All functions:
  Elements:
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/fuzz/fuzzer_temp_file.h:29,1
    - Dst: mkstemp
      Src: /src/fuzz/fuzzer_temp_file.h:34,1
    - Dst: perror
      Src: /src/fuzz/fuzzer_temp_file.h:31,1
    - Dst: perror
      Src: /src/fuzz/fuzzer_temp_file.h:36,1
    - Dst: abort
      Src: /src/fuzz/fuzzer_temp_file.h:32,1
    - Dst: abort
      Src: /src/fuzz/fuzzer_temp_file.h:37,1
    - Dst: fdopen
      Src: /src/fuzz/fuzzer_temp_file.h:39,1
    - Dst: perror
      Src: /src/fuzz/fuzzer_temp_file.h:41,1
    - Dst: close
      Src: /src/fuzz/fuzzer_temp_file.h:42,1
    - Dst: abort
      Src: /src/fuzz/fuzzer_temp_file.h:43,1
    - Dst: fprintf
      Src: /src/fuzz/fuzzer_temp_file.h:48,1
    - Dst: fwrite
      Src: /src/fuzz/fuzzer_temp_file.h:45,1
    - Dst: abort
      Src: /src/fuzz/fuzzer_temp_file.h:50,1
    - Dst: close
      Src: /src/fuzz/fuzzer_temp_file.h:47,1
    - Dst: fclose
      Src: /src/fuzz/fuzzer_temp_file.h:52,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 54
    functionName: fuzzer_get_tmpfile
    functionSourceFile: /src/fuzz/fuzzer_temp_file.h
    functionUses: []
    functionsReached:
    - fwrite
    - fprintf
    - abort
    - fclose
    - close
    - fdopen
    - mkstemp
    - strdup
    - perror
    linkageType: ''
    returnType: char*
    signature: 'static char * fuzzer_get_tmpfile(const uint8_t* data, size_t size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/fuzz/fuzzer_temp_file.h:57,1
    - Dst: perror
      Src: /src/fuzz/fuzzer_temp_file.h:58,1
    - Dst: free
      Src: /src/fuzz/fuzzer_temp_file.h:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: fuzzer_release_tmpfile
    functionSourceFile: /src/fuzz/fuzzer_temp_file.h
    functionUses: []
    functionsReached:
    - perror
    - free
    - unlink
    linkageType: ''
    returnType: void
    signature: 'static void fuzzer_release_tmpfile(char* filename) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: filename
    functionSourceFile: /src/fuzz/fuzzer_temp_file.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char * filename() const '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: FuzzerTemporaryFile
    functionSourceFile: /src/fuzz/fuzzer_temp_file.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: class
    signature: 'class FuzzerTemporaryFile '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create_from_png
      Src: /src/fuzz/raster_fuzzer.c:23,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 24
    functionName: acquire
    functionSourceFile: /src/fuzz/raster_fuzzer.c
    functionUses: []
    functionsReached:
    - cairo_image_surface_create_from_png
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *acquire (cairo_pattern_t *pattern, void *closure,\t\
      \ cairo_surface_t *target,\t const cairo_rectangle_int_t *extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_destroy
      Src: /src/fuzz/raster_fuzzer.c:29,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - pattern
    - closure
    - surface
    argTypes:
    - cairo_pattern_t*
    - void*
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: release
    functionSourceFile: /src/fuzz/raster_fuzzer.c
    functionUses: []
    functionsReached:
    - cairo_surface_destroy
    linkageType: ''
    returnType: void
    signature: 'static void release (cairo_pattern_t *pattern, void *closure, cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pattern_create_radial
      Src: /src/cairo/test/zero-mask.c:60,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/zero-mask.c:67,1
    - Dst: cairo_mask
      Src: /src/cairo/test/zero-mask.c:65,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/zero-mask.c:63,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/zero-mask.c:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 68
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 68
    functionName: mask_with_gradient
    functionSourceFile: /src/cairo/test/zero-mask.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_radial
    - cairo_mask
    - cairo_pattern_add_color_stop_rgba
    - cairo_pattern_destroy
    linkageType: ''
    returnType: void
    signature: 'static void mask_with_gradient (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pattern_create_rgba
      Src: /src/cairo/test/zero-mask.c:40,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/zero-mask.c:44,1
    - Dst: cairo_mask
      Src: /src/cairo/test/zero-mask.c:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: mask_with_solid
    functionSourceFile: /src/cairo/test/zero-mask.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_rgba
    - cairo_mask
    - cairo_pattern_destroy
    linkageType: ''
    returnType: void
    signature: 'static void mask_with_solid (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/zero-mask.c:86,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/zero-mask.c:91,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/zero-mask.c:86,1
    - Dst: cairo_mask
      Src: /src/cairo/test/zero-mask.c:93,1
    - Dst: cairo_pattern_create_for_surface
      Src: /src/cairo/test/zero-mask.c:90,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/zero-mask.c:95,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/zero-mask.c:96,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 97
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 97
    functionName: mask_with_alpha_surface
    functionSourceFile: /src/cairo/test/zero-mask.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_for_surface
    - cairo_mask
    - cairo_surface_destroy
    - cairo_pattern_set_extend
    - cairo_get_target
    - cairo_surface_create_similar
    - cairo_pattern_destroy
    linkageType: ''
    returnType: void
    signature: 'static void mask_with_alpha_surface (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/zero-mask.c:115,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/zero-mask.c:121,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/zero-mask.c:115,1
    - Dst: cairo_mask_surface
      Src: /src/cairo/test/zero-mask.c:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 122
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 122
    functionName: mask_with_0x0_surface
    functionSourceFile: /src/cairo/test/zero-mask.c
    functionUses: []
    functionsReached:
    - cairo_mask_surface
    - cairo_surface_create_similar
    - cairo_get_target
    - cairo_surface_destroy
    linkageType: ''
    returnType: void
    signature: 'static void mask_with_0x0_surface (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_paint_with_alpha
      Src: /src/cairo/test/zero-mask.c:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: paint_with_alpha
    functionSourceFile: /src/cairo/test/zero-mask.c
    functionUses: []
    functionsReached:
    - cairo_paint_with_alpha
    linkageType: ''
    returnType: void
    signature: 'static void paint_with_alpha (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/zero-mask.c:73,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/zero-mask.c:80,1
    - Dst: cairo_mask_surface
      Src: /src/cairo/test/zero-mask.c:78,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/zero-mask.c:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 81
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 81
    functionName: mask_with_surface
    functionSourceFile: /src/cairo/test/zero-mask.c
    functionUses: []
    functionsReached:
    - cairo_mask_surface
    - cairo_surface_create_similar
    - cairo_get_target
    - cairo_surface_destroy
    linkageType: ''
    returnType: void
    signature: 'static void mask_with_surface (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/test/zero-mask.c:50,1
    - Dst: cairo_mask
      Src: /src/cairo/test/zero-mask.c:52,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/zero-mask.c:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: mask_with_empty_gradient
    functionSourceFile: /src/cairo/test/zero-mask.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_linear
    - cairo_pattern_destroy
    - cairo_mask
    linkageType: ''
    returnType: void
    signature: 'static void mask_with_empty_gradient (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/test/zero-mask.c:103,1
    - Dst: cairo_mask_surface
      Src: /src/cairo/test/zero-mask.c:107,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/zero-mask.c:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 110
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 110
    functionName: mask_with_nonclear_surface
    functionSourceFile: /src/cairo/test/zero-mask.c
    functionUses: []
    functionsReached:
    - cairo_mask_surface
    - cairo_image_surface_create_for_data
    - cairo_surface_destroy
    linkageType: ''
    returnType: void
    signature: 'static void mask_with_nonclear_surface (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/zero-mask.c:127,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/zero-mask.c:127,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/zero-mask.c:134,1
    - Dst: cairo_mask_surface
      Src: /src/cairo/test/zero-mask.c:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 135
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 135
    functionName: mask_with_extend_none
    functionSourceFile: /src/cairo/test/zero-mask.c
    functionUses: []
    functionsReached:
    - cairo_mask_surface
    - cairo_surface_create_similar
    - cairo_get_target
    - cairo_surface_destroy
    linkageType: ''
    returnType: void
    signature: 'static void mask_with_extend_none (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/zero-mask.c:167,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/zero-mask.c:175,1
    - Dst: cairo_translate
      Src: /src/cairo/test/zero-mask.c:173,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/zero-mask.c:170,1
    - Dst: cairo_paint
      Src: /src/cairo/test/zero-mask.c:168,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/zero-mask.c:176,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/zero-mask.c:178,1
    - Dst: cairo_save
      Src: /src/cairo/test/zero-mask.c:179,1
    - Dst: cairo_translate
      Src: /src/cairo/test/zero-mask.c:180,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/zero-mask.c:181,1
    - Dst: cairo_clip
      Src: /src/cairo/test/zero-mask.c:182,1
    - Dst: cairo_restore
      Src: /src/cairo/test/zero-mask.c:184,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 189
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 189
    functionName: draw
    functionSourceFile: /src/cairo/test/zero-mask.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgb
    - ARRAY_LENGTH
    - cairo_save
    - cairo_restore
    - cairo_set_operator
    - cairo_translate
    - cairo_clip
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/pass-through.c:38,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/pass-through.c:47,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/pass-through.c:64,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/pass-through.c:52,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/pass-through.c:59,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/pass-through.c:73,1
    - Dst: cairo_fill
      Src: /src/cairo/test/pass-through.c:74,1
    - Dst: cairo_fill
      Src: /src/cairo/test/pass-through.c:79,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/pass-through.c:34,1
    - Dst: cairo_fill
      Src: /src/cairo/test/pass-through.c:40,1
    - Dst: cairo_translate
      Src: /src/cairo/test/pass-through.c:43,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/pass-through.c:46,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/pass-through.c:51,1
    - Dst: cairo_fill
      Src: /src/cairo/test/pass-through.c:61,1
    - Dst: cairo_fill
      Src: /src/cairo/test/pass-through.c:66,1
    - Dst: cairo_translate
      Src: /src/cairo/test/pass-through.c:69,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/pass-through.c:72,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/pass-through.c:33,1
    - Dst: cairo_fill
      Src: /src/cairo/test/pass-through.c:48,1
    - Dst: cairo_fill
      Src: /src/cairo/test/pass-through.c:53,1
    - Dst: cairo_translate
      Src: /src/cairo/test/pass-through.c:56,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/pass-through.c:78,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/pass-through.c:39,1
    - Dst: cairo_fill
      Src: /src/cairo/test/pass-through.c:35,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/pass-through.c:60,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/pass-through.c:65,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/pass-through.c:77,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 62
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 83
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 83
    functionName: draw
    functionSourceFile: /src/cairo/test/pass-through.c
    functionUses: []
    functionsReached:
    - cairo_set_source_rgba
    - cairo_set_source_rgb
    - cairo_fill
    - cairo_translate
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/test/a1-image-sample.c:43,1
    - Dst: cairo_translate
      Src: /src/cairo/test/a1-image-sample.c:51,1
    - Dst: cairo_paint
      Src: /src/cairo/test/a1-image-sample.c:49,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/a1-image-sample.c:48,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/a1-image-sample.c:55,1
    - Dst: cairo_pattern_set_filter
      Src: /src/cairo/test/a1-image-sample.c:57,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/a1-image-sample.c:57,1
    - Dst: cairo_paint
      Src: /src/cairo/test/a1-image-sample.c:59,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/a1-image-sample.c:62,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 65
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 65
    functionName: draw
    functionSourceFile: /src/cairo/test/a1-image-sample.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgb
    - cairo_pattern_set_filter
    - cairo_get_source
    - cairo_image_surface_create_for_data
    - cairo_surface_destroy
    - cairo_translate
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/xlib-expose-event.c:85,1
    - Dst: cairo_create
      Src: /src/cairo/test/xlib-expose-event.c:90,1
    - Dst: cairo_image_surface_get_width
      Src: /src/cairo/test/xlib-expose-event.c:87,1
    - Dst: cairo_image_surface_get_height
      Src: /src/cairo/test/xlib-expose-event.c:88,1
    - Dst: cairo_surface_get_content
      Src: /src/cairo/test/xlib-expose-event.c:86,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/xlib-expose-event.c:91,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/xlib-expose-event.c:93,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/xlib-expose-event.c:94,1
    - Dst: cairo_paint
      Src: /src/cairo/test/xlib-expose-event.c:95,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/test/xlib-expose-event.c:97,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/xlib-expose-event.c:97,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/xlib-expose-event.c:98,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 101
    functionName: clone_similar_surface
    functionSourceFile: /src/cairo/test/xlib-expose-event.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_surface_reference
    - cairo_create
    - cairo_image_surface_get_height
    - cairo_surface_destroy
    - cairo_set_operator
    - cairo_get_target
    - cairo_surface_get_content
    - cairo_destroy
    - cairo_image_surface_get_width
    - cairo_surface_create_similar
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *clone_similar_surface (cairo_surface_t * target,
      cairo_surface_t *surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/test/xlib-expose-event.c:120,1
    - Dst: draw_image
      Src: /src/cairo/test/xlib-expose-event.c:131,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/xlib-expose-event.c:124,1
    - Dst: cairo_clip
      Src: /src/cairo/test/xlib-expose-event.c:128,1
    - Dst: cairo_push_group
      Src: /src/cairo/test/xlib-expose-event.c:130,1
    - Dst: draw_mask
      Src: /src/cairo/test/xlib-expose-event.c:132,1
    - Dst: cairo_pop_group_to_source
      Src: /src/cairo/test/xlib-expose-event.c:133,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/xlib-expose-event.c:134,1
    - Dst: cairo_paint
      Src: /src/cairo/test/xlib-expose-event.c:135,1
    - Dst: cairo_restore
      Src: /src/cairo/test/xlib-expose-event.c:136,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 5
    argNames:
    - ctx
    - cr
    - image
    - region
    - n_regions
    argTypes:
    - cairo_test_context_t*
    - cairo_t*
    - cairo_surface_t*
    - cairo_rectangle_t*
    - int
    constantsTouched: []
    func_position:
      end: 137
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 137
    functionName: draw
    functionSourceFile: /src/cairo/test/xlib-expose-event.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - draw_mask
    - cairo_pop_group_to_source
    - draw_image
    - cairo_save
    - cairo_restore
    - cairo_set_operator
    - cairo_push_group
    - cairo_clip
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void draw (const cairo_test_context_t *ctx, cairo_t *cr, cairo_surface_t
      *image, cairo_rectangle_t *region, int n_regions) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/xlib-expose-event.c:53,1
    - Dst: cairo_create
      Src: /src/cairo/test/xlib-expose-event.c:56,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/xlib-expose-event.c:59,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/xlib-expose-event.c:57,1
    - Dst: cairo_get_group_target
      Src: /src/cairo/test/xlib-expose-event.c:53,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/xlib-expose-event.c:62,1
    - Dst: cairo_clip
      Src: /src/cairo/test/xlib-expose-event.c:65,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/xlib-expose-event.c:67,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/xlib-expose-event.c:68,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/xlib-expose-event.c:69,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/xlib-expose-event.c:72,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/xlib-expose-event.c:76,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/xlib-expose-event.c:74,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/xlib-expose-event.c:71,1
    - Dst: cairo_mask_surface
      Src: /src/cairo/test/xlib-expose-event.c:75,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/xlib-expose-event.c:70,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/xlib-expose-event.c:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 77
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 77
    functionName: draw_mask
    functionSourceFile: /src/cairo/test/xlib-expose-event.c
    functionUses: []
    functionsReached:
    - cairo_get_group_target
    - cairo_mask_surface
    - cairo_clip
    - cairo_line_to
    - cairo_create
    - cairo_surface_destroy
    - cairo_stroke
    - cairo_get_target
    - cairo_set_source_rgb
    - cairo_destroy
    - cairo_surface_create_similar
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void draw_mask (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/xlib-expose-event.c:108,1
    - Dst: cairo_paint
      Src: /src/cairo/test/xlib-expose-event.c:110,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/xlib-expose-event.c:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - cr
    - image
    argTypes:
    - cairo_test_context_t*
    - cairo_t*
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 111
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 111
    functionName: draw_image
    functionSourceFile: /src/cairo/test/xlib-expose-event.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_operator
    - cairo_set_source_surface
    linkageType: ''
    returnType: void
    signature: "static void draw_image (const cairo_test_context_t *ctx,\t cairo_t\
      \ *cr,\t cairo_surface_t *image) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/xlib-expose-event.c:147,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/xlib-expose-event.c:151,1
    - Dst: cairo_test_create_surface_from_png
      Src: /src/cairo/test/xlib-expose-event.c:149,1
    - Dst: clone_similar_surface
      Src: /src/cairo/test/xlib-expose-event.c:150,1
    - Dst: cairo_get_group_target
      Src: /src/cairo/test/xlib-expose-event.c:150,1
    - Dst: cairo_push_group_with_content
      Src: /src/cairo/test/xlib-expose-event.c:153,1
    - Dst: draw
      Src: /src/cairo/test/xlib-expose-event.c:154,1
    - Dst: draw
      Src: /src/cairo/test/xlib-expose-event.c:177,1
    - Dst: cairo_pop_group_to_source
      Src: /src/cairo/test/xlib-expose-event.c:181,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/xlib-expose-event.c:182,1
    - Dst: cairo_paint
      Src: /src/cairo/test/xlib-expose-event.c:183,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/xlib-expose-event.c:185,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 62
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 188
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 188
    functionName: draw_func
    functionSourceFile: /src/cairo/test/xlib-expose-event.c
    functionUses: []
    functionsReached:
    - cairo_test_create_surface_from_png
    - cairo_get_group_target
    - cairo_push_group_with_content
    - cairo_paint
    - clone_similar_surface
    - cairo_test_get_context
    - cairo_pop_group_to_source
    - cairo_surface_destroy
    - cairo_set_operator
    - draw
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_func (cairo_t *cr, int width, int
      height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_destroy
      Src: /src/cairo/test/group-state.c:44,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/group-state.c:46,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/group-state.c:47,1
    - Dst: cairo_create
      Src: /src/cairo/test/group-state.c:46,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/group-state.c:47,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t**
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: reinit_cairo
    functionSourceFile: /src/cairo/test/group-state.c
    functionUses: []
    functionsReached:
    - cairo_create
    - cairo_surface_destroy
    - cairo_image_surface_create
    - cairo_get_target
    - cairo_destroy
    linkageType: ''
    returnType: void
    signature: 'static void reinit_cairo (cairo_t **cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinit_cairo
      Src: /src/cairo/test/group-state.c:58,1
    - Dst: CHECK_STATUS
      Src: /src/cairo/test/group-state.c:64,1
    - Dst: cairo_push_group
      Src: /src/cairo/test/group-state.c:65,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/group-state.c:62,1
    - Dst: cairo_save
      Src: /src/cairo/test/group-state.c:63,1
    - Dst: CHECK_STATUS
      Src: /src/cairo/test/group-state.c:66,1
    - Dst: cairo_restore
      Src: /src/cairo/test/group-state.c:67,1
    - Dst: CHECK_STATUS
      Src: /src/cairo/test/group-state.c:68,1
    - Dst: reinit_cairo
      Src: /src/cairo/test/group-state.c:71,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/group-state.c:75,1
    - Dst: cairo_save
      Src: /src/cairo/test/group-state.c:78,1
    - Dst: CHECK_STATUS
      Src: /src/cairo/test/group-state.c:81,1
    - Dst: cairo_push_group
      Src: /src/cairo/test/group-state.c:76,1
    - Dst: CHECK_STATUS
      Src: /src/cairo/test/group-state.c:79,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/group-state.c:84,1
    - Dst: CHECK_STATUS
      Src: /src/cairo/test/group-state.c:77,1
    - Dst: cairo_pop_group_to_source
      Src: /src/cairo/test/group-state.c:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - cairo_test_context_t*
    constantsTouched: []
    func_position:
      end: 87
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 87
    functionName: preamble
    functionSourceFile: /src/cairo/test/group-state.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - CHECK_STATUS
    - cairo_pop_group_to_source
    - cairo_save
    - reinit_cairo
    - cairo_restore
    - cairo_destroy
    - cairo_push_group
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t preamble (cairo_test_context_t *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/test/scale-source-surface-paint.c:39,1
    - Dst: cairo_pattern_set_filter
      Src: /src/cairo/test/scale-source-surface-paint.c:45,1
    - Dst: cairo_scale
      Src: /src/cairo/test/scale-source-surface-paint.c:42,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/scale-source-surface-paint.c:44,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/scale-source-surface-paint.c:45,1
    - Dst: cairo_paint
      Src: /src/cairo/test/scale-source-surface-paint.c:46,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/scale-source-surface-paint.c:48,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/scale-source-surface-paint.c:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 52
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 52
    functionName: draw
    functionSourceFile: /src/cairo/test/scale-source-surface-paint.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_surface_finish
    - cairo_pattern_set_filter
    - cairo_get_source
    - cairo_image_surface_create_for_data
    - cairo_surface_destroy
    - cairo_scale
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_create
      Src: /src/cairo/test/subsurface-reflect.c:39,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/subsurface-reflect.c:58,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/subsurface-reflect.c:63,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/subsurface-reflect.c:62,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/subsurface-reflect.c:62,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/subsurface-reflect.c:33,1
    - Dst: cairo_surface_create_for_rectangle
      Src: /src/cairo/test/subsurface-reflect.c:37,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/subsurface-reflect.c:37,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/subsurface-reflect.c:43,1
    - Dst: cairo_fill
      Src: /src/cairo/test/subsurface-reflect.c:48,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/subsurface-reflect.c:50,1
    - Dst: cairo_fill
      Src: /src/cairo/test/subsurface-reflect.c:52,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/subsurface-reflect.c:47,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/subsurface-reflect.c:54,1
    - Dst: cairo_fill
      Src: /src/cairo/test/subsurface-reflect.c:56,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/subsurface-reflect.c:59,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/subsurface-reflect.c:64,1
    - Dst: cairo_fill
      Src: /src/cairo/test/subsurface-reflect.c:65,1
    - Dst: cairo_paint
      Src: /src/cairo/test/subsurface-reflect.c:34,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/subsurface-reflect.c:40,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/subsurface-reflect.c:42,1
    - Dst: cairo_fill
      Src: /src/cairo/test/subsurface-reflect.c:44,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/subsurface-reflect.c:46,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/subsurface-reflect.c:55,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/subsurface-reflect.c:51,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/subsurface-reflect.c:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 68
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 68
    functionName: draw
    functionSourceFile: /src/cairo/test/subsurface-reflect.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_surface_create_for_rectangle
    - cairo_get_source
    - cairo_create
    - cairo_surface_destroy
    - cairo_pattern_set_extend
    - cairo_get_target
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_destroy
    - cairo_set_source_surface
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_move_to
      Src: /src/cairo/test/unclosed-strokes.c:35,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/unclosed-strokes.c:39,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/unclosed-strokes.c:36,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/unclosed-strokes.c:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: make_path
    functionSourceFile: /src/cairo/test/unclosed-strokes.c
    functionUses: []
    functionsReached:
    - cairo_rel_line_to
    - cairo_move_to
    linkageType: ''
    returnType: void
    signature: 'static void make_path (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/unclosed-strokes.c:46,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/unclosed-strokes.c:53,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/unclosed-strokes.c:56,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/unclosed-strokes.c:67,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/unclosed-strokes.c:70,1
    - Dst: cairo_paint
      Src: /src/cairo/test/unclosed-strokes.c:47,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/unclosed-strokes.c:50,1
    - Dst: make_path
      Src: /src/cairo/test/unclosed-strokes.c:62,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/unclosed-strokes.c:61,1
    - Dst: cairo_translate
      Src: /src/cairo/test/unclosed-strokes.c:58,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/unclosed-strokes.c:63,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/unclosed-strokes.c:60,1
    - Dst: cairo_save
      Src: /src/cairo/test/unclosed-strokes.c:45,1
    - Dst: cairo_restore
      Src: /src/cairo/test/unclosed-strokes.c:48,1
    - Dst: cairo_translate
      Src: /src/cairo/test/unclosed-strokes.c:51,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/unclosed-strokes.c:54,1
    - Dst: make_path
      Src: /src/cairo/test/unclosed-strokes.c:55,1
    - Dst: cairo_translate
      Src: /src/cairo/test/unclosed-strokes.c:65,1
    - Dst: make_path
      Src: /src/cairo/test/unclosed-strokes.c:69,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/unclosed-strokes.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 73
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 73
    functionName: draw
    functionSourceFile: /src/cairo/test/unclosed-strokes.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_line_width
    - make_path
    - cairo_save
    - cairo_set_line_join
    - cairo_stroke
    - cairo_restore
    - cairo_set_line_cap
    - cairo_set_source_rgb
    - cairo_translate
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/clip-disjoint.c:44,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/clip-disjoint.c:53,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/clip-disjoint.c:48,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/clip-disjoint.c:45,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/clip-disjoint.c:47,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/clip-disjoint.c:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 55
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 55
    functionName: paint_curve
    functionSourceFile: /src/cairo/test/clip-disjoint.c
    functionUses: []
    functionsReached:
    - cairo_set_line_width
    - cairo_curve_to
    - ARRAY_LENGTH
    - cairo_stroke
    - cairo_move_to
    linkageType: ''
    returnType: void
    signature: 'static void paint_curve (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/clip-disjoint.c:61,1
    - Dst: paint_curve
      Src: /src/cairo/test/clip-disjoint.c:66,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-disjoint.c:69,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/clip-disjoint.c:65,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-disjoint.c:62,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-disjoint.c:70,1
    - Dst: cairo_clip_preserve
      Src: /src/cairo/test/clip-disjoint.c:71,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/clip-disjoint.c:74,1
    - Dst: cairo_fill
      Src: /src/cairo/test/clip-disjoint.c:75,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/clip-disjoint.c:78,1
    - Dst: paint_curve
      Src: /src/cairo/test/clip-disjoint.c:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 82
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 82
    functionName: draw
    functionSourceFile: /src/cairo/test/clip-disjoint.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgba
    - cairo_clip_preserve
    - paint_curve
    - cairo_fill
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/test/operator-www.c:33,1
    - Dst: strcmp
      Src: /src/cairo/test/operator-www.c:52,1
    - Dst: strcmp
      Src: /src/cairo/test/operator-www.c:74,1
    - Dst: cairo_clip
      Src: /src/cairo/test/operator-www.c:111,1
    - Dst: strcmp
      Src: /src/cairo/test/operator-www.c:94,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/operator-www.c:118,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/operator-www.c:60,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/operator-www.c:81,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/operator-www.c:101,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/operator-www.c:113,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/operator-www.c:49,1
    - Dst: strcmp
      Src: /src/cairo/test/operator-www.c:65,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/operator-www.c:71,1
    - Dst: strcmp
      Src: /src/cairo/test/operator-www.c:86,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/operator-www.c:91,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/operator-www.c:114,1
    - Dst: strcmp
      Src: /src/cairo/test/operator-www.c:96,1
    - Dst: strcmp
      Src: /src/cairo/test/operator-www.c:54,1
    - Dst: strcmp
      Src: /src/cairo/test/operator-www.c:76,1
    - Dst: strcmp
      Src: /src/cairo/test/operator-www.c:61,1
    - Dst: strcmp
      Src: /src/cairo/test/operator-www.c:82,1
    - Dst: strcmp
      Src: /src/cairo/test/operator-www.c:102,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/operator-www.c:125,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/operator-www.c:126,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/operator-www.c:106,1
    - Dst: cairo_push_group_with_content
      Src: /src/cairo/test/operator-www.c:34,1
    - Dst: strcmp
      Src: /src/cairo/test/operator-www.c:50,1
    - Dst: strcmp
      Src: /src/cairo/test/operator-www.c:72,1
    - Dst: strcmp
      Src: /src/cairo/test/operator-www.c:92,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/operator-www.c:79,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/operator-www.c:99,1
    - Dst: cairo_surface_get_content
      Src: /src/cairo/test/operator-www.c:113,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/operator-www.c:36,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/operator-www.c:58,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/operator-www.c:128,1
    - Dst: cairo_pop_group
      Src: /src/cairo/test/operator-www.c:109,1
    - Dst: strcmp
      Src: /src/cairo/test/operator-www.c:84,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/operator-www.c:89,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/operator-www.c:40,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/operator-www.c:47,1
    - Dst: strcmp
      Src: /src/cairo/test/operator-www.c:63,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/operator-www.c:69,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/operator-www.c:34,1
    - Dst: cairo_clip
      Src: /src/cairo/test/operator-www.c:37,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/operator-www.c:53,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/operator-www.c:75,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/operator-www.c:95,1
    - Dst: cairo_translate
      Src: /src/cairo/test/operator-www.c:130,1
    - Dst: strcmp
      Src: /src/cairo/test/operator-www.c:100,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/operator-www.c:39,1
    - Dst: cairo_fill
      Src: /src/cairo/test/operator-www.c:41,1
    - Dst: strcmp
      Src: /src/cairo/test/operator-www.c:59,1
    - Dst: strcmp
      Src: /src/cairo/test/operator-www.c:80,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/operator-www.c:127,1
    - Dst: strcmp
      Src: /src/cairo/test/operator-www.c:90,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/operator-www.c:44,1
    - Dst: strcmp
      Src: /src/cairo/test/operator-www.c:48,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/operator-www.c:66,1
    - Dst: strcmp
      Src: /src/cairo/test/operator-www.c:70,1
    - Dst: cairo_paint
      Src: /src/cairo/test/operator-www.c:115,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/operator-www.c:87,1
    - Dst: cairo_restore
      Src: /src/cairo/test/operator-www.c:120,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/operator-www.c:97,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/operator-www.c:55,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/operator-www.c:77,1
    - Dst: cairo_surface_get_content
      Src: /src/cairo/test/operator-www.c:34,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/operator-www.c:62,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/operator-www.c:83,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/operator-www.c:103,1
    - Dst: strcmp
      Src: /src/cairo/test/operator-www.c:46,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/operator-www.c:51,1
    - Dst: strcmp
      Src: /src/cairo/test/operator-www.c:68,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/operator-www.c:73,1
    - Dst: strcmp
      Src: /src/cairo/test/operator-www.c:88,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/operator-www.c:93,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/operator-www.c:117,1
    - Dst: cairo_paint
      Src: /src/cairo/test/operator-www.c:119,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/operator-www.c:122,1
    - Dst: strcmp
      Src: /src/cairo/test/operator-www.c:57,1
    - Dst: strcmp
      Src: /src/cairo/test/operator-www.c:78,1
    - Dst: strcmp
      Src: /src/cairo/test/operator-www.c:98,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/operator-www.c:110,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/operator-www.c:105,1
    - Dst: cairo_fill
      Src: /src/cairo/test/operator-www.c:107,1
    - Dst: strcmp
      Src: /src/cairo/test/operator-www.c:43,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/operator-www.c:64,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/operator-www.c:85,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 120
    argCount: 2
    argNames:
    - cr
    - name
    argTypes:
    - cairo_t*
    - char*
    constantsTouched: []
    func_position:
      end: 131
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 131
    functionName: example
    functionSourceFile: /src/cairo/test/operator-www.c
    functionUses: []
    functionsReached:
    - cairo_push_group_with_content
    - strcmp
    - cairo_set_source
    - cairo_get_target
    - cairo_select_font_face
    - cairo_surface_get_content
    - cairo_translate
    - cairo_rectangle
    - cairo_show_text
    - cairo_set_source_rgba
    - cairo_save
    - cairo_clip
    - cairo_restore
    - cairo_set_operator
    - cairo_fill
    - cairo_pattern_destroy
    - cairo_paint
    - cairo_pop_group
    - cairo_set_font_size
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: void
    signature: 'static void example (cairo_t *cr, const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: example
      Src: /src/cairo/test/operator-www.c:136,1
    - Dst: example
      Src: /src/cairo/test/operator-www.c:166,1
    - Dst: example
      Src: /src/cairo/test/operator-www.c:164,1
    - Dst: example
      Src: /src/cairo/test/operator-www.c:161,1
    - Dst: example
      Src: /src/cairo/test/operator-www.c:139,1
    - Dst: example
      Src: /src/cairo/test/operator-www.c:141,1
    - Dst: example
      Src: /src/cairo/test/operator-www.c:144,1
    - Dst: example
      Src: /src/cairo/test/operator-www.c:146,1
    - Dst: example
      Src: /src/cairo/test/operator-www.c:147,1
    - Dst: example
      Src: /src/cairo/test/operator-www.c:150,1
    - Dst: example
      Src: /src/cairo/test/operator-www.c:152,1
    - Dst: example
      Src: /src/cairo/test/operator-www.c:155,1
    - Dst: example
      Src: /src/cairo/test/operator-www.c:157,1
    - Dst: example
      Src: /src/cairo/test/operator-www.c:159,1
    - Dst: example
      Src: /src/cairo/test/operator-www.c:167,1
    - Dst: example
      Src: /src/cairo/test/operator-www.c:165,1
    - Dst: example
      Src: /src/cairo/test/operator-www.c:168,1
    - Dst: example
      Src: /src/cairo/test/operator-www.c:162,1
    - Dst: example
      Src: /src/cairo/test/operator-www.c:140,1
    - Dst: example
      Src: /src/cairo/test/operator-www.c:138,1
    - Dst: example
      Src: /src/cairo/test/operator-www.c:142,1
    - Dst: example
      Src: /src/cairo/test/operator-www.c:145,1
    - Dst: example
      Src: /src/cairo/test/operator-www.c:148,1
    - Dst: example
      Src: /src/cairo/test/operator-www.c:151,1
    - Dst: example
      Src: /src/cairo/test/operator-www.c:158,1
    - Dst: example
      Src: /src/cairo/test/operator-www.c:156,1
    - Dst: example
      Src: /src/cairo/test/operator-www.c:154,1
    - Dst: example
      Src: /src/cairo/test/operator-www.c:160,1
    - Dst: example
      Src: /src/cairo/test/operator-www.c:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 171
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 171
    functionName: draw
    functionSourceFile: /src/cairo/test/operator-www.c
    functionUses: []
    functionsReached:
    - example
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_move_to
      Src: /src/cairo/test/shape-sierpinski.c:38,1
    - Dst: T
      Src: /src/cairo/test/shape-sierpinski.c:44,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/shape-sierpinski.c:39,1
    - Dst: cairo_save
      Src: /src/cairo/test/shape-sierpinski.c:45,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/shape-sierpinski.c:40,1
    - Dst: cairo_translate
      Src: /src/cairo/test/shape-sierpinski.c:46,1
    - Dst: T
      Src: /src/cairo/test/shape-sierpinski.c:47,1
    - Dst: cairo_restore
      Src: /src/cairo/test/shape-sierpinski.c:48,1
    - Dst: cairo_save
      Src: /src/cairo/test/shape-sierpinski.c:49,1
    - Dst: cairo_translate
      Src: /src/cairo/test/shape-sierpinski.c:50,1
    - Dst: cairo_restore
      Src: /src/cairo/test/shape-sierpinski.c:52,1
    - Dst: T
      Src: /src/cairo/test/shape-sierpinski.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - cr
    - size
    argTypes:
    - cairo_t*
    - int
    constantsTouched: []
    func_position:
      end: 54
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 54
    functionName: T
    functionSourceFile: /src/cairo/test/shape-sierpinski.c
    functionUses: []
    functionsReached:
    - cairo_line_to
    - T
    - cairo_save
    - cairo_restore
    - cairo_translate
    - cairo_move_to
    linkageType: ''
    returnType: void
    signature: 'static void T (cairo_t *cr, int size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/shape-sierpinski.c:59,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/shape-sierpinski.c:64,1
    - Dst: cairo_paint
      Src: /src/cairo/test/shape-sierpinski.c:60,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/shape-sierpinski.c:65,1
    - Dst: cairo_translate
      Src: /src/cairo/test/shape-sierpinski.c:62,1
    - Dst: T
      Src: /src/cairo/test/shape-sierpinski.c:67,1
    - Dst: cairo_translate
      Src: /src/cairo/test/shape-sierpinski.c:69,1
    - Dst: cairo_scale
      Src: /src/cairo/test/shape-sierpinski.c:70,1
    - Dst: T
      Src: /src/cairo/test/shape-sierpinski.c:72,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/shape-sierpinski.c:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 77
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 77
    functionName: draw
    functionSourceFile: /src/cairo/test/shape-sierpinski.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_line_width
    - cairo_set_source_rgb
    - T
    - cairo_scale
    - cairo_stroke
    - cairo_translate
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - minval
    - maxval
    argTypes:
    - double
    - double
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: uniform_random
    functionSourceFile: /src/cairo/test/random-intersections-curves-nz.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: 'static double uniform_random (double minval, double maxval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/random-intersections-curves-nz.c:47,1
    - Dst: cairo_paint
      Src: /src/cairo/test/random-intersections-curves-nz.c:48,1
    - Dst: cairo_translate
      Src: /src/cairo/test/random-intersections-curves-nz.c:51,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/random-intersections-curves-nz.c:54,1
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/test/random-intersections-curves-nz.c:52,1
    - Dst: uniform_random
      Src: /src/cairo/test/random-intersections-curves-nz.c:56,1
    - Dst: uniform_random
      Src: /src/cairo/test/random-intersections-curves-nz.c:57,1
    - Dst: uniform_random
      Src: /src/cairo/test/random-intersections-curves-nz.c:58,1
    - Dst: uniform_random
      Src: /src/cairo/test/random-intersections-curves-nz.c:59,1
    - Dst: uniform_random
      Src: /src/cairo/test/random-intersections-curves-nz.c:60,1
    - Dst: uniform_random
      Src: /src/cairo/test/random-intersections-curves-nz.c:61,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/random-intersections-curves-nz.c:62,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/random-intersections-curves-nz.c:72,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/random-intersections-curves-nz.c:71,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/random-intersections-curves-nz.c:69,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/random-intersections-curves-nz.c:67,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/test/random-intersections-curves-nz.c:70,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/random-intersections-curves-nz.c:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 76
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 76
    functionName: draw
    functionSourceFile: /src/cairo/test/random-intersections-curves-nz.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - uniform_random
    - cairo_set_source_rgb
    - cairo_set_line_width
    - cairo_curve_to
    - cairo_close_path
    - cairo_stroke
    - cairo_fill_preserve
    - cairo_translate
    - cairo_set_fill_rule
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_clip
      Src: /src/cairo/test/linear-gradient-subset.c:65,1
    - Dst: cairo_scale
      Src: /src/cairo/test/linear-gradient-subset.c:73,1
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/test/linear-gradient-subset.c:76,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/test/linear-gradient-subset.c:83,1
    - Dst: sin
      Src: /src/cairo/test/linear-gradient-subset.c:76,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/linear-gradient-subset.c:68,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/linear-gradient-subset.c:66,1
    - Dst: cairo_fill
      Src: /src/cairo/test/linear-gradient-subset.c:70,1
    - Dst: cairo_translate
      Src: /src/cairo/test/linear-gradient-subset.c:72,1
    - Dst: cairo_rotate
      Src: /src/cairo/test/linear-gradient-subset.c:74,1
    - Dst: sin
      Src: /src/cairo/test/linear-gradient-subset.c:77,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/test/linear-gradient-subset.c:85,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/test/linear-gradient-subset.c:81,1
    - Dst: cos
      Src: /src/cairo/test/linear-gradient-subset.c:77,1
    - Dst: cairo_fill
      Src: /src/cairo/test/linear-gradient-subset.c:91,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/linear-gradient-subset.c:64,1
    - Dst: cos
      Src: /src/cairo/test/linear-gradient-subset.c:76,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/test/linear-gradient-subset.c:80,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/linear-gradient-subset.c:88,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/linear-gradient-subset.c:89,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/linear-gradient-subset.c:69,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/test/linear-gradient-subset.c:84,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/linear-gradient-subset.c:90,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 4
    argNames:
    - cr
    - gradient_angle
    - rotate_angle
    - n_stops
    argTypes:
    - cairo_t*
    - double
    - double
    - int
    constantsTouched: []
    func_position:
      end: 92
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 92
    functionName: draw_unit
    functionSourceFile: /src/cairo/test/linear-gradient-subset.c
    functionUses: []
    functionsReached:
    - sin
    - cairo_new_path
    - cairo_pattern_create_linear
    - cos
    - cairo_pattern_add_color_stop_rgb
    - cairo_set_source
    - cairo_scale
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_translate
    - cairo_rotate
    - cairo_clip
    - cairo_pattern_destroy
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: "static void draw_unit (cairo_t *cr,\t double gradient_angle,\t double\
      \ rotate_angle,\t int n_stops) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/linear-gradient-subset.c:99,1
    - Dst: cairo_translate
      Src: /src/cairo/test/linear-gradient-subset.c:106,1
    - Dst: cairo_save
      Src: /src/cairo/test/linear-gradient-subset.c:105,1
    - Dst: cairo_paint
      Src: /src/cairo/test/linear-gradient-subset.c:100,1
    - Dst: cairo_scale
      Src: /src/cairo/test/linear-gradient-subset.c:109,1
    - Dst: draw_unit
      Src: /src/cairo/test/linear-gradient-subset.c:111,1
    - Dst: cairo_restore
      Src: /src/cairo/test/linear-gradient-subset.c:115,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 119
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 119
    functionName: draw
    functionSourceFile: /src/cairo/test/linear-gradient-subset.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgb
    - draw_unit
    - cairo_save
    - cairo_scale
    - cairo_restore
    - cairo_translate
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/test/clip-double-free.c:61,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-double-free.c:67,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-double-free.c:74,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-double-free.c:68,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-double-free.c:66,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-double-free.c:75,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-double-free.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 79
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 79
    functionName: draw
    functionSourceFile: /src/cairo/test/clip-double-free.c
    functionUses: []
    functionsReached:
    - cairo_set_fill_rule
    - cairo_clip
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/test/clip-text.c:45,1
    - Dst: cairo_restore
      Src: /src/cairo/test/clip-text.c:58,1
    - Dst: cairo_translate
      Src: /src/cairo/test/clip-text.c:60,1
    - Dst: cairo_new_sub_path
      Src: /src/cairo/test/clip-text.c:65,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/clip-text.c:57,1
    - Dst: cairo_arc_negative
      Src: /src/cairo/test/clip-text.c:66,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-text.c:69,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-text.c:71,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-text.c:41,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-text.c:47,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-text.c:49,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-text.c:53,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/clip-text.c:56,1
    - Dst: cairo_save
      Src: /src/cairo/test/clip-text.c:63,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-text.c:54,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/clip-text.c:76,1
    - Dst: cairo_restore
      Src: /src/cairo/test/clip-text.c:77,1
    - Dst: cairo_text_extents
      Src: /src/cairo/test/clip-text.c:37,1
    - Dst: cairo_arc
      Src: /src/cairo/test/clip-text.c:64,1
    - Dst: cairo_new_sub_path
      Src: /src/cairo/test/clip-text.c:67,1
    - Dst: cairo_arc
      Src: /src/cairo/test/clip-text.c:68,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-text.c:72,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-text.c:73,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/clip-text.c:75,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-text.c:42,1
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/test/clip-text.c:46,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-text.c:48,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-text.c:50,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-text.c:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 43
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 80
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 80
    functionName: draw
    functionSourceFile: /src/cairo/test/clip-text.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_new_sub_path
    - cairo_show_text
    - cairo_translate
    - cairo_arc
    - cairo_set_fill_rule
    - cairo_save
    - cairo_arc_negative
    - cairo_restore
    - cairo_set_source_rgb
    - cairo_text_extents
    - cairo_clip
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/degenerate-arc.c:37,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/degenerate-arc.c:40,1
    - Dst: cairo_paint
      Src: /src/cairo/test/degenerate-arc.c:38,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/degenerate-arc.c:43,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/degenerate-arc.c:42,1
    - Dst: cairo_new_sub_path
      Src: /src/cairo/test/degenerate-arc.c:46,1
    - Dst: cairo_arc
      Src: /src/cairo/test/degenerate-arc.c:47,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/degenerate-arc.c:48,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/degenerate-arc.c:50,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/degenerate-arc.c:52,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/degenerate-arc.c:59,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/degenerate-arc.c:61,1
    - Dst: cairo_arc
      Src: /src/cairo/test/degenerate-arc.c:62,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/degenerate-arc.c:56,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/degenerate-arc.c:53,1
    - Dst: cairo_fill
      Src: /src/cairo/test/degenerate-arc.c:63,1
    - Dst: cairo_arc
      Src: /src/cairo/test/degenerate-arc.c:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 66
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 66
    functionName: draw
    functionSourceFile: /src/cairo/test/degenerate-arc.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_line_width
    - cairo_set_source_rgb
    - cairo_arc
    - cairo_close_path
    - cairo_stroke
    - cairo_set_line_cap
    - cairo_fill
    - cairo_new_sub_path
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/xcb-huge-subimage.c:45,1
    - Dst: cairo_create
      Src: /src/cairo/test/xcb-huge-subimage.c:50,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/xcb-huge-subimage.c:52,1
    - Dst: cairo_test_paint_checkered
      Src: /src/cairo/test/xcb-huge-subimage.c:51,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/xcb-huge-subimage.c:45,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/xcb-huge-subimage.c:55,1
    - Dst: cairo_surface_map_to_image
      Src: /src/cairo/test/xcb-huge-subimage.c:57,1
    - Dst: cairo_create
      Src: /src/cairo/test/xcb-huge-subimage.c:60,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/xcb-huge-subimage.c:61,1
    - Dst: cairo_paint
      Src: /src/cairo/test/xcb-huge-subimage.c:62,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/xcb-huge-subimage.c:67,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/xcb-huge-subimage.c:69,1
    - Dst: cairo_surface_unmap_image
      Src: /src/cairo/test/xcb-huge-subimage.c:66,1
    - Dst: cairo_paint
      Src: /src/cairo/test/xcb-huge-subimage.c:68,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/xcb-huge-subimage.c:63,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/xcb-huge-subimage.c:70,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 73
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 73
    functionName: draw
    functionSourceFile: /src/cairo/test/xcb-huge-subimage.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_test_paint_checkered
    - cairo_create
    - cairo_surface_destroy
    - cairo_image_surface_create
    - cairo_get_target
    - cairo_surface_unmap_image
    - cairo_destroy
    - cairo_surface_create_similar
    - cairo_surface_map_to_image
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/culled-glyphs.c:39,1
    - Dst: cairo_text_extents
      Src: /src/cairo/test/culled-glyphs.c:44,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/culled-glyphs.c:41,1
    - Dst: cairo_paint
      Src: /src/cairo/test/culled-glyphs.c:40,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/culled-glyphs.c:43,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/culled-glyphs.c:45,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/culled-glyphs.c:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 53
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 53
    functionName: draw
    functionSourceFile: /src/cairo/test/culled-glyphs.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_show_text
    - cairo_set_font_size
    - cairo_set_source_rgb
    - cairo_text_extents
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/test/rectilinear-dash-scale.c:40,1
    - Dst: cairo_set_dash
      Src: /src/cairo/test/rectilinear-dash-scale.c:42,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/rectilinear-dash-scale.c:84,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/rectilinear-dash-scale.c:86,1
    - Dst: cairo_translate
      Src: /src/cairo/test/rectilinear-dash-scale.c:88,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/rectilinear-dash-scale.c:91,1
    - Dst: cairo_set_dash
      Src: /src/cairo/test/rectilinear-dash-scale.c:92,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rectilinear-dash-scale.c:96,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-dash-scale.c:110,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-dash-scale.c:111,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-dash-scale.c:114,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-dash-scale.c:122,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/rectilinear-dash-scale.c:44,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rectilinear-dash-scale.c:52,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-dash-scale.c:71,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rectilinear-dash-scale.c:73,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-dash-scale.c:74,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-dash-scale.c:75,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rectilinear-dash-scale.c:77,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-dash-scale.c:78,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-dash-scale.c:79,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rectilinear-dash-scale.c:109,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rectilinear-dash-scale.c:117,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/rectilinear-dash-scale.c:125,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rectilinear-dash-scale.c:121,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/rectilinear-dash-scale.c:130,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-dash-scale.c:106,1
    - Dst: cairo_restore
      Src: /src/cairo/test/rectilinear-dash-scale.c:132,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/rectilinear-dash-scale.c:48,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-dash-scale.c:53,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rectilinear-dash-scale.c:55,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-dash-scale.c:56,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rectilinear-dash-scale.c:58,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-dash-scale.c:59,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rectilinear-dash-scale.c:61,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-dash-scale.c:62,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rectilinear-dash-scale.c:65,1
    - Dst: cairo_set_dash
      Src: /src/cairo/test/rectilinear-dash-scale.c:85,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rectilinear-dash-scale.c:105,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-dash-scale.c:123,1
    - Dst: cairo_set_dash
      Src: /src/cairo/test/rectilinear-dash-scale.c:128,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rectilinear-dash-scale.c:113,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-dash-scale.c:119,1
    - Dst: cairo_translate
      Src: /src/cairo/test/rectilinear-dash-scale.c:45,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-dash-scale.c:70,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-dash-scale.c:67,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rectilinear-dash-scale.c:69,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-dash-scale.c:66,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/rectilinear-dash-scale.c:81,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-dash-scale.c:97,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rectilinear-dash-scale.c:99,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-dash-scale.c:100,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rectilinear-dash-scale.c:102,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-dash-scale.c:103,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-dash-scale.c:115,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/rectilinear-dash-scale.c:129,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-dash-scale.c:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 58
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 133
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 133
    functionName: draw_dashes
    functionSourceFile: /src/cairo/test/rectilinear-dash-scale.c
    functionUses: []
    functionsReached:
    - cairo_set_line_width
    - cairo_rel_line_to
    - cairo_set_dash
    - cairo_save
    - cairo_stroke
    - cairo_restore
    - cairo_set_line_cap
    - cairo_translate
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void draw_dashes (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_scale
      Src: /src/cairo/test/rectilinear-dash-scale.c:172,1
    - Dst: dashes
      Src: /src/cairo/test/rectilinear-dash-scale.c:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 174
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 174
    functionName: aligned
    functionSourceFile: /src/cairo/test/rectilinear-dash-scale.c
    functionUses: []
    functionsReached:
    - cairo_scale
    - dashes
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t aligned (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_paint
      Src: /src/cairo/test/rectilinear-dash-scale.c:140,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/rectilinear-dash-scale.c:142,1
    - Dst: cairo_restore
      Src: /src/cairo/test/rectilinear-dash-scale.c:150,1
    - Dst: cairo_restore
      Src: /src/cairo/test/rectilinear-dash-scale.c:157,1
    - Dst: cairo_scale
      Src: /src/cairo/test/rectilinear-dash-scale.c:162,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/rectilinear-dash-scale.c:139,1
    - Dst: cairo_save
      Src: /src/cairo/test/rectilinear-dash-scale.c:145,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/rectilinear-dash-scale.c:146,1
    - Dst: cairo_translate
      Src: /src/cairo/test/rectilinear-dash-scale.c:147,1
    - Dst: cairo_scale
      Src: /src/cairo/test/rectilinear-dash-scale.c:148,1
    - Dst: cairo_translate
      Src: /src/cairo/test/rectilinear-dash-scale.c:154,1
    - Dst: cairo_save
      Src: /src/cairo/test/rectilinear-dash-scale.c:152,1
    - Dst: cairo_scale
      Src: /src/cairo/test/rectilinear-dash-scale.c:155,1
    - Dst: cairo_save
      Src: /src/cairo/test/rectilinear-dash-scale.c:159,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/rectilinear-dash-scale.c:153,1
    - Dst: cairo_translate
      Src: /src/cairo/test/rectilinear-dash-scale.c:161,1
    - Dst: draw_dashes
      Src: /src/cairo/test/rectilinear-dash-scale.c:143,1
    - Dst: cairo_restore
      Src: /src/cairo/test/rectilinear-dash-scale.c:164,1
    - Dst: draw_dashes
      Src: /src/cairo/test/rectilinear-dash-scale.c:163,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/rectilinear-dash-scale.c:160,1
    - Dst: draw_dashes
      Src: /src/cairo/test/rectilinear-dash-scale.c:149,1
    - Dst: draw_dashes
      Src: /src/cairo/test/rectilinear-dash-scale.c:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 167
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 167
    functionName: dashes
    functionSourceFile: /src/cairo/test/rectilinear-dash-scale.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgb
    - cairo_save
    - draw_dashes
    - cairo_scale
    - cairo_restore
    - cairo_translate
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t dashes (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_scale
      Src: /src/cairo/test/rectilinear-dash-scale.c:179,1
    - Dst: dashes
      Src: /src/cairo/test/rectilinear-dash-scale.c:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 181
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 181
    functionName: unaligned
    functionSourceFile: /src/cairo/test/rectilinear-dash-scale.c
    functionUses: []
    functionsReached:
    - cairo_scale
    - dashes
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t unaligned (cairo_t *cr, int width, int
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/paint.c:30,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/paint.c:36,1
    - Dst: cairo_translate
      Src: /src/cairo/test/paint.c:33,1
    - Dst: cairo_scale
      Src: /src/cairo/test/paint.c:34,1
    - Dst: cairo_paint
      Src: /src/cairo/test/paint.c:31,1
    - Dst: cairo_paint
      Src: /src/cairo/test/paint.c:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 40
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 40
    functionName: draw
    functionSourceFile: /src/cairo/test/paint.c
    functionUses: []
    functionsReached:
    - cairo_translate
    - cairo_paint
    - cairo_scale
    - cairo_set_source_rgb
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/test/paint-repeat.c:39,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/paint-repeat.c:45,1
    - Dst: cairo_pattern_set_filter
      Src: /src/cairo/test/paint-repeat.c:45,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/paint-repeat.c:44,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/paint-repeat.c:46,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/paint-repeat.c:46,1
    - Dst: cairo_paint
      Src: /src/cairo/test/paint-repeat.c:47,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/paint-repeat.c:49,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/paint-repeat.c:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 53
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 53
    functionName: draw
    functionSourceFile: /src/cairo/test/paint-repeat.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_surface_finish
    - cairo_pattern_set_filter
    - cairo_get_source
    - cairo_image_surface_create_for_data
    - cairo_surface_destroy
    - cairo_pattern_set_extend
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record1414x.c:162,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/record1414x.c:168,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record1414x.c:165,1
    - Dst: cairo_paint
      Src: /src/cairo/test/record1414x.c:163,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/record1414x.c:167,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/record1414x.c:170,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/record1414x.c:173,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/record1414x.c:175,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/record1414x.c:178,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/record1414x.c:180,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/record1414x.c:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 186
    functionName: select_font_face
    functionSourceFile: /src/cairo/test/record1414x.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_show_text
    - cairo_set_font_size
    - cairo_select_font_face
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *select_font_face (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_rectangle
      Src: /src/cairo/test/record1414x.c:247,1
    - Dst: cairo_fill
      Src: /src/cairo/test/record1414x.c:250,1
    - Dst: cairo_translate
      Src: /src/cairo/test/record1414x.c:253,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/record1414x.c:263,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/record1414x.c:255,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/record1414x.c:260,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/record1414x.c:256,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/record1414x.c:254,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/record1414x.c:245,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record1414x.c:237,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/record1414x.c:246,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/record1414x.c:248,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/record1414x.c:259,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/record1414x.c:257,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/record1414x.c:262,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/record1414x.c:258,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record1414x.c:242,1
    - Dst: cairo_paint
      Src: /src/cairo/test/record1414x.c:238,1
    - Dst: cairo_translate
      Src: /src/cairo/test/record1414x.c:240,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 266
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 266
    functionName: self_intersecting
    functionSourceFile: /src/cairo/test/record1414x.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgb
    - cairo_set_line_width
    - cairo_rel_line_to
    - cairo_close_path
    - cairo_stroke
    - cairo_fill
    - cairo_translate
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *self_intersecting (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_recording_surface_create
      Src: /src/cairo/test/record1414x.c:340,1
    - Dst: cairo_surface_get_content
      Src: /src/cairo/test/record1414x.c:340,1
    - Dst: cairo_test_create
      Src: /src/cairo/test/record1414x.c:341,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/record1414x.c:340,1
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/record1414x.c:341,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/record1414x.c:342,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 345
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 345
    functionName: record_create
    functionSourceFile: /src/cairo/test/record1414x.c
    functionUses: []
    functionsReached:
    - cairo_test_get_context
    - cairo_test_create
    - cairo_surface_destroy
    - cairo_get_target
    - cairo_surface_get_content
    - cairo_recording_surface_create
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *record_create (cairo_t *target) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_reference
      Src: /src/cairo/test/record1414x.c:352,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/record1414x.c:353,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/record1414x.c:352,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 356
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 356
    functionName: record_get
    functionSourceFile: /src/cairo/test/record1414x.c
    functionUses: []
    functionsReached:
    - cairo_destroy
    - cairo_surface_reference
    - cairo_get_target
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *record_get (cairo_t *target) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/record1414x.c:200,1
    - Dst: cairo_paint
      Src: /src/cairo/test/record1414x.c:196,1
    - Dst: cairo_fill
      Src: /src/cairo/test/record1414x.c:201,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/record1414x.c:220,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/record1414x.c:228,1
    - Dst: cairo_translate
      Src: /src/cairo/test/record1414x.c:204,1
    - Dst: cairo_arc
      Src: /src/cairo/test/record1414x.c:205,1
    - Dst: cairo_fill
      Src: /src/cairo/test/record1414x.c:207,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/record1414x.c:212,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/record1414x.c:214,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/record1414x.c:211,1
    - Dst: cairo_fill
      Src: /src/cairo/test/record1414x.c:215,1
    - Dst: cairo_translate
      Src: /src/cairo/test/record1414x.c:210,1
    - Dst: cos
      Src: /src/cairo/test/record1414x.c:221,1
    - Dst: cos
      Src: /src/cairo/test/record1414x.c:225,1
    - Dst: sin
      Src: /src/cairo/test/record1414x.c:226,1
    - Dst: cairo_fill
      Src: /src/cairo/test/record1414x.c:229,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record1414x.c:195,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/record1414x.c:199,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/record1414x.c:206,1
    - Dst: cairo_translate
      Src: /src/cairo/test/record1414x.c:218,1
    - Dst: sin
      Src: /src/cairo/test/record1414x.c:222,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/record1414x.c:213,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/record1414x.c:224,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 76
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 232
    functionName: fill_alpha
    functionSourceFile: /src/cairo/test/record1414x.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgba
    - cairo_line_to
    - cairo_arc
    - cos
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_translate
    - sin
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *fill_alpha (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_init
      Src: /src/cairo/test/record1414x.c:274,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/record1414x.c:280,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/record1414x.c:281,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/test/record1414x.c:277,1
    - Dst: cairo_set_font_matrix
      Src: /src/cairo/test/record1414x.c:278,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/record1414x.c:282,1
    - Dst: cairo_matrix_init_rotate
      Src: /src/cairo/test/record1414x.c:285,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/test/record1414x.c:286,1
    - Dst: cairo_set_font_matrix
      Src: /src/cairo/test/record1414x.c:287,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/record1414x.c:289,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/record1414x.c:291,1
    - Dst: cairo_set_font_matrix
      Src: /src/cairo/test/record1414x.c:295,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/record1414x.c:297,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/test/record1414x.c:294,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/record1414x.c:298,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/record1414x.c:299,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/record1414x.c:290,1
    - Dst: cairo_matrix_init_rotate
      Src: /src/cairo/test/record1414x.c:293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 300
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 300
    functionName: draw_text_transform
    functionSourceFile: /src/cairo/test/record1414x.c
    functionUses: []
    functionsReached:
    - cairo_matrix_scale
    - cairo_show_text
    - cairo_new_path
    - cairo_set_font_matrix
    - cairo_matrix_init_rotate
    - cairo_move_to
    - cairo_matrix_init
    linkageType: ''
    returnType: void
    signature: 'static void draw_text_transform (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_scale
      Src: /src/cairo/test/record1414x.c:365,1
    - Dst: func
      Src: /src/cairo/test/record1414x.c:366,1
    - Dst: record_get
      Src: /src/cairo/test/record1414x.c:368,1
    - Dst: func
      Src: /src/cairo/test/record1414x.c:368,1
    - Dst: record_create
      Src: /src/cairo/test/record1414x.c:368,1
    - Dst: cairo_scale
      Src: /src/cairo/test/record1414x.c:370,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/record1414x.c:371,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/record1414x.c:372,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/record1414x.c:373,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/record1414x.c:374,1
    - Dst: cairo_clip
      Src: /src/cairo/test/record1414x.c:380,1
    - Dst: cairo_reset_clip
      Src: /src/cairo/test/record1414x.c:382,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/record1414x.c:374,1
    - Dst: cairo_identity_matrix
      Src: /src/cairo/test/record1414x.c:376,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/record1414x.c:379,1
    - Dst: cairo_paint
      Src: /src/cairo/test/record1414x.c:381,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 4
    argNames:
    - cr
    - (*func)
    - width
    - height
    argTypes:
    - cairo_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 388
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 388
    functionName: record_replay
    functionSourceFile: /src/cairo/test/record1414x.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - func
    - cairo_get_source
    - cairo_rectangle
    - record_create
    - record_get
    - cairo_surface_destroy
    - cairo_pattern_set_extend
    - cairo_scale
    - cairo_set_operator
    - cairo_clip
    - cairo_reset_clip
    - cairo_set_source_surface
    - cairo_identity_matrix
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_replay (cairo_t *cr, cairo_t *(*func)(cairo_t
      *), int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/record1414x.c:305,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record1414x.c:308,1
    - Dst: cairo_paint
      Src: /src/cairo/test/record1414x.c:309,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/record1414x.c:313,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record1414x.c:311,1
    - Dst: draw_text_transform
      Src: /src/cairo/test/record1414x.c:317,1
    - Dst: cairo_translate
      Src: /src/cairo/test/record1414x.c:319,1
    - Dst: cairo_rotate
      Src: /src/cairo/test/record1414x.c:320,1
    - Dst: cairo_test_create_pattern_from_png
      Src: /src/cairo/test/record1414x.c:322,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/record1414x.c:323,1
    - Dst: draw_text_transform
      Src: /src/cairo/test/record1414x.c:327,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/record1414x.c:324,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/record1414x.c:325,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 330
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 330
    functionName: text_transform
    functionSourceFile: /src/cairo/test/record1414x.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - draw_text_transform
    - cairo_test_get_context
    - cairo_pattern_set_extend
    - cairo_set_source
    - cairo_test_create_pattern_from_png
    - cairo_select_font_face
    - cairo_rotate
    - cairo_set_source_rgb
    - cairo_translate
    - cairo_pattern_destroy
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *text_transform (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/test/record1414x.c:74,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/record1414x.c:81,1
    - Dst: cairo_test_paint_checkered
      Src: /src/cairo/test/record1414x.c:77,1
    - Dst: cairo_pattern_set_filter
      Src: /src/cairo/test/record1414x.c:82,1
    - Dst: cairo_scale
      Src: /src/cairo/test/record1414x.c:79,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/record1414x.c:82,1
    - Dst: cairo_paint_with_alpha
      Src: /src/cairo/test/record1414x.c:83,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/record1414x.c:85,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/record1414x.c:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 89
    functionName: paint_alpha
    functionSourceFile: /src/cairo/test/record1414x.c
    functionUses: []
    functionsReached:
    - cairo_paint_with_alpha
    - cairo_surface_finish
    - cairo_pattern_set_filter
    - cairo_test_paint_checkered
    - cairo_image_surface_create_for_data
    - cairo_get_source
    - cairo_surface_destroy
    - cairo_scale
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *paint_alpha (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay
      Src: /src/cairo/test/record1414x.c:417,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 418
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 418
    functionName: record_paint_alpha_clip_mask
    functionSourceFile: /src/cairo/test/record1414x.c
    functionUses: []
    functionsReached:
    - record_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_paint_alpha_clip_mask (cairo_t *cr,
      int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay
      Src: /src/cairo/test/record1414x.c:429,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 430
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 430
    functionName: record_self_intersecting
    functionSourceFile: /src/cairo/test/record1414x.c
    functionUses: []
    functionsReached:
    - record_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_self_intersecting (cairo_t *cr,
      int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_paint_checkered
      Src: /src/cairo/test/record1414x.c:94,1
    - Dst: cairo_paint_with_alpha
      Src: /src/cairo/test/record1414x.c:100,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/record1414x.c:96,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record1414x.c:99,1
    - Dst: cairo_clip
      Src: /src/cairo/test/record1414x.c:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 103
    functionName: paint_alpha_solid_clip
    functionSourceFile: /src/cairo/test/record1414x.c
    functionUses: []
    functionsReached:
    - cairo_paint_with_alpha
    - cairo_test_paint_checkered
    - cairo_set_source_rgb
    - cairo_clip
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *paint_alpha_solid_clip (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay
      Src: /src/cairo/test/record1414x.c:423,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 424
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 424
    functionName: record_fill_alpha
    functionSourceFile: /src/cairo/test/record1414x.c
    functionUses: []
    functionsReached:
    - record_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_fill_alpha (cairo_t *cr, int width,
      int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay
      Src: /src/cairo/test/record1414x.c:435,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 436
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 436
    functionName: record_select_font_face
    functionSourceFile: /src/cairo/test/record1414x.c
    functionUses: []
    functionsReached:
    - record_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_select_font_face (cairo_t *cr, int
      width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay
      Src: /src/cairo/test/record1414x.c:441,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 442
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 442
    functionName: record_text_transform
    functionSourceFile: /src/cairo/test/record1414x.c
    functionUses: []
    functionsReached:
    - record_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_text_transform (cairo_t *cr, int
      width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/test/record1414x.c:110,1
    - Dst: cairo_clip
      Src: /src/cairo/test/record1414x.c:116,1
    - Dst: cairo_test_paint_checkered
      Src: /src/cairo/test/record1414x.c:113,1
    - Dst: cairo_scale
      Src: /src/cairo/test/record1414x.c:118,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/record1414x.c:115,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/record1414x.c:120,1
    - Dst: cairo_pattern_set_filter
      Src: /src/cairo/test/record1414x.c:121,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/record1414x.c:121,1
    - Dst: cairo_paint_with_alpha
      Src: /src/cairo/test/record1414x.c:122,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/record1414x.c:124,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/record1414x.c:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 128
    functionName: paint_alpha_clip
    functionSourceFile: /src/cairo/test/record1414x.c
    functionUses: []
    functionsReached:
    - cairo_paint_with_alpha
    - cairo_surface_finish
    - cairo_pattern_set_filter
    - cairo_test_paint_checkered
    - cairo_image_surface_create_for_data
    - cairo_get_source
    - cairo_surface_destroy
    - cairo_scale
    - cairo_clip
    - cairo_set_source_surface
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *paint_alpha_clip (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay
      Src: /src/cairo/test/record1414x.c:393,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 394
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 394
    functionName: record_paint
    functionSourceFile: /src/cairo/test/record1414x.c
    functionUses: []
    functionsReached:
    - record_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_paint (cairo_t *cr, int width, int
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay
      Src: /src/cairo/test/record1414x.c:405,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 406
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 406
    functionName: record_paint_alpha_solid_clip
    functionSourceFile: /src/cairo/test/record1414x.c
    functionUses: []
    functionsReached:
    - record_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_paint_alpha_solid_clip (cairo_t
      *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record1414x.c:57,1
    - Dst: cairo_scale
      Src: /src/cairo/test/record1414x.c:61,1
    - Dst: cairo_paint
      Src: /src/cairo/test/record1414x.c:58,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record1414x.c:63,1
    - Dst: cairo_translate
      Src: /src/cairo/test/record1414x.c:60,1
    - Dst: cairo_paint
      Src: /src/cairo/test/record1414x.c:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 67
    functionName: paint
    functionSourceFile: /src/cairo/test/record1414x.c
    functionUses: []
    functionsReached:
    - cairo_translate
    - cairo_paint
    - cairo_scale
    - cairo_set_source_rgb
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *paint (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/test/record1414x.c:135,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/record1414x.c:140,1
    - Dst: cairo_test_paint_checkered
      Src: /src/cairo/test/record1414x.c:138,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/record1414x.c:142,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/record1414x.c:141,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/record1414x.c:143,1
    - Dst: cairo_clip
      Src: /src/cairo/test/record1414x.c:144,1
    - Dst: cairo_scale
      Src: /src/cairo/test/record1414x.c:146,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/record1414x.c:148,1
    - Dst: cairo_pattern_set_filter
      Src: /src/cairo/test/record1414x.c:149,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/record1414x.c:152,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/record1414x.c:153,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/record1414x.c:149,1
    - Dst: cairo_paint_with_alpha
      Src: /src/cairo/test/record1414x.c:150,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 156
    functionName: paint_alpha_clip_mask
    functionSourceFile: /src/cairo/test/record1414x.c
    functionUses: []
    functionsReached:
    - cairo_paint_with_alpha
    - cairo_surface_finish
    - cairo_pattern_set_filter
    - cairo_line_to
    - cairo_test_paint_checkered
    - cairo_image_surface_create_for_data
    - cairo_get_source
    - cairo_surface_destroy
    - cairo_scale
    - cairo_clip
    - cairo_move_to
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *paint_alpha_clip_mask (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay
      Src: /src/cairo/test/record1414x.c:399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 400
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 400
    functionName: record_paint_alpha
    functionSourceFile: /src/cairo/test/record1414x.c
    functionUses: []
    functionsReached:
    - record_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_paint_alpha (cairo_t *cr, int width,
      int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay
      Src: /src/cairo/test/record1414x.c:411,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 412
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 412
    functionName: record_paint_alpha_clip
    functionSourceFile: /src/cairo/test/record1414x.c
    functionUses: []
    functionsReached:
    - record_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_paint_alpha_clip (cairo_t *cr, int
      width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-twice-rectangle.c:35,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-twice-rectangle.c:41,1
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/test/clip-twice-rectangle.c:39,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-twice-rectangle.c:40,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-twice-rectangle.c:36,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-twice-rectangle.c:42,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-twice-rectangle.c:44,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-twice-rectangle.c:45,1
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/clip-twice-rectangle.c:48,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/clip-twice-rectangle.c:48,1
    - Dst: cairo_create
      Src: /src/cairo/test/clip-twice-rectangle.c:51,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-twice-rectangle.c:55,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-twice-rectangle.c:57,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/clip-twice-rectangle.c:59,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/clip-twice-rectangle.c:58,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/clip-twice-rectangle.c:54,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/clip-twice-rectangle.c:52,1
    - Dst: cairo_mask_surface
      Src: /src/cairo/test/clip-twice-rectangle.c:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 62
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 62
    functionName: draw
    functionSourceFile: /src/cairo/test/clip-twice-rectangle.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_mask_surface
    - cairo_set_source_rgba
    - cairo_destroy
    - cairo_create
    - cairo_surface_create_similar
    - cairo_surface_destroy
    - cairo_get_target
    - cairo_set_source_rgb
    - cairo_set_fill_rule
    - cairo_clip
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FcConfigSubstitute
      Src: /src/cairo/test/ft-variable-font.c:51,1
    - Dst: cairo_ft_font_options_substitute
      Src: /src/cairo/test/ft-variable-font.c:55,1
    - Dst: FcDefaultSubstitute
      Src: /src/cairo/test/ft-variable-font.c:57,1
    - Dst: FcFontMatch
      Src: /src/cairo/test/ft-variable-font.c:58,1
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/ft-variable-font.c:75,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/ft-variable-font.c:67,1
    - Dst: FcPatternDestroy
      Src: /src/cairo/test/ft-variable-font.c:88,1
    - Dst: FcPatternCreate
      Src: /src/cairo/test/ft-variable-font.c:45,1
    - Dst: FcPatternGetBool
      Src: /src/cairo/test/ft-variable-font.c:73,1
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/ft-variable-font.c:66,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/ft-variable-font.c:87,1
    - Dst: FcPatternGetString
      Src: /src/cairo/test/ft-variable-font.c:64,1
    - Dst: cairo_ft_font_face_create_for_pattern
      Src: /src/cairo/test/ft-variable-font.c:83,1
    - Dst: cairo_set_font_face
      Src: /src/cairo/test/ft-variable-font.c:84,1
    - Dst: cairo_font_options_destroy
      Src: /src/cairo/test/ft-variable-font.c:86,1
    - Dst: cairo_font_options_create
      Src: /src/cairo/test/ft-variable-font.c:53,1
    - Dst: FcPatternAddString
      Src: /src/cairo/test/ft-variable-font.c:49,1
    - Dst: FcPatternAddBool
      Src: /src/cairo/test/ft-variable-font.c:50,1
    - Dst: cairo_get_font_options
      Src: /src/cairo/test/ft-variable-font.c:54,1
    - Dst: FcPatternDestroy
      Src: /src/cairo/test/ft-variable-font.c:60,1
    - Dst: strcmp
      Src: /src/cairo/test/ft-variable-font.c:65,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/ft-variable-font.c:76,1
    - Dst: FcPatternDestroy
      Src: /src/cairo/test/ft-variable-font.c:89,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 92
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 92
    functionName: set_variable_font
    functionSourceFile: /src/cairo/test/ft-variable-font.c
    functionUses: []
    functionsReached:
    - strcmp
    - FcPatternDestroy
    - FcDefaultSubstitute
    - cairo_font_options_destroy
    - cairo_font_options_create
    - cairo_test_get_context
    - cairo_ft_font_face_create_for_pattern
    - FcPatternCreate
    - FcConfigSubstitute
    - FcPatternAddString
    - cairo_get_font_options
    - cairo_test_log
    - FcPatternGetBool
    - cairo_font_face_destroy
    - FcPatternAddBool
    - FcPatternGetString
    - cairo_set_font_face
    - cairo_ft_font_options_substitute
    - FcFontMatch
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t set_variable_font (cairo_t *cr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/ft-variable-font.c:100,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/ft-variable-font.c:102,1
    - Dst: cairo_paint
      Src: /src/cairo/test/ft-variable-font.c:101,1
    - Dst: cairo_font_options_create
      Src: /src/cairo/test/ft-variable-font.c:108,1
    - Dst: set_variable_font
      Src: /src/cairo/test/ft-variable-font.c:104,1
    - Dst: cairo_font_options_set_variations
      Src: /src/cairo/test/ft-variable-font.c:109,1
    - Dst: cairo_set_font_options
      Src: /src/cairo/test/ft-variable-font.c:110,1
    - Dst: cairo_font_options_destroy
      Src: /src/cairo/test/ft-variable-font.c:111,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/ft-variable-font.c:113,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/ft-variable-font.c:114,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/ft-variable-font.c:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 119
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 119
    functionName: draw
    functionSourceFile: /src/cairo/test/ft-variable-font.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_font_options
    - cairo_font_options_destroy
    - cairo_font_options_create
    - cairo_show_text
    - cairo_move_to
    - cairo_set_font_size
    - cairo_set_source_rgb
    - cairo_font_options_set_variations
    - set_variable_font
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_rectangle
      Src: /src/cairo/test/overlapping-boxes.c:39,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/overlapping-boxes.c:42,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/overlapping-boxes.c:40,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/overlapping-boxes.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: border
    functionSourceFile: /src/cairo/test/overlapping-boxes.c
    functionUses: []
    functionsReached:
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void border (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/test/overlapping-boxes.c:48,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/overlapping-boxes.c:50,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/overlapping-boxes.c:55,1
    - Dst: cairo_fill
      Src: /src/cairo/test/overlapping-boxes.c:56,1
    - Dst: cairo_translate
      Src: /src/cairo/test/overlapping-boxes.c:58,1
    - Dst: cairo_fill
      Src: /src/cairo/test/overlapping-boxes.c:63,1
    - Dst: cairo_translate
      Src: /src/cairo/test/overlapping-boxes.c:65,1
    - Dst: border
      Src: /src/cairo/test/overlapping-boxes.c:70,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/overlapping-boxes.c:62,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/overlapping-boxes.c:71,1
    - Dst: cairo_fill
      Src: /src/cairo/test/overlapping-boxes.c:73,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/overlapping-boxes.c:72,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/overlapping-boxes.c:67,1
    - Dst: cairo_clip
      Src: /src/cairo/test/overlapping-boxes.c:80,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/overlapping-boxes.c:84,1
    - Dst: cairo_fill
      Src: /src/cairo/test/overlapping-boxes.c:85,1
    - Dst: cairo_paint
      Src: /src/cairo/test/overlapping-boxes.c:51,1
    - Dst: cairo_reset_clip
      Src: /src/cairo/test/overlapping-boxes.c:75,1
    - Dst: cairo_translate
      Src: /src/cairo/test/overlapping-boxes.c:77,1
    - Dst: border
      Src: /src/cairo/test/overlapping-boxes.c:82,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/overlapping-boxes.c:83,1
    - Dst: border
      Src: /src/cairo/test/overlapping-boxes.c:53,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/overlapping-boxes.c:54,1
    - Dst: border
      Src: /src/cairo/test/overlapping-boxes.c:60,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/overlapping-boxes.c:61,1
    - Dst: cairo_clip
      Src: /src/cairo/test/overlapping-boxes.c:68,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/overlapping-boxes.c:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 88
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 88
    functionName: draw
    functionSourceFile: /src/cairo/test/overlapping-boxes.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_translate
    - border
    - cairo_set_operator
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_set_fill_rule
    - cairo_clip
    - cairo_reset_clip
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/long-dashed-lines.c:33,1
    - Dst: cairo_paint
      Src: /src/cairo/test/long-dashed-lines.c:34,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/long-dashed-lines.c:37,1
    - Dst: cairo_translate
      Src: /src/cairo/test/long-dashed-lines.c:41,1
    - Dst: cairo_save
      Src: /src/cairo/test/long-dashed-lines.c:40,1
    - Dst: cairo_rotate
      Src: /src/cairo/test/long-dashed-lines.c:43,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/long-dashed-lines.c:44,1
    - Dst: cairo_restore
      Src: /src/cairo/test/long-dashed-lines.c:46,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/long-dashed-lines.c:49,1
    - Dst: cairo_set_dash
      Src: /src/cairo/test/long-dashed-lines.c:51,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/long-dashed-lines.c:54,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/long-dashed-lines.c:52,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/long-dashed-lines.c:55,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/long-dashed-lines.c:53,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/long-dashed-lines.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 58
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 58
    functionName: draw
    functionSourceFile: /src/cairo/test/long-dashed-lines.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgb
    - cairo_set_dash
    - ARRAY_LENGTH
    - cairo_save
    - cairo_set_line_join
    - cairo_stroke
    - cairo_restore
    - cairo_set_line_cap
    - cairo_rotate
    - cairo_translate
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_mesh_pattern_begin_patch
      Src: /src/cairo/test/mesh-pattern-accuracy.c:65,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/mesh-pattern-accuracy.c:88,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/mesh-pattern-accuracy.c:86,1
    - Dst: cairo_test_paint_checkered
      Src: /src/cairo/test/mesh-pattern-accuracy.c:47,1
    - Dst: cairo_mesh_pattern_line_to
      Src: /src/cairo/test/mesh-pattern-accuracy.c:54,1
    - Dst: cairo_mesh_pattern_line_to
      Src: /src/cairo/test/mesh-pattern-accuracy.c:55,1
    - Dst: cairo_mesh_pattern_line_to
      Src: /src/cairo/test/mesh-pattern-accuracy.c:56,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgb
      Src: /src/cairo/test/mesh-pattern-accuracy.c:59,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgb
      Src: /src/cairo/test/mesh-pattern-accuracy.c:61,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgb
      Src: /src/cairo/test/mesh-pattern-accuracy.c:77,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgb
      Src: /src/cairo/test/mesh-pattern-accuracy.c:79,1
    - Dst: cairo_mesh_pattern_end_patch
      Src: /src/cairo/test/mesh-pattern-accuracy.c:82,1
    - Dst: cairo_scale
      Src: /src/cairo/test/mesh-pattern-accuracy.c:84,1
    - Dst: cairo_mesh_pattern_move_to
      Src: /src/cairo/test/mesh-pattern-accuracy.c:53,1
    - Dst: cairo_mesh_pattern_begin_patch
      Src: /src/cairo/test/mesh-pattern-accuracy.c:51,1
    - Dst: cairo_pattern_create_mesh
      Src: /src/cairo/test/mesh-pattern-accuracy.c:49,1
    - Dst: cairo_paint
      Src: /src/cairo/test/mesh-pattern-accuracy.c:87,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgb
      Src: /src/cairo/test/mesh-pattern-accuracy.c:58,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgb
      Src: /src/cairo/test/mesh-pattern-accuracy.c:60,1
    - Dst: cairo_mesh_pattern_line_to
      Src: /src/cairo/test/mesh-pattern-accuracy.c:73,1
    - Dst: cairo_mesh_pattern_line_to
      Src: /src/cairo/test/mesh-pattern-accuracy.c:75,1
    - Dst: cairo_mesh_pattern_line_to
      Src: /src/cairo/test/mesh-pattern-accuracy.c:74,1
    - Dst: cairo_mesh_pattern_end_patch
      Src: /src/cairo/test/mesh-pattern-accuracy.c:63,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgb
      Src: /src/cairo/test/mesh-pattern-accuracy.c:78,1
    - Dst: cairo_mesh_pattern_move_to
      Src: /src/cairo/test/mesh-pattern-accuracy.c:72,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgb
      Src: /src/cairo/test/mesh-pattern-accuracy.c:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 38
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 91
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 91
    functionName: draw
    functionSourceFile: /src/cairo/test/mesh-pattern-accuracy.c
    functionUses: []
    functionsReached:
    - cairo_mesh_pattern_move_to
    - cairo_paint
    - cairo_mesh_pattern_begin_patch
    - cairo_test_paint_checkered
    - cairo_set_source
    - cairo_scale
    - cairo_mesh_pattern_end_patch
    - cairo_mesh_pattern_line_to
    - cairo_pattern_create_mesh
    - cairo_mesh_pattern_set_corner_color_rgb
    - cairo_pattern_destroy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_move_to
      Src: /src/cairo/test/big-empty-triangle.c:42,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/big-empty-triangle.c:43,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/big-empty-triangle.c:44,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/big-empty-triangle.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - cr
    - x
    - y
    - h
    argTypes:
    - cairo_t*
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: triangle
    functionSourceFile: /src/cairo/test/big-empty-triangle.c
    functionUses: []
    functionsReached:
    - cairo_line_to
    - cairo_move_to
    - cairo_close_path
    linkageType: ''
    returnType: void
    signature: 'static void triangle (cairo_t *cr, double x, double y, double h) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/big-empty-triangle.c:51,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/big-empty-triangle.c:57,1
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/test/big-empty-triangle.c:61,1
    - Dst: cairo_paint
      Src: /src/cairo/test/big-empty-triangle.c:52,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/big-empty-triangle.c:58,1
    - Dst: triangle
      Src: /src/cairo/test/big-empty-triangle.c:62,1
    - Dst: triangle
      Src: /src/cairo/test/big-empty-triangle.c:63,1
    - Dst: cairo_fill
      Src: /src/cairo/test/big-empty-triangle.c:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 67
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 67
    functionName: draw
    functionSourceFile: /src/cairo/test/big-empty-triangle.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - triangle
    - cairo_set_operator
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_set_fill_rule
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/test/translate-show-surface.c:56,1
    - Dst: cairo_paint
      Src: /src/cairo/test/translate-show-surface.c:63,1
    - Dst: cairo_save
      Src: /src/cairo/test/translate-show-surface.c:59,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/translate-show-surface.c:62,1
    - Dst: cairo_translate
      Src: /src/cairo/test/translate-show-surface.c:61,1
    - Dst: cairo_restore
      Src: /src/cairo/test/translate-show-surface.c:65,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/translate-show-surface.c:66,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/translate-show-surface.c:67,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 71
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 71
    functionName: draw
    functionSourceFile: /src/cairo/test/translate-show-surface.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_surface_finish
    - cairo_image_surface_create_for_data
    - cairo_save
    - cairo_surface_destroy
    - cairo_restore
    - cairo_translate
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/large-font.c:52,1
    - Dst: cairo_paint
      Src: /src/cairo/test/large-font.c:53,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/large-font.c:58,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/large-font.c:60,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/large-font.c:55,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/large-font.c:61,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/large-font.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 65
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 65
    functionName: draw
    functionSourceFile: /src/cairo/test/large-font.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_show_text
    - cairo_set_font_size
    - cairo_select_font_face
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - closure
    - data
    - length
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: bad_write
    functionSourceFile: /src/cairo/test/create-for-stream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t bad_write (void\t\t*closure,\t const unsigned\
      \ char\t*data,\t unsigned int\t length) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_create
      Src: /src/cairo/test/create-for-stream.c:85,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/create-for-stream.c:89,1
    - Dst: draw
      Src: /src/cairo/test/create-for-stream.c:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 90
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 90
    functionName: draw_to
    functionSourceFile: /src/cairo/test/create-for-stream.c
    functionUses: []
    functionsReached:
    - cairo_destroy
    - cairo_create
    - draw
    linkageType: ''
    returnType: void
    signature: 'static void draw_to (cairo_surface_t *surface) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: stream_constructor
      Src: /src/cairo/test/create-for-stream.c:152,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/create-for-stream.c:167,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/create-for-stream.c:170,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/create-for-stream.c:172,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/create-for-stream.c:182,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/create-for-stream.c:187,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/create-for-stream.c:185,1
    - Dst: file_constructor
      Src: /src/cairo/test/create-for-stream.c:220,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/create-for-stream.c:223,1
    - Dst: draw_to
      Src: /src/cairo/test/create-for-stream.c:230,1
    - Dst: strerror
      Src: /src/cairo/test/create-for-stream.c:237,1
    - Dst: strerror
      Src: /src/cairo/test/create-for-stream.c:243,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/create-for-stream.c:242,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/create-for-stream.c:236,1
    - Dst: fclose
      Src: /src/cairo/test/create-for-stream.c:251,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/create-for-stream.c:157,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/create-for-stream.c:155,1
    - Dst: access
      Src: /src/cairo/test/create-for-stream.c:178,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/create-for-stream.c:181,1
    - Dst: stream_constructor
      Src: /src/cairo/test/create-for-stream.c:201,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/create-for-stream.c:204,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/create-for-stream.c:191,1
    - Dst: file_constructor
      Src: /src/cairo/test/create-for-stream.c:179,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/create-for-stream.c:206,1
    - Dst: fopen
      Src: /src/cairo/test/create-for-stream.c:234,1
    - Dst: fclose
      Src: /src/cairo/test/create-for-stream.c:255,1
    - Dst: draw_to
      Src: /src/cairo/test/create-for-stream.c:163,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/create-for-stream.c:166,1
    - Dst: draw_to
      Src: /src/cairo/test/create-for-stream.c:211,1
    - Dst: memcmp
      Src: /src/cairo/test/create-for-stream.c:248,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/create-for-stream.c:249,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/create-for-stream.c:165,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/create-for-stream.c:180,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/create-for-stream.c:213,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/create-for-stream.c:225,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/create-for-stream.c:226,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/create-for-stream.c:232,1
    - Dst: fread
      Src: /src/cairo/test/create-for-stream.c:241,1
    - Dst: fclose
      Src: /src/cairo/test/create-for-stream.c:244,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 71
    argCount: 5
    argNames:
    - ctx
    - backend
    - filename
    - file_constructor
    - stream_constructor
    argTypes:
    - cairo_test_context_t*
    - char*
    - char*
    - file_constructor_t
    - stream_constructor_t
    constantsTouched: []
    func_position:
      end: 258
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 258
    functionName: test_surface
    functionSourceFile: /src/cairo/test/create-for-stream.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - cairo_surface_finish
    - strerror
    - fclose
    - cairo_surface_status
    - access
    - draw_to
    - cairo_surface_destroy
    - memcmp
    - fopen
    - fread
    - stream_constructor
    - file_constructor
    - cairo_status_to_string
    linkageType: ''
    returnType: cairo_test_status_t
    signature: "static cairo_test_status_t test_surface (const cairo_test_context_t\
      \ *ctx,\t const char *backend,\t const char\t\t *filename,\t file_constructor_t\t\
      \ file_constructor,\t stream_constructor_t\t stream_constructor) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_rectangle
      Src: /src/cairo/test/create-for-stream.c:70,1
    - Dst: cairo_fill
      Src: /src/cairo/test/create-for-stream.c:73,1
    - Dst: cairo_show_page
      Src: /src/cairo/test/create-for-stream.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 78
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 78
    functionName: draw
    functionSourceFile: /src/cairo/test/create-for-stream.c
    functionUses: []
    functionsReached:
    - cairo_show_page
    - cairo_fill
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_log
      Src: /src/cairo/test/create-for-stream.c:115,1
    - Dst: memcpy
      Src: /src/cairo/test/create-for-stream.c:120,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - closure
    - data
    - length
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 124
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 124
    functionName: test_write
    functionSourceFile: /src/cairo/test/create-for-stream.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - memcpy
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t test_write (void\t\t*closure,\t const unsigned\
      \ char\t*data,\t unsigned int\t length) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_mkdir
      Src: /src/cairo/test/create-for-stream.c:266,1
    - Dst: cairo_test_is_target_enabled
      Src: /src/cairo/test/create-for-stream.c:269,1
    - Dst: test_surface
      Src: /src/cairo/test/create-for-stream.c:276,1
    - Dst: xasprintf
      Src: /src/cairo/test/create-for-stream.c:275,1
    - Dst: cairo_test_is_target_enabled
      Src: /src/cairo/test/create-for-stream.c:270,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/create-for-stream.c:279,1
    - Dst: free
      Src: /src/cairo/test/create-for-stream.c:284,1
    - Dst: cairo_test_is_target_enabled
      Src: /src/cairo/test/create-for-stream.c:289,1
    - Dst: xasprintf
      Src: /src/cairo/test/create-for-stream.c:293,1
    - Dst: test_surface
      Src: /src/cairo/test/create-for-stream.c:294,1
    - Dst: xasprintf
      Src: /src/cairo/test/create-for-stream.c:313,1
    - Dst: test_surface
      Src: /src/cairo/test/create-for-stream.c:314,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/create-for-stream.c:317,1
    - Dst: cairo_test_is_target_enabled
      Src: /src/cairo/test/create-for-stream.c:308,1
    - Dst: free
      Src: /src/cairo/test/create-for-stream.c:322,1
    - Dst: cairo_test_is_target_enabled
      Src: /src/cairo/test/create-for-stream.c:307,1
    - Dst: free
      Src: /src/cairo/test/create-for-stream.c:302,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/create-for-stream.c:297,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - cairo_test_context_t*
    constantsTouched: []
    func_position:
      end: 327
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 327
    functionName: preamble
    functionSourceFile: /src/cairo/test/create-for-stream.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - free
    - xasprintf
    - cairo_test_mkdir
    - cairo_test_is_target_enabled
    - test_surface
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t preamble (cairo_test_context_t *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_create
      Src: /src/cairo/test/pthread-same-source.c:54,1
    - Dst: cairo_pattern_create_for_surface
      Src: /src/cairo/test/pthread-same-source.c:57,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/pthread-same-source.c:55,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/pthread-same-source.c:58,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/pthread-same-source.c:59,1
    - Dst: cairo_pattern_set_filter
      Src: /src/cairo/test/pthread-same-source.c:60,1
    - Dst: cairo_pattern_set_matrix
      Src: /src/cairo/test/pthread-same-source.c:61,1
    - Dst: cairo_save
      Src: /src/cairo/test/pthread-same-source.c:65,1
    - Dst: cairo_translate
      Src: /src/cairo/test/pthread-same-source.c:66,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/pthread-same-source.c:67,1
    - Dst: cairo_restore
      Src: /src/cairo/test/pthread-same-source.c:70,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/pthread-same-source.c:73,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/pthread-same-source.c:76,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/pthread-same-source.c:68,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/pthread-same-source.c:75,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/test/pthread-same-source.c:75,1
    - Dst: cairo_fill
      Src: /src/cairo/test/pthread-same-source.c:69,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 79
    functionName: draw_thread
    functionSourceFile: /src/cairo/test/pthread-same-source.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_for_surface
    - cairo_pattern_set_filter
    - cairo_surface_reference
    - cairo_create
    - cairo_save
    - cairo_pattern_set_matrix
    - cairo_surface_destroy
    - cairo_pattern_set_extend
    - cairo_set_source
    - cairo_restore
    - cairo_get_target
    - cairo_fill
    - cairo_translate
    - cairo_destroy
    - cairo_pattern_destroy
    - cairo_rectangle
    linkageType: ''
    returnType: void*
    signature: 'static void *draw_thread (void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/pthread-same-source.c:94,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/pthread-same-source.c:99,1
    - Dst: cairo_create
      Src: /src/cairo/test/pthread-same-source.c:98,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/pthread-same-source.c:102,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/pthread-same-source.c:103,1
    - Dst: cairo_fill
      Src: /src/cairo/test/pthread-same-source.c:104,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/test/pthread-same-source.c:107,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/pthread-same-source.c:107,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/pthread-same-source.c:108,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 111
    functionName: create_source
    functionSourceFile: /src/cairo/test/pthread-same-source.c
    functionUses: []
    functionsReached:
    - cairo_surface_reference
    - cairo_create
    - cairo_surface_destroy
    - cairo_get_target
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_destroy
    - cairo_surface_create_similar
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *create_source (cairo_surface_t *similar) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cairo_paint
      Src: /src/cairo/test/pthread-same-source.c:134,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/pthread-same-source.c:137,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/test/pthread-same-source.c:140,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/pthread-same-source.c:154,1
    - Dst: pthread_equal
      Src: /src/cairo/test/pthread-same-source.c:168,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/pthread-same-source.c:125,1
    - Dst: cairo_paint
      Src: /src/cairo/test/pthread-same-source.c:155,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/pthread-same-source.c:173,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/pthread-same-source.c:133,1
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/pthread-same-source.c:137,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/pthread-same-source.c:146,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/pthread-same-source.c:153,1
    - Dst: cairo_translate
      Src: /src/cairo/test/pthread-same-source.c:157,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/pthread-same-source.c:162,1
    - Dst: pthread_join
      Src: /src/cairo/test/pthread-same-source.c:171,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/pthread-same-source.c:172,1
    - Dst: cairo_paint
      Src: /src/cairo/test/pthread-same-source.c:174,1
    - Dst: create_source
      Src: /src/cairo/test/pthread-same-source.c:125,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/pthread-same-source.c:128,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/pthread-same-source.c:126,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/pthread-same-source.c:129,1
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/pthread-same-source.c:129,1
    - Dst: pthread_create
      Src: /src/cairo/test/pthread-same-source.c:143,1
    - Dst: pthread_self
      Src: /src/cairo/test/pthread-same-source.c:144,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/pthread-same-source.c:145,1
    - Dst: draw_thread
      Src: /src/cairo/test/pthread-same-source.c:152,1
    - Dst: pthread_self
      Src: /src/cairo/test/pthread-same-source.c:168,1
    - Dst: cairo_translate
      Src: /src/cairo/test/pthread-same-source.c:176,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 57
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 184
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 184
    functionName: draw
    functionSourceFile: /src/cairo/test/pthread-same-source.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - pthread_create
    - pthread_self
    - draw_thread
    - pthread_join
    - create_source
    - cairo_test_status_from_status
    - cairo_test_get_context
    - cairo_surface_reference
    - cairo_surface_status
    - cairo_surface_destroy
    - cairo_get_target
    - pthread_equal
    - cairo_set_source_rgb
    - cairo_translate
    - cairo_surface_create_similar
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/rectangle-rounding-error.c:35,1
    - Dst: cairo_set_antialias
      Src: /src/cairo/test/rectangle-rounding-error.c:38,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/rectangle-rounding-error.c:39,1
    - Dst: cairo_paint
      Src: /src/cairo/test/rectangle-rounding-error.c:36,1
    - Dst: cairo_translate
      Src: /src/cairo/test/rectangle-rounding-error.c:41,1
    - Dst: cairo_scale
      Src: /src/cairo/test/rectangle-rounding-error.c:42,1
    - Dst: cairo_translate
      Src: /src/cairo/test/rectangle-rounding-error.c:43,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/rectangle-rounding-error.c:46,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/rectangle-rounding-error.c:47,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/rectangle-rounding-error.c:48,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/rectangle-rounding-error.c:51,1
    - Dst: cairo_fill
      Src: /src/cairo/test/rectangle-rounding-error.c:52,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/rectangle-rounding-error.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 55
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 55
    functionName: draw
    functionSourceFile: /src/cairo/test/rectangle-rounding-error.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgb
    - cairo_scale
    - cairo_fill
    - cairo_translate
    - cairo_set_antialias
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_move_to
      Src: /src/cairo/test/fill-rule.c:72,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/fill-rule.c:73,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/fill-rule.c:76,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/fill-rule.c:74,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/fill-rule.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: little_star_path
    functionSourceFile: /src/cairo/test/fill-rule.c
    functionUses: []
    functionsReached:
    - cairo_rel_line_to
    - cairo_move_to
    linkageType: ''
    returnType: void
    signature: 'static void little_star_path (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/fill-rule.c:96,1
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/test/fill-rule.c:100,1
    - Dst: little_star_path
      Src: /src/cairo/test/fill-rule.c:99,1
    - Dst: cairo_fill
      Src: /src/cairo/test/fill-rule.c:101,1
    - Dst: cairo_translate
      Src: /src/cairo/test/fill-rule.c:98,1
    - Dst: cairo_translate
      Src: /src/cairo/test/fill-rule.c:103,1
    - Dst: little_star_path
      Src: /src/cairo/test/fill-rule.c:104,1
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/test/fill-rule.c:105,1
    - Dst: cairo_fill
      Src: /src/cairo/test/fill-rule.c:106,1
    - Dst: cairo_translate
      Src: /src/cairo/test/fill-rule.c:108,1
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/test/fill-rule.c:110,1
    - Dst: cairo_fill
      Src: /src/cairo/test/fill-rule.c:116,1
    - Dst: cairo_fill
      Src: /src/cairo/test/fill-rule.c:111,1
    - Dst: big_star_path
      Src: /src/cairo/test/fill-rule.c:114,1
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/test/fill-rule.c:115,1
    - Dst: cairo_translate
      Src: /src/cairo/test/fill-rule.c:113,1
    - Dst: big_star_path
      Src: /src/cairo/test/fill-rule.c:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 119
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 119
    functionName: draw
    functionSourceFile: /src/cairo/test/fill-rule.c
    functionUses: []
    functionsReached:
    - little_star_path
    - cairo_set_source_rgb
    - big_star_path
    - cairo_fill
    - cairo_translate
    - cairo_set_fill_rule
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_move_to
      Src: /src/cairo/test/fill-rule.c:84,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/fill-rule.c:86,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/fill-rule.c:88,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/fill-rule.c:85,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/fill-rule.c:87,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/fill-rule.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: big_star_path
    functionSourceFile: /src/cairo/test/fill-rule.c
    functionUses: []
    functionsReached:
    - cairo_rel_line_to
    - cairo_move_to
    - cairo_close_path
    linkageType: ''
    returnType: void
    signature: 'static void big_star_path (cairo_t *cr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/large-source.c:48,1
    - Dst: cairo_image_surface_get_width
      Src: /src/cairo/test/large-source.c:55,1
    - Dst: cairo_image_surface_get_height
      Src: /src/cairo/test/large-source.c:56,1
    - Dst: cairo_surface_mark_dirty
      Src: /src/cairo/test/large-source.c:64,1
    - Dst: cairo_image_surface_get_data
      Src: /src/cairo/test/large-source.c:72,1
    - Dst: cairo_surface_mark_dirty
      Src: /src/cairo/test/large-source.c:84,1
    - Dst: cairo_mask_surface
      Src: /src/cairo/test/large-source.c:88,1
    - Dst: cairo_image_surface_get_stride
      Src: /src/cairo/test/large-source.c:54,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/large-source.c:89,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/large-source.c:51,1
    - Dst: cairo_image_surface_get_data
      Src: /src/cairo/test/large-source.c:52,1
    - Dst: cairo_paint
      Src: /src/cairo/test/large-source.c:49,1
    - Dst: cairo_mask_surface
      Src: /src/cairo/test/large-source.c:68,1
    - Dst: cairo_image_surface_get_width
      Src: /src/cairo/test/large-source.c:75,1
    - Dst: cairo_image_surface_get_height
      Src: /src/cairo/test/large-source.c:76,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/large-source.c:67,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/large-source.c:87,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/large-source.c:69,1
    - Dst: cairo_image_surface_get_stride
      Src: /src/cairo/test/large-source.c:74,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/large-source.c:71,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 92
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 92
    functionName: draw
    functionSourceFile: /src/cairo/test/large-source.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_mask_surface
    - cairo_image_surface_get_data
    - cairo_surface_mark_dirty
    - cairo_image_surface_get_height
    - cairo_surface_destroy
    - cairo_image_surface_create
    - cairo_set_source_rgb
    - cairo_image_surface_get_width
    - cairo_image_surface_get_stride
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - minval
    - maxval
    argTypes:
    - double
    - double
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: uniform_random
    functionSourceFile: /src/cairo/test/random-intersections-eo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: 'static double uniform_random (double minval, double maxval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/random-intersections-eo.c:47,1
    - Dst: cairo_paint
      Src: /src/cairo/test/random-intersections-eo.c:48,1
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/test/random-intersections-eo.c:52,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/random-intersections-eo.c:54,1
    - Dst: cairo_translate
      Src: /src/cairo/test/random-intersections-eo.c:51,1
    - Dst: uniform_random
      Src: /src/cairo/test/random-intersections-eo.c:56,1
    - Dst: uniform_random
      Src: /src/cairo/test/random-intersections-eo.c:57,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/random-intersections-eo.c:58,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/random-intersections-eo.c:60,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/random-intersections-eo.c:62,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/random-intersections-eo.c:65,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/random-intersections-eo.c:64,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/random-intersections-eo.c:66,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/test/random-intersections-eo.c:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 69
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 69
    functionName: draw
    functionSourceFile: /src/cairo/test/random-intersections-eo.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - uniform_random
    - cairo_set_source_rgb
    - cairo_line_to
    - cairo_set_line_width
    - cairo_close_path
    - cairo_stroke
    - cairo_fill_preserve
    - cairo_translate
    - cairo_set_fill_rule
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/big-little-box.c:44,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/big-little-box.c:50,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/big-little-box.c:51,1
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/test/big-little-box.c:54,1
    - Dst: cairo_paint
      Src: /src/cairo/test/big-little-box.c:45,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/big-little-box.c:55,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/big-little-box.c:56,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/big-little-box.c:57,1
    - Dst: cairo_fill
      Src: /src/cairo/test/big-little-box.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 61
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 61
    functionName: draw
    functionSourceFile: /src/cairo/test/big-little-box.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_operator
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_set_fill_rule
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/arc-infinite-loop.c:43,1
    - Dst: cairo_paint
      Src: /src/cairo/test/arc-infinite-loop.c:44,1
    - Dst: cairo_arc
      Src: /src/cairo/test/arc-infinite-loop.c:47,1
    - Dst: cairo_arc
      Src: /src/cairo/test/arc-infinite-loop.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 53
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 53
    functionName: draw
    functionSourceFile: /src/cairo/test/arc-infinite-loop.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_arc
    - cairo_set_source_rgb
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/surface-pattern.c:41,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/surface-pattern.c:74,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/surface-pattern.c:77,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/surface-pattern.c:77,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/surface-pattern.c:49,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/surface-pattern.c:51,1
    - Dst: cairo_fill
      Src: /src/cairo/test/surface-pattern.c:55,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/surface-pattern.c:56,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/surface-pattern.c:57,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/surface-pattern.c:67,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/surface-pattern.c:62,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/surface-pattern.c:75,1
    - Dst: cairo_paint
      Src: /src/cairo/test/surface-pattern.c:78,1
    - Dst: cairo_paint
      Src: /src/cairo/test/surface-pattern.c:42,1
    - Dst: cairo_create
      Src: /src/cairo/test/surface-pattern.c:48,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/surface-pattern.c:46,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/surface-pattern.c:52,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/surface-pattern.c:61,1
    - Dst: cairo_rotate
      Src: /src/cairo/test/surface-pattern.c:73,1
    - Dst: cairo_fill
      Src: /src/cairo/test/surface-pattern.c:65,1
    - Dst: cairo_scale
      Src: /src/cairo/test/surface-pattern.c:72,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/surface-pattern.c:66,1
    - Dst: cairo_fill
      Src: /src/cairo/test/surface-pattern.c:60,1
    - Dst: cairo_fill
      Src: /src/cairo/test/surface-pattern.c:70,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/surface-pattern.c:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 40
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 81
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 81
    functionName: draw
    functionSourceFile: /src/cairo/test/surface-pattern.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_destroy
    - cairo_get_source
    - cairo_create
    - cairo_surface_destroy
    - cairo_pattern_set_extend
    - cairo_image_surface_create
    - cairo_scale
    - cairo_get_target
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_rotate
    - cairo_set_source_surface
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_paint_checkered
      Src: /src/cairo/test/radial-gradient-extend.c:47,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/test/radial-gradient-extend.c:52,1
    - Dst: cairo_pattern_create_radial
      Src: /src/cairo/test/radial-gradient-extend.c:49,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/test/radial-gradient-extend.c:51,1
    - Dst: cairo_translate
      Src: /src/cairo/test/radial-gradient-extend.c:54,1
    - Dst: cairo_save
      Src: /src/cairo/test/radial-gradient-extend.c:57,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/radial-gradient-extend.c:60,1
    - Dst: cairo_reset_clip
      Src: /src/cairo/test/radial-gradient-extend.c:62,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/radial-gradient-extend.c:63,1
    - Dst: cairo_clip
      Src: /src/cairo/test/radial-gradient-extend.c:64,1
    - Dst: cairo_paint
      Src: /src/cairo/test/radial-gradient-extend.c:71,1
    - Dst: cairo_restore
      Src: /src/cairo/test/radial-gradient-extend.c:77,1
    - Dst: cairo_translate
      Src: /src/cairo/test/radial-gradient-extend.c:74,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/radial-gradient-extend.c:67,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/radial-gradient-extend.c:81,1
    - Dst: cairo_mask
      Src: /src/cairo/test/radial-gradient-extend.c:68,1
    - Dst: cairo_translate
      Src: /src/cairo/test/radial-gradient-extend.c:78,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/radial-gradient-extend.c:70,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 84
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 84
    functionName: draw
    functionSourceFile: /src/cairo/test/radial-gradient-extend.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgb
    - cairo_test_paint_checkered
    - cairo_save
    - cairo_pattern_add_color_stop_rgb
    - cairo_mask
    - cairo_pattern_set_extend
    - cairo_set_source
    - cairo_pattern_create_radial
    - cairo_restore
    - cairo_translate
    - cairo_clip
    - cairo_reset_clip
    - cairo_pattern_destroy
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_operator
      Src: /src/cairo/test/clip-draw-unbounded.c:36,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-draw-unbounded.c:37,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-draw-unbounded.c:38,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/clip-draw-unbounded.c:40,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-draw-unbounded.c:41,1
    - Dst: cairo_arc
      Src: /src/cairo/test/clip-draw-unbounded.c:42,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/clip-draw-unbounded.c:43,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-draw-unbounded.c:44,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/clip-draw-unbounded.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 46
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 46
    functionName: stroke
    functionSourceFile: /src/cairo/test/clip-draw-unbounded.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_line_to
    - cairo_arc
    - cairo_stroke
    - cairo_set_operator
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: void
    signature: 'static void stroke (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_get_fill_rule
      Src: /src/cairo/test/clip-draw-unbounded.c:90,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-draw-unbounded.c:92,1
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/test/clip-draw-unbounded.c:91,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-draw-unbounded.c:94,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-draw-unbounded.c:93,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-draw-unbounded.c:95,1
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/test/clip-draw-unbounded.c:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 97
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 97
    functionName: clip_aligned
    functionSourceFile: /src/cairo/test/clip-draw-unbounded.c
    functionUses: []
    functionsReached:
    - cairo_set_fill_rule
    - cairo_clip
    - cairo_rectangle
    - cairo_get_fill_rule
    linkageType: ''
    returnType: void
    signature: 'static void clip_aligned (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-draw-unbounded.c:74,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-draw-unbounded.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: clip_simple
    functionSourceFile: /src/cairo/test/clip-draw-unbounded.c
    functionUses: []
    functionsReached:
    - cairo_clip
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void clip_simple (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-draw-unbounded.c:128,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-draw-unbounded.c:129,1
    - Dst: cairo_translate
      Src: /src/cairo/test/clip-draw-unbounded.c:132,1
    - Dst: cairo_save
      Src: /src/cairo/test/clip-draw-unbounded.c:134,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/clip-draw-unbounded.c:131,1
    - Dst: cairo_scale
      Src: /src/cairo/test/clip-draw-unbounded.c:135,1
    - Dst: shapes
      Src: /src/cairo/test/clip-draw-unbounded.c:137,1
    - Dst: cairo_restore
      Src: /src/cairo/test/clip-draw-unbounded.c:138,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - cr
    - (*shapes)
    argTypes:
    - cairo_t*
    - void
    constantsTouched: []
    func_position:
      end: 142
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 142
    functionName: draw
    functionSourceFile: /src/cairo/test/clip-draw-unbounded.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgb
    - ARRAY_LENGTH
    - cairo_save
    - cairo_scale
    - cairo_restore
    - shapes
    - cairo_translate
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, void (*shapes)(cairo_t
      *)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/test/clip-draw-unbounded.c:153,1
    - Dst: draw
      Src: /src/cairo/test/clip-draw-unbounded.c:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 155
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 155
    functionName: draw_fill_nz
    functionSourceFile: /src/cairo/test/clip-draw-unbounded.c
    functionUses: []
    functionsReached:
    - cairo_set_fill_rule
    - draw
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_fill_nz (cairo_t *cr, int width, int
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-draw-unbounded.c:81,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-draw-unbounded.c:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: clip_unaligned
    functionSourceFile: /src/cairo/test/clip-draw-unbounded.c
    functionUses: []
    functionsReached:
    - cairo_clip
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void clip_unaligned (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_operator
      Src: /src/cairo/test/clip-draw-unbounded.c:51,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/clip-draw-unbounded.c:55,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-draw-unbounded.c:56,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-draw-unbounded.c:53,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-draw-unbounded.c:52,1
    - Dst: cairo_new_sub_path
      Src: /src/cairo/test/clip-draw-unbounded.c:57,1
    - Dst: cairo_arc
      Src: /src/cairo/test/clip-draw-unbounded.c:58,1
    - Dst: cairo_new_sub_path
      Src: /src/cairo/test/clip-draw-unbounded.c:59,1
    - Dst: cairo_arc_negative
      Src: /src/cairo/test/clip-draw-unbounded.c:60,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/clip-draw-unbounded.c:62,1
    - Dst: cairo_fill
      Src: /src/cairo/test/clip-draw-unbounded.c:68,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-draw-unbounded.c:66,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-draw-unbounded.c:64,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-draw-unbounded.c:65,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-draw-unbounded.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 69
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 69
    functionName: fill
    functionSourceFile: /src/cairo/test/clip-draw-unbounded.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgb
    - cairo_line_to
    - cairo_arc
    - cairo_set_operator
    - cairo_fill
    - cairo_new_sub_path
    - cairo_arc_negative
    - cairo_move_to
    linkageType: ''
    returnType: void
    signature: 'static void fill (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_arc
      Src: /src/cairo/test/clip-draw-unbounded.c:102,1
    - Dst: cairo_arc_negative
      Src: /src/cairo/test/clip-draw-unbounded.c:104,1
    - Dst: cairo_new_sub_path
      Src: /src/cairo/test/clip-draw-unbounded.c:103,1
    - Dst: cairo_arc
      Src: /src/cairo/test/clip-draw-unbounded.c:106,1
    - Dst: cairo_new_sub_path
      Src: /src/cairo/test/clip-draw-unbounded.c:105,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-draw-unbounded.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: clip_mask
    functionSourceFile: /src/cairo/test/clip-draw-unbounded.c
    functionUses: []
    functionsReached:
    - cairo_arc
    - cairo_clip
    - cairo_arc_negative
    - cairo_new_sub_path
    linkageType: ''
    returnType: void
    signature: 'static void clip_mask (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw
      Src: /src/cairo/test/clip-draw-unbounded.c:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: draw_stroke
    functionSourceFile: /src/cairo/test/clip-draw-unbounded.c
    functionUses: []
    functionsReached:
    - draw
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_stroke (cairo_t *cr, int width, int
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/test/clip-draw-unbounded.c:160,1
    - Dst: draw
      Src: /src/cairo/test/clip-draw-unbounded.c:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 162
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 162
    functionName: draw_fill_eo
    functionSourceFile: /src/cairo/test/clip-draw-unbounded.c
    functionUses: []
    functionsReached:
    - cairo_set_fill_rule
    - draw
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_fill_eo (cairo_t *cr, int width, int
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_paint_checkered
      Src: /src/cairo/test/checkerboard.c:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: draw
    functionSourceFile: /src/cairo/test/checkerboard.c
    functionUses: []
    functionsReached:
    - cairo_test_paint_checkered
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/test/inverted-clip.c:33,1
    - Dst: cairo_paint
      Src: /src/cairo/test/inverted-clip.c:39,1
    - Dst: cairo_arc
      Src: /src/cairo/test/inverted-clip.c:36,1
    - Dst: cairo_clip_preserve
      Src: /src/cairo/test/inverted-clip.c:37,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/inverted-clip.c:34,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/inverted-clip.c:41,1
    - Dst: cairo_reset_clip
      Src: /src/cairo/test/inverted-clip.c:42,1
    - Dst: cairo_clip
      Src: /src/cairo/test/inverted-clip.c:43,1
    - Dst: cairo_paint
      Src: /src/cairo/test/inverted-clip.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 48
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 48
    functionName: draw
    functionSourceFile: /src/cairo/test/inverted-clip.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_arc
    - cairo_clip_preserve
    - cairo_set_source_rgb
    - cairo_set_fill_rule
    - cairo_clip
    - cairo_reset_clip
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_translate
      Src: /src/cairo/test/over-above-source.c:42,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/over-above-source.c:45,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/over-above-source.c:46,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/over-above-source.c:48,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/over-above-source.c:47,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/over-above-source.c:50,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/over-above-source.c:51,1
    - Dst: cairo_fill
      Src: /src/cairo/test/over-above-source.c:53,1
    - Dst: cairo_arc
      Src: /src/cairo/test/over-above-source.c:56,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/over-above-source.c:58,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/over-above-source.c:59,1
    - Dst: cairo_fill
      Src: /src/cairo/test/over-above-source.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 64
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 64
    functionName: draw
    functionSourceFile: /src/cairo/test/over-above-source.c
    functionUses: []
    functionsReached:
    - cairo_set_source_rgba
    - cairo_rel_line_to
    - cairo_arc
    - cairo_close_path
    - cairo_set_operator
    - cairo_fill
    - cairo_translate
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/world-map.c:64,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/world-map.c:76,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/world-map.c:80,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/world-map.c:110,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/world-map.c:99,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/world-map.c:66,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/world-map.c:84,1
    - Dst: cairo_fill
      Src: /src/cairo/test/world-map.c:68,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/world-map.c:83,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/world-map.c:87,1
    - Dst: cairo_get_current_point
      Src: /src/cairo/test/world-map.c:94,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/world-map.c:88,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/world-map.c:102,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/world-map.c:67,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/test/world-map.c:77,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/world-map.c:81,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/world-map.c:91,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/world-map.c:95,1
    - Dst: cairo_get_current_point
      Src: /src/cairo/test/world-map.c:98,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - mode
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 113
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 113
    functionName: draw_world_map
    functionSourceFile: /src/cairo/test/world-map.c
    functionUses: []
    functionsReached:
    - cairo_new_path
    - cairo_set_line_width
    - cairo_move_to
    - cairo_line_to
    - cairo_rel_line_to
    - cairo_close_path
    - cairo_stroke
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_get_current_point
    - cairo_fill_preserve
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_world_map (cairo_t *cr, int width,
      int height, int mode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw_world_map
      Src: /src/cairo/test/world-map.c:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: draw_world_map_fill
    functionSourceFile: /src/cairo/test/world-map.c
    functionUses: []
    functionsReached:
    - draw_world_map
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_world_map_fill (cairo_t *cr, int width,
      int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw_world_map
      Src: /src/cairo/test/world-map.c:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: draw_world_map_stroke
    functionSourceFile: /src/cairo/test/world-map.c
    functionUses: []
    functionsReached:
    - draw_world_map
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_world_map_stroke (cairo_t *cr, int
      width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw_world_map
      Src: /src/cairo/test/world-map.c:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: draw_world_map_both
    functionSourceFile: /src/cairo/test/world-map.c
    functionUses: []
    functionsReached:
    - draw_world_map
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_world_map_both (cairo_t *cr, int width,
      int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/big-line.c:30,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/big-line.c:35,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/big-line.c:34,1
    - Dst: cairo_paint
      Src: /src/cairo/test/big-line.c:31,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/big-line.c:33,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/big-line.c:36,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/big-line.c:38,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/big-line.c:39,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/big-line.c:40,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/big-line.c:41,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/big-line.c:46,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/big-line.c:49,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/big-line.c:50,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/big-line.c:43,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/big-line.c:51,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/big-line.c:45,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/big-line.c:48,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/big-line.c:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 54
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 54
    functionName: draw
    functionSourceFile: /src/cairo/test/big-line.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_rel_line_to
    - cairo_stroke
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/cairo/test/create-from-png-stream.c:40,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - closure
    - data
    - length
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 45
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 45
    functionName: read_png_from_file
    functionSourceFile: /src/cairo/test/create-from-png-stream.c
    functionUses: []
    functionsReached:
    - fread
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t read_png_from_file (void *closure, unsigned
      char *data, unsigned int length) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/test/create-from-png-stream.c:70,1
    - Dst: cairo_image_surface_create_from_png_stream
      Src: /src/cairo/test/create-from-png-stream.c:74,1
    - Dst: free
      Src: /src/cairo/test/create-from-png-stream.c:93,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/create-from-png-stream.c:87,1
    - Dst: cairo_surface_mark_dirty
      Src: /src/cairo/test/create-from-png-stream.c:102,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/create-from-png-stream.c:90,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/create-from-png-stream.c:104,1
    - Dst: fopen
      Src: /src/cairo/test/create-from-png-stream.c:59,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/create-from-png-stream.c:68,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/create-from-png-stream.c:79,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/create-from-png-stream.c:108,1
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/create-from-png-stream.c:50,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/create-from-png-stream.c:65,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/create-from-png-stream.c:83,1
    - Dst: cairo_surface_flush
      Src: /src/cairo/test/create-from-png-stream.c:101,1
    - Dst: cairo_pattern_set_filter
      Src: /src/cairo/test/create-from-png-stream.c:105,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/create-from-png-stream.c:105,1
    - Dst: xasprintf
      Src: /src/cairo/test/create-from-png-stream.c:56,1
    - Dst: fclose
      Src: /src/cairo/test/create-from-png-stream.c:77,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/create-from-png-stream.c:85,1
    - Dst: free
      Src: /src/cairo/test/create-from-png-stream.c:98,1
    - Dst: cairo_paint
      Src: /src/cairo/test/create-from-png-stream.c:106,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 111
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 111
    functionName: draw
    functionSourceFile: /src/cairo/test/create-from-png-stream.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - cairo_paint
    - cairo_image_surface_create_from_png_stream
    - cairo_surface_flush
    - cairo_test_status_from_status
    - cairo_test_get_context
    - free
    - xasprintf
    - fclose
    - cairo_surface_status
    - cairo_surface_mark_dirty
    - cairo_pattern_set_filter
    - cairo_surface_destroy
    - cairo_get_source
    - fopen
    - cairo_set_source_surface
    - cairo_status_to_string
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/text-cache-crash.c:68,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/text-cache-crash.c:75,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/text-cache-crash.c:74,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/text-cache-crash.c:70,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/text-cache-crash.c:72,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/text-cache-crash.c:76,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/text-cache-crash.c:81,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/text-cache-crash.c:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 85
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 85
    functionName: draw
    functionSourceFile: /src/cairo/test/text-cache-crash.c
    functionUses: []
    functionsReached:
    - cairo_set_font_size
    - cairo_move_to
    - cairo_select_font_face
    - cairo_show_text
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - scaled_font
    - cr
    - metrics
    argTypes:
    - cairo_scaled_font_t*
    - cairo_t*
    - cairo_font_extents_t*
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: test_scaled_font_init
    functionSourceFile: /src/cairo/test/user-font-color.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t test_scaled_font_init (cairo_scaled_font_t *scaled_font,\t\
      \t cairo_t *cr,\t\t cairo_font_extents_t *metrics) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/test/user-font-color.c:104,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/test/user-font-color.c:114,1
    - Dst: cairo_pattern_get_rgba
      Src: /src/cairo/test/user-font-color.c:109,1
    - Dst: cairo_user_scaled_font_get_foreground_source
      Src: /src/cairo/test/user-font-color.c:108,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/user-font-color.c:113,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/test/user-font-color.c:116,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/test/user-font-color.c:117,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/test/user-font-color.c:118,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/user-font-color.c:121,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/user-font-color.c:122,1
    - Dst: cairo_fill
      Src: /src/cairo/test/user-font-color.c:123,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 5
    argNames:
    - cr
    - width
    - height
    - color
    - scaled_font
    argTypes:
    - cairo_t*
    - double
    - double
    - cairo_bool_t
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 124
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 124
    functionName: render_glyph_linear
    functionSourceFile: /src/cairo/test/user-font-color.c
    functionUses: []
    functionsReached:
    - cairo_pattern_get_rgba
    - cairo_pattern_create_linear
    - cairo_pattern_add_color_stop_rgb
    - cairo_set_source
    - cairo_pattern_add_color_stop_rgba
    - cairo_fill
    - cairo_user_scaled_font_get_foreground_source
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void render_glyph_linear (cairo_t *cr, double width, double
      height, cairo_bool_t color, cairo_scaled_font_t *scaled_font) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pop_group_to_source
      Src: /src/cairo/test/user-font-color.c:188,1
    - Dst: render_glyph_linear
      Src: /src/cairo/test/user-font-color.c:193,1
    - Dst: cairo_paint
      Src: /src/cairo/test/user-font-color.c:195,1
    - Dst: render_glyph_text
      Src: /src/cairo/test/user-font-color.c:199,1
    - Dst: cairo_paint
      Src: /src/cairo/test/user-font-color.c:201,1
    - Dst: cairo_translate
      Src: /src/cairo/test/user-font-color.c:156,1
    - Dst: render_glyph_solid
      Src: /src/cairo/test/user-font-color.c:159,1
    - Dst: render_glyph_text
      Src: /src/cairo/test/user-font-color.c:171,1
    - Dst: cairo_pop_group_to_source
      Src: /src/cairo/test/user-font-color.c:176,1
    - Dst: cairo_pop_group_to_source
      Src: /src/cairo/test/user-font-color.c:182,1
    - Dst: render_glyph_solid
      Src: /src/cairo/test/user-font-color.c:162,1
    - Dst: cairo_paint
      Src: /src/cairo/test/user-font-color.c:189,1
    - Dst: cairo_push_group
      Src: /src/cairo/test/user-font-color.c:186,1
    - Dst: render_glyph_linear
      Src: /src/cairo/test/user-font-color.c:187,1
    - Dst: cairo_push_group
      Src: /src/cairo/test/user-font-color.c:180,1
    - Dst: cairo_pop_group_to_source
      Src: /src/cairo/test/user-font-color.c:194,1
    - Dst: cairo_pop_group_to_source
      Src: /src/cairo/test/user-font-color.c:200,1
    - Dst: render_glyph_linear
      Src: /src/cairo/test/user-font-color.c:165,1
    - Dst: render_glyph_linear
      Src: /src/cairo/test/user-font-color.c:168,1
    - Dst: cairo_push_group
      Src: /src/cairo/test/user-font-color.c:174,1
    - Dst: render_glyph_solid
      Src: /src/cairo/test/user-font-color.c:175,1
    - Dst: cairo_paint
      Src: /src/cairo/test/user-font-color.c:177,1
    - Dst: render_glyph_solid
      Src: /src/cairo/test/user-font-color.c:181,1
    - Dst: cairo_push_group
      Src: /src/cairo/test/user-font-color.c:192,1
    - Dst: cairo_paint
      Src: /src/cairo/test/user-font-color.c:183,1
    - Dst: cairo_push_group
      Src: /src/cairo/test/user-font-color.c:198,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 5
    argNames:
    - scaled_font
    - glyph
    - cr
    - metrics
    - color
    argTypes:
    - cairo_scaled_font_t*
    - unsigned long
    - cairo_t*
    - cairo_text_extents_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 206
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 206
    functionName: test_scaled_font_render_glyph_common
    functionSourceFile: /src/cairo/test/user-font-color.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_pop_group_to_source
    - render_glyph_linear
    - render_glyph_solid
    - cairo_translate
    - cairo_push_group
    - render_glyph_text
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t test_scaled_font_render_glyph_common (cairo_scaled_font_t
      *scaled_font, unsigned long glyph, cairo_t *cr, cairo_text_extents_t *metrics,
      cairo_bool_t color) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isupper
      Src: /src/cairo/test/user-font-color.c:227,1
    - Dst: test_scaled_font_render_glyph_common
      Src: /src/cairo/test/user-font-color.c:230,1
    - Dst: tolower
      Src: /src/cairo/test/user-font-color.c:228,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - scaled_font
    - glyph
    - cr
    - metrics
    argTypes:
    - cairo_scaled_font_t*
    - unsigned long
    - cairo_t*
    - cairo_text_extents_t*
    constantsTouched: []
    func_position:
      end: 231
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 231
    functionName: test_scaled_font_render_glyph_callback
    functionSourceFile: /src/cairo/test/user-font-color.c
    functionUses: []
    functionsReached:
    - tolower
    - isupper
    - test_scaled_font_render_glyph_common
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t test_scaled_font_render_glyph_callback (cairo_scaled_font_t
      *scaled_font, unsigned long glyph, cairo_t *cr, cairo_text_extents_t *metrics) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cairo/test/user-font-color.c:256,1
    - Dst: strchr
      Src: /src/cairo/test/user-font-color.c:260,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/user-font-color.c:262,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/user-font-color.c:261,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/user-font-color.c:265,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/user-font-color.c:266,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - cr
    - text
    - fg_text
    argTypes:
    - cairo_t*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 268
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 268
    functionName: draw_line
    functionSourceFile: /src/cairo/test/user-font-color.c
    functionUses: []
    functionsReached:
    - strchr
    - cairo_show_text
    - strlen
    - cairo_set_source_rgb
    linkageType: ''
    returnType: void
    signature: 'static void draw_line (cairo_t *cr, const char *text, const char *fg_text) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/user-font-color.c:75,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/user-font-color.c:81,1
    - Dst: cairo_fill
      Src: /src/cairo/test/user-font-color.c:77,1
    - Dst: cairo_user_scaled_font_get_foreground_marker
      Src: /src/cairo/test/user-font-color.c:81,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/user-font-color.c:76,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/user-font-color.c:83,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/user-font-color.c:85,1
    - Dst: cairo_fill
      Src: /src/cairo/test/user-font-color.c:86,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/user-font-color.c:89,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/user-font-color.c:90,1
    - Dst: cairo_fill
      Src: /src/cairo/test/user-font-color.c:91,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 5
    argNames:
    - cr
    - width
    - height
    - color
    - scaled_font
    argTypes:
    - cairo_t*
    - double
    - double
    - cairo_bool_t
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 92
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 92
    functionName: render_glyph_solid
    functionSourceFile: /src/cairo/test/user-font-color.c
    functionUses: []
    functionsReached:
    - cairo_user_scaled_font_get_foreground_marker
    - cairo_set_source_rgba
    - cairo_set_source
    - cairo_fill
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void render_glyph_solid (cairo_t *cr, double width, double
      height, cairo_bool_t color, cairo_scaled_font_t *scaled_font) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/user-font-color.c:129,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/user-font-color.c:135,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/user-font-color.c:137,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/user-font-color.c:136,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/user-font-color.c:132,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/user-font-color.c:140,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/user-font-color.c:141,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/user-font-color.c:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - color
    argTypes:
    - cairo_t*
    - double
    - double
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 143
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 143
    functionName: render_glyph_text
    functionSourceFile: /src/cairo/test/user-font-color.c
    functionUses: []
    functionsReached:
    - cairo_show_text
    - cairo_set_font_size
    - cairo_select_font_face
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: void
    signature: 'static void render_glyph_text (cairo_t *cr, double width, double height,
      cairo_bool_t color) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isupper
      Src: /src/cairo/test/user-font-color.c:214,1
    - Dst: test_scaled_font_render_glyph_common
      Src: /src/cairo/test/user-font-color.c:217,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - scaled_font
    - glyph
    - cr
    - metrics
    argTypes:
    - cairo_scaled_font_t*
    - unsigned long
    - cairo_t*
    - cairo_text_extents_t*
    constantsTouched: []
    func_position:
      end: 218
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 218
    functionName: test_scaled_font_render_color_glyph_callback
    functionSourceFile: /src/cairo/test/user-font-color.c
    functionUses: []
    functionsReached:
    - isupper
    - test_scaled_font_render_glyph_common
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t test_scaled_font_render_color_glyph_callback
      (cairo_scaled_font_t *scaled_font, unsigned long glyph, cairo_t *cr, cairo_text_extents_t
      *metrics) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_user_font_face_create
      Src: /src/cairo/test/user-font-color.c:239,1
    - Dst: cairo_user_font_face_set_render_color_glyph_func
      Src: /src/cairo/test/user-font-color.c:241,1
    - Dst: cairo_user_font_face_set_init_func
      Src: /src/cairo/test/user-font-color.c:240,1
    - Dst: cairo_user_font_face_set_render_glyph_func
      Src: /src/cairo/test/user-font-color.c:243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - out
    argTypes:
    - cairo_font_face_t**
    constantsTouched: []
    func_position:
      end: 248
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 248
    functionName: _user_font_face_create
    functionSourceFile: /src/cairo/test/user-font-color.c
    functionUses: []
    functionsReached:
    - cairo_user_font_face_set_init_func
    - cairo_user_font_face_set_render_color_glyph_func
    - cairo_user_font_face_create
    - cairo_user_font_face_set_render_glyph_func
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _user_font_face_create (cairo_font_face_t **out) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/user-font-color.c:280,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/user-font-color.c:292,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/user-font-color.c:313,1
    - Dst: draw_line
      Src: /src/cairo/test/user-font-color.c:322,1
    - Dst: cairo_text_path
      Src: /src/cairo/test/user-font-color.c:333,1
    - Dst: cairo_fill
      Src: /src/cairo/test/user-font-color.c:334,1
    - Dst: cairo_font_options_set_color_mode
      Src: /src/cairo/test/user-font-color.c:339,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/user-font-color.c:327,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/user-font-color.c:343,1
    - Dst: cairo_font_extents
      Src: /src/cairo/test/user-font-color.c:294,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/user-font-color.c:301,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/user-font-color.c:300,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/user-font-color.c:317,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/user-font-color.c:318,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/user-font-color.c:321,1
    - Dst: draw_line
      Src: /src/cairo/test/user-font-color.c:328,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/user-font-color.c:331,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/user-font-color.c:332,1
    - Dst: cairo_set_font_options
      Src: /src/cairo/test/user-font-color.c:340,1
    - Dst: draw_line
      Src: /src/cairo/test/user-font-color.c:344,1
    - Dst: cairo_paint
      Src: /src/cairo/test/user-font-color.c:281,1
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/user-font-color.c:285,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/user-font-color.c:285,1
    - Dst: cairo_set_font_face
      Src: /src/cairo/test/user-font-color.c:289,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/user-font-color.c:290,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/user-font-color.c:299,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/user-font-color.c:306,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/user-font-color.c:307,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/user-font-color.c:309,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/user-font-color.c:310,1
    - Dst: cairo_font_options_destroy
      Src: /src/cairo/test/user-font-color.c:341,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/user-font-color.c:316,1
    - Dst: _user_font_face_create
      Src: /src/cairo/test/user-font-color.c:283,1
    - Dst: cairo_text_extents
      Src: /src/cairo/test/user-font-color.c:295,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/user-font-color.c:304,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/user-font-color.c:298,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/user-font-color.c:303,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/user-font-color.c:305,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/user-font-color.c:302,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/user-font-color.c:308,1
    - Dst: cairo_font_options_create
      Src: /src/cairo/test/user-font-color.c:337,1
    - Dst: cairo_get_font_options
      Src: /src/cairo/test/user-font-color.c:338,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 72
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 347
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 347
    functionName: draw
    functionSourceFile: /src/cairo/test/user-font-color.c
    functionUses: []
    functionsReached:
    - cairo_set_font_options
    - cairo_set_line_width
    - _user_font_face_create
    - cairo_text_path
    - cairo_rectangle
    - draw_line
    - cairo_font_options_destroy
    - cairo_font_options_set_color_mode
    - cairo_font_options_create
    - cairo_test_get_context
    - cairo_get_font_options
    - cairo_test_status_from_status
    - cairo_font_face_destroy
    - cairo_font_extents
    - cairo_rel_line_to
    - cairo_stroke
    - cairo_fill
    - cairo_text_extents
    - cairo_paint
    - cairo_set_font_face
    - cairo_set_font_size
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/extend-pad.c:40,1
    - Dst: cairo_fill
      Src: /src/cairo/test/extend-pad.c:52,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/extend-pad.c:55,1
    - Dst: cairo_fill
      Src: /src/cairo/test/extend-pad.c:62,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/extend-pad.c:68,1
    - Dst: cairo_paint
      Src: /src/cairo/test/extend-pad.c:70,1
    - Dst: cairo_fill
      Src: /src/cairo/test/extend-pad.c:47,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/extend-pad.c:50,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/extend-pad.c:56,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/extend-pad.c:42,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/extend-pad.c:45,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/extend-pad.c:51,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/extend-pad.c:65,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/extend-pad.c:61,1
    - Dst: cairo_create
      Src: /src/cairo/test/extend-pad.c:41,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/extend-pad.c:46,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/extend-pad.c:60,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/extend-pad.c:65,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/extend-pad.c:69,1
    - Dst: cairo_fill
      Src: /src/cairo/test/extend-pad.c:57,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/extend-pad.c:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 73
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 73
    functionName: draw
    functionSourceFile: /src/cairo/test/extend-pad.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_get_source
    - cairo_create
    - cairo_surface_destroy
    - cairo_pattern_set_extend
    - cairo_image_surface_create
    - cairo_get_target
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_destroy
    - cairo_set_source_surface
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_create
      Src: /src/cairo/test/surface-source.c:44,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/surface-source.c:48,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/surface-source.c:57,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/surface-source.c:71,1
    - Dst: cairo_fill
      Src: /src/cairo/test/surface-source.c:70,1
    - Dst: cairo_fill
      Src: /src/cairo/test/surface-source.c:75,1
    - Dst: cairo_clip
      Src: /src/cairo/test/surface-source.c:79,1
    - Dst: cairo_fill
      Src: /src/cairo/test/surface-source.c:86,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/surface-source.c:92,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/surface-source.c:93,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/surface-source.c:45,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/surface-source.c:47,1
    - Dst: cairo_clip
      Src: /src/cairo/test/surface-source.c:53,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/surface-source.c:56,1
    - Dst: cairo_reset_clip
      Src: /src/cairo/test/surface-source.c:77,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/surface-source.c:82,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/surface-source.c:87,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/surface-source.c:88,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/surface-source.c:98,1
    - Dst: cairo_fill
      Src: /src/cairo/test/surface-source.c:101,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/surface-source.c:105,1
    - Dst: cairo_paint
      Src: /src/cairo/test/surface-source.c:49,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/surface-source.c:66,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/surface-source.c:62,1
    - Dst: cairo_fill
      Src: /src/cairo/test/surface-source.c:65,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/surface-source.c:67,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/surface-source.c:61,1
    - Dst: cairo_fill
      Src: /src/cairo/test/surface-source.c:60,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/surface-source.c:72,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/surface-source.c:78,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/surface-source.c:83,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/surface-source.c:51,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/surface-source.c:52,1
    - Dst: cairo_fill
      Src: /src/cairo/test/surface-source.c:91,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/surface-source.c:97,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/surface-source.c:104,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/test/surface-source.c:104,1
    - Dst: cairo_fill
      Src: /src/cairo/test/surface-source.c:96,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 79
    argCount: 2
    argNames:
    - surface_inout
    - surface_size
    argTypes:
    - cairo_surface_t**
    - int
    constantsTouched: []
    func_position:
      end: 106
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 106
    functionName: draw_pattern
    functionSourceFile: /src/cairo/test/surface-source.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgba
    - cairo_destroy
    - cairo_surface_reference
    - cairo_create
    - cairo_surface_destroy
    - cairo_set_operator
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_get_target
    - cairo_clip
    - cairo_reset_clip
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void draw_pattern (cairo_surface_t **surface_inout, int surface_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: create_source_surface
      Src: /src/cairo/test/surface-source.c:160,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/surface-source.c:166,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/surface-source.c:168,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/surface-source.c:165,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/surface-source.c:164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - cairo_test_context_t*
    constantsTouched: []
    func_position:
      end: 169
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 169
    functionName: preamble
    functionSourceFile: /src/cairo/test/surface-source.c
    functionUses: []
    functionsReached:
    - cairo_surface_finish
    - cairo_test_status_from_status
    - cairo_surface_status
    - cairo_surface_destroy
    - create_source_surface
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t preamble (cairo_test_context_t *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/surface-source.c:116,1
    - Dst: create_source_surface
      Src: /src/cairo/test/surface-source.c:119,1
    - Dst: cairo_create
      Src: /src/cairo/test/surface-source.c:129,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/surface-source.c:146,1
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/surface-source.c:150,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/surface-source.c:130,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/surface-source.c:140,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/surface-source.c:137,1
    - Dst: draw_pattern
      Src: /src/cairo/test/surface-source.c:123,1
    - Dst: cairo_paint
      Src: /src/cairo/test/surface-source.c:117,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/surface-source.c:137,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/surface-source.c:141,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/surface-source.c:148,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/surface-source.c:150,1
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/surface-source.c:126,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/surface-source.c:131,1
    - Dst: cairo_paint
      Src: /src/cairo/test/surface-source.c:134,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/surface-source.c:142,1
    - Dst: cairo_fill
      Src: /src/cairo/test/surface-source.c:143,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/surface-source.c:147,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 152
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 152
    functionName: draw
    functionSourceFile: /src/cairo/test/surface-source.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - draw_pattern
    - cairo_surface_finish
    - cairo_destroy
    - cairo_test_status_from_status
    - cairo_test_get_context
    - cairo_surface_status
    - cairo_create
    - cairo_surface_destroy
    - cairo_get_target
    - cairo_set_operator
    - cairo_set_source_rgb
    - create_source_surface
    - cairo_fill
    - cairo_surface_create_similar
    - cairo_set_source_surface
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/twin-antialias-mixed.c:32,1
    - Dst: cairo_font_options_set_antialias
      Src: /src/cairo/test/twin-antialias-mixed.c:38,1
    - Dst: cairo_set_font_options
      Src: /src/cairo/test/twin-antialias-mixed.c:39,1
    - Dst: cairo_font_options_create
      Src: /src/cairo/test/twin-antialias-mixed.c:37,1
    - Dst: cairo_font_options_destroy
      Src: /src/cairo/test/twin-antialias-mixed.c:40,1
    - Dst: cairo_scaled_font_reference
      Src: /src/cairo/test/twin-antialias-mixed.c:42,1
    - Dst: cairo_get_scaled_font
      Src: /src/cairo/test/twin-antialias-mixed.c:42,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 43
    functionName: create_twin
    functionSourceFile: /src/cairo/test/twin-antialias-mixed.c
    functionUses: []
    functionsReached:
    - cairo_font_options_destroy
    - cairo_set_font_options
    - cairo_font_options_create
    - cairo_get_scaled_font
    - cairo_select_font_face
    - cairo_font_options_set_antialias
    - cairo_scaled_font_reference
    linkageType: ''
    returnType: cairo_scaled_font_t*
    signature: 'static cairo_scaled_font_t *create_twin (cairo_t *cr, cairo_antialias_t
      antialias) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/twin-antialias-mixed.c:51,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/twin-antialias-mixed.c:55,1
    - Dst: cairo_paint
      Src: /src/cairo/test/twin-antialias-mixed.c:52,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/twin-antialias-mixed.c:60,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/twin-antialias-mixed.c:64,1
    - Dst: cairo_set_scaled_font
      Src: /src/cairo/test/twin-antialias-mixed.c:69,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/twin-antialias-mixed.c:74,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/twin-antialias-mixed.c:76,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/twin-antialias-mixed.c:80,1
    - Dst: create_twin
      Src: /src/cairo/test/twin-antialias-mixed.c:57,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/twin-antialias-mixed.c:62,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/twin-antialias-mixed.c:68,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/twin-antialias-mixed.c:72,1
    - Dst: cairo_set_scaled_font
      Src: /src/cairo/test/twin-antialias-mixed.c:65,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/twin-antialias-mixed.c:78,1
    - Dst: cairo_set_scaled_font
      Src: /src/cairo/test/twin-antialias-mixed.c:81,1
    - Dst: cairo_scaled_font_destroy
      Src: /src/cairo/test/twin-antialias-mixed.c:86,1
    - Dst: cairo_set_scaled_font
      Src: /src/cairo/test/twin-antialias-mixed.c:63,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/twin-antialias-mixed.c:70,1
    - Dst: cairo_set_scaled_font
      Src: /src/cairo/test/twin-antialias-mixed.c:73,1
    - Dst: cairo_set_scaled_font
      Src: /src/cairo/test/twin-antialias-mixed.c:79,1
    - Dst: cairo_scaled_font_destroy
      Src: /src/cairo/test/twin-antialias-mixed.c:85,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/twin-antialias-mixed.c:53,1
    - Dst: create_twin
      Src: /src/cairo/test/twin-antialias-mixed.c:56,1
    - Dst: create_twin
      Src: /src/cairo/test/twin-antialias-mixed.c:58,1
    - Dst: cairo_set_scaled_font
      Src: /src/cairo/test/twin-antialias-mixed.c:61,1
    - Dst: cairo_set_scaled_font
      Src: /src/cairo/test/twin-antialias-mixed.c:71,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/twin-antialias-mixed.c:66,1
    - Dst: cairo_set_scaled_font
      Src: /src/cairo/test/twin-antialias-mixed.c:77,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/twin-antialias-mixed.c:82,1
    - Dst: cairo_scaled_font_destroy
      Src: /src/cairo/test/twin-antialias-mixed.c:84,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 89
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 89
    functionName: draw
    functionSourceFile: /src/cairo/test/twin-antialias-mixed.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_scaled_font_destroy
    - cairo_show_text
    - cairo_set_font_size
    - create_twin
    - cairo_set_scaled_font
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_log
      Src: /src/cairo/test/get-clip.c:34,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/get-clip.c:41,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/get-clip.c:35,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - message
    - list
    - expected
    argTypes:
    - cairo_test_context_t*
    - char*
    - cairo_rectangle_list_t*
    - int
    constantsTouched: []
    func_position:
      end: 44
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 44
    functionName: check_count
    functionSourceFile: /src/cairo/test/get-clip.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - cairo_status_to_string
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t check_count (const cairo_test_context_t *ctx,\t\
      \ const char *message, cairo_rectangle_list_t *list, int expected) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_log
      Src: /src/cairo/test/get-clip.c:71,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 7
    argNames:
    - ctx
    - message
    - list
    - x
    - y
    - width
    - height
    argTypes:
    - cairo_test_context_t*
    - char*
    - cairo_rectangle_list_t*
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 74
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 74
    functionName: check_rectangles_contain
    functionSourceFile: /src/cairo/test/get-clip.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t check_rectangles_contain (const cairo_test_context_t\
      \ *ctx,\t\t\t const char *message, cairo_rectangle_list_t *list, double x, double\
      \ y, double width, double height) "
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: cairo_clip
      Src: /src/cairo/test/get-clip.c:192,1
    - Dst: cairo_restore
      Src: /src/cairo/test/get-clip.c:233,1
    - Dst: cairo_rectangle_list_destroy
      Src: /src/cairo/test/get-clip.c:248,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/get-clip.c:190,1
    - Dst: cairo_rectangle_list_destroy
      Src: /src/cairo/test/get-clip.c:182,1
    - Dst: cairo_save
      Src: /src/cairo/test/get-clip.c:125,1
    - Dst: cairo_clip
      Src: /src/cairo/test/get-clip.c:142,1
    - Dst: check_count
      Src: /src/cairo/test/get-clip.c:144,1
    - Dst: cairo_rectangle_list_destroy
      Src: /src/cairo/test/get-clip.c:200,1
    - Dst: cairo_restore
      Src: /src/cairo/test/get-clip.c:223,1
    - Dst: check_clip_extents
      Src: /src/cairo/test/get-clip.c:210,1
    - Dst: cairo_rectangle_list_destroy
      Src: /src/cairo/test/get-clip.c:215,1
    - Dst: cairo_scale
      Src: /src/cairo/test/get-clip.c:221,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/get-clip.c:126,1
    - Dst: check_rectangles_contain
      Src: /src/cairo/test/get-clip.c:146,1
    - Dst: cairo_copy_clip_rectangle_list
      Src: /src/cairo/test/get-clip.c:174,1
    - Dst: check_clip_extents
      Src: /src/cairo/test/get-clip.c:196,1
    - Dst: cairo_copy_clip_rectangle_list
      Src: /src/cairo/test/get-clip.c:242,1
    - Dst: check_unrepresentable
      Src: /src/cairo/test/get-clip.c:243,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/get-clip.c:170,1
    - Dst: cairo_rectangle_list_destroy
      Src: /src/cairo/test/get-clip.c:163,1
    - Dst: check_clip_extents
      Src: /src/cairo/test/get-clip.c:115,1
    - Dst: cairo_save
      Src: /src/cairo/test/get-clip.c:155,1
    - Dst: cairo_create
      Src: /src/cairo/test/get-clip.c:106,1
    - Dst: cairo_clip
      Src: /src/cairo/test/get-clip.c:207,1
    - Dst: check_count
      Src: /src/cairo/test/get-clip.c:209,1
    - Dst: cairo_save
      Src: /src/cairo/test/get-clip.c:237,1
    - Dst: cairo_rectangle_list_destroy
      Src: /src/cairo/test/get-clip.c:120,1
    - Dst: check_clip_extents
      Src: /src/cairo/test/get-clip.c:130,1
    - Dst: cairo_rectangle_list_destroy
      Src: /src/cairo/test/get-clip.c:135,1
    - Dst: cairo_save
      Src: /src/cairo/test/get-clip.c:204,1
    - Dst: cairo_save
      Src: /src/cairo/test/get-clip.c:219,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/get-clip.c:189,1
    - Dst: cairo_copy_clip_rectangle_list
      Src: /src/cairo/test/get-clip.c:225,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/get-clip.c:250,1
    - Dst: check_count
      Src: /src/cairo/test/get-clip.c:114,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/get-clip.c:172,1
    - Dst: cairo_save
      Src: /src/cairo/test/get-clip.c:187,1
    - Dst: cairo_status
      Src: /src/cairo/test/get-clip.c:249,1
    - Dst: check_rectangles_contain
      Src: /src/cairo/test/get-clip.c:178,1
    - Dst: check_clip_extents
      Src: /src/cairo/test/get-clip.c:176,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/get-clip.c:191,1
    - Dst: check_rectangles_contain
      Src: /src/cairo/test/get-clip.c:211,1
    - Dst: check_clip_extents
      Src: /src/cairo/test/get-clip.c:227,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/get-clip.c:107,1
    - Dst: cairo_copy_clip_rectangle_list
      Src: /src/cairo/test/get-clip.c:143,1
    - Dst: cairo_restore
      Src: /src/cairo/test/get-clip.c:151,1
    - Dst: cairo_copy_clip_rectangle_list
      Src: /src/cairo/test/get-clip.c:157,1
    - Dst: cairo_rectangle_list_destroy
      Src: /src/cairo/test/get-clip.c:232,1
    - Dst: cairo_clip
      Src: /src/cairo/test/get-clip.c:127,1
    - Dst: check_count
      Src: /src/cairo/test/get-clip.c:129,1
    - Dst: cairo_save
      Src: /src/cairo/test/get-clip.c:168,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/get-clip.c:239,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/get-clip.c:255,1
    - Dst: check_clip_extents
      Src: /src/cairo/test/get-clip.c:159,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/get-clip.c:169,1
    - Dst: cairo_clip
      Src: /src/cairo/test/get-clip.c:171,1
    - Dst: cairo_scale
      Src: /src/cairo/test/get-clip.c:205,1
    - Dst: check_unrepresentable
      Src: /src/cairo/test/get-clip.c:195,1
    - Dst: cairo_clip
      Src: /src/cairo/test/get-clip.c:224,1
    - Dst: cairo_restore
      Src: /src/cairo/test/get-clip.c:183,1
    - Dst: cairo_copy_clip_rectangle_list
      Src: /src/cairo/test/get-clip.c:208,1
    - Dst: check_count
      Src: /src/cairo/test/get-clip.c:226,1
    - Dst: cairo_restore
      Src: /src/cairo/test/get-clip.c:201,1
    - Dst: cairo_save
      Src: /src/cairo/test/get-clip.c:140,1
    - Dst: check_clip_extents
      Src: /src/cairo/test/get-clip.c:145,1
    - Dst: check_count
      Src: /src/cairo/test/get-clip.c:175,1
    - Dst: cairo_restore
      Src: /src/cairo/test/get-clip.c:216,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/get-clip.c:188,1
    - Dst: cairo_copy_clip_rectangle_list
      Src: /src/cairo/test/get-clip.c:193,1
    - Dst: cairo_copy_clip_rectangle_list
      Src: /src/cairo/test/get-clip.c:113,1
    - Dst: check_rectangles_contain
      Src: /src/cairo/test/get-clip.c:116,1
    - Dst: check_rectangles_contain
      Src: /src/cairo/test/get-clip.c:131,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/get-clip.c:141,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/get-clip.c:222,1
    - Dst: cairo_save
      Src: /src/cairo/test/get-clip.c:236,1
    - Dst: cairo_clip
      Src: /src/cairo/test/get-clip.c:241,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/get-clip.c:105,1
    - Dst: cairo_rectangle_list_destroy
      Src: /src/cairo/test/get-clip.c:150,1
    - Dst: cairo_clip
      Src: /src/cairo/test/get-clip.c:156,1
    - Dst: check_count
      Src: /src/cairo/test/get-clip.c:158,1
    - Dst: cairo_restore
      Src: /src/cairo/test/get-clip.c:164,1
    - Dst: cairo_clip
      Src: /src/cairo/test/get-clip.c:173,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/get-clip.c:206,1
    - Dst: cairo_save
      Src: /src/cairo/test/get-clip.c:220,1
    - Dst: cairo_copy_clip_rectangle_list
      Src: /src/cairo/test/get-clip.c:128,1
    - Dst: cairo_restore
      Src: /src/cairo/test/get-clip.c:136,1
    - Dst: cairo_restore
      Src: /src/cairo/test/get-clip.c:240,1
    - Dst: check_rectangles_contain
      Src: /src/cairo/test/get-clip.c:177,1
    - Dst: check_rectangles_contain
      Src: /src/cairo/test/get-clip.c:228,1
    - Dst: cairo_rotate
      Src: /src/cairo/test/get-clip.c:238,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 164
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - cairo_test_context_t*
    constantsTouched: []
    func_position:
      end: 256
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 256
    functionName: preamble
    functionSourceFile: /src/cairo/test/get-clip.c
    functionUses: []
    functionsReached:
    - cairo_copy_clip_rectangle_list
    - check_rectangles_contain
    - check_clip_extents
    - cairo_close_path
    - cairo_rectangle
    - cairo_create
    - cairo_save
    - cairo_status
    - cairo_clip
    - cairo_test_status_from_status
    - cairo_line_to
    - cairo_restore
    - cairo_rotate
    - check_count
    - cairo_destroy
    - cairo_surface_destroy
    - cairo_image_surface_create
    - cairo_scale
    - cairo_rectangle_list_destroy
    - check_unrepresentable
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t preamble (cairo_test_context_t *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_log
      Src: /src/cairo/test/get-clip.c:50,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/get-clip.c:52,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - message
    - list
    argTypes:
    - cairo_test_context_t*
    - char*
    - cairo_rectangle_list_t*
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: check_unrepresentable
    functionSourceFile: /src/cairo/test/get-clip.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - cairo_status_to_string
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t check_unrepresentable (const cairo_test_context_t
      *ctx, const char *message, cairo_rectangle_list_t *list) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_clip_extents
      Src: /src/cairo/test/get-clip.c:82,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/get-clip.c:87,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 7
    argNames:
    - ctx
    - message
    - cr
    - x
    - y
    - width
    - height
    argTypes:
    - cairo_test_context_t*
    - char*
    - cairo_t*
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: check_clip_extents
    functionSourceFile: /src/cairo/test/get-clip.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - cairo_clip_extents
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t check_clip_extents (const cairo_test_context_t\
      \ *ctx,\t\t const char *message, cairo_t *cr, double x, double y, double width,\
      \ double height) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/cairo/test/cairo-test-trace.c:525,1
    - Dst: writen
      Src: /src/cairo/test/cairo-test-trace.c:536,1
    - Dst: memset
      Src: /src/cairo/test/cairo-test-trace.c:529,1
    - Dst: strcpy
      Src: /src/cairo/test/cairo-test-trace.c:531,1
    - Dst: connect
      Src: /src/cairo/test/cairo-test-trace.c:533,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - socket_path
    - pid
    argTypes:
    - char*
    - pid_t
    constantsTouched: []
    func_position:
      end: 540
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 540
    functionName: spawn_socket
    functionSourceFile: /src/cairo/test/cairo-test-trace.c
    functionUses: []
    functionsReached:
    - writen
    - socket
    - strcpy
    - connect
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int spawn_socket (const char *socket_path, pid_t pid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/cairo-test-trace.c:635,1
    - Dst: free
      Src: /src/cairo/test/cairo-test-trace.c:639,1
    - Dst: close
      Src: /src/cairo/test/cairo-test-trace.c:638,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/cairo-test-trace.c:636,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 640
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 640
    functionName: cleanup_recorder
    functionSourceFile: /src/cairo/test/cairo-test-trace.c
    functionUses: []
    functionsReached:
    - free
    - close
    - cairo_surface_finish
    - cairo_surface_destroy
    linkageType: ''
    returnType: void
    signature: 'static void cleanup_recorder (void *arg) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_get_width
      Src: /src/cairo/test/cairo-test-trace.c:734,1
    - Dst: cairo_image_surface_get_width
      Src: /src/cairo/test/cairo-test-trace.c:734,1
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/test/cairo-test-trace.c:757,1
    - Dst: cairo_image_surface_get_format
      Src: /src/cairo/test/cairo-test-trace.c:758,1
    - Dst: abs
      Src: /src/cairo/test/cairo-test-trace.c:842,1
    - Dst: cairo_image_surface_get_width
      Src: /src/cairo/test/cairo-test-trace.c:781,1
    - Dst: cairo_image_surface_get_format
      Src: /src/cairo/test/cairo-test-trace.c:787,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/cairo-test-trace.c:725,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/cairo-test-trace.c:725,1
    - Dst: cairo_image_surface_get_height
      Src: /src/cairo/test/cairo-test-trace.c:737,1
    - Dst: cairo_image_surface_get_height
      Src: /src/cairo/test/cairo-test-trace.c:737,1
    - Dst: cairo_image_surface_get_height
      Src: /src/cairo/test/cairo-test-trace.c:750,1
    - Dst: cairo_image_surface_get_stride
      Src: /src/cairo/test/cairo-test-trace.c:751,1
    - Dst: cairo_image_surface_get_width
      Src: /src/cairo/test/cairo-test-trace.c:749,1
    - Dst: cairo_surface_set_user_data
      Src: /src/cairo/test/cairo-test-trace.c:760,1
    - Dst: image_diff_is_failure
      Src: /src/cairo/test/cairo-test-trace.c:769,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/cairo-test-trace.c:773,1
    - Dst: cairo_image_surface_get_height
      Src: /src/cairo/test/cairo-test-trace.c:782,1
    - Dst: cairo_surface_get_type
      Src: /src/cairo/test/cairo-test-trace.c:728,1
    - Dst: cairo_surface_get_type
      Src: /src/cairo/test/cairo-test-trace.c:728,1
    - Dst: cairo_image_surface_get_stride
      Src: /src/cairo/test/cairo-test-trace.c:740,1
    - Dst: cairo_surface_get_content
      Src: /src/cairo/test/cairo-test-trace.c:743,1
    - Dst: cairo_image_surface_get_stride
      Src: /src/cairo/test/cairo-test-trace.c:740,1
    - Dst: malloc
      Src: /src/cairo/test/cairo-test-trace.c:753,1
    - Dst: cairo_image_surface_get_data
      Src: /src/cairo/test/cairo-test-trace.c:785,1
    - Dst: abs
      Src: /src/cairo/test/cairo-test-trace.c:827,1
    - Dst: abs
      Src: /src/cairo/test/cairo-test-trace.c:802,1
    - Dst: cairo_image_surface_get_stride
      Src: /src/cairo/test/cairo-test-trace.c:783,1
    - Dst: cairo_image_surface_get_format
      Src: /src/cairo/test/cairo-test-trace.c:731,1
    - Dst: cairo_image_surface_get_format
      Src: /src/cairo/test/cairo-test-trace.c:731,1
    - Dst: image_diff
      Src: /src/cairo/test/cairo-test-trace.c:763,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/cairo-test-trace.c:765,1
    - Dst: assert
      Src: /src/cairo/test/cairo-test-trace.c:867,1
    - Dst: cairo_image_surface_get_data
      Src: /src/cairo/test/cairo-test-trace.c:786,1
    - Dst: memcmp
      Src: /src/cairo/test/cairo-test-trace.c:855,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 140
    argCount: 1
    argNames:
    - slave
    argTypes:
    - struct slave*
    constantsTouched: []
    func_position:
      end: 872
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 872
    functionName: matches_reference
    functionSourceFile: /src/cairo/test/cairo-test-trace.c
    functionUses: []
    functionsReached:
    - malloc
    - image_diff_is_failure
    - cairo_image_surface_get_format
    - cairo_surface_set_user_data
    - image_diff
    - cairo_image_surface_get_data
    - cairo_surface_status
    - cairo_image_surface_create_for_data
    - memcmp
    - cairo_image_surface_get_height
    - cairo_surface_destroy
    - abs
    - assert
    - cairo_surface_get_content
    - cairo_image_surface_get_width
    - cairo_image_surface_get_stride
    - cairo_surface_get_type
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t matches_reference (struct slave *slave) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xstrdup
      Src: /src/cairo/test/cairo-test-trace.c:1468,1
    - Dst: printf
      Src: /src/cairo/test/cairo-test-trace.c:1480,1
    - Dst: printf
      Src: /src/cairo/test/cairo-test-trace.c:1475,1
    - Dst: basename
      Src: /src/cairo/test/cairo-test-trace.c:1469,1
    - Dst: strchr
      Src: /src/cairo/test/cairo-test-trace.c:1470,1
    - Dst: fflush
      Src: /src/cairo/test/cairo-test-trace.c:1481,1
    - Dst: _test_trace
      Src: /src/cairo/test/cairo-test-trace.c:1483,1
    - Dst: printf
      Src: /src/cairo/test/cairo-test-trace.c:1485,1
    - Dst: printf
      Src: /src/cairo/test/cairo-test-trace.c:1488,1
    - Dst: printf
      Src: /src/cairo/test/cairo-test-trace.c:1493,1
    - Dst: free
      Src: /src/cairo/test/cairo-test-trace.c:1498,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 2
    argNames:
    - test
    - trace
    argTypes:
    - test_trace_t*
    - char*
    constantsTouched: []
    func_position:
      end: 1499
      start: 1463
    functionDepth: 0
    functionLinenumber: 1463
    functionLinenumberEnd: 1499
    functionName: test_trace
    functionSourceFile: /src/cairo/test/cairo-test-trace.c
    functionUses: []
    functionsReached:
    - printf
    - xstrdup
    - fflush
    - free
    - _test_trace
    - basename
    - strchr
    linkageType: ''
    returnType: void
    signature: 'static void test_trace (test_trace_t *test, const char *trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cairo/test/cairo-test-trace.c:1546,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - argv0
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1559
      start: 1543
    functionDepth: 0
    functionLinenumber: 1543
    functionLinenumberEnd: 1559
    functionName: usage
    functionSourceFile: /src/cairo/test/cairo-test-trace.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'static void usage (const char *argv0) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: shm_open
      Src: /src/cairo/test/cairo-test-trace.c:548,1
    - Dst: mmap
      Src: /src/cairo/test/cairo-test-trace.c:552,1
    - Dst: close
      Src: /src/cairo/test/cairo-test-trace.c:560,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 563
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 563
    functionName: spawn_shm
    functionSourceFile: /src/cairo/test/cairo-test-trace.c
    functionUses: []
    functionsReached:
    - shm_open
    - close
    - mmap
    linkageType: ''
    returnType: void*
    signature: 'static void *spawn_shm (const char *shm_path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_cleanup_push
      Src: /src/cairo/test/cairo-test-trace.c:647,1
    - Dst: pthread_cleanup_pop
      Src: /src/cairo/test/cairo-test-trace.c:649,1
    - Dst: execute
      Src: /src/cairo/test/cairo-test-trace.c:648,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 652
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 652
    functionName: record
    functionSourceFile: /src/cairo/test/cairo-test-trace.c
    functionUses: []
    functionsReached:
    - pthread_cleanup_push
    - execute
    - pthread_cleanup_pop
    linkageType: ''
    returnType: void*
    signature: 'static void *record (void *arg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: matches_reference
      Src: /src/cairo/test/cairo-test-trace.c:886,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - slaves
    - num_slaves
    argTypes:
    - struct slave*
    - int
    constantsTouched: []
    func_position:
      end: 891
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 891
    functionName: check_images
    functionSourceFile: /src/cairo/test/cairo-test-trace.c
    functionUses: []
    functionsReached:
    - matches_reference
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t check_images (struct slave *slaves, int num_slaves) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/cairo/test/cairo-test-trace.c:1509,1
    - Dst: getline
      Src: /src/cairo/test/cairo-test-trace.c:1513,1
    - Dst: strchr
      Src: /src/cairo/test/cairo-test-trace.c:1515,1
    - Dst: isspace
      Src: /src/cairo/test/cairo-test-trace.c:1521,1
    - Dst: isspace
      Src: /src/cairo/test/cairo-test-trace.c:1525,1
    - Dst: xrealloc
      Src: /src/cairo/test/cairo-test-trace.c:1530,1
    - Dst: strndup
      Src: /src/cairo/test/cairo-test-trace.c:1532,1
    - Dst: free
      Src: /src/cairo/test/cairo-test-trace.c:1536,1
    - Dst: fclose
      Src: /src/cairo/test/cairo-test-trace.c:1538,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 2
    argNames:
    - test
    - filename
    argTypes:
    - test_trace_t*
    - char*
    constantsTouched: []
    func_position:
      end: 1541
      start: 1501
    functionDepth: 0
    functionLinenumber: 1501
    functionLinenumberEnd: 1541
    functionName: read_excludes
    functionSourceFile: /src/cairo/test/cairo-test-trace.c
    functionUses: []
    functionsReached:
    - getline
    - fclose
    - free
    - strndup
    - xrealloc
    - strchr
    - isspace
    - fopen
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t read_excludes (test_trace_t *test, const char
      *filename) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_getopt
      Src: /src/cairo/test/cairo-test-trace.c:1573,1
    - Dst: fprintf
      Src: /src/cairo/test/cairo-test-trace.c:1583,1
    - Dst: read_excludes
      Src: /src/cairo/test/cairo-test-trace.c:1582,1
    - Dst: fprintf
      Src: /src/cairo/test/cairo-test-trace.c:1589,1
    - Dst: exit
      Src: /src/cairo/test/cairo-test-trace.c:1585,1
    - Dst: usage
      Src: /src/cairo/test/cairo-test-trace.c:1592,1
    - Dst: exit
      Src: /src/cairo/test/cairo-test-trace.c:1593,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 3
    argNames:
    - test
    - argc
    - argv
    argTypes:
    - test_trace_t*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1601
      start: 1561
    functionDepth: 0
    functionLinenumber: 1561
    functionLinenumberEnd: 1601
    functionName: parse_options
    functionSourceFile: /src/cairo/test/cairo-test-trace.c
    functionUses: []
    functionsReached:
    - read_excludes
    - usage
    - fprintf
    - _cairo_getopt
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void parse_options (test_trace_t *test, int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/test/cairo-test-trace.c:316,1
    - Dst: writen
      Src: /src/cairo/test/cairo-test-trace.c:318,1
    - Dst: readn
      Src: /src/cairo/test/cairo-test-trace.c:319,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 324
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 324
    functionName: request_image
    functionSourceFile: /src/cairo/test/cairo-test-trace.c
    functionUses: []
    functionsReached:
    - writen
    - readn
    - assert
    linkageType: ''
    returnType: void*
    signature: "static void *request_image (test_runner_t *tr,\t struct context_closure\
      \ *closure,\t cairo_format_t format,\t int width, int height, int stride) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/cairo-test-trace.c:416,1
    - Dst: tr_die
      Src: /src/cairo/test/cairo-test-trace.c:425,1
    - Dst: xmalloc
      Src: /src/cairo/test/cairo-test-trace.c:421,1
    - Dst: cairo_surface_get_type
      Src: /src/cairo/test/cairo-test-trace.c:418,1
    - Dst: cairo_surface_set_user_data
      Src: /src/cairo/test/cairo-test-trace.c:424,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 429
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 429
    functionName: _surface_create
    functionSourceFile: /src/cairo/test/cairo-test-trace.c
    functionUses: []
    functionsReached:
    - tr_die
    - cairo_surface_set_user_data
    - xmalloc
    - cairo_surface_create_similar
    - cairo_surface_get_type
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_surface_create (void *closure,\t\t cairo_content_t\
      \ content,\t\t double width, double height,\t\t long uid) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cairo/test/cairo-test-trace.c:467,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/cairo-test-trace.c:474,1
    - Dst: cairo_script_interpreter_get_line_number
      Src: /src/cairo/test/cairo-test-trace.c:473,1
    - Dst: cairo_script_interpreter_get_line_number
      Src: /src/cairo/test/cairo-test-trace.c:470,1
    - Dst: send_surface
      Src: /src/cairo/test/cairo-test-trace.c:475,1
    - Dst: fprintf
      Src: /src/cairo/test/cairo-test-trace.c:477,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/cairo-test-trace.c:480,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/cairo-test-trace.c:480,1
    - Dst: tr_die
      Src: /src/cairo/test/cairo-test-trace.c:481,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/cairo-test-trace.c:484,1
    - Dst: free
      Src: /src/cairo/test/cairo-test-trace.c:486,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - closure
    - ptr
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 491
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 491
    functionName: _context_destroy
    functionSourceFile: /src/cairo/test/cairo-test-trace.c
    functionUses: []
    functionsReached:
    - send_surface
    - tr_die
    - fprintf
    - free
    - cairo_surface_status
    - cairo_surface_destroy
    - cairo_script_interpreter_get_line_number
    - cairo_status_to_string
    linkageType: ''
    returnType: void
    signature: 'static void _context_destroy (void *closure, void *ptr) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/cairo/test/cairo-test-trace.c:665,1
    - Dst: free
      Src: /src/cairo/test/cairo-test-trace.c:678,1
    - Dst: spawn_socket
      Src: /src/cairo/test/cairo-test-trace.c:676,1
    - Dst: malloc
      Src: /src/cairo/test/cairo-test-trace.c:670,1
    - Dst: printf
      Src: /src/cairo/test/cairo-test-trace.c:668,1
    - Dst: cairo_recording_surface_create
      Src: /src/cairo/test/cairo-test-trace.c:688,1
    - Dst: cleanup_recorder
      Src: /src/cairo/test/cairo-test-trace.c:691,1
    - Dst: pthread_attr_init
      Src: /src/cairo/test/cairo-test-trace.c:695,1
    - Dst: pthread_attr_setdetachstate
      Src: /src/cairo/test/cairo-test-trace.c:696,1
    - Dst: pthread_create
      Src: /src/cairo/test/cairo-test-trace.c:697,1
    - Dst: pthread_attr_destroy
      Src: /src/cairo/test/cairo-test-trace.c:698,1
    - Dst: cleanup_recorder
      Src: /src/cairo/test/cairo-test-trace.c:699,1
    - Dst: pthread_attr_destroy
      Src: /src/cairo/test/cairo-test-trace.c:702,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - socket_path
    - trace
    - out
    argTypes:
    - char*
    - char*
    - test_runner_t**
    constantsTouched: []
    func_position:
      end: 707
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 707
    functionName: spawn_recorder
    functionSourceFile: /src/cairo/test/cairo-test-trace.c
    functionUses: []
    functionsReached:
    - printf
    - malloc
    - pthread_create
    - spawn_socket
    - cleanup_recorder
    - pthread_attr_init
    - free
    - pthread_attr_destroy
    - getpid
    - pthread_attr_setdetachstate
    - cairo_recording_surface_create
    linkageType: ''
    returnType: pid_t
    signature: 'static pid_t spawn_recorder (const char *socket_path, const char *trace,
      test_runner_t **out) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cairo/test/cairo-test-trace.c:1073,1
    - Dst: writen
      Src: /src/cairo/test/cairo-test-trace.c:1122,1
    - Dst: printf
      Src: /src/cairo/test/cairo-test-trace.c:1175,1
    - Dst: printf
      Src: /src/cairo/test/cairo-test-trace.c:1133,1
    - Dst: printf
      Src: /src/cairo/test/cairo-test-trace.c:1202,1
    - Dst: writen
      Src: /src/cairo/test/cairo-test-trace.c:1205,1
    - Dst: printf
      Src: /src/cairo/test/cairo-test-trace.c:1225,1
    - Dst: write_result
      Src: /src/cairo/test/cairo-test-trace.c:1189,1
    - Dst: close
      Src: /src/cairo/test/cairo-test-trace.c:1230,1
    - Dst: poll
      Src: /src/cairo/test/cairo-test-trace.c:1057,1
    - Dst: xcalloc
      Src: /src/cairo/test/cairo-test-trace.c:1049,1
    - Dst: allocate_image_for_slave
      Src: /src/cairo/test/cairo-test-trace.c:1119,1
    - Dst: TARGET_NAME
      Src: /src/cairo/test/cairo-test-trace.c:1134,1
    - Dst: snprintf
      Src: /src/cairo/test/cairo-test-trace.c:1192,1
    - Dst: TARGET_NAME
      Src: /src/cairo/test/cairo-test-trace.c:1203,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/cairo-test-trace.c:1238,1
    - Dst: free
      Src: /src/cairo/test/cairo-test-trace.c:1245,1
    - Dst: write_trace
      Src: /src/cairo/test/cairo-test-trace.c:1193,1
    - Dst: write_images
      Src: /src/cairo/test/cairo-test-trace.c:1181,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/cairo-test-trace.c:1198,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/cairo-test-trace.c:1235,1
    - Dst: printf
      Src: /src/cairo/test/cairo-test-trace.c:1045,1
    - Dst: accept
      Src: /src/cairo/test/cairo-test-trace.c:1061,1
    - Dst: readn
      Src: /src/cairo/test/cairo-test-trace.c:1064,1
    - Dst: writen
      Src: /src/cairo/test/cairo-test-trace.c:1081,1
    - Dst: readn
      Src: /src/cairo/test/cairo-test-trace.c:1129,1
    - Dst: printf
      Src: /src/cairo/test/cairo-test-trace.c:1166,1
    - Dst: check_images
      Src: /src/cairo/test/cairo-test-trace.c:1169,1
    - Dst: printf
      Src: /src/cairo/test/cairo-test-trace.c:1161,1
    - Dst: cairo_surface_mark_dirty
      Src: /src/cairo/test/cairo-test-trace.c:1147,1
    - Dst: write_trace
      Src: /src/cairo/test/cairo-test-trace.c:1184,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 128
    argCount: 6
    argNames:
    - base
    - sk
    - trace
    - slaves
    - num_slaves
    - error
    argTypes:
    - void*
    - int
    - char*
    - struct slave*
    - int
    - struct error_info*
    constantsTouched: []
    func_position:
      end: 1248
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1248
    functionName: test_run
    functionSourceFile: /src/cairo/test/cairo-test-trace.c
    functionUses: []
    functionsReached:
    - printf
    - accept
    - write_trace
    - TARGET_NAME
    - cairo_surface_mark_dirty
    - writen
    - free
    - readn
    - write_images
    - xcalloc
    - poll
    - cairo_surface_destroy
    - close
    - allocate_image_for_slave
    - write_result
    - snprintf
    - check_images
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t test_run (void *base,\t int sk,\t const char *trace,\t\
      \ struct slave *slaves,\t int num_slaves,\t struct error_info *error) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: shm_open
      Src: /src/cairo/test/cairo-test-trace.c:1288,1
    - Dst: close
      Src: /src/cairo/test/cairo-test-trace.c:1293,1
    - Dst: ftruncate
      Src: /src/cairo/test/cairo-test-trace.c:1292,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - shm_path
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1298
      start: 1283
    functionDepth: 0
    functionLinenumber: 1283
    functionLinenumberEnd: 1298
    functionName: server_shm
    functionSourceFile: /src/cairo/test/cairo-test-trace.c
    functionUses: []
    functionsReached:
    - shm_open
    - close
    - ftruncate
    linkageType: ''
    returnType: int
    signature: 'static int server_shm (const char *shm_path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_debug_reset_static_data
      Src: /src/cairo/test/cairo-test-trace.c:1608,1
    - Dst: FcFini
      Src: /src/cairo/test/cairo-test-trace.c:1610,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - test
    argTypes:
    - test_trace_t*
    constantsTouched: []
    func_position:
      end: 1613
      start: 1603
    functionDepth: 0
    functionLinenumber: 1603
    functionLinenumberEnd: 1613
    functionName: test_reset
    functionSourceFile: /src/cairo/test/cairo-test-trace.c
    functionUses: []
    functionsReached:
    - FcFini
    - cairo_debug_reset_static_data
    linkageType: ''
    returnType: void
    signature: 'static void test_reset (test_trace_t *test) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: shm_unlink
      Src: /src/cairo/test/cairo-test-trace.c:1714,1
    - Dst: warn_no_traces
      Src: /src/cairo/test/cairo-test-trace.c:1735,1
    - Dst: strcmp
      Src: /src/cairo/test/cairo-test-trace.c:1747,1
    - Dst: test_fini
      Src: /src/cairo/test/cairo-test-trace.c:1736,1
    - Dst: test_trace
      Src: /src/cairo/test/cairo-test-trace.c:1755,1
    - Dst: warn_no_traces
      Src: /src/cairo/test/cairo-test-trace.c:1764,1
    - Dst: test_fini
      Src: /src/cairo/test/cairo-test-trace.c:1770,1
    - Dst: signal
      Src: /src/cairo/test/cairo-test-trace.c:1709,1
    - Dst: getenv
      Src: /src/cairo/test/cairo-test-trace.c:1717,1
    - Dst: cairo_boilerplate_get_targets
      Src: /src/cairo/test/cairo-test-trace.c:1719,1
    - Dst: access
      Src: /src/cairo/test/cairo-test-trace.c:1723,1
    - Dst: strrchr
      Src: /src/cairo/test/cairo-test-trace.c:1744,1
    - Dst: xasprintf
      Src: /src/cairo/test/cairo-test-trace.c:1754,1
    - Dst: readdir
      Src: /src/cairo/test/cairo-test-trace.c:1740,1
    - Dst: opendir
      Src: /src/cairo/test/cairo-test-trace.c:1733,1
    - Dst: test_reset
      Src: /src/cairo/test/cairo-test-trace.c:1756,1
    - Dst: test_fini
      Src: /src/cairo/test/cairo-test-trace.c:1765,1
    - Dst: signal
      Src: /src/cairo/test/cairo-test-trace.c:1710,1
    - Dst: parse_options
      Src: /src/cairo/test/cairo-test-trace.c:1712,1
    - Dst: getenv
      Src: /src/cairo/test/cairo-test-trace.c:1716,1
    - Dst: test_trace
      Src: /src/cairo/test/cairo-test-trace.c:1724,1
    - Dst: test_reset
      Src: /src/cairo/test/cairo-test-trace.c:1725,1
    - Dst: test_has_filenames
      Src: /src/cairo/test/cairo-test-trace.c:1721,1
    - Dst: test_can_run
      Src: /src/cairo/test/cairo-test-trace.c:1751,1
    - Dst: free
      Src: /src/cairo/test/cairo-test-trace.c:1758,1
    - Dst: closedir
      Src: /src/cairo/test/cairo-test-trace.c:1761,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 48
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1773
      start: 1702
    functionDepth: 0
    functionLinenumber: 1702
    functionLinenumberEnd: 1773
    functionName: main
    functionSourceFile: /src/cairo/test/cairo-test-trace.c
    functionUses: []
    functionsReached:
    - xasprintf
    - strrchr
    - strcmp
    - shm_unlink
    - warn_no_traces
    - test_trace
    - signal
    - test_fini
    - getenv
    - test_reset
    - readdir
    - cairo_boilerplate_get_targets
    - closedir
    - parse_options
    - free
    - opendir
    - test_has_filenames
    - test_can_run
    - access
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_get_format
      Src: /src/cairo/test/cairo-test-trace.c:346,1
    - Dst: cairo_image_surface_get_height
      Src: /src/cairo/test/cairo-test-trace.c:345,1
    - Dst: cairo_clip_extents
      Src: /src/cairo/test/cairo-test-trace.c:359,1
    - Dst: format_for_content
      Src: /src/cairo/test/cairo-test-trace.c:377,1
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/test/cairo-test-trace.c:385,1
    - Dst: cairo_create
      Src: /src/cairo/test/cairo-test-trace.c:389,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/cairo-test-trace.c:393,1
    - Dst: cairo_paint
      Src: /src/cairo/test/cairo-test-trace.c:394,1
    - Dst: writen
      Src: /src/cairo/test/cairo-test-trace.c:398,1
    - Dst: readn
      Src: /src/cairo/test/cairo-test-trace.c:402,1
    - Dst: cairo_image_surface_get_width
      Src: /src/cairo/test/cairo-test-trace.c:344,1
    - Dst: request_image
      Src: /src/cairo/test/cairo-test-trace.c:381,1
    - Dst: tr_die
      Src: /src/cairo/test/cairo-test-trace.c:383,1
    - Dst: tr_die
      Src: /src/cairo/test/cairo-test-trace.c:367,1
    - Dst: cairo_surface_set_user_data
      Src: /src/cairo/test/cairo-test-trace.c:366,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/cairo-test-trace.c:392,1
    - Dst: printf
      Src: /src/cairo/test/cairo-test-trace.c:339,1
    - Dst: cairo_create
      Src: /src/cairo/test/cairo-test-trace.c:358,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/cairo-test-trace.c:360,1
    - Dst: xmalloc
      Src: /src/cairo/test/cairo-test-trace.c:362,1
    - Dst: cairo_surface_get_content
      Src: /src/cairo/test/cairo-test-trace.c:377,1
    - Dst: cairo_surface_get_type
      Src: /src/cairo/test/cairo-test-trace.c:343,1
    - Dst: cairo_surface_get_user_data
      Src: /src/cairo/test/cairo-test-trace.c:350,1
    - Dst: send_recording_surface
      Src: /src/cairo/test/cairo-test-trace.c:372,1
    - Dst: cairo_format_stride_for_width
      Src: /src/cairo/test/cairo-test-trace.c:379,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/cairo-test-trace.c:390,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/cairo-test-trace.c:395,1
    - Dst: tr_die
      Src: /src/cairo/test/cairo-test-trace.c:404,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 63
    argCount: 2
    argNames:
    - tr
    - closure
    argTypes:
    - test_runner_t*
    - struct context_closure*
    constantsTouched: []
    func_position:
      end: 405
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 405
    functionName: send_surface
    functionSourceFile: /src/cairo/test/cairo-test-trace.c
    functionUses: []
    functionsReached:
    - printf
    - cairo_surface_get_content
    - cairo_set_source_surface
    - cairo_surface_set_user_data
    - cairo_format_stride_for_width
    - cairo_create
    - cairo_image_surface_get_height
    - cairo_clip_extents
    - cairo_image_surface_create_for_data
    - cairo_set_operator
    - cairo_destroy
    - cairo_image_surface_get_width
    - cairo_surface_get_type
    - cairo_paint
    - cairo_image_surface_get_format
    - tr_die
    - xmalloc
    - request_image
    - writen
    - readn
    - cairo_surface_destroy
    - send_recording_surface
    - format_for_content
    - cairo_surface_get_user_data
    linkageType: ''
    returnType: void
    signature: "static void send_surface (test_runner_t *tr,\t struct context_closure\
      \ *closure) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cairo/test/cairo-test-trace.c:438,1
    - Dst: cairo_script_interpreter_get_line_number
      Src: /src/cairo/test/cairo-test-trace.c:446,1
    - Dst: cairo_script_interpreter_get_line_number
      Src: /src/cairo/test/cairo-test-trace.c:441,1
    - Dst: xmalloc
      Src: /src/cairo/test/cairo-test-trace.c:444,1
    - Dst: cairo_create
      Src: /src/cairo/test/cairo-test-trace.c:448,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/test/cairo-test-trace.c:449,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 456
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 456
    functionName: _context_create
    functionSourceFile: /src/cairo/test/cairo-test-trace.c
    functionUses: []
    functionsReached:
    - fprintf
    - xmalloc
    - cairo_surface_reference
    - cairo_create
    - cairo_script_interpreter_get_line_number
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *_context_create (void *closure, cairo_surface_t *surface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_script_interpreter_create
      Src: /src/cairo/test/cairo-test-trace.c:504,1
    - Dst: readn
      Src: /src/cairo/test/cairo-test-trace.c:508,1
    - Dst: tr_die
      Src: /src/cairo/test/cairo-test-trace.c:510,1
    - Dst: cairo_script_interpreter_run
      Src: /src/cairo/test/cairo-test-trace.c:512,1
    - Dst: cairo_script_interpreter_install_hooks
      Src: /src/cairo/test/cairo-test-trace.c:505,1
    - Dst: cairo_script_interpreter_finish
      Src: /src/cairo/test/cairo-test-trace.c:514,1
    - Dst: cairo_script_interpreter_destroy
      Src: /src/cairo/test/cairo-test-trace.c:515,1
    - Dst: tr_die
      Src: /src/cairo/test/cairo-test-trace.c:516,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - tr
    argTypes:
    - test_runner_t*
    constantsTouched: []
    func_position:
      end: 517
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 517
    functionName: execute
    functionSourceFile: /src/cairo/test/cairo-test-trace.c
    functionUses: []
    functionsReached:
    - cairo_script_interpreter_create
    - tr_die
    - cairo_script_interpreter_destroy
    - readn
    - cairo_script_interpreter_finish
    - cairo_script_interpreter_install_hooks
    - cairo_script_interpreter_run
    linkageType: ''
    returnType: void
    signature: 'static void execute (test_runner_t *tr) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/cairo/test/cairo-test-trace.c:1257,1
    - Dst: strcpy
      Src: /src/cairo/test/cairo-test-trace.c:1263,1
    - Dst: bind
      Src: /src/cairo/test/cairo-test-trace.c:1264,1
    - Dst: close
      Src: /src/cairo/test/cairo-test-trace.c:1265,1
    - Dst: memset
      Src: /src/cairo/test/cairo-test-trace.c:1261,1
    - Dst: fcntl
      Src: /src/cairo/test/cairo-test-trace.c:1269,1
    - Dst: fcntl
      Src: /src/cairo/test/cairo-test-trace.c:1270,1
    - Dst: close
      Src: /src/cairo/test/cairo-test-trace.c:1271,1
    - Dst: listen
      Src: /src/cairo/test/cairo-test-trace.c:1275,1
    - Dst: close
      Src: /src/cairo/test/cairo-test-trace.c:1276,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - socket_path
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1281
      start: 1250
    functionDepth: 0
    functionLinenumber: 1250
    functionLinenumberEnd: 1281
    functionName: server_socket
    functionSourceFile: /src/cairo/test/cairo-test-trace.c
    functionUses: []
    functionsReached:
    - listen
    - socket
    - bind
    - strcpy
    - close
    - fcntl
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int server_socket (const char *socket_path) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: server_socket
      Src: /src/cairo/test/cairo-test-trace.c:1328,1
    - Dst: fprintf
      Src: /src/cairo/test/cairo-test-trace.c:1323,1
    - Dst: cairo_boilerplate_get_image_target
      Src: /src/cairo/test/cairo-test-trace.c:1342,1
    - Dst: xcalloc
      Src: /src/cairo/test/cairo-test-trace.c:1345,1
    - Dst: cairo_boilerplate_get_target_by_name
      Src: /src/cairo/test/cairo-test-trace.c:1380,1
    - Dst: spawn_target
      Src: /src/cairo/test/cairo-test-trace.c:1404,1
    - Dst: fprintf
      Src: /src/cairo/test/cairo-test-trace.c:1422,1
    - Dst: close
      Src: /src/cairo/test/cairo-test-trace.c:1429,1
    - Dst: WIFSIGNALED
      Src: /src/cairo/test/cairo-test-trace.c:1444,1
    - Dst: WTERMSIG
      Src: /src/cairo/test/cairo-test-trace.c:1444,1
    - Dst: printf
      Src: /src/cairo/test/cairo-test-trace.c:1319,1
    - Dst: xasprintf
      Src: /src/cairo/test/cairo-test-trace.c:1327,1
    - Dst: mkdtemp
      Src: /src/cairo/test/cairo-test-trace.c:1322,1
    - Dst: fprintf
      Src: /src/cairo/test/cairo-test-trace.c:1337,1
    - Dst: strerror
      Src: /src/cairo/test/cairo-test-trace.c:1338,1
    - Dst: spawn_recorder
      Src: /src/cairo/test/cairo-test-trace.c:1349,1
    - Dst: fprintf
      Src: /src/cairo/test/cairo-test-trace.c:1416,1
    - Dst: mmap
      Src: /src/cairo/test/cairo-test-trace.c:1420,1
    - Dst: test_run
      Src: /src/cairo/test/cairo-test-trace.c:1425,1
    - Dst: close
      Src: /src/cairo/test/cairo-test-trace.c:1434,1
    - Dst: free
      Src: /src/cairo/test/cairo-test-trace.c:1459,1
    - Dst: server_shm
      Src: /src/cairo/test/cairo-test-trace.c:1335,1
    - Dst: spawn_target
      Src: /src/cairo/test/cairo-test-trace.c:1393,1
    - Dst: assert
      Src: /src/cairo/test/cairo-test-trace.c:1382,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/cairo-test-trace.c:1436,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/cairo-test-trace.c:1437,1
    - Dst: kill
      Src: /src/cairo/test/cairo-test-trace.c:1442,1
    - Dst: dump_traces
      Src: /src/cairo/test/cairo-test-trace.c:1447,1
    - Dst: shm_unlink
      Src: /src/cairo/test/cairo-test-trace.c:1451,1
    - Dst: close
      Src: /src/cairo/test/cairo-test-trace.c:1453,1
    - Dst: remove
      Src: /src/cairo/test/cairo-test-trace.c:1456,1
    - Dst: waitpid
      Src: /src/cairo/test/cairo-test-trace.c:1443,1
    - Dst: fprintf
      Src: /src/cairo/test/cairo-test-trace.c:1330,1
    - Dst: fprintf
      Src: /src/cairo/test/cairo-test-trace.c:1351,1
    - Dst: assert
      Src: /src/cairo/test/cairo-test-trace.c:1343,1
    - Dst: printf
      Src: /src/cairo/test/cairo-test-trace.c:1371,1
    - Dst: munmap
      Src: /src/cairo/test/cairo-test-trace.c:1426,1
    - Dst: fprintf
      Src: /src/cairo/test/cairo-test-trace.c:1445,1
    - Dst: free
      Src: /src/cairo/test/cairo-test-trace.c:1450,1
    - Dst: remove
      Src: /src/cairo/test/cairo-test-trace.c:1457,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 110
    argCount: 4
    argNames:
    - test
    - trace
    - name
    - error
    argTypes:
    - test_trace_t*
    - char*
    - char*
    - struct error_info*
    constantsTouched: []
    func_position:
      end: 1461
      start: 1300
    functionDepth: 0
    functionLinenumber: 1300
    functionLinenumberEnd: 1461
    functionName: _test_trace
    functionSourceFile: /src/cairo/test/cairo-test-trace.c
    functionUses: []
    functionsReached:
    - printf
    - xasprintf
    - waitpid
    - shm_unlink
    - server_socket
    - cairo_boilerplate_get_target_by_name
    - WIFSIGNALED
    - WTERMSIG
    - fprintf
    - spawn_target
    - xcalloc
    - kill
    - mmap
    - assert
    - server_shm
    - test_run
    - cairo_boilerplate_get_image_target
    - dump_traces
    - spawn_recorder
    - strerror
    - remove
    - free
    - munmap
    - mkdtemp
    - cairo_surface_destroy
    - close
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _test_trace (test_trace_t *test,\t const char\
      \ *trace,\t const char *name,\t struct error_info *error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_reset
      Src: /src/cairo/test/cairo-test-trace.c:1618,1
    - Dst: cairo_boilerplate_free_targets
      Src: /src/cairo/test/cairo-test-trace.c:1620,1
    - Dst: free
      Src: /src/cairo/test/cairo-test-trace.c:1621,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - test
    argTypes:
    - test_trace_t*
    constantsTouched: []
    func_position:
      end: 1622
      start: 1615
    functionDepth: 0
    functionLinenumber: 1615
    functionLinenumberEnd: 1622
    functionName: test_fini
    functionSourceFile: /src/cairo/test/cairo-test-trace.c
    functionUses: []
    functionsReached:
    - free
    - cairo_boilerplate_free_targets
    - test_reset
    linkageType: ''
    returnType: void
    signature: 'static void test_fini (test_trace_t *test) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vfprintf
      Src: /src/cairo/test/cairo-test-trace.c:1780,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - fmt
    - va
    argTypes:
    - cairo_test_context_t*
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 1782
      start: 1775
    functionDepth: 0
    functionLinenumber: 1775
    functionLinenumberEnd: 1782
    functionName: cairo_test_logv
    functionSourceFile: /src/cairo/test/cairo-test-trace.c
    functionUses: []
    functionsReached:
    - vfprintf
    linkageType: ''
    returnType: void
    signature: "void cairo_test_logv (const cairo_test_context_t *ctx,\t\t const char\
      \ *fmt, va_list va) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/cairo/test/cairo-test-trace.c:1790,1
    - Dst: va_end
      Src: /src/cairo/test/cairo-test-trace.c:1792,1
    - Dst: vfprintf
      Src: /src/cairo/test/cairo-test-trace.c:1791,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - fmt
    - '...'
    argTypes:
    - cairo_test_context_t*
    - char*
    constantsTouched: []
    func_position:
      end: 1794
      start: 1784
    functionDepth: 0
    functionLinenumber: 1784
    functionLinenumberEnd: 1794
    functionName: cairo_test_log
    functionSourceFile: /src/cairo/test/cairo-test-trace.c
    functionUses: []
    functionsReached:
    - va_start
    - vfprintf
    - va_end
    linkageType: ''
    returnType: void
    signature: 'void cairo_test_log (const cairo_test_context_t *ctx, const char *fmt,
      ...) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cairo/test/cairo-test-trace.c:575,1
    - Dst: fork
      Src: /src/cairo/test/cairo-test-trace.c:577,1
    - Dst: spawn_socket
      Src: /src/cairo/test/cairo-test-trace.c:584,1
    - Dst: fprintf
      Src: /src/cairo/test/cairo-test-trace.c:586,1
    - Dst: getpid
      Src: /src/cairo/test/cairo-test-trace.c:582,1
    - Dst: exit
      Src: /src/cairo/test/cairo-test-trace.c:588,1
    - Dst: spawn_shm
      Src: /src/cairo/test/cairo-test-trace.c:591,1
    - Dst: fprintf
      Src: /src/cairo/test/cairo-test-trace.c:593,1
    - Dst: exit
      Src: /src/cairo/test/cairo-test-trace.c:595,1
    - Dst: execute
      Src: /src/cairo/test/cairo-test-trace.c:616,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/cairo-test-trace.c:618,1
    - Dst: munmap
      Src: /src/cairo/test/cairo-test-trace.c:624,1
    - Dst: exit
      Src: /src/cairo/test/cairo-test-trace.c:613,1
    - Dst: close
      Src: /src/cairo/test/cairo-test-trace.c:623,1
    - Dst: fprintf
      Src: /src/cairo/test/cairo-test-trace.c:610,1
    - Dst: exit
      Src: /src/cairo/test/cairo-test-trace.c:626,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 4
    argNames:
    - socket_path
    - shm_path
    - target
    - trace
    argTypes:
    - char*
    - char*
    - cairo_boilerplate_target_t*
    - char*
    constantsTouched: []
    func_position:
      end: 627
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 627
    functionName: spawn_target
    functionSourceFile: /src/cairo/test/cairo-test-trace.c
    functionUses: []
    functionsReached:
    - printf
    - spawn_socket
    - fprintf
    - getpid
    - execute
    - fork
    - munmap
    - spawn_shm
    - cairo_surface_destroy
    - close
    - exit
    linkageType: ''
    returnType: int
    signature: "static int spawn_target (const char *socket_path,\t const char *shm_path,\t\
      \ const cairo_boilerplate_target_t *target,\t const char *trace) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/test/cairo-test-trace.c:983,1
    - Dst: printf
      Src: /src/cairo/test/cairo-test-trace.c:994,1
    - Dst: readn
      Src: /src/cairo/test/cairo-test-trace.c:985,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/test/cairo-test-trace.c:1008,1
    - Dst: TARGET_NAME
      Src: /src/cairo/test/cairo-test-trace.c:995,1
    - Dst: assert
      Src: /src/cairo/test/cairo-test-trace.c:1014,1
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/test/cairo-test-trace.c:1016,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - base
    - offset
    - slave
    argTypes:
    - uint8_t*
    - unsigned long
    - struct slave*
    constantsTouched: []
    func_position:
      end: 1022
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 1022
    functionName: allocate_image_for_slave
    functionSourceFile: /src/cairo/test/cairo-test-trace.c
    functionUses: []
    functionsReached:
    - printf
    - TARGET_NAME
    - cairo_surface_reference
    - cairo_image_surface_create_for_data
    - readn
    - assert
    linkageType: ''
    returnType: unsigned long
    signature: "static unsigned long allocate_image_for_slave (uint8_t *base,\t\t\t\
      \ unsigned long offset,\t\t\t struct slave *slave) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cairo/test/cairo-test-trace.c:1684,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - message
    - trace_dir
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1691
      start: 1681
    functionDepth: 0
    functionLinenumber: 1681
    functionLinenumberEnd: 1691
    functionName: warn_no_traces
    functionSourceFile: /src/cairo/test/cairo-test-trace.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'static void warn_no_traces (const char *message, const char *trace_dir) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shm_unlink
      Src: /src/cairo/test/cairo-test-trace.c:1696,1
    - Dst: signal
      Src: /src/cairo/test/cairo-test-trace.c:1698,1
    - Dst: raise
      Src: /src/cairo/test/cairo-test-trace.c:1699,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1700
      start: 1693
    functionDepth: 0
    functionLinenumber: 1693
    functionLinenumberEnd: 1700
    functionName: interrupt
    functionSourceFile: /src/cairo/test/cairo-test-trace.c
    functionUses: []
    functionsReached:
    - signal
    - raise
    - shm_unlink
    linkageType: ''
    returnType: void
    signature: 'static void interrupt (int sig) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/cairo/test/cairo-test-trace.c:194,1
    - Dst: send
      Src: /src/cairo/test/cairo-test-trace.c:212,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 3
    argNames:
    - fd
    - ptr
    - len
    argTypes:
    - int
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 215
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 215
    functionName: writen
    functionSourceFile: /src/cairo/test/cairo-test-trace.c
    functionUses: []
    functionsReached:
    - write
    - send
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t writen (int fd, const void *ptr, int len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - content
    argTypes:
    - cairo_content_t
    constantsTouched: []
    func_position:
      end: 258
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 258
    functionName: format_for_content
    functionSourceFile: /src/cairo/test/cairo-test-trace.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_format_t
    signature: 'static cairo_format_t format_for_content (cairo_content_t content) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xasprintf
      Src: /src/cairo/test/cairo-test-trace.c:900,1
    - Dst: cairo_surface_write_to_png
      Src: /src/cairo/test/cairo-test-trace.c:902,1
    - Dst: xasprintf
      Src: /src/cairo/test/cairo-test-trace.c:906,1
    - Dst: cairo_surface_write_to_png
      Src: /src/cairo/test/cairo-test-trace.c:908,1
    - Dst: free
      Src: /src/cairo/test/cairo-test-trace.c:903,1
    - Dst: free
      Src: /src/cairo/test/cairo-test-trace.c:909,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - trace
    - slave
    - num_slaves
    argTypes:
    - char*
    - struct slave*
    - int
    constantsTouched: []
    func_position:
      end: 915
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 915
    functionName: write_images
    functionSourceFile: /src/cairo/test/cairo-test-trace.c
    functionUses: []
    functionsReached:
    - free
    - xasprintf
    - cairo_surface_write_to_png
    linkageType: ''
    returnType: void
    signature: 'static void write_images (const char *trace, struct slave *slave,
      int num_slaves) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/test/cairo-test-trace.c:937,1
    - Dst: cairo_device_destroy
      Src: /src/cairo/test/cairo-test-trace.c:943,1
    - Dst: xasprintf
      Src: /src/cairo/test/cairo-test-trace.c:939,1
    - Dst: cairo_script_from_recording_surface
      Src: /src/cairo/test/cairo-test-trace.c:942,1
    - Dst: cairo_script_create
      Src: /src/cairo/test/cairo-test-trace.c:941,1
    - Dst: free
      Src: /src/cairo/test/cairo-test-trace.c:945,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - trace
    - id
    - slave
    argTypes:
    - char*
    - char*
    - struct slave*
    constantsTouched: []
    func_position:
      end: 947
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 947
    functionName: write_trace
    functionSourceFile: /src/cairo/test/cairo-test-trace.c
    functionUses: []
    functionsReached:
    - cairo_device_destroy
    - cairo_script_create
    - free
    - xasprintf
    - assert
    - cairo_script_from_recording_surface
    linkageType: ''
    returnType: void
    signature: 'static void write_trace (const char *trace, const char *id, struct
      slave *slave) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: access
      Src: /src/cairo/test/cairo-test-trace.c:1633,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - test
    argTypes:
    - test_trace_t*
    constantsTouched: []
    func_position:
      end: 1637
      start: 1624
    functionDepth: 0
    functionLinenumber: 1624
    functionLinenumberEnd: 1637
    functionName: test_has_filenames
    functionSourceFile: /src/cairo/test/cairo-test-trace.c
    functionUses: []
    functionsReached:
    - access
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t test_has_filenames (test_trace_t *test) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cairo/test/cairo-test-trace.c:278,1
    - Dst: writen
      Src: /src/cairo/test/cairo-test-trace.c:287,1
    - Dst: writen
      Src: /src/cairo/test/cairo-test-trace.c:283,1
    - Dst: readn
      Src: /src/cairo/test/cairo-test-trace.c:291,1
    - Dst: readn
      Src: /src/cairo/test/cairo-test-trace.c:284,1
    - Dst: printf
      Src: /src/cairo/test/cairo-test-trace.c:293,1
    - Dst: pthread_exit
      Src: /src/cairo/test/cairo-test-trace.c:296,1
    - Dst: exit
      Src: /src/cairo/test/cairo-test-trace.c:298,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - tr
    - width
    - height
    - closure
    argTypes:
    - test_runner_t*
    - int
    - int
    - struct context_closure*
    constantsTouched: []
    func_position:
      end: 300
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 300
    functionName: send_recording_surface
    functionSourceFile: /src/cairo/test/cairo-test-trace.c
    functionUses: []
    functionsReached:
    - printf
    - pthread_exit
    - writen
    - readn
    - exit
    linkageType: ''
    returnType: void
    signature: "static void send_recording_surface (test_runner_t *tr,\t\t\tint width,\
      \ int height,\t\t\tstruct context_closure *closure) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/cairo/test/cairo-test-trace.c:223,1
    - Dst: recv
      Src: /src/cairo/test/cairo-test-trace.c:241,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 3
    argNames:
    - fd
    - ptr
    - len
    argTypes:
    - int
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 244
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 244
    functionName: readn
    functionSourceFile: /src/cairo/test/cairo-test-trace.c
    functionUses: []
    functionsReached:
    - recv
    - read
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t readn (int fd, void *ptr, int len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xasprintf
      Src: /src/cairo/test/cairo-test-trace.c:923,1
    - Dst: cairo_surface_write_to_png
      Src: /src/cairo/test/cairo-test-trace.c:926,1
    - Dst: free
      Src: /src/cairo/test/cairo-test-trace.c:927,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - trace
    - slave
    argTypes:
    - char*
    - struct slave*
    constantsTouched: []
    func_position:
      end: 928
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 928
    functionName: write_result
    functionSourceFile: /src/cairo/test/cairo-test-trace.c
    functionUses: []
    functionsReached:
    - free
    - xasprintf
    - cairo_surface_write_to_png
    linkageType: ''
    returnType: void
    signature: 'static void write_result (const char *trace, struct slave *slave) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xasprintf
      Src: /src/cairo/test/cairo-test-trace.c:962,1
    - Dst: cairo_script_create
      Src: /src/cairo/test/cairo-test-trace.c:965,1
    - Dst: free
      Src: /src/cairo/test/cairo-test-trace.c:969,1
    - Dst: cairo_device_destroy
      Src: /src/cairo/test/cairo-test-trace.c:967,1
    - Dst: cairo_script_from_recording_surface
      Src: /src/cairo/test/cairo-test-trace.c:966,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 4
    argNames:
    - tr
    - trace
    - target
    - fail
    argTypes:
    - test_runner_t*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 972
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 972
    functionName: dump_traces
    functionSourceFile: /src/cairo/test/cairo-test-trace.c
    functionUses: []
    functionsReached:
    - cairo_device_destroy
    - cairo_script_create
    - free
    - xasprintf
    - cairo_script_from_recording_surface
    linkageType: ''
    returnType: void
    signature: "static void dump_traces (test_runner_t *tr,\t const char *trace,\t\
      \ const char *target,\t const char *fail) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: xstrdup
      Src: /src/cairo/test/cairo-test-trace.c:1649,1
    - Dst: strstr
      Src: /src/cairo/test/cairo-test-trace.c:1657,1
    - Dst: strrchr
      Src: /src/cairo/test/cairo-test-trace.c:1650,1
    - Dst: free
      Src: /src/cairo/test/cairo-test-trace.c:1676,1
    - Dst: strstr
      Src: /src/cairo/test/cairo-test-trace.c:1668,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 23
    argCount: 2
    argNames:
    - test
    - name
    argTypes:
    - test_trace_t*
    - char*
    constantsTouched: []
    func_position:
      end: 1679
      start: 1639
    functionDepth: 0
    functionLinenumber: 1639
    functionLinenumberEnd: 1679
    functionName: test_can_run
    functionSourceFile: /src/cairo/test/cairo-test-trace.c
    functionUses: []
    functionsReached:
    - free
    - xstrdup
    - strrchr
    - strstr
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t test_can_run (test_trace_t *test, const char *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_mkdir
      Src: /src/cairo/test/pdf-features.c:92,1
    - Dst: cairo_test_is_target_enabled
      Src: /src/cairo/test/pdf-features.c:94,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/pdf-features.c:112,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/pdf-features.c:114,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/pdf-features.c:128,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/pdf-features.c:122,1
    - Dst: cairo_status
      Src: /src/cairo/test/pdf-features.c:126,1
    - Dst: printf
      Src: /src/cairo/test/pdf-features.c:138,1
    - Dst: xasprintf
      Src: /src/cairo/test/pdf-features.c:97,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/pdf-features.c:132,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/pdf-features.c:133,1
    - Dst: INCHES_TO_POINTS
      Src: /src/cairo/test/pdf-features.c:104,1
    - Dst: cairo_create
      Src: /src/cairo/test/pdf-features.c:107,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/pdf-features.c:120,1
    - Dst: cairo_show_page
      Src: /src/cairo/test/pdf-features.c:123,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/pdf-features.c:119,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/pdf-features.c:121,1
    - Dst: free
      Src: /src/cairo/test/pdf-features.c:134,1
    - Dst: free
      Src: /src/cairo/test/pdf-features.c:139,1
    - Dst: cairo_pdf_surface_create
      Src: /src/cairo/test/pdf-features.c:103,1
    - Dst: INCHES_TO_POINTS
      Src: /src/cairo/test/pdf-features.c:105,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/pdf-features.c:109,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/pdf-features.c:129,1
    - Dst: cairo_pdf_surface_set_size
      Src: /src/cairo/test/pdf-features.c:115,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - cairo_test_context_t*
    constantsTouched: []
    func_position:
      end: 141
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 141
    functionName: preamble
    functionSourceFile: /src/cairo/test/pdf-features.c
    functionUses: []
    functionsReached:
    - printf
    - xasprintf
    - cairo_pdf_surface_create
    - cairo_select_font_face
    - INCHES_TO_POINTS
    - cairo_show_text
    - cairo_show_page
    - cairo_create
    - cairo_test_is_target_enabled
    - cairo_status
    - cairo_test_log
    - cairo_pdf_surface_set_size
    - ARRAY_LENGTH
    - cairo_test_mkdir
    - cairo_destroy
    - cairo_status_to_string
    - free
    - cairo_set_font_size
    - cairo_surface_destroy
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t preamble (cairo_test_context_t *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/test/record2x.c:70,1
    - Dst: cairo_scale
      Src: /src/cairo/test/record2x.c:75,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/record2x.c:77,1
    - Dst: cairo_test_paint_checkered
      Src: /src/cairo/test/record2x.c:73,1
    - Dst: cairo_pattern_set_filter
      Src: /src/cairo/test/record2x.c:78,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/record2x.c:78,1
    - Dst: cairo_paint_with_alpha
      Src: /src/cairo/test/record2x.c:79,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/record2x.c:81,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/record2x.c:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 85
    functionName: paint_alpha
    functionSourceFile: /src/cairo/test/record2x.c
    functionUses: []
    functionsReached:
    - cairo_paint_with_alpha
    - cairo_surface_finish
    - cairo_pattern_set_filter
    - cairo_test_paint_checkered
    - cairo_image_surface_create_for_data
    - cairo_get_source
    - cairo_surface_destroy
    - cairo_scale
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *paint_alpha (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_recording_surface_create
      Src: /src/cairo/test/record2x.c:336,1
    - Dst: cairo_test_create
      Src: /src/cairo/test/record2x.c:337,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/record2x.c:336,1
    - Dst: cairo_surface_get_content
      Src: /src/cairo/test/record2x.c:336,1
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/record2x.c:337,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/record2x.c:338,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 341
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 341
    functionName: record_create
    functionSourceFile: /src/cairo/test/record2x.c
    functionUses: []
    functionsReached:
    - cairo_test_get_context
    - cairo_test_create
    - cairo_surface_destroy
    - cairo_get_target
    - cairo_surface_get_content
    - cairo_recording_surface_create
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *record_create (cairo_t *target) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_reference
      Src: /src/cairo/test/record2x.c:348,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/record2x.c:348,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/record2x.c:349,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 352
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 352
    functionName: record_get
    functionSourceFile: /src/cairo/test/record2x.c
    functionUses: []
    functionsReached:
    - cairo_destroy
    - cairo_surface_reference
    - cairo_get_target
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *record_get (cairo_t *target) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay
      Src: /src/cairo/test/record2x.c:388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 389
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 389
    functionName: record_paint
    functionSourceFile: /src/cairo/test/record2x.c
    functionUses: []
    functionsReached:
    - record_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_paint (cairo_t *cr, int width, int
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay
      Src: /src/cairo/test/record2x.c:424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 425
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 425
    functionName: record_self_intersecting
    functionSourceFile: /src/cairo/test/record2x.c
    functionUses: []
    functionsReached:
    - record_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_self_intersecting (cairo_t *cr,
      int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_paint_checkered
      Src: /src/cairo/test/record2x.c:90,1
    - Dst: cairo_clip
      Src: /src/cairo/test/record2x.c:93,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record2x.c:95,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/record2x.c:92,1
    - Dst: cairo_paint_with_alpha
      Src: /src/cairo/test/record2x.c:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 99
    functionName: paint_alpha_solid_clip
    functionSourceFile: /src/cairo/test/record2x.c
    functionUses: []
    functionsReached:
    - cairo_paint_with_alpha
    - cairo_test_paint_checkered
    - cairo_set_source_rgb
    - cairo_clip
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *paint_alpha_solid_clip (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_scale
      Src: /src/cairo/test/record2x.c:361,1
    - Dst: record_create
      Src: /src/cairo/test/record2x.c:364,1
    - Dst: func
      Src: /src/cairo/test/record2x.c:362,1
    - Dst: func
      Src: /src/cairo/test/record2x.c:364,1
    - Dst: record_get
      Src: /src/cairo/test/record2x.c:364,1
    - Dst: cairo_scale
      Src: /src/cairo/test/record2x.c:366,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/record2x.c:367,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/record2x.c:368,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/record2x.c:369,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/record2x.c:370,1
    - Dst: cairo_reset_clip
      Src: /src/cairo/test/record2x.c:377,1
    - Dst: cairo_clip
      Src: /src/cairo/test/record2x.c:375,1
    - Dst: cairo_paint
      Src: /src/cairo/test/record2x.c:376,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/record2x.c:370,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/record2x.c:374,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 4
    argNames:
    - cr
    - (*func)
    - width
    - height
    argTypes:
    - cairo_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 383
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 383
    functionName: record_replay
    functionSourceFile: /src/cairo/test/record2x.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - func
    - cairo_get_source
    - record_create
    - record_get
    - cairo_surface_destroy
    - cairo_pattern_set_extend
    - cairo_scale
    - cairo_set_operator
    - cairo_clip
    - cairo_reset_clip
    - cairo_set_source_surface
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_replay (cairo_t *cr, cairo_t *(*func)(cairo_t
      *), int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay
      Src: /src/cairo/test/record2x.c:394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 395
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 395
    functionName: record_paint_alpha
    functionSourceFile: /src/cairo/test/record2x.c
    functionUses: []
    functionsReached:
    - record_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_paint_alpha (cairo_t *cr, int width,
      int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay
      Src: /src/cairo/test/record2x.c:430,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 431
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 431
    functionName: record_select_font_face
    functionSourceFile: /src/cairo/test/record2x.c
    functionUses: []
    functionsReached:
    - record_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_select_font_face (cairo_t *cr, int
      width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/record2x.c:301,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/record2x.c:309,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record2x.c:304,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record2x.c:307,1
    - Dst: cairo_paint
      Src: /src/cairo/test/record2x.c:305,1
    - Dst: draw_text_transform
      Src: /src/cairo/test/record2x.c:313,1
    - Dst: cairo_translate
      Src: /src/cairo/test/record2x.c:315,1
    - Dst: cairo_rotate
      Src: /src/cairo/test/record2x.c:316,1
    - Dst: cairo_test_create_pattern_from_png
      Src: /src/cairo/test/record2x.c:318,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/record2x.c:319,1
    - Dst: draw_text_transform
      Src: /src/cairo/test/record2x.c:323,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/record2x.c:320,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/record2x.c:321,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 326
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 326
    functionName: text_transform
    functionSourceFile: /src/cairo/test/record2x.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - draw_text_transform
    - cairo_test_get_context
    - cairo_pattern_set_extend
    - cairo_set_source
    - cairo_test_create_pattern_from_png
    - cairo_select_font_face
    - cairo_rotate
    - cairo_set_source_rgb
    - cairo_translate
    - cairo_pattern_destroy
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *text_transform (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record2x.c:158,1
    - Dst: cairo_paint
      Src: /src/cairo/test/record2x.c:159,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/record2x.c:164,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/record2x.c:163,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record2x.c:161,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/record2x.c:166,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/record2x.c:169,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/record2x.c:171,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/record2x.c:174,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/record2x.c:176,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/record2x.c:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 182
    functionName: select_font_face
    functionSourceFile: /src/cairo/test/record2x.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_show_text
    - cairo_set_font_size
    - cairo_select_font_face
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *select_font_face (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_translate
      Src: /src/cairo/test/record2x.c:236,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record2x.c:238,1
    - Dst: cairo_paint
      Src: /src/cairo/test/record2x.c:234,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record2x.c:233,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/record2x.c:242,1
    - Dst: cairo_fill
      Src: /src/cairo/test/record2x.c:246,1
    - Dst: cairo_translate
      Src: /src/cairo/test/record2x.c:249,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/record2x.c:254,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/record2x.c:255,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/record2x.c:258,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/record2x.c:252,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/record2x.c:253,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/record2x.c:250,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/record2x.c:241,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/record2x.c:243,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/record2x.c:244,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/record2x.c:256,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/record2x.c:259,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/record2x.c:251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 262
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 262
    functionName: self_intersecting
    functionSourceFile: /src/cairo/test/record2x.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgb
    - cairo_set_line_width
    - cairo_rel_line_to
    - cairo_close_path
    - cairo_stroke
    - cairo_fill
    - cairo_translate
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *self_intersecting (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay
      Src: /src/cairo/test/record2x.c:436,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 437
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 437
    functionName: record_text_transform
    functionSourceFile: /src/cairo/test/record2x.c
    functionUses: []
    functionsReached:
    - record_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_text_transform (cairo_t *cr, int
      width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/record2x.c:202,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/record2x.c:208,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/record2x.c:210,1
    - Dst: cairo_translate
      Src: /src/cairo/test/record2x.c:214,1
    - Dst: sin
      Src: /src/cairo/test/record2x.c:218,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/record2x.c:207,1
    - Dst: cairo_paint
      Src: /src/cairo/test/record2x.c:192,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/record2x.c:196,1
    - Dst: cairo_translate
      Src: /src/cairo/test/record2x.c:206,1
    - Dst: cos
      Src: /src/cairo/test/record2x.c:217,1
    - Dst: cos
      Src: /src/cairo/test/record2x.c:221,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/record2x.c:224,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record2x.c:191,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/record2x.c:195,1
    - Dst: cairo_translate
      Src: /src/cairo/test/record2x.c:200,1
    - Dst: cairo_arc
      Src: /src/cairo/test/record2x.c:201,1
    - Dst: cairo_fill
      Src: /src/cairo/test/record2x.c:203,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/record2x.c:209,1
    - Dst: cairo_fill
      Src: /src/cairo/test/record2x.c:211,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/record2x.c:220,1
    - Dst: cairo_fill
      Src: /src/cairo/test/record2x.c:197,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/record2x.c:216,1
    - Dst: sin
      Src: /src/cairo/test/record2x.c:222,1
    - Dst: cairo_fill
      Src: /src/cairo/test/record2x.c:225,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 76
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 228
    functionName: fill_alpha
    functionSourceFile: /src/cairo/test/record2x.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgba
    - cairo_line_to
    - cairo_arc
    - cos
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_translate
    - sin
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *fill_alpha (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_init
      Src: /src/cairo/test/record2x.c:270,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/record2x.c:277,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/test/record2x.c:273,1
    - Dst: cairo_set_font_matrix
      Src: /src/cairo/test/record2x.c:274,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/record2x.c:276,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/record2x.c:278,1
    - Dst: cairo_matrix_init_rotate
      Src: /src/cairo/test/record2x.c:281,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/test/record2x.c:282,1
    - Dst: cairo_set_font_matrix
      Src: /src/cairo/test/record2x.c:283,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/record2x.c:285,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/record2x.c:286,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/test/record2x.c:290,1
    - Dst: cairo_set_font_matrix
      Src: /src/cairo/test/record2x.c:291,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/record2x.c:287,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/record2x.c:293,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/record2x.c:294,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/record2x.c:295,1
    - Dst: cairo_matrix_init_rotate
      Src: /src/cairo/test/record2x.c:289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 296
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 296
    functionName: draw_text_transform
    functionSourceFile: /src/cairo/test/record2x.c
    functionUses: []
    functionsReached:
    - cairo_matrix_scale
    - cairo_show_text
    - cairo_new_path
    - cairo_set_font_matrix
    - cairo_matrix_init_rotate
    - cairo_move_to
    - cairo_matrix_init
    linkageType: ''
    returnType: void
    signature: 'static void draw_text_transform (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/test/record2x.c:106,1
    - Dst: cairo_clip
      Src: /src/cairo/test/record2x.c:112,1
    - Dst: cairo_scale
      Src: /src/cairo/test/record2x.c:114,1
    - Dst: cairo_test_paint_checkered
      Src: /src/cairo/test/record2x.c:109,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/record2x.c:111,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/record2x.c:116,1
    - Dst: cairo_pattern_set_filter
      Src: /src/cairo/test/record2x.c:117,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/record2x.c:117,1
    - Dst: cairo_paint_with_alpha
      Src: /src/cairo/test/record2x.c:118,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/record2x.c:120,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/record2x.c:121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 124
    functionName: paint_alpha_clip
    functionSourceFile: /src/cairo/test/record2x.c
    functionUses: []
    functionsReached:
    - cairo_paint_with_alpha
    - cairo_surface_finish
    - cairo_pattern_set_filter
    - cairo_test_paint_checkered
    - cairo_image_surface_create_for_data
    - cairo_get_source
    - cairo_surface_destroy
    - cairo_scale
    - cairo_clip
    - cairo_set_source_surface
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *paint_alpha_clip (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay
      Src: /src/cairo/test/record2x.c:400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 401
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 401
    functionName: record_paint_alpha_solid_clip
    functionSourceFile: /src/cairo/test/record2x.c
    functionUses: []
    functionsReached:
    - record_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_paint_alpha_solid_clip (cairo_t
      *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay
      Src: /src/cairo/test/record2x.c:412,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 413
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 413
    functionName: record_paint_alpha_clip_mask
    functionSourceFile: /src/cairo/test/record2x.c
    functionUses: []
    functionsReached:
    - record_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_paint_alpha_clip_mask (cairo_t *cr,
      int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record2x.c:53,1
    - Dst: cairo_paint
      Src: /src/cairo/test/record2x.c:54,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record2x.c:59,1
    - Dst: cairo_scale
      Src: /src/cairo/test/record2x.c:57,1
    - Dst: cairo_translate
      Src: /src/cairo/test/record2x.c:56,1
    - Dst: cairo_paint
      Src: /src/cairo/test/record2x.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 63
    functionName: paint
    functionSourceFile: /src/cairo/test/record2x.c
    functionUses: []
    functionsReached:
    - cairo_translate
    - cairo_paint
    - cairo_scale
    - cairo_set_source_rgb
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *paint (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/test/record2x.c:131,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/record2x.c:137,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/record2x.c:136,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/record2x.c:138,1
    - Dst: cairo_test_paint_checkered
      Src: /src/cairo/test/record2x.c:134,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/record2x.c:139,1
    - Dst: cairo_clip
      Src: /src/cairo/test/record2x.c:140,1
    - Dst: cairo_scale
      Src: /src/cairo/test/record2x.c:142,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/record2x.c:144,1
    - Dst: cairo_pattern_set_filter
      Src: /src/cairo/test/record2x.c:145,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/record2x.c:148,1
    - Dst: cairo_paint_with_alpha
      Src: /src/cairo/test/record2x.c:146,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/record2x.c:145,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/record2x.c:149,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 152
    functionName: paint_alpha_clip_mask
    functionSourceFile: /src/cairo/test/record2x.c
    functionUses: []
    functionsReached:
    - cairo_paint_with_alpha
    - cairo_surface_finish
    - cairo_pattern_set_filter
    - cairo_line_to
    - cairo_test_paint_checkered
    - cairo_image_surface_create_for_data
    - cairo_get_source
    - cairo_surface_destroy
    - cairo_scale
    - cairo_clip
    - cairo_move_to
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *paint_alpha_clip_mask (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay
      Src: /src/cairo/test/record2x.c:406,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 407
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 407
    functionName: record_paint_alpha_clip
    functionSourceFile: /src/cairo/test/record2x.c
    functionUses: []
    functionsReached:
    - record_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_paint_alpha_clip (cairo_t *cr, int
      width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay
      Src: /src/cairo/test/record2x.c:418,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 419
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 419
    functionName: record_fill_alpha
    functionSourceFile: /src/cairo/test/record2x.c
    functionUses: []
    functionsReached:
    - record_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_fill_alpha (cairo_t *cr, int width,
      int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/group-clip.c:31,1
    - Dst: cairo_clip_preserve
      Src: /src/cairo/test/group-clip.c:35,1
    - Dst: cairo_push_group
      Src: /src/cairo/test/group-clip.c:36,1
    - Dst: cairo_paint
      Src: /src/cairo/test/group-clip.c:32,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/group-clip.c:34,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/group-clip.c:37,1
    - Dst: cairo_fill
      Src: /src/cairo/test/group-clip.c:38,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/group-clip.c:39,1
    - Dst: cairo_pop_group_to_source
      Src: /src/cairo/test/group-clip.c:40,1
    - Dst: cairo_paint
      Src: /src/cairo/test/group-clip.c:41,1
    - Dst: cairo_reset_clip
      Src: /src/cairo/test/group-clip.c:43,1
    - Dst: cairo_paint
      Src: /src/cairo/test/group-clip.c:46,1
    - Dst: cairo_clip_preserve
      Src: /src/cairo/test/group-clip.c:44,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/group-clip.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 49
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 49
    functionName: draw
    functionSourceFile: /src/cairo/test/group-clip.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgba
    - cairo_pop_group_to_source
    - cairo_clip_preserve
    - cairo_set_source_rgb
    - cairo_fill
    - cairo_push_group
    - cairo_reset_clip
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/xcomposite-projection.c:51,1
    - Dst: cairo_paint
      Src: /src/cairo/test/xcomposite-projection.c:55,1
    - Dst: cairo_create
      Src: /src/cairo/test/xcomposite-projection.c:52,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/xcomposite-projection.c:54,1
    - Dst: cairo_pattern_create_for_surface
      Src: /src/cairo/test/xcomposite-projection.c:57,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/xcomposite-projection.c:57,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/xcomposite-projection.c:58,1
    - Dst: cairo_test_create_surface_from_png
      Src: /src/cairo/test/xcomposite-projection.c:60,1
    - Dst: cairo_pattern_create_for_surface
      Src: /src/cairo/test/xcomposite-projection.c:61,1
    - Dst: cairo_image_surface_get_width
      Src: /src/cairo/test/xcomposite-projection.c:64,1
    - Dst: cairo_image_surface_get_height
      Src: /src/cairo/test/xcomposite-projection.c:65,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/xcomposite-projection.c:66,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 69
    functionName: get_source
    functionSourceFile: /src/cairo/test/xcomposite-projection.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_for_surface
    - cairo_paint
    - cairo_test_create_surface_from_png
    - cairo_create
    - cairo_image_surface_get_height
    - cairo_surface_destroy
    - cairo_image_surface_create
    - cairo_get_target
    - cairo_set_source_rgb
    - cairo_destroy
    - cairo_image_surface_get_width
    linkageType: ''
    returnType: cairo_pattern_t*
    signature: "static cairo_pattern_t *get_source (const cairo_test_context_t *ctx,\t\
      \ int *width, int *height) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_source
      Src: /src/cairo/test/xcomposite-projection.c:77,1
    - Dst: cairo_set_antialias
      Src: /src/cairo/test/xcomposite-projection.c:81,1
    - Dst: cairo_paint
      Src: /src/cairo/test/xcomposite-projection.c:85,1
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/xcomposite-projection.c:77,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/xcomposite-projection.c:84,1
    - Dst: cairo_translate
      Src: /src/cairo/test/xcomposite-projection.c:88,1
    - Dst: cairo_rotate
      Src: /src/cairo/test/xcomposite-projection.c:89,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/xcomposite-projection.c:92,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/xcomposite-projection.c:95,1
    - Dst: cairo_fill
      Src: /src/cairo/test/xcomposite-projection.c:96,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/xcomposite-projection.c:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 101
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 101
    functionName: draw
    functionSourceFile: /src/cairo/test/xcomposite-projection.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_test_get_context
    - get_source
    - cairo_set_source
    - cairo_rotate
    - cairo_set_source_rgb
    - cairo_translate
    - cairo_fill
    - cairo_pattern_destroy
    - cairo_set_antialias
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_mkdir
      Src: /src/cairo/test/ps-surface-source.c:37,1
    - Dst: free
      Src: /src/cairo/test/ps-surface-source.c:42,1
    - Dst: cairo_surface_set_fallback_resolution
      Src: /src/cairo/test/ps-surface-source.c:41,1
    - Dst: xasprintf
      Src: /src/cairo/test/ps-surface-source.c:39,1
    - Dst: cairo_ps_surface_create
      Src: /src/cairo/test/ps-surface-source.c:40,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 45
    functionName: create_source_surface
    functionSourceFile: /src/cairo/test/ps-surface-source.c
    functionUses: []
    functionsReached:
    - free
    - xasprintf
    - cairo_surface_set_fallback_resolution
    - cairo_test_mkdir
    - cairo_ps_surface_create
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *create_source_surface (int size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/dash-offset.c:55,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/dash-offset.c:58,1
    - Dst: cairo_paint
      Src: /src/cairo/test/dash-offset.c:56,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/dash-offset.c:59,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/dash-offset.c:62,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/dash-offset.c:64,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/dash-offset.c:65,1
    - Dst: cairo_set_dash
      Src: /src/cairo/test/dash-offset.c:66,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/dash-offset.c:67,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/dash-offset.c:67,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/dash-offset.c:69,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/dash-offset.c:68,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/dash-offset.c:68,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 44
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 75
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 75
    functionName: draw
    functionSourceFile: /src/cairo/test/dash-offset.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_line_width
    - cairo_line_to
    - ARRAY_LENGTH
    - cairo_set_dash
    - cairo_stroke
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clear.c:39,1
    - Dst: cairo_restore
      Src: /src/cairo/test/clear.c:43,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clear.c:48,1
    - Dst: cairo_arc
      Src: /src/cairo/test/clear.c:49,1
    - Dst: cairo_save
      Src: /src/cairo/test/clear.c:54,1
    - Dst: cairo_translate
      Src: /src/cairo/test/clear.c:45,1
    - Dst: cairo_restore
      Src: /src/cairo/test/clear.c:63,1
    - Dst: cairo_translate
      Src: /src/cairo/test/clear.c:65,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clear.c:68,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/clear.c:69,1
    - Dst: cairo_save
      Src: /src/cairo/test/clear.c:38,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clear.c:33,1
    - Dst: cairo_fill
      Src: /src/cairo/test/clear.c:42,1
    - Dst: cairo_translate
      Src: /src/cairo/test/clear.c:53,1
    - Dst: cairo_restore
      Src: /src/cairo/test/clear.c:51,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clear.c:56,1
    - Dst: cairo_text_extents
      Src: /src/cairo/test/clear.c:57,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/clear.c:58,1
    - Dst: cairo_text_path
      Src: /src/cairo/test/clear.c:61,1
    - Dst: cairo_fill
      Src: /src/cairo/test/clear.c:62,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clear.c:71,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clear.c:40,1
    - Dst: cairo_fill
      Src: /src/cairo/test/clear.c:50,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clear.c:47,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clear.c:67,1
    - Dst: cairo_fill
      Src: /src/cairo/test/clear.c:73,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clear.c:70,1
    - Dst: cairo_restore
      Src: /src/cairo/test/clear.c:74,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clear.c:32,1
    - Dst: cairo_translate
      Src: /src/cairo/test/clear.c:37,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/clear.c:35,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clear.c:41,1
    - Dst: cairo_save
      Src: /src/cairo/test/clear.c:46,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clear.c:55,1
    - Dst: cairo_save
      Src: /src/cairo/test/clear.c:66,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/clear.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 44
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 77
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 77
    functionName: draw
    functionSourceFile: /src/cairo/test/clear.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgb
    - cairo_line_to
    - cairo_arc
    - cairo_save
    - cairo_text_path
    - cairo_close_path
    - cairo_restore
    - cairo_set_operator
    - cairo_fill
    - cairo_translate
    - cairo_text_extents
    - cairo_clip
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_fill
      Src: /src/cairo/test/record-replay-extend.c:95,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record-replay-extend.c:99,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record-replay-extend.c:109,1
    - Dst: cairo_fill
      Src: /src/cairo/test/record-replay-extend.c:105,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/record-replay-extend.c:115,1
    - Dst: cairo_transform
      Src: /src/cairo/test/record-replay-extend.c:91,1
    - Dst: cairo_create
      Src: /src/cairo/test/record-replay-extend.c:90,1
    - Dst: cairo_recording_surface_create
      Src: /src/cairo/test/record-replay-extend.c:88,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/record-replay-extend.c:98,1
    - Dst: cairo_translate
      Src: /src/cairo/test/record-replay-extend.c:102,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/record-replay-extend.c:108,1
    - Dst: cairo_translate
      Src: /src/cairo/test/record-replay-extend.c:107,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/record-replay-extend.c:112,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/record-replay-extend.c:117,1
    - Dst: transform_extents
      Src: /src/cairo/test/record-replay-extend.c:87,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record-replay-extend.c:94,1
    - Dst: cairo_fill
      Src: /src/cairo/test/record-replay-extend.c:100,1
    - Dst: cairo_fill
      Src: /src/cairo/test/record-replay-extend.c:110,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record-replay-extend.c:104,1
    - Dst: cairo_pattern_create_for_surface
      Src: /src/cairo/test/record-replay-extend.c:114,1
    - Dst: cairo_pattern_set_matrix
      Src: /src/cairo/test/record-replay-extend.c:116,1
    - Dst: cairo_pattern_set_filter
      Src: /src/cairo/test/record-replay-extend.c:118,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/record-replay-extend.c:93,1
    - Dst: cairo_translate
      Src: /src/cairo/test/record-replay-extend.c:97,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/record-replay-extend.c:103,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 121
    functionName: create_pattern
    functionSourceFile: /src/cairo/test/record-replay-extend.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_for_surface
    - cairo_transform
    - cairo_destroy
    - cairo_pattern_set_filter
    - cairo_create
    - cairo_pattern_set_matrix
    - cairo_surface_destroy
    - cairo_pattern_set_extend
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_translate
    - cairo_recording_surface_create
    - transform_extents
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_pattern_t*
    signature: 'static cairo_pattern_t *create_pattern (cairo_matrix_t *mat, cairo_extend_t
      extend) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay_extend
      Src: /src/cairo/test/record-replay-extend.c:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: record_replay_extend_none
    functionSourceFile: /src/cairo/test/record-replay-extend.c
    functionUses: []
    functionsReached:
    - record_replay_extend
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_replay_extend_none (cairo_t *cr,
      int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay_extend
      Src: /src/cairo/test/record-replay-extend.c:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 195
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 195
    functionName: record_replay_extend_reflect
    functionSourceFile: /src/cairo/test/record-replay-extend.c
    functionUses: []
    functionsReached:
    - record_replay_extend
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_replay_extend_reflect (cairo_t *cr,
      int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay_extend
      Src: /src/cairo/test/record-replay-extend.c:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 189
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 189
    functionName: record_replay_extend_repeat
    functionSourceFile: /src/cairo/test/record-replay-extend.c
    functionUses: []
    functionsReached:
    - record_replay_extend
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_replay_extend_repeat (cairo_t *cr,
      int width, int height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pattern_set_matrix
      Src: /src/cairo/test/record-replay-extend.c:137,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/record-replay-extend.c:142,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/test/record-replay-extend.c:148,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/record-replay-extend.c:152,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/test/record-replay-extend.c:158,1
    - Dst: cairo_fill
      Src: /src/cairo/test/record-replay-extend.c:163,1
    - Dst: sqrt
      Src: /src/cairo/test/record-replay-extend.c:167,1
    - Dst: create_pattern
      Src: /src/cairo/test/record-replay-extend.c:170,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/record-replay-extend.c:171,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/record-replay-extend.c:172,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/record-replay-extend.c:140,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/record-replay-extend.c:141,1
    - Dst: cairo_translate
      Src: /src/cairo/test/record-replay-extend.c:146,1
    - Dst: cairo_translate
      Src: /src/cairo/test/record-replay-extend.c:156,1
    - Dst: sqrt
      Src: /src/cairo/test/record-replay-extend.c:167,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/test/record-replay-extend.c:169,1
    - Dst: cairo_fill
      Src: /src/cairo/test/record-replay-extend.c:174,1
    - Dst: cairo_translate
      Src: /src/cairo/test/record-replay-extend.c:130,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/test/record-replay-extend.c:136,1
    - Dst: create_pattern
      Src: /src/cairo/test/record-replay-extend.c:132,1
    - Dst: cairo_fill
      Src: /src/cairo/test/record-replay-extend.c:143,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/test/record-replay-extend.c:157,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/test/record-replay-extend.c:147,1
    - Dst: cairo_fill
      Src: /src/cairo/test/record-replay-extend.c:153,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/record-replay-extend.c:162,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/test/record-replay-extend.c:167,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/test/record-replay-extend.c:131,1
    - Dst: create_pattern
      Src: /src/cairo/test/record-replay-extend.c:149,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/record-replay-extend.c:151,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/record-replay-extend.c:150,1
    - Dst: create_pattern
      Src: /src/cairo/test/record-replay-extend.c:159,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/record-replay-extend.c:160,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/record-replay-extend.c:161,1
    - Dst: cairo_translate
      Src: /src/cairo/test/record-replay-extend.c:166,1
    - Dst: cairo_matrix_rotate
      Src: /src/cairo/test/record-replay-extend.c:168,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/record-replay-extend.c:173,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 72
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - extend
    argTypes:
    - cairo_t*
    - int
    - int
    - cairo_extend_t
    constantsTouched: []
    func_position:
      end: 177
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 177
    functionName: record_replay_extend
    functionSourceFile: /src/cairo/test/record-replay-extend.c
    functionUses: []
    functionsReached:
    - cairo_matrix_scale
    - create_pattern
    - cairo_matrix_translate
    - sqrt
    - cairo_pattern_set_matrix
    - cairo_set_source
    - cairo_fill
    - cairo_translate
    - cairo_matrix_rotate
    - cairo_matrix_init_translate
    - cairo_pattern_destroy
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_replay_extend (cairo_t *cr, int
      width, int height, cairo_extend_t extend) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay_extend
      Src: /src/cairo/test/record-replay-extend.c:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 201
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 201
    functionName: record_replay_extend_pad
    functionSourceFile: /src/cairo/test/record-replay-extend.c
    functionUses: []
    functionsReached:
    - record_replay_extend
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_replay_extend_pad (cairo_t *cr,
      int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/test/record-replay-extend.c:52,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/test/record-replay-extend.c:58,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/test/record-replay-extend.c:68,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/test/record-replay-extend.c:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 2
    argNames:
    - extents
    - mat
    argTypes:
    - cairo_rectangle_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 77
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 77
    functionName: transform_extents
    functionSourceFile: /src/cairo/test/record-replay-extend.c
    functionUses: []
    functionsReached:
    - cairo_matrix_transform_point
    linkageType: ''
    returnType: void
    signature: 'static void transform_extents(cairo_rectangle_t *extents, cairo_matrix_t
      *mat) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/radial-outer-focus.c:35,1
    - Dst: cairo_save
      Src: /src/cairo/test/radial-outer-focus.c:42,1
    - Dst: cairo_clip
      Src: /src/cairo/test/radial-outer-focus.c:44,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/radial-outer-focus.c:43,1
    - Dst: cairo_paint
      Src: /src/cairo/test/radial-outer-focus.c:36,1
    - Dst: cairo_pattern_create_radial
      Src: /src/cairo/test/radial-outer-focus.c:46,1
    - Dst: cos
      Src: /src/cairo/test/radial-outer-focus.c:46,1
    - Dst: sin
      Src: /src/cairo/test/radial-outer-focus.c:46,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/test/radial-outer-focus.c:48,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/test/radial-outer-focus.c:49,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/radial-outer-focus.c:54,1
    - Dst: cairo_restore
      Src: /src/cairo/test/radial-outer-focus.c:57,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/radial-outer-focus.c:53,1
    - Dst: cairo_translate
      Src: /src/cairo/test/radial-outer-focus.c:51,1
    - Dst: cairo_paint
      Src: /src/cairo/test/radial-outer-focus.c:56,1
    - Dst: cairo_scale
      Src: /src/cairo/test/radial-outer-focus.c:52,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 64
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 64
    functionName: draw
    functionSourceFile: /src/cairo/test/radial-outer-focus.c
    functionUses: []
    functionsReached:
    - sin
    - cairo_paint
    - cos
    - cairo_save
    - cairo_pattern_add_color_stop_rgb
    - cairo_set_source
    - cairo_scale
    - cairo_pattern_create_radial
    - cairo_restore
    - cairo_set_source_rgb
    - cairo_translate
    - cairo_clip
    - cairo_pattern_destroy
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/test/gradient-alpha.c:32,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/gradient-alpha.c:41,1
    - Dst: cairo_paint
      Src: /src/cairo/test/gradient-alpha.c:43,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/gradient-alpha.c:37,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/gradient-alpha.c:34,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/gradient-alpha.c:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 48
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 48
    functionName: draw
    functionSourceFile: /src/cairo/test/gradient-alpha.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_pattern_create_linear
    - cairo_set_source
    - cairo_pattern_add_color_stop_rgba
    - cairo_pattern_destroy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/test/rectilinear-fill.c:33,1
    - Dst: cairo_fill
      Src: /src/cairo/test/rectilinear-fill.c:37,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/rectilinear-fill.c:36,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/rectilinear-fill.c:39,1
    - Dst: cairo_fill
      Src: /src/cairo/test/rectilinear-fill.c:40,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/rectilinear-fill.c:42,1
    - Dst: cairo_fill
      Src: /src/cairo/test/rectilinear-fill.c:43,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/rectilinear-fill.c:45,1
    - Dst: cairo_fill
      Src: /src/cairo/test/rectilinear-fill.c:46,1
    - Dst: cairo_translate
      Src: /src/cairo/test/rectilinear-fill.c:49,1
    - Dst: cairo_fill
      Src: /src/cairo/test/rectilinear-fill.c:54,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/rectilinear-fill.c:51,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/rectilinear-fill.c:50,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/rectilinear-fill.c:52,1
    - Dst: cairo_restore
      Src: /src/cairo/test/rectilinear-fill.c:56,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/rectilinear-fill.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 57
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 57
    functionName: draw_rectangles
    functionSourceFile: /src/cairo/test/rectilinear-fill.c
    functionUses: []
    functionsReached:
    - cairo_save
    - cairo_restore
    - cairo_fill
    - cairo_translate
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void draw_rectangles (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/rectilinear-fill.c:63,1
    - Dst: cairo_translate
      Src: /src/cairo/test/rectilinear-fill.c:70,1
    - Dst: cairo_paint
      Src: /src/cairo/test/rectilinear-fill.c:64,1
    - Dst: draw_rectangles
      Src: /src/cairo/test/rectilinear-fill.c:67,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/rectilinear-fill.c:65,1
    - Dst: cairo_scale
      Src: /src/cairo/test/rectilinear-fill.c:71,1
    - Dst: draw_rectangles
      Src: /src/cairo/test/rectilinear-fill.c:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 76
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 76
    functionName: draw
    functionSourceFile: /src/cairo/test/rectilinear-fill.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - draw_rectangles
    - cairo_set_source_rgb
    - cairo_scale
    - cairo_translate
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_move_to
      Src: /src/cairo/test/line-width-zero.c:40,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/line-width-zero.c:44,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/line-width-zero.c:45,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/line-width-zero.c:41,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/line-width-zero.c:42,1
    - Dst: cairo_stroke_extents
      Src: /src/cairo/test/line-width-zero.c:46,1
    - Dst: cairo_in_stroke
      Src: /src/cairo/test/line-width-zero.c:47,1
    - Dst: cairo_stroke_preserve
      Src: /src/cairo/test/line-width-zero.c:48,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/line-width-zero.c:50,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/line-width-zero.c:51,1
    - Dst: cairo_in_stroke
      Src: /src/cairo/test/line-width-zero.c:53,1
    - Dst: cairo_stroke_preserve
      Src: /src/cairo/test/line-width-zero.c:54,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/line-width-zero.c:60,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/line-width-zero.c:56,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/line-width-zero.c:57,1
    - Dst: cairo_stroke_extents
      Src: /src/cairo/test/line-width-zero.c:58,1
    - Dst: cairo_stroke_extents
      Src: /src/cairo/test/line-width-zero.c:52,1
    - Dst: cairo_in_stroke
      Src: /src/cairo/test/line-width-zero.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 63
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 63
    functionName: draw
    functionSourceFile: /src/cairo/test/line-width-zero.c
    functionUses: []
    functionsReached:
    - cairo_stroke_extents
    - cairo_set_line_width
    - cairo_line_to
    - cairo_set_line_join
    - cairo_stroke
    - cairo_set_line_cap
    - cairo_stroke_preserve
    - cairo_in_stroke
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_fill
      Src: /src/cairo/test/clipped-group.c:45,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clipped-group.c:53,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clipped-group.c:62,1
    - Dst: cairo_save
      Src: /src/cairo/test/clipped-group.c:60,1
    - Dst: cairo_fill
      Src: /src/cairo/test/clipped-group.c:65,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clipped-group.c:74,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clipped-group.c:77,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clipped-group.c:34,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clipped-group.c:39,1
    - Dst: cairo_translate
      Src: /src/cairo/test/clipped-group.c:47,1
    - Dst: cairo_save
      Src: /src/cairo/test/clipped-group.c:50,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clipped-group.c:52,1
    - Dst: cairo_translate
      Src: /src/cairo/test/clipped-group.c:57,1
    - Dst: cairo_restore
      Src: /src/cairo/test/clipped-group.c:55,1
    - Dst: cairo_restore
      Src: /src/cairo/test/clipped-group.c:68,1
    - Dst: cairo_translate
      Src: /src/cairo/test/clipped-group.c:70,1
    - Dst: cairo_pop_group_to_source
      Src: /src/cairo/test/clipped-group.c:76,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clipped-group.c:35,1
    - Dst: cairo_scale
      Src: /src/cairo/test/clipped-group.c:38,1
    - Dst: cairo_fill
      Src: /src/cairo/test/clipped-group.c:54,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clipped-group.c:64,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clipped-group.c:61,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clipped-group.c:67,1
    - Dst: cairo_push_group
      Src: /src/cairo/test/clipped-group.c:73,1
    - Dst: cairo_fill
      Src: /src/cairo/test/clipped-group.c:75,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clipped-group.c:44,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clipped-group.c:51,1
    - Dst: cairo_push_group
      Src: /src/cairo/test/clipped-group.c:63,1
    - Dst: cairo_pop_group_to_source
      Src: /src/cairo/test/clipped-group.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 80
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 80
    functionName: draw
    functionSourceFile: /src/cairo/test/clipped-group.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_pop_group_to_source
    - cairo_save
    - cairo_scale
    - cairo_restore
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_translate
    - cairo_push_group
    - cairo_clip
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/big-empty-box.c:40,1
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/test/big-empty-box.c:50,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/big-empty-box.c:47,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/big-empty-box.c:46,1
    - Dst: cairo_paint
      Src: /src/cairo/test/big-empty-box.c:41,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/big-empty-box.c:51,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/big-empty-box.c:52,1
    - Dst: cairo_fill
      Src: /src/cairo/test/big-empty-box.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 56
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 56
    functionName: draw
    functionSourceFile: /src/cairo/test/big-empty-box.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_operator
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_set_fill_rule
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/stroke-ctm-caps.c:44,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/stroke-ctm-caps.c:51,1
    - Dst: cairo_paint
      Src: /src/cairo/test/stroke-ctm-caps.c:45,1
    - Dst: cairo_scale
      Src: /src/cairo/test/stroke-ctm-caps.c:49,1
    - Dst: cairo_translate
      Src: /src/cairo/test/stroke-ctm-caps.c:48,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/stroke-ctm-caps.c:53,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/stroke-ctm-caps.c:54,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/stroke-ctm-caps.c:55,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/stroke-ctm-caps.c:57,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/stroke-ctm-caps.c:58,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/stroke-ctm-caps.c:61,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/stroke-ctm-caps.c:66,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/stroke-ctm-caps.c:62,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/stroke-ctm-caps.c:59,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/stroke-ctm-caps.c:63,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/stroke-ctm-caps.c:67,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/stroke-ctm-caps.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 70
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 70
    functionName: draw
    functionSourceFile: /src/cairo/test/stroke-ctm-caps.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_line_width
    - cairo_set_source_rgb
    - cairo_line_to
    - cairo_set_line_join
    - cairo_scale
    - cairo_stroke
    - cairo_set_line_cap
    - cairo_translate
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - A
    - B
    argTypes:
    - cairo_text_extents_t*
    - cairo_text_extents_t*
    constantsTouched: []
    func_position:
      end: 41
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 41
    functionName: text_extents_equal
    functionSourceFile: /src/cairo/test/font-matrix-translation.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t text_extents_equal (const cairo_text_extents_t\
      \ *A,\t const cairo_text_extents_t *B) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/font-matrix-translation.c:96,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/font-matrix-translation.c:104,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/font-matrix-translation.c:107,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/font-matrix-translation.c:101,1
    - Dst: cairo_paint
      Src: /src/cairo/test/font-matrix-translation.c:102,1
    - Dst: cairo_translate
      Src: /src/cairo/test/font-matrix-translation.c:109,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/font-matrix-translation.c:110,1
    - Dst: cairo_text_extents
      Src: /src/cairo/test/font-matrix-translation.c:112,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/font-matrix-translation.c:115,1
    - Dst: box_text
      Src: /src/cairo/test/font-matrix-translation.c:116,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/font-matrix-translation.c:127,1
    - Dst: box_text
      Src: /src/cairo/test/font-matrix-translation.c:128,1
    - Dst: cairo_set_font_matrix
      Src: /src/cairo/test/font-matrix-translation.c:125,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/test/font-matrix-translation.c:124,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/test/font-matrix-translation.c:123,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 133
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 133
    functionName: draw
    functionSourceFile: /src/cairo/test/font-matrix-translation.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_font_matrix
    - box_text
    - cairo_matrix_scale
    - cairo_set_line_width
    - cairo_test_get_context
    - cairo_set_font_size
    - cairo_select_font_face
    - cairo_set_source_rgb
    - cairo_translate
    - cairo_matrix_init_translate
    - cairo_text_extents
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/test/font-matrix-translation.c:53,1
    - Dst: cairo_scaled_font_text_extents
      Src: /src/cairo/test/font-matrix-translation.c:58,1
    - Dst: cairo_get_scaled_font
      Src: /src/cairo/test/font-matrix-translation.c:57,1
    - Dst: cairo_scaled_font_status
      Src: /src/cairo/test/font-matrix-translation.c:59,1
    - Dst: cairo_text_extents
      Src: /src/cairo/test/font-matrix-translation.c:55,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/font-matrix-translation.c:61,1
    - Dst: text_extents_equal
      Src: /src/cairo/test/font-matrix-translation.c:63,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/font-matrix-translation.c:64,1
    - Dst: cairo_get_line_width
      Src: /src/cairo/test/font-matrix-translation.c:77,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/font-matrix-translation.c:78,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/font-matrix-translation.c:85,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/font-matrix-translation.c:86,1
    - Dst: cairo_restore
      Src: /src/cairo/test/font-matrix-translation.c:88,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/font-matrix-translation.c:83,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 5
    argNames:
    - ctx
    - cr
    - utf8
    - x
    - y
    argTypes:
    - cairo_test_context_t*
    - cairo_t*
    - char*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 91
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 91
    functionName: box_text
    functionSourceFile: /src/cairo/test/font-matrix-translation.c
    functionUses: []
    functionsReached:
    - text_extents_equal
    - cairo_test_log
    - cairo_get_scaled_font
    - cairo_get_line_width
    - cairo_show_text
    - cairo_scaled_font_status
    - cairo_test_status_from_status
    - cairo_save
    - cairo_scaled_font_text_extents
    - cairo_stroke
    - cairo_restore
    - cairo_text_extents
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: "static cairo_test_status_t box_text (const cairo_test_context_t *ctx,\
      \ cairo_t *cr,\t const char *utf8,\t double x, double y) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_device_finish
      Src: /src/cairo/test/xcb-surface-source.c:46,1
    - Dst: cairo_device_destroy
      Src: /src/cairo/test/xcb-surface-source.c:47,1
    - Dst: xcb_disconnect
      Src: /src/cairo/test/xcb-surface-source.c:50,1
    - Dst: xcb_free_pixmap
      Src: /src/cairo/test/xcb-surface-source.c:49,1
    - Dst: free
      Src: /src/cairo/test/xcb-surface-source.c:52,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 53
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 53
    functionName: cleanup
    functionSourceFile: /src/cairo/test/xcb-surface-source.c
    functionUses: []
    functionsReached:
    - xcb_free_pixmap
    - cairo_device_destroy
    - free
    - xcb_disconnect
    - cairo_device_finish
    linkageType: ''
    returnType: void
    signature: 'static void cleanup (void *data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xcb_connect
      Src: /src/cairo/test/xcb-surface-source.c:100,1
    - Dst: xcb_disconnect
      Src: /src/cairo/test/xcb-surface-source.c:109,1
    - Dst: xmalloc
      Src: /src/cairo/test/xcb-surface-source.c:104,1
    - Dst: find_depth
      Src: /src/cairo/test/xcb-surface-source.c:107,1
    - Dst: free
      Src: /src/cairo/test/xcb-surface-source.c:110,1
    - Dst: xcb_setup_roots_iterator
      Src: /src/cairo/test/xcb-surface-source.c:114,1
    - Dst: xcb_get_setup
      Src: /src/cairo/test/xcb-surface-source.c:114,1
    - Dst: xcb_generate_id
      Src: /src/cairo/test/xcb-surface-source.c:116,1
    - Dst: xcb_create_pixmap_checked
      Src: /src/cairo/test/xcb-surface-source.c:117,1
    - Dst: xcb_request_check
      Src: /src/cairo/test/xcb-surface-source.c:120,1
    - Dst: free
      Src: /src/cairo/test/xcb-surface-source.c:132,1
    - Dst: free
      Src: /src/cairo/test/xcb-surface-source.c:121,1
    - Dst: cairo_device_reference
      Src: /src/cairo/test/xcb-surface-source.c:134,1
    - Dst: free
      Src: /src/cairo/test/xcb-surface-source.c:123,1
    - Dst: cairo_surface_get_device
      Src: /src/cairo/test/xcb-surface-source.c:134,1
    - Dst: cairo_xcb_surface_create_with_xrender_format
      Src: /src/cairo/test/xcb-surface-source.c:127,1
    - Dst: xcb_disconnect
      Src: /src/cairo/test/xcb-surface-source.c:122,1
    - Dst: cairo_surface_set_user_data
      Src: /src/cairo/test/xcb-surface-source.c:135,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 141
    functionName: create_source_surface
    functionSourceFile: /src/cairo/test/xcb-surface-source.c
    functionUses: []
    functionsReached:
    - xcb_create_pixmap_checked
    - xcb_setup_roots_iterator
    - cairo_surface_set_user_data
    - xmalloc
    - free
    - xcb_get_setup
    - cairo_device_reference
    - xcb_disconnect
    - cairo_xcb_surface_create_with_xrender_format
    - xcb_connect
    - cairo_surface_get_device
    - find_depth
    - xcb_request_check
    - xcb_generate_id
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *create_source_surface (int size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xcb_render_query_pict_formats
      Src: /src/cairo/test/xcb-surface-source.c:62,1
    - Dst: xcb_render_query_pict_formats_formats_iterator
      Src: /src/cairo/test/xcb-surface-source.c:69,1
    - Dst: xcb_render_query_pict_formats_reply
      Src: /src/cairo/test/xcb-surface-source.c:65,1
    - Dst: xcb_render_pictforminfo_next
      Src: /src/cairo/test/xcb-surface-source.c:71,1
    - Dst: xcb_flush
      Src: /src/cairo/test/xcb-surface-source.c:63,1
    - Dst: free
      Src: /src/cairo/test/xcb-surface-source.c:83,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 85
    functionName: find_depth
    functionSourceFile: /src/cairo/test/xcb-surface-source.c
    functionUses: []
    functionsReached:
    - xcb_flush
    - xcb_render_pictforminfo_next
    - free
    - xcb_render_query_pict_formats_formats_iterator
    - xcb_render_query_pict_formats
    - xcb_render_query_pict_formats_reply
    linkageType: ''
    returnType: xcb_render_pictforminfo_t*
    signature: 'static xcb_render_pictforminfo_t *find_depth (xcb_connection_t *connection,
      int depth, void **formats_out) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FcPatternGetString
      Src: /src/cairo/test/ft-svg-color-font.c:71,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/ft-svg-color-font.c:85,1
    - Dst: FcPatternCreate
      Src: /src/cairo/test/ft-svg-color-font.c:53,1
    - Dst: FcPatternDestroy
      Src: /src/cairo/test/ft-svg-color-font.c:86,1
    - Dst: strcmp
      Src: /src/cairo/test/ft-svg-color-font.c:72,1
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/ft-svg-color-font.c:73,1
    - Dst: FcConfigSubstitute
      Src: /src/cairo/test/ft-svg-color-font.c:58,1
    - Dst: cairo_ft_font_options_substitute
      Src: /src/cairo/test/ft-svg-color-font.c:62,1
    - Dst: FcDefaultSubstitute
      Src: /src/cairo/test/ft-svg-color-font.c:64,1
    - Dst: FcFontMatch
      Src: /src/cairo/test/ft-svg-color-font.c:65,1
    - Dst: FcPatternDestroy
      Src: /src/cairo/test/ft-svg-color-font.c:87,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/ft-svg-color-font.c:74,1
    - Dst: FcPatternAddString
      Src: /src/cairo/test/ft-svg-color-font.c:57,1
    - Dst: cairo_get_font_options
      Src: /src/cairo/test/ft-svg-color-font.c:61,1
    - Dst: cairo_font_options_create
      Src: /src/cairo/test/ft-svg-color-font.c:60,1
    - Dst: FcPatternDestroy
      Src: /src/cairo/test/ft-svg-color-font.c:67,1
    - Dst: cairo_font_options_destroy
      Src: /src/cairo/test/ft-svg-color-font.c:84,1
    - Dst: cairo_set_font_face
      Src: /src/cairo/test/ft-svg-color-font.c:82,1
    - Dst: cairo_ft_font_face_create_for_pattern
      Src: /src/cairo/test/ft-svg-color-font.c:81,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 90
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 90
    functionName: set_color_emoji_font
    functionSourceFile: /src/cairo/test/ft-svg-color-font.c
    functionUses: []
    functionsReached:
    - FcDefaultSubstitute
    - cairo_test_log
    - cairo_set_font_face
    - FcConfigSubstitute
    - cairo_font_options_destroy
    - cairo_font_options_create
    - cairo_test_get_context
    - cairo_font_face_destroy
    - strcmp
    - cairo_ft_font_options_substitute
    - cairo_ft_font_face_create_for_pattern
    - FcPatternCreate
    - FcPatternDestroy
    - FcPatternAddString
    - FcPatternGetString
    - FcFontMatch
    - cairo_get_font_options
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t set_color_emoji_font (cairo_t *cr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: set_color_emoji_font
      Src: /src/cairo/test/ft-svg-color-font.c:102,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/ft-svg-color-font.c:113,1
    - Dst: cairo_font_options_set_color_mode
      Src: /src/cairo/test/ft-svg-color-font.c:117,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/ft-svg-color-font.c:120,1
    - Dst: cairo_font_options_set_color_mode
      Src: /src/cairo/test/ft-svg-color-font.c:126,1
    - Dst: cairo_set_font_options
      Src: /src/cairo/test/ft-svg-color-font.c:127,1
    - Dst: cairo_text_path
      Src: /src/cairo/test/ft-svg-color-font.c:130,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/ft-svg-color-font.c:134,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/ft-svg-color-font.c:135,1
    - Dst: cairo_paint
      Src: /src/cairo/test/ft-svg-color-font.c:99,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/ft-svg-color-font.c:100,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/ft-svg-color-font.c:106,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/ft-svg-color-font.c:109,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/ft-svg-color-font.c:112,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/ft-svg-color-font.c:123,1
    - Dst: cairo_text_path
      Src: /src/cairo/test/ft-svg-color-font.c:133,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/ft-svg-color-font.c:111,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/ft-svg-color-font.c:122,1
    - Dst: cairo_font_options_destroy
      Src: /src/cairo/test/ft-svg-color-font.c:128,1
    - Dst: cairo_text_path
      Src: /src/cairo/test/ft-svg-color-font.c:132,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/ft-svg-color-font.c:98,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/ft-svg-color-font.c:110,1
    - Dst: cairo_font_options_create
      Src: /src/cairo/test/ft-svg-color-font.c:116,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/ft-svg-color-font.c:121,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/ft-svg-color-font.c:119,1
    - Dst: cairo_set_font_options
      Src: /src/cairo/test/ft-svg-color-font.c:118,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/ft-svg-color-font.c:129,1
    - Dst: cairo_text_path
      Src: /src/cairo/test/ft-svg-color-font.c:131,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 138
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 138
    functionName: draw
    functionSourceFile: /src/cairo/test/ft-svg-color-font.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_show_text
    - cairo_font_options_set_color_mode
    - cairo_font_options_create
    - cairo_set_font_options
    - cairo_font_options_destroy
    - cairo_set_line_width
    - cairo_set_font_size
    - cairo_text_path
    - cairo_stroke
    - cairo_set_source_rgb
    - cairo_move_to
    - set_color_emoji_font
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/curve-to-as-line-to.c:48,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/curve-to-as-line-to.c:51,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/curve-to-as-line-to.c:52,1
    - Dst: cairo_paint
      Src: /src/cairo/test/curve-to-as-line-to.c:49,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/curve-to-as-line-to.c:53,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/curve-to-as-line-to.c:54,1
    - Dst: cairo_translate
      Src: /src/cairo/test/curve-to-as-line-to.c:56,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/curve-to-as-line-to.c:63,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/curve-to-as-line-to.c:65,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/curve-to-as-line-to.c:70,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/curve-to-as-line-to.c:75,1
    - Dst: cairo_translate
      Src: /src/cairo/test/curve-to-as-line-to.c:72,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/curve-to-as-line-to.c:83,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/curve-to-as-line-to.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 86
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 86
    functionName: draw
    functionSourceFile: /src/cairo/test/curve-to-as-line-to.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_line_width
    - cairo_curve_to
    - cairo_set_line_join
    - cairo_stroke
    - cairo_set_line_cap
    - cairo_set_source_rgb
    - cairo_translate
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_new_sub_path
      Src: /src/cairo/test/close-path-current-point.c:39,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/close-path-current-point.c:34,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/close-path-current-point.c:40,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/close-path-current-point.c:41,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/close-path-current-point.c:42,1
    - Dst: cairo_new_sub_path
      Src: /src/cairo/test/close-path-current-point.c:55,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/close-path-current-point.c:61,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/close-path-current-point.c:71,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/close-path-current-point.c:81,1
    - Dst: cairo_paint
      Src: /src/cairo/test/close-path-current-point.c:35,1
    - Dst: cairo_new_sub_path
      Src: /src/cairo/test/close-path-current-point.c:47,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/close-path-current-point.c:51,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/close-path-current-point.c:62,1
    - Dst: cairo_new_sub_path
      Src: /src/cairo/test/close-path-current-point.c:75,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/close-path-current-point.c:84,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/close-path-current-point.c:43,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/close-path-current-point.c:60,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/close-path-current-point.c:56,1
    - Dst: cairo_arc
      Src: /src/cairo/test/close-path-current-point.c:66,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/close-path-current-point.c:70,1
    - Dst: cairo_arc_negative
      Src: /src/cairo/test/close-path-current-point.c:76,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/close-path-current-point.c:80,1
    - Dst: cairo_save
      Src: /src/cairo/test/close-path-current-point.c:33,1
    - Dst: cairo_restore
      Src: /src/cairo/test/close-path-current-point.c:36,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/close-path-current-point.c:44,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/close-path-current-point.c:48,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/close-path-current-point.c:49,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/close-path-current-point.c:50,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/close-path-current-point.c:52,1
    - Dst: cairo_new_sub_path
      Src: /src/cairo/test/close-path-current-point.c:65,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/close-path-current-point.c:72,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/close-path-current-point.c:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 53
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 87
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 87
    functionName: draw
    functionSourceFile: /src/cairo/test/close-path-current-point.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgb
    - cairo_line_to
    - cairo_rel_line_to
    - cairo_curve_to
    - cairo_arc
    - cairo_save
    - cairo_close_path
    - cairo_stroke
    - cairo_restore
    - cairo_new_sub_path
    - cairo_arc_negative
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/test/rgb24-ignore-alpha.c:42,1
    - Dst: cairo_paint
      Src: /src/cairo/test/rgb24-ignore-alpha.c:46,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/rgb24-ignore-alpha.c:49,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/rgb24-ignore-alpha.c:45,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/rgb24-ignore-alpha.c:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 52
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 52
    functionName: draw
    functionSourceFile: /src/cairo/test/rgb24-ignore-alpha.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_surface_finish
    - cairo_image_surface_create_for_data
    - cairo_surface_destroy
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_push_group
      Src: /src/cairo/test/group-paint.c:30,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/group-paint.c:32,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/group-paint.c:36,1
    - Dst: cairo_pop_group_to_source
      Src: /src/cairo/test/group-paint.c:35,1
    - Dst: cairo_paint
      Src: /src/cairo/test/group-paint.c:33,1
    - Dst: cairo_paint
      Src: /src/cairo/test/group-paint.c:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 40
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 40
    functionName: draw
    functionSourceFile: /src/cairo/test/group-paint.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_pop_group_to_source
    - cairo_set_operator
    - cairo_set_source_rgb
    - cairo_push_group
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/extend-pad-similar.c:46,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/extend-pad-similar.c:43,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/extend-pad-similar.c:52,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/extend-pad-similar.c:62,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/extend-pad-similar.c:66,1
    - Dst: cairo_create
      Src: /src/cairo/test/extend-pad-similar.c:42,1
    - Dst: cairo_get_group_target
      Src: /src/cairo/test/extend-pad-similar.c:40,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/extend-pad-similar.c:47,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/extend-pad-similar.c:66,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/extend-pad-similar.c:57,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/extend-pad-similar.c:70,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/extend-pad-similar.c:70,1
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/extend-pad-similar.c:40,1
    - Dst: cairo_fill
      Src: /src/cairo/test/extend-pad-similar.c:53,1
    - Dst: cairo_fill
      Src: /src/cairo/test/extend-pad-similar.c:63,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/extend-pad-similar.c:69,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/extend-pad-similar.c:56,1
    - Dst: cairo_paint
      Src: /src/cairo/test/extend-pad-similar.c:71,1
    - Dst: cairo_fill
      Src: /src/cairo/test/extend-pad-similar.c:48,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/extend-pad-similar.c:51,1
    - Dst: cairo_fill
      Src: /src/cairo/test/extend-pad-similar.c:58,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/extend-pad-similar.c:61,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 74
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 74
    functionName: draw
    functionSourceFile: /src/cairo/test/extend-pad-similar.c
    functionUses: []
    functionsReached:
    - cairo_get_group_target
    - cairo_paint
    - cairo_get_source
    - cairo_create
    - cairo_surface_destroy
    - cairo_pattern_set_extend
    - cairo_get_target
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_destroy
    - cairo_surface_create_similar
    - cairo_set_source_surface
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_recording_surface_create
      Src: /src/cairo/test/recording-ink-extents.c:128,1
    - Dst: cairo_paint
      Src: /src/cairo/test/recording-ink-extents.c:131,1
    - Dst: check_extents
      Src: /src/cairo/test/recording-ink-extents.c:135,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/recording-ink-extents.c:133,1
    - Dst: cairo_create
      Src: /src/cairo/test/recording-ink-extents.c:129,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/recording-ink-extents.c:137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - test_cr
    argTypes:
    - cairo_test_context_t*
    constantsTouched: []
    func_position:
      end: 139
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 139
    functionName: bounded_paint
    functionSourceFile: /src/cairo/test/recording-ink-extents.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - check_extents
    - cairo_create
    - cairo_surface_destroy
    - cairo_destroy
    - cairo_recording_surface_create
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t bounded_paint (cairo_test_context_t *test_cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_recording_surface_create
      Src: /src/cairo/test/recording-ink-extents.c:86,1
    - Dst: cairo_create
      Src: /src/cairo/test/recording-ink-extents.c:87,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/recording-ink-extents.c:92,1
    - Dst: cairo_fill
      Src: /src/cairo/test/recording-ink-extents.c:90,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/recording-ink-extents.c:89,1
    - Dst: check_extents
      Src: /src/cairo/test/recording-ink-extents.c:94,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/recording-ink-extents.c:96,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - test_cr
    argTypes:
    - cairo_test_context_t*
    constantsTouched: []
    func_position:
      end: 98
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 98
    functionName: bounded_fill
    functionSourceFile: /src/cairo/test/recording-ink-extents.c
    functionUses: []
    functionsReached:
    - check_extents
    - cairo_create
    - cairo_surface_destroy
    - cairo_fill
    - cairo_destroy
    - cairo_recording_surface_create
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t bounded_fill (cairo_test_context_t *test_cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_recording_surface_create
      Src: /src/cairo/test/recording-ink-extents.c:64,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/recording-ink-extents.c:70,1
    - Dst: cairo_create
      Src: /src/cairo/test/recording-ink-extents.c:65,1
    - Dst: cairo_fill
      Src: /src/cairo/test/recording-ink-extents.c:68,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/recording-ink-extents.c:67,1
    - Dst: check_extents
      Src: /src/cairo/test/recording-ink-extents.c:72,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/recording-ink-extents.c:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - test_cr
    argTypes:
    - cairo_test_context_t*
    constantsTouched: []
    func_position:
      end: 76
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 76
    functionName: unbounded_fill
    functionSourceFile: /src/cairo/test/recording-ink-extents.c
    functionUses: []
    functionsReached:
    - check_extents
    - cairo_create
    - cairo_surface_destroy
    - cairo_fill
    - cairo_destroy
    - cairo_recording_surface_create
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t unbounded_fill (cairo_test_context_t *test_cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_recording_surface_create
      Src: /src/cairo/test/recording-ink-extents.c:107,1
    - Dst: cairo_create
      Src: /src/cairo/test/recording-ink-extents.c:108,1
    - Dst: cairo_paint
      Src: /src/cairo/test/recording-ink-extents.c:110,1
    - Dst: check_extents
      Src: /src/cairo/test/recording-ink-extents.c:114,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/recording-ink-extents.c:112,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/recording-ink-extents.c:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - test_cr
    argTypes:
    - cairo_test_context_t*
    constantsTouched: []
    func_position:
      end: 118
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 118
    functionName: unbounded_paint
    functionSourceFile: /src/cairo/test/recording-ink-extents.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - check_extents
    - cairo_create
    - cairo_surface_destroy
    - cairo_destroy
    - cairo_recording_surface_create
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t unbounded_paint (cairo_test_context_t *test_cr) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unbounded_fill
      Src: /src/cairo/test/recording-ink-extents.c:146,1
    - Dst: bounded_fill
      Src: /src/cairo/test/recording-ink-extents.c:150,1
    - Dst: unbounded_paint
      Src: /src/cairo/test/recording-ink-extents.c:154,1
    - Dst: bounded_paint
      Src: /src/cairo/test/recording-ink-extents.c:158,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_test_context_t*
    constantsTouched: []
    func_position:
      end: 163
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 163
    functionName: preamble
    functionSourceFile: /src/cairo/test/recording-ink-extents.c
    functionUses: []
    functionsReached:
    - bounded_paint
    - unbounded_fill
    - unbounded_paint
    - bounded_fill
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t preamble (cairo_test_context_t *cr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_recording_surface_ink_extents
      Src: /src/cairo/test/recording-ink-extents.c:39,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/recording-ink-extents.c:45,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 7
    argNames:
    - cr
    - recording_surface
    - func_name
    - expected_x
    - expected_y
    - expected_w
    - expected_h
    argTypes:
    - cairo_test_context_t*
    - cairo_surface_t*
    - char*
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 55
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 55
    functionName: check_extents
    functionSourceFile: /src/cairo/test/recording-ink-extents.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - cairo_recording_surface_ink_extents
    linkageType: ''
    returnType: cairo_test_status_t
    signature: "static cairo_test_status_t check_extents (cairo_test_context_t *cr,\t\
      \ cairo_surface_t *recording_surface,\t const char * func_name,\t double expected_x,\
      \ double expected_y, double expected_w, double expected_h) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/scale-offset-similar.c:38,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/scale-offset-similar.c:44,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/scale-offset-similar.c:42,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/scale-offset-similar.c:45,1
    - Dst: cairo_create
      Src: /src/cairo/test/scale-offset-similar.c:41,1
    - Dst: cairo_fill
      Src: /src/cairo/test/scale-offset-similar.c:48,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/scale-offset-similar.c:49,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/scale-offset-similar.c:50,1
    - Dst: cairo_fill
      Src: /src/cairo/test/scale-offset-similar.c:53,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/scale-offset-similar.c:54,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/scale-offset-similar.c:59,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/scale-offset-similar.c:60,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/test/scale-offset-similar.c:65,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/scale-offset-similar.c:66,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/scale-offset-similar.c:55,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/scale-offset-similar.c:65,1
    - Dst: cairo_fill
      Src: /src/cairo/test/scale-offset-similar.c:58,1
    - Dst: cairo_fill
      Src: /src/cairo/test/scale-offset-similar.c:63,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 69
    functionName: create_source
    functionSourceFile: /src/cairo/test/scale-offset-similar.c
    functionUses: []
    functionsReached:
    - cairo_surface_reference
    - cairo_create
    - cairo_surface_destroy
    - cairo_get_target
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_destroy
    - cairo_surface_create_similar
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *create_source (cairo_surface_t *target, int
      width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_paint
      Src: /src/cairo/test/scale-offset-similar.c:112,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/scale-offset-similar.c:116,1
    - Dst: create_source
      Src: /src/cairo/test/scale-offset-similar.c:114,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/scale-offset-similar.c:114,1
    - Dst: cairo_pattern_create_for_surface
      Src: /src/cairo/test/scale-offset-similar.c:115,1
    - Dst: cairo_pattern_set_filter
      Src: /src/cairo/test/scale-offset-similar.c:118,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/scale-offset-similar.c:119,1
    - Dst: draw_grid
      Src: /src/cairo/test/scale-offset-similar.c:121,1
    - Dst: draw_grid
      Src: /src/cairo/test/scale-offset-similar.c:122,1
    - Dst: draw_grid
      Src: /src/cairo/test/scale-offset-similar.c:123,1
    - Dst: draw_grid
      Src: /src/cairo/test/scale-offset-similar.c:126,1
    - Dst: draw_grid
      Src: /src/cairo/test/scale-offset-similar.c:127,1
    - Dst: draw_grid
      Src: /src/cairo/test/scale-offset-similar.c:129,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/scale-offset-similar.c:131,1
    - Dst: draw_grid
      Src: /src/cairo/test/scale-offset-similar.c:124,1
    - Dst: draw_grid
      Src: /src/cairo/test/scale-offset-similar.c:128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 134
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 134
    functionName: draw
    functionSourceFile: /src/cairo/test/scale-offset-similar.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_for_surface
    - cairo_paint
    - create_source
    - cairo_pattern_set_filter
    - draw_grid
    - cairo_surface_destroy
    - cairo_pattern_set_extend
    - cairo_get_target
    - cairo_pattern_destroy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_scale
      Src: /src/cairo/test/scale-offset-similar.c:78,1
    - Dst: cairo_pattern_set_matrix
      Src: /src/cairo/test/scale-offset-similar.c:82,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/scale-offset-similar.c:92,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/scale-offset-similar.c:93,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/scale-offset-similar.c:95,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/scale-offset-similar.c:94,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/scale-offset-similar.c:89,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/scale-offset-similar.c:88,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/scale-offset-similar.c:91,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/scale-offset-similar.c:90,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/scale-offset-similar.c:101,1
    - Dst: cairo_save
      Src: /src/cairo/test/scale-offset-similar.c:76,1
    - Dst: cairo_rotate
      Src: /src/cairo/test/scale-offset-similar.c:79,1
    - Dst: cairo_translate
      Src: /src/cairo/test/scale-offset-similar.c:77,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/scale-offset-similar.c:83,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/scale-offset-similar.c:84,1
    - Dst: cairo_restore
      Src: /src/cairo/test/scale-offset-similar.c:103,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/scale-offset-similar.c:96,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/scale-offset-similar.c:97,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/scale-offset-similar.c:98,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/scale-offset-similar.c:99,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/scale-offset-similar.c:100,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/test/scale-offset-similar.c:81,1
    - Dst: cairo_fill
      Src: /src/cairo/test/scale-offset-similar.c:85,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/scale-offset-similar.c:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 4
    argNames:
    - cr
    - pattern
    - dst_x
    - dst_y
    argTypes:
    - cairo_t*
    - cairo_pattern_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 104
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 104
    functionName: draw_grid
    functionSourceFile: /src/cairo/test/scale-offset-similar.c
    functionUses: []
    functionsReached:
    - cairo_set_source_rgb
    - cairo_set_line_width
    - cairo_line_to
    - cairo_save
    - cairo_pattern_set_matrix
    - cairo_set_source
    - cairo_scale
    - cairo_stroke
    - cairo_restore
    - cairo_fill
    - cairo_rotate
    - cairo_translate
    - cairo_matrix_init_translate
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void draw_grid (cairo_t *cr, cairo_pattern_t *pattern, int
      dst_x, int dst_y) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/miter-precision.c:39,1
    - Dst: cairo_paint
      Src: /src/cairo/test/miter-precision.c:40,1
    - Dst: cairo_save
      Src: /src/cairo/test/miter-precision.c:48,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/miter-precision.c:42,1
    - Dst: cairo_set_miter_limit
      Src: /src/cairo/test/miter-precision.c:43,1
    - Dst: cairo_translate
      Src: /src/cairo/test/miter-precision.c:50,1
    - Dst: cairo_translate
      Src: /src/cairo/test/miter-precision.c:52,1
    - Dst: cairo_scale
      Src: /src/cairo/test/miter-precision.c:53,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/miter-precision.c:54,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/miter-precision.c:55,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/miter-precision.c:57,1
    - Dst: cairo_restore
      Src: /src/cairo/test/miter-precision.c:59,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/miter-precision.c:56,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/miter-precision.c:58,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 63
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 63
    functionName: draw
    functionSourceFile: /src/cairo/test/miter-precision.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgb
    - cairo_set_line_width
    - cairo_line_to
    - cairo_save
    - cairo_scale
    - cairo_stroke
    - cairo_restore
    - cairo_translate
    - cairo_set_miter_limit
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_rectangle
      Src: /src/cairo/test/unbounded-operator.c:109,1
    - Dst: cairo_fill
      Src: /src/cairo/test/unbounded-operator.c:113,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - cr
    - x
    - y
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 114
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 114
    functionName: draw_rects
    functionSourceFile: /src/cairo/test/unbounded-operator.c
    functionUses: []
    functionsReached:
    - cairo_fill
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void draw_rects (cairo_t *cr, int x, int y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/unbounded-operator.c:71,1
    - Dst: cairo_text_extents
      Src: /src/cairo/test/unbounded-operator.c:73,1
    - Dst: floor
      Src: /src/cairo/test/unbounded-operator.c:75,1
    - Dst: floor
      Src: /src/cairo/test/unbounded-operator.c:76,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/unbounded-operator.c:74,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/unbounded-operator.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - cr
    - x
    - y
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 78
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 78
    functionName: draw_glyphs
    functionSourceFile: /src/cairo/test/unbounded-operator.c
    functionUses: []
    functionsReached:
    - cairo_show_text
    - cairo_set_font_size
    - cairo_text_extents
    - cairo_move_to
    - floor
    linkageType: ''
    returnType: void
    signature: 'static void draw_glyphs (cairo_t *cr, int x, int y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/unbounded-operator.c:45,1
    - Dst: cairo_create
      Src: /src/cairo/test/unbounded-operator.c:48,1
    - Dst: cairo_get_group_target
      Src: /src/cairo/test/unbounded-operator.c:45,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/unbounded-operator.c:49,1
    - Dst: cairo_save
      Src: /src/cairo/test/unbounded-operator.c:51,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/unbounded-operator.c:52,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/unbounded-operator.c:53,1
    - Dst: cairo_paint
      Src: /src/cairo/test/unbounded-operator.c:54,1
    - Dst: cairo_restore
      Src: /src/cairo/test/unbounded-operator.c:55,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/unbounded-operator.c:57,1
    - Dst: cairo_arc
      Src: /src/cairo/test/unbounded-operator.c:59,1
    - Dst: cairo_fill
      Src: /src/cairo/test/unbounded-operator.c:60,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/unbounded-operator.c:62,1
    - Dst: cairo_mask_surface
      Src: /src/cairo/test/unbounded-operator.c:62,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/unbounded-operator.c:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 3
    argNames:
    - cr
    - x
    - y
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 64
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 64
    functionName: draw_mask
    functionSourceFile: /src/cairo/test/unbounded-operator.c
    functionUses: []
    functionsReached:
    - cairo_get_group_target
    - cairo_paint
    - cairo_mask_surface
    - cairo_set_source_rgba
    - cairo_destroy
    - cairo_arc
    - cairo_create
    - cairo_save
    - cairo_surface_destroy
    - cairo_restore
    - cairo_set_operator
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_get_target
    - cairo_surface_create_similar
    linkageType: ''
    returnType: void
    signature: 'static void draw_mask (cairo_t *cr, int x, int y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_new_path
      Src: /src/cairo/test/unbounded-operator.c:88,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/unbounded-operator.c:91,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/unbounded-operator.c:89,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/unbounded-operator.c:90,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/unbounded-operator.c:92,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/unbounded-operator.c:93,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/unbounded-operator.c:94,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/unbounded-operator.c:95,1
    - Dst: cairo_fill
      Src: /src/cairo/test/unbounded-operator.c:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 3
    argNames:
    - cr
    - x
    - y
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 97
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 97
    functionName: draw_polygon
    functionSourceFile: /src/cairo/test/unbounded-operator.c
    functionUses: []
    functionsReached:
    - cairo_new_path
    - cairo_line_to
    - cairo_close_path
    - cairo_fill
    - cairo_move_to
    linkageType: ''
    returnType: void
    signature: 'static void draw_polygon (cairo_t *cr, int x, int y) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/unbounded-operator.c:134,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/unbounded-operator.c:143,1
    - Dst: cairo_save
      Src: /src/cairo/test/unbounded-operator.c:147,1
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/test/unbounded-operator.c:149,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/unbounded-operator.c:156,1
    - Dst: cairo_clip
      Src: /src/cairo/test/unbounded-operator.c:160,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/unbounded-operator.c:174,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/unbounded-operator.c:142,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/unbounded-operator.c:155,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/test/unbounded-operator.c:159,1
    - Dst: cairo_restore
      Src: /src/cairo/test/unbounded-operator.c:169,1
    - Dst: cairo_status
      Src: /src/cairo/test/unbounded-operator.c:173,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/unbounded-operator.c:151,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/unbounded-operator.c:162,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/unbounded-operator.c:167,1
    - Dst: cairo_status
      Src: /src/cairo/test/unbounded-operator.c:166,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/unbounded-operator.c:138,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/unbounded-operator.c:153,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/unbounded-operator.c:163,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/unbounded-operator.c:158,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 177
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 177
    functionName: draw
    functionSourceFile: /src/cairo/test/unbounded-operator.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - cairo_set_source_rgb
    - cairo_test_get_context
    - cairo_pattern_create_linear
    - ARRAY_LENGTH
    - cairo_save
    - cairo_set_source
    - cairo_status
    - cairo_restore
    - cairo_select_font_face
    - cairo_pattern_add_color_stop_rgba
    - cairo_fill_preserve
    - cairo_set_operator
    - cairo_clip
    - cairo_pattern_destroy
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/big-trap.c:63,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/big-trap.c:70,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/big-trap.c:69,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/big-trap.c:66,1
    - Dst: cairo_paint
      Src: /src/cairo/test/big-trap.c:64,1
    - Dst: cairo_clip
      Src: /src/cairo/test/big-trap.c:71,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/big-trap.c:73,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/big-trap.c:74,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/big-trap.c:75,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/big-trap.c:76,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/big-trap.c:78,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/big-trap.c:77,1
    - Dst: cairo_fill
      Src: /src/cairo/test/big-trap.c:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 82
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 82
    functionName: draw
    functionSourceFile: /src/cairo/test/big-trap.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_new_path
    - cairo_line_to
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_clip
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_font_face
      Src: /src/cairo/test/user-font-proxy.c:85,1
    - Dst: cairo_scaled_font_get_font_face
      Src: /src/cairo/test/user-font-proxy.c:86,1
    - Dst: cairo_glyph_extents
      Src: /src/cairo/test/user-font-proxy.c:90,1
    - Dst: cairo_show_glyphs
      Src: /src/cairo/test/user-font-proxy.c:89,1
    - Dst: cairo_font_face_get_user_data
      Src: /src/cairo/test/user-font-proxy.c:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - scaled_font
    - glyph
    - cr
    - extents
    argTypes:
    - cairo_scaled_font_t*
    - unsigned long
    - cairo_t*
    - cairo_text_extents_t*
    constantsTouched: []
    func_position:
      end: 93
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 93
    functionName: test_scaled_font_render_glyph
    functionSourceFile: /src/cairo/test/user-font-proxy.c
    functionUses: []
    functionsReached:
    - cairo_set_font_face
    - cairo_show_glyphs
    - cairo_glyph_extents
    - cairo_font_face_get_user_data
    - cairo_scaled_font_get_font_face
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t test_scaled_font_render_glyph (cairo_scaled_font_t\
      \ *scaled_font,\t\t\t unsigned long glyph,\t\t\t cairo_t *cr,\t\t\t cairo_text_extents_t\
      \ *extents) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_user_font_face_create
      Src: /src/cairo/test/user-font-proxy.c:123,1
    - Dst: cairo_user_font_face_set_render_glyph_func
      Src: /src/cairo/test/user-font-proxy.c:125,1
    - Dst: cairo_user_font_face_set_init_func
      Src: /src/cairo/test/user-font-proxy.c:124,1
    - Dst: cairo_user_font_face_set_text_to_glyphs_func
      Src: /src/cairo/test/user-font-proxy.c:126,1
    - Dst: cairo_toy_font_face_create
      Src: /src/cairo/test/user-font-proxy.c:131,1
    - Dst: cairo_font_face_set_user_data
      Src: /src/cairo/test/user-font-proxy.c:135,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/user-font-proxy.c:140,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/user-font-proxy.c:141,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - out
    argTypes:
    - cairo_font_face_t**
    constantsTouched: []
    func_position:
      end: 147
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 147
    functionName: _user_font_face_create
    functionSourceFile: /src/cairo/test/user-font-proxy.c
    functionUses: []
    functionsReached:
    - cairo_font_face_set_user_data
    - cairo_user_font_face_set_text_to_glyphs_func
    - cairo_font_face_destroy
    - cairo_user_font_face_create
    - cairo_toy_font_face_create
    - cairo_user_font_face_set_init_func
    - cairo_user_font_face_set_render_glyph_func
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _user_font_face_create (cairo_font_face_t **out) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_font_face
      Src: /src/cairo/test/user-font-proxy.c:55,1
    - Dst: cairo_scaled_font_set_user_data
      Src: /src/cairo/test/user-font-proxy.c:59,1
    - Dst: cairo_scaled_font_reference
      Src: /src/cairo/test/user-font-proxy.c:61,1
    - Dst: cairo_font_face_get_user_data
      Src: /src/cairo/test/user-font-proxy.c:56,1
    - Dst: cairo_scaled_font_get_font_face
      Src: /src/cairo/test/user-font-proxy.c:56,1
    - Dst: cairo_get_scaled_font
      Src: /src/cairo/test/user-font-proxy.c:61,1
    - Dst: unlikely
      Src: /src/cairo/test/user-font-proxy.c:63,1
    - Dst: cairo_scaled_font_destroy
      Src: /src/cairo/test/user-font-proxy.c:64,1
    - Dst: cairo_get_scaled_font
      Src: /src/cairo/test/user-font-proxy.c:64,1
    - Dst: cairo_font_extents
      Src: /src/cairo/test/user-font-proxy.c:68,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - scaled_font
    - cr
    - extents
    argTypes:
    - cairo_scaled_font_t*
    - cairo_t*
    - cairo_font_extents_t*
    constantsTouched: []
    func_position:
      end: 71
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 71
    functionName: test_scaled_font_init
    functionSourceFile: /src/cairo/test/user-font-proxy.c
    functionUses: []
    functionsReached:
    - cairo_set_font_face
    - cairo_scaled_font_destroy
    - cairo_get_scaled_font
    - cairo_scaled_font_set_user_data
    - cairo_font_extents
    - unlikely
    - cairo_font_face_get_user_data
    - cairo_scaled_font_get_font_face
    - cairo_scaled_font_reference
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t test_scaled_font_init (cairo_scaled_font_t *scaled_font,\t\
      \t cairo_t *cr,\t\t cairo_font_extents_t *extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_scaled_font_get_user_data
      Src: /src/cairo/test/user-font-proxy.c:107,1
    - Dst: cairo_scaled_font_text_to_glyphs
      Src: /src/cairo/test/user-font-proxy.c:110,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 4
    argCount: 8
    argNames:
    - scaled_font
    - utf8
    - utf8_len
    - glyphs
    - num_glyphs
    - clusters
    - num_clusters
    - cluster_flags
    argTypes:
    - cairo_scaled_font_t*
    - char*
    - int
    - cairo_glyph_t**
    - int*
    - cairo_text_cluster_t**
    - int*
    - cairo_text_cluster_flags_t*
    constantsTouched: []
    func_position:
      end: 114
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 114
    functionName: test_scaled_font_text_to_glyphs
    functionSourceFile: /src/cairo/test/user-font-proxy.c
    functionUses: []
    functionsReached:
    - cairo_scaled_font_text_to_glyphs
    - cairo_scaled_font_get_user_data
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t test_scaled_font_text_to_glyphs (cairo_scaled_font_t\
      \ *scaled_font,\t\t\t\t const char\t *utf8,\t\t\t\t int\t\t utf8_len,\t\t\t\t\
      \ cairo_glyph_t\t **glyphs,\t\t\t\t int\t\t *num_glyphs,\t\t\t\t cairo_text_cluster_t\
      \ **clusters,\t\t\t\t int\t\t *num_clusters,\t\t\t\t cairo_text_cluster_flags_t\
      \ *cluster_flags) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_rotate
      Src: /src/cairo/test/user-font-proxy.c:168,1
    - Dst: _user_font_face_create
      Src: /src/cairo/test/user-font-proxy.c:171,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/user-font-proxy.c:187,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/user-font-proxy.c:180,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/user-font-proxy.c:197,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/user-font-proxy.c:198,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/user-font-proxy.c:212,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/user-font-proxy.c:226,1
    - Dst: strcpy
      Src: /src/cairo/test/user-font-proxy.c:158,1
    - Dst: strcat
      Src: /src/cairo/test/user-font-proxy.c:160,1
    - Dst: cairo_paint
      Src: /src/cairo/test/user-font-proxy.c:164,1
    - Dst: cairo_translate
      Src: /src/cairo/test/user-font-proxy.c:167,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/user-font-proxy.c:186,1
    - Dst: cairo_text_extents
      Src: /src/cairo/test/user-font-proxy.c:183,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/user-font-proxy.c:189,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/user-font-proxy.c:196,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/user-font-proxy.c:205,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/user-font-proxy.c:206,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/user-font-proxy.c:210,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/user-font-proxy.c:220,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/user-font-proxy.c:221,1
    - Dst: strcat
      Src: /src/cairo/test/user-font-proxy.c:161,1
    - Dst: strcat
      Src: /src/cairo/test/user-font-proxy.c:159,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/user-font-proxy.c:173,1
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/user-font-proxy.c:173,1
    - Dst: cairo_set_font_face
      Src: /src/cairo/test/user-font-proxy.c:177,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/user-font-proxy.c:178,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/user-font-proxy.c:194,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/user-font-proxy.c:195,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/user-font-proxy.c:201,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/user-font-proxy.c:204,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/user-font-proxy.c:225,1
    - Dst: cairo_fill
      Src: /src/cairo/test/user-font-proxy.c:228,1
    - Dst: cairo_text_path
      Src: /src/cairo/test/user-font-proxy.c:227,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/user-font-proxy.c:163,1
    - Dst: cairo_font_extents
      Src: /src/cairo/test/user-font-proxy.c:182,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/user-font-proxy.c:188,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/user-font-proxy.c:190,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/user-font-proxy.c:191,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/user-font-proxy.c:192,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/user-font-proxy.c:193,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/user-font-proxy.c:211,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/user-font-proxy.c:218,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/user-font-proxy.c:219,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/user-font-proxy.c:222,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 63
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 231
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 231
    functionName: draw
    functionSourceFile: /src/cairo/test/user-font-proxy.c
    functionUses: []
    functionsReached:
    - cairo_set_line_width
    - _user_font_face_create
    - cairo_text_path
    - cairo_translate
    - cairo_rectangle
    - strcat
    - cairo_show_text
    - cairo_test_get_context
    - cairo_test_status_from_status
    - cairo_font_face_destroy
    - cairo_font_extents
    - cairo_rel_line_to
    - strcpy
    - cairo_stroke
    - cairo_fill
    - cairo_rotate
    - cairo_text_extents
    - cairo_paint
    - cairo_set_font_face
    - cairo_set_font_size
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_move_to
      Src: /src/cairo/test/dash-scale.c:34,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/dash-scale.c:35,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/dash-scale.c:36,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/dash-scale.c:39,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/dash-scale.c:37,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/dash-scale.c:40,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/dash-scale.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 42
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 42
    functionName: make_path
    functionSourceFile: /src/cairo/test/dash-scale.c
    functionUses: []
    functionsReached:
    - cairo_rel_line_to
    - cairo_move_to
    - cairo_close_path
    linkageType: ''
    returnType: void
    signature: 'static void make_path (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_restore
      Src: /src/cairo/test/dash-scale.c:80,1
    - Dst: cairo_translate
      Src: /src/cairo/test/dash-scale.c:82,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/dash-scale.c:84,1
    - Dst: cairo_set_dash
      Src: /src/cairo/test/dash-scale.c:92,1
    - Dst: cairo_scale
      Src: /src/cairo/test/dash-scale.c:94,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/dash-scale.c:104,1
    - Dst: cairo_translate
      Src: /src/cairo/test/dash-scale.c:99,1
    - Dst: cairo_save
      Src: /src/cairo/test/dash-scale.c:90,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/dash-scale.c:78,1
    - Dst: cairo_paint
      Src: /src/cairo/test/dash-scale.c:79,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/dash-scale.c:85,1
    - Dst: draw_three_shapes
      Src: /src/cairo/test/dash-scale.c:86,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/dash-scale.c:92,1
    - Dst: draw_three_shapes
      Src: /src/cairo/test/dash-scale.c:95,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/dash-scale.c:93,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/dash-scale.c:105,1
    - Dst: draw_three_shapes
      Src: /src/cairo/test/dash-scale.c:106,1
    - Dst: cairo_save
      Src: /src/cairo/test/dash-scale.c:77,1
    - Dst: cairo_set_dash
      Src: /src/cairo/test/dash-scale.c:84,1
    - Dst: cairo_translate
      Src: /src/cairo/test/dash-scale.c:88,1
    - Dst: cairo_restore
      Src: /src/cairo/test/dash-scale.c:97,1
    - Dst: cairo_save
      Src: /src/cairo/test/dash-scale.c:101,1
    - Dst: cairo_scale
      Src: /src/cairo/test/dash-scale.c:103,1
    - Dst: cairo_set_dash
      Src: /src/cairo/test/dash-scale.c:104,1
    - Dst: cairo_restore
      Src: /src/cairo/test/dash-scale.c:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 39
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 111
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 111
    functionName: draw
    functionSourceFile: /src/cairo/test/dash-scale.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgb
    - cairo_set_line_width
    - cairo_set_dash
    - ARRAY_LENGTH
    - cairo_save
    - cairo_scale
    - cairo_restore
    - cairo_translate
    - draw_three_shapes
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/test/dash-scale.c:47,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/dash-scale.c:51,1
    - Dst: make_path
      Src: /src/cairo/test/dash-scale.c:49,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/dash-scale.c:50,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/dash-scale.c:52,1
    - Dst: cairo_translate
      Src: /src/cairo/test/dash-scale.c:54,1
    - Dst: make_path
      Src: /src/cairo/test/dash-scale.c:56,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/dash-scale.c:57,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/dash-scale.c:58,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/dash-scale.c:59,1
    - Dst: cairo_translate
      Src: /src/cairo/test/dash-scale.c:61,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/dash-scale.c:64,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/dash-scale.c:65,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/dash-scale.c:66,1
    - Dst: cairo_restore
      Src: /src/cairo/test/dash-scale.c:68,1
    - Dst: make_path
      Src: /src/cairo/test/dash-scale.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 69
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 69
    functionName: draw_three_shapes
    functionSourceFile: /src/cairo/test/dash-scale.c
    functionUses: []
    functionsReached:
    - make_path
    - cairo_save
    - cairo_set_line_join
    - cairo_stroke
    - cairo_restore
    - cairo_set_line_cap
    - cairo_translate
    linkageType: ''
    returnType: void
    signature: 'static void draw_three_shapes (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - a
    - b
    - result
    argTypes:
    - point_t*
    - point_t*
    - point_t*
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: _lerp_half
    functionSourceFile: /src/cairo/test/spline-decomposition.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _lerp_half (const point_t *a, const point_t *b, point_t
      *result) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 64
    argCount: 1
    argNames:
    - knots
    argTypes:
    - knots_t*
    constantsTouched: []
    func_position:
      end: 133
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 133
    functionName: _spline_error_squared
    functionSourceFile: /src/cairo/test/spline-decomposition.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: 'static double _spline_error_squared (const knots_t *knots) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _spline_error_squared
      Src: /src/cairo/test/spline-decomposition.c:173,1
    - Dst: _spline_decompose_into
      Src: /src/cairo/test/spline-decomposition.c:181,1
    - Dst: _de_casteljau
      Src: /src/cairo/test/spline-decomposition.c:178,1
    - Dst: _offset_line_to
      Src: /src/cairo/test/spline-decomposition.c:174,1
    - Dst: _spline_decompose_into
      Src: /src/cairo/test/spline-decomposition.c:180,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - k1
    - tolerance_squared
    - offset
    - cr
    argTypes:
    - knots_t*
    - double
    - double
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 182
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 182
    functionName: _spline_decompose_into
    functionSourceFile: /src/cairo/test/spline-decomposition.c
    functionUses: []
    functionsReached:
    - _spline_error_squared
    - _spline_decompose_into
    - _offset_line_to
    - _de_casteljau
    linkageType: ''
    returnType: void
    signature: "static void _spline_decompose_into (knots_t *k1,\t\t\tdouble tolerance_squared,\t\
      \t\tdouble offset,\t\t\tcairo_t *cr) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - knots
    argTypes:
    - knots_t*
    constantsTouched: []
    func_position:
      end: 209
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 209
    functionName: _knots_reverse
    functionSourceFile: /src/cairo/test/spline-decomposition.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _knots_reverse (knots_t *knots) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_new_path
      Src: /src/cairo/test/spline-decomposition.c:329,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/spline-decomposition.c:342,1
    - Dst: draw_bbox
      Src: /src/cairo/test/spline-decomposition.c:364,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/spline-decomposition.c:371,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/spline-decomposition.c:365,1
    - Dst: cairo_save
      Src: /src/cairo/test/spline-decomposition.c:382,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/spline-decomposition.c:384,1
    - Dst: cairo_translate
      Src: /src/cairo/test/spline-decomposition.c:390,1
    - Dst: cairo_path_extents
      Src: /src/cairo/test/spline-decomposition.c:400,1
    - Dst: draw_bbox
      Src: /src/cairo/test/spline-decomposition.c:406,1
    - Dst: cairo_stroke_extents
      Src: /src/cairo/test/spline-decomposition.c:420,1
    - Dst: cairo_restore
      Src: /src/cairo/test/spline-decomposition.c:430,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/spline-decomposition.c:404,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/spline-decomposition.c:425,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/spline-decomposition.c:413,1
    - Dst: draw_bbox
      Src: /src/cairo/test/spline-decomposition.c:429,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/spline-decomposition.c:393,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/spline-decomposition.c:407,1
    - Dst: draw_bbox
      Src: /src/cairo/test/spline-decomposition.c:408,1
    - Dst: cairo_path_extents
      Src: /src/cairo/test/spline-decomposition.c:421,1
    - Dst: cairo_save
      Src: /src/cairo/test/spline-decomposition.c:326,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/spline-decomposition.c:330,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/spline-decomposition.c:332,1
    - Dst: cairo_translate
      Src: /src/cairo/test/spline-decomposition.c:327,1
    - Dst: cairo_path_extents
      Src: /src/cairo/test/spline-decomposition.c:337,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/spline-decomposition.c:344,1
    - Dst: cairo_path_extents
      Src: /src/cairo/test/spline-decomposition.c:358,1
    - Dst: draw_bbox
      Src: /src/cairo/test/spline-decomposition.c:366,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/spline-decomposition.c:362,1
    - Dst: cairo_restore
      Src: /src/cairo/test/spline-decomposition.c:367,1
    - Dst: cairo_stroke_extents
      Src: /src/cairo/test/spline-decomposition.c:378,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/spline-decomposition.c:374,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/spline-decomposition.c:380,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/spline-decomposition.c:416,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/spline-decomposition.c:422,1
    - Dst: cairo_path_extents
      Src: /src/cairo/test/spline-decomposition.c:379,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/spline-decomposition.c:383,1
    - Dst: cairo_restore
      Src: /src/cairo/test/spline-decomposition.c:388,1
    - Dst: cairo_save
      Src: /src/cairo/test/spline-decomposition.c:340,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/spline-decomposition.c:350,1
    - Dst: draw_bbox
      Src: /src/cairo/test/spline-decomposition.c:343,1
    - Dst: cairo_save
      Src: /src/cairo/test/spline-decomposition.c:361,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/spline-decomposition.c:363,1
    - Dst: draw_bbox
      Src: /src/cairo/test/spline-decomposition.c:385,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/spline-decomposition.c:392,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/spline-decomposition.c:401,1
    - Dst: cairo_save
      Src: /src/cairo/test/spline-decomposition.c:403,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/spline-decomposition.c:405,1
    - Dst: cairo_restore
      Src: /src/cairo/test/spline-decomposition.c:409,1
    - Dst: cairo_translate
      Src: /src/cairo/test/spline-decomposition.c:411,1
    - Dst: draw_bbox
      Src: /src/cairo/test/spline-decomposition.c:387,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/spline-decomposition.c:426,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/spline-decomposition.c:372,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/spline-decomposition.c:386,1
    - Dst: draw_bbox
      Src: /src/cairo/test/spline-decomposition.c:427,1
    - Dst: cairo_stroke_extents
      Src: /src/cairo/test/spline-decomposition.c:336,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/spline-decomposition.c:338,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/spline-decomposition.c:341,1
    - Dst: cairo_restore
      Src: /src/cairo/test/spline-decomposition.c:346,1
    - Dst: cairo_translate
      Src: /src/cairo/test/spline-decomposition.c:348,1
    - Dst: draw_bbox
      Src: /src/cairo/test/spline-decomposition.c:345,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/spline-decomposition.c:353,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/spline-decomposition.c:351,1
    - Dst: cairo_stroke_extents
      Src: /src/cairo/test/spline-decomposition.c:357,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/spline-decomposition.c:359,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/spline-decomposition.c:395,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/spline-decomposition.c:414,1
    - Dst: cairo_save
      Src: /src/cairo/test/spline-decomposition.c:424,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/spline-decomposition.c:428,1
    - Dst: cairo_translate
      Src: /src/cairo/test/spline-decomposition.c:369,1
    - Dst: cairo_stroke_extents
      Src: /src/cairo/test/spline-decomposition.c:399,1
    - Dst: cairo_restore
      Src: /src/cairo/test/spline-decomposition.c:432,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 79
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 433
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 433
    functionName: stroke_splines
    functionSourceFile: /src/cairo/test/spline-decomposition.c
    functionUses: []
    functionsReached:
    - cairo_stroke_extents
    - cairo_new_path
    - cairo_set_line_width
    - cairo_set_source_rgb
    - cairo_curve_to
    - cairo_path_extents
    - cairo_save
    - draw_bbox
    - cairo_stroke
    - cairo_restore
    - cairo_translate
    - cairo_move_to
    linkageType: ''
    returnType: void
    signature: 'static void stroke_splines (cairo_t *cr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hypot
      Src: /src/cairo/test/spline-decomposition.c:147,1
    - Dst: hypot
      Src: /src/cairo/test/spline-decomposition.c:151,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/spline-decomposition.c:160,1
    - Dst: hypot
      Src: /src/cairo/test/spline-decomposition.c:155,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/spline-decomposition.c:162,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 6
    argNames:
    - cr
    - p0
    - p1
    - p2
    - p3
    - offset
    argTypes:
    - cairo_t*
    - point_t*
    - point_t*
    - point_t*
    - point_t*
    - double
    constantsTouched: []
    func_position:
      end: 163
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 163
    functionName: _offset_line_to
    functionSourceFile: /src/cairo/test/spline-decomposition.c
    functionUses: []
    functionsReached:
    - cairo_line_to
    - hypot
    linkageType: ''
    returnType: void
    signature: "static void _offset_line_to (cairo_t *cr,\t\t const point_t *p0,\t\
      \t const point_t *p1,\t\t const point_t *p2,\t\t const point_t *p3,\t\t double\
      \ offset) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _lerp_half
      Src: /src/cairo/test/spline-decomposition.c:58,1
    - Dst: _lerp_half
      Src: /src/cairo/test/spline-decomposition.c:59,1
    - Dst: _lerp_half
      Src: /src/cairo/test/spline-decomposition.c:60,1
    - Dst: _lerp_half
      Src: /src/cairo/test/spline-decomposition.c:62,1
    - Dst: _lerp_half
      Src: /src/cairo/test/spline-decomposition.c:61,1
    - Dst: _lerp_half
      Src: /src/cairo/test/spline-decomposition.c:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - k1
    - k2
    argTypes:
    - knots_t*
    - knots_t*
    constantsTouched: []
    func_position:
      end: 73
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 73
    functionName: _de_casteljau
    functionSourceFile: /src/cairo/test/spline-decomposition.c
    functionUses: []
    functionsReached:
    - _lerp_half
    linkageType: ''
    returnType: void
    signature: 'static void _de_casteljau (knots_t *k1, knots_t *k2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _spline_decompose_into
      Src: /src/cairo/test/spline-decomposition.c:192,1
    - Dst: _offset_line_to
      Src: /src/cairo/test/spline-decomposition.c:194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - knots
    - tolerance
    - offset
    - cr
    argTypes:
    - knots_t*
    - double
    - double
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 195
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 195
    functionName: _spline_decompose
    functionSourceFile: /src/cairo/test/spline-decomposition.c
    functionUses: []
    functionsReached:
    - _spline_decompose_into
    - _offset_line_to
    linkageType: ''
    returnType: void
    signature: "static void _spline_decompose (const knots_t *knots,\t\t double tolerance,\
      \ double offset,\t\t cairo_t *cr) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _knots_reverse
      Src: /src/cairo/test/spline-decomposition.c:223,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/spline-decomposition.c:232,1
    - Dst: _spline_decompose
      Src: /src/cairo/test/spline-decomposition.c:233,1
    - Dst: _knots_reverse
      Src: /src/cairo/test/spline-decomposition.c:245,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/spline-decomposition.c:236,1
    - Dst: _spline_decompose
      Src: /src/cairo/test/spline-decomposition.c:257,1
    - Dst: _spline_decompose
      Src: /src/cairo/test/spline-decomposition.c:268,1
    - Dst: cairo_fill
      Src: /src/cairo/test/spline-decomposition.c:270,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/spline-decomposition.c:221,1
    - Dst: _spline_decompose
      Src: /src/cairo/test/spline-decomposition.c:224,1
    - Dst: _knots_reverse
      Src: /src/cairo/test/spline-decomposition.c:234,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/spline-decomposition.c:243,1
    - Dst: _spline_decompose
      Src: /src/cairo/test/spline-decomposition.c:246,1
    - Dst: cairo_translate
      Src: /src/cairo/test/spline-decomposition.c:250,1
    - Dst: cairo_fill
      Src: /src/cairo/test/spline-decomposition.c:259,1
    - Dst: cairo_translate
      Src: /src/cairo/test/spline-decomposition.c:261,1
    - Dst: _spline_decompose
      Src: /src/cairo/test/spline-decomposition.c:266,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/spline-decomposition.c:269,1
    - Dst: cairo_fill
      Src: /src/cairo/test/spline-decomposition.c:226,1
    - Dst: cairo_translate
      Src: /src/cairo/test/spline-decomposition.c:228,1
    - Dst: _spline_decompose
      Src: /src/cairo/test/spline-decomposition.c:235,1
    - Dst: cairo_fill
      Src: /src/cairo/test/spline-decomposition.c:248,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/spline-decomposition.c:254,1
    - Dst: _spline_decompose
      Src: /src/cairo/test/spline-decomposition.c:255,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/spline-decomposition.c:258,1
    - Dst: _knots_reverse
      Src: /src/cairo/test/spline-decomposition.c:267,1
    - Dst: cairo_restore
      Src: /src/cairo/test/spline-decomposition.c:271,1
    - Dst: cairo_save
      Src: /src/cairo/test/spline-decomposition.c:216,1
    - Dst: cairo_translate
      Src: /src/cairo/test/spline-decomposition.c:217,1
    - Dst: _spline_decompose
      Src: /src/cairo/test/spline-decomposition.c:222,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/spline-decomposition.c:225,1
    - Dst: cairo_fill
      Src: /src/cairo/test/spline-decomposition.c:237,1
    - Dst: cairo_translate
      Src: /src/cairo/test/spline-decomposition.c:239,1
    - Dst: _spline_decompose
      Src: /src/cairo/test/spline-decomposition.c:244,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/spline-decomposition.c:247,1
    - Dst: _knots_reverse
      Src: /src/cairo/test/spline-decomposition.c:256,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/spline-decomposition.c:265,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 44
    argCount: 2
    argNames:
    - cr
    - offset
    argTypes:
    - cairo_t*
    - double
    constantsTouched: []
    func_position:
      end: 272
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 272
    functionName: thick_splines
    functionSourceFile: /src/cairo/test/spline-decomposition.c
    functionUses: []
    functionsReached:
    - cairo_new_path
    - cairo_save
    - cairo_close_path
    - cairo_restore
    - _spline_decompose
    - cairo_fill
    - cairo_translate
    - _knots_reverse
    linkageType: ''
    returnType: void
    signature: 'static void thick_splines (cairo_t *cr, double offset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_new_path
      Src: /src/cairo/test/spline-decomposition.c:280,1
    - Dst: _spline_decompose
      Src: /src/cairo/test/spline-decomposition.c:281,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/spline-decomposition.c:294,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/spline-decomposition.c:304,1
    - Dst: _spline_decompose
      Src: /src/cairo/test/spline-decomposition.c:305,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/spline-decomposition.c:286,1
    - Dst: _spline_decompose
      Src: /src/cairo/test/spline-decomposition.c:287,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/spline-decomposition.c:298,1
    - Dst: cairo_translate
      Src: /src/cairo/test/spline-decomposition.c:302,1
    - Dst: _spline_decompose
      Src: /src/cairo/test/spline-decomposition.c:299,1
    - Dst: cairo_restore
      Src: /src/cairo/test/spline-decomposition.c:307,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/spline-decomposition.c:282,1
    - Dst: cairo_translate
      Src: /src/cairo/test/spline-decomposition.c:284,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/spline-decomposition.c:292,1
    - Dst: _spline_decompose
      Src: /src/cairo/test/spline-decomposition.c:293,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/spline-decomposition.c:306,1
    - Dst: cairo_save
      Src: /src/cairo/test/spline-decomposition.c:277,1
    - Dst: cairo_translate
      Src: /src/cairo/test/spline-decomposition.c:278,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/spline-decomposition.c:288,1
    - Dst: cairo_translate
      Src: /src/cairo/test/spline-decomposition.c:290,1
    - Dst: cairo_translate
      Src: /src/cairo/test/spline-decomposition.c:296,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/spline-decomposition.c:300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 308
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 308
    functionName: thin_splines
    functionSourceFile: /src/cairo/test/spline-decomposition.c
    functionUses: []
    functionsReached:
    - cairo_new_path
    - cairo_save
    - cairo_stroke
    - cairo_restore
    - _spline_decompose
    - cairo_translate
    linkageType: ''
    returnType: void
    signature: 'static void thin_splines (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_rectangle
      Src: /src/cairo/test/spline-decomposition.c:314,1
    - Dst: floor
      Src: /src/cairo/test/spline-decomposition.c:315,1
    - Dst: floor
      Src: /src/cairo/test/spline-decomposition.c:316,1
    - Dst: ceil
      Src: /src/cairo/test/spline-decomposition.c:316,1
    - Dst: floor
      Src: /src/cairo/test/spline-decomposition.c:315,1
    - Dst: ceil
      Src: /src/cairo/test/spline-decomposition.c:316,1
    - Dst: floor
      Src: /src/cairo/test/spline-decomposition.c:316,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/spline-decomposition.c:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - cr
    - x0
    - y0
    - x1
    - y1
    argTypes:
    - cairo_t*
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 318
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 318
    functionName: draw_bbox
    functionSourceFile: /src/cairo/test/spline-decomposition.c
    functionUses: []
    functionsReached:
    - cairo_stroke
    - floor
    - ceil
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void draw_bbox (cairo_t *cr, double x0, double y0, double x1,
      double y1) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/spline-decomposition.c:438,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/spline-decomposition.c:442,1
    - Dst: thick_splines
      Src: /src/cairo/test/spline-decomposition.c:443,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/spline-decomposition.c:445,1
    - Dst: cairo_paint
      Src: /src/cairo/test/spline-decomposition.c:439,1
    - Dst: thin_splines
      Src: /src/cairo/test/spline-decomposition.c:446,1
    - Dst: cairo_set_tolerance
      Src: /src/cairo/test/spline-decomposition.c:453,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/spline-decomposition.c:455,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/spline-decomposition.c:456,1
    - Dst: stroke_splines
      Src: /src/cairo/test/spline-decomposition.c:457,1
    - Dst: stroke_splines
      Src: /src/cairo/test/spline-decomposition.c:460,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/spline-decomposition.c:459,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/spline-decomposition.c:458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 463
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 463
    functionName: draw
    functionSourceFile: /src/cairo/test/spline-decomposition.c
    functionUses: []
    functionsReached:
    - cairo_set_tolerance
    - cairo_paint
    - stroke_splines
    - cairo_set_line_width
    - thick_splines
    - cairo_set_source_rgb
    - thin_splines
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_mkdir
      Src: /src/cairo/test/svg-surface-source.c:37,1
    - Dst: xasprintf
      Src: /src/cairo/test/svg-surface-source.c:39,1
    - Dst: free
      Src: /src/cairo/test/svg-surface-source.c:43,1
    - Dst: cairo_surface_set_fallback_resolution
      Src: /src/cairo/test/svg-surface-source.c:42,1
    - Dst: cairo_svg_surface_create
      Src: /src/cairo/test/svg-surface-source.c:40,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 46
    functionName: create_source_surface
    functionSourceFile: /src/cairo/test/svg-surface-source.c
    functionUses: []
    functionsReached:
    - cairo_svg_surface_create
    - free
    - xasprintf
    - cairo_surface_set_fallback_resolution
    - cairo_test_mkdir
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *create_source_surface (int size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/degenerate-rel-curve-to.c:38,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/degenerate-rel-curve-to.c:52,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/degenerate-rel-curve-to.c:55,1
    - Dst: cairo_rel_curve_to
      Src: /src/cairo/test/degenerate-rel-curve-to.c:56,1
    - Dst: cairo_rel_curve_to
      Src: /src/cairo/test/degenerate-rel-curve-to.c:64,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/degenerate-rel-curve-to.c:42,1
    - Dst: cairo_paint
      Src: /src/cairo/test/degenerate-rel-curve-to.c:39,1
    - Dst: cairo_rel_curve_to
      Src: /src/cairo/test/degenerate-rel-curve-to.c:83,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/degenerate-rel-curve-to.c:43,1
    - Dst: cairo_rel_curve_to
      Src: /src/cairo/test/degenerate-rel-curve-to.c:48,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/degenerate-rel-curve-to.c:63,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/degenerate-rel-curve-to.c:68,1
    - Dst: cairo_rel_curve_to
      Src: /src/cairo/test/degenerate-rel-curve-to.c:74,1
    - Dst: cairo_translate
      Src: /src/cairo/test/degenerate-rel-curve-to.c:70,1
    - Dst: cairo_translate
      Src: /src/cairo/test/degenerate-rel-curve-to.c:79,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/degenerate-rel-curve-to.c:60,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/degenerate-rel-curve-to.c:82,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/degenerate-rel-curve-to.c:41,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/degenerate-rel-curve-to.c:44,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/degenerate-rel-curve-to.c:47,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/degenerate-rel-curve-to.c:73,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/degenerate-rel-curve-to.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 90
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 90
    functionName: draw
    functionSourceFile: /src/cairo/test/degenerate-rel-curve-to.c
    functionUses: []
    functionsReached:
    - cairo_rel_curve_to
    - cairo_paint
    - cairo_set_line_width
    - cairo_set_line_join
    - cairo_stroke
    - cairo_set_line_cap
    - cairo_set_source_rgb
    - cairo_translate
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_create_surface_from_png
      Src: /src/cairo/test/mime-unique-id.c:112,1
    - Dst: strlen
      Src: /src/cairo/test/mime-unique-id.c:115,1
    - Dst: cairo_surface_set_mime_data
      Src: /src/cairo/test/mime-unique-id.c:113,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/mime-unique-id.c:118,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/mime-unique-id.c:119,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - surface
    argTypes:
    - cairo_test_context_t*
    - cairo_surface_t**
    constantsTouched: []
    func_position:
      end: 123
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 123
    functionName: create_image_surface
    functionSourceFile: /src/cairo/test/mime-unique-id.c
    functionUses: []
    functionsReached:
    - cairo_test_create_surface_from_png
    - strlen
    - cairo_test_status_from_status
    - cairo_surface_destroy
    - cairo_surface_set_mime_data
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t create_image_surface (cairo_test_context_t
      *ctx, cairo_surface_t **surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_move_to
      Src: /src/cairo/test/mime-unique-id.c:176,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/mime-unique-id.c:178,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/mime-unique-id.c:179,1
    - Dst: cairo_rotate
      Src: /src/cairo/test/mime-unique-id.c:195,1
    - Dst: cairo_translate
      Src: /src/cairo/test/mime-unique-id.c:194,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/mime-unique-id.c:189,1
    - Dst: cairo_save
      Src: /src/cairo/test/mime-unique-id.c:193,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/mime-unique-id.c:185,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/mime-unique-id.c:186,1
    - Dst: cairo_fill
      Src: /src/cairo/test/mime-unique-id.c:191,1
    - Dst: cairo_fill
      Src: /src/cairo/test/mime-unique-id.c:187,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/mime-unique-id.c:197,1
    - Dst: cairo_fill
      Src: /src/cairo/test/mime-unique-id.c:180,1
    - Dst: cairo_arc
      Src: /src/cairo/test/mime-unique-id.c:177,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/mime-unique-id.c:196,1
    - Dst: cairo_restore
      Src: /src/cairo/test/mime-unique-id.c:199,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/mime-unique-id.c:182,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/mime-unique-id.c:183,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/mime-unique-id.c:184,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/mime-unique-id.c:190,1
    - Dst: cairo_fill
      Src: /src/cairo/test/mime-unique-id.c:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 200
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 200
    functionName: draw_tile
    functionSourceFile: /src/cairo/test/mime-unique-id.c
    functionUses: []
    functionsReached:
    - cairo_line_to
    - cairo_arc
    - cairo_save
    - cairo_close_path
    - cairo_restore
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_translate
    - cairo_rotate
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void draw_tile (cairo_t *cr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_get_type
      Src: /src/cairo/test/mime-unique-id.c:268,1
    - Dst: cairo_image_surface_get_height
      Src: /src/cairo/test/mime-unique-id.c:271,1
    - Dst: cairo_recording_surface_get_extents
      Src: /src/cairo/test/mime-unique-id.c:273,1
    - Dst: cairo_image_surface_get_width
      Src: /src/cairo/test/mime-unique-id.c:270,1
    - Dst: cairo_save
      Src: /src/cairo/test/mime-unique-id.c:282,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/mime-unique-id.c:283,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/mime-unique-id.c:284,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/mime-unique-id.c:285,1
    - Dst: cairo_set_dash
      Src: /src/cairo/test/mime-unique-id.c:290,1
    - Dst: cairo_stroke_preserve
      Src: /src/cairo/test/mime-unique-id.c:291,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/mime-unique-id.c:296,1
    - Dst: cairo_restore
      Src: /src/cairo/test/mime-unique-id.c:299,1
    - Dst: cairo_paint
      Src: /src/cairo/test/mime-unique-id.c:297,1
    - Dst: cairo_translate
      Src: /src/cairo/test/mime-unique-id.c:294,1
    - Dst: cairo_clip
      Src: /src/cairo/test/mime-unique-id.c:292,1
    - Dst: cairo_scale
      Src: /src/cairo/test/mime-unique-id.c:295,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 4
    argNames:
    - cr
    - source
    - rect
    - clip_margin
    argTypes:
    - cairo_t*
    - cairo_surface_t*
    - cairo_rectangle_int_t*
    - int
    constantsTouched: []
    func_position:
      end: 300
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 300
    functionName: draw_surface
    functionSourceFile: /src/cairo/test/mime-unique-id.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_dash
    - cairo_rectangle
    - cairo_save
    - cairo_recording_surface_get_extents
    - cairo_image_surface_get_height
    - cairo_scale
    - cairo_stroke
    - cairo_restore
    - cairo_translate
    - cairo_stroke_preserve
    - cairo_image_surface_get_width
    - cairo_clip
    - cairo_set_source_surface
    - cairo_surface_get_type
    linkageType: ''
    returnType: void
    signature: 'static void draw_surface (cairo_t *cr, cairo_surface_t *source, cairo_rectangle_int_t
      *rect, int clip_margin) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: my_fopen
      Src: /src/cairo/test/mime-unique-id.c:391,1
    - Dst: fclose
      Src: /src/cairo/test/mime-unique-id.c:399,1
    - Dst: ftell
      Src: /src/cairo/test/mime-unique-id.c:398,1
    - Dst: fseek
      Src: /src/cairo/test/mime-unique-id.c:397,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/mime-unique-id.c:393,1
    - Dst: labs
      Src: /src/cairo/test/mime-unique-id.c:401,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/mime-unique-id.c:402,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - ctx
    - filename
    - expected_size
    argTypes:
    - cairo_test_context_t*
    - char*
    - long
    constantsTouched: []
    func_position:
      end: 410
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 410
    functionName: check_file_size
    functionSourceFile: /src/cairo/test/mime-unique-id.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - fclose
    - my_fopen
    - fseek
    - labs
    - ftell
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t check_file_size (cairo_test_context_t *ctx,
      const char *filename, long expected_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/cairo/test/mime-unique-id.c:96,1
    - Dst: xasprintf
      Src: /src/cairo/test/mime-unique-id.c:99,1
    - Dst: fopen
      Src: /src/cairo/test/mime-unique-id.c:100,1
    - Dst: free
      Src: /src/cairo/test/mime-unique-id.c:101,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 104
    functionName: my_fopen
    functionSourceFile: /src/cairo/test/mime-unique-id.c
    functionUses: []
    functionsReached:
    - free
    - xasprintf
    - fopen
    linkageType: ''
    returnType: FILE*
    signature: 'static FILE *my_fopen (cairo_test_context_t *ctx, const char *pathname,
      const char *mode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cairo_recording_surface_create
      Src: /src/cairo/test/mime-unique-id.c:135,1
    - Dst: ftell
      Src: /src/cairo/test/mime-unique-id.c:143,1
    - Dst: fseek
      Src: /src/cairo/test/mime-unique-id.c:142,1
    - Dst: my_fopen
      Src: /src/cairo/test/mime-unique-id.c:136,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/mime-unique-id.c:138,1
    - Dst: fseek
      Src: /src/cairo/test/mime-unique-id.c:144,1
    - Dst: malloc
      Src: /src/cairo/test/mime-unique-id.c:145,1
    - Dst: fread
      Src: /src/cairo/test/mime-unique-id.c:146,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/mime-unique-id.c:147,1
    - Dst: fclose
      Src: /src/cairo/test/mime-unique-id.c:151,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/mime-unique-id.c:157,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/mime-unique-id.c:158,1
    - Dst: strlen
      Src: /src/cairo/test/mime-unique-id.c:163,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/mime-unique-id.c:167,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/mime-unique-id.c:166,1
    - Dst: cairo_surface_set_mime_data
      Src: /src/cairo/test/mime-unique-id.c:161,1
    - Dst: cairo_surface_set_mime_data
      Src: /src/cairo/test/mime-unique-id.c:152,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - ctx
    - surface
    argTypes:
    - cairo_test_context_t*
    - cairo_surface_t**
    constantsTouched: []
    func_position:
      end: 171
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 171
    functionName: create_recording_surface_with_mime_jpg
    functionSourceFile: /src/cairo/test/mime-unique-id.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - ftell
    - malloc
    - cairo_surface_set_mime_data
    - strlen
    - fclose
    - cairo_test_status_from_status
    - cairo_surface_destroy
    - fseek
    - fread
    - my_fopen
    - cairo_recording_surface_create
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t create_recording_surface_with_mime_jpg
      (cairo_test_context_t *ctx, cairo_surface_t **surface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_recording_surface_create
      Src: /src/cairo/test/mime-unique-id.c:218,1
    - Dst: cairo_recording_surface_create
      Src: /src/cairo/test/mime-unique-id.c:222,1
    - Dst: cairo_create
      Src: /src/cairo/test/mime-unique-id.c:230,1
    - Dst: cairo_paint
      Src: /src/cairo/test/mime-unique-id.c:232,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/mime-unique-id.c:231,1
    - Dst: cairo_get_matrix
      Src: /src/cairo/test/mime-unique-id.c:233,1
    - Dst: draw_tile
      Src: /src/cairo/test/mime-unique-id.c:236,1
    - Dst: cairo_translate
      Src: /src/cairo/test/mime-unique-id.c:237,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/test/mime-unique-id.c:239,1
    - Dst: cairo_set_matrix
      Src: /src/cairo/test/mime-unique-id.c:240,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/mime-unique-id.c:242,1
    - Dst: cairo_surface_set_mime_data
      Src: /src/cairo/test/mime-unique-id.c:244,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/mime-unique-id.c:249,1
    - Dst: strlen
      Src: /src/cairo/test/mime-unique-id.c:246,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/mime-unique-id.c:250,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 3
    argNames:
    - ctx
    - surface
    - bounded
    argTypes:
    - cairo_test_context_t*
    - cairo_surface_t**
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 254
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 254
    functionName: create_recording_surface
    functionSourceFile: /src/cairo/test/mime-unique-id.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_surface_set_mime_data
    - cairo_translate
    - strlen
    - cairo_destroy
    - cairo_matrix_translate
    - cairo_test_status_from_status
    - cairo_create
    - cairo_surface_destroy
    - cairo_set_matrix
    - cairo_set_source_rgb
    - cairo_get_matrix
    - cairo_recording_surface_create
    - draw_tile
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t create_recording_surface (cairo_test_context_t
      *ctx, cairo_surface_t **surface, cairo_bool_t bounded) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cairo_create
      Src: /src/cairo/test/mime-unique-id.c:315,1
    - Dst: create_recording_surface_with_mime_jpg
      Src: /src/cairo/test/mime-unique-id.c:359,1
    - Dst: draw_surface
      Src: /src/cairo/test/mime-unique-id.c:356,1
    - Dst: create_image_surface
      Src: /src/cairo/test/mime-unique-id.c:353,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/mime-unique-id.c:357,1
    - Dst: draw_surface
      Src: /src/cairo/test/mime-unique-id.c:362,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/mime-unique-id.c:363,1
    - Dst: create_recording_surface
      Src: /src/cairo/test/mime-unique-id.c:365,1
    - Dst: draw_surface
      Src: /src/cairo/test/mime-unique-id.c:368,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/mime-unique-id.c:369,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/mime-unique-id.c:380,1
    - Dst: create_recording_surface
      Src: /src/cairo/test/mime-unique-id.c:371,1
    - Dst: draw_surface
      Src: /src/cairo/test/mime-unique-id.c:374,1
    - Dst: cairo_show_page
      Src: /src/cairo/test/mime-unique-id.c:377,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/mime-unique-id.c:375,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 2
    argNames:
    - ctx
    - surface
    argTypes:
    - cairo_test_context_t*
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 383
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 383
    functionName: draw_pages
    functionSourceFile: /src/cairo/test/mime-unique-id.c
    functionUses: []
    functionsReached:
    - cairo_show_page
    - draw_surface
    - create_recording_surface_with_mime_jpg
    - cairo_create
    - create_recording_surface
    - cairo_surface_destroy
    - cairo_destroy
    - create_image_surface
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_pages (cairo_test_context_t *ctx,
      cairo_surface_t *surface) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_status
      Src: /src/cairo/test/mime-unique-id.c:427,1
    - Dst: cairo_ps_surface_create
      Src: /src/cairo/test/mime-unique-id.c:426,1
    - Dst: cairo_ps_surface_restrict_to_level
      Src: /src/cairo/test/mime-unique-id.c:435,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/mime-unique-id.c:444,1
    - Dst: free
      Src: /src/cairo/test/mime-unique-id.c:452,1
    - Dst: cairo_test_is_target_enabled
      Src: /src/cairo/test/mime-unique-id.c:455,1
    - Dst: xasprintf
      Src: /src/cairo/test/mime-unique-id.c:457,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/mime-unique-id.c:468,1
    - Dst: check_file_size
      Src: /src/cairo/test/mime-unique-id.c:471,1
    - Dst: cairo_pdf_surface_create
      Src: /src/cairo/test/mime-unique-id.c:490,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/mime-unique-id.c:491,1
    - Dst: cairo_test_mkdir
      Src: /src/cairo/test/mime-unique-id.c:420,1
    - Dst: xasprintf
      Src: /src/cairo/test/mime-unique-id.c:425,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/mime-unique-id.c:462,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/mime-unique-id.c:461,1
    - Dst: draw_pages
      Src: /src/cairo/test/mime-unique-id.c:467,1
    - Dst: xasprintf
      Src: /src/cairo/test/mime-unique-id.c:489,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/mime-unique-id.c:500,1
    - Dst: check_file_size
      Src: /src/cairo/test/mime-unique-id.c:503,1
    - Dst: cairo_test_is_target_enabled
      Src: /src/cairo/test/mime-unique-id.c:423,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/mime-unique-id.c:429,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/mime-unique-id.c:430,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/mime-unique-id.c:438,1
    - Dst: check_file_size
      Src: /src/cairo/test/mime-unique-id.c:441,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/mime-unique-id.c:474,1
    - Dst: free
      Src: /src/cairo/test/mime-unique-id.c:482,1
    - Dst: cairo_test_is_target_enabled
      Src: /src/cairo/test/mime-unique-id.c:487,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/mime-unique-id.c:493,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/mime-unique-id.c:494,1
    - Dst: draw_pages
      Src: /src/cairo/test/mime-unique-id.c:437,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/mime-unique-id.c:459,1
    - Dst: cairo_ps_surface_create
      Src: /src/cairo/test/mime-unique-id.c:458,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/mime-unique-id.c:507,1
    - Dst: free
      Src: /src/cairo/test/mime-unique-id.c:515,1
    - Dst: draw_pages
      Src: /src/cairo/test/mime-unique-id.c:499,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 72
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - cairo_test_context_t*
    constantsTouched: []
    func_position:
      end: 520
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 520
    functionName: preamble
    functionSourceFile: /src/cairo/test/mime-unique-id.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - draw_pages
    - free
    - xasprintf
    - cairo_surface_status
    - cairo_test_mkdir
    - cairo_pdf_surface_create
    - cairo_surface_destroy
    - cairo_test_is_target_enabled
    - cairo_ps_surface_create
    - check_file_size
    - cairo_ps_surface_restrict_to_level
    - cairo_status_to_string
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t preamble (cairo_test_context_t *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/extend-reflect-similar.c:10,1
    - Dst: cairo_image_surface_get_height
      Src: /src/cairo/test/extend-reflect-similar.c:13,1
    - Dst: cairo_create
      Src: /src/cairo/test/extend-reflect-similar.c:14,1
    - Dst: cairo_surface_get_content
      Src: /src/cairo/test/extend-reflect-similar.c:11,1
    - Dst: cairo_image_surface_get_width
      Src: /src/cairo/test/extend-reflect-similar.c:12,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/extend-reflect-similar.c:15,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/extend-reflect-similar.c:16,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/extend-reflect-similar.c:17,1
    - Dst: cairo_paint
      Src: /src/cairo/test/extend-reflect-similar.c:18,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/test/extend-reflect-similar.c:19,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/extend-reflect-similar.c:19,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/extend-reflect-similar.c:20,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 23
    functionName: clone_similar_surface
    functionSourceFile: /src/cairo/test/extend-reflect-similar.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_surface_reference
    - cairo_create
    - cairo_image_surface_get_height
    - cairo_surface_destroy
    - cairo_set_operator
    - cairo_get_target
    - cairo_surface_get_content
    - cairo_destroy
    - cairo_image_surface_get_width
    - cairo_surface_create_similar
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *clone_similar_surface (cairo_surface_t * target,
      cairo_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/extend-reflect-similar.c:28,1
    - Dst: cairo_get_group_target
      Src: /src/cairo/test/extend-reflect-similar.c:33,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/extend-reflect-similar.c:34,1
    - Dst: clone_similar_surface
      Src: /src/cairo/test/extend-reflect-similar.c:33,1
    - Dst: cairo_test_create_surface_from_png
      Src: /src/cairo/test/extend-reflect-similar.c:32,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/extend-reflect-similar.c:35,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/extend-reflect-similar.c:35,1
    - Dst: cairo_paint
      Src: /src/cairo/test/extend-reflect-similar.c:37,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/extend-reflect-similar.c:39,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/extend-reflect-similar.c:40,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 43
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 43
    functionName: draw
    functionSourceFile: /src/cairo/test/extend-reflect-similar.c
    functionUses: []
    functionsReached:
    - cairo_test_create_surface_from_png
    - cairo_get_group_target
    - cairo_paint
    - clone_similar_surface
    - cairo_test_get_context
    - cairo_get_source
    - cairo_surface_destroy
    - cairo_pattern_set_extend
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/test/long-lines.c:54,1
    - Dst: cairo_paint
      Src: /src/cairo/test/long-lines.c:56,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/long-lines.c:55,1
    - Dst: cairo_restore
      Src: /src/cairo/test/long-lines.c:57,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/long-lines.c:59,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/long-lines.c:63,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/long-lines.c:64,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/long-lines.c:65,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/long-lines.c:66,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/long-lines.c:71,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/long-lines.c:73,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/long-lines.c:74,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/long-lines.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 77
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 77
    functionName: draw
    functionSourceFile: /src/cairo/test/long-lines.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_line_width
    - cairo_line_to
    - cairo_save
    - cairo_stroke
    - cairo_restore
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/rectilinear-stroke.c:38,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/rectilinear-stroke.c:42,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-stroke.c:47,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rectilinear-stroke.c:90,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-stroke.c:97,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rectilinear-stroke.c:100,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rectilinear-stroke.c:112,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-stroke.c:124,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/rectilinear-stroke.c:76,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-stroke.c:106,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-stroke.c:94,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-stroke.c:69,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rectilinear-stroke.c:71,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-stroke.c:72,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-stroke.c:73,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-stroke.c:68,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rectilinear-stroke.c:87,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-stroke.c:101,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-stroke.c:91,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-stroke.c:102,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rectilinear-stroke.c:104,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-stroke.c:113,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-stroke.c:125,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rectilinear-stroke.c:108,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rectilinear-stroke.c:96,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/rectilinear-stroke.c:83,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/rectilinear-stroke.c:127,1
    - Dst: cairo_paint
      Src: /src/cairo/test/rectilinear-stroke.c:35,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rectilinear-stroke.c:49,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-stroke.c:50,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rectilinear-stroke.c:55,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rectilinear-stroke.c:52,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-stroke.c:56,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-stroke.c:53,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rectilinear-stroke.c:59,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/rectilinear-stroke.c:78,1
    - Dst: cairo_translate
      Src: /src/cairo/test/rectilinear-stroke.c:80,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-stroke.c:114,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/rectilinear-stroke.c:117,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rectilinear-stroke.c:123,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-stroke.c:109,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/rectilinear-stroke.c:34,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/rectilinear-stroke.c:36,1
    - Dst: cairo_translate
      Src: /src/cairo/test/rectilinear-stroke.c:39,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rectilinear-stroke.c:46,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-stroke.c:61,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rectilinear-stroke.c:63,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-stroke.c:64,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-stroke.c:60,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-stroke.c:65,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rectilinear-stroke.c:67,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-stroke.c:110,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-stroke.c:88,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-stroke.c:105,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rectilinear-stroke.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 56
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 130
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 130
    functionName: draw
    functionSourceFile: /src/cairo/test/rectilinear-stroke.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_line_width
    - cairo_set_source_rgb
    - cairo_rel_line_to
    - cairo_stroke
    - cairo_set_line_cap
    - cairo_translate
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/clear-source.c:43,1
    - Dst: cairo_create
      Src: /src/cairo/test/clear-source.c:50,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/clear-source.c:51,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/clear-source.c:43,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clear-source.c:53,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clear-source.c:54,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/clear-source.c:59,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clear-source.c:60,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/test/clear-source.c:63,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/clear-source.c:63,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/clear-source.c:64,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 67
    functionName: create_surface
    functionSourceFile: /src/cairo/test/clear-source.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_surface_reference
    - cairo_create
    - cairo_surface_destroy
    - cairo_get_target
    - cairo_set_operator
    - cairo_set_source_rgb
    - cairo_destroy
    - cairo_surface_create_similar
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *create_surface (cairo_t *target, cairo_content_t
      content, surface_type_t type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/clear-source.c:79,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clear-source.c:80,1
    - Dst: cairo_fill
      Src: /src/cairo/test/clear-source.c:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - cr
    - surface
    argTypes:
    - cairo_t*
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: fill
    functionSourceFile: /src/cairo/test/clear-source.c
    functionUses: []
    functionsReached:
    - cairo_fill
    - cairo_set_source_surface
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void fill (cairo_t *cr, cairo_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clear-source.c:96,1
    - Dst: cairo_mask_surface
      Src: /src/cairo/test/clear-source.c:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - cr
    - surface
    argTypes:
    - cairo_t*
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: mask
    functionSourceFile: /src/cairo/test/clear-source.c
    functionUses: []
    functionsReached:
    - cairo_mask_surface
    - cairo_set_source_rgb
    linkageType: ''
    returnType: void
    signature: 'static void mask (cairo_t *cr, cairo_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/clear-source.c:110,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/clear-source.c:111,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/clear-source.c:117,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/clear-source.c:115,1
    - Dst: cairo_translate
      Src: /src/cairo/test/clear-source.c:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - cr
    - surface
    argTypes:
    - cairo_t*
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 118
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 118
    functionName: glyphs
    functionSourceFile: /src/cairo/test/clear-source.c
    functionUses: []
    functionsReached:
    - cairo_show_text
    - cairo_set_font_size
    - cairo_select_font_face
    - cairo_translate
    - cairo_set_source_surface
    linkageType: ''
    returnType: void
    signature: 'static void glyphs (cairo_t *cr, cairo_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/clear-source.c:87,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/clear-source.c:88,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clear-source.c:89,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/clear-source.c:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - cr
    - surface
    argTypes:
    - cairo_t*
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: stroke
    functionSourceFile: /src/cairo/test/clear-source.c
    functionUses: []
    functionsReached:
    - cairo_stroke
    - cairo_rectangle
    - cairo_set_source_surface
    - cairo_set_line_width
    linkageType: ''
    returnType: void
    signature: 'static void stroke (cairo_t *cr, cairo_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/clear-source.c:72,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clear-source.c:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - cr
    - surface
    argTypes:
    - cairo_t*
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: paint
    functionSourceFile: /src/cairo/test/clear-source.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_surface
    linkageType: ''
    returnType: void
    signature: 'static void paint (cairo_t *cr, cairo_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/clear-source.c:103,1
    - Dst: cairo_mask_surface
      Src: /src/cairo/test/clear-source.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - cr
    - surface
    argTypes:
    - cairo_t*
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: mask_self
    functionSourceFile: /src/cairo/test/clear-source.c
    functionUses: []
    functionsReached:
    - cairo_mask_surface
    - cairo_set_source_surface
    linkageType: ''
    returnType: void
    signature: 'static void mask_self (cairo_t *cr, cairo_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clear-source.c:136,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/clear-source.c:141,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clear-source.c:137,1
    - Dst: cairo_translate
      Src: /src/cairo/test/clear-source.c:138,1
    - Dst: create_surface
      Src: /src/cairo/test/clear-source.c:144,1
    - Dst: cairo_save
      Src: /src/cairo/test/clear-source.c:146,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/clear-source.c:147,1
    - Dst: cairo_save
      Src: /src/cairo/test/clear-source.c:148,1
    - Dst: cairo_restore
      Src: /src/cairo/test/clear-source.c:150,1
    - Dst: cairo_translate
      Src: /src/cairo/test/clear-source.c:151,1
    - Dst: cairo_restore
      Src: /src/cairo/test/clear-source.c:153,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/clear-source.c:156,1
    - Dst: cairo_translate
      Src: /src/cairo/test/clear-source.c:154,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 161
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 161
    functionName: draw
    functionSourceFile: /src/cairo/test/clear-source.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgb
    - ARRAY_LENGTH
    - cairo_save
    - create_surface
    - cairo_surface_destroy
    - cairo_restore
    - cairo_translate
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/horizontal-clip.c:40,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/horizontal-clip.c:62,1
    - Dst: cairo_fill
      Src: /src/cairo/test/horizontal-clip.c:54,1
    - Dst: cairo_fill
      Src: /src/cairo/test/horizontal-clip.c:66,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/horizontal-clip.c:44,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/horizontal-clip.c:45,1
    - Dst: cairo_paint
      Src: /src/cairo/test/horizontal-clip.c:41,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/horizontal-clip.c:42,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/horizontal-clip.c:46,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/horizontal-clip.c:47,1
    - Dst: cairo_fill
      Src: /src/cairo/test/horizontal-clip.c:48,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/horizontal-clip.c:57,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/horizontal-clip.c:56,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/horizontal-clip.c:58,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/horizontal-clip.c:59,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/horizontal-clip.c:50,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/horizontal-clip.c:51,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/horizontal-clip.c:52,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/horizontal-clip.c:53,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/horizontal-clip.c:63,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/horizontal-clip.c:64,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/horizontal-clip.c:65,1
    - Dst: cairo_fill
      Src: /src/cairo/test/horizontal-clip.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 56
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 69
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 69
    functionName: draw
    functionSourceFile: /src/cairo/test/horizontal-clip.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_line_to
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/bug-extents.c:32,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/bug-extents.c:38,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/bug-extents.c:37,1
    - Dst: cairo_translate
      Src: /src/cairo/test/bug-extents.c:35,1
    - Dst: cairo_paint
      Src: /src/cairo/test/bug-extents.c:33,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/bug-extents.c:39,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/bug-extents.c:40,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/bug-extents.c:41,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/bug-extents.c:42,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/bug-extents.c:44,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/bug-extents.c:47,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/bug-extents.c:48,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/test/bug-extents.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 51
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 51
    functionName: draw
    functionSourceFile: /src/cairo/test/bug-extents.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgb
    - cairo_curve_to
    - cairo_stroke
    - cairo_fill_preserve
    - cairo_translate
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/smask-mask.c:34,1
    - Dst: cairo_get_group_target
      Src: /src/cairo/test/smask-mask.c:37,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/smask-mask.c:41,1
    - Dst: cairo_paint
      Src: /src/cairo/test/smask-mask.c:51,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/smask-mask.c:58,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/smask-mask.c:60,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/smask-mask.c:61,1
    - Dst: cairo_restore
      Src: /src/cairo/test/smask-mask.c:68,1
    - Dst: cairo_pattern_create_radial
      Src: /src/cairo/test/smask-mask.c:70,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/smask-mask.c:75,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/smask-mask.c:78,1
    - Dst: cairo_mask_surface
      Src: /src/cairo/test/smask-mask.c:80,1
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/smask-mask.c:43,1
    - Dst: cairo_create
      Src: /src/cairo/test/smask-mask.c:46,1
    - Dst: cairo_restore
      Src: /src/cairo/test/smask-mask.c:52,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/smask-mask.c:57,1
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/test/smask-mask.c:54,1
    - Dst: cairo_paint
      Src: /src/cairo/test/smask-mask.c:62,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/smask-mask.c:66,1
    - Dst: cairo_paint
      Src: /src/cairo/test/smask-mask.c:67,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/smask-mask.c:74,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/smask-mask.c:77,1
    - Dst: cairo_paint
      Src: /src/cairo/test/smask-mask.c:35,1
    - Dst: cairo_get_group_target
      Src: /src/cairo/test/smask-mask.c:43,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/smask-mask.c:47,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/smask-mask.c:50,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/smask-mask.c:56,1
    - Dst: cairo_save
      Src: /src/cairo/test/smask-mask.c:65,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/smask-mask.c:73,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/smask-mask.c:80,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/smask-mask.c:84,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/smask-mask.c:81,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/smask-mask.c:83,1
    - Dst: cairo_create
      Src: /src/cairo/test/smask-mask.c:40,1
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/smask-mask.c:37,1
    - Dst: cairo_save
      Src: /src/cairo/test/smask-mask.c:49,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/smask-mask.c:55,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/smask-mask.c:59,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/smask-mask.c:76,1
    - Dst: cairo_mask_surface
      Src: /src/cairo/test/smask-mask.c:84,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/smask-mask.c:85,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 55
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 88
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 88
    functionName: draw
    functionSourceFile: /src/cairo/test/smask-mask.c
    functionUses: []
    functionsReached:
    - cairo_get_group_target
    - cairo_paint
    - cairo_mask_surface
    - cairo_destroy
    - cairo_pattern_create_linear
    - cairo_create
    - cairo_save
    - cairo_surface_destroy
    - cairo_set_source
    - cairo_pattern_create_radial
    - cairo_restore
    - cairo_set_operator
    - cairo_pattern_add_color_stop_rgba
    - cairo_set_source_rgb
    - cairo_get_target
    - cairo_surface_create_similar
    - cairo_pattern_destroy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-contexts.c:42,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-contexts.c:43,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-contexts.c:47,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/clip-contexts.c:46,1
    - Dst: cairo_create
      Src: /src/cairo/test/clip-contexts.c:46,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-contexts.c:48,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-contexts.c:50,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-contexts.c:51,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/clip-contexts.c:54,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-contexts.c:55,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-contexts.c:58,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-contexts.c:59,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/clip-contexts.c:61,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/clip-contexts.c:64,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-contexts.c:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 37
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 67
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 67
    functionName: draw
    functionSourceFile: /src/cairo/test/clip-contexts.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgba
    - cairo_create
    - cairo_get_target
    - cairo_set_source_rgb
    - cairo_destroy
    - cairo_clip
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cairo_get_matrix
      Src: /src/cairo/test/ft-text-antialias-none.c:80,1
    - Dst: FcPatternDestroy
      Src: /src/cairo/test/ft-text-antialias-none.c:89,1
    - Dst: cairo_scaled_font_status
      Src: /src/cairo/test/ft-text-antialias-none.c:92,1
    - Dst: FcPatternCreate
      Src: /src/cairo/test/ft-text-antialias-none.c:52,1
    - Dst: FcConfigSubstitute
      Src: /src/cairo/test/ft-text-antialias-none.c:58,1
    - Dst: FcPatternDestroy
      Src: /src/cairo/test/ft-text-antialias-none.c:65,1
    - Dst: cairo_matrix_init_identity
      Src: /src/cairo/test/ft-text-antialias-none.c:77,1
    - Dst: cairo_scaled_font_create
      Src: /src/cairo/test/ft-text-antialias-none.c:82,1
    - Dst: FcPatternDestroy
      Src: /src/cairo/test/ft-text-antialias-none.c:90,1
    - Dst: cairo_scaled_font_destroy
      Src: /src/cairo/test/ft-text-antialias-none.c:94,1
    - Dst: cairo_font_options_create
      Src: /src/cairo/test/ft-text-antialias-none.c:48,1
    - Dst: FcPatternAddString
      Src: /src/cairo/test/ft-text-antialias-none.c:56,1
    - Dst: FcPatternAddDouble
      Src: /src/cairo/test/ft-text-antialias-none.c:57,1
    - Dst: cairo_get_font_options
      Src: /src/cairo/test/ft-text-antialias-none.c:50,1
    - Dst: cairo_ft_font_options_substitute
      Src: /src/cairo/test/ft-text-antialias-none.c:60,1
    - Dst: FcDefaultSubstitute
      Src: /src/cairo/test/ft-text-antialias-none.c:62,1
    - Dst: FcFontMatch
      Src: /src/cairo/test/ft-text-antialias-none.c:63,1
    - Dst: cairo_font_options_destroy
      Src: /src/cairo/test/ft-text-antialias-none.c:87,1
    - Dst: FcPatternGetDouble
      Src: /src/cairo/test/ft-text-antialias-none.c:73,1
    - Dst: FcPatternDel
      Src: /src/cairo/test/ft-text-antialias-none.c:70,1
    - Dst: cairo_ft_font_face_create_for_pattern
      Src: /src/cairo/test/ft-text-antialias-none.c:75,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/test/ft-text-antialias-none.c:78,1
    - Dst: FcPatternAddBool
      Src: /src/cairo/test/ft-text-antialias-none.c:71,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/ft-text-antialias-none.c:88,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 2
    argNames:
    - cr
    - out
    argTypes:
    - cairo_t*
    - cairo_scaled_font_t**
    constantsTouched: []
    func_position:
      end: 100
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 100
    functionName: create_scaled_font
    functionSourceFile: /src/cairo/test/ft-text-antialias-none.c
    functionUses: []
    functionsReached:
    - FcPatternDestroy
    - FcPatternGetDouble
    - FcPatternDel
    - FcDefaultSubstitute
    - cairo_font_options_destroy
    - cairo_font_options_create
    - cairo_ft_font_face_create_for_pattern
    - FcPatternCreate
    - cairo_get_matrix
    - FcConfigSubstitute
    - FcPatternAddString
    - cairo_get_font_options
    - cairo_matrix_scale
    - cairo_scaled_font_status
    - FcPatternAddDouble
    - cairo_font_face_destroy
    - FcPatternAddBool
    - cairo_matrix_init_identity
    - cairo_scaled_font_destroy
    - cairo_scaled_font_create
    - cairo_ft_font_options_substitute
    - FcFontMatch
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t create_scaled_font (cairo_t * cr,\t\t cairo_scaled_font_t\
      \ **out) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/test/ft-text-antialias-none.c:111,1
    - Dst: cairo_restore
      Src: /src/cairo/test/ft-text-antialias-none.c:114,1
    - Dst: cairo_paint
      Src: /src/cairo/test/ft-text-antialias-none.c:113,1
    - Dst: create_scaled_font
      Src: /src/cairo/test/ft-text-antialias-none.c:116,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/ft-text-antialias-none.c:112,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/ft-text-antialias-none.c:118,1
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/ft-text-antialias-none.c:118,1
    - Dst: cairo_set_scaled_font
      Src: /src/cairo/test/ft-text-antialias-none.c:122,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/ft-text-antialias-none.c:124,1
    - Dst: cairo_text_extents
      Src: /src/cairo/test/ft-text-antialias-none.c:125,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/ft-text-antialias-none.c:127,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/ft-text-antialias-none.c:126,1
    - Dst: cairo_scaled_font_destroy
      Src: /src/cairo/test/ft-text-antialias-none.c:135,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/ft-text-antialias-none.c:130,1
    - Dst: cairo_text_extents
      Src: /src/cairo/test/ft-text-antialias-none.c:131,1
    - Dst: cairo_translate
      Src: /src/cairo/test/ft-text-antialias-none.c:128,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/ft-text-antialias-none.c:132,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/ft-text-antialias-none.c:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 138
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 138
    functionName: draw
    functionSourceFile: /src/cairo/test/ft-text-antialias-none.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_scaled_font_destroy
    - cairo_show_text
    - cairo_translate
    - cairo_test_status_from_status
    - cairo_test_get_context
    - cairo_save
    - create_scaled_font
    - cairo_set_scaled_font
    - cairo_restore
    - cairo_set_source_rgb
    - cairo_text_extents
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/text-pattern.c:36,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/text-pattern.c:41,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/text-pattern.c:42,1
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/test/text-pattern.c:40,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/text-pattern.c:43,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/text-pattern.c:46,1
    - Dst: cairo_fill
      Src: /src/cairo/test/text-pattern.c:47,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/text-pattern.c:49,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/text-pattern.c:50,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/text-pattern.c:51,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/text-pattern.c:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - cr
    - alpha
    argTypes:
    - cairo_t*
    - double
    constantsTouched: []
    func_position:
      end: 54
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 54
    functionName: draw_text_pattern
    functionSourceFile: /src/cairo/test/text-pattern.c
    functionUses: []
    functionsReached:
    - cairo_show_text
    - cairo_pattern_create_linear
    - cairo_pattern_destroy
    - cairo_set_font_size
    - cairo_set_source
    - cairo_select_font_face
    - cairo_pattern_add_color_stop_rgba
    - cairo_fill
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void draw_text_pattern (cairo_t *cr, double alpha) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_scale
      Src: /src/cairo/test/text-pattern.c:59,1
    - Dst: draw_text_pattern
      Src: /src/cairo/test/text-pattern.c:62,1
    - Dst: draw_text_pattern
      Src: /src/cairo/test/text-pattern.c:60,1
    - Dst: cairo_translate
      Src: /src/cairo/test/text-pattern.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: draw
    functionSourceFile: /src/cairo/test/text-pattern.c
    functionUses: []
    functionsReached:
    - cairo_scale
    - draw_text_pattern
    - cairo_translate
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/test/text-rotate.c:106,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/text-rotate.c:110,1
    - Dst: cairo_rotate
      Src: /src/cairo/test/text-rotate.c:107,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/text-rotate.c:109,1
    - Dst: cairo_transform
      Src: /src/cairo/test/text-rotate.c:108,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/text-rotate.c:111,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/text-rotate.c:112,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/text-rotate.c:113,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/text-rotate.c:114,1
    - Dst: cairo_text_path
      Src: /src/cairo/test/text-rotate.c:116,1
    - Dst: cairo_restore
      Src: /src/cairo/test/text-rotate.c:121,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/text-rotate.c:119,1
    - Dst: cairo_fill
      Src: /src/cairo/test/text-rotate.c:117,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 6
    argNames:
    - cr
    - text
    - extents
    - transform
    - x_off
    - y_off
    argTypes:
    - cairo_t*
    - char*
    - cairo_text_extents_t*
    - cairo_matrix_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 123
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 123
    functionName: draw_quadrant
    functionSourceFile: /src/cairo/test/text-rotate.c
    functionUses: []
    functionsReached:
    - cairo_show_text
    - cairo_set_line_width
    - cairo_transform
    - cairo_set_source_rgb
    - cairo_save
    - cairo_text_path
    - cairo_stroke
    - cairo_restore
    - cairo_fill
    - cairo_rotate
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: "static void draw_quadrant (cairo_t *cr,\t const char *text,\t const\
      \ cairo_text_extents_t *extents,\t const cairo_matrix_t *transform,\t int x_off,\
      \ int y_off) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/text-rotate.c:136,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/text-rotate.c:139,1
    - Dst: cairo_font_options_create
      Src: /src/cairo/test/text-rotate.c:144,1
    - Dst: cairo_get_font_options
      Src: /src/cairo/test/text-rotate.c:146,1
    - Dst: cairo_text_extents
      Src: /src/cairo/test/text-rotate.c:156,1
    - Dst: cairo_matrix_init
      Src: /src/cairo/test/text-rotate.c:168,1
    - Dst: cairo_matrix_init_identity
      Src: /src/cairo/test/text-rotate.c:166,1
    - Dst: tan
      Src: /src/cairo/test/text-rotate.c:162,1
    - Dst: cairo_matrix_init_identity
      Src: /src/cairo/test/text-rotate.c:174,1
    - Dst: cairo_restore
      Src: /src/cairo/test/text-rotate.c:178,1
    - Dst: cairo_paint
      Src: /src/cairo/test/text-rotate.c:137,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/text-rotate.c:142,1
    - Dst: cairo_save
      Src: /src/cairo/test/text-rotate.c:165,1
    - Dst: cairo_restore
      Src: /src/cairo/test/text-rotate.c:170,1
    - Dst: cairo_set_font_options
      Src: /src/cairo/test/text-rotate.c:149,1
    - Dst: cairo_font_options_destroy
      Src: /src/cairo/test/text-rotate.c:150,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/text-rotate.c:152,1
    - Dst: floor
      Src: /src/cairo/test/text-rotate.c:162,1
    - Dst: draw_quadrant
      Src: /src/cairo/test/text-rotate.c:167,1
    - Dst: cairo_translate
      Src: /src/cairo/test/text-rotate.c:154,1
    - Dst: cairo_save
      Src: /src/cairo/test/text-rotate.c:172,1
    - Dst: cairo_scale
      Src: /src/cairo/test/text-rotate.c:173,1
    - Dst: draw_quadrant
      Src: /src/cairo/test/text-rotate.c:177,1
    - Dst: cairo_font_options_set_hint_metrics
      Src: /src/cairo/test/text-rotate.c:147,1
    - Dst: floor
      Src: /src/cairo/test/text-rotate.c:161,1
    - Dst: draw_quadrant
      Src: /src/cairo/test/text-rotate.c:169,1
    - Dst: draw_quadrant
      Src: /src/cairo/test/text-rotate.c:175,1
    - Dst: cairo_matrix_init
      Src: /src/cairo/test/text-rotate.c:176,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 47
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 181
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 181
    functionName: draw
    functionSourceFile: /src/cairo/test/text-rotate.c
    functionUses: []
    functionsReached:
    - cairo_set_font_options
    - cairo_select_font_face
    - cairo_translate
    - floor
    - cairo_font_options_destroy
    - cairo_font_options_create
    - cairo_save
    - cairo_matrix_init
    - cairo_get_font_options
    - draw_quadrant
    - tan
    - cairo_matrix_init_identity
    - cairo_restore
    - cairo_text_extents
    - cairo_font_options_set_hint_metrics
    - cairo_paint
    - cairo_set_font_size
    - cairo_scale
    - cairo_set_source_rgb
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/cairo/test/path-precision.c:44,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: compare_points
    functionSourceFile: /src/cairo/test/path-precision.c
    functionUses: []
    functionsReached:
    - fabs
    linkageType: ''
    returnType: int
    signature: 'static int compare_points( double *p1, double *p2 ) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/path-precision.c:71,1
    - Dst: cairo_copy_path
      Src: /src/cairo/test/path-precision.c:82,1
    - Dst: cairo_append_path
      Src: /src/cairo/test/path-precision.c:81,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/path-precision.c:80,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/path-precision.c:77,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/path-precision.c:85,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/path-precision.c:99,1
    - Dst: compare_points
      Src: /src/cairo/test/path-precision.c:107,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/path-precision.c:108,1
    - Dst: cairo_path_destroy
      Src: /src/cairo/test/path-precision.c:119,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 121
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 121
    functionName: draw
    functionSourceFile: /src/cairo/test/path-precision.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - cairo_copy_path
    - cairo_new_path
    - cairo_test_status_from_status
    - cairo_test_get_context
    - ARRAY_LENGTH
    - cairo_path_destroy
    - cairo_append_path
    - compare_points
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: scale_by_two
    functionSourceFile: /src/cairo/test/copy-path.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void scale_by_two (double *x, double *y) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cairo_append_path
      Src: /src/cairo/test/copy-path.c:47,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/copy-path.c:62,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/copy-path.c:57,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/copy-path.c:71,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/copy-path.c:77,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 3
    argNames:
    - cr
    - path
    - munge
    argTypes:
    - cairo_t*
    - cairo_path_t*
    - munge_func_t
    constantsTouched: []
    func_position:
      end: 81
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 81
    functionName: munge_and_set_path
    functionSourceFile: /src/cairo/test/copy-path.c
    functionUses: []
    functionsReached:
    - cairo_line_to
    - cairo_curve_to
    - cairo_append_path
    - cairo_close_path
    - cairo_move_to
    linkageType: ''
    returnType: void
    signature: "static void munge_and_set_path (cairo_t\t *cr,\t\t cairo_path_t *path,\t\
      \t munge_func_t munge) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_log
      Src: /src/cairo/test/copy-path.c:103,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/copy-path.c:106,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/copy-path.c:108,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/copy-path.c:117,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/copy-path.c:136,1
    - Dst: cairo_append_path
      Src: /src/cairo/test/copy-path.c:145,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/copy-path.c:148,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/copy-path.c:150,1
    - Dst: cairo_status
      Src: /src/cairo/test/copy-path.c:151,1
    - Dst: cairo_paint
      Src: /src/cairo/test/copy-path.c:157,1
    - Dst: munge_and_set_path
      Src: /src/cairo/test/copy-path.c:176,1
    - Dst: cairo_fill
      Src: /src/cairo/test/copy-path.c:178,1
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/test/copy-path.c:191,1
    - Dst: cairo_path_destroy
      Src: /src/cairo/test/copy-path.c:167,1
    - Dst: cairo_translate
      Src: /src/cairo/test/copy-path.c:181,1
    - Dst: make_path
      Src: /src/cairo/test/copy-path.c:162,1
    - Dst: cairo_append_path
      Src: /src/cairo/test/copy-path.c:189,1
    - Dst: cairo_copy_path
      Src: /src/cairo/test/copy-path.c:101,1
    - Dst: cairo_copy_path_flat
      Src: /src/cairo/test/copy-path.c:113,1
    - Dst: cairo_path_destroy
      Src: /src/cairo/test/copy-path.c:123,1
    - Dst: cairo_path_destroy
      Src: /src/cairo/test/copy-path.c:119,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/copy-path.c:132,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/copy-path.c:134,1
    - Dst: cairo_path_destroy
      Src: /src/cairo/test/copy-path.c:135,1
    - Dst: cairo_path_destroy
      Src: /src/cairo/test/copy-path.c:142,1
    - Dst: cairo_status
      Src: /src/cairo/test/copy-path.c:147,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/copy-path.c:151,1
    - Dst: cairo_restore
      Src: /src/cairo/test/copy-path.c:158,1
    - Dst: make_path
      Src: /src/cairo/test/copy-path.c:183,1
    - Dst: cairo_fill
      Src: /src/cairo/test/copy-path.c:168,1
    - Dst: cairo_scale
      Src: /src/cairo/test/copy-path.c:182,1
    - Dst: cairo_save
      Src: /src/cairo/test/copy-path.c:155,1
    - Dst: cairo_translate
      Src: /src/cairo/test/copy-path.c:161,1
    - Dst: cairo_create
      Src: /src/cairo/test/copy-path.c:100,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/copy-path.c:105,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/copy-path.c:118,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/copy-path.c:115,1
    - Dst: cairo_copy_path
      Src: /src/cairo/test/copy-path.c:129,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/copy-path.c:125,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/copy-path.c:120,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/copy-path.c:139,1
    - Dst: cairo_status
      Src: /src/cairo/test/copy-path.c:150,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/copy-path.c:156,1
    - Dst: cairo_translate
      Src: /src/cairo/test/copy-path.c:171,1
    - Dst: cairo_path_destroy
      Src: /src/cairo/test/copy-path.c:194,1
    - Dst: cairo_copy_path
      Src: /src/cairo/test/copy-path.c:163,1
    - Dst: cairo_translate
      Src: /src/cairo/test/copy-path.c:188,1
    - Dst: cairo_path_destroy
      Src: /src/cairo/test/copy-path.c:177,1
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/copy-path.c:94,1
    - Dst: cairo_path_destroy
      Src: /src/cairo/test/copy-path.c:107,1
    - Dst: cairo_path_destroy
      Src: /src/cairo/test/copy-path.c:111,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/copy-path.c:128,1
    - Dst: cairo_path_destroy
      Src: /src/cairo/test/copy-path.c:146,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/copy-path.c:165,1
    - Dst: munge_and_set_path
      Src: /src/cairo/test/copy-path.c:166,1
    - Dst: make_path
      Src: /src/cairo/test/copy-path.c:172,1
    - Dst: cairo_copy_path_flat
      Src: /src/cairo/test/copy-path.c:173,1
    - Dst: cairo_append_path
      Src: /src/cairo/test/copy-path.c:187,1
    - Dst: cairo_copy_path
      Src: /src/cairo/test/copy-path.c:184,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/copy-path.c:175,1
    - Dst: cairo_fill
      Src: /src/cairo/test/copy-path.c:192,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/copy-path.c:186,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 80
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 197
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 197
    functionName: draw
    functionSourceFile: /src/cairo/test/copy-path.c
    functionUses: []
    functionsReached:
    - cairo_translate
    - cairo_set_fill_rule
    - cairo_copy_path
    - cairo_test_get_context
    - cairo_create
    - cairo_save
    - cairo_status
    - cairo_copy_path_flat
    - cairo_test_log
    - cairo_test_status_from_status
    - cairo_path_destroy
    - cairo_append_path
    - cairo_restore
    - cairo_fill
    - cairo_destroy
    - cairo_status_to_string
    - cairo_paint
    - cairo_new_path
    - make_path
    - cairo_scale
    - munge_and_set_path
    - cairo_set_source_rgb
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_rectangle
      Src: /src/cairo/test/copy-path.c:86,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/copy-path.c:87,1
    - Dst: cairo_arc
      Src: /src/cairo/test/copy-path.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: make_path
    functionSourceFile: /src/cairo/test/copy-path.c
    functionUses: []
    functionsReached:
    - cairo_arc
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void make_path (cairo_t *cr) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_CREATE
      Src: /src/cairo/test/copy-path.c:225,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/copy-path.c:231,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/copy-path.c:240,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/copy-path.c:251,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/copy-path.c:263,1
    - Dst: cairo_status
      Src: /src/cairo/test/copy-path.c:271,1
    - Dst: cairo_status
      Src: /src/cairo/test/copy-path.c:285,1
    - Dst: cairo_status
      Src: /src/cairo/test/copy-path.c:296,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/copy-path.c:299,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/copy-path.c:303,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/copy-path.c:297,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/copy-path.c:212,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/copy-path.c:230,1
    - Dst: cairo_append_path
      Src: /src/cairo/test/copy-path.c:246,1
    - Dst: cairo_status
      Src: /src/cairo/test/copy-path.c:237,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/copy-path.c:250,1
    - Dst: cairo_append_path
      Src: /src/cairo/test/copy-path.c:258,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/copy-path.c:262,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/copy-path.c:272,1
    - Dst: CAIRO_CREATE
      Src: /src/cairo/test/copy-path.c:278,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/copy-path.c:286,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/copy-path.c:208,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/copy-path.c:211,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/copy-path.c:209,1
    - Dst: cairo_status
      Src: /src/cairo/test/copy-path.c:227,1
    - Dst: CAIRO_CREATE
      Src: /src/cairo/test/copy-path.c:244,1
    - Dst: cairo_status
      Src: /src/cairo/test/copy-path.c:247,1
    - Dst: cairo_append_path
      Src: /src/cairo/test/copy-path.c:236,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/copy-path.c:238,1
    - Dst: cairo_status
      Src: /src/cairo/test/copy-path.c:259,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/copy-path.c:275,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/copy-path.c:289,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/copy-path.c:288,1
    - Dst: cairo_append_path
      Src: /src/cairo/test/copy-path.c:295,1
    - Dst: cairo_append_path
      Src: /src/cairo/test/copy-path.c:226,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/copy-path.c:228,1
    - Dst: CAIRO_CREATE
      Src: /src/cairo/test/copy-path.c:234,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/copy-path.c:241,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/copy-path.c:248,1
    - Dst: CAIRO_CREATE
      Src: /src/cairo/test/copy-path.c:254,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/copy-path.c:260,1
    - Dst: CAIRO_CREATE
      Src: /src/cairo/test/copy-path.c:266,1
    - Dst: cairo_append_path
      Src: /src/cairo/test/copy-path.c:270,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/copy-path.c:274,1
    - Dst: cairo_append_path
      Src: /src/cairo/test/copy-path.c:284,1
    - Dst: CAIRO_CREATE
      Src: /src/cairo/test/copy-path.c:293,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/copy-path.c:300,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 85
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - cairo_test_context_t*
    constantsTouched: []
    func_position:
      end: 306
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 306
    functionName: preamble
    functionSourceFile: /src/cairo/test/copy-path.c
    functionUses: []
    functionsReached:
    - cairo_test_status_from_status
    - cairo_surface_status
    - cairo_append_path
    - cairo_surface_destroy
    - CAIRO_CREATE
    - cairo_image_surface_create
    - cairo_status
    - cairo_destroy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t preamble (cairo_test_context_t *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/subsurface-similar-repeat.c:37,1
    - Dst: cairo_create
      Src: /src/cairo/test/subsurface-similar-repeat.c:40,1
    - Dst: cairo_surface_create_for_rectangle
      Src: /src/cairo/test/subsurface-similar-repeat.c:49,1
    - Dst: cairo_create
      Src: /src/cairo/test/subsurface-similar-repeat.c:52,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/subsurface-similar-repeat.c:72,1
    - Dst: cairo_paint
      Src: /src/cairo/test/subsurface-similar-repeat.c:75,1
    - Dst: cairo_fill
      Src: /src/cairo/test/subsurface-similar-repeat.c:61,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/subsurface-similar-repeat.c:34,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/subsurface-similar-repeat.c:37,1
    - Dst: cairo_paint
      Src: /src/cairo/test/subsurface-similar-repeat.c:44,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/subsurface-similar-repeat.c:56,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/subsurface-similar-repeat.c:60,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/subsurface-similar-repeat.c:63,1
    - Dst: cairo_fill
      Src: /src/cairo/test/subsurface-similar-repeat.c:65,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/subsurface-similar-repeat.c:67,1
    - Dst: cairo_fill
      Src: /src/cairo/test/subsurface-similar-repeat.c:69,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/subsurface-similar-repeat.c:74,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/subsurface-similar-repeat.c:74,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/subsurface-similar-repeat.c:50,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/subsurface-similar-repeat.c:71,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/subsurface-similar-repeat.c:68,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/subsurface-similar-repeat.c:64,1
    - Dst: cairo_paint
      Src: /src/cairo/test/subsurface-similar-repeat.c:35,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/subsurface-similar-repeat.c:41,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/subsurface-similar-repeat.c:43,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/test/subsurface-similar-repeat.c:45,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/subsurface-similar-repeat.c:45,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/subsurface-similar-repeat.c:55,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/subsurface-similar-repeat.c:53,1
    - Dst: cairo_fill
      Src: /src/cairo/test/subsurface-similar-repeat.c:57,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/subsurface-similar-repeat.c:46,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/subsurface-similar-repeat.c:59,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/subsurface-similar-repeat.c:71,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 39
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 78
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 78
    functionName: draw
    functionSourceFile: /src/cairo/test/subsurface-similar-repeat.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_surface_create_for_rectangle
    - cairo_surface_reference
    - cairo_get_source
    - cairo_create
    - cairo_surface_destroy
    - cairo_pattern_set_extend
    - cairo_get_target
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_destroy
    - cairo_surface_create_similar
    - cairo_set_source_surface
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_copy_path
      Src: /src/cairo/test/glyph-path.c:49,1
    - Dst: free
      Src: /src/cairo/test/glyph-path.c:71,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/glyph-path.c:54,1
    - Dst: cairo_identity_matrix
      Src: /src/cairo/test/glyph-path.c:62,1
    - Dst: cairo_path_destroy
      Src: /src/cairo/test/glyph-path.c:70,1
    - Dst: cairo_copy_path
      Src: /src/cairo/test/glyph-path.c:58,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/glyph-path.c:39,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/glyph-path.c:48,1
    - Dst: cairo_scaled_font_text_to_glyphs
      Src: /src/cairo/test/glyph-path.c:56,1
    - Dst: cairo_append_path
      Src: /src/cairo/test/glyph-path.c:65,1
    - Dst: cairo_path_destroy
      Src: /src/cairo/test/glyph-path.c:69,1
    - Dst: cairo_glyph_path
      Src: /src/cairo/test/glyph-path.c:57,1
    - Dst: cairo_translate
      Src: /src/cairo/test/glyph-path.c:45,1
    - Dst: cairo_paint
      Src: /src/cairo/test/glyph-path.c:40,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/glyph-path.c:41,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/glyph-path.c:50,1
    - Dst: cairo_get_scaled_font
      Src: /src/cairo/test/glyph-path.c:55,1
    - Dst: cairo_append_path
      Src: /src/cairo/test/glyph-path.c:66,1
    - Dst: cairo_fill
      Src: /src/cairo/test/glyph-path.c:67,1
    - Dst: cairo_translate
      Src: /src/cairo/test/glyph-path.c:63,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 74
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 74
    functionName: draw
    functionSourceFile: /src/cairo/test/glyph-path.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_identity_matrix
    - cairo_copy_path
    - cairo_get_scaled_font
    - cairo_new_path
    - cairo_set_source_rgb
    - free
    - cairo_path_destroy
    - cairo_set_font_size
    - cairo_append_path
    - cairo_glyph_path
    - cairo_fill
    - cairo_translate
    - cairo_scaled_font_text_to_glyphs
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw(cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_get_target
      Src: /src/cairo/test/surface-pattern-scale-up.c:77,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/surface-pattern-scale-up.c:80,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/surface-pattern-scale-up.c:80,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/surface-pattern-scale-up.c:44,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/surface-pattern-scale-up.c:52,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/surface-pattern-scale-up.c:54,1
    - Dst: cairo_fill
      Src: /src/cairo/test/surface-pattern-scale-up.c:58,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/surface-pattern-scale-up.c:59,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/surface-pattern-scale-up.c:60,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/surface-pattern-scale-up.c:65,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/surface-pattern-scale-up.c:70,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/surface-pattern-scale-up.c:78,1
    - Dst: cairo_paint
      Src: /src/cairo/test/surface-pattern-scale-up.c:81,1
    - Dst: cairo_paint
      Src: /src/cairo/test/surface-pattern-scale-up.c:45,1
    - Dst: cairo_create
      Src: /src/cairo/test/surface-pattern-scale-up.c:51,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/surface-pattern-scale-up.c:49,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/surface-pattern-scale-up.c:55,1
    - Dst: cairo_fill
      Src: /src/cairo/test/surface-pattern-scale-up.c:63,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/surface-pattern-scale-up.c:64,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/surface-pattern-scale-up.c:69,1
    - Dst: cairo_fill
      Src: /src/cairo/test/surface-pattern-scale-up.c:73,1
    - Dst: cairo_fill
      Src: /src/cairo/test/surface-pattern-scale-up.c:68,1
    - Dst: cairo_rotate
      Src: /src/cairo/test/surface-pattern-scale-up.c:76,1
    - Dst: cairo_scale
      Src: /src/cairo/test/surface-pattern-scale-up.c:75,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/surface-pattern-scale-up.c:77,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 40
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 84
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 84
    functionName: draw
    functionSourceFile: /src/cairo/test/surface-pattern-scale-up.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_destroy
    - cairo_get_source
    - cairo_create
    - cairo_surface_destroy
    - cairo_pattern_set_extend
    - cairo_image_surface_create
    - cairo_scale
    - cairo_get_target
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_rotate
    - cairo_set_source_surface
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-all.c:33,1
    - Dst: cairo_fill
      Src: /src/cairo/test/clip-all.c:35,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-all.c:39,1
    - Dst: cairo_reset_clip
      Src: /src/cairo/test/clip-all.c:45,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-all.c:49,1
    - Dst: cairo_fill
      Src: /src/cairo/test/clip-all.c:53,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/clip-all.c:61,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/clip-all.c:62,1
    - Dst: cairo_reset_clip
      Src: /src/cairo/test/clip-all.c:37,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-all.c:40,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-all.c:51,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-all.c:46,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-all.c:34,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-all.c:38,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-all.c:48,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-all.c:52,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-all.c:41,1
    - Dst: cairo_translate
      Src: /src/cairo/test/clip-all.c:43,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-all.c:47,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/clip-all.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 66
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 66
    functionName: draw
    functionSourceFile: /src/cairo/test/clip-all.c
    functionUses: []
    functionsReached:
    - cairo_show_text
    - cairo_select_font_face
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_translate
    - cairo_clip
    - cairo_reset_clip
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_create
      Src: /src/cairo/test/pthread-similar.c:41,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/pthread-similar.c:47,1
    - Dst: cairo_fill
      Src: /src/cairo/test/pthread-similar.c:48,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/pthread-similar.c:46,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/pthread-similar.c:42,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/test/pthread-similar.c:52,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/pthread-similar.c:52,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/pthread-similar.c:53,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 56
    functionName: draw_thread
    functionSourceFile: /src/cairo/test/pthread-similar.c
    functionUses: []
    functionsReached:
    - cairo_set_source_rgba
    - cairo_surface_reference
    - cairo_create
    - cairo_surface_destroy
    - cairo_get_target
    - cairo_fill
    - cairo_destroy
    - cairo_rectangle
    linkageType: ''
    returnType: void*
    signature: 'static void *draw_thread (void *arg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/pthread-similar.c:68,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/pthread-similar.c:73,1
    - Dst: pthread_self
      Src: /src/cairo/test/pthread-similar.c:72,1
    - Dst: pthread_create
      Src: /src/cairo/test/pthread-similar.c:71,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/pthread-similar.c:68,1
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/pthread-similar.c:73,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/pthread-similar.c:74,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/pthread-similar.c:75,1
    - Dst: pthread_equal
      Src: /src/cairo/test/pthread-similar.c:83,1
    - Dst: pthread_self
      Src: /src/cairo/test/pthread-similar.c:83,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/pthread-similar.c:88,1
    - Dst: cairo_translate
      Src: /src/cairo/test/pthread-similar.c:91,1
    - Dst: pthread_join
      Src: /src/cairo/test/pthread-similar.c:86,1
    - Dst: cairo_paint
      Src: /src/cairo/test/pthread-similar.c:89,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/pthread-similar.c:87,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 98
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 98
    functionName: draw
    functionSourceFile: /src/cairo/test/pthread-similar.c
    functionUses: []
    functionsReached:
    - pthread_create
    - cairo_paint
    - pthread_self
    - pthread_join
    - cairo_test_status_from_status
    - cairo_test_get_context
    - cairo_surface_status
    - cairo_surface_destroy
    - cairo_get_target
    - pthread_equal
    - cairo_translate
    - cairo_surface_create_similar
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_mkdir
      Src: /src/cairo/test/pdf-surface-source.c:37,1
    - Dst: cairo_surface_set_fallback_resolution
      Src: /src/cairo/test/pdf-surface-source.c:41,1
    - Dst: cairo_pdf_surface_create
      Src: /src/cairo/test/pdf-surface-source.c:40,1
    - Dst: free
      Src: /src/cairo/test/pdf-surface-source.c:42,1
    - Dst: xasprintf
      Src: /src/cairo/test/pdf-surface-source.c:39,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 45
    functionName: create_source_surface
    functionSourceFile: /src/cairo/test/pdf-surface-source.c
    functionUses: []
    functionsReached:
    - free
    - xasprintf
    - cairo_surface_set_fallback_resolution
    - cairo_test_mkdir
    - cairo_pdf_surface_create
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *create_source_surface (int size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_rectangle
      Src: /src/cairo/test/device-offset.c:34,1
    - Dst: cairo_fill
      Src: /src/cairo/test/device-offset.c:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: draw_square
    functionSourceFile: /src/cairo/test/device-offset.c
    functionUses: []
    functionsReached:
    - cairo_fill
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void draw_square (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/device-offset.c:48,1
    - Dst: cairo_get_group_target
      Src: /src/cairo/test/device-offset.c:52,1
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/device-offset.c:53,1
    - Dst: draw_square
      Src: /src/cairo/test/device-offset.c:49,1
    - Dst: cairo_surface_get_content
      Src: /src/cairo/test/device-offset.c:54,1
    - Dst: cairo_surface_set_device_offset
      Src: /src/cairo/test/device-offset.c:56,1
    - Dst: cairo_create
      Src: /src/cairo/test/device-offset.c:57,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/device-offset.c:58,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/device-offset.c:60,1
    - Dst: draw_square
      Src: /src/cairo/test/device-offset.c:61,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/device-offset.c:68,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/device-offset.c:67,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/device-offset.c:67,1
    - Dst: cairo_paint
      Src: /src/cairo/test/device-offset.c:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 74
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 74
    functionName: draw
    functionSourceFile: /src/cairo/test/device-offset.c
    functionUses: []
    functionsReached:
    - cairo_get_group_target
    - cairo_paint
    - cairo_set_source_rgb
    - cairo_create
    - cairo_surface_destroy
    - draw_square
    - cairo_surface_set_device_offset
    - cairo_get_target
    - cairo_surface_get_content
    - cairo_destroy
    - cairo_surface_create_similar
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_translate
      Src: /src/cairo/test/operator-alpha.c:36,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/operator-alpha.c:43,1
    - Dst: cairo_clip
      Src: /src/cairo/test/operator-alpha.c:41,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/operator-alpha.c:40,1
    - Dst: cairo_reset_clip
      Src: /src/cairo/test/operator-alpha.c:39,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/operator-alpha.c:44,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/operator-alpha.c:45,1
    - Dst: cairo_fill
      Src: /src/cairo/test/operator-alpha.c:46,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/operator-alpha.c:48,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/operator-alpha.c:49,1
    - Dst: cairo_translate
      Src: /src/cairo/test/operator-alpha.c:53,1
    - Dst: cairo_fill
      Src: /src/cairo/test/operator-alpha.c:51,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/operator-alpha.c:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 57
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 57
    functionName: draw
    functionSourceFile: /src/cairo/test/operator-alpha.c
    functionUses: []
    functionsReached:
    - cairo_set_source_rgba
    - cairo_set_operator
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_translate
    - cairo_clip
    - cairo_reset_clip
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_move_to
      Src: /src/cairo/test/paint-clip-fill.c:34,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/paint-clip-fill.c:35,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/paint-clip-fill.c:36,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/paint-clip-fill.c:39,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/paint-clip-fill.c:40,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/paint-clip-fill.c:43,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/paint-clip-fill.c:44,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/paint-clip-fill.c:47,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/paint-clip-fill.c:48,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/paint-clip-fill.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 52
    argCount: 6
    argNames:
    - cr
    - x
    - y
    - width
    - height
    - radius
    argTypes:
    - cairo_t*
    - double
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 50
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 50
    functionName: rounded_rectangle
    functionSourceFile: /src/cairo/test/paint-clip-fill.c
    functionUses: []
    functionsReached:
    - cairo_line_to
    - cairo_curve_to
    - cairo_move_to
    - cairo_close_path
    linkageType: ''
    returnType: void
    signature: "static void rounded_rectangle(cairo_t *cr,\t\t double x, double y,\t\
      \t double width, double height,\t\t double radius) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_antialias
      Src: /src/cairo/test/paint-clip-fill.c:76,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/paint-clip-fill.c:77,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/paint-clip-fill.c:81,1
    - Dst: cairo_paint
      Src: /src/cairo/test/paint-clip-fill.c:79,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/paint-clip-fill.c:78,1
    - Dst: cairo_clip
      Src: /src/cairo/test/paint-clip-fill.c:82,1
    - Dst: rounded_rectangle
      Src: /src/cairo/test/paint-clip-fill.c:84,1
    - Dst: cairo_clip
      Src: /src/cairo/test/paint-clip-fill.c:85,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/paint-clip-fill.c:87,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/paint-clip-fill.c:88,1
    - Dst: cairo_paint
      Src: /src/cairo/test/paint-clip-fill.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 92
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 92
    functionName: draw_aa
    functionSourceFile: /src/cairo/test/paint-clip-fill.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgba
    - cairo_set_operator
    - cairo_clip
    - rounded_rectangle
    - cairo_set_antialias
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_aa (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_antialias
      Src: /src/cairo/test/paint-clip-fill.c:55,1
    - Dst: cairo_paint
      Src: /src/cairo/test/paint-clip-fill.c:58,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/paint-clip-fill.c:57,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/paint-clip-fill.c:60,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/paint-clip-fill.c:56,1
    - Dst: cairo_clip
      Src: /src/cairo/test/paint-clip-fill.c:61,1
    - Dst: rounded_rectangle
      Src: /src/cairo/test/paint-clip-fill.c:63,1
    - Dst: cairo_clip
      Src: /src/cairo/test/paint-clip-fill.c:64,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/paint-clip-fill.c:66,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/paint-clip-fill.c:67,1
    - Dst: cairo_paint
      Src: /src/cairo/test/paint-clip-fill.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 71
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 71
    functionName: draw_mono
    functionSourceFile: /src/cairo/test/paint-clip-fill.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgba
    - cairo_set_operator
    - cairo_clip
    - rounded_rectangle
    - cairo_set_antialias
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_mono (cairo_t *cr, int width, int
      height) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cairo_font_options_create
      Src: /src/cairo/test/ft-text-vertical-layout-type3.c:48,1
    - Dst: cairo_get_font_options
      Src: /src/cairo/test/ft-text-vertical-layout-type3.c:50,1
    - Dst: FcPatternAddDouble
      Src: /src/cairo/test/ft-text-vertical-layout-type3.c:57,1
    - Dst: FcPatternAddString
      Src: /src/cairo/test/ft-text-vertical-layout-type3.c:56,1
    - Dst: cairo_ft_font_options_substitute
      Src: /src/cairo/test/ft-text-vertical-layout-type3.c:60,1
    - Dst: FcDefaultSubstitute
      Src: /src/cairo/test/ft-text-vertical-layout-type3.c:62,1
    - Dst: FcFontMatch
      Src: /src/cairo/test/ft-text-vertical-layout-type3.c:63,1
    - Dst: cairo_get_matrix
      Src: /src/cairo/test/ft-text-vertical-layout-type3.c:81,1
    - Dst: FcPatternGetDouble
      Src: /src/cairo/test/ft-text-vertical-layout-type3.c:73,1
    - Dst: FcPatternDestroy
      Src: /src/cairo/test/ft-text-vertical-layout-type3.c:90,1
    - Dst: FcPatternDestroy
      Src: /src/cairo/test/ft-text-vertical-layout-type3.c:65,1
    - Dst: cairo_ft_font_face_create_for_pattern
      Src: /src/cairo/test/ft-text-vertical-layout-type3.c:75,1
    - Dst: cairo_scaled_font_create
      Src: /src/cairo/test/ft-text-vertical-layout-type3.c:83,1
    - Dst: cairo_matrix_rotate
      Src: /src/cairo/test/ft-text-vertical-layout-type3.c:78,1
    - Dst: FcPatternDestroy
      Src: /src/cairo/test/ft-text-vertical-layout-type3.c:91,1
    - Dst: cairo_scaled_font_destroy
      Src: /src/cairo/test/ft-text-vertical-layout-type3.c:95,1
    - Dst: cairo_scaled_font_status
      Src: /src/cairo/test/ft-text-vertical-layout-type3.c:93,1
    - Dst: FcPatternDel
      Src: /src/cairo/test/ft-text-vertical-layout-type3.c:70,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/test/ft-text-vertical-layout-type3.c:77,1
    - Dst: cairo_font_options_destroy
      Src: /src/cairo/test/ft-text-vertical-layout-type3.c:88,1
    - Dst: FcPatternCreate
      Src: /src/cairo/test/ft-text-vertical-layout-type3.c:52,1
    - Dst: FcConfigSubstitute
      Src: /src/cairo/test/ft-text-vertical-layout-type3.c:58,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/test/ft-text-vertical-layout-type3.c:79,1
    - Dst: FcPatternAddBool
      Src: /src/cairo/test/ft-text-vertical-layout-type3.c:71,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/ft-text-vertical-layout-type3.c:89,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 2
    argNames:
    - cr
    - out
    argTypes:
    - cairo_t*
    - cairo_scaled_font_t**
    constantsTouched: []
    func_position:
      end: 101
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 101
    functionName: create_scaled_font
    functionSourceFile: /src/cairo/test/ft-text-vertical-layout-type3.c
    functionUses: []
    functionsReached:
    - FcPatternDestroy
    - FcPatternGetDouble
    - FcPatternDel
    - FcDefaultSubstitute
    - cairo_font_options_destroy
    - cairo_font_options_create
    - cairo_ft_font_face_create_for_pattern
    - FcPatternCreate
    - cairo_get_matrix
    - FcConfigSubstitute
    - FcPatternAddString
    - cairo_get_font_options
    - cairo_matrix_scale
    - cairo_scaled_font_status
    - FcPatternAddDouble
    - cairo_font_face_destroy
    - FcPatternAddBool
    - cairo_matrix_rotate
    - cairo_matrix_init_translate
    - cairo_scaled_font_destroy
    - cairo_scaled_font_create
    - cairo_ft_font_options_substitute
    - FcFontMatch
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t create_scaled_font (cairo_t * cr,\t\t cairo_scaled_font_t\
      \ **out) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_restore
      Src: /src/cairo/test/ft-text-vertical-layout-type3.c:118,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/ft-text-vertical-layout-type3.c:116,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/ft-text-vertical-layout-type3.c:129,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/ft-text-vertical-layout-type3.c:147,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/ft-text-vertical-layout-type3.c:150,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/ft-text-vertical-layout-type3.c:130,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/ft-text-vertical-layout-type3.c:141,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/ft-text-vertical-layout-type3.c:143,1
    - Dst: cairo_text_path
      Src: /src/cairo/test/ft-text-vertical-layout-type3.c:148,1
    - Dst: cairo_fill
      Src: /src/cairo/test/ft-text-vertical-layout-type3.c:149,1
    - Dst: cairo_get_line_width
      Src: /src/cairo/test/ft-text-vertical-layout-type3.c:112,1
    - Dst: cairo_paint
      Src: /src/cairo/test/ft-text-vertical-layout-type3.c:117,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/ft-text-vertical-layout-type3.c:122,1
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/ft-text-vertical-layout-type3.c:122,1
    - Dst: cairo_set_scaled_font
      Src: /src/cairo/test/ft-text-vertical-layout-type3.c:126,1
    - Dst: cairo_scaled_font_destroy
      Src: /src/cairo/test/ft-text-vertical-layout-type3.c:127,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/ft-text-vertical-layout-type3.c:134,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/ft-text-vertical-layout-type3.c:155,1
    - Dst: cairo_save
      Src: /src/cairo/test/ft-text-vertical-layout-type3.c:115,1
    - Dst: create_scaled_font
      Src: /src/cairo/test/ft-text-vertical-layout-type3.c:120,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/ft-text-vertical-layout-type3.c:136,1
    - Dst: cairo_text_extents
      Src: /src/cairo/test/ft-text-vertical-layout-type3.c:131,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/ft-text-vertical-layout-type3.c:135,1
    - Dst: cairo_text_extents
      Src: /src/cairo/test/ft-text-vertical-layout-type3.c:144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 58
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 158
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 158
    functionName: draw
    functionSourceFile: /src/cairo/test/ft-text-vertical-layout-type3.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_scaled_font_destroy
    - cairo_show_text
    - cairo_get_line_width
    - cairo_test_status_from_status
    - cairo_test_get_context
    - cairo_set_line_width
    - cairo_save
    - cairo_text_path
    - create_scaled_font
    - cairo_set_scaled_font
    - cairo_stroke
    - cairo_restore
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_text_extents
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_arc
      Src: /src/cairo/test/group-unaligned.c:31,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 4
    argNames:
    - cr
    - xc
    - yc
    - radius
    argTypes:
    - cairo_t*
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: circle
    functionSourceFile: /src/cairo/test/group-unaligned.c
    functionUses: []
    functionsReached:
    - cairo_arc
    linkageType: ''
    returnType: void
    signature: 'static void circle (cairo_t* cr, double xc, double yc, double radius) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/group-unaligned.c:37,1
    - Dst: circle
      Src: /src/cairo/test/group-unaligned.c:41,1
    - Dst: cairo_fill
      Src: /src/cairo/test/group-unaligned.c:42,1
    - Dst: cairo_paint
      Src: /src/cairo/test/group-unaligned.c:38,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/group-unaligned.c:40,1
    - Dst: cairo_push_group
      Src: /src/cairo/test/group-unaligned.c:44,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/group-unaligned.c:45,1
    - Dst: circle
      Src: /src/cairo/test/group-unaligned.c:46,1
    - Dst: cairo_fill
      Src: /src/cairo/test/group-unaligned.c:47,1
    - Dst: cairo_pop_group_to_source
      Src: /src/cairo/test/group-unaligned.c:48,1
    - Dst: cairo_paint
      Src: /src/cairo/test/group-unaligned.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 52
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 52
    functionName: draw
    functionSourceFile: /src/cairo/test/group-unaligned.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - circle
    - cairo_pop_group_to_source
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_push_group
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: MF
      Src: /src/cairo/test/cairo-test.c:142,1
    - Dst: getenv
      Src: /src/cairo/test/cairo-test.c:156,1
    - Dst: _xunlink
      Src: /src/cairo/test/cairo-test.c:167,1
    - Dst: free
      Src: /src/cairo/test/cairo-test.c:174,1
    - Dst: xstrdup
      Src: /src/cairo/test/cairo-test.c:187,1
    - Dst: getenv
      Src: /src/cairo/test/cairo-test.c:164,1
    - Dst: isatty
      Src: /src/cairo/test/cairo-test.c:217,1
    - Dst: getenv
      Src: /src/cairo/test/cairo-test.c:157,1
    - Dst: RUNNING_ON_MEMFAULT
      Src: /src/cairo/test/cairo-test.c:158,1
    - Dst: cairo_boilerplate_get_targets
      Src: /src/cairo/test/cairo-test.c:192,1
    - Dst: xstrdup
      Src: /src/cairo/test/cairo-test.c:207,1
    - Dst: isatty
      Src: /src/cairo/test/cairo-test.c:213,1
    - Dst: printf
      Src: /src/cairo/test/cairo-test.c:222,1
    - Dst: _cairo_test_fixup_name
      Src: /src/cairo/test/cairo-test.c:149,1
    - Dst: MEMFAULT_DISABLE_FAULTS
      Src: /src/cairo/test/cairo-test.c:142,1
    - Dst: atoi
      Src: /src/cairo/test/cairo-test.c:164,1
    - Dst: fprintf
      Src: /src/cairo/test/cairo-test.c:171,1
    - Dst: fopen
      Src: /src/cairo/test/cairo-test.c:169,1
    - Dst: stat
      Src: /src/cairo/test/cairo-test.c:202,1
    - Dst: xasprintf
      Src: /src/cairo/test/cairo-test.c:209,1
    - Dst: feenableexcept
      Src: /src/cairo/test/cairo-test.c:145,1
    - Dst: cairo_test_mkdir
      Src: /src/cairo/test/cairo-test.c:152,1
    - Dst: atoi
      Src: /src/cairo/test/cairo-test.c:157,1
    - Dst: getenv
      Src: /src/cairo/test/cairo-test.c:163,1
    - Dst: xasprintf
      Src: /src/cairo/test/cairo-test.c:166,1
    - Dst: getenv
      Src: /src/cairo/test/cairo-test.c:197,1
    - Dst: getenv
      Src: /src/cairo/test/cairo-test.c:207,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 77
    argCount: 5
    argNames:
    - ctx
    - parent
    - test
    - test_name
    - output
    argTypes:
    - cairo_test_context_t*
    - cairo_test_context_t*
    - cairo_test_t*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 223
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 223
    functionName: _cairo_test_init
    functionSourceFile: /src/cairo/test/cairo-test.c
    functionUses: []
    functionsReached:
    - printf
    - xstrdup
    - RUNNING_ON_MEMFAULT
    - getenv
    - fprintf
    - MEMFAULT_DISABLE_FAULTS
    - _xunlink
    - free
    - feenableexcept
    - xasprintf
    - cairo_test_mkdir
    - isatty
    - stat
    - _cairo_test_fixup_name
    - fopen
    - cairo_boilerplate_get_targets
    - MF
    - atoi
    linkageType: ''
    returnType: void
    signature: "static void _cairo_test_init (cairo_test_context_t *ctx,\t\t const\
      \ cairo_test_context_t *parent,\t\t const cairo_test_t *test,\t\t const char\
      \ *test_name,\t\t const char *output) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cairo/test/cairo-test.c:509,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/cairo-test.c:512,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/cairo-test.c:515,1
    - Dst: _cairo_test_flatten_reference_image
      Src: /src/cairo/test/cairo-test.c:510,1
    - Dst: free
      Src: /src/cairo/test/cairo-test.c:518,1
    - Dst: cairo_image_surface_create_from_png
      Src: /src/cairo/test/cairo-test.c:522,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/cairo-test.c:523,1
    - Dst: xstrdup
      Src: /src/cairo/test/cairo-test.c:526,1
    - Dst: _cairo_test_flatten_reference_image
      Src: /src/cairo/test/cairo-test.c:528,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 529
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 529
    functionName: cairo_test_get_reference_image
    functionSourceFile: /src/cairo/test/cairo-test.c
    functionUses: []
    functionsReached:
    - _cairo_test_flatten_reference_image
    - xstrdup
    - free
    - cairo_surface_status
    - strcmp
    - cairo_surface_destroy
    - cairo_image_surface_create_from_png
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *cairo_test_get_reference_image (cairo_test_context_t\
      \ *ctx,\t\t\t\tconst char *filename,\t\t\t\tcairo_bool_t flatten) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_create_surface_from_png
      Src: /src/cairo/test/cairo-test.c:1720,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/cairo-test.c:1724,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/cairo-test.c:1726,1
    - Dst: cairo_pattern_create_for_surface
      Src: /src/cairo/test/cairo-test.c:1722,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1729
      start: 1713
    functionDepth: 0
    functionLinenumber: 1713
    functionLinenumberEnd: 1729
    functionName: cairo_test_create_pattern_from_png
    functionSourceFile: /src/cairo/test/cairo-test.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_for_surface
    - cairo_test_create_surface_from_png
    - cairo_pattern_set_extend
    - cairo_surface_destroy
    linkageType: ''
    returnType: cairo_pattern_t*
    signature: "cairo_pattern_t *cairo_test_create_pattern_from_png (const cairo_test_context_t\
      \ *ctx,\t const char *filename) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MEMFAULT_COUNT_FAULTS
      Src: /src/cairo/test/cairo-test.c:1808,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - status
    argTypes:
    - cairo_test_context_t*
    - cairo_status_t
    constantsTouched: []
    func_position:
      end: 1817
      start: 1793
    functionDepth: 0
    functionLinenumber: 1793
    functionLinenumberEnd: 1817
    functionName: cairo_test_malloc_failure
    functionSourceFile: /src/cairo/test/cairo-test.c
    functionUses: []
    functionsReached:
    - MEMFAULT_COUNT_FAULTS
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t cairo_test_malloc_failure (const cairo_test_context_t\
      \ *ctx,\t\t\t cairo_status_t status) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mkdir
      Src: /src/cairo/test/cairo-test.c:103,1
    - Dst: mkdir
      Src: /src/cairo/test/cairo-test.c:106,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 113
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 113
    functionName: cairo_test_mkdir
    functionSourceFile: /src/cairo/test/cairo-test.c
    functionUses: []
    functionsReached:
    - mkdir
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t cairo_test_mkdir (const char *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_test_init
      Src: /src/cairo/test/cairo-test.c:230,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - parent
    - test
    argTypes:
    - cairo_test_context_t*
    - cairo_test_context_t*
    - cairo_test_t*
    constantsTouched: []
    func_position:
      end: 231
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 231
    functionName: _cairo_test_context_init_for_test
    functionSourceFile: /src/cairo/test/cairo-test.c
    functionUses: []
    functionsReached:
    - _cairo_test_init
    linkageType: ''
    returnType: void
    signature: "void _cairo_test_context_init_for_test (cairo_test_context_t *ctx,\t\
      \t\t\t const cairo_test_context_t *parent,\t\t\t\t const cairo_test_t *test) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/cairo/test/cairo-test.c:539,1
    - Dst: stat
      Src: /src/cairo/test/cairo-test.c:549,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 8
    argCount: 3
    argNames:
    - filename
    - ref_filenames
    - num_ref_filenames
    argTypes:
    - char*
    - char**
    - int
    constantsTouched: []
    func_position:
      end: 558
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 558
    functionName: cairo_test_file_is_older
    functionSourceFile: /src/cairo/test/cairo-test.c
    functionUses: []
    functionsReached:
    - stat
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t cairo_test_file_is_older (const char *filename,\t\
      \ char **ref_filenames,\t\t\t int num_ref_filenames) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/cairo-test.c:1737,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/cairo-test.c:1741,1
    - Dst: cairo_paint
      Src: /src/cairo/test/cairo-test.c:1742,1
    - Dst: cairo_create
      Src: /src/cairo/test/cairo-test.c:1738,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/cairo-test.c:1739,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/cairo-test.c:1744,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/cairo-test.c:1745,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/cairo-test.c:1746,1
    - Dst: cairo_fill
      Src: /src/cairo/test/cairo-test.c:1747,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/test/cairo-test.c:1749,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/cairo-test.c:1750,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/cairo-test.c:1749,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1753
      start: 1731
    functionDepth: 0
    functionLinenumber: 1731
    functionLinenumberEnd: 1753
    functionName: _draw_check
    functionSourceFile: /src/cairo/test/cairo-test.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_surface_reference
    - cairo_create
    - cairo_surface_destroy
    - cairo_image_surface_create
    - cairo_get_target
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_destroy
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *_draw_check (int width, int height) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_malloc_failure
      Src: /src/cairo/test/cairo-test.c:1826,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - status
    argTypes:
    - cairo_test_context_t*
    - cairo_status_t
    constantsTouched: []
    func_position:
      end: 1830
      start: 1819
    functionDepth: 0
    functionLinenumber: 1819
    functionLinenumberEnd: 1830
    functionName: cairo_test_status_from_status
    functionSourceFile: /src/cairo/test/cairo-test.c
    functionUses: []
    functionsReached:
    - cairo_test_malloc_failure
    linkageType: ''
    returnType: cairo_test_status_t
    signature: "cairo_test_status_t cairo_test_status_from_status (const cairo_test_context_t\
      \ *ctx,\t\t\t cairo_status_t status) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xstrdup
      Src: /src/cairo/test/cairo-test.c:120,1
    - Dst: strchr
      Src: /src/cairo/test/cairo-test.c:121,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: _cairo_test_fixup_name
    functionSourceFile: /src/cairo/test/cairo-test.c
    functionUses: []
    functionsReached:
    - strchr
    - xstrdup
    linkageType: ''
    returnType: char*
    signature: 'static char *_cairo_test_fixup_name (const char *original) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vfprintf
      Src: /src/cairo/test/cairo-test.c:275,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - fmt
    - va
    argTypes:
    - cairo_test_context_t*
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 276
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 276
    functionName: cairo_test_logv
    functionSourceFile: /src/cairo/test/cairo-test.c
    functionUses: []
    functionsReached:
    - vfprintf
    linkageType: ''
    returnType: void
    signature: "void cairo_test_logv (const cairo_test_context_t *ctx,\t const char\
      \ *fmt, va_list va) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/cairo/test/cairo-test.c:291,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/cairo-test.c:292,1
    - Dst: strerror
      Src: /src/cairo/test/cairo-test.c:293,1
    - Dst: exit
      Src: /src/cairo/test/cairo-test.c:294,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - pathname
    argTypes:
    - cairo_test_context_t*
    - char*
    constantsTouched: []
    func_position:
      end: 296
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 296
    functionName: _xunlink
    functionSourceFile: /src/cairo/test/cairo-test.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - exit
    - strerror
    - unlink
    linkageType: ''
    returnType: void
    signature: 'static void _xunlink (const cairo_test_context_t *ctx, const char
      *pathname) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_malloc_failure
      Src: /src/cairo/test/cairo-test.c:440,1
    - Dst: cairo_create
      Src: /src/cairo/test/cairo-test.c:445,1
    - Dst: xasprintf
      Src: /src/cairo/test/cairo-test.c:423,1
    - Dst: cairo_surface_get_type
      Src: /src/cairo/test/cairo-test.c:451,1
    - Dst: cairo_surface_get_type
      Src: /src/cairo/test/cairo-test.c:451,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/cairo-test.c:449,1
    - Dst: cairo_get_group_target
      Src: /src/cairo/test/cairo-test.c:448,1
    - Dst: getenv
      Src: /src/cairo/test/cairo-test.c:420,1
    - Dst: cairo_test_mkdir
      Src: /src/cairo/test/cairo-test.c:424,1
    - Dst: cairo_push_group_with_content
      Src: /src/cairo/test/cairo-test.c:446,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/cairo-test.c:456,1
    - Dst: cairo_test_malloc_failure
      Src: /src/cairo/test/cairo-test.c:461,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/cairo-test.c:440,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/cairo-test.c:442,1
    - Dst: cairo_boilerplate_content
      Src: /src/cairo/test/cairo-test.c:447,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/cairo-test.c:457,1
    - Dst: free
      Src: /src/cairo/test/cairo-test.c:463,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 40
    argCount: 2
    argNames:
    - ctx
    - target
    argTypes:
    - cairo_test_context_t*
    - cairo_boilerplate_target_t*
    constantsTouched: []
    func_position:
      end: 466
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 466
    functionName: cairo_test_target_has_similar
    functionSourceFile: /src/cairo/test/cairo-test.c
    functionUses: []
    functionsReached:
    - cairo_test_malloc_failure
    - cairo_push_group_with_content
    - cairo_get_group_target
    - getenv
    - free
    - xasprintf
    - cairo_surface_status
    - cairo_test_mkdir
    - cairo_create
    - cairo_boilerplate_content
    - cairo_surface_destroy
    - cairo_destroy
    - cairo_surface_get_type
    linkageType: ''
    returnType: cairo_test_similar_t
    signature: "cairo_test_similar_t cairo_test_target_has_similar (const cairo_test_context_t\
      \ *ctx,\t\t\t const cairo_boilerplate_target_t *target) "
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_target_has_similar
      Src: /src/cairo/test/cairo-test.c:1499,1
    - Dst: printf
      Src: /src/cairo/test/cairo-test.c:1509,1
    - Dst: cairo_test_for_target
      Src: /src/cairo/test/cairo-test.c:1544,1
    - Dst: signal
      Src: /src/cairo/test/cairo-test.c:1554,1
    - Dst: setjmp
      Src: /src/cairo/test/cairo-test.c:1543,1
    - Dst: cairo_test_for_target
      Src: /src/cairo/test/cairo-test.c:1566,1
    - Dst: printf
      Src: /src/cairo/test/cairo-test.c:1588,1
    - Dst: printf
      Src: /src/cairo/test/cairo-test.c:1591,1
    - Dst: fflush
      Src: /src/cairo/test/cairo-test.c:1607,1
    - Dst: fprintf
      Src: /src/cairo/test/cairo-test.c:1610,1
    - Dst: printf
      Src: /src/cairo/test/cairo-test.c:1621,1
    - Dst: fflush
      Src: /src/cairo/test/cairo-test.c:1622,1
    - Dst: fprintf
      Src: /src/cairo/test/cairo-test.c:1624,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/cairo-test.c:1643,1
    - Dst: signal
      Src: /src/cairo/test/cairo-test.c:1535,1
    - Dst: signal
      Src: /src/cairo/test/cairo-test.c:1541,1
    - Dst: signal
      Src: /src/cairo/test/cairo-test.c:1551,1
    - Dst: cairo_test_for_target
      Src: /src/cairo/test/cairo-test.c:1563,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/cairo-test.c:1582,1
    - Dst: fprintf
      Src: /src/cairo/test/cairo-test.c:1595,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/cairo-test.c:1628,1
    - Dst: printf
      Src: /src/cairo/test/cairo-test.c:1636,1
    - Dst: cairo_boilerplate_content_name
      Src: /src/cairo/test/cairo-test.c:1641,1
    - Dst: printf
      Src: /src/cairo/test/cairo-test.c:1649,1
    - Dst: cairo_boilerplate_content_name
      Src: /src/cairo/test/cairo-test.c:1657,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/cairo-test.c:1659,1
    - Dst: fprintf
      Src: /src/cairo/test/cairo-test.c:1639,1
    - Dst: fflush
      Src: /src/cairo/test/cairo-test.c:1637,1
    - Dst: fflush
      Src: /src/cairo/test/cairo-test.c:1513,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/cairo-test.c:1502,1
    - Dst: signal
      Src: /src/cairo/test/cairo-test.c:1529,1
    - Dst: signal
      Src: /src/cairo/test/cairo-test.c:1548,1
    - Dst: signal
      Src: /src/cairo/test/cairo-test.c:1560,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/cairo-test.c:1569,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/cairo-test.c:1577,1
    - Dst: printf
      Src: /src/cairo/test/cairo-test.c:1581,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/cairo-test.c:1594,1
    - Dst: cairo_boilerplate_content_name
      Src: /src/cairo/test/cairo-test.c:1597,1
    - Dst: cairo_boilerplate_content_name
      Src: /src/cairo/test/cairo-test.c:1612,1
    - Dst: printf
      Src: /src/cairo/test/cairo-test.c:1652,1
    - Dst: printf
      Src: /src/cairo/test/cairo-test.c:1633,1
    - Dst: fflush
      Src: /src/cairo/test/cairo-test.c:1653,1
    - Dst: fflush
      Src: /src/cairo/test/cairo-test.c:1662,1
    - Dst: cairo_boilerplate_content_name
      Src: /src/cairo/test/cairo-test.c:1626,1
    - Dst: fprintf
      Src: /src/cairo/test/cairo-test.c:1655,1
    - Dst: cairo_boilerplate_content_name
      Src: /src/cairo/test/cairo-test.c:1510,1
    - Dst: signal
      Src: /src/cairo/test/cairo-test.c:1532,1
    - Dst: signal
      Src: /src/cairo/test/cairo-test.c:1538,1
    - Dst: signal
      Src: /src/cairo/test/cairo-test.c:1557,1
    - Dst: cairo_boilerplate_content_name
      Src: /src/cairo/test/cairo-test.c:1572,1
    - Dst: printf
      Src: /src/cairo/test/cairo-test.c:1576,1
    - Dst: fflush
      Src: /src/cairo/test/cairo-test.c:1592,1
    - Dst: printf
      Src: /src/cairo/test/cairo-test.c:1603,1
    - Dst: printf
      Src: /src/cairo/test/cairo-test.c:1606,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/cairo-test.c:1609,1
    - Dst: printf
      Src: /src/cairo/test/cairo-test.c:1618,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 85
    argCount: 5
    argNames:
    - ctx
    - target
    - similar
    - dev_offset
    - dev_scale
    argTypes:
    - cairo_test_context_t*
    - cairo_boilerplate_target_t*
    - cairo_bool_t
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1665
      start: 1488
    functionDepth: 0
    functionLinenumber: 1488
    functionLinenumberEnd: 1665
    functionName: _cairo_test_context_run_for_target
    functionSourceFile: /src/cairo/test/cairo-test.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - printf
    - cairo_boilerplate_content_name
    - signal
    - fflush
    - fprintf
    - cairo_test_target_has_similar
    - setjmp
    - cairo_test_for_target
    linkageType: ''
    returnType: cairo_test_status_t
    signature: "cairo_test_status_t _cairo_test_context_run_for_target (cairo_test_context_t\
      \ *ctx,\t\t\t\t const cairo_boilerplate_target_t *target,\t\t\t\t cairo_bool_t\
      \ similar,\t\t\t\t int dev_offset, int dev_scale) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_test_fixup_name
      Src: /src/cairo/test/cairo-test.c:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: cairo_test_get_name
    functionSourceFile: /src/cairo/test/cairo-test.c
    functionUses: []
    functionsReached:
    - _cairo_test_fixup_name
    linkageType: ''
    returnType: char*
    signature: 'char *cairo_test_get_name (const cairo_test_t *test) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/cairo/test/cairo-test.c:283,1
    - Dst: va_end
      Src: /src/cairo/test/cairo-test.c:285,1
    - Dst: cairo_test_logv
      Src: /src/cairo/test/cairo-test.c:284,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - fmt
    - '...'
    argTypes:
    - cairo_test_context_t*
    - char*
    constantsTouched: []
    func_position:
      end: 286
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 286
    functionName: cairo_test_log
    functionSourceFile: /src/cairo/test/cairo-test.c
    functionUses: []
    functionsReached:
    - va_start
    - cairo_test_logv
    - va_end
    linkageType: ''
    returnType: void
    signature: 'void cairo_test_log (const cairo_test_context_t *ctx, const char *fmt,
      ...) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: xasprintf
      Src: /src/cairo/test/cairo-test.c:337,1
    - Dst: access
      Src: /src/cairo/test/cairo-test.c:343,1
    - Dst: free
      Src: /src/cairo/test/cairo-test.c:384,1
    - Dst: free
      Src: /src/cairo/test/cairo-test.c:371,1
    - Dst: xasprintf
      Src: /src/cairo/test/cairo-test.c:389,1
    - Dst: access
      Src: /src/cairo/test/cairo-test.c:393,1
    - Dst: access
      Src: /src/cairo/test/cairo-test.c:316,1
    - Dst: xasprintf
      Src: /src/cairo/test/cairo-test.c:324,1
    - Dst: xasprintf
      Src: /src/cairo/test/cairo-test.c:312,1
    - Dst: free
      Src: /src/cairo/test/cairo-test.c:317,1
    - Dst: access
      Src: /src/cairo/test/cairo-test.c:331,1
    - Dst: access
      Src: /src/cairo/test/cairo-test.c:358,1
    - Dst: xasprintf
      Src: /src/cairo/test/cairo-test.c:351,1
    - Dst: strcmp
      Src: /src/cairo/test/cairo-test.c:311,1
    - Dst: free
      Src: /src/cairo/test/cairo-test.c:344,1
    - Dst: access
      Src: /src/cairo/test/cairo-test.c:370,1
    - Dst: xasprintf
      Src: /src/cairo/test/cairo-test.c:377,1
    - Dst: xasprintf
      Src: /src/cairo/test/cairo-test.c:364,1
    - Dst: access
      Src: /src/cairo/test/cairo-test.c:383,1
    - Dst: free
      Src: /src/cairo/test/cairo-test.c:394,1
    - Dst: free
      Src: /src/cairo/test/cairo-test.c:332,1
    - Dst: free
      Src: /src/cairo/test/cairo-test.c:359,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 402
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 402
    functionName: cairo_test_reference_filename
    functionSourceFile: /src/cairo/test/cairo-test.c
    functionUses: []
    functionsReached:
    - access
    - xasprintf
    - strcmp
    - free
    linkageType: ''
    returnType: char*
    signature: "char *cairo_test_reference_filename (const cairo_test_context_t *ctx,\t\
      \t\t const char *base_name,\t\t\t const char *test_name,\t\t\t const char *target_name,\t\
      \t\t const char *base_target_name,\t\t\t const char *format,\t\t\t const char\
      \ *suffix,\t\t\t const char *extension) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/cairo-test.c:481,1
    - Dst: cairo_image_surface_get_width
      Src: /src/cairo/test/cairo-test.c:482,1
    - Dst: cairo_create
      Src: /src/cairo/test/cairo-test.c:484,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/cairo-test.c:485,1
    - Dst: cairo_image_surface_get_height
      Src: /src/cairo/test/cairo-test.c:483,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/cairo-test.c:487,1
    - Dst: cairo_paint
      Src: /src/cairo/test/cairo-test.c:488,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/cairo-test.c:490,1
    - Dst: cairo_paint
      Src: /src/cairo/test/cairo-test.c:491,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/test/cairo-test.c:493,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/cairo-test.c:493,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/cairo-test.c:496,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/cairo-test.c:494,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 499
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 499
    functionName: _cairo_test_flatten_reference_image
    functionSourceFile: /src/cairo/test/cairo-test.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_surface_reference
    - cairo_surface_status
    - cairo_create
    - cairo_surface_destroy
    - cairo_image_surface_get_height
    - cairo_image_surface_create
    - cairo_get_target
    - cairo_set_source_rgb
    - cairo_destroy
    - cairo_image_surface_get_width
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_test_flatten_reference_image (cairo_test_context_t\
      \ *ctx,\t\t\t\t cairo_bool_t flatten) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_get_user_data
      Src: /src/cairo/test/cairo-test.c:1670,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1671
      start: 1667
    functionDepth: 0
    functionLinenumber: 1667
    functionLinenumberEnd: 1671
    functionName: cairo_test_get_context
    functionSourceFile: /src/cairo/test/cairo-test.c
    functionUses: []
    functionsReached:
    - cairo_get_user_data
    linkageType: ''
    returnType: cairo_test_context_t*
    signature: 'const cairo_test_context_t *cairo_test_get_context (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_Done_Face
      Src: /src/cairo/test/cairo-test.c:1839,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - face
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1840
      start: 1836
    functionDepth: 0
    functionLinenumber: 1836
    functionLinenumberEnd: 1840
    functionName: _free_face
    functionSourceFile: /src/cairo/test/cairo-test.c
    functionUses: []
    functionsReached:
    - FT_Done_Face
    linkageType: ''
    returnType: void
    signature: 'static void _free_face (void *face) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/cairo-test.c:1852,1
    - Dst: access
      Src: /src/cairo/test/cairo-test.c:1858,1
    - Dst: xasprintf
      Src: /src/cairo/test/cairo-test.c:1860,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/cairo-test.c:1866,1
    - Dst: access
      Src: /src/cairo/test/cairo-test.c:1865,1
    - Dst: FT_Init_FreeType
      Src: /src/cairo/test/cairo-test.c:1871,1
    - Dst: FT_New_Face
      Src: /src/cairo/test/cairo-test.c:1875,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/cairo-test.c:1876,1
    - Dst: free
      Src: /src/cairo/test/cairo-test.c:1880,1
    - Dst: cairo_ft_font_face_create_for_ft_face
      Src: /src/cairo/test/cairo-test.c:1881,1
    - Dst: cairo_status
      Src: /src/cairo/test/cairo-test.c:1887,1
    - Dst: cairo_font_face_status
      Src: /src/cairo/test/cairo-test.c:1882,1
    - Dst: cairo_set_font_face
      Src: /src/cairo/test/cairo-test.c:1886,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/cairo-test.c:1894,1
    - Dst: cairo_font_face_set_user_data
      Src: /src/cairo/test/cairo-test.c:1885,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/cairo-test.c:1890,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 2
    argNames:
    - cr
    - filename
    argTypes:
    - cairo_t*
    - char*
    constantsTouched: []
    func_position:
      end: 1897
      start: 1848
    functionDepth: 0
    functionLinenumber: 1848
    functionLinenumberEnd: 1897
    functionName: cairo_test_ft_select_font_from_file
    functionSourceFile: /src/cairo/test/cairo-test.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - cairo_font_face_set_user_data
    - cairo_set_font_face
    - FT_Init_FreeType
    - cairo_ft_font_face_create_for_ft_face
    - cairo_test_get_context
    - free
    - xasprintf
    - cairo_font_face_destroy
    - cairo_status
    - cairo_font_face_status
    - access
    - FT_New_Face
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'cairo_test_status_t cairo_test_ft_select_font_from_file (cairo_t *cr,
      const char *filename) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_test_init
      Src: /src/cairo/test/cairo-test.c:238,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - test_name
    - output
    argTypes:
    - cairo_test_context_t*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 239
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 239
    functionName: cairo_test_init
    functionSourceFile: /src/cairo/test/cairo-test.c
    functionUses: []
    functionsReached:
    - _cairo_test_init
    linkageType: ''
    returnType: void
    signature: "void cairo_test_init (cairo_test_context_t *ctx,\t\t const char *test_name,\t\
      \t const char *output) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/cairo/test/cairo-test.c:570,1
    - Dst: getc
      Src: /src/cairo/test/cairo-test.c:583,1
    - Dst: fopen
      Src: /src/cairo/test/cairo-test.c:574,1
    - Dst: fclose
      Src: /src/cairo/test/cairo-test.c:576,1
    - Dst: getc
      Src: /src/cairo/test/cairo-test.c:582,1
    - Dst: fclose
      Src: /src/cairo/test/cairo-test.c:588,1
    - Dst: fclose
      Src: /src/cairo/test/cairo-test.c:589,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - test_filename
    - pass_filename
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 592
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 592
    functionName: cairo_test_files_equal
    functionSourceFile: /src/cairo/test/cairo-test.c
    functionUses: []
    functionsReached:
    - fopen
    - getc
    - fclose
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t cairo_test_files_equal (const char *test_filename,\t\
      \t\tconst char *pass_filename) "
  - BBCount: 80
    BranchProfiles: []
    Callsites:
    - Dst: cairo_boilerplate_content_name
      Src: /src/cairo/test/cairo-test.c:666,1
    - Dst: xasprintf
      Src: /src/cairo/test/cairo-test.c:668,1
    - Dst: xasprintf
      Src: /src/cairo/test/cairo-test.c:768,1
    - Dst: MEMFAULT_COUNT_FAULTS
      Src: /src/cairo/test/cairo-test.c:838,1
    - Dst: MF
      Src: /src/cairo/test/cairo-test.c:868,1
    - Dst: MEMFAULT_PRINT_LEAKS
      Src: /src/cairo/test/cairo-test.c:1022,1
    - Dst: xasprintf
      Src: /src/cairo/test/cairo-test.c:1090,1
    - Dst: _xunlink
      Src: /src/cairo/test/cairo-test.c:1103,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/cairo-test.c:1227,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/cairo-test.c:1249,1
    - Dst: free
      Src: /src/cairo/test/cairo-test.c:1468,1
    - Dst: MEMFAULT_CLEAR_FAULTS
      Src: /src/cairo/test/cairo-test.c:995,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/cairo-test.c:1150,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/cairo-test.c:1215,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/cairo-test.c:1322,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/cairo-test.c:1420,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/cairo-test.c:1397,1
    - Dst: cairo_test_files_equal
      Src: /src/cairo/test/cairo-test.c:1271,1
    - Dst: cairo_test_files_equal
      Src: /src/cairo/test/cairo-test.c:1234,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/cairo-test.c:1401,1
    - Dst: MF
      Src: /src/cairo/test/cairo-test.c:855,1
    - Dst: cairo_surface_get_content
      Src: /src/cairo/test/cairo-test.c:867,1
    - Dst: cairo_save
      Src: /src/cairo/test/cairo-test.c:935,1
    - Dst: cairo_set_user_data
      Src: /src/cairo/test/cairo-test.c:897,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/cairo-test.c:955,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/cairo-test.c:957,1
    - Dst: MEMFAULT_COUNT_LEAKS
      Src: /src/cairo/test/cairo-test.c:965,1
    - Dst: MEMFAULT_COUNT_FAULTS
      Src: /src/cairo/test/cairo-test.c:996,1
    - Dst: alarm
      Src: /src/cairo/test/cairo-test.c:1001,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/cairo-test.c:1029,1
    - Dst: cairo_test_files_equal
      Src: /src/cairo/test/cairo-test.c:1367,1
    - Dst: cairo_test_copy_file
      Src: /src/cairo/test/cairo-test.c:1339,1
    - Dst: free
      Src: /src/cairo/test/cairo-test.c:1459,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/cairo-test.c:1235,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/cairo-test.c:1244,1
    - Dst: cairo_test_reference_filename
      Src: /src/cairo/test/cairo-test.c:1358,1
    - Dst: free
      Src: /src/cairo/test/cairo-test.c:1457,1
    - Dst: MEMFAULT_PRINT_FAULTS
      Src: /src/cairo/test/cairo-test.c:868,1
    - Dst: MEMFAULT_ENABLE_FAULTS
      Src: /src/cairo/test/cairo-test.c:816,1
    - Dst: cairo_surface_set_device_offset
      Src: /src/cairo/test/cairo-test.c:893,1
    - Dst: MEMFAULT_DISABLE_FAULTS
      Src: /src/cairo/test/cairo-test.c:948,1
    - Dst: alarm
      Src: /src/cairo/test/cairo-test.c:1003,1
    - Dst: MEMFAULT_COUNT_FAULTS
      Src: /src/cairo/test/cairo-test.c:1009,1
    - Dst: MEMFAULT_PRINT_FAULTS
      Src: /src/cairo/test/cairo-test.c:1021,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/cairo-test.c:1059,1
    - Dst: xasprintf
      Src: /src/cairo/test/cairo-test.c:1086,1
    - Dst: cairo_test_files_equal
      Src: /src/cairo/test/cairo-test.c:1125,1
    - Dst: _xunlink
      Src: /src/cairo/test/cairo-test.c:1159,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/cairo-test.c:1162,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/cairo-test.c:1222,1
    - Dst: image_diff
      Src: /src/cairo/test/cairo-test.c:1296,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/cairo-test.c:1309,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/cairo-test.c:1450,1
    - Dst: free
      Src: /src/cairo/test/cairo-test.c:1456,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/cairo-test.c:1187,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/cairo-test.c:1286,1
    - Dst: cairo_surface_get_type
      Src: /src/cairo/test/cairo-test.c:854,1
    - Dst: MEMFAULT_PRINT_FAULTS
      Src: /src/cairo/test/cairo-test.c:855,1
    - Dst: cairo_font_options_set_antialias
      Src: /src/cairo/test/cairo-test.c:931,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/cairo-test.c:922,1
    - Dst: cairo_test_reference_filename
      Src: /src/cairo/test/cairo-test.c:715,1
    - Dst: MEMFAULT_COUNT_FAULTS
      Src: /src/cairo/test/cairo-test.c:807,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/cairo-test.c:900,1
    - Dst: cairo_restore
      Src: /src/cairo/test/cairo-test.c:939,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/cairo-test.c:869,1
    - Dst: cairo_paint
      Src: /src/cairo/test/cairo-test.c:919,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/cairo-test.c:1306,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/cairo-test.c:1251,1
    - Dst: free
      Src: /src/cairo/test/cairo-test.c:1458,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/cairo-test.c:1199,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/cairo-test.c:1229,1
    - Dst: cairo_test_reference_filename
      Src: /src/cairo/test/cairo-test.c:722,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/cairo-test.c:845,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/cairo-test.c:918,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/cairo-test.c:943,1
    - Dst: cairo_status
      Src: /src/cairo/test/cairo-test.c:954,1
    - Dst: FcFini
      Src: /src/cairo/test/cairo-test.c:963,1
    - Dst: cairo_debug_reset_static_data
      Src: /src/cairo/test/cairo-test.c:1016,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/cairo-test.c:1065,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/cairo-test.c:1113,1
    - Dst: xasprintf
      Src: /src/cairo/test/cairo-test.c:1181,1
    - Dst: cairo_test_files_equal
      Src: /src/cairo/test/cairo-test.c:1212,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/cairo-test.c:1285,1
    - Dst: cairo_test_copy_file
      Src: /src/cairo/test/cairo-test.c:1343,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/cairo-test.c:1309,1
    - Dst: MEMFAULT_PRINT_FAULTS
      Src: /src/cairo/test/cairo-test.c:1434,1
    - Dst: cairo_image_surface_create_from_png
      Src: /src/cairo/test/cairo-test.c:1375,1
    - Dst: xasprintf
      Src: /src/cairo/test/cairo-test.c:769,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/cairo-test.c:776,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/cairo-test.c:881,1
    - Dst: VALGRIND_PRINTF
      Src: /src/cairo/test/cairo-test.c:985,1
    - Dst: cairo_test_file_is_older
      Src: /src/cairo/test/cairo-test.c:1093,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/cairo-test.c:1151,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/cairo-test.c:1149,1
    - Dst: _xunlink
      Src: /src/cairo/test/cairo-test.c:1189,1
    - Dst: MEMFAULT_COUNT_LEAKS
      Src: /src/cairo/test/cairo-test.c:1432,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/cairo-test.c:1134,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/cairo-test.c:1206,1
    - Dst: cairo_test_files_equal
      Src: /src/cairo/test/cairo-test.c:1219,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/cairo-test.c:1237,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/cairo-test.c:1107,1
    - Dst: cairo_debug_reset_static_data
      Src: /src/cairo/test/cairo-test.c:1426,1
    - Dst: MEMFAULT_PRINT_FAULTS
      Src: /src/cairo/test/cairo-test.c:1416,1
    - Dst: cairo_set_font_options
      Src: /src/cairo/test/cairo-test.c:932,1
    - Dst: cairo_font_options_destroy
      Src: /src/cairo/test/cairo-test.c:933,1
    - Dst: xasprintf
      Src: /src/cairo/test/cairo-test.c:677,1
    - Dst: cairo_test_reference_filename
      Src: /src/cairo/test/cairo-test.c:738,1
    - Dst: strstr
      Src: /src/cairo/test/cairo-test.c:784,1
    - Dst: FcInit
      Src: /src/cairo/test/cairo-test.c:813,1
    - Dst: cairo_surface_get_content
      Src: /src/cairo/test/cairo-test.c:870,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/cairo-test.c:1012,1
    - Dst: MEMFAULT_COUNT_LEAKS
      Src: /src/cairo/test/cairo-test.c:1020,1
    - Dst: alarm
      Src: /src/cairo/test/cairo-test.c:1051,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/cairo-test.c:1285,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/cairo-test.c:1334,1
    - Dst: MEMFAULT_PRINT_LEAKS
      Src: /src/cairo/test/cairo-test.c:1435,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/cairo-test.c:1258,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/cairo-test.c:1267,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/cairo-test.c:1443,1
    - Dst: cairo_boilerplate_content
      Src: /src/cairo/test/cairo-test.c:865,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/cairo-test.c:839,1
    - Dst: cairo_surface_get_type
      Src: /src/cairo/test/cairo-test.c:857,1
    - Dst: cairo_test_mkdir
      Src: /src/cairo/test/cairo-test.c:764,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/cairo-test.c:958,1
    - Dst: MEMFAULT_HAS_FAULTS
      Src: /src/cairo/test/cairo-test.c:983,1
    - Dst: alarm
      Src: /src/cairo/test/cairo-test.c:1055,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/cairo-test.c:1057,1
    - Dst: cairo_test_file_is_older
      Src: /src/cairo/test/cairo-test.c:1185,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/cairo-test.c:1208,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/cairo-test.c:1307,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/cairo-test.c:1396,1
    - Dst: free
      Src: /src/cairo/test/cairo-test.c:1465,1
    - Dst: cairo_test_files_equal
      Src: /src/cairo/test/cairo-test.c:1226,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/cairo-test.c:1418,1
    - Dst: free
      Src: /src/cairo/test/cairo-test.c:1463,1
    - Dst: free
      Src: /src/cairo/test/cairo-test.c:686,1
    - Dst: MEMFAULT_RESET_LEAKS
      Src: /src/cairo/test/cairo-test.c:805,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/cairo-test.c:848,1
    - Dst: MEMFAULT_COUNT_FAULTS
      Src: /src/cairo/test/cairo-test.c:952,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/cairo-test.c:1148,1
    - Dst: cairo_test_files_equal
      Src: /src/cairo/test/cairo-test.c:1248,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/cairo-test.c:1265,1
    - Dst: cairo_test_get_reference_image
      Src: /src/cairo/test/cairo-test.c:1304,1
    - Dst: cairo_status
      Src: /src/cairo/test/cairo-test.c:1400,1
    - Dst: free
      Src: /src/cairo/test/cairo-test.c:1461,1
    - Dst: free
      Src: /src/cairo/test/cairo-test.c:1410,1
    - Dst: cairo_test_files_equal
      Src: /src/cairo/test/cairo-test.c:1118,1
    - Dst: cairo_test_files_equal
      Src: /src/cairo/test/cairo-test.c:1257,1
    - Dst: free
      Src: /src/cairo/test/cairo-test.c:1466,1
    - Dst: cairo_font_options_set_hint_style
      Src: /src/cairo/test/cairo-test.c:929,1
    - Dst: free
      Src: /src/cairo/test/cairo-test.c:688,1
    - Dst: cairo_test_reference_filename
      Src: /src/cairo/test/cairo-test.c:729,1
    - Dst: cairo_surface_set_user_data
      Src: /src/cairo/test/cairo-test.c:875,1
    - Dst: MEMFAULT_ENABLE_FAULTS
      Src: /src/cairo/test/cairo-test.c:997,1
    - Dst: _xunlink
      Src: /src/cairo/test/cairo-test.c:1049,1
    - Dst: _xunlink
      Src: /src/cairo/test/cairo-test.c:1097,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/cairo-test.c:1119,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/cairo-test.c:1150,1
    - Dst: free
      Src: /src/cairo/test/cairo-test.c:1408,1
    - Dst: image_diff
      Src: /src/cairo/test/cairo-test.c:1378,1
    - Dst: free
      Src: /src/cairo/test/cairo-test.c:1464,1
    - Dst: image_diff_is_failure
      Src: /src/cairo/test/cairo-test.c:1326,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/cairo-test.c:1272,1
    - Dst: image_diff
      Src: /src/cairo/test/cairo-test.c:1316,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/cairo-test.c:1388,1
    - Dst: cairo_test_reference_filename
      Src: /src/cairo/test/cairo-test.c:690,1
    - Dst: MEMFAULT_DISABLE_FAULTS
      Src: /src/cairo/test/cairo-test.c:1006,1
    - Dst: cairo_surface_write_to_png
      Src: /src/cairo/test/cairo-test.c:1056,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/cairo-test.c:1063,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/cairo-test.c:1101,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/cairo-test.c:1127,1
    - Dst: cairo_test_file_is_older
      Src: /src/cairo/test/cairo-test.c:1191,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/cairo-test.c:1193,1
    - Dst: cairo_status
      Src: /src/cairo/test/cairo-test.c:1402,1
    - Dst: free
      Src: /src/cairo/test/cairo-test.c:1462,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/cairo-test.c:1164,1
    - Dst: free
      Src: /src/cairo/test/cairo-test.c:1409,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/cairo-test.c:1283,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/cairo-test.c:1376,1
    - Dst: cairo_test_files_equal
      Src: /src/cairo/test/cairo-test.c:1198,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/cairo-test.c:1333,1
    - Dst: _xunlink
      Src: /src/cairo/test/cairo-test.c:1299,1
    - Dst: cairo_create
      Src: /src/cairo/test/cairo-test.c:896,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/cairo-test.c:831,1
    - Dst: xasprintf
      Src: /src/cairo/test/cairo-test.c:673,1
    - Dst: cairo_test_reference_filename
      Src: /src/cairo/test/cairo-test.c:746,1
    - Dst: cairo_test_reference_filename
      Src: /src/cairo/test/cairo-test.c:754,1
    - Dst: cairo_pop_group_to_source
      Src: /src/cairo/test/cairo-test.c:942,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/cairo-test.c:1045,1
    - Dst: xasprintf
      Src: /src/cairo/test/cairo-test.c:1088,1
    - Dst: cairo_test_files_equal
      Src: /src/cairo/test/cairo-test.c:1106,1
    - Dst: xasprintf
      Src: /src/cairo/test/cairo-test.c:1182,1
    - Dst: FcFini
      Src: /src/cairo/test/cairo-test.c:1429,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/cairo-test.c:1274,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/cairo-test.c:1310,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/cairo-test.c:847,1
    - Dst: cairo_font_options_set_hint_metrics
      Src: /src/cairo/test/cairo-test.c:930,1
    - Dst: cairo_restore
      Src: /src/cairo/test/cairo-test.c:920,1
    - Dst: cairo_font_options_create
      Src: /src/cairo/test/cairo-test.c:928,1
    - Dst: cairo_paint
      Src: /src/cairo/test/cairo-test.c:944,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/cairo-test.c:1013,1
    - Dst: cairo_test_file_is_older
      Src: /src/cairo/test/cairo-test.c:1099,1
    - Dst: cairo_test_files_equal
      Src: /src/cairo/test/cairo-test.c:1112,1
    - Dst: xasprintf
      Src: /src/cairo/test/cairo-test.c:1183,1
    - Dst: cairo_test_files_equal
      Src: /src/cairo/test/cairo-test.c:1241,1
    - Dst: cairo_surface_write_to_png
      Src: /src/cairo/test/cairo-test.c:1330,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/cairo-test.c:1402,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/cairo-test.c:1323,1
    - Dst: cairo_test_files_equal
      Src: /src/cairo/test/cairo-test.c:1132,1
    - Dst: cairo_test_files_equal
      Src: /src/cairo/test/cairo-test.c:1205,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/cairo-test.c:1213,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/cairo-test.c:1282,1
    - Dst: alarm
      Src: /src/cairo/test/cairo-test.c:938,1
    - Dst: cairo_test_reference_filename
      Src: /src/cairo/test/cairo-test.c:698,1
    - Dst: MF
      Src: /src/cairo/test/cairo-test.c:846,1
    - Dst: alarm
      Src: /src/cairo/test/cairo-test.c:936,1
    - Dst: cairo_push_group_with_content
      Src: /src/cairo/test/cairo-test.c:913,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/cairo-test.c:899,1
    - Dst: MEMFAULT_PRINT_LEAKS
      Src: /src/cairo/test/cairo-test.c:967,1
    - Dst: FcFini
      Src: /src/cairo/test/cairo-test.c:1018,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/cairo-test.c:1030,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/cairo-test.c:1155,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/cairo-test.c:1260,1
    - Dst: image_diff_is_failure
      Src: /src/cairo/test/cairo-test.c:1301,1
    - Dst: free
      Src: /src/cairo/test/cairo-test.c:1392,1
    - Dst: free
      Src: /src/cairo/test/cairo-test.c:1460,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/cairo-test.c:1291,1
    - Dst: cairo_surface_set_device_scale
      Src: /src/cairo/test/cairo-test.c:894,1
    - Dst: cairo_save
      Src: /src/cairo/test/cairo-test.c:917,1
    - Dst: cairo_test_reference_filename
      Src: /src/cairo/test/cairo-test.c:706,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/cairo-test.c:785,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/cairo-test.c:848,1
    - Dst: alarm
      Src: /src/cairo/test/cairo-test.c:1143,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/cairo-test.c:1163,1
    - Dst: _xunlink
      Src: /src/cairo/test/cairo-test.c:1195,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/cairo-test.c:1242,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/cairo-test.c:1220,1
    - Dst: free
      Src: /src/cairo/test/cairo-test.c:1467,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/cairo-test.c:1095,1
    - Dst: cairo_test_copy_file
      Src: /src/cairo/test/cairo-test.c:1348,1
    - Dst: MEMFAULT_PRINT_FAULTS
      Src: /src/cairo/test/cairo-test.c:846,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/cairo-test.c:856,1
    - Dst: xasprintf
      Src: /src/cairo/test/cairo-test.c:765,1
    - Dst: strstr
      Src: /src/cairo/test/cairo-test.c:775,1
    - Dst: MEMFAULT_CLEAR_FAULTS
      Src: /src/cairo/test/cairo-test.c:804,1
    - Dst: cairo_debug_reset_static_data
      Src: /src/cairo/test/cairo-test.c:961,1
    - Dst: MEMFAULT_PRINT_FAULTS
      Src: /src/cairo/test/cairo-test.c:966,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/cairo-test.c:976,1
    - Dst: MEMFAULT_COUNT_FAULTS
      Src: /src/cairo/test/cairo-test.c:982,1
    - Dst: MEMFAULT_PRINT_FAULTS
      Src: /src/cairo/test/cairo-test.c:986,1
    - Dst: alarm
      Src: /src/cairo/test/cairo-test.c:1147,1
    - Dst: cairo_test_get_reference_image
      Src: /src/cairo/test/cairo-test.c:1280,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/cairo-test.c:1201,1
    - Dst: cairo_surface_write_to_png
      Src: /src/cairo/test/cairo-test.c:1160,1
    - Dst: cairo_test_files_equal
      Src: /src/cairo/test/cairo-test.c:1264,1
    - Dst: image_diff_is_failure
      Src: /src/cairo/test/cairo-test.c:1383,1
    CyclomaticComplexity: 166
    EdgeCount: 166
    ICount: 515
    argCount: 5
    argNames:
    - ctx
    - target
    - dev_offset
    - dev_scale
    - similar
    argTypes:
    - cairo_test_context_t*
    - cairo_boilerplate_target_t*
    - int
    - int
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 1471
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 1471
    functionName: cairo_test_for_target
    functionSourceFile: /src/cairo/test/cairo-test.c
    functionUses: []
    functionsReached:
    - cairo_push_group_with_content
    - cairo_set_font_options
    - MEMFAULT_ENABLE_FAULTS
    - cairo_font_options_set_hint_style
    - MEMFAULT_DISABLE_FAULTS
    - cairo_pop_group_to_source
    - xasprintf
    - cairo_test_copy_file
    - cairo_surface_write_to_png
    - cairo_select_font_face
    - cairo_surface_get_content
    - MF
    - MEMFAULT_COUNT_FAULTS
    - MEMFAULT_PRINT_LEAKS
    - cairo_test_files_equal
    - cairo_surface_set_user_data
    - cairo_font_options_destroy
    - cairo_font_options_create
    - MEMFAULT_HAS_FAULTS
    - cairo_surface_status
    - MEMFAULT_PRINT_FAULTS
    - cairo_create
    - cairo_save
    - cairo_status
    - VALGRIND_PRINTF
    - cairo_surface_set_device_offset
    - cairo_font_options_set_antialias
    - FcInit
    - cairo_test_log
    - MEMFAULT_RESET_LEAKS
    - image_diff
    - cairo_debug_reset_static_data
    - _xunlink
    - alarm
    - ARRAY_LENGTH
    - cairo_test_mkdir
    - cairo_surface_set_device_scale
    - cairo_restore
    - cairo_set_operator
    - FcFini
    - cairo_image_surface_create_from_png
    - cairo_destroy
    - strstr
    - cairo_font_options_set_hint_metrics
    - cairo_surface_get_type
    - cairo_status_to_string
    - cairo_paint
    - cairo_boilerplate_content_name
    - image_diff_is_failure
    - free
    - cairo_boilerplate_content
    - cairo_test_get_reference_image
    - cairo_surface_destroy
    - cairo_test_file_is_older
    - cairo_image_surface_create
    - MEMFAULT_CLEAR_FAULTS
    - MEMFAULT_COUNT_LEAKS
    - cairo_test_reference_filename
    - cairo_set_user_data
    linkageType: ''
    returnType: cairo_test_status_t
    signature: "static cairo_test_status_t cairo_test_for_target (cairo_test_context_t\t\
      \t *ctx,\t\t const cairo_boilerplate_target_t\t *target,\t\t int\t\t\t\t dev_offset,\t\
      \t int\t\t\t\t dev_scale,\t\t cairo_bool_t similar) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/cairo/test/cairo-test.c:248,1
    - Dst: free
      Src: /src/cairo/test/cairo-test.c:251,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/cairo-test.c:254,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/cairo-test.c:253,1
    - Dst: free
      Src: /src/cairo/test/cairo-test.c:252,1
    - Dst: free
      Src: /src/cairo/test/cairo-test.c:257,1
    - Dst: cairo_boilerplate_free_targets
      Src: /src/cairo/test/cairo-test.c:260,1
    - Dst: cairo_boilerplate_fini
      Src: /src/cairo/test/cairo-test.c:262,1
    - Dst: cairo_debug_reset_static_data
      Src: /src/cairo/test/cairo-test.c:264,1
    - Dst: FcFini
      Src: /src/cairo/test/cairo-test.c:266,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - cairo_test_context_t*
    constantsTouched: []
    func_position:
      end: 268
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 268
    functionName: cairo_test_fini
    functionSourceFile: /src/cairo/test/cairo-test.c
    functionUses: []
    functionsReached:
    - fclose
    - cairo_debug_reset_static_data
    - cairo_boilerplate_fini
    - free
    - cairo_surface_destroy
    - FcFini
    - cairo_boilerplate_free_targets
    linkageType: ''
    returnType: void
    signature: 'void cairo_test_fini (cairo_test_context_t *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: link
      Src: /src/cairo/test/cairo-test.c:602,1
    - Dst: fclose
      Src: /src/cairo/test/cairo-test.c:614,1
    - Dst: fopen
      Src: /src/cairo/test/cairo-test.c:608,1
    - Dst: unlink
      Src: /src/cairo/test/cairo-test.c:605,1
    - Dst: fopen
      Src: /src/cairo/test/cairo-test.c:612,1
    - Dst: getc
      Src: /src/cairo/test/cairo-test.c:619,1
    - Dst: putc
      Src: /src/cairo/test/cairo-test.c:620,1
    - Dst: fclose
      Src: /src/cairo/test/cairo-test.c:622,1
    - Dst: fclose
      Src: /src/cairo/test/cairo-test.c:623,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - src_filename
    - dst_filename
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 626
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 626
    functionName: cairo_test_copy_file
    functionSourceFile: /src/cairo/test/cairo-test.c
    functionUses: []
    functionsReached:
    - putc
    - fclose
    - getc
    - unlink
    - link
    - fopen
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t cairo_test_copy_file (const char *src_filename,\t\
      \t const char *dst_filename) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_create
      Src: /src/cairo/test/cairo-test.c:1677,1
    - Dst: cairo_set_user_data
      Src: /src/cairo/test/cairo-test.c:1678,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1681
      start: 1673
    functionDepth: 0
    functionLinenumber: 1673
    functionLinenumberEnd: 1681
    functionName: cairo_test_create
    functionSourceFile: /src/cairo/test/cairo-test.c
    functionUses: []
    functionsReached:
    - cairo_create
    - cairo_set_user_data
    linkageType: ''
    returnType: cairo_t*
    signature: "cairo_t *cairo_test_create (cairo_surface_t *surface,\t\t const cairo_test_context_t\
      \ *ctx) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _draw_check
      Src: /src/cairo/test/cairo-test.c:1760,1
    - Dst: cairo_pattern_set_filter
      Src: /src/cairo/test/cairo-test.c:1766,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/cairo-test.c:1763,1
    - Dst: cairo_save
      Src: /src/cairo/test/cairo-test.c:1762,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/cairo-test.c:1764,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/cairo-test.c:1766,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/cairo-test.c:1767,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/cairo-test.c:1767,1
    - Dst: cairo_paint
      Src: /src/cairo/test/cairo-test.c:1768,1
    - Dst: cairo_restore
      Src: /src/cairo/test/cairo-test.c:1770,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 1771
      start: 1755
    functionDepth: 0
    functionLinenumber: 1755
    functionLinenumberEnd: 1771
    functionName: cairo_test_paint_checkered
    functionSourceFile: /src/cairo/test/cairo-test.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_pattern_set_filter
    - cairo_get_source
    - _draw_check
    - cairo_save
    - cairo_surface_destroy
    - cairo_pattern_set_extend
    - cairo_restore
    - cairo_set_source_surface
    linkageType: ''
    returnType: void
    signature: 'void cairo_test_paint_checkered (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: longjmp
      Src: /src/cairo/test/cairo-test.c:1484,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - signal
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1485
      start: 1481
    functionDepth: 0
    functionLinenumber: 1481
    functionLinenumberEnd: 1485
    functionName: segfault_handler
    functionSourceFile: /src/cairo/test/cairo-test.c
    functionUses: []
    functionsReached:
    - longjmp
    linkageType: ''
    returnType: void
    signature: 'static void segfault_handler (int signal) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create_from_png
      Src: /src/cairo/test/cairo-test.c:1691,1
    - Dst: cairo_image_surface_create_from_png
      Src: /src/cairo/test/cairo-test.c:1701,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/cairo-test.c:1692,1
    - Dst: xasprintf
      Src: /src/cairo/test/cairo-test.c:1699,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/cairo-test.c:1700,1
    - Dst: free
      Src: /src/cairo/test/cairo-test.c:1702,1
    - Dst: strdup
      Src: /src/cairo/test/cairo-test.c:1705,1
    - Dst: cairo_surface_set_mime_data
      Src: /src/cairo/test/cairo-test.c:1706,1
    - Dst: strlen
      Src: /src/cairo/test/cairo-test.c:1707,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1711
      start: 1683
    functionDepth: 0
    functionLinenumber: 1683
    functionLinenumberEnd: 1711
    functionName: cairo_test_create_surface_from_png
    functionSourceFile: /src/cairo/test/cairo-test.c
    functionUses: []
    functionsReached:
    - strlen
    - free
    - xasprintf
    - cairo_surface_status
    - cairo_surface_destroy
    - strdup
    - cairo_image_surface_create_from_png
    - cairo_surface_set_mime_data
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *cairo_test_create_surface_from_png (const cairo_test_context_t\
      \ *ctx,\t const char *filename) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cairo/test/cairo-test.c:1781,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - target
    argTypes:
    - cairo_test_context_t*
    - char*
    constantsTouched: []
    func_position:
      end: 1791
      start: 1773
    functionDepth: 0
    functionLinenumber: 1773
    functionLinenumberEnd: 1791
    functionName: cairo_test_is_target_enabled
    functionSourceFile: /src/cairo/test/cairo-test.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t cairo_test_is_target_enabled (const cairo_test_context_t\
      \ *ctx,\t\t\t const char *target) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_operator
      Src: /src/cairo/test/get-and-set.c:72,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/get-and-set.c:75,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/get-and-set.c:76,1
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/test/get-and-set.c:74,1
    - Dst: cairo_set_tolerance
      Src: /src/cairo/test/get-and-set.c:73,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/get-and-set.c:77,1
    - Dst: cairo_set_miter_limit
      Src: /src/cairo/test/get-and-set.c:78,1
    - Dst: cairo_set_matrix
      Src: /src/cairo/test/get-and-set.c:79,1
    - Dst: cairo_set_dash
      Src: /src/cairo/test/get-and-set.c:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - cr
    - settings
    argTypes:
    - cairo_t*
    - settings_t*
    constantsTouched: []
    func_position:
      end: 81
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 81
    functionName: settings_set
    functionSourceFile: /src/cairo/test/get-and-set.c
    functionUses: []
    functionsReached:
    - cairo_set_tolerance
    - cairo_set_line_width
    - cairo_set_dash
    - cairo_set_line_join
    - cairo_set_line_cap
    - cairo_set_operator
    - cairo_set_fill_rule
    - cairo_set_miter_limit
    - cairo_set_matrix
    linkageType: ''
    returnType: void
    signature: 'static void settings_set (cairo_t *cr, const settings_t *settings) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: settings_set
      Src: /src/cairo/test/get-and-set.c:131,1
    - Dst: settings_equal
      Src: /src/cairo/test/get-and-set.c:139,1
    - Dst: settings_set
      Src: /src/cairo/test/get-and-set.c:135,1
    - Dst: cairo_save
      Src: /src/cairo/test/get-and-set.c:133,1
    - Dst: settings_get
      Src: /src/cairo/test/get-and-set.c:136,1
    - Dst: cairo_restore
      Src: /src/cairo/test/get-and-set.c:142,1
    - Dst: settings_get
      Src: /src/cairo/test/get-and-set.c:144,1
    - Dst: settings_equal
      Src: /src/cairo/test/get-and-set.c:147,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 151
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 151
    functionName: draw
    functionSourceFile: /src/cairo/test/get-and-set.c
    functionUses: []
    functionsReached:
    - settings_equal
    - settings_get
    - cairo_save
    - cairo_restore
    - settings_set
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_get_operator
      Src: /src/cairo/test/get-and-set.c:88,1
    - Dst: cairo_get_tolerance
      Src: /src/cairo/test/get-and-set.c:89,1
    - Dst: cairo_get_line_width
      Src: /src/cairo/test/get-and-set.c:91,1
    - Dst: cairo_get_line_cap
      Src: /src/cairo/test/get-and-set.c:92,1
    - Dst: cairo_get_fill_rule
      Src: /src/cairo/test/get-and-set.c:90,1
    - Dst: cairo_get_line_join
      Src: /src/cairo/test/get-and-set.c:93,1
    - Dst: cairo_get_miter_limit
      Src: /src/cairo/test/get-and-set.c:94,1
    - Dst: cairo_get_matrix
      Src: /src/cairo/test/get-and-set.c:95,1
    - Dst: cairo_get_dash_count
      Src: /src/cairo/test/get-and-set.c:97,1
    - Dst: cairo_get_dash
      Src: /src/cairo/test/get-and-set.c:101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - cr
    - settings
    argTypes:
    - cairo_t*
    - settings_t*
    constantsTouched: []
    func_position:
      end: 104
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 104
    functionName: settings_get
    functionSourceFile: /src/cairo/test/get-and-set.c
    functionUses: []
    functionsReached:
    - cairo_get_tolerance
    - cairo_get_dash_count
    - cairo_get_line_width
    - cairo_get_operator
    - cairo_get_miter_limit
    - cairo_get_line_join
    - cairo_get_dash
    - cairo_get_line_cap
    - cairo_get_fill_rule
    - cairo_get_matrix
    linkageType: ''
    returnType: int
    signature: 'static int settings_get (cairo_t *cr, settings_t *settings) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cairo/test/get-and-set.c:122,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - settings_t*
    - settings_t*
    constantsTouched: []
    func_position:
      end: 124
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 124
    functionName: settings_equal
    functionSourceFile: /src/cairo/test/get-and-set.c
    functionUses: []
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'static int settings_equal (const settings_t *a, const settings_t *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_fill
      Src: /src/cairo/test/svg-clip.c:49,1
    - Dst: cairo_fill
      Src: /src/cairo/test/svg-clip.c:76,1
    - Dst: cairo_clip
      Src: /src/cairo/test/svg-clip.c:72,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/svg-clip.c:85,1
    - Dst: cairo_arc
      Src: /src/cairo/test/svg-clip.c:102,1
    - Dst: cairo_fill
      Src: /src/cairo/test/svg-clip.c:104,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/svg-clip.c:57,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/svg-clip.c:61,1
    - Dst: cairo_create
      Src: /src/cairo/test/svg-clip.c:80,1
    - Dst: cairo_get_group_target
      Src: /src/cairo/test/svg-clip.c:80,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/svg-clip.c:84,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/svg-clip.c:92,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/svg-clip.c:93,1
    - Dst: cairo_reset_clip
      Src: /src/cairo/test/svg-clip.c:101,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/svg-clip.c:48,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/svg-clip.c:60,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/svg-clip.c:71,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/svg-clip.c:70,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/svg-clip.c:75,1
    - Dst: cairo_restore
      Src: /src/cairo/test/svg-clip.c:64,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/svg-clip.c:86,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/svg-clip.c:91,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/svg-clip.c:96,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/svg-clip.c:103,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/svg-clip.c:45,1
    - Dst: cairo_arc
      Src: /src/cairo/test/svg-clip.c:47,1
    - Dst: cairo_clip
      Src: /src/cairo/test/svg-clip.c:46,1
    - Dst: cairo_save
      Src: /src/cairo/test/svg-clip.c:54,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/svg-clip.c:56,1
    - Dst: cairo_clip
      Src: /src/cairo/test/svg-clip.c:58,1
    - Dst: cairo_fill
      Src: /src/cairo/test/svg-clip.c:62,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/svg-clip.c:74,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/svg-clip.c:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 37
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 105
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 105
    functionName: test_clip
    functionSourceFile: /src/cairo/test/svg-clip.c
    functionUses: []
    functionsReached:
    - cairo_get_group_target
    - cairo_set_source_rgba
    - cairo_line_to
    - cairo_curve_to
    - cairo_arc
    - cairo_create
    - cairo_save
    - cairo_stroke
    - cairo_restore
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_destroy
    - cairo_clip
    - cairo_reset_clip
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void test_clip (cairo_t *cr, double width, double height) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_mkdir
      Src: /src/cairo/test/svg-clip.c:113,1
    - Dst: xasprintf
      Src: /src/cairo/test/svg-clip.c:121,1
    - Dst: cairo_svg_surface_create
      Src: /src/cairo/test/svg-clip.c:122,1
    - Dst: cairo_test_is_target_enabled
      Src: /src/cairo/test/svg-clip.c:116,1
    - Dst: cairo_test_is_target_enabled
      Src: /src/cairo/test/svg-clip.c:115,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/svg-clip.c:124,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/svg-clip.c:125,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/svg-clip.c:127,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/svg-clip.c:127,1
    - Dst: free
      Src: /src/cairo/test/svg-clip.c:128,1
    - Dst: test_clip
      Src: /src/cairo/test/svg-clip.c:134,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/svg-clip.c:137,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/svg-clip.c:138,1
    - Dst: cairo_create
      Src: /src/cairo/test/svg-clip.c:132,1
    - Dst: cairo_show_page
      Src: /src/cairo/test/svg-clip.c:135,1
    - Dst: free
      Src: /src/cairo/test/svg-clip.c:142,1
    - Dst: printf
      Src: /src/cairo/test/svg-clip.c:140,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - cairo_test_context_t*
    constantsTouched: []
    func_position:
      end: 144
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 144
    functionName: preamble
    functionSourceFile: /src/cairo/test/svg-clip.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - printf
    - cairo_svg_surface_create
    - cairo_show_page
    - free
    - xasprintf
    - cairo_surface_status
    - cairo_test_mkdir
    - cairo_create
    - test_clip
    - cairo_surface_destroy
    - cairo_test_is_target_enabled
    - cairo_destroy
    - cairo_status_to_string
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t preamble (cairo_test_context_t *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw
      Src: /src/cairo/test/hairline.c:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: draw_typical
    functionSourceFile: /src/cairo/test/hairline.c
    functionUses: []
    functionsReached:
    - draw
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_typical (cairo_t *cr, int width, int
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw
      Src: /src/cairo/test/hairline.c:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: draw_anisotropic
    functionSourceFile: /src/cairo/test/hairline.c
    functionUses: []
    functionsReached:
    - draw
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_anisotropic (cairo_t *cr, int width,
      int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw
      Src: /src/cairo/test/hairline.c:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: draw_scaled
    functionSourceFile: /src/cairo/test/hairline.c
    functionUses: []
    functionsReached:
    - draw
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_scaled (cairo_t *cr, int width, int
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw
      Src: /src/cairo/test/hairline.c:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: draw_anisotropic_incorrect
    functionSourceFile: /src/cairo/test/hairline.c
    functionUses: []
    functionsReached:
    - draw
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_anisotropic_incorrect (cairo_t *cr,
      int width, int height) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/hairline.c:53,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/hairline.c:57,1
    - Dst: cairo_get_matrix
      Src: /src/cairo/test/hairline.c:61,1
    - Dst: cairo_set_hairline
      Src: /src/cairo/test/hairline.c:65,1
    - Dst: cairo_arc
      Src: /src/cairo/test/hairline.c:78,1
    - Dst: cairo_set_matrix
      Src: /src/cairo/test/hairline.c:81,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/hairline.c:83,1
    - Dst: cairo_get_matrix
      Src: /src/cairo/test/hairline.c:87,1
    - Dst: cairo_scale
      Src: /src/cairo/test/hairline.c:88,1
    - Dst: cairo_get_matrix
      Src: /src/cairo/test/hairline.c:99,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/hairline.c:114,1
    - Dst: cairo_set_matrix
      Src: /src/cairo/test/hairline.c:134,1
    - Dst: cairo_set_dash
      Src: /src/cairo/test/hairline.c:90,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/hairline.c:117,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/hairline.c:75,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/hairline.c:116,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/hairline.c:77,1
    - Dst: cairo_get_hairline
      Src: /src/cairo/test/hairline.c:105,1
    - Dst: cairo_arc
      Src: /src/cairo/test/hairline.c:119,1
    - Dst: cairo_set_matrix
      Src: /src/cairo/test/hairline.c:122,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/hairline.c:124,1
    - Dst: cairo_get_matrix
      Src: /src/cairo/test/hairline.c:128,1
    - Dst: cairo_scale
      Src: /src/cairo/test/hairline.c:129,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/hairline.c:118,1
    - Dst: cairo_set_dash
      Src: /src/cairo/test/hairline.c:131,1
    - Dst: cairo_arc
      Src: /src/cairo/test/hairline.c:132,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/hairline.c:103,1
    - Dst: cairo_scale
      Src: /src/cairo/test/hairline.c:100,1
    - Dst: MAX
      Src: /src/cairo/test/hairline.c:45,1
    - Dst: cairo_arc
      Src: /src/cairo/test/hairline.c:91,1
    - Dst: cairo_set_matrix
      Src: /src/cairo/test/hairline.c:93,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/hairline.c:95,1
    - Dst: cairo_set_hairline
      Src: /src/cairo/test/hairline.c:104,1
    - Dst: cairo_set_dash
      Src: /src/cairo/test/hairline.c:109,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/hairline.c:111,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/hairline.c:112,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/hairline.c:115,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/hairline.c:113,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/hairline.c:136,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/hairline.c:74,1
    - Dst: cairo_get_hairline
      Src: /src/cairo/test/hairline.c:48,1
    - Dst: cairo_paint
      Src: /src/cairo/test/hairline.c:54,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/hairline.c:56,1
    - Dst: cairo_scale
      Src: /src/cairo/test/hairline.c:63,1
    - Dst: cairo_get_hairline
      Src: /src/cairo/test/hairline.c:66,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/hairline.c:70,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/hairline.c:71,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/hairline.c:73,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/hairline.c:76,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/hairline.c:72,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 145
    argCount: 7
    argNames:
    - cr
    - width
    - height
    - scale_width
    - scale_height
    - fit_to_scale
    - correct_scale
    argTypes:
    - cairo_t*
    - int
    - int
    - double
    - double
    - cairo_bool_t
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 139
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 139
    functionName: draw
    functionSourceFile: /src/cairo/test/hairline.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_get_hairline
    - cairo_set_line_width
    - cairo_line_to
    - cairo_arc
    - cairo_set_dash
    - MAX
    - cairo_scale
    - cairo_stroke
    - cairo_set_matrix
    - cairo_set_source_rgb
    - cairo_get_matrix
    - cairo_set_hairline
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height,
      double scale_width, double scale_height, cairo_bool_t fit_to_scale, cairo_bool_t
      correct_scale) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/extend-repeat.c:7,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/extend-repeat.c:12,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/extend-repeat.c:11,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/extend-repeat.c:12,1
    - Dst: cairo_test_create_surface_from_png
      Src: /src/cairo/test/extend-repeat.c:10,1
    - Dst: cairo_paint
      Src: /src/cairo/test/extend-repeat.c:14,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/extend-repeat.c:16,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 19
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 19
    functionName: draw
    functionSourceFile: /src/cairo/test/extend-repeat.c
    functionUses: []
    functionsReached:
    - cairo_test_create_surface_from_png
    - cairo_paint
    - cairo_test_get_context
    - cairo_get_source
    - cairo_surface_destroy
    - cairo_pattern_set_extend
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:159,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:163,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:165,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:161,1
    - Dst: text
      Src: /src/cairo/test/pdf-structure.c:162,1
    - Dst: cairo_push_group
      Src: /src/cairo/test/pdf-structure.c:167,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:169,1
    - Dst: text
      Src: /src/cairo/test/pdf-structure.c:170,1
    - Dst: text
      Src: /src/cairo/test/pdf-structure.c:171,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:172,1
    - Dst: cairo_pop_group_to_source
      Src: /src/cairo/test/pdf-structure.c:174,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:177,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:179,1
    - Dst: cairo_paint
      Src: /src/cairo/test/pdf-structure.c:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 180
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 180
    functionName: test_group
    functionSourceFile: /src/cairo/test/pdf-structure.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_pop_group_to_source
    - text
    - cairo_tag_begin
    - cairo_push_group
    - cairo_tag_end
    linkageType: ''
    returnType: void
    signature: 'static void test_group (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:70,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:72,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:76,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:74,1
    - Dst: text
      Src: /src/cairo/test/pdf-structure.c:73,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:78,1
    - Dst: text
      Src: /src/cairo/test/pdf-structure.c:79,1
    - Dst: text
      Src: /src/cairo/test/pdf-structure.c:80,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:81,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:83,1
    - Dst: text
      Src: /src/cairo/test/pdf-structure.c:84,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:93,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:95,1
    - Dst: text
      Src: /src/cairo/test/pdf-structure.c:90,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:91,1
    - Dst: text
      Src: /src/cairo/test/pdf-structure.c:87,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:88,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 96
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 96
    functionName: test_simple
    functionSourceFile: /src/cairo/test/pdf-structure.c
    functionUses: []
    functionsReached:
    - text
    - cairo_tag_begin
    - cairo_tag_end
    linkageType: ''
    returnType: void
    signature: 'static void test_simple (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:209,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:211,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:213,1
    - Dst: cairo_push_group
      Src: /src/cairo/test/pdf-structure.c:215,1
    - Dst: text
      Src: /src/cairo/test/pdf-structure.c:212,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:217,1
    - Dst: text
      Src: /src/cairo/test/pdf-structure.c:218,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:219,1
    - Dst: cairo_pop_group_to_source
      Src: /src/cairo/test/pdf-structure.c:221,1
    - Dst: cairo_paint
      Src: /src/cairo/test/pdf-structure.c:222,1
    - Dst: text
      Src: /src/cairo/test/pdf-structure.c:225,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:227,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/pdf-structure.c:224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 228
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 228
    functionName: test_group3
    functionSourceFile: /src/cairo/test/pdf-structure.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_pop_group_to_source
    - text
    - cairo_tag_begin
    - cairo_set_source_rgb
    - cairo_push_group
    - cairo_tag_end
    linkageType: ''
    returnType: void
    signature: 'static void test_group3 (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:272,1
    - Dst: cairo_fill
      Src: /src/cairo/test/pdf-structure.c:295,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/pdf-structure.c:298,1
    - Dst: cairo_translate
      Src: /src/cairo/test/pdf-structure.c:297,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/pdf-structure.c:302,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/pdf-structure.c:305,1
    - Dst: cairo_translate
      Src: /src/cairo/test/pdf-structure.c:307,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/pdf-structure.c:308,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/pdf-structure.c:309,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/pdf-structure.c:310,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:314,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:276,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:278,1
    - Dst: text
      Src: /src/cairo/test/pdf-structure.c:283,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:285,1
    - Dst: cairo_translate
      Src: /src/cairo/test/pdf-structure.c:301,1
    - Dst: cairo_paint
      Src: /src/cairo/test/pdf-structure.c:290,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/pdf-structure.c:293,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/pdf-structure.c:294,1
    - Dst: cairo_translate
      Src: /src/cairo/test/pdf-structure.c:292,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/pdf-structure.c:289,1
    - Dst: cairo_pop_group
      Src: /src/cairo/test/pdf-structure.c:287,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/pdf-structure.c:303,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/pdf-structure.c:304,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:312,1
    - Dst: text
      Src: /src/cairo/test/pdf-structure.c:275,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:274,1
    - Dst: cairo_push_group
      Src: /src/cairo/test/pdf-structure.c:280,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:282,1
    - Dst: text
      Src: /src/cairo/test/pdf-structure.c:284,1
    - Dst: cairo_mask
      Src: /src/cairo/test/pdf-structure.c:299,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 315
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 315
    functionName: test_repeated_group
    functionSourceFile: /src/cairo/test/pdf-structure.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_show_text
    - cairo_pop_group
    - cairo_set_source_rgb
    - cairo_line_to
    - text
    - cairo_mask
    - cairo_set_source
    - cairo_stroke
    - cairo_tag_begin
    - cairo_fill
    - cairo_translate
    - cairo_push_group
    - cairo_move_to
    - cairo_tag_end
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void test_repeated_group (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:360,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:362,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:366,1
    - Dst: cairo_show_page
      Src: /src/cairo/test/pdf-structure.c:368,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:382,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:373,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:384,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:388,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:390,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:393,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:395,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:411,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:370,1
    - Dst: cairo_show_page
      Src: /src/cairo/test/pdf-structure.c:376,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:374,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:389,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:391,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:394,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:396,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:400,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:402,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:403,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:378,1
    - Dst: text
      Src: /src/cairo/test/pdf-structure.c:380,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:379,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:406,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:407,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:409,1
    - Dst: text
      Src: /src/cairo/test/pdf-structure.c:361,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:364,1
    - Dst: text
      Src: /src/cairo/test/pdf-structure.c:365,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:371,1
    - Dst: text
      Src: /src/cairo/test/pdf-structure.c:372,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:381,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:386,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:398,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:404,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:405,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 39
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 412
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 412
    functionName: test_multipage_simple_ref
    functionSourceFile: /src/cairo/test/pdf-structure.c
    functionUses: []
    functionsReached:
    - text
    - cairo_tag_begin
    - cairo_tag_end
    - cairo_show_page
    linkageType: ''
    returnType: void
    signature: 'static void test_multipage_simple_ref (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_paint
      Src: /src/cairo/test/pdf-structure.c:467,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:451,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:453,1
    - Dst: text
      Src: /src/cairo/test/pdf-structure.c:454,1
    - Dst: cairo_push_group
      Src: /src/cairo/test/pdf-structure.c:459,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:461,1
    - Dst: text
      Src: /src/cairo/test/pdf-structure.c:462,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:464,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:474,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:476,1
    - Dst: text
      Src: /src/cairo/test/pdf-structure.c:475,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/pdf-structure.c:472,1
    - Dst: cairo_paint
      Src: /src/cairo/test/pdf-structure.c:471,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:455,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:457,1
    - Dst: text
      Src: /src/cairo/test/pdf-structure.c:463,1
    - Dst: cairo_show_page
      Src: /src/cairo/test/pdf-structure.c:469,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:478,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:480,1
    - Dst: cairo_pop_group_to_source
      Src: /src/cairo/test/pdf-structure.c:466,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 481
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 481
    functionName: test_multipage_group2
    functionSourceFile: /src/cairo/test/pdf-structure.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_show_page
    - cairo_pop_group_to_source
    - text
    - cairo_tag_begin
    - cairo_set_source_rgb
    - cairo_push_group
    - cairo_tag_end
    linkageType: ''
    returnType: void
    signature: 'static void test_multipage_group2 (cairo_t *cr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pdf_surface_create
      Src: /src/cairo/test/pdf-structure.c:504,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/pdf-structure.c:510,1
    - Dst: cairo_create
      Src: /src/cairo/test/pdf-structure.c:508,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/pdf-structure.c:513,1
    - Dst: cairo_pdf_surface_restrict_to_version
      Src: /src/cairo/test/pdf-structure.c:506,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/pdf-structure.c:514,1
    - Dst: cairo_status
      Src: /src/cairo/test/pdf-structure.c:518,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/pdf-structure.c:519,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/pdf-structure.c:520,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/pdf-structure.c:525,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/pdf-structure.c:528,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/pdf-structure.c:527,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/pdf-structure.c:521,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - ctx
    - test
    - output
    argTypes:
    - cairo_test_context_t*
    - struct pdf_structure_test*
    - char*
    constantsTouched: []
    func_position:
      end: 533
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 533
    functionName: create_pdf
    functionSourceFile: /src/cairo/test/pdf-structure.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - cairo_surface_finish
    - cairo_pdf_surface_restrict_to_version
    - cairo_surface_status
    - cairo_create
    - cairo_set_font_size
    - cairo_pdf_surface_create
    - cairo_surface_destroy
    - cairo_status
    - cairo_select_font_face
    - cairo_destroy
    - cairo_move_to
    - cairo_status_to_string
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t create_pdf (cairo_test_context_t *ctx,
      const struct pdf_structure_test *test, const char *output) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - current
    - new
    argTypes:
    - cairo_test_status_t*
    - cairo_test_status_t
    constantsTouched: []
    func_position:
      end: 575
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 575
    functionName: merge_test_status
    functionSourceFile: /src/cairo/test/pdf-structure.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void merge_test_status (cairo_test_status_t *current, cairo_test_status_t
      new) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_show_text
      Src: /src/cairo/test/pdf-structure.c:62,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/pdf-structure.c:64,1
    - Dst: cairo_get_current_point
      Src: /src/cairo/test/pdf-structure.c:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - cr
    - text
    argTypes:
    - cairo_t*
    - char*
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: text
    functionSourceFile: /src/cairo/test/pdf-structure.c
    functionUses: []
    functionsReached:
    - cairo_move_to
    - cairo_show_text
    - cairo_get_current_point
    linkageType: ''
    returnType: void
    signature: 'static void text(cairo_t *cr, const char *text) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:105,1
    - Dst: text
      Src: /src/cairo/test/pdf-structure.c:106,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:126,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:136,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:139,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:146,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:142,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:132,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:125,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:131,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:133,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:138,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:141,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:143,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:144,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:149,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:153,1
    - Dst: text
      Src: /src/cairo/test/pdf-structure.c:102,1
    - Dst: text
      Src: /src/cairo/test/pdf-structure.c:107,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:110,1
    - Dst: text
      Src: /src/cairo/test/pdf-structure.c:111,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:124,1
    - Dst: text
      Src: /src/cairo/test/pdf-structure.c:115,1
    - Dst: text
      Src: /src/cairo/test/pdf-structure.c:119,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:118,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:114,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:127,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:129,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:101,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:103,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:108,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:112,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:122,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:116,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:120,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:134,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:147,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 39
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 154
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 154
    functionName: test_simple_ref
    functionSourceFile: /src/cairo/test/pdf-structure.c
    functionUses: []
    functionsReached:
    - text
    - cairo_tag_begin
    - cairo_tag_end
    linkageType: ''
    returnType: void
    signature: 'static void test_simple_ref (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: text
      Src: /src/cairo/test/pdf-structure.c:240,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:257,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:251,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:249,1
    - Dst: text
      Src: /src/cairo/test/pdf-structure.c:234,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:250,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:247,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:259,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:263,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:233,1
    - Dst: cairo_push_group
      Src: /src/cairo/test/pdf-structure.c:237,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:235,1
    - Dst: text
      Src: /src/cairo/test/pdf-structure.c:241,1
    - Dst: cairo_paint
      Src: /src/cairo/test/pdf-structure.c:245,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:254,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:252,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:239,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:242,1
    - Dst: cairo_pop_group_to_source
      Src: /src/cairo/test/pdf-structure.c:244,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:258,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:256,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:261,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 265
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 265
    functionName: test_group_ref
    functionSourceFile: /src/cairo/test/pdf-structure.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_pop_group_to_source
    - text
    - cairo_tag_begin
    - cairo_push_group
    - cairo_tag_end
    linkageType: ''
    returnType: void
    signature: 'static void test_group_ref (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:324,1
    - Dst: text
      Src: /src/cairo/test/pdf-structure.c:325,1
    - Dst: text
      Src: /src/cairo/test/pdf-structure.c:341,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:340,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:348,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:352,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:354,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:320,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:326,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:332,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:334,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:342,1
    - Dst: cairo_show_page
      Src: /src/cairo/test/pdf-structure.c:344,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:328,1
    - Dst: text
      Src: /src/cairo/test/pdf-structure.c:329,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:346,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:350,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:322,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:330,1
    - Dst: text
      Src: /src/cairo/test/pdf-structure.c:347,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:338,1
    - Dst: cairo_show_page
      Src: /src/cairo/test/pdf-structure.c:336,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 355
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 355
    functionName: test_multipage_simple
    functionSourceFile: /src/cairo/test/pdf-structure.c
    functionUses: []
    functionsReached:
    - text
    - cairo_tag_begin
    - cairo_tag_end
    - cairo_show_page
    linkageType: ''
    returnType: void
    signature: 'static void test_multipage_simple (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_paint
      Src: /src/cairo/test/pdf-structure.c:433,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:444,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:440,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/pdf-structure.c:434,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:417,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:421,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:423,1
    - Dst: cairo_push_group
      Src: /src/cairo/test/pdf-structure.c:425,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:427,1
    - Dst: text
      Src: /src/cairo/test/pdf-structure.c:428,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:430,1
    - Dst: cairo_pop_group_to_source
      Src: /src/cairo/test/pdf-structure.c:432,1
    - Dst: cairo_show_page
      Src: /src/cairo/test/pdf-structure.c:436,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:442,1
    - Dst: text
      Src: /src/cairo/test/pdf-structure.c:439,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:438,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:419,1
    - Dst: text
      Src: /src/cairo/test/pdf-structure.c:420,1
    - Dst: text
      Src: /src/cairo/test/pdf-structure.c:429,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 445
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 445
    functionName: test_multipage_group
    functionSourceFile: /src/cairo/test/pdf-structure.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_show_page
    - cairo_pop_group_to_source
    - text
    - cairo_tag_begin
    - cairo_set_source_rgb
    - cairo_push_group
    - cairo_tag_end
    linkageType: ''
    returnType: void
    signature: 'static void test_multipage_group (cairo_t *cr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xasprintf
      Src: /src/cairo/test/pdf-structure.c:543,1
    - Dst: WEXITSTATUS
      Src: /src/cairo/test/pdf-structure.c:553,1
    - Dst: system
      Src: /src/cairo/test/pdf-structure.c:551,1
    - Dst: WIFEXITED
      Src: /src/cairo/test/pdf-structure.c:553,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/pdf-structure.c:552,1
    - Dst: WIFEXITED
      Src: /src/cairo/test/pdf-structure.c:555,1
    - Dst: WEXITSTATUS
      Src: /src/cairo/test/pdf-structure.c:556,1
    - Dst: WEXITSTATUS
      Src: /src/cairo/test/pdf-structure.c:558,1
    - Dst: free
      Src: /src/cairo/test/pdf-structure.c:562,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - ctx
    - test
    - output
    argTypes:
    - cairo_test_context_t*
    - struct pdf_structure_test*
    - char*
    constantsTouched: []
    func_position:
      end: 564
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 564
    functionName: check_pdf
    functionSourceFile: /src/cairo/test/pdf-structure.c
    functionUses: []
    functionsReached:
    - system
    - cairo_test_log
    - WIFEXITED
    - free
    - xasprintf
    - WEXITSTATUS
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t check_pdf (cairo_test_context_t *ctx, const
      struct pdf_structure_test *test, const char *output) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_is_target_enabled
      Src: /src/cairo/test/pdf-structure.c:591,1
    - Dst: create_pdf
      Src: /src/cairo/test/pdf-structure.c:600,1
    - Dst: xasprintf
      Src: /src/cairo/test/pdf-structure.c:595,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/pdf-structure.c:594,1
    - Dst: merge_test_status
      Src: /src/cairo/test/pdf-structure.c:601,1
    - Dst: check_pdf
      Src: /src/cairo/test/pdf-structure.c:604,1
    - Dst: merge_test_status
      Src: /src/cairo/test/pdf-structure.c:605,1
    - Dst: merge_test_status
      Src: /src/cairo/test/pdf-structure.c:607,1
    - Dst: free
      Src: /src/cairo/test/pdf-structure.c:611,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - cairo_test_context_t*
    constantsTouched: []
    func_position:
      end: 613
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 613
    functionName: preamble
    functionSourceFile: /src/cairo/test/pdf-structure.c
    functionUses: []
    functionsReached:
    - check_pdf
    - merge_test_status
    - xasprintf
    - ARRAY_LENGTH
    - free
    - create_pdf
    - cairo_test_is_target_enabled
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t preamble (cairo_test_context_t *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:188,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-structure.c:194,1
    - Dst: text
      Src: /src/cairo/test/pdf-structure.c:189,1
    - Dst: cairo_push_group
      Src: /src/cairo/test/pdf-structure.c:192,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:190,1
    - Dst: text
      Src: /src/cairo/test/pdf-structure.c:195,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-structure.c:196,1
    - Dst: cairo_pop_group_to_source
      Src: /src/cairo/test/pdf-structure.c:198,1
    - Dst: cairo_paint
      Src: /src/cairo/test/pdf-structure.c:199,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/pdf-structure.c:201,1
    - Dst: text
      Src: /src/cairo/test/pdf-structure.c:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 203
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 203
    functionName: test_group2
    functionSourceFile: /src/cairo/test/pdf-structure.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_pop_group_to_source
    - text
    - cairo_tag_begin
    - cairo_set_source_rgb
    - cairo_push_group
    - cairo_tag_end
    linkageType: ''
    returnType: void
    signature: 'static void test_group2 (cairo_t *cr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/in-fill-empty-trapezoid.c:49,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/in-fill-empty-trapezoid.c:51,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/in-fill-empty-trapezoid.c:54,1
    - Dst: cairo_create
      Src: /src/cairo/test/in-fill-empty-trapezoid.c:50,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/in-fill-empty-trapezoid.c:55,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/in-fill-empty-trapezoid.c:56,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/in-fill-empty-trapezoid.c:59,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/in-fill-empty-trapezoid.c:60,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/in-fill-empty-trapezoid.c:61,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/in-fill-empty-trapezoid.c:64,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/in-fill-empty-trapezoid.c:83,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/in-fill-empty-trapezoid.c:66,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/in-fill-empty-trapezoid.c:84,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/in-fill-empty-trapezoid.c:78,1
    - Dst: cairo_status
      Src: /src/cairo/test/in-fill-empty-trapezoid.c:68,1
    - Dst: cairo_in_fill
      Src: /src/cairo/test/in-fill-empty-trapezoid.c:73,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/in-fill-empty-trapezoid.c:65,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/in-fill-empty-trapezoid.c:89,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - cairo_test_context_t*
    constantsTouched: []
    func_position:
      end: 96
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 96
    functionName: preamble
    functionSourceFile: /src/cairo/test/in-fill-empty-trapezoid.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - cairo_line_to
    - cairo_create
    - cairo_surface_destroy
    - cairo_close_path
    - cairo_in_fill
    - cairo_image_surface_create
    - cairo_status
    - cairo_destroy
    - cairo_move_to
    - cairo_status_to_string
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t preamble (cairo_test_context_t *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_font_options_set_color_palette
      Src: /src/cairo/test/ft-svg-render-color.c:75,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/ft-svg-render-color.c:66,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/ft-svg-render-color.c:83,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/ft-svg-render-color.c:48,1
    - Dst: cairo_paint
      Src: /src/cairo/test/ft-svg-render-color.c:47,1
    - Dst: cairo_font_options_create
      Src: /src/cairo/test/ft-svg-render-color.c:58,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/ft-svg-render-color.c:61,1
    - Dst: cairo_font_options_set_color_palette
      Src: /src/cairo/test/ft-svg-render-color.c:64,1
    - Dst: cairo_set_font_options
      Src: /src/cairo/test/ft-svg-render-color.c:77,1
    - Dst: cairo_font_options_set_color_palette
      Src: /src/cairo/test/ft-svg-render-color.c:69,1
    - Dst: cairo_restore
      Src: /src/cairo/test/ft-svg-render-color.c:81,1
    - Dst: cairo_test_ft_select_font_from_file
      Src: /src/cairo/test/ft-svg-render-color.c:50,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/ft-svg-render-color.c:57,1
    - Dst: cairo_font_options_set_custom_palette_color
      Src: /src/cairo/test/ft-svg-render-color.c:76,1
    - Dst: cairo_set_font_options
      Src: /src/cairo/test/ft-svg-render-color.c:71,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/ft-svg-render-color.c:78,1
    - Dst: cairo_font_options_destroy
      Src: /src/cairo/test/ft-svg-render-color.c:80,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/ft-svg-render-color.c:86,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/ft-svg-render-color.c:46,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/ft-svg-render-color.c:54,1
    - Dst: cairo_save
      Src: /src/cairo/test/ft-svg-render-color.c:56,1
    - Dst: cairo_set_font_options
      Src: /src/cairo/test/ft-svg-render-color.c:65,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/ft-svg-render-color.c:72,1
    - Dst: cairo_font_options_set_custom_palette_color
      Src: /src/cairo/test/ft-svg-render-color.c:70,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/ft-svg-render-color.c:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 90
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 90
    functionName: draw
    functionSourceFile: /src/cairo/test/ft-svg-render-color.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_show_text
    - cairo_set_font_options
    - cairo_font_options_create
    - cairo_font_options_destroy
    - cairo_save
    - cairo_set_font_size
    - cairo_test_ft_select_font_from_file
    - cairo_restore
    - cairo_set_source_rgb
    - cairo_font_options_set_custom_palette_color
    - cairo_move_to
    - cairo_font_options_set_color_palette
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/text-subpixel.c:36,1
    - Dst: cairo_paint
      Src: /src/cairo/test/text-subpixel.c:37,1
    - Dst: cairo_get_font_options
      Src: /src/cairo/test/text-subpixel.c:44,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/text-subpixel.c:39,1
    - Dst: cairo_font_options_create
      Src: /src/cairo/test/text-subpixel.c:43,1
    - Dst: cairo_font_options_set_hint_metrics
      Src: /src/cairo/test/text-subpixel.c:45,1
    - Dst: cairo_font_options_set_hint_style
      Src: /src/cairo/test/text-subpixel.c:46,1
    - Dst: cairo_set_font_options
      Src: /src/cairo/test/text-subpixel.c:47,1
    - Dst: cairo_font_options_destroy
      Src: /src/cairo/test/text-subpixel.c:48,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/text-subpixel.c:51,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/text-subpixel.c:53,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/text-subpixel.c:55,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/text-subpixel.c:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 60
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 60
    functionName: draw
    functionSourceFile: /src/cairo/test/text-subpixel.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_font_options
    - cairo_font_options_destroy
    - cairo_font_options_create
    - cairo_font_options_set_hint_style
    - cairo_show_text
    - cairo_set_font_size
    - cairo_select_font_face
    - cairo_set_source_rgb
    - cairo_move_to
    - cairo_font_options_set_hint_metrics
    - cairo_get_font_options
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: pfloor
    functionSourceFile: /src/cairo/test/simple.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int pfloor (int v) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MAX
      Src: /src/cairo/test/simple.c:94,1
    - Dst: MIN
      Src: /src/cairo/test/simple.c:94,1
    - Dst: pfrac
      Src: /src/cairo/test/simple.c:101,1
    - Dst: pfloor
      Src: /src/cairo/test/simple.c:98,1
    - Dst: pfloor
      Src: /src/cairo/test/simple.c:100,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 61
    argCount: 6
    argNames:
    - coverage
    - x1
    - y1
    - x2
    - y2
    - sign
    argTypes:
    - struct coverage*
    - int
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 116
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 116
    functionName: add_edge
    functionSourceFile: /src/cairo/test/simple.c
    functionUses: []
    functionsReached:
    - pfrac
    - pfloor
    - MIN
    - MAX
    linkageType: ''
    returnType: void
    signature: "static void add_edge (struct coverage *coverage,\t\t int x1, int y1,\
      \ int x2, int y2,\t\t int sign) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/simple.c:145,1
    - Dst: cairo_surface_flush
      Src: /src/cairo/test/simple.c:150,1
    - Dst: cairo_image_surface_get_stride
      Src: /src/cairo/test/simple.c:148,1
    - Dst: cairo_surface_mark_dirty
      Src: /src/cairo/test/simple.c:166,1
    - Dst: cairo_image_surface_get_data
      Src: /src/cairo/test/simple.c:147,1
    - Dst: free
      Src: /src/cairo/test/simple.c:168,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 170
    functionName: coverage_to_alpha
    functionSourceFile: /src/cairo/test/simple.c
    functionUses: []
    functionsReached:
    - cairo_image_surface_get_data
    - cairo_surface_flush
    - cairo_surface_mark_dirty
    - free
    - cairo_image_surface_create
    - cairo_image_surface_get_stride
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *coverage_to_alpha (struct coverage *c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - v
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: pfrac
    functionSourceFile: /src/cairo/test/simple.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int pfrac (int v) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/cairo/test/simple.c:127,1
    - Dst: memset
      Src: /src/cairo/test/simple.c:131,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 136
    functionName: coverage_create
    functionSourceFile: /src/cairo/test/simple.c
    functionUses: []
    functionsReached:
    - malloc
    - memset
    linkageType: ''
    returnType: struct coverage*
    signature: 'static struct coverage *coverage_create (int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_edge
      Src: /src/cairo/test/simple.c:201,1
    - Dst: add_edge
      Src: /src/cairo/test/simple.c:203,1
    - Dst: coverage_to_alpha
      Src: /src/cairo/test/simple.c:239,1
    - Dst: cairo_mask_surface
      Src: /src/cairo/test/simple.c:240,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/simple.c:250,1
    - Dst: add_edge
      Src: /src/cairo/test/simple.c:262,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/simple.c:274,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/simple.c:292,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/simple.c:296,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/simple.c:313,1
    - Dst: cairo_mask_surface
      Src: /src/cairo/test/simple.c:196,1
    - Dst: add_edge
      Src: /src/cairo/test/simple.c:202,1
    - Dst: add_edge
      Src: /src/cairo/test/simple.c:204,1
    - Dst: coverage_to_alpha
      Src: /src/cairo/test/simple.c:217,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/simple.c:232,1
    - Dst: add_edge
      Src: /src/cairo/test/simple.c:256,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/simple.c:301,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/simple.c:307,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/simple.c:323,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/simple.c:259,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/simple.c:186,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/simple.c:179,1
    - Dst: add_edge
      Src: /src/cairo/test/simple.c:205,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/simple.c:277,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/simple.c:325,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/simple.c:334,1
    - Dst: add_edge
      Src: /src/cairo/test/simple.c:254,1
    - Dst: add_edge
      Src: /src/cairo/test/simple.c:223,1
    - Dst: add_edge
      Src: /src/cairo/test/simple.c:265,1
    - Dst: add_edge
      Src: /src/cairo/test/simple.c:224,1
    - Dst: cairo_mask_surface
      Src: /src/cairo/test/simple.c:229,1
    - Dst: add_edge
      Src: /src/cairo/test/simple.c:225,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/simple.c:176,1
    - Dst: coverage_to_alpha
      Src: /src/cairo/test/simple.c:195,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/simple.c:208,1
    - Dst: coverage_to_alpha
      Src: /src/cairo/test/simple.c:228,1
    - Dst: cairo_paint
      Src: /src/cairo/test/simple.c:177,1
    - Dst: coverage_create
      Src: /src/cairo/test/simple.c:199,1
    - Dst: add_edge
      Src: /src/cairo/test/simple.c:222,1
    - Dst: add_edge
      Src: /src/cairo/test/simple.c:237,1
    - Dst: cairo_mask_surface
      Src: /src/cairo/test/simple.c:258,1
    - Dst: add_edge
      Src: /src/cairo/test/simple.c:264,1
    - Dst: add_edge
      Src: /src/cairo/test/simple.c:235,1
    - Dst: coverage_to_alpha
      Src: /src/cairo/test/simple.c:257,1
    - Dst: cairo_fill
      Src: /src/cairo/test/simple.c:294,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/simple.c:331,1
    - Dst: add_edge
      Src: /src/cairo/test/simple.c:191,1
    - Dst: coverage_to_alpha
      Src: /src/cairo/test/simple.c:206,1
    - Dst: cairo_mask_surface
      Src: /src/cairo/test/simple.c:207,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/simple.c:280,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/simple.c:281,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/simple.c:282,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/simple.c:283,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/simple.c:284,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/simple.c:285,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/simple.c:308,1
    - Dst: add_edge
      Src: /src/cairo/test/simple.c:244,1
    - Dst: add_edge
      Src: /src/cairo/test/simple.c:246,1
    - Dst: cairo_mask_surface
      Src: /src/cairo/test/simple.c:267,1
    - Dst: add_edge
      Src: /src/cairo/test/simple.c:253,1
    - Dst: coverage_to_alpha
      Src: /src/cairo/test/simple.c:266,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/simple.c:290,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/simple.c:333,1
    - Dst: cairo_mask_surface
      Src: /src/cairo/test/simple.c:218,1
    - Dst: add_edge
      Src: /src/cairo/test/simple.c:214,1
    - Dst: add_edge
      Src: /src/cairo/test/simple.c:245,1
    - Dst: add_edge
      Src: /src/cairo/test/simple.c:247,1
    - Dst: add_edge
      Src: /src/cairo/test/simple.c:193,1
    - Dst: add_edge
      Src: /src/cairo/test/simple.c:200,1
    - Dst: add_edge
      Src: /src/cairo/test/simple.c:212,1
    - Dst: add_edge
      Src: /src/cairo/test/simple.c:213,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/simple.c:304,1
    - Dst: cairo_fill
      Src: /src/cairo/test/simple.c:327,1
    - Dst: add_edge
      Src: /src/cairo/test/simple.c:194,1
    - Dst: coverage_create
      Src: /src/cairo/test/simple.c:210,1
    - Dst: add_edge
      Src: /src/cairo/test/simple.c:226,1
    - Dst: add_edge
      Src: /src/cairo/test/simple.c:227,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/simple.c:272,1
    - Dst: cairo_fill
      Src: /src/cairo/test/simple.c:278,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/simple.c:321,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/simple.c:332,1
    - Dst: cairo_fill
      Src: /src/cairo/test/simple.c:335,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/simple.c:230,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/simple.c:271,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/simple.c:298,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/simple.c:305,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/simple.c:309,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/simple.c:316,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/simple.c:326,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/simple.c:324,1
    - Dst: add_edge
      Src: /src/cairo/test/simple.c:255,1
    - Dst: coverage_to_alpha
      Src: /src/cairo/test/simple.c:248,1
    - Dst: add_edge
      Src: /src/cairo/test/simple.c:211,1
    - Dst: coverage_create
      Src: /src/cairo/test/simple.c:221,1
    - Dst: cairo_mask_surface
      Src: /src/cairo/test/simple.c:249,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/simple.c:275,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/simple.c:289,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/simple.c:291,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/simple.c:318,1
    - Dst: cairo_fill
      Src: /src/cairo/test/simple.c:286,1
    - Dst: coverage_create
      Src: /src/cairo/test/simple.c:243,1
    - Dst: add_edge
      Src: /src/cairo/test/simple.c:189,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/simple.c:300,1
    - Dst: cairo_fill
      Src: /src/cairo/test/simple.c:311,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/simple.c:322,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/simple.c:329,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/simple.c:317,1
    - Dst: add_edge
      Src: /src/cairo/test/simple.c:190,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/simple.c:268,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/simple.c:273,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/simple.c:314,1
    - Dst: cairo_fill
      Src: /src/cairo/test/simple.c:319,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/simple.c:297,1
    - Dst: add_edge
      Src: /src/cairo/test/simple.c:236,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/simple.c:219,1
    - Dst: add_edge
      Src: /src/cairo/test/simple.c:263,1
    - Dst: coverage_create
      Src: /src/cairo/test/simple.c:252,1
    - Dst: add_edge
      Src: /src/cairo/test/simple.c:238,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/simple.c:299,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/simple.c:306,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/simple.c:310,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/simple.c:241,1
    - Dst: add_edge
      Src: /src/cairo/test/simple.c:192,1
    - Dst: add_edge
      Src: /src/cairo/test/simple.c:215,1
    - Dst: add_edge
      Src: /src/cairo/test/simple.c:216,1
    - Dst: coverage_create
      Src: /src/cairo/test/simple.c:234,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/simple.c:276,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/simple.c:293,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/simple.c:330,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/simple.c:315,1
    - Dst: coverage_create
      Src: /src/cairo/test/simple.c:188,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/simple.c:197,1
    - Dst: coverage_create
      Src: /src/cairo/test/simple.c:261,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/simple.c:288,1
    - Dst: cairo_fill
      Src: /src/cairo/test/simple.c:302,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 425
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 339
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 339
    functionName: edge
    functionSourceFile: /src/cairo/test/simple.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_mask_surface
    - cairo_line_to
    - cairo_surface_destroy
    - add_edge
    - coverage_to_alpha
    - cairo_set_operator
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_move_to
    - coverage_create
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t edge (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/implicit-close.c:32,1
    - Dst: cairo_paint
      Src: /src/cairo/test/implicit-close.c:33,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/implicit-close.c:36,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/implicit-close.c:35,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/implicit-close.c:37,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/implicit-close.c:39,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/test/implicit-close.c:40,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/implicit-close.c:42,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/implicit-close.c:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 46
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 46
    functionName: draw
    functionSourceFile: /src/cairo/test/implicit-close.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_rel_line_to
    - cairo_stroke
    - cairo_fill_preserve
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_push_group
      Src: /src/cairo/test/mask-alpha.c:49,1
    - Dst: cairo_paint
      Src: /src/cairo/test/mask-alpha.c:51,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/mask-alpha.c:53,1
    - Dst: cairo_pop_group
      Src: /src/cairo/test/mask-alpha.c:55,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/mask-alpha.c:60,1
    - Dst: cairo_push_group
      Src: /src/cairo/test/mask-alpha.c:58,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/mask-alpha.c:64,1
    - Dst: cairo_fill
      Src: /src/cairo/test/mask-alpha.c:67,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/mask-alpha.c:63,1
    - Dst: cairo_mask
      Src: /src/cairo/test/mask-alpha.c:70,1
    - Dst: cairo_translate
      Src: /src/cairo/test/mask-alpha.c:46,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/mask-alpha.c:50,1
    - Dst: cairo_arc
      Src: /src/cairo/test/mask-alpha.c:52,1
    - Dst: cairo_fill
      Src: /src/cairo/test/mask-alpha.c:54,1
    - Dst: cairo_pop_group_to_source
      Src: /src/cairo/test/mask-alpha.c:68,1
    - Dst: cairo_fill
      Src: /src/cairo/test/mask-alpha.c:61,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/mask-alpha.c:71,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/mask-alpha.c:59,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/mask-alpha.c:62,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/mask-alpha.c:65,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/mask-alpha.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 74
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 74
    functionName: draw
    functionSourceFile: /src/cairo/test/mask-alpha.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_pop_group
    - cairo_set_source_rgba
    - cairo_set_source_rgb
    - cairo_pop_group_to_source
    - cairo_rel_line_to
    - cairo_arc
    - cairo_pattern_destroy
    - cairo_mask
    - cairo_close_path
    - cairo_fill
    - cairo_translate
    - cairo_push_group
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw
      Src: /src/cairo/test/text-antialias-subpixel.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: draw_vrgb
    functionSourceFile: /src/cairo/test/text-antialias-subpixel.c
    functionUses: []
    functionsReached:
    - draw
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_vrgb (cairo_t *cr, int width, int
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw
      Src: /src/cairo/test/text-antialias-subpixel.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: draw_rgb
    functionSourceFile: /src/cairo/test/text-antialias-subpixel.c
    functionUses: []
    functionsReached:
    - draw
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_rgb (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/text-antialias-subpixel.c:42,1
    - Dst: cairo_font_options_set_subpixel_order
      Src: /src/cairo/test/text-antialias-subpixel.c:53,1
    - Dst: cairo_translate
      Src: /src/cairo/test/text-antialias-subpixel.c:62,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/text-antialias-subpixel.c:48,1
    - Dst: cairo_set_font_options
      Src: /src/cairo/test/text-antialias-subpixel.c:54,1
    - Dst: cairo_font_options_destroy
      Src: /src/cairo/test/text-antialias-subpixel.c:56,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/text-antialias-subpixel.c:58,1
    - Dst: cairo_text_extents
      Src: /src/cairo/test/text-antialias-subpixel.c:65,1
    - Dst: cairo_text_extents
      Src: /src/cairo/test/text-antialias-subpixel.c:59,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/text-antialias-subpixel.c:67,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/text-antialias-subpixel.c:61,1
    - Dst: cairo_paint
      Src: /src/cairo/test/text-antialias-subpixel.c:43,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/text-antialias-subpixel.c:45,1
    - Dst: cairo_font_options_create
      Src: /src/cairo/test/text-antialias-subpixel.c:50,1
    - Dst: cairo_get_font_options
      Src: /src/cairo/test/text-antialias-subpixel.c:51,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/text-antialias-subpixel.c:60,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/text-antialias-subpixel.c:66,1
    - Dst: cairo_font_options_set_antialias
      Src: /src/cairo/test/text-antialias-subpixel.c:52,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/text-antialias-subpixel.c:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 2
    argNames:
    - cr
    - order
    argTypes:
    - cairo_t*
    - cairo_subpixel_order_t
    constantsTouched: []
    func_position:
      end: 70
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 70
    functionName: draw
    functionSourceFile: /src/cairo/test/text-antialias-subpixel.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_font_options_set_antialias
    - cairo_font_options_set_subpixel_order
    - cairo_set_font_options
    - cairo_font_options_destroy
    - cairo_font_options_create
    - cairo_show_text
    - cairo_translate
    - cairo_set_font_size
    - cairo_select_font_face
    - cairo_set_source_rgb
    - cairo_text_extents
    - cairo_move_to
    - cairo_get_font_options
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, cairo_subpixel_order_t
      order) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw
      Src: /src/cairo/test/text-antialias-subpixel.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: draw_bgr
    functionSourceFile: /src/cairo/test/text-antialias-subpixel.c
    functionUses: []
    functionsReached:
    - draw
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_bgr (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw
      Src: /src/cairo/test/text-antialias-subpixel.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: draw_vbgr
    functionSourceFile: /src/cairo/test/text-antialias-subpixel.c
    functionUses: []
    functionsReached:
    - draw
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_vbgr (cairo_t *cr, int width, int
      height) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cairo_paint
      Src: /src/cairo/test/nil-surface.c:58,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/nil-surface.c:66,1
    - Dst: cairo_create
      Src: /src/cairo/test/nil-surface.c:77,1
    - Dst: cairo_pattern_create_for_surface
      Src: /src/cairo/test/nil-surface.c:80,1
    - Dst: cairo_image_surface_create_from_png
      Src: /src/cairo/test/nil-surface.c:106,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/nil-surface.c:108,1
    - Dst: cairo_status
      Src: /src/cairo/test/nil-surface.c:122,1
    - Dst: cairo_get_fill_rule
      Src: /src/cairo/test/nil-surface.c:129,1
    - Dst: cairo_create
      Src: /src/cairo/test/nil-surface.c:136,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/nil-surface.c:140,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/nil-surface.c:148,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/nil-surface.c:155,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/nil-surface.c:159,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/nil-surface.c:122,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/nil-surface.c:131,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/nil-surface.c:142,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/nil-surface.c:139,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/nil-surface.c:48,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/nil-surface.c:57,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/nil-surface.c:86,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/nil-surface.c:90,1
    - Dst: cairo_status
      Src: /src/cairo/test/nil-surface.c:91,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/nil-surface.c:92,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/nil-surface.c:107,1
    - Dst: cairo_restore
      Src: /src/cairo/test/nil-surface.c:119,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/nil-surface.c:141,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/nil-surface.c:147,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/nil-surface.c:157,1
    - Dst: cairo_status
      Src: /src/cairo/test/nil-surface.c:140,1
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/nil-surface.c:38,1
    - Dst: cairo_pattern_create_for_surface
      Src: /src/cairo/test/nil-surface.c:54,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/nil-surface.c:61,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/nil-surface.c:65,1
    - Dst: cairo_status
      Src: /src/cairo/test/nil-surface.c:66,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/nil-surface.c:67,1
    - Dst: cairo_paint
      Src: /src/cairo/test/nil-surface.c:84,1
    - Dst: cairo_status
      Src: /src/cairo/test/nil-surface.c:89,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/nil-surface.c:93,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/nil-surface.c:97,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/nil-surface.c:104,1
    - Dst: cairo_pop_group
      Src: /src/cairo/test/nil-surface.c:156,1
    - Dst: cairo_push_group
      Src: /src/cairo/test/nil-surface.c:154,1
    - Dst: cairo_create
      Src: /src/cairo/test/nil-surface.c:48,1
    - Dst: cairo_image_surface_create_from_png
      Src: /src/cairo/test/nil-surface.c:51,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/nil-surface.c:60,1
    - Dst: cairo_status
      Src: /src/cairo/test/nil-surface.c:64,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/nil-surface.c:68,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/nil-surface.c:72,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/nil-surface.c:77,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/nil-surface.c:83,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/nil-surface.c:91,1
    - Dst: cairo_create
      Src: /src/cairo/test/nil-surface.c:116,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/nil-surface.c:121,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/nil-surface.c:124,1
    - Dst: cairo_status
      Src: /src/cairo/test/nil-surface.c:120,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/nil-surface.c:116,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/nil-surface.c:123,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/nil-surface.c:149,1
    - Dst: cairo_status
      Src: /src/cairo/test/nil-surface.c:138,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 79
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 162
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 162
    functionName: draw
    functionSourceFile: /src/cairo/test/nil-surface.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_for_surface
    - cairo_surface_finish
    - cairo_set_source
    - cairo_get_target
    - cairo_push_group
    - cairo_test_get_context
    - cairo_create
    - cairo_status
    - cairo_test_log
    - cairo_stroke
    - cairo_restore
    - cairo_image_surface_create_from_png
    - cairo_get_fill_rule
    - cairo_destroy
    - cairo_pattern_destroy
    - cairo_status_to_string
    - cairo_paint
    - cairo_pop_group
    - cairo_surface_destroy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_rectangle
      Src: /src/cairo/test/aliasing.c:55,1
    - Dst: cairo_fill
      Src: /src/cairo/test/aliasing.c:56,1
    - Dst: MAX
      Src: /src/cairo/test/aliasing.c:61,1
    - Dst: cairo_fill
      Src: /src/cairo/test/aliasing.c:62,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/aliasing.c:54,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/aliasing.c:58,1
    - Dst: MAX
      Src: /src/cairo/test/aliasing.c:63,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/aliasing.c:66,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/aliasing.c:70,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/aliasing.c:72,1
    - Dst: cairo_restore
      Src: /src/cairo/test/aliasing.c:64,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/aliasing.c:74,1
    - Dst: cairo_arc
      Src: /src/cairo/test/aliasing.c:61,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/aliasing.c:68,1
    - Dst: cairo_save
      Src: /src/cairo/test/aliasing.c:59,1
    - Dst: cairo_scale
      Src: /src/cairo/test/aliasing.c:60,1
    - Dst: cairo_arc
      Src: /src/cairo/test/aliasing.c:63,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/aliasing.c:69,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/aliasing.c:65,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/aliasing.c:71,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/aliasing.c:73,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - cr
    - fg
    - bg
    argTypes:
    - cairo_t*
    - struct color*
    - struct color*
    constantsTouched: []
    func_position:
      end: 75
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 75
    functionName: object
    functionSourceFile: /src/cairo/test/aliasing.c
    functionUses: []
    functionsReached:
    - cairo_set_line_width
    - cairo_line_to
    - cairo_arc
    - cairo_save
    - MAX
    - cairo_scale
    - cairo_stroke
    - cairo_restore
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void object (cairo_t *cr, const struct color *fg, const struct
      color *bg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/test/aliasing.c:84,1
    - Dst: object
      Src: /src/cairo/test/aliasing.c:86,1
    - Dst: cairo_translate
      Src: /src/cairo/test/aliasing.c:85,1
    - Dst: cairo_restore
      Src: /src/cairo/test/aliasing.c:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 92
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 92
    functionName: draw
    functionSourceFile: /src/cairo/test/aliasing.c
    functionUses: []
    functionsReached:
    - cairo_restore
    - cairo_save
    - object
    - cairo_translate
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/clip-image.c:35,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-image.c:39,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/clip-image.c:43,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-image.c:49,1
    - Dst: cairo_restore
      Src: /src/cairo/test/clip-image.c:59,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-image.c:56,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-image.c:66,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-image.c:68,1
    - Dst: cairo_arc
      Src: /src/cairo/test/clip-image.c:77,1
    - Dst: cairo_new_sub_path
      Src: /src/cairo/test/clip-image.c:80,1
    - Dst: cairo_save
      Src: /src/cairo/test/clip-image.c:46,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-image.c:48,1
    - Dst: cairo_translate
      Src: /src/cairo/test/clip-image.c:52,1
    - Dst: cairo_restore
      Src: /src/cairo/test/clip-image.c:50,1
    - Dst: cairo_translate
      Src: /src/cairo/test/clip-image.c:61,1
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/test/clip-image.c:65,1
    - Dst: cairo_restore
      Src: /src/cairo/test/clip-image.c:84,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/clip-image.c:42,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-image.c:38,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-image.c:57,1
    - Dst: cairo_save
      Src: /src/cairo/test/clip-image.c:55,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-image.c:67,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-image.c:69,1
    - Dst: cairo_restore
      Src: /src/cairo/test/clip-image.c:71,1
    - Dst: cairo_translate
      Src: /src/cairo/test/clip-image.c:73,1
    - Dst: cairo_new_sub_path
      Src: /src/cairo/test/clip-image.c:78,1
    - Dst: cairo_arc_negative
      Src: /src/cairo/test/clip-image.c:79,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-image.c:82,1
    - Dst: cairo_arc
      Src: /src/cairo/test/clip-image.c:81,1
    - Dst: cairo_test_create_surface_from_png
      Src: /src/cairo/test/clip-image.c:41,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-image.c:47,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-image.c:58,1
    - Dst: cairo_save
      Src: /src/cairo/test/clip-image.c:64,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-image.c:70,1
    - Dst: cairo_save
      Src: /src/cairo/test/clip-image.c:76,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-image.c:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 42
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 87
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 87
    functionName: draw
    functionSourceFile: /src/cairo/test/clip-image.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_test_create_surface_from_png
    - cairo_new_sub_path
    - cairo_test_get_context
    - cairo_arc
    - cairo_save
    - cairo_set_fill_rule
    - cairo_surface_destroy
    - cairo_restore
    - cairo_set_source_rgb
    - cairo_translate
    - cairo_clip
    - cairo_arc_negative
    - cairo_set_source_surface
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/test/smask-image-mask.c:48,1
    - Dst: cairo_restore
      Src: /src/cairo/test/smask-image-mask.c:51,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/smask-image-mask.c:58,1
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/test/smask-image-mask.c:62,1
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/test/smask-image-mask.c:53,1
    - Dst: cairo_pattern_create_for_surface
      Src: /src/cairo/test/smask-image-mask.c:64,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/smask-image-mask.c:65,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/smask-image-mask.c:39,1
    - Dst: cairo_get_group_target
      Src: /src/cairo/test/smask-image-mask.c:42,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/smask-image-mask.c:46,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/smask-image-mask.c:49,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/smask-image-mask.c:55,1
    - Dst: cairo_mask
      Src: /src/cairo/test/smask-image-mask.c:66,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/smask-image-mask.c:67,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/smask-image-mask.c:69,1
    - Dst: cairo_mask_surface
      Src: /src/cairo/test/smask-image-mask.c:70,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/smask-image-mask.c:74,1
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/smask-image-mask.c:42,1
    - Dst: cairo_create
      Src: /src/cairo/test/smask-image-mask.c:45,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/smask-image-mask.c:56,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/smask-image-mask.c:54,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/smask-image-mask.c:70,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/smask-image-mask.c:73,1
    - Dst: cairo_paint
      Src: /src/cairo/test/smask-image-mask.c:40,1
    - Dst: cairo_paint
      Src: /src/cairo/test/smask-image-mask.c:50,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/smask-image-mask.c:57,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/smask-image-mask.c:60,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/smask-image-mask.c:59,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/smask-image-mask.c:71,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 77
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 77
    functionName: draw
    functionSourceFile: /src/cairo/test/smask-image-mask.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_for_surface
    - cairo_mask_surface
    - cairo_surface_finish
    - cairo_set_source
    - cairo_pattern_set_extend
    - cairo_get_target
    - cairo_pattern_add_color_stop_rgba
    - cairo_surface_create_similar
    - cairo_pattern_create_linear
    - cairo_create
    - cairo_save
    - cairo_mask
    - cairo_get_group_target
    - cairo_image_surface_create_for_data
    - cairo_restore
    - cairo_set_operator
    - cairo_destroy
    - cairo_pattern_destroy
    - cairo_paint
    - cairo_surface_destroy
    - cairo_set_source_rgb
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/test/fallback.c:38,1
    - Dst: cairo_rotate
      Src: /src/cairo/test/fallback.c:40,1
    - Dst: cairo_translate
      Src: /src/cairo/test/fallback.c:41,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/fallback.c:44,1
    - Dst: cairo_scale
      Src: /src/cairo/test/fallback.c:42,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/fallback.c:45,1
    - Dst: cairo_fill
      Src: /src/cairo/test/fallback.c:46,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/fallback.c:49,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/fallback.c:51,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/fallback.c:52,1
    - Dst: cairo_fill
      Src: /src/cairo/test/fallback.c:53,1
    - Dst: cairo_restore
      Src: /src/cairo/test/fallback.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 56
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 56
    functionName: rectangles
    functionSourceFile: /src/cairo/test/fallback.c
    functionUses: []
    functionsReached:
    - cairo_set_source_rgba
    - cairo_save
    - cairo_scale
    - cairo_restore
    - cairo_set_operator
    - cairo_rotate
    - cairo_translate
    - cairo_fill
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void rectangles (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_set_fallback_resolution
      Src: /src/cairo/test/fallback.c:61,1
    - Dst: rectangles
      Src: /src/cairo/test/fallback.c:63,1
    - Dst: cairo_translate
      Src: /src/cairo/test/fallback.c:64,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/fallback.c:61,1
    - Dst: cairo_push_group
      Src: /src/cairo/test/fallback.c:65,1
    - Dst: rectangles
      Src: /src/cairo/test/fallback.c:66,1
    - Dst: cairo_pop_group_to_source
      Src: /src/cairo/test/fallback.c:67,1
    - Dst: cairo_paint
      Src: /src/cairo/test/fallback.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 71
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 71
    functionName: draw
    functionSourceFile: /src/cairo/test/fallback.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_pop_group_to_source
    - cairo_surface_set_fallback_resolution
    - cairo_get_target
    - rectangles
    - cairo_translate
    - cairo_push_group
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/test/path-currentpoint.c:30,1
    - Dst: assert
      Src: /src/cairo/test/path-currentpoint.c:33,1
    - Dst: cairo_has_current_point
      Src: /src/cairo/test/path-currentpoint.c:30,1
    - Dst: cairo_get_current_point
      Src: /src/cairo/test/path-currentpoint.c:31,1
    - Dst: assert
      Src: /src/cairo/test/path-currentpoint.c:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - cr
    - expected_x
    - expected_y
    argTypes:
    - cairo_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 34
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 34
    functionName: assert_point
    functionSourceFile: /src/cairo/test/path-currentpoint.c
    functionUses: []
    functionsReached:
    - cairo_has_current_point
    - cairo_get_current_point
    - assert
    linkageType: ''
    returnType: void
    signature: 'static void assert_point (cairo_t *cr, double expected_x, double expected_y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_point
      Src: /src/cairo/test/path-currentpoint.c:40,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/path-currentpoint.c:45,1
    - Dst: cairo_copy_path
      Src: /src/cairo/test/path-currentpoint.c:42,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/path-currentpoint.c:44,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/path-currentpoint.c:46,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/path-currentpoint.c:48,1
    - Dst: cairo_append_path
      Src: /src/cairo/test/path-currentpoint.c:49,1
    - Dst: cairo_path_destroy
      Src: /src/cairo/test/path-currentpoint.c:50,1
    - Dst: assert_point
      Src: /src/cairo/test/path-currentpoint.c:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - cr
    - expected_x
    - expected_y
    argTypes:
    - cairo_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 53
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 53
    functionName: assert_point_maintained
    functionSourceFile: /src/cairo/test/path-currentpoint.c
    functionUses: []
    functionsReached:
    - cairo_copy_path
    - assert_point
    - cairo_new_path
    - cairo_path_destroy
    - cairo_append_path
    - cairo_stroke
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void assert_point_maintained (cairo_t *cr, double expected_x,
      double expected_y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/path-currentpoint.c:61,1
    - Dst: assert_point_maintained
      Src: /src/cairo/test/path-currentpoint.c:66,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/path-currentpoint.c:65,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/path-currentpoint.c:64,1
    - Dst: cairo_create
      Src: /src/cairo/test/path-currentpoint.c:62,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/path-currentpoint.c:68,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/path-currentpoint.c:69,1
    - Dst: assert_point_maintained
      Src: /src/cairo/test/path-currentpoint.c:70,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/path-currentpoint.c:72,1
    - Dst: cairo_arc
      Src: /src/cairo/test/path-currentpoint.c:73,1
    - Dst: assert_point_maintained
      Src: /src/cairo/test/path-currentpoint.c:75,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/path-currentpoint.c:78,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/path-currentpoint.c:77,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/path-currentpoint.c:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - cairo_test_context_t*
    constantsTouched: []
    func_position:
      end: 81
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 81
    functionName: preamble
    functionSourceFile: /src/cairo/test/path-currentpoint.c
    functionUses: []
    functionsReached:
    - cairo_new_path
    - cairo_line_to
    - cairo_arc
    - cairo_create
    - assert_point_maintained
    - cairo_close_path
    - cairo_surface_destroy
    - cairo_image_surface_create
    - cairo_destroy
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t preamble (cairo_test_context_t *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/copy-disjoint.c:42,1
    - Dst: cairo_paint
      Src: /src/cairo/test/copy-disjoint.c:49,1
    - Dst: cairo_create
      Src: /src/cairo/test/copy-disjoint.c:45,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/copy-disjoint.c:48,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/copy-disjoint.c:46,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/test/copy-disjoint.c:51,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/copy-disjoint.c:51,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/copy-disjoint.c:52,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 55
    functionName: create_source
    functionSourceFile: /src/cairo/test/copy-disjoint.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_surface_reference
    - cairo_create
    - cairo_surface_destroy
    - cairo_get_target
    - cairo_set_source_rgb
    - cairo_destroy
    - cairo_surface_create_similar
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *create_source (cairo_surface_t *target) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/copy-disjoint.c:64,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/copy-disjoint.c:68,1
    - Dst: cairo_paint
      Src: /src/cairo/test/copy-disjoint.c:65,1
    - Dst: create_source
      Src: /src/cairo/test/copy-disjoint.c:68,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/copy-disjoint.c:69,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/copy-disjoint.c:70,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/copy-disjoint.c:75,1
    - Dst: cairo_fill
      Src: /src/cairo/test/copy-disjoint.c:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 79
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 79
    functionName: draw
    functionSourceFile: /src/cairo/test/copy-disjoint.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - create_source
    - cairo_surface_destroy
    - cairo_get_target
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_set_source_surface
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/text-unhinted-metrics.c:41,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/text-unhinted-metrics.c:44,1
    - Dst: cairo_paint
      Src: /src/cairo/test/text-unhinted-metrics.c:42,1
    - Dst: cairo_get_font_options
      Src: /src/cairo/test/text-unhinted-metrics.c:49,1
    - Dst: cairo_font_options_create
      Src: /src/cairo/test/text-unhinted-metrics.c:48,1
    - Dst: cairo_font_options_set_hint_metrics
      Src: /src/cairo/test/text-unhinted-metrics.c:50,1
    - Dst: cairo_font_options_set_hint_style
      Src: /src/cairo/test/text-unhinted-metrics.c:51,1
    - Dst: cairo_set_font_options
      Src: /src/cairo/test/text-unhinted-metrics.c:52,1
    - Dst: cairo_font_options_destroy
      Src: /src/cairo/test/text-unhinted-metrics.c:53,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/text-unhinted-metrics.c:56,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/text-unhinted-metrics.c:60,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/text-unhinted-metrics.c:61,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/text-unhinted-metrics.c:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 65
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 65
    functionName: draw
    functionSourceFile: /src/cairo/test/text-unhinted-metrics.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_font_options
    - cairo_font_options_destroy
    - cairo_font_options_create
    - cairo_font_options_set_hint_style
    - cairo_show_text
    - cairo_set_font_size
    - cairo_select_font_face
    - cairo_set_source_rgb
    - cairo_move_to
    - cairo_font_options_set_hint_metrics
    - cairo_get_font_options
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/stroke-clipped.c:31,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/stroke-clipped.c:34,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/stroke-clipped.c:36,1
    - Dst: cairo_clip
      Src: /src/cairo/test/stroke-clipped.c:37,1
    - Dst: cairo_paint
      Src: /src/cairo/test/stroke-clipped.c:32,1
    - Dst: cairo_arc
      Src: /src/cairo/test/stroke-clipped.c:39,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/stroke-clipped.c:40,1
    - Dst: cairo_reset_clip
      Src: /src/cairo/test/stroke-clipped.c:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 46
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 46
    functionName: draw
    functionSourceFile: /src/cairo/test/stroke-clipped.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_arc
    - cairo_stroke
    - cairo_set_source_rgb
    - cairo_clip
    - cairo_reset_clip
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/a1-bug.c:39,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/a1-bug.c:45,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/a1-bug.c:43,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/a1-bug.c:42,1
    - Dst: cairo_paint
      Src: /src/cairo/test/a1-bug.c:40,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/test/a1-bug.c:46,1
    - Dst: cairo_set_antialias
      Src: /src/cairo/test/a1-bug.c:48,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/a1-bug.c:49,1
    - Dst: cairo_fill
      Src: /src/cairo/test/a1-bug.c:50,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 53
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 53
    functionName: draw
    functionSourceFile: /src/cairo/test/a1-bug.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_line_to
    - ARRAY_LENGTH
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_fill_preserve
    - cairo_set_antialias
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/white-in-noop.c:35,1
    - Dst: cairo_paint
      Src: /src/cairo/test/white-in-noop.c:36,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/white-in-noop.c:40,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/white-in-noop.c:38,1
    - Dst: cairo_paint
      Src: /src/cairo/test/white-in-noop.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 44
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 44
    functionName: draw
    functionSourceFile: /src/cairo/test/white-in-noop.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_operator
    - cairo_set_source_rgb
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/test/set-source.c:35,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/set-source.c:38,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/set-source.c:49,1
    - Dst: cairo_pattern_create_for_surface
      Src: /src/cairo/test/set-source.c:37,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/set-source.c:46,1
    - Dst: cairo_set_source_rgba_premultiplied
      Src: /src/cairo/test/set-source.c:53,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/set-source.c:55,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/set-source.c:60,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/set-source.c:64,1
    - Dst: cairo_fill
      Src: /src/cairo/test/set-source.c:65,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/set-source.c:69,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/set-source.c:68,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/set-source.c:70,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 73
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 73
    functionName: draw
    functionSourceFile: /src/cairo/test/set-source.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_for_surface
    - cairo_set_source_rgba
    - cairo_surface_finish
    - cairo_image_surface_create_for_data
    - cairo_surface_destroy
    - cairo_pattern_set_extend
    - cairo_set_source_rgba_premultiplied
    - cairo_set_source
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_pattern_destroy
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_rectangle
      Src: /src/cairo/test/linear-gradient.c:64,1
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/test/linear-gradient.c:76,1
    - Dst: cos
      Src: /src/cairo/test/linear-gradient.c:76,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/linear-gradient.c:93,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/linear-gradient.c:94,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/linear-gradient.c:66,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/linear-gradient.c:68,1
    - Dst: cairo_fill
      Src: /src/cairo/test/linear-gradient.c:70,1
    - Dst: cairo_translate
      Src: /src/cairo/test/linear-gradient.c:72,1
    - Dst: cairo_rotate
      Src: /src/cairo/test/linear-gradient.c:74,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/test/linear-gradient.c:89,1
    - Dst: cairo_fill
      Src: /src/cairo/test/linear-gradient.c:96,1
    - Dst: cairo_clip
      Src: /src/cairo/test/linear-gradient.c:65,1
    - Dst: cairo_scale
      Src: /src/cairo/test/linear-gradient.c:73,1
    - Dst: sin
      Src: /src/cairo/test/linear-gradient.c:76,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/test/linear-gradient.c:80,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/test/linear-gradient.c:85,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/linear-gradient.c:69,1
    - Dst: cos
      Src: /src/cairo/test/linear-gradient.c:77,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/test/linear-gradient.c:82,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/test/linear-gradient.c:87,1
    - Dst: sin
      Src: /src/cairo/test/linear-gradient.c:77,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/linear-gradient.c:95,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 4
    argNames:
    - cr
    - gradient_angle
    - rotate_angle
    - n_stops
    argTypes:
    - cairo_t*
    - double
    - double
    - int
    constantsTouched: []
    func_position:
      end: 97
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 97
    functionName: draw_unit
    functionSourceFile: /src/cairo/test/linear-gradient.c
    functionUses: []
    functionsReached:
    - sin
    - cairo_new_path
    - cairo_pattern_create_linear
    - cos
    - cairo_pattern_add_color_stop_rgb
    - cairo_set_source
    - cairo_scale
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_translate
    - cairo_rotate
    - cairo_clip
    - cairo_pattern_destroy
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: "static void draw_unit (cairo_t *cr,\t double gradient_angle,\t double\
      \ rotate_angle,\t int n_stops) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/linear-gradient.c:104,1
    - Dst: cairo_save
      Src: /src/cairo/test/linear-gradient.c:110,1
    - Dst: cairo_translate
      Src: /src/cairo/test/linear-gradient.c:111,1
    - Dst: cairo_scale
      Src: /src/cairo/test/linear-gradient.c:114,1
    - Dst: cairo_paint
      Src: /src/cairo/test/linear-gradient.c:105,1
    - Dst: draw_unit
      Src: /src/cairo/test/linear-gradient.c:116,1
    - Dst: cairo_restore
      Src: /src/cairo/test/linear-gradient.c:120,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 124
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 124
    functionName: draw
    functionSourceFile: /src/cairo/test/linear-gradient.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgb
    - draw_unit
    - cairo_save
    - cairo_scale
    - cairo_restore
    - cairo_translate
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/leaky-dashed-rectangle.c:42,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/leaky-dashed-rectangle.c:54,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/leaky-dashed-rectangle.c:66,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/leaky-dashed-rectangle.c:58,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/leaky-dashed-rectangle.c:67,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/leaky-dashed-rectangle.c:69,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/leaky-dashed-rectangle.c:70,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/leaky-dashed-rectangle.c:71,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/leaky-dashed-rectangle.c:74,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/leaky-dashed-rectangle.c:52,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/leaky-dashed-rectangle.c:56,1
    - Dst: cairo_translate
      Src: /src/cairo/test/leaky-dashed-rectangle.c:47,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/leaky-dashed-rectangle.c:45,1
    - Dst: cairo_paint
      Src: /src/cairo/test/leaky-dashed-rectangle.c:43,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/leaky-dashed-rectangle.c:51,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/leaky-dashed-rectangle.c:55,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/leaky-dashed-rectangle.c:65,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/leaky-dashed-rectangle.c:59,1
    - Dst: cairo_set_dash
      Src: /src/cairo/test/leaky-dashed-rectangle.c:61,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/leaky-dashed-rectangle.c:68,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/leaky-dashed-rectangle.c:72,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/leaky-dashed-rectangle.c:73,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/leaky-dashed-rectangle.c:48,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/leaky-dashed-rectangle.c:53,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/leaky-dashed-rectangle.c:57,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/leaky-dashed-rectangle.c:64,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/leaky-dashed-rectangle.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 68
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 78
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 78
    functionName: draw
    functionSourceFile: /src/cairo/test/leaky-dashed-rectangle.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_line_width
    - cairo_set_source_rgb
    - cairo_set_dash
    - cairo_stroke
    - cairo_translate
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay
      Src: /src/cairo/test/record-extend.c:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 195
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 195
    functionName: record_extend_none
    functionSourceFile: /src/cairo/test/record-extend.c
    functionUses: []
    functionsReached:
    - record_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_extend_none (cairo_t *cr, int width,
      int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay
      Src: /src/cairo/test/record-extend.c:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 231
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 231
    functionName: record_extend_repeat_similar
    functionSourceFile: /src/cairo/test/record-extend.c
    functionUses: []
    functionsReached:
    - record_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_extend_repeat_similar (cairo_t *cr,
      int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay
      Src: /src/cairo/test/record-extend.c:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 201
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 201
    functionName: record_extend_pad
    functionSourceFile: /src/cairo/test/record-extend.c
    functionUses: []
    functionsReached:
    - record_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_extend_pad (cairo_t *cr, int width,
      int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay
      Src: /src/cairo/test/record-extend.c:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: record_extend_reflect_similar
    functionSourceFile: /src/cairo/test/record-extend.c
    functionUses: []
    functionsReached:
    - record_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_extend_reflect_similar (cairo_t
      *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: extend
      Src: /src/cairo/test/record-extend.c:121,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: extend_pad
    functionSourceFile: /src/cairo/test/record-extend.c
    functionUses: []
    functionsReached:
    - extend
    linkageType: ''
    returnType: cairo_t*
    signature: "static cairo_t *extend_pad (cairo_t *cr,\t cairo_surface_t *(*pattern)(cairo_t\
      \ *)) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: extend
      Src: /src/cairo/test/record-extend.c:128,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 129
    functionName: extend_repeat
    functionSourceFile: /src/cairo/test/record-extend.c
    functionUses: []
    functionsReached:
    - extend
    linkageType: ''
    returnType: cairo_t*
    signature: "static cairo_t *extend_repeat (cairo_t *cr,\t cairo_surface_t *(*pattern)(cairo_t\
      \ *)) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: source
      Src: /src/cairo/test/record-extend.c:78,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/record-extend.c:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: image
    functionSourceFile: /src/cairo/test/record-extend.c
    functionUses: []
    functionsReached:
    - cairo_image_surface_create
    - source
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *image (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: extend
      Src: /src/cairo/test/record-extend.c:135,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 136
    functionName: extend_reflect
    functionSourceFile: /src/cairo/test/record-extend.c
    functionUses: []
    functionsReached:
    - extend
    linkageType: ''
    returnType: cairo_t*
    signature: "static cairo_t *extend_reflect (cairo_t *cr,\t cairo_surface_t *(*pattern)(cairo_t\
      \ *)) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay
      Src: /src/cairo/test/record-extend.c:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: record_extend_repeat
    functionSourceFile: /src/cairo/test/record-extend.c
    functionUses: []
    functionsReached:
    - record_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_extend_repeat (cairo_t *cr, int
      width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay
      Src: /src/cairo/test/record-extend.c:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 219
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 219
    functionName: record_extend_none_similar
    functionSourceFile: /src/cairo/test/record-extend.c
    functionUses: []
    functionsReached:
    - record_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_extend_none_similar (cairo_t *cr,
      int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: source
      Src: /src/cairo/test/record-extend.c:84,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/record-extend.c:84,1
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/record-extend.c:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: similar
    functionSourceFile: /src/cairo/test/record-extend.c
    functionUses: []
    functionsReached:
    - cairo_surface_create_similar
    - source
    - cairo_get_target
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *similar (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_recording_surface_create
      Src: /src/cairo/test/record-extend.c:144,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/record-extend.c:146,1
    - Dst: cairo_surface_get_content
      Src: /src/cairo/test/record-extend.c:144,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/record-extend.c:144,1
    - Dst: cairo_create
      Src: /src/cairo/test/record-extend.c:145,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 149
    functionName: record_create
    functionSourceFile: /src/cairo/test/record-extend.c
    functionUses: []
    functionsReached:
    - cairo_create
    - cairo_surface_destroy
    - cairo_get_target
    - cairo_surface_get_content
    - cairo_recording_surface_create
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *record_create (cairo_t *target) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay
      Src: /src/cairo/test/record-extend.c:212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: record_extend_reflect
    functionSourceFile: /src/cairo/test/record-extend.c
    functionUses: []
    functionsReached:
    - record_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_extend_reflect (cairo_t *cr, int
      width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay
      Src: /src/cairo/test/record-extend.c:224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: record_extend_pad_similar
    functionSourceFile: /src/cairo/test/record-extend.c
    functionUses: []
    functionsReached:
    - record_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_extend_pad_similar (cairo_t *cr,
      int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_create
      Src: /src/cairo/test/record-extend.c:46,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/record-extend.c:47,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/record-extend.c:51,1
    - Dst: cairo_fill
      Src: /src/cairo/test/record-extend.c:52,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record-extend.c:50,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record-extend.c:55,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/record-extend.c:56,1
    - Dst: cairo_fill
      Src: /src/cairo/test/record-extend.c:57,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record-extend.c:60,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/record-extend.c:61,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/test/record-extend.c:69,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/record-extend.c:69,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/record-extend.c:66,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/record-extend.c:70,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record-extend.c:65,1
    - Dst: cairo_fill
      Src: /src/cairo/test/record-extend.c:67,1
    - Dst: cairo_fill
      Src: /src/cairo/test/record-extend.c:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 73
    functionName: source
    functionSourceFile: /src/cairo/test/record-extend.c
    functionUses: []
    functionsReached:
    - cairo_surface_reference
    - cairo_create
    - cairo_surface_destroy
    - cairo_get_target
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_destroy
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *source (cairo_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record-extend.c:93,1
    - Dst: cairo_paint
      Src: /src/cairo/test/record-extend.c:94,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/record-extend.c:99,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/record-extend.c:98,1
    - Dst: surface
      Src: /src/cairo/test/record-extend.c:97,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/record-extend.c:101,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/record-extend.c:101,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/record-extend.c:103,1
    - Dst: cairo_clip
      Src: /src/cairo/test/record-extend.c:104,1
    - Dst: cairo_paint
      Src: /src/cairo/test/record-extend.c:105,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 108
    functionName: extend
    functionSourceFile: /src/cairo/test/record-extend.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_get_source
    - cairo_surface_destroy
    - cairo_pattern_set_extend
    - cairo_set_source_rgb
    - cairo_clip
    - surface
    - cairo_set_source_surface
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *extend (cairo_t *cr, cairo_surface_t *(*surface)(cairo_t
      *), cairo_extend_t mode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_reference
      Src: /src/cairo/test/record-extend.c:156,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/record-extend.c:157,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/record-extend.c:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 160
    functionName: record_get
    functionSourceFile: /src/cairo/test/record-extend.c
    functionUses: []
    functionsReached:
    - cairo_destroy
    - cairo_surface_reference
    - cairo_get_target
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *record_get (cairo_t *target) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: extend
      Src: /src/cairo/test/record-extend.c:114,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: extend_none
    functionSourceFile: /src/cairo/test/record-extend.c
    functionUses: []
    functionsReached:
    - extend
    linkageType: ''
    returnType: cairo_t*
    signature: "static cairo_t *extend_none (cairo_t *cr,\t cairo_surface_t *(*pattern)(cairo_t\
      \ *)) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_get
      Src: /src/cairo/test/record-extend.c:172,1
    - Dst: func
      Src: /src/cairo/test/record-extend.c:172,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/record-extend.c:175,1
    - Dst: record_create
      Src: /src/cairo/test/record-extend.c:172,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/record-extend.c:174,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/record-extend.c:176,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/record-extend.c:177,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/record-extend.c:177,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/record-extend.c:181,1
    - Dst: cairo_clip
      Src: /src/cairo/test/record-extend.c:182,1
    - Dst: cairo_paint
      Src: /src/cairo/test/record-extend.c:183,1
    - Dst: cairo_reset_clip
      Src: /src/cairo/test/record-extend.c:184,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 5
    argNames:
    - cr
    - (*func)
    - (*pattern)
    - width
    - height
    argTypes:
    - cairo_t*
    - cairo_t*
    - cairo_surface_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 189
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 189
    functionName: record_replay
    functionSourceFile: /src/cairo/test/record-extend.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - func
    - cairo_get_source
    - record_create
    - record_get
    - cairo_surface_destroy
    - cairo_pattern_set_extend
    - cairo_set_operator
    - cairo_clip
    - cairo_reset_clip
    - cairo_set_source_surface
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: "static cairo_test_status_t record_replay (cairo_t *cr,\t cairo_t *(*func)(cairo_t\
      \ *,\t\t\t\tcairo_surface_t *(*pattern)(cairo_t *)),\t cairo_surface_t *(*pattern)(cairo_t\
      \ *),\t int width, int height) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_rectangle
      Src: /src/cairo/test/device-offset-positive.c:34,1
    - Dst: cairo_fill
      Src: /src/cairo/test/device-offset-positive.c:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: draw_square
    functionSourceFile: /src/cairo/test/device-offset-positive.c
    functionUses: []
    functionsReached:
    - cairo_fill
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void draw_square (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/device-offset-positive.c:48,1
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/device-offset-positive.c:53,1
    - Dst: draw_square
      Src: /src/cairo/test/device-offset-positive.c:49,1
    - Dst: cairo_surface_get_content
      Src: /src/cairo/test/device-offset-positive.c:54,1
    - Dst: cairo_get_group_target
      Src: /src/cairo/test/device-offset-positive.c:52,1
    - Dst: cairo_create
      Src: /src/cairo/test/device-offset-positive.c:56,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/device-offset-positive.c:57,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/device-offset-positive.c:59,1
    - Dst: draw_square
      Src: /src/cairo/test/device-offset-positive.c:60,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/test/device-offset-positive.c:65,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/device-offset-positive.c:69,1
    - Dst: cairo_surface_set_device_offset
      Src: /src/cairo/test/device-offset-positive.c:67,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/device-offset-positive.c:66,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/device-offset-positive.c:68,1
    - Dst: cairo_paint
      Src: /src/cairo/test/device-offset-positive.c:71,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/device-offset-positive.c:65,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 74
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 74
    functionName: draw
    functionSourceFile: /src/cairo/test/device-offset-positive.c
    functionUses: []
    functionsReached:
    - cairo_get_group_target
    - cairo_paint
    - cairo_set_source_rgb
    - cairo_surface_reference
    - cairo_create
    - cairo_surface_destroy
    - draw_square
    - cairo_surface_set_device_offset
    - cairo_get_target
    - cairo_surface_get_content
    - cairo_destroy
    - cairo_surface_create_similar
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/rotate-image-surface-paint.c:40,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/rotate-image-surface-paint.c:44,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/rotate-image-surface-paint.c:42,1
    - Dst: cairo_create
      Src: /src/cairo/test/rotate-image-surface-paint.c:41,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/rotate-image-surface-paint.c:45,1
    - Dst: cairo_fill
      Src: /src/cairo/test/rotate-image-surface-paint.c:46,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/rotate-image-surface-paint.c:48,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/rotate-image-surface-paint.c:49,1
    - Dst: cairo_fill
      Src: /src/cairo/test/rotate-image-surface-paint.c:50,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/rotate-image-surface-paint.c:52,1
    - Dst: cairo_fill
      Src: /src/cairo/test/rotate-image-surface-paint.c:54,1
    - Dst: cairo_fill
      Src: /src/cairo/test/rotate-image-surface-paint.c:58,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/rotate-image-surface-paint.c:60,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/rotate-image-surface-paint.c:61,1
    - Dst: cairo_pattern_create_for_surface
      Src: /src/cairo/test/rotate-image-surface-paint.c:60,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/rotate-image-surface-paint.c:53,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/rotate-image-surface-paint.c:56,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/rotate-image-surface-paint.c:57,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 64
    functionName: create_image_source
    functionSourceFile: /src/cairo/test/rotate-image-surface-paint.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_for_surface
    - cairo_create
    - cairo_surface_destroy
    - cairo_image_surface_create
    - cairo_get_target
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_destroy
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_pattern_t*
    signature: 'static cairo_pattern_t *create_image_source (int size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/cairo/test/rotate-image-surface-paint.c:70,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/rotate-image-surface-paint.c:75,1
    - Dst: cairo_paint
      Src: /src/cairo/test/rotate-image-surface-paint.c:76,1
    - Dst: cairo_translate
      Src: /src/cairo/test/rotate-image-surface-paint.c:78,1
    - Dst: cairo_rotate
      Src: /src/cairo/test/rotate-image-surface-paint.c:79,1
    - Dst: cairo_translate
      Src: /src/cairo/test/rotate-image-surface-paint.c:80,1
    - Dst: create_image_source
      Src: /src/cairo/test/rotate-image-surface-paint.c:82,1
    - Dst: cairo_pattern_set_filter
      Src: /src/cairo/test/rotate-image-surface-paint.c:83,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/rotate-image-surface-paint.c:84,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/rotate-image-surface-paint.c:85,1
    - Dst: cairo_paint
      Src: /src/cairo/test/rotate-image-surface-paint.c:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 90
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 90
    functionName: draw
    functionSourceFile: /src/cairo/test/rotate-image-surface-paint.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgb
    - cairo_pattern_set_filter
    - sqrt
    - cairo_set_source
    - cairo_rotate
    - cairo_translate
    - cairo_pattern_destroy
    - create_image_source
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/cairo/test/rotate-image-surface-paint.c:125,1
    - Dst: cairo_translate
      Src: /src/cairo/test/rotate-image-surface-paint.c:133,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/rotate-image-surface-paint.c:130,1
    - Dst: cairo_rotate
      Src: /src/cairo/test/rotate-image-surface-paint.c:134,1
    - Dst: cairo_paint
      Src: /src/cairo/test/rotate-image-surface-paint.c:131,1
    - Dst: cairo_translate
      Src: /src/cairo/test/rotate-image-surface-paint.c:135,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/rotate-image-surface-paint.c:137,1
    - Dst: cairo_clip
      Src: /src/cairo/test/rotate-image-surface-paint.c:138,1
    - Dst: create_image_source
      Src: /src/cairo/test/rotate-image-surface-paint.c:140,1
    - Dst: cairo_pattern_set_filter
      Src: /src/cairo/test/rotate-image-surface-paint.c:141,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/rotate-image-surface-paint.c:143,1
    - Dst: cairo_paint
      Src: /src/cairo/test/rotate-image-surface-paint.c:145,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/rotate-image-surface-paint.c:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 148
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 148
    functionName: draw_clip
    functionSourceFile: /src/cairo/test/rotate-image-surface-paint.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - create_image_source
    - cairo_set_source_rgb
    - cairo_pattern_set_filter
    - sqrt
    - cairo_set_source
    - cairo_rotate
    - cairo_translate
    - cairo_clip
    - cairo_pattern_destroy
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_clip (cairo_t *cr, int width, int
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/cairo/test/rotate-image-surface-paint.c:96,1
    - Dst: cairo_paint
      Src: /src/cairo/test/rotate-image-surface-paint.c:102,1
    - Dst: cairo_clip
      Src: /src/cairo/test/rotate-image-surface-paint.c:105,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/rotate-image-surface-paint.c:104,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/rotate-image-surface-paint.c:101,1
    - Dst: cairo_translate
      Src: /src/cairo/test/rotate-image-surface-paint.c:107,1
    - Dst: cairo_rotate
      Src: /src/cairo/test/rotate-image-surface-paint.c:108,1
    - Dst: cairo_translate
      Src: /src/cairo/test/rotate-image-surface-paint.c:109,1
    - Dst: create_image_source
      Src: /src/cairo/test/rotate-image-surface-paint.c:111,1
    - Dst: cairo_pattern_set_filter
      Src: /src/cairo/test/rotate-image-surface-paint.c:112,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/rotate-image-surface-paint.c:114,1
    - Dst: cairo_paint
      Src: /src/cairo/test/rotate-image-surface-paint.c:116,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/rotate-image-surface-paint.c:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 119
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 119
    functionName: clip_draw
    functionSourceFile: /src/cairo/test/rotate-image-surface-paint.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - create_image_source
    - cairo_pattern_set_filter
    - sqrt
    - cairo_set_source
    - cairo_rotate
    - cairo_set_source_rgb
    - cairo_translate
    - cairo_clip
    - cairo_pattern_destroy
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t clip_draw (cairo_t *cr, int width, int
      height) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: buffer_diff_core
      Src: /src/cairo/test/buffer-diff.c:153,1
    - Dst: cairo_image_surface_get_data
      Src: /src/cairo/test/buffer-diff.c:153,1
    - Dst: cairo_image_surface_get_data
      Src: /src/cairo/test/buffer-diff.c:156,1
    - Dst: cairo_image_surface_get_stride
      Src: /src/cairo/test/buffer-diff.c:154,1
    - Dst: cairo_image_surface_get_format
      Src: /src/cairo/test/buffer-diff.c:155,1
    - Dst: cairo_image_surface_get_stride
      Src: /src/cairo/test/buffer-diff.c:157,1
    - Dst: cairo_image_surface_get_format
      Src: /src/cairo/test/buffer-diff.c:158,1
    - Dst: cairo_image_surface_get_data
      Src: /src/cairo/test/buffer-diff.c:159,1
    - Dst: cairo_image_surface_get_stride
      Src: /src/cairo/test/buffer-diff.c:160,1
    - Dst: cairo_image_surface_get_format
      Src: /src/cairo/test/buffer-diff.c:161,1
    - Dst: cairo_image_surface_get_height
      Src: /src/cairo/test/buffer-diff.c:163,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/buffer-diff.c:168,1
    - Dst: pdiff_compare
      Src: /src/cairo/test/buffer-diff.c:181,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/buffer-diff.c:185,1
    - Dst: cairo_image_surface_get_width
      Src: /src/cairo/test/buffer-diff.c:162,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 5
    argNames:
    - ctx
    - surface_a
    - surface_b
    - surface_diff
    - result
    argTypes:
    - cairo_test_context_t*
    - cairo_surface_t*
    - cairo_surface_t*
    - cairo_surface_t*
    - buffer_diff_result_t*
    constantsTouched: []
    func_position:
      end: 190
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 190
    functionName: compare_surfaces
    functionSourceFile: /src/cairo/test/buffer-diff.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - cairo_image_surface_get_format
    - cairo_image_surface_get_data
    - cairo_image_surface_get_width
    - cairo_image_surface_get_height
    - pdiff_compare
    - buffer_diff_core
    - cairo_image_surface_get_stride
    linkageType: ''
    returnType: void
    signature: "static void compare_surfaces (const cairo_test_context_t *ctx,\t cairo_surface_t\t\
      *surface_a,\t\t cairo_surface_t\t*surface_b,\t\t cairo_surface_t\t*surface_diff,\t\
      \t buffer_diff_result_t\t*result) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_status
      Src: /src/cairo/test/buffer-diff.c:245,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/buffer-diff.c:248,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/buffer-diff.c:246,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/buffer-diff.c:251,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/buffer-diff.c:249,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/buffer-diff.c:252,1
    - Dst: same_size
      Src: /src/cairo/test/buffer-diff.c:254,1
    - Dst: same_size
      Src: /src/cairo/test/buffer-diff.c:255,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/buffer-diff.c:257,1
    - Dst: compare_surfaces
      Src: /src/cairo/test/buffer-diff.c:261,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 5
    argNames:
    - ctx
    - surface_a
    - surface_b
    - surface_diff
    - result
    argTypes:
    - cairo_test_context_t*
    - cairo_surface_t*
    - cairo_surface_t*
    - cairo_surface_t*
    - buffer_diff_result_t*
    constantsTouched: []
    func_position:
      end: 264
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 264
    functionName: image_diff
    functionSourceFile: /src/cairo/test/buffer-diff.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - compare_surfaces
    - cairo_surface_status
    - same_size
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t image_diff (const cairo_test_context_t *ctx,\t cairo_surface_t\
      \ *surface_a,\t cairo_surface_t *surface_b,\t cairo_surface_t *surface_diff,\t\
      \ buffer_diff_result_t *result) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buffer_diff_core
      Src: /src/cairo/test/buffer-diff.c:201,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 7
    argNames:
    - buf_a
    - buf_b
    - buf_diff
    - width
    - height
    - stride
    - result
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - int
    - int
    - int
    - buffer_diff_result_t*
    constantsTouched: []
    func_position:
      end: 206
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 206
    functionName: buffer_diff_noalpha
    functionSourceFile: /src/cairo/test/buffer-diff.c
    functionUses: []
    functionsReached:
    - buffer_diff_core
    linkageType: ''
    returnType: void
    signature: "void buffer_diff_noalpha (const unsigned char *buf_a,\t\t const unsigned\
      \ char *buf_b,\t\t unsigned char *buf_diff,\t\t int\t width,\t\t int\t height,\t\
      \t int\t stride,\t\t buffer_diff_result_t *result) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - result
    - tolerance
    argTypes:
    - buffer_diff_result_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 272
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 272
    functionName: image_diff_is_failure
    functionSourceFile: /src/cairo/test/buffer-diff.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t image_diff_is_failure (const buffer_diff_result_t *result,
      unsigned int tolerance) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/test/buffer-diff.c:67,1
    - Dst: assert
      Src: /src/cairo/test/buffer-diff.c:68,1
    - Dst: assert
      Src: /src/cairo/test/buffer-diff.c:69,1
    - Dst: abs
      Src: /src/cairo/test/buffer-diff.c:98,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 66
    argCount: 12
    argNames:
    - _buf_a
    - stride_a
    - format_a
    - _buf_b
    - stride_b
    - format_b
    - _buf_diff
    - stride_diff
    - format_diff
    - width
    - height
    - result_ret
    argTypes:
    - unsigned char*
    - int
    - cairo_format_t
    - unsigned char*
    - int
    - cairo_format_t
    - unsigned char*
    - int
    - cairo_format_t
    - int
    - int
    - buffer_diff_result_t*
    constantsTouched: []
    func_position:
      end: 124
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 124
    functionName: buffer_diff_core
    functionSourceFile: /src/cairo/test/buffer-diff.c
    functionUses: []
    functionsReached:
    - abs
    - assert
    linkageType: ''
    returnType: void
    signature: "static void buffer_diff_core (const unsigned char *_buf_a, int stride_a,\
      \ cairo_format_t format_a,\t\t const unsigned char *_buf_b, int stride_b, cairo_format_t\
      \ format_b,\t\t unsigned char *_buf_diff, int stride_diff, cairo_format_t format_diff,\t\
      \t int\t\twidth,\t\t int\t\theight,\t\t buffer_diff_result_t *result_ret) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_get_width
      Src: /src/cairo/test/buffer-diff.c:214,1
    - Dst: cairo_image_surface_get_width
      Src: /src/cairo/test/buffer-diff.c:217,1
    - Dst: cairo_image_surface_get_height
      Src: /src/cairo/test/buffer-diff.c:218,1
    - Dst: cairo_image_surface_get_height
      Src: /src/cairo/test/buffer-diff.c:215,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_surface_t*
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 221
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 221
    functionName: same_size
    functionSourceFile: /src/cairo/test/buffer-diff.c
    functionUses: []
    functionsReached:
    - cairo_image_surface_get_width
    - cairo_image_surface_get_height
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t same_size (cairo_surface_t *a, cairo_surface_t
      *b) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/any2ppm.c:276,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/test/any2ppm.c:277,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 278
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 278
    functionName: _create_image
    functionSourceFile: /src/cairo/test/any2ppm.c
    functionUses: []
    functionsReached:
    - cairo_surface_reference
    - cairo_image_surface_create
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_create_image (void *closure,\t cairo_content_t\
      \ content,\t double width, double height,\t long uid) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_path_is_absolute
      Src: /src/cairo/test/any2ppm.c:358,1
    - Dst: g_strdup
      Src: /src/cairo/test/any2ppm.c:359,1
    - Dst: g_build_filename
      Src: /src/cairo/test/any2ppm.c:362,1
    - Dst: g_free
      Src: /src/cairo/test/any2ppm.c:372,1
    - Dst: g_object_unref
      Src: /src/cairo/test/any2ppm.c:391,1
    - Dst: poppler_page_render
      Src: /src/cairo/test/any2ppm.c:390,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/any2ppm.c:401,1
    - Dst: poppler_document_get_page_by_label
      Src: /src/cairo/test/any2ppm.c:376,1
    - Dst: cairo_paint
      Src: /src/cairo/test/any2ppm.c:387,1
    - Dst: cairo_pop_group_to_source
      Src: /src/cairo/test/any2ppm.c:393,1
    - Dst: cairo_status
      Src: /src/cairo/test/any2ppm.c:396,1
    - Dst: g_free
      Src: /src/cairo/test/any2ppm.c:363,1
    - Dst: g_filename_to_uri
      Src: /src/cairo/test/any2ppm.c:366,1
    - Dst: poppler_document_new_from_file
      Src: /src/cairo/test/any2ppm.c:371,1
    - Dst: cairo_paint
      Src: /src/cairo/test/any2ppm.c:394,1
    - Dst: g_get_current_dir
      Src: /src/cairo/test/any2ppm.c:361,1
    - Dst: g_free
      Src: /src/cairo/test/any2ppm.c:367,1
    - Dst: cairo_create
      Src: /src/cairo/test/any2ppm.c:384,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/any2ppm.c:383,1
    - Dst: poppler_page_get_size
      Src: /src/cairo/test/any2ppm.c:381,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/any2ppm.c:386,1
    - Dst: g_object_unref
      Src: /src/cairo/test/any2ppm.c:377,1
    - Dst: cairo_push_group_with_content
      Src: /src/cairo/test/any2ppm.c:388,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/any2ppm.c:397,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/any2ppm.c:400,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 406
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 406
    functionName: _poppler_render_page
    functionSourceFile: /src/cairo/test/any2ppm.c
    functionUses: []
    functionsReached:
    - cairo_push_group_with_content
    - poppler_document_new_from_file
    - g_filename_to_uri
    - cairo_pop_group_to_source
    - g_get_current_dir
    - g_object_unref
    - poppler_page_get_size
    - cairo_create
    - cairo_status
    - g_build_filename
    - poppler_page_render
    - g_strdup
    - cairo_destroy
    - cairo_status_to_string
    - cairo_paint
    - cairo_surface_destroy
    - poppler_document_get_page_by_label
    - cairo_image_surface_create
    - cairo_set_source_rgb
    - g_free
    - g_path_is_absolute
    linkageType: ''
    returnType: char*
    signature: "static const char *_poppler_render_page (const char *filename,\t\t\
      \ const char *page_label,\t\t cairo_surface_t **surface_out) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cairo_script_interpreter_create
      Src: /src/cairo/test/any2ppm.c:297,1
    - Dst: cairo_script_interpreter_run
      Src: /src/cairo/test/any2ppm.c:299,1
    - Dst: cairo_script_interpreter_destroy
      Src: /src/cairo/test/any2ppm.c:304,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/any2ppm.c:301,1
    - Dst: cairo_script_interpreter_install_hooks
      Src: /src/cairo/test/any2ppm.c:298,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/any2ppm.c:309,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/any2ppm.c:311,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/any2ppm.c:312,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 317
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 317
    functionName: _cairo_script_render_page
    functionSourceFile: /src/cairo/test/any2ppm.c
    functionUses: []
    functionsReached:
    - cairo_script_interpreter_create
    - cairo_surface_status
    - cairo_script_interpreter_destroy
    - cairo_surface_destroy
    - cairo_script_interpreter_install_hooks
    - cairo_script_interpreter_run
    - cairo_status_to_string
    linkageType: ''
    returnType: char*
    signature: "static const char *_cairo_script_render_page (const char *filename,\t\
      \t\t cairo_surface_t **surface_out) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _poppler_render_page
      Src: /src/cairo/test/any2ppm.c:414,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/any2ppm.c:419,1
    - Dst: write_ppm
      Src: /src/cairo/test/any2ppm.c:418,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 422
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 422
    functionName: pdf_convert
    functionSourceFile: /src/cairo/test/any2ppm.c
    functionUses: []
    functionsReached:
    - _poppler_render_page
    - write_ppm
    - cairo_surface_destroy
    linkageType: ''
    returnType: char*
    signature: 'static const char *pdf_convert (char **argv, int fd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 570
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 570
    functionName: ps_convert
    functionSourceFile: /src/cairo/test/any2ppm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *ps_convert (char **argv, int fd) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: spectre_document_new
      Src: /src/cairo/test/any2ppm.c:506,1
    - Dst: spectre_status_to_string
      Src: /src/cairo/test/any2ppm.c:511,1
    - Dst: spectre_document_load
      Src: /src/cairo/test/any2ppm.c:507,1
    - Dst: spectre_document_get_page_by_label
      Src: /src/cairo/test/any2ppm.c:518,1
    - Dst: spectre_document_free
      Src: /src/cairo/test/any2ppm.c:519,1
    - Dst: spectre_document_get_page_size
      Src: /src/cairo/test/any2ppm.c:535,1
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/test/any2ppm.c:540,1
    - Dst: spectre_render_context_free
      Src: /src/cairo/test/any2ppm.c:527,1
    - Dst: spectre_document_render
      Src: /src/cairo/test/any2ppm.c:536,1
    - Dst: cairo_surface_set_user_data
      Src: /src/cairo/test/any2ppm.c:544,1
    - Dst: spectre_page_get_size
      Src: /src/cairo/test/any2ppm.c:523,1
    - Dst: spectre_render_context_set_page_size
      Src: /src/cairo/test/any2ppm.c:525,1
    - Dst: free
      Src: /src/cairo/test/any2ppm.c:531,1
    - Dst: spectre_page_free
      Src: /src/cairo/test/any2ppm.c:529,1
    - Dst: spectre_document_free
      Src: /src/cairo/test/any2ppm.c:510,1
    - Dst: spectre_document_status
      Src: /src/cairo/test/any2ppm.c:508,1
    - Dst: spectre_render_context_new
      Src: /src/cairo/test/any2ppm.c:524,1
    - Dst: spectre_page_render
      Src: /src/cairo/test/any2ppm.c:526,1
    - Dst: spectre_document_free
      Src: /src/cairo/test/any2ppm.c:537,1
    - Dst: spectre_page_status
      Src: /src/cairo/test/any2ppm.c:528,1
    - Dst: spectre_status_to_string
      Src: /src/cairo/test/any2ppm.c:532,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 548
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 548
    functionName: _spectre_render_page
    functionSourceFile: /src/cairo/test/any2ppm.c
    functionUses: []
    functionsReached:
    - spectre_render_context_free
    - cairo_surface_set_user_data
    - spectre_document_free
    - spectre_render_context_new
    - spectre_document_render
    - free
    - spectre_render_context_set_page_size
    - spectre_document_status
    - spectre_document_load
    - spectre_document_get_page_by_label
    - spectre_page_get_size
    - cairo_image_surface_create_for_data
    - spectre_page_free
    - spectre_document_new
    - spectre_page_render
    - spectre_status_to_string
    - spectre_page_status
    - spectre_document_get_page_size
    linkageType: ''
    returnType: char*
    signature: "static const char *_spectre_render_page (const char *filename,\t\t\
      \ const char *page_label,\t\t cairo_surface_t **surface_out) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/cairo/test/any2ppm.c:589,1
    - Dst: strcmp
      Src: /src/cairo/test/any2ppm.c:595,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 600
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 600
    functionName: convert
    functionSourceFile: /src/cairo/test/any2ppm.c
    functionUses: []
    functionsReached:
    - strrchr
    - strcmp
    linkageType: ''
    returnType: char*
    signature: 'static const char *convert (char **argv, int fd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/cairo/test/any2ppm.c:720,1
    - Dst: open
      Src: /src/cairo/test/any2ppm.c:722,1
    - Dst: close
      Src: /src/cairo/test/any2ppm.c:727,1
    - Dst: dup2
      Src: /src/cairo/test/any2ppm.c:726,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - want_fd
    - flags
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 730
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 730
    functionName: open_devnull_to_fd
    functionSourceFile: /src/cairo/test/any2ppm.c
    functionUses: []
    functionsReached:
    - close
    - open
    - dup2
    linkageType: ''
    returnType: int
    signature: 'static int open_devnull_to_fd (int want_fd, int flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _spectre_render_page
      Src: /src/cairo/test/any2ppm.c:556,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/any2ppm.c:561,1
    - Dst: write_ppm
      Src: /src/cairo/test/any2ppm.c:560,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 564
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 564
    functionName: ps_convert
    functionSourceFile: /src/cairo/test/any2ppm.c
    functionUses: []
    functionsReached:
    - _spectre_render_page
    - write_ppm
    - cairo_surface_destroy
    linkageType: ''
    returnType: char*
    signature: 'static const char *ps_convert (char **argv, int fd) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fork
      Src: /src/cairo/test/any2ppm.c:738,1
    - Dst: fork
      Src: /src/cairo/test/any2ppm.c:751,1
    - Dst: signal
      Src: /src/cairo/test/any2ppm.c:749,1
    - Dst: _exit
      Src: /src/cairo/test/any2ppm.c:741,1
    - Dst: setsid
      Src: /src/cairo/test/any2ppm.c:745,1
    - Dst: _exit
      Src: /src/cairo/test/any2ppm.c:754,1
    - Dst: signal
      Src: /src/cairo/test/any2ppm.c:757,1
    - Dst: open_devnull_to_fd
      Src: /src/cairo/test/any2ppm.c:760,1
    - Dst: open_devnull_to_fd
      Src: /src/cairo/test/any2ppm.c:762,1
    - Dst: dup2
      Src: /src/cairo/test/any2ppm.c:764,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 768
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 768
    functionName: daemonize
    functionSourceFile: /src/cairo/test/any2ppm.c
    functionUses: []
    functionsReached:
    - signal
    - fork
    - open_devnull_to_fd
    - setsid
    - dup2
    - _exit
    linkageType: ''
    returnType: int
    signature: 'static int daemonize (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_type_init
      Src: /src/cairo/test/any2ppm.c:881,1
    - Dst: fprintf
      Src: /src/cairo/test/any2ppm.c:894,1
    - Dst: any2ppm_daemon
      Src: /src/cairo/test/any2ppm.c:890,1
    - Dst: convert
      Src: /src/cairo/test/any2ppm.c:892,1
    - Dst: _setmode
      Src: /src/cairo/test/any2ppm.c:886,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 899
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 899
    functionName: main
    functionSourceFile: /src/cairo/test/any2ppm.c
    functionUses: []
    functionsReached:
    - fprintf
    - any2ppm_daemon
    - _setmode
    - convert
    - g_type_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/cairo/test/any2ppm.c:612,1
    - Dst: read
      Src: /src/cairo/test/any2ppm.c:634,1
    - Dst: realloc
      Src: /src/cairo/test/any2ppm.c:626,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 3
    argNames:
    - fd
    - linep
    - lenp
    argTypes:
    - int
    - char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 644
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 644
    functionName: _getline
    functionSourceFile: /src/cairo/test/any2ppm.c
    functionUses: []
    functionsReached:
    - malloc
    - read
    - realloc
    linkageType: ''
    returnType: int
    signature: 'static int _getline (int fd, char **linep, size_t *lenp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 339
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 339
    functionName: cs_convert
    functionSourceFile: /src/cairo/test/any2ppm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *cs_convert (char **argv, int fd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/cairo/test/any2ppm.c:654,1
    - Dst: strchr
      Src: /src/cairo/test/any2ppm.c:660,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - line
    - argv
    - max_argc
    argTypes:
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 667
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 667
    functionName: split_line
    functionSourceFile: /src/cairo/test/any2ppm.c
    functionUses: []
    functionsReached:
    - strchr
    linkageType: ''
    returnType: int
    signature: 'static int split_line (char *line, char *argv[], int max_argc) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/cairo/test/any2ppm.c:786,1
    - Dst: close
      Src: /src/cairo/test/any2ppm.c:799,1
    - Dst: close
      Src: /src/cairo/test/any2ppm.c:805,1
    - Dst: poll
      Src: /src/cairo/test/any2ppm.c:836,1
    - Dst: free
      Src: /src/cairo/test/any2ppm.c:863,1
    - Dst: fclose
      Src: /src/cairo/test/any2ppm.c:851,1
    - Dst: socket
      Src: /src/cairo/test/any2ppm.c:791,1
    - Dst: any2ppm_daemon_exists
      Src: /src/cairo/test/any2ppm.c:786,1
    - Dst: unlink
      Src: /src/cairo/test/any2ppm.c:789,1
    - Dst: daemonize
      Src: /src/cairo/test/any2ppm.c:815,1
    - Dst: close
      Src: /src/cairo/test/any2ppm.c:821,1
    - Dst: getenv
      Src: /src/cairo/test/any2ppm.c:815,1
    - Dst: getenv
      Src: /src/cairo/test/any2ppm.c:826,1
    - Dst: split_line
      Src: /src/cairo/test/any2ppm.c:841,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/any2ppm.c:841,1
    - Dst: fopen
      Src: /src/cairo/test/any2ppm.c:846,1
    - Dst: close
      Src: /src/cairo/test/any2ppm.c:856,1
    - Dst: unlink
      Src: /src/cairo/test/any2ppm.c:861,1
    - Dst: signal
      Src: /src/cairo/test/any2ppm.c:782,1
    - Dst: strcpy
      Src: /src/cairo/test/any2ppm.c:797,1
    - Dst: bind
      Src: /src/cairo/test/any2ppm.c:798,1
    - Dst: fcntl
      Src: /src/cairo/test/any2ppm.c:804,1
    - Dst: _getline
      Src: /src/cairo/test/any2ppm.c:838,1
    - Dst: fprintf
      Src: /src/cairo/test/any2ppm.c:848,1
    - Dst: close
      Src: /src/cairo/test/any2ppm.c:859,1
    - Dst: memset
      Src: /src/cairo/test/any2ppm.c:795,1
    - Dst: fcntl
      Src: /src/cairo/test/any2ppm.c:803,1
    - Dst: write_pid_file
      Src: /src/cairo/test/any2ppm.c:820,1
    - Dst: close
      Src: /src/cairo/test/any2ppm.c:816,1
    - Dst: close
      Src: /src/cairo/test/any2ppm.c:810,1
    - Dst: listen
      Src: /src/cairo/test/any2ppm.c:809,1
    - Dst: getenv
      Src: /src/cairo/test/any2ppm.c:825,1
    - Dst: atoi
      Src: /src/cairo/test/any2ppm.c:826,1
    - Dst: accept
      Src: /src/cairo/test/any2ppm.c:837,1
    - Dst: convert
      Src: /src/cairo/test/any2ppm.c:844,1
    - Dst: unlink
      Src: /src/cairo/test/any2ppm.c:860,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 82
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 865
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 865
    functionName: any2ppm_daemon
    functionSourceFile: /src/cairo/test/any2ppm.c
    functionUses: []
    functionsReached:
    - any2ppm_daemon_exists
    - split_line
    - convert
    - fprintf
    - daemonize
    - unlink
    - fcntl
    - signal
    - write_pid_file
    - accept
    - getenv
    - socket
    - ARRAY_LENGTH
    - bind
    - strcpy
    - poll
    - memset
    - listen
    - fclose
    - free
    - _getline
    - close
    - fopen
    - atoi
    linkageType: ''
    returnType: char*
    signature: 'static const char *any2ppm_daemon (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 871
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 871
    functionName: any2ppm_daemon
    functionSourceFile: /src/cairo/test/any2ppm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *any2ppm_daemon (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cairo/test/any2ppm.c:151,1
    - Dst: _cairo_writen
      Src: /src/cairo/test/any2ppm.c:157,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 6
    argNames:
    - fd
    - buf
    - maxlen
    - buflen
    - src
    - srclen
    argTypes:
    - int
    - char*
    - int
    - int
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 165
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 165
    functionName: _cairo_write
    functionSourceFile: /src/cairo/test/any2ppm.c
    functionUses: []
    functionsReached:
    - memcpy
    - _cairo_writen
    linkageType: ''
    returnType: int
    signature: "static int _cairo_write (int fd,\tchar *buf, int maxlen, int buflen,\t\
      const unsigned char *src, int srclen) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rsvg_handle_new_from_file
      Src: /src/cairo/test/any2ppm.c:443,1
    - Dst: rsvg_handle_set_dpi
      Src: /src/cairo/test/any2ppm.c:447,1
    - Dst: rsvg_handle_get_dimensions
      Src: /src/cairo/test/any2ppm.c:448,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/any2ppm.c:449,1
    - Dst: cairo_create
      Src: /src/cairo/test/any2ppm.c:452,1
    - Dst: rsvg_handle_render_cairo
      Src: /src/cairo/test/any2ppm.c:454,1
    - Dst: g_object_unref
      Src: /src/cairo/test/any2ppm.c:455,1
    - Dst: cairo_status
      Src: /src/cairo/test/any2ppm.c:457,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/any2ppm.c:458,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/any2ppm.c:461,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/any2ppm.c:462,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 467
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 467
    functionName: _rsvg_render_page
    functionSourceFile: /src/cairo/test/any2ppm.c
    functionUses: []
    functionsReached:
    - rsvg_handle_new_from_file
    - g_object_unref
    - cairo_status_to_string
    - rsvg_handle_set_dpi
    - cairo_create
    - cairo_surface_destroy
    - cairo_image_surface_create
    - cairo_status
    - rsvg_handle_render_cairo
    - cairo_destroy
    - rsvg_handle_get_dimensions
    linkageType: ''
    returnType: char*
    signature: "static const char *_rsvg_render_page (const char *filename,\t\t cairo_surface_t\
      \ **surface_out) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/cairo/test/any2ppm.c:678,1
    - Dst: read
      Src: /src/cairo/test/any2ppm.c:686,1
    - Dst: close
      Src: /src/cairo/test/any2ppm.c:691,1
    - Dst: atoi
      Src: /src/cairo/test/any2ppm.c:689,1
    - Dst: open
      Src: /src/cairo/test/any2ppm.c:681,1
    - Dst: kill
      Src: /src/cairo/test/any2ppm.c:693,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 694
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 694
    functionName: any2ppm_daemon_exists
    functionSourceFile: /src/cairo/test/any2ppm.c
    functionUses: []
    functionsReached:
    - read
    - stat
    - close
    - open
    - kill
    - atoi
    linkageType: ''
    returnType: int
    signature: 'static int any2ppm_daemon_exists (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/cairo/test/any2ppm.c:117,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - fd
    - buf
    - len
    argTypes:
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 133
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 133
    functionName: _cairo_writen
    functionSourceFile: /src/cairo/test/any2ppm.c
    functionUses: []
    functionsReached:
    - write
    linkageType: ''
    returnType: int
    signature: 'static int _cairo_writen (int fd, char *buf, int len) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_get_data
      Src: /src/cairo/test/any2ppm.c:178,1
    - Dst: cairo_image_surface_get_width
      Src: /src/cairo/test/any2ppm.c:180,1
    - Dst: cairo_image_surface_get_height
      Src: /src/cairo/test/any2ppm.c:179,1
    - Dst: cairo_image_surface_get_format
      Src: /src/cairo/test/any2ppm.c:182,1
    - Dst: cairo_image_surface_get_stride
      Src: /src/cairo/test/any2ppm.c:181,1
    - Dst: sprintf
      Src: /src/cairo/test/any2ppm.c:217,1
    - Dst: _cairo_write
      Src: /src/cairo/test/any2ppm.c:223,1
    - Dst: _cairo_write
      Src: /src/cairo/test/any2ppm.c:234,1
    - Dst: _cairo_write
      Src: /src/cairo/test/any2ppm.c:240,1
    - Dst: _cairo_writen
      Src: /src/cairo/test/any2ppm.c:249,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 253
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 253
    functionName: write_ppm
    functionSourceFile: /src/cairo/test/any2ppm.c
    functionUses: []
    functionsReached:
    - _cairo_write
    - cairo_image_surface_get_format
    - cairo_image_surface_get_data
    - cairo_image_surface_get_height
    - _cairo_writen
    - cairo_image_surface_get_width
    - cairo_image_surface_get_stride
    - sprintf
    linkageType: ''
    returnType: char*
    signature: 'static const char *write_ppm (cairo_surface_t *surface, int fd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_script_render_page
      Src: /src/cairo/test/any2ppm.c:325,1
    - Dst: write_ppm
      Src: /src/cairo/test/any2ppm.c:329,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/any2ppm.c:330,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 333
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 333
    functionName: cs_convert
    functionSourceFile: /src/cairo/test/any2ppm.c
    functionUses: []
    functionsReached:
    - cairo_surface_destroy
    - write_ppm
    - _cairo_script_render_page
    linkageType: ''
    returnType: char*
    signature: 'static const char *cs_convert (char **argv, int fd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 428
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 428
    functionName: pdf_convert
    functionSourceFile: /src/cairo/test/any2ppm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *pdf_convert (char **argv, int fd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _rsvg_render_page
      Src: /src/cairo/test/any2ppm.c:475,1
    - Dst: write_ppm
      Src: /src/cairo/test/any2ppm.c:479,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/any2ppm.c:480,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 483
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 483
    functionName: svg_convert
    functionSourceFile: /src/cairo/test/any2ppm.c
    functionUses: []
    functionsReached:
    - _rsvg_render_page
    - write_ppm
    - cairo_surface_destroy
    linkageType: ''
    returnType: char*
    signature: 'static const char *svg_convert (char **argv, int fd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 489
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 489
    functionName: svg_convert
    functionSourceFile: /src/cairo/test/any2ppm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *svg_convert (char **argv, int fd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/cairo/test/any2ppm.c:703,1
    - Dst: write
      Src: /src/cairo/test/any2ppm.c:708,1
    - Dst: getpid
      Src: /src/cairo/test/any2ppm.c:707,1
    - Dst: sprintf
      Src: /src/cairo/test/any2ppm.c:707,1
    - Dst: close
      Src: /src/cairo/test/any2ppm.c:709,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 712
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 712
    functionName: write_pid_file
    functionSourceFile: /src/cairo/test/any2ppm.c
    functionUses: []
    functionsReached:
    - write
    - getpid
    - close
    - open
    - sprintf
    linkageType: ''
    returnType: int
    signature: 'static int write_pid_file (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-stroke-no-op.c:35,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-stroke-no-op.c:40,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-stroke-no-op.c:39,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-stroke-no-op.c:36,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/clip-stroke-no-op.c:43,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/clip-stroke-no-op.c:46,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-stroke-no-op.c:47,1
    - Dst: cairo_save
      Src: /src/cairo/test/clip-stroke-no-op.c:52,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/clip-stroke-no-op.c:53,1
    - Dst: cairo_clip_preserve
      Src: /src/cairo/test/clip-stroke-no-op.c:54,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-stroke-no-op.c:55,1
    - Dst: cairo_restore
      Src: /src/cairo/test/clip-stroke-no-op.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 59
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 59
    functionName: draw
    functionSourceFile: /src/cairo/test/clip-stroke-no-op.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgba
    - cairo_line_to
    - cairo_save
    - cairo_stroke
    - cairo_restore
    - cairo_clip_preserve
    - cairo_set_source_rgb
    - cairo_clip
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_paint
      Src: /src/cairo/test/dash-offset-negative.c:44,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/dash-offset-negative.c:47,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/dash-offset-negative.c:54,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/dash-offset-negative.c:59,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/dash-offset-negative.c:60,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/dash-offset-negative.c:76,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/dash-offset-negative.c:75,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/dash-offset-negative.c:82,1
    - Dst: cairo_set_dash
      Src: /src/cairo/test/dash-offset-negative.c:85,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/dash-offset-negative.c:66,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/dash-offset-negative.c:68,1
    - Dst: cairo_set_dash
      Src: /src/cairo/test/dash-offset-negative.c:73,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/dash-offset-negative.c:67,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/dash-offset-negative.c:89,1
    - Dst: cairo_restore
      Src: /src/cairo/test/dash-offset-negative.c:45,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/dash-offset-negative.c:43,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/dash-offset-negative.c:52,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/dash-offset-negative.c:53,1
    - Dst: cairo_set_dash
      Src: /src/cairo/test/dash-offset-negative.c:64,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/dash-offset-negative.c:61,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/dash-offset-negative.c:77,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/dash-offset-negative.c:80,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/dash-offset-negative.c:81,1
    - Dst: cairo_save
      Src: /src/cairo/test/dash-offset-negative.c:42,1
    - Dst: cairo_set_dash
      Src: /src/cairo/test/dash-offset-negative.c:50,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/dash-offset-negative.c:87,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/dash-offset-negative.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 92
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 92
    functionName: draw
    functionSourceFile: /src/cairo/test/dash-offset-negative.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_line_width
    - cairo_line_to
    - cairo_set_dash
    - cairo_save
    - cairo_stroke
    - cairo_restore
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pattern_create_rgba
      Src: /src/cairo/test/pattern-get-type.c:35,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/pattern-get-type.c:62,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/pattern-get-type.c:66,1
    - Dst: cairo_pattern_create_for_surface
      Src: /src/cairo/test/pattern-get-type.c:38,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/pattern-get-type.c:36,1
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/test/pattern-get-type.c:39,1
    - Dst: cairo_pattern_get_type
      Src: /src/cairo/test/pattern-get-type.c:53,1
    - Dst: cairo_pattern_get_type
      Src: /src/cairo/test/pattern-get-type.c:56,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/pattern-get-type.c:65,1
    - Dst: cairo_pattern_get_type
      Src: /src/cairo/test/pattern-get-type.c:59,1
    - Dst: cairo_pattern_create_rgb
      Src: /src/cairo/test/pattern-get-type.c:34,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/pattern-get-type.c:64,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/pattern-get-type.c:68,1
    - Dst: cairo_pattern_create_radial
      Src: /src/cairo/test/pattern-get-type.c:40,1
    - Dst: cairo_pattern_create_mesh
      Src: /src/cairo/test/pattern-get-type.c:42,1
    - Dst: cairo_pattern_get_type
      Src: /src/cairo/test/pattern-get-type.c:44,1
    - Dst: cairo_pattern_get_type
      Src: /src/cairo/test/pattern-get-type.c:47,1
    - Dst: cairo_pattern_get_type
      Src: /src/cairo/test/pattern-get-type.c:50,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/pattern-get-type.c:67,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/pattern-get-type.c:63,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 1
    argNames:
    - Ctx
    argTypes:
    - cairo_test_context_t*
    constantsTouched: []
    func_position:
      end: 71
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 71
    functionName: preamble
    functionSourceFile: /src/cairo/test/pattern-get-type.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_for_surface
    - cairo_pattern_get_type
    - cairo_pattern_create_linear
    - cairo_pattern_create_rgba
    - cairo_surface_destroy
    - cairo_image_surface_create
    - cairo_pattern_create_radial
    - cairo_pattern_create_rgb
    - cairo_pattern_create_mesh
    - cairo_pattern_destroy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t preamble (cairo_test_context_t *Ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: background
      Src: /src/cairo/test/clip-complex-shape.c:73,1
    - Dst: rounded_rectangle
      Src: /src/cairo/test/clip-complex-shape.c:78,1
    - Dst: rounded_rectangle
      Src: /src/cairo/test/clip-complex-shape.c:77,1
    - Dst: cairo_set_antialias
      Src: /src/cairo/test/clip-complex-shape.c:75,1
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/test/clip-complex-shape.c:76,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-complex-shape.c:79,1
    - Dst: foreground
      Src: /src/cairo/test/clip-complex-shape.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 84
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 84
    functionName: clip_eo_mono
    functionSourceFile: /src/cairo/test/clip-complex-shape.c
    functionUses: []
    functionsReached:
    - background
    - foreground
    - cairo_set_fill_rule
    - cairo_clip
    - rounded_rectangle
    - cairo_set_antialias
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t clip_eo_mono (cairo_t *cr, int width, int
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_operator
      Src: /src/cairo/test/clip-complex-shape.c:55,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/clip-complex-shape.c:56,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-complex-shape.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: background
    functionSourceFile: /src/cairo/test/clip-complex-shape.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_operator
    - cairo_set_source_rgba
    linkageType: ''
    returnType: void
    signature: 'static void background (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_move_to
      Src: /src/cairo/test/clip-complex-shape.c:34,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/clip-complex-shape.c:40,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-complex-shape.c:35,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/clip-complex-shape.c:36,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-complex-shape.c:39,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-complex-shape.c:43,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/clip-complex-shape.c:44,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-complex-shape.c:47,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/clip-complex-shape.c:48,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/clip-complex-shape.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 52
    argCount: 6
    argNames:
    - cr
    - x
    - y
    - width
    - height
    - radius
    argTypes:
    - cairo_t*
    - double
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 50
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 50
    functionName: rounded_rectangle
    functionSourceFile: /src/cairo/test/clip-complex-shape.c
    functionUses: []
    functionsReached:
    - cairo_line_to
    - cairo_curve_to
    - cairo_move_to
    - cairo_close_path
    linkageType: ''
    returnType: void
    signature: "static void rounded_rectangle(cairo_t *cr,\t\t double x, double y,\t\
      \t double width, double height,\t\t double radius) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: background
      Src: /src/cairo/test/clip-complex-shape.c:89,1
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/test/clip-complex-shape.c:92,1
    - Dst: rounded_rectangle
      Src: /src/cairo/test/clip-complex-shape.c:94,1
    - Dst: rounded_rectangle
      Src: /src/cairo/test/clip-complex-shape.c:93,1
    - Dst: cairo_set_antialias
      Src: /src/cairo/test/clip-complex-shape.c:91,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-complex-shape.c:95,1
    - Dst: foreground
      Src: /src/cairo/test/clip-complex-shape.c:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 100
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 100
    functionName: clip_eo_aa
    functionSourceFile: /src/cairo/test/clip-complex-shape.c
    functionUses: []
    functionsReached:
    - background
    - foreground
    - cairo_set_fill_rule
    - cairo_clip
    - rounded_rectangle
    - cairo_set_antialias
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t clip_eo_aa (cairo_t *cr, int width, int
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/clip-complex-shape.c:63,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-complex-shape.c:65,1
    - Dst: cairo_fill
      Src: /src/cairo/test/clip-complex-shape.c:66,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/clip-complex-shape.c:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: foreground
    functionSourceFile: /src/cairo/test/clip-complex-shape.c
    functionUses: []
    functionsReached:
    - cairo_fill
    - cairo_set_operator
    - cairo_set_source_rgba
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void foreground (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_move_to
      Src: /src/cairo/test/caps-joins-alpha.c:35,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/caps-joins-alpha.c:40,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/caps-joins-alpha.c:37,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/caps-joins-alpha.c:38,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/caps-joins-alpha.c:36,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/caps-joins-alpha.c:41,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/caps-joins-alpha.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 43
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 43
    functionName: make_path
    functionSourceFile: /src/cairo/test/caps-joins-alpha.c
    functionUses: []
    functionsReached:
    - cairo_rel_line_to
    - cairo_move_to
    - cairo_close_path
    linkageType: ''
    returnType: void
    signature: 'static void make_path (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/caps-joins-alpha.c:54,1
    - Dst: cairo_translate
      Src: /src/cairo/test/caps-joins-alpha.c:55,1
    - Dst: cairo_translate
      Src: /src/cairo/test/caps-joins-alpha.c:72,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/caps-joins-alpha.c:58,1
    - Dst: cairo_translate
      Src: /src/cairo/test/caps-joins-alpha.c:63,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/caps-joins-alpha.c:68,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/caps-joins-alpha.c:75,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/caps-joins-alpha.c:67,1
    - Dst: cairo_test_paint_checkered
      Src: /src/cairo/test/caps-joins-alpha.c:49,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/caps-joins-alpha.c:59,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/caps-joins-alpha.c:60,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/caps-joins-alpha.c:66,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/caps-joins-alpha.c:70,1
    - Dst: make_path
      Src: /src/cairo/test/caps-joins-alpha.c:65,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/caps-joins-alpha.c:76,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/caps-joins-alpha.c:77,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/caps-joins-alpha.c:52,1
    - Dst: make_path
      Src: /src/cairo/test/caps-joins-alpha.c:57,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/caps-joins-alpha.c:62,1
    - Dst: make_path
      Src: /src/cairo/test/caps-joins-alpha.c:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 80
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 80
    functionName: draw
    functionSourceFile: /src/cairo/test/caps-joins-alpha.c
    functionUses: []
    functionsReached:
    - cairo_set_source_rgba
    - cairo_set_line_width
    - cairo_test_paint_checkered
    - make_path
    - cairo_set_line_join
    - cairo_stroke
    - cairo_set_line_cap
    - cairo_translate
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/test/paint-source-alpha.c:40,1
    - Dst: cairo_test_paint_checkered
      Src: /src/cairo/test/paint-source-alpha.c:43,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/paint-source-alpha.c:47,1
    - Dst: cairo_pattern_set_filter
      Src: /src/cairo/test/paint-source-alpha.c:48,1
    - Dst: cairo_scale
      Src: /src/cairo/test/paint-source-alpha.c:45,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/paint-source-alpha.c:48,1
    - Dst: cairo_paint
      Src: /src/cairo/test/paint-source-alpha.c:49,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/paint-source-alpha.c:51,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/paint-source-alpha.c:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 55
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 55
    functionName: draw
    functionSourceFile: /src/cairo/test/paint-source-alpha.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_surface_finish
    - cairo_pattern_set_filter
    - cairo_test_paint_checkered
    - cairo_image_surface_create_for_data
    - cairo_get_source
    - cairo_surface_destroy
    - cairo_scale
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_move_to
      Src: /src/cairo/test/joins-star.c:37,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/joins-star.c:41,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/joins-star.c:40,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/joins-star.c:39,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/joins-star.c:38,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/joins-star.c:42,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/joins-star.c:43,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/joins-star.c:44,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/joins-star.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 46
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 46
    functionName: make_path
    functionSourceFile: /src/cairo/test/joins-star.c
    functionUses: []
    functionsReached:
    - cairo_line_to
    - cairo_move_to
    - cairo_close_path
    linkageType: ''
    returnType: void
    signature: 'static void make_path (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/test/joins-star.c:51,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/joins-star.c:55,1
    - Dst: make_path
      Src: /src/cairo/test/joins-star.c:54,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/joins-star.c:56,1
    - Dst: cairo_translate
      Src: /src/cairo/test/joins-star.c:52,1
    - Dst: cairo_translate
      Src: /src/cairo/test/joins-star.c:57,1
    - Dst: make_path
      Src: /src/cairo/test/joins-star.c:59,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/joins-star.c:60,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/joins-star.c:61,1
    - Dst: cairo_translate
      Src: /src/cairo/test/joins-star.c:62,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/joins-star.c:65,1
    - Dst: cairo_translate
      Src: /src/cairo/test/joins-star.c:67,1
    - Dst: make_path
      Src: /src/cairo/test/joins-star.c:64,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/joins-star.c:66,1
    - Dst: cairo_restore
      Src: /src/cairo/test/joins-star.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 70
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 70
    functionName: draw_joins
    functionSourceFile: /src/cairo/test/joins-star.c
    functionUses: []
    functionsReached:
    - make_path
    - cairo_save
    - cairo_set_line_join
    - cairo_stroke
    - cairo_restore
    - cairo_translate
    linkageType: ''
    returnType: void
    signature: 'static void draw_joins (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/joins-star.c:75,1
    - Dst: draw_joins
      Src: /src/cairo/test/joins-star.c:81,1
    - Dst: cairo_paint
      Src: /src/cairo/test/joins-star.c:76,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/joins-star.c:78,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/joins-star.c:79,1
    - Dst: cairo_translate
      Src: /src/cairo/test/joins-star.c:84,1
    - Dst: cairo_scale
      Src: /src/cairo/test/joins-star.c:85,1
    - Dst: draw_joins
      Src: /src/cairo/test/joins-star.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 90
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 90
    functionName: draw
    functionSourceFile: /src/cairo/test/joins-star.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_line_width
    - cairo_set_source_rgb
    - cairo_scale
    - draw_joins
    - cairo_translate
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/degenerate-arcs.c:33,1
    - Dst: cairo_paint
      Src: /src/cairo/test/degenerate-arcs.c:34,1
    - Dst: cairo_arc
      Src: /src/cairo/test/degenerate-arcs.c:42,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/degenerate-arcs.c:36,1
    - Dst: cairo_arc
      Src: /src/cairo/test/degenerate-arcs.c:41,1
    - Dst: cairo_arc
      Src: /src/cairo/test/degenerate-arcs.c:43,1
    - Dst: cairo_arc
      Src: /src/cairo/test/degenerate-arcs.c:44,1
    - Dst: cairo_fill
      Src: /src/cairo/test/degenerate-arcs.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 49
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 49
    functionName: draw
    functionSourceFile: /src/cairo/test/degenerate-arcs.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_arc
    - cairo_fill
    - cairo_set_source_rgb
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/test/clip-fill-rule-pixel-aligned.c:33,1
    - Dst: cairo_scale
      Src: /src/cairo/test/clip-fill-rule-pixel-aligned.c:35,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/clip-fill-rule-pixel-aligned.c:36,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/clip-fill-rule-pixel-aligned.c:38,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/clip-fill-rule-pixel-aligned.c:37,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/clip-fill-rule-pixel-aligned.c:39,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/clip-fill-rule-pixel-aligned.c:40,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/clip-fill-rule-pixel-aligned.c:41,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/clip-fill-rule-pixel-aligned.c:42,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/clip-fill-rule-pixel-aligned.c:43,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/clip-fill-rule-pixel-aligned.c:45,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/clip-fill-rule-pixel-aligned.c:46,1
    - Dst: cairo_restore
      Src: /src/cairo/test/clip-fill-rule-pixel-aligned.c:49,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/clip-fill-rule-pixel-aligned.c:44,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/clip-fill-rule-pixel-aligned.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 50
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 50
    functionName: pixel_aligned_path
    functionSourceFile: /src/cairo/test/clip-fill-rule-pixel-aligned.c
    functionUses: []
    functionsReached:
    - cairo_rel_line_to
    - cairo_save
    - cairo_close_path
    - cairo_scale
    - cairo_restore
    - cairo_move_to
    linkageType: ''
    returnType: void
    signature: 'static void pixel_aligned_path (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-fill-rule-pixel-aligned.c:56,1
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/test/clip-fill-rule-pixel-aligned.c:63,1
    - Dst: cairo_save
      Src: /src/cairo/test/clip-fill-rule-pixel-aligned.c:60,1
    - Dst: cairo_translate
      Src: /src/cairo/test/clip-fill-rule-pixel-aligned.c:58,1
    - Dst: pixel_aligned_path
      Src: /src/cairo/test/clip-fill-rule-pixel-aligned.c:62,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-fill-rule-pixel-aligned.c:64,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-fill-rule-pixel-aligned.c:65,1
    - Dst: cairo_restore
      Src: /src/cairo/test/clip-fill-rule-pixel-aligned.c:67,1
    - Dst: cairo_translate
      Src: /src/cairo/test/clip-fill-rule-pixel-aligned.c:69,1
    - Dst: cairo_save
      Src: /src/cairo/test/clip-fill-rule-pixel-aligned.c:71,1
    - Dst: cairo_restore
      Src: /src/cairo/test/clip-fill-rule-pixel-aligned.c:78,1
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/test/clip-fill-rule-pixel-aligned.c:74,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-fill-rule-pixel-aligned.c:75,1
    - Dst: pixel_aligned_path
      Src: /src/cairo/test/clip-fill-rule-pixel-aligned.c:73,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-fill-rule-pixel-aligned.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 81
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 81
    functionName: draw
    functionSourceFile: /src/cairo/test/clip-fill-rule-pixel-aligned.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_clip
    - cairo_set_source_rgb
    - cairo_save
    - cairo_restore
    - cairo_translate
    - cairo_set_fill_rule
    - pixel_aligned_path
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-stroke.c:34,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-stroke.c:36,1
    - Dst: cairo_arc
      Src: /src/cairo/test/clip-stroke.c:41,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/clip-stroke.c:59,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-stroke.c:33,1
    - Dst: cairo_arc
      Src: /src/cairo/test/clip-stroke.c:37,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/clip-stroke.c:44,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-stroke.c:46,1
    - Dst: cairo_translate
      Src: /src/cairo/test/clip-stroke.c:50,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/clip-stroke.c:52,1
    - Dst: cairo_rotate
      Src: /src/cairo/test/clip-stroke.c:49,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/clip-stroke.c:42,1
    - Dst: cairo_restore
      Src: /src/cairo/test/clip-stroke.c:53,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-stroke.c:55,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/clip-stroke.c:56,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-stroke.c:57,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-stroke.c:58,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/clip-stroke.c:38,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-stroke.c:40,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-stroke.c:43,1
    - Dst: cairo_translate
      Src: /src/cairo/test/clip-stroke.c:48,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-stroke.c:51,1
    - Dst: cairo_save
      Src: /src/cairo/test/clip-stroke.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 60
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 60
    functionName: shapes
    functionSourceFile: /src/cairo/test/clip-stroke.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_line_to
    - cairo_arc
    - cairo_save
    - cairo_stroke
    - cairo_restore
    - cairo_rotate
    - cairo_set_source_rgb
    - cairo_translate
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void shapes (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-stroke.c:65,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-stroke.c:72,1
    - Dst: cairo_restore
      Src: /src/cairo/test/clip-stroke.c:75,1
    - Dst: cairo_translate
      Src: /src/cairo/test/clip-stroke.c:77,1
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/test/clip-stroke.c:90,1
    - Dst: cairo_translate
      Src: /src/cairo/test/clip-stroke.c:86,1
    - Dst: shapes
      Src: /src/cairo/test/clip-stroke.c:95,1
    - Dst: cairo_save
      Src: /src/cairo/test/clip-stroke.c:80,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-stroke.c:82,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-stroke.c:92,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-stroke.c:93,1
    - Dst: cairo_restore
      Src: /src/cairo/test/clip-stroke.c:96,1
    - Dst: cairo_translate
      Src: /src/cairo/test/clip-stroke.c:98,1
    - Dst: cairo_new_sub_path
      Src: /src/cairo/test/clip-stroke.c:103,1
    - Dst: cairo_arc_negative
      Src: /src/cairo/test/clip-stroke.c:104,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-stroke.c:107,1
    - Dst: cairo_restore
      Src: /src/cairo/test/clip-stroke.c:109,1
    - Dst: cairo_save
      Src: /src/cairo/test/clip-stroke.c:71,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-stroke.c:73,1
    - Dst: cairo_save
      Src: /src/cairo/test/clip-stroke.c:89,1
    - Dst: shapes
      Src: /src/cairo/test/clip-stroke.c:83,1
    - Dst: cairo_save
      Src: /src/cairo/test/clip-stroke.c:101,1
    - Dst: shapes
      Src: /src/cairo/test/clip-stroke.c:108,1
    - Dst: cairo_translate
      Src: /src/cairo/test/clip-stroke.c:68,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-stroke.c:66,1
    - Dst: shapes
      Src: /src/cairo/test/clip-stroke.c:74,1
    - Dst: cairo_restore
      Src: /src/cairo/test/clip-stroke.c:84,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-stroke.c:91,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-stroke.c:81,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-stroke.c:94,1
    - Dst: cairo_arc
      Src: /src/cairo/test/clip-stroke.c:102,1
    - Dst: cairo_new_sub_path
      Src: /src/cairo/test/clip-stroke.c:105,1
    - Dst: cairo_arc
      Src: /src/cairo/test/clip-stroke.c:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 38
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 112
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 112
    functionName: draw
    functionSourceFile: /src/cairo/test/clip-stroke.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_new_sub_path
    - cairo_set_source_rgb
    - cairo_arc
    - cairo_save
    - cairo_restore
    - shapes
    - cairo_translate
    - cairo_set_fill_rule
    - cairo_clip
    - cairo_arc_negative
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_translate
      Src: /src/cairo/test/rectilinear-dash.c:45,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rectilinear-dash.c:52,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rectilinear-dash.c:69,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-dash.c:70,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-dash.c:71,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-dash.c:66,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-dash.c:67,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rectilinear-dash.c:73,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-dash.c:74,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-dash.c:75,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rectilinear-dash.c:113,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-dash.c:122,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-dash.c:118,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rectilinear-dash.c:121,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rectilinear-dash.c:58,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-dash.c:59,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rectilinear-dash.c:61,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-dash.c:62,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rectilinear-dash.c:65,1
    - Dst: cairo_set_dash
      Src: /src/cairo/test/rectilinear-dash.c:85,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-dash.c:111,1
    - Dst: cairo_restore
      Src: /src/cairo/test/rectilinear-dash.c:132,1
    - Dst: cairo_set_dash
      Src: /src/cairo/test/rectilinear-dash.c:128,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/rectilinear-dash.c:81,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rectilinear-dash.c:117,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rectilinear-dash.c:77,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rectilinear-dash.c:109,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-dash.c:110,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/rectilinear-dash.c:129,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/rectilinear-dash.c:44,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-dash.c:78,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-dash.c:79,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rectilinear-dash.c:96,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-dash.c:97,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rectilinear-dash.c:99,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-dash.c:100,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rectilinear-dash.c:102,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-dash.c:103,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/rectilinear-dash.c:130,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-dash.c:115,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/rectilinear-dash.c:125,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-dash.c:106,1
    - Dst: cairo_set_dash
      Src: /src/cairo/test/rectilinear-dash.c:92,1
    - Dst: cairo_save
      Src: /src/cairo/test/rectilinear-dash.c:40,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/rectilinear-dash.c:48,1
    - Dst: cairo_set_dash
      Src: /src/cairo/test/rectilinear-dash.c:42,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-dash.c:53,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rectilinear-dash.c:55,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-dash.c:56,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/rectilinear-dash.c:84,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/rectilinear-dash.c:86,1
    - Dst: cairo_translate
      Src: /src/cairo/test/rectilinear-dash.c:88,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/rectilinear-dash.c:91,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-dash.c:123,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-dash.c:114,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rectilinear-dash.c:105,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-dash.c:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 58
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 133
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 133
    functionName: draw_dashes
    functionSourceFile: /src/cairo/test/rectilinear-dash.c
    functionUses: []
    functionsReached:
    - cairo_set_line_width
    - cairo_rel_line_to
    - cairo_set_dash
    - cairo_save
    - cairo_stroke
    - cairo_restore
    - cairo_set_line_cap
    - cairo_translate
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void draw_dashes (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw_dashes
      Src: /src/cairo/test/rectilinear-dash.c:143,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/rectilinear-dash.c:139,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/rectilinear-dash.c:153,1
    - Dst: cairo_translate
      Src: /src/cairo/test/rectilinear-dash.c:154,1
    - Dst: cairo_save
      Src: /src/cairo/test/rectilinear-dash.c:159,1
    - Dst: cairo_save
      Src: /src/cairo/test/rectilinear-dash.c:152,1
    - Dst: cairo_scale
      Src: /src/cairo/test/rectilinear-dash.c:155,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/rectilinear-dash.c:160,1
    - Dst: cairo_translate
      Src: /src/cairo/test/rectilinear-dash.c:161,1
    - Dst: cairo_scale
      Src: /src/cairo/test/rectilinear-dash.c:162,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/rectilinear-dash.c:142,1
    - Dst: cairo_paint
      Src: /src/cairo/test/rectilinear-dash.c:140,1
    - Dst: cairo_restore
      Src: /src/cairo/test/rectilinear-dash.c:150,1
    - Dst: cairo_restore
      Src: /src/cairo/test/rectilinear-dash.c:157,1
    - Dst: cairo_restore
      Src: /src/cairo/test/rectilinear-dash.c:164,1
    - Dst: cairo_save
      Src: /src/cairo/test/rectilinear-dash.c:145,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/rectilinear-dash.c:146,1
    - Dst: cairo_translate
      Src: /src/cairo/test/rectilinear-dash.c:147,1
    - Dst: cairo_scale
      Src: /src/cairo/test/rectilinear-dash.c:148,1
    - Dst: draw_dashes
      Src: /src/cairo/test/rectilinear-dash.c:149,1
    - Dst: draw_dashes
      Src: /src/cairo/test/rectilinear-dash.c:156,1
    - Dst: draw_dashes
      Src: /src/cairo/test/rectilinear-dash.c:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 167
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 167
    functionName: draw
    functionSourceFile: /src/cairo/test/rectilinear-dash.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgb
    - cairo_save
    - draw_dashes
    - cairo_scale
    - cairo_restore
    - cairo_translate
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_move_to
      Src: /src/cairo/test/bug-seams.c:54,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/bug-seams.c:56,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/bug-seams.c:55,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/bug-seams.c:57,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/bug-seams.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 9
    argNames:
    - cr
    - x1
    - y1
    - x2
    - y2
    - x3
    - y3
    - x4
    - y4
    argTypes:
    - cairo_t*
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: draw_quad
    functionSourceFile: /src/cairo/test/bug-seams.c
    functionUses: []
    functionsReached:
    - cairo_line_to
    - cairo_move_to
    - cairo_close_path
    linkageType: ''
    returnType: void
    signature: "static void draw_quad (cairo_t *cr,\t double x1, double y1, double\
      \ x2, double y2,\t double x3, double y3, double x4, double y4) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_translate
      Src: /src/cairo/test/bug-seams.c:68,1
    - Dst: cairo_push_group
      Src: /src/cairo/test/bug-seams.c:73,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/bug-seams.c:76,1
    - Dst: cairo_fill
      Src: /src/cairo/test/bug-seams.c:82,1
    - Dst: cairo_paint
      Src: /src/cairo/test/bug-seams.c:92,1
    - Dst: cairo_translate
      Src: /src/cairo/test/bug-seams.c:96,1
    - Dst: cairo_pop_group_to_source
      Src: /src/cairo/test/bug-seams.c:90,1
    - Dst: cairo_scale
      Src: /src/cairo/test/bug-seams.c:67,1
    - Dst: cairo_paint
      Src: /src/cairo/test/bug-seams.c:65,1
    - Dst: draw_quad
      Src: /src/cairo/test/bug-seams.c:83,1
    - Dst: draw_quad
      Src: /src/cairo/test/bug-seams.c:99,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/bug-seams.c:98,1
    - Dst: cairo_fill
      Src: /src/cairo/test/bug-seams.c:109,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/bug-seams.c:64,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/bug-seams.c:74,1
    - Dst: draw_quad
      Src: /src/cairo/test/bug-seams.c:77,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/bug-seams.c:91,1
    - Dst: cairo_fill
      Src: /src/cairo/test/bug-seams.c:88,1
    - Dst: draw_quad
      Src: /src/cairo/test/bug-seams.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 112
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 112
    functionName: draw
    functionSourceFile: /src/cairo/test/bug-seams.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - draw_quad
    - cairo_set_source_rgb
    - cairo_pop_group_to_source
    - cairo_scale
    - cairo_set_operator
    - cairo_fill
    - cairo_translate
    - cairo_push_group
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/subsurface-pad.c:58,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/subsurface-pad.c:63,1
    - Dst: cairo_fill
      Src: /src/cairo/test/subsurface-pad.c:65,1
    - Dst: cairo_paint
      Src: /src/cairo/test/subsurface-pad.c:34,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/subsurface-pad.c:43,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/subsurface-pad.c:55,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/subsurface-pad.c:47,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/subsurface-pad.c:51,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/subsurface-pad.c:58,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/subsurface-pad.c:62,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/subsurface-pad.c:62,1
    - Dst: cairo_create
      Src: /src/cairo/test/subsurface-pad.c:39,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/subsurface-pad.c:59,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/subsurface-pad.c:64,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/subsurface-pad.c:54,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/subsurface-pad.c:33,1
    - Dst: cairo_surface_create_for_rectangle
      Src: /src/cairo/test/subsurface-pad.c:37,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/subsurface-pad.c:37,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/subsurface-pad.c:40,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/subsurface-pad.c:42,1
    - Dst: cairo_fill
      Src: /src/cairo/test/subsurface-pad.c:44,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/subsurface-pad.c:46,1
    - Dst: cairo_fill
      Src: /src/cairo/test/subsurface-pad.c:56,1
    - Dst: cairo_fill
      Src: /src/cairo/test/subsurface-pad.c:48,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/subsurface-pad.c:50,1
    - Dst: cairo_fill
      Src: /src/cairo/test/subsurface-pad.c:52,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 68
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 68
    functionName: draw
    functionSourceFile: /src/cairo/test/subsurface-pad.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_surface_create_for_rectangle
    - cairo_get_source
    - cairo_create
    - cairo_surface_destroy
    - cairo_pattern_set_extend
    - cairo_get_target
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_destroy
    - cairo_set_source_surface
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sin
      Src: /src/cairo/test/mesh-pattern-conical.c:57,1
    - Dst: tan
      Src: /src/cairo/test/mesh-pattern-conical.c:62,1
    - Dst: cos
      Src: /src/cairo/test/mesh-pattern-conical.c:58,1
    - Dst: cos
      Src: /src/cairo/test/mesh-pattern-conical.c:60,1
    - Dst: sin
      Src: /src/cairo/test/mesh-pattern-conical.c:59,1
    - Dst: cairo_mesh_pattern_begin_patch
      Src: /src/cairo/test/mesh-pattern-conical.c:64,1
    - Dst: cairo_mesh_pattern_move_to
      Src: /src/cairo/test/mesh-pattern-conical.c:66,1
    - Dst: cairo_mesh_pattern_line_to
      Src: /src/cairo/test/mesh-pattern-conical.c:67,1
    - Dst: cairo_mesh_pattern_curve_to
      Src: /src/cairo/test/mesh-pattern-conical.c:71,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgb
      Src: /src/cairo/test/mesh-pattern-conical.c:79,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgb
      Src: /src/cairo/test/mesh-pattern-conical.c:81,1
    - Dst: cairo_mesh_pattern_end_patch
      Src: /src/cairo/test/mesh-pattern-conical.c:83,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgb
      Src: /src/cairo/test/mesh-pattern-conical.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 43
    argCount: 9
    argNames:
    - pattern
    - angle_A
    - A_r
    - A_g
    - A_b
    - angle_B
    - B_r
    - B_g
    - B_b
    argTypes:
    - cairo_pattern_t*
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 84
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 84
    functionName: sector_patch
    functionSourceFile: /src/cairo/test/mesh-pattern-conical.c
    functionUses: []
    functionsReached:
    - cairo_mesh_pattern_move_to
    - cairo_mesh_pattern_begin_patch
    - cos
    - cairo_mesh_pattern_curve_to
    - tan
    - cairo_mesh_pattern_end_patch
    - cairo_mesh_pattern_line_to
    - cairo_mesh_pattern_set_corner_color_rgb
    - sin
    linkageType: ''
    returnType: void
    signature: "static void sector_patch (cairo_pattern_t *pattern,\t double angle_A,\t\
      \ double A_r, double A_g, double A_b,\t double angle_B,\t double B_r, double\
      \ B_g, double B_b) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/mesh-pattern-conical.c:91,1
    - Dst: cairo_paint
      Src: /src/cairo/test/mesh-pattern-conical.c:92,1
    - Dst: cairo_translate
      Src: /src/cairo/test/mesh-pattern-conical.c:94,1
    - Dst: cairo_pattern_create_mesh
      Src: /src/cairo/test/mesh-pattern-conical.c:96,1
    - Dst: sector_patch
      Src: /src/cairo/test/mesh-pattern-conical.c:97,1
    - Dst: sector_patch
      Src: /src/cairo/test/mesh-pattern-conical.c:100,1
    - Dst: sector_patch
      Src: /src/cairo/test/mesh-pattern-conical.c:103,1
    - Dst: sector_patch
      Src: /src/cairo/test/mesh-pattern-conical.c:106,1
    - Dst: sector_patch
      Src: /src/cairo/test/mesh-pattern-conical.c:109,1
    - Dst: sector_patch
      Src: /src/cairo/test/mesh-pattern-conical.c:112,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/mesh-pattern-conical.c:122,1
    - Dst: sector_patch
      Src: /src/cairo/test/mesh-pattern-conical.c:115,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/mesh-pattern-conical.c:124,1
    - Dst: sector_patch
      Src: /src/cairo/test/mesh-pattern-conical.c:118,1
    - Dst: cairo_paint
      Src: /src/cairo/test/mesh-pattern-conical.c:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 38
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 127
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 127
    functionName: draw
    functionSourceFile: /src/cairo/test/mesh-pattern-conical.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgb
    - sector_patch
    - cairo_set_source
    - cairo_pattern_create_mesh
    - cairo_translate
    - cairo_pattern_destroy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/partial-clip-text.c:33,1
    - Dst: cairo_paint
      Src: /src/cairo/test/partial-clip-text.c:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: background
    functionSourceFile: /src/cairo/test/partial-clip-text.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgb
    linkageType: ''
    returnType: void
    signature: 'static void background (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: background
      Src: /src/cairo/test/partial-clip-text.c:47,1
    - Dst: cairo_clip
      Src: /src/cairo/test/partial-clip-text.c:50,1
    - Dst: text
      Src: /src/cairo/test/partial-clip-text.c:52,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/partial-clip-text.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: top
    functionSourceFile: /src/cairo/test/partial-clip-text.c
    functionUses: []
    functionsReached:
    - background
    - cairo_clip
    - text
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t top (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: background
      Src: /src/cairo/test/partial-clip-text.c:73,1
    - Dst: cairo_clip
      Src: /src/cairo/test/partial-clip-text.c:76,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/partial-clip-text.c:75,1
    - Dst: text
      Src: /src/cairo/test/partial-clip-text.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 81
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 81
    functionName: left
    functionSourceFile: /src/cairo/test/partial-clip-text.c
    functionUses: []
    functionsReached:
    - background
    - cairo_clip
    - text
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t left (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_move_to
      Src: /src/cairo/test/partial-clip-text.c:39,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/partial-clip-text.c:41,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/partial-clip-text.c:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: text
    functionSourceFile: /src/cairo/test/partial-clip-text.c
    functionUses: []
    functionsReached:
    - cairo_move_to
    - cairo_show_text
    - cairo_set_source_rgb
    linkageType: ''
    returnType: void
    signature: 'static void text (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: background
      Src: /src/cairo/test/partial-clip-text.c:60,1
    - Dst: cairo_clip
      Src: /src/cairo/test/partial-clip-text.c:63,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/partial-clip-text.c:62,1
    - Dst: text
      Src: /src/cairo/test/partial-clip-text.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 68
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 68
    functionName: bottom
    functionSourceFile: /src/cairo/test/partial-clip-text.c
    functionUses: []
    functionsReached:
    - background
    - cairo_clip
    - text
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t bottom (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: background
      Src: /src/cairo/test/partial-clip-text.c:86,1
    - Dst: cairo_clip
      Src: /src/cairo/test/partial-clip-text.c:89,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/partial-clip-text.c:88,1
    - Dst: text
      Src: /src/cairo/test/partial-clip-text.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 94
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 94
    functionName: right
    functionSourceFile: /src/cairo/test/partial-clip-text.c
    functionUses: []
    functionsReached:
    - background
    - cairo_clip
    - text
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t right (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_move_to
      Src: /src/cairo/test/unantialiased-shapes.c:31,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/unantialiased-shapes.c:34,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/unantialiased-shapes.c:32,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/unantialiased-shapes.c:35,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/unantialiased-shapes.c:33,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/unantialiased-shapes.c:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: big_star_path
    functionSourceFile: /src/cairo/test/unantialiased-shapes.c
    functionUses: []
    functionsReached:
    - cairo_rel_line_to
    - cairo_move_to
    - cairo_close_path
    linkageType: ''
    returnType: void
    signature: 'static void big_star_path (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/unantialiased-shapes.c:44,1
    - Dst: cairo_set_antialias
      Src: /src/cairo/test/unantialiased-shapes.c:47,1
    - Dst: cairo_clip
      Src: /src/cairo/test/unantialiased-shapes.c:56,1
    - Dst: cairo_fill
      Src: /src/cairo/test/unantialiased-shapes.c:59,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/unantialiased-shapes.c:66,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/unantialiased-shapes.c:65,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/unantialiased-shapes.c:85,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/unantialiased-shapes.c:84,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/unantialiased-shapes.c:51,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/unantialiased-shapes.c:69,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/unantialiased-shapes.c:68,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/unantialiased-shapes.c:75,1
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/test/unantialiased-shapes.c:77,1
    - Dst: cairo_paint
      Src: /src/cairo/test/unantialiased-shapes.c:45,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/unantialiased-shapes.c:58,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/unantialiased-shapes.c:86,1
    - Dst: cairo_arc
      Src: /src/cairo/test/unantialiased-shapes.c:50,1
    - Dst: cairo_fill
      Src: /src/cairo/test/unantialiased-shapes.c:52,1
    - Dst: cairo_arc
      Src: /src/cairo/test/unantialiased-shapes.c:55,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/unantialiased-shapes.c:57,1
    - Dst: cairo_reset_clip
      Src: /src/cairo/test/unantialiased-shapes.c:62,1
    - Dst: cairo_translate
      Src: /src/cairo/test/unantialiased-shapes.c:74,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/unantialiased-shapes.c:70,1
    - Dst: big_star_path
      Src: /src/cairo/test/unantialiased-shapes.c:76,1
    - Dst: cairo_fill
      Src: /src/cairo/test/unantialiased-shapes.c:78,1
    - Dst: cairo_translate
      Src: /src/cairo/test/unantialiased-shapes.c:79,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/unantialiased-shapes.c:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 45
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 90
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 90
    functionName: draw
    functionSourceFile: /src/cairo/test/unantialiased-shapes.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_line_width
    - cairo_line_to
    - cairo_curve_to
    - cairo_arc
    - big_star_path
    - cairo_set_fill_rule
    - cairo_stroke
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_translate
    - cairo_clip
    - cairo_reset_clip
    - cairo_move_to
    - cairo_set_antialias
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/xcb-huge-image-shm.c:39,1
    - Dst: cairo_test_paint_checkered
      Src: /src/cairo/test/xcb-huge-image-shm.c:45,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/xcb-huge-image-shm.c:39,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/xcb-huge-image-shm.c:46,1
    - Dst: cairo_create
      Src: /src/cairo/test/xcb-huge-image-shm.c:44,1
    - Dst: cairo_surface_map_to_image
      Src: /src/cairo/test/xcb-huge-image-shm.c:50,1
    - Dst: cairo_surface_unmap_image
      Src: /src/cairo/test/xcb-huge-image-shm.c:51,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/xcb-huge-image-shm.c:54,1
    - Dst: cairo_paint
      Src: /src/cairo/test/xcb-huge-image-shm.c:55,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/xcb-huge-image-shm.c:56,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 59
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 59
    functionName: draw
    functionSourceFile: /src/cairo/test/xcb-huge-image-shm.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_test_paint_checkered
    - cairo_create
    - cairo_surface_destroy
    - cairo_get_target
    - cairo_surface_unmap_image
    - cairo_destroy
    - cairo_surface_create_similar
    - cairo_surface_map_to_image
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_rotate
      Src: /src/cairo/test/pixman-rotate.c:57,1
    - Dst: cairo_translate
      Src: /src/cairo/test/pixman-rotate.c:59,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/pixman-rotate.c:76,1
    - Dst: cairo_paint
      Src: /src/cairo/test/pixman-rotate.c:81,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/pixman-rotate.c:51,1
    - Dst: cairo_fill
      Src: /src/cairo/test/pixman-rotate.c:53,1
    - Dst: cairo_get_group_target
      Src: /src/cairo/test/pixman-rotate.c:62,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/pixman-rotate.c:68,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/pixman-rotate.c:70,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/pixman-rotate.c:74,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/pixman-rotate.c:78,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/pixman-rotate.c:78,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/pixman-rotate.c:79,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/pixman-rotate.c:50,1
    - Dst: cairo_translate
      Src: /src/cairo/test/pixman-rotate.c:56,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/pixman-rotate.c:66,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/pixman-rotate.c:73,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/pixman-rotate.c:75,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/pixman-rotate.c:52,1
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/pixman-rotate.c:62,1
    - Dst: cairo_create
      Src: /src/cairo/test/pixman-rotate.c:65,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/pixman-rotate.c:69,1
    - Dst: cairo_fill
      Src: /src/cairo/test/pixman-rotate.c:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 84
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 84
    functionName: draw
    functionSourceFile: /src/cairo/test/pixman-rotate.c
    functionUses: []
    functionsReached:
    - cairo_get_group_target
    - cairo_paint
    - cairo_set_source_rgba
    - cairo_new_path
    - cairo_set_line_width
    - cairo_set_source_rgb
    - cairo_destroy
    - cairo_create
    - cairo_surface_destroy
    - cairo_stroke
    - cairo_get_target
    - cairo_fill
    - cairo_translate
    - cairo_rotate
    - cairo_surface_create_similar
    - cairo_set_source_surface
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/twin-antialias-none.c:38,1
    - Dst: cairo_set_font_options
      Src: /src/cairo/test/twin-antialias-none.c:45,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/twin-antialias-none.c:50,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/twin-antialias-none.c:51,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/twin-antialias-none.c:59,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/twin-antialias-none.c:34,1
    - Dst: cairo_paint
      Src: /src/cairo/test/twin-antialias-none.c:33,1
    - Dst: cairo_font_options_create
      Src: /src/cairo/test/twin-antialias-none.c:43,1
    - Dst: cairo_font_options_set_antialias
      Src: /src/cairo/test/twin-antialias-none.c:44,1
    - Dst: cairo_text_path
      Src: /src/cairo/test/twin-antialias-none.c:58,1
    - Dst: cairo_set_antialias
      Src: /src/cairo/test/twin-antialias-none.c:36,1
    - Dst: cairo_font_options_destroy
      Src: /src/cairo/test/twin-antialias-none.c:46,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/twin-antialias-none.c:48,1
    - Dst: cairo_text_path
      Src: /src/cairo/test/twin-antialias-none.c:54,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/twin-antialias-none.c:57,1
    - Dst: cairo_fill
      Src: /src/cairo/test/twin-antialias-none.c:55,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/twin-antialias-none.c:53,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/twin-antialias-none.c:60,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/twin-antialias-none.c:32,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 63
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 63
    functionName: draw
    functionSourceFile: /src/cairo/test/twin-antialias-none.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_font_options_set_antialias
    - cairo_set_font_options
    - cairo_font_options_destroy
    - cairo_font_options_create
    - cairo_show_text
    - cairo_set_line_width
    - cairo_set_font_size
    - cairo_text_path
    - cairo_stroke
    - cairo_select_font_face
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_move_to
    - cairo_set_antialias
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-complex-bug61592.c:31,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-complex-bug61592.c:32,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-complex-bug61592.c:36,1
    - Dst: cairo_set_antialias
      Src: /src/cairo/test/clip-complex-bug61592.c:34,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/clip-complex-bug61592.c:35,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-complex-bug61592.c:37,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/clip-complex-bug61592.c:38,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-complex-bug61592.c:39,1
    - Dst: cairo_set_antialias
      Src: /src/cairo/test/clip-complex-bug61592.c:41,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/clip-complex-bug61592.c:42,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/clip-complex-bug61592.c:45,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-complex-bug61592.c:48,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-complex-bug61592.c:49,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-complex-bug61592.c:44,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-complex-bug61592.c:46,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-complex-bug61592.c:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 52
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 52
    functionName: draw
    functionSourceFile: /src/cairo/test/clip-complex-bug61592.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_line_to
    - cairo_close_path
    - cairo_set_source_rgb
    - cairo_clip
    - cairo_move_to
    - cairo_set_antialias
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: cairo_font_options_status
      Src: /src/cairo/test/font-variations.c:85,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/font-variations.c:105,1
    - Dst: strcmp
      Src: /src/cairo/test/font-variations.c:108,1
    - Dst: FT_Get_Var_Design_Coordinates
      Src: /src/cairo/test/font-variations.c:119,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/font-variations.c:121,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/font-variations.c:127,1
    - Dst: cairo_font_options_destroy
      Src: /src/cairo/test/font-variations.c:154,1
    - Dst: cairo_matrix_init_identity
      Src: /src/cairo/test/font-variations.c:77,1
    - Dst: cairo_font_options_set_variations
      Src: /src/cairo/test/font-variations.c:84,1
    - Dst: cairo_scaled_font_create
      Src: /src/cairo/test/font-variations.c:95,1
    - Dst: cairo_scaled_font_status
      Src: /src/cairo/test/font-variations.c:96,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/font-variations.c:99,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/font-variations.c:86,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/font-variations.c:141,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/font-variations.c:155,1
    - Dst: FloatToFixed
      Src: /src/cairo/test/font-variations.c:140,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/font-variations.c:73,1
    - Dst: cairo_font_face_status
      Src: /src/cairo/test/font-variations.c:69,1
    - Dst: cairo_font_options_create
      Src: /src/cairo/test/font-variations.c:78,1
    - Dst: cairo_font_options_status
      Src: /src/cairo/test/font-variations.c:79,1
    - Dst: strcmp
      Src: /src/cairo/test/font-variations.c:90,1
    - Dst: cairo_font_options_get_variations
      Src: /src/cairo/test/font-variations.c:90,1
    - Dst: FT_MAKE_TAG
      Src: /src/cairo/test/font-variations.c:131,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/font-variations.c:134,1
    - Dst: cairo_ft_scaled_font_unlock_face
      Src: /src/cairo/test/font-variations.c:151,1
    - Dst: cairo_scaled_font_destroy
      Src: /src/cairo/test/font-variations.c:153,1
    - Dst: FcPatternBuild
      Src: /src/cairo/test/font-variations.c:65,1
    - Dst: cairo_ft_font_face_create_for_pattern
      Src: /src/cairo/test/font-variations.c:68,1
    - Dst: FcPatternDestroy
      Src: /src/cairo/test/font-variations.c:70,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/font-variations.c:80,1
    - Dst: cairo_ft_scaled_font_lock_face
      Src: /src/cairo/test/font-variations.c:103,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/font-variations.c:91,1
    - Dst: cairo_scaled_font_status
      Src: /src/cairo/test/font-variations.c:104,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/font-variations.c:109,1
    - Dst: FT_Get_MM_Var
      Src: /src/cairo/test/font-variations.c:113,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/font-variations.c:115,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 83
    argCount: 5
    argNames:
    - ctx
    - input
    - tag
    - def
    - expected_value
    argTypes:
    - cairo_test_context_t*
    - char*
    - char*
    - int
    - float
    constantsTouched: []
    func_position:
      end: 161
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 161
    functionName: test_variation
    functionSourceFile: /src/cairo/test/font-variations.c
    functionUses: []
    functionsReached:
    - strcmp
    - FcPatternDestroy
    - cairo_font_options_get_variations
    - cairo_font_options_destroy
    - cairo_font_options_create
    - cairo_ft_scaled_font_lock_face
    - FT_MAKE_TAG
    - FcPatternBuild
    - cairo_ft_font_face_create_for_pattern
    - FT_Get_MM_Var
    - cairo_font_options_set_variations
    - cairo_font_options_status
    - cairo_test_log
    - cairo_scaled_font_status
    - cairo_font_face_destroy
    - cairo_matrix_init_identity
    - cairo_font_face_status
    - cairo_ft_scaled_font_unlock_face
    - FT_Get_Var_Design_Coordinates
    - cairo_scaled_font_destroy
    - cairo_scaled_font_create
    - FloatToFixed
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_variation (cairo_test_context_t *ctx,
      const char *input, const char *tag, int def, float expected_value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_variation
      Src: /src/cairo/test/font-variations.c:183,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - cairo_test_context_t*
    constantsTouched: []
    func_position:
      end: 193
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 193
    functionName: preamble
    functionSourceFile: /src/cairo/test/font-variations.c
    functionUses: []
    functionsReached:
    - test_variation
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t preamble (cairo_test_context_t *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_operator
      Src: /src/cairo/test/over-between-source.c:58,1
    - Dst: cairo_fill
      Src: /src/cairo/test/over-between-source.c:61,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/over-between-source.c:64,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/over-between-source.c:47,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/over-between-source.c:50,1
    - Dst: cairo_fill
      Src: /src/cairo/test/over-between-source.c:53,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/over-between-source.c:65,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/over-between-source.c:67,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/over-between-source.c:70,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/over-between-source.c:45,1
    - Dst: cairo_arc
      Src: /src/cairo/test/over-between-source.c:56,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/over-between-source.c:59,1
    - Dst: cairo_translate
      Src: /src/cairo/test/over-between-source.c:42,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/over-between-source.c:46,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/over-between-source.c:48,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/over-between-source.c:51,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/over-between-source.c:66,1
    - Dst: cairo_fill
      Src: /src/cairo/test/over-between-source.c:72,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/over-between-source.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 36
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 75
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 75
    functionName: draw
    functionSourceFile: /src/cairo/test/over-between-source.c
    functionUses: []
    functionsReached:
    - cairo_set_source_rgba
    - cairo_rel_line_to
    - cairo_arc
    - cairo_close_path
    - cairo_set_operator
    - cairo_fill
    - cairo_translate
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - minval
    - maxval
    argTypes:
    - double
    - double
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: uniform_random
    functionSourceFile: /src/cairo/test/random-intersections-nonzero.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: 'static double uniform_random (double minval, double maxval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/random-intersections-nonzero.c:47,1
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/test/random-intersections-nonzero.c:52,1
    - Dst: cairo_paint
      Src: /src/cairo/test/random-intersections-nonzero.c:48,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/random-intersections-nonzero.c:54,1
    - Dst: cairo_translate
      Src: /src/cairo/test/random-intersections-nonzero.c:51,1
    - Dst: uniform_random
      Src: /src/cairo/test/random-intersections-nonzero.c:56,1
    - Dst: uniform_random
      Src: /src/cairo/test/random-intersections-nonzero.c:57,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/random-intersections-nonzero.c:58,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/random-intersections-nonzero.c:60,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/random-intersections-nonzero.c:62,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/test/random-intersections-nonzero.c:63,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/random-intersections-nonzero.c:66,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/random-intersections-nonzero.c:64,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/random-intersections-nonzero.c:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 69
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 69
    functionName: draw
    functionSourceFile: /src/cairo/test/random-intersections-nonzero.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - uniform_random
    - cairo_set_source_rgb
    - cairo_line_to
    - cairo_set_line_width
    - cairo_close_path
    - cairo_stroke
    - cairo_fill_preserve
    - cairo_translate
    - cairo_set_fill_rule
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/test/rotate-stroke-box.c:31,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/rotate-stroke-box.c:36,1
    - Dst: cairo_restore
      Src: /src/cairo/test/rotate-stroke-box.c:34,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/rotate-stroke-box.c:32,1
    - Dst: cairo_paint
      Src: /src/cairo/test/rotate-stroke-box.c:33,1
    - Dst: cairo_rotate
      Src: /src/cairo/test/rotate-stroke-box.c:37,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/rotate-stroke-box.c:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 41
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 41
    functionName: draw
    functionSourceFile: /src/cairo/test/rotate-stroke-box.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_save
    - cairo_stroke
    - cairo_restore
    - cairo_rotate
    - cairo_set_source_rgb
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_translate
      Src: /src/cairo/test/rectilinear-miter-limit.c:36,1
    - Dst: cairo_paint
      Src: /src/cairo/test/rectilinear-miter-limit.c:40,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/rectilinear-miter-limit.c:39,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/rectilinear-miter-limit.c:43,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/rectilinear-miter-limit.c:41,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/rectilinear-miter-limit.c:44,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/rectilinear-miter-limit.c:54,1
    - Dst: cairo_set_miter_limit
      Src: /src/cairo/test/rectilinear-miter-limit.c:55,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rectilinear-miter-limit.c:57,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-miter-limit.c:58,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/rectilinear-miter-limit.c:61,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rectilinear-miter-limit.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 64
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 64
    functionName: draw
    functionSourceFile: /src/cairo/test/rectilinear-miter-limit.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_line_width
    - cairo_rel_line_to
    - cairo_set_line_join
    - cairo_stroke
    - cairo_set_line_cap
    - cairo_set_source_rgb
    - cairo_translate
    - cairo_set_miter_limit
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_move_to
      Src: /src/cairo/test/bug-535.c:34,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/bug-535.c:35,1
    - Dst: cairo_paint
      Src: /src/cairo/test/bug-535.c:39,1
    - Dst: cairo_fill
      Src: /src/cairo/test/bug-535.c:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 42
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 42
    functionName: draw
    functionSourceFile: /src/cairo/test/bug-535.c
    functionUses: []
    functionsReached:
    - cairo_line_to
    - cairo_paint
    - cairo_move_to
    - cairo_fill
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_paint
      Src: /src/cairo/test/surface-pattern-scale-down.c:40,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/surface-pattern-scale-down.c:44,1
    - Dst: cairo_create
      Src: /src/cairo/test/surface-pattern-scale-down.c:46,1
    - Dst: cairo_paint
      Src: /src/cairo/test/surface-pattern-scale-down.c:76,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/surface-pattern-scale-down.c:47,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/surface-pattern-scale-down.c:49,1
    - Dst: cairo_fill
      Src: /src/cairo/test/surface-pattern-scale-down.c:53,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/surface-pattern-scale-down.c:54,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/surface-pattern-scale-down.c:55,1
    - Dst: cairo_fill
      Src: /src/cairo/test/surface-pattern-scale-down.c:58,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/surface-pattern-scale-down.c:60,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/surface-pattern-scale-down.c:65,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/surface-pattern-scale-down.c:59,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/surface-pattern-scale-down.c:73,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/surface-pattern-scale-down.c:39,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/surface-pattern-scale-down.c:72,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/surface-pattern-scale-down.c:75,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/surface-pattern-scale-down.c:75,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/surface-pattern-scale-down.c:50,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/surface-pattern-scale-down.c:64,1
    - Dst: cairo_fill
      Src: /src/cairo/test/surface-pattern-scale-down.c:68,1
    - Dst: cairo_scale
      Src: /src/cairo/test/surface-pattern-scale-down.c:70,1
    - Dst: cairo_fill
      Src: /src/cairo/test/surface-pattern-scale-down.c:63,1
    - Dst: cairo_rotate
      Src: /src/cairo/test/surface-pattern-scale-down.c:71,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/surface-pattern-scale-down.c:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 40
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 79
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 79
    functionName: draw
    functionSourceFile: /src/cairo/test/surface-pattern-scale-down.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_destroy
    - cairo_get_source
    - cairo_create
    - cairo_surface_destroy
    - cairo_pattern_set_extend
    - cairo_image_surface_create
    - cairo_scale
    - cairo_get_target
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_rotate
    - cairo_set_source_surface
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/test/bug-bo-collins.c:36,1
    - Dst: cairo_paint
      Src: /src/cairo/test/bug-bo-collins.c:48,1
    - Dst: cairo_paint
      Src: /src/cairo/test/bug-bo-collins.c:56,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/bug-bo-collins.c:31,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/bug-bo-collins.c:38,1
    - Dst: cairo_restore
      Src: /src/cairo/test/bug-bo-collins.c:41,1
    - Dst: cairo_translate
      Src: /src/cairo/test/bug-bo-collins.c:43,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/bug-bo-collins.c:45,1
    - Dst: cairo_clip
      Src: /src/cairo/test/bug-bo-collins.c:47,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/bug-bo-collins.c:53,1
    - Dst: cairo_clip
      Src: /src/cairo/test/bug-bo-collins.c:55,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/bug-bo-collins.c:62,1
    - Dst: cairo_restore
      Src: /src/cairo/test/bug-bo-collins.c:65,1
    - Dst: cairo_translate
      Src: /src/cairo/test/bug-bo-collins.c:35,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/bug-bo-collins.c:33,1
    - Dst: cairo_paint
      Src: /src/cairo/test/bug-bo-collins.c:32,1
    - Dst: cairo_paint
      Src: /src/cairo/test/bug-bo-collins.c:40,1
    - Dst: cairo_save
      Src: /src/cairo/test/bug-bo-collins.c:44,1
    - Dst: cairo_save
      Src: /src/cairo/test/bug-bo-collins.c:52,1
    - Dst: cairo_save
      Src: /src/cairo/test/bug-bo-collins.c:60,1
    - Dst: cairo_paint
      Src: /src/cairo/test/bug-bo-collins.c:64,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/bug-bo-collins.c:37,1
    - Dst: cairo_clip
      Src: /src/cairo/test/bug-bo-collins.c:39,1
    - Dst: cairo_restore
      Src: /src/cairo/test/bug-bo-collins.c:49,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/bug-bo-collins.c:46,1
    - Dst: cairo_translate
      Src: /src/cairo/test/bug-bo-collins.c:51,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/bug-bo-collins.c:54,1
    - Dst: cairo_restore
      Src: /src/cairo/test/bug-bo-collins.c:57,1
    - Dst: cairo_translate
      Src: /src/cairo/test/bug-bo-collins.c:59,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/bug-bo-collins.c:61,1
    - Dst: cairo_clip
      Src: /src/cairo/test/bug-bo-collins.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 68
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 68
    functionName: draw
    functionSourceFile: /src/cairo/test/bug-bo-collins.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgb
    - cairo_save
    - cairo_restore
    - cairo_translate
    - cairo_clip
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_get_width
      Src: /src/cairo/test/mask-glyphs.c:47,1
    - Dst: cairo_scaled_font_text_to_glyphs
      Src: /src/cairo/test/mask-glyphs.c:72,1
    - Dst: cairo_image_surface_get_height
      Src: /src/cairo/test/mask-glyphs.c:48,1
    - Dst: cairo_image_surface_get_stride
      Src: /src/cairo/test/mask-glyphs.c:49,1
    - Dst: cairo_image_surface_get_data
      Src: /src/cairo/test/mask-glyphs.c:50,1
    - Dst: cairo_scaled_font_status
      Src: /src/cairo/test/mask-glyphs.c:78,1
    - Dst: assert
      Src: /src/cairo/test/mask-glyphs.c:82,1
    - Dst: assert
      Src: /src/cairo/test/mask-glyphs.c:83,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 59
    argCount: 8
    argNames:
    - image
    - channel
    - level
    - scaled_font
    - tx
    - ty
    - glyphs
    - num_glyphs
    argTypes:
    - cairo_surface_t*
    - int
    - int
    - cairo_scaled_font_t*
    - double
    - double
    - cairo_glyph_t*
    - int*
    constantsTouched: []
    func_position:
      end: 91
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 91
    functionName: _image_to_glyphs
    functionSourceFile: /src/cairo/test/mask-glyphs.c
    functionUses: []
    functionsReached:
    - cairo_image_surface_get_data
    - cairo_scaled_font_status
    - cairo_image_surface_get_height
    - assert
    - cairo_image_surface_get_width
    - cairo_image_surface_get_stride
    - cairo_scaled_font_text_to_glyphs
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _image_to_glyphs (cairo_surface_t *image,\t\t\
      \ int channel,\t\t int level,\t\t cairo_scaled_font_t *scaled_font,\t\t double\
      \ tx, double ty,\t\t cairo_glyph_t *glyphs,\t\t int *num_glyphs) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/mask-glyphs.c:163,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/mask-glyphs.c:167,1
    - Dst: cairo_paint
      Src: /src/cairo/test/mask-glyphs.c:168,1
    - Dst: cairo_test_create_surface_from_png
      Src: /src/cairo/test/mask-glyphs.c:170,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/mask-glyphs.c:171,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/mask-glyphs.c:173,1
    - Dst: _render_image
      Src: /src/cairo/test/mask-glyphs.c:175,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/mask-glyphs.c:176,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/mask-glyphs.c:178,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 179
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 179
    functionName: draw
    functionSourceFile: /src/cairo/test/mask-glyphs.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_test_create_surface_from_png
    - cairo_test_status_from_status
    - cairo_test_get_context
    - _render_image
    - cairo_surface_status
    - cairo_surface_destroy
    - cairo_set_source_rgb
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_get_width
      Src: /src/cairo/test/mask-glyphs.c:115,1
    - Dst: cairo_get_scaled_font
      Src: /src/cairo/test/mask-glyphs.c:126,1
    - Dst: cairo_glyph_allocate
      Src: /src/cairo/test/mask-glyphs.c:118,1
    - Dst: cairo_image_surface_get_height
      Src: /src/cairo/test/mask-glyphs.c:116,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/mask-glyphs.c:125,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/mask-glyphs.c:128,1
    - Dst: cairo_push_group_with_content
      Src: /src/cairo/test/mask-glyphs.c:129,1
    - Dst: _image_to_glyphs
      Src: /src/cairo/test/mask-glyphs.c:134,1
    - Dst: cairo_glyph_free
      Src: /src/cairo/test/mask-glyphs.c:138,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/mask-glyphs.c:142,1
    - Dst: cairo_show_glyphs
      Src: /src/cairo/test/mask-glyphs.c:145,1
    - Dst: cairo_glyph_free
      Src: /src/cairo/test/mask-glyphs.c:156,1
    - Dst: cairo_pop_group
      Src: /src/cairo/test/mask-glyphs.c:147,1
    - Dst: cairo_mask
      Src: /src/cairo/test/mask-glyphs.c:152,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/mask-glyphs.c:153,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/mask-glyphs.c:148,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - image
    argTypes:
    - cairo_t*
    - int
    - int
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 158
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 158
    functionName: _render_image
    functionSourceFile: /src/cairo/test/mask-glyphs.c
    functionUses: []
    functionsReached:
    - cairo_push_group_with_content
    - cairo_get_scaled_font
    - cairo_pop_group
    - cairo_set_source_rgba
    - cairo_show_glyphs
    - ARRAY_LENGTH
    - cairo_set_font_size
    - cairo_glyph_free
    - cairo_image_surface_get_height
    - cairo_mask
    - _image_to_glyphs
    - cairo_set_source_rgb
    - cairo_image_surface_get_width
    - cairo_pattern_destroy
    - cairo_glyph_allocate
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _render_image (cairo_t *cr,\t int width, int\
      \ height,\t cairo_surface_t *image) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/bug-source-cu.c:32,1
    - Dst: cairo_surface_get_content
      Src: /src/cairo/test/bug-source-cu.c:33,1
    - Dst: cairo_create
      Src: /src/cairo/test/bug-source-cu.c:35,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/bug-source-cu.c:36,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/bug-source-cu.c:38,1
    - Dst: cairo_paint
      Src: /src/cairo/test/bug-source-cu.c:39,1
    - Dst: cairo_pattern_create_for_surface
      Src: /src/cairo/test/bug-source-cu.c:41,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/bug-source-cu.c:41,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/bug-source-cu.c:42,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/test/bug-source-cu.c:44,1
    - Dst: cairo_pattern_set_matrix
      Src: /src/cairo/test/bug-source-cu.c:45,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 47
    functionName: create_pattern
    functionSourceFile: /src/cairo/test/bug-source-cu.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_for_surface
    - cairo_paint
    - cairo_create
    - cairo_pattern_set_matrix
    - cairo_surface_destroy
    - cairo_surface_get_content
    - cairo_get_target
    - cairo_set_source_rgb
    - cairo_destroy
    - cairo_surface_create_similar
    - cairo_matrix_init_translate
    linkageType: ''
    returnType: cairo_pattern_t*
    signature: 'static cairo_pattern_t *create_pattern (cairo_surface_t *target) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_operator
      Src: /src/cairo/test/bug-source-cu.c:54,1
    - Dst: cairo_paint
      Src: /src/cairo/test/bug-source-cu.c:57,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/bug-source-cu.c:60,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/bug-source-cu.c:59,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/bug-source-cu.c:56,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/bug-source-cu.c:61,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/bug-source-cu.c:62,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/bug-source-cu.c:63,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/bug-source-cu.c:64,1
    - Dst: create_pattern
      Src: /src/cairo/test/bug-source-cu.c:66,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/bug-source-cu.c:67,1
    - Dst: cairo_fill
      Src: /src/cairo/test/bug-source-cu.c:70,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/bug-source-cu.c:66,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/bug-source-cu.c:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 73
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 73
    functionName: draw
    functionSourceFile: /src/cairo/test/bug-source-cu.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_new_path
    - create_pattern
    - cairo_line_to
    - cairo_pattern_destroy
    - cairo_close_path
    - cairo_set_source
    - cairo_set_operator
    - cairo_get_target
    - cairo_set_source_rgb
    - cairo_fill
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/outline-tolerance.c:33,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/outline-tolerance.c:37,1
    - Dst: cairo_paint
      Src: /src/cairo/test/outline-tolerance.c:34,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/outline-tolerance.c:38,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/outline-tolerance.c:35,1
    - Dst: cairo_set_miter_limit
      Src: /src/cairo/test/outline-tolerance.c:39,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/outline-tolerance.c:40,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/outline-tolerance.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 44
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 44
    functionName: draw
    functionSourceFile: /src/cairo/test/outline-tolerance.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_line_width
    - cairo_set_line_join
    - cairo_stroke
    - cairo_set_source_rgb
    - cairo_set_miter_limit
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_move_to
      Src: /src/cairo/test/arc-direction.c:36,1
    - Dst: cairo_fill
      Src: /src/cairo/test/arc-direction.c:38,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/arc-direction.c:41,1
    - Dst: cairo_translate
      Src: /src/cairo/test/arc-direction.c:40,1
    - Dst: cairo_arc
      Src: /src/cairo/test/arc-direction.c:37,1
    - Dst: cairo_arc
      Src: /src/cairo/test/arc-direction.c:42,1
    - Dst: cairo_fill
      Src: /src/cairo/test/arc-direction.c:43,1
    - Dst: cairo_translate
      Src: /src/cairo/test/arc-direction.c:45,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/arc-direction.c:46,1
    - Dst: cairo_arc_negative
      Src: /src/cairo/test/arc-direction.c:47,1
    - Dst: cairo_fill
      Src: /src/cairo/test/arc-direction.c:48,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/arc-direction.c:51,1
    - Dst: cairo_fill
      Src: /src/cairo/test/arc-direction.c:53,1
    - Dst: cairo_translate
      Src: /src/cairo/test/arc-direction.c:50,1
    - Dst: cairo_arc_negative
      Src: /src/cairo/test/arc-direction.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 50
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 56
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 56
    functionName: draw_arcs
    functionSourceFile: /src/cairo/test/arc-direction.c
    functionUses: []
    functionsReached:
    - cairo_arc
    - cairo_fill
    - cairo_translate
    - cairo_arc_negative
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_arcs (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_restore
      Src: /src/cairo/test/arc-direction.c:69,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/arc-direction.c:71,1
    - Dst: cairo_translate
      Src: /src/cairo/test/arc-direction.c:80,1
    - Dst: cairo_restore
      Src: /src/cairo/test/arc-direction.c:85,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/arc-direction.c:87,1
    - Dst: cairo_translate
      Src: /src/cairo/test/arc-direction.c:90,1
    - Dst: cairo_scale
      Src: /src/cairo/test/arc-direction.c:91,1
    - Dst: cairo_paint
      Src: /src/cairo/test/arc-direction.c:63,1
    - Dst: draw_arcs
      Src: /src/cairo/test/arc-direction.c:68,1
    - Dst: cairo_translate
      Src: /src/cairo/test/arc-direction.c:74,1
    - Dst: cairo_scale
      Src: /src/cairo/test/arc-direction.c:75,1
    - Dst: draw_arcs
      Src: /src/cairo/test/arc-direction.c:84,1
    - Dst: cairo_save
      Src: /src/cairo/test/arc-direction.c:89,1
    - Dst: cairo_restore
      Src: /src/cairo/test/arc-direction.c:93,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/arc-direction.c:62,1
    - Dst: cairo_save
      Src: /src/cairo/test/arc-direction.c:66,1
    - Dst: cairo_translate
      Src: /src/cairo/test/arc-direction.c:67,1
    - Dst: cairo_translate
      Src: /src/cairo/test/arc-direction.c:72,1
    - Dst: cairo_restore
      Src: /src/cairo/test/arc-direction.c:77,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/arc-direction.c:79,1
    - Dst: cairo_save
      Src: /src/cairo/test/arc-direction.c:81,1
    - Dst: cairo_save
      Src: /src/cairo/test/arc-direction.c:73,1
    - Dst: draw_arcs
      Src: /src/cairo/test/arc-direction.c:92,1
    - Dst: cairo_save
      Src: /src/cairo/test/arc-direction.c:61,1
    - Dst: cairo_restore
      Src: /src/cairo/test/arc-direction.c:64,1
    - Dst: draw_arcs
      Src: /src/cairo/test/arc-direction.c:76,1
    - Dst: cairo_translate
      Src: /src/cairo/test/arc-direction.c:82,1
    - Dst: cairo_scale
      Src: /src/cairo/test/arc-direction.c:83,1
    - Dst: cairo_translate
      Src: /src/cairo/test/arc-direction.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 52
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 96
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 96
    functionName: draw
    functionSourceFile: /src/cairo/test/arc-direction.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgb
    - draw_arcs
    - cairo_save
    - cairo_scale
    - cairo_restore
    - cairo_translate
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-twice.c:35,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-twice.c:39,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-twice.c:40,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-twice.c:41,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/clip-twice.c:44,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-twice.c:52,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/clip-twice.c:56,1
    - Dst: cairo_arc
      Src: /src/cairo/test/clip-twice.c:60,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-twice.c:63,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/clip-twice.c:38,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/clip-twice.c:37,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-twice.c:45,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-twice.c:47,1
    - Dst: cairo_fill
      Src: /src/cairo/test/clip-twice.c:57,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/clip-twice.c:33,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-twice.c:42,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-twice.c:43,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-twice.c:51,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-twice.c:54,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-twice.c:53,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-twice.c:55,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/clip-twice.c:59,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-twice.c:61,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-twice.c:62,1
    - Dst: cairo_arc
      Src: /src/cairo/test/clip-twice.c:34,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/clip-twice.c:49,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/clip-twice.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 46
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 66
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 66
    functionName: draw
    functionSourceFile: /src/cairo/test/clip-twice.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_new_path
    - cairo_line_to
    - cairo_arc
    - cairo_close_path
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_clip
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/twin.c:30,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/twin.c:38,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/twin.c:34,1
    - Dst: cairo_paint
      Src: /src/cairo/test/twin.c:31,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/twin.c:32,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/twin.c:40,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/twin.c:41,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/twin.c:43,1
    - Dst: cairo_text_path
      Src: /src/cairo/test/twin.c:44,1
    - Dst: cairo_fill
      Src: /src/cairo/test/twin.c:45,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/twin.c:47,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/twin.c:49,1
    - Dst: cairo_text_path
      Src: /src/cairo/test/twin.c:48,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/twin.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 53
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 53
    functionName: draw
    functionSourceFile: /src/cairo/test/twin.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_show_text
    - cairo_set_line_width
    - cairo_set_font_size
    - cairo_text_path
    - cairo_stroke
    - cairo_select_font_face
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/text-antialias.c:44,1
    - Dst: cairo_set_font_options
      Src: /src/cairo/test/text-antialias.c:50,1
    - Dst: cairo_font_options_destroy
      Src: /src/cairo/test/text-antialias.c:52,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/text-antialias.c:57,1
    - Dst: cairo_text_extents
      Src: /src/cairo/test/text-antialias.c:55,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/text-antialias.c:63,1
    - Dst: cairo_text_extents
      Src: /src/cairo/test/text-antialias.c:61,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/text-antialias.c:38,1
    - Dst: cairo_font_options_set_subpixel_order
      Src: /src/cairo/test/text-antialias.c:49,1
    - Dst: cairo_translate
      Src: /src/cairo/test/text-antialias.c:58,1
    - Dst: cairo_font_options_set_antialias
      Src: /src/cairo/test/text-antialias.c:48,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/text-antialias.c:60,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/text-antialias.c:54,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/text-antialias.c:41,1
    - Dst: cairo_font_options_create
      Src: /src/cairo/test/text-antialias.c:46,1
    - Dst: cairo_paint
      Src: /src/cairo/test/text-antialias.c:39,1
    - Dst: cairo_get_font_options
      Src: /src/cairo/test/text-antialias.c:47,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/text-antialias.c:62,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/text-antialias.c:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 2
    argNames:
    - cr
    - antialias
    argTypes:
    - cairo_t*
    - cairo_antialias_t
    constantsTouched: []
    func_position:
      end: 66
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 66
    functionName: draw
    functionSourceFile: /src/cairo/test/text-antialias.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_font_options_set_antialias
    - cairo_font_options_set_subpixel_order
    - cairo_set_font_options
    - cairo_font_options_destroy
    - cairo_font_options_create
    - cairo_show_text
    - cairo_translate
    - cairo_set_font_size
    - cairo_select_font_face
    - cairo_set_source_rgb
    - cairo_text_extents
    - cairo_move_to
    - cairo_get_font_options
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, cairo_antialias_t antialias) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw
      Src: /src/cairo/test/text-antialias.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: draw_gray
    functionSourceFile: /src/cairo/test/text-antialias.c
    functionUses: []
    functionsReached:
    - draw
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_gray (cairo_t *cr, int width, int
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw
      Src: /src/cairo/test/text-antialias.c:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: draw_subpixel
    functionSourceFile: /src/cairo/test/text-antialias.c
    functionUses: []
    functionsReached:
    - draw
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_subpixel (cairo_t *cr, int width,
      int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw
      Src: /src/cairo/test/text-antialias.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: draw_none
    functionSourceFile: /src/cairo/test/text-antialias.c
    functionUses: []
    functionsReached:
    - draw
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_none (cairo_t *cr, int width, int
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/test/source-surface-scale-paint.c:39,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/source-surface-scale-paint.c:42,1
    - Dst: cairo_pattern_set_filter
      Src: /src/cairo/test/source-surface-scale-paint.c:43,1
    - Dst: cairo_scale
      Src: /src/cairo/test/source-surface-scale-paint.c:44,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/source-surface-scale-paint.c:43,1
    - Dst: cairo_paint
      Src: /src/cairo/test/source-surface-scale-paint.c:45,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/source-surface-scale-paint.c:47,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/source-surface-scale-paint.c:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 51
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 51
    functionName: draw
    functionSourceFile: /src/cairo/test/source-surface-scale-paint.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_surface_finish
    - cairo_pattern_set_filter
    - cairo_get_source
    - cairo_image_surface_create_for_data
    - cairo_surface_destroy
    - cairo_scale
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/infinite-join.c:39,1
    - Dst: cairo_scale
      Src: /src/cairo/test/infinite-join.c:47,1
    - Dst: cairo_paint
      Src: /src/cairo/test/infinite-join.c:40,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/infinite-join.c:41,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/infinite-join.c:43,1
    - Dst: cairo_scale
      Src: /src/cairo/test/infinite-join.c:48,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/infinite-join.c:50,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/infinite-join.c:51,1
    - Dst: cairo_translate
      Src: /src/cairo/test/infinite-join.c:53,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/infinite-join.c:55,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/infinite-join.c:56,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/infinite-join.c:60,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/infinite-join.c:61,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/infinite-join.c:58,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/infinite-join.c:59,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/infinite-join.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 64
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 64
    functionName: draw
    functionSourceFile: /src/cairo/test/infinite-join.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_new_path
    - cairo_set_line_width
    - cairo_line_to
    - cairo_set_line_join
    - cairo_scale
    - cairo_stroke
    - cairo_set_source_rgb
    - cairo_translate
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: spectre_document_new
      Src: /src/cairo/test/ps2png.c:47,1
    - Dst: spectre_document_load
      Src: /src/cairo/test/ps2png.c:48,1
    - Dst: spectre_status_to_string
      Src: /src/cairo/test/ps2png.c:52,1
    - Dst: spectre_document_get_page_by_label
      Src: /src/cairo/test/ps2png.c:59,1
    - Dst: spectre_render_context_free
      Src: /src/cairo/test/ps2png.c:68,1
    - Dst: spectre_document_render
      Src: /src/cairo/test/ps2png.c:77,1
    - Dst: cairo_surface_set_user_data
      Src: /src/cairo/test/ps2png.c:85,1
    - Dst: spectre_document_status
      Src: /src/cairo/test/ps2png.c:49,1
    - Dst: spectre_document_free
      Src: /src/cairo/test/ps2png.c:51,1
    - Dst: spectre_document_free
      Src: /src/cairo/test/ps2png.c:60,1
    - Dst: spectre_document_get_page_size
      Src: /src/cairo/test/ps2png.c:76,1
    - Dst: spectre_render_context_new
      Src: /src/cairo/test/ps2png.c:65,1
    - Dst: spectre_status_to_string
      Src: /src/cairo/test/ps2png.c:73,1
    - Dst: spectre_page_status
      Src: /src/cairo/test/ps2png.c:69,1
    - Dst: spectre_page_render
      Src: /src/cairo/test/ps2png.c:67,1
    - Dst: spectre_document_free
      Src: /src/cairo/test/ps2png.c:78,1
    - Dst: spectre_page_get_size
      Src: /src/cairo/test/ps2png.c:64,1
    - Dst: spectre_render_context_set_page_size
      Src: /src/cairo/test/ps2png.c:66,1
    - Dst: spectre_page_free
      Src: /src/cairo/test/ps2png.c:70,1
    - Dst: free
      Src: /src/cairo/test/ps2png.c:72,1
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/test/ps2png.c:81,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 89
    functionName: _spectre_render_page
    functionSourceFile: /src/cairo/test/ps2png.c
    functionUses: []
    functionsReached:
    - spectre_render_context_free
    - cairo_surface_set_user_data
    - spectre_document_free
    - spectre_render_context_new
    - spectre_document_render
    - free
    - spectre_render_context_set_page_size
    - spectre_document_status
    - spectre_document_load
    - spectre_document_get_page_by_label
    - spectre_page_get_size
    - cairo_image_surface_create_for_data
    - spectre_page_free
    - spectre_document_new
    - spectre_page_render
    - spectre_status_to_string
    - spectre_page_status
    - spectre_document_get_page_size
    linkageType: ''
    returnType: char*
    signature: "static const char *_spectre_render_page (const char *filename,\t\t\
      \ const char *page_label,\t\t cairo_surface_t **surface_out) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FAIL
      Src: /src/cairo/test/ps2png.c:99,1
    - Dst: FAIL
      Src: /src/cairo/test/ps2png.c:103,1
    - Dst: cairo_surface_write_to_png
      Src: /src/cairo/test/ps2png.c:105,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/ps2png.c:106,1
    - Dst: _spectre_render_page
      Src: /src/cairo/test/ps2png.c:101,1
    - Dst: FAIL
      Src: /src/cairo/test/ps2png.c:109,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/ps2png.c:109,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 112
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 112
    functionName: main
    functionSourceFile: /src/cairo/test/ps2png.c
    functionUses: []
    functionsReached:
    - cairo_surface_write_to_png
    - cairo_surface_destroy
    - _spectre_render_page
    - FAIL
    - cairo_status_to_string
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/scale-offset-image.c:38,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/scale-offset-image.c:44,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/scale-offset-image.c:43,1
    - Dst: cairo_create
      Src: /src/cairo/test/scale-offset-image.c:40,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/scale-offset-image.c:41,1
    - Dst: cairo_fill
      Src: /src/cairo/test/scale-offset-image.c:47,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/scale-offset-image.c:48,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/scale-offset-image.c:49,1
    - Dst: cairo_fill
      Src: /src/cairo/test/scale-offset-image.c:52,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/scale-offset-image.c:53,1
    - Dst: cairo_fill
      Src: /src/cairo/test/scale-offset-image.c:57,1
    - Dst: cairo_fill
      Src: /src/cairo/test/scale-offset-image.c:62,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/scale-offset-image.c:65,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/scale-offset-image.c:64,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/test/scale-offset-image.c:64,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/scale-offset-image.c:58,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/scale-offset-image.c:54,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/scale-offset-image.c:59,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 68
    functionName: create_source
    functionSourceFile: /src/cairo/test/scale-offset-image.c
    functionUses: []
    functionsReached:
    - cairo_surface_reference
    - cairo_create
    - cairo_surface_destroy
    - cairo_image_surface_create
    - cairo_get_target
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_destroy
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *create_source (cairo_surface_t *target, int
      width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_paint
      Src: /src/cairo/test/scale-offset-image.c:111,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/scale-offset-image.c:115,1
    - Dst: cairo_pattern_create_for_surface
      Src: /src/cairo/test/scale-offset-image.c:114,1
    - Dst: create_source
      Src: /src/cairo/test/scale-offset-image.c:113,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/scale-offset-image.c:113,1
    - Dst: cairo_pattern_set_filter
      Src: /src/cairo/test/scale-offset-image.c:117,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/scale-offset-image.c:118,1
    - Dst: draw_grid
      Src: /src/cairo/test/scale-offset-image.c:120,1
    - Dst: draw_grid
      Src: /src/cairo/test/scale-offset-image.c:121,1
    - Dst: draw_grid
      Src: /src/cairo/test/scale-offset-image.c:122,1
    - Dst: draw_grid
      Src: /src/cairo/test/scale-offset-image.c:123,1
    - Dst: draw_grid
      Src: /src/cairo/test/scale-offset-image.c:127,1
    - Dst: draw_grid
      Src: /src/cairo/test/scale-offset-image.c:125,1
    - Dst: draw_grid
      Src: /src/cairo/test/scale-offset-image.c:128,1
    - Dst: draw_grid
      Src: /src/cairo/test/scale-offset-image.c:126,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/scale-offset-image.c:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 133
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 133
    functionName: draw
    functionSourceFile: /src/cairo/test/scale-offset-image.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_for_surface
    - cairo_paint
    - create_source
    - cairo_pattern_set_filter
    - draw_grid
    - cairo_surface_destroy
    - cairo_pattern_set_extend
    - cairo_get_target
    - cairo_pattern_destroy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_scale
      Src: /src/cairo/test/scale-offset-image.c:77,1
    - Dst: cairo_pattern_set_matrix
      Src: /src/cairo/test/scale-offset-image.c:81,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/scale-offset-image.c:88,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/scale-offset-image.c:89,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/scale-offset-image.c:90,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/scale-offset-image.c:91,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/scale-offset-image.c:92,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/scale-offset-image.c:93,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/scale-offset-image.c:94,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/scale-offset-image.c:87,1
    - Dst: cairo_save
      Src: /src/cairo/test/scale-offset-image.c:75,1
    - Dst: cairo_rotate
      Src: /src/cairo/test/scale-offset-image.c:78,1
    - Dst: cairo_translate
      Src: /src/cairo/test/scale-offset-image.c:76,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/scale-offset-image.c:82,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/scale-offset-image.c:83,1
    - Dst: cairo_restore
      Src: /src/cairo/test/scale-offset-image.c:102,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/scale-offset-image.c:100,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/scale-offset-image.c:95,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/scale-offset-image.c:96,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/scale-offset-image.c:97,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/scale-offset-image.c:98,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/scale-offset-image.c:99,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/test/scale-offset-image.c:80,1
    - Dst: cairo_fill
      Src: /src/cairo/test/scale-offset-image.c:84,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/scale-offset-image.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 4
    argNames:
    - cr
    - pattern
    - dst_x
    - dst_y
    argTypes:
    - cairo_t*
    - cairo_pattern_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 103
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 103
    functionName: draw_grid
    functionSourceFile: /src/cairo/test/scale-offset-image.c
    functionUses: []
    functionsReached:
    - cairo_set_source_rgb
    - cairo_set_line_width
    - cairo_line_to
    - cairo_save
    - cairo_pattern_set_matrix
    - cairo_set_source
    - cairo_scale
    - cairo_stroke
    - cairo_restore
    - cairo_fill
    - cairo_rotate
    - cairo_translate
    - cairo_matrix_init_translate
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void draw_grid (cairo_t *cr, cairo_pattern_t *pattern, int
      dst_x, int dst_y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/test/text-glyph-range.c:66,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/text-glyph-range.c:71,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/text-glyph-range.c:67,1
    - Dst: cairo_paint
      Src: /src/cairo/test/text-glyph-range.c:68,1
    - Dst: cairo_restore
      Src: /src/cairo/test/text-glyph-range.c:69,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/text-glyph-range.c:74,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/text-glyph-range.c:85,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/text-glyph-range.c:86,1
    - Dst: cairo_glyph_extents
      Src: /src/cairo/test/text-glyph-range.c:87,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/text-glyph-range.c:88,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/text-glyph-range.c:93,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/text-glyph-range.c:94,1
    - Dst: cairo_show_glyphs
      Src: /src/cairo/test/text-glyph-range.c:100,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/text-glyph-range.c:110,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/text-glyph-range.c:101,1
    - Dst: cairo_glyph_path
      Src: /src/cairo/test/text-glyph-range.c:111,1
    - Dst: cairo_fill
      Src: /src/cairo/test/text-glyph-range.c:112,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/text-glyph-range.c:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 116
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 116
    functionName: draw
    functionSourceFile: /src/cairo/test/text-glyph-range.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_show_glyphs
    - cairo_set_line_width
    - cairo_save
    - cairo_set_font_size
    - cairo_glyph_extents
    - cairo_stroke
    - cairo_restore
    - cairo_select_font_face
    - cairo_glyph_path
    - cairo_set_source_rgb
    - cairo_fill
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/test/caps-joins.c:47,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/caps-joins.c:53,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/caps-joins.c:52,1
    - Dst: cairo_translate
      Src: /src/cairo/test/caps-joins.c:49,1
    - Dst: make_path
      Src: /src/cairo/test/caps-joins.c:51,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/caps-joins.c:54,1
    - Dst: cairo_translate
      Src: /src/cairo/test/caps-joins.c:56,1
    - Dst: make_path
      Src: /src/cairo/test/caps-joins.c:58,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/caps-joins.c:59,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/caps-joins.c:60,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/caps-joins.c:61,1
    - Dst: make_path
      Src: /src/cairo/test/caps-joins.c:65,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/caps-joins.c:68,1
    - Dst: cairo_restore
      Src: /src/cairo/test/caps-joins.c:70,1
    - Dst: cairo_translate
      Src: /src/cairo/test/caps-joins.c:63,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/caps-joins.c:66,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/caps-joins.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 71
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 71
    functionName: draw_caps_joins
    functionSourceFile: /src/cairo/test/caps-joins.c
    functionUses: []
    functionsReached:
    - make_path
    - cairo_save
    - cairo_set_line_join
    - cairo_stroke
    - cairo_restore
    - cairo_set_line_cap
    - cairo_translate
    linkageType: ''
    returnType: void
    signature: 'static void draw_caps_joins (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw
      Src: /src/cairo/test/caps-joins.c:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: draw_10
    functionSourceFile: /src/cairo/test/caps-joins.c
    functionUses: []
    functionsReached:
    - draw
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_10 (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw
      Src: /src/cairo/test/caps-joins.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: draw_1
    functionSourceFile: /src/cairo/test/caps-joins.c
    functionUses: []
    functionsReached:
    - draw
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_1 (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_move_to
      Src: /src/cairo/test/caps-joins.c:34,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/caps-joins.c:37,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/caps-joins.c:36,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/caps-joins.c:39,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/caps-joins.c:35,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/caps-joins.c:40,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/caps-joins.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 42
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 42
    functionName: make_path
    functionSourceFile: /src/cairo/test/caps-joins.c
    functionUses: []
    functionsReached:
    - cairo_rel_line_to
    - cairo_move_to
    - cairo_close_path
    linkageType: ''
    returnType: void
    signature: 'static void make_path (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/test/caps-joins.c:77,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/caps-joins.c:78,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/caps-joins.c:82,1
    - Dst: cairo_restore
      Src: /src/cairo/test/caps-joins.c:80,1
    - Dst: cairo_paint
      Src: /src/cairo/test/caps-joins.c:79,1
    - Dst: draw_caps_joins
      Src: /src/cairo/test/caps-joins.c:84,1
    - Dst: cairo_translate
      Src: /src/cairo/test/caps-joins.c:87,1
    - Dst: cairo_scale
      Src: /src/cairo/test/caps-joins.c:88,1
    - Dst: draw_caps_joins
      Src: /src/cairo/test/caps-joins.c:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - cr
    - line_width
    argTypes:
    - cairo_t*
    - float
    constantsTouched: []
    func_position:
      end: 93
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 93
    functionName: draw
    functionSourceFile: /src/cairo/test/caps-joins.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_line_width
    - draw_caps_joins
    - cairo_save
    - cairo_scale
    - cairo_restore
    - cairo_set_source_rgb
    - cairo_translate
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, float line_width) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw
      Src: /src/cairo/test/caps-joins.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: draw_2
    functionSourceFile: /src/cairo/test/caps-joins.c
    functionUses: []
    functionsReached:
    - draw
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_2 (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw
      Src: /src/cairo/test/caps-joins.c:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: draw_05
    functionSourceFile: /src/cairo/test/caps-joins.c
    functionUses: []
    functionsReached:
    - draw
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_05 (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw
      Src: /src/cairo/test/pixman-downscale.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: draw_best
    functionSourceFile: /src/cairo/test/pixman-downscale.c
    functionUses: []
    functionsReached:
    - draw
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_best (cairo_t *cr, int width, int
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw
      Src: /src/cairo/test/pixman-downscale.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: draw_fast
    functionSourceFile: /src/cairo/test/pixman-downscale.c
    functionUses: []
    functionsReached:
    - draw
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_fast (cairo_t *cr, int width, int
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw
      Src: /src/cairo/test/pixman-downscale.c:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: draw_bilinear
    functionSourceFile: /src/cairo/test/pixman-downscale.c
    functionUses: []
    functionsReached:
    - draw
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_bilinear (cairo_t *cr, int width,
      int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw
      Src: /src/cairo/test/pixman-downscale.c:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: draw_good
    functionSourceFile: /src/cairo/test/pixman-downscale.c
    functionUses: []
    functionsReached:
    - draw
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_good (cairo_t *cr, int width, int
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw
      Src: /src/cairo/test/pixman-downscale.c:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: draw_nearest
    functionSourceFile: /src/cairo/test/pixman-downscale.c
    functionUses: []
    functionsReached:
    - draw
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_nearest (cairo_t *cr, int width, int
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/pixman-downscale.c:44,1
    - Dst: cairo_image_surface_get_width
      Src: /src/cairo/test/pixman-downscale.c:50,1
    - Dst: cairo_test_create_surface_from_png
      Src: /src/cairo/test/pixman-downscale.c:49,1
    - Dst: cairo_image_surface_get_height
      Src: /src/cairo/test/pixman-downscale.c:51,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/pixman-downscale.c:48,1
    - Dst: cairo_save
      Src: /src/cairo/test/pixman-downscale.c:54,1
    - Dst: cairo_scale
      Src: /src/cairo/test/pixman-downscale.c:55,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/pixman-downscale.c:56,1
    - Dst: cairo_pattern_set_filter
      Src: /src/cairo/test/pixman-downscale.c:57,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/pixman-downscale.c:57,1
    - Dst: cairo_restore
      Src: /src/cairo/test/pixman-downscale.c:59,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/pixman-downscale.c:60,1
    - Dst: cairo_paint
      Src: /src/cairo/test/pixman-downscale.c:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - filter
    argTypes:
    - cairo_t*
    - int
    - int
    - cairo_filter_t
    constantsTouched: []
    func_position:
      end: 63
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 63
    functionName: draw
    functionSourceFile: /src/cairo/test/pixman-downscale.c
    functionUses: []
    functionsReached:
    - cairo_test_create_surface_from_png
    - cairo_paint
    - cairo_pattern_set_filter
    - cairo_test_get_context
    - cairo_get_source
    - cairo_save
    - cairo_image_surface_get_height
    - cairo_surface_destroy
    - cairo_scale
    - cairo_restore
    - cairo_set_source_rgb
    - cairo_image_surface_get_width
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height,
      cairo_filter_t filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_translate
      Src: /src/cairo/test/leaky-dashed-stroke.c:48,1
    - Dst: cairo_set_dash
      Src: /src/cairo/test/leaky-dashed-stroke.c:51,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:56,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:64,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:114,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:60,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:110,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:91,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:118,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:83,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:137,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:148,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:136,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:53,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/leaky-dashed-stroke.c:156,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:142,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:107,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:76,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:80,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:54,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:68,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:72,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:95,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:99,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:103,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:126,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:130,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:147,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:94,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:135,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:55,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:59,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:63,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:109,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:113,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:117,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:82,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:121,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:86,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:90,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:141,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:75,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:79,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:67,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:71,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:98,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:102,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:106,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:125,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:129,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:133,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:146,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:134,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:87,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:140,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/leaky-dashed-stroke.c:154,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:151,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:62,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:116,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:81,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:120,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:112,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:85,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:89,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:93,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:58,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:66,1
    - Dst: cairo_paint
      Src: /src/cairo/test/leaky-dashed-stroke.c:40,1
    - Dst: cairo_scale
      Src: /src/cairo/test/leaky-dashed-stroke.c:49,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:145,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:97,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:101,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:105,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/leaky-dashed-stroke.c:39,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:70,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:74,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:78,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:124,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:128,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:132,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:139,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:150,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:61,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:65,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:84,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:88,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:92,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:57,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:111,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:115,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:119,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:138,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:144,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:153,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/leaky-dashed-stroke.c:42,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:149,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:100,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:104,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:108,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:69,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:73,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:77,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:123,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:96,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:127,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:131,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:143,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:122,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-dashed-stroke.c:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 110
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 158
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 158
    functionName: draw
    functionSourceFile: /src/cairo/test/leaky-dashed-stroke.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgb
    - cairo_line_to
    - cairo_set_dash
    - cairo_close_path
    - cairo_scale
    - cairo_stroke
    - cairo_translate
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_log
      Src: /src/cairo/test/a8-mask.c:50,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/a8-mask.c:53,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/a8-mask.c:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - status
    - expected
    argTypes:
    - cairo_test_context_t*
    - cairo_status_t
    - cairo_status_t
    constantsTouched: []
    func_position:
      end: 57
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 57
    functionName: check_status
    functionSourceFile: /src/cairo/test/a8-mask.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - cairo_status_to_string
    linkageType: ''
    returnType: cairo_test_status_t
    signature: "static cairo_test_status_t check_status (const cairo_test_context_t\
      \ *ctx,\t cairo_status_t status,\t cairo_status_t expected) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_log
      Src: /src/cairo/test/a8-mask.c:70,1
    - Dst: cairo_create
      Src: /src/cairo/test/a8-mask.c:81,1
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/test/a8-mask.c:79,1
    - Dst: xmalloc
      Src: /src/cairo/test/a8-mask.c:77,1
    - Dst: cairo_paint
      Src: /src/cairo/test/a8-mask.c:83,1
    - Dst: check_status
      Src: /src/cairo/test/a8-mask.c:85,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/a8-mask.c:85,1
    - Dst: check_status
      Src: /src/cairo/test/a8-mask.c:89,1
    - Dst: cairo_status
      Src: /src/cairo/test/a8-mask.c:89,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/a8-mask.c:94,1
    - Dst: free
      Src: /src/cairo/test/a8-mask.c:96,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/a8-mask.c:95,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 4
    argNames:
    - ctx
    - width
    - stride
    - expected
    argTypes:
    - cairo_test_context_t*
    - int
    - int
    - cairo_status_t
    constantsTouched: []
    func_position:
      end: 98
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 98
    functionName: test_surface_with_width_and_stride
    functionSourceFile: /src/cairo/test/a8-mask.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - cairo_paint
    - xmalloc
    - free
    - cairo_image_surface_create_for_data
    - cairo_create
    - cairo_surface_status
    - check_status
    - cairo_surface_destroy
    - cairo_status
    - cairo_destroy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: "static cairo_test_status_t test_surface_with_width_and_stride (const\
      \ cairo_test_context_t *ctx,\t\t\t\t int width, int stride,\t\t\t\t cairo_status_t\
      \ expected) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cairo_format_stride_for_width
      Src: /src/cairo/test/a8-mask.c:149,1
    - Dst: test_surface_with_width_and_stride
      Src: /src/cairo/test/a8-mask.c:166,1
    - Dst: test_surface_with_width_and_stride
      Src: /src/cairo/test/a8-mask.c:177,1
    - Dst: test_surface_with_width_and_stride
      Src: /src/cairo/test/a8-mask.c:184,1
    - Dst: test_surface_with_width_and_stride
      Src: /src/cairo/test/a8-mask.c:159,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - cairo_test_context_t*
    constantsTouched: []
    func_position:
      end: 193
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 193
    functionName: preamble
    functionSourceFile: /src/cairo/test/a8-mask.c
    functionUses: []
    functionsReached:
    - test_surface_with_width_and_stride
    - cairo_format_stride_for_width
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t preamble (cairo_test_context_t *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_format_stride_for_width
      Src: /src/cairo/test/a8-mask.c:109,1
    - Dst: memcpy
      Src: /src/cairo/test/a8-mask.c:117,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/a8-mask.c:129,1
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/test/a8-mask.c:122,1
    - Dst: xmalloc
      Src: /src/cairo/test/a8-mask.c:112,1
    - Dst: cairo_paint
      Src: /src/cairo/test/a8-mask.c:130,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/a8-mask.c:133,1
    - Dst: cairo_mask_surface
      Src: /src/cairo/test/a8-mask.c:134,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/a8-mask.c:135,1
    - Dst: free
      Src: /src/cairo/test/a8-mask.c:137,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - cr
    - dst_width
    - dst_height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 140
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 140
    functionName: draw
    functionSourceFile: /src/cairo/test/a8-mask.c
    functionUses: []
    functionsReached:
    - memcpy
    - cairo_paint
    - cairo_mask_surface
    - xmalloc
    - cairo_format_stride_for_width
    - free
    - cairo_image_surface_create_for_data
    - cairo_surface_destroy
    - cairo_set_source_rgb
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int dst_width, int dst_height) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cairo_ps_surface_create
      Src: /src/cairo/test/ps-features.c:108,1
    - Dst: cairo_test_is_target_enabled
      Src: /src/cairo/test/ps-features.c:99,1
    - Dst: xasprintf
      Src: /src/cairo/test/ps-features.c:104,1
    - Dst: cairo_ps_surface_dsc_comment
      Src: /src/cairo/test/ps-features.c:110,1
    - Dst: cairo_ps_surface_dsc_comment
      Src: /src/cairo/test/ps-features.c:114,1
    - Dst: cairo_ps_surface_dsc_begin_page_setup
      Src: /src/cairo/test/ps-features.c:128,1
    - Dst: snprintf
      Src: /src/cairo/test/ps-features.c:129,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/ps-features.c:136,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/ps-features.c:137,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/ps-features.c:138,1
    - Dst: cairo_ps_surface_set_size
      Src: /src/cairo/test/ps-features.c:125,1
    - Dst: cairo_ps_surface_dsc_comment
      Src: /src/cairo/test/ps-features.c:130,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/ps-features.c:119,1
    - Dst: cairo_ps_surface_dsc_comment
      Src: /src/cairo/test/ps-features.c:133,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/ps-features.c:149,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/ps-features.c:150,1
    - Dst: printf
      Src: /src/cairo/test/ps-features.c:155,1
    - Dst: cairo_ps_surface_dsc_comment
      Src: /src/cairo/test/ps-features.c:111,1
    - Dst: cairo_ps_surface_dsc_begin_setup
      Src: /src/cairo/test/ps-features.c:113,1
    - Dst: cairo_create
      Src: /src/cairo/test/ps-features.c:117,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/ps-features.c:122,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/ps-features.c:124,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/ps-features.c:139,1
    - Dst: cairo_status
      Src: /src/cairo/test/ps-features.c:143,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/ps-features.c:145,1
    - Dst: free
      Src: /src/cairo/test/ps-features.c:151,1
    - Dst: free
      Src: /src/cairo/test/ps-features.c:156,1
    - Dst: cairo_test_mkdir
      Src: /src/cairo/test/ps-features.c:96,1
    - Dst: cairo_test_is_target_enabled
      Src: /src/cairo/test/ps-features.c:98,1
    - Dst: cairo_ps_surface_dsc_comment
      Src: /src/cairo/test/ps-features.c:115,1
    - Dst: snprintf
      Src: /src/cairo/test/ps-features.c:132,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/ps-features.c:146,1
    - Dst: cairo_show_page
      Src: /src/cairo/test/ps-features.c:140,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - cairo_test_context_t*
    constantsTouched: []
    func_position:
      end: 158
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 158
    functionName: preamble
    functionSourceFile: /src/cairo/test/ps-features.c
    functionUses: []
    functionsReached:
    - printf
    - cairo_ps_surface_set_size
    - xasprintf
    - cairo_ps_surface_dsc_begin_page_setup
    - cairo_select_font_face
    - cairo_ps_surface_dsc_comment
    - cairo_show_text
    - cairo_show_page
    - cairo_create
    - cairo_test_is_target_enabled
    - cairo_status
    - cairo_ps_surface_dsc_begin_setup
    - cairo_test_log
    - ARRAY_LENGTH
    - cairo_test_mkdir
    - cairo_destroy
    - snprintf
    - cairo_status_to_string
    - free
    - cairo_set_font_size
    - cairo_surface_destroy
    - cairo_ps_surface_create
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t preamble (cairo_test_context_t *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/source-clip-scale.c:37,1
    - Dst: cairo_create
      Src: /src/cairo/test/source-clip-scale.c:40,1
    - Dst: cairo_paint
      Src: /src/cairo/test/source-clip-scale.c:45,1
    - Dst: cairo_clip
      Src: /src/cairo/test/source-clip-scale.c:55,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/source-clip-scale.c:56,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/source-clip-scale.c:68,1
    - Dst: cairo_restore
      Src: /src/cairo/test/source-clip-scale.c:58,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/source-clip-scale.c:68,1
    - Dst: cairo_paint
      Src: /src/cairo/test/source-clip-scale.c:71,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/source-clip-scale.c:62,1
    - Dst: cairo_get_group_target
      Src: /src/cairo/test/source-clip-scale.c:37,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/source-clip-scale.c:41,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/source-clip-scale.c:44,1
    - Dst: cairo_save
      Src: /src/cairo/test/source-clip-scale.c:51,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/source-clip-scale.c:52,1
    - Dst: cairo_paint
      Src: /src/cairo/test/source-clip-scale.c:63,1
    - Dst: cairo_scale
      Src: /src/cairo/test/source-clip-scale.c:66,1
    - Dst: cairo_paint
      Src: /src/cairo/test/source-clip-scale.c:57,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/source-clip-scale.c:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 74
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 74
    functionName: draw
    functionSourceFile: /src/cairo/test/source-clip-scale.c
    functionUses: []
    functionsReached:
    - cairo_get_group_target
    - cairo_paint
    - cairo_clip
    - cairo_create
    - cairo_save
    - cairo_surface_destroy
    - cairo_scale
    - cairo_restore
    - cairo_get_target
    - cairo_set_source_rgb
    - cairo_destroy
    - cairo_surface_create_similar
    - cairo_set_source_surface
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_rectangle
      Src: /src/cairo/test/hatchings.c:36,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/hatchings.c:40,1
    - Dst: cairo_clip
      Src: /src/cairo/test/hatchings.c:37,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/hatchings.c:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 43
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 43
    functionName: hatching
    functionSourceFile: /src/cairo/test/hatchings.c
    functionUses: []
    functionsReached:
    - cairo_clip
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void hatching (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_rectangle
      Src: /src/cairo/test/hatchings.c:54,1
    - Dst: cairo_clip
      Src: /src/cairo/test/hatchings.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: clip_to_quadrant
    functionSourceFile: /src/cairo/test/hatchings.c
    functionUses: []
    functionsReached:
    - cairo_clip
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void clip_to_quadrant (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_clip
      Src: /src/cairo/test/hatchings.c:91,1
    - Dst: cairo_paint
      Src: /src/cairo/test/hatchings.c:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: do_clip
    functionSourceFile: /src/cairo/test/hatchings.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_clip
    linkageType: ''
    returnType: void
    signature: 'static void do_clip (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/test/hatchings.c:103,1
    - Dst: cairo_set_antialias
      Src: /src/cairo/test/hatchings.c:105,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/hatchings.c:104,1
    - Dst: draw_hatching
      Src: /src/cairo/test/hatchings.c:106,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/hatchings.c:107,1
    - Dst: cairo_set_antialias
      Src: /src/cairo/test/hatchings.c:108,1
    - Dst: draw_hatching
      Src: /src/cairo/test/hatchings.c:109,1
    - Dst: cairo_restore
      Src: /src/cairo/test/hatchings.c:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - cr
    - (*func)
    argTypes:
    - cairo_t*
    - void
    constantsTouched: []
    func_position:
      end: 111
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 111
    functionName: hatchings
    functionSourceFile: /src/cairo/test/hatchings.c
    functionUses: []
    functionsReached:
    - cairo_save
    - cairo_restore
    - draw_hatching
    - cairo_set_source_rgb
    - cairo_set_antialias
    linkageType: ''
    returnType: void
    signature: 'static void hatchings (cairo_t *cr, void (*func) (cairo_t *)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_operator
      Src: /src/cairo/test/hatchings.c:47,1
    - Dst: cairo_paint
      Src: /src/cairo/test/hatchings.c:49,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/hatchings.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: background
    functionSourceFile: /src/cairo/test/hatchings.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_operator
    - cairo_set_source_rgb
    linkageType: ''
    returnType: void
    signature: 'static void background (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/test/hatchings.c:60,1
    - Dst: hatching
      Src: /src/cairo/test/hatchings.c:62,1
    - Dst: cairo_translate
      Src: /src/cairo/test/hatchings.c:66,1
    - Dst: cairo_save
      Src: /src/cairo/test/hatchings.c:68,1
    - Dst: cairo_save
      Src: /src/cairo/test/hatchings.c:77,1
    - Dst: func
      Src: /src/cairo/test/hatchings.c:72,1
    - Dst: cairo_rotate
      Src: /src/cairo/test/hatchings.c:80,1
    - Dst: cairo_translate
      Src: /src/cairo/test/hatchings.c:81,1
    - Dst: func
      Src: /src/cairo/test/hatchings.c:63,1
    - Dst: clip_to_quadrant
      Src: /src/cairo/test/hatchings.c:69,1
    - Dst: cairo_translate
      Src: /src/cairo/test/hatchings.c:70,1
    - Dst: clip_to_quadrant
      Src: /src/cairo/test/hatchings.c:78,1
    - Dst: cairo_translate
      Src: /src/cairo/test/hatchings.c:79,1
    - Dst: clip_to_quadrant
      Src: /src/cairo/test/hatchings.c:61,1
    - Dst: hatching
      Src: /src/cairo/test/hatchings.c:82,1
    - Dst: cairo_restore
      Src: /src/cairo/test/hatchings.c:84,1
    - Dst: cairo_translate
      Src: /src/cairo/test/hatchings.c:86,1
    - Dst: cairo_restore
      Src: /src/cairo/test/hatchings.c:64,1
    - Dst: hatching
      Src: /src/cairo/test/hatchings.c:71,1
    - Dst: cairo_restore
      Src: /src/cairo/test/hatchings.c:73,1
    - Dst: cairo_translate
      Src: /src/cairo/test/hatchings.c:75,1
    - Dst: func
      Src: /src/cairo/test/hatchings.c:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 2
    argNames:
    - cr
    - (*func)
    argTypes:
    - cairo_t*
    - void
    constantsTouched: []
    func_position:
      end: 87
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 87
    functionName: draw_hatching
    functionSourceFile: /src/cairo/test/hatchings.c
    functionUses: []
    functionsReached:
    - func
    - cairo_save
    - cairo_restore
    - cairo_rotate
    - cairo_translate
    - clip_to_quadrant
    - hatching
    linkageType: ''
    returnType: void
    signature: 'static void draw_hatching (cairo_t *cr, void (*func) (cairo_t *)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_clip
      Src: /src/cairo/test/hatchings.c:97,1
    - Dst: cairo_paint_with_alpha
      Src: /src/cairo/test/hatchings.c:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: do_clip_alpha
    functionSourceFile: /src/cairo/test/hatchings.c
    functionUses: []
    functionsReached:
    - cairo_clip
    - cairo_paint_with_alpha
    linkageType: ''
    returnType: void
    signature: 'static void do_clip_alpha (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: background
      Src: /src/cairo/test/hatchings.c:116,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/hatchings.c:126,1
    - Dst: cairo_translate
      Src: /src/cairo/test/hatchings.c:129,1
    - Dst: hatchings
      Src: /src/cairo/test/hatchings.c:130,1
    - Dst: hatchings
      Src: /src/cairo/test/hatchings.c:128,1
    - Dst: cairo_translate
      Src: /src/cairo/test/hatchings.c:131,1
    - Dst: hatchings
      Src: /src/cairo/test/hatchings.c:132,1
    - Dst: cairo_translate
      Src: /src/cairo/test/hatchings.c:133,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/hatchings.c:135,1
    - Dst: hatchings
      Src: /src/cairo/test/hatchings.c:137,1
    - Dst: hatchings
      Src: /src/cairo/test/hatchings.c:139,1
    - Dst: hatchings
      Src: /src/cairo/test/hatchings.c:141,1
    - Dst: cairo_translate
      Src: /src/cairo/test/hatchings.c:142,1
    - Dst: cairo_translate
      Src: /src/cairo/test/hatchings.c:140,1
    - Dst: cairo_translate
      Src: /src/cairo/test/hatchings.c:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 145
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 145
    functionName: draw
    functionSourceFile: /src/cairo/test/hatchings.c
    functionUses: []
    functionsReached:
    - background
    - hatchings
    - cairo_set_operator
    - cairo_translate
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/filter-nearest-offset.c:51,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/filter-nearest-offset.c:89,1
    - Dst: cairo_save
      Src: /src/cairo/test/filter-nearest-offset.c:84,1
    - Dst: cairo_pattern_set_filter
      Src: /src/cairo/test/filter-nearest-offset.c:89,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/filter-nearest-offset.c:96,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/filter-nearest-offset.c:56,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/filter-nearest-offset.c:58,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/filter-nearest-offset.c:59,1
    - Dst: cairo_restore
      Src: /src/cairo/test/filter-nearest-offset.c:92,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/filter-nearest-offset.c:97,1
    - Dst: cairo_paint
      Src: /src/cairo/test/filter-nearest-offset.c:52,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/filter-nearest-offset.c:57,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/filter-nearest-offset.c:60,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/filter-nearest-offset.c:61,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/filter-nearest-offset.c:86,1
    - Dst: cairo_save
      Src: /src/cairo/test/filter-nearest-offset.c:50,1
    - Dst: cairo_restore
      Src: /src/cairo/test/filter-nearest-offset.c:53,1
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/test/filter-nearest-offset.c:63,1
    - Dst: cairo_paint
      Src: /src/cairo/test/filter-nearest-offset.c:90,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 57
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 100
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 100
    functionName: draw
    functionSourceFile: /src/cairo/test/filter-nearest-offset.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_surface_finish
    - cairo_set_line_width
    - cairo_pattern_set_filter
    - cairo_rel_line_to
    - cairo_get_source
    - cairo_image_surface_create_for_data
    - cairo_save
    - cairo_surface_destroy
    - cairo_stroke
    - cairo_restore
    - cairo_set_source_rgb
    - cairo_move_to
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_move_to
      Src: /src/cairo/test/dash-no-dash.c:36,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/dash-no-dash.c:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: line
    functionSourceFile: /src/cairo/test/dash-no-dash.c
    functionUses: []
    functionsReached:
    - cairo_line_to
    - cairo_move_to
    linkageType: ''
    returnType: void
    signature: 'static void line (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/dash-no-dash.c:46,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/dash-no-dash.c:49,1
    - Dst: line
      Src: /src/cairo/test/dash-no-dash.c:54,1
    - Dst: cairo_paint
      Src: /src/cairo/test/dash-no-dash.c:47,1
    - Dst: cairo_translate
      Src: /src/cairo/test/dash-no-dash.c:51,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/dash-no-dash.c:55,1
    - Dst: cairo_translate
      Src: /src/cairo/test/dash-no-dash.c:57,1
    - Dst: cairo_set_dash
      Src: /src/cairo/test/dash-no-dash.c:60,1
    - Dst: line
      Src: /src/cairo/test/dash-no-dash.c:61,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/dash-no-dash.c:62,1
    - Dst: line
      Src: /src/cairo/test/dash-no-dash.c:68,1
    - Dst: cairo_set_dash
      Src: /src/cairo/test/dash-no-dash.c:74,1
    - Dst: cairo_set_dash
      Src: /src/cairo/test/dash-no-dash.c:67,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/dash-no-dash.c:76,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/dash-no-dash.c:69,1
    - Dst: cairo_translate
      Src: /src/cairo/test/dash-no-dash.c:71,1
    - Dst: line
      Src: /src/cairo/test/dash-no-dash.c:75,1
    - Dst: cairo_translate
      Src: /src/cairo/test/dash-no-dash.c:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 79
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 79
    functionName: draw
    functionSourceFile: /src/cairo/test/dash-no-dash.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgb
    - line
    - cairo_set_dash
    - cairo_stroke
    - cairo_translate
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/bug-spline.c:64,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/bug-spline.c:67,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/bug-spline.c:70,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/bug-spline.c:69,1
    - Dst: cairo_paint
      Src: /src/cairo/test/bug-spline.c:65,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/bug-spline.c:71,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/bug-spline.c:77,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/bug-spline.c:78,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/bug-spline.c:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 87
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 87
    functionName: draw
    functionSourceFile: /src/cairo/test/bug-spline.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgba
    - cairo_set_line_width
    - cairo_curve_to
    - ARRAY_LENGTH
    - cairo_stroke
    - cairo_set_line_cap
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/operator-source.c:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - x
    - y
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: set_translucent_pattern
    functionSourceFile: /src/cairo/test/operator-source.c
    functionUses: []
    functionsReached:
    - cairo_set_source_rgba
    linkageType: ''
    returnType: void
    signature: 'static void set_translucent_pattern (cairo_t *cr, int x, int y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/operator-source.c:70,1
    - Dst: cairo_get_group_target
      Src: /src/cairo/test/operator-source.c:70,1
    - Dst: cairo_create
      Src: /src/cairo/test/operator-source.c:73,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/operator-source.c:76,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/operator-source.c:74,1
    - Dst: cairo_paint
      Src: /src/cairo/test/operator-source.c:77,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/operator-source.c:79,1
    - Dst: cairo_arc
      Src: /src/cairo/test/operator-source.c:81,1
    - Dst: cairo_fill
      Src: /src/cairo/test/operator-source.c:82,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/operator-source.c:84,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/operator-source.c:85,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/operator-source.c:84,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 3
    argNames:
    - cr
    - x
    - y
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 86
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 86
    functionName: set_surface_pattern
    functionSourceFile: /src/cairo/test/operator-source.c
    functionUses: []
    functionsReached:
    - cairo_get_group_target
    - cairo_paint
    - cairo_arc
    - cairo_create
    - cairo_surface_destroy
    - cairo_get_target
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_destroy
    - cairo_surface_create_similar
    - cairo_set_source_surface
    linkageType: ''
    returnType: void
    signature: 'static void set_surface_pattern (cairo_t *cr, int x, int y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/operator-source.c:119,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/operator-source.c:122,1
    - Dst: floor
      Src: /src/cairo/test/operator-source.c:124,1
    - Dst: cairo_text_extents
      Src: /src/cairo/test/operator-source.c:121,1
    - Dst: floor
      Src: /src/cairo/test/operator-source.c:123,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/operator-source.c:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - cr
    - x
    - y
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: draw_glyphs
    functionSourceFile: /src/cairo/test/operator-source.c
    functionUses: []
    functionsReached:
    - cairo_show_text
    - cairo_set_font_size
    - cairo_text_extents
    - cairo_move_to
    - floor
    linkageType: ''
    returnType: void
    signature: 'static void draw_glyphs (cairo_t *cr, int x, int y) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_rectangle
      Src: /src/cairo/test/operator-source.c:160,1
    - Dst: cairo_fill
      Src: /src/cairo/test/operator-source.c:164,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - cr
    - x
    - y
    - offset
    argTypes:
    - cairo_t*
    - int
    - int
    - double
    constantsTouched: []
    func_position:
      end: 165
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 165
    functionName: draw_rects
    functionSourceFile: /src/cairo/test/operator-source.c
    functionUses: []
    functionsReached:
    - cairo_fill
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void draw_rects (cairo_t *cr, int x, int y, double offset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw_rects
      Src: /src/cairo/test/operator-source.c:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - x
    - y
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: draw_unaligned_rects
    functionSourceFile: /src/cairo/test/operator-source.c
    functionUses: []
    functionsReached:
    - draw_rects
    linkageType: ''
    returnType: void
    signature: 'static void draw_unaligned_rects (cairo_t *cr, int x, int y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/operator-source.c:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - x
    - y
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: set_solid_pattern
    functionSourceFile: /src/cairo/test/operator-source.c
    functionUses: []
    functionsReached:
    - cairo_set_source_rgb
    linkageType: ''
    returnType: void
    signature: 'static void set_solid_pattern (cairo_t *cr, int x, int y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/operator-source.c:99,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/operator-source.c:103,1
    - Dst: cairo_get_group_target
      Src: /src/cairo/test/operator-source.c:99,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/operator-source.c:105,1
    - Dst: cairo_create
      Src: /src/cairo/test/operator-source.c:102,1
    - Dst: cairo_arc
      Src: /src/cairo/test/operator-source.c:107,1
    - Dst: cairo_fill
      Src: /src/cairo/test/operator-source.c:108,1
    - Dst: cairo_mask_surface
      Src: /src/cairo/test/operator-source.c:110,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/operator-source.c:110,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/operator-source.c:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - cr
    - x
    - y
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 112
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 112
    functionName: draw_mask
    functionSourceFile: /src/cairo/test/operator-source.c
    functionUses: []
    functionsReached:
    - cairo_get_group_target
    - cairo_mask_surface
    - cairo_arc
    - cairo_create
    - cairo_surface_destroy
    - cairo_get_target
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_destroy
    - cairo_surface_create_similar
    linkageType: ''
    returnType: void
    signature: 'static void draw_mask (cairo_t *cr, int x, int y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/test/operator-source.c:52,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/operator-source.c:54,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/operator-source.c:53,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/operator-source.c:56,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/operator-source.c:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - cr
    - x
    - y
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 57
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 57
    functionName: set_gradient_pattern
    functionSourceFile: /src/cairo/test/operator-source.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_linear
    - cairo_set_source
    - cairo_pattern_destroy
    - cairo_pattern_add_color_stop_rgba
    linkageType: ''
    returnType: void
    signature: 'static void set_gradient_pattern (cairo_t *cr, int x, int y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_new_path
      Src: /src/cairo/test/operator-source.c:136,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/operator-source.c:137,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/operator-source.c:139,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/operator-source.c:138,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/operator-source.c:140,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/operator-source.c:141,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/operator-source.c:142,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/operator-source.c:143,1
    - Dst: cairo_fill
      Src: /src/cairo/test/operator-source.c:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 3
    argNames:
    - cr
    - x
    - y
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 145
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 145
    functionName: draw_polygon
    functionSourceFile: /src/cairo/test/operator-source.c
    functionUses: []
    functionsReached:
    - cairo_new_path
    - cairo_line_to
    - cairo_close_path
    - cairo_fill
    - cairo_move_to
    linkageType: ''
    returnType: void
    signature: 'static void draw_polygon (cairo_t *cr, int x, int y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw_rects
      Src: /src/cairo/test/operator-source.c:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - x
    - y
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: draw_aligned_rects
    functionSourceFile: /src/cairo/test/operator-source.c
    functionUses: []
    functionsReached:
    - draw_rects
    linkageType: ''
    returnType: void
    signature: 'static void draw_aligned_rects (cairo_t *cr, int x, int y) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/operator-source.c:204,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/operator-source.c:219,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/operator-source.c:232,1
    - Dst: cairo_status
      Src: /src/cairo/test/operator-source.c:231,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/operator-source.c:224,1
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/operator-source.c:200,1
    - Dst: cairo_save
      Src: /src/cairo/test/operator-source.c:213,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/operator-source.c:209,1
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/test/operator-source.c:215,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/operator-source.c:222,1
    - Dst: cairo_clip
      Src: /src/cairo/test/operator-source.c:226,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/operator-source.c:208,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/operator-source.c:221,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/operator-source.c:228,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/test/operator-source.c:225,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/operator-source.c:239,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/operator-source.c:217,1
    - Dst: cairo_restore
      Src: /src/cairo/test/operator-source.c:234,1
    - Dst: cairo_status
      Src: /src/cairo/test/operator-source.c:238,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 242
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 242
    functionName: draw
    functionSourceFile: /src/cairo/test/operator-source.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - cairo_test_get_context
    - cairo_pattern_create_linear
    - ARRAY_LENGTH
    - cairo_save
    - cairo_set_source
    - cairo_status
    - cairo_restore
    - cairo_select_font_face
    - cairo_pattern_add_color_stop_rgba
    - cairo_fill_preserve
    - cairo_set_operator
    - cairo_clip
    - cairo_pattern_destroy
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_new_path
      Src: /src/cairo/test/clip-zero.c:34,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-zero.c:36,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-zero.c:35,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-zero.c:43,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-zero.c:46,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/clip-zero.c:55,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/clip-zero.c:58,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-zero.c:61,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-zero.c:40,1
    - Dst: cairo_push_group
      Src: /src/cairo/test/clip-zero.c:38,1
    - Dst: cairo_mask
      Src: /src/cairo/test/clip-zero.c:51,1
    - Dst: cairo_get_group_target
      Src: /src/cairo/test/clip-zero.c:53,1
    - Dst: cairo_pop_group_to_source
      Src: /src/cairo/test/clip-zero.c:60,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/test/clip-zero.c:44,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/clip-zero.c:51,1
    - Dst: cairo_mask
      Src: /src/cairo/test/clip-zero.c:57,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/clip-zero.c:42,1
    - Dst: cairo_stroke_preserve
      Src: /src/cairo/test/clip-zero.c:45,1
    - Dst: cairo_pattern_create_for_surface
      Src: /src/cairo/test/clip-zero.c:54,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/clip-zero.c:48,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/clip-zero.c:49,1
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/clip-zero.c:53,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 64
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 64
    functionName: draw
    functionSourceFile: /src/cairo/test/clip-zero.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_for_surface
    - cairo_paint
    - cairo_get_group_target
    - cairo_show_text
    - cairo_new_path
    - cairo_pop_group_to_source
    - cairo_get_source
    - cairo_pattern_destroy
    - cairo_mask
    - cairo_surface_create_similar
    - cairo_surface_destroy
    - cairo_select_font_face
    - cairo_set_source_rgb
    - cairo_stroke_preserve
    - cairo_push_group
    - cairo_clip
    - cairo_fill_preserve
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_create
      Src: /src/cairo/test/subsurface-image-repeat.c:42,1
    - Dst: cairo_test_create_surface_from_png
      Src: /src/cairo/test/subsurface-image-repeat.c:45,1
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/subsurface-image-repeat.c:32,1
    - Dst: cairo_surface_create_for_rectangle
      Src: /src/cairo/test/subsurface-image-repeat.c:40,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/subsurface-image-repeat.c:40,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/subsurface-image-repeat.c:36,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/subsurface-image-repeat.c:46,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/subsurface-image-repeat.c:57,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/subsurface-image-repeat.c:52,1
    - Dst: cairo_fill
      Src: /src/cairo/test/subsurface-image-repeat.c:59,1
    - Dst: cairo_image_surface_get_width
      Src: /src/cairo/test/subsurface-image-repeat.c:47,1
    - Dst: cairo_image_surface_get_height
      Src: /src/cairo/test/subsurface-image-repeat.c:48,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/subsurface-image-repeat.c:56,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/subsurface-image-repeat.c:56,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/subsurface-image-repeat.c:50,1
    - Dst: cairo_paint
      Src: /src/cairo/test/subsurface-image-repeat.c:37,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/subsurface-image-repeat.c:43,1
    - Dst: cairo_paint
      Src: /src/cairo/test/subsurface-image-repeat.c:49,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/subsurface-image-repeat.c:52,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/subsurface-image-repeat.c:53,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/subsurface-image-repeat.c:58,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 62
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 62
    functionName: draw
    functionSourceFile: /src/cairo/test/subsurface-image-repeat.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_surface_create_for_rectangle
    - cairo_test_create_surface_from_png
    - cairo_test_get_context
    - cairo_get_source
    - cairo_create
    - cairo_surface_destroy
    - cairo_image_surface_get_height
    - cairo_pattern_set_extend
    - cairo_get_target
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_destroy
    - cairo_image_surface_get_width
    - cairo_set_source_surface
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/scale-down-source-surface-paint.c:41,1
    - Dst: cairo_paint
      Src: /src/cairo/test/scale-down-source-surface-paint.c:42,1
    - Dst: cairo_scale
      Src: /src/cairo/test/scale-down-source-surface-paint.c:47,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/scale-down-source-surface-paint.c:49,1
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/test/scale-down-source-surface-paint.c:44,1
    - Dst: cairo_pattern_set_filter
      Src: /src/cairo/test/scale-down-source-surface-paint.c:50,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/scale-down-source-surface-paint.c:50,1
    - Dst: cairo_paint
      Src: /src/cairo/test/scale-down-source-surface-paint.c:51,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/scale-down-source-surface-paint.c:53,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/scale-down-source-surface-paint.c:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 57
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 57
    functionName: draw
    functionSourceFile: /src/cairo/test/scale-down-source-surface-paint.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_surface_finish
    - cairo_pattern_set_filter
    - cairo_get_source
    - cairo_image_surface_create_for_data
    - cairo_surface_destroy
    - cairo_scale
    - cairo_set_source_rgb
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/bug-84115.c:37,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/bug-84115.c:43,1
    - Dst: cairo_paint
      Src: /src/cairo/test/bug-84115.c:38,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/bug-84115.c:40,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/bug-84115.c:41,1
    - Dst: cairo_arc
      Src: /src/cairo/test/bug-84115.c:44,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/bug-84115.c:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 53
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 53
    functionName: draw
    functionSourceFile: /src/cairo/test/bug-84115.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgba
    - cairo_set_line_width
    - cairo_arc
    - cairo_stroke
    - cairo_set_line_cap
    - cairo_set_source_rgb
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/leaky-dash.c:41,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/leaky-dash.c:43,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/leaky-dash.c:45,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/leaky-dash.c:49,1
    - Dst: cairo_paint
      Src: /src/cairo/test/leaky-dash.c:42,1
    - Dst: cairo_set_dash
      Src: /src/cairo/test/leaky-dash.c:51,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/leaky-dash.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 55
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 55
    functionName: draw
    functionSourceFile: /src/cairo/test/leaky-dash.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_line_width
    - cairo_set_dash
    - cairo_stroke
    - cairo_set_source_rgb
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_paint
      Src: /src/cairo/test/degenerate-solid-dash.c:36,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/degenerate-solid-dash.c:37,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/degenerate-solid-dash.c:39,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/degenerate-solid-dash.c:43,1
    - Dst: cairo_translate
      Src: /src/cairo/test/degenerate-solid-dash.c:45,1
    - Dst: cairo_set_dash
      Src: /src/cairo/test/degenerate-solid-dash.c:46,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/degenerate-solid-dash.c:48,1
    - Dst: cairo_set_dash
      Src: /src/cairo/test/degenerate-solid-dash.c:51,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/degenerate-solid-dash.c:53,1
    - Dst: cairo_set_dash
      Src: /src/cairo/test/degenerate-solid-dash.c:56,1
    - Dst: cairo_translate
      Src: /src/cairo/test/degenerate-solid-dash.c:50,1
    - Dst: cairo_translate
      Src: /src/cairo/test/degenerate-solid-dash.c:55,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/degenerate-solid-dash.c:35,1
    - Dst: cairo_set_dash
      Src: /src/cairo/test/degenerate-solid-dash.c:41,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/degenerate-solid-dash.c:42,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/degenerate-solid-dash.c:47,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/degenerate-solid-dash.c:58,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/degenerate-solid-dash.c:52,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/degenerate-solid-dash.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 61
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 61
    functionName: draw
    functionSourceFile: /src/cairo/test/degenerate-solid-dash.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_line_width
    - cairo_set_dash
    - cairo_stroke
    - cairo_set_source_rgb
    - cairo_translate
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_rectangle
      Src: /src/cairo/test/fill-and-stroke-alpha-add.c:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: rectangle
    functionSourceFile: /src/cairo/test/fill-and-stroke-alpha-add.c
    functionUses: []
    functionsReached:
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void rectangle (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pattern_create_rgba
      Src: /src/cairo/test/fill-and-stroke-alpha-add.c:84,1
    - Dst: cairo_translate
      Src: /src/cairo/test/fill-and-stroke-alpha-add.c:91,1
    - Dst: cairo_test_paint_checkered
      Src: /src/cairo/test/fill-and-stroke-alpha-add.c:87,1
    - Dst: cairo_pattern_create_rgba
      Src: /src/cairo/test/fill-and-stroke-alpha-add.c:85,1
    - Dst: fill_and_stroke
      Src: /src/cairo/test/fill-and-stroke-alpha-add.c:89,1
    - Dst: fill_and_stroke
      Src: /src/cairo/test/fill-and-stroke-alpha-add.c:93,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/fill-and-stroke-alpha-add.c:95,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/fill-and-stroke-alpha-add.c:96,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 99
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 99
    functionName: draw
    functionSourceFile: /src/cairo/test/fill-and-stroke-alpha-add.c
    functionUses: []
    functionsReached:
    - fill_and_stroke
    - cairo_test_paint_checkered
    - cairo_pattern_create_rgba
    - cairo_translate
    - cairo_pattern_destroy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_arc
      Src: /src/cairo/test/fill-and-stroke-alpha-add.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: circle
    functionSourceFile: /src/cairo/test/fill-and-stroke-alpha-add.c
    functionUses: []
    functionsReached:
    - cairo_arc
    linkageType: ''
    returnType: void
    signature: 'static void circle (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_push_group
      Src: /src/cairo/test/fill-and-stroke-alpha-add.c:58,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/fill-and-stroke-alpha-add.c:61,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/test/fill-and-stroke-alpha-add.c:62,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/fill-and-stroke-alpha-add.c:65,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/fill-and-stroke-alpha-add.c:66,1
    - Dst: cairo_stroke_preserve
      Src: /src/cairo/test/fill-and-stroke-alpha-add.c:67,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/fill-and-stroke-alpha-add.c:70,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/fill-and-stroke-alpha-add.c:71,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/fill-and-stroke-alpha-add.c:72,1
    - Dst: cairo_pop_group_to_source
      Src: /src/cairo/test/fill-and-stroke-alpha-add.c:74,1
    - Dst: cairo_paint
      Src: /src/cairo/test/fill-and-stroke-alpha-add.c:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - cr
    - path_func
    - fill_pattern
    - stroke_pattern
    argTypes:
    - cairo_t*
    - path_func_t
    - cairo_pattern_t*
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 76
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 76
    functionName: fill_and_stroke
    functionSourceFile: /src/cairo/test/fill-and-stroke-alpha-add.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_pop_group_to_source
    - cairo_set_source
    - cairo_stroke
    - cairo_set_operator
    - cairo_set_source_rgb
    - cairo_stroke_preserve
    - cairo_push_group
    - cairo_fill_preserve
    linkageType: ''
    returnType: void
    signature: "static void fill_and_stroke (cairo_t\t\t*cr,\t\t path_func_t\t\t path_func,\t\
      \t cairo_pattern_t\t*fill_pattern,\t\t cairo_pattern_t\t*stroke_pattern) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_rectangle
      Src: /src/cairo/test/fill-and-stroke.c:33,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/test/fill-and-stroke.c:35,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/fill-and-stroke.c:34,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/fill-and-stroke.c:37,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/fill-and-stroke.c:36,1
    - Dst: cairo_translate
      Src: /src/cairo/test/fill-and-stroke.c:39,1
    - Dst: cairo_arc
      Src: /src/cairo/test/fill-and-stroke.c:41,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/test/fill-and-stroke.c:45,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/fill-and-stroke.c:46,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/fill-and-stroke.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 50
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 50
    functionName: draw
    functionSourceFile: /src/cairo/test/fill-and-stroke.c
    functionUses: []
    functionsReached:
    - cairo_set_source_rgb
    - cairo_arc
    - cairo_stroke
    - cairo_translate
    - cairo_fill_preserve
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_log
      Src: /src/cairo/test/a1-mask.c:56,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/a1-mask.c:59,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/a1-mask.c:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - status
    - expected
    argTypes:
    - cairo_test_context_t*
    - cairo_status_t
    - cairo_status_t
    constantsTouched: []
    func_position:
      end: 63
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 63
    functionName: check_status
    functionSourceFile: /src/cairo/test/a1-mask.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - cairo_status_to_string
    linkageType: ''
    returnType: cairo_test_status_t
    signature: "static cairo_test_status_t check_status (const cairo_test_context_t\
      \ *ctx,\t cairo_status_t status,\t cairo_status_t expected) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cairo_format_stride_for_width
      Src: /src/cairo/test/a1-mask.c:150,1
    - Dst: test_surface_with_width_and_stride
      Src: /src/cairo/test/a1-mask.c:185,1
    - Dst: test_surface_with_width_and_stride
      Src: /src/cairo/test/a1-mask.c:167,1
    - Dst: test_surface_with_width_and_stride
      Src: /src/cairo/test/a1-mask.c:160,1
    - Dst: test_surface_with_width_and_stride
      Src: /src/cairo/test/a1-mask.c:178,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - cairo_test_context_t*
    constantsTouched: []
    func_position:
      end: 194
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 194
    functionName: preamble
    functionSourceFile: /src/cairo/test/a1-mask.c
    functionUses: []
    functionsReached:
    - test_surface_with_width_and_stride
    - cairo_format_stride_for_width
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t preamble (cairo_test_context_t *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/a1-mask.c:112,1
    - Dst: memcpy
      Src: /src/cairo/test/a1-mask.c:122,1
    - Dst: cairo_image_surface_get_data
      Src: /src/cairo/test/a1-mask.c:116,1
    - Dst: cairo_image_surface_get_stride
      Src: /src/cairo/test/a1-mask.c:118,1
    - Dst: cairo_surface_mark_dirty
      Src: /src/cairo/test/a1-mask.c:127,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/a1-mask.c:130,1
    - Dst: cairo_paint
      Src: /src/cairo/test/a1-mask.c:131,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/a1-mask.c:134,1
    - Dst: cairo_mask_surface
      Src: /src/cairo/test/a1-mask.c:135,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/a1-mask.c:136,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - cr
    - dst_width
    - dst_height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 139
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 139
    functionName: draw
    functionSourceFile: /src/cairo/test/a1-mask.c
    functionUses: []
    functionsReached:
    - memcpy
    - cairo_paint
    - cairo_mask_surface
    - cairo_image_surface_get_data
    - cairo_surface_mark_dirty
    - cairo_surface_destroy
    - cairo_image_surface_create
    - cairo_set_source_rgb
    - cairo_image_surface_get_stride
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int dst_width, int dst_height) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_log
      Src: /src/cairo/test/a1-mask.c:76,1
    - Dst: cairo_paint
      Src: /src/cairo/test/a1-mask.c:89,1
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/test/a1-mask.c:85,1
    - Dst: xmalloc
      Src: /src/cairo/test/a1-mask.c:83,1
    - Dst: cairo_create
      Src: /src/cairo/test/a1-mask.c:87,1
    - Dst: check_status
      Src: /src/cairo/test/a1-mask.c:91,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/a1-mask.c:91,1
    - Dst: check_status
      Src: /src/cairo/test/a1-mask.c:95,1
    - Dst: cairo_status
      Src: /src/cairo/test/a1-mask.c:95,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/a1-mask.c:100,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/a1-mask.c:101,1
    - Dst: free
      Src: /src/cairo/test/a1-mask.c:102,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 4
    argNames:
    - ctx
    - width
    - stride
    - expected
    argTypes:
    - cairo_test_context_t*
    - int
    - int
    - cairo_status_t
    constantsTouched: []
    func_position:
      end: 104
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 104
    functionName: test_surface_with_width_and_stride
    functionSourceFile: /src/cairo/test/a1-mask.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - cairo_paint
    - xmalloc
    - free
    - cairo_image_surface_create_for_data
    - cairo_create
    - cairo_surface_status
    - check_status
    - cairo_surface_destroy
    - cairo_status
    - cairo_destroy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: "static cairo_test_status_t test_surface_with_width_and_stride (const\
      \ cairo_test_context_t *ctx,\t\t\t\t int width, int stride,\t\t\t\t cairo_status_t\
      \ expected) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/test/clip-fill.c:37,1
    - Dst: cairo_save
      Src: /src/cairo/test/clip-fill.c:54,1
    - Dst: cairo_fill
      Src: /src/cairo/test/clip-fill.c:48,1
    - Dst: cairo_fill
      Src: /src/cairo/test/clip-fill.c:66,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-fill.c:63,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-fill.c:34,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-fill.c:40,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-fill.c:42,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-fill.c:44,1
    - Dst: cairo_new_sub_path
      Src: /src/cairo/test/clip-fill.c:56,1
    - Dst: cairo_arc_negative
      Src: /src/cairo/test/clip-fill.c:57,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-fill.c:60,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-fill.c:62,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-fill.c:33,1
    - Dst: cairo_arc
      Src: /src/cairo/test/clip-fill.c:47,1
    - Dst: cairo_arc
      Src: /src/cairo/test/clip-fill.c:65,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-fill.c:39,1
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/test/clip-fill.c:38,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-fill.c:41,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-fill.c:45,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-fill.c:46,1
    - Dst: cairo_restore
      Src: /src/cairo/test/clip-fill.c:49,1
    - Dst: cairo_arc
      Src: /src/cairo/test/clip-fill.c:55,1
    - Dst: cairo_translate
      Src: /src/cairo/test/clip-fill.c:51,1
    - Dst: cairo_new_sub_path
      Src: /src/cairo/test/clip-fill.c:58,1
    - Dst: cairo_arc
      Src: /src/cairo/test/clip-fill.c:59,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-fill.c:64,1
    - Dst: cairo_restore
      Src: /src/cairo/test/clip-fill.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 70
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 70
    functionName: draw
    functionSourceFile: /src/cairo/test/clip-fill.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_new_sub_path
    - cairo_translate
    - cairo_arc
    - cairo_save
    - cairo_restore
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_set_fill_rule
    - cairo_clip
    - cairo_arc_negative
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/image-bug-710072.c:38,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/image-bug-710072.c:43,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/image-bug-710072.c:42,1
    - Dst: cairo_paint
      Src: /src/cairo/test/image-bug-710072.c:39,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/image-bug-710072.c:41,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/test/image-bug-710072.c:44,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/image-bug-710072.c:45,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/image-bug-710072.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 49
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 49
    functionName: draw_aligned
    functionSourceFile: /src/cairo/test/image-bug-710072.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgba
    - cairo_stroke
    - cairo_set_source_rgb
    - cairo_fill_preserve
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_aligned (cairo_t *cr, int width, int
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/image-bug-710072.c:54,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/image-bug-710072.c:57,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/image-bug-710072.c:58,1
    - Dst: cairo_paint
      Src: /src/cairo/test/image-bug-710072.c:55,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/image-bug-710072.c:59,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/test/image-bug-710072.c:60,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/image-bug-710072.c:61,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/image-bug-710072.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 65
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 65
    functionName: draw_unaligned
    functionSourceFile: /src/cairo/test/image-bug-710072.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgba
    - cairo_stroke
    - cairo_set_source_rgb
    - cairo_fill_preserve
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_unaligned (cairo_t *cr, int width,
      int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/cairo/test/get-path-extents.c:40,1
    - Dst: fabs
      Src: /src/cairo/test/get-path-extents.c:43,1
    - Dst: fabs
      Src: /src/cairo/test/get-path-extents.c:42,1
    - Dst: fabs
      Src: /src/cairo/test/get-path-extents.c:41,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 9
    argNames:
    - x1
    - y1
    - x2
    - y2
    - expected_x1
    - expected_y1
    - expected_x2
    - expected_y2
    - tolerance
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 44
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 44
    functionName: within_tolerance
    functionSourceFile: /src/cairo/test/get-path-extents.c
    functionUses: []
    functionsReached:
    - fabs
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t within_tolerance(double x1, double y1,\t\t\t\t\
      \ double x2, double y2,\t\t\t\t double expected_x1, double expected_y1,\t\t\t\
      \t double expected_x2, double expected_y2,\t\t\t\t double tolerance) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_move_to
      Src: /src/cairo/test/get-path-extents.c:150,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/get-path-extents.c:251,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/get-path-extents.c:252,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:256,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/get-path-extents.c:277,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/get-path-extents.c:298,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:325,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:332,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/get-path-extents.c:343,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:344,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/get-path-extents.c:425,1
    - Dst: cairo_get_group_target
      Src: /src/cairo/test/get-path-extents.c:123,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:175,1
    - Dst: cairo_restore
      Src: /src/cairo/test/get-path-extents.c:194,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:189,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:229,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/get-path-extents.c:250,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:264,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/get-path-extents.c:283,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/get-path-extents.c:285,1
    - Dst: cairo_restore
      Src: /src/cairo/test/get-path-extents.c:292,1
    - Dst: cairo_restore
      Src: /src/cairo/test/get-path-extents.c:337,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:392,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:404,1
    - Dst: cairo_arc
      Src: /src/cairo/test/get-path-extents.c:342,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:208,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:216,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:136,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:146,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/get-path-extents.c:157,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:170,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:182,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/get-path-extents.c:237,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:242,1
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/test/get-path-extents.c:329,1
    - Dst: cairo_text_path
      Src: /src/cairo/test/get-path-extents.c:373,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/get-path-extents.c:401,1
    - Dst: cairo_restore
      Src: /src/cairo/test/get-path-extents.c:233,1
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/get-path-extents.c:123,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/get-path-extents.c:240,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:255,1
    - Dst: cairo_restore
      Src: /src/cairo/test/get-path-extents.c:268,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/get-path-extents.c:273,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:276,1
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/test/get-path-extents.c:301,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/get-path-extents.c:317,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:324,1
    - Dst: cairo_save
      Src: /src/cairo/test/get-path-extents.c:388,1
    - Dst: cairo_text_extents
      Src: /src/cairo/test/get-path-extents.c:354,1
    - Dst: cairo_save
      Src: /src/cairo/test/get-path-extents.c:294,1
    - Dst: cairo_restore
      Src: /src/cairo/test/get-path-extents.c:395,1
    - Dst: cairo_restore
      Src: /src/cairo/test/get-path-extents.c:407,1
    - Dst: cairo_create
      Src: /src/cairo/test/get-path-extents.c:127,1
    - Dst: cairo_save
      Src: /src/cairo/test/get-path-extents.c:139,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/get-path-extents.c:149,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:162,1
    - Dst: cairo_save
      Src: /src/cairo/test/get-path-extents.c:198,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/get-path-extents.c:241,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:244,1
    - Dst: cairo_save
      Src: /src/cairo/test/get-path-extents.c:262,1
    - Dst: cairo_save
      Src: /src/cairo/test/get-path-extents.c:271,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:288,1
    - Dst: cairo_save
      Src: /src/cairo/test/get-path-extents.c:341,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/get-path-extents.c:353,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/get-path-extents.c:429,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:380,1
    - Dst: memcmp
      Src: /src/cairo/test/get-path-extents.c:359,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:153,1
    - Dst: cairo_arc_negative
      Src: /src/cairo/test/get-path-extents.c:187,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:183,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/get-path-extents.c:254,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:257,1
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/test/get-path-extents.c:309,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:333,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/get-path-extents.c:345,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:382,1
    - Dst: cairo_save
      Src: /src/cairo/test/get-path-extents.c:399,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/get-path-extents.c:360,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:230,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:190,1
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/get-path-extents.c:114,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/get-path-extents.c:143,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:176,1
    - Dst: cairo_arc
      Src: /src/cairo/test/get-path-extents.c:180,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/get-path-extents.c:225,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:265,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:304,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:311,1
    - Dst: cairo_restore
      Src: /src/cairo/test/get-path-extents.c:402,1
    - Dst: cairo_arc_negative
      Src: /src/cairo/test/get-path-extents.c:173,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/get-path-extents.c:218,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/get-path-extents.c:227,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/get-path-extents.c:128,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:147,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:137,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:161,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/get-path-extents.c:172,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/get-path-extents.c:238,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/get-path-extents.c:239,1
    - Dst: cairo_restore
      Src: /src/cairo/test/get-path-extents.c:385,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:168,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/get-path-extents.c:232,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:214,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/get-path-extents.c:179,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/get-path-extents.c:267,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/get-path-extents.c:282,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/get-path-extents.c:299,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:323,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/get-path-extents.c:335,1
    - Dst: cairo_restore
      Src: /src/cairo/test/get-path-extents.c:346,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:424,1
    - Dst: cairo_set_miter_limit
      Src: /src/cairo/test/get-path-extents.c:132,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/get-path-extents.c:151,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:163,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:191,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/get-path-extents.c:226,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/get-path-extents.c:245,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:274,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:290,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:312,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/get-path-extents.c:390,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:289,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:184,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:154,1
    - Dst: cairo_restore
      Src: /src/cairo/test/get-path-extents.c:220,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/get-path-extents.c:203,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:206,1
    - Dst: cairo_save
      Src: /src/cairo/test/get-path-extents.c:236,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/get-path-extents.c:258,1
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/test/get-path-extents.c:321,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:378,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/get-path-extents.c:384,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:331,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/get-path-extents.c:284,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:177,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:231,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/get-path-extents.c:142,1
    - Dst: cairo_rel_curve_to
      Src: /src/cairo/test/get-path-extents.c:159,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/get-path-extents.c:228,1
    - Dst: cairo_save
      Src: /src/cairo/test/get-path-extents.c:249,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/get-path-extents.c:263,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:266,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/get-path-extents.c:272,1
    - Dst: cairo_restore
      Src: /src/cairo/test/get-path-extents.c:278,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:391,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:403,1
    - Dst: cairo_status
      Src: /src/cairo/test/get-path-extents.c:428,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/get-path-extents.c:374,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/get-path-extents.c:131,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/get-path-extents.c:165,1
    - Dst: cairo_arc
      Src: /src/cairo/test/get-path-extents.c:166,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/get-path-extents.c:212,1
    - Dst: cairo_save
      Src: /src/cairo/test/get-path-extents.c:224,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/get-path-extents.c:201,1
    - Dst: cairo_restore
      Src: /src/cairo/test/get-path-extents.c:246,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/get-path-extents.c:253,1
    - Dst: cairo_save
      Src: /src/cairo/test/get-path-extents.c:281,1
    - Dst: cairo_scaled_font_text_extents
      Src: /src/cairo/test/get-path-extents.c:356,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/get-path-extents.c:372,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/get-path-extents.c:394,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/get-path-extents.c:406,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:303,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/get-path-extents.c:130,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:135,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:155,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:169,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/get-path-extents.c:200,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/get-path-extents.c:211,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:215,1
    - Dst: cairo_restore
      Src: /src/cairo/test/get-path-extents.c:259,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/get-path-extents.c:296,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/get-path-extents.c:318,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:243,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/get-path-extents.c:319,1
    - Dst: cairo_rotate
      Src: /src/cairo/test/get-path-extents.c:412,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/get-path-extents.c:158,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/get-path-extents.c:204,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/get-path-extents.c:193,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:275,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/get-path-extents.c:291,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:313,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/get-path-extents.c:350,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:422,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:423,1
    - Dst: cairo_save
      Src: /src/cairo/test/get-path-extents.c:398,1
    - Dst: cairo_save
      Src: /src/cairo/test/get-path-extents.c:410,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/get-path-extents.c:432,1
    - Dst: cairo_save
      Src: /src/cairo/test/get-path-extents.c:349,1
    - Dst: cairo_restore
      Src: /src/cairo/test/get-path-extents.c:426,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/get-path-extents.c:186,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:145,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/get-path-extents.c:141,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:207,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:393,1
    - Dst: cairo_scale
      Src: /src/cairo/test/get-path-extents.c:400,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:405,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/get-path-extents.c:411,1
    - Dst: check_extents
      Src: /src/cairo/test/get-path-extents.c:305,1
    - Dst: cairo_scale
      Src: /src/cairo/test/get-path-extents.c:389,1
    - Dst: cairo_get_scaled_font
      Src: /src/cairo/test/get-path-extents.c:356,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 386
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 435
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 435
    functionName: draw
    functionSourceFile: /src/cairo/test/get-path-extents.c
    functionUses: []
    functionsReached:
    - cairo_get_scaled_font
    - cairo_set_line_width
    - cairo_text_path
    - cairo_close_path
    - cairo_scaled_font_text_extents
    - cairo_set_line_join
    - cairo_select_font_face
    - cairo_set_fill_rule
    - cairo_surface_create_similar
    - cairo_rectangle
    - check_extents
    - cairo_test_get_context
    - cairo_create
    - cairo_save
    - cairo_status
    - cairo_set_miter_limit
    - cairo_arc_negative
    - cairo_rel_curve_to
    - cairo_get_group_target
    - cairo_test_log
    - cairo_test_status_from_status
    - cairo_line_to
    - cairo_rel_line_to
    - cairo_arc
    - cairo_restore
    - cairo_rotate
    - cairo_text_extents
    - cairo_destroy
    - memcmp
    - cairo_new_path
    - cairo_set_font_size
    - cairo_surface_destroy
    - cairo_scale
    - cairo_set_line_cap
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: cairo_fill_extents
      Src: /src/cairo/test/get-path-extents.c:60,1
    - Dst: within_tolerance
      Src: /src/cairo/test/get-path-extents.c:80,1
    - Dst: cairo_status
      Src: /src/cairo/test/get-path-extents.c:73,1
    - Dst: cairo_stroke_extents
      Src: /src/cairo/test/get-path-extents.c:64,1
    - Dst: cairo_path_extents
      Src: /src/cairo/test/get-path-extents.c:68,1
    - Dst: cairo_get_tolerance
      Src: /src/cairo/test/get-path-extents.c:82,1
    - Dst: within_tolerance
      Src: /src/cairo/test/get-path-extents.c:87,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/get-path-extents.c:103,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 36
    argCount: 9
    argNames:
    - ctx
    - message
    - cr
    - type
    - relation
    - x
    - y
    - width
    - height
    argTypes:
    - cairo_test_context_t*
    - char*
    - cairo_t*
    - enum ExtentsType
    - enum Relation
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 109
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 109
    functionName: check_extents
    functionSourceFile: /src/cairo/test/get-path-extents.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - cairo_stroke_extents
    - cairo_get_tolerance
    - cairo_fill_extents
    - within_tolerance
    - cairo_status
    - cairo_path_extents
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t check_extents (const cairo_test_context_t *ctx,\t\
      \ const char *message, cairo_t *cr, enum ExtentsType type, enum Relation relation,\
      \ double x, double y, double width, double height) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/twin-antialias-subpixel.c:48,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/twin-antialias-subpixel.c:51,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/twin-antialias-subpixel.c:59,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/twin-antialias-subpixel.c:50,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/twin-antialias-subpixel.c:34,1
    - Dst: cairo_paint
      Src: /src/cairo/test/twin-antialias-subpixel.c:33,1
    - Dst: cairo_text_path
      Src: /src/cairo/test/twin-antialias-subpixel.c:58,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/twin-antialias-subpixel.c:38,1
    - Dst: cairo_set_antialias
      Src: /src/cairo/test/twin-antialias-subpixel.c:36,1
    - Dst: cairo_set_font_options
      Src: /src/cairo/test/twin-antialias-subpixel.c:45,1
    - Dst: cairo_font_options_destroy
      Src: /src/cairo/test/twin-antialias-subpixel.c:46,1
    - Dst: cairo_fill
      Src: /src/cairo/test/twin-antialias-subpixel.c:55,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/twin-antialias-subpixel.c:57,1
    - Dst: cairo_text_path
      Src: /src/cairo/test/twin-antialias-subpixel.c:54,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/twin-antialias-subpixel.c:60,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/twin-antialias-subpixel.c:53,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/twin-antialias-subpixel.c:32,1
    - Dst: cairo_font_options_create
      Src: /src/cairo/test/twin-antialias-subpixel.c:43,1
    - Dst: cairo_font_options_set_antialias
      Src: /src/cairo/test/twin-antialias-subpixel.c:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 63
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 63
    functionName: draw
    functionSourceFile: /src/cairo/test/twin-antialias-subpixel.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_font_options_set_antialias
    - cairo_set_font_options
    - cairo_font_options_destroy
    - cairo_font_options_create
    - cairo_show_text
    - cairo_set_line_width
    - cairo_set_font_size
    - cairo_text_path
    - cairo_stroke
    - cairo_select_font_face
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_move_to
    - cairo_set_antialias
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pattern_set_filter
      Src: /src/cairo/test/filter-nearest-transformed.c:71,1
    - Dst: cairo_paint
      Src: /src/cairo/test/filter-nearest-transformed.c:77,1
    - Dst: cairo_set_antialias
      Src: /src/cairo/test/filter-nearest-transformed.c:79,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/filter-nearest-transformed.c:81,1
    - Dst: cairo_set_matrix
      Src: /src/cairo/test/filter-nearest-transformed.c:84,1
    - Dst: cairo_image_surface_get_width
      Src: /src/cairo/test/filter-nearest-transformed.c:89,1
    - Dst: cairo_paint
      Src: /src/cairo/test/filter-nearest-transformed.c:92,1
    - Dst: cairo_restore
      Src: /src/cairo/test/filter-nearest-transformed.c:93,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/test/filter-nearest-transformed.c:101,1
    - Dst: cairo_test_create_surface_from_png
      Src: /src/cairo/test/filter-nearest-transformed.c:73,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/filter-nearest-transformed.c:76,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/filter-nearest-transformed.c:88,1
    - Dst: cairo_image_surface_get_height
      Src: /src/cairo/test/filter-nearest-transformed.c:90,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/filter-nearest-transformed.c:85,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/filter-nearest-transformed.c:95,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/test/filter-nearest-transformed.c:98,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/filter-nearest-transformed.c:109,1
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/filter-nearest-transformed.c:41,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/filter-nearest-transformed.c:69,1
    - Dst: cairo_mask
      Src: /src/cairo/test/filter-nearest-transformed.c:103,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/filter-nearest-transformed.c:108,1
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/test/filter-nearest-transformed.c:65,1
    - Dst: cairo_pattern_create_for_surface
      Src: /src/cairo/test/filter-nearest-transformed.c:68,1
    - Dst: cairo_save
      Src: /src/cairo/test/filter-nearest-transformed.c:83,1
    - Dst: cairo_clip
      Src: /src/cairo/test/filter-nearest-transformed.c:86,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/filter-nearest-transformed.c:91,1
    - Dst: cairo_pattern_set_filter
      Src: /src/cairo/test/filter-nearest-transformed.c:91,1
    - Dst: cairo_pattern_set_matrix
      Src: /src/cairo/test/filter-nearest-transformed.c:102,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 56
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 112
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 112
    functionName: draw
    functionSourceFile: /src/cairo/test/filter-nearest-transformed.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_for_surface
    - cairo_get_source
    - cairo_pattern_set_matrix
    - cairo_set_source_surface
    - cairo_rectangle
    - cairo_test_create_surface_from_png
    - cairo_test_get_context
    - cairo_save
    - cairo_mask
    - cairo_image_surface_get_height
    - cairo_clip
    - cairo_set_matrix
    - cairo_pattern_set_filter
    - cairo_image_surface_create_for_data
    - ARRAY_LENGTH
    - cairo_restore
    - cairo_image_surface_get_width
    - cairo_matrix_init_translate
    - cairo_pattern_destroy
    - cairo_set_antialias
    - cairo_paint
    - cairo_surface_destroy
    - cairo_set_source_rgb
    - cairo_matrix_multiply
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: XOpenDisplay
      Src: /src/cairo/test/get-xrender-format.c:48,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/get-xrender-format.c:69,1
    - Dst: cairo_xlib_surface_create
      Src: /src/cairo/test/get-xrender-format.c:75,1
    - Dst: DefaultVisual
      Src: /src/cairo/test/get-xrender-format.c:78,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/get-xrender-format.c:84,1
    - Dst: XCreatePixmap
      Src: /src/cairo/test/get-xrender-format.c:90,1
    - Dst: DefaultRootWindow
      Src: /src/cairo/test/get-xrender-format.c:90,1
    - Dst: DefaultScreenOfDisplay
      Src: /src/cairo/test/get-xrender-format.c:94,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/get-xrender-format.c:99,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/get-xrender-format.c:108,1
    - Dst: XRenderFindVisualFormat
      Src: /src/cairo/test/get-xrender-format.c:78,1
    - Dst: cairo_xlib_surface_get_xrender_format
      Src: /src/cairo/test/get-xrender-format.c:79,1
    - Dst: XCloseDisplay
      Src: /src/cairo/test/get-xrender-format.c:110,1
    - Dst: XFreePixmap
      Src: /src/cairo/test/get-xrender-format.c:106,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/get-xrender-format.c:81,1
    - Dst: XRenderFindStandardFormat
      Src: /src/cairo/test/get-xrender-format.c:89,1
    - Dst: DefaultVisual
      Src: /src/cairo/test/get-xrender-format.c:76,1
    - Dst: cairo_test_is_target_enabled
      Src: /src/cairo/test/get-xrender-format.c:45,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/get-xrender-format.c:50,1
    - Dst: DefaultScreen
      Src: /src/cairo/test/get-xrender-format.c:57,1
    - Dst: XDisplayName
      Src: /src/cairo/test/get-xrender-format.c:51,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/get-xrender-format.c:59,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/get-xrender-format.c:61,1
    - Dst: cairo_xlib_surface_get_xrender_format
      Src: /src/cairo/test/get-xrender-format.c:63,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/get-xrender-format.c:65,1
    - Dst: XCreatePixmap
      Src: /src/cairo/test/get-xrender-format.c:73,1
    - Dst: DefaultDepth
      Src: /src/cairo/test/get-xrender-format.c:74,1
    - Dst: DefaultRootWindow
      Src: /src/cairo/test/get-xrender-format.c:73,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/get-xrender-format.c:71,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/get-xrender-format.c:87,1
    - Dst: cairo_xlib_surface_create_with_xrender_format
      Src: /src/cairo/test/get-xrender-format.c:92,1
    - Dst: cairo_xlib_surface_get_xrender_format
      Src: /src/cairo/test/get-xrender-format.c:97,1
    - Dst: XFreePixmap
      Src: /src/cairo/test/get-xrender-format.c:85,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 58
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - cairo_test_context_t*
    constantsTouched: []
    func_position:
      end: 114
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 114
    functionName: preamble
    functionSourceFile: /src/cairo/test/get-xrender-format.c
    functionUses: []
    functionsReached:
    - DefaultVisual
    - cairo_xlib_surface_create_with_xrender_format
    - DefaultRootWindow
    - cairo_xlib_surface_create
    - XOpenDisplay
    - DefaultDepth
    - cairo_test_is_target_enabled
    - XDisplayName
    - cairo_test_log
    - DefaultScreen
    - XFreePixmap
    - XRenderFindStandardFormat
    - XCreatePixmap
    - XCloseDisplay
    - cairo_xlib_surface_get_xrender_format
    - DefaultScreenOfDisplay
    - cairo_surface_destroy
    - cairo_image_surface_create
    - XRenderFindVisualFormat
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t preamble (cairo_test_context_t *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_create
      Src: /src/cairo/test/pthread-show-text.c:58,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/pthread-show-text.c:59,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/pthread-show-text.c:63,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/pthread-show-text.c:61,1
    - Dst: cairo_paint
      Src: /src/cairo/test/pthread-show-text.c:62,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/pthread-show-text.c:65,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/pthread-show-text.c:68,1
    - Dst: cairo_font_extents
      Src: /src/cairo/test/pthread-show-text.c:69,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/pthread-show-text.c:71,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/pthread-show-text.c:76,1
    - Dst: strlen
      Src: /src/cairo/test/pthread-show-text.c:81,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/test/pthread-show-text.c:86,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/pthread-show-text.c:86,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/pthread-show-text.c:79,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/pthread-show-text.c:83,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/pthread-show-text.c:87,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 90
    functionName: draw_thread
    functionSourceFile: /src/cairo/test/pthread-show-text.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_show_text
    - strlen
    - cairo_font_extents
    - cairo_surface_reference
    - cairo_create
    - cairo_set_font_size
    - cairo_surface_destroy
    - cairo_select_font_face
    - cairo_get_target
    - cairo_set_source_rgb
    - cairo_destroy
    - cairo_move_to
    linkageType: ''
    returnType: void*
    signature: 'static void *draw_thread (void *arg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/pthread-show-text.c:101,1
    - Dst: cairo_surface_get_content
      Src: /src/cairo/test/pthread-show-text.c:102,1
    - Dst: pthread_create
      Src: /src/cairo/test/pthread-show-text.c:105,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/pthread-show-text.c:101,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/pthread-show-text.c:102,1
    - Dst: pthread_self
      Src: /src/cairo/test/pthread-show-text.c:106,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/pthread-show-text.c:107,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/pthread-show-text.c:113,1
    - Dst: cairo_paint
      Src: /src/cairo/test/pthread-show-text.c:114,1
    - Dst: pthread_equal
      Src: /src/cairo/test/pthread-show-text.c:119,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/pthread-show-text.c:124,1
    - Dst: cairo_translate
      Src: /src/cairo/test/pthread-show-text.c:127,1
    - Dst: pthread_self
      Src: /src/cairo/test/pthread-show-text.c:119,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/pthread-show-text.c:123,1
    - Dst: cairo_paint
      Src: /src/cairo/test/pthread-show-text.c:125,1
    - Dst: pthread_join
      Src: /src/cairo/test/pthread-show-text.c:122,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 134
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 134
    functionName: draw
    functionSourceFile: /src/cairo/test/pthread-show-text.c
    functionUses: []
    functionsReached:
    - pthread_create
    - cairo_paint
    - pthread_self
    - pthread_join
    - cairo_set_source_rgb
    - cairo_surface_destroy
    - cairo_get_target
    - pthread_equal
    - cairo_surface_get_content
    - cairo_translate
    - cairo_surface_create_similar
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_paint_checkered
      Src: /src/cairo/test/mesh-pattern-overlap.c:42,1
    - Dst: cairo_mesh_pattern_begin_patch
      Src: /src/cairo/test/mesh-pattern-overlap.c:48,1
    - Dst: cairo_pattern_create_mesh
      Src: /src/cairo/test/mesh-pattern-overlap.c:46,1
    - Dst: cairo_mesh_pattern_move_to
      Src: /src/cairo/test/mesh-pattern-overlap.c:50,1
    - Dst: cairo_translate
      Src: /src/cairo/test/mesh-pattern-overlap.c:44,1
    - Dst: cairo_mesh_pattern_curve_to
      Src: /src/cairo/test/mesh-pattern-overlap.c:51,1
    - Dst: cairo_mesh_pattern_curve_to
      Src: /src/cairo/test/mesh-pattern-overlap.c:52,1
    - Dst: cairo_mesh_pattern_curve_to
      Src: /src/cairo/test/mesh-pattern-overlap.c:53,1
    - Dst: cairo_mesh_pattern_curve_to
      Src: /src/cairo/test/mesh-pattern-overlap.c:54,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgb
      Src: /src/cairo/test/mesh-pattern-overlap.c:56,1
    - Dst: cairo_mesh_pattern_end_patch
      Src: /src/cairo/test/mesh-pattern-overlap.c:61,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgb
      Src: /src/cairo/test/mesh-pattern-overlap.c:58,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/mesh-pattern-overlap.c:63,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/mesh-pattern-overlap.c:65,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgb
      Src: /src/cairo/test/mesh-pattern-overlap.c:59,1
    - Dst: cairo_paint
      Src: /src/cairo/test/mesh-pattern-overlap.c:64,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgb
      Src: /src/cairo/test/mesh-pattern-overlap.c:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 68
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 68
    functionName: draw
    functionSourceFile: /src/cairo/test/mesh-pattern-overlap.c
    functionUses: []
    functionsReached:
    - cairo_mesh_pattern_move_to
    - cairo_paint
    - cairo_mesh_pattern_begin_patch
    - cairo_test_paint_checkered
    - cairo_mesh_pattern_curve_to
    - cairo_set_source
    - cairo_mesh_pattern_end_patch
    - cairo_pattern_create_mesh
    - cairo_translate
    - cairo_mesh_pattern_set_corner_color_rgb
    - cairo_pattern_destroy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_log
      Src: /src/cairo/test/in-fill-trapezoid.c:51,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/in-fill-trapezoid.c:79,1
    - Dst: cairo_in_fill
      Src: /src/cairo/test/in-fill-trapezoid.c:86,1
    - Dst: cairo_arc
      Src: /src/cairo/test/in-fill-trapezoid.c:103,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/in-fill-trapezoid.c:143,1
    - Dst: cairo_arc
      Src: /src/cairo/test/in-fill-trapezoid.c:159,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/in-fill-trapezoid.c:180,1
    - Dst: cairo_arc
      Src: /src/cairo/test/in-fill-trapezoid.c:181,1
    - Dst: cairo_in_fill
      Src: /src/cairo/test/in-fill-trapezoid.c:248,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/in-fill-trapezoid.c:96,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/in-fill-trapezoid.c:84,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/in-fill-trapezoid.c:134,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/in-fill-trapezoid.c:148,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/in-fill-trapezoid.c:170,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/in-fill-trapezoid.c:201,1
    - Dst: cairo_in_fill
      Src: /src/cairo/test/in-fill-trapezoid.c:215,1
    - Dst: cairo_in_fill
      Src: /src/cairo/test/in-fill-trapezoid.c:247,1
    - Dst: cairo_arc
      Src: /src/cairo/test/in-fill-trapezoid.c:167,1
    - Dst: cairo_arc
      Src: /src/cairo/test/in-fill-trapezoid.c:174,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/in-fill-trapezoid.c:139,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/in-fill-trapezoid.c:87,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/in-fill-trapezoid.c:101,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/in-fill-trapezoid.c:140,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/in-fill-trapezoid.c:173,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/in-fill-trapezoid.c:197,1
    - Dst: cairo_in_fill
      Src: /src/cairo/test/in-fill-trapezoid.c:244,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/in-fill-trapezoid.c:152,1
    - Dst: cairo_in_fill
      Src: /src/cairo/test/in-fill-trapezoid.c:58,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/in-fill-trapezoid.c:92,1
    - Dst: cairo_new_sub_path
      Src: /src/cairo/test/in-fill-trapezoid.c:131,1
    - Dst: cairo_arc
      Src: /src/cairo/test/in-fill-trapezoid.c:132,1
    - Dst: cairo_in_fill
      Src: /src/cairo/test/in-fill-trapezoid.c:216,1
    - Dst: cairo_in_fill
      Src: /src/cairo/test/in-fill-trapezoid.c:62,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/in-fill-trapezoid.c:55,1
    - Dst: cairo_in_fill
      Src: /src/cairo/test/in-fill-trapezoid.c:70,1
    - Dst: cairo_in_fill
      Src: /src/cairo/test/in-fill-trapezoid.c:104,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/in-fill-trapezoid.c:114,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/in-fill-trapezoid.c:141,1
    - Dst: cairo_in_fill
      Src: /src/cairo/test/in-fill-trapezoid.c:160,1
    - Dst: cairo_arc
      Src: /src/cairo/test/in-fill-trapezoid.c:122,1
    - Dst: cairo_in_fill
      Src: /src/cairo/test/in-fill-trapezoid.c:182,1
    - Dst: cairo_in_fill
      Src: /src/cairo/test/in-fill-trapezoid.c:249,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/in-fill-trapezoid.c:94,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/in-fill-trapezoid.c:130,1
    - Dst: cairo_arc_negative
      Src: /src/cairo/test/in-fill-trapezoid.c:168,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/in-fill-trapezoid.c:189,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/in-fill-trapezoid.c:214,1
    - Dst: cairo_in_fill
      Src: /src/cairo/test/in-fill-trapezoid.c:222,1
    - Dst: cairo_in_fill
      Src: /src/cairo/test/in-fill-trapezoid.c:239,1
    - Dst: cairo_in_fill
      Src: /src/cairo/test/in-fill-trapezoid.c:262,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/in-fill-trapezoid.c:268,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/in-fill-trapezoid.c:161,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/in-fill-trapezoid.c:35,1
    - Dst: cairo_in_fill
      Src: /src/cairo/test/in-fill-trapezoid.c:50,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/in-fill-trapezoid.c:63,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/in-fill-trapezoid.c:71,1
    - Dst: cairo_in_fill
      Src: /src/cairo/test/in-fill-trapezoid.c:78,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/in-fill-trapezoid.c:183,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/in-fill-trapezoid.c:194,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/in-fill-trapezoid.c:195,1
    - Dst: cairo_in_fill
      Src: /src/cairo/test/in-fill-trapezoid.c:261,1
    - Dst: cairo_in_fill
      Src: /src/cairo/test/in-fill-trapezoid.c:240,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/in-fill-trapezoid.c:166,1
    - Dst: cairo_arc_negative
      Src: /src/cairo/test/in-fill-trapezoid.c:150,1
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/test/in-fill-trapezoid.c:39,1
    - Dst: cairo_in_fill
      Src: /src/cairo/test/in-fill-trapezoid.c:133,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/in-fill-trapezoid.c:177,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/in-fill-trapezoid.c:186,1
    - Dst: cairo_arc
      Src: /src/cairo/test/in-fill-trapezoid.c:187,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/in-fill-trapezoid.c:211,1
    - Dst: cairo_in_fill
      Src: /src/cairo/test/in-fill-trapezoid.c:223,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/in-fill-trapezoid.c:116,1
    - Dst: cairo_in_fill
      Src: /src/cairo/test/in-fill-trapezoid.c:123,1
    - Dst: cairo_in_fill
      Src: /src/cairo/test/in-fill-trapezoid.c:142,1
    - Dst: cairo_in_fill
      Src: /src/cairo/test/in-fill-trapezoid.c:115,1
    - Dst: cairo_in_fill
      Src: /src/cairo/test/in-fill-trapezoid.c:204,1
    - Dst: cairo_in_fill
      Src: /src/cairo/test/in-fill-trapezoid.c:243,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/in-fill-trapezoid.c:37,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/in-fill-trapezoid.c:42,1
    - Dst: cairo_in_fill
      Src: /src/cairo/test/in-fill-trapezoid.c:95,1
    - Dst: cairo_in_fill
      Src: /src/cairo/test/in-fill-trapezoid.c:169,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/in-fill-trapezoid.c:121,1
    - Dst: cairo_in_fill
      Src: /src/cairo/test/in-fill-trapezoid.c:200,1
    - Dst: cairo_in_fill
      Src: /src/cairo/test/in-fill-trapezoid.c:220,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/in-fill-trapezoid.c:124,1
    - Dst: cairo_in_fill
      Src: /src/cairo/test/in-fill-trapezoid.c:54,1
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/test/in-fill-trapezoid.c:110,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/in-fill-trapezoid.c:113,1
    - Dst: cairo_in_fill
      Src: /src/cairo/test/in-fill-trapezoid.c:196,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/in-fill-trapezoid.c:205,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/in-fill-trapezoid.c:225,1
    - Dst: cairo_in_fill
      Src: /src/cairo/test/in-fill-trapezoid.c:151,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/in-fill-trapezoid.c:43,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/in-fill-trapezoid.c:129,1
    - Dst: cairo_arc_negative
      Src: /src/cairo/test/in-fill-trapezoid.c:175,1
    - Dst: cairo_in_fill
      Src: /src/cairo/test/in-fill-trapezoid.c:188,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/in-fill-trapezoid.c:210,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/in-fill-trapezoid.c:212,1
    - Dst: cairo_in_fill
      Src: /src/cairo/test/in-fill-trapezoid.c:221,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/in-fill-trapezoid.c:264,1
    - Dst: cairo_arc
      Src: /src/cairo/test/in-fill-trapezoid.c:85,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/in-fill-trapezoid.c:157,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/in-fill-trapezoid.c:105,1
    - Dst: cairo_arc
      Src: /src/cairo/test/in-fill-trapezoid.c:149,1
    - Dst: cairo_in_fill
      Src: /src/cairo/test/in-fill-trapezoid.c:256,1
    - Dst: cairo_in_fill
      Src: /src/cairo/test/in-fill-trapezoid.c:257,1
    - Dst: cairo_in_fill
      Src: /src/cairo/test/in-fill-trapezoid.c:258,1
    - Dst: cairo_in_fill
      Src: /src/cairo/test/in-fill-trapezoid.c:44,1
    - Dst: cairo_in_fill
      Src: /src/cairo/test/in-fill-trapezoid.c:66,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/in-fill-trapezoid.c:59,1
    - Dst: cairo_in_fill
      Src: /src/cairo/test/in-fill-trapezoid.c:74,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/in-fill-trapezoid.c:93,1
    - Dst: cairo_arc
      Src: /src/cairo/test/in-fill-trapezoid.c:102,1
    - Dst: cairo_in_fill
      Src: /src/cairo/test/in-fill-trapezoid.c:217,1
    - Dst: cairo_in_fill
      Src: /src/cairo/test/in-fill-trapezoid.c:218,1
    - Dst: cairo_in_fill
      Src: /src/cairo/test/in-fill-trapezoid.c:241,1
    - Dst: cairo_in_fill
      Src: /src/cairo/test/in-fill-trapezoid.c:242,1
    - Dst: cairo_create
      Src: /src/cairo/test/in-fill-trapezoid.c:36,1
    - Dst: cairo_in_fill
      Src: /src/cairo/test/in-fill-trapezoid.c:176,1
    - Dst: cairo_arc
      Src: /src/cairo/test/in-fill-trapezoid.c:158,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/in-fill-trapezoid.c:45,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/in-fill-trapezoid.c:67,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/in-fill-trapezoid.c:75,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/in-fill-trapezoid.c:213,1
    - Dst: cairo_in_fill
      Src: /src/cairo/test/in-fill-trapezoid.c:219,1
    - Dst: cairo_in_fill
      Src: /src/cairo/test/in-fill-trapezoid.c:236,1
    - Dst: cairo_in_fill
      Src: /src/cairo/test/in-fill-trapezoid.c:237,1
    - Dst: cairo_in_fill
      Src: /src/cairo/test/in-fill-trapezoid.c:238,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/in-fill-trapezoid.c:251,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 236
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - cairo_test_context_t*
    constantsTouched: []
    func_position:
      end: 271
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 271
    functionName: preamble
    functionSourceFile: /src/cairo/test/in-fill-trapezoid.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - cairo_new_path
    - cairo_destroy
    - cairo_line_to
    - cairo_arc
    - cairo_create
    - cairo_surface_destroy
    - cairo_close_path
    - cairo_in_fill
    - cairo_image_surface_create
    - cairo_new_sub_path
    - cairo_set_fill_rule
    - cairo_arc_negative
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t preamble (cairo_test_context_t *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_move_to
      Src: /src/cairo/test/joins-retrace.c:36,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/joins-retrace.c:37,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/joins-retrace.c:41,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/joins-retrace.c:39,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/joins-retrace.c:38,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/joins-retrace.c:42,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/joins-retrace.c:43,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/joins-retrace.c:44,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/joins-retrace.c:46,1
    - Dst: cairo_rel_curve_to
      Src: /src/cairo/test/joins-retrace.c:47,1
    - Dst: cairo_rel_curve_to
      Src: /src/cairo/test/joins-retrace.c:51,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/joins-retrace.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 56
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 56
    functionName: make_path
    functionSourceFile: /src/cairo/test/joins-retrace.c
    functionUses: []
    functionsReached:
    - cairo_rel_curve_to
    - cairo_rel_line_to
    - cairo_move_to
    - cairo_close_path
    linkageType: ''
    returnType: void
    signature: 'static void make_path (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/test/joins-retrace.c:61,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/joins-retrace.c:66,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/joins-retrace.c:65,1
    - Dst: make_path
      Src: /src/cairo/test/joins-retrace.c:64,1
    - Dst: cairo_translate
      Src: /src/cairo/test/joins-retrace.c:62,1
    - Dst: cairo_translate
      Src: /src/cairo/test/joins-retrace.c:67,1
    - Dst: make_path
      Src: /src/cairo/test/joins-retrace.c:69,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/joins-retrace.c:70,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/joins-retrace.c:71,1
    - Dst: cairo_translate
      Src: /src/cairo/test/joins-retrace.c:72,1
    - Dst: make_path
      Src: /src/cairo/test/joins-retrace.c:74,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/joins-retrace.c:75,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/joins-retrace.c:76,1
    - Dst: cairo_restore
      Src: /src/cairo/test/joins-retrace.c:79,1
    - Dst: cairo_translate
      Src: /src/cairo/test/joins-retrace.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 80
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 80
    functionName: draw_joins
    functionSourceFile: /src/cairo/test/joins-retrace.c
    functionUses: []
    functionsReached:
    - make_path
    - cairo_save
    - cairo_set_line_join
    - cairo_stroke
    - cairo_restore
    - cairo_translate
    linkageType: ''
    returnType: void
    signature: 'static void draw_joins (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/joins-retrace.c:85,1
    - Dst: draw_joins
      Src: /src/cairo/test/joins-retrace.c:91,1
    - Dst: cairo_paint
      Src: /src/cairo/test/joins-retrace.c:86,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/joins-retrace.c:89,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/joins-retrace.c:88,1
    - Dst: cairo_translate
      Src: /src/cairo/test/joins-retrace.c:94,1
    - Dst: cairo_scale
      Src: /src/cairo/test/joins-retrace.c:95,1
    - Dst: draw_joins
      Src: /src/cairo/test/joins-retrace.c:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 100
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 100
    functionName: draw
    functionSourceFile: /src/cairo/test/joins-retrace.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_line_width
    - cairo_set_source_rgb
    - cairo_scale
    - draw_joins
    - cairo_translate
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/smask-text.c:35,1
    - Dst: cairo_paint
      Src: /src/cairo/test/smask-text.c:46,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/smask-text.c:51,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/smask-text.c:56,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/smask-text.c:55,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/smask-text.c:62,1
    - Dst: floor
      Src: /src/cairo/test/smask-text.c:66,1
    - Dst: floor
      Src: /src/cairo/test/smask-text.c:67,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/smask-text.c:70,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/smask-text.c:72,1
    - Dst: cairo_get_group_target
      Src: /src/cairo/test/smask-text.c:38,1
    - Dst: cairo_create
      Src: /src/cairo/test/smask-text.c:41,1
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/smask-text.c:38,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/smask-text.c:50,1
    - Dst: cairo_text_extents
      Src: /src/cairo/test/smask-text.c:64,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/smask-text.c:65,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/smask-text.c:68,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/smask-text.c:71,1
    - Dst: cairo_paint
      Src: /src/cairo/test/smask-text.c:36,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/smask-text.c:42,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/smask-text.c:45,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/smask-text.c:53,1
    - Dst: cairo_mask_surface
      Src: /src/cairo/test/smask-text.c:71,1
    - Dst: cairo_save
      Src: /src/cairo/test/smask-text.c:44,1
    - Dst: cairo_restore
      Src: /src/cairo/test/smask-text.c:47,1
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/test/smask-text.c:49,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/smask-text.c:52,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/smask-text.c:54,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/smask-text.c:58,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 43
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 75
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 75
    functionName: draw
    functionSourceFile: /src/cairo/test/smask-text.c
    functionUses: []
    functionsReached:
    - cairo_mask_surface
    - cairo_set_source
    - cairo_select_font_face
    - cairo_pattern_add_color_stop_rgba
    - cairo_get_target
    - cairo_surface_create_similar
    - floor
    - cairo_show_text
    - cairo_pattern_create_linear
    - cairo_create
    - cairo_save
    - cairo_get_group_target
    - cairo_restore
    - cairo_set_operator
    - cairo_text_extents
    - cairo_destroy
    - cairo_pattern_destroy
    - cairo_paint
    - cairo_set_font_size
    - cairo_surface_destroy
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-empty-group.c:32,1
    - Dst: cairo_reset_clip
      Src: /src/cairo/test/clip-empty-group.c:38,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-empty-group.c:35,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-empty-group.c:34,1
    - Dst: cairo_push_group
      Src: /src/cairo/test/clip-empty-group.c:37,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-empty-group.c:40,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-empty-group.c:41,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-empty-group.c:43,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/clip-empty-group.c:44,1
    - Dst: cairo_fill
      Src: /src/cairo/test/clip-empty-group.c:45,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-empty-group.c:48,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-empty-group.c:49,1
    - Dst: cairo_pop_group_to_source
      Src: /src/cairo/test/clip-empty-group.c:52,1
    - Dst: cairo_reset_clip
      Src: /src/cairo/test/clip-empty-group.c:53,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-empty-group.c:54,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/clip-empty-group.c:50,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/clip-empty-group.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 57
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 57
    functionName: draw
    functionSourceFile: /src/cairo/test/clip-empty-group.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgba
    - cairo_line_to
    - cairo_pop_group_to_source
    - cairo_stroke
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_push_group
    - cairo_clip
    - cairo_reset_clip
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/xcb-snapshot-assert.c:35,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/xcb-snapshot-assert.c:38,1
    - Dst: cairo_create
      Src: /src/cairo/test/xcb-snapshot-assert.c:37,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/xcb-snapshot-assert.c:40,1
    - Dst: cairo_paint
      Src: /src/cairo/test/xcb-snapshot-assert.c:41,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/test/xcb-snapshot-assert.c:43,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/xcb-snapshot-assert.c:43,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/xcb-snapshot-assert.c:44,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 47
    functionName: create_image
    functionSourceFile: /src/cairo/test/xcb-snapshot-assert.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_surface_reference
    - cairo_create
    - cairo_surface_destroy
    - cairo_image_surface_create
    - cairo_get_target
    - cairo_set_source_rgb
    - cairo_destroy
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *create_image (int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_image
      Src: /src/cairo/test/xcb-snapshot-assert.c:55,1
    - Dst: cairo_paint
      Src: /src/cairo/test/xcb-snapshot-assert.c:60,1
    - Dst: cairo_paint
      Src: /src/cairo/test/xcb-snapshot-assert.c:64,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/xcb-snapshot-assert.c:57,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/xcb-snapshot-assert.c:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 67
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 67
    functionName: draw
    functionSourceFile: /src/cairo/test/xcb-snapshot-assert.c
    functionUses: []
    functionsReached:
    - cairo_surface_destroy
    - cairo_paint
    - create_image
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/large-clip.c:32,1
    - Dst: cairo_clip
      Src: /src/cairo/test/large-clip.c:36,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/large-clip.c:38,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/large-clip.c:35,1
    - Dst: cairo_paint
      Src: /src/cairo/test/large-clip.c:33,1
    - Dst: cairo_paint
      Src: /src/cairo/test/large-clip.c:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 42
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 42
    functionName: draw
    functionSourceFile: /src/cairo/test/large-clip.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_clip
    - cairo_rectangle
    - cairo_set_source_rgb
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-shape.c:48,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-shape.c:51,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-shape.c:54,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/clip-shape.c:52,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/clip-shape.c:55,1
    - Dst: cairo_stroke_preserve
      Src: /src/cairo/test/clip-shape.c:56,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-shape.c:57,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/clip-shape.c:63,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-shape.c:64,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-shape.c:65,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-shape.c:66,1
    - Dst: cairo_fill
      Src: /src/cairo/test/clip-shape.c:74,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-shape.c:70,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/clip-shape.c:67,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-shape.c:72,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 78
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 78
    functionName: draw
    functionSourceFile: /src/cairo/test/clip-shape.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_line_width
    - cairo_line_to
    - cairo_close_path
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_stroke_preserve
    - cairo_clip
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_paint
      Src: /src/cairo/test/path-append.c:38,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/path-append.c:42,1
    - Dst: cairo_rotate
      Src: /src/cairo/test/path-append.c:41,1
    - Dst: cairo_translate
      Src: /src/cairo/test/path-append.c:40,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/path-append.c:45,1
    - Dst: cairo_append_path
      Src: /src/cairo/test/path-append.c:58,1
    - Dst: cairo_identity_matrix
      Src: /src/cairo/test/path-append.c:62,1
    - Dst: cairo_set_matrix
      Src: /src/cairo/test/path-append.c:54,1
    - Dst: cairo_translate
      Src: /src/cairo/test/path-append.c:63,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/path-append.c:64,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/path-append.c:51,1
    - Dst: cairo_path_destroy
      Src: /src/cairo/test/path-append.c:60,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/path-append.c:53,1
    - Dst: cairo_paint
      Src: /src/cairo/test/path-append.c:65,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/path-append.c:37,1
    - Dst: cairo_get_matrix
      Src: /src/cairo/test/path-append.c:43,1
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/path-append.c:45,1
    - Dst: cairo_create
      Src: /src/cairo/test/path-append.c:50,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/path-append.c:57,1
    - Dst: cairo_fill
      Src: /src/cairo/test/path-append.c:59,1
    - Dst: cairo_set_matrix
      Src: /src/cairo/test/path-append.c:66,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/path-append.c:67,1
    - Dst: cairo_surface_set_device_offset
      Src: /src/cairo/test/path-append.c:49,1
    - Dst: cairo_copy_path
      Src: /src/cairo/test/path-append.c:56,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/path-append.c:64,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/path-append.c:70,1
    - Dst: cairo_fill
      Src: /src/cairo/test/path-append.c:68,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 73
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 73
    functionName: draw
    functionSourceFile: /src/cairo/test/path-append.c
    functionUses: []
    functionsReached:
    - cairo_get_target
    - cairo_translate
    - cairo_surface_create_similar
    - cairo_set_source_surface
    - cairo_rectangle
    - cairo_copy_path
    - cairo_create
    - cairo_surface_set_device_offset
    - cairo_get_matrix
    - cairo_set_matrix
    - cairo_path_destroy
    - cairo_append_path
    - cairo_fill
    - cairo_rotate
    - cairo_destroy
    - cairo_identity_matrix
    - cairo_paint
    - cairo_new_path
    - cairo_surface_destroy
    - cairo_set_source_rgb
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/cairo/test/cairo-test-runner.c:125,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 131
    functionName: _list_prepend
    functionSourceFile: /src/cairo/test/cairo-test-runner.c
    functionUses: []
    functionsReached:
    - xmalloc
    linkageType: ''
    returnType: cairo_test_list_t*
    signature: 'static cairo_test_list_t *_list_prepend (cairo_test_list_t *head,
      const cairo_test_t *test) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _log
      Src: /src/cairo/test/cairo-test-runner.c:434,1
    - Dst: _log
      Src: /src/cairo/test/cairo-test-runner.c:444,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - runner
    argTypes:
    - cairo_test_runner_t*
    constantsTouched: []
    func_position:
      end: 448
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 448
    functionName: _runner_print_summary
    functionSourceFile: /src/cairo/test/cairo-test-runner.c
    functionUses: []
    functionsReached:
    - _log
    linkageType: ''
    returnType: void
    signature: 'static void _runner_print_summary (cairo_test_runner_t *runner) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 145
    functionName: _list_reverse
    functionSourceFile: /src/cairo/test/cairo-test-runner.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_test_list_t*
    signature: 'static cairo_test_list_t *_list_reverse (cairo_test_list_t *head) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _log
      Src: /src/cairo/test/cairo-test-runner.c:477,1
    - Dst: _log
      Src: /src/cairo/test/cairo-test-runner.c:481,1
    - Dst: _log
      Src: /src/cairo/test/cairo-test-runner.c:507,1
    - Dst: cairo_test_get_name
      Src: /src/cairo/test/cairo-test-runner.c:516,1
    - Dst: _log
      Src: /src/cairo/test/cairo-test-runner.c:533,1
    - Dst: _log
      Src: /src/cairo/test/cairo-test-runner.c:540,1
    - Dst: _log
      Src: /src/cairo/test/cairo-test-runner.c:466,1
    - Dst: cairo_test_get_name
      Src: /src/cairo/test/cairo-test-runner.c:480,1
    - Dst: _log
      Src: /src/cairo/test/cairo-test-runner.c:484,1
    - Dst: _log
      Src: /src/cairo/test/cairo-test-runner.c:517,1
    - Dst: _log
      Src: /src/cairo/test/cairo-test-runner.c:492,1
    - Dst: _log
      Src: /src/cairo/test/cairo-test-runner.c:496,1
    - Dst: _log
      Src: /src/cairo/test/cairo-test-runner.c:523,1
    - Dst: cairo_test_get_name
      Src: /src/cairo/test/cairo-test-runner.c:532,1
    - Dst: _log
      Src: /src/cairo/test/cairo-test-runner.c:536,1
    - Dst: _log
      Src: /src/cairo/test/cairo-test-runner.c:550,1
    - Dst: _log
      Src: /src/cairo/test/cairo-test-runner.c:469,1
    - Dst: cairo_test_get_name
      Src: /src/cairo/test/cairo-test-runner.c:465,1
    - Dst: free
      Src: /src/cairo/test/cairo-test-runner.c:482,1
    - Dst: _log
      Src: /src/cairo/test/cairo-test-runner.c:499,1
    - Dst: cairo_boilerplate_content_name
      Src: /src/cairo/test/cairo-test-runner.c:509,1
    - Dst: cairo_test_get_name
      Src: /src/cairo/test/cairo-test-runner.c:495,1
    - Dst: _log
      Src: /src/cairo/test/cairo-test-runner.c:520,1
    - Dst: free
      Src: /src/cairo/test/cairo-test-runner.c:534,1
    - Dst: cairo_boilerplate_content_name
      Src: /src/cairo/test/cairo-test-runner.c:542,1
    - Dst: cairo_test_get_name
      Src: /src/cairo/test/cairo-test-runner.c:549,1
    - Dst: _log
      Src: /src/cairo/test/cairo-test-runner.c:553,1
    - Dst: _log
      Src: /src/cairo/test/cairo-test-runner.c:462,1
    - Dst: free
      Src: /src/cairo/test/cairo-test-runner.c:467,1
    - Dst: free
      Src: /src/cairo/test/cairo-test-runner.c:497,1
    - Dst: free
      Src: /src/cairo/test/cairo-test-runner.c:518,1
    - Dst: cairo_boilerplate_content_name
      Src: /src/cairo/test/cairo-test-runner.c:525,1
    - Dst: free
      Src: /src/cairo/test/cairo-test-runner.c:551,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 77
    argCount: 1
    argNames:
    - runner
    argTypes:
    - cairo_test_runner_t*
    constantsTouched: []
    func_position:
      end: 556
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 556
    functionName: _runner_print_details
    functionSourceFile: /src/cairo/test/cairo-test-runner.c
    functionUses: []
    functionsReached:
    - free
    - cairo_boilerplate_content_name
    - _log
    - cairo_test_get_name
    linkageType: ''
    returnType: void
    signature: 'static void _runner_print_details (cairo_test_runner_t *runner) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: waitpid
      Src: /src/cairo/test/cairo-test-runner.c:185,1
    - Dst: WIFSIGNALED
      Src: /src/cairo/test/cairo-test-runner.c:188,1
    - Dst: WEXITSTATUS
      Src: /src/cairo/test/cairo-test-runner.c:200,1
    - Dst: raise
      Src: /src/cairo/test/cairo-test-runner.c:192,1
    - Dst: WTERMSIG
      Src: /src/cairo/test/cairo-test-runner.c:189,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - pid
    argTypes:
    - pid_t
    constantsTouched: []
    func_position:
      end: 201
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 201
    functionName: _cairo_test_wait
    functionSourceFile: /src/cairo/test/cairo-test-runner.c
    functionUses: []
    functionsReached:
    - WTERMSIG
    - waitpid
    - WEXITSTATUS
    - raise
    - WIFSIGNALED
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t _cairo_test_wait (pid_t pid) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cairo_boilerplate_content_name
      Src: /src/cairo/test/cairo-test-runner.c:610,1
    - Dst: strlen
      Src: /src/cairo/test/cairo-test-runner.c:617,1
    - Dst: strlen
      Src: /src/cairo/test/cairo-test-runner.c:617,1
    - Dst: getenv
      Src: /src/cairo/test/cairo-test-runner.c:636,1
    - Dst: strcat
      Src: /src/cairo/test/cairo-test-runner.c:626,1
    - Dst: strlen
      Src: /src/cairo/test/cairo-test-runner.c:640,1
    - Dst: strcpy
      Src: /src/cairo/test/cairo-test-runner.c:623,1
    - Dst: strcat
      Src: /src/cairo/test/cairo-test-runner.c:625,1
    - Dst: strchr
      Src: /src/cairo/test/cairo-test-runner.c:629,1
    - Dst: strstr
      Src: /src/cairo/test/cairo-test-runner.c:641,1
    - Dst: fprintf
      Src: /src/cairo/test/cairo-test-runner.c:619,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/cairo-test-runner.c:620,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/cairo-test-runner.c:658,1
    - Dst: strlen
      Src: /src/cairo/test/cairo-test-runner.c:649,1
    - Dst: strchr
      Src: /src/cairo/test/cairo-test-runner.c:632,1
    - Dst: strlen
      Src: /src/cairo/test/cairo-test-runner.c:617,1
    - Dst: malloc
      Src: /src/cairo/test/cairo-test-runner.c:617,1
    - Dst: strcat
      Src: /src/cairo/test/cairo-test-runner.c:624,1
    - Dst: free
      Src: /src/cairo/test/cairo-test-runner.c:662,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 51
    argCount: 2
    argNames:
    - ctx
    - target
    argTypes:
    - cairo_test_context_t*
    - cairo_boilerplate_target_t*
    constantsTouched: []
    func_position:
      end: 665
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 665
    functionName: expect_fail_due_to_env_var
    functionSourceFile: /src/cairo/test/cairo-test-runner.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - malloc
    - cairo_boilerplate_content_name
    - strcat
    - getenv
    - fprintf
    - strlen
    - free
    - strcpy
    - strchr
    - strstr
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t expect_fail_due_to_env_var (cairo_test_context_t
      *ctx, const cairo_boilerplate_target_t *target) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/cairo/test/cairo-test-runner.c:213,1
    - Dst: fork
      Src: /src/cairo/test/cairo-test-runner.c:215,1
    - Dst: _cairo_test_wait
      Src: /src/cairo/test/cairo-test-runner.c:223,1
    - Dst: exit
      Src: /src/cairo/test/cairo-test-runner.c:220,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - runner
    - ctx
    argTypes:
    - cairo_test_runner_t*
    - cairo_test_context_t*
    constantsTouched: []
    func_position:
      end: 228
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 228
    functionName: _cairo_test_runner_preamble
    functionSourceFile: /src/cairo/test/cairo-test-runner.c
    functionUses: []
    functionsReached:
    - _cairo_test_wait
    - fork
    - fflush
    - exit
    linkageType: ''
    returnType: cairo_test_status_t
    signature: "static cairo_test_status_t _cairo_test_runner_preamble (cairo_test_runner_t\
      \ *runner,\t\t\t cairo_test_context_t *ctx) "
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - a
    - op
    - b
    argTypes:
    - int
    - cairo_test_compare_op_t
    - int
    constantsTouched: []
    func_position:
      end: 676
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 676
    functionName: _version_compare
    functionSourceFile: /src/cairo/test/cairo-test-runner.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _version_compare (int a, cairo_test_compare_op_t
      op, int b) '
  - BBCount: 75
    BranchProfiles: []
    Callsites:
    - Dst: _list_reverse
      Src: /src/cairo/test/cairo-test-runner.c:749,1
    - Dst: strstr
      Src: /src/cairo/test/cairo-test-runner.c:856,1
    - Dst: printf
      Src: /src/cairo/test/cairo-test-runner.c:874,1
    - Dst: getenv
      Src: /src/cairo/test/cairo-test-runner.c:976,1
    - Dst: _list_prepend
      Src: /src/cairo/test/cairo-test-runner.c:1026,1
    - Dst: fprintf
      Src: /src/cairo/test/cairo-test-runner.c:979,1
    - Dst: _log
      Src: /src/cairo/test/cairo-test-runner.c:1124,1
    - Dst: _list_reverse
      Src: /src/cairo/test/cairo-test-runner.c:1145,1
    - Dst: _runner_fini
      Src: /src/cairo/test/cairo-test-runner.c:1154,1
    - Dst: is_running_under_debugger
      Src: /src/cairo/test/cairo-test-runner.c:755,1
    - Dst: append_argv
      Src: /src/cairo/test/cairo-test-runner.c:790,1
    - Dst: fprintf
      Src: /src/cairo/test/cairo-test-runner.c:893,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/cairo-test-runner.c:966,1
    - Dst: cairo_test_fini
      Src: /src/cairo/test/cairo-test-runner.c:1049,1
    - Dst: fflush
      Src: /src/cairo/test/cairo-test-runner.c:1127,1
    - Dst: _list_reverse
      Src: /src/cairo/test/cairo-test-runner.c:1147,1
    - Dst: _list_prepend
      Src: /src/cairo/test/cairo-test-runner.c:1020,1
    - Dst: _log
      Src: /src/cairo/test/cairo-test-runner.c:1067,1
    - Dst: _log
      Src: /src/cairo/test/cairo-test-runner.c:1091,1
    - Dst: fprintf
      Src: /src/cairo/test/cairo-test-runner.c:984,1
    - Dst: strstr
      Src: /src/cairo/test/cairo-test-runner.c:764,1
    - Dst: getenv
      Src: /src/cairo/test/cairo-test-runner.c:789,1
    - Dst: _cairo_test_runner_preamble
      Src: /src/cairo/test/cairo-test-runner.c:883,1
    - Dst: strcmp
      Src: /src/cairo/test/cairo-test-runner.c:885,1
    - Dst: free
      Src: /src/cairo/test/cairo-test-runner.c:1130,1
    - Dst: _log
      Src: /src/cairo/test/cairo-test-runner.c:1111,1
    - Dst: snprintf
      Src: /src/cairo/test/cairo-test-runner.c:1060,1
    - Dst: strstr
      Src: /src/cairo/test/cairo-test-runner.c:1100,1
    - Dst: fprintf
      Src: /src/cairo/test/cairo-test-runner.c:967,1
    - Dst: _cairo_test_context_init_for_test
      Src: /src/cairo/test/cairo-test-runner.c:878,1
    - Dst: strstr
      Src: /src/cairo/test/cairo-test-runner.c:828,1
    - Dst: _list_prepend
      Src: /src/cairo/test/cairo-test-runner.c:918,1
    - Dst: snprintf
      Src: /src/cairo/test/cairo-test-runner.c:1081,1
    - Dst: fprintf
      Src: /src/cairo/test/cairo-test-runner.c:989,1
    - Dst: printf
      Src: /src/cairo/test/cairo-test-runner.c:1140,1
    - Dst: _CrtSetReportFile
      Src: /src/cairo/test/cairo-test-runner.c:745,1
    - Dst: _runner_print_versions
      Src: /src/cairo/test/cairo-test-runner.c:802,1
    - Dst: expect_fail_due_to_env_var
      Src: /src/cairo/test/cairo-test-runner.c:964,1
    - Dst: _list_prepend
      Src: /src/cairo/test/cairo-test-runner.c:911,1
    - Dst: _cairo_test_runner_register_tests
      Src: /src/cairo/test/cairo-test-runner.c:748,1
    - Dst: strstr
      Src: /src/cairo/test/cairo-test-runner.c:761,1
    - Dst: strstr
      Src: /src/cairo/test/cairo-test-runner.c:767,1
    - Dst: _has_required_cairo_version
      Src: /src/cairo/test/cairo-test-runner.c:865,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/cairo-test-runner.c:887,1
    - Dst: fprintf
      Src: /src/cairo/test/cairo-test-runner.c:888,1
    - Dst: _log
      Src: /src/cairo/test/cairo-test-runner.c:1118,1
    - Dst: strstr
      Src: /src/cairo/test/cairo-test-runner.c:1057,1
    - Dst: free
      Src: /src/cairo/test/cairo-test-runner.c:1137,1
    - Dst: strstr
      Src: /src/cairo/test/cairo-test-runner.c:770,1
    - Dst: strstr
      Src: /src/cairo/test/cairo-test-runner.c:1078,1
    - Dst: strcmp
      Src: /src/cairo/test/cairo-test-runner.c:977,1
    - Dst: _log
      Src: /src/cairo/test/cairo-test-runner.c:1089,1
    - Dst: _runner_print_results
      Src: /src/cairo/test/cairo-test-runner.c:1150,1
    - Dst: memset
      Src: /src/cairo/test/cairo-test-runner.c:751,1
    - Dst: cairo_test_get_name
      Src: /src/cairo/test/cairo-test-runner.c:813,1
    - Dst: fprintf
      Src: /src/cairo/test/cairo-test-runner.c:971,1
    - Dst: _log
      Src: /src/cairo/test/cairo-test-runner.c:1069,1
    - Dst: _cairo_test_runner_draw
      Src: /src/cairo/test/cairo-test-runner.c:961,1
    - Dst: free
      Src: /src/cairo/test/cairo-test-runner.c:1153,1
    - Dst: getenv
      Src: /src/cairo/test/cairo-test-runner.c:759,1
    - Dst: _parse_cmdline
      Src: /src/cairo/test/cairo-test-runner.c:787,1
    - Dst: strcmp
      Src: /src/cairo/test/cairo-test-runner.c:836,1
    - Dst: strcmp
      Src: /src/cairo/test/cairo-test-runner.c:977,1
    - Dst: getenv
      Src: /src/cairo/test/cairo-test-runner.c:884,1
    - Dst: _log
      Src: /src/cairo/test/cairo-test-runner.c:1121,1
    - Dst: _list_prepend
      Src: /src/cairo/test/cairo-test-runner.c:926,1
    - Dst: strstr
      Src: /src/cairo/test/cairo-test-runner.c:864,1
    - Dst: fprintf
      Src: /src/cairo/test/cairo-test-runner.c:972,1
    - Dst: _list_reverse
      Src: /src/cairo/test/cairo-test-runner.c:1146,1
    - Dst: atoi
      Src: /src/cairo/test/cairo-test-runner.c:784,1
    - Dst: xmalloc
      Src: /src/cairo/test/cairo-test-runner.c:803,1
    - Dst: free
      Src: /src/cairo/test/cairo-test-runner.c:846,1
    - Dst: cairo_test_target_has_similar
      Src: /src/cairo/test/cairo-test-runner.c:952,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/cairo-test-runner.c:980,1
    - Dst: _list_free
      Src: /src/cairo/test/cairo-test-runner.c:1152,1
    - Dst: _log
      Src: /src/cairo/test/cairo-test-runner.c:1113,1
    - Dst: _CrtSetReportMode
      Src: /src/cairo/test/cairo-test-runner.c:744,1
    - Dst: getenv
      Src: /src/cairo/test/cairo-test-runner.c:758,1
    - Dst: strstr
      Src: /src/cairo/test/cairo-test-runner.c:773,1
    - Dst: memset
      Src: /src/cairo/test/cairo-test-runner.c:879,1
    - Dst: fprintf
      Src: /src/cairo/test/cairo-test-runner.c:981,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/cairo-test-runner.c:985,1
    - Dst: _list_prepend
      Src: /src/cairo/test/cairo-test-runner.c:1033,1
    - Dst: getenv
      Src: /src/cairo/test/cairo-test-runner.c:781,1
    - Dst: strstr
      Src: /src/cairo/test/cairo-test-runner.c:776,1
    - Dst: _runner_init
      Src: /src/cairo/test/cairo-test-runner.c:801,1
    - Dst: fprintf
      Src: /src/cairo/test/cairo-test-runner.c:986,1
    - Dst: snprintf
      Src: /src/cairo/test/cairo-test-runner.c:1103,1
    - Dst: getenv
      Src: /src/cairo/test/cairo-test-runner.c:782,1
    - Dst: fprintf
      Src: /src/cairo/test/cairo-test-runner.c:892,1
    CyclomaticComplexity: 117
    EdgeCount: 117
    ICount: 316
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1155
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 1155
    functionName: main
    functionSourceFile: /src/cairo/test/cairo-test-runner.c
    functionUses: []
    functionsReached:
    - printf
    - _log
    - _CrtSetReportFile
    - _cairo_test_context_init_for_test
    - expect_fail_due_to_env_var
    - strcmp
    - _parse_cmdline
    - is_running_under_debugger
    - fflush
    - fprintf
    - _has_required_cairo_version
    - _runner_fini
    - _cairo_test_runner_register_tests
    - cairo_test_fini
    - _runner_init
    - _list_prepend
    - cairo_test_log
    - append_argv
    - getenv
    - _CrtSetReportMode
    - _runner_print_results
    - cairo_test_target_has_similar
    - _cairo_test_runner_preamble
    - snprintf
    - strstr
    - memset
    - _list_reverse
    - xmalloc
    - _runner_print_versions
    - free
    - _cairo_test_runner_draw
    - cairo_test_get_name
    - _list_free
    - atoi
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cairo/test/cairo-test-runner.c:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - argv0
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 349
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 349
    functionName: usage
    functionSourceFile: /src/cairo/test/cairo-test-runner.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'static void usage (const char *argv0) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _log
      Src: /src/cairo/test/cairo-test-runner.c:105,1
    - Dst: va_start
      Src: /src/cairo/test/cairo-test-runner.c:115,1
    - Dst: va_start
      Src: /src/cairo/test/cairo-test-runner.c:111,1
    - Dst: vprintf
      Src: /src/cairo/test/cairo-test-runner.c:112,1
    - Dst: va_end
      Src: /src/cairo/test/cairo-test-runner.c:113,1
    - Dst: cairo_test_logv
      Src: /src/cairo/test/cairo-test-runner.c:116,1
    - Dst: va_end
      Src: /src/cairo/test/cairo-test-runner.c:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames:
    - 2,3
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 118
    functionName: CAIRO_BOILERPLATE_PRINTF_FORMAT
    functionSourceFile: /src/cairo/test/cairo-test-runner.c
    functionUses: []
    functionsReached:
    - _log
    - vprintf
    - va_end
    - cairo_test_logv
    - va_start
    linkageType: ''
    returnType: void
    signature: 'static void CAIRO_BOILERPLATE_PRINTF_FORMAT(2,3)_log (cairo_test_context_t
      *ctx, const char *fmt, ...) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_getopt
      Src: /src/cairo/test/cairo-test-runner.c:357,1
    - Dst: exit
      Src: /src/cairo/test/cairo-test-runner.c:385,1
    - Dst: usage
      Src: /src/cairo/test/cairo-test-runner.c:384,1
    - Dst: fprintf
      Src: /src/cairo/test/cairo-test-runner.c:381,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 18
    argCount: 3
    argNames:
    - runner
    - argc
    - argv
    argTypes:
    - cairo_test_runner_t*
    - int*
    - char**
    constantsTouched: []
    func_position:
      end: 391
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 391
    functionName: _parse_cmdline
    functionSourceFile: /src/cairo/test/cairo-test-runner.c
    functionUses: []
    functionsReached:
    - usage
    - _cairo_getopt
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void _parse_cmdline (cairo_test_runner_t *runner, int *argc,
      char **argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/test/cairo-test-runner.c:152,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - list
    argTypes:
    - cairo_test_list_t*
    constantsTouched: []
    func_position:
      end: 155
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 155
    functionName: _list_free
    functionSourceFile: /src/cairo/test/cairo-test-runner.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'static void _list_free (cairo_test_list_t *list) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/cairo/test/cairo-test-runner.c:242,1
    - Dst: exit
      Src: /src/cairo/test/cairo-test-runner.c:249,1
    - Dst: _cairo_test_context_run_for_target
      Src: /src/cairo/test/cairo-test-runner.c:249,1
    - Dst: fork
      Src: /src/cairo/test/cairo-test-runner.c:244,1
    - Dst: _cairo_test_wait
      Src: /src/cairo/test/cairo-test-runner.c:253,1
    - Dst: _cairo_test_context_run_for_target
      Src: /src/cairo/test/cairo-test-runner.c:257,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 6
    argNames:
    - runner
    - ctx
    - target
    - similar
    - device_offset
    - device_scale
    argTypes:
    - cairo_test_runner_t*
    - cairo_test_context_t*
    - cairo_boilerplate_target_t*
    - cairo_bool_t
    - int
    - int
    constantsTouched: []
    func_position:
      end: 259
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 259
    functionName: _cairo_test_runner_draw
    functionSourceFile: /src/cairo/test/cairo-test-runner.c
    functionUses: []
    functionsReached:
    - fflush
    - fork
    - _cairo_test_context_run_for_target
    - _cairo_test_wait
    - exit
    linkageType: ''
    returnType: cairo_test_status_t
    signature: "static cairo_test_status_t _cairo_test_runner_draw (cairo_test_runner_t\
      \ *runner,\t\t\t cairo_test_context_t *ctx,\t\t\t const cairo_boilerplate_target_t\
      \ *target,\t\t\t cairo_bool_t similar,\t\t\t int device_offset, int device_scale) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_init
      Src: /src/cairo/test/cairo-test-runner.c:396,1
    - Dst: xcalloc
      Src: /src/cairo/test/cairo-test-runner.c:404,1
    - Dst: xcalloc
      Src: /src/cairo/test/cairo-test-runner.c:408,1
    - Dst: xcalloc
      Src: /src/cairo/test/cairo-test-runner.c:406,1
    - Dst: xcalloc
      Src: /src/cairo/test/cairo-test-runner.c:410,1
    - Dst: xcalloc
      Src: /src/cairo/test/cairo-test-runner.c:412,1
    - Dst: xcalloc
      Src: /src/cairo/test/cairo-test-runner.c:414,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - runner
    argTypes:
    - cairo_test_runner_t*
    constantsTouched: []
    func_position:
      end: 416
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 416
    functionName: _runner_init
    functionSourceFile: /src/cairo/test/cairo-test-runner.c
    functionUses: []
    functionsReached:
    - xcalloc
    - cairo_test_init
    linkageType: ''
    returnType: void
    signature: 'static void _runner_init (cairo_test_runner_t *runner) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _runner_print_summary
      Src: /src/cairo/test/cairo-test-runner.c:561,1
    - Dst: _log
      Src: /src/cairo/test/cairo-test-runner.c:565,1
    - Dst: _runner_print_details
      Src: /src/cairo/test/cairo-test-runner.c:562,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - runner
    argTypes:
    - cairo_test_runner_t*
    constantsTouched: []
    func_position:
      end: 570
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 570
    functionName: _runner_print_results
    functionSourceFile: /src/cairo/test/cairo-test-runner.c
    functionUses: []
    functionsReached:
    - _runner_print_details
    - _log
    - _runner_print_summary
    linkageType: ''
    returnType: void
    signature: 'static void _runner_print_results (cairo_test_runner_t *runner) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/cairo/test/cairo-test-runner.c:689,1
    - Dst: sscanf
      Src: /src/cairo/test/cairo-test-runner.c:703,1
    - Dst: sscanf
      Src: /src/cairo/test/cairo-test-runner.c:701,1
    - Dst: strncmp
      Src: /src/cairo/test/cairo-test-runner.c:692,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 5
    argNames:
    - str
    - op
    - major
    - minor
    - micro
    argTypes:
    - char*
    - cairo_test_compare_op_t*
    - int*
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 708
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 708
    functionName: _get_required_version
    functionSourceFile: /src/cairo/test/cairo-test-runner.c
    functionUses: []
    functionsReached:
    - strncmp
    - sscanf
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _get_required_version (const char *str,\t\t cairo_test_compare_op_t\
      \ *op,\t\t int *major,\t\t int *minor,\t\t int *micro) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/cairo/test/cairo-test-runner.c:164,1
    - Dst: basename
      Src: /src/cairo/test/cairo-test-runner.c:167,1
    - Dst: readlink
      Src: /src/cairo/test/cairo-test-runner.c:165,1
    - Dst: strncmp
      Src: /src/cairo/test/cairo-test-runner.c:167,1
    - Dst: getppid
      Src: /src/cairo/test/cairo-test-runner.c:164,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 177
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 177
    functionName: is_running_under_debugger
    functionSourceFile: /src/cairo/test/cairo-test-runner.c
    functionUses: []
    functionsReached:
    - basename
    - strncmp
    - getppid
    - readlink
    - sprintf
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t is_running_under_debugger (void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/cairo/test/cairo-test-runner.c:282,1
    - Dst: memcpy
      Src: /src/cairo/test/cairo-test-runner.c:289,1
    - Dst: strlen
      Src: /src/cairo/test/cairo-test-runner.c:286,1
    - Dst: memcpy
      Src: /src/cairo/test/cairo-test-runner.c:300,1
    - Dst: strpbrk
      Src: /src/cairo/test/cairo-test-runner.c:295,1
    - Dst: strlen
      Src: /src/cairo/test/cairo-test-runner.c:312,1
    - Dst: memcpy
      Src: /src/cairo/test/cairo-test-runner.c:315,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 56
    argCount: 3
    argNames:
    - argc
    - argv
    - str
    argTypes:
    - int*
    - char***
    - char*
    constantsTouched: []
    func_position:
      end: 325
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 325
    functionName: append_argv
    functionSourceFile: /src/cairo/test/cairo-test-runner.c
    functionUses: []
    functionsReached:
    - memcpy
    - strpbrk
    - strlen
    - xmalloc
    linkageType: ''
    returnType: void
    signature: 'static void append_argv (int *argc, char ***argv, const char *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _log
      Src: /src/cairo/test/cairo-test-runner.c:421,1
    - Dst: cairo_version_string
      Src: /src/cairo/test/cairo-test-runner.c:423,1
    - Dst: _log
      Src: /src/cairo/test/cairo-test-runner.c:424,1
    - Dst: fflush
      Src: /src/cairo/test/cairo-test-runner.c:428,1
    - Dst: pixman_version_string
      Src: /src/cairo/test/cairo-test-runner.c:426,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - runner
    argTypes:
    - cairo_test_runner_t*
    constantsTouched: []
    func_position:
      end: 429
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 429
    functionName: _runner_print_versions
    functionSourceFile: /src/cairo/test/cairo-test-runner.c
    functionUses: []
    functionsReached:
    - cairo_version_string
    - _log
    - pixman_version_string
    - fflush
    linkageType: ''
    returnType: void
    signature: 'static void _runner_print_versions (cairo_test_runner_t *runner) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _list_free
      Src: /src/cairo/test/cairo-test-runner.c:577,1
    - Dst: _list_free
      Src: /src/cairo/test/cairo-test-runner.c:578,1
    - Dst: _list_free
      Src: /src/cairo/test/cairo-test-runner.c:583,1
    - Dst: _list_free
      Src: /src/cairo/test/cairo-test-runner.c:582,1
    - Dst: _list_free
      Src: /src/cairo/test/cairo-test-runner.c:579,1
    - Dst: _list_free
      Src: /src/cairo/test/cairo-test-runner.c:584,1
    - Dst: free
      Src: /src/cairo/test/cairo-test-runner.c:586,1
    - Dst: free
      Src: /src/cairo/test/cairo-test-runner.c:587,1
    - Dst: free
      Src: /src/cairo/test/cairo-test-runner.c:588,1
    - Dst: free
      Src: /src/cairo/test/cairo-test-runner.c:590,1
    - Dst: free
      Src: /src/cairo/test/cairo-test-runner.c:591,1
    - Dst: free
      Src: /src/cairo/test/cairo-test-runner.c:592,1
    - Dst: cairo_test_fini
      Src: /src/cairo/test/cairo-test-runner.c:594,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - runner
    argTypes:
    - cairo_test_runner_t*
    constantsTouched: []
    func_position:
      end: 603
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 603
    functionName: _runner_fini
    functionSourceFile: /src/cairo/test/cairo-test-runner.c
    functionUses: []
    functionsReached:
    - free
    - _list_free
    - cairo_test_fini
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t _runner_fini (cairo_test_runner_t *runner) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _get_required_version
      Src: /src/cairo/test/cairo-test-runner.c:716,1
    - Dst: cairo_version
      Src: /src/cairo/test/cairo-test-runner.c:723,1
    - Dst: _version_compare
      Src: /src/cairo/test/cairo-test-runner.c:723,1
    - Dst: CAIRO_VERSION_ENCODE
      Src: /src/cairo/test/cairo-test-runner.c:725,1
    - Dst: fprintf
      Src: /src/cairo/test/cairo-test-runner.c:719,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 726
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 726
    functionName: _has_required_cairo_version
    functionSourceFile: /src/cairo/test/cairo-test-runner.c
    functionUses: []
    functionsReached:
    - _version_compare
    - fprintf
    - _get_required_version
    - CAIRO_VERSION_ENCODE
    - cairo_version
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _has_required_cairo_version (const char *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _list_prepend
      Src: /src/cairo/test/cairo-test-runner.c:1160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - test
    argTypes:
    - cairo_test_t*
    constantsTouched: []
    func_position:
      end: 1161
      start: 1157
    functionDepth: 0
    functionLinenumber: 1157
    functionLinenumberEnd: 1161
    functionName: cairo_test_register
    functionSourceFile: /src/cairo/test/cairo-test-runner.c
    functionUses: []
    functionsReached:
    - _list_prepend
    linkageType: ''
    returnType: void
    signature: 'void cairo_test_register (cairo_test_t *test) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_new_sub_path
      Src: /src/cairo/test/rounded-rectangle-fill.c:35,1
    - Dst: cairo_arc
      Src: /src/cairo/test/rounded-rectangle-fill.c:37,1
    - Dst: cairo_arc
      Src: /src/cairo/test/rounded-rectangle-fill.c:39,1
    - Dst: cairo_arc
      Src: /src/cairo/test/rounded-rectangle-fill.c:38,1
    - Dst: cairo_arc
      Src: /src/cairo/test/rounded-rectangle-fill.c:36,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/rounded-rectangle-fill.c:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 6
    argNames:
    - cr
    - x
    - y
    - w
    - h
    - r
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 41
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 41
    functionName: rounded_rectangle
    functionSourceFile: /src/cairo/test/rounded-rectangle-fill.c
    functionUses: []
    functionsReached:
    - cairo_arc
    - cairo_close_path
    - cairo_new_sub_path
    linkageType: ''
    returnType: void
    signature: 'static void rounded_rectangle (cairo_t *cr, int x, int y, int w, int
      h, int r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/rounded-rectangle-fill.c:47,1
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/test/rounded-rectangle-fill.c:51,1
    - Dst: cairo_paint
      Src: /src/cairo/test/rounded-rectangle-fill.c:48,1
    - Dst: rounded_rectangle
      Src: /src/cairo/test/rounded-rectangle-fill.c:52,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/rounded-rectangle-fill.c:49,1
    - Dst: rounded_rectangle
      Src: /src/cairo/test/rounded-rectangle-fill.c:53,1
    - Dst: cairo_fill
      Src: /src/cairo/test/rounded-rectangle-fill.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 57
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 57
    functionName: draw
    functionSourceFile: /src/cairo/test/rounded-rectangle-fill.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_set_fill_rule
    - rounded_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/overlapping-dash-caps.c:36,1
    - Dst: cairo_new_sub_path
      Src: /src/cairo/test/overlapping-dash-caps.c:42,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/overlapping-dash-caps.c:39,1
    - Dst: cairo_set_dash
      Src: /src/cairo/test/overlapping-dash-caps.c:41,1
    - Dst: cairo_paint
      Src: /src/cairo/test/overlapping-dash-caps.c:37,1
    - Dst: cairo_arc
      Src: /src/cairo/test/overlapping-dash-caps.c:43,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/overlapping-dash-caps.c:45,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/overlapping-dash-caps.c:46,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/overlapping-dash-caps.c:47,1
    - Dst: cairo_set_dash
      Src: /src/cairo/test/overlapping-dash-caps.c:49,1
    - Dst: cairo_new_sub_path
      Src: /src/cairo/test/overlapping-dash-caps.c:50,1
    - Dst: cairo_arc
      Src: /src/cairo/test/overlapping-dash-caps.c:51,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/overlapping-dash-caps.c:55,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/overlapping-dash-caps.c:54,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/overlapping-dash-caps.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 59
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 59
    functionName: draw
    functionSourceFile: /src/cairo/test/overlapping-dash-caps.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgba
    - cairo_set_line_width
    - cairo_set_source_rgb
    - cairo_arc
    - cairo_set_dash
    - cairo_stroke
    - cairo_set_line_cap
    - cairo_new_sub_path
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/recording-surface-pattern.c:55,1
    - Dst: cairo_fill
      Src: /src/cairo/test/recording-surface-pattern.c:57,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/recording-surface-pattern.c:60,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/recording-surface-pattern.c:66,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/recording-surface-pattern.c:62,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/recording-surface-pattern.c:67,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/recording-surface-pattern.c:65,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/recording-surface-pattern.c:72,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/recording-surface-pattern.c:75,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/recording-surface-pattern.c:76,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/recording-surface-pattern.c:85,1
    - Dst: cairo_get_group_target
      Src: /src/cairo/test/recording-surface-pattern.c:45,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/recording-surface-pattern.c:51,1
    - Dst: cairo_fill
      Src: /src/cairo/test/recording-surface-pattern.c:53,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/recording-surface-pattern.c:64,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/recording-surface-pattern.c:69,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/recording-surface-pattern.c:79,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/recording-surface-pattern.c:81,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/recording-surface-pattern.c:88,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/recording-surface-pattern.c:90,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/recording-surface-pattern.c:93,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/recording-surface-pattern.c:77,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/recording-surface-pattern.c:49,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/recording-surface-pattern.c:56,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/recording-surface-pattern.c:61,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/recording-surface-pattern.c:59,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/recording-surface-pattern.c:70,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/recording-surface-pattern.c:71,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/recording-surface-pattern.c:84,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/recording-surface-pattern.c:86,1
    - Dst: cairo_pattern_create_for_surface
      Src: /src/cairo/test/recording-surface-pattern.c:92,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/recording-surface-pattern.c:92,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/recording-surface-pattern.c:82,1
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/recording-surface-pattern.c:45,1
    - Dst: cairo_create
      Src: /src/cairo/test/recording-surface-pattern.c:48,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/recording-surface-pattern.c:52,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/recording-surface-pattern.c:63,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/recording-surface-pattern.c:68,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/recording-surface-pattern.c:73,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/recording-surface-pattern.c:74,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/recording-surface-pattern.c:78,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/recording-surface-pattern.c:89,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 71
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 96
    functionName: create_pattern
    functionSourceFile: /src/cairo/test/recording-surface-pattern.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_for_surface
    - cairo_get_group_target
    - cairo_set_source_rgba
    - cairo_set_line_width
    - cairo_line_to
    - cairo_create
    - cairo_surface_destroy
    - cairo_stroke
    - cairo_get_target
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_destroy
    - cairo_surface_create_similar
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_pattern_t*
    signature: 'static cairo_pattern_t *create_pattern (cairo_t *target) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_translate
      Src: /src/cairo/test/recording-surface-pattern.c:129,1
    - Dst: cairo_matrix_init_identity
      Src: /src/cairo/test/recording-surface-pattern.c:133,1
    - Dst: cairo_matrix_rotate
      Src: /src/cairo/test/recording-surface-pattern.c:135,1
    - Dst: create_pattern
      Src: /src/cairo/test/recording-surface-pattern.c:131,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/test/recording-surface-pattern.c:134,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/test/recording-surface-pattern.c:136,1
    - Dst: cairo_pattern_set_matrix
      Src: /src/cairo/test/recording-surface-pattern.c:137,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/recording-surface-pattern.c:138,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/recording-surface-pattern.c:140,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/recording-surface-pattern.c:141,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/recording-surface-pattern.c:144,1
    - Dst: cairo_paint
      Src: /src/cairo/test/recording-surface-pattern.c:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 147
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 147
    functionName: source
    functionSourceFile: /src/cairo/test/recording-surface-pattern.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_matrix_scale
    - create_pattern
    - cairo_matrix_translate
    - cairo_pattern_set_matrix
    - cairo_pattern_set_extend
    - cairo_set_source
    - cairo_matrix_init_identity
    - cairo_set_operator
    - cairo_translate
    - cairo_matrix_rotate
    - cairo_pattern_destroy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t source (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_translate
      Src: /src/cairo/test/recording-surface-pattern.c:104,1
    - Dst: create_pattern
      Src: /src/cairo/test/recording-surface-pattern.c:106,1
    - Dst: cairo_matrix_rotate
      Src: /src/cairo/test/recording-surface-pattern.c:110,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/test/recording-surface-pattern.c:109,1
    - Dst: cairo_matrix_init_identity
      Src: /src/cairo/test/recording-surface-pattern.c:108,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/test/recording-surface-pattern.c:111,1
    - Dst: cairo_pattern_set_matrix
      Src: /src/cairo/test/recording-surface-pattern.c:112,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/recording-surface-pattern.c:113,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/recording-surface-pattern.c:115,1
    - Dst: cairo_paint
      Src: /src/cairo/test/recording-surface-pattern.c:116,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/recording-surface-pattern.c:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 121
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 121
    functionName: over
    functionSourceFile: /src/cairo/test/recording-surface-pattern.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_matrix_scale
    - create_pattern
    - cairo_matrix_translate
    - cairo_pattern_set_matrix
    - cairo_pattern_set_extend
    - cairo_set_source
    - cairo_matrix_init_identity
    - cairo_translate
    - cairo_matrix_rotate
    - cairo_pattern_destroy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t over (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_recording_surface_create
      Src: /src/cairo/test/record-transform-paint.c:29,1
    - Dst: cairo_create
      Src: /src/cairo/test/record-transform-paint.c:34,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/test/record-transform-paint.c:36,1
    - Dst: cairo_matrix_init_scale
      Src: /src/cairo/test/record-transform-paint.c:43,1
    - Dst: cairo_pattern_set_matrix
      Src: /src/cairo/test/record-transform-paint.c:51,1
    - Dst: cairo_pattern_create_for_surface
      Src: /src/cairo/test/record-transform-paint.c:41,1
    - Dst: cairo_pattern_set_matrix
      Src: /src/cairo/test/record-transform-paint.c:44,1
    - Dst: cairo_paint
      Src: /src/cairo/test/record-transform-paint.c:53,1
    - Dst: cairo_pattern_create_for_surface
      Src: /src/cairo/test/record-transform-paint.c:48,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/record-transform-paint.c:52,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/test/record-transform-paint.c:37,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/record-transform-paint.c:45,1
    - Dst: cairo_paint
      Src: /src/cairo/test/record-transform-paint.c:46,1
    - Dst: cairo_create
      Src: /src/cairo/test/record-transform-paint.c:31,1
    - Dst: cairo_recording_surface_create
      Src: /src/cairo/test/record-transform-paint.c:32,1
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/test/record-transform-paint.c:35,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/record-transform-paint.c:38,1
    - Dst: cairo_paint
      Src: /src/cairo/test/record-transform-paint.c:39,1
    - Dst: cairo_matrix_init_scale
      Src: /src/cairo/test/record-transform-paint.c:50,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 56
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 56
    functionName: draw
    functionSourceFile: /src/cairo/test/record-transform-paint.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_for_surface
    - cairo_paint
    - cairo_pattern_create_linear
    - cairo_matrix_init_scale
    - cairo_create
    - cairo_pattern_add_color_stop_rgb
    - cairo_pattern_set_matrix
    - cairo_set_source
    - cairo_recording_surface_create
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-empty-save.c:32,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-empty-save.c:33,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-empty-save.c:36,1
    - Dst: cairo_save
      Src: /src/cairo/test/clip-empty-save.c:38,1
    - Dst: cairo_reset_clip
      Src: /src/cairo/test/clip-empty-save.c:35,1
    - Dst: cairo_translate
      Src: /src/cairo/test/clip-empty-save.c:40,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-empty-save.c:42,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-empty-save.c:43,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/test/clip-empty-save.c:44,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-empty-save.c:45,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/clip-empty-save.c:46,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/clip-empty-save.c:54,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/clip-empty-save.c:55,1
    - Dst: cairo_restore
      Src: /src/cairo/test/clip-empty-save.c:57,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/clip-empty-save.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 60
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 60
    functionName: draw
    functionSourceFile: /src/cairo/test/clip-empty-save.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_show_text
    - cairo_move_to
    - cairo_save
    - cairo_stroke
    - cairo_restore
    - cairo_select_font_face
    - cairo_set_source_rgb
    - cairo_translate
    - cairo_clip
    - cairo_reset_clip
    - cairo_fill_preserve
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/subsurface-outside-target.c:51,1
    - Dst: cairo_test_paint_checkered
      Src: /src/cairo/test/subsurface-outside-target.c:56,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/subsurface-outside-target.c:57,1
    - Dst: cairo_create
      Src: /src/cairo/test/subsurface-outside-target.c:55,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 60
    functionName: create_target
    functionSourceFile: /src/cairo/test/subsurface-outside-target.c
    functionUses: []
    functionsReached:
    - cairo_test_paint_checkered
    - cairo_surface_create_similar
    - cairo_create
    - cairo_destroy
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *create_target (cairo_surface_t *similar_to,
      cairo_content_t content) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/subsurface-outside-target.c:154,1
    - Dst: draw_for_size
      Src: /src/cairo/test/subsurface-outside-target.c:163,1
    - Dst: draw_for_size
      Src: /src/cairo/test/subsurface-outside-target.c:161,1
    - Dst: cairo_paint
      Src: /src/cairo/test/subsurface-outside-target.c:155,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/subsurface-outside-target.c:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 168
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 168
    functionName: draw
    functionSourceFile: /src/cairo/test/subsurface-outside-target.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - draw_for_size
    - cairo_set_operator
    - cairo_set_source_rgb
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_for_rectangle
      Src: /src/cairo/test/subsurface-outside-target.c:109,1
    - Dst: check_surface_extents
      Src: /src/cairo/test/subsurface-outside-target.c:114,1
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/subsurface-outside-target.c:114,1
    - Dst: cairo_restore
      Src: /src/cairo/test/subsurface-outside-target.c:132,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/subsurface-outside-target.c:138,1
    - Dst: create_target
      Src: /src/cairo/test/subsurface-outside-target.c:105,1
    - Dst: cairo_save
      Src: /src/cairo/test/subsurface-outside-target.c:123,1
    - Dst: cairo_clip
      Src: /src/cairo/test/subsurface-outside-target.c:126,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/subsurface-outside-target.c:128,1
    - Dst: cairo_restore
      Src: /src/cairo/test/subsurface-outside-target.c:140,1
    - Dst: cairo_translate
      Src: /src/cairo/test/subsurface-outside-target.c:142,1
    - Dst: cairo_paint
      Src: /src/cairo/test/subsurface-outside-target.c:130,1
    - Dst: cairo_save
      Src: /src/cairo/test/subsurface-outside-target.c:102,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/subsurface-outside-target.c:105,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/subsurface-outside-target.c:125,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/subsurface-outside-target.c:137,1
    - Dst: cairo_translate
      Src: /src/cairo/test/subsurface-outside-target.c:134,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/subsurface-outside-target.c:129,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/subsurface-outside-target.c:129,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 3
    argNames:
    - cr
    - x
    - y
    argTypes:
    - cairo_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 146
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 146
    functionName: draw_for_size
    functionSourceFile: /src/cairo/test/subsurface-outside-target.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_surface_create_for_rectangle
    - cairo_test_get_context
    - cairo_get_source
    - cairo_save
    - check_surface_extents
    - cairo_surface_destroy
    - cairo_pattern_set_extend
    - create_target
    - cairo_restore
    - cairo_get_target
    - cairo_translate
    - cairo_clip
    - cairo_set_source_surface
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_for_size (cairo_t *cr, double x, double
      y) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_create
      Src: /src/cairo/test/subsurface-outside-target.c:73,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/subsurface-outside-target.c:81,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/subsurface-outside-target.c:75,1
    - Dst: cairo_clip_extents
      Src: /src/cairo/test/subsurface-outside-target.c:74,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 6
    argNames:
    - ctx
    - surface
    - x
    - y
    - width
    - height
    argTypes:
    - cairo_test_context_t*
    - cairo_surface_t*
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 89
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 89
    functionName: check_surface_extents
    functionSourceFile: /src/cairo/test/subsurface-outside-target.c
    functionUses: []
    functionsReached:
    - cairo_destroy
    - cairo_clip_extents
    - cairo_test_log
    - cairo_create
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t check_surface_extents (const cairo_test_context_t
      *ctx, cairo_surface_t * surface, double x, double y, double width, double height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_recording_surface_create
      Src: /src/cairo/test/shifted-operator.c:29,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/shifted-operator.c:32,1
    - Dst: cairo_create
      Src: /src/cairo/test/shifted-operator.c:30,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/shifted-operator.c:33,1
    - Dst: cairo_translate
      Src: /src/cairo/test/shifted-operator.c:31,1
    - Dst: cairo_fill
      Src: /src/cairo/test/shifted-operator.c:34,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/shifted-operator.c:35,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/shifted-operator.c:36,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/shifted-operator.c:37,1
    - Dst: cairo_fill
      Src: /src/cairo/test/shifted-operator.c:38,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/shifted-operator.c:42,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/test/shifted-operator.c:44,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/shifted-operator.c:46,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/shifted-operator.c:39,1
    - Dst: cairo_pattern_set_matrix
      Src: /src/cairo/test/shifted-operator.c:45,1
    - Dst: cairo_pattern_create_for_surface
      Src: /src/cairo/test/shifted-operator.c:41,1
    - Dst: cairo_paint
      Src: /src/cairo/test/shifted-operator.c:47,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 50
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 50
    functionName: draw
    functionSourceFile: /src/cairo/test/shifted-operator.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_for_surface
    - cairo_paint
    - cairo_set_source_rgba
    - cairo_create
    - cairo_pattern_set_matrix
    - cairo_surface_destroy
    - cairo_set_source
    - cairo_set_operator
    - cairo_fill
    - cairo_translate
    - cairo_destroy
    - cairo_recording_surface_create
    - cairo_matrix_init_translate
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_move_to
      Src: /src/cairo/test/transforms.c:33,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/transforms.c:34,1
    - Dst: cairo_save
      Src: /src/cairo/test/transforms.c:37,1
    - Dst: cairo_identity_matrix
      Src: /src/cairo/test/transforms.c:38,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/transforms.c:35,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/transforms.c:39,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/transforms.c:40,1
    - Dst: cairo_restore
      Src: /src/cairo/test/transforms.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 42
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 42
    functionName: draw_L_shape
    functionSourceFile: /src/cairo/test/transforms.c
    functionUses: []
    functionsReached:
    - cairo_set_line_width
    - cairo_rel_line_to
    - cairo_save
    - cairo_stroke
    - cairo_restore
    - cairo_move_to
    - cairo_identity_matrix
    linkageType: ''
    returnType: void
    signature: 'static void draw_L_shape (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/transforms.c:49,1
    - Dst: draw_L_shape
      Src: /src/cairo/test/transforms.c:55,1
    - Dst: cairo_translate
      Src: /src/cairo/test/transforms.c:57,1
    - Dst: cairo_save
      Src: /src/cairo/test/transforms.c:77,1
    - Dst: draw_L_shape
      Src: /src/cairo/test/transforms.c:71,1
    - Dst: draw_L_shape
      Src: /src/cairo/test/transforms.c:85,1
    - Dst: cairo_save
      Src: /src/cairo/test/transforms.c:91,1
    - Dst: draw_L_shape
      Src: /src/cairo/test/transforms.c:99,1
    - Dst: cairo_save
      Src: /src/cairo/test/transforms.c:48,1
    - Dst: cairo_translate
      Src: /src/cairo/test/transforms.c:53,1
    - Dst: cairo_restore
      Src: /src/cairo/test/transforms.c:51,1
    - Dst: draw_L_shape
      Src: /src/cairo/test/transforms.c:62,1
    - Dst: cairo_save
      Src: /src/cairo/test/transforms.c:68,1
    - Dst: cairo_translate
      Src: /src/cairo/test/transforms.c:75,1
    - Dst: cairo_restore
      Src: /src/cairo/test/transforms.c:73,1
    - Dst: cairo_rotate
      Src: /src/cairo/test/transforms.c:70,1
    - Dst: cairo_restore
      Src: /src/cairo/test/transforms.c:87,1
    - Dst: cairo_translate
      Src: /src/cairo/test/transforms.c:89,1
    - Dst: cairo_restore
      Src: /src/cairo/test/transforms.c:101,1
    - Dst: cairo_restore
      Src: /src/cairo/test/transforms.c:64,1
    - Dst: cairo_transform
      Src: /src/cairo/test/transforms.c:84,1
    - Dst: cairo_translate
      Src: /src/cairo/test/transforms.c:66,1
    - Dst: cairo_transform
      Src: /src/cairo/test/transforms.c:98,1
    - Dst: cairo_paint
      Src: /src/cairo/test/transforms.c:50,1
    - Dst: cairo_save
      Src: /src/cairo/test/transforms.c:59,1
    - Dst: cairo_scale
      Src: /src/cairo/test/transforms.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 104
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 104
    functionName: draw
    functionSourceFile: /src/cairo/test/transforms.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgb
    - cairo_transform
    - draw_L_shape
    - cairo_save
    - cairo_scale
    - cairo_restore
    - cairo_rotate
    - cairo_translate
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/surface-pattern-operator.c:41,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/surface-pattern-operator.c:45,1
    - Dst: cairo_create
      Src: /src/cairo/test/surface-pattern-operator.c:42,1
    - Dst: cairo_arc
      Src: /src/cairo/test/surface-pattern-operator.c:46,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/surface-pattern-operator.c:43,1
    - Dst: cairo_fill
      Src: /src/cairo/test/surface-pattern-operator.c:47,1
    - Dst: cairo_pattern_create_for_surface
      Src: /src/cairo/test/surface-pattern-operator.c:49,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/surface-pattern-operator.c:49,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/surface-pattern-operator.c:50,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 53
    functionName: _create_pattern
    functionSourceFile: /src/cairo/test/surface-pattern-operator.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_for_surface
    - cairo_arc
    - cairo_create
    - cairo_surface_destroy
    - cairo_get_target
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_destroy
    - cairo_surface_create_similar
    linkageType: ''
    returnType: cairo_pattern_t*
    signature: 'static cairo_pattern_t *_create_pattern (cairo_surface_t *target,
      cairo_content_t content, int width, int height) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_get_target
      Src: /src/cairo/test/surface-pattern-operator.c:64,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/surface-pattern-operator.c:69,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/surface-pattern-operator.c:82,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/surface-pattern-operator.c:91,1
    - Dst: cairo_translate
      Src: /src/cairo/test/surface-pattern-operator.c:99,1
    - Dst: cairo_translate
      Src: /src/cairo/test/surface-pattern-operator.c:103,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/surface-pattern-operator.c:107,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/surface-pattern-operator.c:61,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/surface-pattern-operator.c:70,1
    - Dst: cairo_translate
      Src: /src/cairo/test/surface-pattern-operator.c:72,1
    - Dst: cairo_save
      Src: /src/cairo/test/surface-pattern-operator.c:75,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/surface-pattern-operator.c:86,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/surface-pattern-operator.c:90,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/surface-pattern-operator.c:78,1
    - Dst: cairo_fill
      Src: /src/cairo/test/surface-pattern-operator.c:96,1
    - Dst: cairo_restore
      Src: /src/cairo/test/surface-pattern-operator.c:101,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/surface-pattern-operator.c:106,1
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/test/surface-pattern-operator.c:68,1
    - Dst: _create_pattern
      Src: /src/cairo/test/surface-pattern-operator.c:64,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/surface-pattern-operator.c:81,1
    - Dst: cairo_fill
      Src: /src/cairo/test/surface-pattern-operator.c:87,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/surface-pattern-operator.c:95,1
    - Dst: _create_pattern
      Src: /src/cairo/test/surface-pattern-operator.c:61,1
    - Dst: cairo_reset_clip
      Src: /src/cairo/test/surface-pattern-operator.c:77,1
    - Dst: cairo_paint
      Src: /src/cairo/test/surface-pattern-operator.c:84,1
    - Dst: cairo_clip
      Src: /src/cairo/test/surface-pattern-operator.c:79,1
    - Dst: cairo_paint
      Src: /src/cairo/test/surface-pattern-operator.c:93,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/surface-pattern-operator.c:108,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 55
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 111
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 111
    functionName: draw
    functionSourceFile: /src/cairo/test/surface-pattern-operator.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_pattern_create_linear
    - cairo_pattern_destroy
    - cairo_save
    - cairo_set_source
    - _create_pattern
    - cairo_get_target
    - cairo_pattern_add_color_stop_rgba
    - cairo_translate
    - cairo_set_operator
    - cairo_fill
    - cairo_clip
    - cairo_reset_clip
    - cairo_restore
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/test/paint-with-alpha.c:40,1
    - Dst: cairo_test_paint_checkered
      Src: /src/cairo/test/paint-with-alpha.c:43,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/paint-with-alpha.c:47,1
    - Dst: cairo_scale
      Src: /src/cairo/test/paint-with-alpha.c:45,1
    - Dst: cairo_pattern_set_filter
      Src: /src/cairo/test/paint-with-alpha.c:48,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/paint-with-alpha.c:48,1
    - Dst: cairo_paint_with_alpha
      Src: /src/cairo/test/paint-with-alpha.c:49,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/paint-with-alpha.c:51,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/paint-with-alpha.c:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 55
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 55
    functionName: draw
    functionSourceFile: /src/cairo/test/paint-with-alpha.c
    functionUses: []
    functionsReached:
    - cairo_paint_with_alpha
    - cairo_surface_finish
    - cairo_pattern_set_filter
    - cairo_test_paint_checkered
    - cairo_image_surface_create_for_data
    - cairo_get_source
    - cairo_surface_destroy
    - cairo_scale
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/test/paint-with-alpha.c:101,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/paint-with-alpha.c:106,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/paint-with-alpha.c:108,1
    - Dst: cairo_test_paint_checkered
      Src: /src/cairo/test/paint-with-alpha.c:104,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/paint-with-alpha.c:107,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/paint-with-alpha.c:109,1
    - Dst: cairo_clip
      Src: /src/cairo/test/paint-with-alpha.c:110,1
    - Dst: cairo_scale
      Src: /src/cairo/test/paint-with-alpha.c:112,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/paint-with-alpha.c:114,1
    - Dst: cairo_pattern_set_filter
      Src: /src/cairo/test/paint-with-alpha.c:115,1
    - Dst: cairo_paint_with_alpha
      Src: /src/cairo/test/paint-with-alpha.c:116,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/paint-with-alpha.c:118,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/paint-with-alpha.c:119,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/paint-with-alpha.c:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 122
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 122
    functionName: draw_clip_mask
    functionSourceFile: /src/cairo/test/paint-with-alpha.c
    functionUses: []
    functionsReached:
    - cairo_paint_with_alpha
    - cairo_surface_finish
    - cairo_pattern_set_filter
    - cairo_line_to
    - cairo_test_paint_checkered
    - cairo_image_surface_create_for_data
    - cairo_get_source
    - cairo_surface_destroy
    - cairo_scale
    - cairo_clip
    - cairo_move_to
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_clip_mask (cairo_t *cr, int width,
      int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/test/paint-with-alpha.c:76,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/paint-with-alpha.c:81,1
    - Dst: cairo_test_paint_checkered
      Src: /src/cairo/test/paint-with-alpha.c:79,1
    - Dst: cairo_clip
      Src: /src/cairo/test/paint-with-alpha.c:82,1
    - Dst: cairo_scale
      Src: /src/cairo/test/paint-with-alpha.c:84,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/paint-with-alpha.c:86,1
    - Dst: cairo_pattern_set_filter
      Src: /src/cairo/test/paint-with-alpha.c:87,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/paint-with-alpha.c:87,1
    - Dst: cairo_paint_with_alpha
      Src: /src/cairo/test/paint-with-alpha.c:88,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/paint-with-alpha.c:90,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/paint-with-alpha.c:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 94
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 94
    functionName: draw_clip
    functionSourceFile: /src/cairo/test/paint-with-alpha.c
    functionUses: []
    functionsReached:
    - cairo_paint_with_alpha
    - cairo_surface_finish
    - cairo_pattern_set_filter
    - cairo_test_paint_checkered
    - cairo_image_surface_create_for_data
    - cairo_get_source
    - cairo_surface_destroy
    - cairo_scale
    - cairo_clip
    - cairo_set_source_surface
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_clip (cairo_t *cr, int width, int
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_paint_checkered
      Src: /src/cairo/test/paint-with-alpha.c:60,1
    - Dst: cairo_paint_with_alpha
      Src: /src/cairo/test/paint-with-alpha.c:66,1
    - Dst: cairo_clip
      Src: /src/cairo/test/paint-with-alpha.c:63,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/paint-with-alpha.c:62,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/paint-with-alpha.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 69
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 69
    functionName: draw_solid_clip
    functionSourceFile: /src/cairo/test/paint-with-alpha.c
    functionUses: []
    functionsReached:
    - cairo_paint_with_alpha
    - cairo_test_paint_checkered
    - cairo_set_source_rgb
    - cairo_clip
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_solid_clip (cairo_t *cr, int width,
      int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/test/gradient-constant-alpha.c:34,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/gradient-constant-alpha.c:46,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/gradient-constant-alpha.c:42,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/gradient-constant-alpha.c:39,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/gradient-constant-alpha.c:36,1
    - Dst: cairo_paint
      Src: /src/cairo/test/gradient-constant-alpha.c:48,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/gradient-constant-alpha.c:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 53
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 53
    functionName: draw
    functionSourceFile: /src/cairo/test/gradient-constant-alpha.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_pattern_create_linear
    - cairo_set_source
    - cairo_pattern_add_color_stop_rgba
    - cairo_pattern_destroy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_scaled_font_text_to_glyphs
      Src: /src/cairo/test/overlapping-glyphs.c:64,1
    - Dst: cairo_save
      Src: /src/cairo/test/overlapping-glyphs.c:99,1
    - Dst: cairo_restore
      Src: /src/cairo/test/overlapping-glyphs.c:103,1
    - Dst: cairo_translate
      Src: /src/cairo/test/overlapping-glyphs.c:105,1
    - Dst: cairo_clip
      Src: /src/cairo/test/overlapping-glyphs.c:108,1
    - Dst: cairo_glyph_path
      Src: /src/cairo/test/overlapping-glyphs.c:109,1
    - Dst: cairo_restore
      Src: /src/cairo/test/overlapping-glyphs.c:111,1
    - Dst: strlen
      Src: /src/cairo/test/overlapping-glyphs.c:66,1
    - Dst: strlen
      Src: /src/cairo/test/overlapping-glyphs.c:79,1
    - Dst: cairo_fill
      Src: /src/cairo/test/overlapping-glyphs.c:93,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/overlapping-glyphs.c:100,1
    - Dst: cairo_save
      Src: /src/cairo/test/overlapping-glyphs.c:106,1
    - Dst: cairo_fill
      Src: /src/cairo/test/overlapping-glyphs.c:110,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/overlapping-glyphs.c:50,1
    - Dst: cairo_paint
      Src: /src/cairo/test/overlapping-glyphs.c:48,1
    - Dst: cairo_text_extents
      Src: /src/cairo/test/overlapping-glyphs.c:58,1
    - Dst: cairo_get_scaled_font
      Src: /src/cairo/test/overlapping-glyphs.c:64,1
    - Dst: cairo_scaled_font_text_to_glyphs
      Src: /src/cairo/test/overlapping-glyphs.c:77,1
    - Dst: cairo_translate
      Src: /src/cairo/test/overlapping-glyphs.c:91,1
    - Dst: cairo_get_scaled_font
      Src: /src/cairo/test/overlapping-glyphs.c:77,1
    - Dst: cairo_translate
      Src: /src/cairo/test/overlapping-glyphs.c:98,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/overlapping-glyphs.c:107,1
    - Dst: cairo_show_glyphs
      Src: /src/cairo/test/overlapping-glyphs.c:102,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/overlapping-glyphs.c:47,1
    - Dst: cairo_text_extents
      Src: /src/cairo/test/overlapping-glyphs.c:57,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/overlapping-glyphs.c:53,1
    - Dst: assert
      Src: /src/cairo/test/overlapping-glyphs.c:70,1
    - Dst: assert
      Src: /src/cairo/test/overlapping-glyphs.c:83,1
    - Dst: cairo_show_glyphs
      Src: /src/cairo/test/overlapping-glyphs.c:88,1
    - Dst: cairo_glyph_path
      Src: /src/cairo/test/overlapping-glyphs.c:92,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/overlapping-glyphs.c:87,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/overlapping-glyphs.c:96,1
    - Dst: cairo_clip
      Src: /src/cairo/test/overlapping-glyphs.c:101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 67
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 114
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 114
    functionName: draw
    functionSourceFile: /src/cairo/test/overlapping-glyphs.c
    functionUses: []
    functionsReached:
    - cairo_get_scaled_font
    - cairo_show_glyphs
    - cairo_select_font_face
    - cairo_translate
    - cairo_rectangle
    - cairo_set_source_rgba
    - cairo_save
    - cairo_clip
    - strlen
    - assert
    - cairo_glyph_path
    - cairo_restore
    - cairo_set_operator
    - cairo_fill
    - cairo_text_extents
    - cairo_scaled_font_text_to_glyphs
    - cairo_paint
    - cairo_set_font_size
    - cairo_set_source_rgb
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_log
      Src: /src/cairo/test/overflow.c:106,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/overflow.c:118,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/overflow.c:116,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 5
    argNames:
    - ctx
    - result
    - overflow
    - data
    - func_name
    argTypes:
    - cairo_test_context_t*
    - size_t
    - cairo_bool_t
    - struct test_data*
    - char*
    constantsTouched: []
    func_position:
      end: 124
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 124
    functionName: check_if_result_fail
    functionSourceFile: /src/cairo/test/overflow.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t check_if_result_fail (cairo_test_context_t *ctx,
      size_t result, cairo_bool_t overflow, const struct test_data *data, const char
      *func_name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/overflow.c:135,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/overflow.c:142,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/overflow.c:137,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/overflow.c:144,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/overflow.c:140,1
    - Dst: _cairo_fallback_add_size_t_overflow
      Src: /src/cairo/test/overflow.c:152,1
    - Dst: check_if_result_fail
      Src: /src/cairo/test/overflow.c:153,1
    - Dst: _cairo_fallback_mul_size_t_overflow
      Src: /src/cairo/test/overflow.c:165,1
    - Dst: check_if_result_fail
      Src: /src/cairo/test/overflow.c:166,1
    - Dst: _cairo_add_size_t_overflow
      Src: /src/cairo/test/overflow.c:181,1
    - Dst: check_if_result_fail
      Src: /src/cairo/test/overflow.c:182,1
    - Dst: check_if_result_fail
      Src: /src/cairo/test/overflow.c:195,1
    - Dst: _cairo_mul_size_t_overflow
      Src: /src/cairo/test/overflow.c:194,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 36
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - cairo_test_context_t*
    constantsTouched: []
    func_position:
      end: 206
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 206
    functionName: preamble
    functionSourceFile: /src/cairo/test/overflow.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - check_if_result_fail
    - _cairo_add_size_t_overflow
    - _cairo_mul_size_t_overflow
    - ARRAY_LENGTH
    - _cairo_fallback_mul_size_t_overflow
    - _cairo_fallback_add_size_t_overflow
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t preamble (cairo_test_context_t *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-empty.c:32,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-empty.c:33,1
    - Dst: cairo_translate
      Src: /src/cairo/test/clip-empty.c:38,1
    - Dst: cairo_reset_clip
      Src: /src/cairo/test/clip-empty.c:35,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-empty.c:36,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-empty.c:40,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-empty.c:41,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/test/clip-empty.c:42,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-empty.c:43,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/clip-empty.c:44,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/clip-empty.c:52,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/clip-empty.c:47,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/clip-empty.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 56
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 56
    functionName: draw
    functionSourceFile: /src/cairo/test/clip-empty.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_show_text
    - cairo_set_source_rgb
    - cairo_move_to
    - cairo_stroke
    - cairo_select_font_face
    - cairo_translate
    - cairo_clip
    - cairo_reset_clip
    - cairo_fill_preserve
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/test/operator-clear.c:45,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/operator-clear.c:48,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/operator-clear.c:46,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/operator-clear.c:47,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/operator-clear.c:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - cr
    - x
    - y
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 50
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 50
    functionName: set_gradient_pattern
    functionSourceFile: /src/cairo/test/operator-clear.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_linear
    - cairo_set_source
    - cairo_pattern_destroy
    - cairo_pattern_add_color_stop_rgba
    linkageType: ''
    returnType: void
    signature: 'static void set_gradient_pattern (cairo_t *cr, int x, int y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/operator-clear.c:83,1
    - Dst: floor
      Src: /src/cairo/test/operator-clear.c:87,1
    - Dst: cairo_text_extents
      Src: /src/cairo/test/operator-clear.c:85,1
    - Dst: floor
      Src: /src/cairo/test/operator-clear.c:88,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/operator-clear.c:86,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/operator-clear.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - cr
    - x
    - y
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: draw_glyphs
    functionSourceFile: /src/cairo/test/operator-clear.c
    functionUses: []
    functionsReached:
    - cairo_show_text
    - cairo_set_font_size
    - cairo_text_extents
    - cairo_move_to
    - floor
    linkageType: ''
    returnType: void
    signature: 'static void draw_glyphs (cairo_t *cr, int x, int y) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_rectangle
      Src: /src/cairo/test/operator-clear.c:121,1
    - Dst: cairo_fill
      Src: /src/cairo/test/operator-clear.c:125,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - cr
    - x
    - y
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 126
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 126
    functionName: draw_rects
    functionSourceFile: /src/cairo/test/operator-clear.c
    functionUses: []
    functionsReached:
    - cairo_fill
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void draw_rects (cairo_t *cr, int x, int y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/operator-clear.c:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - x
    - y
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: set_solid_pattern
    functionSourceFile: /src/cairo/test/operator-clear.c
    functionUses: []
    functionsReached:
    - cairo_set_source_rgb
    linkageType: ''
    returnType: void
    signature: 'static void set_solid_pattern (cairo_t *cr, int x, int y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_new_path
      Src: /src/cairo/test/operator-clear.c:100,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/operator-clear.c:104,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/operator-clear.c:101,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/operator-clear.c:102,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/operator-clear.c:103,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/operator-clear.c:105,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/operator-clear.c:106,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/operator-clear.c:107,1
    - Dst: cairo_fill
      Src: /src/cairo/test/operator-clear.c:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 3
    argNames:
    - cr
    - x
    - y
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 109
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 109
    functionName: draw_polygon
    functionSourceFile: /src/cairo/test/operator-clear.c
    functionUses: []
    functionsReached:
    - cairo_new_path
    - cairo_line_to
    - cairo_close_path
    - cairo_fill
    - cairo_move_to
    linkageType: ''
    returnType: void
    signature: 'static void draw_polygon (cairo_t *cr, int x, int y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/operator-clear.c:63,1
    - Dst: cairo_create
      Src: /src/cairo/test/operator-clear.c:66,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/operator-clear.c:67,1
    - Dst: cairo_get_group_target
      Src: /src/cairo/test/operator-clear.c:63,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/operator-clear.c:69,1
    - Dst: cairo_arc
      Src: /src/cairo/test/operator-clear.c:71,1
    - Dst: cairo_fill
      Src: /src/cairo/test/operator-clear.c:72,1
    - Dst: cairo_mask_surface
      Src: /src/cairo/test/operator-clear.c:74,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/operator-clear.c:74,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/operator-clear.c:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - cr
    - x
    - y
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 76
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 76
    functionName: draw_mask
    functionSourceFile: /src/cairo/test/operator-clear.c
    functionUses: []
    functionsReached:
    - cairo_get_group_target
    - cairo_mask_surface
    - cairo_arc
    - cairo_create
    - cairo_surface_destroy
    - cairo_get_target
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_destroy
    - cairo_surface_create_similar
    linkageType: ''
    returnType: void
    signature: 'static void draw_mask (cairo_t *cr, int x, int y) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/operator-clear.c:146,1
    - Dst: cairo_save
      Src: /src/cairo/test/operator-clear.c:159,1
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/test/operator-clear.c:161,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/operator-clear.c:168,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/operator-clear.c:150,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/operator-clear.c:167,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/operator-clear.c:170,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/operator-clear.c:185,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/operator-clear.c:155,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/operator-clear.c:163,1
    - Dst: cairo_clip
      Src: /src/cairo/test/operator-clear.c:172,1
    - Dst: cairo_restore
      Src: /src/cairo/test/operator-clear.c:180,1
    - Dst: cairo_status
      Src: /src/cairo/test/operator-clear.c:184,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/operator-clear.c:154,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/operator-clear.c:165,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/test/operator-clear.c:171,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/operator-clear.c:174,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/operator-clear.c:178,1
    - Dst: cairo_status
      Src: /src/cairo/test/operator-clear.c:177,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 188
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 188
    functionName: draw
    functionSourceFile: /src/cairo/test/operator-clear.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - cairo_test_get_context
    - cairo_pattern_create_linear
    - ARRAY_LENGTH
    - cairo_save
    - cairo_set_source
    - cairo_status
    - cairo_restore
    - cairo_select_font_face
    - cairo_pattern_add_color_stop_rgba
    - cairo_fill_preserve
    - cairo_set_operator
    - cairo_clip
    - cairo_pattern_destroy
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/degenerate-path.c:40,1
    - Dst: cairo_translate
      Src: /src/cairo/test/degenerate-path.c:51,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/degenerate-path.c:52,1
    - Dst: cairo_translate
      Src: /src/cairo/test/degenerate-path.c:59,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/degenerate-path.c:61,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/degenerate-path.c:60,1
    - Dst: cairo_translate
      Src: /src/cairo/test/degenerate-path.c:78,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/degenerate-path.c:80,1
    - Dst: cairo_translate
      Src: /src/cairo/test/degenerate-path.c:87,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/degenerate-path.c:90,1
    - Dst: cairo_set_dash
      Src: /src/cairo/test/degenerate-path.c:85,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/degenerate-path.c:98,1
    - Dst: cairo_save
      Src: /src/cairo/test/degenerate-path.c:41,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/degenerate-path.c:47,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/degenerate-path.c:48,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/degenerate-path.c:54,1
    - Dst: cairo_set_dash
      Src: /src/cairo/test/degenerate-path.c:57,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/degenerate-path.c:66,1
    - Dst: cairo_translate
      Src: /src/cairo/test/degenerate-path.c:73,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/degenerate-path.c:74,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/degenerate-path.c:75,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/degenerate-path.c:81,1
    - Dst: cairo_set_dash
      Src: /src/cairo/test/degenerate-path.c:95,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/degenerate-path.c:99,1
    - Dst: cairo_translate
      Src: /src/cairo/test/degenerate-path.c:105,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/degenerate-path.c:38,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/degenerate-path.c:46,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/degenerate-path.c:43,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/degenerate-path.c:53,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/degenerate-path.c:62,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/degenerate-path.c:67,1
    - Dst: cairo_set_dash
      Src: /src/cairo/test/degenerate-path.c:71,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/degenerate-path.c:79,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/degenerate-path.c:88,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/degenerate-path.c:89,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/degenerate-path.c:100,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/degenerate-path.c:49,1
    - Dst: cairo_translate
      Src: /src/cairo/test/degenerate-path.c:64,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/degenerate-path.c:65,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/degenerate-path.c:76,1
    - Dst: cairo_translate
      Src: /src/cairo/test/degenerate-path.c:97,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/degenerate-path.c:101,1
    - Dst: cairo_restore
      Src: /src/cairo/test/degenerate-path.c:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 58
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 108
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 108
    functionName: draw
    functionSourceFile: /src/cairo/test/degenerate-path.c
    functionUses: []
    functionsReached:
    - cairo_set_line_width
    - cairo_line_to
    - ARRAY_LENGTH
    - cairo_set_dash
    - cairo_save
    - cairo_close_path
    - cairo_stroke
    - cairo_restore
    - cairo_set_line_cap
    - cairo_set_source_rgb
    - cairo_translate
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_move_to
      Src: /src/cairo/test/bug-361.c:35,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/bug-361.c:37,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/bug-361.c:39,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/bug-361.c:38,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/bug-361.c:36,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/bug-361.c:40,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/bug-361.c:41,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/bug-361.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 43
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 43
    functionName: shape
    functionSourceFile: /src/cairo/test/bug-361.c
    functionUses: []
    functionsReached:
    - cairo_rel_line_to
    - cairo_move_to
    - cairo_close_path
    linkageType: ''
    returnType: void
    signature: 'static void shape (cairo_t *cr, double width, double height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_paint
      Src: /src/cairo/test/bug-361.c:68,1
    - Dst: cairo_push_group_with_content
      Src: /src/cairo/test/bug-361.c:87,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/bug-361.c:90,1
    - Dst: cairo_pop_group_to_source
      Src: /src/cairo/test/bug-361.c:95,1
    - Dst: cairo_push_group_with_content
      Src: /src/cairo/test/bug-361.c:51,1
    - Dst: cairo_pop_group
      Src: /src/cairo/test/bug-361.c:75,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/bug-361.c:79,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/test/bug-361.c:73,1
    - Dst: cairo_fill
      Src: /src/cairo/test/bug-361.c:92,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/bug-361.c:54,1
    - Dst: cairo_push_group_with_content
      Src: /src/cairo/test/bug-361.c:64,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/bug-361.c:71,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/bug-361.c:82,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/bug-361.c:89,1
    - Dst: cairo_mask
      Src: /src/cairo/test/bug-361.c:80,1
    - Dst: cairo_stroke_preserve
      Src: /src/cairo/test/bug-361.c:91,1
    - Dst: cairo_pop_group
      Src: /src/cairo/test/bug-361.c:94,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/bug-361.c:97,1
    - Dst: cairo_translate
      Src: /src/cairo/test/bug-361.c:58,1
    - Dst: shape
      Src: /src/cairo/test/bug-361.c:59,1
    - Dst: cairo_paint
      Src: /src/cairo/test/bug-361.c:55,1
    - Dst: cairo_translate
      Src: /src/cairo/test/bug-361.c:60,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/bug-361.c:67,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/bug-361.c:72,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/bug-361.c:78,1
    - Dst: cairo_mask
      Src: /src/cairo/test/bug-361.c:98,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/bug-361.c:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 103
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 103
    functionName: draw
    functionSourceFile: /src/cairo/test/bug-361.c
    functionUses: []
    functionsReached:
    - cairo_push_group_with_content
    - cairo_paint
    - cairo_pop_group
    - cairo_set_source_rgba
    - cairo_set_source_rgb
    - cairo_set_line_width
    - cairo_stroke_preserve
    - cairo_pop_group_to_source
    - cairo_pattern_destroy
    - cairo_mask
    - cairo_set_operator
    - cairo_fill
    - cairo_translate
    - shape
    - cairo_fill_preserve
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/test/caps.c:36,1
    - Dst: cairo_rotate
      Src: /src/cairo/test/caps.c:41,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/caps.c:39,1
    - Dst: cairo_new_sub_path
      Src: /src/cairo/test/caps.c:38,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/caps.c:40,1
    - Dst: cairo_restore
      Src: /src/cairo/test/caps.c:43,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 44
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 44
    functionName: make_path
    functionSourceFile: /src/cairo/test/caps.c
    functionUses: []
    functionsReached:
    - cairo_new_sub_path
    - cairo_line_to
    - cairo_save
    - cairo_restore
    - cairo_rotate
    - cairo_move_to
    linkageType: ''
    returnType: void
    signature: 'static void make_path (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/caps.c:81,1
    - Dst: draw
      Src: /src/cairo/test/caps.c:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: draw_10
    functionSourceFile: /src/cairo/test/caps.c
    functionUses: []
    functionsReached:
    - draw
    - cairo_set_line_width
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_10 (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/caps.c:95,1
    - Dst: draw
      Src: /src/cairo/test/caps.c:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: draw_1
    functionSourceFile: /src/cairo/test/caps.c
    functionUses: []
    functionsReached:
    - draw
    - cairo_set_line_width
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_1 (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/caps.c:88,1
    - Dst: draw
      Src: /src/cairo/test/caps.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: draw_2
    functionSourceFile: /src/cairo/test/caps.c
    functionUses: []
    functionsReached:
    - draw
    - cairo_set_line_width
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_2 (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_paint
      Src: /src/cairo/test/caps.c:51,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/caps.c:66,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/caps.c:63,1
    - Dst: cairo_save
      Src: /src/cairo/test/caps.c:49,1
    - Dst: cairo_translate
      Src: /src/cairo/test/caps.c:61,1
    - Dst: make_path
      Src: /src/cairo/test/caps.c:65,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/caps.c:64,1
    - Dst: cairo_restore
      Src: /src/cairo/test/caps.c:52,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/caps.c:50,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/caps.c:56,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/caps.c:59,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/caps.c:70,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/caps.c:73,1
    - Dst: cairo_translate
      Src: /src/cairo/test/caps.c:54,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/caps.c:57,1
    - Dst: make_path
      Src: /src/cairo/test/caps.c:58,1
    - Dst: cairo_translate
      Src: /src/cairo/test/caps.c:68,1
    - Dst: make_path
      Src: /src/cairo/test/caps.c:72,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/caps.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 76
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 76
    functionName: draw
    functionSourceFile: /src/cairo/test/caps.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgb
    - make_path
    - cairo_save
    - cairo_set_line_join
    - cairo_stroke
    - cairo_restore
    - cairo_set_line_cap
    - cairo_translate
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/caps.c:102,1
    - Dst: draw
      Src: /src/cairo/test/caps.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: draw_05
    functionSourceFile: /src/cairo/test/caps.c
    functionUses: []
    functionsReached:
    - draw
    - cairo_set_line_width
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_05 (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_paint_checkered
      Src: /src/cairo/test/stroke-pattern.c:37,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/stroke-pattern.c:43,1
    - Dst: cairo_translate
      Src: /src/cairo/test/stroke-pattern.c:40,1
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/test/stroke-pattern.c:42,1
    - Dst: cairo_scale
      Src: /src/cairo/test/stroke-pattern.c:39,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/stroke-pattern.c:44,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/stroke-pattern.c:46,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/stroke-pattern.c:47,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/stroke-pattern.c:49,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/stroke-pattern.c:50,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/stroke-pattern.c:55,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/stroke-pattern.c:57,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/stroke-pattern.c:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 60
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 60
    functionName: draw
    functionSourceFile: /src/cairo/test/stroke-pattern.c
    functionUses: []
    functionsReached:
    - cairo_set_line_width
    - cairo_pattern_create_linear
    - cairo_curve_to
    - cairo_test_paint_checkered
    - cairo_pattern_destroy
    - cairo_pattern_set_extend
    - cairo_set_source
    - cairo_scale
    - cairo_stroke
    - cairo_pattern_add_color_stop_rgba
    - cairo_translate
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/rectilinear-grid.c:49,1
    - Dst: cairo_paint
      Src: /src/cairo/test/rectilinear-grid.c:50,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/rectilinear-grid.c:52,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/rectilinear-grid.c:53,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/rectilinear-grid.c:54,1
    - Dst: cairo_translate
      Src: /src/cairo/test/rectilinear-grid.c:55,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rectilinear-grid.c:60,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/rectilinear-grid.c:61,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rectilinear-grid.c:63,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/rectilinear-grid.c:64,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/rectilinear-grid.c:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 70
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 70
    functionName: draw
    functionSourceFile: /src/cairo/test/rectilinear-grid.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_line_width
    - cairo_set_source_rgb
    - cairo_line_to
    - cairo_stroke
    - cairo_set_operator
    - cairo_translate
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_antialias
      Src: /src/cairo/test/rectilinear-grid.c:75,1
    - Dst: draw
      Src: /src/cairo/test/rectilinear-grid.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: aligned
    functionSourceFile: /src/cairo/test/rectilinear-grid.c
    functionUses: []
    functionsReached:
    - draw
    - cairo_set_antialias
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t aligned (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/large-twin-antialias-mixed.c:32,1
    - Dst: cairo_font_options_destroy
      Src: /src/cairo/test/large-twin-antialias-mixed.c:40,1
    - Dst: cairo_font_options_create
      Src: /src/cairo/test/large-twin-antialias-mixed.c:37,1
    - Dst: cairo_font_options_set_antialias
      Src: /src/cairo/test/large-twin-antialias-mixed.c:38,1
    - Dst: cairo_set_font_options
      Src: /src/cairo/test/large-twin-antialias-mixed.c:39,1
    - Dst: cairo_scaled_font_reference
      Src: /src/cairo/test/large-twin-antialias-mixed.c:42,1
    - Dst: cairo_get_scaled_font
      Src: /src/cairo/test/large-twin-antialias-mixed.c:42,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 43
    functionName: create_twin
    functionSourceFile: /src/cairo/test/large-twin-antialias-mixed.c
    functionUses: []
    functionsReached:
    - cairo_font_options_destroy
    - cairo_set_font_options
    - cairo_font_options_create
    - cairo_get_scaled_font
    - cairo_select_font_face
    - cairo_font_options_set_antialias
    - cairo_scaled_font_reference
    linkageType: ''
    returnType: cairo_scaled_font_t*
    signature: 'static cairo_scaled_font_t *create_twin (cairo_t *cr, cairo_antialias_t
      antialias) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_twin
      Src: /src/cairo/test/large-twin-antialias-mixed.c:56,1
    - Dst: create_twin
      Src: /src/cairo/test/large-twin-antialias-mixed.c:58,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/large-twin-antialias-mixed.c:62,1
    - Dst: cairo_set_scaled_font
      Src: /src/cairo/test/large-twin-antialias-mixed.c:65,1
    - Dst: cairo_set_scaled_font
      Src: /src/cairo/test/large-twin-antialias-mixed.c:71,1
    - Dst: cairo_set_scaled_font
      Src: /src/cairo/test/large-twin-antialias-mixed.c:77,1
    - Dst: cairo_set_scaled_font
      Src: /src/cairo/test/large-twin-antialias-mixed.c:81,1
    - Dst: cairo_scaled_font_destroy
      Src: /src/cairo/test/large-twin-antialias-mixed.c:86,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/large-twin-antialias-mixed.c:55,1
    - Dst: cairo_set_scaled_font
      Src: /src/cairo/test/large-twin-antialias-mixed.c:63,1
    - Dst: cairo_set_scaled_font
      Src: /src/cairo/test/large-twin-antialias-mixed.c:69,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/large-twin-antialias-mixed.c:74,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/large-twin-antialias-mixed.c:76,1
    - Dst: cairo_set_scaled_font
      Src: /src/cairo/test/large-twin-antialias-mixed.c:79,1
    - Dst: cairo_scaled_font_destroy
      Src: /src/cairo/test/large-twin-antialias-mixed.c:85,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/large-twin-antialias-mixed.c:53,1
    - Dst: create_twin
      Src: /src/cairo/test/large-twin-antialias-mixed.c:57,1
    - Dst: cairo_set_scaled_font
      Src: /src/cairo/test/large-twin-antialias-mixed.c:61,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/large-twin-antialias-mixed.c:66,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/large-twin-antialias-mixed.c:72,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/large-twin-antialias-mixed.c:68,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/large-twin-antialias-mixed.c:78,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/large-twin-antialias-mixed.c:82,1
    - Dst: cairo_scaled_font_destroy
      Src: /src/cairo/test/large-twin-antialias-mixed.c:84,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/large-twin-antialias-mixed.c:51,1
    - Dst: cairo_paint
      Src: /src/cairo/test/large-twin-antialias-mixed.c:52,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/large-twin-antialias-mixed.c:60,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/large-twin-antialias-mixed.c:64,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/large-twin-antialias-mixed.c:70,1
    - Dst: cairo_set_scaled_font
      Src: /src/cairo/test/large-twin-antialias-mixed.c:73,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/large-twin-antialias-mixed.c:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 89
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 89
    functionName: draw
    functionSourceFile: /src/cairo/test/large-twin-antialias-mixed.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_scaled_font_destroy
    - cairo_show_text
    - cairo_set_font_size
    - create_twin
    - cairo_set_scaled_font
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/test/line-width-scale.c:89,1
    - Dst: cairo_save
      Src: /src/cairo/test/line-width-scale.c:96,1
    - Dst: spline_path
      Src: /src/cairo/test/line-width-scale.c:92,1
    - Dst: cairo_scale
      Src: /src/cairo/test/line-width-scale.c:91,1
    - Dst: cairo_restore
      Src: /src/cairo/test/line-width-scale.c:94,1
    - Dst: cairo_scale
      Src: /src/cairo/test/line-width-scale.c:98,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/line-width-scale.c:99,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/line-width-scale.c:100,1
    - Dst: cairo_restore
      Src: /src/cairo/test/line-width-scale.c:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 103
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 103
    functionName: scale_path_and_line_width
    functionSourceFile: /src/cairo/test/line-width-scale.c
    functionUses: []
    functionsReached:
    - cairo_set_line_width
    - cairo_save
    - cairo_scale
    - cairo_stroke
    - cairo_restore
    - spline_path
    linkageType: ''
    returnType: void
    signature: 'static void scale_path_and_line_width (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/test/line-width-scale.c:130,1
    - Dst: spline_path
      Src: /src/cairo/test/line-width-scale.c:133,1
    - Dst: cairo_scale
      Src: /src/cairo/test/line-width-scale.c:132,1
    - Dst: cairo_restore
      Src: /src/cairo/test/line-width-scale.c:135,1
    - Dst: cairo_save
      Src: /src/cairo/test/line-width-scale.c:137,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/line-width-scale.c:139,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/line-width-scale.c:140,1
    - Dst: cairo_restore
      Src: /src/cairo/test/line-width-scale.c:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 143
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 143
    functionName: scale_path_not_line_width
    functionSourceFile: /src/cairo/test/line-width-scale.c
    functionUses: []
    functionsReached:
    - cairo_set_line_width
    - cairo_save
    - cairo_scale
    - cairo_stroke
    - cairo_restore
    - spline_path
    linkageType: ''
    returnType: void
    signature: 'static void scale_path_not_line_width (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_scale
      Src: /src/cairo/test/line-width-scale.c:74,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/line-width-scale.c:77,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/line-width-scale.c:75,1
    - Dst: spline_path
      Src: /src/cairo/test/line-width-scale.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: scale_then_set_line_width_and_stroke
    functionSourceFile: /src/cairo/test/line-width-scale.c
    functionUses: []
    functionsReached:
    - cairo_scale
    - cairo_stroke
    - spline_path
    - cairo_set_line_width
    linkageType: ''
    returnType: void
    signature: 'static void scale_then_set_line_width_and_stroke (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/line-width-scale.c:156,1
    - Dst: cairo_translate
      Src: /src/cairo/test/line-width-scale.c:162,1
    - Dst: cairo_save
      Src: /src/cairo/test/line-width-scale.c:161,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/line-width-scale.c:158,1
    - Dst: cairo_paint
      Src: /src/cairo/test/line-width-scale.c:157,1
    - Dst: cairo_restore
      Src: /src/cairo/test/line-width-scale.c:166,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 170
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 170
    functionName: draw
    functionSourceFile: /src/cairo/test/line-width-scale.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgb
    - cairo_save
    - cairo_restore
    - cairo_translate
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/test/line-width-scale.c:57,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/line-width-scale.c:59,1
    - Dst: cairo_restore
      Src: /src/cairo/test/line-width-scale.c:66,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/line-width-scale.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 67
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 67
    functionName: spline_path
    functionSourceFile: /src/cairo/test/line-width-scale.c
    functionUses: []
    functionsReached:
    - cairo_curve_to
    - cairo_move_to
    - cairo_save
    - cairo_restore
    linkageType: ''
    returnType: void
    signature: 'static void spline_path (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/line-width-scale.c:115,1
    - Dst: spline_path
      Src: /src/cairo/test/line-width-scale.c:117,1
    - Dst: cairo_scale
      Src: /src/cairo/test/line-width-scale.c:116,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/line-width-scale.c:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 119
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 119
    functionName: set_line_width_then_scale_and_stroke
    functionSourceFile: /src/cairo/test/line-width-scale.c
    functionUses: []
    functionsReached:
    - cairo_scale
    - cairo_stroke
    - spline_path
    - cairo_set_line_width
    linkageType: ''
    returnType: void
    signature: 'static void set_line_width_then_scale_and_stroke (cairo_t *cr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_paint_checkered
      Src: /src/cairo/test/degenerate-radial-gradient.c:47,1
    - Dst: cairo_pattern_create_radial
      Src: /src/cairo/test/degenerate-radial-gradient.c:60,1
    - Dst: cairo_pattern_create_radial
      Src: /src/cairo/test/degenerate-radial-gradient.c:62,1
    - Dst: cairo_pattern_create_radial
      Src: /src/cairo/test/degenerate-radial-gradient.c:64,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/degenerate-radial-gradient.c:68,1
    - Dst: cairo_translate
      Src: /src/cairo/test/degenerate-radial-gradient.c:77,1
    - Dst: sqrt
      Src: /src/cairo/test/degenerate-radial-gradient.c:67,1
    - Dst: cairo_translate
      Src: /src/cairo/test/degenerate-radial-gradient.c:81,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/degenerate-radial-gradient.c:56,1
    - Dst: cairo_save
      Src: /src/cairo/test/degenerate-radial-gradient.c:52,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/degenerate-radial-gradient.c:66,1
    - Dst: cairo_restore
      Src: /src/cairo/test/degenerate-radial-gradient.c:80,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/degenerate-radial-gradient.c:75,1
    - Dst: cairo_translate
      Src: /src/cairo/test/degenerate-radial-gradient.c:49,1
    - Dst: cairo_paint
      Src: /src/cairo/test/degenerate-radial-gradient.c:73,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/degenerate-radial-gradient.c:72,1
    - Dst: cairo_reset_clip
      Src: /src/cairo/test/degenerate-radial-gradient.c:55,1
    - Dst: cairo_clip
      Src: /src/cairo/test/degenerate-radial-gradient.c:57,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/degenerate-radial-gradient.c:67,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/degenerate-radial-gradient.c:70,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 48
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 85
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 85
    functionName: draw
    functionSourceFile: /src/cairo/test/degenerate-radial-gradient.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_test_paint_checkered
    - cairo_save
    - sqrt
    - cairo_pattern_set_extend
    - cairo_set_source
    - cairo_pattern_create_radial
    - cairo_restore
    - cairo_pattern_add_color_stop_rgba
    - cairo_translate
    - cairo_clip
    - cairo_reset_clip
    - cairo_pattern_destroy
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/alpha-similar.c:33,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/alpha-similar.c:37,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/alpha-similar.c:39,1
    - Dst: cairo_create
      Src: /src/cairo/test/alpha-similar.c:36,1
    - Dst: cairo_paint
      Src: /src/cairo/test/alpha-similar.c:40,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/test/alpha-similar.c:42,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/alpha-similar.c:42,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/alpha-similar.c:43,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 46
    functionName: create_source
    functionSourceFile: /src/cairo/test/alpha-similar.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgba
    - cairo_surface_reference
    - cairo_create
    - cairo_surface_destroy
    - cairo_get_target
    - cairo_destroy
    - cairo_surface_create_similar
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *create_source (cairo_surface_t *target, int
      width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_source
      Src: /src/cairo/test/alpha-similar.c:53,1
    - Dst: cairo_paint
      Src: /src/cairo/test/alpha-similar.c:57,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/alpha-similar.c:55,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/alpha-similar.c:53,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/alpha-similar.c:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 60
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 60
    functionName: draw
    functionSourceFile: /src/cairo/test/alpha-similar.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - create_source
    - cairo_surface_destroy
    - cairo_get_target
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/cairo/test/ps-eps.c:63,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/ps-eps.c:64,1
    - Dst: strerror
      Src: /src/cairo/test/ps-eps.c:65,1
    - Dst: exit
      Src: /src/cairo/test/ps-eps.c:66,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - pathname
    argTypes:
    - cairo_test_context_t*
    - char*
    constantsTouched: []
    func_position:
      end: 68
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 68
    functionName: _xunlink
    functionSourceFile: /src/cairo/test/ps-eps.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - exit
    - strerror
    - unlink
    linkageType: ''
    returnType: void
    signature: 'static void _xunlink (const cairo_test_context_t *ctx, const char
      *pathname) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: xasprintf
      Src: /src/cairo/test/ps-eps.c:98,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/ps-eps.c:93,1
    - Dst: free
      Src: /src/cairo/test/ps-eps.c:118,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/ps-eps.c:132,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/ps-eps.c:146,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/ps-eps.c:147,1
    - Dst: free
      Src: /src/cairo/test/ps-eps.c:150,1
    - Dst: image_diff_is_failure
      Src: /src/cairo/test/ps-eps.c:166,1
    - Dst: free
      Src: /src/cairo/test/ps-eps.c:179,1
    - Dst: free
      Src: /src/cairo/test/ps-eps.c:181,1
    - Dst: _xunlink
      Src: /src/cairo/test/ps-eps.c:161,1
    - Dst: free
      Src: /src/cairo/test/ps-eps.c:180,1
    - Dst: image_diff
      Src: /src/cairo/test/ps-eps.c:158,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/ps-eps.c:92,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/ps-eps.c:91,1
    - Dst: xasprintf
      Src: /src/cairo/test/ps-eps.c:99,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/ps-eps.c:102,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/ps-eps.c:105,1
    - Dst: cairo_boilerplate_content_name
      Src: /src/cairo/test/ps-eps.c:122,1
    - Dst: cairo_test_get_reference_image
      Src: /src/cairo/test/ps-eps.c:140,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/ps-eps.c:142,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/ps-eps.c:143,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/ps-eps.c:154,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/ps-eps.c:172,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/ps-eps.c:103,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/ps-eps.c:104,1
    - Dst: _xunlink
      Src: /src/cairo/test/ps-eps.c:111,1
    - Dst: cairo_surface_write_to_png
      Src: /src/cairo/test/ps-eps.c:112,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/ps-eps.c:116,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/ps-eps.c:104,1
    - Dst: free
      Src: /src/cairo/test/ps-eps.c:106,1
    - Dst: free
      Src: /src/cairo/test/ps-eps.c:135,1
    - Dst: free
      Src: /src/cairo/test/ps-eps.c:148,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/ps-eps.c:163,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/ps-eps.c:173,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/ps-eps.c:177,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/ps-eps.c:145,1
    - Dst: cairo_surface_write_to_png
      Src: /src/cairo/test/ps-eps.c:170,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/ps-eps.c:164,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/ps-eps.c:114,1
    - Dst: free
      Src: /src/cairo/test/ps-eps.c:107,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/ps-eps.c:115,1
    - Dst: free
      Src: /src/cairo/test/ps-eps.c:117,1
    - Dst: cairo_test_reference_filename
      Src: /src/cairo/test/ps-eps.c:123,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/ps-eps.c:134,1
    - Dst: free
      Src: /src/cairo/test/ps-eps.c:136,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/ps-eps.c:145,1
    - Dst: free
      Src: /src/cairo/test/ps-eps.c:149,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/ps-eps.c:178,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 76
    argCount: 5
    argNames:
    - ctx
    - target
    - test_name
    - base_name
    - surface
    argTypes:
    - cairo_test_context_t*
    - cairo_boilerplate_target_t*
    - char*
    - char*
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 184
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 184
    functionName: check_result
    functionSourceFile: /src/cairo/test/ps-eps.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - cairo_boilerplate_content_name
    - image_diff_is_failure
    - image_diff
    - _xunlink
    - free
    - xasprintf
    - cairo_surface_status
    - cairo_test_get_reference_image
    - cairo_surface_write_to_png
    - cairo_surface_destroy
    - cairo_image_surface_create
    - cairo_test_reference_filename
    - cairo_status_to_string
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t check_result (cairo_test_context_t *ctx,\t const\
      \ cairo_boilerplate_target_t *target,\t const char *test_name,\t const char\
      \ *base_name,\t cairo_surface_t *surface) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cairo_boilerplate_content_name
      Src: /src/cairo/test/ps-eps.c:264,1
    - Dst: free
      Src: /src/cairo/test/ps-eps.c:278,1
    - Dst: cairo_ps_surface_set_eps
      Src: /src/cairo/test/ps-eps.c:282,1
    - Dst: cairo_ps_surface_get_eps
      Src: /src/cairo/test/ps-eps.c:283,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/ps-eps.c:293,1
    - Dst: cairo_new_sub_path
      Src: /src/cairo/test/ps-eps.c:302,1
    - Dst: cairo_arc
      Src: /src/cairo/test/ps-eps.c:303,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/ps-eps.c:314,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/ps-eps.c:326,1
    - Dst: cairo_test_mkdir
      Src: /src/cairo/test/ps-eps.c:249,1
    - Dst: xasprintf
      Src: /src/cairo/test/ps-eps.c:266,1
    - Dst: printf
      Src: /src/cairo/test/ps-eps.c:296,1
    - Dst: free
      Src: /src/cairo/test/ps-eps.c:288,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/ps-eps.c:304,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/ps-eps.c:305,1
    - Dst: cairo_status
      Src: /src/cairo/test/ps-eps.c:309,1
    - Dst: printf
      Src: /src/cairo/test/ps-eps.c:334,1
    - Dst: free
      Src: /src/cairo/test/ps-eps.c:277,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/ps-eps.c:284,1
    - Dst: free
      Src: /src/cairo/test/ps-eps.c:289,1
    - Dst: cairo_show_page
      Src: /src/cairo/test/ps-eps.c:307,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/ps-eps.c:313,1
    - Dst: check_bbox
      Src: /src/cairo/test/ps-eps.c:323,1
    - Dst: free
      Src: /src/cairo/test/ps-eps.c:330,1
    - Dst: printf
      Src: /src/cairo/test/ps-eps.c:337,1
    - Dst: fflush
      Src: /src/cairo/test/ps-eps.c:340,1
    - Dst: xasprintf
      Src: /src/cairo/test/ps-eps.c:265,1
    - Dst: cairo_test_is_target_enabled
      Src: /src/cairo/test/ps-eps.c:261,1
    - Dst: fflush
      Src: /src/cairo/test/ps-eps.c:297,1
    - Dst: cairo_create
      Src: /src/cairo/test/ps-eps.c:300,1
    - Dst: cairo_surface_set_device_offset
      Src: /src/cairo/test/ps-eps.c:299,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/ps-eps.c:310,1
    - Dst: check_result
      Src: /src/cairo/test/ps-eps.c:319,1
    - Dst: free
      Src: /src/cairo/test/ps-eps.c:331,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 63
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - cairo_test_context_t*
    constantsTouched: []
    func_position:
      end: 344
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 344
    functionName: preamble
    functionSourceFile: /src/cairo/test/ps-eps.c
    functionUses: []
    functionsReached:
    - printf
    - cairo_set_line_width
    - xasprintf
    - check_bbox
    - fflush
    - cairo_show_page
    - cairo_create
    - check_result
    - cairo_ps_surface_set_eps
    - cairo_test_is_target_enabled
    - cairo_status
    - cairo_surface_set_device_offset
    - cairo_new_sub_path
    - cairo_ps_surface_get_eps
    - cairo_test_log
    - cairo_arc
    - cairo_test_mkdir
    - cairo_stroke
    - cairo_destroy
    - cairo_status_to_string
    - cairo_boilerplate_content_name
    - free
    - cairo_surface_destroy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t preamble (cairo_test_context_t *ctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: xasprintf
      Src: /src/cairo/test/ps-eps.c:201,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/ps-eps.c:204,1
    - Dst: free
      Src: /src/cairo/test/ps-eps.c:206,1
    - Dst: feof
      Src: /src/cairo/test/ps-eps.c:212,1
    - Dst: fopen
      Src: /src/cairo/test/ps-eps.c:202,1
    - Dst: fgets
      Src: /src/cairo/test/ps-eps.c:213,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/ps-eps.c:214,1
    - Dst: strncmp
      Src: /src/cairo/test/ps-eps.c:219,1
    - Dst: strlen
      Src: /src/cairo/test/ps-eps.c:219,1
    - Dst: sscanf
      Src: /src/cairo/test/ps-eps.c:220,1
    - Dst: strlen
      Src: /src/cairo/test/ps-eps.c:225,1
    - Dst: strlen
      Src: /src/cairo/test/ps-eps.c:226,1
    - Dst: strncmp
      Src: /src/cairo/test/ps-eps.c:225,1
    - Dst: strlen
      Src: /src/cairo/test/ps-eps.c:220,1
    - Dst: sscanf
      Src: /src/cairo/test/ps-eps.c:226,1
    - Dst: free
      Src: /src/cairo/test/ps-eps.c:238,1
    - Dst: fclose
      Src: /src/cairo/test/ps-eps.c:231,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/ps-eps.c:234,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 60
    argCount: 2
    argNames:
    - ctx
    - base_name
    argTypes:
    - cairo_test_context_t*
    - char*
    constantsTouched: []
    func_position:
      end: 241
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 241
    functionName: check_bbox
    functionSourceFile: /src/cairo/test/ps-eps.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - fgets
    - feof
    - strlen
    - fclose
    - free
    - xasprintf
    - sscanf
    - strncmp
    - fopen
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t check_bbox (cairo_test_context_t *ctx,\t const\
      \ char *base_name) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/a1-sample.c:37,1
    - Dst: cairo_paint
      Src: /src/cairo/test/a1-sample.c:38,1
    - Dst: cairo_set_antialias
      Src: /src/cairo/test/a1-sample.c:40,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/a1-sample.c:46,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/a1-sample.c:41,1
    - Dst: cairo_fill
      Src: /src/cairo/test/a1-sample.c:47,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 51
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 51
    functionName: draw
    functionSourceFile: /src/cairo/test/a1-sample.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_set_antialias
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/line-width-large-overlap.c:45,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/line-width-large-overlap.c:49,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/line-width-large-overlap.c:52,1
    - Dst: cairo_paint
      Src: /src/cairo/test/line-width-large-overlap.c:46,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/line-width-large-overlap.c:55,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/line-width-large-overlap.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 64
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 64
    functionName: draw
    functionSourceFile: /src/cairo/test/line-width-large-overlap.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_line_width
    - cairo_stroke
    - cairo_set_source_rgb
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_translate
      Src: /src/cairo/test/line-width-large-overlap.c:77,1
    - Dst: cairo_rotate
      Src: /src/cairo/test/line-width-large-overlap.c:78,1
    - Dst: draw
      Src: /src/cairo/test/line-width-large-overlap.c:81,1
    - Dst: cairo_translate
      Src: /src/cairo/test/line-width-large-overlap.c:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: draw_rotated
    functionSourceFile: /src/cairo/test/line-width-large-overlap.c
    functionUses: []
    functionsReached:
    - draw
    - cairo_rotate
    - cairo_translate
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_rotated (cairo_t *cr, int width, int
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_translate
      Src: /src/cairo/test/line-width-large-overlap.c:97,1
    - Dst: cairo_translate
      Src: /src/cairo/test/line-width-large-overlap.c:99,1
    - Dst: draw
      Src: /src/cairo/test/line-width-large-overlap.c:101,1
    - Dst: cairo_scale
      Src: /src/cairo/test/line-width-large-overlap.c:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: draw_flopped
    functionSourceFile: /src/cairo/test/line-width-large-overlap.c
    functionUses: []
    functionsReached:
    - cairo_scale
    - draw
    - cairo_translate
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_flopped (cairo_t *cr, int width, int
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_translate
      Src: /src/cairo/test/line-width-large-overlap.c:87,1
    - Dst: cairo_translate
      Src: /src/cairo/test/line-width-large-overlap.c:89,1
    - Dst: draw
      Src: /src/cairo/test/line-width-large-overlap.c:91,1
    - Dst: cairo_scale
      Src: /src/cairo/test/line-width-large-overlap.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: draw_flipped
    functionSourceFile: /src/cairo/test/line-width-large-overlap.c
    functionUses: []
    functionsReached:
    - cairo_scale
    - draw
    - cairo_translate
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_flipped (cairo_t *cr, int width, int
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_dash
      Src: /src/cairo/test/line-width-large-overlap.c:108,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/line-width-large-overlap.c:109,1
    - Dst: draw
      Src: /src/cairo/test/line-width-large-overlap.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 111
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 111
    functionName: draw_dashed
    functionSourceFile: /src/cairo/test/line-width-large-overlap.c
    functionUses: []
    functionsReached:
    - cairo_set_dash
    - draw
    - cairo_set_line_cap
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_dashed (cairo_t *cr, int width, int
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_translate
      Src: /src/cairo/test/line-width-large-overlap.c:70,1
    - Dst: draw
      Src: /src/cairo/test/line-width-large-overlap.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: draw_offset
    functionSourceFile: /src/cairo/test/line-width-large-overlap.c
    functionUses: []
    functionsReached:
    - draw
    - cairo_translate
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_offset (cairo_t *cr, int width, int
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/pdf-isolated-group.c:46,1
    - Dst: cairo_paint
      Src: /src/cairo/test/pdf-isolated-group.c:47,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/pdf-isolated-group.c:50,1
    - Dst: cairo_fill
      Src: /src/cairo/test/pdf-isolated-group.c:51,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/pdf-isolated-group.c:49,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/pdf-isolated-group.c:53,1
    - Dst: cairo_push_group
      Src: /src/cairo/test/pdf-isolated-group.c:55,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/pdf-isolated-group.c:57,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/pdf-isolated-group.c:58,1
    - Dst: cairo_fill
      Src: /src/cairo/test/pdf-isolated-group.c:59,1
    - Dst: cairo_paint
      Src: /src/cairo/test/pdf-isolated-group.c:62,1
    - Dst: cairo_pop_group_to_source
      Src: /src/cairo/test/pdf-isolated-group.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 65
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 65
    functionName: draw
    functionSourceFile: /src/cairo/test/pdf-isolated-group.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_pop_group_to_source
    - cairo_set_operator
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_push_group
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_translate
      Src: /src/cairo/test/operator.c:36,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/operator.c:43,1
    - Dst: cairo_reset_clip
      Src: /src/cairo/test/operator.c:39,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/operator.c:40,1
    - Dst: cairo_clip
      Src: /src/cairo/test/operator.c:41,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/operator.c:44,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/operator.c:45,1
    - Dst: cairo_fill
      Src: /src/cairo/test/operator.c:46,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/operator.c:48,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/operator.c:49,1
    - Dst: cairo_fill
      Src: /src/cairo/test/operator.c:51,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/operator.c:50,1
    - Dst: cairo_translate
      Src: /src/cairo/test/operator.c:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 57
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 57
    functionName: draw
    functionSourceFile: /src/cairo/test/operator.c
    functionUses: []
    functionsReached:
    - cairo_set_operator
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_translate
    - cairo_clip
    - cairo_reset_clip
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_device_finish
      Src: /src/cairo/test/xlib-surface-source.c:46,1
    - Dst: cairo_device_destroy
      Src: /src/cairo/test/xlib-surface-source.c:47,1
    - Dst: XFreePixmap
      Src: /src/cairo/test/xlib-surface-source.c:49,1
    - Dst: XCloseDisplay
      Src: /src/cairo/test/xlib-surface-source.c:50,1
    - Dst: free
      Src: /src/cairo/test/xlib-surface-source.c:52,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 53
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 53
    functionName: cleanup
    functionSourceFile: /src/cairo/test/xlib-surface-source.c
    functionUses: []
    functionsReached:
    - XCloseDisplay
    - cairo_device_destroy
    - free
    - XFreePixmap
    - cairo_device_finish
    linkageType: ''
    returnType: void
    signature: 'static void cleanup (void *data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/cairo/test/xlib-surface-source.c:63,1
    - Dst: XRenderFindStandardFormat
      Src: /src/cairo/test/xlib-surface-source.c:70,1
    - Dst: XOpenDisplay
      Src: /src/cairo/test/xlib-surface-source.c:65,1
    - Dst: XCreatePixmap
      Src: /src/cairo/test/xlib-surface-source.c:72,1
    - Dst: DefaultRootWindow
      Src: /src/cairo/test/xlib-surface-source.c:72,1
    - Dst: cairo_xlib_surface_create_with_xrender_format
      Src: /src/cairo/test/xlib-surface-source.c:75,1
    - Dst: DefaultScreenOfDisplay
      Src: /src/cairo/test/xlib-surface-source.c:77,1
    - Dst: cairo_device_reference
      Src: /src/cairo/test/xlib-surface-source.c:80,1
    - Dst: cairo_surface_get_device
      Src: /src/cairo/test/xlib-surface-source.c:80,1
    - Dst: cairo_surface_set_user_data
      Src: /src/cairo/test/xlib-surface-source.c:81,1
    - Dst: cleanup
      Src: /src/cairo/test/xlib-surface-source.c:84,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/xlib-surface-source.c:83,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/xlib-surface-source.c:82,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 92
    functionName: create_source_surface
    functionSourceFile: /src/cairo/test/xlib-surface-source.c
    functionUses: []
    functionsReached:
    - XCreatePixmap
    - cleanup
    - cairo_surface_set_user_data
    - XRenderFindStandardFormat
    - xmalloc
    - cairo_surface_finish
    - DefaultScreenOfDisplay
    - cairo_device_reference
    - cairo_surface_destroy
    - cairo_surface_get_device
    - cairo_xlib_surface_create_with_xrender_format
    - DefaultRootWindow
    - XOpenDisplay
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *create_source_surface (int size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/extend-pad-border.c:41,1
    - Dst: cairo_fill
      Src: /src/cairo/test/extend-pad-border.c:43,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/extend-pad-border.c:47,1
    - Dst: cairo_create
      Src: /src/cairo/test/extend-pad-border.c:49,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/extend-pad-border.c:74,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/extend-pad-border.c:75,1
    - Dst: cairo_clip
      Src: /src/cairo/test/extend-pad-border.c:82,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/extend-pad-border.c:53,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/extend-pad-border.c:57,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/extend-pad-border.c:58,1
    - Dst: cairo_fill
      Src: /src/cairo/test/extend-pad-border.c:66,1
    - Dst: cairo_scale
      Src: /src/cairo/test/extend-pad-border.c:73,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/extend-pad-border.c:67,1
    - Dst: cairo_fill
      Src: /src/cairo/test/extend-pad-border.c:71,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/extend-pad-border.c:74,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/extend-pad-border.c:42,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/extend-pad-border.c:81,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/extend-pad-border.c:50,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/extend-pad-border.c:52,1
    - Dst: cairo_fill
      Src: /src/cairo/test/extend-pad-border.c:56,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/extend-pad-border.c:62,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/extend-pad-border.c:63,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/extend-pad-border.c:68,1
    - Dst: cairo_fill
      Src: /src/cairo/test/extend-pad-border.c:61,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/extend-pad-border.c:80,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/extend-pad-border.c:80,1
    - Dst: cairo_paint
      Src: /src/cairo/test/extend-pad-border.c:84,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 44
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 87
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 87
    functionName: draw
    functionSourceFile: /src/cairo/test/extend-pad-border.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgba
    - cairo_get_source
    - cairo_create
    - cairo_surface_destroy
    - cairo_pattern_set_extend
    - cairo_image_surface_create
    - cairo_scale
    - cairo_get_target
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_destroy
    - cairo_clip
    - cairo_set_source_surface
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/smp-glyph.c:32,1
    - Dst: cairo_paint
      Src: /src/cairo/test/smp-glyph.c:33,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/smp-glyph.c:35,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/smp-glyph.c:41,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/smp-glyph.c:37,1
    - Dst: cairo_translate
      Src: /src/cairo/test/smp-glyph.c:42,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/smp-glyph.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 48
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 48
    functionName: draw
    functionSourceFile: /src/cairo/test/smp-glyph.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_show_text
    - cairo_set_source_rgb
    - cairo_set_font_size
    - cairo_select_font_face
    - cairo_translate
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_rotate
      Src: /src/cairo/test/rotated-clip.c:49,1
    - Dst: cairo_clip
      Src: /src/cairo/test/rotated-clip.c:55,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/rotated-clip.c:62,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/rotated-clip.c:65,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rotated-clip.c:78,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/rotated-clip.c:79,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rotated-clip.c:93,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/rotated-clip.c:73,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/rotated-clip.c:95,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/rotated-clip.c:80,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rotated-clip.c:84,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/rotated-clip.c:43,1
    - Dst: cairo_matrix_init_scale
      Src: /src/cairo/test/rotated-clip.c:48,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/rotated-clip.c:58,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/rotated-clip.c:69,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/rotated-clip.c:75,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/rotated-clip.c:81,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/rotated-clip.c:87,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/rotated-clip.c:94,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/rotated-clip.c:98,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/rotated-clip.c:85,1
    - Dst: cairo_paint
      Src: /src/cairo/test/rotated-clip.c:44,1
    - Dst: cairo_translate
      Src: /src/cairo/test/rotated-clip.c:46,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/test/rotated-clip.c:50,1
    - Dst: cairo_set_matrix
      Src: /src/cairo/test/rotated-clip.c:52,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/rotated-clip.c:54,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rotated-clip.c:66,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/rotated-clip.c:61,1
    - Dst: cairo_fill
      Src: /src/cairo/test/rotated-clip.c:63,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/rotated-clip.c:67,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/rotated-clip.c:68,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/rotated-clip.c:86,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/rotated-clip.c:74,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/test/rotated-clip.c:51,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/rotated-clip.c:57,1
    - Dst: cairo_fill
      Src: /src/cairo/test/rotated-clip.c:59,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/rotated-clip.c:70,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rotated-clip.c:72,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/rotated-clip.c:76,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/rotated-clip.c:82,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/rotated-clip.c:88,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/rotated-clip.c:90,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rotated-clip.c:97,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/rotated-clip.c:99,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/rotated-clip.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 75
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 102
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 102
    functionName: draw
    functionSourceFile: /src/cairo/test/rotated-clip.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgba
    - cairo_set_source_rgb
    - cairo_matrix_translate
    - cairo_set_line_width
    - cairo_matrix_init_scale
    - cairo_move_to
    - cairo_line_to
    - cairo_stroke
    - cairo_fill
    - cairo_translate
    - cairo_matrix_rotate
    - cairo_clip
    - cairo_matrix_invert
    - cairo_set_matrix
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/degenerate-dash.c:47,1
    - Dst: cairo_set_dash
      Src: /src/cairo/test/degenerate-dash.c:52,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/degenerate-dash.c:50,1
    - Dst: cairo_paint
      Src: /src/cairo/test/degenerate-dash.c:48,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/degenerate-dash.c:53,1
    - Dst: cairo_translate
      Src: /src/cairo/test/degenerate-dash.c:55,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/degenerate-dash.c:57,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/degenerate-dash.c:58,1
    - Dst: cairo_save
      Src: /src/cairo/test/degenerate-dash.c:59,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/degenerate-dash.c:61,1
    - Dst: cairo_restore
      Src: /src/cairo/test/degenerate-dash.c:71,1
    - Dst: cairo_translate
      Src: /src/cairo/test/degenerate-dash.c:69,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/degenerate-dash.c:62,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/degenerate-dash.c:64,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/degenerate-dash.c:67,1
    - Dst: cairo_translate
      Src: /src/cairo/test/degenerate-dash.c:73,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/degenerate-dash.c:65,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/degenerate-dash.c:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 77
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 77
    functionName: draw
    functionSourceFile: /src/cairo/test/degenerate-dash.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_line_width
    - cairo_set_source_rgb
    - cairo_line_to
    - cairo_set_dash
    - ARRAY_LENGTH
    - cairo_save
    - cairo_set_line_join
    - cairo_stroke
    - cairo_restore
    - cairo_set_line_cap
    - cairo_translate
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/test/gradient-scale-crash.c:31,1
    - Dst: cairo_pattern_set_matrix
      Src: /src/cairo/test/gradient-scale-crash.c:38,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/test/gradient-scale-crash.c:34,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/test/gradient-scale-crash.c:33,1
    - Dst: cairo_matrix_init
      Src: /src/cairo/test/gradient-scale-crash.c:37,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/gradient-scale-crash.c:40,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/gradient-scale-crash.c:41,1
    - Dst: cairo_paint
      Src: /src/cairo/test/gradient-scale-crash.c:42,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/gradient-scale-crash.c:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 47
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 47
    functionName: draw
    functionSourceFile: /src/cairo/test/gradient-scale-crash.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_pattern_create_linear
    - cairo_rectangle
    - cairo_pattern_add_color_stop_rgb
    - cairo_pattern_set_matrix
    - cairo_set_source
    - cairo_pattern_destroy
    - cairo_matrix_init
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/solid-pattern-cache-stress.c:44,1
    - Dst: cairo_create
      Src: /src/cairo/test/solid-pattern-cache-stress.c:47,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/solid-pattern-cache-stress.c:45,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/solid-pattern-cache-stress.c:44,1
    - Dst: cairo_surface_get_content
      Src: /src/cairo/test/solid-pattern-cache-stress.c:45,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/solid-pattern-cache-stress.c:48,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 51
    functionName: _cairo_create_similar
    functionSourceFile: /src/cairo/test/solid-pattern-cache-stress.c
    functionUses: []
    functionsReached:
    - cairo_create
    - cairo_surface_destroy
    - cairo_get_target
    - cairo_surface_get_content
    - cairo_surface_create_similar
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *_cairo_create_similar (cairo_t *cr, int width, int
      height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_status
      Src: /src/cairo/test/solid-pattern-cache-stress.c:111,1
    - Dst: _propagate_status
      Src: /src/cairo/test/solid-pattern-cache-stress.c:118,1
    - Dst: _draw
      Src: /src/cairo/test/solid-pattern-cache-stress.c:116,1
    - Dst: _cairo_create_similar
      Src: /src/cairo/test/solid-pattern-cache-stress.c:114,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/solid-pattern-cache-stress.c:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - cr
    - red
    - green
    - blue
    argTypes:
    - cairo_t*
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 120
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 120
    functionName: use_similar
    functionSourceFile: /src/cairo/test/solid-pattern-cache-stress.c
    functionUses: []
    functionsReached:
    - _cairo_create_similar
    - cairo_status
    - _draw
    - cairo_destroy
    - _propagate_status
    linkageType: ''
    returnType: void
    signature: "static void use_similar (cairo_t *cr,\t double red,\t double green,\t\
      \ double blue) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_status
      Src: /src/cairo/test/solid-pattern-cache-stress.c:70,1
    - Dst: cairo_append_path
      Src: /src/cairo/test/solid-pattern-cache-stress.c:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - cairo_t*
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 76
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 76
    functionName: _propagate_status
    functionSourceFile: /src/cairo/test/solid-pattern-cache-stress.c
    functionUses: []
    functionsReached:
    - cairo_status
    - cairo_append_path
    linkageType: ''
    returnType: void
    signature: 'static void _propagate_status (cairo_t *dst, cairo_t *src) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: use_image
      Src: /src/cairo/test/solid-pattern-cache-stress.c:149,1
    - Dst: use_image
      Src: /src/cairo/test/solid-pattern-cache-stress.c:150,1
    - Dst: use_similar
      Src: /src/cairo/test/solid-pattern-cache-stress.c:154,1
    - Dst: use_image
      Src: /src/cairo/test/solid-pattern-cache-stress.c:151,1
    - Dst: use_image
      Src: /src/cairo/test/solid-pattern-cache-stress.c:152,1
    - Dst: _draw
      Src: /src/cairo/test/solid-pattern-cache-stress.c:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - cr
    - red
    - green
    - blue
    argTypes:
    - cairo_t*
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 157
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 157
    functionName: use_solid
    functionSourceFile: /src/cairo/test/solid-pattern-cache-stress.c
    functionUses: []
    functionsReached:
    - use_image
    - use_similar
    - _draw
    linkageType: ''
    returnType: void
    signature: "static void use_solid (cairo_t *cr,\t double red,\t double green,\t\
      \ double blue) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/solid-pattern-cache-stress.c:86,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/solid-pattern-cache-stress.c:90,1
    - Dst: cairo_paint
      Src: /src/cairo/test/solid-pattern-cache-stress.c:87,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/solid-pattern-cache-stress.c:91,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/solid-pattern-cache-stress.c:89,1
    - Dst: cairo_mask
      Src: /src/cairo/test/solid-pattern-cache-stress.c:93,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/solid-pattern-cache-stress.c:93,1
    - Dst: cairo_set_scaled_font
      Src: /src/cairo/test/solid-pattern-cache-stress.c:95,1
    - Dst: cairo_text_extents
      Src: /src/cairo/test/solid-pattern-cache-stress.c:96,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/solid-pattern-cache-stress.c:97,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/solid-pattern-cache-stress.c:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - cr
    - red
    - green
    - blue
    argTypes:
    - cairo_t*
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 101
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 101
    functionName: _draw
    functionSourceFile: /src/cairo/test/solid-pattern-cache-stress.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_show_text
    - cairo_line_to
    - cairo_get_source
    - cairo_mask
    - cairo_set_scaled_font
    - cairo_stroke
    - cairo_set_source_rgb
    - cairo_text_extents
    - cairo_move_to
    linkageType: ''
    returnType: void
    signature: 'static void _draw (cairo_t *cr, double red, double green, double blue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/solid-pattern-cache-stress.c:58,1
    - Dst: cairo_create
      Src: /src/cairo/test/solid-pattern-cache-stress.c:59,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/solid-pattern-cache-stress.c:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 63
    functionName: _cairo_create_image
    functionSourceFile: /src/cairo/test/solid-pattern-cache-stress.c
    functionUses: []
    functionsReached:
    - cairo_image_surface_create
    - cairo_create
    - cairo_surface_destroy
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *_cairo_create_image (cairo_t *cr, cairo_format_t format,
      int width, int height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_status
      Src: /src/cairo/test/solid-pattern-cache-stress.c:131,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/solid-pattern-cache-stress.c:139,1
    - Dst: _draw
      Src: /src/cairo/test/solid-pattern-cache-stress.c:136,1
    - Dst: _cairo_create_image
      Src: /src/cairo/test/solid-pattern-cache-stress.c:134,1
    - Dst: _propagate_status
      Src: /src/cairo/test/solid-pattern-cache-stress.c:138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 5
    argNames:
    - cr
    - format
    - red
    - green
    - blue
    argTypes:
    - cairo_t*
    - cairo_format_t
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 140
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 140
    functionName: use_image
    functionSourceFile: /src/cairo/test/solid-pattern-cache-stress.c
    functionUses: []
    functionsReached:
    - _cairo_create_image
    - cairo_status
    - _draw
    - cairo_destroy
    - _propagate_status
    linkageType: ''
    returnType: void
    signature: "static void use_image (cairo_t *cr,\t cairo_format_t format,\t double\
      \ red,\t double green,\t double blue) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/solid-pattern-cache-stress.c:162,1
    - Dst: cairo_get_scaled_font
      Src: /src/cairo/test/solid-pattern-cache-stress.c:177,1
    - Dst: cairo_status
      Src: /src/cairo/test/solid-pattern-cache-stress.c:183,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/solid-pattern-cache-stress.c:185,1
    - Dst: use_solid
      Src: /src/cairo/test/solid-pattern-cache-stress.c:182,1
    - Dst: use_solid
      Src: /src/cairo/test/solid-pattern-cache-stress.c:190,1
    - Dst: drand48
      Src: /src/cairo/test/solid-pattern-cache-stress.c:190,1
    - Dst: drand48
      Src: /src/cairo/test/solid-pattern-cache-stress.c:190,1
    - Dst: drand48
      Src: /src/cairo/test/solid-pattern-cache-stress.c:190,1
    - Dst: cairo_status
      Src: /src/cairo/test/solid-pattern-cache-stress.c:191,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/solid-pattern-cache-stress.c:198,1
    - Dst: cairo_paint
      Src: /src/cairo/test/solid-pattern-cache-stress.c:199,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/solid-pattern-cache-stress.c:193,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 202
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 202
    functionName: draw
    functionSourceFile: /src/cairo/test/solid-pattern-cache-stress.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_get_scaled_font
    - cairo_test_status_from_status
    - cairo_test_get_context
    - drand48
    - cairo_status
    - use_solid
    - cairo_set_source_rgb
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/inverse-text.c:35,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/inverse-text.c:38,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/inverse-text.c:40,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/inverse-text.c:41,1
    - Dst: cairo_paint
      Src: /src/cairo/test/inverse-text.c:36,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/inverse-text.c:43,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/inverse-text.c:46,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/inverse-text.c:48,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/inverse-text.c:51,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/inverse-text.c:53,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/inverse-text.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 59
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 59
    functionName: draw
    functionSourceFile: /src/cairo/test/inverse-text.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_show_text
    - cairo_set_font_size
    - cairo_select_font_face
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/negative-stride-image.c:33,1
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/test/negative-stride-image.c:44,1
    - Dst: cairo_format_stride_for_width
      Src: /src/cairo/test/negative-stride-image.c:42,1
    - Dst: xcalloc
      Src: /src/cairo/test/negative-stride-image.c:43,1
    - Dst: cairo_test_create_surface_from_png
      Src: /src/cairo/test/negative-stride-image.c:40,1
    - Dst: cairo_create
      Src: /src/cairo/test/negative-stride-image.c:47,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/negative-stride-image.c:48,1
    - Dst: cairo_paint
      Src: /src/cairo/test/negative-stride-image.c:49,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/negative-stride-image.c:50,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/negative-stride-image.c:52,1
    - Dst: cairo_paint
      Src: /src/cairo/test/negative-stride-image.c:53,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/negative-stride-image.c:57,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/negative-stride-image.c:58,1
    - Dst: free
      Src: /src/cairo/test/negative-stride-image.c:60,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/negative-stride-image.c:55,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 63
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 63
    functionName: draw
    functionSourceFile: /src/cairo/test/negative-stride-image.c
    functionUses: []
    functionsReached:
    - cairo_test_create_surface_from_png
    - cairo_paint
    - cairo_surface_finish
    - cairo_format_stride_for_width
    - cairo_test_get_context
    - free
    - cairo_image_surface_create_for_data
    - cairo_create
    - cairo_surface_destroy
    - xcalloc
    - cairo_destroy
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/cairo/test/imagediff.c:39,1
    - Dst: strerror
      Src: /src/cairo/test/imagediff.c:41,1
    - Dst: fprintf
      Src: /src/cairo/test/imagediff.c:40,1
    - Dst: exit
      Src: /src/cairo/test/imagediff.c:42,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - pathname
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 44
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 44
    functionName: _xunlink
    functionSourceFile: /src/cairo/test/imagediff.c
    functionUses: []
    functionsReached:
    - exit
    - strerror
    - fprintf
    - unlink
    linkageType: ''
    returnType: void
    signature: 'static void _xunlink (const char *pathname) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/imagediff.c:109,1
    - Dst: cairo_image_surface_get_width
      Src: /src/cairo/test/imagediff.c:110,1
    - Dst: cairo_create
      Src: /src/cairo/test/imagediff.c:118,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/imagediff.c:119,1
    - Dst: cairo_image_surface_get_height
      Src: /src/cairo/test/imagediff.c:111,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/imagediff.c:121,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/imagediff.c:122,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/imagediff.c:123,1
    - Dst: cairo_paint
      Src: /src/cairo/test/imagediff.c:124,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/test/imagediff.c:126,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/imagediff.c:127,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/imagediff.c:126,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - surface
    - x
    - y
    argTypes:
    - cairo_surface_t**
    - int
    - int
    constantsTouched: []
    func_position:
      end: 128
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 128
    functionName: extract_sub_surface
    functionSourceFile: /src/cairo/test/imagediff.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_surface_reference
    - cairo_create
    - cairo_surface_destroy
    - cairo_image_surface_get_height
    - cairo_image_surface_create
    - cairo_set_operator
    - cairo_get_target
    - cairo_destroy
    - cairo_image_surface_get_width
    - cairo_set_source_surface
    linkageType: ''
    returnType: void
    signature: 'static void extract_sub_surface (cairo_surface_t **surface, int x,
      int y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/imagediff.c:79,1
    - Dst: cairo_image_surface_get_width
      Src: /src/cairo/test/imagediff.c:80,1
    - Dst: cairo_image_surface_get_height
      Src: /src/cairo/test/imagediff.c:81,1
    - Dst: cairo_create
      Src: /src/cairo/test/imagediff.c:84,1
    - Dst: cairo_surface_set_device_offset
      Src: /src/cairo/test/imagediff.c:82,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/imagediff.c:85,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/imagediff.c:87,1
    - Dst: cairo_paint
      Src: /src/cairo/test/imagediff.c:88,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/imagediff.c:90,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/imagediff.c:91,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/imagediff.c:95,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/imagediff.c:94,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/test/imagediff.c:94,1
    - Dst: cairo_paint
      Src: /src/cairo/test/imagediff.c:92,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - surface
    - x
    - y
    argTypes:
    - cairo_surface_t**
    - int
    - int
    constantsTouched: []
    func_position:
      end: 96
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 96
    functionName: flatten_surface
    functionSourceFile: /src/cairo/test/imagediff.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_surface_reference
    - cairo_create
    - cairo_image_surface_get_height
    - cairo_surface_destroy
    - cairo_image_surface_create
    - cairo_surface_set_device_offset
    - cairo_get_target
    - cairo_set_source_rgb
    - cairo_destroy
    - cairo_image_surface_get_width
    - cairo_set_source_surface
    linkageType: ''
    returnType: void
    signature: 'static void flatten_surface (cairo_surface_t **surface, int x, int
      y) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/cairo/test/imagediff.c:148,1
    - Dst: cairo_surface_write_to_png_stream
      Src: /src/cairo/test/imagediff.c:160,1
    - Dst: fclose
      Src: /src/cairo/test/imagediff.c:165,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 2
    argNames:
    - surface
    - filename
    argTypes:
    - cairo_surface_t*
    - char*
    constantsTouched: []
    func_position:
      end: 168
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 168
    functionName: write_png
    functionSourceFile: /src/cairo/test/imagediff.c
    functionUses: []
    functionsReached:
    - cairo_surface_write_to_png_stream
    - fopen
    - fclose
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t write_png (cairo_surface_t *surface, const char
      *filename) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vfprintf
      Src: /src/cairo/test/imagediff.c:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - fmt
    - va
    argTypes:
    - cairo_test_context_t*
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: cairo_test_logv
    functionSourceFile: /src/cairo/test/imagediff.c
    functionUses: []
    functionsReached:
    - vfprintf
    linkageType: ''
    returnType: void
    signature: "void cairo_test_logv (const cairo_test_context_t *ctx,\t\t const char\
      \ *fmt, va_list va) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/cairo/test/imagediff.c:135,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - closure
    - data
    - length
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 139
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 139
    functionName: stdio_write_func
    functionSourceFile: /src/cairo/test/imagediff.c
    functionUses: []
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t stdio_write_func (void *closure, const unsigned
      char *data, unsigned int length) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/imagediff.c:217,1
    - Dst: fprintf
      Src: /src/cairo/test/imagediff.c:214,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/imagediff.c:215,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/imagediff.c:223,1
    - Dst: fprintf
      Src: /src/cairo/test/imagediff.c:222,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/imagediff.c:225,1
    - Dst: cairo_image_surface_get_width
      Src: /src/cairo/test/imagediff.c:230,1
    - Dst: fprintf
      Src: /src/cairo/test/imagediff.c:234,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/imagediff.c:237,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/imagediff.c:254,1
    - Dst: cairo_image_surface_create_from_png
      Src: /src/cairo/test/imagediff.c:185,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/imagediff.c:186,1
    - Dst: fprintf
      Src: /src/cairo/test/imagediff.c:196,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/imagediff.c:197,1
    - Dst: extract_sub_surface
      Src: /src/cairo/test/imagediff.c:208,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/imagediff.c:232,1
    - Dst: _xunlink
      Src: /src/cairo/test/imagediff.c:246,1
    - Dst: write_png
      Src: /src/cairo/test/imagediff.c:251,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/imagediff.c:255,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/imagediff.c:198,1
    - Dst: extract_sub_surface
      Src: /src/cairo/test/imagediff.c:203,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/imagediff.c:212,1
    - Dst: image_diff
      Src: /src/cairo/test/imagediff.c:241,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/imagediff.c:256,1
    - Dst: fprintf
      Src: /src/cairo/test/imagediff.c:188,1
    - Dst: cairo_image_surface_create_from_png
      Src: /src/cairo/test/imagediff.c:193,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/imagediff.c:189,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/imagediff.c:194,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/imagediff.c:216,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/imagediff.c:220,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/imagediff.c:224,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/imagediff.c:229,1
    - Dst: cairo_image_surface_get_height
      Src: /src/cairo/test/imagediff.c:231,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/imagediff.c:236,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 61
    argCount: 8
    argNames:
    - filename_a
    - filename_b
    - filename_diff
    - ax
    - ay
    - bx
    - by
    - result
    argTypes:
    - char*
    - char*
    - char*
    - int
    - int
    - int
    - int
    - buffer_diff_result_t*
    constantsTouched: []
    func_position:
      end: 259
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 259
    functionName: png_diff
    functionSourceFile: /src/cairo/test/imagediff.c
    functionUses: []
    functionsReached:
    - fprintf
    - extract_sub_surface
    - image_diff
    - _xunlink
    - cairo_surface_status
    - write_png
    - cairo_surface_destroy
    - cairo_image_surface_get_height
    - cairo_image_surface_create
    - cairo_image_surface_create_from_png
    - cairo_image_surface_get_width
    - cairo_status_to_string
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t png_diff (const char *filename_a,\t const char\
      \ *filename_b,\t const char *filename_diff,\t int\t\tax,\t int\t\tay,\t int\t\
      \tbx,\t int\t\tby,\t buffer_diff_result_t *result) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cairo/test/imagediff.c:270,1
    - Dst: fprintf
      Src: /src/cairo/test/imagediff.c:273,1
    - Dst: exit
      Src: /src/cairo/test/imagediff.c:274,1
    - Dst: fprintf
      Src: /src/cairo/test/imagediff.c:271,1
    - Dst: fprintf
      Src: /src/cairo/test/imagediff.c:272,1
    - Dst: strtoul
      Src: /src/cairo/test/imagediff.c:278,1
    - Dst: strtoul
      Src: /src/cairo/test/imagediff.c:279,1
    - Dst: strtoul
      Src: /src/cairo/test/imagediff.c:280,1
    - Dst: strtoul
      Src: /src/cairo/test/imagediff.c:281,1
    - Dst: png_diff
      Src: /src/cairo/test/imagediff.c:286,1
    - Dst: fprintf
      Src: /src/cairo/test/imagediff.c:289,1
    - Dst: fprintf
      Src: /src/cairo/test/imagediff.c:295,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/imagediff.c:290,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 300
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 300
    functionName: main
    functionSourceFile: /src/cairo/test/imagediff.c
    functionUses: []
    functionsReached:
    - png_diff
    - fprintf
    - exit
    - strtoul
    - cairo_status_to_string
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/cairo/test/imagediff.c:58,1
    - Dst: vfprintf
      Src: /src/cairo/test/imagediff.c:59,1
    - Dst: va_end
      Src: /src/cairo/test/imagediff.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - fmt
    - '...'
    argTypes:
    - cairo_test_context_t*
    - char*
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: cairo_test_log
    functionSourceFile: /src/cairo/test/imagediff.c
    functionUses: []
    functionsReached:
    - va_start
    - vfprintf
    - va_end
    linkageType: ''
    returnType: void
    signature: 'void cairo_test_log (const cairo_test_context_t *ctx, const char *fmt,
      ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - minval
    - maxval
    argTypes:
    - double
    - double
    constantsTouched: []
    func_position:
      end: 44
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 44
    functionName: uniform_random
    functionSourceFile: /src/cairo/test/random-clips.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: 'static double uniform_random (double minval, double maxval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uniform_random
      Src: /src/cairo/test/random-clips.c:98,1
    - Dst: cairo_arc
      Src: /src/cairo/test/random-clips.c:102,1
    - Dst: cairo_new_sub_path
      Src: /src/cairo/test/random-clips.c:101,1
    - Dst: uniform_random
      Src: /src/cairo/test/random-clips.c:100,1
    - Dst: uniform_random
      Src: /src/cairo/test/random-clips.c:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: arc_path
    functionSourceFile: /src/cairo/test/random-clips.c
    functionUses: []
    functionsReached:
    - cairo_arc
    - uniform_random
    - cairo_new_sub_path
    linkageType: ''
    returnType: void
    signature: 'static void arc_path (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uniform_random
      Src: /src/cairo/test/random-clips.c:68,1
    - Dst: uniform_random
      Src: /src/cairo/test/random-clips.c:71,1
    - Dst: uniform_random
      Src: /src/cairo/test/random-clips.c:70,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/random-clips.c:72,1
    - Dst: uniform_random
      Src: /src/cairo/test/random-clips.c:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 74
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 74
    functionName: region_path
    functionSourceFile: /src/cairo/test/random-clips.c
    functionUses: []
    functionsReached:
    - uniform_random
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void region_path (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_rectangle
      Src: /src/cairo/test/random-clips.c:120,1
    - Dst: cairo_clip
      Src: /src/cairo/test/random-clips.c:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: clip_to_quadrant
    functionSourceFile: /src/cairo/test/random-clips.c
    functionUses: []
    functionsReached:
    - cairo_clip
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void clip_to_quadrant (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uniform_random
      Src: /src/cairo/test/random-clips.c:83,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/random-clips.c:87,1
    - Dst: uniform_random
      Src: /src/cairo/test/random-clips.c:85,1
    - Dst: uniform_random
      Src: /src/cairo/test/random-clips.c:86,1
    - Dst: uniform_random
      Src: /src/cairo/test/random-clips.c:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 89
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 89
    functionName: rectangle_path
    functionSourceFile: /src/cairo/test/random-clips.c
    functionUses: []
    functionsReached:
    - uniform_random
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void rectangle_path (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_move_to
      Src: /src/cairo/test/random-clips.c:52,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/random-clips.c:56,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/random-clips.c:58,1
    - Dst: uniform_random
      Src: /src/cairo/test/random-clips.c:55,1
    - Dst: uniform_random
      Src: /src/cairo/test/random-clips.c:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 59
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 59
    functionName: nz_path
    functionSourceFile: /src/cairo/test/random-clips.c
    functionUses: []
    functionsReached:
    - cairo_line_to
    - uniform_random
    - cairo_move_to
    - cairo_close_path
    linkageType: ''
    returnType: void
    signature: 'static void nz_path (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nz_path
      Src: /src/cairo/test/random-clips.c:109,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/random-clips.c:114,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/random-clips.c:113,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/random-clips.c:111,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/test/random-clips.c:112,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/random-clips.c:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 116
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 116
    functionName: nz_fill_stroke
    functionSourceFile: /src/cairo/test/random-clips.c
    functionUses: []
    functionsReached:
    - cairo_set_line_width
    - nz_path
    - cairo_stroke
    - cairo_set_source_rgb
    - cairo_fill_preserve
    linkageType: ''
    returnType: void
    signature: 'static void nz_fill_stroke (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/test/random-clips.c:130,1
    - Dst: cairo_save
      Src: /src/cairo/test/random-clips.c:160,1
    - Dst: cairo_paint
      Src: /src/cairo/test/random-clips.c:154,1
    - Dst: region_path
      Src: /src/cairo/test/random-clips.c:163,1
    - Dst: nz_fill_stroke
      Src: /src/cairo/test/random-clips.c:166,1
    - Dst: cairo_restore
      Src: /src/cairo/test/random-clips.c:170,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/random-clips.c:183,1
    - Dst: clip_to_quadrant
      Src: /src/cairo/test/random-clips.c:191,1
    - Dst: cairo_translate
      Src: /src/cairo/test/random-clips.c:187,1
    - Dst: cairo_clip
      Src: /src/cairo/test/random-clips.c:194,1
    - Dst: cairo_restore
      Src: /src/cairo/test/random-clips.c:200,1
    - Dst: arc_path
      Src: /src/cairo/test/random-clips.c:214,1
    - Dst: cairo_paint
      Src: /src/cairo/test/random-clips.c:199,1
    - Dst: clip_to_quadrant
      Src: /src/cairo/test/random-clips.c:206,1
    - Dst: cairo_restore
      Src: /src/cairo/test/random-clips.c:185,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/random-clips.c:127,1
    - Dst: cairo_translate
      Src: /src/cairo/test/random-clips.c:133,1
    - Dst: clip_to_quadrant
      Src: /src/cairo/test/random-clips.c:137,1
    - Dst: cairo_save
      Src: /src/cairo/test/random-clips.c:145,1
    - Dst: nz_path
      Src: /src/cairo/test/random-clips.c:148,1
    - Dst: cairo_translate
      Src: /src/cairo/test/random-clips.c:157,1
    - Dst: nz_fill_stroke
      Src: /src/cairo/test/random-clips.c:151,1
    - Dst: cairo_restore
      Src: /src/cairo/test/random-clips.c:155,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/random-clips.c:168,1
    - Dst: clip_to_quadrant
      Src: /src/cairo/test/random-clips.c:176,1
    - Dst: cairo_save
      Src: /src/cairo/test/random-clips.c:205,1
    - Dst: nz_path
      Src: /src/cairo/test/random-clips.c:208,1
    - Dst: cairo_clip
      Src: /src/cairo/test/random-clips.c:211,1
    - Dst: nz_fill_stroke
      Src: /src/cairo/test/random-clips.c:217,1
    - Dst: cairo_paint
      Src: /src/cairo/test/random-clips.c:128,1
    - Dst: cairo_restore
      Src: /src/cairo/test/random-clips.c:140,1
    - Dst: cairo_translate
      Src: /src/cairo/test/random-clips.c:142,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/random-clips.c:153,1
    - Dst: clip_to_quadrant
      Src: /src/cairo/test/random-clips.c:161,1
    - Dst: cairo_clip
      Src: /src/cairo/test/random-clips.c:164,1
    - Dst: cairo_paint
      Src: /src/cairo/test/random-clips.c:184,1
    - Dst: cairo_save
      Src: /src/cairo/test/random-clips.c:190,1
    - Dst: arc_path
      Src: /src/cairo/test/random-clips.c:193,1
    - Dst: nz_fill_stroke
      Src: /src/cairo/test/random-clips.c:196,1
    - Dst: cairo_clip
      Src: /src/cairo/test/random-clips.c:213,1
    - Dst: cairo_clip
      Src: /src/cairo/test/random-clips.c:215,1
    - Dst: cairo_save
      Src: /src/cairo/test/random-clips.c:136,1
    - Dst: nz_fill_stroke
      Src: /src/cairo/test/random-clips.c:139,1
    - Dst: clip_to_quadrant
      Src: /src/cairo/test/random-clips.c:146,1
    - Dst: cairo_clip
      Src: /src/cairo/test/random-clips.c:149,1
    - Dst: cairo_paint
      Src: /src/cairo/test/random-clips.c:169,1
    - Dst: cairo_translate
      Src: /src/cairo/test/random-clips.c:172,1
    - Dst: cairo_save
      Src: /src/cairo/test/random-clips.c:175,1
    - Dst: rectangle_path
      Src: /src/cairo/test/random-clips.c:178,1
    - Dst: cairo_clip
      Src: /src/cairo/test/random-clips.c:179,1
    - Dst: nz_fill_stroke
      Src: /src/cairo/test/random-clips.c:181,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/random-clips.c:198,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/random-clips.c:219,1
    - Dst: cairo_translate
      Src: /src/cairo/test/random-clips.c:202,1
    - Dst: cairo_restore
      Src: /src/cairo/test/random-clips.c:221,1
    - Dst: cairo_paint
      Src: /src/cairo/test/random-clips.c:220,1
    - Dst: cairo_clip
      Src: /src/cairo/test/random-clips.c:209,1
    - Dst: rectangle_path
      Src: /src/cairo/test/random-clips.c:212,1
    - Dst: region_path
      Src: /src/cairo/test/random-clips.c:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 68
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 224
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 224
    functionName: draw
    functionSourceFile: /src/cairo/test/random-clips.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgba
    - cairo_set_source_rgb
    - clip_to_quadrant
    - nz_path
    - rectangle_path
    - cairo_save
    - cairo_restore
    - nz_fill_stroke
    - cairo_translate
    - cairo_set_fill_rule
    - cairo_clip
    - arc_path
    - region_path
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_dash
      Src: /src/cairo/test/dash-zero-length.c:38,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/dash-zero-length.c:40,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/dash-zero-length.c:41,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/dash-zero-length.c:39,1
    - Dst: cairo_translate
      Src: /src/cairo/test/dash-zero-length.c:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - cr
    - dash
    - num_dashes
    argTypes:
    - cairo_t*
    - double*
    - int
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: draw_dash
    functionSourceFile: /src/cairo/test/dash-zero-length.c
    functionUses: []
    functionsReached:
    - cairo_line_to
    - cairo_set_dash
    - cairo_stroke
    - cairo_translate
    - cairo_move_to
    linkageType: ''
    returnType: void
    signature: 'static void draw_dash (cairo_t *cr, double *dash, int num_dashes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/dash-zero-length.c:72,1
    - Dst: draw_dash
      Src: /src/cairo/test/dash-zero-length.c:81,1
    - Dst: draw_dash
      Src: /src/cairo/test/dash-zero-length.c:82,1
    - Dst: draw_dash
      Src: /src/cairo/test/dash-zero-length.c:83,1
    - Dst: draw_dash
      Src: /src/cairo/test/dash-zero-length.c:87,1
    - Dst: draw_dash
      Src: /src/cairo/test/dash-zero-length.c:86,1
    - Dst: draw_dash
      Src: /src/cairo/test/dash-zero-length.c:85,1
    - Dst: draw_dash
      Src: /src/cairo/test/dash-zero-length.c:84,1
    - Dst: draw_dash
      Src: /src/cairo/test/dash-zero-length.c:78,1
    - Dst: draw_dash
      Src: /src/cairo/test/dash-zero-length.c:94,1
    - Dst: draw_dash
      Src: /src/cairo/test/dash-zero-length.c:93,1
    - Dst: draw_dash
      Src: /src/cairo/test/dash-zero-length.c:91,1
    - Dst: draw_dash
      Src: /src/cairo/test/dash-zero-length.c:95,1
    - Dst: draw_dash
      Src: /src/cairo/test/dash-zero-length.c:96,1
    - Dst: draw_dash
      Src: /src/cairo/test/dash-zero-length.c:97,1
    - Dst: draw_dash
      Src: /src/cairo/test/dash-zero-length.c:98,1
    - Dst: draw_dash
      Src: /src/cairo/test/dash-zero-length.c:99,1
    - Dst: draw_dash
      Src: /src/cairo/test/dash-zero-length.c:75,1
    - Dst: draw_dash
      Src: /src/cairo/test/dash-zero-length.c:74,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/dash-zero-length.c:79,1
    - Dst: draw_dash
      Src: /src/cairo/test/dash-zero-length.c:88,1
    - Dst: draw_dash
      Src: /src/cairo/test/dash-zero-length.c:89,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/dash-zero-length.c:71,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/dash-zero-length.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 102
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 102
    functionName: draw
    functionSourceFile: /src/cairo/test/dash-zero-length.c
    functionUses: []
    functionsReached:
    - cairo_set_line_width
    - cairo_set_line_cap
    - draw_dash
    - cairo_set_source_rgb
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/stroke-open-box.c:32,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/stroke-open-box.c:37,1
    - Dst: cairo_paint
      Src: /src/cairo/test/stroke-open-box.c:33,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/stroke-open-box.c:35,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/stroke-open-box.c:36,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/stroke-open-box.c:38,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/stroke-open-box.c:39,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/stroke-open-box.c:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 43
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 43
    functionName: draw
    functionSourceFile: /src/cairo/test/stroke-open-box.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_rel_line_to
    - cairo_stroke
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/dash-state.c:33,1
    - Dst: cairo_paint
      Src: /src/cairo/test/dash-state.c:34,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/dash-state.c:41,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/dash-state.c:40,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/dash-state.c:39,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/dash-state.c:43,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/dash-state.c:44,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/dash-state.c:45,1
    - Dst: cairo_set_dash
      Src: /src/cairo/test/dash-state.c:46,1
    - Dst: cairo_stroke_preserve
      Src: /src/cairo/test/dash-state.c:47,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/dash-state.c:49,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/dash-state.c:50,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/dash-state.c:51,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/dash-state.c:53,1
    - Dst: cairo_set_dash
      Src: /src/cairo/test/dash-state.c:52,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 56
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 56
    functionName: draw
    functionSourceFile: /src/cairo/test/dash-state.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_line_width
    - cairo_rel_line_to
    - cairo_set_dash
    - cairo_stroke
    - cairo_set_line_cap
    - cairo_set_source_rgb
    - cairo_stroke_preserve
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/a1-traps-sample.c:40,1
    - Dst: cairo_set_antialias
      Src: /src/cairo/test/a1-traps-sample.c:47,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/a1-traps-sample.c:44,1
    - Dst: cairo_translate
      Src: /src/cairo/test/a1-traps-sample.c:46,1
    - Dst: cairo_paint
      Src: /src/cairo/test/a1-traps-sample.c:41,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/a1-traps-sample.c:51,1
    - Dst: cairo_fill
      Src: /src/cairo/test/a1-traps-sample.c:52,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 56
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 56
    functionName: draw
    functionSourceFile: /src/cairo/test/a1-traps-sample.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgb
    - cairo_fill
    - cairo_translate
    - cairo_set_antialias
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/large-source-roi.c:33,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/large-source-roi.c:35,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/large-source-roi.c:37,1
    - Dst: cairo_paint
      Src: /src/cairo/test/large-source-roi.c:38,1
    - Dst: cairo_create
      Src: /src/cairo/test/large-source-roi.c:34,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/test/large-source-roi.c:39,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/large-source-roi.c:39,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/large-source-roi.c:40,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 43
    functionName: create_large_source
    functionSourceFile: /src/cairo/test/large-source-roi.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_surface_reference
    - cairo_create
    - cairo_surface_destroy
    - cairo_image_surface_create
    - cairo_get_target
    - cairo_set_source_rgb
    - cairo_destroy
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *create_large_source (int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/large-source-roi.c:53,1
    - Dst: cairo_paint
      Src: /src/cairo/test/large-source-roi.c:54,1
    - Dst: cairo_scale
      Src: /src/cairo/test/large-source-roi.c:62,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/large-source-roi.c:63,1
    - Dst: create_large_source
      Src: /src/cairo/test/large-source-roi.c:57,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/large-source-roi.c:64,1
    - Dst: cairo_paint
      Src: /src/cairo/test/large-source-roi.c:65,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/large-source-roi.c:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 70
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 70
    functionName: draw
    functionSourceFile: /src/cairo/test/large-source-roi.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_surface_destroy
    - cairo_scale
    - cairo_set_operator
    - cairo_set_source_rgb
    - create_large_source
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/test/push-group.c:40,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/push-group.c:72,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/push-group.c:73,1
    - Dst: cairo_clip
      Src: /src/cairo/test/push-group.c:67,1
    - Dst: cairo_restore
      Src: /src/cairo/test/push-group.c:62,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/push-group.c:80,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/push-group.c:82,1
    - Dst: cairo_fill
      Src: /src/cairo/test/push-group.c:93,1
    - Dst: cairo_paint_with_alpha
      Src: /src/cairo/test/push-group.c:96,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/push-group.c:57,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/push-group.c:60,1
    - Dst: cairo_fill
      Src: /src/cairo/test/push-group.c:61,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/push-group.c:71,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/push-group.c:79,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/push-group.c:84,1
    - Dst: cairo_arc
      Src: /src/cairo/test/push-group.c:88,1
    - Dst: cairo_save
      Src: /src/cairo/test/push-group.c:50,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/push-group.c:42,1
    - Dst: cairo_translate
      Src: /src/cairo/test/push-group.c:52,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/push-group.c:58,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/push-group.c:81,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/push-group.c:83,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/push-group.c:92,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/push-group.c:43,1
    - Dst: cairo_save
      Src: /src/cairo/test/push-group.c:55,1
    - Dst: cairo_translate
      Src: /src/cairo/test/push-group.c:56,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/push-group.c:65,1
    - Dst: cairo_push_group
      Src: /src/cairo/test/push-group.c:76,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/push-group.c:69,1
    - Dst: cairo_fill
      Src: /src/cairo/test/push-group.c:85,1
    - Dst: cairo_pop_group_to_source
      Src: /src/cairo/test/push-group.c:95,1
    - Dst: cairo_restore
      Src: /src/cairo/test/push-group.c:98,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/push-group.c:102,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 67
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 105
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 105
    functionName: draw
    functionSourceFile: /src/cairo/test/push-group.c
    functionUses: []
    functionsReached:
    - cairo_set_line_width
    - cairo_pop_group_to_source
    - cairo_close_path
    - cairo_set_source
    - cairo_pattern_add_color_stop_rgba
    - cairo_translate
    - cairo_push_group
    - cairo_rectangle
    - cairo_paint_with_alpha
    - cairo_set_source_rgba
    - cairo_pattern_create_linear
    - cairo_save
    - cairo_clip
    - cairo_line_to
    - cairo_arc
    - cairo_stroke
    - cairo_restore
    - cairo_fill
    - cairo_pattern_destroy
    - cairo_new_path
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/a1-clip.c:40,1
    - Dst: cairo_translate
      Src: /src/cairo/test/a1-clip.c:46,1
    - Dst: cairo_paint
      Src: /src/cairo/test/a1-clip.c:41,1
    - Dst: cairo_set_antialias
      Src: /src/cairo/test/a1-clip.c:47,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/a1-clip.c:44,1
    - Dst: cairo_save
      Src: /src/cairo/test/a1-clip.c:51,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/a1-clip.c:52,1
    - Dst: cairo_clip
      Src: /src/cairo/test/a1-clip.c:53,1
    - Dst: cairo_paint
      Src: /src/cairo/test/a1-clip.c:54,1
    - Dst: cairo_restore
      Src: /src/cairo/test/a1-clip.c:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 59
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 59
    functionName: paint
    functionSourceFile: /src/cairo/test/a1-clip.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgb
    - cairo_save
    - cairo_restore
    - cairo_translate
    - cairo_clip
    - cairo_set_antialias
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t paint (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/a1-clip.c:122,1
    - Dst: cairo_translate
      Src: /src/cairo/test/a1-clip.c:128,1
    - Dst: cairo_paint
      Src: /src/cairo/test/a1-clip.c:123,1
    - Dst: cairo_set_antialias
      Src: /src/cairo/test/a1-clip.c:129,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/a1-clip.c:126,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/a1-clip.c:131,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/a1-clip.c:132,1
    - Dst: cairo_save
      Src: /src/cairo/test/a1-clip.c:136,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/a1-clip.c:137,1
    - Dst: cairo_clip
      Src: /src/cairo/test/a1-clip.c:138,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/a1-clip.c:140,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/a1-clip.c:141,1
    - Dst: cairo_restore
      Src: /src/cairo/test/a1-clip.c:142,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/a1-clip.c:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 146
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 146
    functionName: stroke
    functionSourceFile: /src/cairo/test/a1-clip.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_line_width
    - cairo_set_source_rgb
    - cairo_line_to
    - cairo_save
    - cairo_stroke
    - cairo_restore
    - cairo_set_line_cap
    - cairo_translate
    - cairo_clip
    - cairo_move_to
    - cairo_set_antialias
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t stroke (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/a1-clip.c:94,1
    - Dst: cairo_translate
      Src: /src/cairo/test/a1-clip.c:100,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/a1-clip.c:98,1
    - Dst: cairo_paint
      Src: /src/cairo/test/a1-clip.c:95,1
    - Dst: cairo_set_antialias
      Src: /src/cairo/test/a1-clip.c:101,1
    - Dst: cairo_save
      Src: /src/cairo/test/a1-clip.c:105,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/a1-clip.c:106,1
    - Dst: cairo_clip
      Src: /src/cairo/test/a1-clip.c:107,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/a1-clip.c:108,1
    - Dst: cairo_fill
      Src: /src/cairo/test/a1-clip.c:109,1
    - Dst: cairo_restore
      Src: /src/cairo/test/a1-clip.c:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 114
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 114
    functionName: fill
    functionSourceFile: /src/cairo/test/a1-clip.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgb
    - cairo_save
    - cairo_restore
    - cairo_fill
    - cairo_translate
    - cairo_clip
    - cairo_set_antialias
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t fill (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/a1-clip.c:67,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/a1-clip.c:71,1
    - Dst: cairo_set_antialias
      Src: /src/cairo/test/a1-clip.c:74,1
    - Dst: cairo_translate
      Src: /src/cairo/test/a1-clip.c:73,1
    - Dst: cairo_paint
      Src: /src/cairo/test/a1-clip.c:68,1
    - Dst: cairo_save
      Src: /src/cairo/test/a1-clip.c:78,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/a1-clip.c:79,1
    - Dst: cairo_clip_preserve
      Src: /src/cairo/test/a1-clip.c:80,1
    - Dst: cairo_fill
      Src: /src/cairo/test/a1-clip.c:81,1
    - Dst: cairo_restore
      Src: /src/cairo/test/a1-clip.c:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 86
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 86
    functionName: fill_equal
    functionSourceFile: /src/cairo/test/a1-clip.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgb
    - cairo_save
    - cairo_restore
    - cairo_clip_preserve
    - cairo_translate
    - cairo_fill
    - cairo_set_antialias
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t fill_equal (cairo_t *cr, int width, int
      height) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_get_current_dir
      Src: /src/cairo/test/pdf2png.c:58,1
    - Dst: g_free
      Src: /src/cairo/test/pdf2png.c:64,1
    - Dst: FAIL
      Src: /src/cairo/test/pdf2png.c:66,1
    - Dst: g_free
      Src: /src/cairo/test/pdf2png.c:69,1
    - Dst: poppler_page_get_size
      Src: /src/cairo/test/pdf2png.c:78,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/pdf2png.c:80,1
    - Dst: FAIL
      Src: /src/cairo/test/pdf2png.c:71,1
    - Dst: cairo_create
      Src: /src/cairo/test/pdf2png.c:81,1
    - Dst: poppler_page_render
      Src: /src/cairo/test/pdf2png.c:88,1
    - Dst: g_object_unref
      Src: /src/cairo/test/pdf2png.c:89,1
    - Dst: FAIL
      Src: /src/cairo/test/pdf2png.c:49,1
    - Dst: g_strdup
      Src: /src/cairo/test/pdf2png.c:56,1
    - Dst: g_path_is_absolute
      Src: /src/cairo/test/pdf2png.c:55,1
    - Dst: g_free
      Src: /src/cairo/test/pdf2png.c:60,1
    - Dst: g_filename_to_uri
      Src: /src/cairo/test/pdf2png.c:63,1
    - Dst: poppler_document_new_from_file
      Src: /src/cairo/test/pdf2png.c:68,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/pdf2png.c:82,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/pdf2png.c:84,1
    - Dst: cairo_push_group_with_content
      Src: /src/cairo/test/pdf2png.c:86,1
    - Dst: g_type_init
      Src: /src/cairo/test/pdf2png.c:52,1
    - Dst: g_object_unref
      Src: /src/cairo/test/pdf2png.c:74,1
    - Dst: FAIL
      Src: /src/cairo/test/pdf2png.c:76,1
    - Dst: cairo_paint
      Src: /src/cairo/test/pdf2png.c:92,1
    - Dst: cairo_surface_write_to_png
      Src: /src/cairo/test/pdf2png.c:94,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/pdf2png.c:96,1
    - Dst: GLIB_CHECK_VERSION
      Src: /src/cairo/test/pdf2png.c:51,1
    - Dst: g_build_filename
      Src: /src/cairo/test/pdf2png.c:59,1
    - Dst: poppler_document_get_page_by_label
      Src: /src/cairo/test/pdf2png.c:73,1
    - Dst: cairo_paint
      Src: /src/cairo/test/pdf2png.c:85,1
    - Dst: cairo_pop_group_to_source
      Src: /src/cairo/test/pdf2png.c:91,1
    - Dst: FAIL
      Src: /src/cairo/test/pdf2png.c:99,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/pdf2png.c:99,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/pdf2png.c:94,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 49
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 102
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 102
    functionName: main
    functionSourceFile: /src/cairo/test/pdf2png.c
    functionUses: []
    functionsReached:
    - cairo_push_group_with_content
    - poppler_document_new_from_file
    - g_filename_to_uri
    - cairo_pop_group_to_source
    - cairo_surface_write_to_png
    - cairo_get_target
    - g_get_current_dir
    - g_type_init
    - FAIL
    - g_object_unref
    - poppler_page_get_size
    - cairo_create
    - g_build_filename
    - poppler_page_render
    - GLIB_CHECK_VERSION
    - g_strdup
    - cairo_destroy
    - cairo_status_to_string
    - cairo_paint
    - cairo_surface_destroy
    - poppler_document_get_page_by_label
    - cairo_image_surface_create
    - cairo_set_source_rgb
    - g_free
    - g_path_is_absolute
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/fill-disjoint.c:42,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/fill-disjoint.c:51,1
    - Dst: cairo_fill
      Src: /src/cairo/test/fill-disjoint.c:52,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/fill-disjoint.c:46,1
    - Dst: cairo_paint
      Src: /src/cairo/test/fill-disjoint.c:43,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 55
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 55
    functionName: draw
    functionSourceFile: /src/cairo/test/fill-disjoint.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_rectangle
    - cairo_fill
    - cairo_set_source_rgb
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/a1-fill.c:36,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/a1-fill.c:41,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/a1-fill.c:38,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/a1-fill.c:40,1
    - Dst: cairo_create
      Src: /src/cairo/test/a1-fill.c:37,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/a1-fill.c:42,1
    - Dst: cairo_fill
      Src: /src/cairo/test/a1-fill.c:43,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/a1-fill.c:44,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/a1-fill.c:45,1
    - Dst: cairo_fill
      Src: /src/cairo/test/a1-fill.c:46,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/a1-fill.c:49,1
    - Dst: cairo_paint
      Src: /src/cairo/test/a1-fill.c:52,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/a1-fill.c:48,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/a1-fill.c:54,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/test/a1-fill.c:48,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/a1-fill.c:51,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/a1-fill.c:56,1
    - Dst: cairo_mask_surface
      Src: /src/cairo/test/a1-fill.c:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 59
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 59
    functionName: draw
    functionSourceFile: /src/cairo/test/a1-fill.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_mask_surface
    - cairo_destroy
    - cairo_surface_reference
    - cairo_create
    - cairo_surface_destroy
    - cairo_image_surface_create
    - cairo_set_operator
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_get_target
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_user_to_device_distance
      Src: /src/cairo/test/api-special-cases.c:341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 344
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 344
    functionName: test_cairo_user_to_device_distance
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_user_to_device_distance
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_user_to_device_distance (cairo_t
      *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_fill_extents
      Src: /src/cairo/test/api-special-cases.c:596,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 599
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 599
    functionName: test_cairo_fill_extents
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_fill_extents
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_fill_extents (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_glyph_path
      Src: /src/cairo/test/api-special-cases.c:772,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 775
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 775
    functionName: test_cairo_glyph_path
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_glyph_path
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_glyph_path (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_get_mime_data
      Src: /src/cairo/test/api-special-cases.c:1107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1109
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1109
    functionName: test_cairo_surface_get_mime_data
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_surface_get_mime_data
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_surface_get_mime_data (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_write_to_png
      Src: /src/cairo/test/api-special-cases.c:1241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1244
      start: 1236
    functionDepth: 0
    functionLinenumber: 1236
    functionLinenumberEnd: 1244
    functionName: test_cairo_surface_write_to_png
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_surface_write_to_png
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_surface_write_to_png (cairo_surface_t
      *surface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_move_to
      Src: /src/cairo/test/api-special-cases.c:1783,1
    - Dst: cairo_status
      Src: /src/cairo/test/api-special-cases.c:1785,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/api-special-cases.c:1790,1
    - Dst: cairo_status
      Src: /src/cairo/test/api-special-cases.c:1787,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/api-special-cases.c:1797,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/api-special-cases.c:1800,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/api-special-cases.c:1801,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - ctx
    - cr
    - name
    - i
    argTypes:
    - cairo_test_context_t*
    - cairo_t*
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1806
      start: 1776
    functionDepth: 0
    functionLinenumber: 1776
    functionLinenumberEnd: 1806
    functionName: test_context
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - cairo_status
    - cairo_move_to
    - cairo_status_to_string
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_context (const cairo_test_context_t
      *ctx, cairo_t *cr, const char *name, unsigned int i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_device_to_user
      Src: /src/cairo/test/api-special-cases.c:351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 354
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 354
    functionName: test_cairo_device_to_user
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_device_to_user
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_device_to_user (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_reset_clip
      Src: /src/cairo/test/api-special-cases.c:604,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 607
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 607
    functionName: test_cairo_reset_clip
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_reset_clip
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_reset_clip (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_text_extents
      Src: /src/cairo/test/api-special-cases.c:782,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 785
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 785
    functionName: test_cairo_text_extents
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_text_extents
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_text_extents (cairo_t *cr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_font_options_create
      Src: /src/cairo/test/api-special-cases.c:1117,1
    - Dst: cairo_font_options_status
      Src: /src/cairo/test/api-special-cases.c:1120,1
    - Dst: cairo_font_options_status
      Src: /src/cairo/test/api-special-cases.c:1118,1
    - Dst: cairo_surface_get_font_options
      Src: /src/cairo/test/api-special-cases.c:1119,1
    - Dst: likely
      Src: /src/cairo/test/api-special-cases.c:1118,1
    - Dst: cairo_font_options_destroy
      Src: /src/cairo/test/api-special-cases.c:1121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1123
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1123
    functionName: test_cairo_surface_get_font_options
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_surface_get_font_options
    - cairo_font_options_destroy
    - cairo_font_options_create
    - cairo_font_options_status
    - likely
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_surface_get_font_options (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - closure
    - data
    - length
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1250
      start: 1246
    functionDepth: 0
    functionLinenumber: 1246
    functionLinenumberEnd: 1250
    functionName: write_func_that_always_fails
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t write_func_that_always_fails (void *closure,
      const unsigned char *data, unsigned int length) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cairo_get_target
      Src: /src/cairo/test/api-special-cases.c:1818,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/api-special-cases.c:1825,1
    - Dst: strcmp
      Src: /src/cairo/test/api-special-cases.c:1839,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/api-special-cases.c:1849,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/api-special-cases.c:1857,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/api-special-cases.c:1864,1
    - Dst: test_context
      Src: /src/cairo/test/api-special-cases.c:1870,1
    - Dst: cairo_surface_get_content
      Src: /src/cairo/test/api-special-cases.c:1881,1
    - Dst: cairo_create
      Src: /src/cairo/test/api-special-cases.c:1883,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/api-special-cases.c:1888,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/api-special-cases.c:1931,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/api-special-cases.c:1904,1
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/api-special-cases.c:1811,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/api-special-cases.c:1821,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/api-special-cases.c:1827,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/api-special-cases.c:1841,1
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/api-special-cases.c:1850,1
    - Dst: cairo_create
      Src: /src/cairo/test/api-special-cases.c:1854,1
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/api-special-cases.c:1865,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/api-special-cases.c:1869,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/api-special-cases.c:1871,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/api-special-cases.c:1884,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/api-special-cases.c:1924,1
    - Dst: cairo_surface_get_type
      Src: /src/cairo/test/api-special-cases.c:1903,1
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/api-special-cases.c:1822,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/api-special-cases.c:1828,1
    - Dst: test_context
      Src: /src/cairo/test/api-special-cases.c:1855,1
    - Dst: cairo_surface_get_content
      Src: /src/cairo/test/api-special-cases.c:1851,1
    - Dst: cairo_surface_get_content
      Src: /src/cairo/test/api-special-cases.c:1866,1
    - Dst: cairo_create
      Src: /src/cairo/test/api-special-cases.c:1868,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/api-special-cases.c:1872,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/api-special-cases.c:1879,1
    - Dst: test_context
      Src: /src/cairo/test/api-special-cases.c:1886,1
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/api-special-cases.c:1900,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/api-special-cases.c:1913,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/api-special-cases.c:1910,1
    - Dst: cairo_paint
      Src: /src/cairo/test/api-special-cases.c:1932,1
    - Dst: cairo_surface_get_content
      Src: /src/cairo/test/api-special-cases.c:1823,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/api-special-cases.c:1831,1
    - Dst: strcmp
      Src: /src/cairo/test/api-special-cases.c:1838,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/api-special-cases.c:1853,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/api-special-cases.c:1856,1
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/api-special-cases.c:1880,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/api-special-cases.c:1885,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/api-special-cases.c:1887,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/api-special-cases.c:1895,1
    - Dst: cairo_surface_get_content
      Src: /src/cairo/test/api-special-cases.c:1901,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/api-special-cases.c:1909,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/api-special-cases.c:1925,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/api-special-cases.c:1921,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 102
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1935
      start: 1808
    functionDepth: 0
    functionLinenumber: 1808
    functionLinenumberEnd: 1935
    functionName: draw
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - cairo_paint
    - cairo_surface_finish
    - cairo_set_source_rgb
    - cairo_test_get_context
    - cairo_status_to_string
    - ARRAY_LENGTH
    - cairo_surface_status
    - strcmp
    - cairo_create
    - cairo_surface_destroy
    - test_context
    - cairo_get_target
    - cairo_surface_get_content
    - cairo_destroy
    - cairo_surface_create_similar
    - cairo_surface_get_type
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_svg_surface_restrict_to_version
      Src: /src/cairo/test/api-special-cases.c:1398,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1400
      start: 1395
    functionDepth: 0
    functionLinenumber: 1395
    functionLinenumberEnd: 1400
    functionName: test_cairo_svg_surface_restrict_to_version
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_svg_surface_restrict_to_version
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_svg_surface_restrict_to_version
      (cairo_surface_t *surface) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_user_data
      Src: /src/cairo/test/api-special-cases.c:120,1
    - Dst: cairo_get_user_data
      Src: /src/cairo/test/api-special-cases.c:126,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 130
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 130
    functionName: test_cairo_set_user_data
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_get_user_data
    - cairo_set_user_data
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_set_user_data (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/api-special-cases.c:251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 254
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 254
    functionName: test_cairo_set_line_join
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_set_line_join
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_set_line_join (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_stroke
      Src: /src/cairo/test/api-special-cases.c:514,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 517
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 517
    functionName: test_cairo_stroke
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_stroke
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_stroke (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_get_line_cap
      Src: /src/cairo/test/api-special-cases.c:881,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 884
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 884
    functionName: test_cairo_get_line_cap
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_get_line_cap
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_get_line_cap (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/test/api-special-cases.c:135,1
    - Dst: cairo_restore
      Src: /src/cairo/test/api-special-cases.c:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 139
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 139
    functionName: test_cairo_save
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_restore
    - cairo_save
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_save (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_dash
      Src: /src/cairo/test/api-special-cases.c:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 262
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 262
    functionName: test_cairo_set_dash
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_set_dash
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_set_dash (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_stroke_preserve
      Src: /src/cairo/test/api-special-cases.c:522,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 525
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 525
    functionName: test_cairo_stroke_preserve
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_stroke_preserve
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_stroke_preserve (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_get_line_join
      Src: /src/cairo/test/api-special-cases.c:889,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 892
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 892
    functionName: test_cairo_get_line_join
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_get_line_join
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_get_line_join (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_glyph_extents
      Src: /src/cairo/test/api-special-cases.c:797,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 800
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 800
    functionName: test_cairo_glyph_extents
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_glyph_extents
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_glyph_extents (cairo_t *cr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_set_user_data
      Src: /src/cairo/test/api-special-cases.c:1073,1
    - Dst: cairo_surface_get_user_data
      Src: /src/cairo/test/api-special-cases.c:1079,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1083
      start: 1067
    functionDepth: 0
    functionLinenumber: 1067
    functionLinenumberEnd: 1083
    functionName: test_cairo_surface_set_user_data
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_surface_get_user_data
    - cairo_surface_set_user_data
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_surface_set_user_data (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_font_extents
      Src: /src/cairo/test/api-special-cases.c:807,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 810
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 810
    functionName: test_cairo_font_extents
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_font_extents
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_font_extents (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_set_mime_data
      Src: /src/cairo/test/api-special-cases.c:1092,1
    - Dst: strlen
      Src: /src/cairo/test/api-special-cases.c:1095,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1098
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1098
    functionName: test_cairo_surface_set_mime_data
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - strlen
    - cairo_surface_set_mime_data
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_surface_set_mime_data (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_show_text_glyphs
      Src: /src/cairo/test/api-special-cases.c:750,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 753
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 753
    functionName: test_cairo_show_text_glyphs
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_show_text_glyphs
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_show_text_glyphs (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_in_clip
      Src: /src/cairo/test/api-special-cases.c:578,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 581
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 581
    functionName: test_cairo_in_clip
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_in_clip
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_in_clip (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_font_face
      Src: /src/cairo/test/api-special-cases.c:702,1
    - Dst: cairo_get_font_face
      Src: /src/cairo/test/api-special-cases.c:702,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 705
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 705
    functionName: test_cairo_set_font_face
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_set_font_face
    - cairo_get_font_face
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_set_font_face (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_push_group
      Src: /src/cairo/test/api-special-cases.c:147,1
    - Dst: cairo_pop_group
      Src: /src/cairo/test/api-special-cases.c:148,1
    - Dst: cairo_status
      Src: /src/cairo/test/api-special-cases.c:152,1
    - Dst: cairo_pattern_status
      Src: /src/cairo/test/api-special-cases.c:149,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/api-special-cases.c:150,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 153
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 153
    functionName: test_cairo_push_group
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_pop_group
    - cairo_pattern_status
    - cairo_status
    - cairo_push_group
    - cairo_pattern_destroy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_push_group (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/test/api-special-cases.c:301,1
    - Dst: cairo_transform
      Src: /src/cairo/test/api-special-cases.c:302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 305
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 305
    functionName: test_cairo_transform
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_matrix_init_translate
    - cairo_transform
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_transform (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_paint
      Src: /src/cairo/test/api-special-cases.c:474,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 477
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 477
    functionName: test_cairo_paint
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_paint
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_paint (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_in_stroke
      Src: /src/cairo/test/api-special-cases.c:562,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 565
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 565
    functionName: test_cairo_in_stroke
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_in_stroke
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_in_stroke (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_text_path
      Src: /src/cairo/test/api-special-cases.c:758,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 761
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 761
    functionName: test_cairo_text_path
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_text_path
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_text_path (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_push_group_with_content
      Src: /src/cairo/test/api-special-cases.c:158,1
    - Dst: cairo_pop_group_to_source
      Src: /src/cairo/test/api-special-cases.c:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 162
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 162
    functionName: test_cairo_push_group_with_content
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_pop_group_to_source
    - cairo_push_group_with_content
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_push_group_with_content (cairo_t
      *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/test/api-special-cases.c:312,1
    - Dst: cairo_set_matrix
      Src: /src/cairo/test/api-special-cases.c:313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 316
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 316
    functionName: test_cairo_set_matrix
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_matrix_init_translate
    - cairo_set_matrix
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_set_matrix (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_paint_with_alpha
      Src: /src/cairo/test/api-special-cases.c:482,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 485
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 485
    functionName: test_cairo_paint_with_alpha
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_paint_with_alpha
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_paint_with_alpha (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_in_fill
      Src: /src/cairo/test/api-special-cases.c:570,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 573
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 573
    functionName: test_cairo_in_fill
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_in_fill
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_in_fill (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_stroke_extents
      Src: /src/cairo/test/api-special-cases.c:587,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 590
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 590
    functionName: test_cairo_stroke_extents
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_stroke_extents
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_stroke_extents (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_scaled_font
      Src: /src/cairo/test/api-special-cases.c:710,1
    - Dst: cairo_get_scaled_font
      Src: /src/cairo/test/api-special-cases.c:710,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 713
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 713
    functionName: test_cairo_set_scaled_font
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_set_scaled_font
    - cairo_get_scaled_font
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_set_scaled_font (cairo_t *cr) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/api-special-cases.c:1689,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/api-special-cases.c:1696,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/api-special-cases.c:1706,1
    - Dst: assert
      Src: /src/cairo/test/api-special-cases.c:1719,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/api-special-cases.c:1710,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/api-special-cases.c:1738,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/api-special-cases.c:1745,1
    - Dst: cairo_status
      Src: /src/cairo/test/api-special-cases.c:1748,1
    - Dst: cairo_status
      Src: /src/cairo/test/api-special-cases.c:1753,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/api-special-cases.c:1767,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/api-special-cases.c:1688,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/api-special-cases.c:1690,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/api-special-cases.c:1699,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/api-special-cases.c:1709,1
    - Dst: cairo_status
      Src: /src/cairo/test/api-special-cases.c:1723,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/api-special-cases.c:1737,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/api-special-cases.c:1744,1
    - Dst: cairo_create
      Src: /src/cairo/test/api-special-cases.c:1746,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/api-special-cases.c:1754,1
    - Dst: assert
      Src: /src/cairo/test/api-special-cases.c:1691,1
    - Dst: cairo_create
      Src: /src/cairo/test/api-special-cases.c:1717,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/api-special-cases.c:1724,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/api-special-cases.c:1734,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/api-special-cases.c:1747,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/api-special-cases.c:1757,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/api-special-cases.c:1695,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/api-special-cases.c:1716,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/api-special-cases.c:1727,1
    - Dst: cairo_status
      Src: /src/cairo/test/api-special-cases.c:1718,1
    - Dst: assert
      Src: /src/cairo/test/api-special-cases.c:1749,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/api-special-cases.c:1764,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/api-special-cases.c:1768,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 70
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - cairo_test_context_t*
    constantsTouched: []
    func_position:
      end: 1774
      start: 1678
    functionDepth: 0
    functionLinenumber: 1678
    functionLinenumberEnd: 1774
    functionName: preamble
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - cairo_surface_status
    - ARRAY_LENGTH
    - cairo_create
    - cairo_surface_destroy
    - assert
    - cairo_image_surface_create
    - cairo_status
    - cairo_destroy
    - cairo_status_to_string
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t preamble (cairo_test_context_t *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_rel_curve_to
      Src: /src/cairo/test/api-special-cases.c:441,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 444
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 444
    functionName: test_cairo_rel_curve_to
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_rel_curve_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_rel_curve_to (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_clip
      Src: /src/cairo/test/api-special-cases.c:612,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 615
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 615
    functionName: test_cairo_clip
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_clip
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_clip (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_get_fallback_resolution
      Src: /src/cairo/test/api-special-cases.c:1174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1176
      start: 1169
    functionDepth: 0
    functionLinenumber: 1169
    functionLinenumberEnd: 1176
    functionName: test_cairo_surface_get_fallback_resolution
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_surface_get_fallback_resolution
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_surface_get_fallback_resolution
      (cairo_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_rectangle
      Src: /src/cairo/test/api-special-cases.c:449,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 452
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 452
    functionName: test_cairo_rectangle
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_rectangle (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_clip_preserve
      Src: /src/cairo/test/api-special-cases.c:620,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 623
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 623
    functionName: test_cairo_clip_preserve
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_clip_preserve
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_clip_preserve (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_copy_page
      Src: /src/cairo/test/api-special-cases.c:1181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1183
      start: 1178
    functionDepth: 0
    functionLinenumber: 1178
    functionLinenumberEnd: 1183
    functionName: test_cairo_surface_copy_page
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_surface_copy_page
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_surface_copy_page (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_tee_surface_index
      Src: /src/cairo/test/api-special-cases.c:1303,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/api-special-cases.c:1304,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/api-special-cases.c:1305,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1307
      start: 1297
    functionDepth: 0
    functionLinenumber: 1297
    functionLinenumberEnd: 1307
    functionName: test_cairo_tee_surface_index
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_tee_surface_index
    - cairo_surface_status
    - cairo_surface_destroy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_tee_surface_index (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_scale
      Src: /src/cairo/test/api-special-cases.c:283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 286
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 286
    functionName: test_cairo_scale
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_scale
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_scale (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_close_path
      Src: /src/cairo/test/api-special-cases.c:457,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 460
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 460
    functionName: test_cairo_close_path
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_close_path
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_close_path (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_fill
      Src: /src/cairo/test/api-special-cases.c:530,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 533
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 533
    functionName: test_cairo_fill
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_fill
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_fill (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/test/api-special-cases.c:663,1
    - Dst: cairo_set_font_matrix
      Src: /src/cairo/test/api-special-cases.c:664,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 667
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 667
    functionName: test_cairo_set_font_matrix
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_matrix_init_translate
    - cairo_set_font_matrix
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_set_font_matrix (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_show_text
      Src: /src/cairo/test/api-special-cases.c:718,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 721
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 721
    functionName: test_cairo_show_text
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_show_text
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_show_text (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_get_miter_limit
      Src: /src/cairo/test/api-special-cases.c:897,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 900
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 900
    functionName: test_cairo_get_miter_limit
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_get_miter_limit
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_get_miter_limit (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_mark_dirty_rectangle
      Src: /src/cairo/test/api-special-cases.c:1142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1144
      start: 1139
    functionDepth: 0
    functionLinenumber: 1139
    functionLinenumberEnd: 1144
    functionName: test_cairo_surface_mark_dirty_rectangle
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_surface_mark_dirty_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_surface_mark_dirty_rectangle
      (cairo_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_get_device_offset
      Src: /src/cairo/test/api-special-cases.c:1158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1160
      start: 1153
    functionDepth: 0
    functionLinenumber: 1153
    functionLinenumberEnd: 1160
    functionName: test_cairo_surface_get_device_offset
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_surface_get_device_offset
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_surface_get_device_offset (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_rotate
      Src: /src/cairo/test/api-special-cases.c:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 294
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 294
    functionName: test_cairo_rotate
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_rotate
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_rotate (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_path_extents
      Src: /src/cairo/test/api-special-cases.c:466,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 469
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 469
    functionName: test_cairo_path_extents
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_path_extents
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_path_extents (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_fill_preserve
      Src: /src/cairo/test/api-special-cases.c:538,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 541
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 541
    functionName: test_cairo_fill_preserve
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_fill_preserve
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_fill_preserve (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_get_font_matrix
      Src: /src/cairo/test/api-special-cases.c:674,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 677
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 677
    functionName: test_cairo_get_font_matrix
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_get_font_matrix
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_get_font_matrix (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_show_glyphs
      Src: /src/cairo/test/api-special-cases.c:732,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 735
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 735
    functionName: test_cairo_show_glyphs
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_show_glyphs
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_show_glyphs (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_get_dash_count
      Src: /src/cairo/test/api-special-cases.c:905,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 908
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 908
    functionName: test_cairo_get_dash_count
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_get_dash_count
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_get_dash_count (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_set_device_offset
      Src: /src/cairo/test/api-special-cases.c:1149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1151
      start: 1146
    functionDepth: 0
    functionLinenumber: 1146
    functionLinenumberEnd: 1151
    functionName: test_cairo_surface_set_device_offset
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_surface_set_device_offset
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_surface_set_device_offset (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_set_fallback_resolution
      Src: /src/cairo/test/api-special-cases.c:1165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1167
      start: 1162
    functionDepth: 0
    functionLinenumber: 1162
    functionLinenumberEnd: 1167
    functionName: test_cairo_surface_set_fallback_resolution
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_surface_set_fallback_resolution
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_surface_set_fallback_resolution
      (cairo_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_xlib_surface_get_screen
      Src: /src/cairo/test/api-special-cases.c:1448,1
    - Dst: surface_has_type
      Src: /src/cairo/test/api-special-cases.c:1449,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1450
      start: 1445
    functionDepth: 0
    functionLinenumber: 1445
    functionLinenumberEnd: 1450
    functionName: test_cairo_xlib_surface_get_screen
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - surface_has_type
    - cairo_xlib_surface_get_screen
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_xlib_surface_get_screen (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_xlib_surface_get_height
      Src: /src/cairo/test/api-special-cases.c:1483,1
    - Dst: surface_has_type
      Src: /src/cairo/test/api-special-cases.c:1484,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1485
      start: 1480
    functionDepth: 0
    functionLinenumber: 1480
    functionLinenumberEnd: 1485
    functionName: test_cairo_xlib_surface_get_height
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - surface_has_type
    - cairo_xlib_surface_get_height
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_xlib_surface_get_height (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_line_to
      Src: /src/cairo/test/api-special-cases.c:393,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 396
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 396
    functionName: test_cairo_line_to
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_line_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_line_to (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_get_dash
      Src: /src/cairo/test/api-special-cases.c:916,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 919
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 919
    functionName: test_cairo_get_dash
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_get_dash
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_get_dash (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_get_width
      Src: /src/cairo/test/api-special-cases.c:1216,1
    - Dst: surface_has_type
      Src: /src/cairo/test/api-special-cases.c:1217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1218
      start: 1213
    functionDepth: 0
    functionLinenumber: 1213
    functionLinenumberEnd: 1218
    functionName: test_cairo_image_surface_get_width
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_image_surface_get_width
    - surface_has_type
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_image_surface_get_width (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_curve_to
      Src: /src/cairo/test/api-special-cases.c:401,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 404
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 404
    functionName: test_cairo_curve_to
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_curve_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_curve_to (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_get_matrix
      Src: /src/cairo/test/api-special-cases.c:926,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 929
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 929
    functionName: test_cairo_get_matrix
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_get_matrix
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_get_matrix (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_get_height
      Src: /src/cairo/test/api-special-cases.c:1223,1
    - Dst: surface_has_type
      Src: /src/cairo/test/api-special-cases.c:1224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1225
      start: 1220
    functionDepth: 0
    functionLinenumber: 1220
    functionLinenumberEnd: 1225
    functionName: test_cairo_image_surface_get_height
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - surface_has_type
    - cairo_image_surface_get_height
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_image_surface_get_height (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_operator
      Src: /src/cairo/test/api-special-cases.c:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 170
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 170
    functionName: test_cairo_set_operator
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_set_operator
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_set_operator (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pattern_create_rgb
      Src: /src/cairo/test/api-special-cases.c:175,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/api-special-cases.c:177,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/api-special-cases.c:176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 180
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 180
    functionName: test_cairo_set_source
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_set_source
    - cairo_pattern_destroy
    - cairo_pattern_create_rgb
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_set_source (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_arc
      Src: /src/cairo/test/api-special-cases.c:409,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 412
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 412
    functionName: test_cairo_arc
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_arc
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_arc (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_show_page
      Src: /src/cairo/test/api-special-cases.c:1188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1190
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1190
    functionName: test_cairo_surface_show_page
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_surface_show_page
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_surface_show_page (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_arc_negative
      Src: /src/cairo/test/api-special-cases.c:417,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 420
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 420
    functionName: test_cairo_arc_negative
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_arc_negative
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_arc_negative (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_has_show_text_glyphs
      Src: /src/cairo/test/api-special-cases.c:1195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1197
      start: 1192
    functionDepth: 0
    functionLinenumber: 1192
    functionLinenumberEnd: 1197
    functionName: test_cairo_surface_has_show_text_glyphs
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_surface_has_show_text_glyphs
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_surface_has_show_text_glyphs
      (cairo_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_write_to_png_stream
      Src: /src/cairo/test/api-special-cases.c:1257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1262
      start: 1252
    functionDepth: 0
    functionLinenumber: 1252
    functionLinenumberEnd: 1262
    functionName: test_cairo_surface_write_to_png_stream
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_surface_write_to_png_stream
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_surface_write_to_png_stream
      (cairo_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pattern_create_rgb
      Src: /src/cairo/test/api-special-cases.c:492,1
    - Dst: cairo_mask
      Src: /src/cairo/test/api-special-cases.c:493,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/api-special-cases.c:495,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 497
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 497
    functionName: test_cairo_mask
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_pattern_destroy
    - cairo_pattern_create_rgb
    - cairo_mask
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_mask (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_has_current_point
      Src: /src/cairo/test/api-special-cases.c:847,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 850
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 850
    functionName: test_cairo_has_current_point
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_has_current_point
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_has_current_point (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_ps_surface_dsc_comment
      Src: /src/cairo/test/api-special-cases.c:1362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1364
      start: 1359
    functionDepth: 0
    functionLinenumber: 1359
    functionLinenumberEnd: 1364
    functionName: test_cairo_ps_surface_dsc_comment
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_ps_surface_dsc_comment
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_ps_surface_dsc_comment (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_xlib_surface_set_size
      Src: /src/cairo/test/api-special-cases.c:1427,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1429
      start: 1424
    functionDepth: 0
    functionLinenumber: 1424
    functionLinenumberEnd: 1429
    functionName: test_cairo_xlib_surface_set_size
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_xlib_surface_set_size
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_xlib_surface_set_size (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/api-special-cases.c:504,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/api-special-cases.c:507,1
    - Dst: cairo_mask_surface
      Src: /src/cairo/test/api-special-cases.c:505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 509
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 509
    functionName: test_cairo_mask_surface
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_mask_surface
    - cairo_image_surface_create
    - cairo_surface_destroy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_mask_surface (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_get_current_point
      Src: /src/cairo/test/api-special-cases.c:857,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 860
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 860
    functionName: test_cairo_get_current_point
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_get_current_point
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_get_current_point (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_ps_surface_dsc_begin_setup
      Src: /src/cairo/test/api-special-cases.c:1369,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1371
      start: 1366
    functionDepth: 0
    functionLinenumber: 1366
    functionLinenumberEnd: 1371
    functionName: test_cairo_ps_surface_dsc_begin_setup
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_ps_surface_dsc_begin_setup
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_ps_surface_dsc_begin_setup (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_xlib_surface_set_drawable
      Src: /src/cairo/test/api-special-cases.c:1434,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1436
      start: 1431
    functionDepth: 0
    functionLinenumber: 1431
    functionLinenumberEnd: 1436
    functionName: test_cairo_xlib_surface_set_drawable
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_xlib_surface_set_drawable
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_xlib_surface_set_drawable (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/api-special-cases.c:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: test_cairo_set_source_rgb
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_set_source_rgb
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_set_source_rgb (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_identity_matrix
      Src: /src/cairo/test/api-special-cases.c:321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 324
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 324
    functionName: test_cairo_identity_matrix
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_identity_matrix
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_identity_matrix (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_get_tolerance
      Src: /src/cairo/test/api-special-cases.c:831,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 834
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 834
    functionName: test_cairo_get_tolerance
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_get_tolerance
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_get_tolerance (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_get_target
      Src: /src/cairo/test/api-special-cases.c:934,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 937
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 937
    functionName: test_cairo_get_target
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_get_target
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_get_target (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_get_type
      Src: /src/cairo/test/api-special-cases.c:1048,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1050
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1050
    functionName: test_cairo_surface_get_type
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_surface_get_type
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_surface_get_type (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/api-special-cases.c:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 196
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 196
    functionName: test_cairo_set_source_rgba
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_set_source_rgba
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_set_source_rgba (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_user_to_device
      Src: /src/cairo/test/api-special-cases.c:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 334
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 334
    functionName: test_cairo_user_to_device
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_user_to_device
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_user_to_device (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_get_antialias
      Src: /src/cairo/test/api-special-cases.c:839,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 842
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 842
    functionName: test_cairo_get_antialias
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_get_antialias
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_get_antialias (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_get_group_target
      Src: /src/cairo/test/api-special-cases.c:942,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 945
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 945
    functionName: test_cairo_get_group_target
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_get_group_target
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_get_group_target (cairo_t *cr) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_get_content
      Src: /src/cairo/test/api-special-cases.c:1055,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1065
      start: 1052
    functionDepth: 0
    functionLinenumber: 1052
    functionLinenumberEnd: 1065
    functionName: test_cairo_surface_get_content
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_surface_get_content
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_surface_get_content (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_clip_extents
      Src: /src/cairo/test/api-special-cases.c:629,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 632
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 632
    functionName: test_cairo_clip_extents
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_clip_extents
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_clip_extents (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/api-special-cases.c:645,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 648
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 648
    functionName: test_cairo_select_font_face
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_select_font_face
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_select_font_face (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_device_to_user_distance
      Src: /src/cairo/test/api-special-cases.c:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 364
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 364
    functionName: test_cairo_device_to_user_distance
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_device_to_user_distance
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_device_to_user_distance (cairo_t
      *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_get_operator
      Src: /src/cairo/test/api-special-cases.c:815,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 818
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 818
    functionName: test_cairo_get_operator
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_get_operator
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_get_operator (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/api-special-cases.c:971,1
    - Dst: cairo_append_path
      Src: /src/cairo/test/api-special-cases.c:980,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 983
      start: 963
    functionDepth: 0
    functionLinenumber: 963
    functionLinenumberEnd: 983
    functionName: test_cairo_append_path
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - ARRAY_LENGTH
    - cairo_append_path
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_append_path (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/api-special-cases.c:1017,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1019
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1019
    functionName: test_cairo_surface_finish
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_surface_finish
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_surface_finish (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_new_path
      Src: /src/cairo/test/api-special-cases.c:369,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 372
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 372
    functionName: test_cairo_new_path
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_new_path
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_new_path (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_rectangle_list_destroy
      Src: /src/cairo/test/api-special-cases.c:637,1
    - Dst: cairo_copy_clip_rectangle_list
      Src: /src/cairo/test/api-special-cases.c:637,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 640
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 640
    functionName: test_cairo_copy_clip_rectangle_list
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_copy_clip_rectangle_list
    - cairo_rectangle_list_destroy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_copy_clip_rectangle_list (cairo_t
      *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/api-special-cases.c:653,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 656
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 656
    functionName: test_cairo_set_font_size
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_set_font_size
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_set_font_size (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_get_source
      Src: /src/cairo/test/api-special-cases.c:823,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 826
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 826
    functionName: test_cairo_get_source
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_get_source
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_get_source (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/api-special-cases.c:990,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/api-special-cases.c:992,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 994
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 994
    functionName: test_cairo_surface_create_similar
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_surface_create_similar
    - cairo_surface_destroy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_surface_create_similar (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_get_device
      Src: /src/cairo/test/api-special-cases.c:1024,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1026
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1026
    functionName: test_cairo_surface_get_device
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_surface_get_device
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_surface_get_device (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_antialias
      Src: /src/cairo/test/api-special-cases.c:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 222
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 222
    functionName: test_cairo_set_antialias
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_set_antialias
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_set_antialias (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/api-special-cases.c:235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 238
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 238
    functionName: test_cairo_set_line_width
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_set_line_width
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_set_line_width (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_miter_limit
      Src: /src/cairo/test/api-special-cases.c:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 270
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 270
    functionName: test_cairo_set_miter_limit
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_set_miter_limit
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_set_miter_limit (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_font_options_create
      Src: /src/cairo/test/api-special-cases.c:682,1
    - Dst: cairo_set_font_options
      Src: /src/cairo/test/api-special-cases.c:683,1
    - Dst: cairo_font_options_destroy
      Src: /src/cairo/test/api-special-cases.c:684,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 687
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 687
    functionName: test_cairo_set_font_options
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_set_font_options
    - cairo_font_options_create
    - cairo_font_options_destroy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_set_font_options (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_ps_surface_get_eps
      Src: /src/cairo/test/api-special-cases.c:1348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1350
      start: 1345
    functionDepth: 0
    functionLinenumber: 1345
    functionLinenumberEnd: 1350
    functionName: test_cairo_ps_surface_get_eps
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_ps_surface_get_eps
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_ps_surface_get_eps (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_xcb_surface_set_size
      Src: /src/cairo/test/api-special-cases.c:1409,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1411
      start: 1406
    functionDepth: 0
    functionLinenumber: 1406
    functionLinenumberEnd: 1411
    functionName: test_cairo_xcb_surface_set_size
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_xcb_surface_set_size
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_xcb_surface_set_size (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_xlib_surface_get_depth
      Src: /src/cairo/test/api-special-cases.c:1469,1
    - Dst: surface_has_type
      Src: /src/cairo/test/api-special-cases.c:1470,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1471
      start: 1466
    functionDepth: 0
    functionLinenumber: 1466
    functionLinenumberEnd: 1471
    functionName: test_cairo_xlib_surface_get_depth
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - surface_has_type
    - cairo_xlib_surface_get_depth
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_xlib_surface_get_depth (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/test/api-special-cases.c:227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 230
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 230
    functionName: test_cairo_set_fill_rule
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_set_fill_rule
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_set_fill_rule (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/api-special-cases.c:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: test_cairo_set_line_cap
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_set_line_cap
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_set_line_cap (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_translate
      Src: /src/cairo/test/api-special-cases.c:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 278
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 278
    functionName: test_cairo_translate
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_translate
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_translate (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_font_options_create
      Src: /src/cairo/test/api-special-cases.c:692,1
    - Dst: cairo_get_font_options
      Src: /src/cairo/test/api-special-cases.c:693,1
    - Dst: cairo_font_options_destroy
      Src: /src/cairo/test/api-special-cases.c:694,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 697
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 697
    functionName: test_cairo_get_font_options
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_font_options_destroy
    - cairo_font_options_create
    - cairo_get_font_options
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_get_font_options (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_ps_surface_set_size
      Src: /src/cairo/test/api-special-cases.c:1355,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1357
      start: 1352
    functionDepth: 0
    functionLinenumber: 1352
    functionLinenumberEnd: 1357
    functionName: test_cairo_ps_surface_set_size
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_ps_surface_set_size
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_ps_surface_set_size (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_xcb_surface_set_drawable
      Src: /src/cairo/test/api-special-cases.c:1416,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1418
      start: 1413
    functionDepth: 0
    functionLinenumber: 1413
    functionLinenumberEnd: 1418
    functionName: test_cairo_xcb_surface_set_drawable
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_xcb_surface_set_drawable
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_xcb_surface_set_drawable (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_xlib_surface_get_width
      Src: /src/cairo/test/api-special-cases.c:1476,1
    - Dst: surface_has_type
      Src: /src/cairo/test/api-special-cases.c:1477,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1478
      start: 1473
    functionDepth: 0
    functionLinenumber: 1473
    functionLinenumberEnd: 1478
    functionName: test_cairo_xlib_surface_get_width
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - surface_has_type
    - cairo_xlib_surface_get_width
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_xlib_surface_get_width (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_quartz_surface_get_cg_context
      Src: /src/cairo/test/api-special-cases.c:1387,1
    - Dst: surface_has_type
      Src: /src/cairo/test/api-special-cases.c:1388,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1389
      start: 1384
    functionDepth: 0
    functionLinenumber: 1384
    functionLinenumberEnd: 1389
    functionName: test_cairo_quartz_surface_get_cg_context
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - surface_has_type
    - cairo_quartz_surface_get_cg_context
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_quartz_surface_get_cg_context
      (cairo_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_flush
      Src: /src/cairo/test/api-special-cases.c:1128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1130
      start: 1125
    functionDepth: 0
    functionLinenumber: 1125
    functionLinenumberEnd: 1130
    functionName: test_cairo_surface_flush
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_surface_flush
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_surface_flush (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_recording_surface_ink_extents
      Src: /src/cairo/test/api-special-cases.c:1271,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1273
      start: 1266
    functionDepth: 0
    functionLinenumber: 1266
    functionLinenumberEnd: 1273
    functionName: test_cairo_recording_surface_ink_extents
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_recording_surface_ink_extents
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_recording_surface_ink_extents
      (cairo_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pdf_surface_restrict_to_version
      Src: /src/cairo/test/api-special-cases.c:1316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1318
      start: 1313
    functionDepth: 0
    functionLinenumber: 1313
    functionLinenumberEnd: 1318
    functionName: test_cairo_pdf_surface_restrict_to_version
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_pdf_surface_restrict_to_version
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_pdf_surface_restrict_to_version
      (cairo_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_ps_surface_restrict_to_level
      Src: /src/cairo/test/api-special-cases.c:1334,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1336
      start: 1331
    functionDepth: 0
    functionLinenumber: 1331
    functionLinenumberEnd: 1336
    functionName: test_cairo_ps_surface_restrict_to_level
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_ps_surface_restrict_to_level
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_ps_surface_restrict_to_level
      (cairo_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_mark_dirty
      Src: /src/cairo/test/api-special-cases.c:1135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1137
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1137
    functionName: test_cairo_surface_mark_dirty
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_surface_mark_dirty
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_surface_mark_dirty (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pdf_surface_set_size
      Src: /src/cairo/test/api-special-cases.c:1323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1325
      start: 1320
    functionDepth: 0
    functionLinenumber: 1320
    functionLinenumberEnd: 1325
    functionName: test_cairo_pdf_surface_set_size
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_pdf_surface_set_size
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_pdf_surface_set_size (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_ps_surface_set_eps
      Src: /src/cairo/test/api-special-cases.c:1341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1343
      start: 1338
    functionDepth: 0
    functionLinenumber: 1338
    functionLinenumberEnd: 1343
    functionName: test_cairo_ps_surface_set_eps
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_ps_surface_set_eps
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_ps_surface_set_eps (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_xlib_surface_get_display
      Src: /src/cairo/test/api-special-cases.c:1441,1
    - Dst: surface_has_type
      Src: /src/cairo/test/api-special-cases.c:1442,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1443
      start: 1438
    functionDepth: 0
    functionLinenumber: 1438
    functionLinenumberEnd: 1443
    functionName: test_cairo_xlib_surface_get_display
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - surface_has_type
    - cairo_xlib_surface_get_display
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_xlib_surface_get_display (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/api-special-cases.c:201,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/api-special-cases.c:202,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/api-special-cases.c:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 206
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 206
    functionName: test_cairo_set_source_surface
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_image_surface_create
    - cairo_set_source_surface
    - cairo_surface_destroy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_set_source_surface (cairo_t
      *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_move_to
      Src: /src/cairo/test/api-special-cases.c:377,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 380
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 380
    functionName: test_cairo_move_to
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_move_to (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_rel_move_to
      Src: /src/cairo/test/api-special-cases.c:425,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 428
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 428
    functionName: test_cairo_rel_move_to
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_rel_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_rel_move_to (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_for_rectangle
      Src: /src/cairo/test/api-special-cases.c:1001,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/api-special-cases.c:1003,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1005
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 1005
    functionName: test_cairo_surface_create_for_rectangle
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_surface_create_for_rectangle
    - cairo_surface_destroy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_surface_create_for_rectangle
      (cairo_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_get_data
      Src: /src/cairo/test/api-special-cases.c:1202,1
    - Dst: surface_has_type
      Src: /src/cairo/test/api-special-cases.c:1203,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1204
      start: 1199
    functionDepth: 0
    functionLinenumber: 1199
    functionLinenumberEnd: 1204
    functionName: test_cairo_image_surface_get_data
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - surface_has_type
    - cairo_image_surface_get_data
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_image_surface_get_data (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/api-special-cases.c:1280,1
    - Dst: cairo_tee_surface_add
      Src: /src/cairo/test/api-special-cases.c:1282,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/api-special-cases.c:1283,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1285
      start: 1277
    functionDepth: 0
    functionLinenumber: 1277
    functionLinenumberEnd: 1285
    functionName: test_cairo_tee_surface_add
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_image_surface_create
    - cairo_tee_surface_add
    - cairo_surface_destroy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_tee_surface_add (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_xlib_surface_get_visual
      Src: /src/cairo/test/api-special-cases.c:1455,1
    - Dst: surface_has_type
      Src: /src/cairo/test/api-special-cases.c:1456,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1457
      start: 1452
    functionDepth: 0
    functionLinenumber: 1452
    functionLinenumberEnd: 1457
    functionName: test_cairo_xlib_surface_get_visual
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - surface_has_type
    - cairo_xlib_surface_get_visual
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_xlib_surface_get_visual (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_tolerance
      Src: /src/cairo/test/api-special-cases.c:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 214
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 214
    functionName: test_cairo_set_tolerance
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_set_tolerance
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_set_tolerance (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_new_sub_path
      Src: /src/cairo/test/api-special-cases.c:385,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 388
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 388
    functionName: test_cairo_new_sub_path
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_new_sub_path
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_new_sub_path (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/api-special-cases.c:433,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 436
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 436
    functionName: test_cairo_rel_line_to
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_rel_line_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_rel_line_to (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/api-special-cases.c:1010,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/test/api-special-cases.c:1010,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1012
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1012
    functionName: test_cairo_surface_reference
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_surface_reference
    - cairo_surface_destroy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_surface_reference (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_get_format
      Src: /src/cairo/test/api-special-cases.c:1209,1
    - Dst: surface_has_type
      Src: /src/cairo/test/api-special-cases.c:1210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1211
      start: 1206
    functionDepth: 0
    functionLinenumber: 1206
    functionLinenumberEnd: 1211
    functionName: test_cairo_image_surface_get_format
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - surface_has_type
    - cairo_image_surface_get_format
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_image_surface_get_format (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/api-special-cases.c:1290,1
    - Dst: cairo_tee_surface_remove
      Src: /src/cairo/test/api-special-cases.c:1292,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/api-special-cases.c:1293,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1295
      start: 1287
    functionDepth: 0
    functionLinenumber: 1287
    functionLinenumberEnd: 1295
    functionName: test_cairo_tee_surface_remove
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_image_surface_create
    - cairo_tee_surface_remove
    - cairo_surface_destroy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_tee_surface_remove (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_xlib_surface_get_drawable
      Src: /src/cairo/test/api-special-cases.c:1462,1
    - Dst: surface_has_type
      Src: /src/cairo/test/api-special-cases.c:1463,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1464
      start: 1459
    functionDepth: 0
    functionLinenumber: 1459
    functionLinenumberEnd: 1464
    functionName: test_cairo_xlib_surface_get_drawable
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - surface_has_type
    - cairo_xlib_surface_get_drawable
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_xlib_surface_get_drawable (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_destroy
      Src: /src/cairo/test/api-special-cases.c:99,1
    - Dst: cairo_reference
      Src: /src/cairo/test/api-special-cases.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: test_cairo_reference
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_destroy
    - cairo_reference
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_reference (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_copy_page
      Src: /src/cairo/test/api-special-cases.c:546,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 549
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 549
    functionName: test_cairo_copy_page
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_copy_page
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_copy_page (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_get_fill_rule
      Src: /src/cairo/test/api-special-cases.c:865,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 868
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 868
    functionName: test_cairo_get_fill_rule
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_get_fill_rule
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_get_fill_rule (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_path_destroy
      Src: /src/cairo/test/api-special-cases.c:950,1
    - Dst: cairo_copy_path
      Src: /src/cairo/test/api-special-cases.c:950,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 953
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 953
    functionName: test_cairo_copy_path
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_copy_path
    - cairo_path_destroy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_copy_path (cairo_t *cr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_get_reference_count
      Src: /src/cairo/test/api-special-cases.c:1031,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/api-special-cases.c:1035,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1036
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1036
    functionName: test_cairo_surface_get_reference_count
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_surface_status
    - cairo_surface_get_reference_count
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_surface_get_reference_count
      (cairo_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_get_stride
      Src: /src/cairo/test/api-special-cases.c:1230,1
    - Dst: surface_has_type
      Src: /src/cairo/test/api-special-cases.c:1231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1232
      start: 1227
    functionDepth: 0
    functionLinenumber: 1227
    functionLinenumberEnd: 1232
    functionName: test_cairo_image_surface_get_stride
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_image_surface_get_stride
    - surface_has_type
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_image_surface_get_stride (cairo_surface_t
      *surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_get_reference_count
      Src: /src/cairo/test/api-special-cases.c:107,1
    - Dst: cairo_status
      Src: /src/cairo/test/api-special-cases.c:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: test_cairo_get_reference_count
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_status
    - cairo_get_reference_count
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_get_reference_count (cairo_t
      *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_show_page
      Src: /src/cairo/test/api-special-cases.c:554,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 557
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 557
    functionName: test_cairo_show_page
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_show_page
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_show_page (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_get_line_width
      Src: /src/cairo/test/api-special-cases.c:873,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 876
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 876
    functionName: test_cairo_get_line_width
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_get_line_width
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_get_line_width (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_path_destroy
      Src: /src/cairo/test/api-special-cases.c:958,1
    - Dst: cairo_copy_path_flat
      Src: /src/cairo/test/api-special-cases.c:958,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 961
      start: 955
    functionDepth: 0
    functionLinenumber: 955
    functionLinenumberEnd: 961
    functionName: test_cairo_copy_path_flat
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_copy_path_flat
    - cairo_path_destroy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_copy_path_flat (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_status
      Src: /src/cairo/test/api-special-cases.c:1041,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1043
      start: 1038
    functionDepth: 0
    functionLinenumber: 1038
    functionLinenumberEnd: 1043
    functionName: test_cairo_surface_status
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_surface_status
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_surface_status (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_ps_surface_dsc_begin_page_setup
      Src: /src/cairo/test/api-special-cases.c:1376,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1378
      start: 1373
    functionDepth: 0
    functionLinenumber: 1373
    functionLinenumberEnd: 1378
    functionName: test_cairo_ps_surface_dsc_begin_page_setup
    functionSourceFile: /src/cairo/test/api-special-cases.c
    functionUses: []
    functionsReached:
    - cairo_ps_surface_dsc_begin_page_setup
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t test_cairo_ps_surface_dsc_begin_page_setup
      (cairo_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_create
      Src: /src/cairo/test/stroke-image.c:42,1
    - Dst: cairo_paint
      Src: /src/cairo/test/stroke-image.c:47,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/stroke-image.c:48,1
    - Dst: cairo_arc
      Src: /src/cairo/test/stroke-image.c:50,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/stroke-image.c:56,1
    - Dst: cairo_arc
      Src: /src/cairo/test/stroke-image.c:61,1
    - Dst: cairo_paint
      Src: /src/cairo/test/stroke-image.c:39,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/stroke-image.c:43,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/stroke-image.c:41,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/stroke-image.c:46,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/stroke-image.c:51,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/stroke-image.c:57,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/stroke-image.c:60,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/stroke-image.c:62,1
    - Dst: cairo_translate
      Src: /src/cairo/test/stroke-image.c:54,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/stroke-image.c:38,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/stroke-image.c:49,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/stroke-image.c:56,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/stroke-image.c:59,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 65
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 65
    functionName: draw
    functionSourceFile: /src/cairo/test/stroke-image.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_new_path
    - cairo_set_line_width
    - cairo_destroy
    - cairo_arc
    - cairo_create
    - cairo_surface_destroy
    - cairo_image_surface_create
    - cairo_stroke
    - cairo_get_target
    - cairo_set_source_rgb
    - cairo_translate
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/test/a1-mask-sample.c:46,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/a1-mask-sample.c:54,1
    - Dst: cairo_pattern_set_filter
      Src: /src/cairo/test/a1-mask-sample.c:50,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/a1-mask-sample.c:51,1
    - Dst: cairo_pattern_create_for_surface
      Src: /src/cairo/test/a1-mask-sample.c:49,1
    - Dst: cairo_paint
      Src: /src/cairo/test/a1-mask-sample.c:55,1
    - Dst: cairo_translate
      Src: /src/cairo/test/a1-mask-sample.c:57,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/a1-mask-sample.c:59,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/test/a1-mask-sample.c:64,1
    - Dst: cairo_pattern_set_matrix
      Src: /src/cairo/test/a1-mask-sample.c:67,1
    - Dst: cairo_mask
      Src: /src/cairo/test/a1-mask-sample.c:68,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/a1-mask-sample.c:72,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 75
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 75
    functionName: draw
    functionSourceFile: /src/cairo/test/a1-mask-sample.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_for_surface
    - cairo_paint
    - cairo_pattern_set_filter
    - cairo_image_surface_create_for_data
    - cairo_pattern_set_matrix
    - cairo_surface_destroy
    - cairo_mask
    - cairo_set_source_rgb
    - cairo_translate
    - cairo_matrix_init_translate
    - cairo_pattern_destroy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rol
      Src: /src/cairo/test/coverage.c:47,1
    - Dst: rol
      Src: /src/cairo/test/coverage.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: hars_petruska_f54_1_random
    functionSourceFile: /src/cairo/test/coverage.c
    functionUses: []
    functionsReached:
    - rol
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t hars_petruska_f54_1_random (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/coverage.c:156,1
    - Dst: cairo_paint
      Src: /src/cairo/test/coverage.c:157,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/coverage.c:161,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/coverage.c:162,1
    - Dst: cairo_fill
      Src: /src/cairo/test/coverage.c:163,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/coverage.c:166,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/coverage.c:170,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/coverage.c:171,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/coverage.c:172,1
    - Dst: random_offset
      Src: /src/cairo/test/coverage.c:178,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/coverage.c:182,1
    - Dst: random_offset
      Src: /src/cairo/test/coverage.c:179,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/coverage.c:183,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/coverage.c:180,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/coverage.c:184,1
    - Dst: cairo_fill
      Src: /src/cairo/test/coverage.c:187,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/coverage.c:181,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 192
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 192
    functionName: intersecting_quads
    functionSourceFile: /src/cairo/test/coverage.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgba
    - cairo_rel_line_to
    - cairo_close_path
    - random_offset
    - cairo_set_operator
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t intersecting_quads (cairo_t *cr, int width,
      int height) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/coverage.c:67,1
    - Dst: cairo_fill
      Src: /src/cairo/test/coverage.c:74,1
    - Dst: cairo_paint
      Src: /src/cairo/test/coverage.c:68,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/coverage.c:72,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/coverage.c:73,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/coverage.c:77,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/coverage.c:81,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/coverage.c:82,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/coverage.c:83,1
    - Dst: random_offset
      Src: /src/cairo/test/coverage.c:88,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/coverage.c:90,1
    - Dst: cairo_fill
      Src: /src/cairo/test/coverage.c:93,1
    - Dst: random_offset
      Src: /src/cairo/test/coverage.c:89,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 98
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 98
    functionName: rectangles
    functionSourceFile: /src/cairo/test/coverage.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgba
    - random_offset
    - cairo_set_operator
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t rectangles (cairo_t *cr, int width, int
      height) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/coverage.c:253,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/coverage.c:259,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/coverage.c:258,1
    - Dst: cairo_paint
      Src: /src/cairo/test/coverage.c:254,1
    - Dst: cairo_fill
      Src: /src/cairo/test/coverage.c:260,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/coverage.c:263,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/coverage.c:267,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/coverage.c:268,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/coverage.c:269,1
    - Dst: random_offset
      Src: /src/cairo/test/coverage.c:274,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/coverage.c:276,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/coverage.c:278,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/coverage.c:279,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/coverage.c:277,1
    - Dst: cairo_fill
      Src: /src/cairo/test/coverage.c:282,1
    - Dst: random_offset
      Src: /src/cairo/test/coverage.c:275,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 287
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 287
    functionName: triangles
    functionSourceFile: /src/cairo/test/coverage.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgba
    - cairo_rel_line_to
    - cairo_close_path
    - random_offset
    - cairo_set_operator
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t triangles (cairo_t *cr, int width, int
      height) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/coverage.c:343,1
    - Dst: cairo_fill
      Src: /src/cairo/test/coverage.c:350,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/coverage.c:348,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/coverage.c:349,1
    - Dst: cairo_paint
      Src: /src/cairo/test/coverage.c:344,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/coverage.c:353,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/coverage.c:357,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/coverage.c:358,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/coverage.c:359,1
    - Dst: random_offset
      Src: /src/cairo/test/coverage.c:366,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/coverage.c:392,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/coverage.c:391,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/coverage.c:390,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/coverage.c:393,1
    - Dst: cairo_fill
      Src: /src/cairo/test/coverage.c:396,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/coverage.c:394,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 403
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 403
    functionName: column_triangles
    functionSourceFile: /src/cairo/test/coverage.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgba
    - cairo_rel_line_to
    - cairo_close_path
    - random_offset
    - cairo_set_operator
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t column_triangles (cairo_t *cr, int width,
      int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/coverage.c:106,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/coverage.c:112,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/coverage.c:114,1
    - Dst: cairo_paint
      Src: /src/cairo/test/coverage.c:107,1
    - Dst: cairo_fill
      Src: /src/cairo/test/coverage.c:115,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/coverage.c:119,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/coverage.c:120,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/coverage.c:127,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/coverage.c:130,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/coverage.c:133,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/coverage.c:136,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/coverage.c:139,1
    - Dst: cairo_fill
      Src: /src/cairo/test/coverage.c:143,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 55
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 147
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 147
    functionName: rhombus
    functionSourceFile: /src/cairo/test/coverage.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgba
    - cairo_line_to
    - cairo_close_path
    - cairo_set_operator
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t rhombus (cairo_t *cr, int width, int height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hars_petruska_f54_1_random
      Src: /src/cairo/test/coverage.c:54,1
    - Dst: floor
      Src: /src/cairo/test/coverage.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - range
    - precise
    - width
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: random_offset
    functionSourceFile: /src/cairo/test/coverage.c
    functionUses: []
    functionsReached:
    - hars_petruska_f54_1_random
    - floor
    linkageType: ''
    returnType: double
    signature: 'static double random_offset (int range, int precise, int width) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: random_offset
      Src: /src/cairo/test/coverage.c:223,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/coverage.c:233,1
    - Dst: random_offset
      Src: /src/cairo/test/coverage.c:224,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/coverage.c:201,1
    - Dst: cairo_fill
      Src: /src/cairo/test/coverage.c:208,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/coverage.c:216,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/coverage.c:228,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/coverage.c:229,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/coverage.c:234,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/coverage.c:236,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/coverage.c:206,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/coverage.c:211,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/coverage.c:227,1
    - Dst: cairo_fill
      Src: /src/cairo/test/coverage.c:239,1
    - Dst: cairo_paint
      Src: /src/cairo/test/coverage.c:202,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/coverage.c:207,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/coverage.c:215,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/coverage.c:217,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/coverage.c:235,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/coverage.c:230,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 244
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 244
    functionName: intersecting_triangles
    functionSourceFile: /src/cairo/test/coverage.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgba
    - cairo_rel_line_to
    - cairo_close_path
    - random_offset
    - cairo_set_operator
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t intersecting_triangles (cairo_t *cr, int
      width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/coverage.c:294,1
    - Dst: sin
      Src: /src/cairo/test/coverage.c:308,1
    - Dst: cairo_fill
      Src: /src/cairo/test/coverage.c:313,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/coverage.c:322,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/coverage.c:315,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/coverage.c:316,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/coverage.c:317,1
    - Dst: cairo_fill
      Src: /src/cairo/test/coverage.c:328,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/coverage.c:302,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/coverage.c:320,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/coverage.c:321,1
    - Dst: cairo_paint
      Src: /src/cairo/test/coverage.c:300,1
    - Dst: cairo_paint
      Src: /src/cairo/test/coverage.c:295,1
    - Dst: cos
      Src: /src/cairo/test/coverage.c:307,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/coverage.c:312,1
    - Dst: cairo_fill
      Src: /src/cairo/test/coverage.c:318,1
    - Dst: cairo_fill
      Src: /src/cairo/test/coverage.c:323,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/coverage.c:325,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/coverage.c:326,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/coverage.c:327,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/coverage.c:297,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/coverage.c:310,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/coverage.c:311,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 64
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 334
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 334
    functionName: abutting
    functionSourceFile: /src/cairo/test/coverage.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgba
    - cairo_line_to
    - cos
    - cairo_set_operator
    - cairo_fill
    - cairo_set_source_rgb
    - sin
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t abutting (cairo_t *cr, int width, int height) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/coverage.c:412,1
    - Dst: cairo_fill
      Src: /src/cairo/test/coverage.c:419,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/coverage.c:417,1
    - Dst: cairo_paint
      Src: /src/cairo/test/coverage.c:413,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/coverage.c:418,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/coverage.c:422,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/coverage.c:426,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/coverage.c:427,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/coverage.c:428,1
    - Dst: random_offset
      Src: /src/cairo/test/coverage.c:435,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/coverage.c:445,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/coverage.c:443,1
    - Dst: cairo_fill
      Src: /src/cairo/test/coverage.c:447,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/coverage.c:441,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/coverage.c:444,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/coverage.c:442,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 454
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 454
    functionName: row_triangles
    functionSourceFile: /src/cairo/test/coverage.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgba
    - cairo_rel_line_to
    - cairo_close_path
    - random_offset
    - cairo_set_operator
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t row_triangles (cairo_t *cr, int width,
      int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-push-group.c:43,1
    - Dst: cairo_arc
      Src: /src/cairo/test/clip-push-group.c:46,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-push-group.c:44,1
    - Dst: cairo_push_group
      Src: /src/cairo/test/clip-push-group.c:52,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-push-group.c:50,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-push-group.c:53,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-push-group.c:54,1
    - Dst: cairo_pop_group_to_source
      Src: /src/cairo/test/clip-push-group.c:55,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-push-group.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 59
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 59
    functionName: draw
    functionSourceFile: /src/cairo/test/clip-push-group.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_pop_group_to_source
    - cairo_arc
    - cairo_set_source_rgb
    - cairo_push_group
    - cairo_clip
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cairo/test/create-from-broken-png-stream.c:46,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - closure
    - data
    - length
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 50
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 50
    functionName: read_png_from_data
    functionSourceFile: /src/cairo/test/create-from-broken-png-stream.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t read_png_from_data (void *closure, unsigned
      char *data, unsigned int length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create_from_png_stream
      Src: /src/cairo/test/create-from-broken-png-stream.c:60,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/create-from-broken-png-stream.c:65,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/create-from-broken-png-stream.c:67,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/create-from-broken-png-stream.c:69,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/create-from-broken-png-stream.c:64,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/create-from-broken-png-stream.c:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - cairo_test_context_t*
    constantsTouched: []
    func_position:
      end: 76
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 76
    functionName: preamble
    functionSourceFile: /src/cairo/test/create-from-broken-png-stream.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - cairo_image_surface_create_from_png_stream
    - cairo_surface_status
    - cairo_surface_destroy
    - cairo_status_to_string
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t preamble (cairo_test_context_t *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/mask-transformed-image.c:36,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/mask-transformed-image.c:38,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/mask-transformed-image.c:40,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/mask-transformed-image.c:41,1
    - Dst: cairo_create
      Src: /src/cairo/test/mask-transformed-image.c:37,1
    - Dst: cairo_fill
      Src: /src/cairo/test/mask-transformed-image.c:42,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/test/mask-transformed-image.c:44,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/mask-transformed-image.c:44,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/mask-transformed-image.c:45,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 48
    functionName: create_mask
    functionSourceFile: /src/cairo/test/mask-transformed-image.c
    functionUses: []
    functionsReached:
    - cairo_surface_reference
    - cairo_create
    - cairo_surface_destroy
    - cairo_image_surface_create
    - cairo_set_operator
    - cairo_fill
    - cairo_get_target
    - cairo_destroy
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *create_mask (cairo_t *dst, int width, int
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/mask-transformed-image.c:53,1
    - Dst: cairo_translate
      Src: /src/cairo/test/mask-transformed-image.c:63,1
    - Dst: create_mask
      Src: /src/cairo/test/mask-transformed-image.c:57,1
    - Dst: cairo_test_create_surface_from_png
      Src: /src/cairo/test/mask-transformed-image.c:56,1
    - Dst: cairo_paint
      Src: /src/cairo/test/mask-transformed-image.c:60,1
    - Dst: cairo_image_surface_get_width
      Src: /src/cairo/test/mask-transformed-image.c:64,1
    - Dst: cairo_image_surface_get_height
      Src: /src/cairo/test/mask-transformed-image.c:65,1
    - Dst: cairo_translate
      Src: /src/cairo/test/mask-transformed-image.c:68,1
    - Dst: cairo_rotate
      Src: /src/cairo/test/mask-transformed-image.c:69,1
    - Dst: cairo_translate
      Src: /src/cairo/test/mask-transformed-image.c:70,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/mask-transformed-image.c:73,1
    - Dst: cairo_identity_matrix
      Src: /src/cairo/test/mask-transformed-image.c:76,1
    - Dst: cairo_scale
      Src: /src/cairo/test/mask-transformed-image.c:79,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/mask-transformed-image.c:85,1
    - Dst: cairo_mask_surface
      Src: /src/cairo/test/mask-transformed-image.c:82,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/mask-transformed-image.c:84,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 88
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 88
    functionName: draw
    functionSourceFile: /src/cairo/test/mask-transformed-image.c
    functionUses: []
    functionsReached:
    - cairo_test_create_surface_from_png
    - cairo_paint
    - cairo_mask_surface
    - cairo_test_get_context
    - create_mask
    - cairo_image_surface_get_height
    - cairo_surface_destroy
    - cairo_scale
    - cairo_rotate
    - cairo_translate
    - cairo_image_surface_get_width
    - cairo_set_source_surface
    - cairo_identity_matrix
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/push-group-color.c:43,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/push-group-color.c:47,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/push-group-color.c:48,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/push-group-color.c:45,1
    - Dst: cairo_create
      Src: /src/cairo/test/push-group-color.c:44,1
    - Dst: cairo_fill
      Src: /src/cairo/test/push-group-color.c:49,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/push-group-color.c:51,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/push-group-color.c:52,1
    - Dst: cairo_fill
      Src: /src/cairo/test/push-group-color.c:53,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/push-group-color.c:55,1
    - Dst: cairo_fill
      Src: /src/cairo/test/push-group-color.c:57,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/push-group-color.c:60,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/push-group-color.c:59,1
    - Dst: cairo_pattern_create_for_surface
      Src: /src/cairo/test/push-group-color.c:59,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/push-group-color.c:56,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 63
    functionName: argb32_source
    functionSourceFile: /src/cairo/test/push-group-color.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_for_surface
    - cairo_create
    - cairo_surface_destroy
    - cairo_image_surface_create
    - cairo_get_target
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_destroy
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_pattern_t*
    signature: 'static cairo_pattern_t *argb32_source (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/push-group-color.c:70,1
    - Dst: cairo_clip
      Src: /src/cairo/test/push-group-color.c:78,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/push-group-color.c:83,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/push-group-color.c:84,1
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/test/push-group-color.c:95,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/push-group-color.c:99,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/push-group-color.c:100,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/push-group-color.c:107,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/push-group-color.c:109,1
    - Dst: cairo_fill
      Src: /src/cairo/test/push-group-color.c:119,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/push-group-color.c:80,1
    - Dst: cairo_translate
      Src: /src/cairo/test/push-group-color.c:91,1
    - Dst: cairo_save
      Src: /src/cairo/test/push-group-color.c:90,1
    - Dst: cairo_fill
      Src: /src/cairo/test/push-group-color.c:101,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/push-group-color.c:110,1
    - Dst: cairo_arc
      Src: /src/cairo/test/push-group-color.c:114,1
    - Dst: argb32_source
      Src: /src/cairo/test/push-group-color.c:123,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/push-group-color.c:124,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/push-group-color.c:125,1
    - Dst: cairo_paint
      Src: /src/cairo/test/push-group-color.c:71,1
    - Dst: cairo_translate
      Src: /src/cairo/test/push-group-color.c:73,1
    - Dst: cairo_push_group_with_content
      Src: /src/cairo/test/push-group-color.c:87,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/push-group-color.c:97,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/push-group-color.c:93,1
    - Dst: cairo_restore
      Src: /src/cairo/test/push-group-color.c:102,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/push-group-color.c:106,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/push-group-color.c:108,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/push-group-color.c:118,1
    - Dst: cairo_paint
      Src: /src/cairo/test/push-group-color.c:126,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/push-group-color.c:129,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/push-group-color.c:76,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/push-group-color.c:82,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/push-group-color.c:98,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/push-group-color.c:92,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/push-group-color.c:105,1
    - Dst: cairo_fill
      Src: /src/cairo/test/push-group-color.c:111,1
    - Dst: cairo_translate
      Src: /src/cairo/test/push-group-color.c:122,1
    - Dst: cairo_pop_group_to_source
      Src: /src/cairo/test/push-group-color.c:128,1
    - Dst: cairo_paint
      Src: /src/cairo/test/push-group-color.c:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 64
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 133
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 133
    functionName: draw
    functionSourceFile: /src/cairo/test/push-group-color.c
    functionUses: []
    functionsReached:
    - cairo_push_group_with_content
    - cairo_set_line_width
    - cairo_pop_group_to_source
    - argb32_source
    - cairo_close_path
    - cairo_set_source
    - cairo_pattern_add_color_stop_rgba
    - cairo_translate
    - cairo_rectangle
    - cairo_set_source_rgba
    - cairo_pattern_create_linear
    - cairo_save
    - cairo_clip
    - cairo_line_to
    - cairo_arc
    - cairo_stroke
    - cairo_restore
    - cairo_set_operator
    - cairo_fill
    - cairo_pattern_destroy
    - cairo_paint
    - cairo_new_path
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_font_face_get_user_data
      Src: /src/cairo/test/user-font-mask.c:85,1
    - Dst: cairo_scaled_font_get_font_face
      Src: /src/cairo/test/user-font-mask.c:85,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - scaled_font
    - unicode
    - glyph
    argTypes:
    - cairo_scaled_font_t*
    - unsigned long
    - unsigned long*
    constantsTouched: []
    func_position:
      end: 97
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 97
    functionName: test_scaled_font_unicode_to_glyph
    functionSourceFile: /src/cairo/test/user-font-mask.c
    functionUses: []
    functionsReached:
    - cairo_scaled_font_get_font_face
    - cairo_font_face_get_user_data
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t test_scaled_font_unicode_to_glyph (cairo_scaled_font_t\
      \ *scaled_font,\t\t\t\t unsigned long unicode,\t\t\t\t unsigned long *glyph) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_user_font_face_create
      Src: /src/cairo/test/user-font-mask.c:161,1
    - Dst: cairo_user_font_face_set_init_func
      Src: /src/cairo/test/user-font-mask.c:162,1
    - Dst: cairo_user_font_face_set_unicode_to_glyph_func
      Src: /src/cairo/test/user-font-mask.c:164,1
    - Dst: cairo_user_font_face_set_render_glyph_func
      Src: /src/cairo/test/user-font-mask.c:163,1
    - Dst: cairo_font_face_set_user_data
      Src: /src/cairo/test/user-font-mask.c:166,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/user-font-mask.c:170,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - out
    argTypes:
    - cairo_font_face_t**
    constantsTouched: []
    func_position:
      end: 176
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 176
    functionName: _user_font_face_create
    functionSourceFile: /src/cairo/test/user-font-mask.c
    functionUses: []
    functionsReached:
    - cairo_font_face_set_user_data
    - cairo_font_face_destroy
    - cairo_user_font_face_create
    - cairo_user_font_face_set_init_func
    - cairo_user_font_face_set_render_glyph_func
    - cairo_user_font_face_set_unicode_to_glyph_func
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _user_font_face_create (cairo_font_face_t **out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - scaled_font
    - cr
    - metrics
    argTypes:
    - cairo_scaled_font_t*
    - cairo_t*
    - cairo_font_extents_t*
    constantsTouched: []
    func_position:
      end: 78
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 78
    functionName: test_scaled_font_init
    functionSourceFile: /src/cairo/test/user-font-mask.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t test_scaled_font_init (cairo_scaled_font_t *scaled_font,\t\
      \t cairo_t *cr,\t\t cairo_font_extents_t *metrics) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_rotate
      Src: /src/cairo/test/user-font-mask.c:192,1
    - Dst: _user_font_face_create
      Src: /src/cairo/test/user-font-mask.c:195,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/user-font-mask.c:204,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/user-font-mask.c:221,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/user-font-mask.c:222,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/user-font-mask.c:225,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/user-font-mask.c:240,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/user-font-mask.c:187,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/user-font-mask.c:216,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/user-font-mask.c:214,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/user-font-mask.c:215,1
    - Dst: cairo_font_extents
      Src: /src/cairo/test/user-font-mask.c:206,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/user-font-mask.c:217,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/user-font-mask.c:234,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/user-font-mask.c:239,1
    - Dst: cairo_text_path
      Src: /src/cairo/test/user-font-mask.c:241,1
    - Dst: cairo_fill
      Src: /src/cairo/test/user-font-mask.c:242,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/user-font-mask.c:197,1
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/user-font-mask.c:197,1
    - Dst: cairo_set_font_face
      Src: /src/cairo/test/user-font-mask.c:201,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/user-font-mask.c:202,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/user-font-mask.c:211,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/user-font-mask.c:218,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/user-font-mask.c:219,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/user-font-mask.c:228,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/user-font-mask.c:235,1
    - Dst: cairo_paint
      Src: /src/cairo/test/user-font-mask.c:188,1
    - Dst: cairo_translate
      Src: /src/cairo/test/user-font-mask.c:191,1
    - Dst: cairo_text_extents
      Src: /src/cairo/test/user-font-mask.c:207,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/user-font-mask.c:210,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/user-font-mask.c:212,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/user-font-mask.c:213,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/user-font-mask.c:220,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/user-font-mask.c:229,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/user-font-mask.c:230,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/user-font-mask.c:233,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 55
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 245
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 245
    functionName: draw
    functionSourceFile: /src/cairo/test/user-font-mask.c
    functionUses: []
    functionsReached:
    - cairo_set_line_width
    - _user_font_face_create
    - cairo_text_path
    - cairo_translate
    - cairo_rectangle
    - cairo_show_text
    - cairo_test_get_context
    - cairo_test_status_from_status
    - cairo_font_face_destroy
    - cairo_font_extents
    - cairo_rel_line_to
    - cairo_stroke
    - cairo_fill
    - cairo_rotate
    - cairo_text_extents
    - cairo_paint
    - cairo_set_font_face
    - cairo_set_font_size
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_scaled_font_get_font_face
      Src: /src/cairo/test/user-font-mask.c:105,1
    - Dst: CAIRO_BITSWAP8_IF_LITTLE_ENDIAN
      Src: /src/cairo/test/user-font-mask.c:125,1
    - Dst: cairo_image_surface_get_stride
      Src: /src/cairo/test/user-font-mask.c:126,1
    - Dst: cairo_pattern_create_for_surface
      Src: /src/cairo/test/user-font-mask.c:130,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/user-font-mask.c:139,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/user-font-mask.c:119,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/user-font-mask.c:118,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/user-font-mask.c:120,1
    - Dst: cairo_surface_mark_dirty
      Src: /src/cairo/test/user-font-mask.c:128,1
    - Dst: cairo_matrix_init_identity
      Src: /src/cairo/test/user-font-mask.c:133,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/test/user-font-mask.c:136,1
    - Dst: cairo_font_face_get_user_data
      Src: /src/cairo/test/user-font-mask.c:105,1
    - Dst: cairo_image_surface_get_data
      Src: /src/cairo/test/user-font-mask.c:122,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/user-font-mask.c:141,1
    - Dst: cairo_mask
      Src: /src/cairo/test/user-font-mask.c:140,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/test/user-font-mask.c:135,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/test/user-font-mask.c:134,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/user-font-mask.c:131,1
    - Dst: cairo_pattern_set_matrix
      Src: /src/cairo/test/user-font-mask.c:137,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 4
    argNames:
    - scaled_font
    - glyph
    - cr
    - metrics
    argTypes:
    - cairo_scaled_font_t*
    - unsigned long
    - cairo_t*
    - cairo_text_extents_t*
    constantsTouched: []
    func_position:
      end: 144
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 144
    functionName: test_scaled_font_render_glyph
    functionSourceFile: /src/cairo/test/user-font-mask.c
    functionUses: []
    functionsReached:
    - CAIRO_BITSWAP8_IF_LITTLE_ENDIAN
    - cairo_pattern_create_for_surface
    - cairo_image_surface_get_data
    - cairo_matrix_scale
    - cairo_surface_mark_dirty
    - cairo_matrix_translate
    - cairo_surface_status
    - cairo_pattern_set_matrix
    - cairo_surface_destroy
    - cairo_set_source
    - cairo_mask
    - cairo_image_surface_create
    - cairo_matrix_init_identity
    - cairo_font_face_get_user_data
    - cairo_scaled_font_get_font_face
    - cairo_image_surface_get_stride
    - cairo_matrix_invert
    - cairo_pattern_destroy
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t test_scaled_font_render_glyph (cairo_scaled_font_t\
      \ *scaled_font,\t\t\t unsigned long glyph,\t\t\t cairo_t *cr,\t\t\t cairo_text_extents_t\
      \ *metrics) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/ft-svg-cairo-logo.c:44,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/ft-svg-cairo-logo.c:46,1
    - Dst: cairo_test_ft_select_font_from_file
      Src: /src/cairo/test/ft-svg-cairo-logo.c:48,1
    - Dst: cairo_paint
      Src: /src/cairo/test/ft-svg-cairo-logo.c:45,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/ft-svg-cairo-logo.c:52,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/ft-svg-cairo-logo.c:53,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/ft-svg-cairo-logo.c:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 58
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 58
    functionName: draw
    functionSourceFile: /src/cairo/test/ft-svg-cairo-logo.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_show_text
    - cairo_set_font_size
    - cairo_test_ft_select_font_from_file
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/mask.c:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - cr
    - x
    - y
    argTypes:
    - cairo_test_context_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: set_solid_pattern
    functionSourceFile: /src/cairo/test/mask.c
    functionUses: []
    functionsReached:
    - cairo_set_source_rgb
    linkageType: ''
    returnType: void
    signature: 'static void set_solid_pattern (const cairo_test_context_t *ctx, cairo_t
      *cr, int x, int y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/test/mask.c:55,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/mask.c:59,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/mask.c:57,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/mask.c:56,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/mask.c:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - cr
    - x
    - y
    argTypes:
    - cairo_test_context_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: set_gradient_pattern
    functionSourceFile: /src/cairo/test/mask.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_linear
    - cairo_set_source
    - cairo_pattern_destroy
    - cairo_pattern_add_color_stop_rgba
    linkageType: ''
    returnType: void
    signature: 'static void set_gradient_pattern (const cairo_test_context_t *ctx,
      cairo_t *cr, int x, int y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/mask.c:84,1
    - Dst: cairo_create
      Src: /src/cairo/test/mask.c:87,1
    - Dst: cairo_fill
      Src: /src/cairo/test/mask.c:105,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/mask.c:88,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/mask.c:91,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/mask.c:97,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/mask.c:98,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/mask.c:99,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/mask.c:103,1
    - Dst: cairo_mask_surface
      Src: /src/cairo/test/mask.c:107,1
    - Dst: cairo_get_group_target
      Src: /src/cairo/test/mask.c:84,1
    - Dst: cairo_save
      Src: /src/cairo/test/mask.c:90,1
    - Dst: cairo_paint
      Src: /src/cairo/test/mask.c:92,1
    - Dst: cairo_restore
      Src: /src/cairo/test/mask.c:93,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/mask.c:95,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/mask.c:101,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/mask.c:102,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/mask.c:104,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/mask.c:100,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/mask.c:107,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/mask.c:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 3
    argNames:
    - cr
    - x
    - y
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 109
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 109
    functionName: mask_polygon
    functionSourceFile: /src/cairo/test/mask.c
    functionUses: []
    functionsReached:
    - cairo_get_group_target
    - cairo_paint
    - cairo_mask_surface
    - cairo_new_path
    - cairo_destroy
    - cairo_line_to
    - cairo_create
    - cairo_save
    - cairo_surface_destroy
    - cairo_close_path
    - cairo_restore
    - cairo_set_operator
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_get_target
    - cairo_surface_create_similar
    - cairo_move_to
    linkageType: ''
    returnType: void
    signature: 'static void mask_polygon (cairo_t *cr, int x, int y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/test/mask.c:122,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/mask.c:125,1
    - Dst: cairo_mask
      Src: /src/cairo/test/mask.c:132,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/mask.c:128,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/mask.c:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - cr
    - x
    - y
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 135
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 135
    functionName: mask_gradient
    functionSourceFile: /src/cairo/test/mask.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_linear
    - cairo_mask
    - cairo_pattern_add_color_stop_rgba
    - cairo_pattern_destroy
    linkageType: ''
    returnType: void
    signature: 'static void mask_gradient (cairo_t *cr, int x, int y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_new_path
      Src: /src/cairo/test/mask.c:147,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/mask.c:148,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/mask.c:149,1
    - Dst: cairo_clip
      Src: /src/cairo/test/mask.c:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - cr
    - x
    - y
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 151
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 151
    functionName: clip_rects
    functionSourceFile: /src/cairo/test/mask.c
    functionUses: []
    functionsReached:
    - cairo_clip
    - cairo_new_path
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void clip_rects (cairo_t *cr, int x, int y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/mask.c:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - cr
    - x
    - y
    argTypes:
    - cairo_test_context_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: set_translucent_pattern
    functionSourceFile: /src/cairo/test/mask.c
    functionUses: []
    functionsReached:
    - cairo_set_source_rgba
    linkageType: ''
    returnType: void
    signature: 'static void set_translucent_pattern (const cairo_test_context_t *ctx,
      cairo_t *cr, int x, int y) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_status
      Src: /src/cairo/test/mask.c:67,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/mask.c:73,1
    - Dst: cairo_test_create_surface_from_png
      Src: /src/cairo/test/mask.c:69,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/mask.c:68,1
    - Dst: cairo_pattern_create_for_surface
      Src: /src/cairo/test/mask.c:72,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/mask.c:74,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/mask.c:75,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - ctx
    - cr
    - x
    - y
    argTypes:
    - cairo_test_context_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 76
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 76
    functionName: set_image_pattern
    functionSourceFile: /src/cairo/test/mask.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_for_surface
    - cairo_test_create_surface_from_png
    - cairo_surface_status
    - cairo_surface_destroy
    - cairo_pattern_set_extend
    - cairo_set_source
    - cairo_pattern_destroy
    linkageType: ''
    returnType: void
    signature: 'static void set_image_pattern (const cairo_test_context_t *ctx, cairo_t
      *cr, int x, int y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_paint_with_alpha
      Src: /src/cairo/test/mask.c:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - x
    - y
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: mask_alpha
    functionSourceFile: /src/cairo/test/mask.c
    functionUses: []
    functionsReached:
    - cairo_paint_with_alpha
    linkageType: ''
    returnType: void
    signature: 'static void mask_alpha (cairo_t *cr, int x, int y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 3
    argNames:
    - cr
    - x
    - y
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: clip_none
    functionSourceFile: /src/cairo/test/mask.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void clip_none (cairo_t *cr, int x, int y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_new_path
      Src: /src/cairo/test/mask.c:156,1
    - Dst: cairo_clip
      Src: /src/cairo/test/mask.c:159,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/mask.c:160,1
    - Dst: cairo_arc
      Src: /src/cairo/test/mask.c:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - cr
    - x
    - y
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 161
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 161
    functionName: clip_circle
    functionSourceFile: /src/cairo/test/mask.c
    functionUses: []
    functionsReached:
    - cairo_arc
    - cairo_clip
    - cairo_new_path
    linkageType: ''
    returnType: void
    signature: 'static void clip_circle (cairo_t *cr, int x, int y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/mask.c:200,1
    - Dst: cairo_get_group_target
      Src: /src/cairo/test/mask.c:196,1
    - Dst: cairo_save
      Src: /src/cairo/test/mask.c:215,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/mask.c:224,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/mask.c:233,1
    - Dst: cairo_save
      Src: /src/cairo/test/mask.c:209,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/mask.c:224,1
    - Dst: cairo_fill
      Src: /src/cairo/test/mask.c:226,1
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/mask.c:188,1
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/mask.c:196,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/mask.c:202,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/mask.c:203,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/mask.c:206,1
    - Dst: cairo_paint
      Src: /src/cairo/test/mask.c:211,1
    - Dst: cairo_create
      Src: /src/cairo/test/mask.c:199,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/mask.c:204,1
    - Dst: cairo_restore
      Src: /src/cairo/test/mask.c:221,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/mask.c:210,1
    - Dst: cairo_restore
      Src: /src/cairo/test/mask.c:212,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/mask.c:225,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/mask.c:231,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 45
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 237
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 237
    functionName: draw
    functionSourceFile: /src/cairo/test/mask.c
    functionUses: []
    functionsReached:
    - cairo_get_group_target
    - cairo_paint
    - cairo_test_get_context
    - ARRAY_LENGTH
    - cairo_create
    - cairo_save
    - cairo_surface_destroy
    - cairo_restore
    - cairo_set_operator
    - cairo_get_target
    - cairo_fill
    - cairo_destroy
    - cairo_surface_create_similar
    - cairo_set_source_surface
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - scaled_font
    - cr
    - metrics
    argTypes:
    - cairo_scaled_font_t*
    - cairo_t*
    - cairo_font_extents_t*
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: test_scaled_font_init
    functionSourceFile: /src/cairo/test/user-font.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t test_scaled_font_init (cairo_scaled_font_t *scaled_font,\t\
      \t cairo_t *cr,\t\t cairo_font_extents_t *metrics) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/user-font.c:208,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/user-font.c:209,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/user-font.c:217,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/user-font.c:216,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/user-font.c:215,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/user-font.c:218,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/user-font.c:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 220
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 220
    functionName: draw_line
    functionSourceFile: /src/cairo/test/user-font.c
    functionUses: []
    functionsReached:
    - cairo_show_text
    - cairo_set_source_rgb
    linkageType: ''
    returnType: void
    signature: 'static void draw_line (cairo_t *cr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_user_font_face_create
      Src: /src/cairo/test/user-font.c:183,1
    - Dst: cairo_user_font_face_set_init_func
      Src: /src/cairo/test/user-font.c:184,1
    - Dst: cairo_user_font_face_set_render_color_glyph_func
      Src: /src/cairo/test/user-font.c:186,1
    - Dst: cairo_user_font_face_set_render_glyph_func
      Src: /src/cairo/test/user-font.c:188,1
    - Dst: cairo_user_font_face_set_unicode_to_glyph_func
      Src: /src/cairo/test/user-font.c:190,1
    - Dst: cairo_font_face_set_user_data
      Src: /src/cairo/test/user-font.c:192,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/user-font.c:196,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - out
    - color_render
    argTypes:
    - cairo_font_face_t**
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 202
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 202
    functionName: _user_font_face_create
    functionSourceFile: /src/cairo/test/user-font.c
    functionUses: []
    functionsReached:
    - cairo_font_face_set_user_data
    - cairo_font_face_destroy
    - cairo_user_font_face_create
    - cairo_user_font_face_set_init_func
    - cairo_user_font_face_set_render_glyph_func
    - cairo_user_font_face_set_render_color_glyph_func
    - cairo_user_font_face_set_unicode_to_glyph_func
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _user_font_face_create (cairo_font_face_t **out,
      cairo_bool_t color_render) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_font_face_get_user_data
      Src: /src/cairo/test/user-font.c:82,1
    - Dst: cairo_scaled_font_get_font_face
      Src: /src/cairo/test/user-font.c:82,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - scaled_font
    - unicode
    - glyph
    argTypes:
    - cairo_scaled_font_t*
    - unsigned long
    - unsigned long*
    constantsTouched: []
    func_position:
      end: 94
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 94
    functionName: test_scaled_font_unicode_to_glyph
    functionSourceFile: /src/cairo/test/user-font.c
    functionUses: []
    functionsReached:
    - cairo_scaled_font_get_font_face
    - cairo_font_face_get_user_data
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t test_scaled_font_unicode_to_glyph (cairo_scaled_font_t\
      \ *scaled_font,\t\t\t\t unsigned long unicode,\t\t\t\t unsigned long *glyph) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcat
      Src: /src/cairo/test/user-font.c:233,1
    - Dst: cairo_paint
      Src: /src/cairo/test/user-font.c:237,1
    - Dst: cairo_translate
      Src: /src/cairo/test/user-font.c:240,1
    - Dst: cairo_text_extents
      Src: /src/cairo/test/user-font.c:256,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/user-font.c:259,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/user-font.c:263,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/user-font.c:264,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/user-font.c:265,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/user-font.c:266,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/user-font.c:271,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/user-font.c:292,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/user-font.c:299,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/user-font.c:301,1
    - Dst: cairo_set_font_face
      Src: /src/cairo/test/user-font.c:296,1
    - Dst: strcat
      Src: /src/cairo/test/user-font.c:234,1
    - Dst: _user_font_face_create
      Src: /src/cairo/test/user-font.c:244,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/user-font.c:253,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/user-font.c:274,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/user-font.c:306,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/user-font.c:277,1
    - Dst: cairo_text_path
      Src: /src/cairo/test/user-font.c:307,1
    - Dst: draw_line
      Src: /src/cairo/test/user-font.c:283,1
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/user-font.c:292,1
    - Dst: strcpy
      Src: /src/cairo/test/user-font.c:231,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/user-font.c:236,1
    - Dst: cairo_font_extents
      Src: /src/cairo/test/user-font.c:255,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/user-font.c:261,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/user-font.c:262,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/user-font.c:269,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/user-font.c:278,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/user-font.c:279,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/user-font.c:282,1
    - Dst: _user_font_face_create
      Src: /src/cairo/test/user-font.c:290,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/user-font.c:297,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/user-font.c:305,1
    - Dst: strcat
      Src: /src/cairo/test/user-font.c:232,1
    - Dst: cairo_rotate
      Src: /src/cairo/test/user-font.c:241,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/user-font.c:246,1
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/user-font.c:246,1
    - Dst: cairo_set_font_face
      Src: /src/cairo/test/user-font.c:250,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/user-font.c:260,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/user-font.c:251,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/user-font.c:267,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/user-font.c:268,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/user-font.c:270,1
    - Dst: cairo_fill
      Src: /src/cairo/test/user-font.c:308,1
    - Dst: draw_line
      Src: /src/cairo/test/user-font.c:302,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 73
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 311
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 311
    functionName: draw
    functionSourceFile: /src/cairo/test/user-font.c
    functionUses: []
    functionsReached:
    - cairo_set_line_width
    - _user_font_face_create
    - cairo_text_path
    - cairo_translate
    - cairo_rectangle
    - strcat
    - draw_line
    - cairo_test_get_context
    - cairo_test_status_from_status
    - cairo_font_face_destroy
    - cairo_font_extents
    - cairo_rel_line_to
    - strcpy
    - cairo_stroke
    - cairo_fill
    - cairo_rotate
    - cairo_text_extents
    - cairo_paint
    - cairo_set_font_face
    - cairo_set_font_size
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cairo_font_face_get_user_data
      Src: /src/cairo/test/user-font.c:102,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/user-font.c:115,1
    - Dst: cairo_scaled_font_get_font_face
      Src: /src/cairo/test/user-font.c:102,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/user-font.c:114,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/user-font.c:113,1
    - Dst: cairo_new_sub_path
      Src: /src/cairo/test/user-font.c:121,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/user-font.c:125,1
    - Dst: div
      Src: /src/cairo/test/user-font.c:129,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/user-font.c:132,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/user-font.c:135,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 4
    argNames:
    - scaled_font
    - glyph
    - cr
    - metrics
    argTypes:
    - cairo_scaled_font_t*
    - unsigned long
    - cairo_t*
    - cairo_text_extents_t*
    constantsTouched: []
    func_position:
      end: 138
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 138
    functionName: test_scaled_font_render_glyph
    functionSourceFile: /src/cairo/test/user-font.c
    functionUses: []
    functionsReached:
    - div
    - cairo_set_line_width
    - cairo_line_to
    - cairo_close_path
    - cairo_set_line_join
    - cairo_stroke
    - cairo_set_line_cap
    - cairo_font_face_get_user_data
    - cairo_new_sub_path
    - cairo_scaled_font_get_font_face
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t test_scaled_font_render_glyph (cairo_scaled_font_t\
      \ *scaled_font,\t\t\t unsigned long glyph,\t\t\t cairo_t *cr,\t\t\t cairo_text_extents_t\
      \ *metrics) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_move_to
      Src: /src/cairo/test/big-little-triangle.c:42,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/big-little-triangle.c:45,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/big-little-triangle.c:44,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/big-little-triangle.c:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - cr
    - x
    - y
    - h
    argTypes:
    - cairo_t*
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: triangle
    functionSourceFile: /src/cairo/test/big-little-triangle.c
    functionUses: []
    functionsReached:
    - cairo_line_to
    - cairo_move_to
    - cairo_close_path
    linkageType: ''
    returnType: void
    signature: 'static void triangle (cairo_t *cr, double x, double y, double h) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/big-little-triangle.c:51,1
    - Dst: cairo_paint
      Src: /src/cairo/test/big-little-triangle.c:52,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/big-little-triangle.c:57,1
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/test/big-little-triangle.c:61,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/big-little-triangle.c:58,1
    - Dst: triangle
      Src: /src/cairo/test/big-little-triangle.c:62,1
    - Dst: triangle
      Src: /src/cairo/test/big-little-triangle.c:63,1
    - Dst: triangle
      Src: /src/cairo/test/big-little-triangle.c:64,1
    - Dst: cairo_fill
      Src: /src/cairo/test/big-little-triangle.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 68
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 68
    functionName: draw
    functionSourceFile: /src/cairo/test/big-little-triangle.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - triangle
    - cairo_set_operator
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_set_fill_rule
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/sample.c:45,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/sample.c:48,1
    - Dst: cairo_paint
      Src: /src/cairo/test/sample.c:46,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/sample.c:50,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/sample.c:51,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/sample.c:53,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/sample.c:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 57
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 57
    functionName: vertical
    functionSourceFile: /src/cairo/test/sample.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgba
    - cairo_set_line_width
    - cairo_rel_line_to
    - cairo_stroke
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t vertical (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/sample.c:64,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/sample.c:67,1
    - Dst: cairo_paint
      Src: /src/cairo/test/sample.c:65,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/sample.c:69,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/sample.c:70,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/sample.c:72,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/sample.c:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 76
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 76
    functionName: horizontal
    functionSourceFile: /src/cairo/test/sample.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgba
    - cairo_set_line_width
    - cairo_rel_line_to
    - cairo_stroke
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t horizontal (cairo_t *cr, int width, int
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/sample.c:83,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/sample.c:86,1
    - Dst: cairo_paint
      Src: /src/cairo/test/sample.c:84,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/sample.c:89,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/sample.c:88,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/sample.c:91,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/sample.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 95
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 95
    functionName: diagonal
    functionSourceFile: /src/cairo/test/sample.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgba
    - cairo_set_line_width
    - cairo_rel_line_to
    - cairo_stroke
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t diagonal (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_arc
      Src: /src/cairo/test/tighten-bounds.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - cr
    - size
    argTypes:
    - cairo_t*
    - int
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: path_circle
    functionSourceFile: /src/cairo/test/tighten-bounds.c
    functionUses: []
    functionsReached:
    - cairo_arc
    linkageType: ''
    returnType: void
    signature: 'static void path_circle (cairo_t *cr, int size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_rectangle
      Src: /src/cairo/test/tighten-bounds.c:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - cr
    - size
    argTypes:
    - cairo_t*
    - int
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: path_box_unaligned
    functionSourceFile: /src/cairo/test/tighten-bounds.c
    functionUses: []
    functionsReached:
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void path_box_unaligned (cairo_t *cr, int size) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/test/tighten-bounds.c:102,1
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/test/tighten-bounds.c:105,1
    - Dst: cairo_save
      Src: /src/cairo/test/tighten-bounds.c:112,1
    - Dst: cairo_translate
      Src: /src/cairo/test/tighten-bounds.c:113,1
    - Dst: cairo_restore
      Src: /src/cairo/test/tighten-bounds.c:115,1
    - Dst: cairo_clip
      Src: /src/cairo/test/tighten-bounds.c:117,1
    - Dst: cairo_translate
      Src: /src/cairo/test/tighten-bounds.c:125,1
    - Dst: cairo_fill
      Src: /src/cairo/test/tighten-bounds.c:129,1
    - Dst: cairo_save
      Src: /src/cairo/test/tighten-bounds.c:124,1
    - Dst: cairo_restore
      Src: /src/cairo/test/tighten-bounds.c:130,1
    - Dst: cairo_restore
      Src: /src/cairo/test/tighten-bounds.c:127,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 4
    argNames:
    - cr
    - i
    - j
    - type
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 131
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 131
    functionName: draw_idx
    functionSourceFile: /src/cairo/test/tighten-bounds.c
    functionUses: []
    functionsReached:
    - cairo_save
    - cairo_restore
    - cairo_fill
    - cairo_translate
    - cairo_set_fill_rule
    - cairo_clip
    linkageType: ''
    returnType: void
    signature: 'static void draw_idx (cairo_t *cr, int i, int j, int type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - cr
    - size
    argTypes:
    - cairo_t*
    - int
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: path_none
    functionSourceFile: /src/cairo/test/tighten-bounds.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void path_none (cairo_t *cr, int size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_move_to
      Src: /src/cairo/test/tighten-bounds.c:44,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/tighten-bounds.c:45,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/tighten-bounds.c:47,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/tighten-bounds.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - cr
    - size
    argTypes:
    - cairo_t*
    - int
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: path_triangle
    functionSourceFile: /src/cairo/test/tighten-bounds.c
    functionUses: []
    functionsReached:
    - cairo_line_to
    - cairo_move_to
    - cairo_close_path
    linkageType: ''
    returnType: void
    signature: 'static void path_triangle (cairo_t *cr, int size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_rectangle
      Src: /src/cairo/test/tighten-bounds.c:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - cr
    - size
    argTypes:
    - cairo_t*
    - int
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: path_box
    functionSourceFile: /src/cairo/test/tighten-bounds.c
    functionUses: []
    functionsReached:
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void path_box (cairo_t *cr, int size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/tighten-bounds.c:138,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/tighten-bounds.c:144,1
    - Dst: cairo_paint
      Src: /src/cairo/test/tighten-bounds.c:139,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/tighten-bounds.c:147,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/tighten-bounds.c:145,1
    - Dst: cairo_save
      Src: /src/cairo/test/tighten-bounds.c:148,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/tighten-bounds.c:149,1
    - Dst: cairo_save
      Src: /src/cairo/test/tighten-bounds.c:151,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/tighten-bounds.c:152,1
    - Dst: cairo_clip
      Src: /src/cairo/test/tighten-bounds.c:153,1
    - Dst: cairo_translate
      Src: /src/cairo/test/tighten-bounds.c:160,1
    - Dst: draw_idx
      Src: /src/cairo/test/tighten-bounds.c:154,1
    - Dst: cairo_restore
      Src: /src/cairo/test/tighten-bounds.c:159,1
    - Dst: cairo_translate
      Src: /src/cairo/test/tighten-bounds.c:156,1
    - Dst: cairo_restore
      Src: /src/cairo/test/tighten-bounds.c:155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 164
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 164
    functionName: draw
    functionSourceFile: /src/cairo/test/tighten-bounds.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - ARRAY_LENGTH
    - cairo_save
    - cairo_restore
    - cairo_set_operator
    - cairo_set_source_rgb
    - cairo_translate
    - cairo_clip
    - draw_idx
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pattern_create_radial
      Src: /src/cairo/test/huge-radial.c:45,1
    - Dst: cairo_scale
      Src: /src/cairo/test/huge-radial.c:52,1
    - Dst: cairo_pattern_set_matrix
      Src: /src/cairo/test/huge-radial.c:50,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/huge-radial.c:49,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/huge-radial.c:47,1
    - Dst: cairo_translate
      Src: /src/cairo/test/huge-radial.c:53,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/huge-radial.c:55,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/huge-radial.c:56,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/huge-radial.c:57,1
    - Dst: cairo_fill
      Src: /src/cairo/test/huge-radial.c:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 61
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 61
    functionName: draw
    functionSourceFile: /src/cairo/test/huge-radial.c
    functionUses: []
    functionsReached:
    - cairo_pattern_set_matrix
    - cairo_set_source
    - cairo_scale
    - cairo_pattern_create_radial
    - cairo_pattern_add_color_stop_rgba
    - cairo_translate
    - cairo_fill
    - cairo_pattern_destroy
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_move_to
      Src: /src/cairo/test/clip-disjoint-quad.c:40,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-disjoint-quad.c:41,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/clip-disjoint-quad.c:44,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-disjoint-quad.c:42,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-disjoint-quad.c:43,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-disjoint-quad.c:46,1
    - Dst: cairo_fill
      Src: /src/cairo/test/clip-disjoint-quad.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 9
    argNames:
    - cr
    - x1
    - y1
    - x2
    - y2
    - x3
    - y3
    - x4
    - y4
    argTypes:
    - cairo_t*
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 48
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 48
    functionName: draw_quad
    functionSourceFile: /src/cairo/test/clip-disjoint-quad.c
    functionUses: []
    functionsReached:
    - cairo_line_to
    - cairo_close_path
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: void
    signature: "static void draw_quad (cairo_t *cr,\t double x1, double y1,\t double\
      \ x2, double y2,\t double x3, double y3,\t double x4, double y4) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-disjoint-quad.c:56,1
    - Dst: cairo_reset_clip
      Src: /src/cairo/test/clip-disjoint-quad.c:60,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-disjoint-quad.c:62,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-disjoint-quad.c:61,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-disjoint-quad.c:57,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-disjoint-quad.c:63,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/test/clip-disjoint-quad.c:64,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-disjoint-quad.c:65,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-disjoint-quad.c:67,1
    - Dst: draw_quad
      Src: /src/cairo/test/clip-disjoint-quad.c:68,1
    - Dst: cairo_fill
      Src: /src/cairo/test/clip-disjoint-quad.c:69,1
    - Dst: cairo_translate
      Src: /src/cairo/test/clip-disjoint-quad.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 75
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 75
    functionName: draw
    functionSourceFile: /src/cairo/test/clip-disjoint-quad.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - draw_quad
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_translate
    - cairo_clip
    - cairo_reset_clip
    - cairo_fill_preserve
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_status
      Src: /src/cairo/test/clip-nesting.c:38,1
    - Dst: cairo_append_path
      Src: /src/cairo/test/clip-nesting.c:42,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - cairo_t*
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 44
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 44
    functionName: _propagate_status
    functionSourceFile: /src/cairo/test/clip-nesting.c
    functionUses: []
    functionsReached:
    - cairo_status
    - cairo_append_path
    linkageType: ''
    returnType: void
    signature: 'static void _propagate_status (cairo_t *dst, cairo_t *src) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_get_group_target
      Src: /src/cairo/test/clip-nesting.c:52,1
    - Dst: cairo_create
      Src: /src/cairo/test/clip-nesting.c:78,1
    - Dst: _propagate_status
      Src: /src/cairo/test/clip-nesting.c:88,1
    - Dst: cairo_fill
      Src: /src/cairo/test/clip-nesting.c:97,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-nesting.c:61,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-nesting.c:65,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-nesting.c:80,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-nesting.c:94,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/clip-nesting.c:58,1
    - Dst: cairo_create
      Src: /src/cairo/test/clip-nesting.c:54,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-nesting.c:69,1
    - Dst: cairo_fill
      Src: /src/cairo/test/clip-nesting.c:73,1
    - Dst: cairo_fill
      Src: /src/cairo/test/clip-nesting.c:83,1
    - Dst: _propagate_status
      Src: /src/cairo/test/clip-nesting.c:85,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/clip-nesting.c:86,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/clip-nesting.c:89,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-nesting.c:93,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-nesting.c:59,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-nesting.c:60,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-nesting.c:63,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-nesting.c:64,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-nesting.c:79,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-nesting.c:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 44
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 101
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 101
    functionName: draw
    functionSourceFile: /src/cairo/test/clip-nesting.c
    functionUses: []
    functionsReached:
    - cairo_get_group_target
    - cairo_paint
    - cairo_line_to
    - _propagate_status
    - cairo_create
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_destroy
    - cairo_clip
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_rectangle
      Src: /src/cairo/test/reflected-stroke.c:32,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/reflected-stroke.c:35,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/reflected-stroke.c:36,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/reflected-stroke.c:37,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/reflected-stroke.c:33,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/reflected-stroke.c:38,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/reflected-stroke.c:39,1
    - Dst: cairo_save
      Src: /src/cairo/test/reflected-stroke.c:41,1
    - Dst: cairo_set_dash
      Src: /src/cairo/test/reflected-stroke.c:42,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/reflected-stroke.c:42,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/reflected-stroke.c:45,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/reflected-stroke.c:46,1
    - Dst: cairo_arc
      Src: /src/cairo/test/reflected-stroke.c:44,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/reflected-stroke.c:43,1
    - Dst: cairo_restore
      Src: /src/cairo/test/reflected-stroke.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 48
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 48
    functionName: draw_symbol
    functionSourceFile: /src/cairo/test/reflected-stroke.c
    functionUses: []
    functionsReached:
    - cairo_curve_to
    - cairo_arc
    - cairo_set_dash
    - ARRAY_LENGTH
    - cairo_save
    - cairo_close_path
    - cairo_stroke
    - cairo_restore
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void draw_symbol (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/test/reflected-stroke.c:58,1
    - Dst: cairo_translate
      Src: /src/cairo/test/reflected-stroke.c:59,1
    - Dst: draw_symbol
      Src: /src/cairo/test/reflected-stroke.c:67,1
    - Dst: draw_symbol
      Src: /src/cairo/test/reflected-stroke.c:79,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/reflected-stroke.c:53,1
    - Dst: cairo_scale
      Src: /src/cairo/test/reflected-stroke.c:60,1
    - Dst: cairo_save
      Src: /src/cairo/test/reflected-stroke.c:64,1
    - Dst: cairo_translate
      Src: /src/cairo/test/reflected-stroke.c:65,1
    - Dst: cairo_save
      Src: /src/cairo/test/reflected-stroke.c:76,1
    - Dst: cairo_translate
      Src: /src/cairo/test/reflected-stroke.c:77,1
    - Dst: cairo_paint
      Src: /src/cairo/test/reflected-stroke.c:54,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/reflected-stroke.c:56,1
    - Dst: cairo_restore
      Src: /src/cairo/test/reflected-stroke.c:62,1
    - Dst: cairo_translate
      Src: /src/cairo/test/reflected-stroke.c:71,1
    - Dst: cairo_restore
      Src: /src/cairo/test/reflected-stroke.c:74,1
    - Dst: cairo_scale
      Src: /src/cairo/test/reflected-stroke.c:66,1
    - Dst: cairo_save
      Src: /src/cairo/test/reflected-stroke.c:70,1
    - Dst: cairo_scale
      Src: /src/cairo/test/reflected-stroke.c:78,1
    - Dst: draw_symbol
      Src: /src/cairo/test/reflected-stroke.c:61,1
    - Dst: cairo_scale
      Src: /src/cairo/test/reflected-stroke.c:72,1
    - Dst: cairo_restore
      Src: /src/cairo/test/reflected-stroke.c:68,1
    - Dst: draw_symbol
      Src: /src/cairo/test/reflected-stroke.c:73,1
    - Dst: cairo_restore
      Src: /src/cairo/test/reflected-stroke.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 83
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 83
    functionName: draw
    functionSourceFile: /src/cairo/test/reflected-stroke.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgb
    - cairo_save
    - cairo_scale
    - cairo_restore
    - cairo_translate
    - draw_symbol
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/fill-degenerate-sort-order.c:42,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/fill-degenerate-sort-order.c:54,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/fill-degenerate-sort-order.c:49,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/fill-degenerate-sort-order.c:52,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/fill-degenerate-sort-order.c:53,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/fill-degenerate-sort-order.c:55,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/fill-degenerate-sort-order.c:57,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/fill-degenerate-sort-order.c:60,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/fill-degenerate-sort-order.c:61,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/fill-degenerate-sort-order.c:62,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/fill-degenerate-sort-order.c:65,1
    - Dst: cairo_fill
      Src: /src/cairo/test/fill-degenerate-sort-order.c:66,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/fill-degenerate-sort-order.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 69
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 69
    functionName: draw
    functionSourceFile: /src/cairo/test/fill-degenerate-sort-order.c
    functionUses: []
    functionsReached:
    - cairo_line_to
    - cairo_close_path
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/line-width-tolerance.c:43,1
    - Dst: cairo_paint
      Src: /src/cairo/test/line-width-tolerance.c:44,1
    - Dst: cairo_arc
      Src: /src/cairo/test/line-width-tolerance.c:54,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/line-width-tolerance.c:47,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/line-width-tolerance.c:53,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/line-width-tolerance.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 58
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 58
    functionName: draw
    functionSourceFile: /src/cairo/test/line-width-tolerance.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_line_width
    - cairo_arc
    - cairo_stroke
    - cairo_set_source_rgb
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/surface-pattern-big-scale-down.c:36,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/surface-pattern-big-scale-down.c:41,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/surface-pattern-big-scale-down.c:40,1
    - Dst: cairo_create
      Src: /src/cairo/test/surface-pattern-big-scale-down.c:37,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/surface-pattern-big-scale-down.c:38,1
    - Dst: cairo_fill
      Src: /src/cairo/test/surface-pattern-big-scale-down.c:42,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/surface-pattern-big-scale-down.c:44,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/surface-pattern-big-scale-down.c:45,1
    - Dst: cairo_fill
      Src: /src/cairo/test/surface-pattern-big-scale-down.c:46,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/surface-pattern-big-scale-down.c:48,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/surface-pattern-big-scale-down.c:49,1
    - Dst: cairo_fill
      Src: /src/cairo/test/surface-pattern-big-scale-down.c:54,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/surface-pattern-big-scale-down.c:57,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/surface-pattern-big-scale-down.c:56,1
    - Dst: cairo_fill
      Src: /src/cairo/test/surface-pattern-big-scale-down.c:50,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/surface-pattern-big-scale-down.c:53,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/surface-pattern-big-scale-down.c:52,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/test/surface-pattern-big-scale-down.c:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 60
    functionName: create_source_surface
    functionSourceFile: /src/cairo/test/surface-pattern-big-scale-down.c
    functionUses: []
    functionsReached:
    - cairo_surface_reference
    - cairo_create
    - cairo_surface_destroy
    - cairo_image_surface_create
    - cairo_get_target
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_destroy
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *create_source_surface (int w, int h) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_init_scale
      Src: /src/cairo/test/surface-pattern-big-scale-down.c:67,1
    - Dst: cairo_pattern_set_matrix
      Src: /src/cairo/test/surface-pattern-big-scale-down.c:69,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/test/surface-pattern-big-scale-down.c:68,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/surface-pattern-big-scale-down.c:71,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/surface-pattern-big-scale-down.c:72,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/surface-pattern-big-scale-down.c:73,1
    - Dst: cairo_fill
      Src: /src/cairo/test/surface-pattern-big-scale-down.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - cr
    - pat
    - dest_size
    - n
    argTypes:
    - cairo_t*
    - cairo_pattern_t*
    - double
    - int
    constantsTouched: []
    func_position:
      end: 75
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 75
    functionName: draw_n
    functionSourceFile: /src/cairo/test/surface-pattern-big-scale-down.c
    functionUses: []
    functionsReached:
    - cairo_new_path
    - cairo_matrix_translate
    - cairo_matrix_init_scale
    - cairo_pattern_set_matrix
    - cairo_set_source
    - cairo_fill
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void draw_n (cairo_t *cr, cairo_pattern_t *pat, double dest_size,
      int n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/surface-pattern-big-scale-down.c:83,1
    - Dst: cairo_paint
      Src: /src/cairo/test/surface-pattern-big-scale-down.c:84,1
    - Dst: create_source_surface
      Src: /src/cairo/test/surface-pattern-big-scale-down.c:86,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/surface-pattern-big-scale-down.c:89,1
    - Dst: cairo_pattern_create_for_surface
      Src: /src/cairo/test/surface-pattern-big-scale-down.c:88,1
    - Dst: draw_n
      Src: /src/cairo/test/surface-pattern-big-scale-down.c:102,1
    - Dst: draw_n
      Src: /src/cairo/test/surface-pattern-big-scale-down.c:105,1
    - Dst: draw_n
      Src: /src/cairo/test/surface-pattern-big-scale-down.c:110,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/surface-pattern-big-scale-down.c:114,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 117
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 117
    functionName: draw
    functionSourceFile: /src/cairo/test/surface-pattern-big-scale-down.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_for_surface
    - cairo_paint
    - cairo_surface_destroy
    - draw_n
    - cairo_set_source_rgb
    - create_source_surface
    - cairo_pattern_destroy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/extend-reflect.c:9,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/extend-reflect.c:13,1
    - Dst: cairo_test_create_surface_from_png
      Src: /src/cairo/test/extend-reflect.c:12,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/extend-reflect.c:14,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/extend-reflect.c:14,1
    - Dst: cairo_paint
      Src: /src/cairo/test/extend-reflect.c:16,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/extend-reflect.c:18,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 21
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 21
    functionName: draw
    functionSourceFile: /src/cairo/test/extend-reflect.c
    functionUses: []
    functionsReached:
    - cairo_test_create_surface_from_png
    - cairo_paint
    - cairo_test_get_context
    - cairo_get_source
    - cairo_surface_destroy
    - cairo_pattern_set_extend
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_rectangle
      Src: /src/cairo/test/self-intersecting.c:58,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/self-intersecting.c:60,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/self-intersecting.c:74,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/self-intersecting.c:71,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/self-intersecting.c:66,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/self-intersecting.c:54,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/self-intersecting.c:49,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/self-intersecting.c:59,1
    - Dst: cairo_fill
      Src: /src/cairo/test/self-intersecting.c:62,1
    - Dst: cairo_translate
      Src: /src/cairo/test/self-intersecting.c:65,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/self-intersecting.c:70,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/self-intersecting.c:69,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/self-intersecting.c:72,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/self-intersecting.c:75,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/self-intersecting.c:68,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/self-intersecting.c:67,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/self-intersecting.c:57,1
    - Dst: cairo_translate
      Src: /src/cairo/test/self-intersecting.c:52,1
    - Dst: cairo_paint
      Src: /src/cairo/test/self-intersecting.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 78
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 78
    functionName: draw
    functionSourceFile: /src/cairo/test/self-intersecting.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgb
    - cairo_set_line_width
    - cairo_rel_line_to
    - cairo_close_path
    - cairo_stroke
    - cairo_fill
    - cairo_translate
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_paint
      Src: /src/cairo/test/surface-pattern-scale-down-extend.c:39,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/surface-pattern-scale-down-extend.c:55,1
    - Dst: cairo_push_group_with_content
      Src: /src/cairo/test/surface-pattern-scale-down-extend.c:52,1
    - Dst: cairo_fill
      Src: /src/cairo/test/surface-pattern-scale-down-extend.c:57,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/surface-pattern-scale-down-extend.c:58,1
    - Dst: cairo_fill
      Src: /src/cairo/test/surface-pattern-scale-down-extend.c:60,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/surface-pattern-scale-down-extend.c:38,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/surface-pattern-scale-down-extend.c:49,1
    - Dst: cairo_pop_group
      Src: /src/cairo/test/surface-pattern-scale-down-extend.c:62,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/surface-pattern-scale-down-extend.c:71,1
    - Dst: cairo_save
      Src: /src/cairo/test/surface-pattern-scale-down-extend.c:41,1
    - Dst: cairo_clip
      Src: /src/cairo/test/surface-pattern-scale-down-extend.c:50,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/surface-pattern-scale-down-extend.c:56,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/surface-pattern-scale-down-extend.c:59,1
    - Dst: cairo_restore
      Src: /src/cairo/test/surface-pattern-scale-down-extend.c:65,1
    - Dst: cairo_paint
      Src: /src/cairo/test/surface-pattern-scale-down-extend.c:69,1
    - Dst: cairo_scale
      Src: /src/cairo/test/surface-pattern-scale-down-extend.c:67,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/surface-pattern-scale-down-extend.c:63,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/surface-pattern-scale-down-extend.c:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 4
    argNames:
    - cr
    - w
    - h
    - extend
    argTypes:
    - cairo_t*
    - int
    - int
    - cairo_extend_t
    constantsTouched: []
    func_position:
      end: 73
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 73
    functionName: draw_with_extend
    functionSourceFile: /src/cairo/test/surface-pattern-scale-down-extend.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_push_group_with_content
    - cairo_pop_group
    - cairo_save
    - cairo_pattern_set_extend
    - cairo_set_source
    - cairo_scale
    - cairo_restore
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_clip
    - cairo_pattern_destroy
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_with_extend (cairo_t *cr, int w, int
      h, cairo_extend_t extend) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw_with_extend
      Src: /src/cairo/test/surface-pattern-scale-down-extend.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - w
    - h
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: draw_repeat
    functionSourceFile: /src/cairo/test/surface-pattern-scale-down-extend.c
    functionUses: []
    functionsReached:
    - draw_with_extend
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_repeat (cairo_t *cr, int w, int h) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw_with_extend
      Src: /src/cairo/test/surface-pattern-scale-down-extend.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - w
    - h
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: draw_reflect
    functionSourceFile: /src/cairo/test/surface-pattern-scale-down-extend.c
    functionUses: []
    functionsReached:
    - draw_with_extend
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_reflect (cairo_t *cr, int w, int h) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw_with_extend
      Src: /src/cairo/test/surface-pattern-scale-down-extend.c:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - w
    - h
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: draw_none
    functionSourceFile: /src/cairo/test/surface-pattern-scale-down-extend.c
    functionUses: []
    functionsReached:
    - draw_with_extend
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_none (cairo_t *cr, int w, int h) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw_with_extend
      Src: /src/cairo/test/surface-pattern-scale-down-extend.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - w
    - h
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: draw_pad
    functionSourceFile: /src/cairo/test/surface-pattern-scale-down-extend.c
    functionUses: []
    functionsReached:
    - draw_with_extend
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_pad (cairo_t *cr, int w, int h) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/fill-alpha.c:37,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/fill-alpha.c:41,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/fill-alpha.c:48,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/fill-alpha.c:55,1
    - Dst: cairo_fill
      Src: /src/cairo/test/fill-alpha.c:57,1
    - Dst: sin
      Src: /src/cairo/test/fill-alpha.c:64,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/fill-alpha.c:66,1
    - Dst: cairo_paint
      Src: /src/cairo/test/fill-alpha.c:38,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/fill-alpha.c:42,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/fill-alpha.c:62,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/fill-alpha.c:70,1
    - Dst: cairo_translate
      Src: /src/cairo/test/fill-alpha.c:46,1
    - Dst: cairo_arc
      Src: /src/cairo/test/fill-alpha.c:47,1
    - Dst: cairo_fill
      Src: /src/cairo/test/fill-alpha.c:49,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/fill-alpha.c:53,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/fill-alpha.c:56,1
    - Dst: cairo_translate
      Src: /src/cairo/test/fill-alpha.c:60,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/fill-alpha.c:54,1
    - Dst: cairo_fill
      Src: /src/cairo/test/fill-alpha.c:43,1
    - Dst: cairo_translate
      Src: /src/cairo/test/fill-alpha.c:52,1
    - Dst: cos
      Src: /src/cairo/test/fill-alpha.c:63,1
    - Dst: cos
      Src: /src/cairo/test/fill-alpha.c:67,1
    - Dst: sin
      Src: /src/cairo/test/fill-alpha.c:68,1
    - Dst: cairo_fill
      Src: /src/cairo/test/fill-alpha.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 76
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 74
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 74
    functionName: draw
    functionSourceFile: /src/cairo/test/fill-alpha.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgba
    - cairo_line_to
    - cairo_arc
    - cos
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_translate
    - sin
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_translate
      Src: /src/cairo/test/over-below-source.c:42,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/over-below-source.c:48,1
    - Dst: cairo_arc
      Src: /src/cairo/test/over-below-source.c:45,1
    - Dst: cairo_fill
      Src: /src/cairo/test/over-below-source.c:50,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/over-below-source.c:47,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/over-below-source.c:53,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/over-below-source.c:54,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/over-below-source.c:55,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/over-below-source.c:56,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/over-below-source.c:58,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/over-below-source.c:59,1
    - Dst: cairo_fill
      Src: /src/cairo/test/over-below-source.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 64
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 64
    functionName: draw
    functionSourceFile: /src/cairo/test/over-below-source.c
    functionUses: []
    functionsReached:
    - cairo_set_source_rgba
    - cairo_line_to
    - cairo_arc
    - cairo_close_path
    - cairo_set_operator
    - cairo_fill
    - cairo_translate
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_init
      Src: /src/cairo/test/text-transform.c:40,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/text-transform.c:46,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/text-transform.c:47,1
    - Dst: cairo_set_font_matrix
      Src: /src/cairo/test/text-transform.c:44,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/test/text-transform.c:43,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/text-transform.c:48,1
    - Dst: cairo_matrix_init_rotate
      Src: /src/cairo/test/text-transform.c:51,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/test/text-transform.c:52,1
    - Dst: cairo_set_font_matrix
      Src: /src/cairo/test/text-transform.c:53,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/text-transform.c:55,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/text-transform.c:56,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/text-transform.c:63,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/text-transform.c:64,1
    - Dst: cairo_matrix_init_rotate
      Src: /src/cairo/test/text-transform.c:59,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/text-transform.c:65,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/text-transform.c:57,1
    - Dst: cairo_set_font_matrix
      Src: /src/cairo/test/text-transform.c:61,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/test/text-transform.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 66
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 66
    functionName: draw_text
    functionSourceFile: /src/cairo/test/text-transform.c
    functionUses: []
    functionsReached:
    - cairo_matrix_scale
    - cairo_show_text
    - cairo_new_path
    - cairo_set_font_matrix
    - cairo_matrix_init_rotate
    - cairo_move_to
    - cairo_matrix_init
    linkageType: ''
    returnType: void
    signature: 'static void draw_text (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/text-transform.c:71,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/text-transform.c:74,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/text-transform.c:79,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/text-transform.c:77,1
    - Dst: cairo_paint
      Src: /src/cairo/test/text-transform.c:75,1
    - Dst: draw_text
      Src: /src/cairo/test/text-transform.c:83,1
    - Dst: cairo_translate
      Src: /src/cairo/test/text-transform.c:85,1
    - Dst: cairo_rotate
      Src: /src/cairo/test/text-transform.c:86,1
    - Dst: cairo_test_create_pattern_from_png
      Src: /src/cairo/test/text-transform.c:88,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/text-transform.c:89,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/text-transform.c:91,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/text-transform.c:90,1
    - Dst: draw_text
      Src: /src/cairo/test/text-transform.c:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 96
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 96
    functionName: draw
    functionSourceFile: /src/cairo/test/text-transform.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - draw_text
    - cairo_test_get_context
    - cairo_pattern_set_extend
    - cairo_set_source
    - cairo_test_create_pattern_from_png
    - cairo_select_font_face
    - cairo_rotate
    - cairo_set_source_rgb
    - cairo_translate
    - cairo_pattern_destroy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_arc
      Src: /src/cairo/test/clipped-trapezoids.c:38,1
    - Dst: cairo_save
      Src: /src/cairo/test/clipped-trapezoids.c:42,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clipped-trapezoids.c:47,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/clipped-trapezoids.c:50,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/clipped-trapezoids.c:51,1
    - Dst: cairo_new_sub_path
      Src: /src/cairo/test/clipped-trapezoids.c:56,1
    - Dst: cairo_new_sub_path
      Src: /src/cairo/test/clipped-trapezoids.c:58,1
    - Dst: cairo_new_sub_path
      Src: /src/cairo/test/clipped-trapezoids.c:60,1
    - Dst: cairo_new_sub_path
      Src: /src/cairo/test/clipped-trapezoids.c:62,1
    - Dst: cairo_fill
      Src: /src/cairo/test/clipped-trapezoids.c:64,1
    - Dst: cairo_translate
      Src: /src/cairo/test/clipped-trapezoids.c:44,1
    - Dst: cairo_restore
      Src: /src/cairo/test/clipped-trapezoids.c:52,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clipped-trapezoids.c:55,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/clipped-trapezoids.c:69,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/clipped-trapezoids.c:70,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/clipped-trapezoids.c:72,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/clipped-trapezoids.c:78,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clipped-trapezoids.c:82,1
    - Dst: cairo_save
      Src: /src/cairo/test/clipped-trapezoids.c:43,1
    - Dst: cairo_rotate
      Src: /src/cairo/test/clipped-trapezoids.c:45,1
    - Dst: cairo_scale
      Src: /src/cairo/test/clipped-trapezoids.c:46,1
    - Dst: cairo_restore
      Src: /src/cairo/test/clipped-trapezoids.c:48,1
    - Dst: cairo_arc
      Src: /src/cairo/test/clipped-trapezoids.c:57,1
    - Dst: cairo_arc
      Src: /src/cairo/test/clipped-trapezoids.c:59,1
    - Dst: cairo_arc
      Src: /src/cairo/test/clipped-trapezoids.c:61,1
    - Dst: cairo_arc
      Src: /src/cairo/test/clipped-trapezoids.c:63,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clipped-trapezoids.c:67,1
    - Dst: cairo_save
      Src: /src/cairo/test/clipped-trapezoids.c:75,1
    - Dst: cairo_restore
      Src: /src/cairo/test/clipped-trapezoids.c:84,1
    - Dst: cairo_fill
      Src: /src/cairo/test/clipped-trapezoids.c:39,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/clipped-trapezoids.c:49,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/clipped-trapezoids.c:68,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/clipped-trapezoids.c:71,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clipped-trapezoids.c:76,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/clipped-trapezoids.c:79,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clipped-trapezoids.c:80,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/clipped-trapezoids.c:81,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/clipped-trapezoids.c:83,1
    - Dst: cairo_set_dash
      Src: /src/cairo/test/clipped-trapezoids.c:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 75
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 87
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 87
    functionName: draw
    functionSourceFile: /src/cairo/test/clipped-trapezoids.c
    functionUses: []
    functionsReached:
    - cairo_new_sub_path
    - cairo_set_source_rgba
    - cairo_set_line_width
    - cairo_set_source_rgb
    - cairo_rel_line_to
    - cairo_arc
    - cairo_set_dash
    - cairo_line_to
    - cairo_save
    - cairo_scale
    - cairo_stroke
    - cairo_restore
    - cairo_fill
    - cairo_rotate
    - cairo_translate
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_tolerance
      Src: /src/cairo/test/round-join-bug-520.c:41,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/round-join-bug-520.c:47,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/round-join-bug-520.c:44,1
    - Dst: cairo_scale
      Src: /src/cairo/test/round-join-bug-520.c:42,1
    - Dst: cairo_paint
      Src: /src/cairo/test/round-join-bug-520.c:45,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/round-join-bug-520.c:48,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/round-join-bug-520.c:49,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/round-join-bug-520.c:50,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/round-join-bug-520.c:51,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/round-join-bug-520.c:53,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/round-join-bug-520.c:55,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/round-join-bug-520.c:54,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/round-join-bug-520.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 59
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 59
    functionName: draw_round
    functionSourceFile: /src/cairo/test/round-join-bug-520.c
    functionUses: []
    functionsReached:
    - cairo_set_tolerance
    - cairo_paint
    - cairo_set_line_width
    - cairo_line_to
    - cairo_close_path
    - cairo_set_line_join
    - cairo_scale
    - cairo_stroke
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_round(cairo_t *cr, int width, int
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_tolerance
      Src: /src/cairo/test/round-join-bug-520.c:74,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/round-join-bug-520.c:80,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/round-join-bug-520.c:77,1
    - Dst: cairo_scale
      Src: /src/cairo/test/round-join-bug-520.c:75,1
    - Dst: cairo_paint
      Src: /src/cairo/test/round-join-bug-520.c:78,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/round-join-bug-520.c:81,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/round-join-bug-520.c:82,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/round-join-bug-520.c:83,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/round-join-bug-520.c:84,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/round-join-bug-520.c:86,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/round-join-bug-520.c:88,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/round-join-bug-520.c:87,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/round-join-bug-520.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 92
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 92
    functionName: draw_bevel
    functionSourceFile: /src/cairo/test/round-join-bug-520.c
    functionUses: []
    functionsReached:
    - cairo_set_tolerance
    - cairo_paint
    - cairo_set_line_width
    - cairo_line_to
    - cairo_close_path
    - cairo_set_line_join
    - cairo_scale
    - cairo_stroke
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_bevel(cairo_t *cr, int width, int
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/select-font-no-show-text.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: draw
    functionSourceFile: /src/cairo/test/select-font-no-show-text.c
    functionUses: []
    functionsReached:
    - cairo_select_font_face
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/stride-12-image.c:33,1
    - Dst: cairo_test_create_surface_from_png
      Src: /src/cairo/test/stride-12-image.c:40,1
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/test/stride-12-image.c:44,1
    - Dst: cairo_format_stride_for_width
      Src: /src/cairo/test/stride-12-image.c:42,1
    - Dst: xcalloc
      Src: /src/cairo/test/stride-12-image.c:43,1
    - Dst: cairo_create
      Src: /src/cairo/test/stride-12-image.c:47,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/stride-12-image.c:48,1
    - Dst: cairo_paint
      Src: /src/cairo/test/stride-12-image.c:49,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/stride-12-image.c:50,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/stride-12-image.c:52,1
    - Dst: cairo_paint
      Src: /src/cairo/test/stride-12-image.c:53,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/stride-12-image.c:58,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/stride-12-image.c:55,1
    - Dst: free
      Src: /src/cairo/test/stride-12-image.c:60,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/stride-12-image.c:57,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 63
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 63
    functionName: draw
    functionSourceFile: /src/cairo/test/stride-12-image.c
    functionUses: []
    functionsReached:
    - cairo_test_create_surface_from_png
    - cairo_paint
    - cairo_surface_finish
    - cairo_format_stride_for_width
    - cairo_test_get_context
    - free
    - cairo_image_surface_create_for_data
    - cairo_create
    - cairo_surface_destroy
    - xcalloc
    - cairo_destroy
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/bug-40410.c:45,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/bug-40410.c:49,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/bug-40410.c:48,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/bug-40410.c:50,1
    - Dst: cairo_paint
      Src: /src/cairo/test/bug-40410.c:46,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/bug-40410.c:51,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/bug-40410.c:52,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/bug-40410.c:54,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/bug-40410.c:55,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/bug-40410.c:56,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/bug-40410.c:58,1
    - Dst: cairo_fill
      Src: /src/cairo/test/bug-40410.c:61,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/bug-40410.c:57,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/bug-40410.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 64
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 64
    functionName: draw
    functionSourceFile: /src/cairo/test/bug-40410.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_line_to
    - cairo_close_path
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/cairo/test/pdf-mime-data.c:51,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/pdf-mime-data.c:63,1
    - Dst: fopen
      Src: /src/cairo/test/pdf-mime-data.c:58,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/pdf-mime-data.c:67,1
    - Dst: snprintf
      Src: /src/cairo/test/pdf-mime-data.c:56,1
    - Dst: fseek
      Src: /src/cairo/test/pdf-mime-data.c:72,1
    - Dst: ftell
      Src: /src/cairo/test/pdf-mime-data.c:73,1
    - Dst: fseek
      Src: /src/cairo/test/pdf-mime-data.c:74,1
    - Dst: malloc
      Src: /src/cairo/test/pdf-mime-data.c:75,1
    - Dst: fclose
      Src: /src/cairo/test/pdf-mime-data.c:77,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/pdf-mime-data.c:86,1
    - Dst: fclose
      Src: /src/cairo/test/pdf-mime-data.c:85,1
    - Dst: fclose
      Src: /src/cairo/test/pdf-mime-data.c:90,1
    - Dst: free
      Src: /src/cairo/test/pdf-mime-data.c:84,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/pdf-mime-data.c:78,1
    - Dst: fread
      Src: /src/cairo/test/pdf-mime-data.c:83,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 4
    argNames:
    - ctx
    - file
    - data
    - len
    argTypes:
    - cairo_test_context_t*
    - char*
    - unsigned char**
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 92
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 92
    functionName: read_file
    functionSourceFile: /src/cairo/test/pdf-mime-data.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - malloc
    - fclose
    - free
    - fseek
    - fopen
    - fread
    - ftell
    - snprintf
    linkageType: ''
    returnType: cairo_test_status_t
    signature: "static cairo_test_status_t read_file (const cairo_test_context_t *ctx,\t\
      \ const char *file,\t unsigned char **data,\t unsigned int *len) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_create_surface_from_png
      Src: /src/cairo/test/pdf-mime-data.c:120,1
    - Dst: system
      Src: /src/cairo/test/pdf-mime-data.c:114,1
    - Dst: cairo_image_surface_get_width
      Src: /src/cairo/test/pdf-mime-data.c:129,1
    - Dst: cairo_image_surface_get_height
      Src: /src/cairo/test/pdf-mime-data.c:130,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/pdf-mime-data.c:145,1
    - Dst: system
      Src: /src/cairo/test/pdf-mime-data.c:157,1
    - Dst: free
      Src: /src/cairo/test/pdf-mime-data.c:175,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/pdf-mime-data.c:177,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/pdf-mime-data.c:160,1
    - Dst: cairo_test_mkdir
      Src: /src/cairo/test/pdf-mime-data.c:109,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/pdf-mime-data.c:116,1
    - Dst: cairo_test_is_target_enabled
      Src: /src/cairo/test/pdf-mime-data.c:111,1
    - Dst: read_file
      Src: /src/cairo/test/pdf-mime-data.c:121,1
    - Dst: cairo_surface_set_mime_data
      Src: /src/cairo/test/pdf-mime-data.c:126,1
    - Dst: cairo_create
      Src: /src/cairo/test/pdf-mime-data.c:134,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/pdf-mime-data.c:140,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/pdf-mime-data.c:136,1
    - Dst: cairo_status
      Src: /src/cairo/test/pdf-mime-data.c:138,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/pdf-mime-data.c:144,1
    - Dst: read_file
      Src: /src/cairo/test/pdf-mime-data.c:169,1
    - Dst: sprintf
      Src: /src/cairo/test/pdf-mime-data.c:156,1
    - Dst: cairo_translate
      Src: /src/cairo/test/pdf-mime-data.c:135,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/pdf-mime-data.c:139,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/pdf-mime-data.c:141,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/pdf-mime-data.c:148,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/pdf-mime-data.c:149,1
    - Dst: read_file
      Src: /src/cairo/test/pdf-mime-data.c:164,1
    - Dst: free
      Src: /src/cairo/test/pdf-mime-data.c:182,1
    - Dst: xasprintf
      Src: /src/cairo/test/pdf-mime-data.c:132,1
    - Dst: cairo_pdf_surface_create
      Src: /src/cairo/test/pdf-mime-data.c:133,1
    - Dst: cairo_paint
      Src: /src/cairo/test/pdf-mime-data.c:137,1
    - Dst: free
      Src: /src/cairo/test/pdf-mime-data.c:150,1
    - Dst: memcmp
      Src: /src/cairo/test/pdf-mime-data.c:174,1
    - Dst: free
      Src: /src/cairo/test/pdf-mime-data.c:176,1
    - Dst: free
      Src: /src/cairo/test/pdf-mime-data.c:158,1
    - Dst: free
      Src: /src/cairo/test/pdf-mime-data.c:181,1
    - Dst: printf
      Src: /src/cairo/test/pdf-mime-data.c:154,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 65
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - cairo_test_context_t*
    constantsTouched: []
    func_position:
      end: 185
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 185
    functionName: preamble
    functionSourceFile: /src/cairo/test/pdf-mime-data.c
    functionUses: []
    functionsReached:
    - system
    - printf
    - cairo_surface_finish
    - xasprintf
    - cairo_pdf_surface_create
    - cairo_translate
    - cairo_set_source_surface
    - cairo_test_create_surface_from_png
    - read_file
    - cairo_surface_status
    - cairo_create
    - cairo_image_surface_get_height
    - cairo_test_is_target_enabled
    - cairo_status
    - cairo_test_log
    - cairo_test_mkdir
    - cairo_destroy
    - cairo_image_surface_get_width
    - sprintf
    - cairo_status_to_string
    - memcmp
    - cairo_paint
    - free
    - cairo_surface_destroy
    - cairo_surface_set_mime_data
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t preamble (cairo_test_context_t *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/fill-missed-stop.c:44,1
    - Dst: cairo_translate
      Src: /src/cairo/test/fill-missed-stop.c:46,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/fill-missed-stop.c:66,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/fill-missed-stop.c:68,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/fill-missed-stop.c:67,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/fill-missed-stop.c:69,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/fill-missed-stop.c:70,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/fill-missed-stop.c:71,1
    - Dst: cairo_fill
      Src: /src/cairo/test/fill-missed-stop.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 75
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 75
    functionName: draw
    functionSourceFile: /src/cairo/test/fill-missed-stop.c
    functionUses: []
    functionsReached:
    - cairo_set_source_rgb
    - cairo_line_to
    - cairo_close_path
    - cairo_fill
    - cairo_translate
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/device-offset-fractional.c:41,1
    - Dst: cairo_create
      Src: /src/cairo/test/device-offset-fractional.c:45,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/device-offset-fractional.c:46,1
    - Dst: cairo_paint
      Src: /src/cairo/test/device-offset-fractional.c:42,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/device-offset-fractional.c:44,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/device-offset-fractional.c:48,1
    - Dst: cairo_paint
      Src: /src/cairo/test/device-offset-fractional.c:49,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/device-offset-fractional.c:51,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/device-offset-fractional.c:51,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/device-offset-fractional.c:52,1
    - Dst: cairo_surface_set_device_offset
      Src: /src/cairo/test/device-offset-fractional.c:56,1
    - Dst: cairo_paint
      Src: /src/cairo/test/device-offset-fractional.c:59,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 64
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 64
    functionName: draw
    functionSourceFile: /src/cairo/test/device-offset-fractional.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_create
    - cairo_surface_destroy
    - cairo_image_surface_create
    - cairo_surface_set_device_offset
    - cairo_get_target
    - cairo_set_source_rgb
    - cairo_destroy
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_move_to
      Src: /src/cairo/test/caps-joins-curve.c:34,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/caps-joins-curve.c:45,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/caps-joins-curve.c:43,1
    - Dst: cairo_rel_curve_to
      Src: /src/cairo/test/caps-joins-curve.c:39,1
    - Dst: cairo_rel_curve_to
      Src: /src/cairo/test/caps-joins-curve.c:35,1
    - Dst: cairo_rel_curve_to
      Src: /src/cairo/test/caps-joins-curve.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 50
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 50
    functionName: make_path
    functionSourceFile: /src/cairo/test/caps-joins-curve.c
    functionUses: []
    functionsReached:
    - cairo_rel_curve_to
    - cairo_move_to
    - cairo_close_path
    linkageType: ''
    returnType: void
    signature: 'static void make_path (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/test/caps-joins-curve.c:55,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/caps-joins-curve.c:61,1
    - Dst: make_path
      Src: /src/cairo/test/caps-joins-curve.c:59,1
    - Dst: cairo_translate
      Src: /src/cairo/test/caps-joins-curve.c:57,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/caps-joins-curve.c:60,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/caps-joins-curve.c:62,1
    - Dst: cairo_translate
      Src: /src/cairo/test/caps-joins-curve.c:64,1
    - Dst: make_path
      Src: /src/cairo/test/caps-joins-curve.c:66,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/caps-joins-curve.c:67,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/caps-joins-curve.c:68,1
    - Dst: cairo_restore
      Src: /src/cairo/test/caps-joins-curve.c:78,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/caps-joins-curve.c:76,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/caps-joins-curve.c:74,1
    - Dst: cairo_translate
      Src: /src/cairo/test/caps-joins-curve.c:71,1
    - Dst: make_path
      Src: /src/cairo/test/caps-joins-curve.c:73,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/caps-joins-curve.c:69,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/caps-joins-curve.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 79
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 79
    functionName: draw_caps_joins
    functionSourceFile: /src/cairo/test/caps-joins-curve.c
    functionUses: []
    functionsReached:
    - make_path
    - cairo_save
    - cairo_set_line_join
    - cairo_stroke
    - cairo_restore
    - cairo_set_line_cap
    - cairo_translate
    linkageType: ''
    returnType: void
    signature: 'static void draw_caps_joins (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/test/caps-joins-curve.c:85,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/caps-joins-curve.c:90,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/caps-joins-curve.c:86,1
    - Dst: cairo_paint
      Src: /src/cairo/test/caps-joins-curve.c:87,1
    - Dst: cairo_restore
      Src: /src/cairo/test/caps-joins-curve.c:88,1
    - Dst: draw_caps_joins
      Src: /src/cairo/test/caps-joins-curve.c:92,1
    - Dst: cairo_translate
      Src: /src/cairo/test/caps-joins-curve.c:95,1
    - Dst: cairo_scale
      Src: /src/cairo/test/caps-joins-curve.c:96,1
    - Dst: draw_caps_joins
      Src: /src/cairo/test/caps-joins-curve.c:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 101
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 101
    functionName: draw
    functionSourceFile: /src/cairo/test/caps-joins-curve.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_line_width
    - draw_caps_joins
    - cairo_save
    - cairo_scale
    - cairo_restore
    - cairo_set_source_rgb
    - cairo_translate
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/arc-looping-dash.c:52,1
    - Dst: cairo_translate
      Src: /src/cairo/test/arc-looping-dash.c:57,1
    - Dst: cairo_paint
      Src: /src/cairo/test/arc-looping-dash.c:53,1
    - Dst: cairo_save
      Src: /src/cairo/test/arc-looping-dash.c:55,1
    - Dst: cairo_scale
      Src: /src/cairo/test/arc-looping-dash.c:58,1
    - Dst: cairo_arc
      Src: /src/cairo/test/arc-looping-dash.c:60,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/arc-looping-dash.c:62,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/arc-looping-dash.c:64,1
    - Dst: cairo_set_dash
      Src: /src/cairo/test/arc-looping-dash.c:65,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/arc-looping-dash.c:66,1
    - Dst: cairo_restore
      Src: /src/cairo/test/arc-looping-dash.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 71
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 71
    functionName: draw
    functionSourceFile: /src/cairo/test/arc-looping-dash.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgb
    - cairo_set_line_width
    - cairo_arc
    - cairo_set_dash
    - cairo_save
    - cairo_scale
    - cairo_stroke
    - cairo_restore
    - cairo_translate
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_translate
      Src: /src/cairo/test/line-width-overlap.c:70,1
    - Dst: draw
      Src: /src/cairo/test/line-width-overlap.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: draw_offset
    functionSourceFile: /src/cairo/test/line-width-overlap.c
    functionUses: []
    functionsReached:
    - draw
    - cairo_translate
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_offset (cairo_t *cr, int width, int
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_translate
      Src: /src/cairo/test/line-width-overlap.c:77,1
    - Dst: cairo_rotate
      Src: /src/cairo/test/line-width-overlap.c:78,1
    - Dst: draw
      Src: /src/cairo/test/line-width-overlap.c:81,1
    - Dst: cairo_translate
      Src: /src/cairo/test/line-width-overlap.c:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: draw_rotated
    functionSourceFile: /src/cairo/test/line-width-overlap.c
    functionUses: []
    functionsReached:
    - draw
    - cairo_rotate
    - cairo_translate
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_rotated (cairo_t *cr, int width, int
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_translate
      Src: /src/cairo/test/line-width-overlap.c:97,1
    - Dst: cairo_translate
      Src: /src/cairo/test/line-width-overlap.c:99,1
    - Dst: draw
      Src: /src/cairo/test/line-width-overlap.c:101,1
    - Dst: cairo_scale
      Src: /src/cairo/test/line-width-overlap.c:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: draw_flopped
    functionSourceFile: /src/cairo/test/line-width-overlap.c
    functionUses: []
    functionsReached:
    - cairo_scale
    - draw
    - cairo_translate
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_flopped (cairo_t *cr, int width, int
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_translate
      Src: /src/cairo/test/line-width-overlap.c:87,1
    - Dst: cairo_scale
      Src: /src/cairo/test/line-width-overlap.c:88,1
    - Dst: draw
      Src: /src/cairo/test/line-width-overlap.c:91,1
    - Dst: cairo_translate
      Src: /src/cairo/test/line-width-overlap.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: draw_flipped
    functionSourceFile: /src/cairo/test/line-width-overlap.c
    functionUses: []
    functionsReached:
    - cairo_scale
    - draw
    - cairo_translate
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_flipped (cairo_t *cr, int width, int
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_dash
      Src: /src/cairo/test/line-width-overlap.c:108,1
    - Dst: draw
      Src: /src/cairo/test/line-width-overlap.c:110,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/line-width-overlap.c:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 111
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 111
    functionName: draw_dashed
    functionSourceFile: /src/cairo/test/line-width-overlap.c
    functionUses: []
    functionsReached:
    - cairo_set_dash
    - draw
    - cairo_set_line_cap
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_dashed (cairo_t *cr, int width, int
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/line-width-overlap.c:45,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/line-width-overlap.c:52,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/line-width-overlap.c:55,1
    - Dst: cairo_paint
      Src: /src/cairo/test/line-width-overlap.c:46,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/line-width-overlap.c:49,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/line-width-overlap.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 64
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 64
    functionName: draw
    functionSourceFile: /src/cairo/test/line-width-overlap.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_line_width
    - cairo_stroke
    - cairo_set_source_rgb
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/clip-device-offset.c:37,1
    - Dst: cairo_create
      Src: /src/cairo/test/clip-device-offset.c:38,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-device-offset.c:42,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-device-offset.c:41,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/clip-device-offset.c:39,1
    - Dst: cairo_pattern_create_for_surface
      Src: /src/cairo/test/clip-device-offset.c:44,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/clip-device-offset.c:44,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/clip-device-offset.c:45,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 48
    functionName: create_green_source
    functionSourceFile: /src/cairo/test/clip-device-offset.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_for_surface
    - cairo_paint
    - cairo_create
    - cairo_surface_destroy
    - cairo_image_surface_create
    - cairo_get_target
    - cairo_set_source_rgb
    - cairo_destroy
    linkageType: ''
    returnType: cairo_pattern_t*
    signature: 'static cairo_pattern_t *create_green_source (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_get_device_offset
      Src: /src/cairo/test/clip-device-offset.c:56,1
    - Dst: cairo_get_group_target
      Src: /src/cairo/test/clip-device-offset.c:57,1
    - Dst: cairo_get_group_target
      Src: /src/cairo/test/clip-device-offset.c:56,1
    - Dst: cairo_surface_set_device_offset
      Src: /src/cairo/test/clip-device-offset.c:57,1
    - Dst: create_green_source
      Src: /src/cairo/test/clip-device-offset.c:59,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/clip-device-offset.c:60,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/clip-device-offset.c:61,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/clip-device-offset.c:63,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-device-offset.c:64,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-device-offset.c:65,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-device-offset.c:66,1
    - Dst: cairo_surface_set_device_offset
      Src: /src/cairo/test/clip-device-offset.c:68,1
    - Dst: cairo_get_group_target
      Src: /src/cairo/test/clip-device-offset.c:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 71
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 71
    functionName: draw
    functionSourceFile: /src/cairo/test/clip-device-offset.c
    functionUses: []
    functionsReached:
    - cairo_get_group_target
    - create_green_source
    - cairo_paint
    - cairo_surface_get_device_offset
    - cairo_set_source
    - cairo_surface_set_device_offset
    - cairo_set_operator
    - cairo_clip
    - cairo_pattern_destroy
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/partial-coverage.c:93,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/partial-coverage.c:97,1
    - Dst: cairo_paint
      Src: /src/cairo/test/partial-coverage.c:94,1
    - Dst: cairo_fill
      Src: /src/cairo/test/partial-coverage.c:100,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/partial-coverage.c:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: reference
    functionSourceFile: /src/cairo/test/partial-coverage.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgba
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t reference (cairo_t *cr, int width, int
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hars_petruska_f54_1_random
      Src: /src/cairo/test/partial-coverage.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: uniform_random
    functionSourceFile: /src/cairo/test/partial-coverage.c
    functionUses: []
    functionsReached:
    - hars_petruska_f54_1_random
    linkageType: ''
    returnType: double
    signature: 'static double uniform_random (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/partial-coverage.c:129,1
    - Dst: cairo_paint
      Src: /src/cairo/test/partial-coverage.c:130,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/partial-coverage.c:133,1
    - Dst: cairo_fill
      Src: /src/cairo/test/partial-coverage.c:136,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/partial-coverage.c:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 140
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 140
    functionName: half_reference
    functionSourceFile: /src/cairo/test/partial-coverage.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgba
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t half_reference (cairo_t *cr, int width,
      int height) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/cairo/test/partial-coverage.c:195,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/partial-coverage.c:200,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/partial-coverage.c:204,1
    - Dst: cairo_paint
      Src: /src/cairo/test/partial-coverage.c:198,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/partial-coverage.c:197,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/partial-coverage.c:205,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/partial-coverage.c:206,1
    - Dst: compute_occupancy
      Src: /src/cairo/test/partial-coverage.c:212,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/partial-coverage.c:218,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/partial-coverage.c:221,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/partial-coverage.c:224,1
    - Dst: cairo_fill
      Src: /src/cairo/test/partial-coverage.c:227,1
    - Dst: free
      Src: /src/cairo/test/partial-coverage.c:231,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/partial-coverage.c:222,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/partial-coverage.c:223,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 54
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 234
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 234
    functionName: intersecting_quads
    functionSourceFile: /src/cairo/test/partial-coverage.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - xmalloc
    - cairo_rel_line_to
    - free
    - cairo_close_path
    - cairo_set_operator
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_move_to
    - compute_occupancy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t intersecting_quads (cairo_t *cr, int width,
      int height) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/cairo/test/partial-coverage.c:290,1
    - Dst: cairo_paint
      Src: /src/cairo/test/partial-coverage.c:293,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/partial-coverage.c:292,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/partial-coverage.c:299,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/partial-coverage.c:295,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/partial-coverage.c:300,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/partial-coverage.c:301,1
    - Dst: compute_occupancy
      Src: /src/cairo/test/partial-coverage.c:307,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/partial-coverage.c:328,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/partial-coverage.c:329,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/partial-coverage.c:330,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/partial-coverage.c:333,1
    - Dst: free
      Src: /src/cairo/test/partial-coverage.c:343,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/partial-coverage.c:335,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/partial-coverage.c:336,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/partial-coverage.c:331,1
    - Dst: cairo_fill
      Src: /src/cairo/test/partial-coverage.c:339,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/partial-coverage.c:334,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 77
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 346
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 346
    functionName: overlap_half_triangles
    functionSourceFile: /src/cairo/test/partial-coverage.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - xmalloc
    - cairo_line_to
    - free
    - cairo_close_path
    - cairo_set_operator
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_move_to
    - compute_occupancy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t overlap_half_triangles (cairo_t *cr, int
      width, int height) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/cairo/test/partial-coverage.c:422,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/partial-coverage.c:431,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/partial-coverage.c:427,1
    - Dst: cairo_paint
      Src: /src/cairo/test/partial-coverage.c:425,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/partial-coverage.c:424,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/partial-coverage.c:432,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/partial-coverage.c:433,1
    - Dst: compute_occupancy
      Src: /src/cairo/test/partial-coverage.c:439,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/partial-coverage.c:460,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/partial-coverage.c:461,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/partial-coverage.c:463,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/partial-coverage.c:468,1
    - Dst: cairo_fill
      Src: /src/cairo/test/partial-coverage.c:471,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/partial-coverage.c:466,1
    - Dst: free
      Src: /src/cairo/test/partial-coverage.c:475,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/partial-coverage.c:467,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/partial-coverage.c:465,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/partial-coverage.c:462,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 77
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 478
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 478
    functionName: overlap_three_quarter_triangles
    functionSourceFile: /src/cairo/test/partial-coverage.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - xmalloc
    - cairo_line_to
    - free
    - cairo_close_path
    - cairo_set_operator
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_move_to
    - compute_occupancy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t overlap_three_quarter_triangles (cairo_t
      *cr, int width, int height) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/cairo/test/partial-coverage.c:548,1
    - Dst: cairo_paint
      Src: /src/cairo/test/partial-coverage.c:551,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/partial-coverage.c:550,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/partial-coverage.c:582,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/partial-coverage.c:586,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/partial-coverage.c:594,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/partial-coverage.c:587,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/partial-coverage.c:558,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/partial-coverage.c:584,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/partial-coverage.c:592,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/partial-coverage.c:596,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/partial-coverage.c:597,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/partial-coverage.c:553,1
    - Dst: compute_occupancy
      Src: /src/cairo/test/partial-coverage.c:565,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/partial-coverage.c:588,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/partial-coverage.c:589,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/partial-coverage.c:593,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/partial-coverage.c:595,1
    - Dst: free
      Src: /src/cairo/test/partial-coverage.c:606,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/partial-coverage.c:557,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/partial-coverage.c:559,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/partial-coverage.c:583,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/partial-coverage.c:585,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/partial-coverage.c:598,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/partial-coverage.c:599,1
    - Dst: cairo_fill
      Src: /src/cairo/test/partial-coverage.c:602,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 94
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 609
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 609
    functionName: intersecting_triangles
    functionSourceFile: /src/cairo/test/partial-coverage.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - xmalloc
    - cairo_line_to
    - free
    - cairo_close_path
    - cairo_set_operator
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_move_to
    - compute_occupancy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t intersecting_triangles (cairo_t *cr, int
      width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rol
      Src: /src/cairo/test/partial-coverage.c:44,1
    - Dst: rol
      Src: /src/cairo/test/partial-coverage.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: hars_petruska_f54_1_random
    functionSourceFile: /src/cairo/test/partial-coverage.c
    functionUses: []
    functionsReached:
    - rol
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t hars_petruska_f54_1_random (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/partial-coverage.c:111,1
    - Dst: cairo_paint
      Src: /src/cairo/test/partial-coverage.c:112,1
    - Dst: cairo_fill
      Src: /src/cairo/test/partial-coverage.c:118,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/partial-coverage.c:117,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/partial-coverage.c:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 122
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 122
    functionName: three_quarter_reference
    functionSourceFile: /src/cairo/test/partial-coverage.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgba
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t three_quarter_reference (cairo_t *cr, int
      width, int height) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/cairo/test/partial-coverage.c:149,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/partial-coverage.c:154,1
    - Dst: cairo_paint
      Src: /src/cairo/test/partial-coverage.c:152,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/partial-coverage.c:151,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/partial-coverage.c:158,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/partial-coverage.c:159,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/partial-coverage.c:160,1
    - Dst: compute_occupancy
      Src: /src/cairo/test/partial-coverage.c:166,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/partial-coverage.c:172,1
    - Dst: cairo_fill
      Src: /src/cairo/test/partial-coverage.c:179,1
    - Dst: free
      Src: /src/cairo/test/partial-coverage.c:183,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 186
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 186
    functionName: rectangles
    functionSourceFile: /src/cairo/test/partial-coverage.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - xmalloc
    - free
    - cairo_rectangle
    - cairo_set_operator
    - cairo_fill
    - cairo_set_source_rgb
    - compute_occupancy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t rectangles (cairo_t *cr, int width, int
      height) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/cairo/test/partial-coverage.c:243,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/partial-coverage.c:248,1
    - Dst: cairo_paint
      Src: /src/cairo/test/partial-coverage.c:246,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/partial-coverage.c:245,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/partial-coverage.c:252,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/partial-coverage.c:253,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/partial-coverage.c:254,1
    - Dst: compute_occupancy
      Src: /src/cairo/test/partial-coverage.c:260,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/partial-coverage.c:268,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/partial-coverage.c:269,1
    - Dst: free
      Src: /src/cairo/test/partial-coverage.c:278,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/partial-coverage.c:270,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/partial-coverage.c:271,1
    - Dst: cairo_fill
      Src: /src/cairo/test/partial-coverage.c:274,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 55
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 281
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 281
    functionName: half_triangles
    functionSourceFile: /src/cairo/test/partial-coverage.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - xmalloc
    - cairo_line_to
    - free
    - cairo_close_path
    - cairo_set_operator
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_move_to
    - compute_occupancy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t half_triangles (cairo_t *cr, int width,
      int height) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: compute_occupancy
      Src: /src/cairo/test/partial-coverage.c:374,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/partial-coverage.c:402,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/partial-coverage.c:400,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/partial-coverage.c:357,1
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/test/partial-coverage.c:360,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/partial-coverage.c:366,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/partial-coverage.c:368,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/partial-coverage.c:398,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/partial-coverage.c:396,1
    - Dst: free
      Src: /src/cairo/test/partial-coverage.c:410,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/partial-coverage.c:362,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/partial-coverage.c:395,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/partial-coverage.c:403,1
    - Dst: cairo_fill
      Src: /src/cairo/test/partial-coverage.c:406,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/partial-coverage.c:401,1
    - Dst: xmalloc
      Src: /src/cairo/test/partial-coverage.c:355,1
    - Dst: cairo_paint
      Src: /src/cairo/test/partial-coverage.c:358,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/partial-coverage.c:367,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/partial-coverage.c:397,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 78
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 413
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 413
    functionName: overlap_half_triangles_eo
    functionSourceFile: /src/cairo/test/partial-coverage.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - xmalloc
    - cairo_line_to
    - free
    - cairo_close_path
    - cairo_set_operator
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_set_fill_rule
    - cairo_move_to
    - compute_occupancy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t overlap_half_triangles_eo (cairo_t *cr,
      int width, int height) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/cairo/test/partial-coverage.c:487,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/partial-coverage.c:489,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/partial-coverage.c:496,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/partial-coverage.c:492,1
    - Dst: cairo_paint
      Src: /src/cairo/test/partial-coverage.c:490,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/partial-coverage.c:497,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/partial-coverage.c:498,1
    - Dst: compute_occupancy
      Src: /src/cairo/test/partial-coverage.c:504,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/partial-coverage.c:520,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/partial-coverage.c:521,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/partial-coverage.c:527,1
    - Dst: free
      Src: /src/cairo/test/partial-coverage.c:536,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/partial-coverage.c:522,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/partial-coverage.c:526,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/partial-coverage.c:528,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/partial-coverage.c:523,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/partial-coverage.c:529,1
    - Dst: cairo_fill
      Src: /src/cairo/test/partial-coverage.c:532,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 68
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 539
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 539
    functionName: triangles
    functionSourceFile: /src/cairo/test/partial-coverage.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - xmalloc
    - cairo_line_to
    - free
    - cairo_close_path
    - cairo_set_operator
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_move_to
    - compute_occupancy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t triangles (cairo_t *cr, int width, int
      height) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cairo/test/partial-coverage.c:61,1
    - Dst: uniform_random
      Src: /src/cairo/test/partial-coverage.c:66,1
    - Dst: memset
      Src: /src/cairo/test/partial-coverage.c:74,1
    - Dst: uniform_random
      Src: /src/cairo/test/partial-coverage.c:79,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 3
    argNames:
    - occupancy
    - coverage
    - sample
    argTypes:
    - uint8_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 86
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 86
    functionName: compute_occupancy
    functionSourceFile: /src/cairo/test/partial-coverage.c
    functionUses: []
    functionsReached:
    - uniform_random
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void compute_occupancy (uint8_t *occupancy, int coverage, int
      sample) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-operator.c:108,1
    - Dst: cairo_fill
      Src: /src/cairo/test/clip-operator.c:112,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - cr
    - x
    - y
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 113
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 113
    functionName: draw_rects
    functionSourceFile: /src/cairo/test/clip-operator.c
    functionUses: []
    functionsReached:
    - cairo_fill
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void draw_rects (cairo_t *cr, int x, int y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/clip-operator.c:70,1
    - Dst: floor
      Src: /src/cairo/test/clip-operator.c:75,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/clip-operator.c:73,1
    - Dst: floor
      Src: /src/cairo/test/clip-operator.c:74,1
    - Dst: cairo_text_extents
      Src: /src/cairo/test/clip-operator.c:72,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/clip-operator.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - cr
    - x
    - y
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: draw_glyphs
    functionSourceFile: /src/cairo/test/clip-operator.c
    functionUses: []
    functionsReached:
    - cairo_show_text
    - cairo_set_font_size
    - cairo_text_extents
    - cairo_move_to
    - floor
    linkageType: ''
    returnType: void
    signature: 'static void draw_glyphs (cairo_t *cr, int x, int y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/clip-operator.c:44,1
    - Dst: cairo_get_group_target
      Src: /src/cairo/test/clip-operator.c:44,1
    - Dst: cairo_create
      Src: /src/cairo/test/clip-operator.c:47,1
    - Dst: cairo_save
      Src: /src/cairo/test/clip-operator.c:50,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/clip-operator.c:48,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/clip-operator.c:51,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/clip-operator.c:52,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-operator.c:53,1
    - Dst: cairo_restore
      Src: /src/cairo/test/clip-operator.c:54,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-operator.c:56,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/clip-operator.c:62,1
    - Dst: cairo_mask_surface
      Src: /src/cairo/test/clip-operator.c:61,1
    - Dst: cairo_fill
      Src: /src/cairo/test/clip-operator.c:59,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/clip-operator.c:61,1
    - Dst: cairo_arc
      Src: /src/cairo/test/clip-operator.c:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 3
    argNames:
    - cr
    - x
    - y
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 63
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 63
    functionName: draw_mask
    functionSourceFile: /src/cairo/test/clip-operator.c
    functionUses: []
    functionsReached:
    - cairo_get_group_target
    - cairo_paint
    - cairo_mask_surface
    - cairo_set_source_rgba
    - cairo_destroy
    - cairo_arc
    - cairo_create
    - cairo_save
    - cairo_surface_destroy
    - cairo_restore
    - cairo_set_operator
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_get_target
    - cairo_surface_create_similar
    linkageType: ''
    returnType: void
    signature: 'static void draw_mask (cairo_t *cr, int x, int y) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/clip-operator.c:130,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/clip-operator.c:135,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/clip-operator.c:153,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/clip-operator.c:159,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-operator.c:156,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/clip-operator.c:169,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/clip-operator.c:140,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/clip-operator.c:149,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/clip-operator.c:154,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-operator.c:165,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-operator.c:163,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/clip-operator.c:176,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/clip-operator.c:151,1
    - Dst: cairo_fill
      Src: /src/cairo/test/clip-operator.c:157,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/clip-operator.c:138,1
    - Dst: cairo_save
      Src: /src/cairo/test/clip-operator.c:145,1
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/test/clip-operator.c:147,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/clip-operator.c:162,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-operator.c:160,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-operator.c:164,1
    - Dst: cairo_status
      Src: /src/cairo/test/clip-operator.c:168,1
    - Dst: cairo_restore
      Src: /src/cairo/test/clip-operator.c:171,1
    - Dst: cairo_status
      Src: /src/cairo/test/clip-operator.c:175,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 179
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 179
    functionName: draw
    functionSourceFile: /src/cairo/test/clip-operator.c
    functionUses: []
    functionsReached:
    - cairo_set_source
    - cairo_select_font_face
    - cairo_pattern_add_color_stop_rgba
    - cairo_rectangle
    - cairo_test_get_context
    - cairo_pattern_create_linear
    - cairo_save
    - cairo_status
    - cairo_clip
    - cairo_test_log
    - cairo_line_to
    - ARRAY_LENGTH
    - cairo_restore
    - cairo_set_operator
    - cairo_fill
    - cairo_pattern_destroy
    - cairo_set_font_size
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_new_path
      Src: /src/cairo/test/clip-operator.c:87,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-operator.c:90,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/clip-operator.c:88,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-operator.c:91,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-operator.c:89,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-operator.c:92,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-operator.c:93,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/clip-operator.c:94,1
    - Dst: cairo_fill
      Src: /src/cairo/test/clip-operator.c:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 3
    argNames:
    - cr
    - x
    - y
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 96
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 96
    functionName: draw_polygon
    functionSourceFile: /src/cairo/test/clip-operator.c
    functionUses: []
    functionsReached:
    - cairo_new_path
    - cairo_line_to
    - cairo_close_path
    - cairo_fill
    - cairo_move_to
    linkageType: ''
    returnType: void
    signature: 'static void draw_polygon (cairo_t *cr, int x, int y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - closure
    - data
    - size
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: no_memory_error
    functionSourceFile: /src/cairo/test/create-from-png.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t no_memory_error (void *closure, unsigned char
      *data, unsigned int size) '
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create_from_png_stream
      Src: /src/cairo/test/create-from-png.c:106,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/create-from-png.c:109,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/create-from-png.c:143,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/create-from-png.c:278,1
    - Dst: cairo_image_surface_get_format
      Src: /src/cairo/test/create-from-png.c:280,1
    - Dst: cairo_image_surface_create_from_png_stream
      Src: /src/cairo/test/create-from-png.c:119,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/create-from-png.c:122,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/create-from-png.c:125,1
    - Dst: cairo_image_surface_create_from_png
      Src: /src/cairo/test/create-from-png.c:136,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/create-from-png.c:193,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/create-from-png.c:231,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/create-from-png.c:286,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/create-from-png.c:299,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/create-from-png.c:207,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/create-from-png.c:102,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/create-from-png.c:141,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/create-from-png.c:216,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/create-from-png.c:196,1
    - Dst: free
      Src: /src/cairo/test/create-from-png.c:242,1
    - Dst: xasprintf
      Src: /src/cairo/test/create-from-png.c:248,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/create-from-png.c:273,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/create-from-png.c:276,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/create-from-png.c:302,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/create-from-png.c:115,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/create-from-png.c:256,1
    - Dst: cairo_image_surface_get_format
      Src: /src/cairo/test/create-from-png.c:258,1
    - Dst: free
      Src: /src/cairo/test/create-from-png.c:309,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/create-from-png.c:138,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/create-from-png.c:187,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/create-from-png.c:209,1
    - Dst: cairo_image_surface_create_from_png
      Src: /src/cairo/test/create-from-png.c:249,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/create-from-png.c:264,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/create-from-png.c:293,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/create-from-png.c:294,1
    - Dst: cairo_image_surface_get_format
      Src: /src/cairo/test/create-from-png.c:301,1
    - Dst: xasprintf
      Src: /src/cairo/test/create-from-png.c:205,1
    - Dst: xasprintf
      Src: /src/cairo/test/create-from-png.c:227,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/create-from-png.c:254,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/create-from-png.c:189,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/create-from-png.c:128,1
    - Dst: xasprintf
      Src: /src/cairo/test/create-from-png.c:133,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/create-from-png.c:143,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/create-from-png.c:170,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/create-from-png.c:174,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/create-from-png.c:235,1
    - Dst: cairo_image_surface_get_format
      Src: /src/cairo/test/create-from-png.c:237,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/create-from-png.c:278,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/create-from-png.c:295,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/create-from-png.c:163,1
    - Dst: cairo_image_surface_create_from_png
      Src: /src/cairo/test/create-from-png.c:228,1
    - Dst: free
      Src: /src/cairo/test/create-from-png.c:200,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/create-from-png.c:94,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/create-from-png.c:99,1
    - Dst: free
      Src: /src/cairo/test/create-from-png.c:220,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/create-from-png.c:251,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/create-from-png.c:272,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/create-from-png.c:281,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/create-from-png.c:95,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/create-from-png.c:107,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/create-from-png.c:112,1
    - Dst: cairo_surface_write_to_png_stream
      Src: /src/cairo/test/create-from-png.c:157,1
    - Dst: xasprintf
      Src: /src/cairo/test/create-from-png.c:185,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/create-from-png.c:173,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/create-from-png.c:233,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/create-from-png.c:98,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/create-from-png.c:120,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/create-from-png.c:108,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/create-from-png.c:137,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/create-from-png.c:213,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/create-from-png.c:152,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/create-from-png.c:243,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/create-from-png.c:256,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/create-from-png.c:274,1
    - Dst: free
      Src: /src/cairo/test/create-from-png.c:306,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/create-from-png.c:230,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/create-from-png.c:111,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/create-from-png.c:178,1
    - Dst: cairo_image_surface_create_from_png
      Src: /src/cairo/test/create-from-png.c:206,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/create-from-png.c:259,1
    - Dst: xasprintf
      Src: /src/cairo/test/create-from-png.c:291,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/create-from-png.c:164,1
    - Dst: cairo_image_surface_get_format
      Src: /src/cairo/test/create-from-png.c:195,1
    - Dst: cairo_image_surface_get_format
      Src: /src/cairo/test/create-from-png.c:215,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/create-from-png.c:169,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/create-from-png.c:125,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/create-from-png.c:139,1
    - Dst: cairo_surface_write_to_png_stream
      Src: /src/cairo/test/create-from-png.c:146,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/create-from-png.c:193,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/create-from-png.c:211,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/create-from-png.c:299,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/create-from-png.c:121,1
    - Dst: xasprintf
      Src: /src/cairo/test/create-from-png.c:134,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/create-from-png.c:174,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/create-from-png.c:201,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/create-from-png.c:221,1
    - Dst: cairo_image_surface_create_from_png
      Src: /src/cairo/test/create-from-png.c:186,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/create-from-png.c:235,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/create-from-png.c:250,1
    - Dst: free
      Src: /src/cairo/test/create-from-png.c:285,1
    - Dst: cairo_image_surface_create_from_png
      Src: /src/cairo/test/create-from-png.c:292,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/create-from-png.c:171,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/create-from-png.c:191,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/create-from-png.c:99,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/create-from-png.c:124,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/create-from-png.c:208,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/create-from-png.c:153,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/create-from-png.c:238,1
    - Dst: xasprintf
      Src: /src/cairo/test/create-from-png.c:270,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/create-from-png.c:297,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/create-from-png.c:112,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/create-from-png.c:252,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/create-from-png.c:307,1
    - Dst: free
      Src: /src/cairo/test/create-from-png.c:179,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/create-from-png.c:188,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/create-from-png.c:213,1
    - Dst: cairo_image_surface_create_from_png
      Src: /src/cairo/test/create-from-png.c:93,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/create-from-png.c:96,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/create-from-png.c:150,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/create-from-png.c:161,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/create-from-png.c:229,1
    - Dst: free
      Src: /src/cairo/test/create-from-png.c:263,1
    - Dst: cairo_image_surface_create_from_png
      Src: /src/cairo/test/create-from-png.c:271,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 220
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - cairo_test_context_t*
    constantsTouched: []
    func_position:
      end: 312
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 312
    functionName: preamble
    functionSourceFile: /src/cairo/test/create-from-png.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - cairo_surface_write_to_png_stream
    - cairo_image_surface_create_from_png_stream
    - cairo_image_surface_get_format
    - cairo_test_status_from_status
    - free
    - xasprintf
    - cairo_surface_status
    - cairo_surface_destroy
    - cairo_image_surface_create_from_png
    - cairo_status_to_string
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t preamble (cairo_test_context_t *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/create-from-png.c:47,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/create-from-png.c:58,1
    - Dst: xasprintf
      Src: /src/cairo/test/create-from-png.c:51,1
    - Dst: cairo_image_surface_create_from_png
      Src: /src/cairo/test/create-from-png.c:54,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/create-from-png.c:55,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/create-from-png.c:59,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/create-from-png.c:61,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/create-from-png.c:63,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/create-from-png.c:63,1
    - Dst: free
      Src: /src/cairo/test/create-from-png.c:66,1
    - Dst: cairo_surface_mark_dirty
      Src: /src/cairo/test/create-from-png.c:72,1
    - Dst: cairo_pattern_set_filter
      Src: /src/cairo/test/create-from-png.c:75,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/create-from-png.c:74,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/create-from-png.c:75,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/create-from-png.c:78,1
    - Dst: cairo_surface_flush
      Src: /src/cairo/test/create-from-png.c:71,1
    - Dst: free
      Src: /src/cairo/test/create-from-png.c:80,1
    - Dst: cairo_paint
      Src: /src/cairo/test/create-from-png.c:76,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 82
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 82
    functionName: draw
    functionSourceFile: /src/cairo/test/create-from-png.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - cairo_paint
    - cairo_surface_flush
    - cairo_test_status_from_status
    - cairo_test_get_context
    - free
    - xasprintf
    - cairo_surface_status
    - cairo_surface_mark_dirty
    - cairo_pattern_set_filter
    - cairo_get_source
    - cairo_surface_destroy
    - cairo_image_surface_create_from_png
    - cairo_set_source_surface
    - cairo_status_to_string
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - closure
    - data
    - size
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: read_error
    functionSourceFile: /src/cairo/test/create-from-png.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t read_error (void *closure, unsigned char *data,
      unsigned int size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record90.c:158,1
    - Dst: cairo_paint
      Src: /src/cairo/test/record90.c:159,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/record90.c:164,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/record90.c:163,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record90.c:161,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/record90.c:166,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/record90.c:169,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/record90.c:171,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/record90.c:174,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/record90.c:176,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/record90.c:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 182
    functionName: select_font_face
    functionSourceFile: /src/cairo/test/record90.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_show_text
    - cairo_set_font_size
    - cairo_select_font_face
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *select_font_face (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record90.c:233,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/record90.c:242,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/record90.c:243,1
    - Dst: cairo_fill
      Src: /src/cairo/test/record90.c:246,1
    - Dst: cairo_translate
      Src: /src/cairo/test/record90.c:249,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/record90.c:253,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/record90.c:258,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/record90.c:255,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/record90.c:250,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/record90.c:252,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/record90.c:251,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/record90.c:241,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/record90.c:254,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/record90.c:244,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/record90.c:259,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/record90.c:256,1
    - Dst: cairo_translate
      Src: /src/cairo/test/record90.c:236,1
    - Dst: cairo_paint
      Src: /src/cairo/test/record90.c:234,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record90.c:238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 262
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 262
    functionName: self_intersecting
    functionSourceFile: /src/cairo/test/record90.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgb
    - cairo_set_line_width
    - cairo_rel_line_to
    - cairo_close_path
    - cairo_stroke
    - cairo_fill
    - cairo_translate
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *self_intersecting (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_paint
      Src: /src/cairo/test/record90.c:192,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/record90.c:196,1
    - Dst: cos
      Src: /src/cairo/test/record90.c:217,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/record90.c:224,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record90.c:191,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/record90.c:195,1
    - Dst: cairo_translate
      Src: /src/cairo/test/record90.c:200,1
    - Dst: cairo_arc
      Src: /src/cairo/test/record90.c:201,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/record90.c:209,1
    - Dst: cairo_fill
      Src: /src/cairo/test/record90.c:211,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/record90.c:220,1
    - Dst: cairo_fill
      Src: /src/cairo/test/record90.c:197,1
    - Dst: cairo_translate
      Src: /src/cairo/test/record90.c:206,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/record90.c:216,1
    - Dst: cos
      Src: /src/cairo/test/record90.c:221,1
    - Dst: sin
      Src: /src/cairo/test/record90.c:222,1
    - Dst: cairo_fill
      Src: /src/cairo/test/record90.c:225,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/record90.c:202,1
    - Dst: cairo_fill
      Src: /src/cairo/test/record90.c:203,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/record90.c:208,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/record90.c:210,1
    - Dst: cairo_translate
      Src: /src/cairo/test/record90.c:214,1
    - Dst: sin
      Src: /src/cairo/test/record90.c:218,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/record90.c:207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 76
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 228
    functionName: fill_alpha
    functionSourceFile: /src/cairo/test/record90.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgba
    - cairo_line_to
    - cairo_arc
    - cos
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_translate
    - sin
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *fill_alpha (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_init
      Src: /src/cairo/test/record90.c:270,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/record90.c:277,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/test/record90.c:273,1
    - Dst: cairo_set_font_matrix
      Src: /src/cairo/test/record90.c:274,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/record90.c:276,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/record90.c:278,1
    - Dst: cairo_matrix_init_rotate
      Src: /src/cairo/test/record90.c:281,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/test/record90.c:282,1
    - Dst: cairo_set_font_matrix
      Src: /src/cairo/test/record90.c:283,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/record90.c:285,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/record90.c:287,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/test/record90.c:290,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/record90.c:286,1
    - Dst: cairo_set_font_matrix
      Src: /src/cairo/test/record90.c:291,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/record90.c:294,1
    - Dst: cairo_matrix_init_rotate
      Src: /src/cairo/test/record90.c:289,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/record90.c:293,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/record90.c:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 296
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 296
    functionName: draw_text_transform
    functionSourceFile: /src/cairo/test/record90.c
    functionUses: []
    functionsReached:
    - cairo_matrix_scale
    - cairo_show_text
    - cairo_new_path
    - cairo_set_font_matrix
    - cairo_matrix_init_rotate
    - cairo_move_to
    - cairo_matrix_init
    linkageType: ''
    returnType: void
    signature: 'static void draw_text_transform (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/test/record90.c:106,1
    - Dst: cairo_scale
      Src: /src/cairo/test/record90.c:114,1
    - Dst: cairo_test_paint_checkered
      Src: /src/cairo/test/record90.c:109,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/record90.c:111,1
    - Dst: cairo_clip
      Src: /src/cairo/test/record90.c:112,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/record90.c:116,1
    - Dst: cairo_pattern_set_filter
      Src: /src/cairo/test/record90.c:117,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/record90.c:117,1
    - Dst: cairo_paint_with_alpha
      Src: /src/cairo/test/record90.c:118,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/record90.c:120,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/record90.c:121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 124
    functionName: paint_alpha_clip
    functionSourceFile: /src/cairo/test/record90.c
    functionUses: []
    functionsReached:
    - cairo_paint_with_alpha
    - cairo_surface_finish
    - cairo_pattern_set_filter
    - cairo_test_paint_checkered
    - cairo_image_surface_create_for_data
    - cairo_get_source
    - cairo_surface_destroy
    - cairo_scale
    - cairo_clip
    - cairo_set_source_surface
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *paint_alpha_clip (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/record90.c:301,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/record90.c:309,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record90.c:307,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record90.c:304,1
    - Dst: cairo_paint
      Src: /src/cairo/test/record90.c:305,1
    - Dst: draw_text_transform
      Src: /src/cairo/test/record90.c:313,1
    - Dst: cairo_translate
      Src: /src/cairo/test/record90.c:315,1
    - Dst: cairo_rotate
      Src: /src/cairo/test/record90.c:316,1
    - Dst: cairo_test_create_pattern_from_png
      Src: /src/cairo/test/record90.c:318,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/record90.c:319,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/record90.c:320,1
    - Dst: draw_text_transform
      Src: /src/cairo/test/record90.c:323,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/record90.c:321,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 326
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 326
    functionName: text_transform
    functionSourceFile: /src/cairo/test/record90.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - draw_text_transform
    - cairo_test_get_context
    - cairo_pattern_set_extend
    - cairo_set_source
    - cairo_test_create_pattern_from_png
    - cairo_select_font_face
    - cairo_rotate
    - cairo_set_source_rgb
    - cairo_translate
    - cairo_pattern_destroy
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *text_transform (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay
      Src: /src/cairo/test/record90.c:390,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 391
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 391
    functionName: record_paint
    functionSourceFile: /src/cairo/test/record90.c
    functionUses: []
    functionsReached:
    - record_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_paint (cairo_t *cr, int width, int
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay
      Src: /src/cairo/test/record90.c:402,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 403
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 403
    functionName: record_paint_alpha_solid_clip
    functionSourceFile: /src/cairo/test/record90.c
    functionUses: []
    functionsReached:
    - record_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_paint_alpha_solid_clip (cairo_t
      *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay
      Src: /src/cairo/test/record90.c:426,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 427
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 427
    functionName: record_self_intersecting
    functionSourceFile: /src/cairo/test/record90.c
    functionUses: []
    functionsReached:
    - record_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_self_intersecting (cairo_t *cr,
      int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record90.c:53,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record90.c:59,1
    - Dst: cairo_scale
      Src: /src/cairo/test/record90.c:57,1
    - Dst: cairo_paint
      Src: /src/cairo/test/record90.c:54,1
    - Dst: cairo_translate
      Src: /src/cairo/test/record90.c:56,1
    - Dst: cairo_paint
      Src: /src/cairo/test/record90.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 63
    functionName: paint
    functionSourceFile: /src/cairo/test/record90.c
    functionUses: []
    functionsReached:
    - cairo_translate
    - cairo_paint
    - cairo_scale
    - cairo_set_source_rgb
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *paint (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/test/record90.c:131,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/record90.c:137,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/record90.c:136,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/record90.c:138,1
    - Dst: cairo_test_paint_checkered
      Src: /src/cairo/test/record90.c:134,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/record90.c:139,1
    - Dst: cairo_clip
      Src: /src/cairo/test/record90.c:140,1
    - Dst: cairo_scale
      Src: /src/cairo/test/record90.c:142,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/record90.c:144,1
    - Dst: cairo_pattern_set_filter
      Src: /src/cairo/test/record90.c:145,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/record90.c:148,1
    - Dst: cairo_paint_with_alpha
      Src: /src/cairo/test/record90.c:146,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/record90.c:145,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/record90.c:149,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 152
    functionName: paint_alpha_clip_mask
    functionSourceFile: /src/cairo/test/record90.c
    functionUses: []
    functionsReached:
    - cairo_paint_with_alpha
    - cairo_surface_finish
    - cairo_pattern_set_filter
    - cairo_line_to
    - cairo_test_paint_checkered
    - cairo_image_surface_create_for_data
    - cairo_get_source
    - cairo_surface_destroy
    - cairo_scale
    - cairo_clip
    - cairo_move_to
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *paint_alpha_clip_mask (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay
      Src: /src/cairo/test/record90.c:396,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 397
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 397
    functionName: record_paint_alpha
    functionSourceFile: /src/cairo/test/record90.c
    functionUses: []
    functionsReached:
    - record_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_paint_alpha (cairo_t *cr, int width,
      int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay
      Src: /src/cairo/test/record90.c:408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 409
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 409
    functionName: record_paint_alpha_clip
    functionSourceFile: /src/cairo/test/record90.c
    functionUses: []
    functionsReached:
    - record_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_paint_alpha_clip (cairo_t *cr, int
      width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay
      Src: /src/cairo/test/record90.c:432,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 433
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 433
    functionName: record_select_font_face
    functionSourceFile: /src/cairo/test/record90.c
    functionUses: []
    functionsReached:
    - record_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_select_font_face (cairo_t *cr, int
      width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay
      Src: /src/cairo/test/record90.c:438,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 439
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 439
    functionName: record_text_transform
    functionSourceFile: /src/cairo/test/record90.c
    functionUses: []
    functionsReached:
    - record_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_text_transform (cairo_t *cr, int
      width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_recording_surface_create
      Src: /src/cairo/test/record90.c:336,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/record90.c:336,1
    - Dst: cairo_surface_get_content
      Src: /src/cairo/test/record90.c:336,1
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/record90.c:337,1
    - Dst: cairo_test_create
      Src: /src/cairo/test/record90.c:337,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/record90.c:338,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 341
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 341
    functionName: record_create
    functionSourceFile: /src/cairo/test/record90.c
    functionUses: []
    functionsReached:
    - cairo_test_get_context
    - cairo_test_create
    - cairo_surface_destroy
    - cairo_get_target
    - cairo_surface_get_content
    - cairo_recording_surface_create
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *record_create (cairo_t *target) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/test/record90.c:70,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/record90.c:77,1
    - Dst: cairo_scale
      Src: /src/cairo/test/record90.c:75,1
    - Dst: cairo_test_paint_checkered
      Src: /src/cairo/test/record90.c:73,1
    - Dst: cairo_pattern_set_filter
      Src: /src/cairo/test/record90.c:78,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/record90.c:78,1
    - Dst: cairo_paint_with_alpha
      Src: /src/cairo/test/record90.c:79,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/record90.c:81,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/record90.c:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 85
    functionName: paint_alpha
    functionSourceFile: /src/cairo/test/record90.c
    functionUses: []
    functionsReached:
    - cairo_paint_with_alpha
    - cairo_surface_finish
    - cairo_pattern_set_filter
    - cairo_test_paint_checkered
    - cairo_image_surface_create_for_data
    - cairo_get_source
    - cairo_surface_destroy
    - cairo_scale
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *paint_alpha (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_reference
      Src: /src/cairo/test/record90.c:348,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/record90.c:348,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/record90.c:349,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 352
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 352
    functionName: record_get
    functionSourceFile: /src/cairo/test/record90.c
    functionUses: []
    functionsReached:
    - cairo_destroy
    - cairo_surface_reference
    - cairo_get_target
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *record_get (cairo_t *target) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay
      Src: /src/cairo/test/record90.c:414,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 415
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 415
    functionName: record_paint_alpha_clip_mask
    functionSourceFile: /src/cairo/test/record90.c
    functionUses: []
    functionsReached:
    - record_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_paint_alpha_clip_mask (cairo_t *cr,
      int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_paint_checkered
      Src: /src/cairo/test/record90.c:90,1
    - Dst: cairo_clip
      Src: /src/cairo/test/record90.c:93,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record90.c:95,1
    - Dst: cairo_paint_with_alpha
      Src: /src/cairo/test/record90.c:96,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/record90.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 99
    functionName: paint_alpha_solid_clip
    functionSourceFile: /src/cairo/test/record90.c
    functionUses: []
    functionsReached:
    - cairo_paint_with_alpha
    - cairo_test_paint_checkered
    - cairo_set_source_rgb
    - cairo_clip
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *paint_alpha_solid_clip (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_translate
      Src: /src/cairo/test/record90.c:361,1
    - Dst: record_get
      Src: /src/cairo/test/record90.c:365,1
    - Dst: func
      Src: /src/cairo/test/record90.c:365,1
    - Dst: cairo_rotate
      Src: /src/cairo/test/record90.c:362,1
    - Dst: func
      Src: /src/cairo/test/record90.c:363,1
    - Dst: record_create
      Src: /src/cairo/test/record90.c:365,1
    - Dst: cairo_translate
      Src: /src/cairo/test/record90.c:367,1
    - Dst: cairo_rotate
      Src: /src/cairo/test/record90.c:368,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/record90.c:369,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/record90.c:370,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/record90.c:372,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/record90.c:376,1
    - Dst: cairo_clip
      Src: /src/cairo/test/record90.c:377,1
    - Dst: cairo_paint
      Src: /src/cairo/test/record90.c:378,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/record90.c:371,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/record90.c:372,1
    - Dst: cairo_reset_clip
      Src: /src/cairo/test/record90.c:379,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 4
    argNames:
    - cr
    - (*func)
    - width
    - height
    argTypes:
    - cairo_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 385
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 385
    functionName: record_replay
    functionSourceFile: /src/cairo/test/record90.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - func
    - cairo_get_source
    - record_create
    - record_get
    - cairo_surface_destroy
    - cairo_pattern_set_extend
    - cairo_set_operator
    - cairo_rotate
    - cairo_translate
    - cairo_clip
    - cairo_reset_clip
    - cairo_set_source_surface
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_replay (cairo_t *cr, cairo_t *(*func)(cairo_t
      *), int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay
      Src: /src/cairo/test/record90.c:420,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 421
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 421
    functionName: record_fill_alpha
    functionSourceFile: /src/cairo/test/record90.c
    functionUses: []
    functionsReached:
    - record_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_fill_alpha (cairo_t *cr, int width,
      int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_matrix
      Src: /src/cairo/test/bug-431.c:36,1
    - Dst: cairo_test_create_surface_from_png
      Src: /src/cairo/test/bug-431.c:39,1
    - Dst: cairo_pattern_create_for_surface
      Src: /src/cairo/test/bug-431.c:40,1
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/bug-431.c:38,1
    - Dst: cairo_pattern_set_matrix
      Src: /src/cairo/test/bug-431.c:48,1
    - Dst: cairo_pattern_create_rgba
      Src: /src/cairo/test/bug-431.c:49,1
    - Dst: cairo_save
      Src: /src/cairo/test/bug-431.c:50,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/bug-431.c:51,1
    - Dst: cairo_mask
      Src: /src/cairo/test/bug-431.c:52,1
    - Dst: cairo_restore
      Src: /src/cairo/test/bug-431.c:53,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/bug-431.c:56,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/bug-431.c:57,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/bug-431.c:55,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 60
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 60
    functionName: draw
    functionSourceFile: /src/cairo/test/bug-431.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_for_surface
    - cairo_test_create_surface_from_png
    - cairo_test_get_context
    - cairo_pattern_create_rgba
    - cairo_save
    - cairo_pattern_set_matrix
    - cairo_mask
    - cairo_set_source
    - cairo_surface_destroy
    - cairo_restore
    - cairo_pattern_destroy
    - cairo_set_matrix
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - A
    - B
    argTypes:
    - cairo_text_extents_t*
    - cairo_text_extents_t*
    constantsTouched: []
    func_position:
      end: 55
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 55
    functionName: text_extents_equal
    functionSourceFile: /src/cairo/test/text-zero-len.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t text_extents_equal (const cairo_text_extents_t\
      \ *A,\t const cairo_text_extents_t *B) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/text-zero-len.c:71,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/text-zero-len.c:81,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/text-zero-len.c:82,1
    - Dst: cairo_text_extents
      Src: /src/cairo/test/text-zero-len.c:96,1
    - Dst: cairo_text_path
      Src: /src/cairo/test/text-zero-len.c:89,1
    - Dst: text_extents_equal
      Src: /src/cairo/test/text-zero-len.c:107,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/text-zero-len.c:108,1
    - Dst: cairo_glyph_extents
      Src: /src/cairo/test/text-zero-len.c:116,1
    - Dst: memset
      Src: /src/cairo/test/text-zero-len.c:127,1
    - Dst: memset
      Src: /src/cairo/test/text-zero-len.c:160,1
    - Dst: memset
      Src: /src/cairo/test/text-zero-len.c:170,1
    - Dst: font_extents_equal
      Src: /src/cairo/test/text-zero-len.c:174,1
    - Dst: font_extents_equal
      Src: /src/cairo/test/text-zero-len.c:186,1
    - Dst: memset
      Src: /src/cairo/test/text-zero-len.c:184,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/text-zero-len.c:83,1
    - Dst: cairo_glyph_path
      Src: /src/cairo/test/text-zero-len.c:90,1
    - Dst: memset
      Src: /src/cairo/test/text-zero-len.c:93,1
    - Dst: text_extents_equal
      Src: /src/cairo/test/text-zero-len.c:97,1
    - Dst: memset
      Src: /src/cairo/test/text-zero-len.c:115,1
    - Dst: text_extents_equal
      Src: /src/cairo/test/text-zero-len.c:117,1
    - Dst: cairo_scaled_font_text_extents
      Src: /src/cairo/test/text-zero-len.c:128,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/text-zero-len.c:130,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/text-zero-len.c:140,1
    - Dst: cairo_scaled_font_glyph_extents
      Src: /src/cairo/test/text-zero-len.c:148,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/text-zero-len.c:187,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/text-zero-len.c:163,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/text-zero-len.c:175,1
    - Dst: text_extents_equal
      Src: /src/cairo/test/text-zero-len.c:139,1
    - Dst: cairo_text_extents
      Src: /src/cairo/test/text-zero-len.c:161,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/text-zero-len.c:79,1
    - Dst: cairo_show_glyphs
      Src: /src/cairo/test/text-zero-len.c:84,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/text-zero-len.c:98,1
    - Dst: text_extents_equal
      Src: /src/cairo/test/text-zero-len.c:129,1
    - Dst: memset
      Src: /src/cairo/test/text-zero-len.c:137,1
    - Dst: cairo_scaled_font_text_extents
      Src: /src/cairo/test/text-zero-len.c:138,1
    - Dst: memset
      Src: /src/cairo/test/text-zero-len.c:147,1
    - Dst: text_extents_equal
      Src: /src/cairo/test/text-zero-len.c:149,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/text-zero-len.c:150,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/text-zero-len.c:158,1
    - Dst: cairo_font_extents
      Src: /src/cairo/test/text-zero-len.c:173,1
    - Dst: cairo_get_scaled_font
      Src: /src/cairo/test/text-zero-len.c:182,1
    - Dst: cairo_scaled_font_extents
      Src: /src/cairo/test/text-zero-len.c:185,1
    - Dst: memset
      Src: /src/cairo/test/text-zero-len.c:172,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/text-zero-len.c:76,1
    - Dst: cairo_show_glyphs
      Src: /src/cairo/test/text-zero-len.c:85,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/text-zero-len.c:87,1
    - Dst: cairo_text_path
      Src: /src/cairo/test/text-zero-len.c:88,1
    - Dst: memset
      Src: /src/cairo/test/text-zero-len.c:95,1
    - Dst: memset
      Src: /src/cairo/test/text-zero-len.c:105,1
    - Dst: cairo_fill
      Src: /src/cairo/test/text-zero-len.c:91,1
    - Dst: cairo_text_extents
      Src: /src/cairo/test/text-zero-len.c:106,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/text-zero-len.c:118,1
    - Dst: cairo_get_scaled_font
      Src: /src/cairo/test/text-zero-len.c:125,1
    - Dst: text_extents_equal
      Src: /src/cairo/test/text-zero-len.c:162,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 75
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 195
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 195
    functionName: draw
    functionSourceFile: /src/cairo/test/text-zero-len.c
    functionUses: []
    functionsReached:
    - cairo_get_scaled_font
    - cairo_show_glyphs
    - cairo_text_path
    - cairo_scaled_font_text_extents
    - cairo_select_font_face
    - text_extents_equal
    - cairo_scaled_font_extents
    - cairo_show_text
    - cairo_test_get_context
    - cairo_glyph_extents
    - cairo_test_log
    - cairo_font_extents
    - cairo_scaled_font_glyph_extents
    - cairo_glyph_path
    - cairo_fill
    - cairo_text_extents
    - cairo_move_to
    - cairo_set_font_size
    - font_extents_equal
    - memset
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - A
    - B
    argTypes:
    - cairo_font_extents_t*
    - cairo_font_extents_t*
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: font_extents_equal
    functionSourceFile: /src/cairo/test/text-zero-len.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t font_extents_equal (const cairo_font_extents_t\
      \ *A,\t const cairo_font_extents_t *B) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/test/close-path.c:36,1
    - Dst: cairo_arc
      Src: /src/cairo/test/close-path.c:44,1
    - Dst: cairo_paint
      Src: /src/cairo/test/close-path.c:38,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/close-path.c:37,1
    - Dst: cairo_restore
      Src: /src/cairo/test/close-path.c:39,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/close-path.c:45,1
    - Dst: cairo_arc
      Src: /src/cairo/test/close-path.c:46,1
    - Dst: cairo_fill
      Src: /src/cairo/test/close-path.c:48,1
    - Dst: cairo_translate
      Src: /src/cairo/test/close-path.c:50,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/close-path.c:54,1
    - Dst: cairo_copy_path_flat
      Src: /src/cairo/test/close-path.c:62,1
    - Dst: cairo_path_destroy
      Src: /src/cairo/test/close-path.c:65,1
    - Dst: cairo_append_path
      Src: /src/cairo/test/close-path.c:64,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/close-path.c:63,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/close-path.c:57,1
    - Dst: cairo_arc_negative
      Src: /src/cairo/test/close-path.c:55,1
    - Dst: cairo_fill
      Src: /src/cairo/test/close-path.c:67,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/close-path.c:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 70
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 70
    functionName: draw
    functionSourceFile: /src/cairo/test/close-path.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_new_path
    - cairo_curve_to
    - cairo_arc
    - cairo_path_destroy
    - cairo_save
    - cairo_append_path
    - cairo_close_path
    - cairo_restore
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_translate
    - cairo_arc_negative
    - cairo_copy_path_flat
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/subsurface-modify-child.c:33,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/subsurface-modify-child.c:42,1
    - Dst: cairo_create
      Src: /src/cairo/test/subsurface-modify-child.c:51,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/subsurface-modify-child.c:70,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/subsurface-modify-child.c:75,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/subsurface-modify-child.c:82,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/subsurface-modify-child.c:82,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/subsurface-modify-child.c:83,1
    - Dst: cairo_fill
      Src: /src/cairo/test/subsurface-modify-child.c:85,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/test/subsurface-modify-child.c:77,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/subsurface-modify-child.c:87,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/subsurface-modify-child.c:36,1
    - Dst: cairo_paint
      Src: /src/cairo/test/subsurface-modify-child.c:34,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/subsurface-modify-child.c:43,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/test/subsurface-modify-child.c:45,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/subsurface-modify-child.c:46,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/subsurface-modify-child.c:52,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/subsurface-modify-child.c:54,1
    - Dst: cairo_fill
      Src: /src/cairo/test/subsurface-modify-child.c:56,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/subsurface-modify-child.c:45,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/subsurface-modify-child.c:58,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/subsurface-modify-child.c:63,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/subsurface-modify-child.c:77,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/subsurface-modify-child.c:67,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/subsurface-modify-child.c:78,1
    - Dst: cairo_create
      Src: /src/cairo/test/subsurface-modify-child.c:41,1
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/subsurface-modify-child.c:36,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/subsurface-modify-child.c:43,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/subsurface-modify-child.c:74,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/subsurface-modify-child.c:84,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/subsurface-modify-child.c:81,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/subsurface-modify-child.c:59,1
    - Dst: cairo_paint
      Src: /src/cairo/test/subsurface-modify-child.c:44,1
    - Dst: cairo_surface_create_for_rectangle
      Src: /src/cairo/test/subsurface-modify-child.c:49,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/subsurface-modify-child.c:55,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/subsurface-modify-child.c:49,1
    - Dst: cairo_fill
      Src: /src/cairo/test/subsurface-modify-child.c:60,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/subsurface-modify-child.c:62,1
    - Dst: cairo_fill
      Src: /src/cairo/test/subsurface-modify-child.c:64,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/subsurface-modify-child.c:66,1
    - Dst: cairo_fill
      Src: /src/cairo/test/subsurface-modify-child.c:68,1
    - Dst: cairo_create
      Src: /src/cairo/test/subsurface-modify-child.c:73,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/subsurface-modify-child.c:75,1
    - Dst: cairo_paint
      Src: /src/cairo/test/subsurface-modify-child.c:76,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 52
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 90
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 90
    functionName: draw
    functionSourceFile: /src/cairo/test/subsurface-modify-child.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_surface_create_for_rectangle
    - cairo_surface_reference
    - cairo_get_source
    - cairo_create
    - cairo_surface_destroy
    - cairo_pattern_set_extend
    - cairo_get_target
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_destroy
    - cairo_surface_create_similar
    - cairo_set_source_surface
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_create
      Src: /src/cairo/test/filter-bilinear-extents.c:61,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/filter-bilinear-extents.c:64,1
    - Dst: cairo_restore
      Src: /src/cairo/test/filter-bilinear-extents.c:68,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/filter-bilinear-extents.c:80,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/filter-bilinear-extents.c:84,1
    - Dst: cairo_restore
      Src: /src/cairo/test/filter-bilinear-extents.c:89,1
    - Dst: cairo_scale
      Src: /src/cairo/test/filter-bilinear-extents.c:58,1
    - Dst: cairo_save
      Src: /src/cairo/test/filter-bilinear-extents.c:57,1
    - Dst: cairo_paint
      Src: /src/cairo/test/filter-bilinear-extents.c:63,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/filter-bilinear-extents.c:66,1
    - Dst: cairo_pattern_set_filter
      Src: /src/cairo/test/filter-bilinear-extents.c:66,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/filter-bilinear-extents.c:78,1
    - Dst: cairo_paint
      Src: /src/cairo/test/filter-bilinear-extents.c:79,1
    - Dst: cairo_fill
      Src: /src/cairo/test/filter-bilinear-extents.c:83,1
    - Dst: cairo_pattern_set_filter
      Src: /src/cairo/test/filter-bilinear-extents.c:87,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/filter-bilinear-extents.c:87,1
    - Dst: cairo_paint
      Src: /src/cairo/test/filter-bilinear-extents.c:54,1
    - Dst: cairo_paint
      Src: /src/cairo/test/filter-bilinear-extents.c:67,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/filter-bilinear-extents.c:65,1
    - Dst: cairo_create
      Src: /src/cairo/test/filter-bilinear-extents.c:77,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/filter-bilinear-extents.c:81,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/filter-bilinear-extents.c:85,1
    - Dst: cairo_paint
      Src: /src/cairo/test/filter-bilinear-extents.c:88,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/filter-bilinear-extents.c:91,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/filter-bilinear-extents.c:50,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/filter-bilinear-extents.c:53,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/filter-bilinear-extents.c:62,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/filter-bilinear-extents.c:64,1
    - Dst: cairo_translate
      Src: /src/cairo/test/filter-bilinear-extents.c:74,1
    - Dst: cairo_scale
      Src: /src/cairo/test/filter-bilinear-extents.c:73,1
    - Dst: cairo_translate
      Src: /src/cairo/test/filter-bilinear-extents.c:72,1
    - Dst: cairo_save
      Src: /src/cairo/test/filter-bilinear-extents.c:71,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/filter-bilinear-extents.c:82,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/filter-bilinear-extents.c:84,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 40
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 94
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 94
    functionName: draw
    functionSourceFile: /src/cairo/test/filter-bilinear-extents.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_translate
    - cairo_pattern_set_filter
    - cairo_get_source
    - cairo_create
    - cairo_save
    - cairo_surface_destroy
    - cairo_scale
    - cairo_image_surface_create
    - cairo_restore
    - cairo_get_target
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_destroy
    - cairo_set_source_surface
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/test/gradient-zero-stops.c:39,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/gradient-zero-stops.c:42,1
    - Dst: cairo_pattern_create_radial
      Src: /src/cairo/test/gradient-zero-stops.c:44,1
    - Dst: cairo_paint
      Src: /src/cairo/test/gradient-zero-stops.c:41,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/gradient-zero-stops.c:40,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/gradient-zero-stops.c:45,1
    - Dst: cairo_paint
      Src: /src/cairo/test/gradient-zero-stops.c:46,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/gradient-zero-stops.c:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 50
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 50
    functionName: draw
    functionSourceFile: /src/cairo/test/gradient-zero-stops.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_pattern_create_linear
    - cairo_set_source
    - cairo_pattern_create_radial
    - cairo_pattern_destroy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_rectangle
      Src: /src/cairo/test/fill-and-stroke-alpha.c:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: rectangle
    functionSourceFile: /src/cairo/test/fill-and-stroke-alpha.c
    functionUses: []
    functionsReached:
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void rectangle (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pattern_create_rgb
      Src: /src/cairo/test/fill-and-stroke-alpha.c:78,1
    - Dst: cairo_translate
      Src: /src/cairo/test/fill-and-stroke-alpha.c:85,1
    - Dst: cairo_pattern_create_rgb
      Src: /src/cairo/test/fill-and-stroke-alpha.c:79,1
    - Dst: fill_and_stroke_alpha
      Src: /src/cairo/test/fill-and-stroke-alpha.c:83,1
    - Dst: cairo_test_paint_checkered
      Src: /src/cairo/test/fill-and-stroke-alpha.c:81,1
    - Dst: fill_and_stroke_alpha
      Src: /src/cairo/test/fill-and-stroke-alpha.c:87,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/fill-and-stroke-alpha.c:89,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/fill-and-stroke-alpha.c:90,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 93
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 93
    functionName: draw
    functionSourceFile: /src/cairo/test/fill-and-stroke-alpha.c
    functionUses: []
    functionsReached:
    - cairo_test_paint_checkered
    - cairo_pattern_create_rgb
    - cairo_translate
    - cairo_pattern_destroy
    - fill_and_stroke_alpha
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_push_group
      Src: /src/cairo/test/fill-and-stroke-alpha.c:60,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/test/fill-and-stroke-alpha.c:64,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/fill-and-stroke-alpha.c:63,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/fill-and-stroke-alpha.c:65,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/fill-and-stroke-alpha.c:66,1
    - Dst: cairo_pop_group_to_source
      Src: /src/cairo/test/fill-and-stroke-alpha.c:68,1
    - Dst: cairo_paint_with_alpha
      Src: /src/cairo/test/fill-and-stroke-alpha.c:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 5
    argNames:
    - cr
    - path_func
    - fill_pattern
    - stroke_pattern
    - alpha
    argTypes:
    - cairo_t*
    - path_func_t
    - cairo_pattern_t*
    - cairo_pattern_t*
    - double
    constantsTouched: []
    func_position:
      end: 70
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 70
    functionName: fill_and_stroke_alpha
    functionSourceFile: /src/cairo/test/fill-and-stroke-alpha.c
    functionUses: []
    functionsReached:
    - cairo_paint_with_alpha
    - cairo_pop_group_to_source
    - cairo_set_source
    - cairo_stroke
    - cairo_push_group
    - cairo_fill_preserve
    linkageType: ''
    returnType: void
    signature: "static void fill_and_stroke_alpha (cairo_t\t\t*cr,\t\t path_func_t\t\
      \ path_func,\t\t cairo_pattern_t\t*fill_pattern,\t\t cairo_pattern_t\t*stroke_pattern,\t\
      \t double\t\t alpha) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_arc
      Src: /src/cairo/test/fill-and-stroke-alpha.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: circle
    functionSourceFile: /src/cairo/test/fill-and-stroke-alpha.c
    functionUses: []
    functionsReached:
    - cairo_arc
    linkageType: ''
    returnType: void
    signature: 'static void circle (cairo_t *cr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/cairo/test/multi-page.c:62,1
    - Dst: cos
      Src: /src/cairo/test/multi-page.c:62,1
    - Dst: cairo_arc
      Src: /src/cairo/test/multi-page.c:76,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/multi-page.c:87,1
    - Dst: cairo_arc
      Src: /src/cairo/test/multi-page.c:90,1
    - Dst: cairo_fill
      Src: /src/cairo/test/multi-page.c:89,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/multi-page.c:100,1
    - Dst: cairo_translate
      Src: /src/cairo/test/multi-page.c:72,1
    - Dst: cairo_scale
      Src: /src/cairo/test/multi-page.c:73,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/multi-page.c:94,1
    - Dst: cairo_restore
      Src: /src/cairo/test/multi-page.c:102,1
    - Dst: cairo_save
      Src: /src/cairo/test/multi-page.c:65,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/multi-page.c:77,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/test/multi-page.c:78,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/multi-page.c:80,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/multi-page.c:84,1
    - Dst: cairo_fill
      Src: /src/cairo/test/multi-page.c:91,1
    - Dst: cairo_arc
      Src: /src/cairo/test/multi-page.c:88,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/multi-page.c:96,1
    - Dst: sqrt
      Src: /src/cairo/test/multi-page.c:63,1
    - Dst: sin
      Src: /src/cairo/test/multi-page.c:63,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/multi-page.c:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 47
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - smile_ratio
    argTypes:
    - cairo_t*
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 103
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 103
    functionName: draw_smiley
    functionSourceFile: /src/cairo/test/multi-page.c
    functionUses: []
    functionsReached:
    - cairo_set_source_rgb
    - cairo_set_line_width
    - cairo_move_to
    - cos
    - cairo_arc
    - cairo_curve_to
    - cairo_save
    - sqrt
    - cairo_scale
    - cairo_stroke
    - cairo_restore
    - cairo_fill
    - cairo_translate
    - sin
    - cairo_fill_preserve
    linkageType: ''
    returnType: void
    signature: 'static void draw_smiley (cairo_t *cr, double width, double height,
      double smile_ratio) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_mkdir
      Src: /src/cairo/test/multi-page.c:137,1
    - Dst: cairo_test_is_target_enabled
      Src: /src/cairo/test/multi-page.c:141,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/multi-page.c:176,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/multi-page.c:175,1
    - Dst: printf
      Src: /src/cairo/test/multi-page.c:184,1
    - Dst: free
      Src: /src/cairo/test/multi-page.c:185,1
    - Dst: xasprintf
      Src: /src/cairo/test/multi-page.c:146,1
    - Dst: cairo_ps_surface_create
      Src: /src/cairo/test/multi-page.c:147,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/multi-page.c:149,1
    - Dst: printf
      Src: /src/cairo/test/multi-page.c:160,1
    - Dst: free
      Src: /src/cairo/test/multi-page.c:161,1
    - Dst: draw_some_pages
      Src: /src/cairo/test/multi-page.c:180,1
    - Dst: draw_some_pages
      Src: /src/cairo/test/multi-page.c:156,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/multi-page.c:173,1
    - Dst: cairo_test_is_target_enabled
      Src: /src/cairo/test/multi-page.c:166,1
    - Dst: cairo_pdf_surface_create
      Src: /src/cairo/test/multi-page.c:171,1
    - Dst: xasprintf
      Src: /src/cairo/test/multi-page.c:170,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/multi-page.c:182,1
    - Dst: cairo_test_is_target_enabled
      Src: /src/cairo/test/multi-page.c:140,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/multi-page.c:151,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/multi-page.c:152,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/multi-page.c:158,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - cairo_test_context_t*
    constantsTouched: []
    func_position:
      end: 190
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 190
    functionName: preamble
    functionSourceFile: /src/cairo/test/multi-page.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - printf
    - free
    - xasprintf
    - cairo_surface_status
    - cairo_test_mkdir
    - draw_some_pages
    - cairo_pdf_surface_create
    - cairo_surface_destroy
    - cairo_test_is_target_enabled
    - cairo_ps_surface_create
    - cairo_status_to_string
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t preamble (cairo_test_context_t *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_create
      Src: /src/cairo/test/multi-page.c:111,1
    - Dst: draw_smiley
      Src: /src/cairo/test/multi-page.c:115,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/multi-page.c:127,1
    - Dst: cairo_copy_page
      Src: /src/cairo/test/multi-page.c:122,1
    - Dst: cairo_show_page
      Src: /src/cairo/test/multi-page.c:124,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 128
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 128
    functionName: draw_some_pages
    functionSourceFile: /src/cairo/test/multi-page.c
    functionUses: []
    functionsReached:
    - cairo_show_page
    - cairo_destroy
    - cairo_create
    - cairo_copy_page
    - draw_smiley
    linkageType: ''
    returnType: void
    signature: 'static void draw_some_pages (cairo_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_paint
      Src: /src/cairo/test/bug-bo-ricotz.c:34,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/bug-bo-ricotz.c:38,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/bug-bo-ricotz.c:35,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/bug-bo-ricotz.c:39,1
    - Dst: cairo_clip
      Src: /src/cairo/test/bug-bo-ricotz.c:41,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/bug-bo-ricotz.c:52,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/bug-bo-ricotz.c:54,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/bug-bo-ricotz.c:55,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/bug-bo-ricotz.c:56,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/bug-bo-ricotz.c:57,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/bug-bo-ricotz.c:58,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/bug-bo-ricotz.c:60,1
    - Dst: cairo_fill
      Src: /src/cairo/test/bug-bo-ricotz.c:63,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/bug-bo-ricotz.c:59,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/bug-bo-ricotz.c:37,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/bug-bo-ricotz.c:40,1
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/test/bug-bo-ricotz.c:43,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/bug-bo-ricotz.c:45,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/bug-bo-ricotz.c:46,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/bug-bo-ricotz.c:47,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/bug-bo-ricotz.c:51,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/bug-bo-ricotz.c:48,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/bug-bo-ricotz.c:49,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/bug-bo-ricotz.c:50,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/bug-bo-ricotz.c:61,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/bug-bo-ricotz.c:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 66
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 66
    functionName: draw
    functionSourceFile: /src/cairo/test/bug-bo-ricotz.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_line_to
    - cairo_curve_to
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_set_fill_rule
    - cairo_clip
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_scaled_font_text_to_glyphs
      Src: /src/cairo/test/show-glyphs-many.c:93,1
    - Dst: cairo_glyph_free
      Src: /src/cairo/test/show-glyphs-many.c:104,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/show-glyphs-many.c:100,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - scaled_font
    - utf8
    - glyph
    argTypes:
    - cairo_test_context_t*
    - cairo_scaled_font_t*
    - char*
    - cairo_glyph_t*
    constantsTouched: []
    func_position:
      end: 108
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 108
    functionName: get_glyph
    functionSourceFile: /src/cairo/test/show-glyphs-many.c
    functionUses: []
    functionsReached:
    - cairo_scaled_font_text_to_glyphs
    - cairo_glyph_free
    - cairo_test_status_from_status
    linkageType: ''
    returnType: cairo_test_status_t
    signature: "static cairo_test_status_t get_glyph (const cairo_test_context_t *ctx,\t\
      \ cairo_scaled_font_t *scaled_font,\t const char *utf8,\t cairo_glyph_t *glyph) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/show-glyphs-many.c:113,1
    - Dst: xmalloc
      Src: /src/cairo/test/show-glyphs-many.c:114,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/show-glyphs-many.c:128,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/show-glyphs-many.c:125,1
    - Dst: cairo_paint
      Src: /src/cairo/test/show-glyphs-many.c:126,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/show-glyphs-many.c:131,1
    - Dst: cairo_get_scaled_font
      Src: /src/cairo/test/show-glyphs-many.c:132,1
    - Dst: get_glyph
      Src: /src/cairo/test/show-glyphs-many.c:135,1
    - Dst: cairo_show_glyphs
      Src: /src/cairo/test/show-glyphs-many.c:145,1
    - Dst: get_glyph
      Src: /src/cairo/test/show-glyphs-many.c:150,1
    - Dst: free
      Src: /src/cairo/test/show-glyphs-many.c:165,1
    - Dst: get_glyph
      Src: /src/cairo/test/show-glyphs-many.c:156,1
    - Dst: cairo_show_glyphs
      Src: /src/cairo/test/show-glyphs-many.c:162,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 36
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 168
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 168
    functionName: draw
    functionSourceFile: /src/cairo/test/show-glyphs-many.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_get_scaled_font
    - cairo_show_glyphs
    - xmalloc
    - cairo_test_get_context
    - get_glyph
    - free
    - cairo_set_font_size
    - cairo_select_font_face
    - cairo_set_source_rgb
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-disjoint-hatching.c:36,1
    - Dst: cairo_translate
      Src: /src/cairo/test/clip-disjoint-hatching.c:41,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-disjoint-hatching.c:37,1
    - Dst: cairo_rotate
      Src: /src/cairo/test/clip-disjoint-hatching.c:40,1
    - Dst: cairo_translate
      Src: /src/cairo/test/clip-disjoint-hatching.c:39,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-disjoint-hatching.c:44,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-disjoint-hatching.c:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 47
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 47
    functionName: hatching
    functionSourceFile: /src/cairo/test/clip-disjoint-hatching.c
    functionUses: []
    functionsReached:
    - cairo_translate
    - cairo_clip
    - cairo_rotate
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void hatching (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_operator
      Src: /src/cairo/test/clip-disjoint-hatching.c:51,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-disjoint-hatching.c:52,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-disjoint-hatching.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: background
    functionSourceFile: /src/cairo/test/clip-disjoint-hatching.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_operator
    - cairo_set_source_rgb
    linkageType: ''
    returnType: void
    signature: 'static void background (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-disjoint-hatching.c:62,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-disjoint-hatching.c:69,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-disjoint-hatching.c:66,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 70
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 70
    functionName: clip_to_grid
    functionSourceFile: /src/cairo/test/clip-disjoint-hatching.c
    functionUses: []
    functionsReached:
    - cairo_clip
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void clip_to_grid (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: background
      Src: /src/cairo/test/clip-disjoint-hatching.c:75,1
    - Dst: hatching
      Src: /src/cairo/test/clip-disjoint-hatching.c:81,1
    - Dst: cairo_save
      Src: /src/cairo/test/clip-disjoint-hatching.c:79,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/clip-disjoint-hatching.c:77,1
    - Dst: clip_to_grid
      Src: /src/cairo/test/clip-disjoint-hatching.c:80,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-disjoint-hatching.c:82,1
    - Dst: cairo_fill
      Src: /src/cairo/test/clip-disjoint-hatching.c:83,1
    - Dst: cairo_restore
      Src: /src/cairo/test/clip-disjoint-hatching.c:84,1
    - Dst: cairo_translate
      Src: /src/cairo/test/clip-disjoint-hatching.c:86,1
    - Dst: cairo_save
      Src: /src/cairo/test/clip-disjoint-hatching.c:88,1
    - Dst: clip_to_grid
      Src: /src/cairo/test/clip-disjoint-hatching.c:89,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-disjoint-hatching.c:91,1
    - Dst: cairo_fill
      Src: /src/cairo/test/clip-disjoint-hatching.c:92,1
    - Dst: cairo_restore
      Src: /src/cairo/test/clip-disjoint-hatching.c:93,1
    - Dst: hatching
      Src: /src/cairo/test/clip-disjoint-hatching.c:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 96
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 96
    functionName: draw
    functionSourceFile: /src/cairo/test/clip-disjoint-hatching.c
    functionUses: []
    functionsReached:
    - clip_to_grid
    - background
    - cairo_save
    - cairo_restore
    - cairo_set_operator
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_translate
    - hatching
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_rectangle
      Src: /src/cairo/test/bug-bo-rectangular.c:30,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 5
    argNames:
    - cr
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: rect
    functionSourceFile: /src/cairo/test/bug-bo-rectangular.c
    functionUses: []
    functionsReached:
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void rect (cairo_t *cr, int x1, int y1, int x2, int y2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/bug-bo-rectangular.c:36,1
    - Dst: rect
      Src: /src/cairo/test/bug-bo-rectangular.c:43,1
    - Dst: cairo_scale
      Src: /src/cairo/test/bug-bo-rectangular.c:41,1
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/test/bug-bo-rectangular.c:39,1
    - Dst: cairo_paint
      Src: /src/cairo/test/bug-bo-rectangular.c:37,1
    - Dst: rect
      Src: /src/cairo/test/bug-bo-rectangular.c:44,1
    - Dst: cairo_clip
      Src: /src/cairo/test/bug-bo-rectangular.c:45,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/bug-bo-rectangular.c:47,1
    - Dst: cairo_paint
      Src: /src/cairo/test/bug-bo-rectangular.c:48,1
    - Dst: rect
      Src: /src/cairo/test/bug-bo-rectangular.c:50,1
    - Dst: rect
      Src: /src/cairo/test/bug-bo-rectangular.c:51,1
    - Dst: cairo_fill
      Src: /src/cairo/test/bug-bo-rectangular.c:56,1
    - Dst: cairo_clip
      Src: /src/cairo/test/bug-bo-rectangular.c:52,1
    - Dst: rect
      Src: /src/cairo/test/bug-bo-rectangular.c:54,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/bug-bo-rectangular.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 59
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 59
    functionName: draw
    functionSourceFile: /src/cairo/test/bug-bo-rectangular.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - rect
    - cairo_scale
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_set_fill_rule
    - cairo_clip
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/extend-repeat-similar.c:10,1
    - Dst: cairo_image_surface_get_width
      Src: /src/cairo/test/extend-repeat-similar.c:12,1
    - Dst: cairo_create
      Src: /src/cairo/test/extend-repeat-similar.c:14,1
    - Dst: cairo_image_surface_get_height
      Src: /src/cairo/test/extend-repeat-similar.c:13,1
    - Dst: cairo_surface_get_content
      Src: /src/cairo/test/extend-repeat-similar.c:11,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/extend-repeat-similar.c:15,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/extend-repeat-similar.c:16,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/extend-repeat-similar.c:17,1
    - Dst: cairo_paint
      Src: /src/cairo/test/extend-repeat-similar.c:18,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/test/extend-repeat-similar.c:19,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/extend-repeat-similar.c:20,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/extend-repeat-similar.c:19,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 23
    functionName: clone_similar_surface
    functionSourceFile: /src/cairo/test/extend-repeat-similar.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_surface_reference
    - cairo_create
    - cairo_image_surface_get_height
    - cairo_surface_destroy
    - cairo_set_operator
    - cairo_get_target
    - cairo_surface_get_content
    - cairo_destroy
    - cairo_image_surface_get_width
    - cairo_surface_create_similar
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *clone_similar_surface (cairo_surface_t * target,
      cairo_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/extend-repeat-similar.c:28,1
    - Dst: clone_similar_surface
      Src: /src/cairo/test/extend-repeat-similar.c:33,1
    - Dst: cairo_test_create_surface_from_png
      Src: /src/cairo/test/extend-repeat-similar.c:32,1
    - Dst: cairo_get_group_target
      Src: /src/cairo/test/extend-repeat-similar.c:33,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/extend-repeat-similar.c:34,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/extend-repeat-similar.c:35,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/extend-repeat-similar.c:35,1
    - Dst: cairo_paint
      Src: /src/cairo/test/extend-repeat-similar.c:37,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/extend-repeat-similar.c:39,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/extend-repeat-similar.c:40,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 43
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 43
    functionName: draw
    functionSourceFile: /src/cairo/test/extend-repeat-similar.c
    functionUses: []
    functionsReached:
    - cairo_test_create_surface_from_png
    - cairo_get_group_target
    - cairo_paint
    - clone_similar_surface
    - cairo_test_get_context
    - cairo_get_source
    - cairo_surface_destroy
    - cairo_pattern_set_extend
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/twin-antialias-gray.c:48,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/twin-antialias-gray.c:59,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/twin-antialias-gray.c:50,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/twin-antialias-gray.c:51,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/twin-antialias-gray.c:32,1
    - Dst: cairo_font_options_create
      Src: /src/cairo/test/twin-antialias-gray.c:43,1
    - Dst: cairo_font_options_set_antialias
      Src: /src/cairo/test/twin-antialias-gray.c:44,1
    - Dst: cairo_set_antialias
      Src: /src/cairo/test/twin-antialias-gray.c:36,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/twin-antialias-gray.c:38,1
    - Dst: cairo_set_font_options
      Src: /src/cairo/test/twin-antialias-gray.c:45,1
    - Dst: cairo_font_options_destroy
      Src: /src/cairo/test/twin-antialias-gray.c:46,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/twin-antialias-gray.c:60,1
    - Dst: cairo_fill
      Src: /src/cairo/test/twin-antialias-gray.c:55,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/twin-antialias-gray.c:53,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/twin-antialias-gray.c:57,1
    - Dst: cairo_text_path
      Src: /src/cairo/test/twin-antialias-gray.c:54,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/twin-antialias-gray.c:34,1
    - Dst: cairo_paint
      Src: /src/cairo/test/twin-antialias-gray.c:33,1
    - Dst: cairo_text_path
      Src: /src/cairo/test/twin-antialias-gray.c:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 63
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 63
    functionName: draw
    functionSourceFile: /src/cairo/test/twin-antialias-gray.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_font_options_set_antialias
    - cairo_set_font_options
    - cairo_font_options_destroy
    - cairo_font_options_create
    - cairo_show_text
    - cairo_set_line_width
    - cairo_set_font_size
    - cairo_text_path
    - cairo_stroke
    - cairo_select_font_face
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_move_to
    - cairo_set_antialias
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/test/glyph-cache-pressure.c:55,1
    - Dst: cairo_paint
      Src: /src/cairo/test/glyph-cache-pressure.c:57,1
    - Dst: cairo_restore
      Src: /src/cairo/test/glyph-cache-pressure.c:58,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/glyph-cache-pressure.c:56,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/glyph-cache-pressure.c:60,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/glyph-cache-pressure.c:63,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/glyph-cache-pressure.c:65,1
    - Dst: cairo_boilerplate_scaled_font_set_max_glyphs_cached
      Src: /src/cairo/test/glyph-cache-pressure.c:67,1
    - Dst: cairo_get_scaled_font
      Src: /src/cairo/test/glyph-cache-pressure.c:67,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/glyph-cache-pressure.c:69,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/glyph-cache-pressure.c:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 73
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 73
    functionName: draw
    functionSourceFile: /src/cairo/test/glyph-cache-pressure.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_get_scaled_font
    - cairo_show_text
    - cairo_boilerplate_scaled_font_set_max_glyphs_cached
    - cairo_save
    - cairo_set_font_size
    - cairo_restore
    - cairo_select_font_face
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_TEST_DOUBLE_EQUALS
      Src: /src/cairo/test/pattern-getters.c:41,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/pattern-getters.c:42,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - a
    - b
    - nc
    argTypes:
    - cairo_test_context_t*
    - double*
    - double*
    - int
    constantsTouched: []
    func_position:
      end: 48
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 48
    functionName: double_buf_equal
    functionSourceFile: /src/cairo/test/pattern-getters.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - CAIRO_TEST_DOUBLE_EQUALS
    linkageType: ''
    returnType: int
    signature: 'static int double_buf_equal (const cairo_test_context_t *ctx, double
      *a, double *b, int nc) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pattern_get_rgba
      Src: /src/cairo/test/pattern-getters.c:62,1
    - Dst: CAIRO_TEST_DOUBLE_EQUALS
      Src: /src/cairo/test/pattern-getters.c:68,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/pattern-getters.c:71,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/pattern-getters.c:87,1
    - Dst: CAIRO_TEST_DOUBLE_EQUALS
      Src: /src/cairo/test/pattern-getters.c:121,1
    - Dst: cairo_pattern_get_color_stop_count
      Src: /src/cairo/test/pattern-getters.c:128,1
    - Dst: cairo_pattern_get_color_stop_rgba
      Src: /src/cairo/test/pattern-getters.c:137,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/pattern-getters.c:148,1
    - Dst: double_buf_equal
      Src: /src/cairo/test/pattern-getters.c:152,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/pattern-getters.c:153,1
    - Dst: cairo_mesh_pattern_move_to
      Src: /src/cairo/test/pattern-getters.c:200,1
    - Dst: CAIRO_TEST_DOUBLE_EQUALS
      Src: /src/cairo/test/pattern-getters.c:254,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/pattern-getters.c:219,1
    - Dst: cairo_mesh_pattern_begin_patch
      Src: /src/cairo/test/pattern-getters.c:199,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/pattern-getters.c:182,1
    - Dst: cairo_mesh_pattern_move_to
      Src: /src/cairo/test/pattern-getters.c:240,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/pattern-getters.c:75,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/pattern-getters.c:93,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/pattern-getters.c:82,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/pattern-getters.c:88,1
    - Dst: cairo_pattern_get_linear_points
      Src: /src/cairo/test/pattern-getters.c:116,1
    - Dst: CAIRO_TEST_DOUBLE_EQUALS
      Src: /src/cairo/test/pattern-getters.c:122,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/pattern-getters.c:155,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/pattern-getters.c:159,1
    - Dst: cairo_pattern_create_radial
      Src: /src/cairo/test/pattern-getters.c:165,1
    - Dst: CAIRO_TEST_DOUBLE_EQUALS
      Src: /src/cairo/test/pattern-getters.c:175,1
    - Dst: cairo_pattern_create_mesh
      Src: /src/cairo/test/pattern-getters.c:189,1
    - Dst: CAIRO_TEST_DOUBLE_EQUALS
      Src: /src/cairo/test/pattern-getters.c:257,1
    - Dst: cairo_mesh_pattern_line_to
      Src: /src/cairo/test/pattern-getters.c:203,1
    - Dst: cairo_mesh_pattern_end_patch
      Src: /src/cairo/test/pattern-getters.c:213,1
    - Dst: cairo_mesh_pattern_get_patch_count
      Src: /src/cairo/test/pattern-getters.c:215,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/pattern-getters.c:259,1
    - Dst: CAIRO_TEST_DOUBLE_EQUALS
      Src: /src/cairo/test/pattern-getters.c:171,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/pattern-getters.c:234,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/pattern-getters.c:264,1
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/pattern-getters.c:53,1
    - Dst: CAIRO_TEST_DOUBLE_EQUALS
      Src: /src/cairo/test/pattern-getters.c:66,1
    - Dst: CAIRO_TEST_DOUBLE_EQUALS
      Src: /src/cairo/test/pattern-getters.c:65,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/pattern-getters.c:89,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/pattern-getters.c:132,1
    - Dst: cairo_pattern_get_color_stop_rgba
      Src: /src/cairo/test/pattern-getters.c:146,1
    - Dst: cairo_pattern_get_radial_circles
      Src: /src/cairo/test/pattern-getters.c:168,1
    - Dst: CAIRO_TEST_DOUBLE_EQUALS
      Src: /src/cairo/test/pattern-getters.c:172,1
    - Dst: CAIRO_TEST_DOUBLE_EQUALS
      Src: /src/cairo/test/pattern-getters.c:176,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/pattern-getters.c:178,1
    - Dst: cairo_mesh_pattern_get_control_point
      Src: /src/cairo/test/pattern-getters.c:228,1
    - Dst: cairo_mesh_pattern_end_patch
      Src: /src/cairo/test/pattern-getters.c:244,1
    - Dst: cairo_paint
      Src: /src/cairo/test/pattern-getters.c:268,1
    - Dst: cairo_mesh_pattern_line_to
      Src: /src/cairo/test/pattern-getters.c:201,1
    - Dst: CAIRO_TEST_DOUBLE_EQUALS
      Src: /src/cairo/test/pattern-getters.c:232,1
    - Dst: CAIRO_TEST_DOUBLE_EQUALS
      Src: /src/cairo/test/pattern-getters.c:173,1
    - Dst: cairo_mesh_pattern_line_to
      Src: /src/cairo/test/pattern-getters.c:241,1
    - Dst: cairo_pattern_create_rgba
      Src: /src/cairo/test/pattern-getters.c:60,1
    - Dst: CAIRO_TEST_DOUBLE_EQUALS
      Src: /src/cairo/test/pattern-getters.c:67,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/pattern-getters.c:69,1
    - Dst: cairo_pattern_get_surface
      Src: /src/cairo/test/pattern-getters.c:84,1
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/test/pattern-getters.c:105,1
    - Dst: cairo_pattern_create_for_surface
      Src: /src/cairo/test/pattern-getters.c:82,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/pattern-getters.c:108,1
    - Dst: CAIRO_TEST_DOUBLE_EQUALS
      Src: /src/cairo/test/pattern-getters.c:119,1
    - Dst: CAIRO_TEST_DOUBLE_EQUALS
      Src: /src/cairo/test/pattern-getters.c:120,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/pattern-getters.c:124,1
    - Dst: CAIRO_TEST_DOUBLE_EQUALS
      Src: /src/cairo/test/pattern-getters.c:174,1
    - Dst: cairo_mesh_pattern_line_to
      Src: /src/cairo/test/pattern-getters.c:202,1
    - Dst: cairo_mesh_pattern_begin_patch
      Src: /src/cairo/test/pattern-getters.c:239,1
    - Dst: cairo_mesh_pattern_line_to
      Src: /src/cairo/test/pattern-getters.c:242,1
    - Dst: CAIRO_TEST_DOUBLE_EQUALS
      Src: /src/cairo/test/pattern-getters.c:255,1
    - Dst: CAIRO_TEST_DOUBLE_EQUALS
      Src: /src/cairo/test/pattern-getters.c:256,1
    - Dst: CAIRO_TEST_DOUBLE_EQUALS
      Src: /src/cairo/test/pattern-getters.c:231,1
    - Dst: cairo_mesh_pattern_get_patch_count
      Src: /src/cairo/test/pattern-getters.c:205,1
    - Dst: cairo_mesh_pattern_get_corner_color_rgba
      Src: /src/cairo/test/pattern-getters.c:250,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/pattern-getters.c:209,1
    - Dst: cairo_mesh_pattern_get_patch_count
      Src: /src/cairo/test/pattern-getters.c:191,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/pattern-getters.c:195,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgb
      Src: /src/cairo/test/pattern-getters.c:243,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/pattern-getters.c:267,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 185
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 271
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 271
    functionName: draw
    functionSourceFile: /src/cairo/test/pattern-getters.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_for_surface
    - cairo_mesh_pattern_move_to
    - cairo_pattern_create_rgba
    - cairo_pattern_create_radial
    - cairo_pattern_get_color_stop_count
    - cairo_get_target
    - cairo_pattern_add_color_stop_rgba
    - cairo_pattern_create_mesh
    - cairo_mesh_pattern_line_to
    - cairo_mesh_pattern_get_control_point
    - double_buf_equal
    - cairo_pattern_get_linear_points
    - cairo_test_get_context
    - CAIRO_TEST_DOUBLE_EQUALS
    - cairo_pattern_create_linear
    - cairo_mesh_pattern_set_corner_color_rgb
    - cairo_mesh_pattern_get_corner_color_rgba
    - cairo_test_log
    - cairo_pattern_get_rgba
    - ARRAY_LENGTH
    - cairo_mesh_pattern_end_patch
    - cairo_pattern_destroy
    - cairo_paint
    - cairo_mesh_pattern_get_patch_count
    - cairo_mesh_pattern_begin_patch
    - cairo_pattern_get_surface
    - cairo_set_source_rgb
    - cairo_pattern_get_radial_circles
    - cairo_pattern_get_color_stop_rgba
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_rectangle
      Src: /src/cairo/test/linear-gradient-large.c:36,1
    - Dst: cairo_fill
      Src: /src/cairo/test/linear-gradient-large.c:38,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/linear-gradient-large.c:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ct
    - x
    - y
    argTypes:
    - cairo_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: mark_point
    functionSourceFile: /src/cairo/test/linear-gradient-large.c
    functionUses: []
    functionsReached:
    - cairo_set_source_rgb
    - cairo_fill
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void mark_point(cairo_t *ct, double x, double y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/test/linear-gradient-large.c:44,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/test/linear-gradient-large.c:50,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/test/linear-gradient-large.c:47,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/test/linear-gradient-large.c:48,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/test/linear-gradient-large.c:49,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/linear-gradient-large.c:52,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/linear-gradient-large.c:53,1
    - Dst: cairo_paint
      Src: /src/cairo/test/linear-gradient-large.c:54,1
    - Dst: mark_point
      Src: /src/cairo/test/linear-gradient-large.c:56,1
    - Dst: mark_point
      Src: /src/cairo/test/linear-gradient-large.c:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 60
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 60
    functionName: draw
    functionSourceFile: /src/cairo/test/linear-gradient-large.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - mark_point
    - cairo_pattern_create_linear
    - cairo_pattern_add_color_stop_rgb
    - cairo_set_source
    - cairo_pattern_destroy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/bug-51910.c:37,1
    - Dst: cairo_create
      Src: /src/cairo/test/bug-51910.c:38,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/bug-51910.c:39,1
    - Dst: cairo_paint
      Src: /src/cairo/test/bug-51910.c:42,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/bug-51910.c:41,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/bug-51910.c:44,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/bug-51910.c:45,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/bug-51910.c:48,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/bug-51910.c:49,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/bug-51910.c:50,1
    - Dst: cairo_pattern_create_for_surface
      Src: /src/cairo/test/bug-51910.c:53,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/bug-51910.c:53,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/bug-51910.c:56,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/test/bug-51910.c:58,1
    - Dst: cairo_pattern_set_matrix
      Src: /src/cairo/test/bug-51910.c:59,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/bug-51910.c:54,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 62
    functionName: source
    functionSourceFile: /src/cairo/test/bug-51910.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_for_surface
    - cairo_paint
    - cairo_set_line_width
    - cairo_rel_line_to
    - cairo_create
    - cairo_pattern_set_matrix
    - cairo_surface_destroy
    - cairo_pattern_set_extend
    - cairo_image_surface_create
    - cairo_stroke
    - cairo_get_target
    - cairo_set_source_rgb
    - cairo_destroy
    - cairo_matrix_init_translate
    - cairo_move_to
    linkageType: ''
    returnType: cairo_pattern_t*
    signature: 'static cairo_pattern_t *source(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_paint
      Src: /src/cairo/test/bug-51910.c:71,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/bug-51910.c:78,1
    - Dst: source
      Src: /src/cairo/test/bug-51910.c:73,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/bug-51910.c:75,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/bug-51910.c:74,1
    - Dst: cairo_fill
      Src: /src/cairo/test/bug-51910.c:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 83
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 83
    functionName: draw
    functionSourceFile: /src/cairo/test/bug-51910.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source
    - cairo_fill
    - source
    - cairo_pattern_destroy
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-tagged-text.c:237,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/pdf-tagged-text.c:214,1
    - Dst: cairo_show_page
      Src: /src/cairo/test/pdf-tagged-text.c:225,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/pdf-tagged-text.c:229,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-tagged-text.c:232,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/pdf-tagged-text.c:217,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/pdf-tagged-text.c:220,1
    - Dst: draw_page_num
      Src: /src/cairo/test/pdf-tagged-text.c:226,1
    - Dst: cairo_restore
      Src: /src/cairo/test/pdf-tagged-text.c:239,1
    - Dst: free
      Src: /src/cairo/test/pdf-tagged-text.c:241,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-tagged-text.c:238,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-tagged-text.c:236,1
    - Dst: xasprintf
      Src: /src/cairo/test/pdf-tagged-text.c:210,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/pdf-tagged-text.c:211,1
    - Dst: cairo_save
      Src: /src/cairo/test/pdf-tagged-text.c:230,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/pdf-tagged-text.c:231,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-tagged-text.c:233,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-tagged-text.c:234,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/pdf-tagged-text.c:235,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - surface
    - cr
    - section
    argTypes:
    - cairo_surface_t*
    - cairo_t*
    - struct section*
    constantsTouched: []
    func_position:
      end: 242
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 242
    functionName: draw_contents
    functionSourceFile: /src/cairo/test/pdf-tagged-text.c
    functionUses: []
    functionsReached:
    - cairo_show_text
    - cairo_show_page
    - free
    - xasprintf
    - draw_page_num
    - cairo_set_font_size
    - cairo_save
    - cairo_tag_begin
    - cairo_select_font_face
    - cairo_restore
    - cairo_set_source_rgb
    - cairo_move_to
    - cairo_tag_end
    linkageType: ''
    returnType: void
    signature: 'static void draw_contents (cairo_surface_t *surface, cairo_t *cr,
      const struct section *section) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/pdf-tagged-text.c:171,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/pdf-tagged-text.c:176,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/pdf-tagged-text.c:175,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/pdf-tagged-text.c:172,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-tagged-text.c:173,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-tagged-text.c:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 181
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 181
    functionName: draw_paragraph
    functionSourceFile: /src/cairo/test/pdf-tagged-text.c
    functionUses: []
    functionsReached:
    - cairo_show_text
    - cairo_set_font_size
    - cairo_tag_begin
    - cairo_select_font_face
    - cairo_move_to
    - cairo_tag_end
    linkageType: ''
    returnType: void
    signature: 'static void draw_paragraph (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-tagged-text.c:328,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/pdf-tagged-text.c:332,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-tagged-text.c:334,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/pdf-tagged-text.c:335,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/pdf-tagged-text.c:341,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/pdf-tagged-text.c:343,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/pdf-tagged-text.c:350,1
    - Dst: cairo_text_extents
      Src: /src/cairo/test/pdf-tagged-text.c:344,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-tagged-text.c:354,1
    - Dst: free
      Src: /src/cairo/test/pdf-tagged-text.c:355,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/pdf-tagged-text.c:366,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/pdf-tagged-text.c:385,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/pdf-tagged-text.c:382,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-tagged-text.c:329,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/pdf-tagged-text.c:370,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-tagged-text.c:371,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/pdf-tagged-text.c:372,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-tagged-text.c:379,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/pdf-tagged-text.c:390,1
    - Dst: xasprintf
      Src: /src/cairo/test/pdf-tagged-text.c:391,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-tagged-text.c:392,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/pdf-tagged-text.c:393,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/pdf-tagged-text.c:376,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/pdf-tagged-text.c:365,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-tagged-text.c:384,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/pdf-tagged-text.c:333,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-tagged-text.c:336,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/pdf-tagged-text.c:339,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/pdf-tagged-text.c:349,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-tagged-text.c:361,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-tagged-text.c:373,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-tagged-text.c:377,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/pdf-tagged-text.c:378,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-tagged-text.c:386,1
    - Dst: free
      Src: /src/cairo/test/pdf-tagged-text.c:387,1
    - Dst: free
      Src: /src/cairo/test/pdf-tagged-text.c:395,1
    - Dst: xasprintf
      Src: /src/cairo/test/pdf-tagged-text.c:383,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-tagged-text.c:394,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/pdf-tagged-text.c:331,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/pdf-tagged-text.c:340,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-tagged-text.c:353,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/pdf-tagged-text.c:342,1
    - Dst: xasprintf
      Src: /src/cairo/test/pdf-tagged-text.c:351,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-tagged-text.c:358,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/pdf-tagged-text.c:359,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/pdf-tagged-text.c:360,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-tagged-text.c:364,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-tagged-text.c:367,1
    - Dst: draw_page_num
      Src: /src/cairo/test/pdf-tagged-text.c:397,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 79
    argCount: 2
    argNames:
    - surface
    - cr
    argTypes:
    - cairo_surface_t*
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 398
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 398
    functionName: draw_cover
    functionSourceFile: /src/cairo/test/pdf-tagged-text.c
    functionUses: []
    functionsReached:
    - cairo_show_text
    - free
    - xasprintf
    - draw_page_num
    - cairo_set_font_size
    - cairo_stroke
    - cairo_tag_begin
    - cairo_select_font_face
    - cairo_set_source_rgb
    - cairo_text_extents
    - cairo_move_to
    - cairo_tag_end
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void draw_cover (cairo_surface_t *surface, cairo_t *cr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memmem
      Src: /src/cairo/test/pdf-tagged-text.c:534,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/pdf-tagged-text.c:537,1
    - Dst: strlen
      Src: /src/cairo/test/pdf-tagged-text.c:534,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - hay
    - size
    - needle
    argTypes:
    - cairo_test_context_t*
    - void*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 539
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 539
    functionName: check_contains_string
    functionSourceFile: /src/cairo/test/pdf-tagged-text.c
    functionUses: []
    functionsReached:
    - memmem
    - cairo_test_log
    - strlen
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t check_contains_string(cairo_test_context_t
      *ctx, const void *hay, size_t size, const char *needle) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_mkdir
      Src: /src/cairo/test/pdf-tagged-text.c:611,1
    - Dst: xasprintf
      Src: /src/cairo/test/pdf-tagged-text.c:617,1
    - Dst: cairo_create
      Src: /src/cairo/test/pdf-tagged-text.c:625,1
    - Dst: cairo_pdf_surface_restrict_to_version
      Src: /src/cairo/test/pdf-tagged-text.c:623,1
    - Dst: cairo_pdf_surface_create
      Src: /src/cairo/test/pdf-tagged-text.c:621,1
    - Dst: create_document
      Src: /src/cairo/test/pdf-tagged-text.c:626,1
    - Dst: cairo_status
      Src: /src/cairo/test/pdf-tagged-text.c:628,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/pdf-tagged-text.c:629,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/pdf-tagged-text.c:630,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/pdf-tagged-text.c:631,1
    - Dst: free
      Src: /src/cairo/test/pdf-tagged-text.c:646,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/pdf-tagged-text.c:638,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/pdf-tagged-text.c:635,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/pdf-tagged-text.c:637,1
    - Dst: check_created_pdf
      Src: /src/cairo/test/pdf-tagged-text.c:644,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - ctx
    - check_output
    argTypes:
    - cairo_test_context_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 649
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 649
    functionName: create_pdf
    functionSourceFile: /src/cairo/test/pdf-tagged-text.c
    functionUses: []
    functionsReached:
    - create_document
    - cairo_test_log
    - check_created_pdf
    - cairo_surface_finish
    - cairo_pdf_surface_restrict_to_version
    - xasprintf
    - cairo_surface_status
    - cairo_test_mkdir
    - cairo_pdf_surface_create
    - cairo_create
    - cairo_surface_destroy
    - free
    - cairo_status
    - cairo_destroy
    - cairo_status_to_string
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t create_pdf (cairo_test_context_t *ctx,
      cairo_bool_t check_output) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/pdf-tagged-text.c:132,1
    - Dst: cairo_font_extents
      Src: /src/cairo/test/pdf-tagged-text.c:134,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/pdf-tagged-text.c:133,1
    - Dst: strchr
      Src: /src/cairo/test/pdf-tagged-text.c:143,1
    - Dst: strdup
      Src: /src/cairo/test/pdf-tagged-text.c:138,1
    - Dst: strdup
      Src: /src/cairo/test/pdf-tagged-text.c:145,1
    - Dst: cairo_text_extents
      Src: /src/cairo/test/pdf-tagged-text.c:149,1
    - Dst: xmalloc
      Src: /src/cairo/test/pdf-tagged-text.c:153,1
    - Dst: memcpy
      Src: /src/cairo/test/pdf-tagged-text.c:154,1
    - Dst: free
      Src: /src/cairo/test/pdf-tagged-text.c:163,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 164
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 164
    functionName: layout_paragraph
    functionSourceFile: /src/cairo/test/pdf-tagged-text.c
    functionUses: []
    functionsReached:
    - memcpy
    - xmalloc
    - free
    - cairo_font_extents
    - cairo_set_font_size
    - strchr
    - strdup
    - cairo_select_font_face
    - cairo_text_extents
    linkageType: ''
    returnType: void
    signature: 'static void layout_paragraph (cairo_t *cr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcat
      Src: /src/cairo/test/pdf-tagged-text.c:190,1
    - Dst: cairo_save
      Src: /src/cairo/test/pdf-tagged-text.c:195,1
    - Dst: strlen
      Src: /src/cairo/test/pdf-tagged-text.c:193,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/pdf-tagged-text.c:196,1
    - Dst: sprintf
      Src: /src/cairo/test/pdf-tagged-text.c:193,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/pdf-tagged-text.c:197,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/pdf-tagged-text.c:198,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/pdf-tagged-text.c:199,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/pdf-tagged-text.c:200,1
    - Dst: cairo_restore
      Src: /src/cairo/test/pdf-tagged-text.c:201,1
    - Dst: cairo_pdf_surface_set_page_label
      Src: /src/cairo/test/pdf-tagged-text.c:202,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - surface
    - cr
    - prefix
    - num
    argTypes:
    - cairo_surface_t*
    - cairo_t*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 203
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 203
    functionName: draw_page_num
    functionSourceFile: /src/cairo/test/pdf-tagged-text.c
    functionUses: []
    functionsReached:
    - strcat
    - cairo_show_text
    - strlen
    - cairo_save
    - cairo_set_font_size
    - cairo_restore
    - cairo_select_font_face
    - cairo_set_source_rgb
    - cairo_pdf_surface_set_page_label
    - cairo_move_to
    - sprintf
    linkageType: ''
    returnType: void
    signature: 'static void draw_page_num (cairo_surface_t *surface, cairo_t *cr,
      const char *prefix, int num) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cairo_show_page
      Src: /src/cairo/test/pdf-tagged-text.c:256,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/pdf-tagged-text.c:286,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/pdf-tagged-text.c:274,1
    - Dst: draw_page_num
      Src: /src/cairo/test/pdf-tagged-text.c:283,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-tagged-text.c:263,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-tagged-text.c:288,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-tagged-text.c:293,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-tagged-text.c:295,1
    - Dst: draw_page_num
      Src: /src/cairo/test/pdf-tagged-text.c:309,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/pdf-tagged-text.c:258,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/pdf-tagged-text.c:259,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-tagged-text.c:261,1
    - Dst: cairo_pdf_surface_add_outline
      Src: /src/cairo/test/pdf-tagged-text.c:267,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/pdf-tagged-text.c:262,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-tagged-text.c:291,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/pdf-tagged-text.c:292,1
    - Dst: cairo_pdf_surface_add_outline
      Src: /src/cairo/test/pdf-tagged-text.c:299,1
    - Dst: draw_paragraph
      Src: /src/cairo/test/pdf-tagged-text.c:312,1
    - Dst: free
      Src: /src/cairo/test/pdf-tagged-text.c:315,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-tagged-text.c:251,1
    - Dst: xasprintf
      Src: /src/cairo/test/pdf-tagged-text.c:252,1
    - Dst: xasprintf
      Src: /src/cairo/test/pdf-tagged-text.c:253,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/pdf-tagged-text.c:254,1
    - Dst: draw_page_num
      Src: /src/cairo/test/pdf-tagged-text.c:257,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/pdf-tagged-text.c:277,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-tagged-text.c:264,1
    - Dst: cairo_show_page
      Src: /src/cairo/test/pdf-tagged-text.c:282,1
    - Dst: cairo_show_page
      Src: /src/cairo/test/pdf-tagged-text.c:308,1
    - Dst: free
      Src: /src/cairo/test/pdf-tagged-text.c:316,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-tagged-text.c:260,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-tagged-text.c:290,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-tagged-text.c:297,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-tagged-text.c:314,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 66
    argCount: 3
    argNames:
    - surface
    - cr
    - section
    argTypes:
    - cairo_surface_t*
    - cairo_t*
    - struct section*
    constantsTouched: []
    func_position:
      end: 317
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 317
    functionName: draw_section
    functionSourceFile: /src/cairo/test/pdf-tagged-text.c
    functionUses: []
    functionsReached:
    - cairo_show_text
    - cairo_show_page
    - cairo_pdf_surface_add_outline
    - xasprintf
    - draw_page_num
    - free
    - cairo_set_font_size
    - draw_paragraph
    - cairo_tag_begin
    - cairo_select_font_face
    - cairo_move_to
    - cairo_tag_end
    linkageType: ''
    returnType: void
    signature: 'static void draw_section (cairo_surface_t *surface, cairo_t *cr, const
      struct section *section) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: layout_paragraph
      Src: /src/cairo/test/pdf-tagged-text.c:405,1
    - Dst: cairo_pdf_surface_set_metadata
      Src: /src/cairo/test/pdf-tagged-text.c:411,1
    - Dst: cairo_pdf_surface_set_custom_metadata
      Src: /src/cairo/test/pdf-tagged-text.c:418,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-tagged-text.c:434,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-tagged-text.c:424,1
    - Dst: cairo_save
      Src: /src/cairo/test/pdf-tagged-text.c:439,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-tagged-text.c:471,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-tagged-text.c:489,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-tagged-text.c:496,1
    - Dst: cairo_show_page
      Src: /src/cairo/test/pdf-tagged-text.c:505,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-tagged-text.c:512,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-tagged-text.c:488,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-tagged-text.c:514,1
    - Dst: free
      Src: /src/cairo/test/pdf-tagged-text.c:525,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/pdf-tagged-text.c:520,1
    - Dst: draw_section
      Src: /src/cairo/test/pdf-tagged-text.c:501,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/pdf-tagged-text.c:523,1
    - Dst: draw_contents
      Src: /src/cairo/test/pdf-tagged-text.c:492,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/pdf-tagged-text.c:516,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/pdf-tagged-text.c:515,1
    - Dst: draw_page_num
      Src: /src/cairo/test/pdf-tagged-text.c:480,1
    - Dst: cairo_pdf_surface_set_metadata
      Src: /src/cairo/test/pdf-tagged-text.c:410,1
    - Dst: cairo_pdf_surface_set_metadata
      Src: /src/cairo/test/pdf-tagged-text.c:415,1
    - Dst: draw_cover
      Src: /src/cairo/test/pdf-tagged-text.c:426,1
    - Dst: cairo_pdf_surface_set_custom_metadata
      Src: /src/cairo/test/pdf-tagged-text.c:422,1
    - Dst: cairo_clip
      Src: /src/cairo/test/pdf-tagged-text.c:442,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-tagged-text.c:443,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-tagged-text.c:448,1
    - Dst: cairo_push_group_with_content
      Src: /src/cairo/test/pdf-tagged-text.c:459,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-tagged-text.c:463,1
    - Dst: cairo_pop_group_to_source
      Src: /src/cairo/test/pdf-tagged-text.c:466,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/pdf-tagged-text.c:510,1
    - Dst: xasprintf
      Src: /src/cairo/test/pdf-tagged-text.c:521,1
    - Dst: cairo_pdf_surface_set_metadata
      Src: /src/cairo/test/pdf-tagged-text.c:409,1
    - Dst: cairo_pdf_surface_set_metadata
      Src: /src/cairo/test/pdf-tagged-text.c:414,1
    - Dst: cairo_pdf_surface_set_metadata
      Src: /src/cairo/test/pdf-tagged-text.c:416,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-tagged-text.c:433,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/pdf-tagged-text.c:440,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-tagged-text.c:444,1
    - Dst: cairo_restore
      Src: /src/cairo/test/pdf-tagged-text.c:445,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-tagged-text.c:449,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-tagged-text.c:472,1
    - Dst: cairo_show_page
      Src: /src/cairo/test/pdf-tagged-text.c:477,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-tagged-text.c:495,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/pdf-tagged-text.c:511,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-tagged-text.c:527,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-tagged-text.c:524,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/pdf-tagged-text.c:517,1
    - Dst: cairo_pdf_surface_set_thumbnail_size
      Src: /src/cairo/test/pdf-tagged-text.c:407,1
    - Dst: cairo_pdf_surface_set_metadata
      Src: /src/cairo/test/pdf-tagged-text.c:412,1
    - Dst: cairo_pdf_surface_add_outline
      Src: /src/cairo/test/pdf-tagged-text.c:427,1
    - Dst: cairo_pdf_surface_set_custom_metadata
      Src: /src/cairo/test/pdf-tagged-text.c:420,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/pdf-tagged-text.c:441,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-tagged-text.c:462,1
    - Dst: cairo_paint_with_alpha
      Src: /src/cairo/test/pdf-tagged-text.c:467,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/pdf-tagged-text.c:468,1
    - Dst: cairo_pdf_surface_add_outline
      Src: /src/cairo/test/pdf-tagged-text.c:483,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-tagged-text.c:509,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/pdf-tagged-text.c:522,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/pdf-tagged-text.c:507,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 78
    argCount: 2
    argNames:
    - surface
    - cr
    argTypes:
    - cairo_surface_t*
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 528
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 528
    functionName: create_document
    functionSourceFile: /src/cairo/test/pdf-tagged-text.c
    functionUses: []
    functionsReached:
    - cairo_push_group_with_content
    - cairo_pop_group_to_source
    - draw_section
    - draw_page_num
    - xasprintf
    - cairo_rectangle
    - cairo_pdf_surface_set_thumbnail_size
    - cairo_paint_with_alpha
    - cairo_show_text
    - cairo_show_page
    - cairo_pdf_surface_add_outline
    - layout_paragraph
    - cairo_save
    - cairo_pdf_surface_set_custom_metadata
    - draw_cover
    - cairo_clip
    - cairo_tag_end
    - cairo_pdf_surface_set_metadata
    - cairo_restore
    - draw_contents
    - cairo_new_path
    - free
    - cairo_tag_begin
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: void
    signature: 'static void create_document (cairo_surface_t *surface, cairo_t *cr) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mmap
      Src: /src/cairo/test/pdf-tagged-text.c:573,1
    - Dst: check_contains_string
      Src: /src/cairo/test/pdf-tagged-text.c:584,1
    - Dst: check_contains_string
      Src: /src/cairo/test/pdf-tagged-text.c:589,1
    - Dst: strerror
      Src: /src/cairo/test/pdf-tagged-text.c:576,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/pdf-tagged-text.c:576,1
    - Dst: close
      Src: /src/cairo/test/pdf-tagged-text.c:597,1
    - Dst: open
      Src: /src/cairo/test/pdf-tagged-text.c:552,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/pdf-tagged-text.c:554,1
    - Dst: fstat
      Src: /src/cairo/test/pdf-tagged-text.c:558,1
    - Dst: strerror
      Src: /src/cairo/test/pdf-tagged-text.c:554,1
    - Dst: close
      Src: /src/cairo/test/pdf-tagged-text.c:561,1
    - Dst: close
      Src: /src/cairo/test/pdf-tagged-text.c:568,1
    - Dst: check_contains_string
      Src: /src/cairo/test/pdf-tagged-text.c:583,1
    - Dst: check_contains_string
      Src: /src/cairo/test/pdf-tagged-text.c:586,1
    - Dst: check_contains_string
      Src: /src/cairo/test/pdf-tagged-text.c:585,1
    - Dst: munmap
      Src: /src/cairo/test/pdf-tagged-text.c:594,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/pdf-tagged-text.c:560,1
    - Dst: strerror
      Src: /src/cairo/test/pdf-tagged-text.c:560,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/pdf-tagged-text.c:567,1
    - Dst: close
      Src: /src/cairo/test/pdf-tagged-text.c:577,1
    - Dst: check_contains_string
      Src: /src/cairo/test/pdf-tagged-text.c:582,1
    - Dst: check_contains_string
      Src: /src/cairo/test/pdf-tagged-text.c:590,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 2
    argNames:
    - ctx
    - filename
    argTypes:
    - cairo_test_context_t*
    - char*
    constantsTouched: []
    func_position:
      end: 600
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 600
    functionName: check_created_pdf
    functionSourceFile: /src/cairo/test/pdf-tagged-text.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - fstat
    - strerror
    - mmap
    - munmap
    - close
    - open
    - check_contains_string
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t check_created_pdf(cairo_test_context_t
      *ctx, const char* filename) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_is_target_enabled
      Src: /src/cairo/test/pdf-tagged-text.c:656,1
    - Dst: create_pdf
      Src: /src/cairo/test/pdf-tagged-text.c:663,1
    - Dst: create_pdf
      Src: /src/cairo/test/pdf-tagged-text.c:660,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - cairo_test_context_t*
    constantsTouched: []
    func_position:
      end: 667
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 667
    functionName: preamble
    functionSourceFile: /src/cairo/test/pdf-tagged-text.c
    functionUses: []
    functionsReached:
    - create_pdf
    - cairo_test_is_target_enabled
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t preamble (cairo_test_context_t *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/composite-integer-translate-over-repeat.c:43,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/composite-integer-translate-over-repeat.c:48,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/composite-integer-translate-over-repeat.c:49,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/composite-integer-translate-over-repeat.c:59,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/composite-integer-translate-over-repeat.c:55,1
    - Dst: cairo_pattern_create_for_surface
      Src: /src/cairo/test/composite-integer-translate-over-repeat.c:58,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/composite-integer-translate-over-repeat.c:58,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/composite-integer-translate-over-repeat.c:64,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/composite-integer-translate-over-repeat.c:73,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/composite-integer-translate-over-repeat.c:41,1
    - Dst: cairo_create
      Src: /src/cairo/test/composite-integer-translate-over-repeat.c:42,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/composite-integer-translate-over-repeat.c:46,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/composite-integer-translate-over-repeat.c:51,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/composite-integer-translate-over-repeat.c:52,1
    - Dst: cairo_fill
      Src: /src/cairo/test/composite-integer-translate-over-repeat.c:71,1
    - Dst: cairo_fill
      Src: /src/cairo/test/composite-integer-translate-over-repeat.c:50,1
    - Dst: cairo_fill
      Src: /src/cairo/test/composite-integer-translate-over-repeat.c:56,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/composite-integer-translate-over-repeat.c:54,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/composite-integer-translate-over-repeat.c:61,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/composite-integer-translate-over-repeat.c:63,1
    - Dst: cairo_fill
      Src: /src/cairo/test/composite-integer-translate-over-repeat.c:65,1
    - Dst: cairo_translate
      Src: /src/cairo/test/composite-integer-translate-over-repeat.c:67,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/composite-integer-translate-over-repeat.c:68,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/composite-integer-translate-over-repeat.c:45,1
    - Dst: cairo_fill
      Src: /src/cairo/test/composite-integer-translate-over-repeat.c:47,1
    - Dst: cairo_fill
      Src: /src/cairo/test/composite-integer-translate-over-repeat.c:53,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/composite-integer-translate-over-repeat.c:69,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/composite-integer-translate-over-repeat.c:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 46
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 76
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 76
    functionName: draw
    functionSourceFile: /src/cairo/test/composite-integer-translate-over-repeat.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_for_surface
    - cairo_set_source_rgba
    - cairo_create
    - cairo_surface_destroy
    - cairo_pattern_set_extend
    - cairo_set_source
    - cairo_image_surface_create
    - cairo_get_target
    - cairo_fill
    - cairo_translate
    - cairo_destroy
    - cairo_set_operator
    - cairo_pattern_destroy
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_new_sub_path
      Src: /src/cairo/test/clip-mixed-antialias.c:76,1
    - Dst: cairo_arc
      Src: /src/cairo/test/clip-mixed-antialias.c:78,1
    - Dst: cairo_arc
      Src: /src/cairo/test/clip-mixed-antialias.c:77,1
    - Dst: cairo_arc
      Src: /src/cairo/test/clip-mixed-antialias.c:79,1
    - Dst: cairo_arc
      Src: /src/cairo/test/clip-mixed-antialias.c:80,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/clip-mixed-antialias.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 6
    argNames:
    - cr
    - x
    - y
    - w
    - h
    - r
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: rounded_rectangle
    functionSourceFile: /src/cairo/test/clip-mixed-antialias.c
    functionUses: []
    functionsReached:
    - cairo_arc
    - cairo_close_path
    - cairo_new_sub_path
    linkageType: ''
    returnType: void
    signature: 'static void rounded_rectangle (cairo_t *cr, int x, int y, int w, int
      h, int r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-mixed-antialias.c:59,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-mixed-antialias.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: clip_0
    functionSourceFile: /src/cairo/test/clip-mixed-antialias.c
    functionUses: []
    functionsReached:
    - cairo_clip
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void clip_0 (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_antialias
      Src: /src/cairo/test/clip-mixed-antialias.c:97,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-mixed-antialias.c:100,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-mixed-antialias.c:101,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-mixed-antialias.c:99,1
    - Dst: cairo_set_antialias
      Src: /src/cairo/test/clip-mixed-antialias.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 104
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 104
    functionName: clip_3
    functionSourceFile: /src/cairo/test/clip-mixed-antialias.c
    functionUses: []
    functionsReached:
    - cairo_clip
    - cairo_set_antialias
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void clip_3 (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_antialias
      Src: /src/cairo/test/clip-mixed-antialias.c:65,1
    - Dst: cairo_arc
      Src: /src/cairo/test/clip-mixed-antialias.c:67,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-mixed-antialias.c:68,1
    - Dst: cairo_set_antialias
      Src: /src/cairo/test/clip-mixed-antialias.c:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 71
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 71
    functionName: clip_1
    functionSourceFile: /src/cairo/test/clip-mixed-antialias.c
    functionUses: []
    functionsReached:
    - cairo_arc
    - cairo_clip
    - cairo_set_antialias
    linkageType: ''
    returnType: void
    signature: 'static void clip_1 (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/test/clip-mixed-antialias.c:86,1
    - Dst: rounded_rectangle
      Src: /src/cairo/test/clip-mixed-antialias.c:89,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-mixed-antialias.c:90,1
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/test/clip-mixed-antialias.c:92,1
    - Dst: rounded_rectangle
      Src: /src/cairo/test/clip-mixed-antialias.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 93
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 93
    functionName: clip_2
    functionSourceFile: /src/cairo/test/clip-mixed-antialias.c
    functionUses: []
    functionsReached:
    - cairo_set_fill_rule
    - cairo_clip
    - rounded_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void clip_2 (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: background
      Src: /src/cairo/test/clip-mixed-antialias.c:109,1
    - Dst: clip_3
      Src: /src/cairo/test/clip-mixed-antialias.c:114,1
    - Dst: clip_1
      Src: /src/cairo/test/clip-mixed-antialias.c:112,1
    - Dst: clip_2
      Src: /src/cairo/test/clip-mixed-antialias.c:113,1
    - Dst: clip_0
      Src: /src/cairo/test/clip-mixed-antialias.c:111,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-mixed-antialias.c:116,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-mixed-antialias.c:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 120
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 120
    functionName: draw
    functionSourceFile: /src/cairo/test/clip-mixed-antialias.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - background
    - clip_2
    - clip_3
    - clip_0
    - clip_1
    - cairo_set_source_rgb
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_operator
      Src: /src/cairo/test/clip-mixed-antialias.c:51,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-mixed-antialias.c:52,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-mixed-antialias.c:53,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/clip-mixed-antialias.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: background
    functionSourceFile: /src/cairo/test/clip-mixed-antialias.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_operator
    - cairo_set_source_rgb
    linkageType: ''
    returnType: void
    signature: 'static void background (cairo_t *cr) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rsvg_handle_set_dpi
      Src: /src/cairo/test/svg2png.c:61,1
    - Dst: cairo_paint
      Src: /src/cairo/test/svg2png.c:70,1
    - Dst: cairo_paint
      Src: /src/cairo/test/svg2png.c:77,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/svg2png.c:81,1
    - Dst: cairo_surface_write_to_png
      Src: /src/cairo/test/svg2png.c:79,1
    - Dst: g_type_init
      Src: /src/cairo/test/svg2png.c:52,1
    - Dst: rsvg_handle_get_dimensions
      Src: /src/cairo/test/svg2png.c:62,1
    - Dst: cairo_pop_group_to_source
      Src: /src/cairo/test/svg2png.c:76,1
    - Dst: FAIL
      Src: /src/cairo/test/svg2png.c:83,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/svg2png.c:83,1
    - Dst: FAIL
      Src: /src/cairo/test/svg2png.c:59,1
    - Dst: rsvg_handle_new_from_file
      Src: /src/cairo/test/svg2png.c:57,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/svg2png.c:67,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/svg2png.c:69,1
    - Dst: FAIL
      Src: /src/cairo/test/svg2png.c:74,1
    - Dst: cairo_push_group_with_content
      Src: /src/cairo/test/svg2png.c:71,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/svg2png.c:79,1
    - Dst: FAIL
      Src: /src/cairo/test/svg2png.c:49,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/svg2png.c:64,1
    - Dst: cairo_create
      Src: /src/cairo/test/svg2png.c:66,1
    - Dst: rsvg_handle_render_cairo
      Src: /src/cairo/test/svg2png.c:73,1
    - Dst: g_object_unref
      Src: /src/cairo/test/svg2png.c:85,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 87
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 87
    functionName: main
    functionSourceFile: /src/cairo/test/svg2png.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_push_group_with_content
    - rsvg_handle_new_from_file
    - g_object_unref
    - cairo_pop_group_to_source
    - cairo_status_to_string
    - rsvg_handle_set_dpi
    - cairo_create
    - cairo_surface_write_to_png
    - cairo_surface_destroy
    - cairo_image_surface_create
    - rsvg_handle_render_cairo
    - cairo_get_target
    - cairo_set_source_rgb
    - cairo_destroy
    - g_type_init
    - FAIL
    - rsvg_handle_get_dimensions
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create_from_png
      Src: /src/cairo/test/raster-source.c:45,1
    - Dst: cairo_image_surface_get_height
      Src: /src/cairo/test/raster-source.c:48,1
    - Dst: cairo_surface_get_content
      Src: /src/cairo/test/raster-source.c:46,1
    - Dst: cairo_image_surface_get_width
      Src: /src/cairo/test/raster-source.c:47,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/raster-source.c:49,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 4
    argNames:
    - filename
    - content
    - width
    - height
    argTypes:
    - char*
    - cairo_content_t*
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 50
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 50
    functionName: png_dimensions
    functionSourceFile: /src/cairo/test/raster-source.c
    functionUses: []
    functionsReached:
    - cairo_surface_destroy
    - cairo_image_surface_get_height
    - cairo_image_surface_create_from_png
    - cairo_surface_get_content
    - cairo_image_surface_get_width
    linkageType: ''
    returnType: void
    signature: "static void png_dimensions (const char *filename,\t\tcairo_content_t\
      \ *content, int *width, int *height) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/test/raster-source.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: free_filename
    functionSourceFile: /src/cairo/test/raster-source.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'static void free_filename(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar_image
      Src: /src/cairo/test/raster-source.c:68,1
    - Dst: cairo_paint
      Src: /src/cairo/test/raster-source.c:76,1
    - Dst: cairo_surface_set_device_offset
      Src: /src/cairo/test/raster-source.c:72,1
    - Dst: cairo_create
      Src: /src/cairo/test/raster-source.c:74,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/raster-source.c:75,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/raster-source.c:77,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 80
    functionName: red_acquire
    functionSourceFile: /src/cairo/test/raster-source.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_create
    - cairo_surface_create_similar_image
    - cairo_surface_set_device_offset
    - cairo_set_source_rgb
    - cairo_destroy
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *red_acquire (cairo_pattern_t *pattern, void\
      \ *closure,\t cairo_surface_t *target,\t const cairo_rectangle_int_t *extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/raster-source.c:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - pattern
    - closure
    - image
    argTypes:
    - cairo_pattern_t*
    - void*
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: release
    functionSourceFile: /src/cairo/test/raster-source.c
    functionUses: []
    functionsReached:
    - cairo_surface_destroy
    linkageType: ''
    returnType: void
    signature: 'static void release (cairo_pattern_t *pattern, void *closure, cairo_surface_t
      *image) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create_from_png
      Src: /src/cairo/test/raster-source.c:57,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: png_acquire
    functionSourceFile: /src/cairo/test/raster-source.c
    functionUses: []
    functionsReached:
    - cairo_image_surface_create_from_png
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *png_acquire (cairo_pattern_t *pattern, void\
      \ *closure,\t cairo_surface_t *target,\t const cairo_rectangle_int_t *extents) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/raster-source.c:103,1
    - Dst: png_dimensions
      Src: /src/cairo/test/raster-source.c:108,1
    - Dst: xasprintf
      Src: /src/cairo/test/raster-source.c:104,1
    - Dst: cairo_pattern_create_raster_source
      Src: /src/cairo/test/raster-source.c:110,1
    - Dst: atexit
      Src: /src/cairo/test/raster-source.c:105,1
    - Dst: cairo_raster_source_pattern_set_acquire
      Src: /src/cairo/test/raster-source.c:112,1
    - Dst: cairo_pattern_create_raster_source
      Src: /src/cairo/test/raster-source.c:114,1
    - Dst: cairo_raster_source_pattern_set_acquire
      Src: /src/cairo/test/raster-source.c:116,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/raster-source.c:118,1
    - Dst: cairo_paint
      Src: /src/cairo/test/raster-source.c:119,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/raster-source.c:130,1
    - Dst: cairo_fill
      Src: /src/cairo/test/raster-source.c:131,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/raster-source.c:135,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/raster-source.c:136,1
    - Dst: cairo_translate
      Src: /src/cairo/test/raster-source.c:121,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/raster-source.c:129,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 139
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 139
    functionName: draw
    functionSourceFile: /src/cairo/test/raster-source.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - atexit
    - cairo_translate
    - cairo_test_get_context
    - xasprintf
    - cairo_set_source
    - cairo_pattern_create_raster_source
    - cairo_set_source_rgb
    - cairo_raster_source_pattern_set_acquire
    - cairo_fill
    - png_dimensions
    - cairo_pattern_destroy
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_move_to
      Src: /src/cairo/test/clip-rectilinear.c:32,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-rectilinear.c:34,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-rectilinear.c:36,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-rectilinear.c:35,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-rectilinear.c:33,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-rectilinear.c:37,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/clip-rectilinear.c:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - cr
    - w
    - h
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 39
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 39
    functionName: L
    functionSourceFile: /src/cairo/test/clip-rectilinear.c
    functionUses: []
    functionsReached:
    - cairo_line_to
    - cairo_move_to
    - cairo_close_path
    linkageType: ''
    returnType: void
    signature: 'static void L(cairo_t *cr, int w, int h) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-rectilinear.c:70,1
    - Dst: LL
      Src: /src/cairo/test/clip-rectilinear.c:73,1
    - Dst: cairo_set_antialias
      Src: /src/cairo/test/clip-rectilinear.c:76,1
    - Dst: cairo_translate
      Src: /src/cairo/test/clip-rectilinear.c:75,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-rectilinear.c:72,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-rectilinear.c:78,1
    - Dst: LL
      Src: /src/cairo/test/clip-rectilinear.c:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 82
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 82
    functionName: draw
    functionSourceFile: /src/cairo/test/clip-rectilinear.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgb
    - LL
    - cairo_translate
    - cairo_set_antialias
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/test/clip-rectilinear.c:43,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-rectilinear.c:46,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-rectilinear.c:47,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-rectilinear.c:49,1
    - Dst: L
      Src: /src/cairo/test/clip-rectilinear.c:48,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-rectilinear.c:50,1
    - Dst: cairo_reset_clip
      Src: /src/cairo/test/clip-rectilinear.c:51,1
    - Dst: cairo_translate
      Src: /src/cairo/test/clip-rectilinear.c:54,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-rectilinear.c:55,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-rectilinear.c:56,1
    - Dst: cairo_reset_clip
      Src: /src/cairo/test/clip-rectilinear.c:60,1
    - Dst: L
      Src: /src/cairo/test/clip-rectilinear.c:57,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-rectilinear.c:59,1
    - Dst: cairo_restore
      Src: /src/cairo/test/clip-rectilinear.c:62,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-rectilinear.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - cr
    - w
    - h
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 63
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 63
    functionName: LL
    functionSourceFile: /src/cairo/test/clip-rectilinear.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - L
    - cairo_save
    - cairo_restore
    - cairo_translate
    - cairo_clip
    - cairo_reset_clip
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void LL(cairo_t *cr, int w, int h) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/test/font-options.c:46,1
    - Dst: assert
      Src: /src/cairo/test/font-options.c:48,1
    - Dst: cairo_font_options_equal
      Src: /src/cairo/test/font-options.c:48,1
    - Dst: cairo_font_options_equal
      Src: /src/cairo/test/font-options.c:47,1
    - Dst: assert
      Src: /src/cairo/test/font-options.c:53,1
    - Dst: cairo_font_options_hash
      Src: /src/cairo/test/font-options.c:53,1
    - Dst: cairo_font_options_hash
      Src: /src/cairo/test/font-options.c:54,1
    - Dst: cairo_font_options_merge
      Src: /src/cairo/test/font-options.c:57,1
    - Dst: cairo_font_options_get_antialias
      Src: /src/cairo/test/font-options.c:61,1
    - Dst: cairo_font_options_get_subpixel_order
      Src: /src/cairo/test/font-options.c:65,1
    - Dst: cairo_font_options_get_color_palette
      Src: /src/cairo/test/font-options.c:77,1
    - Dst: cairo_scaled_font_create
      Src: /src/cairo/test/font-options.c:91,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/font-options.c:103,1
    - Dst: cairo_get_font_face
      Src: /src/cairo/test/font-options.c:91,1
    - Dst: cairo_font_options_set_color_palette
      Src: /src/cairo/test/font-options.c:76,1
    - Dst: assert
      Src: /src/cairo/test/font-options.c:101,1
    - Dst: assert
      Src: /src/cairo/test/font-options.c:74,1
    - Dst: cairo_font_options_copy
      Src: /src/cairo/test/font-options.c:42,1
    - Dst: cairo_font_options_status
      Src: /src/cairo/test/font-options.c:43,1
    - Dst: cairo_font_options_equal
      Src: /src/cairo/test/font-options.c:45,1
    - Dst: cairo_font_options_equal
      Src: /src/cairo/test/font-options.c:49,1
    - Dst: assert
      Src: /src/cairo/test/font-options.c:49,1
    - Dst: cairo_font_options_get_subpixel_order
      Src: /src/cairo/test/font-options.c:66,1
    - Dst: assert
      Src: /src/cairo/test/font-options.c:70,1
    - Dst: cairo_font_options_set_antialias
      Src: /src/cairo/test/font-options.c:60,1
    - Dst: cairo_font_options_get_hint_style
      Src: /src/cairo/test/font-options.c:70,1
    - Dst: cairo_font_options_set_hint_metrics
      Src: /src/cairo/test/font-options.c:72,1
    - Dst: cairo_font_options_get_hint_metrics
      Src: /src/cairo/test/font-options.c:73,1
    - Dst: cairo_matrix_init_identity
      Src: /src/cairo/test/font-options.c:90,1
    - Dst: cairo_scaled_font_status
      Src: /src/cairo/test/font-options.c:94,1
    - Dst: cairo_scaled_font_get_font_options
      Src: /src/cairo/test/font-options.c:95,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/font-options.c:88,1
    - Dst: cairo_status
      Src: /src/cairo/test/font-options.c:98,1
    - Dst: cairo_font_options_create
      Src: /src/cairo/test/font-options.c:40,1
    - Dst: cairo_font_options_status
      Src: /src/cairo/test/font-options.c:41,1
    - Dst: assert
      Src: /src/cairo/test/font-options.c:43,1
    - Dst: assert
      Src: /src/cairo/test/font-options.c:45,1
    - Dst: cairo_font_options_equal
      Src: /src/cairo/test/font-options.c:46,1
    - Dst: assert
      Src: /src/cairo/test/font-options.c:47,1
    - Dst: assert
      Src: /src/cairo/test/font-options.c:50,1
    - Dst: cairo_font_options_equal
      Src: /src/cairo/test/font-options.c:50,1
    - Dst: cairo_font_options_hash
      Src: /src/cairo/test/font-options.c:52,1
    - Dst: cairo_font_options_hash
      Src: /src/cairo/test/font-options.c:53,1
    - Dst: cairo_font_options_get_color_palette
      Src: /src/cairo/test/font-options.c:78,1
    - Dst: cairo_font_options_get_hint_style
      Src: /src/cairo/test/font-options.c:69,1
    - Dst: cairo_get_font_options
      Src: /src/cairo/test/font-options.c:99,1
    - Dst: cairo_create
      Src: /src/cairo/test/font-options.c:87,1
    - Dst: assert
      Src: /src/cairo/test/font-options.c:66,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/font-options.c:86,1
    - Dst: cairo_font_options_destroy
      Src: /src/cairo/test/font-options.c:81,1
    - Dst: cairo_font_options_destroy
      Src: /src/cairo/test/font-options.c:80,1
    - Dst: cairo_font_options_set_hint_style
      Src: /src/cairo/test/font-options.c:68,1
    - Dst: cairo_status
      Src: /src/cairo/test/font-options.c:101,1
    - Dst: cairo_set_font_options
      Src: /src/cairo/test/font-options.c:100,1
    - Dst: assert
      Src: /src/cairo/test/font-options.c:41,1
    - Dst: assert
      Src: /src/cairo/test/font-options.c:52,1
    - Dst: cairo_font_options_hash
      Src: /src/cairo/test/font-options.c:52,1
    - Dst: assert
      Src: /src/cairo/test/font-options.c:54,1
    - Dst: cairo_font_options_hash
      Src: /src/cairo/test/font-options.c:54,1
    - Dst: cairo_font_options_merge
      Src: /src/cairo/test/font-options.c:56,1
    - Dst: cairo_font_options_merge
      Src: /src/cairo/test/font-options.c:58,1
    - Dst: assert
      Src: /src/cairo/test/font-options.c:62,1
    - Dst: cairo_font_options_get_antialias
      Src: /src/cairo/test/font-options.c:62,1
    - Dst: cairo_font_options_set_subpixel_order
      Src: /src/cairo/test/font-options.c:64,1
    - Dst: cairo_font_options_destroy
      Src: /src/cairo/test/font-options.c:82,1
    - Dst: cairo_font_options_get_hint_metrics
      Src: /src/cairo/test/font-options.c:74,1
    - Dst: assert
      Src: /src/cairo/test/font-options.c:98,1
    - Dst: assert
      Src: /src/cairo/test/font-options.c:94,1
    - Dst: assert
      Src: /src/cairo/test/font-options.c:78,1
    - Dst: cairo_scaled_font_destroy
      Src: /src/cairo/test/font-options.c:96,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 94
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - cairo_test_context_t*
    constantsTouched: []
    func_position:
      end: 106
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 106
    functionName: preamble
    functionSourceFile: /src/cairo/test/font-options.c
    functionUses: []
    functionsReached:
    - cairo_scaled_font_get_font_options
    - cairo_set_font_options
    - cairo_font_options_set_hint_style
    - cairo_font_options_hash
    - cairo_font_options_merge
    - cairo_font_options_get_color_palette
    - cairo_font_options_destroy
    - cairo_font_options_create
    - cairo_font_options_equal
    - cairo_create
    - cairo_status
    - cairo_font_options_set_antialias
    - cairo_font_options_set_color_palette
    - cairo_font_options_status
    - cairo_get_font_options
    - cairo_font_options_set_subpixel_order
    - cairo_scaled_font_status
    - cairo_font_options_copy
    - assert
    - cairo_matrix_init_identity
    - cairo_destroy
    - cairo_font_options_set_hint_metrics
    - cairo_font_options_get_hint_style
    - cairo_get_font_face
    - cairo_scaled_font_destroy
    - cairo_scaled_font_create
    - cairo_font_options_get_hint_metrics
    - cairo_font_options_get_antialias
    - cairo_surface_destroy
    - cairo_image_surface_create
    - cairo_font_options_get_subpixel_order
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t preamble (cairo_test_context_t *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cairo/test/png-flatten.c:38,1
    - Dst: fprintf
      Src: /src/cairo/test/png-flatten.c:39,1
    - Dst: cairo_image_surface_create_from_png
      Src: /src/cairo/test/png-flatten.c:46,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/png-flatten.c:47,1
    - Dst: fprintf
      Src: /src/cairo/test/png-flatten.c:49,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/png-flatten.c:50,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/png-flatten.c:54,1
    - Dst: cairo_image_surface_get_width
      Src: /src/cairo/test/png-flatten.c:55,1
    - Dst: cairo_image_surface_get_height
      Src: /src/cairo/test/png-flatten.c:56,1
    - Dst: cairo_create
      Src: /src/cairo/test/png-flatten.c:58,1
    - Dst: cairo_paint
      Src: /src/cairo/test/png-flatten.c:61,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/png-flatten.c:66,1
    - Dst: cairo_surface_write_to_png
      Src: /src/cairo/test/png-flatten.c:68,1
    - Dst: cairo_paint
      Src: /src/cairo/test/png-flatten.c:64,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/png-flatten.c:71,1
    - Dst: fprintf
      Src: /src/cairo/test/png-flatten.c:70,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/png-flatten.c:63,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/png-flatten.c:60,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 76
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 76
    functionName: main
    functionSourceFile: /src/cairo/test/png-flatten.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - fprintf
    - cairo_surface_status
    - cairo_create
    - cairo_surface_write_to_png
    - cairo_image_surface_get_height
    - cairo_image_surface_create
    - cairo_image_surface_create_from_png
    - cairo_set_source_rgb
    - cairo_destroy
    - cairo_image_surface_get_width
    - cairo_set_source_surface
    - cairo_status_to_string
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/test/record-neg-extents.c:63,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/test/record-neg-extents.c:74,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/test/record-neg-extents.c:69,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/test/record-neg-extents.c:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 2
    argNames:
    - extents
    - mat
    argTypes:
    - cairo_rectangle_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 88
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 88
    functionName: transform_extents
    functionSourceFile: /src/cairo/test/record-neg-extents.c
    functionUses: []
    functionsReached:
    - cairo_matrix_transform_point
    linkageType: ''
    returnType: void
    signature: 'static void transform_extents(cairo_rectangle_t *extents, cairo_matrix_t
      *mat) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: transform_extents
      Src: /src/cairo/test/record-neg-extents.c:101,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/record-neg-extents.c:119,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/record-neg-extents.c:134,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/record-neg-extents.c:113,1
    - Dst: cairo_paint
      Src: /src/cairo/test/record-neg-extents.c:116,1
    - Dst: cairo_translate
      Src: /src/cairo/test/record-neg-extents.c:118,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record-neg-extents.c:125,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record-neg-extents.c:130,1
    - Dst: cairo_fill
      Src: /src/cairo/test/record-neg-extents.c:136,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/record-neg-extents.c:141,1
    - Dst: cairo_pattern_set_matrix
      Src: /src/cairo/test/record-neg-extents.c:142,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record-neg-extents.c:135,1
    - Dst: cairo_transform
      Src: /src/cairo/test/record-neg-extents.c:108,1
    - Dst: cairo_create
      Src: /src/cairo/test/record-neg-extents.c:107,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/record-neg-extents.c:124,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/record-neg-extents.c:129,1
    - Dst: cairo_translate
      Src: /src/cairo/test/record-neg-extents.c:133,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/record-neg-extents.c:138,1
    - Dst: cairo_pattern_create_for_surface
      Src: /src/cairo/test/record-neg-extents.c:140,1
    - Dst: cairo_recording_surface_create
      Src: /src/cairo/test/record-neg-extents.c:102,1
    - Dst: cairo_recording_surface_create
      Src: /src/cairo/test/record-neg-extents.c:104,1
    - Dst: cairo_clip
      Src: /src/cairo/test/record-neg-extents.c:114,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record-neg-extents.c:115,1
    - Dst: cairo_translate
      Src: /src/cairo/test/record-neg-extents.c:123,1
    - Dst: cairo_translate
      Src: /src/cairo/test/record-neg-extents.c:128,1
    - Dst: cairo_fill
      Src: /src/cairo/test/record-neg-extents.c:126,1
    - Dst: cairo_fill
      Src: /src/cairo/test/record-neg-extents.c:121,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record-neg-extents.c:120,1
    - Dst: cairo_fill
      Src: /src/cairo/test/record-neg-extents.c:131,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 145
    functionName: create_pattern
    functionSourceFile: /src/cairo/test/record-neg-extents.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_for_surface
    - cairo_paint
    - cairo_clip
    - cairo_transform
    - cairo_destroy
    - cairo_create
    - cairo_pattern_set_matrix
    - cairo_surface_destroy
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_translate
    - cairo_recording_surface_create
    - transform_extents
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_pattern_t*
    signature: 'static cairo_pattern_t *create_pattern (cairo_matrix_t *mat, cairo_bool_t
      bounded) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_extents
      Src: /src/cairo/test/record-neg-extents.c:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: record_neg_extents_bounded
    functionSourceFile: /src/cairo/test/record-neg-extents.c
    functionUses: []
    functionsReached:
    - record_extents
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_neg_extents_bounded (cairo_t *cr,
      int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_extents
      Src: /src/cairo/test/record-neg-extents.c:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 202
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 202
    functionName: record_neg_extents_unbounded
    functionSourceFile: /src/cairo/test/record-neg-extents.c
    functionUses: []
    functionsReached:
    - record_extents
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_neg_extents_unbounded (cairo_t *cr,
      int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_paint
      Src: /src/cairo/test/record-neg-extents.c:159,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/test/record-neg-extents.c:163,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/test/record-neg-extents.c:164,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/test/record-neg-extents.c:173,1
    - Dst: cairo_translate
      Src: /src/cairo/test/record-neg-extents.c:154,1
    - Dst: create_pattern
      Src: /src/cairo/test/record-neg-extents.c:156,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/record-neg-extents.c:157,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/record-neg-extents.c:158,1
    - Dst: cairo_translate
      Src: /src/cairo/test/record-neg-extents.c:171,1
    - Dst: cairo_translate
      Src: /src/cairo/test/record-neg-extents.c:180,1
    - Dst: cairo_paint
      Src: /src/cairo/test/record-neg-extents.c:187,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/test/record-neg-extents.c:155,1
    - Dst: cairo_paint
      Src: /src/cairo/test/record-neg-extents.c:168,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/test/record-neg-extents.c:172,1
    - Dst: cairo_paint
      Src: /src/cairo/test/record-neg-extents.c:177,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/test/record-neg-extents.c:181,1
    - Dst: sqrt
      Src: /src/cairo/test/record-neg-extents.c:181,1
    - Dst: create_pattern
      Src: /src/cairo/test/record-neg-extents.c:184,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/record-neg-extents.c:185,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/record-neg-extents.c:186,1
    - Dst: cairo_translate
      Src: /src/cairo/test/record-neg-extents.c:162,1
    - Dst: create_pattern
      Src: /src/cairo/test/record-neg-extents.c:165,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/record-neg-extents.c:167,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/record-neg-extents.c:175,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/record-neg-extents.c:176,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/record-neg-extents.c:166,1
    - Dst: create_pattern
      Src: /src/cairo/test/record-neg-extents.c:174,1
    - Dst: sqrt
      Src: /src/cairo/test/record-neg-extents.c:181,1
    - Dst: cairo_matrix_rotate
      Src: /src/cairo/test/record-neg-extents.c:182,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/test/record-neg-extents.c:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 58
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - bounded
    argTypes:
    - cairo_t*
    - int
    - int
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 190
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 190
    functionName: record_extents
    functionSourceFile: /src/cairo/test/record-neg-extents.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_matrix_scale
    - create_pattern
    - cairo_matrix_translate
    - sqrt
    - cairo_set_source
    - cairo_translate
    - cairo_matrix_rotate
    - cairo_matrix_init_translate
    - cairo_pattern_destroy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_extents (cairo_t *cr, int width,
      int height, cairo_bool_t bounded) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_get_line_width
      Src: /src/cairo/test/caps-tails-curve.c:35,1
    - Dst: cos
      Src: /src/cairo/test/caps-tails-curve.c:44,1
    - Dst: cairo_rel_curve_to
      Src: /src/cairo/test/caps-tails-curve.c:38,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/caps-tails-curve.c:43,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/caps-tails-curve.c:37,1
    - Dst: sin
      Src: /src/cairo/test/caps-tails-curve.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - cr
    - theta
    argTypes:
    - cairo_t*
    - double
    constantsTouched: []
    func_position:
      end: 46
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 46
    functionName: make_path
    functionSourceFile: /src/cairo/test/caps-tails-curve.c
    functionUses: []
    functionsReached:
    - cairo_rel_curve_to
    - cairo_get_line_width
    - cairo_rel_line_to
    - cos
    - sin
    - cairo_move_to
    linkageType: ''
    returnType: void
    signature: 'static void make_path (cairo_t *cr, double theta) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_translate
      Src: /src/cairo/test/caps-tails-curve.c:73,1
    - Dst: cairo_translate
      Src: /src/cairo/test/caps-tails-curve.c:77,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/caps-tails-curve.c:78,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/caps-tails-curve.c:74,1
    - Dst: draw_joins
      Src: /src/cairo/test/caps-tails-curve.c:75,1
    - Dst: draw_joins
      Src: /src/cairo/test/caps-tails-curve.c:79,1
    - Dst: cairo_translate
      Src: /src/cairo/test/caps-tails-curve.c:81,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/caps-tails-curve.c:82,1
    - Dst: draw_joins
      Src: /src/cairo/test/caps-tails-curve.c:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - cr
    - theta
    argTypes:
    - cairo_t*
    - double
    constantsTouched: []
    func_position:
      end: 84
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 84
    functionName: draw_caps_joins
    functionSourceFile: /src/cairo/test/caps-tails-curve.c
    functionUses: []
    functionsReached:
    - draw_joins
    - cairo_set_line_cap
    - cairo_translate
    linkageType: ''
    returnType: void
    signature: 'static void draw_caps_joins (cairo_t *cr, double theta) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_path
      Src: /src/cairo/test/caps-tails-curve.c:51,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/caps-tails-curve.c:53,1
    - Dst: cairo_translate
      Src: /src/cairo/test/caps-tails-curve.c:55,1
    - Dst: make_path
      Src: /src/cairo/test/caps-tails-curve.c:57,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/caps-tails-curve.c:52,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/caps-tails-curve.c:58,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/caps-tails-curve.c:59,1
    - Dst: cairo_translate
      Src: /src/cairo/test/caps-tails-curve.c:61,1
    - Dst: make_path
      Src: /src/cairo/test/caps-tails-curve.c:63,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/caps-tails-curve.c:64,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/caps-tails-curve.c:65,1
    - Dst: cairo_translate
      Src: /src/cairo/test/caps-tails-curve.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - cr
    - theta
    argTypes:
    - cairo_t*
    - double
    constantsTouched: []
    func_position:
      end: 68
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 68
    functionName: draw_joins
    functionSourceFile: /src/cairo/test/caps-tails-curve.c
    functionUses: []
    functionsReached:
    - cairo_set_line_join
    - cairo_stroke
    - make_path
    - cairo_translate
    linkageType: ''
    returnType: void
    signature: 'static void draw_joins (cairo_t *cr, double theta) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/test/caps-tails-curve.c:95,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/caps-tails-curve.c:96,1
    - Dst: cairo_paint
      Src: /src/cairo/test/caps-tails-curve.c:97,1
    - Dst: cairo_restore
      Src: /src/cairo/test/caps-tails-curve.c:98,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/caps-tails-curve.c:100,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/caps-tails-curve.c:102,1
    - Dst: cairo_save
      Src: /src/cairo/test/caps-tails-curve.c:103,1
    - Dst: cairo_translate
      Src: /src/cairo/test/caps-tails-curve.c:104,1
    - Dst: draw_caps_joins
      Src: /src/cairo/test/caps-tails-curve.c:105,1
    - Dst: cairo_restore
      Src: /src/cairo/test/caps-tails-curve.c:106,1
    - Dst: cairo_translate
      Src: /src/cairo/test/caps-tails-curve.c:110,1
    - Dst: cairo_scale
      Src: /src/cairo/test/caps-tails-curve.c:111,1
    - Dst: cairo_save
      Src: /src/cairo/test/caps-tails-curve.c:108,1
    - Dst: cairo_restore
      Src: /src/cairo/test/caps-tails-curve.c:113,1
    - Dst: draw_caps_joins
      Src: /src/cairo/test/caps-tails-curve.c:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 117
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 117
    functionName: draw
    functionSourceFile: /src/cairo/test/caps-tails-curve.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_line_width
    - draw_caps_joins
    - ARRAY_LENGTH
    - cairo_save
    - cairo_scale
    - cairo_restore
    - cairo_set_source_rgb
    - cairo_translate
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/mask-transformed-similar.c:36,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/mask-transformed-similar.c:36,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/mask-transformed-similar.c:40,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/mask-transformed-similar.c:42,1
    - Dst: cairo_create
      Src: /src/cairo/test/mask-transformed-similar.c:39,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/mask-transformed-similar.c:43,1
    - Dst: cairo_fill
      Src: /src/cairo/test/mask-transformed-similar.c:44,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/test/mask-transformed-similar.c:46,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/mask-transformed-similar.c:46,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/mask-transformed-similar.c:47,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 50
    functionName: create_mask
    functionSourceFile: /src/cairo/test/mask-transformed-similar.c
    functionUses: []
    functionsReached:
    - cairo_surface_reference
    - cairo_create
    - cairo_surface_destroy
    - cairo_set_operator
    - cairo_get_target
    - cairo_fill
    - cairo_destroy
    - cairo_surface_create_similar
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *create_mask (cairo_t *dst, int width, int
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/mask-transformed-similar.c:55,1
    - Dst: cairo_translate
      Src: /src/cairo/test/mask-transformed-similar.c:65,1
    - Dst: cairo_test_create_surface_from_png
      Src: /src/cairo/test/mask-transformed-similar.c:58,1
    - Dst: cairo_paint
      Src: /src/cairo/test/mask-transformed-similar.c:62,1
    - Dst: create_mask
      Src: /src/cairo/test/mask-transformed-similar.c:59,1
    - Dst: cairo_image_surface_get_width
      Src: /src/cairo/test/mask-transformed-similar.c:66,1
    - Dst: cairo_image_surface_get_height
      Src: /src/cairo/test/mask-transformed-similar.c:67,1
    - Dst: cairo_translate
      Src: /src/cairo/test/mask-transformed-similar.c:70,1
    - Dst: cairo_rotate
      Src: /src/cairo/test/mask-transformed-similar.c:71,1
    - Dst: cairo_translate
      Src: /src/cairo/test/mask-transformed-similar.c:72,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/mask-transformed-similar.c:75,1
    - Dst: cairo_scale
      Src: /src/cairo/test/mask-transformed-similar.c:81,1
    - Dst: cairo_mask_surface
      Src: /src/cairo/test/mask-transformed-similar.c:84,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/mask-transformed-similar.c:87,1
    - Dst: cairo_identity_matrix
      Src: /src/cairo/test/mask-transformed-similar.c:78,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/mask-transformed-similar.c:86,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 90
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 90
    functionName: draw
    functionSourceFile: /src/cairo/test/mask-transformed-similar.c
    functionUses: []
    functionsReached:
    - cairo_test_create_surface_from_png
    - cairo_paint
    - cairo_mask_surface
    - cairo_test_get_context
    - create_mask
    - cairo_image_surface_get_height
    - cairo_surface_destroy
    - cairo_scale
    - cairo_rotate
    - cairo_translate
    - cairo_image_surface_get_width
    - cairo_set_source_surface
    - cairo_identity_matrix
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/cairo/test/fallback-resolution.c:137,1
    - Dst: strerror
      Src: /src/cairo/test/fallback-resolution.c:139,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/fallback-resolution.c:138,1
    - Dst: exit
      Src: /src/cairo/test/fallback-resolution.c:140,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - pathname
    argTypes:
    - cairo_test_context_t*
    - char*
    constantsTouched: []
    func_position:
      end: 142
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 142
    functionName: _xunlink
    functionSourceFile: /src/cairo/test/fallback-resolution.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - exit
    - strerror
    - unlink
    linkageType: ''
    returnType: void
    signature: 'static void _xunlink (const cairo_test_context_t *ctx, const char
      *pathname) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_mkdir
      Src: /src/cairo/test/fallback-resolution.c:350,1
    - Dst: generate_reference
      Src: /src/cairo/test/fallback-resolution.c:359,1
    - Dst: xasprintf
      Src: /src/cairo/test/fallback-resolution.c:379,1
    - Dst: free
      Src: /src/cairo/test/fallback-resolution.c:401,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/fallback-resolution.c:433,1
    - Dst: cairo_restore
      Src: /src/cairo/test/fallback-resolution.c:459,1
    - Dst: cairo_paint
      Src: /src/cairo/test/fallback-resolution.c:472,1
    - Dst: cairo_status
      Src: /src/cairo/test/fallback-resolution.c:475,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/fallback-resolution.c:476,1
    - Dst: fflush
      Src: /src/cairo/test/fallback-resolution.c:502,1
    - Dst: cairo_save
      Src: /src/cairo/test/fallback-resolution.c:454,1
    - Dst: draw
      Src: /src/cairo/test/fallback-resolution.c:469,1
    - Dst: check_result
      Src: /src/cairo/test/fallback-resolution.c:485,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/fallback-resolution.c:352,1
    - Dst: cairo_boilerplate_content_name
      Src: /src/cairo/test/fallback-resolution.c:378,1
    - Dst: free
      Src: /src/cairo/test/fallback-resolution.c:391,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/fallback-resolution.c:423,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/fallback-resolution.c:424,1
    - Dst: free
      Src: /src/cairo/test/fallback-resolution.c:428,1
    - Dst: fflush
      Src: /src/cairo/test/fallback-resolution.c:437,1
    - Dst: cairo_surface_set_device_offset
      Src: /src/cairo/test/fallback-resolution.c:446,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/fallback-resolution.c:465,1
    - Dst: cairo_push_group
      Src: /src/cairo/test/fallback-resolution.c:468,1
    - Dst: cairo_pop_group_to_source
      Src: /src/cairo/test/fallback-resolution.c:470,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/fallback-resolution.c:455,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/fallback-resolution.c:490,1
    - Dst: free
      Src: /src/cairo/test/fallback-resolution.c:494,1
    - Dst: free
      Src: /src/cairo/test/fallback-resolution.c:495,1
    - Dst: xasprintf
      Src: /src/cairo/test/fallback-resolution.c:357,1
    - Dst: free
      Src: /src/cairo/test/fallback-resolution.c:360,1
    - Dst: cairo_test_is_target_enabled
      Src: /src/cairo/test/fallback-resolution.c:375,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/fallback-resolution.c:398,1
    - Dst: free
      Src: /src/cairo/test/fallback-resolution.c:427,1
    - Dst: xasprintf
      Src: /src/cairo/test/fallback-resolution.c:410,1
    - Dst: cairo_create
      Src: /src/cairo/test/fallback-resolution.c:441,1
    - Dst: cairo_paint
      Src: /src/cairo/test/fallback-resolution.c:450,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/fallback-resolution.c:480,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/fallback-resolution.c:481,1
    - Dst: printf
      Src: /src/cairo/test/fallback-resolution.c:500,1
    - Dst: xasprintf
      Src: /src/cairo/test/fallback-resolution.c:412,1
    - Dst: printf
      Src: /src/cairo/test/fallback-resolution.c:436,1
    - Dst: cairo_set_tolerance
      Src: /src/cairo/test/fallback-resolution.c:443,1
    - Dst: cairo_save
      Src: /src/cairo/test/fallback-resolution.c:448,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/fallback-resolution.c:449,1
    - Dst: cairo_restore
      Src: /src/cairo/test/fallback-resolution.c:451,1
    - Dst: cairo_clip
      Src: /src/cairo/test/fallback-resolution.c:456,1
    - Dst: draw
      Src: /src/cairo/test/fallback-resolution.c:458,1
    - Dst: cairo_save
      Src: /src/cairo/test/fallback-resolution.c:464,1
    - Dst: cairo_clip
      Src: /src/cairo/test/fallback-resolution.c:466,1
    - Dst: printf
      Src: /src/cairo/test/fallback-resolution.c:498,1
    - Dst: cairo_restore
      Src: /src/cairo/test/fallback-resolution.c:473,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 103
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - cairo_test_context_t*
    constantsTouched: []
    func_position:
      end: 507
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 507
    functionName: preamble
    functionSourceFile: /src/cairo/test/fallback-resolution.c
    functionUses: []
    functionsReached:
    - printf
    - cairo_pop_group_to_source
    - xasprintf
    - cairo_push_group
    - draw
    - cairo_rectangle
    - cairo_set_tolerance
    - generate_reference
    - fflush
    - cairo_surface_status
    - cairo_create
    - cairo_save
    - check_result
    - cairo_test_is_target_enabled
    - cairo_status
    - cairo_surface_set_device_offset
    - cairo_clip
    - cairo_test_log
    - ARRAY_LENGTH
    - cairo_test_mkdir
    - cairo_restore
    - cairo_destroy
    - cairo_status_to_string
    - cairo_paint
    - cairo_boilerplate_content_name
    - free
    - cairo_surface_destroy
    - cairo_set_source_rgb
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t preamble (cairo_test_context_t *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/test/fallback-resolution.c:75,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/fallback-resolution.c:79,1
    - Dst: cairo_arc
      Src: /src/cairo/test/fallback-resolution.c:81,1
    - Dst: cairo_set_dash
      Src: /src/cairo/test/fallback-resolution.c:91,1
    - Dst: cairo_clip
      Src: /src/cairo/test/fallback-resolution.c:100,1
    - Dst: cairo_save
      Src: /src/cairo/test/fallback-resolution.c:110,1
    - Dst: cairo_clip
      Src: /src/cairo/test/fallback-resolution.c:112,1
    - Dst: cairo_arc
      Src: /src/cairo/test/fallback-resolution.c:101,1
    - Dst: cairo_fill
      Src: /src/cairo/test/fallback-resolution.c:121,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/fallback-resolution.c:125,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/fallback-resolution.c:129,1
    - Dst: cairo_save
      Src: /src/cairo/test/fallback-resolution.c:90,1
    - Dst: cairo_arc
      Src: /src/cairo/test/fallback-resolution.c:92,1
    - Dst: cairo_save
      Src: /src/cairo/test/fallback-resolution.c:98,1
    - Dst: cairo_restore
      Src: /src/cairo/test/fallback-resolution.c:105,1
    - Dst: cairo_text_extents
      Src: /src/cairo/test/fallback-resolution.c:126,1
    - Dst: cairo_restore
      Src: /src/cairo/test/fallback-resolution.c:131,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/fallback-resolution.c:84,1
    - Dst: cairo_restore
      Src: /src/cairo/test/fallback-resolution.c:96,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/fallback-resolution.c:111,1
    - Dst: cairo_fill
      Src: /src/cairo/test/fallback-resolution.c:104,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/fallback-resolution.c:99,1
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/test/fallback-resolution.c:113,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/fallback-resolution.c:114,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/fallback-resolution.c:116,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/fallback-resolution.c:117,1
    - Dst: cairo_arc
      Src: /src/cairo/test/fallback-resolution.c:118,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/fallback-resolution.c:77,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/fallback-resolution.c:95,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/fallback-resolution.c:115,1
    - Dst: cairo_restore
      Src: /src/cairo/test/fallback-resolution.c:122,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/fallback-resolution.c:124,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/fallback-resolution.c:127,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 69
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 132
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 132
    functionName: draw
    functionSourceFile: /src/cairo/test/fallback-resolution.c
    functionUses: []
    functionsReached:
    - cairo_set_line_width
    - cairo_set_dash
    - cairo_set_source
    - cairo_pattern_add_color_stop_rgba
    - cairo_rectangle
    - cairo_show_text
    - cairo_pattern_create_linear
    - cairo_save
    - cairo_clip
    - cairo_arc
    - cairo_stroke
    - cairo_restore
    - cairo_fill
    - cairo_text_extents
    - cairo_pattern_destroy
    - cairo_new_path
    - cairo_set_font_size
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: void
    signature: 'static void draw (cairo_t *cr, double width, double height) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_log
      Src: /src/cairo/test/fallback-resolution.c:165,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/fallback-resolution.c:166,1
    - Dst: xasprintf
      Src: /src/cairo/test/fallback-resolution.c:173,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/fallback-resolution.c:176,1
    - Dst: free
      Src: /src/cairo/test/fallback-resolution.c:181,1
    - Dst: cairo_boilerplate_content_name
      Src: /src/cairo/test/fallback-resolution.c:196,1
    - Dst: free
      Src: /src/cairo/test/fallback-resolution.c:210,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/fallback-resolution.c:220,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/fallback-resolution.c:220,1
    - Dst: cairo_surface_write_to_png
      Src: /src/cairo/test/fallback-resolution.c:245,1
    - Dst: image_diff
      Src: /src/cairo/test/fallback-resolution.c:233,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/fallback-resolution.c:252,1
    - Dst: free
      Src: /src/cairo/test/fallback-resolution.c:224,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/fallback-resolution.c:229,1
    - Dst: free
      Src: /src/cairo/test/fallback-resolution.c:225,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/fallback-resolution.c:167,1
    - Dst: xasprintf
      Src: /src/cairo/test/fallback-resolution.c:172,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/fallback-resolution.c:177,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/fallback-resolution.c:178,1
    - Dst: free
      Src: /src/cairo/test/fallback-resolution.c:180,1
    - Dst: _xunlink
      Src: /src/cairo/test/fallback-resolution.c:185,1
    - Dst: cairo_surface_write_to_png
      Src: /src/cairo/test/fallback-resolution.c:186,1
    - Dst: free
      Src: /src/cairo/test/fallback-resolution.c:192,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/fallback-resolution.c:206,1
    - Dst: free
      Src: /src/cairo/test/fallback-resolution.c:209,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/fallback-resolution.c:221,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/fallback-resolution.c:247,1
    - Dst: free
      Src: /src/cairo/test/fallback-resolution.c:254,1
    - Dst: free
      Src: /src/cairo/test/fallback-resolution.c:255,1
    - Dst: _xunlink
      Src: /src/cairo/test/fallback-resolution.c:236,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/fallback-resolution.c:222,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/fallback-resolution.c:248,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/fallback-resolution.c:188,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/fallback-resolution.c:189,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/fallback-resolution.c:179,1
    - Dst: free
      Src: /src/cairo/test/fallback-resolution.c:191,1
    - Dst: cairo_test_reference_filename
      Src: /src/cairo/test/fallback-resolution.c:197,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/fallback-resolution.c:208,1
    - Dst: cairo_test_get_reference_image
      Src: /src/cairo/test/fallback-resolution.c:215,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/fallback-resolution.c:217,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/fallback-resolution.c:218,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/fallback-resolution.c:239,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/fallback-resolution.c:253,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/fallback-resolution.c:178,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/fallback-resolution.c:190,1
    - Dst: free
      Src: /src/cairo/test/fallback-resolution.c:223,1
    - Dst: image_diff_is_failure
      Src: /src/cairo/test/fallback-resolution.c:241,1
    - Dst: free
      Src: /src/cairo/test/fallback-resolution.c:256,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/fallback-resolution.c:238,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 76
    argCount: 5
    argNames:
    - ctx
    - target
    - test_name
    - base_name
    - surface
    argTypes:
    - cairo_test_context_t*
    - cairo_boilerplate_target_t*
    - char*
    - char*
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 259
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 259
    functionName: check_result
    functionSourceFile: /src/cairo/test/fallback-resolution.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - cairo_boilerplate_content_name
    - image_diff_is_failure
    - image_diff
    - _xunlink
    - free
    - xasprintf
    - cairo_surface_status
    - cairo_test_get_reference_image
    - cairo_surface_write_to_png
    - cairo_surface_destroy
    - cairo_image_surface_create
    - cairo_test_reference_filename
    - cairo_status_to_string
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t check_result (cairo_test_context_t *ctx,\t const\
      \ cairo_boilerplate_target_t *target,\t const char *test_name,\t const char\
      \ *base_name,\t cairo_surface_t *surface) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_font_options_create
      Src: /src/cairo/test/fallback-resolution.c:281,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/fallback-resolution.c:272,1
    - Dst: cairo_font_options_destroy
      Src: /src/cairo/test/fallback-resolution.c:290,1
    - Dst: cairo_restore
      Src: /src/cairo/test/fallback-resolution.c:300,1
    - Dst: cairo_scale
      Src: /src/cairo/test/fallback-resolution.c:310,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/fallback-resolution.c:269,1
    - Dst: cairo_create
      Src: /src/cairo/test/fallback-resolution.c:271,1
    - Dst: cairo_surface_get_font_options
      Src: /src/cairo/test/fallback-resolution.c:285,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/fallback-resolution.c:286,1
    - Dst: draw
      Src: /src/cairo/test/fallback-resolution.c:303,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/fallback-resolution.c:305,1
    - Dst: cairo_scale
      Src: /src/cairo/test/fallback-resolution.c:302,1
    - Dst: cairo_paint
      Src: /src/cairo/test/fallback-resolution.c:312,1
    - Dst: cairo_surface_write_to_png
      Src: /src/cairo/test/fallback-resolution.c:314,1
    - Dst: fprintf
      Src: /src/cairo/test/fallback-resolution.c:318,1
    - Dst: cairo_pdf_surface_create
      Src: /src/cairo/test/fallback-resolution.c:284,1
    - Dst: cairo_set_tolerance
      Src: /src/cairo/test/fallback-resolution.c:294,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/fallback-resolution.c:298,1
    - Dst: cairo_save
      Src: /src/cairo/test/fallback-resolution.c:297,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/fallback-resolution.c:306,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/fallback-resolution.c:308,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/fallback-resolution.c:319,1
    - Dst: cairo_set_font_options
      Src: /src/cairo/test/fallback-resolution.c:289,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/test/fallback-resolution.c:305,1
    - Dst: cairo_paint
      Src: /src/cairo/test/fallback-resolution.c:299,1
    - Dst: cairo_create
      Src: /src/cairo/test/fallback-resolution.c:309,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/fallback-resolution.c:311,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/fallback-resolution.c:314,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/fallback-resolution.c:315,1
    - Dst: exit
      Src: /src/cairo/test/fallback-resolution.c:320,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 50
    argCount: 3
    argNames:
    - ppi_x
    - ppi_y
    - filename
    argTypes:
    - double
    - double
    - char*
    constantsTouched: []
    func_position:
      end: 322
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 322
    functionName: generate_reference
    functionSourceFile: /src/cairo/test/fallback-resolution.c
    functionUses: []
    functionsReached:
    - cairo_set_font_options
    - cairo_pdf_surface_create
    - cairo_surface_write_to_png
    - cairo_get_target
    - draw
    - cairo_set_source_surface
    - cairo_set_tolerance
    - cairo_font_options_destroy
    - cairo_font_options_create
    - fprintf
    - cairo_surface_reference
    - cairo_create
    - cairo_save
    - exit
    - cairo_surface_get_font_options
    - cairo_restore
    - cairo_destroy
    - cairo_status_to_string
    - cairo_paint
    - cairo_surface_destroy
    - cairo_image_surface_create
    - cairo_scale
    - cairo_set_source_rgb
    linkageType: ''
    returnType: void
    signature: 'static void generate_reference (double ppi_x, double ppi_y, const
      char *filename) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_paint
      Src: /src/cairo/test/subsurface-modify-parent.c:42,1
    - Dst: cairo_fill
      Src: /src/cairo/test/subsurface-modify-parent.c:67,1
    - Dst: cairo_paint
      Src: /src/cairo/test/subsurface-modify-parent.c:33,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/subsurface-modify-parent.c:45,1
    - Dst: cairo_fill
      Src: /src/cairo/test/subsurface-modify-parent.c:50,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/subsurface-modify-parent.c:49,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/subsurface-modify-parent.c:52,1
    - Dst: cairo_fill
      Src: /src/cairo/test/subsurface-modify-parent.c:54,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/subsurface-modify-parent.c:56,1
    - Dst: cairo_fill
      Src: /src/cairo/test/subsurface-modify-parent.c:58,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/subsurface-modify-parent.c:60,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/subsurface-modify-parent.c:65,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/subsurface-modify-parent.c:61,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/subsurface-modify-parent.c:66,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/subsurface-modify-parent.c:40,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/subsurface-modify-parent.c:64,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/subsurface-modify-parent.c:64,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/subsurface-modify-parent.c:32,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/subsurface-modify-parent.c:36,1
    - Dst: cairo_surface_create_for_rectangle
      Src: /src/cairo/test/subsurface-modify-parent.c:36,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/subsurface-modify-parent.c:41,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/subsurface-modify-parent.c:41,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/subsurface-modify-parent.c:44,1
    - Dst: cairo_fill
      Src: /src/cairo/test/subsurface-modify-parent.c:46,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/subsurface-modify-parent.c:57,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/subsurface-modify-parent.c:53,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/subsurface-modify-parent.c:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 70
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 70
    functionName: draw
    functionSourceFile: /src/cairo/test/subsurface-modify-parent.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_surface_create_for_rectangle
    - cairo_get_source
    - cairo_surface_destroy
    - cairo_pattern_set_extend
    - cairo_get_target
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_set_source_surface
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/test/smask-paint.c:40,1
    - Dst: cairo_restore
      Src: /src/cairo/test/smask-paint.c:43,1
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/test/smask-paint.c:45,1
    - Dst: cairo_paint
      Src: /src/cairo/test/smask-paint.c:57,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/smask-paint.c:50,1
    - Dst: cairo_pattern_create_radial
      Src: /src/cairo/test/smask-paint.c:59,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/smask-paint.c:62,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/smask-paint.c:69,1
    - Dst: cairo_get_group_target
      Src: /src/cairo/test/smask-paint.c:34,1
    - Dst: cairo_paint
      Src: /src/cairo/test/smask-paint.c:42,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/smask-paint.c:51,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/smask-paint.c:49,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/smask-paint.c:52,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/smask-paint.c:65,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/smask-paint.c:70,1
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/smask-paint.c:34,1
    - Dst: cairo_create
      Src: /src/cairo/test/smask-paint.c:37,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/smask-paint.c:46,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/smask-paint.c:56,1
    - Dst: cairo_paint
      Src: /src/cairo/test/smask-paint.c:54,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/smask-paint.c:48,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/smask-paint.c:64,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/smask-paint.c:66,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/smask-paint.c:67,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/smask-paint.c:38,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/smask-paint.c:41,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/smask-paint.c:47,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/smask-paint.c:63,1
    - Dst: cairo_mask_surface
      Src: /src/cairo/test/smask-paint.c:69,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 40
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 73
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 73
    functionName: draw
    functionSourceFile: /src/cairo/test/smask-paint.c
    functionUses: []
    functionsReached:
    - cairo_get_group_target
    - cairo_paint
    - cairo_mask_surface
    - cairo_destroy
    - cairo_pattern_create_linear
    - cairo_create
    - cairo_save
    - cairo_surface_destroy
    - cairo_set_source
    - cairo_pattern_create_radial
    - cairo_restore
    - cairo_set_operator
    - cairo_pattern_add_color_stop_rgba
    - cairo_set_source_rgb
    - cairo_get_target
    - cairo_surface_create_similar
    - cairo_pattern_destroy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: mime_data_destroy_func
    functionSourceFile: /src/cairo/test/mime-surface-api.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void mime_data_destroy_func (void *data) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/mime-surface-api.c:86,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/mime-surface-api.c:88,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/mime-surface-api.c:87,1
    - Dst: check_mime_data
      Src: /src/cairo/test/mime-surface-api.c:93,1
    - Dst: set_and_check_mime_data
      Src: /src/cairo/test/mime-surface-api.c:97,1
    - Dst: strlen
      Src: /src/cairo/test/mime-surface-api.c:99,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/mime-surface-api.c:105,1
    - Dst: set_and_check_mime_data
      Src: /src/cairo/test/mime-surface-api.c:110,1
    - Dst: strlen
      Src: /src/cairo/test/mime-surface-api.c:112,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/mime-surface-api.c:118,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/mime-surface-api.c:123,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/mime-surface-api.c:140,1
    - Dst: set_and_check_mime_data
      Src: /src/cairo/test/mime-surface-api.c:128,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/mime-surface-api.c:134,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 32
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - cairo_test_context_t*
    constantsTouched: []
    func_position:
      end: 143
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 143
    functionName: preamble
    functionSourceFile: /src/cairo/test/mime-surface-api.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - strlen
    - cairo_surface_status
    - set_and_check_mime_data
    - cairo_surface_destroy
    - cairo_image_surface_create
    - check_mime_data
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t preamble (cairo_test_context_t *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_get_mime_data
      Src: /src/cairo/test/mime-surface-api.c:43,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/mime-surface-api.c:45,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 5
    argNames:
    - ctx
    - surface
    - mimetype
    - data
    - length
    argTypes:
    - cairo_test_context_t*
    - cairo_surface_t*
    - char*
    - unsigned char*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 53
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 53
    functionName: check_mime_data
    functionSourceFile: /src/cairo/test/mime-surface-api.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - cairo_surface_get_mime_data
    linkageType: ''
    returnType: cairo_test_status_t
    signature: "static cairo_test_status_t check_mime_data (cairo_test_context_t *ctx,\
      \ cairo_surface_t *surface,\t\t const char *mimetype, const unsigned char *data,\t\
      \t unsigned long length) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_set_mime_data
      Src: /src/cairo/test/mime-surface-api.c:62,1
    - Dst: check_mime_data
      Src: /src/cairo/test/mime-surface-api.c:72,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/mime-surface-api.c:68,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/mime-surface-api.c:67,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 6
    argNames:
    - ctx
    - surface
    - mimetype
    - data
    - length
    - destroy_called
    argTypes:
    - cairo_test_context_t*
    - cairo_surface_t*
    - char*
    - unsigned char*
    - unsigned long
    - cairo_bool_t*
    constantsTouched: []
    func_position:
      end: 73
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 73
    functionName: set_and_check_mime_data
    functionSourceFile: /src/cairo/test/mime-surface-api.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - cairo_status_to_string
    - check_mime_data
    - cairo_surface_set_mime_data
    linkageType: ''
    returnType: cairo_test_status_t
    signature: "static cairo_test_status_t set_and_check_mime_data (cairo_test_context_t\
      \ *ctx, cairo_surface_t *surface,\t\t\t const char *mimetype, const unsigned\
      \ char *data,\t\t\t unsigned long length, cairo_bool_t *destroy_called) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/degenerate-curve-to.c:42,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/degenerate-curve-to.c:52,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/degenerate-curve-to.c:55,1
    - Dst: cairo_translate
      Src: /src/cairo/test/degenerate-curve-to.c:72,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/degenerate-curve-to.c:57,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/degenerate-curve-to.c:77,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/degenerate-curve-to.c:70,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/degenerate-curve-to.c:41,1
    - Dst: cairo_paint
      Src: /src/cairo/test/degenerate-curve-to.c:38,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/degenerate-curve-to.c:46,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/degenerate-curve-to.c:91,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/degenerate-curve-to.c:37,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/degenerate-curve-to.c:48,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/degenerate-curve-to.c:64,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/degenerate-curve-to.c:66,1
    - Dst: cairo_translate
      Src: /src/cairo/test/degenerate-curve-to.c:82,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/degenerate-curve-to.c:61,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/degenerate-curve-to.c:85,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/degenerate-curve-to.c:40,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/degenerate-curve-to.c:43,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/degenerate-curve-to.c:75,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/degenerate-curve-to.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 94
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 94
    functionName: draw
    functionSourceFile: /src/cairo/test/degenerate-curve-to.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_line_width
    - cairo_curve_to
    - cairo_set_line_join
    - cairo_stroke
    - cairo_set_line_cap
    - cairo_set_source_rgb
    - cairo_translate
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_init_identity
      Src: /src/cairo/test/scaled-font-zero-matrix.c:36,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/test/scaled-font-zero-matrix.c:39,1
    - Dst: cairo_get_font_options
      Src: /src/cairo/test/scaled-font-zero-matrix.c:43,1
    - Dst: cairo_get_font_face
      Src: /src/cairo/test/scaled-font-zero-matrix.c:41,1
    - Dst: cairo_font_options_create
      Src: /src/cairo/test/scaled-font-zero-matrix.c:42,1
    - Dst: cairo_scaled_font_create
      Src: /src/cairo/test/scaled-font-zero-matrix.c:44,1
    - Dst: cairo_set_scaled_font
      Src: /src/cairo/test/scaled-font-zero-matrix.c:48,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/scaled-font-zero-matrix.c:49,1
    - Dst: cairo_scaled_font_destroy
      Src: /src/cairo/test/scaled-font-zero-matrix.c:50,1
    - Dst: cairo_font_options_destroy
      Src: /src/cairo/test/scaled-font-zero-matrix.c:51,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/scaled-font-zero-matrix.c:53,1
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/scaled-font-zero-matrix.c:53,1
    - Dst: cairo_status
      Src: /src/cairo/test/scaled-font-zero-matrix.c:54,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 55
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 55
    functionName: draw
    functionSourceFile: /src/cairo/test/scaled-font-zero-matrix.c
    functionUses: []
    functionsReached:
    - cairo_get_font_face
    - cairo_scaled_font_destroy
    - cairo_matrix_scale
    - cairo_show_text
    - cairo_font_options_create
    - cairo_scaled_font_create
    - cairo_font_options_destroy
    - cairo_test_status_from_status
    - cairo_test_get_context
    - cairo_set_scaled_font
    - cairo_matrix_init_identity
    - cairo_status
    - cairo_get_font_options
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/zero-alpha.c:52,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/zero-alpha.c:58,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/zero-alpha.c:59,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/test/zero-alpha.c:61,1
    - Dst: cairo_paint
      Src: /src/cairo/test/zero-alpha.c:53,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/zero-alpha.c:62,1
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/test/zero-alpha.c:65,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/zero-alpha.c:67,1
    - Dst: cairo_paint
      Src: /src/cairo/test/zero-alpha.c:69,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/zero-alpha.c:72,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/zero-alpha.c:74,1
    - Dst: cairo_paint
      Src: /src/cairo/test/zero-alpha.c:81,1
    - Dst: cairo_clip
      Src: /src/cairo/test/zero-alpha.c:73,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/zero-alpha.c:79,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/zero-alpha.c:83,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/zero-alpha.c:84,1
    - Dst: cairo_paint
      Src: /src/cairo/test/zero-alpha.c:76,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 87
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 87
    functionName: draw
    functionSourceFile: /src/cairo/test/zero-alpha.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgba
    - cairo_new_path
    - cairo_surface_finish
    - cairo_image_surface_create_for_data
    - cairo_surface_destroy
    - cairo_set_source_rgb
    - cairo_clip
    - cairo_fill_preserve
    - cairo_set_source_surface
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_translate
      Src: /src/cairo/test/mesh-pattern.c:47,1
    - Dst: cairo_mesh_pattern_begin_patch
      Src: /src/cairo/test/mesh-pattern.c:66,1
    - Dst: cairo_mesh_pattern_move_to
      Src: /src/cairo/test/mesh-pattern.c:68,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgb
      Src: /src/cairo/test/mesh-pattern.c:75,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgb
      Src: /src/cairo/test/mesh-pattern.c:77,1
    - Dst: cairo_mesh_pattern_curve_to
      Src: /src/cairo/test/mesh-pattern.c:54,1
    - Dst: cairo_mesh_pattern_curve_to
      Src: /src/cairo/test/mesh-pattern.c:55,1
    - Dst: cairo_mesh_pattern_curve_to
      Src: /src/cairo/test/mesh-pattern.c:56,1
    - Dst: cairo_mesh_pattern_curve_to
      Src: /src/cairo/test/mesh-pattern.c:57,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgb
      Src: /src/cairo/test/mesh-pattern.c:62,1
    - Dst: cairo_mesh_pattern_curve_to
      Src: /src/cairo/test/mesh-pattern.c:70,1
    - Dst: cairo_mesh_pattern_curve_to
      Src: /src/cairo/test/mesh-pattern.c:69,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgb
      Src: /src/cairo/test/mesh-pattern.c:60,1
    - Dst: cairo_mesh_pattern_end_patch
      Src: /src/cairo/test/mesh-pattern.c:64,1
    - Dst: cairo_mesh_pattern_curve_to
      Src: /src/cairo/test/mesh-pattern.c:71,1
    - Dst: cairo_mesh_pattern_begin_patch
      Src: /src/cairo/test/mesh-pattern.c:51,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgba
      Src: /src/cairo/test/mesh-pattern.c:74,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/mesh-pattern.c:83,1
    - Dst: cairo_test_paint_checkered
      Src: /src/cairo/test/mesh-pattern.c:44,1
    - Dst: cairo_pattern_create_mesh
      Src: /src/cairo/test/mesh-pattern.c:49,1
    - Dst: cairo_translate
      Src: /src/cairo/test/mesh-pattern.c:46,1
    - Dst: cairo_mesh_pattern_move_to
      Src: /src/cairo/test/mesh-pattern.c:53,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgb
      Src: /src/cairo/test/mesh-pattern.c:59,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgb
      Src: /src/cairo/test/mesh-pattern.c:61,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgba
      Src: /src/cairo/test/mesh-pattern.c:76,1
    - Dst: cairo_mesh_pattern_end_patch
      Src: /src/cairo/test/mesh-pattern.c:79,1
    - Dst: cairo_paint
      Src: /src/cairo/test/mesh-pattern.c:82,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/mesh-pattern.c:81,1
    - Dst: cairo_mesh_pattern_curve_to
      Src: /src/cairo/test/mesh-pattern.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 86
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 86
    functionName: draw
    functionSourceFile: /src/cairo/test/mesh-pattern.c
    functionUses: []
    functionsReached:
    - cairo_mesh_pattern_move_to
    - cairo_paint
    - cairo_mesh_pattern_begin_patch
    - cairo_mesh_pattern_set_corner_color_rgba
    - cairo_test_paint_checkered
    - cairo_mesh_pattern_curve_to
    - cairo_set_source
    - cairo_mesh_pattern_end_patch
    - cairo_pattern_create_mesh
    - cairo_translate
    - cairo_mesh_pattern_set_corner_color_rgb
    - cairo_pattern_destroy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FcPatternCreate
      Src: /src/cairo/test/ft-text-vertical-layout-type1.c:52,1
    - Dst: FcConfigSubstitute
      Src: /src/cairo/test/ft-text-vertical-layout-type1.c:58,1
    - Dst: FcPatternAddBool
      Src: /src/cairo/test/ft-text-vertical-layout-type1.c:71,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/test/ft-text-vertical-layout-type1.c:79,1
    - Dst: cairo_ft_font_face_create_for_pattern
      Src: /src/cairo/test/ft-text-vertical-layout-type1.c:75,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/ft-text-vertical-layout-type1.c:89,1
    - Dst: FcPatternAddDouble
      Src: /src/cairo/test/ft-text-vertical-layout-type1.c:57,1
    - Dst: cairo_get_font_options
      Src: /src/cairo/test/ft-text-vertical-layout-type1.c:50,1
    - Dst: FcPatternAddString
      Src: /src/cairo/test/ft-text-vertical-layout-type1.c:56,1
    - Dst: cairo_ft_font_options_substitute
      Src: /src/cairo/test/ft-text-vertical-layout-type1.c:60,1
    - Dst: FcDefaultSubstitute
      Src: /src/cairo/test/ft-text-vertical-layout-type1.c:62,1
    - Dst: FcFontMatch
      Src: /src/cairo/test/ft-text-vertical-layout-type1.c:63,1
    - Dst: cairo_get_matrix
      Src: /src/cairo/test/ft-text-vertical-layout-type1.c:81,1
    - Dst: FcPatternDestroy
      Src: /src/cairo/test/ft-text-vertical-layout-type1.c:90,1
    - Dst: cairo_scaled_font_status
      Src: /src/cairo/test/ft-text-vertical-layout-type1.c:93,1
    - Dst: FcPatternDestroy
      Src: /src/cairo/test/ft-text-vertical-layout-type1.c:65,1
    - Dst: cairo_matrix_rotate
      Src: /src/cairo/test/ft-text-vertical-layout-type1.c:78,1
    - Dst: cairo_scaled_font_create
      Src: /src/cairo/test/ft-text-vertical-layout-type1.c:83,1
    - Dst: FcPatternDestroy
      Src: /src/cairo/test/ft-text-vertical-layout-type1.c:91,1
    - Dst: cairo_scaled_font_destroy
      Src: /src/cairo/test/ft-text-vertical-layout-type1.c:95,1
    - Dst: cairo_font_options_create
      Src: /src/cairo/test/ft-text-vertical-layout-type1.c:48,1
    - Dst: FcPatternGetDouble
      Src: /src/cairo/test/ft-text-vertical-layout-type1.c:73,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/test/ft-text-vertical-layout-type1.c:77,1
    - Dst: FcPatternDel
      Src: /src/cairo/test/ft-text-vertical-layout-type1.c:70,1
    - Dst: cairo_font_options_destroy
      Src: /src/cairo/test/ft-text-vertical-layout-type1.c:88,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 2
    argNames:
    - cr
    - out
    argTypes:
    - cairo_t*
    - cairo_scaled_font_t**
    constantsTouched: []
    func_position:
      end: 101
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 101
    functionName: create_scaled_font
    functionSourceFile: /src/cairo/test/ft-text-vertical-layout-type1.c
    functionUses: []
    functionsReached:
    - FcPatternDestroy
    - FcPatternGetDouble
    - FcPatternDel
    - FcDefaultSubstitute
    - cairo_font_options_destroy
    - cairo_font_options_create
    - cairo_ft_font_face_create_for_pattern
    - FcPatternCreate
    - cairo_get_matrix
    - FcConfigSubstitute
    - FcPatternAddString
    - cairo_get_font_options
    - cairo_matrix_scale
    - cairo_scaled_font_status
    - FcPatternAddDouble
    - cairo_font_face_destroy
    - FcPatternAddBool
    - cairo_matrix_rotate
    - cairo_matrix_init_translate
    - cairo_scaled_font_destroy
    - cairo_scaled_font_create
    - cairo_ft_font_options_substitute
    - FcFontMatch
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t create_scaled_font (cairo_t * cr,\t\t cairo_scaled_font_t\
      \ **out) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/test/ft-text-vertical-layout-type1.c:115,1
    - Dst: create_scaled_font
      Src: /src/cairo/test/ft-text-vertical-layout-type1.c:120,1
    - Dst: cairo_text_extents
      Src: /src/cairo/test/ft-text-vertical-layout-type1.c:144,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/ft-text-vertical-layout-type1.c:135,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/ft-text-vertical-layout-type1.c:136,1
    - Dst: cairo_text_extents
      Src: /src/cairo/test/ft-text-vertical-layout-type1.c:131,1
    - Dst: cairo_restore
      Src: /src/cairo/test/ft-text-vertical-layout-type1.c:118,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/ft-text-vertical-layout-type1.c:116,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/ft-text-vertical-layout-type1.c:134,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/ft-text-vertical-layout-type1.c:129,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/ft-text-vertical-layout-type1.c:147,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/ft-text-vertical-layout-type1.c:130,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/ft-text-vertical-layout-type1.c:141,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/ft-text-vertical-layout-type1.c:143,1
    - Dst: cairo_text_path
      Src: /src/cairo/test/ft-text-vertical-layout-type1.c:148,1
    - Dst: cairo_fill
      Src: /src/cairo/test/ft-text-vertical-layout-type1.c:149,1
    - Dst: cairo_get_line_width
      Src: /src/cairo/test/ft-text-vertical-layout-type1.c:112,1
    - Dst: cairo_paint
      Src: /src/cairo/test/ft-text-vertical-layout-type1.c:117,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/ft-text-vertical-layout-type1.c:122,1
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/ft-text-vertical-layout-type1.c:122,1
    - Dst: cairo_set_scaled_font
      Src: /src/cairo/test/ft-text-vertical-layout-type1.c:126,1
    - Dst: cairo_scaled_font_destroy
      Src: /src/cairo/test/ft-text-vertical-layout-type1.c:127,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/ft-text-vertical-layout-type1.c:150,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/ft-text-vertical-layout-type1.c:155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 58
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 158
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 158
    functionName: draw
    functionSourceFile: /src/cairo/test/ft-text-vertical-layout-type1.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_scaled_font_destroy
    - cairo_show_text
    - cairo_get_line_width
    - cairo_test_status_from_status
    - cairo_test_get_context
    - cairo_set_line_width
    - cairo_save
    - cairo_text_path
    - create_scaled_font
    - cairo_set_scaled_font
    - cairo_stroke
    - cairo_restore
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_text_extents
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/test/dithergradient.c:30,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/dithergradient.c:34,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/dithergradient.c:31,1
    - Dst: cairo_pattern_set_dither
      Src: /src/cairo/test/dithergradient.c:35,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/dithergradient.c:32,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/dithergradient.c:36,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - cr
    - width
    argTypes:
    - cairo_t*
    - int
    constantsTouched: []
    func_position:
      end: 37
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 37
    functionName: set_dither_source
    functionSourceFile: /src/cairo/test/dithergradient.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_linear
    - cairo_set_source
    - cairo_pattern_add_color_stop_rgba
    - cairo_pattern_set_dither
    - cairo_pattern_destroy
    linkageType: ''
    returnType: void
    signature: 'static void set_dither_source (cairo_t *cr, int width) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_dither_source
      Src: /src/cairo/test/dithergradient.c:46,1
    - Dst: cairo_paint
      Src: /src/cairo/test/dithergradient.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: draw
    functionSourceFile: /src/cairo/test/dithergradient.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - set_dither_source
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/dithergradient.c:55,1
    - Dst: cairo_paint
      Src: /src/cairo/test/dithergradient.c:62,1
    - Dst: cairo_paint
      Src: /src/cairo/test/dithergradient.c:56,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/dithergradient.c:60,1
    - Dst: set_dither_source
      Src: /src/cairo/test/dithergradient.c:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: draw2
    functionSourceFile: /src/cairo/test/dithergradient.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - set_dither_source
    - cairo_set_operator
    - cairo_set_source_rgb
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw2 (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_TEST_DOUBLE_EQUALS
      Src: /src/cairo/test/bitmap-font.c:45,1
    - Dst: CAIRO_TEST_DOUBLE_EQUALS
      Src: /src/cairo/test/bitmap-font.c:46,1
    - Dst: CAIRO_TEST_DOUBLE_EQUALS
      Src: /src/cairo/test/bitmap-font.c:48,1
    - Dst: CAIRO_TEST_DOUBLE_EQUALS
      Src: /src/cairo/test/bitmap-font.c:47,1
    - Dst: CAIRO_TEST_DOUBLE_EQUALS
      Src: /src/cairo/test/bitmap-font.c:49,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - A
    - B
    argTypes:
    - cairo_font_extents_t*
    - cairo_font_extents_t*
    constantsTouched: []
    func_position:
      end: 50
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 50
    functionName: font_extents_equal
    functionSourceFile: /src/cairo/test/bitmap-font.c
    functionUses: []
    functionsReached:
    - CAIRO_TEST_DOUBLE_EQUALS
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t font_extents_equal (const cairo_font_extents_t\
      \ *A,\t const cairo_font_extents_t *B) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/bitmap-font.c:105,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/bitmap-font.c:130,1
    - Dst: CHECK_FONT_EXTENTS
      Src: /src/cairo/test/bitmap-font.c:144,1
    - Dst: cairo_set_font_options
      Src: /src/cairo/test/bitmap-font.c:147,1
    - Dst: cairo_set_font_options
      Src: /src/cairo/test/bitmap-font.c:196,1
    - Dst: cairo_font_options_set_hint_style
      Src: /src/cairo/test/bitmap-font.c:169,1
    - Dst: FcFreeTypeQuery
      Src: /src/cairo/test/bitmap-font.c:101,1
    - Dst: cairo_font_options_create
      Src: /src/cairo/test/bitmap-font.c:132,1
    - Dst: cairo_set_font_options
      Src: /src/cairo/test/bitmap-font.c:160,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/bitmap-font.c:172,1
    - Dst: cairo_font_options_set_hint_style
      Src: /src/cairo/test/bitmap-font.c:200,1
    - Dst: cairo_font_options_destroy
      Src: /src/cairo/test/bitmap-font.c:214,1
    - Dst: CHECK_FONT_EXTENTS
      Src: /src/cairo/test/bitmap-font.c:197,1
    - Dst: cairo_set_font_options
      Src: /src/cairo/test/bitmap-font.c:185,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/bitmap-font.c:208,1
    - Dst: xasprintf
      Src: /src/cairo/test/bitmap-font.c:94,1
    - Dst: S_ISREG
      Src: /src/cairo/test/bitmap-font.c:96,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/bitmap-font.c:103,1
    - Dst: CHECK_FONT_EXTENTS
      Src: /src/cairo/test/bitmap-font.c:149,1
    - Dst: cairo_text_path
      Src: /src/cairo/test/bitmap-font.c:175,1
    - Dst: cairo_set_font_options
      Src: /src/cairo/test/bitmap-font.c:165,1
    - Dst: stat
      Src: /src/cairo/test/bitmap-font.c:96,1
    - Dst: CHECK_FONT_EXTENTS
      Src: /src/cairo/test/bitmap-font.c:161,1
    - Dst: cairo_font_face_get_type
      Src: /src/cairo/test/bitmap-font.c:121,1
    - Dst: free
      Src: /src/cairo/test/bitmap-font.c:116,1
    - Dst: cairo_set_font_options
      Src: /src/cairo/test/bitmap-font.c:201,1
    - Dst: cairo_fill
      Src: /src/cairo/test/bitmap-font.c:212,1
    - Dst: cairo_fill
      Src: /src/cairo/test/bitmap-font.c:176,1
    - Dst: CHECK_FONT_EXTENTS
      Src: /src/cairo/test/bitmap-font.c:186,1
    - Dst: cairo_text_path
      Src: /src/cairo/test/bitmap-font.c:210,1
    - Dst: cairo_font_face_status
      Src: /src/cairo/test/bitmap-font.c:111,1
    - Dst: cairo_font_options_set_hint_style
      Src: /src/cairo/test/bitmap-font.c:154,1
    - Dst: cairo_rotate
      Src: /src/cairo/test/bitmap-font.c:181,1
    - Dst: cairo_font_options_set_hint_style
      Src: /src/cairo/test/bitmap-font.c:205,1
    - Dst: CHECK_FONT_EXTENTS
      Src: /src/cairo/test/bitmap-font.c:166,1
    - Dst: CHECK_FONT_EXTENTS
      Src: /src/cairo/test/bitmap-font.c:202,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/bitmap-font.c:193,1
    - Dst: cairo_text_path
      Src: /src/cairo/test/bitmap-font.c:211,1
    - Dst: cairo_set_font_options
      Src: /src/cairo/test/bitmap-font.c:170,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/bitmap-font.c:122,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/bitmap-font.c:151,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/bitmap-font.c:157,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/bitmap-font.c:97,1
    - Dst: cairo_font_extents
      Src: /src/cairo/test/bitmap-font.c:143,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/bitmap-font.c:152,1
    - Dst: cairo_font_options_set_hint_style
      Src: /src/cairo/test/bitmap-font.c:183,1
    - Dst: cairo_set_font_options
      Src: /src/cairo/test/bitmap-font.c:206,1
    - Dst: cairo_translate
      Src: /src/cairo/test/bitmap-font.c:180,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/bitmap-font.c:115,1
    - Dst: CHECK_FONT_EXTENTS
      Src: /src/cairo/test/bitmap-font.c:171,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/bitmap-font.c:162,1
    - Dst: cairo_font_options_set_hint_style
      Src: /src/cairo/test/bitmap-font.c:190,1
    - Dst: CHECK_FONT_EXTENTS
      Src: /src/cairo/test/bitmap-font.c:207,1
    - Dst: cairo_ft_font_face_create_for_pattern
      Src: /src/cairo/test/bitmap-font.c:108,1
    - Dst: cairo_font_face_get_type
      Src: /src/cairo/test/bitmap-font.c:123,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/bitmap-font.c:129,1
    - Dst: cairo_font_options_set_hint_style
      Src: /src/cairo/test/bitmap-font.c:159,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/bitmap-font.c:198,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/bitmap-font.c:117,1
    - Dst: cairo_font_options_set_hint_style
      Src: /src/cairo/test/bitmap-font.c:164,1
    - Dst: cairo_set_font_options
      Src: /src/cairo/test/bitmap-font.c:191,1
    - Dst: free
      Src: /src/cairo/test/bitmap-font.c:104,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/bitmap-font.c:113,1
    - Dst: cairo_font_options_set_hint_metrics
      Src: /src/cairo/test/bitmap-font.c:146,1
    - Dst: cairo_set_font_options
      Src: /src/cairo/test/bitmap-font.c:155,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/bitmap-font.c:167,1
    - Dst: cairo_font_options_set_hint_style
      Src: /src/cairo/test/bitmap-font.c:195,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/bitmap-font.c:203,1
    - Dst: free
      Src: /src/cairo/test/bitmap-font.c:120,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/bitmap-font.c:124,1
    - Dst: CHECK_FONT_EXTENTS
      Src: /src/cairo/test/bitmap-font.c:192,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/bitmap-font.c:188,1
    - Dst: cairo_font_options_set_hint_metrics
      Src: /src/cairo/test/bitmap-font.c:184,1
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/bitmap-font.c:84,1
    - Dst: FcPatternDestroy
      Src: /src/cairo/test/bitmap-font.c:109,1
    - Dst: cairo_set_font_face
      Src: /src/cairo/test/bitmap-font.c:128,1
    - Dst: CHECK_FONT_EXTENTS
      Src: /src/cairo/test/bitmap-font.c:156,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 93
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 217
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 217
    functionName: draw
    functionSourceFile: /src/cairo/test/bitmap-font.c
    functionUses: []
    functionsReached:
    - cairo_set_font_options
    - cairo_font_options_set_hint_style
    - xasprintf
    - cairo_text_path
    - FcPatternDestroy
    - cairo_translate
    - cairo_show_text
    - cairo_font_options_destroy
    - cairo_font_options_create
    - cairo_test_get_context
    - cairo_ft_font_face_create_for_pattern
    - FcFreeTypeQuery
    - cairo_test_log
    - cairo_font_face_get_type
    - cairo_test_status_from_status
    - cairo_font_face_destroy
    - cairo_font_extents
    - cairo_font_face_status
    - cairo_fill
    - cairo_rotate
    - cairo_font_options_set_hint_metrics
    - cairo_status_to_string
    - S_ISREG
    - cairo_set_font_face
    - free
    - cairo_set_font_size
    - stat
    - cairo_set_source_rgb
    - CHECK_FONT_EXTENTS
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cairo/test/bitmap-font.c:58,1
    - Dst: cairo_status
      Src: /src/cairo/test/bitmap-font.c:61,1
    - Dst: font_extents_equal
      Src: /src/cairo/test/bitmap-font.c:65,1
    - Dst: cairo_font_extents
      Src: /src/cairo/test/bitmap-font.c:59,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/bitmap-font.c:63,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/bitmap-font.c:66,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - cr
    - comment
    argTypes:
    - cairo_test_context_t*
    - cairo_t*
    - char*
    constantsTouched: []
    func_position:
      end: 75
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 75
    functionName: check_font_extents
    functionSourceFile: /src/cairo/test/bitmap-font.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - cairo_test_status_from_status
    - cairo_font_extents
    - font_extents_equal
    - cairo_status
    - memset
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t check_font_extents (const cairo_test_context_t
      *ctx, cairo_t *cr, const char *comment) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_get_format
      Src: /src/cairo/test/png.c:37,1
    - Dst: cairo_image_surface_get_format
      Src: /src/cairo/test/png.c:38,1
    - Dst: cairo_image_surface_get_height
      Src: /src/cairo/test/png.c:45,1
    - Dst: cairo_image_surface_get_width
      Src: /src/cairo/test/png.c:41,1
    - Dst: cairo_image_surface_get_width
      Src: /src/cairo/test/png.c:42,1
    - Dst: cairo_image_surface_get_height
      Src: /src/cairo/test/png.c:46,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - A
    - B
    argTypes:
    - cairo_surface_t*
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 50
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 50
    functionName: image_surface_equals
    functionSourceFile: /src/cairo/test/png.c
    functionUses: []
    functionsReached:
    - cairo_image_surface_get_width
    - cairo_image_surface_get_format
    - cairo_image_surface_get_height
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t image_surface_equals (cairo_surface_t *A, cairo_surface_t
      *B) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_log
      Src: /src/cairo/test/png.c:72,1
    - Dst: cairo_image_surface_get_format
      Src: /src/cairo/test/png.c:74,1
    - Dst: cairo_image_surface_get_height
      Src: /src/cairo/test/png.c:76,1
    - Dst: format_to_string
      Src: /src/cairo/test/png.c:74,1
    - Dst: cairo_image_surface_get_width
      Src: /src/cairo/test/png.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - surface
    argTypes:
    - cairo_test_context_t*
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: print_surface
    functionSourceFile: /src/cairo/test/png.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - cairo_image_surface_get_format
    - format_to_string
    - cairo_image_surface_get_height
    - cairo_image_surface_get_width
    linkageType: ''
    returnType: void
    signature: 'static void print_surface (const cairo_test_context_t *ctx, cairo_surface_t
      *surface) '
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 67
    functionName: format_to_string
    functionSourceFile: /src/cairo/test/png.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *format_to_string (cairo_format_t format) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_mkdir
      Src: /src/cairo/test/png.c:86,1
    - Dst: xasprintf
      Src: /src/cairo/test/png.c:88,1
    - Dst: cairo_surface_write_to_png
      Src: /src/cairo/test/png.c:92,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/png.c:94,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/png.c:95,1
    - Dst: free
      Src: /src/cairo/test/png.c:98,1
    - Dst: free
      Src: /src/cairo/test/png.c:109,1
    - Dst: assert
      Src: /src/cairo/test/png.c:123,1
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/test/png.c:128,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/png.c:133,1
    - Dst: print_surface
      Src: /src/cairo/test/png.c:153,1
    - Dst: assert
      Src: /src/cairo/test/png.c:160,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/png.c:163,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/png.c:97,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/png.c:105,1
    - Dst: image_surface_equals
      Src: /src/cairo/test/png.c:113,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/png.c:108,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/png.c:104,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/png.c:116,1
    - Dst: cairo_image_surface_get_data
      Src: /src/cairo/test/png.c:123,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/png.c:126,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/png.c:135,1
    - Dst: cairo_image_surface_create_from_png
      Src: /src/cairo/test/png.c:138,1
    - Dst: free
      Src: /src/cairo/test/png.c:149,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/png.c:145,1
    - Dst: cairo_image_surface_get_data
      Src: /src/cairo/test/png.c:160,1
    - Dst: print_surface
      Src: /src/cairo/test/png.c:154,1
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/test/png.c:89,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/png.c:107,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/png.c:110,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/png.c:115,1
    - Dst: print_surface
      Src: /src/cairo/test/png.c:116,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/png.c:118,1
    - Dst: free
      Src: /src/cairo/test/png.c:120,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/png.c:125,1
    - Dst: cairo_surface_write_to_png
      Src: /src/cairo/test/png.c:131,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/png.c:136,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/png.c:139,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/png.c:141,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/png.c:153,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/png.c:147,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/png.c:156,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/png.c:142,1
    - Dst: image_surface_equals
      Src: /src/cairo/test/png.c:151,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/png.c:99,1
    - Dst: cairo_image_surface_create_from_png
      Src: /src/cairo/test/png.c:101,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/png.c:114,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/png.c:102,1
    - Dst: print_surface
      Src: /src/cairo/test/png.c:115,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/png.c:119,1
    - Dst: free
      Src: /src/cairo/test/png.c:143,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/png.c:146,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/png.c:154,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/png.c:157,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/png.c:164,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/png.c:152,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/png.c:134,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 78
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - cairo_test_context_t*
    constantsTouched: []
    func_position:
      end: 167
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 167
    functionName: preamble
    functionSourceFile: /src/cairo/test/png.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - cairo_image_surface_get_data
    - cairo_test_status_from_status
    - free
    - xasprintf
    - cairo_image_surface_create_for_data
    - cairo_test_mkdir
    - cairo_surface_write_to_png
    - cairo_surface_status
    - cairo_surface_destroy
    - image_surface_equals
    - assert
    - print_surface
    - cairo_image_surface_create_from_png
    - cairo_status_to_string
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t preamble (cairo_test_context_t *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_quartz_surface_create
      Src: /src/cairo/test/quartz-surface-source.c:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: create_source_surface
    functionSourceFile: /src/cairo/test/quartz-surface-source.c
    functionUses: []
    functionsReached:
    - cairo_quartz_surface_create
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *create_source_surface (int size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/test/shape-general-convex.c:38,1
    - Dst: sin
      Src: /src/cairo/test/shape-general-convex.c:44,1
    - Dst: cairo_translate
      Src: /src/cairo/test/shape-general-convex.c:39,1
    - Dst: cos
      Src: /src/cairo/test/shape-general-convex.c:43,1
    - Dst: cos
      Src: /src/cairo/test/shape-general-convex.c:42,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/shape-general-convex.c:45,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/shape-general-convex.c:47,1
    - Dst: cairo_restore
      Src: /src/cairo/test/shape-general-convex.c:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - cr
    - a
    - b
    - radius
    argTypes:
    - cairo_t*
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 49
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 49
    functionName: limacon
    functionSourceFile: /src/cairo/test/shape-general-convex.c
    functionUses: []
    functionsReached:
    - cairo_line_to
    - cos
    - cairo_save
    - cairo_close_path
    - cairo_restore
    - cairo_translate
    - sin
    linkageType: ''
    returnType: void
    signature: 'static void limacon (cairo_t *cr, double a, double b, double radius) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/shape-general-convex.c:54,1
    - Dst: cairo_translate
      Src: /src/cairo/test/shape-general-convex.c:60,1
    - Dst: cairo_save
      Src: /src/cairo/test/shape-general-convex.c:57,1
    - Dst: cairo_translate
      Src: /src/cairo/test/shape-general-convex.c:58,1
    - Dst: cairo_paint
      Src: /src/cairo/test/shape-general-convex.c:55,1
    - Dst: limacon
      Src: /src/cairo/test/shape-general-convex.c:61,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/shape-general-convex.c:63,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/test/shape-general-convex.c:64,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/shape-general-convex.c:66,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/shape-general-convex.c:67,1
    - Dst: limacon
      Src: /src/cairo/test/shape-general-convex.c:71,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/shape-general-convex.c:73,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/shape-general-convex.c:76,1
    - Dst: cairo_scale
      Src: /src/cairo/test/shape-general-convex.c:69,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/shape-general-convex.c:77,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/test/shape-general-convex.c:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 80
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 80
    functionName: draw
    functionSourceFile: /src/cairo/test/shape-general-convex.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgb
    - cairo_save
    - cairo_scale
    - cairo_stroke
    - limacon
    - cairo_translate
    - cairo_fill_preserve
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/bilevel-image.c:40,1
    - Dst: cairo_pattern_set_filter
      Src: /src/cairo/test/bilevel-image.c:47,1
    - Dst: cairo_paint
      Src: /src/cairo/test/bilevel-image.c:41,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/bilevel-image.c:46,1
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/test/bilevel-image.c:43,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/bilevel-image.c:47,1
    - Dst: cairo_paint
      Src: /src/cairo/test/bilevel-image.c:49,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/bilevel-image.c:51,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/bilevel-image.c:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 55
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 55
    functionName: draw
    functionSourceFile: /src/cairo/test/bilevel-image.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_surface_finish
    - cairo_pattern_set_filter
    - cairo_get_source
    - cairo_image_surface_create_for_data
    - cairo_surface_destroy
    - cairo_set_source_rgb
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_move_to
      Src: /src/cairo/test/clip-intersect.c:33,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-intersect.c:36,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-intersect.c:34,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-intersect.c:35,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-intersect.c:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: clip_mask
    functionSourceFile: /src/cairo/test/clip-intersect.c
    functionUses: []
    functionsReached:
    - cairo_line_to
    - cairo_clip
    - cairo_move_to
    linkageType: ''
    returnType: void
    signature: 'static void clip_mask (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-intersect.c:44,1
    - Dst: cairo_reset_clip
      Src: /src/cairo/test/clip-intersect.c:49,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-intersect.c:51,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-intersect.c:54,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-intersect.c:60,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-intersect.c:65,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-intersect.c:68,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-intersect.c:72,1
    - Dst: cairo_reset_clip
      Src: /src/cairo/test/clip-intersect.c:83,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-intersect.c:48,1
    - Dst: cairo_reset_clip
      Src: /src/cairo/test/clip-intersect.c:63,1
    - Dst: clip_mask
      Src: /src/cairo/test/clip-intersect.c:67,1
    - Dst: cairo_reset_clip
      Src: /src/cairo/test/clip-intersect.c:75,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-intersect.c:77,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-intersect.c:82,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-intersect.c:53,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-intersect.c:56,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-intersect.c:59,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-intersect.c:66,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-intersect.c:62,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-intersect.c:71,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-intersect.c:74,1
    - Dst: clip_mask
      Src: /src/cairo/test/clip-intersect.c:81,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-intersect.c:43,1
    - Dst: clip_mask
      Src: /src/cairo/test/clip-intersect.c:46,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-intersect.c:47,1
    - Dst: clip_mask
      Src: /src/cairo/test/clip-intersect.c:55,1
    - Dst: cairo_reset_clip
      Src: /src/cairo/test/clip-intersect.c:57,1
    - Dst: clip_mask
      Src: /src/cairo/test/clip-intersect.c:61,1
    - Dst: cairo_reset_clip
      Src: /src/cairo/test/clip-intersect.c:69,1
    - Dst: clip_mask
      Src: /src/cairo/test/clip-intersect.c:73,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-intersect.c:79,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-intersect.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 86
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 86
    functionName: draw
    functionSourceFile: /src/cairo/test/clip-intersect.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgb
    - clip_mask
    - cairo_clip
    - cairo_reset_clip
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/test/skew-extreme.c:61,1
    - Dst: cairo_translate
      Src: /src/cairo/test/skew-extreme.c:66,1
    - Dst: cairo_restore
      Src: /src/cairo/test/skew-extreme.c:64,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/skew-extreme.c:68,1
    - Dst: cairo_translate
      Src: /src/cairo/test/skew-extreme.c:79,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/skew-extreme.c:62,1
    - Dst: cairo_transform
      Src: /src/cairo/test/skew-extreme.c:81,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/skew-extreme.c:84,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/skew-extreme.c:83,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/skew-extreme.c:105,1
    - Dst: cairo_paint
      Src: /src/cairo/test/skew-extreme.c:63,1
    - Dst: cairo_translate
      Src: /src/cairo/test/skew-extreme.c:89,1
    - Dst: cairo_translate
      Src: /src/cairo/test/skew-extreme.c:99,1
    - Dst: cairo_restore
      Src: /src/cairo/test/skew-extreme.c:87,1
    - Dst: cairo_restore
      Src: /src/cairo/test/skew-extreme.c:107,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/skew-extreme.c:69,1
    - Dst: cairo_save
      Src: /src/cairo/test/skew-extreme.c:71,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/skew-extreme.c:85,1
    - Dst: cairo_transform
      Src: /src/cairo/test/skew-extreme.c:101,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/skew-extreme.c:103,1
    - Dst: cairo_save
      Src: /src/cairo/test/skew-extreme.c:91,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/skew-extreme.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 110
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 110
    functionName: draw
    functionSourceFile: /src/cairo/test/skew-extreme.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgb
    - cairo_set_line_width
    - cairo_transform
    - cairo_line_to
    - cairo_save
    - cairo_stroke
    - cairo_restore
    - cairo_set_line_cap
    - cairo_translate
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_xlib_surface_get_display
      Src: /src/cairo/test/xlib-surface.c:56,1
    - Dst: XRenderFindVisualFormat
      Src: /src/cairo/test/xlib-surface.c:66,1
    - Dst: cairo_xlib_surface_get_visual
      Src: /src/cairo/test/xlib-surface.c:58,1
    - Dst: cairo_xlib_surface_get_xrender_format
      Src: /src/cairo/test/xlib-surface.c:62,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 68
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 68
    functionName: surface_compare_visual_and_format
    functionSourceFile: /src/cairo/test/xlib-surface.c
    functionUses: []
    functionsReached:
    - XRenderFindVisualFormat
    - cairo_xlib_surface_get_visual
    - cairo_xlib_surface_get_display
    - cairo_xlib_surface_get_xrender_format
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t surface_compare_visual_and_format (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_create
      Src: /src/cairo/test/xlib-surface.c:125,1
    - Dst: cairo_paint
      Src: /src/cairo/test/xlib-surface.c:128,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/xlib-surface.c:130,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/xlib-surface.c:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 131
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 131
    functionName: erase_pattern
    functionSourceFile: /src/cairo/test/xlib-surface.c
    functionUses: []
    functionsReached:
    - cairo_destroy
    - cairo_paint
    - cairo_create
    - cairo_set_source_rgb
    linkageType: ''
    returnType: void
    signature: 'static void erase_pattern (cairo_surface_t *surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/xlib-surface.c:85,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/xlib-surface.c:88,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/xlib-surface.c:93,1
    - Dst: surface_compare_visual_and_format
      Src: /src/cairo/test/xlib-surface.c:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 96
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 96
    functionName: check_similar_visual_and_format
    functionSourceFile: /src/cairo/test/xlib-surface.c
    functionUses: []
    functionsReached:
    - cairo_surface_create_similar
    - cairo_surface_status
    - cairo_surface_destroy
    - surface_compare_visual_and_format
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t check_similar_visual_and_format (cairo_surface_t
      *surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DefaultVisual
      Src: /src/cairo/test/xlib-surface.c:257,1
    - Dst: DefaultScreen
      Src: /src/cairo/test/xlib-surface.c:257,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 1
    argNames:
    - dpy
    argTypes:
    - Display*
    constantsTouched: []
    func_position:
      end: 268
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 268
    functionName: check_visual
    functionSourceFile: /src/cairo/test/xlib-surface.c
    functionUses: []
    functionsReached:
    - DefaultVisual
    - DefaultScreen
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t check_visual (Display *dpy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/cairo/test/xlib-surface.c:274,1
    - Dst: abort
      Src: /src/cairo/test/xlib-surface.c:277,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/xlib-surface.c:276,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 280
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 280
    functionName: xcalloc
    functionSourceFile: /src/cairo/test/xlib-surface.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - calloc
    - abort
    linkageType: ''
    returnType: void*
    signature: 'static void *xcalloc (const cairo_test_context_t *ctx, size_t a, size_t
      b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: surface_compare_visual_and_format
    functionSourceFile: /src/cairo/test/xlib-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t surface_compare_visual_and_format (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_create
      Src: /src/cairo/test/xlib-surface.c:102,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/xlib-surface.c:113,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/xlib-surface.c:108,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/xlib-surface.c:105,1
    - Dst: cairo_paint
      Src: /src/cairo/test/xlib-surface.c:106,1
    - Dst: cairo_fill
      Src: /src/cairo/test/xlib-surface.c:116,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/xlib-surface.c:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 120
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 120
    functionName: draw_pattern
    functionSourceFile: /src/cairo/test/xlib-surface.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgba
    - cairo_create
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_destroy
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void draw_pattern (cairo_surface_t *surface) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DefaultDepth
      Src: /src/cairo/test/xlib-surface.c:172,1
    - Dst: cairo_xlib_surface_create
      Src: /src/cairo/test/xlib-surface.c:178,1
    - Dst: surface_compare_visual_and_format
      Src: /src/cairo/test/xlib-surface.c:183,1
    - Dst: check_similar_visual_and_format
      Src: /src/cairo/test/xlib-surface.c:194,1
    - Dst: cairo_xlib_surface_set_size
      Src: /src/cairo/test/xlib-surface.c:187,1
    - Dst: cairo_paint
      Src: /src/cairo/test/xlib-surface.c:206,1
    - Dst: buffer_diff_noalpha
      Src: /src/cairo/test/xlib-surface.c:225,1
    - Dst: image_diff_is_failure
      Src: /src/cairo/test/xlib-surface.c:248,1
    - Dst: XCreatePixmap
      Src: /src/cairo/test/xlib-surface.c:154,1
    - Dst: draw_pattern
      Src: /src/cairo/test/xlib-surface.c:197,1
    - Dst: erase_pattern
      Src: /src/cairo/test/xlib-surface.c:214,1
    - Dst: buffer_diff_noalpha
      Src: /src/cairo/test/xlib-surface.c:233,1
    - Dst: DefaultRootWindow
      Src: /src/cairo/test/xlib-surface.c:154,1
    - Dst: DefaultRootWindow
      Src: /src/cairo/test/xlib-surface.c:170,1
    - Dst: DefaultVisual
      Src: /src/cairo/test/xlib-surface.c:180,1
    - Dst: cairo_xlib_surface_get_width
      Src: /src/cairo/test/xlib-surface.c:189,1
    - Dst: cairo_create
      Src: /src/cairo/test/xlib-surface.c:204,1
    - Dst: cairo_xlib_surface_get_height
      Src: /src/cairo/test/xlib-surface.c:190,1
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/test/xlib-surface.c:199,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/xlib-surface.c:205,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/xlib-surface.c:209,1
    - Dst: XDestroyWindow
      Src: /src/cairo/test/xlib-surface.c:220,1
    - Dst: image_diff_is_failure
      Src: /src/cairo/test/xlib-surface.c:246,1
    - Dst: DefaultScreen
      Src: /src/cairo/test/xlib-surface.c:148,1
    - Dst: XCreateWindow
      Src: /src/cairo/test/xlib-surface.c:170,1
    - Dst: DefaultDepth
      Src: /src/cairo/test/xlib-surface.c:155,1
    - Dst: DefaultVisual
      Src: /src/cairo/test/xlib-surface.c:173,1
    - Dst: XMapWindow
      Src: /src/cairo/test/xlib-surface.c:175,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/xlib-surface.c:208,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/xlib-surface.c:215,1
    - Dst: XFreePixmap
      Src: /src/cairo/test/xlib-surface.c:218,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/xlib-surface.c:242,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 69
    argCount: 8
    argNames:
    - ctx
    - dpy
    - reference_data
    - test_data
    - diff_data
    - use_pixmap
    - set_size
    - offscreen
    argTypes:
    - cairo_test_context_t*
    - Display*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - cairo_bool_t
    - cairo_bool_t
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 252
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 252
    functionName: do_test
    functionSourceFile: /src/cairo/test/xlib-surface.c
    functionUses: []
    functionsReached:
    - DefaultVisual
    - check_similar_visual_and_format
    - DefaultRootWindow
    - surface_compare_visual_and_format
    - cairo_xlib_surface_create
    - cairo_set_source_surface
    - XDestroyWindow
    - DefaultDepth
    - XCreateWindow
    - cairo_create
    - buffer_diff_noalpha
    - XMapWindow
    - cairo_test_log
    - draw_pattern
    - cairo_image_surface_create_for_data
    - DefaultScreen
    - cairo_xlib_surface_get_width
    - XFreePixmap
    - cairo_destroy
    - image_diff_is_failure
    - XCreatePixmap
    - cairo_paint
    - cairo_xlib_surface_get_height
    - cairo_surface_destroy
    - cairo_xlib_surface_set_size
    - erase_pattern
    linkageType: ''
    returnType: cairo_test_status_t
    signature: "static cairo_test_status_t do_test (const cairo_test_context_t *ctx,\t\
      \ Display *dpy,\t unsigned char *reference_data,\t unsigned char *test_data,\t\
      \ unsigned char *diff_data,\t cairo_bool_t use_pixmap,\t cairo_bool_t set_size,\t\
      \ cairo_bool_t offscreen) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_is_target_enabled
      Src: /src/cairo/test/xlib-surface.c:296,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/xlib-surface.c:301,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/xlib-surface.c:306,1
    - Dst: XOpenDisplay
      Src: /src/cairo/test/xlib-surface.c:299,1
    - Dst: check_visual
      Src: /src/cairo/test/xlib-surface.c:305,1
    - Dst: cairo_format_stride_for_width
      Src: /src/cairo/test/xlib-surface.c:310,1
    - Dst: xcalloc
      Src: /src/cairo/test/xlib-surface.c:312,1
    - Dst: xcalloc
      Src: /src/cairo/test/xlib-surface.c:313,1
    - Dst: xcalloc
      Src: /src/cairo/test/xlib-surface.c:314,1
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/test/xlib-surface.c:316,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/xlib-surface.c:322,1
    - Dst: free
      Src: /src/cairo/test/xlib-surface.c:336,1
    - Dst: XCloseDisplay
      Src: /src/cairo/test/xlib-surface.c:341,1
    - Dst: draw_pattern
      Src: /src/cairo/test/xlib-surface.c:321,1
    - Dst: free
      Src: /src/cairo/test/xlib-surface.c:338,1
    - Dst: do_test
      Src: /src/cairo/test/xlib-surface.c:329,1
    - Dst: free
      Src: /src/cairo/test/xlib-surface.c:337,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - cairo_test_context_t*
    constantsTouched: []
    func_position:
      end: 345
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 345
    functionName: preamble
    functionSourceFile: /src/cairo/test/xlib-surface.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - XCloseDisplay
    - draw_pattern
    - cairo_format_stride_for_width
    - free
    - cairo_image_surface_create_for_data
    - cairo_surface_destroy
    - check_visual
    - cairo_test_is_target_enabled
    - xcalloc
    - do_test
    - XOpenDisplay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t preamble (cairo_test_context_t *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/select-font-face.c:33,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/select-font-face.c:39,1
    - Dst: cairo_paint
      Src: /src/cairo/test/select-font-face.c:34,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/select-font-face.c:36,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/select-font-face.c:38,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/select-font-face.c:41,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/select-font-face.c:44,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/select-font-face.c:46,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/select-font-face.c:49,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/select-font-face.c:51,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/select-font-face.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 57
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 57
    functionName: draw
    functionSourceFile: /src/cairo/test/select-font-face.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_show_text
    - cairo_set_font_size
    - cairo_select_font_face
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/image-surface-source.c:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: create_source_surface
    functionSourceFile: /src/cairo/test/image-surface-source.c
    functionUses: []
    functionsReached:
    - cairo_image_surface_create
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *create_source_surface (int size) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/test/clip-group-shapes.c:56,1
    - Dst: do_clip
      Src: /src/cairo/test/clip-group-shapes.c:62,1
    - Dst: cairo_push_group
      Src: /src/cairo/test/clip-group-shapes.c:63,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-group-shapes.c:59,1
    - Dst: do_clip
      Src: /src/cairo/test/clip-group-shapes.c:58,1
    - Dst: do_clip
      Src: /src/cairo/test/clip-group-shapes.c:65,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-group-shapes.c:66,1
    - Dst: cairo_pop_group_to_source
      Src: /src/cairo/test/clip-group-shapes.c:68,1
    - Dst: cairo_reset_clip
      Src: /src/cairo/test/clip-group-shapes.c:70,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-group-shapes.c:71,1
    - Dst: cairo_restore
      Src: /src/cairo/test/clip-group-shapes.c:74,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 5
    argNames:
    - cr
    - w
    - h
    - do_clip
    - clip_where
    argTypes:
    - cairo_t*
    - int
    - int
    - clipper_t
    - int
    constantsTouched: []
    func_position:
      end: 76
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 76
    functionName: clip_and_paint
    functionSourceFile: /src/cairo/test/clip-group-shapes.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - do_clip
    - cairo_pop_group_to_source
    - cairo_save
    - cairo_restore
    - cairo_push_group
    - cairo_reset_clip
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t clip_and_paint (cairo_t *cr, int w, int
      h, clipper_t do_clip, int clip_where) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/cairo/test/clip-group-shapes.c:139,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/clip-group-shapes.c:142,1
    - Dst: cairo_arc
      Src: /src/cairo/test/clip-group-shapes.c:141,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-group-shapes.c:143,1
    - Dst: cairo_arc
      Src: /src/cairo/test/clip-group-shapes.c:145,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/clip-group-shapes.c:146,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-group-shapes.c:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - cr
    - w
    - h
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 148
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 148
    functionName: clip_circles
    functionSourceFile: /src/cairo/test/clip-group-shapes.c
    functionUses: []
    functionsReached:
    - cairo_arc
    - cairo_clip
    - MIN
    - cairo_close_path
    linkageType: ''
    returnType: void
    signature: 'static void clip_circles (cairo_t *cr, int w, int h) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-group-shapes.c:103,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-group-shapes.c:106,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-group-shapes.c:104,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-group-shapes.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - cr
    - w
    - h
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 108
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 108
    functionName: clip_aligned_rectangles
    functionSourceFile: /src/cairo/test/clip-group-shapes.c
    functionUses: []
    functionsReached:
    - cairo_clip
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void clip_aligned_rectangles (cairo_t *cr, int w, int h) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: run_clip_test
      Src: /src/cairo/test/clip-group-shapes.c:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: draw_unaligned_rectangles
    functionSourceFile: /src/cairo/test/clip-group-shapes.c
    functionUses: []
    functionsReached:
    - run_clip_test
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_unaligned_rectangles (cairo_t *cr,
      int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-group-shapes.c:81,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-group-shapes.c:83,1
    - Dst: cairo_translate
      Src: /src/cairo/test/clip-group-shapes.c:89,1
    - Dst: clip_and_paint
      Src: /src/cairo/test/clip-group-shapes.c:86,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-group-shapes.c:82,1
    - Dst: clip_and_paint
      Src: /src/cairo/test/clip-group-shapes.c:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - cr
    - w
    - h
    - do_clip
    argTypes:
    - cairo_t*
    - int
    - int
    - clipper_t
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: run_clip_test
    functionSourceFile: /src/cairo/test/clip-group-shapes.c
    functionUses: []
    functionsReached:
    - cairo_translate
    - cairo_paint
    - clip_and_paint
    - cairo_set_source_rgb
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t run_clip_test (cairo_t *cr, int w, int
      h, clipper_t do_clip) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-group-shapes.c:122,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-group-shapes.c:129,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-group-shapes.c:128,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-group-shapes.c:125,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-group-shapes.c:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 3
    argNames:
    - cr
    - w
    - h
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 130
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 130
    functionName: clip_unaligned_rectangles
    functionSourceFile: /src/cairo/test/clip-group-shapes.c
    functionUses: []
    functionsReached:
    - cairo_clip
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void clip_unaligned_rectangles (cairo_t *cr, int w, int h) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: run_clip_test
      Src: /src/cairo/test/clip-group-shapes.c:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: draw_aligned_rectangles
    functionSourceFile: /src/cairo/test/clip-group-shapes.c
    functionUses: []
    functionsReached:
    - run_clip_test
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_aligned_rectangles (cairo_t *cr, int
      width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: run_clip_test
      Src: /src/cairo/test/clip-group-shapes.c:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: draw_circles
    functionSourceFile: /src/cairo/test/clip-group-shapes.c
    functionUses: []
    functionsReached:
    - run_clip_test
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_circles (cairo_t *cr, int width, int
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/unaligned-box.c:37,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/unaligned-box.c:39,1
    - Dst: cairo_translate
      Src: /src/cairo/test/unaligned-box.c:41,1
    - Dst: cairo_save
      Src: /src/cairo/test/unaligned-box.c:44,1
    - Dst: cairo_paint
      Src: /src/cairo/test/unaligned-box.c:38,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/unaligned-box.c:46,1
    - Dst: cairo_fill
      Src: /src/cairo/test/unaligned-box.c:47,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/unaligned-box.c:49,1
    - Dst: cairo_fill
      Src: /src/cairo/test/unaligned-box.c:50,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/unaligned-box.c:52,1
    - Dst: cairo_translate
      Src: /src/cairo/test/unaligned-box.c:58,1
    - Dst: cairo_fill
      Src: /src/cairo/test/unaligned-box.c:53,1
    - Dst: cairo_restore
      Src: /src/cairo/test/unaligned-box.c:60,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/unaligned-box.c:55,1
    - Dst: cairo_translate
      Src: /src/cairo/test/unaligned-box.c:61,1
    - Dst: cairo_fill
      Src: /src/cairo/test/unaligned-box.c:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 65
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 65
    functionName: draw
    functionSourceFile: /src/cairo/test/unaligned-box.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgb
    - cairo_save
    - cairo_restore
    - cairo_fill
    - cairo_translate
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_create
      Src: /src/cairo/test/fill-image.c:43,1
    - Dst: cairo_paint
      Src: /src/cairo/test/fill-image.c:48,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/fill-image.c:50,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/fill-image.c:53,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/fill-image.c:62,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/fill-image.c:70,1
    - Dst: cairo_paint
      Src: /src/cairo/test/fill-image.c:39,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/fill-image.c:44,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/fill-image.c:41,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/fill-image.c:47,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/fill-image.c:56,1
    - Dst: cairo_new_sub_path
      Src: /src/cairo/test/fill-image.c:54,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/fill-image.c:67,1
    - Dst: cairo_fill
      Src: /src/cairo/test/fill-image.c:72,1
    - Dst: cairo_new_sub_path
      Src: /src/cairo/test/fill-image.c:51,1
    - Dst: cairo_arc
      Src: /src/cairo/test/fill-image.c:52,1
    - Dst: cairo_translate
      Src: /src/cairo/test/fill-image.c:60,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/fill-image.c:63,1
    - Dst: cairo_fill
      Src: /src/cairo/test/fill-image.c:57,1
    - Dst: cairo_new_sub_path
      Src: /src/cairo/test/fill-image.c:68,1
    - Dst: cairo_arc_negative
      Src: /src/cairo/test/fill-image.c:69,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/fill-image.c:38,1
    - Dst: cairo_arc_negative
      Src: /src/cairo/test/fill-image.c:55,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/fill-image.c:62,1
    - Dst: cairo_new_sub_path
      Src: /src/cairo/test/fill-image.c:65,1
    - Dst: cairo_arc
      Src: /src/cairo/test/fill-image.c:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 49
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 75
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 75
    functionName: draw
    functionSourceFile: /src/cairo/test/fill-image.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_new_sub_path
    - cairo_destroy
    - cairo_arc
    - cairo_create
    - cairo_surface_destroy
    - cairo_close_path
    - cairo_image_surface_create
    - cairo_get_target
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_translate
    - cairo_arc_negative
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/bug-75705.c:7,1
    - Dst: cairo_paint
      Src: /src/cairo/test/bug-75705.c:8,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/bug-75705.c:14,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/bug-75705.c:12,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/bug-75705.c:10,1
    - Dst: cairo_set_antialias
      Src: /src/cairo/test/bug-75705.c:16,1
    - Dst: cairo_set_tolerance
      Src: /src/cairo/test/bug-75705.c:17,1
    - Dst: cairo_set_dash
      Src: /src/cairo/test/bug-75705.c:19,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/bug-75705.c:20,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/bug-75705.c:22,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 24
      start: 2
    functionDepth: 0
    functionLinenumber: 2
    functionLinenumberEnd: 24
    functionName: draw
    functionSourceFile: /src/cairo/test/bug-75705.c
    functionUses: []
    functionsReached:
    - cairo_set_tolerance
    - cairo_paint
    - cairo_set_source_rgba
    - cairo_set_line_width
    - cairo_line_to
    - cairo_set_dash
    - cairo_stroke
    - cairo_set_line_cap
    - cairo_move_to
    - cairo_set_antialias
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/fill-empty.c:32,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/fill-empty.c:35,1
    - Dst: cairo_save
      Src: /src/cairo/test/fill-empty.c:38,1
    - Dst: cairo_paint
      Src: /src/cairo/test/fill-empty.c:33,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/fill-empty.c:39,1
    - Dst: cairo_clip
      Src: /src/cairo/test/fill-empty.c:40,1
    - Dst: cairo_fill
      Src: /src/cairo/test/fill-empty.c:41,1
    - Dst: cairo_restore
      Src: /src/cairo/test/fill-empty.c:42,1
    - Dst: cairo_save
      Src: /src/cairo/test/fill-empty.c:45,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/fill-empty.c:46,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/fill-empty.c:48,1
    - Dst: cairo_fill
      Src: /src/cairo/test/fill-empty.c:49,1
    - Dst: cairo_clip
      Src: /src/cairo/test/fill-empty.c:47,1
    - Dst: cairo_restore
      Src: /src/cairo/test/fill-empty.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 53
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 53
    functionName: draw
    functionSourceFile: /src/cairo/test/fill-empty.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_save
    - cairo_restore
    - cairo_set_operator
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_clip
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_font_face_get_user_data
      Src: /src/cairo/test/pdf-operators-text.c:67,1
    - Dst: cairo_set_font_face
      Src: /src/cairo/test/pdf-operators-text.c:72,1
    - Dst: cairo_text_extents
      Src: /src/cairo/test/pdf-operators-text.c:73,1
    - Dst: cairo_scaled_font_get_font_face
      Src: /src/cairo/test/pdf-operators-text.c:67,1
    - Dst: cairo_text_path
      Src: /src/cairo/test/pdf-operators-text.c:74,1
    - Dst: cairo_fill
      Src: /src/cairo/test/pdf-operators-text.c:75,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - scaled_font
    - index
    - cr
    - metrics
    argTypes:
    - cairo_scaled_font_t*
    - unsigned long
    - cairo_t*
    - cairo_text_extents_t*
    constantsTouched: []
    func_position:
      end: 77
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 77
    functionName: user_font_render_glyph
    functionSourceFile: /src/cairo/test/pdf-operators-text.c
    functionUses: []
    functionsReached:
    - cairo_set_font_face
    - cairo_text_path
    - cairo_font_face_get_user_data
    - cairo_fill
    - cairo_scaled_font_get_font_face
    - cairo_text_extents
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t user_font_render_glyph (cairo_scaled_font_t
      *scaled_font, unsigned long index, cairo_t *cr, cairo_text_extents_t *metrics) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_move_to
      Src: /src/cairo/test/pdf-operators-text.c:96,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/pdf-operators-text.c:102,1
    - Dst: cairo_text_extents
      Src: /src/cairo/test/pdf-operators-text.c:100,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/pdf-operators-text.c:99,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/pdf-operators-text.c:97,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/pdf-operators-text.c:107,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/pdf-operators-text.c:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - cr
    - text
    argTypes:
    - cairo_t*
    - char*
    constantsTouched: []
    func_position:
      end: 109
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 109
    functionName: draw_text
    functionSourceFile: /src/cairo/test/pdf-operators-text.c
    functionUses: []
    functionsReached:
    - cairo_show_text
    - cairo_set_line_width
    - cairo_stroke
    - cairo_set_source_rgb
    - cairo_text_extents
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void draw_text (cairo_t *cr, const char *text) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_font_face_get_user_data
      Src: /src/cairo/test/pdf-operators-text.c:52,1
    - Dst: cairo_font_extents
      Src: /src/cairo/test/pdf-operators-text.c:55,1
    - Dst: cairo_scaled_font_get_font_face
      Src: /src/cairo/test/pdf-operators-text.c:52,1
    - Dst: cairo_set_font_face
      Src: /src/cairo/test/pdf-operators-text.c:54,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - scaled_font
    - cr
    - metrics
    argTypes:
    - cairo_scaled_font_t*
    - cairo_t*
    - cairo_font_extents_t*
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: user_font_init
    functionSourceFile: /src/cairo/test/pdf-operators-text.c
    functionUses: []
    functionsReached:
    - cairo_scaled_font_get_font_face
    - cairo_set_font_face
    - cairo_font_extents
    - cairo_font_face_get_user_data
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t user_font_init (cairo_scaled_font_t *scaled_font,
      cairo_t *cr, cairo_font_extents_t *metrics) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_user_font_face_create
      Src: /src/cairo/test/pdf-operators-text.c:84,1
    - Dst: cairo_font_face_set_user_data
      Src: /src/cairo/test/pdf-operators-text.c:87,1
    - Dst: cairo_user_font_face_set_init_func
      Src: /src/cairo/test/pdf-operators-text.c:85,1
    - Dst: cairo_user_font_face_set_render_glyph_func
      Src: /src/cairo/test/pdf-operators-text.c:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 89
    functionName: create_user_font_face
    functionSourceFile: /src/cairo/test/pdf-operators-text.c
    functionUses: []
    functionsReached:
    - cairo_font_face_set_user_data
    - cairo_user_font_face_set_init_func
    - cairo_user_font_face_set_render_glyph_func
    - cairo_user_font_face_create
    linkageType: ''
    returnType: cairo_font_face_t*
    signature: 'static cairo_font_face_t *create_user_font_face (cairo_font_face_t
      *orig_font) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/pdf-operators-text.c:122,1
    - Dst: cairo_set_font_face
      Src: /src/cairo/test/pdf-operators-text.c:139,1
    - Dst: cairo_save
      Src: /src/cairo/test/pdf-operators-text.c:143,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/pdf-operators-text.c:140,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/pdf-operators-text.c:126,1
    - Dst: cairo_paint
      Src: /src/cairo/test/pdf-operators-text.c:120,1
    - Dst: cairo_translate
      Src: /src/cairo/test/pdf-operators-text.c:144,1
    - Dst: create_user_font_face
      Src: /src/cairo/test/pdf-operators-text.c:138,1
    - Dst: cairo_get_font_face
      Src: /src/cairo/test/pdf-operators-text.c:138,1
    - Dst: strcat
      Src: /src/cairo/test/pdf-operators-text.c:131,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/pdf-operators-text.c:141,1
    - Dst: draw_text
      Src: /src/cairo/test/pdf-operators-text.c:145,1
    - Dst: cairo_restore
      Src: /src/cairo/test/pdf-operators-text.c:146,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/pdf-operators-text.c:119,1
    - Dst: malloc
      Src: /src/cairo/test/pdf-operators-text.c:128,1
    - Dst: strlen
      Src: /src/cairo/test/pdf-operators-text.c:128,1
    - Dst: cairo_save
      Src: /src/cairo/test/pdf-operators-text.c:133,1
    - Dst: cairo_translate
      Src: /src/cairo/test/pdf-operators-text.c:134,1
    - Dst: draw_text
      Src: /src/cairo/test/pdf-operators-text.c:135,1
    - Dst: cairo_restore
      Src: /src/cairo/test/pdf-operators-text.c:136,1
    - Dst: free
      Src: /src/cairo/test/pdf-operators-text.c:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 150
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 150
    functionName: draw
    functionSourceFile: /src/cairo/test/pdf-operators-text.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - malloc
    - strcat
    - cairo_get_font_face
    - draw_text
    - strlen
    - create_user_font_face
    - cairo_set_font_face
    - cairo_font_face_destroy
    - free
    - cairo_set_font_size
    - cairo_save
    - cairo_restore
    - cairo_select_font_face
    - cairo_set_source_rgb
    - cairo_translate
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/error-setters.c:50,1
    - Dst: cairo_pdf_surface_restrict_to_version
      Src: /src/cairo/test/error-setters.c:53,1
    - Dst: cairo_ps_surface_set_eps
      Src: /src/cairo/test/error-setters.c:58,1
    - Dst: cairo_pdf_surface_set_size
      Src: /src/cairo/test/error-setters.c:54,1
    - Dst: cairo_ps_surface_set_size
      Src: /src/cairo/test/error-setters.c:59,1
    - Dst: cairo_ps_surface_restrict_to_level
      Src: /src/cairo/test/error-setters.c:60,1
    - Dst: cairo_ps_surface_dsc_comment
      Src: /src/cairo/test/error-setters.c:61,1
    - Dst: cairo_ps_surface_dsc_begin_setup
      Src: /src/cairo/test/error-setters.c:62,1
    - Dst: cairo_ps_surface_dsc_begin_page_setup
      Src: /src/cairo/test/error-setters.c:63,1
    - Dst: cairo_xcb_surface_set_size
      Src: /src/cairo/test/error-setters.c:67,1
    - Dst: cairo_surface_set_mime_data
      Src: /src/cairo/test/error-setters.c:75,1
    - Dst: cairo_surface_set_device_offset
      Src: /src/cairo/test/error-setters.c:76,1
    - Dst: cairo_xlib_surface_set_size
      Src: /src/cairo/test/error-setters.c:71,1
    - Dst: cairo_surface_set_fallback_resolution
      Src: /src/cairo/test/error-setters.c:77,1
    - Dst: cairo_xlib_surface_set_drawable
      Src: /src/cairo/test/error-setters.c:72,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/error-setters.c:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - cairo_test_context_t*
    constantsTouched: []
    func_position:
      end: 82
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 82
    functionName: preamble
    functionSourceFile: /src/cairo/test/error-setters.c
    functionUses: []
    functionsReached:
    - cairo_ps_surface_set_size
    - cairo_pdf_surface_set_size
    - cairo_pdf_surface_restrict_to_version
    - cairo_xcb_surface_set_size
    - cairo_surface_set_fallback_resolution
    - cairo_ps_surface_set_eps
    - cairo_surface_destroy
    - cairo_xlib_surface_set_size
    - cairo_image_surface_create
    - cairo_ps_surface_dsc_begin_page_setup
    - cairo_surface_set_device_offset
    - cairo_surface_set_mime_data
    - cairo_ps_surface_dsc_begin_setup
    - cairo_xlib_surface_set_drawable
    - cairo_ps_surface_dsc_comment
    - cairo_ps_surface_restrict_to_level
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t preamble (cairo_test_context_t *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_status
      Src: /src/cairo/test/trap-clip.c:66,1
    - Dst: cairo_pattern_create_for_surface
      Src: /src/cairo/test/trap-clip.c:71,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/trap-clip.c:67,1
    - Dst: cairo_test_create_surface_from_png
      Src: /src/cairo/test/trap-clip.c:68,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/trap-clip.c:72,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/trap-clip.c:73,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/trap-clip.c:74,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - ctx
    - cr
    - x
    - y
    argTypes:
    - cairo_test_context_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 75
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 75
    functionName: set_image_pattern
    functionSourceFile: /src/cairo/test/trap-clip.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_for_surface
    - cairo_test_create_surface_from_png
    - cairo_surface_status
    - cairo_surface_destroy
    - cairo_pattern_set_extend
    - cairo_set_source
    - cairo_pattern_destroy
    linkageType: ''
    returnType: void
    signature: 'static void set_image_pattern (const cairo_test_context_t *ctx, cairo_t
      *cr, int x, int y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/trap-clip.c:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - cr
    - x
    - y
    argTypes:
    - cairo_test_context_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: set_translucent_pattern
    functionSourceFile: /src/cairo/test/trap-clip.c
    functionUses: []
    functionsReached:
    - cairo_set_source_rgba
    linkageType: ''
    returnType: void
    signature: 'static void set_translucent_pattern (const cairo_test_context_t *ctx,
      cairo_t *cr, int x, int y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_new_path
      Src: /src/cairo/test/trap-clip.c:91,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/trap-clip.c:93,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/trap-clip.c:94,1
    - Dst: cairo_fill
      Src: /src/cairo/test/trap-clip.c:95,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/trap-clip.c:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - cr
    - x
    - y
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 96
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 96
    functionName: draw_rects
    functionSourceFile: /src/cairo/test/trap-clip.c
    functionUses: []
    functionsReached:
    - cairo_fill
    - cairo_new_path
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void draw_rects (cairo_t *cr, int x, int y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 3
    argNames:
    - cr
    - x
    - y
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: clip_none
    functionSourceFile: /src/cairo/test/trap-clip.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void clip_none (cairo_t *cr, int x, int y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_new_path
      Src: /src/cairo/test/trap-clip.c:132,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/trap-clip.c:134,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/trap-clip.c:136,1
    - Dst: cairo_clip
      Src: /src/cairo/test/trap-clip.c:135,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/trap-clip.c:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - cr
    - x
    - y
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 137
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 137
    functionName: clip_rects
    functionSourceFile: /src/cairo/test/trap-clip.c
    functionUses: []
    functionsReached:
    - cairo_clip
    - cairo_new_path
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void clip_rects (cairo_t *cr, int x, int y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/trap-clip.c:39,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - cr
    - x
    - y
    argTypes:
    - cairo_test_context_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: set_solid_pattern
    functionSourceFile: /src/cairo/test/trap-clip.c
    functionUses: []
    functionsReached:
    - cairo_set_source_rgb
    linkageType: ''
    returnType: void
    signature: 'static void set_solid_pattern (const cairo_test_context_t *ctx, cairo_t
      *cr, int x, int y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_new_path
      Src: /src/cairo/test/trap-clip.c:80,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/trap-clip.c:81,1
    - Dst: cairo_fill
      Src: /src/cairo/test/trap-clip.c:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - cr
    - x
    - y
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: draw_rect
    functionSourceFile: /src/cairo/test/trap-clip.c
    functionUses: []
    functionsReached:
    - cairo_fill
    - cairo_new_path
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void draw_rect (cairo_t *cr, int x, int y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/test/trap-clip.c:54,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/trap-clip.c:55,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/trap-clip.c:56,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/trap-clip.c:58,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/trap-clip.c:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - cr
    - x
    - y
    argTypes:
    - cairo_test_context_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 59
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 59
    functionName: set_gradient_pattern
    functionSourceFile: /src/cairo/test/trap-clip.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_linear
    - cairo_set_source
    - cairo_pattern_destroy
    - cairo_pattern_add_color_stop_rgba
    linkageType: ''
    returnType: void
    signature: 'static void set_gradient_pattern (const cairo_test_context_t *ctx,
      cairo_t *cr, int x, int y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_new_path
      Src: /src/cairo/test/trap-clip.c:101,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/trap-clip.c:102,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/trap-clip.c:103,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/trap-clip.c:105,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/trap-clip.c:104,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/trap-clip.c:106,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/trap-clip.c:107,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/trap-clip.c:108,1
    - Dst: cairo_fill
      Src: /src/cairo/test/trap-clip.c:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 3
    argNames:
    - cr
    - x
    - y
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 110
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 110
    functionName: draw_polygon
    functionSourceFile: /src/cairo/test/trap-clip.c
    functionUses: []
    functionsReached:
    - cairo_new_path
    - cairo_line_to
    - cairo_close_path
    - cairo_fill
    - cairo_move_to
    linkageType: ''
    returnType: void
    signature: 'static void draw_polygon (cairo_t *cr, int x, int y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_new_path
      Src: /src/cairo/test/trap-clip.c:120,1
    - Dst: cairo_clip
      Src: /src/cairo/test/trap-clip.c:123,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/trap-clip.c:121,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/trap-clip.c:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - cr
    - x
    - y
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 125
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 125
    functionName: clip_rect
    functionSourceFile: /src/cairo/test/trap-clip.c
    functionUses: []
    functionsReached:
    - cairo_clip
    - cairo_new_path
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void clip_rect (cairo_t *cr, int x, int y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_new_path
      Src: /src/cairo/test/trap-clip.c:142,1
    - Dst: cairo_arc
      Src: /src/cairo/test/trap-clip.c:143,1
    - Dst: cairo_clip
      Src: /src/cairo/test/trap-clip.c:145,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/trap-clip.c:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - cr
    - x
    - y
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 147
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 147
    functionName: clip_circle
    functionSourceFile: /src/cairo/test/trap-clip.c
    functionUses: []
    functionsReached:
    - cairo_arc
    - cairo_clip
    - cairo_new_path
    linkageType: ''
    returnType: void
    signature: 'static void clip_circle (cairo_t *cr, int x, int y) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/trap-clip.c:175,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/trap-clip.c:178,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/trap-clip.c:179,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/trap-clip.c:180,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/trap-clip.c:182,1
    - Dst: cairo_save
      Src: /src/cairo/test/trap-clip.c:184,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/trap-clip.c:186,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/trap-clip.c:199,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/trap-clip.c:201,1
    - Dst: cairo_restore
      Src: /src/cairo/test/trap-clip.c:193,1
    - Dst: cairo_status
      Src: /src/cairo/test/trap-clip.c:198,1
    - Dst: cairo_status
      Src: /src/cairo/test/trap-clip.c:190,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/trap-clip.c:191,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 205
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 205
    functionName: draw
    functionSourceFile: /src/cairo/test/trap-clip.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - cairo_test_get_context
    - ARRAY_LENGTH
    - cairo_save
    - cairo_surface_destroy
    - cairo_status
    - cairo_restore
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_mesh_pattern_curve_to
      Src: /src/cairo/test/record-mesh.c:57,1
    - Dst: cairo_mesh_pattern_curve_to
      Src: /src/cairo/test/record-mesh.c:58,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgb
      Src: /src/cairo/test/record-mesh.c:61,1
    - Dst: cairo_mesh_pattern_curve_to
      Src: /src/cairo/test/record-mesh.c:72,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgb
      Src: /src/cairo/test/record-mesh.c:63,1
    - Dst: cairo_mesh_pattern_curve_to
      Src: /src/cairo/test/record-mesh.c:71,1
    - Dst: cairo_mesh_pattern_curve_to
      Src: /src/cairo/test/record-mesh.c:73,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgba
      Src: /src/cairo/test/record-mesh.c:77,1
    - Dst: cairo_mesh_pattern_end_patch
      Src: /src/cairo/test/record-mesh.c:80,1
    - Dst: cairo_mesh_pattern_move_to
      Src: /src/cairo/test/record-mesh.c:54,1
    - Dst: cairo_mesh_pattern_begin_patch
      Src: /src/cairo/test/record-mesh.c:52,1
    - Dst: cairo_mesh_pattern_move_to
      Src: /src/cairo/test/record-mesh.c:69,1
    - Dst: cairo_mesh_pattern_begin_patch
      Src: /src/cairo/test/record-mesh.c:67,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgba
      Src: /src/cairo/test/record-mesh.c:75,1
    - Dst: cairo_pattern_create_mesh
      Src: /src/cairo/test/record-mesh.c:50,1
    - Dst: cairo_mesh_pattern_curve_to
      Src: /src/cairo/test/record-mesh.c:56,1
    - Dst: cairo_mesh_pattern_curve_to
      Src: /src/cairo/test/record-mesh.c:55,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgb
      Src: /src/cairo/test/record-mesh.c:60,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgb
      Src: /src/cairo/test/record-mesh.c:62,1
    - Dst: cairo_mesh_pattern_end_patch
      Src: /src/cairo/test/record-mesh.c:65,1
    - Dst: cairo_mesh_pattern_curve_to
      Src: /src/cairo/test/record-mesh.c:70,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgb
      Src: /src/cairo/test/record-mesh.c:78,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgb
      Src: /src/cairo/test/record-mesh.c:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 83
    functionName: mesh
    functionSourceFile: /src/cairo/test/record-mesh.c
    functionUses: []
    functionsReached:
    - cairo_mesh_pattern_move_to
    - cairo_mesh_pattern_begin_patch
    - cairo_mesh_pattern_set_corner_color_rgba
    - cairo_mesh_pattern_curve_to
    - cairo_mesh_pattern_end_patch
    - cairo_pattern_create_mesh
    - cairo_mesh_pattern_set_corner_color_rgb
    linkageType: ''
    returnType: cairo_pattern_t*
    signature: 'static cairo_pattern_t *mesh (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_recording_surface_create
      Src: /src/cairo/test/record-mesh.c:110,1
    - Dst: cairo_surface_get_content
      Src: /src/cairo/test/record-mesh.c:110,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/record-mesh.c:112,1
    - Dst: cairo_create
      Src: /src/cairo/test/record-mesh.c:111,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/record-mesh.c:110,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 115
    functionName: record_create
    functionSourceFile: /src/cairo/test/record-mesh.c
    functionUses: []
    functionsReached:
    - cairo_create
    - cairo_surface_destroy
    - cairo_get_target
    - cairo_surface_get_content
    - cairo_recording_surface_create
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *record_create (cairo_t *target) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_get
      Src: /src/cairo/test/record-mesh.c:134,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/record-mesh.c:136,1
    - Dst: func
      Src: /src/cairo/test/record-mesh.c:134,1
    - Dst: record_create
      Src: /src/cairo/test/record-mesh.c:134,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/record-mesh.c:137,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/record-mesh.c:138,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/record-mesh.c:139,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/record-mesh.c:139,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/record-mesh.c:143,1
    - Dst: cairo_clip
      Src: /src/cairo/test/record-mesh.c:144,1
    - Dst: cairo_paint
      Src: /src/cairo/test/record-mesh.c:145,1
    - Dst: cairo_reset_clip
      Src: /src/cairo/test/record-mesh.c:146,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 4
    argNames:
    - cr
    - (*func)
    - width
    - height
    argTypes:
    - cairo_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 151
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 151
    functionName: record_replay
    functionSourceFile: /src/cairo/test/record-mesh.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - func
    - cairo_get_source
    - record_create
    - record_get
    - cairo_surface_destroy
    - cairo_pattern_set_extend
    - cairo_set_operator
    - cairo_clip
    - cairo_reset_clip
    - cairo_set_source_surface
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_replay (cairo_t *cr, cairo_t *(*func)(cairo_t
      *), int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_reference
      Src: /src/cairo/test/record-mesh.c:122,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/record-mesh.c:122,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/record-mesh.c:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 126
    functionName: record_get
    functionSourceFile: /src/cairo/test/record-mesh.c
    functionUses: []
    functionsReached:
    - cairo_destroy
    - cairo_surface_reference
    - cairo_get_target
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *record_get (cairo_t *target) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record-mesh.c:90,1
    - Dst: mesh
      Src: /src/cairo/test/record-mesh.c:93,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/record-mesh.c:94,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/record-mesh.c:95,1
    - Dst: cairo_paint
      Src: /src/cairo/test/record-mesh.c:91,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/record-mesh.c:97,1
    - Dst: cairo_clip
      Src: /src/cairo/test/record-mesh.c:98,1
    - Dst: cairo_paint
      Src: /src/cairo/test/record-mesh.c:99,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 102
    functionName: draw
    functionSourceFile: /src/cairo/test/record-mesh.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - mesh
    - cairo_set_source
    - cairo_set_source_rgb
    - cairo_clip
    - cairo_pattern_destroy
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *draw (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay
      Src: /src/cairo/test/record-mesh.c:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: record_mesh
    functionSourceFile: /src/cairo/test/record-mesh.c
    functionUses: []
    functionsReached:
    - record_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_mesh (cairo_t *cr, int width, int
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-fill-no-op.c:35,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-fill-no-op.c:40,1
    - Dst: cairo_fill
      Src: /src/cairo/test/clip-fill-no-op.c:43,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-fill-no-op.c:39,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-fill-no-op.c:36,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/clip-fill-no-op.c:46,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-fill-no-op.c:47,1
    - Dst: cairo_save
      Src: /src/cairo/test/clip-fill-no-op.c:52,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/clip-fill-no-op.c:53,1
    - Dst: cairo_clip_preserve
      Src: /src/cairo/test/clip-fill-no-op.c:54,1
    - Dst: cairo_restore
      Src: /src/cairo/test/clip-fill-no-op.c:56,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-fill-no-op.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 59
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 59
    functionName: draw
    functionSourceFile: /src/cairo/test/clip-fill-no-op.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgba
    - cairo_line_to
    - cairo_save
    - cairo_restore
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_clip_preserve
    - cairo_clip
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_operator
      Src: /src/cairo/test/linear-gradient-one-stop.c:47,1
    - Dst: cairo_translate
      Src: /src/cairo/test/linear-gradient-one-stop.c:49,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/linear-gradient-one-stop.c:56,1
    - Dst: cairo_reset_clip
      Src: /src/cairo/test/linear-gradient-one-stop.c:55,1
    - Dst: cairo_save
      Src: /src/cairo/test/linear-gradient-one-stop.c:52,1
    - Dst: cairo_clip
      Src: /src/cairo/test/linear-gradient-one-stop.c:57,1
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/test/linear-gradient-one-stop.c:60,1
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/test/linear-gradient-one-stop.c:62,1
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/test/linear-gradient-one-stop.c:64,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/test/linear-gradient-one-stop.c:66,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/linear-gradient-one-stop.c:67,1
    - Dst: cairo_restore
      Src: /src/cairo/test/linear-gradient-one-stop.c:77,1
    - Dst: cairo_translate
      Src: /src/cairo/test/linear-gradient-one-stop.c:78,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/linear-gradient-one-stop.c:69,1
    - Dst: cairo_paint
      Src: /src/cairo/test/linear-gradient-one-stop.c:70,1
    - Dst: cairo_translate
      Src: /src/cairo/test/linear-gradient-one-stop.c:74,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/linear-gradient-one-stop.c:72,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 82
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 82
    functionName: draw
    functionSourceFile: /src/cairo/test/linear-gradient-one-stop.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_pattern_create_linear
    - cairo_save
    - cairo_pattern_add_color_stop_rgb
    - cairo_pattern_set_extend
    - cairo_set_source
    - cairo_restore
    - cairo_set_operator
    - cairo_translate
    - cairo_clip
    - cairo_reset_clip
    - cairo_pattern_destroy
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/test/fill-alpha-pattern.c:40,1
    - Dst: cairo_fill
      Src: /src/cairo/test/fill-alpha-pattern.c:48,1
    - Dst: cairo_translate
      Src: /src/cairo/test/fill-alpha-pattern.c:57,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/fill-alpha-pattern.c:67,1
    - Dst: cos
      Src: /src/cairo/test/fill-alpha-pattern.c:72,1
    - Dst: sin
      Src: /src/cairo/test/fill-alpha-pattern.c:73,1
    - Dst: cairo_fill
      Src: /src/cairo/test/fill-alpha-pattern.c:76,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/fill-alpha-pattern.c:46,1
    - Dst: cairo_translate
      Src: /src/cairo/test/fill-alpha-pattern.c:51,1
    - Dst: cairo_arc
      Src: /src/cairo/test/fill-alpha-pattern.c:52,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/fill-alpha-pattern.c:60,1
    - Dst: cairo_fill
      Src: /src/cairo/test/fill-alpha-pattern.c:62,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/fill-alpha-pattern.c:71,1
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/test/fill-alpha-pattern.c:38,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/test/fill-alpha-pattern.c:39,1
    - Dst: cairo_paint
      Src: /src/cairo/test/fill-alpha-pattern.c:43,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/fill-alpha-pattern.c:47,1
    - Dst: cos
      Src: /src/cairo/test/fill-alpha-pattern.c:68,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/fill-alpha-pattern.c:75,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/fill-alpha-pattern.c:42,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/fill-alpha-pattern.c:41,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/fill-alpha-pattern.c:58,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/fill-alpha-pattern.c:53,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/fill-alpha-pattern.c:59,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/fill-alpha-pattern.c:61,1
    - Dst: cairo_fill
      Src: /src/cairo/test/fill-alpha-pattern.c:54,1
    - Dst: cairo_translate
      Src: /src/cairo/test/fill-alpha-pattern.c:65,1
    - Dst: sin
      Src: /src/cairo/test/fill-alpha-pattern.c:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 81
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 79
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 79
    functionName: draw
    functionSourceFile: /src/cairo/test/fill-alpha-pattern.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgba
    - cairo_pattern_create_linear
    - cairo_move_to
    - cairo_arc
    - cairo_line_to
    - cos
    - cairo_pattern_add_color_stop_rgb
    - cairo_set_source
    - cairo_fill
    - cairo_translate
    - sin
    - cairo_pattern_destroy
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/bug-image-compositor.c:34,1
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/test/bug-image-compositor.c:40,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/bug-image-compositor.c:37,1
    - Dst: cairo_paint
      Src: /src/cairo/test/bug-image-compositor.c:35,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/bug-image-compositor.c:38,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/test/bug-image-compositor.c:41,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/test/bug-image-compositor.c:42,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/bug-image-compositor.c:43,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/bug-image-compositor.c:44,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/bug-image-compositor.c:46,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/bug-image-compositor.c:48,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/bug-image-compositor.c:49,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/bug-image-compositor.c:53,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/bug-image-compositor.c:52,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 56
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 56
    functionName: draw
    functionSourceFile: /src/cairo/test/bug-image-compositor.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_line_width
    - cairo_pattern_create_linear
    - cairo_move_to
    - cairo_rel_line_to
    - cairo_pattern_add_color_stop_rgb
    - cairo_set_source
    - cairo_stroke
    - cairo_set_operator
    - cairo_set_source_rgb
    - cairo_pattern_destroy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/self-copy.c:38,1
    - Dst: cairo_paint
      Src: /src/cairo/test/self-copy.c:39,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/self-copy.c:43,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/self-copy.c:42,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/self-copy.c:41,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/self-copy.c:45,1
    - Dst: cairo_fill
      Src: /src/cairo/test/self-copy.c:46,1
    - Dst: cairo_pattern_create_for_surface
      Src: /src/cairo/test/self-copy.c:51,1
    - Dst: cairo_get_group_target
      Src: /src/cairo/test/self-copy.c:51,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/test/self-copy.c:53,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/self-copy.c:56,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/self-copy.c:65,1
    - Dst: cairo_clip
      Src: /src/cairo/test/self-copy.c:71,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/self-copy.c:57,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/self-copy.c:68,1
    - Dst: cairo_pattern_set_matrix
      Src: /src/cairo/test/self-copy.c:54,1
    - Dst: cairo_paint
      Src: /src/cairo/test/self-copy.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 76
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 76
    functionName: draw
    functionSourceFile: /src/cairo/test/self-copy.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_for_surface
    - cairo_paint
    - cairo_get_group_target
    - cairo_line_to
    - cairo_pattern_destroy
    - cairo_pattern_set_matrix
    - cairo_set_source
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_clip
    - cairo_matrix_init_translate
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/path-stroke-twice.c:35,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/path-stroke-twice.c:38,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/path-stroke-twice.c:40,1
    - Dst: cairo_paint
      Src: /src/cairo/test/path-stroke-twice.c:36,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/path-stroke-twice.c:39,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/path-stroke-twice.c:41,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/path-stroke-twice.c:42,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/path-stroke-twice.c:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 46
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 46
    functionName: draw
    functionSourceFile: /src/cairo/test/path-stroke-twice.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_line_to
    - cairo_stroke
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_paint_checkered
      Src: /src/cairo/test/linear-gradient-extend.c:47,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/test/linear-gradient-extend.c:51,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/test/linear-gradient-extend.c:52,1
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/test/linear-gradient-extend.c:49,1
    - Dst: cairo_translate
      Src: /src/cairo/test/linear-gradient-extend.c:54,1
    - Dst: cairo_save
      Src: /src/cairo/test/linear-gradient-extend.c:57,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/linear-gradient-extend.c:60,1
    - Dst: cairo_reset_clip
      Src: /src/cairo/test/linear-gradient-extend.c:62,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/linear-gradient-extend.c:63,1
    - Dst: cairo_clip
      Src: /src/cairo/test/linear-gradient-extend.c:64,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/linear-gradient-extend.c:67,1
    - Dst: cairo_paint
      Src: /src/cairo/test/linear-gradient-extend.c:71,1
    - Dst: cairo_restore
      Src: /src/cairo/test/linear-gradient-extend.c:77,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/linear-gradient-extend.c:81,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/linear-gradient-extend.c:70,1
    - Dst: cairo_translate
      Src: /src/cairo/test/linear-gradient-extend.c:78,1
    - Dst: cairo_translate
      Src: /src/cairo/test/linear-gradient-extend.c:74,1
    - Dst: cairo_mask
      Src: /src/cairo/test/linear-gradient-extend.c:68,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 84
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 84
    functionName: draw
    functionSourceFile: /src/cairo/test/linear-gradient-extend.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgb
    - cairo_pattern_create_linear
    - cairo_test_paint_checkered
    - cairo_save
    - cairo_pattern_add_color_stop_rgb
    - cairo_mask
    - cairo_pattern_set_extend
    - cairo_set_source
    - cairo_restore
    - cairo_translate
    - cairo_clip
    - cairo_reset_clip
    - cairo_pattern_destroy
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_move_to
      Src: /src/cairo/test/clip-fill-rule.c:32,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/clip-fill-rule.c:36,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/clip-fill-rule.c:35,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/clip-fill-rule.c:34,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/clip-fill-rule.c:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 37
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 37
    functionName: star_path
    functionSourceFile: /src/cairo/test/clip-fill-rule.c
    functionUses: []
    functionsReached:
    - cairo_rel_line_to
    - cairo_move_to
    linkageType: ''
    returnType: void
    signature: 'static void star_path (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_antialias
      Src: /src/cairo/test/clip-fill-rule.c:71,1
    - Dst: draw
      Src: /src/cairo/test/clip-fill-rule.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: a1_draw
    functionSourceFile: /src/cairo/test/clip-fill-rule.c
    functionUses: []
    functionsReached:
    - draw
    - cairo_set_antialias
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t a1_draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-fill-rule.c:43,1
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/test/clip-fill-rule.c:49,1
    - Dst: star_path
      Src: /src/cairo/test/clip-fill-rule.c:48,1
    - Dst: cairo_translate
      Src: /src/cairo/test/clip-fill-rule.c:45,1
    - Dst: cairo_save
      Src: /src/cairo/test/clip-fill-rule.c:46,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-fill-rule.c:50,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-fill-rule.c:51,1
    - Dst: cairo_restore
      Src: /src/cairo/test/clip-fill-rule.c:53,1
    - Dst: cairo_translate
      Src: /src/cairo/test/clip-fill-rule.c:55,1
    - Dst: cairo_save
      Src: /src/cairo/test/clip-fill-rule.c:56,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-fill-rule.c:60,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-fill-rule.c:61,1
    - Dst: star_path
      Src: /src/cairo/test/clip-fill-rule.c:58,1
    - Dst: cairo_restore
      Src: /src/cairo/test/clip-fill-rule.c:63,1
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/test/clip-fill-rule.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 66
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 66
    functionName: draw
    functionSourceFile: /src/cairo/test/clip-fill-rule.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgb
    - star_path
    - cairo_save
    - cairo_restore
    - cairo_translate
    - cairo_set_fill_rule
    - cairo_clip
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/operator-alpha-alpha.c:128,1
    - Dst: subdraw
      Src: /src/cairo/test/operator-alpha-alpha.c:134,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/operator-alpha-alpha.c:132,1
    - Dst: cairo_create
      Src: /src/cairo/test/operator-alpha-alpha.c:131,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/test/operator-alpha-alpha.c:136,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/operator-alpha-alpha.c:136,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/operator-alpha-alpha.c:137,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 140
    functionName: create_source
    functionSourceFile: /src/cairo/test/operator-alpha-alpha.c
    functionUses: []
    functionsReached:
    - subdraw
    - cairo_surface_reference
    - cairo_create
    - cairo_surface_destroy
    - cairo_get_target
    - cairo_destroy
    - cairo_surface_create_similar
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *create_source (cairo_surface_t *target, int
      width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_operator
      Src: /src/cairo/test/operator-alpha-alpha.c:77,1
    - Dst: cairo_paint
      Src: /src/cairo/test/operator-alpha-alpha.c:79,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/operator-alpha-alpha.c:81,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/operator-alpha-alpha.c:82,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/operator-alpha-alpha.c:78,1
    - Dst: cairo_paint
      Src: /src/cairo/test/operator-alpha-alpha.c:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - cr
    - op
    - bg
    - fg
    argTypes:
    - cairo_t*
    - cairo_operator_t
    - cairo_surface_t*
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 84
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 84
    functionName: do_composite
    functionSourceFile: /src/cairo/test/operator-alpha-alpha.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_operator
    - cairo_set_source_surface
    linkageType: ''
    returnType: void
    signature: 'static void do_composite (cairo_t *cr, cairo_operator_t op, cairo_surface_t
      *bg, cairo_surface_t *fg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/operator-alpha-alpha.c:63,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/operator-alpha-alpha.c:67,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/operator-alpha-alpha.c:64,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/operator-alpha-alpha.c:68,1
    - Dst: cairo_fill
      Src: /src/cairo/test/operator-alpha-alpha.c:65,1
    - Dst: cairo_fill
      Src: /src/cairo/test/operator-alpha-alpha.c:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - bg
    - fg
    argTypes:
    - cairo_t*
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 71
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 71
    functionName: create_patterns
    functionSourceFile: /src/cairo/test/operator-alpha-alpha.c
    functionUses: []
    functionsReached:
    - cairo_fill
    - cairo_set_source_rgba
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void create_patterns (cairo_t *bg, cairo_t *fg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_get_target
      Src: /src/cairo/test/operator-alpha-alpha.c:94,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/operator-alpha-alpha.c:96,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/operator-alpha-alpha.c:117,1
    - Dst: cairo_clip
      Src: /src/cairo/test/operator-alpha-alpha.c:112,1
    - Dst: do_composite
      Src: /src/cairo/test/operator-alpha-alpha.c:113,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/operator-alpha-alpha.c:104,1
    - Dst: cairo_translate
      Src: /src/cairo/test/operator-alpha-alpha.c:108,1
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/operator-alpha-alpha.c:96,1
    - Dst: cairo_create
      Src: /src/cairo/test/operator-alpha-alpha.c:98,1
    - Dst: cairo_create
      Src: /src/cairo/test/operator-alpha-alpha.c:99,1
    - Dst: create_patterns
      Src: /src/cairo/test/operator-alpha-alpha.c:102,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/operator-alpha-alpha.c:103,1
    - Dst: cairo_restore
      Src: /src/cairo/test/operator-alpha-alpha.c:114,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/operator-alpha-alpha.c:111,1
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/operator-alpha-alpha.c:94,1
    - Dst: cairo_scale
      Src: /src/cairo/test/operator-alpha-alpha.c:100,1
    - Dst: cairo_scale
      Src: /src/cairo/test/operator-alpha-alpha.c:101,1
    - Dst: cairo_save
      Src: /src/cairo/test/operator-alpha-alpha.c:107,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/operator-alpha-alpha.c:118,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 119
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 119
    functionName: subdraw
    functionSourceFile: /src/cairo/test/operator-alpha-alpha.c
    functionUses: []
    functionsReached:
    - do_composite
    - cairo_clip
    - cairo_destroy
    - cairo_create
    - cairo_save
    - cairo_surface_destroy
    - cairo_scale
    - cairo_restore
    - cairo_get_target
    - cairo_translate
    - create_patterns
    - cairo_surface_create_similar
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void subdraw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/operator-alpha-alpha.c:147,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/operator-alpha-alpha.c:151,1
    - Dst: cairo_paint
      Src: /src/cairo/test/operator-alpha-alpha.c:148,1
    - Dst: create_source
      Src: /src/cairo/test/operator-alpha-alpha.c:150,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/operator-alpha-alpha.c:150,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/operator-alpha-alpha.c:152,1
    - Dst: cairo_paint
      Src: /src/cairo/test/operator-alpha-alpha.c:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 157
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 157
    functionName: draw
    functionSourceFile: /src/cairo/test/operator-alpha-alpha.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - create_source
    - cairo_surface_destroy
    - cairo_get_target
    - cairo_set_source_rgb
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_write_to_png_stream
      Src: /src/cairo/test/record-write-png.c:99,1
    - Dst: free
      Src: /src/cairo/test/record-write-png.c:105,1
    - Dst: cairo_image_surface_create_from_png_stream
      Src: /src/cairo/test/record-write-png.c:103,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 107
    functionName: png_round_trip
    functionSourceFile: /src/cairo/test/record-write-png.c
    functionUses: []
    functionsReached:
    - cairo_surface_write_to_png_stream
    - free
    - cairo_image_surface_create_from_png_stream
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *png_round_trip (cairo_surface_t *input_surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/cairo/test/record-write-png.c:69,1
    - Dst: memcpy
      Src: /src/cairo/test/record-write-png.c:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - closure
    - data
    - length
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: write_callback
    functionSourceFile: /src/cairo/test/record-write-png.c
    functionUses: []
    functionsReached:
    - memcpy
    - realloc
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t write_callback (void *closure, const unsigned
      char *data, unsigned int length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_recording_surface_create
      Src: /src/cairo/test/record-write-png.c:52,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record-write-png.c:56,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/record-write-png.c:57,1
    - Dst: cairo_create
      Src: /src/cairo/test/record-write-png.c:54,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/record-write-png.c:55,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/record-write-png.c:58,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/record-write-png.c:59,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 62
    functionName: prepare_recording
    functionSourceFile: /src/cairo/test/record-write-png.c
    functionUses: []
    functionsReached:
    - cairo_set_line_width
    - cairo_create
    - cairo_stroke
    - cairo_set_source_rgb
    - cairo_destroy
    - cairo_recording_surface_create
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *prepare_recording (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/test/record-write-png.c:81,1
    - Dst: memcpy
      Src: /src/cairo/test/record-write-png.c:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - closure
    - data
    - length
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: read_callback
    functionSourceFile: /src/cairo/test/record-write-png.c
    functionUses: []
    functionsReached:
    - memcpy
    - assert
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t read_callback (void *closure, unsigned char
      *data, unsigned int length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record-write-png.c:115,1
    - Dst: prepare_recording
      Src: /src/cairo/test/record-write-png.c:118,1
    - Dst: cairo_paint
      Src: /src/cairo/test/record-write-png.c:116,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/record-write-png.c:121,1
    - Dst: png_round_trip
      Src: /src/cairo/test/record-write-png.c:119,1
    - Dst: cairo_paint
      Src: /src/cairo/test/record-write-png.c:122,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/record-write-png.c:124,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/record-write-png.c:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 128
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 128
    functionName: draw
    functionSourceFile: /src/cairo/test/record-write-png.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - png_round_trip
    - cairo_surface_destroy
    - prepare_recording
    - cairo_set_source_rgb
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_destroy
      Src: /src/cairo/test/subsurface-repeat.c:59,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/subsurface-repeat.c:64,1
    - Dst: cairo_paint
      Src: /src/cairo/test/subsurface-repeat.c:34,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/subsurface-repeat.c:40,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/subsurface-repeat.c:42,1
    - Dst: cairo_fill
      Src: /src/cairo/test/subsurface-repeat.c:44,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/subsurface-repeat.c:46,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/subsurface-repeat.c:50,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/subsurface-repeat.c:51,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/subsurface-repeat.c:55,1
    - Dst: cairo_fill
      Src: /src/cairo/test/subsurface-repeat.c:48,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/subsurface-repeat.c:58,1
    - Dst: cairo_create
      Src: /src/cairo/test/subsurface-repeat.c:39,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/subsurface-repeat.c:58,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/subsurface-repeat.c:63,1
    - Dst: cairo_fill
      Src: /src/cairo/test/subsurface-repeat.c:65,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/subsurface-repeat.c:33,1
    - Dst: cairo_surface_create_for_rectangle
      Src: /src/cairo/test/subsurface-repeat.c:37,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/subsurface-repeat.c:37,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/subsurface-repeat.c:43,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/subsurface-repeat.c:47,1
    - Dst: cairo_fill
      Src: /src/cairo/test/subsurface-repeat.c:52,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/subsurface-repeat.c:54,1
    - Dst: cairo_fill
      Src: /src/cairo/test/subsurface-repeat.c:56,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/subsurface-repeat.c:62,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/subsurface-repeat.c:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 68
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 68
    functionName: draw
    functionSourceFile: /src/cairo/test/subsurface-repeat.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_surface_create_for_rectangle
    - cairo_get_source
    - cairo_create
    - cairo_surface_destroy
    - cairo_pattern_set_extend
    - cairo_get_target
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_destroy
    - cairo_set_source_surface
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FcPatternCreate
      Src: /src/cairo/test/ft-color-font.c:46,1
    - Dst: FcPatternDestroy
      Src: /src/cairo/test/ft-color-font.c:60,1
    - Dst: FcPatternDestroy
      Src: /src/cairo/test/ft-color-font.c:79,1
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/ft-color-font.c:66,1
    - Dst: strcmp
      Src: /src/cairo/test/ft-color-font.c:65,1
    - Dst: FcConfigSubstitute
      Src: /src/cairo/test/ft-color-font.c:51,1
    - Dst: cairo_ft_font_options_substitute
      Src: /src/cairo/test/ft-color-font.c:55,1
    - Dst: FcDefaultSubstitute
      Src: /src/cairo/test/ft-color-font.c:57,1
    - Dst: FcPatternGetString
      Src: /src/cairo/test/ft-color-font.c:64,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/ft-color-font.c:67,1
    - Dst: FcPatternDestroy
      Src: /src/cairo/test/ft-color-font.c:80,1
    - Dst: cairo_font_options_create
      Src: /src/cairo/test/ft-color-font.c:53,1
    - Dst: cairo_get_font_options
      Src: /src/cairo/test/ft-color-font.c:54,1
    - Dst: FcPatternAddString
      Src: /src/cairo/test/ft-color-font.c:50,1
    - Dst: cairo_font_options_destroy
      Src: /src/cairo/test/ft-color-font.c:77,1
    - Dst: cairo_ft_font_face_create_for_pattern
      Src: /src/cairo/test/ft-color-font.c:74,1
    - Dst: cairo_set_font_face
      Src: /src/cairo/test/ft-color-font.c:75,1
    - Dst: FcFontMatch
      Src: /src/cairo/test/ft-color-font.c:58,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/ft-color-font.c:78,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 83
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 83
    functionName: set_color_emoji_font
    functionSourceFile: /src/cairo/test/ft-color-font.c
    functionUses: []
    functionsReached:
    - FcDefaultSubstitute
    - cairo_test_log
    - cairo_set_font_face
    - FcConfigSubstitute
    - cairo_font_options_destroy
    - cairo_font_options_create
    - cairo_test_get_context
    - cairo_font_face_destroy
    - strcmp
    - cairo_ft_font_options_substitute
    - cairo_ft_font_face_create_for_pattern
    - FcPatternCreate
    - FcPatternDestroy
    - FcPatternAddString
    - FcPatternGetString
    - FcFontMatch
    - cairo_get_font_options
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t set_color_emoji_font (cairo_t *cr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: set_color_emoji_font
      Src: /src/cairo/test/ft-color-font.c:91,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/ft-color-font.c:95,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/ft-color-font.c:98,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/ft-color-font.c:96,1
    - Dst: cairo_font_options_create
      Src: /src/cairo/test/ft-color-font.c:101,1
    - Dst: cairo_get_font_options
      Src: /src/cairo/test/ft-color-font.c:102,1
    - Dst: cairo_font_options_set_color_mode
      Src: /src/cairo/test/ft-color-font.c:103,1
    - Dst: cairo_set_font_options
      Src: /src/cairo/test/ft-color-font.c:104,1
    - Dst: cairo_font_options_destroy
      Src: /src/cairo/test/ft-color-font.c:105,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/ft-color-font.c:107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 110
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 110
    functionName: draw
    functionSourceFile: /src/cairo/test/ft-color-font.c
    functionUses: []
    functionsReached:
    - cairo_show_text
    - cairo_font_options_set_color_mode
    - cairo_font_options_create
    - cairo_set_font_options
    - cairo_font_options_destroy
    - cairo_set_font_size
    - cairo_move_to
    - set_color_emoji_font
    - cairo_get_font_options
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 12
    argCount: 5
    argNames:
    - data
    - stride
    - format
    - x
    - y
    argTypes:
    - uint8_t*
    - int
    - cairo_format_t
    - int
    - int
    constantsTouched: []
    func_position:
      end: 57
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 57
    functionName: set_pixel_black
    functionSourceFile: /src/cairo/test/map-to-image.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t set_pixel_black(uint8_t *data, int stride,\t cairo_format_t\
      \ format, int x, int y) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/map-to-image.c:127,1
    - Dst: cairo_surface_map_to_image
      Src: /src/cairo/test/map-to-image.c:130,1
    - Dst: cairo_paint
      Src: /src/cairo/test/map-to-image.c:128,1
    - Dst: cairo_create
      Src: /src/cairo/test/map-to-image.c:131,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/map-to-image.c:130,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/map-to-image.c:132,1
    - Dst: cairo_paint
      Src: /src/cairo/test/map-to-image.c:133,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/map-to-image.c:134,1
    - Dst: cairo_surface_unmap_image
      Src: /src/cairo/test/map-to-image.c:135,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/map-to-image.c:135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 138
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 138
    functionName: fill
    functionSourceFile: /src/cairo/test/map-to-image.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_create
    - cairo_surface_unmap_image
    - cairo_get_target
    - cairo_set_source_rgb
    - cairo_destroy
    - cairo_surface_map_to_image
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t fill (cairo_t *cr, int width, int height) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/map-to-image.c:69,1
    - Dst: cairo_surface_flush
      Src: /src/cairo/test/map-to-image.c:73,1
    - Dst: cairo_paint
      Src: /src/cairo/test/map-to-image.c:70,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/map-to-image.c:72,1
    - Dst: cairo_surface_map_to_image
      Src: /src/cairo/test/map-to-image.c:72,1
    - Dst: cairo_image_surface_get_format
      Src: /src/cairo/test/map-to-image.c:74,1
    - Dst: cairo_image_surface_get_stride
      Src: /src/cairo/test/map-to-image.c:75,1
    - Dst: cairo_image_surface_get_data
      Src: /src/cairo/test/map-to-image.c:76,1
    - Dst: set_pixel_black
      Src: /src/cairo/test/map-to-image.c:80,1
    - Dst: cairo_surface_mark_dirty
      Src: /src/cairo/test/map-to-image.c:83,1
    - Dst: cairo_surface_unmap_image
      Src: /src/cairo/test/map-to-image.c:84,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/map-to-image.c:84,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 87
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 87
    functionName: all
    functionSourceFile: /src/cairo/test/map-to-image.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_surface_flush
    - cairo_image_surface_get_format
    - cairo_image_surface_get_data
    - set_pixel_black
    - cairo_surface_mark_dirty
    - cairo_surface_unmap_image
    - cairo_get_target
    - cairo_set_source_rgb
    - cairo_image_surface_get_stride
    - cairo_surface_map_to_image
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t all (cairo_t *cr, int width, int height) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/map-to-image.c:100,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/map-to-image.c:103,1
    - Dst: cairo_surface_flush
      Src: /src/cairo/test/map-to-image.c:104,1
    - Dst: cairo_surface_map_to_image
      Src: /src/cairo/test/map-to-image.c:103,1
    - Dst: cairo_paint
      Src: /src/cairo/test/map-to-image.c:101,1
    - Dst: cairo_image_surface_get_data
      Src: /src/cairo/test/map-to-image.c:105,1
    - Dst: cairo_image_surface_get_format
      Src: /src/cairo/test/map-to-image.c:106,1
    - Dst: set_pixel_black
      Src: /src/cairo/test/map-to-image.c:108,1
    - Dst: cairo_surface_mark_dirty
      Src: /src/cairo/test/map-to-image.c:111,1
    - Dst: cairo_surface_unmap_image
      Src: /src/cairo/test/map-to-image.c:112,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/map-to-image.c:112,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 115
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 115
    functionName: bit
    functionSourceFile: /src/cairo/test/map-to-image.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_surface_flush
    - cairo_image_surface_get_data
    - cairo_image_surface_get_format
    - set_pixel_black
    - cairo_surface_mark_dirty
    - cairo_surface_unmap_image
    - cairo_get_target
    - cairo_set_source_rgb
    - cairo_surface_map_to_image
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t bit (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_init
      Src: /src/cairo/test/recordflip.c:268,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/recordflip.c:274,1
    - Dst: cairo_set_font_matrix
      Src: /src/cairo/test/recordflip.c:272,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/recordflip.c:275,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/test/recordflip.c:271,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/recordflip.c:276,1
    - Dst: cairo_matrix_init_rotate
      Src: /src/cairo/test/recordflip.c:279,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/test/recordflip.c:280,1
    - Dst: cairo_set_font_matrix
      Src: /src/cairo/test/recordflip.c:281,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/recordflip.c:283,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/recordflip.c:284,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/recordflip.c:285,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/test/recordflip.c:288,1
    - Dst: cairo_set_font_matrix
      Src: /src/cairo/test/recordflip.c:289,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/recordflip.c:292,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/recordflip.c:293,1
    - Dst: cairo_matrix_init_rotate
      Src: /src/cairo/test/recordflip.c:287,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/recordflip.c:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 294
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 294
    functionName: draw_text_transform
    functionSourceFile: /src/cairo/test/recordflip.c
    functionUses: []
    functionsReached:
    - cairo_matrix_scale
    - cairo_show_text
    - cairo_new_path
    - cairo_set_font_matrix
    - cairo_matrix_init_rotate
    - cairo_move_to
    - cairo_matrix_init
    linkageType: ''
    returnType: void
    signature: 'static void draw_text_transform (cairo_t *cr) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/cairo/test/recordflip.c:366,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/recordflip.c:422,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/recordflip.c:422,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/recordflip.c:426,1
    - Dst: cairo_paint
      Src: /src/cairo/test/recordflip.c:428,1
    - Dst: cairo_image_surface_get_format
      Src: /src/cairo/test/recordflip.c:370,1
    - Dst: memcpy
      Src: /src/cairo/test/recordflip.c:400,1
    - Dst: record_get
      Src: /src/cairo/test/recordflip.c:415,1
    - Dst: cairo_scale
      Src: /src/cairo/test/recordflip.c:417,1
    - Dst: free
      Src: /src/cairo/test/recordflip.c:410,1
    - Dst: record_create
      Src: /src/cairo/test/recordflip.c:415,1
    - Dst: cairo_translate
      Src: /src/cairo/test/recordflip.c:418,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/recordflip.c:420,1
    - Dst: cairo_reset_clip
      Src: /src/cairo/test/recordflip.c:429,1
    - Dst: cairo_surface_map_to_image
      Src: /src/cairo/test/recordflip.c:368,1
    - Dst: memcpy
      Src: /src/cairo/test/recordflip.c:398,1
    - Dst: memcpy
      Src: /src/cairo/test/recordflip.c:399,1
    - Dst: memcpy
      Src: /src/cairo/test/recordflip.c:407,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/recordflip.c:419,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/recordflip.c:364,1
    - Dst: cairo_image_surface_get_data
      Src: /src/cairo/test/recordflip.c:388,1
    - Dst: cairo_image_surface_get_stride
      Src: /src/cairo/test/recordflip.c:389,1
    - Dst: malloc
      Src: /src/cairo/test/recordflip.c:391,1
    - Dst: cairo_surface_unmap_image
      Src: /src/cairo/test/recordflip.c:412,1
    - Dst: memcpy
      Src: /src/cairo/test/recordflip.c:406,1
    - Dst: memcpy
      Src: /src/cairo/test/recordflip.c:405,1
    - Dst: func
      Src: /src/cairo/test/recordflip.c:415,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/recordflip.c:421,1
    - Dst: cairo_clip
      Src: /src/cairo/test/recordflip.c:427,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 89
    argCount: 4
    argNames:
    - cr
    - (*func)
    - width
    - height
    argTypes:
    - cairo_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 435
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 435
    functionName: record_replay
    functionSourceFile: /src/cairo/test/recordflip.c
    functionUses: []
    functionsReached:
    - memcpy
    - func
    - cairo_get_source
    - record_create
    - cairo_pattern_set_extend
    - cairo_get_target
    - cairo_surface_unmap_image
    - cairo_translate
    - cairo_reset_clip
    - cairo_surface_map_to_image
    - cairo_set_source_surface
    - cairo_rectangle
    - record_get
    - cairo_image_surface_get_stride
    - cairo_clip
    - cairo_set_operator
    - malloc
    - cairo_paint
    - cairo_image_surface_get_format
    - cairo_image_surface_get_data
    - free
    - cairo_surface_destroy
    - cairo_scale
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_replay (cairo_t *cr, cairo_t *(*func)(cairo_t
      *), int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/recordflip.c:299,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/recordflip.c:302,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/recordflip.c:305,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/recordflip.c:307,1
    - Dst: cairo_paint
      Src: /src/cairo/test/recordflip.c:303,1
    - Dst: draw_text_transform
      Src: /src/cairo/test/recordflip.c:311,1
    - Dst: cairo_translate
      Src: /src/cairo/test/recordflip.c:313,1
    - Dst: cairo_rotate
      Src: /src/cairo/test/recordflip.c:314,1
    - Dst: cairo_test_create_pattern_from_png
      Src: /src/cairo/test/recordflip.c:316,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/recordflip.c:317,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/recordflip.c:319,1
    - Dst: draw_text_transform
      Src: /src/cairo/test/recordflip.c:321,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/recordflip.c:318,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 324
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 324
    functionName: text_transform
    functionSourceFile: /src/cairo/test/recordflip.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - draw_text_transform
    - cairo_test_get_context
    - cairo_pattern_set_extend
    - cairo_set_source
    - cairo_test_create_pattern_from_png
    - cairo_select_font_face
    - cairo_rotate
    - cairo_set_source_rgb
    - cairo_translate
    - cairo_pattern_destroy
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *text_transform (cairo_t *cr) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/cairo/test/recordflip.c:451,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/recordflip.c:507,1
    - Dst: cairo_image_surface_get_format
      Src: /src/cairo/test/recordflip.c:455,1
    - Dst: memcpy
      Src: /src/cairo/test/recordflip.c:485,1
    - Dst: record_get
      Src: /src/cairo/test/recordflip.c:500,1
    - Dst: record_create
      Src: /src/cairo/test/recordflip.c:500,1
    - Dst: free
      Src: /src/cairo/test/recordflip.c:495,1
    - Dst: cairo_scale
      Src: /src/cairo/test/recordflip.c:502,1
    - Dst: cairo_translate
      Src: /src/cairo/test/recordflip.c:503,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/recordflip.c:505,1
    - Dst: cairo_paint
      Src: /src/cairo/test/recordflip.c:509,1
    - Dst: cairo_surface_map_to_image
      Src: /src/cairo/test/recordflip.c:453,1
    - Dst: memcpy
      Src: /src/cairo/test/recordflip.c:483,1
    - Dst: memcpy
      Src: /src/cairo/test/recordflip.c:484,1
    - Dst: memcpy
      Src: /src/cairo/test/recordflip.c:492,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/recordflip.c:504,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/recordflip.c:507,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/recordflip.c:449,1
    - Dst: cairo_image_surface_get_data
      Src: /src/cairo/test/recordflip.c:473,1
    - Dst: cairo_image_surface_get_stride
      Src: /src/cairo/test/recordflip.c:474,1
    - Dst: malloc
      Src: /src/cairo/test/recordflip.c:476,1
    - Dst: memcpy
      Src: /src/cairo/test/recordflip.c:491,1
    - Dst: func
      Src: /src/cairo/test/recordflip.c:500,1
    - Dst: memcpy
      Src: /src/cairo/test/recordflip.c:490,1
    - Dst: cairo_surface_unmap_image
      Src: /src/cairo/test/recordflip.c:497,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/recordflip.c:506,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 78
    argCount: 4
    argNames:
    - cr
    - (*func)
    - width
    - height
    argTypes:
    - cairo_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 513
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 513
    functionName: record_whole_replay
    functionSourceFile: /src/cairo/test/recordflip.c
    functionUses: []
    functionsReached:
    - memcpy
    - func
    - cairo_get_source
    - record_create
    - cairo_pattern_set_extend
    - cairo_get_target
    - cairo_surface_unmap_image
    - cairo_translate
    - cairo_surface_map_to_image
    - cairo_set_source_surface
    - record_get
    - cairo_image_surface_get_stride
    - cairo_set_operator
    - malloc
    - cairo_paint
    - cairo_image_surface_get_format
    - cairo_image_surface_get_data
    - free
    - cairo_surface_destroy
    - cairo_scale
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_whole_replay (cairo_t *cr, cairo_t
      *(*func)(cairo_t *), int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay
      Src: /src/cairo/test/recordflip.c:530,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 531
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 531
    functionName: record_paint_alpha_solid_clip
    functionSourceFile: /src/cairo/test/recordflip.c
    functionUses: []
    functionsReached:
    - record_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_paint_alpha_solid_clip (cairo_t
      *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay
      Src: /src/cairo/test/recordflip.c:542,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 543
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 543
    functionName: record_paint_alpha_clip_mask
    functionSourceFile: /src/cairo/test/recordflip.c
    functionUses: []
    functionsReached:
    - record_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_paint_alpha_clip_mask (cairo_t *cr,
      int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_whole_replay
      Src: /src/cairo/test/recordflip.c:578,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 579
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 579
    functionName: record_whole_paint_alpha
    functionSourceFile: /src/cairo/test/recordflip.c
    functionUses: []
    functionsReached:
    - record_whole_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_whole_paint_alpha (cairo_t *cr,
      int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_whole_replay
      Src: /src/cairo/test/recordflip.c:590,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 591
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 591
    functionName: record_whole_paint_alpha_clip
    functionSourceFile: /src/cairo/test/recordflip.c
    functionUses: []
    functionsReached:
    - record_whole_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_whole_paint_alpha_clip (cairo_t
      *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_whole_replay
      Src: /src/cairo/test/recordflip.c:614,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 615
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 615
    functionName: record_whole_select_font_face
    functionSourceFile: /src/cairo/test/recordflip.c
    functionUses: []
    functionsReached:
    - record_whole_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_whole_select_font_face (cairo_t
      *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay
      Src: /src/cairo/test/recordflip.c:536,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 537
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 537
    functionName: record_paint_alpha_clip
    functionSourceFile: /src/cairo/test/recordflip.c
    functionUses: []
    functionsReached:
    - record_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_paint_alpha_clip (cairo_t *cr, int
      width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay
      Src: /src/cairo/test/recordflip.c:548,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 549
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 549
    functionName: record_fill_alpha
    functionSourceFile: /src/cairo/test/recordflip.c
    functionUses: []
    functionsReached:
    - record_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_fill_alpha (cairo_t *cr, int width,
      int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_whole_replay
      Src: /src/cairo/test/recordflip.c:584,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 585
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 585
    functionName: record_whole_paint_alpha_solid_clip
    functionSourceFile: /src/cairo/test/recordflip.c
    functionUses: []
    functionsReached:
    - record_whole_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_whole_paint_alpha_solid_clip (cairo_t
      *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_whole_replay
      Src: /src/cairo/test/recordflip.c:596,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 597
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 597
    functionName: record_whole_paint_alpha_clip_mask
    functionSourceFile: /src/cairo/test/recordflip.c
    functionUses: []
    functionsReached:
    - record_whole_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_whole_paint_alpha_clip_mask (cairo_t
      *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_whole_replay
      Src: /src/cairo/test/recordflip.c:620,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 621
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 621
    functionName: record_whole_text_transform
    functionSourceFile: /src/cairo/test/recordflip.c
    functionUses: []
    functionsReached:
    - record_whole_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_whole_text_transform (cairo_t *cr,
      int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/recordflip.c:51,1
    - Dst: cairo_scale
      Src: /src/cairo/test/recordflip.c:55,1
    - Dst: cairo_translate
      Src: /src/cairo/test/recordflip.c:54,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/recordflip.c:57,1
    - Dst: cairo_paint
      Src: /src/cairo/test/recordflip.c:52,1
    - Dst: cairo_paint
      Src: /src/cairo/test/recordflip.c:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 61
    functionName: paint
    functionSourceFile: /src/cairo/test/recordflip.c
    functionUses: []
    functionsReached:
    - cairo_translate
    - cairo_paint
    - cairo_scale
    - cairo_set_source_rgb
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *paint (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_paint_checkered
      Src: /src/cairo/test/recordflip.c:88,1
    - Dst: cairo_paint_with_alpha
      Src: /src/cairo/test/recordflip.c:94,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/recordflip.c:90,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/recordflip.c:93,1
    - Dst: cairo_clip
      Src: /src/cairo/test/recordflip.c:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 97
    functionName: paint_alpha_solid_clip
    functionSourceFile: /src/cairo/test/recordflip.c
    functionUses: []
    functionsReached:
    - cairo_paint_with_alpha
    - cairo_test_paint_checkered
    - cairo_set_source_rgb
    - cairo_clip
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *paint_alpha_solid_clip (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/test/recordflip.c:129,1
    - Dst: cairo_test_paint_checkered
      Src: /src/cairo/test/recordflip.c:132,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/recordflip.c:135,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/recordflip.c:134,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/recordflip.c:136,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/recordflip.c:137,1
    - Dst: cairo_clip
      Src: /src/cairo/test/recordflip.c:138,1
    - Dst: cairo_scale
      Src: /src/cairo/test/recordflip.c:140,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/recordflip.c:142,1
    - Dst: cairo_pattern_set_filter
      Src: /src/cairo/test/recordflip.c:143,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/recordflip.c:143,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/recordflip.c:146,1
    - Dst: cairo_paint_with_alpha
      Src: /src/cairo/test/recordflip.c:144,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/recordflip.c:147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 150
    functionName: paint_alpha_clip_mask
    functionSourceFile: /src/cairo/test/recordflip.c
    functionUses: []
    functionsReached:
    - cairo_paint_with_alpha
    - cairo_surface_finish
    - cairo_pattern_set_filter
    - cairo_line_to
    - cairo_test_paint_checkered
    - cairo_image_surface_create_for_data
    - cairo_get_source
    - cairo_surface_destroy
    - cairo_scale
    - cairo_clip
    - cairo_move_to
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *paint_alpha_clip_mask (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_fill
      Src: /src/cairo/test/recordflip.c:195,1
    - Dst: cairo_paint
      Src: /src/cairo/test/recordflip.c:190,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/recordflip.c:214,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/recordflip.c:222,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/recordflip.c:189,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/recordflip.c:193,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/recordflip.c:200,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/recordflip.c:207,1
    - Dst: cairo_translate
      Src: /src/cairo/test/recordflip.c:212,1
    - Dst: sin
      Src: /src/cairo/test/recordflip.c:216,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/recordflip.c:218,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/recordflip.c:194,1
    - Dst: cairo_translate
      Src: /src/cairo/test/recordflip.c:204,1
    - Dst: cos
      Src: /src/cairo/test/recordflip.c:215,1
    - Dst: cos
      Src: /src/cairo/test/recordflip.c:219,1
    - Dst: sin
      Src: /src/cairo/test/recordflip.c:220,1
    - Dst: cairo_fill
      Src: /src/cairo/test/recordflip.c:223,1
    - Dst: cairo_translate
      Src: /src/cairo/test/recordflip.c:198,1
    - Dst: cairo_arc
      Src: /src/cairo/test/recordflip.c:199,1
    - Dst: cairo_fill
      Src: /src/cairo/test/recordflip.c:201,1
    - Dst: cairo_fill
      Src: /src/cairo/test/recordflip.c:209,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/recordflip.c:206,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/recordflip.c:208,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/recordflip.c:205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 76
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 226
    functionName: fill_alpha
    functionSourceFile: /src/cairo/test/recordflip.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgba
    - cairo_line_to
    - cairo_arc
    - cos
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_translate
    - sin
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *fill_alpha (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/test/recordflip.c:104,1
    - Dst: cairo_scale
      Src: /src/cairo/test/recordflip.c:112,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/recordflip.c:109,1
    - Dst: cairo_clip
      Src: /src/cairo/test/recordflip.c:110,1
    - Dst: cairo_test_paint_checkered
      Src: /src/cairo/test/recordflip.c:107,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/recordflip.c:114,1
    - Dst: cairo_pattern_set_filter
      Src: /src/cairo/test/recordflip.c:115,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/recordflip.c:115,1
    - Dst: cairo_paint_with_alpha
      Src: /src/cairo/test/recordflip.c:116,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/recordflip.c:118,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/recordflip.c:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 122
    functionName: paint_alpha_clip
    functionSourceFile: /src/cairo/test/recordflip.c
    functionUses: []
    functionsReached:
    - cairo_paint_with_alpha
    - cairo_surface_finish
    - cairo_pattern_set_filter
    - cairo_test_paint_checkered
    - cairo_image_surface_create_for_data
    - cairo_get_source
    - cairo_surface_destroy
    - cairo_scale
    - cairo_clip
    - cairo_set_source_surface
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *paint_alpha_clip (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/test/recordflip.c:68,1
    - Dst: cairo_pattern_set_filter
      Src: /src/cairo/test/recordflip.c:76,1
    - Dst: cairo_test_paint_checkered
      Src: /src/cairo/test/recordflip.c:71,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/recordflip.c:75,1
    - Dst: cairo_scale
      Src: /src/cairo/test/recordflip.c:73,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/recordflip.c:76,1
    - Dst: cairo_paint_with_alpha
      Src: /src/cairo/test/recordflip.c:77,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/recordflip.c:79,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/recordflip.c:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 83
    functionName: paint_alpha
    functionSourceFile: /src/cairo/test/recordflip.c
    functionUses: []
    functionsReached:
    - cairo_paint_with_alpha
    - cairo_surface_finish
    - cairo_pattern_set_filter
    - cairo_test_paint_checkered
    - cairo_image_surface_create_for_data
    - cairo_get_source
    - cairo_surface_destroy
    - cairo_scale
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *paint_alpha (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/recordflip.c:156,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/recordflip.c:159,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/recordflip.c:161,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/recordflip.c:162,1
    - Dst: cairo_paint
      Src: /src/cairo/test/recordflip.c:157,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/recordflip.c:164,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/recordflip.c:167,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/recordflip.c:169,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/recordflip.c:172,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/recordflip.c:174,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/recordflip.c:177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 180
    functionName: select_font_face
    functionSourceFile: /src/cairo/test/recordflip.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_show_text
    - cairo_set_font_size
    - cairo_select_font_face
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *select_font_face (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_rectangle
      Src: /src/cairo/test/recordflip.c:241,1
    - Dst: cairo_fill
      Src: /src/cairo/test/recordflip.c:244,1
    - Dst: cairo_translate
      Src: /src/cairo/test/recordflip.c:247,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/recordflip.c:248,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/recordflip.c:254,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/recordflip.c:257,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/recordflip.c:249,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/recordflip.c:250,1
    - Dst: cairo_paint
      Src: /src/cairo/test/recordflip.c:232,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/recordflip.c:236,1
    - Dst: cairo_translate
      Src: /src/cairo/test/recordflip.c:234,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/recordflip.c:231,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/recordflip.c:240,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/recordflip.c:242,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/recordflip.c:252,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/recordflip.c:253,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/recordflip.c:251,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/recordflip.c:256,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/recordflip.c:239,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 260
    functionName: self_intersecting
    functionSourceFile: /src/cairo/test/recordflip.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgb
    - cairo_set_line_width
    - cairo_rel_line_to
    - cairo_close_path
    - cairo_stroke
    - cairo_fill
    - cairo_translate
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *self_intersecting (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_recording_surface_create
      Src: /src/cairo/test/recordflip.c:334,1
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/recordflip.c:335,1
    - Dst: cairo_surface_get_content
      Src: /src/cairo/test/recordflip.c:334,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/recordflip.c:334,1
    - Dst: cairo_test_create
      Src: /src/cairo/test/recordflip.c:335,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/recordflip.c:336,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 339
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 339
    functionName: record_create
    functionSourceFile: /src/cairo/test/recordflip.c
    functionUses: []
    functionsReached:
    - cairo_test_get_context
    - cairo_test_create
    - cairo_surface_destroy
    - cairo_get_target
    - cairo_surface_get_content
    - cairo_recording_surface_create
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *record_create (cairo_t *target) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay
      Src: /src/cairo/test/recordflip.c:518,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 519
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 519
    functionName: record_paint
    functionSourceFile: /src/cairo/test/recordflip.c
    functionUses: []
    functionsReached:
    - record_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_paint (cairo_t *cr, int width, int
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay
      Src: /src/cairo/test/recordflip.c:554,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 555
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 555
    functionName: record_self_intersecting
    functionSourceFile: /src/cairo/test/recordflip.c
    functionUses: []
    functionsReached:
    - record_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_self_intersecting (cairo_t *cr,
      int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay
      Src: /src/cairo/test/recordflip.c:566,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 567
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 567
    functionName: record_text_transform
    functionSourceFile: /src/cairo/test/recordflip.c
    functionUses: []
    functionsReached:
    - record_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_text_transform (cairo_t *cr, int
      width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_whole_replay
      Src: /src/cairo/test/recordflip.c:602,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 603
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 603
    functionName: record_whole_fill_alpha
    functionSourceFile: /src/cairo/test/recordflip.c
    functionUses: []
    functionsReached:
    - record_whole_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_whole_fill_alpha (cairo_t *cr, int
      width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_reference
      Src: /src/cairo/test/recordflip.c:346,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/recordflip.c:347,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/recordflip.c:346,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 350
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 350
    functionName: record_get
    functionSourceFile: /src/cairo/test/recordflip.c
    functionUses: []
    functionsReached:
    - cairo_destroy
    - cairo_surface_reference
    - cairo_get_target
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *record_get (cairo_t *target) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay
      Src: /src/cairo/test/recordflip.c:524,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 525
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 525
    functionName: record_paint_alpha
    functionSourceFile: /src/cairo/test/recordflip.c
    functionUses: []
    functionsReached:
    - record_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_paint_alpha (cairo_t *cr, int width,
      int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay
      Src: /src/cairo/test/recordflip.c:560,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 561
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 561
    functionName: record_select_font_face
    functionSourceFile: /src/cairo/test/recordflip.c
    functionUses: []
    functionsReached:
    - record_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_select_font_face (cairo_t *cr, int
      width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_whole_replay
      Src: /src/cairo/test/recordflip.c:572,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 573
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 573
    functionName: record_whole_paint
    functionSourceFile: /src/cairo/test/recordflip.c
    functionUses: []
    functionsReached:
    - record_whole_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_whole_paint (cairo_t *cr, int width,
      int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_whole_replay
      Src: /src/cairo/test/recordflip.c:608,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 609
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 609
    functionName: record_whole_self_intersecting
    functionSourceFile: /src/cairo/test/recordflip.c
    functionUses: []
    functionsReached:
    - record_whole_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_whole_self_intersecting (cairo_t
      *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/joins.c:44,1
    - Dst: cairo_new_sub_path
      Src: /src/cairo/test/joins.c:49,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/joins.c:50,1
    - Dst: cairo_scale
      Src: /src/cairo/test/joins.c:47,1
    - Dst: cairo_save
      Src: /src/cairo/test/joins.c:45,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/joins.c:51,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/joins.c:52,1
    - Dst: cairo_rotate
      Src: /src/cairo/test/joins.c:53,1
    - Dst: cairo_restore
      Src: /src/cairo/test/joins.c:55,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 57
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 57
    functionName: make_path
    functionSourceFile: /src/cairo/test/joins.c
    functionUses: []
    functionsReached:
    - cairo_line_to
    - ARRAY_LENGTH
    - cairo_save
    - cairo_scale
    - cairo_restore
    - cairo_rotate
    - cairo_new_sub_path
    - cairo_move_to
    linkageType: ''
    returnType: void
    signature: 'static void make_path (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/joins.c:75,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/joins.c:77,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/joins.c:79,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/joins.c:91,1
    - Dst: cairo_paint
      Src: /src/cairo/test/joins.c:66,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/joins.c:69,1
    - Dst: cairo_translate
      Src: /src/cairo/test/joins.c:70,1
    - Dst: cairo_translate
      Src: /src/cairo/test/joins.c:81,1
    - Dst: cairo_restore
      Src: /src/cairo/test/joins.c:93,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/joins.c:83,1
    - Dst: cairo_translate
      Src: /src/cairo/test/joins.c:87,1
    - Dst: make_path
      Src: /src/cairo/test/joins.c:84,1
    - Dst: cairo_translate
      Src: /src/cairo/test/joins.c:95,1
    - Dst: cairo_save
      Src: /src/cairo/test/joins.c:64,1
    - Dst: cairo_restore
      Src: /src/cairo/test/joins.c:67,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/joins.c:65,1
    - Dst: cairo_save
      Src: /src/cairo/test/joins.c:73,1
    - Dst: make_path
      Src: /src/cairo/test/joins.c:78,1
    - Dst: make_path
      Src: /src/cairo/test/joins.c:90,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/joins.c:89,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/joins.c:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 99
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 99
    functionName: draw
    functionSourceFile: /src/cairo/test/joins.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_line_width
    - make_path
    - cairo_save
    - cairo_set_line_join
    - cairo_stroke
    - cairo_restore
    - cairo_set_line_cap
    - cairo_set_source_rgb
    - cairo_translate
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/xcb-stress-cache.c:65,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/xcb-stress-cache.c:70,1
    - Dst: cairo_create
      Src: /src/cairo/test/xcb-stress-cache.c:67,1
    - Dst: cairo_paint
      Src: /src/cairo/test/xcb-stress-cache.c:68,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/xcb-stress-cache.c:69,1
    - Dst: cairo_fill
      Src: /src/cairo/test/xcb-stress-cache.c:71,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/xcb-stress-cache.c:72,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/xcb-stress-cache.c:73,1
    - Dst: cairo_fill
      Src: /src/cairo/test/xcb-stress-cache.c:74,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/xcb-stress-cache.c:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 78
    functionName: create_image
    functionSourceFile: /src/cairo/test/xcb-stress-cache.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_create
    - cairo_image_surface_create
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_destroy
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *create_image (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dirty_cache
      Src: /src/cairo/test/xcb-stress-cache.c:105,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/xcb-stress-cache.c:107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 110
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 110
    functionName: draw
    functionSourceFile: /src/cairo/test/xcb-stress-cache.c
    functionUses: []
    functionsReached:
    - dirty_cache
    - cairo_surface_destroy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_image
      Src: /src/cairo/test/xcb-stress-cache.c:86,1
    - Dst: cairo_mask_surface
      Src: /src/cairo/test/xcb-stress-cache.c:91,1
    - Dst: create_image
      Src: /src/cairo/test/xcb-stress-cache.c:90,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/xcb-stress-cache.c:88,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/xcb-stress-cache.c:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 94
    functionName: dirty_cache
    functionSourceFile: /src/cairo/test/xcb-stress-cache.c
    functionUses: []
    functionsReached:
    - cairo_surface_destroy
    - cairo_mask_surface
    - create_image
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *dirty_cache (cairo_t *cr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/extended-blend.c:59,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/extended-blend.c:61,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - cr
    - step
    - bg
    - alpha
    argTypes:
    - cairo_t*
    - int
    - cairo_bool_t
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 62
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 62
    functionName: set_solid_pattern
    functionSourceFile: /src/cairo/test/extended-blend.c
    functionUses: []
    functionsReached:
    - cairo_set_source_rgba
    linkageType: ''
    returnType: void
    signature: "static void set_solid_pattern (cairo_t *cr,\t\t int step,\t\t cairo_bool_t\
      \ bg,\t\t cairo_bool_t alpha) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_patterns
      Src: /src/cairo/test/extended-blend.c:125,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/extended-blend.c:128,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/extended-blend.c:131,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/extended-blend.c:127,1
    - Dst: cairo_paint
      Src: /src/cairo/test/extended-blend.c:129,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/extended-blend.c:132,1
    - Dst: cairo_paint
      Src: /src/cairo/test/extended-blend.c:133,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/extended-blend.c:135,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/extended-blend.c:136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - cr
    - op
    - alpha
    argTypes:
    - cairo_t*
    - cairo_operator_t
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 137
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 137
    functionName: do_blend
    functionSourceFile: /src/cairo/test/extended-blend.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_surface_destroy
    - cairo_set_operator
    - create_patterns
    - cairo_set_source_surface
    linkageType: ''
    returnType: void
    signature: 'static void do_blend (cairo_t *cr, cairo_operator_t op, cairo_bool_t
      alpha) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_patterns
      Src: /src/cairo/test/extended-blend.c:144,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/extended-blend.c:147,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/extended-blend.c:150,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/extended-blend.c:146,1
    - Dst: cairo_paint
      Src: /src/cairo/test/extended-blend.c:148,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/extended-blend.c:151,1
    - Dst: cairo_paint_with_alpha
      Src: /src/cairo/test/extended-blend.c:152,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/extended-blend.c:154,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/extended-blend.c:155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - cr
    - op
    - alpha
    argTypes:
    - cairo_t*
    - cairo_operator_t
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 156
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 156
    functionName: do_blend_mask
    functionSourceFile: /src/cairo/test/extended-blend.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_paint_with_alpha
    - cairo_surface_destroy
    - cairo_set_operator
    - create_patterns
    - cairo_set_source_surface
    linkageType: ''
    returnType: void
    signature: 'static void do_blend_mask (cairo_t *cr, cairo_operator_t op, cairo_bool_t
      alpha) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw
      Src: /src/cairo/test/extended-blend.c:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 181
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 181
    functionName: draw_extended_blend
    functionSourceFile: /src/cairo/test/extended-blend.c
    functionUses: []
    functionsReached:
    - draw
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_extended_blend (cairo_t *cr, int width,
      int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw
      Src: /src/cairo/test/extended-blend.c:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: draw_extended_blend_solid
    functionSourceFile: /src/cairo/test/extended-blend.c
    functionUses: []
    functionsReached:
    - draw
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_extended_blend_solid (cairo_t *cr,
      int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw
      Src: /src/cairo/test/extended-blend.c:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 205
    functionName: draw_extended_blend_mask
    functionSourceFile: /src/cairo/test/extended-blend.c
    functionUses: []
    functionsReached:
    - draw
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_extended_blend_mask (cairo_t *cr,
      int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/test/extended-blend.c:166,1
    - Dst: cairo_translate
      Src: /src/cairo/test/extended-blend.c:167,1
    - Dst: cairo_restore
      Src: /src/cairo/test/extended-blend.c:171,1
    - Dst: blend
      Src: /src/cairo/test/extended-blend.c:170,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - cr
    - alpha
    - (*blend)
    argTypes:
    - cairo_t*
    - cairo_bool_t
    - void
    constantsTouched: []
    func_position:
      end: 175
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 175
    functionName: draw
    functionSourceFile: /src/cairo/test/extended-blend.c
    functionUses: []
    functionsReached:
    - blend
    - cairo_restore
    - cairo_save
    - cairo_translate
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, cairo_bool_t alpha,
      void (*blend)(cairo_t *, cairo_operator_t, cairo_bool_t)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw
      Src: /src/cairo/test/extended-blend.c:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: draw_extended_blend_alpha
    functionSourceFile: /src/cairo/test/extended-blend.c
    functionUses: []
    functionsReached:
    - draw
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_extended_blend_alpha (cairo_t *cr,
      int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw
      Src: /src/cairo/test/extended-blend.c:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: draw_extended_blend_solid_alpha
    functionSourceFile: /src/cairo/test/extended-blend.c
    functionUses: []
    functionsReached:
    - draw
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_extended_blend_solid_alpha (cairo_t
      *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw
      Src: /src/cairo/test/extended-blend.c:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 210
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 210
    functionName: draw_extended_blend_alpha_mask
    functionSourceFile: /src/cairo/test/extended-blend.c
    functionUses: []
    functionsReached:
    - draw
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_extended_blend_alpha_mask (cairo_t
      *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/test/extended-blend.c:70,1
    - Dst: set_solid_pattern
      Src: /src/cairo/test/extended-blend.c:76,1
    - Dst: cairo_scale
      Src: /src/cairo/test/extended-blend.c:71,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/extended-blend.c:77,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/extended-blend.c:73,1
    - Dst: cairo_fill
      Src: /src/cairo/test/extended-blend.c:78,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/extended-blend.c:81,1
    - Dst: set_solid_pattern
      Src: /src/cairo/test/extended-blend.c:84,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/extended-blend.c:85,1
    - Dst: cairo_fill
      Src: /src/cairo/test/extended-blend.c:86,1
    - Dst: cairo_restore
      Src: /src/cairo/test/extended-blend.c:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - cr
    - op
    - alpha
    argTypes:
    - cairo_t*
    - cairo_operator_t
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 90
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 90
    functionName: do_blend_solid
    functionSourceFile: /src/cairo/test/extended-blend.c
    functionUses: []
    functionsReached:
    - cairo_save
    - set_solid_pattern
    - cairo_scale
    - cairo_restore
    - cairo_set_operator
    - cairo_fill
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void do_blend_solid (cairo_t *cr, cairo_operator_t op, cairo_bool_t
      alpha) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/extended-blend.c:100,1
    - Dst: cairo_create
      Src: /src/cairo/test/extended-blend.c:109,1
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/extended-blend.c:104,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/extended-blend.c:104,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/extended-blend.c:100,1
    - Dst: cairo_create
      Src: /src/cairo/test/extended-blend.c:110,1
    - Dst: do_blend_solid
      Src: /src/cairo/test/extended-blend.c:112,1
    - Dst: do_blend_solid
      Src: /src/cairo/test/extended-blend.c:113,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/extended-blend.c:115,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/extended-blend.c:116,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 4
    argNames:
    - cr
    - bg
    - fg
    - alpha
    argTypes:
    - cairo_t*
    - cairo_surface_t**
    - cairo_surface_t**
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 117
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 117
    functionName: create_patterns
    functionSourceFile: /src/cairo/test/extended-blend.c
    functionUses: []
    functionsReached:
    - cairo_create
    - do_blend_solid
    - cairo_get_target
    - cairo_destroy
    - cairo_surface_create_similar
    linkageType: ''
    returnType: void
    signature: "static void create_patterns (cairo_t *cr,\t\t cairo_surface_t **bg,\t\
      \t cairo_surface_t **fg,\t\t cairo_bool_t alpha) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_init_identity
      Src: /src/cairo/test/leaks.c:38,1
    - Dst: cairo_get_font_face
      Src: /src/cairo/test/leaks.c:43,1
    - Dst: cairo_font_options_create
      Src: /src/cairo/test/leaks.c:40,1
    - Dst: cairo_scaled_font_create
      Src: /src/cairo/test/leaks.c:43,1
    - Dst: cairo_font_options_set_custom_palette_color
      Src: /src/cairo/test/leaks.c:41,1
    - Dst: cairo_set_scaled_font
      Src: /src/cairo/test/leaks.c:45,1
    - Dst: cairo_font_options_destroy
      Src: /src/cairo/test/leaks.c:47,1
    - Dst: cairo_scaled_font_destroy
      Src: /src/cairo/test/leaks.c:48,1
    - Dst: cairo_paint
      Src: /src/cairo/test/leaks.c:51,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 54
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 54
    functionName: leaks_set_scaled_font
    functionSourceFile: /src/cairo/test/leaks.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_get_font_face
    - cairo_scaled_font_destroy
    - cairo_font_options_destroy
    - cairo_font_options_create
    - cairo_scaled_font_create
    - cairo_set_scaled_font
    - cairo_matrix_init_identity
    - cairo_font_options_set_custom_palette_color
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t leaks_set_scaled_font (cairo_t *cr, int
      width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/device-offset-scale.c:37,1
    - Dst: cairo_scale
      Src: /src/cairo/test/device-offset-scale.c:40,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/device-offset-scale.c:43,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/device-offset-scale.c:44,1
    - Dst: cairo_paint
      Src: /src/cairo/test/device-offset-scale.c:38,1
    - Dst: cairo_fill
      Src: /src/cairo/test/device-offset-scale.c:45,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/device-offset-scale.c:48,1
    - Dst: cairo_surface_set_device_offset
      Src: /src/cairo/test/device-offset-scale.c:49,1
    - Dst: cairo_create
      Src: /src/cairo/test/device-offset-scale.c:54,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/device-offset-scale.c:55,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/device-offset-scale.c:56,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/device-offset-scale.c:62,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/device-offset-scale.c:60,1
    - Dst: cairo_fill
      Src: /src/cairo/test/device-offset-scale.c:57,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/device-offset-scale.c:61,1
    - Dst: cairo_mask_surface
      Src: /src/cairo/test/device-offset-scale.c:61,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 65
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 65
    functionName: draw
    functionSourceFile: /src/cairo/test/device-offset-scale.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_mask_surface
    - cairo_create
    - cairo_surface_destroy
    - cairo_scale
    - cairo_image_surface_create
    - cairo_surface_set_device_offset
    - cairo_get_target
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_destroy
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record.c:169,1
    - Dst: cairo_paint
      Src: /src/cairo/test/record.c:170,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/record.c:175,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/record.c:174,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record.c:172,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/record.c:177,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/record.c:180,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/record.c:182,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/record.c:185,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/record.c:187,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/record.c:190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 193
    functionName: select_font_face
    functionSourceFile: /src/cairo/test/record.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_show_text
    - cairo_set_font_size
    - cairo_select_font_face
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *select_font_face (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record.c:244,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/record.c:254,1
    - Dst: cairo_fill
      Src: /src/cairo/test/record.c:257,1
    - Dst: cairo_translate
      Src: /src/cairo/test/record.c:260,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/record.c:265,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/record.c:270,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/record.c:261,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/record.c:267,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/record.c:262,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/record.c:263,1
    - Dst: cairo_translate
      Src: /src/cairo/test/record.c:247,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/record.c:252,1
    - Dst: cairo_paint
      Src: /src/cairo/test/record.c:245,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/record.c:264,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/record.c:253,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/record.c:255,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/record.c:266,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/record.c:269,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record.c:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 273
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 273
    functionName: self_intersecting
    functionSourceFile: /src/cairo/test/record.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgb
    - cairo_set_line_width
    - cairo_rel_line_to
    - cairo_close_path
    - cairo_stroke
    - cairo_fill
    - cairo_translate
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *self_intersecting (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_reference
      Src: /src/cairo/test/record.c:359,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/record.c:360,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/record.c:359,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 363
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 363
    functionName: record_get
    functionSourceFile: /src/cairo/test/record.c
    functionUses: []
    functionsReached:
    - cairo_destroy
    - cairo_surface_reference
    - cairo_get_target
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *record_get (cairo_t *target) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay
      Src: /src/cairo/test/record.c:397,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 398
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 398
    functionName: record_paint
    functionSourceFile: /src/cairo/test/record.c
    functionUses: []
    functionsReached:
    - record_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_paint (cairo_t *cr, int width, int
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay
      Src: /src/cairo/test/record.c:409,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 410
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 410
    functionName: record_paint_alpha_solid_clip
    functionSourceFile: /src/cairo/test/record.c
    functionUses: []
    functionsReached:
    - record_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_paint_alpha_solid_clip (cairo_t
      *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay
      Src: /src/cairo/test/record.c:433,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 434
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 434
    functionName: record_self_intersecting
    functionSourceFile: /src/cairo/test/record.c
    functionUses: []
    functionsReached:
    - record_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_self_intersecting (cairo_t *cr,
      int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_paint
      Src: /src/cairo/test/record.c:203,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/record.c:207,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/record.c:227,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/record.c:235,1
    - Dst: cairo_arc
      Src: /src/cairo/test/record.c:212,1
    - Dst: cairo_fill
      Src: /src/cairo/test/record.c:214,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/record.c:219,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/record.c:221,1
    - Dst: cairo_translate
      Src: /src/cairo/test/record.c:225,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/record.c:218,1
    - Dst: cairo_fill
      Src: /src/cairo/test/record.c:208,1
    - Dst: cairo_translate
      Src: /src/cairo/test/record.c:217,1
    - Dst: cos
      Src: /src/cairo/test/record.c:228,1
    - Dst: cos
      Src: /src/cairo/test/record.c:232,1
    - Dst: sin
      Src: /src/cairo/test/record.c:233,1
    - Dst: cairo_fill
      Src: /src/cairo/test/record.c:236,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record.c:202,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/record.c:206,1
    - Dst: cairo_translate
      Src: /src/cairo/test/record.c:211,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/record.c:213,1
    - Dst: sin
      Src: /src/cairo/test/record.c:229,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/record.c:220,1
    - Dst: cairo_fill
      Src: /src/cairo/test/record.c:222,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/record.c:231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 76
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 239
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 239
    functionName: fill_alpha
    functionSourceFile: /src/cairo/test/record.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgba
    - cairo_line_to
    - cairo_arc
    - cos
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_translate
    - sin
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *fill_alpha (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_init
      Src: /src/cairo/test/record.c:281,1
    - Dst: cairo_set_font_matrix
      Src: /src/cairo/test/record.c:285,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/test/record.c:284,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/record.c:287,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/record.c:288,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/record.c:289,1
    - Dst: cairo_matrix_init_rotate
      Src: /src/cairo/test/record.c:292,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/test/record.c:293,1
    - Dst: cairo_set_font_matrix
      Src: /src/cairo/test/record.c:294,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/record.c:296,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/record.c:298,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/test/record.c:301,1
    - Dst: cairo_set_font_matrix
      Src: /src/cairo/test/record.c:302,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/record.c:297,1
    - Dst: cairo_new_path
      Src: /src/cairo/test/record.c:304,1
    - Dst: cairo_matrix_init_rotate
      Src: /src/cairo/test/record.c:300,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/record.c:305,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/record.c:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 307
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 307
    functionName: draw_text_transform
    functionSourceFile: /src/cairo/test/record.c
    functionUses: []
    functionsReached:
    - cairo_matrix_scale
    - cairo_show_text
    - cairo_new_path
    - cairo_set_font_matrix
    - cairo_matrix_init_rotate
    - cairo_move_to
    - cairo_matrix_init
    linkageType: ''
    returnType: void
    signature: 'static void draw_text_transform (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/cairo/test/record.c:372,1
    - Dst: record_create
      Src: /src/cairo/test/record.c:374,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/record.c:376,1
    - Dst: record_get
      Src: /src/cairo/test/record.c:374,1
    - Dst: func
      Src: /src/cairo/test/record.c:374,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/record.c:377,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/record.c:378,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/record.c:379,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/record.c:379,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/record.c:383,1
    - Dst: cairo_reset_clip
      Src: /src/cairo/test/record.c:386,1
    - Dst: cairo_paint
      Src: /src/cairo/test/record.c:385,1
    - Dst: cairo_clip
      Src: /src/cairo/test/record.c:384,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 4
    argNames:
    - cr
    - (*func)
    - width
    - height
    argTypes:
    - cairo_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 392
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 392
    functionName: record_replay
    functionSourceFile: /src/cairo/test/record.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - func
    - cairo_get_source
    - record_create
    - record_get
    - cairo_surface_destroy
    - cairo_pattern_set_extend
    - cairo_set_operator
    - cairo_clip
    - cairo_reset_clip
    - cairo_set_source_surface
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_replay (cairo_t *cr, cairo_t *(*func)(cairo_t
      *), int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay
      Src: /src/cairo/test/record.c:403,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 404
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 404
    functionName: record_paint_alpha
    functionSourceFile: /src/cairo/test/record.c
    functionUses: []
    functionsReached:
    - record_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_paint_alpha (cairo_t *cr, int width,
      int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay
      Src: /src/cairo/test/record.c:415,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 416
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 416
    functionName: record_paint_alpha_clip
    functionSourceFile: /src/cairo/test/record.c
    functionUses: []
    functionsReached:
    - record_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_paint_alpha_clip (cairo_t *cr, int
      width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay
      Src: /src/cairo/test/record.c:439,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 440
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 440
    functionName: record_select_font_face
    functionSourceFile: /src/cairo/test/record.c
    functionUses: []
    functionsReached:
    - record_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_select_font_face (cairo_t *cr, int
      width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/test/record.c:72,1
    - Dst: cairo_scale
      Src: /src/cairo/test/record.c:80,1
    - Dst: cairo_surface_set_mime_data
      Src: /src/cairo/test/record.c:74,1
    - Dst: strlen
      Src: /src/cairo/test/record.c:75,1
    - Dst: cairo_test_paint_checkered
      Src: /src/cairo/test/record.c:78,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/record.c:82,1
    - Dst: cairo_pattern_set_filter
      Src: /src/cairo/test/record.c:83,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/record.c:83,1
    - Dst: cairo_paint_with_alpha
      Src: /src/cairo/test/record.c:84,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/record.c:86,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/record.c:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 90
    functionName: paint_alpha
    functionSourceFile: /src/cairo/test/record.c
    functionUses: []
    functionsReached:
    - cairo_paint_with_alpha
    - strlen
    - cairo_pattern_set_filter
    - cairo_surface_finish
    - cairo_test_paint_checkered
    - cairo_image_surface_create_for_data
    - cairo_get_source
    - cairo_surface_destroy
    - cairo_scale
    - cairo_surface_set_mime_data
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *paint_alpha (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record.c:55,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record.c:61,1
    - Dst: cairo_paint
      Src: /src/cairo/test/record.c:56,1
    - Dst: cairo_scale
      Src: /src/cairo/test/record.c:59,1
    - Dst: cairo_translate
      Src: /src/cairo/test/record.c:58,1
    - Dst: cairo_paint
      Src: /src/cairo/test/record.c:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 65
    functionName: paint
    functionSourceFile: /src/cairo/test/record.c
    functionUses: []
    functionsReached:
    - cairo_translate
    - cairo_paint
    - cairo_scale
    - cairo_set_source_rgb
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *paint (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_paint_checkered
      Src: /src/cairo/test/record.c:95,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/record.c:97,1
    - Dst: cairo_paint_with_alpha
      Src: /src/cairo/test/record.c:101,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record.c:100,1
    - Dst: cairo_clip
      Src: /src/cairo/test/record.c:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 104
    functionName: paint_alpha_solid_clip
    functionSourceFile: /src/cairo/test/record.c
    functionUses: []
    functionsReached:
    - cairo_paint_with_alpha
    - cairo_test_paint_checkered
    - cairo_set_source_rgb
    - cairo_clip
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *paint_alpha_solid_clip (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay
      Src: /src/cairo/test/record.c:421,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 422
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 422
    functionName: record_paint_alpha_clip_mask
    functionSourceFile: /src/cairo/test/record.c
    functionUses: []
    functionsReached:
    - record_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_paint_alpha_clip_mask (cairo_t *cr,
      int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay
      Src: /src/cairo/test/record.c:427,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 428
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 428
    functionName: record_fill_alpha
    functionSourceFile: /src/cairo/test/record.c
    functionUses: []
    functionsReached:
    - record_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_fill_alpha (cairo_t *cr, int width,
      int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/test/record.c:111,1
    - Dst: cairo_surface_set_mime_data
      Src: /src/cairo/test/record.c:113,1
    - Dst: cairo_test_paint_checkered
      Src: /src/cairo/test/record.c:117,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/record.c:119,1
    - Dst: strlen
      Src: /src/cairo/test/record.c:114,1
    - Dst: cairo_clip
      Src: /src/cairo/test/record.c:120,1
    - Dst: cairo_scale
      Src: /src/cairo/test/record.c:122,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/record.c:124,1
    - Dst: cairo_pattern_set_filter
      Src: /src/cairo/test/record.c:125,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/record.c:125,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/record.c:129,1
    - Dst: cairo_paint_with_alpha
      Src: /src/cairo/test/record.c:126,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/record.c:128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 132
    functionName: paint_alpha_clip
    functionSourceFile: /src/cairo/test/record.c
    functionUses: []
    functionsReached:
    - cairo_paint_with_alpha
    - strlen
    - cairo_pattern_set_filter
    - cairo_surface_finish
    - cairo_test_paint_checkered
    - cairo_image_surface_create_for_data
    - cairo_get_source
    - cairo_surface_destroy
    - cairo_scale
    - cairo_surface_set_mime_data
    - cairo_clip
    - cairo_set_source_surface
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *paint_alpha_clip (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_recording_surface_create
      Src: /src/cairo/test/record.c:347,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/record.c:347,1
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/record.c:348,1
    - Dst: cairo_surface_get_content
      Src: /src/cairo/test/record.c:347,1
    - Dst: cairo_test_create
      Src: /src/cairo/test/record.c:348,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/record.c:349,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 352
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 352
    functionName: record_create
    functionSourceFile: /src/cairo/test/record.c
    functionUses: []
    functionsReached:
    - cairo_test_get_context
    - cairo_test_create
    - cairo_surface_destroy
    - cairo_get_target
    - cairo_surface_get_content
    - cairo_recording_surface_create
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *record_create (cairo_t *target) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_replay
      Src: /src/cairo/test/record.c:445,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 446
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 446
    functionName: record_text_transform
    functionSourceFile: /src/cairo/test/record.c
    functionUses: []
    functionsReached:
    - record_replay
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t record_text_transform (cairo_t *cr, int
      width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/test/record.c:139,1
    - Dst: strlen
      Src: /src/cairo/test/record.c:142,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/record.c:147,1
    - Dst: cairo_test_paint_checkered
      Src: /src/cairo/test/record.c:145,1
    - Dst: cairo_surface_set_mime_data
      Src: /src/cairo/test/record.c:141,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/record.c:148,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/record.c:149,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/record.c:150,1
    - Dst: cairo_clip
      Src: /src/cairo/test/record.c:151,1
    - Dst: cairo_scale
      Src: /src/cairo/test/record.c:153,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/record.c:159,1
    - Dst: cairo_pattern_set_filter
      Src: /src/cairo/test/record.c:156,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/record.c:160,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/record.c:155,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/record.c:156,1
    - Dst: cairo_paint_with_alpha
      Src: /src/cairo/test/record.c:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 163
    functionName: paint_alpha_clip_mask
    functionSourceFile: /src/cairo/test/record.c
    functionUses: []
    functionsReached:
    - cairo_paint_with_alpha
    - strlen
    - cairo_pattern_set_filter
    - cairo_line_to
    - cairo_surface_finish
    - cairo_test_paint_checkered
    - cairo_image_surface_create_for_data
    - cairo_get_source
    - cairo_surface_destroy
    - cairo_scale
    - cairo_surface_set_mime_data
    - cairo_clip
    - cairo_move_to
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *paint_alpha_clip_mask (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/record.c:312,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record.c:318,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/record.c:315,1
    - Dst: cairo_paint
      Src: /src/cairo/test/record.c:316,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/record.c:320,1
    - Dst: draw_text_transform
      Src: /src/cairo/test/record.c:324,1
    - Dst: cairo_translate
      Src: /src/cairo/test/record.c:326,1
    - Dst: cairo_rotate
      Src: /src/cairo/test/record.c:327,1
    - Dst: cairo_test_create_pattern_from_png
      Src: /src/cairo/test/record.c:329,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/record.c:330,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/record.c:331,1
    - Dst: draw_text_transform
      Src: /src/cairo/test/record.c:334,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/record.c:332,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 337
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 337
    functionName: text_transform
    functionSourceFile: /src/cairo/test/record.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - draw_text_transform
    - cairo_test_get_context
    - cairo_pattern_set_extend
    - cairo_set_source
    - cairo_test_create_pattern_from_png
    - cairo_select_font_face
    - cairo_rotate
    - cairo_set_source_rgb
    - cairo_translate
    - cairo_pattern_destroy
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *text_transform (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_close_path
      Src: /src/cairo/test/over-around-source.c:48,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/over-around-source.c:51,1
    - Dst: cairo_fill
      Src: /src/cairo/test/over-around-source.c:72,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/over-around-source.c:69,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/over-around-source.c:65,1
    - Dst: cairo_arc
      Src: /src/cairo/test/over-around-source.c:56,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/over-around-source.c:64,1
    - Dst: cairo_fill
      Src: /src/cairo/test/over-around-source.c:61,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/over-around-source.c:46,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/over-around-source.c:47,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/over-around-source.c:50,1
    - Dst: cairo_fill
      Src: /src/cairo/test/over-around-source.c:53,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/over-around-source.c:66,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/over-around-source.c:70,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/over-around-source.c:67,1
    - Dst: cairo_translate
      Src: /src/cairo/test/over-around-source.c:42,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/over-around-source.c:45,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/over-around-source.c:58,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/over-around-source.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 36
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 75
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 75
    functionName: draw
    functionSourceFile: /src/cairo/test/over-around-source.c
    functionUses: []
    functionsReached:
    - cairo_set_source_rgba
    - cairo_rel_line_to
    - cairo_arc
    - cairo_close_path
    - cairo_set_operator
    - cairo_fill
    - cairo_translate
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_create
      Src: /src/cairo/test/rel-path.c:32,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/rel-path.c:35,1
    - Dst: cairo_rel_move_to
      Src: /src/cairo/test/rel-path.c:33,1
    - Dst: cairo_status
      Src: /src/cairo/test/rel-path.c:34,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - target
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 38
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 38
    functionName: invalid_rel_move_to
    functionSourceFile: /src/cairo/test/rel-path.c
    functionUses: []
    functionsReached:
    - cairo_destroy
    - cairo_status
    - cairo_create
    - cairo_rel_move_to
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t invalid_rel_move_to (cairo_surface_t *target) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_log
      Src: /src/cairo/test/rel-path.c:95,1
    - Dst: invalid_rel_curve_to
      Src: /src/cairo/test/rel-path.c:99,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/rel-path.c:110,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/rel-path.c:118,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/rel-path.c:109,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rel-path.c:112,1
    - Dst: invalid_rel_move_to
      Src: /src/cairo/test/rel-path.c:79,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/rel-path.c:85,1
    - Dst: invalid_rel_line_to
      Src: /src/cairo/test/rel-path.c:89,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/rel-path.c:101,1
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/rel-path.c:74,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/rel-path.c:91,1
    - Dst: cairo_rel_move_to
      Src: /src/cairo/test/rel-path.c:111,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/rel-path.c:99,1
    - Dst: cairo_rel_curve_to
      Src: /src/cairo/test/rel-path.c:113,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/rel-path.c:79,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/rel-path.c:81,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/rel-path.c:89,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/rel-path.c:105,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 47
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 121
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 121
    functionName: draw
    functionSourceFile: /src/cairo/test/rel-path.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - cairo_rel_curve_to
    - invalid_rel_move_to
    - invalid_rel_line_to
    - cairo_rel_move_to
    - cairo_test_status_from_status
    - cairo_test_get_context
    - cairo_rel_line_to
    - cairo_stroke
    - cairo_get_target
    - cairo_set_source_rgb
    - cairo_move_to
    - invalid_rel_curve_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_create
      Src: /src/cairo/test/rel-path.c:60,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/rel-path.c:66,1
    - Dst: cairo_rel_curve_to
      Src: /src/cairo/test/rel-path.c:61,1
    - Dst: cairo_status
      Src: /src/cairo/test/rel-path.c:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - target
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 69
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 69
    functionName: invalid_rel_curve_to
    functionSourceFile: /src/cairo/test/rel-path.c
    functionUses: []
    functionsReached:
    - cairo_rel_curve_to
    - cairo_status
    - cairo_create
    - cairo_destroy
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t invalid_rel_curve_to (cairo_surface_t *target) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_create
      Src: /src/cairo/test/rel-path.c:46,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/rel-path.c:47,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/rel-path.c:49,1
    - Dst: cairo_status
      Src: /src/cairo/test/rel-path.c:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - target
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 52
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 52
    functionName: invalid_rel_line_to
    functionSourceFile: /src/cairo/test/rel-path.c
    functionUses: []
    functionsReached:
    - cairo_destroy
    - cairo_rel_line_to
    - cairo_status
    - cairo_create
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t invalid_rel_line_to (cairo_surface_t *target) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_paint_checkered
      Src: /src/cairo/test/degenerate-linear-gradient.c:47,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/degenerate-linear-gradient.c:52,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/degenerate-linear-gradient.c:51,1
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/test/degenerate-linear-gradient.c:49,1
    - Dst: sqrt
      Src: /src/cairo/test/degenerate-linear-gradient.c:52,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/degenerate-linear-gradient.c:53,1
    - Dst: cairo_translate
      Src: /src/cairo/test/degenerate-linear-gradient.c:55,1
    - Dst: cairo_reset_clip
      Src: /src/cairo/test/degenerate-linear-gradient.c:58,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/degenerate-linear-gradient.c:59,1
    - Dst: cairo_clip
      Src: /src/cairo/test/degenerate-linear-gradient.c:60,1
    - Dst: cairo_translate
      Src: /src/cairo/test/degenerate-linear-gradient.c:67,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/degenerate-linear-gradient.c:62,1
    - Dst: cairo_paint
      Src: /src/cairo/test/degenerate-linear-gradient.c:65,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/degenerate-linear-gradient.c:70,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/degenerate-linear-gradient.c:64,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 73
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 73
    functionName: draw
    functionSourceFile: /src/cairo/test/degenerate-linear-gradient.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_pattern_create_linear
    - cairo_test_paint_checkered
    - sqrt
    - cairo_pattern_set_extend
    - cairo_set_source
    - cairo_pattern_add_color_stop_rgba
    - cairo_translate
    - cairo_clip
    - cairo_reset_clip
    - cairo_pattern_destroy
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strtod
      Src: /src/cairo/test/cairo-test.h:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 101
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 101
    functionName: cairo_test_NaN
    functionSourceFile: /src/cairo/test/cairo-test.h
    functionUses: []
    functionsReached:
    - strtod
    linkageType: ''
    returnType: double
    signature: 'static inline double cairo_test_NaN (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/surface-finish-twice.c:47,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/surface-finish-twice.c:51,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/surface-finish-twice.c:54,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/surface-finish-twice.c:53,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/surface-finish-twice.c:56,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/surface-finish-twice.c:58,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/surface-finish-twice.c:59,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/surface-finish-twice.c:61,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/surface-finish-twice.c:63,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/surface-finish-twice.c:64,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/surface-finish-twice.c:66,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/surface-finish-twice.c:68,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 71
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 71
    functionName: draw
    functionSourceFile: /src/cairo/test/surface-finish-twice.c
    functionUses: []
    functionsReached:
    - cairo_surface_finish
    - cairo_test_status_from_status
    - cairo_test_get_context
    - cairo_surface_status
    - cairo_surface_destroy
    - cairo_image_surface_create
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_NaN
      Src: /src/cairo/test/invalid-matrix.c:72,1
    - Dst: CHECK_STATUS
      Src: /src/cairo/test/invalid-matrix.c:122,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/invalid-matrix.c:137,1
    - Dst: cairo_scaled_font_status
      Src: /src/cairo/test/invalid-matrix.c:184,1
    - Dst: cairo_create
      Src: /src/cairo/test/invalid-matrix.c:279,1
    - Dst: cairo_translate
      Src: /src/cairo/test/invalid-matrix.c:280,1
    - Dst: CHECK_STATUS
      Src: /src/cairo/test/invalid-matrix.c:342,1
    - Dst: cairo_scaled_font_create
      Src: /src/cairo/test/invalid-matrix.c:189,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/invalid-matrix.c:168,1
    - Dst: cairo_status
      Src: /src/cairo/test/invalid-matrix.c:120,1
    - Dst: CHECK_STATUS
      Src: /src/cairo/test/invalid-matrix.c:130,1
    - Dst: cairo_font_options_create
      Src: /src/cairo/test/invalid-matrix.c:178,1
    - Dst: cairo_scaled_font_status
      Src: /src/cairo/test/invalid-matrix.c:218,1
    - Dst: CHECK_STATUS
      Src: /src/cairo/test/invalid-matrix.c:296,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/invalid-matrix.c:297,1
    - Dst: cairo_scale
      Src: /src/cairo/test/invalid-matrix.c:326,1
    - Dst: cairo_create
      Src: /src/cairo/test/invalid-matrix.c:330,1
    - Dst: cairo_create
      Src: /src/cairo/test/invalid-matrix.c:142,1
    - Dst: CHECK_STATUS
      Src: /src/cairo/test/invalid-matrix.c:150,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/invalid-matrix.c:198,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/test/invalid-matrix.c:83,1
    - Dst: cairo_get_group_target
      Src: /src/cairo/test/invalid-matrix.c:89,1
    - Dst: cairo_status
      Src: /src/cairo/test/invalid-matrix.c:111,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/invalid-matrix.c:121,1
    - Dst: cairo_set_matrix
      Src: /src/cairo/test/invalid-matrix.c:134,1
    - Dst: CHECK_STATUS
      Src: /src/cairo/test/invalid-matrix.c:219,1
    - Dst: cairo_scaled_font_destroy
      Src: /src/cairo/test/invalid-matrix.c:221,1
    - Dst: cairo_pattern_create_rgb
      Src: /src/cairo/test/invalid-matrix.c:266,1
    - Dst: cairo_translate
      Src: /src/cairo/test/invalid-matrix.c:300,1
    - Dst: fedisableexcept
      Src: /src/cairo/test/invalid-matrix.c:68,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/invalid-matrix.c:129,1
    - Dst: cairo_set_font_matrix
      Src: /src/cairo/test/invalid-matrix.c:143,1
    - Dst: cairo_status
      Src: /src/cairo/test/invalid-matrix.c:148,1
    - Dst: cairo_create
      Src: /src/cairo/test/invalid-matrix.c:226,1
    - Dst: CHECK_STATUS
      Src: /src/cairo/test/invalid-matrix.c:235,1
    - Dst: cairo_scaled_font_destroy
      Src: /src/cairo/test/invalid-matrix.c:237,1
    - Dst: CHECK_STATUS
      Src: /src/cairo/test/invalid-matrix.c:291,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/invalid-matrix.c:292,1
    - Dst: cairo_create
      Src: /src/cairo/test/invalid-matrix.c:305,1
    - Dst: CHECK_STATUS
      Src: /src/cairo/test/invalid-matrix.c:332,1
    - Dst: cairo_create
      Src: /src/cairo/test/invalid-matrix.c:284,1
    - Dst: cairo_scale
      Src: /src/cairo/test/invalid-matrix.c:306,1
    - Dst: cairo_scaled_font_destroy
      Src: /src/cairo/test/invalid-matrix.c:196,1
    - Dst: cairo_create
      Src: /src/cairo/test/invalid-matrix.c:176,1
    - Dst: CHECK_STATUS
      Src: /src/cairo/test/invalid-matrix.c:194,1
    - Dst: cairo_scaled_font_status
      Src: /src/cairo/test/invalid-matrix.c:234,1
    - Dst: CHECK_STATUS
      Src: /src/cairo/test/invalid-matrix.c:276,1
    - Dst: cairo_create
      Src: /src/cairo/test/invalid-matrix.c:289,1
    - Dst: cairo_create
      Src: /src/cairo/test/invalid-matrix.c:310,1
    - Dst: cairo_scale
      Src: /src/cairo/test/invalid-matrix.c:311,1
    - Dst: CHECK_STATUS
      Src: /src/cairo/test/invalid-matrix.c:337,1
    - Dst: CHECK_STATUS
      Src: /src/cairo/test/invalid-matrix.c:347,1
    - Dst: feclearexcept
      Src: /src/cairo/test/invalid-matrix.c:362,1
    - Dst: cairo_rotate
      Src: /src/cairo/test/invalid-matrix.c:352,1
    - Dst: CHECK_STATUS
      Src: /src/cairo/test/invalid-matrix.c:262,1
    - Dst: cairo_scale
      Src: /src/cairo/test/invalid-matrix.c:341,1
    - Dst: cairo_create
      Src: /src/cairo/test/invalid-matrix.c:345,1
    - Dst: cairo_create
      Src: /src/cairo/test/invalid-matrix.c:201,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/invalid-matrix.c:157,1
    - Dst: CHECK_STATUS
      Src: /src/cairo/test/invalid-matrix.c:210,1
    - Dst: cairo_scaled_font_destroy
      Src: /src/cairo/test/invalid-matrix.c:212,1
    - Dst: cairo_font_options_create
      Src: /src/cairo/test/invalid-matrix.c:228,1
    - Dst: CHECK_STATUS
      Src: /src/cairo/test/invalid-matrix.c:301,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/invalid-matrix.c:302,1
    - Dst: cairo_translate
      Src: /src/cairo/test/invalid-matrix.c:285,1
    - Dst: CHECK_STATUS
      Src: /src/cairo/test/invalid-matrix.c:322,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/invalid-matrix.c:323,1
    - Dst: cairo_create
      Src: /src/cairo/test/invalid-matrix.c:340,1
    - Dst: CHECK_STATUS
      Src: /src/cairo/test/invalid-matrix.c:353,1
    - Dst: CHECK_STATUS
      Src: /src/cairo/test/invalid-matrix.c:138,1
    - Dst: CHECK_STATUS
      Src: /src/cairo/test/invalid-matrix.c:75,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/test/invalid-matrix.c:79,1
    - Dst: cairo_status
      Src: /src/cairo/test/invalid-matrix.c:128,1
    - Dst: cairo_scaled_font_create
      Src: /src/cairo/test/invalid-matrix.c:205,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/invalid-matrix.c:248,1
    - Dst: cairo_pattern_set_matrix
      Src: /src/cairo/test/invalid-matrix.c:253,1
    - Dst: CHECK_STATUS
      Src: /src/cairo/test/invalid-matrix.c:255,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/invalid-matrix.c:256,1
    - Dst: cairo_pattern_set_matrix
      Src: /src/cairo/test/invalid-matrix.c:260,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/invalid-matrix.c:263,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/invalid-matrix.c:348,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/invalid-matrix.c:333,1
    - Dst: cairo_get_font_options
      Src: /src/cairo/test/invalid-matrix.c:204,1
    - Dst: cairo_get_font_face
      Src: /src/cairo/test/invalid-matrix.c:202,1
    - Dst: cairo_status
      Src: /src/cairo/test/invalid-matrix.c:136,1
    - Dst: cairo_font_options_destroy
      Src: /src/cairo/test/invalid-matrix.c:222,1
    - Dst: cairo_scaled_font_create
      Src: /src/cairo/test/invalid-matrix.c:239,1
    - Dst: cairo_create
      Src: /src/cairo/test/invalid-matrix.c:335,1
    - Dst: CHECK_STATUS
      Src: /src/cairo/test/invalid-matrix.c:317,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/invalid-matrix.c:338,1
    - Dst: cairo_create
      Src: /src/cairo/test/invalid-matrix.c:294,1
    - Dst: CHECK_STATUS
      Src: /src/cairo/test/invalid-matrix.c:84,1
    - Dst: cairo_transform
      Src: /src/cairo/test/invalid-matrix.c:101,1
    - Dst: cairo_create
      Src: /src/cairo/test/invalid-matrix.c:108,1
    - Dst: CHECK_STATUS
      Src: /src/cairo/test/invalid-matrix.c:172,1
    - Dst: cairo_scaled_font_create
      Src: /src/cairo/test/invalid-matrix.c:180,1
    - Dst: cairo_create
      Src: /src/cairo/test/invalid-matrix.c:164,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/invalid-matrix.c:223,1
    - Dst: CHECK_STATUS
      Src: /src/cairo/test/invalid-matrix.c:281,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/invalid-matrix.c:282,1
    - Dst: cairo_create
      Src: /src/cairo/test/invalid-matrix.c:320,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/invalid-matrix.c:354,1
    - Dst: cairo_get_font_face
      Src: /src/cairo/test/invalid-matrix.c:177,1
    - Dst: cairo_scaled_font_status
      Src: /src/cairo/test/invalid-matrix.c:193,1
    - Dst: cairo_matrix_init_identity
      Src: /src/cairo/test/invalid-matrix.c:87,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/invalid-matrix.c:96,1
    - Dst: cairo_transform
      Src: /src/cairo/test/invalid-matrix.c:109,1
    - Dst: cairo_create
      Src: /src/cairo/test/invalid-matrix.c:117,1
    - Dst: cairo_set_font_matrix
      Src: /src/cairo/test/invalid-matrix.c:165,1
    - Dst: cairo_font_options_destroy
      Src: /src/cairo/test/invalid-matrix.c:197,1
    - Dst: cairo_status
      Src: /src/cairo/test/invalid-matrix.c:170,1
    - Dst: cairo_get_font_options
      Src: /src/cairo/test/invalid-matrix.c:179,1
    - Dst: cairo_translate
      Src: /src/cairo/test/invalid-matrix.c:295,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/invalid-matrix.c:318,1
    - Dst: cairo_pattern_set_matrix
      Src: /src/cairo/test/invalid-matrix.c:267,1
    - Dst: cairo_create
      Src: /src/cairo/test/invalid-matrix.c:92,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/invalid-matrix.c:171,1
    - Dst: CHECK_STATUS
      Src: /src/cairo/test/invalid-matrix.c:244,1
    - Dst: cairo_scaled_font_destroy
      Src: /src/cairo/test/invalid-matrix.c:246,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/invalid-matrix.c:277,1
    - Dst: cairo_create
      Src: /src/cairo/test/invalid-matrix.c:315,1
    - Dst: cairo_scale
      Src: /src/cairo/test/invalid-matrix.c:316,1
    - Dst: cairo_scale
      Src: /src/cairo/test/invalid-matrix.c:336,1
    - Dst: CHECK_STATUS
      Src: /src/cairo/test/invalid-matrix.c:358,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/invalid-matrix.c:359,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/invalid-matrix.c:270,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/invalid-matrix.c:146,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/test/invalid-matrix.c:74,1
    - Dst: cairo_create
      Src: /src/cairo/test/invalid-matrix.c:100,1
    - Dst: cairo_transform
      Src: /src/cairo/test/invalid-matrix.c:93,1
    - Dst: cairo_pattern_status
      Src: /src/cairo/test/invalid-matrix.c:254,1
    - Dst: cairo_pattern_status
      Src: /src/cairo/test/invalid-matrix.c:261,1
    - Dst: cairo_pattern_status
      Src: /src/cairo/test/invalid-matrix.c:268,1
    - Dst: CHECK_STATUS
      Src: /src/cairo/test/invalid-matrix.c:269,1
    - Dst: cairo_translate
      Src: /src/cairo/test/invalid-matrix.c:290,1
    - Dst: CHECK_STATUS
      Src: /src/cairo/test/invalid-matrix.c:327,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/invalid-matrix.c:328,1
    - Dst: cairo_pattern_create_rgb
      Src: /src/cairo/test/invalid-matrix.c:252,1
    - Dst: cairo_status
      Src: /src/cairo/test/invalid-matrix.c:95,1
    - Dst: CHECK_STATUS
      Src: /src/cairo/test/invalid-matrix.c:105,1
    - Dst: cairo_create
      Src: /src/cairo/test/invalid-matrix.c:125,1
    - Dst: CHECK_STATUS
      Src: /src/cairo/test/invalid-matrix.c:161,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/invalid-matrix.c:149,1
    - Dst: cairo_scaled_font_create
      Src: /src/cairo/test/invalid-matrix.c:230,1
    - Dst: cairo_create
      Src: /src/cairo/test/invalid-matrix.c:274,1
    - Dst: cairo_translate
      Src: /src/cairo/test/invalid-matrix.c:275,1
    - Dst: CHECK_STATUS
      Src: /src/cairo/test/invalid-matrix.c:312,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/invalid-matrix.c:313,1
    - Dst: cairo_scale
      Src: /src/cairo/test/invalid-matrix.c:346,1
    - Dst: cairo_scale
      Src: /src/cairo/test/invalid-matrix.c:331,1
    - Dst: cairo_create
      Src: /src/cairo/test/invalid-matrix.c:351,1
    - Dst: cairo_scaled_font_create
      Src: /src/cairo/test/invalid-matrix.c:214,1
    - Dst: cairo_status
      Src: /src/cairo/test/invalid-matrix.c:159,1
    - Dst: cairo_create
      Src: /src/cairo/test/invalid-matrix.c:133,1
    - Dst: CHECK_STATUS
      Src: /src/cairo/test/invalid-matrix.c:80,1
    - Dst: cairo_status
      Src: /src/cairo/test/invalid-matrix.c:103,1
    - Dst: CHECK_STATUS
      Src: /src/cairo/test/invalid-matrix.c:113,1
    - Dst: cairo_set_matrix
      Src: /src/cairo/test/invalid-matrix.c:126,1
    - Dst: cairo_set_font_matrix
      Src: /src/cairo/test/invalid-matrix.c:154,1
    - Dst: cairo_scaled_font_destroy
      Src: /src/cairo/test/invalid-matrix.c:187,1
    - Dst: cairo_get_font_face
      Src: /src/cairo/test/invalid-matrix.c:227,1
    - Dst: cairo_get_font_options
      Src: /src/cairo/test/invalid-matrix.c:229,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/invalid-matrix.c:308,1
    - Dst: cairo_create
      Src: /src/cairo/test/invalid-matrix.c:153,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/invalid-matrix.c:160,1
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/invalid-matrix.c:38,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/invalid-matrix.c:104,1
    - Dst: cairo_set_matrix
      Src: /src/cairo/test/invalid-matrix.c:118,1
    - Dst: cairo_scaled_font_status
      Src: /src/cairo/test/invalid-matrix.c:209,1
    - Dst: cairo_pattern_create_rgb
      Src: /src/cairo/test/invalid-matrix.c:259,1
    - Dst: CHECK_STATUS
      Src: /src/cairo/test/invalid-matrix.c:286,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/invalid-matrix.c:287,1
    - Dst: CHECK_STATUS
      Src: /src/cairo/test/invalid-matrix.c:307,1
    - Dst: cairo_rotate
      Src: /src/cairo/test/invalid-matrix.c:357,1
    - Dst: cairo_create
      Src: /src/cairo/test/invalid-matrix.c:356,1
    - Dst: CHECK_STATUS
      Src: /src/cairo/test/invalid-matrix.c:185,1
    - Dst: cairo_font_options_create
      Src: /src/cairo/test/invalid-matrix.c:203,1
    - Dst: CHECK_STATUS
      Src: /src/cairo/test/invalid-matrix.c:97,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/invalid-matrix.c:112,1
    - Dst: cairo_scaled_font_status
      Src: /src/cairo/test/invalid-matrix.c:243,1
    - Dst: cairo_font_options_destroy
      Src: /src/cairo/test/invalid-matrix.c:247,1
    - Dst: cairo_create
      Src: /src/cairo/test/invalid-matrix.c:299,1
    - Dst: cairo_scale
      Src: /src/cairo/test/invalid-matrix.c:321,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/invalid-matrix.c:343,1
    - Dst: cairo_create
      Src: /src/cairo/test/invalid-matrix.c:325,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 264
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 366
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 366
    functionName: draw
    functionSourceFile: /src/cairo/test/invalid-matrix.c
    functionUses: []
    functionsReached:
    - CHECK_STATUS
    - cairo_test_NaN
    - cairo_transform
    - cairo_pattern_set_matrix
    - cairo_translate
    - cairo_show_text
    - cairo_font_options_destroy
    - cairo_font_options_create
    - cairo_test_get_context
    - cairo_create
    - cairo_pattern_status
    - cairo_status
    - cairo_set_matrix
    - cairo_get_font_options
    - fedisableexcept
    - cairo_get_group_target
    - feclearexcept
    - cairo_scaled_font_status
    - cairo_matrix_init_identity
    - cairo_pattern_create_rgb
    - cairo_set_font_matrix
    - cairo_destroy
    - cairo_rotate
    - cairo_pattern_destroy
    - cairo_get_font_face
    - cairo_scaled_font_destroy
    - cairo_scaled_font_create
    - cairo_scale
    - cairo_matrix_invert
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/degenerate-pen.c:53,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/degenerate-pen.c:57,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/degenerate-pen.c:62,1
    - Dst: cairo_restore
      Src: /src/cairo/test/degenerate-pen.c:69,1
    - Dst: cairo_scale
      Src: /src/cairo/test/degenerate-pen.c:78,1
    - Dst: cairo_save
      Src: /src/cairo/test/degenerate-pen.c:76,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/degenerate-pen.c:86,1
    - Dst: cairo_scale
      Src: /src/cairo/test/degenerate-pen.c:91,1
    - Dst: cairo_paint
      Src: /src/cairo/test/degenerate-pen.c:54,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/degenerate-pen.c:56,1
    - Dst: cairo_save
      Src: /src/cairo/test/degenerate-pen.c:64,1
    - Dst: cairo_scale
      Src: /src/cairo/test/degenerate-pen.c:66,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/degenerate-pen.c:74,1
    - Dst: cairo_save
      Src: /src/cairo/test/degenerate-pen.c:88,1
    - Dst: cairo_translate
      Src: /src/cairo/test/degenerate-pen.c:59,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/degenerate-pen.c:75,1
    - Dst: cairo_translate
      Src: /src/cairo/test/degenerate-pen.c:83,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/degenerate-pen.c:79,1
    - Dst: cairo_rotate
      Src: /src/cairo/test/degenerate-pen.c:90,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/degenerate-pen.c:92,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/degenerate-pen.c:63,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/degenerate-pen.c:67,1
    - Dst: cairo_translate
      Src: /src/cairo/test/degenerate-pen.c:71,1
    - Dst: cairo_restore
      Src: /src/cairo/test/degenerate-pen.c:81,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/degenerate-pen.c:87,1
    - Dst: cairo_restore
      Src: /src/cairo/test/degenerate-pen.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 39
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 97
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 97
    functionName: draw
    functionSourceFile: /src/cairo/test/degenerate-pen.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgb
    - cairo_curve_to
    - cairo_save
    - cairo_set_line_join
    - cairo_scale
    - cairo_stroke
    - cairo_restore
    - cairo_rotate
    - cairo_translate
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_get_group_target
      Src: /src/cairo/test/smask.c:40,1
    - Dst: cairo_save
      Src: /src/cairo/test/smask.c:46,1
    - Dst: cairo_restore
      Src: /src/cairo/test/smask.c:49,1
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/test/smask.c:51,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/smask.c:52,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/smask.c:63,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/smask.c:65,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/smask.c:67,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/smask.c:68,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/smask.c:81,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/smask.c:87,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/smask.c:93,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/smask.c:106,1
    - Dst: cairo_mask_surface
      Src: /src/cairo/test/smask.c:108,1
    - Dst: cairo_paint
      Src: /src/cairo/test/smask.c:96,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/smask.c:109,1
    - Dst: cairo_paint
      Src: /src/cairo/test/smask.c:48,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/smask.c:55,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/smask.c:62,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/smask.c:64,1
    - Dst: cairo_text_extents
      Src: /src/cairo/test/smask.c:89,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/smask.c:95,1
    - Dst: cairo_pattern_create_radial
      Src: /src/cairo/test/smask.c:98,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/smask.c:103,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/smask.c:105,1
    - Dst: floor
      Src: /src/cairo/test/smask.c:91,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/smask.c:104,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/smask.c:90,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/smask.c:112,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/smask.c:111,1
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/smask.c:40,1
    - Dst: cairo_create
      Src: /src/cairo/test/smask.c:43,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/smask.c:54,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/smask.c:57,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/smask.c:56,1
    - Dst: cairo_mask
      Src: /src/cairo/test/smask.c:74,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/smask.c:75,1
    - Dst: cairo_arc
      Src: /src/cairo/test/smask.c:77,1
    - Dst: cairo_fill
      Src: /src/cairo/test/smask.c:78,1
    - Dst: cairo_arc
      Src: /src/cairo/test/smask.c:80,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/smask.c:108,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/smask.c:101,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/smask.c:44,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/smask.c:47,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/smask.c:53,1
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/test/smask.c:61,1
    - Dst: cairo_paint
      Src: /src/cairo/test/smask.c:59,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/smask.c:66,1
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/test/smask.c:70,1
    - Dst: cairo_pattern_create_for_surface
      Src: /src/cairo/test/smask.c:72,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/smask.c:73,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/smask.c:83,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/smask.c:102,1
    - Dst: floor
      Src: /src/cairo/test/smask.c:92,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 87
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 115
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 115
    functionName: draw
    functionSourceFile: /src/cairo/test/smask.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_for_surface
    - cairo_mask_surface
    - cairo_surface_finish
    - cairo_set_source
    - cairo_pattern_set_extend
    - cairo_pattern_create_radial
    - cairo_select_font_face
    - cairo_pattern_add_color_stop_rgba
    - cairo_get_target
    - cairo_surface_create_similar
    - floor
    - cairo_show_text
    - cairo_pattern_create_linear
    - cairo_create
    - cairo_save
    - cairo_mask
    - cairo_get_group_target
    - cairo_arc
    - cairo_image_surface_create_for_data
    - cairo_stroke
    - cairo_restore
    - cairo_set_operator
    - cairo_fill
    - cairo_text_extents
    - cairo_destroy
    - cairo_pattern_destroy
    - cairo_paint
    - cairo_set_font_size
    - cairo_surface_destroy
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/composite-integer-translate-over.c:35,1
    - Dst: cairo_test_create_surface_from_png
      Src: /src/cairo/test/composite-integer-translate-over.c:38,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/composite-integer-translate-over.c:41,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/composite-integer-translate-over.c:40,1
    - Dst: cairo_fill
      Src: /src/cairo/test/composite-integer-translate-over.c:42,1
    - Dst: cairo_translate
      Src: /src/cairo/test/composite-integer-translate-over.c:44,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/composite-integer-translate-over.c:45,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/composite-integer-translate-over.c:46,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/composite-integer-translate-over.c:47,1
    - Dst: cairo_fill
      Src: /src/cairo/test/composite-integer-translate-over.c:48,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/composite-integer-translate-over.c:50,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 53
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 53
    functionName: draw
    functionSourceFile: /src/cairo/test/composite-integer-translate-over.c
    functionUses: []
    functionsReached:
    - cairo_test_create_surface_from_png
    - cairo_set_source_rgba
    - cairo_test_get_context
    - cairo_surface_destroy
    - cairo_set_operator
    - cairo_fill
    - cairo_translate
    - cairo_set_source_surface
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_log
      Src: /src/cairo/test/font-face-get-type.c:36,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/font-face-get-type.c:41,1
    - Dst: cairo_create
      Src: /src/cairo/test/font-face-get-type.c:39,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/font-face-get-type.c:38,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/font-face-get-type.c:45,1
    - Dst: cairo_get_font_face
      Src: /src/cairo/test/font-face-get-type.c:47,1
    - Dst: cairo_font_face_get_type
      Src: /src/cairo/test/font-face-get-type.c:49,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/font-face-get-type.c:50,1
    - Dst: cairo_font_face_get_type
      Src: /src/cairo/test/font-face-get-type.c:51,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/font-face-get-type.c:56,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/font-face-get-type.c:68,1
    - Dst: cairo_get_scaled_font
      Src: /src/cairo/test/font-face-get-type.c:58,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/font-face-get-type.c:67,1
    - Dst: cairo_scaled_font_get_font_face
      Src: /src/cairo/test/font-face-get-type.c:60,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/font-face-get-type.c:61,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - cairo_test_context_t*
    constantsTouched: []
    func_position:
      end: 71
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 71
    functionName: preamble
    functionSourceFile: /src/cairo/test/font-face-get-type.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - cairo_get_font_face
    - cairo_font_face_get_type
    - cairo_get_scaled_font
    - cairo_destroy
    - cairo_create
    - cairo_surface_destroy
    - cairo_image_surface_create
    - cairo_select_font_face
    - cairo_scaled_font_get_font_face
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t preamble (cairo_test_context_t *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/test/show-text-current-point.c:33,1
    - Dst: cairo_paint
      Src: /src/cairo/test/show-text-current-point.c:35,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/show-text-current-point.c:38,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/show-text-current-point.c:34,1
    - Dst: cairo_restore
      Src: /src/cairo/test/show-text-current-point.c:36,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/show-text-current-point.c:41,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/show-text-current-point.c:43,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/show-text-current-point.c:45,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/show-text-current-point.c:46,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/show-text-current-point.c:47,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/show-text-current-point.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 51
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 51
    functionName: draw
    functionSourceFile: /src/cairo/test/show-text-current-point.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_show_text
    - cairo_save
    - cairo_set_font_size
    - cairo_restore
    - cairo_select_font_face
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_move_to
      Src: /src/cairo/test/dash-caps-joins.c:40,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/dash-caps-joins.c:45,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/dash-caps-joins.c:42,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/dash-caps-joins.c:41,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/dash-caps-joins.c:43,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/dash-caps-joins.c:46,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/dash-caps-joins.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 48
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 48
    functionName: make_path
    functionSourceFile: /src/cairo/test/dash-caps-joins.c
    functionUses: []
    functionsReached:
    - cairo_rel_line_to
    - cairo_move_to
    - cairo_close_path
    linkageType: ''
    returnType: void
    signature: 'static void make_path (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/test/dash-caps-joins.c:64,1
    - Dst: make_path
      Src: /src/cairo/test/dash-caps-joins.c:70,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/dash-caps-joins.c:78,1
    - Dst: cairo_translate
      Src: /src/cairo/test/dash-caps-joins.c:75,1
    - Dst: make_path
      Src: /src/cairo/test/dash-caps-joins.c:84,1
    - Dst: cairo_restore
      Src: /src/cairo/test/dash-caps-joins.c:89,1
    - Dst: cairo_paint
      Src: /src/cairo/test/dash-caps-joins.c:60,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/dash-caps-joins.c:65,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/dash-caps-joins.c:80,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/dash-caps-joins.c:79,1
    - Dst: cairo_translate
      Src: /src/cairo/test/dash-caps-joins.c:90,1
    - Dst: cairo_save
      Src: /src/cairo/test/dash-caps-joins.c:58,1
    - Dst: cairo_set_dash
      Src: /src/cairo/test/dash-caps-joins.c:66,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/dash-caps-joins.c:66,1
    - Dst: cairo_translate
      Src: /src/cairo/test/dash-caps-joins.c:68,1
    - Dst: make_path
      Src: /src/cairo/test/dash-caps-joins.c:77,1
    - Dst: cairo_translate
      Src: /src/cairo/test/dash-caps-joins.c:82,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/dash-caps-joins.c:71,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/dash-caps-joins.c:85,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/dash-caps-joins.c:59,1
    - Dst: cairo_restore
      Src: /src/cairo/test/dash-caps-joins.c:61,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/dash-caps-joins.c:73,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/dash-caps-joins.c:72,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/dash-caps-joins.c:86,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/dash-caps-joins.c:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 95
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 95
    functionName: draw
    functionSourceFile: /src/cairo/test/dash-caps-joins.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_line_width
    - cairo_set_dash
    - ARRAY_LENGTH
    - cairo_save
    - make_path
    - cairo_set_line_join
    - cairo_stroke
    - cairo_restore
    - cairo_set_line_cap
    - cairo_set_source_rgb
    - cairo_translate
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_new_sub_path
      Src: /src/cairo/test/rounded-rectangle-stroke.c:35,1
    - Dst: cairo_arc
      Src: /src/cairo/test/rounded-rectangle-stroke.c:39,1
    - Dst: cairo_arc
      Src: /src/cairo/test/rounded-rectangle-stroke.c:37,1
    - Dst: cairo_arc
      Src: /src/cairo/test/rounded-rectangle-stroke.c:38,1
    - Dst: cairo_arc
      Src: /src/cairo/test/rounded-rectangle-stroke.c:36,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/rounded-rectangle-stroke.c:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 6
    argNames:
    - cr
    - x
    - y
    - w
    - h
    - r
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 41
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 41
    functionName: rounded_rectangle
    functionSourceFile: /src/cairo/test/rounded-rectangle-stroke.c
    functionUses: []
    functionsReached:
    - cairo_arc
    - cairo_close_path
    - cairo_new_sub_path
    linkageType: ''
    returnType: void
    signature: 'static void rounded_rectangle (cairo_t *cr, int x, int y, int w, int
      h, int r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/rounded-rectangle-stroke.c:47,1
    - Dst: cairo_paint
      Src: /src/cairo/test/rounded-rectangle-stroke.c:48,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/rounded-rectangle-stroke.c:51,1
    - Dst: rounded_rectangle
      Src: /src/cairo/test/rounded-rectangle-stroke.c:52,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/rounded-rectangle-stroke.c:49,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/rounded-rectangle-stroke.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 56
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 56
    functionName: draw
    functionSourceFile: /src/cairo/test/rounded-rectangle-stroke.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_line_width
    - cairo_stroke
    - cairo_set_source_rgb
    - rounded_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cairo_toy_font_face_get_family
      Src: /src/cairo/test/toy-font-face.c:59,1
    - Dst: assert
      Src: /src/cairo/test/toy-font-face.c:61,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/toy-font-face.c:68,1
    - Dst: cairo_font_face_status
      Src: /src/cairo/test/toy-font-face.c:77,1
    - Dst: cairo_toy_font_face_get_slant
      Src: /src/cairo/test/toy-font-face.c:131,1
    - Dst: cairo_toy_font_face_get_weight
      Src: /src/cairo/test/toy-font-face.c:102,1
    - Dst: assert
      Src: /src/cairo/test/toy-font-face.c:58,1
    - Dst: assert
      Src: /src/cairo/test/toy-font-face.c:59,1
    - Dst: assert
      Src: /src/cairo/test/toy-font-face.c:113,1
    - Dst: cairo_font_face_status
      Src: /src/cairo/test/toy-font-face.c:123,1
    - Dst: assert
      Src: /src/cairo/test/toy-font-face.c:100,1
    - Dst: cairo_font_face_reference
      Src: /src/cairo/test/toy-font-face.c:72,1
    - Dst: cairo_toy_font_face_get_weight
      Src: /src/cairo/test/toy-font-face.c:76,1
    - Dst: cairo_toy_font_face_get_family
      Src: /src/cairo/test/toy-font-face.c:87,1
    - Dst: assert
      Src: /src/cairo/test/toy-font-face.c:121,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/toy-font-face.c:114,1
    - Dst: cairo_toy_font_face_get_family
      Src: /src/cairo/test/toy-font-face.c:110,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/toy-font-face.c:53,1
    - Dst: assert
      Src: /src/cairo/test/toy-font-face.c:75,1
    - Dst: cairo_font_face_get_type
      Src: /src/cairo/test/toy-font-face.c:119,1
    - Dst: assert
      Src: /src/cairo/test/toy-font-face.c:130,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/toy-font-face.c:136,1
    - Dst: cairo_font_face_get_type
      Src: /src/cairo/test/toy-font-face.c:58,1
    - Dst: assert
      Src: /src/cairo/test/toy-font-face.c:60,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/toy-font-face.c:66,1
    - Dst: cairo_font_face_status
      Src: /src/cairo/test/toy-font-face.c:113,1
    - Dst: assert
      Src: /src/cairo/test/toy-font-face.c:86,1
    - Dst: cairo_font_face_status
      Src: /src/cairo/test/toy-font-face.c:90,1
    - Dst: assert
      Src: /src/cairo/test/toy-font-face.c:109,1
    - Dst: assert
      Src: /src/cairo/test/toy-font-face.c:112,1
    - Dst: cairo_font_face_status
      Src: /src/cairo/test/toy-font-face.c:62,1
    - Dst: cairo_font_face_get_type
      Src: /src/cairo/test/toy-font-face.c:73,1
    - Dst: cairo_toy_font_face_create
      Src: /src/cairo/test/toy-font-face.c:116,1
    - Dst: cairo_toy_font_face_get_slant
      Src: /src/cairo/test/toy-font-face.c:101,1
    - Dst: cairo_toy_font_face_get_weight
      Src: /src/cairo/test/toy-font-face.c:122,1
    - Dst: assert
      Src: /src/cairo/test/toy-font-face.c:133,1
    - Dst: cairo_toy_font_face_get_weight
      Src: /src/cairo/test/toy-font-face.c:89,1
    - Dst: assert
      Src: /src/cairo/test/toy-font-face.c:120,1
    - Dst: cairo_toy_font_face_get_slant
      Src: /src/cairo/test/toy-font-face.c:75,1
    - Dst: assert
      Src: /src/cairo/test/toy-font-face.c:103,1
    - Dst: cairo_toy_font_face_get_family
      Src: /src/cairo/test/toy-font-face.c:100,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/toy-font-face.c:134,1
    - Dst: cairo_toy_font_face_get_weight
      Src: /src/cairo/test/toy-font-face.c:61,1
    - Dst: cairo_toy_font_face_get_family
      Src: /src/cairo/test/toy-font-face.c:130,1
    - Dst: cairo_get_font_face
      Src: /src/cairo/test/toy-font-face.c:72,1
    - Dst: assert
      Src: /src/cairo/test/toy-font-face.c:74,1
    - Dst: cairo_font_face_get_type
      Src: /src/cairo/test/toy-font-face.c:109,1
    - Dst: cairo_toy_font_face_get_weight
      Src: /src/cairo/test/toy-font-face.c:112,1
    - Dst: cairo_toy_font_face_create
      Src: /src/cairo/test/toy-font-face.c:83,1
    - Dst: assert
      Src: /src/cairo/test/toy-font-face.c:99,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/toy-font-face.c:78,1
    - Dst: cairo_font_face_status
      Src: /src/cairo/test/toy-font-face.c:133,1
    - Dst: assert
      Src: /src/cairo/test/toy-font-face.c:88,1
    - Dst: cairo_toy_font_face_get_slant
      Src: /src/cairo/test/toy-font-face.c:121,1
    - Dst: assert
      Src: /src/cairo/test/toy-font-face.c:129,1
    - Dst: assert
      Src: /src/cairo/test/toy-font-face.c:132,1
    - Dst: cairo_toy_font_face_get_slant
      Src: /src/cairo/test/toy-font-face.c:88,1
    - Dst: cairo_toy_font_face_create
      Src: /src/cairo/test/toy-font-face.c:106,1
    - Dst: assert
      Src: /src/cairo/test/toy-font-face.c:102,1
    - Dst: cairo_get_font_face
      Src: /src/cairo/test/toy-font-face.c:57,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/toy-font-face.c:81,1
    - Dst: cairo_toy_font_face_get_family
      Src: /src/cairo/test/toy-font-face.c:120,1
    - Dst: assert
      Src: /src/cairo/test/toy-font-face.c:89,1
    - Dst: assert
      Src: /src/cairo/test/toy-font-face.c:123,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/toy-font-face.c:104,1
    - Dst: cairo_create
      Src: /src/cairo/test/toy-font-face.c:54,1
    - Dst: cairo_toy_font_face_get_slant
      Src: /src/cairo/test/toy-font-face.c:60,1
    - Dst: cairo_font_face_get_type
      Src: /src/cairo/test/toy-font-face.c:86,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/toy-font-face.c:55,1
    - Dst: cairo_toy_font_face_get_family
      Src: /src/cairo/test/toy-font-face.c:74,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/toy-font-face.c:91,1
    - Dst: cairo_toy_font_face_create
      Src: /src/cairo/test/toy-font-face.c:96,1
    - Dst: cairo_toy_font_face_get_slant
      Src: /src/cairo/test/toy-font-face.c:111,1
    - Dst: assert
      Src: /src/cairo/test/toy-font-face.c:119,1
    - Dst: cairo_font_face_get_type
      Src: /src/cairo/test/toy-font-face.c:129,1
    - Dst: cairo_toy_font_face_get_weight
      Src: /src/cairo/test/toy-font-face.c:132,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/toy-font-face.c:63,1
    - Dst: cairo_font_face_status
      Src: /src/cairo/test/toy-font-face.c:103,1
    - Dst: assert
      Src: /src/cairo/test/toy-font-face.c:111,1
    - Dst: assert
      Src: /src/cairo/test/toy-font-face.c:131,1
    - Dst: assert
      Src: /src/cairo/test/toy-font-face.c:101,1
    - Dst: cairo_font_face_reference
      Src: /src/cairo/test/toy-font-face.c:57,1
    - Dst: assert
      Src: /src/cairo/test/toy-font-face.c:73,1
    - Dst: assert
      Src: /src/cairo/test/toy-font-face.c:87,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/toy-font-face.c:94,1
    - Dst: assert
      Src: /src/cairo/test/toy-font-face.c:122,1
    - Dst: cairo_toy_font_face_create
      Src: /src/cairo/test/toy-font-face.c:126,1
    - Dst: assert
      Src: /src/cairo/test/toy-font-face.c:110,1
    - Dst: assert
      Src: /src/cairo/test/toy-font-face.c:76,1
    - Dst: cairo_font_face_get_type
      Src: /src/cairo/test/toy-font-face.c:99,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/toy-font-face.c:124,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 142
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - cairo_test_context_t*
    constantsTouched: []
    func_position:
      end: 139
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 139
    functionName: preamble
    functionSourceFile: /src/cairo/test/toy-font-face.c
    functionUses: []
    functionsReached:
    - cairo_get_font_face
    - cairo_font_face_get_type
    - cairo_test_status_from_status
    - cairo_toy_font_face_get_weight
    - cairo_font_face_destroy
    - cairo_toy_font_face_get_slant
    - cairo_create
    - cairo_surface_destroy
    - cairo_font_face_reference
    - assert
    - cairo_image_surface_create
    - cairo_font_face_status
    - cairo_select_font_face
    - cairo_toy_font_face_create
    - cairo_destroy
    - cairo_toy_font_face_get_family
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t preamble (cairo_test_context_t *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_recording_surface_create
      Src: /src/cairo/test/bug-448.c:42,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/bug-448.c:46,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/bug-448.c:47,1
    - Dst: cairo_tag_begin
      Src: /src/cairo/test/bug-448.c:45,1
    - Dst: cairo_create
      Src: /src/cairo/test/bug-448.c:44,1
    - Dst: cairo_tag_end
      Src: /src/cairo/test/bug-448.c:48,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/bug-448.c:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 52
    functionName: draw_recording
    functionSourceFile: /src/cairo/test/bug-448.c
    functionUses: []
    functionsReached:
    - cairo_create
    - cairo_stroke
    - cairo_tag_begin
    - cairo_destroy
    - cairo_recording_surface_create
    - cairo_tag_end
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *draw_recording () '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/bug-448.c:59,1
    - Dst: cairo_paint
      Src: /src/cairo/test/bug-448.c:64,1
    - Dst: cairo_paint
      Src: /src/cairo/test/bug-448.c:60,1
    - Dst: draw_recording
      Src: /src/cairo/test/bug-448.c:62,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/bug-448.c:63,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/bug-448.c:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 68
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 68
    functionName: draw
    functionSourceFile: /src/cairo/test/bug-448.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - draw_recording
    - cairo_surface_destroy
    - cairo_set_source_rgb
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_ft_select_font_from_file
      Src: /src/cairo/test/ft-svg-render.c:49,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/ft-svg-render.c:47,1
    - Dst: cairo_paint
      Src: /src/cairo/test/ft-svg-render.c:46,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/ft-svg-render.c:58,1
    - Dst: cairo_save
      Src: /src/cairo/test/ft-svg-render.c:66,1
    - Dst: cairo_status
      Src: /src/cairo/test/ft-svg-render.c:86,1
    - Dst: cairo_text_extents
      Src: /src/cairo/test/ft-svg-render.c:67,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/ft-svg-render.c:69,1
    - Dst: cairo_clip
      Src: /src/cairo/test/ft-svg-render.c:81,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/ft-svg-render.c:83,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/ft-svg-render.c:87,1
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/ft-svg-render.c:87,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/ft-svg-render.c:45,1
    - Dst: cairo_font_options_create
      Src: /src/cairo/test/ft-svg-render.c:53,1
    - Dst: cairo_font_options_set_color_mode
      Src: /src/cairo/test/ft-svg-render.c:54,1
    - Dst: cairo_font_options_destroy
      Src: /src/cairo/test/ft-svg-render.c:56,1
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/ft-svg-render.c:69,1
    - Dst: cairo_restore
      Src: /src/cairo/test/ft-svg-render.c:85,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/ft-svg-render.c:80,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/ft-svg-render.c:84,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - font_file
    argTypes:
    - cairo_t*
    - int
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 96
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 96
    functionName: draw_font
    functionSourceFile: /src/cairo/test/ft-svg-render.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - cairo_paint
    - cairo_font_options_destroy
    - cairo_font_options_set_color_mode
    - cairo_font_options_create
    - cairo_show_text
    - cairo_test_get_context
    - cairo_test_ft_select_font_from_file
    - cairo_set_font_size
    - cairo_save
    - cairo_status
    - cairo_restore
    - cairo_set_source_rgb
    - cairo_text_extents
    - cairo_clip
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_font (cairo_t *cr, int width, int
      height, const char *font_file) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/create-from-png-16bit.c:37,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/create-from-png-16bit.c:45,1
    - Dst: xasprintf
      Src: /src/cairo/test/create-from-png-16bit.c:41,1
    - Dst: cairo_image_surface_create_from_png
      Src: /src/cairo/test/create-from-png-16bit.c:44,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/create-from-png-16bit.c:48,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/create-from-png-16bit.c:49,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/create-from-png-16bit.c:51,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/create-from-png-16bit.c:53,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/create-from-png-16bit.c:53,1
    - Dst: free
      Src: /src/cairo/test/create-from-png-16bit.c:56,1
    - Dst: cairo_surface_mark_dirty
      Src: /src/cairo/test/create-from-png-16bit.c:62,1
    - Dst: free
      Src: /src/cairo/test/create-from-png-16bit.c:70,1
    - Dst: cairo_paint
      Src: /src/cairo/test/create-from-png-16bit.c:66,1
    - Dst: cairo_surface_flush
      Src: /src/cairo/test/create-from-png-16bit.c:61,1
    - Dst: cairo_pattern_set_filter
      Src: /src/cairo/test/create-from-png-16bit.c:65,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/create-from-png-16bit.c:65,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/create-from-png-16bit.c:68,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/create-from-png-16bit.c:64,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 72
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 72
    functionName: draw
    functionSourceFile: /src/cairo/test/create-from-png-16bit.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - cairo_paint
    - cairo_surface_flush
    - cairo_test_status_from_status
    - cairo_test_get_context
    - free
    - xasprintf
    - cairo_surface_status
    - cairo_surface_mark_dirty
    - cairo_pattern_set_filter
    - cairo_get_source
    - cairo_surface_destroy
    - cairo_image_surface_create_from_png
    - cairo_set_source_surface
    - cairo_status_to_string
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/subsurface.c:34,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/subsurface.c:43,1
    - Dst: cairo_text_extents
      Src: /src/cairo/test/subsurface.c:53,1
    - Dst: cairo_surface_create_for_rectangle
      Src: /src/cairo/test/subsurface.c:43,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/test/subsurface.c:59,1
    - Dst: cairo_paint_with_alpha
      Src: /src/cairo/test/subsurface.c:70,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/subsurface.c:36,1
    - Dst: cairo_paint
      Src: /src/cairo/test/subsurface.c:35,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/subsurface.c:47,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/subsurface.c:49,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/subsurface.c:52,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/subsurface.c:54,1
    - Dst: cairo_paint
      Src: /src/cairo/test/subsurface.c:65,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/subsurface.c:60,1
    - Dst: cairo_create
      Src: /src/cairo/test/subsurface.c:46,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/subsurface.c:57,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/subsurface.c:69,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/subsurface.c:59,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/subsurface.c:64,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/subsurface.c:74,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 48
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 77
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 77
    functionName: draw
    functionSourceFile: /src/cairo/test/subsurface.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_surface_create_for_rectangle
    - cairo_paint_with_alpha
    - cairo_show_text
    - cairo_destroy
    - cairo_surface_reference
    - cairo_create
    - cairo_set_font_size
    - cairo_surface_destroy
    - cairo_get_target
    - cairo_select_font_face
    - cairo_set_source_rgb
    - cairo_text_extents
    - cairo_move_to
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_move_to
      Src: /src/cairo/test/joins-loop.c:36,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/joins-loop.c:41,1
    - Dst: cairo_rel_curve_to
      Src: /src/cairo/test/joins-loop.c:37,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/joins-loop.c:46,1
    - Dst: cairo_rel_curve_to
      Src: /src/cairo/test/joins-loop.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 47
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 47
    functionName: make_path
    functionSourceFile: /src/cairo/test/joins-loop.c
    functionUses: []
    functionsReached:
    - cairo_rel_curve_to
    - cairo_rel_line_to
    - cairo_move_to
    - cairo_close_path
    linkageType: ''
    returnType: void
    signature: 'static void make_path (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/joins-loop.c:76,1
    - Dst: cairo_paint
      Src: /src/cairo/test/joins-loop.c:77,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/joins-loop.c:80,1
    - Dst: draw_joins
      Src: /src/cairo/test/joins-loop.c:82,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/joins-loop.c:79,1
    - Dst: cairo_translate
      Src: /src/cairo/test/joins-loop.c:85,1
    - Dst: cairo_scale
      Src: /src/cairo/test/joins-loop.c:86,1
    - Dst: draw_joins
      Src: /src/cairo/test/joins-loop.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 91
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 91
    functionName: draw
    functionSourceFile: /src/cairo/test/joins-loop.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_line_width
    - cairo_set_source_rgb
    - cairo_scale
    - draw_joins
    - cairo_translate
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/test/joins-loop.c:52,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/joins-loop.c:57,1
    - Dst: cairo_translate
      Src: /src/cairo/test/joins-loop.c:53,1
    - Dst: make_path
      Src: /src/cairo/test/joins-loop.c:55,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/joins-loop.c:56,1
    - Dst: cairo_translate
      Src: /src/cairo/test/joins-loop.c:58,1
    - Dst: make_path
      Src: /src/cairo/test/joins-loop.c:60,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/joins-loop.c:61,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/joins-loop.c:62,1
    - Dst: cairo_translate
      Src: /src/cairo/test/joins-loop.c:63,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/joins-loop.c:67,1
    - Dst: cairo_restore
      Src: /src/cairo/test/joins-loop.c:70,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/joins-loop.c:66,1
    - Dst: cairo_translate
      Src: /src/cairo/test/joins-loop.c:68,1
    - Dst: make_path
      Src: /src/cairo/test/joins-loop.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 71
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 71
    functionName: draw_joins
    functionSourceFile: /src/cairo/test/joins-loop.c
    functionUses: []
    functionsReached:
    - make_path
    - cairo_save
    - cairo_set_line_join
    - cairo_stroke
    - cairo_restore
    - cairo_translate
    linkageType: ''
    returnType: void
    signature: 'static void draw_joins (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - glyphs
    - x
    - y
    argTypes:
    - glyph_array_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: glyph_array_init
    functionSourceFile: /src/cairo/test/ft-show-glyphs-positioning.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void glyph_array_init (glyph_array_t *glyphs, double x, double
      y) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cairo_get_scaled_font
      Src: /src/cairo/test/ft-show-glyphs-positioning.c:75,1
    - Dst: cairo_scaled_font_status
      Src: /src/cairo/test/ft-show-glyphs-positioning.c:76,1
    - Dst: cairo_ft_scaled_font_lock_face
      Src: /src/cairo/test/ft-show-glyphs-positioning.c:80,1
    - Dst: FT_Get_Char_Index
      Src: /src/cairo/test/ft-show-glyphs-positioning.c:88,1
    - Dst: cairo_glyph_extents
      Src: /src/cairo/test/ft-show-glyphs-positioning.c:95,1
    - Dst: FT_Get_Kerning
      Src: /src/cairo/test/ft-show-glyphs-positioning.c:96,1
    - Dst: DOUBLE_FROM_26_6
      Src: /src/cairo/test/ft-show-glyphs-positioning.c:101,1
    - Dst: cairo_glyph_extents
      Src: /src/cairo/test/ft-show-glyphs-positioning.c:108,1
    - Dst: cairo_ft_scaled_font_unlock_face
      Src: /src/cairo/test/ft-show-glyphs-positioning.c:115,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 4
    argNames:
    - glyphs
    - cr
    - s
    - spacing
    argTypes:
    - glyph_array_t*
    - cairo_t*
    - char*
    - double
    constantsTouched: []
    func_position:
      end: 117
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 117
    functionName: glyph_array_add_text
    functionSourceFile: /src/cairo/test/ft-show-glyphs-positioning.c
    functionUses: []
    functionsReached:
    - FT_Get_Kerning
    - cairo_get_scaled_font
    - FT_Get_Char_Index
    - cairo_ft_scaled_font_lock_face
    - cairo_scaled_font_status
    - cairo_glyph_extents
    - DOUBLE_FROM_26_6
    - cairo_ft_scaled_font_unlock_face
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t glyph_array_add_text(glyph_array_t *glyphs,
      cairo_t *cr, const char *s, double spacing) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_show_glyphs
      Src: /src/cairo/test/ft-show-glyphs-positioning.c:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - glyphs
    - cr
    argTypes:
    - glyph_array_t*
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: glyph_array_show
    functionSourceFile: /src/cairo/test/ft-show-glyphs-positioning.c
    functionUses: []
    functionsReached:
    - cairo_show_glyphs
    linkageType: ''
    returnType: void
    signature: 'static void glyph_array_show (glyph_array_t *glyphs, cairo_t *cr) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cairo_font_options_set_hint_metrics
      Src: /src/cairo/test/ft-show-glyphs-positioning.c:139,1
    - Dst: glyph_array_rel_move_to
      Src: /src/cairo/test/ft-show-glyphs-positioning.c:151,1
    - Dst: glyph_array_show
      Src: /src/cairo/test/ft-show-glyphs-positioning.c:156,1
    - Dst: glyph_array_add_text
      Src: /src/cairo/test/ft-show-glyphs-positioning.c:152,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/ft-show-glyphs-positioning.c:149,1
    - Dst: glyph_array_add_text
      Src: /src/cairo/test/ft-show-glyphs-positioning.c:161,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/ft-show-glyphs-positioning.c:168,1
    - Dst: glyph_array_rel_move_to
      Src: /src/cairo/test/ft-show-glyphs-positioning.c:170,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/ft-show-glyphs-positioning.c:178,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/ft-show-glyphs-positioning.c:132,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/ft-show-glyphs-positioning.c:129,1
    - Dst: cairo_font_options_create
      Src: /src/cairo/test/ft-show-glyphs-positioning.c:137,1
    - Dst: cairo_get_font_options
      Src: /src/cairo/test/ft-show-glyphs-positioning.c:138,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/ft-show-glyphs-positioning.c:154,1
    - Dst: glyph_array_init
      Src: /src/cairo/test/ft-show-glyphs-positioning.c:145,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/ft-show-glyphs-positioning.c:163,1
    - Dst: glyph_array_rel_move_to
      Src: /src/cairo/test/ft-show-glyphs-positioning.c:165,1
    - Dst: glyph_array_show
      Src: /src/cairo/test/ft-show-glyphs-positioning.c:180,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/ft-show-glyphs-positioning.c:135,1
    - Dst: cairo_paint
      Src: /src/cairo/test/ft-show-glyphs-positioning.c:130,1
    - Dst: glyph_array_init
      Src: /src/cairo/test/ft-show-glyphs-positioning.c:159,1
    - Dst: glyph_array_add_text
      Src: /src/cairo/test/ft-show-glyphs-positioning.c:171,1
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/ft-show-glyphs-positioning.c:122,1
    - Dst: cairo_set_font_options
      Src: /src/cairo/test/ft-show-glyphs-positioning.c:140,1
    - Dst: cairo_font_options_destroy
      Src: /src/cairo/test/ft-show-glyphs-positioning.c:141,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/ft-show-glyphs-positioning.c:143,1
    - Dst: glyph_array_add_text
      Src: /src/cairo/test/ft-show-glyphs-positioning.c:147,1
    - Dst: glyph_array_add_text
      Src: /src/cairo/test/ft-show-glyphs-positioning.c:166,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/ft-show-glyphs-positioning.c:173,1
    - Dst: glyph_array_rel_move_to
      Src: /src/cairo/test/ft-show-glyphs-positioning.c:175,1
    - Dst: glyph_array_add_text
      Src: /src/cairo/test/ft-show-glyphs-positioning.c:176,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 183
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 183
    functionName: draw
    functionSourceFile: /src/cairo/test/ft-show-glyphs-positioning.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - glyph_array_rel_move_to
    - cairo_set_font_options
    - cairo_font_options_destroy
    - cairo_font_options_create
    - glyph_array_add_text
    - cairo_test_get_context
    - cairo_test_status_from_status
    - glyph_array_show
    - cairo_set_font_size
    - cairo_select_font_face
    - glyph_array_init
    - cairo_set_source_rgb
    - cairo_font_options_set_hint_metrics
    - cairo_get_font_options
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - glyphs
    - x
    - y
    argTypes:
    - glyph_array_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: glyph_array_rel_move_to
    functionSourceFile: /src/cairo/test/ft-show-glyphs-positioning.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void glyph_array_rel_move_to (glyph_array_t *glyphs, double
      x, double y) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_translate
      Src: /src/cairo/test/svg-surface.c:54,1
    - Dst: cairo_arc
      Src: /src/cairo/test/svg-surface.c:58,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/svg-surface.c:59,1
    - Dst: cairo_scale
      Src: /src/cairo/test/svg-surface.c:55,1
    - Dst: cairo_save
      Src: /src/cairo/test/svg-surface.c:60,1
    - Dst: cairo_fill
      Src: /src/cairo/test/svg-surface.c:62,1
    - Dst: cairo_restore
      Src: /src/cairo/test/svg-surface.c:64,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/svg-surface.c:66,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/svg-surface.c:69,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/svg-surface.c:70,1
    - Dst: cairo_arc
      Src: /src/cairo/test/svg-surface.c:74,1
    - Dst: cairo_fill
      Src: /src/cairo/test/svg-surface.c:77,1
    - Dst: cairo_arc
      Src: /src/cairo/test/svg-surface.c:76,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/svg-surface.c:81,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/svg-surface.c:85,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/svg-surface.c:80,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/svg-surface.c:73,1
    - Dst: cairo_fill
      Src: /src/cairo/test/svg-surface.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 88
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 88
    functionName: draw
    functionSourceFile: /src/cairo/test/svg-surface.c
    functionUses: []
    functionsReached:
    - cairo_set_line_width
    - cairo_curve_to
    - cairo_arc
    - cairo_save
    - cairo_scale
    - cairo_stroke
    - cairo_restore
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_translate
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_mkdir
      Src: /src/cairo/test/svg-surface.c:96,1
    - Dst: cairo_test_is_target_enabled
      Src: /src/cairo/test/svg-surface.c:99,1
    - Dst: cairo_svg_surface_create
      Src: /src/cairo/test/svg-surface.c:105,1
    - Dst: xasprintf
      Src: /src/cairo/test/svg-surface.c:104,1
    - Dst: cairo_test_is_target_enabled
      Src: /src/cairo/test/svg-surface.c:98,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/svg-surface.c:107,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/svg-surface.c:108,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/svg-surface.c:111,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/svg-surface.c:111,1
    - Dst: free
      Src: /src/cairo/test/svg-surface.c:112,1
    - Dst: draw
      Src: /src/cairo/test/svg-surface.c:118,1
    - Dst: cairo_show_page
      Src: /src/cairo/test/svg-surface.c:120,1
    - Dst: printf
      Src: /src/cairo/test/svg-surface.c:125,1
    - Dst: free
      Src: /src/cairo/test/svg-surface.c:126,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/svg-surface.c:123,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/svg-surface.c:122,1
    - Dst: cairo_create
      Src: /src/cairo/test/svg-surface.c:116,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - cairo_test_context_t*
    constantsTouched: []
    func_position:
      end: 128
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 128
    functionName: preamble
    functionSourceFile: /src/cairo/test/svg-surface.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - printf
    - cairo_svg_surface_create
    - cairo_show_page
    - free
    - xasprintf
    - cairo_surface_status
    - cairo_test_mkdir
    - cairo_create
    - cairo_surface_destroy
    - cairo_test_is_target_enabled
    - cairo_destroy
    - draw
    - cairo_status_to_string
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t preamble (cairo_test_context_t *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_translate
      Src: /src/cairo/test/create-regions.c:235,1
    - Dst: cairo_save
      Src: /src/cairo/test/create-regions.c:237,1
    - Dst: cairo_save
      Src: /src/cairo/test/create-regions.c:239,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/create-regions.c:240,1
    - Dst: cairo_paint
      Src: /src/cairo/test/create-regions.c:241,1
    - Dst: cairo_restore
      Src: /src/cairo/test/create-regions.c:242,1
    - Dst: cairo_translate
      Src: /src/cairo/test/create-regions.c:243,1
    - Dst: cairo_restore
      Src: /src/cairo/test/create-regions.c:245,1
    - Dst: cairo_translate
      Src: /src/cairo/test/create-regions.c:246,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - cr
    - recordings
    argTypes:
    - cairo_t*
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 248
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 248
    functionName: draw
    functionSourceFile: /src/cairo/test/create-regions.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_save
    - cairo_restore
    - cairo_translate
    - cairo_set_source_surface
    linkageType: ''
    returnType: void
    signature: 'static void draw (cairo_t *cr, cairo_surface_t *recordings[TEST_ROWS][TEST_COLS]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/cairo/test/create-regions.c:108,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/create-regions.c:109,1
    - Dst: exit
      Src: /src/cairo/test/create-regions.c:111,1
    - Dst: strerror
      Src: /src/cairo/test/create-regions.c:110,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - pathname
    argTypes:
    - cairo_test_context_t*
    - char*
    constantsTouched: []
    func_position:
      end: 113
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 113
    functionName: _xunlink
    functionSourceFile: /src/cairo/test/create-regions.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - exit
    - strerror
    - unlink
    linkageType: ''
    returnType: void
    signature: 'static void _xunlink (const cairo_test_context_t *ctx, const char
      *pathname) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cairo/test/create-regions.c:264,1
    - Dst: cairo_pdf_surface_create_for_stream
      Src: /src/cairo/test/create-regions.c:265,1
    - Dst: cairo_ps_surface_create_for_stream
      Src: /src/cairo/test/create-regions.c:266,1
    - Dst: cairo_svg_surface_create_for_stream
      Src: /src/cairo/test/create-regions.c:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 268
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 268
    functionName: init_test_surfaces
    functionSourceFile: /src/cairo/test/create-regions.c
    functionUses: []
    functionsReached:
    - cairo_svg_surface_create_for_stream
    - cairo_ps_surface_create_for_stream
    - memset
    - cairo_pdf_surface_create_for_stream
    linkageType: ''
    returnType: void
    signature: 'static void init_test_surfaces() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/create-regions.c:292,1
    - Dst: free
      Src: /src/cairo/test/create-regions.c:296,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 298
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 298
    functionName: destroy_test_surfaces
    functionSourceFile: /src/cairo/test/create-regions.c
    functionUses: []
    functionsReached:
    - free
    - cairo_surface_destroy
    linkageType: ''
    returnType: void
    signature: 'static void destroy_test_surfaces() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_recording_surface_create
      Src: /src/cairo/test/create-regions.c:79,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/create-regions.c:84,1
    - Dst: cairo_create
      Src: /src/cairo/test/create-regions.c:80,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/create-regions.c:85,1
    - Dst: cairo_rotate
      Src: /src/cairo/test/create-regions.c:82,1
    - Dst: cairo_fill
      Src: /src/cairo/test/create-regions.c:86,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/create-regions.c:88,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/create-regions.c:90,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/create-regions.c:91,1
    - Dst: cairo_fill
      Src: /src/cairo/test/create-regions.c:92,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/create-regions.c:94,1
    - Dst: cairo_create
      Src: /src/cairo/test/create-regions.c:97,1
    - Dst: cairo_recording_surface_create
      Src: /src/cairo/test/create-regions.c:96,1
    - Dst: cairo_paint
      Src: /src/cairo/test/create-regions.c:100,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/create-regions.c:99,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/create-regions.c:102,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - op
    - recording
    - recording_group
    argTypes:
    - cairo_operator_t
    - cairo_surface_t**
    - cairo_surface_t**
    constantsTouched: []
    func_position:
      end: 103
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 103
    functionName: create_recordings
    functionSourceFile: /src/cairo/test/create-regions.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_destroy
    - cairo_create
    - cairo_set_operator
    - cairo_rotate
    - cairo_set_source_rgb
    - cairo_fill
    - cairo_recording_surface_create
    - cairo_set_source_surface
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void create_recordings (cairo_operator_t op, cairo_surface_t
      **recording, cairo_surface_t **recording_group) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/create-regions.c:136,1
    - Dst: xasprintf
      Src: /src/cairo/test/create-regions.c:142,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/create-regions.c:145,1
    - Dst: free
      Src: /src/cairo/test/create-regions.c:150,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/create-regions.c:158,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/create-regions.c:157,1
    - Dst: cairo_boilerplate_content_name
      Src: /src/cairo/test/create-regions.c:165,1
    - Dst: free
      Src: /src/cairo/test/create-regions.c:179,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/create-regions.c:188,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/create-regions.c:215,1
    - Dst: _xunlink
      Src: /src/cairo/test/create-regions.c:204,1
    - Dst: free
      Src: /src/cairo/test/create-regions.c:193,1
    - Dst: xasprintf
      Src: /src/cairo/test/create-regions.c:141,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/create-regions.c:146,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/create-regions.c:147,1
    - Dst: _xunlink
      Src: /src/cairo/test/create-regions.c:154,1
    - Dst: cairo_surface_write_to_png
      Src: /src/cairo/test/create-regions.c:155,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/create-regions.c:159,1
    - Dst: free
      Src: /src/cairo/test/create-regions.c:149,1
    - Dst: free
      Src: /src/cairo/test/create-regions.c:161,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/create-regions.c:175,1
    - Dst: free
      Src: /src/cairo/test/create-regions.c:178,1
    - Dst: image_diff
      Src: /src/cairo/test/create-regions.c:201,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/create-regions.c:216,1
    - Dst: free
      Src: /src/cairo/test/create-regions.c:224,1
    - Dst: free
      Src: /src/cairo/test/create-regions.c:191,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/create-regions.c:148,1
    - Dst: free
      Src: /src/cairo/test/create-regions.c:160,1
    - Dst: cairo_test_reference_filename
      Src: /src/cairo/test/create-regions.c:166,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/create-regions.c:177,1
    - Dst: cairo_test_get_reference_image
      Src: /src/cairo/test/create-regions.c:183,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/create-regions.c:185,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/create-regions.c:186,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/create-regions.c:188,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/create-regions.c:190,1
    - Dst: free
      Src: /src/cairo/test/create-regions.c:192,1
    - Dst: free
      Src: /src/cairo/test/create-regions.c:223,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/create-regions.c:197,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/create-regions.c:221,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/create-regions.c:134,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/create-regions.c:135,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/create-regions.c:147,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/create-regions.c:189,1
    - Dst: image_diff_is_failure
      Src: /src/cairo/test/create-regions.c:209,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/create-regions.c:220,1
    - Dst: free
      Src: /src/cairo/test/create-regions.c:222,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/create-regions.c:206,1
    - Dst: cairo_surface_write_to_png
      Src: /src/cairo/test/create-regions.c:213,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/create-regions.c:207,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 76
    argCount: 5
    argNames:
    - ctx
    - target
    - test_name
    - base_name
    - surface
    argTypes:
    - cairo_test_context_t*
    - cairo_boilerplate_target_t*
    - char*
    - char*
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 227
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 227
    functionName: check_result
    functionSourceFile: /src/cairo/test/create-regions.c
    functionUses: []
    functionsReached:
    - cairo_test_log
    - cairo_boilerplate_content_name
    - image_diff_is_failure
    - image_diff
    - _xunlink
    - free
    - xasprintf
    - cairo_surface_status
    - cairo_test_get_reference_image
    - cairo_surface_write_to_png
    - cairo_surface_destroy
    - cairo_image_surface_create
    - cairo_test_reference_filename
    - cairo_status_to_string
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t check_result (cairo_test_context_t *ctx,\t const\
      \ cairo_boilerplate_target_t *target,\t const char *test_name,\t const char\
      \ *base_name,\t cairo_surface_t *surface) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_get_type
      Src: /src/cairo/test/create-regions.c:277,1
    - Dst: cairo_surface_get_type
      Src: /src/cairo/test/create-regions.c:277,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/create-regions.c:278,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - target
    - surface
    - base_name
    - closure
    argTypes:
    - cairo_boilerplate_target_t*
    - cairo_surface_t*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 286
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 286
    functionName: add_test_surface
    functionSourceFile: /src/cairo/test/create-regions.c
    functionUses: []
    functionsReached:
    - cairo_surface_destroy
    - cairo_surface_get_type
    linkageType: ''
    returnType: void
    signature: 'static void add_test_surface (const cairo_boilerplate_target_t *target,
      cairo_surface_t *surface, char *base_name, void *closure) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_mkdir
      Src: /src/cairo/test/create-regions.c:307,1
    - Dst: create_recordings
      Src: /src/cairo/test/create-regions.c:327,1
    - Dst: create_recordings
      Src: /src/cairo/test/create-regions.c:328,1
    - Dst: add_test_surface
      Src: /src/cairo/test/create-regions.c:371,1
    - Dst: printf
      Src: /src/cairo/test/create-regions.c:381,1
    - Dst: draw
      Src: /src/cairo/test/create-regions.c:387,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/create-regions.c:390,1
    - Dst: printf
      Src: /src/cairo/test/create-regions.c:408,1
    - Dst: fflush
      Src: /src/cairo/test/create-regions.c:412,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/create-regions.c:420,1
    - Dst: destroy_test_surfaces
      Src: /src/cairo/test/create-regions.c:416,1
    - Dst: create_recordings
      Src: /src/cairo/test/create-regions.c:326,1
    - Dst: cairo_test_is_target_enabled
      Src: /src/cairo/test/create-regions.c:343,1
    - Dst: cairo_boilerplate_content_name
      Src: /src/cairo/test/create-regions.c:349,1
    - Dst: cairo_status
      Src: /src/cairo/test/create-regions.c:389,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/create-regions.c:378,1
    - Dst: cairo_surface_set_fallback_resolution
      Src: /src/cairo/test/create-regions.c:370,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/create-regions.c:396,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/create-regions.c:397,1
    - Dst: check_result
      Src: /src/cairo/test/create-regions.c:401,1
    - Dst: printf
      Src: /src/cairo/test/create-regions.c:410,1
    - Dst: fflush
      Src: /src/cairo/test/create-regions.c:382,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/create-regions.c:391,1
    - Dst: init_test_surfaces
      Src: /src/cairo/test/create-regions.c:330,1
    - Dst: xasprintf
      Src: /src/cairo/test/create-regions.c:351,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/create-regions.c:362,1
    - Dst: cairo_create
      Src: /src/cairo/test/create-regions.c:385,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/create-regions.c:363,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 68
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - cairo_test_context_t*
    constantsTouched: []
    func_position:
      end: 425
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 425
    functionName: preamble
    functionSourceFile: /src/cairo/test/create-regions.c
    functionUses: []
    functionsReached:
    - printf
    - cairo_surface_finish
    - xasprintf
    - destroy_test_surfaces
    - create_recordings
    - draw
    - fflush
    - cairo_surface_status
    - cairo_create
    - check_result
    - init_test_surfaces
    - cairo_test_is_target_enabled
    - cairo_status
    - add_test_surface
    - cairo_test_log
    - cairo_test_mkdir
    - cairo_destroy
    - cairo_status_to_string
    - cairo_boilerplate_content_name
    - cairo_surface_set_fallback_resolution
    - cairo_surface_destroy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t preamble (cairo_test_context_t *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - minval
    - maxval
    argTypes:
    - double
    - double
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: uniform_random
    functionSourceFile: /src/cairo/test/random-intersections-curves-eo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: 'static double uniform_random (double minval, double maxval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/random-intersections-curves-eo.c:47,1
    - Dst: cairo_translate
      Src: /src/cairo/test/random-intersections-curves-eo.c:51,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/random-intersections-curves-eo.c:54,1
    - Dst: cairo_paint
      Src: /src/cairo/test/random-intersections-curves-eo.c:48,1
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/test/random-intersections-curves-eo.c:52,1
    - Dst: uniform_random
      Src: /src/cairo/test/random-intersections-curves-eo.c:56,1
    - Dst: uniform_random
      Src: /src/cairo/test/random-intersections-curves-eo.c:57,1
    - Dst: uniform_random
      Src: /src/cairo/test/random-intersections-curves-eo.c:58,1
    - Dst: uniform_random
      Src: /src/cairo/test/random-intersections-curves-eo.c:59,1
    - Dst: uniform_random
      Src: /src/cairo/test/random-intersections-curves-eo.c:60,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/random-intersections-curves-eo.c:62,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/random-intersections-curves-eo.c:67,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/test/random-intersections-curves-eo.c:70,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/random-intersections-curves-eo.c:73,1
    - Dst: uniform_random
      Src: /src/cairo/test/random-intersections-curves-eo.c:61,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/random-intersections-curves-eo.c:72,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/random-intersections-curves-eo.c:69,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/random-intersections-curves-eo.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 76
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 76
    functionName: draw
    functionSourceFile: /src/cairo/test/random-intersections-curves-eo.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - uniform_random
    - cairo_set_source_rgb
    - cairo_set_line_width
    - cairo_curve_to
    - cairo_close_path
    - cairo_stroke
    - cairo_fill_preserve
    - cairo_translate
    - cairo_set_fill_rule
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/line-width.c:38,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/line-width.c:41,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/line-width.c:45,1
    - Dst: cairo_translate
      Src: /src/cairo/test/line-width.c:42,1
    - Dst: cairo_paint
      Src: /src/cairo/test/line-width.c:39,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/line-width.c:46,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/line-width.c:47,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/line-width.c:48,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/line-width.c:49,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/line-width.c:50,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/line-width.c:51,1
    - Dst: cairo_translate
      Src: /src/cairo/test/line-width.c:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 56
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 56
    functionName: draw
    functionSourceFile: /src/cairo/test/line-width.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_line_width
    - cairo_set_source_rgb
    - cairo_rel_line_to
    - cairo_stroke
    - cairo_translate
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_antialias
      Src: /src/cairo/test/line-width.c:61,1
    - Dst: draw
      Src: /src/cairo/test/line-width.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: draw_a1
    functionSourceFile: /src/cairo/test/line-width.c
    functionUses: []
    functionsReached:
    - draw
    - cairo_set_antialias
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_a1 (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/quartz-color-font.c:38,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/quartz-color-font.c:42,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/quartz-color-font.c:40,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/quartz-color-font.c:39,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/quartz-color-font.c:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 46
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 46
    functionName: draw
    functionSourceFile: /src/cairo/test/quartz-color-font.c
    functionUses: []
    functionsReached:
    - cairo_set_font_size
    - cairo_move_to
    - cairo_select_font_face
    - cairo_show_text
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_scaled_font_text_to_glyphs
      Src: /src/cairo/test/show-glyphs-advance.c:42,1
    - Dst: cairo_glyph_free
      Src: /src/cairo/test/show-glyphs-advance.c:53,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/show-glyphs-advance.c:49,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - scaled_font
    - utf8
    - glyph
    argTypes:
    - cairo_test_context_t*
    - cairo_scaled_font_t*
    - char*
    - cairo_glyph_t*
    constantsTouched: []
    func_position:
      end: 57
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 57
    functionName: get_glyph
    functionSourceFile: /src/cairo/test/show-glyphs-advance.c
    functionUses: []
    functionsReached:
    - cairo_scaled_font_text_to_glyphs
    - cairo_glyph_free
    - cairo_test_status_from_status
    linkageType: ''
    returnType: cairo_test_status_t
    signature: "static cairo_test_status_t get_glyph (const cairo_test_context_t *ctx,\t\
      \ cairo_scaled_font_t *scaled_font,\t const char *utf8,\t cairo_glyph_t *glyph) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/show-glyphs-advance.c:66,1
    - Dst: cairo_paint
      Src: /src/cairo/test/show-glyphs-advance.c:74,1
    - Dst: cairo_get_scaled_font
      Src: /src/cairo/test/show-glyphs-advance.c:76,1
    - Dst: xmalloc
      Src: /src/cairo/test/show-glyphs-advance.c:68,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/show-glyphs-advance.c:73,1
    - Dst: get_glyph
      Src: /src/cairo/test/show-glyphs-advance.c:79,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/show-glyphs-advance.c:87,1
    - Dst: cairo_show_glyphs
      Src: /src/cairo/test/show-glyphs-advance.c:88,1
    - Dst: cairo_translate
      Src: /src/cairo/test/show-glyphs-advance.c:90,1
    - Dst: cairo_rotate
      Src: /src/cairo/test/show-glyphs-advance.c:91,1
    - Dst: free
      Src: /src/cairo/test/show-glyphs-advance.c:96,1
    - Dst: cairo_show_glyphs
      Src: /src/cairo/test/show-glyphs-advance.c:93,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 99
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 99
    functionName: draw
    functionSourceFile: /src/cairo/test/show-glyphs-advance.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_get_scaled_font
    - cairo_show_glyphs
    - xmalloc
    - cairo_test_get_context
    - get_glyph
    - free
    - cairo_rotate
    - cairo_set_source_rgb
    - cairo_translate
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/test/mask-ctm.c:38,1
    - Dst: cairo_pattern_create_for_surface
      Src: /src/cairo/test/mask-ctm.c:40,1
    - Dst: cairo_translate
      Src: /src/cairo/test/mask-ctm.c:50,1
    - Dst: cairo_save
      Src: /src/cairo/test/mask-ctm.c:48,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/mask-ctm.c:42,1
    - Dst: cairo_mask
      Src: /src/cairo/test/mask-ctm.c:51,1
    - Dst: cairo_restore
      Src: /src/cairo/test/mask-ctm.c:53,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/test/mask-ctm.c:56,1
    - Dst: cairo_pattern_set_matrix
      Src: /src/cairo/test/mask-ctm.c:57,1
    - Dst: cairo_mask
      Src: /src/cairo/test/mask-ctm.c:59,1
    - Dst: cairo_translate
      Src: /src/cairo/test/mask-ctm.c:62,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/mask-ctm.c:65,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/mask-ctm.c:68,1
    - Dst: cairo_mask
      Src: /src/cairo/test/mask-ctm.c:63,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/mask-ctm.c:67,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 71
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 71
    functionName: draw
    functionSourceFile: /src/cairo/test/mask-ctm.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_for_surface
    - cairo_surface_finish
    - cairo_set_source_rgb
    - cairo_image_surface_create_for_data
    - cairo_save
    - cairo_mask
    - cairo_pattern_set_matrix
    - cairo_surface_destroy
    - cairo_restore
    - cairo_translate
    - cairo_matrix_init_translate
    - cairo_pattern_destroy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/self-copy-overlap.c:33,1
    - Dst: cairo_paint
      Src: /src/cairo/test/self-copy-overlap.c:37,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/self-copy-overlap.c:36,1
    - Dst: cairo_paint
      Src: /src/cairo/test/self-copy-overlap.c:34,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/self-copy-overlap.c:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 40
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 40
    functionName: draw
    functionSourceFile: /src/cairo/test/self-copy-overlap.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_get_target
    - cairo_set_source_rgba
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/test/move-to-show-surface.c:58,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/move-to-show-surface.c:61,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/move-to-show-surface.c:65,1
    - Dst: cairo_paint
      Src: /src/cairo/test/move-to-show-surface.c:63,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/move-to-show-surface.c:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 70
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 70
    functionName: draw
    functionSourceFile: /src/cairo/test/move-to-show-surface.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_surface_finish
    - cairo_image_surface_create_for_data
    - cairo_surface_destroy
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_paint
      Src: /src/cairo/test/smask-stroke.c:35,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/smask-stroke.c:41,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/smask-stroke.c:44,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/smask-stroke.c:52,1
    - Dst: cairo_arc
      Src: /src/cairo/test/smask-stroke.c:57,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/smask-stroke.c:54,1
    - Dst: cairo_mask_surface
      Src: /src/cairo/test/smask-stroke.c:61,1
    - Dst: cairo_create
      Src: /src/cairo/test/smask-stroke.c:40,1
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/smask-stroke.c:37,1
    - Dst: cairo_save
      Src: /src/cairo/test/smask-stroke.c:43,1
    - Dst: cairo_restore
      Src: /src/cairo/test/smask-stroke.c:46,1
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/test/smask-stroke.c:48,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/smask-stroke.c:51,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/smask-stroke.c:34,1
    - Dst: cairo_get_group_target
      Src: /src/cairo/test/smask-stroke.c:37,1
    - Dst: cairo_paint
      Src: /src/cairo/test/smask-stroke.c:45,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/smask-stroke.c:50,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/smask-stroke.c:55,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/smask-stroke.c:58,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/smask-stroke.c:60,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/smask-stroke.c:62,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/smask-stroke.c:53,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/smask-stroke.c:49,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/smask-stroke.c:61,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 65
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 65
    functionName: draw
    functionSourceFile: /src/cairo/test/smask-stroke.c
    functionUses: []
    functionsReached:
    - cairo_get_group_target
    - cairo_paint
    - cairo_mask_surface
    - cairo_destroy
    - cairo_pattern_create_linear
    - cairo_arc
    - cairo_create
    - cairo_save
    - cairo_surface_destroy
    - cairo_set_source
    - cairo_stroke
    - cairo_restore
    - cairo_set_operator
    - cairo_pattern_add_color_stop_rgba
    - cairo_set_source_rgb
    - cairo_get_target
    - cairo_surface_create_similar
    - cairo_pattern_destroy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/a1-rasterisation.c:45,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/a1-rasterisation.c:48,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/a1-rasterisation.c:53,1
    - Dst: cairo_paint
      Src: /src/cairo/test/a1-rasterisation.c:46,1
    - Dst: cairo_set_antialias
      Src: /src/cairo/test/a1-rasterisation.c:49,1
    - Dst: SUBPIXEL
      Src: /src/cairo/test/a1-rasterisation.c:53,1
    - Dst: SUBPIXEL
      Src: /src/cairo/test/a1-rasterisation.c:53,1
    - Dst: cairo_fill
      Src: /src/cairo/test/a1-rasterisation.c:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 59
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 59
    functionName: rectangles
    functionSourceFile: /src/cairo/test/a1-rasterisation.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - SUBPIXEL
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_set_antialias
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t rectangles (cairo_t *cr, int width, int
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/a1-rasterisation.c:66,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/a1-rasterisation.c:75,1
    - Dst: cairo_paint
      Src: /src/cairo/test/a1-rasterisation.c:67,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/a1-rasterisation.c:69,1
    - Dst: cairo_set_antialias
      Src: /src/cairo/test/a1-rasterisation.c:70,1
    - Dst: SUBPIXEL
      Src: /src/cairo/test/a1-rasterisation.c:75,1
    - Dst: SUBPIXEL
      Src: /src/cairo/test/a1-rasterisation.c:75,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/a1-rasterisation.c:76,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/a1-rasterisation.c:77,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/a1-rasterisation.c:78,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/a1-rasterisation.c:80,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/a1-rasterisation.c:79,1
    - Dst: cairo_fill
      Src: /src/cairo/test/a1-rasterisation.c:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 86
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 86
    functionName: triangles
    functionSourceFile: /src/cairo/test/a1-rasterisation.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - SUBPIXEL
    - cairo_rel_line_to
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_move_to
    - cairo_set_antialias
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t triangles (cairo_t *cr, int width, int
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _stress_font_cache
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:37,1
    - Dst: cairo_set_font_face
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:41,1
    - Dst: cairo_font_extents
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:42,1
    - Dst: cairo_ft_font_face_create_for_ft_face
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:39,1
    - Dst: _stress_font_cache
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:44,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 47
    functionName: _load_font
    functionSourceFile: /src/cairo/test/ft-font-create-for-ft-face.c
    functionUses: []
    functionsReached:
    - cairo_set_font_face
    - cairo_font_extents
    - _stress_font_cache
    - cairo_ft_font_face_create_for_ft_face
    linkageType: ''
    returnType: cairo_font_face_t*
    signature: 'static cairo_font_face_t *_load_font (FT_Face ft_face, int flags,
      cairo_t *cr, int lvl) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FcPatternCreate
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:125,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:136,1
    - Dst: cairo_font_face_status
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:144,1
    - Dst: cairo_get_matrix
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:158,1
    - Dst: cairo_scaled_font_create
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:164,1
    - Dst: FcPatternDestroy
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:172,1
    - Dst: cairo_scaled_font_get_type
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:181,1
    - Dst: cairo_ft_scaled_font_lock_face
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:186,1
    - Dst: cairo_scaled_font_destroy
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:189,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:214,1
    - Dst: cairo_restore
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:211,1
    - Dst: FcDefaultSubstitute
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:132,1
    - Dst: FcFontMatch
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:133,1
    - Dst: FcPatternDestroy
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:142,1
    - Dst: cairo_font_face_get_type
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:149,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:150,1
    - Dst: cairo_font_options_create
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:160,1
    - Dst: cairo_get_font_options
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:162,1
    - Dst: cairo_font_options_destroy
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:169,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:175,1
    - Dst: cairo_scaled_font_status
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:176,1
    - Dst: cairo_scaled_font_get_type
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:179,1
    - Dst: cairo_set_font_face
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:208,1
    - Dst: cairo_ft_scaled_font_unlock_face
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:215,1
    - Dst: _stress_font_cache
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:203,1
    - Dst: cairo_ft_font_face_create_for_ft_face
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:207,1
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:109,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:128,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:127,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:148,1
    - Dst: cairo_ft_font_face_create_for_pattern
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:140,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:144,1
    - Dst: cairo_font_face_status
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:141,1
    - Dst: FcPatternDestroy
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:151,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:170,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:180,1
    - Dst: cairo_scaled_font_destroy
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:182,1
    - Dst: cairo_scaled_font_destroy
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:216,1
    - Dst: cairo_save
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:200,1
    - Dst: FcConfigSubstitute
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:131,1
    - Dst: FcPatternDestroy
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:135,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:137,1
    - Dst: FcPatternDestroy
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:143,1
    - Dst: cairo_font_face_get_type
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:147,1
    - Dst: FcPatternDestroy
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:152,1
    - Dst: cairo_matrix_init_identity
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:156,1
    - Dst: FcPatternDestroy
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:171,1
    - Dst: cairo_scaled_font_status
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:174,1
    - Dst: cairo_test_log
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:188,1
    - Dst: cairo_font_extents
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:209,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 70
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 219
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 219
    functionName: draw
    functionSourceFile: /src/cairo/test/ft-font-create-for-ft-face.c
    functionUses: []
    functionsReached:
    - FcPatternDestroy
    - FcDefaultSubstitute
    - cairo_font_options_destroy
    - cairo_font_options_create
    - cairo_ft_scaled_font_lock_face
    - cairo_test_get_context
    - cairo_ft_font_face_create_for_pattern
    - cairo_save
    - FcPatternCreate
    - cairo_get_matrix
    - FcConfigSubstitute
    - cairo_scaled_font_get_type
    - cairo_get_font_options
    - cairo_test_log
    - cairo_font_face_get_type
    - cairo_ft_font_face_create_for_ft_face
    - cairo_test_status_from_status
    - cairo_scaled_font_status
    - cairo_font_face_destroy
    - cairo_font_extents
    - _stress_font_cache
    - cairo_matrix_init_identity
    - cairo_font_face_status
    - cairo_restore
    - cairo_ft_scaled_font_unlock_face
    - cairo_set_font_face
    - cairo_scaled_font_destroy
    - cairo_scaled_font_create
    - FcFontMatch
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:64,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:71,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:63,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:70,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:79,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:88,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:97,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:62,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:69,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:76,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:94,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:78,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:83,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:87,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:92,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:96,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:85,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:65,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:72,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/ft-font-create-for-ft-face.c:77,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 43
    argCount: 3
    argNames:
    - ft_face
    - cr
    - lvl
    argTypes:
    - FT_Face
    - cairo_t*
    - int
    constantsTouched: []
    func_position:
      end: 104
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 104
    functionName: _stress_font_cache
    functionSourceFile: /src/cairo/test/ft-font-create-for-ft-face.c
    functionUses: []
    functionsReached:
    - cairo_font_face_destroy
    linkageType: ''
    returnType: void
    signature: 'static void _stress_font_cache (FT_Face ft_face, cairo_t *cr, int
      lvl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: destroy_data1
    functionSourceFile: /src/cairo/test/user-data.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void destroy_data1 (void *p) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/user-data.c:52,1
    - Dst: cairo_surface_get_user_data
      Src: /src/cairo/test/user-data.c:61,1
    - Dst: cairo_surface_set_user_data
      Src: /src/cairo/test/user-data.c:57,1
    - Dst: cairo_surface_set_user_data
      Src: /src/cairo/test/user-data.c:53,1
    - Dst: assert
      Src: /src/cairo/test/user-data.c:61,1
    - Dst: cairo_surface_set_user_data
      Src: /src/cairo/test/user-data.c:62,1
    - Dst: assert
      Src: /src/cairo/test/user-data.c:68,1
    - Dst: assert
      Src: /src/cairo/test/user-data.c:86,1
    - Dst: assert
      Src: /src/cairo/test/user-data.c:95,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/user-data.c:101,1
    - Dst: assert
      Src: /src/cairo/test/user-data.c:74,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/user-data.c:92,1
    - Dst: cairo_surface_get_user_data
      Src: /src/cairo/test/user-data.c:66,1
    - Dst: cairo_surface_set_user_data
      Src: /src/cairo/test/user-data.c:77,1
    - Dst: cairo_surface_set_user_data
      Src: /src/cairo/test/user-data.c:81,1
    - Dst: cairo_surface_set_user_data
      Src: /src/cairo/test/user-data.c:88,1
    - Dst: assert
      Src: /src/cairo/test/user-data.c:85,1
    - Dst: assert
      Src: /src/cairo/test/user-data.c:94,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/user-data.c:100,1
    - Dst: assert
      Src: /src/cairo/test/user-data.c:66,1
    - Dst: assert
      Src: /src/cairo/test/user-data.c:67,1
    - Dst: cairo_surface_get_user_data
      Src: /src/cairo/test/user-data.c:86,1
    - Dst: cairo_surface_set_user_data
      Src: /src/cairo/test/user-data.c:70,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - cairo_test_context_t*
    constantsTouched: []
    func_position:
      end: 102
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 102
    functionName: preamble
    functionSourceFile: /src/cairo/test/user-data.c
    functionUses: []
    functionsReached:
    - cairo_surface_set_user_data
    - cairo_test_status_from_status
    - cairo_surface_destroy
    - assert
    - cairo_image_surface_create
    - cairo_surface_get_user_data
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t preamble (cairo_test_context_t *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: destroy_data2
    functionSourceFile: /src/cairo/test/user-data.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void destroy_data2 (void *p) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/mime-data.c:84,1
    - Dst: cairo_surface_set_mime_data
      Src: /src/cairo/test/mime-data.c:100,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/mime-data.c:98,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/mime-data.c:96,1
    - Dst: read_file
      Src: /src/cairo/test/mime-data.c:94,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/mime-data.c:104,1
    - Dst: free
      Src: /src/cairo/test/mime-data.c:105,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/mime-data.c:106,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/mime-data.c:109,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/mime-data.c:110,1
    - Dst: cairo_paint
      Src: /src/cairo/test/mime-data.c:112,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 5
    argNames:
    - cr
    - filename
    - mime_type
    - x
    - y
    argTypes:
    - cairo_t*
    - char*
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 115
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 115
    functionName: paint_file
    functionSourceFile: /src/cairo/test/mime-data.c
    functionUses: []
    functionsReached:
    - read_file
    - cairo_paint
    - cairo_test_status_from_status
    - cairo_test_get_context
    - free
    - cairo_surface_destroy
    - cairo_image_surface_create
    - cairo_surface_set_mime_data
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_test_status_t
    signature: "static cairo_test_status_t paint_file (cairo_t *cr,\t const char *filename,\
      \ const char *mime_type,\t int x, int y) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/mime-data.c:211,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/mime-data.c:226,1
    - Dst: read_file
      Src: /src/cairo/test/mime-data.c:224,1
    - Dst: cairo_surface_set_mime_data
      Src: /src/cairo/test/mime-data.c:231,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/mime-data.c:228,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/mime-data.c:235,1
    - Dst: free
      Src: /src/cairo/test/mime-data.c:236,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/mime-data.c:237,1
    - Dst: cairo_surface_set_mime_data
      Src: /src/cairo/test/mime-data.c:241,1
    - Dst: strlen
      Src: /src/cairo/test/mime-data.c:243,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/mime-data.c:246,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/mime-data.c:251,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/mime-data.c:247,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/mime-data.c:250,1
    - Dst: cairo_paint
      Src: /src/cairo/test/mime-data.c:253,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 3
    argNames:
    - cr
    - x
    - y
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 256
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 256
    functionName: paint_ccitt_file
    functionSourceFile: /src/cairo/test/mime-data.c
    functionUses: []
    functionsReached:
    - read_file
    - cairo_paint
    - strlen
    - cairo_test_status_from_status
    - cairo_test_get_context
    - free
    - cairo_surface_destroy
    - cairo_image_surface_create
    - cairo_surface_set_mime_data
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t paint_ccitt_file (cairo_t *cr, int x, int
      y) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: read_file
      Src: /src/cairo/test/mime-data.c:136,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/mime-data.c:146,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/mime-data.c:174,1
    - Dst: cairo_surface_set_mime_data
      Src: /src/cairo/test/mime-data.c:171,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/mime-data.c:158,1
    - Dst: cairo_surface_set_mime_data
      Src: /src/cairo/test/mime-data.c:178,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/mime-data.c:182,1
    - Dst: cairo_surface_set_mime_data
      Src: /src/cairo/test/mime-data.c:192,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/mime-data.c:196,1
    - Dst: free
      Src: /src/cairo/test/mime-data.c:154,1
    - Dst: read_file
      Src: /src/cairo/test/mime-data.c:165,1
    - Dst: cairo_paint
      Src: /src/cairo/test/mime-data.c:161,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/mime-data.c:175,1
    - Dst: read_file
      Src: /src/cairo/test/mime-data.c:188,1
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/mime-data.c:120,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/mime-data.c:138,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/mime-data.c:140,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/mime-data.c:155,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/mime-data.c:159,1
    - Dst: free
      Src: /src/cairo/test/mime-data.c:183,1
    - Dst: free
      Src: /src/cairo/test/mime-data.c:197,1
    - Dst: cairo_paint
      Src: /src/cairo/test/mime-data.c:204,1
    - Dst: cairo_surface_set_mime_data
      Src: /src/cairo/test/mime-data.c:142,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/mime-data.c:145,1
    - Dst: cairo_surface_set_mime_data
      Src: /src/cairo/test/mime-data.c:149,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/mime-data.c:153,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/mime-data.c:169,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/mime-data.c:167,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/mime-data.c:184,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/mime-data.c:190,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/mime-data.c:198,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/mime-data.c:201,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/mime-data.c:202,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 3
    argNames:
    - cr
    - x
    - y
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 206
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 206
    functionName: paint_jbig2_file
    functionSourceFile: /src/cairo/test/mime-data.c
    functionUses: []
    functionsReached:
    - read_file
    - cairo_paint
    - cairo_test_status_from_status
    - cairo_test_get_context
    - free
    - cairo_surface_destroy
    - cairo_image_surface_create
    - cairo_surface_set_mime_data
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t paint_jbig2_file (cairo_t *cr, int x, int
      y) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: paint_file
      Src: /src/cairo/test/mime-data.c:266,1
    - Dst: paint_jbig2_file
      Src: /src/cairo/test/mime-data.c:278,1
    - Dst: paint_ccitt_file
      Src: /src/cairo/test/mime-data.c:282,1
    - Dst: paint_file
      Src: /src/cairo/test/mime-data.c:270,1
    - Dst: paint_file
      Src: /src/cairo/test/mime-data.c:274,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 287
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 287
    functionName: draw
    functionSourceFile: /src/cairo/test/mime-data.c
    functionUses: []
    functionsReached:
    - paint_jbig2_file
    - paint_ccitt_file
    - paint_file
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/cairo/test/mime-data.c:42,1
    - Dst: fopen
      Src: /src/cairo/test/mime-data.c:52,1
    - Dst: fseek
      Src: /src/cairo/test/mime-data.c:63,1
    - Dst: snprintf
      Src: /src/cairo/test/mime-data.c:50,1
    - Dst: ftell
      Src: /src/cairo/test/mime-data.c:64,1
    - Dst: fseek
      Src: /src/cairo/test/mime-data.c:65,1
    - Dst: xmalloc
      Src: /src/cairo/test/mime-data.c:67,1
    - Dst: fread
      Src: /src/cairo/test/mime-data.c:68,1
    - Dst: fclose
      Src: /src/cairo/test/mime-data.c:69,1
    - Dst: free
      Src: /src/cairo/test/mime-data.c:71,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 4
    argNames:
    - ctx
    - filename
    - data_out
    - length_out
    argTypes:
    - cairo_test_context_t*
    - char*
    - unsigned char**
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 77
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 77
    functionName: read_file
    functionSourceFile: /src/cairo/test/mime-data.c
    functionUses: []
    functionsReached:
    - xmalloc
    - fclose
    - free
    - fseek
    - fopen
    - fread
    - ftell
    - snprintf
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t read_file (const cairo_test_context_t *ctx,\t\
      \ const char *filename,\t unsigned char **data_out,\t unsigned int *length_out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/linear-uniform.c:33,1
    - Dst: cairo_paint
      Src: /src/cairo/test/linear-uniform.c:34,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/linear-uniform.c:38,1
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/test/linear-uniform.c:37,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/linear-uniform.c:39,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/linear-uniform.c:40,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/linear-uniform.c:41,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/linear-uniform.c:42,1
    - Dst: cairo_fill
      Src: /src/cairo/test/linear-uniform.c:43,1
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/test/linear-uniform.c:46,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/linear-uniform.c:50,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/test/linear-uniform.c:47,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/linear-uniform.c:51,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/linear-uniform.c:49,1
    - Dst: cairo_fill
      Src: /src/cairo/test/linear-uniform.c:52,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/test/linear-uniform.c:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 55
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 55
    functionName: draw
    functionSourceFile: /src/cairo/test/linear-uniform.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_pattern_create_linear
    - cairo_pattern_add_color_stop_rgb
    - cairo_set_source
    - cairo_pattern_add_color_stop_rgba
    - cairo_set_source_rgb
    - cairo_fill
    - cairo_pattern_destroy
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_dash
      Src: /src/cairo/test/dash-infinite-loop.c:50,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/dash-infinite-loop.c:51,1
    - Dst: cairo_translate
      Src: /src/cairo/test/dash-infinite-loop.c:54,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/dash-infinite-loop.c:52,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/dash-infinite-loop.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - cr
    - dx
    - dy
    - offset
    argTypes:
    - cairo_t*
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: do_dash
    functionSourceFile: /src/cairo/test/dash-infinite-loop.c
    functionUses: []
    functionsReached:
    - cairo_rel_line_to
    - cairo_set_dash
    - cairo_stroke
    - cairo_translate
    - cairo_move_to
    linkageType: ''
    returnType: void
    signature: 'static void do_dash (cairo_t *cr, double dx, double dy, double offset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/dash-infinite-loop.c:62,1
    - Dst: do_dash
      Src: /src/cairo/test/dash-infinite-loop.c:70,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/dash-infinite-loop.c:66,1
    - Dst: cairo_paint
      Src: /src/cairo/test/dash-infinite-loop.c:63,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/dash-infinite-loop.c:64,1
    - Dst: do_dash
      Src: /src/cairo/test/dash-infinite-loop.c:71,1
    - Dst: do_dash
      Src: /src/cairo/test/dash-infinite-loop.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 75
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 75
    functionName: draw
    functionSourceFile: /src/cairo/test/dash-infinite-loop.c
    functionUses: []
    functionsReached:
    - cairo_set_line_width
    - cairo_paint
    - do_dash
    - cairo_set_source_rgb
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/a8-clear.c:35,1
    - Dst: cairo_paint
      Src: /src/cairo/test/a8-clear.c:41,1
    - Dst: cairo_paint
      Src: /src/cairo/test/a8-clear.c:36,1
    - Dst: cairo_push_group_with_content
      Src: /src/cairo/test/a8-clear.c:38,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/a8-clear.c:40,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/a8-clear.c:43,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/a8-clear.c:44,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/a8-clear.c:45,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/a8-clear.c:46,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/a8-clear.c:47,1
    - Dst: cairo_pop_group
      Src: /src/cairo/test/a8-clear.c:49,1
    - Dst: cairo_mask
      Src: /src/cairo/test/a8-clear.c:51,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/a8-clear.c:52,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/a8-clear.c:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 55
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 55
    functionName: draw
    functionSourceFile: /src/cairo/test/a8-clear.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_push_group_with_content
    - cairo_pop_group
    - cairo_set_line_width
    - cairo_line_to
    - cairo_pattern_destroy
    - cairo_mask
    - cairo_stroke
    - cairo_set_operator
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_text_path
      Src: /src/cairo/test/halo.c:35,1
    - Dst: cairo_fill
      Src: /src/cairo/test/halo.c:40,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/halo.c:39,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/halo.c:37,1
    - Dst: cairo_stroke_preserve
      Src: /src/cairo/test/halo.c:38,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - cr
    - str
    argTypes:
    - cairo_t*
    - char*
    constantsTouched: []
    func_position:
      end: 41
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 41
    functionName: halo_around_path
    functionSourceFile: /src/cairo/test/halo.c
    functionUses: []
    functionsReached:
    - cairo_stroke_preserve
    - cairo_fill
    - cairo_text_path
    - cairo_set_source_rgb
    linkageType: ''
    returnType: void
    signature: 'static void halo_around_path (cairo_t *cr, const char *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_get_current_point
      Src: /src/cairo/test/halo.c:48,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/halo.c:52,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/halo.c:54,1
    - Dst: cairo_text_path
      Src: /src/cairo/test/halo.c:49,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/halo.c:51,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/halo.c:55,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/halo.c:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - cr
    - str
    argTypes:
    - cairo_t*
    - char*
    constantsTouched: []
    func_position:
      end: 57
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 57
    functionName: halo_around_text
    functionSourceFile: /src/cairo/test/halo.c
    functionUses: []
    functionsReached:
    - cairo_show_text
    - cairo_text_path
    - cairo_stroke
    - cairo_get_current_point
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: void
    signature: 'static void halo_around_text (cairo_t *cr, const char *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_translate
      Src: /src/cairo/test/halo.c:107,1
    - Dst: cairo_text_extents
      Src: /src/cairo/test/halo.c:113,1
    - Dst: cairo_scale
      Src: /src/cairo/test/halo.c:108,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/halo.c:116,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/halo.c:119,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/halo.c:122,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/halo.c:130,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/halo.c:137,1
    - Dst: cairo_paint
      Src: /src/cairo/test/halo.c:111,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/halo.c:123,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/halo.c:131,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/halo.c:134,1
    - Dst: halo_around_path
      Src: /src/cairo/test/halo.c:135,1
    - Dst: halo_around_text
      Src: /src/cairo/test/halo.c:138,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/halo.c:139,1
    - Dst: halo_around_text
      Src: /src/cairo/test/halo.c:140,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/halo.c:110,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/halo.c:115,1
    - Dst: halo_around_path
      Src: /src/cairo/test/halo.c:117,1
    - Dst: halo_around_text
      Src: /src/cairo/test/halo.c:120,1
    - Dst: halo_around_text
      Src: /src/cairo/test/halo.c:128,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/halo.c:124,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/halo.c:132,1
    - Dst: halo_around_path
      Src: /src/cairo/test/halo.c:125,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/halo.c:127,1
    - Dst: halo_around_path
      Src: /src/cairo/test/halo.c:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 143
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 143
    functionName: draw_transform
    functionSourceFile: /src/cairo/test/halo.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_translate
    - cairo_set_line_width
    - cairo_set_font_size
    - halo_around_text
    - cairo_scale
    - cairo_set_source_rgb
    - cairo_text_extents
    - cairo_move_to
    - halo_around_path
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_transform (cairo_t *cr, int width,
      int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_paint
      Src: /src/cairo/test/halo.c:66,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/halo.c:72,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/halo.c:75,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/halo.c:78,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/halo.c:86,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/halo.c:93,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/halo.c:87,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/halo.c:79,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/halo.c:90,1
    - Dst: halo_around_path
      Src: /src/cairo/test/halo.c:91,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/halo.c:95,1
    - Dst: halo_around_text
      Src: /src/cairo/test/halo.c:96,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/halo.c:65,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/halo.c:70,1
    - Dst: halo_around_text
      Src: /src/cairo/test/halo.c:94,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/halo.c:71,1
    - Dst: cairo_text_extents
      Src: /src/cairo/test/halo.c:68,1
    - Dst: halo_around_path
      Src: /src/cairo/test/halo.c:73,1
    - Dst: halo_around_text
      Src: /src/cairo/test/halo.c:76,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/halo.c:80,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/halo.c:83,1
    - Dst: halo_around_path
      Src: /src/cairo/test/halo.c:81,1
    - Dst: halo_around_text
      Src: /src/cairo/test/halo.c:84,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/halo.c:88,1
    - Dst: halo_around_path
      Src: /src/cairo/test/halo.c:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 99
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 99
    functionName: draw
    functionSourceFile: /src/cairo/test/halo.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_line_width
    - cairo_set_font_size
    - halo_around_text
    - cairo_set_source_rgb
    - cairo_text_extents
    - cairo_move_to
    - halo_around_path
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/test/mask-surface-ctm.c:36,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/mask-surface-ctm.c:39,1
    - Dst: cairo_translate
      Src: /src/cairo/test/mask-surface-ctm.c:47,1
    - Dst: cairo_mask_surface
      Src: /src/cairo/test/mask-surface-ctm.c:48,1
    - Dst: cairo_save
      Src: /src/cairo/test/mask-surface-ctm.c:45,1
    - Dst: cairo_restore
      Src: /src/cairo/test/mask-surface-ctm.c:50,1
    - Dst: cairo_mask_surface
      Src: /src/cairo/test/mask-surface-ctm.c:53,1
    - Dst: cairo_translate
      Src: /src/cairo/test/mask-surface-ctm.c:56,1
    - Dst: cairo_mask_surface
      Src: /src/cairo/test/mask-surface-ctm.c:57,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/test/mask-surface-ctm.c:59,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/mask-surface-ctm.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 63
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 63
    functionName: draw
    functionSourceFile: /src/cairo/test/mask-surface-ctm.c
    functionUses: []
    functionsReached:
    - cairo_mask_surface
    - cairo_surface_finish
    - cairo_set_source_rgb
    - cairo_image_surface_create_for_data
    - cairo_save
    - cairo_surface_destroy
    - cairo_restore
    - cairo_translate
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/paint-with-alpha-group-clip.c:37,1
    - Dst: cairo_paint
      Src: /src/cairo/test/paint-with-alpha-group-clip.c:38,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/paint-with-alpha-group-clip.c:42,1
    - Dst: cairo_push_group
      Src: /src/cairo/test/paint-with-alpha-group-clip.c:40,1
    - Dst: cairo_push_group
      Src: /src/cairo/test/paint-with-alpha-group-clip.c:41,1
    - Dst: cairo_paint
      Src: /src/cairo/test/paint-with-alpha-group-clip.c:43,1
    - Dst: cairo_pop_group_to_source
      Src: /src/cairo/test/paint-with-alpha-group-clip.c:44,1
    - Dst: cairo_paint_with_alpha
      Src: /src/cairo/test/paint-with-alpha-group-clip.c:45,1
    - Dst: cairo_pop_group_to_source
      Src: /src/cairo/test/paint-with-alpha-group-clip.c:46,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/paint-with-alpha-group-clip.c:47,1
    - Dst: cairo_clip
      Src: /src/cairo/test/paint-with-alpha-group-clip.c:48,1
    - Dst: cairo_paint
      Src: /src/cairo/test/paint-with-alpha-group-clip.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 52
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 52
    functionName: draw
    functionSourceFile: /src/cairo/test/paint-with-alpha-group-clip.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_paint_with_alpha
    - cairo_pop_group_to_source
    - cairo_set_source_rgb
    - cairo_push_group
    - cairo_clip
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/clip-unbounded.c:35,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/clip-unbounded.c:38,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-unbounded.c:41,1
    - Dst: cairo_create
      Src: /src/cairo/test/clip-unbounded.c:37,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-unbounded.c:40,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/test/clip-unbounded.c:43,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/clip-unbounded.c:43,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/clip-unbounded.c:44,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 47
    functionName: create_source
    functionSourceFile: /src/cairo/test/clip-unbounded.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_surface_reference
    - cairo_create
    - cairo_surface_destroy
    - cairo_get_target
    - cairo_set_source_rgb
    - cairo_destroy
    - cairo_surface_create_similar
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *create_source (cairo_surface_t *target) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-unbounded.c:54,1
    - Dst: create_source
      Src: /src/cairo/test/clip-unbounded.c:63,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-unbounded.c:58,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clip-unbounded.c:57,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-unbounded.c:55,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/clip-unbounded.c:63,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/clip-unbounded.c:64,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/clip-unbounded.c:65,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/clip-unbounded.c:67,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-unbounded.c:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 71
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 71
    functionName: draw
    functionSourceFile: /src/cairo/test/clip-unbounded.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - create_source
    - cairo_surface_destroy
    - cairo_get_target
    - cairo_set_operator
    - cairo_set_source_rgb
    - cairo_clip
    - cairo_set_source_surface
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pattern_create_mesh
      Src: /src/cairo/test/mesh-pattern-fold.c:44,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgb
      Src: /src/cairo/test/mesh-pattern-fold.c:61,1
    - Dst: cairo_mesh_pattern_set_control_point
      Src: /src/cairo/test/mesh-pattern-fold.c:58,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgb
      Src: /src/cairo/test/mesh-pattern-fold.c:63,1
    - Dst: cairo_paint
      Src: /src/cairo/test/mesh-pattern-fold.c:70,1
    - Dst: cairo_mesh_pattern_begin_patch
      Src: /src/cairo/test/mesh-pattern-fold.c:46,1
    - Dst: cairo_mesh_pattern_move_to
      Src: /src/cairo/test/mesh-pattern-fold.c:48,1
    - Dst: cairo_mesh_pattern_set_control_point
      Src: /src/cairo/test/mesh-pattern-fold.c:57,1
    - Dst: cairo_mesh_pattern_end_patch
      Src: /src/cairo/test/mesh-pattern-fold.c:65,1
    - Dst: cairo_test_paint_checkered
      Src: /src/cairo/test/mesh-pattern-fold.c:42,1
    - Dst: cairo_mesh_pattern_curve_to
      Src: /src/cairo/test/mesh-pattern-fold.c:50,1
    - Dst: cairo_mesh_pattern_curve_to
      Src: /src/cairo/test/mesh-pattern-fold.c:51,1
    - Dst: cairo_mesh_pattern_curve_to
      Src: /src/cairo/test/mesh-pattern-fold.c:52,1
    - Dst: cairo_mesh_pattern_curve_to
      Src: /src/cairo/test/mesh-pattern-fold.c:53,1
    - Dst: cairo_mesh_pattern_set_control_point
      Src: /src/cairo/test/mesh-pattern-fold.c:56,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgb
      Src: /src/cairo/test/mesh-pattern-fold.c:60,1
    - Dst: cairo_scale
      Src: /src/cairo/test/mesh-pattern-fold.c:67,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/mesh-pattern-fold.c:69,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgb
      Src: /src/cairo/test/mesh-pattern-fold.c:62,1
    - Dst: cairo_mesh_pattern_set_control_point
      Src: /src/cairo/test/mesh-pattern-fold.c:55,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/mesh-pattern-fold.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 74
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 74
    functionName: draw
    functionSourceFile: /src/cairo/test/mesh-pattern-fold.c
    functionUses: []
    functionsReached:
    - cairo_mesh_pattern_move_to
    - cairo_paint
    - cairo_mesh_pattern_begin_patch
    - cairo_test_paint_checkered
    - cairo_mesh_pattern_curve_to
    - cairo_set_source
    - cairo_scale
    - cairo_mesh_pattern_end_patch
    - cairo_pattern_create_mesh
    - cairo_mesh_pattern_set_control_point
    - cairo_mesh_pattern_set_corner_color_rgb
    - cairo_pattern_destroy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/recording-surface-extend.c:52,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/recording-surface-extend.c:58,1
    - Dst: cairo_fill
      Src: /src/cairo/test/recording-surface-extend.c:60,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/recording-surface-extend.c:64,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/recording-surface-extend.c:63,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/recording-surface-extend.c:75,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/recording-surface-extend.c:88,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/recording-surface-extend.c:79,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/recording-surface-extend.c:87,1
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/recording-surface-extend.c:48,1
    - Dst: cairo_create
      Src: /src/cairo/test/recording-surface-extend.c:51,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/recording-surface-extend.c:55,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/recording-surface-extend.c:66,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/recording-surface-extend.c:71,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/recording-surface-extend.c:72,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/recording-surface-extend.c:77,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/recording-surface-extend.c:81,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/recording-surface-extend.c:91,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/recording-surface-extend.c:93,1
    - Dst: cairo_get_group_target
      Src: /src/cairo/test/recording-surface-extend.c:48,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/recording-surface-extend.c:59,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/recording-surface-extend.c:62,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/recording-surface-extend.c:65,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/recording-surface-extend.c:70,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/recording-surface-extend.c:68,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/recording-surface-extend.c:69,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/recording-surface-extend.c:73,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/recording-surface-extend.c:74,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/recording-surface-extend.c:78,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/recording-surface-extend.c:85,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/recording-surface-extend.c:89,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/recording-surface-extend.c:80,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/recording-surface-extend.c:54,1
    - Dst: cairo_fill
      Src: /src/cairo/test/recording-surface-extend.c:56,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/recording-surface-extend.c:67,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/recording-surface-extend.c:76,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/recording-surface-extend.c:82,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/recording-surface-extend.c:84,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/recording-surface-extend.c:92,1
    - Dst: cairo_pattern_create_for_surface
      Src: /src/cairo/test/recording-surface-extend.c:95,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/recording-surface-extend.c:95,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/recording-surface-extend.c:96,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 71
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 99
    functionName: create_pattern
    functionSourceFile: /src/cairo/test/recording-surface-extend.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_for_surface
    - cairo_get_group_target
    - cairo_set_source_rgba
    - cairo_set_line_width
    - cairo_line_to
    - cairo_create
    - cairo_surface_destroy
    - cairo_stroke
    - cairo_get_target
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_destroy
    - cairo_surface_create_similar
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_pattern_t*
    signature: 'static cairo_pattern_t *create_pattern (cairo_t *target) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw
      Src: /src/cairo/test/recording-surface-extend.c:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: reflect
    functionSourceFile: /src/cairo/test/recording-surface-extend.c
    functionUses: []
    functionsReached:
    - draw
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t reflect (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw
      Src: /src/cairo/test/recording-surface-extend.c:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: none
    functionSourceFile: /src/cairo/test/recording-surface-extend.c
    functionUses: []
    functionsReached:
    - draw
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t none (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_translate
      Src: /src/cairo/test/recording-surface-extend.c:107,1
    - Dst: cairo_matrix_rotate
      Src: /src/cairo/test/recording-surface-extend.c:113,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/test/recording-surface-extend.c:112,1
    - Dst: create_pattern
      Src: /src/cairo/test/recording-surface-extend.c:109,1
    - Dst: cairo_matrix_init_identity
      Src: /src/cairo/test/recording-surface-extend.c:111,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/test/recording-surface-extend.c:114,1
    - Dst: cairo_pattern_set_matrix
      Src: /src/cairo/test/recording-surface-extend.c:115,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/recording-surface-extend.c:116,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/recording-surface-extend.c:118,1
    - Dst: cairo_paint
      Src: /src/cairo/test/recording-surface-extend.c:119,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/recording-surface-extend.c:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - cr
    - extend
    argTypes:
    - cairo_t*
    - cairo_extend_t
    constantsTouched: []
    func_position:
      end: 124
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 124
    functionName: draw
    functionSourceFile: /src/cairo/test/recording-surface-extend.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_matrix_scale
    - create_pattern
    - cairo_matrix_translate
    - cairo_pattern_set_matrix
    - cairo_pattern_set_extend
    - cairo_set_source
    - cairo_matrix_init_identity
    - cairo_translate
    - cairo_matrix_rotate
    - cairo_pattern_destroy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, cairo_extend_t extend) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw
      Src: /src/cairo/test/recording-surface-extend.c:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: repeat
    functionSourceFile: /src/cairo/test/recording-surface-extend.c
    functionUses: []
    functionsReached:
    - draw
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t repeat (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw
      Src: /src/cairo/test/recording-surface-extend.c:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: pad
    functionSourceFile: /src/cairo/test/recording-surface-extend.c
    functionUses: []
    functionsReached:
    - draw
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t pad (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/get-group-target.c:37,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/get-group-target.c:42,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/get-group-target.c:46,1
    - Dst: cairo_clip
      Src: /src/cairo/test/get-group-target.c:43,1
    - Dst: cairo_paint
      Src: /src/cairo/test/get-group-target.c:38,1
    - Dst: cairo_paint
      Src: /src/cairo/test/get-group-target.c:47,1
    - Dst: cairo_push_group
      Src: /src/cairo/test/get-group-target.c:50,1
    - Dst: cairo_get_group_target
      Src: /src/cairo/test/get-group-target.c:51,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/get-group-target.c:54,1
    - Dst: cairo_surface_get_device_offset
      Src: /src/cairo/test/get-group-target.c:55,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/get-group-target.c:66,1
    - Dst: cairo_pop_group_to_source
      Src: /src/cairo/test/get-group-target.c:73,1
    - Dst: cairo_fill
      Src: /src/cairo/test/get-group-target.c:70,1
    - Dst: cairo_paint
      Src: /src/cairo/test/get-group-target.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 77
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 77
    functionName: draw
    functionSourceFile: /src/cairo/test/get-group-target.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_get_group_target
    - cairo_surface_get_device_offset
    - cairo_pop_group_to_source
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_push_group
    - cairo_clip
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_translate
      Src: /src/cairo/test/thin-lines.c:38,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/thin-lines.c:39,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/thin-lines.c:41,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/thin-lines.c:40,1
    - Dst: cairo_translate
      Src: /src/cairo/test/thin-lines.c:44,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/thin-lines.c:45,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/thin-lines.c:46,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/thin-lines.c:47,1
    - Dst: cairo_translate
      Src: /src/cairo/test/thin-lines.c:50,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/thin-lines.c:51,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/thin-lines.c:52,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/thin-lines.c:57,1
    - Dst: cairo_translate
      Src: /src/cairo/test/thin-lines.c:56,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/thin-lines.c:61,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/thin-lines.c:53,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/thin-lines.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 62
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 62
    functionName: draw_lines
    functionSourceFile: /src/cairo/test/thin-lines.c
    functionUses: []
    functionsReached:
    - cairo_line_to
    - cairo_curve_to
    - cairo_stroke
    - cairo_translate
    - cairo_move_to
    linkageType: ''
    returnType: void
    signature: 'static void draw_lines(cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/test/thin-lines.c:69,1
    - Dst: cairo_restore
      Src: /src/cairo/test/thin-lines.c:72,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/thin-lines.c:70,1
    - Dst: cairo_translate
      Src: /src/cairo/test/thin-lines.c:74,1
    - Dst: draw_lines
      Src: /src/cairo/test/thin-lines.c:71,1
    - Dst: cairo_save
      Src: /src/cairo/test/thin-lines.c:75,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/thin-lines.c:76,1
    - Dst: draw_lines
      Src: /src/cairo/test/thin-lines.c:77,1
    - Dst: cairo_restore
      Src: /src/cairo/test/thin-lines.c:78,1
    - Dst: cairo_translate
      Src: /src/cairo/test/thin-lines.c:80,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/thin-lines.c:82,1
    - Dst: draw_lines
      Src: /src/cairo/test/thin-lines.c:83,1
    - Dst: cairo_restore
      Src: /src/cairo/test/thin-lines.c:84,1
    - Dst: cairo_save
      Src: /src/cairo/test/thin-lines.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 87
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 87
    functionName: draw
    functionSourceFile: /src/cairo/test/thin-lines.c
    functionUses: []
    functionsReached:
    - cairo_set_line_width
    - draw_lines
    - cairo_save
    - cairo_restore
    - cairo_translate
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/test/leaky-polygon.c:62,1
    - Dst: cairo_restore
      Src: /src/cairo/test/leaky-polygon.c:65,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/leaky-polygon.c:63,1
    - Dst: cairo_paint
      Src: /src/cairo/test/leaky-polygon.c:64,1
    - Dst: cairo_scale
      Src: /src/cairo/test/leaky-polygon.c:67,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/leaky-polygon.c:69,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-polygon.c:70,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/leaky-polygon.c:71,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/leaky-polygon.c:72,1
    - Dst: cairo_fill
      Src: /src/cairo/test/leaky-polygon.c:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 77
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 77
    functionName: draw
    functionSourceFile: /src/cairo/test/leaky-polygon.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_line_to
    - cairo_save
    - cairo_close_path
    - cairo_scale
    - cairo_restore
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_paint_checkered
      Src: /src/cairo/test/mesh-pattern-transformed.c:44,1
    - Dst: cairo_pattern_create_mesh
      Src: /src/cairo/test/mesh-pattern-transformed.c:48,1
    - Dst: cairo_translate
      Src: /src/cairo/test/mesh-pattern-transformed.c:46,1
    - Dst: cairo_mesh_pattern_curve_to
      Src: /src/cairo/test/mesh-pattern-transformed.c:53,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgb
      Src: /src/cairo/test/mesh-pattern-transformed.c:58,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgb
      Src: /src/cairo/test/mesh-pattern-transformed.c:60,1
    - Dst: cairo_mesh_pattern_end_patch
      Src: /src/cairo/test/mesh-pattern-transformed.c:63,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgb
      Src: /src/cairo/test/mesh-pattern-transformed.c:79,1
    - Dst: cairo_mesh_pattern_end_patch
      Src: /src/cairo/test/mesh-pattern-transformed.c:81,1
    - Dst: cairo_scale
      Src: /src/cairo/test/mesh-pattern-transformed.c:83,1
    - Dst: cairo_translate
      Src: /src/cairo/test/mesh-pattern-transformed.c:91,1
    - Dst: cairo_translate
      Src: /src/cairo/test/mesh-pattern-transformed.c:88,1
    - Dst: cairo_paint
      Src: /src/cairo/test/mesh-pattern-transformed.c:86,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgb
      Src: /src/cairo/test/mesh-pattern-transformed.c:77,1
    - Dst: cairo_translate
      Src: /src/cairo/test/mesh-pattern-transformed.c:89,1
    - Dst: cairo_rotate
      Src: /src/cairo/test/mesh-pattern-transformed.c:90,1
    - Dst: cairo_mesh_pattern_curve_to
      Src: /src/cairo/test/mesh-pattern-transformed.c:54,1
    - Dst: cairo_mesh_pattern_curve_to
      Src: /src/cairo/test/mesh-pattern-transformed.c:55,1
    - Dst: cairo_mesh_pattern_curve_to
      Src: /src/cairo/test/mesh-pattern-transformed.c:56,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgb
      Src: /src/cairo/test/mesh-pattern-transformed.c:61,1
    - Dst: cairo_mesh_pattern_curve_to
      Src: /src/cairo/test/mesh-pattern-transformed.c:70,1
    - Dst: cairo_mesh_pattern_curve_to
      Src: /src/cairo/test/mesh-pattern-transformed.c:72,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgb
      Src: /src/cairo/test/mesh-pattern-transformed.c:59,1
    - Dst: cairo_mesh_pattern_curve_to
      Src: /src/cairo/test/mesh-pattern-transformed.c:68,1
    - Dst: cairo_mesh_pattern_curve_to
      Src: /src/cairo/test/mesh-pattern-transformed.c:74,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgba
      Src: /src/cairo/test/mesh-pattern-transformed.c:78,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/mesh-pattern-transformed.c:85,1
    - Dst: cairo_mesh_pattern_begin_patch
      Src: /src/cairo/test/mesh-pattern-transformed.c:50,1
    - Dst: cairo_mesh_pattern_move_to
      Src: /src/cairo/test/mesh-pattern-transformed.c:52,1
    - Dst: cairo_mesh_pattern_begin_patch
      Src: /src/cairo/test/mesh-pattern-transformed.c:65,1
    - Dst: cairo_mesh_pattern_move_to
      Src: /src/cairo/test/mesh-pattern-transformed.c:67,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgba
      Src: /src/cairo/test/mesh-pattern-transformed.c:76,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/mesh-pattern-transformed.c:92,1
    - Dst: cairo_paint
      Src: /src/cairo/test/mesh-pattern-transformed.c:93,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/mesh-pattern-transformed.c:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 42
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 98
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 98
    functionName: draw
    functionSourceFile: /src/cairo/test/mesh-pattern-transformed.c
    functionUses: []
    functionsReached:
    - cairo_mesh_pattern_move_to
    - cairo_paint
    - cairo_mesh_pattern_begin_patch
    - cairo_mesh_pattern_set_corner_color_rgba
    - cairo_test_paint_checkered
    - cairo_mesh_pattern_curve_to
    - cairo_set_source
    - cairo_scale
    - cairo_mesh_pattern_end_patch
    - cairo_pattern_create_mesh
    - cairo_translate
    - cairo_rotate
    - cairo_mesh_pattern_set_corner_color_rgb
    - cairo_pattern_destroy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/half-coverage.c:41,1
    - Dst: cairo_save
      Src: /src/cairo/test/half-coverage.c:48,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/half-coverage.c:43,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/half-coverage.c:49,1
    - Dst: cairo_paint
      Src: /src/cairo/test/half-coverage.c:42,1
    - Dst: cairo_clip
      Src: /src/cairo/test/half-coverage.c:50,1
    - Dst: cairo_scale
      Src: /src/cairo/test/half-coverage.c:52,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/half-coverage.c:63,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/half-coverage.c:64,1
    - Dst: cairo_fill
      Src: /src/cairo/test/half-coverage.c:67,1
    - Dst: cairo_translate
      Src: /src/cairo/test/half-coverage.c:70,1
    - Dst: cairo_restore
      Src: /src/cairo/test/half-coverage.c:68,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 74
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 74
    functionName: rectangles
    functionSourceFile: /src/cairo/test/half-coverage.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_save
    - cairo_scale
    - cairo_restore
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_translate
    - cairo_clip
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t rectangles (cairo_t *cr, int width, int
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_scale
      Src: /src/cairo/test/half-coverage.c:92,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/half-coverage.c:109,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/half-coverage.c:121,1
    - Dst: cairo_restore
      Src: /src/cairo/test/half-coverage.c:134,1
    - Dst: cairo_translate
      Src: /src/cairo/test/half-coverage.c:136,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/half-coverage.c:83,1
    - Dst: cairo_paint
      Src: /src/cairo/test/half-coverage.c:82,1
    - Dst: cairo_clip
      Src: /src/cairo/test/half-coverage.c:90,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/half-coverage.c:110,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/half-coverage.c:112,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/half-coverage.c:118,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/half-coverage.c:122,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/half-coverage.c:128,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/half-coverage.c:129,1
    - Dst: cairo_save
      Src: /src/cairo/test/half-coverage.c:88,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/half-coverage.c:115,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/half-coverage.c:127,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/half-coverage.c:81,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/half-coverage.c:89,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/half-coverage.c:111,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/half-coverage.c:116,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/half-coverage.c:123,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/half-coverage.c:117,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/half-coverage.c:124,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/half-coverage.c:130,1
    - Dst: cairo_fill
      Src: /src/cairo/test/half-coverage.c:133,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 70
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 140
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 140
    functionName: triangles
    functionSourceFile: /src/cairo/test/half-coverage.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_line_to
    - cairo_save
    - cairo_close_path
    - cairo_scale
    - cairo_restore
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_translate
    - cairo_clip
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t triangles (cairo_t *cr, int width, int
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/radial-gradient.c:119,1
    - Dst: sqrt
      Src: /src/cairo/test/radial-gradient.c:120,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/radial-gradient.c:120,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/radial-gradient.c:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pattern
    argTypes:
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: pattern_add_stops
    functionSourceFile: /src/cairo/test/radial-gradient.c
    functionUses: []
    functionsReached:
    - sqrt
    - cairo_pattern_add_color_stop_rgba
    linkageType: ''
    returnType: void
    signature: 'static void pattern_add_stops (cairo_pattern_t *pattern) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_scale
      Src: /src/cairo/test/radial-gradient.c:142,1
    - Dst: create_pattern
      Src: /src/cairo/test/radial-gradient.c:150,1
    - Dst: cairo_save
      Src: /src/cairo/test/radial-gradient.c:146,1
    - Dst: cairo_translate
      Src: /src/cairo/test/radial-gradient.c:143,1
    - Dst: add_stops
      Src: /src/cairo/test/radial-gradient.c:151,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/radial-gradient.c:152,1
    - Dst: cairo_save
      Src: /src/cairo/test/radial-gradient.c:154,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/radial-gradient.c:155,1
    - Dst: cairo_clip
      Src: /src/cairo/test/radial-gradient.c:156,1
    - Dst: composite
      Src: /src/cairo/test/radial-gradient.c:157,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/radial-gradient.c:159,1
    - Dst: cairo_translate
      Src: /src/cairo/test/radial-gradient.c:164,1
    - Dst: cairo_translate
      Src: /src/cairo/test/radial-gradient.c:161,1
    - Dst: cairo_restore
      Src: /src/cairo/test/radial-gradient.c:158,1
    - Dst: cairo_restore
      Src: /src/cairo/test/radial-gradient.c:163,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - cr
    - add_stops
    - composite
    argTypes:
    - cairo_t*
    - add_stops_t
    - composite_t
    constantsTouched: []
    func_position:
      end: 168
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 168
    functionName: draw
    functionSourceFile: /src/cairo/test/radial-gradient.c
    functionUses: []
    functionsReached:
    - create_pattern
    - cairo_save
    - cairo_pattern_set_extend
    - composite
    - cairo_scale
    - cairo_restore
    - cairo_translate
    - add_stops
    - cairo_clip
    - cairo_pattern_destroy
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, add_stops_t add_stops,
      composite_t composite) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/radial-gradient.c:181,1
    - Dst: cairo_mask
      Src: /src/cairo/test/radial-gradient.c:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - cr
    - pattern
    argTypes:
    - cairo_t*
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 183
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 183
    functionName: composite_mask
    functionSourceFile: /src/cairo/test/radial-gradient.c
    functionUses: []
    functionsReached:
    - cairo_mask
    - cairo_set_source_rgb
    linkageType: ''
    returnType: void
    signature: 'static void composite_mask (cairo_t *cr, cairo_pattern_t *pattern) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_paint_checkered
      Src: /src/cairo/test/radial-gradient.c:196,1
    - Dst: draw
      Src: /src/cairo/test/radial-gradient.c:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: draw_mask
    functionSourceFile: /src/cairo/test/radial-gradient.c
    functionUses: []
    functionsReached:
    - cairo_test_paint_checkered
    - draw
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_mask (cairo_t *cr, int width, int
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_operator
      Src: /src/cairo/test/radial-gradient.c:211,1
    - Dst: draw
      Src: /src/cairo/test/radial-gradient.c:212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 213
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 213
    functionName: draw_mask_source
    functionSourceFile: /src/cairo/test/radial-gradient.c
    functionUses: []
    functionsReached:
    - draw
    - cairo_set_operator
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_mask_source (cairo_t *cr, int width,
      int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/cairo/test/radial-gradient.c:101,1
    - Dst: cairo_pattern_create_radial
      Src: /src/cairo/test/radial-gradient.c:113,1
    - Dst: MAX
      Src: /src/cairo/test/radial-gradient.c:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 114
    functionName: create_pattern
    functionSourceFile: /src/cairo/test/radial-gradient.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_radial
    - MIN
    - MAX
    linkageType: ''
    returnType: cairo_pattern_t*
    signature: 'static cairo_pattern_t *create_pattern (int index) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source
      Src: /src/cairo/test/radial-gradient.c:174,1
    - Dst: cairo_paint
      Src: /src/cairo/test/radial-gradient.c:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - cr
    - pattern
    argTypes:
    - cairo_t*
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 176
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 176
    functionName: composite_simple
    functionSourceFile: /src/cairo/test/radial-gradient.c
    functionUses: []
    functionsReached:
    - cairo_set_source
    - cairo_paint
    linkageType: ''
    returnType: void
    signature: 'static void composite_simple (cairo_t *cr, cairo_pattern_t *pattern) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/radial-gradient.c:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pattern
    argTypes:
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: pattern_add_single_stop
    functionSourceFile: /src/cairo/test/radial-gradient.c
    functionUses: []
    functionsReached:
    - cairo_pattern_add_color_stop_rgba
    linkageType: ''
    returnType: void
    signature: 'static void pattern_add_single_stop (cairo_pattern_t *pattern) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_paint_checkered
      Src: /src/cairo/test/radial-gradient.c:189,1
    - Dst: draw
      Src: /src/cairo/test/radial-gradient.c:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 191
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 191
    functionName: draw_simple
    functionSourceFile: /src/cairo/test/radial-gradient.c
    functionUses: []
    functionsReached:
    - cairo_test_paint_checkered
    - draw
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_simple (cairo_t *cr, int width, int
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_operator
      Src: /src/cairo/test/radial-gradient.c:203,1
    - Dst: draw
      Src: /src/cairo/test/radial-gradient.c:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 205
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 205
    functionName: draw_source
    functionSourceFile: /src/cairo/test/radial-gradient.c
    functionUses: []
    functionsReached:
    - draw
    - cairo_set_operator
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_source (cairo_t *cr, int width, int
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_paint_checkered
      Src: /src/cairo/test/radial-gradient.c:218,1
    - Dst: draw
      Src: /src/cairo/test/radial-gradient.c:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 220
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 220
    functionName: draw_one_stop
    functionSourceFile: /src/cairo/test/radial-gradient.c
    functionUses: []
    functionsReached:
    - cairo_test_paint_checkered
    - draw
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw_one_stop (cairo_t *cr, int width,
      int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/source-clip.c:37,1
    - Dst: cairo_create
      Src: /src/cairo/test/source-clip.c:41,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/source-clip.c:42,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/source-clip.c:45,1
    - Dst: cairo_get_group_target
      Src: /src/cairo/test/source-clip.c:37,1
    - Dst: cairo_paint
      Src: /src/cairo/test/source-clip.c:46,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/source-clip.c:50,1
    - Dst: cairo_clip
      Src: /src/cairo/test/source-clip.c:53,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/source-clip.c:54,1
    - Dst: cairo_paint
      Src: /src/cairo/test/source-clip.c:55,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/source-clip.c:59,1
    - Dst: cairo_paint
      Src: /src/cairo/test/source-clip.c:60,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/source-clip.c:63,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/source-clip.c:66,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/source-clip.c:63,1
    - Dst: cairo_paint
      Src: /src/cairo/test/source-clip.c:64,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 69
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 69
    functionName: draw
    functionSourceFile: /src/cairo/test/source-clip.c
    functionUses: []
    functionsReached:
    - cairo_get_group_target
    - cairo_paint
    - cairo_clip
    - cairo_create
    - cairo_surface_destroy
    - cairo_get_target
    - cairo_set_source_rgb
    - cairo_destroy
    - cairo_surface_create_similar
    - cairo_set_source_surface
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/test/finer-grained-fallbacks.c:36,1
    - Dst: cairo_fill
      Src: /src/cairo/test/finer-grained-fallbacks.c:39,1
    - Dst: cairo_translate
      Src: /src/cairo/test/finer-grained-fallbacks.c:37,1
    - Dst: cairo_restore
      Src: /src/cairo/test/finer-grained-fallbacks.c:40,1
    - Dst: cairo_arc
      Src: /src/cairo/test/finer-grained-fallbacks.c:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - cr
    - x
    - y
    argTypes:
    - cairo_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: draw_circle
    functionSourceFile: /src/cairo/test/finer-grained-fallbacks.c
    functionUses: []
    functionsReached:
    - cairo_arc
    - cairo_save
    - cairo_restore
    - cairo_fill
    - cairo_translate
    linkageType: ''
    returnType: void
    signature: 'static void draw_circle (cairo_t *cr, double x, double y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/finer-grained-fallbacks.c:101,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/finer-grained-fallbacks.c:105,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/finer-grained-fallbacks.c:107,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/finer-grained-fallbacks.c:101,1
    - Dst: cairo_create
      Src: /src/cairo/test/finer-grained-fallbacks.c:104,1
    - Dst: draw_circle
      Src: /src/cairo/test/finer-grained-fallbacks.c:108,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/test/finer-grained-fallbacks.c:110,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/finer-grained-fallbacks.c:110,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/finer-grained-fallbacks.c:111,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 114
    functionName: surface_create
    functionSourceFile: /src/cairo/test/finer-grained-fallbacks.c
    functionUses: []
    functionsReached:
    - cairo_surface_reference
    - cairo_create
    - draw_circle
    - cairo_surface_destroy
    - cairo_get_target
    - cairo_set_source_rgb
    - cairo_destroy
    - cairo_surface_create_similar
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *surface_create (cairo_t *target) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw_circle
      Src: /src/cairo/test/finer-grained-fallbacks.c:59,1
    - Dst: draw_circle
      Src: /src/cairo/test/finer-grained-fallbacks.c:64,1
    - Dst: draw_circle
      Src: /src/cairo/test/finer-grained-fallbacks.c:63,1
    - Dst: draw_circle
      Src: /src/cairo/test/finer-grained-fallbacks.c:62,1
    - Dst: draw_circle
      Src: /src/cairo/test/finer-grained-fallbacks.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: draw_circles
    functionSourceFile: /src/cairo/test/finer-grained-fallbacks.c
    functionUses: []
    functionsReached:
    - draw_circle
    linkageType: ''
    returnType: void
    signature: 'static void draw_circles (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/test/finer-grained-fallbacks.c:46,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/finer-grained-fallbacks.c:48,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/finer-grained-fallbacks.c:50,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/finer-grained-fallbacks.c:49,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/finer-grained-fallbacks.c:49,1
    - Dst: cairo_fill
      Src: /src/cairo/test/finer-grained-fallbacks.c:51,1
    - Dst: cairo_restore
      Src: /src/cairo/test/finer-grained-fallbacks.c:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - cr
    - source
    - x
    - y
    argTypes:
    - cairo_t*
    - cairo_surface_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 54
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 54
    functionName: draw_image_circle
    functionSourceFile: /src/cairo/test/finer-grained-fallbacks.c
    functionUses: []
    functionsReached:
    - cairo_get_source
    - cairo_save
    - cairo_pattern_set_extend
    - cairo_restore
    - cairo_fill
    - cairo_set_source_surface
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void draw_image_circle (cairo_t *cr, cairo_surface_t *source,
      double x, double y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw_image_circle
      Src: /src/cairo/test/finer-grained-fallbacks.c:70,1
    - Dst: draw_image_circle
      Src: /src/cairo/test/finer-grained-fallbacks.c:74,1
    - Dst: draw_image_circle
      Src: /src/cairo/test/finer-grained-fallbacks.c:75,1
    - Dst: draw_image_circle
      Src: /src/cairo/test/finer-grained-fallbacks.c:73,1
    - Dst: draw_image_circle
      Src: /src/cairo/test/finer-grained-fallbacks.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - cr
    - source
    argTypes:
    - cairo_t*
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: draw_image_circles
    functionSourceFile: /src/cairo/test/finer-grained-fallbacks.c
    functionUses: []
    functionsReached:
    - draw_image_circle
    linkageType: ''
    returnType: void
    signature: 'static void draw_image_circles (cairo_t *cr, cairo_surface_t *source) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_operator
      Src: /src/cairo/test/finer-grained-fallbacks.c:127,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/finer-grained-fallbacks.c:131,1
    - Dst: cairo_restore
      Src: /src/cairo/test/finer-grained-fallbacks.c:146,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/finer-grained-fallbacks.c:153,1
    - Dst: draw_image_circle
      Src: /src/cairo/test/finer-grained-fallbacks.c:157,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/finer-grained-fallbacks.c:136,1
    - Dst: draw_circles
      Src: /src/cairo/test/finer-grained-fallbacks.c:138,1
    - Dst: cairo_translate
      Src: /src/cairo/test/finer-grained-fallbacks.c:143,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/finer-grained-fallbacks.c:141,1
    - Dst: cairo_translate
      Src: /src/cairo/test/finer-grained-fallbacks.c:147,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/finer-grained-fallbacks.c:160,1
    - Dst: cairo_translate
      Src: /src/cairo/test/finer-grained-fallbacks.c:162,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/finer-grained-fallbacks.c:165,1
    - Dst: cairo_translate
      Src: /src/cairo/test/finer-grained-fallbacks.c:166,1
    - Dst: draw_circle
      Src: /src/cairo/test/finer-grained-fallbacks.c:128,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/finer-grained-fallbacks.c:126,1
    - Dst: cairo_save
      Src: /src/cairo/test/finer-grained-fallbacks.c:123,1
    - Dst: draw_circle
      Src: /src/cairo/test/finer-grained-fallbacks.c:132,1
    - Dst: surface_create
      Src: /src/cairo/test/finer-grained-fallbacks.c:150,1
    - Dst: draw_circle
      Src: /src/cairo/test/finer-grained-fallbacks.c:154,1
    - Dst: draw_image_circles
      Src: /src/cairo/test/finer-grained-fallbacks.c:167,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/finer-grained-fallbacks.c:169,1
    - Dst: cairo_translate
      Src: /src/cairo/test/finer-grained-fallbacks.c:121,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/finer-grained-fallbacks.c:130,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/finer-grained-fallbacks.c:135,1
    - Dst: cairo_translate
      Src: /src/cairo/test/finer-grained-fallbacks.c:137,1
    - Dst: draw_circles
      Src: /src/cairo/test/finer-grained-fallbacks.c:144,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/finer-grained-fallbacks.c:142,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/finer-grained-fallbacks.c:152,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/finer-grained-fallbacks.c:156,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/finer-grained-fallbacks.c:161,1
    - Dst: draw_circles
      Src: /src/cairo/test/finer-grained-fallbacks.c:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 52
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 172
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 172
    functionName: draw
    functionSourceFile: /src/cairo/test/finer-grained-fallbacks.c
    functionUses: []
    functionsReached:
    - draw_image_circles
    - draw_circles
    - cairo_save
    - draw_circle
    - cairo_surface_destroy
    - cairo_restore
    - cairo_set_operator
    - cairo_set_source_rgb
    - cairo_translate
    - surface_create
    - draw_image_circle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/new-sub-path.c:32,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/new-sub-path.c:41,1
    - Dst: cairo_new_sub_path
      Src: /src/cairo/test/new-sub-path.c:39,1
    - Dst: cairo_new_sub_path
      Src: /src/cairo/test/new-sub-path.c:44,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/new-sub-path.c:40,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/new-sub-path.c:45,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/new-sub-path.c:46,1
    - Dst: cairo_new_sub_path
      Src: /src/cairo/test/new-sub-path.c:49,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/new-sub-path.c:50,1
    - Dst: cairo_new_sub_path
      Src: /src/cairo/test/new-sub-path.c:56,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/new-sub-path.c:62,1
    - Dst: cairo_arc
      Src: /src/cairo/test/new-sub-path.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 65
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 65
    functionName: draw
    functionSourceFile: /src/cairo/test/new-sub-path.c
    functionUses: []
    functionsReached:
    - cairo_set_source_rgb
    - cairo_line_to
    - cairo_curve_to
    - cairo_arc
    - cairo_stroke
    - cairo_new_sub_path
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/gradient-zero-stops-mask.c:40,1
    - Dst: cairo_mask
      Src: /src/cairo/test/gradient-zero-stops-mask.c:43,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/gradient-zero-stops-mask.c:44,1
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/test/gradient-zero-stops-mask.c:42,1
    - Dst: cairo_pattern_create_radial
      Src: /src/cairo/test/gradient-zero-stops-mask.c:46,1
    - Dst: cairo_mask
      Src: /src/cairo/test/gradient-zero-stops-mask.c:47,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/gradient-zero-stops-mask.c:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 51
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 51
    functionName: draw
    functionSourceFile: /src/cairo/test/gradient-zero-stops-mask.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_linear
    - cairo_mask
    - cairo_pattern_create_radial
    - cairo_set_source_rgb
    - cairo_pattern_destroy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/test/smask-fill.c:37,1
    - Dst: cairo_create
      Src: /src/cairo/test/smask-fill.c:40,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/smask-fill.c:49,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/smask-fill.c:61,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/smask-fill.c:34,1
    - Dst: cairo_get_group_target
      Src: /src/cairo/test/smask-fill.c:37,1
    - Dst: cairo_paint
      Src: /src/cairo/test/smask-fill.c:45,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/smask-fill.c:54,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/smask-fill.c:55,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/smask-fill.c:50,1
    - Dst: cairo_fill
      Src: /src/cairo/test/smask-fill.c:58,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/smask-fill.c:60,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/smask-fill.c:62,1
    - Dst: cairo_save
      Src: /src/cairo/test/smask-fill.c:43,1
    - Dst: cairo_restore
      Src: /src/cairo/test/smask-fill.c:46,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/smask-fill.c:51,1
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/test/smask-fill.c:48,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/smask-fill.c:53,1
    - Dst: cairo_paint
      Src: /src/cairo/test/smask-fill.c:35,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/smask-fill.c:41,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/smask-fill.c:44,1
    - Dst: cairo_arc
      Src: /src/cairo/test/smask-fill.c:57,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/smask-fill.c:52,1
    - Dst: cairo_mask_surface
      Src: /src/cairo/test/smask-fill.c:61,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 65
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 65
    functionName: draw
    functionSourceFile: /src/cairo/test/smask-fill.c
    functionUses: []
    functionsReached:
    - cairo_get_group_target
    - cairo_paint
    - cairo_mask_surface
    - cairo_destroy
    - cairo_pattern_create_linear
    - cairo_arc
    - cairo_create
    - cairo_save
    - cairo_surface_destroy
    - cairo_set_source
    - cairo_restore
    - cairo_set_operator
    - cairo_pattern_add_color_stop_rgba
    - cairo_set_source_rgb
    - cairo_fill
    - cairo_get_target
    - cairo_surface_create_similar
    - cairo_pattern_destroy
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - minval
    - maxval
    argTypes:
    - double
    - double
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: uniform_random
    functionSourceFile: /src/cairo/test/drunkard-tails.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: 'static double uniform_random (double minval, double maxval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_path
      Src: /src/cairo/test/drunkard-tails.c:71,1
    - Dst: cairo_translate
      Src: /src/cairo/test/drunkard-tails.c:76,1
    - Dst: cairo_reset_clip
      Src: /src/cairo/test/drunkard-tails.c:89,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/drunkard-tails.c:96,1
    - Dst: cairo_save
      Src: /src/cairo/test/drunkard-tails.c:63,1
    - Dst: cairo_translate
      Src: /src/cairo/test/drunkard-tails.c:65,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/drunkard-tails.c:68,1
    - Dst: cairo_clip
      Src: /src/cairo/test/drunkard-tails.c:80,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/drunkard-tails.c:85,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/drunkard-tails.c:84,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/drunkard-tails.c:83,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/drunkard-tails.c:90,1
    - Dst: cairo_clip
      Src: /src/cairo/test/drunkard-tails.c:91,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/drunkard-tails.c:95,1
    - Dst: cairo_reset_clip
      Src: /src/cairo/test/drunkard-tails.c:67,1
    - Dst: make_path
      Src: /src/cairo/test/drunkard-tails.c:82,1
    - Dst: cairo_translate
      Src: /src/cairo/test/drunkard-tails.c:87,1
    - Dst: cairo_reset_clip
      Src: /src/cairo/test/drunkard-tails.c:78,1
    - Dst: make_path
      Src: /src/cairo/test/drunkard-tails.c:93,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/drunkard-tails.c:94,1
    - Dst: cairo_restore
      Src: /src/cairo/test/drunkard-tails.c:98,1
    - Dst: cairo_clip
      Src: /src/cairo/test/drunkard-tails.c:69,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/drunkard-tails.c:72,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/test/drunkard-tails.c:73,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/drunkard-tails.c:74,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/drunkard-tails.c:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 99
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 99
    functionName: draw_caps_joins
    functionSourceFile: /src/cairo/test/drunkard-tails.c
    functionUses: []
    functionsReached:
    - make_path
    - cairo_save
    - cairo_set_line_join
    - cairo_stroke
    - cairo_restore
    - cairo_set_line_cap
    - cairo_translate
    - cairo_clip
    - cairo_reset_clip
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void draw_caps_joins (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_move_to
      Src: /src/cairo/test/drunkard-tails.c:51,1
    - Dst: sin
      Src: /src/cairo/test/drunkard-tails.c:56,1
    - Dst: uniform_random
      Src: /src/cairo/test/drunkard-tails.c:53,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/test/drunkard-tails.c:54,1
    - Dst: cos
      Src: /src/cairo/test/drunkard-tails.c:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 58
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 58
    functionName: make_path
    functionSourceFile: /src/cairo/test/drunkard-tails.c
    functionUses: []
    functionsReached:
    - uniform_random
    - cairo_rel_line_to
    - cos
    - sin
    - cairo_move_to
    linkageType: ''
    returnType: void
    signature: 'static void make_path (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/test/drunkard-tails.c:105,1
    - Dst: cairo_restore
      Src: /src/cairo/test/drunkard-tails.c:108,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/drunkard-tails.c:110,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/drunkard-tails.c:106,1
    - Dst: cairo_paint
      Src: /src/cairo/test/drunkard-tails.c:107,1
    - Dst: draw_caps_joins
      Src: /src/cairo/test/drunkard-tails.c:112,1
    - Dst: cairo_save
      Src: /src/cairo/test/drunkard-tails.c:114,1
    - Dst: cairo_translate
      Src: /src/cairo/test/drunkard-tails.c:116,1
    - Dst: cairo_scale
      Src: /src/cairo/test/drunkard-tails.c:117,1
    - Dst: draw_caps_joins
      Src: /src/cairo/test/drunkard-tails.c:119,1
    - Dst: cairo_restore
      Src: /src/cairo/test/drunkard-tails.c:120,1
    - Dst: cairo_translate
      Src: /src/cairo/test/drunkard-tails.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 125
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 125
    functionName: draw
    functionSourceFile: /src/cairo/test/drunkard-tails.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_line_width
    - draw_caps_joins
    - cairo_save
    - cairo_scale
    - cairo_restore
    - cairo_set_source_rgb
    - cairo_translate
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/linear-gradient-reflect.c:37,1
    - Dst: cairo_paint
      Src: /src/cairo/test/linear-gradient-reflect.c:38,1
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/test/linear-gradient-reflect.c:42,1
    - Dst: cairo_save
      Src: /src/cairo/test/linear-gradient-reflect.c:40,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/test/linear-gradient-reflect.c:44,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/test/linear-gradient-reflect.c:46,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/linear-gradient-reflect.c:48,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/linear-gradient-reflect.c:50,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/linear-gradient-reflect.c:51,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/linear-gradient-reflect.c:52,1
    - Dst: cairo_restore
      Src: /src/cairo/test/linear-gradient-reflect.c:55,1
    - Dst: cairo_fill
      Src: /src/cairo/test/linear-gradient-reflect.c:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 58
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 58
    functionName: draw
    functionSourceFile: /src/cairo/test/linear-gradient-reflect.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_pattern_create_linear
    - cairo_pattern_add_color_stop_rgb
    - cairo_save
    - cairo_pattern_set_extend
    - cairo_set_source
    - cairo_restore
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_pattern_destroy
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_rectangle
      Src: /src/cairo/test/mesh-pattern-control-points.c:97,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgb
      Src: /src/cairo/test/mesh-pattern-control-points.c:84,1
    - Dst: cairo_mesh_pattern_get_patch_count
      Src: /src/cairo/test/mesh-pattern-control-points.c:93,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/mesh-pattern-control-points.c:49,1
    - Dst: cairo_mesh_pattern_line_to
      Src: /src/cairo/test/mesh-pattern-control-points.c:58,1
    - Dst: cairo_mesh_pattern_line_to
      Src: /src/cairo/test/mesh-pattern-control-points.c:59,1
    - Dst: cairo_mesh_pattern_line_to
      Src: /src/cairo/test/mesh-pattern-control-points.c:60,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgb
      Src: /src/cairo/test/mesh-pattern-control-points.c:63,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgb
      Src: /src/cairo/test/mesh-pattern-control-points.c:65,1
    - Dst: cairo_mesh_pattern_end_patch
      Src: /src/cairo/test/mesh-pattern-control-points.c:72,1
    - Dst: cairo_mesh_pattern_line_to
      Src: /src/cairo/test/mesh-pattern-control-points.c:79,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgb
      Src: /src/cairo/test/mesh-pattern-control-points.c:82,1
    - Dst: cairo_mesh_pattern_end_patch
      Src: /src/cairo/test/mesh-pattern-control-points.c:86,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgb
      Src: /src/cairo/test/mesh-pattern-control-points.c:81,1
    - Dst: cairo_mesh_pattern_begin_patch
      Src: /src/cairo/test/mesh-pattern-control-points.c:55,1
    - Dst: cairo_mesh_pattern_move_to
      Src: /src/cairo/test/mesh-pattern-control-points.c:57,1
    - Dst: cairo_mesh_pattern_set_control_point
      Src: /src/cairo/test/mesh-pattern-control-points.c:67,1
    - Dst: cairo_mesh_pattern_begin_patch
      Src: /src/cairo/test/mesh-pattern-control-points.c:74,1
    - Dst: cairo_mesh_pattern_set_control_point
      Src: /src/cairo/test/mesh-pattern-control-points.c:69,1
    - Dst: cairo_fill
      Src: /src/cairo/test/mesh-pattern-control-points.c:98,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/mesh-pattern-control-points.c:102,1
    - Dst: cairo_mesh_pattern_get_control_point
      Src: /src/cairo/test/mesh-pattern-control-points.c:96,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgb
      Src: /src/cairo/test/mesh-pattern-control-points.c:83,1
    - Dst: cairo_paint
      Src: /src/cairo/test/mesh-pattern-control-points.c:50,1
    - Dst: cairo_pattern_create_mesh
      Src: /src/cairo/test/mesh-pattern-control-points.c:54,1
    - Dst: cairo_translate
      Src: /src/cairo/test/mesh-pattern-control-points.c:52,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgb
      Src: /src/cairo/test/mesh-pattern-control-points.c:62,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgb
      Src: /src/cairo/test/mesh-pattern-control-points.c:64,1
    - Dst: cairo_mesh_pattern_set_control_point
      Src: /src/cairo/test/mesh-pattern-control-points.c:68,1
    - Dst: cairo_mesh_pattern_set_control_point
      Src: /src/cairo/test/mesh-pattern-control-points.c:70,1
    - Dst: cairo_mesh_pattern_move_to
      Src: /src/cairo/test/mesh-pattern-control-points.c:76,1
    - Dst: cairo_mesh_pattern_line_to
      Src: /src/cairo/test/mesh-pattern-control-points.c:77,1
    - Dst: cairo_mesh_pattern_line_to
      Src: /src/cairo/test/mesh-pattern-control-points.c:78,1
    - Dst: cairo_paint
      Src: /src/cairo/test/mesh-pattern-control-points.c:89,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/mesh-pattern-control-points.c:88,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/mesh-pattern-control-points.c:92,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 60
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 105
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 105
    functionName: draw
    functionSourceFile: /src/cairo/test/mesh-pattern-control-points.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_mesh_pattern_move_to
    - cairo_set_source_rgb
    - cairo_mesh_pattern_begin_patch
    - cairo_mesh_pattern_get_patch_count
    - cairo_set_source
    - cairo_mesh_pattern_end_patch
    - cairo_mesh_pattern_line_to
    - cairo_pattern_create_mesh
    - cairo_translate
    - cairo_mesh_pattern_get_control_point
    - cairo_mesh_pattern_set_corner_color_rgb
    - cairo_mesh_pattern_set_control_point
    - cairo_fill
    - cairo_pattern_destroy
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/ft-show-glyphs-table.c:69,1
    - Dst: cairo_paint
      Src: /src/cairo/test/ft-show-glyphs-table.c:70,1
    - Dst: cairo_font_options_create
      Src: /src/cairo/test/ft-show-glyphs-table.c:77,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/ft-show-glyphs-table.c:75,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/ft-show-glyphs-table.c:72,1
    - Dst: cairo_get_font_options
      Src: /src/cairo/test/ft-show-glyphs-table.c:78,1
    - Dst: cairo_font_options_set_hint_metrics
      Src: /src/cairo/test/ft-show-glyphs-table.c:79,1
    - Dst: cairo_set_font_options
      Src: /src/cairo/test/ft-show-glyphs-table.c:80,1
    - Dst: cairo_font_options_destroy
      Src: /src/cairo/test/ft-show-glyphs-table.c:81,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/ft-show-glyphs-table.c:83,1
    - Dst: cairo_show_glyphs
      Src: /src/cairo/test/ft-show-glyphs-table.c:97,1
    - Dst: cairo_ft_scaled_font_unlock_face
      Src: /src/cairo/test/ft-show-glyphs-table.c:95,1
    - Dst: cairo_get_scaled_font
      Src: /src/cairo/test/ft-show-glyphs-table.c:85,1
    - Dst: FT_Get_Next_Char
      Src: /src/cairo/test/ft-show-glyphs-table.c:92,1
    - Dst: cairo_ft_scaled_font_lock_face
      Src: /src/cairo/test/ft-show-glyphs-table.c:86,1
    - Dst: FT_Get_First_Char
      Src: /src/cairo/test/ft-show-glyphs-table.c:88,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 100
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 100
    functionName: draw
    functionSourceFile: /src/cairo/test/ft-show-glyphs-table.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_font_options
    - cairo_font_options_destroy
    - cairo_font_options_create
    - cairo_get_scaled_font
    - cairo_ft_scaled_font_lock_face
    - FT_Get_First_Char
    - FT_Get_Next_Char
    - cairo_show_glyphs
    - cairo_set_font_size
    - cairo_select_font_face
    - cairo_set_source_rgb
    - cairo_ft_scaled_font_unlock_face
    - cairo_font_options_set_hint_metrics
    - cairo_get_font_options
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/user-font-rescale.c:164,1
    - Dst: free
      Src: /src/cairo/test/user-font-rescale.c:167,1
    - Dst: free
      Src: /src/cairo/test/user-font-rescale.c:168,1
    - Dst: cairo_scaled_font_destroy
      Src: /src/cairo/test/user-font-rescale.c:165,1
    - Dst: free
      Src: /src/cairo/test/user-font-rescale.c:166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 169
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 169
    functionName: rescale_font_closure_destroy
    functionSourceFile: /src/cairo/test/user-font-rescale.c
    functionUses: []
    functionsReached:
    - cairo_font_face_destroy
    - cairo_scaled_font_destroy
    - free
    linkageType: ''
    returnType: void
    signature: 'static void rescale_font_closure_destroy (void *data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 2
    argNames:
    - ucs4
    - utf8
    argTypes:
    - uint32_t
    - char
    constantsTouched: []
    func_position:
      end: 129
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 129
    functionName: unichar_to_utf8
    functionSourceFile: /src/cairo/test/user-font-rescale.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void unichar_to_utf8 (uint32_t ucs4, char utf8[7]) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cairo_font_options_create
      Src: /src/cairo/test/user-font-rescale.c:248,1
    - Dst: cairo_scaled_font_create
      Src: /src/cairo/test/user-font-rescale.c:253,1
    - Dst: cairo_font_options_set_hint_style
      Src: /src/cairo/test/user-font-rescale.c:249,1
    - Dst: cairo_matrix_init_identity
      Src: /src/cairo/test/user-font-rescale.c:252,1
    - Dst: cairo_font_options_set_hint_metrics
      Src: /src/cairo/test/user-font-rescale.c:250,1
    - Dst: cairo_scaled_font_text_to_glyphs
      Src: /src/cairo/test/user-font-rescale.c:255,1
    - Dst: cairo_font_options_destroy
      Src: /src/cairo/test/user-font-rescale.c:259,1
    - Dst: cairo_scaled_font_destroy
      Src: /src/cairo/test/user-font-rescale.c:262,1
    - Dst: xcalloc
      Src: /src/cairo/test/user-font-rescale.c:277,1
    - Dst: cairo_scaled_font_glyph_extents
      Src: /src/cairo/test/user-font-rescale.c:281,1
    - Dst: cairo_scaled_font_status
      Src: /src/cairo/test/user-font-rescale.c:285,1
    - Dst: cairo_glyph_free
      Src: /src/cairo/test/user-font-rescale.c:287,1
    - Dst: free
      Src: /src/cairo/test/user-font-rescale.c:295,1
    - Dst: create_rescaled_font
      Src: /src/cairo/test/user-font-rescale.c:290,1
    - Dst: cairo_scaled_font_destroy
      Src: /src/cairo/test/user-font-rescale.c:286,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 4
    argNames:
    - substitute_font
    - text
    - old
    - out
    argTypes:
    - cairo_font_face_t*
    - char*
    - cairo_font_face_t*
    - cairo_font_face_t**
    constantsTouched: []
    func_position:
      end: 297
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 297
    functionName: get_user_font_face
    functionSourceFile: /src/cairo/test/user-font-rescale.c
    functionUses: []
    functionsReached:
    - cairo_scaled_font_destroy
    - cairo_font_options_destroy
    - cairo_font_options_set_hint_style
    - cairo_font_options_create
    - cairo_scaled_font_create
    - cairo_scaled_font_status
    - create_rescaled_font
    - cairo_scaled_font_glyph_extents
    - free
    - cairo_glyph_free
    - xcalloc
    - cairo_matrix_init_identity
    - cairo_scaled_font_text_to_glyphs
    - cairo_font_options_set_hint_metrics
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t get_user_font_face (cairo_font_face_t *substitute_font,\t\
      \t const char *text,\t\t cairo_font_face_t *old,\t\t cairo_font_face_t **out) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_scaled_font_get_font_face
      Src: /src/cairo/test/user-font-rescale.c:63,1
    - Dst: cairo_font_face_get_user_data
      Src: /src/cairo/test/user-font-rescale.c:64,1
    - Dst: cairo_scaled_font_glyph_extents
      Src: /src/cairo/test/user-font-rescale.c:76,1
    - Dst: cairo_set_font_face
      Src: /src/cairo/test/user-font-rescale.c:65,1
    - Dst: isnan
      Src: /src/cairo/test/user-font-rescale.c:70,1
    - Dst: cairo_get_font_matrix
      Src: /src/cairo/test/user-font-rescale.c:87,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/test/user-font-rescale.c:88,1
    - Dst: cairo_set_font_matrix
      Src: /src/cairo/test/user-font-rescale.c:89,1
    - Dst: cairo_show_glyphs
      Src: /src/cairo/test/user-font-rescale.c:92,1
    - Dst: cairo_glyph_extents
      Src: /src/cairo/test/user-font-rescale.c:93,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 4
    argNames:
    - scaled_font
    - glyph
    - cr
    - metrics
    argTypes:
    - cairo_scaled_font_t*
    - unsigned long
    - cairo_t*
    - cairo_text_extents_t*
    constantsTouched: []
    func_position:
      end: 96
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 96
    functionName: test_scaled_font_render_glyph
    functionSourceFile: /src/cairo/test/user-font-rescale.c
    functionUses: []
    functionsReached:
    - cairo_set_font_face
    - isnan
    - cairo_get_font_matrix
    - cairo_matrix_scale
    - cairo_show_glyphs
    - cairo_scaled_font_glyph_extents
    - cairo_glyph_extents
    - cairo_font_face_get_user_data
    - cairo_set_font_matrix
    - cairo_scaled_font_get_font_face
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t test_scaled_font_render_glyph (cairo_scaled_font_t\
      \ *scaled_font,\t\t\t unsigned long glyph,\t\t\t cairo_t *cr,\t\t\t cairo_text_extents_t\
      \ *metrics) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_scaled_font_get_font_face
      Src: /src/cairo/test/user-font-rescale.c:143,1
    - Dst: cairo_glyph_free
      Src: /src/cairo/test/user-font-rescale.c:156,1
    - Dst: cairo_scaled_font_text_to_glyphs
      Src: /src/cairo/test/user-font-rescale.c:147,1
    - Dst: cairo_font_face_get_user_data
      Src: /src/cairo/test/user-font-rescale.c:146,1
    - Dst: unichar_to_utf8
      Src: /src/cairo/test/user-font-rescale.c:145,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - scaled_font
    - unicode
    - glyph_index
    argTypes:
    - cairo_scaled_font_t*
    - unsigned long
    - unsigned long*
    constantsTouched: []
    func_position:
      end: 158
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 158
    functionName: test_scaled_font_unicode_to_glyph
    functionSourceFile: /src/cairo/test/user-font-rescale.c
    functionUses: []
    functionsReached:
    - unichar_to_utf8
    - cairo_glyph_free
    - cairo_font_face_get_user_data
    - cairo_scaled_font_get_font_face
    - cairo_scaled_font_text_to_glyphs
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t test_scaled_font_unicode_to_glyph (cairo_scaled_font_t\
      \ *scaled_font,\t\t\t\t unsigned long unicode,\t\t\t\t unsigned long *glyph_index) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_user_font_face_create
      Src: /src/cairo/test/user-font-rescale.c:185,1
    - Dst: cairo_font_face_reference
      Src: /src/cairo/test/user-font-rescale.c:190,1
    - Dst: cairo_user_font_face_set_unicode_to_glyph_func
      Src: /src/cairo/test/user-font-rescale.c:187,1
    - Dst: xmalloc
      Src: /src/cairo/test/user-font-rescale.c:189,1
    - Dst: cairo_user_font_face_set_render_glyph_func
      Src: /src/cairo/test/user-font-rescale.c:186,1
    - Dst: cairo_font_options_create
      Src: /src/cairo/test/user-font-rescale.c:193,1
    - Dst: cairo_font_options_set_hint_style
      Src: /src/cairo/test/user-font-rescale.c:194,1
    - Dst: cairo_font_options_set_hint_metrics
      Src: /src/cairo/test/user-font-rescale.c:195,1
    - Dst: cairo_matrix_init_identity
      Src: /src/cairo/test/user-font-rescale.c:197,1
    - Dst: cairo_scaled_font_create
      Src: /src/cairo/test/user-font-rescale.c:199,1
    - Dst: rescale_font_closure_destroy
      Src: /src/cairo/test/user-font-rescale.c:220,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/user-font-rescale.c:221,1
    - Dst: cairo_font_face_set_user_data
      Src: /src/cairo/test/user-font-rescale.c:216,1
    - Dst: xcalloc
      Src: /src/cairo/test/user-font-rescale.c:207,1
    - Dst: cairo_test_NaN
      Src: /src/cairo/test/user-font-rescale.c:213,1
    - Dst: xcalloc
      Src: /src/cairo/test/user-font-rescale.c:208,1
    - Dst: cairo_font_options_destroy
      Src: /src/cairo/test/user-font-rescale.c:202,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 5
    argNames:
    - substitute_font
    - glyph_start
    - glyph_count
    - desired_width
    - out
    argTypes:
    - cairo_font_face_t*
    - int
    - int
    - double*
    - cairo_font_face_t**
    constantsTouched: []
    func_position:
      end: 227
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 227
    functionName: create_rescaled_font
    functionSourceFile: /src/cairo/test/user-font-rescale.c
    functionUses: []
    functionsReached:
    - cairo_font_face_set_user_data
    - cairo_font_options_destroy
    - cairo_font_options_create
    - xmalloc
    - cairo_font_options_set_hint_style
    - cairo_scaled_font_create
    - cairo_test_NaN
    - cairo_user_font_face_create
    - cairo_font_face_destroy
    - cairo_font_face_reference
    - xcalloc
    - cairo_matrix_init_identity
    - rescale_font_closure_destroy
    - cairo_user_font_face_set_render_glyph_func
    - cairo_font_options_set_hint_metrics
    - cairo_user_font_face_set_unicode_to_glyph_func
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t create_rescaled_font (cairo_font_face_t *substitute_font,\t\
      \t int glyph_start,\t\t int glyph_count,\t\t double *desired_width,\t\t cairo_font_face_t\
      \ **out) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/user-font-rescale.c:310,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/user-font-rescale.c:323,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/user-font-rescale.c:336,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/user-font-rescale.c:329,1
    - Dst: cairo_get_font_face
      Src: /src/cairo/test/user-font-rescale.c:328,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/user-font-rescale.c:346,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/user-font-rescale.c:357,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/user-font-rescale.c:313,1
    - Dst: cairo_font_extents
      Src: /src/cairo/test/user-font-rescale.c:320,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/user-font-rescale.c:324,1
    - Dst: cairo_get_font_face
      Src: /src/cairo/test/user-font-rescale.c:333,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/user-font-rescale.c:347,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/user-font-rescale.c:355,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/user-font-rescale.c:318,1
    - Dst: cairo_paint
      Src: /src/cairo/test/user-font-rescale.c:311,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/user-font-rescale.c:325,1
    - Dst: cairo_font_face_reference
      Src: /src/cairo/test/user-font-rescale.c:328,1
    - Dst: cairo_set_font_face
      Src: /src/cairo/test/user-font-rescale.c:342,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/user-font-rescale.c:343,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/user-font-rescale.c:345,1
    - Dst: cairo_text_extents
      Src: /src/cairo/test/user-font-rescale.c:321,1
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/user-font-rescale.c:338,1
    - Dst: cairo_test_status_from_status
      Src: /src/cairo/test/user-font-rescale.c:338,1
    - Dst: get_user_font_face
      Src: /src/cairo/test/user-font-rescale.c:335,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/user-font-rescale.c:350,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/user-font-rescale.c:356,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 41
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 360
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 360
    functionName: draw
    functionSourceFile: /src/cairo/test/user-font-rescale.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_get_font_face
    - cairo_set_font_face
    - cairo_show_text
    - cairo_test_status_from_status
    - cairo_test_get_context
    - cairo_font_face_destroy
    - cairo_font_extents
    - cairo_set_font_size
    - cairo_font_face_reference
    - get_user_font_face
    - cairo_select_font_face
    - cairo_set_source_rgb
    - cairo_text_extents
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_paint
      Src: /src/cairo/test/subsurface-scale.c:35,1
    - Dst: cairo_fill
      Src: /src/cairo/test/subsurface-scale.c:39,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/subsurface-scale.c:41,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/subsurface-scale.c:48,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/subsurface-scale.c:59,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/subsurface-scale.c:72,1
    - Dst: cairo_create
      Src: /src/cairo/test/subsurface-scale.c:51,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/test/subsurface-scale.c:64,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/subsurface-scale.c:70,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/subsurface-scale.c:77,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/subsurface-scale.c:82,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/subsurface-scale.c:34,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/subsurface-scale.c:38,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/subsurface-scale.c:52,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/test/subsurface-scale.c:54,1
    - Dst: cairo_text_extents
      Src: /src/cairo/test/subsurface-scale.c:58,1
    - Dst: cairo_scale
      Src: /src/cairo/test/subsurface-scale.c:68,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/subsurface-scale.c:65,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/subsurface-scale.c:57,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/subsurface-scale.c:71,1
    - Dst: cairo_get_source
      Src: /src/cairo/test/subsurface-scale.c:71,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/subsurface-scale.c:37,1
    - Dst: cairo_surface_create_for_rectangle
      Src: /src/cairo/test/subsurface-scale.c:48,1
    - Dst: cairo_get_target
      Src: /src/cairo/test/subsurface-scale.c:64,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/subsurface-scale.c:62,1
    - Dst: cairo_paint_with_alpha
      Src: /src/cairo/test/subsurface-scale.c:78,1
    - Dst: cairo_fill
      Src: /src/cairo/test/subsurface-scale.c:73,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 56
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 85
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 85
    functionName: draw
    functionSourceFile: /src/cairo/test/subsurface-scale.c
    functionUses: []
    functionsReached:
    - cairo_get_source
    - cairo_pattern_set_extend
    - cairo_get_target
    - cairo_select_font_face
    - cairo_set_source_surface
    - cairo_rectangle
    - cairo_paint_with_alpha
    - cairo_show_text
    - cairo_surface_reference
    - cairo_create
    - cairo_fill
    - cairo_destroy
    - cairo_text_extents
    - cairo_paint
    - cairo_surface_create_for_rectangle
    - cairo_set_font_size
    - cairo_surface_destroy
    - cairo_scale
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/composite-integer-translate-source.c:38,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/composite-integer-translate-source.c:43,1
    - Dst: cairo_test_create_surface_from_png
      Src: /src/cairo/test/composite-integer-translate-source.c:41,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/composite-integer-translate-source.c:44,1
    - Dst: cairo_fill
      Src: /src/cairo/test/composite-integer-translate-source.c:45,1
    - Dst: cairo_translate
      Src: /src/cairo/test/composite-integer-translate-source.c:47,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/composite-integer-translate-source.c:48,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/composite-integer-translate-source.c:49,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/composite-integer-translate-source.c:50,1
    - Dst: cairo_fill
      Src: /src/cairo/test/composite-integer-translate-source.c:51,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/composite-integer-translate-source.c:53,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 56
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 56
    functionName: draw
    functionSourceFile: /src/cairo/test/composite-integer-translate-source.c
    functionUses: []
    functionsReached:
    - cairo_test_create_surface_from_png
    - cairo_set_source_rgba
    - cairo_test_get_context
    - cairo_surface_destroy
    - cairo_set_operator
    - cairo_fill
    - cairo_translate
    - cairo_set_source_surface
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_move_to
      Src: /src/cairo/test/clip-polygons.c:34,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-polygons.c:36,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-polygons.c:35,1
    - Dst: cairo_close_path
      Src: /src/cairo/test/clip-polygons.c:38,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/clip-polygons.c:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: diamond
    functionSourceFile: /src/cairo/test/clip-polygons.c
    functionUses: []
    functionsReached:
    - cairo_line_to
    - cairo_move_to
    - cairo_close_path
    linkageType: ''
    returnType: void
    signature: 'static void diamond (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-polygons.c:58,1
    - Dst: diamond
      Src: /src/cairo/test/clip-polygons.c:57,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-polygons.c:60,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-polygons.c:73,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-polygons.c:83,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-polygons.c:86,1
    - Dst: diamond
      Src: /src/cairo/test/clip-polygons.c:95,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-polygons.c:96,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-polygons.c:100,1
    - Dst: cairo_restore
      Src: /src/cairo/test/clip-polygons.c:101,1
    - Dst: cairo_save
      Src: /src/cairo/test/clip-polygons.c:56,1
    - Dst: diamond
      Src: /src/cairo/test/clip-polygons.c:59,1
    - Dst: cairo_save
      Src: /src/cairo/test/clip-polygons.c:67,1
    - Dst: cairo_translate
      Src: /src/cairo/test/clip-polygons.c:71,1
    - Dst: cairo_translate
      Src: /src/cairo/test/clip-polygons.c:68,1
    - Dst: diamond
      Src: /src/cairo/test/clip-polygons.c:72,1
    - Dst: cairo_save
      Src: /src/cairo/test/clip-polygons.c:80,1
    - Dst: diamond
      Src: /src/cairo/test/clip-polygons.c:82,1
    - Dst: diamond
      Src: /src/cairo/test/clip-polygons.c:85,1
    - Dst: cairo_save
      Src: /src/cairo/test/clip-polygons.c:93,1
    - Dst: cairo_restore
      Src: /src/cairo/test/clip-polygons.c:62,1
    - Dst: cairo_translate
      Src: /src/cairo/test/clip-polygons.c:64,1
    - Dst: cairo_translate
      Src: /src/cairo/test/clip-polygons.c:77,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-polygons.c:70,1
    - Dst: cairo_restore
      Src: /src/cairo/test/clip-polygons.c:75,1
    - Dst: cairo_restore
      Src: /src/cairo/test/clip-polygons.c:88,1
    - Dst: cairo_translate
      Src: /src/cairo/test/clip-polygons.c:90,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clip-polygons.c:99,1
    - Dst: cairo_translate
      Src: /src/cairo/test/clip-polygons.c:97,1
    - Dst: background
      Src: /src/cairo/test/clip-polygons.c:53,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-polygons.c:61,1
    - Dst: diamond
      Src: /src/cairo/test/clip-polygons.c:69,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-polygons.c:74,1
    - Dst: cairo_translate
      Src: /src/cairo/test/clip-polygons.c:81,1
    - Dst: cairo_translate
      Src: /src/cairo/test/clip-polygons.c:84,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-polygons.c:87,1
    - Dst: cairo_translate
      Src: /src/cairo/test/clip-polygons.c:94,1
    - Dst: diamond
      Src: /src/cairo/test/clip-polygons.c:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 50
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 104
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 104
    functionName: draw
    functionSourceFile: /src/cairo/test/clip-polygons.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - background
    - cairo_save
    - diamond
    - cairo_restore
    - cairo_translate
    - cairo_clip
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_operator
      Src: /src/cairo/test/clip-polygons.c:43,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clip-polygons.c:45,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-polygons.c:44,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clip-polygons.c:47,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/clip-polygons.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: background
    functionSourceFile: /src/cairo/test/clip-polygons.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_operator
    - cairo_set_source_rgb
    linkageType: ''
    returnType: void
    signature: 'static void background (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/push-group-path-offset.c:38,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/push-group-path-offset.c:42,1
    - Dst: cairo_clip_preserve
      Src: /src/cairo/test/push-group-path-offset.c:48,1
    - Dst: cairo_paint
      Src: /src/cairo/test/push-group-path-offset.c:39,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/push-group-path-offset.c:45,1
    - Dst: cairo_push_group
      Src: /src/cairo/test/push-group-path-offset.c:51,1
    - Dst: cairo_push_group
      Src: /src/cairo/test/push-group-path-offset.c:54,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/push-group-path-offset.c:57,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/test/push-group-path-offset.c:58,1
    - Dst: cairo_pop_group_to_source
      Src: /src/cairo/test/push-group-path-offset.c:61,1
    - Dst: cairo_pop_group_to_source
      Src: /src/cairo/test/push-group-path-offset.c:64,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/test/push-group-path-offset.c:62,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/test/push-group-path-offset.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 68
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 68
    functionName: draw
    functionSourceFile: /src/cairo/test/push-group-path-offset.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_pop_group_to_source
    - cairo_set_operator
    - cairo_clip_preserve
    - cairo_set_source_rgb
    - cairo_push_group
    - cairo_fill_preserve
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/linear-step-function.c:33,1
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/test/linear-step-function.c:36,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/test/linear-step-function.c:37,1
    - Dst: cairo_paint
      Src: /src/cairo/test/linear-step-function.c:34,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/test/linear-step-function.c:38,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/linear-step-function.c:39,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/linear-step-function.c:41,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/linear-step-function.c:42,1
    - Dst: cairo_fill
      Src: /src/cairo/test/linear-step-function.c:43,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/test/linear-step-function.c:45,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/linear-step-function.c:46,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/linear-step-function.c:49,1
    - Dst: cairo_fill
      Src: /src/cairo/test/linear-step-function.c:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 52
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 52
    functionName: draw
    functionSourceFile: /src/cairo/test/linear-step-function.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_pattern_create_linear
    - cairo_pattern_add_color_stop_rgb
    - cairo_set_source
    - cairo_pattern_set_extend
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_pattern_destroy
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/test/caps-sub-paths.c:36,1
    - Dst: cairo_restore
      Src: /src/cairo/test/caps-sub-paths.c:39,1
    - Dst: cairo_paint
      Src: /src/cairo/test/caps-sub-paths.c:38,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/caps-sub-paths.c:41,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/caps-sub-paths.c:37,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/caps-sub-paths.c:42,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/caps-sub-paths.c:44,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/caps-sub-paths.c:45,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/caps-sub-paths.c:47,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/caps-sub-paths.c:48,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/caps-sub-paths.c:50,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/caps-sub-paths.c:53,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/caps-sub-paths.c:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 56
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 56
    functionName: draw
    functionSourceFile: /src/cairo/test/caps-sub-paths.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_line_width
    - cairo_line_to
    - cairo_save
    - cairo_stroke
    - cairo_restore
    - cairo_set_line_cap
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_rectangle
      Src: /src/cairo/test/user-font-subpixel.c:45,1
    - Dst: cairo_fill
      Src: /src/cairo/test/user-font-subpixel.c:46,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - scaled_font
    - glyph
    - cr
    - metrics
    argTypes:
    - cairo_scaled_font_t*
    - unsigned long
    - cairo_t*
    - cairo_text_extents_t*
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: test_scaled_font_render_glyph
    functionSourceFile: /src/cairo/test/user-font-subpixel.c
    functionUses: []
    functionsReached:
    - cairo_fill
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t test_scaled_font_render_glyph (cairo_scaled_font_t\
      \ *scaled_font,\t\t\t unsigned long glyph,\t\t\t cairo_t *cr,\t\t\t cairo_text_extents_t\
      \ *metrics) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/user-font-subpixel.c:66,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/test/user-font-subpixel.c:72,1
    - Dst: cairo_set_font_face
      Src: /src/cairo/test/user-font-subpixel.c:71,1
    - Dst: _user_font_face_create
      Src: /src/cairo/test/user-font-subpixel.c:69,1
    - Dst: cairo_paint
      Src: /src/cairo/test/user-font-subpixel.c:67,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/user-font-subpixel.c:74,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/test/user-font-subpixel.c:75,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/user-font-subpixel.c:79,1
    - Dst: cairo_show_text
      Src: /src/cairo/test/user-font-subpixel.c:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 84
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 84
    functionName: draw
    functionSourceFile: /src/cairo/test/user-font-subpixel.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_font_face
    - cairo_show_text
    - cairo_font_face_destroy
    - _user_font_face_create
    - cairo_set_font_size
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_user_font_face_create
      Src: /src/cairo/test/user-font-subpixel.c:55,1
    - Dst: cairo_user_font_face_set_render_glyph_func
      Src: /src/cairo/test/user-font-subpixel.c:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 59
    functionName: _user_font_face_create
    functionSourceFile: /src/cairo/test/user-font-subpixel.c
    functionUses: []
    functionsReached:
    - cairo_user_font_face_set_render_glyph_func
    - cairo_user_font_face_create
    linkageType: ''
    returnType: cairo_font_face_t*
    signature: 'static cairo_font_face_t *_user_font_face_create (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_test_get_context
      Src: /src/cairo/test/clipped-surface.c:37,1
    - Dst: cairo_test_create_surface_from_png
      Src: /src/cairo/test/clipped-surface.c:40,1
    - Dst: cairo_paint
      Src: /src/cairo/test/clipped-surface.c:43,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clipped-surface.c:45,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/clipped-surface.c:42,1
    - Dst: cairo_clip
      Src: /src/cairo/test/clipped-surface.c:46,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/clipped-surface.c:48,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/clipped-surface.c:49,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/clipped-surface.c:51,1
    - Dst: cairo_fill
      Src: /src/cairo/test/clipped-surface.c:52,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 55
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 55
    functionName: draw
    functionSourceFile: /src/cairo/test/clipped-surface.c
    functionUses: []
    functionsReached:
    - cairo_test_create_surface_from_png
    - cairo_paint
    - cairo_test_get_context
    - cairo_surface_destroy
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_clip
    - cairo_set_source_surface
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/dash-curve.c:33,1
    - Dst: cairo_rel_curve_to
      Src: /src/cairo/test/dash-curve.c:40,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/dash-curve.c:45,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/dash-curve.c:39,1
    - Dst: cairo_paint
      Src: /src/cairo/test/dash-curve.c:34,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/dash-curve.c:46,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/dash-curve.c:47,1
    - Dst: cairo_set_dash
      Src: /src/cairo/test/dash-curve.c:48,1
    - Dst: cairo_stroke_preserve
      Src: /src/cairo/test/dash-curve.c:49,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/test/dash-curve.c:51,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/dash-curve.c:55,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/test/dash-curve.c:52,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/test/dash-curve.c:53,1
    - Dst: cairo_set_dash
      Src: /src/cairo/test/dash-curve.c:54,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 58
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 58
    functionName: draw
    functionSourceFile: /src/cairo/test/dash-curve.c
    functionUses: []
    functionsReached:
    - cairo_rel_curve_to
    - cairo_paint
    - cairo_set_line_width
    - cairo_set_dash
    - cairo_stroke
    - cairo_set_line_cap
    - cairo_set_source_rgb
    - cairo_stroke_preserve
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_recording_surface_create
      Src: /src/cairo/test/bug-277.c:38,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/bug-277.c:41,1
    - Dst: cairo_create
      Src: /src/cairo/test/bug-277.c:39,1
    - Dst: cairo_stroke
      Src: /src/cairo/test/bug-277.c:43,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/bug-277.c:42,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/bug-277.c:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 47
    functionName: create_recording_surface
    functionSourceFile: /src/cairo/test/bug-277.c
    functionUses: []
    functionsReached:
    - cairo_line_to
    - cairo_create
    - cairo_stroke
    - cairo_destroy
    - cairo_recording_surface_create
    - cairo_move_to
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *create_recording_surface () '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_script_create_for_stream
      Src: /src/cairo/test/bug-277.c:65,1
    - Dst: cairo_test_create
      Src: /src/cairo/test/bug-277.c:72,1
    - Dst: cairo_script_surface_create
      Src: /src/cairo/test/bug-277.c:71,1
    - Dst: create_recording_surface
      Src: /src/cairo/test/bug-277.c:66,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/bug-277.c:73,1
    - Dst: cairo_paint
      Src: /src/cairo/test/bug-277.c:74,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/bug-277.c:75,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/bug-277.c:76,1
    - Dst: cairo_device_finish
      Src: /src/cairo/test/bug-277.c:79,1
    - Dst: cairo_device_destroy
      Src: /src/cairo/test/bug-277.c:81,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/bug-277.c:83,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - cairo_test_context_t*
    constantsTouched: []
    func_position:
      end: 86
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 86
    functionName: preamble
    functionSourceFile: /src/cairo/test/bug-277.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_device_destroy
    - cairo_script_create_for_stream
    - cairo_test_create
    - create_recording_surface
    - cairo_surface_destroy
    - cairo_device_finish
    - cairo_destroy
    - cairo_script_surface_create
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t preamble (cairo_test_context_t *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - closure
    - bytes
    - length
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: write_func
    functionSourceFile: /src/cairo/test/bug-277.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t write_func(void *closure, const unsigned char*
      bytes, unsigned int length) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_operator
      Src: /src/cairo/test/tiger.c:31,1
    - Dst: cairo_translate
      Src: /src/cairo/test/tiger.c:36,1
    - Dst: cairo_paint
      Src: /src/cairo/test/tiger.c:33,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/tiger.c:32,1
    - Dst: cairo_set_operator
      Src: /src/cairo/test/tiger.c:34,1
    - Dst: cairo_scale
      Src: /src/cairo/test/tiger.c:37,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/test/tiger.c:39,1
    - Dst: cairo_move_to
      Src: /src/cairo/test/tiger.c:43,1
    - Dst: cairo_line_to
      Src: /src/cairo/test/tiger.c:46,1
    - Dst: cairo_curve_to
      Src: /src/cairo/test/tiger.c:49,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/test/tiger.c:55,1
    - Dst: cairo_fill
      Src: /src/cairo/test/tiger.c:57,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 63
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 63
    functionName: draw
    functionSourceFile: /src/cairo/test/tiger.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgba
    - cairo_line_to
    - cairo_curve_to
    - ARRAY_LENGTH
    - cairo_scale
    - cairo_set_operator
    - cairo_fill
    - cairo_translate
    - cairo_move_to
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_antialias
      Src: /src/cairo/test/tiger.c:68,1
    - Dst: draw
      Src: /src/cairo/test/tiger.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: a1_draw
    functionSourceFile: /src/cairo/test/tiger.c
    functionUses: []
    functionsReached:
    - draw
    - cairo_set_antialias
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t a1_draw (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/test/huge-linear.c:43,1
    - Dst: cairo_pattern_set_matrix
      Src: /src/cairo/test/huge-linear.c:48,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/huge-linear.c:45,1
    - Dst: cairo_scale
      Src: /src/cairo/test/huge-linear.c:50,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/test/huge-linear.c:47,1
    - Dst: cairo_translate
      Src: /src/cairo/test/huge-linear.c:51,1
    - Dst: cairo_set_source
      Src: /src/cairo/test/huge-linear.c:53,1
    - Dst: cairo_rectangle
      Src: /src/cairo/test/huge-linear.c:54,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/test/huge-linear.c:55,1
    - Dst: cairo_fill
      Src: /src/cairo/test/huge-linear.c:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 59
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 59
    functionName: draw
    functionSourceFile: /src/cairo/test/huge-linear.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_linear
    - cairo_pattern_set_matrix
    - cairo_set_source
    - cairo_scale
    - cairo_pattern_add_color_stop_rgba
    - cairo_translate
    - cairo_fill
    - cairo_pattern_destroy
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_test_status_t
    signature: 'static cairo_test_status_t draw (cairo_t *cr, int width, int height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_debug_svg_render
      Src: /src/cairo/test/svg/svg-render.c:73,1
    - Dst: printf
      Src: /src/cairo/test/svg/svg-render.c:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - svg_document
    - cr
    argTypes:
    - char*
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: cairo_render
    functionSourceFile: /src/cairo/test/svg/svg-render.c
    functionUses: []
    functionsReached:
    - printf
    - _cairo_debug_svg_render
    linkageType: ''
    returnType: void
    signature: 'static void cairo_render (const char *svg_document, cairo_t *cr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/cairo/test/svg/svg-render.c:222,1
    - Dst: rewind
      Src: /src/cairo/test/svg/svg-render.c:228,1
    - Dst: fseek
      Src: /src/cairo/test/svg/svg-render.c:226,1
    - Dst: malloc
      Src: /src/cairo/test/svg/svg-render.c:229,1
    - Dst: ftell
      Src: /src/cairo/test/svg/svg-render.c:227,1
    - Dst: fread
      Src: /src/cairo/test/svg/svg-render.c:230,1
    - Dst: fclose
      Src: /src/cairo/test/svg/svg-render.c:233,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 235
    functionName: read_file
    functionSourceFile: /src/cairo/test/svg/svg-render.c
    functionUses: []
    functionsReached:
    - malloc
    - fclose
    - fseek
    - fopen
    - fread
    - ftell
    - rewind
    linkageType: ''
    returnType: char*
    signature: 'static char *read_file(const char *filename) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cairo_scale
      Src: /src/cairo/test/svg/svg-render.c:157,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/svg/svg-render.c:185,1
    - Dst: cairo_create
      Src: /src/cairo/test/svg/svg-render.c:152,1
    - Dst: cairo_render
      Src: /src/cairo/test/svg/svg-render.c:160,1
    - Dst: cairo_destroy
      Src: /src/cairo/test/svg/svg-render.c:164,1
    - Dst: cairo_recording_surface_ink_extents
      Src: /src/cairo/test/svg/svg-render.c:167,1
    - Dst: floor
      Src: /src/cairo/test/svg/svg-render.c:174,1
    - Dst: cairo_paint
      Src: /src/cairo/test/svg/svg-render.c:189,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/test/svg/svg-render.c:180,1
    - Dst: ceil
      Src: /src/cairo/test/svg/svg-render.c:177,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/svg/svg-render.c:192,1
    - Dst: librsvg_render
      Src: /src/cairo/test/svg/svg-render.c:162,1
    - Dst: printf
      Src: /src/cairo/test/svg/svg-render.c:171,1
    - Dst: printf
      Src: /src/cairo/test/svg/svg-render.c:173,1
    - Dst: cairo_create
      Src: /src/cairo/test/svg/svg-render.c:181,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/test/svg/svg-render.c:187,1
    - Dst: floor
      Src: /src/cairo/test/svg/svg-render.c:176,1
    - Dst: cairo_recording_surface_create
      Src: /src/cairo/test/svg/svg-render.c:151,1
    - Dst: printf
      Src: /src/cairo/test/svg/svg-render.c:169,1
    - Dst: ceil
      Src: /src/cairo/test/svg/svg-render.c:175,1
    - Dst: cairo_surface_write_to_png
      Src: /src/cairo/test/svg/svg-render.c:191,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - svg_document
    - renderer
    - out_file
    argTypes:
    - char*
    - svg_renderer_t
    - char*
    constantsTouched: []
    func_position:
      end: 193
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 193
    functionName: render_svg
    functionSourceFile: /src/cairo/test/svg/svg-render.c
    functionUses: []
    functionsReached:
    - printf
    - cairo_paint
    - cairo_render
    - cairo_create
    - cairo_surface_write_to_png
    - cairo_surface_destroy
    - librsvg_render
    - cairo_scale
    - cairo_image_surface_create
    - cairo_recording_surface_ink_extents
    - cairo_destroy
    - cairo_recording_surface_create
    - ceil
    - cairo_set_source_surface
    - floor
    linkageType: ''
    returnType: void
    signature: 'static void render_svg (const char *svg_document, svg_renderer_t renderer,
      const char* out_file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cairo/test/svg/svg-render.c:240,1
    - Dst: exit
      Src: /src/cairo/test/svg/svg-render.c:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 242
    functionName: usage_and_exit
    functionSourceFile: /src/cairo/test/svg/svg-render.c
    functionUses: []
    functionsReached:
    - printf
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void usage_and_exit() '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rsvg_handle_new_from_data
      Src: /src/cairo/test/svg/svg-render.c:90,1
    - Dst: rsvg_handle_get_intrinsic_dimensions
      Src: /src/cairo/test/svg/svg-render.c:103,1
    - Dst: cairo_scale
      Src: /src/cairo/test/svg/svg-render.c:129,1
    - Dst: strlen
      Src: /src/cairo/test/svg/svg-render.c:91,1
    - Dst: printf
      Src: /src/cairo/test/svg/svg-render.c:94,1
    - Dst: cairo_translate
      Src: /src/cairo/test/svg/svg-render.c:130,1
    - Dst: cairo_scale
      Src: /src/cairo/test/svg/svg-render.c:132,1
    - Dst: cairo_translate
      Src: /src/cairo/test/svg/svg-render.c:133,1
    - Dst: rsvg_handle_render_layer
      Src: /src/cairo/test/svg/svg-render.c:140,1
    - Dst: printf
      Src: /src/cairo/test/svg/svg-render.c:141,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - svg_document
    - cr
    argTypes:
    - char*
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 144
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 144
    functionName: librsvg_render
    functionSourceFile: /src/cairo/test/svg/svg-render.c
    functionUses: []
    functionsReached:
    - printf
    - strlen
    - rsvg_handle_render_layer
    - cairo_scale
    - rsvg_handle_new_from_data
    - cairo_translate
    - rsvg_handle_get_intrinsic_dimensions
    linkageType: ''
    returnType: void
    signature: 'static void librsvg_render (const char *svg_document, cairo_t *cr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/cairo/test/svg/svg-render.c:201,1
    - Dst: strcat
      Src: /src/cairo/test/svg/svg-render.c:208,1
    - Dst: strlen
      Src: /src/cairo/test/svg/svg-render.c:202,1
    - Dst: strcmp
      Src: /src/cairo/test/svg/svg-render.c:204,1
    - Dst: strlen
      Src: /src/cairo/test/svg/svg-render.c:204,1
    - Dst: strcat
      Src: /src/cairo/test/svg/svg-render.c:210,1
    - Dst: strdup
      Src: /src/cairo/test/svg/svg-render.c:212,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 213
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 213
    functionName: create_output_name
    functionSourceFile: /src/cairo/test/svg/svg-render.c
    functionUses: []
    functionsReached:
    - strcat
    - strlen
    - strcmp
    - strcpy
    - strdup
    linkageType: ''
    returnType: char*
    signature: 'static char *create_output_name (const char *svg_file, svg_renderer_t
      renderer) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: render_svg
      Src: /src/cairo/test/svg/svg-render.c:297,1
    - Dst: free
      Src: /src/cairo/test/svg/svg-render.c:304,1
    - Dst: usage_and_exit
      Src: /src/cairo/test/svg/svg-render.c:268,1
    - Dst: atoi
      Src: /src/cairo/test/svg/svg-render.c:272,1
    - Dst: printf
      Src: /src/cairo/test/svg/svg-render.c:292,1
    - Dst: free
      Src: /src/cairo/test/svg/svg-render.c:302,1
    - Dst: strcmp
      Src: /src/cairo/test/svg/svg-render.c:270,1
    - Dst: usage_and_exit
      Src: /src/cairo/test/svg/svg-render.c:288,1
    - Dst: read_file
      Src: /src/cairo/test/svg/svg-render.c:290,1
    - Dst: free
      Src: /src/cairo/test/svg/svg-render.c:298,1
    - Dst: strcmp
      Src: /src/cairo/test/svg/svg-render.c:254,1
    - Dst: strcmp
      Src: /src/cairo/test/svg/svg-render.c:262,1
    - Dst: strcmp
      Src: /src/cairo/test/svg/svg-render.c:258,1
    - Dst: usage_and_exit
      Src: /src/cairo/test/svg/svg-render.c:274,1
    - Dst: usage_and_exit
      Src: /src/cairo/test/svg/svg-render.c:279,1
    - Dst: exit
      Src: /src/cairo/test/svg/svg-render.c:293,1
    - Dst: create_output_name
      Src: /src/cairo/test/svg/svg-render.c:296,1
    - Dst: create_output_name
      Src: /src/cairo/test/svg/svg-render.c:300,1
    - Dst: render_svg
      Src: /src/cairo/test/svg/svg-render.c:301,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 54
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 307
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 307
    functionName: main
    functionSourceFile: /src/cairo/test/svg/svg-render.c
    functionUses: []
    functionsReached:
    - printf
    - read_file
    - free
    - strcmp
    - create_output_name
    - usage_and_exit
    - atoi
    - render_svg
    - exit
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - args
    argTypes:
    - args_t*
    constantsTouched: []
    func_position:
      end: 51
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 51
    functionName: args_init
    functionSourceFile: /src/cairo/test/pdiff/args.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void args_init (args_t *args) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/pdiff/args.c:56,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/test/pdiff/args.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - args
    argTypes:
    - args_t*
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: args_fini
    functionSourceFile: /src/cairo/test/pdiff/args.c
    functionUses: []
    functionsReached:
    - cairo_surface_destroy
    linkageType: ''
    returnType: void
    signature: 'void args_fini (args_t *args) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create_from_png
      Src: /src/cairo/test/pdiff/args.c:71,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/pdiff/args.c:72,1
    - Dst: strstr
      Src: /src/cairo/test/pdiff/args.c:93,1
    - Dst: fprintf
      Src: /src/cairo/test/pdiff/args.c:74,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/pdiff/args.c:75,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/pdiff/args.c:83,1
    - Dst: strstr
      Src: /src/cairo/test/pdiff/args.c:87,1
    - Dst: cairo_image_surface_create_from_png
      Src: /src/cairo/test/pdiff/args.c:79,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/pdiff/args.c:80,1
    - Dst: atoi
      Src: /src/cairo/test/pdiff/args.c:95,1
    - Dst: fprintf
      Src: /src/cairo/test/pdiff/args.c:65,1
    - Dst: fprintf
      Src: /src/cairo/test/pdiff/args.c:66,1
    - Dst: cairo_surface_status
      Src: /src/cairo/test/pdiff/args.c:75,1
    - Dst: fprintf
      Src: /src/cairo/test/pdiff/args.c:82,1
    - Dst: strstr
      Src: /src/cairo/test/pdiff/args.c:91,1
    - Dst: atof
      Src: /src/cairo/test/pdiff/args.c:99,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/test/pdiff/args.c:83,1
    - Dst: strstr
      Src: /src/cairo/test/pdiff/args.c:97,1
    - Dst: atof
      Src: /src/cairo/test/pdiff/args.c:89,1
    - Dst: strstr
      Src: /src/cairo/test/pdiff/args.c:101,1
    - Dst: atof
      Src: /src/cairo/test/pdiff/args.c:103,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 62
    argCount: 3
    argNames:
    - args
    - argc
    - argv
    argTypes:
    - args_t*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 109
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 109
    functionName: args_parse
    functionSourceFile: /src/cairo/test/pdiff/args.c
    functionUses: []
    functionsReached:
    - fprintf
    - cairo_surface_status
    - atof
    - cairo_image_surface_create_from_png
    - atoi
    - strstr
    - cairo_status_to_string
    linkageType: ''
    returnType: bool
    signature: 'bool args_parse (args_t *args, int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cairo/test/pdiff/args.c:114,1
    - Dst: printf
      Src: /src/cairo/test/pdiff/args.c:117,1
    - Dst: printf
      Src: /src/cairo/test/pdiff/args.c:115,1
    - Dst: printf
      Src: /src/cairo/test/pdiff/args.c:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - args
    argTypes:
    - args_t*
    constantsTouched: []
    func_position:
      end: 118
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 118
    functionName: args_print
    functionSourceFile: /src/cairo/test/pdiff/args.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'void args_print (args_t *args) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: powf
      Src: /src/cairo/test/pdiff/pdiff.c:125,1
    - Dst: powf
      Src: /src/cairo/test/pdiff/pdiff.c:127,1
    - Dst: powf
      Src: /src/cairo/test/pdiff/pdiff.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - contrast
    argTypes:
    - float
    constantsTouched: []
    func_position:
      end: 130
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 130
    functionName: mask
    functionSourceFile: /src/cairo/test/pdiff/pdiff.c
    functionUses: []
    functionsReached:
    - powf
    linkageType: ''
    returnType: float
    signature: 'static float mask (float contrast) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AdobeRGBToXYZ
      Src: /src/cairo/test/pdiff/pdiff.c:156,1
    - Dst: powf
      Src: /src/cairo/test/pdiff/pdiff.c:163,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 6
    argNames:
    - x
    - y
    - z
    - L
    - A
    - B
    argTypes:
    - float
    - float
    - float
    - float*
    - float*
    - float*
    constantsTouched: []
    func_position:
      end: 171
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 171
    functionName: XYZToLAB
    functionSourceFile: /src/cairo/test/pdiff/pdiff.c
    functionUses: []
    functionsReached:
    - AdobeRGBToXYZ
    - powf
    linkageType: ''
    returnType: void
    signature: 'static void XYZToLAB (float x, float y, float z, float *L, float *A,
      float *B) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: powf
      Src: /src/cairo/test/pdiff/pdiff.c:109,1
    - Dst: powf
      Src: /src/cairo/test/pdiff/pdiff.c:110,1
    - Dst: sqrtf
      Src: /src/cairo/test/pdiff/pdiff.c:112,1
    - Dst: expf
      Src: /src/cairo/test/pdiff/pdiff.c:112,1
    - Dst: expf
      Src: /src/cairo/test/pdiff/pdiff.c:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 2
    argNames:
    - cpd
    - lum
    argTypes:
    - float
    - float
    constantsTouched: []
    func_position:
      end: 115
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 115
    functionName: csf
    functionSourceFile: /src/cairo/test/pdiff/pdiff.c
    functionUses: []
    functionsReached:
    - powf
    - sqrtf
    - expf
    linkageType: ''
    returnType: float
    signature: 'static float csf (float cpd, float lum) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _get_pixel
      Src: /src/cairo/test/pdiff/pdiff.c:188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - data
    - i
    - format
    argTypes:
    - uint32_t*
    - int
    - cairo_format_t
    constantsTouched: []
    func_position:
      end: 194
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 194
    functionName: _get_red
    functionSourceFile: /src/cairo/test/pdiff/pdiff.c
    functionUses: []
    functionsReached:
    - _get_pixel
    linkageType: ''
    returnType: unsigned char
    signature: 'static unsigned char _get_red (const uint32_t *data, int i, cairo_format_t
      format) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _get_pixel
      Src: /src/cairo/test/pdiff/pdiff.c:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - data
    - i
    - format
    argTypes:
    - uint32_t*
    - int
    - cairo_format_t
    constantsTouched: []
    func_position:
      end: 222
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 222
    functionName: _get_blue
    functionSourceFile: /src/cairo/test/pdiff/pdiff.c
    functionUses: []
    functionsReached:
    - _get_pixel
    linkageType: ''
    returnType: unsigned char
    signature: 'static unsigned char _get_blue (const uint32_t *data, int i, cairo_format_t
      format) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - data
    - i
    - format
    argTypes:
    - uint32_t*
    - int
    - cairo_format_t
    constantsTouched: []
    func_position:
      end: 180
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 180
    functionName: _get_pixel
    functionSourceFile: /src/cairo/test/pdiff/pdiff.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t _get_pixel (const uint32_t *data, int i, cairo_format_t
      format) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _get_pixel
      Src: /src/cairo/test/pdiff/pdiff.c:202,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - data
    - i
    - format
    argTypes:
    - uint32_t*
    - int
    - cairo_format_t
    constantsTouched: []
    func_position:
      end: 208
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 208
    functionName: _get_green
    functionSourceFile: /src/cairo/test/pdiff/pdiff.c
    functionUses: []
    functionsReached:
    - _get_pixel
    linkageType: ''
    returnType: unsigned char
    signature: 'static unsigned char _get_green (const uint32_t *data, int i, cairo_format_t
      format) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/cairo/test/pdiff/pdiff.c:229,1
    - Dst: exit
      Src: /src/cairo/test/pdiff/pdiff.c:232,1
    - Dst: fprintf
      Src: /src/cairo/test/pdiff/pdiff.c:231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 236
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 236
    functionName: xmalloc
    functionSourceFile: /src/cairo/test/pdiff/pdiff.c
    functionUses: []
    functionsReached:
    - malloc
    - fprintf
    - exit
    linkageType: ''
    returnType: void*
    signature: 'static void *xmalloc (size_t size) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/test/pdiff/pdiff.c:286,1
    - Dst: xmalloc
      Src: /src/cairo/test/pdiff/pdiff.c:289,1
    - Dst: xmalloc
      Src: /src/cairo/test/pdiff/pdiff.c:290,1
    - Dst: xmalloc
      Src: /src/cairo/test/pdiff/pdiff.c:291,1
    - Dst: xmalloc
      Src: /src/cairo/test/pdiff/pdiff.c:292,1
    - Dst: powf
      Src: /src/cairo/test/pdiff/pdiff.c:309,1
    - Dst: _get_green
      Src: /src/cairo/test/pdiff/pdiff.c:310,1
    - Dst: _get_blue
      Src: /src/cairo/test/pdiff/pdiff.c:311,1
    - Dst: AdobeRGBToXYZ
      Src: /src/cairo/test/pdiff/pdiff.c:313,1
    - Dst: powf
      Src: /src/cairo/test/pdiff/pdiff.c:315,1
    - Dst: powf
      Src: /src/cairo/test/pdiff/pdiff.c:317,1
    - Dst: powf
      Src: /src/cairo/test/pdiff/pdiff.c:310,1
    - Dst: csf
      Src: /src/cairo/test/pdiff/pdiff.c:373,1
    - Dst: free
      Src: /src/cairo/test/pdiff/pdiff.c:416,1
    - Dst: free
      Src: /src/cairo/test/pdiff/pdiff.c:411,1
    - Dst: lpyramid_destroy
      Src: /src/cairo/test/pdiff/pdiff.c:417,1
    - Dst: _get_green
      Src: /src/cairo/test/pdiff/pdiff.c:316,1
    - Dst: cairo_image_surface_get_data
      Src: /src/cairo/test/pdiff/pdiff.c:303,1
    - Dst: fabsf
      Src: /src/cairo/test/pdiff/pdiff.c:381,1
    - Dst: AdobeRGBToXYZ
      Src: /src/cairo/test/pdiff/pdiff.c:319,1
    - Dst: cairo_image_surface_get_width
      Src: /src/cairo/test/pdiff/pdiff.c:245,1
    - Dst: assert
      Src: /src/cairo/test/pdiff/pdiff.c:287,1
    - Dst: XYZToLAB
      Src: /src/cairo/test/pdiff/pdiff.c:314,1
    - Dst: XYZToLAB
      Src: /src/cairo/test/pdiff/pdiff.c:320,1
    - Dst: lpyramid_create
      Src: /src/cairo/test/pdiff/pdiff.c:327,1
    - Dst: tan
      Src: /src/cairo/test/pdiff/pdiff.c:329,1
    - Dst: csf
      Src: /src/cairo/test/pdiff/pdiff.c:344,1
    - Dst: lpyramid_get_value
      Src: /src/cairo/test/pdiff/pdiff.c:358,1
    - Dst: lpyramid_get_value
      Src: /src/cairo/test/pdiff/pdiff.c:361,1
    - Dst: fabsf
      Src: /src/cairo/test/pdiff/pdiff.c:362,1
    - Dst: free
      Src: /src/cairo/test/pdiff/pdiff.c:413,1
    - Dst: free
      Src: /src/cairo/test/pdiff/pdiff.c:419,1
    - Dst: lpyramid_get_value
      Src: /src/cairo/test/pdiff/pdiff.c:359,1
    - Dst: lpyramid_create
      Src: /src/cairo/test/pdiff/pdiff.c:326,1
    - Dst: free
      Src: /src/cairo/test/pdiff/pdiff.c:415,1
    - Dst: free
      Src: /src/cairo/test/pdiff/pdiff.c:421,1
    - Dst: lpyramid_get_value
      Src: /src/cairo/test/pdiff/pdiff.c:381,1
    - Dst: cairo_image_surface_get_format
      Src: /src/cairo/test/pdiff/pdiff.c:284,1
    - Dst: cairo_image_surface_get_format
      Src: /src/cairo/test/pdiff/pdiff.c:285,1
    - Dst: xmalloc
      Src: /src/cairo/test/pdiff/pdiff.c:298,1
    - Dst: xmalloc
      Src: /src/cairo/test/pdiff/pdiff.c:299,1
    - Dst: xmalloc
      Src: /src/cairo/test/pdiff/pdiff.c:300,1
    - Dst: xmalloc
      Src: /src/cairo/test/pdiff/pdiff.c:296,1
    - Dst: xmalloc
      Src: /src/cairo/test/pdiff/pdiff.c:295,1
    - Dst: xmalloc
      Src: /src/cairo/test/pdiff/pdiff.c:294,1
    - Dst: xmalloc
      Src: /src/cairo/test/pdiff/pdiff.c:293,1
    - Dst: xmalloc
      Src: /src/cairo/test/pdiff/pdiff.c:301,1
    - Dst: powf
      Src: /src/cairo/test/pdiff/pdiff.c:316,1
    - Dst: csf
      Src: /src/cairo/test/pdiff/pdiff.c:342,1
    - Dst: lpyramid_get_value
      Src: /src/cairo/test/pdiff/pdiff.c:359,1
    - Dst: free
      Src: /src/cairo/test/pdiff/pdiff.c:410,1
    - Dst: powf
      Src: /src/cairo/test/pdiff/pdiff.c:311,1
    - Dst: tvi
      Src: /src/cairo/test/pdiff/pdiff.c:384,1
    - Dst: _get_red
      Src: /src/cairo/test/pdiff/pdiff.c:315,1
    - Dst: free
      Src: /src/cairo/test/pdiff/pdiff.c:412,1
    - Dst: mask
      Src: /src/cairo/test/pdiff/pdiff.c:373,1
    - Dst: _get_red
      Src: /src/cairo/test/pdiff/pdiff.c:309,1
    - Dst: _get_blue
      Src: /src/cairo/test/pdiff/pdiff.c:317,1
    - Dst: lpyramid_destroy
      Src: /src/cairo/test/pdiff/pdiff.c:418,1
    - Dst: free
      Src: /src/cairo/test/pdiff/pdiff.c:422,1
    - Dst: cairo_image_surface_get_height
      Src: /src/cairo/test/pdiff/pdiff.c:246,1
    - Dst: cairo_image_surface_get_width
      Src: /src/cairo/test/pdiff/pdiff.c:279,1
    - Dst: cairo_image_surface_get_height
      Src: /src/cairo/test/pdiff/pdiff.c:280,1
    - Dst: cairo_image_surface_get_data
      Src: /src/cairo/test/pdiff/pdiff.c:304,1
    - Dst: lpyramid_get_value
      Src: /src/cairo/test/pdiff/pdiff.c:358,1
    - Dst: fabsf
      Src: /src/cairo/test/pdiff/pdiff.c:359,1
    - Dst: fabsf
      Src: /src/cairo/test/pdiff/pdiff.c:361,1
    - Dst: fabsf
      Src: /src/cairo/test/pdiff/pdiff.c:358,1
    - Dst: lpyramid_get_value
      Src: /src/cairo/test/pdiff/pdiff.c:369,1
    - Dst: lpyramid_get_value
      Src: /src/cairo/test/pdiff/pdiff.c:369,1
    - Dst: lpyramid_get_value
      Src: /src/cairo/test/pdiff/pdiff.c:381,1
    - Dst: lpyramid_get_value
      Src: /src/cairo/test/pdiff/pdiff.c:362,1
    - Dst: free
      Src: /src/cairo/test/pdiff/pdiff.c:414,1
    - Dst: free
      Src: /src/cairo/test/pdiff/pdiff.c:420,1
    - Dst: free
      Src: /src/cairo/test/pdiff/pdiff.c:409,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 257
    argCount: 5
    argNames:
    - surface_a
    - surface_b
    - gamma
    - luminance
    - field_of_view
    argTypes:
    - cairo_surface_t*
    - cairo_surface_t*
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 425
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 425
    functionName: pdiff_compare
    functionSourceFile: /src/cairo/test/pdiff/pdiff.c
    functionUses: []
    functionsReached:
    - tvi
    - fabsf
    - AdobeRGBToXYZ
    - lpyramid_get_value
    - cairo_image_surface_get_height
    - lpyramid_create
    - _get_red
    - _get_blue
    - lpyramid_destroy
    - assert
    - tan
    - cairo_image_surface_get_width
    - csf
    - cairo_image_surface_get_format
    - cairo_image_surface_get_data
    - xmalloc
    - free
    - XYZToLAB
    - powf
    - _get_green
    - mask
    linkageType: ''
    returnType: int
    signature: "int pdiff_compare (cairo_surface_t *surface_a,\t cairo_surface_t *surface_b,\t\
      \ double gamma,\t double luminance,\t double field_of_view) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: log10f
      Src: /src/cairo/test/pdiff/pdiff.c:82,1
    - Dst: powf
      Src: /src/cairo/test/pdiff/pdiff.c:96,1
    - Dst: powf
      Src: /src/cairo/test/pdiff/pdiff.c:87,1
    - Dst: powf
      Src: /src/cairo/test/pdiff/pdiff.c:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 1
    argNames:
    - adaptation_luminance
    argTypes:
    - float
    constantsTouched: []
    func_position:
      end: 99
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 99
    functionName: tvi
    functionSourceFile: /src/cairo/test/pdiff/pdiff.c
    functionUses: []
    functionsReached:
    - powf
    - log10f
    linkageType: ''
    returnType: float
    signature: 'static float tvi (float adaptation_luminance) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 6
    argNames:
    - r
    - g
    - b
    - x
    - y
    - z
    argTypes:
    - float
    - float
    - float
    - float*
    - float*
    - float*
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: AdobeRGBToXYZ
    functionSourceFile: /src/cairo/test/pdiff/pdiff.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void AdobeRGBToXYZ (float r, float g, float b, float *x, float
      *y, float *z) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 3
    argNames:
    - pyramid
    - a
    - b
    argTypes:
    - lpyramid_t*
    - float*
    - float*
    constantsTouched: []
    func_position:
      end: 58
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 58
    functionName: convolve
    functionSourceFile: /src/cairo/test/pdiff/lpyramid.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void convolve (lpyramid_t *pyramid, float *a, const float *b)
      /* convolves image b with the filter kernel and stores it in a */ '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - pyramid
    - x
    - y
    - level
    argTypes:
    - lpyramid_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 115
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 115
    functionName: lpyramid_get_value
    functionSourceFile: /src/cairo/test/pdiff/lpyramid.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: 'float lpyramid_get_value (lpyramid_t *pyramid, int x, int y, int level) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/test/pdiff/lpyramid.c:102,1
    - Dst: free
      Src: /src/cairo/test/pdiff/lpyramid.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pyramid
    argTypes:
    - lpyramid_t*
    constantsTouched: []
    func_position:
      end: 105
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 105
    functionName: lpyramid_destroy
    functionSourceFile: /src/cairo/test/pdiff/lpyramid.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void lpyramid_destroy (lpyramid_t *pyramid) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/cairo/test/pdiff/lpyramid.c:70,1
    - Dst: exit
      Src: /src/cairo/test/pdiff/lpyramid.c:73,1
    - Dst: malloc
      Src: /src/cairo/test/pdiff/lpyramid.c:81,1
    - Dst: fprintf
      Src: /src/cairo/test/pdiff/lpyramid.c:72,1
    - Dst: fprintf
      Src: /src/cairo/test/pdiff/lpyramid.c:83,1
    - Dst: exit
      Src: /src/cairo/test/pdiff/lpyramid.c:84,1
    - Dst: memcpy
      Src: /src/cairo/test/pdiff/lpyramid.c:87,1
    - Dst: convolve
      Src: /src/cairo/test/pdiff/lpyramid.c:89,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 94
    functionName: lpyramid_create
    functionSourceFile: /src/cairo/test/pdiff/lpyramid.c
    functionUses: []
    functionsReached:
    - memcpy
    - malloc
    - fprintf
    - convolve
    - exit
    linkageType: ''
    returnType: lpyramid_t*
    signature: 'lpyramid_t *lpyramid_create (float *image, int width, int height) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_get_width
      Src: /src/cairo/test/pdiff/perceptualdiff.c:37,1
    - Dst: cairo_image_surface_get_width
      Src: /src/cairo/test/pdiff/perceptualdiff.c:42,1
    - Dst: cairo_image_surface_get_height
      Src: /src/cairo/test/pdiff/perceptualdiff.c:38,1
    - Dst: cairo_image_surface_get_data
      Src: /src/cairo/test/pdiff/perceptualdiff.c:40,1
    - Dst: cairo_image_surface_get_stride
      Src: /src/cairo/test/pdiff/perceptualdiff.c:39,1
    - Dst: cairo_image_surface_get_height
      Src: /src/cairo/test/pdiff/perceptualdiff.c:43,1
    - Dst: cairo_image_surface_get_stride
      Src: /src/cairo/test/pdiff/perceptualdiff.c:44,1
    - Dst: cairo_image_surface_get_data
      Src: /src/cairo/test/pdiff/perceptualdiff.c:45,1
    - Dst: printf
      Src: /src/cairo/test/pdiff/perceptualdiff.c:48,1
    - Dst: printf
      Src: /src/cairo/test/pdiff/perceptualdiff.c:68,1
    - Dst: printf
      Src: /src/cairo/test/pdiff/perceptualdiff.c:77,1
    - Dst: pdiff_compare
      Src: /src/cairo/test/pdiff/perceptualdiff.c:72,1
    - Dst: printf
      Src: /src/cairo/test/pdiff/perceptualdiff.c:81,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 1
    argNames:
    - args
    argTypes:
    - args_t*
    constantsTouched: []
    func_position:
      end: 85
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 85
    functionName: Yee_Compare
    functionSourceFile: /src/cairo/test/pdiff/perceptualdiff.c
    functionUses: []
    functionsReached:
    - printf
    - cairo_image_surface_get_data
    - cairo_image_surface_get_height
    - pdiff_compare
    - cairo_image_surface_get_width
    - cairo_image_surface_get_stride
    linkageType: ''
    returnType: bool
    signature: 'static bool Yee_Compare(args_t *args) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: args_init
      Src: /src/cairo/test/pdiff/perceptualdiff.c:91,1
    - Dst: args_print
      Src: /src/cairo/test/pdiff/perceptualdiff.c:97,1
    - Dst: args_parse
      Src: /src/cairo/test/pdiff/perceptualdiff.c:93,1
    - Dst: Yee_Compare
      Src: /src/cairo/test/pdiff/perceptualdiff.c:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 100
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 100
    functionName: main
    functionSourceFile: /src/cairo/test/pdiff/perceptualdiff.c
    functionUses: []
    functionsReached:
    - args_init
    - Yee_Compare
    - args_parse
    - args_print
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/doc/tutorial/src/lca.c:8,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/doc/tutorial/src/lca.c:13,1
    - Dst: cairo_scale
      Src: /src/cairo/doc/tutorial/src/lca.c:11,1
    - Dst: cairo_translate
      Src: /src/cairo/doc/tutorial/src/lca.c:10,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/doc/tutorial/src/lca.c:14,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/doc/tutorial/src/lca.c:15,1
    - Dst: cairo_move_to
      Src: /src/cairo/doc/tutorial/src/lca.c:18,1
    - Dst: cairo_line_to
      Src: /src/cairo/doc/tutorial/src/lca.c:19,1
    - Dst: cairo_line_to
      Src: /src/cairo/doc/tutorial/src/lca.c:20,1
    - Dst: cairo_move_to
      Src: /src/cairo/doc/tutorial/src/lca.c:23,1
    - Dst: cairo_arc
      Src: /src/cairo/doc/tutorial/src/lca.c:24,1
    - Dst: cos
      Src: /src/cairo/doc/tutorial/src/lca.c:23,1
    - Dst: sin
      Src: /src/cairo/doc/tutorial/src/lca.c:23,1
    - Dst: cairo_curve_to
      Src: /src/cairo/doc/tutorial/src/lca.c:28,1
    - Dst: cairo_move_to
      Src: /src/cairo/doc/tutorial/src/lca.c:27,1
    - Dst: cairo_stroke
      Src: /src/cairo/doc/tutorial/src/lca.c:30,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 31
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 31
    functionName: draw
    functionSourceFile: /src/cairo/doc/tutorial/src/lca.c
    functionUses: []
    functionsReached:
    - cairo_set_line_width
    - cairo_line_to
    - cairo_curve_to
    - cos
    - cairo_arc
    - cairo_save
    - cairo_set_line_join
    - cairo_scale
    - cairo_stroke
    - cairo_set_line_cap
    - cairo_translate
    - sin
    - cairo_move_to
    linkageType: ''
    returnType: void
    signature: 'static void draw (cairo_t *cr, int width, int height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/doc/tutorial/src/twin.c:17,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/doc/tutorial/src/twin.c:28,1
    - Dst: cairo_paint
      Src: /src/cairo/doc/tutorial/src/twin.c:18,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/doc/tutorial/src/twin.c:21,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/doc/tutorial/src/twin.c:20,1
    - Dst: cairo_move_to
      Src: /src/cairo/doc/tutorial/src/twin.c:32,1
    - Dst: cairo_show_text
      Src: /src/cairo/doc/tutorial/src/twin.c:35,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 38
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 38
    functionName: draw
    functionSourceFile: /src/cairo/doc/tutorial/src/twin.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_show_text
    - cairo_set_font_size
    - cairo_select_font_face
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: void
    signature: 'static void draw (cairo_t *cr, int width, int height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_move_to
      Src: /src/cairo/doc/tutorial/src/circle.c:12,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/doc/tutorial/src/circle.c:16,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/doc/tutorial/src/circle.c:17,1
    - Dst: cairo_arc
      Src: /src/cairo/doc/tutorial/src/circle.c:13,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/doc/tutorial/src/circle.c:19,1
    - Dst: cairo_stroke
      Src: /src/cairo/doc/tutorial/src/circle.c:20,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 21
      start: 2
    functionDepth: 0
    functionLinenumber: 2
    functionLinenumberEnd: 21
    functionName: draw
    functionSourceFile: /src/cairo/doc/tutorial/src/circle.c
    functionUses: []
    functionsReached:
    - cairo_arc
    - cairo_stroke
    - cairo_fill_preserve
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: void
    signature: 'static void draw (cairo_t *cr, int width, int height) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/cairo/doc/tutorial/src/singular.c:69,1
    - Dst: sqrt
      Src: /src/cairo/doc/tutorial/src/singular.c:72,1
    - Dst: sqrt
      Src: /src/cairo/doc/tutorial/src/singular.c:74,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - matrix
    - major
    - minor
    argTypes:
    - cairo_matrix_t*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 75
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 75
    functionName: get_singular_values
    functionSourceFile: /src/cairo/doc/tutorial/src/singular.c
    functionUses: []
    functionsReached:
    - sqrt
    linkageType: ''
    returnType: void
    signature: "static void get_singular_values (const cairo_matrix_t *matrix,\t\t\
      \ double *major,\t\t double *minor) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_get_line_width
      Src: /src/cairo/doc/tutorial/src/singular.c:91,1
    - Dst: cairo_get_matrix
      Src: /src/cairo/doc/tutorial/src/singular.c:92,1
    - Dst: get_singular_values
      Src: /src/cairo/doc/tutorial/src/singular.c:94,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - cr
    - major
    - minor
    argTypes:
    - cairo_t*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 100
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 100
    functionName: get_pen_axes
    functionSourceFile: /src/cairo/doc/tutorial/src/singular.c
    functionUses: []
    functionsReached:
    - cairo_get_matrix
    - get_singular_values
    - cairo_get_line_width
    linkageType: ''
    returnType: void
    signature: "static void get_pen_axes (cairo_t *cr,\t double *major,\t double *minor) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_pen_axes
      Src: /src/cairo/doc/tutorial/src/singular.c:130,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/doc/tutorial/src/singular.c:136,1
    - Dst: cairo_identity_matrix
      Src: /src/cairo/doc/tutorial/src/singular.c:134,1
    - Dst: cairo_identity_matrix
      Src: /src/cairo/doc/tutorial/src/singular.c:146,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/doc/tutorial/src/singular.c:148,1
    - Dst: cairo_save
      Src: /src/cairo/doc/tutorial/src/singular.c:153,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/doc/tutorial/src/singular.c:155,1
    - Dst: cairo_restore
      Src: /src/cairo/doc/tutorial/src/singular.c:158,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/doc/tutorial/src/singular.c:122,1
    - Dst: cairo_rotate
      Src: /src/cairo/doc/tutorial/src/singular.c:125,1
    - Dst: cairo_rotate
      Src: /src/cairo/doc/tutorial/src/singular.c:127,1
    - Dst: cairo_restore
      Src: /src/cairo/doc/tutorial/src/singular.c:138,1
    - Dst: cairo_stroke_preserve
      Src: /src/cairo/doc/tutorial/src/singular.c:149,1
    - Dst: cairo_restore
      Src: /src/cairo/doc/tutorial/src/singular.c:150,1
    - Dst: cairo_stroke_preserve
      Src: /src/cairo/doc/tutorial/src/singular.c:157,1
    - Dst: cairo_curve_to
      Src: /src/cairo/doc/tutorial/src/singular.c:117,1
    - Dst: cairo_paint
      Src: /src/cairo/doc/tutorial/src/singular.c:109,1
    - Dst: cairo_scale
      Src: /src/cairo/doc/tutorial/src/singular.c:126,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/doc/tutorial/src/singular.c:128,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/doc/tutorial/src/singular.c:135,1
    - Dst: cairo_save
      Src: /src/cairo/doc/tutorial/src/singular.c:145,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/doc/tutorial/src/singular.c:141,1
    - Dst: cairo_stroke_preserve
      Src: /src/cairo/doc/tutorial/src/singular.c:137,1
    - Dst: cairo_save
      Src: /src/cairo/doc/tutorial/src/singular.c:133,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/doc/tutorial/src/singular.c:147,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/doc/tutorial/src/singular.c:108,1
    - Dst: cairo_move_to
      Src: /src/cairo/doc/tutorial/src/singular.c:116,1
    - Dst: cairo_stroke_preserve
      Src: /src/cairo/doc/tutorial/src/singular.c:142,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/doc/tutorial/src/singular.c:156,1
    - Dst: cairo_new_path
      Src: /src/cairo/doc/tutorial/src/singular.c:160,1
    - Dst: cairo_identity_matrix
      Src: /src/cairo/doc/tutorial/src/singular.c:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 161
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 161
    functionName: draw
    functionSourceFile: /src/cairo/doc/tutorial/src/singular.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgba
    - cairo_set_line_width
    - cairo_new_path
    - cairo_curve_to
    - get_pen_axes
    - cairo_save
    - cairo_scale
    - cairo_restore
    - cairo_set_line_cap
    - cairo_rotate
    - cairo_set_source_rgb
    - cairo_stroke_preserve
    - cairo_move_to
    - cairo_identity_matrix
    linkageType: ''
    returnType: void
    signature: 'static void draw (cairo_t *cr, int width, int height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-pdf.h:44,1
    - Dst: strcmp
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-pdf.h:49,1
    - Dst: strrchr
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-pdf.h:47,1
    - Dst: assert
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-pdf.h:45,1
    - Dst: malloc
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-pdf.h:53,1
    - Dst: strlen
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-pdf.h:53,1
    - Dst: sprintf
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-pdf.h:54,1
    - Dst: free
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-pdf.h:55,1
    - Dst: cairo_pdf_surface_create
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-pdf.h:59,1
    - Dst: cairo_create
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-pdf.h:61,1
    - Dst: draw
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-pdf.h:63,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-pdf.h:67,1
    - Dst: cairo_show_page
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-pdf.h:65,1
    - Dst: free
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-pdf.h:70,1
    - Dst: cairo_destroy
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-pdf.h:68,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 73
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 73
    functionName: main
    functionSourceFile: /src/cairo/doc/tutorial/src/include/cairo-tutorial-pdf.h
    functionUses: []
    functionsReached:
    - malloc
    - strlen
    - cairo_show_page
    - free
    - strrchr
    - strcmp
    - cairo_pdf_surface_create
    - cairo_create
    - assert
    - cairo_surface_destroy
    - strdup
    - cairo_destroy
    - draw
    - sprintf
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-png.h:43,1
    - Dst: cairo_create
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-png.h:46,1
    - Dst: draw
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-png.h:48,1
    - Dst: assert
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-png.h:51,1
    - Dst: strdup
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-png.h:50,1
    - Dst: strrchr
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-png.h:53,1
    - Dst: strcmp
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-png.h:55,1
    - Dst: malloc
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-png.h:59,1
    - Dst: strlen
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-png.h:59,1
    - Dst: sprintf
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-png.h:60,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-png.h:69,1
    - Dst: cairo_destroy
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-png.h:70,1
    - Dst: free
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-png.h:67,1
    - Dst: cairo_surface_write_to_png
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-png.h:65,1
    - Dst: free
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-png.h:61,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 73
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 73
    functionName: main
    functionSourceFile: /src/cairo/doc/tutorial/src/include/cairo-tutorial-png.h
    functionUses: []
    functionsReached:
    - malloc
    - strlen
    - free
    - strrchr
    - cairo_create
    - strcmp
    - cairo_surface_write_to_png
    - assert
    - cairo_surface_destroy
    - cairo_image_surface_create
    - strdup
    - cairo_destroy
    - draw
    - sprintf
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:44,1
    - Dst: exit
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:47,1
    - Dst: fprintf
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:45,1
    - Dst: fprintf
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - program
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: Usage
    functionSourceFile: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h
    functionUses: []
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void Usage (char *program) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XFreePixmap
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:85,1
    - Dst: XFillRectangle
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:87,1
    - Dst: XCreatePixmap
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:86,1
    - Dst: draw_to_pixmap
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - dpy
    - cev
    argTypes:
    - Display*
    - XConfigureEvent*
    constantsTouched: []
    func_position:
      end: 89
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 89
    functionName: handle_configure
    functionSourceFile: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h
    functionUses: []
    functionsReached:
    - XCreatePixmap
    - XFillRectangle
    - XFreePixmap
    - draw_to_pixmap
    linkageType: ''
    returnType: void
    signature: 'static void handle_configure (Display *dpy, XConfigureEvent *cev) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:139,1
    - Dst: strtol
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:138,1
    - Dst: strcmp
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:143,1
    - Dst: strtol
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:144,1
    - Dst: strcmp
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:145,1
    - Dst: strtol
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:146,1
    - Dst: XCreateColormap
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:190,1
    - Dst: WhitePixel
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:197,1
    - Dst: XInternAtom
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:200,1
    - Dst: WhitePixel
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:207,1
    - Dst: XMapWindow
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:216,1
    - Dst: handle_configure
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:225,1
    - Dst: handle_expose
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:232,1
    - Dst: strcmp
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:135,1
    - Dst: XDisplayName
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:158,1
    - Dst: RootWindow
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:165,1
    - Dst: fprintf
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:157,1
    - Dst: DefaultDepth
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:175,1
    - Dst: XGetVisualInfo
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:183,1
    - Dst: handle_expose
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:221,1
    - Dst: XLookupString
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:236,1
    - Dst: XClearArea
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:241,1
    - Dst: exit
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:247,1
    - Dst: strcmp
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:137,1
    - Dst: DefaultScreen
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:163,1
    - Dst: XSynchronize
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:162,1
    - Dst: XOpenDisplay
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:155,1
    - Dst: DefaultColormap
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:168,1
    - Dst: XCreateWindow
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:201,1
    - Dst: XSetWMProperties
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:211,1
    - Dst: XNextEvent
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:218,1
    - Dst: QLength
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:228,1
    - Dst: draw_to_pixmap
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:210,1
    - Dst: strlen
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:131,1
    - Dst: XParseGeometry
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:140,1
    - Dst: strcmp
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:141,1
    - Dst: exit
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:159,1
    - Dst: Usage
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:148,1
    - Dst: DefaultVisual
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:174,1
    - Dst: XCreatePixmap
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:206,1
    - Dst: XFillRectangle
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:209,1
    - Dst: XSetWMProtocols
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:215,1
    - Dst: XCreateGC
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:208,1
    - Dst: exit
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:239,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 124
    argCount: 0
    argNames:
    - argc
    - argv
    argTypes: []
    constantsTouched: []
    func_position:
      end: 250
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 250
    functionName: main
    functionSourceFile: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h
    functionUses: []
    functionsReached:
    - WhitePixel
    - DefaultColormap
    - XCreateColormap
    - strcmp
    - XSynchronize
    - strtol
    - DefaultVisual
    - XGetVisualInfo
    - XSetWMProperties
    - XOpenDisplay
    - XLookupString
    - DefaultDepth
    - XClearArea
    - fprintf
    - XCreateWindow
    - XSetWMProtocols
    - QLength
    - handle_expose
    - XCreateGC
    - XParseGeometry
    - XMapWindow
    - XDisplayName
    - exit
    - strlen
    - XFillRectangle
    - DefaultScreen
    - XNextEvent
    - XCreatePixmap
    - RootWindow
    - XInternAtom
    - handle_configure
    - Usage
    - draw_to_pixmap
    linkageType: ''
    returnType: int
    signature: "int main (argc, argv) int\t argc; char **argv; "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XCopyArea
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - dpy
    - eev
    argTypes:
    - Display*
    - XExposeEvent*
    constantsTouched: []
    func_position:
      end: 98
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 98
    functionName: handle_expose
    functionSourceFile: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h
    functionUses: []
    functionsReached:
    - XCopyArea
    linkageType: ''
    returnType: void
    signature: 'static void handle_expose (Display *dpy, XExposeEvent *eev) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_xlib_surface_create
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:69,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:76,1
    - Dst: draw
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:73,1
    - Dst: cairo_create
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:71,1
    - Dst: cairo_destroy
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - dpy
    - pix
    argTypes:
    - Display*
    - Pixmap
    constantsTouched: []
    func_position:
      end: 77
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 77
    functionName: draw_to_pixmap
    functionSourceFile: /src/cairo/doc/tutorial/src/include/cairo-tutorial-xlib.h
    functionUses: []
    functionsReached:
    - cairo_create
    - cairo_surface_destroy
    - cairo_destroy
    - draw
    - cairo_xlib_surface_create
    linkageType: ''
    returnType: void
    signature: 'static void draw_to_pixmap (Display *dpy, Pixmap pix) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gdk_drawable_get_visual
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-gtk.h:44,1
    - Dst: GDK_DRAWABLE_XDISPLAY
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-gtk.h:48,1
    - Dst: gdk_drawable_get_size
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-gtk.h:46,1
    - Dst: cairo_xlib_surface_create
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-gtk.h:48,1
    - Dst: GDK_DRAWABLE_XID
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-gtk.h:49,1
    - Dst: GDK_VISUAL_XVISUAL
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-gtk.h:50,1
    - Dst: gdk_drawable_get_depth
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-gtk.h:52,1
    - Dst: cairo_xlib_surface_create_for_bitmap
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-gtk.h:53,1
    - Dst: GDK_PIXMAP_XDISPLAY
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-gtk.h:54,1
    - Dst: GDK_PIXMAP_XID
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-gtk.h:55,1
    - Dst: GDK_SCREEN_XSCREEN
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-gtk.h:56,1
    - Dst: cairo_create
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-gtk.h:68,1
    - Dst: gdk_drawable_get_screen
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-gtk.h:56,1
    - Dst: g_warning
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-gtk.h:59,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-gtk.h:69,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 72
    functionName: gdk_cairo_create
    functionSourceFile: /src/cairo/doc/tutorial/src/include/cairo-tutorial-gtk.h
    functionUses: []
    functionsReached:
    - GDK_DRAWABLE_XID
    - cairo_xlib_surface_create_for_bitmap
    - g_warning
    - gdk_drawable_get_depth
    - cairo_create
    - GDK_PIXMAP_XDISPLAY
    - cairo_surface_destroy
    - GDK_DRAWABLE_XDISPLAY
    - gdk_drawable_get_size
    - GDK_VISUAL_XVISUAL
    - GDK_PIXMAP_XID
    - GDK_SCREEN_XSCREEN
    - gdk_drawable_get_visual
    - cairo_xlib_surface_create
    - gdk_drawable_get_screen
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *gdk_cairo_create (GdkDrawable *drawable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gtk_main_quit
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-gtk.h:98,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - widget
    - event
    - data
    argTypes:
    - GtkWidget*
    - GdkEventKey*
    - gpointer
    constantsTouched: []
    func_position:
      end: 101
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: handle_key_press
    functionSourceFile: /src/cairo/doc/tutorial/src/include/cairo-tutorial-gtk.h
    functionUses: []
    functionsReached:
    - gtk_main_quit
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean handle_key_press (GtkWidget *widget,\t\t GdkEventKey\
      \ *event,\t\t gpointer data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gdk_cairo_create
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-gtk.h:82,1
    - Dst: cairo_destroy
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-gtk.h:86,1
    - Dst: draw
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-gtk.h:84,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - widget
    - event
    - data
    argTypes:
    - GtkWidget*
    - GdkEventExpose*
    - gpointer
    constantsTouched: []
    func_position:
      end: 89
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 89
    functionName: handle_expose
    functionSourceFile: /src/cairo/doc/tutorial/src/include/cairo-tutorial-gtk.h
    functionUses: []
    functionsReached:
    - cairo_destroy
    - gdk_cairo_create
    - draw
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean handle_expose (GtkWidget *widget,\t GdkEventExpose\
      \ *event,\t gpointer\t data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk_init
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-gtk.h:108,1
    - Dst: GTK_WINDOW
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-gtk.h:112,1
    - Dst: gtk_window_set_title
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-gtk.h:113,1
    - Dst: gtk_window_new
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-gtk.h:110,1
    - Dst: gtk_window_set_default_size
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-gtk.h:112,1
    - Dst: GTK_WINDOW
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-gtk.h:113,1
    - Dst: g_signal_connect
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-gtk.h:115,1
    - Dst: G_CALLBACK
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-gtk.h:116,1
    - Dst: gtk_drawing_area_new
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-gtk.h:118,1
    - Dst: gtk_container_add
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-gtk.h:119,1
    - Dst: g_signal_connect
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-gtk.h:124,1
    - Dst: gtk_widget_show_all
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-gtk.h:127,1
    - Dst: gtk_main
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-gtk.h:129,1
    - Dst: GTK_CONTAINER
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-gtk.h:119,1
    - Dst: g_signal_connect
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-gtk.h:121,1
    - Dst: G_CALLBACK
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-gtk.h:125,1
    - Dst: G_CALLBACK
      Src: /src/cairo/doc/tutorial/src/include/cairo-tutorial-gtk.h:122,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 132
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 132
    functionName: main
    functionSourceFile: /src/cairo/doc/tutorial/src/include/cairo-tutorial-gtk.h
    functionUses: []
    functionsReached:
    - gtk_window_set_default_size
    - gtk_drawing_area_new
    - gtk_init
    - gtk_widget_show_all
    - gtk_container_add
    - G_CALLBACK
    - GTK_WINDOW
    - gtk_main
    - gtk_window_new
    - gtk_window_set_title
    - g_signal_connect
    - GTK_CONTAINER
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pdf_interchange_write_content_parent_elems
      Src: /src/cairo/src/cairo-pdf-interchange.c:2188,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - surface
    - recording_surface
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 2189
      start: 2178
    functionDepth: 0
    functionLinenumber: 2178
    functionLinenumberEnd: 2189
    functionName: _cairo_pdf_interchange_emit_recording_surface_end
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - cairo_pdf_interchange_write_content_parent_elems
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_pdf_interchange_emit_recording_surface_end\
      \ (cairo_pdf_surface_t *surface,\t\t\t\t\t\t cairo_surface_t *recording_surface) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_hash_uintptr
      Src: /src/cairo/src/cairo-pdf-interchange.c:83,1
    - Dst: _cairo_hash_uintptr
      Src: /src/cairo/src/cairo-pdf-interchange.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - cairo_pdf_command_entry_t*
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: _cairo_pdf_command_init_key
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - _cairo_hash_uintptr
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_pdf_command_init_key (cairo_pdf_command_entry_t
      *key) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: command_list_set_current_recording_commands
      Src: /src/cairo/src/cairo-pdf-interchange.c:2156,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-interchange.c:2164,1
    - Dst: _cairo_pdf_surface_new_object
      Src: /src/cairo/src/cairo-pdf-interchange.c:2162,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-pdf-interchange.c:2166,1
    - Dst: _cairo_array_truncate
      Src: /src/cairo/src/cairo-pdf-interchange.c:2159,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:2167,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-interchange.c:2170,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 5
    argNames:
    - surface
    - recording_surface
    - region_id
    - surface_resource
    - struct_parents
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_surface_t*
    - int
    - cairo_pdf_resource_t
    - int*
    constantsTouched: []
    func_position:
      end: 2175
      start: 2137
    functionDepth: 0
    functionLinenumber: 2137
    functionLinenumberEnd: 2175
    functionName: _cairo_pdf_interchange_emit_recording_surface_begin
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_array_num_elements
    - _cairo_pdf_surface_new_object
    - _cairo_array_truncate
    - command_list_set_current_recording_commands
    - _cairo_array_append
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_pdf_interchange_emit_recording_surface_begin\
      \ (cairo_pdf_surface_t *surface,\t\t\t\t\t\t cairo_surface_t *recording_surface,\t\
      \t\t\t\t\t int region_id,\t\t\t\t\t\t cairo_pdf_resource_t surface_resource,\t\
      \t\t\t\t\t int *struct_parents) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cairo/src/cairo-pdf-interchange.c:1463,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1469
      start: 1459
    functionDepth: 0
    functionLinenumber: 1459
    functionLinenumberEnd: 1469
    functionName: strcmp_null
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t strcmp_null (const char *s1, const char *s2) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pdf_surface_object_begin
      Src: /src/cairo/src/cairo-pdf-interchange.c:1500,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:1501,1
    - Dst: strcmp_null
      Src: /src/cairo/src/cairo-pdf-interchange.c:1519,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1520,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-interchange.c:1543,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-interchange.c:1483,1
    - Dst: _cairo_array_copy_element
      Src: /src/cairo/src/cairo-pdf-interchange.c:1511,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-interchange.c:1532,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-interchange.c:1537,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1523,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1544,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-interchange.c:1498,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1504,1
    - Dst: split_label
      Src: /src/cairo/src/cairo-pdf-interchange.c:1513,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1535,1
    - Dst: _cairo_array_copy_element
      Src: /src/cairo/src/cairo-pdf-interchange.c:1486,1
    - Dst: _cairo_pdf_surface_new_object
      Src: /src/cairo/src/cairo-pdf-interchange.c:1496,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-interchange.c:1542,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:1528,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1531,1
    - Dst: _cairo_utf8_to_pdf_string
      Src: /src/cairo/src/cairo-pdf-interchange.c:1527,1
    - Dst: _cairo_pdf_surface_object_end
      Src: /src/cairo/src/cairo-pdf-interchange.c:1547,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 57
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_pdf_surface_t*
    constantsTouched: []
    func_position:
      end: 1550
      start: 1471
    functionDepth: 0
    functionLinenumber: 1471
    functionLinenumberEnd: 1550
    functionName: cairo_pdf_interchange_write_page_labels
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_surface_object_begin
    - _cairo_error
    - free
    - _cairo_array_num_elements
    - strcmp_null
    - _cairo_pdf_surface_new_object
    - split_label
    - _cairo_array_copy_element
    - _cairo_utf8_to_pdf_string
    - _cairo_pdf_surface_object_end
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t cairo_pdf_interchange_write_page_labels
      (cairo_pdf_surface_t *surface) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-pdf-interchange.c:2806,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-pdf-interchange.c:2807,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-pdf-interchange.c:2816,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-pdf-interchange.c:2817,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-interchange.c:2814,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-interchange.c:2818,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-pdf-interchange.c:2820,1
    - Dst: _cairo_utf8_to_pdf_string
      Src: /src/cairo/src/cairo-pdf-interchange.c:2821,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:2822,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-pdf-interchange.c:2832,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-pdf-interchange.c:2840,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:2835,1
    - Dst: strdup
      Src: /src/cairo/src/cairo-pdf-interchange.c:2833,1
    - Dst: _cairo_utf8_to_pdf_string
      Src: /src/cairo/src/cairo-pdf-interchange.c:2834,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-interchange.c:2836,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 41
    argCount: 3
    argNames:
    - surface
    - name
    - value
    argTypes:
    - cairo_pdf_surface_t*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2844
      start: 2791
    functionDepth: 0
    functionLinenumber: 2791
    functionLinenumberEnd: 2844
    functionName: _cairo_pdf_interchange_set_custom_metadata
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    - strlen
    - free
    - _cairo_array_num_elements
    - ARRAY_LENGTH
    - strcmp
    - strdup
    - _cairo_utf8_to_pdf_string
    - _cairo_array_append
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_pdf_interchange_set_custom_metadata (cairo_pdf_surface_t\
      \ *surface,\t\t\t\t\t const char *name,\t\t\t\t\t const char *value) "
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_tag_stack_get_structure_type
      Src: /src/cairo/src/cairo-pdf-interchange.c:2341,1
    - Dst: cairo_pdf_interchange_write_annots
      Src: /src/cairo/src/cairo-pdf-interchange.c:2348,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:2349,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:2371,1
    - Dst: cairo_pdf_interchange_write_struct_tree
      Src: /src/cairo/src/cairo-pdf-interchange.c:2370,1
    - Dst: cairo_pdf_interchange_write_parent_tree
      Src: /src/cairo/src/cairo-pdf-interchange.c:2359,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:2360,1
    - Dst: update_mcid_order
      Src: /src/cairo/src/cairo-pdf-interchange.c:2367,1
    - Dst: _cairo_pdf_surface_new_object
      Src: /src/cairo/src/cairo-pdf-interchange.c:2353,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-interchange.c:2355,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-interchange.c:2363,1
    - Dst: cairo_pdf_interchange_update_extents
      Src: /src/cairo/src/cairo-pdf-interchange.c:2337,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:2338,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-pdf-interchange.c:2366,1
    - Dst: cairo_pdf_interchange_write_outline
      Src: /src/cairo/src/cairo-pdf-interchange.c:2378,1
    - Dst: cairo_pdf_interchange_write_names_dict
      Src: /src/cairo/src/cairo-pdf-interchange.c:2386,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:2383,1
    - Dst: cairo_pdf_interchange_write_page_labels
      Src: /src/cairo/src/cairo-pdf-interchange.c:2382,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:2379,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:2387,1
    - Dst: cairo_pdf_interchange_write_docinfo
      Src: /src/cairo/src/cairo-pdf-interchange.c:2390,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 47
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_pdf_surface_t*
    constantsTouched: []
    func_position:
      end: 2393
      start: 2329
    functionDepth: 0
    functionLinenumber: 2329
    functionLinenumberEnd: 2393
    functionName: _cairo_pdf_interchange_write_document_objects
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - cairo_pdf_interchange_write_struct_tree
    - _cairo_array_index
    - _cairo_error
    - cairo_pdf_interchange_write_parent_tree
    - _cairo_array_num_elements
    - cairo_pdf_interchange_write_page_labels
    - _cairo_pdf_surface_new_object
    - update_mcid_order
    - cairo_pdf_interchange_write_names_dict
    - cairo_pdf_interchange_update_extents
    - cairo_pdf_interchange_write_docinfo
    - cairo_pdf_interchange_write_outline
    - _cairo_tag_stack_get_structure_type
    - cairo_pdf_interchange_write_annots
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'cairo_int_status_t _cairo_pdf_interchange_write_document_objects (cairo_pdf_surface_t
      *surface) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-pdf-interchange.c:1840,1
    - Dst: _cairo_tag_parse_dest_attributes
      Src: /src/cairo/src/cairo-pdf-interchange.c:1844,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-interchange.c:1842,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:1845,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:1841,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-interchange.c:1847,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-interchange.c:1851,1
    - Dst: init_named_dest_key
      Src: /src/cairo/src/cairo-pdf-interchange.c:1852,1
    - Dst: _cairo_hash_table_insert
      Src: /src/cairo/src/cairo-pdf-interchange.c:1853,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:1854,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-interchange.c:1855,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-interchange.c:1856,1
    - Dst: _cairo_tag_stack_set_top_data
      Src: /src/cairo/src/cairo-pdf-interchange.c:1860,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 4
    argNames:
    - surface
    - tag_type
    - name
    - attributes
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_tag_type_t
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1865
      start: 1829
    functionDepth: 0
    functionLinenumber: 1829
    functionLinenumberEnd: 1865
    functionName: _cairo_pdf_interchange_begin_dest_tag
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - init_named_dest_key
    - _cairo_error
    - free
    - _cairo_array_num_elements
    - _cairo_tag_parse_dest_attributes
    - _cairo_hash_table_insert
    - _cairo_tag_stack_set_top_data
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_interchange_begin_dest_tag (cairo_pdf_surface_t\
      \ *surface,\t\t\t\t cairo_tag_type_t tag_type,\t\t\t\t const char *name,\t\t\
      \t\t const char *attributes) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: command_list_add
      Src: /src/cairo/src/cairo-pdf-interchange.c:2245,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:2246,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_pdf_surface_t*
    constantsTouched: []
    func_position:
      end: 2251
      start: 2235
    functionDepth: 0
    functionLinenumber: 2235
    functionLinenumberEnd: 2251
    functionName: _cairo_pdf_interchange_add_content
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - command_list_add
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'cairo_int_status_t _cairo_pdf_interchange_add_content (cairo_pdf_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cairo/src/cairo-pdf-interchange.c:302,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - key_a
    - key_b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 303
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 303
    functionName: _cairo_pdf_content_tag_equal
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_pdf_content_tag_equal (const void *key_a,
      const void *key_b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 2
    argNames:
    - entry
    - closure
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1561
      start: 1552
    functionDepth: 0
    functionLinenumber: 1552
    functionLinenumberEnd: 1561
    functionName: _collect_external_dest
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _collect_external_dest (void *entry, void *closure) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/cairo/src/cairo-pdf-interchange.c:2405,1
    - Dst: mktime
      Src: /src/cairo/src/cairo-pdf-interchange.c:2414,1
    - Dst: strftime
      Src: /src/cairo/src/cairo-pdf-interchange.c:2407,1
    - Dst: localtime_r
      Src: /src/cairo/src/cairo-pdf-interchange.c:2406,1
    - Dst: gmtime_r
      Src: /src/cairo/src/cairo-pdf-interchange.c:2412,1
    - Dst: difftime
      Src: /src/cairo/src/cairo-pdf-interchange.c:2415,1
    - Dst: strcat
      Src: /src/cairo/src/cairo-pdf-interchange.c:2418,1
    - Dst: strcat
      Src: /src/cairo/src/cairo-pdf-interchange.c:2421,1
    - Dst: strcat
      Src: /src/cairo/src/cairo-pdf-interchange.c:2423,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-pdf-interchange.c:2426,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-pdf-interchange.c:2427,1
    - Dst: snprintf
      Src: /src/cairo/src/cairo-pdf-interchange.c:2428,1
    - Dst: strcat
      Src: /src/cairo/src/cairo-pdf-interchange.c:2430,1
    - Dst: strdup
      Src: /src/cairo/src/cairo-pdf-interchange.c:2431,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_pdf_surface_t*
    constantsTouched: []
    func_position:
      end: 2432
      start: 2395
    functionDepth: 0
    functionLinenumber: 2395
    functionLinenumberEnd: 2432
    functionName: _cairo_pdf_interchange_set_create_date
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - strcat
    - time
    - strlen
    - gmtime_r
    - mktime
    - difftime
    - strftime
    - strdup
    - localtime_r
    - snprintf
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_pdf_interchange_set_create_date (cairo_pdf_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_hash_table_remove
      Src: /src/cairo/src/cairo-pdf-interchange.c:311,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-interchange.c:312,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - entry
    - closure
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 313
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 313
    functionName: _cairo_pdf_content_tag_pluck
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - _cairo_hash_table_remove
    - free
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_pdf_content_tag_pluck (void *entry, void *closure) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cairo/src/cairo-pdf-interchange.c:1569,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1570
      start: 1563
    functionDepth: 0
    functionLinenumber: 1563
    functionLinenumberEnd: 1570
    functionName: _dest_compare
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'static int _dest_compare (const void *a, const void *b) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_tag_stack_push
      Src: /src/cairo/src/cairo-pdf-interchange.c:1880,1
    - Dst: _cairo_pdf_interchange_begin_structure_tag
      Src: /src/cairo/src/cairo-pdf-interchange.c:1890,1
    - Dst: _cairo_tag_get_type
      Src: /src/cairo/src/cairo-pdf-interchange.c:1888,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:1885,1
    - Dst: _cairo_tag_stack_push
      Src: /src/cairo/src/cairo-pdf-interchange.c:1883,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:1891,1
    - Dst: _cairo_pdf_interchange_begin_dest_tag
      Src: /src/cairo/src/cairo-pdf-interchange.c:1896,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:1897,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 3
    argNames:
    - surface
    - name
    - attributes
    argTypes:
    - cairo_pdf_surface_t*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1902
      start: 1867
    functionDepth: 0
    functionLinenumber: 1867
    functionLinenumberEnd: 1902
    functionName: _cairo_pdf_interchange_tag_begin
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - _cairo_tag_get_type
    - _cairo_pdf_interchange_begin_structure_tag
    - _cairo_tag_stack_push
    - _cairo_pdf_interchange_begin_dest_tag
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_pdf_interchange_tag_begin (cairo_pdf_surface_t\
      \ *surface,\t\t\t\t const char *name,\t\t\t\t const char *attributes) "
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-interchange.c:1686,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-interchange.c:1717,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1737,1
    - Dst: _cairo_pdf_surface_new_object
      Src: /src/cairo/src/cairo-pdf-interchange.c:1684,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1697,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1703,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1706,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1721,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1712,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1692,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:1689,1
    - Dst: _cairo_pdf_surface_object_begin
      Src: /src/cairo/src/cairo-pdf-interchange.c:1688,1
    - Dst: cairo_version_string
      Src: /src/cairo/src/cairo-pdf-interchange.c:1694,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1728,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1730,1
    - Dst: _cairo_pdf_surface_object_end
      Src: /src/cairo/src/cairo-pdf-interchange.c:1739,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1700,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1715,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-pdf-interchange.c:1719,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1733,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1709,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 40
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_pdf_surface_t*
    constantsTouched: []
    func_position:
      end: 1742
      start: 1675
    functionDepth: 0
    functionLinenumber: 1675
    functionLinenumberEnd: 1742
    functionName: cairo_pdf_interchange_write_docinfo
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    - _cairo_pdf_surface_object_begin
    - _cairo_error
    - cairo_version_string
    - _cairo_array_num_elements
    - _cairo_pdf_surface_new_object
    - _cairo_pdf_surface_object_end
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t cairo_pdf_interchange_write_docinfo (cairo_pdf_surface_t
      *surface) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-pdf-interchange.c:1768,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:1764,1
    - Dst: command_list_add
      Src: /src/cairo/src/cairo-pdf-interchange.c:1763,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:1774,1
    - Dst: add_annotation
      Src: /src/cairo/src/cairo-pdf-interchange.c:1778,1
    - Dst: _cairo_pdf_operators_tag_end
      Src: /src/cairo/src/cairo-pdf-interchange.c:1796,1
    - Dst: _cairo_hash_table_insert
      Src: /src/cairo/src/cairo-pdf-interchange.c:1787,1
    - Dst: add_child_to_mcid_array
      Src: /src/cairo/src/cairo-pdf-interchange.c:1810,1
    - Dst: add_mcid_to_node
      Src: /src/cairo/src/cairo-pdf-interchange.c:1815,1
    - Dst: _cairo_hash_table_insert
      Src: /src/cairo/src/cairo-pdf-interchange.c:1773,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:1779,1
    - Dst: lookup_node_for_command
      Src: /src/cairo/src/cairo-pdf-interchange.c:1802,1
    - Dst: command_list_has_content
      Src: /src/cairo/src/cairo-pdf-interchange.c:1804,1
    - Dst: _cairo_pdf_operators_tag_begin
      Src: /src/cairo/src/cairo-pdf-interchange.c:1805,1
    - Dst: _cairo_pdf_content_tag_init_key
      Src: /src/cairo/src/cairo-pdf-interchange.c:1786,1
    - Dst: add_tree_node
      Src: /src/cairo/src/cairo-pdf-interchange.c:1759,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:1760,1
    - Dst: _cairo_pdf_command_init_key
      Src: /src/cairo/src/cairo-pdf-interchange.c:1772,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-pdf-interchange.c:1784,1
    - Dst: add_child_to_mcid_array
      Src: /src/cairo/src/cairo-pdf-interchange.c:1813,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:1788,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:1798,1
    - Dst: command_list_has_content
      Src: /src/cairo/src/cairo-pdf-interchange.c:1814,1
    - Dst: _cairo_pdf_operators_tag_begin
      Src: /src/cairo/src/cairo-pdf-interchange.c:1820,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 64
    argCount: 4
    argNames:
    - surface
    - tag_type
    - name
    - attributes
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_tag_type_t
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1827
      start: 1744
    functionDepth: 0
    functionLinenumber: 1744
    functionLinenumberEnd: 1827
    functionName: _cairo_pdf_interchange_begin_structure_tag
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - lookup_node_for_command
    - command_list_has_content
    - _cairo_pdf_operators_tag_end
    - add_mcid_to_node
    - unlikely
    - command_list_add
    - _cairo_hash_table_insert
    - add_tree_node
    - add_annotation
    - add_child_to_mcid_array
    - _cairo_pdf_command_init_key
    - _cairo_pdf_content_tag_init_key
    - _cairo_pdf_operators_tag_begin
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_interchange_begin_structure_tag\
      \ (cairo_pdf_surface_t *surface,\t\t\t\t\t cairo_tag_type_t tag_type,\t\t\t\t\
      \t const char *name,\t\t\t\t\t const char *attributes) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_allocate
      Src: /src/cairo/src/cairo-pdf-interchange.c:2264,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-pdf-interchange.c:2268,1
    - Dst: _cairo_array_last_element
      Src: /src/cairo/src/cairo-pdf-interchange.c:2273,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:2265,1
    - Dst: _cairo_array_truncate
      Src: /src/cairo/src/cairo-pdf-interchange.c:2275,1
    - Dst: _cairo_pdf_surface_new_object
      Src: /src/cairo/src/cairo-pdf-interchange.c:2277,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-interchange.c:2279,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-pdf-interchange.c:2281,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:2282,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-interchange.c:2285,1
    - Dst: add_mcid_to_node
      Src: /src/cairo/src/cairo-pdf-interchange.c:2290,1
    - Dst: command_list_has_content
      Src: /src/cairo/src/cairo-pdf-interchange.c:2288,1
    - Dst: _cairo_pdf_operators_tag_begin
      Src: /src/cairo/src/cairo-pdf-interchange.c:2295,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_pdf_surface_t*
    constantsTouched: []
    func_position:
      end: 2302
      start: 2254
    functionDepth: 0
    functionLinenumber: 2254
    functionLinenumberEnd: 2302
    functionName: _cairo_pdf_interchange_begin_page_content
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - _cairo_array_init
    - _cairo_error
    - add_mcid_to_node
    - _cairo_array_num_elements
    - _cairo_array_allocate
    - _cairo_array_last_element
    - _cairo_pdf_surface_new_object
    - _cairo_array_truncate
    - command_list_has_content
    - _cairo_array_append
    - _cairo_pdf_operators_tag_begin
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'cairo_int_status_t _cairo_pdf_interchange_begin_page_content (cairo_pdf_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-pdf-interchange.c:2530,1
    - Dst: _cairo_hash_table_foreach
      Src: /src/cairo/src/cairo-pdf-interchange.c:2533,1
    - Dst: _cairo_hash_table_destroy
      Src: /src/cairo/src/cairo-pdf-interchange.c:2536,1
    - Dst: free_node
      Src: /src/cairo/src/cairo-pdf-interchange.c:2544,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-interchange.c:2546,1
    - Dst: _cairo_hash_table_destroy
      Src: /src/cairo/src/cairo-pdf-interchange.c:2542,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-pdf-interchange.c:2556,1
    - Dst: _cairo_hash_table_foreach
      Src: /src/cairo/src/cairo-pdf-interchange.c:2541,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-pdf-interchange.c:2562,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-interchange.c:2568,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-pdf-interchange.c:2578,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-interchange.c:2573,1
    - Dst: _cairo_tag_stack_fini
      Src: /src/cairo/src/cairo-pdf-interchange.c:2525,1
    - Dst: cairo_pdf_interchange_clear_annotations
      Src: /src/cairo/src/cairo-pdf-interchange.c:2527,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-interchange.c:2554,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-interchange.c:2558,1
    - Dst: _cairo_pdf_interchange_free_outlines
      Src: /src/cairo/src/cairo-pdf-interchange.c:2567,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-interchange.c:2572,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-interchange.c:2576,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-interchange.c:2579,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-pdf-interchange.c:2531,1
    - Dst: _cairo_hash_table_foreach
      Src: /src/cairo/src/cairo-pdf-interchange.c:2538,1
    - Dst: _cairo_hash_table_destroy
      Src: /src/cairo/src/cairo-pdf-interchange.c:2539,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-pdf-interchange.c:2561,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-interchange.c:2569,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-interchange.c:2571,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-interchange.c:2580,1
    - Dst: _cairo_tag_stack_fini
      Src: /src/cairo/src/cairo-pdf-interchange.c:2524,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-pdf-interchange.c:2526,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-pdf-interchange.c:2528,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-pdf-interchange.c:2551,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-pdf-interchange.c:2553,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-pdf-interchange.c:2564,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-interchange.c:2566,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-interchange.c:2570,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-interchange.c:2574,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-pdf-interchange.c:2582,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 54
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_pdf_surface_t*
    constantsTouched: []
    func_position:
      end: 2583
      start: 2517
    functionDepth: 0
    functionLinenumber: 2517
    functionLinenumberEnd: 2583
    functionName: _cairo_pdf_interchange_fini
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - cairo_pdf_interchange_clear_annotations
    - _cairo_array_index
    - _cairo_tag_stack_fini
    - free
    - _cairo_hash_table_destroy
    - _cairo_array_num_elements
    - _cairo_hash_table_foreach
    - _cairo_array_fini
    - _cairo_pdf_interchange_free_outlines
    - free_node
    linkageType: ''
    returnType: void
    signature: 'void _cairo_pdf_interchange_fini (cairo_pdf_surface_t *surface) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-interchange.c:2598,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:2602,1
    - Dst: _cairo_tag_parse_link_attributes
      Src: /src/cairo/src/cairo-pdf-interchange.c:2605,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-pdf-interchange.c:2601,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-interchange.c:2603,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:2606,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-interchange.c:2607,1
    - Dst: _cairo_pdf_surface_new_object
      Src: /src/cairo/src/cairo-pdf-interchange.c:2611,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-interchange.c:2613,1
    - Dst: strdup
      Src: /src/cairo/src/cairo-pdf-interchange.c:2615,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-pdf-interchange.c:2636,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:2637,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-interchange.c:2635,1
    - Dst: _cairo_array_copy_element
      Src: /src/cairo/src/cairo-pdf-interchange.c:2619,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 6
    argNames:
    - surface
    - parent_id
    - name
    - link_attribs
    - flags
    - id
    argTypes:
    - cairo_pdf_surface_t*
    - int
    - char*
    - char*
    - cairo_pdf_outline_flags_t
    - int*
    constantsTouched: []
    func_position:
      end: 2653
      start: 2585
    functionDepth: 0
    functionLinenumber: 2585
    functionLinenumberEnd: 2653
    functionName: _cairo_pdf_interchange_add_outline
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_tag_parse_link_attributes
    - free
    - _cairo_array_num_elements
    - _cairo_pdf_surface_new_object
    - strdup
    - _cairo_array_copy_element
    - _cairo_array_append
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_pdf_interchange_add_outline (cairo_pdf_surface_t\
      \ *surface,\t\t\t\t int parent_id,\t\t\t\t const char *name,\t\t\t\t const char\
      \ *link_attribs,\t\t\t\t cairo_pdf_outline_flags_t flags,\t\t\t\t int *id) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pdf_command_init_key
      Src: /src/cairo/src/cairo-pdf-interchange.c:117,1
    - Dst: _cairo_hash_table_lookup
      Src: /src/cairo/src/cairo-pdf-interchange.c:118,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-interchange.c:119,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 121
    functionName: lookup_node_for_command
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - _cairo_hash_table_lookup
    - _cairo_pdf_command_init_key
    - assert
    linkageType: ''
    returnType: cairo_pdf_struct_tree_node_t*
    signature: "static cairo_pdf_struct_tree_node_t *lookup_node_for_command (cairo_pdf_surface_t\
      \ *surface,\t\t\t unsigned int recording_id,\t\t\t unsigned int command_id) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - key_a
    - key_b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: _cairo_pdf_command_equal
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_pdf_command_equal (const void *key_a, const
      void *key_b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: command_list_set_mcid
      Src: /src/cairo/src/cairo-pdf-interchange.c:472,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-interchange.c:472,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-pdf-interchange.c:473,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - surface
    - node
    - command_id
    - child
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_pdf_struct_tree_node_t*
    - unsigned int
    - cairo_pdf_struct_tree_node_t*
    constantsTouched: []
    func_position:
      end: 474
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 474
    functionName: add_child_to_mcid_array
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - _cairo_array_append
    - _cairo_array_num_elements
    - command_list_set_mcid
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t add_child_to_mcid_array (cairo_pdf_surface_t\
      \ *surface,\t\t\t cairo_pdf_struct_tree_node_t *node,\t\t\t unsigned int command_id,\t\
      \t\t cairo_pdf_struct_tree_node_t *child) "
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_sort
      Src: /src/cairo/src/cairo-pdf-interchange.c:615,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-pdf-interchange.c:661,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:632,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-interchange.c:680,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:688,1
    - Dst: cairo_pdf_interchange_write_node_mcid
      Src: /src/cairo/src/cairo-pdf-interchange.c:693,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:698,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:701,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:704,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-interchange.c:709,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:605,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-interchange.c:619,1
    - Dst: lookup_content_node_for_ref_node
      Src: /src/cairo/src/cairo-pdf-interchange.c:623,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:644,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:662,1
    - Dst: _cairo_pdf_surface_object_begin
      Src: /src/cairo/src/cairo-pdf-interchange.c:601,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:602,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-interchange.c:628,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-pdf-interchange.c:643,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:656,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:667,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-pdf-interchange.c:672,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-pdf-interchange.c:684,1
    - Dst: cairo_pdf_interchange_write_node_mcid
      Src: /src/cairo/src/cairo-pdf-interchange.c:685,1
    - Dst: _cairo_pdf_surface_object_end
      Src: /src/cairo/src/cairo-pdf-interchange.c:707,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-interchange.c:613,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-pdf-interchange.c:618,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-pdf-interchange.c:629,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-pdf-interchange.c:631,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:653,1
    - Dst: lookup_content_node_for_ref_node
      Src: /src/cairo/src/cairo-pdf-interchange.c:676,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-interchange.c:683,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 95
    argCount: 3
    argNames:
    - surface
    - node
    - depth
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_pdf_struct_tree_node_t*
    - int
    constantsTouched: []
    func_position:
      end: 710
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 710
    functionName: cairo_pdf_interchange_write_node_object
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - _cairo_array_sort
    - _cairo_array_index
    - lookup_content_node_for_ref_node
    - _cairo_pdf_surface_object_begin
    - _cairo_array_num_elements
    - assert
    - cairo_pdf_interchange_write_node_mcid
    - _cairo_output_stream_get_status
    - _cairo_pdf_surface_object_end
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t cairo_pdf_interchange_write_node_object\
      \ (cairo_pdf_surface_t *surface,\t\t\t\t\t cairo_pdf_struct_tree_node_t *node,\t\
      \t\t\t\t int depth) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-interchange.c:1222,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:1224,1
    - Dst: _cairo_pdf_surface_object_begin
      Src: /src/cairo/src/cairo-pdf-interchange.c:1223,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1227,1
    - Dst: _cairo_array_copy_element
      Src: /src/cairo/src/cairo-pdf-interchange.c:1230,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1231,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1233,1
    - Dst: _cairo_pdf_surface_object_end
      Src: /src/cairo/src/cairo-pdf-interchange.c:1235,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_pdf_surface_t*
    constantsTouched: []
    func_position:
      end: 1238
      start: 1214
    functionDepth: 0
    functionLinenumber: 1214
    functionLinenumberEnd: 1238
    functionName: cairo_pdf_interchange_write_content_parent_elems
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_surface_object_begin
    - _cairo_array_num_elements
    - _cairo_array_copy_element
    - _cairo_pdf_surface_object_end
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t cairo_pdf_interchange_write_content_parent_elems
      (cairo_pdf_surface_t *surface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pdf_operators_tag_end
      Src: /src/cairo/src/cairo-pdf-interchange.c:2314,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_pdf_surface_t*
    constantsTouched: []
    func_position:
      end: 2321
      start: 2305
    functionDepth: 0
    functionLinenumber: 2305
    functionLinenumberEnd: 2321
    functionName: _cairo_pdf_interchange_end_page_content
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_operators_tag_end
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'cairo_int_status_t _cairo_pdf_interchange_end_page_content (cairo_pdf_surface_t
      *surface) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:2853,1
    - Dst: printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:2863,1
    - Dst: printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:2860,1
    - Dst: printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:2868,1
    - Dst: printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:2875,1
    - Dst: printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:2882,1
    - Dst: printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:2880,1
    - Dst: printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:2900,1
    - Dst: printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:2902,1
    - Dst: printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:2866,1
    - Dst: printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:2872,1
    - Dst: printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:2879,1
    - Dst: printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:2855,1
    - Dst: printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:2884,1
    - Dst: printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:2892,1
    - Dst: printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:2895,1
    - Dst: printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:2906,1
    - Dst: printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:2857,1
    - Dst: printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:2867,1
    - Dst: printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:2871,1
    - Dst: printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:2878,1
    - Dst: printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:2886,1
    - Dst: printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:2883,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-interchange.c:2896,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-pdf-interchange.c:2898,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 3
    argNames:
    - surface
    - node
    - depth
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_pdf_struct_tree_node_t*
    - int
    constantsTouched: []
    func_position:
      end: 2908
      start: 2847
    functionDepth: 0
    functionLinenumber: 2847
    functionLinenumberEnd: 2908
    functionName: print_node
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - printf
    - _cairo_array_num_elements
    - _cairo_array_index
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t print_node (cairo_pdf_surface_t *surface,\t\
      \ cairo_pdf_struct_tree_node_t *node,\t int depth) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_hash_table_remove
      Src: /src/cairo/src/cairo-pdf-interchange.c:102,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-interchange.c:103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - entry
    - closure
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 104
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 104
    functionName: _cairo_pdf_command_pluck
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - _cairo_hash_table_remove
    - free
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_pdf_command_pluck (void *entry, void *closure) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-interchange.c:132,1
    - Dst: _cairo_array_allocate
      Src: /src/cairo/src/cairo-pdf-interchange.c:136,1
    - Dst: memset
      Src: /src/cairo/src/cairo-pdf-interchange.c:139,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:137,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-pdf-interchange.c:147,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - surface
    - command_id
    - flags
    argTypes:
    - cairo_pdf_surface_t*
    - unsigned int
    - cairo_pdf_operation_t
    constantsTouched: []
    func_position:
      end: 148
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 148
    functionName: command_list_add
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - _cairo_array_num_elements
    - _cairo_array_allocate
    - _cairo_array_append
    - memset
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t command_list_add (cairo_pdf_surface_t *surface,\t\
      \t unsigned int command_id,\t\t cairo_pdf_operation_t flags) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-pdf-interchange.c:486,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:491,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-interchange.c:488,1
    - Dst: _cairo_tag_parse_link_attributes
      Src: /src/cairo/src/cairo-pdf-interchange.c:490,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:487,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-interchange.c:492,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-interchange.c:497,1
    - Dst: _cairo_pdf_surface_new_object
      Src: /src/cairo/src/cairo-pdf-interchange.c:501,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-interchange.c:503,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-pdf-interchange.c:506,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 4
    argNames:
    - surface
    - node
    - name
    - attributes
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_pdf_struct_tree_node_t*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 509
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 509
    functionName: add_annotation
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_tag_parse_link_attributes
    - free
    - _cairo_array_num_elements
    - _cairo_pdf_surface_new_object
    - _cairo_array_append
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t add_annotation (cairo_pdf_surface_t *surface,\t\
      \tcairo_pdf_struct_tree_node_t *node,\t\tconst char *name,\t\tconst char *attributes) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_hash_bytes
      Src: /src/cairo/src/cairo-pdf-interchange.c:715,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-pdf-interchange.c:717,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - dest
    argTypes:
    - cairo_pdf_named_dest_t*
    constantsTouched: []
    func_position:
      end: 718
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 718
    functionName: init_named_dest_key
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - _cairo_hash_bytes
    - strlen
    linkageType: ''
    returnType: void
    signature: 'static void init_named_dest_key (cairo_pdf_named_dest_t *dest) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lookup_content_node_for_ref_node
      Src: /src/cairo/src/cairo-pdf-interchange.c:1251,1
    - Dst: _cairo_rectangle_union
      Src: /src/cairo/src/cairo-pdf-interchange.c:1259,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - surface
    - node
    - depth
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_pdf_struct_tree_node_t*
    - int
    constantsTouched: []
    func_position:
      end: 1267
      start: 1240
    functionDepth: 0
    functionLinenumber: 1240
    functionLinenumberEnd: 1267
    functionName: cairo_pdf_interchange_apply_extents_from_content_ref
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - _cairo_rectangle_union
    - lookup_content_node_for_ref_node
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t cairo_pdf_interchange_apply_extents_from_content_ref\
      \ (cairo_pdf_surface_t *surface,\t\t\t\t\t\t cairo_pdf_struct_tree_node_t *node,\t\
      \t\t\t\t\t int depth) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pdf_interchange_write_content_parent_elems
      Src: /src/cairo/src/cairo-pdf-interchange.c:2326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_pdf_surface_t*
    constantsTouched: []
    func_position:
      end: 2327
      start: 2323
    functionDepth: 0
    functionLinenumber: 2323
    functionLinenumberEnd: 2327
    functionName: _cairo_pdf_interchange_write_page_objects
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - cairo_pdf_interchange_write_content_parent_elems
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'cairo_int_status_t _cairo_pdf_interchange_write_page_objects (cairo_pdf_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:2914,1
    - Dst: cairo_pdf_interchange_walk_struct_tree
      Src: /src/cairo/src/cairo-pdf-interchange.c:2915,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - surface
    - node
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_pdf_struct_tree_node_t*
    constantsTouched: []
    func_position:
      end: 2916
      start: 2910
    functionDepth: 0
    functionLinenumber: 2910
    functionLinenumberEnd: 2916
    functionName: print_tree
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - printf
    - cairo_pdf_interchange_walk_struct_tree
    linkageType: ''
    returnType: void
    signature: "static void print_tree (cairo_pdf_surface_t *surface,\t cairo_pdf_struct_tree_node_t\
      \ *node) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_tag_get_type
      Src: /src/cairo/src/cairo-pdf-interchange.c:2197,1
    - Dst: _cairo_rectangle_union
      Src: /src/cairo/src/cairo-pdf-interchange.c:2201,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - elem
    - closure
    argTypes:
    - cairo_tag_stack_elem_t*
    - void*
    constantsTouched: []
    func_position:
      end: 2208
      start: 2191
    functionDepth: 0
    functionLinenumber: 2191
    functionLinenumberEnd: 2208
    functionName: _add_operation_extents_to_dest_tag
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - _cairo_rectangle_union
    - _cairo_tag_get_type
    linkageType: ''
    returnType: void
    signature: "static void _add_operation_extents_to_dest_tag (cairo_tag_stack_elem_t\
      \ *elem,\t\t\t\t\t\tvoid *closure) "
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_is_snapshot
      Src: /src/cairo/src/cairo-pdf-interchange.c:2036,1
    - Dst: _cairo_recording_surface_has_tags
      Src: /src/cairo/src/cairo-pdf-interchange.c:2040,1
    - Dst: _cairo_surface_snapshot_get_target
      Src: /src/cairo/src/cairo-pdf-interchange.c:2037,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-pdf-interchange.c:2057,1
    - Dst: _cairo_surface_is_recording
      Src: /src/cairo/src/cairo-pdf-interchange.c:2039,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 13
    argCount: 3
    argNames:
    - surface
    - recording_surface_pattern
    - source_type
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_surface_pattern_t*
    - cairo_analysis_source_t
    constantsTouched: []
    func_position:
      end: 2059
      start: 2023
    functionDepth: 0
    functionLinenumber: 2023
    functionLinenumberEnd: 2059
    functionName: _cairo_pdf_interchange_struct_tree_requires_recording_surface
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - _cairo_surface_is_snapshot
    - _cairo_recording_surface_has_tags
    - cairo_surface_destroy
    - _cairo_surface_is_recording
    - _cairo_surface_snapshot_get_target
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t _cairo_pdf_interchange_struct_tree_requires_recording_surface
      ( cairo_pdf_surface_t *surface, const cairo_surface_pattern_t *recording_surface_pattern,
      cairo_analysis_source_t source_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-pdf-interchange.c:162,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-pdf-interchange.c:174,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-pdf-interchange.c:167,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-pdf-interchange.c:163,1
    - Dst: command_list_add
      Src: /src/cairo/src/cairo-pdf-interchange.c:166,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 4
    argNames:
    - surface
    - command_id
    - recording_surface
    - region_id
    argTypes:
    - cairo_pdf_surface_t*
    - unsigned int
    - cairo_surface_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 177
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 177
    functionName: command_list_push_group
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    - _cairo_array_init
    - command_list_add
    - _cairo_array_append
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t command_list_push_group (cairo_pdf_surface_t\
      \ *surface,\t\t\t unsigned int command_id,\t\t\t cairo_surface_t *recording_surface,\t\
      \t\t unsigned int region_id) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-pdf-interchange.c:243,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - surface
    - command_id
    - node
    - mcid_index
    argTypes:
    - cairo_pdf_surface_t*
    - unsigned int
    - cairo_pdf_struct_tree_node_t*
    - int
    constantsTouched: []
    func_position:
      end: 246
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 246
    functionName: command_list_set_mcid
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    linkageType: ''
    returnType: void
    signature: "static void command_list_set_mcid (cairo_pdf_surface_t *surface,\t\
      \t unsigned int command_id,\t\t cairo_pdf_struct_tree_node_t *node,\t\t int\
      \ mcid_index) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-interchange.c:1915,1
    - Dst: _cairo_pdf_operators_tag_end
      Src: /src/cairo/src/cairo-pdf-interchange.c:1925,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:1917,1
    - Dst: command_list_add
      Src: /src/cairo/src/cairo-pdf-interchange.c:1916,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:1927,1
    - Dst: command_list_has_content
      Src: /src/cairo/src/cairo-pdf-interchange.c:1932,1
    - Dst: add_mcid_to_node
      Src: /src/cairo/src/cairo-pdf-interchange.c:1934,1
    - Dst: _cairo_pdf_operators_tag_begin
      Src: /src/cairo/src/cairo-pdf-interchange.c:1935,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 3
    argNames:
    - surface
    - tag_type
    - elem
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_tag_type_t
    - cairo_tag_stack_elem_t*
    constantsTouched: []
    func_position:
      end: 1942
      start: 1904
    functionDepth: 0
    functionLinenumber: 1904
    functionLinenumberEnd: 1942
    functionName: _cairo_pdf_interchange_end_structure_tag
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_operators_tag_end
    - add_mcid_to_node
    - command_list_add
    - assert
    - command_list_has_content
    - _cairo_pdf_operators_tag_begin
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_interchange_end_structure_tag\
      \ (cairo_pdf_surface_t *surface,\t\t\t\t\t cairo_tag_type_t tag_type,\t\t\t\t\
      \t cairo_tag_stack_elem_t *elem) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:2444,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-interchange.c:2445,1
    - Dst: _cairo_hash_table_create
      Src: /src/cairo/src/cairo-pdf-interchange.c:2456,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:2457,1
    - Dst: _cairo_hash_table_create
      Src: /src/cairo/src/cairo-pdf-interchange.c:2460,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:2461,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-interchange.c:2458,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-interchange.c:2462,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-pdf-interchange.c:2487,1
    - Dst: _cairo_pdf_interchange_set_create_date
      Src: /src/cairo/src/cairo-pdf-interchange.c:2493,1
    - Dst: _cairo_tag_stack_init
      Src: /src/cairo/src/cairo-pdf-interchange.c:2441,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-pdf-interchange.c:2466,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-pdf-interchange.c:2465,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-pdf-interchange.c:2464,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-pdf-interchange.c:2475,1
    - Dst: memset
      Src: /src/cairo/src/cairo-pdf-interchange.c:2491,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-pdf-interchange.c:2494,1
    - Dst: _cairo_hash_table_create
      Src: /src/cairo/src/cairo-pdf-interchange.c:2469,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-pdf-interchange.c:2468,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:2470,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-interchange.c:2471,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:2488,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-interchange.c:2489,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-pdf-interchange.c:2492,1
    - Dst: _cairo_tag_stack_init
      Src: /src/cairo/src/cairo-pdf-interchange.c:2442,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-pdf-interchange.c:2443,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-pdf-interchange.c:2448,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-pdf-interchange.c:2449,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-pdf-interchange.c:2454,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-pdf-interchange.c:2473,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-pdf-interchange.c:2486,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 58
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_pdf_surface_t*
    constantsTouched: []
    func_position:
      end: 2497
      start: 2434
    functionDepth: 0
    functionLinenumber: 2434
    functionLinenumberEnd: 2497
    functionName: _cairo_pdf_interchange_init
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_interchange_set_create_date
    - _cairo_array_init
    - _cairo_error
    - unlikely
    - _cairo_hash_table_create
    - _cairo_tag_stack_init
    - _cairo_array_append
    - memset
    - _cairo_calloc
    - cairo_list_init
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'cairo_int_status_t _cairo_pdf_interchange_init (cairo_pdf_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-interchange.c:2505,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-interchange.c:2510,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-interchange.c:2512,1
    - Dst: _cairo_array_copy_element
      Src: /src/cairo/src/cairo-pdf-interchange.c:2509,1
    - Dst: _cairo_tag_free_link_attributes
      Src: /src/cairo/src/cairo-pdf-interchange.c:2511,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-pdf-interchange.c:2514,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_pdf_surface_t*
    constantsTouched: []
    func_position:
      end: 2515
      start: 2499
    functionDepth: 0
    functionLinenumber: 2499
    functionLinenumberEnd: 2515
    functionName: _cairo_pdf_interchange_free_outlines
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - free
    - _cairo_array_num_elements
    - _cairo_tag_free_link_attributes
    - _cairo_array_copy_element
    - _cairo_array_fini
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_pdf_interchange_free_outlines (cairo_pdf_surface_t
      *surface) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_rectangle_union
      Src: /src/cairo/src/cairo-pdf-interchange.c:2220,1
    - Dst: _cairo_tag_stack_foreach
      Src: /src/cairo/src/cairo-pdf-interchange.c:2227,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - surface
    - extents
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 2233
      start: 2210
    functionDepth: 0
    functionLinenumber: 2210
    functionLinenumberEnd: 2233
    functionName: _cairo_pdf_interchange_add_operation_extents
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - _cairo_rectangle_union
    - _cairo_tag_stack_foreach
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_pdf_interchange_add_operation_extents (cairo_pdf_surface_t\
      \ *surface,\t\t\t\t\t const cairo_rectangle_int_t *extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_pdf_surface_t*
    constantsTouched: []
    func_position:
      end: 185
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 185
    functionName: command_list_pop_group
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void command_list_pop_group (cairo_pdf_surface_t *surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-interchange.c:256,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-pdf-interchange.c:259,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - surface
    - recording_surface
    - region_id
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_surface_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 266
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 266
    functionName: command_list_set_current_recording_commands
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    - _cairo_array_num_elements
    linkageType: ''
    returnType: void
    signature: "static void command_list_set_current_recording_commands (cairo_pdf_surface_t\
      \ *surface,\t\t\t\t\t cairo_surface_t *recording_surface,\t\t\t\t\t unsigned\
      \ int region_id) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_tag_stack_pop
      Src: /src/cairo/src/cairo-pdf-interchange.c:1957,1
    - Dst: _cairo_tag_stack_pop
      Src: /src/cairo/src/cairo-pdf-interchange.c:1960,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:1964,1
    - Dst: _cairo_tag_get_type
      Src: /src/cairo/src/cairo-pdf-interchange.c:1967,1
    - Dst: _cairo_pdf_interchange_end_structure_tag
      Src: /src/cairo/src/cairo-pdf-interchange.c:1969,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:1970,1
    - Dst: _cairo_tag_stack_free_elem
      Src: /src/cairo/src/cairo-pdf-interchange.c:1975,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 2
    argNames:
    - surface
    - name
    argTypes:
    - cairo_pdf_surface_t*
    - char*
    constantsTouched: []
    func_position:
      end: 1978
      start: 1944
    functionDepth: 0
    functionLinenumber: 1944
    functionLinenumberEnd: 1978
    functionName: _cairo_pdf_interchange_tag_end
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - _cairo_tag_stack_free_elem
    - _cairo_pdf_interchange_end_structure_tag
    - _cairo_tag_get_type
    - _cairo_tag_stack_pop
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_pdf_interchange_tag_end (cairo_pdf_surface_t\
      \ *surface,\t\t\t\tconst char *name) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: command_list_is_group
      Src: /src/cairo/src/cairo-pdf-interchange.c:1994,1
    - Dst: _cairo_pdf_operators_tag_end
      Src: /src/cairo/src/cairo-pdf-interchange.c:1999,1
    - Dst: add_mcid_to_node
      Src: /src/cairo/src/cairo-pdf-interchange.c:2011,1
    - Dst: command_list_has_content
      Src: /src/cairo/src/cairo-pdf-interchange.c:2006,1
    - Dst: _cairo_pdf_operators_tag_begin
      Src: /src/cairo/src/cairo-pdf-interchange.c:2012,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 3
    argNames:
    - surface
    - recording_id
    - command_id
    argTypes:
    - cairo_pdf_surface_t*
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2020
      start: 1980
    functionDepth: 0
    functionLinenumber: 1980
    functionLinenumberEnd: 2020
    functionName: _cairo_pdf_interchange_command_id
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_operators_tag_end
    - add_mcid_to_node
    - command_list_has_content
    - command_list_is_group
    - _cairo_pdf_operators_tag_begin
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_pdf_interchange_command_id (cairo_pdf_surface_t\
      \ *surface,\t\t\t\t unsigned int recording_id,\t\t\t\t unsigned int command_id) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cairo/src/cairo-pdf-interchange.c:726,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - key_a
    - key_b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 727
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 727
    functionName: _named_dest_equal
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _named_dest_equal (const void *key_a, const void
      *key_b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pdf_interchange_walk_struct_tree
      Src: /src/cairo/src/cairo-pdf-interchange.c:1274,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_pdf_surface_t*
    constantsTouched: []
    func_position:
      end: 1278
      start: 1269
    functionDepth: 0
    functionLinenumber: 1269
    functionLinenumberEnd: 1278
    functionName: cairo_pdf_interchange_update_extents
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - cairo_pdf_interchange_walk_struct_tree
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t cairo_pdf_interchange_update_extents (cairo_pdf_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_hash_table_remove
      Src: /src/cairo/src/cairo-pdf-interchange.c:735,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-interchange.c:737,1
    - Dst: _cairo_tag_free_dest_attributes
      Src: /src/cairo/src/cairo-pdf-interchange.c:736,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - entry
    - closure
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 738
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 738
    functionName: _named_dest_pluck
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - _cairo_hash_table_remove
    - free
    - _cairo_tag_free_dest_attributes
    linkageType: ''
    returnType: void
    signature: 'static void _named_dest_pluck (void *entry, void *closure) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-interchange.c:1288,1
    - Dst: _cairo_pdf_surface_object_begin
      Src: /src/cairo/src/cairo-pdf-interchange.c:1294,1
    - Dst: _cairo_pdf_surface_new_object
      Src: /src/cairo/src/cairo-pdf-interchange.c:1290,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:1295,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-interchange.c:1292,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1298,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-pdf-interchange.c:1301,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1303,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1309,1
    - Dst: _cairo_pdf_surface_object_end
      Src: /src/cairo/src/cairo-pdf-interchange.c:1312,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_pdf_surface_t*
    constantsTouched: []
    func_position:
      end: 1316
      start: 1280
    functionDepth: 0
    functionLinenumber: 1280
    functionLinenumberEnd: 1316
    functionName: cairo_pdf_interchange_write_parent_tree
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    - _cairo_pdf_surface_object_begin
    - _cairo_error
    - _cairo_array_num_elements
    - _cairo_pdf_surface_new_object
    - _cairo_pdf_surface_object_end
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t cairo_pdf_interchange_write_parent_tree
      (cairo_pdf_surface_t *surface) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc_ab
      Src: /src/cairo/src/cairo-pdf-interchange.c:1585,1
    - Dst: qsort
      Src: /src/cairo/src/cairo-pdf-interchange.c:1592,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:1586,1
    - Dst: _cairo_hash_table_foreach
      Src: /src/cairo/src/cairo-pdf-interchange.c:1590,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-interchange.c:1587,1
    - Dst: _cairo_pdf_surface_new_object
      Src: /src/cairo/src/cairo-pdf-interchange.c:1594,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-interchange.c:1596,1
    - Dst: _cairo_pdf_surface_object_begin
      Src: /src/cairo/src/cairo-pdf-interchange.c:1598,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:1599,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1602,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:1625,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-interchange.c:1635,1
    - Dst: _cairo_pdf_surface_object_end
      Src: /src/cairo/src/cairo-pdf-interchange.c:1641,1
    - Dst: _cairo_utf8_to_pdf_string
      Src: /src/cairo/src/cairo-pdf-interchange.c:1624,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1629,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-pdf-interchange.c:1628,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1638,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_pdf_surface_t*
    constantsTouched: []
    func_position:
      end: 1644
      start: 1572
    functionDepth: 0
    functionLinenumber: 1572
    functionLinenumberEnd: 1644
    functionName: _cairo_pdf_interchange_write_document_dests
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - _cairo_calloc_ab
    - _cairo_array_index
    - qsort
    - _cairo_error
    - _cairo_pdf_surface_object_begin
    - free
    - _cairo_hash_table_foreach
    - _cairo_pdf_surface_new_object
    - _cairo_utf8_to_pdf_string
    - _cairo_pdf_surface_object_end
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t _cairo_pdf_interchange_write_document_dests
      (cairo_pdf_surface_t *surface) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pdf_interchange_write_document_dests
      Src: /src/cairo/src/cairo-pdf-interchange.c:1652,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-interchange.c:1660,1
    - Dst: _cairo_pdf_surface_object_begin
      Src: /src/cairo/src/cairo-pdf-interchange.c:1662,1
    - Dst: _cairo_pdf_surface_new_object
      Src: /src/cairo/src/cairo-pdf-interchange.c:1658,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:1653,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:1663,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1666,1
    - Dst: _cairo_pdf_surface_object_end
      Src: /src/cairo/src/cairo-pdf-interchange.c:1669,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_pdf_surface_t*
    constantsTouched: []
    func_position:
      end: 1673
      start: 1646
    functionDepth: 0
    functionLinenumber: 1646
    functionLinenumberEnd: 1673
    functionName: cairo_pdf_interchange_write_names_dict
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_surface_object_begin
    - _cairo_error
    - _cairo_pdf_surface_new_object
    - _cairo_pdf_interchange_write_document_dests
    - _cairo_pdf_surface_object_end
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t cairo_pdf_interchange_write_names_dict (cairo_pdf_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:2960,1
    - Dst: print_commands
      Src: /src/cairo/src/cairo-pdf-interchange.c:2961,1
    - Dst: printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:2962,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - command_list
    argTypes:
    - cairo_pdf_command_list_t*
    constantsTouched: []
    func_position:
      end: 2963
      start: 2957
    functionDepth: 0
    functionLinenumber: 2957
    functionLinenumberEnd: 2963
    functionName: print_command_list
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - printf
    - print_commands
    linkageType: ''
    returnType: void
    signature: 'static void print_command_list(cairo_pdf_command_list_t *command_list) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cairo/src/cairo-pdf-interchange.c:1430,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-pdf-interchange.c:1450,1
    - Dst: _cairo_isdigit
      Src: /src/cairo/src/cairo-pdf-interchange.c:1435,1
    - Dst: sscanf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1442,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-pdf-interchange.c:1446,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1456
      start: 1424
    functionDepth: 0
    functionLinenumber: 1424
    functionLinenumberEnd: 1456
    functionName: split_label
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - memcpy
    - _cairo_malloc
    - strlen
    - sscanf
    - _cairo_isdigit
    linkageType: ''
    returnType: char*
    signature: 'static char *split_label (const char* label, int *num) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-interchange.c:213,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-pdf-interchange.c:216,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 10
    argCount: 3
    argNames:
    - surface
    - command_id
    - content_command_id
    argTypes:
    - cairo_pdf_surface_t*
    - unsigned int
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 232
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 232
    functionName: command_list_has_content
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    - _cairo_array_num_elements
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t command_list_has_content (cairo_pdf_surface_t\
      \ *surface,\t\t\t unsigned int command_id,\t\t\t unsigned int *content_command_id) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-pdf-interchange.c:749,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:758,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:752,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 5
    argNames:
    - surface
    - page
    - has_pos
    - x
    - y
    argTypes:
    - cairo_pdf_surface_t*
    - int
    - cairo_bool_t
    - double
    - double
    constantsTouched: []
    func_position:
      end: 764
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 764
    functionName: cairo_pdf_interchange_write_explicit_dest
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t cairo_pdf_interchange_write_explicit_dest
      (cairo_pdf_surface_t *surface, int page, cairo_bool_t has_pos, double x, double
      y) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: init_named_dest_key
      Src: /src/cairo/src/cairo-pdf-interchange.c:780,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:798,1
    - Dst: cairo_pdf_interchange_write_explicit_dest
      Src: /src/cairo/src/cairo-pdf-interchange.c:799,1
    - Dst: _cairo_hash_table_lookup
      Src: /src/cairo/src/cairo-pdf-interchange.c:781,1
    - Dst: _cairo_utf8_to_pdf_string
      Src: /src/cairo/src/cairo-pdf-interchange.c:806,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:807,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:810,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-interchange.c:812,1
    - Dst: _cairo_tag_warning
      Src: /src/cairo/src/cairo-pdf-interchange.c:823,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:824,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-interchange.c:837,1
    - Dst: _cairo_tag_error
      Src: /src/cairo/src/cairo-pdf-interchange.c:838,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:841,1
    - Dst: cairo_pdf_interchange_write_explicit_dest
      Src: /src/cairo/src/cairo-pdf-interchange.c:825,1
    - Dst: cairo_pdf_interchange_write_explicit_dest
      Src: /src/cairo/src/cairo-pdf-interchange.c:842,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-interchange.c:839,1
    - Dst: _cairo_tag_error
      Src: /src/cairo/src/cairo-pdf-interchange.c:835,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 2
    argNames:
    - surface
    - link_attrs
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_link_attrs_t*
    constantsTouched: []
    func_position:
      end: 847
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 847
    functionName: cairo_pdf_interchange_write_dest
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - cairo_pdf_interchange_write_explicit_dest
    - init_named_dest_key
    - _cairo_tag_error
    - free
    - _cairo_array_num_elements
    - _cairo_tag_warning
    - _cairo_utf8_to_pdf_string
    - _cairo_hash_table_lookup
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t cairo_pdf_interchange_write_dest (cairo_pdf_surface_t\
      \ *surface,\t\t\t\t cairo_link_attrs_t *link_attrs) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-interchange.c:193,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-pdf-interchange.c:198,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - surface
    - command_id
    argTypes:
    - cairo_pdf_surface_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 200
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 200
    functionName: command_list_is_group
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    - _cairo_array_num_elements
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t command_list_is_group (cairo_pdf_surface_t *surface,\t\
      \t unsigned int command_id) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:358,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - stream
    - rect
    - surface_height
    argTypes:
    - cairo_output_stream_t*
    - cairo_rectangle_int_t*
    - double
    constantsTouched: []
    func_position:
      end: 364
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 364
    functionName: write_rect_int_to_pdf_bbox
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: void
    signature: "static void write_rect_int_to_pdf_bbox (cairo_output_stream_t *stream,\t\
      \t\t const cairo_rectangle_int_t *rect,\t\t\t double surface_height) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-pdf-interchange.c:376,1
    - Dst: strdup
      Src: /src/cairo/src/cairo-pdf-interchange.c:380,1
    - Dst: _cairo_pdf_surface_new_object
      Src: /src/cairo/src/cairo-pdf-interchange.c:381,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-interchange.c:378,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:377,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-interchange.c:383,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-pdf-interchange.c:386,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-pdf-interchange.c:387,1
    - Dst: cairo_list_add_tail
      Src: /src/cairo/src/cairo-pdf-interchange.c:391,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-pdf-interchange.c:393,1
    - Dst: _cairo_tag_parse_content_ref_attributes
      Src: /src/cairo/src/cairo-pdf-interchange.c:398,1
    - Dst: _cairo_tag_parse_content_attributes
      Src: /src/cairo/src/cairo-pdf-interchange.c:395,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-pdf-interchange.c:399,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-pdf-interchange.c:396,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 5
    argNames:
    - surface
    - parent
    - name
    - attributes
    - new_node
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_pdf_struct_tree_node_t*
    - char*
    - char*
    - cairo_pdf_struct_tree_node_t**
    constantsTouched: []
    func_position:
      end: 407
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 407
    functionName: add_tree_node
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - _cairo_tag_parse_content_attributes
    - cairo_list_init
    - _cairo_array_init
    - _cairo_error
    - strcmp
    - _cairo_pdf_surface_new_object
    - strdup
    - cairo_list_add_tail
    - _cairo_tag_parse_content_ref_attributes
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t add_tree_node (cairo_pdf_surface_t *surface,\t\
      \ cairo_pdf_struct_tree_node_t *parent,\t const char *name,\t const char *attributes,\t\
      \ cairo_pdf_struct_tree_node_t **new_node) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-pdf-interchange.c:541,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:553,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:548,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:543,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:545,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:557,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 3
    argNames:
    - surface
    - mcid_elem
    - page
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_pdf_page_mcid_t*
    - int
    constantsTouched: []
    func_position:
      end: 561
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 561
    functionName: cairo_pdf_interchange_write_node_mcid
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: void
    signature: "static void cairo_pdf_interchange_write_node_mcid (cairo_pdf_surface_t\
      \ *surface,\t\t\t\t cairo_pdf_page_mcid_t *mcid_elem,\t\t\t\t int page) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_is_empty
      Src: /src/cairo/src/cairo-pdf-interchange.c:1138,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:1145,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:1149,1
    - Dst: cairo_pdf_interchange_walk_struct_tree
      Src: /src/cairo/src/cairo-pdf-interchange.c:1141,1
    - Dst: _cairo_pdf_surface_object_begin
      Src: /src/cairo/src/cairo-pdf-interchange.c:1148,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1152,1
    - Dst: cairo_list_is_singular
      Src: /src/cairo/src/cairo-pdf-interchange.c:1157,1
    - Dst: cairo_list_first_entry
      Src: /src/cairo/src/cairo-pdf-interchange.c:1158,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1159,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1161,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1171,1
    - Dst: _cairo_pdf_surface_object_end
      Src: /src/cairo/src/cairo-pdf-interchange.c:1176,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1174,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1169,1
    - Dst: cairo_list_foreach_entry
      Src: /src/cairo/src/cairo-pdf-interchange.c:1163,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_pdf_surface_t*
    constantsTouched: []
    func_position:
      end: 1179
      start: 1131
    functionDepth: 0
    functionLinenumber: 1131
    functionLinenumberEnd: 1179
    functionName: cairo_pdf_interchange_write_struct_tree
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - cairo_list_foreach_entry
    - cairo_list_is_singular
    - _cairo_pdf_surface_object_begin
    - cairo_list_first_entry
    - _cairo_pdf_surface_object_end
    - cairo_list_is_empty
    - cairo_pdf_interchange_walk_struct_tree
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t cairo_pdf_interchange_write_struct_tree
      (cairo_pdf_surface_t *surface) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-interchange.c:1334,1
    - Dst: _cairo_pdf_surface_object_end
      Src: /src/cairo/src/cairo-pdf-interchange.c:1350,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-interchange.c:1369,1
    - Dst: cairo_pdf_interchange_write_link_action
      Src: /src/cairo/src/cairo-pdf-interchange.c:1404,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:1405,1
    - Dst: _cairo_pdf_surface_object_end
      Src: /src/cairo/src/cairo-pdf-interchange.c:1410,1
    - Dst: _cairo_pdf_surface_new_object
      Src: /src/cairo/src/cairo-pdf-interchange.c:1332,1
    - Dst: _cairo_array_copy_element
      Src: /src/cairo/src/cairo-pdf-interchange.c:1331,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:1357,1
    - Dst: _cairo_utf8_to_pdf_string
      Src: /src/cairo/src/cairo-pdf-interchange.c:1356,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-interchange.c:1327,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1341,1
    - Dst: _cairo_array_copy_element
      Src: /src/cairo/src/cairo-pdf-interchange.c:1353,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1372,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:1361,1
    - Dst: _cairo_pdf_surface_object_begin
      Src: /src/cairo/src/cairo-pdf-interchange.c:1360,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1364,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1408,1
    - Dst: _cairo_pdf_surface_object_begin
      Src: /src/cairo/src/cairo-pdf-interchange.c:1337,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:1338,1
    - Dst: _cairo_pdf_surface_update_object
      Src: /src/cairo/src/cairo-pdf-interchange.c:1354,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1378,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1384,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1399,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_pdf_surface_t*
    constantsTouched: []
    func_position:
      end: 1414
      start: 1318
    functionDepth: 0
    functionLinenumber: 1318
    functionLinenumberEnd: 1414
    functionName: cairo_pdf_interchange_write_outline
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_surface_object_begin
    - _cairo_error
    - _cairo_pdf_surface_update_object
    - free
    - _cairo_array_num_elements
    - cairo_pdf_interchange_write_link_action
    - _cairo_pdf_surface_new_object
    - _cairo_array_copy_element
    - _cairo_utf8_to_pdf_string
    - _cairo_pdf_surface_object_end
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t cairo_pdf_interchange_write_outline (cairo_pdf_surface_t
      *surface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 576
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 576
    functionName: _mcid_order_compare
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "static int _mcid_order_compare (const void *a,\t\t const void *b) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-interchange.c:1191,1
    - Dst: _cairo_tag_error
      Src: /src/cairo/src/cairo-pdf-interchange.c:1196,1
    - Dst: _cairo_array_copy_element
      Src: /src/cairo/src/cairo-pdf-interchange.c:1193,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-interchange.c:1195,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-interchange.c:1198,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-pdf-interchange.c:1201,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-pdf-interchange.c:1202,1
    - Dst: cairo_pdf_interchange_write_annot
      Src: /src/cairo/src/cairo-pdf-interchange.c:1206,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:1207,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - surface
    - struct_parents
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 1212
      start: 1181
    functionDepth: 0
    functionLinenumber: 1181
    functionLinenumberEnd: 1212
    functionName: cairo_pdf_interchange_write_annots
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    - _cairo_tag_error
    - _cairo_array_num_elements
    - cairo_pdf_interchange_write_annot
    - _cairo_array_copy_element
    - _cairo_array_append
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t cairo_pdf_interchange_write_annots (cairo_pdf_surface_t\
      \ *surface,\t\t\t\t cairo_bool_t struct_parents) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-pdf-interchange.c:874,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-interchange.c:876,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-interchange.c:892,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-pdf-interchange.c:890,1
    - Dst: snprintf
      Src: /src/cairo/src/cairo-pdf-interchange.c:899,1
    - Dst: snprintf
      Src: /src/cairo/src/cairo-pdf-interchange.c:902,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 57
    argCount: 2
    argNames:
    - utf8
    - str_out
    argTypes:
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 912
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 912
    functionName: _cairo_utf8_to_pdf_utf8_hexstring
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_malloc
    - snprintf
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t _cairo_utf8_to_pdf_utf8_hexstring (const
      char *utf8, char **str_out) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_utf8_to_pdf_string
      Src: /src/cairo/src/cairo-pdf-interchange.c:935,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-interchange.c:976,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:992,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:981,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1012,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-interchange.c:940,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:936,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-interchange.c:952,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-interchange.c:998,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-interchange.c:987,1
    - Dst: _cairo_tag_error
      Src: /src/cairo/src/cairo-pdf-interchange.c:941,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:967,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:970,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1001,1
    - Dst: cairo_pdf_interchange_write_dest
      Src: /src/cairo/src/cairo-pdf-interchange.c:925,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:945,1
    - Dst: _cairo_utf8_to_pdf_utf8_hexstring
      Src: /src/cairo/src/cairo-pdf-interchange.c:966,1
    - Dst: _cairo_utf8_to_pdf_string
      Src: /src/cairo/src/cairo-pdf-interchange.c:980,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:984,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:995,1
    - Dst: _cairo_utf8_to_pdf_string
      Src: /src/cairo/src/cairo-pdf-interchange.c:991,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1007,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 49
    argCount: 2
    argNames:
    - surface
    - link_attrs
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_link_attrs_t*
    constantsTouched: []
    func_position:
      end: 1017
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 1017
    functionName: cairo_pdf_interchange_write_link_action
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - _cairo_tag_error
    - free
    - cairo_pdf_interchange_write_dest
    - _cairo_utf8_to_pdf_string
    - _cairo_utf8_to_pdf_utf8_hexstring
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t cairo_pdf_interchange_write_link_action\
      \ (cairo_pdf_surface_t *surface,\t\t\t\t\t cairo_link_attrs_t *link_attrs) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: command_list_pop_group
      Src: /src/cairo/src/cairo-pdf-interchange.c:2116,1
    - Dst: _cairo_array_last_element
      Src: /src/cairo/src/cairo-pdf-interchange.c:2119,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-interchange.c:2122,1
    - Dst: _cairo_array_pop_element
      Src: /src/cairo/src/cairo-pdf-interchange.c:2118,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 4
    argNames:
    - surface
    - recording_surface_pattern
    - region_id
    - source_type
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_surface_pattern_t*
    - unsigned int
    - cairo_analysis_source_t
    constantsTouched: []
    func_position:
      end: 2133
      start: 2104
    functionDepth: 0
    functionLinenumber: 2104
    functionLinenumberEnd: 2133
    functionName: _cairo_pdf_interchange_recording_source_surface_end
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - assert
    - _cairo_array_pop_element
    - _cairo_array_last_element
    - command_list_pop_group
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'cairo_int_status_t _cairo_pdf_interchange_recording_source_surface_end
      ( cairo_pdf_surface_t *surface, const cairo_surface_pattern_t *recording_surface_pattern,
      unsigned int region_id, cairo_analysis_source_t source_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_tag_free_link_attributes
      Src: /src/cairo/src/cairo-pdf-interchange.c:514,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-interchange.c:515,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - annot
    argTypes:
    - cairo_pdf_annotation_t*
    constantsTouched: []
    func_position:
      end: 516
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 516
    functionName: free_annotation
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - free
    - _cairo_tag_free_link_attributes
    linkageType: ''
    returnType: void
    signature: 'static void free_annotation (cairo_pdf_annotation_t *annot) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-interchange.c:524,1
    - Dst: free_annotation
      Src: /src/cairo/src/cairo-pdf-interchange.c:529,1
    - Dst: _cairo_array_copy_element
      Src: /src/cairo/src/cairo-pdf-interchange.c:528,1
    - Dst: _cairo_array_truncate
      Src: /src/cairo/src/cairo-pdf-interchange.c:531,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_pdf_surface_t*
    constantsTouched: []
    func_position:
      end: 532
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 532
    functionName: cairo_pdf_interchange_clear_annotations
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - free_annotation
    - _cairo_array_num_elements
    - _cairo_array_truncate
    - _cairo_array_copy_element
    linkageType: ''
    returnType: void
    signature: 'static void cairo_pdf_interchange_clear_annotations (cairo_pdf_surface_t
      *surface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-interchange.c:276,1
    - Dst: update_mcid_order
      Src: /src/cairo/src/cairo-pdf-interchange.c:286,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-pdf-interchange.c:279,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-pdf-interchange.c:281,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - surface
    - command_list
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_pdf_command_list_t*
    constantsTouched: []
    func_position:
      end: 288
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 288
    functionName: update_mcid_order
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    - _cairo_array_num_elements
    - update_mcid_order
    linkageType: ''
    returnType: void
    signature: "static void update_mcid_order (cairo_pdf_surface_t *surface,\t\t cairo_pdf_command_list_t\
      \ *command_list) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_foreach_entry_safe
      Src: /src/cairo/src/cairo-pdf-interchange.c:417,1
    - Dst: cairo_list_del
      Src: /src/cairo/src/cairo-pdf-interchange.c:421,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-pdf-interchange.c:425,1
    - Dst: free_node
      Src: /src/cairo/src/cairo-pdf-interchange.c:422,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-interchange.c:424,1
    - Dst: _cairo_tag_free_content_attributes
      Src: /src/cairo/src/cairo-pdf-interchange.c:427,1
    - Dst: _cairo_tag_free_content_ref_attributes
      Src: /src/cairo/src/cairo-pdf-interchange.c:430,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-interchange.c:432,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - node
    argTypes:
    - cairo_pdf_struct_tree_node_t*
    constantsTouched: []
    func_position:
      end: 433
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 433
    functionName: free_node
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - _cairo_tag_free_content_attributes
    - cairo_list_foreach_entry_safe
    - _cairo_tag_free_content_ref_attributes
    - free
    - _cairo_array_fini
    - cairo_list_del
    - free_node
    linkageType: ''
    returnType: void
    signature: 'static void free_node (cairo_pdf_struct_tree_node_t *node) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:1037,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-pdf-interchange.c:1032,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1060,1
    - Dst: write_rect_to_pdf_quad_points
      Src: /src/cairo/src/cairo-pdf-interchange.c:1073,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1074,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1082,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-interchange.c:1097,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-interchange.c:1040,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1080,1
    - Dst: _cairo_pdf_surface_object_end
      Src: /src/cairo/src/cairo-pdf-interchange.c:1096,1
    - Dst: _cairo_pdf_surface_object_begin
      Src: /src/cairo/src/cairo-pdf-interchange.c:1042,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:1043,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1051,1
    - Dst: write_rect_int_to_pdf_bbox
      Src: /src/cairo/src/cairo-pdf-interchange.c:1079,1
    - Dst: _cairo_rectangle_union
      Src: /src/cairo/src/cairo-pdf-interchange.c:1071,1
    - Dst: _cairo_rectangle_int_from_double
      Src: /src/cairo/src/cairo-pdf-interchange.c:1067,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1076,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1085,1
    - Dst: cairo_pdf_interchange_write_link_action
      Src: /src/cairo/src/cairo-pdf-interchange.c:1088,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:1089,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-interchange.c:1031,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-pdf-interchange.c:1036,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1046,1
    - Dst: _cairo_array_copy_element
      Src: /src/cairo/src/cairo-pdf-interchange.c:1066,1
    - Dst: write_rect_int_to_pdf_bbox
      Src: /src/cairo/src/cairo-pdf-interchange.c:1084,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:1092,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 3
    argNames:
    - surface
    - annot
    - struct_parents
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_pdf_annotation_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 1101
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1101
    functionName: cairo_pdf_interchange_write_annot
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_surface_object_begin
    - cairo_pdf_interchange_write_link_action
    - _cairo_rectangle_union
    - _cairo_array_num_elements
    - strcmp
    - write_rect_int_to_pdf_bbox
    - write_rect_to_pdf_quad_points
    - _cairo_rectangle_int_from_double
    - _cairo_array_copy_element
    - _cairo_output_stream_get_status
    - _cairo_pdf_surface_object_end
    - _cairo_array_append
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t cairo_pdf_interchange_write_annot (cairo_pdf_surface_t\
      \ *surface,\t\t\t\t cairo_pdf_annotation_t *annot,\t\t\t\t cairo_bool_t struct_parents) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_isdigit
      Src: /src/cairo/src/cairo-pdf-interchange.c:2673,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-pdf-interchange.c:2691,1
    - Dst: strcpy
      Src: /src/cairo/src/cairo-pdf-interchange.c:2680,1
    - Dst: strncat
      Src: /src/cairo/src/cairo-pdf-interchange.c:2686,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-pdf-interchange.c:2683,1
    - Dst: strncat
      Src: /src/cairo/src/cairo-pdf-interchange.c:2694,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-pdf-interchange.c:2699,1
    - Dst: strncat
      Src: /src/cairo/src/cairo-pdf-interchange.c:2701,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-pdf-interchange.c:2705,1
    - Dst: strncat
      Src: /src/cairo/src/cairo-pdf-interchange.c:2708,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-pdf-interchange.c:2713,1
    - Dst: strcat
      Src: /src/cairo/src/cairo-pdf-interchange.c:2717,1
    - Dst: strcat
      Src: /src/cairo/src/cairo-pdf-interchange.c:2720,1
    - Dst: strncat
      Src: /src/cairo/src/cairo-pdf-interchange.c:2716,1
    - Dst: strcat
      Src: /src/cairo/src/cairo-pdf-interchange.c:2709,1
    - Dst: strdup
      Src: /src/cairo/src/cairo-pdf-interchange.c:2721,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2722
      start: 2663
    functionDepth: 0
    functionLinenumber: 2663
    functionLinenumberEnd: 2722
    functionName: iso8601_to_pdf_date_string
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - strcat
    - strlen
    - strcpy
    - _cairo_isdigit
    - strncat
    - strdup
    linkageType: ''
    returnType: char*
    signature: 'static char *iso8601_to_pdf_date_string (const char *iso) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_hash_string
      Src: /src/cairo/src/cairo-pdf-interchange.c:293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - cairo_pdf_content_tag_t*
    constantsTouched: []
    func_position:
      end: 294
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 294
    functionName: _cairo_pdf_content_tag_init_key
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - _cairo_hash_string
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_pdf_content_tag_init_key (cairo_pdf_content_tag_t
      *key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-pdf-interchange.c:445,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:446,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-interchange.c:450,1
    - Dst: command_list_set_mcid
      Src: /src/cairo/src/cairo-pdf-interchange.c:454,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-interchange.c:452,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-interchange.c:454,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-pdf-interchange.c:456,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - surface
    - node
    - command_id
    - mcid
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_pdf_struct_tree_node_t*
    - unsigned int
    - int*
    constantsTouched: []
    func_position:
      end: 457
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 457
    functionName: add_mcid_to_node
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - _cairo_array_append
    - _cairo_array_num_elements
    - command_list_set_mcid
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t add_mcid_to_node (cairo_pdf_surface_t *surface,\t\
      \t cairo_pdf_struct_tree_node_t *node,\t\t unsigned int command_id,\t\t int\
      \ *mcid) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/cairo/src/cairo-pdf-interchange.c:1114,1
    - Dst: cairo_list_foreach_entry
      Src: /src/cairo/src/cairo-pdf-interchange.c:1119,1
    - Dst: cairo_pdf_interchange_walk_struct_tree
      Src: /src/cairo/src/cairo-pdf-interchange.c:1122,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:1115,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:1123,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 4
    argNames:
    - surface
    - node
    - depth
    - (*func)
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_pdf_struct_tree_node_t*
    - int
    - cairo_int_status_t
    constantsTouched: []
    func_position:
      end: 1129
      start: 1103
    functionDepth: 0
    functionLinenumber: 1103
    functionLinenumberEnd: 1129
    functionName: cairo_pdf_interchange_walk_struct_tree
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - cairo_list_foreach_entry
    - func
    - cairo_pdf_interchange_walk_struct_tree
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t cairo_pdf_interchange_walk_struct_tree (cairo_pdf_surface_t\
      \ *surface,\t\t\t\t\tcairo_pdf_struct_tree_node_t *node,\t\t\t\t\tint depth,\t\
      \t\t\t\tcairo_int_status_t (*func) (cairo_pdf_surface_t *surface,\t\t\t\t\t\t\
      \t\t cairo_pdf_struct_tree_node_t *node,\t\t\t\t\t int depth)) "
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: iso8601_to_pdf_date_string
      Src: /src/cairo/src/cairo-pdf-interchange.c:2736,1
    - Dst: _cairo_utf8_to_pdf_string
      Src: /src/cairo/src/cairo-pdf-interchange.c:2738,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:2739,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-interchange.c:2750,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-interchange.c:2746,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-interchange.c:2754,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-interchange.c:2758,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-interchange.c:2762,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-interchange.c:2766,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-interchange.c:2770,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 27
    argCount: 3
    argNames:
    - surface
    - metadata
    - utf8
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_pdf_metadata_t
    - char*
    constantsTouched: []
    func_position:
      end: 2776
      start: 2724
    functionDepth: 0
    functionLinenumber: 2724
    functionLinenumberEnd: 2776
    functionName: _cairo_pdf_interchange_set_metadata
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - _cairo_utf8_to_pdf_string
    - free
    - iso8601_to_pdf_date_string
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_pdf_interchange_set_metadata (cairo_pdf_surface_t\
      \ *surface,\t\t\t\t cairo_pdf_metadata_t metadata,\t\t\t\t const char *utf8) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pdf_interchange_struct_tree_requires_recording_surface
      Src: /src/cairo/src/cairo-pdf-interchange.c:2076,1
    - Dst: command_list_push_group
      Src: /src/cairo/src/cairo-pdf-interchange.c:2096,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-interchange.c:2097,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-pdf-interchange.c:2089,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 4
    argNames:
    - surface
    - recording_surface_pattern
    - region_id
    - source_type
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_surface_pattern_t*
    - unsigned int
    - cairo_analysis_source_t
    constantsTouched: []
    func_position:
      end: 2101
      start: 2063
    functionDepth: 0
    functionLinenumber: 2063
    functionLinenumberEnd: 2101
    functionName: _cairo_pdf_interchange_recording_source_surface_begin
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - _cairo_array_append
    - unlikely
    - _cairo_pdf_interchange_struct_tree_requires_recording_surface
    - command_list_push_group
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'cairo_int_status_t _cairo_pdf_interchange_recording_source_surface_begin
      ( cairo_pdf_surface_t *surface, const cairo_surface_pattern_t *recording_surface_pattern,
      unsigned int region_id, cairo_analysis_source_t source_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pdf_content_tag_init_key
      Src: /src/cairo/src/cairo-pdf-interchange.c:325,1
    - Dst: _cairo_tag_error
      Src: /src/cairo/src/cairo-pdf-interchange.c:328,1
    - Dst: _cairo_hash_table_lookup
      Src: /src/cairo/src/cairo-pdf-interchange.c:326,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - surface
    - ref_node
    - node
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_pdf_struct_tree_node_t*
    - cairo_pdf_struct_tree_node_t**
    constantsTouched: []
    func_position:
      end: 334
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 334
    functionName: lookup_content_node_for_ref_node
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_content_tag_init_key
    - _cairo_hash_table_lookup
    - _cairo_tag_error
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t lookup_content_node_for_ref_node (cairo_pdf_surface_t\
      \ *surface,\t\t\t\t cairo_pdf_struct_tree_node_t *ref_node,\t\t\t\t cairo_pdf_struct_tree_node_t\
      \ **node) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:2921,1
    - Dst: printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:2924,1
    - Dst: printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:2933,1
    - Dst: printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:2927,1
    - Dst: printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:2930,1
    - Dst: printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:2936,1
    - Dst: printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:2939,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - command
    - indent
    argTypes:
    - cairo_pdf_command_t*
    - int
    constantsTouched: []
    func_position:
      end: 2940
      start: 2918
    functionDepth: 0
    functionLinenumber: 2918
    functionLinenumberEnd: 2940
    functionName: print_command
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'static void print_command (cairo_pdf_command_t *command, int indent) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-interchange.c:341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - stream
    - rect
    - surface_height
    argTypes:
    - cairo_output_stream_t*
    - cairo_rectangle_t*
    - double
    constantsTouched: []
    func_position:
      end: 351
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 351
    functionName: write_rect_to_pdf_quad_points
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: void
    signature: "static void write_rect_to_pdf_quad_points (cairo_output_stream_t *stream,\t\
      \t\t const cairo_rectangle_t *rect,\t\t\t double surface_height) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-interchange.c:2947,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-pdf-interchange.c:2950,1
    - Dst: print_command
      Src: /src/cairo/src/cairo-pdf-interchange.c:2951,1
    - Dst: print_commands
      Src: /src/cairo/src/cairo-pdf-interchange.c:2953,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - command_list
    - indent
    argTypes:
    - cairo_pdf_command_list_t*
    - int
    constantsTouched: []
    func_position:
      end: 2955
      start: 2942
    functionDepth: 0
    functionLinenumber: 2942
    functionLinenumberEnd: 2955
    functionName: print_commands
    functionSourceFile: /src/cairo/src/cairo-pdf-interchange.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    - print_command
    - _cairo_array_num_elements
    - print_commands
    linkageType: ''
    returnType: void
    signature: 'static void print_commands (cairo_pdf_command_list_t *command_list,
      int indent) '
  - BBCount: 48
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 187
    functionName: cairo_status_to_string
    functionSourceFile: /src/cairo/src/cairo-misc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *cairo_status_to_string (cairo_status_t status) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-misc.c:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 216
    functionName: cairo_glyph_allocate
    functionSourceFile: /src/cairo/src/cairo-misc.c
    functionUses: []
    functionsReached:
    - _cairo_malloc_ab
    linkageType: ''
    returnType: cairo_glyph_t*
    signature: 'cairo_glyph_t *cairo_glyph_allocate (int num_glyphs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-misc.c:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - clusters
    argTypes:
    - cairo_text_cluster_t*
    constantsTouched: []
    func_position:
      end: 283
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 283
    functionName: cairo_text_cluster_free
    functionSourceFile: /src/cairo/src/cairo-misc.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void cairo_text_cluster_free (cairo_text_cluster_t *clusters) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 1
    argNames:
    - d
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 719
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 719
    functionName: _cairo_lround
    functionSourceFile: /src/cairo/src/cairo-misc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int _cairo_lround (double d) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GetTempPathW
      Src: /src/cairo/src/cairo-misc.c:1020,1
    - Dst: GetTempFileNameW
      Src: /src/cairo/src/cairo-misc.c:1024,1
    - Dst: _open_osfhandle
      Src: /src/cairo/src/cairo-misc.c:1039,1
    - Dst: CreateFileW
      Src: /src/cairo/src/cairo-misc.c:1027,1
    - Dst: DeleteFileW
      Src: /src/cairo/src/cairo-misc.c:1035,1
    - Dst: CloseHandle
      Src: /src/cairo/src/cairo-misc.c:1041,1
    - Dst: fdopen
      Src: /src/cairo/src/cairo-misc.c:1045,1
    - Dst: _close
      Src: /src/cairo/src/cairo-misc.c:1047,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1052
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1052
    functionName: _cairo_win32_tmpfile
    functionSourceFile: /src/cairo/src/cairo-misc.c
    functionUses: []
    functionsReached:
    - GetTempFileNameW
    - _close
    - GetTempPathW
    - CreateFileW
    - _open_osfhandle
    - DeleteFileW
    - fdopen
    - CloseHandle
    linkageType: ''
    returnType: FILE*
    signature: 'static FILE *_cairo_win32_tmpfile (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-misc.c:1204,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-misc.c:1212,1
    - Dst: _cairo_hash_table_destroy
      Src: /src/cairo/src/cairo-misc.c:1209,1
    - Dst: _cairo_hash_table_foreach
      Src: /src/cairo/src/cairo-misc.c:1206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1213
      start: 1201
    functionDepth: 0
    functionLinenumber: 1201
    functionLinenumberEnd: 1213
    functionName: _cairo_intern_string_reset_static_data
    functionSourceFile: /src/cairo/src/cairo-misc.c
    functionUses: []
    functionsReached:
    - CAIRO_MUTEX_LOCK
    - CAIRO_MUTEX_UNLOCK
    - _cairo_hash_table_destroy
    - _cairo_hash_table_foreach
    linkageType: ''
    returnType: void
    signature: 'void _cairo_intern_string_reset_static_data (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-misc.c:263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 264
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 264
    functionName: cairo_text_cluster_allocate
    functionSourceFile: /src/cairo/src/cairo-misc.c
    functionUses: []
    functionsReached:
    - _cairo_malloc_ab
    linkageType: ''
    returnType: cairo_text_cluster_t*
    signature: 'cairo_text_cluster_t *cairo_text_cluster_allocate (int num_clusters) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 795
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 795
    functionName: _cairo_get_locale_decimal_point
    functionSourceFile: /src/cairo/src/cairo-misc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *_cairo_get_locale_decimal_point (void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_utf8_to_ucs4
      Src: /src/cairo/src/cairo-misc.c:341,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-misc.c:342,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-misc.c:343,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-misc.c:351,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 27
    argCount: 7
    argNames:
    - utf8
    - utf8_len
    - glyphs
    - num_glyphs
    - clusters
    - num_clusters
    - cluster_flags
    argTypes:
    - char*
    - int
    - cairo_glyph_t*
    - int
    - cairo_text_cluster_t*
    - int
    - cairo_text_cluster_flags_t
    constantsTouched: []
    func_position:
      end: 355
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 355
    functionName: _cairo_validate_text_clusters
    functionSourceFile: /src/cairo/src/cairo-misc.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_utf8_to_ucs4
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_validate_text_clusters (const char\t\t *utf8,\t\
      \t\t int\t\t\t utf8_len,\t\t\t const cairo_glyph_t\t *glyphs,\t\t\t int\t\t\t\
      \ num_glyphs,\t\t\t const cairo_text_cluster_t *clusters,\t\t\t int\t\t\t num_clusters,\t\
      \t\t cairo_text_cluster_flags_t cluster_flags) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_utf8_to_utf16
      Src: /src/cairo/src/cairo-misc.c:950,1
    - Dst: free
      Src: /src/cairo/src/cairo-misc.c:956,1
    - Dst: free
      Src: /src/cairo/src/cairo-misc.c:963,1
    - Dst: _wfopen
      Src: /src/cairo/src/cairo-misc.c:961,1
    - Dst: _cairo_utf8_to_utf16
      Src: /src/cairo/src/cairo-misc.c:955,1
    - Dst: free
      Src: /src/cairo/src/cairo-misc.c:964,1
    - Dst: snprintf
      Src: /src/cairo/src/cairo-misc.c:973,1
    - Dst: fopen
      Src: /src/cairo/src/cairo-misc.c:974,1
    - Dst: fopen
      Src: /src/cairo/src/cairo-misc.c:978,1
    - Dst: fileno
      Src: /src/cairo/src/cairo-misc.c:983,1
    - Dst: fcntl
      Src: /src/cairo/src/cairo-misc.c:987,1
    - Dst: fcntl
      Src: /src/cairo/src/cairo-misc.c:985,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 44
    argCount: 3
    argNames:
    - filename
    - mode
    - file_out
    argTypes:
    - char*
    - char*
    - FILE**
    constantsTouched: []
    func_position:
      end: 999
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 999
    functionName: _cairo_fopen
    functionSourceFile: /src/cairo/src/cairo-misc.c
    functionUses: []
    functionsReached:
    - fileno
    - free
    - _cairo_utf8_to_utf16
    - _wfopen
    - fopen
    - fcntl
    - snprintf
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_fopen (const char *filename, const char *mode,
      FILE **file_out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1125
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1125
    functionName: _cairo_string_hash
    functionSourceFile: /src/cairo/src/cairo-misc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: 'unsigned long _cairo_string_hash (const char *str, int len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: localeconv
      Src: /src/cairo/src/cairo-misc.c:785,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 787
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 787
    functionName: _cairo_get_locale_decimal_point
    functionSourceFile: /src/cairo/src/cairo-misc.c
    functionUses: []
    functionsReached:
    - localeconv
    linkageType: ''
    returnType: char*
    signature: 'const char *_cairo_get_locale_decimal_point (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_atomic_ptr_get
      Src: /src/cairo/src/cairo-misc.c:808,1
    - Dst: newlocale
      Src: /src/cairo/src/cairo-misc.c:811,1
    - Dst: freelocale
      Src: /src/cairo/src/cairo-misc.c:814,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-misc.c:810,1
    - Dst: _cairo_atomic_ptr_cmpxchg
      Src: /src/cairo/src/cairo-misc.c:813,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 820
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 820
    functionName: get_C_locale
    functionSourceFile: /src/cairo/src/cairo-misc.c
    functionUses: []
    functionsReached:
    - newlocale
    - _cairo_atomic_ptr_get
    - _cairo_atomic_ptr_cmpxchg
    - freelocale
    - unlikely
    linkageType: ''
    returnType: locale_t
    signature: 'static locale_t get_C_locale (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strtod_l
      Src: /src/cairo/src/cairo-misc.c:825,1
    - Dst: get_C_locale
      Src: /src/cairo/src/cairo-misc.c:825,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - nptr
    - endptr
    argTypes:
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 826
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 826
    functionName: _cairo_strtod
    functionSourceFile: /src/cairo/src/cairo-misc.c
    functionUses: []
    functionsReached:
    - get_C_locale
    - strtod_l
    linkageType: ''
    returnType: double
    signature: 'double _cairo_strtod (const char *nptr, char **endptr) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_win32_tmpfile
      Src: /src/cairo/src/cairo-misc.c:1068,1
    - Dst: fdopen
      Src: /src/cairo/src/cairo-misc.c:1084,1
    - Dst: open
      Src: /src/cairo/src/cairo-misc.c:1075,1
    - Dst: open
      Src: /src/cairo/src/cairo-misc.c:1079,1
    - Dst: tmpfile
      Src: /src/cairo/src/cairo-misc.c:1089,1
    - Dst: fileno
      Src: /src/cairo/src/cairo-misc.c:1094,1
    - Dst: fcntl
      Src: /src/cairo/src/cairo-misc.c:1096,1
    - Dst: fcntl
      Src: /src/cairo/src/cairo-misc.c:1098,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1105
    functionName: _cairo_tmpfile
    functionSourceFile: /src/cairo/src/cairo-misc.c
    functionUses: []
    functionsReached:
    - fileno
    - _cairo_win32_tmpfile
    - tmpfile
    - fdopen
    - open
    - fcntl
    linkageType: ''
    returnType: FILE*
    signature: 'FILE *_cairo_tmpfile (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cairo/src/cairo-misc.c:1136,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1137
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1137
    functionName: _intern_string_equal
    functionSourceFile: /src/cairo/src/cairo-misc.c
    functionUses: []
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _intern_string_equal (const void *_a, const void
      *_b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-misc.c:234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - glyphs
    argTypes:
    - cairo_glyph_t*
    constantsTouched: []
    func_position:
      end: 235
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 235
    functionName: cairo_glyph_free
    functionSourceFile: /src/cairo/src/cairo-misc.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void cairo_glyph_free (cairo_glyph_t *glyphs) '
  - BBCount: 31
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - cairo_operator_t
    constantsTouched: []
    func_position:
      end: 464
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 464
    functionName: _cairo_operator_bounded_by_source
    functionSourceFile: /src/cairo/src/cairo-misc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t _cairo_operator_bounded_by_source (cairo_operator_t op) '
  - BBCount: 31
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 3
    argCount: 1
    argNames:
    - op
    argTypes:
    - cairo_operator_t
    constantsTouched: []
    func_position:
      end: 507
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 507
    functionName: _cairo_operator_bounded_by_either
    functionSourceFile: /src/cairo/src/cairo-misc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t _cairo_operator_bounded_by_either (cairo_operator_t op) '
  - BBCount: 31
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - cairo_operator_t
    constantsTouched: []
    func_position:
      end: 409
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 409
    functionName: _cairo_operator_bounded_by_mask
    functionSourceFile: /src/cairo/src/cairo-misc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t _cairo_operator_bounded_by_mask (cairo_operator_t op) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/cairo/src/cairo-misc.c:900,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-misc.c:906,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-misc.c:908,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 913
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 913
    functionName: _cairo_strndup
    functionSourceFile: /src/cairo/src/cairo-misc.c
    functionUses: []
    functionsReached:
    - _cairo_malloc
    - memchr
    - memcpy
    linkageType: ''
    returnType: char*
    signature: 'char *_cairo_strndup (const char *s, size_t n) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_INJECT_FAULT
      Src: /src/cairo/src/cairo-misc.c:1146,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-misc.c:1147,1
    - Dst: _cairo_string_hash
      Src: /src/cairo/src/cairo-misc.c:1151,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-misc.c:1150,1
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-misc.c:1155,1
    - Dst: _cairo_hash_table_create
      Src: /src/cairo/src/cairo-misc.c:1157,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-misc.c:1158,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-misc.c:1159,1
    - Dst: _cairo_hash_table_lookup
      Src: /src/cairo/src/cairo-misc.c:1164,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-misc.c:1167,1
    - Dst: likely
      Src: /src/cairo/src/cairo-misc.c:1168,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-misc.c:1190,1
    - Dst: _cairo_hash_table_insert
      Src: /src/cairo/src/cairo-misc.c:1175,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-misc.c:1172,1
    - Dst: free
      Src: /src/cairo/src/cairo-misc.c:1178,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-misc.c:1177,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-misc.c:1182,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 2
    argNames:
    - str_inout
    - len
    argTypes:
    - char**
    - int
    constantsTouched: []
    func_position:
      end: 1192
      start: 1139
    functionDepth: 0
    functionLinenumber: 1139
    functionLinenumberEnd: 1192
    functionName: _cairo_intern_string
    functionSourceFile: /src/cairo/src/cairo-misc.c
    functionUses: []
    functionsReached:
    - _cairo_malloc
    - CAIRO_MUTEX_LOCK
    - memcpy
    - _cairo_string_hash
    - strlen
    - _cairo_error
    - free
    - CAIRO_MUTEX_UNLOCK
    - _cairo_hash_table_insert
    - _cairo_hash_table_create
    - _cairo_hash_table_lookup
    - CAIRO_INJECT_FAULT
    - likely
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_intern_string (const char **str_inout, int len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_hash_table_remove
      Src: /src/cairo/src/cairo-misc.c:1197,1
    - Dst: free
      Src: /src/cairo/src/cairo-misc.c:1198,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - entry
    - closure
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1199
      start: 1194
    functionDepth: 0
    functionLinenumber: 1194
    functionLinenumberEnd: 1199
    functionName: _intern_string_pluck
    functionSourceFile: /src/cairo/src/cairo-misc.c
    functionUses: []
    functionsReached:
    - _cairo_hash_table_remove
    - free
    linkageType: ''
    returnType: void
    signature: 'static void _intern_string_pluck (void *entry, void *closure) '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 52
    argCount: 1
    argNames:
    - f
    argTypes:
    - float
    constantsTouched: []
    func_position:
      end: 777
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 777
    functionName: _cairo_half_from_float
    functionSourceFile: /src/cairo/src/cairo-misc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: 'uint16_t _cairo_half_from_float (float f) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_get_locale_decimal_point
      Src: /src/cairo/src/cairo-misc.c:845,1
    - Dst: _cairo_isdigit
      Src: /src/cairo/src/cairo-misc.c:859,1
    - Dst: _cairo_isspace
      Src: /src/cairo/src/cairo-misc.c:853,1
    - Dst: assert
      Src: /src/cairo/src/cairo-misc.c:847,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-misc.c:846,1
    - Dst: strncpy
      Src: /src/cairo/src/cairo-misc.c:864,1
    - Dst: strtod
      Src: /src/cairo/src/cairo-misc.c:877,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 48
    argCount: 2
    argNames:
    - nptr
    - endptr
    argTypes:
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 886
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 886
    functionName: _cairo_strtod
    functionSourceFile: /src/cairo/src/cairo-misc.c
    functionUses: []
    functionsReached:
    - strtod
    - strlen
    - strncpy
    - _cairo_get_locale_decimal_point
    - _cairo_isdigit
    - assert
    - _cairo_isspace
    linkageType: ''
    returnType: double
    signature: 'double _cairo_strtod (const char *nptr, char **endptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - pq
    argTypes:
    - pqueue_t*
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: pqueue_fini
    functionSourceFile: /src/cairo/src/cairo-rectangular-scan-converter.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'static inline void pqueue_fini (pqueue_t *pq) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: UNROLL3
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:260,1
    - Dst: UNROLL3
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:271,1
    - Dst: longjmp
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:286,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:285,1
    - Dst: _cairo_freepool_alloc
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:284,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:287,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 4
    argNames:
    - sweep
    - x
    - covered
    - uncovered
    argTypes:
    - sweep_line_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 306
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 306
    functionName: add_cell
    functionSourceFile: /src/cairo/src/cairo-rectangular-scan-converter.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_freepool_alloc
    - UNROLL3
    - longjmp
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'static inline void add_cell (sweep_line_t *sweep, int x, int covered,
      int uncovered) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_STACK_ARRAY_LENGTH
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:658,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:666,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:664,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:667,1
    - Dst: generate_box
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:672,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:675,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:675,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:676,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:678,1
    - Dst: rectangle_sort
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:690,1
    - Dst: free
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:696,1
    - Dst: generate
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:693,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:679,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 2
    argNames:
    - converter
    - renderer
    argTypes:
    - void*
    - cairo_span_renderer_t*
    constantsTouched: []
    func_position:
      end: 699
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 699
    functionName: _cairo_rectangular_scan_converter_generate
    functionSourceFile: /src/cairo/src/cairo-rectangular-scan-converter.c
    functionUses: []
    functionsReached:
    - generate
    - CAIRO_STACK_ARRAY_LENGTH
    - _cairo_fixed_integer_part
    - _cairo_error
    - rectangle_sort
    - free
    - ARRAY_LENGTH
    - _cairo_malloc_ab
    - generate_box
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_rectangular_scan_converter_generate (void\t\
      \t\t*converter,\t\t\t\t\t cairo_span_renderer_t\t*renderer) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:136,1
    - Dst: _cairo_realloc_ab
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:144,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:141,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:147,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:138,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - pq
    argTypes:
    - pqueue_t*
    constantsTouched: []
    func_position:
      end: 153
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 153
    functionName: pqueue_grow
    functionSourceFile: /src/cairo/src/cairo-rectangular-scan-converter.c
    functionUses: []
    functionsReached:
    - _cairo_realloc_ab
    - memcpy
    - _cairo_malloc_ab
    - unlikely
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t pqueue_grow (pqueue_t *pq) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:346,1
    - Dst: add_cell
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:348,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:352,1
    - Dst: _cairo_fixed_fractional_part
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:347,1
    - Dst: _cairo_fixed_fractional_part
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:353,1
    - Dst: add_cell
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:354,1
    - Dst: free
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:367,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:369,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:370,1
    - Dst: longjmp
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:371,1
    - Dst: _cairo_freepool_reset
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:400,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:371,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 108
    argCount: 1
    argNames:
    - sweep
    argTypes:
    - sweep_line_t*
    constantsTouched: []
    func_position:
      end: 418
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 418
    functionName: _active_edges_to_spans
    functionSourceFile: /src/cairo/src/cairo-rectangular-scan-converter.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_integer_part
    - _cairo_error
    - add_cell
    - free
    - _cairo_fixed_fractional_part
    - _cairo_freepool_reset
    - longjmp
    - _cairo_malloc_ab
    - unlikely
    linkageType: ''
    returnType: void
    signature: "static inline void _active_edges_to_spans (sweep_line_t\t*sweep) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_malloc_ab_plus_c
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:712,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:716,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 729
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 729
    functionName: _allocate_rectangle
    functionSourceFile: /src/cairo/src/cairo-rectangular-scan-converter.c
    functionUses: []
    functionsReached:
    - _cairo_malloc_ab_plus_c
    - unlikely
    linkageType: ''
    returnType: rectangle_t*
    signature: 'static rectangle_t *_allocate_rectangle (cairo_rectangular_scan_converter_t
      *self) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:161,1
    - Dst: pqueue_grow
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:162,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:164,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:162,1
    - Dst: longjmp
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:163,1
    - Dst: rectangle_compare_stop
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:170,1
    - Dst: PQ_PARENT_INDEX
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:171,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - sweep
    - rectangle
    argTypes:
    - sweep_line_t*
    - rectangle_t*
    constantsTouched: []
    func_position:
      end: 178
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 178
    functionName: pqueue_push
    functionSourceFile: /src/cairo/src/cairo-rectangular-scan-converter.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - rectangle_compare_stop
    - PQ_PARENT_INDEX
    - pqueue_grow
    - longjmp
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'static inline void pqueue_push (sweep_line_t *sweep, rectangle_t *rectangle) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pqueue_pop
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:430,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - sweep
    - rectangle
    argTypes:
    - sweep_line_t*
    - rectangle_t*
    constantsTouched: []
    func_position:
      end: 431
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 431
    functionName: sweep_line_delete
    functionSourceFile: /src/cairo/src/cairo-rectangular-scan-converter.c
    functionUses: []
    functionsReached:
    - pqueue_pop
    linkageType: ''
    returnType: void
    signature: "static inline void sweep_line_delete (sweep_line_t\t*sweep,\t\t\t\
      \ rectangle_t\t*rectangle) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _active_edges_to_spans
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:476,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:482,1
    - Dst: longjmp
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:483,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - sweep_line
    - renderer
    - height
    argTypes:
    - sweep_line_t*
    - cairo_span_renderer_t*
    - int
    constantsTouched: []
    func_position:
      end: 484
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 484
    functionName: render_rows
    functionSourceFile: /src/cairo/src/cairo-rectangular-scan-converter.c
    functionUses: []
    functionsReached:
    - _active_edges_to_spans
    - longjmp
    - unlikely
    linkageType: ''
    returnType: void
    signature: "static void render_rows (sweep_line_t *sweep_line,\t cairo_span_renderer_t\
      \ *renderer,\t int height) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - rectangle_t*
    - rectangle_t*
    constantsTouched: []
    func_position:
      end: 103
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 103
    functionName: rectangle_compare_start
    functionSourceFile: /src/cairo/src/cairo-rectangular-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "static inline int rectangle_compare_start (const rectangle_t *a,\t\
      \t\t const rectangle_t *b) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PQ_LEFT_CHILD_INDEX
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:194,1
    - Dst: rectangle_compare_stop
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:204,1
    - Dst: rectangle_compare_stop
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:198,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 1
    argNames:
    - pq
    argTypes:
    - pqueue_t*
    constantsTouched: []
    func_position:
      end: 210
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 210
    functionName: pqueue_pop
    functionSourceFile: /src/cairo/src/cairo-rectangular-scan-converter.c
    functionUses: []
    functionsReached:
    - PQ_LEFT_CHILD_INDEX
    - rectangle_compare_stop
    linkageType: ''
    returnType: void
    signature: 'static inline void pqueue_pop (pqueue_t *pq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UNROLL3
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:443,1
    - Dst: UNROLL3
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:451,1
    - Dst: pqueue_push
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:466,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - sweep
    - rectangle
    argTypes:
    - sweep_line_t*
    - rectangle_t*
    constantsTouched: []
    func_position:
      end: 467
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 467
    functionName: sweep_line_insert
    functionSourceFile: /src/cairo/src/cairo-rectangular-scan-converter.c
    functionUses: []
    functionsReached:
    - UNROLL3
    - pqueue_push
    linkageType: ''
    returnType: void
    signature: "static inline void sweep_line_insert (sweep_line_t\t*sweep,\t\t rectangle_t\t\
      *rectangle) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:497,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:502,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:496,1
    - Dst: render_rows
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:506,1
    - Dst: sweep_line_delete
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:524,1
    - Dst: peek_stop
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:525,1
    - Dst: render_rows
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:539,1
    - Dst: sweep_line_delete
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:555,1
    - Dst: peek_stop
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:556,1
    - Dst: render_rows
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:563,1
    - Dst: sweep_line_init
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:495,1
    - Dst: render_rows
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:551,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:561,1
    - Dst: sweep_line_delete
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:571,1
    - Dst: peek_stop
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:572,1
    - Dst: sweep_line_fini
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:580,1
    - Dst: render_rows
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:520,1
    - Dst: render_rows
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:534,1
    - Dst: render_rows
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:568,1
    - Dst: setjmp
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:499,1
    - Dst: sweep_line_insert
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:512,1
    - Dst: peek_stop
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:522,1
    - Dst: sweep_line_delete
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:542,1
    - Dst: peek_stop
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:543,1
    - Dst: peek_stop
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:553,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 74
    argCount: 3
    argNames:
    - self
    - renderer
    - rectangles
    argTypes:
    - cairo_rectangular_scan_converter_t*
    - cairo_span_renderer_t*
    - rectangle_t**
    constantsTouched: []
    func_position:
      end: 583
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 583
    functionName: generate
    functionSourceFile: /src/cairo/src/cairo-rectangular-scan-converter.c
    functionUses: []
    functionsReached:
    - setjmp
    - _cairo_fixed_integer_part
    - sweep_line_init
    - sweep_line_delete
    - render_rows
    - sweep_line_fini
    - sweep_line_insert
    - peek_stop
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t generate (cairo_rectangular_scan_converter_t\
      \ *self,\t cairo_span_renderer_t\t*renderer,\t rectangle_t **rectangles) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_box_from_rectangle
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:781,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - self
    - extents
    argTypes:
    - cairo_rectangular_scan_converter_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 790
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 790
    functionName: _cairo_rectangular_scan_converter_init
    functionSourceFile: /src/cairo/src/cairo-rectangular-scan-converter.c
    functionUses: []
    functionsReached:
    - _cairo_box_from_rectangle
    linkageType: ''
    returnType: void
    signature: "void _cairo_rectangular_scan_converter_init (cairo_rectangular_scan_converter_t\
      \ *self,\t\t\t\t\tconst cairo_rectangle_int_t *extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: peek_stop
    functionSourceFile: /src/cairo/src/cairo-rectangular-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: rectangle_t*
    signature: 'static inline rectangle_t *peek_stop (sweep_line_t *sweep) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:591,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:594,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:608,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:592,1
    - Dst: _cairo_fixed_fractional_part
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:597,1
    - Dst: _cairo_fixed_fractional_part
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:611,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 5
    argNames:
    - renderer
    - r
    - y
    - h
    - coverage
    argTypes:
    - cairo_span_renderer_t*
    - rectangle_t*
    - int
    - int
    - uint16_t
    constantsTouched: []
    func_position:
      end: 625
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 625
    functionName: generate_row
    functionSourceFile: /src/cairo/src/cairo-rectangular-scan-converter.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_is_integer
    - _cairo_fixed_fractional_part
    - _cairo_fixed_integer_part
    linkageType: ''
    returnType: void
    signature: "static void generate_row(cairo_span_renderer_t *renderer,\t\t\t const\
      \ rectangle_t *r,\t\t\t int y, int h,\t\t\t uint16_t coverage) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _allocate_rectangle
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:738,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:739,1
    - Dst: MIN
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:744,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:740,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:743,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:745,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:750,1
    - Dst: _cairo_fixed_integer_floor
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:751,1
    - Dst: MIN
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:752,1
    - Dst: _cairo_fixed_integer_floor
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:753,1
    - Dst: likely
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:754,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - self
    - box
    - dir
    argTypes:
    - cairo_rectangular_scan_converter_t*
    - cairo_box_t*
    - int
    constantsTouched: []
    func_position:
      end: 760
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 760
    functionName: _cairo_rectangular_scan_converter_add_box
    functionSourceFile: /src/cairo/src/cairo-rectangular-scan-converter.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_fixed_integer_floor
    - MIN
    - MAX
    - _allocate_rectangle
    - likely
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_rectangular_scan_converter_add_box (cairo_rectangular_scan_converter_t\
      \ *self,\t\t\t\t\t const cairo_box_t *box,\t\t\t\t\t int dir) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:632,1
    - Dst: _cairo_fixed_fractional_part
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:637,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:633,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:635,1
    - Dst: generate_row
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:636,1
    - Dst: generate_row
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:642,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:644,1
    - Dst: generate_row
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:645,1
    - Dst: _cairo_fixed_fractional_part
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:646,1
    - Dst: generate_row
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:648,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - self
    - renderer
    argTypes:
    - cairo_rectangular_scan_converter_t*
    - cairo_span_renderer_t*
    constantsTouched: []
    func_position:
      end: 651
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 651
    functionName: generate_box
    functionSourceFile: /src/cairo/src/cairo-rectangular-scan-converter.c
    functionUses: []
    functionsReached:
    - generate_row
    - _cairo_fixed_is_integer
    - _cairo_fixed_fractional_part
    - _cairo_fixed_integer_part
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t generate_box (cairo_rectangular_scan_converter_t\
      \ *self,\t cairo_span_renderer_t\t*renderer) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:770,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 1
    argNames:
    - converter
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 772
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 772
    functionName: _cairo_rectangular_scan_converter_destroy
    functionSourceFile: /src/cairo/src/cairo-rectangular-scan-converter.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_rectangular_scan_converter_destroy (void *converter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - rectangle_t*
    - rectangle_t*
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: rectangle_compare_stop
    functionSourceFile: /src/cairo/src/cairo-rectangular-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "static inline int rectangle_compare_stop (const rectangle_t *a,\t\t\
      \tconst rectangle_t *b) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_freepool_init
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:229,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:232,1
    - Dst: pqueue_init
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:239,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - sweep
    argTypes:
    - sweep_line_t*
    constantsTouched: []
    func_position:
      end: 240
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 240
    functionName: sweep_line_init
    functionSourceFile: /src/cairo/src/cairo-rectangular-scan-converter.c
    functionUses: []
    functionsReached:
    - ARRAY_LENGTH
    - _cairo_freepool_init
    - pqueue_init
    linkageType: ''
    returnType: void
    signature: 'static void sweep_line_init (sweep_line_t *sweep) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pq
    argTypes:
    - pqueue_t*
    constantsTouched: []
    func_position:
      end: 120
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionName: pqueue_init
    functionSourceFile: /src/cairo/src/cairo-rectangular-scan-converter.c
    functionUses: []
    functionsReached:
    - ARRAY_LENGTH
    linkageType: ''
    returnType: void
    signature: 'static inline void pqueue_init (pqueue_t *pq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_freepool_fini
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:245,1
    - Dst: pqueue_fini
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:246,1
    - Dst: free
      Src: /src/cairo/src/cairo-rectangular-scan-converter.c:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - sweep
    argTypes:
    - sweep_line_t*
    constantsTouched: []
    func_position:
      end: 250
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 250
    functionName: sweep_line_fini
    functionSourceFile: /src/cairo/src/cairo-rectangular-scan-converter.c
    functionUses: []
    functionsReached:
    - _cairo_freepool_fini
    - free
    - pqueue_fini
    linkageType: ''
    returnType: void
    signature: 'static void sweep_line_fini (sweep_line_t *sweep) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - cairo_uint64_t
    constantsTouched: []
    func_position:
      end: 81
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 81
    functionName: uint64_shift32
    functionSourceFile: /src/cairo/src/cairo-wideint.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_uint64_t
    signature: 'static cairo_uint64_t uint64_shift32 (cairo_uint64_t i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - i
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 93
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 93
    functionName: _cairo_double_to_uint64
    functionSourceFile: /src/cairo/src/cairo-wideint.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_uint64_t
    signature: 'cairo_uint64_t _cairo_double_to_uint64 (double i) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - a
    - shift
    argTypes:
    - cairo_uint64_t
    - int
    constantsTouched: []
    func_position:
      end: 257
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 257
    functionName: _cairo_uint64_rsl
    functionSourceFile: /src/cairo/src/cairo-wideint.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_uint64_t
    signature: 'cairo_uint64_t _cairo_uint64_rsl (cairo_uint64_t a, int shift) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uint64_lo32
      Src: /src/cairo/src/cairo-wideint.c:467,1
    - Dst: uint64_hi32
      Src: /src/cairo/src/cairo-wideint.c:470,1
    - Dst: uint64_hi32
      Src: /src/cairo/src/cairo-wideint.c:468,1
    - Dst: uint64_lo32
      Src: /src/cairo/src/cairo-wideint.c:469,1
    - Dst: _cairo_uint32x32_64_mul
      Src: /src/cairo/src/cairo-wideint.c:472,1
    - Dst: _cairo_uint32x32_64_mul
      Src: /src/cairo/src/cairo-wideint.c:473,1
    - Dst: _cairo_uint32x32_64_mul
      Src: /src/cairo/src/cairo-wideint.c:474,1
    - Dst: _cairo_uint32x32_64_mul
      Src: /src/cairo/src/cairo-wideint.c:475,1
    - Dst: _cairo_uint64_add
      Src: /src/cairo/src/cairo-wideint.c:477,1
    - Dst: uint64_hi
      Src: /src/cairo/src/cairo-wideint.c:477,1
    - Dst: _cairo_uint64_add
      Src: /src/cairo/src/cairo-wideint.c:482,1
    - Dst: _cairo_uint64_lt
      Src: /src/cairo/src/cairo-wideint.c:479,1
    - Dst: uint64_lo
      Src: /src/cairo/src/cairo-wideint.c:484,1
    - Dst: _cairo_uint64_add
      Src: /src/cairo/src/cairo-wideint.c:478,1
    - Dst: uint64_shift32
      Src: /src/cairo/src/cairo-wideint.c:483,1
    - Dst: _cairo_uint64_add
      Src: /src/cairo/src/cairo-wideint.c:483,1
    - Dst: _cairo_uint64_add
      Src: /src/cairo/src/cairo-wideint.c:480,1
    - Dst: uint64_hi
      Src: /src/cairo/src/cairo-wideint.c:482,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_uint64_t
    - cairo_uint64_t
    constantsTouched: []
    func_position:
      end: 486
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 486
    functionName: _cairo_uint64x64_128_mul
    functionSourceFile: /src/cairo/src/cairo-wideint.c
    functionUses: []
    functionsReached:
    - uint64_lo32
    - _cairo_uint32x32_64_mul
    - uint64_lo
    - uint64_hi32
    - _cairo_uint64_lt
    - _cairo_uint64_add
    - uint64_hi
    - uint64_shift32
    linkageType: ''
    returnType: cairo_uint128_t
    signature: 'cairo_uint128_t _cairo_uint64x64_128_mul (cairo_uint64_t a, cairo_uint64_t
      b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_uint32_to_uint64
      Src: /src/cairo/src/cairo-wideint.c:540,1
    - Dst: _cairo_uint64_rsl
      Src: /src/cairo/src/cairo-wideint.c:547,1
    - Dst: _cairo_uint64_rsl
      Src: /src/cairo/src/cairo-wideint.c:545,1
    - Dst: _cairo_uint64_add
      Src: /src/cairo/src/cairo-wideint.c:545,1
    - Dst: _cairo_uint64_lsl
      Src: /src/cairo/src/cairo-wideint.c:546,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - a
    - shift
    argTypes:
    - cairo_uint128_t
    - int
    constantsTouched: []
    func_position:
      end: 550
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 550
    functionName: _cairo_uint128_rsl
    functionSourceFile: /src/cairo/src/cairo-wideint.c
    functionUses: []
    functionsReached:
    - _cairo_uint64_rsl
    - _cairo_uint64_lsl
    - _cairo_uint64_add
    - _cairo_uint32_to_uint64
    linkageType: ''
    returnType: cairo_uint128_t
    signature: 'cairo_uint128_t _cairo_uint128_rsl (cairo_uint128_t a, int shift) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - cairo_uint64_t
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: _cairo_uint64_to_double
    functionSourceFile: /src/cairo/src/cairo-wideint.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: 'double _cairo_uint64_to_double (cairo_uint64_t i) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_uint64x64_128_mul
      Src: /src/cairo/src/cairo-wideint.c:492,1
    - Dst: _cairo_int64_to_uint64
      Src: /src/cairo/src/cairo-wideint.c:492,1
    - Dst: _cairo_int64_negative
      Src: /src/cairo/src/cairo-wideint.c:494,1
    - Dst: _cairo_uint64_sub
      Src: /src/cairo/src/cairo-wideint.c:495,1
    - Dst: _cairo_int64_to_uint64
      Src: /src/cairo/src/cairo-wideint.c:493,1
    - Dst: _cairo_int64_to_uint64
      Src: /src/cairo/src/cairo-wideint.c:496,1
    - Dst: _cairo_int64_negative
      Src: /src/cairo/src/cairo-wideint.c:497,1
    - Dst: _cairo_uint64_sub
      Src: /src/cairo/src/cairo-wideint.c:498,1
    - Dst: _cairo_int64_to_uint64
      Src: /src/cairo/src/cairo-wideint.c:499,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_int64_t
    - cairo_int64_t
    constantsTouched: []
    func_position:
      end: 501
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 501
    functionName: _cairo_int64x64_128_mul
    functionSourceFile: /src/cairo/src/cairo-wideint.c
    functionUses: []
    functionsReached:
    - _cairo_int64_negative
    - _cairo_int64_to_uint64
    - _cairo_uint64_sub
    - _cairo_uint64x64_128_mul
    linkageType: ''
    returnType: cairo_int128_t
    signature: 'cairo_int128_t _cairo_int64x64_128_mul (cairo_int64_t a, cairo_int64_t
      b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_uint64_rsa
      Src: /src/cairo/src/cairo-wideint.c:558,1
    - Dst: _cairo_uint64_rsa
      Src: /src/cairo/src/cairo-wideint.c:565,1
    - Dst: _cairo_uint64_add
      Src: /src/cairo/src/cairo-wideint.c:563,1
    - Dst: _cairo_uint64_rsl
      Src: /src/cairo/src/cairo-wideint.c:563,1
    - Dst: _cairo_uint64_lsl
      Src: /src/cairo/src/cairo-wideint.c:564,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - a
    - shift
    argTypes:
    - cairo_int128_t
    - int
    constantsTouched: []
    func_position:
      end: 568
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 568
    functionName: _cairo_uint128_rsa
    functionSourceFile: /src/cairo/src/cairo-wideint.c
    functionUses: []
    functionsReached:
    - _cairo_uint64_rsl
    - _cairo_uint64_add
    - _cairo_uint64_rsa
    - _cairo_uint64_lsl
    linkageType: ''
    returnType: cairo_uint128_t
    signature: 'cairo_uint128_t _cairo_uint128_rsa (cairo_int128_t a, int shift) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_int128_negative
      Src: /src/cairo/src/cairo-wideint.c:821,1
    - Dst: _cairo_int64_negative
      Src: /src/cairo/src/cairo-wideint.c:822,1
    - Dst: _cairo_int128_negate
      Src: /src/cairo/src/cairo-wideint.c:828,1
    - Dst: _cairo_uint_96by64_32x64_divrem
      Src: /src/cairo/src/cairo-wideint.c:834,1
    - Dst: _cairo_int64_negate
      Src: /src/cairo/src/cairo-wideint.c:830,1
    - Dst: _cairo_uint64_eq
      Src: /src/cairo/src/cairo-wideint.c:835,1
    - Dst: _cairo_uint32s_to_uint64
      Src: /src/cairo/src/cairo-wideint.c:837,1
    - Dst: _cairo_int64_negate
      Src: /src/cairo/src/cairo-wideint.c:843,1
    - Dst: _cairo_int64_negate
      Src: /src/cairo/src/cairo-wideint.c:847,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - num
    - den
    argTypes:
    - cairo_int128_t
    - cairo_int64_t
    constantsTouched: []
    func_position:
      end: 851
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 851
    functionName: _cairo_int_96by64_32x64_divrem
    functionSourceFile: /src/cairo/src/cairo-wideint.c
    functionUses: []
    functionsReached:
    - _cairo_int64_negative
    - _cairo_uint_96by64_32x64_divrem
    - _cairo_int128_negate
    - _cairo_int64_negate
    - _cairo_uint32s_to_uint64
    - _cairo_uint64_eq
    - _cairo_int128_negative
    linkageType: ''
    returnType: cairo_quorem64_t
    signature: 'cairo_quorem64_t _cairo_int_96by64_32x64_divrem (cairo_int128_t num,
      cairo_int64_t den) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - num
    - den
    argTypes:
    - cairo_uint128_t
    - cairo_uint128_t
    constantsTouched: []
    func_position:
      end: 392
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 392
    functionName: _cairo_uint128_divrem
    functionSourceFile: /src/cairo/src/cairo-wideint.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_uquorem128_t
    signature: 'cairo_uquorem128_t _cairo_uint128_divrem (cairo_uint128_t num, cairo_uint128_t
      den) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - i
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 109
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 109
    functionName: _cairo_double_to_int64
    functionSourceFile: /src/cairo/src/cairo-wideint.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_int64_t
    signature: 'cairo_int64_t _cairo_double_to_int64 (double i) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_uint32_rsa
      Src: /src/cairo/src/cairo-wideint.c:267,1
    - Dst: _cairo_uint32_rsa
      Src: /src/cairo/src/cairo-wideint.c:273,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - a
    - shift
    argTypes:
    - cairo_int64_t
    - int
    constantsTouched: []
    func_position:
      end: 276
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 276
    functionName: _cairo_uint64_rsa
    functionSourceFile: /src/cairo/src/cairo-wideint.c
    functionUses: []
    functionsReached:
    - _cairo_uint32_rsa
    linkageType: ''
    returnType: cairo_int64_t
    signature: 'cairo_int64_t _cairo_uint64_rsa (cairo_int64_t a, int shift) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - a
    argTypes:
    - cairo_uint64_t
    constantsTouched: []
    func_position:
      end: 333
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 333
    functionName: _cairo_uint64_not
    functionSourceFile: /src/cairo/src/cairo-wideint.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_uint64_t
    signature: 'cairo_uint64_t _cairo_uint64_not (cairo_uint64_t a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_uint32_to_uint64
      Src: /src/cairo/src/cairo-wideint.c:401,1
    - Dst: _cairo_uint32_to_uint64
      Src: /src/cairo/src/cairo-wideint.c:402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 404
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 404
    functionName: _cairo_uint32_to_uint128
    functionSourceFile: /src/cairo/src/cairo-wideint.c
    functionUses: []
    functionsReached:
    - _cairo_uint32_to_uint64
    linkageType: ''
    returnType: cairo_uint128_t
    signature: 'cairo_uint128_t _cairo_uint32_to_uint128 (uint32_t i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_uint32_to_uint64
      Src: /src/cairo/src/cairo-wideint.c:422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - i
    argTypes:
    - cairo_uint64_t
    constantsTouched: []
    func_position:
      end: 424
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 424
    functionName: _cairo_uint64_to_uint128
    functionSourceFile: /src/cairo/src/cairo-wideint.c
    functionUses: []
    functionsReached:
    - _cairo_uint32_to_uint64
    linkageType: ''
    returnType: cairo_uint128_t
    signature: 'cairo_uint128_t _cairo_uint64_to_uint128 (cairo_uint64_t i) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_uint64_add
      Src: /src/cairo/src/cairo-wideint.c:441,1
    - Dst: _cairo_uint64_add
      Src: /src/cairo/src/cairo-wideint.c:444,1
    - Dst: _cairo_uint64_add
      Src: /src/cairo/src/cairo-wideint.c:442,1
    - Dst: _cairo_uint32_to_uint64
      Src: /src/cairo/src/cairo-wideint.c:444,1
    - Dst: _cairo_uint64_lt
      Src: /src/cairo/src/cairo-wideint.c:443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_uint128_t
    - cairo_uint128_t
    constantsTouched: []
    func_position:
      end: 446
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 446
    functionName: _cairo_uint128_add
    functionSourceFile: /src/cairo/src/cairo-wideint.c
    functionUses: []
    functionsReached:
    - _cairo_uint64_add
    - _cairo_uint32_to_uint64
    - _cairo_uint64_lt
    linkageType: ''
    returnType: cairo_uint128_t
    signature: 'cairo_uint128_t _cairo_uint128_add (cairo_uint128_t a, cairo_uint128_t
      b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_uint64_cmp
      Src: /src/cairo/src/cairo-wideint.c:593,1
    - Dst: _cairo_uint64_cmp
      Src: /src/cairo/src/cairo-wideint.c:596,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_uint128_t
    - cairo_uint128_t
    constantsTouched: []
    func_position:
      end: 597
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 597
    functionName: _cairo_uint128_cmp
    functionSourceFile: /src/cairo/src/cairo-wideint.c
    functionUses: []
    functionsReached:
    - _cairo_uint64_cmp
    linkageType: ''
    returnType: int
    signature: 'int _cairo_uint128_cmp (cairo_uint128_t a, cairo_uint128_t b) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_int128_negative
      Src: /src/cairo/src/cairo-wideint.c:677,1
    - Dst: _cairo_int128_negative
      Src: /src/cairo/src/cairo-wideint.c:678,1
    - Dst: _cairo_int128_negate
      Src: /src/cairo/src/cairo-wideint.c:683,1
    - Dst: _cairo_int128_negate
      Src: /src/cairo/src/cairo-wideint.c:685,1
    - Dst: _cairo_uint128_divrem
      Src: /src/cairo/src/cairo-wideint.c:686,1
    - Dst: _cairo_int128_negate
      Src: /src/cairo/src/cairo-wideint.c:688,1
    - Dst: _cairo_int128_negate
      Src: /src/cairo/src/cairo-wideint.c:692,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - num
    - den
    argTypes:
    - cairo_int128_t
    - cairo_int128_t
    constantsTouched: []
    func_position:
      end: 696
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 696
    functionName: _cairo_int128_divrem
    functionSourceFile: /src/cairo/src/cairo-wideint.c
    functionUses: []
    functionsReached:
    - _cairo_int128_negative
    - _cairo_uint128_divrem
    - _cairo_int128_negate
    linkageType: ''
    returnType: cairo_quorem128_t
    signature: 'cairo_quorem128_t _cairo_int128_divrem (cairo_int128_t num, cairo_int128_t
      den) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - cairo_int64_t
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: _cairo_int64_to_double
    functionSourceFile: /src/cairo/src/cairo-wideint.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: 'double _cairo_int64_to_double (cairo_int64_t i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_uint64_t
    - cairo_uint64_t
    constantsTouched: []
    func_position:
      end: 283
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 283
    functionName: _cairo_uint64_lt
    functionSourceFile: /src/cairo/src/cairo-wideint.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int _cairo_uint64_lt (cairo_uint64_t a, cairo_uint64_t b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - cairo_uint64_t
    constantsTouched: []
    func_position:
      end: 343
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 343
    functionName: _cairo_uint64_negate
    functionSourceFile: /src/cairo/src/cairo-wideint.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_uint64_t
    signature: 'cairo_uint64_t _cairo_uint64_negate (cairo_uint64_t a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_int32_to_int64
      Src: /src/cairo/src/cairo-wideint.c:411,1
    - Dst: _cairo_int32_to_int64
      Src: /src/cairo/src/cairo-wideint.c:412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - i
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 414
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 414
    functionName: _cairo_int32_to_int128
    functionSourceFile: /src/cairo/src/cairo-wideint.c
    functionUses: []
    functionsReached:
    - _cairo_int32_to_int64
    linkageType: ''
    returnType: cairo_int128_t
    signature: 'cairo_int128_t _cairo_int32_to_int128 (int32_t i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_int32_to_int64
      Src: /src/cairo/src/cairo-wideint.c:432,1
    - Dst: _cairo_int64_negative
      Src: /src/cairo/src/cairo-wideint.c:432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - cairo_int64_t
    constantsTouched: []
    func_position:
      end: 434
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 434
    functionName: _cairo_int64_to_int128
    functionSourceFile: /src/cairo/src/cairo-wideint.c
    functionUses: []
    functionsReached:
    - _cairo_int64_negative
    - _cairo_int32_to_int64
    linkageType: ''
    returnType: cairo_int128_t
    signature: 'cairo_int128_t _cairo_int64_to_int128 (cairo_int64_t i) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_uint64_sub
      Src: /src/cairo/src/cairo-wideint.c:453,1
    - Dst: _cairo_uint32_to_uint64
      Src: /src/cairo/src/cairo-wideint.c:456,1
    - Dst: _cairo_uint64_gt
      Src: /src/cairo/src/cairo-wideint.c:455,1
    - Dst: _cairo_uint64_sub
      Src: /src/cairo/src/cairo-wideint.c:454,1
    - Dst: _cairo_uint64_sub
      Src: /src/cairo/src/cairo-wideint.c:456,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_uint128_t
    - cairo_uint128_t
    constantsTouched: []
    func_position:
      end: 458
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 458
    functionName: _cairo_uint128_sub
    functionSourceFile: /src/cairo/src/cairo-wideint.c
    functionUses: []
    functionsReached:
    - _cairo_uint64_gt
    - _cairo_uint32_to_uint64
    - _cairo_uint64_sub
    linkageType: ''
    returnType: cairo_uint128_t
    signature: 'cairo_uint128_t _cairo_uint128_sub (cairo_uint128_t a, cairo_uint128_t
      b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_int128_negative
      Src: /src/cairo/src/cairo-wideint.c:602,1
    - Dst: _cairo_int128_negative
      Src: /src/cairo/src/cairo-wideint.c:604,1
    - Dst: _cairo_int128_negative
      Src: /src/cairo/src/cairo-wideint.c:604,1
    - Dst: _cairo_int128_negative
      Src: /src/cairo/src/cairo-wideint.c:602,1
    - Dst: _cairo_uint128_cmp
      Src: /src/cairo/src/cairo-wideint.c:607,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_int128_t
    - cairo_int128_t
    constantsTouched: []
    func_position:
      end: 608
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 608
    functionName: _cairo_int128_cmp
    functionSourceFile: /src/cairo/src/cairo-wideint.c
    functionUses: []
    functionsReached:
    - _cairo_uint128_cmp
    - _cairo_int128_negative
    linkageType: ''
    returnType: int
    signature: 'int _cairo_int128_cmp (cairo_int128_t a, cairo_int128_t b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - cairo_uint64_t
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: uint64_lo
    functionSourceFile: /src/cairo/src/cairo-wideint.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_uint64_t
    signature: 'static cairo_uint64_t uint64_lo (cairo_uint64_t i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 125
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 125
    functionName: _cairo_uint32_to_uint64
    functionSourceFile: /src/cairo/src/cairo-wideint.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_uint64_t
    signature: 'cairo_uint64_t _cairo_uint32_to_uint64 (uint32_t i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - h
    - l
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 145
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 145
    functionName: _cairo_uint32s_to_uint64
    functionSourceFile: /src/cairo/src/cairo-wideint.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_uint64_t
    signature: 'static cairo_uint64_t _cairo_uint32s_to_uint64 (uint32_t h, uint32_t
      l) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_uint64_t
    - cairo_uint64_t
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: _cairo_uint64_eq
    functionSourceFile: /src/cairo/src/cairo-wideint.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int _cairo_uint64_eq (cairo_uint64_t a, cairo_uint64_t b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_uint32_to_uint64
      Src: /src/cairo/src/cairo-wideint.c:355,1
    - Dst: _cairo_uint64_lsl
      Src: /src/cairo/src/cairo-wideint.c:360,1
    - Dst: _cairo_uint64_lsl
      Src: /src/cairo/src/cairo-wideint.c:361,1
    - Dst: _cairo_uint64_lt
      Src: /src/cairo/src/cairo-wideint.c:358,1
    - Dst: _cairo_uint32_to_uint64
      Src: /src/cairo/src/cairo-wideint.c:363,1
    - Dst: _cairo_uint64_le
      Src: /src/cairo/src/cairo-wideint.c:368,1
    - Dst: _cairo_uint64_sub
      Src: /src/cairo/src/cairo-wideint.c:370,1
    - Dst: _cairo_uint64_add
      Src: /src/cairo/src/cairo-wideint.c:371,1
    - Dst: _cairo_uint64_rsl
      Src: /src/cairo/src/cairo-wideint.c:373,1
    - Dst: _cairo_uint64_rsl
      Src: /src/cairo/src/cairo-wideint.c:374,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - num
    - den
    argTypes:
    - cairo_uint64_t
    - cairo_uint64_t
    constantsTouched: []
    func_position:
      end: 379
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 379
    functionName: _cairo_uint64_divrem
    functionSourceFile: /src/cairo/src/cairo-wideint.c
    functionUses: []
    functionsReached:
    - _cairo_uint64_sub
    - _cairo_uint64_rsl
    - _cairo_uint64_lsl
    - _cairo_uint32_to_uint64
    - _cairo_uint64_lt
    - _cairo_uint64_add
    - _cairo_uint64_le
    linkageType: ''
    returnType: cairo_uquorem64_t
    signature: 'cairo_uquorem64_t _cairo_uint64_divrem (cairo_uint64_t num, cairo_uint64_t
      den) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_uint64_lt
      Src: /src/cairo/src/cairo-wideint.c:573,1
    - Dst: _cairo_uint64_lt
      Src: /src/cairo/src/cairo-wideint.c:575,1
    - Dst: _cairo_uint64_eq
      Src: /src/cairo/src/cairo-wideint.c:574,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_uint128_t
    - cairo_uint128_t
    constantsTouched: []
    func_position:
      end: 576
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 576
    functionName: _cairo_uint128_lt
    functionSourceFile: /src/cairo/src/cairo-wideint.c
    functionUses: []
    functionsReached:
    - _cairo_uint64_eq
    - _cairo_uint64_lt
    linkageType: ''
    returnType: int
    signature: 'int _cairo_uint128_lt (cairo_uint128_t a, cairo_uint128_t b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_uint64_eq
      Src: /src/cairo/src/cairo-wideint.c:613,1
    - Dst: _cairo_uint64_eq
      Src: /src/cairo/src/cairo-wideint.c:614,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_uint128_t
    - cairo_uint128_t
    constantsTouched: []
    func_position:
      end: 615
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 615
    functionName: _cairo_uint128_eq
    functionSourceFile: /src/cairo/src/cairo-wideint.c
    functionUses: []
    functionsReached:
    - _cairo_uint64_eq
    linkageType: ''
    returnType: int
    signature: 'int _cairo_uint128_eq (cairo_uint128_t a, cairo_uint128_t b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_uint32_to_uint128
      Src: /src/cairo/src/cairo-wideint.c:630,1
    - Dst: _cairo_uint128_lsl
      Src: /src/cairo/src/cairo-wideint.c:636,1
    - Dst: _cairo_uint128_lt
      Src: /src/cairo/src/cairo-wideint.c:633,1
    - Dst: _cairo_uint128_lsl
      Src: /src/cairo/src/cairo-wideint.c:635,1
    - Dst: _cairo_msbset64
      Src: /src/cairo/src/cairo-wideint.c:633,1
    - Dst: _cairo_uint32_to_uint128
      Src: /src/cairo/src/cairo-wideint.c:638,1
    - Dst: _cairo_uint128_ne
      Src: /src/cairo/src/cairo-wideint.c:641,1
    - Dst: _cairo_uint32_to_uint128
      Src: /src/cairo/src/cairo-wideint.c:641,1
    - Dst: _cairo_uint128_le
      Src: /src/cairo/src/cairo-wideint.c:643,1
    - Dst: _cairo_uint128_sub
      Src: /src/cairo/src/cairo-wideint.c:645,1
    - Dst: _cairo_uint128_add
      Src: /src/cairo/src/cairo-wideint.c:646,1
    - Dst: _cairo_uint128_rsl
      Src: /src/cairo/src/cairo-wideint.c:648,1
    - Dst: _cairo_uint128_rsl
      Src: /src/cairo/src/cairo-wideint.c:649,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - num
    - den
    argTypes:
    - cairo_uint128_t
    - cairo_uint128_t
    constantsTouched: []
    func_position:
      end: 654
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 654
    functionName: _cairo_uint128_divrem
    functionSourceFile: /src/cairo/src/cairo-wideint.c
    functionUses: []
    functionsReached:
    - _cairo_uint128_le
    - _cairo_uint128_rsl
    - _cairo_uint128_add
    - _cairo_uint128_lsl
    - _cairo_uint32_to_uint128
    - _cairo_msbset64
    - _cairo_uint128_lt
    - _cairo_uint128_sub
    - _cairo_uint128_ne
    linkageType: ''
    returnType: cairo_uquorem128_t
    signature: 'cairo_uquorem128_t _cairo_uint128_divrem (cairo_uint128_t num, cairo_uint128_t
      den) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - cairo_uint64_t
    constantsTouched: []
    func_position:
      end: 71
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 71
    functionName: uint64_hi
    functionSourceFile: /src/cairo/src/cairo-wideint.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_uint64_t
    signature: 'static cairo_uint64_t uint64_hi (cairo_uint64_t i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - i
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 135
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 135
    functionName: _cairo_int32_to_int64
    functionSourceFile: /src/cairo/src/cairo-wideint.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_int64_t
    signature: 'cairo_int64_t _cairo_int32_to_int64 (int32_t i) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_uint64_t
    - cairo_uint64_t
    constantsTouched: []
    func_position:
      end: 157
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 157
    functionName: _cairo_uint64_add
    functionSourceFile: /src/cairo/src/cairo-wideint.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_uint64_t
    signature: 'cairo_uint64_t _cairo_uint64_add (cairo_uint64_t a, cairo_uint64_t
      b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_int64_negative
      Src: /src/cairo/src/cairo-wideint.c:294,1
    - Dst: _cairo_int64_negative
      Src: /src/cairo/src/cairo-wideint.c:296,1
    - Dst: _cairo_int64_negative
      Src: /src/cairo/src/cairo-wideint.c:294,1
    - Dst: _cairo_uint64_lt
      Src: /src/cairo/src/cairo-wideint.c:298,1
    - Dst: _cairo_int64_negative
      Src: /src/cairo/src/cairo-wideint.c:296,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_int64_t
    - cairo_int64_t
    constantsTouched: []
    func_position:
      end: 299
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 299
    functionName: _cairo_int64_lt
    functionSourceFile: /src/cairo/src/cairo-wideint.c
    functionUses: []
    functionsReached:
    - _cairo_int64_negative
    - _cairo_uint64_lt
    linkageType: ''
    returnType: int
    signature: 'int _cairo_int64_lt (cairo_int64_t a, cairo_int64_t b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_int128_negative
      Src: /src/cairo/src/cairo-wideint.c:581,1
    - Dst: _cairo_int128_negative
      Src: /src/cairo/src/cairo-wideint.c:581,1
    - Dst: _cairo_uint128_lt
      Src: /src/cairo/src/cairo-wideint.c:585,1
    - Dst: _cairo_int128_negative
      Src: /src/cairo/src/cairo-wideint.c:583,1
    - Dst: _cairo_int128_negative
      Src: /src/cairo/src/cairo-wideint.c:583,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_int128_t
    - cairo_int128_t
    constantsTouched: []
    func_position:
      end: 586
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 586
    functionName: _cairo_int128_lt
    functionSourceFile: /src/cairo/src/cairo-wideint.c
    functionUses: []
    functionsReached:
    - _cairo_int128_negative
    - _cairo_uint128_lt
    linkageType: ''
    returnType: int
    signature: 'int _cairo_int128_lt (cairo_int128_t a, cairo_int128_t b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_uint64_not
      Src: /src/cairo/src/cairo-wideint.c:659,1
    - Dst: _cairo_uint32_to_uint128
      Src: /src/cairo/src/cairo-wideint.c:661,1
    - Dst: _cairo_uint128_add
      Src: /src/cairo/src/cairo-wideint.c:661,1
    - Dst: _cairo_uint64_not
      Src: /src/cairo/src/cairo-wideint.c:660,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - a
    argTypes:
    - cairo_uint128_t
    constantsTouched: []
    func_position:
      end: 662
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 662
    functionName: _cairo_uint128_negate
    functionSourceFile: /src/cairo/src/cairo-wideint.c
    functionUses: []
    functionsReached:
    - _cairo_uint128_add
    - _cairo_uint64_not
    - _cairo_uint32_to_uint128
    linkageType: ''
    returnType: cairo_uint128_t
    signature: 'cairo_uint128_t _cairo_uint128_negate (cairo_uint128_t a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_uint64_not
      Src: /src/cairo/src/cairo-wideint.c:667,1
    - Dst: _cairo_uint64_not
      Src: /src/cairo/src/cairo-wideint.c:668,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - a
    argTypes:
    - cairo_uint128_t
    constantsTouched: []
    func_position:
      end: 670
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 670
    functionName: _cairo_uint128_not
    functionSourceFile: /src/cairo/src/cairo-wideint.c
    functionUses: []
    functionsReached:
    - _cairo_uint64_not
    linkageType: ''
    returnType: cairo_uint128_t
    signature: 'cairo_uint128_t _cairo_uint128_not (cairo_uint128_t a) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_uint128_rsl
      Src: /src/cairo/src/cairo-wideint.c:718,1
    - Dst: _cairo_uint64_ge
      Src: /src/cairo/src/cairo-wideint.c:725,1
    - Dst: _cairo_uint128_to_uint32
      Src: /src/cairo/src/cairo-wideint.c:742,1
    - Dst: _cairo_uint32x32_64_mul
      Src: /src/cairo/src/cairo-wideint.c:788,1
    - Dst: _cairo_uint32_to_uint64
      Src: /src/cairo/src/cairo-wideint.c:775,1
    - Dst: _cairo_uint64_divrem
      Src: /src/cairo/src/cairo-wideint.c:788,1
    - Dst: _cairo_uint64_to_uint32
      Src: /src/cairo/src/cairo-wideint.c:791,1
    - Dst: _cairo_uint64_add
      Src: /src/cairo/src/cairo-wideint.c:804,1
    - Dst: _cairo_uint64_lt
      Src: /src/cairo/src/cairo-wideint.c:806,1
    - Dst: _cairo_uint32_to_uint64
      Src: /src/cairo/src/cairo-wideint.c:812,1
    - Dst: _cairo_uint64_divrem
      Src: /src/cairo/src/cairo-wideint.c:732,1
    - Dst: _cairo_uint128_to_uint64
      Src: /src/cairo/src/cairo-wideint.c:732,1
    - Dst: uint64_hi32
      Src: /src/cairo/src/cairo-wideint.c:743,1
    - Dst: _cairo_uint64_to_uint32
      Src: /src/cairo/src/cairo-wideint.c:744,1
    - Dst: _cairo_uint64_divrem
      Src: /src/cairo/src/cairo-wideint.c:775,1
    - Dst: uint64_hi32
      Src: /src/cairo/src/cairo-wideint.c:780,1
    - Dst: _cairo_uint64_to_uint32
      Src: /src/cairo/src/cairo-wideint.c:776,1
    - Dst: _cairo_uint64_ge
      Src: /src/cairo/src/cairo-wideint.c:796,1
    - Dst: _cairo_uint64_sub
      Src: /src/cairo/src/cairo-wideint.c:808,1
    - Dst: _cairo_uint128_to_uint64
      Src: /src/cairo/src/cairo-wideint.c:718,1
    - Dst: _cairo_uint64_lt
      Src: /src/cairo/src/cairo-wideint.c:729,1
    - Dst: _cairo_uint64_to_uint32
      Src: /src/cairo/src/cairo-wideint.c:777,1
    - Dst: _cairo_uint64_to_uint32
      Src: /src/cairo/src/cairo-wideint.c:781,1
    - Dst: _cairo_uint64_divrem
      Src: /src/cairo/src/cairo-wideint.c:790,1
    - Dst: _cairo_uint32s_to_uint64
      Src: /src/cairo/src/cairo-wideint.c:790,1
    - Dst: _cairo_uint32s_to_uint64
      Src: /src/cairo/src/cairo-wideint.c:795,1
    - Dst: _cairo_uint32s_to_uint64
      Src: /src/cairo/src/cairo-wideint.c:713,1
    - Dst: _cairo_uint32s_to_uint64
      Src: /src/cairo/src/cairo-wideint.c:721,1
    - Dst: _cairo_uint64_sub
      Src: /src/cairo/src/cairo-wideint.c:797,1
    - Dst: _cairo_uint64_ge
      Src: /src/cairo/src/cairo-wideint.c:805,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 59
    argCount: 2
    argNames:
    - num
    - den
    argTypes:
    - cairo_uint128_t
    - cairo_uint64_t
    constantsTouched: []
    func_position:
      end: 816
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 816
    functionName: _cairo_uint_96by64_32x64_divrem
    functionSourceFile: /src/cairo/src/cairo-wideint.c
    functionUses: []
    functionsReached:
    - _cairo_uint64_to_uint32
    - _cairo_uint128_rsl
    - _cairo_uint64_sub
    - _cairo_uint32x32_64_mul
    - _cairo_uint64_divrem
    - uint64_hi32
    - _cairo_uint64_ge
    - _cairo_uint32_to_uint64
    - _cairo_uint64_lt
    - _cairo_uint128_to_uint32
    - _cairo_uint32s_to_uint64
    - _cairo_uint128_to_uint64
    - _cairo_uint64_add
    linkageType: ''
    returnType: cairo_uquorem64_t
    signature: "cairo_uquorem64_t _cairo_uint_96by64_32x64_divrem (cairo_uint128_t\
      \ num,\t\t\t\t cairo_uint64_t den) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_uint64_t
    - cairo_uint64_t
    constantsTouched: []
    func_position:
      end: 169
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 169
    functionName: _cairo_uint64_sub
    functionSourceFile: /src/cairo/src/cairo-wideint.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_uint64_t
    signature: 'cairo_uint64_t _cairo_uint64_sub (cairo_uint64_t a, cairo_uint64_t
      b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uint32_lo
      Src: /src/cairo/src/cairo-wideint.c:183,1
    - Dst: uint32_hi
      Src: /src/cairo/src/cairo-wideint.c:186,1
    - Dst: uint32_lo
      Src: /src/cairo/src/cairo-wideint.c:185,1
    - Dst: uint32_hi
      Src: /src/cairo/src/cairo-wideint.c:184,1
    - Dst: uint32_hi
      Src: /src/cairo/src/cairo-wideint.c:193,1
    - Dst: uint32_hi
      Src: /src/cairo/src/cairo-wideint.c:198,1
    - Dst: uint32_lo
      Src: /src/cairo/src/cairo-wideint.c:199,1
    - Dst: uint32_lo
      Src: /src/cairo/src/cairo-wideint.c:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 201
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 201
    functionName: _cairo_uint32x32_64_mul
    functionSourceFile: /src/cairo/src/cairo-wideint.c
    functionUses: []
    functionsReached:
    - uint32_lo
    - uint32_hi
    linkageType: ''
    returnType: cairo_uint64_t
    signature: 'cairo_uint64_t _cairo_uint32x32_64_mul (uint32_t a, uint32_t b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_uint32x32_64_mul
      Src: /src/cairo/src/cairo-wideint.c:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_uint64_t
    - cairo_uint64_t
    constantsTouched: []
    func_position:
      end: 223
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 223
    functionName: _cairo_uint64_mul
    functionSourceFile: /src/cairo/src/cairo-wideint.c
    functionUses: []
    functionsReached:
    - _cairo_uint32x32_64_mul
    linkageType: ''
    returnType: cairo_uint64_t
    signature: 'cairo_uint64_t _cairo_uint64_mul (cairo_uint64_t a, cairo_uint64_t
      b) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_uint64_t
    - cairo_uint64_t
    constantsTouched: []
    func_position:
      end: 314
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 314
    functionName: _cairo_uint64_cmp
    functionSourceFile: /src/cairo/src/cairo-wideint.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int _cairo_uint64_cmp (cairo_uint64_t a, cairo_uint64_t b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_uint64x64_128_mul
      Src: /src/cairo/src/cairo-wideint.c:508,1
    - Dst: _cairo_uint64_mul
      Src: /src/cairo/src/cairo-wideint.c:512,1
    - Dst: _cairo_uint64_mul
      Src: /src/cairo/src/cairo-wideint.c:510,1
    - Dst: _cairo_uint64_add
      Src: /src/cairo/src/cairo-wideint.c:511,1
    - Dst: _cairo_uint64_add
      Src: /src/cairo/src/cairo-wideint.c:509,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_uint128_t
    - cairo_uint128_t
    constantsTouched: []
    func_position:
      end: 514
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 514
    functionName: _cairo_uint128_mul
    functionSourceFile: /src/cairo/src/cairo-wideint.c
    functionUses: []
    functionsReached:
    - _cairo_uint64_add
    - _cairo_uint64_mul
    - _cairo_uint64x64_128_mul
    linkageType: ''
    returnType: cairo_uint128_t
    signature: 'cairo_uint128_t _cairo_uint128_mul (cairo_uint128_t a, cairo_uint128_t
      b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_uint32x32_64_mul
      Src: /src/cairo/src/cairo-wideint.c:207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 213
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 213
    functionName: _cairo_int32x32_64_mul
    functionSourceFile: /src/cairo/src/cairo-wideint.c
    functionUses: []
    functionsReached:
    - _cairo_uint32x32_64_mul
    linkageType: ''
    returnType: cairo_int64_t
    signature: 'cairo_int64_t _cairo_int32x32_64_mul (int32_t a, int32_t b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - a
    - shift
    argTypes:
    - cairo_uint64_t
    - int
    constantsTouched: []
    func_position:
      end: 240
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 240
    functionName: _cairo_uint64_lsl
    functionSourceFile: /src/cairo/src/cairo-wideint.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_uint64_t
    signature: 'cairo_uint64_t _cairo_uint64_lsl (cairo_uint64_t a, int shift) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_int64_negative
      Src: /src/cairo/src/cairo-wideint.c:319,1
    - Dst: _cairo_int64_negative
      Src: /src/cairo/src/cairo-wideint.c:321,1
    - Dst: _cairo_int64_negative
      Src: /src/cairo/src/cairo-wideint.c:321,1
    - Dst: _cairo_int64_negative
      Src: /src/cairo/src/cairo-wideint.c:319,1
    - Dst: _cairo_uint64_cmp
      Src: /src/cairo/src/cairo-wideint.c:324,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_int64_t
    - cairo_int64_t
    constantsTouched: []
    func_position:
      end: 325
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 325
    functionName: _cairo_int64_cmp
    functionSourceFile: /src/cairo/src/cairo-wideint.c
    functionUses: []
    functionsReached:
    - _cairo_int64_negative
    - _cairo_uint64_cmp
    linkageType: ''
    returnType: int
    signature: 'int _cairo_int64_cmp (cairo_int64_t a, cairo_int64_t b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_uint32_to_uint64
      Src: /src/cairo/src/cairo-wideint.c:522,1
    - Dst: _cairo_uint64_lsl
      Src: /src/cairo/src/cairo-wideint.c:527,1
    - Dst: _cairo_uint64_lsl
      Src: /src/cairo/src/cairo-wideint.c:529,1
    - Dst: _cairo_uint64_rsl
      Src: /src/cairo/src/cairo-wideint.c:528,1
    - Dst: _cairo_uint64_add
      Src: /src/cairo/src/cairo-wideint.c:527,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - a
    - shift
    argTypes:
    - cairo_uint128_t
    - int
    constantsTouched: []
    func_position:
      end: 532
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 532
    functionName: _cairo_uint128_lsl
    functionSourceFile: /src/cairo/src/cairo-wideint.c
    functionUses: []
    functionsReached:
    - _cairo_uint64_rsl
    - _cairo_uint64_lsl
    - _cairo_uint64_add
    - _cairo_uint32_to_uint64
    linkageType: ''
    returnType: cairo_uint128_t
    signature: 'cairo_uint128_t _cairo_uint128_lsl (cairo_uint128_t a, int shift) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 75
    functionName: _cairo_composite_rectangles
    functionSourceFile: /src/cairo/src/cairo-composite-rectangles-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CAIRO_BEGIN_DECLS
    signature: 'CAIRO_BEGIN_DECLS /* Rectangles that take part in a composite operation.
      * * The source and mask track the extents of the respective patterns in device
      * space. The unbounded rectangle is essentially the clip rectangle. And the
      * intersection of all is the bounded rectangle, which is the minimum extents
      * the operation may require. Whether or not the operation is actually bounded
      * is tracked in the is_bounded boolean. * */ struct _cairo_composite_rectangles '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-type1-subset.c:625,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-type1-subset.c:632,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-type1-subset.c:628,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - font
    - data
    - length
    argTypes:
    - cairo_type1_font_subset_t*
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 637
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 637
    functionName: cairo_type1_font_subset_write_encrypted
    functionSourceFile: /src/cairo/src/cairo-type1-subset.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_write
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t cairo_type1_font_subset_write_encrypted (cairo_type1_font_subset_t\
      \ *font,\t\t\t\t\t const char *data, unsigned int length) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_isspace
      Src: /src/cairo/src/cairo-type1-subset.c:698,1
    - Dst: _cairo_isspace
      Src: /src/cairo/src/cairo-type1-subset.c:701,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 708
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 708
    functionName: skip_token
    functionSourceFile: /src/cairo/src/cairo-type1-subset.c
    functionUses: []
    functionsReached:
    - _cairo_isspace
    linkageType: ''
    returnType: char*
    signature: 'static const char *skip_token (const char *p, const char *end) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/cairo/src/cairo-type1-subset.c:1062,1
    - Dst: strtol
      Src: /src/cairo/src/cairo-type1-subset.c:1066,1
    - Dst: skip_token
      Src: /src/cairo/src/cairo-type1-subset.c:1063,1
    - Dst: strtol
      Src: /src/cairo/src/cairo-type1-subset.c:1075,1
    - Dst: skip_token
      Src: /src/cairo/src/cairo-type1-subset.c:1081,1
    - Dst: skip_token
      Src: /src/cairo/src/cairo-type1-subset.c:1087,1
    - Dst: _cairo_isspace
      Src: /src/cairo/src/cairo-type1-subset.c:1091,1
    - Dst: strncmp
      Src: /src/cairo/src/cairo-type1-subset.c:1095,1
    - Dst: skip_token
      Src: /src/cairo/src/cairo-type1-subset.c:1096,1
    - Dst: _cairo_isspace
      Src: /src/cairo/src/cairo-type1-subset.c:1097,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-subset.c:1106,1
    - Dst: func
      Src: /src/cairo/src/cairo-type1-subset.c:1104,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 51
    argCount: 5
    argNames:
    - font
    - array_start
    - cleartext_end
    - func
    - array_end
    argTypes:
    - cairo_type1_font_subset_t*
    - char*
    - char*
    - subr_func_t
    - char**
    constantsTouched: []
    func_position:
      end: 1114
      start: 1038
    functionDepth: 0
    functionLinenumber: 1038
    functionLinenumberEnd: 1114
    functionName: cairo_type1_font_for_each_subr
    functionSourceFile: /src/cairo/src/cairo-type1-subset.c
    functionUses: []
    functionsReached:
    - func
    - skip_token
    - unlikely
    - strtol
    - strncmp
    - _cairo_isspace
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t cairo_type1_font_for_each_subr (cairo_type1_font_subset_t\
      \ *font,\t\t\t\tconst char *array_start,\t\t\t\tconst char *cleartext_end,\t\
      \t\t\tsubr_func_t func,\t\t\t\tconst char **array_end) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_winansi_to_glyphname
      Src: /src/cairo/src/cairo-type1-subset.c:1176,1
    - Dst: cairo_type1_font_subset_write_encrypted
      Src: /src/cairo/src/cairo-type1-subset.c:1187,1
    - Dst: snprintf
      Src: /src/cairo/src/cairo-type1-subset.c:1184,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-subset.c:1188,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-type1-subset.c:1179,1
    - Dst: cairo_type1_font_subset_write_encrypted
      Src: /src/cairo/src/cairo-type1-subset.c:1191,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-subset.c:1194,1
    - Dst: snprintf
      Src: /src/cairo/src/cairo-type1-subset.c:1197,1
    - Dst: cairo_type1_font_subset_write_encrypted
      Src: /src/cairo/src/cairo-type1-subset.c:1198,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-subset.c:1199,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 6
    argNames:
    - font
    - glyph_number
    - name
    - name_length
    - charstring
    - charstring_length
    argTypes:
    - cairo_type1_font_subset_t*
    - int
    - char*
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1203
      start: 1146
    functionDepth: 0
    functionLinenumber: 1146
    functionLinenumberEnd: 1203
    functionName: write_used_glyphs
    functionSourceFile: /src/cairo/src/cairo-type1-subset.c
    functionUses: []
    functionsReached:
    - strlen
    - cairo_type1_font_subset_write_encrypted
    - _cairo_winansi_to_glyphname
    - snprintf
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t write_used_glyphs (cairo_type1_font_subset_t\
      \ *font,\t\t int glyph_number,\t\t const char *name, int name_length,\t\t const\
      \ char *charstring, int charstring_length) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-type1-subset.c:1550,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-type1-subset.c:1568,1
    - Dst: find_token
      Src: /src/cairo/src/cairo-type1-subset.c:1552,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-type1-subset.c:1561,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-type1-subset.c:1558,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-type1-subset.c:1574,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - font
    argTypes:
    - cairo_type1_font_subset_t*
    constantsTouched: []
    func_position:
      end: 1577
      start: 1540
    functionDepth: 0
    functionLinenumber: 1540
    functionLinenumberEnd: 1577
    functionName: cairo_type1_font_subset_write_trailer
    functionSourceFile: /src/cairo/src/cairo-type1-subset.c
    functionUses: []
    functionsReached:
    - find_token
    - _cairo_output_stream_write
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t cairo_type1_font_subset_write_trailer(cairo_type1_font_subset_t
      *font) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-type1-subset.c:651,1
    - Dst: hex_to_int
      Src: /src/cairo/src/cairo-type1-subset.c:661,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-type1-subset.c:653,1
    - Dst: _cairo_isspace
      Src: /src/cairo/src/cairo-type1-subset.c:659,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-subset.c:652,1
    - Dst: hex_to_int
      Src: /src/cairo/src/cairo-type1-subset.c:661,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 1
    argNames:
    - font
    argTypes:
    - cairo_type1_font_subset_t*
    constantsTouched: []
    func_position:
      end: 693
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 693
    functionName: cairo_type1_font_subset_decrypt_eexec_segment
    functionSourceFile: /src/cairo/src/cairo-type1-subset.c
    functionUses: []
    functionsReached:
    - _cairo_malloc
    - _cairo_error
    - hex_to_int
    - unlikely
    - _cairo_isspace
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t cairo_type1_font_subset_decrypt_eexec_segment
      (cairo_type1_font_subset_t *font) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - in
    - size
    - out
    argTypes:
    - unsigned char*
    - int
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 722
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 722
    functionName: cairo_type1_font_subset_decrypt_charstring
    functionSourceFile: /src/cairo/src/cairo-type1-subset.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void cairo_type1_font_subset_decrypt_charstring (const unsigned
      char *in, int size, unsigned char *out) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-type1-subset.c:1126,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-subset.c:1127,1
    - Dst: strncpy
      Src: /src/cairo/src/cairo-type1-subset.c:1130,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-type1-subset.c:1133,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-type1-subset.c:1128,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-subset.c:1134,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-type1-subset.c:1141,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 6
    argNames:
    - font
    - glyph_number
    - name
    - name_length
    - encrypted_charstring
    - encrypted_charstring_length
    argTypes:
    - cairo_type1_font_subset_t*
    - int
    - char*
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1144
      start: 1116
    functionDepth: 0
    functionLinenumber: 1116
    functionLinenumberEnd: 1144
    functionName: cairo_type1_font_subset_build_glyph_list
    functionSourceFile: /src/cairo/src/cairo-type1-subset.c
    functionUses: []
    functionsReached:
    - _cairo_malloc
    - _cairo_error
    - strncpy
    - _cairo_array_append
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t cairo_type1_font_subset_build_glyph_list (cairo_type1_font_subset_t\
      \ *font,\t\t\t\t\t int glyph_number,\t\t\t\t\t const char *name, int name_length,\t\
      \t\t\t\t const char *encrypted_charstring, int encrypted_charstring_length) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_append_multiple
      Src: /src/cairo/src/cairo-type1-subset.c:1584,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - closure
    - data
    - length
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1585
      start: 1579
    functionDepth: 0
    functionLinenumber: 1579
    functionLinenumberEnd: 1585
    functionName: type1_font_write
    functionSourceFile: /src/cairo/src/cairo-type1-subset.c
    functionUses: []
    functionsReached:
    - _cairo_array_append_multiple
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t type1_font_write (void *closure, const unsigned
      char *data, unsigned int length) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-type1-subset.c:1679,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-type1-subset.c:1677,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-subset.c:1678,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-subset.c:1684,1
    - Dst: check_fontdata_is_type1
      Src: /src/cairo/src/cairo-type1-subset.c:1687,1
    - Dst: _cairo_array_grow_by
      Src: /src/cairo/src/cairo-type1-subset.c:1690,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-subset.c:1691,1
    - Dst: _cairo_output_stream_create
      Src: /src/cairo/src/cairo-type1-subset.c:1694,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-subset.c:1699,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-subset.c:1695,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-type1-subset.c:1702,1
    - Dst: cairo_type1_font_subset_write
      Src: /src/cairo/src/cairo-type1-subset.c:1698,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 2
    argNames:
    - abstract_font
    - name
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 1705
      start: 1658
    functionDepth: 0
    functionLinenumber: 1658
    functionLinenumberEnd: 1705
    functionName: cairo_type1_font_subset_generate
    functionSourceFile: /src/cairo/src/cairo-type1-subset.c
    functionUses: []
    functionsReached:
    - _cairo_malloc
    - _cairo_array_index
    - _cairo_error
    - cairo_type1_font_subset_write
    - _cairo_array_grow_by
    - _cairo_output_stream_create
    - check_fontdata_is_type1
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t cairo_type1_font_subset_generate (void *abstract_font,\t\
      \t\t\t const char *name) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/cairo/src/cairo-type1-subset.c:1777,1
    - Dst: strdup
      Src: /src/cairo/src/cairo-type1-subset.c:1781,1
    - Dst: _cairo_type1_font_subset_fini
      Src: /src/cairo/src/cairo-type1-subset.c:1823,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-subset.c:1769,1
    - Dst: _cairo_type1_font_subset_init
      Src: /src/cairo/src/cairo-type1-subset.c:1768,1
    - Dst: cairo_type1_font_subset_generate
      Src: /src/cairo/src/cairo-type1-subset.c:1772,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-subset.c:1773,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-subset.c:1787,1
    - Dst: _cairo_calloc_ab
      Src: /src/cairo/src/cairo-type1-subset.c:1786,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-subset.c:1783,1
    - Dst: _cairo_type1_font_subset_fini
      Src: /src/cairo/src/cairo-type1-subset.c:1816,1
    - Dst: free
      Src: /src/cairo/src/cairo-type1-subset.c:1821,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-subset.c:1806,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-type1-subset.c:1805,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-subset.c:1761,1
    - Dst: snprintf
      Src: /src/cairo/src/cairo-type1-subset.c:1779,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-type1-subset.c:1810,1
    - Dst: free
      Src: /src/cairo/src/cairo-type1-subset.c:1819,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-type1-subset.c:1809,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 4
    argNames:
    - type1_subset
    - name
    - scaled_font_subset
    - hex_encode
    argTypes:
    - cairo_type1_subset_t*
    - char*
    - cairo_scaled_font_subset_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 1826
      start: 1744
    functionDepth: 0
    functionLinenumber: 1744
    functionLinenumberEnd: 1826
    functionName: _cairo_type1_subset_init
    functionSourceFile: /src/cairo/src/cairo-type1-subset.c
    functionUses: []
    functionsReached:
    - _cairo_calloc_ab
    - _cairo_malloc
    - memcpy
    - _cairo_array_index
    - _cairo_type1_font_subset_fini
    - free
    - strdup
    - _cairo_type1_font_subset_init
    - snprintf
    - cairo_type1_font_subset_generate
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_type1_subset_init (cairo_type1_subset_t\t\t\
      *type1_subset,\t\t\t const char\t\t\t*name,\t\t\t cairo_scaled_font_subset_t\t\
      *scaled_font_subset, cairo_bool_t hex_encode) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cairo/src/cairo-type1-subset.c:164,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-type1-subset.c:167,1
    - Dst: _cairo_calloc_ab
      Src: /src/cairo/src/cairo-type1-subset.c:169,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-type1-subset.c:168,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-subset.c:171,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-type1-subset.c:172,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-type1-subset.c:184,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - font
    - scaled_font_subset
    - hex_encode
    argTypes:
    - cairo_type1_font_subset_t*
    - cairo_scaled_font_subset_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 187
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 187
    functionName: _cairo_type1_font_subset_init
    functionSourceFile: /src/cairo/src/cairo-type1-subset.c
    functionUses: []
    functionsReached:
    - _cairo_calloc_ab
    - _cairo_array_init
    - _cairo_error
    - memset
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_type1_font_subset_init (cairo_type1_font_subset_t\
      \ *font,\t\t\t cairo_scaled_font_subset_t *scaled_font_subset,\t\t\t cairo_bool_t\
      \ hex_encode) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-type1-subset.c:1716,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-type1-subset.c:1722,1
    - Dst: free
      Src: /src/cairo/src/cairo-type1-subset.c:1718,1
    - Dst: free
      Src: /src/cairo/src/cairo-type1-subset.c:1723,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-type1-subset.c:1719,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-type1-subset.c:1725,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-type1-subset.c:1726,1
    - Dst: free
      Src: /src/cairo/src/cairo-type1-subset.c:1728,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-type1-subset.c:1731,1
    - Dst: free
      Src: /src/cairo/src/cairo-type1-subset.c:1733,1
    - Dst: free
      Src: /src/cairo/src/cairo-type1-subset.c:1739,1
    - Dst: free
      Src: /src/cairo/src/cairo-type1-subset.c:1737,1
    - Dst: free
      Src: /src/cairo/src/cairo-type1-subset.c:1735,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - font
    argTypes:
    - cairo_type1_font_subset_t*
    constantsTouched: []
    func_position:
      end: 1742
      start: 1707
    functionDepth: 0
    functionLinenumber: 1707
    functionLinenumberEnd: 1742
    functionName: _cairo_type1_font_subset_fini
    functionSourceFile: /src/cairo/src/cairo-type1-subset.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    - free
    - _cairo_array_num_elements
    - _cairo_array_fini
    - _cairo_output_stream_destroy
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_type1_font_subset_fini (cairo_type1_font_subset_t
      *font) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-type1-subset.c:1831,1
    - Dst: free
      Src: /src/cairo/src/cairo-type1-subset.c:1833,1
    - Dst: free
      Src: /src/cairo/src/cairo-type1-subset.c:1832,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - subset
    argTypes:
    - cairo_type1_subset_t*
    constantsTouched: []
    func_position:
      end: 1834
      start: 1828
    functionDepth: 0
    functionLinenumber: 1828
    functionLinenumberEnd: 1834
    functionName: _cairo_type1_subset_fini
    functionSourceFile: /src/cairo/src/cairo-type1-subset.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void _cairo_type1_subset_fini (cairo_type1_subset_t *subset) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check_fontdata_is_type1
      Src: /src/cairo/src/cairo-type1-subset.c:1858,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - scaled_font
    argTypes:
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 1859
      start: 1836
    functionDepth: 0
    functionLinenumber: 1836
    functionLinenumberEnd: 1859
    functionName: _cairo_type1_scaled_font_is_type1
    functionSourceFile: /src/cairo/src/cairo-type1-subset.c
    functionUses: []
    functionsReached:
    - check_fontdata_is_type1
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t _cairo_type1_scaled_font_is_type1 (cairo_scaled_font_t
      *scaled_font) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cairo/src/cairo-type1-subset.c:217,1
    - Dst: is_ps_delimiter
      Src: /src/cairo/src/cairo-type1-subset.c:220,1
    - Dst: memcmp
      Src: /src/cairo/src/cairo-type1-subset.c:219,1
    - Dst: is_ps_delimiter
      Src: /src/cairo/src/cairo-type1-subset.c:221,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 225
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 225
    functionName: find_token
    functionSourceFile: /src/cairo/src/cairo-type1-subset.c
    functionUses: []
    functionsReached:
    - is_ps_delimiter
    - strlen
    - memcmp
    linkageType: ''
    returnType: char*
    signature: 'static const char *find_token (const char *buffer, const char *end,
      const char *token) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find_token
      Src: /src/cairo/src/cairo-type1-subset.c:297,1
    - Dst: _cairo_isspace
      Src: /src/cairo/src/cairo-type1-subset.c:302,1
    - Dst: _cairo_isdigit
      Src: /src/cairo/src/cairo-type1-subset.c:303,1
    - Dst: memcmp
      Src: /src/cairo/src/cairo-type1-subset.c:310,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-type1-subset.c:299,1
    - Dst: memset
      Src: /src/cairo/src/cairo-type1-subset.c:312,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-type1-subset.c:314,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 2
    argNames:
    - font
    - key
    argTypes:
    - cairo_type1_font_subset_t*
    - char*
    constantsTouched: []
    func_position:
      end: 317
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 317
    functionName: cairo_type1_font_erase_dict_key
    functionSourceFile: /src/cairo/src/cairo-type1-subset.c
    functionUses: []
    functionsReached:
    - strlen
    - _cairo_isspace
    - _cairo_isdigit
    - find_token
    - memset
    - memcmp
    linkageType: ''
    returnType: void
    signature: "static void cairo_type1_font_erase_dict_key (cairo_type1_font_subset_t\
      \ *font,\t\t\t\t const char *key) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cairo/src/cairo-type1-subset.c:525,1
    - Dst: find_token
      Src: /src/cairo/src/cairo-type1-subset.c:577,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-type1-subset.c:552,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-type1-subset.c:586,1
    - Dst: cairo_type1_font_erase_dict_key
      Src: /src/cairo/src/cairo-type1-subset.c:505,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-type1-subset.c:526,1
    - Dst: find_token
      Src: /src/cairo/src/cairo-type1-subset.c:533,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-type1-subset.c:537,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-type1-subset.c:560,1
    - Dst: find_token
      Src: /src/cairo/src/cairo-type1-subset.c:547,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-type1-subset.c:575,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-type1-subset.c:550,1
    - Dst: _cairo_winansi_to_glyphname
      Src: /src/cairo/src/cairo-type1-subset.c:563,1
    - Dst: cairo_type1_font_erase_dict_key
      Src: /src/cairo/src/cairo-type1-subset.c:504,1
    - Dst: find_token
      Src: /src/cairo/src/cairo-type1-subset.c:542,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-type1-subset.c:569,1
    - Dst: find_token
      Src: /src/cairo/src/cairo-type1-subset.c:520,1
    - Dst: _cairo_isspace
      Src: /src/cairo/src/cairo-type1-subset.c:523,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-type1-subset.c:528,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-type1-subset.c:540,1
    - Dst: find_token
      Src: /src/cairo/src/cairo-type1-subset.c:583,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 63
    argCount: 2
    argNames:
    - font
    - name
    argTypes:
    - cairo_type1_font_subset_t*
    - char*
    constantsTouched: []
    func_position:
      end: 589
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 589
    functionName: cairo_type1_font_subset_write_header
    functionSourceFile: /src/cairo/src/cairo-type1-subset.c
    functionUses: []
    functionsReached:
    - cairo_type1_font_erase_dict_key
    - _cairo_isspace
    - _cairo_output_stream_write
    - find_token
    - _cairo_winansi_to_glyphname
    - _cairo_output_stream_printf
    - memcmp
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t cairo_type1_font_subset_write_header (cairo_type1_font_subset_t\
      \ *font,\t\t\t\t\t const char *name) "
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-type1-subset.c:810,1
    - Dst: modf
      Src: /src/cairo/src/cairo-type1-subset.c:847,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-type1-subset.c:812,1
    - Dst: cairo_type1_font_subset_decrypt_charstring
      Src: /src/cairo/src/cairo-type1-subset.c:814,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-subset.c:811,1
    - Dst: cairo_type1_font_subset_parse_charstring
      Src: /src/cairo/src/cairo-type1-subset.c:851,1
    - Dst: use_standard_encoding_glyph
      Src: /src/cairo/src/cairo-type1-subset.c:897,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-subset.c:898,1
    - Dst: use_standard_encoding_glyph
      Src: /src/cairo/src/cairo-type1-subset.c:901,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-subset.c:902,1
    - Dst: cairo_type1_font_subset_decode_integer
      Src: /src/cairo/src/cairo-type1-subset.c:965,1
    - Dst: free
      Src: /src/cairo/src/cairo-type1-subset.c:975,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 90
    argCount: 4
    argNames:
    - font
    - glyph
    - encrypted_charstring
    - encrypted_charstring_length
    argTypes:
    - cairo_type1_font_subset_t*
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 978
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 978
    functionName: cairo_type1_font_subset_parse_charstring
    functionSourceFile: /src/cairo/src/cairo-type1-subset.c
    functionUses: []
    functionsReached:
    - _cairo_malloc
    - _cairo_error
    - cairo_type1_font_subset_decrypt_charstring
    - cairo_type1_font_subset_decode_integer
    - free
    - use_standard_encoding_glyph
    - cairo_type1_font_subset_parse_charstring
    - modf
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t cairo_type1_font_subset_parse_charstring (cairo_type1_font_subset_t\
      \ *font,\t\t\t\t\t int glyph,\t\t\t\t\t const char *encrypted_charstring,\t\t\
      \t\t\t int encrypted_charstring_length) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: skip_token
      Src: /src/cairo/src/cairo-type1-subset.c:1241,1
    - Dst: skip_token
      Src: /src/cairo/src/cairo-type1-subset.c:1250,1
    - Dst: skip_token
      Src: /src/cairo/src/cairo-type1-subset.c:1253,1
    - Dst: _cairo_isspace
      Src: /src/cairo/src/cairo-type1-subset.c:1257,1
    - Dst: strtol
      Src: /src/cairo/src/cairo-type1-subset.c:1244,1
    - Dst: func
      Src: /src/cairo/src/cairo-type1-subset.c:1265,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-subset.c:1268,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 5
    argNames:
    - font
    - dict_start
    - dict_end
    - func
    - dict_out
    argTypes:
    - cairo_type1_font_subset_t*
    - char*
    - char*
    - glyph_func_t
    - char**
    constantsTouched: []
    func_position:
      end: 1275
      start: 1210
    functionDepth: 0
    functionLinenumber: 1210
    functionLinenumberEnd: 1275
    functionName: cairo_type1_font_subset_for_each_glyph
    functionSourceFile: /src/cairo/src/cairo-type1-subset.c
    functionUses: []
    functionsReached:
    - func
    - skip_token
    - _cairo_isspace
    - strtol
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t cairo_type1_font_subset_for_each_glyph (cairo_type1_font_subset_t\
      \ *font,\t\t\t\t\tconst char *dict_start,\t\t\t\t\tconst char *dict_end,\t\t\
      \t\t\tglyph_func_t func,\t\t\t\t\tconst char **dict_out) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: find_token
      Src: /src/cairo/src/cairo-type1-subset.c:260,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-type1-subset.c:264,1
    - Dst: _cairo_isxdigit
      Src: /src/cairo/src/cairo-type1-subset.c:270,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 76
    argCount: 1
    argNames:
    - font
    argTypes:
    - cairo_type1_font_subset_t*
    constantsTouched: []
    func_position:
      end: 276
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 276
    functionName: cairo_type1_font_subset_find_segments
    functionSourceFile: /src/cairo/src/cairo-type1-subset.c
    functionUses: []
    functionsReached:
    - find_token
    - _cairo_isxdigit
    - strlen
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t cairo_type1_font_subset_find_segments (cairo_type1_font_subset_t
      *font) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_get_locale_decimal_point
      Src: /src/cairo/src/cairo-type1-subset.c:333,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-type1-subset.c:334,1
    - Dst: assert
      Src: /src/cairo/src/cairo-type1-subset.c:336,1
    - Dst: find_token
      Src: /src/cairo/src/cairo-type1-subset.c:343,1
    - Dst: find_token
      Src: /src/cairo/src/cairo-type1-subset.c:339,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-type1-subset.c:348,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-subset.c:349,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-type1-subset.c:350,1
    - Dst: strncpy
      Src: /src/cairo/src/cairo-type1-subset.c:356,1
    - Dst: strpbrk
      Src: /src/cairo/src/cairo-type1-subset.c:365,1
    - Dst: free
      Src: /src/cairo/src/cairo-type1-subset.c:376,1
    - Dst: sscanf
      Src: /src/cairo/src/cairo-type1-subset.c:374,1
    - Dst: free
      Src: /src/cairo/src/cairo-type1-subset.c:367,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 52
    argCount: 6
    argNames:
    - font
    - name
    - a
    - b
    - c
    - d
    argTypes:
    - cairo_type1_font_subset_t*
    - char*
    - double*
    - double*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 382
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 382
    functionName: cairo_type1_font_subset_get_matrix
    functionSourceFile: /src/cairo/src/cairo-type1-subset.c
    functionUses: []
    functionsReached:
    - _cairo_malloc
    - strlen
    - _cairo_error
    - strncpy
    - strpbrk
    - free
    - _cairo_get_locale_decimal_point
    - sscanf
    - assert
    - find_token
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t cairo_type1_font_subset_get_matrix (cairo_type1_font_subset_t\
      \ *font,\t\t\t\t const char *name,\t\t\t\t double *a,\t\t\t\t double *b,\t\t\
      \t\t double *c,\t\t\t\t double *d) "
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ch
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 600
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 600
    functionName: hex_to_int
    functionSourceFile: /src/cairo/src/cairo-type1-subset.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int hex_to_int (int ch) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 6
    argNames:
    - font
    - subr_number
    - encrypted_charstring
    - encrypted_charstring_length
    - np
    - np_length
    argTypes:
    - cairo_type1_font_subset_t*
    - int
    - char*
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 993
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 993
    functionName: cairo_type1_font_subset_build_subr_list
    functionSourceFile: /src/cairo/src/cairo-type1-subset.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t cairo_type1_font_subset_build_subr_list (cairo_type1_font_subset_t\
      \ *font,\t\t\t\t\t int subr_number,\t\t\t\t\t const char *encrypted_charstring,\
      \ int encrypted_charstring_length,\t\t\t\t\t const char *np, int np_length) "
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-type1-subset.c:1318,1
    - Dst: free
      Src: /src/cairo/src/cairo-type1-subset.c:1326,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-subset.c:1334,1
    - Dst: find_token
      Src: /src/cairo/src/cairo-type1-subset.c:1341,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-subset.c:1373,1
    - Dst: find_token
      Src: /src/cairo/src/cairo-type1-subset.c:1363,1
    - Dst: find_token
      Src: /src/cairo/src/cairo-type1-subset.c:1380,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-type1-subset.c:1410,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-subset.c:1433,1
    - Dst: cairo_type1_font_subset_use_glyph
      Src: /src/cairo/src/cairo-type1-subset.c:1436,1
    - Dst: cairo_type1_font_subset_write_header
      Src: /src/cairo/src/cairo-type1-subset.c:1468,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-subset.c:1500,1
    - Dst: cairo_type1_font_subset_write_encrypted
      Src: /src/cairo/src/cairo-type1-subset.c:1512,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-subset.c:1514,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-subset.c:1507,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-type1-subset.c:1320,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-subset.c:1319,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-type1-subset.c:1350,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-type1-subset.c:1385,1
    - Dst: cairo_type1_font_subset_for_each_glyph
      Src: /src/cairo/src/cairo-type1-subset.c:1402,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-type1-subset.c:1412,1
    - Dst: cairo_type1_font_subset_write_encrypted
      Src: /src/cairo/src/cairo-type1-subset.c:1477,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-subset.c:1489,1
    - Dst: cairo_type1_font_subset_write_encrypted
      Src: /src/cairo/src/cairo-type1-subset.c:1499,1
    - Dst: cairo_type1_font_subset_write_encrypted
      Src: /src/cairo/src/cairo-type1-subset.c:1506,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-type1-subset.c:1530,1
    - Dst: cairo_type1_font_subset_write_encrypted
      Src: /src/cairo/src/cairo-type1-subset.c:1529,1
    - Dst: find_token
      Src: /src/cairo/src/cairo-type1-subset.c:1312,1
    - Dst: find_token
      Src: /src/cairo/src/cairo-type1-subset.c:1314,1
    - Dst: _cairo_calloc_ab
      Src: /src/cairo/src/cairo-type1-subset.c:1358,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-subset.c:1359,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-type1-subset.c:1360,1
    - Dst: strtol
      Src: /src/cairo/src/cairo-type1-subset.c:1386,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-subset.c:1407,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-type1-subset.c:1411,1
    - Dst: find_token
      Src: /src/cairo/src/cairo-type1-subset.c:1462,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-subset.c:1479,1
    - Dst: cairo_type1_font_for_each_subr
      Src: /src/cairo/src/cairo-type1-subset.c:1484,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-subset.c:1531,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-subset.c:1524,1
    - Dst: _cairo_output_stream_get_position
      Src: /src/cairo/src/cairo-type1-subset.c:1472,1
    - Dst: cairo_type1_font_subset_for_each_glyph
      Src: /src/cairo/src/cairo-type1-subset.c:1519,1
    - Dst: snprintf
      Src: /src/cairo/src/cairo-type1-subset.c:1504,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-subset.c:1469,1
    - Dst: strncpy
      Src: /src/cairo/src/cairo-type1-subset.c:1322,1
    - Dst: sscanf
      Src: /src/cairo/src/cairo-type1-subset.c:1325,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-subset.c:1328,1
    - Dst: cairo_type1_font_for_each_subr
      Src: /src/cairo/src/cairo-type1-subset.c:1368,1
    - Dst: strtol
      Src: /src/cairo/src/cairo-type1-subset.c:1351,1
    - Dst: _cairo_calloc_ab
      Src: /src/cairo/src/cairo-type1-subset.c:1413,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-subset.c:1415,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-type1-subset.c:1416,1
    - Dst: cairo_type1_font_subset_parse_charstring
      Src: /src/cairo/src/cairo-type1-subset.c:1448,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-subset.c:1452,1
    - Dst: MIN
      Src: /src/cairo/src/cairo-type1-subset.c:1458,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-type1-subset.c:1535,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 148
    argCount: 2
    argNames:
    - font
    - name
    argTypes:
    - cairo_type1_font_subset_t*
    - char*
    constantsTouched: []
    func_position:
      end: 1538
      start: 1278
    functionDepth: 0
    functionLinenumber: 1278
    functionLinenumberEnd: 1538
    functionName: cairo_type1_font_subset_write_private_dict
    functionSourceFile: /src/cairo/src/cairo-type1-subset.c
    functionUses: []
    functionsReached:
    - _cairo_calloc_ab
    - _cairo_array_index
    - _cairo_error
    - _cairo_array_num_elements
    - strtol
    - find_token
    - sscanf
    - _cairo_output_stream_get_position
    - cairo_type1_font_subset_parse_charstring
    - strlen
    - strncpy
    - cairo_type1_font_subset_write_header
    - MIN
    - _cairo_output_stream_write
    - cairo_type1_font_for_each_subr
    - snprintf
    - _cairo_malloc
    - free
    - cairo_type1_font_subset_for_each_glyph
    - cairo_type1_font_subset_use_glyph
    - cairo_type1_font_subset_write_encrypted
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t cairo_type1_font_subset_write_private_dict (cairo_type1_font_subset_t\
      \ *font,\t\t\t\t\t const char *name) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - font
    - glyph
    argTypes:
    - cairo_type1_font_subset_t*
    - int
    constantsTouched: []
    func_position:
      end: 198
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 198
    functionName: cairo_type1_font_subset_use_glyph
    functionSourceFile: /src/cairo/src/cairo-type1-subset.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void cairo_type1_font_subset_use_glyph (cairo_type1_font_subset_t
      *font, int glyph) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cairo_type1_font_subset_get_matrix
      Src: /src/cairo/src/cairo-type1-subset.c:391,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-subset.c:396,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-subset.c:401,1
    - Dst: cairo_type1_font_subset_get_matrix
      Src: /src/cairo/src/cairo-type1-subset.c:399,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - font
    argTypes:
    - cairo_type1_font_subset_t*
    constantsTouched: []
    func_position:
      end: 423
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 423
    functionName: cairo_type1_font_subset_get_bbox
    functionSourceFile: /src/cairo/src/cairo-type1-subset.c
    functionUses: []
    functionsReached:
    - cairo_type1_font_subset_get_matrix
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t cairo_type1_font_subset_get_bbox (cairo_type1_font_subset_t
      *font) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 741
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 741
    functionName: cairo_type1_font_subset_decode_integer
    functionSourceFile: /src/cairo/src/cairo-type1-subset.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned char*
    signature: 'static const unsigned char *cairo_type1_font_subset_decode_integer
      (const unsigned char *p, int *integer) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/cairo/src/cairo-type1-subset.c:1008,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-subset.c:1012,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-subset.c:1018,1
    - Dst: cairo_type1_font_subset_write_encrypted
      Src: /src/cairo/src/cairo-type1-subset.c:1011,1
    - Dst: cairo_type1_font_subset_write_encrypted
      Src: /src/cairo/src/cairo-type1-subset.c:1015,1
    - Dst: cairo_type1_font_subset_write_encrypted
      Src: /src/cairo/src/cairo-type1-subset.c:1022,1
    - Dst: snprintf
      Src: /src/cairo/src/cairo-type1-subset.c:1024,1
    - Dst: cairo_type1_font_subset_write_encrypted
      Src: /src/cairo/src/cairo-type1-subset.c:1025,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-subset.c:1027,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 6
    argNames:
    - font
    - subr_number
    - subr_string
    - subr_string_length
    - np
    - np_length
    argTypes:
    - cairo_type1_font_subset_t*
    - int
    - char*
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1031
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 1031
    functionName: write_used_subrs
    functionSourceFile: /src/cairo/src/cairo-type1-subset.c
    functionUses: []
    functionsReached:
    - unlikely
    - snprintf
    - cairo_type1_font_subset_write_encrypted
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t write_used_subrs (cairo_type1_font_subset_t\
      \ *font,\t\t int subr_number,\t\t const char *subr_string, int subr_string_length,\t\
      \t const char *np, int np_length) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: cairo_type1_font_subset_find_segments
      Src: /src/cairo/src/cairo-type1-subset.c:1593,1
    - Dst: find_token
      Src: /src/cairo/src/cairo-type1-subset.c:1602,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-subset.c:1598,1
    - Dst: cairo_type1_font_subset_decrypt_eexec_segment
      Src: /src/cairo/src/cairo-type1-subset.c:1597,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-subset.c:1594,1
    - Dst: find_token
      Src: /src/cairo/src/cairo-type1-subset.c:1606,1
    - Dst: cairo_type1_font_subset_get_bbox
      Src: /src/cairo/src/cairo-type1-subset.c:1618,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-subset.c:1619,1
    - Dst: cairo_type1_font_subset_get_fontname
      Src: /src/cairo/src/cairo-type1-subset.c:1622,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-subset.c:1623,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-subset.c:1634,1
    - Dst: _cairo_output_stream_get_position
      Src: /src/cairo/src/cairo-type1-subset.c:1638,1
    - Dst: cairo_type1_font_subset_write_trailer
      Src: /src/cairo/src/cairo-type1-subset.c:1633,1
    - Dst: cairo_type1_font_subset_write_private_dict
      Src: /src/cairo/src/cairo-type1-subset.c:1626,1
    - Dst: _cairo_output_stream_get_position
      Src: /src/cairo/src/cairo-type1-subset.c:1630,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-subset.c:1627,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 2
    argNames:
    - font
    - name
    argTypes:
    - cairo_type1_font_subset_t*
    - char*
    constantsTouched: []
    func_position:
      end: 1642
      start: 1587
    functionDepth: 0
    functionLinenumber: 1587
    functionLinenumberEnd: 1642
    functionName: cairo_type1_font_subset_write
    functionSourceFile: /src/cairo/src/cairo-type1-subset.c
    functionUses: []
    functionsReached:
    - cairo_type1_font_subset_decrypt_eexec_segment
    - cairo_type1_font_subset_write_private_dict
    - cairo_type1_font_subset_write_trailer
    - cairo_type1_font_subset_get_bbox
    - _cairo_output_stream_get_position
    - cairo_type1_font_subset_get_fontname
    - find_token
    - cairo_type1_font_subset_find_segments
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t cairo_type1_font_subset_write (cairo_type1_font_subset_t\
      \ *font,\t\t\t const char *name) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/cairo/src/cairo-type1-subset.c:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 206
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 206
    functionName: is_ps_delimiter
    functionSourceFile: /src/cairo/src/cairo-type1-subset.c
    functionUses: []
    functionsReached:
    - strchr
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t is_ps_delimiter(int c) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: find_token
      Src: /src/cairo/src/cairo-type1-subset.c:434,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-type1-subset.c:438,1
    - Dst: _cairo_isspace
      Src: /src/cairo/src/cairo-type1-subset.c:444,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-type1-subset.c:447,1
    - Dst: find_token
      Src: /src/cairo/src/cairo-type1-subset.c:440,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-subset.c:448,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-type1-subset.c:449,1
    - Dst: strncpy
      Src: /src/cairo/src/cairo-type1-subset.c:451,1
    - Dst: strchr
      Src: /src/cairo/src/cairo-type1-subset.c:454,1
    - Dst: free
      Src: /src/cairo/src/cairo-type1-subset.c:456,1
    - Dst: strdup
      Src: /src/cairo/src/cairo-type1-subset.c:470,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-type1-subset.c:461,1
    - Dst: free
      Src: /src/cairo/src/cairo-type1-subset.c:471,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-type1-subset.c:473,1
    - Dst: _cairo_escape_ps_name
      Src: /src/cairo/src/cairo-type1-subset.c:475,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-subset.c:472,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 53
    argCount: 1
    argNames:
    - font
    argTypes:
    - cairo_type1_font_subset_t*
    constantsTouched: []
    func_position:
      end: 478
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 478
    functionName: cairo_type1_font_subset_get_fontname
    functionSourceFile: /src/cairo/src/cairo-type1-subset.c
    functionUses: []
    functionsReached:
    - _cairo_malloc
    - _cairo_escape_ps_name
    - strlen
    - _cairo_error
    - strncpy
    - free
    - _cairo_isspace
    - strchr
    - strdup
    - find_token
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t cairo_type1_font_subset_get_fontname (cairo_type1_font_subset_t
      *font) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_ps_standard_encoding_to_glyphname
      Src: /src/cairo/src/cairo-type1-subset.c:752,1
    - Dst: cairo_type1_font_subset_use_glyph
      Src: /src/cairo/src/cairo-type1-subset.c:758,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-type1-subset.c:757,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - font
    - index
    argTypes:
    - cairo_type1_font_subset_t*
    - int
    constantsTouched: []
    func_position:
      end: 765
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 765
    functionName: use_standard_encoding_glyph
    functionSourceFile: /src/cairo/src/cairo-type1-subset.c
    functionUses: []
    functionsReached:
    - cairo_type1_font_subset_use_glyph
    - strcmp
    - _cairo_ps_standard_encoding_to_glyphname
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t use_standard_encoding_glyph (cairo_type1_font_subset_t
      *font, int index) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - data
    - length
    argTypes:
    - unsigned char*
    - long
    constantsTouched: []
    func_position:
      end: 1656
      start: 1644
    functionDepth: 0
    functionLinenumber: 1644
    functionLinenumberEnd: 1656
    functionName: check_fontdata_is_type1
    functionSourceFile: /src/cairo/src/cairo-type1-subset.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t check_fontdata_is_type1 (const unsigned char *data,
      long length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rectangle_compare_stop
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:147,1
    - Dst: PQ_PARENT_INDEX
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:148,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - sweep
    - rectangle
    argTypes:
    - sweep_line_t*
    - rectangle_t*
    constantsTouched: []
    func_position:
      end: 155
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 155
    functionName: pqueue_push
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann-rectangular.c
    functionUses: []
    functionsReached:
    - rectangle_compare_stop
    - PQ_PARENT_INDEX
    linkageType: ''
    returnType: void
    signature: 'static inline void pqueue_push (sweep_line_t *sweep, rectangle_t *rectangle) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sort_edges
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:412,1
    - Dst: merge_sorted_edges
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:413,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 417
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 417
    functionName: sort_edges
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann-rectangular.c
    functionUses: []
    functionsReached:
    - merge_sorted_edges
    - sort_edges
    linkageType: ''
    returnType: edge_t*
    signature: "static edge_t *sort_edges (edge_t *list,\t unsigned int level,\t edge_t\
      \ **head_out) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PQ_LEFT_CHILD_INDEX
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:171,1
    - Dst: rectangle_compare_stop
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:175,1
    - Dst: rectangle_compare_stop
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:181,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 1
    argNames:
    - sweep
    argTypes:
    - sweep_line_t*
    constantsTouched: []
    func_position:
      end: 187
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 187
    functionName: rectangle_pop_stop
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann-rectangular.c
    functionUses: []
    functionsReached:
    - PQ_LEFT_CHILD_INDEX
    - rectangle_compare_stop
    linkageType: ''
    returnType: void
    signature: 'static inline void rectangle_pop_stop (sweep_line_t *sweep) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 365
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 365
    functionName: merge_sorted_edges
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann-rectangular.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: edge_t*
    signature: 'static edge_t *merge_sorted_edges (edge_t *head_a, edge_t *head_b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - rectangle_t*
    - rectangle_t*
    constantsTouched: []
    func_position:
      end: 129
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 129
    functionName: rectangle_compare_start
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann-rectangular.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "static inline int rectangle_compare_start (const rectangle_t *a,\t\
      \t\t const rectangle_t *b) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:249,1
    - Dst: _cairo_traps_add_trap
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:258,1
    - Dst: _cairo_boxes_add
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:268,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:273,1
    - Dst: _cairo_traps_status
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:259,1
    - Dst: longjmp
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:274,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - sweep_line
    - left
    - bot
    argTypes:
    - sweep_line_t*
    - edge_t*
    - int32_t
    constantsTouched: []
    func_position:
      end: 277
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 277
    functionName: edge_end_box
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann-rectangular.c
    functionUses: []
    functionsReached:
    - _cairo_traps_status
    - _cairo_boxes_add
    - _cairo_traps_add_trap
    - longjmp
    - likely
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'static void edge_end_box (sweep_line_t *sweep_line, edge_t *left,
      int32_t bot) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - rectangle_t*
    - rectangle_t*
    constantsTouched: []
    func_position:
      end: 136
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 136
    functionName: rectangle_compare_stop
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann-rectangular.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "static inline int rectangle_compare_stop (const rectangle_t *a,\t\t\
      \t const rectangle_t *b) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 6
    argNames:
    - sweep_line
    - rectangles
    - num_rectangles
    - fill_rule
    - do_traps
    - container
    argTypes:
    - sweep_line_t*
    - rectangle_t**
    - int
    - cairo_fill_rule_t
    - cairo_bool_t
    - void*
    constantsTouched: []
    func_position:
      end: 241
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 241
    functionName: sweep_line_init
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann-rectangular.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void sweep_line_init (sweep_line_t\t *sweep_line,\t\t rectangle_t\t\
      **rectangles,\t\t int\t\t num_rectangles,\t\t cairo_fill_rule_t fill_rule,\t\
      \t cairo_bool_t\t do_traps,\t\t void\t\t*container) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: rectangle_pop_start
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann-rectangular.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: rectangle_t*
    signature: 'static inline rectangle_t *rectangle_pop_start (sweep_line_t *sweep_line) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sort_edges
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:422,1
    - Dst: merge_sorted_edges
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:423,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 424
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 424
    functionName: merge_unsorted_edges
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann-rectangular.c
    functionUses: []
    functionsReached:
    - merge_sorted_edges
    - sort_edges
    linkageType: ''
    returnType: edge_t*
    signature: 'static edge_t *merge_unsorted_edges (edge_t *head, edge_t *unsorted) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sweep_line_init
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:607,1
    - Dst: rectangle_peek_stop
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:621,1
    - Dst: rectangle_pop_start
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:616,1
    - Dst: setjmp
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:611,1
    - Dst: active_edges_to_traps
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:625,1
    - Dst: sweep_line_delete
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:632,1
    - Dst: rectangle_peek_stop
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:633,1
    - Dst: active_edges_to_traps
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:637,1
    - Dst: sweep_line_insert
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:645,1
    - Dst: rectangle_pop_start
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:646,1
    - Dst: rectangle_peek_stop
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:651,1
    - Dst: active_edges_to_traps
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:654,1
    - Dst: sweep_line_delete
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:660,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 50
    argCount: 5
    argNames:
    - rectangles
    - num_rectangles
    - fill_rule
    - do_traps
    - container
    argTypes:
    - rectangle_t**
    - int
    - cairo_fill_rule_t
    - cairo_bool_t
    - void*
    constantsTouched: []
    func_position:
      end: 664
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 664
    functionName: _cairo_bentley_ottmann_tessellate_rectangular
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann-rectangular.c
    functionUses: []
    functionsReached:
    - setjmp
    - sweep_line_init
    - sweep_line_delete
    - rectangle_peek_stop
    - active_edges_to_traps
    - rectangle_pop_start
    - sweep_line_insert
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_bentley_ottmann_tessellate_rectangular\
      \ (rectangle_t\t**rectangles,\t\t\t\t\t int\t\t\t num_rectangles,\t\t\t\t\t\
      \ cairo_fill_rule_t\t fill_rule,\t\t\t\t\t cairo_bool_t\t\t do_traps,\t\t\t\t\
      \t void\t\t\t*container) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: rectangle_peek_stop
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann-rectangular.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: rectangle_t*
    signature: 'static inline rectangle_t *rectangle_peek_stop (sweep_line_t *sweep_line) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: merge_unsorted_edges
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:443,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - sweep
    argTypes:
    - sweep_line_t*
    constantsTouched: []
    func_position:
      end: 447
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 447
    functionName: active_edges_insert
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann-rectangular.c
    functionUses: []
    functionsReached:
    - merge_unsorted_edges
    linkageType: ''
    returnType: void
    signature: 'static void active_edges_insert (sweep_line_t *sweep) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_STACK_ARRAY_LENGTH
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:670,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:678,1
    - Dst: assert
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:676,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:671,1
    - Dst: dump_traps
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:690,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:694,1
    - Dst: _cairo_malloc_ab_plus_c
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:695,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:699,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:700,1
    - Dst: _rectangle_sort
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:729,1
    - Dst: free
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:739,1
    - Dst: _cairo_bentley_ottmann_tessellate_rectangular
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:732,1
    - Dst: _cairo_traps_clear
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:731,1
    - Dst: dump_traps
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:741,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 60
    argCount: 2
    argNames:
    - traps
    - fill_rule
    argTypes:
    - cairo_traps_t*
    - cairo_fill_rule_t
    constantsTouched: []
    func_position:
      end: 744
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 744
    functionName: _cairo_bentley_ottmann_tessellate_rectangular_traps
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann-rectangular.c
    functionUses: []
    functionsReached:
    - CAIRO_STACK_ARRAY_LENGTH
    - _rectangle_sort
    - _cairo_bentley_ottmann_tessellate_rectangular
    - _cairo_malloc_ab_plus_c
    - _cairo_error
    - free
    - ARRAY_LENGTH
    - assert
    - _cairo_traps_clear
    - dump_traps
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_bentley_ottmann_tessellate_rectangular_traps\
      \ (cairo_traps_t *traps,\t\t\t\t\t\t cairo_fill_rule_t fill_rule) "
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_STACK_ARRAY_LENGTH
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:751,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:760,1
    - Dst: _cairo_boxes_add
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:784,1
    - Dst: _cairo_fixed_integer_floor
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:800,1
    - Dst: _cairo_fixed_integer_floor
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:801,1
    - Dst: memset
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:811,1
    - Dst: _cairo_malloc_ab_plus_c
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:817,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:824,1
    - Dst: _cairo_fixed_integer_floor
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:857,1
    - Dst: _cairo_boxes_clear
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:761,1
    - Dst: CAIRO_STACK_ARRAY_LENGTH
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:754,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:809,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:808,1
    - Dst: _rectangle_sort
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:875,1
    - Dst: _rectangle_sort
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:883,1
    - Dst: _cairo_bentley_ottmann_tessellate_rectangular
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:887,1
    - Dst: assert
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:785,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:816,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:806,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:821,1
    - Dst: _cairo_boxes_clear
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:886,1
    - Dst: free
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:891,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:752,1
    - Dst: _cairo_boxes_clear
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:783,1
    - Dst: free
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:823,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:807,1
    - Dst: free
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:879,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 134
    argCount: 3
    argNames:
    - in
    - fill_rule
    - out
    argTypes:
    - cairo_boxes_t*
    - cairo_fill_rule_t
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 894
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 894
    functionName: _cairo_bentley_ottmann_tessellate_boxes
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann-rectangular.c
    functionUses: []
    functionsReached:
    - CAIRO_STACK_ARRAY_LENGTH
    - _rectangle_sort
    - _cairo_bentley_ottmann_tessellate_rectangular
    - _cairo_error
    - _cairo_malloc_ab_plus_c
    - _cairo_boxes_clear
    - ARRAY_LENGTH
    - _cairo_fixed_integer_floor
    - free
    - assert
    - _cairo_boxes_add
    - _cairo_malloc_ab
    - memset
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_bentley_ottmann_tessellate_boxes (const cairo_boxes_t\
      \ *in,\t\t\t\t\t cairo_fill_rule_t fill_rule,\t\t\t\t\t cairo_boxes_t *out) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: edge_end_box
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:300,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 4
    argNames:
    - sweep_line
    - left
    - right
    - top
    argTypes:
    - sweep_line_t*
    - edge_t*
    - edge_t*
    - int
    constantsTouched: []
    func_position:
      end: 307
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 307
    functionName: edge_start_or_continue_box
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann-rectangular.c
    functionUses: []
    functionsReached:
    - edge_end_box
    linkageType: ''
    returnType: void
    signature: "static inline void edge_start_or_continue_box (sweep_line_t *sweep_line,\t\
      \t\t edge_t\t*left,\t\t\t edge_t\t*right,\t\t\t int\t\t top) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:98,1
    - Dst: fclose
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:117,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:104,1
    - Dst: fopen
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:101,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:116,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - traps
    - filename
    argTypes:
    - cairo_traps_t*
    - char*
    constantsTouched: []
    func_position:
      end: 119
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 119
    functionName: dump_traps
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann-rectangular.c
    functionUses: []
    functionsReached:
    - fopen
    - getenv
    - fprintf
    - fclose
    linkageType: ''
    returnType: void
    signature: 'static void dump_traps (cairo_traps_t *traps, const char *filename) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: active_edges_insert
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:459,1
    - Dst: edge_end_box
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:498,1
    - Dst: assert
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:478,1
    - Dst: edge_end_box
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:490,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:497,1
    - Dst: edge_start_or_continue_box
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:511,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:522,1
    - Dst: edge_end_box
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:523,1
    - Dst: edge_start_or_continue_box
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:532,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 53
    argCount: 1
    argNames:
    - sweep
    argTypes:
    - sweep_line_t*
    constantsTouched: []
    func_position:
      end: 539
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 539
    functionName: active_edges_to_traps
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann-rectangular.c
    functionUses: []
    functionsReached:
    - edge_end_box
    - active_edges_insert
    - assert
    - edge_start_or_continue_box
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'static inline void active_edges_to_traps (sweep_line_t *sweep) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sweep_line_delete_edge
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:572,1
    - Dst: sweep_line_delete_edge
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:573,1
    - Dst: rectangle_pop_stop
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:575,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - sweep
    - rectangle
    argTypes:
    - sweep_line_t*
    - rectangle_t*
    constantsTouched: []
    func_position:
      end: 577
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 577
    functionName: sweep_line_delete
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann-rectangular.c
    functionUses: []
    functionsReached:
    - rectangle_pop_stop
    - sweep_line_delete_edge
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static inline cairo_bool_t sweep_line_delete (sweep_line_t\t*sweep,\
      \ rectangle_t *rectangle) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: edge_end_box
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:550,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - sweep
    - edge
    argTypes:
    - sweep_line_t*
    - edge_t*
    constantsTouched: []
    func_position:
      end: 558
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 558
    functionName: sweep_line_delete_edge
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann-rectangular.c
    functionUses: []
    functionsReached:
    - edge_end_box
    linkageType: ''
    returnType: void
    signature: 'static inline void sweep_line_delete_edge (sweep_line_t *sweep, edge_t
      *edge) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pqueue_push
      Src: /src/cairo/src/cairo-bentley-ottmann-rectangular.c:592,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - sweep
    - rectangle
    argTypes:
    - sweep_line_t*
    - rectangle_t*
    constantsTouched: []
    func_position:
      end: 593
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 593
    functionName: sweep_line_insert
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann-rectangular.c
    functionUses: []
    functionsReached:
    - pqueue_push
    linkageType: ''
    returnType: void
    signature: "static inline void sweep_line_insert (sweep_line_t\t*sweep, rectangle_t\
      \ *rectangle) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - path
    argTypes:
    - cairo_path_fixed_t*
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: _cairo_path_fixed_fill_is_empty
    functionSourceFile: /src/cairo/src/cairo-path-fixed-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static inline cairo_bool_t _cairo_path_fixed_fill_is_empty (const
      cairo_path_fixed_t *path) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - path
    argTypes:
    - cairo_path_fixed_t*
    constantsTouched: []
    func_position:
      end: 196
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 196
    functionName: _cairo_path_fixed_fill_maybe_region
    functionSourceFile: /src/cairo/src/cairo-path-fixed-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static inline cairo_bool_t _cairo_path_fixed_fill_maybe_region (const
      cairo_path_fixed_t *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - path
    argTypes:
    - cairo_path_fixed_t*
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: _cairo_path_fixed_stroke_is_rectilinear
    functionSourceFile: /src/cairo/src/cairo-path-fixed-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static inline cairo_bool_t _cairo_path_fixed_stroke_is_rectilinear
      (const cairo_path_fixed_t *path) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - path
    argTypes:
    - cairo_path_fixed_t*
    constantsTouched: []
    func_position:
      end: 174
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 174
    functionName: _cairo_path_fixed_fill_is_rectilinear
    functionSourceFile: /src/cairo/src/cairo-path-fixed-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static inline cairo_bool_t _cairo_path_fixed_fill_is_rectilinear (const
      cairo_path_fixed_t *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - key_a
    - key_b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 140
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 140
    functionName: _cairo_hash_table_uid_keys_equal
    functionSourceFile: /src/cairo/src/cairo-hash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_hash_table_uid_keys_equal (const void *key_a,
      const void *key_b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-hash.c:216,1
    - Dst: free
      Src: /src/cairo/src/cairo-hash.c:220,1
    - Dst: free
      Src: /src/cairo/src/cairo-hash.c:221,1
    - Dst: assert
      Src: /src/cairo/src/cairo-hash.c:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - hash_table
    argTypes:
    - cairo_hash_table_t*
    constantsTouched: []
    func_position:
      end: 222
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 222
    functionName: _cairo_hash_table_destroy
    functionSourceFile: /src/cairo/src/cairo-hash.c
    functionUses: []
    functionsReached:
    - free
    - assert
    linkageType: ''
    returnType: void
    signature: 'void _cairo_hash_table_destroy (cairo_hash_table_t *hash_table) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ENTRY_IS_LIVE
      Src: /src/cairo/src/cairo-hash.c:352,1
    - Dst: ENTRY_IS_LIVE
      Src: /src/cairo/src/cairo-hash.c:366,1
    - Dst: ENTRY_IS_FREE
      Src: /src/cairo/src/cairo-hash.c:355,1
    - Dst: ENTRY_IS_FREE
      Src: /src/cairo/src/cairo-hash.c:369,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 379
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 379
    functionName: _cairo_hash_table_lookup
    functionSourceFile: /src/cairo/src/cairo-hash.c
    functionUses: []
    functionsReached:
    - ENTRY_IS_FREE
    - ENTRY_IS_LIVE
    linkageType: ''
    returnType: void*
    signature: "void *_cairo_hash_table_lookup (cairo_hash_table_t *hash_table,\t\t\
      \t cairo_hash_entry_t *key) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-hash.c:408,1
    - Dst: ENTRY_IS_LIVE
      Src: /src/cairo/src/cairo-hash.c:426,1
    - Dst: rand
      Src: /src/cairo/src/cairo-hash.c:411,1
    - Dst: predicate
      Src: /src/cairo/src/cairo-hash.c:415,1
    - Dst: ENTRY_IS_LIVE
      Src: /src/cairo/src/cairo-hash.c:415,1
    - Dst: predicate
      Src: /src/cairo/src/cairo-hash.c:426,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 431
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 431
    functionName: _cairo_hash_table_random_entry
    functionSourceFile: /src/cairo/src/cairo-hash.c
    functionUses: []
    functionsReached:
    - rand
    - predicate
    - ENTRY_IS_LIVE
    - assert
    linkageType: ''
    returnType: void*
    signature: "void *_cairo_hash_table_random_entry (cairo_hash_table_t\t *hash_table,\t\
      \t\t\tcairo_hash_predicate_func_t predicate) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_hash_table_lookup_exact_key
      Src: /src/cairo/src/cairo-hash.c:522,1
    - Dst: _cairo_hash_table_manage
      Src: /src/cairo/src/cairo-hash.c:534,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - hash_table
    - key
    argTypes:
    - cairo_hash_table_t*
    - cairo_hash_entry_t*
    constantsTouched: []
    func_position:
      end: 536
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 536
    functionName: _cairo_hash_table_remove
    functionSourceFile: /src/cairo/src/cairo-hash.c
    functionUses: []
    functionsReached:
    - _cairo_hash_table_lookup_exact_key
    - _cairo_hash_table_manage
    linkageType: ''
    returnType: void
    signature: "void _cairo_hash_table_remove (cairo_hash_table_t *hash_table,\t\t\
      \t cairo_hash_entry_t *key) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENTRY_IS_LIVE
      Src: /src/cairo/src/cairo-hash.c:235,1
    - Dst: ENTRY_IS_LIVE
      Src: /src/cairo/src/cairo-hash.c:246,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 252
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 252
    functionName: _cairo_hash_table_lookup_unique_key
    functionSourceFile: /src/cairo/src/cairo-hash.c
    functionUses: []
    functionsReached:
    - ENTRY_IS_LIVE
    linkageType: ''
    returnType: cairo_hash_entry_t**
    signature: "static cairo_hash_entry_t **_cairo_hash_table_lookup_unique_key (cairo_hash_table_t\
      \ *hash_table,\t\t\t\t cairo_hash_entry_t *key) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-hash.c:166,1
    - Dst: memset
      Src: /src/cairo/src/cairo-hash.c:177,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-hash.c:168,1
    - Dst: _cairo_calloc_ab
      Src: /src/cairo/src/cairo-hash.c:180,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-hash.c:167,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-hash.c:182,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-hash.c:183,1
    - Dst: free
      Src: /src/cairo/src/cairo-hash.c:184,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 193
    functionName: _cairo_hash_table_create
    functionSourceFile: /src/cairo/src/cairo-hash.c
    functionUses: []
    functionsReached:
    - _cairo_calloc_ab
    - free
    - _cairo_error_throw
    - memset
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_hash_table_t*
    signature: 'cairo_hash_table_t *_cairo_hash_table_create (cairo_hash_keys_equal_func_t
      keys_equal) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-hash.c:284,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-hash.c:308,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-hash.c:285,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-hash.c:307,1
    - Dst: _cairo_calloc_ab
      Src: /src/cairo/src/cairo-hash.c:306,1
    - Dst: ENTRY_IS_LIVE
      Src: /src/cairo/src/cairo-hash.c:311,1
    - Dst: _cairo_hash_table_lookup_unique_key
      Src: /src/cairo/src/cairo-hash.c:312,1
    - Dst: free
      Src: /src/cairo/src/cairo-hash.c:317,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 1
    argNames:
    - hash_table
    argTypes:
    - cairo_hash_table_t*
    constantsTouched: []
    func_position:
      end: 323
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 323
    functionName: _cairo_hash_table_manage
    functionSourceFile: /src/cairo/src/cairo-hash.c
    functionUses: []
    functionsReached:
    - _cairo_calloc_ab
    - _cairo_hash_table_lookup_unique_key
    - _cairo_error
    - free
    - ARRAY_LENGTH
    - assert
    - ENTRY_IS_LIVE
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_hash_table_manage (cairo_hash_table_t
      *hash_table) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-hash.c:461,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-hash.c:464,1
    - Dst: _cairo_hash_table_lookup_unique_key
      Src: /src/cairo/src/cairo-hash.c:467,1
    - Dst: ENTRY_IS_FREE
      Src: /src/cairo/src/cairo-hash.c:469,1
    - Dst: _cairo_hash_table_manage
      Src: /src/cairo/src/cairo-hash.c:463,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - hash_table
    - key_and_value
    argTypes:
    - cairo_hash_table_t*
    - cairo_hash_entry_t*
    constantsTouched: []
    func_position:
      end: 477
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 477
    functionName: _cairo_hash_table_insert
    functionSourceFile: /src/cairo/src/cairo-hash.c
    functionUses: []
    functionsReached:
    - unlikely
    - _cairo_hash_table_manage
    - assert
    - ENTRY_IS_FREE
    - _cairo_hash_table_lookup_unique_key
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_hash_table_insert (cairo_hash_table_t *hash_table,\t\
      \t\t cairo_hash_entry_t *key_and_value) "
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 507
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 507
    functionName: _cairo_hash_table_lookup_exact_key
    functionSourceFile: /src/cairo/src/cairo-hash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_hash_entry_t**
    signature: "static cairo_hash_entry_t **_cairo_hash_table_lookup_exact_key (cairo_hash_table_t\
      \ *hash_table,\t\t\t\t cairo_hash_entry_t *key) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENTRY_IS_LIVE
      Src: /src/cairo/src/cairo-hash.c:565,1
    - Dst: hash_callback
      Src: /src/cairo/src/cairo-hash.c:566,1
    - Dst: _cairo_hash_table_manage
      Src: /src/cairo/src/cairo-hash.c:575,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - hash_table
    - hash_callback
    - closure
    argTypes:
    - cairo_hash_table_t*
    - cairo_hash_callback_func_t
    - void*
    constantsTouched: []
    func_position:
      end: 577
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 577
    functionName: _cairo_hash_table_foreach
    functionSourceFile: /src/cairo/src/cairo-hash.c
    functionUses: []
    functionsReached:
    - hash_callback
    - ENTRY_IS_LIVE
    - _cairo_hash_table_manage
    linkageType: ''
    returnType: void
    signature: "void _cairo_hash_table_foreach (cairo_hash_table_t\t *hash_table,\t\
      \t\t cairo_hash_callback_func_t hash_callback,\t\t\t void\t\t\t *closure) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - display
    - event
    argTypes:
    - Display*
    - XErrorEvent*
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: _noop_error_handler
    functionSourceFile: /src/cairo/src/cairo-xlib-display.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "static int _noop_error_handler (Display *display,\t\t XErrorEvent\
      \ *event) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-xlib-display.c:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - abstract_display
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: _cairo_xlib_display_destroy
    functionSourceFile: /src/cairo/src/cairo-xlib-display.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_xlib_display_destroy (void *abstract_display) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-display.c:210,1
    - Dst: _cairo_device_create_in_error
      Src: /src/cairo/src/cairo-xlib-display.c:211,1
    - Dst: XRenderQueryVersion
      Src: /src/cairo/src/cairo-xlib-display.c:229,1
    - Dst: _cairo_xlib_display_select_compositor
      Src: /src/cairo/src/cairo-xlib-display.c:247,1
    - Dst: memset
      Src: /src/cairo/src/cairo-xlib-display.c:253,1
    - Dst: getenv
      Src: /src/cairo/src/cairo-xlib-display.c:230,1
    - Dst: sscanf
      Src: /src/cairo/src/cairo-xlib-display.c:235,1
    - Dst: _cairo_xlib_vendor_is_xorg
      Src: /src/cairo/src/cairo-xlib-display.c:317,1
    - Dst: VendorRelease
      Src: /src/cairo/src/cairo-xlib-display.c:318,1
    - Dst: VendorRelease
      Src: /src/cairo/src/cairo-xlib-display.c:329,1
    - Dst: CAIRO_MUTEX_INITIALIZE
      Src: /src/cairo/src/cairo-xlib-display.c:182,1
    - Dst: cairo_device_reference
      Src: /src/cairo/src/cairo-xlib-display.c:204,1
    - Dst: _cairo_device_init
      Src: /src/cairo/src/cairo-xlib-display.c:215,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-xlib-display.c:218,1
    - Dst: memset
      Src: /src/cairo/src/cairo-xlib-display.c:252,1
    - Dst: strstr
      Src: /src/cairo/src/cairo-xlib-display.c:231,1
    - Dst: _cairo_xlib_display_init_shm
      Src: /src/cairo/src/cairo-xlib-display.c:260,1
    - Dst: XESetCloseDisplay
      Src: /src/cairo/src/cairo-xlib-display.c:351,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-xlib-display.c:209,1
    - Dst: memset
      Src: /src/cairo/src/cairo-xlib-display.c:251,1
    - Dst: VendorRelease
      Src: /src/cairo/src/cairo-xlib-display.c:319,1
    - Dst: VendorRelease
      Src: /src/cairo/src/cairo-xlib-display.c:323,1
    - Dst: strstr
      Src: /src/cairo/src/cairo-xlib-display.c:336,1
    - Dst: free
      Src: /src/cairo/src/cairo-xlib-display.c:347,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-xlib-display.c:360,1
    - Dst: VendorRelease
      Src: /src/cairo/src/cairo-xlib-display.c:333,1
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-xlib-display.c:191,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-xlib-display.c:219,1
    - Dst: memset
      Src: /src/cairo/src/cairo-xlib-display.c:255,1
    - Dst: memset
      Src: /src/cairo/src/cairo-xlib-display.c:250,1
    - Dst: ServerVendor
      Src: /src/cairo/src/cairo-xlib-display.c:336,1
    - Dst: VendorRelease
      Src: /src/cairo/src/cairo-xlib-display.c:337,1
    - Dst: XAddExtension
      Src: /src/cairo/src/cairo-xlib-display.c:344,1
    - Dst: _cairo_device_create_in_error
      Src: /src/cairo/src/cairo-xlib-display.c:346,1
    - Dst: cairo_device_reference
      Src: /src/cairo/src/cairo-xlib-display.c:352,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-display.c:345,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 111
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 362
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 362
    functionName: _cairo_xlib_device_create
    functionSourceFile: /src/cairo/src/cairo-xlib-display.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_vendor_is_xorg
    - CAIRO_MUTEX_UNLOCK
    - sscanf
    - cairo_device_reference
    - ServerVendor
    - VendorRelease
    - _cairo_calloc
    - CAIRO_MUTEX_LOCK
    - _cairo_device_create_in_error
    - _cairo_device_init
    - getenv
    - XAddExtension
    - _cairo_xlib_display_select_compositor
    - _cairo_xlib_display_init_shm
    - strstr
    - cairo_list_init
    - free
    - XRenderQueryVersion
    - CAIRO_MUTEX_INITIALIZE
    - XESetCloseDisplay
    - memset
    - unlikely
    linkageType: ''
    returnType: cairo_device_t*
    signature: 'cairo_device_t *_cairo_xlib_device_create (Display *dpy) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: PIXMAN_FORMAT_A
      Src: /src/cairo/src/cairo-xlib-display.c:398,1
    - Dst: PIXMAN_FORMAT_B
      Src: /src/cairo/src/cairo-xlib-display.c:402,1
    - Dst: PIXMAN_FORMAT_B
      Src: /src/cairo/src/cairo-xlib-display.c:406,1
    - Dst: PIXMAN_FORMAT_G
      Src: /src/cairo/src/cairo-xlib-display.c:408,1
    - Dst: PIXMAN_FORMAT_R
      Src: /src/cairo/src/cairo-xlib-display.c:431,1
    - Dst: PIXMAN_FORMAT_G
      Src: /src/cairo/src/cairo-xlib-display.c:433,1
    - Dst: PIXMAN_FORMAT_B
      Src: /src/cairo/src/cairo-xlib-display.c:448,1
    - Dst: PIXMAN_FORMAT_BPP
      Src: /src/cairo/src/cairo-xlib-display.c:452,1
    - Dst: PIXMAN_FORMAT_B
      Src: /src/cairo/src/cairo-xlib-display.c:456,1
    - Dst: PIXMAN_FORMAT_G
      Src: /src/cairo/src/cairo-xlib-display.c:457,1
    - Dst: PIXMAN_FORMAT_A
      Src: /src/cairo/src/cairo-xlib-display.c:459,1
    - Dst: MASK
      Src: /src/cairo/src/cairo-xlib-display.c:472,1
    - Dst: PIXMAN_FORMAT_G
      Src: /src/cairo/src/cairo-xlib-display.c:453,1
    - Dst: PIXMAN_FORMAT_DEPTH
      Src: /src/cairo/src/cairo-xlib-display.c:391,1
    - Dst: PIXMAN_FORMAT_G
      Src: /src/cairo/src/cairo-xlib-display.c:401,1
    - Dst: MASK
      Src: /src/cairo/src/cairo-xlib-display.c:404,1
    - Dst: MASK
      Src: /src/cairo/src/cairo-xlib-display.c:411,1
    - Dst: PIXMAN_FORMAT_B
      Src: /src/cairo/src/cairo-xlib-display.c:409,1
    - Dst: PIXMAN_FORMAT_A
      Src: /src/cairo/src/cairo-xlib-display.c:423,1
    - Dst: PIXMAN_FORMAT_B
      Src: /src/cairo/src/cairo-xlib-display.c:425,1
    - Dst: MASK
      Src: /src/cairo/src/cairo-xlib-display.c:429,1
    - Dst: PIXMAN_FORMAT_R
      Src: /src/cairo/src/cairo-xlib-display.c:434,1
    - Dst: MASK
      Src: /src/cairo/src/cairo-xlib-display.c:436,1
    - Dst: PIXMAN_FORMAT_R
      Src: /src/cairo/src/cairo-xlib-display.c:457,1
    - Dst: MASK
      Src: /src/cairo/src/cairo-xlib-display.c:398,1
    - Dst: PIXMAN_FORMAT_TYPE
      Src: /src/cairo/src/cairo-xlib-display.c:394,1
    - Dst: MASK
      Src: /src/cairo/src/cairo-xlib-display.c:408,1
    - Dst: PIXMAN_FORMAT_G
      Src: /src/cairo/src/cairo-xlib-display.c:405,1
    - Dst: PIXMAN_FORMAT_R
      Src: /src/cairo/src/cairo-xlib-display.c:427,1
    - Dst: PIXMAN_FORMAT_G
      Src: /src/cairo/src/cairo-xlib-display.c:430,1
    - Dst: MASK
      Src: /src/cairo/src/cairo-xlib-display.c:433,1
    - Dst: MASK
      Src: /src/cairo/src/cairo-xlib-display.c:448,1
    - Dst: PIXMAN_FORMAT_B
      Src: /src/cairo/src/cairo-xlib-display.c:452,1
    - Dst: PIXMAN_FORMAT_BPP
      Src: /src/cairo/src/cairo-xlib-display.c:456,1
    - Dst: MASK
      Src: /src/cairo/src/cairo-xlib-display.c:455,1
    - Dst: PIXMAN_FORMAT_G
      Src: /src/cairo/src/cairo-xlib-display.c:451,1
    - Dst: XRenderFindFormat
      Src: /src/cairo/src/cairo-xlib-display.c:488,1
    - Dst: MASK
      Src: /src/cairo/src/cairo-xlib-display.c:459,1
    - Dst: PIXMAN_FORMAT_A
      Src: /src/cairo/src/cairo-xlib-display.c:472,1
    - Dst: PIXMAN_FORMAT_A
      Src: /src/cairo/src/cairo-xlib-display.c:399,1
    - Dst: PIXMAN_FORMAT_R
      Src: /src/cairo/src/cairo-xlib-display.c:400,1
    - Dst: PIXMAN_FORMAT_R
      Src: /src/cairo/src/cairo-xlib-display.c:404,1
    - Dst: PIXMAN_FORMAT_B
      Src: /src/cairo/src/cairo-xlib-display.c:411,1
    - Dst: MASK
      Src: /src/cairo/src/cairo-xlib-display.c:423,1
    - Dst: PIXMAN_FORMAT_G
      Src: /src/cairo/src/cairo-xlib-display.c:426,1
    - Dst: PIXMAN_FORMAT_B
      Src: /src/cairo/src/cairo-xlib-display.c:429,1
    - Dst: PIXMAN_FORMAT_R
      Src: /src/cairo/src/cairo-xlib-display.c:436,1
    - Dst: PIXMAN_FORMAT_BPP
      Src: /src/cairo/src/cairo-xlib-display.c:449,1
    - Dst: MASK
      Src: /src/cairo/src/cairo-xlib-display.c:451,1
    - Dst: PIXMAN_FORMAT_R
      Src: /src/cairo/src/cairo-xlib-display.c:455,1
    - Dst: PIXMAN_FORMAT_B
      Src: /src/cairo/src/cairo-xlib-display.c:449,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 128
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 489
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 489
    functionName: _cairo_xlib_display_get_xrender_format_for_pixman
    functionSourceFile: /src/cairo/src/cairo-xlib-display.c
    functionUses: []
    functionsReached:
    - PIXMAN_FORMAT_B
    - PIXMAN_FORMAT_A
    - PIXMAN_FORMAT_BPP
    - PIXMAN_FORMAT_TYPE
    - XRenderFindFormat
    - PIXMAN_FORMAT_G
    - PIXMAN_FORMAT_R
    - MASK
    - PIXMAN_FORMAT_DEPTH
    linkageType: ''
    returnType: XRenderPictFormat*
    signature: "XRenderPictFormat *_cairo_xlib_display_get_xrender_format_for_pixman(cairo_xlib_display_t\
      \ *display,\t\t\t\t\t\t pixman_format_code_t format) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_foreach_entry
      Src: /src/cairo/src/cairo-xlib-display.c:545,1
    - Dst: cairo_list_move
      Src: /src/cairo/src/cairo-xlib-display.c:548,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 554
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 554
    functionName: _cairo_xlib_display_get_screen
    functionSourceFile: /src/cairo/src/cairo-xlib-display.c
    functionUses: []
    functionsReached:
    - cairo_list_foreach_entry
    - cairo_list_move
    linkageType: ''
    returnType: cairo_xlib_screen_t*
    signature: "cairo_xlib_screen_t *_cairo_xlib_display_get_screen (cairo_xlib_display_t\
      \ *display,\t\t\t\tScreen *screen) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - device
    argTypes:
    - cairo_device_t*
    constantsTouched: []
    func_position:
      end: 566
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 566
    functionName: _cairo_xlib_display_has_reflect
    functionSourceFile: /src/cairo/src/cairo-xlib-display.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t _cairo_xlib_display_has_reflect (cairo_device_t *device) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_device_set_error
      Src: /src/cairo/src/cairo-xlib-display.c:632,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - device
    - precision
    argTypes:
    - cairo_device_t*
    - int
    constantsTouched: []
    func_position:
      end: 638
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 638
    functionName: cairo_xlib_device_debug_set_precision
    functionSourceFile: /src/cairo/src/cairo-xlib-display.c
    functionUses: []
    functionsReached:
    - _cairo_device_set_error
    linkageType: ''
    returnType: void
    signature: "void cairo_xlib_device_debug_set_precision (cairo_device_t *device,\t\
      \t\t\t int precision) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-xlib-display.c:107,1
    - Dst: cairo_device_finish
      Src: /src/cairo/src/cairo-xlib-display.c:115,1
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-xlib-display.c:120,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-xlib-display.c:130,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-xlib-display.c:111,1
    - Dst: cairo_device_destroy
      Src: /src/cairo/src/cairo-xlib-display.c:133,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 2
    argNames:
    - dpy
    - codes
    argTypes:
    - Display*
    - XExtCodes*
    constantsTouched: []
    func_position:
      end: 138
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 138
    functionName: _cairo_xlib_close_display
    functionSourceFile: /src/cairo/src/cairo-xlib-display.c
    functionUses: []
    functionsReached:
    - cairo_device_destroy
    - CAIRO_MUTEX_LOCK
    - CAIRO_MUTEX_UNLOCK
    - cairo_device_finish
    linkageType: ''
    returnType: int
    signature: 'static int _cairo_xlib_close_display (Display *dpy, XExtCodes *codes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xlib_display_fini_shm
      Src: /src/cairo/src/cairo-xlib-display.c:65,1
    - Dst: XSync
      Src: /src/cairo/src/cairo-xlib-display.c:71,1
    - Dst: cairo_list_is_empty
      Src: /src/cairo/src/cairo-xlib-display.c:74,1
    - Dst: XSetErrorHandler
      Src: /src/cairo/src/cairo-xlib-display.c:72,1
    - Dst: cairo_device_acquire
      Src: /src/cairo/src/cairo-xlib-display.c:67,1
    - Dst: _cairo_xlib_font_close
      Src: /src/cairo/src/cairo-xlib-display.c:75,1
    - Dst: cairo_list_first_entry
      Src: /src/cairo/src/cairo-xlib-display.c:75,1
    - Dst: cairo_list_is_empty
      Src: /src/cairo/src/cairo-xlib-display.c:80,1
    - Dst: _cairo_xlib_screen_destroy
      Src: /src/cairo/src/cairo-xlib-display.c:81,1
    - Dst: cairo_list_first_entry
      Src: /src/cairo/src/cairo-xlib-display.c:82,1
    - Dst: XSetErrorHandler
      Src: /src/cairo/src/cairo-xlib-display.c:88,1
    - Dst: cairo_device_release
      Src: /src/cairo/src/cairo-xlib-display.c:90,1
    - Dst: XSync
      Src: /src/cairo/src/cairo-xlib-display.c:87,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - abstract_display
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 92
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 92
    functionName: _cairo_xlib_display_finish
    functionSourceFile: /src/cairo/src/cairo-xlib-display.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_font_close
    - cairo_device_acquire
    - XSetErrorHandler
    - cairo_list_is_empty
    - cairo_list_first_entry
    - cairo_device_release
    - XSync
    - _cairo_xlib_screen_destroy
    - _cairo_xlib_display_fini_shm
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_xlib_display_finish (void *abstract_display) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xlib_traps_compositor_get
      Src: /src/cairo/src/cairo-xlib-display.c:155,1
    - Dst: _cairo_xlib_fallback_compositor_get
      Src: /src/cairo/src/cairo-xlib-display.c:161,1
    - Dst: _cairo_xlib_core_compositor_get
      Src: /src/cairo/src/cairo-xlib-display.c:159,1
    - Dst: _cairo_xlib_mask_compositor_get
      Src: /src/cairo/src/cairo-xlib-display.c:157,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - display
    argTypes:
    - cairo_xlib_display_t*
    constantsTouched: []
    func_position:
      end: 163
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 163
    functionName: _cairo_xlib_display_select_compositor
    functionSourceFile: /src/cairo/src/cairo-xlib-display.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_core_compositor_get
    - _cairo_xlib_traps_compositor_get
    - _cairo_xlib_mask_compositor_get
    - _cairo_xlib_fallback_compositor_get
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_xlib_display_select_compositor (cairo_xlib_display_t
      *display) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_device_acquire
      Src: /src/cairo/src/cairo-xlib-display.c:369,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - device
    - display
    argTypes:
    - cairo_device_t*
    - cairo_xlib_display_t**
    constantsTouched: []
    func_position:
      end: 375
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 375
    functionName: _cairo_xlib_display_acquire
    functionSourceFile: /src/cairo/src/cairo-xlib-display.c
    functionUses: []
    functionsReached:
    - cairo_device_acquire
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_xlib_display_acquire (cairo_device_t *device,
      cairo_xlib_display_t **display) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xlib_display_get_xrender_format_for_pixman
      Src: /src/cairo/src/cairo-xlib-display.c:509,1
    - Dst: _cairo_xlib_display_get_xrender_format_for_pixman
      Src: /src/cairo/src/cairo-xlib-display.c:521,1
    - Dst: _cairo_xlib_display_get_xrender_format_for_pixman
      Src: /src/cairo/src/cairo-xlib-display.c:517,1
    - Dst: _cairo_xlib_display_get_xrender_format_for_pixman
      Src: /src/cairo/src/cairo-xlib-display.c:513,1
    - Dst: XRenderFindStandardFormat
      Src: /src/cairo/src/cairo-xlib-display.c:532,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 537
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 537
    functionName: _cairo_xlib_display_get_xrender_format
    functionSourceFile: /src/cairo/src/cairo-xlib-display.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_display_get_xrender_format_for_pixman
    - XRenderFindStandardFormat
    linkageType: ''
    returnType: XRenderPictFormat*
    signature: "XRenderPictFormat *_cairo_xlib_display_get_xrender_format (cairo_xlib_display_t\t\
      *display,\t cairo_format_t\t\t format) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - device
    argTypes:
    - cairo_device_t*
    constantsTouched: []
    func_position:
      end: 560
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 560
    functionName: _cairo_xlib_display_has_repeat
    functionSourceFile: /src/cairo/src/cairo-xlib-display.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t _cairo_xlib_display_has_repeat (cairo_device_t *device) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - device
    argTypes:
    - cairo_device_t*
    constantsTouched: []
    func_position:
      end: 572
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 572
    functionName: _cairo_xlib_display_has_gradients
    functionSourceFile: /src/cairo/src/cairo-xlib-display.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t _cairo_xlib_display_has_gradients (cairo_device_t *device) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xlib_display_select_compositor
      Src: /src/cairo/src/cairo-xlib-display.c:610,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - device
    - major_version
    - minor_version
    argTypes:
    - cairo_device_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 611
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 611
    functionName: cairo_xlib_device_debug_cap_xrender_version
    functionSourceFile: /src/cairo/src/cairo-xlib-display.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_display_select_compositor
    linkageType: ''
    returnType: void
    signature: "void cairo_xlib_device_debug_cap_xrender_version (cairo_device_t *device,\t\
      \t\t\t\t int major_version,\t\t\t\t\t int minor_version) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_device_set_error
      Src: /src/cairo/src/cairo-xlib-display.c:658,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - device
    argTypes:
    - cairo_device_t*
    constantsTouched: []
    func_position:
      end: 664
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 664
    functionName: cairo_xlib_device_debug_get_precision
    functionSourceFile: /src/cairo/src/cairo-xlib-display.c
    functionUses: []
    functionsReached:
    - _cairo_device_set_error
    linkageType: ''
    returnType: int
    signature: 'int cairo_xlib_device_debug_get_precision (cairo_device_t *device) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VG
      Src: /src/cairo/src/cairo-path-fixed.c:74,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-path-fixed.c:81,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-path-fixed.c:80,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/cairo/src/cairo-path-fixed.c:74,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-path-fixed.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - path
    argTypes:
    - cairo_path_fixed_t*
    constantsTouched: []
    func_position:
      end: 100
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 100
    functionName: _cairo_path_fixed_init
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached:
    - VALGRIND_MAKE_MEM_UNDEFINED
    - ARRAY_LENGTH
    - VG
    - cairo_list_init
    linkageType: ''
    returnType: void
    signature: 'void _cairo_path_fixed_init (cairo_path_fixed_t *path) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-fixed.c:460,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-path-fixed.c:461,1
    - Dst: _cairo_path_fixed_move_to
      Src: /src/cairo/src/cairo-path-fixed.c:463,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - path
    - dx
    - dy
    argTypes:
    - cairo_path_fixed_t*
    - cairo_fixed_t
    - cairo_fixed_t
    constantsTouched: []
    func_position:
      end: 467
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 467
    functionName: _cairo_path_fixed_rel_move_to
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_path_fixed_move_to
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_path_fixed_rel_move_to (cairo_path_fixed_t *path,\t\
      \t\t cairo_fixed_t\t dx,\t\t\t cairo_fixed_t\t dy) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - path
    - x
    - y
    argTypes:
    - cairo_path_fixed_t*
    - cairo_fixed_t*
    - cairo_fixed_t*
    constantsTouched: []
    func_position:
      end: 689
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 689
    functionName: _cairo_path_fixed_get_current_point
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t _cairo_path_fixed_get_current_point (cairo_path_fixed_t\
      \ *path,\t\t\t\t cairo_fixed_t\t*x,\t\t\t\t cairo_fixed_t\t*y) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_add_tail
      Src: /src/cairo/src/cairo-path-fixed.c:756,1
    - Dst: cairo_path_head
      Src: /src/cairo/src/cairo-path-fixed.c:756,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - path
    - buf
    argTypes:
    - cairo_path_fixed_t*
    - cairo_path_buf_t*
    constantsTouched: []
    func_position:
      end: 757
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 757
    functionName: _cairo_path_fixed_add_buf
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached:
    - cairo_path_head
    - cairo_list_add_tail
    linkageType: ''
    returnType: void
    signature: "static void _cairo_path_fixed_add_buf (cairo_path_fixed_t *path,\t\
      \t\t cairo_path_buf_t *buf) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - op
    argTypes:
    - cairo_path_buf_t*
    - cairo_path_op_t
    constantsTouched: []
    func_position:
      end: 792
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 792
    functionName: _cairo_path_buf_add_op
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void _cairo_path_buf_add_op (cairo_path_buf_t *buf,\t\t\tcairo_path_op_t\t\
      \ op) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - closure
    - point
    argTypes:
    - void*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 1123
      start: 1114
    functionDepth: 0
    functionLinenumber: 1114
    functionLinenumberEnd: 1123
    functionName: _cpf_move_to
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cpf_move_to (void *closure,\t const cairo_point_t\
      \ *point) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_spline_init
      Src: /src/cairo/src/cairo-path-fixed.c:1155,1
    - Dst: _cpf_line_to
      Src: /src/cairo/src/cairo-path-fixed.c:1160,1
    - Dst: _cairo_spline_decompose
      Src: /src/cairo/src/cairo-path-fixed.c:1165,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 4
    argNames:
    - closure
    - p1
    - p2
    - p3
    argTypes:
    - void*
    - cairo_point_t*
    - cairo_point_t*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 1166
      start: 1144
    functionDepth: 0
    functionLinenumber: 1144
    functionLinenumberEnd: 1166
    functionName: _cpf_curve_to
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached:
    - _cairo_spline_decompose
    - _cpf_line_to
    - _cairo_spline_init
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cpf_curve_to (void\t\t*closure,\t const cairo_point_t\t\
      *p1,\t const cairo_point_t\t*p2,\t const cairo_point_t\t*p3) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_fixed_interpret
      Src: /src/cairo/src/cairo-path-fixed.c:1187,1
    - Dst: _cairo_path_fixed_interpret
      Src: /src/cairo/src/cairo-path-fixed.c:1200,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 6
    argNames:
    - path
    - move_to
    - line_to
    - close_path
    - closure
    - tolerance
    argTypes:
    - cairo_path_fixed_t*
    - cairo_path_fixed_move_to_func_t*
    - cairo_path_fixed_line_to_func_t*
    - cairo_path_fixed_close_path_func_t*
    - void*
    - double
    constantsTouched: []
    func_position:
      end: 1206
      start: 1176
    functionDepth: 0
    functionLinenumber: 1176
    functionLinenumberEnd: 1206
    functionName: _cairo_path_fixed_interpret_flat
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_interpret
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_path_fixed_interpret_flat (const cairo_path_fixed_t\t\
      \t*path,\t\t\t\t cairo_path_fixed_move_to_func_t\t*move_to,\t\t\t\t cairo_path_fixed_line_to_func_t\t\
      *line_to,\t\t\t\t cairo_path_fixed_close_path_func_t\t*close_path,\t\t\t\t void\t\
      \t\t\t\t*closure,\t\t\t\t double\t\t\t\ttolerance) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_path_head
      Src: /src/cairo/src/cairo-path-fixed.c:156,1
    - Dst: cairo_path_buf_next
      Src: /src/cairo/src/cairo-path-fixed.c:142,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-fixed.c:150,1
    - Dst: _cairo_path_fixed_add_buf
      Src: /src/cairo/src/cairo-path-fixed.c:168,1
    - Dst: cairo_path_head
      Src: /src/cairo/src/cairo-path-fixed.c:140,1
    - Dst: cairo_path_head
      Src: /src/cairo/src/cairo-path-fixed.c:141,1
    - Dst: _cairo_path_fixed_fini
      Src: /src/cairo/src/cairo-path-fixed.c:151,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-path-fixed.c:159,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-path-fixed.c:163,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-path-fixed.c:116,1
    - Dst: _cairo_path_buf_create
      Src: /src/cairo/src/cairo-path-fixed.c:149,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-path-fixed.c:152,1
    - Dst: VG
      Src: /src/cairo/src/cairo-path-fixed.c:109,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-path-fixed.c:115,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-path-fixed.c:111,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/cairo/src/cairo-path-fixed.c:109,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-path-fixed.c:134,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-path-fixed.c:136,1
    - Dst: cairo_path_buf_next
      Src: /src/cairo/src/cairo-path-fixed.c:140,1
    - Dst: cairo_path_buf_next
      Src: /src/cairo/src/cairo-path-fixed.c:155,1
    - Dst: cairo_path_buf_next
      Src: /src/cairo/src/cairo-path-fixed.c:157,1
    - Dst: cairo_path_head
      Src: /src/cairo/src/cairo-path-fixed.c:155,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 64
    argCount: 2
    argNames:
    - path
    - other
    argTypes:
    - cairo_path_fixed_t*
    - cairo_path_fixed_t*
    constantsTouched: []
    func_position:
      end: 172
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 172
    functionName: _cairo_path_fixed_init_copy
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached:
    - memcpy
    - _cairo_path_fixed_add_buf
    - cairo_path_buf_next
    - _cairo_error
    - _cairo_path_buf_create
    - ARRAY_LENGTH
    - VG
    - unlikely
    - _cairo_path_fixed_fini
    - VALGRIND_MAKE_MEM_UNDEFINED
    - cairo_path_head
    - cairo_list_init
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_path_fixed_init_copy (cairo_path_fixed_t *path,\t\
      \t\t const cairo_path_fixed_t *other) "
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_fixed_move_to
      Src: /src/cairo/src/cairo-path-fixed.c:486,1
    - Dst: _cairo_path_fixed_last_op
      Src: /src/cairo/src/cairo-path-fixed.c:497,1
    - Dst: _cairo_path_fixed_last_op
      Src: /src/cairo/src/cairo-path-fixed.c:505,1
    - Dst: _cairo_path_fixed_move_to_apply
      Src: /src/cairo/src/cairo-path-fixed.c:488,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-fixed.c:489,1
    - Dst: _cairo_path_fixed_penultimate_point
      Src: /src/cairo/src/cairo-path-fixed.c:508,1
    - Dst: _cairo_path_fixed_drop_line_to
      Src: /src/cairo/src/cairo-path-fixed.c:511,1
    - Dst: _cairo_slope_init
      Src: /src/cairo/src/cairo-path-fixed.c:515,1
    - Dst: _cairo_slope_init
      Src: /src/cairo/src/cairo-path-fixed.c:516,1
    - Dst: _cairo_slope_equal
      Src: /src/cairo/src/cairo-path-fixed.c:517,1
    - Dst: _cairo_path_fixed_drop_line_to
      Src: /src/cairo/src/cairo-path-fixed.c:521,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-path-fixed.c:537,1
    - Dst: _cairo_slope_backwards
      Src: /src/cairo/src/cairo-path-fixed.c:519,1
    - Dst: _cairo_box_add_point
      Src: /src/cairo/src/cairo-path-fixed.c:548,1
    - Dst: _cairo_path_fixed_add
      Src: /src/cairo/src/cairo-path-fixed.c:550,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-path-fixed.c:538,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 3
    argNames:
    - path
    - x
    - y
    argTypes:
    - cairo_path_fixed_t*
    - cairo_fixed_t
    - cairo_fixed_t
    constantsTouched: []
    func_position:
      end: 551
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 551
    functionName: _cairo_path_fixed_line_to
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_add
    - _cairo_path_fixed_last_op
    - _cairo_path_fixed_move_to_apply
    - _cairo_path_fixed_drop_line_to
    - _cairo_path_fixed_move_to
    - _cairo_slope_equal
    - _cairo_slope_backwards
    - _cairo_box_add_point
    - _cairo_slope_init
    - _cairo_fixed_is_integer
    - _cairo_path_fixed_penultimate_point
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_path_fixed_line_to (cairo_path_fixed_t *path,\t\
      \t\t cairo_fixed_t\tx,\t\t\t cairo_fixed_t\ty) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_fixed_add_buf
      Src: /src/cairo/src/cairo-path-fixed.c:706,1
    - Dst: snprintf
      Src: /src/cairo/src/cairo-path-fixed.c:724,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-fixed.c:726,1
    - Dst: STRINGIFYFLAG
      Src: /src/cairo/src/cairo-path-fixed.c:734,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-path-fixed.c:731,1
    - Dst: STRINGIFYFLAG
      Src: /src/cairo/src/cairo-path-fixed.c:740,1
    - Dst: STRINGIFYFLAG
      Src: /src/cairo/src/cairo-path-fixed.c:736,1
    - Dst: STRINGIFYFLAG
      Src: /src/cairo/src/cairo-path-fixed.c:738,1
    - Dst: cairo_path_tail
      Src: /src/cairo/src/cairo-path-fixed.c:697,1
    - Dst: _cairo_path_buf_create
      Src: /src/cairo/src/cairo-path-fixed.c:702,1
    - Dst: snprintf
      Src: /src/cairo/src/cairo-path-fixed.c:723,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-fixed.c:725,1
    - Dst: _cairo_path_buf_add_op
      Src: /src/cairo/src/cairo-path-fixed.c:746,1
    - Dst: snprintf
      Src: /src/cairo/src/cairo-path-fixed.c:728,1
    - Dst: STRINGIFYFLAG
      Src: /src/cairo/src/cairo-path-fixed.c:735,1
    - Dst: STRINGIFYFLAG
      Src: /src/cairo/src/cairo-path-fixed.c:737,1
    - Dst: STRINGIFYFLAG
      Src: /src/cairo/src/cairo-path-fixed.c:739,1
    - Dst: STRINGIFYFLAG
      Src: /src/cairo/src/cairo-path-fixed.c:741,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-path-fixed.c:704,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-fixed.c:703,1
    - Dst: snprintf
      Src: /src/cairo/src/cairo-path-fixed.c:720,1
    - Dst: _cairo_path_buf_add_points
      Src: /src/cairo/src/cairo-path-fixed.c:747,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 4
    argNames:
    - path
    - op
    - points
    - num_points
    argTypes:
    - cairo_path_fixed_t*
    - cairo_path_op_t
    - cairo_point_t*
    - int
    constantsTouched: []
    func_position:
      end: 750
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 750
    functionName: _cairo_path_fixed_add
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached:
    - _cairo_path_buf_add_points
    - _cairo_path_fixed_add_buf
    - _cairo_fixed_to_double
    - fprintf
    - _cairo_error
    - _cairo_path_buf_create
    - _cairo_path_buf_add_op
    - cairo_path_tail
    - STRINGIFYFLAG
    - snprintf
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_path_fixed_add (cairo_path_fixed_t *path,\t\
      \t cairo_path_op_t\t op,\t\t const cairo_point_t *points,\t\t int\t\t num_points) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cairo/src/cairo-path-fixed.c:802,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - buf
    - points
    - num_points
    argTypes:
    - cairo_path_buf_t*
    - cairo_point_t*
    - int
    constantsTouched: []
    func_position:
      end: 806
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 806
    functionName: _cairo_path_buf_add_points
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "static void _cairo_path_buf_add_points (cairo_path_buf_t *buf,\t\t\
      \t const cairo_point_t *points,\t\t\t int\t\t num_points) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - closure
    - point
    argTypes:
    - void*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 1134
      start: 1125
    functionDepth: 0
    functionLinenumber: 1125
    functionLinenumberEnd: 1134
    functionName: _cpf_line_to
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cpf_line_to (void *closure,\t const cairo_point_t\
      \ *point) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - closure
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1174
      start: 1168
    functionDepth: 0
    functionLinenumber: 1168
    functionLinenumberEnd: 1174
    functionName: _cpf_close_path
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cpf_close_path (void *closure) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - box
    - p1
    - p2
    argTypes:
    - cairo_box_t*
    - cairo_point_t*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 1228
      start: 1208
    functionDepth: 0
    functionLinenumber: 1208
    functionLinenumberEnd: 1228
    functionName: _canonical_box
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static inline void _canonical_box (cairo_box_t *box,\t\tconst cairo_point_t\
      \ *p1,\t\tconst cairo_point_t *p2) "
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 1
    argNames:
    - points
    argTypes:
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 1286
      start: 1272
    functionDepth: 0
    functionLinenumber: 1272
    functionLinenumberEnd: 1286
    functionName: _points_form_rect
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static inline cairo_bool_t _points_form_rect (const cairo_point_t
      *points) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - iter
    argTypes:
    - cairo_path_fixed_iter_t*
    constantsTouched: []
    func_position:
      end: 1596
      start: 1589
    functionDepth: 0
    functionLinenumber: 1589
    functionLinenumberEnd: 1596
    functionName: _cairo_path_fixed_iter_at_end
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t _cairo_path_fixed_iter_at_end (const cairo_path_fixed_iter_t
      *iter) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: cairo_path_foreach_buf_start
      Src: /src/cairo/src/cairo-path-fixed.c:244,1
    - Dst: cairo_path_foreach_buf_end
      Src: /src/cairo/src/cairo-path-fixed.c:253,1
    - Dst: cairo_path_head
      Src: /src/cairo/src/cairo-path-fixed.c:261,1
    - Dst: cairo_path_foreach_buf_end
      Src: /src/cairo/src/cairo-path-fixed.c:247,1
    - Dst: cairo_path_foreach_buf_start
      Src: /src/cairo/src/cairo-path-fixed.c:250,1
    - Dst: cairo_path_head
      Src: /src/cairo/src/cairo-path-fixed.c:267,1
    - Dst: MIN
      Src: /src/cairo/src/cairo-path-fixed.c:274,1
    - Dst: MIN
      Src: /src/cairo/src/cairo-path-fixed.c:275,1
    - Dst: memcmp
      Src: /src/cairo/src/cairo-path-fixed.c:277,1
    - Dst: memcmp
      Src: /src/cairo/src/cairo-path-fixed.c:279,1
    - Dst: cairo_path_head
      Src: /src/cairo/src/cairo-path-fixed.c:291,1
    - Dst: cairo_path_buf_next
      Src: /src/cairo/src/cairo-path-fixed.c:308,1
    - Dst: cairo_path_buf_next
      Src: /src/cairo/src/cairo-path-fixed.c:290,1
    - Dst: cairo_path_head
      Src: /src/cairo/src/cairo-path-fixed.c:309,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 85
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_path_fixed_t*
    - cairo_path_fixed_t*
    constantsTouched: []
    func_position:
      end: 320
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 320
    functionName: _cairo_path_fixed_equal
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached:
    - cairo_path_foreach_buf_start
    - cairo_path_foreach_buf_end
    - cairo_path_buf_next
    - MIN
    - cairo_path_head
    - memcmp
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t _cairo_path_fixed_equal (const cairo_path_fixed_t *a,\t\
      \t\t const cairo_path_fixed_t *b) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_malloc_ab_plus_c
      Src: /src/cairo/src/cairo-path-fixed.c:767,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 779
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 779
    functionName: _cairo_path_buf_create
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached:
    - _cairo_malloc_ab_plus_c
    linkageType: ''
    returnType: cairo_path_buf_t*
    signature: 'static cairo_path_buf_t *_cairo_path_buf_create (int size_ops, int
      size_points) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_fixed_curve_to
      Src: /src/cairo/src/cairo-path-fixed.c:890,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - abstract_closure
    - p0
    - p1
    - p2
    argTypes:
    - void*
    - cairo_point_t*
    - cairo_point_t*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 897
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 897
    functionName: _append_curve_to
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_curve_to
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _append_curve_to (void\t *abstract_closure,\t\
      \t const cairo_point_t *p0,\t\t const cairo_point_t *p1,\t\t const cairo_point_t\
      \ *p2) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_fixed_interpret
      Src: /src/cairo/src/cairo-path-fixed.c:919,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - path
    - other
    - tx
    - ty
    argTypes:
    - cairo_path_fixed_t*
    - cairo_path_fixed_t*
    - cairo_fixed_t
    - cairo_fixed_t
    constantsTouched: []
    func_position:
      end: 925
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 925
    functionName: _cairo_path_fixed_append
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_interpret
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_path_fixed_append (cairo_path_fixed_t\t\t *path,\t\
      \t\t const cairo_path_fixed_t\t *other,\t\t\t cairo_fixed_t\t\t\t tx,\t\t\t\
      \ cairo_fixed_t\t\t\t ty) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cpf_line_to
      Src: /src/cairo/src/cairo-path-fixed.c:1141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - closure
    - point
    - tangent
    argTypes:
    - void*
    - cairo_point_t*
    - cairo_slope_t*
    constantsTouched: []
    func_position:
      end: 1142
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1142
    functionName: _cpf_add_point
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached:
    - _cpf_line_to
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cpf_add_point (void *closure,\t\tconst cairo_point_t\
      \ *point,\t\tconst cairo_slope_t *tangent) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _path_is_quad
      Src: /src/cairo/src/cairo-path-fixed.c:1376,1
    - Dst: _lines_intersect_or_are_coincident
      Src: /src/cairo/src/cairo-path-fixed.c:1383,1
    - Dst: _points_form_rect
      Src: /src/cairo/src/cairo-path-fixed.c:1380,1
    - Dst: cairo_path_head
      Src: /src/cairo/src/cairo-path-fixed.c:1379,1
    - Dst: _lines_intersect_or_are_coincident
      Src: /src/cairo/src/cairo-path-fixed.c:1387,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 1
    argNames:
    - path
    argTypes:
    - cairo_path_fixed_t*
    constantsTouched: []
    func_position:
      end: 1392
      start: 1371
    functionDepth: 0
    functionLinenumber: 1371
    functionLinenumberEnd: 1392
    functionName: _cairo_path_fixed_is_simple_quad
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached:
    - _lines_intersect_or_are_coincident
    - _points_form_rect
    - cairo_path_head
    - _path_is_quad
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t _cairo_path_fixed_is_simple_quad (const cairo_path_fixed_t
      *path) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_path_buf_next
      Src: /src/cairo/src/cairo-path-fixed.c:1482,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - iter
    argTypes:
    - cairo_path_fixed_iter_t*
    constantsTouched: []
    func_position:
      end: 1493
      start: 1478
    functionDepth: 0
    functionLinenumber: 1478
    functionLinenumberEnd: 1493
    functionName: _cairo_path_fixed_iter_next_op
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached:
    - cairo_path_buf_next
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_path_fixed_iter_next_op (cairo_path_fixed_iter_t
      *iter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-path-fixed.c:327,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-path-fixed.c:329,1
    - Dst: _cairo_path_fixed_init
      Src: /src/cairo/src/cairo-path-fixed.c:333,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 335
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 335
    functionName: _cairo_path_fixed_create
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached:
    - _cairo_error_throw
    - _cairo_path_fixed_init
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_path_fixed_t*
    signature: 'cairo_path_fixed_t *_cairo_path_fixed_create (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-path-fixed.c:784,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - cairo_path_buf_t*
    constantsTouched: []
    func_position:
      end: 785
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 785
    functionName: _cairo_path_buf_destroy
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_path_buf_destroy (cairo_path_buf_t *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_fixed_close_path
      Src: /src/cairo/src/cairo-path-fixed.c:904,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - abstract_closure
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 905
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 905
    functionName: _append_close_path
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_close_path
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _append_close_path (void *abstract_closure) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_fixed_translate
      Src: /src/cairo/src/cairo-path-fixed.c:938,1
    - Dst: _cairo_fixed_mul
      Src: /src/cairo/src/cairo-path-fixed.c:944,1
    - Dst: _cairo_fixed_mul
      Src: /src/cairo/src/cairo-path-fixed.c:945,1
    - Dst: _cairo_fixed_mul
      Src: /src/cairo/src/cairo-path-fixed.c:942,1
    - Dst: _cairo_fixed_mul
      Src: /src/cairo/src/cairo-path-fixed.c:943,1
    - Dst: cairo_path_foreach_buf_start
      Src: /src/cairo/src/cairo-path-fixed.c:949,1
    - Dst: _cairo_fixed_mul
      Src: /src/cairo/src/cairo-path-fixed.c:952,1
    - Dst: _cairo_fixed_mul
      Src: /src/cairo/src/cairo-path-fixed.c:956,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-path-fixed.c:960,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-path-fixed.c:961,1
    - Dst: _cairo_fixed_mul
      Src: /src/cairo/src/cairo-path-fixed.c:976,1
    - Dst: _cairo_fixed_mul
      Src: /src/cairo/src/cairo-path-fixed.c:968,1
    - Dst: _cairo_fixed_mul
      Src: /src/cairo/src/cairo-path-fixed.c:977,1
    - Dst: cairo_path_foreach_buf_end
      Src: /src/cairo/src/cairo-path-fixed.c:964,1
    - Dst: _cairo_fixed_mul
      Src: /src/cairo/src/cairo-path-fixed.c:969,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 59
    argCount: 5
    argNames:
    - path
    - offx
    - offy
    - scalex
    - scaley
    argTypes:
    - cairo_path_fixed_t*
    - cairo_fixed_t
    - cairo_fixed_t
    - cairo_fixed_t
    - cairo_fixed_t
    constantsTouched: []
    func_position:
      end: 983
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 983
    functionName: _cairo_path_fixed_offset_and_scale
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached:
    - cairo_path_foreach_buf_start
    - cairo_path_foreach_buf_end
    - _cairo_path_fixed_translate
    - _cairo_fixed_mul
    - _cairo_fixed_is_integer
    linkageType: ''
    returnType: void
    signature: "static void _cairo_path_fixed_offset_and_scale (cairo_path_fixed_t\
      \ *path,\t\t\t\t cairo_fixed_t offx,\t\t\t\t cairo_fixed_t offy,\t\t\t\t cairo_fixed_t\
      \ scalex,\t\t\t\t cairo_fixed_t scaley) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cairo_path_head
      Src: /src/cairo/src/cairo-path-fixed.c:1398,1
    - Dst: _canonical_box
      Src: /src/cairo/src/cairo-path-fixed.c:1432,1
    - Dst: _canonical_box
      Src: /src/cairo/src/cairo-path-fixed.c:1423,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 32
    argCount: 2
    argNames:
    - path
    - box
    argTypes:
    - cairo_path_fixed_t*
    - cairo_box_t*
    constantsTouched: []
    func_position:
      end: 1437
      start: 1394
    functionDepth: 0
    functionLinenumber: 1394
    functionLinenumberEnd: 1437
    functionName: _cairo_path_fixed_is_stroke_box
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached:
    - _canonical_box
    - cairo_path_head
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t _cairo_path_fixed_is_stroke_box (const cairo_path_fixed_t\
      \ *path,\t\t\t\t cairo_box_t *box) "
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_fixed_iter_next_op
      Src: /src/cairo/src/cairo-path-fixed.c:1507,1
    - Dst: _cairo_path_fixed_iter_next_op
      Src: /src/cairo/src/cairo-path-fixed.c:1514,1
    - Dst: _cairo_path_fixed_iter_next_op
      Src: /src/cairo/src/cairo-path-fixed.c:1538,1
    - Dst: _cairo_path_fixed_iter_next_op
      Src: /src/cairo/src/cairo-path-fixed.c:1526,1
    - Dst: _cairo_path_fixed_iter_next_op
      Src: /src/cairo/src/cairo-path-fixed.c:1520,1
    - Dst: _cairo_path_fixed_iter_next_op
      Src: /src/cairo/src/cairo-path-fixed.c:1548,1
    - Dst: _cairo_path_fixed_iter_next_op
      Src: /src/cairo/src/cairo-path-fixed.c:1554,1
    - Dst: _cairo_path_fixed_iter_next_op
      Src: /src/cairo/src/cairo-path-fixed.c:1556,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 63
    argCount: 2
    argNames:
    - _iter
    - box
    argTypes:
    - cairo_path_fixed_iter_t*
    - cairo_box_t*
    constantsTouched: []
    func_position:
      end: 1587
      start: 1495
    functionDepth: 0
    functionLinenumber: 1495
    functionLinenumberEnd: 1587
    functionName: _cairo_path_fixed_iter_is_fill_box
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_iter_next_op
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t _cairo_path_fixed_iter_is_fill_box (cairo_path_fixed_iter_t\
      \ *_iter,\t\t\t\t cairo_box_t *box) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_path_buf_next
      Src: /src/cairo/src/cairo-path-fixed.c:342,1
    - Dst: _cairo_path_buf_destroy
      Src: /src/cairo/src/cairo-path-fixed.c:346,1
    - Dst: cairo_path_head
      Src: /src/cairo/src/cairo-path-fixed.c:342,1
    - Dst: cairo_path_buf_next
      Src: /src/cairo/src/cairo-path-fixed.c:345,1
    - Dst: cairo_path_head
      Src: /src/cairo/src/cairo-path-fixed.c:343,1
    - Dst: VG
      Src: /src/cairo/src/cairo-path-fixed.c:349,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/cairo/src/cairo-path-fixed.c:349,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - path
    argTypes:
    - cairo_path_fixed_t*
    constantsTouched: []
    func_position:
      end: 350
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 350
    functionName: _cairo_path_fixed_fini
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached:
    - _cairo_path_buf_destroy
    - cairo_path_buf_next
    - VG
    - VALGRIND_MAKE_MEM_UNDEFINED
    - cairo_path_head
    linkageType: ''
    returnType: void
    signature: 'void _cairo_path_fixed_fini (cairo_path_fixed_t *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-path-fixed.c:391,1
    - Dst: _cairo_path_fixed_last_op
      Src: /src/cairo/src/cairo-path-fixed.c:391,1
    - Dst: cairo_path_tail
      Src: /src/cairo/src/cairo-path-fixed.c:393,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - path
    argTypes:
    - cairo_path_fixed_t*
    constantsTouched: []
    func_position:
      end: 396
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 396
    functionName: _cairo_path_fixed_drop_line_to
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached:
    - cairo_path_tail
    - _cairo_path_fixed_last_op
    - assert
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_path_fixed_drop_line_to (cairo_path_fixed_t *path) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/cairo/src/cairo-path-fixed.c:416,1
    - Dst: _cairo_box_add_point
      Src: /src/cairo/src/cairo-path-fixed.c:422,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-path-fixed.c:430,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-path-fixed.c:429,1
    - Dst: _cairo_box_set
      Src: /src/cairo/src/cairo-path-fixed.c:424,1
    - Dst: _cairo_path_fixed_add
      Src: /src/cairo/src/cairo-path-fixed.c:435,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - path
    argTypes:
    - cairo_path_fixed_t*
    constantsTouched: []
    func_position:
      end: 436
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 436
    functionName: _cairo_path_fixed_move_to_apply
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_add
    - _cairo_box_add_point
    - _cairo_box_set
    - _cairo_fixed_is_integer
    - likely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_path_fixed_move_to_apply (cairo_path_fixed_t
      *path) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-fixed.c:631,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-path-fixed.c:632,1
    - Dst: _cairo_path_fixed_curve_to
      Src: /src/cairo/src/cairo-path-fixed.c:634,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 7
    argNames:
    - path
    - dx0
    - dy0
    - dx1
    - dy1
    - dx2
    - dy2
    argTypes:
    - cairo_path_fixed_t*
    - cairo_fixed_t
    - cairo_fixed_t
    - cairo_fixed_t
    - cairo_fixed_t
    - cairo_fixed_t
    - cairo_fixed_t
    constantsTouched: []
    func_position:
      end: 643
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 643
    functionName: _cairo_path_fixed_rel_curve_to
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_path_fixed_curve_to
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_path_fixed_rel_curve_to (cairo_path_fixed_t\
      \ *path,\t\t\t\tcairo_fixed_t dx0, cairo_fixed_t dy0,\t\t\t\tcairo_fixed_t dx1,\
      \ cairo_fixed_t dy1,\t\t\t\tcairo_fixed_t dx2, cairo_fixed_t dy2) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cairo_path_foreach_buf_start
      Src: /src/cairo/src/cairo-path-fixed.c:819,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-fixed.c:844,1
    - Dst: cairo_path_foreach_buf_end
      Src: /src/cairo/src/cairo-path-fixed.c:847,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 22
    argCount: 6
    argNames:
    - path
    - move_to
    - line_to
    - curve_to
    - close_path
    - closure
    argTypes:
    - cairo_path_fixed_t*
    - cairo_path_fixed_move_to_func_t*
    - cairo_path_fixed_line_to_func_t*
    - cairo_path_fixed_curve_to_func_t*
    - cairo_path_fixed_close_path_func_t*
    - void*
    constantsTouched: []
    func_position:
      end: 853
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 853
    functionName: _cairo_path_fixed_interpret
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached:
    - cairo_path_foreach_buf_start
    - cairo_path_foreach_buf_end
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_path_fixed_interpret (const cairo_path_fixed_t\t\
      \t*path,\t\t\t cairo_path_fixed_move_to_func_t\t*move_to,\t\t\t cairo_path_fixed_line_to_func_t\t\
      *line_to,\t\t\t cairo_path_fixed_curve_to_func_t\t*curve_to,\t\t\t cairo_path_fixed_close_path_func_t\t\
      *close_path,\t\t\t void\t\t\t\t*closure) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_path_foreach_buf_start
      Src: /src/cairo/src/cairo-path-fixed.c:1003,1
    - Dst: cairo_path_foreach_buf_end
      Src: /src/cairo/src/cairo-path-fixed.c:1013,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-path-fixed.c:1009,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-path-fixed.c:1010,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - path
    - offx
    - offy
    argTypes:
    - cairo_path_fixed_t*
    - cairo_fixed_t
    - cairo_fixed_t
    constantsTouched: []
    func_position:
      end: 1021
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 1021
    functionName: _cairo_path_fixed_translate
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_is_integer
    - cairo_path_foreach_buf_start
    - cairo_path_foreach_buf_end
    linkageType: ''
    returnType: void
    signature: "void _cairo_path_fixed_translate (cairo_path_fixed_t *path,\t\t\t\
      \ cairo_fixed_t offx,\t\t\t cairo_fixed_t offy) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _path_is_quad
      Src: /src/cairo/src/cairo-path-fixed.c:1300,1
    - Dst: cairo_path_head
      Src: /src/cairo/src/cairo-path-fixed.c:1303,1
    - Dst: _canonical_box
      Src: /src/cairo/src/cairo-path-fixed.c:1305,1
    - Dst: _points_form_rect
      Src: /src/cairo/src/cairo-path-fixed.c:1304,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - path
    - box
    argTypes:
    - cairo_path_fixed_t*
    - cairo_box_t*
    constantsTouched: []
    func_position:
      end: 1310
      start: 1291
    functionDepth: 0
    functionLinenumber: 1291
    functionLinenumberEnd: 1310
    functionName: _cairo_path_fixed_is_box
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached:
    - _points_form_rect
    - _canonical_box
    - cairo_path_head
    - _path_is_quad
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t _cairo_path_fixed_is_box (const cairo_path_fixed_t *path,\t\
      \t\t cairo_box_t *box) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_fixed_is_box
      Src: /src/cairo/src/cairo-path-fixed.c:1456,1
    - Dst: cairo_path_head
      Src: /src/cairo/src/cairo-path-fixed.c:1462,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - path
    - box
    argTypes:
    - cairo_path_fixed_t*
    - cairo_box_t*
    constantsTouched: []
    func_position:
      end: 1467
      start: 1450
    functionDepth: 0
    functionLinenumber: 1450
    functionLinenumberEnd: 1467
    functionName: _cairo_path_fixed_is_rectangle
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached:
    - cairo_path_head
    - _cairo_path_fixed_is_box
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t _cairo_path_fixed_is_rectangle (const cairo_path_fixed_t\
      \ *path,\t\t\t\tcairo_box_t *box) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_fixed_fini
      Src: /src/cairo/src/cairo-path-fixed.c:355,1
    - Dst: free
      Src: /src/cairo/src/cairo-path-fixed.c:356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - path
    argTypes:
    - cairo_path_fixed_t*
    constantsTouched: []
    func_position:
      end: 357
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 357
    functionName: _cairo_path_fixed_destroy
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_fini
    - free
    linkageType: ''
    returnType: void
    signature: 'void _cairo_path_fixed_destroy (cairo_path_fixed_t *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_fixed_new_sub_path
      Src: /src/cairo/src/cairo-path-fixed.c:403,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - path
    - x
    - y
    argTypes:
    - cairo_path_fixed_t*
    - cairo_fixed_t
    - cairo_fixed_t
    constantsTouched: []
    func_position:
      end: 411
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 411
    functionName: _cairo_path_fixed_move_to
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_new_sub_path
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_path_fixed_move_to (cairo_path_fixed_t *path,\t\
      \t\t cairo_fixed_t\tx,\t\t\t cairo_fixed_t\ty) "
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - path
    argTypes:
    - cairo_path_fixed_t*
    constantsTouched: []
    func_position:
      end: 453
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 453
    functionName: _cairo_path_fixed_new_sub_path
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void _cairo_path_fixed_new_sub_path (cairo_path_fixed_t *path) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_fixed_line_to
      Src: /src/cairo/src/cairo-path-fixed.c:657,1
    - Dst: _cairo_path_fixed_add
      Src: /src/cairo/src/cairo-path-fixed.c:674,1
    - Dst: _cairo_path_fixed_drop_line_to
      Src: /src/cairo/src/cairo-path-fixed.c:670,1
    - Dst: _cairo_path_fixed_last_op
      Src: /src/cairo/src/cairo-path-fixed.c:669,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-fixed.c:660,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - path
    argTypes:
    - cairo_path_fixed_t*
    constantsTouched: []
    func_position:
      end: 675
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 675
    functionName: _cairo_path_fixed_close_path
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_add
    - _cairo_path_fixed_last_op
    - _cairo_path_fixed_drop_line_to
    - _cairo_path_fixed_line_to
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_path_fixed_close_path (cairo_path_fixed_t *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-fixed.c:1030,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-fixed.c:1033,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/cairo-path-fixed.c:1032,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-fixed.c:1034,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-fixed.c:1031,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - p
    - matrix
    argTypes:
    - cairo_point_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 1035
      start: 1024
    functionDepth: 0
    functionLinenumber: 1024
    functionLinenumberEnd: 1035
    functionName: _cairo_path_fixed_transform_point
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached:
    - cairo_matrix_transform_point
    - _cairo_fixed_to_double
    - _cairo_fixed_from_double
    linkageType: ''
    returnType: void
    signature: "static inline void _cairo_path_fixed_transform_point (cairo_point_t\
      \ *p,\t\t\t\t const cairo_matrix_t *matrix) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_path_head
      Src: /src/cairo/src/cairo-path-fixed.c:1473,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - iter
    - path
    argTypes:
    - cairo_path_fixed_iter_t*
    - cairo_path_fixed_t*
    constantsTouched: []
    func_position:
      end: 1476
      start: 1469
    functionDepth: 0
    functionLinenumber: 1469
    functionLinenumberEnd: 1476
    functionName: _cairo_path_fixed_iter_init
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached:
    - cairo_path_head
    linkageType: ''
    returnType: void
    signature: "void _cairo_path_fixed_iter_init (cairo_path_fixed_iter_t *iter,\t\
      \t\t const cairo_path_fixed_t *path) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_fixed_offset_and_scale
      Src: /src/cairo/src/cairo-path-fixed.c:1057,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-fixed.c:1060,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-fixed.c:1058,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-fixed.c:1061,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-fixed.c:1059,1
    - Dst: _cairo_path_fixed_transform_point
      Src: /src/cairo/src/cairo-path-fixed.c:1065,1
    - Dst: _cairo_path_fixed_transform_point
      Src: /src/cairo/src/cairo-path-fixed.c:1066,1
    - Dst: cairo_path_head
      Src: /src/cairo/src/cairo-path-fixed.c:1068,1
    - Dst: _cairo_path_fixed_transform_point
      Src: /src/cairo/src/cairo-path-fixed.c:1074,1
    - Dst: _cairo_box_set
      Src: /src/cairo/src/cairo-path-fixed.c:1075,1
    - Dst: cairo_path_foreach_buf_start
      Src: /src/cairo/src/cairo-path-fixed.c:1077,1
    - Dst: _cairo_box_add_point
      Src: /src/cairo/src/cairo-path-fixed.c:1080,1
    - Dst: cairo_path_foreach_buf_end
      Src: /src/cairo/src/cairo-path-fixed.c:1082,1
    - Dst: _cairo_matrix_transform_bounding_box_fixed
      Src: /src/cairo/src/cairo-path-fixed.c:1087,1
    - Dst: _cairo_path_bounder_extents
      Src: /src/cairo/src/cairo-path-fixed.c:1091,1
    - Dst: _cairo_path_fixed_transform_point
      Src: /src/cairo/src/cairo-path-fixed.c:1079,1
    - Dst: assert
      Src: /src/cairo/src/cairo-path-fixed.c:1092,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 2
    argNames:
    - path
    - matrix
    argTypes:
    - cairo_path_fixed_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 1102
      start: 1046
    functionDepth: 0
    functionLinenumber: 1046
    functionLinenumberEnd: 1102
    functionName: _cairo_path_fixed_transform
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_transform_point
    - _cairo_path_bounder_extents
    - cairo_path_foreach_buf_start
    - cairo_path_foreach_buf_end
    - _cairo_path_fixed_offset_and_scale
    - _cairo_matrix_transform_bounding_box_fixed
    - _cairo_box_add_point
    - assert
    - _cairo_fixed_from_double
    - _cairo_box_set
    - cairo_path_head
    linkageType: ''
    returnType: void
    signature: "void _cairo_path_fixed_transform (cairo_path_fixed_t\t*path,\t\t\t\
      \ const cairo_matrix_t *matrix) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_path_foreach_buf_start
      Src: /src/cairo/src/cairo-path-fixed.c:182,1
    - Dst: cairo_path_foreach_buf_end
      Src: /src/cairo/src/cairo-path-fixed.c:186,1
    - Dst: cairo_path_foreach_buf_start
      Src: /src/cairo/src/cairo-path-fixed.c:190,1
    - Dst: _cairo_hash_bytes
      Src: /src/cairo/src/cairo-path-fixed.c:183,1
    - Dst: _cairo_hash_bytes
      Src: /src/cairo/src/cairo-path-fixed.c:187,1
    - Dst: _cairo_hash_bytes
      Src: /src/cairo/src/cairo-path-fixed.c:191,1
    - Dst: cairo_path_foreach_buf_end
      Src: /src/cairo/src/cairo-path-fixed.c:194,1
    - Dst: _cairo_hash_bytes
      Src: /src/cairo/src/cairo-path-fixed.c:195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - path
    argTypes:
    - cairo_path_fixed_t*
    constantsTouched: []
    func_position:
      end: 198
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 198
    functionName: _cairo_path_fixed_hash
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached:
    - _cairo_hash_bytes
    - cairo_path_foreach_buf_start
    - cairo_path_foreach_buf_end
    linkageType: ''
    returnType: uintptr_t
    signature: 'uintptr_t _cairo_path_fixed_hash (const cairo_path_fixed_t *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_path_tail
      Src: /src/cairo/src/cairo-path-fixed.c:364,1
    - Dst: assert
      Src: /src/cairo/src/cairo-path-fixed.c:365,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - path
    argTypes:
    - cairo_path_fixed_t*
    constantsTouched: []
    func_position:
      end: 368
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 368
    functionName: _cairo_path_fixed_last_op
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached:
    - cairo_path_tail
    - assert
    linkageType: ''
    returnType: cairo_path_op_t
    signature: 'static cairo_path_op_t _cairo_path_fixed_last_op (cairo_path_fixed_t
      *path) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-fixed.c:558,1
    - Dst: _cairo_path_fixed_line_to
      Src: /src/cairo/src/cairo-path-fixed.c:561,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-path-fixed.c:559,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - path
    - dx
    - dy
    argTypes:
    - cairo_path_fixed_t*
    - cairo_fixed_t
    - cairo_fixed_t
    constantsTouched: []
    func_position:
      end: 564
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 564
    functionName: _cairo_path_fixed_rel_line_to
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_path_fixed_line_to
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_path_fixed_rel_line_to (cairo_path_fixed_t *path,\t\
      \t\t cairo_fixed_t\t dx,\t\t\t cairo_fixed_t\t dy) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_fixed_move_to
      Src: /src/cairo/src/cairo-path-fixed.c:866,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - abstract_closure
    - point
    argTypes:
    - void*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 869
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 869
    functionName: _append_move_to
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_move_to
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _append_move_to (void\t\t *abstract_closure,\t\
      \t const cairo_point_t *point) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_path_foreach_buf_start
      Src: /src/cairo/src/cairo-path-fixed.c:207,1
    - Dst: cairo_path_foreach_buf_end
      Src: /src/cairo/src/cairo-path-fixed.c:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - path
    argTypes:
    - cairo_path_fixed_t*
    constantsTouched: []
    func_position:
      end: 214
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 214
    functionName: _cairo_path_fixed_size
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached:
    - cairo_path_foreach_buf_start
    - cairo_path_foreach_buf_end
    linkageType: ''
    returnType: unsigned long
    signature: 'unsigned long _cairo_path_fixed_size (const cairo_path_fixed_t *path) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_path_tail
      Src: /src/cairo/src/cairo-path-fixed.c:375,1
    - Dst: cairo_path_buf_prev
      Src: /src/cairo/src/cairo-path-fixed.c:379,1
    - Dst: assert
      Src: /src/cairo/src/cairo-path-fixed.c:381,1
    - Dst: likely
      Src: /src/cairo/src/cairo-path-fixed.c:376,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 384
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 384
    functionName: _cairo_path_fixed_penultimate_point
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached:
    - cairo_path_tail
    - likely
    - assert
    - cairo_path_buf_prev
    linkageType: ''
    returnType: cairo_point_t*
    signature: 'static inline const cairo_point_t *_cairo_path_fixed_penultimate_point
      (cairo_path_fixed_t *path) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_fixed_line_to
      Src: /src/cairo/src/cairo-path-fixed.c:580,1
    - Dst: _cairo_path_fixed_move_to
      Src: /src/cairo/src/cairo-path-fixed.c:589,1
    - Dst: assert
      Src: /src/cairo/src/cairo-path-fixed.c:590,1
    - Dst: _cairo_path_fixed_move_to_apply
      Src: /src/cairo/src/cairo-path-fixed.c:593,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-fixed.c:594,1
    - Dst: _cairo_path_fixed_last_op
      Src: /src/cairo/src/cairo-path-fixed.c:598,1
    - Dst: _cairo_path_fixed_penultimate_point
      Src: /src/cairo/src/cairo-path-fixed.c:601,1
    - Dst: _cairo_path_fixed_drop_line_to
      Src: /src/cairo/src/cairo-path-fixed.c:604,1
    - Dst: _cairo_box_add_curve_to
      Src: /src/cairo/src/cairo-path-fixed.c:612,1
    - Dst: _cairo_path_fixed_add
      Src: /src/cairo/src/cairo-path-fixed.c:622,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 7
    argNames:
    - path
    - x0
    - y0
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - cairo_path_fixed_t*
    - cairo_fixed_t
    - cairo_fixed_t
    - cairo_fixed_t
    - cairo_fixed_t
    - cairo_fixed_t
    - cairo_fixed_t
    constantsTouched: []
    func_position:
      end: 623
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 623
    functionName: _cairo_path_fixed_curve_to
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_add
    - _cairo_path_fixed_last_op
    - _cairo_path_fixed_move_to_apply
    - _cairo_path_fixed_drop_line_to
    - _cairo_path_fixed_move_to
    - _cairo_path_fixed_line_to
    - assert
    - _cairo_box_add_curve_to
    - _cairo_path_fixed_penultimate_point
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_path_fixed_curve_to (cairo_path_fixed_t\t*path,\t\
      \t\t cairo_fixed_t x0, cairo_fixed_t y0,\t\t\t cairo_fixed_t x1, cairo_fixed_t\
      \ y1,\t\t\t cairo_fixed_t x2, cairo_fixed_t y2) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_fixed_line_to
      Src: /src/cairo/src/cairo-path-fixed.c:877,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - abstract_closure
    - point
    argTypes:
    - void*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 880
      start: 871
    functionDepth: 0
    functionLinenumber: 871
    functionLinenumberEnd: 880
    functionName: _append_line_to
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_line_to
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _append_line_to (void\t\t *abstract_closure,\t\
      \t const cairo_point_t *point) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-path-fixed.c:1323,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-path-fixed.c:1325,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-path-fixed.c:1327,1
    - Dst: _cairo_int64_negative
      Src: /src/cairo/src/cairo-path-fixed.c:1344,1
    - Dst: _cairo_int64_lt
      Src: /src/cairo/src/cairo-path-fixed.c:1360,1
    - Dst: _cairo_int64_lt
      Src: /src/cairo/src/cairo-path-fixed.c:1359,1
    - Dst: _cairo_int64_sub
      Src: /src/cairo/src/cairo-path-fixed.c:1327,1
    - Dst: _cairo_int64_is_zero
      Src: /src/cairo/src/cairo-path-fixed.c:1330,1
    - Dst: _cairo_int64_negative
      Src: /src/cairo/src/cairo-path-fixed.c:1345,1
    - Dst: _cairo_int64_is_zero
      Src: /src/cairo/src/cairo-path-fixed.c:1333,1
    - Dst: _cairo_int64_is_zero
      Src: /src/cairo/src/cairo-path-fixed.c:1352,1
    - Dst: _cairo_int64_is_zero
      Src: /src/cairo/src/cairo-path-fixed.c:1333,1
    - Dst: _cairo_int64_is_zero
      Src: /src/cairo/src/cairo-path-fixed.c:1352,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-path-fixed.c:1324,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-path-fixed.c:1326,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-path-fixed.c:1328,1
    - Dst: _cairo_int64_sub
      Src: /src/cairo/src/cairo-path-fixed.c:1323,1
    - Dst: _cairo_int64_sub
      Src: /src/cairo/src/cairo-path-fixed.c:1325,1
    - Dst: _cairo_int64_negative
      Src: /src/cairo/src/cairo-path-fixed.c:1347,1
    - Dst: _cairo_int64_lt
      Src: /src/cairo/src/cairo-path-fixed.c:1363,1
    - Dst: _cairo_int64_lt
      Src: /src/cairo/src/cairo-path-fixed.c:1364,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 4
    argNames:
    - a
    - b
    - c
    - d
    argTypes:
    - cairo_point_t
    - cairo_point_t
    - cairo_point_t
    - cairo_point_t
    constantsTouched: []
    func_position:
      end: 1369
      start: 1314
    functionDepth: 0
    functionLinenumber: 1314
    functionLinenumberEnd: 1369
    functionName: _lines_intersect_or_are_coincident
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached:
    - _cairo_int64_negative
    - _cairo_int64_is_zero
    - _cairo_int64_sub
    - _cairo_int64_lt
    - _cairo_int32x32_64_mul
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static inline cairo_bool_t _lines_intersect_or_are_coincident (cairo_point_t\
      \ a,\t\t\t\t cairo_point_t b,\t\t\t\t cairo_point_t c,\t\t\t\t cairo_point_t\
      \ d) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: cairo_path_head
      Src: /src/cairo/src/cairo-path-fixed.c:1233,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 27
    argCount: 1
    argNames:
    - path
    argTypes:
    - cairo_path_fixed_t*
    constantsTouched: []
    func_position:
      end: 1270
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1270
    functionName: _path_is_quad
    functionSourceFile: /src/cairo/src/cairo-path-fixed.c
    functionUses: []
    functionsReached:
    - cairo_path_head
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static inline cairo_bool_t _path_is_quad (const cairo_path_fixed_t
      *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_linear_pattern_equal
      Src: /src/cairo/src/cairo-xcb-screen.c:186,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 2
    argNames:
    - A
    - B
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 188
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 188
    functionName: _linear_pattern_cache_entry_equal
    functionSourceFile: /src/cairo/src/cairo-xcb-screen.c
    functionUses: []
    functionsReached:
    - _cairo_linear_pattern_equal
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _linear_pattern_cache_entry_equal (const void
      *A, const void *B) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pattern_fini
      Src: /src/cairo/src/cairo-xcb-screen.c:204,1
    - Dst: _cairo_freelist_free
      Src: /src/cairo/src/cairo-xcb-screen.c:206,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-screen.c:205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - closure
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 207
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 207
    functionName: _pattern_cache_entry_destroy
    functionSourceFile: /src/cairo/src/cairo-xcb-screen.c
    functionUses: []
    functionsReached:
    - _cairo_freelist_free
    - _cairo_pattern_fini
    - cairo_surface_destroy
    linkageType: ''
    returnType: void
    signature: 'static void _pattern_cache_entry_destroy (void *closure) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_move
      Src: /src/cairo/src/cairo-xcb-screen.c:245,1
    - Dst: _get_screen_index
      Src: /src/cairo/src/cairo-xcb-screen.c:255,1
    - Dst: memset
      Src: /src/cairo/src/cairo-xcb-screen.c:268,1
    - Dst: _cairo_cache_fini
      Src: /src/cairo/src/cairo-xcb-screen.c:299,1
    - Dst: free
      Src: /src/cairo/src/cairo-xcb-screen.c:302,1
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-xcb-screen.c:235,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-screen.c:252,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-xcb-screen.c:264,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-screen.c:288,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-screen.c:280,1
    - Dst: _cairo_cache_init
      Src: /src/cairo/src/cairo-xcb-screen.c:275,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-xcb-screen.c:266,1
    - Dst: _cairo_xcb_connection_get
      Src: /src/cairo/src/cairo-xcb-screen.c:231,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xcb-screen.c:272,1
    - Dst: cairo_list_add
      Src: /src/cairo/src/cairo-xcb-screen.c:291,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-xcb-screen.c:294,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-screen.c:232,1
    - Dst: cairo_list_foreach_entry
      Src: /src/cairo/src/cairo-xcb-screen.c:237,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-xcb-screen.c:251,1
    - Dst: _cairo_freelist_init
      Src: /src/cairo/src/cairo-xcb-screen.c:262,1
    - Dst: memset
      Src: /src/cairo/src/cairo-xcb-screen.c:269,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-xcb-screen.c:265,1
    - Dst: _cairo_cache_init
      Src: /src/cairo/src/cairo-xcb-screen.c:283,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-xcb-screen.c:301,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 305
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 305
    functionName: _cairo_xcb_screen_get
    functionSourceFile: /src/cairo/src/cairo-xcb-screen.c
    functionUses: []
    functionsReached:
    - cairo_list_foreach_entry
    - CAIRO_MUTEX_LOCK
    - cairo_list_move
    - cairo_list_init
    - _get_screen_index
    - free
    - ARRAY_LENGTH
    - CAIRO_MUTEX_UNLOCK
    - _cairo_xcb_connection_get
    - cairo_list_add
    - _cairo_freelist_init
    - _cairo_cache_init
    - _cairo_cache_fini
    - memset
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_xcb_screen_t*
    signature: "cairo_xcb_screen_t *_cairo_xcb_screen_get (xcb_connection_t *xcb_connection,\t\
      \t xcb_screen_t *xcb_screen) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-screen.c:325,1
    - Dst: _create_gc
      Src: /src/cairo/src/cairo-xcb-screen.c:334,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xcb-screen.c:327,1
    - Dst: CAIRO_MUTEX_IS_LOCKED
      Src: /src/cairo/src/cairo-xcb-screen.c:325,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - screen
    - drawable
    - depth
    argTypes:
    - cairo_xcb_screen_t*
    - xcb_drawable_t
    - int
    constantsTouched: []
    func_position:
      end: 335
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 335
    functionName: _cairo_xcb_screen_get_gc
    functionSourceFile: /src/cairo/src/cairo-xcb-screen.c
    functionUses: []
    functionsReached:
    - ARRAY_LENGTH
    - CAIRO_MUTEX_IS_LOCKED
    - _create_gc
    - assert
    linkageType: ''
    returnType: xcb_gcontext_t
    signature: "xcb_gcontext_t _cairo_xcb_screen_get_gc (cairo_xcb_screen_t *screen,\t\
      \t\t xcb_drawable_t drawable,\t\t\t int depth) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-screen.c:367,1
    - Dst: CAIRO_MUTEX_IS_LOCKED
      Src: /src/cairo/src/cairo-xcb-screen.c:367,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xcb-screen.c:371,1
    - Dst: _cairo_freelist_alloc
      Src: /src/cairo/src/cairo-xcb-screen.c:369,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-screen.c:370,1
    - Dst: _cairo_linear_pattern_hash
      Src: /src/cairo/src/cairo-xcb-screen.c:373,1
    - Dst: _cairo_pattern_init_copy
      Src: /src/cairo/src/cairo-xcb-screen.c:376,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-screen.c:377,1
    - Dst: _cairo_freelist_free
      Src: /src/cairo/src/cairo-xcb-screen.c:378,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-xcb-screen.c:382,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-screen.c:387,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-screen.c:388,1
    - Dst: _cairo_freelist_free
      Src: /src/cairo/src/cairo-xcb-screen.c:389,1
    - Dst: _cairo_cache_insert
      Src: /src/cairo/src/cairo-xcb-screen.c:385,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - screen
    - linear
    - picture
    argTypes:
    - cairo_xcb_screen_t*
    - cairo_linear_pattern_t*
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 394
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 394
    functionName: _cairo_xcb_screen_store_linear_picture
    functionSourceFile: /src/cairo/src/cairo-xcb-screen.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_init_copy
    - _cairo_error
    - cairo_surface_reference
    - assert
    - cairo_surface_destroy
    - CAIRO_MUTEX_IS_LOCKED
    - _cairo_cache_insert
    - _cairo_freelist_alloc
    - _cairo_freelist_free
    - _cairo_linear_pattern_hash
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_xcb_screen_store_linear_picture (cairo_xcb_screen_t\
      \ *screen,\t\t\t\t\tconst cairo_linear_pattern_t *linear,\t\t\t\t\tcairo_surface_t\
      \ *picture) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-screen.c:424,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-screen.c:427,1
    - Dst: CAIRO_MUTEX_IS_LOCKED
      Src: /src/cairo/src/cairo-xcb-screen.c:424,1
    - Dst: _cairo_freelist_alloc
      Src: /src/cairo/src/cairo-xcb-screen.c:426,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xcb-screen.c:428,1
    - Dst: _cairo_radial_pattern_hash
      Src: /src/cairo/src/cairo-xcb-screen.c:430,1
    - Dst: _cairo_pattern_init_copy
      Src: /src/cairo/src/cairo-xcb-screen.c:433,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-screen.c:434,1
    - Dst: _cairo_freelist_free
      Src: /src/cairo/src/cairo-xcb-screen.c:435,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-xcb-screen.c:439,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-screen.c:443,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-screen.c:444,1
    - Dst: _cairo_freelist_free
      Src: /src/cairo/src/cairo-xcb-screen.c:445,1
    - Dst: _cairo_cache_insert
      Src: /src/cairo/src/cairo-xcb-screen.c:442,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - screen
    - radial
    - picture
    argTypes:
    - cairo_xcb_screen_t*
    - cairo_radial_pattern_t*
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 450
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 450
    functionName: _cairo_xcb_screen_store_radial_picture
    functionSourceFile: /src/cairo/src/cairo-xcb-screen.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_init_copy
    - _cairo_error
    - cairo_surface_reference
    - assert
    - cairo_surface_destroy
    - CAIRO_MUTEX_IS_LOCKED
    - _cairo_radial_pattern_hash
    - _cairo_cache_insert
    - _cairo_freelist_alloc
    - _cairo_freelist_free
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_xcb_screen_store_radial_picture (cairo_xcb_screen_t\
      \ *screen,\t\t\t\t\tconst cairo_radial_pattern_t *radial,\t\t\t\t\tcairo_surface_t\
      \ *picture) "
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xcb_resources_get
      Src: /src/cairo/src/cairo-xcb-screen.c:48,1
    - Dst: _cairo_font_options_set_lcd_filter
      Src: /src/cairo/src/cairo-xcb-screen.c:123,1
    - Dst: cairo_font_options_set_hint_style
      Src: /src/cairo/src/cairo-xcb-screen.c:120,1
    - Dst: cairo_font_options_set_subpixel_order
      Src: /src/cairo/src/cairo-xcb-screen.c:122,1
    - Dst: cairo_font_options_set_antialias
      Src: /src/cairo/src/cairo-xcb-screen.c:121,1
    - Dst: cairo_font_options_set_hint_metrics
      Src: /src/cairo/src/cairo-xcb-screen.c:124,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 34
    argCount: 1
    argNames:
    - screen
    argTypes:
    - cairo_xcb_screen_t*
    constantsTouched: []
    func_position:
      end: 125
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 125
    functionName: _cairo_xcb_init_screen_font_options
    functionSourceFile: /src/cairo/src/cairo-xcb-screen.c
    functionUses: []
    functionsReached:
    - cairo_font_options_set_subpixel_order
    - cairo_font_options_set_hint_style
    - _cairo_xcb_resources_get
    - cairo_font_options_set_antialias
    - _cairo_font_options_set_lcd_filter
    - cairo_font_options_set_hint_metrics
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_xcb_init_screen_font_options (cairo_xcb_screen_t
      *screen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-xcb-screen.c:139,1
    - Dst: cairo_list_del
      Src: /src/cairo/src/cairo-xcb-screen.c:140,1
    - Dst: cairo_list_is_empty
      Src: /src/cairo/src/cairo-xcb-screen.c:143,1
    - Dst: cairo_list_first_entry
      Src: /src/cairo/src/cairo-xcb-screen.c:146,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-xcb-screen.c:141,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/src/cairo-xcb-screen.c:150,1
    - Dst: cairo_list_is_empty
      Src: /src/cairo/src/cairo-xcb-screen.c:153,1
    - Dst: cairo_list_first_entry
      Src: /src/cairo/src/cairo-xcb-screen.c:156,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/src/cairo-xcb-screen.c:160,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-screen.c:164,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xcb-screen.c:166,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-screen.c:167,1
    - Dst: xcb_free_gc
      Src: /src/cairo/src/cairo-xcb-screen.c:171,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xcb-screen.c:169,1
    - Dst: _cairo_freelist_fini
      Src: /src/cairo/src/cairo-xcb-screen.c:176,1
    - Dst: _cairo_cache_fini
      Src: /src/cairo/src/cairo-xcb-screen.c:175,1
    - Dst: _cairo_cache_fini
      Src: /src/cairo/src/cairo-xcb-screen.c:174,1
    - Dst: free
      Src: /src/cairo/src/cairo-xcb-screen.c:178,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 1
    argNames:
    - screen
    argTypes:
    - cairo_xcb_screen_t*
    constantsTouched: []
    func_position:
      end: 179
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 179
    functionName: _cairo_xcb_screen_finish
    functionSourceFile: /src/cairo/src/cairo-xcb-screen.c
    functionUses: []
    functionsReached:
    - CAIRO_MUTEX_LOCK
    - cairo_surface_finish
    - free
    - cairo_list_first_entry
    - CAIRO_MUTEX_UNLOCK
    - ARRAY_LENGTH
    - cairo_surface_destroy
    - xcb_free_gc
    - _cairo_freelist_fini
    - _cairo_cache_fini
    - cairo_list_del
    - cairo_list_is_empty
    linkageType: ''
    returnType: void
    signature: 'void _cairo_xcb_screen_finish (cairo_xcb_screen_t *screen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_radial_pattern_equal
      Src: /src/cairo/src/cairo-xcb-screen.c:195,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 2
    argNames:
    - A
    - B
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 197
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 197
    functionName: _radial_pattern_cache_entry_equal
    functionSourceFile: /src/cairo/src/cairo-xcb-screen.c
    functionUses: []
    functionsReached:
    - _cairo_radial_pattern_equal
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _radial_pattern_cache_entry_equal (const void
      *A, const void *B) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xcb_setup_roots_iterator
      Src: /src/cairo/src/cairo-xcb-screen.c:213,1
    - Dst: xcb_screen_next
      Src: /src/cairo/src/cairo-xcb-screen.c:214,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - xcb_connection
    - xcb_screen
    argTypes:
    - cairo_xcb_connection_t*
    - xcb_screen_t*
    constantsTouched: []
    func_position:
      end: 219
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 219
    functionName: _get_screen_index
    functionSourceFile: /src/cairo/src/cairo-xcb-screen.c
    functionUses: []
    functionsReached:
    - xcb_screen_next
    - xcb_setup_roots_iterator
    linkageType: ''
    returnType: int
    signature: "static int _get_screen_index(cairo_xcb_connection_t *xcb_connection,\t\
      \t\t xcb_screen_t *xcb_screen) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xcb_connection_create_gc
      Src: /src/cairo/src/cairo-xcb-screen.c:313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - screen
    - drawable
    argTypes:
    - cairo_xcb_screen_t*
    - xcb_drawable_t
    constantsTouched: []
    func_position:
      end: 316
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 316
    functionName: _create_gc
    functionSourceFile: /src/cairo/src/cairo-xcb-screen.c
    functionUses: []
    functionsReached:
    - _cairo_xcb_connection_create_gc
    linkageType: ''
    returnType: xcb_gcontext_t
    signature: "static xcb_gcontext_t _create_gc (cairo_xcb_screen_t *screen,\t xcb_drawable_t\
      \ drawable) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-screen.c:342,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xcb-screen.c:349,1
    - Dst: rand
      Src: /src/cairo/src/cairo-xcb-screen.c:351,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xcb-screen.c:344,1
    - Dst: CAIRO_MUTEX_IS_LOCKED
      Src: /src/cairo/src/cairo-xcb-screen.c:342,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xcb-screen.c:351,1
    - Dst: xcb_free_gc
      Src: /src/cairo/src/cairo-xcb-screen.c:352,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - screen
    - depth
    - gc
    argTypes:
    - cairo_xcb_screen_t*
    - int
    - xcb_gcontext_t
    constantsTouched: []
    func_position:
      end: 357
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 357
    functionName: _cairo_xcb_screen_put_gc
    functionSourceFile: /src/cairo/src/cairo-xcb-screen.c
    functionUses: []
    functionsReached:
    - ARRAY_LENGTH
    - assert
    - xcb_free_gc
    - CAIRO_MUTEX_IS_LOCKED
    - rand
    linkageType: ''
    returnType: void
    signature: 'void _cairo_xcb_screen_put_gc (cairo_xcb_screen_t *screen, int depth,
      xcb_gcontext_t gc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-screen.c:404,1
    - Dst: CAIRO_MUTEX_IS_LOCKED
      Src: /src/cairo/src/cairo-xcb-screen.c:404,1
    - Dst: _cairo_cache_lookup
      Src: /src/cairo/src/cairo-xcb-screen.c:409,1
    - Dst: _cairo_pattern_init_static_copy
      Src: /src/cairo/src/cairo-xcb-screen.c:407,1
    - Dst: _cairo_linear_pattern_hash
      Src: /src/cairo/src/cairo-xcb-screen.c:406,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-xcb-screen.c:411,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 414
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 414
    functionName: _cairo_xcb_screen_lookup_linear_picture
    functionSourceFile: /src/cairo/src/cairo-xcb-screen.c
    functionUses: []
    functionsReached:
    - cairo_surface_reference
    - assert
    - CAIRO_MUTEX_IS_LOCKED
    - _cairo_cache_lookup
    - _cairo_pattern_init_static_copy
    - _cairo_linear_pattern_hash
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *_cairo_xcb_screen_lookup_linear_picture (cairo_xcb_screen_t\
      \ *screen,\t\t\t\t\t const cairo_linear_pattern_t *linear) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-screen.c:460,1
    - Dst: _cairo_pattern_init_static_copy
      Src: /src/cairo/src/cairo-xcb-screen.c:463,1
    - Dst: _cairo_radial_pattern_hash
      Src: /src/cairo/src/cairo-xcb-screen.c:462,1
    - Dst: CAIRO_MUTEX_IS_LOCKED
      Src: /src/cairo/src/cairo-xcb-screen.c:460,1
    - Dst: _cairo_cache_lookup
      Src: /src/cairo/src/cairo-xcb-screen.c:465,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-xcb-screen.c:467,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 470
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 470
    functionName: _cairo_xcb_screen_lookup_radial_picture
    functionSourceFile: /src/cairo/src/cairo-xcb-screen.c
    functionUses: []
    functionsReached:
    - cairo_surface_reference
    - assert
    - CAIRO_MUTEX_IS_LOCKED
    - _cairo_radial_pattern_hash
    - _cairo_cache_lookup
    - _cairo_pattern_init_static_copy
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *_cairo_xcb_screen_lookup_radial_picture (cairo_xcb_screen_t\
      \ *screen,\t\t\t\t\t const cairo_radial_pattern_t *radial) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_font_options_init_default
      Src: /src/cairo/src/cairo-xcb-screen.c:476,1
    - Dst: _cairo_font_options_set_round_glyph_positions
      Src: /src/cairo/src/cairo-xcb-screen.c:477,1
    - Dst: _cairo_xcb_connection_release
      Src: /src/cairo/src/cairo-xcb-screen.c:486,1
    - Dst: _cairo_xcb_connection_acquire
      Src: /src/cairo/src/cairo-xcb-screen.c:484,1
    - Dst: _cairo_xcb_init_screen_font_options
      Src: /src/cairo/src/cairo-xcb-screen.c:485,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 493
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 493
    functionName: _cairo_xcb_screen_get_font_options
    functionSourceFile: /src/cairo/src/cairo-xcb-screen.c
    functionUses: []
    functionsReached:
    - _cairo_xcb_connection_acquire
    - _cairo_xcb_init_screen_font_options
    - _cairo_font_options_init_default
    - _cairo_xcb_connection_release
    - _cairo_font_options_set_round_glyph_positions
    linkageType: ''
    returnType: cairo_font_options_t*
    signature: 'cairo_font_options_t *_cairo_xcb_screen_get_font_options (cairo_xcb_screen_t
      *screen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 62
    functionName: _cairo_surface_wrapper
    functionSourceFile: /src/cairo/src/cairo-surface-wrapper-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CAIRO_BEGIN_DECLS
    signature: 'CAIRO_BEGIN_DECLS struct _cairo_surface_wrapper '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - wrapper
    argTypes:
    - cairo_surface_wrapper_t*
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: _cairo_surface_wrapper_has_fill_stroke
    functionSourceFile: /src/cairo/src/cairo-surface-wrapper-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static inline cairo_bool_t _cairo_surface_wrapper_has_fill_stroke
      (cairo_surface_wrapper_t *wrapper) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - wrapper
    argTypes:
    - cairo_surface_wrapper_t*
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: _cairo_surface_wrapper_is_active
    functionSourceFile: /src/cairo/src/cairo-surface-wrapper-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static inline cairo_bool_t _cairo_surface_wrapper_is_active (cairo_surface_wrapper_t
      *wrapper) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - clip
    argTypes:
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 60
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 60
    functionName: can_convert_to_polygon
    functionSourceFile: /src/cairo/src/cairo-clip-polygon.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t can_convert_to_polygon (const cairo_clip_t *clip) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-clip-polygon.c:143,1
    - Dst: can_convert_to_polygon
      Src: /src/cairo/src/cairo-clip-polygon.c:154,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - clip
    argTypes:
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 155
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 155
    functionName: _cairo_clip_is_polygon
    functionSourceFile: /src/cairo/src/cairo-clip-polygon.c
    functionUses: []
    functionsReached:
    - _cairo_clip_is_all_clipped
    - can_convert_to_polygon
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t _cairo_clip_is_polygon (const cairo_clip_t *clip) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-clip-polygon.c:71,1
    - Dst: _cairo_polygon_init_box_array
      Src: /src/cairo/src/cairo-clip-polygon.c:82,1
    - Dst: assert
      Src: /src/cairo/src/cairo-clip-polygon.c:77,1
    - Dst: can_convert_to_polygon
      Src: /src/cairo/src/cairo-clip-polygon.c:88,1
    - Dst: _cairo_polygon_init
      Src: /src/cairo/src/cairo-clip-polygon.c:72,1
    - Dst: _cairo_polygon_init_with_clip
      Src: /src/cairo/src/cairo-clip-polygon.c:92,1
    - Dst: _cairo_polygon_init_with_clip
      Src: /src/cairo/src/cairo-clip-polygon.c:94,1
    - Dst: _cairo_path_fixed_fill_to_polygon
      Src: /src/cairo/src/cairo-clip-polygon.c:100,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-clip-polygon.c:103,1
    - Dst: _cairo_polygon_intersect_with_boxes
      Src: /src/cairo/src/cairo-clip-polygon.c:107,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-clip-polygon.c:109,1
    - Dst: _cairo_polygon_intersect
      Src: /src/cairo/src/cairo-clip-polygon.c:124,1
    - Dst: _cairo_polygon_fini
      Src: /src/cairo/src/cairo-clip-polygon.c:126,1
    - Dst: _cairo_polygon_fini
      Src: /src/cairo/src/cairo-clip-polygon.c:136,1
    - Dst: _cairo_path_fixed_fill_to_polygon
      Src: /src/cairo/src/cairo-clip-polygon.c:120,1
    - Dst: likely
      Src: /src/cairo/src/cairo-clip-polygon.c:123,1
    - Dst: _cairo_polygon_init
      Src: /src/cairo/src/cairo-clip-polygon.c:119,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-clip-polygon.c:127,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 44
    argCount: 4
    argNames:
    - clip
    - polygon
    - fill_rule
    - antialias
    argTypes:
    - cairo_clip_t*
    - cairo_polygon_t*
    - cairo_fill_rule_t*
    - cairo_antialias_t*
    constantsTouched: []
    func_position:
      end: 138
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 138
    functionName: _cairo_clip_get_polygon
    functionSourceFile: /src/cairo/src/cairo-clip-polygon.c
    functionUses: []
    functionsReached:
    - _cairo_polygon_init_with_clip
    - _cairo_polygon_init_box_array
    - _cairo_polygon_intersect
    - _cairo_polygon_fini
    - unlikely
    - _cairo_polygon_init
    - _cairo_clip_is_all_clipped
    - assert
    - _cairo_path_fixed_fill_to_polygon
    - _cairo_polygon_intersect_with_boxes
    - likely
    - can_convert_to_polygon
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_clip_get_polygon (const cairo_clip_t *clip,\t\
      \t\t cairo_polygon_t *polygon,\t\t\t cairo_fill_rule_t *fill_rule,\t\t\t cairo_antialias_t\
      \ *antialias) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 56
    functionName: _cairo_contour_chain
    functionSourceFile: /src/cairo/src/cairo-contour-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CAIRO_BEGIN_DECLS
    signature: 'CAIRO_BEGIN_DECLS /* A contour is simply a closed chain of points
      that divide the infinite plane * into inside and outside. Each contour is a
      simple polygon, that is it * contains no holes or self-intersections, but maybe
      either concave or convex. */ struct _cairo_contour_chain '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_del
      Src: /src/cairo/src/cairo-xcb-shm.c:84,1
    - Dst: _cairo_mempool_fini
      Src: /src/cairo/src/cairo-xcb-shm.c:87,1
    - Dst: shmdt
      Src: /src/cairo/src/cairo-xcb-shm.c:86,1
    - Dst: free
      Src: /src/cairo/src/cairo-xcb-shm.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pool
    argTypes:
    - cairo_xcb_shm_mem_pool_t*
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: _cairo_xcb_shm_mem_pool_destroy
    functionSourceFile: /src/cairo/src/cairo-xcb-shm.c
    functionUses: []
    functionsReached:
    - free
    - cairo_list_del
    - shmdt
    - _cairo_mempool_fini
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_xcb_shm_mem_pool_destroy (cairo_xcb_shm_mem_pool_t
      *pool) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-shm.c:130,1
    - Dst: xcb_wait_for_reply
      Src: /src/cairo/src/cairo-xcb-shm.c:136,1
    - Dst: CAIRO_MUTEX_IS_LOCKED
      Src: /src/cairo/src/cairo-xcb-shm.c:130,1
    - Dst: cairo_list_foreach_entry_safe
      Src: /src/cairo/src/cairo-xcb-shm.c:131,1
    - Dst: xcb_poll_for_reply
      Src: /src/cairo/src/cairo-xcb-shm.c:140,1
    - Dst: free
      Src: /src/cairo/src/cairo-xcb-shm.c:154,1
    - Dst: cairo_list_del
      Src: /src/cairo/src/cairo-xcb-shm.c:155,1
    - Dst: _cairo_xcb_shm_info_finalize
      Src: /src/cairo/src/cairo-xcb-shm.c:156,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 2
    argNames:
    - connection
    - wait
    argTypes:
    - cairo_xcb_connection_t*
    - shm_wait_type_t
    constantsTouched: []
    func_position:
      end: 158
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 158
    functionName: _cairo_xcb_shm_process_pending
    functionSourceFile: /src/cairo/src/cairo-xcb-shm.c
    functionUses: []
    functionsReached:
    - cairo_list_foreach_entry_safe
    - free
    - assert
    - CAIRO_MUTEX_IS_LOCKED
    - xcb_wait_for_reply
    - cairo_list_del
    - xcb_poll_for_reply
    - _cairo_xcb_shm_info_finalize
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_xcb_shm_process_pending (cairo_xcb_connection_t
      *connection, shm_wait_type_t wait) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-xcb-shm.c:317,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-xcb-shm.c:321,1
    - Dst: xcb_get_input_focus
      Src: /src/cairo/src/cairo-xcb-shm.c:319,1
    - Dst: cairo_list_add_tail
      Src: /src/cairo/src/cairo-xcb-shm.c:322,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-shm.c:318,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-xcb-shm.c:323,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - shm_info
    argTypes:
    - cairo_xcb_shm_info_t*
    constantsTouched: []
    func_position:
      end: 324
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 324
    functionName: _cairo_xcb_shm_info_destroy
    functionSourceFile: /src/cairo/src/cairo-xcb-shm.c
    functionUses: []
    functionsReached:
    - CAIRO_MUTEX_LOCK
    - CAIRO_MUTEX_UNLOCK
    - assert
    - cairo_list_add_tail
    - xcb_get_input_focus
    - cairo_list_init
    linkageType: ''
    returnType: void
    signature: 'void _cairo_xcb_shm_info_destroy (cairo_xcb_shm_info_t *shm_info) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xcb_shm_process_pending
      Src: /src/cairo/src/cairo-xcb-shm.c:176,1
    - Dst: cairo_list_del
      Src: /src/cairo/src/cairo-xcb-shm.c:182,1
    - Dst: cairo_list_foreach_entry_safe
      Src: /src/cairo/src/cairo-xcb-shm.c:194,1
    - Dst: cairo_list_move
      Src: /src/cairo/src/cairo-xcb-shm.c:201,1
    - Dst: _cairo_xcb_shm_mem_pool_destroy
      Src: /src/cairo/src/cairo-xcb-shm.c:209,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-xcb-shm.c:220,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-xcb-shm.c:247,1
    - Dst: shmat
      Src: /src/cairo/src/cairo-xcb-shm.c:251,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-xcb-shm.c:255,1
    - Dst: free
      Src: /src/cairo/src/cairo-xcb-shm.c:263,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-xcb-shm.c:300,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-shm.c:173,1
    - Dst: cairo_list_foreach_entry
      Src: /src/cairo/src/cairo-xcb-shm.c:179,1
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-xcb-shm.c:175,1
    - Dst: _cairo_mempool_alloc
      Src: /src/cairo/src/cairo-xcb-shm.c:198,1
    - Dst: _cairo_xcb_connection_shm_detach
      Src: /src/cairo/src/cairo-xcb-shm.c:207,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xcb-shm.c:223,1
    - Dst: shmctl
      Src: /src/cairo/src/cairo-xcb-shm.c:253,1
    - Dst: _cairo_xcb_connection_shm_attach
      Src: /src/cairo/src/cairo-xcb-shm.c:268,1
    - Dst: _cairo_mempool_free
      Src: /src/cairo/src/cairo-xcb-shm.c:277,1
    - Dst: _cairo_xcb_connection_shm_detach
      Src: /src/cairo/src/cairo-xcb-shm.c:295,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-xcb-shm.c:278,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-shm.c:221,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-shm.c:215,1
    - Dst: shmget
      Src: /src/cairo/src/cairo-xcb-shm.c:232,1
    - Dst: free
      Src: /src/cairo/src/cairo-xcb-shm.c:246,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-shm.c:252,1
    - Dst: free
      Src: /src/cairo/src/cairo-xcb-shm.c:254,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xcb-shm.c:256,1
    - Dst: _cairo_mempool_init
      Src: /src/cairo/src/cairo-xcb-shm.c:259,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-shm.c:261,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-xcb-shm.c:264,1
    - Dst: shmctl
      Src: /src/cairo/src/cairo-xcb-shm.c:269,1
    - Dst: _cairo_freepool_alloc
      Src: /src/cairo/src/cairo-xcb-shm.c:275,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-xcb-shm.c:183,1
    - Dst: xcb_discard_reply
      Src: /src/cairo/src/cairo-xcb-shm.c:185,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-xcb-shm.c:222,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-xcb-shm.c:216,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xcb-shm.c:217,1
    - Dst: shmdt
      Src: /src/cairo/src/cairo-xcb-shm.c:262,1
    - Dst: cairo_list_add
      Src: /src/cairo/src/cairo-xcb-shm.c:271,1
    - Dst: _cairo_mempool_alloc
      Src: /src/cairo/src/cairo-xcb-shm.c:272,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xcb-shm.c:279,1
    - Dst: cairo_list_foreach_entry_safe
      Src: /src/cairo/src/cairo-xcb-shm.c:291,1
    - Dst: _cairo_xcb_shm_mem_pool_destroy
      Src: /src/cairo/src/cairo-xcb-shm.c:297,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-shm.c:276,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 114
    argCount: 4
    argNames:
    - connection
    - size
    - might_reuse
    - shm_info_out
    argTypes:
    - cairo_xcb_connection_t*
    - size_t
    - cairo_bool_t
    - cairo_xcb_shm_info_t**
    constantsTouched: []
    func_position:
      end: 304
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 304
    functionName: _cairo_xcb_connection_allocate_shm_info
    functionSourceFile: /src/cairo/src/cairo-xcb-shm.c
    functionUses: []
    functionsReached:
    - cairo_list_foreach_entry_safe
    - cairo_list_move
    - shmget
    - _cairo_error
    - CAIRO_MUTEX_UNLOCK
    - shmdt
    - _cairo_freepool_alloc
    - shmat
    - _cairo_mempool_free
    - _cairo_xcb_shm_mem_pool_destroy
    - cairo_list_add
    - _cairo_calloc
    - cairo_list_foreach_entry
    - CAIRO_MUTEX_LOCK
    - _cairo_mempool_alloc
    - _cairo_xcb_connection_shm_attach
    - _cairo_mempool_init
    - assert
    - shmctl
    - _cairo_xcb_connection_shm_detach
    - free
    - xcb_discard_reply
    - cairo_list_del
    - _cairo_xcb_shm_process_pending
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_xcb_connection_allocate_shm_info (cairo_xcb_connection_t\
      \ *connection,\t\t\t\t\t size_t size,\t\t\t\t\t cairo_bool_t might_reuse,\t\t\
      \t\t\t cairo_xcb_shm_info_t **shm_info_out) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-shm.c:97,1
    - Dst: _cairo_mempool_free
      Src: /src/cairo/src/cairo-xcb-shm.c:99,1
    - Dst: cairo_list_is_singular
      Src: /src/cairo/src/cairo-xcb-shm.c:103,1
    - Dst: _cairo_freepool_free
      Src: /src/cairo/src/cairo-xcb-shm.c:100,1
    - Dst: CAIRO_MUTEX_IS_LOCKED
      Src: /src/cairo/src/cairo-xcb-shm.c:97,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-xcb-shm.c:108,1
    - Dst: cairo_list_move
      Src: /src/cairo/src/cairo-xcb-shm.c:109,1
    - Dst: cairo_list_foreach_entry_safe
      Src: /src/cairo/src/cairo-xcb-shm.c:111,1
    - Dst: _cairo_xcb_connection_shm_detach
      Src: /src/cairo/src/cairo-xcb-shm.c:115,1
    - Dst: _cairo_xcb_shm_mem_pool_destroy
      Src: /src/cairo/src/cairo-xcb-shm.c:116,1
    - Dst: cairo_list_move
      Src: /src/cairo/src/cairo-xcb-shm.c:120,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - shm_info
    argTypes:
    - cairo_xcb_shm_info_t*
    constantsTouched: []
    func_position:
      end: 122
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 122
    functionName: _cairo_xcb_shm_info_finalize
    functionSourceFile: /src/cairo/src/cairo-xcb-shm.c
    functionUses: []
    functionsReached:
    - cairo_list_foreach_entry_safe
    - cairo_list_is_singular
    - cairo_list_move
    - _cairo_freepool_free
    - _cairo_xcb_shm_mem_pool_destroy
    - assert
    - CAIRO_MUTEX_IS_LOCKED
    - _cairo_mempool_free
    - _cairo_xcb_connection_shm_detach
    - cairo_list_init
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_xcb_shm_info_finalize (cairo_xcb_shm_info_t *shm_info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-xcb-shm.c:329,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-xcb-shm.c:331,1
    - Dst: _cairo_xcb_shm_process_pending
      Src: /src/cairo/src/cairo-xcb-shm.c:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - connection
    argTypes:
    - cairo_xcb_connection_t*
    constantsTouched: []
    func_position:
      end: 332
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 332
    functionName: _cairo_xcb_connection_shm_mem_pools_flush
    functionSourceFile: /src/cairo/src/cairo-xcb-shm.c
    functionUses: []
    functionsReached:
    - CAIRO_MUTEX_LOCK
    - CAIRO_MUTEX_UNLOCK
    - _cairo_xcb_shm_process_pending
    linkageType: ''
    returnType: void
    signature: 'void _cairo_xcb_connection_shm_mem_pools_flush (cairo_xcb_connection_t
      *connection) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-shm.c:337,1
    - Dst: cairo_list_is_empty
      Src: /src/cairo/src/cairo-xcb-shm.c:338,1
    - Dst: _cairo_xcb_shm_mem_pool_destroy
      Src: /src/cairo/src/cairo-xcb-shm.c:339,1
    - Dst: cairo_list_first_entry
      Src: /src/cairo/src/cairo-xcb-shm.c:339,1
    - Dst: cairo_list_is_empty
      Src: /src/cairo/src/cairo-xcb-shm.c:337,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - connection
    argTypes:
    - cairo_xcb_connection_t*
    constantsTouched: []
    func_position:
      end: 343
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 343
    functionName: _cairo_xcb_connection_shm_mem_pools_fini
    functionSourceFile: /src/cairo/src/cairo-xcb-shm.c
    functionUses: []
    functionsReached:
    - _cairo_xcb_shm_mem_pool_destroy
    - cairo_list_is_empty
    - cairo_list_first_entry
    - assert
    linkageType: ''
    returnType: void
    signature: 'void _cairo_xcb_connection_shm_mem_pools_fini (cairo_xcb_connection_t
      *connection) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_set_tolerance
      Src: /src/cairo/src/cairo-default-context.c:359,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - abstract_cr
    - tolerance
    argTypes:
    - void*
    - double
    constantsTouched: []
    func_position:
      end: 360
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 360
    functionName: _cairo_default_context_set_tolerance
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_set_tolerance
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_default_context_set_tolerance (void *abstract_cr,\t\
      \t\t\t double tolerance) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_get_opacity
      Src: /src/cairo/src/cairo-default-context.c:532,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - abstract_cr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 533
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 533
    functionName: _cairo_default_context_get_opacity
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_get_opacity
    linkageType: ''
    returnType: double
    signature: 'static double _cairo_default_context_get_opacity (void *abstract_cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_fixed_fini
      Src: /src/cairo/src/cairo-default-context.c:694,1
    - Dst: _cairo_path_fixed_init
      Src: /src/cairo/src/cairo-default-context.c:695,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - abstract_cr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 698
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 698
    functionName: _cairo_default_context_new_path
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_fini
    - _cairo_path_fixed_init
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_default_context_new_path (void *abstract_cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_reset_clip
      Src: /src/cairo/src/cairo-default-context.c:1147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - abstract_cr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1148
      start: 1142
    functionDepth: 0
    functionLinenumber: 1142
    functionLinenumberEnd: 1148
    functionName: _cairo_default_context_reset_clip
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_reset_clip
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_default_context_reset_clip (void *abstract_cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_set_operator
      Src: /src/cairo/src/cairo-default-context.c:367,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - abstract_cr
    - op
    argTypes:
    - void*
    - cairo_operator_t
    constantsTouched: []
    func_position:
      end: 368
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 368
    functionName: _cairo_default_context_set_operator
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_set_operator
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_default_context_set_operator (void *abstract_cr,
      cairo_operator_t op) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_get_tolerance
      Src: /src/cairo/src/cairo-default-context.c:540,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - abstract_cr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 541
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 541
    functionName: _cairo_default_context_get_tolerance
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_get_tolerance
    linkageType: ''
    returnType: double
    signature: 'static double _cairo_default_context_get_tolerance (void *abstract_cr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_clip_extents
      Src: /src/cairo/src/cairo-default-context.c:1156,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 5
    argNames:
    - abstract_cr
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - void*
    - double*
    - double*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 1164
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1164
    functionName: _cairo_default_context_clip_extents
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_clip_extents
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_default_context_clip_extents (void *abstract_cr,\t\
      \t\t\t double *x1, double *y1, double *x2, double *y2) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_user_to_backend_distance
      Src: /src/cairo/src/cairo-default-context.c:684,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - abstract_cr
    - dx
    - dy
    argTypes:
    - void*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 685
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 685
    functionName: _cairo_default_context_user_to_backend_distance
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_user_to_backend_distance
    linkageType: ''
    returnType: void
    signature: "static void _cairo_default_context_user_to_backend_distance (void\
      \ *abstract_cr,\t\t\t\t\t\t double *dx,\t\t\t\t\t\t double *dy) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _freed_pool_reset
      Src: /src/cairo/src/cairo-default-context.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: _cairo_default_context_reset_static_data
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _freed_pool_reset
    linkageType: ''
    returnType: void
    signature: 'void _cairo_default_context_reset_static_data (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_device_to_user_distance
      Src: /src/cairo/src/cairo-default-context.c:646,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - abstract_cr
    - dx
    - dy
    argTypes:
    - void*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 647
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 647
    functionName: _cairo_default_context_device_to_user_distance
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_device_to_user_distance
    linkageType: ''
    returnType: void
    signature: "static void _cairo_default_context_device_to_user_distance (void *abstract_cr,\t\
      \t\t\t\t\tdouble *dx,\t\t\t\t\t\tdouble *dy) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_fixed_new_sub_path
      Src: /src/cairo/src/cairo-default-context.c:705,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - abstract_cr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 708
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 708
    functionName: _cairo_default_context_new_sub_path
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_new_sub_path
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_default_context_new_sub_path (void *abstract_cr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_stroke
      Src: /src/cairo/src/cairo-default-context.c:1034,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-default-context.c:1035,1
    - Dst: _cairo_default_context_new_path
      Src: /src/cairo/src/cairo-default-context.c:1038,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - abstract_cr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1039
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1039
    functionName: _cairo_default_context_stroke
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_default_context_new_path
    - unlikely
    - _cairo_gstate_stroke
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_default_context_stroke (void *abstract_cr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_restore
      Src: /src/cairo/src/cairo-default-context.c:70,1
    - Dst: _cairo_gstate_fini
      Src: /src/cairo/src/cairo-default-context.c:74,1
    - Dst: free
      Src: /src/cairo/src/cairo-default-context.c:79,1
    - Dst: _cairo_fini
      Src: /src/cairo/src/cairo-default-context.c:84,1
    - Dst: _cairo_path_fixed_fini
      Src: /src/cairo/src/cairo-default-context.c:82,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_default_context_t*
    constantsTouched: []
    func_position:
      end: 85
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 85
    functionName: _cairo_default_context_fini
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_restore
    - free
    - _cairo_gstate_fini
    - _cairo_path_fixed_fini
    - _cairo_fini
    linkageType: ''
    returnType: void
    signature: 'void _cairo_default_context_fini (cairo_default_context_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_backend_to_user
      Src: /src/cairo/src/cairo-default-context.c:656,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - abstract_cr
    - x
    - y
    argTypes:
    - void*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 657
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 657
    functionName: _cairo_default_context_backend_to_user
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_backend_to_user
    linkageType: ''
    returnType: void
    signature: "static void _cairo_default_context_backend_to_user (void *abstract_cr,\t\
      \t\t\t\tdouble *x,\t\t\t\t\tdouble *y) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_user_to_backend
      Src: /src/cairo/src/cairo-default-context.c:717,1
    - Dst: _cairo_gstate_get_line_width
      Src: /src/cairo/src/cairo-default-context.c:718,1
    - Dst: _cairo_fixed_from_double_clamped
      Src: /src/cairo/src/cairo-default-context.c:719,1
    - Dst: _cairo_fixed_from_double_clamped
      Src: /src/cairo/src/cairo-default-context.c:720,1
    - Dst: _cairo_path_fixed_move_to
      Src: /src/cairo/src/cairo-default-context.c:722,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - abstract_cr
    - x
    - y
    argTypes:
    - void*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 723
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 723
    functionName: _cairo_default_context_move_to
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_move_to
    - _cairo_gstate_user_to_backend
    - _cairo_gstate_get_line_width
    - _cairo_fixed_from_double_clamped
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_default_context_move_to (void *abstract_cr,
      double x, double y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_in_stroke
      Src: /src/cairo/src/cairo-default-context.c:1048,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - abstract_cr
    - x
    - y
    - inside
    argTypes:
    - void*
    - double
    - double
    - cairo_bool_t*
    constantsTouched: []
    func_position:
      end: 1052
      start: 1041
    functionDepth: 0
    functionLinenumber: 1041
    functionLinenumberEnd: 1052
    functionName: _cairo_default_context_in_stroke
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_in_stroke
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_default_context_in_stroke (void *abstract_cr,\t\
      \t\t\t double x, double y,\t\t\t\t cairo_bool_t *inside) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-default-context.c:128,1
    - Dst: _cairo_gstate_is_group
      Src: /src/cairo/src/cairo-default-context.c:128,1
    - Dst: _cairo_gstate_restore
      Src: /src/cairo/src/cairo-default-context.c:131,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-default-context.c:129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - abstract_cr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 132
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 132
    functionName: _cairo_default_context_restore
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_gstate_is_group
    - _cairo_gstate_restore
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_default_context_restore (void *abstract_cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_get_dash
      Src: /src/cairo/src/cairo-default-context.c:468,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 4
    argNames:
    - abstract_cr
    - dashes
    - num_dashes
    - offset
    argTypes:
    - void*
    - double*
    - int*
    - double*
    constantsTouched: []
    func_position:
      end: 469
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 469
    functionName: _cairo_default_context_get_dash
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_get_dash
    linkageType: ''
    returnType: void
    signature: "static void _cairo_default_context_get_dash (void *abstract_cr,\t\t\
      \t\t double *dashes,\t\t\t\t int *num_dashes,\t\t\t\t double *offset) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_set_matrix
      Src: /src/cairo/src/cairo-default-context.c:590,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - abstract_cr
    - matrix
    argTypes:
    - void*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 591
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 591
    functionName: _cairo_default_context_set_matrix
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_set_matrix
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_default_context_set_matrix (void *abstract_cr,\t\
      \t\t\t const cairo_matrix_t *matrix) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_tag_begin
      Src: /src/cairo/src/cairo-default-context.c:1188,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - abstract_cr
    - tag_name
    - attributes
    argTypes:
    - void*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1189
      start: 1182
    functionDepth: 0
    functionLinenumber: 1182
    functionLinenumberEnd: 1189
    functionName: _cairo_default_context_tag_begin
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_tag_begin
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_default_context_tag_begin (void *abstract_cr,\t\
      \t\t\t const char *tag_name, const char *attributes) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-default-context.c:155,1
    - Dst: _cairo_rectangle_intersect
      Src: /src/cairo/src/cairo-default-context.c:164,1
    - Dst: cairo_surface_set_device_scale
      Src: /src/cairo/src/cairo-default-context.c:191,1
    - Dst: _cairo_surface_create_scratch
      Src: /src/cairo/src/cairo-default-context.c:172,1
    - Dst: _cairo_gstate_redirect_target
      Src: /src/cairo/src/cairo-default-context.c:207,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-default-context.c:210,1
    - Dst: _cairo_gstate_get_clip
      Src: /src/cairo/src/cairo-default-context.c:142,1
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-default-context.c:143,1
    - Dst: _cairo_surface_get_extents
      Src: /src/cairo/src/cairo-default-context.c:161,1
    - Dst: _cairo_clip_get_extents
      Src: /src/cairo/src/cairo-default-context.c:165,1
    - Dst: cairo_surface_set_device_offset
      Src: /src/cairo/src/cairo-default-context.c:187,1
    - Dst: _cairo_path_fixed_translate
      Src: /src/cairo/src/cairo-default-context.c:197,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-default-context.c:198,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-default-context.c:199,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/src/cairo-default-context.c:144,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-default-context.c:157,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-default-context.c:158,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-default-context.c:204,1
    - Dst: _cairo_gstate_get_target
      Src: /src/cairo/src/cairo-default-context.c:153,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-default-context.c:146,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-default-context.c:179,1
    - Dst: cairo_recording_surface_create
      Src: /src/cairo/src/cairo-default-context.c:169,1
    - Dst: _cairo_gstate_save
      Src: /src/cairo/src/cairo-default-context.c:203,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 2
    argNames:
    - abstract_cr
    - content
    argTypes:
    - void*
    - cairo_content_t
    constantsTouched: []
    func_position:
      end: 212
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 212
    functionName: _cairo_default_context_push_group
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_surface_create_scratch
    - _cairo_error
    - _cairo_rectangle_intersect
    - _cairo_gstate_get_target
    - _cairo_fixed_from_int
    - _cairo_clip_is_all_clipped
    - _cairo_gstate_redirect_target
    - _cairo_gstate_get_clip
    - _cairo_surface_get_extents
    - _cairo_path_fixed_translate
    - cairo_image_surface_create
    - cairo_surface_set_device_scale
    - cairo_surface_set_device_offset
    - _cairo_gstate_save
    - cairo_surface_destroy
    - _cairo_clip_get_extents
    - cairo_recording_surface_create
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_default_context_push_group (void *abstract_cr,
      cairo_content_t content) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_get_fill_rule
      Src: /src/cairo/src/cairo-default-context.c:476,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - abstract_cr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 477
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 477
    functionName: _cairo_default_context_get_fill_rule
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_get_fill_rule
    linkageType: ''
    returnType: cairo_fill_rule_t
    signature: 'static cairo_fill_rule_t _cairo_default_context_get_fill_rule (void
      *abstract_cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_identity_matrix
      Src: /src/cairo/src/cairo-default-context.c:598,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - abstract_cr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 600
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 600
    functionName: _cairo_default_context_set_identity_matrix
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_identity_matrix
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_default_context_set_identity_matrix (void
      *abstract_cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_tag_end
      Src: /src/cairo/src/cairo-default-context.c:1197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - abstract_cr
    - tag_name
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 1198
      start: 1191
    functionDepth: 0
    functionLinenumber: 1191
    functionLinenumberEnd: 1198
    functionName: _cairo_default_context_tag_end
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_tag_end
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_default_context_tag_end (void *abstract_cr,\t\
      \t\t\tconst char *tag_name) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_user_to_backend
      Src: /src/cairo/src/cairo-default-context.c:732,1
    - Dst: _cairo_fixed_from_double_clamped
      Src: /src/cairo/src/cairo-default-context.c:734,1
    - Dst: _cairo_gstate_get_line_width
      Src: /src/cairo/src/cairo-default-context.c:733,1
    - Dst: _cairo_fixed_from_double_clamped
      Src: /src/cairo/src/cairo-default-context.c:735,1
    - Dst: _cairo_path_fixed_line_to
      Src: /src/cairo/src/cairo-default-context.c:737,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - abstract_cr
    - x
    - y
    argTypes:
    - void*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 738
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 738
    functionName: _cairo_default_context_line_to
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_user_to_backend
    - _cairo_gstate_get_line_width
    - _cairo_fixed_from_double_clamped
    - _cairo_path_fixed_line_to
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_default_context_line_to (void *abstract_cr,
      double x, double y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_get_font_options
      Src: /src/cairo/src/cairo-default-context.c:1285,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - abstract_cr
    - options
    argTypes:
    - void*
    - cairo_font_options_t*
    constantsTouched: []
    func_position:
      end: 1286
      start: 1279
    functionDepth: 0
    functionLinenumber: 1279
    functionLinenumberEnd: 1286
    functionName: _cairo_default_context_get_font_options
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_get_font_options
    linkageType: ''
    returnType: void
    signature: "static void _cairo_default_context_get_font_options (void *abstract_cr,\t\
      \t\t\t\t cairo_font_options_t *options) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_user_to_backend
      Src: /src/cairo/src/cairo-default-context.c:752,1
    - Dst: _cairo_gstate_user_to_backend
      Src: /src/cairo/src/cairo-default-context.c:754,1
    - Dst: _cairo_gstate_get_line_width
      Src: /src/cairo/src/cairo-default-context.c:755,1
    - Dst: _cairo_fixed_from_double_clamped
      Src: /src/cairo/src/cairo-default-context.c:757,1
    - Dst: _cairo_gstate_user_to_backend
      Src: /src/cairo/src/cairo-default-context.c:753,1
    - Dst: _cairo_fixed_from_double_clamped
      Src: /src/cairo/src/cairo-default-context.c:758,1
    - Dst: _cairo_fixed_from_double_clamped
      Src: /src/cairo/src/cairo-default-context.c:760,1
    - Dst: _cairo_fixed_from_double_clamped
      Src: /src/cairo/src/cairo-default-context.c:761,1
    - Dst: _cairo_fixed_from_double_clamped
      Src: /src/cairo/src/cairo-default-context.c:763,1
    - Dst: _cairo_fixed_from_double_clamped
      Src: /src/cairo/src/cairo-default-context.c:764,1
    - Dst: _cairo_path_fixed_curve_to
      Src: /src/cairo/src/cairo-default-context.c:766,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 7
    argNames:
    - abstract_cr
    - x1
    - y1
    - x2
    - y2
    - x3
    - y3
    argTypes:
    - void*
    - double
    - double
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 770
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 770
    functionName: _cairo_default_context_curve_to
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_curve_to
    - _cairo_gstate_user_to_backend
    - _cairo_gstate_get_line_width
    - _cairo_fixed_from_double_clamped
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_default_context_curve_to (void *abstract_cr,\t\
      \t\t\t double x1, double y1,\t\t\t\t double x2, double y2,\t\t\t\t double x3,\
      \ double y3) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_set_font_face
      Src: /src/cairo/src/cairo-default-context.c:1301,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-default-context.c:1302,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-default-context.c:1306,1
    - Dst: _cairo_gstate_set_font_options
      Src: /src/cairo/src/cairo-default-context.c:1309,1
    - Dst: _cairo_gstate_set_font_matrix
      Src: /src/cairo/src/cairo-default-context.c:1305,1
    - Dst: cairo_scaled_font_reference
      Src: /src/cairo/src/cairo-default-context.c:1312,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - abstract_cr
    - scaled_font
    argTypes:
    - void*
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 1315
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1315
    functionName: _cairo_default_context_set_scaled_font
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_set_font_matrix
    - _cairo_gstate_set_font_face
    - unlikely
    - _cairo_gstate_set_font_options
    - cairo_scaled_font_reference
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_default_context_set_scaled_font (void\
      \ *abstract_cr,\t\t\t\t\tcairo_scaled_font_t *scaled_font) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_get_target
      Src: /src/cairo/src/cairo-default-context.c:112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: _cairo_default_context_get_current_target
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_get_target
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *_cairo_default_context_get_current_target
      (void *abstract_cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_set_hairline
      Src: /src/cairo/src/cairo-default-context.c:410,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - abstract_cr
    - set_hairline
    argTypes:
    - void*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 411
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 411
    functionName: _cairo_default_context_set_hairline
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_set_hairline
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_default_context_set_hairline (void *abstract_cr,
      cairo_bool_t set_hairline) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_get_miter_limit
      Src: /src/cairo/src/cairo-default-context.c:516,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - abstract_cr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 517
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 517
    functionName: _cairo_default_context_get_miter_limit
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_get_miter_limit
    linkageType: ''
    returnType: double
    signature: 'static double _cairo_default_context_get_miter_limit (void *abstract_cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_fixed_close_path
      Src: /src/cairo/src/cairo-default-context.c:878,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - abstract_cr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 879
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 879
    functionName: _cairo_default_context_close_path
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_close_path
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_default_context_close_path (void *abstract_cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_rotate
      Src: /src/cairo/src/cairo-default-context.c:572,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - abstract_cr
    - theta
    argTypes:
    - void*
    - double
    constantsTouched: []
    func_position:
      end: 573
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 573
    functionName: _cairo_default_context_rotate
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_rotate
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_default_context_rotate (void *abstract_cr,\t\
      \t\t double theta) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_glyph_path
      Src: /src/cairo/src/cairo-default-context.c:1349,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - abstract_cr
    - glyphs
    - num_glyphs
    argTypes:
    - void*
    - cairo_glyph_t*
    - int
    constantsTouched: []
    func_position:
      end: 1352
      start: 1342
    functionDepth: 0
    functionLinenumber: 1342
    functionLinenumberEnd: 1352
    functionName: _cairo_default_context_glyph_path
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_glyph_path
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_default_context_glyph_path (void *abstract_cr,\t\
      \t\t\t const cairo_glyph_t *glyphs,\t\t\t\t int num_glyphs) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_save
      Src: /src/cairo/src/cairo-default-context.c:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - abstract_cr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 121
    functionName: _cairo_default_context_save
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_save
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_default_context_save (void *abstract_cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_set_line_cap
      Src: /src/cairo/src/cairo-default-context.c:419,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - abstract_cr
    - line_cap
    argTypes:
    - void*
    - cairo_line_cap_t
    constantsTouched: []
    func_position:
      end: 420
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 420
    functionName: _cairo_default_context_set_line_cap
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_set_line_cap
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_default_context_set_line_cap (void *abstract_cr,\t\
      \t\t\t cairo_line_cap_t line_cap) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_get_operator
      Src: /src/cairo/src/cairo-default-context.c:524,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - abstract_cr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 525
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 525
    functionName: _cairo_default_context_get_operator
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_get_operator
    linkageType: ''
    returnType: cairo_operator_t
    signature: 'static cairo_operator_t _cairo_default_context_get_operator (void
      *abstract_cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_transform
      Src: /src/cairo/src/cairo-default-context.c:581,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - abstract_cr
    - matrix
    argTypes:
    - void*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 582
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 582
    functionName: _cairo_default_context_transform
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_transform
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_default_context_transform (void *abstract_cr,\t\
      \t\t\t const cairo_matrix_t *matrix) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_default_context_move_to
      Src: /src/cairo/src/cairo-default-context.c:889,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-default-context.c:890,1
    - Dst: _cairo_default_context_rel_line_to
      Src: /src/cairo/src/cairo-default-context.c:893,1
    - Dst: _cairo_default_context_rel_line_to
      Src: /src/cairo/src/cairo-default-context.c:897,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-default-context.c:894,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-default-context.c:898,1
    - Dst: _cairo_default_context_rel_line_to
      Src: /src/cairo/src/cairo-default-context.c:901,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-default-context.c:902,1
    - Dst: _cairo_default_context_close_path
      Src: /src/cairo/src/cairo-default-context.c:905,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 5
    argNames:
    - abstract_cr
    - x
    - y
    - width
    - height
    argTypes:
    - void*
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 906
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 906
    functionName: _cairo_default_context_rectangle
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_default_context_close_path
    - _cairo_default_context_move_to
    - _cairo_default_context_rel_line_to
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_default_context_rectangle (void *abstract_cr,\t\
      \t\t\t double x, double y,\t\t\t\t double width, double height) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_glyph_extents
      Src: /src/cairo/src/cairo-default-context.c:1362,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - abstract_cr
    - glyphs
    - num_glyphs
    - extents
    argTypes:
    - void*
    - cairo_glyph_t*
    - int
    - cairo_text_extents_t*
    constantsTouched: []
    func_position:
      end: 1363
      start: 1354
    functionDepth: 0
    functionLinenumber: 1354
    functionLinenumberEnd: 1363
    functionName: _cairo_default_context_glyph_extents
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_glyph_extents
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_default_context_glyph_extents (void *abstract_cr,\t\
      \t\t\t const cairo_glyph_t *glyphs,\t\t\t\t int num_glyphs,\t\t\t\t cairo_text_extents_t\
      \ *extents) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_default_context_set_source
      Src: /src/cairo/src/cairo-default-context.c:324,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/src/cairo-default-context.c:329,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-default-context.c:327,1
    - Dst: cairo_pattern_create_for_surface
      Src: /src/cairo/src/cairo-default-context.c:326,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/src/cairo-default-context.c:333,1
    - Dst: cairo_pattern_set_matrix
      Src: /src/cairo/src/cairo-default-context.c:334,1
    - Dst: _cairo_default_context_set_source
      Src: /src/cairo/src/cairo-default-context.c:336,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/src/cairo-default-context.c:337,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 4
    argNames:
    - abstract_cr
    - surface
    - x
    - y
    argTypes:
    - void*
    - cairo_surface_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 340
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 340
    functionName: _cairo_default_context_set_source_surface
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_for_surface
    - cairo_pattern_set_matrix
    - _cairo_default_context_set_source
    - cairo_matrix_init_translate
    - cairo_pattern_destroy
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_default_context_set_source_surface (void\
      \ *abstract_cr,\t\t\t\t\t cairo_surface_t *surface,\t\t\t\t\t double\t x,\t\t\
      \t\t\t double\t y) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_create_flat
      Src: /src/cairo/src/cairo-default-context.c:965,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 966
      start: 960
    functionDepth: 0
    functionLinenumber: 960
    functionLinenumberEnd: 966
    functionName: _cairo_default_context_copy_path_flat
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_path_create_flat
    linkageType: ''
    returnType: cairo_path_t*
    signature: 'static cairo_path_t *_cairo_default_context_copy_path_flat (void *abstract_cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_get_font_matrix
      Src: /src/cairo/src/cairo-default-context.c:1266,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - abstract_cr
    - matrix
    argTypes:
    - void*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 1267
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1267
    functionName: _cairo_default_context_get_font_matrix
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_get_font_matrix
    linkageType: ''
    returnType: void
    signature: "static void _cairo_default_context_get_font_matrix (void *abstract_cr,\t\
      \t\t\t\tcairo_matrix_t *matrix) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_get_source
      Src: /src/cairo/src/cairo-default-context.c:347,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 348
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 348
    functionName: _cairo_default_context_get_source
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_get_source
    linkageType: ''
    returnType: cairo_pattern_t*
    signature: 'static cairo_pattern_t *_cairo_default_context_get_source (void *abstract_cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_append_to_context
      Src: /src/cairo/src/cairo-default-context.c:974,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - abstract_cr
    - path
    argTypes:
    - void*
    - cairo_path_t*
    constantsTouched: []
    func_position:
      end: 975
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 975
    functionName: _cairo_default_context_append_path
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_path_append_to_context
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_default_context_append_path (void *abstract_cr,\t\
      \t\t\t const cairo_path_t *path) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_set_font_options
      Src: /src/cairo/src/cairo-default-context.c:1275,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - abstract_cr
    - options
    argTypes:
    - void*
    - cairo_font_options_t*
    constantsTouched: []
    func_position:
      end: 1277
      start: 1269
    functionDepth: 0
    functionLinenumber: 1269
    functionLinenumberEnd: 1277
    functionName: _cairo_default_context_set_font_options
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_set_font_options
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_default_context_set_font_options (void\
      \ *abstract_cr,\t\t\t\t\t const cairo_font_options_t *options) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_default_context_fini
      Src: /src/cairo/src/cairo-default-context.c:92,1
    - Dst: _freed_pool_put
      Src: /src/cairo/src/cairo-default-context.c:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - abstract_cr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 97
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 97
    functionName: _cairo_default_context_destroy
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _freed_pool_put
    - _cairo_default_context_fini
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_default_context_destroy (void *abstract_cr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_restrict_value
      Src: /src/cairo/src/cairo-default-context.c:278,1
    - Dst: _cairo_restrict_value
      Src: /src/cairo/src/cairo-default-context.c:281,1
    - Dst: _cairo_color_init_rgba
      Src: /src/cairo/src/cairo-default-context.c:283,1
    - Dst: _cairo_restrict_value
      Src: /src/cairo/src/cairo-default-context.c:280,1
    - Dst: _cairo_restrict_value
      Src: /src/cairo/src/cairo-default-context.c:279,1
    - Dst: _cairo_color_equal
      Src: /src/cairo/src/cairo-default-context.c:284,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - pattern
    - red
    - green
    - blue
    - alpha
    argTypes:
    - cairo_pattern_t*
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 286
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 286
    functionName: _current_source_matches_solid
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_restrict_value
    - _cairo_color_init_rgba
    - _cairo_color_equal
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _current_source_matches_solid (const cairo_pattern_t\
      \ *pattern,\t\t\t double red,\t\t\t double green,\t\t\t double blue,\t\t\t double\
      \ alpha) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_set_miter_limit
      Src: /src/cairo/src/cairo-default-context.c:449,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - abstract_cr
    - limit
    argTypes:
    - void*
    - double
    constantsTouched: []
    func_position:
      end: 450
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 450
    functionName: _cairo_default_context_set_miter_limit
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_set_miter_limit
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_default_context_set_miter_limit (void\
      \ *abstract_cr,\t\t\t\t\tdouble limit) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_get_font_face
      Src: /src/cairo/src/cairo-default-context.c:1224,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-default-context.c:1226,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-default-context.c:1225,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1231
      start: 1217
    functionDepth: 0
    functionLinenumber: 1217
    functionLinenumberEnd: 1231
    functionName: _cairo_default_context_get_font_face
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - unlikely
    - _cairo_error_throw
    - _cairo_gstate_get_font_face
    linkageType: ''
    returnType: cairo_font_face_t*
    signature: 'static cairo_font_face_t *_cairo_default_context_get_font_face (void
      *abstract_cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_get_original_target
      Src: /src/cairo/src/cairo-default-context.c:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: _cairo_default_context_get_original_target
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_get_original_target
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *_cairo_default_context_get_original_target
      (void *abstract_cr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _current_source_matches_solid
      Src: /src/cairo/src/cairo-default-context.c:295,1
    - Dst: cairo_pattern_create_rgba
      Src: /src/cairo/src/cairo-default-context.c:302,1
    - Dst: _cairo_default_context_set_source
      Src: /src/cairo/src/cairo-default-context.c:300,1
    - Dst: _cairo_default_context_set_source
      Src: /src/cairo/src/cairo-default-context.c:306,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-default-context.c:303,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/src/cairo-default-context.c:307,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 5
    argNames:
    - abstract_cr
    - red
    - green
    - blue
    - alpha
    argTypes:
    - void*
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 310
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 310
    functionName: _cairo_default_context_set_source_rgba
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _current_source_matches_solid
    - cairo_pattern_create_rgba
    - _cairo_default_context_set_source
    - cairo_pattern_destroy
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_default_context_set_source_rgba (void
      *abstract_cr, double red, double green, double blue, double alpha) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_get_antialias
      Src: /src/cairo/src/cairo-default-context.c:457,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - abstract_cr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 458
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 458
    functionName: _cairo_default_context_get_antialias
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_get_antialias
    linkageType: ''
    returnType: cairo_antialias_t
    signature: 'static cairo_antialias_t _cairo_default_context_get_antialias (void
      *abstract_cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_get_font_extents
      Src: /src/cairo/src/cairo-default-context.c:1239,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - abstract_cr
    - extents
    argTypes:
    - void*
    - cairo_font_extents_t*
    constantsTouched: []
    func_position:
      end: 1240
      start: 1233
    functionDepth: 0
    functionLinenumber: 1233
    functionLinenumberEnd: 1240
    functionName: _cairo_default_context_font_extents
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_get_font_extents
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_default_context_font_extents (void *abstract_cr,\t\
      \t\t\t cairo_font_extents_t *extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_init
      Src: /src/cairo/src/cairo-default-context.c:1492,1
    - Dst: _cairo_gstate_init
      Src: /src/cairo/src/cairo-default-context.c:1499,1
    - Dst: _cairo_path_fixed_init
      Src: /src/cairo/src/cairo-default-context.c:1493,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - cr
    - target
    argTypes:
    - cairo_default_context_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1500
      start: 1489
    functionDepth: 0
    functionLinenumber: 1489
    functionLinenumberEnd: 1500
    functionName: _cairo_default_context_init
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_init
    - _cairo_init
    - _cairo_path_fixed_init
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_default_context_init (cairo_default_context_t
      *cr, void *target) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_clip
      Src: /src/cairo/src/cairo-default-context.c:1124,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-default-context.c:1125,1
    - Dst: _cairo_default_context_new_path
      Src: /src/cairo/src/cairo-default-context.c:1128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - abstract_cr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1129
      start: 1118
    functionDepth: 0
    functionLinenumber: 1118
    functionLinenumberEnd: 1129
    functionName: _cairo_default_context_clip
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_clip
    - _cairo_default_context_new_path
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_default_context_clip (void *abstract_cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_set_font_size
      Src: /src/cairo/src/cairo-default-context.c:1248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - abstract_cr
    - size
    argTypes:
    - void*
    - double
    constantsTouched: []
    func_position:
      end: 1249
      start: 1242
    functionDepth: 0
    functionLinenumber: 1242
    functionLinenumberEnd: 1249
    functionName: _cairo_default_context_set_font_size
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_set_font_size
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_default_context_set_font_size (void *abstract_cr,\t\
      \t\t\t double size) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_in_clip
      Src: /src/cairo/src/cairo-default-context.c:1138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - abstract_cr
    - x
    - y
    - inside
    argTypes:
    - void*
    - double
    - double
    - cairo_bool_t*
    constantsTouched: []
    func_position:
      end: 1140
      start: 1131
    functionDepth: 0
    functionLinenumber: 1131
    functionLinenumberEnd: 1140
    functionName: _cairo_default_context_in_clip
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_in_clip
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_default_context_in_clip (void *abstract_cr,\t\
      \t\t\tdouble x, double y,\t\t\t\tcairo_bool_t *inside) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_set_font_matrix
      Src: /src/cairo/src/cairo-default-context.c:1257,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - abstract_cr
    - matrix
    argTypes:
    - void*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 1258
      start: 1251
    functionDepth: 0
    functionLinenumber: 1251
    functionLinenumberEnd: 1258
    functionName: _cairo_default_context_set_font_matrix
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_set_font_matrix
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_default_context_set_font_matrix (void\
      \ *abstract_cr,\t\t\t\t\tconst cairo_matrix_t *matrix) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_get_line_cap
      Src: /src/cairo/src/cairo-default-context.c:500,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - abstract_cr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 501
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 501
    functionName: _cairo_default_context_get_line_cap
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_get_line_cap
    linkageType: ''
    returnType: cairo_line_cap_t
    signature: 'static cairo_line_cap_t _cairo_default_context_get_line_cap (void
      *abstract_cr) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_user_to_backend
      Src: /src/cairo/src/cairo-default-context.c:785,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-default-context.c:786,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-default-context.c:787,1
    - Dst: _cairo_path_fixed_line_to
      Src: /src/cairo/src/cairo-default-context.c:788,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-default-context.c:789,1
    - Dst: _cairo_path_fixed_line_to
      Src: /src/cairo/src/cairo-default-context.c:792,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-default-context.c:793,1
    - Dst: _cairo_default_context_line_to
      Src: /src/cairo/src/cairo-default-context.c:799,1
    - Dst: cos
      Src: /src/cairo/src/cairo-default-context.c:800,1
    - Dst: sin
      Src: /src/cairo/src/cairo-default-context.c:801,1
    - Dst: _cairo_arc_path_negative
      Src: /src/cairo/src/cairo-default-context.c:809,1
    - Dst: _cairo_arc_path
      Src: /src/cairo/src/cairo-default-context.c:807,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-default-context.c:803,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 7
    argNames:
    - abstract_cr
    - xc
    - yc
    - radius
    - angle1
    - angle2
    - forward
    argTypes:
    - void*
    - double
    - double
    - double
    - double
    - double
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 812
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 812
    functionName: _cairo_default_context_arc
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_default_context_line_to
    - cos
    - _cairo_path_fixed_line_to
    - _cairo_fixed_from_double
    - sin
    - _cairo_arc_path
    - _cairo_gstate_user_to_backend
    - _cairo_arc_path_negative
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_default_context_arc (void *abstract_cr,\t\
      \t\t double xc, double yc, double radius,\t\t\t double angle1, double angle2,\t\
      \t\t cairo_bool_t forward) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_copy_clip_rectangle_list
      Src: /src/cairo/src/cairo-default-context.c:1171,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 1166
    functionDepth: 0
    functionLinenumber: 1166
    functionLinenumberEnd: 1172
    functionName: _cairo_default_context_copy_clip_rectangle_list
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_copy_clip_rectangle_list
    linkageType: ''
    returnType: cairo_rectangle_list_t*
    signature: 'static cairo_rectangle_list_t *_cairo_default_context_copy_clip_rectangle_list
      (void *abstract_cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_get_line_join
      Src: /src/cairo/src/cairo-default-context.c:508,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - abstract_cr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 509
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 509
    functionName: _cairo_default_context_get_line_join
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_get_line_join
    linkageType: ''
    returnType: cairo_line_join_t
    signature: 'static cairo_line_join_t _cairo_default_context_get_line_join (void
      *abstract_cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_user_to_backend_distance
      Src: /src/cairo/src/cairo-default-context.c:820,1
    - Dst: _cairo_path_fixed_rel_move_to
      Src: /src/cairo/src/cairo-default-context.c:825,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-default-context.c:822,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-default-context.c:823,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - abstract_cr
    - dx
    - dy
    argTypes:
    - void*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 826
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 826
    functionName: _cairo_default_context_rel_move_to
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_user_to_backend_distance
    - _cairo_path_fixed_rel_move_to
    - _cairo_fixed_from_double
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_default_context_rel_move_to (void *abstract_cr,
      double dx, double dy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_copy_page
      Src: /src/cairo/src/cairo-default-context.c:1179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - abstract_cr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1180
      start: 1174
    functionDepth: 0
    functionLinenumber: 1174
    functionLinenumberEnd: 1180
    functionName: _cairo_default_context_copy_page
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_copy_page
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_default_context_copy_page (void *abstract_cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_set_line_join
      Src: /src/cairo/src/cairo-default-context.c:428,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - abstract_cr
    - line_join
    argTypes:
    - void*
    - cairo_line_join_t
    constantsTouched: []
    func_position:
      end: 429
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 429
    functionName: _cairo_default_context_set_line_join
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_set_line_join
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_default_context_set_line_join (void *abstract_cr,\t\
      \t\t\t cairo_line_join_t line_join) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_paint
      Src: /src/cairo/src/cairo-default-context.c:982,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - abstract_cr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 983
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 983
    functionName: _cairo_default_context_paint
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_paint
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_default_context_paint (void *abstract_cr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_get_scaled_font
      Src: /src/cairo/src/cairo-default-context.c:1324,1
    - Dst: _cairo_scaled_font_create_in_error
      Src: /src/cairo/src/cairo-default-context.c:1326,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-default-context.c:1325,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1329
      start: 1317
    functionDepth: 0
    functionLinenumber: 1317
    functionLinenumberEnd: 1329
    functionName: _cairo_default_context_get_scaled_font
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_scaled_font_create_in_error
    - _cairo_gstate_get_scaled_font
    - unlikely
    linkageType: ''
    returnType: cairo_scaled_font_t*
    signature: 'static cairo_scaled_font_t *_cairo_default_context_get_scaled_font
      (void *abstract_cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_set_dash
      Src: /src/cairo/src/cairo-default-context.c:439,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - abstract_cr
    - dashes
    - num_dashes
    - offset
    argTypes:
    - void*
    - double*
    - int
    - double
    constantsTouched: []
    func_position:
      end: 441
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 441
    functionName: _cairo_default_context_set_dash
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_set_dash
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_default_context_set_dash (void *abstract_cr,\t\
      \t\t\t const double *dashes,\t\t\t\t int\t num_dashes,\t\t\t\t double\t offset) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_ALPHA_IS_OPAQUE
      Src: /src/cairo/src/cairo-default-context.c:994,1
    - Dst: _cairo_gstate_paint
      Src: /src/cairo/src/cairo-default-context.c:995,1
    - Dst: _cairo_operator_bounded_by_mask
      Src: /src/cairo/src/cairo-default-context.c:998,1
    - Dst: CAIRO_ALPHA_IS_ZERO
      Src: /src/cairo/src/cairo-default-context.c:997,1
    - Dst: _cairo_color_init_rgba
      Src: /src/cairo/src/cairo-default-context.c:1002,1
    - Dst: _cairo_pattern_init_solid
      Src: /src/cairo/src/cairo-default-context.c:1003,1
    - Dst: _cairo_gstate_mask
      Src: /src/cairo/src/cairo-default-context.c:1005,1
    - Dst: _cairo_pattern_fini
      Src: /src/cairo/src/cairo-default-context.c:1006,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - abstract_cr
    - alpha
    argTypes:
    - void*
    - double
    constantsTouched: []
    func_position:
      end: 1009
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 1009
    functionName: _cairo_default_context_paint_with_alpha
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_init_solid
    - _cairo_pattern_fini
    - _cairo_gstate_mask
    - CAIRO_ALPHA_IS_ZERO
    - _cairo_color_init_rgba
    - CAIRO_ALPHA_IS_OPAQUE
    - _cairo_gstate_paint
    - _cairo_operator_bounded_by_mask
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_default_context_paint_with_alpha (void\
      \ *abstract_cr,\t\t\t\t\t double alpha) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_show_text_glyphs
      Src: /src/cairo/src/cairo-default-context.c:1339,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - abstract_cr
    - glyphs
    - num_glyphs
    - info
    argTypes:
    - void*
    - cairo_glyph_t*
    - int
    - cairo_glyph_text_info_t*
    constantsTouched: []
    func_position:
      end: 1340
      start: 1331
    functionDepth: 0
    functionLinenumber: 1331
    functionLinenumberEnd: 1340
    functionName: _cairo_default_context_glyphs
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_show_text_glyphs
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_default_context_glyphs (void *abstract_cr,\t\
      \t\t const cairo_glyph_t *glyphs,\t\t\t int num_glyphs,\t\t\t cairo_glyph_text_info_t\
      \ *info) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_set_opacity
      Src: /src/cairo/src/cairo-default-context.c:375,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - abstract_cr
    - opacity
    argTypes:
    - void*
    - double
    constantsTouched: []
    func_position:
      end: 376
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 376
    functionName: _cairo_default_context_set_opacity
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_set_opacity
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_default_context_set_opacity (void *abstract_cr,
      double opacity) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_fill
      Src: /src/cairo/src/cairo-default-context.c:1079,1
    - Dst: _cairo_default_context_new_path
      Src: /src/cairo/src/cairo-default-context.c:1083,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-default-context.c:1080,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - abstract_cr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1084
      start: 1073
    functionDepth: 0
    functionLinenumber: 1073
    functionLinenumberEnd: 1084
    functionName: _cairo_default_context_fill
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_default_context_new_path
    - _cairo_gstate_fill
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_default_context_fill (void *abstract_cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_user_to_backend_distance
      Src: /src/cairo/src/cairo-default-context.c:834,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-default-context.c:836,1
    - Dst: _cairo_path_fixed_rel_line_to
      Src: /src/cairo/src/cairo-default-context.c:839,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-default-context.c:837,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - abstract_cr
    - dx
    - dy
    argTypes:
    - void*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 840
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 840
    functionName: _cairo_default_context_rel_line_to
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_user_to_backend_distance
    - _cairo_path_fixed_rel_line_to
    - _cairo_fixed_from_double
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_default_context_rel_line_to (void *abstract_cr,
      double dx, double dy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_fill_extents
      Src: /src/cairo/src/cairo-default-context.c:1105,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 5
    argNames:
    - abstract_cr
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - void*
    - double*
    - double*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 1108
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1108
    functionName: _cairo_default_context_fill_extents
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_fill_extents
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_default_context_fill_extents (void *abstract_cr,\t\
      \t\t\t double *x1, double *y1, double *x2, double *y2) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_set_antialias
      Src: /src/cairo/src/cairo-default-context.c:384,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - abstract_cr
    - antialias
    argTypes:
    - void*
    - cairo_antialias_t
    constantsTouched: []
    func_position:
      end: 385
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 385
    functionName: _cairo_default_context_set_antialias
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_set_antialias
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_default_context_set_antialias (void *abstract_cr,\t\
      \t\t\t cairo_antialias_t antialias) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_user_to_backend_distance
      Src: /src/cairo/src/cairo-default-context.c:854,1
    - Dst: _cairo_gstate_user_to_backend_distance
      Src: /src/cairo/src/cairo-default-context.c:855,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-default-context.c:858,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-default-context.c:859,1
    - Dst: _cairo_gstate_user_to_backend_distance
      Src: /src/cairo/src/cairo-default-context.c:856,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-default-context.c:861,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-default-context.c:862,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-default-context.c:864,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-default-context.c:865,1
    - Dst: _cairo_path_fixed_rel_curve_to
      Src: /src/cairo/src/cairo-default-context.c:867,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 7
    argNames:
    - abstract_cr
    - dx1
    - dy1
    - dx2
    - dy2
    - dx3
    - dy3
    argTypes:
    - void*
    - double
    - double
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 871
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 871
    functionName: _cairo_default_context_rel_curve_to
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_user_to_backend_distance
    - _cairo_fixed_from_double
    - _cairo_path_fixed_rel_curve_to
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_default_context_rel_curve_to (void *abstract_cr,\t\
      \t\t\t double dx1, double dy1,\t\t\t\t double dx2, double dy2,\t\t\t\t double\
      \ dx3, double dy3) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_in_fill
      Src: /src/cairo/src/cairo-default-context.c:1093,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - abstract_cr
    - x
    - y
    - inside
    argTypes:
    - void*
    - double
    - double
    - cairo_bool_t*
    constantsTouched: []
    func_position:
      end: 1097
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1097
    functionName: _cairo_default_context_in_fill
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_in_fill
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_default_context_in_fill (void *abstract_cr,\t\
      \t\t\tdouble x, double y,\t\t\t\tcairo_bool_t *inside) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_clip
      Src: /src/cairo/src/cairo-default-context.c:1115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - abstract_cr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1116
      start: 1110
    functionDepth: 0
    functionLinenumber: 1110
    functionLinenumberEnd: 1116
    functionName: _cairo_default_context_clip_preserve
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_clip
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_default_context_clip_preserve (void *abstract_cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_user_to_device_distance
      Src: /src/cairo/src/cairo-default-context.c:626,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - abstract_cr
    - dx
    - dy
    argTypes:
    - void*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 627
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 627
    functionName: _cairo_default_context_user_to_device_distance
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_user_to_device_distance
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_default_context_user_to_device_distance (void *abstract_cr,
      double *dx, double *dy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_show_page
      Src: /src/cairo/src/cairo-default-context.c:1205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - abstract_cr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1206
      start: 1200
    functionDepth: 0
    functionLinenumber: 1200
    functionLinenumberEnd: 1206
    functionName: _cairo_default_context_show_page
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_show_page
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_default_context_show_page (void *abstract_cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_device_to_user
      Src: /src/cairo/src/cairo-default-context.c:636,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - abstract_cr
    - x
    - y
    argTypes:
    - void*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 637
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 637
    functionName: _cairo_default_context_device_to_user
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_device_to_user
    linkageType: ''
    returnType: void
    signature: "static void _cairo_default_context_device_to_user (void *abstract_cr,\t\
      \t\t\t double *x,\t\t\t\t double *y) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_set_font_face
      Src: /src/cairo/src/cairo-default-context.c:1214,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - abstract_cr
    - font_face
    argTypes:
    - void*
    - cairo_font_face_t*
    constantsTouched: []
    func_position:
      end: 1215
      start: 1208
    functionDepth: 0
    functionLinenumber: 1208
    functionLinenumberEnd: 1215
    functionName: _cairo_default_context_set_font_face
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_set_font_face
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_default_context_set_font_face (void *abstract_cr,\t\
      \t\t\t cairo_font_face_t *font_face) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_set_fill_rule
      Src: /src/cairo/src/cairo-default-context.c:393,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - abstract_cr
    - fill_rule
    argTypes:
    - void*
    - cairo_fill_rule_t
    constantsTouched: []
    func_position:
      end: 394
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 394
    functionName: _cairo_default_context_set_fill_rule
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_set_fill_rule
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_default_context_set_fill_rule (void *abstract_cr,\t\
      \t\t\t cairo_fill_rule_t fill_rule) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_translate
      Src: /src/cairo/src/cairo-default-context.c:553,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - abstract_cr
    - tx
    - ty
    argTypes:
    - void*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 554
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 554
    functionName: _cairo_default_context_translate
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_translate
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_default_context_translate (void *abstract_cr,\t\
      \t\t\t double tx,\t\t\t\t double ty) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_set_line_width
      Src: /src/cairo/src/cairo-default-context.c:402,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - abstract_cr
    - line_width
    argTypes:
    - void*
    - double
    constantsTouched: []
    func_position:
      end: 403
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 403
    functionName: _cairo_default_context_set_line_width
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_set_line_width
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_default_context_set_line_width (void\
      \ *abstract_cr,\t\t\t\t double line_width) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_scale
      Src: /src/cairo/src/cairo-default-context.c:563,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - abstract_cr
    - sx
    - sy
    argTypes:
    - void*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 564
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 564
    functionName: _cairo_default_context_scale
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_scale
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_default_context_scale (void *abstract_cr,\t\
      \t\t double sx,\t\t\t double sy) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_backend_to_user_distance
      Src: /src/cairo/src/cairo-default-context.c:664,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - abstract_cr
    - dx
    - dy
    argTypes:
    - void*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 665
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 665
    functionName: _cairo_default_context_backend_to_user_distance
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_backend_to_user_distance
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_default_context_backend_to_user_distance (void
      *abstract_cr, double *dx, double *dy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_path_extents
      Src: /src/cairo/src/cairo-default-context.c:917,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 5
    argNames:
    - abstract_cr
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - void*
    - double*
    - double*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 920
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 920
    functionName: _cairo_default_context_path_extents
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_path_extents
    linkageType: ''
    returnType: void
    signature: "static void _cairo_default_context_path_extents (void *abstract_cr,\t\
      \t\t\t double *x1,\t\t\t\t double *y1,\t\t\t\t double *x2,\t\t\t\t double *y2) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_fixed_get_current_point
      Src: /src/cairo/src/cairo-default-context.c:938,1
    - Dst: _cairo_gstate_backend_to_user
      Src: /src/cairo/src/cairo-default-context.c:942,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-default-context.c:941,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-default-context.c:940,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - abstract_cr
    - x
    - y
    argTypes:
    - void*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 950
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 950
    functionName: _cairo_default_context_get_current_point
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_get_current_point
    - _cairo_fixed_to_double
    - _cairo_gstate_backend_to_user
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _cairo_default_context_get_current_point (void\
      \ *abstract_cr,\t\t\t\t\t double *x,\t\t\t\t\t double *y) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_stroke_extents
      Src: /src/cairo/src/cairo-default-context.c:1060,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 5
    argNames:
    - abstract_cr
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - void*
    - double*
    - double*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 1063
      start: 1054
    functionDepth: 0
    functionLinenumber: 1054
    functionLinenumberEnd: 1063
    functionName: _cairo_default_context_stroke_extents
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_stroke_extents
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_default_context_stroke_extents (void\
      \ *abstract_cr,\t\t\t\t double *x1, double *y1, double *x2, double *y2) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_fill
      Src: /src/cairo/src/cairo-default-context.c:1070,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - abstract_cr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1071
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1071
    functionName: _cairo_default_context_fill_preserve
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_fill
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_default_context_fill_preserve (void *abstract_cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_user_to_backend
      Src: /src/cairo/src/cairo-default-context.c:674,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - abstract_cr
    - x
    - y
    argTypes:
    - void*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 675
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 675
    functionName: _cairo_default_context_user_to_backend
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_user_to_backend
    linkageType: ''
    returnType: void
    signature: "static void _cairo_default_context_user_to_backend (void *abstract_cr,\t\
      \t\t\t\tdouble *x,\t\t\t\t\tdouble *y) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - abstract_cr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 928
      start: 922
    functionDepth: 0
    functionLinenumber: 922
    functionLinenumberEnd: 928
    functionName: _cairo_default_context_has_current_point
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_default_context_has_current_point (void
      *abstract_cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_create
      Src: /src/cairo/src/cairo-default-context.c:957,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 958
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 958
    functionName: _cairo_default_context_copy_path
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_path_create
    linkageType: ''
    returnType: cairo_path_t*
    signature: 'static cairo_path_t *_cairo_default_context_copy_path (void *abstract_cr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _freed_pool_get
      Src: /src/cairo/src/cairo-default-context.c:1508,1
    - Dst: _cairo_create_in_error
      Src: /src/cairo/src/cairo-default-context.c:1512,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-default-context.c:1509,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-default-context.c:1510,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-default-context.c:1511,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-default-context.c:1512,1
    - Dst: _cairo_default_context_init
      Src: /src/cairo/src/cairo-default-context.c:1515,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-default-context.c:1516,1
    - Dst: _freed_pool_put
      Src: /src/cairo/src/cairo-default-context.c:1517,1
    - Dst: _cairo_create_in_error
      Src: /src/cairo/src/cairo-default-context.c:1518,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1522
      start: 1502
    functionDepth: 0
    functionLinenumber: 1502
    functionLinenumberEnd: 1522
    functionName: _cairo_default_context_create
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _freed_pool_get
    - _cairo_error
    - unlikely
    - _cairo_default_context_init
    - _cairo_create_in_error
    - _freed_pool_put
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_t*
    signature: 'cairo_t *_cairo_default_context_create (void *target) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_mask
      Src: /src/cairo/src/cairo-default-context.c:1017,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - abstract_cr
    - mask
    argTypes:
    - void*
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 1018
      start: 1011
    functionDepth: 0
    functionLinenumber: 1011
    functionLinenumberEnd: 1018
    functionName: _cairo_default_context_mask
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_mask
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_default_context_mask (void *abstract_cr,\t\
      \t\t cairo_pattern_t *mask) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_get_line_width
      Src: /src/cairo/src/cairo-default-context.c:484,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - abstract_cr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 485
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 485
    functionName: _cairo_default_context_get_line_width
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_get_line_width
    linkageType: ''
    returnType: double
    signature: 'static double _cairo_default_context_get_line_width (void *abstract_cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_get_hairline
      Src: /src/cairo/src/cairo-default-context.c:492,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - abstract_cr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 493
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 493
    functionName: _cairo_default_context_get_hairline
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_get_hairline
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_default_context_get_hairline (void *abstract_cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_stroke
      Src: /src/cairo/src/cairo-default-context.c:1025,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - abstract_cr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1026
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1026
    functionName: _cairo_default_context_stroke_preserve
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_stroke
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_default_context_stroke_preserve (void
      *abstract_cr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-default-context.c:225,1
    - Dst: _cairo_pattern_create_in_error
      Src: /src/cairo/src/cairo-default-context.c:226,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-default-context.c:230,1
    - Dst: _cairo_gstate_get_target
      Src: /src/cairo/src/cairo-default-context.c:229,1
    - Dst: _cairo_gstate_is_group
      Src: /src/cairo/src/cairo-default-context.c:225,1
    - Dst: _cairo_gstate_restore
      Src: /src/cairo/src/cairo-default-context.c:232,1
    - Dst: assert
      Src: /src/cairo/src/cairo-default-context.c:233,1
    - Dst: _cairo_gstate_get_target
      Src: /src/cairo/src/cairo-default-context.c:235,1
    - Dst: cairo_pattern_create_for_surface
      Src: /src/cairo/src/cairo-default-context.c:237,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-default-context.c:239,1
    - Dst: _cairo_gstate_get_matrix
      Src: /src/cairo/src/cairo-default-context.c:242,1
    - Dst: cairo_pattern_set_matrix
      Src: /src/cairo/src/cairo-default-context.c:243,1
    - Dst: _cairo_path_fixed_translate
      Src: /src/cairo/src/cairo-default-context.c:247,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-default-context.c:249,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-default-context.c:248,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-default-context.c:252,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 255
    functionName: _cairo_default_context_pop_group
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_create_in_error
    - cairo_pattern_create_for_surface
    - _cairo_gstate_get_matrix
    - _cairo_gstate_restore
    - _cairo_fixed_from_int
    - _cairo_gstate_get_target
    - cairo_surface_reference
    - cairo_pattern_set_matrix
    - assert
    - _cairo_path_fixed_translate
    - cairo_surface_destroy
    - _cairo_gstate_is_group
    - unlikely
    linkageType: ''
    returnType: cairo_pattern_t*
    signature: 'static cairo_pattern_t *_cairo_default_context_pop_group (void *abstract_cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_get_matrix
      Src: /src/cairo/src/cairo-default-context.c:608,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - abstract_cr
    - matrix
    argTypes:
    - void*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 609
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 609
    functionName: _cairo_default_context_get_matrix
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_get_matrix
    linkageType: ''
    returnType: void
    signature: "static void _cairo_default_context_get_matrix (void *abstract_cr,\t\
      \t\t\t cairo_matrix_t *matrix) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_set_source
      Src: /src/cairo/src/cairo-default-context.c:263,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - abstract_cr
    - source
    argTypes:
    - void*
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 264
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 264
    functionName: _cairo_default_context_set_source
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_set_source
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_default_context_set_source (void *abstract_cr,\t\
      \t\t\t cairo_pattern_t *source) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_user_to_device
      Src: /src/cairo/src/cairo-default-context.c:618,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - abstract_cr
    - x
    - y
    argTypes:
    - void*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 619
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 619
    functionName: _cairo_default_context_user_to_device
    functionSourceFile: /src/cairo/src/cairo-default-context.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_user_to_device
    linkageType: ''
    returnType: void
    signature: "static void _cairo_default_context_user_to_device (void *abstract_cr,\t\
      \t\t\t double *x,\t\t\t\t double *y) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_int64_cmp
      Src: /src/cairo/src/cairo-time.c:160,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 161
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 161
    functionName: _cairo_time_cmp
    functionSourceFile: /src/cairo/src/cairo-time.c
    functionUses: []
    functionsReached:
    - _cairo_int64_cmp
    linkageType: ''
    returnType: int
    signature: "int _cairo_time_cmp (const void *a,\t\t const void *b) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-time.c:179,1
    - Dst: _cairo_time_ticks_per_sec
      Src: /src/cairo/src/cairo-time.c:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 183
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 183
    functionName: _cairo_time_s_per_tick
    functionSourceFile: /src/cairo/src/cairo-time.c
    functionUses: []
    functionsReached:
    - _cairo_time_ticks_per_sec
    - unlikely
    linkageType: ''
    returnType: double
    signature: 'static double _cairo_time_s_per_tick (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mach_timebase_info
      Src: /src/cairo/src/cairo-time.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: _cairo_time_1s
    functionSourceFile: /src/cairo/src/cairo-time.c
    functionUses: []
    functionsReached:
    - mach_timebase_info
    linkageType: ''
    returnType: cairo_always_inline
    signature: 'static cairo_always_inline double _cairo_time_1s (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QueryPerformanceFrequency
      Src: /src/cairo/src/cairo-time.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 74
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 74
    functionName: _cairo_time_1s
    functionSourceFile: /src/cairo/src/cairo-time.c
    functionUses: []
    functionsReached:
    - QueryPerformanceFrequency
    linkageType: ''
    returnType: cairo_always_inline
    signature: 'static cairo_always_inline double _cairo_time_1s (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mach_absolute_time
      Src: /src/cairo/src/cairo-time.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: _cairo_time_get
    functionSourceFile: /src/cairo/src/cairo-time.c
    functionUses: []
    functionsReached:
    - mach_absolute_time
    linkageType: ''
    returnType: cairo_time_t
    signature: 'cairo_time_t _cairo_time_get (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - t
    argTypes:
    - LARGE_INTEGER
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: _cairo_time_from_large_integer
    functionSourceFile: /src/cairo/src/cairo-time.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_always_inline
    signature: 'static cairo_always_inline cairo_time_t _cairo_time_from_large_integer
      (LARGE_INTEGER t) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QueryPerformanceCounter
      Src: /src/cairo/src/cairo-time.c:100,1
    - Dst: _cairo_time_from_large_integer
      Src: /src/cairo/src/cairo-time.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 103
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 103
    functionName: _cairo_time_get
    functionSourceFile: /src/cairo/src/cairo-time.c
    functionUses: []
    functionsReached:
    - _cairo_time_from_large_integer
    - QueryPerformanceCounter
    linkageType: ''
    returnType: cairo_time_t
    signature: 'cairo_time_t _cairo_time_get (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: _cairo_time_1s
    functionSourceFile: /src/cairo/src/cairo-time.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_always_inline
    signature: 'static cairo_always_inline double _cairo_time_1s (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/cairo/src/cairo-time.c:120,1
    - Dst: _cairo_int64_mul
      Src: /src/cairo/src/cairo-time.c:123,1
    - Dst: _cairo_time_1s
      Src: /src/cairo/src/cairo-time.c:122,1
    - Dst: _cairo_int32_to_int64
      Src: /src/cairo/src/cairo-time.c:123,1
    - Dst: _cairo_double_to_int64
      Src: /src/cairo/src/cairo-time.c:122,1
    - Dst: _cairo_int64_add
      Src: /src/cairo/src/cairo-time.c:124,1
    - Dst: _cairo_int32_to_int64
      Src: /src/cairo/src/cairo-time.c:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 127
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 127
    functionName: _cairo_time_get
    functionSourceFile: /src/cairo/src/cairo-time.c
    functionUses: []
    functionsReached:
    - clock_gettime
    - _cairo_int32_to_int64
    - _cairo_int64_add
    - _cairo_int64_mul
    - _cairo_time_1s
    - _cairo_double_to_int64
    linkageType: ''
    returnType: cairo_time_t
    signature: 'cairo_time_t _cairo_time_get (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: _cairo_time_1s
    functionSourceFile: /src/cairo/src/cairo-time.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_always_inline
    signature: 'static cairo_always_inline double _cairo_time_1s (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_int64_lsl
      Src: /src/cairo/src/cairo-time.c:82,1
    - Dst: _cairo_int64_add
      Src: /src/cairo/src/cairo-time.c:83,1
    - Dst: _cairo_int32_to_int64
      Src: /src/cairo/src/cairo-time.c:83,1
    - Dst: _cairo_int32_to_int64
      Src: /src/cairo/src/cairo-time.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - t
    argTypes:
    - LARGE_INTEGER
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: _cairo_time_from_large_integer
    functionSourceFile: /src/cairo/src/cairo-time.c
    functionUses: []
    functionsReached:
    - _cairo_int64_add
    - _cairo_int64_lsl
    - _cairo_int32_to_int64
    linkageType: ''
    returnType: cairo_always_inline
    signature: 'static cairo_always_inline cairo_time_t _cairo_time_from_large_integer
      (LARGE_INTEGER t) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/cairo/src/cairo-time.c:144,1
    - Dst: _cairo_time_1s
      Src: /src/cairo/src/cairo-time.c:146,1
    - Dst: _cairo_double_to_int64
      Src: /src/cairo/src/cairo-time.c:146,1
    - Dst: _cairo_int32_to_int64
      Src: /src/cairo/src/cairo-time.c:147,1
    - Dst: _cairo_int64_mul
      Src: /src/cairo/src/cairo-time.c:147,1
    - Dst: _cairo_int64_add
      Src: /src/cairo/src/cairo-time.c:148,1
    - Dst: _cairo_int32_to_int64
      Src: /src/cairo/src/cairo-time.c:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 151
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 151
    functionName: _cairo_time_get
    functionSourceFile: /src/cairo/src/cairo-time.c
    functionUses: []
    functionsReached:
    - _cairo_int32_to_int64
    - _cairo_int64_add
    - _cairo_int64_mul
    - _cairo_time_1s
    - _cairo_double_to_int64
    - gettimeofday
    linkageType: ''
    returnType: cairo_time_t
    signature: 'cairo_time_t _cairo_time_get (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-time.c:168,1
    - Dst: _cairo_time_1s
      Src: /src/cairo/src/cairo-time.c:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 172
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 172
    functionName: _cairo_time_ticks_per_sec
    functionSourceFile: /src/cairo/src/cairo-time.c
    functionUses: []
    functionsReached:
    - _cairo_time_1s
    - unlikely
    linkageType: ''
    returnType: double
    signature: 'static double _cairo_time_ticks_per_sec (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_int64_to_double
      Src: /src/cairo/src/cairo-time.c:188,1
    - Dst: _cairo_time_s_per_tick
      Src: /src/cairo/src/cairo-time.c:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - cairo_time_t
    constantsTouched: []
    func_position:
      end: 189
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 189
    functionName: _cairo_time_to_s
    functionSourceFile: /src/cairo/src/cairo-time.c
    functionUses: []
    functionsReached:
    - _cairo_time_s_per_tick
    - _cairo_int64_to_double
    linkageType: ''
    returnType: double
    signature: 'double _cairo_time_to_s (cairo_time_t t) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_double_to_int64
      Src: /src/cairo/src/cairo-time.c:194,1
    - Dst: _cairo_time_ticks_per_sec
      Src: /src/cairo/src/cairo-time.c:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 195
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 195
    functionName: _cairo_time_from_s
    functionSourceFile: /src/cairo/src/cairo-time.c
    functionUses: []
    functionsReached:
    - _cairo_double_to_int64
    - _cairo_time_ticks_per_sec
    linkageType: ''
    returnType: cairo_time_t
    signature: 'cairo_time_t _cairo_time_from_s (double t) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/cairo/src/cairo-path-bounds.c:56,1
    - Dst: _cairo_box_set
      Src: /src/cairo/src/cairo-path-bounds.c:60,1
    - Dst: _cairo_box_add_point
      Src: /src/cairo/src/cairo-path-bounds.c:57,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - closure
    - point
    argTypes:
    - void*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 64
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 64
    functionName: _cairo_path_bounder_move_to
    functionSourceFile: /src/cairo/src/cairo-path-bounds.c
    functionUses: []
    functionsReached:
    - _cairo_box_add_point
    - likely
    - _cairo_box_set
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_path_bounder_move_to (void *closure,\t\
      \t\t const cairo_point_t *point) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_fixed_interpret
      Src: /src/cairo/src/cairo-path-bounds.c:108,1
    - Dst: assert
      Src: /src/cairo/src/cairo-path-bounds.c:114,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - path
    - extents
    argTypes:
    - cairo_path_fixed_t*
    - cairo_box_t*
    constantsTouched: []
    func_position:
      end: 120
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 120
    functionName: _cairo_path_bounder_extents
    functionSourceFile: /src/cairo/src/cairo-path-bounds.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_interpret
    - assert
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t _cairo_path_bounder_extents (const cairo_path_fixed_t\
      \ *path,\t\t\t cairo_box_t *extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_box_add_curve_to
      Src: /src/cairo/src/cairo-path-bounds.c:86,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - closure
    - b
    - c
    - d
    argTypes:
    - void*
    - cairo_point_t*
    - cairo_point_t*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 92
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 92
    functionName: _cairo_path_bounder_curve_to
    functionSourceFile: /src/cairo/src/cairo-path-bounds.c
    functionUses: []
    functionsReached:
    - _cairo_box_add_curve_to
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_path_bounder_curve_to (void *closure,\t\
      \t\t const cairo_point_t *b,\t\t\t const cairo_point_t *c,\t\t\t const cairo_point_t\
      \ *d) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_fixed_fill_extents
      Src: /src/cairo/src/cairo-path-bounds.c:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - path
    - extents
    argTypes:
    - cairo_path_fixed_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 134
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 134
    functionName: _cairo_path_fixed_approximate_fill_extents
    functionSourceFile: /src/cairo/src/cairo-path-bounds.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_fill_extents
    linkageType: ''
    returnType: void
    signature: "void _cairo_path_fixed_approximate_fill_extents (const cairo_path_fixed_t\
      \ *path,\t\t\t\t\t cairo_rectangle_int_t *extents) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_stroke_style_max_distance_from_path
      Src: /src/cairo/src/cairo-path-bounds.c:163,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-bounds.c:168,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-bounds.c:179,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-bounds.c:177,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-bounds.c:178,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-bounds.c:180,1
    - Dst: _cairo_box_round_to_rectangle
      Src: /src/cairo/src/cairo-path-bounds.c:182,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 5
    argNames:
    - path
    - style
    - ctm
    - is_vector
    - extents
    argTypes:
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_bool_t
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 187
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 187
    functionName: _cairo_path_fixed_approximate_stroke_extents
    functionSourceFile: /src/cairo/src/cairo-path-bounds.c
    functionUses: []
    functionsReached:
    - _cairo_stroke_style_max_distance_from_path
    - _cairo_box_round_to_rectangle
    - _cairo_fixed_from_double
    - _cairo_fixed_to_double
    linkageType: ''
    returnType: void
    signature: "void _cairo_path_fixed_approximate_stroke_extents (const cairo_path_fixed_t\
      \ *path,\t\t\t\t\t const cairo_stroke_style_t *style,\t\t\t\t\t const cairo_matrix_t\
      \ *ctm,\t\t\t\t\t cairo_bool_t is_vector,\t\t\t\t\t cairo_rectangle_int_t *extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - closure
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: _cairo_path_bounder_close_path
    functionSourceFile: /src/cairo/src/cairo-path-bounds.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_path_bounder_close_path (void *closure) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_box_add_point
      Src: /src/cairo/src/cairo-path-bounds.c:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - closure
    - point
    argTypes:
    - void*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 76
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 76
    functionName: _cairo_path_bounder_line_to
    functionSourceFile: /src/cairo/src/cairo-path-bounds.c
    functionUses: []
    functionsReached:
    - _cairo_box_add_point
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_path_bounder_line_to (void *closure,\t\
      \t\t const cairo_point_t *point) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_fixed_approximate_fill_extents
      Src: /src/cairo/src/cairo-path-bounds.c:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - path
    - extents
    argTypes:
    - cairo_path_fixed_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: _cairo_path_fixed_approximate_clip_extents
    functionSourceFile: /src/cairo/src/cairo-path-bounds.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_approximate_fill_extents
    linkageType: ''
    returnType: void
    signature: "void _cairo_path_fixed_approximate_clip_extents (const cairo_path_fixed_t\
      \ *path,\t\t\t\t\t cairo_rectangle_int_t *extents) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_box_round_to_rectangle
      Src: /src/cairo/src/cairo-path-bounds.c:144,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - path
    - fill_rule
    - tolerance
    - extents
    argTypes:
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 149
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 149
    functionName: _cairo_path_fixed_fill_extents
    functionSourceFile: /src/cairo/src/cairo-path-bounds.c
    functionUses: []
    functionsReached:
    - _cairo_box_round_to_rectangle
    linkageType: ''
    returnType: void
    signature: "void _cairo_path_fixed_fill_extents (const cairo_path_fixed_t\t*path,\t\
      \t\t\tcairo_fill_rule_t\t fill_rule,\t\t\t\tdouble\t\t\t tolerance,\t\t\t\t\
      cairo_rectangle_int_t\t*extents) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_matrix_transformed_circle_major_axis
      Src: /src/cairo/src/cairo-path-bounds.c:203,1
    - Dst: _cairo_box_round_to_rectangle
      Src: /src/cairo/src/cairo-path-bounds.c:217,1
    - Dst: _cairo_polygon_init
      Src: /src/cairo/src/cairo-path-bounds.c:211,1
    - Dst: _cairo_polygon_fini
      Src: /src/cairo/src/cairo-path-bounds.c:218,1
    - Dst: _cairo_path_fixed_stroke_to_polygon
      Src: /src/cairo/src/cairo-path-bounds.c:212,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 6
    argNames:
    - path
    - stroke_style
    - ctm
    - ctm_inverse
    - tolerance
    - extents
    argTypes:
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 221
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 221
    functionName: _cairo_path_fixed_stroke_extents
    functionSourceFile: /src/cairo/src/cairo-path-bounds.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_stroke_to_polygon
    - _cairo_box_round_to_rectangle
    - _cairo_polygon_fini
    - _cairo_polygon_init
    - _cairo_matrix_transformed_circle_major_axis
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_path_fixed_stroke_extents (const cairo_path_fixed_t\t\
      *path,\t\t\t\t const cairo_stroke_style_t\t*stroke_style,\t\t\t\t const cairo_matrix_t\t\
      \t*ctm,\t\t\t\t const cairo_matrix_t\t\t*ctm_inverse,\t\t\t\t double\t\t\t tolerance,\t\
      \t\t\t cairo_rectangle_int_t\t\t*extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - path
    - box
    argTypes:
    - cairo_path_fixed_t*
    - cairo_box_t*
    constantsTouched: []
    func_position:
      end: 229
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 229
    functionName: _cairo_path_fixed_extents
    functionSourceFile: /src/cairo/src/cairo-path-bounds.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t _cairo_path_fixed_extents (const cairo_path_fixed_t *path,\t\
      \t\t cairo_box_t *box) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:81,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:86,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:84,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:82,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:85,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:86,1
    - Dst: _cairo_surface_init
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:88,1
    - Dst: _cairo_pdf_operators_init
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:104,1
    - Dst: _cairo_surface_clipper_init
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:110,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 114
    functionName: _cairo_type3_glyph_surface_create
    functionSourceFile: /src/cairo/src/cairo-type3-glyph-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_init
    - _cairo_pdf_operators_init
    - _cairo_error
    - unlikely
    - _cairo_surface_clipper_init
    - _cairo_surface_create_in_error
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *_cairo_type3_glyph_surface_create (cairo_scaled_font_t\t\
      \t\t *scaled_font,\t\t\t\t cairo_output_stream_t\t\t *stream,\t\t\t\t cairo_type3_glyph_surface_emit_image_t\
      \ emit_image,\t\t\t\t cairo_scaled_font_subsets_t\t\t *font_subsets,\t\t\t\t\
      \ cairo_bool_t ps) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:161,1
    - Dst: cairo_matrix_init
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:173,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:172,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:167,1
    - Dst: assert
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:164,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:174,1
    - Dst: _cairo_type3_glyph_surface_emit_image
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:176,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - surface
    - image
    - pattern_matrix
    argTypes:
    - cairo_type3_glyph_surface_t*
    - cairo_image_surface_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 177
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 177
    functionName: _cairo_type3_glyph_surface_emit_image_pattern
    functionSourceFile: /src/cairo/src/cairo-type3-glyph-surface.c
    functionUses: []
    functionsReached:
    - cairo_matrix_scale
    - _cairo_type3_glyph_surface_emit_image
    - assert
    - cairo_matrix_invert
    - cairo_matrix_multiply
    - cairo_matrix_init
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_type3_glyph_surface_emit_image_pattern\
      \ (cairo_type3_glyph_surface_t *surface,\t\t\t\t\t cairo_image_surface_t *image,\t\
      \t\t\t\t const cairo_matrix_t *pattern_matrix) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_clipper_set_clip
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:204,1
    - Dst: _cairo_surface_acquire_source_image
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:212,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:205,1
    - Dst: _cairo_type3_glyph_surface_emit_image_pattern
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:217,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:214,1
    - Dst: _cairo_surface_release_source_image
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:222,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 13
    argCount: 4
    argNames:
    - abstract_surface
    - op
    - source
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 225
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 225
    functionName: _cairo_type3_glyph_surface_paint
    functionSourceFile: /src/cairo/src/cairo-type3-glyph-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_release_source_image
    - _cairo_surface_clipper_set_clip
    - _cairo_surface_acquire_source_image
    - _cairo_type3_glyph_surface_emit_image_pattern
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_type3_glyph_surface_paint (void\t\
      \t\t*abstract_surface,\t\t\t\t cairo_operator_t\t op,\t\t\t\t const cairo_pattern_t\t\
      *source,\t\t\t\t const cairo_clip_t\t*clip) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_clipper_set_clip
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:254,1
    - Dst: _cairo_pdf_operators_stroke
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:258,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:255,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 5
    argCount: 10
    argNames:
    - abstract_surface
    - op
    - source
    - path
    - style
    - ctm
    - ctm_inverse
    - tolerance
    - antialias
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 263
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 263
    functionName: _cairo_type3_glyph_surface_stroke
    functionSourceFile: /src/cairo/src/cairo-type3-glyph-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_operators_stroke
    - unlikely
    - _cairo_surface_clipper_set_clip
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_type3_glyph_surface_stroke (void\t\
      \t\t*abstract_surface,\t\t\t\t cairo_operator_t\t op,\t\t\t\t const cairo_pattern_t\
      \ *source,\t\t\t\t const cairo_path_fixed_t\t*path,\t\t\t\t const cairo_stroke_style_t\t\
      *style,\t\t\t\t const cairo_matrix_t\t*ctm,\t\t\t\t const cairo_matrix_t\t*ctm_inverse,\t\
      \t\t\t double\t\t tolerance,\t\t\t\t cairo_antialias_t\t antialias,\t\t\t\t\
      \ const cairo_clip_t\t*clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 1
    argCount: 7
    argNames:
    - abstract_surface
    - op
    - source
    - glyphs
    - num_glyphs
    - scaled_font
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_glyph_t*
    - int
    - cairo_scaled_font_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 297
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 297
    functionName: _cairo_type3_glyph_surface_show_glyphs
    functionSourceFile: /src/cairo/src/cairo-type3-glyph-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_type3_glyph_surface_show_glyphs (void\t\
      \t *abstract_surface,\t\t\t\t\tcairo_operator_t op,\t\t\t\t\tconst cairo_pattern_t\
      \ *source,\t\t\t\t\tcairo_glyph_t *glyphs,\t\t\t\t\tint\t\t num_glyphs,\t\t\t\
      \t\tcairo_scaled_font_t *scaled_font,\t\t\t\t\tconst cairo_clip_t *clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pdf_operators_set_stream
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:337,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - surface
    - stream
    argTypes:
    - cairo_type3_glyph_surface_t*
    - cairo_output_stream_t*
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: _cairo_type3_glyph_surface_set_stream
    functionSourceFile: /src/cairo/src/cairo-type3-glyph-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_operators_set_stream
    linkageType: ''
    returnType: void
    signature: "static void _cairo_type3_glyph_surface_set_stream (cairo_type3_glyph_surface_t\
      \ *surface,\t\t\t\t cairo_output_stream_t *stream) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:380,1
    - Dst: _cairo_pdf_operators_set_font_subsets_callback
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:383,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - abstract_surface
    - use_font_subset
    - closure
    argTypes:
    - void*
    - cairo_pdf_operators_use_font_subset_t
    - void*
    constantsTouched: []
    func_position:
      end: 386
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 386
    functionName: _cairo_type3_glyph_surface_set_font_subsets_callback
    functionSourceFile: /src/cairo/src/cairo-type3-glyph-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_operators_set_font_subsets_callback
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void _cairo_type3_glyph_surface_set_font_subsets_callback (void\t\t\
      \ \t\t *abstract_surface,\t\t\t\t\t\t cairo_pdf_operators_use_font_subset_t\
      \ use_font_subset,\t\t\t\t\t\t void\t\t\t\t *closure) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_container_of
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:58,1
    - Dst: _cairo_pdf_operators_clip
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:67,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:63,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 5
    argNames:
    - clipper
    - path
    - fill_rule
    - tolerance
    - antialias
    argTypes:
    - cairo_surface_clipper_t*
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    constantsTouched: []
    func_position:
      end: 70
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 70
    functionName: _cairo_type3_glyph_surface_clipper_intersect_clip_path
    functionSourceFile: /src/cairo/src/cairo-type3-glyph-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_operators_clip
    - cairo_container_of
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_type3_glyph_surface_clipper_intersect_clip_path\
      \ (cairo_surface_clipper_t *clipper,\t\t\t\t\t\t\tcairo_path_fixed_t *path,\t\
      \t\t\t\t\t\tcairo_fill_rule_t fill_rule,\t\t\t\t\t\t\tdouble\t\t tolerance,\t\
      \t\t\t\t\t\tcairo_antialias_t antialias) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pdf_operators_fini
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:184,1
    - Dst: _cairo_surface_clipper_reset
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 187
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 187
    functionName: _cairo_type3_glyph_surface_finish
    functionSourceFile: /src/cairo/src/cairo-type3-glyph-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_clipper_reset
    - _cairo_pdf_operators_fini
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_type3_glyph_surface_finish (void *abstract_surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_image_surface_coerce_to_format
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:124,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:126,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:129,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:139,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:141,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - surface
    - image
    - image_matrix
    argTypes:
    - cairo_type3_glyph_surface_t*
    - cairo_image_surface_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 145
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 145
    functionName: _cairo_type3_glyph_surface_emit_image
    functionSourceFile: /src/cairo/src/cairo-type3-glyph-surface.c
    functionUses: []
    functionsReached:
    - cairo_surface_destroy
    - unlikely
    - _cairo_output_stream_printf
    - _cairo_image_surface_coerce_to_format
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_type3_glyph_surface_emit_image (cairo_type3_glyph_surface_t\
      \ *surface,\t\t\t\t cairo_image_surface_t *image,\t\t\t\t cairo_matrix_t *image_matrix) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_type3_glyph_surface_paint
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:234,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - abstract_surface
    - op
    - source
    - mask
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 237
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 237
    functionName: _cairo_type3_glyph_surface_mask
    functionSourceFile: /src/cairo/src/cairo-type3-glyph-surface.c
    functionUses: []
    functionsReached:
    - _cairo_type3_glyph_surface_paint
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_type3_glyph_surface_mask (void\t\t\
      \t*abstract_surface,\t\t\t\t cairo_operator_t\t op,\t\t\t\t const cairo_pattern_t\t\
      *source,\t\t\t\t const cairo_pattern_t\t*mask,\t\t\t\t const cairo_clip_t\t\
      *clip) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_clipper_set_clip
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:278,1
    - Dst: _cairo_pdf_operators_fill
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:282,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:279,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 8
    argNames:
    - abstract_surface
    - op
    - source
    - path
    - fill_rule
    - tolerance
    - antialias
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 285
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 285
    functionName: _cairo_type3_glyph_surface_fill
    functionSourceFile: /src/cairo/src/cairo-type3-glyph-surface.c
    functionUses: []
    functionsReached:
    - unlikely
    - _cairo_pdf_operators_fill
    - _cairo_surface_clipper_set_clip
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_type3_glyph_surface_fill (void\t\t\
      \t*abstract_surface,\t\t\t\t cairo_operator_t\t op,\t\t\t\t const cairo_pattern_t\t\
      *source,\t\t\t\t const cairo_path_fixed_t\t*path,\t\t\t\t cairo_fill_rule_t\t\
      \ fill_rule,\t\t\t\t double\t\t\t tolerance,\t\t\t\t cairo_antialias_t\t antialias,\t\
      \t\t\t const cairo_clip_t\t\t*clip) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_scaled_glyph_lookup
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:350,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:363,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:364,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:356,1
    - Dst: cairo_matrix_init
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:365,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:368,1
    - Dst: _cairo_type3_glyph_surface_emit_image
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:370,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - surface
    - glyph_index
    argTypes:
    - cairo_type3_glyph_surface_t*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 371
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 371
    functionName: _cairo_type3_glyph_surface_emit_fallback_image
    functionSourceFile: /src/cairo/src/cairo-type3-glyph-surface.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_to_double
    - _cairo_scaled_glyph_lookup
    - _cairo_type3_glyph_surface_emit_image
    - unlikely
    - cairo_matrix_multiply
    - cairo_matrix_init
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_type3_glyph_surface_emit_fallback_image\
      \ (cairo_type3_glyph_surface_t *surface,\t\t\t\t\t\tunsigned long\t\t glyph_index) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:397,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:401,1
    - Dst: _cairo_scaled_font_freeze_cache
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:406,1
    - Dst: _cairo_type3_glyph_surface_set_stream
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:404,1
    - Dst: _cairo_null_stream_create
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:400,1
    - Dst: _cairo_scaled_glyph_lookup
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:407,1
    - Dst: _cairo_int_status_is_error
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:413,1
    - Dst: _cairo_recording_surface_replay
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:421,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:423,1
    - Dst: _cairo_pdf_operators_flush
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:426,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:433,1
    - Dst: _cairo_scaled_font_thaw_cache
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:431,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 2
    argNames:
    - abstract_surface
    - glyph_index
    argTypes:
    - void*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 438
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 438
    functionName: _cairo_type3_glyph_surface_analyze_glyph
    functionSourceFile: /src/cairo/src/cairo-type3-glyph-surface.c
    functionUses: []
    functionsReached:
    - _cairo_scaled_glyph_lookup
    - _cairo_scaled_font_freeze_cache
    - _cairo_int_status_is_error
    - _cairo_scaled_font_thaw_cache
    - _cairo_null_stream_create
    - _cairo_recording_surface_replay
    - _cairo_type3_glyph_surface_set_stream
    - _cairo_output_stream_destroy
    - _cairo_pdf_operators_flush
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_type3_glyph_surface_analyze_glyph (void\t\t\
      \ *abstract_surface,\t\t\t\t\t unsigned long\t glyph_index) "
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:453,1
    - Dst: _cairo_scaled_glyph_lookup
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:469,1
    - Dst: _cairo_scaled_font_freeze_cache
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:458,1
    - Dst: assert
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:497,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:511,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:510,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:509,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:512,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:524,1
    - Dst: _cairo_pdf_operators_flush
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:528,1
    - Dst: _cairo_scaled_glyph_lookup
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:476,1
    - Dst: _cairo_scaled_font_thaw_cache
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:485,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:519,1
    - Dst: _cairo_memory_stream_copy
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:536,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:538,1
    - Dst: _cairo_type3_glyph_surface_set_stream
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:456,1
    - Dst: _cairo_int_status_is_error
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:484,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:492,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:506,1
    - Dst: _cairo_memory_stream_create
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:517,1
    - Dst: _cairo_type3_glyph_surface_set_stream
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:522,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:532,1
    - Dst: _cairo_scaled_font_thaw_cache
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:547,1
    - Dst: _cairo_type3_glyph_surface_emit_fallback_image
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:544,1
    - Dst: _cairo_scaled_glyph_lookup
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:461,1
    - Dst: _cairo_matrix_transform_bounding_box_fixed
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:503,1
    - Dst: cairo_matrix_transform_distance
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:499,1
    - Dst: _cairo_recording_surface_replay
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:525,1
    - Dst: _cairo_type3_glyph_surface_set_stream
      Src: /src/cairo/src/cairo-type3-glyph-surface.c:534,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 63
    argCount: 5
    argNames:
    - abstract_surface
    - stream
    - glyph_index
    - bbox
    - width
    argTypes:
    - void*
    - cairo_output_stream_t*
    - unsigned long
    - cairo_box_t*
    - double*
    constantsTouched: []
    func_position:
      end: 550
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 550
    functionName: _cairo_type3_glyph_surface_emit_glyph
    functionSourceFile: /src/cairo/src/cairo-type3-glyph-surface.c
    functionUses: []
    functionsReached:
    - _cairo_memory_stream_copy
    - _cairo_fixed_to_double
    - _cairo_scaled_font_freeze_cache
    - _cairo_int_status_is_error
    - _cairo_scaled_glyph_lookup
    - _cairo_scaled_font_thaw_cache
    - assert
    - _cairo_matrix_transform_bounding_box_fixed
    - _cairo_pdf_operators_flush
    - _cairo_type3_glyph_surface_emit_fallback_image
    - _cairo_recording_surface_replay
    - _cairo_type3_glyph_surface_set_stream
    - _cairo_memory_stream_create
    - _cairo_output_stream_destroy
    - cairo_matrix_invert
    - cairo_matrix_transform_distance
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_type3_glyph_surface_emit_glyph (void\t\t *abstract_surface,\t\
      \t\t\t cairo_output_stream_t *stream,\t\t\t\t unsigned long\t glyph_index,\t\
      \t\t\t cairo_box_t *bbox,\t\t\t\t double *width) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_REFERENCE_COUNT_IS_INVALID
      Src: /src/cairo/src/cairo-pattern.c:1184,1
    - Dst: CAIRO_REFERENCE_COUNT_GET_VALUE
      Src: /src/cairo/src/cairo-pattern.c:1187,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pattern
    argTypes:
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 1188
      start: 1180
    functionDepth: 0
    functionLinenumber: 1180
    functionLinenumberEnd: 1188
    functionName: cairo_pattern_get_reference_count
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - CAIRO_REFERENCE_COUNT_IS_INVALID
    - CAIRO_REFERENCE_COUNT_GET_VALUE
    linkageType: ''
    returnType: unsigned int
    signature: 'unsigned int cairo_pattern_get_reference_count (cairo_pattern_t *pattern) '
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: _radial_pattern_is_degenerate
      Src: /src/cairo/src/cairo-pattern.c:3746,1
    - Dst: MIN
      Src: /src/cairo/src/cairo-pattern.c:3766,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-pattern.c:3768,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pattern.c:3836,1
    - Dst: _cairo_lround
      Src: /src/cairo/src/cairo-pattern.c:3850,1
    - Dst: _cairo_hypot
      Src: /src/cairo/src/cairo-pattern.c:3729,1
    - Dst: MIN
      Src: /src/cairo/src/cairo-pattern.c:3796,1
    - Dst: MIN
      Src: /src/cairo/src/cairo-pattern.c:3799,1
    - Dst: _cairo_matrix_is_translation
      Src: /src/cairo/src/cairo-pattern.c:3826,1
    - Dst: _cairo_lround
      Src: /src/cairo/src/cairo-pattern.c:3854,1
    - Dst: _cairo_hypot
      Src: /src/cairo/src/cairo-pattern.c:3724,1
    - Dst: MIN
      Src: /src/cairo/src/cairo-pattern.c:3767,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-pattern.c:3769,1
    - Dst: _linear_pattern_is_degenerate
      Src: /src/cairo/src/cairo-pattern.c:3781,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-pattern.c:3800,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-pattern.c:3834,1
    - Dst: _cairo_lround
      Src: /src/cairo/src/cairo-pattern.c:3866,1
    - Dst: _cairo_surface_get_extents
      Src: /src/cairo/src/cairo-pattern.c:3671,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-pattern.c:3797,1
    - Dst: _cairo_matrix_transform_bounding_box
      Src: /src/cairo/src/cairo-pattern.c:3838,1
    - Dst: _cairo_mesh_pattern_coord_box
      Src: /src/cairo/src/cairo-pattern.c:3817,1
    - Dst: _cairo_lround
      Src: /src/cairo/src/cairo-pattern.c:3870,1
    - Dst: _cairo_unbounded_rectangle_init
      Src: /src/cairo/src/cairo-pattern.c:3879,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 160
    argCount: 3
    argNames:
    - pattern
    - extents
    - is_vector
    argTypes:
    - cairo_pattern_t*
    - cairo_rectangle_int_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 3886
      start: 3650
    functionDepth: 0
    functionLinenumber: 3650
    functionLinenumberEnd: 3886
    functionName: _cairo_pattern_get_extents
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_lround
    - _cairo_matrix_transform_bounding_box
    - _radial_pattern_is_degenerate
    - _cairo_matrix_is_translation
    - MIN
    - MAX
    - _cairo_surface_get_extents
    - _cairo_mesh_pattern_coord_box
    - assert
    - _cairo_unbounded_rectangle_init
    - _linear_pattern_is_degenerate
    - _cairo_hypot
    - cairo_matrix_invert
    linkageType: ''
    returnType: void
    signature: "void _cairo_pattern_get_extents (const cairo_pattern_t *pattern,\t\
      \t\t cairo_rectangle_int_t *extents,\t\t\t cairo_bool_t is_vector) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pattern.c:4449,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 9
    argCount: 7
    argNames:
    - pattern
    - x0
    - y0
    - r0
    - x1
    - y1
    - r1
    argTypes:
    - cairo_pattern_t*
    - double*
    - double*
    - double*
    - double*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 4465
      start: 4438
    functionDepth: 0
    functionLinenumber: 4438
    functionLinenumberEnd: 4465
    functionName: cairo_pattern_get_radial_circles
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_error
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t cairo_pattern_get_radial_circles (cairo_pattern_t *pattern,\t\
      \t\t\t double *x0, double *y0, double *r0,\t\t\t\t double *x1, double *y1, double\
      \ *r1) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-pattern.c:4730,1
    - Dst: _freed_pool_reset
      Src: /src/cairo/src/cairo-pattern.c:4731,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4732
      start: 4725
    functionDepth: 0
    functionLinenumber: 4725
    functionLinenumberEnd: 4732
    functionName: _cairo_pattern_reset_static_data
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - ARRAY_LENGTH
    - _freed_pool_reset
    linkageType: ''
    returnType: void
    signature: 'void _cairo_pattern_reset_static_data (void) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cairo/src/cairo-pattern.c:4767,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 29
    argCount: 2
    argNames:
    - file
    - pattern
    argTypes:
    - FILE*
    - cairo_surface_pattern_t*
    constantsTouched: []
    func_position:
      end: 4768
      start: 4734
    functionDepth: 0
    functionLinenumber: 4734
    functionLinenumberEnd: 4768
    functionName: _cairo_debug_print_surface_pattern
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: "static void _cairo_debug_print_surface_pattern (FILE *file,\t\t\t\t\
      \ const cairo_surface_pattern_t *pattern) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_REFERENCE_COUNT_IS_INVALID
      Src: /src/cairo/src/cairo-pattern.c:1089,1
    - Dst: _cairo_reference_count_inc
      Src: /src/cairo/src/cairo-pattern.c:1094,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pattern.c:1092,1
    - Dst: CAIRO_REFERENCE_COUNT_HAS_REFERENCE
      Src: /src/cairo/src/cairo-pattern.c:1092,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1097
    functionName: cairo_pattern_reference
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_reference_count_inc
    - CAIRO_REFERENCE_COUNT_HAS_REFERENCE
    - CAIRO_REFERENCE_COUNT_IS_INVALID
    - assert
    linkageType: ''
    returnType: cairo_pattern_t*
    signature: 'cairo_pattern_t *cairo_pattern_reference (cairo_pattern_t *pattern) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_REFERENCE_COUNT_IS_INVALID
      Src: /src/cairo/src/cairo-pattern.c:1151,1
    - Dst: _cairo_reference_count_dec_and_test
      Src: /src/cairo/src/cairo-pattern.c:1156,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pattern.c:1154,1
    - Dst: _cairo_pattern_fini
      Src: /src/cairo/src/cairo-pattern.c:1160,1
    - Dst: CAIRO_REFERENCE_COUNT_HAS_REFERENCE
      Src: /src/cairo/src/cairo-pattern.c:1154,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-pattern.c:1163,1
    - Dst: _freed_pool_put
      Src: /src/cairo/src/cairo-pattern.c:1164,1
    - Dst: free
      Src: /src/cairo/src/cairo-pattern.c:1166,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - pattern
    argTypes:
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 1167
      start: 1145
    functionDepth: 0
    functionLinenumber: 1145
    functionLinenumberEnd: 1167
    functionName: cairo_pattern_destroy
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - free
    - CAIRO_REFERENCE_COUNT_IS_INVALID
    - ARRAY_LENGTH
    - _cairo_pattern_fini
    - assert
    - _cairo_reference_count_dec_and_test
    - CAIRO_REFERENCE_COUNT_HAS_REFERENCE
    - _freed_pool_put
    linkageType: ''
    returnType: void
    signature: 'void cairo_pattern_destroy (cairo_pattern_t *pattern) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pattern.c:4405,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 7
    argCount: 5
    argNames:
    - pattern
    - x0
    - y0
    - x1
    - y1
    argTypes:
    - cairo_pattern_t*
    - double*
    - double*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 4417
      start: 4394
    functionDepth: 0
    functionLinenumber: 4394
    functionLinenumberEnd: 4417
    functionName: cairo_pattern_get_linear_points
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_error
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t cairo_pattern_get_linear_points (cairo_pattern_t *pattern,\t\
      \t\t\t double *x0, double *y0,\t\t\t\t double *x1, double *y1) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _freed_pool_get
      Src: /src/cairo/src/cairo-pattern.c:1051,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-pattern.c:1053,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-pattern.c:1055,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:1054,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:1052,1
    - Dst: CAIRO_MUTEX_INITIALIZE
      Src: /src/cairo/src/cairo-pattern.c:1060,1
    - Dst: _cairo_pattern_init
      Src: /src/cairo/src/cairo-pattern.c:1062,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-pattern.c:1063,1
    - Dst: CAIRO_REFERENCE_COUNT_INIT
      Src: /src/cairo/src/cairo-pattern.c:1065,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1068
    functionName: cairo_pattern_create_mesh
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _freed_pool_get
    - _cairo_array_init
    - unlikely
    - CAIRO_MUTEX_INITIALIZE
    - CAIRO_REFERENCE_COUNT_INIT
    - _cairo_pattern_init
    - _cairo_error_throw
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_pattern_t*
    signature: 'cairo_pattern_t *cairo_pattern_create_mesh (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:1272,1
    - Dst: _cairo_pattern_set_error
      Src: /src/cairo/src/cairo-pattern.c:1276,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:1281,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:1275,1
    - Dst: _cairo_pattern_set_error
      Src: /src/cairo/src/cairo-pattern.c:1282,1
    - Dst: _cairo_array_allocate
      Src: /src/cairo/src/cairo-pattern.c:1286,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:1287,1
    - Dst: _cairo_pattern_set_error
      Src: /src/cairo/src/cairo-pattern.c:1288,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 1
    argNames:
    - pattern
    argTypes:
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 1300
      start: 1264
    functionDepth: 0
    functionLinenumber: 1264
    functionLinenumberEnd: 1300
    functionName: cairo_mesh_pattern_begin_patch
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_set_error
    - _cairo_array_allocate
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_mesh_pattern_begin_patch (cairo_pattern_t *pattern) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 42
    argCount: 2
    argNames:
    - patch
    - control_point
    argTypes:
    - cairo_mesh_patch_t*
    - int
    constantsTouched: []
    func_position:
      end: 1343
      start: 1302
    functionDepth: 0
    functionLinenumber: 1302
    functionLinenumberEnd: 1343
    functionName: _calc_control_point
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _calc_control_point (cairo_mesh_patch_t *patch, int control_point) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_status_set_error
      Src: /src/cairo/src/cairo-pattern.c:204,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pattern.c:206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pattern
    - status
    argTypes:
    - cairo_pattern_t*
    - cairo_status_t
    constantsTouched: []
    func_position:
      end: 207
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 207
    functionName: _cairo_pattern_set_error
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_status_set_error
    - _cairo_error
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_pattern_set_error (cairo_pattern_t *pattern,\t\
      \t\t cairo_status_t status) "
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: VG
      Src: /src/cairo/src/cairo-pattern.c:350,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/cairo/src/cairo-pattern.c:350,1
    - Dst: CAIRO_REFERENCE_COUNT_INIT
      Src: /src/cairo/src/cairo-pattern.c:378,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:365,1
    - Dst: _cairo_pattern_set_error
      Src: /src/cairo/src/cairo-pattern.c:322,1
    - Dst: _cairo_gradient_pattern_init_copy
      Src: /src/cairo/src/cairo-pattern.c:353,1
    - Dst: _cairo_raster_source_pattern_init_copy
      Src: /src/cairo/src/cairo-pattern.c:371,1
    - Dst: _cairo_mesh_pattern_init_copy
      Src: /src/cairo/src/cairo-pattern.c:364,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:372,1
    - Dst: _cairo_user_data_array_init
      Src: /src/cairo/src/cairo-pattern.c:379,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/cairo/src/cairo-pattern.c:329,1
    - Dst: VG
      Src: /src/cairo/src/cairo-pattern.c:329,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-pattern.c:340,1
    - Dst: VG
      Src: /src/cairo/src/cairo-pattern.c:348,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/cairo/src/cairo-pattern.c:348,1
    - Dst: VG
      Src: /src/cairo/src/cairo-pattern.c:362,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:354,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/cairo/src/cairo-pattern.c:362,1
    - Dst: VG
      Src: /src/cairo/src/cairo-pattern.c:337,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/cairo/src/cairo-pattern.c:337,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-pattern.c:380,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 36
    argCount: 2
    argNames:
    - pattern
    - other
    argTypes:
    - cairo_pattern_t*
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 383
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 383
    functionName: _cairo_pattern_init_copy
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_gradient_pattern_init_copy
    - cairo_list_init
    - _cairo_pattern_set_error
    - _cairo_user_data_array_init
    - cairo_surface_reference
    - VG
    - CAIRO_REFERENCE_COUNT_INIT
    - VALGRIND_MAKE_MEM_UNDEFINED
    - _cairo_mesh_pattern_init_copy
    - _cairo_raster_source_pattern_init_copy
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_pattern_init_copy (cairo_pattern_t\t*pattern,\t\
      \t\t const cairo_pattern_t *other) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _freed_pool_get
      Src: /src/cairo/src/cairo-pattern.c:819,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:820,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:822,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-pattern.c:821,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-pattern.c:823,1
    - Dst: CAIRO_MUTEX_INITIALIZE
      Src: /src/cairo/src/cairo-pattern.c:828,1
    - Dst: _cairo_pattern_init_linear
      Src: /src/cairo/src/cairo-pattern.c:830,1
    - Dst: CAIRO_REFERENCE_COUNT_INIT
      Src: /src/cairo/src/cairo-pattern.c:831,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 834
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 834
    functionName: cairo_pattern_create_linear
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _freed_pool_get
    - unlikely
    - CAIRO_MUTEX_INITIALIZE
    - CAIRO_REFERENCE_COUNT_INIT
    - _cairo_pattern_init_linear
    - _cairo_error_throw
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_pattern_t*
    signature: 'cairo_pattern_t *cairo_pattern_create_linear (double x0, double y0,
      double x1, double y1) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_mesh_pattern_set_corner_color_rgba
      Src: /src/cairo/src/cairo-pattern.c:1780,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 5
    argNames:
    - pattern
    - corner_num
    - red
    - green
    - blue
    argTypes:
    - cairo_pattern_t*
    - unsigned int
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 1781
      start: 1775
    functionDepth: 0
    functionLinenumber: 1775
    functionLinenumberEnd: 1781
    functionName: cairo_mesh_pattern_set_corner_color_rgb
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - cairo_mesh_pattern_set_corner_color_rgba
    linkageType: ''
    returnType: void
    signature: "void cairo_mesh_pattern_set_corner_color_rgb (cairo_pattern_t *pattern,\t\
      \t\t\t\t unsigned int corner_num,\t\t\t\t\t double red, double green, double\
      \ blue) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pattern.c:4129,1
    - Dst: memcmp
      Src: /src/cairo/src/cairo-pattern.c:4138,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pattern.c:4130,1
    - Dst: _cairo_array_index_const
      Src: /src/cairo/src/cairo-pattern.c:4137,1
    - Dst: _cairo_array_index_const
      Src: /src/cairo/src/cairo-pattern.c:4136,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_mesh_pattern_t*
    - cairo_mesh_pattern_t*
    constantsTouched: []
    func_position:
      end: 4143
      start: 4122
    functionDepth: 0
    functionLinenumber: 4122
    functionLinenumberEnd: 4143
    functionName: _cairo_mesh_pattern_equal
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_array_index_const
    - _cairo_array_num_elements
    - memcmp
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _cairo_mesh_pattern_equal (const cairo_mesh_pattern_t\
      \ *a,\t\t\t const cairo_mesh_pattern_t *b) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/cairo/src/cairo-pattern.c:215,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/cairo/src/cairo-pattern.c:218,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/cairo/src/cairo-pattern.c:227,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/cairo/src/cairo-pattern.c:221,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/cairo/src/cairo-pattern.c:224,1
    - Dst: CAIRO_REFERENCE_COUNT_INIT
      Src: /src/cairo/src/cairo-pattern.c:239,1
    - Dst: _cairo_user_data_array_init
      Src: /src/cairo/src/cairo-pattern.c:241,1
    - Dst: cairo_matrix_init_identity
      Src: /src/cairo/src/cairo-pattern.c:257,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-pattern.c:259,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 2
    argNames:
    - pattern
    - type
    argTypes:
    - cairo_pattern_t*
    - cairo_pattern_type_t
    constantsTouched: []
    func_position:
      end: 260
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 260
    functionName: _cairo_pattern_init
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_user_data_array_init
    - CAIRO_REFERENCE_COUNT_INIT
    - VALGRIND_MAKE_MEM_UNDEFINED
    - cairo_matrix_init_identity
    - cairo_list_init
    linkageType: ''
    returnType: void
    signature: 'void _cairo_pattern_init (cairo_pattern_t *pattern, cairo_pattern_type_t
      type) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-pattern.c:391,1
    - Dst: _cairo_user_data_array_init
      Src: /src/cairo/src/cairo-pattern.c:419,1
    - Dst: CAIRO_REFERENCE_COUNT_INIT
      Src: /src/cairo/src/cairo-pattern.c:418,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-pattern.c:420,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-pattern.c:416,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 2
    argNames:
    - pattern
    - other
    argTypes:
    - cairo_pattern_t*
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 421
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 421
    functionName: _cairo_pattern_init_static_copy
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - memcpy
    - _cairo_user_data_array_init
    - CAIRO_REFERENCE_COUNT_INIT
    - assert
    - cairo_list_init
    linkageType: ''
    returnType: void
    signature: "void _cairo_pattern_init_static_copy (cairo_pattern_t\t*pattern,\t\
      \t\t\t const cairo_pattern_t *other) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_surface_pattern_t*
    - cairo_surface_pattern_t*
    constantsTouched: []
    func_position:
      end: 4150
      start: 4145
    functionDepth: 0
    functionLinenumber: 4145
    functionLinenumberEnd: 4150
    functionName: _cairo_surface_pattern_equal
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _cairo_surface_pattern_equal (const cairo_surface_pattern_t\
      \ *a,\t\t\t const cairo_surface_pattern_t *b) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-pattern.c:1690,1
    - Dst: CAIRO_INJECT_FAULT
      Src: /src/cairo/src/cairo-pattern.c:1701,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-pattern.c:1691,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pattern.c:1702,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pattern.c:1704,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-pattern.c:1707,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-pattern.c:1709,1
    - Dst: _cairo_realloc_ab
      Src: /src/cairo/src/cairo-pattern.c:1711,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:1716,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pattern.c:1717,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - pattern
    argTypes:
    - cairo_gradient_pattern_t*
    constantsTouched: []
    func_position:
      end: 1723
      start: 1685
    functionDepth: 0
    functionLinenumber: 1685
    functionLinenumberEnd: 1723
    functionName: _cairo_pattern_gradient_grow
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - memcpy
    - _cairo_error
    - ARRAY_LENGTH
    - MAX
    - assert
    - _cairo_realloc_ab
    - _cairo_malloc_ab
    - CAIRO_INJECT_FAULT
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_pattern_gradient_grow (cairo_gradient_pattern_t
      *pattern) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-pattern.c:1733,1
    - Dst: _cairo_color_double_to_short
      Src: /src/cairo/src/cairo-pattern.c:1743,1
    - Dst: _cairo_color_double_to_short
      Src: /src/cairo/src/cairo-pattern.c:1744,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pattern.c:1734,1
    - Dst: _cairo_color_double_to_short
      Src: /src/cairo/src/cairo-pattern.c:1742,1
    - Dst: _cairo_color_double_to_short
      Src: /src/cairo/src/cairo-pattern.c:1745,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 6
    argNames:
    - mesh
    - corner_num
    - red
    - green
    - blue
    - alpha
    argTypes:
    - cairo_mesh_pattern_t*
    - unsigned int
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 1748
      start: 1725
    functionDepth: 0
    functionLinenumber: 1725
    functionLinenumberEnd: 1748
    functionName: _cairo_mesh_pattern_set_corner_color
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_color_double_to_short
    - assert
    linkageType: ''
    returnType: void
    signature: "static void _cairo_mesh_pattern_set_corner_color (cairo_mesh_pattern_t\
      \ *mesh,\t\t\t\t unsigned int corner_num,\t\t\t\t double red, double green,\
      \ double blue,\t\t\t\t double alpha) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pattern_set_error
      Src: /src/cairo/src/cairo-pattern.c:1973,1
    - Dst: _cairo_restrict_value
      Src: /src/cairo/src/cairo-pattern.c:1978,1
    - Dst: _cairo_restrict_value
      Src: /src/cairo/src/cairo-pattern.c:1979,1
    - Dst: _cairo_restrict_value
      Src: /src/cairo/src/cairo-pattern.c:1977,1
    - Dst: _cairo_restrict_value
      Src: /src/cairo/src/cairo-pattern.c:1980,1
    - Dst: _cairo_restrict_value
      Src: /src/cairo/src/cairo-pattern.c:1981,1
    - Dst: _cairo_pattern_add_color_stop
      Src: /src/cairo/src/cairo-pattern.c:1983,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 6
    argNames:
    - pattern
    - offset
    - red
    - green
    - blue
    - alpha
    argTypes:
    - cairo_pattern_t*
    - double
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 1985
      start: 1959
    functionDepth: 0
    functionLinenumber: 1959
    functionLinenumberEnd: 1985
    functionName: cairo_pattern_add_color_stop_rgba
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_restrict_value
    - _cairo_pattern_add_color_stop
    - _cairo_pattern_set_error
    linkageType: ''
    returnType: void
    signature: "void cairo_pattern_add_color_stop_rgba (cairo_pattern_t *pattern,\t\
      \t\t\t double\t offset,\t\t\t\t double\t red,\t\t\t\t double\t green,\t\t\t\t\
      \ double\t blue,\t\t\t\t double\t alpha) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pattern
    - matrix
    argTypes:
    - cairo_pattern_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 2056
      start: 2052
    functionDepth: 0
    functionLinenumber: 2052
    functionLinenumberEnd: 2056
    functionName: cairo_pattern_get_matrix
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void cairo_pattern_get_matrix (cairo_pattern_t *pattern, cairo_matrix_t
      *matrix) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pattern_notify_observers
      Src: /src/cairo/src/cairo-pattern.c:2142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pattern
    - dither
    argTypes:
    - cairo_pattern_t*
    - cairo_dither_t
    constantsTouched: []
    func_position:
      end: 2144
      start: 2135
    functionDepth: 0
    functionLinenumber: 2135
    functionLinenumberEnd: 2144
    functionName: cairo_pattern_set_dither
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_notify_observers
    linkageType: ''
    returnType: void
    signature: 'void cairo_pattern_set_dither (cairo_pattern_t *pattern, cairo_dither_t
      dither) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_COLOR_IS_OPAQUE
      Src: /src/cairo/src/cairo-pattern.c:3289,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - pattern
    argTypes:
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 3290
      start: 3279
    functionDepth: 0
    functionLinenumber: 3279
    functionLinenumberEnd: 3290
    functionName: _cairo_pattern_is_opaque_solid
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - CAIRO_COLOR_IS_OPAQUE
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t _cairo_pattern_is_opaque_solid (const cairo_pattern_t
      *pattern) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:1657,1
    - Dst: _cairo_pattern_set_error
      Src: /src/cairo/src/cairo-pattern.c:1661,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:1665,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:1660,1
    - Dst: _cairo_pattern_set_error
      Src: /src/cairo/src/cairo-pattern.c:1666,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:1671,1
    - Dst: _cairo_pattern_set_error
      Src: /src/cairo/src/cairo-pattern.c:1672,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - pattern
    - point_num
    - x
    - y
    argTypes:
    - cairo_pattern_t*
    - unsigned int
    - double
    - double
    constantsTouched: []
    func_position:
      end: 1682
      start: 1648
    functionDepth: 0
    functionLinenumber: 1648
    functionLinenumberEnd: 1682
    functionName: cairo_mesh_pattern_set_control_point
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void cairo_mesh_pattern_set_control_point (cairo_pattern_t *pattern,\t\
      \t\t\t unsigned int point_num,\t\t\t\t double x,\t\t\t\t double y) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/src/cairo-pattern.c:1927,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 5
    argNames:
    - pattern
    - offset
    - red
    - green
    - blue
    argTypes:
    - cairo_pattern_t*
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 1928
      start: 1920
    functionDepth: 0
    functionLinenumber: 1920
    functionLinenumberEnd: 1928
    functionName: cairo_pattern_add_color_stop_rgb
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - cairo_pattern_add_color_stop_rgba
    linkageType: ''
    returnType: void
    signature: "void cairo_pattern_add_color_stop_rgb (cairo_pattern_t *pattern,\t\
      \t\t\t double\t offset,\t\t\t\t double\t red,\t\t\t\t double\t green,\t\t\t\t\
      \ double\t blue) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cairo/src/cairo-pattern.c:2031,1
    - Dst: _cairo_pattern_set_error
      Src: /src/cairo/src/cairo-pattern.c:2040,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-pattern.c:2038,1
    - Dst: _cairo_pattern_notify_observers
      Src: /src/cairo/src/cairo-pattern.c:2035,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:2039,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - pattern
    - matrix
    argTypes:
    - cairo_pattern_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 2041
      start: 2021
    functionDepth: 0
    functionLinenumber: 2021
    functionLinenumberEnd: 2041
    functionName: cairo_pattern_set_matrix
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_notify_observers
    - _cairo_pattern_set_error
    - memcmp
    - cairo_matrix_invert
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void cairo_pattern_set_matrix (cairo_pattern_t *pattern,\t\t\t const\
      \ cairo_matrix_t *matrix) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pattern
    argTypes:
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 2122
      start: 2118
    functionDepth: 0
    functionLinenumber: 2118
    functionLinenumberEnd: 2122
    functionName: cairo_pattern_get_dither
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_dither_t
    signature: 'cairo_dither_t cairo_pattern_get_dither (cairo_pattern_t *pattern) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-pattern.c:2250,1
    - Dst: _linear_pattern_is_degenerate
      Src: /src/cairo/src/cairo-pattern.c:2250,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 6
    argNames:
    - linear
    - x0
    - y0
    - x1
    - y1
    - range
    argTypes:
    - cairo_linear_pattern_t*
    - double
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 2297
      start: 2241
    functionDepth: 0
    functionLinenumber: 2241
    functionLinenumberEnd: 2297
    functionName: _cairo_linear_pattern_box_to_parameter
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _linear_pattern_is_degenerate
    - assert
    linkageType: ''
    returnType: void
    signature: "static void _cairo_linear_pattern_box_to_parameter (const cairo_linear_pattern_t\
      \ *linear,\t\t\t\t\tdouble x0, double y0,\t\t\t\t\tdouble x1, double y1,\t\t\
      \t\t\tdouble range[2]) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pattern.c:4700,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:4709,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pattern.c:4705,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pattern.c:4703,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pattern.c:4710,1
    - Dst: _cairo_array_index_const
      Src: /src/cairo/src/cairo-pattern.c:4712,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 5
    argNames:
    - pattern
    - patch_num
    - point_num
    - x
    - y
    argTypes:
    - cairo_pattern_t*
    - unsigned int
    - unsigned int
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 4723
      start: 4685
    functionDepth: 0
    functionLinenumber: 4685
    functionLinenumberEnd: 4723
    functionName: cairo_mesh_pattern_get_control_point
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_array_num_elements
    - _cairo_array_index_const
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t cairo_mesh_pattern_get_control_point (cairo_pattern_t\
      \ *pattern,\t\t\t\t unsigned int patch_num,\t\t\t\t unsigned int point_num,\t\
      \t\t\t double *x, double *y) "
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - range
    - value
    - valid
    argTypes:
    - double
    - double
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 2310
      start: 2299
    functionDepth: 0
    functionLinenumber: 2299
    functionLinenumberEnd: 2310
    functionName: _extend_range
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _extend_range (double range[2], double value,
      cairo_bool_t valid) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_get_extents
      Src: /src/cairo/src/cairo-pattern.c:3304,1
    - Dst: _cairo_rectangle_contains_rectangle
      Src: /src/cairo/src/cairo-pattern.c:3310,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - pattern
    - sample
    argTypes:
    - cairo_surface_pattern_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 3311
      start: 3292
    functionDepth: 0
    functionLinenumber: 3292
    functionLinenumberEnd: 3311
    functionName: _surface_is_opaque
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_rectangle_contains_rectangle
    - _cairo_surface_get_extents
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _surface_is_opaque (const cairo_surface_pattern_t\
      \ *pattern,\t\t const cairo_rectangle_int_t *sample) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_get_source
      Src: /src/cairo/src/cairo-pattern.c:3904,1
    - Dst: _cairo_recording_surface_get_ink_bbox
      Src: /src/cairo/src/cairo-pattern.c:3915,1
    - Dst: _cairo_surface_is_recording
      Src: /src/cairo/src/cairo-pattern.c:3905,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pattern.c:3913,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-pattern.c:3911,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:3917,1
    - Dst: _cairo_box_round_to_rectangle
      Src: /src/cairo/src/cairo-pattern.c:3920,1
    - Dst: _cairo_pattern_get_extents
      Src: /src/cairo/src/cairo-pattern.c:3925,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - pattern
    - extents
    argTypes:
    - cairo_pattern_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 3927
      start: 3893
    functionDepth: 0
    functionLinenumber: 3893
    functionLinenumberEnd: 3927
    functionName: _cairo_pattern_get_ink_extents
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_box_round_to_rectangle
    - _cairo_recording_surface_get_ink_bbox
    - assert
    - _cairo_surface_get_source
    - _cairo_pattern_get_extents
    - _cairo_surface_is_recording
    - cairo_matrix_invert
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_pattern_get_ink_extents (const cairo_pattern_t\
      \ *pattern,\t\t\t\tcairo_rectangle_int_t *extents) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:4631,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:4634,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:4637,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pattern.c:4638,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pattern.c:4635,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pattern.c:4640,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:4644,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pattern.c:4645,1
    - Dst: _cairo_array_index_const
      Src: /src/cairo/src/cairo-pattern.c:4647,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 19
    argCount: 7
    argNames:
    - pattern
    - patch_num
    - corner_num
    - red
    - green
    - blue
    - alpha
    argTypes:
    - cairo_pattern_t*
    - unsigned int
    - unsigned int
    - double*
    - double*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 4659
      start: 4620
    functionDepth: 0
    functionLinenumber: 4620
    functionLinenumberEnd: 4659
    functionName: cairo_mesh_pattern_get_corner_color_rgba
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_array_num_elements
    - _cairo_array_index_const
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t cairo_mesh_pattern_get_corner_color_rgba (cairo_pattern_t\
      \ *pattern,\t\t\t\t\t unsigned int patch_num,\t\t\t\t\t unsigned int corner_num,\t\
      \t\t\t\t double *red, double *green,\t\t\t\t\t double *blue, double *alpha) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-pattern.c:2196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pattern
    - ctm
    argTypes:
    - cairo_pattern_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 2197
      start: 2189
    functionDepth: 0
    functionLinenumber: 2189
    functionLinenumberEnd: 2197
    functionName: _cairo_pattern_pretransform
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - cairo_matrix_multiply
    linkageType: ''
    returnType: void
    signature: "void _cairo_pattern_pretransform (cairo_pattern_t\t*pattern,\t\t\t\
      \ const cairo_matrix_t *ctm) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-pattern.c:2206,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pattern
    - ctm_inverse
    argTypes:
    - cairo_pattern_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 2207
      start: 2199
    functionDepth: 0
    functionLinenumber: 2199
    functionLinenumberEnd: 2207
    functionName: _cairo_pattern_transform
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - cairo_matrix_multiply
    linkageType: ''
    returnType: void
    signature: "void _cairo_pattern_transform (cairo_pattern_t\t*pattern,\t\t\t const\
      \ cairo_matrix_t *ctm_inverse) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_hash_bytes
      Src: /src/cairo/src/cairo-pattern.c:3933,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - hash
    - solid
    argTypes:
    - uintptr_t
    - cairo_solid_pattern_t*
    constantsTouched: []
    func_position:
      end: 3936
      start: 3929
    functionDepth: 0
    functionLinenumber: 3929
    functionLinenumberEnd: 3936
    functionName: _cairo_solid_pattern_hash
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_hash_bytes
    linkageType: ''
    returnType: uintptr_t
    signature: "static uintptr_t _cairo_solid_pattern_hash (uintptr_t hash,\t\t\t\
      \ const cairo_solid_pattern_t *solid) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - hash
    - raster
    argTypes:
    - uintptr_t
    - cairo_raster_source_pattern_t*
    constantsTouched: []
    func_position:
      end: 4010
      start: 4003
    functionDepth: 0
    functionLinenumber: 4003
    functionLinenumberEnd: 4010
    functionName: _cairo_raster_source_pattern_hash
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uintptr_t
    signature: "static uintptr_t _cairo_raster_source_pattern_hash (uintptr_t hash,\t\
      \t\t\t const cairo_raster_source_pattern_t *raster) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_hash_bytes
      Src: /src/cairo/src/cairo-pattern.c:3944,1
    - Dst: _cairo_hash_bytes
      Src: /src/cairo/src/cairo-pattern.c:3952,1
    - Dst: _cairo_hash_bytes
      Src: /src/cairo/src/cairo-pattern.c:3949,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - hash
    - gradient
    argTypes:
    - uintptr_t
    - cairo_gradient_pattern_t*
    constantsTouched: []
    func_position:
      end: 3958
      start: 3938
    functionDepth: 0
    functionLinenumber: 3938
    functionLinenumberEnd: 3958
    functionName: _cairo_gradient_color_stops_hash
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_hash_bytes
    linkageType: ''
    returnType: uintptr_t
    signature: "static uintptr_t _cairo_gradient_color_stops_hash (uintptr_t hash,\t\
      \t\t\t const cairo_gradient_pattern_t *gradient) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_hash_bytes
      Src: /src/cairo/src/cairo-pattern.c:4020,1
    - Dst: _cairo_hash_bytes
      Src: /src/cairo/src/cairo-pattern.c:4028,1
    - Dst: _cairo_hash_bytes
      Src: /src/cairo/src/cairo-pattern.c:4024,1
    - Dst: _cairo_hash_bytes
      Src: /src/cairo/src/cairo-pattern.c:4022,1
    - Dst: _cairo_hash_bytes
      Src: /src/cairo/src/cairo-pattern.c:4026,1
    - Dst: _cairo_solid_pattern_hash
      Src: /src/cairo/src/cairo-pattern.c:4035,1
    - Dst: _cairo_linear_pattern_hash
      Src: /src/cairo/src/cairo-pattern.c:4037,1
    - Dst: _cairo_radial_pattern_hash
      Src: /src/cairo/src/cairo-pattern.c:4039,1
    - Dst: _cairo_mesh_pattern_hash
      Src: /src/cairo/src/cairo-pattern.c:4041,1
    - Dst: _cairo_surface_pattern_hash
      Src: /src/cairo/src/cairo-pattern.c:4043,1
    - Dst: _cairo_raster_source_pattern_hash
      Src: /src/cairo/src/cairo-pattern.c:4045,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 1
    argNames:
    - pattern
    argTypes:
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 4050
      start: 4012
    functionDepth: 0
    functionLinenumber: 4012
    functionLinenumberEnd: 4050
    functionName: _cairo_pattern_hash
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_surface_pattern_hash
    - _cairo_hash_bytes
    - _cairo_solid_pattern_hash
    - _cairo_radial_pattern_hash
    - _cairo_mesh_pattern_hash
    - _cairo_raster_source_pattern_hash
    - _cairo_linear_pattern_hash
    linkageType: ''
    returnType: uintptr_t
    signature: 'uintptr_t _cairo_pattern_hash (const cairo_pattern_t *pattern) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _freed_pool_get
      Src: /src/cairo/src/cairo-pattern.c:873,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-pattern.c:877,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-pattern.c:875,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:874,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:876,1
    - Dst: CAIRO_MUTEX_INITIALIZE
      Src: /src/cairo/src/cairo-pattern.c:882,1
    - Dst: _cairo_pattern_init_radial
      Src: /src/cairo/src/cairo-pattern.c:884,1
    - Dst: CAIRO_REFERENCE_COUNT_INIT
      Src: /src/cairo/src/cairo-pattern.c:885,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 888
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 888
    functionName: cairo_pattern_create_radial
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _freed_pool_get
    - _cairo_pattern_init_radial
    - unlikely
    - CAIRO_MUTEX_INITIALIZE
    - CAIRO_REFERENCE_COUNT_INIT
    - _cairo_error_throw
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_pattern_t*
    signature: "cairo_pattern_t *cairo_pattern_create_radial (double cx0, double cy0,\
      \ double radius0,\t\t\t double cx1, double cy1, double radius1) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_REFERENCE_COUNT_IS_INVALID
      Src: /src/cairo/src/cairo-pattern.c:1236,1
    - Dst: _cairo_user_data_array_set_data
      Src: /src/cairo/src/cairo-pattern.c:1239,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - pattern
    - key
    - user_data
    - destroy
    argTypes:
    - cairo_pattern_t*
    - cairo_user_data_key_t*
    - void*
    - cairo_destroy_func_t
    constantsTouched: []
    func_position:
      end: 1241
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1241
    functionName: cairo_pattern_set_user_data
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_user_data_array_set_data
    - CAIRO_REFERENCE_COUNT_IS_INVALID
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t cairo_pattern_set_user_data (cairo_pattern_t\t\t *pattern,\t\
      \t\t const cairo_user_data_key_t *key,\t\t\t void\t\t\t *user_data,\t\t\t cairo_destroy_func_t\t\
      \ destroy) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-pattern.c:2707,1
    - Dst: _cairo_linear_pattern_box_to_parameter
      Src: /src/cairo/src/cairo-pattern.c:2711,1
    - Dst: _cairo_radial_pattern_box_to_parameter
      Src: /src/cairo/src/cairo-pattern.c:2714,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 7
    argNames:
    - gradient
    - x0
    - y0
    - x1
    - y1
    - tolerance
    - out_range
    argTypes:
    - cairo_gradient_pattern_t*
    - double
    - double
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 2717
      start: 2700
    functionDepth: 0
    functionLinenumber: 2700
    functionLinenumberEnd: 2717
    functionName: _cairo_gradient_pattern_box_to_parameter
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_radial_pattern_box_to_parameter
    - _cairo_linear_pattern_box_to_parameter
    - assert
    linkageType: ''
    returnType: void
    signature: "void _cairo_gradient_pattern_box_to_parameter (const cairo_gradient_pattern_t\
      \ *gradient,\t\t\t\t\t double x0, double y0,\t\t\t\t\t double x1, double y1,\t\
      \t\t\t\t double tolerance,\t\t\t\t\t double out_range[2]) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_color_equal
      Src: /src/cairo/src/cairo-pattern.c:4056,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_solid_pattern_t*
    - cairo_solid_pattern_t*
    constantsTouched: []
    func_position:
      end: 4057
      start: 4052
    functionDepth: 0
    functionLinenumber: 4052
    functionLinenumberEnd: 4057
    functionName: _cairo_solid_pattern_equal
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_color_equal
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _cairo_solid_pattern_equal (const cairo_solid_pattern_t\
      \ *a,\t\t\t const cairo_solid_pattern_t *b) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gradient_color_stops_equal
      Src: /src/cairo/src/cairo-pattern.c:4094,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_linear_pattern_t*
    - cairo_linear_pattern_t*
    constantsTouched: []
    func_position:
      end: 4095
      start: 4078
    functionDepth: 0
    functionLinenumber: 4078
    functionLinenumberEnd: 4095
    functionName: _cairo_linear_pattern_equal
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_gradient_color_stops_equal
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t _cairo_linear_pattern_equal (const cairo_linear_pattern_t\
      \ *a,\t\t\t const cairo_linear_pattern_t *b) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pattern.c:4240,1
    - Dst: _cairo_color_get_rgba
      Src: /src/cairo/src/cairo-pattern.c:4242,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 8
    argCount: 5
    argNames:
    - pattern
    - red
    - green
    - blue
    - alpha
    argTypes:
    - cairo_pattern_t*
    - double*
    - double*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 4254
      start: 4228
    functionDepth: 0
    functionLinenumber: 4228
    functionLinenumberEnd: 4254
    functionName: cairo_pattern_get_rgba
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_color_get_rgba
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t cairo_pattern_get_rgba (cairo_pattern_t *pattern,\t\
      \t\tdouble *red, double *green,\t\t\tdouble *blue, double *alpha) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_color_stop_equal
      Src: /src/cairo/src/cairo-pattern.c:4071,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_gradient_pattern_t*
    - cairo_gradient_pattern_t*
    constantsTouched: []
    func_position:
      end: 4076
      start: 4059
    functionDepth: 0
    functionLinenumber: 4059
    functionLinenumberEnd: 4076
    functionName: _cairo_gradient_color_stops_equal
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_color_stop_equal
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _cairo_gradient_color_stops_equal (const cairo_gradient_pattern_t\
      \ *a,\t\t\t\t const cairo_gradient_pattern_t *b) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gradient_color_stops_equal
      Src: /src/cairo/src/cairo-pattern.c:4119,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_radial_pattern_t*
    - cairo_radial_pattern_t*
    constantsTouched: []
    func_position:
      end: 4120
      start: 4097
    functionDepth: 0
    functionLinenumber: 4097
    functionLinenumberEnd: 4120
    functionName: _cairo_radial_pattern_equal
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_gradient_color_stops_equal
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t _cairo_radial_pattern_equal (const cairo_radial_pattern_t\
      \ *a,\t\t\t const cairo_radial_pattern_t *b) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_user_data_array_get_data
      Src: /src/cairo/src/cairo-pattern.c:1208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1210
    functionName: cairo_pattern_get_user_data
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_user_data_array_get_data
    linkageType: ''
    returnType: void*
    signature: "void *cairo_pattern_get_user_data (cairo_pattern_t\t\t *pattern,\t\
      \t\t const cairo_user_data_key_t *key) "
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-pattern.c:3025,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pattern.c:3041,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pattern.c:3043,1
    - Dst: _cairo_array_index_const
      Src: /src/cairo/src/cairo-pattern.c:3040,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 38
    argCount: 3
    argNames:
    - pattern
    - out_min
    - out_max
    argTypes:
    - cairo_pattern_t*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 3073
      start: 3006
    functionDepth: 0
    functionLinenumber: 3006
    functionLinenumberEnd: 3073
    functionName: _cairo_pattern_alpha_range
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_array_index_const
    - _cairo_array_num_elements
    - assert
    linkageType: ''
    returnType: void
    signature: "void _cairo_pattern_alpha_range (const cairo_pattern_t *pattern,\t\
      \t\t double *out_min,\t\t\t double *out_max) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pattern_create_rgba
      Src: /src/cairo/src/cairo-pattern.c:691,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 692
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 692
    functionName: cairo_pattern_create_rgb
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_rgba
    linkageType: ''
    returnType: cairo_pattern_t*
    signature: 'cairo_pattern_t *cairo_pattern_create_rgb (double red, double green,
      double blue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_raster_source_pattern_t*
    - cairo_raster_source_pattern_t*
    constantsTouched: []
    func_position:
      end: 4157
      start: 4152
    functionDepth: 0
    functionLinenumber: 4152
    functionLinenumberEnd: 4157
    functionName: _cairo_raster_source_pattern_equal
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _cairo_raster_source_pattern_equal (const cairo_raster_source_pattern_t\
      \ *a,\t\t\t\t const cairo_raster_source_pattern_t *b) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_foreach_entry
      Src: /src/cairo/src/cairo-pattern.c:174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pattern
    - flags
    argTypes:
    - cairo_pattern_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 176
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 176
    functionName: _cairo_pattern_notify_observers
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - cairo_list_foreach_entry
    linkageType: ''
    returnType: void
    signature: "static void _cairo_pattern_notify_observers (cairo_pattern_t *pattern,\t\
      \t\t\t unsigned int flags) "
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cairo/src/cairo-pattern.c:4175,1
    - Dst: _cairo_linear_pattern_equal
      Src: /src/cairo/src/cairo-pattern.c:4190,1
    - Dst: _cairo_solid_pattern_equal
      Src: /src/cairo/src/cairo-pattern.c:4187,1
    - Dst: _cairo_radial_pattern_equal
      Src: /src/cairo/src/cairo-pattern.c:4193,1
    - Dst: _cairo_mesh_pattern_equal
      Src: /src/cairo/src/cairo-pattern.c:4196,1
    - Dst: _cairo_surface_pattern_equal
      Src: /src/cairo/src/cairo-pattern.c:4199,1
    - Dst: _cairo_raster_source_pattern_equal
      Src: /src/cairo/src/cairo-pattern.c:4202,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 17
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_pattern_t*
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 4208
      start: 4159
    functionDepth: 0
    functionLinenumber: 4159
    functionLinenumberEnd: 4208
    functionName: _cairo_pattern_equal
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_radial_pattern_equal
    - _cairo_linear_pattern_equal
    - _cairo_raster_source_pattern_equal
    - _cairo_mesh_pattern_equal
    - _cairo_surface_pattern_equal
    - _cairo_solid_pattern_equal
    - memcmp
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t _cairo_pattern_equal (const cairo_pattern_t *a, const
      cairo_pattern_t *b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_MUTEX_INITIALIZE
      Src: /src/cairo/src/cairo-pattern.c:657,1
    - Dst: _cairo_pattern_create_solid
      Src: /src/cairo/src/cairo-pattern.c:659,1
    - Dst: _cairo_pattern_set_error
      Src: /src/cairo/src/cairo-pattern.c:661,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 664
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 664
    functionName: _cairo_pattern_create_in_error
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_create_solid
    - CAIRO_MUTEX_INITIALIZE
    - _cairo_pattern_set_error
    linkageType: ''
    returnType: cairo_pattern_t*
    signature: 'cairo_pattern_t *_cairo_pattern_create_in_error (cairo_status_t status) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-pattern.c:2894,1
    - Dst: _cairo_color_init_rgba
      Src: /src/cairo/src/cairo-pattern.c:2966,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pattern.c:2895,1
    - Dst: _cairo_color_init_rgba
      Src: /src/cairo/src/cairo-pattern.c:2898,1
    - Dst: _cairo_color_init_rgba
      Src: /src/cairo/src/cairo-pattern.c:2993,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 63
    argCount: 2
    argNames:
    - gradient
    - color
    argTypes:
    - cairo_gradient_pattern_t*
    - cairo_color_t*
    constantsTouched: []
    func_position:
      end: 2994
      start: 2886
    functionDepth: 0
    functionLinenumber: 2886
    functionLinenumberEnd: 2994
    functionName: _gradient_color_average
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_color_init_rgba
    - assert
    linkageType: ''
    returnType: void
    signature: "static void _gradient_color_average (const cairo_gradient_pattern_t\
      \ *gradient,\t\t\t cairo_color_t *color) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_rectangle_contains_rectangle
      Src: /src/cairo/src/cairo-pattern.c:3326,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - pattern
    - sample
    argTypes:
    - cairo_raster_source_pattern_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 3327
      start: 3313
    functionDepth: 0
    functionLinenumber: 3313
    functionLinenumberEnd: 3327
    functionName: _raster_source_is_opaque
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_rectangle_contains_rectangle
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _raster_source_is_opaque (const cairo_raster_source_pattern_t\
      \ *pattern,\t\t\t const cairo_rectangle_int_t *sample) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pattern_is_opaque_solid
      Src: /src/cairo/src/cairo-pattern.c:3415,1
    - Dst: _surface_is_opaque
      Src: /src/cairo/src/cairo-pattern.c:3417,1
    - Dst: _raster_source_is_opaque
      Src: /src/cairo/src/cairo-pattern.c:3419,1
    - Dst: _gradient_is_opaque
      Src: /src/cairo/src/cairo-pattern.c:3422,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 7
    argCount: 2
    argNames:
    - abstract_pattern
    - sample
    argTypes:
    - cairo_pattern_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 3429
      start: 3403
    functionDepth: 0
    functionLinenumber: 3403
    functionLinenumberEnd: 3429
    functionName: _cairo_pattern_is_opaque
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _raster_source_is_opaque
    - _gradient_is_opaque
    - _surface_is_opaque
    - _cairo_pattern_is_opaque_solid
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t _cairo_pattern_is_opaque (const cairo_pattern_t *abstract_pattern,\t\
      \t\t const cairo_rectangle_int_t *sample) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_get_extents
      Src: /src/cairo/src/cairo-pattern.c:3334,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - pattern
    argTypes:
    - cairo_surface_pattern_t*
    constantsTouched: []
    func_position:
      end: 3340
      start: 3329
    functionDepth: 0
    functionLinenumber: 3329
    functionLinenumberEnd: 3340
    functionName: _surface_is_clear
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_surface_get_extents
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _surface_is_clear (const cairo_surface_pattern_t
      *pattern) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_COLOR_IS_CLEAR
      Src: /src/cairo/src/cairo-pattern.c:3442,1
    - Dst: _raster_source_is_clear
      Src: /src/cairo/src/cairo-pattern.c:3446,1
    - Dst: _mesh_is_clear
      Src: /src/cairo/src/cairo-pattern.c:3451,1
    - Dst: _surface_is_clear
      Src: /src/cairo/src/cairo-pattern.c:3444,1
    - Dst: _gradient_is_clear
      Src: /src/cairo/src/cairo-pattern.c:3449,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 8
    argCount: 1
    argNames:
    - abstract_pattern
    argTypes:
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 3456
      start: 3431
    functionDepth: 0
    functionLinenumber: 3431
    functionLinenumberEnd: 3456
    functionName: _cairo_pattern_is_clear
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _mesh_is_clear
    - _raster_source_is_clear
    - _gradient_is_clear
    - CAIRO_COLOR_IS_CLEAR
    - _surface_is_clear
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t _cairo_pattern_is_clear (const cairo_pattern_t *abstract_pattern) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_matrix_is_identity
      Src: /src/cairo/src/cairo-pattern.c:3564,1
    - Dst: _cairo_hypot
      Src: /src/cairo/src/cairo-pattern.c:3610,1
    - Dst: _cairo_matrix_transform_bounding_box
      Src: /src/cairo/src/cairo-pattern.c:3574,1
    - Dst: _cairo_hypot
      Src: /src/cairo/src/cairo-pattern.c:3603,1
    - Dst: _cairo_hypot
      Src: /src/cairo/src/cairo-pattern.c:3599,1
    - Dst: _cairo_hypot
      Src: /src/cairo/src/cairo-pattern.c:3612,1
    - Dst: floor
      Src: /src/cairo/src/cairo-pattern.c:3618,1
    - Dst: floor
      Src: /src/cairo/src/cairo-pattern.c:3622,1
    - Dst: floor
      Src: /src/cairo/src/cairo-pattern.c:3626,1
    - Dst: floor
      Src: /src/cairo/src/cairo-pattern.c:3630,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 72
    argCount: 3
    argNames:
    - pattern
    - extents
    - sample
    argTypes:
    - cairo_pattern_t*
    - cairo_rectangle_int_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 3633
      start: 3554
    functionDepth: 0
    functionLinenumber: 3554
    functionLinenumberEnd: 3633
    functionName: _cairo_pattern_sampled_area
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_hypot
    - _cairo_matrix_transform_bounding_box
    - _cairo_matrix_is_identity
    - floor
    linkageType: ''
    returnType: void
    signature: "void _cairo_pattern_sampled_area (const cairo_pattern_t *pattern,\t\
      \t\t const cairo_rectangle_int_t *extents,\t\t\t cairo_rectangle_int_t *sample) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pattern_init
      Src: /src/cairo/src/cairo-pattern.c:570,1
    - Dst: _cairo_pattern_set_error
      Src: /src/cairo/src/cairo-pattern.c:571,1
    - Dst: _cairo_pattern_init
      Src: /src/cairo/src/cairo-pattern.c:575,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-pattern.c:577,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pattern
    - surface
    argTypes:
    - cairo_surface_pattern_t*
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 579
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 579
    functionName: _cairo_pattern_init_for_surface
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - cairo_surface_reference
    - _cairo_pattern_set_error
    - _cairo_pattern_init
    linkageType: ''
    returnType: void
    signature: "void _cairo_pattern_init_for_surface (cairo_surface_pattern_t *pattern,\t\
      \t\t\t cairo_surface_t\t *surface) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pattern_init_gradient
      Src: /src/cairo/src/cairo-pattern.c:596,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - pattern
    - x0
    - y0
    - x1
    - y1
    argTypes:
    - cairo_linear_pattern_t*
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 602
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 602
    functionName: _cairo_pattern_init_linear
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_init_gradient
    linkageType: ''
    returnType: void
    signature: "static void _cairo_pattern_init_linear (cairo_linear_pattern_t *pattern,\t\
      \t\t double x0, double y0, double x1, double y1) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pattern_is_clear
      Src: /src/cairo/src/cairo-pattern.c:3216,1
    - Dst: _cairo_gradient_pattern_is_solid
      Src: /src/cairo/src/cairo-pattern.c:3234,1
    - Dst: _cairo_pattern_is_opaque
      Src: /src/cairo/src/cairo-pattern.c:3221,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 14
    argCount: 3
    argNames:
    - abstract_pattern
    - extents
    - alpha
    argTypes:
    - cairo_pattern_t*
    - cairo_rectangle_int_t*
    - double*
    constantsTouched: []
    func_position:
      end: 3250
      start: 3208
    functionDepth: 0
    functionLinenumber: 3208
    functionLinenumberEnd: 3250
    functionName: _cairo_pattern_is_constant_alpha
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_gradient_pattern_is_solid
    - _cairo_pattern_is_clear
    - _cairo_pattern_is_opaque
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t _cairo_pattern_is_constant_alpha (const cairo_pattern_t\
      \ *abstract_pattern,\t\t\t\t const cairo_rectangle_int_t *extents,\t\t\t\t double\
      \ *alpha) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hypot
      Src: /src/cairo/src/cairo-pattern.c:3536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    constantsTouched: []
    func_position:
      end: 3537
      start: 3533
    functionDepth: 0
    functionLinenumber: 3533
    functionLinenumberEnd: 3537
    functionName: _cairo_hypot
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - hypot
    linkageType: ''
    returnType: double
    signature: 'static inline double _cairo_hypot(double x, double y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pattern_init
      Src: /src/cairo/src/cairo-pattern.c:585,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pattern
    - type
    argTypes:
    - cairo_gradient_pattern_t*
    - cairo_pattern_type_t
    constantsTouched: []
    func_position:
      end: 590
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 590
    functionName: _cairo_pattern_init_gradient
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_init
    linkageType: ''
    returnType: void
    signature: "static void _cairo_pattern_init_gradient (cairo_gradient_pattern_t\
      \ *pattern,\t\t\t cairo_pattern_type_t type) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pattern_init_gradient
      Src: /src/cairo/src/cairo-pattern.c:609,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-pattern.c:616,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-pattern.c:613,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 7
    argNames:
    - pattern
    - cx0
    - cy0
    - radius0
    - cx1
    - cy1
    - radius1
    argTypes:
    - cairo_radial_pattern_t*
    - double
    - double
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 617
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 617
    functionName: _cairo_pattern_init_radial
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - fabs
    - _cairo_pattern_init_gradient
    linkageType: ''
    returnType: void
    signature: "static void _cairo_pattern_init_radial (cairo_radial_pattern_t *pattern,\t\
      \t\t double cx0, double cy0, double radius0,\t\t\t double cx1, double cy1, double\
      \ radius1) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_mesh_pattern_coord_box
      Src: /src/cairo/src/cairo-pattern.c:3258,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - mesh
    argTypes:
    - cairo_mesh_pattern_t*
    constantsTouched: []
    func_position:
      end: 3266
      start: 3252
    functionDepth: 0
    functionLinenumber: 3252
    functionLinenumberEnd: 3266
    functionName: _mesh_is_clear
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_mesh_pattern_coord_box
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _mesh_is_clear (const cairo_mesh_pattern_t *mesh) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-pattern.c:2731,1
    - Dst: lerp
      Src: /src/cairo/src/cairo-pattern.c:2743,1
    - Dst: lerp
      Src: /src/cairo/src/cairo-pattern.c:2739,1
    - Dst: lerp
      Src: /src/cairo/src/cairo-pattern.c:2738,1
    - Dst: lerp
      Src: /src/cairo/src/cairo-pattern.c:2744,1
    - Dst: lerp
      Src: /src/cairo/src/cairo-pattern.c:2745,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - gradient
    - t
    - out_circle
    argTypes:
    - cairo_gradient_pattern_t*
    - double
    - cairo_circle_double_t*
    constantsTouched: []
    func_position:
      end: 2749
      start: 2726
    functionDepth: 0
    functionLinenumber: 2726
    functionLinenumberEnd: 2749
    functionName: _cairo_gradient_pattern_interpolate
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - lerp
    - assert
    linkageType: ''
    returnType: void
    signature: "void _cairo_gradient_pattern_interpolate (const cairo_gradient_pattern_t\
      \ *gradient,\t\t\t\t double\t\t\t t,\t\t\t\t cairo_circle_double_t\t *out_circle) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pattern.c:4281,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 2
    argNames:
    - pattern
    - surface
    argTypes:
    - cairo_pattern_t*
    - cairo_surface_t**
    constantsTouched: []
    func_position:
      end: 4287
      start: 4271
    functionDepth: 0
    functionLinenumber: 4271
    functionLinenumberEnd: 4287
    functionName: cairo_pattern_get_surface
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_error
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t cairo_pattern_get_surface (cairo_pattern_t *pattern,\t\
      \t\t cairo_surface_t **surface) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_INJECT_FAULT
      Src: /src/cairo/src/cairo-pattern.c:266,1
    - Dst: _cairo_pattern_set_error
      Src: /src/cairo/src/cairo-pattern.c:293,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-pattern.c:288,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pattern.c:267,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:290,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-pattern.c:296,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 2
    argNames:
    - pattern
    - other
    argTypes:
    - cairo_gradient_pattern_t*
    - cairo_gradient_pattern_t*
    constantsTouched: []
    func_position:
      end: 301
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 301
    functionName: _cairo_gradient_pattern_init_copy
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - memcpy
    - _cairo_pattern_set_error
    - _cairo_error
    - _cairo_malloc_ab
    - CAIRO_INJECT_FAULT
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_gradient_pattern_init_copy (cairo_gradient_pattern_t\t\
      \ *pattern,\t\t\t\t const cairo_gradient_pattern_t *other) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:1371,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:1381,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:1374,1
    - Dst: _cairo_pattern_set_error
      Src: /src/cairo/src/cairo-pattern.c:1382,1
    - Dst: _cairo_pattern_set_error
      Src: /src/cairo/src/cairo-pattern.c:1375,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:1386,1
    - Dst: _cairo_pattern_set_error
      Src: /src/cairo/src/cairo-pattern.c:1387,1
    - Dst: cairo_mesh_pattern_line_to
      Src: /src/cairo/src/cairo-pattern.c:1394,1
    - Dst: _calc_control_point
      Src: /src/cairo/src/cairo-pattern.c:1407,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 1
    argNames:
    - pattern
    argTypes:
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 1416
      start: 1364
    functionDepth: 0
    functionLinenumber: 1364
    functionLinenumberEnd: 1416
    functionName: cairo_mesh_pattern_end_patch
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _calc_control_point
    - _cairo_pattern_set_error
    - cairo_mesh_pattern_line_to
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_mesh_pattern_end_patch (cairo_pattern_t *pattern) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-pattern.c:309,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pattern.c:312,1
    - Dst: _cairo_array_index_const
      Src: /src/cairo/src/cairo-pattern.c:311,1
    - Dst: _cairo_array_append_multiple
      Src: /src/cairo/src/cairo-pattern.c:310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pattern
    - other
    argTypes:
    - cairo_mesh_pattern_t*
    - cairo_mesh_pattern_t*
    constantsTouched: []
    func_position:
      end: 313
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 313
    functionName: _cairo_mesh_pattern_init_copy
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_array_append_multiple
    - _cairo_array_num_elements
    - _cairo_array_index_const
    - _cairo_array_init
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_mesh_pattern_init_copy (cairo_mesh_pattern_t\
      \ *pattern,\t\t\t const cairo_mesh_pattern_t *other) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pattern
    argTypes:
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 1133
      start: 1129
    functionDepth: 0
    functionLinenumber: 1129
    functionLinenumberEnd: 1133
    functionName: cairo_pattern_status
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t cairo_pattern_status (cairo_pattern_t *pattern) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pattern
    argTypes:
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 2105
      start: 2101
    functionDepth: 0
    functionLinenumber: 2101
    functionLinenumberEnd: 2105
    functionName: cairo_pattern_get_filter
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_filter_t
    signature: 'cairo_filter_t cairo_pattern_get_filter (cairo_pattern_t *pattern) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pattern
    argTypes:
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 2187
      start: 2183
    functionDepth: 0
    functionLinenumber: 2183
    functionLinenumberEnd: 2187
    functionName: cairo_pattern_get_extend
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_extend_t
    signature: 'cairo_extend_t cairo_pattern_get_extend (cairo_pattern_t *pattern) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pattern.c:4370,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 2
    argNames:
    - pattern
    - count
    argTypes:
    - cairo_pattern_t*
    - int*
    constantsTouched: []
    func_position:
      end: 4376
      start: 4359
    functionDepth: 0
    functionLinenumber: 4359
    functionLinenumberEnd: 4376
    functionName: cairo_pattern_get_color_stop_count
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_error
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t cairo_pattern_get_color_stop_count (cairo_pattern_t\
      \ *pattern,\t\t\t\t int *count) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pattern
    argTypes:
    - cairo_raster_source_pattern_t*
    constantsTouched: []
    func_position:
      end: 3346
      start: 3342
    functionDepth: 0
    functionLinenumber: 3342
    functionLinenumberEnd: 3346
    functionName: _raster_source_is_clear
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _raster_source_is_clear (const cairo_raster_source_pattern_t
      *pattern) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pattern
    argTypes:
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 1114
      start: 1110
    functionDepth: 0
    functionLinenumber: 1110
    functionLinenumberEnd: 1114
    functionName: cairo_pattern_get_type
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_pattern_type_t
    signature: 'cairo_pattern_type_t cairo_pattern_get_type (cairo_pattern_t *pattern) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pattern_notify_observers
      Src: /src/cairo/src/cairo-pattern.c:2087,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pattern
    - filter
    argTypes:
    - cairo_pattern_t*
    - cairo_filter_t
    constantsTouched: []
    func_position:
      end: 2088
      start: 2080
    functionDepth: 0
    functionLinenumber: 2080
    functionLinenumberEnd: 2088
    functionName: cairo_pattern_set_filter
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_notify_observers
    linkageType: ''
    returnType: void
    signature: 'void cairo_pattern_set_filter (cairo_pattern_t *pattern, cairo_filter_t
      filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pattern_notify_observers
      Src: /src/cairo/src/cairo-pattern.c:2168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pattern
    - extend
    argTypes:
    - cairo_pattern_t*
    - cairo_extend_t
    constantsTouched: []
    func_position:
      end: 2169
      start: 2161
    functionDepth: 0
    functionLinenumber: 2161
    functionLinenumberEnd: 2169
    functionName: cairo_pattern_set_extend
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_notify_observers
    linkageType: ''
    returnType: void
    signature: 'void cairo_pattern_set_extend (cairo_pattern_t *pattern, cairo_extend_t
      extend) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pattern.c:4326,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pattern.c:4329,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 14
    argCount: 7
    argNames:
    - pattern
    - index
    - offset
    - red
    - green
    - blue
    - alpha
    argTypes:
    - cairo_pattern_t*
    - int
    - double*
    - double*
    - double*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 4343
      start: 4313
    functionDepth: 0
    functionLinenumber: 4313
    functionLinenumberEnd: 4343
    functionName: cairo_pattern_get_color_stop_rgba
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_error
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t cairo_pattern_get_color_stop_rgba (cairo_pattern_t\
      \ *pattern,\t\t\t\t int index, double *offset,\t\t\t\t double *red, double *green,\t\
      \t\t\t double *blue, double *alpha) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cairo/src/cairo-pattern.c:4774,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - file
    - raster
    argTypes:
    - FILE*
    - cairo_raster_source_pattern_t*
    constantsTouched: []
    func_position:
      end: 4775
      start: 4770
    functionDepth: 0
    functionLinenumber: 4770
    functionLinenumberEnd: 4775
    functionName: _cairo_debug_print_raster_source_pattern
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: "static void _cairo_debug_print_raster_source_pattern (FILE *file,\t\
      \t\t\t\t const cairo_raster_source_pattern_t *raster) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-pattern.c:3354,1
    - Dst: _linear_pattern_is_degenerate
      Src: /src/cairo/src/cairo-pattern.c:3368,1
    - Dst: CAIRO_COLOR_IS_OPAQUE
      Src: /src/cairo/src/cairo-pattern.c:3388,1
    - Dst: _cairo_linear_pattern_box_to_parameter
      Src: /src/cairo/src/cairo-pattern.c:3374,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 27
    argCount: 2
    argNames:
    - gradient
    - sample
    argTypes:
    - cairo_gradient_pattern_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 3392
      start: 3348
    functionDepth: 0
    functionLinenumber: 3348
    functionLinenumberEnd: 3392
    functionName: _gradient_is_opaque
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _linear_pattern_is_degenerate
    - _cairo_linear_pattern_box_to_parameter
    - CAIRO_COLOR_IS_OPAQUE
    - assert
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _gradient_is_opaque (const cairo_gradient_pattern_t\
      \ *gradient,\t\t const cairo_rectangle_int_t *sample) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - file
    - pattern
    argTypes:
    - FILE*
    - cairo_linear_pattern_t*
    constantsTouched: []
    func_position:
      end: 4781
      start: 4777
    functionDepth: 0
    functionLinenumber: 4777
    functionLinenumberEnd: 4781
    functionName: _cairo_debug_print_linear_pattern
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void _cairo_debug_print_linear_pattern (FILE *file,\t\t\t\t\
      \ const cairo_linear_pattern_t *pattern) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _freed_pool_get
      Src: /src/cairo/src/cairo-pattern.c:625,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-pattern.c:630,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:626,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:629,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-pattern.c:628,1
    - Dst: _cairo_pattern_init_solid
      Src: /src/cairo/src/cairo-pattern.c:635,1
    - Dst: CAIRO_REFERENCE_COUNT_INIT
      Src: /src/cairo/src/cairo-pattern.c:636,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 639
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 639
    functionName: _cairo_pattern_create_solid
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _freed_pool_get
    - unlikely
    - CAIRO_REFERENCE_COUNT_INIT
    - _cairo_error_throw
    - _cairo_pattern_init_solid
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_pattern_t*
    signature: 'cairo_pattern_t *_cairo_pattern_create_solid (const cairo_color_t
      *color) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/cairo/src/cairo-pattern.c:2212,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-pattern.c:2213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - linear
    argTypes:
    - cairo_linear_pattern_t*
    constantsTouched: []
    func_position:
      end: 2214
      start: 2209
    functionDepth: 0
    functionLinenumber: 2209
    functionLinenumberEnd: 2214
    functionName: _linear_pattern_is_degenerate
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - fabs
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _linear_pattern_is_degenerate (const cairo_linear_pattern_t
      *linear) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:4490,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:4493,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pattern.c:4497,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pattern.c:4494,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - pattern
    - count
    argTypes:
    - cairo_pattern_t*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 4503
      start: 4484
    functionDepth: 0
    functionLinenumber: 4484
    functionLinenumberEnd: 4503
    functionName: cairo_mesh_pattern_get_patch_count
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_array_num_elements
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t cairo_mesh_pattern_get_patch_count (cairo_pattern_t\
      \ *pattern,\t\t\t\t unsigned int *count) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pattern_create_solid
      Src: /src/cairo/src/cairo-pattern.c:644,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 647
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 647
    functionName: _cairo_pattern_create_foreground_marker
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_create_solid
    linkageType: ''
    returnType: cairo_pattern_t*
    signature: 'cairo_pattern_t *_cairo_pattern_create_foreground_marker (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/cairo/src/cairo-pattern.c:2235,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-pattern.c:2238,1
    - Dst: MIN
      Src: /src/cairo/src/cairo-pattern.c:2236,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-pattern.c:2237,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-pattern.c:2237,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - radial
    argTypes:
    - cairo_radial_pattern_t*
    constantsTouched: []
    func_position:
      end: 2239
      start: 2216
    functionDepth: 0
    functionLinenumber: 2216
    functionLinenumberEnd: 2239
    functionName: _radial_pattern_is_degenerate
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - fabs
    - MIN
    - MAX
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _radial_pattern_is_degenerate (const cairo_radial_pattern_t
      *radial) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-pattern.c:760,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:769,1
    - Dst: _freed_pool_get
      Src: /src/cairo/src/cairo-pattern.c:768,1
    - Dst: _cairo_pattern_create_in_error
      Src: /src/cairo/src/cairo-pattern.c:765,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-pattern.c:770,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:771,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-pattern.c:772,1
    - Dst: CAIRO_MUTEX_INITIALIZE
      Src: /src/cairo/src/cairo-pattern.c:777,1
    - Dst: _cairo_pattern_init_for_surface
      Src: /src/cairo/src/cairo-pattern.c:779,1
    - Dst: CAIRO_REFERENCE_COUNT_INIT
      Src: /src/cairo/src/cairo-pattern.c:780,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 783
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 783
    functionName: cairo_pattern_create_for_surface
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_create_in_error
    - _cairo_pattern_init_for_surface
    - _freed_pool_get
    - unlikely
    - CAIRO_MUTEX_INITIALIZE
    - CAIRO_REFERENCE_COUNT_INIT
    - _cairo_error_throw
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_pattern_t*
    signature: 'cairo_pattern_t *cairo_pattern_create_for_surface (cairo_surface_t
      *surface) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:1602,1
    - Dst: _cairo_pattern_set_error
      Src: /src/cairo/src/cairo-pattern.c:1606,1
    - Dst: _cairo_pattern_set_error
      Src: /src/cairo/src/cairo-pattern.c:1612,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:1611,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:1605,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:1616,1
    - Dst: _cairo_pattern_set_error
      Src: /src/cairo/src/cairo-pattern.c:1617,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - pattern
    - x
    - y
    argTypes:
    - cairo_pattern_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 1624
      start: 1596
    functionDepth: 0
    functionLinenumber: 1596
    functionLinenumberEnd: 1624
    functionName: cairo_mesh_pattern_move_to
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void cairo_mesh_pattern_move_to (cairo_pattern_t *pattern,\t\t\t double\
      \ x, double y) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pattern_init_copy
      Src: /src/cairo/src/cairo-pattern.c:431,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-pattern.c:444,1
    - Dst: _cairo_surface_snapshot
      Src: /src/cairo/src/cairo-pattern.c:442,1
    - Dst: _cairo_raster_source_pattern_snapshot
      Src: /src/cairo/src/cairo-pattern.c:448,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:432,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - pattern
    - other
    argTypes:
    - cairo_pattern_t*
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 451
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 451
    functionName: _cairo_pattern_init_snapshot
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_init_copy
    - _cairo_raster_source_pattern_snapshot
    - unlikely
    - cairo_surface_destroy
    - _cairo_surface_snapshot
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_pattern_init_snapshot (cairo_pattern_t *pattern,\t\
      \t\t const cairo_pattern_t *other) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_restrict_value
      Src: /src/cairo/src/cairo-pattern.c:725,1
    - Dst: _cairo_color_init_rgba
      Src: /src/cairo/src/cairo-pattern.c:730,1
    - Dst: _cairo_restrict_value
      Src: /src/cairo/src/cairo-pattern.c:727,1
    - Dst: _cairo_restrict_value
      Src: /src/cairo/src/cairo-pattern.c:728,1
    - Dst: _cairo_restrict_value
      Src: /src/cairo/src/cairo-pattern.c:726,1
    - Dst: CAIRO_MUTEX_INITIALIZE
      Src: /src/cairo/src/cairo-pattern.c:732,1
    - Dst: _cairo_pattern_create_solid
      Src: /src/cairo/src/cairo-pattern.c:734,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 735
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 735
    functionName: cairo_pattern_create_rgba
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_restrict_value
    - _cairo_pattern_create_solid
    - _cairo_color_init_rgba
    - CAIRO_MUTEX_INITIALIZE
    linkageType: ''
    returnType: cairo_pattern_t*
    signature: "cairo_pattern_t *cairo_pattern_create_rgba (double red, double green,\
      \ double blue,\t\t\t double alpha) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:1539,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:1548,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:1542,1
    - Dst: _cairo_pattern_set_error
      Src: /src/cairo/src/cairo-pattern.c:1549,1
    - Dst: _cairo_pattern_set_error
      Src: /src/cairo/src/cairo-pattern.c:1543,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:1553,1
    - Dst: _cairo_pattern_set_error
      Src: /src/cairo/src/cairo-pattern.c:1554,1
    - Dst: cairo_mesh_pattern_move_to
      Src: /src/cairo/src/cairo-pattern.c:1559,1
    - Dst: cairo_mesh_pattern_curve_to
      Src: /src/cairo/src/cairo-pattern.c:1569,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 3
    argNames:
    - pattern
    - x
    - y
    argTypes:
    - cairo_pattern_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 1575
      start: 1531
    functionDepth: 0
    functionLinenumber: 1531
    functionLinenumberEnd: 1575
    functionName: cairo_mesh_pattern_line_to
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - cairo_mesh_pattern_move_to
    - _cairo_pattern_set_error
    - cairo_mesh_pattern_curve_to
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void cairo_mesh_pattern_line_to (cairo_pattern_t *pattern,\t\t\t double\
      \ x, double y) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MAX
      Src: /src/cairo/src/cairo-pattern.c:2783,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-pattern.c:2784,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-pattern.c:2798,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-pattern.c:2804,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-pattern.c:2805,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-pattern.c:2806,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-pattern.c:2807,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-pattern.c:2808,1
    - Dst: cairo_matrix_init_scale
      Src: /src/cairo/src/cairo-pattern.c:2822,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-pattern.c:2803,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pattern.c:2770,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-pattern.c:2782,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-pattern.c:2783,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-pattern.c:2796,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-pattern.c:2786,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-pattern.c:2795,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-pattern.c:2797,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-pattern.c:2798,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-pattern.c:2799,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-pattern.c:2801,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:2810,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-pattern.c:2803,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-pattern.c:2800,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-pattern.c:2781,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-pattern.c:2782,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-pattern.c:2785,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-pattern.c:2794,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-pattern.c:2795,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-pattern.c:2786,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-pattern.c:2793,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-pattern.c:2796,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-pattern.c:2797,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-pattern.c:2799,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-pattern.c:2823,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-pattern.c:2784,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-pattern.c:2785,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-pattern.c:2794,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-pattern.c:2800,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-pattern.c:2801,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-pattern.c:2804,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-pattern.c:2805,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-pattern.c:2806,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-pattern.c:2807,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-pattern.c:2808,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 95
    argCount: 4
    argNames:
    - gradient
    - max_value
    - out_matrix
    - out_circle
    argTypes:
    - cairo_gradient_pattern_t*
    - double
    - cairo_matrix_t*
    - cairo_circle_double_t
    constantsTouched: []
    func_position:
      end: 2827
      start: 2762
    functionDepth: 0
    functionLinenumber: 2762
    functionLinenumberEnd: 2827
    functionName: _cairo_gradient_pattern_fit_to_range
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - fabs
    - cairo_matrix_init_scale
    - MAX
    - assert
    - cairo_matrix_multiply
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void _cairo_gradient_pattern_fit_to_range (const cairo_gradient_pattern_t\
      \ *gradient,\t\t\t\t double\t\t\t max_value,\t\t\t\t cairo_matrix_t *out_matrix,\t\
      \t\t\t cairo_circle_double_t\t out_circle[2]) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-pattern.c:3151,1
    - Dst: _gradient_color_average
      Src: /src/cairo/src/cairo-pattern.c:3158,1
    - Dst: _cairo_linear_pattern_box_to_parameter
      Src: /src/cairo/src/cairo-pattern.c:3172,1
    - Dst: _cairo_color_stop_equal
      Src: /src/cairo/src/cairo-pattern.c:3186,1
    - Dst: _linear_pattern_is_degenerate
      Src: /src/cairo/src/cairo-pattern.c:3157,1
    - Dst: _cairo_color_init_rgba
      Src: /src/cairo/src/cairo-pattern.c:3190,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 3
    argNames:
    - gradient
    - extents
    - color
    argTypes:
    - cairo_gradient_pattern_t*
    - cairo_rectangle_int_t*
    - cairo_color_t*
    constantsTouched: []
    func_position:
      end: 3197
      start: 3144
    functionDepth: 0
    functionLinenumber: 3144
    functionLinenumberEnd: 3197
    functionName: _cairo_gradient_pattern_is_solid
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_linear_pattern_box_to_parameter
    - assert
    - _gradient_color_average
    - _linear_pattern_is_degenerate
    - _cairo_color_init_rgba
    - _cairo_color_stop_equal
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t _cairo_gradient_pattern_is_solid (const cairo_gradient_pattern_t\
      \ *gradient,\t\t\t\t const cairo_rectangle_int_t *extents,\t\t\t\t cairo_color_t\
      \ *color) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_matrix_is_pixel_exact
      Src: /src/cairo/src/cairo-pattern.c:3498,1
    - Dst: use_bilinear
      Src: /src/cairo/src/cairo-pattern.c:3509,1
    - Dst: use_bilinear
      Src: /src/cairo/src/cairo-pattern.c:3511,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 10
    argCount: 1
    argNames:
    - pattern
    argTypes:
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 3524
      start: 3486
    functionDepth: 0
    functionLinenumber: 3486
    functionLinenumberEnd: 3524
    functionName: _cairo_pattern_analyze_filter
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - use_bilinear
    - _cairo_matrix_is_pixel_exact
    linkageType: ''
    returnType: cairo_filter_t
    signature: 'cairo_filter_t _cairo_pattern_analyze_filter (const cairo_pattern_t
      *pattern) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_user_data_array_fini
      Src: /src/cairo/src/cairo-pattern.c:456,1
    - Dst: _cairo_raster_source_pattern_finish
      Src: /src/cairo/src/cairo-pattern.c:482,1
    - Dst: free
      Src: /src/cairo/src/cairo-pattern.c:473,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-pattern.c:465,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-pattern.c:479,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/cairo/src/cairo-pattern.c:489,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/cairo/src/cairo-pattern.c:492,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/cairo/src/cairo-pattern.c:495,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/cairo/src/cairo-pattern.c:498,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/cairo/src/cairo-pattern.c:501,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 18
    argCount: 1
    argNames:
    - pattern
    argTypes:
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 507
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 507
    functionName: _cairo_pattern_fini
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_raster_source_pattern_finish
    - free
    - cairo_surface_destroy
    - VALGRIND_MAKE_MEM_UNDEFINED
    - _cairo_array_fini
    - _cairo_user_data_array_fini
    linkageType: ''
    returnType: void
    signature: 'void _cairo_pattern_fini (cairo_pattern_t *pattern) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-pattern.c:2835,1
    - Dst: _linear_pattern_is_degenerate
      Src: /src/cairo/src/cairo-pattern.c:2849,1
    - Dst: CAIRO_COLOR_IS_CLEAR
      Src: /src/cairo/src/cairo-pattern.c:2880,1
    - Dst: _radial_pattern_is_degenerate
      Src: /src/cairo/src/cairo-pattern.c:2845,1
    - Dst: _cairo_gradient_pattern_box_to_parameter
      Src: /src/cairo/src/cairo-pattern.c:2860,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 38
    argCount: 2
    argNames:
    - gradient
    - extents
    argTypes:
    - cairo_gradient_pattern_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 2884
      start: 2829
    functionDepth: 0
    functionLinenumber: 2829
    functionLinenumberEnd: 2884
    functionName: _gradient_is_clear
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _radial_pattern_is_degenerate
    - assert
    - _linear_pattern_is_degenerate
    - CAIRO_COLOR_IS_CLEAR
    - _cairo_gradient_pattern_box_to_parameter
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _gradient_is_clear (const cairo_gradient_pattern_t\
      \ *gradient,\t\t const cairo_rectangle_int_t *extents) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:1457,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:1466,1
    - Dst: _cairo_pattern_set_error
      Src: /src/cairo/src/cairo-pattern.c:1461,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:1460,1
    - Dst: _cairo_pattern_set_error
      Src: /src/cairo/src/cairo-pattern.c:1467,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:1471,1
    - Dst: _cairo_pattern_set_error
      Src: /src/cairo/src/cairo-pattern.c:1472,1
    - Dst: cairo_mesh_pattern_move_to
      Src: /src/cairo/src/cairo-pattern.c:1477,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pattern.c:1479,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pattern.c:1480,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 7
    argNames:
    - pattern
    - x1
    - y1
    - x2
    - y2
    - x3
    - y3
    argTypes:
    - cairo_pattern_t*
    - double
    - double
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 1505
      start: 1448
    functionDepth: 0
    functionLinenumber: 1448
    functionLinenumberEnd: 1505
    functionName: cairo_mesh_pattern_curve_to
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - cairo_mesh_pattern_move_to
    - _cairo_pattern_set_error
    - assert
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void cairo_mesh_pattern_curve_to (cairo_pattern_t *pattern,\t\t\t\
      \ double x1, double y1,\t\t\t double x2, double y2,\t\t\t double x3, double\
      \ y3) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-pattern.c:3102,1
    - Dst: MIN
      Src: /src/cairo/src/cairo-pattern.c:3117,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pattern.c:3104,1
    - Dst: _cairo_array_index_const
      Src: /src/cairo/src/cairo-pattern.c:3109,1
    - Dst: MIN
      Src: /src/cairo/src/cairo-pattern.c:3116,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-pattern.c:3118,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-pattern.c:3119,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 5
    argNames:
    - mesh
    - out_xmin
    - out_ymin
    - out_xmax
    - out_ymax
    argTypes:
    - cairo_mesh_pattern_t*
    - double*
    - double*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 3130
      start: 3091
    functionDepth: 0
    functionLinenumber: 3091
    functionLinenumberEnd: 3130
    functionName: _cairo_mesh_pattern_coord_box
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_array_index_const
    - _cairo_array_num_elements
    - MIN
    - MAX
    - assert
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t _cairo_mesh_pattern_coord_box (const cairo_mesh_pattern_t\
      \ *mesh,\t\t\t double *out_xmin,\t\t\t double *out_ymin,\t\t\t double *out_xmax,\t\
      \t\t double *out_ymax) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-pattern.c:3472,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-pattern.c:3473,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-pattern.c:3473,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - x
    - y
    - t
    argTypes:
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 3476
      start: 3464
    functionDepth: 0
    functionLinenumber: 3464
    functionLinenumberEnd: 3476
    functionName: use_bilinear
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_is_integer
    - _cairo_fixed_from_double
    linkageType: ''
    returnType: int
    signature: 'static int use_bilinear(double x, double y, double t) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:1817,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:1820,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:1825,1
    - Dst: _cairo_pattern_set_error
      Src: /src/cairo/src/cairo-pattern.c:1821,1
    - Dst: _cairo_pattern_set_error
      Src: /src/cairo/src/cairo-pattern.c:1826,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:1831,1
    - Dst: _cairo_pattern_set_error
      Src: /src/cairo/src/cairo-pattern.c:1832,1
    - Dst: _cairo_restrict_value
      Src: /src/cairo/src/cairo-pattern.c:1836,1
    - Dst: _cairo_restrict_value
      Src: /src/cairo/src/cairo-pattern.c:1837,1
    - Dst: _cairo_restrict_value
      Src: /src/cairo/src/cairo-pattern.c:1838,1
    - Dst: _cairo_restrict_value
      Src: /src/cairo/src/cairo-pattern.c:1839,1
    - Dst: _cairo_mesh_pattern_set_corner_color
      Src: /src/cairo/src/cairo-pattern.c:1841,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 6
    argNames:
    - pattern
    - corner_num
    - red
    - green
    - blue
    - alpha
    argTypes:
    - cairo_pattern_t*
    - unsigned int
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 1842
      start: 1809
    functionDepth: 0
    functionLinenumber: 1809
    functionLinenumberEnd: 1842
    functionName: cairo_mesh_pattern_set_corner_color_rgba
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_restrict_value
    - _cairo_pattern_set_error
    - _cairo_mesh_pattern_set_corner_color
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void cairo_mesh_pattern_set_corner_color_rgba (cairo_pattern_t *pattern,\t\
      \t\t\t\t unsigned int corner_num,\t\t\t\t\t double red, double green, double\
      \ blue,\t\t\t\t\t double alpha) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - radial
    argTypes:
    - cairo_radial_pattern_t*
    constantsTouched: []
    func_position:
      end: 2339
      start: 2326
    functionDepth: 0
    functionLinenumber: 2326
    functionLinenumberEnd: 2339
    functionName: _cairo_radial_pattern_focus_is_inside
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t _cairo_radial_pattern_focus_is_inside (const cairo_radial_pattern_t
      *radial) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-pattern.c:521,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-pattern.c:527,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-pattern.c:530,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-pattern.c:533,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-pattern.c:524,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-pattern.c:536,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pattern.c:540,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:542,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pattern.c:543,1
    - Dst: _cairo_pattern_init_copy
      Src: /src/cairo/src/cairo-pattern.c:545,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:546,1
    - Dst: free
      Src: /src/cairo/src/cairo-pattern.c:547,1
    - Dst: CAIRO_REFERENCE_COUNT_INIT
      Src: /src/cairo/src/cairo-pattern.c:551,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 25
    argCount: 2
    argNames:
    - pattern_out
    - other
    argTypes:
    - cairo_pattern_t**
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 554
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 554
    functionName: _cairo_pattern_create_copy
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_init_copy
    - _cairo_malloc
    - _cairo_error
    - free
    - CAIRO_REFERENCE_COUNT_INIT
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_pattern_create_copy (cairo_pattern_t\t **pattern_out,\t\
      \t\t const cairo_pattern_t *other) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pattern_init
      Src: /src/cairo/src/cairo-pattern.c:560,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pattern
    - color
    argTypes:
    - cairo_solid_pattern_t*
    - cairo_color_t*
    constantsTouched: []
    func_position:
      end: 562
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 562
    functionName: _cairo_pattern_init_solid
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_init
    linkageType: ''
    returnType: void
    signature: "void _cairo_pattern_init_solid (cairo_solid_pattern_t *pattern,\t\t\
      \t const cairo_color_t\t *color) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pattern_gradient_grow
      Src: /src/cairo/src/cairo-pattern.c:1856,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:1857,1
    - Dst: memmove
      Src: /src/cairo/src/cairo-pattern.c:1869,1
    - Dst: _cairo_pattern_set_error
      Src: /src/cairo/src/cairo-pattern.c:1858,1
    - Dst: _cairo_color_double_to_short
      Src: /src/cairo/src/cairo-pattern.c:1883,1
    - Dst: _cairo_color_double_to_short
      Src: /src/cairo/src/cairo-pattern.c:1884,1
    - Dst: _cairo_color_double_to_short
      Src: /src/cairo/src/cairo-pattern.c:1885,1
    - Dst: _cairo_color_double_to_short
      Src: /src/cairo/src/cairo-pattern.c:1886,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 6
    argNames:
    - pattern
    - offset
    - red
    - green
    - blue
    - alpha
    argTypes:
    - cairo_gradient_pattern_t*
    - double
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 1889
      start: 1844
    functionDepth: 0
    functionLinenumber: 1844
    functionLinenumberEnd: 1889
    functionName: _cairo_pattern_add_color_stop
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_gradient_grow
    - _cairo_pattern_set_error
    - memmove
    - _cairo_color_double_to_short
    - unlikely
    linkageType: ''
    returnType: void
    signature: "static void _cairo_pattern_add_color_stop (cairo_gradient_pattern_t\t\
      *pattern,\t\t\t double\t\t\t offset,\t\t\t double\t\t\t red,\t\t\t double\t\t\
      \t green,\t\t\t double\t\t\t blue,\t\t\t double\t\t\t alpha) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-pattern.c:2354,1
    - Dst: T_EDGE
      Src: /src/cairo/src/cairo-pattern.c:2473,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pattern.c:2355,1
    - Dst: T_EDGE
      Src: /src/cairo/src/cairo-pattern.c:2474,1
    - Dst: T_EDGE
      Src: /src/cairo/src/cairo-pattern.c:2475,1
    - Dst: T_EDGE
      Src: /src/cairo/src/cairo-pattern.c:2589,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-pattern.c:2495,1
    - Dst: T_EDGE
      Src: /src/cairo/src/cairo-pattern.c:2590,1
    - Dst: T_CORNER
      Src: /src/cairo/src/cairo-pattern.c:2640,1
    - Dst: T_CORNER
      Src: /src/cairo/src/cairo-pattern.c:2641,1
    - Dst: T_CORNER
      Src: /src/cairo/src/cairo-pattern.c:2678,1
    - Dst: T_CORNER
      Src: /src/cairo/src/cairo-pattern.c:2679,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-pattern.c:2357,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-pattern.c:2415,1
    - Dst: _extend_range
      Src: /src/cairo/src/cairo-pattern.c:2424,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pattern.c:2530,1
    - Dst: T_EDGE
      Src: /src/cairo/src/cairo-pattern.c:2588,1
    - Dst: _extend_range
      Src: /src/cairo/src/cairo-pattern.c:2612,1
    - Dst: T_CORNER
      Src: /src/cairo/src/cairo-pattern.c:2642,1
    - Dst: T_CORNER
      Src: /src/cairo/src/cairo-pattern.c:2680,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pattern.c:2353,1
    - Dst: _radial_pattern_is_degenerate
      Src: /src/cairo/src/cairo-pattern.c:2353,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-pattern.c:2530,1
    - Dst: T_EDGE
      Src: /src/cairo/src/cairo-pattern.c:2591,1
    - Dst: T_EDGE
      Src: /src/cairo/src/cairo-pattern.c:2476,1
    - Dst: T_CORNER
      Src: /src/cairo/src/cairo-pattern.c:2643,1
    - Dst: T_CORNER
      Src: /src/cairo/src/cairo-pattern.c:2681,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 116
    argCount: 7
    argNames:
    - radial
    - x0
    - y0
    - x1
    - y1
    - tolerance
    - range
    argTypes:
    - cairo_radial_pattern_t*
    - double
    - double
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 2685
      start: 2341
    functionDepth: 0
    functionLinenumber: 2341
    functionLinenumberEnd: 2685
    functionName: _cairo_radial_pattern_box_to_parameter
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - fabs
    - _extend_range
    - _radial_pattern_is_degenerate
    - MAX
    - assert
    - T_EDGE
    - T_CORNER
    linkageType: ''
    returnType: void
    signature: "static void _cairo_radial_pattern_box_to_parameter (const cairo_radial_pattern_t\
      \ *radial,\t\t\t\t\tdouble x0, double y0,\t\t\t\t\tdouble x1, double y1,\t\t\
      \t\t\tdouble tolerance,\t\t\t\t\tdouble range[2]) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_hash_bytes
      Src: /src/cairo/src/cairo-pattern.c:3964,1
    - Dst: _cairo_hash_bytes
      Src: /src/cairo/src/cairo-pattern.c:3965,1
    - Dst: _cairo_gradient_color_stops_hash
      Src: /src/cairo/src/cairo-pattern.c:3967,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - hash
    - linear
    argTypes:
    - uintptr_t
    - cairo_linear_pattern_t*
    constantsTouched: []
    func_position:
      end: 3968
      start: 3960
    functionDepth: 0
    functionLinenumber: 3960
    functionLinenumberEnd: 3968
    functionName: _cairo_linear_pattern_hash
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_hash_bytes
    - _cairo_gradient_color_stops_hash
    linkageType: ''
    returnType: uintptr_t
    signature: "uintptr_t _cairo_linear_pattern_hash (uintptr_t hash,\t\t\t const\
      \ cairo_linear_pattern_t *linear) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_index_const
      Src: /src/cairo/src/cairo-pattern.c:3985,1
    - Dst: _cairo_hash_bytes
      Src: /src/cairo/src/cairo-pattern.c:3989,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pattern.c:3986,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - hash
    - mesh
    argTypes:
    - uintptr_t
    - cairo_mesh_pattern_t*
    constantsTouched: []
    func_position:
      end: 3992
      start: 3982
    functionDepth: 0
    functionLinenumber: 3982
    functionLinenumberEnd: 3992
    functionName: _cairo_mesh_pattern_hash
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_array_index_const
    - _cairo_hash_bytes
    - _cairo_array_num_elements
    linkageType: ''
    returnType: uintptr_t
    signature: 'static uintptr_t _cairo_mesh_pattern_hash (uintptr_t hash, const cairo_mesh_pattern_t
      *mesh) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - file
    - pattern
    argTypes:
    - FILE*
    - cairo_radial_pattern_t*
    constantsTouched: []
    func_position:
      end: 4787
      start: 4783
    functionDepth: 0
    functionLinenumber: 4783
    functionLinenumberEnd: 4787
    functionName: _cairo_debug_print_radial_pattern
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void _cairo_debug_print_radial_pattern (FILE *file,\t\t\t\t\
      \ const cairo_radial_pattern_t *pattern) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_hash_bytes
      Src: /src/cairo/src/cairo-pattern.c:3974,1
    - Dst: _cairo_hash_bytes
      Src: /src/cairo/src/cairo-pattern.c:3977,1
    - Dst: _cairo_hash_bytes
      Src: /src/cairo/src/cairo-pattern.c:3975,1
    - Dst: _cairo_gradient_color_stops_hash
      Src: /src/cairo/src/cairo-pattern.c:3979,1
    - Dst: _cairo_hash_bytes
      Src: /src/cairo/src/cairo-pattern.c:3976,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - hash
    - radial
    argTypes:
    - uintptr_t
    - cairo_radial_pattern_t*
    constantsTouched: []
    func_position:
      end: 3980
      start: 3970
    functionDepth: 0
    functionLinenumber: 3970
    functionLinenumberEnd: 3980
    functionName: _cairo_radial_pattern_hash
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_hash_bytes
    - _cairo_gradient_color_stops_hash
    linkageType: ''
    returnType: uintptr_t
    signature: "uintptr_t _cairo_radial_pattern_hash (uintptr_t hash,\t\t\t const\
      \ cairo_radial_pattern_t *radial) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - hash
    - surface
    argTypes:
    - uintptr_t
    - cairo_surface_pattern_t*
    constantsTouched: []
    func_position:
      end: 4001
      start: 3994
    functionDepth: 0
    functionLinenumber: 3994
    functionLinenumberEnd: 4001
    functionName: _cairo_surface_pattern_hash
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uintptr_t
    signature: "static uintptr_t _cairo_surface_pattern_hash (uintptr_t hash,\t\t\t\
      \ const cairo_surface_pattern_t *surface) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - file
    - pattern
    argTypes:
    - FILE*
    - cairo_mesh_pattern_t*
    constantsTouched: []
    func_position:
      end: 4793
      start: 4789
    functionDepth: 0
    functionLinenumber: 4789
    functionLinenumberEnd: 4793
    functionName: _cairo_debug_print_mesh_pattern
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void _cairo_debug_print_mesh_pattern (FILE *file,\t\t\t\t const\
      \ cairo_mesh_pattern_t *pattern) "
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cairo/src/cairo-pattern.c:4809,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-pattern.c:4820,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-pattern.c:4832,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-pattern.c:4831,1
    - Dst: _cairo_debug_print_raster_source_pattern
      Src: /src/cairo/src/cairo-pattern.c:4841,1
    - Dst: _cairo_debug_print_surface_pattern
      Src: /src/cairo/src/cairo-pattern.c:4844,1
    - Dst: _cairo_debug_print_linear_pattern
      Src: /src/cairo/src/cairo-pattern.c:4847,1
    - Dst: _cairo_debug_print_radial_pattern
      Src: /src/cairo/src/cairo-pattern.c:4850,1
    - Dst: _cairo_debug_print_mesh_pattern
      Src: /src/cairo/src/cairo-pattern.c:4853,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 34
    argCount: 2
    argNames:
    - file
    - pattern
    argTypes:
    - FILE*
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 4856
      start: 4795
    functionDepth: 0
    functionLinenumber: 4795
    functionLinenumberEnd: 4856
    functionName: _cairo_debug_print_pattern
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - fprintf
    - _cairo_debug_print_surface_pattern
    - _cairo_debug_print_raster_source_pattern
    - _cairo_debug_print_linear_pattern
    - _cairo_debug_print_radial_pattern
    - _cairo_debug_print_mesh_pattern
    linkageType: ''
    returnType: void
    signature: 'void _cairo_debug_print_pattern (FILE *file, const cairo_pattern_t
      *pattern) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:4534,1
    - Dst: _cairo_path_create_in_error
      Src: /src/cairo/src/cairo-pattern.c:4538,1
    - Dst: _cairo_path_create_in_error
      Src: /src/cairo/src/cairo-pattern.c:4535,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:4537,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pattern.c:4538,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pattern.c:4540,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pattern.c:4544,1
    - Dst: _cairo_path_create_in_error
      Src: /src/cairo/src/cairo-pattern.c:4545,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pattern.c:4545,1
    - Dst: _cairo_array_index_const
      Src: /src/cairo/src/cairo-pattern.c:4547,1
    - Dst: _cairo_path_create_in_error
      Src: /src/cairo/src/cairo-pattern.c:4551,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pattern.c:4551,1
    - Dst: free
      Src: /src/cairo/src/cairo-pattern.c:4557,1
    - Dst: _cairo_calloc_ab
      Src: /src/cairo/src/cairo-pattern.c:4554,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pattern.c:4558,1
    - Dst: _cairo_path_create_in_error
      Src: /src/cairo/src/cairo-pattern.c:4558,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-pattern.c:4549,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4590
      start: 4523
    functionDepth: 0
    functionLinenumber: 4523
    functionLinenumberEnd: 4590
    functionName: cairo_mesh_pattern_get_path
    functionSourceFile: /src/cairo/src/cairo-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_array_index_const
    - _cairo_calloc_ab
    - _cairo_error
    - free
    - _cairo_array_num_elements
    - _cairo_path_create_in_error
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_path_t*
    signature: "cairo_path_t *cairo_mesh_pattern_get_path (cairo_pattern_t *pattern,\t\
      \t\t unsigned int patch_num) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - freepool
    argTypes:
    - cairo_freepool_t*
    constantsTouched: []
    func_position:
      end: 85
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 85
    functionName: _cairo_freepool_reset
    functionSourceFile: /src/cairo/src/cairo-freelist-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void _cairo_freepool_reset (cairo_freepool_t *freepool) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-freelist-private.h:97,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/cairo/src/cairo-freelist-private.h:103,1
    - Dst: _cairo_freepool_alloc_from_new_pool
      Src: /src/cairo/src/cairo-freelist-private.h:98,1
    - Dst: VG
      Src: /src/cairo/src/cairo-freelist-private.h:103,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 105
    functionName: _cairo_freepool_alloc_from_pool
    functionSourceFile: /src/cairo/src/cairo-freelist-private.h
    functionUses: []
    functionsReached:
    - VALGRIND_MAKE_MEM_UNDEFINED
    - _cairo_freepool_alloc_from_new_pool
    - VG
    - unlikely
    linkageType: ''
    returnType: void*
    signature: 'static inline void *_cairo_freepool_alloc_from_pool (cairo_freepool_t
      *freepool) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VG
      Src: /src/cairo/src/cairo-freelist-private.h:135,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/cairo/src/cairo-freelist-private.h:135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - freepool
    - ptr
    argTypes:
    - cairo_freepool_t*
    - void*
    constantsTouched: []
    func_position:
      end: 136
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 136
    functionName: _cairo_freepool_free
    functionSourceFile: /src/cairo/src/cairo-freelist-private.h
    functionUses: []
    functionsReached:
    - VALGRIND_MAKE_MEM_UNDEFINED
    - VG
    linkageType: ''
    returnType: void
    signature: 'static inline void _cairo_freepool_free (cairo_freepool_t *freepool,
      void *ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_freepool_alloc_from_pool
      Src: /src/cairo/src/cairo-freelist-private.h:114,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/cairo/src/cairo-freelist-private.h:116,1
    - Dst: VG
      Src: /src/cairo/src/cairo-freelist-private.h:118,1
    - Dst: VG
      Src: /src/cairo/src/cairo-freelist-private.h:116,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/cairo/src/cairo-freelist-private.h:118,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 121
    functionName: _cairo_freepool_alloc
    functionSourceFile: /src/cairo/src/cairo-freelist-private.h
    functionUses: []
    functionsReached:
    - VALGRIND_MAKE_MEM_UNDEFINED
    - _cairo_freepool_alloc_from_pool
    - VG
    - VALGRIND_MAKE_MEM_DEFINED
    linkageType: ''
    returnType: void*
    signature: 'static inline void *_cairo_freepool_alloc (cairo_freepool_t *freepool) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_STACK_ARRAY_LENGTH
      Src: /src/cairo/src/cairo-region.c:235,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-region.c:255,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-region.c:257,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-region.c:275,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-region.c:242,1
    - Dst: pixman_region32_init_rect
      Src: /src/cairo/src/cairo-region.c:248,1
    - Dst: free
      Src: /src/cairo/src/cairo-region.c:258,1
    - Dst: pixman_region32_init_rects
      Src: /src/cairo/src/cairo-region.c:270,1
    - Dst: free
      Src: /src/cairo/src/cairo-region.c:276,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-region.c:277,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-region.c:259,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-region.c:240,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-region.c:241,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-region.c:256,1
    - Dst: free
      Src: /src/cairo/src/cairo-region.c:273,1
    - Dst: _cairo_region_create_in_error
      Src: /src/cairo/src/cairo-region.c:242,1
    - Dst: CAIRO_REFERENCE_COUNT_INIT
      Src: /src/cairo/src/cairo-region.c:244,1
    - Dst: _cairo_region_create_in_error
      Src: /src/cairo/src/cairo-region.c:259,1
    - Dst: _cairo_region_create_in_error
      Src: /src/cairo/src/cairo-region.c:277,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 281
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 281
    functionName: cairo_region_create_rectangles
    functionSourceFile: /src/cairo/src/cairo-region.c
    functionUses: []
    functionsReached:
    - CAIRO_STACK_ARRAY_LENGTH
    - pixman_region32_init_rects
    - _cairo_error
    - free
    - _cairo_region_create_in_error
    - CAIRO_REFERENCE_COUNT_INIT
    - pixman_region32_init_rect
    - ARRAY_LENGTH
    - _cairo_malloc_ab
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_region_t*
    signature: "cairo_region_t *cairo_region_create_rectangles (const cairo_rectangle_int_t\
      \ *rects,\t\t\t\tint count) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-region.c:288,1
    - Dst: CAIRO_REFERENCE_COUNT_INIT
      Src: /src/cairo/src/cairo-region.c:292,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-region.c:290,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-region.c:289,1
    - Dst: _cairo_region_create_in_error
      Src: /src/cairo/src/cairo-region.c:290,1
    - Dst: pixman_region32_init_rects
      Src: /src/cairo/src/cairo-region.c:295,1
    - Dst: free
      Src: /src/cairo/src/cairo-region.c:297,1
    - Dst: _cairo_region_create_in_error
      Src: /src/cairo/src/cairo-region.c:298,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-region.c:298,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 302
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 302
    functionName: _cairo_region_create_from_boxes
    functionSourceFile: /src/cairo/src/cairo-region.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - free
    - _cairo_region_create_in_error
    - CAIRO_REFERENCE_COUNT_INIT
    - pixman_region32_init_rects
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_region_t*
    signature: 'cairo_region_t *_cairo_region_create_from_boxes (const cairo_box_t
      *boxes, int count) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pixman_region32_rectangles
      Src: /src/cairo/src/cairo-region.c:475,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - region
    - nth
    - rectangle
    argTypes:
    - cairo_region_t*
    - int
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 481
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 481
    functionName: cairo_region_get_rectangle
    functionSourceFile: /src/cairo/src/cairo-region.c
    functionUses: []
    functionsReached:
    - pixman_region32_rectangles
    linkageType: ''
    returnType: void
    signature: "void cairo_region_get_rectangle (const cairo_region_t *region,\t\t\
      \t int nth,\t\t\t cairo_rectangle_int_t *rectangle) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_region_set_error
      Src: /src/cairo/src/cairo-region.c:735,1
    - Dst: pixman_region32_subtract
      Src: /src/cairo/src/cairo-region.c:741,1
    - Dst: pixman_region32_init
      Src: /src/cairo/src/cairo-region.c:737,1
    - Dst: pixman_region32_union
      Src: /src/cairo/src/cairo-region.c:742,1
    - Dst: pixman_region32_subtract
      Src: /src/cairo/src/cairo-region.c:740,1
    - Dst: _cairo_region_set_error
      Src: /src/cairo/src/cairo-region.c:743,1
    - Dst: pixman_region32_fini
      Src: /src/cairo/src/cairo-region.c:745,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - dst
    - other
    argTypes:
    - cairo_region_t*
    - cairo_region_t*
    constantsTouched: []
    func_position:
      end: 748
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 748
    functionName: cairo_region_xor
    functionSourceFile: /src/cairo/src/cairo-region.c
    functionUses: []
    functionsReached:
    - pixman_region32_init
    - pixman_region32_fini
    - pixman_region32_subtract
    - pixman_region32_union
    - _cairo_region_set_error
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t cairo_region_xor (cairo_region_t *dst, const cairo_region_t
      *other) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pixman_region32_contains_rectangle
      Src: /src/cairo/src/cairo-region.c:859,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 2
    argNames:
    - region
    - rectangle
    argTypes:
    - cairo_region_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 867
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 867
    functionName: cairo_region_contains_rectangle
    functionSourceFile: /src/cairo/src/cairo-region.c
    functionUses: []
    functionsReached:
    - pixman_region32_contains_rectangle
    linkageType: ''
    returnType: cairo_region_overlap_t
    signature: "cairo_region_overlap_t cairo_region_contains_rectangle (const cairo_region_t\
      \ *region,\t\t\t\t const cairo_rectangle_int_t *rectangle) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pixman_region32_rectangles
      Src: /src/cairo/src/cairo-region.c:312,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 313
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 313
    functionName: _cairo_region_get_boxes
    functionSourceFile: /src/cairo/src/cairo-region.c
    functionUses: []
    functionsReached:
    - pixman_region32_rectangles
    linkageType: ''
    returnType: cairo_box_t*
    signature: 'cairo_box_t *_cairo_region_get_boxes (const cairo_region_t *region,
      int *nbox) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-region.c:204,1
    - Dst: CAIRO_REFERENCE_COUNT_INIT
      Src: /src/cairo/src/cairo-region.c:209,1
    - Dst: pixman_region32_init
      Src: /src/cairo/src/cairo-region.c:211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 214
    functionName: cairo_region_create
    functionSourceFile: /src/cairo/src/cairo-region.c
    functionUses: []
    functionsReached:
    - CAIRO_REFERENCE_COUNT_INIT
    - pixman_region32_init
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_region_t*
    signature: 'cairo_region_t *cairo_region_create (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pixman_region32_n_rects
      Src: /src/cairo/src/cairo-region.c:449,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - region
    argTypes:
    - cairo_region_t*
    constantsTouched: []
    func_position:
      end: 450
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 450
    functionName: cairo_region_num_rectangles
    functionSourceFile: /src/cairo/src/cairo-region.c
    functionUses: []
    functionsReached:
    - pixman_region32_n_rects
    linkageType: ''
    returnType: int
    signature: 'int cairo_region_num_rectangles (const cairo_region_t *region) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pixman_region32_init_rect
      Src: /src/cairo/src/cairo-region.c:640,1
    - Dst: pixman_region32_fini
      Src: /src/cairo/src/cairo-region.c:647,1
    - Dst: _cairo_region_set_error
      Src: /src/cairo/src/cairo-region.c:645,1
    - Dst: pixman_region32_intersect
      Src: /src/cairo/src/cairo-region.c:644,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - dst
    - rectangle
    argTypes:
    - cairo_region_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 650
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 650
    functionName: cairo_region_intersect_rectangle
    functionSourceFile: /src/cairo/src/cairo-region.c
    functionUses: []
    functionsReached:
    - _cairo_region_set_error
    - pixman_region32_init_rect
    - pixman_region32_intersect
    - pixman_region32_fini
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t cairo_region_intersect_rectangle (cairo_region_t *dst,\t\
      \t\t\t const cairo_rectangle_int_t *rectangle) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VG
      Src: /src/cairo/src/cairo-region.c:169,1
    - Dst: CAIRO_REFERENCE_COUNT_INIT
      Src: /src/cairo/src/cairo-region.c:172,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/cairo/src/cairo-region.c:169,1
    - Dst: pixman_region32_init_rect
      Src: /src/cairo/src/cairo-region.c:173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - region
    - rectangle
    argTypes:
    - cairo_region_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 176
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 176
    functionName: _cairo_region_init_rectangle
    functionSourceFile: /src/cairo/src/cairo-region.c
    functionUses: []
    functionsReached:
    - VALGRIND_MAKE_MEM_UNDEFINED
    - pixman_region32_init_rect
    - VG
    - CAIRO_REFERENCE_COUNT_INIT
    linkageType: ''
    returnType: void
    signature: "void _cairo_region_init_rectangle (cairo_region_t *region,\t\t\t const\
      \ cairo_rectangle_int_t *rectangle) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pixman_region32_init_rect
      Src: /src/cairo/src/cairo-region.c:580,1
    - Dst: _cairo_region_set_error
      Src: /src/cairo/src/cairo-region.c:585,1
    - Dst: pixman_region32_fini
      Src: /src/cairo/src/cairo-region.c:587,1
    - Dst: pixman_region32_subtract
      Src: /src/cairo/src/cairo-region.c:584,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - dst
    - rectangle
    argTypes:
    - cairo_region_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 590
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 590
    functionName: cairo_region_subtract_rectangle
    functionSourceFile: /src/cairo/src/cairo-region.c
    functionUses: []
    functionsReached:
    - pixman_region32_fini
    - pixman_region32_init_rect
    - _cairo_region_set_error
    - pixman_region32_subtract
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t cairo_region_subtract_rectangle (cairo_region_t *dst,\t\
      \t\t\t const cairo_rectangle_int_t *rectangle) "
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-region.c:116,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 119
    functionName: _cairo_region_create_in_error
    functionSourceFile: /src/cairo/src/cairo-region.c
    functionUses: []
    functionsReached:
    - _cairo_error_throw
    linkageType: ''
    returnType: cairo_region_t*
    signature: 'cairo_region_t *_cairo_region_create_in_error (cairo_status_t status) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-region.c:181,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/cairo/src/cairo-region.c:183,1
    - Dst: CAIRO_REFERENCE_COUNT_HAS_REFERENCE
      Src: /src/cairo/src/cairo-region.c:181,1
    - Dst: pixman_region32_fini
      Src: /src/cairo/src/cairo-region.c:182,1
    - Dst: VG
      Src: /src/cairo/src/cairo-region.c:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - region
    argTypes:
    - cairo_region_t*
    constantsTouched: []
    func_position:
      end: 184
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 184
    functionName: _cairo_region_fini
    functionSourceFile: /src/cairo/src/cairo-region.c
    functionUses: []
    functionsReached:
    - pixman_region32_fini
    - VG
    - assert
    - VALGRIND_MAKE_MEM_UNDEFINED
    - CAIRO_REFERENCE_COUNT_HAS_REFERENCE
    linkageType: ''
    returnType: void
    signature: 'void _cairo_region_fini (cairo_region_t *region) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_region_set_error
      Src: /src/cairo/src/cairo-region.c:547,1
    - Dst: _cairo_region_set_error
      Src: /src/cairo/src/cairo-region.c:553,1
    - Dst: pixman_region32_subtract
      Src: /src/cairo/src/cairo-region.c:549,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - dst
    - other
    argTypes:
    - cairo_region_t*
    - cairo_region_t*
    constantsTouched: []
    func_position:
      end: 557
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 557
    functionName: cairo_region_subtract
    functionSourceFile: /src/cairo/src/cairo-region.c
    functionUses: []
    functionsReached:
    - _cairo_region_set_error
    - pixman_region32_subtract
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t cairo_region_subtract (cairo_region_t *dst, const cairo_region_t
      *other) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pixman_region32_init_rect
      Src: /src/cairo/src/cairo-region.c:773,1
    - Dst: pixman_region32_subtract
      Src: /src/cairo/src/cairo-region.c:779,1
    - Dst: pixman_region32_subtract
      Src: /src/cairo/src/cairo-region.c:780,1
    - Dst: pixman_region32_init
      Src: /src/cairo/src/cairo-region.c:776,1
    - Dst: pixman_region32_union
      Src: /src/cairo/src/cairo-region.c:781,1
    - Dst: _cairo_region_set_error
      Src: /src/cairo/src/cairo-region.c:782,1
    - Dst: pixman_region32_fini
      Src: /src/cairo/src/cairo-region.c:784,1
    - Dst: pixman_region32_fini
      Src: /src/cairo/src/cairo-region.c:785,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - dst
    - rectangle
    argTypes:
    - cairo_region_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 788
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 788
    functionName: cairo_region_xor_rectangle
    functionSourceFile: /src/cairo/src/cairo-region.c
    functionUses: []
    functionsReached:
    - pixman_region32_init
    - pixman_region32_init_rect
    - pixman_region32_fini
    - pixman_region32_subtract
    - pixman_region32_union
    - _cairo_region_set_error
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t cairo_region_xor_rectangle (cairo_region_t *dst,\t\t\
      \t const cairo_rectangle_int_t *rectangle) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pixman_region32_contains_point
      Src: /src/cairo/src/cairo-region.c:890,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - region
    - x
    - y
    argTypes:
    - cairo_region_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 891
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 891
    functionName: cairo_region_contains_point
    functionSourceFile: /src/cairo/src/cairo-region.c
    functionUses: []
    functionsReached:
    - pixman_region32_contains_point
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t cairo_region_contains_point (const cairo_region_t *region,\t\
      \t\t int x, int y) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pixman_region32_equal
      Src: /src/cairo/src/cairo-region.c:920,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_region_t*
    - cairo_region_t*
    constantsTouched: []
    func_position:
      end: 921
      start: 906
    functionDepth: 0
    functionLinenumber: 906
    functionLinenumberEnd: 921
    functionName: cairo_region_equal
    functionSourceFile: /src/cairo/src/cairo-region.c
    functionUses: []
    functionsReached:
    - pixman_region32_equal
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t cairo_region_equal (const cairo_region_t *a,\t\t const\
      \ cairo_region_t *b) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_REFERENCE_COUNT_IS_INVALID
      Src: /src/cairo/src/cairo-region.c:399,1
    - Dst: _cairo_reference_count_inc
      Src: /src/cairo/src/cairo-region.c:404,1
    - Dst: CAIRO_REFERENCE_COUNT_HAS_REFERENCE
      Src: /src/cairo/src/cairo-region.c:402,1
    - Dst: assert
      Src: /src/cairo/src/cairo-region.c:402,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 406
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 406
    functionName: cairo_region_reference
    functionSourceFile: /src/cairo/src/cairo-region.c
    functionUses: []
    functionsReached:
    - _cairo_reference_count_inc
    - CAIRO_REFERENCE_COUNT_HAS_REFERENCE
    - CAIRO_REFERENCE_COUNT_IS_INVALID
    - assert
    linkageType: ''
    returnType: cairo_region_t*
    signature: 'cairo_region_t *cairo_region_reference (cairo_region_t *region) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_region_set_error
      Src: /src/cairo/src/cairo-region.c:671,1
    - Dst: _cairo_region_set_error
      Src: /src/cairo/src/cairo-region.c:674,1
    - Dst: pixman_region32_union
      Src: /src/cairo/src/cairo-region.c:673,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - dst
    - other
    argTypes:
    - cairo_region_t*
    - cairo_region_t*
    constantsTouched: []
    func_position:
      end: 677
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 677
    functionName: cairo_region_union
    functionSourceFile: /src/cairo/src/cairo-region.c
    functionUses: []
    functionsReached:
    - _cairo_region_set_error
    - pixman_region32_union
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t cairo_region_union (cairo_region_t *dst,\t\t const\
      \ cairo_region_t *other) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pixman_region32_translate
      Src: /src/cairo/src/cairo-region.c:826,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - region
    - dx
    - dy
    argTypes:
    - cairo_region_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 827
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 827
    functionName: cairo_region_translate
    functionSourceFile: /src/cairo/src/cairo-region.c
    functionUses: []
    functionsReached:
    - pixman_region32_translate
    linkageType: ''
    returnType: void
    signature: "void cairo_region_translate (cairo_region_t *region,\t\t\tint dx,\
      \ int dy) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pixman_region32_not_empty
      Src: /src/cairo/src/cairo-region.c:806,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - region
    argTypes:
    - cairo_region_t*
    constantsTouched: []
    func_position:
      end: 807
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 807
    functionName: cairo_region_is_empty
    functionSourceFile: /src/cairo/src/cairo-region.c
    functionUses: []
    functionsReached:
    - pixman_region32_not_empty
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t cairo_region_is_empty (const cairo_region_t *region) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_status_set_error
      Src: /src/cairo/src/cairo-region.c:150,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-region.c:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - region
    - status
    argTypes:
    - cairo_region_t*
    - cairo_status_t
    constantsTouched: []
    func_position:
      end: 153
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 153
    functionName: _cairo_region_set_error
    functionSourceFile: /src/cairo/src/cairo-region.c
    functionUses: []
    functionsReached:
    - _cairo_status_set_error
    - _cairo_error
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_region_set_error (cairo_region_t *region,\t\
      \t\t cairo_status_t status) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cairo_region_create
      Src: /src/cairo/src/cairo-region.c:370,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-region.c:371,1
    - Dst: cairo_region_destroy
      Src: /src/cairo/src/cairo-region.c:377,1
    - Dst: pixman_region32_copy
      Src: /src/cairo/src/cairo-region.c:375,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 382
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 382
    functionName: cairo_region_copy
    functionSourceFile: /src/cairo/src/cairo-region.c
    functionUses: []
    functionsReached:
    - cairo_region_destroy
    - cairo_region_create
    - pixman_region32_copy
    - unlikely
    linkageType: ''
    returnType: cairo_region_t*
    signature: 'cairo_region_t *cairo_region_copy (const cairo_region_t *original) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - region
    argTypes:
    - cairo_region_t*
    constantsTouched: []
    func_position:
      end: 527
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 527
    functionName: cairo_region_status
    functionSourceFile: /src/cairo/src/cairo-region.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t cairo_region_status (const cairo_region_t *region) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_region_set_error
      Src: /src/cairo/src/cairo-region.c:610,1
    - Dst: _cairo_region_set_error
      Src: /src/cairo/src/cairo-region.c:613,1
    - Dst: pixman_region32_intersect
      Src: /src/cairo/src/cairo-region.c:612,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - dst
    - other
    argTypes:
    - cairo_region_t*
    - cairo_region_t*
    constantsTouched: []
    func_position:
      end: 616
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 616
    functionName: cairo_region_intersect
    functionSourceFile: /src/cairo/src/cairo-region.c
    functionUses: []
    functionsReached:
    - pixman_region32_intersect
    - _cairo_region_set_error
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t cairo_region_intersect (cairo_region_t *dst, const
      cairo_region_t *other) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VG
      Src: /src/cairo/src/cairo-region.c:158,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/cairo/src/cairo-region.c:158,1
    - Dst: pixman_region32_init
      Src: /src/cairo/src/cairo-region.c:162,1
    - Dst: CAIRO_REFERENCE_COUNT_INIT
      Src: /src/cairo/src/cairo-region.c:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - region
    argTypes:
    - cairo_region_t*
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: _cairo_region_init
    functionSourceFile: /src/cairo/src/cairo-region.c
    functionUses: []
    functionsReached:
    - VALGRIND_MAKE_MEM_UNDEFINED
    - VG
    - CAIRO_REFERENCE_COUNT_INIT
    - pixman_region32_init
    linkageType: ''
    returnType: void
    signature: 'void _cairo_region_init (cairo_region_t *region) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-region.c:334,1
    - Dst: CAIRO_REFERENCE_COUNT_INIT
      Src: /src/cairo/src/cairo-region.c:339,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-region.c:335,1
    - Dst: pixman_region32_init_rect
      Src: /src/cairo/src/cairo-region.c:341,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 346
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 346
    functionName: cairo_region_create_rectangle
    functionSourceFile: /src/cairo/src/cairo-region.c
    functionUses: []
    functionsReached:
    - pixman_region32_init_rect
    - unlikely
    - CAIRO_REFERENCE_COUNT_INIT
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_region_t*
    signature: 'cairo_region_t *cairo_region_create_rectangle (const cairo_rectangle_int_t
      *rectangle) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_REFERENCE_COUNT_IS_INVALID
      Src: /src/cairo/src/cairo-region.c:421,1
    - Dst: CAIRO_REFERENCE_COUNT_HAS_REFERENCE
      Src: /src/cairo/src/cairo-region.c:424,1
    - Dst: _cairo_region_fini
      Src: /src/cairo/src/cairo-region.c:429,1
    - Dst: assert
      Src: /src/cairo/src/cairo-region.c:424,1
    - Dst: _cairo_reference_count_dec_and_test
      Src: /src/cairo/src/cairo-region.c:426,1
    - Dst: free
      Src: /src/cairo/src/cairo-region.c:430,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - region
    argTypes:
    - cairo_region_t*
    constantsTouched: []
    func_position:
      end: 431
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 431
    functionName: cairo_region_destroy
    functionSourceFile: /src/cairo/src/cairo-region.c
    functionUses: []
    functionsReached:
    - free
    - CAIRO_REFERENCE_COUNT_IS_INVALID
    - assert
    - _cairo_reference_count_dec_and_test
    - CAIRO_REFERENCE_COUNT_HAS_REFERENCE
    - _cairo_region_fini
    linkageType: ''
    returnType: void
    signature: 'void cairo_region_destroy (cairo_region_t *region) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pixman_region32_extents
      Src: /src/cairo/src/cairo-region.c:504,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - region
    - extents
    argTypes:
    - cairo_region_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 510
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 510
    functionName: cairo_region_get_extents
    functionSourceFile: /src/cairo/src/cairo-region.c
    functionUses: []
    functionsReached:
    - pixman_region32_extents
    linkageType: ''
    returnType: void
    signature: "void cairo_region_get_extents (const cairo_region_t *region,\t\t\t\
      \ cairo_rectangle_int_t *extents) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pixman_region32_init_rect
      Src: /src/cairo/src/cairo-region.c:700,1
    - Dst: pixman_region32_fini
      Src: /src/cairo/src/cairo-region.c:707,1
    - Dst: pixman_region32_union
      Src: /src/cairo/src/cairo-region.c:704,1
    - Dst: _cairo_region_set_error
      Src: /src/cairo/src/cairo-region.c:705,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - dst
    - rectangle
    argTypes:
    - cairo_region_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 710
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 710
    functionName: cairo_region_union_rectangle
    functionSourceFile: /src/cairo/src/cairo-region.c
    functionUses: []
    functionsReached:
    - pixman_region32_init_rect
    - _cairo_region_set_error
    - pixman_region32_fini
    - pixman_region32_union
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t cairo_region_union_rectangle (cairo_region_t *dst,\t\
      \t\t const cairo_rectangle_int_t *rectangle) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-ft-font.c:515,1
    - Dst: free
      Src: /src/cairo/src/cairo-ft-font.c:520,1
    - Dst: CAIRO_MUTEX_FINI
      Src: /src/cairo/src/cairo-ft-font.c:522,1
    - Dst: free
      Src: /src/cairo/src/cairo-ft-font.c:517,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - unscaled
    argTypes:
    - cairo_ft_unscaled_font_t*
    constantsTouched: []
    func_position:
      end: 523
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 523
    functionName: _cairo_ft_unscaled_font_fini
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - free
    - CAIRO_MUTEX_FINI
    - assert
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_ft_unscaled_font_fini (cairo_ft_unscaled_font_t
      *unscaled) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FT_Palette_Data_Get
      Src: /src/cairo/src/cairo-ft-font.c:2483,1
    - Dst: FT_Palette_Select
      Src: /src/cairo/src/cairo-ft-font.c:2488,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 4
    argNames:
    - scaled_font
    - face
    - num_entries_ret
    - entries_ret
    argTypes:
    - cairo_ft_scaled_font_t*
    - FT_Face
    - unsigned int*
    - FT_Color**
    constantsTouched: []
    func_position:
      end: 2509
      start: 2472
    functionDepth: 0
    functionLinenumber: 2472
    functionLinenumberEnd: 2509
    functionName: _cairo_ft_scaled_glyph_set_palette
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - FT_Palette_Select
    - FT_Palette_Data_Get
    linkageType: ''
    returnType: void
    signature: "static void _cairo_ft_scaled_glyph_set_palette (cairo_ft_scaled_font_t\
      \ *scaled_font,\t\t\t\t FT_Face face,\t\t\t\t unsigned int *num_entries_ret,\t\
      \t\t\t FT_Color **entries_ret) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_scaled_glyph_index
      Src: /src/cairo/src/cairo-ft-font.c:2778,1
    - Dst: _cairo_render_colr_v1_glyph
      Src: /src/cairo/src/cairo-ft-font.c:2777,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:2855,1
    - Dst: cairo_surface_set_device_scale
      Src: /src/cairo/src/cairo-ft-font.c:2761,1
    - Dst: DOUBLE_FROM_26_6
      Src: /src/cairo/src/cairo-ft-font.c:2768,1
    - Dst: DOUBLE_FROM_26_6
      Src: /src/cairo/src/cairo-ft-font.c:2771,1
    - Dst: cairo_status
      Src: /src/cairo/src/cairo-ft-font.c:2786,1
    - Dst: _cairo_matrix_is_scale_0
      Src: /src/cairo/src/cairo-ft-font.c:2775,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/src/cairo-ft-font.c:2784,1
    - Dst: _cairo_matrix_compute_basis_scale_factors
      Src: /src/cairo/src/cairo-ft-font.c:2819,1
    - Dst: _cairo_box_to_doubles
      Src: /src/cairo/src/cairo-ft-font.c:2858,1
    - Dst: _cairo_lround
      Src: /src/cairo/src/cairo-ft-font.c:2870,1
    - Dst: cairo_recording_surface_create
      Src: /src/cairo/src/cairo-ft-font.c:2759,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/src/cairo-ft-font.c:2765,1
    - Dst: cairo_create
      Src: /src/cairo/src/cairo-ft-font.c:2763,1
    - Dst: DOUBLE_FROM_26_6
      Src: /src/cairo/src/cairo-ft-font.c:2769,1
    - Dst: _cairo_ft_scaled_glyph_set_palette
      Src: /src/cairo/src/cairo-ft-font.c:2773,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/src/cairo-ft-font.c:2837,1
    - Dst: _cairo_lround
      Src: /src/cairo/src/cairo-ft-font.c:2869,1
    - Dst: cairo_set_font_options
      Src: /src/cairo/src/cairo-ft-font.c:2766,1
    - Dst: DOUBLE_FROM_26_6
      Src: /src/cairo/src/cairo-ft-font.c:2770,1
    - Dst: _cairo_pattern_create_solid
      Src: /src/cairo/src/cairo-ft-font.c:2776,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-ft-font.c:2792,1
    - Dst: _cairo_scaled_glyph_set_recording_surface
      Src: /src/cairo/src/cairo-ft-font.c:2798,1
    - Dst: cairo_destroy
      Src: /src/cairo/src/cairo-ft-font.c:2789,1
    - Dst: _cairo_recording_surface_get_bbox
      Src: /src/cairo/src/cairo-ft-font.c:2852,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 86
    argCount: 5
    argNames:
    - scaled_font
    - scaled_glyph
    - face
    - foreground_color
    - extents
    argTypes:
    - cairo_ft_scaled_font_t*
    - cairo_scaled_glyph_t*
    - FT_Face
    - cairo_color_t*
    - cairo_text_extents_t*
    constantsTouched: []
    func_position:
      end: 2877
      start: 2743
    functionDepth: 0
    functionLinenumber: 2743
    functionLinenumberEnd: 2877
    functionName: _cairo_ft_scaled_glyph_init_record_colr_v1_glyph
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - _cairo_render_colr_v1_glyph
    - cairo_set_font_options
    - _cairo_ft_scaled_glyph_set_palette
    - _cairo_scaled_glyph_index
    - _cairo_scaled_glyph_set_recording_surface
    - _cairo_pattern_create_solid
    - cairo_recording_surface_create
    - _cairo_lround
    - unlikely
    - cairo_create
    - cairo_status
    - cairo_matrix_scale
    - _cairo_recording_surface_get_bbox
    - cairo_surface_set_device_scale
    - cairo_destroy
    - cairo_pattern_destroy
    - cairo_set_font_size
    - _cairo_matrix_is_scale_0
    - cairo_surface_destroy
    - _cairo_box_to_doubles
    - DOUBLE_FROM_26_6
    - _cairo_matrix_compute_basis_scale_factors
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_ft_scaled_glyph_init_record_colr_v1_glyph\
      \ (cairo_ft_scaled_font_t *scaled_font,\t\t\t\t\t\t cairo_scaled_glyph_t *scaled_glyph,\t\
      \t\t\t\t\t FT_Face face,\t\t\t\t\t\t const cairo_color_t *foreground_color,\t\
      \t\t\t\t\t cairo_text_extents_t *extents) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - font_face
    - synth_flags
    argTypes:
    - cairo_font_face_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 4525
      start: 4514
    functionDepth: 0
    functionLinenumber: 4514
    functionLinenumberEnd: 4525
    functionName: cairo_ft_font_face_set_synthesize
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void cairo_ft_font_face_set_synthesize (cairo_font_face_t *font_face,\t\
      \t\t\t unsigned int synth_flags) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cairo_font_options_equal
      Src: /src/cairo/src/cairo-ft-font.c:4075,1
    - Dst: cairo_font_face_reference
      Src: /src/cairo/src/cairo-ft-font.c:4091,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-ft-font.c:4096,1
    - Dst: _cairo_unscaled_font_reference
      Src: /src/cairo/src/cairo-ft-font.c:4088,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:4097,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-ft-font.c:4098,1
    - Dst: _cairo_unscaled_font_reference
      Src: /src/cairo/src/cairo-ft-font.c:4103,1
    - Dst: _cairo_ft_options_init_copy
      Src: /src/cairo/src/cairo-ft-font.c:4105,1
    - Dst: assert
      Src: /src/cairo/src/cairo-ft-font.c:4110,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/src/cairo-ft-font.c:4111,1
    - Dst: _cairo_font_face_init
      Src: /src/cairo/src/cairo-ft-font.c:4122,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4125
      start: 4062
    functionDepth: 0
    functionLinenumber: 4062
    functionLinenumberEnd: 4125
    functionName: _cairo_ft_font_face_create
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - _cairo_font_face_init
    - _cairo_ft_options_init_copy
    - cairo_font_face_destroy
    - _cairo_unscaled_font_reference
    - cairo_font_options_equal
    - assert
    - cairo_font_face_reference
    - _cairo_error_throw
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_font_face_t*
    signature: "static cairo_font_face_t *_cairo_ft_font_face_create (cairo_ft_unscaled_font_t\
      \ *unscaled,\t\t\t cairo_ft_options_t\t *ft_options) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cairo_recording_surface_create
      Src: /src/cairo/src/cairo-ft-font.c:2900,1
    - Dst: cairo_set_matrix
      Src: /src/cairo/src/cairo-ft-font.c:2908,1
    - Dst: _cairo_matrix_is_scale_0
      Src: /src/cairo/src/cairo-ft-font.c:2904,1
    - Dst: cairo_create
      Src: /src/cairo/src/cairo-ft-font.c:2902,1
    - Dst: _cairo_ft_scaled_glyph_set_palette
      Src: /src/cairo/src/cairo-ft-font.c:2919,1
    - Dst: _cairo_render_svg_glyph
      Src: /src/cairo/src/cairo-ft-font.c:2923,1
    - Dst: free
      Src: /src/cairo/src/cairo-ft-font.c:2939,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-ft-font.c:2942,1
    - Dst: _cairo_scaled_glyph_set_recording_surface
      Src: /src/cairo/src/cairo-ft-font.c:2948,1
    - Dst: _cairo_matrix_compute_basis_scale_factors
      Src: /src/cairo/src/cairo-ft-font.c:2969,1
    - Dst: _cairo_lround
      Src: /src/cairo/src/cairo-ft-font.c:3020,1
    - Dst: DOUBLE_FROM_26_6
      Src: /src/cairo/src/cairo-ft-font.c:2914,1
    - Dst: DOUBLE_FROM_26_6
      Src: /src/cairo/src/cairo-ft-font.c:2917,1
    - Dst: _cairo_matrix_is_scale_0
      Src: /src/cairo/src/cairo-ft-font.c:2921,1
    - Dst: _cairo_scaled_glyph_index
      Src: /src/cairo/src/cairo-ft-font.c:2926,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/src/cairo-ft-font.c:2933,1
    - Dst: cairo_status
      Src: /src/cairo/src/cairo-ft-font.c:2935,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/src/cairo-ft-font.c:2987,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:3005,1
    - Dst: _cairo_lround
      Src: /src/cairo/src/cairo-ft-font.c:3019,1
    - Dst: _cairo_recording_surface_get_bbox
      Src: /src/cairo/src/cairo-ft-font.c:3002,1
    - Dst: _cairo_box_to_doubles
      Src: /src/cairo/src/cairo-ft-font.c:3008,1
    - Dst: _cairo_strndup
      Src: /src/cairo/src/cairo-ft-font.c:2897,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/src/cairo-ft-font.c:2911,1
    - Dst: DOUBLE_FROM_26_6
      Src: /src/cairo/src/cairo-ft-font.c:2915,1
    - Dst: cairo_set_font_options
      Src: /src/cairo/src/cairo-ft-font.c:2912,1
    - Dst: DOUBLE_FROM_26_6
      Src: /src/cairo/src/cairo-ft-font.c:2916,1
    - Dst: cairo_destroy
      Src: /src/cairo/src/cairo-ft-font.c:2938,1
    - Dst: _cairo_pattern_create_solid
      Src: /src/cairo/src/cairo-ft-font.c:2922,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 95
    argCount: 5
    argNames:
    - scaled_font
    - scaled_glyph
    - face
    - foreground_color
    - extents
    argTypes:
    - cairo_ft_scaled_font_t*
    - cairo_scaled_glyph_t*
    - FT_Face
    - cairo_color_t*
    - cairo_text_extents_t*
    constantsTouched: []
    func_position:
      end: 3027
      start: 2879
    functionDepth: 0
    functionLinenumber: 2879
    functionLinenumberEnd: 3027
    functionName: _cairo_ft_scaled_glyph_init_record_svg_glyph
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - cairo_set_font_options
    - _cairo_ft_scaled_glyph_set_palette
    - _cairo_scaled_glyph_index
    - _cairo_scaled_glyph_set_recording_surface
    - _cairo_pattern_create_solid
    - cairo_recording_surface_create
    - _cairo_lround
    - _cairo_strndup
    - unlikely
    - cairo_create
    - cairo_status
    - cairo_set_matrix
    - _cairo_render_svg_glyph
    - cairo_matrix_scale
    - _cairo_recording_surface_get_bbox
    - cairo_destroy
    - cairo_pattern_destroy
    - free
    - cairo_set_font_size
    - _cairo_matrix_is_scale_0
    - cairo_surface_destroy
    - _cairo_box_to_doubles
    - DOUBLE_FROM_26_6
    - _cairo_matrix_compute_basis_scale_factors
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_ft_scaled_glyph_init_record_svg_glyph\
      \ (cairo_ft_scaled_font_t *scaled_font,\t\t\t\t\t cairo_scaled_glyph_t *scaled_glyph,\t\
      \t\t\t\t FT_Face face,\t\t\t\t\t const cairo_color_t *foreground_color,\t\t\t\
      \t\t cairo_text_extents_t *extents) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_unscaled_font_init
      Src: /src/cairo/src/cairo-ft-font.c:458,1
    - Dst: FT_Get_MM_Var
      Src: /src/cairo/src/cairo-ft-font.c:471,1
    - Dst: _cairo_ft_unscaled_font_init_key
      Src: /src/cairo/src/cairo-ft-font.c:466,1
    - Dst: FT_HAS_COLOR
      Src: /src/cairo/src/cairo-ft-font.c:469,1
    - Dst: _cairo_calloc_ab
      Src: /src/cairo/src/cairo-ft-font.c:472,1
    - Dst: FT_Get_Var_Design_Coordinates
      Src: /src/cairo/src/cairo-ft-font.c:474,1
    - Dst: FT_Done_MM_Var
      Src: /src/cairo/src/cairo-ft-font.c:475,1
    - Dst: strdup
      Src: /src/cairo/src/cairo-ft-font.c:483,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:484,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ft-font.c:485,1
    - Dst: CAIRO_MUTEX_INIT
      Src: /src/cairo/src/cairo-ft-font.c:493,1
    - Dst: _cairo_ft_unscaled_font_init_key
      Src: /src/cairo/src/cairo-ft-font.c:487,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 5
    argNames:
    - unscaled
    - from_face
    - filename
    - id
    - face
    argTypes:
    - cairo_ft_unscaled_font_t*
    - cairo_bool_t
    - char*
    - int
    - FT_Face
    constantsTouched: []
    func_position:
      end: 499
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 499
    functionName: _cairo_ft_unscaled_font_init
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - _cairo_calloc_ab
    - _cairo_ft_unscaled_font_init_key
    - FT_HAS_COLOR
    - _cairo_error
    - FT_Done_MM_Var
    - strdup
    - CAIRO_MUTEX_INIT
    - FT_Get_Var_Design_Coordinates
    - FT_Get_MM_Var
    - _cairo_unscaled_font_init
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_ft_unscaled_font_init (cairo_ft_unscaled_font_t\
      \ *unscaled,\t\t\t cairo_bool_t from_face,\t\t\t const char\t *filename,\t\t\
      \t int\t\t\tid,\t\t\t FT_Face\t\t\tface) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_ft_unscaled_font_create_from_face
      Src: /src/cairo/src/cairo-ft-font.c:4489,1
    - Dst: _cairo_ft_font_face_create
      Src: /src/cairo/src/cairo-ft-font.c:4497,1
    - Dst: _cairo_unscaled_font_destroy
      Src: /src/cairo/src/cairo-ft-font.c:4498,1
    - Dst: _cairo_font_options_init_default
      Src: /src/cairo/src/cairo-ft-font.c:4495,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:4490,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4501
      start: 4480
    functionDepth: 0
    functionLinenumber: 4480
    functionLinenumberEnd: 4501
    functionName: cairo_ft_font_face_create_for_ft_face
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - _cairo_unscaled_font_destroy
    - _cairo_font_options_init_default
    - _cairo_ft_unscaled_font_create_from_face
    - _cairo_ft_font_face_create
    - unlikely
    linkageType: ''
    returnType: cairo_font_face_t*
    signature: "cairo_font_face_t *cairo_ft_font_face_create_for_ft_face (FT_Face\
      \ face,\t\t\t\t int load_flags) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FcPatternGetFTFace
      Src: /src/cairo/src/cairo-ft-font.c:619,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ft-font.c:627,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ft-font.c:623,1
    - Dst: access
      Src: /src/cairo/src/cairo-ft-font.c:629,1
    - Dst: FcPatternGetString
      Src: /src/cairo/src/cairo-ft-font.c:625,1
    - Dst: FcPatternGetInteger
      Src: /src/cairo/src/cairo-ft-font.c:631,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ft-font.c:633,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ft-font.c:637,1
    - Dst: _cairo_ft_unscaled_font_create_internal
      Src: /src/cairo/src/cairo-ft-font.c:645,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 2
    argNames:
    - pattern
    - out
    argTypes:
    - FcPattern*
    - cairo_ft_unscaled_font_t**
    constantsTouched: []
    func_position:
      end: 648
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 648
    functionName: _cairo_ft_unscaled_font_create_for_pattern
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - _cairo_ft_unscaled_font_create_internal
    - _cairo_error
    - FcPatternGetFTFace
    - access
    - FcPatternGetString
    - FcPatternGetInteger
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_ft_unscaled_font_create_for_pattern (FcPattern\
      \ *pattern,\t\t\t\t\t cairo_ft_unscaled_font_t **out) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - font_face
    argTypes:
    - cairo_font_face_t*
    constantsTouched: []
    func_position:
      end: 4569
      start: 4559
    functionDepth: 0
    functionLinenumber: 4559
    functionLinenumberEnd: 4569
    functionName: cairo_ft_font_face_get_synthesize
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: 'unsigned int cairo_ft_font_face_get_synthesize (cairo_font_face_t
      *font_face) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_Vector_Transform
      Src: /src/cairo/src/cairo-ft-font.c:2281,1
    - Dst: FT_Outline_Translate
      Src: /src/cairo/src/cairo-ft-font.c:2282,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - abstract_font
    - glyph
    argTypes:
    - void*
    - FT_GlyphSlot
    constantsTouched: []
    func_position:
      end: 2287
      start: 2270
    functionDepth: 0
    functionLinenumber: 2270
    functionLinenumberEnd: 2287
    functionName: _cairo_ft_scaled_glyph_vertical_layout_bearing_fix
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - FT_Vector_Transform
    - FT_Outline_Translate
    linkageType: ''
    returnType: void
    signature: "static void _cairo_ft_scaled_glyph_vertical_layout_bearing_fix (void\
      \ *abstract_font,\t\t\t\t\t\t FT_GlyphSlot glyph) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_Get_Color_Glyph_Layer
      Src: /src/cairo/src/cairo-ft-font.c:3173,1
    - Dst: _cairo_scaled_glyph_index
      Src: /src/cairo/src/cairo-ft-font.c:3174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - scaled_font
    - scaled_glyph
    - face
    argTypes:
    - cairo_ft_scaled_font_t*
    - cairo_scaled_glyph_t*
    - FT_Face
    constantsTouched: []
    func_position:
      end: 3183
      start: 3163
    functionDepth: 0
    functionLinenumber: 3163
    functionLinenumberEnd: 3183
    functionName: _cairo_ft_scaled_glyph_is_colr_v0
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - FT_Get_Color_Glyph_Layer
    - _cairo_scaled_glyph_index
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _cairo_ft_scaled_glyph_is_colr_v0 (cairo_ft_scaled_font_t\
      \ *scaled_font,\t\t\t\t cairo_scaled_glyph_t *scaled_glyph,\t\t\t\t FT_Face\
      \ face) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_Get_Color_Glyph_Paint
      Src: /src/cairo/src/cairo-ft-font.c:3193,1
    - Dst: _cairo_scaled_glyph_index
      Src: /src/cairo/src/cairo-ft-font.c:3194,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - scaled_font
    - scaled_glyph
    - face
    argTypes:
    - cairo_ft_scaled_font_t*
    - cairo_scaled_glyph_t*
    - FT_Face
    constantsTouched: []
    func_position:
      end: 3202
      start: 3185
    functionDepth: 0
    functionLinenumber: 3185
    functionLinenumberEnd: 3202
    functionName: _cairo_ft_scaled_glyph_is_colr_v1
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - _cairo_scaled_glyph_index
    - FT_Get_Color_Glyph_Paint
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _cairo_ft_scaled_glyph_is_colr_v1 (cairo_ft_scaled_font_t\
      \ *scaled_font,\t\t\t\t cairo_scaled_glyph_t *scaled_glyph,\t\t\t\t FT_Face\
      \ face) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DOUBLE_TO_16_16
      Src: /src/cairo/src/cairo-ft-font.c:2235,1
    - Dst: DOUBLE_TO_16_16
      Src: /src/cairo/src/cairo-ft-font.c:2236,1
    - Dst: _cairo_path_fixed_create
      Src: /src/cairo/src/cairo-ft-font.c:2243,1
    - Dst: FT_Outline_Transform
      Src: /src/cairo/src/cairo-ft-font.c:2250,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ft-font.c:2245,1
    - Dst: FT_Outline_Decompose
      Src: /src/cairo/src/cairo-ft-font.c:2251,1
    - Dst: _cairo_path_fixed_destroy
      Src: /src/cairo/src/cairo-ft-font.c:2252,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ft-font.c:2253,1
    - Dst: _cairo_path_fixed_close_path
      Src: /src/cairo/src/cairo-ft-font.c:2256,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:2257,1
    - Dst: _cairo_path_fixed_destroy
      Src: /src/cairo/src/cairo-ft-font.c:2258,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - face
    - pathp
    argTypes:
    - FT_Face
    - cairo_path_fixed_t**
    constantsTouched: []
    func_position:
      end: 2265
      start: 2222
    functionDepth: 0
    functionLinenumber: 2222
    functionLinenumberEnd: 2265
    functionName: _cairo_ft_face_decompose_glyph_outline
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - DOUBLE_TO_16_16
    - _cairo_path_fixed_destroy
    - FT_Outline_Decompose
    - _cairo_path_fixed_close_path
    - FT_Outline_Transform
    - _cairo_path_fixed_create
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_ft_face_decompose_glyph_outline (FT_Face\t\t\
      \ face,\t\t\t\t\tcairo_path_fixed_t **pathp) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_Get_Color_Glyph_Layer
      Src: /src/cairo/src/cairo-ft-font.c:2526,1
    - Dst: _cairo_scaled_glyph_index
      Src: /src/cairo/src/cairo-ft-font.c:2527,1
    - Dst: FT_Palette_Set_Foreground_Color
      Src: /src/cairo/src/cairo-ft-font.c:2542,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - scaled_font
    - scaled_glyph
    - face
    - foreground_color
    argTypes:
    - cairo_ft_scaled_font_t*
    - cairo_scaled_glyph_t*
    - FT_Face
    - cairo_color_t*
    constantsTouched: []
    func_position:
      end: 2546
      start: 2512
    functionDepth: 0
    functionLinenumber: 2512
    functionLinenumberEnd: 2546
    functionName: _cairo_ft_scaled_glyph_set_foreground_color
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - FT_Palette_Set_Foreground_Color
    - FT_Get_Color_Glyph_Layer
    - _cairo_scaled_glyph_index
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _cairo_ft_scaled_glyph_set_foreground_color (cairo_ft_scaled_font_t\
      \ *scaled_font,\t\t\t\t\t cairo_scaled_glyph_t *scaled_glyph,\t\t\t\t\t FT_Face\
      \ face,\t\t\t\t\t const cairo_color_t *foreground_color) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - font_face
    - synth_flags
    argTypes:
    - cairo_font_face_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 4547
      start: 4536
    functionDepth: 0
    functionLinenumber: 4536
    functionLinenumberEnd: 4547
    functionName: cairo_ft_font_face_unset_synthesize
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void cairo_ft_font_face_unset_synthesize (cairo_font_face_t *font_face,\t\
      \t\t\t unsigned int synth_flags) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_ft_unscaled_font_map_lock
      Src: /src/cairo/src/cairo-ft-font.c:664,1
    - Dst: _cairo_hash_table_remove
      Src: /src/cairo/src/cairo-ft-font.c:674,1
    - Dst: _cairo_reference_count_dec_and_test
      Src: /src/cairo/src/cairo-ft-font.c:668,1
    - Dst: assert
      Src: /src/cairo/src/cairo-ft-font.c:666,1
    - Dst: _cairo_ft_unscaled_font_map_unlock
      Src: /src/cairo/src/cairo-ft-font.c:670,1
    - Dst: assert
      Src: /src/cairo/src/cairo-ft-font.c:682,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/src/cairo-ft-font.c:683,1
    - Dst: _font_map_release_face_lock_held
      Src: /src/cairo/src/cairo-ft-font.c:686,1
    - Dst: _cairo_ft_unscaled_font_map_unlock
      Src: /src/cairo/src/cairo-ft-font.c:690,1
    - Dst: _cairo_ft_unscaled_font_fini
      Src: /src/cairo/src/cairo-ft-font.c:692,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - abstract_font
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 694
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 694
    functionName: _cairo_ft_unscaled_font_destroy
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - cairo_font_face_destroy
    - _cairo_ft_unscaled_font_map_unlock
    - assert
    - _cairo_reference_count_dec_and_test
    - _font_map_release_face_lock_held
    - _cairo_ft_unscaled_font_fini
    - _cairo_hash_table_remove
    - _cairo_ft_unscaled_font_map_lock
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_ft_unscaled_font_destroy (void *abstract_font) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_integer_ceil
      Src: /src/cairo/src/cairo-ft-font.c:3039,1
    - Dst: _cairo_fixed_integer_ceil
      Src: /src/cairo/src/cairo-ft-font.c:3041,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/src/cairo-ft-font.c:3044,1
    - Dst: _cairo_fixed_integer_floor
      Src: /src/cairo/src/cairo-ft-font.c:3040,1
    - Dst: _cairo_fixed_integer_floor
      Src: /src/cairo/src/cairo-ft-font.c:3042,1
    - Dst: cairo_surface_set_device_offset
      Src: /src/cairo/src/cairo-ft-font.c:3046,1
    - Dst: _cairo_fixed_integer_floor
      Src: /src/cairo/src/cairo-ft-font.c:3047,1
    - Dst: _cairo_fixed_integer_floor
      Src: /src/cairo/src/cairo-ft-font.c:3048,1
    - Dst: _cairo_recording_surface_replay_with_foreground_color
      Src: /src/cairo/src/cairo-ft-font.c:3050,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:3054,1
    - Dst: _cairo_scaled_glyph_set_color_surface
      Src: /src/cairo/src/cairo-ft-font.c:3059,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-ft-font.c:3066,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-ft-font.c:3055,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - scaled_font
    - scaled_glyph
    - foreground_color
    argTypes:
    - cairo_ft_scaled_font_t*
    - cairo_scaled_glyph_t*
    - cairo_color_t*
    constantsTouched: []
    func_position:
      end: 3069
      start: 3029
    functionDepth: 0
    functionLinenumber: 3029
    functionLinenumberEnd: 3069
    functionName: _cairo_ft_scaled_glyph_init_surface_for_recording_surface
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - unlikely
    - cairo_surface_destroy
    - _cairo_fixed_integer_ceil
    - cairo_image_surface_create
    - cairo_surface_set_device_offset
    - _cairo_scaled_glyph_set_color_surface
    - _cairo_recording_surface_replay_with_foreground_color
    - _cairo_fixed_integer_floor
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_ft_scaled_glyph_init_surface_for_recording_surface\
      \ (cairo_ft_scaled_font_t *scaled_font,\t\t\t\t\t\t\t cairo_scaled_glyph_t *scaled_glyph,\t\
      \t\t\t\t\t\t const cairo_color_t *foreground_color) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_ft_unscaled_font_create_internal
      Src: /src/cairo/src/cairo-ft-font.c:655,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - face
    - out
    argTypes:
    - FT_Face
    - cairo_ft_unscaled_font_t**
    constantsTouched: []
    func_position:
      end: 656
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 656
    functionName: _cairo_ft_unscaled_font_create_from_face
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - _cairo_ft_unscaled_font_create_internal
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_ft_unscaled_font_create_from_face (FT_Face\
      \ face,\t\t\t\t\t cairo_ft_unscaled_font_t **out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - entry
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 702
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 702
    functionName: _has_unlocked_face
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _has_unlocked_face (const void *entry) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SCALE
      Src: /src/cairo/src/cairo-ft-font.c:3116,1
    - Dst: SCALE
      Src: /src/cairo/src/cairo-ft-font.c:3131,1
    - Dst: DOUBLE_FROM_26_6
      Src: /src/cairo/src/cairo-ft-font.c:3132,1
    - Dst: DOUBLE_FROM_26_6
      Src: /src/cairo/src/cairo-ft-font.c:3142,1
    - Dst: SCALE
      Src: /src/cairo/src/cairo-ft-font.c:3146,1
    - Dst: DOUBLE_FROM_26_6
      Src: /src/cairo/src/cairo-ft-font.c:3152,1
    - Dst: DOUBLE_FROM_26_6
      Src: /src/cairo/src/cairo-ft-font.c:3156,1
    - Dst: SCALE
      Src: /src/cairo/src/cairo-ft-font.c:3158,1
    - Dst: SCALE
      Src: /src/cairo/src/cairo-ft-font.c:3151,1
    - Dst: SCALE
      Src: /src/cairo/src/cairo-ft-font.c:3112,1
    - Dst: SCALE
      Src: /src/cairo/src/cairo-ft-font.c:3115,1
    - Dst: DOUBLE_FROM_26_6
      Src: /src/cairo/src/cairo-ft-font.c:3116,1
    - Dst: SCALE
      Src: /src/cairo/src/cairo-ft-font.c:3118,1
    - Dst: SCALE
      Src: /src/cairo/src/cairo-ft-font.c:3129,1
    - Dst: DOUBLE_FROM_26_6
      Src: /src/cairo/src/cairo-ft-font.c:3131,1
    - Dst: SCALE
      Src: /src/cairo/src/cairo-ft-font.c:3138,1
    - Dst: DOUBLE_FROM_26_6
      Src: /src/cairo/src/cairo-ft-font.c:3146,1
    - Dst: DOUBLE_FROM_16_16
      Src: /src/cairo/src/cairo-ft-font.c:3148,1
    - Dst: DOUBLE_FROM_16_16
      Src: /src/cairo/src/cairo-ft-font.c:3158,1
    - Dst: SCALE
      Src: /src/cairo/src/cairo-ft-font.c:3156,1
    - Dst: SCALE
      Src: /src/cairo/src/cairo-ft-font.c:3113,1
    - Dst: DOUBLE_FROM_26_6
      Src: /src/cairo/src/cairo-ft-font.c:3112,1
    - Dst: DOUBLE_FROM_26_6
      Src: /src/cairo/src/cairo-ft-font.c:3115,1
    - Dst: DOUBLE_FROM_26_6
      Src: /src/cairo/src/cairo-ft-font.c:3118,1
    - Dst: SCALE
      Src: /src/cairo/src/cairo-ft-font.c:3135,1
    - Dst: SCALE
      Src: /src/cairo/src/cairo-ft-font.c:3128,1
    - Dst: DOUBLE_FROM_26_6
      Src: /src/cairo/src/cairo-ft-font.c:3129,1
    - Dst: DOUBLE_FROM_26_6
      Src: /src/cairo/src/cairo-ft-font.c:3138,1
    - Dst: SCALE
      Src: /src/cairo/src/cairo-ft-font.c:3139,1
    - Dst: SCALE
      Src: /src/cairo/src/cairo-ft-font.c:3143,1
    - Dst: DOUBLE_FROM_26_6
      Src: /src/cairo/src/cairo-ft-font.c:3113,1
    - Dst: DOUBLE_FROM_26_6
      Src: /src/cairo/src/cairo-ft-font.c:3128,1
    - Dst: SCALE
      Src: /src/cairo/src/cairo-ft-font.c:3132,1
    - Dst: DOUBLE_FROM_26_6
      Src: /src/cairo/src/cairo-ft-font.c:3135,1
    - Dst: DOUBLE_FROM_26_6
      Src: /src/cairo/src/cairo-ft-font.c:3139,1
    - Dst: SCALE
      Src: /src/cairo/src/cairo-ft-font.c:3142,1
    - Dst: DOUBLE_FROM_26_6
      Src: /src/cairo/src/cairo-ft-font.c:3143,1
    - Dst: SCALE
      Src: /src/cairo/src/cairo-ft-font.c:3148,1
    - Dst: DOUBLE_FROM_26_6
      Src: /src/cairo/src/cairo-ft-font.c:3151,1
    - Dst: SCALE
      Src: /src/cairo/src/cairo-ft-font.c:3152,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 118
    argCount: 5
    argNames:
    - scaled_font
    - face
    - vertical_layout
    - load_flags
    - fs_metrics
    argTypes:
    - cairo_ft_scaled_font_t*
    - FT_Face
    - cairo_bool_t
    - int
    - cairo_text_extents_t*
    constantsTouched: []
    func_position:
      end: 3161
      start: 3071
    functionDepth: 0
    functionLinenumber: 3071
    functionLinenumberEnd: 3161
    functionName: _cairo_ft_scaled_glyph_get_metrics
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - SCALE
    - DOUBLE_FROM_16_16
    - DOUBLE_FROM_26_6
    linkageType: ''
    returnType: void
    signature: "static void _cairo_ft_scaled_glyph_get_metrics (cairo_ft_scaled_font_t\
      \ *scaled_font,\t\t\t\t FT_Face face,\t\t\t\t cairo_bool_t vertical_layout,\t\
      \t\t\t int load_flags,\t\t\t\t cairo_text_extents_t *fs_metrics) "
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - error
    argTypes:
    - FT_Error
    constantsTouched: []
    func_position:
      end: 265
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 265
    functionName: _cairo_ft_to_cairo_error
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_ft_to_cairo_error (FT_Error error) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: FcPatternCreate
      Src: /src/cairo/src/cairo-ft-font.c:3834,1
    - Dst: FcPatternAddString
      Src: /src/cairo/src/cairo-ft-font.c:3840,1
    - Dst: FcPatternAddInteger
      Src: /src/cairo/src/cairo-ft-font.c:3861,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-ft-font.c:3843,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-ft-font.c:3836,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-ft-font.c:3862,1
    - Dst: FcPatternAddInteger
      Src: /src/cairo/src/cairo-ft-font.c:3877,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-ft-font.c:3878,1
    - Dst: _cairo_ft_font_face_create_for_pattern
      Src: /src/cairo/src/cairo-ft-font.c:3882,1
    - Dst: FcPatternDestroy
      Src: /src/cairo/src/cairo-ft-font.c:3885,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 29
    argCount: 2
    argNames:
    - toy_face
    - font_face_out
    argTypes:
    - cairo_toy_font_face_t*
    - cairo_font_face_t**
    constantsTouched: []
    func_position:
      end: 3889
      start: 3825
    functionDepth: 0
    functionLinenumber: 3825
    functionLinenumberEnd: 3889
    functionName: _cairo_ft_font_face_create_for_toy
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - FcPatternAddInteger
    - _cairo_ft_font_face_create_for_pattern
    - FcPatternCreate
    - FcPatternDestroy
    - FcPatternAddString
    - _cairo_error_throw
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_ft_font_face_create_for_toy (cairo_toy_font_face_t\
      \ *toy_face,\t\t\t\t cairo_font_face_t **font_face_out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_font_options_init_copy
      Src: /src/cairo/src/cairo-ft-font.c:211,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - options
    - other
    argTypes:
    - cairo_ft_options_t*
    - cairo_ft_options_t*
    constantsTouched: []
    func_position:
      end: 214
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 214
    functionName: _cairo_ft_options_init_copy
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - _cairo_font_options_init_copy
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_ft_options_init_copy (cairo_ft_options_t *options,
      const cairo_ft_options_t *other) '
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_font_options_init_default
      Src: /src/cairo/src/cairo-ft-font.c:1774,1
    - Dst: FcPatternGetBool
      Src: /src/cairo/src/cairo-ft-font.c:1779,1
    - Dst: FcPatternGetBool
      Src: /src/cairo/src/cairo-ft-font.c:1793,1
    - Dst: FcPatternGetInteger
      Src: /src/cairo/src/cairo-ft-font.c:1797,1
    - Dst: FcPatternGetBool
      Src: /src/cairo/src/cairo-ft-font.c:1784,1
    - Dst: FcPatternGetInteger
      Src: /src/cairo/src/cairo-ft-font.c:1826,1
    - Dst: FcPatternGetInteger
      Src: /src/cairo/src/cairo-ft-font.c:1845,1
    - Dst: FcPatternGetBool
      Src: /src/cairo/src/cairo-ft-font.c:1880,1
    - Dst: FcPatternGetBool
      Src: /src/cairo/src/cairo-ft-font.c:1887,1
    - Dst: FcPatternGetBool
      Src: /src/cairo/src/cairo-ft-font.c:1894,1
    - Dst: FcPatternGetString
      Src: /src/cairo/src/cairo-ft-font.c:1901,1
    - Dst: strdup
      Src: /src/cairo/src/cairo-ft-font.c:1902,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 69
    argCount: 2
    argNames:
    - pattern
    - ret
    argTypes:
    - FcPattern*
    - cairo_ft_options_t*
    constantsTouched: []
    func_position:
      end: 1906
      start: 1765
    functionDepth: 0
    functionLinenumber: 1765
    functionLinenumberEnd: 1906
    functionName: _get_pattern_ft_options
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - FcPatternGetBool
    - _cairo_font_options_init_default
    - strdup
    - FcPatternGetString
    - FcPatternGetInteger
    linkageType: ''
    returnType: void
    signature: 'static void _get_pattern_ft_options (FcPattern *pattern, cairo_ft_options_t
      *ret) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: FT_LOAD_TARGET_
      Src: /src/cairo/src/cairo-ft-font.c:1917,1
    - Dst: FT_LOAD_TARGET_MODE
      Src: /src/cairo/src/cairo-ft-font.c:1917,1
    - Dst: malloc
      Src: /src/cairo/src/cairo-ft-font.c:1986,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-ft-font.c:1986,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-ft-font.c:1986,1
    - Dst: strcat
      Src: /src/cairo/src/cairo-ft-font.c:1988,1
    - Dst: strcat
      Src: /src/cairo/src/cairo-ft-font.c:1989,1
    - Dst: strcat
      Src: /src/cairo/src/cairo-ft-font.c:1990,1
    - Dst: free
      Src: /src/cairo/src/cairo-ft-font.c:1991,1
    - Dst: strdup
      Src: /src/cairo/src/cairo-ft-font.c:1995,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 62
    argCount: 2
    argNames:
    - options
    - other
    argTypes:
    - cairo_ft_options_t*
    - cairo_ft_options_t*
    constantsTouched: []
    func_position:
      end: 2001
      start: 1909
    functionDepth: 0
    functionLinenumber: 1909
    functionLinenumberEnd: 2001
    functionName: _cairo_ft_options_merge
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - malloc
    - strcat
    - strlen
    - free
    - FT_LOAD_TARGET_MODE
    - FT_LOAD_TARGET_
    - strdup
    linkageType: ''
    returnType: void
    signature: "static void _cairo_ft_options_merge (cairo_ft_options_t *options,\t\
      \t\t cairo_ft_options_t *other) "
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: FcPatternGet
      Src: /src/cairo/src/cairo-ft-font.c:4138,1
    - Dst: FcPatternDel
      Src: /src/cairo/src/cairo-ft-font.c:4146,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ft-font.c:4143,1
    - Dst: FcPatternAddInteger
      Src: /src/cairo/src/cairo-ft-font.c:4147,1
    - Dst: FcPatternAddBool
      Src: /src/cairo/src/cairo-ft-font.c:4140,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ft-font.c:4148,1
    - Dst: FcPatternGet
      Src: /src/cairo/src/cairo-ft-font.c:4155,1
    - Dst: FcPatternAddInteger
      Src: /src/cairo/src/cairo-ft-font.c:4180,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ft-font.c:4181,1
    - Dst: FcPatternGet
      Src: /src/cairo/src/cairo-ft-font.c:4187,1
    - Dst: FcPatternAddInteger
      Src: /src/cairo/src/cairo-ft-font.c:4208,1
    - Dst: FcPatternGet
      Src: /src/cairo/src/cairo-ft-font.c:4215,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ft-font.c:4220,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ft-font.c:4245,1
    - Dst: FcPatternAddBool
      Src: /src/cairo/src/cairo-ft-font.c:4217,1
    - Dst: FcPatternGet
      Src: /src/cairo/src/cairo-ft-font.c:4223,1
    - Dst: FcPatternAddInteger
      Src: /src/cairo/src/cairo-ft-font.c:4244,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ft-font.c:4209,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 66
    argCount: 2
    argNames:
    - options
    - pattern
    argTypes:
    - cairo_font_options_t*
    - FcPattern*
    constantsTouched: []
    func_position:
      end: 4250
      start: 4130
    functionDepth: 0
    functionLinenumber: 4130
    functionLinenumberEnd: 4250
    functionName: _cairo_ft_font_options_substitute
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - FcPatternAddInteger
    - _cairo_error
    - FcPatternGet
    - FcPatternAddBool
    - FcPatternDel
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_ft_font_options_substitute (const cairo_font_options_t\
      \ *options,\t\t\t\t FcPattern *pattern) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_ft_unscaled_font_lock_face
      Src: /src/cairo/src/cairo-ft-font.c:3569,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ft-font.c:3571,1
    - Dst: FT_Get_First_Char
      Src: /src/cairo/src/cairo-ft-font.c:3574,1
    - Dst: FT_Get_Next_Char
      Src: /src/cairo/src/cairo-ft-font.c:3580,1
    - Dst: _cairo_ft_unscaled_font_unlock_face
      Src: /src/cairo/src/cairo-ft-font.c:3583,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - abstract_font
    - index
    - ucs4
    argTypes:
    - void*
    - unsigned long
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 3586
      start: 3558
    functionDepth: 0
    functionLinenumber: 3558
    functionLinenumberEnd: 3586
    functionName: _cairo_ft_index_to_ucs4
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - FT_Get_First_Char
    - _cairo_ft_unscaled_font_unlock_face
    - _cairo_ft_unscaled_font_lock_face
    - FT_Get_Next_Char
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_ft_index_to_ucs4(void\t *abstract_font,\t\
      \t\tunsigned long index,\t\t\tuint32_t\t*ucs4) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_ft_unscaled_font_lock_face
      Src: /src/cairo/src/cairo-ft-font.c:3507,1
    - Dst: _cairo_ft_unscaled_font_unlock_face
      Src: /src/cairo/src/cairo-ft-font.c:3517,1
    - Dst: FT_Get_Char_Index
      Src: /src/cairo/src/cairo-ft-font.c:3514,1
    - Dst: FcFreeTypeCharIndex
      Src: /src/cairo/src/cairo-ft-font.c:3512,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - abstract_font
    - ucs4
    argTypes:
    - void*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 3519
      start: 3498
    functionDepth: 0
    functionLinenumber: 3498
    functionLinenumberEnd: 3519
    functionName: _cairo_ft_ucs4_to_index
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - _cairo_ft_unscaled_font_unlock_face
    - FT_Get_Char_Index
    - FcFreeTypeCharIndex
    - _cairo_ft_unscaled_font_lock_face
    linkageType: ''
    returnType: unsigned long
    signature: "static unsigned long _cairo_ft_ucs4_to_index (void\t *abstract_font,\t\
      \t\t uint32_t ucs4) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_font_options_fini
      Src: /src/cairo/src/cairo-ft-font.c:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - options
    argTypes:
    - cairo_ft_options_t*
    constantsTouched: []
    func_position:
      end: 220
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 220
    functionName: _cairo_ft_options_fini
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - _cairo_font_options_fini
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_ft_options_fini (cairo_ft_options_t *options) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-ft-font.c:2024,1
    - Dst: _cairo_ft_unscaled_font_unlock_face
      Src: /src/cairo/src/cairo-ft-font.c:2048,1
    - Dst: free
      Src: /src/cairo/src/cairo-ft-font.c:2050,1
    - Dst: _cairo_ft_scaled_font_is_vertical
      Src: /src/cairo/src/cairo-ft-font.c:2070,1
    - Dst: SCALE
      Src: /src/cairo/src/cairo-ft-font.c:2071,1
    - Dst: _cairo_scaled_font_set_metrics
      Src: /src/cairo/src/cairo-ft-font.c:2092,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:2093,1
    - Dst: _cairo_scaled_font_create_in_error
      Src: /src/cairo/src/cairo-ft-font.c:2106,1
    - Dst: DOUBLE_FROM_26_6
      Src: /src/cairo/src/cairo-ft-font.c:2075,1
    - Dst: SCALE
      Src: /src/cairo/src/cairo-ft-font.c:2068,1
    - Dst: SCALE
      Src: /src/cairo/src/cairo-ft-font.c:2069,1
    - Dst: DOUBLE_FROM_26_6
      Src: /src/cairo/src/cairo-ft-font.c:2071,1
    - Dst: SCALE
      Src: /src/cairo/src/cairo-ft-font.c:2075,1
    - Dst: _cairo_ft_scaled_font_is_vertical
      Src: /src/cairo/src/cairo-ft-font.c:2083,1
    - Dst: _cairo_ft_unscaled_font_unlock_face
      Src: /src/cairo/src/cairo-ft-font.c:2105,1
    - Dst: _cairo_unscaled_font_destroy
      Src: /src/cairo/src/cairo-ft-font.c:2102,1
    - Dst: assert
      Src: /src/cairo/src/cairo-ft-font.c:2018,1
    - Dst: _cairo_ft_unscaled_font_lock_face
      Src: /src/cairo/src/cairo-ft-font.c:2020,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:2025,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ft-font.c:2026,1
    - Dst: _cairo_font_options_init_copy
      Src: /src/cairo/src/cairo-ft-font.c:2033,1
    - Dst: SCALE
      Src: /src/cairo/src/cairo-ft-font.c:2067,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:2040,1
    - Dst: _cairo_unscaled_font_destroy
      Src: /src/cairo/src/cairo-ft-font.c:2049,1
    - Dst: _cairo_scaled_font_init
      Src: /src/cairo/src/cairo-ft-font.c:2036,1
    - Dst: DOUBLE_FROM_26_6
      Src: /src/cairo/src/cairo-ft-font.c:2068,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:2021,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ft-font.c:2022,1
    - Dst: _cairo_unscaled_font_reference
      Src: /src/cairo/src/cairo-ft-font.c:2031,1
    - Dst: _cairo_ft_options_merge
      Src: /src/cairo/src/cairo-ft-font.c:2034,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:2045,1
    - Dst: _cairo_ft_unscaled_font_set_scale
      Src: /src/cairo/src/cairo-ft-font.c:2043,1
    - Dst: DOUBLE_FROM_26_6
      Src: /src/cairo/src/cairo-ft-font.c:2067,1
    - Dst: free
      Src: /src/cairo/src/cairo-ft-font.c:2103,1
    - Dst: _cairo_ft_unscaled_font_unlock_face
      Src: /src/cairo/src/cairo-ft-font.c:2096,1
    - Dst: DOUBLE_FROM_26_6
      Src: /src/cairo/src/cairo-ft-font.c:2069,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 84
    argCount: 5
    argNames:
    - abstract_font_face
    - font_matrix
    - ctm
    - options
    - font_out
    argTypes:
    - void*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - cairo_font_options_t*
    - cairo_scaled_font_t**
    constantsTouched: []
    func_position:
      end: 2108
      start: 2003
    functionDepth: 0
    functionLinenumber: 2003
    functionLinenumberEnd: 2108
    functionName: _cairo_ft_font_face_scaled_font_create
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - SCALE
    - _cairo_ft_options_merge
    - _cairo_scaled_font_set_metrics
    - _cairo_unscaled_font_destroy
    - _cairo_error
    - free
    - _cairo_ft_unscaled_font_unlock_face
    - _cairo_unscaled_font_reference
    - _cairo_ft_scaled_font_is_vertical
    - _cairo_scaled_font_create_in_error
    - _cairo_ft_unscaled_font_lock_face
    - assert
    - _cairo_ft_unscaled_font_set_scale
    - DOUBLE_FROM_26_6
    - _cairo_font_options_init_copy
    - _cairo_calloc
    - _cairo_scaled_font_init
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_ft_font_face_scaled_font_create (void\t\
      \t *abstract_font_face,\t\t\t\t\tconst cairo_matrix_t\t *font_matrix,\t\t\t\t\
      \tconst cairo_matrix_t\t *ctm,\t\t\t\t\tconst cairo_font_options_t *options,\t\
      \t\t\t\tcairo_scaled_font_t **font_out) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-ft-font.c:3536,1
    - Dst: _cairo_ft_unscaled_font_lock_face
      Src: /src/cairo/src/cairo-ft-font.c:3541,1
    - Dst: _cairo_ft_scaled_font_is_vertical
      Src: /src/cairo/src/cairo-ft-font.c:3538,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ft-font.c:3543,1
    - Dst: FT_IS_SFNT
      Src: /src/cairo/src/cairo-ft-font.c:3545,1
    - Dst: FT_Load_Sfnt_Table
      Src: /src/cairo/src/cairo-ft-font.c:3549,1
    - Dst: _cairo_ft_unscaled_font_unlock_face
      Src: /src/cairo/src/cairo-ft-font.c:3553,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 5
    argNames:
    - abstract_font
    - tag
    - offset
    - buffer
    - length
    argTypes:
    - void*
    - unsigned long
    - long
    - unsigned char*
    - unsigned long*
    constantsTouched: []
    func_position:
      end: 3556
      start: 3521
    functionDepth: 0
    functionLinenumber: 3521
    functionLinenumberEnd: 3556
    functionName: _cairo_ft_load_truetype_table
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - FT_IS_SFNT
    - FT_Load_Sfnt_Table
    - _cairo_error
    - _cairo_ft_scaled_font_is_vertical
    - _cairo_ft_unscaled_font_unlock_face
    - _cairo_ft_unscaled_font_lock_face
    - assert
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_ft_load_truetype_table (void\t *abstract_font,\
      \ unsigned long tag, long offset, unsigned char *buffer, unsigned long *length) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_ft_unscaled_font_lock_face
      Src: /src/cairo/src/cairo-ft-font.c:3604,1
    - Dst: _cairo_ft_to_cairo_error
      Src: /src/cairo/src/cairo-ft-font.c:3620,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ft-font.c:3620,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ft-font.c:3606,1
    - Dst: FT_Get_MM_Var
      Src: /src/cairo/src/cairo-ft-font.c:3618,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-ft-font.c:3625,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ft-font.c:3627,1
    - Dst: FT_Get_Var_Blend_Coordinates
      Src: /src/cairo/src/cairo-ft-font.c:3635,1
    - Dst: free
      Src: /src/cairo/src/cairo-ft-font.c:3645,1
    - Dst: FT_Done_MM_Var
      Src: /src/cairo/src/cairo-ft-font.c:3646,1
    - Dst: _cairo_ft_unscaled_font_unlock_face
      Src: /src/cairo/src/cairo-ft-font.c:3649,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 35
    argCount: 2
    argNames:
    - abstract_font
    - is_synthetic
    argTypes:
    - void*
    - cairo_bool_t*
    constantsTouched: []
    func_position:
      end: 3652
      start: 3588
    functionDepth: 0
    functionLinenumber: 3588
    functionLinenumberEnd: 3652
    functionName: _cairo_ft_is_synthetic
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_ft_to_cairo_error
    - free
    - _cairo_ft_unscaled_font_unlock_face
    - FT_Get_Var_Blend_Coordinates
    - _cairo_ft_unscaled_font_lock_face
    - _cairo_malloc_ab
    - FT_Get_MM_Var
    - FT_Done_MM_Var
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_ft_is_synthetic (void\t *abstract_font,\t\
      \t\tcairo_bool_t *is_synthetic) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-ft-font.c:868,1
    - Dst: _compute_transform
      Src: /src/cairo/src/cairo-ft-font.c:880,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:881,1
    - Dst: DOUBLE_TO_16_16
      Src: /src/cairo/src/cairo-ft-font.c:888,1
    - Dst: DOUBLE_TO_16_16
      Src: /src/cairo/src/cairo-ft-font.c:887,1
    - Dst: DOUBLE_TO_16_16
      Src: /src/cairo/src/cairo-ft-font.c:889,1
    - Dst: DOUBLE_TO_16_16
      Src: /src/cairo/src/cairo-ft-font.c:890,1
    - Dst: cairo_matrix_init
      Src: /src/cairo/src/cairo-ft-font.c:898,1
    - Dst: FT_Set_Transform
      Src: /src/cairo/src/cairo-ft-font.c:903,1
    - Dst: FT_Set_Char_Size
      Src: /src/cairo/src/cairo-ft-font.c:905,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ft-font.c:910,1
    - Dst: _cairo_ft_to_cairo_error
      Src: /src/cairo/src/cairo-ft-font.c:910,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 2
    argNames:
    - unscaled
    - scale
    argTypes:
    - cairo_ft_unscaled_font_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 913
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 913
    functionName: _cairo_ft_unscaled_font_set_scale
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - DOUBLE_TO_16_16
    - _cairo_ft_to_cairo_error
    - FT_Set_Transform
    - assert
    - _compute_transform
    - FT_Set_Char_Size
    - cairo_matrix_init
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_ft_unscaled_font_set_scale (cairo_ft_unscaled_font_t\
      \ *unscaled,\t\t\t\t cairo_matrix_t\t *scale) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_ft_unscaled_font_create_for_pattern
      Src: /src/cairo/src/cairo-ft-font.c:4410,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:4411,1
    - Dst: _cairo_ft_font_face_create_for_pattern
      Src: /src/cairo/src/cairo-ft-font.c:4420,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:4417,1
    - Dst: _get_pattern_ft_options
      Src: /src/cairo/src/cairo-ft-font.c:4423,1
    - Dst: _cairo_ft_font_face_create
      Src: /src/cairo/src/cairo-ft-font.c:4424,1
    - Dst: _cairo_ft_options_fini
      Src: /src/cairo/src/cairo-ft-font.c:4425,1
    - Dst: _cairo_unscaled_font_destroy
      Src: /src/cairo/src/cairo-ft-font.c:4426,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4429
      start: 4402
    functionDepth: 0
    functionLinenumber: 4402
    functionLinenumberEnd: 4429
    functionName: cairo_ft_font_face_create_for_pattern
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - _get_pattern_ft_options
    - _cairo_ft_unscaled_font_create_for_pattern
    - _cairo_ft_font_face_create_for_pattern
    - _cairo_unscaled_font_destroy
    - _cairo_ft_options_fini
    - _cairo_ft_font_face_create
    - unlikely
    linkageType: ''
    returnType: cairo_font_face_t*
    signature: 'cairo_font_face_t *cairo_ft_font_face_create_for_pattern (FcPattern
      *pattern) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: FT_Get_MM_Var
      Src: /src/cairo/src/cairo-ft-font.c:2297,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-ft-font.c:2309,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-ft-font.c:2314,1
    - Dst: malloc
      Src: /src/cairo/src/cairo-ft-font.c:2304,1
    - Dst: _cairo_isspace
      Src: /src/cairo/src/cairo-ft-font.c:2327,1
    - Dst: strchr
      Src: /src/cairo/src/cairo-ft-font.c:2330,1
    - Dst: FT_MAKE_TAG
      Src: /src/cairo/src/cairo-ft-font.c:2334,1
    - Dst: _cairo_isspace
      Src: /src/cairo/src/cairo-ft-font.c:2337,1
    - Dst: _cairo_strtod
      Src: /src/cairo/src/cairo-ft-font.c:2343,1
    - Dst: _cairo_isspace
      Src: /src/cairo/src/cairo-ft-font.c:2345,1
    - Dst: FT_Set_Var_Design_Coordinates
      Src: /src/cairo/src/cairo-ft-font.c:2372,1
    - Dst: malloc
      Src: /src/cairo/src/cairo-ft-font.c:2361,1
    - Dst: FT_Get_Var_Design_Coordinates
      Src: /src/cairo/src/cairo-ft-font.c:2362,1
    - Dst: free
      Src: /src/cairo/src/cairo-ft-font.c:2374,1
    - Dst: free
      Src: /src/cairo/src/cairo-ft-font.c:2375,1
    - Dst: FT_Done_MM_Var
      Src: /src/cairo/src/cairo-ft-font.c:2376,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 72
    argCount: 2
    argNames:
    - face
    - scaled_font
    argTypes:
    - FT_Face
    - cairo_ft_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 2378
      start: 2289
    functionDepth: 0
    functionLinenumber: 2289
    functionLinenumberEnd: 2378
    functionName: cairo_ft_apply_variations
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - _cairo_strtod
    - malloc
    - memcpy
    - FT_Set_Var_Design_Coordinates
    - FT_MAKE_TAG
    - free
    - strchr
    - FT_Get_Var_Design_Coordinates
    - FT_Get_MM_Var
    - FT_Done_MM_Var
    - _cairo_isspace
    linkageType: ''
    returnType: void
    signature: "static void cairo_ft_apply_variations (FT_Face face,\t\t\t cairo_ft_scaled_font_t\
      \ *scaled_font) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_font_options_status
      Src: /src/cairo/src/cairo-ft-font.c:4269,1
    - Dst: _cairo_ft_font_options_substitute
      Src: /src/cairo/src/cairo-ft-font.c:4272,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - options
    - pattern
    argTypes:
    - cairo_font_options_t*
    - FcPattern*
    constantsTouched: []
    func_position:
      end: 4273
      start: 4265
    functionDepth: 0
    functionLinenumber: 4265
    functionLinenumberEnd: 4273
    functionName: cairo_ft_font_options_substitute
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - _cairo_ft_font_options_substitute
    - cairo_font_options_status
    linkageType: ''
    returnType: void
    signature: "void cairo_ft_font_options_substitute (const cairo_font_options_t\
      \ *options,\t\t\t\t FcPattern *pattern) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-ft-font.c:316,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:319,1
    - Dst: _cairo_hash_table_create
      Src: /src/cairo/src/cairo-ft-font.c:323,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-ft-font.c:318,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ft-font.c:320,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:325,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:328,1
    - Dst: FT_Init_FreeType
      Src: /src/cairo/src/cairo-ft-font.c:328,1
    - Dst: _cairo_hash_table_destroy
      Src: /src/cairo/src/cairo-ft-font.c:338,1
    - Dst: free
      Src: /src/cairo/src/cairo-ft-font.c:339,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ft-font.c:341,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 342
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 342
    functionName: _cairo_ft_unscaled_font_map_create
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - FT_Init_FreeType
    - _cairo_error
    - free
    - _cairo_hash_table_destroy
    - assert
    - _cairo_hash_table_create
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_ft_unscaled_font_map_create (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_Render_Glyph
      Src: /src/cairo/src/cairo-ft-font.c:1600,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ft-font.c:1604,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:1610,1
    - Dst: _get_bitmap_surface
      Src: /src/cairo/src/cairo-ft-font.c:1606,1
    - Dst: cairo_surface_set_device_offset
      Src: /src/cairo/src/cairo-ft-font.c:1620,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - face
    - font_options
    - surface
    argTypes:
    - FT_Face
    - cairo_font_options_t*
    - cairo_image_surface_t**
    constantsTouched: []
    func_position:
      end: 1625
      start: 1584
    functionDepth: 0
    functionLinenumber: 1584
    functionLinenumberEnd: 1625
    functionName: _render_glyph_bitmap
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - FT_Render_Glyph
    - _cairo_error
    - _get_bitmap_surface
    - cairo_surface_set_device_offset
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _render_glyph_bitmap (FT_Face\t\t face,\t\t\
      \ cairo_font_options_t *font_options,\t\t cairo_image_surface_t **surface) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - scaled_font
    argTypes:
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 2114
      start: 2110
    functionDepth: 0
    functionLinenumber: 2110
    functionLinenumberEnd: 2114
    functionName: _cairo_scaled_font_is_ft
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t _cairo_scaled_font_is_ft (cairo_scaled_font_t *scaled_font) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_hash_table_remove
      Src: /src/cairo/src/cairo-ft-font.c:351,1
    - Dst: _cairo_ft_unscaled_font_fini
      Src: /src/cairo/src/cairo-ft-font.c:357,1
    - Dst: _font_map_release_face_lock_held
      Src: /src/cairo/src/cairo-ft-font.c:355,1
    - Dst: free
      Src: /src/cairo/src/cairo-ft-font.c:358,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - entry
    - closure
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 359
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 359
    functionName: _cairo_ft_unscaled_font_map_pluck_entry
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - _cairo_hash_table_remove
    - _font_map_release_face_lock_held
    - free
    - _cairo_ft_unscaled_font_fini
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_ft_unscaled_font_map_pluck_entry (void *entry,
      void *closure) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/cairo/src/cairo-ft-font.c:1674,1
    - Dst: _cairo_pattern_fini
      Src: /src/cairo/src/cairo-ft-font.c:1717,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-ft-font.c:1736,1
    - Dst: floor
      Src: /src/cairo/src/cairo-ft-font.c:1669,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/cairo-ft-font.c:1666,1
    - Dst: floor
      Src: /src/cairo/src/cairo-ft-font.c:1678,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:1719,1
    - Dst: cairo_surface_set_device_offset
      Src: /src/cairo/src/cairo-ft-font.c:1738,1
    - Dst: _cairo_lround
      Src: /src/cairo/src/cairo-ft-font.c:1740,1
    - Dst: cairo_surface_get_device_offset
      Src: /src/cairo/src/cairo-ft-font.c:1650,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/src/cairo-ft-font.c:1654,1
    - Dst: ceil
      Src: /src/cairo/src/cairo-ft-font.c:1676,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:1704,1
    - Dst: cairo_pattern_set_matrix
      Src: /src/cairo/src/cairo-ft-font.c:1710,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:1696,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-ft-font.c:1695,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-ft-font.c:1720,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/cairo-ft-font.c:1727,1
    - Dst: _cairo_lround
      Src: /src/cairo/src/cairo-ft-font.c:1739,1
    - Dst: floor
      Src: /src/cairo/src/cairo-ft-font.c:1669,1
    - Dst: ceil
      Src: /src/cairo/src/cairo-ft-font.c:1670,1
    - Dst: ceil
      Src: /src/cairo/src/cairo-ft-font.c:1670,1
    - Dst: pixman_image_get_component_alpha
      Src: /src/cairo/src/cairo-ft-font.c:1700,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/src/cairo-ft-font.c:1701,1
    - Dst: _cairo_pattern_init_for_surface
      Src: /src/cairo/src/cairo-ft-font.c:1709,1
    - Dst: ceil
      Src: /src/cairo/src/cairo-ft-font.c:1680,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/src/cairo-ft-font.c:1703,1
    - Dst: _cairo_surface_paint
      Src: /src/cairo/src/cairo-ft-font.c:1712,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 76
    argCount: 2
    argNames:
    - shape
    - surface
    argTypes:
    - cairo_matrix_t*
    - cairo_image_surface_t**
    constantsTouched: []
    func_position:
      end: 1742
      start: 1627
    functionDepth: 0
    functionLinenumber: 1627
    functionLinenumberEnd: 1742
    functionName: _transform_glyph_bitmap
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - _cairo_lround
    - _cairo_pattern_init_for_surface
    - cairo_surface_get_device_offset
    - cairo_matrix_translate
    - unlikely
    - _cairo_pattern_fini
    - cairo_pattern_set_matrix
    - cairo_surface_destroy
    - cairo_image_surface_create
    - cairo_surface_set_device_offset
    - cairo_matrix_transform_point
    - pixman_image_get_component_alpha
    - cairo_matrix_invert
    - ceil
    - _cairo_surface_paint
    - floor
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _transform_glyph_bitmap (cairo_matrix_t * shape,\t\
      \t\t cairo_image_surface_t ** surface) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_font_options_fini
      Src: /src/cairo/src/cairo-ft-font.c:2124,1
    - Dst: _cairo_unscaled_font_destroy
      Src: /src/cairo/src/cairo-ft-font.c:2125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - abstract_font
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2126
      start: 2116
    functionDepth: 0
    functionLinenumber: 2116
    functionLinenumberEnd: 2126
    functionName: _cairo_ft_scaled_font_fini
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - _cairo_font_options_fini
    - _cairo_unscaled_font_destroy
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_ft_scaled_font_fini (void *abstract_font) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_matrix_compute_basis_scale_factors
      Src: /src/cairo/src/cairo-ft-font.c:797,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:800,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/src/cairo-ft-font.c:846,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-ft-font.c:833,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-ft-font.c:831,1
    - Dst: _cairo_matrix_get_affine
      Src: /src/cairo/src/cairo-ft-font.c:848,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 3
    argNames:
    - sf
    - scale
    - unscaled
    argTypes:
    - cairo_ft_font_transform_t*
    - cairo_matrix_t*
    - cairo_ft_unscaled_font_t*
    constantsTouched: []
    func_position:
      end: 854
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 854
    functionName: _compute_transform
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - fabs
    - cairo_matrix_scale
    - _cairo_matrix_compute_basis_scale_factors
    - _cairo_matrix_get_affine
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _compute_transform (cairo_ft_font_transform_t\
      \ *sf,\t\t cairo_matrix_t *scale,\t\t cairo_ft_unscaled_font_t *unscaled) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_ft_unscaled_font_lock_face
      Src: /src/cairo/src/cairo-ft-font.c:3668,1
    - Dst: _cairo_ft_unscaled_font_unlock_face
      Src: /src/cairo/src/cairo-ft-font.c:3674,1
    - Dst: FT_Get_Glyph_Name
      Src: /src/cairo/src/cairo-ft-font.c:3672,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ft-font.c:3670,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ft-font.c:3679,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-ft-font.c:3696,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-ft-font.c:3704,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 5
    argNames:
    - abstract_font
    - glyph_names
    - num_glyph_names
    - glyph_index
    - glyph_array_index
    argTypes:
    - void*
    - char**
    - int
    - unsigned long
    - unsigned long*
    constantsTouched: []
    func_position:
      end: 3712
      start: 3654
    functionDepth: 0
    functionLinenumber: 3654
    functionLinenumberEnd: 3712
    functionName: _cairo_index_to_glyph_name
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_ft_unscaled_font_unlock_face
    - strcmp
    - _cairo_ft_unscaled_font_lock_face
    - FT_Get_Glyph_Name
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_index_to_glyph_name (void\t *abstract_font,\t\
      \t\t char **glyph_names,\t\t\t int num_glyph_names,\t\t\t unsigned long glyph_index,\t\
      \t\t unsigned long *glyph_array_index) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_Get_Font_Format
      Src: /src/cairo/src/cairo-ft-font.c:3717,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-ft-font.c:3720,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-ft-font.c:3719,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - face
    argTypes:
    - FT_Face
    constantsTouched: []
    func_position:
      end: 3726
      start: 3714
    functionDepth: 0
    functionLinenumber: 3714
    functionLinenumberEnd: 3726
    functionName: _ft_is_type1
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - FT_Get_Font_Format
    - strcmp
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _ft_is_type1 (FT_Face face) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-ft-font.c:366,1
    - Dst: _cairo_hash_table_foreach
      Src: /src/cairo/src/cairo-ft-font.c:372,1
    - Dst: assert
      Src: /src/cairo/src/cairo-ft-font.c:375,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-ft-font.c:369,1
    - Dst: FT_Done_FreeType
      Src: /src/cairo/src/cairo-ft-font.c:377,1
    - Dst: _cairo_hash_table_destroy
      Src: /src/cairo/src/cairo-ft-font.c:379,1
    - Dst: free
      Src: /src/cairo/src/cairo-ft-font.c:381,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 383
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 383
    functionName: _cairo_ft_unscaled_font_map_destroy
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - CAIRO_MUTEX_LOCK
    - free
    - _cairo_hash_table_destroy
    - CAIRO_MUTEX_UNLOCK
    - _cairo_hash_table_foreach
    - assert
    - FT_Done_FreeType
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_ft_unscaled_font_map_destroy (void) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ft-font.c:3225,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:3224,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:3245,1
    - Dst: _cairo_ft_scaled_glyph_is_colr_v1
      Src: /src/cairo/src/cairo-ft-font.c:3259,1
    - Dst: _cairo_ft_scaled_glyph_init_record_colr_v1_glyph
      Src: /src/cairo/src/cairo-ft-font.c:3326,1
    - Dst: _cairo_ft_scaled_glyph_load_glyph
      Src: /src/cairo/src/cairo-ft-font.c:3316,1
    - Dst: _cairo_scaled_glyph_set_metrics
      Src: /src/cairo/src/cairo-ft-font.c:3335,1
    - Dst: _cairo_ft_scaled_glyph_is_colr_v0
      Src: /src/cairo/src/cairo-ft-font.c:3269,1
    - Dst: _cairo_ft_scaled_glyph_load_glyph
      Src: /src/cairo/src/cairo-ft-font.c:3279,1
    - Dst: _cairo_ft_scaled_glyph_init_record_svg_glyph
      Src: /src/cairo/src/cairo-ft-font.c:3304,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:3322,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:3309,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-ft-font.c:3223,1
    - Dst: _cairo_scaled_glyph_attach_private
      Src: /src/cairo/src/cairo-ft-font.c:3227,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:3285,1
    - Dst: _cairo_ft_scaled_glyph_load_glyph
      Src: /src/cairo/src/cairo-ft-font.c:3239,1
    - Dst: _cairo_ft_scaled_glyph_is_colr_v1
      Src: /src/cairo/src/cairo-ft-font.c:3267,1
    - Dst: _cairo_ft_scaled_glyph_get_metrics
      Src: /src/cairo/src/cairo-ft-font.c:3289,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:3331,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 57
    argCount: 6
    argNames:
    - scaled_font
    - scaled_glyph
    - face
    - vertical_layout
    - load_flags
    - foreground_color
    argTypes:
    - cairo_ft_scaled_font_t*
    - cairo_scaled_glyph_t*
    - FT_Face
    - cairo_bool_t
    - int
    - cairo_color_t*
    constantsTouched: []
    func_position:
      end: 3340
      start: 3204
    functionDepth: 0
    functionLinenumber: 3204
    functionLinenumberEnd: 3340
    functionName: _cairo_ft_scaled_glyph_init_metrics
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_ft_scaled_glyph_load_glyph
    - _cairo_scaled_glyph_set_metrics
    - _cairo_ft_scaled_glyph_get_metrics
    - _cairo_ft_scaled_glyph_is_colr_v1
    - _cairo_ft_scaled_glyph_init_record_svg_glyph
    - _cairo_scaled_glyph_attach_private
    - _cairo_ft_scaled_glyph_is_colr_v0
    - _cairo_calloc
    - _cairo_ft_scaled_glyph_init_record_colr_v1_glyph
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_ft_scaled_glyph_init_metrics (cairo_ft_scaled_font_t\
      \ *scaled_font,\t\t\t\t cairo_scaled_glyph_t *scaled_glyph,\t\t\t\t FT_Face\
      \ face,\t\t\t\t cairo_bool_t vertical_layout,\t\t\t\t int load_flags,\t\t\t\t\
      \ const cairo_color_t *foreground_color) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_scaled_font_is_ft
      Src: /src/cairo/src/cairo-ft-font.c:4684,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - scaled_font
    argTypes:
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 4691
      start: 4679
    functionDepth: 0
    functionLinenumber: 4679
    functionLinenumberEnd: 4691
    functionName: _cairo_ft_scaled_font_is_vertical
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - _cairo_scaled_font_is_ft
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_ft_scaled_font_is_vertical (cairo_scaled_font_t
      *scaled_font) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_MUTEX_INITIALIZE
      Src: /src/cairo/src/cairo-ft-font.c:388,1
    - Dst: _cairo_ft_unscaled_font_map_create
      Src: /src/cairo/src/cairo-ft-font.c:393,1
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-ft-font.c:390,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:392,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:393,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-ft-font.c:394,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 400
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 400
    functionName: _cairo_ft_unscaled_font_map_lock
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - CAIRO_MUTEX_LOCK
    - CAIRO_MUTEX_UNLOCK
    - CAIRO_MUTEX_INITIALIZE
    - _cairo_ft_unscaled_font_map_create
    - unlikely
    linkageType: ''
    returnType: cairo_ft_unscaled_font_map_t*
    signature: 'static cairo_ft_unscaled_font_map_t *_cairo_ft_unscaled_font_map_lock
      (void) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_ft_scaled_glyph_init_metrics
      Src: /src/cairo/src/cairo-ft-font.c:3380,1
    - Dst: _cairo_ft_scaled_glyph_init_record_colr_v1_glyph
      Src: /src/cairo/src/cairo-ft-font.c:3416,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:3463,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:3477,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:3450,1
    - Dst: _cairo_scaled_glyph_set_path
      Src: /src/cairo/src/cairo-ft-font.c:3488,1
    - Dst: _cairo_ft_scaled_glyph_init_record_colr_v0_glyph
      Src: /src/cairo/src/cairo-ft-font.c:3422,1
    - Dst: _cairo_ft_face_decompose_glyph_outline
      Src: /src/cairo/src/cairo-ft-font.c:3481,1
    - Dst: _cairo_ft_unscaled_font_lock_face
      Src: /src/cairo/src/cairo-ft-font.c:3356,1
    - Dst: _cairo_scaled_glyph_find_private
      Src: /src/cairo/src/cairo-ft-font.c:3390,1
    - Dst: assert
      Src: /src/cairo/src/cairo-ft-font.c:3392,1
    - Dst: _cairo_ft_scaled_glyph_load_glyph
      Src: /src/cairo/src/cairo-ft-font.c:3400,1
    - Dst: _cairo_ft_scaled_glyph_init_record_svg_glyph
      Src: /src/cairo/src/cairo-ft-font.c:3410,1
    - Dst: _cairo_ft_scaled_glyph_init_surface_for_recording_surface
      Src: /src/cairo/src/cairo-ft-font.c:3437,1
    - Dst: _cairo_ft_scaled_glyph_init_surface
      Src: /src/cairo/src/cairo-ft-font.c:3441,1
    - Dst: _cairo_ft_unscaled_font_unlock_face
      Src: /src/cairo/src/cairo-ft-font.c:3493,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ft-font.c:3358,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:3386,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:3406,1
    - Dst: _cairo_ft_scaled_glyph_load_glyph
      Src: /src/cairo/src/cairo-ft-font.c:3471,1
    - Dst: _cairo_ft_scaled_glyph_init_surface
      Src: /src/cairo/src/cairo-ft-font.c:3455,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:3485,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 84
    argCount: 4
    argNames:
    - abstract_font
    - scaled_glyph
    - info
    - foreground_color
    argTypes:
    - void*
    - cairo_scaled_glyph_t*
    - cairo_scaled_glyph_info_t
    - cairo_color_t*
    constantsTouched: []
    func_position:
      end: 3496
      start: 3342
    functionDepth: 0
    functionLinenumber: 3342
    functionLinenumberEnd: 3496
    functionName: _cairo_ft_scaled_glyph_init
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - _cairo_ft_scaled_glyph_init_record_colr_v0_glyph
    - _cairo_ft_scaled_glyph_init_surface_for_recording_surface
    - _cairo_error
    - _cairo_scaled_glyph_find_private
    - _cairo_ft_scaled_glyph_load_glyph
    - _cairo_ft_scaled_glyph_init_metrics
    - _cairo_ft_scaled_glyph_init_surface
    - _cairo_ft_unscaled_font_unlock_face
    - _cairo_ft_unscaled_font_lock_face
    - assert
    - _cairo_ft_face_decompose_glyph_outline
    - _cairo_scaled_glyph_set_path
    - _cairo_ft_scaled_glyph_init_record_svg_glyph
    - _cairo_ft_scaled_glyph_init_record_colr_v1_glyph
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_ft_scaled_glyph_init (void\t\t\t\
      *abstract_font,\t\t\t cairo_scaled_glyph_t\t*scaled_glyph,\t\t\t cairo_scaled_glyph_info_t\t\
      \ info,\t\t\t const cairo_color_t *foreground_color) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_scaled_font_is_ft
      Src: /src/cairo/src/cairo-ft-font.c:4698,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - scaled_font
    argTypes:
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 4703
      start: 4693
    functionDepth: 0
    functionLinenumber: 4693
    functionLinenumberEnd: 4703
    functionName: _cairo_ft_scaled_font_get_load_flags
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - _cairo_scaled_font_is_ft
    linkageType: ''
    returnType: unsigned int
    signature: 'unsigned int _cairo_ft_scaled_font_get_load_flags (cairo_scaled_font_t
      *scaled_font) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_scaled_font_is_ft
      Src: /src/cairo/src/cairo-ft-font.c:4662,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-ft-font.c:4663,1
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-ft-font.c:4674,1
    - Dst: _cairo_ft_unscaled_font_unlock_face
      Src: /src/cairo/src/cairo-ft-font.c:4676,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - abstract_font
    argTypes:
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 4677
      start: 4657
    functionDepth: 0
    functionLinenumber: 4657
    functionLinenumberEnd: 4677
    functionName: cairo_ft_scaled_font_unlock_face
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - CAIRO_MUTEX_LOCK
    - _cairo_error_throw
    - _cairo_scaled_font_is_ft
    - _cairo_ft_unscaled_font_unlock_face
    linkageType: ''
    returnType: void
    signature: 'void cairo_ft_scaled_font_unlock_face (cairo_scaled_font_t *abstract_font) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-ft-font.c:4034,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-ft-font.c:4036,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:4035,1
    - Dst: _get_pattern_ft_options
      Src: /src/cairo/src/cairo-ft-font.c:4042,1
    - Dst: FcPatternDuplicate
      Src: /src/cairo/src/cairo-ft-font.c:4046,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:4047,1
    - Dst: free
      Src: /src/cairo/src/cairo-ft-font.c:4048,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-ft-font.c:4049,1
    - Dst: _cairo_font_face_init
      Src: /src/cairo/src/cairo-ft-font.c:4056,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4059
      start: 4029
    functionDepth: 0
    functionLinenumber: 4029
    functionLinenumberEnd: 4059
    functionName: _cairo_ft_font_face_create_for_pattern
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - _get_pattern_ft_options
    - _cairo_font_face_init
    - free
    - FcPatternDuplicate
    - _cairo_error_throw
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_font_face_t*
    signature: 'static cairo_font_face_t *_cairo_ft_font_face_create_for_pattern (FcPattern
      *pattern) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_fixed_get_current_point
      Src: /src/cairo/src/cairo-ft-font.c:2171,1
    - Dst: _cairo_fixed_from_26_6
      Src: /src/cairo/src/cairo-ft-font.c:2178,1
    - Dst: _cairo_fixed_from_26_6
      Src: /src/cairo/src/cairo-ft-font.c:2174,1
    - Dst: _cairo_fixed_from_26_6
      Src: /src/cairo/src/cairo-ft-font.c:2177,1
    - Dst: _cairo_fixed_from_26_6
      Src: /src/cairo/src/cairo-ft-font.c:2175,1
    - Dst: _cairo_path_fixed_curve_to
      Src: /src/cairo/src/cairo-ft-font.c:2186,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 3
    argNames:
    - control
    - to
    - closure
    argTypes:
    - FT_Vector*
    - FT_Vector*
    - void*
    constantsTouched: []
    func_position:
      end: 2193
      start: 2160
    functionDepth: 0
    functionLinenumber: 2160
    functionLinenumberEnd: 2193
    functionName: _conic_to
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_from_26_6
    - _cairo_path_fixed_curve_to
    - _cairo_path_fixed_get_current_point
    linkageType: ''
    returnType: int
    signature: 'static int _conic_to (FT_Vector *control, FT_Vector *to, void *closure) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_scaled_glyph_find_private
      Src: /src/cairo/src/cairo-ft-font.c:2408,1
    - Dst: _cairo_ft_unscaled_font_set_scale
      Src: /src/cairo/src/cairo-ft-font.c:2417,1
    - Dst: _cairo_ft_unscaled_font_set_scale
      Src: /src/cairo/src/cairo-ft-font.c:2415,1
    - Dst: cairo_matrix_init_scale
      Src: /src/cairo/src/cairo-ft-font.c:2414,1
    - Dst: assert
      Src: /src/cairo/src/cairo-ft-font.c:2410,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:2420,1
    - Dst: cairo_ft_apply_variations
      Src: /src/cairo/src/cairo-ft-font.c:2423,1
    - Dst: FT_Load_Glyph
      Src: /src/cairo/src/cairo-ft-font.c:2430,1
    - Dst: _cairo_scaled_glyph_index
      Src: /src/cairo/src/cairo-ft-font.c:2431,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ft-font.c:2436,1
    - Dst: FT_GlyphSlot_Embolden
      Src: /src/cairo/src/cairo-ft-font.c:2442,1
    - Dst: _cairo_scaled_glyph_xphase
      Src: /src/cairo/src/cairo-ft-font.c:2453,1
    - Dst: _cairo_ft_scaled_glyph_vertical_layout_bearing_fix
      Src: /src/cairo/src/cairo-ft-font.c:2448,1
    - Dst: _cairo_scaled_glyph_yphase
      Src: /src/cairo/src/cairo-ft-font.c:2454,1
    - Dst: FT_Outline_Translate
      Src: /src/cairo/src/cairo-ft-font.c:2456,1
    - Dst: FT_GlyphSlot_Oblique
      Src: /src/cairo/src/cairo-ft-font.c:2445,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 6
    argNames:
    - scaled_font
    - scaled_glyph
    - face
    - load_flags
    - use_em_size
    - vertical_layout
    argTypes:
    - cairo_ft_scaled_font_t*
    - cairo_scaled_glyph_t*
    - FT_Face
    - int
    - cairo_bool_t
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 2460
      start: 2396
    functionDepth: 0
    functionLinenumber: 2396
    functionLinenumberEnd: 2460
    functionName: _cairo_ft_scaled_glyph_load_glyph
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - _cairo_scaled_glyph_xphase
    - _cairo_scaled_glyph_index
    - FT_Outline_Translate
    - _cairo_scaled_glyph_find_private
    - FT_Load_Glyph
    - cairo_matrix_init_scale
    - _cairo_error
    - _cairo_ft_unscaled_font_set_scale
    - assert
    - FT_GlyphSlot_Embolden
    - FT_GlyphSlot_Oblique
    - _cairo_ft_scaled_glyph_vertical_layout_bearing_fix
    - cairo_ft_apply_variations
    - _cairo_scaled_glyph_yphase
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_ft_scaled_glyph_load_glyph (cairo_ft_scaled_font_t\
      \ *scaled_font,\t\t\t\t cairo_scaled_glyph_t *scaled_glyph,\t\t\t\t FT_Face\
      \ face,\t\t\t\t int load_flags,\t\t\t\t cairo_bool_t use_em_size,\t\t\t\t cairo_bool_t\
      \ vertical_layout) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_from_26_6
      Src: /src/cairo/src/cairo-ft-font.c:2204,1
    - Dst: _cairo_fixed_from_26_6
      Src: /src/cairo/src/cairo-ft-font.c:2208,1
    - Dst: _cairo_fixed_from_26_6
      Src: /src/cairo/src/cairo-ft-font.c:2210,1
    - Dst: _cairo_fixed_from_26_6
      Src: /src/cairo/src/cairo-ft-font.c:2207,1
    - Dst: _cairo_fixed_from_26_6
      Src: /src/cairo/src/cairo-ft-font.c:2205,1
    - Dst: _cairo_fixed_from_26_6
      Src: /src/cairo/src/cairo-ft-font.c:2211,1
    - Dst: _cairo_path_fixed_curve_to
      Src: /src/cairo/src/cairo-ft-font.c:2213,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 4
    argNames:
    - control1
    - control2
    - to
    - closure
    argTypes:
    - FT_Vector*
    - FT_Vector*
    - FT_Vector*
    - void*
    constantsTouched: []
    func_position:
      end: 2220
      start: 2195
    functionDepth: 0
    functionLinenumber: 2195
    functionLinenumberEnd: 2220
    functionName: _cubic_to
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_from_26_6
    - _cairo_path_fixed_curve_to
    linkageType: ''
    returnType: int
    signature: "static int _cubic_to (FT_Vector *control1, FT_Vector *control2,\t\
      \ FT_Vector *to, void *closure) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_del
      Src: /src/cairo/src/cairo-ft-font.c:2467,1
    - Dst: free
      Src: /src/cairo/src/cairo-ft-font.c:2468,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - glyph_private
    - glyph
    - font
    argTypes:
    - cairo_scaled_glyph_private_t*
    - cairo_scaled_glyph_t*
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 2469
      start: 2462
    functionDepth: 0
    functionLinenumber: 2462
    functionLinenumberEnd: 2469
    functionName: _cairo_ft_glyph_fini
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - free
    - cairo_list_del
    linkageType: ''
    returnType: void
    signature: "static void _cairo_ft_glyph_fini (cairo_scaled_glyph_private_t *glyph_private,\t\
      \t cairo_scaled_glyph_t *glyph,\t\t cairo_scaled_font_t *font) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-ft-font.c:2565,1
    - Dst: likely
      Src: /src/cairo/src/cairo-ft-font.c:2607,1
    - Dst: _cairo_scaled_glyph_set_surface
      Src: /src/cairo/src/cairo-ft-font.c:2642,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-ft-font.c:2611,1
    - Dst: _cairo_scaled_glyph_set_color_surface
      Src: /src/cairo/src/cairo-ft-font.c:2625,1
    - Dst: FT_LOAD_TARGET_
      Src: /src/cairo/src/cairo-ft-font.c:2582,1
    - Dst: _cairo_ft_scaled_glyph_set_palette
      Src: /src/cairo/src/cairo-ft-font.c:2578,1
    - Dst: _render_glyph_bitmap
      Src: /src/cairo/src/cairo-ft-font.c:2605,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:2615,1
    - Dst: pixman_image_get_format
      Src: /src/cairo/src/cairo-ft-font.c:2622,1
    - Dst: FT_LOAD_TARGET_MODE
      Src: /src/cairo/src/cairo-ft-font.c:2582,1
    - Dst: _render_glyph_outline
      Src: /src/cairo/src/cairo-ft-font.c:2602,1
    - Dst: _transform_glyph_bitmap
      Src: /src/cairo/src/cairo-ft-font.c:2608,1
    - Dst: pixman_image_get_component_alpha
      Src: /src/cairo/src/cairo-ft-font.c:2623,1
    - Dst: _cairo_ft_scaled_glyph_set_foreground_color
      Src: /src/cairo/src/cairo-ft-font.c:2574,1
    - Dst: _cairo_ft_scaled_glyph_load_glyph
      Src: /src/cairo/src/cairo-ft-font.c:2589,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:2595,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:2610,1
    - Dst: _cairo_scaled_glyph_set_surface
      Src: /src/cairo/src/cairo-ft-font.c:2634,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 62
    argCount: 8
    argNames:
    - scaled_font
    - scaled_glyph
    - glyph_priv
    - info
    - face
    - foreground_color
    - vertical_layout
    - load_flags
    argTypes:
    - cairo_ft_scaled_font_t*
    - cairo_scaled_glyph_t*
    - cairo_ft_glyph_private_t*
    - cairo_scaled_glyph_info_t
    - FT_Face
    - cairo_color_t*
    - cairo_bool_t
    - int
    constantsTouched: []
    func_position:
      end: 2648
      start: 2548
    functionDepth: 0
    functionLinenumber: 2548
    functionLinenumberEnd: 2648
    functionName: _cairo_ft_scaled_glyph_init_surface
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - _cairo_ft_scaled_glyph_set_palette
    - _cairo_scaled_glyph_set_surface
    - _cairo_ft_scaled_glyph_load_glyph
    - _render_glyph_bitmap
    - _transform_glyph_bitmap
    - _render_glyph_outline
    - FT_LOAD_TARGET_MODE
    - assert
    - cairo_surface_destroy
    - pixman_image_get_format
    - FT_LOAD_TARGET_
    - _cairo_scaled_glyph_set_color_surface
    - _cairo_ft_scaled_glyph_set_foreground_color
    - pixman_image_get_component_alpha
    - likely
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_ft_scaled_glyph_init_surface (cairo_ft_scaled_font_t\
      \ *scaled_font,\t\t\t\t cairo_scaled_glyph_t\t*scaled_glyph,\t\t\t\t cairo_ft_glyph_private_t\
      \ *glyph_priv,\t\t\t\t cairo_scaled_glyph_info_t\t info,\t\t\t\t FT_Face face,\t\
      \t\t\t const cairo_color_t *foreground_color,\t\t\t\t cairo_bool_t vertical_layout,\t\
      \t\t\t int load_flags) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-ft-font.c:3741,1
    - Dst: _cairo_ft_scaled_font_is_vertical
      Src: /src/cairo/src/cairo-ft-font.c:3743,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ft-font.c:3748,1
    - Dst: FT_IS_SFNT
      Src: /src/cairo/src/cairo-ft-font.c:3750,1
    - Dst: _cairo_ft_unscaled_font_lock_face
      Src: /src/cairo/src/cairo-ft-font.c:3746,1
    - Dst: _ft_is_type1
      Src: /src/cairo/src/cairo-ft-font.c:3755,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-ft-font.c:3760,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ft-font.c:3777,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-ft-font.c:3779,1
    - Dst: _cairo_ft_unscaled_font_unlock_face
      Src: /src/cairo/src/cairo-ft-font.c:3784,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 4
    argNames:
    - abstract_font
    - offset
    - buffer
    - length
    argTypes:
    - void*
    - long
    - unsigned char*
    - unsigned long*
    constantsTouched: []
    func_position:
      end: 3787
      start: 3728
    functionDepth: 0
    functionLinenumber: 3728
    functionLinenumberEnd: 3787
    functionName: _cairo_ft_load_type1_data
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - memcpy
    - FT_IS_SFNT
    - _cairo_error
    - _cairo_ft_scaled_font_is_vertical
    - _cairo_ft_unscaled_font_unlock_face
    - _cairo_ft_unscaled_font_lock_face
    - assert
    - _ft_is_type1
    - MAX
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_ft_load_type1_data (void\t *abstract_font,\t\
      \t\t long offset,\t\t\t unsigned char *buffer,\t\t\t unsigned long *length) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_Done_Face
      Src: /src/cairo/src/cairo-ft-font.c:300,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - font_map
    - unscaled
    argTypes:
    - cairo_ft_unscaled_font_map_t*
    - cairo_ft_unscaled_font_t*
    constantsTouched: []
    func_position:
      end: 306
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 306
    functionName: _font_map_release_face_lock_held
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - FT_Done_Face
    linkageType: ''
    returnType: void
    signature: "static void _font_map_release_face_lock_held (cairo_ft_unscaled_font_map_t\
      \ *font_map,\t\t\t\t cairo_ft_unscaled_font_t *unscaled) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cairo_recording_surface_create
      Src: /src/cairo/src/cairo-ft-font.c:2677,1
    - Dst: _cairo_scaled_glyph_index
      Src: /src/cairo/src/cairo-ft-font.c:2690,1
    - Dst: cairo_set_source
      Src: /src/cairo/src/cairo-ft-font.c:2709,1
    - Dst: _cairo_path_fixed_destroy
      Src: /src/cairo/src/cairo-ft-font.c:2722,1
    - Dst: cairo_path_destroy
      Src: /src/cairo/src/cairo-ft-font.c:2724,1
    - Dst: _cairo_ft_scaled_glyph_set_palette
      Src: /src/cairo/src/cairo-ft-font.c:2668,1
    - Dst: cairo_create
      Src: /src/cairo/src/cairo-ft-font.c:2679,1
    - Dst: FT_LOAD_TARGET_
      Src: /src/cairo/src/cairo-ft-font.c:2672,1
    - Dst: _cairo_pattern_create_foreground_marker
      Src: /src/cairo/src/cairo-ft-font.c:2697,1
    - Dst: FT_Load_Glyph
      Src: /src/cairo/src/cairo-ft-font.c:2712,1
    - Dst: _cairo_ft_face_decompose_glyph_outline
      Src: /src/cairo/src/cairo-ft-font.c:2717,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:2718,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/src/cairo-ft-font.c:2710,1
    - Dst: cairo_fill
      Src: /src/cairo/src/cairo-ft-font.c:2725,1
    - Dst: _cairo_scaled_glyph_set_recording_surface
      Src: /src/cairo/src/cairo-ft-font.c:2736,1
    - Dst: FT_LOAD_TARGET_MODE
      Src: /src/cairo/src/cairo-ft-font.c:2672,1
    - Dst: FT_Get_Color_Glyph_Layer
      Src: /src/cairo/src/cairo-ft-font.c:2689,1
    - Dst: cairo_append_path
      Src: /src/cairo/src/cairo-ft-font.c:2723,1
    - Dst: cairo_pattern_create_rgba
      Src: /src/cairo/src/cairo-ft-font.c:2707,1
    - Dst: cairo_destroy
      Src: /src/cairo/src/cairo-ft-font.c:2729,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-ft-font.c:2732,1
    - Dst: _cairo_matrix_is_scale_0
      Src: /src/cairo/src/cairo-ft-font.c:2681,1
    - Dst: cairo_set_matrix
      Src: /src/cairo/src/cairo-ft-font.c:2685,1
    - Dst: _cairo_path_create
      Src: /src/cairo/src/cairo-ft-font.c:2721,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 61
    argCount: 5
    argNames:
    - scaled_font
    - scaled_glyph
    - face
    - vertical_layout
    - load_flags
    argTypes:
    - cairo_ft_scaled_font_t*
    - cairo_scaled_glyph_t*
    - FT_Face
    - cairo_bool_t
    - int
    constantsTouched: []
    func_position:
      end: 2741
      start: 2650
    functionDepth: 0
    functionLinenumber: 2650
    functionLinenumberEnd: 2741
    functionName: _cairo_ft_scaled_glyph_init_record_colr_v0_glyph
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - _cairo_ft_scaled_glyph_set_palette
    - _cairo_scaled_glyph_index
    - _cairo_scaled_glyph_set_recording_surface
    - FT_Get_Color_Glyph_Layer
    - cairo_pattern_create_rgba
    - cairo_set_source
    - cairo_recording_surface_create
    - _cairo_path_fixed_destroy
    - cairo_create
    - FT_LOAD_TARGET_MODE
    - FT_LOAD_TARGET_
    - cairo_set_matrix
    - cairo_path_destroy
    - cairo_append_path
    - cairo_fill
    - _cairo_pattern_create_foreground_marker
    - cairo_destroy
    - cairo_pattern_destroy
    - _cairo_path_create
    - _cairo_matrix_is_scale_0
    - cairo_surface_destroy
    - _cairo_ft_face_decompose_glyph_outline
    - FT_Load_Glyph
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_ft_scaled_glyph_init_record_colr_v0_glyph\
      \ (cairo_ft_scaled_font_t *scaled_font,\t\t\t\t\t\t cairo_scaled_glyph_t *scaled_glyph,\t\
      \t\t\t\t\t FT_Face face,\t\t\t\t\t\t cairo_bool_t vertical_layout,\t\t\t\t\t\
      \t int load_flags) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_ft_unscaled_font_lock_face
      Src: /src/cairo/src/cairo-ft-font.c:3796,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:3797,1
    - Dst: _cairo_ft_unscaled_font_unlock_face
      Src: /src/cairo/src/cairo-ft-font.c:3799,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - scaled
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 3803
      start: 3789
    functionDepth: 0
    functionLinenumber: 3789
    functionLinenumberEnd: 3803
    functionName: _cairo_ft_has_color_glyphs
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - _cairo_ft_unscaled_font_unlock_face
    - _cairo_ft_unscaled_font_lock_face
    - unlikely
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_ft_has_color_glyphs (void *scaled) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_scaled_font_is_ft
      Src: /src/cairo/src/cairo-ft-font.c:4611,1
    - Dst: _cairo_ft_unscaled_font_lock_face
      Src: /src/cairo/src/cairo-ft-font.c:4619,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:4620,1
    - Dst: _cairo_scaled_font_set_error
      Src: /src/cairo/src/cairo-ft-font.c:4621,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-ft-font.c:4612,1
    - Dst: _cairo_ft_unscaled_font_set_scale
      Src: /src/cairo/src/cairo-ft-font.c:4625,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:4627,1
    - Dst: _cairo_ft_unscaled_font_unlock_face
      Src: /src/cairo/src/cairo-ft-font.c:4628,1
    - Dst: _cairo_scaled_font_set_error
      Src: /src/cairo/src/cairo-ft-font.c:4629,1
    - Dst: cairo_ft_apply_variations
      Src: /src/cairo/src/cairo-ft-font.c:4633,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-ft-font.c:4641,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - abstract_font
    argTypes:
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 4644
      start: 4604
    functionDepth: 0
    functionLinenumber: 4604
    functionLinenumberEnd: 4644
    functionName: cairo_ft_scaled_font_lock_face
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - _cairo_ft_unscaled_font_unlock_face
    - CAIRO_MUTEX_UNLOCK
    - _cairo_scaled_font_set_error
    - _cairo_ft_unscaled_font_lock_face
    - _cairo_ft_unscaled_font_set_scale
    - _cairo_scaled_font_is_ft
    - _cairo_error_throw
    - cairo_ft_apply_variations
    - unlikely
    linkageType: ''
    returnType: FT_Face
    signature: 'FT_Face cairo_ft_scaled_font_lock_face (cairo_scaled_font_t *abstract_font) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-ft-font.c:405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 406
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 406
    functionName: _cairo_ft_unscaled_font_map_unlock
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - CAIRO_MUTEX_UNLOCK
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_ft_unscaled_font_map_unlock (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-ft-font.c:773,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-ft-font.c:777,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - unscaled
    argTypes:
    - cairo_ft_unscaled_font_t*
    constantsTouched: []
    func_position:
      end: 778
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 778
    functionName: _cairo_ft_unscaled_font_unlock_face
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - CAIRO_MUTEX_UNLOCK
    - assert
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_ft_unscaled_font_unlock_face (cairo_ft_unscaled_font_t
      *unscaled) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_hash_string
      Src: /src/cairo/src/cairo-ft-font.c:422,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - key
    - from_face
    - filename
    - id
    - face
    argTypes:
    - cairo_ft_unscaled_font_t*
    - cairo_bool_t
    - char*
    - int
    - FT_Face
    constantsTouched: []
    func_position:
      end: 428
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 428
    functionName: _cairo_ft_unscaled_font_init_key
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - _cairo_hash_string
    linkageType: ''
    returnType: void
    signature: "static void _cairo_ft_unscaled_font_init_key (cairo_ft_unscaled_font_t\
      \ *key,\t\t\t\t cairo_bool_t from_face,\t\t\t\t char\t\t\t *filename,\t\t\t\t\
      \ int\t\t\t id,\t\t\t\t FT_Face\t\t face) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-ft-font.c:717,1
    - Dst: assert
      Src: /src/cairo/src/cairo-ft-font.c:729,1
    - Dst: _cairo_ft_unscaled_font_map_lock
      Src: /src/cairo/src/cairo-ft-font.c:727,1
    - Dst: _cairo_hash_table_random_entry
      Src: /src/cairo/src/cairo-ft-font.c:735,1
    - Dst: assert
      Src: /src/cairo/src/cairo-ft-font.c:725,1
    - Dst: _font_map_release_face_lock_held
      Src: /src/cairo/src/cairo-ft-font.c:740,1
    - Dst: _cairo_ft_unscaled_font_map_unlock
      Src: /src/cairo/src/cairo-ft-font.c:743,1
    - Dst: FT_New_Face
      Src: /src/cairo/src/cairo-ft-font.c:745,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-ft-font.c:752,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-ft-font.c:753,1
    - Dst: _cairo_ft_to_cairo_error
      Src: /src/cairo/src/cairo-ft-font.c:753,1
    - Dst: FT_HAS_COLOR
      Src: /src/cairo/src/cairo-ft-font.c:759,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - unscaled
    argTypes:
    - cairo_ft_unscaled_font_t*
    constantsTouched: []
    func_position:
      end: 765
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 765
    functionName: _cairo_ft_unscaled_font_lock_face
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - CAIRO_MUTEX_LOCK
    - FT_HAS_COLOR
    - _cairo_ft_to_cairo_error
    - _cairo_ft_unscaled_font_map_unlock
    - CAIRO_MUTEX_UNLOCK
    - assert
    - _cairo_hash_table_random_entry
    - _font_map_release_face_lock_held
    - _cairo_error_throw
    - _cairo_ft_unscaled_font_map_lock
    - FT_New_Face
    linkageType: ''
    returnType: cairo_warn
    signature: 'static cairo_warn FT_Face _cairo_ft_unscaled_font_lock_face (cairo_ft_unscaled_font_t
      *unscaled) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_ft_unscaled_font_map_lock
      Src: /src/cairo/src/cairo-ft-font.c:563,1
    - Dst: _cairo_hash_table_lookup
      Src: /src/cairo/src/cairo-ft-font.c:570,1
    - Dst: _cairo_ft_unscaled_font_init_key
      Src: /src/cairo/src/cairo-ft-font.c:567,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:564,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ft-font.c:565,1
    - Dst: _cairo_unscaled_font_reference
      Src: /src/cairo/src/cairo-ft-font.c:573,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-ft-font.c:578,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:579,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ft-font.c:580,1
    - Dst: _cairo_ft_unscaled_font_init
      Src: /src/cairo/src/cairo-ft-font.c:584,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:585,1
    - Dst: _cairo_ft_unscaled_font_map_unlock
      Src: /src/cairo/src/cairo-ft-font.c:595,1
    - Dst: free
      Src: /src/cairo/src/cairo-ft-font.c:602,1
    - Dst: _cairo_ft_unscaled_font_fini
      Src: /src/cairo/src/cairo-ft-font.c:600,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:591,1
    - Dst: _cairo_ft_unscaled_font_map_unlock
      Src: /src/cairo/src/cairo-ft-font.c:604,1
    - Dst: assert
      Src: /src/cairo/src/cairo-ft-font.c:588,1
    - Dst: _cairo_hash_table_insert
      Src: /src/cairo/src/cairo-ft-font.c:589,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 5
    argNames:
    - from_face
    - filename
    - id
    - font_face
    - out
    argTypes:
    - cairo_bool_t
    - char*
    - int
    - FT_Face
    - cairo_ft_unscaled_font_t**
    constantsTouched: []
    func_position:
      end: 606
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 606
    functionName: _cairo_ft_unscaled_font_create_internal
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - _cairo_ft_unscaled_font_init_key
    - _cairo_error
    - free
    - _cairo_unscaled_font_reference
    - _cairo_ft_unscaled_font_map_unlock
    - assert
    - _cairo_hash_table_insert
    - _cairo_ft_unscaled_font_fini
    - _cairo_hash_table_lookup
    - _cairo_ft_unscaled_font_map_lock
    - _cairo_calloc
    - _cairo_ft_unscaled_font_init
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_ft_unscaled_font_create_internal (cairo_bool_t\
      \ from_face,\t\t\t\t\t char *filename,\t\t\t\t\t int id,\t\t\t\t\t FT_Face font_face,\t\
      \t\t\t\t cairo_ft_unscaled_font_t **out) "
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cairo/src/cairo-ft-font.c:1080,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-ft-font.c:1106,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-ft-font.c:1194,1
    - Dst: assert
      Src: /src/cairo/src/cairo-ft-font.c:1198,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 156
    argCount: 4
    argNames:
    - target
    - slot
    - mode
    - bgr
    argTypes:
    - FT_Bitmap*
    - FT_GlyphSlot
    - FT_Render_Mode
    - int
    constantsTouched: []
    func_position:
      end: 1200
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1200
    functionName: _fill_xrender_bitmap
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - memcpy
    - assert
    linkageType: ''
    returnType: void
    signature: "static void _fill_xrender_bitmap(FT_Bitmap *target,\t\t FT_GlyphSlot\
      \ slot,\t\t FT_Render_Mode mode,\t\t int bgr) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_ft_unscaled_font_map_destroy
      Src: /src/cairo/src/cairo-ft-font.c:4708,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4709
      start: 4705
    functionDepth: 0
    functionLinenumber: 4705
    functionLinenumberEnd: 4709
    functionName: _cairo_ft_font_reset_static_data
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - _cairo_ft_unscaled_font_map_destroy
    linkageType: ''
    returnType: void
    signature: 'void _cairo_ft_font_reset_static_data (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cairo/src/cairo-ft-font.c:543,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 2
    argNames:
    - key_a
    - key_b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 547
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 547
    functionName: _cairo_ft_unscaled_font_keys_equal
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: "static int _cairo_ft_unscaled_font_keys_equal (const void *key_a,\t\
      \t\t\t const void *key_b) "
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 3
    argNames:
    - target
    - slot
    - mode
    argTypes:
    - FT_Bitmap*
    - FT_GlyphSlot
    - FT_Render_Mode
    constantsTouched: []
    func_position:
      end: 1006
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 1006
    functionName: _compute_xrender_bitmap_size
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "static int _compute_xrender_bitmap_size(FT_Bitmap *target,\t\t\t FT_GlyphSlot\
      \ slot,\t\t\t FT_Render_Mode mode) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_from_26_6
      Src: /src/cairo/src/cairo-ft-font.c:2134,1
    - Dst: _cairo_path_fixed_close_path
      Src: /src/cairo/src/cairo-ft-font.c:2137,1
    - Dst: _cairo_fixed_from_26_6
      Src: /src/cairo/src/cairo-ft-font.c:2135,1
    - Dst: _cairo_path_fixed_move_to
      Src: /src/cairo/src/cairo-ft-font.c:2139,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - to
    - closure
    argTypes:
    - FT_Vector*
    - void*
    constantsTouched: []
    func_position:
      end: 2143
      start: 2128
    functionDepth: 0
    functionLinenumber: 2128
    functionLinenumberEnd: 2143
    functionName: _move_to
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_from_26_6
    - _cairo_path_fixed_close_path
    - _cairo_path_fixed_move_to
    linkageType: ''
    returnType: int
    signature: 'static int _move_to (FT_Vector *to, void *closure) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:4341,1
    - Dst: _get_pattern_ft_options
      Src: /src/cairo/src/cairo-ft-font.c:4348,1
    - Dst: FcPatternDestroy
      Src: /src/cairo/src/cairo-ft-font.c:4358,1
    - Dst: FcPatternAddDouble
      Src: /src/cairo/src/cairo-ft-font.c:4305,1
    - Dst: _compute_transform
      Src: /src/cairo/src/cairo-ft-font.c:4297,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:4298,1
    - Dst: FcConfigSubstitute
      Src: /src/cairo/src/cairo-ft-font.c:4310,1
    - Dst: _cairo_ft_font_options_substitute
      Src: /src/cairo/src/cairo-ft-font.c:4315,1
    - Dst: _cairo_ft_unscaled_font_create_for_pattern
      Src: /src/cairo/src/cairo-ft-font.c:4340,1
    - Dst: _cairo_ft_font_face_create
      Src: /src/cairo/src/cairo-ft-font.c:4349,1
    - Dst: _cairo_unscaled_font_destroy
      Src: /src/cairo/src/cairo-ft-font.c:4351,1
    - Dst: _cairo_font_face_twin_create_fallback
      Src: /src/cairo/src/cairo-ft-font.c:4336,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-ft-font.c:4293,1
    - Dst: FcPatternDuplicate
      Src: /src/cairo/src/cairo-ft-font.c:4301,1
    - Dst: _cairo_ft_unscaled_font_create_for_pattern
      Src: /src/cairo/src/cairo-ft-font.c:4323,1
    - Dst: FcDefaultSubstitute
      Src: /src/cairo/src/cairo-ft-font.c:4321,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:4324,1
    - Dst: _cairo_ft_options_fini
      Src: /src/cairo/src/cairo-ft-font.c:4350,1
    - Dst: FcPatternDestroy
      Src: /src/cairo/src/cairo-ft-font.c:4355,1
    - Dst: FcFontMatch
      Src: /src/cairo/src/cairo-ft-font.c:4330,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4361
      start: 4275
    functionDepth: 0
    functionLinenumber: 4275
    functionLinenumberEnd: 4361
    functionName: _cairo_ft_resolve_pattern
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - FcDefaultSubstitute
    - _get_pattern_ft_options
    - _cairo_ft_unscaled_font_create_for_pattern
    - _cairo_ft_font_face_create
    - FcConfigSubstitute
    - _cairo_unscaled_font_destroy
    - FcPatternAddDouble
    - FcPatternDuplicate
    - _cairo_font_face_twin_create_fallback
    - _cairo_ft_options_fini
    - _cairo_ft_font_options_substitute
    - FcPatternDestroy
    - _compute_transform
    - cairo_matrix_multiply
    - FcFontMatch
    - unlikely
    linkageType: ''
    returnType: cairo_font_face_t*
    signature: "static cairo_font_face_t *_cairo_ft_resolve_pattern (FcPattern\t\t\
      \ *pattern,\t\t\t const cairo_matrix_t *font_matrix,\t\t\t const cairo_matrix_t\
      \ *ctm,\t\t\t const cairo_font_options_t *font_options) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_from_26_6
      Src: /src/cairo/src/cairo-ft-font.c:2151,1
    - Dst: _cairo_path_fixed_line_to
      Src: /src/cairo/src/cairo-ft-font.c:2154,1
    - Dst: _cairo_fixed_from_26_6
      Src: /src/cairo/src/cairo-ft-font.c:2152,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - to
    - closure
    argTypes:
    - FT_Vector*
    - void*
    constantsTouched: []
    func_position:
      end: 2158
      start: 2145
    functionDepth: 0
    functionLinenumber: 2145
    functionLinenumberEnd: 2158
    functionName: _line_to
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_from_26_6
    - _cairo_path_fixed_line_to
    linkageType: ''
    returnType: int
    signature: 'static int _line_to (FT_Vector *to, void *closure) '
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: FT_Outline_Get_CBox
      Src: /src/cairo/src/cairo-ft-font.c:1476,1
    - Dst: pixman_image_set_component_alpha
      Src: /src/cairo/src/cairo-ft-font.c:1510,1
    - Dst: FT_Render_Glyph
      Src: /src/cairo/src/cairo-ft-font.c:1544,1
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/src/cairo-ft-font.c:1509,1
    - Dst: FT_Library_SetLcdFilter
      Src: /src/cairo/src/cairo-ft-font.c:1543,1
    - Dst: FT_Library_SetLcdFilter
      Src: /src/cairo/src/cairo-ft-font.c:1546,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ft-font.c:1548,1
    - Dst: _cairo_ft_to_cairo_error
      Src: /src/cairo/src/cairo-ft-font.c:1548,1
    - Dst: _compute_xrender_bitmap_size
      Src: /src/cairo/src/cairo-ft-font.c:1550,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ft-font.c:1554,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ft-font.c:1558,1
    - Dst: _get_bitmap_surface
      Src: /src/cairo/src/cairo-ft-font.c:1566,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:1567,1
    - Dst: cairo_surface_set_device_offset
      Src: /src/cairo/src/cairo-ft-font.c:1575,1
    - Dst: _fill_xrender_bitmap
      Src: /src/cairo/src/cairo-ft-font.c:1560,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-ft-font.c:1556,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 69
    argCount: 3
    argNames:
    - face
    - font_options
    - surface
    argTypes:
    - FT_Face
    - cairo_font_options_t*
    - cairo_image_surface_t**
    constantsTouched: []
    func_position:
      end: 1581
      start: 1414
    functionDepth: 0
    functionLinenumber: 1414
    functionLinenumberEnd: 1581
    functionName: _render_glyph_outline
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - FT_Render_Glyph
    - pixman_image_set_component_alpha
    - FT_Outline_Get_CBox
    - _cairo_error
    - _cairo_ft_to_cairo_error
    - _get_bitmap_surface
    - FT_Library_SetLcdFilter
    - cairo_image_surface_create_for_data
    - _compute_xrender_bitmap_size
    - unlikely
    - _fill_xrender_bitmap
    - cairo_surface_set_device_offset
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _render_glyph_outline (FT_Face face,\t\t cairo_font_options_t\t\
      \ *font_options,\t\t cairo_image_surface_t\t**surface) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_REFERENCE_COUNT_GET_VALUE
      Src: /src/cairo/src/cairo-ft-font.c:3916,1
    - Dst: _cairo_unscaled_font_destroy
      Src: /src/cairo/src/cairo-ft-font.c:3943,1
    - Dst: _cairo_unscaled_font_destroy
      Src: /src/cairo/src/cairo-ft-font.c:3918,1
    - Dst: FcPatternDestroy
      Src: /src/cairo/src/cairo-ft-font.c:3951,1
    - Dst: _cairo_ft_options_fini
      Src: /src/cairo/src/cairo-ft-font.c:3947,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/src/cairo-ft-font.c:3952,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 1
    argNames:
    - abstract_face
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 3957
      start: 3892
    functionDepth: 0
    functionLinenumber: 3892
    functionLinenumberEnd: 3957
    functionName: _cairo_ft_font_face_destroy
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - _cairo_unscaled_font_destroy
    - cairo_font_face_destroy
    - _cairo_ft_options_fini
    - CAIRO_REFERENCE_COUNT_GET_VALUE
    - FcPatternDestroy
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_ft_font_face_destroy (void *abstract_face) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FcInitBringUptoDate
      Src: /src/cairo/src/cairo-ft-font.c:3987,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/src/cairo-ft-font.c:3995,1
    - Dst: FcConfigGetCurrent
      Src: /src/cairo/src/cairo-ft-font.c:3992,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-ft-font.c:3988,1
    - Dst: cairo_font_face_reference
      Src: /src/cairo/src/cairo-ft-font.c:3993,1
    - Dst: _cairo_ft_resolve_pattern
      Src: /src/cairo/src/cairo-ft-font.c:3999,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ft-font.c:4003,1
    - Dst: cairo_font_face_reference
      Src: /src/cairo/src/cairo-ft-font.c:4006,1
    - Dst: FcConfigGetCurrent
      Src: /src/cairo/src/cairo-ft-font.c:4007,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4014
      start: 3959
    functionDepth: 0
    functionLinenumber: 3959
    functionLinenumberEnd: 4014
    functionName: _cairo_ft_font_face_get_implementation
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - FcInitBringUptoDate
    - cairo_font_face_destroy
    - unlikely
    - cairo_font_face_reference
    - _cairo_ft_resolve_pattern
    - _cairo_error_throw
    - FcConfigGetCurrent
    linkageType: ''
    returnType: cairo_font_face_t*
    signature: "static cairo_font_face_t *_cairo_ft_font_face_get_implementation (void\
      \ *abstract_face,\t\t\t\t\tconst cairo_matrix_t *font_matrix,\t\t\t\t\tconst\
      \ cairo_matrix_t *ctm,\t\t\t\t\tconst cairo_font_options_t *options) "
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ft-font.c:1237,1
    - Dst: assert
      Src: /src/cairo/src/cairo-ft-font.c:1233,1
    - Dst: CAIRO_BITSWAP8
      Src: /src/cairo/src/cairo-ft-font.c:1263,1
    - Dst: _cairo_is_little_endian
      Src: /src/cairo/src/cairo-ft-font.c:1316,1
    - Dst: FT_Bitmap_New
      Src: /src/cairo/src/cairo-ft-font.c:1342,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-ft-font.c:1309,1
    - Dst: FT_Bitmap_Done
      Src: /src/cairo/src/cairo-ft-font.c:1348,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-ft-font.c:1352,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-ft-font.c:1368,1
    - Dst: free
      Src: /src/cairo/src/cairo-ft-font.c:1375,1
    - Dst: memset
      Src: /src/cairo/src/cairo-ft-font.c:1249,1
    - Dst: bswap_32
      Src: /src/cairo/src/cairo-ft-font.c:1322,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ft-font.c:1291,1
    - Dst: _cairo_ft_to_cairo_error
      Src: /src/cairo/src/cairo-ft-font.c:1346,1
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/src/cairo-ft-font.c:1381,1
    - Dst: _cairo_debug_check_image_surface_is_defined
      Src: /src/cairo/src/cairo-ft-font.c:1394,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-ft-font.c:1240,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-ft-font.c:1235,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-ft-font.c:1248,1
    - Dst: assert
      Src: /src/cairo/src/cairo-ft-font.c:1282,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-ft-font.c:1313,1
    - Dst: cairo_format_stride_for_width
      Src: /src/cairo/src/cairo-ft-font.c:1340,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ft-font.c:1311,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ft-font.c:1376,1
    - Dst: free
      Src: /src/cairo/src/cairo-ft-font.c:1385,1
    - Dst: pixman_image_set_component_alpha
      Src: /src/cairo/src/cairo-ft-font.c:1390,1
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/src/cairo-ft-font.c:1224,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-ft-font.c:1289,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-ft-font.c:1293,1
    - Dst: FT_Bitmap_Convert
      Src: /src/cairo/src/cairo-ft-font.c:1344,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ft-font.c:1346,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ft-font.c:1354,1
    - Dst: _cairo_image_surface_assume_ownership_of_data
      Src: /src/cairo/src/cairo-ft-font.c:1392,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 130
    argCount: 5
    argNames:
    - bitmap
    - library
    - own_buffer
    - font_options
    - surface
    argTypes:
    - FT_Bitmap*
    - FT_Library
    - cairo_bool_t
    - cairo_font_options_t*
    - cairo_image_surface_t**
    constantsTouched: []
    func_position:
      end: 1397
      start: 1205
    functionDepth: 0
    functionLinenumber: 1205
    functionLinenumberEnd: 1397
    functionName: _get_bitmap_surface
    functionSourceFile: /src/cairo/src/cairo-ft-font.c
    functionUses: []
    functionsReached:
    - memcpy
    - pixman_image_set_component_alpha
    - cairo_format_stride_for_width
    - _cairo_error
    - _cairo_ft_to_cairo_error
    - free
    - cairo_image_surface_create_for_data
    - FT_Bitmap_Done
    - assert
    - _cairo_is_little_endian
    - FT_Bitmap_Convert
    - _cairo_image_surface_assume_ownership_of_data
    - bswap_32
    - FT_Bitmap_New
    - _cairo_debug_check_image_surface_is_defined
    - _cairo_malloc_ab
    - memset
    - CAIRO_BITSWAP8
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _get_bitmap_surface (FT_Bitmap\t\t *bitmap,\t\
      \t FT_Library\t\t library,\t\t cairo_bool_t\t own_buffer,\t\t cairo_font_options_t\
      \ *font_options,\t\t cairo_image_surface_t **surface) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_device_acquire
      Src: /src/cairo/src/cairo-xcb-connection.c:503,1
    - Dst: xcb_flush
      Src: /src/cairo/src/cairo-xcb-connection.c:511,1
    - Dst: _cairo_xcb_connection_shm_mem_pools_flush
      Src: /src/cairo/src/cairo-xcb-connection.c:508,1
    - Dst: cairo_device_release
      Src: /src/cairo/src/cairo-xcb-connection.c:513,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-connection.c:504,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - device
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 515
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 515
    functionName: _device_flush
    functionSourceFile: /src/cairo/src/cairo-xcb-connection.c
    functionUses: []
    functionsReached:
    - xcb_flush
    - cairo_device_acquire
    - _cairo_xcb_connection_shm_mem_pools_flush
    - cairo_device_release
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _device_flush (void *device) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_hash_table_remove
      Src: /src/cairo/src/cairo-xcb-connection.c:521,1
    - Dst: free
      Src: /src/cairo/src/cairo-xcb-connection.c:522,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - entry
    - closure
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 523
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 523
    functionName: _pluck_xrender_format
    functionSourceFile: /src/cairo/src/cairo-xcb-connection.c
    functionUses: []
    functionsReached:
    - _cairo_hash_table_remove
    - free
    linkageType: ''
    returnType: void
    signature: "static void _pluck_xrender_format (void *entry,\t\t void *closure) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_device_set_error
      Src: /src/cairo/src/cairo-xcb-connection.c:919,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - device
    - precision
    argTypes:
    - cairo_device_t*
    - int
    constantsTouched: []
    func_position:
      end: 925
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 925
    functionName: cairo_xcb_device_debug_set_precision
    functionSourceFile: /src/cairo/src/cairo-xcb-connection.c
    functionUses: []
    functionsReached:
    - _cairo_device_set_error
    linkageType: ''
    returnType: void
    signature: "void cairo_xcb_device_debug_set_precision (cairo_device_t *device,\t\
      \t\t\t int precision) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xcb_render_query_pict_formats_screens_iterator
      Src: /src/cairo/src/cairo-xcb-connection.c:98,1
    - Dst: xcb_render_pictdepth_next
      Src: /src/cairo/src/cairo-xcb-connection.c:104,1
    - Dst: xcb_render_pictscreen_depths_iterator
      Src: /src/cairo/src/cairo-xcb-connection.c:102,1
    - Dst: xcb_render_pictscreen_next
      Src: /src/cairo/src/cairo-xcb-connection.c:100,1
    - Dst: xcb_render_pictdepth_visuals_iterator
      Src: /src/cairo/src/cairo-xcb-connection.c:106,1
    - Dst: xcb_render_pictvisual_next
      Src: /src/cairo/src/cairo-xcb-connection.c:108,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-xcb-connection.c:113,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-connection.c:114,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xcb-connection.c:115,1
    - Dst: _cairo_hash_table_insert
      Src: /src/cairo/src/cairo-xcb-connection.c:119,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-connection.c:121,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - connection
    - formats
    argTypes:
    - cairo_xcb_connection_t*
    - xcb_render_query_pict_formats_reply_t*
    constantsTouched: []
    func_position:
      end: 128
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 128
    functionName: _cairo_xcb_connection_find_visual_formats
    functionSourceFile: /src/cairo/src/cairo-xcb-connection.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - xcb_render_pictdepth_visuals_iterator
    - unlikely
    - xcb_render_pictdepth_next
    - xcb_render_query_pict_formats_screens_iterator
    - _cairo_hash_table_insert
    - xcb_render_pictscreen_depths_iterator
    - xcb_render_pictvisual_next
    - xcb_render_pictscreen_next
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_xcb_connection_find_visual_formats (cairo_xcb_connection_t\
      \ *connection,\t\t\t\t\t const xcb_render_query_pict_formats_reply_t *formats) "
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_MUTEX_INITIALIZE
      Src: /src/cairo/src/cairo-xcb-connection.c:609,1
    - Dst: cairo_list_foreach_entry
      Src: /src/cairo/src/cairo-xcb-connection.c:617,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-xcb-connection.c:631,1
    - Dst: _cairo_device_init
      Src: /src/cairo/src/cairo-xcb-connection.c:635,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-xcb-connection.c:639,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-xcb-connection.c:641,1
    - Dst: _cairo_hash_table_destroy
      Src: /src/cairo/src/cairo-xcb-connection.c:652,1
    - Dst: CAIRO_MUTEX_FINI
      Src: /src/cairo/src/cairo-xcb-connection.c:644,1
    - Dst: free
      Src: /src/cairo/src/cairo-xcb-connection.c:654,1
    - Dst: CAIRO_MUTEX_FINI
      Src: /src/cairo/src/cairo-xcb-connection.c:653,1
    - Dst: CAIRO_MUTEX_INIT
      Src: /src/cairo/src/cairo-xcb-connection.c:667,1
    - Dst: xcb_prefetch_extension_data
      Src: /src/cairo/src/cairo-xcb-connection.c:675,1
    - Dst: xcb_prefetch_maximum_request_length
      Src: /src/cairo/src/cairo-xcb-connection.c:684,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-xcb-connection.c:727,1
    - Dst: cairo_list_move
      Src: /src/cairo/src/cairo-xcb-connection.c:625,1
    - Dst: _cairo_freepool_init
      Src: /src/cairo/src/cairo-xcb-connection.c:661,1
    - Dst: xcb_get_maximum_request_length
      Src: /src/cairo/src/cairo-xcb-connection.c:665,1
    - Dst: xcb_prefetch_extension_data
      Src: /src/cairo/src/cairo-xcb-connection.c:676,1
    - Dst: xcb_prefetch_extension_data
      Src: /src/cairo/src/cairo-xcb-connection.c:678,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-xcb-connection.c:691,1
    - Dst: xcb_get_extension_data
      Src: /src/cairo/src/cairo-xcb-connection.c:697,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-xcb-connection.c:701,1
    - Dst: xcb_get_extension_data
      Src: /src/cairo/src/cairo-xcb-connection.c:718,1
    - Dst: _cairo_xcb_connection_destroy
      Src: /src/cairo/src/cairo-xcb-connection.c:702,1
    - Dst: cairo_list_add
      Src: /src/cairo/src/cairo-xcb-connection.c:729,1
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-xcb-connection.c:611,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-connection.c:632,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-xcb-connection.c:640,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-xcb-connection.c:659,1
    - Dst: _cairo_hash_table_create
      Src: /src/cairo/src/cairo-xcb-connection.c:650,1
    - Dst: xcb_prefetch_extension_data
      Src: /src/cairo/src/cairo-xcb-connection.c:681,1
    - Dst: xcb_get_setup
      Src: /src/cairo/src/cairo-xcb-connection.c:686,1
    - Dst: _cairo_xcb_connection_destroy
      Src: /src/cairo/src/cairo-xcb-connection.c:692,1
    - Dst: _cairo_xcb_connection_query_render
      Src: /src/cairo/src/cairo-xcb-connection.c:699,1
    - Dst: _cairo_xcb_connection_query_cairo
      Src: /src/cairo/src/cairo-xcb-connection.c:713,1
    - Dst: _cairo_xcb_connection_query_shm
      Src: /src/cairo/src/cairo-xcb-connection.c:720,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-xcb-connection.c:614,1
    - Dst: free
      Src: /src/cairo/src/cairo-xcb-connection.c:645,1
    - Dst: _cairo_hash_table_create
      Src: /src/cairo/src/cairo-xcb-connection.c:642,1
    - Dst: CAIRO_MUTEX_INIT
      Src: /src/cairo/src/cairo-xcb-connection.c:668,1
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-xcb-connection.c:670,1
    - Dst: _cairo_calloc_ab
      Src: /src/cairo/src/cairo-xcb-connection.c:688,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-connection.c:690,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-connection.c:700,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-xcb-connection.c:731,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-xcb-connection.c:660,1
    - Dst: xcb_get_extension_data
      Src: /src/cairo/src/cairo-xcb-connection.c:711,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 92
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 734
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 734
    functionName: _cairo_xcb_connection_get
    functionSourceFile: /src/cairo/src/cairo-xcb-connection.c
    functionUses: []
    functionsReached:
    - _cairo_calloc_ab
    - cairo_list_move
    - xcb_get_maximum_request_length
    - _cairo_xcb_connection_query_render
    - CAIRO_MUTEX_UNLOCK
    - xcb_prefetch_extension_data
    - _cairo_hash_table_create
    - CAIRO_MUTEX_FINI
    - xcb_get_setup
    - cairo_list_add
    - xcb_prefetch_maximum_request_length
    - _cairo_calloc
    - cairo_list_foreach_entry
    - CAIRO_MUTEX_LOCK
    - _cairo_device_init
    - _cairo_xcb_connection_query_cairo
    - CAIRO_MUTEX_INIT
    - _cairo_freepool_init
    - cairo_list_init
    - _cairo_xcb_connection_query_shm
    - free
    - _cairo_hash_table_destroy
    - CAIRO_MUTEX_INITIALIZE
    - xcb_get_extension_data
    - _cairo_xcb_connection_destroy
    - unlikely
    linkageType: ''
    returnType: cairo_xcb_connection_t*
    signature: 'cairo_xcb_connection_t *_cairo_xcb_connection_get (xcb_connection_t
      *xcb_connection) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_device_set_error
      Src: /src/cairo/src/cairo-xcb-connection.c:847,1
    - Dst: XCB_RENDER_HAS_FILL_RECTANGLES
      Src: /src/cairo/src/cairo-xcb-connection.c:877,1
    - Dst: XCB_RENDER_HAS_FILTERS
      Src: /src/cairo/src/cairo-xcb-connection.c:886,1
    - Dst: XCB_RENDER_HAS_TRAPEZOIDS
      Src: /src/cairo/src/cairo-xcb-connection.c:880,1
    - Dst: XCB_RENDER_HAS_PICTURE_TRANSFORM
      Src: /src/cairo/src/cairo-xcb-connection.c:883,1
    - Dst: XCB_RENDER_HAS_PDF_OPERATORS
      Src: /src/cairo/src/cairo-xcb-connection.c:889,1
    - Dst: XCB_RENDER_HAS_EXTENDED_REPEAT
      Src: /src/cairo/src/cairo-xcb-connection.c:892,1
    - Dst: XCB_RENDER_HAS_GRADIENTS
      Src: /src/cairo/src/cairo-xcb-connection.c:895,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 55
    argCount: 3
    argNames:
    - device
    - major_version
    - minor_version
    argTypes:
    - cairo_device_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 898
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 898
    functionName: cairo_xcb_device_debug_cap_xrender_version
    functionSourceFile: /src/cairo/src/cairo-xcb-connection.c
    functionUses: []
    functionsReached:
    - XCB_RENDER_HAS_PICTURE_TRANSFORM
    - XCB_RENDER_HAS_GRADIENTS
    - XCB_RENDER_HAS_FILTERS
    - XCB_RENDER_HAS_TRAPEZOIDS
    - XCB_RENDER_HAS_PDF_OPERATORS
    - XCB_RENDER_HAS_FILL_RECTANGLES
    - XCB_RENDER_HAS_EXTENDED_REPEAT
    - _cairo_device_set_error
    linkageType: ''
    returnType: void
    signature: 'void cairo_xcb_device_debug_cap_xrender_version (cairo_device_t *device,
      int major_version, int minor_version) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_device_set_error
      Src: /src/cairo/src/cairo-xcb-connection.c:945,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - device
    argTypes:
    - cairo_device_t*
    constantsTouched: []
    func_position:
      end: 951
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 951
    functionName: cairo_xcb_device_debug_get_precision
    functionSourceFile: /src/cairo/src/cairo-xcb-connection.c
    functionUses: []
    functionsReached:
    - _cairo_device_set_error
    linkageType: ''
    returnType: int
    signature: 'int cairo_xcb_device_debug_get_precision (cairo_device_t *device) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xcb_generate_id
      Src: /src/cairo/src/cairo-xcb-connection.c:257,1
    - Dst: xcb_free_pixmap
      Src: /src/cairo/src/cairo-xcb-connection.c:262,1
    - Dst: xcb_request_check
      Src: /src/cairo/src/cairo-xcb-connection.c:272,1
    - Dst: xcb_create_pixmap_checked
      Src: /src/cairo/src/cairo-xcb-connection.c:261,1
    - Dst: DEPTH_MASK
      Src: /src/cairo/src/cairo-xcb-connection.c:260,1
    - Dst: free
      Src: /src/cairo/src/cairo-xcb-connection.c:274,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - connection
    - missing
    - root
    argTypes:
    - cairo_xcb_connection_t*
    - uint32_t
    - xcb_drawable_t
    constantsTouched: []
    func_position:
      end: 278
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 278
    functionName: pixmap_depths_usable
    functionSourceFile: /src/cairo/src/cairo-xcb-connection.c
    functionUses: []
    functionsReached:
    - xcb_free_pixmap
    - xcb_create_pixmap_checked
    - free
    - DEPTH_MASK
    - xcb_request_check
    - xcb_generate_id
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t pixmap_depths_usable (cairo_xcb_connection_t *connection,\t\
      \t uint32_t missing,\t\t xcb_drawable_t root) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/cairo/src/cairo-xcb-connection.c:323,1
    - Dst: sscanf
      Src: /src/cairo/src/cairo-xcb-connection.c:330,1
    - Dst: free
      Src: /src/cairo/src/cairo-xcb-connection.c:334,1
    - Dst: strstr
      Src: /src/cairo/src/cairo-xcb-connection.c:325,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 348
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 348
    functionName: _render_restrict_env
    functionSourceFile: /src/cairo/src/cairo-xcb-connection.c
    functionUses: []
    functionsReached:
    - free
    - sscanf
    - getenv
    - strstr
    linkageType: ''
    returnType: xcb_render_query_version_reply_t*
    signature: 'static xcb_render_query_version_reply_t *_render_restrict_env(xcb_render_query_version_reply_t
      *version) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_hash_table_lookup
      Src: /src/cairo/src/cairo-xcb-connection.c:744,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - connection
    - pixman_format
    argTypes:
    - cairo_xcb_connection_t*
    - pixman_format_code_t
    constantsTouched: []
    func_position:
      end: 746
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 746
    functionName: _cairo_xcb_connection_get_xrender_format
    functionSourceFile: /src/cairo/src/cairo-xcb-connection.c
    functionUses: []
    functionsReached:
    - _cairo_hash_table_lookup
    linkageType: ''
    returnType: xcb_render_pictformat_t
    signature: "xcb_render_pictformat_t _cairo_xcb_connection_get_xrender_format (cairo_xcb_connection_t\
      \ *connection,\t\t\t\t\t pixman_format_code_t pixman_format) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 777
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 777
    functionName: cairo_xcb_device_get_connection
    functionSourceFile: /src/cairo/src/cairo-xcb-connection.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: xcb_connection_t*
    signature: 'xcb_connection_t *cairo_xcb_device_get_connection (cairo_device_t
      *device) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xcb_setup_roots_iterator
      Src: /src/cairo/src/cairo-xcb-connection.c:285,1
    - Dst: xcb_screen_allowed_depths_iterator
      Src: /src/cairo/src/cairo-xcb-connection.c:292,1
    - Dst: xcb_screen_next
      Src: /src/cairo/src/cairo-xcb-connection.c:287,1
    - Dst: xcb_depth_next
      Src: /src/cairo/src/cairo-xcb-connection.c:294,1
    - Dst: DEPTH_MASK
      Src: /src/cairo/src/cairo-xcb-connection.c:296,1
    - Dst: pixmap_depths_usable
      Src: /src/cairo/src/cairo-xcb-connection.c:308,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - connection
    argTypes:
    - cairo_xcb_connection_t*
    constantsTouched: []
    func_position:
      end: 313
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 313
    functionName: has_required_depths
    functionSourceFile: /src/cairo/src/cairo-xcb-connection.c
    functionUses: []
    functionsReached:
    - xcb_depth_next
    - xcb_setup_roots_iterator
    - xcb_screen_allowed_depths_iterator
    - xcb_screen_next
    - pixmap_depths_usable
    - DEPTH_MASK
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t has_required_depths (cairo_xcb_connection_t *connection) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: XCB_RENDER_HAS_PDF_OPERATORS
      Src: /src/cairo/src/cairo-xcb-connection.c:399,1
    - Dst: XCB_RENDER_HAS_PICTURE_TRANSFORM
      Src: /src/cairo/src/cairo-xcb-connection.c:387,1
    - Dst: free
      Src: /src/cairo/src/cairo-xcb-connection.c:420,1
    - Dst: xcb_render_query_pict_formats_reply
      Src: /src/cairo/src/cairo-xcb-connection.c:366,1
    - Dst: _render_restrict_env
      Src: /src/cairo/src/cairo-xcb-connection.c:368,1
    - Dst: free
      Src: /src/cairo/src/cairo-xcb-connection.c:371,1
    - Dst: free
      Src: /src/cairo/src/cairo-xcb-connection.c:372,1
    - Dst: XCB_RENDER_HAS_EXTENDED_REPEAT
      Src: /src/cairo/src/cairo-xcb-connection.c:402,1
    - Dst: XCB_RENDER_HAS_FILTERS
      Src: /src/cairo/src/cairo-xcb-connection.c:390,1
    - Dst: free
      Src: /src/cairo/src/cairo-xcb-connection.c:417,1
    - Dst: _cairo_xcb_connection_parse_xrender_formats
      Src: /src/cairo/src/cairo-xcb-connection.c:419,1
    - Dst: xcb_render_query_version_reply
      Src: /src/cairo/src/cairo-xcb-connection.c:365,1
    - Dst: XCB_RENDER_HAS_FILL_RECTANGLES
      Src: /src/cairo/src/cairo-xcb-connection.c:381,1
    - Dst: XCB_RENDER_HAS_GRADIENTS
      Src: /src/cairo/src/cairo-xcb-connection.c:405,1
    - Dst: XCB_RENDER_HAS_FILTER_GOOD
      Src: /src/cairo/src/cairo-xcb-connection.c:393,1
    - Dst: xcb_render_query_version
      Src: /src/cairo/src/cairo-xcb-connection.c:361,1
    - Dst: has_required_depths
      Src: /src/cairo/src/cairo-xcb-connection.c:364,1
    - Dst: xcb_render_query_pict_formats
      Src: /src/cairo/src/cairo-xcb-connection.c:362,1
    - Dst: XCB_RENDER_HAS_TRAPEZOIDS
      Src: /src/cairo/src/cairo-xcb-connection.c:384,1
    - Dst: XCB_RENDER_HAS_SUBPIXEL_ORDER
      Src: /src/cairo/src/cairo-xcb-connection.c:408,1
    - Dst: XCB_RENDER_HAS_FILTER_BEST
      Src: /src/cairo/src/cairo-xcb-connection.c:396,1
    - Dst: xcb_render_query_pict_formats_subpixels
      Src: /src/cairo/src/cairo-xcb-connection.c:410,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 54
    argCount: 1
    argNames:
    - connection
    argTypes:
    - cairo_xcb_connection_t*
    constantsTouched: []
    func_position:
      end: 423
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 423
    functionName: _cairo_xcb_connection_query_render
    functionSourceFile: /src/cairo/src/cairo-xcb-connection.c
    functionUses: []
    functionsReached:
    - XCB_RENDER_HAS_PICTURE_TRANSFORM
    - XCB_RENDER_HAS_SUBPIXEL_ORDER
    - XCB_RENDER_HAS_FILTERS
    - XCB_RENDER_HAS_PDF_OPERATORS
    - xcb_render_query_pict_formats
    - xcb_render_query_pict_formats_subpixels
    - _cairo_xcb_connection_parse_xrender_formats
    - xcb_render_query_pict_formats_reply
    - XCB_RENDER_HAS_FILTER_BEST
    - XCB_RENDER_HAS_GRADIENTS
    - xcb_render_query_version
    - _render_restrict_env
    - has_required_depths
    - XCB_RENDER_HAS_TRAPEZOIDS
    - xcb_render_query_version_reply
    - XCB_RENDER_HAS_EXTENDED_REPEAT
    - XCB_RENDER_HAS_FILTER_GOOD
    - free
    - XCB_RENDER_HAS_FILL_RECTANGLES
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_xcb_connection_query_render (cairo_xcb_connection_t
      *connection) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_hash_table_lookup
      Src: /src/cairo/src/cairo-xcb-connection.c:756,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - connection
    - visual
    argTypes:
    - cairo_xcb_connection_t*
    - xcb_visualid_t
    constantsTouched: []
    func_position:
      end: 758
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 758
    functionName: _cairo_xcb_connection_get_xrender_format_for_visual
    functionSourceFile: /src/cairo/src/cairo-xcb-connection.c
    functionUses: []
    functionsReached:
    - _cairo_hash_table_lookup
    linkageType: ''
    returnType: xcb_render_pictformat_t
    signature: "xcb_render_pictformat_t _cairo_xcb_connection_get_xrender_format_for_visual\
      \ (cairo_xcb_connection_t *connection,\t\t\t\t\t\t const xcb_visualid_t visual) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xcb_cairo_query_version_reply
      Src: /src/cairo/src/cairo-xcb-connection.c:432,1
    - Dst: xcb_cairo_query_version
      Src: /src/cairo/src/cairo-xcb-connection.c:433,1
    - Dst: free
      Src: /src/cairo/src/cairo-xcb-connection.c:436,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - connection
    argTypes:
    - cairo_xcb_connection_t*
    constantsTouched: []
    func_position:
      end: 437
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 437
    functionName: _cairo_xcb_connection_query_cairo
    functionSourceFile: /src/cairo/src/cairo-xcb-connection.c
    functionUses: []
    functionsReached:
    - xcb_cairo_query_version_reply
    - xcb_cairo_query_version
    - free
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_xcb_connection_query_cairo (cairo_xcb_connection_t
      *connection) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xcb_setup_pixmap_formats
      Src: /src/cairo/src/cairo-xcb-connection.c:134,1
    - Dst: xcb_setup_pixmap_formats_length
      Src: /src/cairo/src/cairo-xcb-connection.c:135,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 142
    functionName: find_format_for_depth
    functionSourceFile: /src/cairo/src/cairo-xcb-connection.c
    functionUses: []
    functionsReached:
    - xcb_setup_pixmap_formats
    - xcb_setup_pixmap_formats_length
    linkageType: ''
    returnType: xcb_format_t*
    signature: 'static xcb_format_t *find_format_for_depth (const xcb_setup_t *setup,
      uint8_t depth) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: shmget
      Src: /src/cairo/src/cairo-xcb-connection.c:452,1
    - Dst: shmat
      Src: /src/cairo/src/cairo-xcb-connection.c:456,1
    - Dst: xcb_shm_attach_checked
      Src: /src/cairo/src/cairo-xcb-connection.c:463,1
    - Dst: shmctl
      Src: /src/cairo/src/cairo-xcb-connection.c:458,1
    - Dst: xcb_generate_id
      Src: /src/cairo/src/cairo-xcb-connection.c:462,1
    - Dst: xcb_shm_detach_checked
      Src: /src/cairo/src/cairo-xcb-connection.c:464,1
    - Dst: xcb_request_check
      Src: /src/cairo/src/cairo-xcb-connection.c:466,1
    - Dst: xcb_request_check
      Src: /src/cairo/src/cairo-xcb-connection.c:470,1
    - Dst: shmctl
      Src: /src/cairo/src/cairo-xcb-connection.c:474,1
    - Dst: shmdt
      Src: /src/cairo/src/cairo-xcb-connection.c:475,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 1
    argNames:
    - connection
    argTypes:
    - cairo_xcb_connection_t*
    constantsTouched: []
    func_position:
      end: 478
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 478
    functionName: can_use_shm
    functionSourceFile: /src/cairo/src/cairo-xcb-connection.c
    functionUses: []
    functionsReached:
    - shmget
    - shmdt
    - xcb_shm_attach_checked
    - xcb_shm_detach_checked
    - shmat
    - xcb_request_check
    - shmctl
    - xcb_generate_id
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t can_use_shm (cairo_xcb_connection_t *connection) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_is_empty
      Src: /src/cairo/src/cairo-xcb-connection.c:531,1
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-xcb-connection.c:532,1
    - Dst: cairo_list_is_empty
      Src: /src/cairo/src/cairo-xcb-connection.c:538,1
    - Dst: cairo_list_del
      Src: /src/cairo/src/cairo-xcb-connection.c:533,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-xcb-connection.c:534,1
    - Dst: cairo_list_first_entry
      Src: /src/cairo/src/cairo-xcb-connection.c:541,1
    - Dst: _cairo_xcb_font_close
      Src: /src/cairo/src/cairo-xcb-connection.c:544,1
    - Dst: cairo_list_is_empty
      Src: /src/cairo/src/cairo-xcb-connection.c:547,1
    - Dst: cairo_list_first_entry
      Src: /src/cairo/src/cairo-xcb-connection.c:550,1
    - Dst: _cairo_xcb_screen_finish
      Src: /src/cairo/src/cairo-xcb-connection.c:553,1
    - Dst: cairo_device_destroy
      Src: /src/cairo/src/cairo-xcb-connection.c:563,1
    - Dst: _cairo_xcb_connection_shm_mem_pools_flush
      Src: /src/cairo/src/cairo-xcb-connection.c:559,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - device
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 564
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 564
    functionName: _device_finish
    functionSourceFile: /src/cairo/src/cairo-xcb-connection.c
    functionUses: []
    functionsReached:
    - CAIRO_MUTEX_LOCK
    - cairo_device_destroy
    - _cairo_xcb_font_close
    - cairo_list_first_entry
    - CAIRO_MUTEX_UNLOCK
    - _cairo_xcb_screen_finish
    - _cairo_xcb_connection_shm_mem_pools_flush
    - cairo_list_del
    - cairo_list_is_empty
    linkageType: ''
    returnType: void
    signature: 'static void _device_finish (void *device) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: xcb_render_query_pict_formats_formats_iterator
      Src: /src/cairo/src/cairo-xcb-connection.c:152,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-connection.c:180,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xcb-connection.c:181,1
    - Dst: _cairo_hash_table_insert
      Src: /src/cairo/src/cairo-xcb-connection.c:185,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-connection.c:187,1
    - Dst: _cairo_xcb_connection_get_xrender_format
      Src: /src/cairo/src/cairo-xcb-connection.c:211,1
    - Dst: _cairo_xcb_connection_get_xrender_format
      Src: /src/cairo/src/cairo-xcb-connection.c:229,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-xcb-connection.c:179,1
    - Dst: _pixman_format_from_masks
      Src: /src/cairo/src/cairo-xcb-connection.c:172,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-connection.c:207,1
    - Dst: _cairo_xcb_connection_find_visual_formats
      Src: /src/cairo/src/cairo-xcb-connection.c:206,1
    - Dst: PIXMAN_FORMAT_DEPTH
      Src: /src/cairo/src/cairo-xcb-connection.c:199,1
    - Dst: _cairo_xcb_connection_get_xrender_format
      Src: /src/cairo/src/cairo-xcb-connection.c:232,1
    - Dst: PIXMAN_FORMAT
      Src: /src/cairo/src/cairo-xcb-connection.c:218,1
    - Dst: PIXMAN_FORMAT
      Src: /src/cairo/src/cairo-xcb-connection.c:224,1
    - Dst: _cairo_hash_table_lookup
      Src: /src/cairo/src/cairo-xcb-connection.c:176,1
    - Dst: xcb_render_pictforminfo_next
      Src: /src/cairo/src/cairo-xcb-connection.c:154,1
    - Dst: printf
      Src: /src/cairo/src/cairo-xcb-connection.c:191,1
    - Dst: PIXMAN_FORMAT_BPP
      Src: /src/cairo/src/cairo-xcb-connection.c:200,1
    - Dst: _cairo_xcb_connection_get_xrender_format
      Src: /src/cairo/src/cairo-xcb-connection.c:214,1
    - Dst: _cairo_xcb_connection_get_xrender_format
      Src: /src/cairo/src/cairo-xcb-connection.c:217,1
    - Dst: _cairo_xcb_connection_get_xrender_format
      Src: /src/cairo/src/cairo-xcb-connection.c:223,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 55
    argCount: 2
    argNames:
    - connection
    - formats
    argTypes:
    - cairo_xcb_connection_t*
    - xcb_render_query_pict_formats_reply_t*
    constantsTouched: []
    func_position:
      end: 236
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 236
    functionName: _cairo_xcb_connection_parse_xrender_formats
    functionSourceFile: /src/cairo/src/cairo-xcb-connection.c
    functionUses: []
    functionsReached:
    - printf
    - xcb_render_pictforminfo_next
    - _cairo_error
    - unlikely
    - xcb_render_query_pict_formats_formats_iterator
    - _cairo_xcb_connection_find_visual_formats
    - _cairo_hash_table_insert
    - PIXMAN_FORMAT_BPP
    - _pixman_format_from_masks
    - _cairo_xcb_connection_get_xrender_format
    - PIXMAN_FORMAT
    - _cairo_hash_table_lookup
    - PIXMAN_FORMAT_DEPTH
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_xcb_connection_parse_xrender_formats\
      \ (cairo_xcb_connection_t *connection,\t\t\t\t\t const xcb_render_query_pict_formats_reply_t\
      \ *formats) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xcb_shm_query_version_reply
      Src: /src/cairo/src/cairo-xcb-connection.c:486,1
    - Dst: free
      Src: /src/cairo/src/cairo-xcb-connection.c:490,1
    - Dst: xcb_shm_query_version
      Src: /src/cairo/src/cairo-xcb-connection.c:486,1
    - Dst: can_use_shm
      Src: /src/cairo/src/cairo-xcb-connection.c:492,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - connection
    argTypes:
    - cairo_xcb_connection_t*
    constantsTouched: []
    func_position:
      end: 494
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 494
    functionName: _cairo_xcb_connection_query_shm
    functionSourceFile: /src/cairo/src/cairo-xcb-connection.c
    functionUses: []
    functionsReached:
    - xcb_shm_query_version_reply
    - free
    - can_use_shm
    - xcb_shm_query_version
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_xcb_connection_query_shm (cairo_xcb_connection_t
      *connection) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_hash_table_foreach
      Src: /src/cairo/src/cairo-xcb-connection.c:571,1
    - Dst: _cairo_hash_table_destroy
      Src: /src/cairo/src/cairo-xcb-connection.c:578,1
    - Dst: _cairo_hash_table_foreach
      Src: /src/cairo/src/cairo-xcb-connection.c:575,1
    - Dst: _cairo_hash_table_destroy
      Src: /src/cairo/src/cairo-xcb-connection.c:573,1
    - Dst: _cairo_xcb_connection_shm_mem_pools_fini
      Src: /src/cairo/src/cairo-xcb-connection.c:581,1
    - Dst: _cairo_freepool_fini
      Src: /src/cairo/src/cairo-xcb-connection.c:583,1
    - Dst: CAIRO_MUTEX_FINI
      Src: /src/cairo/src/cairo-xcb-connection.c:585,1
    - Dst: CAIRO_MUTEX_FINI
      Src: /src/cairo/src/cairo-xcb-connection.c:586,1
    - Dst: free
      Src: /src/cairo/src/cairo-xcb-connection.c:588,1
    - Dst: free
      Src: /src/cairo/src/cairo-xcb-connection.c:589,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - device
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 590
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 590
    functionName: _device_destroy
    functionSourceFile: /src/cairo/src/cairo-xcb-connection.c
    functionUses: []
    functionsReached:
    - free
    - _cairo_hash_table_destroy
    - _cairo_hash_table_foreach
    - _cairo_freepool_fini
    - CAIRO_MUTEX_FINI
    - _cairo_xcb_connection_shm_mem_pools_fini
    linkageType: ''
    returnType: void
    signature: 'static void _device_destroy (void *device) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_device_set_error
      Src: /src/cairo/src/cairo-xcb-connection.c:806,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - device
    - major_version
    - minor_version
    argTypes:
    - cairo_device_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 820
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 820
    functionName: cairo_xcb_device_debug_cap_xshm_version
    functionSourceFile: /src/cairo/src/cairo-xcb-connection.c
    functionUses: []
    functionsReached:
    - _cairo_device_set_error
    linkageType: ''
    returnType: void
    signature: 'void cairo_xcb_device_debug_cap_xshm_version (cairo_device_t *device,
      int major_version, int minor_version) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/test-null-compositor-surface.c:75,1
    - Dst: pixman_image_create_bits
      Src: /src/cairo/src/test-null-compositor-surface.c:78,1
    - Dst: unlikely
      Src: /src/cairo/src/test-null-compositor-surface.c:80,1
    - Dst: _cairo_error
      Src: /src/cairo/src/test-null-compositor-surface.c:75,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/test-null-compositor-surface.c:81,1
    - Dst: _cairo_error
      Src: /src/cairo/src/test-null-compositor-surface.c:81,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/test-null-compositor-surface.c:83,1
    - Dst: unlikely
      Src: /src/cairo/src/test-null-compositor-surface.c:84,1
    - Dst: pixman_image_unref
      Src: /src/cairo/src/test-null-compositor-surface.c:85,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/test-null-compositor-surface.c:86,1
    - Dst: _cairo_error
      Src: /src/cairo/src/test-null-compositor-surface.c:86,1
    - Dst: _cairo_surface_init
      Src: /src/cairo/src/test-null-compositor-surface.c:89,1
    - Dst: _cairo_image_surface_init
      Src: /src/cairo/src/test-null-compositor-surface.c:94,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 99
    functionName: test_compositor_surface_create
    functionSourceFile: /src/cairo/src/test-null-compositor-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_init
    - _cairo_error
    - pixman_image_unref
    - _cairo_surface_create_in_error
    - _cairo_image_surface_init
    - pixman_image_create_bits
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *test_compositor_surface_create (const cairo_compositor_t\
      \ *compositor,\t\t\t\tcairo_content_t\tcontent,\t\t\t\tint\t\twidth,\t\t\t\t\
      int\t\theight) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - _surface
    - region
    argTypes:
    - void*
    - cairo_region_t*
    constantsTouched: []
    func_position:
      end: 240
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 240
    functionName: set_clip_region
    functionSourceFile: /src/cairo/src/test-null-compositor-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t set_clip_region (void *_surface,\t\t cairo_region_t\
      \ *region) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_compositor_surface_create
      Src: /src/cairo/src/test-null-compositor-surface.c:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 111
    functionName: test_compositor_surface_create_similar
    functionSourceFile: /src/cairo/src/test-null-compositor-surface.c
    functionUses: []
    functionsReached:
    - test_compositor_surface_create
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *test_compositor_surface_create_similar (void\t\
      \t*abstract_surface,\t\t\t\t\tcairo_content_t\t content,\t\t\t\t\tint\t\t width,\t\
      \t\t\t\tint\t\t height) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create
      Src: /src/cairo/src/test-null-compositor-surface.c:250,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 251
    functionName: pattern_to_surface
    functionSourceFile: /src/cairo/src/test-null-compositor-surface.c
    functionUses: []
    functionsReached:
    - cairo_image_surface_create
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *pattern_to_surface (cairo_surface_t *dst,\t\
      \t const cairo_pattern_t *pattern,\t\t cairo_bool_t is_mask,\t\t const cairo_rectangle_int_t\
      \ *extents,\t\t const cairo_rectangle_int_t *sample,\t\t int *src_x, int *src_y) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_compositor_surface_create
      Src: /src/cairo/src/test-null-compositor-surface.c:484,1
    - Dst: no_spans_compositor_get
      Src: /src/cairo/src/test-null-compositor-surface.c:484,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 486
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 486
    functionName: _cairo_test_no_spans_compositor_surface_create
    functionSourceFile: /src/cairo/src/test-null-compositor-surface.c
    functionUses: []
    functionsReached:
    - no_spans_compositor_get
    - test_compositor_surface_create
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *_cairo_test_no_spans_compositor_surface_create (cairo_content_t\t\
      content,\t\t\t\t\t int\t\twidth,\t\t\t\t\t int\t\theight) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - abstract_dst
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 227
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 227
    functionName: acquire
    functionSourceFile: /src/cairo/src/test-null-compositor-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t acquire (void *abstract_dst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 4
    argNames:
    - _dst
    - op
    - color
    - boxes
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_color_t*
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 260
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 260
    functionName: fill_boxes
    functionSourceFile: /src/cairo/src/test-null-compositor-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t fill_boxes (void\t\t*_dst,\t cairo_operator_t\t\
      \ op,\t const cairo_color_t\t*color,\t cairo_boxes_t\t*boxes) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 12
    argNames:
    - _dst
    - op
    - abstract_src
    - abstract_mask
    - src_x
    - src_y
    - mask_x
    - mask_y
    - dst_x
    - dst_y
    - width
    - height
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_surface_t*
    - cairo_surface_t*
    - int
    - int
    - int
    - int
    - int
    - int
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 286
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 286
    functionName: composite
    functionSourceFile: /src/cairo/src/test-null-compositor-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t composite (void\t\t\t*_dst,\t cairo_operator_t\t\
      op,\t cairo_surface_t\t*abstract_src,\t cairo_surface_t\t*abstract_mask,\t int\t\
      \t\tsrc_x,\t int\t\t\tsrc_y,\t int\t\t\tmask_x,\t int\t\t\tmask_y,\t int\t\t\
      \tdst_x,\t int\t\t\tdst_y,\t unsigned int\t\twidth,\t unsigned int\t\theight) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 5
    argNames:
    - abstract_renderer
    - y
    - height
    - spans
    - num_spans
    argTypes:
    - void*
    - int
    - int
    - cairo_half_open_span_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 365
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 365
    functionName: spans
    functionSourceFile: /src/cairo/src/test-null-compositor-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t spans (void *abstract_renderer, int y, int height,
      const cairo_half_open_span_t *spans, unsigned num_spans) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - _r
    - composite
    - antialias
    - needs_clip
    argTypes:
    - cairo_abstract_span_renderer_t*
    - cairo_composite_rectangles_t*
    - cairo_antialias_t
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 383
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 383
    functionName: span_renderer_init
    functionSourceFile: /src/cairo/src/test-null-compositor-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t span_renderer_init (cairo_abstract_span_renderer_t\t\
      *_r,\t\t const cairo_composite_rectangles_t *composite,\t\t cairo_antialias_t\t\
      \t\tantialias,\t\t cairo_bool_t\t\t\tneeds_clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - abstract_dst
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 233
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 233
    functionName: release
    functionSourceFile: /src/cairo/src/test-null-compositor-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t release (void *abstract_dst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 5
    argNames:
    - _dst
    - image
    - boxes
    - dx
    - dy
    argTypes:
    - void*
    - cairo_image_surface_t*
    - cairo_boxes_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 269
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 269
    functionName: draw_image_boxes
    functionSourceFile: /src/cairo/src/test-null-compositor-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t draw_image_boxes (void *_dst,\t\t cairo_image_surface_t\
      \ *image,\t\t cairo_boxes_t *boxes,\t\t int dx, int dy) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 11
    argNames:
    - _dst
    - abstract_src
    - abstract_mask
    - src_x
    - src_y
    - mask_x
    - mask_y
    - dst_x
    - dst_y
    - width
    - height
    argTypes:
    - void*
    - cairo_surface_t*
    - cairo_surface_t*
    - int
    - int
    - int
    - int
    - int
    - int
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 302
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 302
    functionName: lerp
    functionSourceFile: /src/cairo/src/test-null-compositor-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t lerp (void\t\t\t*_dst, cairo_surface_t\t\
      \t*abstract_src, cairo_surface_t\t\t*abstract_mask, int\t\t\tsrc_x, int\t\t\t\
      src_y, int\t\t\tmask_x, int\t\t\tmask_y, int\t\t\tdst_x, int\t\t\tdst_y, unsigned\
      \ int\t\twidth, unsigned int\t\theight) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - abstract_renderer
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 371
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 371
    functionName: finish_spans
    functionSourceFile: /src/cairo/src/test-null-compositor-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t finish_spans (void *abstract_renderer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - _r
    - status
    argTypes:
    - cairo_abstract_span_renderer_t*
    - cairo_int_status_t
    constantsTouched: []
    func_position:
      end: 389
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 389
    functionName: span_renderer_fini
    functionSourceFile: /src/cairo/src/test-null-compositor-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void span_renderer_fini (cairo_abstract_span_renderer_t *_r,\t\
      \t cairo_int_status_t status) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_compositor_stroke
      Src: /src/cairo/src/test-null-compositor-surface.c:151,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 10
    argNames:
    - _surface
    - op
    - source
    - path
    - style
    - ctm
    - ctm_inverse
    - tolerance
    - antialias
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 156
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 156
    functionName: test_compositor_surface_stroke
    functionSourceFile: /src/cairo/src/test-null-compositor-surface.c
    functionUses: []
    functionsReached:
    - _cairo_compositor_stroke
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t test_compositor_surface_stroke (void\t\t\
      \t\t*_surface,\t\t\t\tcairo_operator_t\t\t op,\t\t\t\tconst cairo_pattern_t\t\
      \t*source,\t\t\t\tconst cairo_path_fixed_t\t*path,\t\t\t\tconst cairo_stroke_style_t\t\
      *style,\t\t\t\tconst cairo_matrix_t\t\t*ctm,\t\t\t\tconst cairo_matrix_t\t\t\
      *ctm_inverse,\t\t\t\tdouble\t\t\t\t tolerance,\t\t\t\tcairo_antialias_t\t\t\
      \ antialias,\t\t\t\tconst cairo_clip_t\t\t*clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_compositor_paint
      Src: /src/cairo/src/test-null-compositor-surface.c:120,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - _surface
    - op
    - source
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: test_compositor_surface_paint
    functionSourceFile: /src/cairo/src/test-null-compositor-surface.c
    functionUses: []
    functionsReached:
    - _cairo_compositor_paint
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t test_compositor_surface_paint (void\t\t\t\
      *_surface,\t\t\t cairo_operator_t\t\t op,\t\t\t const cairo_pattern_t\t*source,\t\
      \t\t const cairo_clip_t\t*clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 4
    argNames:
    - extents
    - scaled_font
    - glyphs
    - num_glyphs
    argTypes:
    - cairo_composite_rectangles_t*
    - cairo_scaled_font_t*
    - cairo_glyph_t*
    - int*
    constantsTouched: []
    func_position:
      end: 343
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 343
    functionName: check_composite_glyphs
    functionSourceFile: /src/cairo/src/test-null-compositor-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t check_composite_glyphs (const cairo_composite_rectangles_t\
      \ *extents,\t\t\tcairo_scaled_font_t *scaled_font,\t\t\tcairo_glyph_t *glyphs,\t\
      \t\tint *num_glyphs) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_compositor_mask
      Src: /src/cairo/src/test-null-compositor-surface.c:133,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 5
    argNames:
    - _surface
    - op
    - source
    - mask
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 136
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 136
    functionName: test_compositor_surface_mask
    functionSourceFile: /src/cairo/src/test-null-compositor-surface.c
    functionUses: []
    functionsReached:
    - _cairo_compositor_mask
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t test_compositor_surface_mask (void\t\t\t\
      *_surface,\t\t\t cairo_operator_t\t\t op,\t\t\t const cairo_pattern_t\t*source,\t\
      \t\t const cairo_pattern_t\t*mask,\t\t\t const cairo_clip_t\t*clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_compositor_fill
      Src: /src/cairo/src/test-null-compositor-surface.c:169,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 8
    argNames:
    - _surface
    - op
    - source
    - path
    - fill_rule
    - tolerance
    - antialias
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 173
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 173
    functionName: test_compositor_surface_fill
    functionSourceFile: /src/cairo/src/test-null-compositor-surface.c
    functionUses: []
    functionsReached:
    - _cairo_compositor_fill
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t test_compositor_surface_fill (void\t\t\t\
      *_surface,\t\t\t cairo_operator_t\t\t op,\t\t\t const cairo_pattern_t\t*source,\t\
      \t\t const cairo_path_fixed_t\t*path,\t\t\t cairo_fill_rule_t\t\t fill_rule,\t\
      \t\t double\t\t\t tolerance,\t\t\t cairo_antialias_t\t\t antialias,\t\t\t const\
      \ cairo_clip_t\t*clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 8
    argNames:
    - _dst
    - op
    - _src
    - src_x
    - src_y
    - dst_x
    - dst_y
    - info
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_surface_t*
    - int
    - int
    - int
    - int
    - cairo_composite_glyphs_info_t*
    constantsTouched: []
    func_position:
      end: 356
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 356
    functionName: composite_glyphs
    functionSourceFile: /src/cairo/src/test-null-compositor-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t composite_glyphs (void\t\t\t\t*_dst,\t\t\
      \ cairo_operator_t\t\t op,\t\t cairo_surface_t\t\t*_src,\t\t int\t\t\t\t src_x,\t\
      \t int\t\t\t\t src_y,\t\t int\t\t\t\t dst_x,\t\t int\t\t\t\t dst_y,\t\t cairo_composite_glyphs_info_t\
      \ *info) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_compositor_glyphs
      Src: /src/cairo/src/test-null-compositor-surface.c:185,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 7
    argNames:
    - _surface
    - op
    - source
    - glyphs
    - num_glyphs
    - scaled_font
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_glyph_t*
    - int
    - cairo_scaled_font_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 189
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 189
    functionName: test_compositor_surface_glyphs
    functionSourceFile: /src/cairo/src/test-null-compositor-surface.c
    functionUses: []
    functionsReached:
    - _cairo_compositor_glyphs
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t test_compositor_surface_glyphs (void\t\t\
      \t*_surface,\t\t\t\tcairo_operator_t\t op,\t\t\t\tconst cairo_pattern_t\t*source,\t\
      \t\t\tcairo_glyph_t\t\t*glyphs,\t\t\t\tint\t\t\t num_glyphs,\t\t\t\tcairo_scaled_font_t\t\
      *scaled_font,\t\t\t\tconst cairo_clip_t\t*clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 1
    argCount: 12
    argNames:
    - _dst
    - op
    - abstract_src
    - abstract_mask
    - src_x
    - src_y
    - mask_x
    - mask_y
    - dst_x
    - dst_y
    - boxes
    - extents
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_surface_t*
    - cairo_surface_t*
    - int
    - int
    - int
    - int
    - int
    - int
    - cairo_boxes_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 319
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 319
    functionName: composite_boxes
    functionSourceFile: /src/cairo/src/test-null-compositor-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t composite_boxes (void\t\t\t*_dst,\t\t cairo_operator_t\t\
      op,\t\t cairo_surface_t\t*abstract_src,\t\t cairo_surface_t\t*abstract_mask,\t\
      \t int\t\t\tsrc_x,\t\t int\t\t\tsrc_y,\t\t int\t\t\tmask_x,\t\t int\t\t\tmask_y,\t\
      \t int\t\t\tdst_x,\t\t int\t\t\tdst_y,\t\t cairo_boxes_t\t\t*boxes,\t\t const\
      \ cairo_rectangle_int_t *extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 395
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 395
    functionName: no_fallback_compositor_get
    functionSourceFile: /src/cairo/src/test-null-compositor-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_compositor_t*
    signature: 'static const cairo_compositor_t *no_fallback_compositor_get (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_atomic_init_once_enter
      Src: /src/cairo/src/test-null-compositor-surface.c:409,1
    - Dst: _cairo_atomic_init_once_leave
      Src: /src/cairo/src/test-null-compositor-surface.c:430,1
    - Dst: _cairo_traps_compositor_init
      Src: /src/cairo/src/test-null-compositor-surface.c:410,1
    - Dst: no_fallback_compositor_get
      Src: /src/cairo/src/test-null-compositor-surface.c:411,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 434
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 434
    functionName: no_traps_compositor_get
    functionSourceFile: /src/cairo/src/test-null-compositor-surface.c
    functionUses: []
    functionsReached:
    - _cairo_atomic_init_once_leave
    - _cairo_atomic_init_once_enter
    - _cairo_traps_compositor_init
    - no_fallback_compositor_get
    linkageType: ''
    returnType: cairo_compositor_t*
    signature: 'static const cairo_compositor_t *no_traps_compositor_get (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_compositor_surface_create
      Src: /src/cairo/src/test-null-compositor-surface.c:466,1
    - Dst: no_fallback_compositor_get
      Src: /src/cairo/src/test-null-compositor-surface.c:466,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 468
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 468
    functionName: _cairo_test_no_fallback_compositor_surface_create
    functionSourceFile: /src/cairo/src/test-null-compositor-surface.c
    functionUses: []
    functionsReached:
    - test_compositor_surface_create
    - no_fallback_compositor_get
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *_cairo_test_no_fallback_compositor_surface_create\
      \ (cairo_content_t\tcontent,\t\t\t\t\t\t int\t\twidth,\t\t\t\t\t\t int\t\theight) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 10
    argNames:
    - _dst
    - op
    - abstract_src
    - src_x
    - src_y
    - dst_x
    - dst_y
    - extents
    - antialias
    - traps
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_surface_t*
    - int
    - int
    - int
    - int
    - cairo_rectangle_int_t*
    - cairo_antialias_t
    - cairo_traps_t*
    constantsTouched: []
    func_position:
      end: 334
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 334
    functionName: composite_traps
    functionSourceFile: /src/cairo/src/test-null-compositor-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t composite_traps (void\t\t\t*_dst,\t\t cairo_operator_t\t\
      op,\t\t cairo_surface_t\t*abstract_src,\t\t int\t\t\tsrc_x,\t\t int\t\t\tsrc_y,\t\
      \t int\t\t\tdst_x,\t\t int\t\t\tdst_y,\t\t const cairo_rectangle_int_t *extents,\t\
      \t cairo_antialias_t\tantialias,\t\t cairo_traps_t\t\t*traps) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - extents
    argTypes:
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 401
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 401
    functionName: check_composite
    functionSourceFile: /src/cairo/src/test-null-compositor-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t check_composite (const cairo_composite_rectangles_t
      *extents) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_atomic_init_once_enter
      Src: /src/cairo/src/test-null-compositor-surface.c:442,1
    - Dst: no_traps_compositor_get
      Src: /src/cairo/src/test-null-compositor-surface.c:444,1
    - Dst: _cairo_spans_compositor_init
      Src: /src/cairo/src/test-null-compositor-surface.c:443,1
    - Dst: _cairo_atomic_init_once_leave
      Src: /src/cairo/src/test-null-compositor-surface.c:455,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 459
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 459
    functionName: no_spans_compositor_get
    functionSourceFile: /src/cairo/src/test-null-compositor-surface.c
    functionUses: []
    functionsReached:
    - _cairo_atomic_init_once_leave
    - _cairo_atomic_init_once_enter
    - _cairo_spans_compositor_init
    - no_traps_compositor_get
    linkageType: ''
    returnType: cairo_compositor_t*
    signature: 'static const cairo_compositor_t *no_spans_compositor_get (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_compositor_surface_create
      Src: /src/cairo/src/test-null-compositor-surface.c:475,1
    - Dst: no_traps_compositor_get
      Src: /src/cairo/src/test-null-compositor-surface.c:475,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 477
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 477
    functionName: _cairo_test_no_traps_compositor_surface_create
    functionSourceFile: /src/cairo/src/test-null-compositor-surface.c
    functionUses: []
    functionsReached:
    - test_compositor_surface_create
    - no_traps_compositor_get
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *_cairo_test_no_traps_compositor_surface_create (cairo_content_t\t\
      content,\t\t\t\t\t\tint\t\twidth,\t\t\t\t\t\tint\t\theight) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - hull
    - num_hull
    - index
    argTypes:
    - cairo_hull_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 146
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 146
    functionName: _cairo_hull_prev_valid
    functionSourceFile: /src/cairo/src/cairo-hull.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int _cairo_hull_prev_valid (cairo_hull_t *hull, int num_hull,
      int index) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_int64_add
      Src: /src/cairo/src/cairo-hull.c:86,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-hull.c:87,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-hull.c:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - slope
    argTypes:
    - cairo_slope_t*
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: _slope_length
    functionSourceFile: /src/cairo/src/cairo-hull.c
    functionUses: []
    functionsReached:
    - _cairo_int64_add
    - _cairo_int32x32_64_mul
    linkageType: ''
    returnType: cairo_int64_t
    signature: 'static inline cairo_int64_t _slope_length (cairo_slope_t *slope) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_hull_next_valid
      Src: /src/cairo/src/cairo-hull.c:165,1
    - Dst: _cairo_slope_compare
      Src: /src/cairo/src/cairo-hull.c:173,1
    - Dst: _cairo_hull_next_valid
      Src: /src/cairo/src/cairo-hull.c:166,1
    - Dst: _cairo_slope_init
      Src: /src/cairo/src/cairo-hull.c:170,1
    - Dst: _cairo_slope_init
      Src: /src/cairo/src/cairo-hull.c:169,1
    - Dst: _cairo_hull_prev_valid
      Src: /src/cairo/src/cairo-hull.c:178,1
    - Dst: _cairo_hull_next_valid
      Src: /src/cairo/src/cairo-hull.c:182,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - hull
    - num_hull
    argTypes:
    - cairo_hull_t*
    - int
    constantsTouched: []
    func_position:
      end: 185
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 185
    functionName: _cairo_hull_eliminate_concave
    functionSourceFile: /src/cairo/src/cairo-hull.c
    functionUses: []
    functionsReached:
    - _cairo_slope_compare
    - _cairo_hull_prev_valid
    - _cairo_hull_next_valid
    - _cairo_slope_init
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_hull_eliminate_concave (cairo_hull_t *hull, int
      num_hull) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_slope_init
      Src: /src/cairo/src/cairo-hull.c:69,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 3
    argNames:
    - hull
    - vertices
    - num_vertices
    argTypes:
    - cairo_hull_t*
    - cairo_pen_vertex_t*
    - int
    constantsTouched: []
    func_position:
      end: 81
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 81
    functionName: _cairo_hull_init
    functionSourceFile: /src/cairo/src/cairo-hull.c
    functionUses: []
    functionsReached:
    - _cairo_slope_init
    linkageType: ''
    returnType: void
    signature: "static void _cairo_hull_init (cairo_hull_t\t\t\t*hull,\t cairo_pen_vertex_t\t\
      \t*vertices,\t\t int\t\t\t\t num_vertices) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - hull
    - num_hull
    - index
    argTypes:
    - cairo_hull_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 156
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 156
    functionName: _cairo_hull_next_valid
    functionSourceFile: /src/cairo/src/cairo-hull.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int _cairo_hull_next_valid (cairo_hull_t *hull, int num_hull,
      int index) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_slope_compare
      Src: /src/cairo/src/cairo-hull.c:104,1
    - Dst: _slope_length
      Src: /src/cairo/src/cairo-hull.c:114,1
    - Dst: _slope_length
      Src: /src/cairo/src/cairo-hull.c:113,1
    - Dst: _cairo_int64_cmp
      Src: /src/cairo/src/cairo-hull.c:113,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 2
    argNames:
    - av
    - bv
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 130
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 130
    functionName: _cairo_hull_vertex_compare
    functionSourceFile: /src/cairo/src/cairo-hull.c
    functionUses: []
    functionsReached:
    - _slope_length
    - _cairo_int64_cmp
    - _cairo_slope_compare
    linkageType: ''
    returnType: int
    signature: 'static int _cairo_hull_vertex_compare (const void *av, const void
      *bv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - hull
    - vertices
    - num_vertices
    argTypes:
    - cairo_hull_t*
    - cairo_pen_vertex_t*
    - int*
    constantsTouched: []
    func_position:
      end: 199
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 199
    functionName: _cairo_hull_to_pen
    functionSourceFile: /src/cairo/src/cairo-hull.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_hull_to_pen (cairo_hull_t *hull, cairo_pen_vertex_t
      *vertices, int *num_vertices) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_STACK_ARRAY_LENGTH
      Src: /src/cairo/src/cairo-hull.c:206,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-hull.c:214,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-hull.c:211,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-hull.c:213,1
    - Dst: CAIRO_INJECT_FAULT
      Src: /src/cairo/src/cairo-hull.c:210,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-hull.c:215,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-hull.c:216,1
    - Dst: _cairo_hull_init
      Src: /src/cairo/src/cairo-hull.c:221,1
    - Dst: qsort
      Src: /src/cairo/src/cairo-hull.c:223,1
    - Dst: _cairo_hull_eliminate_concave
      Src: /src/cairo/src/cairo-hull.c:226,1
    - Dst: _cairo_hull_to_pen
      Src: /src/cairo/src/cairo-hull.c:228,1
    - Dst: free
      Src: /src/cairo/src/cairo-hull.c:231,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - vertices
    - num_vertices
    argTypes:
    - cairo_pen_vertex_t*
    - int*
    constantsTouched: []
    func_position:
      end: 234
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 234
    functionName: _cairo_hull_compute
    functionSourceFile: /src/cairo/src/cairo-hull.c
    functionUses: []
    functionsReached:
    - _cairo_hull_init
    - qsort
    - _cairo_error
    - free
    - ARRAY_LENGTH
    - unlikely
    - _cairo_hull_eliminate_concave
    - _cairo_hull_to_pen
    - _cairo_malloc_ab
    - CAIRO_INJECT_FAULT
    - CAIRO_STACK_ARRAY_LENGTH
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_hull_compute (cairo_pen_vertex_t *vertices,
      int *num_vertices) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - p
    - '...'
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: _void_consume
    functionSourceFile: /src/cairo/src/cairo-xlib-xrender-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '__attribute__((__unused__)) static void _void_consume (void *p, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - p
    - '...'
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: _int_consume
    functionSourceFile: /src/cairo/src/cairo-xlib-xrender-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '__attribute__((__unused__)) static int _int_consume (void *p, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: _voidp_consume
    functionSourceFile: /src/cairo/src/cairo-xlib-xrender-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: '__attribute__((__unused__)) static void * _voidp_consume (void *p,
      ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - Display*
    - XID
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: _void_consume_free
    functionSourceFile: /src/cairo/src/cairo-xlib-xrender-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '__attribute__((__unused__)) static void _void_consume_free (Display
      *p, XID n) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-observer.c:1468,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-surface-observer.c:1472,1
    - Dst: _cairo_surface_observer_add_callback
      Src: /src/cairo/src/cairo-surface-observer.c:1475,1
    - Dst: CAIRO_REFERENCE_COUNT_IS_INVALID
      Src: /src/cairo/src/cairo-surface-observer.c:1468,1
    - Dst: _cairo_surface_is_observer
      Src: /src/cairo/src/cairo-surface-observer.c:1471,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - abstract_surface
    - func
    - data
    argTypes:
    - cairo_surface_t*
    - cairo_surface_observer_callback_t
    - void*
    constantsTouched: []
    func_position:
      end: 1477
      start: 1461
    functionDepth: 0
    functionLinenumber: 1461
    functionLinenumberEnd: 1477
    functionName: cairo_surface_observer_add_paint_callback
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - _cairo_surface_is_observer
    - _cairo_error
    - CAIRO_REFERENCE_COUNT_IS_INVALID
    - _cairo_surface_observer_add_callback
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t cairo_surface_observer_add_paint_callback (cairo_surface_t\
      \ *abstract_surface,\t\t\t\t\t cairo_surface_observer_callback_t func,\t\t\t\
      \t\t void *data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 390
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 390
    functionName: to_device
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_device_observer_t*
    signature: 'static cairo_device_observer_t *to_device (cairo_surface_observer_t
      *suface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_callbacks
      Src: /src/cairo/src/cairo-surface-observer.c:449,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-surface-observer.c:451,1
    - Dst: log_fini
      Src: /src/cairo/src/cairo-surface-observer.c:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 455
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 455
    functionName: _cairo_surface_observer_finish
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - do_callbacks
    - log_fini
    - cairo_surface_destroy
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_surface_observer_finish (void *abstract_surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_release_source_image
      Src: /src/cairo/src/cairo-surface-observer.c:1320,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - abstract_surface
    - image
    - image_extra
    argTypes:
    - void*
    - cairo_image_surface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1321
      start: 1313
    functionDepth: 0
    functionLinenumber: 1313
    functionLinenumberEnd: 1321
    functionName: _cairo_surface_observer_release_source_image
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - _cairo_surface_release_source_image
    linkageType: ''
    returnType: void
    signature: "static void _cairo_surface_observer_release_source_image (void *abstract_surface,\t\
      \t\t\t\t\tcairo_image_surface_t *image,\t\t\t\t\t\tvoid *image_extra) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-surface-observer.c:1791,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-surface-observer.c:1793,1
    - Dst: print_array
      Src: /src/cairo/src/cairo-surface-observer.c:1792,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - stream
    - array
    argTypes:
    - cairo_output_stream_t*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 1794
      start: 1788
    functionDepth: 0
    functionLinenumber: 1788
    functionLinenumberEnd: 1794
    functionName: print_antialias
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - print_array
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: void
    signature: 'static void print_antialias (cairo_output_stream_t *stream, unsigned
      int *array) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-surface-observer.c:1843,1
    - Dst: print_array
      Src: /src/cairo/src/cairo-surface-observer.c:1844,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-surface-observer.c:1845,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-surface-observer.c:1844,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - stream
    - c
    argTypes:
    - cairo_output_stream_t*
    - struct clip*
    constantsTouched: []
    func_position:
      end: 1846
      start: 1840
    functionDepth: 0
    functionLinenumber: 1840
    functionLinenumberEnd: 1846
    functionName: print_clip
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - print_array
    - ARRAY_LENGTH
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: void
    signature: 'static void print_clip (cairo_output_stream_t *stream, const struct
      clip *c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_time_add
      Src: /src/cairo/src/cairo-surface-observer.c:1916,1
    - Dst: _cairo_time_add
      Src: /src/cairo/src/cairo-surface-observer.c:1917,1
    - Dst: _cairo_time_add
      Src: /src/cairo/src/cairo-surface-observer.c:1919,1
    - Dst: _cairo_time_add
      Src: /src/cairo/src/cairo-surface-observer.c:1918,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - log
    argTypes:
    - cairo_observation_t*
    constantsTouched: []
    func_position:
      end: 1922
      start: 1910
    functionDepth: 0
    functionLinenumber: 1910
    functionLinenumberEnd: 1922
    functionName: _cairo_observation_total_elapsed
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - _cairo_time_add
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t _cairo_observation_total_elapsed (cairo_observation_t
      *log) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_image_surface_create_with_content
      Src: /src/cairo/src/cairo-surface-observer.c:470,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-surface-observer.c:475,1
    - Dst: _cairo_surface_create_observer_internal
      Src: /src/cairo/src/cairo-surface-observer.c:473,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 478
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 478
    functionName: _cairo_surface_observer_create_similar
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - _cairo_image_surface_create_with_content
    - _cairo_surface_create_observer_internal
    - cairo_surface_destroy
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_surface_observer_create_similar (void\
      \ *abstract_other,\t\t\t\t\tcairo_content_t content,\t\t\t\t\tint width, int\
      \ height) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1334
      start: 1323
    functionDepth: 0
    functionLinenumber: 1323
    functionLinenumberEnd: 1334
    functionName: _cairo_surface_observer_snapshot
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *_cairo_surface_observer_snapshot (void *abstract_surface) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-surface-observer.c:1852,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-surface-observer.c:1862,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-surface-observer.c:1859,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-surface-observer.c:1853,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-surface-observer.c:1856,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-surface-observer.c:1865,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-surface-observer.c:1868,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-surface-observer.c:1870,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-surface-observer.c:1871,1
    - Dst: _cairo_time_to_ns
      Src: /src/cairo/src/cairo-surface-observer.c:1872,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - stream
    - r
    argTypes:
    - cairo_output_stream_t*
    - cairo_observation_record_t*
    constantsTouched: []
    func_position:
      end: 1873
      start: 1848
    functionDepth: 0
    functionLinenumber: 1848
    functionLinenumberEnd: 1873
    functionName: print_record
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - _cairo_time_to_ns
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: void
    signature: "static void print_record (cairo_output_stream_t *stream,\t cairo_observation_record_t\
      \ *r) "
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_script_context_attach_snapshots
      Src: /src/cairo/src/cairo-surface-observer.c:1933,1
    - Dst: _cairo_observation_total_elapsed
      Src: /src/cairo/src/cairo-surface-observer.c:1938,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-surface-observer.c:2014,1
    - Dst: percent
      Src: /src/cairo/src/cairo-surface-observer.c:2029,1
    - Dst: percent
      Src: /src/cairo/src/cairo-surface-observer.c:2049,1
    - Dst: percent
      Src: /src/cairo/src/cairo-surface-observer.c:2041,1
    - Dst: print_record
      Src: /src/cairo/src/cairo-surface-observer.c:1984,1
    - Dst: print_extents
      Src: /src/cairo/src/cairo-surface-observer.c:2019,1
    - Dst: print_fill_rule
      Src: /src/cairo/src/cairo-surface-observer.c:2000,1
    - Dst: _cairo_time_to_ns
      Src: /src/cairo/src/cairo-surface-observer.c:2040,1
    - Dst: replay_record
      Src: /src/cairo/src/cairo-surface-observer.c:2034,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-surface-observer.c:2009,1
    - Dst: replay_record
      Src: /src/cairo/src/cairo-surface-observer.c:2054,1
    - Dst: print_operators
      Src: /src/cairo/src/cairo-surface-observer.c:2020,1
    - Dst: replay_record
      Src: /src/cairo/src/cairo-surface-observer.c:1987,1
    - Dst: _cairo_script_context_create_internal
      Src: /src/cairo/src/cairo-surface-observer.c:1932,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-surface-observer.c:1946,1
    - Dst: print_clip
      Src: /src/cairo/src/cairo-surface-observer.c:1979,1
    - Dst: print_path
      Src: /src/cairo/src/cairo-surface-observer.c:1999,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-surface-observer.c:2011,1
    - Dst: cairo_device_destroy
      Src: /src/cairo/src/cairo-surface-observer.c:2058,1
    - Dst: print_clip
      Src: /src/cairo/src/cairo-surface-observer.c:1958,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-surface-observer.c:2028,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-surface-observer.c:2048,1
    - Dst: print_line_caps
      Src: /src/cairo/src/cairo-surface-observer.c:2024,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-surface-observer.c:2038,1
    - Dst: print_extents
      Src: /src/cairo/src/cairo-surface-observer.c:2043,1
    - Dst: print_record
      Src: /src/cairo/src/cairo-surface-observer.c:1963,1
    - Dst: percent
      Src: /src/cairo/src/cairo-surface-observer.c:1982,1
    - Dst: _cairo_time_to_ns
      Src: /src/cairo/src/cairo-surface-observer.c:1993,1
    - Dst: print_line_joins
      Src: /src/cairo/src/cairo-surface-observer.c:2025,1
    - Dst: print_pattern
      Src: /src/cairo/src/cairo-surface-observer.c:2045,1
    - Dst: print_clip
      Src: /src/cairo/src/cairo-surface-observer.c:2002,1
    - Dst: print_path
      Src: /src/cairo/src/cairo-surface-observer.c:2022,1
    - Dst: print_operators
      Src: /src/cairo/src/cairo-surface-observer.c:2044,1
    - Dst: _cairo_time_to_ns
      Src: /src/cairo/src/cairo-surface-observer.c:1941,1
    - Dst: _cairo_time_to_ns
      Src: /src/cairo/src/cairo-surface-observer.c:1952,1
    - Dst: _cairo_time_to_ns
      Src: /src/cairo/src/cairo-surface-observer.c:1972,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-surface-observer.c:2033,1
    - Dst: print_antialias
      Src: /src/cairo/src/cairo-surface-observer.c:2023,1
    - Dst: replay_record
      Src: /src/cairo/src/cairo-surface-observer.c:1966,1
    - Dst: percent
      Src: /src/cairo/src/cairo-surface-observer.c:1994,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-surface-observer.c:2053,1
    - Dst: percent
      Src: /src/cairo/src/cairo-surface-observer.c:1961,1
    - Dst: percent
      Src: /src/cairo/src/cairo-surface-observer.c:1953,1
    - Dst: percent
      Src: /src/cairo/src/cairo-surface-observer.c:1973,1
    - Dst: print_pattern
      Src: /src/cairo/src/cairo-surface-observer.c:1978,1
    - Dst: print_pattern
      Src: /src/cairo/src/cairo-surface-observer.c:1998,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-surface-observer.c:1986,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-surface-observer.c:1981,1
    - Dst: print_record
      Src: /src/cairo/src/cairo-surface-observer.c:2007,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-surface-observer.c:2035,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-surface-observer.c:2055,1
    - Dst: percent
      Src: /src/cairo/src/cairo-surface-observer.c:2005,1
    - Dst: _cairo_time_to_ns
      Src: /src/cairo/src/cairo-surface-observer.c:2016,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-surface-observer.c:1940,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-surface-observer.c:1988,1
    - Dst: replay_record
      Src: /src/cairo/src/cairo-surface-observer.c:2010,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-surface-observer.c:1991,1
    - Dst: print_extents
      Src: /src/cairo/src/cairo-surface-observer.c:1996,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-surface-observer.c:1950,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-surface-observer.c:1960,1
    - Dst: print_extents
      Src: /src/cairo/src/cairo-surface-observer.c:1955,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-surface-observer.c:1970,1
    - Dst: percent
      Src: /src/cairo/src/cairo-surface-observer.c:2017,1
    - Dst: print_extents
      Src: /src/cairo/src/cairo-surface-observer.c:1975,1
    - Dst: print_clip
      Src: /src/cairo/src/cairo-surface-observer.c:2026,1
    - Dst: print_clip
      Src: /src/cairo/src/cairo-surface-observer.c:2046,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-surface-observer.c:1942,1
    - Dst: print_pattern
      Src: /src/cairo/src/cairo-surface-observer.c:1957,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-surface-observer.c:1965,1
    - Dst: print_pattern
      Src: /src/cairo/src/cairo-surface-observer.c:1977,1
    - Dst: print_operators
      Src: /src/cairo/src/cairo-surface-observer.c:1997,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-surface-observer.c:1944,1
    - Dst: print_operators
      Src: /src/cairo/src/cairo-surface-observer.c:1956,1
    - Dst: print_operators
      Src: /src/cairo/src/cairo-surface-observer.c:1976,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-surface-observer.c:2004,1
    - Dst: print_record
      Src: /src/cairo/src/cairo-surface-observer.c:2031,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-surface-observer.c:1967,1
    - Dst: print_antialias
      Src: /src/cairo/src/cairo-surface-observer.c:2001,1
    - Dst: print_pattern
      Src: /src/cairo/src/cairo-surface-observer.c:2021,1
    - Dst: print_record
      Src: /src/cairo/src/cairo-surface-observer.c:2051,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 91
    argCount: 2
    argNames:
    - stream
    - log
    argTypes:
    - cairo_output_stream_t*
    - cairo_observation_t*
    constantsTouched: []
    func_position:
      end: 2059
      start: 1924
    functionDepth: 0
    functionLinenumber: 1924
    functionLinenumberEnd: 2059
    functionName: _cairo_observation_print
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - cairo_device_destroy
    - print_pattern
    - _cairo_script_context_create_internal
    - print_operators
    - print_record
    - print_path
    - _cairo_time_to_ns
    - print_extents
    - percent
    - print_antialias
    - _cairo_script_context_attach_snapshots
    - print_fill_rule
    - print_line_joins
    - _cairo_observation_total_elapsed
    - replay_record
    - print_line_caps
    - print_clip
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: void
    signature: "static void _cairo_observation_print (cairo_output_stream_t *stream,\t\
      \t\t cairo_observation_t *log) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-observer.c:1498,1
    - Dst: _cairo_surface_observer_add_callback
      Src: /src/cairo/src/cairo-surface-observer.c:1505,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-surface-observer.c:1502,1
    - Dst: _cairo_surface_is_observer
      Src: /src/cairo/src/cairo-surface-observer.c:1501,1
    - Dst: CAIRO_REFERENCE_COUNT_IS_INVALID
      Src: /src/cairo/src/cairo-surface-observer.c:1498,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - abstract_surface
    - func
    - data
    argTypes:
    - cairo_surface_t*
    - cairo_surface_observer_callback_t
    - void*
    constantsTouched: []
    func_position:
      end: 1507
      start: 1491
    functionDepth: 0
    functionLinenumber: 1491
    functionLinenumberEnd: 1507
    functionName: cairo_surface_observer_add_mask_callback
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - _cairo_surface_is_observer
    - _cairo_error
    - CAIRO_REFERENCE_COUNT_IS_INVALID
    - _cairo_surface_observer_add_callback
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t cairo_surface_observer_add_mask_callback (cairo_surface_t\
      \ *abstract_surface,\t\t\t\t\t cairo_surface_observer_callback_t func,\t\t\t\
      \t\t void *data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_get_extents
      Src: /src/cairo/src/cairo-surface-observer.c:1278,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - abstract_surface
    - extents
    argTypes:
    - void*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 1279
      start: 1273
    functionDepth: 0
    functionLinenumber: 1273
    functionLinenumberEnd: 1279
    functionName: _cairo_surface_observer_get_extents
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - _cairo_surface_get_extents
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _cairo_surface_observer_get_extents (void *abstract_surface,\t\
      \t\t\t cairo_rectangle_int_t *extents) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - abstract_surface
    - options
    argTypes:
    - void*
    - cairo_font_options_t*
    constantsTouched: []
    func_position:
      end: 1289
      start: 1281
    functionDepth: 0
    functionLinenumber: 1281
    functionLinenumberEnd: 1289
    functionName: _cairo_surface_observer_get_font_options
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void _cairo_surface_observer_get_font_options (void *abstract_surface,\t\
      \t\t\t\t cairo_font_options_t *options) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: get_pattern_surface
      Src: /src/cairo/src/cairo-surface-observer.c:186,1
    - Dst: get_pattern_surface
      Src: /src/cairo/src/cairo-surface-observer.c:188,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 14
    argCount: 2
    argNames:
    - pattern
    - target
    argTypes:
    - cairo_pattern_t*
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 211
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 211
    functionName: classify_pattern
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - get_pattern_surface
    linkageType: ''
    returnType: int
    signature: "static int classify_pattern (const cairo_pattern_t *pattern,\t\t const\
      \ cairo_surface_t *target) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-surface-observer.c:368,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-observer.c:369,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-surface-observer.c:370,1
    - Dst: _cairo_device_init
      Src: /src/cairo/src/cairo-surface-observer.c:372,1
    - Dst: _cairo_device_create_in_error
      Src: /src/cairo/src/cairo-surface-observer.c:370,1
    - Dst: log_init
      Src: /src/cairo/src/cairo-surface-observer.c:373,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-observer.c:374,1
    - Dst: free
      Src: /src/cairo/src/cairo-surface-observer.c:375,1
    - Dst: _cairo_device_create_in_error
      Src: /src/cairo/src/cairo-surface-observer.c:376,1
    - Dst: cairo_device_reference
      Src: /src/cairo/src/cairo-surface-observer.c:379,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 382
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 382
    functionName: _cairo_device_create_observer_internal
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - _cairo_device_create_in_error
    - _cairo_device_init
    - _cairo_error
    - free
    - log_init
    - cairo_device_reference
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_device_t*
    signature: "static cairo_device_t *_cairo_device_create_observer_internal (cairo_device_t\
      \ *target,\t\t\t\t\tcairo_bool_t record) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_unmap_image
      Src: /src/cairo/src/cairo-surface-observer.c:508,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - abstract_surface
    - image
    argTypes:
    - void*
    - cairo_image_surface_t*
    constantsTouched: []
    func_position:
      end: 509
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 509
    functionName: _cairo_surface_observer_unmap_image
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - _cairo_surface_unmap_image
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_surface_observer_unmap_image (void\
      \ *abstract_surface,\t\t\t\t cairo_image_surface_t *image) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_target
      Src: /src/cairo/src/cairo-surface-observer.c:535,1
    - Dst: classify_clip
      Src: /src/cairo/src/cairo-surface-observer.c:545,1
    - Dst: classify_pattern
      Src: /src/cairo/src/cairo-surface-observer.c:538,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 549
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 549
    functionName: record_paint
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - record_target
    - classify_pattern
    - classify_clip
    linkageType: ''
    returnType: cairo_observation_record_t*
    signature: "static cairo_observation_record_t *record_paint (cairo_observation_record_t\
      \ *r,\t cairo_surface_t *target,\t cairo_operator_t op,\t const cairo_pattern_t\
      \ *source,\t const cairo_clip_t *clip,\t cairo_time_t elapsed) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_target
      Src: /src/cairo/src/cairo-surface-observer.c:645,1
    - Dst: classify_pattern
      Src: /src/cairo/src/cairo-surface-observer.c:648,1
    - Dst: classify_clip
      Src: /src/cairo/src/cairo-surface-observer.c:655,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 659
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 659
    functionName: record_glyphs
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - record_target
    - classify_pattern
    - classify_clip
    linkageType: ''
    returnType: cairo_observation_record_t*
    signature: "static cairo_observation_record_t *record_glyphs (cairo_observation_record_t\
      \ *r,\t cairo_surface_t\t\t*target,\t cairo_operator_t\t\top,\t const cairo_pattern_t\t\
      *source,\t cairo_glyph_t\t\t*glyphs,\t int\t\t\t num_glyphs,\t cairo_scaled_font_t\t\
      *scaled_font,\t const cairo_clip_t\t*clip,\t cairo_time_t\t\t elapsed) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-surface-observer.c:1748,1
    - Dst: print_array
      Src: /src/cairo/src/cairo-surface-observer.c:1749,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-surface-observer.c:1749,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-surface-observer.c:1750,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - stream
    - array
    argTypes:
    - cairo_output_stream_t*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 1751
      start: 1745
    functionDepth: 0
    functionLinenumber: 1745
    functionLinenumberEnd: 1751
    functionName: print_fill_rule
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - print_array
    - ARRAY_LENGTH
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: void
    signature: 'static void print_fill_rule (cairo_output_stream_t *stream, unsigned
      int *array) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: classify_pattern
      Src: /src/cairo/src/cairo-surface-observer.c:218,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - stats
    - pattern
    - target
    argTypes:
    - struct pattern*
    - cairo_pattern_t*
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: add_pattern
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - classify_pattern
    linkageType: ''
    returnType: void
    signature: "static void add_pattern (struct pattern *stats,\t const cairo_pattern_t\
      \ *pattern,\t const cairo_surface_t *target) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_get_extents
      Src: /src/cairo/src/cairo-surface-observer.c:518,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - r
    - target
    argTypes:
    - cairo_observation_record_t*
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 525
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 525
    functionName: record_target
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - _cairo_surface_get_extents
    linkageType: ''
    returnType: void
    signature: "static void record_target (cairo_observation_record_t *r,\t cairo_surface_t\
      \ *target) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_target
      Src: /src/cairo/src/cairo-surface-observer.c:560,1
    - Dst: classify_pattern
      Src: /src/cairo/src/cairo-surface-observer.c:564,1
    - Dst: classify_clip
      Src: /src/cairo/src/cairo-surface-observer.c:570,1
    - Dst: classify_pattern
      Src: /src/cairo/src/cairo-surface-observer.c:563,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 574
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 574
    functionName: record_mask
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - record_target
    - classify_pattern
    - classify_clip
    linkageType: ''
    returnType: cairo_observation_record_t*
    signature: "static cairo_observation_record_t *record_mask (cairo_observation_record_t\
      \ *r,\t cairo_surface_t *target,\t cairo_operator_t op,\t const cairo_pattern_t\
      \ *source,\t const cairo_pattern_t *mask,\t const cairo_clip_t *clip,\t cairo_time_t\
      \ elapsed) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-surface-observer.c:669,1
    - Dst: assert
      Src: /src/cairo/src/cairo-surface-observer.c:670,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - log
    - r
    argTypes:
    - cairo_observation_t*
    - cairo_observation_record_t*
    constantsTouched: []
    func_position:
      end: 671
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 671
    functionName: add_record
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - _cairo_array_append
    - assert
    linkageType: ''
    returnType: void
    signature: "static void add_record (cairo_observation_t *log,\t cairo_observation_record_t\
      \ *r) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stat*
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: init_stats
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void init_stats (struct stat *s) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_fixed_fill_is_rectilinear
      Src: /src/cairo/src/cairo-surface-observer.c:232,1
    - Dst: _cairo_path_fixed_stroke_is_rectilinear
      Src: /src/cairo/src/cairo-surface-observer.c:235,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - path
    - is_fill
    argTypes:
    - cairo_path_fixed_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 242
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 242
    functionName: classify_path
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_fill_is_rectilinear
    - _cairo_path_fixed_stroke_is_rectilinear
    linkageType: ''
    returnType: int
    signature: "static int classify_path (const cairo_path_fixed_t *path,\t cairo_bool_t\
      \ is_fill) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: add_record
      Src: /src/cairo/src/cairo-surface-observer.c:1000,1
    - Dst: _cairo_time_gt
      Src: /src/cairo/src/cairo-surface-observer.c:1016,1
    - Dst: record_stroke
      Src: /src/cairo/src/cairo-surface-observer.c:1001,1
    - Dst: assert
      Src: /src/cairo/src/cairo-surface-observer.c:1013,1
    - Dst: _cairo_time_add
      Src: /src/cairo/src/cairo-surface-observer.c:1018,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 12
    argNames:
    - log
    - target
    - op
    - source
    - path
    - style
    - ctm
    - ctm_inverse
    - tolerance
    - antialias
    - clip
    - elapsed
    argTypes:
    - cairo_observation_t*
    - cairo_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    - cairo_time_t
    constantsTouched: []
    func_position:
      end: 1019
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 1019
    functionName: add_record_stroke
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - _cairo_time_add
    - record_stroke
    - assert
    - _cairo_time_gt
    - add_record
    linkageType: ''
    returnType: void
    signature: "static void add_record_stroke (cairo_observation_t *log,\t\t cairo_surface_t\
      \ *target,\t\t cairo_operator_t\t\t op,\t\t const cairo_pattern_t\t\t*source,\t\
      \t const cairo_path_fixed_t\t*path,\t\t const cairo_stroke_style_t\t*style,\t\
      \t const cairo_matrix_t\t\t*ctm,\t\t const cairo_matrix_t\t\t*ctm_inverse,\t\
      \t double\t\t\t\t tolerance,\t\t cairo_antialias_t\t\t antialias,\t\t const\
      \ cairo_clip_t\t\t*clip,\t\t cairo_time_t elapsed) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_get_source
      Src: /src/cairo/src/cairo-surface-observer.c:1296,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1291
    functionDepth: 0
    functionLinenumber: 1291
    functionLinenumberEnd: 1297
    functionName: _cairo_surface_observer_source
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - _cairo_surface_get_source
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_surface_observer_source (void *abstract_surface,\t\
      \t\t\tcairo_rectangle_int_t\t*extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-surface-observer.c:1736,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-surface-observer.c:1738,1
    - Dst: print_array
      Src: /src/cairo/src/cairo-surface-observer.c:1737,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - stream
    - array
    argTypes:
    - cairo_output_stream_t*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 1739
      start: 1733
    functionDepth: 0
    functionLinenumber: 1733
    functionLinenumberEnd: 1739
    functionName: print_operators
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - print_array
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: void
    signature: 'static void print_operators (cairo_output_stream_t *stream, unsigned
      int *array) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-surface-observer.c:1811,1
    - Dst: print_array
      Src: /src/cairo/src/cairo-surface-observer.c:1812,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-surface-observer.c:1812,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-surface-observer.c:1813,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - stream
    - name
    - p
    argTypes:
    - cairo_output_stream_t*
    - char*
    - struct pattern*
    constantsTouched: []
    func_position:
      end: 1814
      start: 1806
    functionDepth: 0
    functionLinenumber: 1806
    functionLinenumberEnd: 1814
    functionName: print_pattern
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - print_array
    - ARRAY_LENGTH
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: void
    signature: "static void print_pattern (cairo_output_stream_t *stream,\t const\
      \ char *name,\t const struct pattern *p) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-observer.c:2192,1
    - Dst: CAIRO_REFERENCE_COUNT_IS_INVALID
      Src: /src/cairo/src/cairo-surface-observer.c:2192,1
    - Dst: _cairo_device_is_observer
      Src: /src/cairo/src/cairo-surface-observer.c:2195,1
    - Dst: _cairo_time_to_ns
      Src: /src/cairo/src/cairo-surface-observer.c:2199,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - abstract_device
    argTypes:
    - cairo_device_t*
    constantsTouched: []
    func_position:
      end: 2200
      start: 2187
    functionDepth: 0
    functionLinenumber: 2187
    functionLinenumberEnd: 2200
    functionName: cairo_device_observer_paint_elapsed
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - _cairo_time_to_ns
    - CAIRO_REFERENCE_COUNT_IS_INVALID
    - _cairo_device_is_observer
    - unlikely
    linkageType: ''
    returnType: double
    signature: 'double cairo_device_observer_paint_elapsed (cairo_device_t *abstract_device) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: classify_path
      Src: /src/cairo/src/cairo-surface-observer.c:249,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - stats
    - path
    - is_fill
    argTypes:
    - struct path*
    - cairo_path_fixed_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 250
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 250
    functionName: add_path
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - classify_path
    linkageType: ''
    returnType: void
    signature: "static void add_path (struct path *stats,\t const cairo_path_fixed_t\
      \ *path,\t cairo_bool_t is_fill) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_device
      Src: /src/cairo/src/cairo-surface-observer.c:1307,1
    - Dst: _cairo_surface_acquire_source_image
      Src: /src/cairo/src/cairo-surface-observer.c:1309,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 3
    argNames:
    - abstract_surface
    - image_out
    - image_extra
    argTypes:
    - void*
    - cairo_image_surface_t**
    - void**
    constantsTouched: []
    func_position:
      end: 1311
      start: 1299
    functionDepth: 0
    functionLinenumber: 1299
    functionLinenumberEnd: 1311
    functionName: _cairo_surface_observer_acquire_source_image
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - to_device
    - _cairo_surface_acquire_source_image
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_surface_observer_acquire_source_image\
      \ (void *abstract_surface,\t\t\t\t\t\tcairo_image_surface_t **image_out,\t\t\
      \t\t\t\tvoid **image_extra) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: add_path
      Src: /src/cairo/src/cairo-surface-observer.c:1046,1
    - Dst: add_path
      Src: /src/cairo/src/cairo-surface-observer.c:1055,1
    - Dst: midpt
      Src: /src/cairo/src/cairo-surface-observer.c:1069,1
    - Dst: add_extents
      Src: /src/cairo/src/cairo-surface-observer.c:1072,1
    - Dst: add_extents
      Src: /src/cairo/src/cairo-surface-observer.c:1071,1
    - Dst: _cairo_time_get
      Src: /src/cairo/src/cairo-surface-observer.c:1075,1
    - Dst: add_pattern
      Src: /src/cairo/src/cairo-surface-observer.c:1054,1
    - Dst: add_pattern
      Src: /src/cairo/src/cairo-surface-observer.c:1045,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-observer.c:1081,1
    - Dst: _cairo_surface_stroke
      Src: /src/cairo/src/cairo-surface-observer.c:1076,1
    - Dst: add_clip
      Src: /src/cairo/src/cairo-surface-observer.c:1047,1
    - Dst: add_clip
      Src: /src/cairo/src/cairo-surface-observer.c:1056,1
    - Dst: _cairo_composite_rectangles_init_for_stroke
      Src: /src/cairo/src/cairo-surface-observer.c:1058,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-observer.c:1063,1
    - Dst: _cairo_time_get_delta
      Src: /src/cairo/src/cairo-surface-observer.c:1085,1
    - Dst: add_record_stroke
      Src: /src/cairo/src/cairo-surface-observer.c:1087,1
    - Dst: to_device
      Src: /src/cairo/src/cairo-surface-observer.c:1034,1
    - Dst: _cairo_surface_sync
      Src: /src/cairo/src/cairo-surface-observer.c:1084,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-surface-observer.c:1073,1
    - Dst: add_record_stroke
      Src: /src/cairo/src/cairo-surface-observer.c:1093,1
    - Dst: do_callbacks
      Src: /src/cairo/src/cairo-surface-observer.c:1099,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 10
    argNames:
    - abstract_surface
    - op
    - source
    - path
    - style
    - ctm
    - ctm_inverse
    - tolerance
    - antialias
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 1102
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1102
    functionName: _cairo_surface_observer_stroke
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - _cairo_time_get_delta
    - to_device
    - do_callbacks
    - _cairo_surface_sync
    - _cairo_composite_rectangles_init_for_stroke
    - add_extents
    - add_path
    - _cairo_surface_stroke
    - add_clip
    - _cairo_composite_rectangles_fini
    - add_record_stroke
    - _cairo_time_get
    - add_pattern
    - midpt
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_surface_observer_stroke (void\t\t\
      \t\t*abstract_surface,\t\t\t\tcairo_operator_t\t\t op,\t\t\t\tconst cairo_pattern_t\t\
      \t*source,\t\t\t\tconst cairo_path_fixed_t\t*path,\t\t\t\tconst cairo_stroke_style_t\t\
      *style,\t\t\t\tconst cairo_matrix_t\t\t*ctm,\t\t\t\tconst cairo_matrix_t\t\t\
      *ctm_inverse,\t\t\t\tdouble\t\t\t\t tolerance,\t\t\t\tcairo_antialias_t\t\t\
      \ antialias,\t\t\t\tconst cairo_clip_t\t\t*clip) "
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - s
    - v
    argTypes:
    - struct stat*
    - double
    constantsTouched: []
    func_position:
      end: 290
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 290
    functionName: stats_add
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void stats_add (struct stat *s, double v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-surface-observer.c:1827,1
    - Dst: print_array
      Src: /src/cairo/src/cairo-surface-observer.c:1828,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-surface-observer.c:1829,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-surface-observer.c:1828,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - stream
    - p
    argTypes:
    - cairo_output_stream_t*
    - struct path*
    constantsTouched: []
    func_position:
      end: 1830
      start: 1823
    functionDepth: 0
    functionLinenumber: 1823
    functionLinenumberEnd: 1830
    functionName: print_path
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - print_array
    - ARRAY_LENGTH
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: void
    signature: "static void print_path (cairo_output_stream_t *stream,\t const struct\
      \ path *p) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stats_add
      Src: /src/cairo/src/cairo-surface-observer.c:297,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - stats
    - extents
    argTypes:
    - struct extents*
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 300
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 300
    functionName: add_extents
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - stats_add
    linkageType: ''
    returnType: void
    signature: "static void add_extents (struct extents *stats,\t const cairo_composite_rectangles_t\
      \ *extents) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-observer.c:2217,1
    - Dst: _cairo_time_to_ns
      Src: /src/cairo/src/cairo-surface-observer.c:2224,1
    - Dst: _cairo_device_is_observer
      Src: /src/cairo/src/cairo-surface-observer.c:2220,1
    - Dst: CAIRO_REFERENCE_COUNT_IS_INVALID
      Src: /src/cairo/src/cairo-surface-observer.c:2217,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - abstract_device
    argTypes:
    - cairo_device_t*
    constantsTouched: []
    func_position:
      end: 2225
      start: 2212
    functionDepth: 0
    functionLinenumber: 2212
    functionLinenumberEnd: 2225
    functionName: cairo_device_observer_mask_elapsed
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - _cairo_time_to_ns
    - CAIRO_REFERENCE_COUNT_IS_INVALID
    - _cairo_device_is_observer
    - unlikely
    linkageType: ''
    returnType: double
    signature: 'double cairo_device_observer_mask_elapsed (cairo_device_t *abstract_device) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-observer.c:1528,1
    - Dst: _cairo_surface_observer_add_callback
      Src: /src/cairo/src/cairo-surface-observer.c:1535,1
    - Dst: CAIRO_REFERENCE_COUNT_IS_INVALID
      Src: /src/cairo/src/cairo-surface-observer.c:1528,1
    - Dst: _cairo_surface_is_observer
      Src: /src/cairo/src/cairo-surface-observer.c:1531,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-surface-observer.c:1532,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - abstract_surface
    - func
    - data
    argTypes:
    - cairo_surface_t*
    - cairo_surface_observer_callback_t
    - void*
    constantsTouched: []
    func_position:
      end: 1537
      start: 1521
    functionDepth: 0
    functionLinenumber: 1521
    functionLinenumberEnd: 1537
    functionName: cairo_surface_observer_add_fill_callback
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - _cairo_surface_is_observer
    - _cairo_error
    - CAIRO_REFERENCE_COUNT_IS_INVALID
    - _cairo_surface_observer_add_callback
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t cairo_surface_observer_add_fill_callback (cairo_surface_t\
      \ *abstract_surface,\t\t\t\t\t cairo_surface_observer_callback_t func,\t\t\t\
      \t\t void *data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_device_destroy
      Src: /src/cairo/src/cairo-surface-observer.c:346,1
    - Dst: free
      Src: /src/cairo/src/cairo-surface-observer.c:347,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - _device
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 348
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 348
    functionName: _cairo_device_observer_destroy
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - free
    - cairo_device_destroy
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_device_observer_destroy (void *_device) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-surface-observer.c:1685,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-surface-observer.c:1685,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-surface-observer.c:1693,1
    - Dst: sort_order
      Src: /src/cairo/src/cairo-surface-observer.c:1691,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 4
    argNames:
    - stream
    - array
    - names
    - count
    argTypes:
    - cairo_output_stream_t*
    - unsigned int*
    - char**
    - int
    constantsTouched: []
    func_position:
      end: 1696
      start: 1676
    functionDepth: 0
    functionLinenumber: 1676
    functionLinenumberEnd: 1696
    functionName: print_array
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - ARRAY_LENGTH
    - sort_order
    - _cairo_output_stream_printf
    - assert
    linkageType: ''
    returnType: void
    signature: "static void print_array (cairo_output_stream_t *stream,\t const unsigned\
      \ int *array,\t const char **names,\t int count) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-observer.c:1648,1
    - Dst: _cairo_surface_observer_add_callback
      Src: /src/cairo/src/cairo-surface-observer.c:1655,1
    - Dst: CAIRO_REFERENCE_COUNT_IS_INVALID
      Src: /src/cairo/src/cairo-surface-observer.c:1648,1
    - Dst: _cairo_surface_is_observer
      Src: /src/cairo/src/cairo-surface-observer.c:1651,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-surface-observer.c:1652,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - abstract_surface
    - func
    - data
    argTypes:
    - cairo_surface_t*
    - cairo_surface_observer_callback_t
    - void*
    constantsTouched: []
    func_position:
      end: 1657
      start: 1641
    functionDepth: 0
    functionLinenumber: 1641
    functionLinenumberEnd: 1657
    functionName: cairo_surface_observer_add_finish_callback
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - _cairo_surface_is_observer
    - _cairo_error
    - CAIRO_REFERENCE_COUNT_IS_INVALID
    - _cairo_surface_observer_add_callback
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t cairo_surface_observer_add_finish_callback (cairo_surface_t\
      \ *abstract_surface,\t\t\t\t\t cairo_surface_observer_callback_t func,\t\t\t\
      \t\t void *data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_round
      Src: /src/cairo/src/cairo-surface-observer.c:1878,1
    - Dst: _cairo_time_to_s
      Src: /src/cairo/src/cairo-surface-observer.c:1879,1
    - Dst: _cairo_time_to_s
      Src: /src/cairo/src/cairo-surface-observer.c:1878,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_time_t
    - cairo_time_t
    constantsTouched: []
    func_position:
      end: 1880
      start: 1875
    functionDepth: 0
    functionLinenumber: 1875
    functionLinenumberEnd: 1880
    functionName: percent
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - _cairo_time_to_s
    - _cairo_round
    linkageType: ''
    returnType: double
    signature: 'static double percent (cairo_time_t a, cairo_time_t b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-surface-observer.c:1662,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - stream
    - e
    argTypes:
    - cairo_output_stream_t*
    - struct extents*
    constantsTouched: []
    func_position:
      end: 1667
      start: 1659
    functionDepth: 0
    functionLinenumber: 1659
    functionLinenumberEnd: 1667
    functionName: print_extents
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: void
    signature: 'static void print_extents (cairo_output_stream_t *stream, const struct
      extents *e) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_script_surface_create
      Src: /src/cairo/src/cairo-surface-observer.c:1894,1
    - Dst: assert
      Src: /src/cairo/src/cairo-surface-observer.c:1902,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-surface-observer.c:1900,1
    - Dst: _cairo_recording_surface_replay_one
      Src: /src/cairo/src/cairo-surface-observer.c:1899,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - log
    - r
    - script
    argTypes:
    - cairo_observation_t*
    - cairo_observation_record_t*
    - cairo_device_t*
    constantsTouched: []
    func_position:
      end: 1908
      start: 1882
    functionDepth: 0
    functionLinenumber: 1882
    functionLinenumberEnd: 1908
    functionName: replay_record
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - cairo_script_surface_create
    - _cairo_recording_surface_replay_one
    - assert
    - cairo_surface_destroy
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t replay_record (cairo_observation_t *log,\t cairo_observation_record_t\
      \ *r,\t cairo_device_t *script) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-observer.c:2109,1
    - Dst: _cairo_observation_total_elapsed
      Src: /src/cairo/src/cairo-surface-observer.c:2116,1
    - Dst: _cairo_surface_is_observer
      Src: /src/cairo/src/cairo-surface-observer.c:2112,1
    - Dst: _cairo_time_to_ns
      Src: /src/cairo/src/cairo-surface-observer.c:2116,1
    - Dst: CAIRO_REFERENCE_COUNT_IS_INVALID
      Src: /src/cairo/src/cairo-surface-observer.c:2109,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 2117
      start: 2104
    functionDepth: 0
    functionLinenumber: 2104
    functionLinenumberEnd: 2117
    functionName: cairo_surface_observer_elapsed
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - _cairo_surface_is_observer
    - _cairo_time_to_ns
    - CAIRO_REFERENCE_COUNT_IS_INVALID
    - _cairo_observation_total_elapsed
    - unlikely
    linkageType: ''
    returnType: double
    signature: 'double cairo_surface_observer_elapsed (cairo_surface_t *abstract_surface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-observer.c:1558,1
    - Dst: _cairo_surface_observer_add_callback
      Src: /src/cairo/src/cairo-surface-observer.c:1565,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-surface-observer.c:1562,1
    - Dst: _cairo_surface_is_observer
      Src: /src/cairo/src/cairo-surface-observer.c:1561,1
    - Dst: CAIRO_REFERENCE_COUNT_IS_INVALID
      Src: /src/cairo/src/cairo-surface-observer.c:1558,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - abstract_surface
    - func
    - data
    argTypes:
    - cairo_surface_t*
    - cairo_surface_observer_callback_t
    - void*
    constantsTouched: []
    func_position:
      end: 1567
      start: 1551
    functionDepth: 0
    functionLinenumber: 1551
    functionLinenumberEnd: 1567
    functionName: cairo_surface_observer_add_stroke_callback
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - _cairo_surface_is_observer
    - _cairo_error
    - CAIRO_REFERENCE_COUNT_IS_INVALID
    - _cairo_surface_observer_add_callback
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t cairo_surface_observer_add_stroke_callback (cairo_surface_t\
      \ *abstract_surface,\t\t\t\t\t cairo_surface_observer_callback_t func,\t\t\t\
      \t\t void *data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init_stats
      Src: /src/cairo/src/cairo-surface-observer.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct extents*
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: init_extents
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - init_stats
    linkageType: ''
    returnType: void
    signature: 'static void init_extents (struct extents *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_unmap_image
      Src: /src/cairo/src/cairo-surface-observer.c:683,1
    - Dst: _cairo_surface_map_to_image
      Src: /src/cairo/src/cairo-surface-observer.c:684,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - target
    - x
    - y
    argTypes:
    - cairo_surface_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 686
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 686
    functionName: _cairo_surface_sync
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - _cairo_surface_unmap_image
    - _cairo_surface_map_to_image
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_surface_sync (cairo_surface_t *target, int x, int
      y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct pattern*
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: init_pattern
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void init_pattern (struct pattern *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - extents
    - x
    - y
    argTypes:
    - cairo_composite_rectangles_t*
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 693
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 693
    functionName: midpt
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void midpt (const cairo_composite_rectangles_t *extents, int
      *x, int *y) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_is_region
      Src: /src/cairo/src/cairo-surface-observer.c:259,1
    - Dst: _cairo_clip_is_polygon
      Src: /src/cairo/src/cairo-surface-observer.c:265,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - clip
    argTypes:
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 271
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 271
    functionName: classify_clip
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - _cairo_clip_is_region
    - _cairo_clip_is_polygon
    linkageType: ''
    returnType: int
    signature: 'static int classify_clip (const cairo_clip_t *clip) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-observer.c:2081,1
    - Dst: _cairo_output_stream_create
      Src: /src/cairo/src/cairo-surface-observer.c:2089,1
    - Dst: _cairo_surface_is_observer
      Src: /src/cairo/src/cairo-surface-observer.c:2084,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-surface-observer.c:2085,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-observer.c:2084,1
    - Dst: _cairo_observation_print
      Src: /src/cairo/src/cairo-surface-observer.c:2090,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-surface-observer.c:2091,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - abstract_surface
    - write_func
    - closure
    argTypes:
    - cairo_surface_t*
    - cairo_write_func_t
    - void*
    constantsTouched: []
    func_position:
      end: 2092
      start: 2073
    functionDepth: 0
    functionLinenumber: 2073
    functionLinenumberEnd: 2092
    functionName: cairo_surface_observer_print
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - _cairo_surface_is_observer
    - _cairo_error
    - _cairo_output_stream_create
    - _cairo_observation_print
    - _cairo_output_stream_destroy
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t cairo_surface_observer_print (cairo_surface_t *abstract_surface,\t\
      \t\t cairo_write_func_t write_func,\t\t\t void *closure) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: classify_clip
      Src: /src/cairo/src/cairo-surface-observer.c:277,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - stats
    - clip
    argTypes:
    - struct clip*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 278
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 278
    functionName: add_clip
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - classify_clip
    linkageType: ''
    returnType: void
    signature: "static void add_clip (struct clip *stats,\t const cairo_clip_t *clip) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: add_record
      Src: /src/cairo/src/cairo-surface-observer.c:706,1
    - Dst: assert
      Src: /src/cairo/src/cairo-surface-observer.c:716,1
    - Dst: _cairo_time_gt
      Src: /src/cairo/src/cairo-surface-observer.c:719,1
    - Dst: record_paint
      Src: /src/cairo/src/cairo-surface-observer.c:707,1
    - Dst: _cairo_time_add
      Src: /src/cairo/src/cairo-surface-observer.c:721,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 6
    argNames:
    - log
    - target
    - op
    - source
    - clip
    - elapsed
    argTypes:
    - cairo_observation_t*
    - cairo_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_clip_t*
    - cairo_time_t
    constantsTouched: []
    func_position:
      end: 722
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 722
    functionName: add_record_paint
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - _cairo_time_add
    - record_paint
    - assert
    - _cairo_time_gt
    - add_record
    linkageType: ''
    returnType: void
    signature: "static void add_record_paint (cairo_observation_t *log,\t\t cairo_surface_t\
      \ *target,\t\t cairo_operator_t op,\t\t const cairo_pattern_t *source,\t\t const\
      \ cairo_clip_t *clip,\t\t cairo_time_t elapsed) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1258
      start: 1247
    functionDepth: 0
    functionLinenumber: 1247
    functionLinenumberEnd: 1258
    functionName: _cairo_surface_observer_copy_page
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t _cairo_surface_observer_copy_page (void
      *abstract_surface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-observer.c:2242,1
    - Dst: _cairo_device_is_observer
      Src: /src/cairo/src/cairo-surface-observer.c:2245,1
    - Dst: CAIRO_REFERENCE_COUNT_IS_INVALID
      Src: /src/cairo/src/cairo-surface-observer.c:2242,1
    - Dst: _cairo_time_to_ns
      Src: /src/cairo/src/cairo-surface-observer.c:2249,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - abstract_device
    argTypes:
    - cairo_device_t*
    constantsTouched: []
    func_position:
      end: 2250
      start: 2237
    functionDepth: 0
    functionLinenumber: 2237
    functionLinenumberEnd: 2250
    functionName: cairo_device_observer_fill_elapsed
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - _cairo_time_to_ns
    - CAIRO_REFERENCE_COUNT_IS_INVALID
    - _cairo_device_is_observer
    - unlikely
    linkageType: ''
    returnType: double
    signature: 'double cairo_device_observer_fill_elapsed (cairo_device_t *abstract_device) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: midpt
      Src: /src/cairo/src/cairo-surface-observer.c:759,1
    - Dst: add_extents
      Src: /src/cairo/src/cairo-surface-observer.c:761,1
    - Dst: add_extents
      Src: /src/cairo/src/cairo-surface-observer.c:762,1
    - Dst: _cairo_time_get_delta
      Src: /src/cairo/src/cairo-surface-observer.c:773,1
    - Dst: _cairo_time_get
      Src: /src/cairo/src/cairo-surface-observer.c:765,1
    - Dst: add_clip
      Src: /src/cairo/src/cairo-surface-observer.c:742,1
    - Dst: add_pattern
      Src: /src/cairo/src/cairo-surface-observer.c:746,1
    - Dst: add_record_paint
      Src: /src/cairo/src/cairo-surface-observer.c:776,1
    - Dst: do_callbacks
      Src: /src/cairo/src/cairo-surface-observer.c:778,1
    - Dst: _cairo_composite_rectangles_init_for_paint
      Src: /src/cairo/src/cairo-surface-observer.c:749,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-observer.c:753,1
    - Dst: add_record_paint
      Src: /src/cairo/src/cairo-surface-observer.c:775,1
    - Dst: to_device
      Src: /src/cairo/src/cairo-surface-observer.c:731,1
    - Dst: add_clip
      Src: /src/cairo/src/cairo-surface-observer.c:747,1
    - Dst: add_pattern
      Src: /src/cairo/src/cairo-surface-observer.c:741,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-surface-observer.c:763,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-observer.c:769,1
    - Dst: _cairo_surface_sync
      Src: /src/cairo/src/cairo-surface-observer.c:772,1
    - Dst: _cairo_surface_paint
      Src: /src/cairo/src/cairo-surface-observer.c:766,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 4
    argNames:
    - abstract_surface
    - op
    - source
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 781
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 781
    functionName: _cairo_surface_observer_paint
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - midpt
    - _cairo_time_get_delta
    - to_device
    - do_callbacks
    - _cairo_surface_sync
    - add_extents
    - add_clip
    - _cairo_composite_rectangles_fini
    - add_record_paint
    - _cairo_time_get
    - add_pattern
    - _cairo_composite_rectangles_init_for_paint
    - _cairo_surface_paint
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_surface_observer_paint (void *abstract_surface,\t\
      \t\t cairo_operator_t op,\t\t\t const cairo_pattern_t *source,\t\t\t const cairo_clip_t\
      \ *clip) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1271
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1271
    functionName: _cairo_surface_observer_show_page
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t _cairo_surface_observer_show_page (void
      *abstract_surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - array
    argTypes:
    - int
    - int
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 1673
      start: 1669
    functionDepth: 0
    functionLinenumber: 1669
    functionLinenumberEnd: 1673
    functionName: ordercmp
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int ordercmp (int a, int b, const unsigned int *array) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-observer.c:1415,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-surface-observer.c:1416,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-observer.c:1417,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-surface-observer.c:1418,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-surface-observer.c:1418,1
    - Dst: _cairo_device_create_observer_internal
      Src: /src/cairo/src/cairo-surface-observer.c:1421,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-observer.c:1422,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-surface-observer.c:1423,1
    - Dst: _cairo_surface_create_observer_internal
      Src: /src/cairo/src/cairo-surface-observer.c:1425,1
    - Dst: cairo_device_destroy
      Src: /src/cairo/src/cairo-surface-observer.c:1426,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1407
    functionDepth: 0
    functionLinenumber: 1407
    functionLinenumberEnd: 1429
    functionName: cairo_surface_create_observer
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - cairo_device_destroy
    - _cairo_device_create_observer_internal
    - _cairo_error
    - _cairo_surface_create_in_error
    - _cairo_surface_create_observer_internal
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *cairo_surface_create_observer (cairo_surface_t *target,\t\
      \t\t cairo_surface_observer_mode_t mode) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-surface-observer.c:1761,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-surface-observer.c:1763,1
    - Dst: print_array
      Src: /src/cairo/src/cairo-surface-observer.c:1762,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - stream
    - array
    argTypes:
    - cairo_output_stream_t*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 1764
      start: 1758
    functionDepth: 0
    functionLinenumber: 1758
    functionLinenumberEnd: 1764
    functionName: print_line_caps
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - print_array
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: void
    signature: 'static void print_line_caps (cairo_output_stream_t *stream, unsigned
      int *array) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-surface-observer.c:1774,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-surface-observer.c:1776,1
    - Dst: print_array
      Src: /src/cairo/src/cairo-surface-observer.c:1775,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - stream
    - array
    argTypes:
    - cairo_output_stream_t*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 1777
      start: 1771
    functionDepth: 0
    functionLinenumber: 1771
    functionLinenumberEnd: 1777
    functionName: print_line_joins
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - print_array
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: void
    signature: 'static void print_line_joins (cairo_output_stream_t *stream, unsigned
      int *array) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-surface-observer.c:1438,1
    - Dst: cairo_list_add
      Src: /src/cairo/src/cairo-surface-observer.c:1442,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-observer.c:1439,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-surface-observer.c:1440,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - head
    - func
    - data
    argTypes:
    - cairo_list_t*
    - cairo_surface_observer_callback_t
    - void*
    constantsTouched: []
    func_position:
      end: 1447
      start: 1431
    functionDepth: 0
    functionLinenumber: 1431
    functionLinenumberEnd: 1447
    functionName: _cairo_surface_observer_add_callback
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - unlikely
    - cairo_list_add
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_surface_observer_add_callback (cairo_list_t\
      \ *head,\t\t\t\t cairo_surface_observer_callback_t func,\t\t\t\t void *data) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-observer.c:2267,1
    - Dst: CAIRO_REFERENCE_COUNT_IS_INVALID
      Src: /src/cairo/src/cairo-surface-observer.c:2267,1
    - Dst: _cairo_device_is_observer
      Src: /src/cairo/src/cairo-surface-observer.c:2270,1
    - Dst: _cairo_time_to_ns
      Src: /src/cairo/src/cairo-surface-observer.c:2274,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - abstract_device
    argTypes:
    - cairo_device_t*
    constantsTouched: []
    func_position:
      end: 2275
      start: 2262
    functionDepth: 0
    functionLinenumber: 2262
    functionLinenumberEnd: 2275
    functionName: cairo_device_observer_stroke_elapsed
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - _cairo_time_to_ns
    - CAIRO_REFERENCE_COUNT_IS_INVALID
    - _cairo_device_is_observer
    - unlikely
    linkageType: ''
    returnType: double
    signature: 'double cairo_device_observer_stroke_elapsed (cairo_device_t *abstract_device) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: add_record
      Src: /src/cairo/src/cairo-surface-observer.c:795,1
    - Dst: record_mask
      Src: /src/cairo/src/cairo-surface-observer.c:796,1
    - Dst: assert
      Src: /src/cairo/src/cairo-surface-observer.c:801,1
    - Dst: _cairo_time_gt
      Src: /src/cairo/src/cairo-surface-observer.c:804,1
    - Dst: _cairo_time_add
      Src: /src/cairo/src/cairo-surface-observer.c:806,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 7
    argNames:
    - log
    - target
    - op
    - source
    - mask
    - clip
    - elapsed
    argTypes:
    - cairo_observation_t*
    - cairo_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_pattern_t*
    - cairo_clip_t*
    - cairo_time_t
    constantsTouched: []
    func_position:
      end: 807
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 807
    functionName: add_record_mask
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - _cairo_time_add
    - record_mask
    - assert
    - _cairo_time_gt
    - add_record
    linkageType: ''
    returnType: void
    signature: "static void add_record_mask (cairo_observation_t *log,\t\t cairo_surface_t\
      \ *target,\t\t cairo_operator_t op,\t\t const cairo_pattern_t *source,\t\t const\
      \ cairo_pattern_t *mask,\t\t const cairo_clip_t *clip,\t\t cairo_time_t elapsed) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init_extents
      Src: /src/cairo/src/cairo-surface-observer.c:103,1
    - Dst: init_clip
      Src: /src/cairo/src/cairo-surface-observer.c:105,1
    - Dst: init_pattern
      Src: /src/cairo/src/cairo-surface-observer.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct paint*
    constantsTouched: []
    func_position:
      end: 106
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 106
    functionName: init_paint
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - init_clip
    - init_extents
    - init_pattern
    linkageType: ''
    returnType: void
    signature: 'static void init_paint (struct paint *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init_extents
      Src: /src/cairo/src/cairo-surface-observer.c:118,1
    - Dst: init_path
      Src: /src/cairo/src/cairo-surface-observer.c:120,1
    - Dst: init_clip
      Src: /src/cairo/src/cairo-surface-observer.c:121,1
    - Dst: init_pattern
      Src: /src/cairo/src/cairo-surface-observer.c:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - f
    argTypes:
    - struct fill*
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: init_fill
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - init_path
    - init_clip
    - init_extents
    - init_pattern
    linkageType: ''
    returnType: void
    signature: 'static void init_fill (struct fill *f) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init_extents
      Src: /src/cairo/src/cairo-surface-observer.c:134,1
    - Dst: init_pattern
      Src: /src/cairo/src/cairo-surface-observer.c:135,1
    - Dst: init_clip
      Src: /src/cairo/src/cairo-surface-observer.c:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - struct glyphs*
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: init_glyphs
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - init_clip
    - init_extents
    - init_pattern
    linkageType: ''
    returnType: void
    signature: 'static void init_glyphs (struct glyphs *g) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 493
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 493
    functionName: _cairo_surface_observer_create_similar_image
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_surface_observer_create_similar_image\
      \ (void *other,\t\t\t\t\t cairo_format_t format,\t\t\t\t\t int width, int height) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_target
      Src: /src/cairo/src/cairo-surface-observer.c:588,1
    - Dst: classify_pattern
      Src: /src/cairo/src/cairo-surface-observer.c:591,1
    - Dst: classify_clip
      Src: /src/cairo/src/cairo-surface-observer.c:598,1
    - Dst: classify_path
      Src: /src/cairo/src/cairo-surface-observer.c:594,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 602
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 602
    functionName: record_fill
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - record_target
    - classify_pattern
    - classify_path
    - classify_clip
    linkageType: ''
    returnType: cairo_observation_record_t*
    signature: "static cairo_observation_record_t *record_fill (cairo_observation_record_t\
      \ *r,\t cairo_surface_t\t\t*target,\t cairo_operator_t\t\top,\t const cairo_pattern_t\t\
      *source,\t const cairo_path_fixed_t\t*path,\t cairo_fill_rule_t\t\t fill_rule,\t\
      \ double\t\t\t tolerance,\t cairo_antialias_t\t\t antialias,\t const cairo_clip_t\t\
      \t*clip,\t cairo_time_t elapsed) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: add_record
      Src: /src/cairo/src/cairo-surface-observer.c:1118,1
    - Dst: _cairo_time_gt
      Src: /src/cairo/src/cairo-surface-observer.c:1135,1
    - Dst: record_glyphs
      Src: /src/cairo/src/cairo-surface-observer.c:1119,1
    - Dst: assert
      Src: /src/cairo/src/cairo-surface-observer.c:1132,1
    - Dst: _cairo_time_add
      Src: /src/cairo/src/cairo-surface-observer.c:1137,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 9
    argNames:
    - log
    - target
    - op
    - source
    - glyphs
    - num_glyphs
    - scaled_font
    - clip
    - elapsed
    argTypes:
    - cairo_observation_t*
    - cairo_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_glyph_t*
    - int
    - cairo_scaled_font_t*
    - cairo_clip_t*
    - cairo_time_t
    constantsTouched: []
    func_position:
      end: 1138
      start: 1104
    functionDepth: 0
    functionLinenumber: 1104
    functionLinenumberEnd: 1138
    functionName: add_record_glyphs
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - _cairo_time_add
    - assert
    - _cairo_time_gt
    - add_record
    - record_glyphs
    linkageType: ''
    returnType: void
    signature: "static void add_record_glyphs (cairo_observation_t\t*log,\t\t cairo_surface_t\t\
      *target,\t\t cairo_operator_t\t op,\t\t const cairo_pattern_t*source,\t\t cairo_glyph_t\t\
      *glyphs,\t\t int\t\t\t num_glyphs,\t\t cairo_scaled_font_t\t*scaled_font,\t\t\
      \ const cairo_clip_t\t*clip,\t\t cairo_time_t elapsed) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_callbacks
      Src: /src/cairo/src/cairo-surface-observer.c:1227,1
    - Dst: _cairo_surface_flush
      Src: /src/cairo/src/cairo-surface-observer.c:1228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - abstract_surface
    - flags
    argTypes:
    - void*
    - unsigned
    constantsTouched: []
    func_position:
      end: 1229
      start: 1222
    functionDepth: 0
    functionLinenumber: 1222
    functionLinenumberEnd: 1229
    functionName: _cairo_surface_observer_flush
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - do_callbacks
    - _cairo_surface_flush
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_surface_observer_flush (void *abstract_surface,
      unsigned flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-observer.c:1588,1
    - Dst: _cairo_surface_observer_add_callback
      Src: /src/cairo/src/cairo-surface-observer.c:1595,1
    - Dst: CAIRO_REFERENCE_COUNT_IS_INVALID
      Src: /src/cairo/src/cairo-surface-observer.c:1588,1
    - Dst: _cairo_surface_is_observer
      Src: /src/cairo/src/cairo-surface-observer.c:1591,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-surface-observer.c:1592,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - abstract_surface
    - func
    - data
    argTypes:
    - cairo_surface_t*
    - cairo_surface_observer_callback_t
    - void*
    constantsTouched: []
    func_position:
      end: 1597
      start: 1581
    functionDepth: 0
    functionLinenumber: 1581
    functionLinenumberEnd: 1597
    functionName: cairo_surface_observer_add_glyphs_callback
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - _cairo_surface_is_observer
    - _cairo_error
    - CAIRO_REFERENCE_COUNT_IS_INVALID
    - _cairo_surface_observer_add_callback
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t cairo_surface_observer_add_glyphs_callback (cairo_surface_t\
      \ *abstract_surface,\t\t\t\t\t cairo_surface_observer_callback_t func,\t\t\t\
      \t\t void *data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init_extents
      Src: /src/cairo/src/cairo-surface-observer.c:110,1
    - Dst: init_clip
      Src: /src/cairo/src/cairo-surface-observer.c:113,1
    - Dst: init_pattern
      Src: /src/cairo/src/cairo-surface-observer.c:111,1
    - Dst: init_pattern
      Src: /src/cairo/src/cairo-surface-observer.c:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct mask*
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: init_mask
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - init_clip
    - init_extents
    - init_pattern
    linkageType: ''
    returnType: void
    signature: 'static void init_mask (struct mask *m) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init_extents
      Src: /src/cairo/src/cairo-surface-observer.c:126,1
    - Dst: init_path
      Src: /src/cairo/src/cairo-surface-observer.c:128,1
    - Dst: init_clip
      Src: /src/cairo/src/cairo-surface-observer.c:129,1
    - Dst: init_pattern
      Src: /src/cairo/src/cairo-surface-observer.c:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stroke*
    constantsTouched: []
    func_position:
      end: 130
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 130
    functionName: init_stroke
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - init_path
    - init_clip
    - init_extents
    - init_pattern
    linkageType: ''
    returnType: void
    signature: 'static void init_stroke (struct stroke *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cairo/src/cairo-surface-observer.c:143,1
    - Dst: init_fill
      Src: /src/cairo/src/cairo-surface-observer.c:147,1
    - Dst: init_stroke
      Src: /src/cairo/src/cairo-surface-observer.c:148,1
    - Dst: init_mask
      Src: /src/cairo/src/cairo-surface-observer.c:146,1
    - Dst: init_paint
      Src: /src/cairo/src/cairo-surface-observer.c:145,1
    - Dst: init_glyphs
      Src: /src/cairo/src/cairo-surface-observer.c:149,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-surface-observer.c:151,1
    - Dst: cairo_recording_surface_create
      Src: /src/cairo/src/cairo-surface-observer.c:155,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-observer.c:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - log
    - record
    argTypes:
    - cairo_observation_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 163
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 163
    functionName: log_init
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - init_glyphs
    - _cairo_array_init
    - unlikely
    - init_paint
    - init_fill
    - init_stroke
    - cairo_recording_surface_create
    - memset
    - init_mask
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t log_init (cairo_observation_t *log,\t cairo_bool_t\
      \ record) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_map_to_image
      Src: /src/cairo/src/cairo-surface-observer.c:500,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 501
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 501
    functionName: _cairo_surface_observer_map_to_image
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - _cairo_surface_map_to_image
    linkageType: ''
    returnType: cairo_image_surface_t*
    signature: "static cairo_image_surface_t *_cairo_surface_observer_map_to_image\
      \ (void *abstract_surface,\t\t\t\t const cairo_rectangle_int_t *extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_target
      Src: /src/cairo/src/cairo-surface-observer.c:618,1
    - Dst: classify_path
      Src: /src/cairo/src/cairo-surface-observer.c:624,1
    - Dst: classify_clip
      Src: /src/cairo/src/cairo-surface-observer.c:628,1
    - Dst: classify_pattern
      Src: /src/cairo/src/cairo-surface-observer.c:621,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 632
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 632
    functionName: record_stroke
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - record_target
    - classify_pattern
    - classify_path
    - classify_clip
    linkageType: ''
    returnType: cairo_observation_record_t*
    signature: "static cairo_observation_record_t *record_stroke (cairo_observation_record_t\
      \ *r,\t cairo_surface_t\t\t*target,\t cairo_operator_t\t\top,\t const cairo_pattern_t\t\
      *source,\t const cairo_path_fixed_t\t*path,\t const cairo_stroke_style_t\t*style,\t\
      \ const cairo_matrix_t\t*ctm,\t const cairo_matrix_t\t*ctm_inverse,\t double\t\
      \t\t tolerance,\t cairo_antialias_t\t antialias,\t const cairo_clip_t\t*clip,\t\
      \ cairo_time_t\t\t elapsed) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: to_device
      Src: /src/cairo/src/cairo-surface-observer.c:817,1
    - Dst: add_record_mask
      Src: /src/cairo/src/cairo-surface-observer.c:864,1
    - Dst: _cairo_surface_mask
      Src: /src/cairo/src/cairo-surface-observer.c:852,1
    - Dst: add_pattern
      Src: /src/cairo/src/cairo-surface-observer.c:825,1
    - Dst: add_clip
      Src: /src/cairo/src/cairo-surface-observer.c:827,1
    - Dst: add_pattern
      Src: /src/cairo/src/cairo-surface-observer.c:832,1
    - Dst: add_record_mask
      Src: /src/cairo/src/cairo-surface-observer.c:861,1
    - Dst: _cairo_surface_sync
      Src: /src/cairo/src/cairo-surface-observer.c:858,1
    - Dst: do_callbacks
      Src: /src/cairo/src/cairo-surface-observer.c:868,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-surface-observer.c:849,1
    - Dst: _cairo_time_get_delta
      Src: /src/cairo/src/cairo-surface-observer.c:859,1
    - Dst: add_pattern
      Src: /src/cairo/src/cairo-surface-observer.c:826,1
    - Dst: add_pattern
      Src: /src/cairo/src/cairo-surface-observer.c:831,1
    - Dst: add_clip
      Src: /src/cairo/src/cairo-surface-observer.c:833,1
    - Dst: _cairo_composite_rectangles_init_for_mask
      Src: /src/cairo/src/cairo-surface-observer.c:835,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-observer.c:839,1
    - Dst: midpt
      Src: /src/cairo/src/cairo-surface-observer.c:845,1
    - Dst: add_extents
      Src: /src/cairo/src/cairo-surface-observer.c:847,1
    - Dst: _cairo_time_get
      Src: /src/cairo/src/cairo-surface-observer.c:851,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-observer.c:855,1
    - Dst: add_extents
      Src: /src/cairo/src/cairo-surface-observer.c:848,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 5
    argNames:
    - abstract_surface
    - op
    - source
    - mask
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 871
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 871
    functionName: _cairo_surface_observer_mask
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - _cairo_time_get_delta
    - to_device
    - _cairo_surface_mask
    - do_callbacks
    - _cairo_surface_sync
    - add_extents
    - add_record_mask
    - _cairo_composite_rectangles_init_for_mask
    - add_clip
    - _cairo_composite_rectangles_fini
    - _cairo_time_get
    - add_pattern
    - midpt
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_surface_observer_mask (void *abstract_surface,\t\
      \t\t cairo_operator_t op,\t\t\t const cairo_pattern_t *source,\t\t\t const cairo_pattern_t\
      \ *mask,\t\t\t const cairo_clip_t *clip) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: add_clip
      Src: /src/cairo/src/cairo-surface-observer.c:1160,1
    - Dst: _cairo_composite_rectangles_init_for_glyphs
      Src: /src/cairo/src/cairo-surface-observer.c:1167,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-observer.c:1174,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-surface-observer.c:1191,1
    - Dst: to_device
      Src: /src/cairo/src/cairo-surface-observer.c:1150,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-surface-observer.c:1188,1
    - Dst: _cairo_time_get
      Src: /src/cairo/src/cairo-surface-observer.c:1193,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-surface-observer.c:1184,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-observer.c:1201,1
    - Dst: _cairo_surface_sync
      Src: /src/cairo/src/cairo-surface-observer.c:1204,1
    - Dst: add_record_glyphs
      Src: /src/cairo/src/cairo-surface-observer.c:1212,1
    - Dst: do_callbacks
      Src: /src/cairo/src/cairo-surface-observer.c:1217,1
    - Dst: add_clip
      Src: /src/cairo/src/cairo-surface-observer.c:1165,1
    - Dst: add_pattern
      Src: /src/cairo/src/cairo-surface-observer.c:1164,1
    - Dst: add_pattern
      Src: /src/cairo/src/cairo-surface-observer.c:1159,1
    - Dst: midpt
      Src: /src/cairo/src/cairo-surface-observer.c:1180,1
    - Dst: add_extents
      Src: /src/cairo/src/cairo-surface-observer.c:1182,1
    - Dst: add_extents
      Src: /src/cairo/src/cairo-surface-observer.c:1183,1
    - Dst: _cairo_surface_show_text_glyphs
      Src: /src/cairo/src/cairo-surface-observer.c:1194,1
    - Dst: _cairo_time_get_delta
      Src: /src/cairo/src/cairo-surface-observer.c:1205,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-surface-observer.c:1190,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-observer.c:1189,1
    - Dst: free
      Src: /src/cairo/src/cairo-surface-observer.c:1200,1
    - Dst: add_record_glyphs
      Src: /src/cairo/src/cairo-surface-observer.c:1207,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 7
    argNames:
    - abstract_surface
    - op
    - source
    - glyphs
    - num_glyphs
    - scaled_font
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_glyph_t*
    - int
    - cairo_scaled_font_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 1220
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1220
    functionName: _cairo_surface_observer_glyphs
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - memcpy
    - _cairo_time_get_delta
    - to_device
    - _cairo_error
    - free
    - do_callbacks
    - _cairo_surface_sync
    - add_extents
    - add_record_glyphs
    - _cairo_composite_rectangles_init_for_glyphs
    - _cairo_surface_show_text_glyphs
    - add_clip
    - _cairo_composite_rectangles_fini
    - _cairo_time_get
    - add_pattern
    - _cairo_malloc_ab
    - midpt
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_surface_observer_glyphs (void\t\t\
      \t*abstract_surface,\t\t\t\tcairo_operator_t\t op,\t\t\t\tconst cairo_pattern_t\t\
      *source,\t\t\t\tcairo_glyph_t\t\t*glyphs,\t\t\t\tint\t\t\t num_glyphs,\t\t\t\
      \tcairo_scaled_font_t\t*scaled_font,\t\t\t\tconst cairo_clip_t\t\t*clip) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 5
    argNames:
    - abstract_surface
    - x
    - y
    - width
    - height
    argTypes:
    - void*
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1245
      start: 1231
    functionDepth: 0
    functionLinenumber: 1231
    functionLinenumberEnd: 1245
    functionName: _cairo_surface_observer_mark_dirty
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_surface_observer_mark_dirty (void *abstract_surface,\t\
      \t\t\t int x, int y,\t\t\t\t int width, int height) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-observer.c:2292,1
    - Dst: CAIRO_REFERENCE_COUNT_IS_INVALID
      Src: /src/cairo/src/cairo-surface-observer.c:2292,1
    - Dst: _cairo_device_is_observer
      Src: /src/cairo/src/cairo-surface-observer.c:2295,1
    - Dst: _cairo_time_to_ns
      Src: /src/cairo/src/cairo-surface-observer.c:2299,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - abstract_device
    argTypes:
    - cairo_device_t*
    constantsTouched: []
    func_position:
      end: 2300
      start: 2287
    functionDepth: 0
    functionLinenumber: 2287
    functionLinenumberEnd: 2300
    functionName: cairo_device_observer_glyphs_elapsed
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - _cairo_time_to_ns
    - CAIRO_REFERENCE_COUNT_IS_INVALID
    - _cairo_device_is_observer
    - unlikely
    linkageType: ''
    returnType: double
    signature: 'double cairo_device_observer_glyphs_elapsed (cairo_device_t *abstract_device) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-surface-observer.c:399,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-surface-observer.c:401,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-observer.c:400,1
    - Dst: _cairo_surface_init
      Src: /src/cairo/src/cairo-surface-observer.c:403,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-surface-observer.c:401,1
    - Dst: log_init
      Src: /src/cairo/src/cairo-surface-observer.c:408,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-observer.c:410,1
    - Dst: free
      Src: /src/cairo/src/cairo-surface-observer.c:411,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-surface-observer.c:412,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-surface-observer.c:415,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-surface-observer.c:421,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-surface-observer.c:422,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-surface-observer.c:423,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-surface-observer.c:425,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-surface-observer.c:419,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-surface-observer.c:420,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-surface-observer.c:426,1
    - Dst: to_device
      Src: /src/cairo/src/cairo-surface-observer.c:429,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 432
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 432
    functionName: _cairo_surface_create_observer_internal
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - _cairo_surface_init
    - to_device
    - cairo_list_init
    - _cairo_error
    - free
    - log_init
    - cairo_surface_reference
    - _cairo_surface_create_in_error
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_surface_create_observer_internal (cairo_device_t\
      \ *device,\t\t\t\t\t cairo_surface_t *target) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_foreach_entry
      Src: /src/cairo/src/cairo-surface-observer.c:439,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - surface
    - head
    argTypes:
    - cairo_surface_observer_t*
    - cairo_list_t*
    constantsTouched: []
    func_position:
      end: 441
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 441
    functionName: do_callbacks
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - cairo_list_foreach_entry
    linkageType: ''
    returnType: void
    signature: 'static inline void do_callbacks (cairo_surface_observer_t *surface,
      cairo_list_t *head) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-observer.c:1618,1
    - Dst: _cairo_surface_observer_add_callback
      Src: /src/cairo/src/cairo-surface-observer.c:1625,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-surface-observer.c:1622,1
    - Dst: _cairo_surface_is_observer
      Src: /src/cairo/src/cairo-surface-observer.c:1621,1
    - Dst: CAIRO_REFERENCE_COUNT_IS_INVALID
      Src: /src/cairo/src/cairo-surface-observer.c:1618,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - abstract_surface
    - func
    - data
    argTypes:
    - cairo_surface_t*
    - cairo_surface_observer_callback_t
    - void*
    constantsTouched: []
    func_position:
      end: 1627
      start: 1611
    functionDepth: 0
    functionLinenumber: 1611
    functionLinenumberEnd: 1627
    functionName: cairo_surface_observer_add_flush_callback
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - _cairo_surface_is_observer
    - _cairo_error
    - CAIRO_REFERENCE_COUNT_IS_INVALID
    - _cairo_surface_observer_add_callback
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t cairo_surface_observer_add_flush_callback (cairo_surface_t\
      \ *abstract_surface,\t\t\t\t\t cairo_surface_observer_callback_t func,\t\t\t\
      \t\t void *data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct path*
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: init_path
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void init_path (struct path *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-surface-observer.c:168,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-surface-observer.c:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - log
    argTypes:
    - cairo_observation_t*
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: log_fini
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - _cairo_array_fini
    - cairo_surface_destroy
    linkageType: ''
    returnType: void
    signature: 'static void log_fini (cairo_observation_t *log) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-observer.c:2139,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-observer.c:2142,1
    - Dst: _cairo_device_is_observer
      Src: /src/cairo/src/cairo-surface-observer.c:2142,1
    - Dst: _cairo_output_stream_create
      Src: /src/cairo/src/cairo-surface-observer.c:2147,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-surface-observer.c:2143,1
    - Dst: _cairo_observation_print
      Src: /src/cairo/src/cairo-surface-observer.c:2148,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-surface-observer.c:2149,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - abstract_device
    - write_func
    - closure
    argTypes:
    - cairo_device_t*
    - cairo_write_func_t
    - void*
    constantsTouched: []
    func_position:
      end: 2150
      start: 2131
    functionDepth: 0
    functionLinenumber: 2131
    functionLinenumberEnd: 2150
    functionName: cairo_device_observer_print
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - _cairo_device_is_observer
    - _cairo_error
    - _cairo_observation_print
    - _cairo_output_stream_create
    - _cairo_output_stream_destroy
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t cairo_device_observer_print (cairo_device_t *abstract_device,\t\
      \t\t cairo_write_func_t write_func,\t\t\t void *closure) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct clip*
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: init_clip
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void init_clip (struct clip *c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: get_pattern_surface
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *get_pattern_surface (const cairo_pattern_t
      *pattern) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_device_acquire
      Src: /src/cairo/src/cairo-surface-observer.c:312,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - _device
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 313
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 313
    functionName: _cairo_device_observer_lock
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - cairo_device_acquire
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_device_observer_lock (void *_device) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_device_flush
      Src: /src/cairo/src/cairo-surface-observer.c:330,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - _device
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 332
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 332
    functionName: _cairo_device_observer_flush
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - cairo_device_flush
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_device_observer_flush (void *_device) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: add_record
      Src: /src/cairo/src/cairo-surface-observer.c:888,1
    - Dst: assert
      Src: /src/cairo/src/cairo-surface-observer.c:900,1
    - Dst: record_fill
      Src: /src/cairo/src/cairo-surface-observer.c:889,1
    - Dst: _cairo_time_gt
      Src: /src/cairo/src/cairo-surface-observer.c:903,1
    - Dst: _cairo_time_add
      Src: /src/cairo/src/cairo-surface-observer.c:905,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 10
    argNames:
    - log
    - target
    - op
    - source
    - path
    - fill_rule
    - tolerance
    - antialias
    - clip
    - elapsed
    argTypes:
    - cairo_observation_t*
    - cairo_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    - cairo_time_t
    constantsTouched: []
    func_position:
      end: 906
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 906
    functionName: add_record_fill
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - _cairo_time_add
    - assert
    - record_fill
    - _cairo_time_gt
    - add_record
    linkageType: ''
    returnType: void
    signature: "static void add_record_fill (cairo_observation_t *log,\t\t cairo_surface_t\
      \ *target,\t\t cairo_operator_t\t\top,\t\t const cairo_pattern_t\t\t*source,\t\
      \t const cairo_path_fixed_t\t*path,\t\t cairo_fill_rule_t\t\t fill_rule,\t\t\
      \ double\t\t\t\t tolerance,\t\t cairo_antialias_t\t\t antialias,\t\t const cairo_clip_t\t\
      \t *clip,\t\t cairo_time_t elapsed) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_is_subsurface
      Src: /src/cairo/src/cairo-surface-observer.c:1341,1
    - Dst: _cairo_surface_subsurface_get_target
      Src: /src/cairo/src/cairo-surface-observer.c:1343,1
    - Dst: to_device
      Src: /src/cairo/src/cairo-surface-observer.c:1346,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1349
      start: 1336
    functionDepth: 0
    functionLinenumber: 1336
    functionLinenumberEnd: 1349
    functionName: _cairo_surface_observer_create_context
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - _cairo_surface_is_subsurface
    - _cairo_surface_subsurface_get_target
    - to_device
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *_cairo_surface_observer_create_context(void *target) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_device_release
      Src: /src/cairo/src/cairo-surface-observer.c:319,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - _device
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 320
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 320
    functionName: _cairo_device_observer_unlock
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - cairo_device_release
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_device_observer_unlock (void *_device) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_fini
      Src: /src/cairo/src/cairo-surface-observer.c:338,1
    - Dst: cairo_device_finish
      Src: /src/cairo/src/cairo-surface-observer.c:339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - _device
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 340
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 340
    functionName: _cairo_device_observer_finish
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - log_fini
    - cairo_device_finish
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_device_observer_finish (void *_device) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: to_device
      Src: /src/cairo/src/cairo-surface-observer.c:919,1
    - Dst: add_pattern
      Src: /src/cairo/src/cairo-surface-observer.c:937,1
    - Dst: add_clip
      Src: /src/cairo/src/cairo-surface-observer.c:931,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-observer.c:962,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-surface-observer.c:955,1
    - Dst: _cairo_surface_fill
      Src: /src/cairo/src/cairo-surface-observer.c:958,1
    - Dst: _cairo_surface_sync
      Src: /src/cairo/src/cairo-surface-observer.c:965,1
    - Dst: midpt
      Src: /src/cairo/src/cairo-surface-observer.c:951,1
    - Dst: add_extents
      Src: /src/cairo/src/cairo-surface-observer.c:954,1
    - Dst: _cairo_time_get_delta
      Src: /src/cairo/src/cairo-surface-observer.c:966,1
    - Dst: add_extents
      Src: /src/cairo/src/cairo-surface-observer.c:953,1
    - Dst: _cairo_time_get
      Src: /src/cairo/src/cairo-surface-observer.c:957,1
    - Dst: add_path
      Src: /src/cairo/src/cairo-surface-observer.c:930,1
    - Dst: add_record_fill
      Src: /src/cairo/src/cairo-surface-observer.c:973,1
    - Dst: do_callbacks
      Src: /src/cairo/src/cairo-surface-observer.c:978,1
    - Dst: add_pattern
      Src: /src/cairo/src/cairo-surface-observer.c:929,1
    - Dst: add_path
      Src: /src/cairo/src/cairo-surface-observer.c:938,1
    - Dst: add_clip
      Src: /src/cairo/src/cairo-surface-observer.c:939,1
    - Dst: _cairo_composite_rectangles_init_for_fill
      Src: /src/cairo/src/cairo-surface-observer.c:941,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-observer.c:945,1
    - Dst: add_record_fill
      Src: /src/cairo/src/cairo-surface-observer.c:968,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 8
    argNames:
    - abstract_surface
    - op
    - source
    - path
    - fill_rule
    - tolerance
    - antialias
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 981
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 981
    functionName: _cairo_surface_observer_fill
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - add_record_fill
    - _cairo_time_get_delta
    - to_device
    - do_callbacks
    - _cairo_surface_sync
    - add_extents
    - add_path
    - add_clip
    - _cairo_composite_rectangles_fini
    - _cairo_composite_rectangles_init_for_fill
    - _cairo_time_get
    - add_pattern
    - midpt
    - _cairo_surface_fill
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_surface_observer_fill (void\t\t\t\
      *abstract_surface,\t\t\t cairo_operator_t\t\top,\t\t\t const cairo_pattern_t\t\
      *source,\t\t\t const cairo_path_fixed_t\t*path,\t\t\t cairo_fill_rule_t\t\t\
      fill_rule,\t\t\t double\t\t\t tolerance,\t\t\t cairo_antialias_t\t\tantialias,\t\
      \t\t const cairo_clip_t\t*clip) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-observer.c:2167,1
    - Dst: _cairo_observation_total_elapsed
      Src: /src/cairo/src/cairo-surface-observer.c:2174,1
    - Dst: _cairo_time_to_ns
      Src: /src/cairo/src/cairo-surface-observer.c:2174,1
    - Dst: CAIRO_REFERENCE_COUNT_IS_INVALID
      Src: /src/cairo/src/cairo-surface-observer.c:2167,1
    - Dst: _cairo_device_is_observer
      Src: /src/cairo/src/cairo-surface-observer.c:2170,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - abstract_device
    argTypes:
    - cairo_device_t*
    constantsTouched: []
    func_position:
      end: 2175
      start: 2162
    functionDepth: 0
    functionLinenumber: 2162
    functionLinenumberEnd: 2175
    functionName: cairo_device_observer_elapsed
    functionSourceFile: /src/cairo/src/cairo-surface-observer.c
    functionUses: []
    functionsReached:
    - _cairo_device_is_observer
    - _cairo_time_to_ns
    - CAIRO_REFERENCE_COUNT_IS_INVALID
    - _cairo_observation_total_elapsed
    - unlikely
    linkageType: ''
    returnType: double
    signature: 'double cairo_device_observer_elapsed (cairo_device_t *abstract_device) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/test-paginated-surface.c:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 111
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 111
    functionName: _test_paginated_surface_finish
    functionSourceFile: /src/cairo/src/test-paginated-surface.c
    functionUses: []
    functionsReached:
    - cairo_surface_destroy
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _test_paginated_surface_finish (void *abstract_surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_paint
      Src: /src/cairo/src/test-paginated-surface.c:133,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - abstract_surface
    - op
    - source
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 134
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 134
    functionName: _test_paginated_surface_paint
    functionSourceFile: /src/cairo/src/test-paginated-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_paint
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _test_paginated_surface_paint (void\t\t\
      *abstract_surface,\t\t\t cairo_operator_t\t op,\t\t\t const cairo_pattern_t\t\
      *source,\t\t\t const cairo_clip_t\t*clip) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_stroke
      Src: /src/cairo/src/test-paginated-surface.c:169,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 3
    argCount: 10
    argNames:
    - abstract_surface
    - op
    - source
    - path
    - style
    - ctm
    - ctm_inverse
    - tolerance
    - antialias
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 174
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 174
    functionName: _test_paginated_surface_stroke
    functionSourceFile: /src/cairo/src/test-paginated-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_stroke
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _test_paginated_surface_stroke (void\t\t\
      \t\t*abstract_surface,\t\t\t\tcairo_operator_t\t\t op,\t\t\t\tconst cairo_pattern_t\t\
      \t*source,\t\t\t\tconst cairo_path_fixed_t\t\t*path,\t\t\t\tconst cairo_stroke_style_t\t\
      \t*style,\t\t\t\tconst cairo_matrix_t\t\t\t*ctm,\t\t\t\tconst cairo_matrix_t\t\
      \t\t*ctm_inverse,\t\t\t\tdouble\t\t\t\t tolerance,\t\t\t\tcairo_antialias_t\t\
      \t antialias,\t\t\t\tconst cairo_clip_t\t\t*clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_has_show_text_glyphs
      Src: /src/cairo/src/test-paginated-surface.c:202,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 203
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 203
    functionName: _test_paginated_surface_has_show_text_glyphs
    functionSourceFile: /src/cairo/src/test-paginated-surface.c
    functionUses: []
    functionsReached:
    - cairo_surface_has_show_text_glyphs
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _test_paginated_surface_has_show_text_glyphs (void
      *abstract_surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - abstract_surface
    - mode
    argTypes:
    - void*
    - cairo_paginated_mode_t
    constantsTouched: []
    func_position:
      end: 243
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 243
    functionName: _test_paginated_surface_set_paginated_mode
    functionSourceFile: /src/cairo/src/test-paginated-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _test_paginated_surface_set_paginated_mode\
      \ (void\t\t\t*abstract_surface,\t\t\t\t\t cairo_paginated_mode_t\t mode) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_status
      Src: /src/cairo/src/test-paginated-surface.c:72,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/test-paginated-surface.c:74,1
    - Dst: unlikely
      Src: /src/cairo/src/test-paginated-surface.c:77,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/test-paginated-surface.c:76,1
    - Dst: unlikely
      Src: /src/cairo/src/test-paginated-surface.c:73,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/test-paginated-surface.c:78,1
    - Dst: _cairo_error
      Src: /src/cairo/src/test-paginated-surface.c:78,1
    - Dst: _cairo_surface_init
      Src: /src/cairo/src/test-paginated-surface.c:80,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/test-paginated-surface.c:86,1
    - Dst: _cairo_paginated_surface_create
      Src: /src/cairo/src/test-paginated-surface.c:88,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/test-paginated-surface.c:100,1
    - Dst: free
      Src: /src/cairo/src/test-paginated-surface.c:99,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/test-paginated-surface.c:98,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/test-paginated-surface.c:94,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 101
    functionName: _cairo_test_paginated_surface_create
    functionSourceFile: /src/cairo/src/test-paginated-surface.c
    functionUses: []
    functionsReached:
    - _cairo_paginated_surface_create
    - _cairo_surface_init
    - _cairo_error
    - free
    - cairo_surface_reference
    - cairo_surface_status
    - unlikely
    - cairo_surface_destroy
    - _cairo_surface_create_in_error
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'cairo_surface_t *_cairo_test_paginated_surface_create (cairo_surface_t
      *target) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_get_extents
      Src: /src/cairo/src/test-paginated-surface.c:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - abstract_surface
    - rectangle
    argTypes:
    - void*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: _test_paginated_surface_get_extents
    functionSourceFile: /src/cairo/src/test-paginated-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_get_extents
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _test_paginated_surface_get_extents (void\t\t\t\
      *abstract_surface,\t\t\t\t cairo_rectangle_int_t\t*rectangle) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_mask
      Src: /src/cairo/src/test-paginated-surface.c:148,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 5
    argNames:
    - abstract_surface
    - op
    - source
    - mask
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 150
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 150
    functionName: _test_paginated_surface_mask
    functionSourceFile: /src/cairo/src/test-paginated-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_mask
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _test_paginated_surface_mask (void\t\t*abstract_surface,\t\
      \t\t cairo_operator_t\t op,\t\t\t const cairo_pattern_t\t*source,\t\t\t const\
      \ cairo_pattern_t\t*mask,\t\t\t const cairo_clip_t\t*clip) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_fill
      Src: /src/cairo/src/test-paginated-surface.c:191,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 8
    argNames:
    - abstract_surface
    - op
    - source
    - path
    - fill_rule
    - tolerance
    - antialias
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 195
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 195
    functionName: _test_paginated_surface_fill
    functionSourceFile: /src/cairo/src/test-paginated-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_fill
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _test_paginated_surface_fill (void\t\t\t\
      \t*abstract_surface,\t\t\t cairo_operator_t\t\t\t op,\t\t\t const cairo_pattern_t\t\
      \t*source,\t\t\t const cairo_path_fixed_t\t\t*path,\t\t\t cairo_fill_rule_t\t\
      \t\t fill_rule,\t\t\t double\t\t\t\t tolerance,\t\t\t cairo_antialias_t\t\t\t\
      \ antialias,\t\t\t const cairo_clip_t\t\t*clip) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_show_text_glyphs
      Src: /src/cairo/src/test-paginated-surface.c:224,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 3
    argCount: 12
    argNames:
    - abstract_surface
    - op
    - source
    - utf8
    - utf8_len
    - glyphs
    - num_glyphs
    - clusters
    - num_clusters
    - cluster_flags
    - scaled_font
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - char*
    - int
    - cairo_glyph_t*
    - int
    - cairo_text_cluster_t*
    - int
    - cairo_text_cluster_flags_t
    - cairo_scaled_font_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 231
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 231
    functionName: _test_paginated_surface_show_text_glyphs
    functionSourceFile: /src/cairo/src/test-paginated-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_show_text_glyphs
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _test_paginated_surface_show_text_glyphs\
      \ (void\t\t\t *abstract_surface,\t\t\t\t\t cairo_operator_t\t op,\t\t\t\t\t\
      \ const cairo_pattern_t\t *source,\t\t\t\t\t const char\t\t *utf8,\t\t\t\t\t\
      \ int\t\t\t utf8_len,\t\t\t\t\t cairo_glyph_t\t\t *glyphs,\t\t\t\t\t int\t\t\
      \t num_glyphs,\t\t\t\t\t const cairo_text_cluster_t *clusters,\t\t\t\t\t int\t\
      \t\t num_clusters,\t\t\t\t\t cairo_text_cluster_flags_t cluster_flags,\t\t\t\
      \t\t cairo_scaled_font_t\t *scaled_font,\t\t\t\t\t const cairo_clip_t\t *clip) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_del
      Src: /src/cairo/src/cairo-rtree.c:76,1
    - Dst: _cairo_freepool_free
      Src: /src/cairo/src/cairo-rtree.c:85,1
    - Dst: _cairo_rtree_node_destroy
      Src: /src/cairo/src/cairo-rtree.c:82,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - rtree
    - node
    argTypes:
    - cairo_rtree_t*
    - cairo_rtree_node_t*
    constantsTouched: []
    func_position:
      end: 86
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 86
    functionName: _cairo_rtree_node_destroy
    functionSourceFile: /src/cairo/src/cairo-rtree.c
    functionUses: []
    functionsReached:
    - _cairo_rtree_node_destroy
    - _cairo_freepool_free
    - cairo_list_del
    linkageType: ''
    returnType: void
    signature: 'void _cairo_rtree_node_destroy (cairo_rtree_t *rtree, cairo_rtree_node_t
      *node) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-rtree.c:118,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-rtree.c:131,1
    - Dst: _cairo_rtree_node_create
      Src: /src/cairo/src/cairo-rtree.c:128,1
    - Dst: assert
      Src: /src/cairo/src/cairo-rtree.c:119,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-rtree.c:132,1
    - Dst: _cairo_rtree_node_create
      Src: /src/cairo/src/cairo-rtree.c:136,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-rtree.c:140,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-rtree.c:141,1
    - Dst: _cairo_rtree_node_create
      Src: /src/cairo/src/cairo-rtree.c:146,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-rtree.c:150,1
    - Dst: _cairo_rtree_node_create
      Src: /src/cairo/src/cairo-rtree.c:155,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-rtree.c:159,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-rtree.c:151,1
    - Dst: cairo_list_move
      Src: /src/cairo/src/cairo-rtree.c:174,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-rtree.c:160,1
    - Dst: cairo_list_move
      Src: /src/cairo/src/cairo-rtree.c:169,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 5
    argNames:
    - rtree
    - node
    - width
    - height
    - out
    argTypes:
    - cairo_rtree_t*
    - cairo_rtree_node_t*
    - int
    - int
    - cairo_rtree_node_t**
    constantsTouched: []
    func_position:
      end: 178
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 178
    functionName: _cairo_rtree_node_insert
    functionSourceFile: /src/cairo/src/cairo-rtree.c
    functionUses: []
    functionsReached:
    - cairo_list_move
    - _cairo_error
    - assert
    - _cairo_rtree_node_create
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_rtree_node_insert (cairo_rtree_t *rtree,\t cairo_rtree_node_t\
      \ *node,\t\t\t int width,\t\t\t int height,\t\t\t cairo_rtree_node_t **out) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_foreach_entry
      Src: /src/cairo/src/cairo-rtree.c:202,1
    - Dst: _cairo_rtree_node_insert
      Src: /src/cairo/src/cairo-rtree.c:206,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 4
    argNames:
    - rtree
    - width
    - height
    - out
    argTypes:
    - cairo_rtree_t*
    - int
    - int
    - cairo_rtree_node_t**
    constantsTouched: []
    func_position:
      end: 210
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 210
    functionName: _cairo_rtree_insert
    functionSourceFile: /src/cairo/src/cairo-rtree.c
    functionUses: []
    functionsReached:
    - _cairo_rtree_node_insert
    - cairo_list_foreach_entry
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_rtree_insert (cairo_rtree_t\t *rtree,\t\t\
      \ int\t\t width,\t int\t\t height,\t cairo_rtree_node_t\t **out) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-rtree.c:232,1
    - Dst: cairo_list_move
      Src: /src/cairo/src/cairo-rtree.c:240,1
    - Dst: hars_petruska_f54_1_random
      Src: /src/cairo/src/cairo-rtree.c:256,1
    - Dst: cairo_list_foreach_entry
      Src: /src/cairo/src/cairo-rtree.c:246,1
    - Dst: cairo_list_foreach_entry_safe
      Src: /src/cairo/src/cairo-rtree.c:235,1
    - Dst: cairo_list_foreach_entry
      Src: /src/cairo/src/cairo-rtree.c:257,1
    - Dst: _cairo_rtree_node_destroy
      Src: /src/cairo/src/cairo-rtree.c:265,1
    - Dst: cairo_list_move
      Src: /src/cairo/src/cairo-rtree.c:270,1
    - Dst: cairo_list_is_empty
      Src: /src/cairo/src/cairo-rtree.c:279,1
    - Dst: cairo_list_first_entry
      Src: /src/cairo/src/cairo-rtree.c:280,1
    - Dst: cairo_list_move
      Src: /src/cairo/src/cairo-rtree.c:282,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 50
    argCount: 4
    argNames:
    - rtree
    - width
    - height
    - out
    argTypes:
    - cairo_rtree_t*
    - int
    - int
    - cairo_rtree_node_t**
    constantsTouched: []
    func_position:
      end: 285
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 285
    functionName: _cairo_rtree_evict_random
    functionSourceFile: /src/cairo/src/cairo-rtree.c
    functionUses: []
    functionsReached:
    - cairo_list_foreach_entry_safe
    - cairo_list_foreach_entry
    - cairo_list_move
    - cairo_list_first_entry
    - hars_petruska_f54_1_random
    - _cairo_rtree_node_destroy
    - cairo_list_is_empty
    - cairo_list_init
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_rtree_evict_random (cairo_rtree_t\t *rtree,\t\
      \t int\t\t\t width,\t\t int\t\t\t height,\t\t cairo_rtree_node_t\t\t**out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-rtree.c:307,1
    - Dst: _cairo_freepool_init
      Src: /src/cairo/src/cairo-rtree.c:308,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-rtree.c:310,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-rtree.c:311,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-rtree.c:312,1
    - Dst: memset
      Src: /src/cairo/src/cairo-rtree.c:317,1
    - Dst: cairo_list_add
      Src: /src/cairo/src/cairo-rtree.c:321,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 6
    argNames:
    - rtree
    - width
    - height
    - min_size
    - node_size
    - (*destroy)
    argTypes:
    - cairo_rtree_t*
    - int
    - int
    - int
    - int
    - void
    constantsTouched: []
    func_position:
      end: 322
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 322
    functionName: _cairo_rtree_init
    functionSourceFile: /src/cairo/src/cairo-rtree.c
    functionUses: []
    functionsReached:
    - assert
    - cairo_list_add
    - _cairo_freepool_init
    - memset
    - cairo_list_init
    linkageType: ''
    returnType: void
    signature: "void _cairo_rtree_init (cairo_rtree_t\t*rtree,\t int\t\t\t width,\t\
      \t int\t\t\t height,\t\t int\t\t\t min_size,\t\t int\t\t\t node_size,\t\t void\
      \ (*destroy) (cairo_rtree_node_t *)) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_rtree_node_foreach
      Src: /src/cairo/src/cairo-rtree.c:354,1
    - Dst: func
      Src: /src/cairo/src/cairo-rtree.c:356,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 3
    argNames:
    - node
    - (*func)
    - data
    argTypes:
    - cairo_rtree_node_t*
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 357
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 357
    functionName: _cairo_rtree_node_foreach
    functionSourceFile: /src/cairo/src/cairo-rtree.c
    functionUses: []
    functionsReached:
    - _cairo_rtree_node_foreach
    - func
    linkageType: ''
    returnType: void
    signature: "static void _cairo_rtree_node_foreach (cairo_rtree_node_t *node,\t\
      \t\t void (*func)(cairo_rtree_node_t *, void *data),\t\t\t void *data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_freepool_alloc
      Src: /src/cairo/src/cairo-rtree.c:51,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-rtree.c:53,1
    - Dst: cairo_list_add
      Src: /src/cairo/src/cairo-rtree.c:66,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 69
    functionName: _cairo_rtree_node_create
    functionSourceFile: /src/cairo/src/cairo-rtree.c
    functionUses: []
    functionsReached:
    - cairo_list_add
    - _cairo_error_throw
    - _cairo_freepool_alloc
    linkageType: ''
    returnType: cairo_rtree_node_t*
    signature: "cairo_rtree_node_t *_cairo_rtree_node_create (cairo_rtree_t\t\t *rtree,\t\
      \t cairo_rtree_node_t\t *parent,\t\t\t int\t\t\t x,\t\t\t int\t\t\t y,\t\t\t\
      \ int\t\t\t width,\t\t\t int\t\t\t height) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-rtree.c:183,1
    - Dst: cairo_list_move
      Src: /src/cairo/src/cairo-rtree.c:189,1
    - Dst: assert
      Src: /src/cairo/src/cairo-rtree.c:184,1
    - Dst: _cairo_rtree_node_collapse
      Src: /src/cairo/src/cairo-rtree.c:191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - rtree
    - node
    argTypes:
    - cairo_rtree_t*
    - cairo_rtree_node_t*
    constantsTouched: []
    func_position:
      end: 192
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 192
    functionName: _cairo_rtree_node_remove
    functionSourceFile: /src/cairo/src/cairo-rtree.c
    functionUses: []
    functionsReached:
    - _cairo_rtree_node_collapse
    - cairo_list_move
    - assert
    linkageType: ''
    returnType: void
    signature: 'void _cairo_rtree_node_remove (cairo_rtree_t *rtree, cairo_rtree_node_t
      *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-rtree.c:94,1
    - Dst: cairo_list_move
      Src: /src/cairo/src/cairo-rtree.c:105,1
    - Dst: _cairo_rtree_node_destroy
      Src: /src/cairo/src/cairo-rtree.c:101,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - rtree
    - node
    argTypes:
    - cairo_rtree_t*
    - cairo_rtree_node_t*
    constantsTouched: []
    func_position:
      end: 107
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 107
    functionName: _cairo_rtree_node_collapse
    functionSourceFile: /src/cairo/src/cairo-rtree.c
    functionUses: []
    functionsReached:
    - _cairo_rtree_node_destroy
    - cairo_list_move
    - assert
    linkageType: ''
    returnType: void
    signature: 'void _cairo_rtree_node_collapse (cairo_rtree_t *rtree, cairo_rtree_node_t
      *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rol
      Src: /src/cairo/src/cairo-rtree.c:217,1
    - Dst: rol
      Src: /src/cairo/src/cairo-rtree.c:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 219
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 219
    functionName: hars_petruska_f54_1_random
    functionSourceFile: /src/cairo/src/cairo-rtree.c
    functionUses: []
    functionsReached:
    - rol
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t hars_petruska_f54_1_random (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_is_empty
      Src: /src/cairo/src/cairo-rtree.c:290,1
    - Dst: cairo_list_first_entry
      Src: /src/cairo/src/cairo-rtree.c:291,1
    - Dst: cairo_list_move
      Src: /src/cairo/src/cairo-rtree.c:295,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - rtree
    argTypes:
    - cairo_rtree_t*
    constantsTouched: []
    func_position:
      end: 297
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 297
    functionName: _cairo_rtree_unpin
    functionSourceFile: /src/cairo/src/cairo-rtree.c
    functionUses: []
    functionsReached:
    - cairo_list_first_entry
    - cairo_list_is_empty
    - cairo_list_move
    linkageType: ''
    returnType: void
    signature: 'void _cairo_rtree_unpin (cairo_rtree_t *rtree) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_rtree_node_destroy
      Src: /src/cairo/src/cairo-rtree.c:333,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-rtree.c:337,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-rtree.c:338,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-rtree.c:339,1
    - Dst: cairo_list_add
      Src: /src/cairo/src/cairo-rtree.c:343,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - rtree
    argTypes:
    - cairo_rtree_t*
    constantsTouched: []
    func_position:
      end: 344
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 344
    functionName: _cairo_rtree_reset
    functionSourceFile: /src/cairo/src/cairo-rtree.c
    functionUses: []
    functionsReached:
    - _cairo_rtree_node_destroy
    - cairo_list_add
    - cairo_list_init
    linkageType: ''
    returnType: void
    signature: 'void _cairo_rtree_reset (cairo_rtree_t *rtree) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/cairo/src/cairo-rtree.c:367,1
    - Dst: _cairo_rtree_node_foreach
      Src: /src/cairo/src/cairo-rtree.c:370,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 3
    argNames:
    - rtree
    - (*func)
    - data
    argTypes:
    - cairo_rtree_t*
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 372
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 372
    functionName: _cairo_rtree_foreach
    functionSourceFile: /src/cairo/src/cairo-rtree.c
    functionUses: []
    functionsReached:
    - _cairo_rtree_node_foreach
    - func
    linkageType: ''
    returnType: void
    signature: "void _cairo_rtree_foreach (cairo_rtree_t *rtree,\t\t void (*func)(cairo_rtree_node_t\
      \ *, void *data),\t\t void *data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_freepool_fini
      Src: /src/cairo/src/cairo-rtree.c:386,1
    - Dst: _cairo_rtree_node_destroy
      Src: /src/cairo/src/cairo-rtree.c:383,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - rtree
    argTypes:
    - cairo_rtree_t*
    constantsTouched: []
    func_position:
      end: 387
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 387
    functionName: _cairo_rtree_fini
    functionSourceFile: /src/cairo/src/cairo-rtree.c
    functionUses: []
    functionsReached:
    - _cairo_rtree_node_destroy
    - _cairo_freepool_fini
    linkageType: ''
    returnType: void
    signature: 'void _cairo_rtree_fini (cairo_rtree_t *rtree) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - dash
    argTypes:
    - cairo_stroker_dash_t*
    constantsTouched: []
    func_position:
      end: 67
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 67
    functionName: _cairo_stroker_dash_start
    functionSourceFile: /src/cairo/src/cairo-stroke-dash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void _cairo_stroker_dash_start (cairo_stroker_dash_t *dash) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_stroker_dash_start
      Src: /src/cairo/src/cairo-stroke-dash.c:94,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - dash
    - style
    argTypes:
    - cairo_stroker_dash_t*
    - cairo_stroke_style_t*
    constantsTouched: []
    func_position:
      end: 95
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 95
    functionName: _cairo_stroker_dash_init
    functionSourceFile: /src/cairo/src/cairo-stroke-dash.c
    functionUses: []
    functionsReached:
    - _cairo_stroker_dash_start
    linkageType: ''
    returnType: void
    signature: "void _cairo_stroker_dash_init (cairo_stroker_dash_t *dash,\t\t\t const\
      \ cairo_stroke_style_t *style) "
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - dash
    - step
    argTypes:
    - cairo_stroker_dash_t*
    - double
    constantsTouched: []
    func_position:
      end: 80
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 80
    functionName: _cairo_stroker_dash_step
    functionSourceFile: /src/cairo/src/cairo-stroke-dash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void _cairo_stroker_dash_step (cairo_stroker_dash_t *dash, double
      step) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_add
      Src: /src/cairo/src/cairo-pattern-inline.h:52,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - pattern
    - observer
    - (*func)
    argTypes:
    - cairo_pattern_t*
    - cairo_pattern_observer_t*
    - void
    constantsTouched: []
    func_position:
      end: 53
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 53
    functionName: _cairo_pattern_add_observer
    functionSourceFile: /src/cairo/src/cairo-pattern-inline.h
    functionUses: []
    functionsReached:
    - cairo_list_add
    linkageType: ''
    returnType: CAIRO_BEGIN_DECLS
    signature: "CAIRO_BEGIN_DECLS static inline void _cairo_pattern_add_observer (cairo_pattern_t\
      \ *pattern,\t\t\t cairo_pattern_observer_t *observer,\t\t\t void (*func) (cairo_pattern_observer_t\
      \ *,\t\t\t\t\t cairo_pattern_t *,\t\t\t\t\t unsigned int)) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_get_source
      Src: /src/cairo/src/cairo-pattern-inline.h:59,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: _cairo_pattern_get_source
    functionSourceFile: /src/cairo/src/cairo-pattern-inline.h
    functionUses: []
    functionsReached:
    - _cairo_surface_get_source
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static inline cairo_surface_t *_cairo_pattern_get_source (const cairo_surface_pattern_t\
      \ *pattern,\t\t\t cairo_rectangle_int_t *extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: _cairo_surface_subsurface_get_target
    functionSourceFile: /src/cairo/src/cairo-surface-subsurface-inline.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static inline cairo_surface_t *_cairo_surface_subsurface_get_target
      (cairo_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: _cairo_surface_is_subsurface
    functionSourceFile: /src/cairo/src/cairo-surface-subsurface-inline.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static inline cairo_bool_t _cairo_surface_is_subsurface (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - surface
    - x
    - y
    argTypes:
    - cairo_surface_t*
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: _cairo_surface_subsurface_offset
    functionSourceFile: /src/cairo/src/cairo-surface-subsurface-inline.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static inline void _cairo_surface_subsurface_offset (cairo_surface_t\
      \ *surface,\t\t\t\t int *x, int *y) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: _cairo_surface_subsurface_get_target_with_offset
    functionSourceFile: /src/cairo/src/cairo-surface-subsurface-inline.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static inline cairo_surface_t *_cairo_surface_subsurface_get_target_with_offset\
      \ (cairo_surface_t *surface,\t\t\t\t\t\t int *x, int *y) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structp
    constantsTouched: []
    func_position:
      end: 244
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 244
    functionName: png_simple_output_flush_fn
    functionSourceFile: /src/cairo/src/cairo-png.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void png_simple_output_flush_fn (png_structp png_ptr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_get_io_ptr
      Src: /src/cairo/src/cairo-png.c:447,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-png.c:455,1
    - Dst: ferror
      Src: /src/cairo/src/cairo-png.c:452,1
    - Dst: fwrite
      Src: /src/cairo/src/cairo-png.c:449,1
    - Dst: png_get_error_ptr
      Src: /src/cairo/src/cairo-png.c:453,1
    - Dst: png_error
      Src: /src/cairo/src/cairo-png.c:456,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - png
    - data
    - size
    argTypes:
    - png_structp
    - png_bytep
    - png_size_t
    constantsTouched: []
    func_position:
      end: 459
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 459
    functionName: stdio_write_func
    functionSourceFile: /src/cairo/src/cairo-png.c
    functionUses: []
    functionsReached:
    - png_error
    - ferror
    - fwrite
    - _cairo_error
    - png_get_error_ptr
    - png_get_io_ptr
    linkageType: ''
    returnType: void
    signature: 'static void stdio_write_func (png_structp png, png_bytep data, png_size_t
      size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-png.c:564,1
    - Dst: write_png
      Src: /src/cairo/src/cairo-png.c:569,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - surface
    - write_func
    - closure
    argTypes:
    - cairo_surface_t*
    - cairo_write_func_t
    - void*
    constantsTouched: []
    func_position:
      end: 570
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 570
    functionName: cairo_surface_write_to_png_stream
    functionSourceFile: /src/cairo/src/cairo-png.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - write_png
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t cairo_surface_write_to_png_stream (cairo_surface_t\t\
      *surface,\t\t\t\t cairo_write_func_t\twrite_func,\t\t\t\t void\t\t\t*closure) "
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_acquire_source_image
      Src: /src/cairo/src/cairo-png.c:264,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-png.c:270,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-png.c:287,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-png.c:299,1
    - Dst: unpremultiply_float
      Src: /src/cairo/src/cairo-png.c:313,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-png.c:325,1
    - Dst: convert_float_to_u16
      Src: /src/cairo/src/cairo-png.c:315,1
    - Dst: png_create_info_struct
      Src: /src/cairo/src/cairo-png.c:329,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-png.c:300,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-png.c:324,1
    - Dst: png_write_end
      Src: /src/cairo/src/cairo-png.c:427,1
    - Dst: png_set_tIME
      Src: /src/cairo/src/cairo-png.c:400,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-png.c:284,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-png.c:298,1
    - Dst: png_create_write_struct
      Src: /src/cairo/src/cairo-png.c:321,1
    - Dst: png_set_write_fn
      Src: /src/cairo/src/cairo-png.c:340,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-png.c:380,1
    - Dst: png_set_IHDR
      Src: /src/cairo/src/cairo-png.c:384,1
    - Dst: png_set_bKGD
      Src: /src/cairo/src/cairo-png.c:394,1
    - Dst: png_set_swap
      Src: /src/cairo/src/cairo-png.c:414,1
    - Dst: png_destroy_write_struct
      Src: /src/cairo/src/cairo-png.c:430,1
    - Dst: free
      Src: /src/cairo/src/cairo-png.c:435,1
    - Dst: _cairo_image_surface_coerce
      Src: /src/cairo/src/cairo-png.c:292,1
    - Dst: setjmp
      Src: /src/cairo/src/cairo-png.c:336,1
    - Dst: png_jmpbuf
      Src: /src/cairo/src/cairo-png.c:336,1
    - Dst: _cairo_image_analyze_transparency
      Src: /src/cairo/src/cairo-png.c:345,1
    - Dst: png_convert_from_time_t
      Src: /src/cairo/src/cairo-png.c:399,1
    - Dst: png_write_info
      Src: /src/cairo/src/cairo-png.c:407,1
    - Dst: png_set_write_user_transform_fn
      Src: /src/cairo/src/cairo-png.c:419,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-png.c:434,1
    - Dst: free
      Src: /src/cairo/src/cairo-png.c:432,1
    - Dst: _cairo_surface_release_source_image
      Src: /src/cairo/src/cairo-png.c:437,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-png.c:275,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-png.c:269,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-png.c:282,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-png.c:295,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-png.c:330,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-png.c:331,1
    - Dst: time
      Src: /src/cairo/src/cairo-png.c:399,1
    - Dst: png_set_write_user_transform_fn
      Src: /src/cairo/src/cairo-png.c:422,1
    - Dst: png_set_filler
      Src: /src/cairo/src/cairo-png.c:423,1
    - Dst: png_write_image
      Src: /src/cairo/src/cairo-png.c:426,1
    - Dst: png_set_packswap
      Src: /src/cairo/src/cairo-png.c:366,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 123
    argCount: 3
    argNames:
    - surface
    - write_func
    - closure
    argTypes:
    - cairo_surface_t*
    - png_rw_ptr
    - void*
    constantsTouched: []
    func_position:
      end: 440
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 440
    functionName: write_png
    functionSourceFile: /src/cairo/src/cairo-png.c
    functionUses: []
    functionsReached:
    - _cairo_surface_release_source_image
    - time
    - png_set_swap
    - _cairo_error
    - png_write_info
    - png_jmpbuf
    - png_destroy_write_struct
    - png_set_IHDR
    - png_set_filler
    - png_write_image
    - _cairo_image_analyze_transparency
    - cairo_surface_reference
    - png_set_packswap
    - unpremultiply_float
    - _cairo_image_surface_coerce
    - png_write_end
    - png_set_bKGD
    - png_create_write_struct
    - png_set_tIME
    - png_set_write_user_transform_fn
    - _cairo_surface_acquire_source_image
    - png_create_info_struct
    - png_convert_from_time_t
    - free
    - png_set_write_fn
    - cairo_surface_destroy
    - convert_float_to_u16
    - _cairo_malloc_ab
    - setjmp
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t write_png (cairo_surface_t\t*surface,\t png_rw_ptr\t\
      \twrite_func,\t void\t\t\t*closure) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_get_io_ptr
      Src: /src/cairo/src/cairo-png.c:526,1
    - Dst: png_error
      Src: /src/cairo/src/cairo-png.c:532,1
    - Dst: png_get_error_ptr
      Src: /src/cairo/src/cairo-png.c:529,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-png.c:528,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - png
    - data
    - size
    argTypes:
    - png_structp
    - png_bytep
    - png_size_t
    constantsTouched: []
    func_position:
      end: 534
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 534
    functionName: stream_write_func
    functionSourceFile: /src/cairo/src/cairo-png.c
    functionUses: []
    functionsReached:
    - png_error
    - png_get_error_ptr
    - png_get_io_ptr
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'static void stream_write_func (png_structp png, png_bytep data, png_size_t
      size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - alpha
    - color
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 577
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 577
    functionName: multiply_alpha
    functionSourceFile: /src/cairo/src/cairo-png.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int multiply_alpha (int alpha, int color) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cairo/src/cairo-png.c:195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - png
    - row_info
    - data
    argTypes:
    - png_structp
    - png_row_infop
    - png_bytep
    constantsTouched: []
    func_position:
      end: 202
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 202
    functionName: convert_data_to_bytes
    functionSourceFile: /src/cairo/src/cairo-png.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'static void convert_data_to_bytes (png_structp png, png_row_infop
      row_info, png_bytep data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read_png
      Src: /src/cairo/src/cairo-png.c:981,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 982
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 982
    functionName: cairo_image_surface_create_from_png_stream
    functionSourceFile: /src/cairo/src/cairo-png.c
    functionUses: []
    functionsReached:
    - read_png
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *cairo_image_surface_create_from_png_stream (cairo_read_func_t\t\
      read_func,\t\t\t\t\t void\t\t*closure) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 3
    argNames:
    - f
    - d16
    - width
    argTypes:
    - float*
    - uint16_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 158
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 158
    functionName: premultiply_float
    functionSourceFile: /src/cairo/src/cairo-png.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void premultiply_float (float *f, const uint16_t *d16, unsigned
      int width) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: f_to_u16
      Src: /src/cairo/src/cairo-png.c:178,1
    - Dst: f_to_u16
      Src: /src/cairo/src/cairo-png.c:180,1
    - Dst: f_to_u16
      Src: /src/cairo/src/cairo-png.c:179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - f
    - d16
    - width
    argTypes:
    - float*
    - uint16_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 183
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 183
    functionName: convert_float_to_u16
    functionSourceFile: /src/cairo/src/cairo-png.c
    functionUses: []
    functionsReached:
    - f_to_u16
    linkageType: ''
    returnType: void
    signature: 'static void convert_float_to_u16 (float *f, uint16_t *d16, unsigned
      int width) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_get_error_ptr
      Src: /src/cairo/src/cairo-png.c:212,1
    - Dst: png_jmpbuf
      Src: /src/cairo/src/cairo-png.c:219,1
    - Dst: longjmp
      Src: /src/cairo/src/cairo-png.c:219,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-png.c:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - png
    - error_msg
    argTypes:
    - png_structp
    - png_const_charp
    constantsTouched: []
    func_position:
      end: 223
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 223
    functionName: png_simple_error_callback
    functionSourceFile: /src/cairo/src/cairo-png.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - longjmp
    - png_jmpbuf
    - png_get_error_ptr
    linkageType: ''
    returnType: void
    signature: "static void png_simple_error_callback (png_structp png,\t png_const_charp\
      \ error_msg) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - f
    - d16
    - width
    argTypes:
    - float*
    - uint16_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 170
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 170
    functionName: convert_u16_to_float
    functionSourceFile: /src/cairo/src/cairo-png.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void convert_u16_to_float (float *f, const uint16_t *d16, unsigned
      int width) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - png
    - error_msg
    argTypes:
    - png_structp
    - png_const_charp
    constantsTouched: []
    func_position:
      end: 236
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 236
    functionName: png_simple_warning_callback
    functionSourceFile: /src/cairo/src/cairo-png.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void png_simple_warning_callback (png_structp png,\t png_const_charp\
      \ error_msg) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cairo/src/cairo-png.c:624,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - png
    - row_info
    - data
    argTypes:
    - png_structp
    - png_row_infop
    - png_bytep
    constantsTouched: []
    func_position:
      end: 626
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 626
    functionName: convert_bytes_to_data
    functionSourceFile: /src/cairo/src/cairo-png.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'static void convert_bytes_to_data (png_structp png, png_row_infop
      row_info, png_bytep data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cairo/src/cairo-png.c:94,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 3
    argNames:
    - png
    - row_info
    - data
    argTypes:
    - png_structp
    - png_row_infop
    - png_bytep
    constantsTouched: []
    func_position:
      end: 105
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 105
    functionName: unpremultiply_data
    functionSourceFile: /src/cairo/src/cairo-png.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'static void unpremultiply_data (png_structp png, png_row_infop row_info,
      png_bytep data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - val
    argTypes:
    - float
    constantsTouched: []
    func_position:
      end: 115
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 115
    functionName: f_to_u16
    functionSourceFile: /src/cairo/src/cairo-png.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: 'static uint16_t f_to_u16(float val) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: multiply_alpha
      Src: /src/cairo/src/cairo-png.c:600,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-png.c:606,1
    - Dst: multiply_alpha
      Src: /src/cairo/src/cairo-png.c:602,1
    - Dst: multiply_alpha
      Src: /src/cairo/src/cairo-png.c:601,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - png
    - row_info
    - data
    argTypes:
    - png_structp
    - png_row_infop
    - png_bytep
    constantsTouched: []
    func_position:
      end: 608
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 608
    functionName: premultiply_data
    functionSourceFile: /src/cairo/src/cairo-png.c
    functionUses: []
    functionsReached:
    - memcpy
    - multiply_alpha
    linkageType: ''
    returnType: void
    signature: 'static void premultiply_data (png_structp png, png_row_infop row_info,
      png_bytep data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/cairo/src/cairo-png.c:636,1
    - Dst: feof
      Src: /src/cairo/src/cairo-png.c:640,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-png.c:641,1
    - Dst: ferror
      Src: /src/cairo/src/cairo-png.c:640,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - closure
    - data
    - size
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 645
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 645
    functionName: stdio_read_func
    functionSourceFile: /src/cairo/src/cairo-png.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - ferror
    - feof
    - fread
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t stdio_read_func (void *closure, unsigned char
      *data, unsigned int size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: f_to_u16
      Src: /src/cairo/src/cairo-png.c:131,1
    - Dst: f_to_u16
      Src: /src/cairo/src/cairo-png.c:134,1
    - Dst: f_to_u16
      Src: /src/cairo/src/cairo-png.c:132,1
    - Dst: f_to_u16
      Src: /src/cairo/src/cairo-png.c:133,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - f
    - d16
    - width
    argTypes:
    - float*
    - uint16_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 142
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 142
    functionName: unpremultiply_float
    functionSourceFile: /src/cairo/src/cairo-png.c
    functionUses: []
    functionsReached:
    - f_to_u16
    linkageType: ''
    returnType: void
    signature: 'static void unpremultiply_float (float *f, uint16_t *d16, unsigned
      width) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_get_io_ptr
      Src: /src/cairo/src/cairo-png.c:653,1
    - Dst: png_get_error_ptr
      Src: /src/cairo/src/cairo-png.c:656,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-png.c:655,1
    - Dst: png_error
      Src: /src/cairo/src/cairo-png.c:659,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-png.c:662,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - png
    - data
    - size
    argTypes:
    - png_structp
    - png_bytep
    - png_size_t
    constantsTouched: []
    func_position:
      end: 663
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 663
    functionName: stream_read_func
    functionSourceFile: /src/cairo/src/cairo-png.c
    functionUses: []
    functionsReached:
    - png_error
    - _cairo_output_stream_write
    - png_get_error_ptr
    - png_get_io_ptr
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'static void stream_read_func (png_structp png, png_bytep data, png_size_t
      size) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fopen
      Src: /src/cairo/src/cairo-png.c:919,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-png.c:933,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-png.c:930,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-png.c:922,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-png.c:927,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-png.c:936,1
    - Dst: read_png
      Src: /src/cairo/src/cairo-png.c:941,1
    - Dst: fclose
      Src: /src/cairo/src/cairo-png.c:943,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 946
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 946
    functionName: cairo_image_surface_create_from_png
    functionSourceFile: /src/cairo/src/cairo-png.c
    functionUses: []
    functionsReached:
    - read_png
    - _cairo_fopen
    - fclose
    - _cairo_error
    - _cairo_surface_create_in_error
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'cairo_surface_t *cairo_image_surface_create_from_png (const char *filename) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-png.c:491,1
    - Dst: _cairo_fopen
      Src: /src/cairo/src/cairo-png.c:493,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-png.c:501,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-png.c:503,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-png.c:496,1
    - Dst: write_png
      Src: /src/cairo/src/cairo-png.c:507,1
    - Dst: fclose
      Src: /src/cairo/src/cairo-png.c:509,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-png.c:510,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 2
    argNames:
    - surface
    - filename
    argTypes:
    - cairo_surface_t*
    - char*
    constantsTouched: []
    func_position:
      end: 513
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 513
    functionName: cairo_surface_write_to_png
    functionSourceFile: /src/cairo/src/cairo-png.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - write_png
    - _cairo_fopen
    - fclose
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t cairo_surface_write_to_png (cairo_surface_t\t*surface,\t\
      \t\t const char\t\t*filename) "
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-png.c:689,1
    - Dst: png_create_info_struct
      Src: /src/cairo/src/cairo-png.c:693,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-png.c:695,1
    - Dst: png_jmpbuf
      Src: /src/cairo/src/cairo-png.c:703,1
    - Dst: png_set_filler
      Src: /src/cairo/src/cairo-png.c:752,1
    - Dst: png_set_read_user_transform_fn
      Src: /src/cairo/src/cairo-png.c:784,1
    - Dst: cairo_format_stride_for_width
      Src: /src/cairo/src/cairo-png.c:791,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-png.c:793,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-png.c:797,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-png.c:799,1
    - Dst: cairo_surface_set_mime_data
      Src: /src/cairo/src/cairo-png.c:861,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-png.c:798,1
    - Dst: _cairo_memory_stream_create
      Src: /src/cairo/src/cairo-png.c:681,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-png.c:688,1
    - Dst: png_set_palette_to_rgb
      Src: /src/cairo/src/cairo-png.c:729,1
    - Dst: png_get_IHDR
      Src: /src/cairo/src/cairo-png.c:719,1
    - Dst: png_set_packing
      Src: /src/cairo/src/cairo-png.c:740,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-png.c:763,1
    - Dst: png_set_read_user_transform_fn
      Src: /src/cairo/src/cairo-png.c:775,1
    - Dst: png_read_image
      Src: /src/cairo/src/cairo-png.c:812,1
    - Dst: premultiply_float
      Src: /src/cairo/src/cairo-png.c:827,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-png.c:855,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-png.c:870,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-png.c:805,1
    - Dst: _cairo_image_surface_assume_ownership_of_data
      Src: /src/cairo/src/cairo-png.c:846,1
    - Dst: free
      Src: /src/cairo/src/cairo-png.c:875,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-png.c:882,1
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/src/cairo-png.c:840,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-png.c:815,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-png.c:689,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-png.c:695,1
    - Dst: png_read_info
      Src: /src/cairo/src/cairo-png.c:709,1
    - Dst: setjmp
      Src: /src/cairo/src/cairo-png.c:703,1
    - Dst: png_set_swap
      Src: /src/cairo/src/cairo-png.c:716,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-png.c:722,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-png.c:723,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-png.c:704,1
    - Dst: png_get_IHDR
      Src: /src/cairo/src/cairo-png.c:756,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-png.c:793,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-png.c:799,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-png.c:816,1
    - Dst: _cairo_memory_stream_destroy
      Src: /src/cairo/src/cairo-png.c:851,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-png.c:857,1
    - Dst: png_destroy_read_struct
      Src: /src/cairo/src/cairo-png.c:878,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-png.c:856,1
    - Dst: png_create_read_struct
      Src: /src/cairo/src/cairo-png.c:684,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-png.c:694,1
    - Dst: png_set_read_fn
      Src: /src/cairo/src/cairo-png.c:699,1
    - Dst: png_set_expand_gray_1_2_4_to_8
      Src: /src/cairo/src/cairo-png.c:733,1
    - Dst: png_get_valid
      Src: /src/cairo/src/cairo-png.c:736,1
    - Dst: png_set_tRNS_to_alpha
      Src: /src/cairo/src/cairo-png.c:737,1
    - Dst: png_set_gray_to_rgb
      Src: /src/cairo/src/cairo-png.c:746,1
    - Dst: png_set_interlace_handling
      Src: /src/cairo/src/cairo-png.c:750,1
    - Dst: png_read_update_info
      Src: /src/cairo/src/cairo-png.c:755,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-png.c:763,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-png.c:804,1
    - Dst: convert_u16_to_float
      Src: /src/cairo/src/cairo-png.c:836,1
    - Dst: _cairo_debug_check_image_surface_is_defined
      Src: /src/cairo/src/cairo-png.c:849,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-png.c:869,1
    - Dst: free
      Src: /src/cairo/src/cairo-png.c:876,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-png.c:805,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-png.c:867,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-png.c:803,1
    - Dst: free
      Src: /src/cairo/src/cairo-png.c:868,1
    - Dst: png_read_end
      Src: /src/cairo/src/cairo-png.c:813,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 148
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 886
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 886
    functionName: read_png
    functionSourceFile: /src/cairo/src/cairo-png.c
    functionUses: []
    functionsReached:
    - png_set_palette_to_rgb
    - png_set_swap
    - _cairo_error
    - png_jmpbuf
    - _cairo_surface_create_in_error
    - png_set_packing
    - png_set_tRNS_to_alpha
    - png_set_filler
    - cairo_format_stride_for_width
    - png_get_valid
    - png_read_end
    - png_set_read_fn
    - _cairo_image_surface_assume_ownership_of_data
    - png_set_read_user_transform_fn
    - cairo_image_surface_create_for_data
    - png_set_gray_to_rgb
    - png_read_update_info
    - png_get_IHDR
    - png_read_image
    - _cairo_memory_stream_create
    - _cairo_debug_check_image_surface_is_defined
    - _cairo_output_stream_destroy
    - convert_u16_to_float
    - _cairo_memory_stream_destroy
    - png_create_read_struct
    - png_create_info_struct
    - premultiply_float
    - free
    - cairo_surface_destroy
    - png_set_interlace_handling
    - png_destroy_read_struct
    - cairo_surface_set_mime_data
    - png_set_expand_gray_1_2_4_to_8
    - _cairo_malloc_ab
    - setjmp
    - png_read_info
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *read_png (struct png_read_closure_t *png_closure) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-contour-inline.h:48,1
    - Dst: __cairo_contour_add_point
      Src: /src/cairo/src/cairo-contour-inline.h:49,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - contour
    - point
    argTypes:
    - cairo_contour_t*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 53
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 53
    functionName: _cairo_contour_add_point
    functionSourceFile: /src/cairo/src/cairo-contour-inline.h
    functionUses: []
    functionsReached:
    - __cairo_contour_add_point
    - unlikely
    linkageType: ''
    returnType: CAIRO_BEGIN_DECLS
    signature: "CAIRO_BEGIN_DECLS static inline cairo_int_status_t _cairo_contour_add_point\
      \ (cairo_contour_t *contour,\t\t\t const cairo_point_t *point) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: _cairo_contour_last_point
    functionSourceFile: /src/cairo/src/cairo-contour-inline.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_point_t*
    signature: 'static inline cairo_point_t *_cairo_contour_last_point (cairo_contour_t
      *c) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: __cairo_contour_remove_last_chain
      Src: /src/cairo/src/cairo-contour-inline.h:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - contour
    argTypes:
    - cairo_contour_t*
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: _cairo_contour_remove_last_point
    functionSourceFile: /src/cairo/src/cairo-contour-inline.h
    functionUses: []
    functionsReached:
    - __cairo_contour_remove_last_chain
    linkageType: ''
    returnType: void
    signature: 'static inline void _cairo_contour_remove_last_point (cairo_contour_t
      *contour) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: _cairo_contour_first_point
    functionSourceFile: /src/cairo/src/cairo-contour-inline.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_point_t*
    signature: 'static inline cairo_point_t *_cairo_contour_first_point (cairo_contour_t
      *c) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1081
    functionName: merge_sorted_edges
    functionSourceFile: /src/cairo/src/cairo-tor-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: struct edge*
    signature: 'static struct edge *merge_sorted_edges (struct edge *head_a, struct
      edge *head_b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sort_edges
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1128,1
    - Dst: merge_sorted_edges
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1129,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1133
    functionName: sort_edges
    functionSourceFile: /src/cairo/src/cairo-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - merge_sorted_edges
    - sort_edges
    linkageType: ''
    returnType: struct edge*
    signature: "static struct edge *sort_edges (struct edge *list,\t unsigned int\
      \ level,\t struct edge **head_out) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dec
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1329,1
    - Dst: full_step
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1340,1
    - Dst: cell_list_set_rewind
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1345,1
    - Dst: cell_list_render_edge
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1346,1
    - Dst: dec
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1334,1
    - Dst: cell_list_render_edge
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1347,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 19
    argCount: 3
    argNames:
    - active
    - coverages
    - mask
    argTypes:
    - struct active_list*
    - struct cell_list*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1351
      start: 1318
    functionDepth: 0
    functionLinenumber: 1318
    functionLinenumberEnd: 1351
    functionName: full_row
    functionSourceFile: /src/cairo/src/cairo-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - cell_list_render_edge
    - dec
    - full_step
    - cell_list_set_rewind
    linkageType: ''
    returnType: void
    signature: "static void full_row (struct active_list *active,\t struct cell_list\
      \ *coverages,\t unsigned int mask) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1369,1
    - Dst: polygon_fini
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1371,1
    - Dst: cell_list_fini
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - self
    argTypes:
    - glitter_scan_converter_t*
    constantsTouched: []
    func_position:
      end: 1378
      start: 1365
    functionDepth: 0
    functionLinenumber: 1365
    functionLinenumberEnd: 1378
    functionName: _glitter_scan_converter_fini
    functionSourceFile: /src/cairo/src/cairo-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - free
    - polygon_fini
    - cell_list_fini
    linkageType: ''
    returnType: void
    signature: 'static void _glitter_scan_converter_fini(glitter_scan_converter_t
      *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sort_edges
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1138,1
    - Dst: merge_sorted_edges
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1139,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1135
    functionDepth: 0
    functionLinenumber: 1135
    functionLinenumberEnd: 1140
    functionName: merge_unsorted_edges
    functionSourceFile: /src/cairo/src/cairo-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - merge_sorted_edges
    - sort_edges
    linkageType: ''
    returnType: struct edge*
    signature: 'static struct edge *merge_unsorted_edges (struct edge *head, struct
      edge *unsorted) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polygon_init
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1356,1
    - Dst: cell_list_init
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1358,1
    - Dst: active_list_init
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1357,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - converter
    - jmp
    argTypes:
    - glitter_scan_converter_t*
    - jmp_buf*
    constantsTouched: []
    func_position:
      end: 1363
      start: 1353
    functionDepth: 0
    functionLinenumber: 1353
    functionLinenumberEnd: 1363
    functionName: _glitter_scan_converter_init
    functionSourceFile: /src/cairo/src/cairo-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - cell_list_init
    - active_list_init
    - polygon_init
    linkageType: ''
    returnType: void
    signature: 'static void _glitter_scan_converter_init(glitter_scan_converter_t
      *converter, jmp_buf *jmp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - i
    - scale
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1393
      start: 1380
    functionDepth: 0
    functionLinenumber: 1380
    functionLinenumberEnd: 1393
    functionName: int_to_grid_scaled
    functionSourceFile: /src/cairo/src/cairo-tor-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: grid_scaled_t
    signature: 'static grid_scaled_t int_to_grid_scaled(int i, int scale) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: active_list_reset
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1018,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - active
    argTypes:
    - struct active_list*
    constantsTouched: []
    func_position:
      end: 1019
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1019
    functionName: active_list_init
    functionSourceFile: /src/cairo/src/cairo-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - active_list_reset
    linkageType: ''
    returnType: void
    signature: 'static void active_list_init(struct active_list *active) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1412,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1413,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1415,1
    - Dst: int_to_grid_scaled_x
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1420,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1416,1
    - Dst: int_to_grid_scaled_y
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1421,1
    - Dst: int_to_grid_scaled_x
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1422,1
    - Dst: int_to_grid_scaled_y
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1423,1
    - Dst: active_list_reset
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1425,1
    - Dst: cell_list_reset
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1426,1
    - Dst: polygon_reset
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1427,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 5
    argNames:
    - converter
    - xmin
    - ymin
    - xmax
    - ymax
    argTypes:
    - glitter_scan_converter_t*
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1436
      start: 1398
    functionDepth: 0
    functionLinenumber: 1398
    functionLinenumberEnd: 1436
    functionName: glitter_scan_converter_reset
    functionSourceFile: /src/cairo/src/cairo-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - active_list_reset
    - _cairo_error
    - cell_list_reset
    - ARRAY_LENGTH
    - int_to_grid_scaled_y
    - int_to_grid_scaled_x
    - polygon_reset
    - _cairo_malloc_ab
    - unlikely
    linkageType: ''
    returnType: I
    signature: "I glitter_status_t glitter_scan_converter_reset(\t\t\t glitter_scan_converter_t\
      \ *converter,\t\t\t int xmin, int ymin,\t\t\t int xmax, int ymax) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polygon_add_edge
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1558,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - converter
    - edge
    argTypes:
    - glitter_scan_converter_t*
    - cairo_edge_t*
    constantsTouched: []
    func_position:
      end: 1559
      start: 1554
    functionDepth: 0
    functionLinenumber: 1554
    functionLinenumberEnd: 1559
    functionName: glitter_scan_converter_add_edge
    functionSourceFile: /src/cairo/src/cairo-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - polygon_add_edge
    linkageType: ''
    returnType: I
    signature: "I void glitter_scan_converter_add_edge (glitter_scan_converter_t *converter,\t\
      \t\t\t const cairo_edge_t *edge) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - pool
    argTypes:
    - struct pool*
    constantsTouched: []
    func_position:
      end: 593
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 593
    functionName: pool_reset
    functionSourceFile: /src/cairo/src/cairo-tor-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void pool_reset (struct pool *pool) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - cells
    - x
    argTypes:
    - struct cell_list*
    - int
    constantsTouched: []
    func_position:
      end: 611
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 611
    functionName: cell_list_maybe_rewind
    functionSourceFile: /src/cairo/src/cairo-tor-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'inline static void cell_list_maybe_rewind (struct cell_list *cells,
      int x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cell_list_rewind
      Src: /src/cairo/src/cairo-tor-scan-converter.c:643,1
    - Dst: pool_reset
      Src: /src/cairo/src/cairo-tor-scan-converter.c:645,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - cells
    argTypes:
    - struct cell_list*
    constantsTouched: []
    func_position:
      end: 646
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 646
    functionName: cell_list_reset
    functionSourceFile: /src/cairo/src/cairo-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - pool_reset
    - cell_list_rewind
    linkageType: ''
    returnType: void
    signature: 'inline static void cell_list_reset (struct cell_list *cells) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNROLL3
      Src: /src/cairo/src/cairo-tor-scan-converter.c:678,1
    - Dst: cell_list_alloc
      Src: /src/cairo/src/cairo-tor-scan-converter.c:686,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 689
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 689
    functionName: cell_list_find
    functionSourceFile: /src/cairo/src/cairo-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - UNROLL3
    - cell_list_alloc
    linkageType: ''
    returnType: struct cell*
    signature: 'inline static struct cell *cell_list_find (struct cell_list *cells,
      int x) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GRID_X_TO_INT_FRAC
      Src: /src/cairo/src/cairo-tor-scan-converter.c:741,1
    - Dst: cell_list_find_pair
      Src: /src/cairo/src/cairo-tor-scan-converter.c:746,1
    - Dst: cell_list_find
      Src: /src/cairo/src/cairo-tor-scan-converter.c:752,1
    - Dst: GRID_X_TO_INT_FRAC
      Src: /src/cairo/src/cairo-tor-scan-converter.c:742,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - cells
    - x1
    - x2
    argTypes:
    - struct cell_list*
    - grid_scaled_x_t
    - grid_scaled_x_t
    constantsTouched: []
    func_position:
      end: 755
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 755
    functionName: cell_list_add_subspan
    functionSourceFile: /src/cairo/src/cairo-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - GRID_X_TO_INT_FRAC
    - cell_list_find
    - cell_list_find_pair
    linkageType: ''
    returnType: void
    signature: "inline static void cell_list_add_subspan(struct cell_list *cells,\t\
      \t grid_scaled_x_t x1,\t\t grid_scaled_x_t x2) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: full_step
      Src: /src/cairo/src/cairo-tor-scan-converter.c:803,1
    - Dst: GRID_X_TO_INT_FRAC
      Src: /src/cairo/src/cairo-tor-scan-converter.c:829,1
    - Dst: cell_list_maybe_rewind
      Src: /src/cairo/src/cairo-tor-scan-converter.c:832,1
    - Dst: GRID_X_TO_INT_FRAC
      Src: /src/cairo/src/cairo-tor-scan-converter.c:830,1
    - Dst: MIN
      Src: /src/cairo/src/cairo-tor-scan-converter.c:832,1
    - Dst: cell_list_find
      Src: /src/cairo/src/cairo-tor-scan-converter.c:838,1
    - Dst: cell_list_find_pair
      Src: /src/cairo/src/cairo-tor-scan-converter.c:895,1
    - Dst: cell_list_find
      Src: /src/cairo/src/cairo-tor-scan-converter.c:921,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 113
    argCount: 3
    argNames:
    - cells
    - edge
    - sign
    argTypes:
    - struct cell_list*
    - struct edge*
    - int
    constantsTouched: []
    func_position:
      end: 929
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 929
    functionName: cell_list_render_edge
    functionSourceFile: /src/cairo/src/cairo-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - cell_list_find_pair
    - full_step
    - cell_list_maybe_rewind
    - MIN
    - GRID_X_TO_INT_FRAC
    - cell_list_find
    linkageType: ''
    returnType: void
    signature: "static void cell_list_render_edge(struct cell_list *cells,\t\t struct\
      \ edge *edge,\t\t int sign) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EDGE_Y_BUCKET_INDEX
      Src: /src/cairo/src/cairo-tor-scan-converter.c:992,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 2
    argNames:
    - polygon
    - e
    argTypes:
    - struct polygon*
    - struct edge*
    constantsTouched: []
    func_position:
      end: 996
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 996
    functionName: _polygon_insert_edge_into_its_y_bucket
    functionSourceFile: /src/cairo/src/cairo-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - EDGE_Y_BUCKET_INDEX
    linkageType: ''
    returnType: void
    signature: "static void _polygon_insert_edge_into_its_y_bucket(struct polygon\
      \ *polygon,\t\t\t\t struct edge *e) "
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 16
    argCount: 4
    argNames:
    - active
    - edge
    - y
    - buckets
    argTypes:
    - struct active_list*
    - struct edge*
    - int
    - struct edge**
    constantsTouched: []
    func_position:
      end: 1238
      start: 1208
    functionDepth: 0
    functionLinenumber: 1208
    functionLinenumberEnd: 1238
    functionName: polygon_fill_buckets
    functionSourceFile: /src/cairo/src/cairo-tor-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "inline static int polygon_fill_buckets (struct active_list *active,\t\
      \t struct edge *edge,\t\t int y,\t\t struct edge **buckets) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - cells
    argTypes:
    - struct cell_list*
    constantsTouched: []
    func_position:
      end: 617
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 617
    functionName: cell_list_set_rewind
    functionSourceFile: /src/cairo/src/cairo-tor-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'inline static void cell_list_set_rewind (struct cell_list *cells) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pool_alloc
      Src: /src/cairo/src/cairo-tor-scan-converter.c:655,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 662
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 662
    functionName: cell_list_alloc
    functionSourceFile: /src/cairo/src/cairo-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - pool_alloc
    linkageType: ''
    returnType: struct cell*
    signature: "inline static struct cell *cell_list_alloc (struct cell_list *cells,\t\
      \t struct cell *tail,\t\t int x) "
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct edge*
    constantsTouched: []
    func_position:
      end: 773
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 773
    functionName: full_step
    functionSourceFile: /src/cairo/src/cairo-tor-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'inline static void full_step (struct edge *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pool_init
      Src: /src/cairo/src/cairo-tor-scan-converter.c:936,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - polygon
    - jmp
    argTypes:
    - struct polygon*
    - jmp_buf*
    constantsTouched: []
    func_position:
      end: 939
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 939
    functionName: polygon_init
    functionSourceFile: /src/cairo/src/cairo-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - pool_init
    linkageType: ''
    returnType: void
    signature: 'static void polygon_init (struct polygon *polygon, jmp_buf *jmp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - active
    argTypes:
    - struct active_list*
    constantsTouched: []
    func_position:
      end: 1013
      start: 998
    functionDepth: 0
    functionLinenumber: 998
    functionLinenumberEnd: 1013
    functionName: active_list_reset
    functionSourceFile: /src/cairo/src/cairo-tor-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void active_list_reset (struct active_list *active) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - edge
    argTypes:
    - struct edge*
    constantsTouched: []
    func_position:
      end: 1256
      start: 1240
    functionDepth: 0
    functionLinenumber: 1240
    functionLinenumberEnd: 1256
    functionName: step
    functionSourceFile: /src/cairo/src/cairo-tor-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void step (struct edge *edge) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GRID_AREA_TO_A1
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1675,1
    - Dst: GRID_AREA_TO_A1
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1685,1
    - Dst: GRID_AREA_TO_A1
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1695,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 54
    argCount: 7
    argNames:
    - cells
    - renderer
    - spans
    - y
    - height
    - xmin
    - xmax
    argTypes:
    - struct cell_list*
    - cairo_span_renderer_t*
    - cairo_half_open_span_t*
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1712
      start: 1646
    functionDepth: 0
    functionLinenumber: 1646
    functionLinenumberEnd: 1712
    functionName: blit_a1
    functionSourceFile: /src/cairo/src/cairo-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - GRID_AREA_TO_A1
    linkageType: ''
    returnType: glitter_status_t
    signature: "static glitter_status_t blit_a1 (struct cell_list *cells,\t cairo_span_renderer_t\
      \ *renderer,\t cairo_half_open_span_t *spans,\t int y, int height,\t int xmin,\
      \ int xmax) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _glitter_scan_converter_fini
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1823,1
    - Dst: free
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1824,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - converter
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1825
      start: 1816
    functionDepth: 0
    functionLinenumber: 1816
    functionLinenumberEnd: 1825
    functionName: _cairo_tor_scan_converter_destroy
    functionSourceFile: /src/cairo/src/cairo-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - free
    - _glitter_scan_converter_fini
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_tor_scan_converter_destroy (void *converter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1853,1
    - Dst: glitter_scan_converter_render
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1856,1
    - Dst: _cairo_scan_converter_set_error
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1854,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1854,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - converter
    - renderer
    argTypes:
    - void*
    - cairo_span_renderer_t*
    constantsTouched: []
    func_position:
      end: 1861
      start: 1846
    functionDepth: 0
    functionLinenumber: 1846
    functionLinenumberEnd: 1861
    functionName: _cairo_tor_scan_converter_generate
    functionSourceFile: /src/cairo/src/cairo-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - _cairo_scan_converter_set_error
    - _cairo_error
    - glitter_scan_converter_render
    - setjmp
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_tor_scan_converter_generate (void\t\t\
      \t*converter,\t\t\t\t cairo_span_renderer_t\t*renderer) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _pool_chunk_init
      Src: /src/cairo/src/cairo-tor-scan-converter.c:502,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - pool
    - jmp
    - default_capacity
    - embedded_capacity
    argTypes:
    - struct pool*
    - jmp_buf*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 503
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 503
    functionName: pool_init
    functionSourceFile: /src/cairo/src/cairo-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - _pool_chunk_init
    linkageType: ''
    returnType: void
    signature: "static void pool_init(struct pool *pool,\t jmp_buf *jmp,\t size_t\
      \ default_capacity,\t size_t embedded_capacity) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EDGE_Y_BUCKET_INDEX
      Src: /src/cairo/src/cairo-tor-scan-converter.c:959,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-tor-scan-converter.c:963,1
    - Dst: free
      Src: /src/cairo/src/cairo-tor-scan-converter.c:967,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-tor-scan-converter.c:970,1
    - Dst: pool_reset
      Src: /src/cairo/src/cairo-tor-scan-converter.c:961,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-tor-scan-converter.c:971,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-tor-scan-converter.c:973,1
    - Dst: memset
      Src: /src/cairo/src/cairo-tor-scan-converter.c:976,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 3
    argNames:
    - polygon
    - ymin
    - ymax
    argTypes:
    - struct polygon*
    - grid_scaled_y_t
    - grid_scaled_y_t
    constantsTouched: []
    func_position:
      end: 986
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 986
    functionName: polygon_reset
    functionSourceFile: /src/cairo/src/cairo-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - free
    - pool_reset
    - ARRAY_LENGTH
    - EDGE_Y_BUCKET_INDEX
    - _cairo_malloc_ab
    - memset
    - unlikely
    linkageType: ''
    returnType: glitter_status_t
    signature: "static glitter_status_t polygon_reset (struct polygon *polygon,\t\
      \ grid_scaled_y_t ymin,\t grid_scaled_y_t ymax) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: merge_unsorted_edges
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1205,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - active
    - edges
    argTypes:
    - struct active_list*
    - struct edge*
    constantsTouched: []
    func_position:
      end: 1206
      start: 1201
    functionDepth: 0
    functionLinenumber: 1201
    functionLinenumberEnd: 1206
    functionName: active_list_merge_edges_from_bucket
    functionSourceFile: /src/cairo/src/cairo-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - merge_unsorted_edges
    linkageType: ''
    returnType: void
    signature: "inline static void active_list_merge_edges_from_bucket(struct active_list\
      \ *active,\t\t\t\t struct edge *edges) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cell_list_rewind
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1267,1
    - Dst: cell_list_add_subspan
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1298,1
    - Dst: step
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1274,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 33
    argCount: 3
    argNames:
    - active
    - coverages
    - mask
    argTypes:
    - struct active_list*
    - struct cell_list*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1306
      start: 1258
    functionDepth: 0
    functionLinenumber: 1258
    functionLinenumberEnd: 1306
    functionName: sub_row
    functionSourceFile: /src/cairo/src/cairo-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - step
    - cell_list_rewind
    - cell_list_add_subspan
    linkageType: ''
    returnType: void
    signature: "inline static void sub_row (struct active_list *active,\t struct cell_list\
      \ *coverages,\t unsigned int mask) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-tor-scan-converter.c:513,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 1
    argNames:
    - pool
    argTypes:
    - struct pool*
    constantsTouched: []
    func_position:
      end: 519
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 519
    functionName: pool_fini
    functionSourceFile: /src/cairo/src/cairo-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'static void pool_fini(struct pool *pool) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - a
    - e
    - h
    argTypes:
    - struct active_list*
    - struct edge*
    - int
    constantsTouched: []
    func_position:
      end: 1316
      start: 1308
    functionDepth: 0
    functionLinenumber: 1308
    functionLinenumberEnd: 1316
    functionName: dec
    functionSourceFile: /src/cairo/src/cairo-tor-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'inline static void dec (struct active_list *a, struct edge *e, int
      h) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - cells
    argTypes:
    - struct cell_list*
    constantsTouched: []
    func_position:
      end: 601
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 601
    functionName: cell_list_rewind
    functionSourceFile: /src/cairo/src/cairo-tor-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'inline static void cell_list_rewind (struct cell_list *cells) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UNROLL3
      Src: /src/cairo/src/cairo-tor-scan-converter.c:705,1
    - Dst: cell_list_alloc
      Src: /src/cairo/src/cairo-tor-scan-converter.c:723,1
    - Dst: UNROLL3
      Src: /src/cairo/src/cairo-tor-scan-converter.c:716,1
    - Dst: cell_list_alloc
      Src: /src/cairo/src/cairo-tor-scan-converter.c:712,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 3
    argNames:
    - cells
    - x1
    - x2
    argTypes:
    - struct cell_list*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 727
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 727
    functionName: cell_list_find_pair
    functionSourceFile: /src/cairo/src/cairo-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - UNROLL3
    - cell_list_alloc
    linkageType: ''
    returnType: struct cell_pair
    signature: 'inline static struct cell_pair cell_list_find_pair(struct cell_list
      *cells, int x1, int x2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-tor-scan-converter.c:945,1
    - Dst: pool_fini
      Src: /src/cairo/src/cairo-tor-scan-converter.c:947,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - struct polygon*
    constantsTouched: []
    func_position:
      end: 948
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 948
    functionName: polygon_fini
    functionSourceFile: /src/cairo/src/cairo-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - free
    - pool_fini
    linkageType: ''
    returnType: void
    signature: 'static void polygon_fini (struct polygon *polygon) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 1
    argNames:
    - active
    argTypes:
    - struct active_list*
    constantsTouched: []
    func_position:
      end: 1197
      start: 1144
    functionDepth: 0
    functionLinenumber: 1144
    functionLinenumberEnd: 1197
    functionName: can_do_full_row
    functionSourceFile: /src/cairo/src/cairo-tor-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'inline static int can_do_full_row (struct active_list *active) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 478
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 478
    functionName: _pool_chunk_init
    functionSourceFile: /src/cairo/src/cairo-tor-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: struct _pool_chunk*
    signature: 'static struct _pool_chunk *_pool_chunk_init( struct _pool_chunk *p,
      struct _pool_chunk *prev_chunk, size_t capacity) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _pool_alloc_from_new_chunk
      Src: /src/cairo/src/cairo-tor-scan-converter.c:573,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 575
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 575
    functionName: pool_alloc
    functionSourceFile: /src/cairo/src/cairo-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - _pool_alloc_from_new_chunk
    linkageType: ''
    returnType: void*
    signature: 'inline static void *pool_alloc (struct pool *pool, size_t size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pool_init
      Src: /src/cairo/src/cairo-tor-scan-converter.c:622,1
    - Dst: cell_list_rewind
      Src: /src/cairo/src/cairo-tor-scan-converter.c:629,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - cells
    - jmp
    argTypes:
    - struct cell_list*
    - jmp_buf*
    constantsTouched: []
    func_position:
      end: 630
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 630
    functionName: cell_list_init
    functionSourceFile: /src/cairo/src/cairo-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - pool_init
    - cell_list_rewind
    linkageType: ''
    returnType: void
    signature: 'static void cell_list_init(struct cell_list *cells, jmp_buf *jmp) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: INPUT_TO_GRID_Y
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1472,1
    - Dst: INPUT_TO_GRID_Y
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1476,1
    - Dst: _polygon_insert_edge_into_its_y_bucket
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1546,1
    - Dst: pool_alloc
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1483,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 99
    argCount: 2
    argNames:
    - polygon
    - edge
    argTypes:
    - struct polygon*
    - cairo_edge_t*
    constantsTouched: []
    func_position:
      end: 1547
      start: 1464
    functionDepth: 0
    functionLinenumber: 1464
    functionLinenumberEnd: 1547
    functionName: polygon_add_edge
    functionSourceFile: /src/cairo/src/cairo-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - INPUT_TO_GRID_Y
    - pool_alloc
    - _polygon_insert_edge_into_its_y_bucket
    linkageType: ''
    returnType: void
    signature: "inline static void polygon_add_edge (struct polygon *polygon,\t\t\
      \ const cairo_edge_t *edge) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - active
    - count
    argTypes:
    - struct active_list*
    - int
    constantsTouched: []
    func_position:
      end: 1575
      start: 1561
    functionDepth: 0
    functionLinenumber: 1561
    functionLinenumberEnd: 1575
    functionName: step_edges
    functionSourceFile: /src/cairo/src/cairo-tor-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void step_edges (struct active_list *active, int count) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: polygon_fill_buckets
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1744,1
    - Dst: step_edges
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1777,1
    - Dst: full_row
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1766,1
    - Dst: can_do_full_row
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1761,1
    - Dst: active_list_merge_edges_from_bucket
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1749,1
    - Dst: active_list_merge_edges_from_bucket
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1785,1
    - Dst: sub_row
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1788,1
    - Dst: blit_a8
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1793,1
    - Dst: blit_a1
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1796,1
    - Dst: cell_list_reset
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1798,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 64
    argCount: 4
    argNames:
    - converter
    - winding_mask
    - antialias
    - renderer
    argTypes:
    - glitter_scan_converter_t*
    - unsigned int
    - int
    - cairo_span_renderer_t*
    constantsTouched: []
    func_position:
      end: 1802
      start: 1715
    functionDepth: 0
    functionLinenumber: 1715
    functionLinenumberEnd: 1802
    functionName: glitter_scan_converter_render
    functionSourceFile: /src/cairo/src/cairo-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - polygon_fill_buckets
    - blit_a1
    - full_row
    - can_do_full_row
    - active_list_merge_edges_from_bucket
    - blit_a8
    - cell_list_reset
    - sub_row
    - step_edges
    linkageType: ''
    returnType: I
    signature: "I void glitter_scan_converter_render(glitter_scan_converter_t *converter,\t\
      \t\t unsigned int winding_mask,\t\t\t int antialias,\t\t\t cairo_span_renderer_t\
      \ *renderer) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-tor-scan-converter.c:485,1
    - Dst: longjmp
      Src: /src/cairo/src/cairo-tor-scan-converter.c:487,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-tor-scan-converter.c:487,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-tor-scan-converter.c:486,1
    - Dst: _pool_chunk_init
      Src: /src/cairo/src/cairo-tor-scan-converter.c:489,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 490
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 490
    functionName: _pool_chunk_create
    functionSourceFile: /src/cairo/src/cairo-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - _cairo_malloc
    - _pool_chunk_init
    - _cairo_error
    - longjmp
    - unlikely
    linkageType: ''
    returnType: struct _pool_chunk*
    signature: 'static struct _pool_chunk *_pool_chunk_create(struct pool *pool, size_t
      size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pool_fini
      Src: /src/cairo/src/cairo-tor-scan-converter.c:635,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - cells
    argTypes:
    - struct cell_list*
    constantsTouched: []
    func_position:
      end: 636
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 636
    functionName: cell_list_fini
    functionSourceFile: /src/cairo/src/cairo-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - pool_fini
    linkageType: ''
    returnType: void
    signature: 'static void cell_list_fini(struct cell_list *cells) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GRID_AREA_TO_ALPHA
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1607,1
    - Dst: GRID_AREA_TO_ALPHA
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1629,1
    - Dst: GRID_AREA_TO_ALPHA
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1618,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 7
    argNames:
    - cells
    - renderer
    - spans
    - y
    - height
    - xmin
    - xmax
    argTypes:
    - struct cell_list*
    - cairo_span_renderer_t*
    - cairo_half_open_span_t*
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1643
      start: 1577
    functionDepth: 0
    functionLinenumber: 1577
    functionLinenumberEnd: 1643
    functionName: blit_a8
    functionSourceFile: /src/cairo/src/cairo-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - GRID_AREA_TO_ALPHA
    linkageType: ''
    returnType: glitter_status_t
    signature: "static glitter_status_t blit_a8 (struct cell_list *cells,\t cairo_span_renderer_t\
      \ *renderer,\t cairo_half_open_span_t *spans,\t int y, int height,\t int xmin,\
      \ int xmax) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1874,1
    - Dst: glitter_scan_converter_reset
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1884,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1876,1
    - Dst: _glitter_scan_converter_init
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1883,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1875,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1886,1
    - Dst: _cairo_scan_converter_create_in_error
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1897,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1898
      start: 1863
    functionDepth: 0
    functionLinenumber: 1863
    functionLinenumberEnd: 1898
    functionName: _cairo_tor_scan_converter_create
    functionSourceFile: /src/cairo/src/cairo-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - _cairo_scan_converter_create_in_error
    - _cairo_error
    - glitter_scan_converter_reset
    - _glitter_scan_converter_init
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_scan_converter_t*
    signature: "cairo_scan_converter_t *_cairo_tor_scan_converter_create (int\t\t\t\
      xmin,\t\t\t\t int\t\t\tymin,\t\t\t\t int\t\t\txmax,\t\t\t\t int\t\t\tymax,\t\
      \t\t\t cairo_fill_rule_t\tfill_rule,\t\t\t\t cairo_antialias_t\tantialias) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _pool_chunk_init
      Src: /src/cairo/src/cairo-tor-scan-converter.c:544,1
    - Dst: _pool_chunk_create
      Src: /src/cairo/src/cairo-tor-scan-converter.c:549,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 555
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 555
    functionName: _pool_alloc_from_new_chunk
    functionSourceFile: /src/cairo/src/cairo-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - _pool_chunk_create
    - _pool_chunk_init
    linkageType: ''
    returnType: void*
    signature: 'static void *_pool_alloc_from_new_chunk( struct pool *pool, size_t
      size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1835,1
    - Dst: _cairo_debug_print_polygon
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1836,1
    - Dst: fclose
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1837,1
    - Dst: glitter_scan_converter_add_edge
      Src: /src/cairo/src/cairo-tor-scan-converter.c:1841,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - converter
    - polygon
    argTypes:
    - void*
    - cairo_polygon_t*
    constantsTouched: []
    func_position:
      end: 1844
      start: 1827
    functionDepth: 0
    functionLinenumber: 1827
    functionLinenumberEnd: 1844
    functionName: _cairo_tor_scan_converter_add_polygon
    functionSourceFile: /src/cairo/src/cairo-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - glitter_scan_converter_add_edge
    - _cairo_debug_print_polygon
    - fopen
    - fclose
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_tor_scan_converter_add_polygon (void\t\t*converter,\t\
      \t\t\t const cairo_polygon_t *polygon) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-base64-stream.c:93,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-base64-stream.c:101,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - base
    - data
    - length
    argTypes:
    - cairo_output_stream_t*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 102
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 102
    functionName: _cairo_base64_stream_write
    functionSourceFile: /src/cairo/src/cairo-base64-stream.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_get_status
    - _cairo_output_stream_write
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_base64_stream_write (cairo_output_stream_t\
      \ *base,\t\t\t const unsigned char\t *data,\t\t\t unsigned int\t length) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cairo/src/cairo-base64-stream.c:111,1
    - Dst: _cairo_base64_stream_write
      Src: /src/cairo/src/cairo-base64-stream.c:114,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - base
    argTypes:
    - cairo_output_stream_t*
    constantsTouched: []
    func_position:
      end: 118
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 118
    functionName: _cairo_base64_stream_close
    functionSourceFile: /src/cairo/src/cairo-base64-stream.c
    functionUses: []
    functionsReached:
    - memset
    - _cairo_base64_stream_write
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_base64_stream_close (cairo_output_stream_t
      *base) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_create_in_error
      Src: /src/cairo/src/cairo-base64-stream.c:126,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-base64-stream.c:129,1
    - Dst: _cairo_output_stream_init
      Src: /src/cairo/src/cairo-base64-stream.c:134,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-base64-stream.c:130,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-base64-stream.c:128,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 144
    functionName: _cairo_base64_stream_create
    functionSourceFile: /src/cairo/src/cairo-base64-stream.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_create_in_error
    - _cairo_output_stream_init
    - _cairo_error_throw
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_output_stream_t*
    signature: 'cairo_output_stream_t *_cairo_base64_stream_create (cairo_output_stream_t
      *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-list-inline.h:153,1
    - Dst: assert
      Src: /src/cairo/src/cairo-list-inline.h:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - link
    argTypes:
    - cairo_list_t*
    constantsTouched: []
    func_position:
      end: 155
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 155
    functionName: _cairo_list_validate
    functionSourceFile: /src/cairo/src/cairo-list-inline.h
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: 'static inline void _cairo_list_validate (const cairo_list_t *link) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - entry
    - prev
    - next
    argTypes:
    - cairo_list_t*
    - cairo_list_t*
    - cairo_list_t*
    constantsTouched: []
    func_position:
      end: 200
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 200
    functionName: __cairo_list_add
    functionSourceFile: /src/cairo/src/cairo-list-inline.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static inline void __cairo_list_add (cairo_list_t *entry,\t cairo_list_t\
      \ *prev,\t\t cairo_list_t *next) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - cairo_list_t*
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: cairo_list_init
    functionSourceFile: /src/cairo/src/cairo-list-inline.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void cairo_list_init (cairo_list_t *entry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_validate
      Src: /src/cairo/src/cairo-list-inline.h:228,1
    - Dst: cairo_list_validate_is_empty
      Src: /src/cairo/src/cairo-list-inline.h:229,1
    - Dst: __cairo_list_add
      Src: /src/cairo/src/cairo-list-inline.h:230,1
    - Dst: cairo_list_validate
      Src: /src/cairo/src/cairo-list-inline.h:231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - entry
    - head
    argTypes:
    - cairo_list_t*
    - cairo_list_t*
    constantsTouched: []
    func_position:
      end: 232
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 232
    functionName: cairo_list_add_tail
    functionSourceFile: /src/cairo/src/cairo-list-inline.h
    functionUses: []
    functionsReached:
    - cairo_list_validate
    - cairo_list_validate_is_empty
    - __cairo_list_add
    linkageType: ''
    returnType: void
    signature: 'static inline void cairo_list_add_tail (cairo_list_t *entry, cairo_list_t
      *head) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __cairo_list_del
      Src: /src/cairo/src/cairo-list-inline.h:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - cairo_list_t*
    constantsTouched: []
    func_position:
      end: 245
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 245
    functionName: _cairo_list_del
    functionSourceFile: /src/cairo/src/cairo-list-inline.h
    functionUses: []
    functionsReached:
    - __cairo_list_del
    linkageType: ''
    returnType: void
    signature: 'static inline void _cairo_list_del (cairo_list_t *entry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_validate
      Src: /src/cairo/src/cairo-list-inline.h:270,1
    - Dst: __cairo_list_del
      Src: /src/cairo/src/cairo-list-inline.h:271,1
    - Dst: cairo_list_validate
      Src: /src/cairo/src/cairo-list-inline.h:273,1
    - Dst: __cairo_list_add
      Src: /src/cairo/src/cairo-list-inline.h:272,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - entry
    - head
    argTypes:
    - cairo_list_t*
    - cairo_list_t*
    constantsTouched: []
    func_position:
      end: 274
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 274
    functionName: cairo_list_move
    functionSourceFile: /src/cairo/src/cairo-list-inline.h
    functionUses: []
    functionsReached:
    - cairo_list_validate
    - __cairo_list_del
    - __cairo_list_add
    linkageType: ''
    returnType: void
    signature: 'static inline void cairo_list_move (cairo_list_t *entry, cairo_list_t
      *head) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_validate
      Src: /src/cairo/src/cairo-list-inline.h:317,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - entry
    - head
    argTypes:
    - cairo_list_t*
    - cairo_list_t*
    constantsTouched: []
    func_position:
      end: 319
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 319
    functionName: cairo_list_is_first
    functionSourceFile: /src/cairo/src/cairo-list-inline.h
    functionUses: []
    functionsReached:
    - cairo_list_validate
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static inline cairo_bool_t cairo_list_is_first (const cairo_list_t\
      \ *entry,\t const cairo_list_t *head) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_validate
      Src: /src/cairo/src/cairo-list-inline.h:345,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - head
    argTypes:
    - cairo_list_t*
    constantsTouched: []
    func_position:
      end: 347
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 347
    functionName: cairo_list_is_empty
    functionSourceFile: /src/cairo/src/cairo-list-inline.h
    functionUses: []
    functionsReached:
    - cairo_list_validate
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static inline cairo_bool_t cairo_list_is_empty (const cairo_list_t
      *head) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-list-inline.h:169,1
    - Dst: cairo_list_is_empty
      Src: /src/cairo/src/cairo-list-inline.h:169,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - head
    argTypes:
    - cairo_list_t*
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: cairo_list_validate_is_empty
    functionSourceFile: /src/cairo/src/cairo-list-inline.h
    functionUses: []
    functionsReached:
    - cairo_list_is_empty
    - assert
    linkageType: ''
    returnType: void
    signature: 'static inline void cairo_list_validate_is_empty (const cairo_list_t
      *head) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_foreach
      Src: /src/cairo/src/cairo-list-inline.h:161,1
    - Dst: _cairo_list_validate
      Src: /src/cairo/src/cairo-list-inline.h:162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - head
    argTypes:
    - cairo_list_t*
    constantsTouched: []
    func_position:
      end: 163
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 163
    functionName: cairo_list_validate
    functionSourceFile: /src/cairo/src/cairo-list-inline.h
    functionUses: []
    functionsReached:
    - _cairo_list_validate
    - cairo_list_foreach
    linkageType: ''
    returnType: void
    signature: 'static inline void cairo_list_validate (const cairo_list_t *head) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - prev
    - next
    argTypes:
    - cairo_list_t*
    - cairo_list_t*
    constantsTouched: []
    func_position:
      end: 239
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 239
    functionName: __cairo_list_del
    functionSourceFile: /src/cairo/src/cairo-list-inline.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void __cairo_list_del (cairo_list_t *prev, cairo_list_t
      *next) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_validate
      Src: /src/cairo/src/cairo-list-inline.h:358,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - head
    argTypes:
    - cairo_list_t*
    constantsTouched: []
    func_position:
      end: 360
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 360
    functionName: cairo_list_is_singular
    functionSourceFile: /src/cairo/src/cairo-list-inline.h
    functionUses: []
    functionsReached:
    - cairo_list_validate
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static inline cairo_bool_t cairo_list_is_singular (const cairo_list_t
      *head) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_validate
      Src: /src/cairo/src/cairo-list-inline.h:212,1
    - Dst: cairo_list_validate
      Src: /src/cairo/src/cairo-list-inline.h:215,1
    - Dst: __cairo_list_add
      Src: /src/cairo/src/cairo-list-inline.h:214,1
    - Dst: cairo_list_validate_is_empty
      Src: /src/cairo/src/cairo-list-inline.h:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - entry
    - head
    argTypes:
    - cairo_list_t*
    - cairo_list_t*
    constantsTouched: []
    func_position:
      end: 216
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 216
    functionName: cairo_list_add
    functionSourceFile: /src/cairo/src/cairo-list-inline.h
    functionUses: []
    functionsReached:
    - cairo_list_validate
    - cairo_list_validate_is_empty
    - __cairo_list_add
    linkageType: ''
    returnType: void
    signature: 'static inline void cairo_list_add (cairo_list_t *entry, cairo_list_t
      *head) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_list_del
      Src: /src/cairo/src/cairo-list-inline.h:256,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-list-inline.h:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - cairo_list_t*
    constantsTouched: []
    func_position:
      end: 258
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 258
    functionName: cairo_list_del
    functionSourceFile: /src/cairo/src/cairo-list-inline.h
    functionUses: []
    functionsReached:
    - _cairo_list_del
    - cairo_list_init
    linkageType: ''
    returnType: void
    signature: 'static inline void cairo_list_del (cairo_list_t *entry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_validate
      Src: /src/cairo/src/cairo-list-inline.h:286,1
    - Dst: __cairo_list_del
      Src: /src/cairo/src/cairo-list-inline.h:287,1
    - Dst: cairo_list_validate
      Src: /src/cairo/src/cairo-list-inline.h:289,1
    - Dst: __cairo_list_add
      Src: /src/cairo/src/cairo-list-inline.h:288,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - entry
    - head
    argTypes:
    - cairo_list_t*
    - cairo_list_t*
    constantsTouched: []
    func_position:
      end: 290
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 290
    functionName: cairo_list_move_tail
    functionSourceFile: /src/cairo/src/cairo-list-inline.h
    functionUses: []
    functionsReached:
    - cairo_list_validate
    - __cairo_list_del
    - __cairo_list_add
    linkageType: ''
    returnType: void
    signature: 'static inline void cairo_list_move_tail (cairo_list_t *entry, cairo_list_t
      *head) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __cairo_list_add
      Src: /src/cairo/src/cairo-list-inline.h:302,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-list-inline.h:303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - old
    - new
    argTypes:
    - cairo_list_t*
    - cairo_list_t*
    constantsTouched: []
    func_position:
      end: 304
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 304
    functionName: cairo_list_move_list
    functionSourceFile: /src/cairo/src/cairo-list-inline.h
    functionUses: []
    functionsReached:
    - cairo_list_init
    - __cairo_list_add
    linkageType: ''
    returnType: void
    signature: 'static inline void cairo_list_move_list (cairo_list_t *old, cairo_list_t
      *new) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_validate
      Src: /src/cairo/src/cairo-list-inline.h:332,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - entry
    - head
    argTypes:
    - cairo_list_t*
    - cairo_list_t*
    constantsTouched: []
    func_position:
      end: 334
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 334
    functionName: cairo_list_is_last
    functionSourceFile: /src/cairo/src/cairo-list-inline.h
    functionUses: []
    functionsReached:
    - cairo_list_validate
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static inline cairo_bool_t cairo_list_is_last (const cairo_list_t\
      \ *entry,\t const cairo_list_t *head) "
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 77
    functionName: _cairo_raster_source_pattern_acquire
    functionSourceFile: /src/cairo/src/cairo-raster-source-pattern.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *_cairo_raster_source_pattern_acquire (const cairo_pattern_t\
      \ *abstract_pattern,\t\t\t\t cairo_surface_t *target,\t\t\t\t const cairo_rectangle_int_t\
      \ *extents) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - abstract_pattern
    - surface
    argTypes:
    - cairo_pattern_t*
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 90
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 90
    functionName: _cairo_raster_source_pattern_release
    functionSourceFile: /src/cairo/src/cairo-raster-source-pattern.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _cairo_raster_source_pattern_release (const cairo_pattern_t *abstract_pattern,\t\
      \t\t\t cairo_surface_t *surface) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - abstract_pattern
    argTypes:
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 120
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 120
    functionName: _cairo_raster_source_pattern_snapshot
    functionSourceFile: /src/cairo/src/cairo-raster-source-pattern.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_raster_source_pattern_snapshot (cairo_pattern_t
      *abstract_pattern) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - abstract_pattern
    - data
    argTypes:
    - cairo_pattern_t*
    - void*
    constantsTouched: []
    func_position:
      end: 210
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 210
    functionName: cairo_raster_source_pattern_set_callback_data
    functionSourceFile: /src/cairo/src/cairo-raster-source-pattern.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void cairo_raster_source_pattern_set_callback_data (cairo_pattern_t\
      \ *abstract_pattern,\t\t\t\t\t void *data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - abstract_pattern
    - acquire
    - release
    argTypes:
    - cairo_pattern_t*
    - cairo_raster_source_acquire_func_t
    - cairo_raster_source_release_func_t
    constantsTouched: []
    func_position:
      end: 266
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 266
    functionName: cairo_raster_source_pattern_set_acquire
    functionSourceFile: /src/cairo/src/cairo-raster-source-pattern.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void cairo_raster_source_pattern_set_acquire (cairo_pattern_t *abstract_pattern,\t\
      \t\t\t\t cairo_raster_source_acquire_func_t acquire,\t\t\t\t\t cairo_raster_source_release_func_t\
      \ release) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - abstract_pattern
    - snapshot
    argTypes:
    - cairo_pattern_t*
    - cairo_raster_source_snapshot_func_t
    constantsTouched: []
    func_position:
      end: 317
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 317
    functionName: cairo_raster_source_pattern_set_snapshot
    functionSourceFile: /src/cairo/src/cairo-raster-source-pattern.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void cairo_raster_source_pattern_set_snapshot (cairo_pattern_t *abstract_pattern,\t\
      \t\t\t\t cairo_raster_source_snapshot_func_t snapshot) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - abstract_pattern
    argTypes:
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 339
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 339
    functionName: cairo_raster_source_pattern_get_snapshot
    functionSourceFile: /src/cairo/src/cairo-raster-source-pattern.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_raster_source_snapshot_func_t
    signature: 'cairo_raster_source_snapshot_func_t cairo_raster_source_pattern_get_snapshot
      (cairo_pattern_t *abstract_pattern) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - abstract_pattern
    - finish
    argTypes:
    - cairo_pattern_t*
    - cairo_raster_source_finish_func_t
    constantsTouched: []
    func_position:
      end: 407
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 407
    functionName: cairo_raster_source_pattern_set_finish
    functionSourceFile: /src/cairo/src/cairo-raster-source-pattern.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void cairo_raster_source_pattern_set_finish (cairo_pattern_t *abstract_pattern,\t\
      \t\t\t\tcairo_raster_source_finish_func_t finish) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - abstract_pattern
    argTypes:
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 132
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 132
    functionName: _cairo_raster_source_pattern_finish
    functionSourceFile: /src/cairo/src/cairo-raster-source-pattern.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void _cairo_raster_source_pattern_finish (cairo_pattern_t *abstract_pattern) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VG
      Src: /src/cairo/src/cairo-raster-source-pattern.c:100,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-raster-source-pattern.c:101,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/cairo/src/cairo-raster-source-pattern.c:100,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - abstract_pattern
    - other
    argTypes:
    - cairo_pattern_t*
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 108
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 108
    functionName: _cairo_raster_source_pattern_init_copy
    functionSourceFile: /src/cairo/src/cairo-raster-source-pattern.c
    functionUses: []
    functionsReached:
    - memcpy
    - VALGRIND_MAKE_MEM_UNDEFINED
    - VG
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_raster_source_pattern_init_copy (cairo_pattern_t\
      \ *abstract_pattern,\t\t\t\t\tconst cairo_pattern_t *other) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_MUTEX_INITIALIZE
      Src: /src/cairo/src/cairo-raster-source-pattern.c:162,1
    - Dst: CAIRO_CONTENT_VALID
      Src: /src/cairo/src/cairo-raster-source-pattern.c:167,1
    - Dst: _cairo_pattern_create_in_error
      Src: /src/cairo/src/cairo-raster-source-pattern.c:168,1
    - Dst: _cairo_pattern_create_in_error
      Src: /src/cairo/src/cairo-raster-source-pattern.c:165,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-raster-source-pattern.c:170,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-raster-source-pattern.c:171,1
    - Dst: _cairo_pattern_create_in_error
      Src: /src/cairo/src/cairo-raster-source-pattern.c:172,1
    - Dst: _cairo_pattern_init
      Src: /src/cairo/src/cairo-raster-source-pattern.c:174,1
    - Dst: CAIRO_REFERENCE_COUNT_INIT
      Src: /src/cairo/src/cairo-raster-source-pattern.c:176,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 188
    functionName: cairo_pattern_create_raster_source
    functionSourceFile: /src/cairo/src/cairo-raster-source-pattern.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_create_in_error
    - CAIRO_CONTENT_VALID
    - CAIRO_MUTEX_INITIALIZE
    - CAIRO_REFERENCE_COUNT_INIT
    - _cairo_pattern_init
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_pattern_t*
    signature: "cairo_pattern_t *cairo_pattern_create_raster_source (void *user_data,\t\
      \t\t\t cairo_content_t content,\t\t\t\t int width, int height) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 232
    functionName: cairo_raster_source_pattern_get_callback_data
    functionSourceFile: /src/cairo/src/cairo-raster-source-pattern.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *cairo_raster_source_pattern_get_callback_data (cairo_pattern_t
      *abstract_pattern) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 3
    argNames:
    - abstract_pattern
    - acquire
    - release
    argTypes:
    - cairo_pattern_t*
    - cairo_raster_source_acquire_func_t*
    - cairo_raster_source_release_func_t*
    constantsTouched: []
    func_position:
      end: 293
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 293
    functionName: cairo_raster_source_pattern_get_acquire
    functionSourceFile: /src/cairo/src/cairo-raster-source-pattern.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void cairo_raster_source_pattern_get_acquire (cairo_pattern_t *abstract_pattern,\t\
      \t\t\t\t cairo_raster_source_acquire_func_t *acquire,\t\t\t\t\t cairo_raster_source_release_func_t\
      \ *release) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - abstract_pattern
    - copy
    argTypes:
    - cairo_pattern_t*
    - cairo_raster_source_copy_func_t
    constantsTouched: []
    func_position:
      end: 362
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 362
    functionName: cairo_raster_source_pattern_set_copy
    functionSourceFile: /src/cairo/src/cairo-raster-source-pattern.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void cairo_raster_source_pattern_set_copy (cairo_pattern_t *abstract_pattern,\t\
      \t\t\t cairo_raster_source_copy_func_t copy) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - abstract_pattern
    argTypes:
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 384
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 384
    functionName: cairo_raster_source_pattern_get_copy
    functionSourceFile: /src/cairo/src/cairo-raster-source-pattern.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_raster_source_copy_func_t
    signature: 'cairo_raster_source_copy_func_t cairo_raster_source_pattern_get_copy
      (cairo_pattern_t *abstract_pattern) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - abstract_pattern
    argTypes:
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 429
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 429
    functionName: cairo_raster_source_pattern_get_finish
    functionSourceFile: /src/cairo/src/cairo-raster-source-pattern.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_raster_source_finish_func_t
    signature: 'cairo_raster_source_finish_func_t cairo_raster_source_pattern_get_finish
      (cairo_pattern_t *abstract_pattern) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XGetDefault
      Src: /src/cairo/src/cairo-xlib-screen.c:97,1
    - Dst: parse_boolean
      Src: /src/cairo/src/cairo-xlib-screen.c:99,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - dpy
    - option
    - value
    argTypes:
    - Display*
    - char*
    - cairo_bool_t*
    constantsTouched: []
    func_position:
      end: 107
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 107
    functionName: get_boolean_default
    functionSourceFile: /src/cairo/src/cairo-xlib-screen.c
    functionUses: []
    functionsReached:
    - XGetDefault
    - parse_boolean
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t get_boolean_default (Display *dpy,\t\t const char\
      \ *option,\t\t cairo_bool_t *value) "
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: get_boolean_default
      Src: /src/cairo/src/cairo-xlib-screen.c:145,1
    - Dst: get_boolean_default
      Src: /src/cairo/src/cairo-xlib-screen.c:155,1
    - Dst: get_integer_default
      Src: /src/cairo/src/cairo-xlib-screen.c:148,1
    - Dst: get_integer_default
      Src: /src/cairo/src/cairo-xlib-screen.c:158,1
    - Dst: get_integer_default
      Src: /src/cairo/src/cairo-xlib-screen.c:161,1
    - Dst: XRenderQuerySubpixelOrder
      Src: /src/cairo/src/cairo-xlib-screen.c:169,1
    - Dst: XScreenNumberOfScreen
      Src: /src/cairo/src/cairo-xlib-screen.c:170,1
    - Dst: cairo_font_options_set_hint_style
      Src: /src/cairo/src/cairo-xlib-screen.c:264,1
    - Dst: cairo_font_options_set_antialias
      Src: /src/cairo/src/cairo-xlib-screen.c:265,1
    - Dst: cairo_font_options_set_subpixel_order
      Src: /src/cairo/src/cairo-xlib-screen.c:266,1
    - Dst: _cairo_font_options_set_lcd_filter
      Src: /src/cairo/src/cairo-xlib-screen.c:267,1
    - Dst: cairo_font_options_set_hint_metrics
      Src: /src/cairo/src/cairo-xlib-screen.c:268,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 66
    argCount: 2
    argNames:
    - dpy
    - info
    argTypes:
    - Display*
    - cairo_xlib_screen_t*
    constantsTouched: []
    func_position:
      end: 269
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 269
    functionName: _cairo_xlib_init_screen_font_options
    functionSourceFile: /src/cairo/src/cairo-xlib-screen.c
    functionUses: []
    functionsReached:
    - cairo_font_options_set_subpixel_order
    - XScreenNumberOfScreen
    - cairo_font_options_set_hint_style
    - _cairo_font_options_set_lcd_filter
    - XRenderQuerySubpixelOrder
    - cairo_font_options_set_antialias
    - get_boolean_default
    - get_integer_default
    - cairo_font_options_set_hint_metrics
    linkageType: ''
    returnType: void
    signature: "static void _cairo_xlib_init_screen_font_options (Display *dpy,\t\t\
      \t\t cairo_xlib_screen_t *info) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xlib_device_create
      Src: /src/cairo/src/cairo-xlib-screen.c:317,1
    - Dst: _cairo_xlib_display_get_screen
      Src: /src/cairo/src/cairo-xlib-screen.c:326,1
    - Dst: _cairo_xlib_display_acquire
      Src: /src/cairo/src/cairo-xlib-screen.c:322,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-screen.c:319,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-screen.c:323,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-xlib-screen.c:332,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-screen.c:333,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xlib-screen.c:334,1
    - Dst: memset
      Src: /src/cairo/src/cairo-xlib-screen.c:341,1
    - Dst: memset
      Src: /src/cairo/src/cairo-xlib-screen.c:342,1
    - Dst: cairo_device_destroy
      Src: /src/cairo/src/cairo-xlib-screen.c:354,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-xlib-screen.c:345,1
    - Dst: cairo_device_release
      Src: /src/cairo/src/cairo-xlib-screen.c:351,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-xlib-screen.c:344,1
    - Dst: cairo_list_add
      Src: /src/cairo/src/cairo-xlib-screen.c:346,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 3
    argNames:
    - dpy
    - screen
    - out
    argTypes:
    - Display*
    - Screen*
    - cairo_xlib_screen_t**
    constantsTouched: []
    func_position:
      end: 356
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 356
    functionName: _cairo_xlib_screen_get
    functionSourceFile: /src/cairo/src/cairo-xlib-screen.c
    functionUses: []
    functionsReached:
    - cairo_device_destroy
    - cairo_list_init
    - _cairo_error
    - unlikely
    - _cairo_xlib_display_acquire
    - _cairo_xlib_display_get_screen
    - cairo_list_add
    - cairo_device_release
    - memset
    - _cairo_xlib_device_create
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_xlib_screen_get (Display *dpy,\t\t\tScreen *screen,\t\
      \t\tcairo_xlib_screen_t **out) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xlib-screen.c:396,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xlib-screen.c:401,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xlib-screen.c:403,1
    - Dst: XFreeGC
      Src: /src/cairo/src/cairo-xlib-screen.c:404,1
    - Dst: rand
      Src: /src/cairo/src/cairo-xlib-screen.c:403,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - display
    - info
    - depth
    - gc
    argTypes:
    - cairo_xlib_display_t*
    - cairo_xlib_screen_t*
    - int
    - GC
    constantsTouched: []
    func_position:
      end: 409
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 409
    functionName: _cairo_xlib_screen_put_gc
    functionSourceFile: /src/cairo/src/cairo-xlib-screen.c
    functionUses: []
    functionsReached:
    - XFreeGC
    - ARRAY_LENGTH
    - rand
    linkageType: ''
    returnType: void
    signature: "void _cairo_xlib_screen_put_gc (cairo_xlib_display_t *display, cairo_xlib_screen_t\
      \ *info,\t\t\t int depth,\t\t\t GC gc) "
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 1
    argNames:
    - v
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 87
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 87
    functionName: parse_boolean
    functionSourceFile: /src/cairo/src/cairo-xlib-screen.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int parse_boolean (const char *v) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XGetDefault
      Src: /src/cairo/src/cairo-xlib-screen.c:116,1
    - Dst: FcNameConstant
      Src: /src/cairo/src/cairo-xlib-screen.c:119,1
    - Dst: strtol
      Src: /src/cairo/src/cairo-xlib-screen.c:123,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 3
    argNames:
    - dpy
    - option
    - value
    argTypes:
    - Display*
    - char*
    - int*
    constantsTouched: []
    func_position:
      end: 129
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 129
    functionName: get_integer_default
    functionSourceFile: /src/cairo/src/cairo-xlib-screen.c
    functionUses: []
    functionsReached:
    - XGetDefault
    - FcNameConstant
    - strtol
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t get_integer_default (Display *dpy,\t\t const char\
      \ *option,\t\t int *value) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_is_empty
      Src: /src/cairo/src/cairo-xlib-screen.c:280,1
    - Dst: cairo_list_first_entry
      Src: /src/cairo/src/cairo-xlib-screen.c:283,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/src/cairo-xlib-screen.c:286,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xlib-screen.c:289,1
    - Dst: XFreeGC
      Src: /src/cairo/src/cairo-xlib-screen.c:291,1
    - Dst: cairo_list_is_empty
      Src: /src/cairo/src/cairo-xlib-screen.c:296,1
    - Dst: _cairo_xlib_visual_info_destroy
      Src: /src/cairo/src/cairo-xlib-screen.c:297,1
    - Dst: cairo_list_first_entry
      Src: /src/cairo/src/cairo-xlib-screen.c:297,1
    - Dst: cairo_list_del
      Src: /src/cairo/src/cairo-xlib-screen.c:302,1
    - Dst: free
      Src: /src/cairo/src/cairo-xlib-screen.c:304,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - display
    - info
    argTypes:
    - cairo_xlib_display_t*
    - cairo_xlib_screen_t*
    constantsTouched: []
    func_position:
      end: 305
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 305
    functionName: _cairo_xlib_screen_destroy
    functionSourceFile: /src/cairo/src/cairo-xlib-screen.c
    functionUses: []
    functionsReached:
    - cairo_surface_finish
    - free
    - cairo_list_first_entry
    - ARRAY_LENGTH
    - XFreeGC
    - cairo_list_del
    - _cairo_xlib_visual_info_destroy
    - cairo_list_is_empty
    linkageType: ''
    returnType: void
    signature: "void _cairo_xlib_screen_destroy (cairo_xlib_display_t *display,\t\t\
      \t cairo_xlib_screen_t *info) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xlib-screen.c:367,1
    - Dst: XCreateGC
      Src: /src/cairo/src/cairo-xlib-screen.c:380,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - display
    - info
    - depth
    - drawable
    argTypes:
    - cairo_xlib_display_t*
    - cairo_xlib_screen_t*
    - int
    - Drawable
    constantsTouched: []
    func_position:
      end: 386
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 386
    functionName: _cairo_xlib_screen_get_gc
    functionSourceFile: /src/cairo/src/cairo-xlib-screen.c
    functionUses: []
    functionsReached:
    - ARRAY_LENGTH
    - XCreateGC
    linkageType: ''
    returnType: GC
    signature: "GC _cairo_xlib_screen_get_gc (cairo_xlib_display_t *display, cairo_xlib_screen_t\
      \ *info,\t\t\t int depth,\t\t\t Drawable drawable) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_foreach_entry
      Src: /src/cairo/src/cairo-xlib-screen.c:420,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-screen.c:435,1
    - Dst: XScreenNumberOfScreen
      Src: /src/cairo/src/cairo-xlib-screen.c:432,1
    - Dst: cairo_list_add
      Src: /src/cairo/src/cairo-xlib-screen.c:438,1
    - Dst: _cairo_xlib_visual_info_create
      Src: /src/cairo/src/cairo-xlib-screen.c:431,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 4
    argNames:
    - display
    - info
    - v
    - out
    argTypes:
    - cairo_xlib_display_t*
    - cairo_xlib_screen_t*
    - Visual*
    - cairo_xlib_visual_info_t**
    constantsTouched: []
    func_position:
      end: 441
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 441
    functionName: _cairo_xlib_screen_get_visual_info
    functionSourceFile: /src/cairo/src/cairo-xlib-screen.c
    functionUses: []
    functionsReached:
    - cairo_list_foreach_entry
    - XScreenNumberOfScreen
    - cairo_list_add
    - _cairo_xlib_visual_info_create
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_xlib_screen_get_visual_info (cairo_xlib_display_t\
      \ *display, cairo_xlib_screen_t *info,\t\t\t\t Visual *v,\t\t\t\t cairo_xlib_visual_info_t\
      \ **out) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_font_options_init_default
      Src: /src/cairo/src/cairo-xlib-screen.c:447,1
    - Dst: _cairo_font_options_set_round_glyph_positions
      Src: /src/cairo/src/cairo-xlib-screen.c:448,1
    - Dst: cairo_device_release
      Src: /src/cairo/src/cairo-xlib-screen.c:456,1
    - Dst: _cairo_xlib_display_acquire
      Src: /src/cairo/src/cairo-xlib-screen.c:453,1
    - Dst: _cairo_xlib_init_screen_font_options
      Src: /src/cairo/src/cairo-xlib-screen.c:454,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 464
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 464
    functionName: _cairo_xlib_screen_get_font_options
    functionSourceFile: /src/cairo/src/cairo-xlib-screen.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_display_acquire
    - _cairo_font_options_init_default
    - cairo_device_release
    - _cairo_xlib_init_screen_font_options
    - _cairo_font_options_set_round_glyph_positions
    linkageType: ''
    returnType: cairo_font_options_t*
    signature: 'cairo_font_options_t *_cairo_xlib_screen_get_font_options (cairo_xlib_screen_t
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-composite-rectangles.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - extents
    argTypes:
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: _cairo_composite_rectangles_fini
    functionSourceFile: /src/cairo/src/cairo-composite-rectangles.c
    functionUses: []
    functionsReached:
    - _cairo_clip_destroy
    linkageType: ''
    returnType: void
    signature: 'void _cairo_composite_rectangles_fini (cairo_composite_rectangles_t
      *extents) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_rectangle_intersect
      Src: /src/cairo/src/cairo-composite-rectangles.c:158,1
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-composite-rectangles.c:170,1
    - Dst: _cairo_rectangle_intersect
      Src: /src/cairo/src/cairo-composite-rectangles.c:173,1
    - Dst: _cairo_clip_reduce_for_composite
      Src: /src/cairo/src/cairo-composite-rectangles.c:169,1
    - Dst: _cairo_rectangle_intersect
      Src: /src/cairo/src/cairo-composite-rectangles.c:165,1
    - Dst: _cairo_clip_get_extents
      Src: /src/cairo/src/cairo-composite-rectangles.c:174,1
    - Dst: _cairo_rectangle_intersect
      Src: /src/cairo/src/cairo-composite-rectangles.c:177,1
    - Dst: _cairo_clip_get_extents
      Src: /src/cairo/src/cairo-composite-rectangles.c:178,1
    - Dst: _cairo_pattern_sampled_area
      Src: /src/cairo/src/cairo-composite-rectangles.c:185,1
    - Dst: _cairo_pattern_sampled_area
      Src: /src/cairo/src/cairo-composite-rectangles.c:189,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-composite-rectangles.c:194,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 35
    argCount: 2
    argNames:
    - extents
    - clip
    argTypes:
    - cairo_composite_rectangles_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 200
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 200
    functionName: _cairo_composite_rectangles_intersect
    functionSourceFile: /src/cairo/src/cairo-composite-rectangles.c
    functionUses: []
    functionsReached:
    - _cairo_rectangle_intersect
    - _cairo_clip_is_all_clipped
    - _cairo_clip_reduce_for_composite
    - _cairo_composite_rectangles_fini
    - _cairo_clip_get_extents
    - _cairo_pattern_sampled_area
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_composite_rectangles_intersect (cairo_composite_rectangles_t\
      \ *extents,\t\t\t\t const cairo_clip_t *clip) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-composite-rectangles.c:86,1
    - Dst: _cairo_surface_get_extents
      Src: /src/cairo/src/cairo-composite-rectangles.c:91,1
    - Dst: _cairo_rectangle_intersect
      Src: /src/cairo/src/cairo-composite-rectangles.c:94,1
    - Dst: _cairo_operator_bounded_by_either
      Src: /src/cairo/src/cairo-composite-rectangles.c:99,1
    - Dst: _cairo_clip_get_extents
      Src: /src/cairo/src/cairo-composite-rectangles.c:95,1
    - Dst: _cairo_composite_reduce_pattern
      Src: /src/cairo/src/cairo-composite-rectangles.c:102,1
    - Dst: _cairo_pattern_get_extents
      Src: /src/cairo/src/cairo-composite-rectangles.c:104,1
    - Dst: _cairo_rectangle_intersect
      Src: /src/cairo/src/cairo-composite-rectangles.c:108,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 5
    argNames:
    - extents
    - surface
    - op
    - source
    - clip
    argTypes:
    - cairo_composite_rectangles_t*
    - cairo_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 118
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 118
    functionName: _cairo_composite_rectangles_init
    functionSourceFile: /src/cairo/src/cairo-composite-rectangles.c
    functionUses: []
    functionsReached:
    - _cairo_rectangle_intersect
    - _cairo_clip_is_all_clipped
    - _cairo_operator_bounded_by_either
    - _cairo_surface_get_extents
    - _cairo_pattern_get_extents
    - _cairo_composite_reduce_pattern
    - _cairo_clip_get_extents
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static inline cairo_bool_t _cairo_composite_rectangles_init (cairo_composite_rectangles_t\
      \ *extents,\t\t\t\t cairo_surface_t *surface,\t\t\t\t cairo_operator_t op,\t\
      \t\t\t const cairo_pattern_t *source,\t\t\t\t const cairo_clip_t *clip) "
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_box_round_to_rectangle
      Src: /src/cairo/src/cairo-composite-rectangles.c:271,1
    - Dst: _cairo_clip_reduce_for_composite
      Src: /src/cairo/src/cairo-composite-rectangles.c:299,1
    - Dst: _cairo_rectangle_intersect
      Src: /src/cairo/src/cairo-composite-rectangles.c:283,1
    - Dst: _cairo_rectangle_intersect
      Src: /src/cairo/src/cairo-composite-rectangles.c:280,1
    - Dst: _cairo_rectangle_intersect
      Src: /src/cairo/src/cairo-composite-rectangles.c:294,1
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-composite-rectangles.c:301,1
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-composite-rectangles.c:303,1
    - Dst: _cairo_rectangle_intersect
      Src: /src/cairo/src/cairo-composite-rectangles.c:306,1
    - Dst: _cairo_clip_get_extents
      Src: /src/cairo/src/cairo-composite-rectangles.c:307,1
    - Dst: _cairo_pattern_sampled_area
      Src: /src/cairo/src/cairo-composite-rectangles.c:311,1
    - Dst: _cairo_pattern_sampled_area
      Src: /src/cairo/src/cairo-composite-rectangles.c:315,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 44
    argCount: 2
    argNames:
    - extents
    - box
    argTypes:
    - cairo_composite_rectangles_t*
    - cairo_box_t*
    constantsTouched: []
    func_position:
      end: 324
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 324
    functionName: _cairo_composite_rectangles_intersect_mask_extents
    functionSourceFile: /src/cairo/src/cairo-composite-rectangles.c
    functionUses: []
    functionsReached:
    - _cairo_box_round_to_rectangle
    - _cairo_clip_destroy
    - _cairo_rectangle_intersect
    - _cairo_clip_is_all_clipped
    - _cairo_clip_reduce_for_composite
    - _cairo_clip_get_extents
    - _cairo_pattern_sampled_area
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_composite_rectangles_intersect_mask_extents\
      \ (cairo_composite_rectangles_t *extents,\t\t\t\t\t\t const cairo_box_t *box) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_composite_rectangles_init
      Src: /src/cairo/src/cairo-composite-rectangles.c:364,1
    - Dst: _cairo_composite_rectangles_intersect
      Src: /src/cairo/src/cairo-composite-rectangles.c:373,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-composite-rectangles.c:367,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-composite-rectangles.c:375,1
    - Dst: _cairo_path_fixed_approximate_stroke_extents
      Src: /src/cairo/src/cairo-composite-rectangles.c:371,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 8
    argNames:
    - extents
    - surface
    - op
    - source
    - path
    - style
    - ctm
    - clip
    argTypes:
    - cairo_composite_rectangles_t*
    - cairo_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 378
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 378
    functionName: _cairo_composite_rectangles_init_for_stroke
    functionSourceFile: /src/cairo/src/cairo-composite-rectangles.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_approximate_stroke_extents
    - _cairo_composite_rectangles_intersect
    - _cairo_composite_rectangles_fini
    - _cairo_composite_rectangles_init
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_composite_rectangles_init_for_stroke (cairo_composite_rectangles_t\
      \ *extents,\t\t\t\t\t cairo_surface_t *surface,\t\t\t\t\t cairo_operator_t\t\
      \t op,\t\t\t\t\t const cairo_pattern_t\t*source,\t\t\t\t\t const cairo_path_fixed_t\t\
      \t*path,\t\t\t\t\t const cairo_stroke_style_t\t*style,\t\t\t\t\t const cairo_matrix_t\t\
      *ctm,\t\t\t\t\t const cairo_clip_t\t\t*clip) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_composite_rectangles_init
      Src: /src/cairo/src/cairo-composite-rectangles.c:414,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-composite-rectangles.c:424,1
    - Dst: _cairo_composite_rectangles_intersect
      Src: /src/cairo/src/cairo-composite-rectangles.c:422,1
    - Dst: _cairo_box_round_to_rectangle
      Src: /src/cairo/src/cairo-composite-rectangles.c:421,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-composite-rectangles.c:417,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 6
    argNames:
    - extents
    - surface
    - op
    - source
    - polygon
    - clip
    argTypes:
    - cairo_composite_rectangles_t*
    - cairo_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_polygon_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 427
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 427
    functionName: _cairo_composite_rectangles_init_for_polygon
    functionSourceFile: /src/cairo/src/cairo-composite-rectangles.c
    functionUses: []
    functionsReached:
    - _cairo_composite_rectangles_intersect
    - _cairo_composite_rectangles_fini
    - _cairo_composite_rectangles_init
    - _cairo_box_round_to_rectangle
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_composite_rectangles_init_for_polygon (cairo_composite_rectangles_t\
      \ *extents,\t\t\t\t\t cairo_surface_t\t\t*surface,\t\t\t\t\t cairo_operator_t\t\
      \t op,\t\t\t\t\t const cairo_pattern_t\t*source,\t\t\t\t\t const cairo_polygon_t\t\
      *polygon,\t\t\t\t\t const cairo_clip_t\t\t*clip) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_composite_rectangles_init
      Src: /src/cairo/src/cairo-composite-rectangles.c:470,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-composite-rectangles.c:480,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-composite-rectangles.c:471,1
    - Dst: _cairo_scaled_font_glyph_device_extents
      Src: /src/cairo/src/cairo-composite-rectangles.c:475,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-composite-rectangles.c:479,1
    - Dst: _cairo_pattern_is_opaque_solid
      Src: /src/cairo/src/cairo-composite-rectangles.c:485,1
    - Dst: _cairo_composite_rectangles_intersect
      Src: /src/cairo/src/cairo-composite-rectangles.c:490,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-composite-rectangles.c:492,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 22
    argCount: 9
    argNames:
    - extents
    - surface
    - op
    - source
    - scaled_font
    - glyphs
    - num_glyphs
    - clip
    - overlap
    argTypes:
    - cairo_composite_rectangles_t*
    - cairo_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_scaled_font_t*
    - cairo_glyph_t*
    - int
    - cairo_clip_t*
    - cairo_bool_t*
    constantsTouched: []
    func_position:
      end: 495
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 495
    functionName: _cairo_composite_rectangles_init_for_glyphs
    functionSourceFile: /src/cairo/src/cairo-composite-rectangles.c
    functionUses: []
    functionsReached:
    - _cairo_scaled_font_glyph_device_extents
    - unlikely
    - _cairo_composite_rectangles_fini
    - _cairo_composite_rectangles_init
    - _cairo_composite_rectangles_intersect
    - _cairo_pattern_is_opaque_solid
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_composite_rectangles_init_for_glyphs (cairo_composite_rectangles_t\
      \ *extents,\t\t\t\t\t cairo_surface_t *surface,\t\t\t\t\t cairo_operator_t\t\
      \t op,\t\t\t\t\t const cairo_pattern_t\t*source,\t\t\t\t\t cairo_scaled_font_t\t\
      *scaled_font,\t\t\t\t\t cairo_glyph_t\t\t*glyphs,\t\t\t\t\t int\t\t\t num_glyphs,\t\
      \t\t\t\t const cairo_clip_t\t\t*clip,\t\t\t\t\t cairo_bool_t\t\t*overlap) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_composite_rectangles_init
      Src: /src/cairo/src/cairo-composite-rectangles.c:127,1
    - Dst: _cairo_clip_get_extents
      Src: /src/cairo/src/cairo-composite-rectangles.c:140,1
    - Dst: _cairo_rectangle_intersect
      Src: /src/cairo/src/cairo-composite-rectangles.c:139,1
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-composite-rectangles.c:136,1
    - Dst: _cairo_clip_reduce_for_composite
      Src: /src/cairo/src/cairo-composite-rectangles.c:135,1
    - Dst: _cairo_pattern_sampled_area
      Src: /src/cairo/src/cairo-composite-rectangles.c:144,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-composite-rectangles.c:150,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 5
    argNames:
    - extents
    - surface
    - op
    - source
    - clip
    argTypes:
    - cairo_composite_rectangles_t*
    - cairo_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 152
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 152
    functionName: _cairo_composite_rectangles_init_for_paint
    functionSourceFile: /src/cairo/src/cairo-composite-rectangles.c
    functionUses: []
    functionsReached:
    - _cairo_rectangle_intersect
    - _cairo_clip_is_all_clipped
    - _cairo_clip_reduce_for_composite
    - _cairo_composite_rectangles_init
    - _cairo_composite_rectangles_fini
    - _cairo_clip_get_extents
    - _cairo_pattern_sampled_area
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_composite_rectangles_init_for_paint (cairo_composite_rectangles_t\
      \ *extents,\t\t\t\t\t cairo_surface_t *surface,\t\t\t\t\t cairo_operator_t\t\
      \t op,\t\t\t\t\t const cairo_pattern_t\t*source,\t\t\t\t\t const cairo_clip_t\t\
      \t*clip) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pattern_init_static_copy
      Src: /src/cairo/src/cairo-composite-rectangles.c:59,1
    - Dst: _cairo_matrix_is_pixman_translation
      Src: /src/cairo/src/cairo-composite-rectangles.c:66,1
    - Dst: _cairo_pattern_analyze_filter
      Src: /src/cairo/src/cairo-composite-rectangles.c:63,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - cairo_pattern_t*
    - cairo_pattern_union_t*
    constantsTouched: []
    func_position:
      end: 73
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 73
    functionName: _cairo_composite_reduce_pattern
    functionSourceFile: /src/cairo/src/cairo-composite-rectangles.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_init_static_copy
    - _cairo_pattern_analyze_filter
    - _cairo_matrix_is_pixman_translation
    linkageType: ''
    returnType: void
    signature: "static void _cairo_composite_reduce_pattern (const cairo_pattern_t\
      \ *src,\t\t\t\t cairo_pattern_union_t *dst) "
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_box_round_to_rectangle
      Src: /src/cairo/src/cairo-composite-rectangles.c:209,1
    - Dst: _cairo_clip_reduce_for_composite
      Src: /src/cairo/src/cairo-composite-rectangles.c:237,1
    - Dst: _cairo_rectangle_intersect
      Src: /src/cairo/src/cairo-composite-rectangles.c:232,1
    - Dst: _cairo_rectangle_intersect
      Src: /src/cairo/src/cairo-composite-rectangles.c:221,1
    - Dst: _cairo_rectangle_intersect
      Src: /src/cairo/src/cairo-composite-rectangles.c:218,1
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-composite-rectangles.c:239,1
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-composite-rectangles.c:241,1
    - Dst: _cairo_rectangle_intersect
      Src: /src/cairo/src/cairo-composite-rectangles.c:244,1
    - Dst: _cairo_clip_get_extents
      Src: /src/cairo/src/cairo-composite-rectangles.c:245,1
    - Dst: _cairo_pattern_sampled_area
      Src: /src/cairo/src/cairo-composite-rectangles.c:249,1
    - Dst: _cairo_pattern_sampled_area
      Src: /src/cairo/src/cairo-composite-rectangles.c:253,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 44
    argCount: 2
    argNames:
    - extents
    - box
    argTypes:
    - cairo_composite_rectangles_t*
    - cairo_box_t*
    constantsTouched: []
    func_position:
      end: 262
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 262
    functionName: _cairo_composite_rectangles_intersect_source_extents
    functionSourceFile: /src/cairo/src/cairo-composite-rectangles.c
    functionUses: []
    functionsReached:
    - _cairo_box_round_to_rectangle
    - _cairo_clip_destroy
    - _cairo_rectangle_intersect
    - _cairo_clip_is_all_clipped
    - _cairo_clip_reduce_for_composite
    - _cairo_clip_get_extents
    - _cairo_pattern_sampled_area
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_composite_rectangles_intersect_source_extents\
      \ (cairo_composite_rectangles_t *extents,\t\t\t\t\t\t const cairo_box_t *box) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_composite_rectangles_init
      Src: /src/cairo/src/cairo-composite-rectangles.c:335,1
    - Dst: _cairo_composite_rectangles_intersect
      Src: /src/cairo/src/cairo-composite-rectangles.c:346,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-composite-rectangles.c:338,1
    - Dst: _cairo_pattern_get_extents
      Src: /src/cairo/src/cairo-composite-rectangles.c:344,1
    - Dst: _cairo_composite_reduce_pattern
      Src: /src/cairo/src/cairo-composite-rectangles.c:343,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-composite-rectangles.c:348,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 6
    argNames:
    - extents
    - surface
    - op
    - source
    - mask
    - clip
    argTypes:
    - cairo_composite_rectangles_t*
    - cairo_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 351
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 351
    functionName: _cairo_composite_rectangles_init_for_mask
    functionSourceFile: /src/cairo/src/cairo-composite-rectangles.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_get_extents
    - _cairo_composite_rectangles_intersect
    - _cairo_composite_rectangles_fini
    - _cairo_composite_rectangles_init
    - _cairo_composite_reduce_pattern
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_composite_rectangles_init_for_mask (cairo_composite_rectangles_t\
      \ *extents,\t\t\t\t\t cairo_surface_t *surface,\t\t\t\t\t cairo_operator_t\t\
      \t op,\t\t\t\t\t const cairo_pattern_t\t*source,\t\t\t\t\t const cairo_pattern_t\t\
      *mask,\t\t\t\t\t const cairo_clip_t\t\t*clip) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_composite_rectangles_init
      Src: /src/cairo/src/cairo-composite-rectangles.c:389,1
    - Dst: _cairo_path_fixed_approximate_fill_extents
      Src: /src/cairo/src/cairo-composite-rectangles.c:396,1
    - Dst: _cairo_composite_rectangles_intersect
      Src: /src/cairo/src/cairo-composite-rectangles.c:398,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-composite-rectangles.c:400,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-composite-rectangles.c:392,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 6
    argNames:
    - extents
    - surface
    - op
    - source
    - path
    - clip
    argTypes:
    - cairo_composite_rectangles_t*
    - cairo_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 403
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 403
    functionName: _cairo_composite_rectangles_init_for_fill
    functionSourceFile: /src/cairo/src/cairo-composite-rectangles.c
    functionUses: []
    functionsReached:
    - _cairo_composite_rectangles_intersect
    - _cairo_composite_rectangles_fini
    - _cairo_path_fixed_approximate_fill_extents
    - _cairo_composite_rectangles_init
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_composite_rectangles_init_for_fill (cairo_composite_rectangles_t\
      \ *extents,\t\t\t\t\t cairo_surface_t *surface,\t\t\t\t\t cairo_operator_t\t\
      \t op,\t\t\t\t\t const cairo_pattern_t\t*source,\t\t\t\t\t const cairo_path_fixed_t\t\
      \t*path,\t\t\t\t\t const cairo_clip_t\t\t*clip) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_composite_rectangles_init
      Src: /src/cairo/src/cairo-composite-rectangles.c:440,1
    - Dst: _cairo_composite_rectangles_intersect
      Src: /src/cairo/src/cairo-composite-rectangles.c:449,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-composite-rectangles.c:443,1
    - Dst: _cairo_box_round_to_rectangle
      Src: /src/cairo/src/cairo-composite-rectangles.c:448,1
    - Dst: _cairo_boxes_extents
      Src: /src/cairo/src/cairo-composite-rectangles.c:447,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-composite-rectangles.c:451,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 6
    argNames:
    - extents
    - surface
    - op
    - source
    - boxes
    - clip
    argTypes:
    - cairo_composite_rectangles_t*
    - cairo_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_boxes_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 454
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 454
    functionName: _cairo_composite_rectangles_init_for_boxes
    functionSourceFile: /src/cairo/src/cairo-composite-rectangles.c
    functionUses: []
    functionsReached:
    - _cairo_box_round_to_rectangle
    - _cairo_boxes_extents
    - _cairo_composite_rectangles_fini
    - _cairo_composite_rectangles_init
    - _cairo_composite_rectangles_intersect
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_composite_rectangles_init_for_boxes (cairo_composite_rectangles_t\
      \ *extents,\t\t\t\t\t cairo_surface_t\t\t*surface,\t\t\t\t\t cairo_operator_t\t\
      \t op,\t\t\t\t\t const cairo_pattern_t\t*source,\t\t\t\t\t const cairo_boxes_t\t\
      *boxes,\t\t\t\t\t const cairo_clip_t\t\t*clip) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_rectangle_intersect
      Src: /src/cairo/src/cairo-composite-rectangles.c:509,1
    - Dst: _cairo_clip_contains_box
      Src: /src/cairo/src/cairo-composite-rectangles.c:514,1
    - Dst: _cairo_box_from_rectangle
      Src: /src/cairo/src/cairo-composite-rectangles.c:513,1
    - Dst: _cairo_rectangle_intersect
      Src: /src/cairo/src/cairo-composite-rectangles.c:511,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - composite
    - clip
    argTypes:
    - cairo_composite_rectangles_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 515
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 515
    functionName: _cairo_composite_rectangles_can_reduce_clip
    functionSourceFile: /src/cairo/src/cairo-composite-rectangles.c
    functionUses: []
    functionsReached:
    - _cairo_clip_contains_box
    - _cairo_rectangle_intersect
    - _cairo_box_from_rectangle
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t _cairo_composite_rectangles_can_reduce_clip (cairo_composite_rectangles_t\
      \ *composite,\t\t\t\t\t cairo_clip_t *clip) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_boxes_add
      Src: /src/cairo/src/cairo-composite-rectangles.c:525,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-composite-rectangles.c:528,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - composite
    - damage
    argTypes:
    - cairo_composite_rectangles_t*
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 533
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 533
    functionName: _cairo_composite_rectangles_add_to_damage
    functionSourceFile: /src/cairo/src/cairo-composite-rectangles.c
    functionUses: []
    functionsReached:
    - _cairo_boxes_add
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_composite_rectangles_add_to_damage (cairo_composite_rectangles_t\
      \ *composite,\t\t\t\t\t cairo_boxes_t *damage) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_MUTEX_INITIALIZE
      Src: /src/cairo/src/cairo-debug.c:64,1
    - Dst: _cairo_ft_font_reset_static_data
      Src: /src/cairo/src/cairo-debug.c:71,1
    - Dst: _cairo_toy_font_face_reset_static_data
      Src: /src/cairo/src/cairo-debug.c:68,1
    - Dst: _cairo_scaled_font_map_destroy
      Src: /src/cairo/src/cairo-debug.c:66,1
    - Dst: _cairo_win32_font_reset_static_data
      Src: /src/cairo/src/cairo-debug.c:75,1
    - Dst: _cairo_intern_string_reset_static_data
      Src: /src/cairo/src/cairo-debug.c:78,1
    - Dst: _cairo_scaled_font_reset_static_data
      Src: /src/cairo/src/cairo-debug.c:80,1
    - Dst: _cairo_pattern_reset_static_data
      Src: /src/cairo/src/cairo-debug.c:82,1
    - Dst: _cairo_clip_reset_static_data
      Src: /src/cairo/src/cairo-debug.c:84,1
    - Dst: _cairo_image_reset_static_data
      Src: /src/cairo/src/cairo-debug.c:86,1
    - Dst: _cairo_image_compositor_reset_static_data
      Src: /src/cairo/src/cairo-debug.c:88,1
    - Dst: CAIRO_MUTEX_FINALIZE
      Src: /src/cairo/src/cairo-debug.c:92,1
    - Dst: _cairo_default_context_reset_static_data
      Src: /src/cairo/src/cairo-debug.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 93
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 93
    functionName: cairo_debug_reset_static_data
    functionSourceFile: /src/cairo/src/cairo-debug.c
    functionUses: []
    functionsReached:
    - _cairo_intern_string_reset_static_data
    - _cairo_default_context_reset_static_data
    - _cairo_win32_font_reset_static_data
    - CAIRO_MUTEX_INITIALIZE
    - _cairo_scaled_font_reset_static_data
    - _cairo_pattern_reset_static_data
    - _cairo_image_reset_static_data
    - _cairo_image_compositor_reset_static_data
    - _cairo_ft_font_reset_static_data
    - _cairo_scaled_font_map_destroy
    - CAIRO_MUTEX_FINALIZE
    - _cairo_toy_font_face_reset_static_data
    - _cairo_clip_reset_static_data
    linkageType: ''
    returnType: void
    signature: 'void cairo_debug_reset_static_data (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cairo/src/cairo-debug.c:204,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-debug.c:207,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-debug.c:206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - closure
    - point
    argTypes:
    - void*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 210
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 210
    functionName: _print_line_to
    functionSourceFile: /src/cairo/src/cairo-debug.c
    functionUses: []
    functionsReached:
    - fprintf
    - _cairo_fixed_to_double
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _print_line_to (void *closure,\t\tconst cairo_point_t\
      \ *point) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cairo/src/cairo-debug.c:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - closure
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 236
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 236
    functionName: _print_close
    functionSourceFile: /src/cairo/src/cairo-debug.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _print_close (void *closure) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cairo/src/cairo-debug.c:272,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-debug.c:277,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-debug.c:276,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-debug.c:275,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-debug.c:274,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-debug.c:279,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-debug.c:281,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-debug.c:282,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-debug.c:283,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-debug.c:284,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-debug.c:294,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-debug.c:296,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-debug.c:295,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-debug.c:299,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-debug.c:291,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-debug.c:297,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-debug.c:298,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - stream
    - polygon
    argTypes:
    - FILE*
    - cairo_polygon_t*
    constantsTouched: []
    func_position:
      end: 303
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 303
    functionName: _cairo_debug_print_polygon
    functionSourceFile: /src/cairo/src/cairo-debug.c
    functionUses: []
    functionsReached:
    - fprintf
    - _cairo_fixed_to_double
    linkageType: ''
    returnType: void
    signature: 'void _cairo_debug_print_polygon (FILE *stream, cairo_polygon_t *polygon) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cairo/src/cairo-debug.c:317,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - file
    - rect
    argTypes:
    - FILE*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 320
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 320
    functionName: _cairo_debug_print_rect
    functionSourceFile: /src/cairo/src/cairo-debug.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'void _cairo_debug_print_rect (FILE *file, const cairo_rectangle_int_t
      *rect) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cairo/src/cairo-debug.c:192,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-debug.c:194,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-debug.c:195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - closure
    - point
    argTypes:
    - void*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 198
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 198
    functionName: _print_move_to
    functionSourceFile: /src/cairo/src/cairo-debug.c
    functionUses: []
    functionsReached:
    - fprintf
    - _cairo_fixed_to_double
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _print_move_to (void *closure,\t\tconst cairo_point_t\
      \ *point) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cairo/src/cairo-debug.c:218,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-debug.c:220,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-debug.c:223,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-debug.c:221,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-debug.c:222,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-debug.c:224,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-debug.c:225,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - closure
    - p1
    - p2
    - p3
    argTypes:
    - void*
    - cairo_point_t*
    - cairo_point_t*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 228
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 228
    functionName: _print_curve_to
    functionSourceFile: /src/cairo/src/cairo-debug.c
    functionUses: []
    functionsReached:
    - fprintf
    - _cairo_fixed_to_double
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _print_curve_to (void *closure,\t\t const cairo_point_t\
      \ *p1,\t\t const cairo_point_t *p2,\t\t const cairo_point_t *p3) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cairo/src/cairo-debug.c:244,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-debug.c:248,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-debug.c:246,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-debug.c:247,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-debug.c:249,1
    - Dst: _cairo_path_fixed_interpret
      Src: /src/cairo/src/cairo-debug.c:251,1
    - Dst: assert
      Src: /src/cairo/src/cairo-debug.c:257,1
    - Dst: _cairo_path_fixed_is_box
      Src: /src/cairo/src/cairo-debug.c:259,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-debug.c:260,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-debug.c:264,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - stream
    - path
    argTypes:
    - FILE*
    - cairo_path_fixed_t*
    constantsTouched: []
    func_position:
      end: 265
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 265
    functionName: _cairo_debug_print_path
    functionSourceFile: /src/cairo/src/cairo-debug.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_is_box
    - _cairo_path_fixed_interpret
    - fprintf
    - _cairo_fixed_to_double
    - assert
    linkageType: ''
    returnType: void
    signature: 'void _cairo_debug_print_path (FILE *stream, const cairo_path_fixed_t
      *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cairo/src/cairo-debug.c:308,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - file
    - matrix
    argTypes:
    - FILE*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 312
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 312
    functionName: _cairo_debug_print_matrix
    functionSourceFile: /src/cairo/src/cairo-debug.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'void _cairo_debug_print_matrix (FILE *file, const cairo_matrix_t *matrix) '
  - BBCount: 30
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 357
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 357
    functionName: _cairo_debug_operator_to_string
    functionSourceFile: /src/cairo/src/cairo-debug.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *_cairo_debug_operator_to_string (cairo_operator_t op) '
  - BBCount: 53
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 419
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 419
    functionName: _cairo_debug_status_to_string
    functionSourceFile: /src/cairo/src/cairo-debug.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *_cairo_debug_status_to_string (cairo_int_status_t status) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: VALGRIND_CHECK_MEM_IS_DEFINED
      Src: /src/cairo/src/cairo-debug.c:138,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/cairo/src/cairo-debug.c:140,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 23
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 143
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 143
    functionName: _cairo_debug_check_image_surface_is_defined
    functionSourceFile: /src/cairo/src/cairo-debug.c
    functionUses: []
    functionsReached:
    - VALGRIND_CHECK_MEM_IS_DEFINED
    - VALGRIND_MAKE_MEM_DEFINED
    linkageType: ''
    returnType: void
    signature: 'void _cairo_debug_check_image_surface_is_defined (const cairo_surface_t
      *surface) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/cairo/src/cairo-debug.c:159,1
    - Dst: putc
      Src: /src/cairo/src/cairo-debug.c:172,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-debug.c:163,1
    - Dst: putc
      Src: /src/cairo/src/cairo-debug.c:173,1
    - Dst: putc
      Src: /src/cairo/src/cairo-debug.c:174,1
    - Dst: putc
      Src: /src/cairo/src/cairo-debug.c:177,1
    - Dst: fclose
      Src: /src/cairo/src/cairo-debug.c:182,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-debug.c:184,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 2
    argNames:
    - isurf
    - fn
    argTypes:
    - cairo_image_surface_t*
    - char*
    constantsTouched: []
    func_position:
      end: 185
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 185
    functionName: _cairo_image_surface_write_to_ppm
    functionSourceFile: /src/cairo/src/cairo-debug.c
    functionUses: []
    functionsReached:
    - fopen
    - putc
    - fprintf
    - fclose
    linkageType: ''
    returnType: void
    signature: 'void _cairo_image_surface_write_to_ppm (cairo_image_surface_t *isurf,
      const char *fn) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-rtree-private.h:123,1
    - Dst: cairo_list_move
      Src: /src/cairo/src/cairo-rtree-private.h:125,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 130
    functionName: _cairo_rtree_pin
    functionSourceFile: /src/cairo/src/cairo-rtree-private.h
    functionUses: []
    functionsReached:
    - cairo_list_move
    - assert
    linkageType: ''
    returnType: void*
    signature: 'static inline void *_cairo_rtree_pin (cairo_rtree_t *rtree, cairo_rtree_node_t
      *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - point
    - offset
    argTypes:
    - cairo_point_t*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: translate_point
    functionSourceFile: /src/cairo/src/cairo-path-stroke-tristrip.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void translate_point (cairo_point_t *point, const cairo_point_t
      *offset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_cap
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:666,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - stroker
    - face
    argTypes:
    - struct stroker*
    - cairo_stroke_face_t*
    constantsTouched: []
    func_position:
      end: 667
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 667
    functionName: add_leading_cap
    functionSourceFile: /src/cairo/src/cairo-path-stroke-tristrip.c
    functionUses: []
    functionsReached:
    - add_cap
    linkageType: ''
    returnType: void
    signature: "static void add_leading_cap (struct stroker *stroker,\t\t const cairo_stroke_face_t\
      \ *face) "
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - dx1
    - dy1
    - dx2
    - dy2
    argTypes:
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: slope_compare_sgn
    functionSourceFile: /src/cairo/src/cairo-path-stroke-tristrip.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int slope_compare_sgn (double dx1, double dy1, double dx2,
      double dy2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_cap
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:673,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - stroker
    - face
    argTypes:
    - struct stroker*
    - cairo_stroke_face_t*
    constantsTouched: []
    func_position:
      end: 674
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 674
    functionName: add_trailing_cap
    functionSourceFile: /src/cairo/src/cairo-path-stroke-tristrip.c
    functionUses: []
    functionsReached:
    - add_cap
    linkageType: ''
    returnType: void
    signature: "static void add_trailing_cap (struct stroker *stroker,\t\t const cairo_stroke_face_t\
      \ *face) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_matrix_compute_determinant
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:1052,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:1057,1
    - Dst: _cairo_pen_init
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:1054,1
    - Dst: _cairo_box_add_box
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:1070,1
    - Dst: _cairo_path_fixed_interpret
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:1074,1
    - Dst: likely
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:1081,1
    - Dst: add_caps
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:1082,1
    - Dst: _cairo_pen_fini
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:1084,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 6
    argNames:
    - path
    - style
    - ctm
    - ctm_inverse
    - tolerance
    - strip
    argTypes:
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_tristrip_t*
    constantsTouched: []
    func_position:
      end: 1087
      start: 1031
    functionDepth: 0
    functionLinenumber: 1031
    functionLinenumberEnd: 1087
    functionName: _cairo_path_fixed_stroke_to_tristrip
    functionSourceFile: /src/cairo/src/cairo-path-stroke-tristrip.c
    functionUses: []
    functionsReached:
    - _cairo_pen_fini
    - _cairo_pen_init
    - _cairo_path_fixed_interpret
    - _cairo_matrix_compute_determinant
    - add_caps
    - _cairo_box_add_box
    - likely
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_path_fixed_stroke_to_tristrip (const cairo_path_fixed_t\t\
      *path,\t\t\t\t const cairo_stroke_style_t*style,\t\t\t\t const cairo_matrix_t\t\
      *ctm,\t\t\t\t const cairo_matrix_t\t*ctm_inverse,\t\t\t\t double\t\t\t tolerance,\t\
      \t\t\t cairo_tristrip_t\t\t *strip) "
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - i
    - step
    - max
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 110
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 110
    functionName: range_step
    functionSourceFile: /src/cairo/src/cairo-path-stroke-tristrip.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int range_step (int i, int step, int max) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_slope_compare
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - cairo_stroke_face_t*
    - cairo_stroke_face_t*
    constantsTouched: []
    func_position:
      end: 191
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 191
    functionName: join_is_clockwise
    functionSourceFile: /src/cairo/src/cairo-path-stroke-tristrip.c
    functionUses: []
    functionsReached:
    - _cairo_slope_compare
    linkageType: ''
    returnType: int
    signature: "static int join_is_clockwise (const cairo_stroke_face_t *in,\t\t const\
      \ cairo_stroke_face_t *out) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: add_fan
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:439,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:526,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:525,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:532,1
    - Dst: cairo_matrix_transform_distance
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:529,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:533,1
    - Dst: cairo_matrix_transform_distance
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:536,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:548,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:548,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:562,1
    - Dst: slope_compare_sgn
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:578,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:583,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:584,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:563,1
    - Dst: slope_compare_sgn
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:579,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 93
    argCount: 4
    argNames:
    - stroker
    - in
    - out
    - clockwise
    argTypes:
    - struct stroker*
    - cairo_stroke_face_t*
    - cairo_stroke_face_t*
    - int
    constantsTouched: []
    func_position:
      end: 597
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 597
    functionName: outer_join
    functionSourceFile: /src/cairo/src/cairo-path-stroke-tristrip.c
    functionUses: []
    functionsReached:
    - fabs
    - _cairo_fixed_to_double
    - slope_compare_sgn
    - add_fan
    - _cairo_fixed_from_double
    - cairo_matrix_transform_distance
    linkageType: ''
    returnType: void
    signature: "static void outer_join (struct stroker *stroker,\t const cairo_stroke_face_t\
      \ *in,\t const cairo_stroke_face_t *out,\t int clockwise) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:682,1
    - Dst: hypot
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:703,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 2
    argNames:
    - dx
    - dy
    argTypes:
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 709
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 709
    functionName: normalize_slope
    functionSourceFile: /src/cairo/src/cairo-path-stroke-tristrip.c
    functionUses: []
    functionsReached:
    - hypot
    - assert
    linkageType: ''
    returnType: double
    signature: 'static inline double normalize_slope (double *dx, double *dy) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: compute_face
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:788,1
    - Dst: add_trailing_cap
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:798,1
    - Dst: add_leading_cap
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:790,1
    - Dst: add_trailing_cap
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:791,1
    - Dst: add_leading_cap
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:806,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - stroker
    argTypes:
    - struct stroker*
    constantsTouched: []
    func_position:
      end: 812
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 812
    functionName: add_caps
    functionSourceFile: /src/cairo/src/cairo-path-stroke-tristrip.c
    functionUses: []
    functionsReached:
    - add_trailing_cap
    - compute_face
    - add_leading_cap
    linkageType: ''
    returnType: void
    signature: 'static void add_caps (struct stroker *stroker) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_slope_init
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:848,1
    - Dst: compute_face
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:849,1
    - Dst: join_is_clockwise
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:852,1
    - Dst: inner_join
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:855,1
    - Dst: outer_join
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:854,1
    - Dst: _cairo_tristrip_move_to
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:860,1
    - Dst: _cairo_tristrip_add_point
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:865,1
    - Dst: _cairo_tristrip_add_point
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:866,1
    - Dst: _cairo_tristrip_add_point
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:876,1
    - Dst: _cairo_tristrip_add_point
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:877,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - closure
    - point
    argTypes:
    - void*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 880
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 880
    functionName: line_to
    functionSourceFile: /src/cairo/src/cairo-path-stroke-tristrip.c
    functionUses: []
    functionsReached:
    - inner_join
    - _cairo_tristrip_move_to
    - outer_join
    - _cairo_tristrip_add_point
    - join_is_clockwise
    - _cairo_slope_init
    - compute_face
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t line_to (void *closure,\t const cairo_point_t\
      \ *point) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 4
    argNames:
    - stroker
    - in
    - out
    - clockwise
    argTypes:
    - struct stroker*
    - cairo_stroke_face_t*
    - cairo_stroke_face_t*
    - int
    constantsTouched: []
    func_position:
      end: 208
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 208
    functionName: inner_join
    functionSourceFile: /src/cairo/src/cairo-path-stroke-tristrip.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void inner_join (struct stroker *stroker,\t const cairo_stroke_face_t\
      \ *in,\t const cairo_stroke_face_t *out,\t int clockwise) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: add_fan
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:610,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:627,1
    - Dst: cairo_matrix_transform_distance
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:625,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:626,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - stroker
    - f
    argTypes:
    - struct stroker*
    - cairo_stroke_face_t*
    constantsTouched: []
    func_position:
      end: 645
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 645
    functionName: add_cap
    functionSourceFile: /src/cairo/src/cairo-path-stroke-tristrip.c
    functionUses: []
    functionsReached:
    - add_fan
    - cairo_matrix_transform_distance
    - _cairo_fixed_from_double
    linkageType: ''
    returnType: void
    signature: "static void add_cap (struct stroker *stroker,\t const cairo_stroke_face_t\
      \ *f) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:721,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:722,1
    - Dst: _cairo_matrix_is_identity
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:734,1
    - Dst: cairo_matrix_transform_distance
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:736,1
    - Dst: normalize_slope
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:723,1
    - Dst: normalize_slope
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:738,1
    - Dst: cairo_matrix_transform_distance
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:749,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:755,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:756,1
    - Dst: translate_point
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:761,1
    - Dst: translate_point
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:766,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 55
    argCount: 4
    argNames:
    - point
    - dev_slope
    - stroker
    - face
    argTypes:
    - cairo_point_t*
    - cairo_slope_t*
    - struct stroker*
    - cairo_stroke_face_t*
    constantsTouched: []
    func_position:
      end: 772
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 772
    functionName: compute_face
    functionSourceFile: /src/cairo/src/cairo-path-stroke-tristrip.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_to_double
    - _cairo_matrix_is_identity
    - translate_point
    - normalize_slope
    - _cairo_fixed_from_double
    - cairo_matrix_transform_distance
    linkageType: ''
    returnType: void
    signature: "static void compute_face (const cairo_point_t *point,\t const cairo_slope_t\
      \ *dev_slope,\t struct stroker *stroker,\t cairo_stroke_face_t *face) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_caps
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:821,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - closure
    - point
    argTypes:
    - void*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 832
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 832
    functionName: move_to
    functionSourceFile: /src/cairo/src/cairo-path-stroke-tristrip.c
    functionUses: []
    functionsReached:
    - add_caps
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t move_to (void *closure,\t const cairo_point_t\
      \ *point) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: join_is_clockwise
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:906,1
    - Dst: join_is_clockwise
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:927,1
    - Dst: compute_face
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:921,1
    - Dst: add_fan
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:944,1
    - Dst: add_fan
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:915,1
    - Dst: _cairo_tristrip_add_point
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:951,1
    - Dst: _cairo_tristrip_add_point
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:952,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 3
    argNames:
    - closure
    - point
    - tangent
    argTypes:
    - void*
    - cairo_point_t*
    - cairo_slope_t*
    constantsTouched: []
    func_position:
      end: 958
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 958
    functionName: spline_to
    functionSourceFile: /src/cairo/src/cairo-path-stroke-tristrip.c
    functionUses: []
    functionsReached:
    - add_fan
    - _cairo_tristrip_add_point
    - join_is_clockwise
    - compute_face
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t spline_to (void *closure,\t const cairo_point_t\
      \ *point,\t const cairo_slope_t *tangent) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_spline_intersects
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:971,1
    - Dst: line_to
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:973,1
    - Dst: compute_face
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:980,1
    - Dst: line_to
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:978,1
    - Dst: _cairo_spline_init
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:976,1
    - Dst: join_is_clockwise
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:984,1
    - Dst: outer_join
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:986,1
    - Dst: inner_join
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:987,1
    - Dst: _cairo_tristrip_move_to
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:992,1
    - Dst: _cairo_tristrip_add_point
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:997,1
    - Dst: _cairo_spline_decompose
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:1002,1
    - Dst: _cairo_tristrip_add_point
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:998,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 4
    argNames:
    - closure
    - b
    - c
    - d
    argTypes:
    - void*
    - cairo_point_t*
    - cairo_point_t*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 1003
      start: 960
    functionDepth: 0
    functionLinenumber: 960
    functionLinenumberEnd: 1003
    functionName: curve_to
    functionSourceFile: /src/cairo/src/cairo-path-stroke-tristrip.c
    functionUses: []
    functionsReached:
    - inner_join
    - _cairo_tristrip_move_to
    - _cairo_spline_intersects
    - outer_join
    - _cairo_tristrip_add_point
    - _cairo_spline_decompose
    - _cairo_spline_init
    - join_is_clockwise
    - line_to
    - compute_face
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t curve_to (void *closure,\t const cairo_point_t\
      \ *b,\t const cairo_point_t *c,\t const cairo_point_t *d) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: line_to
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:1011,1
    - Dst: add_caps
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:1021,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:1012,1
    - Dst: inner_close
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:1018,1
    - Dst: outer_close
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:1017,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - closure
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1029
      start: 1005
    functionDepth: 0
    functionLinenumber: 1005
    functionLinenumberEnd: 1029
    functionName: close_path
    functionSourceFile: /src/cairo/src/cairo-path-stroke-tristrip.c
    functionUses: []
    functionsReached:
    - inner_close
    - add_caps
    - line_to
    - outer_close
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t close_path (void *closure) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pen_find_active_cw_vertex_index
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:130,1
    - Dst: _cairo_pen_find_active_cw_vertex_index
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:136,1
    - Dst: _cairo_slope_compare
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:132,1
    - Dst: _cairo_slope_compare
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:138,1
    - Dst: range_step
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:134,1
    - Dst: range_step
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:141,1
    - Dst: _cairo_slope_compare
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:142,1
    - Dst: _cairo_pen_find_active_ccw_vertex_index
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:151,1
    - Dst: _cairo_slope_compare
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:153,1
    - Dst: range_step
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:155,1
    - Dst: _cairo_slope_compare
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:163,1
    - Dst: _cairo_pen_find_active_ccw_vertex_index
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:157,1
    - Dst: range_step
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:170,1
    - Dst: range_step
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:162,1
    - Dst: range_step
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:178,1
    - Dst: translate_point
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:181,1
    - Dst: _cairo_slope_compare
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:159,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 7
    argNames:
    - stroker
    - in_vector
    - out_vector
    - midpt
    - inpt
    - outpt
    - clockwise
    argTypes:
    - struct stroker*
    - cairo_slope_t*
    - cairo_slope_t*
    - cairo_point_t*
    - cairo_point_t*
    - cairo_point_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 184
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 184
    functionName: add_fan
    functionSourceFile: /src/cairo/src/cairo-path-stroke-tristrip.c
    functionUses: []
    functionsReached:
    - _cairo_pen_find_active_ccw_vertex_index
    - translate_point
    - _cairo_pen_find_active_cw_vertex_index
    - range_step
    - _cairo_slope_compare
    linkageType: ''
    returnType: void
    signature: "static void add_fan (struct stroker *stroker,\t const cairo_slope_t\
      \ *in_vector,\t const cairo_slope_t *out_vector,\t const cairo_point_t *midpt,\t\
      \ const cairo_point_t *inpt,\t const cairo_point_t *outpt,\t cairo_bool_t clockwise) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: join_is_clockwise
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:217,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - stroker
    - in
    - out
    argTypes:
    - struct stroker*
    - cairo_stroke_face_t*
    - cairo_stroke_face_t*
    constantsTouched: []
    func_position:
      end: 227
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 227
    functionName: inner_close
    functionSourceFile: /src/cairo/src/cairo-path-stroke-tristrip.c
    functionUses: []
    functionsReached:
    - join_is_clockwise
    linkageType: ''
    returnType: void
    signature: "static void inner_close (struct stroker *stroker,\t const cairo_stroke_face_t\
      \ *in,\t cairo_stroke_face_t *out) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: join_is_clockwise
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:242,1
    - Dst: add_fan
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:254,1
    - Dst: cairo_matrix_transform_distance
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:344,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:341,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:340,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:347,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:348,1
    - Dst: cairo_matrix_transform_distance
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:351,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:363,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:363,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:377,1
    - Dst: slope_compare_sgn
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:393,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:398,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:399,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:378,1
    - Dst: slope_compare_sgn
      Src: /src/cairo/src/cairo-path-stroke-tristrip.c:394,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 95
    argCount: 3
    argNames:
    - stroker
    - in
    - out
    argTypes:
    - struct stroker*
    - cairo_stroke_face_t*
    - cairo_stroke_face_t*
    constantsTouched: []
    func_position:
      end: 413
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 413
    functionName: outer_close
    functionSourceFile: /src/cairo/src/cairo-path-stroke-tristrip.c
    functionUses: []
    functionsReached:
    - fabs
    - _cairo_fixed_to_double
    - slope_compare_sgn
    - add_fan
    - join_is_clockwise
    - _cairo_fixed_from_double
    - cairo_matrix_transform_distance
    linkageType: ''
    returnType: void
    signature: "static void outer_close (struct stroker *stroker,\t const cairo_stroke_face_t\
      \ *in,\t const cairo_stroke_face_t *out) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - surface
    - extents
    argTypes:
    - cairo_surface_t*
    - cairo_rectangle_t*
    constantsTouched: []
    func_position:
      end: 51
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 51
    functionName: _cairo_recording_surface_get_bounds
    functionSourceFile: /src/cairo/src/cairo-recording-surface-inline.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static inline cairo_bool_t _cairo_recording_surface_get_bounds (cairo_surface_t\
      \ *surface,\t\t\t\t cairo_rectangle_t *extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: _cairo_surface_is_recording
    functionSourceFile: /src/cairo/src/cairo-recording-surface-inline.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static inline cairo_bool_t _cairo_surface_is_recording (const cairo_surface_t
      *surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_boxes_init
      Src: /src/cairo/src/cairo-traps-compositor.c:404,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-traps-compositor.c:410,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-traps-compositor.c:411,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-traps-compositor.c:412,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-traps-compositor.c:409,1
    - Dst: do_unaligned_box
      Src: /src/cairo/src/cairo-traps-compositor.c:414,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 6
    argNames:
    - compositor
    - surface
    - dx
    - dy
    - boxes
    - num_boxes
    argTypes:
    - cairo_traps_compositor_t*
    - cairo_surface_t*
    - int
    - int
    - cairo_box_t*
    - int
    constantsTouched: []
    func_position:
      end: 417
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 417
    functionName: blt_unaligned_boxes
    functionSourceFile: /src/cairo/src/cairo-traps-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_boxes_init
    - _cairo_fixed_is_integer
    - do_unaligned_box
    linkageType: ''
    returnType: void
    signature: "static void blt_unaligned_boxes(const cairo_traps_compositor_t *compositor,\t\
      \t\t\tcairo_surface_t *surface,\t\t\t\tint dx, int dy,\t\t\t\tcairo_box_t *boxes,\t\
      \t\t\tint num_boxes) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-traps-compositor.c:592,1
    - Dst: _cairo_surface_create_scratch
      Src: /src/cairo/src/cairo-traps-compositor.c:594,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps-compositor.c:598,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps-compositor.c:602,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-traps-compositor.c:603,1
    - Dst: draw_func
      Src: /src/cairo/src/cairo-traps-compositor.c:615,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps-compositor.c:620,1
    - Dst: traps_get_clip_surface
      Src: /src/cairo/src/cairo-traps-compositor.c:623,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-traps-compositor.c:640,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps-compositor.c:624,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-traps-compositor.c:644,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 8
    argNames:
    - compositor
    - extents
    - draw_func
    - draw_closure
    - op
    - src
    - src_x
    - src_y
    argTypes:
    - cairo_traps_compositor_t*
    - cairo_composite_rectangles_t*
    - draw_func_t
    - void*
    - cairo_operator_t
    - cairo_surface_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 647
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 647
    functionName: clip_and_composite_combine
    functionSourceFile: /src/cairo/src/cairo-traps-compositor.c
    functionUses: []
    functionsReached:
    - draw_func
    - _cairo_surface_create_scratch
    - TRACE
    - cairo_surface_destroy
    - traps_get_clip_surface
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t clip_and_composite_combine (const cairo_traps_compositor_t\
      \ *compositor,\t\t\t const cairo_composite_rectangles_t*extents,\t\t\t draw_func_t\t\
      \t draw_func,\t\t\t void\t\t\t*draw_closure,\t\t\t cairo_operator_t\t\t op,\t\
      \t\t cairo_surface_t\t*src,\t\t\t int src_x, int src_y) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_get_source
      Src: /src/cairo/src/cairo-traps-compositor.c:1140,1
    - Dst: _cairo_surface_is_recording
      Src: /src/cairo/src/cairo-traps-compositor.c:1141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - pattern
    argTypes:
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 1142
      start: 1131
    functionDepth: 0
    functionLinenumber: 1131
    functionLinenumberEnd: 1142
    functionName: is_recording_pattern
    functionSourceFile: /src/cairo/src/cairo-traps-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_surface_is_recording
    - _cairo_surface_get_source
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t is_recording_pattern (const cairo_pattern_t *pattern) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-traps-compositor.c:1824,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps-compositor.c:1827,1
    - Dst: trim_extents_to_traps
      Src: /src/cairo/src/cairo-traps-compositor.c:1826,1
    - Dst: clip_and_composite
      Src: /src/cairo/src/cairo-traps-compositor.c:1844,1
    - Dst: composite_traps_as_boxes
      Src: /src/cairo/src/cairo-traps-compositor.c:1832,1
    - Dst: need_unbounded_clip
      Src: /src/cairo/src/cairo-traps-compositor.c:1846,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 4
    argNames:
    - compositor
    - extents
    - info
    - flags
    argTypes:
    - cairo_traps_compositor_t*
    - cairo_composite_rectangles_t*
    - composite_traps_info_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 1850
      start: 1816
    functionDepth: 0
    functionLinenumber: 1816
    functionLinenumberEnd: 1850
    functionName: clip_and_composite_traps
    functionSourceFile: /src/cairo/src/cairo-traps-compositor.c
    functionUses: []
    functionsReached:
    - clip_and_composite
    - trim_extents_to_traps
    - TRACE
    - composite_traps_as_boxes
    - need_unbounded_clip
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t clip_and_composite_traps (const cairo_traps_compositor_t\
      \ *compositor,\t\t\t cairo_composite_rectangles_t *extents,\t\t\t composite_traps_info_t\
      \ *info,\t\t\t unsigned flags) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-traps-compositor.c:1982,1
    - Dst: do_unaligned_box
      Src: /src/cairo/src/cairo-traps-compositor.c:1995,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 11
    argNames:
    - compositor
    - dst
    - closure
    - op
    - src
    - src_x
    - src_y
    - dst_x
    - dst_y
    - extents
    - clip
    argTypes:
    - cairo_traps_compositor_t*
    - cairo_surface_t*
    - void*
    - cairo_operator_t
    - cairo_surface_t*
    - int
    - int
    - int
    - int
    - cairo_rectangle_int_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 1998
      start: 1965
    functionDepth: 0
    functionLinenumber: 1965
    functionLinenumberEnd: 1998
    functionName: composite_mask_clip_boxes
    functionSourceFile: /src/cairo/src/cairo-traps-compositor.c
    functionUses: []
    functionsReached:
    - do_unaligned_box
    - TRACE
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t composite_mask_clip_boxes (const cairo_traps_compositor_t\
      \ *compositor,\t\t\t cairo_surface_t\t\t*dst,\t\t\t void\t\t\t\t*closure,\t\t\
      \t cairo_operator_t\t\t op,\t\t\t cairo_surface_t\t\t*src,\t\t\t int\t\t\t\t\
      \ src_x,\t\t\t int\t\t\t\t src_y,\t\t\t int\t\t\t\t dst_x,\t\t\t int\t\t\t\t\
      \ dst_y,\t\t\t const cairo_rectangle_int_t\t*extents,\t\t\t cairo_clip_t\t\t\
      \t*clip) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-traps-compositor.c:2055,1
    - Dst: _cairo_clip_steal_boxes
      Src: /src/cairo/src/cairo-traps-compositor.c:2061,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps-compositor.c:2058,1
    - Dst: clip_and_composite_boxes
      Src: /src/cairo/src/cairo-traps-compositor.c:2062,1
    - Dst: _cairo_clip_unsteal_boxes
      Src: /src/cairo/src/cairo-traps-compositor.c:2063,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - _compositor
    - extents
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 2066
      start: 2047
    functionDepth: 0
    functionLinenumber: 2047
    functionLinenumberEnd: 2066
    functionName: _cairo_traps_compositor_paint
    functionSourceFile: /src/cairo/src/cairo-traps-compositor.c
    functionUses: []
    functionsReached:
    - TRACE
    - _cairo_clip_unsteal_boxes
    - clip_and_composite_boxes
    - _cairo_clip_steal_boxes
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_traps_compositor_paint (const cairo_compositor_t\
      \ *_compositor,\t\t\t cairo_composite_rectangles_t *extents) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-traps-compositor.c:2289,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 11
    argNames:
    - compositor
    - dst
    - closure
    - op
    - src
    - src_x
    - src_y
    - dst_x
    - dst_y
    - extents
    - clip
    argTypes:
    - cairo_traps_compositor_t*
    - cairo_surface_t*
    - void*
    - cairo_operator_t
    - cairo_surface_t*
    - int
    - int
    - int
    - int
    - cairo_rectangle_int_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 2298
      start: 2276
    functionDepth: 0
    functionLinenumber: 2276
    functionLinenumberEnd: 2298
    functionName: composite_glyphs
    functionSourceFile: /src/cairo/src/cairo-traps-compositor.c
    functionUses: []
    functionsReached:
    - TRACE
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t composite_glyphs (const cairo_traps_compositor_t\
      \ *compositor,\t\t cairo_surface_t\t*dst,\t\t void *closure,\t\t cairo_operator_t\t\
      \ op,\t\t cairo_surface_t\t*src,\t\t int src_x, int src_y,\t\t int dst_x, int\
      \ dst_y,\t\t const cairo_rectangle_int_t *extents,\t\t cairo_clip_t\t\t*clip) "
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-traps-compositor.c:447,1
    - Dst: mask_func
      Src: /src/cairo/src/cairo-traps-compositor.c:476,1
    - Dst: _cairo_boxes_init_from_rectangle
      Src: /src/cairo/src/cairo-traps-compositor.c:461,1
    - Dst: combine_clip_as_traps
      Src: /src/cairo/src/cairo-traps-compositor.c:498,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-traps-compositor.c:523,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-traps-compositor.c:453,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-traps-compositor.c:455,1
    - Dst: likely
      Src: /src/cairo/src/cairo-traps-compositor.c:480,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps-compositor.c:493,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps-compositor.c:505,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-traps-compositor.c:522,1
    - Dst: _cairo_surface_create_scratch
      Src: /src/cairo/src/cairo-traps-compositor.c:433,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps-compositor.c:452,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps-compositor.c:469,1
    - Dst: draw_func
      Src: /src/cairo/src/cairo-traps-compositor.c:489,1
    - Dst: blt_unaligned_boxes
      Src: /src/cairo/src/cairo-traps-compositor.c:508,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-traps-compositor.c:525,1
    - Dst: TRACE
      Src: /src/cairo/src/cairo-traps-compositor.c:431,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps-compositor.c:437,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps-compositor.c:446,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-traps-compositor.c:454,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps-compositor.c:484,1
    - Dst: _cairo_clip_combine_with_surface
      Src: /src/cairo/src/cairo-traps-compositor.c:501,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-traps-compositor.c:516,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 527
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 527
    functionName: create_composite_mask
    functionSourceFile: /src/cairo/src/cairo-traps-compositor.c
    functionUses: []
    functionsReached:
    - blt_unaligned_boxes
    - draw_func
    - mask_func
    - _cairo_surface_create_scratch
    - TRACE
    - _cairo_clip_combine_with_surface
    - _cairo_boxes_init_from_rectangle
    - cairo_surface_destroy
    - combine_clip_as_traps
    - _cairo_surface_create_in_error
    - likely
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *create_composite_mask (const cairo_traps_compositor_t\
      \ *compositor,\t\t cairo_surface_t\t\t*dst,\t\t void\t\t\t*draw_closure,\t\t\
      \ draw_func_t\t\t draw_func,\t\t draw_func_t\t\t mask_func,\t\t const cairo_composite_rectangles_t\
      \ *extents) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_is_region
      Src: /src/cairo/src/cairo-traps-compositor.c:947,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - extents
    argTypes:
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 951
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 951
    functionName: need_bounded_clip
    functionSourceFile: /src/cairo/src/cairo-traps-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_clip_is_region
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t need_bounded_clip (cairo_composite_rectangles_t
      *extents) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-traps-compositor.c:1095,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 11
    argNames:
    - compositor
    - dst
    - closure
    - op
    - src
    - src_x
    - src_y
    - dst_x
    - dst_y
    - extents
    - clip
    argTypes:
    - cairo_traps_compositor_t*
    - cairo_surface_t*
    - void*
    - cairo_operator_t
    - cairo_surface_t*
    - int
    - int
    - int
    - int
    - cairo_rectangle_int_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 1102
      start: 1082
    functionDepth: 0
    functionLinenumber: 1082
    functionLinenumberEnd: 1102
    functionName: composite_traps
    functionSourceFile: /src/cairo/src/cairo-traps-compositor.c
    functionUses: []
    functionsReached:
    - TRACE
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t composite_traps (const cairo_traps_compositor_t\
      \ *compositor,\t\t cairo_surface_t\t\t*dst,\t\t void\t\t\t\t *closure,\t\t cairo_operator_t\t\
      \t op,\t\t cairo_surface_t\t\t*src,\t\t int src_x, int src_y,\t\t int dst_x,\
      \ int dst_y,\t\t const cairo_rectangle_int_t *extents,\t\t cairo_clip_t\t\t\t\
      *clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-traps-compositor.c:1122,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 11
    argNames:
    - compositor
    - dst
    - closure
    - op
    - src
    - src_x
    - src_y
    - dst_x
    - dst_y
    - extents
    - clip
    argTypes:
    - cairo_traps_compositor_t*
    - cairo_surface_t*
    - void*
    - cairo_operator_t
    - cairo_surface_t*
    - int
    - int
    - int
    - int
    - cairo_rectangle_int_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 1129
      start: 1109
    functionDepth: 0
    functionLinenumber: 1109
    functionLinenumberEnd: 1129
    functionName: composite_tristrip
    functionSourceFile: /src/cairo/src/cairo-traps-compositor.c
    functionUses: []
    functionsReached:
    - TRACE
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t composite_tristrip (const cairo_traps_compositor_t\
      \ *compositor,\t\t cairo_surface_t\t\t*dst,\t\t void\t\t\t\t *closure,\t\t cairo_operator_t\t\
      \t op,\t\t cairo_surface_t\t\t*src,\t\t int src_x, int src_y,\t\t int dst_x,\
      \ int dst_y,\t\t const cairo_rectangle_int_t *extents,\t\t cairo_clip_t\t\t\t\
      *clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_get_source
      Src: /src/cairo/src/cairo-traps-compositor.c:1150,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1144
    functionDepth: 0
    functionLinenumber: 1144
    functionLinenumberEnd: 1151
    functionName: recording_pattern_get_surface
    functionSourceFile: /src/cairo/src/cairo-traps-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_surface_get_source
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *recording_pattern_get_surface (const cairo_pattern_t
      *pattern) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_color_init_rgba
      Src: /src/cairo/src/cairo-traps-compositor.c:1633,1
    - Dst: likely
      Src: /src/cairo/src/cairo-traps-compositor.c:1639,1
    - Dst: _cairo_pattern_init_solid
      Src: /src/cairo/src/cairo-traps-compositor.c:1634,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-traps-compositor.c:1655,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 6
    argNames:
    - closure
    - x
    - y
    - w
    - h
    - coverage
    argTypes:
    - void*
    - int16_t
    - int16_t
    - int16_t
    - int16_t
    - uint16_t
    constantsTouched: []
    func_position:
      end: 1656
      start: 1621
    functionDepth: 0
    functionLinenumber: 1621
    functionLinenumberEnd: 1656
    functionName: composite_opacity
    functionSourceFile: /src/cairo/src/cairo-traps-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_init_solid
    - _cairo_color_init_rgba
    - likely
    - cairo_surface_destroy
    linkageType: ''
    returnType: void
    signature: "static void composite_opacity(void *closure,\t\t\t int16_t x, int16_t\
      \ y,\t\t\t int16_t w, int16_t h,\t\t\t uint16_t coverage) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-traps-compositor.c:1860,1
    - Dst: clip_and_composite
      Src: /src/cairo/src/cairo-traps-compositor.c:1869,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps-compositor.c:1863,1
    - Dst: trim_extents_to_tristrip
      Src: /src/cairo/src/cairo-traps-compositor.c:1862,1
    - Dst: need_unbounded_clip
      Src: /src/cairo/src/cairo-traps-compositor.c:1871,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - compositor
    - extents
    - info
    argTypes:
    - cairo_traps_compositor_t*
    - cairo_composite_rectangles_t*
    - composite_tristrip_info_t*
    constantsTouched: []
    func_position:
      end: 1874
      start: 1852
    functionDepth: 0
    functionLinenumber: 1852
    functionLinenumberEnd: 1874
    functionName: clip_and_composite_tristrip
    functionSourceFile: /src/cairo/src/cairo-traps-compositor.c
    functionUses: []
    functionsReached:
    - clip_and_composite
    - TRACE
    - need_unbounded_clip
    - trim_extents_to_tristrip
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t clip_and_composite_tristrip (const cairo_traps_compositor_t\
      \ *compositor,\t\t\t cairo_composite_rectangles_t *extents,\t\t\t composite_tristrip_info_t\
      \ *info) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-traps-compositor.c:1931,1
    - Dst: _cairo_color_init_rgba
      Src: /src/cairo/src/cairo-traps-compositor.c:1939,1
    - Dst: _cairo_pattern_init_solid
      Src: /src/cairo/src/cairo-traps-compositor.c:1940,1
    - Dst: CAIRO_ALPHA_SHORT_IS_OPAQUE
      Src: /src/cairo/src/cairo-traps-compositor.c:1933,1
    - Dst: likely
      Src: /src/cairo/src/cairo-traps-compositor.c:1947,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-traps-compositor.c:1955,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 6
    argNames:
    - closure
    - x
    - y
    - w
    - h
    - coverage
    argTypes:
    - void*
    - int16_t
    - int16_t
    - int16_t
    - int16_t
    - uint16_t
    constantsTouched: []
    func_position:
      end: 1963
      start: 1923
    functionDepth: 0
    functionLinenumber: 1923
    functionLinenumberEnd: 1963
    functionName: composite_box
    functionSourceFile: /src/cairo/src/cairo-traps-compositor.c
    functionUses: []
    functionsReached:
    - TRACE
    - _cairo_color_init_rgba
    - CAIRO_ALPHA_SHORT_IS_OPAQUE
    - cairo_surface_destroy
    - _cairo_pattern_init_solid
    - likely
    linkageType: ''
    returnType: void
    signature: "static void composite_box(void *closure,\t\t\t int16_t x, int16_t\
      \ y,\t\t\t int16_t w, int16_t h,\t\t\t uint16_t coverage) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-traps-compositor.c:545,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps-compositor.c:550,1
    - Dst: create_composite_mask
      Src: /src/cairo/src/cairo-traps-compositor.c:547,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-traps-compositor.c:572,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 9
    argNames:
    - compositor
    - extents
    - draw_func
    - mask_func
    - draw_closure
    - op
    - src
    - src_x
    - src_y
    argTypes:
    - cairo_traps_compositor_t*
    - cairo_composite_rectangles_t*
    - draw_func_t
    - draw_func_t
    - void*
    - cairo_operator_t
    - cairo_surface_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 574
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 574
    functionName: clip_and_composite_with_mask
    functionSourceFile: /src/cairo/src/cairo-traps-compositor.c
    functionUses: []
    functionsReached:
    - cairo_surface_destroy
    - unlikely
    - TRACE
    - create_composite_mask
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t clip_and_composite_with_mask (const cairo_traps_compositor_t\
      \ *compositor,\t\t\t const cairo_composite_rectangles_t*extents,\t\t\t draw_func_t\t\
      \t draw_func,\t\t\t draw_func_t\t\t mask_func,\t\t\t void\t\t\t*draw_closure,\t\
      \t\t cairo_operator_t\t\t op,\t\t\t cairo_surface_t\t*src,\t\t\t int src_x,\
      \ int src_y) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-traps-compositor.c:2019,1
    - Dst: _cairo_traps_init
      Src: /src/cairo/src/cairo-traps-compositor.c:2026,1
    - Dst: _cairo_bentley_ottmann_tessellate_polygon
      Src: /src/cairo/src/cairo-traps-compositor.c:2027,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps-compositor.c:2023,1
    - Dst: _cairo_clip_get_polygon
      Src: /src/cairo/src/cairo-traps-compositor.c:2021,1
    - Dst: _cairo_polygon_fini
      Src: /src/cairo/src/cairo-traps-compositor.c:2030,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps-compositor.c:2031,1
    - Dst: composite_traps
      Src: /src/cairo/src/cairo-traps-compositor.c:2034,1
    - Dst: _cairo_traps_fini
      Src: /src/cairo/src/cairo-traps-compositor.c:2040,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 11
    argNames:
    - compositor
    - dst
    - closure
    - op
    - src
    - src_x
    - src_y
    - dst_x
    - dst_y
    - extents
    - clip
    argTypes:
    - cairo_traps_compositor_t*
    - cairo_surface_t*
    - void*
    - cairo_operator_t
    - cairo_surface_t*
    - int
    - int
    - int
    - int
    - cairo_rectangle_int_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 2043
      start: 2000
    functionDepth: 0
    functionLinenumber: 2000
    functionLinenumberEnd: 2043
    functionName: composite_mask_clip
    functionSourceFile: /src/cairo/src/cairo-traps-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_traps_init
    - _cairo_bentley_ottmann_tessellate_polygon
    - TRACE
    - _cairo_polygon_fini
    - _cairo_traps_fini
    - composite_traps
    - _cairo_clip_get_polygon
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t composite_mask_clip (const cairo_traps_compositor_t\
      \ *compositor,\t\t cairo_surface_t\t\t\t*dst,\t\t void\t\t\t\t*closure,\t\t\
      \ cairo_operator_t\t\t\t op,\t\t cairo_surface_t\t\t\t*src,\t\t int\t\t\t\t\
      \ src_x,\t\t int\t\t\t\t src_y,\t\t int\t\t\t\t dst_x,\t\t int\t\t\t\t dst_y,\t\
      \t const cairo_rectangle_int_t\t*extents,\t\t cairo_clip_t\t\t\t*clip) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-traps-compositor.c:84,1
    - Dst: blt
      Src: /src/cairo/src/cairo-traps-compositor.c:88,1
    - Dst: _cairo_fixed_fractional_part
      Src: /src/cairo/src/cairo-traps-compositor.c:89,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-traps-compositor.c:85,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-traps-compositor.c:87,1
    - Dst: blt
      Src: /src/cairo/src/cairo-traps-compositor.c:94,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-traps-compositor.c:96,1
    - Dst: blt
      Src: /src/cairo/src/cairo-traps-compositor.c:97,1
    - Dst: _cairo_fixed_fractional_part
      Src: /src/cairo/src/cairo-traps-compositor.c:98,1
    - Dst: blt
      Src: /src/cairo/src/cairo-traps-compositor.c:100,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 7
    argNames:
    - (*blt)
    - closure
    - b
    - tx
    - y
    - h
    - coverage
    argTypes:
    - void
    - void*
    - cairo_box_t*
    - int
    - int
    - int
    - uint16_t
    constantsTouched: []
    func_position:
      end: 102
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 102
    functionName: do_unaligned_row
    functionSourceFile: /src/cairo/src/cairo-traps-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_fractional_part
    - _cairo_fixed_is_integer
    - blt
    - _cairo_fixed_integer_part
    linkageType: ''
    returnType: void
    signature: "static void do_unaligned_row(void (*blt)(void *closure,\t\t\t\t\t\
      \ int16_t x, int16_t y,\t\t\t\t\t int16_t w, int16_t h,\t\t\t\t\t uint16_t coverage),\t\
      \t\t void *closure,\t\t\t const cairo_box_t *b,\t\t\t int tx, int y, int h,\t\
      \t\t uint16_t coverage) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_traps_init
      Src: /src/cairo/src/cairo-traps-compositor.c:301,1
    - Dst: _cairo_bentley_ottmann_tessellate_polygon
      Src: /src/cairo/src/cairo-traps-compositor.c:302,1
    - Dst: _cairo_surface_create_scratch
      Src: /src/cairo/src/cairo-traps-compositor.c:309,1
    - Dst: _cairo_clip_get_polygon
      Src: /src/cairo/src/cairo-traps-compositor.c:296,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps-compositor.c:306,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps-compositor.c:314,1
    - Dst: _cairo_boxes_init_from_rectangle
      Src: /src/cairo/src/cairo-traps-compositor.c:329,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps-compositor.c:345,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-traps-compositor.c:351,1
    - Dst: _cairo_polygon_fini
      Src: /src/cairo/src/cairo-traps-compositor.c:305,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-traps-compositor.c:358,1
    - Dst: TRACE
      Src: /src/cairo/src/cairo-traps-compositor.c:294,1
    - Dst: _cairo_traps_fini
      Src: /src/cairo/src/cairo-traps-compositor.c:315,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps-compositor.c:322,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps-compositor.c:337,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps-compositor.c:326,1
    - Dst: _cairo_traps_fini
      Src: /src/cairo/src/cairo-traps-compositor.c:352,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 34
    argCount: 4
    argNames:
    - compositor
    - composite
    - extents
    - surface
    argTypes:
    - cairo_traps_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_rectangle_int_t*
    - cairo_surface_t**
    constantsTouched: []
    func_position:
      end: 360
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 360
    functionName: __clip_to_surface
    functionSourceFile: /src/cairo/src/cairo-traps-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_traps_init
    - _cairo_surface_create_scratch
    - _cairo_bentley_ottmann_tessellate_polygon
    - TRACE
    - _cairo_polygon_fini
    - _cairo_traps_fini
    - _cairo_boxes_init_from_rectangle
    - cairo_surface_destroy
    - _cairo_clip_get_polygon
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t __clip_to_surface (const cairo_traps_compositor_t\
      \ *compositor,\t\t const cairo_composite_rectangles_t *composite,\t\t const\
      \ cairo_rectangle_int_t *extents,\t\t cairo_surface_t **surface) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-traps-compositor.c:1676,1
    - Dst: do_unaligned_box
      Src: /src/cairo/src/cairo-traps-compositor.c:1690,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 11
    argNames:
    - compositor
    - dst
    - closure
    - op
    - src
    - src_x
    - src_y
    - dst_x
    - dst_y
    - extents
    - clip
    argTypes:
    - cairo_traps_compositor_t*
    - cairo_surface_t*
    - void*
    - cairo_operator_t
    - cairo_surface_t*
    - int
    - int
    - int
    - int
    - cairo_rectangle_int_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 1694
      start: 1659
    functionDepth: 0
    functionLinenumber: 1659
    functionLinenumberEnd: 1694
    functionName: composite_opacity_boxes
    functionSourceFile: /src/cairo/src/cairo-traps-compositor.c
    functionUses: []
    functionsReached:
    - do_unaligned_box
    - TRACE
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t composite_opacity_boxes (const cairo_traps_compositor_t\
      \ *compositor,\t\t\t cairo_surface_t\t\t*dst,\t\t\t void\t\t\t\t*closure,\t\t\
      \t cairo_operator_t\t\t op,\t\t\t cairo_surface_t\t\t*src,\t\t\t int\t\t\t\t\
      \ src_x,\t\t\t int\t\t\t\t src_y,\t\t\t int\t\t\t\t dst_x,\t\t\t int\t\t\t\t\
      \ dst_y,\t\t\t const cairo_rectangle_int_t\t*extents,\t\t\t cairo_clip_t\t\t\
      \t*clip) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-traps-compositor.c:2311,1
    - Dst: _cairo_scaled_font_freeze_cache
      Src: /src/cairo/src/cairo-traps-compositor.c:2317,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps-compositor.c:2314,1
    - Dst: likely
      Src: /src/cairo/src/cairo-traps-compositor.c:2321,1
    - Dst: clip_and_composite
      Src: /src/cairo/src/cairo-traps-compositor.c:2330,1
    - Dst: need_bounded_clip
      Src: /src/cairo/src/cairo-traps-compositor.c:2332,1
    - Dst: _cairo_scaled_font_thaw_cache
      Src: /src/cairo/src/cairo-traps-compositor.c:2334,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 6
    argNames:
    - _compositor
    - extents
    - scaled_font
    - glyphs
    - num_glyphs
    - overlap
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_scaled_font_t*
    - cairo_glyph_t*
    - int
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 2337
      start: 2300
    functionDepth: 0
    functionLinenumber: 2300
    functionLinenumberEnd: 2337
    functionName: _cairo_traps_compositor_glyphs
    functionSourceFile: /src/cairo/src/cairo-traps-compositor.c
    functionUses: []
    functionsReached:
    - clip_and_composite
    - TRACE
    - _cairo_scaled_font_freeze_cache
    - need_bounded_clip
    - _cairo_scaled_font_thaw_cache
    - likely
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_traps_compositor_glyphs (const cairo_compositor_t\t\
      *_compositor,\t\t\t\tcairo_composite_rectangles_t\t*extents,\t\t\t\tcairo_scaled_font_t\t\
      \t*scaled_font,\t\t\t\tcairo_glyph_t\t\t\t*glyphs,\t\t\t\tint\t\t\t\t num_glyphs,\t\
      \t\t\tcairo_bool_t\t\t\t overlap) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-traps-compositor.c:111,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-traps-compositor.c:114,1
    - Dst: _cairo_fixed_fractional_part
      Src: /src/cairo/src/cairo-traps-compositor.c:116,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-traps-compositor.c:112,1
    - Dst: do_unaligned_row
      Src: /src/cairo/src/cairo-traps-compositor.c:115,1
    - Dst: do_unaligned_row
      Src: /src/cairo/src/cairo-traps-compositor.c:121,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-traps-compositor.c:123,1
    - Dst: do_unaligned_row
      Src: /src/cairo/src/cairo-traps-compositor.c:124,1
    - Dst: _cairo_fixed_fractional_part
      Src: /src/cairo/src/cairo-traps-compositor.c:125,1
    - Dst: do_unaligned_row
      Src: /src/cairo/src/cairo-traps-compositor.c:127,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 5
    argNames:
    - (*blt)
    - closure
    - b
    - tx
    - ty
    argTypes:
    - void
    - void*
    - cairo_box_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 129
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 129
    functionName: do_unaligned_box
    functionSourceFile: /src/cairo/src/cairo-traps-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_is_integer
    - _cairo_fixed_fractional_part
    - do_unaligned_row
    - _cairo_fixed_integer_part
    linkageType: ''
    returnType: void
    signature: "static void do_unaligned_box(void (*blt)(void *closure,\t\t\t\t\t\
      \ int16_t x, int16_t y,\t\t\t\t\t int16_t w, int16_t h,\t\t\t\t\t uint16_t coverage),\t\
      \t\t void *closure,\t\t\t const cairo_box_t *b, int tx, int ty) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-traps-compositor.c:370,1
    - Dst: _cairo_clip_combine_with_surface
      Src: /src/cairo/src/cairo-traps-compositor.c:382,1
    - Dst: _cairo_surface_create_scratch
      Src: /src/cairo/src/cairo-traps-compositor.c:374,1
    - Dst: __clip_to_surface
      Src: /src/cairo/src/cairo-traps-compositor.c:372,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps-compositor.c:379,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps-compositor.c:385,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-traps-compositor.c:386,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-traps-compositor.c:387,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 391
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 391
    functionName: traps_get_clip_surface
    functionSourceFile: /src/cairo/src/cairo-traps-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_surface_create_scratch
    - TRACE
    - _cairo_clip_combine_with_surface
    - cairo_surface_destroy
    - _cairo_surface_create_in_error
    - __clip_to_surface
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *traps_get_clip_surface (const cairo_traps_compositor_t\
      \ *compositor,\t\t\tconst cairo_composite_rectangles_t *composite,\t\t\tconst\
      \ cairo_rectangle_int_t *extents) "
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_polygon_intersect
      Src: /src/cairo/src/cairo-traps-compositor.c:1530,1
    - Dst: _cairo_rasterise_polygon_to_boxes
      Src: /src/cairo/src/cairo-traps-compositor.c:1548,1
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-traps-compositor.c:1534,1
    - Dst: clip_and_composite_boxes
      Src: /src/cairo/src/cairo-traps-compositor.c:1551,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps-compositor.c:1565,1
    - Dst: trim_extents_to_traps
      Src: /src/cairo/src/cairo-traps-compositor.c:1568,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps-compositor.c:1569,1
    - Dst: _cairo_clip_get_polygon
      Src: /src/cairo/src/cairo-traps-compositor.c:1524,1
    - Dst: likely
      Src: /src/cairo/src/cairo-traps-compositor.c:1532,1
    - Dst: _cairo_boxes_fini
      Src: /src/cairo/src/cairo-traps-compositor.c:1553,1
    - Dst: _cairo_rasterise_polygon_to_traps
      Src: /src/cairo/src/cairo-traps-compositor.c:1561,1
    - Dst: _cairo_bentley_ottmann_tessellate_polygon
      Src: /src/cairo/src/cairo-traps-compositor.c:1563,1
    - Dst: clip_and_composite_boxes
      Src: /src/cairo/src/cairo-traps-compositor.c:1579,1
    - Dst: need_unbounded_clip
      Src: /src/cairo/src/cairo-traps-compositor.c:1603,1
    - Dst: _cairo_traps_fini
      Src: /src/cairo/src/cairo-traps-compositor.c:1607,1
    - Dst: cairo_region_contains_rectangle
      Src: /src/cairo/src/cairo-traps-compositor.c:1497,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps-compositor.c:1503,1
    - Dst: fixup_unbounded_with_mask
      Src: /src/cairo/src/cairo-traps-compositor.c:1508,1
    - Dst: _cairo_clip_copy_region
      Src: /src/cairo/src/cairo-traps-compositor.c:1533,1
    - Dst: _cairo_boxes_init
      Src: /src/cairo/src/cairo-traps-compositor.c:1547,1
    - Dst: likely
      Src: /src/cairo/src/cairo-traps-compositor.c:1549,1
    - Dst: _cairo_traps_init
      Src: /src/cairo/src/cairo-traps-compositor.c:1558,1
    - Dst: assert
      Src: /src/cairo/src/cairo-traps-compositor.c:1581,1
    - Dst: _cairo_clip_is_region
      Src: /src/cairo/src/cairo-traps-compositor.c:1485,1
    - Dst: _cairo_clip_get_region
      Src: /src/cairo/src/cairo-traps-compositor.c:1494,1
    - Dst: TRACE
      Src: /src/cairo/src/cairo-traps-compositor.c:1488,1
    - Dst: fixup_unbounded
      Src: /src/cairo/src/cairo-traps-compositor.c:1510,1
    - Dst: likely
      Src: /src/cairo/src/cairo-traps-compositor.c:1528,1
    - Dst: _cairo_polygon_fini
      Src: /src/cairo/src/cairo-traps-compositor.c:1539,1
    - Dst: assert
      Src: /src/cairo/src/cairo-traps-compositor.c:1550,1
    - Dst: boxes_for_traps
      Src: /src/cairo/src/cairo-traps-compositor.c:1577,1
    - Dst: clip_and_composite
      Src: /src/cairo/src/cairo-traps-compositor.c:1601,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 92
    argCount: 6
    argNames:
    - compositor
    - extents
    - polygon
    - antialias
    - fill_rule
    - curvy
    argTypes:
    - cairo_traps_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_polygon_t*
    - cairo_antialias_t
    - cairo_fill_rule_t
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 1610
      start: 1475
    functionDepth: 0
    functionLinenumber: 1475
    functionLinenumberEnd: 1610
    functionName: clip_and_composite_polygon
    functionSourceFile: /src/cairo/src/cairo-traps-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_traps_init
    - _cairo_rasterise_polygon_to_boxes
    - _cairo_clip_is_region
    - _cairo_clip_get_region
    - fixup_unbounded
    - cairo_region_contains_rectangle
    - _cairo_clip_destroy
    - _cairo_bentley_ottmann_tessellate_polygon
    - _cairo_traps_fini
    - _cairo_polygon_fini
    - _cairo_boxes_init
    - _cairo_polygon_intersect
    - trim_extents_to_traps
    - fixup_unbounded_with_mask
    - boxes_for_traps
    - assert
    - _cairo_boxes_fini
    - clip_and_composite
    - _cairo_rasterise_polygon_to_traps
    - TRACE
    - _cairo_clip_copy_region
    - _cairo_clip_get_polygon
    - need_unbounded_clip
    - clip_and_composite_boxes
    - likely
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t clip_and_composite_polygon (const cairo_traps_compositor_t\
      \ *compositor,\t\t\t cairo_composite_rectangles_t *extents,\t\t\t cairo_polygon_t\
      \ *polygon,\t\t\t cairo_antialias_t antialias,\t\t\t cairo_fill_rule_t fill_rule,\t\
      \t\t cairo_bool_t curvy) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-traps-compositor.c:1712,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps-compositor.c:1715,1
    - Dst: _cairo_traps_init_boxes
      Src: /src/cairo/src/cairo-traps-compositor.c:1714,1
    - Dst: _cairo_traps_fini
      Src: /src/cairo/src/cairo-traps-compositor.c:1723,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 11
    argNames:
    - compositor
    - dst
    - closure
    - op
    - src
    - src_x
    - src_y
    - dst_x
    - dst_y
    - extents
    - clip
    argTypes:
    - cairo_traps_compositor_t*
    - cairo_surface_t*
    - void*
    - cairo_operator_t
    - cairo_surface_t*
    - int
    - int
    - int
    - int
    - cairo_rectangle_int_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 1726
      start: 1696
    functionDepth: 0
    functionLinenumber: 1696
    functionLinenumberEnd: 1726
    functionName: composite_boxes
    functionSourceFile: /src/cairo/src/cairo-traps-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_traps_fini
    - unlikely
    - TRACE
    - _cairo_traps_init_boxes
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t composite_boxes (const cairo_traps_compositor_t\
      \ *compositor,\t\t cairo_surface_t\t\t*dst,\t\t void\t\t\t\t*closure,\t\t cairo_operator_t\t\
      \t op,\t\t cairo_surface_t\t\t*src,\t\t int\t\t\t\t src_x,\t\t int\t\t\t\t src_y,\t\
      \t int\t\t\t\t dst_x,\t\t int\t\t\t\t dst_y,\t\t const cairo_rectangle_int_t\t\
      *extents,\t\t cairo_clip_t\t\t\t*clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-traps-compositor.c:162,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-traps-compositor.c:164,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-traps-compositor.c:165,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-traps-compositor.c:163,1
    - Dst: _cairo_boxes_add
      Src: /src/cairo/src/cairo-traps-compositor.c:167,1
    - Dst: assert
      Src: /src/cairo/src/cairo-traps-compositor.c:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 7
    argNames:
    - boxes
    - x1
    - y1
    - x2
    - y2
    - dx
    - dy
    argTypes:
    - cairo_boxes_t*
    - int
    - int
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 169
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 169
    functionName: add_rect_with_offset
    functionSourceFile: /src/cairo/src/cairo-traps-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_boxes_add
    - assert
    - _cairo_fixed_from_int
    linkageType: ''
    returnType: void
    signature: 'static void add_rect_with_offset (cairo_boxes_t *boxes, int x1, int
      y1, int x2, int y2, int dx, int dy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pattern_is_opaque_solid
      Src: /src/cairo/src/cairo-traps-compositor.c:719,1
    - Dst: can_reduce_alpha_op
      Src: /src/cairo/src/cairo-traps-compositor.c:720,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 1
    argNames:
    - extents
    argTypes:
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 721
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 721
    functionName: reduce_alpha_op
    functionSourceFile: /src/cairo/src/cairo-traps-compositor.c
    functionUses: []
    functionsReached:
    - can_reduce_alpha_op
    - _cairo_pattern_is_opaque_solid
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t reduce_alpha_op (cairo_composite_rectangles_t
      *extents) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-traps-compositor.c:804,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-traps-compositor.c:807,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-traps-compositor.c:806,1
    - Dst: _cairo_boxes_add
      Src: /src/cairo/src/cairo-traps-compositor.c:809,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-traps-compositor.c:805,1
    - Dst: assert
      Src: /src/cairo/src/cairo-traps-compositor.c:810,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - boxes
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - cairo_boxes_t*
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 811
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 811
    functionName: add_rect
    functionSourceFile: /src/cairo/src/cairo-traps-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_boxes_add
    - assert
    - _cairo_fixed_from_int
    linkageType: ''
    returnType: void
    signature: 'static void add_rect (cairo_boxes_t *boxes, int x1, int y1, int x2,
      int y2) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_is_region
      Src: /src/cairo/src/cairo-traps-compositor.c:1191,1
    - Dst: op_reduces_to_source
      Src: /src/cairo/src/cairo-traps-compositor.c:1203,1
    - Dst: TRACE
      Src: /src/cairo/src/cairo-traps-compositor.c:1195,1
    - Dst: _cairo_surface_has_device_transform
      Src: /src/cairo/src/cairo-traps-compositor.c:1233,1
    - Dst: _cairo_recording_surface_replay_with_clip
      Src: /src/cairo/src/cairo-traps-compositor.c:1241,1
    - Dst: likely
      Src: /src/cairo/src/cairo-traps-compositor.c:1295,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps-compositor.c:1220,1
    - Dst: _cairo_clip_from_boxes
      Src: /src/cairo/src/cairo-traps-compositor.c:1240,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps-compositor.c:1249,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-traps-compositor.c:1234,1
    - Dst: recording_pattern_contains_sample
      Src: /src/cairo/src/cairo-traps-compositor.c:1207,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps-compositor.c:1228,1
    - Dst: recording_pattern_get_surface
      Src: /src/cairo/src/cairo-traps-compositor.c:1241,1
    - Dst: traps_get_clip_surface
      Src: /src/cairo/src/cairo-traps-compositor.c:1276,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps-compositor.c:1278,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-traps-compositor.c:1301,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-traps-compositor.c:1305,1
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-traps-compositor.c:1243,1
    - Dst: fixup_unbounded
      Src: /src/cairo/src/cairo-traps-compositor.c:1309,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 83
    argCount: 3
    argNames:
    - compositor
    - extents
    - boxes
    argTypes:
    - cairo_traps_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 1314
      start: 1184
    functionDepth: 0
    functionLinenumber: 1184
    functionLinenumberEnd: 1314
    functionName: composite_aligned_boxes
    functionSourceFile: /src/cairo/src/cairo-traps-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_clip_destroy
    - TRACE
    - _cairo_recording_surface_replay_with_clip
    - recording_pattern_contains_sample
    - _cairo_clip_is_region
    - cairo_surface_destroy
    - fixup_unbounded
    - op_reduces_to_source
    - _cairo_surface_has_device_transform
    - traps_get_clip_surface
    - recording_pattern_get_surface
    - likely
    - cairo_matrix_multiply
    - _cairo_clip_from_boxes
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t composite_aligned_boxes (const cairo_traps_compositor_t\
      \ *compositor,\t\t\t cairo_composite_rectangles_t *extents,\t\t\t cairo_boxes_t\
      \ *boxes) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_traps_extents
      Src: /src/cairo/src/cairo-traps-compositor.c:1366,1
    - Dst: _cairo_composite_rectangles_intersect_mask_extents
      Src: /src/cairo/src/cairo-traps-compositor.c:1367,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - extents
    - traps
    argTypes:
    - cairo_composite_rectangles_t*
    - cairo_traps_t*
    constantsTouched: []
    func_position:
      end: 1368
      start: 1360
    functionDepth: 0
    functionLinenumber: 1360
    functionLinenumberEnd: 1368
    functionName: trim_extents_to_traps
    functionSourceFile: /src/cairo/src/cairo-traps-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_traps_extents
    - _cairo_composite_rectangles_intersect_mask_extents
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t trim_extents_to_traps (cairo_composite_rectangles_t\
      \ *extents,\t\t cairo_traps_t *traps) "
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_traps_init
      Src: /src/cairo/src/cairo-traps-compositor.c:194,1
    - Dst: _cairo_bentley_ottmann_tessellate_polygon
      Src: /src/cairo/src/cairo-traps-compositor.c:195,1
    - Dst: _cairo_traps_fini
      Src: /src/cairo/src/cairo-traps-compositor.c:206,1
    - Dst: _cairo_traps_extents
      Src: /src/cairo/src/cairo-traps-compositor.c:216,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-traps-compositor.c:219,1
    - Dst: _cairo_rectangle_intersect
      Src: /src/cairo/src/cairo-traps-compositor.c:224,1
    - Dst: _cairo_boxes_fini
      Src: /src/cairo/src/cairo-traps-compositor.c:272,1
    - Dst: _cairo_clip_get_polygon
      Src: /src/cairo/src/cairo-traps-compositor.c:189,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps-compositor.c:199,1
    - Dst: _cairo_box_round_to_rectangle
      Src: /src/cairo/src/cairo-traps-compositor.c:217,1
    - Dst: TRACE
      Src: /src/cairo/src/cairo-traps-compositor.c:187,1
    - Dst: _cairo_polygon_fini
      Src: /src/cairo/src/cairo-traps-compositor.c:198,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps-compositor.c:205,1
    - Dst: _cairo_traps_fini
      Src: /src/cairo/src/cairo-traps-compositor.c:218,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps-compositor.c:221,1
    - Dst: _cairo_boxes_init
      Src: /src/cairo/src/cairo-traps-compositor.c:230,1
    - Dst: add_rect_with_offset
      Src: /src/cairo/src/cairo-traps-compositor.c:234,1
    - Dst: add_rect_with_offset
      Src: /src/cairo/src/cairo-traps-compositor.c:250,1
    - Dst: add_rect_with_offset
      Src: /src/cairo/src/cairo-traps-compositor.c:242,1
    - Dst: add_rect_with_offset
      Src: /src/cairo/src/cairo-traps-compositor.c:259,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 55
    argCount: 4
    argNames:
    - compositor
    - mask
    - clip
    - extents
    argTypes:
    - cairo_traps_compositor_t*
    - cairo_surface_t*
    - cairo_clip_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 276
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 276
    functionName: combine_clip_as_traps
    functionSourceFile: /src/cairo/src/cairo-traps-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_traps_init
    - _cairo_box_round_to_rectangle
    - _cairo_bentley_ottmann_tessellate_polygon
    - TRACE
    - _cairo_polygon_fini
    - _cairo_traps_fini
    - _cairo_rectangle_intersect
    - _cairo_boxes_init
    - cairo_surface_destroy
    - _cairo_traps_extents
    - _cairo_clip_get_polygon
    - add_rect_with_offset
    - _cairo_boxes_fini
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t combine_clip_as_traps (const cairo_traps_compositor_t\
      \ *compositor,\t\t cairo_surface_t *mask,\t\t const cairo_clip_t *clip,\t\t\
      \ const cairo_rectangle_int_t *extents) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-traps-compositor.c:730,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps-compositor.c:734,1
    - Dst: traps_get_clip_surface
      Src: /src/cairo/src/cairo-traps-compositor.c:733,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-traps-compositor.c:793,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - compositor
    - extents
    argTypes:
    - cairo_traps_compositor_t*
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 796
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 796
    functionName: fixup_unbounded_with_mask
    functionSourceFile: /src/cairo/src/cairo-traps-compositor.c
    functionUses: []
    functionsReached:
    - cairo_surface_destroy
    - traps_get_clip_surface
    - TRACE
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t fixup_unbounded_with_mask (const cairo_traps_compositor_t\
      \ *compositor,\t\t\t const cairo_composite_rectangles_t *extents) "
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-traps-compositor.c:837,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-traps-compositor.c:836,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-traps-compositor.c:838,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-traps-compositor.c:839,1
    - Dst: assert
      Src: /src/cairo/src/cairo-traps-compositor.c:882,1
    - Dst: _cairo_boxes_add
      Src: /src/cairo/src/cairo-traps-compositor.c:898,1
    - Dst: _cairo_boxes_fini
      Src: /src/cairo/src/cairo-traps-compositor.c:918,1
    - Dst: add_rect
      Src: /src/cairo/src/cairo-traps-compositor.c:847,1
    - Dst: add_rect
      Src: /src/cairo/src/cairo-traps-compositor.c:854,1
    - Dst: _cairo_boxes_init_for_array
      Src: /src/cairo/src/cairo-traps-compositor.c:904,1
    - Dst: _cairo_boxes_init
      Src: /src/cairo/src/cairo-traps-compositor.c:834,1
    - Dst: assert
      Src: /src/cairo/src/cairo-traps-compositor.c:879,1
    - Dst: _cairo_boxes_add
      Src: /src/cairo/src/cairo-traps-compositor.c:881,1
    - Dst: assert
      Src: /src/cairo/src/cairo-traps-compositor.c:899,1
    - Dst: _cairo_boxes_intersect
      Src: /src/cairo/src/cairo-traps-compositor.c:907,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps-compositor.c:908,1
    - Dst: TRACE
      Src: /src/cairo/src/cairo-traps-compositor.c:823,1
    - Dst: assert
      Src: /src/cairo/src/cairo-traps-compositor.c:831,1
    - Dst: add_rect
      Src: /src/cairo/src/cairo-traps-compositor.c:861,1
    - Dst: add_rect
      Src: /src/cairo/src/cairo-traps-compositor.c:869,1
    - Dst: _cairo_bentley_ottmann_tessellate_boxes
      Src: /src/cairo/src/cairo-traps-compositor.c:887,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-traps-compositor.c:896,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-traps-compositor.c:895,1
    - Dst: _cairo_boxes_init
      Src: /src/cairo/src/cairo-traps-compositor.c:877,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps-compositor.c:891,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 81
    argCount: 3
    argNames:
    - compositor
    - extents
    - boxes
    argTypes:
    - cairo_traps_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 920
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 920
    functionName: fixup_unbounded
    functionSourceFile: /src/cairo/src/cairo-traps-compositor.c
    functionUses: []
    functionsReached:
    - TRACE
    - _cairo_boxes_init
    - add_rect
    - unlikely
    - _cairo_boxes_init_for_array
    - assert
    - _cairo_bentley_ottmann_tessellate_boxes
    - _cairo_boxes_intersect
    - _cairo_boxes_add
    - _cairo_boxes_fini
    - _cairo_fixed_from_int
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t fixup_unbounded (const cairo_traps_compositor_t\
      \ *compositor,\t\t cairo_composite_rectangles_t *extents,\t\t cairo_boxes_t\
      \ *boxes) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-traps-compositor.c:1328,1
    - Dst: _cairo_matrix_is_integer_translation
      Src: /src/cairo/src/cairo-traps-compositor.c:1335,1
    - Dst: _cairo_pattern_get_source
      Src: /src/cairo/src/cairo-traps-compositor.c:1330,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 3
    argNames:
    - compositor
    - extents
    - boxes
    argTypes:
    - cairo_traps_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 1358
      start: 1316
    functionDepth: 0
    functionLinenumber: 1316
    functionLinenumberEnd: 1358
    functionName: upload_boxes
    functionSourceFile: /src/cairo/src/cairo-traps-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_get_source
    - TRACE
    - _cairo_matrix_is_integer_translation
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t upload_boxes (const cairo_traps_compositor_t\
      \ *compositor,\t cairo_composite_rectangles_t *extents,\t cairo_boxes_t *boxes) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_tristrip_extents
      Src: /src/cairo/src/cairo-traps-compositor.c:1376,1
    - Dst: _cairo_composite_rectangles_intersect_mask_extents
      Src: /src/cairo/src/cairo-traps-compositor.c:1377,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - extents
    - strip
    argTypes:
    - cairo_composite_rectangles_t*
    - cairo_tristrip_t*
    constantsTouched: []
    func_position:
      end: 1378
      start: 1370
    functionDepth: 0
    functionLinenumber: 1370
    functionLinenumberEnd: 1378
    functionName: trim_extents_to_tristrip
    functionSourceFile: /src/cairo/src/cairo-traps-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_composite_rectangles_intersect_mask_extents
    - _cairo_tristrip_extents
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t trim_extents_to_tristrip (cairo_composite_rectangles_t\
      \ *extents,\t\t\t cairo_tristrip_t *strip) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-traps-compositor.c:1896,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 11
    argNames:
    - compositor
    - dst
    - closure
    - op
    - src
    - src_x
    - src_y
    - dst_x
    - dst_y
    - extents
    - clip
    argTypes:
    - cairo_traps_compositor_t*
    - cairo_surface_t*
    - void*
    - cairo_operator_t
    - cairo_surface_t*
    - int
    - int
    - int
    - int
    - cairo_rectangle_int_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 1913
      start: 1881
    functionDepth: 0
    functionLinenumber: 1881
    functionLinenumberEnd: 1913
    functionName: composite_mask
    functionSourceFile: /src/cairo/src/cairo-traps-compositor.c
    functionUses: []
    functionsReached:
    - TRACE
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t composite_mask (const cairo_traps_compositor_t\
      \ *compositor,\t\tcairo_surface_t\t\t\t*dst,\t\tvoid\t\t\t\t*closure,\t\tcairo_operator_t\t\
      \t op,\t\tcairo_surface_t\t\t\t*src,\t\tint\t\t\t\t src_x,\t\tint\t\t\t\t src_y,\t\
      \tint\t\t\t\t dst_x,\t\tint\t\t\t\t dst_y,\t\tconst cairo_rectangle_int_t\t\
      *extents,\t\tcairo_clip_t\t\t\t*clip) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-traps-compositor.c:665,1
    - Dst: create_composite_mask
      Src: /src/cairo/src/cairo-traps-compositor.c:668,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps-compositor.c:671,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-traps-compositor.c:692,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 9
    argNames:
    - compositor
    - dst
    - draw_func
    - mask_func
    - draw_closure
    - src
    - src_x
    - src_y
    - extents
    argTypes:
    - cairo_traps_compositor_t*
    - cairo_surface_t*
    - draw_func_t
    - draw_func_t
    - void*
    - cairo_surface_t*
    - int
    - int
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 695
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 695
    functionName: clip_and_composite_source
    functionSourceFile: /src/cairo/src/cairo-traps-compositor.c
    functionUses: []
    functionsReached:
    - cairo_surface_destroy
    - unlikely
    - TRACE
    - create_composite_mask
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t clip_and_composite_source (const cairo_traps_compositor_t\t\
      *compositor,\t\t\t cairo_surface_t\t\t\t*dst,\t\t\t draw_func_t\t\t\t\t draw_func,\t\
      \t\t draw_func_t\t\t\t\t mask_func,\t\t\t void\t\t\t\t\t*draw_closure,\t\t\t\
      \ cairo_surface_t\t\t*src,\t\t\t int src_x,\t\t\t int src_y,\t\t\t const cairo_composite_rectangles_t\t\
      *extents) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_is_region
      Src: /src/cairo/src/cairo-traps-compositor.c:959,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - extents
    argTypes:
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 965
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 965
    functionName: need_unbounded_clip
    functionSourceFile: /src/cairo/src/cairo-traps-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_clip_is_region
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t need_unbounded_clip (cairo_composite_rectangles_t
      *extents) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_recording_pattern
      Src: /src/cairo/src/cairo-traps-compositor.c:1159,1
    - Dst: _cairo_rectangle_contains_rectangle
      Src: /src/cairo/src/cairo-traps-compositor.c:1169,1
    - Dst: recording_pattern_get_surface
      Src: /src/cairo/src/cairo-traps-compositor.c:1165,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - pattern
    - sample
    argTypes:
    - cairo_pattern_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 1170
      start: 1153
    functionDepth: 0
    functionLinenumber: 1153
    functionLinenumberEnd: 1170
    functionName: recording_pattern_contains_sample
    functionSourceFile: /src/cairo/src/cairo-traps-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_rectangle_contains_rectangle
    - recording_pattern_get_surface
    - is_recording_pattern
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t recording_pattern_contains_sample (const cairo_pattern_t\
      \ *pattern,\t\t\t\t const cairo_rectangle_int_t *sample) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_boxes_extents
      Src: /src/cairo/src/cairo-traps-compositor.c:1386,1
    - Dst: _cairo_composite_rectangles_intersect_mask_extents
      Src: /src/cairo/src/cairo-traps-compositor.c:1387,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - extents
    - boxes
    argTypes:
    - cairo_composite_rectangles_t*
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 1388
      start: 1380
    functionDepth: 0
    functionLinenumber: 1380
    functionLinenumberEnd: 1388
    functionName: trim_extents_to_boxes
    functionSourceFile: /src/cairo/src/cairo-traps-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_boxes_extents
    - _cairo_composite_rectangles_intersect_mask_extents
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t trim_extents_to_boxes (cairo_composite_rectangles_t\
      \ *extents,\t\t cairo_boxes_t *boxes) "
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-traps-compositor.c:1735,1
    - Dst: upload_boxes
      Src: /src/cairo/src/cairo-traps-compositor.c:1750,1
    - Dst: trim_extents_to_boxes
      Src: /src/cairo/src/cairo-traps-compositor.c:1740,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps-compositor.c:1741,1
    - Dst: op_reduces_to_source
      Src: /src/cairo/src/cairo-traps-compositor.c:1746,1
    - Dst: _cairo_clip_copy
      Src: /src/cairo/src/cairo-traps-compositor.c:1762,1
    - Dst: _cairo_clip_intersect_boxes
      Src: /src/cairo/src/cairo-traps-compositor.c:1763,1
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-traps-compositor.c:1764,1
    - Dst: _cairo_clip_get_polygon
      Src: /src/cairo/src/cairo-traps-compositor.c:1767,1
    - Dst: _cairo_clip_path_destroy
      Src: /src/cairo/src/cairo-traps-compositor.c:1769,1
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-traps-compositor.c:1783,1
    - Dst: clip_and_composite
      Src: /src/cairo/src/cairo-traps-compositor.c:1796,1
    - Dst: need_unbounded_clip
      Src: /src/cairo/src/cairo-traps-compositor.c:1798,1
    - Dst: clip_and_composite_polygon
      Src: /src/cairo/src/cairo-traps-compositor.c:1775,1
    - Dst: _cairo_polygon_fini
      Src: /src/cairo/src/cairo-traps-compositor.c:1781,1
    - Dst: composite_aligned_boxes
      Src: /src/cairo/src/cairo-traps-compositor.c:1791,1
    - Dst: likely
      Src: /src/cairo/src/cairo-traps-compositor.c:1771,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 51
    argCount: 3
    argNames:
    - compositor
    - extents
    - boxes
    argTypes:
    - cairo_traps_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 1799
      start: 1728
    functionDepth: 0
    functionLinenumber: 1728
    functionLinenumberEnd: 1799
    functionName: clip_and_composite_boxes
    functionSourceFile: /src/cairo/src/cairo-traps-compositor.c
    functionUses: []
    functionsReached:
    - clip_and_composite_polygon
    - clip_and_composite
    - upload_boxes
    - _cairo_clip_destroy
    - TRACE
    - _cairo_polygon_fini
    - _cairo_clip_path_destroy
    - _cairo_clip_is_all_clipped
    - op_reduces_to_source
    - _cairo_clip_get_polygon
    - _cairo_clip_intersect_boxes
    - trim_extents_to_boxes
    - composite_aligned_boxes
    - need_unbounded_clip
    - _cairo_clip_copy
    - likely
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t clip_and_composite_boxes (const cairo_traps_compositor_t\
      \ *compositor,\t\t\t cairo_composite_rectangles_t *extents,\t\t\t cairo_boxes_t\
      \ *boxes) "
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_fixed_stroke_is_rectilinear
      Src: /src/cairo/src/cairo-traps-compositor.c:2132,1
    - Dst: _cairo_boxes_init_with_clip
      Src: /src/cairo/src/cairo-traps-compositor.c:2135,1
    - Dst: _cairo_path_fixed_stroke_rectilinear_to_boxes
      Src: /src/cairo/src/cairo-traps-compositor.c:2136,1
    - Dst: _cairo_boxes_fini
      Src: /src/cairo/src/cairo-traps-compositor.c:2143,1
    - Dst: _cairo_clip_is_region
      Src: /src/cairo/src/cairo-traps-compositor.c:2147,1
    - Dst: likely
      Src: /src/cairo/src/cairo-traps-compositor.c:2171,1
    - Dst: likely
      Src: /src/cairo/src/cairo-traps-compositor.c:2157,1
    - Dst: clip_and_composite_polygon
      Src: /src/cairo/src/cairo-traps-compositor.c:2172,1
    - Dst: clip_and_composite_boxes
      Src: /src/cairo/src/cairo-traps-compositor.c:2142,1
    - Dst: likely
      Src: /src/cairo/src/cairo-traps-compositor.c:2201,1
    - Dst: clip_and_composite_traps
      Src: /src/cairo/src/cairo-traps-compositor.c:2202,1
    - Dst: _cairo_traps_fini
      Src: /src/cairo/src/cairo-traps-compositor.c:2203,1
    - Dst: likely
      Src: /src/cairo/src/cairo-traps-compositor.c:2141,1
    - Dst: _cairo_path_fixed_stroke_to_polygon
      Src: /src/cairo/src/cairo-traps-compositor.c:2167,1
    - Dst: _cairo_path_fixed_stroke_to_tristrip
      Src: /src/cairo/src/cairo-traps-compositor.c:2153,1
    - Dst: _cairo_tristrip_init_with_clip
      Src: /src/cairo/src/cairo-traps-compositor.c:2152,1
    - Dst: TRACE
      Src: /src/cairo/src/cairo-traps-compositor.c:2125,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps-compositor.c:2128,1
    - Dst: _cairo_tristrip_fini
      Src: /src/cairo/src/cairo-traps-compositor.c:2159,1
    - Dst: clip_and_composite_tristrip
      Src: /src/cairo/src/cairo-traps-compositor.c:2158,1
    - Dst: _cairo_polygon_init_with_clip
      Src: /src/cairo/src/cairo-traps-compositor.c:2166,1
    - Dst: _cairo_polygon_fini
      Src: /src/cairo/src/cairo-traps-compositor.c:2177,1
    - Dst: need_bounded_clip
      Src: /src/cairo/src/cairo-traps-compositor.c:2195,1
    - Dst: _cairo_traps_init_with_clip
      Src: /src/cairo/src/cairo-traps-compositor.c:2199,1
    - Dst: func
      Src: /src/cairo/src/cairo-traps-compositor.c:2200,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 66
    argCount: 8
    argNames:
    - _compositor
    - extents
    - path
    - style
    - ctm
    - ctm_inverse
    - tolerance
    - antialias
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_antialias_t
    constantsTouched: []
    func_position:
      end: 2207
      start: 2112
    functionDepth: 0
    functionLinenumber: 2112
    functionLinenumberEnd: 2207
    functionName: _cairo_traps_compositor_stroke
    functionSourceFile: /src/cairo/src/cairo-traps-compositor.c
    functionUses: []
    functionsReached:
    - func
    - _cairo_clip_is_region
    - _cairo_traps_init_with_clip
    - clip_and_composite_polygon
    - _cairo_traps_fini
    - _cairo_polygon_fini
    - _cairo_tristrip_init_with_clip
    - _cairo_polygon_init_with_clip
    - _cairo_path_fixed_stroke_to_tristrip
    - _cairo_boxes_init_with_clip
    - _cairo_path_fixed_stroke_is_rectilinear
    - _cairo_boxes_fini
    - _cairo_path_fixed_stroke_to_polygon
    - _cairo_path_fixed_stroke_rectilinear_to_boxes
    - TRACE
    - need_bounded_clip
    - clip_and_composite_tristrip
    - _cairo_tristrip_fini
    - clip_and_composite_traps
    - clip_and_composite_boxes
    - likely
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_traps_compositor_stroke (const cairo_compositor_t\
      \ *_compositor,\t\t\t\tcairo_composite_rectangles_t *extents,\t\t\t\tconst cairo_path_fixed_t\
      \ *path,\t\t\t\tconst cairo_stroke_style_t *style,\t\t\t\tconst cairo_matrix_t\t\
      *ctm,\t\t\t\tconst cairo_matrix_t\t*ctm_inverse,\t\t\t\tdouble\t\t\t tolerance,\t\
      \t\t\tcairo_antialias_t\t antialias) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_ALPHA_SHORT_IS_OPAQUE
      Src: /src/cairo/src/cairo-traps-compositor.c:145,1
    - Dst: _cairo_color_init_rgba
      Src: /src/cairo/src/cairo-traps-compositor.c:150,1
    - Dst: _cairo_box_from_integers
      Src: /src/cairo/src/cairo-traps-compositor.c:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 6
    argNames:
    - closure
    - x
    - y
    - w
    - h
    - coverage
    argTypes:
    - void*
    - int16_t
    - int16_t
    - int16_t
    - int16_t
    - uint16_t
    constantsTouched: []
    func_position:
      end: 154
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 154
    functionName: blt_in
    functionSourceFile: /src/cairo/src/cairo-traps-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_color_init_rgba
    - CAIRO_ALPHA_SHORT_IS_OPAQUE
    - _cairo_box_from_integers
    linkageType: ''
    returnType: void
    signature: "static void blt_in(void *closure,\t\t int16_t x, int16_t y,\t\t int16_t\
      \ w, int16_t h,\t\t uint16_t coverage) "
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - cairo_operator_t
    constantsTouched: []
    func_position:
      end: 709
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 709
    functionName: can_reduce_alpha_op
    functionSourceFile: /src/cairo/src/cairo-traps-compositor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t can_reduce_alpha_op (cairo_operator_t op) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-traps-compositor.c:983,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps-compositor.c:1027,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-traps-compositor.c:1056,1
    - Dst: cairo_region_contains_rectangle
      Src: /src/cairo/src/cairo-traps-compositor.c:1007,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps-compositor.c:1013,1
    - Dst: fixup_unbounded_with_mask
      Src: /src/cairo/src/cairo-traps-compositor.c:1061,1
    - Dst: clip_and_composite_source
      Src: /src/cairo/src/cairo-traps-compositor.c:1031,1
    - Dst: fixup_unbounded
      Src: /src/cairo/src/cairo-traps-compositor.c:1063,1
    - Dst: _cairo_clip_get_region
      Src: /src/cairo/src/cairo-traps-compositor.c:1005,1
    - Dst: reduce_alpha_op
      Src: /src/cairo/src/cairo-traps-compositor.c:985,1
    - Dst: clip_and_composite_with_mask
      Src: /src/cairo/src/cairo-traps-compositor.c:1038,1
    - Dst: clip_and_composite_combine
      Src: /src/cairo/src/cairo-traps-compositor.c:1043,1
    - Dst: draw_func
      Src: /src/cairo/src/cairo-traps-compositor.c:1048,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 66
    argCount: 6
    argNames:
    - compositor
    - extents
    - draw_func
    - mask_func
    - draw_closure
    - need_clip
    argTypes:
    - cairo_traps_compositor_t*
    - cairo_composite_rectangles_t*
    - draw_func_t
    - draw_func_t
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1073
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 1073
    functionName: clip_and_composite
    functionSourceFile: /src/cairo/src/cairo-traps-compositor.c
    functionUses: []
    functionsReached:
    - cairo_region_contains_rectangle
    - draw_func
    - TRACE
    - fixup_unbounded_with_mask
    - clip_and_composite_source
    - _cairo_clip_get_region
    - cairo_surface_destroy
    - reduce_alpha_op
    - fixup_unbounded
    - clip_and_composite_combine
    - clip_and_composite_with_mask
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t clip_and_composite (const cairo_traps_compositor_t\
      \ *compositor,\t\t cairo_composite_rectangles_t *extents,\t\t draw_func_t\t\t\
      \ draw_func,\t\t draw_func_t\t\t mask_func,\t\t void\t\t*draw_closure,\t\t unsigned\
      \ int need_clip) "
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - extents
    argTypes:
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 1182
      start: 1172
    functionDepth: 0
    functionLinenumber: 1172
    functionLinenumberEnd: 1182
    functionName: op_reduces_to_source
    functionSourceFile: /src/cairo/src/cairo-traps-compositor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t op_reduces_to_source (cairo_composite_rectangles_t
      *extents) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_integer_round_down
      Src: /src/cairo/src/cairo-traps-compositor.c:1401,1
    - Dst: _cairo_fixed_integer_round_down
      Src: /src/cairo/src/cairo-traps-compositor.c:1402,1
    - Dst: _cairo_fixed_integer_round_down
      Src: /src/cairo/src/cairo-traps-compositor.c:1404,1
    - Dst: _cairo_fixed_integer_round_down
      Src: /src/cairo/src/cairo-traps-compositor.c:1403,1
    - Dst: _cairo_boxes_init
      Src: /src/cairo/src/cairo-traps-compositor.c:1417,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-traps-compositor.c:1441,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-traps-compositor.c:1441,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-traps-compositor.c:1442,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-traps-compositor.c:1442,1
    - Dst: _cairo_fixed_round_down
      Src: /src/cairo/src/cairo-traps-compositor.c:1456,1
    - Dst: _cairo_fixed_round_down
      Src: /src/cairo/src/cairo-traps-compositor.c:1458,1
    - Dst: _cairo_fixed_round_down
      Src: /src/cairo/src/cairo-traps-compositor.c:1459,1
    - Dst: _cairo_fixed_round_down
      Src: /src/cairo/src/cairo-traps-compositor.c:1457,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 66
    argCount: 3
    argNames:
    - boxes
    - traps
    - antialias
    argTypes:
    - cairo_boxes_t*
    - cairo_traps_t*
    - cairo_antialias_t
    constantsTouched: []
    func_position:
      end: 1468
      start: 1390
    functionDepth: 0
    functionLinenumber: 1390
    functionLinenumberEnd: 1468
    functionName: boxes_for_traps
    functionSourceFile: /src/cairo/src/cairo-traps-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_boxes_init
    - _cairo_fixed_is_integer
    - _cairo_fixed_round_down
    - _cairo_fixed_integer_round_down
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t boxes_for_traps (cairo_boxes_t *boxes,\t\
      \t cairo_traps_t *traps,\t\t cairo_antialias_t antialias) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-traps-compositor.c:1808,1
    - Dst: _cairo_traps_to_boxes
      Src: /src/cairo/src/cairo-traps-compositor.c:1810,1
    - Dst: clip_and_composite_boxes
      Src: /src/cairo/src/cairo-traps-compositor.c:1813,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - compositor
    - extents
    - info
    argTypes:
    - cairo_traps_compositor_t*
    - cairo_composite_rectangles_t*
    - composite_traps_info_t*
    constantsTouched: []
    func_position:
      end: 1814
      start: 1801
    functionDepth: 0
    functionLinenumber: 1801
    functionLinenumberEnd: 1814
    functionName: composite_traps_as_boxes
    functionSourceFile: /src/cairo/src/cairo-traps-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_traps_to_boxes
    - clip_and_composite_boxes
    - TRACE
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t composite_traps_as_boxes (const cairo_traps_compositor_t\
      \ *compositor,\t\t\t cairo_composite_rectangles_t *extents,\t\t\t composite_traps_info_t\
      \ *info) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_fixed_fill_is_rectilinear
      Src: /src/cairo/src/cairo-traps-compositor.c:2227,1
    - Dst: _cairo_boxes_init_with_clip
      Src: /src/cairo/src/cairo-traps-compositor.c:2230,1
    - Dst: clip_and_composite_boxes
      Src: /src/cairo/src/cairo-traps-compositor.c:2236,1
    - Dst: _cairo_box_from_rectangle
      Src: /src/cairo/src/cairo-traps-compositor.c:2248,1
    - Dst: _cairo_polygon_init
      Src: /src/cairo/src/cairo-traps-compositor.c:2253,1
    - Dst: likely
      Src: /src/cairo/src/cairo-traps-compositor.c:2266,1
    - Dst: _cairo_polygon_init
      Src: /src/cairo/src/cairo-traps-compositor.c:2249,1
    - Dst: _cairo_path_fixed_fill_to_polygon
      Src: /src/cairo/src/cairo-traps-compositor.c:2256,1
    - Dst: _cairo_path_fixed_fill_rectilinear_to_boxes
      Src: /src/cairo/src/cairo-traps-compositor.c:2231,1
    - Dst: _cairo_polygon_init_with_clip
      Src: /src/cairo/src/cairo-traps-compositor.c:2263,1
    - Dst: clip_and_composite_polygon
      Src: /src/cairo/src/cairo-traps-compositor.c:2267,1
    - Dst: _cairo_polygon_fini
      Src: /src/cairo/src/cairo-traps-compositor.c:2270,1
    - Dst: _cairo_path_fixed_fill_to_polygon
      Src: /src/cairo/src/cairo-traps-compositor.c:2264,1
    - Dst: _cairo_polygon_intersect_with_boxes
      Src: /src/cairo/src/cairo-traps-compositor.c:2258,1
    - Dst: likely
      Src: /src/cairo/src/cairo-traps-compositor.c:2257,1
    - Dst: TRACE
      Src: /src/cairo/src/cairo-traps-compositor.c:2220,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps-compositor.c:2223,1
    - Dst: likely
      Src: /src/cairo/src/cairo-traps-compositor.c:2235,1
    - Dst: _cairo_boxes_fini
      Src: /src/cairo/src/cairo-traps-compositor.c:2237,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 6
    argNames:
    - _compositor
    - extents
    - path
    - fill_rule
    - tolerance
    - antialias
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    constantsTouched: []
    func_position:
      end: 2274
      start: 2209
    functionDepth: 0
    functionLinenumber: 2209
    functionLinenumberEnd: 2274
    functionName: _cairo_traps_compositor_fill
    functionSourceFile: /src/cairo/src/cairo-traps-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_fill_is_rectilinear
    - _cairo_polygon_init_with_clip
    - clip_and_composite_polygon
    - _cairo_path_fixed_fill_rectilinear_to_boxes
    - TRACE
    - _cairo_box_from_rectangle
    - _cairo_polygon_fini
    - _cairo_polygon_init
    - _cairo_path_fixed_fill_to_polygon
    - _cairo_polygon_intersect_with_boxes
    - _cairo_boxes_init_with_clip
    - clip_and_composite_boxes
    - likely
    - _cairo_boxes_fini
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_traps_compositor_fill (const cairo_compositor_t\
      \ *_compositor,\t\t\t cairo_composite_rectangles_t *extents,\t\t\t const cairo_path_fixed_t\t\
      *path,\t\t\t cairo_fill_rule_t\t\t fill_rule,\t\t\t double\t\t\t tolerance,\t\
      \t\t cairo_antialias_t\t\t antialias) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - compositor
    - delegate
    argTypes:
    - cairo_traps_compositor_t*
    - cairo_compositor_t*
    constantsTouched: []
    func_position:
      end: 2350
      start: 2339
    functionDepth: 0
    functionLinenumber: 2339
    functionLinenumberEnd: 2350
    functionName: _cairo_traps_compositor_init
    functionSourceFile: /src/cairo/src/cairo-traps-compositor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _cairo_traps_compositor_init (cairo_traps_compositor_t *compositor,\t\
      \t\t const cairo_compositor_t *delegate) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-traps-compositor.c:2075,1
    - Dst: clip_and_composite
      Src: /src/cairo/src/cairo-traps-compositor.c:2083,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps-compositor.c:2078,1
    - Dst: need_unbounded_clip
      Src: /src/cairo/src/cairo-traps-compositor.c:2087,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps-compositor.c:2098,1
    - Dst: clip_and_composite
      Src: /src/cairo/src/cairo-traps-compositor.c:2101,1
    - Dst: need_bounded_clip
      Src: /src/cairo/src/cairo-traps-compositor.c:2104,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-traps-compositor.c:2106,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - _compositor
    - extents
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 2110
      start: 2068
    functionDepth: 0
    functionLinenumber: 2068
    functionLinenumberEnd: 2110
    functionName: _cairo_traps_compositor_mask
    functionSourceFile: /src/cairo/src/cairo-traps-compositor.c
    functionUses: []
    functionsReached:
    - clip_and_composite
    - TRACE
    - need_bounded_clip
    - cairo_surface_destroy
    - need_unbounded_clip
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_traps_compositor_mask (const cairo_compositor_t\
      \ *_compositor,\t\t\t cairo_composite_rectangles_t *extents) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - x
    - a
    - b
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 487
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 487
    functionName: floored_muldivrem
    functionSourceFile: /src/cairo/src/cairo-tor22-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: struct quorem
    signature: 'static struct quorem floored_muldivrem(int x, int a, int b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _pool_alloc_from_new_chunk
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:594,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 596
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 596
    functionName: pool_alloc
    functionSourceFile: /src/cairo/src/cairo-tor22-scan-converter.c
    functionUses: []
    functionsReached:
    - _pool_alloc_from_new_chunk
    linkageType: ''
    returnType: void*
    signature: 'inline static void *pool_alloc (struct pool *pool, size_t size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - cells
    argTypes:
    - struct cell_list*
    constantsTouched: []
    func_position:
      end: 622
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 622
    functionName: cell_list_rewind
    functionSourceFile: /src/cairo/src/cairo-tor22-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'inline static void cell_list_rewind (struct cell_list *cells) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:881,1
    - Dst: _polygon_insert_edge_into_its_y_bucket
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:914,1
    - Dst: floored_divrem
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:904,1
    - Dst: pool_alloc
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:884,1
    - Dst: floored_muldivrem
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:909,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 2
    argNames:
    - polygon
    - edge
    argTypes:
    - struct polygon*
    - cairo_edge_t*
    constantsTouched: []
    func_position:
      end: 918
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 918
    functionName: polygon_add_edge
    functionSourceFile: /src/cairo/src/cairo-tor22-scan-converter.c
    functionUses: []
    functionsReached:
    - floored_divrem
    - _polygon_insert_edge_into_its_y_bucket
    - pool_alloc
    - floored_muldivrem
    - unlikely
    linkageType: ''
    returnType: void
    signature: "inline static void polygon_add_edge (struct polygon *polygon,\t\t\
      \ const cairo_edge_t *edge) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: active_list_reset
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:940,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - active
    argTypes:
    - struct active_list*
    constantsTouched: []
    func_position:
      end: 941
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 941
    functionName: active_list_init
    functionSourceFile: /src/cairo/src/cairo-tor22-scan-converter.c
    functionUses: []
    functionsReached:
    - active_list_reset
    linkageType: ''
    returnType: void
    signature: 'static void active_list_init(struct active_list *active) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: merge_unsorted_edges
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - active
    - edges
    argTypes:
    - struct active_list*
    - struct edge*
    constantsTouched: []
    func_position:
      end: 1102
      start: 1097
    functionDepth: 0
    functionLinenumber: 1097
    functionLinenumberEnd: 1102
    functionName: active_list_merge_edges_from_bucket
    functionSourceFile: /src/cairo/src/cairo-tor22-scan-converter.c
    functionUses: []
    functionsReached:
    - merge_unsorted_edges
    linkageType: ''
    returnType: void
    signature: "inline static void active_list_merge_edges_from_bucket(struct active_list\
      \ *active,\t\t\t\t struct edge *edges) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 499
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 499
    functionName: _pool_chunk_init
    functionSourceFile: /src/cairo/src/cairo-tor22-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: struct _pool_chunk*
    signature: 'static struct _pool_chunk *_pool_chunk_init( struct _pool_chunk *p,
      struct _pool_chunk *prev_chunk, size_t capacity) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - cells
    argTypes:
    - struct cell_list*
    constantsTouched: []
    func_position:
      end: 628
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 628
    functionName: cell_list_set_rewind
    functionSourceFile: /src/cairo/src/cairo-tor22-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'inline static void cell_list_set_rewind (struct cell_list *cells) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - active
    argTypes:
    - struct active_list*
    constantsTouched: []
    func_position:
      end: 935
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 935
    functionName: active_list_reset
    functionSourceFile: /src/cairo/src/cairo-tor22-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void active_list_reset (struct active_list *active) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1677,1
    - Dst: glitter_scan_converter_reset
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1687,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1679,1
    - Dst: _glitter_scan_converter_init
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1686,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1678,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1689,1
    - Dst: _cairo_scan_converter_create_in_error
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1700,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1701
      start: 1666
    functionDepth: 0
    functionLinenumber: 1666
    functionLinenumberEnd: 1701
    functionName: _cairo_tor22_scan_converter_create
    functionSourceFile: /src/cairo/src/cairo-tor22-scan-converter.c
    functionUses: []
    functionsReached:
    - _cairo_scan_converter_create_in_error
    - _cairo_error
    - glitter_scan_converter_reset
    - _glitter_scan_converter_init
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_scan_converter_t*
    signature: "cairo_scan_converter_t *_cairo_tor22_scan_converter_create (int\t\t\
      \txmin,\t\t\t\t int\t\t\tymin,\t\t\t\t int\t\t\txmax,\t\t\t\t int\t\t\tymax,\t\
      \t\t\t cairo_fill_rule_t\tfill_rule,\t\t\t\t cairo_antialias_t\tantialias) "
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 1
    argNames:
    - active
    argTypes:
    - struct active_list*
    constantsTouched: []
    func_position:
      end: 1093
      start: 1066
    functionDepth: 0
    functionLinenumber: 1066
    functionLinenumberEnd: 1093
    functionName: can_do_full_row
    functionSourceFile: /src/cairo/src/cairo-tor22-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'inline static int can_do_full_row (struct active_list *active) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _pool_chunk_init
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:565,1
    - Dst: _pool_chunk_create
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:570,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 576
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 576
    functionName: _pool_alloc_from_new_chunk
    functionSourceFile: /src/cairo/src/cairo-tor22-scan-converter.c
    functionUses: []
    functionsReached:
    - _pool_chunk_create
    - _pool_chunk_init
    linkageType: ''
    returnType: void*
    signature: 'static void *_pool_alloc_from_new_chunk( struct pool *pool, size_t
      size) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UNROLL3
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:716,1
    - Dst: cell_list_alloc
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:734,1
    - Dst: cell_list_alloc
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:723,1
    - Dst: UNROLL3
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:727,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 3
    argNames:
    - cells
    - x1
    - x2
    argTypes:
    - struct cell_list*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 738
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 738
    functionName: cell_list_find_pair
    functionSourceFile: /src/cairo/src/cairo-tor22-scan-converter.c
    functionUses: []
    functionsReached:
    - UNROLL3
    - cell_list_alloc
    linkageType: ''
    returnType: struct cell_pair
    signature: 'inline static struct cell_pair cell_list_find_pair(struct cell_list
      *cells, int x1, int x2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polygon_init
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1230,1
    - Dst: cell_list_init
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1232,1
    - Dst: active_list_init
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - converter
    - jmp
    argTypes:
    - glitter_scan_converter_t*
    - jmp_buf*
    constantsTouched: []
    func_position:
      end: 1237
      start: 1227
    functionDepth: 0
    functionLinenumber: 1227
    functionLinenumberEnd: 1237
    functionName: _glitter_scan_converter_init
    functionSourceFile: /src/cairo/src/cairo-tor22-scan-converter.c
    functionUses: []
    functionsReached:
    - cell_list_init
    - active_list_init
    - polygon_init
    linkageType: ''
    returnType: void
    signature: 'static void _glitter_scan_converter_init(glitter_scan_converter_t
      *converter, jmp_buf *jmp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - active
    - count
    argTypes:
    - struct active_list*
    - int
    constantsTouched: []
    func_position:
      end: 1380
      start: 1367
    functionDepth: 0
    functionLinenumber: 1367
    functionLinenumberEnd: 1380
    functionName: step_edges
    functionSourceFile: /src/cairo/src/cairo-tor22-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void step_edges (struct active_list *active, int count) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1243,1
    - Dst: cell_list_fini
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1246,1
    - Dst: polygon_fini
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - self
    argTypes:
    - glitter_scan_converter_t*
    constantsTouched: []
    func_position:
      end: 1252
      start: 1239
    functionDepth: 0
    functionLinenumber: 1239
    functionLinenumberEnd: 1252
    functionName: _glitter_scan_converter_fini
    functionSourceFile: /src/cairo/src/cairo-tor22-scan-converter.c
    functionUses: []
    functionsReached:
    - free
    - polygon_fini
    - cell_list_fini
    linkageType: ''
    returnType: void
    signature: 'static void _glitter_scan_converter_fini(glitter_scan_converter_t
      *self) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1286,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1287,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1289,1
    - Dst: int_to_grid_scaled_x
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1294,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1290,1
    - Dst: int_to_grid_scaled_y
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1295,1
    - Dst: int_to_grid_scaled_x
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1296,1
    - Dst: int_to_grid_scaled_y
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1297,1
    - Dst: active_list_reset
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1299,1
    - Dst: cell_list_reset
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1300,1
    - Dst: polygon_reset
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1301,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 5
    argNames:
    - converter
    - xmin
    - ymin
    - xmax
    - ymax
    argTypes:
    - glitter_scan_converter_t*
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1310
      start: 1272
    functionDepth: 0
    functionLinenumber: 1272
    functionLinenumberEnd: 1310
    functionName: glitter_scan_converter_reset
    functionSourceFile: /src/cairo/src/cairo-tor22-scan-converter.c
    functionUses: []
    functionsReached:
    - active_list_reset
    - _cairo_error
    - cell_list_reset
    - ARRAY_LENGTH
    - int_to_grid_scaled_y
    - int_to_grid_scaled_x
    - polygon_reset
    - _cairo_malloc_ab
    - unlikely
    linkageType: ''
    returnType: I
    signature: "I glitter_status_t glitter_scan_converter_reset(\t\t\t glitter_scan_converter_t\
      \ *converter,\t\t\t int xmin, int ymin,\t\t\t int xmax, int ymax) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GRID_AREA_TO_ALPHA
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1412,1
    - Dst: GRID_AREA_TO_ALPHA
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1434,1
    - Dst: GRID_AREA_TO_ALPHA
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1423,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 7
    argNames:
    - cells
    - renderer
    - spans
    - y
    - height
    - xmin
    - xmax
    argTypes:
    - struct cell_list*
    - cairo_span_renderer_t*
    - cairo_half_open_span_t*
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1448
      start: 1382
    functionDepth: 0
    functionLinenumber: 1382
    functionLinenumberEnd: 1448
    functionName: blit_a8
    functionSourceFile: /src/cairo/src/cairo-tor22-scan-converter.c
    functionUses: []
    functionsReached:
    - GRID_AREA_TO_ALPHA
    linkageType: ''
    returnType: glitter_status_t
    signature: "static glitter_status_t blit_a8 (struct cell_list *cells,\t cairo_span_renderer_t\
      \ *renderer,\t cairo_half_open_span_t *spans,\t int y, int height,\t int xmin,\
      \ int xmax) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:534,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 1
    argNames:
    - pool
    argTypes:
    - struct pool*
    constantsTouched: []
    func_position:
      end: 540
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 540
    functionName: pool_fini
    functionSourceFile: /src/cairo/src/cairo-tor22-scan-converter.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'static void pool_fini(struct pool *pool) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNROLL3
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:689,1
    - Dst: cell_list_alloc
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:697,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 700
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 700
    functionName: cell_list_find
    functionSourceFile: /src/cairo/src/cairo-tor22-scan-converter.c
    functionUses: []
    functionsReached:
    - UNROLL3
    - cell_list_alloc
    linkageType: ''
    returnType: struct cell*
    signature: 'inline static struct cell *cell_list_find (struct cell_list *cells,
      int x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1638,1
    - Dst: fclose
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1640,1
    - Dst: _cairo_debug_print_polygon
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1639,1
    - Dst: glitter_scan_converter_add_edge
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1644,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - converter
    - polygon
    argTypes:
    - void*
    - cairo_polygon_t*
    constantsTouched: []
    func_position:
      end: 1647
      start: 1630
    functionDepth: 0
    functionLinenumber: 1630
    functionLinenumberEnd: 1647
    functionName: _cairo_tor22_scan_converter_add_polygon
    functionSourceFile: /src/cairo/src/cairo-tor22-scan-converter.c
    functionUses: []
    functionsReached:
    - glitter_scan_converter_add_edge
    - _cairo_debug_print_polygon
    - fopen
    - fclose
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_tor22_scan_converter_add_polygon (void\t\t*converter,\t\
      \t\t\t const cairo_polygon_t *polygon) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 471
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 471
    functionName: floored_divrem
    functionSourceFile: /src/cairo/src/cairo-tor22-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: struct quorem
    signature: 'inline static struct quorem floored_divrem(int a, int b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:506,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:508,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:507,1
    - Dst: _pool_chunk_init
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:510,1
    - Dst: longjmp
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:508,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 511
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 511
    functionName: _pool_chunk_create
    functionSourceFile: /src/cairo/src/cairo-tor22-scan-converter.c
    functionUses: []
    functionsReached:
    - _cairo_malloc
    - _pool_chunk_init
    - _cairo_error
    - longjmp
    - unlikely
    linkageType: ''
    returnType: struct _pool_chunk*
    signature: 'static struct _pool_chunk *_pool_chunk_create(struct pool *pool, size_t
      size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pool_init
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:633,1
    - Dst: cell_list_rewind
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:640,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - cells
    - jmp
    argTypes:
    - struct cell_list*
    - jmp_buf*
    constantsTouched: []
    func_position:
      end: 641
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 641
    functionName: cell_list_init
    functionSourceFile: /src/cairo/src/cairo-tor22-scan-converter.c
    functionUses: []
    functionsReached:
    - pool_init
    - cell_list_rewind
    linkageType: ''
    returnType: void
    signature: 'static void cell_list_init(struct cell_list *cells, jmp_buf *jmp) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EDGE_Y_BUCKET_INDEX
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:831,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:842,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:835,1
    - Dst: free
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:839,1
    - Dst: pool_reset
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:833,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:843,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:845,1
    - Dst: memset
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:848,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 3
    argNames:
    - polygon
    - ymin
    - ymax
    argTypes:
    - struct polygon*
    - grid_scaled_y_t
    - grid_scaled_y_t
    constantsTouched: []
    func_position:
      end: 858
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 858
    functionName: polygon_reset
    functionSourceFile: /src/cairo/src/cairo-tor22-scan-converter.c
    functionUses: []
    functionsReached:
    - free
    - pool_reset
    - ARRAY_LENGTH
    - EDGE_Y_BUCKET_INDEX
    - _cairo_malloc_ab
    - memset
    - unlikely
    linkageType: ''
    returnType: glitter_status_t
    signature: "static glitter_status_t polygon_reset (struct polygon *polygon,\t\
      \ grid_scaled_y_t ymin,\t grid_scaled_y_t ymax) "
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 13
    argCount: 4
    argNames:
    - active
    - edge
    - y
    - buckets
    argTypes:
    - struct active_list*
    - struct edge*
    - int
    - struct edge**
    constantsTouched: []
    func_position:
      end: 1129
      start: 1104
    functionDepth: 0
    functionLinenumber: 1104
    functionLinenumberEnd: 1129
    functionName: polygon_fill_buckets
    functionSourceFile: /src/cairo/src/cairo-tor22-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "inline static void polygon_fill_buckets (struct active_list *active,\t\
      \t struct edge *edge,\t\t int y,\t\t struct edge **buckets) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - e
    - h
    argTypes:
    - struct edge*
    - int
    constantsTouched: []
    func_position:
      end: 1192
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1192
    functionName: dec
    functionSourceFile: /src/cairo/src/cairo-tor22-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'inline static void dec (struct edge *e, int h) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - i
    - scale
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1267
      start: 1254
    functionDepth: 0
    functionLinenumber: 1254
    functionLinenumberEnd: 1267
    functionName: int_to_grid_scaled
    functionSourceFile: /src/cairo/src/cairo-tor22-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: grid_scaled_t
    signature: 'static grid_scaled_t int_to_grid_scaled(int i, int scale) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: can_do_full_row
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1558,1
    - Dst: step_edges
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1574,1
    - Dst: full_row
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1563,1
    - Dst: active_list_merge_edges_from_bucket
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1587,1
    - Dst: polygon_fill_buckets
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1579,1
    - Dst: sub_row
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1591,1
    - Dst: blit_a8
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1596,1
    - Dst: blit_a1
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1599,1
    - Dst: cell_list_reset
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1601,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 61
    argCount: 4
    argNames:
    - converter
    - winding_mask
    - antialias
    - renderer
    argTypes:
    - glitter_scan_converter_t*
    - unsigned int
    - int
    - cairo_span_renderer_t*
    constantsTouched: []
    func_position:
      end: 1605
      start: 1520
    functionDepth: 0
    functionLinenumber: 1520
    functionLinenumberEnd: 1605
    functionName: glitter_scan_converter_render
    functionSourceFile: /src/cairo/src/cairo-tor22-scan-converter.c
    functionUses: []
    functionsReached:
    - polygon_fill_buckets
    - blit_a1
    - full_row
    - can_do_full_row
    - active_list_merge_edges_from_bucket
    - blit_a8
    - cell_list_reset
    - sub_row
    - step_edges
    linkageType: ''
    returnType: I
    signature: "I void glitter_scan_converter_render(glitter_scan_converter_t *converter,\t\
      \t\t unsigned int winding_mask,\t\t\t int antialias,\t\t\t cairo_span_renderer_t\
      \ *renderer) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _pool_chunk_init
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:523,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - pool
    - jmp
    - default_capacity
    - embedded_capacity
    argTypes:
    - struct pool*
    - jmp_buf*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 524
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 524
    functionName: pool_init
    functionSourceFile: /src/cairo/src/cairo-tor22-scan-converter.c
    functionUses: []
    functionsReached:
    - _pool_chunk_init
    linkageType: ''
    returnType: void
    signature: "static void pool_init(struct pool *pool,\t jmp_buf *jmp,\t size_t\
      \ default_capacity,\t size_t embedded_capacity) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pool_fini
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:646,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - cells
    argTypes:
    - struct cell_list*
    constantsTouched: []
    func_position:
      end: 647
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 647
    functionName: cell_list_fini
    functionSourceFile: /src/cairo/src/cairo-tor22-scan-converter.c
    functionUses: []
    functionsReached:
    - pool_fini
    linkageType: ''
    returnType: void
    signature: 'static void cell_list_fini(struct cell_list *cells) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EDGE_Y_BUCKET_INDEX
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:864,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 2
    argNames:
    - polygon
    - e
    argTypes:
    - struct polygon*
    - struct edge*
    constantsTouched: []
    func_position:
      end: 868
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 868
    functionName: _polygon_insert_edge_into_its_y_bucket
    functionSourceFile: /src/cairo/src/cairo-tor22-scan-converter.c
    functionUses: []
    functionsReached:
    - EDGE_Y_BUCKET_INDEX
    linkageType: ''
    returnType: void
    signature: "static void _polygon_insert_edge_into_its_y_bucket(struct polygon\
      \ *polygon,\t\t\t\t struct edge *e) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cell_list_rewind
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1140,1
    - Dst: cell_list_add_subspan
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1175,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 36
    argCount: 3
    argNames:
    - active
    - coverages
    - mask
    argTypes:
    - struct active_list*
    - struct cell_list*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1183
      start: 1131
    functionDepth: 0
    functionLinenumber: 1131
    functionLinenumberEnd: 1183
    functionName: sub_row
    functionSourceFile: /src/cairo/src/cairo-tor22-scan-converter.c
    functionUses: []
    functionsReached:
    - cell_list_rewind
    - cell_list_add_subspan
    linkageType: ''
    returnType: void
    signature: "inline static void sub_row (struct active_list *active,\t struct cell_list\
      \ *coverages,\t unsigned int mask) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dec
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1205,1
    - Dst: cell_list_render_edge
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1220,1
    - Dst: cell_list_set_rewind
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1219,1
    - Dst: cell_list_render_edge
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1221,1
    - Dst: dec
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1210,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 3
    argNames:
    - active
    - coverages
    - mask
    argTypes:
    - struct active_list*
    - struct cell_list*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1225
      start: 1194
    functionDepth: 0
    functionLinenumber: 1194
    functionLinenumberEnd: 1225
    functionName: full_row
    functionSourceFile: /src/cairo/src/cairo-tor22-scan-converter.c
    functionUses: []
    functionsReached:
    - cell_list_render_edge
    - dec
    - cell_list_set_rewind
    linkageType: ''
    returnType: void
    signature: "static void full_row (struct active_list *active,\t struct cell_list\
      \ *coverages,\t unsigned int mask) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _glitter_scan_converter_fini
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1626,1
    - Dst: free
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1627,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - converter
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1628
      start: 1619
    functionDepth: 0
    functionLinenumber: 1619
    functionLinenumberEnd: 1628
    functionName: _cairo_tor22_scan_converter_destroy
    functionSourceFile: /src/cairo/src/cairo-tor22-scan-converter.c
    functionUses: []
    functionsReached:
    - free
    - _glitter_scan_converter_fini
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_tor22_scan_converter_destroy (void *converter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1656,1
    - Dst: glitter_scan_converter_render
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1659,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1657,1
    - Dst: _cairo_scan_converter_set_error
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1657,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - converter
    - renderer
    argTypes:
    - void*
    - cairo_span_renderer_t*
    constantsTouched: []
    func_position:
      end: 1664
      start: 1649
    functionDepth: 0
    functionLinenumber: 1649
    functionLinenumberEnd: 1664
    functionName: _cairo_tor22_scan_converter_generate
    functionSourceFile: /src/cairo/src/cairo-tor22-scan-converter.c
    functionUses: []
    functionsReached:
    - _cairo_scan_converter_set_error
    - _cairo_error
    - glitter_scan_converter_render
    - setjmp
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_tor22_scan_converter_generate (void\t\
      \t\t*converter,\t\t\t\t cairo_span_renderer_t\t*renderer) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GRID_X_TO_INT_FRAC
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:794,1
    - Dst: cell_list_find
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:798,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - cells
    - edge
    - sign
    argTypes:
    - struct cell_list*
    - struct edge*
    - int
    constantsTouched: []
    func_position:
      end: 801
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 801
    functionName: cell_list_render_edge
    functionSourceFile: /src/cairo/src/cairo-tor22-scan-converter.c
    functionUses: []
    functionsReached:
    - GRID_X_TO_INT_FRAC
    - cell_list_find
    linkageType: ''
    returnType: void
    signature: "static void cell_list_render_edge(struct cell_list *cells,\t\t struct\
      \ edge *edge,\t\t int sign) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cell_list_rewind
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:654,1
    - Dst: pool_reset
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:656,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - cells
    argTypes:
    - struct cell_list*
    constantsTouched: []
    func_position:
      end: 657
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 657
    functionName: cell_list_reset
    functionSourceFile: /src/cairo/src/cairo-tor22-scan-converter.c
    functionUses: []
    functionsReached:
    - pool_reset
    - cell_list_rewind
    linkageType: ''
    returnType: void
    signature: 'inline static void cell_list_reset (struct cell_list *cells) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GRID_X_TO_INT_FRAC
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:752,1
    - Dst: GRID_X_TO_INT_FRAC
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:753,1
    - Dst: cell_list_find
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:763,1
    - Dst: cell_list_find_pair
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:757,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - cells
    - x1
    - x2
    argTypes:
    - struct cell_list*
    - grid_scaled_x_t
    - grid_scaled_x_t
    constantsTouched: []
    func_position:
      end: 766
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 766
    functionName: cell_list_add_subspan
    functionSourceFile: /src/cairo/src/cairo-tor22-scan-converter.c
    functionUses: []
    functionsReached:
    - GRID_X_TO_INT_FRAC
    - cell_list_find
    - cell_list_find_pair
    linkageType: ''
    returnType: void
    signature: "inline static void cell_list_add_subspan(struct cell_list *cells,\t\
      \t grid_scaled_x_t x1,\t\t grid_scaled_x_t x2) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pool_init
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:808,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - polygon
    - jmp
    argTypes:
    - struct polygon*
    - jmp_buf*
    constantsTouched: []
    func_position:
      end: 811
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 811
    functionName: polygon_init
    functionSourceFile: /src/cairo/src/cairo-tor22-scan-converter.c
    functionUses: []
    functionsReached:
    - pool_init
    linkageType: ''
    returnType: void
    signature: 'static void polygon_init (struct polygon *polygon, jmp_buf *jmp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sort_edges
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1050,1
    - Dst: merge_sorted_edges
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1051,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1055
    functionName: sort_edges
    functionSourceFile: /src/cairo/src/cairo-tor22-scan-converter.c
    functionUses: []
    functionsReached:
    - merge_sorted_edges
    - sort_edges
    linkageType: ''
    returnType: struct edge*
    signature: "static struct edge *sort_edges (struct edge *list,\t unsigned int\
      \ level,\t struct edge **head_out) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: INPUT_TO_GRID_Y
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1348,1
    - Dst: INPUT_TO_GRID_Y
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1355,1
    - Dst: INPUT_TO_GRID_X
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1359,1
    - Dst: INPUT_TO_GRID_Y
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1349,1
    - Dst: INPUT_TO_GRID_Y
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1354,1
    - Dst: INPUT_TO_GRID_X
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1360,1
    - Dst: polygon_add_edge
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1364,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - converter
    - edge
    argTypes:
    - glitter_scan_converter_t*
    - cairo_edge_t*
    constantsTouched: []
    func_position:
      end: 1365
      start: 1342
    functionDepth: 0
    functionLinenumber: 1342
    functionLinenumberEnd: 1365
    functionName: glitter_scan_converter_add_edge
    functionSourceFile: /src/cairo/src/cairo-tor22-scan-converter.c
    functionUses: []
    functionsReached:
    - INPUT_TO_GRID_Y
    - INPUT_TO_GRID_X
    - polygon_add_edge
    linkageType: ''
    returnType: I
    signature: "I void glitter_scan_converter_add_edge (glitter_scan_converter_t *converter,\t\
      \t\t\t const cairo_edge_t *edge) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pool_alloc
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:666,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 673
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 673
    functionName: cell_list_alloc
    functionSourceFile: /src/cairo/src/cairo-tor22-scan-converter.c
    functionUses: []
    functionsReached:
    - pool_alloc
    linkageType: ''
    returnType: struct cell*
    signature: "inline static struct cell *cell_list_alloc (struct cell_list *cells,\t\
      \t struct cell *tail,\t\t int x) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:817,1
    - Dst: pool_fini
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:819,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - struct polygon*
    constantsTouched: []
    func_position:
      end: 820
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 820
    functionName: polygon_fini
    functionSourceFile: /src/cairo/src/cairo-tor22-scan-converter.c
    functionUses: []
    functionsReached:
    - free
    - pool_fini
    linkageType: ''
    returnType: void
    signature: 'static void polygon_fini (struct polygon *polygon) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sort_edges
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1060,1
    - Dst: merge_sorted_edges
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1061,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1057
    functionDepth: 0
    functionLinenumber: 1057
    functionLinenumberEnd: 1062
    functionName: merge_unsorted_edges
    functionSourceFile: /src/cairo/src/cairo-tor22-scan-converter.c
    functionUses: []
    functionsReached:
    - merge_sorted_edges
    - sort_edges
    linkageType: ''
    returnType: struct edge*
    signature: 'static struct edge *merge_unsorted_edges (struct edge *head, struct
      edge *unsorted) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GRID_AREA_TO_A1
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1480,1
    - Dst: GRID_AREA_TO_A1
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1490,1
    - Dst: GRID_AREA_TO_A1
      Src: /src/cairo/src/cairo-tor22-scan-converter.c:1500,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 54
    argCount: 7
    argNames:
    - cells
    - renderer
    - spans
    - y
    - height
    - xmin
    - xmax
    argTypes:
    - struct cell_list*
    - cairo_span_renderer_t*
    - cairo_half_open_span_t*
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1517
      start: 1451
    functionDepth: 0
    functionLinenumber: 1451
    functionLinenumberEnd: 1517
    functionName: blit_a1
    functionSourceFile: /src/cairo/src/cairo-tor22-scan-converter.c
    functionUses: []
    functionsReached:
    - GRID_AREA_TO_A1
    linkageType: ''
    returnType: glitter_status_t
    signature: "static glitter_status_t blit_a1 (struct cell_list *cells,\t cairo_span_renderer_t\
      \ *renderer,\t cairo_half_open_span_t *spans,\t int y, int height,\t int xmin,\
      \ int xmax) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - pool
    argTypes:
    - struct pool*
    constantsTouched: []
    func_position:
      end: 614
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 614
    functionName: pool_reset
    functionSourceFile: /src/cairo/src/cairo-tor22-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void pool_reset (struct pool *pool) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 1003
    functionName: merge_sorted_edges
    functionSourceFile: /src/cairo/src/cairo-tor22-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: struct edge*
    signature: 'static struct edge *merge_sorted_edges (struct edge *head_a, struct
      edge *head_b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 56
    functionName: _cairo_damage
    functionSourceFile: /src/cairo/src/cairo-damage-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CAIRO_BEGIN_DECLS
    signature: 'CAIRO_BEGIN_DECLS struct _cairo_damage '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - x
    - a
    - b
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 101
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 101
    functionName: floored_muldivrem
    functionSourceFile: /src/cairo/src/cairo-mono-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: struct quorem
    signature: 'static struct quorem floored_muldivrem(int x, int a, int b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: merge_unsorted_edges
      Src: /src/cairo/src/cairo-mono-scan-converter.c:287,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 2
    argNames:
    - c
    - edges
    argTypes:
    - struct mono_scan_converter*
    - struct edge*
    constantsTouched: []
    func_position:
      end: 288
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 288
    functionName: active_list_merge_edges
    functionSourceFile: /src/cairo/src/cairo-mono-scan-converter.c
    functionUses: []
    functionsReached:
    - merge_unsorted_edges
    linkageType: ''
    returnType: void
    signature: 'inline static void active_list_merge_edges (struct mono_scan_converter
      *c, struct edge *edges) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/cairo/src/cairo-mono-scan-converter.c:527,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-mono-scan-converter.c:534,1
    - Dst: _cairo_debug_print_polygon
      Src: /src/cairo/src/cairo-mono-scan-converter.c:528,1
    - Dst: mono_scan_converter_allocate_edges
      Src: /src/cairo/src/cairo-mono-scan-converter.c:532,1
    - Dst: fclose
      Src: /src/cairo/src/cairo-mono-scan-converter.c:529,1
    - Dst: mono_scan_converter_add_edge
      Src: /src/cairo/src/cairo-mono-scan-converter.c:538,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - converter
    - polygon
    argTypes:
    - void*
    - cairo_polygon_t*
    constantsTouched: []
    func_position:
      end: 541
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 541
    functionName: _cairo_mono_scan_converter_add_polygon
    functionSourceFile: /src/cairo/src/cairo-mono-scan-converter.c
    functionUses: []
    functionsReached:
    - fclose
    - fopen
    - mono_scan_converter_add_edge
    - _cairo_debug_print_polygon
    - mono_scan_converter_allocate_edges
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_mono_scan_converter_add_polygon (void\t\t*converter,\t\
      \t\t\t const cairo_polygon_t *polygon) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-mono-scan-converter.c:109,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-mono-scan-converter.c:110,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-mono-scan-converter.c:112,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-mono-scan-converter.c:111,1
    - Dst: memset
      Src: /src/cairo/src/cairo-mono-scan-converter.c:114,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - polygon
    - ymin
    - ymax
    argTypes:
    - struct polygon*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 120
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 120
    functionName: polygon_init
    functionSourceFile: /src/cairo/src/cairo-mono-scan-converter.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - ARRAY_LENGTH
    - _cairo_malloc_ab
    - memset
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t polygon_init (struct polygon *polygon, int ymin,
      int ymax) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - c
    - x1
    - x2
    argTypes:
    - struct mono_scan_converter*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 309
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 309
    functionName: add_span
    functionSourceFile: /src/cairo/src/cairo-mono-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'inline static void add_span (struct mono_scan_converter *c, int x1,
      int x2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mono_scan_converter_render
      Src: /src/cairo/src/cairo-mono-scan-converter.c:549,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - converter
    - renderer
    argTypes:
    - void*
    - cairo_span_renderer_t*
    constantsTouched: []
    func_position:
      end: 552
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 552
    functionName: _cairo_mono_scan_converter_generate
    functionSourceFile: /src/cairo/src/cairo-mono-scan-converter.c
    functionUses: []
    functionsReached:
    - mono_scan_converter_render
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_mono_scan_converter_generate (void\t\t\
      \t*converter,\t\t\t\t cairo_span_renderer_t\t*renderer) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-mono-scan-converter.c:410,1
    - Dst: polygon_fini
      Src: /src/cairo/src/cairo-mono-scan-converter.c:412,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - self
    argTypes:
    - struct mono_scan_converter*
    constantsTouched: []
    func_position:
      end: 413
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 413
    functionName: _mono_scan_converter_fini
    functionSourceFile: /src/cairo/src/cairo-mono-scan-converter.c
    functionUses: []
    functionsReached:
    - free
    - polygon_fini
    linkageType: ''
    returnType: void
    signature: 'static void _mono_scan_converter_fini(struct mono_scan_converter *self) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: active_list_merge_edges
      Src: /src/cairo/src/cairo-mono-scan-converter.c:465,1
    - Dst: row
      Src: /src/cairo/src/cairo-mono-scan-converter.c:485,1
    - Dst: step_edges
      Src: /src/cairo/src/cairo-mono-scan-converter.c:482,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-mono-scan-converter.c:489,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 34
    argCount: 3
    argNames:
    - c
    - winding_mask
    - renderer
    argTypes:
    - struct mono_scan_converter*
    - unsigned int
    - cairo_span_renderer_t*
    constantsTouched: []
    func_position:
      end: 499
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 499
    functionName: mono_scan_converter_render
    functionSourceFile: /src/cairo/src/cairo-mono-scan-converter.c
    functionUses: []
    functionsReached:
    - row
    - active_list_merge_edges
    - step_edges
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t mono_scan_converter_render(struct mono_scan_converter\
      \ *c,\t\t\t unsigned int winding_mask,\t\t\t cairo_span_renderer_t *renderer) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-mono-scan-converter.c:422,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-mono-scan-converter.c:424,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-mono-scan-converter.c:425,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-mono-scan-converter.c:423,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - c
    - num_edges
    argTypes:
    - struct mono_scan_converter*
    - int
    constantsTouched: []
    func_position:
      end: 429
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 429
    functionName: mono_scan_converter_allocate_edges
    functionSourceFile: /src/cairo/src/cairo-mono-scan-converter.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - unlikely
    - ARRAY_LENGTH
    - _cairo_malloc_ab
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t mono_scan_converter_allocate_edges(struct mono_scan_converter\
      \ *c,\t\t\t\t int num_edges) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mono_scan_converter_fini
      Src: /src/cairo/src/cairo-mono-scan-converter.c:514,1
    - Dst: free
      Src: /src/cairo/src/cairo-mono-scan-converter.c:515,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - converter
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 516
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 516
    functionName: _cairo_mono_scan_converter_destroy
    functionSourceFile: /src/cairo/src/cairo-mono-scan-converter.c
    functionUses: []
    functionsReached:
    - free
    - _mono_scan_converter_fini
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_mono_scan_converter_destroy (void *converter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sort_edges
      Src: /src/cairo/src/cairo-mono-scan-converter.c:265,1
    - Dst: merge_sorted_edges
      Src: /src/cairo/src/cairo-mono-scan-converter.c:266,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 270
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 270
    functionName: sort_edges
    functionSourceFile: /src/cairo/src/cairo-mono-scan-converter.c
    functionUses: []
    functionsReached:
    - merge_sorted_edges
    - sort_edges
    linkageType: ''
    returnType: struct edge*
    signature: "static struct edge *sort_edges (struct edge *list,\t unsigned int\
      \ level,\t struct edge **head_out) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: I
      Src: /src/cairo/src/cairo-mono-scan-converter.c:321,1
    - Dst: I
      Src: /src/cairo/src/cairo-mono-scan-converter.c:353,1
    - Dst: add_span
      Src: /src/cairo/src/cairo-mono-scan-converter.c:354,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 41
    argCount: 2
    argNames:
    - c
    - mask
    argTypes:
    - struct mono_scan_converter*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 362
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 362
    functionName: row
    functionSourceFile: /src/cairo/src/cairo-mono-scan-converter.c
    functionUses: []
    functionsReached:
    - I
    - add_span
    linkageType: ''
    returnType: void
    signature: 'inline static void row (struct mono_scan_converter *c, unsigned int
      mask) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polygon_add_edge
      Src: /src/cairo/src/cairo-mono-scan-converter.c:435,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - c
    - edge
    argTypes:
    - struct mono_scan_converter*
    - cairo_edge_t*
    constantsTouched: []
    func_position:
      end: 436
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 436
    functionName: mono_scan_converter_add_edge
    functionSourceFile: /src/cairo/src/cairo-mono-scan-converter.c
    functionUses: []
    functionsReached:
    - polygon_add_edge
    linkageType: ''
    returnType: void
    signature: "static void mono_scan_converter_add_edge (struct mono_scan_converter\
      \ *c,\t\t\t const cairo_edge_t *edge) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sort_edges
      Src: /src/cairo/src/cairo-mono-scan-converter.c:275,1
    - Dst: merge_sorted_edges
      Src: /src/cairo/src/cairo-mono-scan-converter.c:276,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 277
    functionName: merge_unsorted_edges
    functionSourceFile: /src/cairo/src/cairo-mono-scan-converter.c
    functionUses: []
    functionsReached:
    - merge_sorted_edges
    - sort_edges
    linkageType: ''
    returnType: struct edge*
    signature: 'static struct edge *merge_unsorted_edges (struct edge *head, struct
      edge *unsorted) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: polygon_init
      Src: /src/cairo/src/cairo-mono-scan-converter.c:372,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-mono-scan-converter.c:380,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-mono-scan-converter.c:377,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-mono-scan-converter.c:373,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-mono-scan-converter.c:378,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-mono-scan-converter.c:381,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-mono-scan-converter.c:393,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-mono-scan-converter.c:393,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-mono-scan-converter.c:398,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-mono-scan-converter.c:398,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 5
    argNames:
    - c
    - xmin
    - ymin
    - xmax
    - ymax
    argTypes:
    - struct mono_scan_converter*
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 404
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 404
    functionName: _mono_scan_converter_init
    functionSourceFile: /src/cairo/src/cairo-mono-scan-converter.c
    functionUses: []
    functionsReached:
    - polygon_init
    - _cairo_fixed_integer_part
    - _cairo_error
    - _cairo_fixed_from_int
    - ARRAY_LENGTH
    - _cairo_malloc_ab
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _mono_scan_converter_init(struct mono_scan_converter\
      \ *c,\t\t\t int xmin, int ymin,\t\t\t int xmax, int ymax) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - c
    - count
    argTypes:
    - struct mono_scan_converter*
    - int
    constantsTouched: []
    func_position:
      end: 450
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 450
    functionName: step_edges
    functionSourceFile: /src/cairo/src/cairo-mono-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void step_edges (struct mono_scan_converter *c, int count) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-mono-scan-converter.c:564,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-mono-scan-converter.c:566,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-mono-scan-converter.c:575,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-mono-scan-converter.c:565,1
    - Dst: _mono_scan_converter_init
      Src: /src/cairo/src/cairo-mono-scan-converter.c:573,1
    - Dst: _cairo_scan_converter_create_in_error
      Src: /src/cairo/src/cairo-mono-scan-converter.c:585,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 586
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 586
    functionName: _cairo_mono_scan_converter_create
    functionSourceFile: /src/cairo/src/cairo-mono-scan-converter.c
    functionUses: []
    functionsReached:
    - _cairo_scan_converter_create_in_error
    - _cairo_error
    - _mono_scan_converter_init
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_scan_converter_t*
    signature: "cairo_scan_converter_t *_cairo_mono_scan_converter_create (int\t\t\
      \txmin,\t\t\t\t int\t\t\tymin,\t\t\t\t int\t\t\txmax,\t\t\t\t int\t\t\tymax,\t\
      \t\t\t cairo_fill_rule_t\tfill_rule) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: I
      Src: /src/cairo/src/cairo-mono-scan-converter.c:156,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-mono-scan-converter.c:157,1
    - Dst: MIN
      Src: /src/cairo/src/cairo-mono-scan-converter.c:160,1
    - Dst: I
      Src: /src/cairo/src/cairo-mono-scan-converter.c:159,1
    - Dst: floored_muldivrem
      Src: /src/cairo/src/cairo-mono-scan-converter.c:181,1
    - Dst: floored_muldivrem
      Src: /src/cairo/src/cairo-mono-scan-converter.c:184,1
    - Dst: _polygon_insert_edge_into_its_y_bucket
      Src: /src/cairo/src/cairo-mono-scan-converter.c:190,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 2
    argNames:
    - polygon
    - edge
    argTypes:
    - struct polygon*
    - cairo_edge_t*
    constantsTouched: []
    func_position:
      end: 191
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 191
    functionName: polygon_add_edge
    functionSourceFile: /src/cairo/src/cairo-mono-scan-converter.c
    functionUses: []
    functionsReached:
    - MIN
    - MAX
    - I
    - _polygon_insert_edge_into_its_y_bucket
    - floored_muldivrem
    linkageType: ''
    returnType: void
    signature: "inline static void polygon_add_edge (struct polygon *polygon,\t\t\
      \ const cairo_edge_t *edge) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-mono-scan-converter.c:126,1
    - Dst: free
      Src: /src/cairo/src/cairo-mono-scan-converter.c:129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - struct polygon*
    constantsTouched: []
    func_position:
      end: 130
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 130
    functionName: polygon_fini
    functionSourceFile: /src/cairo/src/cairo-mono-scan-converter.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'static void polygon_fini (struct polygon *polygon) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 3
    argNames:
    - polygon
    - e
    - y
    argTypes:
    - struct polygon*
    - struct edge*
    - int
    constantsTouched: []
    func_position:
      end: 143
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 143
    functionName: _polygon_insert_edge_into_its_y_bucket
    functionSourceFile: /src/cairo/src/cairo-mono-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void _polygon_insert_edge_into_its_y_bucket(struct polygon\
      \ *polygon,\t\t\t\t struct edge *e,\t\t\t\t int y) "
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 235
    functionName: merge_sorted_edges
    functionSourceFile: /src/cairo/src/cairo-mono-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: struct edge*
    signature: 'static struct edge *merge_sorted_edges (struct edge *head_a, struct
      edge *head_b) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-slope.c:61,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-slope.c:62,1
    - Dst: _cairo_int64_cmp
      Src: /src/cairo/src/cairo-slope.c:65,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_slope_t*
    - cairo_slope_t*
    constantsTouched: []
    func_position:
      end: 98
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 98
    functionName: _cairo_slope_compare
    functionSourceFile: /src/cairo/src/cairo-slope.c
    functionUses: []
    functionsReached:
    - _cairo_int64_cmp
    - _cairo_int32x32_64_mul
    linkageType: ''
    returnType: int
    signature: 'int _cairo_slope_compare (const cairo_slope_t *a, const cairo_slope_t
      *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: (void)
    functionSourceFile: /src/cairo/src/cairoint.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: _cairo_is_little_endian
    signature: '_cairo_is_little_endian (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: cpu_to_be16
    functionSourceFile: /src/cairo/src/cairoint.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: 'static inline uint16_t cairo_const cpu_to_be16(uint16_t v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_rectangle_int_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 331
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 331
    functionName: _cairo_rectangle_contains_rectangle
    functionSourceFile: /src/cairo/src/cairoint.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static inline cairo_bool_t _cairo_rectangle_contains_rectangle (const\
      \ cairo_rectangle_int_t *a,\t\t\t\t const cairo_rectangle_int_t *b) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpu_to_be16
      Src: /src/cairo/src/cairoint.h:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 220
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 220
    functionName: be16_to_cpu
    functionSourceFile: /src/cairo/src/cairoint.h
    functionUses: []
    functionsReached:
    - cpu_to_be16
    linkageType: ''
    returnType: uint16_t
    signature: 'static inline uint16_t cairo_const be16_to_cpu(uint16_t v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - rect
    argTypes:
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 307
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 307
    functionName: _cairo_unbounded_rectangle_init
    functionSourceFile: /src/cairo/src/cairoint.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void _cairo_unbounded_rectangle_init (cairo_rectangle_int_t
      *rect) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - cairo_rectangle_int_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 321
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 321
    functionName: _cairo_rectangle_intersects
    functionSourceFile: /src/cairo/src/cairoint.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static inline cairo_bool_t _cairo_rectangle_intersects (const cairo_rectangle_int_t\
      \ *dst,\t\t\t const cairo_rectangle_int_t *src) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: get_unaligned_be16
    functionSourceFile: /src/cairo/src/cairoint.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: 'static inline uint16_t get_unaligned_be16 (const unsigned char *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - p
    argTypes:
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: get_unaligned_be32
    functionSourceFile: /src/cairo/src/cairoint.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'static inline uint32_t get_unaligned_be32 (const unsigned char *p) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - value
    - min
    - max
    argTypes:
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 757
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 757
    functionName: _cairo_restrict_value
    functionSourceFile: /src/cairo/src/cairoint.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: 'static inline double cairo_const _cairo_restrict_value (double value,
      double min, double max) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - v
    - p
    argTypes:
    - uint16_t
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: put_unaligned_be16
    functionSourceFile: /src/cairo/src/cairoint.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void put_unaligned_be16 (uint16_t v, unsigned char *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_round
      Src: /src/cairo/src/cairoint.h:775,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 776
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 776
    functionName: _cairo_lround
    functionSourceFile: /src/cairo/src/cairoint.h
    functionUses: []
    functionsReached:
    - _cairo_round
    linkageType: ''
    returnType: int
    signature: 'static inline int cairo_const _cairo_lround (double r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 1
    argCount: 5
    argNames:
    - a
    - b
    - c
    - d
    - box
    argTypes:
    - cairo_point_t*
    - cairo_point_t*
    - cairo_point_t*
    - cairo_point_t*
    - cairo_box_t*
    constantsTouched: []
    func_position:
      end: 359
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 359
    functionName: _cairo_spline_intersects
    functionSourceFile: /src/cairo/src/cairoint.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_private
    signature: "cairo_private cairo_bool_t _cairo_spline_intersects (const cairo_point_t\
      \ *a,\t\t\t const cairo_point_t *b,\t\t\t const cairo_point_t *c,\t\t\t const\
      \ cairo_point_t *d,\t\t\t const cairo_box_t *box) cairo_pure ;typedef struct "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - cairo_polygon_t*
    constantsTouched: []
    func_position:
      end: 1754
      start: 1748
    functionDepth: 0
    functionLinenumber: 1748
    functionLinenumberEnd: 1754
    functionName: _cairo_polygon_is_empty
    functionSourceFile: /src/cairo/src/cairoint.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static inline cairo_bool_t _cairo_polygon_is_empty (const cairo_polygon_t
      *polygon) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpu_to_be32
      Src: /src/cairo/src/cairoint.h:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 232
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 232
    functionName: be32_to_cpu
    functionSourceFile: /src/cairo/src/cairoint.h
    functionUses: []
    functionsReached:
    - cpu_to_be32
    linkageType: ''
    returnType: uint32_t
    signature: 'static inline uint32_t cairo_const be32_to_cpu(uint32_t v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_popcount
      Src: /src/cairo/src/cairoint.h:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - mask
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: _cairo_popcount
    functionSourceFile: /src/cairo/src/cairoint.h
    functionUses: []
    functionsReached:
    - __builtin_popcount
    linkageType: ''
    returnType: int
    signature: 'static inline int cairo_const _cairo_popcount (uint32_t mask) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - v
    - p
    argTypes:
    - uint32_t
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 261
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 261
    functionName: put_unaligned_be32
    functionSourceFile: /src/cairo/src/cairoint.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void put_unaligned_be32 (uint32_t v, unsigned char *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - matrix
    argTypes:
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 1812
      start: 1806
    functionDepth: 0
    functionLinenumber: 1806
    functionLinenumberEnd: 1812
    functionName: _cairo_matrix_is_identity
    functionSourceFile: /src/cairo/src/cairoint.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static inline cairo_bool_t _cairo_matrix_is_identity (const cairo_matrix_t
      *matrix) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/cairo/src/cairoint.h:765,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 766
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 766
    functionName: _cairo_round
    functionSourceFile: /src/cairo/src/cairoint.h
    functionUses: []
    functionsReached:
    - floor
    linkageType: ''
    returnType: double
    signature: 'static inline double cairo_const _cairo_round (double r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - matrix
    argTypes:
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 1825
      start: 1821
    functionDepth: 0
    functionLinenumber: 1821
    functionLinenumberEnd: 1825
    functionName: _cairo_matrix_is_scale
    functionSourceFile: /src/cairo/src/cairoint.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static inline cairo_bool_t _cairo_matrix_is_scale (const cairo_matrix_t
      *matrix) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: cpu_to_be32
    functionSourceFile: /src/cairo/src/cairoint.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'static inline uint32_t cairo_const cpu_to_be32(uint32_t v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - matrix
    argTypes:
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 1819
      start: 1814
    functionDepth: 0
    functionLinenumber: 1814
    functionLinenumberEnd: 1819
    functionName: _cairo_matrix_is_translation
    functionSourceFile: /src/cairo/src/cairoint.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static inline cairo_bool_t _cairo_matrix_is_translation (const cairo_matrix_t
      *matrix) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-line.c:70,1
    - Dst: _cairo_int64_cmp
      Src: /src/cairo/src/cairo-line.c:73,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-line.c:71,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 3
    argNames:
    - a
    - y
    - x
    argTypes:
    - cairo_line_t*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 74
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 74
    functionName: line_compare_for_y_against_x
    functionSourceFile: /src/cairo/src/cairo-line.c
    functionUses: []
    functionsReached:
    - _cairo_int64_cmp
    - _cairo_int32x32_64_mul
    linkageType: ''
    returnType: int
    signature: "static int line_compare_for_y_against_x (const cairo_line_t *a,\t\t\
      \t int32_t y,\t\t\t int32_t x) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: lines_compare_x_for_y_general
      Src: /src/cairo/src/cairo-line.c:239,1
    - Dst: line_compare_for_y_against_x
      Src: /src/cairo/src/cairo-line.c:241,1
    - Dst: line_compare_for_y_against_x
      Src: /src/cairo/src/cairo-line.c:243,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 3
    argNames:
    - a
    - b
    - y
    argTypes:
    - cairo_line_t*
    - cairo_line_t*
    - int32_t
    constantsTouched: []
    func_position:
      end: 247
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 247
    functionName: lines_compare_x_for_y
    functionSourceFile: /src/cairo/src/cairo-line.c
    functionUses: []
    functionsReached:
    - line_compare_for_y_against_x
    - lines_compare_x_for_y_general
    linkageType: ''
    returnType: int
    signature: "static int lines_compare_x_for_y (const cairo_line_t *a,\t\t const\
      \ cairo_line_t *b,\t\t int32_t y) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cairo_lines_equal
      Src: /src/cairo/src/cairo-line.c:288,1
    - Dst: _cairo_slope_init
      Src: /src/cairo/src/cairo-line.c:303,1
    - Dst: bbox_compare
      Src: /src/cairo/src/cairo-line.c:294,1
    - Dst: _cairo_slope_init
      Src: /src/cairo/src/cairo-line.c:302,1
    - Dst: lines_compare_x_for_y
      Src: /src/cairo/src/cairo-line.c:298,1
    - Dst: _cairo_slope_compare
      Src: /src/cairo/src/cairo-line.c:305,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - a
    - b
    - y
    argTypes:
    - cairo_line_t*
    - cairo_line_t*
    - int
    constantsTouched: []
    func_position:
      end: 306
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 306
    functionName: _cairo_lines_compare_at_y
    functionSourceFile: /src/cairo/src/cairo-line.c
    functionUses: []
    functionsReached:
    - lines_compare_x_for_y
    - bbox_compare
    - _cairo_slope_init
    - cairo_lines_equal
    - _cairo_slope_compare
    linkageType: ''
    returnType: int
    signature: "int _cairo_lines_compare_at_y (const cairo_line_t *a,\t\t\t const\
      \ cairo_line_t *b,\t\t\t int y) "
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_line_t*
    - cairo_line_t*
    constantsTouched: []
    func_position:
      end: 278
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 278
    functionName: bbox_compare
    functionSourceFile: /src/cairo/src/cairo-line.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "static int bbox_compare (const cairo_line_t *a,\t\t\t const cairo_line_t\
      \ *b) "
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-line.c:165,1
    - Dst: _cairo_int64_cmp
      Src: /src/cairo/src/cairo-line.c:168,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-line.c:178,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-line.c:166,1
    - Dst: _cairo_int128_cmp
      Src: /src/cairo/src/cairo-line.c:170,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-line.c:179,1
    - Dst: _cairo_int64_cmp
      Src: /src/cairo/src/cairo-line.c:181,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-line.c:190,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-line.c:191,1
    - Dst: _cairo_int64_cmp
      Src: /src/cairo/src/cairo-line.c:193,1
    - Dst: _cairo_int128_cmp
      Src: /src/cairo/src/cairo-line.c:197,1
    - Dst: _cairo_int128_sub
      Src: /src/cairo/src/cairo-line.c:197,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 61
    argCount: 3
    argNames:
    - a
    - b
    - y
    argTypes:
    - cairo_line_t*
    - cairo_line_t*
    - int32_t
    constantsTouched: []
    func_position:
      end: 202
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 202
    functionName: lines_compare_x_for_y_general
    functionSourceFile: /src/cairo/src/cairo-line.c
    functionUses: []
    functionsReached:
    - _cairo_int128_cmp
    - _cairo_int64_cmp
    - _cairo_int32x32_64_mul
    - _cairo_int128_sub
    linkageType: ''
    returnType: int
    signature: "static int lines_compare_x_for_y_general (const cairo_line_t *a,\t\
      \t\t const cairo_line_t *b,\t\t\t int32_t y) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: _cairo_color_double_to_short
    functionSourceFile: /src/cairo/src/cairo-color.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: 'uint16_t _cairo_color_double_to_short (double d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_color_compute_shorts
      Src: /src/cairo/src/cairo-color.c:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - color
    - red
    - green
    - blue
    - alpha
    argTypes:
    - cairo_color_t*
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 109
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 109
    functionName: _cairo_color_init_rgba
    functionSourceFile: /src/cairo/src/cairo-color.c
    functionUses: []
    functionsReached:
    - _cairo_color_compute_shorts
    linkageType: ''
    returnType: void
    signature: "void _cairo_color_init_rgba (cairo_color_t *color,\t\t\tdouble red,\
      \ double green, double blue,\t\t\tdouble alpha) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 5
    argNames:
    - color
    - red
    - green
    - blue
    - alpha
    argTypes:
    - cairo_color_t*
    - double*
    - double*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 131
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 131
    functionName: _cairo_color_get_rgba
    functionSourceFile: /src/cairo/src/cairo-color.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _cairo_color_get_rgba (cairo_color_t *color,\t\t double\t *red,\t\
      \t double\t *green,\t\t double\t *blue,\t\t double\t *alpha) "
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - color_a
    - color_b
    argTypes:
    - cairo_color_t*
    - cairo_color_t*
    constantsTouched: []
    func_position:
      end: 163
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 163
    functionName: _cairo_color_equal
    functionSourceFile: /src/cairo/src/cairo-color.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t _cairo_color_equal (const cairo_color_t *color_a,\t const\
      \ cairo_color_t *color_b) "
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 77
    functionName: _cairo_stock_color
    functionSourceFile: /src/cairo/src/cairo-color.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_color_t*
    signature: 'const cairo_color_t *_cairo_stock_color (cairo_stock_t stock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_color_double_to_short
      Src: /src/cairo/src/cairo-color.c:92,1
    - Dst: _cairo_color_double_to_short
      Src: /src/cairo/src/cairo-color.c:94,1
    - Dst: _cairo_color_double_to_short
      Src: /src/cairo/src/cairo-color.c:93,1
    - Dst: _cairo_color_double_to_short
      Src: /src/cairo/src/cairo-color.c:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - color
    argTypes:
    - cairo_color_t*
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: _cairo_color_compute_shorts
    functionSourceFile: /src/cairo/src/cairo-color.c
    functionUses: []
    functionsReached:
    - _cairo_color_double_to_short
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_color_compute_shorts (cairo_color_t *color) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_color_compute_shorts
      Src: /src/cairo/src/cairo-color.c:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - color
    - alpha
    argTypes:
    - cairo_color_t*
    - double
    constantsTouched: []
    func_position:
      end: 118
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 118
    functionName: _cairo_color_multiply_alpha
    functionSourceFile: /src/cairo/src/cairo-color.c
    functionUses: []
    functionsReached:
    - _cairo_color_compute_shorts
    linkageType: ''
    returnType: void
    signature: "void _cairo_color_multiply_alpha (cairo_color_t *color,\t\t\t double\t\
      \ alpha) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 5
    argNames:
    - color
    - red
    - green
    - blue
    - alpha
    argTypes:
    - cairo_color_t*
    - double*
    - double*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 144
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 144
    functionName: _cairo_color_get_rgba_premultiplied
    functionSourceFile: /src/cairo/src/cairo-color.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _cairo_color_get_rgba_premultiplied (cairo_color_t *color,\t\t\
      \t\t double\t *red,\t\t\t\t double\t *green,\t\t\t\t double\t *blue,\t\t\t\t\
      \ double\t *alpha) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - color_a
    - color_b
    argTypes:
    - cairo_color_stop_t*
    - cairo_color_stop_t*
    constantsTouched: []
    func_position:
      end: 176
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 176
    functionName: _cairo_color_stop_equal
    functionSourceFile: /src/cairo/src/cairo-color.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t _cairo_color_stop_equal (const cairo_color_stop_t *color_a,\t\
      \t\t const cairo_color_stop_t *color_b) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_COLOR_IS_OPAQUE
      Src: /src/cairo/src/cairo-color.c:181,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - color
    argTypes:
    - cairo_color_t*
    constantsTouched: []
    func_position:
      end: 192
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 192
    functionName: _cairo_color_get_content
    functionSourceFile: /src/cairo/src/cairo-color.c
    functionUses: []
    functionsReached:
    - CAIRO_COLOR_IS_OPAQUE
    linkageType: ''
    returnType: cairo_content_t
    signature: 'cairo_content_t _cairo_color_get_content (const cairo_color_t *color) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-connection-render.c:132,1
    - Dst: xcb_render_free_glyph_set
      Src: /src/cairo/src/cairo-xcb-connection-render.c:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - connection
    - glyphset
    argTypes:
    - cairo_xcb_connection_t*
    - xcb_render_glyphset_t
    constantsTouched: []
    func_position:
      end: 134
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 134
    functionName: _cairo_xcb_connection_render_free_glyph_set
    functionSourceFile: /src/cairo/src/cairo-xcb-connection-render.c
    functionUses: []
    functionsReached:
    - xcb_render_free_glyph_set
    - assert
    linkageType: ''
    returnType: void
    signature: "void _cairo_xcb_connection_render_free_glyph_set (cairo_xcb_connection_t\
      \ *connection,\t\t\t\t\t xcb_render_glyphset_t glyphset) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-connection-render.c:156,1
    - Dst: xcb_render_free_glyphs
      Src: /src/cairo/src/cairo-xcb-connection-render.c:157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - connection
    - glyphset
    - num_glyphs
    - glyphs
    argTypes:
    - cairo_xcb_connection_t*
    - xcb_render_glyphset_t
    - uint32_t
    - xcb_render_glyph_t*
    constantsTouched: []
    func_position:
      end: 158
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 158
    functionName: _cairo_xcb_connection_render_free_glyphs
    functionSourceFile: /src/cairo/src/cairo-xcb-connection-render.c
    functionUses: []
    functionsReached:
    - xcb_render_free_glyphs
    - assert
    linkageType: ''
    returnType: void
    signature: "void _cairo_xcb_connection_render_free_glyphs (cairo_xcb_connection_t\
      \ *connection,\t\t\t\t\t xcb_render_glyphset_t glyphset,\t\t\t\t\t uint32_t\
      \ num_glyphs,\t\t\t\t\t xcb_render_glyph_t *glyphs) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-connection-render.c:145,1
    - Dst: xcb_render_add_glyphs
      Src: /src/cairo/src/cairo-xcb-connection-render.c:146,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 7
    argNames:
    - connection
    - glyphset
    - num_glyphs
    - glyphs_id
    - glyphs
    - data_len
    - data
    argTypes:
    - cairo_xcb_connection_t*
    - xcb_render_glyphset_t
    - uint32_t
    - uint32_t*
    - xcb_render_glyphinfo_t*
    - uint32_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 148
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 148
    functionName: _cairo_xcb_connection_render_add_glyphs
    functionSourceFile: /src/cairo/src/cairo-xcb-connection-render.c
    functionUses: []
    functionsReached:
    - xcb_render_add_glyphs
    - assert
    linkageType: ''
    returnType: void
    signature: "void _cairo_xcb_connection_render_add_glyphs (cairo_xcb_connection_t\
      \ *connection,\t\t\t\t\t xcb_render_glyphset_t glyphset,\t\t\t\t\t uint32_t\
      \ num_glyphs,\t\t\t\t\t uint32_t *glyphs_id,\t\t\t\t\t xcb_render_glyphinfo_t\
      \ *glyphs,\t\t\t\t\t uint32_t data_len,\t\t\t\t\t uint8_t *data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-connection-render.c:172,1
    - Dst: xcb_render_composite_glyphs_8
      Src: /src/cairo/src/cairo-xcb-connection-render.c:173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 10
    argNames:
    - connection
    - op
    - src
    - dst
    - mask_format
    - glyphset
    - src_x
    - src_y
    - glyphcmds_len
    - glyphcmds
    argTypes:
    - cairo_xcb_connection_t*
    - uint8_t
    - xcb_render_picture_t
    - xcb_render_picture_t
    - xcb_render_pictformat_t
    - xcb_render_glyphset_t
    - int16_t
    - int16_t
    - uint32_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 175
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 175
    functionName: _cairo_xcb_connection_render_composite_glyphs_8
    functionSourceFile: /src/cairo/src/cairo-xcb-connection-render.c
    functionUses: []
    functionsReached:
    - xcb_render_composite_glyphs_8
    - assert
    linkageType: ''
    returnType: void
    signature: "void _cairo_xcb_connection_render_composite_glyphs_8 (cairo_xcb_connection_t\
      \ *connection,\t\t\t\t\t\t uint8_t op,\t\t\t\t\t\t xcb_render_picture_t src,\t\
      \t\t\t\t\t xcb_render_picture_t dst,\t\t\t\t\t\t xcb_render_pictformat_t mask_format,\t\
      \t\t\t\t\t xcb_render_glyphset_t glyphset,\t\t\t\t\t\t int16_t src_x,\t\t\t\t\
      \t\t int16_t src_y,\t\t\t\t\t\t uint32_t glyphcmds_len,\t\t\t\t\t\t uint8_t\
      \ *glyphcmds) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-connection-render.c:293,1
    - Dst: xcb_render_create_conical_gradient
      Src: /src/cairo/src/cairo-xcb-connection-render.c:294,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 7
    argNames:
    - connection
    - picture
    - center
    - angle
    - num_stops
    - stops
    - colors
    argTypes:
    - cairo_xcb_connection_t*
    - xcb_render_picture_t
    - xcb_render_pointfix_t
    - xcb_render_fixed_t
    - uint32_t
    - xcb_render_fixed_t*
    - xcb_render_color_t*
    constantsTouched: []
    func_position:
      end: 296
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 296
    functionName: _cairo_xcb_connection_render_create_conical_gradient
    functionSourceFile: /src/cairo/src/cairo-xcb-connection-render.c
    functionUses: []
    functionsReached:
    - xcb_render_create_conical_gradient
    - assert
    linkageType: ''
    returnType: void
    signature: "void _cairo_xcb_connection_render_create_conical_gradient (cairo_xcb_connection_t\
      \ *connection,\t\t\t\t\t\t xcb_render_picture_t picture,\t\t\t\t\t\t xcb_render_pointfix_t\
      \ center,\t\t\t\t\t\t xcb_render_fixed_t angle,\t\t\t\t\t\t uint32_t num_stops,\t\
      \t\t\t\t\t xcb_render_fixed_t *stops,\t\t\t\t\t\t xcb_render_color_t *colors) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-connection-render.c:262,1
    - Dst: xcb_render_create_linear_gradient
      Src: /src/cairo/src/cairo-xcb-connection-render.c:263,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 7
    argNames:
    - connection
    - picture
    - p1
    - p2
    - num_stops
    - stops
    - colors
    argTypes:
    - cairo_xcb_connection_t*
    - xcb_render_picture_t
    - xcb_render_pointfix_t
    - xcb_render_pointfix_t
    - uint32_t
    - xcb_render_fixed_t*
    - xcb_render_color_t*
    constantsTouched: []
    func_position:
      end: 265
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 265
    functionName: _cairo_xcb_connection_render_create_linear_gradient
    functionSourceFile: /src/cairo/src/cairo-xcb-connection-render.c
    functionUses: []
    functionsReached:
    - xcb_render_create_linear_gradient
    - assert
    linkageType: ''
    returnType: void
    signature: "void _cairo_xcb_connection_render_create_linear_gradient (cairo_xcb_connection_t\
      \ *connection,\t\t\t\t\t\t xcb_render_picture_t picture,\t\t\t\t\t\t xcb_render_pointfix_t\
      \ p1,\t\t\t\t\t\t xcb_render_pointfix_t p2,\t\t\t\t\t\t uint32_t num_stops,\t\
      \t\t\t\t\t xcb_render_fixed_t *stops,\t\t\t\t\t\t xcb_render_color_t *colors) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-connection-render.c:278,1
    - Dst: xcb_render_create_radial_gradient
      Src: /src/cairo/src/cairo-xcb-connection-render.c:279,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 9
    argNames:
    - connection
    - picture
    - inner
    - outer
    - inner_radius
    - outer_radius
    - num_stops
    - stops
    - colors
    argTypes:
    - cairo_xcb_connection_t*
    - xcb_render_picture_t
    - xcb_render_pointfix_t
    - xcb_render_pointfix_t
    - xcb_render_fixed_t
    - xcb_render_fixed_t
    - uint32_t
    - xcb_render_fixed_t*
    - xcb_render_color_t*
    constantsTouched: []
    func_position:
      end: 282
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 282
    functionName: _cairo_xcb_connection_render_create_radial_gradient
    functionSourceFile: /src/cairo/src/cairo-xcb-connection-render.c
    functionUses: []
    functionsReached:
    - xcb_render_create_radial_gradient
    - assert
    linkageType: ''
    returnType: void
    signature: "void _cairo_xcb_connection_render_create_radial_gradient (cairo_xcb_connection_t\
      \ *connection,\t\t\t\t\t\t xcb_render_picture_t picture,\t\t\t\t\t\t xcb_render_pointfix_t\
      \ inner,\t\t\t\t\t\t xcb_render_pointfix_t outer,\t\t\t\t\t\t xcb_render_fixed_t\
      \ inner_radius,\t\t\t\t\t\t xcb_render_fixed_t outer_radius,\t\t\t\t\t\t uint32_t\
      \ num_stops,\t\t\t\t\t\t xcb_render_fixed_t *stops,\t\t\t\t\t\t xcb_render_color_t\
      \ *colors) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-connection-render.c:56,1
    - Dst: xcb_render_change_picture
      Src: /src/cairo/src/cairo-xcb-connection-render.c:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - connection
    - picture
    - value_mask
    - value_list
    argTypes:
    - cairo_xcb_connection_t*
    - xcb_render_picture_t
    - uint32_t
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 59
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 59
    functionName: _cairo_xcb_connection_render_change_picture
    functionSourceFile: /src/cairo/src/cairo-xcb-connection-render.c
    functionUses: []
    functionsReached:
    - xcb_render_change_picture
    - assert
    linkageType: ''
    returnType: void
    signature: "void _cairo_xcb_connection_render_change_picture (cairo_xcb_connection_t\
      \ *connection,\t\t\t\t\t xcb_render_picture_t picture,\t\t\t\t\t uint32_t value_mask,\t\
      \t\t\t\t uint32_t *value_list) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-connection-render.c:189,1
    - Dst: xcb_render_composite_glyphs_16
      Src: /src/cairo/src/cairo-xcb-connection-render.c:190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 10
    argNames:
    - connection
    - op
    - src
    - dst
    - mask_format
    - glyphset
    - src_x
    - src_y
    - glyphcmds_len
    - glyphcmds
    argTypes:
    - cairo_xcb_connection_t*
    - uint8_t
    - xcb_render_picture_t
    - xcb_render_picture_t
    - xcb_render_pictformat_t
    - xcb_render_glyphset_t
    - int16_t
    - int16_t
    - uint32_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 192
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 192
    functionName: _cairo_xcb_connection_render_composite_glyphs_16
    functionSourceFile: /src/cairo/src/cairo-xcb-connection-render.c
    functionUses: []
    functionsReached:
    - xcb_render_composite_glyphs_16
    - assert
    linkageType: ''
    returnType: void
    signature: "void _cairo_xcb_connection_render_composite_glyphs_16 (cairo_xcb_connection_t\
      \ *connection,\t\t\t\t\t\t uint8_t op,\t\t\t\t\t\t xcb_render_picture_t src,\t\
      \t\t\t\t\t xcb_render_picture_t dst,\t\t\t\t\t\t xcb_render_pictformat_t mask_format,\t\
      \t\t\t\t\t xcb_render_glyphset_t glyphset,\t\t\t\t\t\t int16_t src_x,\t\t\t\t\
      \t\t int16_t src_y,\t\t\t\t\t\t uint32_t glyphcmds_len,\t\t\t\t\t\t uint8_t\
      \ *glyphcmds) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-connection-render.c:45,1
    - Dst: xcb_render_create_picture
      Src: /src/cairo/src/cairo-xcb-connection-render.c:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 6
    argNames:
    - connection
    - picture
    - drawable
    - format
    - value_mask
    - value_list
    argTypes:
    - cairo_xcb_connection_t*
    - xcb_render_picture_t
    - xcb_drawable_t
    - xcb_render_pictformat_t
    - uint32_t
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 48
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 48
    functionName: _cairo_xcb_connection_render_create_picture
    functionSourceFile: /src/cairo/src/cairo-xcb-connection-render.c
    functionUses: []
    functionsReached:
    - xcb_render_create_picture
    - assert
    linkageType: ''
    returnType: void
    signature: "void _cairo_xcb_connection_render_create_picture (cairo_xcb_connection_t\
      \ *connection,\t\t\t\t\t xcb_render_picture_t picture,\t\t\t\t\t xcb_drawable_t\
      \ drawable,\t\t\t\t\t xcb_render_pictformat_t format,\t\t\t\t\t uint32_t value_mask,\t\
      \t\t\t\t uint32_t\t *value_list) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-connection-render.c:69,1
    - Dst: xcb_render_set_picture_clip_rectangles
      Src: /src/cairo/src/cairo-xcb-connection-render.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 6
    argNames:
    - connection
    - picture
    - clip_x_origin
    - clip_y_origin
    - rectangles_len
    - rectangles
    argTypes:
    - cairo_xcb_connection_t*
    - xcb_render_picture_t
    - int16_t
    - int16_t
    - uint32_t
    - xcb_rectangle_t*
    constantsTouched: []
    func_position:
      end: 73
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 73
    functionName: _cairo_xcb_connection_render_set_picture_clip_rectangles
    functionSourceFile: /src/cairo/src/cairo-xcb-connection-render.c
    functionUses: []
    functionsReached:
    - xcb_render_set_picture_clip_rectangles
    - assert
    linkageType: ''
    returnType: void
    signature: "void _cairo_xcb_connection_render_set_picture_clip_rectangles (cairo_xcb_connection_t\
      \ *connection,\t\t\t\t\t\t\t xcb_render_picture_t picture,\t\t\t\t\t\t\t int16_t\
      \ clip_x_origin,\t\t\t\t\t\t\t int16_t clip_y_origin,\t\t\t\t\t\t\t uint32_t\
      \ rectangles_len,\t\t\t\t\t\t\t xcb_rectangle_t *rectangles) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-connection-render.c:206,1
    - Dst: xcb_render_composite_glyphs_32
      Src: /src/cairo/src/cairo-xcb-connection-render.c:207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 10
    argNames:
    - connection
    - op
    - src
    - dst
    - mask_format
    - glyphset
    - src_x
    - src_y
    - glyphcmds_len
    - glyphcmds
    argTypes:
    - cairo_xcb_connection_t*
    - uint8_t
    - xcb_render_picture_t
    - xcb_render_picture_t
    - xcb_render_pictformat_t
    - xcb_render_glyphset_t
    - int16_t
    - int16_t
    - uint32_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 209
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 209
    functionName: _cairo_xcb_connection_render_composite_glyphs_32
    functionSourceFile: /src/cairo/src/cairo-xcb-connection-render.c
    functionUses: []
    functionsReached:
    - xcb_render_composite_glyphs_32
    - assert
    linkageType: ''
    returnType: void
    signature: "void _cairo_xcb_connection_render_composite_glyphs_32 (cairo_xcb_connection_t\
      \ *connection,\t\t\t\t\t\t uint8_t op,\t\t\t\t\t\t xcb_render_picture_t src,\t\
      \t\t\t\t\t xcb_render_picture_t dst,\t\t\t\t\t\t xcb_render_pictformat_t mask_format,\t\
      \t\t\t\t\t xcb_render_glyphset_t glyphset,\t\t\t\t\t\t int16_t src_x,\t\t\t\t\
      \t\t int16_t src_y,\t\t\t\t\t\t uint32_t glyphcmds_len,\t\t\t\t\t\t uint8_t\
      \ *glyphcmds) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-connection-render.c:79,1
    - Dst: xcb_render_free_picture
      Src: /src/cairo/src/cairo-xcb-connection-render.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - connection
    - picture
    argTypes:
    - cairo_xcb_connection_t*
    - xcb_render_picture_t
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: _cairo_xcb_connection_render_free_picture
    functionSourceFile: /src/cairo/src/cairo-xcb-connection-render.c
    functionUses: []
    functionsReached:
    - xcb_render_free_picture
    - assert
    linkageType: ''
    returnType: void
    signature: "void _cairo_xcb_connection_render_free_picture (cairo_xcb_connection_t\
      \ *connection,\t\t\t\t\t xcb_render_picture_t picture) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-connection-render.c:114,1
    - Dst: xcb_render_trapezoids
      Src: /src/cairo/src/cairo-xcb-connection-render.c:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 9
    argNames:
    - connection
    - op
    - src
    - dst
    - mask_format
    - src_x
    - src_y
    - traps_len
    - traps
    argTypes:
    - cairo_xcb_connection_t*
    - uint8_t
    - xcb_render_picture_t
    - xcb_render_picture_t
    - xcb_render_pictformat_t
    - int16_t
    - int16_t
    - uint32_t
    - xcb_render_trapezoid_t*
    constantsTouched: []
    func_position:
      end: 117
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 117
    functionName: _cairo_xcb_connection_render_trapezoids
    functionSourceFile: /src/cairo/src/cairo-xcb-connection-render.c
    functionUses: []
    functionsReached:
    - xcb_render_trapezoids
    - assert
    linkageType: ''
    returnType: void
    signature: "void _cairo_xcb_connection_render_trapezoids (cairo_xcb_connection_t\
      \ *connection,\t\t\t\t\t uint8_t op,\t\t\t\t\t xcb_render_picture_t src,\t\t\
      \t\t\t xcb_render_picture_t dst,\t\t\t\t\t xcb_render_pictformat_t mask_format,\t\
      \t\t\t\t int16_t src_x,\t\t\t\t\t int16_t src_y,\t\t\t\t\t uint32_t traps_len,\t\
      \t\t\t\t xcb_render_trapezoid_t *traps) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-connection-render.c:219,1
    - Dst: xcb_render_fill_rectangles
      Src: /src/cairo/src/cairo-xcb-connection-render.c:220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 6
    argNames:
    - connection
    - op
    - dst
    - color
    - num_rects
    - rects
    argTypes:
    - cairo_xcb_connection_t*
    - uint8_t
    - xcb_render_picture_t
    - xcb_render_color_t
    - uint32_t
    - xcb_rectangle_t*
    constantsTouched: []
    func_position:
      end: 222
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 222
    functionName: _cairo_xcb_connection_render_fill_rectangles
    functionSourceFile: /src/cairo/src/cairo-xcb-connection-render.c
    functionUses: []
    functionsReached:
    - xcb_render_fill_rectangles
    - assert
    linkageType: ''
    returnType: void
    signature: "void _cairo_xcb_connection_render_fill_rectangles (cairo_xcb_connection_t\
      \ *connection,\t\t\t\t\t uint8_t op,\t\t\t\t\t xcb_render_picture_t dst,\t\t\
      \t\t\t xcb_render_color_t color,\t\t\t\t\t uint32_t num_rects,\t\t\t\t\t xcb_rectangle_t\
      \ *rects) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-connection-render.c:239,1
    - Dst: xcb_render_set_picture_filter
      Src: /src/cairo/src/cairo-xcb-connection-render.c:240,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - connection
    - picture
    - filter_len
    - filter
    argTypes:
    - cairo_xcb_connection_t*
    - xcb_render_picture_t
    - uint16_t
    - char*
    constantsTouched: []
    func_position:
      end: 242
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 242
    functionName: _cairo_xcb_connection_render_set_picture_filter
    functionSourceFile: /src/cairo/src/cairo-xcb-connection-render.c
    functionUses: []
    functionsReached:
    - xcb_render_set_picture_filter
    - assert
    linkageType: ''
    returnType: void
    signature: "void _cairo_xcb_connection_render_set_picture_filter (cairo_xcb_connection_t\
      \ *connection,\t\t\t\t\t\t xcb_render_picture_t picture,\t\t\t\t\t\t uint16_t\
      \ filter_len,\t\t\t\t\t\t char *filter) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-connection-render.c:98,1
    - Dst: xcb_render_composite
      Src: /src/cairo/src/cairo-xcb-connection-render.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 13
    argNames:
    - connection
    - op
    - src
    - mask
    - dst
    - src_x
    - src_y
    - mask_x
    - mask_y
    - dst_x
    - dst_y
    - width
    - height
    argTypes:
    - cairo_xcb_connection_t*
    - uint8_t
    - xcb_render_picture_t
    - xcb_render_picture_t
    - xcb_render_picture_t
    - int16_t
    - int16_t
    - int16_t
    - int16_t
    - int16_t
    - int16_t
    - uint16_t
    - uint16_t
    constantsTouched: []
    func_position:
      end: 101
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 101
    functionName: _cairo_xcb_connection_render_composite
    functionSourceFile: /src/cairo/src/cairo-xcb-connection-render.c
    functionUses: []
    functionsReached:
    - xcb_render_composite
    - assert
    linkageType: ''
    returnType: void
    signature: "void _cairo_xcb_connection_render_composite (cairo_xcb_connection_t\
      \ *connection,\t\t\t\t\tuint8_t op,\t\t\t\t\txcb_render_picture_t src,\t\t\t\
      \t\txcb_render_picture_t mask,\t\t\t\t\txcb_render_picture_t dst,\t\t\t\t\t\
      int16_t src_x,\t\t\t\t\tint16_t src_y,\t\t\t\t\tint16_t mask_x,\t\t\t\t\tint16_t\
      \ mask_y,\t\t\t\t\tint16_t dst_x,\t\t\t\t\tint16_t dst_y,\t\t\t\t\tuint16_t\
      \ width,\t\t\t\t\tuint16_t height) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-connection-render.c:124,1
    - Dst: xcb_render_create_glyph_set
      Src: /src/cairo/src/cairo-xcb-connection-render.c:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - connection
    - id
    - format
    argTypes:
    - cairo_xcb_connection_t*
    - xcb_render_glyphset_t
    - xcb_render_pictformat_t
    constantsTouched: []
    func_position:
      end: 126
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 126
    functionName: _cairo_xcb_connection_render_create_glyph_set
    functionSourceFile: /src/cairo/src/cairo-xcb-connection-render.c
    functionUses: []
    functionsReached:
    - xcb_render_create_glyph_set
    - assert
    linkageType: ''
    returnType: void
    signature: "void _cairo_xcb_connection_render_create_glyph_set (cairo_xcb_connection_t\t\
      *connection,\t\t\t\t\t xcb_render_glyphset_t\t id,\t\t\t\t\t xcb_render_pictformat_t\
      \ format) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-connection-render.c:229,1
    - Dst: xcb_render_set_picture_transform
      Src: /src/cairo/src/cairo-xcb-connection-render.c:230,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - connection
    - picture
    - transform
    argTypes:
    - cairo_xcb_connection_t*
    - xcb_render_picture_t
    - xcb_render_transform_t*
    constantsTouched: []
    func_position:
      end: 231
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 231
    functionName: _cairo_xcb_connection_render_set_picture_transform
    functionSourceFile: /src/cairo/src/cairo-xcb-connection-render.c
    functionUses: []
    functionsReached:
    - xcb_render_set_picture_transform
    - assert
    linkageType: ''
    returnType: void
    signature: "void _cairo_xcb_connection_render_set_picture_transform (cairo_xcb_connection_t\
      \ *connection,\t\t\t\t\t\t xcb_render_picture_t picture,\t\t\t\t\t\t xcb_render_transform_t\
      \ *transform) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-connection-render.c:249,1
    - Dst: xcb_render_create_solid_fill
      Src: /src/cairo/src/cairo-xcb-connection-render.c:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - connection
    - picture
    - color
    argTypes:
    - cairo_xcb_connection_t*
    - xcb_render_picture_t
    - xcb_render_color_t
    constantsTouched: []
    func_position:
      end: 251
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 251
    functionName: _cairo_xcb_connection_render_create_solid_fill
    functionSourceFile: /src/cairo/src/cairo-xcb-connection-render.c
    functionUses: []
    functionsReached:
    - xcb_render_create_solid_fill
    - assert
    linkageType: ''
    returnType: void
    signature: "void _cairo_xcb_connection_render_create_solid_fill (cairo_xcb_connection_t\
      \ *connection,\t\t\t\t\t\txcb_render_picture_t picture,\t\t\t\t\t\txcb_render_color_t\
      \ color) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cairo/src/cairo-font-face-twin.c:220,1
    - Dst: field_matches
      Src: /src/cairo/src/cairo-font-face-twin.c:231,1
    - Dst: strncmp
      Src: /src/cairo/src/cairo-font-face-twin.c:221,1
    - Dst: parse_int
      Src: /src/cairo/src/cairo-font-face-twin.c:240,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 6
    argNames:
    - what
    - map
    - n_elements
    - str
    - len
    - val
    argTypes:
    - char*
    - FieldMap*
    - int
    - char*
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 243
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 243
    functionName: find_field
    functionSourceFile: /src/cairo/src/cairo-font-face-twin.c
    functionUses: []
    functionsReached:
    - strncmp
    - parse_int
    - strlen
    - field_matches
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t find_field (const char *what,\t const FieldMap\
      \ *map,\t int n_elements,\t const char *str,\t int len,\t int *val) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: field_matches
      Src: /src/cairo/src/cairo-font-face-twin.c:250,1
    - Dst: FIELD
      Src: /src/cairo/src/cairo-font-face-twin.c:258,1
    - Dst: FIELD
      Src: /src/cairo/src/cairo-font-face-twin.c:261,1
    - Dst: FIELD
      Src: /src/cairo/src/cairo-font-face-twin.c:259,1
    - Dst: FIELD
      Src: /src/cairo/src/cairo-font-face-twin.c:260,1
    - Dst: FIELD
      Src: /src/cairo/src/cairo-font-face-twin.c:262,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - props
    - str
    - len
    argTypes:
    - twin_face_properties_t*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 265
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 265
    functionName: parse_field
    functionSourceFile: /src/cairo/src/cairo-font-face-twin.c
    functionUses: []
    functionsReached:
    - FIELD
    - field_matches
    linkageType: ''
    returnType: void
    signature: "static void parse_field (twin_face_properties_t *props,\t const char\
      \ *str,\t int len) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TOLOWER
      Src: /src/cairo/src/cairo-font-face-twin.c:171,1
    - Dst: TOLOWER
      Src: /src/cairo/src/cairo-font-face-twin.c:172,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - s1
    - s2
    - len
    argTypes:
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 185
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 185
    functionName: field_matches
    functionSourceFile: /src/cairo/src/cairo-font-face-twin.c
    functionUses: []
    functionsReached:
    - TOLOWER
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t field_matches (const char *s1, const char *s2,
      int len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: twin_font_face_create_properties
      Src: /src/cairo/src/cairo-font-face-twin.c:316,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-font-face-twin.c:318,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-font-face-twin.c:317,1
    - Dst: face_props_parse
      Src: /src/cairo/src/cairo-font-face-twin.c:323,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - twin_face
    - toy_face
    argTypes:
    - cairo_font_face_t*
    - cairo_toy_font_face_t*
    constantsTouched: []
    func_position:
      end: 326
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 326
    functionName: twin_font_face_set_properties_from_toy
    functionSourceFile: /src/cairo/src/cairo-font-face-twin.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - face_props_parse
    - twin_font_face_create_properties
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t twin_font_face_set_properties_from_toy (cairo_font_face_t\
      \ *twin_face,\t\t\t\t\tcairo_toy_font_face_t *toy_face) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/cairo/src/cairo-font-face-twin.c:193,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - word
    - wordlen
    - out
    argTypes:
    - char*
    - size_t
    - int*
    constantsTouched: []
    func_position:
      end: 205
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 205
    functionName: parse_int
    functionSourceFile: /src/cairo/src/cairo-font-face-twin.c
    functionUses: []
    functionsReached:
    - strtol
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t parse_int (const char *word,\t size_t wordlen,\t\
      \ int *out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_user_to_device_distance
      Src: /src/cairo/src/cairo-font-face-twin.c:350,1
    - Dst: sqrt
      Src: /src/cairo/src/cairo-font-face-twin.c:351,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - cr
    - x
    - y
    - scale
    - inv
    argTypes:
    - cairo_t*
    - double
    - double
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 353
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 353
    functionName: compute_hinting_scale
    functionSourceFile: /src/cairo/src/cairo-font-face-twin.c
    functionUses: []
    functionsReached:
    - sqrt
    - cairo_user_to_device_distance
    linkageType: ''
    returnType: void
    signature: "static void compute_hinting_scale (cairo_t *cr,\t\t double x, double\
      \ y,\t\t double *scale, double *inv) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compute_hinting_scales
      Src: /src/cairo/src/cairo-font-face-twin.c:502,1
    - Dst: SNAPXI
      Src: /src/cairo/src/cairo-font-face-twin.c:512,1
    - Dst: assert
      Src: /src/cairo/src/cairo-font-face-twin.c:509,1
    - Dst: twin_glyph_snap_x
      Src: /src/cairo/src/cairo-font-face-twin.c:506,1
    - Dst: twin_glyph_n_snap_x
      Src: /src/cairo/src/cairo-font-face-twin.c:507,1
    - Dst: F
      Src: /src/cairo/src/cairo-font-face-twin.c:512,1
    - Dst: twin_glyph_snap_y
      Src: /src/cairo/src/cairo-font-face-twin.c:515,1
    - Dst: twin_glyph_n_snap_y
      Src: /src/cairo/src/cairo-font-face-twin.c:516,1
    - Dst: assert
      Src: /src/cairo/src/cairo-font-face-twin.c:518,1
    - Dst: SNAPYI
      Src: /src/cairo/src/cairo-font-face-twin.c:521,1
    - Dst: F
      Src: /src/cairo/src/cairo-font-face-twin.c:521,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 3
    argNames:
    - cr
    - info
    - b
    argTypes:
    - cairo_t*
    - twin_snap_info_t*
    - signed char*
    constantsTouched: []
    func_position:
      end: 523
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 523
    functionName: twin_compute_snap
    functionSourceFile: /src/cairo/src/cairo-font-face-twin.c
    functionUses: []
    functionsReached:
    - twin_glyph_n_snap_x
    - twin_glyph_snap_y
    - F
    - assert
    - compute_hinting_scales
    - SNAPYI
    - SNAPXI
    - twin_glyph_n_snap_y
    - twin_glyph_snap_x
    linkageType: ''
    returnType: void
    signature: "static void twin_compute_snap (cairo_t *cr,\t\t twin_snap_info_t *info,\t\
      \t const signed char *b) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_user_font_face_create
      Src: /src/cairo/src/cairo-font-face-twin.c:712,1
    - Dst: cairo_user_font_face_set_init_func
      Src: /src/cairo/src/cairo-font-face-twin.c:713,1
    - Dst: cairo_user_font_face_set_unicode_to_glyph_func
      Src: /src/cairo/src/cairo-font-face-twin.c:715,1
    - Dst: cairo_user_font_face_set_render_glyph_func
      Src: /src/cairo/src/cairo-font-face-twin.c:714,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 718
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 718
    functionName: _cairo_font_face_twin_create_internal
    functionSourceFile: /src/cairo/src/cairo-font-face-twin.c
    functionUses: []
    functionsReached:
    - cairo_user_font_face_set_init_func
    - cairo_user_font_face_set_render_glyph_func
    - cairo_user_font_face_create
    - cairo_user_font_face_set_unicode_to_glyph_func
    linkageType: ''
    returnType: cairo_font_face_t*
    signature: 'static cairo_font_face_t *_cairo_font_face_twin_create_internal (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compute_hinting_scale
      Src: /src/cairo/src/cairo-font-face-twin.c:363,1
    - Dst: compute_hinting_scale
      Src: /src/cairo/src/cairo-font-face-twin.c:366,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 5
    argNames:
    - cr
    - x_scale
    - x_scale_inv
    - y_scale
    - y_scale_inv
    argTypes:
    - cairo_t*
    - double*
    - double*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 367
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 367
    functionName: compute_hinting_scales
    functionSourceFile: /src/cairo/src/cairo-font-face-twin.c
    functionUses: []
    functionsReached:
    - compute_hinting_scale
    linkageType: ''
    returnType: void
    signature: "static void compute_hinting_scales (cairo_t *cr,\t\t\tdouble *x_scale,\
      \ double *x_scale_inv,\t\t\tdouble *y_scale, double *y_scale_inv) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: F
      Src: /src/cairo/src/cairo-font-face-twin.c:531,1
    - Dst: F
      Src: /src/cairo/src/cairo-font-face-twin.c:552,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 4
    argNames:
    - v
    - n
    - snap
    - snapped
    argTypes:
    - int8_t
    - int
    - int8_t*
    - double*
    constantsTouched: []
    func_position:
      end: 553
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 553
    functionName: twin_snap
    functionSourceFile: /src/cairo/src/cairo-font-face-twin.c
    functionUses: []
    functionsReached:
    - F
    linkageType: ''
    returnType: double
    signature: 'static double twin_snap (int8_t v, int n, int8_t *snap, double *snapped) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_font_face_twin_create_internal
      Src: /src/cairo/src/cairo-font-face-twin.c:725,1
    - Dst: twin_font_face_create_properties
      Src: /src/cairo/src/cairo-font-face-twin.c:726,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/src/cairo-font-face-twin.c:727,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 732
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 732
    functionName: _cairo_font_face_twin_create_fallback
    functionSourceFile: /src/cairo/src/cairo-font-face-twin.c
    functionUses: []
    functionsReached:
    - cairo_font_face_destroy
    - twin_font_face_create_properties
    - _cairo_font_face_twin_create_internal
    linkageType: ''
    returnType: cairo_font_face_t*
    signature: 'cairo_font_face_t *_cairo_font_face_twin_create_fallback (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_font_face_twin_create_internal
      Src: /src/cairo/src/cairo-font-face-twin.c:741,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/src/cairo-font-face-twin.c:744,1
    - Dst: twin_font_face_set_properties_from_toy
      Src: /src/cairo/src/cairo-font-face-twin.c:742,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - toy_face
    - font_face
    argTypes:
    - cairo_toy_font_face_t*
    - cairo_font_face_t**
    constantsTouched: []
    func_position:
      end: 751
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 751
    functionName: _cairo_font_face_twin_create_for_toy
    functionSourceFile: /src/cairo/src/cairo-font-face-twin.c
    functionUses: []
    functionsReached:
    - cairo_font_face_destroy
    - twin_font_face_set_properties_from_toy
    - _cairo_font_face_twin_create_internal
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_font_face_twin_create_for_toy (cairo_toy_font_face_t\
      \ *toy_face,\t\t\t\t cairo_font_face_t **font_face) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parse_field
      Src: /src/cairo/src/cairo-font-face-twin.c:278,1
    - Dst: parse_field
      Src: /src/cairo/src/cairo-font-face-twin.c:282,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 2
    argNames:
    - props
    - s
    argTypes:
    - twin_face_properties_t*
    - char*
    constantsTouched: []
    func_position:
      end: 283
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 283
    functionName: face_props_parse
    functionSourceFile: /src/cairo/src/cairo-font-face-twin.c
    functionUses: []
    functionsReached:
    - parse_field
    linkageType: ''
    returnType: void
    signature: "static void face_props_parse (twin_face_properties_t *props,\t const\
      \ char *s) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: F
      Src: /src/cairo/src/cairo-font-face-twin.c:463,1
    - Dst: twin_scaled_font_compute_properties
      Src: /src/cairo/src/cairo-font-face-twin.c:466,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - scaled_font
    - cr
    - metrics
    argTypes:
    - cairo_scaled_font_t*
    - cairo_t*
    - cairo_font_extents_t*
    constantsTouched: []
    func_position:
      end: 467
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 467
    functionName: twin_scaled_font_init
    functionSourceFile: /src/cairo/src/cairo-font-face-twin.c
    functionUses: []
    functionsReached:
    - twin_scaled_font_compute_properties
    - F
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t twin_scaled_font_init (cairo_scaled_font_t *scaled_font,\t\
      \t cairo_t *cr,\t\t cairo_font_extents_t *metrics) "
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: cairo_scaled_font_get_user_data
      Src: /src/cairo/src/cairo-font-face-twin.c:573,1
    - Dst: SNAPX
      Src: /src/cairo/src/cairo-font-face-twin.c:638,1
    - Dst: cairo_scale
      Src: /src/cairo/src/cairo-font-face-twin.c:606,1
    - Dst: cairo_close_path
      Src: /src/cairo/src/cairo-font-face-twin.c:643,1
    - Dst: SNAPX
      Src: /src/cairo/src/cairo-font-face-twin.c:646,1
    - Dst: SNAPY
      Src: /src/cairo/src/cairo-font-face-twin.c:647,1
    - Dst: cairo_line_to
      Src: /src/cairo/src/cairo-font-face-twin.c:648,1
    - Dst: SNAPY
      Src: /src/cairo/src/cairo-font-face-twin.c:655,1
    - Dst: SNAPY
      Src: /src/cairo/src/cairo-font-face-twin.c:659,1
    - Dst: cairo_curve_to
      Src: /src/cairo/src/cairo-font-face-twin.c:660,1
    - Dst: cairo_scale
      Src: /src/cairo/src/cairo-font-face-twin.c:671,1
    - Dst: twin_compute_snap
      Src: /src/cairo/src/cairo-font-face-twin.c:624,1
    - Dst: SNAPXI
      Src: /src/cairo/src/cairo-font-face-twin.c:614,1
    - Dst: cairo_close_path
      Src: /src/cairo/src/cairo-font-face-twin.c:635,1
    - Dst: cairo_translate
      Src: /src/cairo/src/cairo-font-face-twin.c:618,1
    - Dst: SNAPX
      Src: /src/cairo/src/cairo-font-face-twin.c:658,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/src/cairo-font-face-twin.c:669,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/src/cairo-font-face-twin.c:670,1
    - Dst: cairo_restore
      Src: /src/cairo/src/cairo-font-face-twin.c:666,1
    - Dst: cairo_transform
      Src: /src/cairo/src/cairo-font-face-twin.c:591,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-font-face-twin.c:595,1
    - Dst: cairo_scale
      Src: /src/cairo/src/cairo-font-face-twin.c:621,1
    - Dst: compute_hinting_scale
      Src: /src/cairo/src/cairo-font-face-twin.c:613,1
    - Dst: SNAPY
      Src: /src/cairo/src/cairo-font-face-twin.c:639,1
    - Dst: cairo_move_to
      Src: /src/cairo/src/cairo-font-face-twin.c:640,1
    - Dst: cairo_close_path
      Src: /src/cairo/src/cairo-font-face-twin.c:651,1
    - Dst: SNAPX
      Src: /src/cairo/src/cairo-font-face-twin.c:654,1
    - Dst: SNAPY
      Src: /src/cairo/src/cairo-font-face-twin.c:657,1
    - Dst: cairo_close_path
      Src: /src/cairo/src/cairo-font-face-twin.c:663,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/src/cairo-font-face-twin.c:668,1
    - Dst: cairo_save
      Src: /src/cairo/src/cairo-font-face-twin.c:576,1
    - Dst: cairo_translate
      Src: /src/cairo/src/cairo-font-face-twin.c:579,1
    - Dst: cairo_scale
      Src: /src/cairo/src/cairo-font-face-twin.c:585,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-font-face-twin.c:595,1
    - Dst: twin_glyph_draw
      Src: /src/cairo/src/cairo-font-face-twin.c:596,1
    - Dst: twin_glyph_right
      Src: /src/cairo/src/cairo-font-face-twin.c:597,1
    - Dst: F
      Src: /src/cairo/src/cairo-font-face-twin.c:598,1
    - Dst: F
      Src: /src/cairo/src/cairo-font-face-twin.c:604,1
    - Dst: SNAPX
      Src: /src/cairo/src/cairo-font-face-twin.c:656,1
    - Dst: cairo_set_tolerance
      Src: /src/cairo/src/cairo-font-face-twin.c:667,1
    - Dst: cairo_stroke
      Src: /src/cairo/src/cairo-font-face-twin.c:672,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 93
    argCount: 4
    argNames:
    - scaled_font
    - glyph
    - cr
    - metrics
    argTypes:
    - cairo_scaled_font_t*
    - unsigned long
    - cairo_t*
    - cairo_text_extents_t*
    constantsTouched: []
    func_position:
      end: 682
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 682
    functionName: twin_scaled_font_render_glyph
    functionSourceFile: /src/cairo/src/cairo-font-face-twin.c
    functionUses: []
    functionsReached:
    - SNAPY
    - cairo_transform
    - cairo_set_line_width
    - cairo_scaled_font_get_user_data
    - cairo_close_path
    - cairo_set_line_join
    - SNAPXI
    - cairo_translate
    - cairo_set_tolerance
    - F
    - cairo_save
    - SNAPX
    - twin_glyph_right
    - cairo_line_to
    - cairo_curve_to
    - ARRAY_LENGTH
    - twin_glyph_draw
    - cairo_stroke
    - cairo_restore
    - compute_hinting_scale
    - twin_compute_snap
    - cairo_scale
    - cairo_set_line_cap
    - cairo_move_to
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t twin_scaled_font_render_glyph (cairo_scaled_font_t\
      \ *scaled_font,\t\t\t unsigned long glyph,\t\t\t cairo_t *cr,\t\t\t cairo_text_extents_t\
      \ *metrics) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-font-face-twin.c:290,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-font-face-twin.c:291,1
    - Dst: cairo_font_face_set_user_data
      Src: /src/cairo/src/cairo-font-face-twin.c:300,1
    - Dst: free
      Src: /src/cairo/src/cairo-font-face-twin.c:303,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-font-face-twin.c:300,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 308
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 308
    functionName: twin_font_face_create_properties
    functionSourceFile: /src/cairo/src/cairo-font-face-twin.c
    functionUses: []
    functionsReached:
    - cairo_font_face_set_user_data
    - free
    - unlikely
    - _cairo_calloc
    linkageType: ''
    returnType: twin_face_properties_t*
    signature: 'static twin_face_properties_t *twin_font_face_create_properties (cairo_font_face_t
      *twin_face) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: compute_hinting_scales
      Src: /src/cairo/src/cairo-font-face-twin.c:384,1
    - Dst: SNAPXI
      Src: /src/cairo/src/cairo-font-face-twin.c:397,1
    - Dst: SNAPYI
      Src: /src/cairo/src/cairo-font-face-twin.c:392,1
    - Dst: SNAPXI
      Src: /src/cairo/src/cairo-font-face-twin.c:404,1
    - Dst: SNAPXI
      Src: /src/cairo/src/cairo-font-face-twin.c:388,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 5
    argNames:
    - cr
    - penx
    - peny
    - marginl
    - marginr
    argTypes:
    - cairo_t*
    - double*
    - double*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 405
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 405
    functionName: twin_hint_pen_and_margins
    functionSourceFile: /src/cairo/src/cairo-font-face-twin.c
    functionUses: []
    functionsReached:
    - compute_hinting_scales
    - SNAPYI
    - SNAPXI
    linkageType: ''
    returnType: void
    signature: "static void twin_hint_pen_and_margins(cairo_t *cr,\t\t\t double *penx,\
      \ double *peny,\t\t\t double *marginl, double *marginr) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/cairo/src/cairo-font-face-twin.c:694,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-font-face-twin.c:694,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - scaled_font
    - unicode
    - glyph
    argTypes:
    - cairo_scaled_font_t*
    - unsigned long
    - unsigned long*
    constantsTouched: []
    func_position:
      end: 700
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 700
    functionName: twin_scaled_font_unicode_to_glyph
    functionSourceFile: /src/cairo/src/cairo-font-face-twin.c
    functionUses: []
    functionsReached:
    - ARRAY_LENGTH
    - likely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t twin_scaled_font_unicode_to_glyph (cairo_scaled_font_t\
      \ *scaled_font,\t\t\t\t unsigned long unicode,\t\t\t\t unsigned long *glyph) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-font-face-twin.c:414,1
    - Dst: cairo_font_face_get_user_data
      Src: /src/cairo/src/cairo-font-face-twin.c:419,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-font-face-twin.c:415,1
    - Dst: cairo_scaled_font_get_font_face
      Src: /src/cairo/src/cairo-font-face-twin.c:419,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-font-face-twin.c:416,1
    - Dst: F
      Src: /src/cairo/src/cairo-font-face-twin.c:425,1
    - Dst: F
      Src: /src/cairo/src/cairo-font-face-twin.c:429,1
    - Dst: twin_hint_pen_and_margins
      Src: /src/cairo/src/cairo-font-face-twin.c:431,1
    - Dst: cairo_scaled_font_set_user_data
      Src: /src/cairo/src/cairo-font-face-twin.c:440,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-font-face-twin.c:443,1
    - Dst: free
      Src: /src/cairo/src/cairo-font-face-twin.c:449,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - scaled_font
    - cr
    argTypes:
    - cairo_scaled_font_t*
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 451
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 451
    functionName: twin_scaled_font_compute_properties
    functionSourceFile: /src/cairo/src/cairo-font-face-twin.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - cairo_scaled_font_set_user_data
    - free
    - F
    - cairo_font_face_get_user_data
    - cairo_scaled_font_get_font_face
    - twin_hint_pen_and_margins
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t twin_scaled_font_compute_properties (cairo_scaled_font_t\
      \ *scaled_font,\t\t\t\t cairo_t *cr) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 57
    functionName: _cairo_tristrip
    functionSourceFile: /src/cairo/src/cairo-tristrip-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CAIRO_BEGIN_DECLS
    signature: 'CAIRO_BEGIN_DECLS struct _cairo_tristrip '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_matrix_to_pixman_matrix_offset
      Src: /src/cairo/src/cairo-xcb-surface-render.c:458,1
    - Dst: _cairo_xcb_connection_render_set_picture_transform
      Src: /src/cairo/src/cairo-xcb-surface-render.c:464,1
    - Dst: _picture_to_connection
      Src: /src/cairo/src/cairo-xcb-surface-render.c:464,1
    - Dst: memcmp
      Src: /src/cairo/src/cairo-xcb-surface-render.c:463,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 5
    argNames:
    - picture
    - matrix
    - filter
    - xc
    - yc
    argTypes:
    - cairo_xcb_picture_t*
    - cairo_matrix_t*
    - cairo_filter_t
    - double
    - double
    constantsTouched: []
    func_position:
      end: 470
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 470
    functionName: _cairo_xcb_picture_set_matrix
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_matrix_to_pixman_matrix_offset
    - _picture_to_connection
    - _cairo_xcb_connection_render_set_picture_transform
    - memcmp
    linkageType: ''
    returnType: void
    signature: "static void _cairo_xcb_picture_set_matrix (cairo_xcb_picture_t *picture,\t\
      \t\t const cairo_matrix_t *matrix,\t\t\t cairo_filter_t filter,\t\t\t double\
      \ xc, double yc) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _solid_picture
      Src: /src/cairo/src/cairo-xcb-surface-render.c:669,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-xcb-surface-render.c:673,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 674
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 674
    functionName: _cairo_xcb_black_picture
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _solid_picture
    - cairo_surface_reference
    linkageType: ''
    returnType: cairo_xcb_picture_t*
    signature: 'static cairo_xcb_picture_t *_cairo_xcb_black_picture (cairo_xcb_surface_t
      *target) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_boxes_init
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2903,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2927,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2928,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2927,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2928,1
    - Dst: _cairo_fixed_round_down
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2942,1
    - Dst: _cairo_fixed_round_down
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2943,1
    - Dst: _cairo_fixed_round_down
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2944,1
    - Dst: _cairo_fixed_round_down
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2945,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 3
    argNames:
    - boxes
    - traps
    - antialias
    argTypes:
    - cairo_boxes_t*
    - cairo_traps_t*
    - cairo_antialias_t
    constantsTouched: []
    func_position:
      end: 2954
      start: 2896
    functionDepth: 0
    functionLinenumber: 2896
    functionLinenumberEnd: 2954
    functionName: _boxes_for_traps
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_boxes_init
    - _cairo_fixed_is_integer
    - _cairo_fixed_round_down
    linkageType: ''
    returnType: void
    signature: "static void _boxes_for_traps (cairo_boxes_t *boxes,\t\t cairo_traps_t\
      \ *traps,\t\t cairo_antialias_t antialias) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_polygon_init_with_clip
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3751,1
    - Dst: _cairo_path_fixed_fill_to_polygon
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3752,1
    - Dst: _composite_polygon
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3754,1
    - Dst: likely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3753,1
    - Dst: _cairo_polygon_fini
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3760,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 8
    argNames:
    - dst
    - op
    - source
    - path
    - fill_rule
    - tolerance
    - antialias
    - extents
    argTypes:
    - cairo_xcb_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 3763
      start: 3738
    functionDepth: 0
    functionLinenumber: 3738
    functionLinenumberEnd: 3763
    functionName: _cairo_xcb_surface_render_fill_as_polygon
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_polygon_init_with_clip
    - _cairo_polygon_fini
    - _cairo_path_fixed_fill_to_polygon
    - _composite_polygon
    - likely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_xcb_surface_render_fill_as_polygon (cairo_xcb_surface_t\t\
      *dst,\t\t\t\t\t cairo_operator_t\t op,\t\t\t\t\t const cairo_pattern_t*source,\t\
      \t\t\t\t const cairo_path_fixed_t\t*path,\t\t\t\t\t cairo_fill_rule_t\t fill_rule,\t\
      \t\t\t\t double\t\t tolerance,\t\t\t\t\t cairo_antialias_t\t antialias,\t\t\t\
      \t\t cairo_composite_rectangles_t *extents) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cairo/src/cairo-xcb-surface-render.c:485,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-xcb-surface-render.c:490,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-xcb-surface-render.c:505,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-xcb-surface-render.c:495,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-xcb-surface-render.c:500,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-xcb-surface-render.c:512,1
    - Dst: _cairo_xcb_connection_render_set_picture_filter
      Src: /src/cairo/src/cairo-xcb-surface-render.c:516,1
    - Dst: _picture_to_connection
      Src: /src/cairo/src/cairo-xcb-surface-render.c:516,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - picture
    - filter
    argTypes:
    - cairo_xcb_picture_t*
    - cairo_filter_t
    constantsTouched: []
    func_position:
      end: 520
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 520
    functionName: _cairo_xcb_picture_set_filter
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _picture_to_connection
    - _cairo_xcb_connection_render_set_picture_filter
    - strlen
    linkageType: ''
    returnType: void
    signature: "static void _cairo_xcb_picture_set_filter (cairo_xcb_picture_t *picture,\t\
      \t\t cairo_filter_t filter) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _solid_picture
      Src: /src/cairo/src/cairo-xcb-surface-render.c:683,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-xcb-surface-render.c:687,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 688
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 688
    functionName: _cairo_xcb_white_picture
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _solid_picture
    - cairo_surface_reference
    linkageType: ''
    returnType: cairo_xcb_picture_t*
    signature: 'static cairo_xcb_picture_t *_cairo_xcb_white_picture (cairo_xcb_surface_t
      *target) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1590,1
    - Dst: _cairo_fixed_to_16_16
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1609,1
    - Dst: _cairo_xcb_picture_for_pattern
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1594,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1636,1
    - Dst: _cairo_xcb_surface_set_precision
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1665,1
    - Dst: _render_operator
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1667,1
    - Dst: _cairo_xcb_surface_clear
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1589,1
    - Dst: _cairo_fixed_to_16_16
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1611,1
    - Dst: _line_exceeds_16_16
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1618,1
    - Dst: _project_line_x_onto_16_16
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1619,1
    - Dst: _cairo_fixed_to_16_16
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1628,1
    - Dst: _cairo_fixed_to_16_16
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1629,1
    - Dst: _cairo_fixed_to_16_16
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1627,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1675,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1595,1
    - Dst: _cairo_fixed_to_16_16
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1626,1
    - Dst: _line_exceeds_16_16
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1636,1
    - Dst: _cairo_fixed_to_16_16
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1646,1
    - Dst: _cairo_fixed_to_16_16
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1645,1
    - Dst: _project_line_x_onto_16_16
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1637,1
    - Dst: _cairo_fixed_to_16_16
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1647,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1618,1
    - Dst: _cairo_fixed_to_16_16
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1644,1
    - Dst: _cairo_xcb_connection_render_trapezoids
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1666,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 89
    argCount: 8
    argNames:
    - closure
    - dst
    - op
    - pattern
    - dst_x
    - dst_y
    - extents
    - clip
    argTypes:
    - void*
    - cairo_xcb_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - int
    - int
    - cairo_rectangle_int_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 1678
      start: 1569
    functionDepth: 0
    functionLinenumber: 1569
    functionLinenumberEnd: 1678
    functionName: _composite_traps
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_xcb_surface_set_precision
    - _cairo_fixed_to_16_16
    - _cairo_xcb_surface_clear
    - _line_exceeds_16_16
    - _render_operator
    - cairo_surface_destroy
    - _cairo_xcb_connection_render_trapezoids
    - _cairo_xcb_picture_for_pattern
    - _project_line_x_onto_16_16
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _composite_traps (void *closure,\t\t cairo_xcb_surface_t\t\
      *dst,\t\t cairo_operator_t\t op,\t\t const cairo_pattern_t\t*pattern,\t\t int\
      \ dst_x, int dst_y,\t\t const cairo_rectangle_int_t *extents,\t\t cairo_clip_t\t\
      \t*clip) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2733,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2734,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2735,1
    - Dst: PIXMAN_FORMAT_BPP
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2737,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2736,1
    - Dst: CAIRO_STRIDE_FOR_WIDTH_BPP
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2738,1
    - Dst: _cairo_xcb_connection_put_image
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2740,1
    - Dst: _cairo_xcb_connection_put_subimage
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2751,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - box
    - closure
    argTypes:
    - cairo_box_t*
    - void*
    constantsTouched: []
    func_position:
      end: 2765
      start: 2729
    functionDepth: 0
    functionLinenumber: 2729
    functionLinenumberEnd: 2765
    functionName: image_upload_box
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_integer_part
    - _cairo_xcb_connection_put_image
    - PIXMAN_FORMAT_BPP
    - _cairo_xcb_connection_put_subimage
    - CAIRO_STRIDE_FOR_WIDTH_BPP
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t image_upload_box (cairo_box_t *box, void *closure) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_get_polygon
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3003,1
    - Dst: _cairo_polygon_fini
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3018,1
    - Dst: _boxes_for_traps
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3051,1
    - Dst: _clip_and_composite_boxes
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3052,1
    - Dst: _cairo_traps_fini
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3081,1
    - Dst: _cairo_clip_is_region
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2966,1
    - Dst: _cairo_xcb_surface_fixup_unbounded_with_mask
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2989,1
    - Dst: _cairo_bentley_ottmann_tessellate_polygon
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3025,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3026,1
    - Dst: _cairo_polygon_intersect
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3009,1
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3013,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3036,1
    - Dst: _traps_are_pixel_aligned
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3045,1
    - Dst: likely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3061,1
    - Dst: need_unbounded_clip
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3076,1
    - Dst: cairo_region_contains_rectangle
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2974,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2980,1
    - Dst: _cairo_xcb_surface_fixup_unbounded
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2984,1
    - Dst: _cairo_xcb_surface_clear_clip_region
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2987,1
    - Dst: likely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3007,1
    - Dst: _cairo_traps_init
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3023,1
    - Dst: likely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3011,1
    - Dst: _cairo_bentley_ottmann_tessellate_rectilinear_traps
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3033,1
    - Dst: _cairo_bentley_ottmann_tessellate_traps
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3035,1
    - Dst: _cairo_clip_get_region
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2967,1
    - Dst: _cairo_xcb_surface_set_clip_region
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2979,1
    - Dst: _cairo_bentley_ottmann_tessellate_rectangular_traps
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3031,1
    - Dst: _cairo_clip_copy_region
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3012,1
    - Dst: trim_extents_to_traps
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3060,1
    - Dst: _clip_and_composite
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3074,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 83
    argCount: 7
    argNames:
    - dst
    - op
    - source
    - polygon
    - antialias
    - fill_rule
    - extents
    argTypes:
    - cairo_xcb_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_polygon_t*
    - cairo_antialias_t
    - cairo_fill_rule_t
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 3084
      start: 2956
    functionDepth: 0
    functionLinenumber: 2956
    functionLinenumberEnd: 3084
    functionName: _composite_polygon
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_traps_init
    - _cairo_clip_is_region
    - _cairo_clip_get_region
    - _cairo_xcb_surface_fixup_unbounded
    - _cairo_bentley_ottmann_tessellate_rectilinear_traps
    - cairo_region_contains_rectangle
    - _cairo_bentley_ottmann_tessellate_traps
    - _cairo_xcb_surface_set_clip_region
    - _cairo_clip_destroy
    - _cairo_bentley_ottmann_tessellate_polygon
    - _cairo_polygon_fini
    - _cairo_traps_fini
    - _clip_and_composite_boxes
    - _cairo_xcb_surface_fixup_unbounded_with_mask
    - _boxes_for_traps
    - _cairo_bentley_ottmann_tessellate_rectangular_traps
    - _cairo_polygon_intersect
    - trim_extents_to_traps
    - _clip_and_composite
    - _cairo_xcb_surface_clear_clip_region
    - _traps_are_pixel_aligned
    - _cairo_clip_copy_region
    - _cairo_clip_get_polygon
    - need_unbounded_clip
    - likely
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _composite_polygon (cairo_xcb_surface_t *dst,\t\
      \t cairo_operator_t op,\t\t const cairo_pattern_t *source,\t\t cairo_polygon_t\
      \ *polygon,\t\t cairo_antialias_t antialias,\t\t cairo_fill_rule_t fill_rule,\t\
      \t cairo_composite_rectangles_t *extents) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xcb_surface_create_similar_image
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3782,1
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3794,1
    - Dst: _cairo_clip_copy_region
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3788,1
    - Dst: _cairo_surface_offset_fill
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3789,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3785,1
    - Dst: likely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3795,1
    - Dst: _cairo_pattern_init_for_surface
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3798,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3801,1
    - Dst: _clip_and_composite
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3802,1
    - Dst: need_bounded_clip
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3804,1
    - Dst: _cairo_pattern_fini
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3806,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3809,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3810,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 8
    argNames:
    - dst
    - op
    - source
    - path
    - fill_rule
    - tolerance
    - antialias
    - extents
    argTypes:
    - cairo_xcb_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 3813
      start: 3765
    functionDepth: 0
    functionLinenumber: 3765
    functionLinenumberEnd: 3813
    functionName: _cairo_xcb_surface_render_fill_via_mask
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_init_for_surface
    - _cairo_clip_destroy
    - _cairo_clip_copy_region
    - _clip_and_composite
    - cairo_surface_finish
    - need_bounded_clip
    - _cairo_surface_offset_fill
    - _cairo_xcb_surface_create_similar_image
    - _cairo_pattern_fini
    - cairo_surface_destroy
    - cairo_matrix_init_translate
    - likely
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_xcb_surface_render_fill_via_mask (cairo_xcb_surface_t\t\
      *dst,\t\t\t\t\t cairo_operator_t\t op,\t\t\t\t\t const cairo_pattern_t\t*source,\t\
      \t\t\t\t const cairo_path_fixed_t\t*path,\t\t\t\t\t cairo_fill_rule_t\t fill_rule,\t\
      \t\t\t\t double\t\t\t tolerance,\t\t\t\t\t cairo_antialias_t\t antialias,\t\t\
      \t\t\t cairo_composite_rectangles_t *extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4088,1
    - Dst: free
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4096,1
    - Dst: _cairo_xcb_connection_destroy
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4094,1
    - Dst: cairo_list_del
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4092,1
    - Dst: cairo_list_del
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4091,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - font
    argTypes:
    - cairo_xcb_font_t*
    constantsTouched: []
    func_position:
      end: 4097
      start: 4079
    functionDepth: 0
    functionLinenumber: 4079
    functionLinenumberEnd: 4097
    functionName: _cairo_xcb_font_destroy
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - free
    - cairo_list_del
    - _cairo_xcb_connection_destroy
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_xcb_font_destroy (cairo_xcb_font_t *font) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _picture_to_connection
      Src: /src/cairo/src/cairo-xcb-surface-render.c:82,1
    - Dst: _cairo_xcb_connection_acquire
      Src: /src/cairo/src/cairo-xcb-surface-render.c:85,1
    - Dst: cairo_list_del
      Src: /src/cairo/src/cairo-xcb-surface-render.c:86,1
    - Dst: _cairo_xcb_connection_render_free_picture
      Src: /src/cairo/src/cairo-xcb-surface-render.c:90,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:87,1
    - Dst: _cairo_xcb_connection_release
      Src: /src/cairo/src/cairo-xcb-surface-render.c:92,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 95
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 95
    functionName: _cairo_xcb_picture_finish
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_xcb_connection_acquire
    - _picture_to_connection
    - cairo_list_del
    - _cairo_xcb_connection_render_free_picture
    - _cairo_xcb_connection_release
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_xcb_picture_finish (void *abstract_surface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_create_scratch
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1690,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1698,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1695,1
    - Dst: _cairo_clip_combine_with_surface
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1699,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1701,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1702,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1703,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1710
      start: 1682
    functionDepth: 0
    functionLinenumber: 1682
    functionLinenumberEnd: 1710
    functionName: get_clip_surface
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_surface_create_scratch
    - _cairo_clip_combine_with_surface
    - cairo_surface_destroy
    - assert
    - _cairo_surface_create_in_error
    - unlikely
    linkageType: ''
    returnType: cairo_xcb_surface_t*
    signature: "static cairo_xcb_surface_t *get_clip_surface (const cairo_clip_t *clip,\t\
      \t cairo_xcb_surface_t *target,\t\t int *tx, int *ty) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rol
      Src: /src/cairo/src/cairo-xcb-surface-render.c:74,1
    - Dst: rol
      Src: /src/cairo/src/cairo-xcb-surface-render.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: hars_petruska_f54_1_random
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - rol
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t hars_petruska_f54_1_random (void) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_has_snapshot
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1141,1
    - Dst: _copy_to_picture
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1156,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1169,1
    - Dst: _cairo_surface_is_snapshot
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1186,1
    - Dst: _cairo_surface_is_snapshot
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1232,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1263,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1144,1
    - Dst: _copy_to_picture
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1237,1
    - Dst: _copy_to_picture
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1191,1
    - Dst: _copy_to_picture
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1214,1
    - Dst: _cairo_xcb_connection_render_set_picture_clip_rectangles
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1223,1
    - Dst: record_to_picture
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1250,1
    - Dst: _picture_from_image
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1268,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1286,1
    - Dst: _cairo_xcb_surface_setup_surface_picture
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1145,1
    - Dst: _copy_to_picture
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1168,1
    - Dst: _cairo_xcb_connection_render_set_picture_clip_rectangles
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1177,1
    - Dst: _copy_to_picture
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1203,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1192,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1238,1
    - Dst: _cairo_surface_release_source_image
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1269,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1278,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1283,1
    - Dst: _cairo_xcb_surface_setup_surface_picture
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1297,1
    - Dst: _cairo_surface_is_xcb
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1153,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1157,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1215,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1204,1
    - Dst: _cairo_surface_acquire_source_image
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1258,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1259,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1260,1
    - Dst: _cairo_image_surface_coerce
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1276,1
    - Dst: _cairo_surface_release_source_image
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1277,1
    - Dst: _picture_from_image
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1282,1
    - Dst: _cairo_surface_attach_snapshot
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1292,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 117
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1299
    functionName: _cairo_xcb_surface_picture
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_surface_release_source_image
    - _cairo_xcb_surface_setup_surface_picture
    - _cairo_surface_is_snapshot
    - _copy_to_picture
    - _cairo_surface_attach_snapshot
    - cairo_surface_reference
    - ARRAY_LENGTH
    - _cairo_surface_create_in_error
    - cairo_surface_destroy
    - record_to_picture
    - _picture_from_image
    - _cairo_surface_is_xcb
    - _cairo_xcb_connection_render_set_picture_clip_rectangles
    - _cairo_surface_acquire_source_image
    - _cairo_surface_has_snapshot
    - _cairo_image_surface_coerce
    - unlikely
    linkageType: ''
    returnType: cairo_xcb_picture_t*
    signature: "static cairo_xcb_picture_t *_cairo_xcb_surface_picture (cairo_xcb_surface_t\
      \ *target,\t\t\t const cairo_surface_pattern_t *pattern,\t\t\t const cairo_rectangle_int_t\
      \ *extents) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xcb_white_picture
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1307,1
    - Dst: _render_to_picture
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1310,1
    - Dst: _cairo_xcb_linear_picture
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1317,1
    - Dst: _cairo_xcb_solid_picture
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1314,1
    - Dst: _pattern_is_supported
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1309,1
    - Dst: _cairo_xcb_radial_picture
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1322,1
    - Dst: _cairo_xcb_surface_picture
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1327,1
    - Dst: _render_to_picture
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1334,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1336
      start: 1301
    functionDepth: 0
    functionLinenumber: 1301
    functionLinenumberEnd: 1336
    functionName: _cairo_xcb_picture_for_pattern
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _pattern_is_supported
    - _cairo_xcb_white_picture
    - _render_to_picture
    - _cairo_xcb_linear_picture
    - _cairo_xcb_radial_picture
    - _cairo_xcb_solid_picture
    - _cairo_xcb_surface_picture
    linkageType: ''
    returnType: cairo_xcb_picture_t*
    signature: "static cairo_xcb_picture_t *_cairo_xcb_picture_for_pattern (cairo_xcb_surface_t\
      \ *target,\t\t\t\tconst cairo_pattern_t *pattern,\t\t\t\tconst cairo_rectangle_int_t\
      \ *extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 1
    argNames:
    - line
    argTypes:
    - cairo_line_t*
    constantsTouched: []
    func_position:
      end: 1540
      start: 1525
    functionDepth: 0
    functionLinenumber: 1525
    functionLinenumberEnd: 1540
    functionName: _line_exceeds_16_16
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _line_exceeds_16_16 (const cairo_line_t *line) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xcb_connection_render_change_picture
      Src: /src/cairo/src/cairo-xcb-surface-render.c:551,1
    - Dst: _picture_to_connection
      Src: /src/cairo/src/cairo-xcb-surface-render.c:551,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 2
    argNames:
    - picture
    - extend
    argTypes:
    - cairo_xcb_picture_t*
    - cairo_extend_t
    constantsTouched: []
    func_position:
      end: 555
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 555
    functionName: _cairo_xcb_picture_set_extend
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_xcb_connection_render_change_picture
    - _picture_to_connection
    linkageType: ''
    returnType: void
    signature: "static void _cairo_xcb_picture_set_extend (cairo_xcb_picture_t *picture,\t\
      \t\t cairo_extend_t extend) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3324,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3330,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3325,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3326,1
    - Dst: _cairo_xcb_surface_clear
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3329,1
    - Dst: _cairo_xcb_picture_for_pattern
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3336,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3337,1
    - Dst: do_unaligned_box
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3344,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3345,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 8
    argNames:
    - closure
    - dst
    - op
    - src_pattern
    - dst_x
    - dst_y
    - extents
    - clip
    argTypes:
    - void*
    - cairo_xcb_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - int
    - int
    - cairo_rectangle_int_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 3348
      start: 3310
    functionDepth: 0
    functionLinenumber: 3310
    functionLinenumberEnd: 3348
    functionName: _composite_mask_clip_boxes
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_xcb_surface_clear
    - do_unaligned_box
    - assert
    - cairo_surface_destroy
    - _cairo_xcb_picture_for_pattern
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _composite_mask_clip_boxes (void\t\t\t*closure,\t\
      \t\t cairo_xcb_surface_t\t\t*dst,\t\t\t cairo_operator_t\t\t op,\t\t\t const\
      \ cairo_pattern_t\t*src_pattern,\t\t\t int\t\t\t\t dst_x,\t\t\t int\t\t\t\t\
      \ dst_y,\t\t\t const cairo_rectangle_int_t\t*extents,\t\t\t cairo_clip_t\t\t\
      *clip) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3526,1
    - Dst: _cairo_clip_steal_boxes
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3547,1
    - Dst: _clip_and_composite_boxes
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3548,1
    - Dst: _cairo_clip_unsteal_boxes
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3549,1
    - Dst: _operator_is_supported
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3526,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 2
    argNames:
    - compositor
    - composite
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 3552
      start: 3516
    functionDepth: 0
    functionLinenumber: 3516
    functionLinenumberEnd: 3552
    functionName: _cairo_xcb_render_compositor_paint
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _operator_is_supported
    - _cairo_clip_unsteal_boxes
    - _clip_and_composite_boxes
    - _cairo_clip_steal_boxes
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_xcb_render_compositor_paint (const cairo_compositor_t\
      \ *compositor,\t\t\t\t cairo_composite_rectangles_t *composite) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xcb_connection_render_change_picture
      Src: /src/cairo/src/cairo-xcb-surface-render.c:568,1
    - Dst: _picture_to_connection
      Src: /src/cairo/src/cairo-xcb-surface-render.c:568,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - picture
    - ca
    argTypes:
    - cairo_xcb_picture_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 573
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 573
    functionName: _cairo_xcb_picture_set_component_alpha
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_xcb_connection_render_change_picture
    - _picture_to_connection
    linkageType: ''
    returnType: void
    signature: "static void _cairo_xcb_picture_set_component_alpha (cairo_xcb_picture_t\
      \ *picture,\t\t\t\t\tcairo_bool_t ca) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_STACK_ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1347,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1365,1
    - Dst: _render_operator
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1350,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1366,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1364,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1367,1
    - Dst: _cairo_fixed_integer_round_down
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1374,1
    - Dst: _cairo_fixed_integer_round_down
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1375,1
    - Dst: _cairo_fixed_integer_round_down
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1376,1
    - Dst: _cairo_fixed_integer_round_down
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1377,1
    - Dst: _cairo_xcb_connection_render_fill_rectangles
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1389,1
    - Dst: free
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1397,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 48
    argCount: 4
    argNames:
    - abstract_dst
    - op
    - color
    - boxes
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_color_t*
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 1400
      start: 1340
    functionDepth: 0
    functionLinenumber: 1340
    functionLinenumberEnd: 1400
    functionName: _render_fill_boxes
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - CAIRO_STACK_ARRAY_LENGTH
    - _cairo_error
    - _cairo_xcb_connection_render_fill_rectangles
    - free
    - ARRAY_LENGTH
    - _render_operator
    - _cairo_fixed_integer_round_down
    - _cairo_malloc_ab
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _render_fill_boxes (void\t\t\t*abstract_dst,\t\
      \t cairo_operator_t\t\t op,\t\t const cairo_color_t\t\t*color,\t\t cairo_boxes_t\t\
      \t*boxes) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3366,1
    - Dst: _cairo_clip_get_polygon
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3370,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3372,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3367,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3368,1
    - Dst: _cairo_traps_init
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3375,1
    - Dst: _cairo_bentley_ottmann_tessellate_polygon
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3376,1
    - Dst: _cairo_polygon_fini
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3379,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3380,1
    - Dst: _cairo_bentley_ottmann_tessellate_rectangular_traps
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3385,1
    - Dst: _cairo_bentley_ottmann_tessellate_traps
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3389,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3390,1
    - Dst: _cairo_traps_fini
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3391,1
    - Dst: _cairo_bentley_ottmann_tessellate_rectilinear_traps
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3387,1
    - Dst: _cairo_traps_fini
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3400,1
    - Dst: _composite_traps
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3396,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 8
    argNames:
    - closure
    - dst
    - op
    - src_pattern
    - dst_x
    - dst_y
    - extents
    - clip
    argTypes:
    - void*
    - cairo_xcb_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - int
    - int
    - cairo_rectangle_int_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 3403
      start: 3350
    functionDepth: 0
    functionLinenumber: 3350
    functionLinenumberEnd: 3403
    functionName: _composite_mask_clip
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_bentley_ottmann_tessellate_traps
    - _cairo_traps_init
    - _cairo_bentley_ottmann_tessellate_rectangular_traps
    - _cairo_bentley_ottmann_tessellate_polygon
    - _cairo_traps_fini
    - _cairo_polygon_fini
    - assert
    - _composite_traps
    - _cairo_clip_get_polygon
    - _cairo_bentley_ottmann_tessellate_rectilinear_traps
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _composite_mask_clip (void\t\t\t\t*closure,\t\
      \t cairo_xcb_surface_t\t\t*dst,\t\t cairo_operator_t\t\t\t op,\t\t const cairo_pattern_t\t\
      \t*src_pattern,\t\t int\t\t\t\t dst_x,\t\t int\t\t\t\t dst_y,\t\t const cairo_rectangle_int_t\t\
      *extents,\t\t cairo_clip_t\t\t\t*clip) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4823,1
    - Dst: likely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4835,1
    - Dst: _cairo_scaled_font_freeze_cache
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4831,1
    - Dst: _can_composite_glyphs
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4833,1
    - Dst: _operator_is_supported
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4823,1
    - Dst: _cairo_clip_is_region
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4845,1
    - Dst: _clip_and_composite
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4857,1
    - Dst: need_bounded_clip
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4860,1
    - Dst: _cairo_scaled_font_thaw_cache
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4864,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4868,1
    - Dst: _cairo_xcb_surface_render_glyphs_via_mask
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4870,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 6
    argNames:
    - compositor
    - composite
    - scaled_font
    - glyphs
    - num_glyphs
    - overlap
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_scaled_font_t*
    - cairo_glyph_t*
    - int
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 4876
      start: 4810
    functionDepth: 0
    functionLinenumber: 4810
    functionLinenumberEnd: 4876
    functionName: _cairo_xcb_render_compositor_glyphs
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _can_composite_glyphs
    - _operator_is_supported
    - _clip_and_composite
    - _cairo_scaled_font_freeze_cache
    - need_bounded_clip
    - _cairo_clip_is_region
    - _cairo_scaled_font_thaw_cache
    - assert
    - _cairo_xcb_surface_render_glyphs_via_mask
    - likely
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_xcb_render_compositor_glyphs (const cairo_compositor_t\
      \ *compositor,\t\t\t\t cairo_composite_rectangles_t *composite,\t\t\t\t cairo_scaled_font_t\
      \ *scaled_font,\t\t\t\t cairo_glyph_t *glyphs,\t\t\t\t int num_glyphs,\t\t\t\
      \t cairo_bool_t overlap) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xcb_surface_clear
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3479,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3480,1
    - Dst: _cairo_xcb_picture_for_pattern
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3488,1
    - Dst: _render_operator
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3484,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3489,1
    - Dst: do_unaligned_box
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3499,1
    - Dst: composite_opacity
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3502,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3509,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 37
    argCount: 8
    argNames:
    - closure
    - dst
    - op
    - src_pattern
    - dst_x
    - dst_y
    - extents
    - clip
    argTypes:
    - void*
    - cairo_xcb_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - int
    - int
    - cairo_rectangle_int_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 3512
      start: 3452
    functionDepth: 0
    functionLinenumber: 3452
    functionLinenumberEnd: 3512
    functionName: _composite_opacity_boxes
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - composite_opacity
    - _cairo_xcb_surface_clear
    - _render_operator
    - do_unaligned_box
    - cairo_surface_destroy
    - _cairo_xcb_picture_for_pattern
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _composite_opacity_boxes (void\t\t\t\t*closure,\t\
      \t\t cairo_xcb_surface_t\t\t*dst,\t\t\t cairo_operator_t\t\t op,\t\t\t const\
      \ cairo_pattern_t\t\t*src_pattern,\t\t\t int\t\t\t\t dst_x,\t\t\t int\t\t\t\t\
      \ dst_y,\t\t\t const cairo_rectangle_int_t\t*extents,\t\t\t cairo_clip_t\t\t\
      \t*clip) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _copy_to_picture
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1203,1
    - Dst: _cairo_xcb_connection_render_set_picture_clip_rectangles
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1223,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1215,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1204,1
    - Dst: _copy_to_picture
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1214,1
    - Dst: _cairo_surface_is_snapshot
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1232,1
    - Dst: _copy_to_picture
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1237,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1238,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 38
    argCount: 1
    argNames:
    - CAIRO_SURFACE_TYPE_XLIB
    argTypes:
    - source
    constantsTouched: []
    func_position:
      end: 1242
      start: 1198
    functionDepth: 0
    functionLinenumber: 1198
    functionLinenumberEnd: 1242
    functionName: if
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_surface_is_snapshot
    - _copy_to_picture
    - _cairo_xcb_connection_render_set_picture_clip_rectangles
    - unlikely
    linkageType: ''
    returnType: else
    signature: 'else if (source->type == CAIRO_SURFACE_TYPE_XLIB) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_XCB_RENDER_AT_LEAST
      Src: /src/cairo/src/cairo-xcb-surface-render.c:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - flags
    - op
    argTypes:
    - uint32_t
    - cairo_operator_t
    constantsTouched: []
    func_position:
      end: 160
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 160
    functionName: _operator_is_supported
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - CAIRO_XCB_RENDER_AT_LEAST
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static inline cairo_bool_t _operator_is_supported (uint32_t flags,
      cairo_operator_t op) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _create_composite_mask
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2073,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2081,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2076,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2080,1
    - Dst: _cairo_xcb_picture_for_pattern
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2079,1
    - Dst: _cairo_xcb_connection_render_composite
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2086,1
    - Dst: _cairo_xcb_connection_render_composite
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2097,1
    - Dst: _cairo_xcb_connection_render_composite
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2107,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2118,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2119,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 7
    argNames:
    - clip
    - pattern
    - draw_func
    - mask_func
    - draw_closure
    - dst
    - extents
    argTypes:
    - cairo_clip_t*
    - cairo_pattern_t*
    - xcb_draw_func_t
    - xcb_draw_func_t
    - void*
    - cairo_xcb_surface_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 2122
      start: 2060
    functionDepth: 0
    functionLinenumber: 2060
    functionLinenumberEnd: 2122
    functionName: _clip_and_composite_source
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _create_composite_mask
    - cairo_surface_destroy
    - _cairo_xcb_picture_for_pattern
    - _cairo_xcb_connection_render_composite
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _clip_and_composite_source (cairo_clip_t\t\t\
      *clip,\t\t\t const cairo_pattern_t\t*pattern,\t\t\t xcb_draw_func_t\t\t draw_func,\t\
      \t\t xcb_draw_func_t\t\t mask_func,\t\t\t void\t\t\t*draw_closure,\t\t\t cairo_xcb_surface_t\t\
      \t*dst,\t\t\t const cairo_rectangle_int_t\t*extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_integer_round_down
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2860,1
    - Dst: _cairo_fixed_integer_round_down
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2860,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - line
    argTypes:
    - cairo_line_t*
    constantsTouched: []
    func_position:
      end: 2861
      start: 2857
    functionDepth: 0
    functionLinenumber: 2857
    functionLinenumberEnd: 2861
    functionName: _mono_edge_is_vertical
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_integer_round_down
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _mono_edge_is_vertical (const cairo_line_t *line) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: _upload_image_inplace
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3111,1
    - Dst: _cairo_polygon_fini
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3143,1
    - Dst: _cairo_traps_init_boxes
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3178,1
    - Dst: _cairo_traps_fini
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3190,1
    - Dst: _cairo_clip_is_region
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3099,1
    - Dst: _cairo_clip_intersect_boxes
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3125,1
    - Dst: _cairo_clip_get_polygon
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3129,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3154,1
    - Dst: _composite_boxes
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3170,1
    - Dst: _cairo_clip_path_destroy
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3131,1
    - Dst: likely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3133,1
    - Dst: _composite_polygon
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3136,1
    - Dst: _cairo_xcb_surface_clear
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3153,1
    - Dst: trim_extents_to_traps
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3183,1
    - Dst: _cairo_clip_copy
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3124,1
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3126,1
    - Dst: _cairo_clip_is_region
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3159,1
    - Dst: _upload_image_inplace
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3161,1
    - Dst: _core_boxes
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3167,1
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3146,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3179,1
    - Dst: _clip_and_composite
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3185,1
    - Dst: need_unbounded_clip
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3187,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 81
    argCount: 5
    argNames:
    - dst
    - op
    - src
    - boxes
    - extents
    argTypes:
    - cairo_xcb_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_boxes_t*
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 3192
      start: 3086
    functionDepth: 0
    functionLinenumber: 3086
    functionLinenumberEnd: 3192
    functionName: _clip_and_composite_boxes
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_xcb_surface_clear
    - _cairo_clip_is_region
    - _cairo_clip_is_all_clipped
    - _core_boxes
    - _cairo_clip_destroy
    - _cairo_traps_fini
    - _cairo_traps_init_boxes
    - _cairo_polygon_fini
    - _cairo_clip_intersect_boxes
    - _upload_image_inplace
    - _composite_polygon
    - _clip_and_composite
    - trim_extents_to_traps
    - _cairo_clip_copy
    - _composite_boxes
    - _cairo_clip_path_destroy
    - _cairo_clip_get_polygon
    - need_unbounded_clip
    - likely
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _clip_and_composite_boxes (cairo_xcb_surface_t\
      \ *dst,\t\t\t cairo_operator_t op,\t\t\t const cairo_pattern_t *src,\t\t\t cairo_boxes_t\
      \ *boxes,\t\t\t cairo_composite_rectangles_t *extents) "
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4399,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4412,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4413,1
    - Dst: _cairo_xcb_connection_render_add_glyphs
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4523,1
    - Dst: _cairo_scaled_glyph_set_surface
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4545,1
    - Dst: _cairo_scaled_glyph_lookup
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4393,1
    - Dst: _cairo_xcb_scaled_font_get_glyphset_info_for_format
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4409,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4424,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4471,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4472,1
    - Dst: bswap_32
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4510,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4426,1
    - Dst: _cairo_lround
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4450,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4470,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4444,1
    - Dst: _cairo_image_surface_coerce_to_format
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4441,1
    - Dst: _cairo_xcb_get_glyphset_index_for_format
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4459,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4502,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4503,1
    - Dst: free
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4530,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4536,1
    - Dst: _cairo_scaled_glyph_index
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4385,1
    - Dst: _cairo_xcb_glyph_attach
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4390,1
    - Dst: _cairo_xcb_scaled_font_get_glyphset_info_for_pending_free_glyph
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4388,1
    - Dst: _cairo_lround
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4449,1
    - Dst: _cairo_is_little_endian
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4462,1
    - Dst: _cairo_is_little_endian
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4493,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4501,1
    - Dst: _cairo_xcb_glyph_attach
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4532,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 120
    argCount: 3
    argNames:
    - connection
    - font
    - scaled_glyph_out
    argTypes:
    - cairo_xcb_connection_t*
    - cairo_scaled_font_t*
    - cairo_scaled_glyph_t**
    constantsTouched: []
    func_position:
      end: 4548
      start: 4371
    functionDepth: 0
    functionLinenumber: 4371
    functionLinenumberEnd: 4548
    functionName: _cairo_xcb_surface_add_glyph
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_malloc
    - _cairo_xcb_get_glyphset_index_for_format
    - _cairo_scaled_glyph_set_surface
    - _cairo_scaled_glyph_index
    - _cairo_xcb_connection_render_add_glyphs
    - _cairo_scaled_glyph_lookup
    - _cairo_error
    - free
    - _cairo_image_surface_coerce_to_format
    - cairo_surface_destroy
    - cairo_image_surface_create
    - _cairo_is_little_endian
    - bswap_32
    - _cairo_xcb_glyph_attach
    - _cairo_xcb_scaled_font_get_glyphset_info_for_pending_free_glyph
    - _cairo_xcb_scaled_font_get_glyphset_info_for_format
    - _cairo_lround
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_xcb_surface_add_glyph (cairo_xcb_connection_t\
      \ *connection,\t\t\t cairo_scaled_font_t *font,\t\t\t cairo_scaled_glyph_t **scaled_glyph_out) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: C
      Src: /src/cairo/src/cairo-xcb-surface-render.c:173,1
    - Dst: C
      Src: /src/cairo/src/cairo-xcb-surface-render.c:178,1
    - Dst: C
      Src: /src/cairo/src/cairo-xcb-surface-render.c:183,1
    - Dst: BLEND
      Src: /src/cairo/src/cairo-xcb-surface-render.c:194,1
    - Dst: BLEND
      Src: /src/cairo/src/cairo-xcb-surface-render.c:200,1
    - Dst: BLEND
      Src: /src/cairo/src/cairo-xcb-surface-render.c:204,1
    - Dst: CAIRO_XCB_RENDER_AT_LEAST
      Src: /src/cairo/src/cairo-xcb-surface-render.c:187,1
    - Dst: C
      Src: /src/cairo/src/cairo-xcb-surface-render.c:170,1
    - Dst: C
      Src: /src/cairo/src/cairo-xcb-surface-render.c:175,1
    - Dst: BLEND
      Src: /src/cairo/src/cairo-xcb-surface-render.c:195,1
    - Dst: C
      Src: /src/cairo/src/cairo-xcb-surface-render.c:179,1
    - Dst: BLEND
      Src: /src/cairo/src/cairo-xcb-surface-render.c:198,1
    - Dst: BLEND
      Src: /src/cairo/src/cairo-xcb-surface-render.c:201,1
    - Dst: BLEND
      Src: /src/cairo/src/cairo-xcb-surface-render.c:205,1
    - Dst: C
      Src: /src/cairo/src/cairo-xcb-surface-render.c:167,1
    - Dst: C
      Src: /src/cairo/src/cairo-xcb-surface-render.c:171,1
    - Dst: C
      Src: /src/cairo/src/cairo-xcb-surface-render.c:168,1
    - Dst: C
      Src: /src/cairo/src/cairo-xcb-surface-render.c:176,1
    - Dst: BLEND
      Src: /src/cairo/src/cairo-xcb-surface-render.c:192,1
    - Dst: C
      Src: /src/cairo/src/cairo-xcb-surface-render.c:181,1
    - Dst: BLEND
      Src: /src/cairo/src/cairo-xcb-surface-render.c:196,1
    - Dst: BLEND
      Src: /src/cairo/src/cairo-xcb-surface-render.c:202,1
    - Dst: BLEND
      Src: /src/cairo/src/cairo-xcb-surface-render.c:206,1
    - Dst: C
      Src: /src/cairo/src/cairo-xcb-surface-render.c:172,1
    - Dst: C
      Src: /src/cairo/src/cairo-xcb-surface-render.c:177,1
    - Dst: BLEND
      Src: /src/cairo/src/cairo-xcb-surface-render.c:193,1
    - Dst: C
      Src: /src/cairo/src/cairo-xcb-surface-render.c:182,1
    - Dst: BLEND
      Src: /src/cairo/src/cairo-xcb-surface-render.c:197,1
    - Dst: BLEND
      Src: /src/cairo/src/cairo-xcb-surface-render.c:199,1
    - Dst: BLEND
      Src: /src/cairo/src/cairo-xcb-surface-render.c:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 1
    argNames:
    - op
    argTypes:
    - cairo_operator_t
    constantsTouched: []
    func_position:
      end: 212
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 212
    functionName: _render_operator
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - CAIRO_XCB_RENDER_AT_LEAST
    - C
    - BLEND
    linkageType: ''
    returnType: int
    signature: 'static int _render_operator (cairo_operator_t op) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - cairo_operator_t
    constantsTouched: []
    func_position:
      end: 2136
      start: 2124
    functionDepth: 0
    functionLinenumber: 2124
    functionLinenumberEnd: 2136
    functionName: can_reduce_alpha_op
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t can_reduce_alpha_op (cairo_operator_t op) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _mono_edge_is_vertical
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2871,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2882,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2884,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2883,1
    - Dst: _mono_edge_is_vertical
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2872,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2885,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 2
    argNames:
    - traps
    - antialias
    argTypes:
    - cairo_traps_t*
    - cairo_antialias_t
    constantsTouched: []
    func_position:
      end: 2894
      start: 2863
    functionDepth: 0
    functionLinenumber: 2863
    functionLinenumberEnd: 2894
    functionName: _traps_are_pixel_aligned
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_is_integer
    - _mono_edge_is_vertical
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _traps_are_pixel_aligned (cairo_traps_t *traps,\t\
      \t\t cairo_antialias_t antialias) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xcb_surface_clear
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3217,1
    - Dst: _cairo_xcb_picture_for_pattern
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3223,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3224,1
    - Dst: _cairo_xcb_picture_for_pattern
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3227,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3218,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3228,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3229,1
    - Dst: _cairo_xcb_connection_render_composite
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3233,1
    - Dst: _render_operator
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3234,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3242,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3243,1
    - Dst: _cairo_xcb_picture_for_pattern
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3245,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3246,1
    - Dst: _cairo_xcb_connection_render_composite
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3249,1
    - Dst: _render_operator
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3250,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3258,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 45
    argCount: 8
    argNames:
    - closure
    - dst
    - op
    - src_pattern
    - dst_x
    - dst_y
    - extents
    - clip
    argTypes:
    - void*
    - cairo_xcb_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - int
    - int
    - cairo_rectangle_int_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 3262
      start: 3194
    functionDepth: 0
    functionLinenumber: 3194
    functionLinenumberEnd: 3262
    functionName: _composite_mask
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_xcb_surface_clear
    - _render_operator
    - cairo_surface_destroy
    - _cairo_xcb_picture_for_pattern
    - _cairo_xcb_connection_render_composite
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _composite_mask (void\t\t\t\t*closure,\t\
      \t cairo_xcb_surface_t\t\t*dst,\t\t cairo_operator_t\t\t op,\t\t const cairo_pattern_t\t\
      \t*src_pattern,\t\t int\t\t\t\t dst_x,\t\t int\t\t\t\t dst_y,\t\t const cairo_rectangle_int_t\t\
      *extents,\t\t cairo_clip_t\t\t\t*clip) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _solid_picture
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3284,1
    - Dst: likely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3285,1
    - Dst: _cairo_xcb_connection_render_composite
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3286,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3296,1
    - Dst: _cairo_xcb_connection_render_composite
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3298,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 6
    argNames:
    - closure
    - x
    - y
    - w
    - h
    - coverage
    argTypes:
    - void*
    - int16_t
    - int16_t
    - int16_t
    - int16_t
    - uint16_t
    constantsTouched: []
    func_position:
      end: 3308
      start: 3270
    functionDepth: 0
    functionLinenumber: 3270
    functionLinenumberEnd: 3308
    functionName: composite_box
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _solid_picture
    - _cairo_xcb_connection_render_composite
    - likely
    - cairo_surface_destroy
    linkageType: ''
    returnType: void
    signature: "static void composite_box(void *closure,\t\t\t int16_t x, int16_t\
      \ y,\t\t\t int16_t w, int16_t h,\t\t\t uint16_t coverage) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3971,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3986,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4002,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3993,1
    - Dst: _cairo_scaled_glyph_lookup
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3988,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4003,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4004,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4005,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4006,1
    - Dst: _cairo_fixed_integer_ceil
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4018,1
    - Dst: CAIRO_STRIDE_FOR_WIDTH_BPP
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4020,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4032,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4047,1
    - Dst: _cairo_fixed_integer_ceil
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4019,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4042,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4021,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 77
    argCount: 5
    argNames:
    - dst
    - extents
    - scaled_font
    - glyphs
    - num_glyphs
    argTypes:
    - cairo_xcb_surface_t*
    - cairo_rectangle_int_t*
    - cairo_scaled_font_t*
    - cairo_glyph_t*
    - int*
    constantsTouched: []
    func_position:
      end: 4055
      start: 3950
    functionDepth: 0
    functionLinenumber: 3950
    functionLinenumberEnd: 4055
    functionName: _can_composite_glyphs
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_to_double
    - _cairo_scaled_glyph_lookup
    - ARRAY_LENGTH
    - _cairo_fixed_integer_ceil
    - CAIRO_STRIDE_FOR_WIDTH_BPP
    - memset
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _can_composite_glyphs (cairo_xcb_surface_t *dst,\t\
      \t cairo_rectangle_int_t *extents,\t\t cairo_scaled_font_t *scaled_font,\t\t\
      \ cairo_glyph_t *glyphs,\t\t int *num_glyphs) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-surface-render.c:800,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-xcb-surface-render.c:801,1
    - Dst: _cairo_fixed_16_16_from_double
      Src: /src/cairo/src/cairo-xcb-surface-render.c:819,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:812,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-xcb-surface-render.c:810,1
    - Dst: _cairo_fixed_16_16_from_double
      Src: /src/cairo/src/cairo-xcb-surface-render.c:831,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 840
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 840
    functionName: _gradient_to_xcb
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_16_16_from_double
    - MAX
    - assert
    - _cairo_malloc_ab
    - unlikely
    linkageType: ''
    returnType: xcb_render_fixed_t*
    signature: "static xcb_render_fixed_t *_gradient_to_xcb (const cairo_gradient_pattern_t\
      \ *gradient,\t\t unsigned int *n_stops,\t\t char *buf, unsigned int buflen) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xcb_get_glyphset_index_for_format
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4219,1
    - Dst: _cairo_xcb_font_create
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4223,1
    - Dst: _cairo_xcb_connection_render_create_glyph_set
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4233,1
    - Dst: xcb_generate_id
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4230,1
    - Dst: _cairo_xcb_font_get
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4221,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4239
      start: 4210
    functionDepth: 0
    functionLinenumber: 4210
    functionLinenumberEnd: 4239
    functionName: _cairo_xcb_scaled_font_get_glyphset_info_for_format
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_xcb_get_glyphset_index_for_format
    - _cairo_xcb_connection_render_create_glyph_set
    - _cairo_xcb_font_create
    - _cairo_xcb_font_get
    - xcb_generate_id
    linkageType: ''
    returnType: cairo_xcb_font_glyphset_info_t*
    signature: "static cairo_xcb_font_glyphset_info_t *_cairo_xcb_scaled_font_get_glyphset_info_for_format\
      \ (cairo_xcb_connection_t *c,\t\t\t\t\t\t cairo_scaled_font_t *font,\t\t\t\t\
      \t\t cairo_format_t format) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xcb_font_get
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4319,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4324,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4320,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4331,1
    - Dst: _cairo_xcb_render_free_glyphs
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4326,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4332,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4333,1
    - Dst: _cairo_scaled_glyph_index
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4343,1
    - Dst: cairo_list_del
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4346,1
    - Dst: free
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4347,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 3
    argNames:
    - glyph_private
    - glyph
    - font
    argTypes:
    - cairo_scaled_glyph_private_t*
    - cairo_scaled_glyph_t*
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 4348
      start: 4307
    functionDepth: 0
    functionLinenumber: 4307
    functionLinenumberEnd: 4348
    functionName: _cairo_xcb_glyph_fini
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_scaled_glyph_index
    - free
    - ARRAY_LENGTH
    - unlikely
    - assert
    - _cairo_xcb_font_get
    - cairo_list_del
    - _cairo_error_throw
    - _cairo_xcb_render_free_glyphs
    - _cairo_calloc
    linkageType: ''
    returnType: void
    signature: "static void _cairo_xcb_glyph_fini (cairo_scaled_glyph_private_t *glyph_private,\t\
      \t cairo_scaled_glyph_t *glyph,\t\t cairo_scaled_font_t *font) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_16_16_from_double
      Src: /src/cairo/src/cairo-xcb-surface-render.c:883,1
    - Dst: _cairo_xcb_screen_lookup_linear_picture
      Src: /src/cairo/src/cairo-xcb-surface-render.c:860,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:872,1
    - Dst: free
      Src: /src/cairo/src/cairo-xcb-surface-render.c:874,1
    - Dst: _cairo_fixed_16_16_from_double
      Src: /src/cairo/src/cairo-xcb-surface-render.c:884,1
    - Dst: free
      Src: /src/cairo/src/cairo-xcb-surface-render.c:893,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface-render.c:899,1
    - Dst: _cairo_xcb_picture_set_matrix
      Src: /src/cairo/src/cairo-xcb-surface-render.c:904,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:865,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xcb-surface-render.c:866,1
    - Dst: _gradient_to_xcb
      Src: /src/cairo/src/cairo-xcb-surface-render.c:864,1
    - Dst: _cairo_fixed_16_16_from_double
      Src: /src/cairo/src/cairo-xcb-surface-render.c:881,1
    - Dst: _cairo_xcb_connection_render_create_linear_gradient
      Src: /src/cairo/src/cairo-xcb-surface-render.c:886,1
    - Dst: _cairo_xcb_screen_store_linear_picture
      Src: /src/cairo/src/cairo-xcb-surface-render.c:895,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:898,1
    - Dst: _cairo_xcb_picture_set_filter
      Src: /src/cairo/src/cairo-xcb-surface-render.c:908,1
    - Dst: _cairo_xcb_picture_set_extend
      Src: /src/cairo/src/cairo-xcb-surface-render.c:909,1
    - Dst: _cairo_xcb_picture_set_component_alpha
      Src: /src/cairo/src/cairo-xcb-surface-render.c:910,1
    - Dst: _cairo_gradient_pattern_fit_to_range
      Src: /src/cairo/src/cairo-xcb-surface-render.c:857,1
    - Dst: _cairo_xcb_picture_create
      Src: /src/cairo/src/cairo-xcb-surface-render.c:868,1
    - Dst: _cairo_fixed_16_16_from_double
      Src: /src/cairo/src/cairo-xcb-surface-render.c:882,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xcb-surface-render.c:900,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 914
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 914
    functionName: _cairo_xcb_linear_picture
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_xcb_picture_set_matrix
    - _cairo_gradient_pattern_fit_to_range
    - _cairo_xcb_screen_store_linear_picture
    - _cairo_xcb_connection_render_create_linear_gradient
    - _cairo_xcb_picture_create
    - free
    - _cairo_fixed_16_16_from_double
    - _cairo_xcb_picture_set_component_alpha
    - _cairo_xcb_screen_lookup_linear_picture
    - _cairo_xcb_picture_set_extend
    - cairo_surface_destroy
    - _gradient_to_xcb
    - _cairo_surface_create_in_error
    - _cairo_xcb_picture_set_filter
    - unlikely
    linkageType: ''
    returnType: cairo_xcb_picture_t*
    signature: "static cairo_xcb_picture_t *_cairo_xcb_linear_picture (cairo_xcb_surface_t\
      \ *target,\t\t\t const cairo_linear_pattern_t *pattern,\t\t\t const cairo_rectangle_int_t\
      \ *extents) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4254,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - info
    - glyph_index
    argTypes:
    - cairo_xcb_font_glyphset_info_t*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 4263
      start: 4241
    functionDepth: 0
    functionLinenumber: 4241
    functionLinenumberEnd: 4263
    functionName: _cairo_xcb_glyphset_info_has_pending_free_glyph
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - memmove
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _cairo_xcb_glyphset_info_has_pending_free_glyph\
      \ (\t\t\t\tcairo_xcb_font_glyphset_info_t *info,\t\t\t\tunsigned long glyph_index) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4358,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4360,1
    - Dst: _cairo_scaled_glyph_attach_private
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4362,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4359,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - c
    - glyph
    - info
    argTypes:
    - cairo_xcb_connection_t*
    - cairo_scaled_glyph_t*
    - cairo_xcb_font_glyphset_info_t*
    constantsTouched: []
    func_position:
      end: 4369
      start: 4351
    functionDepth: 0
    functionLinenumber: 4351
    functionLinenumberEnd: 4369
    functionName: _cairo_xcb_glyph_attach
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_scaled_glyph_attach_private
    - unlikely
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_xcb_glyph_attach (cairo_xcb_connection_t\
      \ *c,\t\t\t cairo_scaled_glyph_t *glyph,\t\t\t cairo_xcb_font_glyphset_info_t\
      \ *info) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xcb_picture_create
      Src: /src/cairo/src/cairo-xcb-surface-render.c:589,1
    - Dst: _cairo_xcb_connection_render_create_solid_fill
      Src: /src/cairo/src/cairo-xcb-surface-render.c:597,1
    - Dst: _cairo_xcb_connection_create_pixmap
      Src: /src/cairo/src/cairo-xcb-surface-render.c:604,1
    - Dst: _cairo_xcb_connection_render_create_picture
      Src: /src/cairo/src/cairo-xcb-surface-render.c:606,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:593,1
    - Dst: _cairo_xcb_connection_render_fill_rectangles
      Src: /src/cairo/src/cairo-xcb-surface-render.c:618,1
    - Dst: _picture_to_connection
      Src: /src/cairo/src/cairo-xcb-surface-render.c:618,1
    - Dst: _cairo_xcb_screen_get_gc
      Src: /src/cairo/src/cairo-xcb-surface-render.c:626,1
    - Dst: _cairo_xcb_connection_put_image
      Src: /src/cairo/src/cairo-xcb-surface-render.c:634,1
    - Dst: _cairo_xcb_screen_put_gc
      Src: /src/cairo/src/cairo-xcb-surface-render.c:639,1
    - Dst: xcb_free_pixmap
      Src: /src/cairo/src/cairo-xcb-surface-render.c:642,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 646
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 646
    functionName: _solid_picture
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_xcb_screen_get_gc
    - xcb_free_pixmap
    - _cairo_xcb_screen_put_gc
    - _cairo_xcb_connection_put_image
    - _cairo_xcb_picture_create
    - _cairo_xcb_connection_render_fill_rectangles
    - _cairo_xcb_connection_render_create_picture
    - _picture_to_connection
    - _cairo_xcb_connection_render_create_solid_fill
    - _cairo_xcb_connection_create_pixmap
    - unlikely
    linkageType: ''
    returnType: cairo_xcb_picture_t*
    signature: "static cairo_xcb_picture_t *_solid_picture (cairo_xcb_surface_t *target,\t\
      \tconst cairo_color_t *color) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_matrix_is_pixel_exact
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1034,1
    - Dst: _cairo_xcb_picture_set_matrix
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1040,1
    - Dst: _cairo_xcb_picture_set_filter
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1038,1
    - Dst: _cairo_xcb_picture_set_component_alpha
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1047,1
    - Dst: _cairo_xcb_picture_set_extend
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1046,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - picture
    - pattern
    - extents
    argTypes:
    - cairo_xcb_picture_t*
    - cairo_surface_pattern_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 1048
      start: 1025
    functionDepth: 0
    functionLinenumber: 1025
    functionLinenumberEnd: 1048
    functionName: _cairo_xcb_surface_setup_surface_picture
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_xcb_picture_set_matrix
    - _cairo_xcb_picture_set_component_alpha
    - _cairo_matrix_is_pixel_exact
    - _cairo_xcb_picture_set_extend
    - _cairo_xcb_picture_set_filter
    linkageType: ''
    returnType: void
    signature: "static void _cairo_xcb_surface_setup_surface_picture(cairo_xcb_picture_t\
      \ *picture,\t\t\t\t\t const cairo_surface_pattern_t *pattern,\t\t\t\t\t const\
      \ cairo_rectangle_int_t *extents) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xcb_connection_acquire
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2405,1
    - Dst: _cairo_xcb_surface_ensure_picture
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2427,1
    - Dst: _cairo_xcb_screen_get_gc
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2432,1
    - Dst: _cairo_xcb_connection_render_fill_rectangles
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2428,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2406,1
    - Dst: _cairo_xcb_connection_poly_fill_rectangle
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2435,1
    - Dst: _cairo_xcb_screen_put_gc
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2439,1
    - Dst: _cairo_xcb_connection_release
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2442,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - dst
    argTypes:
    - cairo_xcb_surface_t*
    constantsTouched: []
    func_position:
      end: 2446
      start: 2398
    functionDepth: 0
    functionLinenumber: 2398
    functionLinenumberEnd: 2446
    functionName: _cairo_xcb_surface_clear
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_xcb_screen_get_gc
    - _cairo_xcb_connection_acquire
    - _cairo_xcb_screen_put_gc
    - _cairo_xcb_surface_ensure_picture
    - _cairo_xcb_connection_render_fill_rectangles
    - _cairo_xcb_connection_poly_fill_rectangle
    - _cairo_xcb_connection_release
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_xcb_surface_clear (cairo_xcb_surface_t *dst) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3564,1
    - Dst: _operator_is_supported
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3564,1
    - Dst: need_unbounded_clip
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3577,1
    - Dst: _cairo_clip_is_region
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3572,1
    - Dst: _clip_and_composite
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3573,1
    - Dst: _clip_and_composite
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3582,1
    - Dst: need_bounded_clip
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3585,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 2
    argNames:
    - compositor
    - composite
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 3589
      start: 3554
    functionDepth: 0
    functionLinenumber: 3554
    functionLinenumberEnd: 3589
    functionName: _cairo_xcb_render_compositor_mask
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _operator_is_supported
    - _clip_and_composite
    - need_bounded_clip
    - _cairo_clip_is_region
    - need_unbounded_clip
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_xcb_render_compositor_mask (const cairo_compositor_t\
      \ *compositor,\t\t\t\t cairo_composite_rectangles_t *composite) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - format
    argTypes:
    - cairo_format_t
    constantsTouched: []
    func_position:
      end: 4198
      start: 4188
    functionDepth: 0
    functionLinenumber: 4188
    functionLinenumberEnd: 4198
    functionName: _cairo_xcb_get_glyphset_index_for_format
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: 'static int _cairo_xcb_get_glyphset_index_for_format (cairo_format_t
      format) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_polygon_init_with_clip
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3606,1
    - Dst: likely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3612,1
    - Dst: _composite_polygon
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3613,1
    - Dst: _cairo_path_fixed_stroke_to_polygon
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3607,1
    - Dst: _cairo_polygon_fini
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3618,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 10
    argNames:
    - dst
    - op
    - source
    - path
    - stroke_style
    - ctm
    - ctm_inverse
    - tolerance
    - antialias
    - extents
    argTypes:
    - cairo_xcb_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_antialias_t
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 3621
      start: 3591
    functionDepth: 0
    functionLinenumber: 3591
    functionLinenumberEnd: 3621
    functionName: _cairo_xcb_surface_render_stroke_as_polygon
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_polygon_init_with_clip
    - _cairo_path_fixed_stroke_to_polygon
    - _cairo_polygon_fini
    - _composite_polygon
    - likely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_xcb_surface_render_stroke_as_polygon\
      \ (cairo_xcb_surface_t\t*dst,\t\t\t\t\t cairo_operator_t\t\t op,\t\t\t\t\t const\
      \ cairo_pattern_t\t*source,\t\t\t\t\t const cairo_path_fixed_t\t\t*path,\t\t\
      \t\t\t const cairo_stroke_style_t\t*stroke_style,\t\t\t\t\t const cairo_matrix_t\t\
      *ctm,\t\t\t\t\t const cairo_matrix_t\t*ctm_inverse,\t\t\t\t\t double\t\t\t tolerance,\t\
      \t\t\t\t cairo_antialias_t\t\t antialias,\t\t\t\t\t cairo_composite_rectangles_t\
      \ *extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: _picture_to_connection
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_xcb_connection_t*
    signature: 'static inline cairo_xcb_connection_t *_picture_to_connection (cairo_xcb_picture_t
      *picture) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _solid_picture
      Src: /src/cairo/src/cairo-xcb-surface-render.c:655,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-xcb-surface-render.c:659,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 660
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 660
    functionName: _cairo_xcb_transparent_picture
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _solid_picture
    - cairo_surface_reference
    linkageType: ''
    returnType: cairo_xcb_picture_t*
    signature: 'static cairo_xcb_picture_t *_cairo_xcb_transparent_picture (cairo_xcb_surface_t
      *target) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_matrix_is_identity
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1073,1
    - Dst: _cairo_rectangle_contains_rectangle
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1094,1
    - Dst: _cairo_surface_create_scratch
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1100,1
    - Dst: _cairo_recording_surface_replay_with_clip
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1112,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1115,1
    - Dst: _cairo_pattern_init_static_copy
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1121,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1128,1
    - Dst: _cairo_pattern_get_source
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1070,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1078,1
    - Dst: _cairo_matrix_transform_bounding_box
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1085,1
    - Dst: floor
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1088,1
    - Dst: _cairo_xcb_transparent_picture
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1097,1
    - Dst: _cairo_rectangle_intersect
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1096,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1071,1
    - Dst: floor
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1089,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1109,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1110,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1117,1
    - Dst: _cairo_surface_is_recording
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1071,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1077,1
    - Dst: ceil
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1090,1
    - Dst: ceil
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1091,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1116,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1123,1
    - Dst: _copy_to_picture
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1125,1
    - Dst: _cairo_xcb_surface_setup_surface_picture
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1127,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1050
    functionDepth: 0
    functionLinenumber: 1050
    functionLinenumberEnd: 1130
    functionName: record_to_picture
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_matrix_transform_bounding_box
    - _cairo_pattern_get_source
    - _copy_to_picture
    - _cairo_surface_create_scratch
    - _cairo_matrix_is_identity
    - _cairo_surface_create_in_error
    - cairo_matrix_multiply
    - _cairo_xcb_transparent_picture
    - floor
    - _cairo_xcb_surface_setup_surface_picture
    - _cairo_surface_is_recording
    - ceil
    - _cairo_rectangle_contains_rectangle
    - _cairo_rectangle_intersect
    - assert
    - _cairo_pattern_init_static_copy
    - cairo_matrix_init_translate
    - cairo_surface_destroy
    - cairo_matrix_invert
    - _cairo_recording_surface_replay_with_clip
    - unlikely
    linkageType: ''
    returnType: cairo_xcb_picture_t*
    signature: "static cairo_xcb_picture_t *record_to_picture (cairo_surface_t *target,\t\
      \t const cairo_surface_pattern_t *pattern,\t\t const cairo_rectangle_int_t *extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_scaled_font_find_private
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4206,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4207
      start: 4202
    functionDepth: 0
    functionLinenumber: 4202
    functionLinenumberEnd: 4207
    functionName: _cairo_xcb_font_get
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_scaled_font_find_private
    linkageType: ''
    returnType: cairo_xcb_font_t*
    signature: "static inline cairo_xcb_font_t *_cairo_xcb_font_get (const cairo_xcb_connection_t\
      \ *c,\t\t cairo_scaled_font_t *font) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xcb_font_get
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4280,1
    - Dst: _cairo_xcb_glyphset_info_has_pending_free_glyph
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4287,1
    - Dst: _cairo_xcb_glyphset_info_has_pending_free_glyph
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4295,1
    - Dst: _cairo_xcb_get_glyphset_index_for_format
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4285,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4305
      start: 4271
    functionDepth: 0
    functionLinenumber: 4271
    functionLinenumberEnd: 4305
    functionName: _cairo_xcb_scaled_font_get_glyphset_info_for_pending_free_glyph
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_xcb_glyphset_info_has_pending_free_glyph
    - _cairo_xcb_get_glyphset_index_for_format
    - _cairo_xcb_font_get
    linkageType: ''
    returnType: cairo_xcb_font_glyphset_info_t*
    signature: "static cairo_xcb_font_glyphset_info_t *_cairo_xcb_scaled_font_get_glyphset_info_for_pending_free_glyph\
      \ (cairo_xcb_connection_t *c,\t\t\t\t\t cairo_scaled_font_t *font,\t\t\t\t\t\
      \ unsigned long glyph_index,\t\t\t\t\t cairo_image_surface_t *surface) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _gradient_to_xcb
      Src: /src/cairo/src/cairo-xcb-surface-render.c:939,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:940,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xcb-surface-render.c:941,1
    - Dst: _cairo_xcb_connection_render_create_radial_gradient
      Src: /src/cairo/src/cairo-xcb-surface-render.c:964,1
    - Dst: _cairo_fixed_16_16_from_double
      Src: /src/cairo/src/cairo-xcb-surface-render.c:961,1
    - Dst: _cairo_fixed_16_16_from_double
      Src: /src/cairo/src/cairo-xcb-surface-render.c:958,1
    - Dst: _cairo_xcb_screen_lookup_radial_picture
      Src: /src/cairo/src/cairo-xcb-surface-render.c:935,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:947,1
    - Dst: free
      Src: /src/cairo/src/cairo-xcb-surface-render.c:949,1
    - Dst: _cairo_fixed_16_16_from_double
      Src: /src/cairo/src/cairo-xcb-surface-render.c:959,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface-render.c:977,1
    - Dst: free
      Src: /src/cairo/src/cairo-xcb-surface-render.c:971,1
    - Dst: _cairo_xcb_picture_set_matrix
      Src: /src/cairo/src/cairo-xcb-surface-render.c:982,1
    - Dst: _cairo_fixed_16_16_from_double
      Src: /src/cairo/src/cairo-xcb-surface-render.c:956,1
    - Dst: _cairo_xcb_screen_store_radial_picture
      Src: /src/cairo/src/cairo-xcb-surface-render.c:973,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:976,1
    - Dst: _cairo_xcb_picture_set_filter
      Src: /src/cairo/src/cairo-xcb-surface-render.c:986,1
    - Dst: _cairo_xcb_picture_set_extend
      Src: /src/cairo/src/cairo-xcb-surface-render.c:987,1
    - Dst: _cairo_xcb_picture_set_component_alpha
      Src: /src/cairo/src/cairo-xcb-surface-render.c:988,1
    - Dst: _cairo_gradient_pattern_fit_to_range
      Src: /src/cairo/src/cairo-xcb-surface-render.c:932,1
    - Dst: _cairo_xcb_picture_create
      Src: /src/cairo/src/cairo-xcb-surface-render.c:943,1
    - Dst: _cairo_fixed_16_16_from_double
      Src: /src/cairo/src/cairo-xcb-surface-render.c:957,1
    - Dst: _cairo_fixed_16_16_from_double
      Src: /src/cairo/src/cairo-xcb-surface-render.c:962,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xcb-surface-render.c:978,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 992
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 992
    functionName: _cairo_xcb_radial_picture
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_xcb_screen_store_radial_picture
    - _cairo_xcb_connection_render_create_radial_gradient
    - _cairo_xcb_picture_set_matrix
    - _cairo_gradient_pattern_fit_to_range
    - _cairo_xcb_picture_set_component_alpha
    - _cairo_xcb_picture_create
    - free
    - _cairo_fixed_16_16_from_double
    - _cairo_xcb_picture_set_extend
    - cairo_surface_destroy
    - _gradient_to_xcb
    - _cairo_surface_create_in_error
    - _cairo_xcb_screen_lookup_radial_picture
    - _cairo_xcb_picture_set_filter
    - unlikely
    linkageType: ''
    returnType: cairo_xcb_picture_t*
    signature: "static cairo_xcb_picture_t *_cairo_xcb_radial_picture (cairo_xcb_surface_t\
      \ *target,\t\t\t const cairo_radial_pattern_t *pattern,\t\t\t const cairo_rectangle_int_t\
      \ *extents) "
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_STACK_ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1413,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1430,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1437,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1492,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1479,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1511,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1429,1
    - Dst: _cairo_xcb_picture_for_pattern
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1435,1
    - Dst: _cairo_fixed_integer_round_down
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1447,1
    - Dst: _cairo_fixed_integer_round_down
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1448,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1431,1
    - Dst: _render_operator
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1420,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1432,1
    - Dst: _cairo_fixed_integer_round_down
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1446,1
    - Dst: _cairo_xcb_connection_render_composite
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1482,1
    - Dst: _cairo_xcb_connection_render_composite
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1494,1
    - Dst: _cairo_xcb_picture_for_pattern
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1477,1
    - Dst: free
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1516,1
    - Dst: _cairo_xcb_connection_render_set_picture_clip_rectangles
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1463,1
    - Dst: _cairo_fixed_integer_round_down
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1449,1
    - Dst: _cairo_xcb_surface_clear_clip_region
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1508,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 72
    argCount: 6
    argNames:
    - dst
    - op
    - src_pattern
    - mask_pattern
    - extents
    - boxes
    argTypes:
    - cairo_xcb_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_pattern_t*
    - cairo_rectangle_int_t*
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 1519
      start: 1403
    functionDepth: 0
    functionLinenumber: 1403
    functionLinenumberEnd: 1519
    functionName: _render_composite_boxes
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - CAIRO_STACK_ARRAY_LENGTH
    - _cairo_error
    - free
    - ARRAY_LENGTH
    - _render_operator
    - _cairo_fixed_integer_round_down
    - cairo_surface_destroy
    - _cairo_xcb_surface_clear_clip_region
    - _cairo_xcb_connection_render_set_picture_clip_rectangles
    - _cairo_xcb_picture_for_pattern
    - _cairo_xcb_connection_render_composite
    - _cairo_malloc_ab
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _render_composite_boxes (cairo_xcb_surface_t\t\
      *dst,\t\t\t cairo_operator_t\t op,\t\t\t const cairo_pattern_t\t*src_pattern,\t\
      \t\t const cairo_pattern_t\t*mask_pattern,\t\t\t const cairo_rectangle_int_t\
      \ *extents,\t\t\t const cairo_boxes_t *boxes) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xcb_surface_clear
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1001,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1003,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1011,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1002,1
    - Dst: _cairo_xcb_picture_create
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1006,1
    - Dst: _cairo_xcb_connection_render_create_picture
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1014,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 1023
    functionName: _copy_to_picture
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_xcb_surface_clear
    - _cairo_xcb_picture_create
    - _cairo_xcb_connection_render_create_picture
    - _cairo_surface_create_in_error
    - unlikely
    linkageType: ''
    returnType: cairo_xcb_picture_t*
    signature: 'static cairo_xcb_picture_t *_copy_to_picture (cairo_xcb_surface_t
      *source) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2716,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2717,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2719,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2718,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - box
    - closure
    argTypes:
    - cairo_box_t*
    - void*
    constantsTouched: []
    func_position:
      end: 2720
      start: 2710
    functionDepth: 0
    functionLinenumber: 2710
    functionLinenumberEnd: 2720
    functionName: image_contains_box
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_integer_part
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t image_contains_box (cairo_box_t *box, void *closure) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xcb_connection_create_pixmap
      Src: /src/cairo/src/cairo-xcb-surface-render.c:329,1
    - Dst: _cairo_xcb_screen_get_gc
      Src: /src/cairo/src/cairo-xcb-surface-render.c:334,1
    - Dst: PIXMAN_FORMAT_BPP
      Src: /src/cairo/src/cairo-xcb-surface-render.c:350,1
    - Dst: _cairo_xcb_connection_shm_put_image
      Src: /src/cairo/src/cairo-xcb-surface-render.c:337,1
    - Dst: CAIRO_STRIDE_FOR_WIDTH_BPP
      Src: /src/cairo/src/cairo-xcb-surface-render.c:350,1
    - Dst: _cairo_xcb_connection_put_image
      Src: /src/cairo/src/cairo-xcb-surface-render.c:352,1
    - Dst: _cairo_xcb_connection_put_subimage
      Src: /src/cairo/src/cairo-xcb-surface-render.c:360,1
    - Dst: PIXMAN_FORMAT_BPP
      Src: /src/cairo/src/cairo-xcb-surface-render.c:364,1
    - Dst: _cairo_xcb_screen_put_gc
      Src: /src/cairo/src/cairo-xcb-surface-render.c:373,1
    - Dst: _cairo_xcb_picture_create
      Src: /src/cairo/src/cairo-xcb-surface-render.c:375,1
    - Dst: likely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:378,1
    - Dst: xcb_free_pixmap
      Src: /src/cairo/src/cairo-xcb-surface-render.c:384,1
    - Dst: _cairo_xcb_connection_render_create_picture
      Src: /src/cairo/src/cairo-xcb-surface-render.c:379,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 387
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 387
    functionName: _picture_from_image
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_xcb_screen_get_gc
    - xcb_free_pixmap
    - _cairo_xcb_screen_put_gc
    - _cairo_xcb_connection_put_image
    - _cairo_xcb_picture_create
    - _cairo_xcb_connection_render_create_picture
    - PIXMAN_FORMAT_BPP
    - _cairo_xcb_connection_put_subimage
    - CAIRO_STRIDE_FOR_WIDTH_BPP
    - _cairo_xcb_connection_create_pixmap
    - _cairo_xcb_connection_shm_put_image
    - likely
    linkageType: ''
    returnType: cairo_xcb_picture_t*
    signature: "static cairo_xcb_picture_t *_picture_from_image (cairo_xcb_surface_t\
      \ *target,\t\t xcb_render_pictformat_t format,\t\t cairo_image_surface_t *image,\t\
      \t cairo_xcb_shm_info_t *shm_info) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xcb_connection_render_fill_rectangles
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1799,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 6
    argNames:
    - closure
    - x
    - y
    - w
    - h
    - coverage
    argTypes:
    - void*
    - int16_t
    - int16_t
    - int16_t
    - int16_t
    - uint16_t
    constantsTouched: []
    func_position:
      end: 1803
      start: 1779
    functionDepth: 0
    functionLinenumber: 1779
    functionLinenumberEnd: 1803
    functionName: blt_in
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_xcb_connection_render_fill_rectangles
    linkageType: ''
    returnType: void
    signature: "static void blt_in(void *closure,\t\t int16_t x, int16_t y,\t\t int16_t\
      \ w, int16_t h,\t\t uint16_t coverage) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pattern_is_opaque_solid
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2145,1
    - Dst: can_reduce_alpha_op
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2146,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - dst
    - op
    - pattern
    argTypes:
    - cairo_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 2147
      start: 2138
    functionDepth: 0
    functionLinenumber: 2138
    functionLinenumberEnd: 2147
    functionName: reduce_alpha_op
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - can_reduce_alpha_op
    - _cairo_pattern_is_opaque_solid
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t reduce_alpha_op (cairo_surface_t *dst,\t\t cairo_operator_t\
      \ op,\t\t const cairo_pattern_t *pattern) "
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_is_image
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2786,1
    - Dst: _cairo_xcb_surface_clear
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2820,1
    - Dst: _cairo_surface_has_snapshot
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2794,1
    - Dst: cairo_boxes_for_each_box
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2816,1
    - Dst: _cairo_matrix_is_integer_translation
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2808,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2821,1
    - Dst: _cairo_xcb_connection_acquire
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2825,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2826,1
    - Dst: _cairo_xcb_screen_get_gc
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2831,1
    - Dst: cairo_boxes_for_each_box
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2836,1
    - Dst: _cairo_xcb_connection_release
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2839,1
    - Dst: _cairo_xcb_screen_put_gc
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2838,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 39
    argCount: 3
    argNames:
    - surface
    - source
    - boxes
    argTypes:
    - cairo_xcb_surface_t*
    - cairo_pattern_t*
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 2842
      start: 2767
    functionDepth: 0
    functionLinenumber: 2767
    functionLinenumberEnd: 2842
    functionName: _upload_image_inplace
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_xcb_screen_get_gc
    - _cairo_xcb_connection_acquire
    - _cairo_surface_is_image
    - _cairo_xcb_screen_put_gc
    - _cairo_xcb_surface_clear
    - cairo_boxes_for_each_box
    - _cairo_matrix_is_integer_translation
    - _cairo_surface_has_snapshot
    - _cairo_xcb_connection_release
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _upload_image_inplace (cairo_xcb_surface_t *surface,\t\
      \t const cairo_pattern_t *source,\t\t cairo_boxes_t *boxes) "
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xcb_connection_acquire
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2490,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2491,1
    - Dst: _cairo_xcb_surface_clear
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2495,1
    - Dst: _cairo_xcb_connection_release
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2497,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2512,1
    - Dst: _cairo_xcb_surface_fixup_unbounded
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2561,1
    - Dst: _cairo_xcb_connection_release
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2567,1
    - Dst: cairo_region_contains_rectangle
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2507,1
    - Dst: _cairo_xcb_surface_set_clip_region
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2511,1
    - Dst: _clip_and_composite_with_mask
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2537,1
    - Dst: draw_func
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2548,1
    - Dst: _clip_and_composite_source
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2526,1
    - Dst: _cairo_xcb_connection_release
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2513,1
    - Dst: _cairo_xcb_surface_ensure_picture
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2502,1
    - Dst: _clip_and_composite_combine
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2543,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2496,1
    - Dst: _cairo_clip_get_region
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2505,1
    - Dst: _cairo_xcb_surface_clear_clip_region
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2565,1
    - Dst: reduce_alpha_op
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2519,1
    - Dst: _cairo_xcb_surface_fixup_unbounded_with_mask
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2559,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 69
    argCount: 8
    argNames:
    - dst
    - op
    - src
    - draw_func
    - mask_func
    - draw_closure
    - extents
    - need_clip
    argTypes:
    - cairo_xcb_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - xcb_draw_func_t
    - xcb_draw_func_t
    - void*
    - cairo_composite_rectangles_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2570
      start: 2477
    functionDepth: 0
    functionLinenumber: 2477
    functionLinenumberEnd: 2570
    functionName: _clip_and_composite
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - cairo_region_contains_rectangle
    - _cairo_xcb_connection_acquire
    - draw_func
    - _cairo_xcb_surface_set_clip_region
    - _cairo_xcb_surface_clear
    - _cairo_xcb_surface_ensure_picture
    - _clip_and_composite_source
    - _clip_and_composite_with_mask
    - _cairo_clip_get_region
    - reduce_alpha_op
    - _clip_and_composite_combine
    - _cairo_xcb_surface_clear_clip_region
    - _cairo_xcb_surface_fixup_unbounded
    - _cairo_xcb_surface_fixup_unbounded_with_mask
    - _cairo_xcb_connection_release
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _clip_and_composite (cairo_xcb_surface_t\t*dst,\t\
      \t cairo_operator_t\t\t op,\t\t const cairo_pattern_t\t*src,\t\t xcb_draw_func_t\t\
      \t draw_func,\t\t xcb_draw_func_t\t\t mask_func,\t\t void\t\t\t*draw_closure,\t\
      \t cairo_composite_rectangles_t*extents,\t\t unsigned int need_clip) "
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_matrix_is_integer_translation
      Src: /src/cairo/src/cairo-xcb-surface-render.c:414,1
    - Dst: _cairo_radial_pattern_focus_is_inside
      Src: /src/cairo/src/cairo-xcb-surface-render.c:433,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 24
    argCount: 2
    argNames:
    - flags
    - pattern
    argTypes:
    - uint32_t
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 439
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 439
    functionName: _pattern_is_supported
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_radial_pattern_focus_is_inside
    - _cairo_matrix_is_integer_translation
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _pattern_is_supported (uint32_t flags,\t\t const\
      \ cairo_pattern_t *pattern) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xcb_surface_ensure_picture
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1823,1
    - Dst: likely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1834,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1857,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1820,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1844,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1871,1
    - Dst: _cairo_clip_is_region
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1865,1
    - Dst: _cairo_xcb_surface_create_similar
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1818,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1843,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1854,1
    - Dst: do_unaligned_box
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1859,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1870,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1855,1
    - Dst: mask_func
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1830,1
    - Dst: draw_func
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1839,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1845,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1856,1
    - Dst: _cairo_clip_combine_with_surface
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1868,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1872,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1877
      start: 1805
    functionDepth: 0
    functionLinenumber: 1805
    functionLinenumberEnd: 1877
    functionName: _create_composite_mask
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - draw_func
    - mask_func
    - _cairo_clip_combine_with_surface
    - _cairo_xcb_surface_ensure_picture
    - _cairo_clip_is_region
    - do_unaligned_box
    - cairo_surface_destroy
    - _cairo_xcb_surface_create_similar
    - _cairo_surface_create_in_error
    - _cairo_fixed_is_integer
    - likely
    - unlikely
    linkageType: ''
    returnType: cairo_xcb_surface_t*
    signature: "static cairo_xcb_surface_t *_create_composite_mask (cairo_clip_t\t\
      \t*clip,\t\t\txcb_draw_func_t\t\t draw_func,\t\t\txcb_draw_func_t\t\t mask_func,\t\
      \t\tvoid\t\t\t*draw_closure,\t\t\tcairo_xcb_surface_t\t*dst,\t\t\tconst cairo_rectangle_int_t*extents) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xcb_connection_render_fill_rectangles
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2212,1
    - Dst: _cairo_xcb_transparent_picture
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2220,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2221,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2233,1
    - Dst: _cairo_xcb_connection_render_composite
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2225,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 67
    argCount: 2
    argNames:
    - dst
    - rects
    argTypes:
    - cairo_xcb_surface_t*
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 2237
      start: 2149
    functionDepth: 0
    functionLinenumber: 2149
    functionLinenumberEnd: 2237
    functionName: _cairo_xcb_surface_fixup_unbounded
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_xcb_connection_render_fill_rectangles
    - cairo_surface_destroy
    - _cairo_xcb_connection_render_composite
    - _cairo_xcb_transparent_picture
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_xcb_surface_fixup_unbounded (cairo_xcb_surface_t\
      \ *dst,\t\t\t\t const cairo_composite_rectangles_t *rects) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_is_region
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2582,1
    - Dst: _cairo_xcb_surface_core_copy_boxes
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2601,1
    - Dst: _cairo_pattern_is_opaque
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2589,1
    - Dst: _cairo_xcb_surface_core_fill_boxes
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2596,1
    - Dst: _cairo_xcb_surface_core_fill_boxes
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2586,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 5
    argNames:
    - dst
    - op
    - src
    - boxes
    - extents
    argTypes:
    - cairo_xcb_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_boxes_t*
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 2602
      start: 2572
    functionDepth: 0
    functionLinenumber: 2572
    functionLinenumberEnd: 2602
    functionName: _core_boxes
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_xcb_surface_core_fill_boxes
    - _cairo_clip_is_region
    - _cairo_xcb_surface_core_copy_boxes
    - _cairo_pattern_is_opaque
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _core_boxes (cairo_xcb_surface_t *dst,\t cairo_operator_t\
      \ op,\t const cairo_pattern_t *src,\t cairo_boxes_t *boxes,\t const cairo_composite_rectangles_t\
      \ *extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_traps_extents
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2853,1
    - Dst: _cairo_composite_rectangles_intersect_mask_extents
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2854,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - extents
    - traps
    argTypes:
    - cairo_composite_rectangles_t*
    - cairo_traps_t*
    constantsTouched: []
    func_position:
      end: 2855
      start: 2844
    functionDepth: 0
    functionLinenumber: 2844
    functionLinenumberEnd: 2855
    functionName: trim_extents_to_traps
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_traps_extents
    - _cairo_composite_rectangles_intersect_mask_extents
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t trim_extents_to_traps (cairo_composite_rectangles_t\
      \ *extents,\t\t cairo_traps_t *traps) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xcb_surface_create_similar
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1954,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1960,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1956,1
    - Dst: _cairo_xcb_surface_ensure_picture
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1962,1
    - Dst: _cairo_xcb_connection_render_composite
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1977,1
    - Dst: _cairo_xcb_connection_render_fill_rectangles
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1998,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2008,1
    - Dst: get_clip_surface
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2011,1
    - Dst: _cairo_xcb_connection_render_composite
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2021,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2049,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2052,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2018,1
    - Dst: _cairo_xcb_connection_render_composite
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2030,1
    - Dst: _cairo_xcb_connection_render_composite
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2040,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2016,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2013,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 7
    argNames:
    - clip
    - op
    - pattern
    - draw_func
    - draw_closure
    - dst
    - extents
    argTypes:
    - cairo_clip_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - xcb_draw_func_t
    - void*
    - cairo_xcb_surface_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 2055
      start: 1938
    functionDepth: 0
    functionLinenumber: 1938
    functionLinenumberEnd: 2055
    functionName: _clip_and_composite_combine
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_xcb_surface_ensure_picture
    - _cairo_xcb_connection_render_fill_rectangles
    - assert
    - cairo_surface_destroy
    - _cairo_xcb_surface_create_similar
    - get_clip_surface
    - _cairo_xcb_connection_render_composite
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _clip_and_composite_combine (cairo_clip_t\t\t\
      *clip,\t\t\t cairo_operator_t\t\t op,\t\t\t const cairo_pattern_t\t*pattern,\t\
      \t\t xcb_draw_func_t\t\t draw_func,\t\t\t void\t\t\t*draw_closure,\t\t\t cairo_xcb_surface_t\t\
      *dst,\t\t\t const cairo_rectangle_int_t*extents) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3828,1
    - Dst: _cairo_boxes_init_with_clip
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3841,1
    - Dst: _cairo_path_fixed_fill_rectilinear_to_boxes
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3842,1
    - Dst: _operator_is_supported
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3828,1
    - Dst: _cairo_path_fixed_fill_is_rectilinear
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3838,1
    - Dst: likely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3846,1
    - Dst: _clip_and_composite_boxes
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3847,1
    - Dst: _cairo_boxes_fini
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3850,1
    - Dst: _cairo_xcb_surface_render_fill_as_polygon
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3855,1
    - Dst: _cairo_xcb_surface_render_fill_via_mask
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3859,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 6
    argNames:
    - compositor
    - composite
    - path
    - fill_rule
    - tolerance
    - antialias
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    constantsTouched: []
    func_position:
      end: 3868
      start: 3815
    functionDepth: 0
    functionLinenumber: 3815
    functionLinenumberEnd: 3868
    functionName: _cairo_xcb_render_compositor_fill
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_fill_is_rectilinear
    - _operator_is_supported
    - _cairo_path_fixed_fill_rectilinear_to_boxes
    - _cairo_xcb_surface_render_fill_as_polygon
    - _clip_and_composite_boxes
    - _cairo_xcb_surface_render_fill_via_mask
    - _cairo_boxes_init_with_clip
    - likely
    - _cairo_boxes_fini
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_xcb_render_compositor_fill (const cairo_compositor_t\
      \ *compositor,\t\t\t\t cairo_composite_rectangles_t *composite,\t\t\t\t const\
      \ cairo_path_fixed_t *path,\t\t\t\t cairo_fill_rule_t fill_rule,\t\t\t\t double\
      \ tolerance,\t\t\t\t cairo_antialias_t antialias) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-xcb-surface-render.c:116,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xcb-surface-render.c:119,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:117,1
    - Dst: _cairo_surface_init
      Src: /src/cairo/src/cairo-xcb-surface-render.c:121,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xcb-surface-render.c:119,1
    - Dst: _cairo_content_from_pixman_format
      Src: /src/cairo/src/cairo-xcb-surface-render.c:124,1
    - Dst: cairo_list_add
      Src: /src/cairo/src/cairo-xcb-surface-render.c:127,1
    - Dst: xcb_generate_id
      Src: /src/cairo/src/cairo-xcb-surface-render.c:130,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 145
    functionName: _cairo_xcb_picture_create
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_surface_init
    - _cairo_error
    - _cairo_content_from_pixman_format
    - cairo_list_add
    - _cairo_surface_create_in_error
    - xcb_generate_id
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_xcb_picture_t*
    signature: "static cairo_xcb_picture_t *_cairo_xcb_picture_create (cairo_xcb_screen_t\
      \ *screen,\t\t\t pixman_format_code_t pixman_format,\t\t\t xcb_render_pictformat_t\
      \ xrender_format,\t\t\t int width, int height) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xcb_surface_create_similar_image
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3891,1
    - Dst: _cairo_clip_copy_region
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3898,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3895,1
    - Dst: _cairo_surface_offset_glyphs
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3899,1
    - Dst: _cairo_format_from_content
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3892,1
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3904,1
    - Dst: likely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3905,1
    - Dst: _cairo_pattern_init_for_surface
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3908,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3913,1
    - Dst: _clip_and_composite
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3914,1
    - Dst: need_bounded_clip
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3916,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3921,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3922,1
    - Dst: _cairo_pattern_fini
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3918,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 7
    argNames:
    - dst
    - op
    - source
    - scaled_font
    - glyphs
    - num_glyphs
    - extents
    argTypes:
    - cairo_xcb_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_scaled_font_t*
    - cairo_glyph_t*
    - int
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 3925
      start: 3870
    functionDepth: 0
    functionLinenumber: 3870
    functionLinenumberEnd: 3925
    functionName: _cairo_xcb_surface_render_glyphs_via_mask
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_surface_offset_glyphs
    - _cairo_pattern_init_for_surface
    - _cairo_format_from_content
    - _cairo_clip_copy_region
    - _cairo_clip_destroy
    - _clip_and_composite
    - cairo_surface_finish
    - need_bounded_clip
    - _cairo_xcb_surface_create_similar_image
    - _cairo_pattern_fini
    - cairo_surface_destroy
    - cairo_matrix_init_translate
    - likely
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_xcb_surface_render_glyphs_via_mask (cairo_xcb_surface_t\t\
      \t*dst,\t\t\t\t\t cairo_operator_t\t\t op,\t\t\t\t\t const cairo_pattern_t\t\
      *source,\t\t\t\t\t cairo_scaled_font_t\t\t*scaled_font,\t\t\t\t\t cairo_glyph_t\t\
      \t*glyphs,\t\t\t\t\t int\t\t\t\t num_glyphs,\t\t\t\t\t cairo_composite_rectangles_t\
      \ *extents) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _create_composite_mask
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1895,1
    - Dst: _cairo_xcb_picture_for_pattern
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1902,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1903,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1898,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1904,1
    - Dst: _cairo_xcb_connection_render_composite
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1908,1
    - Dst: _render_operator
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1909,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1918,1
    - Dst: _cairo_xcb_connection_render_composite
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1920,1
    - Dst: _render_operator
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1921,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1930,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 8
    argNames:
    - clip
    - op
    - pattern
    - draw_func
    - mask_func
    - draw_closure
    - dst
    - extents
    argTypes:
    - cairo_clip_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - xcb_draw_func_t
    - xcb_draw_func_t
    - void*
    - cairo_xcb_surface_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 1933
      start: 1882
    functionDepth: 0
    functionLinenumber: 1882
    functionLinenumberEnd: 1933
    functionName: _clip_and_composite_with_mask
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _create_composite_mask
    - _render_operator
    - cairo_surface_destroy
    - _cairo_xcb_picture_for_pattern
    - _cairo_xcb_connection_render_composite
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _clip_and_composite_with_mask (cairo_clip_t\t\
      \t*clip,\t\t\t cairo_operator_t\t\t op,\t\t\t const cairo_pattern_t\t*pattern,\t\
      \t\t xcb_draw_func_t\t\t draw_func,\t\t\t xcb_draw_func_t\t\t mask_func,\t\t\
      \t void\t\t\t*draw_closure,\t\t\t cairo_xcb_surface_t\t*dst,\t\t\t const cairo_rectangle_int_t*extents) "
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xcb_connection_render_change_picture
      Src: /src/cairo/src/cairo-xcb-surface-render.c:288,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 10
    argCount: 2
    argNames:
    - surface
    - antialias
    argTypes:
    - cairo_xcb_surface_t*
    - cairo_antialias_t
    constantsTouched: []
    func_position:
      end: 294
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 294
    functionName: _cairo_xcb_surface_set_precision
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_xcb_connection_render_change_picture
    linkageType: ''
    returnType: void
    signature: "static void _cairo_xcb_surface_set_precision (cairo_xcb_surface_t\t\
      *surface,\t\t\t\t cairo_antialias_t\t antialias) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1551,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1555,1
    - Dst: _cairo_fixed_16_16_from_double
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1558,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1554,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1552,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1558,1
    - Dst: _cairo_fixed_16_16_from_double
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1559,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1559,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 4
    argNames:
    - line
    - top
    - bottom
    - out
    argTypes:
    - cairo_line_t*
    - cairo_fixed_t
    - cairo_fixed_t
    - xcb_render_linefix_t*
    constantsTouched: []
    func_position:
      end: 1560
      start: 1542
    functionDepth: 0
    functionLinenumber: 1542
    functionLinenumberEnd: 1560
    functionName: _project_line_x_onto_16_16
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_16_16_from_double
    - _cairo_fixed_to_double
    linkageType: ''
    returnType: void
    signature: "static void _project_line_x_onto_16_16 (const cairo_line_t *line,\t\
      \t\t cairo_fixed_t top,\t\t\t cairo_fixed_t bottom,\t\t\t xcb_render_linefix_t\
      \ *out) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-surface-render.c:300,1
    - Dst: xcb_generate_id
      Src: /src/cairo/src/cairo-xcb-surface-render.c:310,1
    - Dst: _cairo_xcb_connection_render_create_picture
      Src: /src/cairo/src/cairo-xcb-surface-render.c:311,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_xcb_surface_t*
    constantsTouched: []
    func_position:
      end: 317
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 317
    functionName: _cairo_xcb_surface_ensure_picture
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_xcb_connection_render_create_picture
    - xcb_generate_id
    - assert
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_xcb_surface_ensure_picture (cairo_xcb_surface_t
      *surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_is_region
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2458,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - extents
    argTypes:
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 2461
      start: 2454
    functionDepth: 0
    functionLinenumber: 2454
    functionLinenumberEnd: 2461
    functionName: need_bounded_clip
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_clip_is_region
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t need_bounded_clip (cairo_composite_rectangles_t
      *extents) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_scaled_font_reset_cache
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4173,1
    - Dst: _cairo_xcb_font_destroy
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - font
    argTypes:
    - cairo_xcb_font_t*
    constantsTouched: []
    func_position:
      end: 4176
      start: 4165
    functionDepth: 0
    functionLinenumber: 4165
    functionLinenumberEnd: 4176
    functionName: _cairo_xcb_font_close
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_xcb_font_destroy
    - _cairo_scaled_font_reset_cache
    linkageType: ''
    returnType: void
    signature: 'void _cairo_xcb_font_close (cairo_xcb_font_t *font) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_is_region
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2469,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - extents
    argTypes:
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 2475
      start: 2463
    functionDepth: 0
    functionLinenumber: 2463
    functionLinenumberEnd: 2475
    functionName: need_unbounded_clip
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_clip_is_region
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t need_unbounded_clip (cairo_composite_rectangles_t
      *extents) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xcb_connection_render_free_glyphs
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - connection
    - to_free
    argTypes:
    - cairo_xcb_connection_t*
    - cairo_xcb_font_glyphset_free_glyphs_t*
    constantsTouched: []
    func_position:
      end: 4186
      start: 4178
    functionDepth: 0
    functionLinenumber: 4178
    functionLinenumberEnd: 4186
    functionName: _cairo_xcb_render_free_glyphs
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_xcb_connection_render_free_glyphs
    linkageType: ''
    returnType: void
    signature: "static void _cairo_xcb_render_free_glyphs (cairo_xcb_connection_t\
      \ *connection,\t\t\t cairo_xcb_font_glyphset_free_glyphs_t *to_free) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xcb_transparent_picture
      Src: /src/cairo/src/cairo-xcb-surface-render.c:699,1
    - Dst: _cairo_color_equal
      Src: /src/cairo/src/cairo-xcb-surface-render.c:720,1
    - Dst: _cairo_xcb_black_picture
      Src: /src/cairo/src/cairo-xcb-surface-render.c:706,1
    - Dst: _cairo_xcb_white_picture
      Src: /src/cairo/src/cairo-xcb-surface-render.c:713,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-xcb-surface-render.c:721,1
    - Dst: _solid_picture
      Src: /src/cairo/src/cairo-xcb-surface-render.c:725,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:726,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xcb-surface-render.c:729,1
    - Dst: hars_petruska_f54_1_random
      Src: /src/cairo/src/cairo-xcb-surface-render.c:732,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xcb-surface-render.c:732,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface-render.c:733,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-xcb-surface-render.c:735,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 739
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 739
    functionName: _cairo_xcb_solid_picture
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_xcb_black_picture
    - _solid_picture
    - cairo_surface_reference
    - ARRAY_LENGTH
    - _cairo_xcb_white_picture
    - cairo_surface_destroy
    - hars_petruska_f54_1_random
    - _cairo_color_equal
    - _cairo_xcb_transparent_picture
    - unlikely
    linkageType: ''
    returnType: cairo_xcb_picture_t*
    signature: "static cairo_xcb_picture_t *_cairo_xcb_solid_picture (cairo_xcb_surface_t\
      \ *target,\t\t\t const cairo_solid_pattern_t *pattern) "
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_is_region
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2612,1
    - Dst: _cairo_xcb_surface_ensure_picture
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2629,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2626,1
    - Dst: _cairo_xcb_connection_acquire
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2625,1
    - Dst: _render_fill_boxes
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2640,1
    - Dst: get_clip_surface
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2650,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2652,1
    - Dst: _cairo_pattern_init_for_surface
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2655,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2657,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2660,1
    - Dst: _render_composite_boxes
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2668,1
    - Dst: _cairo_xcb_surface_fixup_unbounded_boxes
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2678,1
    - Dst: _cairo_xcb_connection_release
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2682,1
    - Dst: _cairo_pattern_fini
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2673,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 51
    argCount: 5
    argNames:
    - dst
    - op
    - src
    - boxes
    - extents
    argTypes:
    - cairo_xcb_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_boxes_t*
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 2685
      start: 2604
    functionDepth: 0
    functionLinenumber: 2604
    functionLinenumberEnd: 2685
    functionName: _composite_boxes
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_init_for_surface
    - _cairo_xcb_connection_acquire
    - _render_fill_boxes
    - _cairo_xcb_surface_ensure_picture
    - _render_composite_boxes
    - _cairo_clip_is_region
    - _cairo_pattern_fini
    - _cairo_xcb_surface_fixup_unbounded_boxes
    - cairo_surface_destroy
    - get_clip_surface
    - cairo_matrix_init_translate
    - _cairo_xcb_connection_release
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _composite_boxes (cairo_xcb_surface_t *dst,\t\
      \t cairo_operator_t op,\t\t const cairo_pattern_t *src,\t\t cairo_boxes_t *boxes,\t\
      \t const cairo_composite_rectangles_t *extents) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xcb_surface_create_similar_image
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3642,1
    - Dst: _cairo_clip_copy_region
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3648,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3645,1
    - Dst: _cairo_surface_offset_stroke
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3649,1
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3656,1
    - Dst: likely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3657,1
    - Dst: _cairo_pattern_init_for_surface
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3660,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3663,1
    - Dst: _clip_and_composite
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3664,1
    - Dst: need_bounded_clip
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3666,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3670,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3671,1
    - Dst: _cairo_pattern_fini
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3667,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 10
    argNames:
    - dst
    - op
    - source
    - path
    - stroke_style
    - ctm
    - ctm_inverse
    - tolerance
    - antialias
    - extents
    argTypes:
    - cairo_xcb_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_antialias_t
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 3674
      start: 3623
    functionDepth: 0
    functionLinenumber: 3623
    functionLinenumberEnd: 3674
    functionName: _cairo_xcb_surface_render_stroke_via_mask
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_init_for_surface
    - _cairo_clip_destroy
    - _cairo_clip_copy_region
    - _clip_and_composite
    - cairo_surface_finish
    - _cairo_surface_offset_stroke
    - need_bounded_clip
    - _cairo_xcb_surface_create_similar_image
    - _cairo_pattern_fini
    - cairo_surface_destroy
    - cairo_matrix_init_translate
    - likely
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_xcb_surface_render_stroke_via_mask (cairo_xcb_surface_t\t\
      \t*dst,\t\t\t\t\t cairo_operator_t\t\t op,\t\t\t\t\t const cairo_pattern_t\t\
      *source,\t\t\t\t\t const cairo_path_fixed_t\t\t*path,\t\t\t\t\t const cairo_stroke_style_t\t\
      *stroke_style,\t\t\t\t\t const cairo_matrix_t\t\t*ctm,\t\t\t\t\t const cairo_matrix_t\t\
      \t*ctm_inverse,\t\t\t\t\t double\t\t\t tolerance,\t\t\t\t\t cairo_antialias_t\t\
      \t antialias,\t\t\t\t\t cairo_composite_rectangles_t *extents) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xcb_shm_image_create
      Src: /src/cairo/src/cairo-xcb-surface-render.c:760,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/src/cairo-xcb-surface-render.c:768,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:764,1
    - Dst: _cairo_pattern_init_static_copy
      Src: /src/cairo/src/cairo-xcb-surface-render.c:767,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xcb-surface-render.c:765,1
    - Dst: _cairo_surface_paint
      Src: /src/cairo/src/cairo-xcb-surface-render.c:769,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:773,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface-render.c:774,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xcb-surface-render.c:775,1
    - Dst: _picture_from_image
      Src: /src/cairo/src/cairo-xcb-surface-render.c:778,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:781,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface-render.c:779,1
    - Dst: _cairo_xcb_picture_set_component_alpha
      Src: /src/cairo/src/cairo-xcb-surface-render.c:784,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 789
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 789
    functionName: _render_to_picture
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_xcb_picture_set_component_alpha
    - cairo_matrix_translate
    - _cairo_pattern_init_static_copy
    - cairo_surface_destroy
    - _picture_from_image
    - _cairo_surface_create_in_error
    - _cairo_xcb_shm_image_create
    - _cairo_surface_paint
    - unlikely
    linkageType: ''
    returnType: cairo_xcb_picture_t*
    signature: "static cairo_xcb_picture_t *_render_to_picture (cairo_xcb_surface_t\
      \ *target,\t\t const cairo_pattern_t *pattern,\t\t const cairo_rectangle_int_t\
      \ *extents) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3691,1
    - Dst: _operator_is_supported
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3691,1
    - Dst: _cairo_boxes_init_with_clip
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3704,1
    - Dst: _cairo_path_fixed_stroke_rectilinear_to_boxes
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3705,1
    - Dst: _cairo_path_fixed_stroke_is_rectilinear
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3701,1
    - Dst: likely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3710,1
    - Dst: _clip_and_composite_boxes
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3711,1
    - Dst: _cairo_boxes_fini
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3714,1
    - Dst: _cairo_xcb_surface_render_stroke_as_polygon
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3719,1
    - Dst: _cairo_xcb_surface_render_stroke_via_mask
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3725,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 8
    argNames:
    - compositor
    - composite
    - path
    - style
    - ctm
    - ctm_inverse
    - tolerance
    - antialias
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_antialias_t
    constantsTouched: []
    func_position:
      end: 3736
      start: 3676
    functionDepth: 0
    functionLinenumber: 3676
    functionLinenumberEnd: 3736
    functionName: _cairo_xcb_render_compositor_stroke
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _operator_is_supported
    - _cairo_path_fixed_stroke_rectilinear_to_boxes
    - _cairo_xcb_surface_render_stroke_via_mask
    - _clip_and_composite_boxes
    - _cairo_xcb_surface_render_stroke_as_polygon
    - _cairo_boxes_init_with_clip
    - _cairo_path_fixed_stroke_is_rectilinear
    - likely
    - _cairo_boxes_fini
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_xcb_render_compositor_stroke (const cairo_compositor_t\
      \ *compositor,\t\t\t\t cairo_composite_rectangles_t *composite,\t\t\t\t const\
      \ cairo_path_fixed_t *path,\t\t\t\t const cairo_stroke_style_t *style,\t\t\t\
      \t const cairo_matrix_t *ctm,\t\t\t\t const cairo_matrix_t *ctm_inverse,\t\t\
      \t\t double tolerance,\t\t\t\t cairo_antialias_t antialias) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2698,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 9
    argCount: 3
    argNames:
    - boxes
    - (*func)
    - data
    argTypes:
    - cairo_boxes_t*
    - cairo_bool_t
    - void*
    constantsTouched: []
    func_position:
      end: 2703
      start: 2687
    functionDepth: 0
    functionLinenumber: 2687
    functionLinenumberEnd: 2703
    functionName: cairo_boxes_for_each_box
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - func
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t cairo_boxes_for_each_box (cairo_boxes_t *boxes,\t\
      \t\t cairo_bool_t (*func) (cairo_box_t *box,\t\t\t\t\t\tvoid *data),\t\t\t void\
      \ *data) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _solid_picture
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3424,1
    - Dst: _cairo_xcb_connection_render_composite
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3437,1
    - Dst: _cairo_xcb_connection_render_composite
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3427,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3449,1
    - Dst: likely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:3425,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 6
    argNames:
    - closure
    - x
    - y
    - w
    - h
    - coverage
    argTypes:
    - void*
    - int16_t
    - int16_t
    - int16_t
    - int16_t
    - uint16_t
    constantsTouched: []
    func_position:
      end: 3450
      start: 3412
    functionDepth: 0
    functionLinenumber: 3412
    functionLinenumberEnd: 3450
    functionName: composite_opacity
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _solid_picture
    - _cairo_xcb_connection_render_composite
    - likely
    - cairo_surface_destroy
    linkageType: ''
    returnType: void
    signature: "static void composite_opacity(void *closure,\t\t\t int16_t x, int16_t\
      \ y,\t\t\t int16_t w, int16_t h,\t\t\t uint16_t coverage) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record_to_picture
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - CAIRO_SURFACE_TYPE_RECORDING
    argTypes:
    - source
    constantsTouched: []
    func_position:
      end: 1251
      start: 1244
    functionDepth: 0
    functionLinenumber: 1244
    functionLinenumberEnd: 1251
    functionName: if
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - record_to_picture
    linkageType: ''
    returnType: else
    signature: 'else if (source->type == CAIRO_SURFACE_TYPE_RECORDING) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xcb_connection_acquire
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4111,1
    - Dst: _cairo_xcb_connection_render_free_glyph_set
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4119,1
    - Dst: _cairo_xcb_connection_release
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4125,1
    - Dst: _cairo_xcb_font_destroy
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4127,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 2
    argNames:
    - abstract_private
    - scaled_font
    argTypes:
    - cairo_scaled_font_private_t*
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 4128
      start: 4099
    functionDepth: 0
    functionLinenumber: 4099
    functionLinenumberEnd: 4128
    functionName: _cairo_xcb_font_fini
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_xcb_font_destroy
    - _cairo_xcb_connection_acquire
    - _cairo_xcb_connection_release
    - _cairo_xcb_connection_render_free_glyph_set
    linkageType: ''
    returnType: void
    signature: "static void _cairo_xcb_font_fini (cairo_scaled_font_private_t *abstract_private,\t\
      \t cairo_scaled_font_t *scaled_font) "
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4582,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4583,1
    - Dst: _start_new_glyph_elt
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4590,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4584,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4585,1
    - Dst: composite_text_func
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4625,1
    - Dst: _render_operator
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4626,1
    - Dst: free
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4636,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 47
    argCount: 9
    argNames:
    - dst
    - op
    - src
    - /* info for this chunk */
    - glyphs
    - num_glyphs
    - width
    - estimated_req_size
    - info
    - mask_format
    argTypes:
    - cairo_xcb_surface_t*
    - cairo_operator_t
    - cairo_xcb_picture_t*
    - cairo_xcb_glyph_t*
    - int
    - int
    - int
    - cairo_xcb_font_glyphset_info_t*
    - xcb_render_pictformat_t
    constantsTouched: []
    func_position:
      end: 4639
      start: 4563
    functionDepth: 0
    functionLinenumber: 4563
    functionLinenumberEnd: 4639
    functionName: _emit_glyphs_chunk
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_malloc
    - _start_new_glyph_elt
    - _cairo_error
    - free
    - ARRAY_LENGTH
    - _render_operator
    - composite_text_func
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _emit_glyphs_chunk (cairo_xcb_surface_t *dst,\t\
      \t cairo_operator_t op,\t\t cairo_xcb_picture_t *src,\t\t /* info for this chunk\
      \ */\t\t cairo_xcb_glyph_t *glyphs,\t\t int num_glyphs,\t\t int width,\t\t int\
      \ estimated_req_size,\t\t cairo_xcb_font_glyphset_info_t *info,\t\t xcb_render_pictformat_t\
      \ mask_format) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4138,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4139,1
    - Dst: cairo_list_add
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4147,1
    - Dst: _cairo_scaled_font_attach_private
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4142,1
    - Dst: _cairo_xcb_connection_reference
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4146,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4163
      start: 4131
    functionDepth: 0
    functionLinenumber: 4131
    functionLinenumberEnd: 4163
    functionName: _cairo_xcb_font_create
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - cairo_list_add
    - _cairo_scaled_font_attach_private
    - _cairo_xcb_connection_reference
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_xcb_font_t*
    signature: "static cairo_xcb_font_t *_cairo_xcb_font_create (cairo_xcb_connection_t\
      \ *connection,\t\t\tcairo_scaled_font_t *font) "
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_scaled_glyph_lookup
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4688,1
    - Dst: _cairo_xcb_surface_add_glyph
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4700,1
    - Dst: _start_new_glyph_elt
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4787,1
    - Dst: _cairo_xcb_picture_for_pattern
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4671,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4667,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4680,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4759,1
    - Dst: _cairo_xcb_surface_clear
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4666,1
    - Dst: memset
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4675,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4694,1
    - Dst: _cairo_lround
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4713,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4758,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4704,1
    - Dst: _emit_glyphs_chunk
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4798,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4672,1
    - Dst: _cairo_scaled_glyph_index
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4686,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4693,1
    - Dst: _emit_glyphs_chunk
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4753,1
    - Dst: _cairo_lround
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4712,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4703,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface-render.c:4805,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 103
    argCount: 8
    argNames:
    - closure
    - dst
    - op
    - pattern
    - dst_x
    - dst_y
    - extents
    - clip
    argTypes:
    - void*
    - cairo_xcb_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - int
    - int
    - cairo_rectangle_int_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 4808
      start: 4641
    functionDepth: 0
    functionLinenumber: 4641
    functionLinenumberEnd: 4808
    functionName: _composite_glyphs
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_scaled_glyph_index
    - _start_new_glyph_elt
    - _emit_glyphs_chunk
    - _cairo_xcb_surface_clear
    - _cairo_scaled_glyph_lookup
    - ARRAY_LENGTH
    - cairo_surface_destroy
    - _cairo_xcb_picture_for_pattern
    - _cairo_lround
    - memset
    - _cairo_xcb_surface_add_glyph
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _composite_glyphs (void\t\t\t\t*closure,\t\
      \t cairo_xcb_surface_t\t\t*dst,\t\t cairo_operator_t\t\t op,\t\t const cairo_pattern_t\t\
      \t*pattern,\t\t int\t\t\t\t dst_x,\t\t int\t\t\t\t dst_y,\t\t const cairo_rectangle_int_t\t\
      *extents,\t\t cairo_clip_t\t\t\t*clip) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_STACK_ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xcb-surface-render.c:218,1
    - Dst: cairo_region_num_rectangles
      Src: /src/cairo/src/cairo-xcb-surface-render.c:222,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:226,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-xcb-surface-render.c:225,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xcb-surface-render.c:224,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xcb-surface-render.c:227,1
    - Dst: cairo_region_get_rectangle
      Src: /src/cairo/src/cairo-xcb-surface-render.c:234,1
    - Dst: _cairo_xcb_connection_render_set_picture_clip_rectangles
      Src: /src/cairo/src/cairo-xcb-surface-render.c:242,1
    - Dst: free
      Src: /src/cairo/src/cairo-xcb-surface-render.c:248,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - surface
    - region
    argTypes:
    - cairo_xcb_surface_t*
    - cairo_region_t*
    constantsTouched: []
    func_position:
      end: 251
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 251
    functionName: _cairo_xcb_surface_set_clip_region
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - CAIRO_STACK_ARRAY_LENGTH
    - _cairo_error
    - free
    - ARRAY_LENGTH
    - cairo_region_num_rectangles
    - cairo_region_get_rectangle
    - _cairo_xcb_connection_render_set_picture_clip_rectangles
    - _cairo_malloc_ab
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_xcb_surface_set_clip_region (cairo_xcb_surface_t\
      \ *surface,\t\t\t\t cairo_region_t\t*region) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1731,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1734,1
    - Dst: blt
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1735,1
    - Dst: _cairo_fixed_fractional_part
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1736,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1732,1
    - Dst: blt
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1741,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1743,1
    - Dst: blt
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1744,1
    - Dst: _cairo_fixed_fractional_part
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1745,1
    - Dst: blt
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1747,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 7
    argNames:
    - (*blt)
    - closure
    - b
    - tx
    - y
    - h
    - coverage
    argTypes:
    - void
    - void*
    - cairo_box_t*
    - int
    - int
    - int
    - uint16_t
    constantsTouched: []
    func_position:
      end: 1749
      start: 1722
    functionDepth: 0
    functionLinenumber: 1722
    functionLinenumberEnd: 1749
    functionName: do_unaligned_row
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_fractional_part
    - _cairo_fixed_is_integer
    - blt
    - _cairo_fixed_integer_part
    linkageType: ''
    returnType: void
    signature: "static void do_unaligned_row(void (*blt)(void *closure,\t\t\t\t\t\
      \ int16_t x, int16_t y,\t\t\t\t\t int16_t w, int16_t h,\t\t\t\t\t uint16_t coverage),\t\
      \t\t void *closure,\t\t\t const cairo_box_t *b,\t\t\t int tx, int y, int h,\t\
      \t\t uint16_t coverage) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_clip_surface
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2247,1
    - Dst: _cairo_xcb_connection_render_composite
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2274,1
    - Dst: _cairo_xcb_connection_render_composite
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2290,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2248,1
    - Dst: _cairo_xcb_connection_render_composite
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2258,1
    - Dst: _cairo_xcb_connection_render_composite
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2306,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2315,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 3
    argNames:
    - dst
    - rects
    - clip
    argTypes:
    - cairo_xcb_surface_t*
    - cairo_composite_rectangles_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 2318
      start: 2239
    functionDepth: 0
    functionLinenumber: 2239
    functionLinenumberEnd: 2318
    functionName: _cairo_xcb_surface_fixup_unbounded_with_mask
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - get_clip_surface
    - _cairo_xcb_connection_render_composite
    - cairo_surface_destroy
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_xcb_surface_fixup_unbounded_with_mask\
      \ (cairo_xcb_surface_t *dst,\t\t\t\t\t const cairo_composite_rectangles_t *rects,\t\
      \t\t\t\t cairo_clip_t *clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xcb_connection_render_change_picture
      Src: /src/cairo/src/cairo-xcb-surface-render.c:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_xcb_surface_t*
    constantsTouched: []
    func_position:
      end: 261
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 261
    functionName: _cairo_xcb_surface_clear_clip_region
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_xcb_connection_render_change_picture
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_xcb_surface_clear_clip_region (cairo_xcb_surface_t
      *surface) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1758,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1759,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1761,1
    - Dst: _cairo_fixed_fractional_part
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1763,1
    - Dst: do_unaligned_row
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1762,1
    - Dst: do_unaligned_row
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1768,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1770,1
    - Dst: do_unaligned_row
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1771,1
    - Dst: _cairo_fixed_fractional_part
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1772,1
    - Dst: do_unaligned_row
      Src: /src/cairo/src/cairo-xcb-surface-render.c:1774,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 5
    argNames:
    - (*blt)
    - closure
    - b
    - tx
    - ty
    argTypes:
    - void
    - void*
    - cairo_box_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1776
      start: 1751
    functionDepth: 0
    functionLinenumber: 1751
    functionLinenumberEnd: 1776
    functionName: do_unaligned_box
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_is_integer
    - _cairo_fixed_fractional_part
    - do_unaligned_row
    - _cairo_fixed_integer_part
    linkageType: ''
    returnType: void
    signature: "static void do_unaligned_box(void (*blt)(void *closure,\t\t\t\t\t\
      \ int16_t x, int16_t y,\t\t\t\t\t int16_t w, int16_t h,\t\t\t\t\t uint16_t coverage),\t\
      \t\t void *closure,\t\t\t const cairo_box_t *b, int tx, int ty) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_bentley_ottmann_tessellate_boxes
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2353,1
    - Dst: _cairo_boxes_add
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2361,1
    - Dst: _render_fill_boxes
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2383,1
    - Dst: _cairo_boxes_fini
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2393,1
    - Dst: _cairo_boxes_init
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2345,1
    - Dst: _cairo_boxes_add
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2347,1
    - Dst: _cairo_boxes_init_with_clip
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2359,1
    - Dst: likely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2381,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2369,1
    - Dst: _cairo_xcb_surface_fixup_unbounded
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2333,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2338,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2339,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2337,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2340,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2362,1
    - Dst: _cairo_boxes_add
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2366,1
    - Dst: _cairo_xcb_surface_core_fill_boxes
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2388,1
    - Dst: _cairo_boxes_init
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2335,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2348,1
    - Dst: _cairo_boxes_fini
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2370,1
    - Dst: _cairo_bentley_ottmann_tessellate_boxes
      Src: /src/cairo/src/cairo-xcb-surface-render.c:2376,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 4
    argNames:
    - dst
    - extents
    - clip
    - boxes
    argTypes:
    - cairo_xcb_surface_t*
    - cairo_composite_rectangles_t*
    - cairo_clip_t*
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 2396
      start: 2320
    functionDepth: 0
    functionLinenumber: 2320
    functionLinenumberEnd: 2396
    functionName: _cairo_xcb_surface_fixup_unbounded_boxes
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-render.c
    functionUses: []
    functionsReached:
    - _cairo_boxes_add
    - _render_fill_boxes
    - _cairo_boxes_init
    - _cairo_xcb_surface_core_fill_boxes
    - unlikely
    - assert
    - _cairo_bentley_ottmann_tessellate_boxes
    - _cairo_xcb_surface_fixup_unbounded
    - _cairo_boxes_init_with_clip
    - likely
    - _cairo_boxes_fini
    - _cairo_fixed_from_int
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_xcb_surface_fixup_unbounded_boxes (cairo_xcb_surface_t\
      \ *dst,\t\t\t\t\t const cairo_composite_rectangles_t *extents,\t\t\t\t\t cairo_clip_t\
      \ *clip,\t\t\t\t\t cairo_boxes_t *boxes) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_polygon_add_external_edge
      Src: /src/cairo/src/cairo-path-fill.c:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - closure
    - point
    argTypes:
    - void*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 69
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 69
    functionName: _cairo_filler_line_to
    functionSourceFile: /src/cairo/src/cairo-path-fill.c
    functionUses: []
    functionsReached:
    - _cairo_polygon_add_external_edge
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_filler_line_to (void *closure,\t\t const\
      \ cairo_point_t *point) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_filler_close
      Src: /src/cairo/src/cairo-path-fill.c:96,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-fill.c:97,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - closure
    - point
    argTypes:
    - void*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 105
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 105
    functionName: _cairo_filler_move_to
    functionSourceFile: /src/cairo/src/cairo-path-fill.c
    functionUses: []
    functionsReached:
    - _cairo_filler_close
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_filler_move_to (void *closure,\t\t const\
      \ cairo_point_t *point) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_fixed_interpret
      Src: /src/cairo/src/cairo-path-fill.c:154,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-fill.c:160,1
    - Dst: _cairo_filler_close
      Src: /src/cairo/src/cairo-path-fill.c:163,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - path
    - tolerance
    - polygon
    argTypes:
    - cairo_path_fixed_t*
    - double
    - cairo_polygon_t*
    constantsTouched: []
    func_position:
      end: 164
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 164
    functionName: _cairo_path_fixed_fill_to_polygon
    functionSourceFile: /src/cairo/src/cairo-path-fill.c
    functionUses: []
    functionsReached:
    - _cairo_filler_close
    - _cairo_path_fixed_interpret
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_path_fixed_fill_to_polygon (const cairo_path_fixed_t\
      \ *path,\t\t\t\t double tolerance,\t\t\t\t cairo_polygon_t *polygon) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_round_down
      Src: /src/cairo/src/cairo-path-fill.c:181,1
    - Dst: _cairo_polygon_add_external_edge
      Src: /src/cairo/src/cairo-path-fill.c:184,1
    - Dst: _cairo_fixed_round_down
      Src: /src/cairo/src/cairo-path-fill.c:182,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - closure
    - point
    argTypes:
    - void*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 191
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 191
    functionName: _cairo_filler_ra_line_to
    functionSourceFile: /src/cairo/src/cairo-path-fill.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_round_down
    - _cairo_polygon_add_external_edge
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_filler_ra_line_to (void *closure,\t\t\
      \t const cairo_point_t *point) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_filler_ra_close
      Src: /src/cairo/src/cairo-path-fill.c:209,1
    - Dst: _cairo_fixed_round_down
      Src: /src/cairo/src/cairo-path-fill.c:213,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-fill.c:210,1
    - Dst: _cairo_fixed_round_down
      Src: /src/cairo/src/cairo-path-fill.c:214,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - closure
    - point
    argTypes:
    - void*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 221
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 221
    functionName: _cairo_filler_ra_move_to
    functionSourceFile: /src/cairo/src/cairo-path-fill.c
    functionUses: []
    functionsReached:
    - _cairo_filler_ra_close
    - _cairo_fixed_round_down
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_filler_ra_move_to (void *closure,\t\t\
      \t const cairo_point_t *point) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_fixed_fill_is_empty
      Src: /src/cairo/src/cairo-path-fill.c:262,1
    - Dst: _cairo_polygon_init
      Src: /src/cairo/src/cairo-path-fill.c:265,1
    - Dst: _cairo_path_fixed_fill_to_polygon
      Src: /src/cairo/src/cairo-path-fill.c:266,1
    - Dst: _cairo_bentley_ottmann_tessellate_polygon
      Src: /src/cairo/src/cairo-path-fill.c:270,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-fill.c:267,1
    - Dst: _cairo_polygon_fini
      Src: /src/cairo/src/cairo-path-fill.c:274,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - path
    - fill_rule
    - tolerance
    - traps
    argTypes:
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - cairo_traps_t*
    constantsTouched: []
    func_position:
      end: 276
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 276
    functionName: _cairo_path_fixed_fill_to_traps
    functionSourceFile: /src/cairo/src/cairo-path-fill.c
    functionUses: []
    functionsReached:
    - _cairo_bentley_ottmann_tessellate_polygon
    - _cairo_polygon_fini
    - _cairo_path_fixed_fill_is_empty
    - _cairo_polygon_init
    - _cairo_path_fixed_fill_to_polygon
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_path_fixed_fill_to_traps (const cairo_path_fixed_t\
      \ *path,\t\t\t\t cairo_fill_rule_t fill_rule,\t\t\t\t double tolerance,\t\t\t\
      \t cairo_traps_t *traps) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_filler_line_to
      Src: /src/cairo/src/cairo-path-fill.c:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - closure
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: _cairo_filler_close
    functionSourceFile: /src/cairo/src/cairo-path-fill.c
    functionUses: []
    functionsReached:
    - _cairo_filler_line_to
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_filler_close (void *closure) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_filler_line_to
      Src: /src/cairo/src/cairo-path-fill.c:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - closure
    - point
    - tangent
    argTypes:
    - void*
    - cairo_point_t*
    - cairo_slope_t*
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: _cairo_filler_add_point
    functionSourceFile: /src/cairo/src/cairo-path-fill.c
    functionUses: []
    functionsReached:
    - _cairo_filler_line_to
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_filler_add_point (void *closure,\t\t\t\
      \ const cairo_point_t *point,\t\t\t const cairo_slope_t *tangent) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_spline_intersects
      Src: /src/cairo/src/cairo-path-fill.c:117,1
    - Dst: _cairo_filler_line_to
      Src: /src/cairo/src/cairo-path-fill.c:126,1
    - Dst: _cairo_filler_line_to
      Src: /src/cairo/src/cairo-path-fill.c:119,1
    - Dst: _cairo_spline_init
      Src: /src/cairo/src/cairo-path-fill.c:122,1
    - Dst: _cairo_spline_decompose
      Src: /src/cairo/src/cairo-path-fill.c:129,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 4
    argNames:
    - closure
    - p1
    - p2
    - p3
    argTypes:
    - void*
    - cairo_point_t*
    - cairo_point_t*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 130
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 130
    functionName: _cairo_filler_curve_to
    functionSourceFile: /src/cairo/src/cairo-path-fill.c
    functionUses: []
    functionsReached:
    - _cairo_filler_line_to
    - _cairo_spline_decompose
    - _cairo_spline_intersects
    - _cairo_spline_init
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_filler_curve_to (void\t\t*closure,\t\t\
      \tconst cairo_point_t\t*p1,\t\t\tconst cairo_point_t\t*p2,\t\t\tconst cairo_point_t\t\
      *p3) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_filler_ra_line_to
      Src: /src/cairo/src/cairo-path-fill.c:197,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - closure
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: _cairo_filler_ra_close
    functionSourceFile: /src/cairo/src/cairo-path-fill.c
    functionUses: []
    functionsReached:
    - _cairo_filler_ra_line_to
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_filler_ra_close (void *closure) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_fixed_fill_to_polygon
      Src: /src/cairo/src/cairo-path-fill.c:232,1
    - Dst: _cairo_path_fixed_interpret_flat
      Src: /src/cairo/src/cairo-path-fill.c:241,1
    - Dst: _cairo_filler_ra_close
      Src: /src/cairo/src/cairo-path-fill.c:250,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-fill.c:247,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - path
    - antialias
    - polygon
    argTypes:
    - cairo_path_fixed_t*
    - cairo_antialias_t
    - cairo_polygon_t*
    constantsTouched: []
    func_position:
      end: 251
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 251
    functionName: _cairo_path_fixed_fill_rectilinear_to_polygon
    functionSourceFile: /src/cairo/src/cairo-path-fill.c
    functionUses: []
    functionsReached:
    - _cairo_filler_ra_close
    - _cairo_path_fixed_fill_to_polygon
    - _cairo_path_fixed_interpret_flat
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_path_fixed_fill_rectilinear_to_polygon (const\
      \ cairo_path_fixed_t *path,\t\t\t\t\t cairo_antialias_t antialias,\t\t\t\t\t\
      \ cairo_polygon_t *polygon) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_polygon_init
      Src: /src/cairo/src/cairo-path-fill.c:287,1
    - Dst: _cairo_polygon_fini
      Src: /src/cairo/src/cairo-path-fill.c:299,1
    - Dst: _cairo_bentley_ottmann_tessellate_rectilinear_polygon_to_boxes
      Src: /src/cairo/src/cairo-path-fill.c:294,1
    - Dst: likely
      Src: /src/cairo/src/cairo-path-fill.c:292,1
    - Dst: _cairo_path_fixed_fill_rectilinear_to_polygon
      Src: /src/cairo/src/cairo-path-fill.c:291,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - path
    - fill_rule
    - antialias
    - boxes
    argTypes:
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - cairo_antialias_t
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 302
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 302
    functionName: _cairo_path_fixed_fill_rectilinear_tessellate_to_boxes
    functionSourceFile: /src/cairo/src/cairo-path-fill.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_fill_rectilinear_to_polygon
    - _cairo_polygon_fini
    - _cairo_polygon_init
    - _cairo_bentley_ottmann_tessellate_rectilinear_polygon_to_boxes
    - likely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_path_fixed_fill_rectilinear_tessellate_to_boxes\
      \ (const cairo_path_fixed_t *path,\t\t\t\t\t\t\tcairo_fill_rule_t fill_rule,\t\
      \t\t\t\t\t\tcairo_antialias_t antialias,\t\t\t\t\t\t\tcairo_boxes_t *boxes) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_fixed_is_box
      Src: /src/cairo/src/cairo-path-fill.c:314,1
    - Dst: _cairo_boxes_add
      Src: /src/cairo/src/cairo-path-fill.c:315,1
    - Dst: _cairo_path_fixed_iter_is_fill_box
      Src: /src/cairo/src/cairo-path-fill.c:318,1
    - Dst: _cairo_path_fixed_iter_init
      Src: /src/cairo/src/cairo-path-fill.c:317,1
    - Dst: _cairo_boxes_add
      Src: /src/cairo/src/cairo-path-fill.c:334,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-fill.c:335,1
    - Dst: _cairo_path_fixed_iter_at_end
      Src: /src/cairo/src/cairo-path-fill.c:339,1
    - Dst: _cairo_bentley_ottmann_tessellate_boxes
      Src: /src/cairo/src/cairo-path-fill.c:340,1
    - Dst: _cairo_boxes_clear
      Src: /src/cairo/src/cairo-path-fill.c:343,1
    - Dst: _cairo_path_fixed_fill_rectilinear_tessellate_to_boxes
      Src: /src/cairo/src/cairo-path-fill.c:344,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 4
    argNames:
    - path
    - fill_rule
    - antialias
    - boxes
    argTypes:
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - cairo_antialias_t
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 348
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 348
    functionName: _cairo_path_fixed_fill_rectilinear_to_boxes
    functionSourceFile: /src/cairo/src/cairo-path-fill.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_iter_at_end
    - _cairo_path_fixed_is_box
    - _cairo_path_fixed_iter_init
    - _cairo_boxes_clear
    - _cairo_path_fixed_fill_rectilinear_tessellate_to_boxes
    - _cairo_bentley_ottmann_tessellate_boxes
    - _cairo_boxes_add
    - _cairo_path_fixed_iter_is_fill_box
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_path_fixed_fill_rectilinear_to_boxes (const\
      \ cairo_path_fixed_t *path,\t\t\t\t\t cairo_fill_rule_t fill_rule,\t\t\t\t\t\
      \ cairo_antialias_t antialias,\t\t\t\t\t cairo_boxes_t *boxes) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-error-inline.h:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - status
    argTypes:
    - cairo_int_status_t
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: _cairo_public_status
    functionSourceFile: /src/cairo/src/cairo-error-inline.h
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: CAIRO_BEGIN_DECLS
    signature: 'CAIRO_BEGIN_DECLS static inline cairo_status_t _cairo_public_status
      (cairo_int_status_t status) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: _cairo_surface_is_analysis
    functionSourceFile: /src/cairo/src/cairo-analysis-surface-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static inline cairo_bool_t _cairo_surface_is_analysis (const cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_line_t*
    - cairo_line_t*
    constantsTouched: []
    func_position:
      end: 483
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 483
    functionName: _line_equal
    functionSourceFile: /src/cairo/src/cairo-polygon-intersect.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int _line_equal (const cairo_line_t *a, const cairo_line_t
      *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-polygon-intersect.c:735,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pq
    argTypes:
    - pqueue_t*
    constantsTouched: []
    func_position:
      end: 739
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 739
    functionName: _pqueue_init
    functionSourceFile: /src/cairo/src/cairo-polygon-intersect.c
    functionUses: []
    functionsReached:
    - ARRAY_LENGTH
    linkageType: ''
    returnType: void
    signature: 'static inline void _pqueue_init (pqueue_t *pq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PQ_LEFT_CHILD_INDEX
      Src: /src/cairo/src/cairo-polygon-intersect.c:818,1
    - Dst: cairo_bo_event_compare
      Src: /src/cairo/src/cairo-polygon-intersect.c:822,1
    - Dst: cairo_bo_event_compare
      Src: /src/cairo/src/cairo-polygon-intersect.c:828,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 1
    argNames:
    - pq
    argTypes:
    - pqueue_t*
    constantsTouched: []
    func_position:
      end: 834
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 834
    functionName: _pqueue_pop
    functionSourceFile: /src/cairo/src/cairo-polygon-intersect.c
    functionUses: []
    functionsReached:
    - PQ_LEFT_CHILD_INDEX
    - cairo_bo_event_compare
    linkageType: ''
    returnType: void
    signature: 'static inline void _pqueue_pop (pqueue_t *pq) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_bo_sweep_line_compare_edges
      Src: /src/cairo/src/cairo-polygon-intersect.c:973,1
    - Dst: _cairo_bo_sweep_line_compare_edges
      Src: /src/cairo/src/cairo-polygon-intersect.c:995,1
    - Dst: _cairo_bo_sweep_line_compare_edges
      Src: /src/cairo/src/cairo-polygon-intersect.c:980,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 2
    argNames:
    - sweep_line
    - edge
    argTypes:
    - cairo_bo_sweep_line_t*
    - cairo_bo_edge_t*
    constantsTouched: []
    func_position:
      end: 1023
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 1023
    functionName: sweep_line_insert
    functionSourceFile: /src/cairo/src/cairo-polygon-intersect.c
    functionUses: []
    functionsReached:
    - _cairo_bo_sweep_line_compare_edges
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t sweep_line_insert (cairo_bo_sweep_line_t\t*sweep_line,\t\
      \t cairo_bo_edge_t\t\t*edge) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-polygon-intersect.c:1094,1
    - Dst: likely
      Src: /src/cairo/src/cairo-polygon-intersect.c:1095,1
    - Dst: _cairo_polygon_add_line
      Src: /src/cairo/src/cairo-polygon-intersect.c:1097,1
    - Dst: _cairo_polygon_add_line
      Src: /src/cairo/src/cairo-polygon-intersect.c:1096,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - left
    - bot
    - polygon
    argTypes:
    - cairo_bo_edge_t*
    - int32_t
    - cairo_polygon_t*
    constantsTouched: []
    func_position:
      end: 1101
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1101
    functionName: edges_end
    functionSourceFile: /src/cairo/src/cairo-polygon-intersect.c
    functionUses: []
    functionsReached:
    - _cairo_polygon_add_line
    - likely
    - assert
    linkageType: ''
    returnType: void
    signature: "static void edges_end (cairo_bo_edge_t\t*left,\t int32_t\t\t bot,\t\
      \ cairo_polygon_t\t*polygon) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _line_equal
      Src: /src/cairo/src/cairo-polygon-intersect.c:493,1
    - Dst: edges_compare_x_for_y
      Src: /src/cairo/src/cairo-polygon-intersect.c:494,1
    - Dst: _slope_compare
      Src: /src/cairo/src/cairo-polygon-intersect.c:503,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - sweep_line
    - a
    - b
    argTypes:
    - cairo_bo_sweep_line_t*
    - cairo_bo_edge_t*
    - cairo_bo_edge_t*
    constantsTouched: []
    func_position:
      end: 510
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 510
    functionName: _cairo_bo_sweep_line_compare_edges
    functionSourceFile: /src/cairo/src/cairo-polygon-intersect.c
    functionUses: []
    functionsReached:
    - _line_equal
    - _slope_compare
    - edges_compare_x_for_y
    linkageType: ''
    returnType: int
    signature: "static int _cairo_bo_sweep_line_compare_edges (cairo_bo_sweep_line_t\t\
      *sweep_line,\t\t\t\t const cairo_bo_edge_t\t*a,\t\t\t\t const cairo_bo_edge_t\t\
      *b) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-polygon-intersect.c:745,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - pq
    argTypes:
    - pqueue_t*
    constantsTouched: []
    func_position:
      end: 746
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 746
    functionName: _pqueue_fini
    functionSourceFile: /src/cairo/src/cairo-polygon-intersect.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'static inline void _pqueue_fini (pqueue_t *pq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_freepool_alloc
      Src: /src/cairo/src/cairo-polygon-intersect.c:845,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-polygon-intersect.c:846,1
    - Dst: _pqueue_push
      Src: /src/cairo/src/cairo-polygon-intersect.c:854,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-polygon-intersect.c:847,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 5
    argNames:
    - queue
    - type
    - e1
    - e2
    - point
    argTypes:
    - cairo_bo_event_queue_t*
    - cairo_bo_event_type_t
    - cairo_bo_edge_t*
    - cairo_bo_edge_t*
    - cairo_bo_intersect_point_t*
    constantsTouched: []
    func_position:
      end: 855
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 855
    functionName: _cairo_bo_event_queue_insert
    functionSourceFile: /src/cairo/src/cairo-polygon-intersect.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_freepool_alloc
    - _pqueue_push
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static inline cairo_status_t _cairo_bo_event_queue_insert (cairo_bo_event_queue_t\t\
      *queue,\t\t\t cairo_bo_event_type_t\t type,\t\t\t cairo_bo_edge_t\t\t*e1,\t\t\
      \t cairo_bo_edge_t\t\t*e2,\t\t\t const cairo_bo_intersect_point_t *point) "
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - sweep_line
    - edge
    argTypes:
    - cairo_bo_sweep_line_t*
    - cairo_bo_edge_t*
    constantsTouched: []
    func_position:
      end: 1039
      start: 1025
    functionDepth: 0
    functionLinenumber: 1025
    functionLinenumberEnd: 1039
    functionName: _cairo_bo_sweep_line_delete
    functionSourceFile: /src/cairo/src/cairo-polygon-intersect.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void _cairo_bo_sweep_line_delete (cairo_bo_sweep_line_t\t*sweep_line,\t\
      \t\t cairo_bo_edge_t\t*edge) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-polygon-intersect.c:1109,1
    - Dst: assert
      Src: /src/cairo/src/cairo-polygon-intersect.c:1120,1
    - Dst: assert
      Src: /src/cairo/src/cairo-polygon-intersect.c:1110,1
    - Dst: edges_colinear
      Src: /src/cairo/src/cairo-polygon-intersect.c:1116,1
    - Dst: assert
      Src: /src/cairo/src/cairo-polygon-intersect.c:1121,1
    - Dst: edges_end
      Src: /src/cairo/src/cairo-polygon-intersect.c:1131,1
    - Dst: edges_colinear
      Src: /src/cairo/src/cairo-polygon-intersect.c:1134,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 4
    argNames:
    - left
    - right
    - top
    - polygon
    argTypes:
    - cairo_bo_edge_t*
    - cairo_bo_edge_t*
    - int
    - cairo_polygon_t*
    constantsTouched: []
    func_position:
      end: 1138
      start: 1103
    functionDepth: 0
    functionLinenumber: 1103
    functionLinenumberEnd: 1138
    functionName: edges_start_or_continue
    functionSourceFile: /src/cairo/src/cairo-polygon-intersect.c
    functionUses: []
    functionsReached:
    - edges_end
    - edges_colinear
    - assert
    linkageType: ''
    returnType: void
    signature: "static inline void edges_start_or_continue (cairo_bo_edge_t\t*left,\t\
      \t\t cairo_bo_edge_t\t*right,\t\t\t int\t\t\t top,\t\t\t cairo_polygon_t\t*polygon) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_polygon_init
      Src: /src/cairo/src/cairo-polygon-intersect.c:1445,1
    - Dst: _cairo_polygon_intersect
      Src: /src/cairo/src/cairo-polygon-intersect.c:1465,1
    - Dst: _cairo_polygon_add_external_edge
      Src: /src/cairo/src/cairo-polygon-intersect.c:1461,1
    - Dst: _cairo_polygon_fini
      Src: /src/cairo/src/cairo-polygon-intersect.c:1467,1
    - Dst: _cairo_polygon_add_external_edge
      Src: /src/cairo/src/cairo-polygon-intersect.c:1458,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 4
    argNames:
    - polygon
    - winding
    - boxes
    - num_boxes
    argTypes:
    - cairo_polygon_t*
    - cairo_fill_rule_t*
    - cairo_box_t*
    - int
    constantsTouched: []
    func_position:
      end: 1471
      start: 1420
    functionDepth: 0
    functionLinenumber: 1420
    functionLinenumberEnd: 1471
    functionName: _cairo_polygon_intersect_with_boxes
    functionSourceFile: /src/cairo/src/cairo-polygon-intersect.c
    functionUses: []
    functionsReached:
    - _cairo_polygon_fini
    - _cairo_polygon_intersect
    - _cairo_polygon_init
    - _cairo_polygon_add_external_edge
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_polygon_intersect_with_boxes (cairo_polygon_t\
      \ *polygon,\t\t\t\t cairo_fill_rule_t *winding,\t\t\t\t cairo_box_t *boxes,\t\
      \t\t\t int num_boxes) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_mul_div_floor
      Src: /src/cairo/src/cairo-polygon-intersect.c:134,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - line
    - y
    argTypes:
    - cairo_line_t*
    - cairo_fixed_t
    constantsTouched: []
    func_position:
      end: 140
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 140
    functionName: _line_compute_intersection_x_for_y
    functionSourceFile: /src/cairo/src/cairo-polygon-intersect.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_mul_div_floor
    linkageType: ''
    returnType: cairo_fixed_t
    signature: "static cairo_fixed_t _line_compute_intersection_x_for_y (const cairo_line_t\
      \ *line,\t\t\t\t cairo_fixed_t y) "
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-polygon-intersect.c:342,1
    - Dst: _cairo_int128_cmp
      Src: /src/cairo/src/cairo-polygon-intersect.c:347,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-polygon-intersect.c:343,1
    - Dst: _cairo_int64_cmp
      Src: /src/cairo/src/cairo-polygon-intersect.c:345,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-polygon-intersect.c:355,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-polygon-intersect.c:356,1
    - Dst: _cairo_int64_cmp
      Src: /src/cairo/src/cairo-polygon-intersect.c:358,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-polygon-intersect.c:367,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-polygon-intersect.c:368,1
    - Dst: _cairo_int64_cmp
      Src: /src/cairo/src/cairo-polygon-intersect.c:370,1
    - Dst: _cairo_int128_cmp
      Src: /src/cairo/src/cairo-polygon-intersect.c:374,1
    - Dst: _cairo_int128_sub
      Src: /src/cairo/src/cairo-polygon-intersect.c:374,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 78
    argCount: 3
    argNames:
    - a
    - b
    - y
    argTypes:
    - cairo_bo_edge_t*
    - cairo_bo_edge_t*
    - int32_t
    constantsTouched: []
    func_position:
      end: 379
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 379
    functionName: edges_compare_x_for_y_general
    functionSourceFile: /src/cairo/src/cairo-polygon-intersect.c
    functionUses: []
    functionsReached:
    - _cairo_int128_cmp
    - _cairo_int64_cmp
    - _cairo_int32x32_64_mul
    - _cairo_int128_sub
    linkageType: ''
    returnType: int
    signature: "static int edges_compare_x_for_y_general (const cairo_bo_edge_t *a,\t\
      \t\t const cairo_bo_edge_t *b,\t\t\t int32_t y) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_freepool_free
      Src: /src/cairo/src/cairo-polygon-intersect.c:861,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - queue
    - event
    argTypes:
    - cairo_bo_event_queue_t*
    - cairo_bo_event_t*
    constantsTouched: []
    func_position:
      end: 862
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 862
    functionName: _cairo_bo_event_queue_delete
    functionSourceFile: /src/cairo/src/cairo-polygon-intersect.c
    functionUses: []
    functionsReached:
    - _cairo_freepool_free
    linkageType: ''
    returnType: void
    signature: "static void _cairo_bo_event_queue_delete (cairo_bo_event_queue_t *queue,\t\
      \t\t cairo_bo_event_t\t *event) "
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_bo_intersect_point_t*
    - cairo_bo_intersect_point_t*
    constantsTouched: []
    func_position:
      end: 157
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 157
    functionName: _cairo_bo_point32_compare
    functionSourceFile: /src/cairo/src/cairo-polygon-intersect.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "static inline int _cairo_bo_point32_compare (cairo_bo_intersect_point_t\
      \ const *a,\t\t\t cairo_bo_intersect_point_t const *b) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_bo_event_compare
      Src: /src/cairo/src/cairo-polygon-intersect.c:872,1
    - Dst: _pqueue_pop
      Src: /src/cairo/src/cairo-polygon-intersect.c:879,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 883
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 883
    functionName: _cairo_bo_event_dequeue
    functionSourceFile: /src/cairo/src/cairo-polygon-intersect.c
    functionUses: []
    functionsReached:
    - cairo_bo_event_compare
    - _pqueue_pop
    linkageType: ''
    returnType: cairo_bo_event_t*
    signature: 'static cairo_bo_event_t *_cairo_bo_event_dequeue (cairo_bo_event_queue_t
      *event_queue) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-polygon-intersect.c:1153,1
    - Dst: is_zero
      Src: /src/cairo/src/cairo-polygon-intersect.c:1157,1
    - Dst: edges_end
      Src: /src/cairo/src/cairo-polygon-intersect.c:1161,1
    - Dst: is_zero
      Src: /src/cairo/src/cairo-polygon-intersect.c:1153,1
    - Dst: edges_end
      Src: /src/cairo/src/cairo-polygon-intersect.c:1171,1
    - Dst: is_zero
      Src: /src/cairo/src/cairo-polygon-intersect.c:1174,1
    - Dst: edges_colinear
      Src: /src/cairo/src/cairo-polygon-intersect.c:1176,1
    - Dst: edges_start_or_continue
      Src: /src/cairo/src/cairo-polygon-intersect.c:1183,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 3
    argNames:
    - left
    - top
    - polygon
    argTypes:
    - cairo_bo_edge_t*
    - int32_t
    - cairo_polygon_t*
    constantsTouched: []
    func_position:
      end: 1187
      start: 1142
    functionDepth: 0
    functionLinenumber: 1142
    functionLinenumberEnd: 1187
    functionName: active_edges
    functionSourceFile: /src/cairo/src/cairo-polygon-intersect.c
    functionUses: []
    functionsReached:
    - edges_colinear
    - edges_start_or_continue
    - assert
    - edges_end
    - is_zero
    linkageType: ''
    returnType: void
    signature: "static inline void active_edges (cairo_bo_edge_t\t\t*left,\t int32_t\t\
      \t\t top,\t cairo_polygon_t\t *polygon) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-polygon-intersect.c:223,1
    - Dst: _cairo_int64_cmp
      Src: /src/cairo/src/cairo-polygon-intersect.c:226,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-polygon-intersect.c:224,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_bo_edge_t*
    - cairo_bo_edge_t*
    constantsTouched: []
    func_position:
      end: 228
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 228
    functionName: _slope_compare
    functionSourceFile: /src/cairo/src/cairo-polygon-intersect.c
    functionUses: []
    functionsReached:
    - _cairo_int64_cmp
    - _cairo_int32x32_64_mul
    linkageType: ''
    returnType: int
    signature: "static inline int _slope_compare (const cairo_bo_edge_t *a,\t\tconst\
      \ cairo_bo_edge_t *b) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_int64_sub
      Src: /src/cairo/src/cairo-polygon-intersect.c:517,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-polygon-intersect.c:517,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-polygon-intersect.c:518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - a
    - b
    - c
    - d
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 519
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 519
    functionName: det32_64
    functionSourceFile: /src/cairo/src/cairo-polygon-intersect.c
    functionUses: []
    functionsReached:
    - _cairo_int64_sub
    - _cairo_int32x32_64_mul
    linkageType: ''
    returnType: cairo_int64_t
    signature: "static inline cairo_int64_t det32_64 (int32_t a, int32_t b,\t int32_t\
      \ c, int32_t d) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-polygon-intersect.c:755,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-polygon-intersect.c:758,1
    - Dst: _cairo_realloc_ab
      Src: /src/cairo/src/cairo-polygon-intersect.c:763,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-polygon-intersect.c:760,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-polygon-intersect.c:757,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-polygon-intersect.c:766,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-polygon-intersect.c:767,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - pq
    argTypes:
    - pqueue_t*
    constantsTouched: []
    func_position:
      end: 772
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 772
    functionName: _pqueue_grow
    functionSourceFile: /src/cairo/src/cairo-polygon-intersect.c
    functionUses: []
    functionsReached:
    - memcpy
    - _cairo_error
    - _cairo_realloc_ab
    - _cairo_malloc_ab
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _pqueue_grow (pqueue_t *pq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _line_compute_intersection_x_for_y
      Src: /src/cairo/src/cairo-polygon-intersect.c:913,1
    - Dst: _cairo_bo_event_queue_insert
      Src: /src/cairo/src/cairo-polygon-intersect.c:917,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - event_queue
    - edge
    argTypes:
    - cairo_bo_event_queue_t*
    - cairo_bo_edge_t*
    constantsTouched: []
    func_position:
      end: 921
      start: 905
    functionDepth: 0
    functionLinenumber: 905
    functionLinenumberEnd: 921
    functionName: event_queue_insert_stop
    functionSourceFile: /src/cairo/src/cairo-polygon-intersect.c
    functionUses: []
    functionsReached:
    - _line_compute_intersection_x_for_y
    - _cairo_bo_event_queue_insert
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t event_queue_insert_stop (cairo_bo_event_queue_t\t\
      *event_queue,\t\t\t cairo_bo_edge_t\t\t*edge) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _line_equal
      Src: /src/cairo/src/cairo-polygon-intersect.c:937,1
    - Dst: _slope_compare
      Src: /src/cairo/src/cairo-polygon-intersect.c:945,1
    - Dst: _cairo_bo_event_queue_insert
      Src: /src/cairo/src/cairo-polygon-intersect.c:951,1
    - Dst: _cairo_bo_edge_intersect
      Src: /src/cairo/src/cairo-polygon-intersect.c:948,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - event_queue
    - left
    - right
    argTypes:
    - cairo_bo_event_queue_t*
    - cairo_bo_edge_t*
    - cairo_bo_edge_t*
    constantsTouched: []
    func_position:
      end: 955
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 955
    functionName: event_queue_insert_if_intersect_below_current_y
    functionSourceFile: /src/cairo/src/cairo-polygon-intersect.c
    functionUses: []
    functionsReached:
    - _line_equal
    - _slope_compare
    - _cairo_bo_edge_intersect
    - _cairo_bo_event_queue_insert
    linkageType: ''
    returnType: cairo_status_t
    signature: "static inline cairo_status_t event_queue_insert_if_intersect_below_current_y\
      \ (cairo_bo_event_queue_t\t*event_queue,\t\t\t\t\t\t cairo_bo_edge_t\t*left,\t\
      \t\t\t\t\t cairo_bo_edge_t *right) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_int128_sub
      Src: /src/cairo/src/cairo-polygon-intersect.c:526,1
    - Dst: _cairo_int64x32_128_mul
      Src: /src/cairo/src/cairo-polygon-intersect.c:527,1
    - Dst: _cairo_int64x32_128_mul
      Src: /src/cairo/src/cairo-polygon-intersect.c:526,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - a
    - b
    - c
    - d
    argTypes:
    - cairo_int64_t
    - int32_t
    - cairo_int64_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 528
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 528
    functionName: det64x32_128
    functionSourceFile: /src/cairo/src/cairo-polygon-intersect.c
    functionUses: []
    functionsReached:
    - _cairo_int64x32_128_mul
    - _cairo_int128_sub
    linkageType: ''
    returnType: cairo_int128_t
    signature: "static inline cairo_int128_t det64x32_128 (cairo_int64_t a, int32_t\
      \ b,\t cairo_int64_t c, int32_t d) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-polygon-intersect.c:780,1
    - Dst: cairo_bo_event_compare
      Src: /src/cairo/src/cairo-polygon-intersect.c:792,1
    - Dst: PQ_PARENT_INDEX
      Src: /src/cairo/src/cairo-polygon-intersect.c:793,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-polygon-intersect.c:784,1
    - Dst: _pqueue_grow
      Src: /src/cairo/src/cairo-polygon-intersect.c:783,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - pq
    - event
    argTypes:
    - pqueue_t*
    - cairo_bo_event_t*
    constantsTouched: []
    func_position:
      end: 802
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 802
    functionName: _pqueue_push
    functionSourceFile: /src/cairo/src/cairo-polygon-intersect.c
    functionUses: []
    functionsReached:
    - _pqueue_grow
    - PQ_PARENT_INDEX
    - cairo_bo_event_compare
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static inline cairo_status_t _pqueue_push (pqueue_t *pq, cairo_bo_event_t
      *event) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_bo_event_queue_sort
      Src: /src/cairo/src/cairo-polygon-intersect.c:894,1
    - Dst: _pqueue_init
      Src: /src/cairo/src/cairo-polygon-intersect.c:901,1
    - Dst: _cairo_freepool_init
      Src: /src/cairo/src/cairo-polygon-intersect.c:899,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - event_queue
    - start_events
    - num_events
    argTypes:
    - cairo_bo_event_queue_t*
    - cairo_bo_event_t**
    - int
    constantsTouched: []
    func_position:
      end: 903
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 903
    functionName: _cairo_bo_event_queue_init
    functionSourceFile: /src/cairo/src/cairo-polygon-intersect.c
    functionUses: []
    functionsReached:
    - _cairo_bo_event_queue_sort
    - _pqueue_init
    - _cairo_freepool_init
    linkageType: ''
    returnType: void
    signature: "static void _cairo_bo_event_queue_init (cairo_bo_event_queue_t\t *event_queue,\t\
      \t\t cairo_bo_event_t\t\t**start_events,\t\t\t int\t\t\t\t num_events) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _pqueue_fini
      Src: /src/cairo/src/cairo-polygon-intersect.c:926,1
    - Dst: _cairo_freepool_fini
      Src: /src/cairo/src/cairo-polygon-intersect.c:927,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - event_queue
    argTypes:
    - cairo_bo_event_queue_t*
    constantsTouched: []
    func_position:
      end: 928
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 928
    functionName: _cairo_bo_event_queue_fini
    functionSourceFile: /src/cairo/src/cairo-polygon-intersect.c
    functionUses: []
    functionsReached:
    - _cairo_freepool_fini
    - _pqueue_fini
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_bo_event_queue_fini (cairo_bo_event_queue_t *event_queue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - sweep_line
    argTypes:
    - cairo_bo_sweep_line_t*
    constantsTouched: []
    func_position:
      end: 963
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 963
    functionName: _cairo_bo_sweep_line_init
    functionSourceFile: /src/cairo/src/cairo-polygon-intersect.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_bo_sweep_line_init (cairo_bo_sweep_line_t *sweep_line) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: det32_64
      Src: /src/cairo/src/cairo-polygon-intersect.c:583,1
    - Dst: det32_64
      Src: /src/cairo/src/cairo-polygon-intersect.c:604,1
    - Dst: det32_64
      Src: /src/cairo/src/cairo-polygon-intersect.c:610,1
    - Dst: _cairo_int64_le
      Src: /src/cairo/src/cairo-polygon-intersect.c:613,1
    - Dst: _cairo_int64_le
      Src: /src/cairo/src/cairo-polygon-intersect.c:607,1
    - Dst: det32_64
      Src: /src/cairo/src/cairo-polygon-intersect.c:618,1
    - Dst: det32_64
      Src: /src/cairo/src/cairo-polygon-intersect.c:620,1
    - Dst: _cairo_int_96by64_32x64_divrem
      Src: /src/cairo/src/cairo-polygon-intersect.c:624,1
    - Dst: det64x32_128
      Src: /src/cairo/src/cairo-polygon-intersect.c:624,1
    - Dst: _cairo_int64_eq
      Src: /src/cairo/src/cairo-polygon-intersect.c:627,1
    - Dst: det64x32_128
      Src: /src/cairo/src/cairo-polygon-intersect.c:633,1
    - Dst: _cairo_int_96by64_32x64_divrem
      Src: /src/cairo/src/cairo-polygon-intersect.c:633,1
    - Dst: round_to_nearest
      Src: /src/cairo/src/cairo-polygon-intersect.c:639,1
    - Dst: _cairo_int64_eq
      Src: /src/cairo/src/cairo-polygon-intersect.c:636,1
    - Dst: round_to_nearest
      Src: /src/cairo/src/cairo-polygon-intersect.c:630,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - a
    - b
    - intersection
    argTypes:
    - cairo_bo_edge_t*
    - cairo_bo_edge_t*
    - cairo_bo_intersect_point_t*
    constantsTouched: []
    func_position:
      end: 642
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 642
    functionName: intersect_lines
    functionSourceFile: /src/cairo/src/cairo-polygon-intersect.c
    functionUses: []
    functionsReached:
    - _cairo_int_96by64_32x64_divrem
    - det32_64
    - det64x32_128
    - round_to_nearest
    - _cairo_int64_le
    - _cairo_int64_eq
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t intersect_lines (cairo_bo_edge_t\t\t*a,\t\t cairo_bo_edge_t\t\
      \t*b,\t\t cairo_bo_intersect_point_t\t*intersection) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_bo_intersect_ordinate_32_compare
      Src: /src/cairo/src/cairo-polygon-intersect.c:678,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - edge
    - point
    argTypes:
    - cairo_bo_edge_t*
    - cairo_bo_intersect_point_t*
    constantsTouched: []
    func_position:
      end: 680
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 680
    functionName: _cairo_bo_edge_contains_intersect_point
    functionSourceFile: /src/cairo/src/cairo-polygon-intersect.c
    functionUses: []
    functionsReached:
    - _cairo_bo_intersect_ordinate_32_compare
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _cairo_bo_edge_contains_intersect_point (cairo_bo_edge_t\t\
      \t*edge,\t\t\t\t\t cairo_bo_intersect_point_t\t*point) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-polygon-intersect.c:427,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-polygon-intersect.c:428,1
    - Dst: _cairo_int64_cmp
      Src: /src/cairo/src/cairo-polygon-intersect.c:430,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 3
    argNames:
    - a
    - y
    - x
    argTypes:
    - cairo_bo_edge_t*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 431
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 431
    functionName: edge_compare_for_y_against_x
    functionSourceFile: /src/cairo/src/cairo-polygon-intersect.c
    functionUses: []
    functionsReached:
    - _cairo_int64_cmp
    - _cairo_int32x32_64_mul
    linkageType: ''
    returnType: int
    signature: "static int edge_compare_for_y_against_x (const cairo_bo_edge_t *a,\t\
      \t\t int32_t y,\t\t\t int32_t x) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_int64_mul
      Src: /src/cairo/src/cairo-polygon-intersect.c:536,1
    - Dst: _cairo_int64_negate
      Src: /src/cairo/src/cairo-polygon-intersect.c:540,1
    - Dst: _cairo_int64_lt
      Src: /src/cairo/src/cairo-polygon-intersect.c:540,1
    - Dst: _cairo_int64_negate
      Src: /src/cairo/src/cairo-polygon-intersect.c:542,1
    - Dst: _cairo_int32_to_int64
      Src: /src/cairo/src/cairo-polygon-intersect.c:536,1
    - Dst: _cairo_int64_le
      Src: /src/cairo/src/cairo-polygon-intersect.c:543,1
    - Dst: _cairo_int64_negate
      Src: /src/cairo/src/cairo-polygon-intersect.c:545,1
    - Dst: _cairo_int64_is_zero
      Src: /src/cairo/src/cairo-polygon-intersect.c:549,1
    - Dst: _cairo_int64_negative
      Src: /src/cairo/src/cairo-polygon-intersect.c:549,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - d
    - den
    argTypes:
    - cairo_quorem64_t
    - cairo_int64_t
    constantsTouched: []
    func_position:
      end: 552
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 552
    functionName: round_to_nearest
    functionSourceFile: /src/cairo/src/cairo-polygon-intersect.c
    functionUses: []
    functionsReached:
    - _cairo_int64_negative
    - _cairo_int32_to_int64
    - _cairo_int64_is_zero
    - _cairo_int64_negate
    - _cairo_int64_mul
    - _cairo_int64_le
    - _cairo_int64_lt
    linkageType: ''
    returnType: cairo_bo_intersect_ordinate_t
    signature: "static inline cairo_bo_intersect_ordinate_t round_to_nearest (cairo_quorem64_t\
      \ d,\t\t cairo_int64_t den) "
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_bo_intersect_ordinate_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 655
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 655
    functionName: _cairo_bo_intersect_ordinate_32_compare
    functionSourceFile: /src/cairo/src/cairo-polygon-intersect.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "static int _cairo_bo_intersect_ordinate_32_compare (cairo_bo_intersect_ordinate_t\t\
      a,\t\t\t\t\t int32_t\t\t\tb) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: intersect_lines
      Src: /src/cairo/src/cairo-polygon-intersect.c:703,1
    - Dst: _cairo_bo_edge_contains_intersect_point
      Src: /src/cairo/src/cairo-polygon-intersect.c:706,1
    - Dst: _cairo_bo_edge_contains_intersect_point
      Src: /src/cairo/src/cairo-polygon-intersect.c:709,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - a
    - b
    - intersection
    argTypes:
    - cairo_bo_edge_t*
    - cairo_bo_edge_t*
    - cairo_bo_intersect_point_t*
    constantsTouched: []
    func_position:
      end: 713
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 713
    functionName: _cairo_bo_edge_intersect
    functionSourceFile: /src/cairo/src/cairo-polygon-intersect.c
    functionUses: []
    functionsReached:
    - _cairo_bo_edge_contains_intersect_point
    - intersect_lines
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _cairo_bo_edge_intersect (cairo_bo_edge_t\t*a,\t\
      \t\t cairo_bo_edge_t\t*b,\t\t\t cairo_bo_intersect_point_t *intersection) "
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - sweep_line
    - left
    - right
    argTypes:
    - cairo_bo_sweep_line_t*
    - cairo_bo_edge_t*
    - cairo_bo_edge_t*
    constantsTouched: []
    func_position:
      end: 1059
      start: 1041
    functionDepth: 0
    functionLinenumber: 1041
    functionLinenumberEnd: 1059
    functionName: _cairo_bo_sweep_line_swap
    functionSourceFile: /src/cairo/src/cairo-polygon-intersect.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void _cairo_bo_sweep_line_swap (cairo_bo_sweep_line_t\t*sweep_line,\t\
      \t\t cairo_bo_edge_t\t\t*left,\t\t\t cairo_bo_edge_t\t\t*right) "
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_bo_event_dequeue
      Src: /src/cairo/src/cairo-polygon-intersect.c:1204,1
    - Dst: sweep_line_insert
      Src: /src/cairo/src/cairo-polygon-intersect.c:1216,1
    - Dst: active_edges
      Src: /src/cairo/src/cairo-polygon-intersect.c:1206,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-polygon-intersect.c:1221,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-polygon-intersect.c:1229,1
    - Dst: event_queue_insert_if_intersect_below_current_y
      Src: /src/cairo/src/cairo-polygon-intersect.c:1254,1
    - Dst: _cairo_bo_event_queue_delete
      Src: /src/cairo/src/cairo-polygon-intersect.c:1264,1
    - Dst: event_queue_insert_if_intersect_below_current_y
      Src: /src/cairo/src/cairo-polygon-intersect.c:1234,1
    - Dst: event_queue_insert_if_intersect_below_current_y
      Src: /src/cairo/src/cairo-polygon-intersect.c:1289,1
    - Dst: event_queue_insert_stop
      Src: /src/cairo/src/cairo-polygon-intersect.c:1220,1
    - Dst: event_queue_insert_if_intersect_below_current_y
      Src: /src/cairo/src/cairo-polygon-intersect.c:1228,1
    - Dst: edges_end
      Src: /src/cairo/src/cairo-polygon-intersect.c:1246,1
    - Dst: edges_end
      Src: /src/cairo/src/cairo-polygon-intersect.c:1271,1
    - Dst: edges_end
      Src: /src/cairo/src/cairo-polygon-intersect.c:1273,1
    - Dst: _cairo_bo_sweep_line_swap
      Src: /src/cairo/src/cairo-polygon-intersect.c:1278,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-polygon-intersect.c:1284,1
    - Dst: _cairo_bo_event_queue_init
      Src: /src/cairo/src/cairo-polygon-intersect.c:1201,1
    - Dst: _cairo_bo_event_queue_delete
      Src: /src/cairo/src/cairo-polygon-intersect.c:1243,1
    - Dst: _cairo_bo_sweep_line_delete
      Src: /src/cairo/src/cairo-polygon-intersect.c:1251,1
    - Dst: event_queue_insert_if_intersect_below_current_y
      Src: /src/cairo/src/cairo-polygon-intersect.c:1283,1
    - Dst: _cairo_bo_sweep_line_init
      Src: /src/cairo/src/cairo-polygon-intersect.c:1202,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-polygon-intersect.c:1217,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-polygon-intersect.c:1235,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-polygon-intersect.c:1255,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-polygon-intersect.c:1290,1
    - Dst: _cairo_bo_event_queue_fini
      Src: /src/cairo/src/cairo-polygon-intersect.c:1299,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 63
    argCount: 3
    argNames:
    - start_events
    - num_events
    - polygon
    argTypes:
    - cairo_bo_event_t**
    - int
    - cairo_polygon_t*
    constantsTouched: []
    func_position:
      end: 1302
      start: 1189
    functionDepth: 0
    functionLinenumber: 1189
    functionLinenumberEnd: 1302
    functionName: intersection_sweep
    functionSourceFile: /src/cairo/src/cairo-polygon-intersect.c
    functionUses: []
    functionsReached:
    - event_queue_insert_if_intersect_below_current_y
    - _cairo_bo_event_queue_fini
    - _cairo_bo_sweep_line_delete
    - active_edges
    - unlikely
    - _cairo_bo_sweep_line_init
    - _cairo_bo_event_queue_delete
    - edges_end
    - _cairo_bo_event_dequeue
    - event_queue_insert_stop
    - _cairo_bo_sweep_line_swap
    - sweep_line_insert
    - _cairo_bo_event_queue_init
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t intersection_sweep (cairo_bo_event_t **start_events,\t\
      \t int\t\t\t num_events,\t\t cairo_polygon_t\t*polygon) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: edges_compare_x_for_y_general
      Src: /src/cairo/src/cairo-polygon-intersect.c:468,1
    - Dst: edge_compare_for_y_against_x
      Src: /src/cairo/src/cairo-polygon-intersect.c:472,1
    - Dst: edge_compare_for_y_against_x
      Src: /src/cairo/src/cairo-polygon-intersect.c:470,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 3
    argNames:
    - a
    - b
    - y
    argTypes:
    - cairo_bo_edge_t*
    - cairo_bo_edge_t*
    - int32_t
    constantsTouched: []
    func_position:
      end: 476
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 476
    functionName: edges_compare_x_for_y
    functionSourceFile: /src/cairo/src/cairo-polygon-intersect.c
    functionUses: []
    functionsReached:
    - edge_compare_for_y_against_x
    - edges_compare_x_for_y_general
    linkageType: ''
    returnType: int
    signature: "static int edges_compare_x_for_y (const cairo_bo_edge_t *a,\t\t const\
      \ cairo_bo_edge_t *b,\t\t int32_t y) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_bo_point32_compare
      Src: /src/cairo/src/cairo-polygon-intersect.c:721,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_bo_event_t*
    - cairo_bo_event_t*
    constantsTouched: []
    func_position:
      end: 730
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 730
    functionName: cairo_bo_event_compare
    functionSourceFile: /src/cairo/src/cairo-polygon-intersect.c
    functionUses: []
    functionsReached:
    - _cairo_bo_point32_compare
    linkageType: ''
    returnType: int
    signature: "static inline int cairo_bo_event_compare (const cairo_bo_event_t *a,\t\
      \t\tconst cairo_bo_event_t *b) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _line_equal
      Src: /src/cairo/src/cairo-polygon-intersect.c:1064,1
    - Dst: edge_compare_for_y_against_x
      Src: /src/cairo/src/cairo-polygon-intersect.c:1076,1
    - Dst: _slope_compare
      Src: /src/cairo/src/cairo-polygon-intersect.c:1067,1
    - Dst: edge_compare_for_y_against_x
      Src: /src/cairo/src/cairo-polygon-intersect.c:1080,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_bo_edge_t*
    - cairo_bo_edge_t*
    constantsTouched: []
    func_position:
      end: 1084
      start: 1061
    functionDepth: 0
    functionLinenumber: 1061
    functionLinenumberEnd: 1084
    functionName: edges_colinear
    functionSourceFile: /src/cairo/src/cairo-polygon-intersect.c
    functionUses: []
    functionsReached:
    - _line_equal
    - _slope_compare
    - edge_compare_for_y_against_x
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static inline cairo_bool_t edges_colinear (const cairo_bo_edge_t *a,
      const cairo_bo_edge_t *b) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-polygon-intersect.c:1319,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-polygon-intersect.c:1329,1
    - Dst: _line_compute_intersection_x_for_y
      Src: /src/cairo/src/cairo-polygon-intersect.c:1378,1
    - Dst: fopen
      Src: /src/cairo/src/cairo-polygon-intersect.c:1398,1
    - Dst: CAIRO_STACK_ARRAY_LENGTH
      Src: /src/cairo/src/cairo-polygon-intersect.c:1309,1
    - Dst: _cairo_polygon_reduce
      Src: /src/cairo/src/cairo-polygon-intersect.c:1318,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-polygon-intersect.c:1311,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-polygon-intersect.c:1346,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-polygon-intersect.c:1345,1
    - Dst: _line_compute_intersection_x_for_y
      Src: /src/cairo/src/cairo-polygon-intersect.c:1359,1
    - Dst: _cairo_debug_print_polygon
      Src: /src/cairo/src/cairo-polygon-intersect.c:1399,1
    - Dst: fclose
      Src: /src/cairo/src/cairo-polygon-intersect.c:1400,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-polygon-intersect.c:1325,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-polygon-intersect.c:1340,1
    - Dst: fopen
      Src: /src/cairo/src/cairo-polygon-intersect.c:1393,1
    - Dst: free
      Src: /src/cairo/src/cairo-polygon-intersect.c:1407,1
    - Dst: fopen
      Src: /src/cairo/src/cairo-polygon-intersect.c:1411,1
    - Dst: _cairo_polygon_reduce
      Src: /src/cairo/src/cairo-polygon-intersect.c:1324,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-polygon-intersect.c:1332,1
    - Dst: _cairo_malloc_ab_plus_c
      Src: /src/cairo/src/cairo-polygon-intersect.c:1341,1
    - Dst: fclose
      Src: /src/cairo/src/cairo-polygon-intersect.c:1395,1
    - Dst: _cairo_debug_print_polygon
      Src: /src/cairo/src/cairo-polygon-intersect.c:1394,1
    - Dst: assert
      Src: /src/cairo/src/cairo-polygon-intersect.c:1389,1
    - Dst: intersection_sweep
      Src: /src/cairo/src/cairo-polygon-intersect.c:1405,1
    - Dst: _cairo_debug_print_polygon
      Src: /src/cairo/src/cairo-polygon-intersect.c:1412,1
    - Dst: fclose
      Src: /src/cairo/src/cairo-polygon-intersect.c:1413,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 85
    argCount: 4
    argNames:
    - a
    - winding_a
    - b
    - winding_b
    argTypes:
    - cairo_polygon_t*
    - int
    - cairo_polygon_t*
    - int
    constantsTouched: []
    func_position:
      end: 1418
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1418
    functionName: _cairo_polygon_intersect
    functionSourceFile: /src/cairo/src/cairo-polygon-intersect.c
    functionUses: []
    functionsReached:
    - CAIRO_STACK_ARRAY_LENGTH
    - fclose
    - _cairo_malloc_ab_plus_c
    - _cairo_error
    - free
    - ARRAY_LENGTH
    - assert
    - _line_compute_intersection_x_for_y
    - fopen
    - _cairo_polygon_reduce
    - intersection_sweep
    - _cairo_debug_print_polygon
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_polygon_intersect (cairo_polygon_t *a, int winding_a,\t\
      \t\t cairo_polygon_t *b, int winding_b) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/cairo/src/cairo-recording-surface.c:138,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-recording-surface.c:143,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-recording-surface.c:141,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-recording-surface.c:140,1
    - Dst: MIN
      Src: /src/cairo/src/cairo-recording-surface.c:139,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-recording-surface.c:143,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-recording-surface.c:144,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-recording-surface.c:144,1
    - Dst: MIN
      Src: /src/cairo/src/cairo-recording-surface.c:152,1
    - Dst: MIN
      Src: /src/cairo/src/cairo-recording-surface.c:153,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-recording-surface.c:154,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-recording-surface.c:158,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-recording-surface.c:158,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-recording-surface.c:155,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-recording-surface.c:157,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-recording-surface.c:157,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 2
    argNames:
    - bbt
    - box
    argTypes:
    - struct bbtree*
    - cairo_box_t*
    constantsTouched: []
    func_position:
      end: 163
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 163
    functionName: bbtree_left_or_right
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - MIN
    - MAX
    - _cairo_fixed_integer_part
    linkageType: ''
    returnType: int
    signature: "static int bbtree_left_or_right (struct bbtree *bbt,\t\t\t\t const\
      \ cairo_box_t *box) "
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: bbtree_left_or_right
      Src: /src/cairo/src/cairo-recording-surface.c:195,1
    - Dst: bbtree_new
      Src: /src/cairo/src/cairo-recording-surface.c:197,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:241,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-recording-surface.c:242,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:198,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-recording-surface.c:199,1
    - Dst: bbtree_add
      Src: /src/cairo/src/cairo-recording-surface.c:208,1
    - Dst: MIN
      Src: /src/cairo/src/cairo-recording-surface.c:214,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-recording-surface.c:216,1
    - Dst: bbtree_new
      Src: /src/cairo/src/cairo-recording-surface.c:204,1
    - Dst: bbtree_left_or_right
      Src: /src/cairo/src/cairo-recording-surface.c:231,1
    - Dst: bbtree_new
      Src: /src/cairo/src/cairo-recording-surface.c:233,1
    - Dst: bbtree_add
      Src: /src/cairo/src/cairo-recording-surface.c:244,1
    - Dst: bbtree_add
      Src: /src/cairo/src/cairo-recording-surface.c:201,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:205,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-recording-surface.c:206,1
    - Dst: MIN
      Src: /src/cairo/src/cairo-recording-surface.c:215,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-recording-surface.c:217,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:234,1
    - Dst: bbtree_new
      Src: /src/cairo/src/cairo-recording-surface.c:240,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-recording-surface.c:235,1
    - Dst: bbtree_add
      Src: /src/cairo/src/cairo-recording-surface.c:237,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 68
    argCount: 3
    argNames:
    - bbt
    - header
    - box
    argTypes:
    - struct bbtree*
    - cairo_command_header_t*
    - cairo_box_t*
    constantsTouched: []
    func_position:
      end: 248
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 248
    functionName: bbtree_add
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - bbtree_add
    - _cairo_error
    - MIN
    - MAX
    - bbtree_new
    - bbtree_left_or_right
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t bbtree_add (struct bbtree *bbt,\t cairo_command_header_t\
      \ *header,\t const cairo_box_t *box) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_box_t*
    - cairo_box_t*
    constantsTouched: []
    func_position:
      end: 265
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 265
    functionName: box_outside
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t box_outside (const cairo_box_t *a, const cairo_box_t
      *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: intcmp
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int intcmp (const unsigned int a, const unsigned int
      b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - a
    - b
    - elements
    argTypes:
    - unsigned int
    - unsigned int
    - cairo_command_header_t**
    constantsTouched: []
    func_position:
      end: 300
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 300
    functionName: sizecmp
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int sizecmp (unsigned int a, unsigned int b, cairo_command_header_t
      **elements) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-recording-surface.c:401,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-recording-surface.c:403,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:402,1
    - Dst: _cairo_surface_init
      Src: /src/cairo/src/cairo-recording-surface.c:405,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-recording-surface.c:403,1
    - Dst: floor
      Src: /src/cairo/src/cairo-recording-surface.c:419,1
    - Dst: floor
      Src: /src/cairo/src/cairo-recording-surface.c:420,1
    - Dst: ceil
      Src: /src/cairo/src/cairo-recording-surface.c:421,1
    - Dst: ceil
      Src: /src/cairo/src/cairo-recording-surface.c:422,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-recording-surface.c:427,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-recording-surface.c:443,1
    - Dst: CAIRO_MUTEX_INIT
      Src: /src/cairo/src/cairo-recording-surface.c:441,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 446
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 446
    functionName: cairo_recording_surface_create
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_init
    - floor
    - cairo_list_init
    - _cairo_array_init
    - _cairo_error
    - CAIRO_MUTEX_INIT
    - _cairo_surface_create_in_error
    - ceil
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *cairo_recording_surface_create (cairo_content_t\t\
      \t content,\t\t\t\tconst cairo_rectangle_t\t*extents) "
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_foreach_entry_safe
      Src: /src/cairo/src/cairo-recording-surface.c:536,1
    - Dst: _cairo_pattern_fini
      Src: /src/cairo/src/cairo-recording-surface.c:551,1
    - Dst: _cairo_pattern_fini
      Src: /src/cairo/src/cairo-recording-surface.c:556,1
    - Dst: _cairo_pattern_fini
      Src: /src/cairo/src/cairo-recording-surface.c:560,1
    - Dst: _cairo_pattern_fini
      Src: /src/cairo/src/cairo-recording-surface.c:571,1
    - Dst: free
      Src: /src/cairo/src/cairo-recording-surface.c:579,1
    - Dst: free
      Src: /src/cairo/src/cairo-recording-surface.c:581,1
    - Dst: _cairo_path_fixed_fini
      Src: /src/cairo/src/cairo-recording-surface.c:567,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-recording-surface.c:593,1
    - Dst: _cairo_recording_surface_region_array_destroy
      Src: /src/cairo/src/cairo-recording-surface.c:541,1
    - Dst: _cairo_stroke_style_fini
      Src: /src/cairo/src/cairo-recording-surface.c:562,1
    - Dst: _cairo_pattern_fini
      Src: /src/cairo/src/cairo-recording-surface.c:566,1
    - Dst: free
      Src: /src/cairo/src/cairo-recording-surface.c:572,1
    - Dst: cairo_scaled_font_destroy
      Src: /src/cairo/src/cairo-recording-surface.c:575,1
    - Dst: free
      Src: /src/cairo/src/cairo-recording-surface.c:574,1
    - Dst: free
      Src: /src/cairo/src/cairo-recording-surface.c:573,1
    - Dst: free
      Src: /src/cairo/src/cairo-recording-surface.c:590,1
    - Dst: free
      Src: /src/cairo/src/cairo-recording-surface.c:600,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-recording-surface.c:545,1
    - Dst: _cairo_pattern_fini
      Src: /src/cairo/src/cairo-recording-surface.c:555,1
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-recording-surface.c:589,1
    - Dst: bbtree_del
      Src: /src/cairo/src/cairo-recording-surface.c:598,1
    - Dst: cairo_list_del
      Src: /src/cairo/src/cairo-recording-surface.c:540,1
    - Dst: _cairo_path_fixed_fini
      Src: /src/cairo/src/cairo-recording-surface.c:561,1
    - Dst: bbtree_del
      Src: /src/cairo/src/cairo-recording-surface.c:596,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 34
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 603
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 603
    functionName: _cairo_recording_surface_finish
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - cairo_list_foreach_entry_safe
    - cairo_scaled_font_destroy
    - _cairo_array_index
    - _cairo_stroke_style_fini
    - _cairo_clip_destroy
    - _cairo_recording_surface_region_array_destroy
    - free
    - _cairo_pattern_fini
    - _cairo_path_fixed_fini
    - _cairo_array_fini
    - cairo_list_del
    - bbtree_del
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_recording_surface_finish (void *abstract_surface) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-recording-surface.c:1446,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:1445,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-recording-surface.c:1476,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:1475,1
    - Dst: _command_init_copy
      Src: /src/cairo/src/cairo-recording-surface.c:1450,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-recording-surface.c:1465,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-recording-surface.c:1470,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-recording-surface.c:1483,1
    - Dst: _cairo_recording_surface_commit
      Src: /src/cairo/src/cairo-recording-surface.c:1498,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:1499,1
    - Dst: free
      Src: /src/cairo/src/cairo-recording-surface.c:1506,1
    - Dst: free
      Src: /src/cairo/src/cairo-recording-surface.c:1507,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:1466,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-recording-surface.c:1467,1
    - Dst: cairo_scaled_font_reference
      Src: /src/cairo/src/cairo-recording-surface.c:1496,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-recording-surface.c:1486,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:1485,1
    - Dst: free
      Src: /src/cairo/src/cairo-recording-surface.c:1505,1
    - Dst: _cairo_pattern_fini
      Src: /src/cairo/src/cairo-recording-surface.c:1508,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-recording-surface.c:1444,1
    - Dst: _cairo_pattern_init_copy
      Src: /src/cairo/src/cairo-recording-surface.c:1452,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:1454,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-recording-surface.c:1479,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-recording-surface.c:1489,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-recording-surface.c:1473,1
    - Dst: free
      Src: /src/cairo/src/cairo-recording-surface.c:1510,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 2
    argNames:
    - surface
    - src
    argTypes:
    - cairo_recording_surface_t*
    - cairo_command_t*
    constantsTouched: []
    func_position:
      end: 1513
      start: 1437
    functionDepth: 0
    functionLinenumber: 1437
    functionLinenumberEnd: 1513
    functionName: _cairo_recording_surface_copy__glyphs
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_init_copy
    - _cairo_malloc
    - _command_init_copy
    - memcpy
    - _cairo_recording_surface_commit
    - _cairo_error
    - free
    - _cairo_pattern_fini
    - cairo_scaled_font_reference
    - _cairo_malloc_ab
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_recording_surface_copy__glyphs (cairo_recording_surface_t\
      \ *surface,\t\t\t\t const cairo_command_t *src) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bbtree_del
      Src: /src/cairo/src/cairo-recording-surface.c:253,1
    - Dst: free
      Src: /src/cairo/src/cairo-recording-surface.c:257,1
    - Dst: bbtree_del
      Src: /src/cairo/src/cairo-recording-surface.c:255,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - bbt
    argTypes:
    - struct bbtree*
    constantsTouched: []
    func_position:
      end: 258
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 258
    functionName: bbtree_del
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - free
    - bbtree_del
    linkageType: ''
    returnType: void
    signature: 'static void bbtree_del (struct bbtree *bbt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: box_outside
      Src: /src/cairo/src/cairo-recording-surface.c:277,1
    - Dst: box_outside
      Src: /src/cairo/src/cairo-recording-surface.c:279,1
    - Dst: bbtree_foreach_mark_visible
      Src: /src/cairo/src/cairo-recording-surface.c:280,1
    - Dst: bbtree_foreach_mark_visible
      Src: /src/cairo/src/cairo-recording-surface.c:278,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 12
    argCount: 3
    argNames:
    - bbt
    - box
    - indices
    argTypes:
    - struct bbtree*
    - cairo_box_t*
    - unsigned int**
    constantsTouched: []
    func_position:
      end: 281
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 281
    functionName: bbtree_foreach_mark_visible
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - bbtree_foreach_mark_visible
    - box_outside
    linkageType: ''
    returnType: void
    signature: "static void bbtree_foreach_mark_visible (struct bbtree *bbt,\t\t\t\
      \ const cairo_box_t *box,\t\t\t unsigned int **indices) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_recording_surface_create
      Src: /src/cairo/src/cairo-recording-surface.c:458,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 459
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 459
    functionName: _cairo_recording_surface_create_similar
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - cairo_recording_surface_create
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_recording_surface_create_similar (void\t\
      \t *abstract_surface,\t\t\t\t\t cairo_content_t\tcontent,\t\t\t\t\t int\t\t\t\
      width,\t\t\t\t\t int\t\t\theight) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-recording-surface.c:1522,1
    - Dst: _command_init_copy
      Src: /src/cairo/src/cairo-recording-surface.c:1528,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-recording-surface.c:1524,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:1523,1
    - Dst: strdup
      Src: /src/cairo/src/cairo-recording-surface.c:1531,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:1532,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-recording-surface.c:1533,1
    - Dst: strdup
      Src: /src/cairo/src/cairo-recording-surface.c:1538,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:1539,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-recording-surface.c:1540,1
    - Dst: _cairo_recording_surface_commit
      Src: /src/cairo/src/cairo-recording-surface.c:1546,1
    - Dst: free
      Src: /src/cairo/src/cairo-recording-surface.c:1554,1
    - Dst: free
      Src: /src/cairo/src/cairo-recording-surface.c:1555,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:1547,1
    - Dst: free
      Src: /src/cairo/src/cairo-recording-surface.c:1553,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 2
    argNames:
    - surface
    - src
    argTypes:
    - cairo_recording_surface_t*
    - cairo_command_t*
    constantsTouched: []
    func_position:
      end: 1558
      start: 1515
    functionDepth: 0
    functionLinenumber: 1515
    functionLinenumberEnd: 1558
    functionName: _cairo_recording_surface_copy__tag
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - _command_init_copy
    - _cairo_recording_surface_commit
    - _cairo_error
    - free
    - strdup
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_recording_surface_copy__tag (cairo_recording_surface_t\
      \ *surface,\t\t\t\t const cairo_command_t *src) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_foreach_entry
      Src: /src/cairo/src/cairo-recording-surface.c:1756,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1764
      start: 1750
    functionDepth: 0
    functionLinenumber: 1750
    functionLinenumberEnd: 1764
    functionName: _cairo_recording_surface_region_array_find
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - cairo_list_foreach_entry
    linkageType: ''
    returnType: cairo_recording_regions_array_t*
    signature: "static cairo_recording_regions_array_t *_cairo_recording_surface_region_array_find\
      \ (cairo_recording_surface_t *surface,\t\t\t\t\t unsigned int id) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-recording-surface.c:1809,1
    - Dst: _cairo_surface_is_recording
      Src: /src/cairo/src/cairo-recording-surface.c:1809,1
    - Dst: _cairo_reference_count_dec_and_test
      Src: /src/cairo/src/cairo-recording-surface.c:1814,1
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-recording-surface.c:1811,1
    - Dst: _cairo_recording_surface_region_array_find
      Src: /src/cairo/src/cairo-recording-surface.c:1812,1
    - Dst: cairo_list_del
      Src: /src/cairo/src/cairo-recording-surface.c:1815,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-recording-surface.c:1820,1
    - Dst: _cairo_recording_surface_region_array_destroy
      Src: /src/cairo/src/cairo-recording-surface.c:1823,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - abstract_surface
    - id
    argTypes:
    - cairo_surface_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1824
      start: 1799
    functionDepth: 0
    functionLinenumber: 1799
    functionLinenumberEnd: 1824
    functionName: _cairo_recording_surface_region_array_remove
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - CAIRO_MUTEX_LOCK
    - _cairo_recording_surface_region_array_destroy
    - CAIRO_MUTEX_UNLOCK
    - assert
    - _cairo_reference_count_dec_and_test
    - _cairo_recording_surface_region_array_find
    - _cairo_surface_is_recording
    - cairo_list_del
    linkageType: ''
    returnType: void
    signature: 'void _cairo_recording_surface_region_array_remove (cairo_surface_t
      *abstract_surface, unsigned int id) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:1853,1
    - Dst: _cairo_traps_path
      Src: /src/cairo/src/cairo-recording-surface.c:1885,1
    - Dst: _cairo_traps_init
      Src: /src/cairo/src/cairo-recording-surface.c:1874,1
    - Dst: _cairo_path_fixed_stroke_polygon_to_traps
      Src: /src/cairo/src/cairo-recording-surface.c:1877,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-recording-surface.c:1860,1
    - Dst: _cairo_traps_fini
      Src: /src/cairo/src/cairo-recording-surface.c:1887,1
    - Dst: _cairo_path_fixed_append
      Src: /src/cairo/src/cairo-recording-surface.c:1892,1
    - Dst: _cairo_scaled_font_glyph_path
      Src: /src/cairo/src/cairo-recording-surface.c:1899,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:1913,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 27
    argCount: 2
    argNames:
    - abstract_surface
    - path
    argTypes:
    - cairo_surface_t*
    - cairo_path_fixed_t*
    constantsTouched: []
    func_position:
      end: 1918
      start: 1844
    functionDepth: 0
    functionLinenumber: 1844
    functionLinenumberEnd: 1918
    functionName: _cairo_recording_surface_get_path
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    - _cairo_traps_init
    - _cairo_traps_fini
    - _cairo_scaled_font_glyph_path
    - _cairo_path_fixed_append
    - _cairo_path_fixed_stroke_polygon_to_traps
    - _cairo_traps_path
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_recording_surface_get_path (cairo_surface_t\
      \ *abstract_surface,\t\t\t\t cairo_path_fixed_t *path) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_null_surface_create
      Src: /src/cairo/src/cairo-recording-surface.c:2613,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:2618,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-recording-surface.c:2615,1
    - Dst: _cairo_analysis_surface_create
      Src: /src/cairo/src/cairo-recording-surface.c:2614,1
    - Dst: _cairo_analysis_surface_set_ctm
      Src: /src/cairo/src/cairo-recording-surface.c:2622,1
    - Dst: _cairo_recording_surface_replay
      Src: /src/cairo/src/cairo-recording-surface.c:2624,1
    - Dst: _cairo_analysis_surface_get_bounding_box
      Src: /src/cairo/src/cairo-recording-surface.c:2625,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-recording-surface.c:2626,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - surface
    - bbox
    - transform
    argTypes:
    - cairo_recording_surface_t*
    - cairo_box_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 2629
      start: 2604
    functionDepth: 0
    functionLinenumber: 2604
    functionLinenumberEnd: 2629
    functionName: _recording_surface_get_ink_bbox
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - _cairo_analysis_surface_set_ctm
    - _cairo_null_surface_create
    - _cairo_analysis_surface_get_bounding_box
    - cairo_surface_destroy
    - _cairo_recording_surface_replay
    - _cairo_analysis_surface_create
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _recording_surface_get_ink_bbox (cairo_recording_surface_t\
      \ *surface,\t\t\t\t cairo_box_t *bbox,\t\t\t\t const cairo_matrix_t *transform) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_is_recording
      Src: /src/cairo/src/cairo-recording-surface.c:2751,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-recording-surface.c:2752,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 2759
      start: 2746
    functionDepth: 0
    functionLinenumber: 2746
    functionLinenumberEnd: 2759
    functionName: _cairo_recording_surface_has_tags
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_is_recording
    - _cairo_error_throw
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t _cairo_recording_surface_has_tags (cairo_surface_t *surface) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-recording-surface.c:2861,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-recording-surface.c:2862,1
    - Dst: strcat
      Src: /src/cairo/src/cairo-recording-surface.c:2877,1
    - Dst: sprintf
      Src: /src/cairo/src/cairo-recording-surface.c:2882,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-recording-surface.c:2861,1
    - Dst: _cairo_debug_operator_to_string
      Src: /src/cairo/src/cairo-recording-surface.c:2882,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-recording-surface.c:2893,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-recording-surface.c:2898,1
    - Dst: fputs
      Src: /src/cairo/src/cairo-recording-surface.c:2918,1
    - Dst: fputs
      Src: /src/cairo/src/cairo-recording-surface.c:2919,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-recording-surface.c:2934,1
    - Dst: fputs
      Src: /src/cairo/src/cairo-recording-surface.c:2921,1
    - Dst: fputs
      Src: /src/cairo/src/cairo-recording-surface.c:2922,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-recording-surface.c:2944,1
    - Dst: _cairo_surface_is_recording
      Src: /src/cairo/src/cairo-recording-surface.c:2848,1
    - Dst: print_indent
      Src: /src/cairo/src/cairo-recording-surface.c:2851,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-recording-surface.c:2853,1
    - Dst: assert
      Src: /src/cairo/src/cairo-recording-surface.c:2860,1
    - Dst: strcat
      Src: /src/cairo/src/cairo-recording-surface.c:2875,1
    - Dst: strcat
      Src: /src/cairo/src/cairo-recording-surface.c:2876,1
    - Dst: print_indent
      Src: /src/cairo/src/cairo-recording-surface.c:2892,1
    - Dst: print_pattern
      Src: /src/cairo/src/cairo-recording-surface.c:2896,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-recording-surface.c:2904,1
    - Dst: print_pattern
      Src: /src/cairo/src/cairo-recording-surface.c:2905,1
    - Dst: fputs
      Src: /src/cairo/src/cairo-recording-surface.c:2923,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-recording-surface.c:2925,1
    - Dst: print_pattern
      Src: /src/cairo/src/cairo-recording-surface.c:2929,1
    - Dst: print_indent
      Src: /src/cairo/src/cairo-recording-surface.c:2933,1
    - Dst: _cairo_surface_is_snapshot
      Src: /src/cairo/src/cairo-recording-surface.c:2845,1
    - Dst: assert
      Src: /src/cairo/src/cairo-recording-surface.c:2848,1
    - Dst: _cairo_surface_snapshot_get_target
      Src: /src/cairo/src/cairo-recording-surface.c:2846,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-recording-surface.c:2855,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-recording-surface.c:2882,1
    - Dst: print_indent
      Src: /src/cairo/src/cairo-recording-surface.c:2894,1
    - Dst: print_pattern
      Src: /src/cairo/src/cairo-recording-surface.c:2899,1
    - Dst: print_indent
      Src: /src/cairo/src/cairo-recording-surface.c:2909,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-recording-surface.c:2910,1
    - Dst: print_pattern
      Src: /src/cairo/src/cairo-recording-surface.c:2911,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-recording-surface.c:2927,1
    - Dst: fputs
      Src: /src/cairo/src/cairo-recording-surface.c:2920,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-recording-surface.c:2928,1
    - Dst: _cairo_recording_surface_region_array_find
      Src: /src/cairo/src/cairo-recording-surface.c:2859,1
    - Dst: strcpy
      Src: /src/cairo/src/cairo-recording-surface.c:2873,1
    - Dst: print_indent
      Src: /src/cairo/src/cairo-recording-surface.c:2886,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-recording-surface.c:2887,1
    - Dst: print_pattern
      Src: /src/cairo/src/cairo-recording-surface.c:2888,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-recording-surface.c:2895,1
    - Dst: print_indent
      Src: /src/cairo/src/cairo-recording-surface.c:2897,1
    - Dst: print_indent
      Src: /src/cairo/src/cairo-recording-surface.c:2903,1
    - Dst: print_indent
      Src: /src/cairo/src/cairo-recording-surface.c:2915,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-recording-surface.c:2916,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 83
    argCount: 5
    argNames:
    - file
    - surface
    - regions_id
    - indent
    - recurse
    argTypes:
    - FILE*
    - cairo_surface_t*
    - unsigned int
    - int
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 2945
      start: 2831
    functionDepth: 0
    functionLinenumber: 2831
    functionLinenumberEnd: 2945
    functionName: _cairo_debug_print_recording_surface
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_is_snapshot
    - print_indent
    - _cairo_array_index
    - strcat
    - print_pattern
    - fprintf
    - strlen
    - _cairo_debug_operator_to_string
    - _cairo_array_num_elements
    - strcpy
    - assert
    - cairo_surface_destroy
    - _cairo_recording_surface_region_array_find
    - _cairo_surface_is_recording
    - fputs
    - _cairo_surface_snapshot_get_target
    - sprintf
    linkageType: ''
    returnType: void
    signature: "void _cairo_debug_print_recording_surface (FILE *file,\t\t\t\t cairo_surface_t\
      \ *surface, unsigned int regions_id,\t\t\t\t int indent,\t\t\t\t cairo_bool_t\
      \ recurse) "
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/cairo/src/cairo-recording-surface.c:2804,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-recording-surface.c:2817,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-recording-surface.c:2823,1
    - Dst: _cairo_debug_print_recording_surface
      Src: /src/cairo/src/cairo-recording-surface.c:2793,1
    - Dst: fputs
      Src: /src/cairo/src/cairo-recording-surface.c:2803,1
    - Dst: fputs
      Src: /src/cairo/src/cairo-recording-surface.c:2809,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-recording-surface.c:2813,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-recording-surface.c:2778,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-recording-surface.c:2791,1
    - Dst: fputs
      Src: /src/cairo/src/cairo-recording-surface.c:2801,1
    - Dst: fputs
      Src: /src/cairo/src/cairo-recording-surface.c:2802,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-recording-surface.c:2811,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-recording-surface.c:2820,1
    - Dst: fputs
      Src: /src/cairo/src/cairo-recording-surface.c:2806,1
    - Dst: fputs
      Src: /src/cairo/src/cairo-recording-surface.c:2808,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-recording-surface.c:2826,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-recording-surface.c:2780,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-recording-surface.c:2789,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-recording-surface.c:2799,1
    - Dst: fputs
      Src: /src/cairo/src/cairo-recording-surface.c:2805,1
    - Dst: fputs
      Src: /src/cairo/src/cairo-recording-surface.c:2807,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 35
    argCount: 5
    argNames:
    - file
    - pattern
    - region_id
    - indent
    - recurse
    argTypes:
    - FILE*
    - cairo_pattern_t*
    - unsigned int
    - int
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 2829
      start: 2767
    functionDepth: 0
    functionLinenumber: 2767
    functionLinenumberEnd: 2829
    functionName: print_pattern
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - _cairo_debug_print_recording_surface
    - fputs
    - fprintf
    linkageType: ''
    returnType: void
    signature: "static void print_pattern (FILE *file,\t const cairo_pattern_t *pattern,\t\
      \ unsigned int region_id,\t int indent,\t cairo_bool_t recurse) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-recording-surface.c:1776,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-recording-surface.c:1781,1
    - Dst: _cairo_surface_is_recording
      Src: /src/cairo/src/cairo-recording-surface.c:1776,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-recording-surface.c:1778,1
    - Dst: _cairo_recording_surface_regions_allocate_unique_id
      Src: /src/cairo/src/cairo-recording-surface.c:1784,1
    - Dst: CAIRO_REFERENCE_COUNT_INIT
      Src: /src/cairo/src/cairo-recording-surface.c:1786,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-recording-surface.c:1788,1
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-recording-surface.c:1790,1
    - Dst: cairo_list_add
      Src: /src/cairo/src/cairo-recording-surface.c:1791,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-recording-surface.c:1792,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - abstract_surface
    - id
    argTypes:
    - cairo_surface_t*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 1797
      start: 1769
    functionDepth: 0
    functionLinenumber: 1769
    functionLinenumberEnd: 1797
    functionName: _cairo_recording_surface_region_array_attach
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - CAIRO_MUTEX_LOCK
    - _cairo_array_init
    - _cairo_error
    - CAIRO_MUTEX_UNLOCK
    - _cairo_recording_surface_regions_allocate_unique_id
    - CAIRO_REFERENCE_COUNT_INIT
    - assert
    - cairo_list_add
    - _cairo_surface_is_recording
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_recording_surface_region_array_attach (cairo_surface_t
      *abstract_surface, unsigned int *id) '
  - BBCount: 58
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_wrapper_init
      Src: /src/cairo/src/cairo-recording-surface.c:2044,1
    - Dst: assert
      Src: /src/cairo/src/cairo-recording-surface.c:2071,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-recording-surface.c:2071,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-recording-surface.c:2084,1
    - Dst: _cairo_recording_surface_get_visible_commands
      Src: /src/cairo/src/cairo-recording-surface.c:2090,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:2119,1
    - Dst: _cairo_recording_surface_merge_source_attributes
      Src: /src/cairo/src/cairo-recording-surface.c:2134,1
    - Dst: _cairo_surface_wrapper_mask
      Src: /src/cairo/src/cairo-recording-surface.c:2148,1
    - Dst: _cairo_analysis_surface_get_mask_region_id
      Src: /src/cairo/src/cairo-recording-surface.c:2164,1
    - Dst: _cairo_surface_wrapper_stroke
      Src: /src/cairo/src/cairo-recording-surface.c:2173,1
    - Dst: _cairo_recording_surface_merge_source_attributes
      Src: /src/cairo/src/cairo-recording-surface.c:2185,1
    - Dst: _cairo_recording_surface_merge_source_attributes
      Src: /src/cairo/src/cairo-recording-surface.c:2252,1
    - Dst: _cairo_clip_equal
      Src: /src/cairo/src/cairo-recording-surface.c:2228,1
    - Dst: assert
      Src: /src/cairo/src/cairo-recording-surface.c:2325,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:2025,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:2031,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-recording-surface.c:2032,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:2028,1
    - Dst: _cairo_surface_is_recording
      Src: /src/cairo/src/cairo-recording-surface.c:2037,1
    - Dst: _cairo_recording_surface_region_array_find
      Src: /src/cairo/src/cairo-recording-surface.c:2040,1
    - Dst: _cairo_surface_wrapper_set_clip
      Src: /src/cairo/src/cairo-recording-surface.c:2053,1
    - Dst: _cairo_pattern_create_solid
      Src: /src/cairo/src/cairo-recording-surface.c:2056,1
    - Dst: _cairo_surface_wrapper_set_inverse_transform
      Src: /src/cairo/src/cairo-recording-surface.c:2052,1
    - Dst: assert
      Src: /src/cairo/src/cairo-recording-surface.c:2080,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-recording-surface.c:2080,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-recording-surface.c:2341,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/src/cairo-recording-surface.c:2335,1
    - Dst: _cairo_recording_surface_merge_source_attributes
      Src: /src/cairo/src/cairo-recording-surface.c:2270,1
    - Dst: _cairo_surface_wrapper_intersect_extents
      Src: /src/cairo/src/cairo-recording-surface.c:2046,1
    - Dst: _cairo_array_allocate
      Src: /src/cairo/src/cairo-recording-surface.c:2073,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:2074,1
    - Dst: _cairo_surface_wrapper_get_target_extents
      Src: /src/cairo/src/cairo-recording-surface.c:2061,1
    - Dst: memset
      Src: /src/cairo/src/cairo-recording-surface.c:2078,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-recording-surface.c:2086,1
    - Dst: _cairo_rectangle_intersects
      Src: /src/cairo/src/cairo-recording-surface.c:2111,1
    - Dst: _cairo_analysis_surface_get_source_region_id
      Src: /src/cairo/src/cairo-recording-surface.c:2189,1
    - Dst: _cairo_surface_wrapper_has_fill_stroke
      Src: /src/cairo/src/cairo-recording-surface.c:2198,1
    - Dst: _cairo_surface_wrapper_fill_stroke
      Src: /src/cairo/src/cairo-recording-surface.c:2231,1
    - Dst: _cairo_recording_surface_merge_source_attributes
      Src: /src/cairo/src/cairo-recording-surface.c:2156,1
    - Dst: _cairo_analysis_surface_get_source_region_id
      Src: /src/cairo/src/cairo-recording-surface.c:2274,1
    - Dst: _cairo_analysis_surface_get_source_region_id
      Src: /src/cairo/src/cairo-recording-surface.c:2298,1
    - Dst: _cairo_surface_wrapper_fini
      Src: /src/cairo/src/cairo-recording-surface.c:2340,1
    - Dst: _cairo_recording_surface_merge_source_attributes
      Src: /src/cairo/src/cairo-recording-surface.c:2294,1
    - Dst: _cairo_analysis_surface_get_source_region_id
      Src: /src/cairo/src/cairo-recording-surface.c:2138,1
    - Dst: _cairo_surface_wrapper_fill
      Src: /src/cairo/src/cairo-recording-surface.c:2260,1
    - Dst: assert
      Src: /src/cairo/src/cairo-recording-surface.c:2037,1
    - Dst: assert
      Src: /src/cairo/src/cairo-recording-surface.c:2041,1
    - Dst: _cairo_surface_wrapper_intersect_extents
      Src: /src/cairo/src/cairo-recording-surface.c:2049,1
    - Dst: _cairo_surface_is_analysis
      Src: /src/cairo/src/cairo-recording-surface.c:2094,1
    - Dst: _cairo_surface_wrapper_paint
      Src: /src/cairo/src/cairo-recording-surface.c:2128,1
    - Dst: _cairo_recording_surface_merge_source_attributes
      Src: /src/cairo/src/cairo-recording-surface.c:2159,1
    - Dst: _cairo_analysis_surface_get_source_region_id
      Src: /src/cairo/src/cairo-recording-surface.c:2163,1
    - Dst: _cairo_path_fixed_equal
      Src: /src/cairo/src/cairo-recording-surface.c:2226,1
    - Dst: _cairo_recording_surface_merge_source_attributes
      Src: /src/cairo/src/cairo-recording-surface.c:2249,1
    - Dst: _cairo_surface_wrapper_show_text_glyphs
      Src: /src/cairo/src/cairo-recording-surface.c:2283,1
    - Dst: _cairo_surface_wrapper_tag
      Src: /src/cairo/src/cairo-recording-surface.c:2304,1
    - Dst: _cairo_int_status_is_error
      Src: /src/cairo/src/cairo-recording-surface.c:2325,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:2329,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:2315,1
    CyclomaticComplexity: 91
    EdgeCount: 91
    ICount: 194
    argCount: 2
    argNames:
    - surface
    - params
    argTypes:
    - cairo_recording_surface_t*
    - cairo_recording_surface_replay_params_t*
    constantsTouched: []
    func_position:
      end: 2342
      start: 2011
    functionDepth: 0
    functionLinenumber: 2011
    functionLinenumberEnd: 2342
    functionName: _cairo_recording_surface_replay_internal
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - _cairo_analysis_surface_get_mask_region_id
    - _cairo_surface_wrapper_fill_stroke
    - _cairo_array_index
    - _cairo_surface_wrapper_get_target_extents
    - _cairo_error
    - _cairo_array_num_elements
    - _cairo_pattern_create_solid
    - _cairo_surface_wrapper_has_fill_stroke
    - _cairo_surface_wrapper_fill
    - _cairo_surface_wrapper_mask
    - _cairo_surface_wrapper_fini
    - _cairo_surface_wrapper_tag
    - _cairo_surface_is_recording
    - _cairo_analysis_surface_get_source_region_id
    - _cairo_surface_wrapper_init
    - _cairo_surface_wrapper_intersect_extents
    - _cairo_surface_wrapper_paint
    - _cairo_rectangle_intersects
    - _cairo_recording_surface_merge_source_attributes
    - _cairo_clip_equal
    - _cairo_surface_wrapper_show_text_glyphs
    - _cairo_int_status_is_error
    - _cairo_path_fixed_equal
    - _cairo_array_allocate
    - assert
    - _cairo_surface_wrapper_set_clip
    - _cairo_surface_set_error
    - _cairo_surface_is_analysis
    - cairo_pattern_destroy
    - _cairo_surface_wrapper_stroke
    - _cairo_recording_surface_get_visible_commands
    - _cairo_recording_surface_region_array_find
    - _cairo_surface_wrapper_set_inverse_transform
    - memset
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_recording_surface_replay_internal (cairo_recording_surface_t\t\
      *surface,\t\t\t\t\t cairo_recording_surface_replay_params_t *params) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-recording-surface.c:170,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: bbtree_new
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - _cairo_calloc
    linkageType: ''
    returnType: struct bbtree*
    signature: 'static struct bbtree *bbtree_new (const cairo_box_t *box, cairo_command_header_t
      *chain) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 632
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 632
    functionName: proxy_finish
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t proxy_finish (void *abstract_surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-recording-surface.c:655,1
    - Dst: _cairo_surface_init
      Src: /src/cairo/src/cairo-recording-surface.c:659,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:656,1
    - Dst: _cairo_surface_attach_snapshot
      Src: /src/cairo/src/cairo-recording-surface.c:662,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-recording-surface.c:657,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 665
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 665
    functionName: attach_proxy
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_init
    - _cairo_surface_attach_snapshot
    - _cairo_surface_create_in_error
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *attach_proxy (cairo_surface_t *source,\t cairo_surface_t\
      \ *image) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_flush
      Src: /src/cairo/src/cairo-recording-surface.c:763,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_recording_surface_t*
    constantsTouched: []
    func_position:
      end: 764
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 764
    functionName: _cairo_recording_surface_break_self_copy_loop
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - cairo_surface_flush
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_recording_surface_break_self_copy_loop (cairo_recording_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_recording_surface_finish
      Src: /src/cairo/src/cairo-recording-surface.c:778,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-recording-surface.c:786,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_recording_surface_t*
    constantsTouched: []
    func_position:
      end: 787
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 787
    functionName: _cairo_recording_surface_reset
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - _cairo_recording_surface_finish
    - _cairo_array_init
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_recording_surface_reset (cairo_recording_surface_t
      *surface) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-recording-surface.c:915,1
    - Dst: TRACE
      Src: /src/cairo/src/cairo-recording-surface.c:871,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:877,1
    - Dst: _cairo_composite_rectangles_init_for_mask
      Src: /src/cairo/src/cairo-recording-surface.c:873,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-recording-surface.c:880,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:901,1
    - Dst: _cairo_pattern_fini
      Src: /src/cairo/src/cairo-recording-surface.c:912,1
    - Dst: _cairo_recording_surface_commit
      Src: /src/cairo/src/cairo-recording-surface.c:900,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:897,1
    - Dst: _cairo_pattern_init_snapshot
      Src: /src/cairo/src/cairo-recording-surface.c:896,1
    - Dst: _cairo_pattern_init_snapshot
      Src: /src/cairo/src/cairo-recording-surface.c:892,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:893,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-recording-surface.c:906,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:881,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-recording-surface.c:882,1
    - Dst: _command_init
      Src: /src/cairo/src/cairo-recording-surface.c:886,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:889,1
    - Dst: _cairo_pattern_fini
      Src: /src/cairo/src/cairo-recording-surface.c:910,1
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-recording-surface.c:914,1
    - Dst: _cairo_recording_surface_destroy_bbtree
      Src: /src/cairo/src/cairo-recording-surface.c:904,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-recording-surface.c:917,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 31
    argCount: 5
    argNames:
    - abstract_surface
    - op
    - source
    - mask
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 919
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 919
    functionName: _cairo_recording_surface_mask
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_init_snapshot
    - _cairo_clip_destroy
    - TRACE
    - _cairo_recording_surface_commit
    - _cairo_error
    - free
    - _cairo_pattern_fini
    - _cairo_composite_rectangles_init_for_mask
    - _cairo_composite_rectangles_fini
    - _cairo_recording_surface_destroy_bbtree
    - _command_init
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_recording_surface_mask (void\t\t\t\
      *abstract_surface,\t\t\t cairo_operator_t\t\t op,\t\t\t const cairo_pattern_t\t\
      *source,\t\t\t const cairo_pattern_t\t*mask,\t\t\t const cairo_clip_t\t*clip) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pattern_init_snapshot
      Src: /src/cairo/src/cairo-recording-surface.c:1036,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:1037,1
    - Dst: _cairo_recording_surface_commit
      Src: /src/cairo/src/cairo-recording-surface.c:1048,1
    - Dst: _cairo_path_fixed_init_copy
      Src: /src/cairo/src/cairo-recording-surface.c:1040,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:1049,1
    - Dst: TRACE
      Src: /src/cairo/src/cairo-recording-surface.c:1015,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:1025,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-recording-surface.c:1026,1
    - Dst: _command_init
      Src: /src/cairo/src/cairo-recording-surface.c:1030,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:1033,1
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-recording-surface.c:1062,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-recording-surface.c:1054,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-recording-surface.c:1065,1
    - Dst: _cairo_recording_surface_destroy_bbtree
      Src: /src/cairo/src/cairo-recording-surface.c:1052,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:1041,1
    - Dst: free
      Src: /src/cairo/src/cairo-recording-surface.c:1063,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-recording-surface.c:1024,1
    - Dst: _cairo_composite_rectangles_init_for_fill
      Src: /src/cairo/src/cairo-recording-surface.c:1017,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:1021,1
    - Dst: _cairo_pattern_fini
      Src: /src/cairo/src/cairo-recording-surface.c:1060,1
    - Dst: _cairo_path_fixed_fini
      Src: /src/cairo/src/cairo-recording-surface.c:1058,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 34
    argCount: 8
    argNames:
    - abstract_surface
    - op
    - source
    - path
    - fill_rule
    - tolerance
    - antialias
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 1067
      start: 1000
    functionDepth: 0
    functionLinenumber: 1000
    functionLinenumberEnd: 1067
    functionName: _cairo_recording_surface_fill
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_init_snapshot
    - _cairo_clip_destroy
    - TRACE
    - _cairo_recording_surface_commit
    - _cairo_error
    - free
    - unlikely
    - _cairo_pattern_fini
    - _cairo_path_fixed_init_copy
    - _cairo_path_fixed_fini
    - _cairo_recording_surface_destroy_bbtree
    - _cairo_composite_rectangles_fini
    - _cairo_composite_rectangles_init_for_fill
    - _command_init
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_recording_surface_fill (void\t\t\t\
      *abstract_surface,\t\t\t cairo_operator_t\t\t op,\t\t\t const cairo_pattern_t\t\
      *source,\t\t\t const cairo_path_fixed_t\t*path,\t\t\t cairo_fill_rule_t\t fill_rule,\t\
      \t\t double\t\t\t tolerance,\t\t\t cairo_antialias_t\t antialias,\t\t\t const\
      \ cairo_clip_t\t*clip) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-recording-surface.c:1348,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-recording-surface.c:1350,1
    - Dst: _cairo_pattern_init_copy
      Src: /src/cairo/src/cairo-recording-surface.c:1356,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:1349,1
    - Dst: _command_init_copy
      Src: /src/cairo/src/cairo-recording-surface.c:1354,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:1358,1
    - Dst: _cairo_path_fixed_init_copy
      Src: /src/cairo/src/cairo-recording-surface.c:1361,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:1362,1
    - Dst: _cairo_stroke_style_init_copy
      Src: /src/cairo/src/cairo-recording-surface.c:1365,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:1367,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:1376,1
    - Dst: free
      Src: /src/cairo/src/cairo-recording-surface.c:1388,1
    - Dst: _cairo_stroke_style_fini
      Src: /src/cairo/src/cairo-recording-surface.c:1382,1
    - Dst: _cairo_recording_surface_commit
      Src: /src/cairo/src/cairo-recording-surface.c:1375,1
    - Dst: _cairo_path_fixed_fini
      Src: /src/cairo/src/cairo-recording-surface.c:1384,1
    - Dst: _cairo_pattern_fini
      Src: /src/cairo/src/cairo-recording-surface.c:1386,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 2
    argNames:
    - surface
    - src
    argTypes:
    - cairo_recording_surface_t*
    - cairo_command_t*
    constantsTouched: []
    func_position:
      end: 1391
      start: 1341
    functionDepth: 0
    functionLinenumber: 1341
    functionLinenumberEnd: 1391
    functionName: _cairo_recording_surface_copy__stroke
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_init_copy
    - _command_init_copy
    - _cairo_stroke_style_fini
    - _cairo_recording_surface_commit
    - _cairo_error
    - free
    - _cairo_stroke_style_init_copy
    - _cairo_pattern_fini
    - _cairo_path_fixed_fini
    - _cairo_path_fixed_init_copy
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_recording_surface_copy__stroke (cairo_recording_surface_t\
      \ *surface,\t\t\t\t const cairo_command_t *src) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_box_from_rectangle
      Src: /src/cairo/src/cairo-recording-surface.c:182,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - bbt
    - header
    argTypes:
    - struct bbtree*
    - cairo_command_header_t*
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: bbtree_init
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - _cairo_box_from_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void bbtree_init (struct bbtree *bbt, cairo_command_header_t
      *header) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_finish
      Src: /src/cairo/src/cairo-recording-surface.c:671,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-recording-surface.c:672,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - source
    - proxy
    argTypes:
    - cairo_surface_t*
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 673
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 673
    functionName: detach_proxy
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - cairo_surface_finish
    - cairo_surface_destroy
    linkageType: ''
    returnType: void
    signature: "static void detach_proxy (cairo_surface_t *source,\t cairo_surface_t\
      \ *proxy) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_recording_surface_break_self_copy_loop
      Src: /src/cairo/src/cairo-recording-surface.c:770,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-recording-surface.c:771,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - surface
    - command
    argTypes:
    - cairo_recording_surface_t*
    - cairo_command_header_t*
    constantsTouched: []
    func_position:
      end: 772
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 772
    functionName: _cairo_recording_surface_commit
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - _cairo_recording_surface_break_self_copy_loop
    - _cairo_array_append
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_recording_surface_commit (cairo_recording_surface_t\
      \ *surface,\t\t\t\t cairo_command_header_t *command) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_recording_surface_reset
      Src: /src/cairo/src/cairo-recording-surface.c:814,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:837,1
    - Dst: _cairo_pattern_fini
      Src: /src/cairo/src/cairo-recording-surface.c:850,1
    - Dst: _cairo_pattern_init_snapshot
      Src: /src/cairo/src/cairo-recording-surface.c:836,1
    - Dst: _cairo_recording_surface_destroy_bbtree
      Src: /src/cairo/src/cairo-recording-surface.c:844,1
    - Dst: _cairo_recording_surface_commit
      Src: /src/cairo/src/cairo-recording-surface.c:840,1
    - Dst: _cairo_recording_surface_reset
      Src: /src/cairo/src/cairo-recording-surface.c:804,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:825,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-recording-surface.c:826,1
    - Dst: _command_init
      Src: /src/cairo/src/cairo-recording-surface.c:830,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:833,1
    - Dst: _cairo_pattern_is_opaque_solid
      Src: /src/cairo/src/cairo-recording-surface.c:812,1
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-recording-surface.c:852,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:841,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-recording-surface.c:855,1
    - Dst: TRACE
      Src: /src/cairo/src/cairo-recording-surface.c:800,1
    - Dst: _cairo_composite_rectangles_init_for_paint
      Src: /src/cairo/src/cairo-recording-surface.c:817,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:821,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-recording-surface.c:824,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-recording-surface.c:846,1
    - Dst: free
      Src: /src/cairo/src/cairo-recording-surface.c:853,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 44
    argCount: 4
    argNames:
    - abstract_surface
    - op
    - source
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 857
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 857
    functionName: _cairo_recording_surface_paint
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_init_snapshot
    - _cairo_clip_destroy
    - TRACE
    - _cairo_recording_surface_commit
    - _cairo_error
    - free
    - unlikely
    - _cairo_calloc
    - _cairo_pattern_fini
    - _cairo_composite_rectangles_fini
    - _cairo_recording_surface_reset
    - _cairo_recording_surface_destroy_bbtree
    - _command_init
    - _cairo_composite_rectangles_init_for_paint
    - _cairo_pattern_is_opaque_solid
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_recording_surface_paint (void\t\t\
      \t *abstract_surface,\t\t\t\tcairo_operator_t\t op,\t\t\t\tconst cairo_pattern_t\t\
      \ *source,\t\t\t\tconst cairo_clip_t\t *clip) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:978,1
    - Dst: _cairo_recording_surface_commit
      Src: /src/cairo/src/cairo-recording-surface.c:977,1
    - Dst: _cairo_path_fixed_fini
      Src: /src/cairo/src/cairo-recording-surface.c:989,1
    - Dst: _cairo_pattern_fini
      Src: /src/cairo/src/cairo-recording-surface.c:991,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-recording-surface.c:948,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:945,1
    - Dst: _cairo_composite_rectangles_init_for_stroke
      Src: /src/cairo/src/cairo-recording-surface.c:940,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-recording-surface.c:983,1
    - Dst: _cairo_pattern_init_snapshot
      Src: /src/cairo/src/cairo-recording-surface.c:960,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:961,1
    - Dst: _cairo_path_fixed_init_copy
      Src: /src/cairo/src/cairo-recording-surface.c:964,1
    - Dst: _cairo_stroke_style_init_copy
      Src: /src/cairo/src/cairo-recording-surface.c:968,1
    - Dst: _cairo_recording_surface_destroy_bbtree
      Src: /src/cairo/src/cairo-recording-surface.c:981,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:965,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:969,1
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-recording-surface.c:993,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-recording-surface.c:996,1
    - Dst: TRACE
      Src: /src/cairo/src/cairo-recording-surface.c:938,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:949,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-recording-surface.c:950,1
    - Dst: _command_init
      Src: /src/cairo/src/cairo-recording-surface.c:954,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:957,1
    - Dst: _cairo_stroke_style_fini
      Src: /src/cairo/src/cairo-recording-surface.c:987,1
    - Dst: free
      Src: /src/cairo/src/cairo-recording-surface.c:994,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 39
    argCount: 10
    argNames:
    - abstract_surface
    - op
    - source
    - path
    - style
    - ctm
    - ctm_inverse
    - tolerance
    - antialias
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 998
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 998
    functionName: _cairo_recording_surface_stroke
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_init_snapshot
    - _cairo_stroke_style_fini
    - _cairo_clip_destroy
    - TRACE
    - _cairo_recording_surface_commit
    - _cairo_error
    - free
    - unlikely
    - _cairo_composite_rectangles_init_for_stroke
    - _cairo_stroke_style_init_copy
    - _cairo_pattern_fini
    - _cairo_path_fixed_fini
    - _cairo_recording_surface_destroy_bbtree
    - _cairo_composite_rectangles_fini
    - _cairo_path_fixed_init_copy
    - _command_init
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_recording_surface_stroke (void\t\t\
      \t*abstract_surface,\t\t\t\t cairo_operator_t\t op,\t\t\t\t const cairo_pattern_t\t\
      *source,\t\t\t\t const cairo_path_fixed_t\t*path,\t\t\t\t const cairo_stroke_style_t\t\
      *style,\t\t\t\t const cairo_matrix_t\t\t*ctm,\t\t\t\t const cairo_matrix_t\t\
      \t*ctm_inverse,\t\t\t\t double\t\t\t tolerance,\t\t\t\t cairo_antialias_t\t\
      \ antialias,\t\t\t\t const cairo_clip_t\t*clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1073
      start: 1069
    functionDepth: 0
    functionLinenumber: 1069
    functionLinenumberEnd: 1073
    functionName: _cairo_recording_surface_has_show_text_glyphs
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_recording_surface_has_show_text_glyphs
      (void *abstract_surface) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-recording-surface.c:1400,1
    - Dst: _cairo_pattern_init_copy
      Src: /src/cairo/src/cairo-recording-surface.c:1408,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-recording-surface.c:1402,1
    - Dst: _command_init_copy
      Src: /src/cairo/src/cairo-recording-surface.c:1406,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:1401,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:1410,1
    - Dst: _cairo_path_fixed_init_copy
      Src: /src/cairo/src/cairo-recording-surface.c:1413,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:1414,1
    - Dst: _cairo_recording_surface_commit
      Src: /src/cairo/src/cairo-recording-surface.c:1421,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:1422,1
    - Dst: free
      Src: /src/cairo/src/cairo-recording-surface.c:1432,1
    - Dst: _cairo_path_fixed_fini
      Src: /src/cairo/src/cairo-recording-surface.c:1428,1
    - Dst: _cairo_pattern_fini
      Src: /src/cairo/src/cairo-recording-surface.c:1430,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - surface
    - src
    argTypes:
    - cairo_recording_surface_t*
    - cairo_command_t*
    constantsTouched: []
    func_position:
      end: 1435
      start: 1393
    functionDepth: 0
    functionLinenumber: 1393
    functionLinenumberEnd: 1435
    functionName: _cairo_recording_surface_copy__fill
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_init_copy
    - _command_init_copy
    - _cairo_recording_surface_commit
    - _cairo_error
    - free
    - _cairo_pattern_fini
    - _cairo_path_fixed_fini
    - _cairo_path_fixed_init_copy
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_recording_surface_copy__fill (cairo_recording_surface_t\
      \ *surface,\t\t\t\t const cairo_command_t *src) "
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_is_snapshot
      Src: /src/cairo/src/cairo-recording-surface.c:1957,1
    - Dst: _cairo_surface_snapshot_get_target
      Src: /src/cairo/src/cairo-recording-surface.c:1958,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:1960,1
    - Dst: _cairo_recording_surface_has_only_bilevel_alpha
      Src: /src/cairo/src/cairo-recording-surface.c:1968,1
    - Dst: _cairo_recording_surface_has_only_op_over
      Src: /src/cairo/src/cairo-recording-surface.c:1971,1
    - Dst: _cairo_image_analyze_transparency
      Src: /src/cairo/src/cairo-recording-surface.c:1977,1
    - Dst: _cairo_pattern_is_clear
      Src: /src/cairo/src/cairo-recording-surface.c:1981,1
    - Dst: _cairo_pattern_is_opaque
      Src: /src/cairo/src/cairo-recording-surface.c:1981,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-recording-surface.c:1985,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/src/cairo-recording-surface.c:1992,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-recording-surface.c:1994,1
    - Dst: _cairo_pattern_is_clear
      Src: /src/cairo/src/cairo-recording-surface.c:2007,1
    - Dst: _cairo_image_analyze_transparency
      Src: /src/cairo/src/cairo-recording-surface.c:1997,1
    - Dst: _cairo_raster_source_pattern_release
      Src: /src/cairo/src/cairo-recording-surface.c:2001,1
    - Dst: _cairo_pattern_is_opaque
      Src: /src/cairo/src/cairo-recording-surface.c:2007,1
    - Dst: _cairo_raster_source_pattern_acquire
      Src: /src/cairo/src/cairo-recording-surface.c:1993,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 52
    argCount: 3
    argNames:
    - surface
    - op
    - source
    argTypes:
    - cairo_recording_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 2009
      start: 1944
    functionDepth: 0
    functionLinenumber: 1944
    functionLinenumberEnd: 2009
    functionName: _cairo_recording_surface_merge_source_attributes
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_is_snapshot
    - _cairo_pattern_is_opaque
    - _cairo_image_analyze_transparency
    - _cairo_raster_source_pattern_acquire
    - _cairo_recording_surface_has_only_op_over
    - _cairo_recording_surface_has_only_bilevel_alpha
    - cairo_surface_destroy
    - cairo_image_surface_create
    - _cairo_pattern_is_clear
    - _cairo_raster_source_pattern_release
    - _cairo_surface_snapshot_get_target
    - unlikely
    linkageType: ''
    returnType: void
    signature: "static void _cairo_recording_surface_merge_source_attributes (cairo_recording_surface_t\
      \ *surface,\t\t\t\t\t\t cairo_operator_t op,\t\t\t\t\t\t const cairo_pattern_t\
      \ *source) "
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:2353,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:2356,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:2359,1
    - Dst: assert
      Src: /src/cairo/src/cairo-recording-surface.c:2362,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-recording-surface.c:2360,1
    - Dst: _cairo_surface_is_recording
      Src: /src/cairo/src/cairo-recording-surface.c:2362,1
    - Dst: _cairo_surface_wrapper_init
      Src: /src/cairo/src/cairo-recording-surface.c:2368,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-recording-surface.c:2371,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-recording-surface.c:2373,1
    - Dst: _cairo_surface_wrapper_paint
      Src: /src/cairo/src/cairo-recording-surface.c:2377,1
    - Dst: _cairo_surface_wrapper_mask
      Src: /src/cairo/src/cairo-recording-surface.c:2385,1
    - Dst: _cairo_surface_wrapper_stroke
      Src: /src/cairo/src/cairo-recording-surface.c:2395,1
    - Dst: _cairo_surface_wrapper_fini
      Src: /src/cairo/src/cairo-recording-surface.c:2444,1
    - Dst: _cairo_surface_wrapper_fill
      Src: /src/cairo/src/cairo-recording-surface.c:2409,1
    - Dst: _cairo_surface_wrapper_show_text_glyphs
      Src: /src/cairo/src/cairo-recording-surface.c:2421,1
    - Dst: _cairo_surface_wrapper_tag
      Src: /src/cairo/src/cairo-recording-surface.c:2434,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-recording-surface.c:2445,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 28
    argCount: 3
    argNames:
    - surface
    - index
    - target
    argTypes:
    - cairo_recording_surface_t*
    - long unsigned
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 2446
      start: 2344
    functionDepth: 0
    functionLinenumber: 2344
    functionLinenumberEnd: 2446
    functionName: _cairo_recording_surface_replay_one
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_wrapper_init
    - _cairo_surface_wrapper_fill
    - _cairo_surface_wrapper_paint
    - _cairo_array_index
    - _cairo_surface_wrapper_mask
    - _cairo_error
    - _cairo_surface_wrapper_show_text_glyphs
    - _cairo_surface_wrapper_fini
    - assert
    - _cairo_surface_wrapper_stroke
    - _cairo_surface_wrapper_tag
    - _cairo_surface_set_error
    - _cairo_surface_is_recording
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_recording_surface_replay_one (cairo_recording_surface_t\t\
      *surface,\t\t\t\t long unsigned index,\t\t\t\t cairo_surface_t\t *target) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_recording_surface_replay_internal
      Src: /src/cairo/src/cairo-recording-surface.c:2548,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - surface
    - surface_transform
    - target
    - target_clip
    argTypes:
    - cairo_surface_t*
    - cairo_matrix_t*
    - cairo_surface_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 2549
      start: 2529
    functionDepth: 0
    functionLinenumber: 2529
    functionLinenumberEnd: 2549
    functionName: _cairo_recording_surface_replay_with_clip
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - _cairo_recording_surface_replay_internal
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_recording_surface_replay_with_clip (cairo_surface_t\
      \ *surface,\t\t\t\t\t const cairo_matrix_t *surface_transform,\t\t\t\t\t cairo_surface_t\
      \ *target,\t\t\t\t\t const cairo_clip_t *target_clip) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cairo/src/cairo-recording-surface.c:2655,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:2665,1
    - Dst: _recording_surface_get_ink_bbox
      Src: /src/cairo/src/cairo-recording-surface.c:2662,1
    - Dst: _cairo_surface_is_recording
      Src: /src/cairo/src/cairo-recording-surface.c:2657,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-recording-surface.c:2658,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-recording-surface.c:2666,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-recording-surface.c:2670,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-recording-surface.c:2672,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-recording-surface.c:2674,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-recording-surface.c:2676,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 5
    argNames:
    - surface
    - x0
    - y0
    - width
    - height
    argTypes:
    - cairo_surface_t*
    - double*
    - double*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 2677
      start: 2645
    functionDepth: 0
    functionLinenumber: 2645
    functionLinenumberEnd: 2677
    functionName: cairo_recording_surface_ink_extents
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_to_double
    - _recording_surface_get_ink_bbox
    - _cairo_surface_set_error
    - _cairo_surface_is_recording
    - _cairo_error_throw
    - memset
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void cairo_recording_surface_ink_extents (cairo_surface_t *surface,\t\
      \t\t\t double *x0,\t\t\t\t double *y0,\t\t\t\t double *width,\t\t\t\t double\
      \ *height) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_atomic_uint_get
      Src: /src/cairo/src/cairo-recording-surface.c:1740,1
    - Dst: _cairo_atomic_uint_cmpxchg
      Src: /src/cairo/src/cairo-recording-surface.c:1744,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1748
      start: 1727
    functionDepth: 0
    functionLinenumber: 1727
    functionLinenumberEnd: 1748
    functionName: _cairo_recording_surface_regions_allocate_unique_id
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - _cairo_atomic_uint_get
    - _cairo_atomic_uint_cmpxchg
    linkageType: ''
    returnType: unsigned int
    signature: 'static unsigned int _cairo_recording_surface_regions_allocate_unique_id
      (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_box_from_rectangle
      Src: /src/cairo/src/cairo-recording-surface.c:2685,1
    - Dst: _cairo_matrix_transform_bounding_box_fixed
      Src: /src/cairo/src/cairo-recording-surface.c:2687,1
    - Dst: _recording_surface_get_ink_bbox
      Src: /src/cairo/src/cairo-recording-surface.c:2692,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - surface
    - bbox
    - transform
    argTypes:
    - cairo_recording_surface_t*
    - cairo_box_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 2693
      start: 2679
    functionDepth: 0
    functionLinenumber: 2679
    functionLinenumberEnd: 2693
    functionName: _cairo_recording_surface_get_bbox
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - _recording_surface_get_ink_bbox
    - _cairo_box_from_rectangle
    - _cairo_matrix_transform_bounding_box_fixed
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_recording_surface_get_bbox (cairo_recording_surface_t\
      \ *surface,\t\t\t\t cairo_box_t *bbox,\t\t\t\t const cairo_matrix_t *transform) "
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:1107,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-recording-surface.c:1108,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-recording-surface.c:1135,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-recording-surface.c:1151,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-recording-surface.c:1166,1
    - Dst: free
      Src: /src/cairo/src/cairo-recording-surface.c:1172,1
    - Dst: free
      Src: /src/cairo/src/cairo-recording-surface.c:1179,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-recording-surface.c:1181,1
    - Dst: _cairo_pattern_init_snapshot
      Src: /src/cairo/src/cairo-recording-surface.c:1118,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:1119,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-recording-surface.c:1130,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-recording-surface.c:1146,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:1147,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-recording-surface.c:1148,1
    - Dst: _cairo_recording_surface_commit
      Src: /src/cairo/src/cairo-recording-surface.c:1162,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:1163,1
    - Dst: cairo_scaled_font_destroy
      Src: /src/cairo/src/cairo-recording-surface.c:1170,1
    - Dst: free
      Src: /src/cairo/src/cairo-recording-surface.c:1174,1
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-recording-surface.c:1178,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-recording-surface.c:1140,1
    - Dst: TRACE
      Src: /src/cairo/src/cairo-recording-surface.c:1094,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:1103,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-recording-surface.c:1106,1
    - Dst: _cairo_composite_rectangles_init_for_glyphs
      Src: /src/cairo/src/cairo-recording-surface.c:1096,1
    - Dst: _command_init
      Src: /src/cairo/src/cairo-recording-surface.c:1112,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:1115,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-recording-surface.c:1132,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-recording-surface.c:1138,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:1131,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:1139,1
    - Dst: _cairo_pattern_fini
      Src: /src/cairo/src/cairo-recording-surface.c:1176,1
    - Dst: cairo_scaled_font_reference
      Src: /src/cairo/src/cairo-recording-surface.c:1160,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-recording-surface.c:1143,1
    - Dst: free
      Src: /src/cairo/src/cairo-recording-surface.c:1173,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:1157,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 70
    argCount: 12
    argNames:
    - abstract_surface
    - op
    - source
    - utf8
    - utf8_len
    - glyphs
    - num_glyphs
    - clusters
    - num_clusters
    - cluster_flags
    - scaled_font
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - char*
    - int
    - cairo_glyph_t*
    - int
    - cairo_text_cluster_t*
    - int
    - cairo_text_cluster_flags_t
    - cairo_scaled_font_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 1183
      start: 1075
    functionDepth: 0
    functionLinenumber: 1075
    functionLinenumberEnd: 1183
    functionName: _cairo_recording_surface_show_text_glyphs
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_init_snapshot
    - _cairo_malloc
    - memcpy
    - cairo_scaled_font_destroy
    - _cairo_clip_destroy
    - TRACE
    - _cairo_recording_surface_commit
    - _cairo_error
    - free
    - unlikely
    - _cairo_pattern_fini
    - _cairo_composite_rectangles_init_for_glyphs
    - _cairo_malloc_ab
    - _cairo_composite_rectangles_fini
    - cairo_scaled_font_reference
    - _command_init
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_recording_surface_show_text_glyphs\
      \ (void\t\t\t\t*abstract_surface,\t\t\t\t\t cairo_operator_t\t\t op,\t\t\t\t\
      \t const cairo_pattern_t\t*source,\t\t\t\t\t const char\t\t\t*utf8,\t\t\t\t\t\
      \ int\t\t\t\t utf8_len,\t\t\t\t\t cairo_glyph_t\t\t*glyphs,\t\t\t\t\t int\t\t\
      \t\t num_glyphs,\t\t\t\t\t const cairo_text_cluster_t\t*clusters,\t\t\t\t\t\
      \ int\t\t\t\t num_clusters,\t\t\t\t\t cairo_text_cluster_flags_t\t cluster_flags,\t\
      \t\t\t\t cairo_scaled_font_t\t\t*scaled_font,\t\t\t\t\t const cairo_clip_t\t\
      \t*clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - abstract_surface
    - scaled_font
    - glyph_index
    argTypes:
    - void*
    - cairo_scaled_font_t*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 1249
      start: 1243
    functionDepth: 0
    functionLinenumber: 1243
    functionLinenumberEnd: 1249
    functionName: _cairo_recording_surface_supports_color_glyph
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_recording_surface_supports_color_glyph
      (void *abstract_surface, cairo_scaled_font_t *scaled_font, unsigned long glyph_index) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-recording-surface.c:1273,1
    - Dst: _cairo_pattern_init_copy
      Src: /src/cairo/src/cairo-recording-surface.c:1281,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:1274,1
    - Dst: _command_init_copy
      Src: /src/cairo/src/cairo-recording-surface.c:1279,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-recording-surface.c:1275,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:1283,1
    - Dst: _cairo_recording_surface_commit
      Src: /src/cairo/src/cairo-recording-surface.c:1286,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:1287,1
    - Dst: _cairo_pattern_fini
      Src: /src/cairo/src/cairo-recording-surface.c:1293,1
    - Dst: free
      Src: /src/cairo/src/cairo-recording-surface.c:1295,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - surface
    - src
    argTypes:
    - cairo_recording_surface_t*
    - cairo_command_t*
    constantsTouched: []
    func_position:
      end: 1298
      start: 1266
    functionDepth: 0
    functionLinenumber: 1266
    functionLinenumberEnd: 1298
    functionName: _cairo_recording_surface_copy__paint
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_init_copy
    - _command_init_copy
    - _cairo_recording_surface_commit
    - _cairo_error
    - free
    - _cairo_pattern_fini
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_recording_surface_copy__paint (cairo_recording_surface_t\
      \ *surface,\t\t\t\t const cairo_command_t *src) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_recording_surface_replay_internal
      Src: /src/cairo/src/cairo-recording-surface.c:2578,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 6
    argNames:
    - surface
    - regions_id
    - surface_transform
    - target
    - surface_is_unbounded
    - replay_all
    argTypes:
    - cairo_surface_t*
    - unsigned int
    - cairo_matrix_t*
    - cairo_surface_t*
    - cairo_bool_t
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 2579
      start: 2557
    functionDepth: 0
    functionLinenumber: 2557
    functionLinenumberEnd: 2579
    functionName: _cairo_recording_surface_replay_and_create_regions
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - _cairo_recording_surface_replay_internal
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_recording_surface_replay_and_create_regions\
      \ (cairo_surface_t *surface,\t\t\t\t\t\t unsigned int regions_id,\t\t\t\t\t\t\
      \ const cairo_matrix_t *surface_transform,\t\t\t\t\t\t cairo_surface_t *target,\t\
      \t\t\t\t\t cairo_bool_t surface_is_unbounded,\t\t\t\t\t\t cairo_bool_t replay_all) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_is_recording
      Src: /src/cairo/src/cairo-recording-surface.c:2721,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-recording-surface.c:2722,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - surface
    - extents
    argTypes:
    - cairo_surface_t*
    - cairo_rectangle_t*
    constantsTouched: []
    func_position:
      end: 2732
      start: 2715
    functionDepth: 0
    functionLinenumber: 2715
    functionLinenumberEnd: 2732
    functionName: cairo_recording_surface_get_extents
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_is_recording
    - _cairo_error_throw
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t cairo_recording_surface_get_extents (cairo_surface_t\
      \ *surface,\t\t\t\t cairo_rectangle_t *extents) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-recording-surface.c:1199,1
    - Dst: strdup
      Src: /src/cairo/src/cairo-recording-surface.c:1218,1
    - Dst: free
      Src: /src/cairo/src/cairo-recording-surface.c:1236,1
    - Dst: free
      Src: /src/cairo/src/cairo-recording-surface.c:1239,1
    - Dst: free
      Src: /src/cairo/src/cairo-recording-surface.c:1235,1
    - Dst: TRACE
      Src: /src/cairo/src/cairo-recording-surface.c:1195,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:1207,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:1219,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-recording-surface.c:1220,1
    - Dst: _cairo_recording_surface_destroy_bbtree
      Src: /src/cairo/src/cairo-recording-surface.c:1230,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:1200,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-recording-surface.c:1201,1
    - Dst: _command_init
      Src: /src/cairo/src/cairo-recording-surface.c:1204,1
    - Dst: strdup
      Src: /src/cairo/src/cairo-recording-surface.c:1211,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:1212,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-recording-surface.c:1213,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:1227,1
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-recording-surface.c:1238,1
    - Dst: _cairo_recording_surface_commit
      Src: /src/cairo/src/cairo-recording-surface.c:1226,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 4
    argNames:
    - abstract_surface
    - begin
    - tag_name
    - attributes
    argTypes:
    - void*
    - cairo_bool_t
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1241
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1241
    functionName: _cairo_recording_surface_tag
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - _cairo_clip_destroy
    - TRACE
    - _cairo_recording_surface_commit
    - _cairo_error
    - free
    - strdup
    - _cairo_recording_surface_destroy_bbtree
    - _command_init
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_recording_surface_tag (void\t\t\t\
      \ *abstract_surface,\t\t\t cairo_bool_t begin,\t\t\t const char *tag_name,\t\
      \t\t const char *attributes) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_copy
      Src: /src/cairo/src/cairo-recording-surface.c:1263,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - surface
    - dst
    - src
    argTypes:
    - cairo_recording_surface_t*
    - cairo_command_header_t*
    - cairo_command_header_t*
    constantsTouched: []
    func_position:
      end: 1264
      start: 1251
    functionDepth: 0
    functionLinenumber: 1251
    functionLinenumberEnd: 1264
    functionName: _command_init_copy
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - _cairo_clip_copy
    linkageType: ''
    returnType: void
    signature: "static void _command_init_copy (cairo_recording_surface_t *surface,\t\
      \t cairo_command_header_t *dst,\t\t const cairo_command_header_t *src) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-recording-surface.c:1307,1
    - Dst: _cairo_pattern_init_copy
      Src: /src/cairo/src/cairo-recording-surface.c:1315,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-recording-surface.c:1309,1
    - Dst: _command_init_copy
      Src: /src/cairo/src/cairo-recording-surface.c:1313,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:1308,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:1317,1
    - Dst: _cairo_pattern_init_copy
      Src: /src/cairo/src/cairo-recording-surface.c:1320,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:1322,1
    - Dst: _cairo_recording_surface_commit
      Src: /src/cairo/src/cairo-recording-surface.c:1325,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:1326,1
    - Dst: free
      Src: /src/cairo/src/cairo-recording-surface.c:1336,1
    - Dst: _cairo_pattern_fini
      Src: /src/cairo/src/cairo-recording-surface.c:1332,1
    - Dst: _cairo_pattern_fini
      Src: /src/cairo/src/cairo-recording-surface.c:1334,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 2
    argNames:
    - surface
    - src
    argTypes:
    - cairo_recording_surface_t*
    - cairo_command_t*
    constantsTouched: []
    func_position:
      end: 1339
      start: 1300
    functionDepth: 0
    functionLinenumber: 1300
    functionLinenumberEnd: 1339
    functionName: _cairo_recording_surface_copy__mask
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_init_copy
    - _command_init_copy
    - _cairo_recording_surface_commit
    - _cairo_error
    - free
    - _cairo_pattern_fini
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_recording_surface_copy__mask (cairo_recording_surface_t\
      \ *surface,\t\t\t\t const cairo_command_t *src) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_recording_surface_replay_internal
      Src: /src/cairo/src/cairo-recording-surface.c:2601,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 5
    argNames:
    - surface
    - regions_id
    - surface_extents
    - target
    - region
    argTypes:
    - cairo_surface_t*
    - unsigned int
    - cairo_rectangle_int_t*
    - cairo_surface_t*
    - cairo_recording_region_type_t
    constantsTouched: []
    func_position:
      end: 2602
      start: 2581
    functionDepth: 0
    functionLinenumber: 2581
    functionLinenumberEnd: 2602
    functionName: _cairo_recording_surface_replay_region
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - _cairo_recording_surface_replay_internal
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_recording_surface_replay_region (cairo_surface_t\
      \ *surface,\t\t\t\t\tunsigned int regions_id,\t\t\t\t\tconst cairo_rectangle_int_t\
      \ *surface_extents,\t\t\t\t\tcairo_surface_t *target,\t\t\t\t\tcairo_recording_region_type_t\
      \ region) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_box_from_rectangle
      Src: /src/cairo/src/cairo-recording-surface.c:1930,1
    - Dst: sort_indices
      Src: /src/cairo/src/cairo-recording-surface.c:1939,1
    - Dst: bbtree_foreach_mark_visible
      Src: /src/cairo/src/cairo-recording-surface.c:1936,1
    - Dst: _cairo_recording_surface_create_bbtree
      Src: /src/cairo/src/cairo-recording-surface.c:1933,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - surface
    - extents
    argTypes:
    - cairo_recording_surface_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 1942
      start: 1920
    functionDepth: 0
    functionLinenumber: 1920
    functionLinenumberEnd: 1942
    functionName: _cairo_recording_surface_get_visible_commands
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - bbtree_foreach_mark_visible
    - sort_indices
    - _cairo_box_from_rectangle
    - _cairo_recording_surface_create_bbtree
    linkageType: ''
    returnType: int
    signature: "static int _cairo_recording_surface_get_visible_commands (cairo_recording_surface_t\
      \ *surface,\t\t\t\t\t const cairo_rectangle_int_t *extents) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-recording-surface.c:1833,1
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-recording-surface.c:1835,1
    - Dst: _cairo_reference_count_inc
      Src: /src/cairo/src/cairo-recording-surface.c:1838,1
    - Dst: _cairo_recording_surface_region_array_find
      Src: /src/cairo/src/cairo-recording-surface.c:1836,1
    - Dst: _cairo_surface_is_recording
      Src: /src/cairo/src/cairo-recording-surface.c:1833,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-recording-surface.c:1841,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - abstract_surface
    - id
    argTypes:
    - cairo_surface_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1842
      start: 1826
    functionDepth: 0
    functionLinenumber: 1826
    functionLinenumberEnd: 1842
    functionName: _cairo_recording_surface_region_array_reference
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - CAIRO_MUTEX_LOCK
    - CAIRO_MUTEX_UNLOCK
    - assert
    - _cairo_recording_surface_region_array_find
    - _cairo_surface_is_recording
    - _cairo_reference_count_inc
    linkageType: ''
    returnType: void
    signature: "void _cairo_recording_surface_region_array_reference (cairo_surface_t\
      \ *abstract_surface,\t\t\t\t\t\t unsigned int id) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bbtree_del
      Src: /src/cairo/src/cairo-recording-surface.c:313,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-recording-surface.c:321,1
    - Dst: bbtree_del
      Src: /src/cairo/src/cairo-recording-surface.c:317,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_recording_surface_t*
    constantsTouched: []
    func_position:
      end: 327
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 327
    functionName: _cairo_recording_surface_destroy_bbtree
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    - bbtree_del
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_recording_surface_destroy_bbtree (cairo_recording_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_acquire_source_image
      Src: /src/cairo/src/cairo-recording-surface.c:616,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 3
    argNames:
    - abstract_surface
    - image_out
    - image_extra
    argTypes:
    - void*
    - cairo_image_surface_t**
    - void**
    constantsTouched: []
    func_position:
      end: 617
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 617
    functionName: proxy_acquire_source_image
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_acquire_source_image
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t proxy_acquire_source_image (void\t\t\t *abstract_surface,\t\
      \t\t cairo_image_surface_t\t**image_out,\t\t\t void\t\t\t**image_extra) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_is_recording
      Src: /src/cairo/src/cairo-recording-surface.c:468,1
    - Dst: _cairo_recording_surface_region_array_remove
      Src: /src/cairo/src/cairo-recording-surface.c:469,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - pattern
    - region_id
    argTypes:
    - cairo_pattern_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 472
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 472
    functionName: destroy_pattern_region_array
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_is_recording
    - _cairo_recording_surface_region_array_remove
    linkageType: ''
    returnType: void
    signature: "static void destroy_pattern_region_array (const cairo_pattern_t *pattern,\t\
      \t\t unsigned int region_id) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 679
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 679
    functionName: get_proxy
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *get_proxy (cairo_surface_t *proxy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-recording-surface.c:729,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - abstract_surface
    - image
    - image_extra
    argTypes:
    - void*
    - cairo_image_surface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 730
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 730
    functionName: _cairo_recording_surface_release_source_image
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - cairo_surface_destroy
    linkageType: ''
    returnType: void
    signature: "static void _cairo_recording_surface_release_source_image (void\t\t\
      \t*abstract_surface,\t\t\t\t\t cairo_image_surface_t\t*image,\t\t\t\t\t void\t\
      \t\t*image_extra) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-recording-surface.c:1629,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-recording-surface.c:1631,1
    - Dst: _cairo_surface_init
      Src: /src/cairo/src/cairo-recording-surface.c:1633,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-recording-surface.c:1631,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:1630,1
    - Dst: CAIRO_MUTEX_INIT
      Src: /src/cairo/src/cairo-recording-surface.c:1655,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-recording-surface.c:1657,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-recording-surface.c:1659,1
    - Dst: _cairo_recording_surface_copy
      Src: /src/cairo/src/cairo-recording-surface.c:1660,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:1661,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-recording-surface.c:1663,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-recording-surface.c:1662,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1667
      start: 1622
    functionDepth: 0
    functionLinenumber: 1622
    functionLinenumberEnd: 1667
    functionName: _cairo_recording_surface_snapshot
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - _cairo_recording_surface_copy
    - _cairo_surface_init
    - cairo_list_init
    - _cairo_array_init
    - _cairo_error
    - cairo_surface_destroy
    - CAIRO_MUTEX_INIT
    - _cairo_surface_create_in_error
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *_cairo_recording_surface_snapshot (void *abstract_other) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - abstract_surface
    - rectangle
    argTypes:
    - void*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 1680
      start: 1669
    functionDepth: 0
    functionLinenumber: 1669
    functionLinenumberEnd: 1680
    functionName: _cairo_recording_surface_get_extents
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _cairo_recording_surface_get_extents (void\t\t\
      \ *abstract_surface,\t\t\t\t cairo_rectangle_int_t *rectangle) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_recording_surface_replay_internal
      Src: /src/cairo/src/cairo-recording-surface.c:2476,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - surface
    - target
    argTypes:
    - cairo_surface_t*
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 2477
      start: 2459
    functionDepth: 0
    functionLinenumber: 2459
    functionLinenumberEnd: 2477
    functionName: _cairo_recording_surface_replay
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - _cairo_recording_surface_replay_internal
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_recording_surface_replay (cairo_surface_t *surface,\t\
      \t\t\t cairo_surface_t *target) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-recording-surface.c:332,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-recording-surface.c:340,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:341,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-recording-surface.c:342,1
    - Dst: free
      Src: /src/cairo/src/cairo-recording-surface.c:339,1
    - Dst: sort_commands
      Src: /src/cairo/src/cairo-recording-surface.c:351,1
    - Dst: bbtree_init
      Src: /src/cairo/src/cairo-recording-surface.c:353,1
    - Dst: _cairo_box_from_rectangle
      Src: /src/cairo/src/cairo-recording-surface.c:358,1
    - Dst: bbtree_add
      Src: /src/cairo/src/cairo-recording-surface.c:359,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:360,1
    - Dst: bbtree_del
      Src: /src/cairo/src/cairo-recording-surface.c:370,1
    - Dst: bbtree_del
      Src: /src/cairo/src/cairo-recording-surface.c:368,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_recording_surface_t*
    constantsTouched: []
    func_position:
      end: 372
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 372
    functionName: _cairo_recording_surface_create_bbtree
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - bbtree_add
    - _cairo_array_index
    - sort_commands
    - _cairo_error
    - free
    - bbtree_init
    - bbtree_del
    - _cairo_malloc_ab
    - _cairo_box_from_rectangle
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_recording_surface_create_bbtree (cairo_recording_surface_t
      *surface) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/cairo/src/cairo-recording-surface.c:482,1
    - Dst: destroy_pattern_region_array
      Src: /src/cairo/src/cairo-recording-surface.c:491,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-recording-surface.c:484,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-recording-surface.c:482,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-recording-surface.c:483,1
    - Dst: destroy_pattern_region_array
      Src: /src/cairo/src/cairo-recording-surface.c:495,1
    - Dst: destroy_pattern_region_array
      Src: /src/cairo/src/cairo-recording-surface.c:496,1
    - Dst: destroy_pattern_region_array
      Src: /src/cairo/src/cairo-recording-surface.c:500,1
    - Dst: destroy_pattern_region_array
      Src: /src/cairo/src/cairo-recording-surface.c:504,1
    - Dst: destroy_pattern_region_array
      Src: /src/cairo/src/cairo-recording-surface.c:508,1
    - Dst: free
      Src: /src/cairo/src/cairo-recording-surface.c:520,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-recording-surface.c:519,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 20
    argCount: 2
    argNames:
    - surface
    - region_array
    argTypes:
    - cairo_recording_surface_t*
    - cairo_recording_regions_array_t*
    constantsTouched: []
    func_position:
      end: 521
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 521
    functionName: _cairo_recording_surface_region_array_destroy
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    - destroy_pattern_region_array
    - free
    - _cairo_array_num_elements
    - MIN
    - _cairo_array_fini
    linkageType: ''
    returnType: void
    signature: "static void _cairo_recording_surface_region_array_destroy (cairo_recording_surface_t\
      \ *surface,\t\t\t\t\t cairo_recording_regions_array_t *region_array) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_release_source_image
      Src: /src/cairo/src/cairo-recording-surface.c:625,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - abstract_surface
    - image
    - image_extra
    argTypes:
    - void*
    - cairo_image_surface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 626
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 626
    functionName: proxy_release_source_image
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_release_source_image
    linkageType: ''
    returnType: void
    signature: "static void proxy_release_source_image (void\t\t\t*abstract_surface,\t\
      \t\t cairo_image_surface_t\t*image,\t\t\t void\t\t\t*image_extra) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_has_snapshot
      Src: /src/cairo/src/cairo-recording-surface.c:690,1
    - Dst: _cairo_image_surface_create_with_content
      Src: /src/cairo/src/cairo-recording-surface.c:700,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-recording-surface.c:693,1
    - Dst: cairo_surface_set_device_offset
      Src: /src/cairo/src/cairo-recording-surface.c:703,1
    - Dst: get_proxy
      Src: /src/cairo/src/cairo-recording-surface.c:693,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:704,1
    - Dst: cairo_surface_set_device_offset
      Src: /src/cairo/src/cairo-recording-surface.c:707,1
    - Dst: attach_proxy
      Src: /src/cairo/src/cairo-recording-surface.c:710,1
    - Dst: _cairo_recording_surface_replay
      Src: /src/cairo/src/cairo-recording-surface.c:711,1
    - Dst: detach_proxy
      Src: /src/cairo/src/cairo-recording-surface.c:712,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-recording-surface.c:715,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:714,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 3
    argNames:
    - abstract_surface
    - image_out
    - image_extra
    argTypes:
    - void*
    - cairo_image_surface_t**
    - void**
    constantsTouched: []
    func_position:
      end: 722
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 722
    functionName: _cairo_recording_surface_acquire_source_image
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - get_proxy
    - attach_proxy
    - cairo_surface_reference
    - detach_proxy
    - cairo_surface_destroy
    - cairo_surface_set_device_offset
    - _cairo_recording_surface_replay
    - _cairo_surface_has_snapshot
    - _cairo_image_surface_create_with_content
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_recording_surface_acquire_source_image\
      \ (void\t\t\t *abstract_surface,\t\t\t\t\t cairo_image_surface_t\t**image_out,\t\
      \t\t\t\t void\t\t\t**image_extra) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_composite_rectangles_can_reduce_clip
      Src: /src/cairo/src/cairo-recording-surface.c:750,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 5
    argNames:
    - surface
    - command
    - type
    - op
    - composite
    argTypes:
    - cairo_recording_surface_t*
    - cairo_command_header_t*
    - cairo_command_type_t
    - cairo_operator_t
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 758
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 758
    functionName: _command_init
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - _cairo_composite_rectangles_can_reduce_clip
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _command_init (cairo_recording_surface_t *surface,\t\
      \ cairo_command_header_t *command,\t cairo_command_type_t type,\t cairo_operator_t\
      \ op,\t cairo_composite_rectangles_t *composite) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_recording_surface_replay_internal
      Src: /src/cairo/src/cairo-recording-surface.c:2500,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - surface
    - target
    - foreground_color
    - foreground_used
    argTypes:
    - cairo_surface_t*
    - cairo_surface_t*
    - cairo_color_t*
    - cairo_bool_t*
    constantsTouched: []
    func_position:
      end: 2504
      start: 2479
    functionDepth: 0
    functionLinenumber: 2479
    functionLinenumberEnd: 2504
    functionName: _cairo_recording_surface_replay_with_foreground_color
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - _cairo_recording_surface_replay_internal
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_recording_surface_replay_with_foreground_color\
      \ (cairo_surface_t *surface, cairo_surface_t *target,\t\t\t\t\t\t const cairo_color_t\
      \ *foreground_color,\t\t\t\t\t\t cairo_bool_t *foreground_used) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _recording_surface_get_ink_bbox
      Src: /src/cairo/src/cairo-recording-surface.c:2700,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - surface
    - bbox
    - transform
    argTypes:
    - cairo_recording_surface_t*
    - cairo_box_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 2701
      start: 2695
    functionDepth: 0
    functionLinenumber: 2695
    functionLinenumberEnd: 2701
    functionName: _cairo_recording_surface_get_ink_bbox
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - _recording_surface_get_ink_bbox
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_recording_surface_get_ink_bbox (cairo_recording_surface_t\
      \ *surface,\t\t\t\t cairo_box_t *bbox,\t\t\t\t const cairo_matrix_t *transform) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_recording_surface_t*
    constantsTouched: []
    func_position:
      end: 2738
      start: 2734
    functionDepth: 0
    functionLinenumber: 2734
    functionLinenumberEnd: 2738
    functionName: _cairo_recording_surface_has_only_bilevel_alpha
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t _cairo_recording_surface_has_only_bilevel_alpha (cairo_recording_surface_t
      *surface) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-recording-surface.c:1568,1
    - Dst: _cairo_recording_surface_copy__paint
      Src: /src/cairo/src/cairo-recording-surface.c:1575,1
    - Dst: _cairo_recording_surface_copy__fill
      Src: /src/cairo/src/cairo-recording-surface.c:1587,1
    - Dst: _cairo_recording_surface_copy__stroke
      Src: /src/cairo/src/cairo-recording-surface.c:1583,1
    - Dst: _cairo_recording_surface_copy__mask
      Src: /src/cairo/src/cairo-recording-surface.c:1579,1
    - Dst: _cairo_recording_surface_copy__glyphs
      Src: /src/cairo/src/cairo-recording-surface.c:1591,1
    - Dst: _cairo_recording_surface_copy__tag
      Src: /src/cairo/src/cairo-recording-surface.c:1595,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-recording-surface.c:1602,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 21
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - cairo_recording_surface_t*
    - cairo_recording_surface_t*
    constantsTouched: []
    func_position:
      end: 1607
      start: 1560
    functionDepth: 0
    functionLinenumber: 1560
    functionLinenumberEnd: 1607
    functionName: _cairo_recording_surface_copy
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    - _cairo_recording_surface_copy__fill
    - _cairo_recording_surface_copy__glyphs
    - _cairo_recording_surface_copy__tag
    - unlikely
    - _cairo_recording_surface_copy__mask
    - _cairo_recording_surface_copy__paint
    - _cairo_recording_surface_copy__stroke
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_recording_surface_copy (cairo_recording_surface_t\
      \ *dst,\t\t\t cairo_recording_surface_t *src) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_recording_surface_t*
    constantsTouched: []
    func_position:
      end: 2744
      start: 2740
    functionDepth: 0
    functionLinenumber: 2740
    functionLinenumberEnd: 2744
    functionName: _cairo_recording_surface_has_only_op_over
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t _cairo_recording_surface_has_only_op_over (cairo_recording_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cairo/src/cairo-recording-surface.c:2764,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - file
    - indent
    argTypes:
    - FILE*
    - int
    constantsTouched: []
    func_position:
      end: 2765
      start: 2761
    functionDepth: 0
    functionLinenumber: 2761
    functionLinenumberEnd: 2765
    functionName: print_indent
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'static void print_indent (FILE *file, int indent) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_recording_surface_replay_internal
      Src: /src/cairo/src/cairo-recording-surface.c:2526,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 5
    argNames:
    - surface
    - surface_transform
    - target
    - surface_is_unbounded
    - replay_all
    argTypes:
    - cairo_surface_t*
    - cairo_matrix_t*
    - cairo_surface_t*
    - cairo_bool_t
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 2527
      start: 2506
    functionDepth: 0
    functionLinenumber: 2506
    functionLinenumberEnd: 2527
    functionName: _cairo_recording_surface_replay_with_transform
    functionSourceFile: /src/cairo/src/cairo-recording-surface.c
    functionUses: []
    functionsReached:
    - _cairo_recording_surface_replay_internal
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_recording_surface_replay_with_transform (cairo_surface_t\
      \ *surface,\t\t\t\t\t\tconst cairo_matrix_t *surface_transform,\t\t\t\t\t\t\
      cairo_surface_t *target,\t\t\t\t\t\tcairo_bool_t surface_is_unbounded,\t\t\t\
      \t\t\tcairo_bool_t replay_all) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_device_release
      Src: /src/cairo/src/cairo-xcb-private.h:325,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - connection
    argTypes:
    - cairo_xcb_connection_t*
    constantsTouched: []
    func_position:
      end: 326
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 326
    functionName: _cairo_xcb_connection_release
    functionSourceFile: /src/cairo/src/cairo-xcb-private.h
    functionUses: []
    functionsReached:
    - cairo_device_release
    linkageType: ''
    returnType: void
    signature: 'static inline void _cairo_xcb_connection_release (cairo_xcb_connection_t
      *connection) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_device_reference
      Src: /src/cairo/src/cairo-xcb-private.h:305,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 306
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 306
    functionName: _cairo_xcb_connection_reference
    functionSourceFile: /src/cairo/src/cairo-xcb-private.h
    functionUses: []
    functionsReached:
    - cairo_device_reference
    linkageType: ''
    returnType: cairo_xcb_connection_t*
    signature: 'static inline cairo_xcb_connection_t *_cairo_xcb_connection_reference
      (cairo_xcb_connection_t *connection) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_device_destroy
      Src: /src/cairo/src/cairo-xcb-private.h:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - connection
    argTypes:
    - cairo_xcb_connection_t*
    constantsTouched: []
    func_position:
      end: 332
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 332
    functionName: _cairo_xcb_connection_destroy
    functionSourceFile: /src/cairo/src/cairo-xcb-private.h
    functionUses: []
    functionsReached:
    - cairo_device_destroy
    linkageType: ''
    returnType: void
    signature: 'static inline void _cairo_xcb_connection_destroy (cairo_xcb_connection_t
      *connection) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_device_acquire
      Src: /src/cairo/src/cairo-xcb-private.h:319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - connection
    argTypes:
    - cairo_xcb_connection_t*
    constantsTouched: []
    func_position:
      end: 320
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 320
    functionName: _cairo_xcb_connection_acquire
    functionSourceFile: /src/cairo/src/cairo-xcb-private.h
    functionUses: []
    functionsReached:
    - cairo_device_acquire
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static inline cairo_status_t cairo_warn _cairo_xcb_connection_acquire
      (cairo_xcb_connection_t *connection) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 14
    argNames:
    - connection
    - dst
    - gc
    - total_width
    - total_height
    - src_x
    - src_y
    - width
    - height
    - dst_x
    - dst_y
    - depth
    - shm
    - offset
    argTypes:
    - cairo_xcb_connection_t*
    - xcb_drawable_t
    - xcb_gcontext_t
    - uint16_t
    - uint16_t
    - int16_t
    - int16_t
    - uint16_t
    - uint16_t
    - int16_t
    - int16_t
    - uint8_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 600
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 600
    functionName: _cairo_xcb_connection_shm_put_image
    functionSourceFile: /src/cairo/src/cairo-xcb-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static inline void _cairo_xcb_connection_shm_put_image (cairo_xcb_connection_t\
      \ *connection,\t\t\t\t xcb_drawable_t dst,\t\t\t\t xcb_gcontext_t gc,\t\t\t\t\
      \ uint16_t total_width,\t\t\t\t uint16_t total_height,\t\t\t\t int16_t src_x,\t\
      \t\t\t int16_t src_y,\t\t\t\t uint16_t width,\t\t\t\t uint16_t height,\t\t\t\
      \t int16_t dst_x,\t\t\t\t int16_t dst_y,\t\t\t\t uint8_t depth,\t\t\t\t uint32_t\
      \ shm,\t\t\t\t uint32_t offset) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 297
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 297
    functionName: _cairo_surface_is_xcb
    functionSourceFile: /src/cairo/src/cairo-xcb-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static inline cairo_bool_t _cairo_surface_is_xcb (const cairo_surface_t
      *surface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_create
      Src: /src/cairo/src/cairo-user-font.c:142,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/src/cairo-user-font.c:151,1
    - Dst: _cairo_matrix_is_scale_0
      Src: /src/cairo/src/cairo-user-font.c:144,1
    - Dst: cairo_set_font_options
      Src: /src/cairo/src/cairo-user-font.c:152,1
    - Dst: cairo_set_matrix
      Src: /src/cairo/src/cairo-user-font.c:148,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/src/cairo-user-font.c:154,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 157
    functionName: _cairo_user_scaled_font_create_recording_context
    functionSourceFile: /src/cairo/src/cairo-user-font.c
    functionUses: []
    functionsReached:
    - cairo_set_font_options
    - cairo_create
    - cairo_set_font_size
    - _cairo_matrix_is_scale_0
    - cairo_set_source_rgb
    - cairo_set_matrix
    linkageType: ''
    returnType: cairo_t*
    signature: "static cairo_t *_cairo_user_scaled_font_create_recording_context (const\
      \ cairo_user_scaled_font_t *scaled_font,\t\t\t\t\t\t cairo_surface_t *recording_surface,\t\
      \t\t\t\t\t cairo_bool_t color) "
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_scaled_glyph_xphase
      Src: /src/cairo/src/cairo-user-font.c:209,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-user-font.c:229,1
    - Dst: cairo_destroy
      Src: /src/cairo/src/cairo-user-font.c:223,1
    - Dst: _cairo_scaled_glyph_yphase
      Src: /src/cairo/src/cairo-user-font.c:210,1
    - Dst: _cairo_scaled_glyph_set_recording_surface
      Src: /src/cairo/src/cairo-user-font.c:233,1
    - Dst: _cairo_box_to_doubles
      Src: /src/cairo/src/cairo-user-font.c:255,1
    - Dst: _cairo_scaled_glyph_index
      Src: /src/cairo/src/cairo-user-font.c:192,1
    - Dst: cairo_status
      Src: /src/cairo/src/cairo-user-font.c:218,1
    - Dst: _cairo_user_scaled_font_create_recording_surface
      Src: /src/cairo/src/cairo-user-font.c:188,1
    - Dst: _cairo_user_scaled_font_create_recording_context
      Src: /src/cairo/src/cairo-user-font.c:190,1
    - Dst: _cairo_user_scaled_font_create_recording_surface
      Src: /src/cairo/src/cairo-user-font.c:177,1
    - Dst: cairo_destroy
      Src: /src/cairo/src/cairo-user-font.c:200,1
    - Dst: _cairo_user_scaled_font_create_recording_context
      Src: /src/cairo/src/cairo-user-font.c:212,1
    - Dst: _cairo_recording_surface_get_bbox
      Src: /src/cairo/src/cairo-user-font.c:249,1
    - Dst: _cairo_lround
      Src: /src/cairo/src/cairo-user-font.c:266,1
    - Dst: _cairo_matrix_is_scale_0
      Src: /src/cairo/src/cairo-user-font.c:176,1
    - Dst: _cairo_scaled_glyph_set_recording_surface
      Src: /src/cairo/src/cairo-user-font.c:178,1
    - Dst: cairo_status
      Src: /src/cairo/src/cairo-user-font.c:195,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-user-font.c:207,1
    - Dst: _cairo_scaled_glyph_index
      Src: /src/cairo/src/cairo-user-font.c:215,1
    - Dst: _cairo_user_scaled_font_create_recording_surface
      Src: /src/cairo/src/cairo-user-font.c:208,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-user-font.c:252,1
    - Dst: _cairo_lround
      Src: /src/cairo/src/cairo-user-font.c:267,1
    - Dst: _cairo_scaled_glyph_set_metrics
      Src: /src/cairo/src/cairo-user-font.c:270,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 88
    argCount: 3
    argNames:
    - scaled_font
    - scaled_glyph
    - foreground_color
    argTypes:
    - cairo_user_scaled_font_t*
    - cairo_scaled_glyph_t*
    - cairo_color_t*
    constantsTouched: []
    func_position:
      end: 275
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 275
    functionName: _cairo_user_scaled_glyph_init_record_glyph
    functionSourceFile: /src/cairo/src/cairo-user-font.c
    functionUses: []
    functionsReached:
    - _cairo_scaled_glyph_xphase
    - _cairo_scaled_glyph_index
    - _cairo_user_scaled_font_create_recording_surface
    - _cairo_scaled_glyph_set_recording_surface
    - _cairo_scaled_glyph_set_metrics
    - _cairo_matrix_is_scale_0
    - cairo_surface_destroy
    - _cairo_recording_surface_get_bbox
    - cairo_status
    - _cairo_box_to_doubles
    - cairo_destroy
    - _cairo_user_scaled_font_create_recording_context
    - _cairo_lround
    - _cairo_scaled_glyph_yphase
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_user_scaled_glyph_init_record_glyph\
      \ (cairo_user_scaled_font_t *scaled_font,\t\t\t\t\t cairo_scaled_glyph_t *scaled_glyph,\t\
      \t\t\t\t const cairo_color_t *foreground_color) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_font_face_is_user
      Src: /src/cairo/src/cairo-user-font.c:1054,1
    - Dst: _cairo_font_face_set_error
      Src: /src/cairo/src/cairo-user-font.c:1055,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - font_face
    argTypes:
    - cairo_font_face_t*
    constantsTouched: []
    func_position:
      end: 1061
      start: 1046
    functionDepth: 0
    functionLinenumber: 1046
    functionLinenumberEnd: 1061
    functionName: cairo_user_font_face_get_text_to_glyphs_func
    functionSourceFile: /src/cairo/src/cairo-user-font.c
    functionUses: []
    functionsReached:
    - _cairo_font_face_is_user
    - _cairo_font_face_set_error
    linkageType: ''
    returnType: cairo_user_scaled_font_text_to_glyphs_func_t
    signature: 'cairo_user_scaled_font_text_to_glyphs_func_t cairo_user_font_face_get_text_to_glyphs_func
      (cairo_font_face_t *font_face) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/src/cairo-user-font.c:122,1
    - Dst: cairo_pattern_create_rgb
      Src: /src/cairo/src/cairo-user-font.c:129,1
    - Dst: _cairo_pattern_create_solid
      Src: /src/cairo/src/cairo-user-font.c:127,1
    - Dst: cairo_recording_surface_create
      Src: /src/cairo/src/cairo-user-font.c:132,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 133
    functionName: _cairo_user_scaled_font_create_recording_surface
    functionSourceFile: /src/cairo/src/cairo-user-font.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_create_solid
    - cairo_recording_surface_create
    - cairo_pattern_destroy
    - cairo_pattern_create_rgb
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_user_scaled_font_create_recording_surface\
      \ (cairo_user_scaled_font_t *scaled_font,\t\t\t\t\t\t cairo_bool_t color,\t\t\
      \t\t\t\t const cairo_color_t *foreground_color) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_font_face_is_user
      Src: /src/cairo/src/cairo-user-font.c:970,1
    - Dst: _cairo_font_face_set_error
      Src: /src/cairo/src/cairo-user-font.c:971,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - font_face
    argTypes:
    - cairo_font_face_t*
    constantsTouched: []
    func_position:
      end: 977
      start: 962
    functionDepth: 0
    functionLinenumber: 962
    functionLinenumberEnd: 977
    functionName: cairo_user_font_face_get_init_func
    functionSourceFile: /src/cairo/src/cairo-user-font.c
    functionUses: []
    functionsReached:
    - _cairo_font_face_is_user
    - _cairo_font_face_set_error
    linkageType: ''
    returnType: cairo_user_scaled_font_init_func_t
    signature: 'cairo_user_scaled_font_init_func_t cairo_user_font_face_get_init_func
      (cairo_font_face_t *font_face) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pattern_create_in_error
      Src: /src/cairo/src/cairo-user-font.c:1147,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1141
    functionDepth: 0
    functionLinenumber: 1141
    functionLinenumberEnd: 1151
    functionName: cairo_user_scaled_font_get_foreground_marker
    functionSourceFile: /src/cairo/src/cairo-user-font.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_create_in_error
    linkageType: ''
    returnType: cairo_pattern_t*
    signature: 'cairo_pattern_t *cairo_user_scaled_font_get_foreground_marker (cairo_scaled_font_t
      *scaled_font) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-user-font.c:584,1
    - Dst: _cairo_scaled_font_init
      Src: /src/cairo/src/cairo-user-font.c:579,1
    - Dst: _cairo_pattern_create_foreground_marker
      Src: /src/cairo/src/cairo-user-font.c:590,1
    - Dst: cairo_status
      Src: /src/cairo/src/cairo-user-font.c:652,1
    - Dst: cairo_destroy
      Src: /src/cairo/src/cairo-user-font.c:654,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-user-font.c:576,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-user-font.c:577,1
    - Dst: free
      Src: /src/cairo/src/cairo-user-font.c:585,1
    - Dst: _cairo_matrix_compute_basis_scale_factors
      Src: /src/cairo/src/cairo-user-font.c:603,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/src/cairo-user-font.c:620,1
    - Dst: _cairo_scaled_font_register_placeholder_and_unlock_font_map
      Src: /src/cairo/src/cairo-user-font.c:635,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-user-font.c:659,1
    - Dst: _cairo_user_scaled_font_create_recording_context
      Src: /src/cairo/src/cairo-user-font.c:641,1
    - Dst: _cairo_scaled_font_set_metrics
      Src: /src/cairo/src/cairo-user-font.c:663,1
    - Dst: free
      Src: /src/cairo/src/cairo-user-font.c:667,1
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-user-font.c:632,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-user-font.c:642,1
    - Dst: _cairo_scaled_font_unregister_placeholder_and_lock_font_map
      Src: /src/cairo/src/cairo-user-font.c:656,1
    - Dst: _cairo_user_scaled_font_create_recording_surface
      Src: /src/cairo/src/cairo-user-font.c:640,1
    - Dst: _cairo_scaled_font_fini
      Src: /src/cairo/src/cairo-user-font.c:666,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-user-font.c:575,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 78
    argCount: 5
    argNames:
    - abstract_face
    - font_matrix
    - ctm
    - options
    - scaled_font
    argTypes:
    - void*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - cairo_font_options_t*
    - cairo_scaled_font_t**
    constantsTouched: []
    func_position:
      end: 680
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 680
    functionName: _cairo_user_font_face_scaled_font_create
    functionSourceFile: /src/cairo/src/cairo-user-font.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - CAIRO_MUTEX_UNLOCK
    - _cairo_scaled_font_register_placeholder_and_unlock_font_map
    - unlikely
    - cairo_status
    - _cairo_calloc
    - CAIRO_MUTEX_LOCK
    - _cairo_scaled_font_set_metrics
    - cairo_matrix_scale
    - _cairo_user_scaled_font_create_recording_surface
    - cairo_destroy
    - _cairo_pattern_create_foreground_marker
    - _cairo_scaled_font_init
    - free
    - _cairo_scaled_font_unregister_placeholder_and_lock_font_map
    - cairo_surface_destroy
    - _cairo_scaled_font_fini
    - _cairo_user_scaled_font_create_recording_context
    - _cairo_matrix_compute_basis_scale_factors
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_user_font_face_scaled_font_create (void\
      \ *abstract_face,\t\t\t\t\t const cairo_matrix_t *font_matrix,\t\t\t\t\t const\
      \ cairo_matrix_t *ctm,\t\t\t\t\t const cairo_font_options_t *options,\t\t\t\t\
      \t cairo_scaled_font_t **scaled_font) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_font_face_is_user
      Src: /src/cairo/src/cairo-user-font.c:1082,1
    - Dst: _cairo_font_face_set_error
      Src: /src/cairo/src/cairo-user-font.c:1083,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - font_face
    argTypes:
    - cairo_font_face_t*
    constantsTouched: []
    func_position:
      end: 1089
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1089
    functionName: cairo_user_font_face_get_unicode_to_glyph_func
    functionSourceFile: /src/cairo/src/cairo-user-font.c
    functionUses: []
    functionsReached:
    - _cairo_font_face_is_user
    - _cairo_font_face_set_error
    linkageType: ''
    returnType: cairo_user_scaled_font_unicode_to_glyph_func_t
    signature: 'cairo_user_scaled_font_unicode_to_glyph_func_t cairo_user_font_face_get_unicode_to_glyph_func
      (cairo_font_face_t *font_face) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pattern_create_in_error
      Src: /src/cairo/src/cairo-user-font.c:1200,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1194
    functionDepth: 0
    functionLinenumber: 1194
    functionLinenumberEnd: 1205
    functionName: cairo_user_scaled_font_get_foreground_source
    functionSourceFile: /src/cairo/src/cairo-user-font.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_create_in_error
    linkageType: ''
    returnType: cairo_pattern_t*
    signature: 'cairo_pattern_t *cairo_user_scaled_font_get_foreground_source (cairo_scaled_font_t
      *scaled_font) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-user-font.c:296,1
    - Dst: _cairo_fixed_integer_floor
      Src: /src/cairo/src/cairo-user-font.c:301,1
    - Dst: _cairo_fixed_integer_ceil
      Src: /src/cairo/src/cairo-user-font.c:300,1
    - Dst: _cairo_fixed_integer_ceil
      Src: /src/cairo/src/cairo-user-font.c:298,1
    - Dst: _cairo_fixed_integer_floor
      Src: /src/cairo/src/cairo-user-font.c:299,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/src/cairo-user-font.c:323,1
    - Dst: cairo_surface_set_device_offset
      Src: /src/cairo/src/cairo-user-font.c:325,1
    - Dst: _cairo_fixed_integer_floor
      Src: /src/cairo/src/cairo-user-font.c:326,1
    - Dst: _cairo_fixed_integer_floor
      Src: /src/cairo/src/cairo-user-font.c:327,1
    - Dst: _cairo_recording_surface_replay_with_foreground_color
      Src: /src/cairo/src/cairo-user-font.c:330,1
    - Dst: _cairo_scaled_glyph_set_color_surface
      Src: /src/cairo/src/cairo-user-font.c:347,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-user-font.c:360,1
    - Dst: _cairo_recording_surface_replay
      Src: /src/cairo/src/cairo-user-font.c:336,1
    - Dst: _cairo_scaled_glyph_set_surface
      Src: /src/cairo/src/cairo-user-font.c:353,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-user-font.c:339,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-user-font.c:340,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 49
    argCount: 4
    argNames:
    - scaled_font
    - scaled_glyph
    - info
    - foreground_color
    argTypes:
    - cairo_user_scaled_font_t*
    - cairo_scaled_glyph_t*
    - cairo_scaled_glyph_info_t
    - cairo_color_t*
    constantsTouched: []
    func_position:
      end: 363
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 363
    functionName: _cairo_user_scaled_glyph_init_surface
    functionSourceFile: /src/cairo/src/cairo-user-font.c
    functionUses: []
    functionsReached:
    - _cairo_scaled_glyph_set_surface
    - unlikely
    - assert
    - cairo_surface_destroy
    - _cairo_fixed_integer_ceil
    - cairo_image_surface_create
    - cairo_surface_set_device_offset
    - _cairo_recording_surface_replay
    - _cairo_scaled_glyph_set_color_surface
    - _cairo_recording_surface_replay_with_foreground_color
    - _cairo_fixed_integer_floor
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_user_scaled_glyph_init_surface (cairo_user_scaled_font_t\
      \ *scaled_font,\t\t\t\t cairo_scaled_glyph_t\t *scaled_glyph,\t\t\t\t cairo_scaled_glyph_info_t\
      \ info,\t\t\t\t const cairo_color_t *foreground_color) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_font_face_is_user
      Src: /src/cairo/src/cairo-user-font.c:863,1
    - Dst: _cairo_font_face_set_error
      Src: /src/cairo/src/cairo-user-font.c:870,1
    - Dst: _cairo_font_face_set_error
      Src: /src/cairo/src/cairo-user-font.c:864,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - font_face
    - render_glyph_func
    argTypes:
    - cairo_font_face_t*
    - cairo_user_scaled_font_render_glyph_func_t
    constantsTouched: []
    func_position:
      end: 874
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 874
    functionName: cairo_user_font_face_set_render_glyph_func
    functionSourceFile: /src/cairo/src/cairo-user-font.c
    functionUses: []
    functionsReached:
    - _cairo_font_face_is_user
    - _cairo_font_face_set_error
    linkageType: ''
    returnType: void
    signature: "void cairo_user_font_face_set_render_glyph_func (cairo_font_face_t\
      \ *font_face,\t\t\t\t\t cairo_user_scaled_font_render_glyph_func_t render_glyph_func) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/src/cairo-user-font.c:371,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/src/cairo-user-font.c:374,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - abstract_font
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 375
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 375
    functionName: _cairo_user_scaled_glyph_fini
    functionSourceFile: /src/cairo/src/cairo-user-font.c
    functionUses: []
    functionsReached:
    - cairo_pattern_destroy
    linkageType: ''
    returnType: void
    signature: "static void _cairo_user_scaled_glyph_fini (void\t\t\t *abstract_font) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_font_face_is_user
      Src: /src/cairo/src/cairo-user-font.c:764,1
    - Dst: _cairo_font_face_set_error
      Src: /src/cairo/src/cairo-user-font.c:771,1
    - Dst: _cairo_font_face_set_error
      Src: /src/cairo/src/cairo-user-font.c:765,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - font_face
    - init_func
    argTypes:
    - cairo_font_face_t*
    - cairo_user_scaled_font_init_func_t
    constantsTouched: []
    func_position:
      end: 775
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 775
    functionName: cairo_user_font_face_set_init_func
    functionSourceFile: /src/cairo/src/cairo-user-font.c
    functionUses: []
    functionsReached:
    - _cairo_font_face_is_user
    - _cairo_font_face_set_error
    linkageType: ''
    returnType: void
    signature: "void cairo_user_font_face_set_init_func (cairo_font_face_t *font_face,\t\
      \t\t\t cairo_user_scaled_font_init_func_t init_func) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-user-font.c:722,1
    - Dst: _cairo_font_face_init
      Src: /src/cairo/src/cairo-user-font.c:728,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-user-font.c:724,1
    - Dst: memset
      Src: /src/cairo/src/cairo-user-font.c:732,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 735
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 735
    functionName: cairo_user_font_face_create
    functionSourceFile: /src/cairo/src/cairo-user-font.c
    functionUses: []
    functionsReached:
    - _cairo_error_throw
    - memset
    - _cairo_font_face_init
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_font_face_t*
    signature: 'cairo_font_face_t *cairo_user_font_face_create (void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_font_face_is_user
      Src: /src/cairo/src/cairo-user-font.c:813,1
    - Dst: _cairo_font_face_set_error
      Src: /src/cairo/src/cairo-user-font.c:820,1
    - Dst: _cairo_font_face_set_error
      Src: /src/cairo/src/cairo-user-font.c:814,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - font_face
    - render_glyph_func
    argTypes:
    - cairo_font_face_t*
    - cairo_user_scaled_font_render_glyph_func_t
    constantsTouched: []
    func_position:
      end: 825
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 825
    functionName: cairo_user_font_face_set_render_color_glyph_func
    functionSourceFile: /src/cairo/src/cairo-user-font.c
    functionUses: []
    functionsReached:
    - _cairo_font_face_is_user
    - _cairo_font_face_set_error
    linkageType: ''
    returnType: void
    signature: 'void cairo_user_font_face_set_render_color_glyph_func (cairo_font_face_t
      *font_face, cairo_user_scaled_font_render_glyph_func_t render_glyph_func) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_font_face_is_user
      Src: /src/cairo/src/cairo-user-font.c:998,1
    - Dst: _cairo_font_face_set_error
      Src: /src/cairo/src/cairo-user-font.c:999,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - font_face
    argTypes:
    - cairo_font_face_t*
    constantsTouched: []
    func_position:
      end: 1005
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 1005
    functionName: cairo_user_font_face_get_render_color_glyph_func
    functionSourceFile: /src/cairo/src/cairo-user-font.c
    functionUses: []
    functionsReached:
    - _cairo_font_face_is_user
    - _cairo_font_face_set_error
    linkageType: ''
    returnType: cairo_user_scaled_font_render_glyph_func_t
    signature: 'cairo_user_scaled_font_render_glyph_func_t cairo_user_font_face_get_render_color_glyph_func
      (cairo_font_face_t *font_face) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_user_scaled_glyph_init_record_glyph
      Src: /src/cairo/src/cairo-user-font.c:387,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-user-font.c:416,1
    - Dst: _cairo_user_scaled_glyph_init_surface
      Src: /src/cairo/src/cairo-user-font.c:396,1
    - Dst: _cairo_path_fixed_create
      Src: /src/cairo/src/cairo-user-font.c:414,1
    - Dst: _cairo_user_scaled_glyph_init_surface
      Src: /src/cairo/src/cairo-user-font.c:405,1
    - Dst: _cairo_recording_surface_get_path
      Src: /src/cairo/src/cairo-user-font.c:418,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-user-font.c:419,1
    - Dst: _cairo_path_fixed_destroy
      Src: /src/cairo/src/cairo-user-font.c:420,1
    - Dst: _cairo_scaled_glyph_set_path
      Src: /src/cairo/src/cairo-user-font.c:424,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 27
    argCount: 4
    argNames:
    - abstract_font
    - scaled_glyph
    - info
    - foreground_color
    argTypes:
    - void*
    - cairo_scaled_glyph_t*
    - cairo_scaled_glyph_info_t
    - cairo_color_t*
    constantsTouched: []
    func_position:
      end: 430
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 430
    functionName: _cairo_user_scaled_glyph_init
    functionSourceFile: /src/cairo/src/cairo-user-font.c
    functionUses: []
    functionsReached:
    - _cairo_user_scaled_glyph_init_surface
    - _cairo_error
    - _cairo_path_fixed_destroy
    - _cairo_user_scaled_glyph_init_record_glyph
    - _cairo_scaled_glyph_set_path
    - _cairo_recording_surface_get_path
    - _cairo_path_fixed_create
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_user_scaled_glyph_init (void\t\t\t\
      \ *abstract_font,\t\t\t cairo_scaled_glyph_t\t *scaled_glyph,\t\t\t cairo_scaled_glyph_info_t\
      \ info,\t\t\t const cairo_color_t *foreground_color) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 1
    argNames:
    - abstract_font
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 471
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 471
    functionName: _cairo_user_has_color_glyphs
    functionSourceFile: /src/cairo/src/cairo-user-font.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_user_has_color_glyphs (void *abstract_font) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_font_face_is_user
      Src: /src/cairo/src/cairo-user-font.c:936,1
    - Dst: _cairo_font_face_set_error
      Src: /src/cairo/src/cairo-user-font.c:943,1
    - Dst: _cairo_font_face_set_error
      Src: /src/cairo/src/cairo-user-font.c:937,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - font_face
    - unicode_to_glyph_func
    argTypes:
    - cairo_font_face_t*
    - cairo_user_scaled_font_unicode_to_glyph_func_t
    constantsTouched: []
    func_position:
      end: 947
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 947
    functionName: cairo_user_font_face_set_unicode_to_glyph_func
    functionSourceFile: /src/cairo/src/cairo-user-font.c
    functionUses: []
    functionsReached:
    - _cairo_font_face_is_user
    - _cairo_font_face_set_error
    linkageType: ''
    returnType: void
    signature: "void cairo_user_font_face_set_unicode_to_glyph_func (cairo_font_face_t\
      \ *font_face,\t\t\t\t\t\tcairo_user_scaled_font_unicode_to_glyph_func_t unicode_to_glyph_func) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_font_face_is_user
      Src: /src/cairo/src/cairo-user-font.c:1026,1
    - Dst: _cairo_font_face_set_error
      Src: /src/cairo/src/cairo-user-font.c:1027,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - font_face
    argTypes:
    - cairo_font_face_t*
    constantsTouched: []
    func_position:
      end: 1033
      start: 1018
    functionDepth: 0
    functionLinenumber: 1018
    functionLinenumberEnd: 1033
    functionName: cairo_user_font_face_get_render_glyph_func
    functionSourceFile: /src/cairo/src/cairo-user-font.c
    functionUses: []
    functionsReached:
    - _cairo_font_face_is_user
    - _cairo_font_face_set_error
    linkageType: ''
    returnType: cairo_user_scaled_font_render_glyph_func_t
    signature: 'cairo_user_scaled_font_render_glyph_func_t cairo_user_font_face_get_render_glyph_func
      (cairo_font_face_t *font_face) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_scaled_font_set_error
      Src: /src/cairo/src/cairo-user-font.c:451,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - abstract_font
    - ucs4
    argTypes:
    - void*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 461
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 461
    functionName: _cairo_user_ucs4_to_index
    functionSourceFile: /src/cairo/src/cairo-user-font.c
    functionUses: []
    functionsReached:
    - _cairo_scaled_font_set_error
    linkageType: ''
    returnType: unsigned long
    signature: "static unsigned long _cairo_user_ucs4_to_index (void\t *abstract_font,\t\
      \t\t uint32_t ucs4) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/cairo-user-font.c:520,1
    - Dst: cairo_glyph_free
      Src: /src/cairo/src/cairo-user-font.c:508,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 24
    argCount: 10
    argNames:
    - abstract_font
    - x
    - y
    - utf8
    - utf8_len
    - glyphs
    - num_glyphs
    - clusters
    - num_clusters
    - cluster_flags
    argTypes:
    - void*
    - double
    - double
    - char*
    - int
    - cairo_glyph_t**
    - int*
    - cairo_text_cluster_t**
    - int*
    - cairo_text_cluster_flags_t*
    constantsTouched: []
    func_position:
      end: 529
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 529
    functionName: _cairo_user_text_to_glyphs
    functionSourceFile: /src/cairo/src/cairo-user-font.c
    functionUses: []
    functionsReached:
    - cairo_matrix_transform_point
    - cairo_glyph_free
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_user_text_to_glyphs (void\t\t *abstract_font,\t\
      \t\t double\t\t x,\t\t\t double\t\t y,\t\t\t const char\t\t *utf8,\t\t\t int\t\
      \t\t utf8_len,\t\t\t cairo_glyph_t\t **glyphs,\t\t\t int\t\t\t *num_glyphs,\t\
      \t\t cairo_text_cluster_t **clusters,\t\t\t int\t\t\t *num_clusters,\t\t\t cairo_text_cluster_flags_t\
      \ *cluster_flags) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_font_face_twin_create_for_toy
      Src: /src/cairo/src/cairo-user-font.c:542,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - toy_face
    - font_face
    argTypes:
    - cairo_toy_font_face_t*
    - cairo_font_face_t**
    constantsTouched: []
    func_position:
      end: 543
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 543
    functionName: _cairo_user_font_face_create_for_toy
    functionSourceFile: /src/cairo/src/cairo-user-font.c
    functionUses: []
    functionsReached:
    - _cairo_font_face_twin_create_for_toy
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_user_font_face_create_for_toy (cairo_toy_font_face_t\
      \ *toy_face,\t\t\t\t cairo_font_face_t **font_face) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - font_face
    argTypes:
    - cairo_font_face_t*
    constantsTouched: []
    func_position:
      end: 694
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 694
    functionName: _cairo_font_face_is_user
    functionSourceFile: /src/cairo/src/cairo-user-font.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t _cairo_font_face_is_user (cairo_font_face_t *font_face) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_font_face_is_user
      Src: /src/cairo/src/cairo-user-font.c:900,1
    - Dst: _cairo_font_face_set_error
      Src: /src/cairo/src/cairo-user-font.c:901,1
    - Dst: _cairo_font_face_set_error
      Src: /src/cairo/src/cairo-user-font.c:907,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - font_face
    - text_to_glyphs_func
    argTypes:
    - cairo_font_face_t*
    - cairo_user_scaled_font_text_to_glyphs_func_t
    constantsTouched: []
    func_position:
      end: 911
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 911
    functionName: cairo_user_font_face_set_text_to_glyphs_func
    functionSourceFile: /src/cairo/src/cairo-user-font.c
    functionUses: []
    functionsReached:
    - _cairo_font_face_is_user
    - _cairo_font_face_set_error
    linkageType: ''
    returnType: void
    signature: "void cairo_user_font_face_set_text_to_glyphs_func (cairo_font_face_t\
      \ *font_face,\t\t\t\t\t cairo_user_scaled_font_text_to_glyphs_func_t text_to_glyphs_func) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/test-base-compositor-surface.c:301,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/test-base-compositor-surface.c:307,1
    - Dst: unlikely
      Src: /src/cairo/src/test-base-compositor-surface.c:304,1
    - Dst: _pixman_image_for_pattern
      Src: /src/cairo/src/test-base-compositor-surface.c:314,1
    - Dst: create_composite_mask
      Src: /src/cairo/src/test-base-compositor-surface.c:303,1
    - Dst: unlikely
      Src: /src/cairo/src/test-base-compositor-surface.c:319,1
    - Dst: _cairo_error
      Src: /src/cairo/src/test-base-compositor-surface.c:320,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/test-base-compositor-surface.c:324,1
    - Dst: pixman_image_unref
      Src: /src/cairo/src/test-base-compositor-surface.c:331,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/test-base-compositor-surface.c:334,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 3
    argNames:
    - extents
    - draw_func
    - draw_closure
    argTypes:
    - cairo_composite_rectangles_t*
    - draw_func_t
    - void*
    constantsTouched: []
    func_position:
      end: 336
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 336
    functionName: clip_and_composite_source
    functionSourceFile: /src/cairo/src/test-base-compositor-surface.c
    functionUses: []
    functionsReached:
    - TRACE
    - _cairo_error
    - pixman_image_composite32
    - pixman_image_unref
    - cairo_surface_destroy
    - create_composite_mask
    - _pixman_image_for_pattern
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t clip_and_composite_source (const cairo_composite_rectangles_t\t\
      *extents,\t\t\t draw_func_t\t\t\t\t draw_func,\t\t\t void\t\t\t\t\t*draw_closure) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/test-base-compositor-surface.c:496,1
    - Dst: _pixman_image_for_pattern
      Src: /src/cairo/src/test-base-compositor-surface.c:499,1
    - Dst: unlikely
      Src: /src/cairo/src/test-base-compositor-surface.c:503,1
    - Dst: _cairo_error
      Src: /src/cairo/src/test-base-compositor-surface.c:504,1
    - Dst: _cairo_pattern_sampled_area
      Src: /src/cairo/src/test-base-compositor-surface.c:498,1
    - Dst: TRACE
      Src: /src/cairo/src/test-base-compositor-surface.c:506,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/test-base-compositor-surface.c:511,1
    - Dst: _pixman_operator
      Src: /src/cairo/src/test-base-compositor-surface.c:511,1
    - Dst: pixman_image_unref
      Src: /src/cairo/src/test-base-compositor-surface.c:518,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 7
    argNames:
    - dst
    - closure
    - op
    - pattern
    - dst_x
    - dst_y
    - extents
    argTypes:
    - cairo_image_surface_t*
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - int
    - int
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 521
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 521
    functionName: composite_paint
    functionSourceFile: /src/cairo/src/test-base-compositor-surface.c
    functionUses: []
    functionsReached:
    - TRACE
    - _cairo_error
    - pixman_image_composite32
    - _pixman_operator
    - pixman_image_unref
    - _cairo_pattern_sampled_area
    - _pixman_image_for_pattern
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t composite_paint (cairo_image_surface_t\t\
      \t*dst,\t\t void\t\t\t\t*closure,\t\t cairo_operator_t\t\t op,\t\t const cairo_pattern_t\t\
      \t*pattern,\t\t int\t\t\t\t dst_x,\t\t int\t\t\t\t dst_y,\t\t const cairo_rectangle_int_t\t\
      *extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/test-base-compositor-surface.c:803,1
    - Dst: clip_and_composite
      Src: /src/cairo/src/test-base-compositor-surface.c:804,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 6
    argNames:
    - _compositor
    - extents
    - scaled_font
    - glyphs
    - num_glyphs
    - overlap
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_scaled_font_t*
    - cairo_glyph_t*
    - int
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 805
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 805
    functionName: base_compositor_glyphs
    functionSourceFile: /src/cairo/src/test-base-compositor-surface.c
    functionUses: []
    functionsReached:
    - clip_and_composite
    - TRACE
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t base_compositor_glyphs (const cairo_compositor_t\t\
      *_compositor,\t\t\tcairo_composite_rectangles_t\t*extents,\t\t\tcairo_scaled_font_t\t\
      \t*scaled_font,\t\t\tcairo_glyph_t\t\t\t*glyphs,\t\t\tint\t\t\t\t num_glyphs,\t\
      \t\tcairo_bool_t\t\t\t overlap) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/test-base-compositor-surface.c:345,1
    - Dst: pixman_image_ref
      Src: /src/cairo/src/test-base-compositor-surface.c:356,1
    - Dst: _cairo_clip_get_surface
      Src: /src/cairo/src/test-base-compositor-surface.c:351,1
    - Dst: unlikely
      Src: /src/cairo/src/test-base-compositor-surface.c:353,1
    - Dst: _cairo_clip_is_region
      Src: /src/cairo/src/test-base-compositor-surface.c:347,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/test-base-compositor-surface.c:357,1
    - Dst: _pixman_image_for_color
      Src: /src/cairo/src/test-base-compositor-surface.c:360,1
    - Dst: unlikely
      Src: /src/cairo/src/test-base-compositor-surface.c:361,1
    - Dst: _cairo_error
      Src: /src/cairo/src/test-base-compositor-surface.c:362,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/test-base-compositor-surface.c:372,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/test-base-compositor-surface.c:417,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/test-base-compositor-surface.c:402,1
    - Dst: pixman_image_unref
      Src: /src/cairo/src/test-base-compositor-surface.c:425,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/test-base-compositor-surface.c:387,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 52
    argCount: 1
    argNames:
    - extents
    argTypes:
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 428
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 428
    functionName: fixup_unbounded
    functionSourceFile: /src/cairo/src/test-base-compositor-surface.c
    functionUses: []
    functionsReached:
    - pixman_image_ref
    - TRACE
    - _cairo_error
    - _cairo_clip_is_region
    - _pixman_image_for_color
    - _cairo_clip_get_surface
    - pixman_image_composite32
    - cairo_surface_destroy
    - pixman_image_unref
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t fixup_unbounded (const cairo_composite_rectangles_t
      *extents) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/test-base-compositor-surface.c:527,1
    - Dst: clip_and_composite
      Src: /src/cairo/src/test-base-compositor-surface.c:528,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - _compositor
    - extents
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 529
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 529
    functionName: base_compositor_paint
    functionSourceFile: /src/cairo/src/test-base-compositor-surface.c
    functionUses: []
    functionsReached:
    - clip_and_composite
    - TRACE
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t base_compositor_paint (const cairo_compositor_t\
      \ *_compositor,\t\t cairo_composite_rectangles_t *extents) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/test-base-compositor-surface.c:603,1
    - Dst: _cairo_error
      Src: /src/cairo/src/test-base-compositor-surface.c:610,1
    - Dst: _cairo_pattern_sampled_area
      Src: /src/cairo/src/test-base-compositor-surface.c:605,1
    - Dst: _pixman_image_for_pattern
      Src: /src/cairo/src/test-base-compositor-surface.c:606,1
    - Dst: unlikely
      Src: /src/cairo/src/test-base-compositor-surface.c:609,1
    - Dst: pixman_image_create_bits
      Src: /src/cairo/src/test-base-compositor-surface.c:612,1
    - Dst: unlikely
      Src: /src/cairo/src/test-base-compositor-surface.c:615,1
    - Dst: pixman_image_unref
      Src: /src/cairo/src/test-base-compositor-surface.c:616,1
    - Dst: _cairo_error
      Src: /src/cairo/src/test-base-compositor-surface.c:617,1
    - Dst: _pixman_image_add_traps
      Src: /src/cairo/src/test-base-compositor-surface.c:620,1
    - Dst: pixman_image_unref
      Src: /src/cairo/src/test-base-compositor-surface.c:628,1
    - Dst: _pixman_operator
      Src: /src/cairo/src/test-base-compositor-surface.c:621,1
    - Dst: pixman_image_unref
      Src: /src/cairo/src/test-base-compositor-surface.c:629,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/test-base-compositor-surface.c:621,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 7
    argNames:
    - dst
    - closure
    - op
    - pattern
    - dst_x
    - dst_y
    - extents
    argTypes:
    - cairo_image_surface_t*
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - int
    - int
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 632
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 632
    functionName: composite_traps
    functionSourceFile: /src/cairo/src/test-base-compositor-surface.c
    functionUses: []
    functionsReached:
    - pixman_image_create_bits
    - TRACE
    - _cairo_error
    - _pixman_image_add_traps
    - pixman_image_composite32
    - pixman_image_unref
    - _pixman_operator
    - _cairo_pattern_sampled_area
    - _pixman_image_for_pattern
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t composite_traps (cairo_image_surface_t\t\
      *dst,\t\t void\t\t\t*closure,\t\t cairo_operator_t\t op,\t\t const cairo_pattern_t\t\
      *pattern,\t\t int\t\t\t dst_x,\t\t int\t\t\t dst_y,\t\t const cairo_rectangle_int_t\
      \ *extents) "
  - BBCount: 31
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - cairo_operator_t
    constantsTouched: []
    func_position:
      end: 137
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 137
    functionName: _pixman_operator
    functionSourceFile: /src/cairo/src/test-base-compositor-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: pixman_op_t
    signature: 'static pixman_op_t _pixman_operator (cairo_operator_t op) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/test-base-compositor-surface.c:545,1
    - Dst: _pixman_image_for_pattern
      Src: /src/cairo/src/test-base-compositor-surface.c:548,1
    - Dst: unlikely
      Src: /src/cairo/src/test-base-compositor-surface.c:551,1
    - Dst: _cairo_error
      Src: /src/cairo/src/test-base-compositor-surface.c:552,1
    - Dst: _cairo_pattern_sampled_area
      Src: /src/cairo/src/test-base-compositor-surface.c:547,1
    - Dst: _cairo_pattern_sampled_area
      Src: /src/cairo/src/test-base-compositor-surface.c:554,1
    - Dst: _pixman_image_for_pattern
      Src: /src/cairo/src/test-base-compositor-surface.c:555,1
    - Dst: unlikely
      Src: /src/cairo/src/test-base-compositor-surface.c:558,1
    - Dst: pixman_image_unref
      Src: /src/cairo/src/test-base-compositor-surface.c:559,1
    - Dst: _cairo_error
      Src: /src/cairo/src/test-base-compositor-surface.c:560,1
    - Dst: pixman_image_unref
      Src: /src/cairo/src/test-base-compositor-surface.c:570,1
    - Dst: _pixman_operator
      Src: /src/cairo/src/test-base-compositor-surface.c:563,1
    - Dst: pixman_image_unref
      Src: /src/cairo/src/test-base-compositor-surface.c:571,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/test-base-compositor-surface.c:563,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 7
    argNames:
    - dst
    - closure
    - op
    - pattern
    - dst_x
    - dst_y
    - extents
    argTypes:
    - cairo_image_surface_t*
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - int
    - int
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 574
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 574
    functionName: composite_mask
    functionSourceFile: /src/cairo/src/test-base-compositor-surface.c
    functionUses: []
    functionsReached:
    - TRACE
    - _cairo_error
    - pixman_image_composite32
    - pixman_image_unref
    - _pixman_operator
    - _cairo_pattern_sampled_area
    - _pixman_image_for_pattern
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t composite_mask (cairo_image_surface_t\t\t\
      *dst,\t\tvoid\t\t\t\t*closure,\t\tcairo_operator_t\t\t op,\t\tconst cairo_pattern_t\t\
      \t*pattern,\t\tint\t\t\t\t dst_x,\t\tint\t\t\t\t dst_y,\t\tconst cairo_rectangle_int_t\t\
      \ *extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_traps_extents
      Src: /src/cairo/src/test-base-compositor-surface.c:643,1
    - Dst: _cairo_composite_rectangles_intersect_mask_extents
      Src: /src/cairo/src/test-base-compositor-surface.c:644,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - extents
    - traps
    argTypes:
    - cairo_composite_rectangles_t*
    - cairo_traps_t*
    constantsTouched: []
    func_position:
      end: 645
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 645
    functionName: trim_extents_to_traps
    functionSourceFile: /src/cairo/src/test-base-compositor-surface.c
    functionUses: []
    functionsReached:
    - _cairo_traps_extents
    - _cairo_composite_rectangles_intersect_mask_extents
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t trim_extents_to_traps (cairo_composite_rectangles_t\
      \ *extents,\t\t cairo_traps_t *traps) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/test-base-compositor-surface.c:148,1
    - Dst: unlikely
      Src: /src/cairo/src/test-base-compositor-surface.c:162,1
    - Dst: _cairo_image_surface_create_with_pixman_format
      Src: /src/cairo/src/test-base-compositor-surface.c:151,1
    - Dst: unlikely
      Src: /src/cairo/src/test-base-compositor-surface.c:155,1
    - Dst: draw_func
      Src: /src/cairo/src/test-base-compositor-surface.c:158,1
    - Dst: _cairo_clip_combine_with_surface
      Src: /src/cairo/src/test-base-compositor-surface.c:165,1
    - Dst: unlikely
      Src: /src/cairo/src/test-base-compositor-surface.c:169,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/test-base-compositor-surface.c:175,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/test-base-compositor-surface.c:176,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 177
    functionName: create_composite_mask
    functionSourceFile: /src/cairo/src/test-base-compositor-surface.c
    functionUses: []
    functionsReached:
    - draw_func
    - _cairo_image_surface_create_with_pixman_format
    - _cairo_clip_combine_with_surface
    - TRACE
    - cairo_surface_destroy
    - _cairo_surface_create_in_error
    - unlikely
    linkageType: ''
    returnType: cairo_image_surface_t*
    signature: "static cairo_image_surface_t *create_composite_mask (cairo_image_surface_t\t\
      *dst,\t\t void\t\t\t*draw_closure,\t\t draw_func_t\t\t draw_func,\t\t const\
      \ cairo_composite_rectangles_t *extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/test-base-compositor-surface.c:580,1
    - Dst: clip_and_composite
      Src: /src/cairo/src/test-base-compositor-surface.c:581,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - _compositor
    - extents
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 582
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 582
    functionName: base_compositor_mask
    functionSourceFile: /src/cairo/src/test-base-compositor-surface.c
    functionUses: []
    functionsReached:
    - clip_and_composite
    - TRACE
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t base_compositor_mask (const cairo_compositor_t\
      \ *_compositor,\t\t cairo_composite_rectangles_t *extents) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/test-base-compositor-surface.c:660,1
    - Dst: likely
      Src: /src/cairo/src/test-base-compositor-surface.c:668,1
    - Dst: _cairo_path_fixed_stroke_polygon_to_traps
      Src: /src/cairo/src/test-base-compositor-surface.c:664,1
    - Dst: _cairo_traps_init_with_clip
      Src: /src/cairo/src/test-base-compositor-surface.c:663,1
    - Dst: trim_extents_to_traps
      Src: /src/cairo/src/test-base-compositor-surface.c:669,1
    - Dst: likely
      Src: /src/cairo/src/test-base-compositor-surface.c:670,1
    - Dst: clip_and_composite
      Src: /src/cairo/src/test-base-compositor-surface.c:671,1
    - Dst: _cairo_traps_fini
      Src: /src/cairo/src/test-base-compositor-surface.c:672,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 8
    argNames:
    - _compositor
    - extents
    - path
    - style
    - ctm
    - ctm_inverse
    - tolerance
    - antialias
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_antialias_t
    constantsTouched: []
    func_position:
      end: 675
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 675
    functionName: base_compositor_stroke
    functionSourceFile: /src/cairo/src/test-base-compositor-surface.c
    functionUses: []
    functionsReached:
    - clip_and_composite
    - TRACE
    - trim_extents_to_traps
    - _cairo_traps_fini
    - _cairo_path_fixed_stroke_polygon_to_traps
    - _cairo_traps_init_with_clip
    - likely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t base_compositor_stroke (const cairo_compositor_t\
      \ *_compositor,\t\t\tcairo_composite_rectangles_t *extents,\t\t\tconst cairo_path_fixed_t\
      \ *path,\t\t\tconst cairo_stroke_style_t *style,\t\t\tconst cairo_matrix_t\t\
      *ctm,\t\t\tconst cairo_matrix_t\t*ctm_inverse,\t\t\tdouble\t\t\t tolerance,\t\
      \t\tcairo_antialias_t\t antialias) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_compositor_surface_create
      Src: /src/cairo/src/test-base-compositor-surface.c:822,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 824
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 824
    functionName: _cairo_test_base_compositor_surface_create
    functionSourceFile: /src/cairo/src/test-base-compositor-surface.c
    functionUses: []
    functionsReached:
    - test_compositor_surface_create
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *_cairo_test_base_compositor_surface_create (cairo_content_t\t\
      content,\t\t\t\t\t int\t\twidth,\t\t\t\t\t int\t\theight) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/test-base-compositor-surface.c:236,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/test-base-compositor-surface.c:247,1
    - Dst: unlikely
      Src: /src/cairo/src/test-base-compositor-surface.c:244,1
    - Dst: draw_func
      Src: /src/cairo/src/test-base-compositor-surface.c:254,1
    - Dst: _cairo_image_surface_create_with_pixman_format
      Src: /src/cairo/src/test-base-compositor-surface.c:239,1
    - Dst: unlikely
      Src: /src/cairo/src/test-base-compositor-surface.c:258,1
    - Dst: _cairo_clip_get_surface
      Src: /src/cairo/src/test-base-compositor-surface.c:262,1
    - Dst: unlikely
      Src: /src/cairo/src/test-base-compositor-surface.c:263,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/test-base-compositor-surface.c:266,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/test-base-compositor-surface.c:272,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/test-base-compositor-surface.c:279,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/test-base-compositor-surface.c:282,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 3
    argNames:
    - extents
    - draw_func
    - draw_closure
    argTypes:
    - cairo_composite_rectangles_t*
    - draw_func_t
    - void*
    constantsTouched: []
    func_position:
      end: 285
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 285
    functionName: clip_and_composite_combine
    functionSourceFile: /src/cairo/src/test-base-compositor-surface.c
    functionUses: []
    functionsReached:
    - draw_func
    - _cairo_image_surface_create_with_pixman_format
    - TRACE
    - pixman_image_composite32
    - _cairo_clip_get_surface
    - cairo_surface_destroy
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t clip_and_composite_combine (const cairo_composite_rectangles_t*extents,\t\
      \t\t draw_func_t\t\t\t draw_func,\t\t\t void\t\t\t*draw_closure) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_get_region
      Src: /src/cairo/src/test-base-compositor-surface.c:434,1
    - Dst: pixman_image_set_clip_region32
      Src: /src/cairo/src/test-base-compositor-surface.c:436,1
    - Dst: _cairo_error
      Src: /src/cairo/src/test-base-compositor-surface.c:437,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - extents
    argTypes:
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 440
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 440
    functionName: set_clip_region
    functionSourceFile: /src/cairo/src/test-base-compositor-surface.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - pixman_image_set_clip_region32
    - _cairo_clip_get_region
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t set_clip_region (cairo_composite_rectangles_t
      *extents) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/test-base-compositor-surface.c:688,1
    - Dst: likely
      Src: /src/cairo/src/test-base-compositor-surface.c:695,1
    - Dst: _cairo_path_fixed_fill_to_traps
      Src: /src/cairo/src/test-base-compositor-surface.c:692,1
    - Dst: trim_extents_to_traps
      Src: /src/cairo/src/test-base-compositor-surface.c:696,1
    - Dst: _cairo_traps_init_with_clip
      Src: /src/cairo/src/test-base-compositor-surface.c:691,1
    - Dst: likely
      Src: /src/cairo/src/test-base-compositor-surface.c:697,1
    - Dst: clip_and_composite
      Src: /src/cairo/src/test-base-compositor-surface.c:698,1
    - Dst: _cairo_traps_fini
      Src: /src/cairo/src/test-base-compositor-surface.c:699,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 6
    argNames:
    - _compositor
    - extents
    - path
    - fill_rule
    - tolerance
    - antialias
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    constantsTouched: []
    func_position:
      end: 702
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 702
    functionName: base_compositor_fill
    functionSourceFile: /src/cairo/src/test-base-compositor-surface.c
    functionUses: []
    functionsReached:
    - clip_and_composite
    - TRACE
    - trim_extents_to_traps
    - _cairo_traps_fini
    - _cairo_traps_init_with_clip
    - _cairo_path_fixed_fill_to_traps
    - likely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t base_compositor_fill (const cairo_compositor_t\
      \ *_compositor,\t\t cairo_composite_rectangles_t *extents,\t\t const cairo_path_fixed_t\t\
      *path,\t\t cairo_fill_rule_t\t\t fill_rule,\t\t double\t\t\t tolerance,\t\t\
      \ cairo_antialias_t\t\t antialias) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: set_clip_region
      Src: /src/cairo/src/test-base-compositor-surface.c:449,1
    - Dst: clip_and_composite_with_mask
      Src: /src/cairo/src/test-base-compositor-surface.c:462,1
    - Dst: unlikely
      Src: /src/cairo/src/test-base-compositor-surface.c:450,1
    - Dst: _cairo_clip_is_region
      Src: /src/cairo/src/test-base-compositor-surface.c:460,1
    - Dst: clip_and_composite_source
      Src: /src/cairo/src/test-base-compositor-surface.c:454,1
    - Dst: clip_and_composite_combine
      Src: /src/cairo/src/test-base-compositor-surface.c:464,1
    - Dst: draw_func
      Src: /src/cairo/src/test-base-compositor-surface.c:466,1
    - Dst: fixup_unbounded
      Src: /src/cairo/src/test-base-compositor-surface.c:476,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 3
    argNames:
    - extents
    - draw_func
    - draw_closure
    argTypes:
    - cairo_composite_rectangles_t*
    - draw_func_t
    - void*
    constantsTouched: []
    func_position:
      end: 479
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 479
    functionName: clip_and_composite
    functionSourceFile: /src/cairo/src/test-base-compositor-surface.c
    functionUses: []
    functionsReached:
    - draw_func
    - set_clip_region
    - _cairo_clip_is_region
    - clip_and_composite_source
    - fixup_unbounded
    - clip_and_composite_combine
    - clip_and_composite_with_mask
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t clip_and_composite (cairo_composite_rectangles_t\
      \ *extents,\t\t draw_func_t\t\t draw_func,\t\t void\t\t*draw_closure) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/test-base-compositor-surface.c:718,1
    - Dst: _cairo_scaled_font_freeze_cache
      Src: /src/cairo/src/test-base-compositor-surface.c:727,1
    - Dst: _cairo_error
      Src: /src/cairo/src/test-base-compositor-surface.c:724,1
    - Dst: pixman_image_create_bits
      Src: /src/cairo/src/test-base-compositor-surface.c:720,1
    - Dst: unlikely
      Src: /src/cairo/src/test-base-compositor-surface.c:723,1
    - Dst: _cairo_scaled_glyph_lookup
      Src: /src/cairo/src/test-base-compositor-surface.c:734,1
    - Dst: unlikely
      Src: /src/cairo/src/test-base-compositor-surface.c:739,1
    - Dst: _cairo_lround
      Src: /src/cairo/src/test-base-compositor-surface.c:746,1
    - Dst: _cairo_lround
      Src: /src/cairo/src/test-base-compositor-surface.c:748,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/test-base-compositor-surface.c:751,1
    - Dst: _cairo_scaled_font_thaw_cache
      Src: /src/cairo/src/test-base-compositor-surface.c:760,1
    - Dst: _cairo_pattern_sampled_area
      Src: /src/cairo/src/test-base-compositor-surface.c:767,1
    - Dst: _pixman_image_for_pattern
      Src: /src/cairo/src/test-base-compositor-surface.c:768,1
    - Dst: _pixman_operator
      Src: /src/cairo/src/test-base-compositor-surface.c:774,1
    - Dst: pixman_image_unref
      Src: /src/cairo/src/test-base-compositor-surface.c:784,1
    - Dst: pixman_image_unref
      Src: /src/cairo/src/test-base-compositor-surface.c:780,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/test-base-compositor-surface.c:774,1
    - Dst: _cairo_error
      Src: /src/cairo/src/test-base-compositor-surface.c:782,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 7
    argNames:
    - dst
    - closure
    - op
    - pattern
    - dst_x
    - dst_y
    - extents
    argTypes:
    - cairo_image_surface_t*
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - int
    - int
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 787
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 787
    functionName: composite_glyphs
    functionSourceFile: /src/cairo/src/test-base-compositor-surface.c
    functionUses: []
    functionsReached:
    - TRACE
    - _cairo_error
    - _cairo_scaled_font_freeze_cache
    - _cairo_scaled_glyph_lookup
    - pixman_image_composite32
    - _pixman_operator
    - pixman_image_unref
    - _cairo_scaled_font_thaw_cache
    - _cairo_pattern_sampled_area
    - _cairo_lround
    - pixman_image_create_bits
    - _pixman_image_for_pattern
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t composite_glyphs (cairo_image_surface_t\t\
      *dst,\t\t void\t\t\t *closure,\t\t cairo_operator_t\t op,\t\t const cairo_pattern_t\t\
      *pattern,\t\t int\t\t\t dst_x,\t\t int\t\t\t dst_y,\t\t const cairo_rectangle_int_t\
      \ *extents) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/test-base-compositor-surface.c:193,1
    - Dst: unlikely
      Src: /src/cairo/src/test-base-compositor-surface.c:196,1
    - Dst: create_composite_mask
      Src: /src/cairo/src/test-base-compositor-surface.c:195,1
    - Dst: _pixman_image_for_pattern
      Src: /src/cairo/src/test-base-compositor-surface.c:199,1
    - Dst: unlikely
      Src: /src/cairo/src/test-base-compositor-surface.c:204,1
    - Dst: _cairo_error
      Src: /src/cairo/src/test-base-compositor-surface.c:205,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/test-base-compositor-surface.c:209,1
    - Dst: _pixman_operator
      Src: /src/cairo/src/test-base-compositor-surface.c:209,1
    - Dst: pixman_image_unref
      Src: /src/cairo/src/test-base-compositor-surface.c:217,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/test-base-compositor-surface.c:219,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 3
    argNames:
    - extents
    - draw_func
    - draw_closure
    argTypes:
    - cairo_composite_rectangles_t*
    - draw_func_t
    - void*
    constantsTouched: []
    func_position:
      end: 221
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 221
    functionName: clip_and_composite_with_mask
    functionSourceFile: /src/cairo/src/test-base-compositor-surface.c
    functionUses: []
    functionsReached:
    - TRACE
    - _cairo_error
    - pixman_image_composite32
    - _pixman_operator
    - pixman_image_unref
    - cairo_surface_destroy
    - create_composite_mask
    - _pixman_image_for_pattern
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t clip_and_composite_with_mask (const cairo_composite_rectangles_t*extents,\t\
      \t\t draw_func_t\t\t draw_func,\t\t\t void\t\t\t*draw_closure) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_wrapper_create_similar
      Src: /src/cairo/src/cairo-tee-surface.c:85,1
    - Dst: cairo_tee_surface_create
      Src: /src/cairo/src/cairo-tee-surface.c:87,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-tee-surface.c:92,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-tee-surface.c:89,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-tee-surface.c:88,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-tee-surface.c:93,1
    - Dst: _cairo_surface_wrapper_create_similar
      Src: /src/cairo/src/cairo-tee-surface.c:96,1
    - Dst: cairo_tee_surface_add
      Src: /src/cairo/src/cairo-tee-surface.c:99,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-tee-surface.c:100,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-tee-surface.c:103,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-tee-surface.c:106,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-tee-surface.c:105,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 110
    functionName: _cairo_tee_surface_create_similar
    functionSourceFile: /src/cairo/src/cairo-tee-surface.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    - cairo_tee_surface_create
    - _cairo_surface_wrapper_create_similar
    - cairo_tee_surface_add
    - _cairo_array_num_elements
    - cairo_surface_destroy
    - _cairo_surface_create_in_error
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_tee_surface_create_similar (void\t\t\
      \t*abstract_surface,\t\t\t\t cairo_content_t\t content,\t\t\t\t int\t\t\t width,\t\
      \t\t\t int\t\t\t height) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_wrapper_release_source_image
      Src: /src/cairo/src/cairo-tee-surface.c:175,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - abstract_surface
    - image
    - image_extra
    argTypes:
    - void*
    - cairo_image_surface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 177
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 177
    functionName: _cairo_tee_surface_release_source_image
    functionSourceFile: /src/cairo/src/cairo-tee-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_wrapper_release_source_image
    linkageType: ''
    returnType: void
    signature: "static void _cairo_tee_surface_release_source_image (void\t *abstract_surface,\t\
      \t\t\t\t cairo_image_surface_t\t*image,\t\t\t\t\t void\t\t *image_extra) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_get_source
      Src: /src/cairo/src/cairo-tee-surface.c:136,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 137
    functionName: _cairo_tee_surface_source
    functionSourceFile: /src/cairo/src/cairo-tee-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_get_source
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_tee_surface_source (void\t *abstract_surface,\t\
      \t\t cairo_rectangle_int_t *extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_wrapper_get_extents
      Src: /src/cairo/src/cairo-tee-surface.c:206,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - abstract_surface
    - rectangle
    argTypes:
    - void*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 207
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 207
    functionName: _cairo_tee_surface_get_extents
    functionSourceFile: /src/cairo/src/cairo-tee-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_wrapper_get_extents
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _cairo_tee_surface_get_extents (void\t\t\t*abstract_surface,\t\
      \t\t\tcairo_rectangle_int_t\t*rectangle) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-tee-surface.c:229,1
    - Dst: _cairo_surface_wrapper_paint
      Src: /src/cairo/src/cairo-tee-surface.c:232,1
    - Dst: _cairo_surface_wrapper_paint
      Src: /src/cairo/src/cairo-tee-surface.c:237,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-tee-surface.c:230,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-tee-surface.c:233,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 4
    argNames:
    - abstract_surface
    - op
    - source
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 238
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 238
    functionName: _cairo_tee_surface_paint
    functionSourceFile: /src/cairo/src/cairo-tee-surface.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    - _cairo_surface_wrapper_paint
    - _cairo_array_num_elements
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_tee_surface_paint (void\t\t\t*abstract_surface,\t\
      \t\t cairo_operator_t\t op,\t\t\t const cairo_pattern_t\t*source,\t\t\t const\
      \ cairo_clip_t\t*clip) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-tee-surface.c:286,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-tee-surface.c:287,1
    - Dst: _cairo_surface_wrapper_stroke
      Src: /src/cairo/src/cairo-tee-surface.c:299,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-tee-surface.c:295,1
    - Dst: _cairo_surface_wrapper_stroke
      Src: /src/cairo/src/cairo-tee-surface.c:289,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 12
    argCount: 10
    argNames:
    - abstract_surface
    - op
    - source
    - path
    - style
    - ctm
    - ctm_inverse
    - tolerance
    - antialias
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 305
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 305
    functionName: _cairo_tee_surface_stroke
    functionSourceFile: /src/cairo/src/cairo-tee-surface.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    - unlikely
    - _cairo_array_num_elements
    - _cairo_surface_wrapper_stroke
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_tee_surface_stroke (void\t\t\t\t\
      *abstract_surface,\t\t\t cairo_operator_t\t\t op,\t\t\t const cairo_pattern_t\t\
      *source,\t\t\t const cairo_path_fixed_t\t*path,\t\t\t const cairo_stroke_style_t\t\
      *style,\t\t\t const cairo_matrix_t\t\t*ctm,\t\t\t const cairo_matrix_t\t\t*ctm_inverse,\t\
      \t\t double\t\t\t tolerance,\t\t\t cairo_antialias_t\t\t antialias,\t\t\t const\
      \ cairo_clip_t\t\t*clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 345
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 345
    functionName: _cairo_tee_surface_has_show_text_glyphs
    functionSourceFile: /src/cairo/src/cairo-tee-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_tee_surface_has_show_text_glyphs (void
      *abstract_surface) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-tee-surface.c:542,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-tee-surface.c:544,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-tee-surface.c:545,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-tee-surface.c:546,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-tee-surface.c:551,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-tee-surface.c:552,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-tee-surface.c:558,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-tee-surface.c:559,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-tee-surface.c:563,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-tee-surface.c:564,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-tee-surface.c:572,1
    - Dst: _cairo_surface_wrapper_fini
      Src: /src/cairo/src/cairo-tee-surface.c:576,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-tee-surface.c:571,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 2
    argNames:
    - abstract_surface
    - target
    argTypes:
    - cairo_surface_t*
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 580
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 580
    functionName: cairo_tee_surface_remove
    functionSourceFile: /src/cairo/src/cairo-tee-surface.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    - _cairo_error
    - _cairo_surface_wrapper_fini
    - _cairo_array_num_elements
    - _cairo_surface_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void cairo_tee_surface_remove (cairo_surface_t *abstract_surface,\t\
      \t\t cairo_surface_t *target) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_is_image
      Src: /src/cairo/src/cairo-tee-surface.c:149,1
    - Dst: _cairo_surface_is_image
      Src: /src/cairo/src/cairo-tee-surface.c:157,1
    - Dst: _cairo_surface_wrapper_acquire_source_image
      Src: /src/cairo/src/cairo-tee-surface.c:150,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-tee-surface.c:155,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-tee-surface.c:154,1
    - Dst: _cairo_surface_wrapper_acquire_source_image
      Src: /src/cairo/src/cairo-tee-surface.c:158,1
    - Dst: _cairo_surface_wrapper_acquire_source_image
      Src: /src/cairo/src/cairo-tee-surface.c:164,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 3
    argNames:
    - abstract_surface
    - image_out
    - image_extra
    argTypes:
    - void*
    - cairo_image_surface_t**
    - void**
    constantsTouched: []
    func_position:
      end: 166
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 166
    functionName: _cairo_tee_surface_acquire_source_image
    functionSourceFile: /src/cairo/src/cairo-tee-surface.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    - _cairo_array_num_elements
    - _cairo_surface_is_image
    - _cairo_surface_wrapper_acquire_source_image
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_tee_surface_acquire_source_image (void\t\
      \ *abstract_surface,\t\t\t\t\t cairo_image_surface_t **image_out,\t\t\t\t\t\
      \ void\t\t **image_extra) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_wrapper_fini
      Src: /src/cairo/src/cairo-tee-surface.c:119,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-tee-surface.c:121,1
    - Dst: _cairo_surface_wrapper_fini
      Src: /src/cairo/src/cairo-tee-surface.c:124,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-tee-surface.c:126,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-tee-surface.c:122,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 129
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 129
    functionName: _cairo_tee_surface_finish
    functionSourceFile: /src/cairo/src/cairo-tee-surface.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    - _cairo_surface_wrapper_fini
    - _cairo_array_num_elements
    - _cairo_array_fini
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_tee_surface_finish (void *abstract_surface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_is_recording
      Src: /src/cairo/src/cairo-tee-surface.c:187,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-tee-surface.c:191,1
    - Dst: _cairo_surface_wrapper_snapshot
      Src: /src/cairo/src/cairo-tee-surface.c:188,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-tee-surface.c:190,1
    - Dst: _cairo_surface_is_recording
      Src: /src/cairo/src/cairo-tee-surface.c:193,1
    - Dst: _cairo_surface_wrapper_snapshot
      Src: /src/cairo/src/cairo-tee-surface.c:194,1
    - Dst: _cairo_surface_wrapper_snapshot
      Src: /src/cairo/src/cairo-tee-surface.c:197,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 198
    functionName: _cairo_tee_surface_snapshot
    functionSourceFile: /src/cairo/src/cairo-tee-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_is_recording
    - _cairo_array_index
    - _cairo_array_num_elements
    - _cairo_surface_wrapper_snapshot
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *_cairo_tee_surface_snapshot (void *abstract_surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_wrapper_get_font_options
      Src: /src/cairo/src/cairo-tee-surface.c:215,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - abstract_surface
    - options
    argTypes:
    - void*
    - cairo_font_options_t*
    constantsTouched: []
    func_position:
      end: 216
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 216
    functionName: _cairo_tee_surface_get_font_options
    functionSourceFile: /src/cairo/src/cairo-tee-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_wrapper_get_font_options
    linkageType: ''
    returnType: void
    signature: "static void _cairo_tee_surface_get_font_options (void *abstract_surface,\t\
      \t\t\t cairo_font_options_t *options) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-tee-surface.c:252,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-tee-surface.c:259,1
    - Dst: _cairo_surface_wrapper_mask
      Src: /src/cairo/src/cairo-tee-surface.c:263,1
    - Dst: _cairo_surface_wrapper_mask
      Src: /src/cairo/src/cairo-tee-surface.c:255,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-tee-surface.c:253,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 5
    argNames:
    - abstract_surface
    - op
    - source
    - mask
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 267
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 267
    functionName: _cairo_tee_surface_mask
    functionSourceFile: /src/cairo/src/cairo-tee-surface.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    - _cairo_array_num_elements
    - _cairo_surface_wrapper_mask
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_tee_surface_mask (void\t\t\t*abstract_surface,\t\
      \t\t cairo_operator_t\t op,\t\t\t const cairo_pattern_t\t*source,\t\t\t const\
      \ cairo_pattern_t\t*mask,\t\t\t const cairo_clip_t\t*clip) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-tee-surface.c:322,1
    - Dst: _cairo_surface_wrapper_fill
      Src: /src/cairo/src/cairo-tee-surface.c:334,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-tee-surface.c:330,1
    - Dst: _cairo_surface_wrapper_fill
      Src: /src/cairo/src/cairo-tee-surface.c:325,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-tee-surface.c:323,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 8
    argNames:
    - abstract_surface
    - op
    - source
    - path
    - fill_rule
    - tolerance
    - antialias
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 339
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 339
    functionName: _cairo_tee_surface_fill
    functionSourceFile: /src/cairo/src/cairo-tee-surface.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    - _cairo_array_num_elements
    - _cairo_surface_wrapper_fill
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_tee_surface_fill (void\t\t\t\t*abstract_surface,\t\
      \t\t cairo_operator_t\t\t op,\t\t\t const cairo_pattern_t\t\t*source,\t\t\t\
      \ const cairo_path_fixed_t\t*path,\t\t\t cairo_fill_rule_t\t\t fill_rule,\t\t\
      \t double\t\t\t\t tolerance,\t\t\t cairo_antialias_t\t\t antialias,\t\t\t const\
      \ cairo_clip_t\t\t*clip) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-tee-surface.c:368,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-tee-surface.c:370,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-tee-surface.c:372,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-tee-surface.c:369,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-tee-surface.c:373,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-tee-surface.c:375,1
    - Dst: _cairo_surface_wrapper_show_text_glyphs
      Src: /src/cairo/src/cairo-tee-surface.c:376,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-tee-surface.c:384,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-tee-surface.c:388,1
    - Dst: _cairo_surface_wrapper_show_text_glyphs
      Src: /src/cairo/src/cairo-tee-surface.c:389,1
    - Dst: free
      Src: /src/cairo/src/cairo-tee-surface.c:398,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 12
    argNames:
    - abstract_surface
    - op
    - source
    - utf8
    - utf8_len
    - glyphs
    - num_glyphs
    - clusters
    - num_clusters
    - cluster_flags
    - scaled_font
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - char*
    - int
    - cairo_glyph_t*
    - int
    - cairo_text_cluster_t*
    - int
    - cairo_text_cluster_flags_t
    - cairo_scaled_font_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 400
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 400
    functionName: _cairo_tee_surface_show_text_glyphs
    functionSourceFile: /src/cairo/src/cairo-tee-surface.c
    functionUses: []
    functionsReached:
    - memcpy
    - _cairo_array_index
    - _cairo_error
    - _cairo_surface_wrapper_show_text_glyphs
    - free
    - _cairo_array_num_elements
    - _cairo_malloc_ab
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_tee_surface_show_text_glyphs (void\t\
      \t *abstract_surface,\t\t\t\t cairo_operator_t\t op,\t\t\t\t const cairo_pattern_t\
      \ *source,\t\t\t\t const char\t\t *utf8,\t\t\t\t int\t\t utf8_len,\t\t\t\t cairo_glyph_t\t\
      \ *glyphs,\t\t\t\t int\t\t num_glyphs,\t\t\t\t const cairo_text_cluster_t *clusters,\t\
      \t\t\t int\t\t num_clusters,\t\t\t\t cairo_text_cluster_flags_t cluster_flags,\t\
      \t\t\t cairo_scaled_font_t *scaled_font,\t\t\t\t const cairo_clip_t\t *clip) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-tee-surface.c:457,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-tee-surface.c:461,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-tee-surface.c:460,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-tee-surface.c:458,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-tee-surface.c:462,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-tee-surface.c:462,1
    - Dst: _cairo_surface_init
      Src: /src/cairo/src/cairo-tee-surface.c:464,1
    - Dst: _cairo_surface_wrapper_init
      Src: /src/cairo/src/cairo-tee-surface.c:470,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-tee-surface.c:472,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 475
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 475
    functionName: cairo_tee_surface_create
    functionSourceFile: /src/cairo/src/cairo-tee-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_wrapper_init
    - _cairo_surface_init
    - _cairo_array_init
    - _cairo_error
    - unlikely
    - _cairo_surface_create_in_error
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'cairo_surface_t *cairo_tee_surface_create (cairo_surface_t *primary) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-tee-surface.c:495,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-tee-surface.c:499,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-tee-surface.c:497,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-tee-surface.c:498,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-tee-surface.c:504,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-tee-surface.c:505,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-tee-surface.c:509,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-tee-surface.c:510,1
    - Dst: _cairo_surface_wrapper_init
      Src: /src/cairo/src/cairo-tee-surface.c:516,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-tee-surface.c:517,1
    - Dst: _cairo_surface_wrapper_fini
      Src: /src/cairo/src/cairo-tee-surface.c:519,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-tee-surface.c:520,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-tee-surface.c:518,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - abstract_surface
    - target
    argTypes:
    - cairo_surface_t*
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 522
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 522
    functionName: cairo_tee_surface_add
    functionSourceFile: /src/cairo/src/cairo-tee-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_wrapper_init
    - _cairo_error
    - _cairo_surface_wrapper_fini
    - _cairo_surface_set_error
    - _cairo_array_append
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void cairo_tee_surface_add (cairo_surface_t *abstract_surface,\t\t\
      \ cairo_surface_t *target) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-tee-surface.c:602,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-tee-surface.c:605,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-tee-surface.c:605,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-tee-surface.c:604,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-tee-surface.c:603,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-tee-surface.c:608,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-tee-surface.c:608,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-tee-surface.c:618,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-tee-surface.c:619,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-tee-surface.c:619,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-tee-surface.c:621,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 624
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 624
    functionName: cairo_tee_surface_index
    functionSourceFile: /src/cairo/src/cairo-tee-surface.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    - _cairo_error
    - _cairo_array_num_elements
    - _cairo_surface_create_in_error
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *cairo_tee_surface_index (cairo_surface_t *abstract_surface,\t\
      \t\t unsigned int index) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_hash_table_foreach
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:324,1
    - Dst: _cairo_hash_table_destroy
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:327,1
    - Dst: free
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:329,1
    - Dst: cairo_scaled_font_destroy
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - sub_font
    argTypes:
    - cairo_sub_font_t*
    constantsTouched: []
    func_position:
      end: 330
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 330
    functionName: _cairo_sub_font_destroy
    functionSourceFile: /src/cairo/src/cairo-scaled-font-subsets.c
    functionUses: []
    functionsReached:
    - free
    - _cairo_hash_table_destroy
    - _cairo_hash_table_foreach
    - cairo_scaled_font_destroy
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_sub_font_destroy (cairo_sub_font_t *sub_font) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_sub_font_glyph_init_key
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:461,1
    - Dst: _cairo_hash_table_lookup
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:462,1
    - Dst: _cairo_sub_font_glyph_map_to_unicode
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:477,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 5
    argNames:
    - sub_font
    - scaled_font_glyph_index
    - utf8
    - utf8_len
    - subset_glyph
    argTypes:
    - cairo_sub_font_t*
    - unsigned long
    - char*
    - int
    - cairo_scaled_font_subsets_glyph_t*
    constantsTouched: []
    func_position:
      end: 486
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 486
    functionName: _cairo_sub_font_lookup_glyph
    functionSourceFile: /src/cairo/src/cairo-scaled-font-subsets.c
    functionUses: []
    functionsReached:
    - _cairo_sub_font_glyph_init_key
    - _cairo_sub_font_glyph_map_to_unicode
    - _cairo_hash_table_lookup
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_sub_font_lookup_glyph (cairo_sub_font_t\t\
      \ *sub_font, unsigned long\t scaled_font_glyph_index,\t\t\t const char\t\t\t\
      *utf8,\t\t\t int\t\t\t\t utf8_len, cairo_scaled_font_subsets_glyph_t *subset_glyph) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1121,1
    - Dst: printf
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1125,1
    - Dst: printf
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1122,1
    - Dst: printf
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1123,1
    - Dst: printf
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1124,1
    - Dst: printf
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1126,1
    - Dst: printf
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1127,1
    - Dst: printf
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1128,1
    - Dst: printf
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1129,1
    - Dst: printf
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1130,1
    - Dst: memset
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1131,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1132,1
    - Dst: printf
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1133,1
    - Dst: printf
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1134,1
    - Dst: printf
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1137,1
    - Dst: printf
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1136,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - entry
    - closure
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1138
      start: 1114
    functionDepth: 0
    functionLinenumber: 1114
    functionLinenumberEnd: 1138
    functionName: dump_glyph
    functionSourceFile: /src/cairo/src/cairo-scaled-font-subsets.c
    functionUses: []
    functionsReached:
    - printf
    - memcpy
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void dump_glyph (void *entry, void *closure) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_hash_table_remove
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:338,1
    - Dst: _cairo_sub_font_destroy
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:339,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - entry
    - closure
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 340
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 340
    functionName: _cairo_sub_font_pluck
    functionSourceFile: /src/cairo/src/cairo-scaled-font-subsets.c
    functionUses: []
    functionsReached:
    - _cairo_hash_table_remove
    - _cairo_sub_font_destroy
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_sub_font_pluck (void *entry, void *closure) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 1
    argNames:
    - uni
    argTypes:
    - unsigned long
    constantsTouched: []
    func_position:
      end: 367
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 367
    functionName: _cairo_unicode_to_winansi
    functionSourceFile: /src/cairo/src/cairo-scaled-font-subsets.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int _cairo_unicode_to_winansi (unsigned long uni) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_scaled_font_freeze_cache
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:505,1
    - Dst: _cairo_scaled_font_thaw_cache
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:513,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:512,1
    - Dst: assert
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:511,1
    - Dst: _cairo_scaled_glyph_lookup
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:506,1
    - Dst: _cairo_scaled_font_thaw_cache
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:519,1
    - Dst: _cairo_sub_font_glyph_create
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:535,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:545,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:546,1
    - Dst: _cairo_hash_table_insert
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:548,1
    - Dst: _cairo_sub_font_glyph_destroy
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:550,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:549,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 38
    argCount: 8
    argNames:
    - sub_font
    - scaled_font_glyph_index
    - is_latin
    - latin_character
    - unicode
    - utf8
    - utf8_len
    - sub_font_glyph_out
    argTypes:
    - cairo_sub_font_t*
    - unsigned long
    - cairo_bool_t
    - int
    - uint32_t
    - char*
    - int
    - cairo_sub_font_glyph_t**
    constantsTouched: []
    func_position:
      end: 566
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 566
    functionName: _cairo_sub_font_add_glyph
    functionSourceFile: /src/cairo/src/cairo-scaled-font-subsets.c
    functionUses: []
    functionsReached:
    - _cairo_sub_font_glyph_destroy
    - _cairo_scaled_font_freeze_cache
    - _cairo_scaled_glyph_lookup
    - _cairo_error
    - unlikely
    - assert
    - _cairo_sub_font_glyph_create
    - _cairo_hash_table_insert
    - _cairo_scaled_font_thaw_cache
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_sub_font_add_glyph (cairo_sub_font_t\t\
      \ *sub_font,\t\t\t unsigned long\t scaled_font_glyph_index,\t\t\t cairo_bool_t\t\
      \t is_latin,\t\t\t int\t\t\t latin_character,\t\t\t uint32_t \t\t unicode,\t\
      \t\t char \t\t *utf8,\t\t\t int \t\t\t utf8_len,\t\t\t cairo_sub_font_glyph_t\
      \ **sub_font_glyph_out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1144,1
    - Dst: printf
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1145,1
    - Dst: printf
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1146,1
    - Dst: printf
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1148,1
    - Dst: printf
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1147,1
    - Dst: printf
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1149,1
    - Dst: printf
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1150,1
    - Dst: printf
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1151,1
    - Dst: printf
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1152,1
    - Dst: printf
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1153,1
    - Dst: _cairo_hash_table_foreach
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1155,1
    - Dst: printf
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - sub_font
    argTypes:
    - cairo_sub_font_t*
    constantsTouched: []
    func_position:
      end: 1160
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1160
    functionName: dump_subfont
    functionSourceFile: /src/cairo/src/cairo-scaled-font-subsets.c
    functionUses: []
    functionsReached:
    - printf
    - _cairo_hash_table_foreach
    linkageType: ''
    returnType: void
    signature: 'static void dump_subfont (cairo_sub_font_t *sub_font) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1352,1
    - Dst: snprintf
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1356,1
    - Dst: free
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1364,1
    - Dst: strdup
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1365,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1367,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 1
    argNames:
    - ps_name
    argTypes:
    - char**
    constantsTouched: []
    func_position:
      end: 1372
      start: 1334
    functionDepth: 0
    functionLinenumber: 1334
    functionLinenumberEnd: 1372
    functionName: _cairo_escape_ps_name
    functionSourceFile: /src/cairo/src/cairo-scaled-font-subsets.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - free
    - strchr
    - strdup
    - snprintf
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'cairo_int_status_t _cairo_escape_ps_name (char **ps_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:192,1
    - Dst: free
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - sub_font_glyph
    argTypes:
    - cairo_sub_font_glyph_t*
    constantsTouched: []
    func_position:
      end: 195
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 195
    functionName: _cairo_sub_font_glyph_destroy
    functionSourceFile: /src/cairo/src/cairo-scaled-font-subsets.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_sub_font_glyph_destroy (cairo_sub_font_glyph_t
      *sub_font_glyph) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:222,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - entry
    - closure
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 234
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 234
    functionName: _cairo_sub_font_glyph_collect
    functionSourceFile: /src/cairo/src/cairo-scaled-font-subsets.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_sub_font_glyph_collect (void *entry, void *closure) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_truetype_index_to_ucs4
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:384,1
    - Dst: _cairo_status_is_error
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:387,1
    - Dst: _cairo_ucs4_to_utf8
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:402,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:394,1
    - Dst: _cairo_strndup
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:404,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:405,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:406,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 5
    argNames:
    - scaled_font
    - scaled_font_glyph_index
    - unicode_out
    - utf8_out
    - utf8_len_out
    argTypes:
    - cairo_scaled_font_t*
    - unsigned long
    - uint32_t*
    - char**
    - int*
    constantsTouched: []
    func_position:
      end: 413
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 413
    functionName: _cairo_sub_font_glyph_lookup_unicode
    functionSourceFile: /src/cairo/src/cairo-scaled-font-subsets.c
    functionUses: []
    functionsReached:
    - _cairo_status_is_error
    - _cairo_truetype_index_to_ucs4
    - _cairo_error
    - _cairo_ucs4_to_utf8
    - _cairo_strndup
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_sub_font_glyph_lookup_unicode (cairo_scaled_font_t\
      \ *scaled_font,\t\t\t\t unsigned long\t scaled_font_glyph_index,\t\t\t\t uint32_t\
      \ \t *unicode_out,\t\t\t\t char \t\t **utf8_out,\t\t\t\t int \t *utf8_len_out) "
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_sub_font_glyph_init_key
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:578,1
    - Dst: _cairo_hash_table_lookup
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:579,1
    - Dst: _cairo_sub_font_glyph_lookup_unicode
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:588,1
    - Dst: _cairo_utf8_to_ucs4
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:602,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:593,1
    - Dst: free
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:607,1
    - Dst: _cairo_strndup
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:608,1
    - Dst: free
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:610,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:611,1
    - Dst: free
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:615,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:643,1
    - Dst: _cairo_unicode_to_winansi
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:625,1
    - Dst: _cairo_sub_font_add_glyph
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:635,1
    - Dst: _cairo_sub_font_glyph_map_to_unicode
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:659,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 57
    argCount: 5
    argNames:
    - sub_font
    - scaled_font_glyph_index
    - text_utf8
    - text_utf8_len
    - subset_glyph
    argTypes:
    - cairo_sub_font_t*
    - unsigned long
    - char*
    - int
    - cairo_scaled_font_subsets_glyph_t*
    constantsTouched: []
    func_position:
      end: 665
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 665
    functionName: _cairo_sub_font_map_glyph
    functionSourceFile: /src/cairo/src/cairo-scaled-font-subsets.c
    functionUses: []
    functionsReached:
    - _cairo_sub_font_glyph_map_to_unicode
    - _cairo_sub_font_glyph_lookup_unicode
    - free
    - _cairo_sub_font_glyph_init_key
    - _cairo_error
    - _cairo_utf8_to_ucs4
    - _cairo_sub_font_add_glyph
    - _cairo_hash_table_lookup
    - _cairo_unicode_to_winansi
    - _cairo_strndup
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_sub_font_map_glyph (cairo_sub_font_t\t\
      *sub_font,\t\t\t unsigned long\t scaled_font_glyph_index,\t\t\t const char\t\
      \t*text_utf8,\t\t\t int\t\t\t text_utf8_len, cairo_scaled_font_subsets_glyph_t\
      \ *subset_glyph) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:751,1
    - Dst: free
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:765,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:752,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:753,1
    - Dst: _cairo_hash_table_create
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:763,1
    - Dst: _cairo_hash_table_create
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:771,1
    - Dst: _cairo_hash_table_destroy
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:773,1
    - Dst: free
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:774,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 781
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 781
    functionName: _cairo_scaled_font_subsets_create_internal
    functionSourceFile: /src/cairo/src/cairo-scaled-font-subsets.c
    functionUses: []
    functionsReached:
    - free
    - _cairo_hash_table_destroy
    - _cairo_hash_table_create
    - _cairo_error_throw
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_scaled_font_subsets_t*
    signature: 'static cairo_scaled_font_subsets_t *_cairo_scaled_font_subsets_create_internal
      (cairo_subsets_type_t type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_scaled_font_subsets_create_internal
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:792,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 793
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 793
    functionName: _cairo_scaled_font_subsets_create_simple
    functionSourceFile: /src/cairo/src/cairo-scaled-font-subsets.c
    functionUses: []
    functionsReached:
    - _cairo_scaled_font_subsets_create_internal
    linkageType: ''
    returnType: cairo_scaled_font_subsets_t*
    signature: 'cairo_scaled_font_subsets_t *_cairo_scaled_font_subsets_create_simple
      (void) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_sub_font_init_key
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:844,1
    - Dst: _cairo_font_face_is_user
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:874,1
    - Dst: cairo_matrix_init_identity
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:922,1
    - Dst: cairo_scaled_font_get_font_options
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:924,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:931,1
    - Dst: _cairo_sub_font_create
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:944,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:952,1
    - Dst: _cairo_sub_font_create
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:985,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:992,1
    - Dst: _cairo_sub_font_map_glyph
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1012,1
    - Dst: _cairo_hash_table_lookup
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:860,1
    - Dst: _cairo_scaled_glyph_lookup
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:877,1
    - Dst: _cairo_scaled_glyph_lookup
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:885,1
    - Dst: cairo_scaled_font_get_font_face
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:921,1
    - Dst: _cairo_hash_table_lookup
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:918,1
    - Dst: _cairo_scaled_font_thaw_cache
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:907,1
    - Dst: cairo_font_options_set_hint_style
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:925,1
    - Dst: cairo_scaled_font_create
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:927,1
    - Dst: cairo_scaled_font_destroy
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:953,1
    - Dst: cairo_scaled_font_destroy
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:993,1
    - Dst: _cairo_sub_font_init_key
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:859,1
    - Dst: _cairo_sub_font_lookup_glyph
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:848,1
    - Dst: _cairo_sub_font_lookup_glyph
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:863,1
    - Dst: _cairo_scaled_font_freeze_cache
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:875,1
    - Dst: _cairo_sub_font_init_key
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:917,1
    - Dst: cairo_font_options_set_hint_metrics
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:926,1
    - Dst: _cairo_hash_table_insert
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:957,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:960,1
    - Dst: _cairo_sub_font_init_key
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:974,1
    - Dst: _cairo_hash_table_insert
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:997,1
    - Dst: _cairo_hash_table_lookup
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:845,1
    - Dst: _cairo_scaled_glyph_lookup
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:902,1
    - Dst: _cairo_int_status_is_error
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:908,1
    - Dst: _cairo_font_options_init_default
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:923,1
    - Dst: _cairo_type1_scaled_font_is_type1
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:935,1
    - Dst: _cairo_sub_font_destroy
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:961,1
    - Dst: _cairo_hash_table_lookup
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:975,1
    - Dst: cairo_scaled_font_reference
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:986,1
    - Dst: _cairo_sub_font_destroy
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1000,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:999,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 117
    argCount: 6
    argNames:
    - subsets
    - scaled_font
    - scaled_font_glyph_index
    - utf8
    - utf8_len
    - subset_glyph
    argTypes:
    - cairo_scaled_font_subsets_t*
    - cairo_scaled_font_t*
    - unsigned long
    - char*
    - int
    - cairo_scaled_font_subsets_glyph_t*
    constantsTouched: []
    func_position:
      end: 1016
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 1016
    functionName: _cairo_scaled_font_subsets_map_glyph
    functionSourceFile: /src/cairo/src/cairo-scaled-font-subsets.c
    functionUses: []
    functionsReached:
    - cairo_scaled_font_get_font_options
    - cairo_font_options_set_hint_style
    - cairo_scaled_font_get_font_face
    - _cairo_sub_font_lookup_glyph
    - _cairo_scaled_font_thaw_cache
    - _cairo_hash_table_insert
    - _cairo_type1_scaled_font_is_type1
    - cairo_scaled_font_reference
    - _cairo_font_face_is_user
    - _cairo_sub_font_init_key
    - _cairo_int_status_is_error
    - _cairo_font_options_init_default
    - cairo_matrix_init_identity
    - _cairo_hash_table_lookup
    - cairo_font_options_set_hint_metrics
    - _cairo_sub_font_create
    - cairo_scaled_font_destroy
    - cairo_scaled_font_create
    - _cairo_scaled_font_freeze_cache
    - _cairo_scaled_glyph_lookup
    - _cairo_sub_font_map_glyph
    - _cairo_sub_font_destroy
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_scaled_font_subsets_map_glyph (cairo_scaled_font_subsets_t\t\
      *subsets,\t\t\t\t cairo_scaled_font_t\t\t*scaled_font,\t\t\t\t unsigned long\t\
      \t\t scaled_font_glyph_index,\t\t\t\t const char *\t\t\t utf8,\t\t\t\t int\t\
      \t\t\t utf8_len, cairo_scaled_font_subsets_glyph_t *subset_glyph) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - key
    - s
    argTypes:
    - cairo_string_entry_t*
    - char*
    constantsTouched: []
    func_position:
      end: 1203
      start: 1193
    functionDepth: 0
    functionLinenumber: 1193
    functionLinenumberEnd: 1203
    functionName: _cairo_string_init_key
    functionSourceFile: /src/cairo/src/cairo-scaled-font-subsets.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_string_init_key (cairo_string_entry_t *key, char
      *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_hash_table_remove
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:203,1
    - Dst: _cairo_sub_font_glyph_destroy
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - entry
    - closure
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 205
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 205
    functionName: _cairo_sub_font_glyph_pluck
    functionSourceFile: /src/cairo/src/cairo-scaled-font-subsets.c
    functionUses: []
    functionsReached:
    - _cairo_hash_table_remove
    - _cairo_sub_font_glyph_destroy
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_sub_font_glyph_pluck (void *entry, void *closure) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 2
    argNames:
    - key_a
    - key_b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 248
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 248
    functionName: _cairo_sub_fonts_equal
    functionSourceFile: /src/cairo/src/cairo-scaled-font-subsets.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_sub_fonts_equal (const void *key_a, const
      void *key_b) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:432,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:440,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:441,1
    - Dst: _cairo_strndup
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:439,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 4
    argNames:
    - sub_font_glyph
    - utf8
    - utf8_len
    - is_mapped
    argTypes:
    - cairo_sub_font_glyph_t*
    - char*
    - int
    - cairo_bool_t*
    constantsTouched: []
    func_position:
      end: 449
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 449
    functionName: _cairo_sub_font_glyph_map_to_unicode
    functionSourceFile: /src/cairo/src/cairo-scaled-font-subsets.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - strncmp
    - _cairo_strndup
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_sub_font_glyph_map_to_unicode (cairo_sub_font_glyph_t\
      \ *sub_font_glyph,\t\t\t\t const char\t *utf8,\t\t\t\t int\t\t utf8_len,\t\t\
      \t\t cairo_bool_t\t *is_mapped) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:687,1
    - Dst: free
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:737,1
    - Dst: _cairo_hash_table_foreach
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:698,1
    - Dst: assert
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:710,1
    - Dst: free
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:738,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    argCount: 2
    argNames:
    - entry
    - closure
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 744
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 744
    functionName: _cairo_sub_font_collect
    functionSourceFile: /src/cairo/src/cairo-scaled-font-subsets.c
    functionUses: []
    functionsReached:
    - free
    - memset
    - _cairo_hash_table_foreach
    - assert
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_sub_font_collect (void *entry, void *closure) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_scaled_font_subsets_create_internal
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:786,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 787
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 787
    functionName: _cairo_scaled_font_subsets_create_scaled
    functionSourceFile: /src/cairo/src/cairo-scaled-font-subsets.c
    functionUses: []
    functionsReached:
    - _cairo_scaled_font_subsets_create_internal
    linkageType: ''
    returnType: cairo_scaled_font_subsets_t*
    signature: 'cairo_scaled_font_subsets_t *_cairo_scaled_font_subsets_create_scaled
      (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_scaled_font_subsets_create_internal
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:798,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 799
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 799
    functionName: _cairo_scaled_font_subsets_create_composite
    functionSourceFile: /src/cairo/src/cairo-scaled-font-subsets.c
    functionUses: []
    functionsReached:
    - _cairo_scaled_font_subsets_create_internal
    linkageType: ''
    returnType: cairo_scaled_font_subsets_t*
    signature: 'cairo_scaled_font_subsets_t *_cairo_scaled_font_subsets_create_composite
      (void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1041,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1042,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1043,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1045,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1044,1
    - Dst: free
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1049,1
    - Dst: free
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1050,1
    - Dst: free
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1051,1
    - Dst: free
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1052,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1054,1
    - Dst: free
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1070,1
    - Dst: free
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1071,1
    - Dst: _cairo_sub_font_collect
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1067,1
    - Dst: free
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1072,1
    - Dst: free
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1073,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 4
    argNames:
    - font_subsets
    - font_subset_callback
    - closure
    - type
    argTypes:
    - cairo_scaled_font_subsets_t*
    - cairo_scaled_font_subset_callback_func_t
    - void*
    - cairo_subsets_foreach_type_t
    constantsTouched: []
    func_position:
      end: 1076
      start: 1018
    functionDepth: 0
    functionLinenumber: 1018
    functionLinenumberEnd: 1076
    functionName: _cairo_scaled_font_subsets_foreach_internal
    functionSourceFile: /src/cairo/src/cairo-scaled-font-subsets.c
    functionUses: []
    functionsReached:
    - _cairo_sub_font_collect
    - _cairo_error
    - free
    - _cairo_malloc_ab
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_scaled_font_subsets_foreach_internal\
      \ (cairo_scaled_font_subsets_t *font_subsets, cairo_scaled_font_subset_callback_func_t\
      \ font_subset_callback, void\t\t\t\t *closure,\t\t\t\t\t cairo_subsets_foreach_type_t\t\
      \ type) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1208,1
    - Dst: _cairo_string_init_key
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1212,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1210,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1209,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - s
    - entry
    argTypes:
    - char*
    - cairo_string_entry_t**
    constantsTouched: []
    func_position:
      end: 1215
      start: 1205
    functionDepth: 0
    functionLinenumber: 1205
    functionLinenumberEnd: 1215
    functionName: create_string_entry
    functionSourceFile: /src/cairo/src/cairo-scaled-font-subsets.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - unlikely
    - _cairo_string_init_key
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t create_string_entry (char *s, cairo_string_entry_t
      **entry) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_hash_table_create
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1236,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1249,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1250,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1275,1
    - Dst: _cairo_winansi_to_glyphname
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1282,1
    - Dst: snprintf
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1286,1
    - Dst: _cairo_hash_table_lookup
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1290,1
    - Dst: snprintf
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1292,1
    - Dst: strdup
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1298,1
    - Dst: likely
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1319,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1300,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1237,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1238,1
    - Dst: strdup
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1248,1
    - Dst: create_string_entry
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1254,1
    - Dst: _cairo_hash_table_insert
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1258,1
    - Dst: _cairo_utf8_to_utf16
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1271,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1255,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1259,1
    - Dst: strncpy
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1283,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1299,1
    - Dst: _cairo_hash_table_destroy
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1317,1
    - Dst: _cairo_calloc_ab
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1240,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1241,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1242,1
    - Dst: free
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1260,1
    - Dst: _cairo_string_init_key
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1289,1
    - Dst: free
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1296,1
    - Dst: create_string_entry
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1304,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1305,1
    - Dst: _cairo_hash_table_insert
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1308,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1309,1
    - Dst: free
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1327,1
    - Dst: _cairo_unicode_to_winansi
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1281,1
    - Dst: _cairo_winansi_to_glyphname
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1283,1
    - Dst: snprintf
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1294,1
    - Dst: free
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1310,1
    - Dst: _cairo_hash_table_foreach
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1316,1
    - Dst: free
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1324,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 94
    argCount: 1
    argNames:
    - subset
    argTypes:
    - cairo_scaled_font_subset_t*
    constantsTouched: []
    func_position:
      end: 1332
      start: 1224
    functionDepth: 0
    functionLinenumber: 1224
    functionLinenumberEnd: 1332
    functionName: _cairo_scaled_font_subset_create_glyph_names
    functionSourceFile: /src/cairo/src/cairo-scaled-font-subsets.c
    functionUses: []
    functionsReached:
    - _cairo_calloc_ab
    - _cairo_error
    - free
    - strncpy
    - _cairo_utf8_to_utf16
    - _cairo_hash_table_destroy
    - _cairo_hash_table_foreach
    - create_string_entry
    - _cairo_hash_table_insert
    - _cairo_hash_table_create
    - _cairo_string_init_key
    - strdup
    - likely
    - _cairo_hash_table_lookup
    - _cairo_winansi_to_glyphname
    - snprintf
    - _cairo_unicode_to_winansi
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'cairo_int_status_t _cairo_scaled_font_subset_create_glyph_names (cairo_scaled_font_subset_t
      *subset) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - sub_font
    - scaled_font
    argTypes:
    - cairo_sub_font_t*
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 264
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 264
    functionName: _cairo_sub_font_init_key
    functionSourceFile: /src/cairo/src/cairo-scaled-font-subsets.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void _cairo_sub_font_init_key (cairo_sub_font_t\t*sub_font,\t\
      \t\t cairo_scaled_font_t\t*scaled_font) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1106,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 2
    argNames:
    - key_a
    - key_b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1110
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1110
    functionName: _cairo_string_equal
    functionSourceFile: /src/cairo/src/cairo-scaled-font-subsets.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_string_equal (const void *key_a, const
      void *key_b) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:278,1
    - Dst: _cairo_cff_scaled_font_is_cid_cff
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:295,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:279,1
    - Dst: _cairo_sub_font_init_key
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:285,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:280,1
    - Dst: _cairo_hash_table_create
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:311,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:312,1
    - Dst: free
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:313,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:314,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 7
    argNames:
    - parent
    - scaled_font
    - font_id
    - max_glyphs_per_subset
    - is_scaled
    - is_composite
    - sub_font_out
    argTypes:
    - cairo_scaled_font_subsets_t*
    - cairo_scaled_font_t*
    - unsigned int
    - int
    - cairo_bool_t
    - cairo_bool_t
    - cairo_sub_font_t**
    constantsTouched: []
    func_position:
      end: 319
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 319
    functionName: _cairo_sub_font_create
    functionSourceFile: /src/cairo/src/cairo-scaled-font-subsets.c
    functionUses: []
    functionsReached:
    - _cairo_cff_scaled_font_is_cid_cff
    - _cairo_sub_font_init_key
    - _cairo_error
    - free
    - _cairo_hash_table_create
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_sub_font_create (cairo_scaled_font_subsets_t\t\
      *parent,\t\t\tcairo_scaled_font_t\t\t*scaled_font,\t\t\tunsigned int\t\t\t font_id,\t\
      \t\tint\t\t\t\t max_glyphs_per_subset, cairo_bool_t is_scaled,\t\t\tcairo_bool_t\
      \ is_composite,\t\t\tcairo_sub_font_t **sub_font_out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - sub_font_glyph
    - scaled_font_glyph_index
    argTypes:
    - cairo_sub_font_glyph_t*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: _cairo_sub_font_glyph_init_key
    functionSourceFile: /src/cairo/src/cairo-scaled-font-subsets.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void _cairo_sub_font_glyph_init_key (cairo_sub_font_glyph_t\
      \ *sub_font_glyph,\t\t\t\tunsigned long\t\t scaled_font_glyph_index) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_hash_table_foreach
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:804,1
    - Dst: _cairo_hash_table_destroy
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:805,1
    - Dst: _cairo_hash_table_foreach
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:807,1
    - Dst: _cairo_hash_table_destroy
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:808,1
    - Dst: free
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:810,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - subsets
    argTypes:
    - cairo_scaled_font_subsets_t*
    constantsTouched: []
    func_position:
      end: 811
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 811
    functionName: _cairo_scaled_font_subsets_destroy
    functionSourceFile: /src/cairo/src/cairo-scaled-font-subsets.c
    functionUses: []
    functionsReached:
    - free
    - _cairo_hash_table_destroy
    - _cairo_hash_table_foreach
    linkageType: ''
    returnType: void
    signature: 'void _cairo_scaled_font_subsets_destroy (cairo_scaled_font_subsets_t
      *subsets) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_scaled_font_subsets_foreach_internal
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1083,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - font_subsets
    - font_subset_callback
    - closure
    argTypes:
    - cairo_scaled_font_subsets_t*
    - cairo_scaled_font_subset_callback_func_t
    - void*
    constantsTouched: []
    func_position:
      end: 1087
      start: 1078
    functionDepth: 0
    functionLinenumber: 1078
    functionLinenumberEnd: 1087
    functionName: _cairo_scaled_font_subsets_foreach_scaled
    functionSourceFile: /src/cairo/src/cairo-scaled-font-subsets.c
    functionUses: []
    functionsReached:
    - _cairo_scaled_font_subsets_foreach_internal
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_scaled_font_subsets_foreach_scaled (cairo_scaled_font_subsets_t\t\
      \t *font_subsets, cairo_scaled_font_subset_callback_func_t font_subset_callback,\
      \ void\t\t\t\t\t *closure) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:168,1
    - Dst: _cairo_sub_font_glyph_init_key
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:174,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:170,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:169,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 187
    functionName: _cairo_sub_font_glyph_create
    functionSourceFile: /src/cairo/src/cairo-scaled-font-subsets.c
    functionUses: []
    functionsReached:
    - _cairo_sub_font_glyph_init_key
    - unlikely
    - _cairo_error_throw
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_sub_font_glyph_t*
    signature: "static cairo_sub_font_glyph_t *_cairo_sub_font_glyph_create (unsigned\
      \ long\tscaled_font_glyph_index,\t\t\t unsigned int\tsubset_id,\t\t\t unsigned\
      \ int\tsubset_glyph_index, double x_advance, double y_advance,\t\t\t int\t latin_character,\t\
      \t\t uint32_t unicode,\t\t\t char *utf8,\t\t\t int \tutf8_len) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - font_subsets
    - use_latin
    argTypes:
    - cairo_scaled_font_subsets_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 818
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 818
    functionName: _cairo_scaled_font_subsets_enable_latin_subset
    functionSourceFile: /src/cairo/src/cairo-scaled-font-subsets.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _cairo_scaled_font_subsets_enable_latin_subset (cairo_scaled_font_subsets_t\
      \ *font_subsets,\t\t\t\t\t\tcairo_bool_t use_latin) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_scaled_font_subsets_foreach_internal
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1094,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - font_subsets
    - font_subset_callback
    - closure
    argTypes:
    - cairo_scaled_font_subsets_t*
    - cairo_scaled_font_subset_callback_func_t
    - void*
    constantsTouched: []
    func_position:
      end: 1098
      start: 1089
    functionDepth: 0
    functionLinenumber: 1089
    functionLinenumberEnd: 1098
    functionName: _cairo_scaled_font_subsets_foreach_unscaled
    functionSourceFile: /src/cairo/src/cairo-scaled-font-subsets.c
    functionUses: []
    functionsReached:
    - _cairo_scaled_font_subsets_foreach_internal
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_scaled_font_subsets_foreach_unscaled (cairo_scaled_font_subsets_t\t\
      \ *font_subsets, cairo_scaled_font_subset_callback_func_t font_subset_callback,\
      \ void\t\t\t\t\t *closure) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1165,1
    - Dst: printf
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1172,1
    - Dst: printf
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1178,1
    - Dst: printf
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1175,1
    - Dst: printf
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1169,1
    - Dst: printf
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1179,1
    - Dst: printf
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1180,1
    - Dst: printf
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1181,1
    - Dst: printf
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1183,1
    - Dst: dump_subfont
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1184,1
    - Dst: printf
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1186,1
    - Dst: dump_subfont
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1187,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - font_subsets
    argTypes:
    - cairo_scaled_font_subsets_t*
    constantsTouched: []
    func_position:
      end: 1188
      start: 1162
    functionDepth: 0
    functionLinenumber: 1162
    functionLinenumberEnd: 1188
    functionName: dump_scaled_font_subsets
    functionSourceFile: /src/cairo/src/cairo-scaled-font-subsets.c
    functionUses: []
    functionsReached:
    - printf
    - dump_subfont
    linkageType: ''
    returnType: void
    signature: 'void dump_scaled_font_subsets (cairo_scaled_font_subsets_t *font_subsets) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_hash_table_remove
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1220,1
    - Dst: free
      Src: /src/cairo/src/cairo-scaled-font-subsets.c:1221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - entry
    - closure
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1222
      start: 1217
    functionDepth: 0
    functionLinenumber: 1217
    functionLinenumberEnd: 1222
    functionName: _pluck_entry
    functionSourceFile: /src/cairo/src/cairo-scaled-font-subsets.c
    functionUses: []
    functionsReached:
    - _cairo_hash_table_remove
    - free
    linkageType: ''
    returnType: void
    signature: 'static void _pluck_entry (void *entry, void *closure) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-error.c:67,1
    - Dst: _cairo_status_is_error
      Src: /src/cairo/src/cairo-error.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - status
    argTypes:
    - cairo_status_t
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: _cairo_error
    functionSourceFile: /src/cairo/src/cairo-error.c
    functionUses: []
    functionsReached:
    - _cairo_status_is_error
    - assert
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_error (cairo_status_t status) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_finish
      Src: /src/cairo/src/cairo-analysis-surface.c:140,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-analysis-surface.c:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: detach_proxy
    functionSourceFile: /src/cairo/src/cairo-analysis-surface.c
    functionUses: []
    functionsReached:
    - cairo_surface_finish
    - cairo_surface_destroy
    linkageType: ''
    returnType: void
    signature: 'static void detach_proxy (cairo_surface_t *proxy) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-analysis-surface.c:280,1
    - Dst: _cairo_recording_surface_replay_with_transform
      Src: /src/cairo/src/cairo-analysis-surface.c:340,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-analysis-surface.c:326,1
    - Dst: _cairo_box_from_rectangle
      Src: /src/cairo/src/cairo-analysis-surface.c:367,1
    - Dst: _add_operation
      Src: /src/cairo/src/cairo-analysis-surface.c:370,1
    - Dst: cairo_region_union
      Src: /src/cairo/src/cairo-analysis-surface.c:385,1
    - Dst: _cairo_matrix_transform_bounding_box_fixed
      Src: /src/cairo/src/cairo-analysis-surface.c:393,1
    - Dst: _cairo_box_round_to_rectangle
      Src: /src/cairo/src/cairo-analysis-surface.c:395,1
    - Dst: detach_proxy
      Src: /src/cairo/src/cairo-analysis-surface.c:403,1
    - Dst: _cairo_surface_has_snapshot
      Src: /src/cairo/src/cairo-analysis-surface.c:283,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-analysis-surface.c:291,1
    - Dst: attach_proxy
      Src: /src/cairo/src/cairo-analysis-surface.c:295,1
    - Dst: assert
      Src: /src/cairo/src/cairo-analysis-surface.c:299,1
    - Dst: _cairo_surface_get_source
      Src: /src/cairo/src/cairo-analysis-surface.c:302,1
    - Dst: _cairo_matrix_transform_bounding_box_fixed
      Src: /src/cairo/src/cairo-analysis-surface.c:368,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-analysis-surface.c:399,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-analysis-surface.c:405,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-analysis-surface.c:407,1
    - Dst: _cairo_analysis_surface_create
      Src: /src/cairo/src/cairo-analysis-surface.c:290,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-analysis-surface.c:308,1
    - Dst: _cairo_recording_surface_replay_and_create_regions
      Src: /src/cairo/src/cairo-analysis-surface.c:331,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-analysis-surface.c:356,1
    - Dst: _cairo_box_round_to_rectangle
      Src: /src/cairo/src/cairo-analysis-surface.c:369,1
    - Dst: cairo_region_union
      Src: /src/cairo/src/cairo-analysis-surface.c:380,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-analysis-surface.c:392,1
    - Dst: _cairo_recording_surface_region_array_remove
      Src: /src/cairo/src/cairo-analysis-surface.c:400,1
    - Dst: _cairo_unbounded_rectangle_init
      Src: /src/cairo/src/cairo-analysis-surface.c:390,1
    - Dst: assert
      Src: /src/cairo/src/cairo-analysis-surface.c:278,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-analysis-surface.c:298,1
    - Dst: _cairo_analysis_surface_set_ctm
      Src: /src/cairo/src/cairo-analysis-surface.c:300,1
    - Dst: _cairo_recording_surface_region_array_attach
      Src: /src/cairo/src/cairo-analysis-surface.c:307,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-analysis-surface.c:345,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-analysis-surface.c:337,1
    - Dst: _cairo_surface_has_mime_image
      Src: /src/cairo/src/cairo-analysis-surface.c:361,1
    - Dst: _cairo_surface_get_extents
      Src: /src/cairo/src/cairo-analysis-surface.c:364,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-analysis-surface.c:373,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 94
    argCount: 5
    argNames:
    - surface
    - pattern
    - extents
    - regions_id
    - source_type
    argTypes:
    - cairo_analysis_surface_t*
    - cairo_pattern_t*
    - cairo_rectangle_int_t*
    - unsigned int*
    - cairo_analysis_source_t
    constantsTouched: []
    func_position:
      end: 411
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 411
    functionName: _analyze_recording_surface_pattern
    functionSourceFile: /src/cairo/src/cairo-analysis-surface.c
    functionUses: []
    functionsReached:
    - attach_proxy
    - _cairo_surface_has_mime_image
    - _cairo_surface_get_extents
    - _cairo_recording_surface_replay_with_transform
    - _cairo_surface_has_snapshot
    - _cairo_analysis_surface_create
    - cairo_region_union
    - _cairo_recording_surface_region_array_remove
    - _cairo_matrix_transform_bounding_box_fixed
    - _cairo_box_from_rectangle
    - detach_proxy
    - _cairo_analysis_surface_set_ctm
    - assert
    - _cairo_surface_get_source
    - _add_operation
    - _cairo_recording_surface_region_array_attach
    - _cairo_box_round_to_rectangle
    - _cairo_unbounded_rectangle_init
    - cairo_surface_destroy
    - _cairo_recording_surface_replay_and_create_regions
    - cairo_matrix_invert
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _analyze_recording_surface_pattern (cairo_analysis_surface_t\
      \ *surface,\t\t\t\t const cairo_pattern_t *pattern,\t\t\t\t cairo_rectangle_int_t\
      \ *extents,\t\t\t\t unsigned int *regions_id,\t\t\t\t cairo_analysis_source_t\
      \ source_type) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_get_extents
      Src: /src/cairo/src/cairo-analysis-surface.c:432,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - abstract_surface
    - rectangle
    argTypes:
    - void*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 433
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 433
    functionName: _cairo_analysis_surface_get_extents
    functionSourceFile: /src/cairo/src/cairo-analysis-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_get_extents
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _cairo_analysis_surface_get_extents (void\t\t\t\
      *abstract_surface,\t\t\t\t cairo_rectangle_int_t\t*rectangle) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - abstract_surface
    - ctm
    argTypes:
    - cairo_surface_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 1012
      start: 1005
    functionDepth: 0
    functionLinenumber: 1005
    functionLinenumberEnd: 1012
    functionName: _cairo_analysis_surface_get_ctm
    functionSourceFile: /src/cairo/src/cairo-analysis-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _cairo_analysis_surface_get_ctm (cairo_surface_t *abstract_surface,\t\
      \t\t\t cairo_matrix_t *ctm) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1062
      start: 1056
    functionDepth: 0
    functionLinenumber: 1056
    functionLinenumberEnd: 1062
    functionName: _cairo_analysis_surface_get_source_region_id
    functionSourceFile: /src/cairo/src/cairo-analysis-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: 'unsigned int _cairo_analysis_surface_get_source_region_id (cairo_surface_t
      *abstract_surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-analysis-surface.c:125,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-analysis-surface.c:126,1
    - Dst: _cairo_surface_init
      Src: /src/cairo/src/cairo-analysis-surface.c:129,1
    - Dst: _cairo_surface_attach_snapshot
      Src: /src/cairo/src/cairo-analysis-surface.c:132,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-analysis-surface.c:127,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 135
    functionName: attach_proxy
    functionSourceFile: /src/cairo/src/cairo-analysis-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_init
    - _cairo_surface_attach_snapshot
    - _cairo_surface_create_in_error
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *attach_proxy (cairo_surface_t *source,\t cairo_surface_t\
      \ *target) "
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_box_from_rectangle
      Src: /src/cairo/src/cairo-analysis-surface.c:168,1
    - Dst: _cairo_matrix_transform_bounding_box_fixed
      Src: /src/cairo/src/cairo-analysis-surface.c:185,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-analysis-surface.c:177,1
    - Dst: _cairo_matrix_is_integer_translation
      Src: /src/cairo/src/cairo-analysis-surface.c:173,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-analysis-surface.c:181,1
    - Dst: _cairo_box_round_to_rectangle
      Src: /src/cairo/src/cairo-analysis-surface.c:205,1
    - Dst: _cairo_box_add_box
      Src: /src/cairo/src/cairo-analysis-surface.c:213,1
    - Dst: cairo_region_contains_rectangle
      Src: /src/cairo/src/cairo-analysis-surface.c:219,1
    - Dst: cairo_region_contains_rectangle
      Src: /src/cairo/src/cairo-analysis-surface.c:230,1
    - Dst: cairo_region_union_rectangle
      Src: /src/cairo/src/cairo-analysis-surface.c:239,1
    - Dst: cairo_region_union_rectangle
      Src: /src/cairo/src/cairo-analysis-surface.c:247,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 59
    argCount: 3
    argNames:
    - surface
    - rect
    - backend_status
    argTypes:
    - cairo_analysis_surface_t*
    - cairo_rectangle_int_t*
    - cairo_int_status_t
    constantsTouched: []
    func_position:
      end: 259
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 259
    functionName: _add_operation
    functionSourceFile: /src/cairo/src/cairo-analysis-surface.c
    functionUses: []
    functionsReached:
    - cairo_region_contains_rectangle
    - _cairo_box_round_to_rectangle
    - cairo_region_union_rectangle
    - _cairo_matrix_transform_bounding_box_fixed
    - _cairo_matrix_is_integer_translation
    - _cairo_box_add_box
    - _cairo_box_from_rectangle
    - _cairo_fixed_from_int
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _add_operation (cairo_analysis_surface_t\
      \ *surface,\t\tcairo_rectangle_int_t *rect,\t\tcairo_int_status_t backend_status) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_region_fini
      Src: /src/cairo/src/cairo-analysis-surface.c:418,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-analysis-surface.c:421,1
    - Dst: _cairo_region_fini
      Src: /src/cairo/src/cairo-analysis-surface.c:419,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 424
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 424
    functionName: _cairo_analysis_surface_finish
    functionSourceFile: /src/cairo/src/cairo-analysis-surface.c
    functionUses: []
    functionsReached:
    - _cairo_region_fini
    - cairo_surface_destroy
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_analysis_surface_finish (void *abstract_surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_rectangle_intersect
      Src: /src/cairo/src/cairo-analysis-surface.c:439,1
    - Dst: _cairo_clip_get_extents
      Src: /src/cairo/src/cairo-analysis-surface.c:439,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - extents
    - clip
    argTypes:
    - cairo_rectangle_int_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 440
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 440
    functionName: _rectangle_intersect_clip
    functionSourceFile: /src/cairo/src/cairo-analysis-surface.c
    functionUses: []
    functionsReached:
    - _cairo_rectangle_intersect
    - _cairo_clip_get_extents
    linkageType: ''
    returnType: void
    signature: 'static void _rectangle_intersect_clip (cairo_rectangle_int_t *extents,
      const cairo_clip_t *clip) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1021
    functionName: _cairo_analysis_surface_get_supported
    functionSourceFile: /src/cairo/src/cairo-analysis-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_region_t*
    signature: 'cairo_region_t *_cairo_analysis_surface_get_supported (cairo_surface_t
      *abstract_surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1070
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1070
    functionName: _cairo_analysis_surface_get_mask_region_id
    functionSourceFile: /src/cairo/src/cairo-analysis-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: 'unsigned int _cairo_analysis_surface_get_mask_region_id (cairo_surface_t
      *abstract_surface) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_int_status_is_error
      Src: /src/cairo/src/cairo-analysis-surface.c:520,1
    - Dst: _cairo_surface_get_source
      Src: /src/cairo/src/cairo-analysis-surface.c:534,1
    - Dst: _cairo_analysis_surface_operation_extents
      Src: /src/cairo/src/cairo-analysis-surface.c:524,1
    - Dst: _cairo_surface_is_recording
      Src: /src/cairo/src/cairo-analysis-surface.c:535,1
    - Dst: _analyze_recording_surface_pattern
      Src: /src/cairo/src/cairo-analysis-surface.c:537,1
    - Dst: _cairo_int_status_is_error
      Src: /src/cairo/src/cairo-analysis-surface.c:542,1
    - Dst: _cairo_rectangle_intersect
      Src: /src/cairo/src/cairo-analysis-surface.c:545,1
    - Dst: _cairo_surface_get_source
      Src: /src/cairo/src/cairo-analysis-surface.c:551,1
    - Dst: _cairo_surface_is_recording
      Src: /src/cairo/src/cairo-analysis-surface.c:552,1
    - Dst: _analyze_recording_surface_pattern
      Src: /src/cairo/src/cairo-analysis-surface.c:554,1
    - Dst: _cairo_rectangle_intersect
      Src: /src/cairo/src/cairo-analysis-surface.c:562,1
    - Dst: _cairo_pattern_get_extents
      Src: /src/cairo/src/cairo-analysis-surface.c:574,1
    - Dst: _cairo_rectangle_intersect
      Src: /src/cairo/src/cairo-analysis-surface.c:575,1
    - Dst: _cairo_int_status_is_error
      Src: /src/cairo/src/cairo-analysis-surface.c:559,1
    - Dst: _add_operation
      Src: /src/cairo/src/cairo-analysis-surface.c:578,1
    - Dst: _cairo_analysis_surface_merge_status
      Src: /src/cairo/src/cairo-analysis-surface.c:567,1
    - Dst: _cairo_operator_bounded_by_mask
      Src: /src/cairo/src/cairo-analysis-surface.c:571,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 40
    argCount: 5
    argNames:
    - abstract_surface
    - op
    - source
    - mask
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 579
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 579
    functionName: _cairo_analysis_surface_mask
    functionSourceFile: /src/cairo/src/cairo-analysis-surface.c
    functionUses: []
    functionsReached:
    - _analyze_recording_surface_pattern
    - _cairo_analysis_surface_operation_extents
    - _cairo_int_status_is_error
    - _cairo_rectangle_intersect
    - _cairo_surface_get_source
    - _add_operation
    - _cairo_pattern_get_extents
    - _cairo_surface_is_recording
    - _cairo_analysis_surface_merge_status
    - _cairo_operator_bounded_by_mask
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_analysis_surface_mask (void\t\t\t\
      *abstract_surface,\t\t\t cairo_operator_t\t\t op,\t\t\t const cairo_pattern_t\t\
      *source,\t\t\t const cairo_pattern_t\t*mask,\t\t\t const cairo_clip_t\t*clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1029
    functionName: _cairo_analysis_surface_get_unsupported
    functionSourceFile: /src/cairo/src/cairo-analysis-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_region_t*
    signature: 'cairo_region_t *_cairo_analysis_surface_get_unsupported (cairo_surface_t
      *abstract_surface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 4
    argNames:
    - surface
    - op
    - source
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 1088
      start: 1075
    functionDepth: 0
    functionLinenumber: 1075
    functionLinenumberEnd: 1088
    functionName: _paint_return_success
    functionSourceFile: /src/cairo/src/cairo-analysis-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _paint_return_success (void\t\t\t*surface,\t\
      \t cairo_operator_t\t\t op,\t\t const cairo_pattern_t\t*source,\t\t const cairo_clip_t\t\
      *clip) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_int_status_is_error
      Src: /src/cairo/src/cairo-analysis-surface.c:608,1
    - Dst: _analyze_recording_surface_pattern
      Src: /src/cairo/src/cairo-analysis-surface.c:617,1
    - Dst: _cairo_analysis_surface_operation_extents
      Src: /src/cairo/src/cairo-analysis-surface.c:612,1
    - Dst: _cairo_rectangle_intersect
      Src: /src/cairo/src/cairo-analysis-surface.c:622,1
    - Dst: _cairo_operator_bounded_by_mask
      Src: /src/cairo/src/cairo-analysis-surface.c:625,1
    - Dst: _cairo_path_fixed_stroke_extents
      Src: /src/cairo/src/cairo-analysis-surface.c:629,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-analysis-surface.c:633,1
    - Dst: _cairo_rectangle_intersect
      Src: /src/cairo/src/cairo-analysis-surface.c:636,1
    - Dst: _add_operation
      Src: /src/cairo/src/cairo-analysis-surface.c:639,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 10
    argNames:
    - abstract_surface
    - op
    - source
    - path
    - style
    - ctm
    - ctm_inverse
    - tolerance
    - antialias
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 640
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 640
    functionName: _cairo_analysis_surface_stroke
    functionSourceFile: /src/cairo/src/cairo-analysis-surface.c
    functionUses: []
    functionsReached:
    - _analyze_recording_surface_pattern
    - _cairo_analysis_surface_operation_extents
    - _cairo_int_status_is_error
    - _cairo_rectangle_intersect
    - _cairo_path_fixed_stroke_extents
    - unlikely
    - _add_operation
    - _cairo_operator_bounded_by_mask
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_analysis_surface_stroke (void\t\t\
      \t *abstract_surface,\t\t\t\tcairo_operator_t\t op,\t\t\t\tconst cairo_pattern_t\t\
      \ *source,\t\t\t\tconst cairo_path_fixed_t *path,\t\t\t\tconst cairo_stroke_style_t\
      \ *style,\t\t\t\tconst cairo_matrix_t\t *ctm,\t\t\t\tconst cairo_matrix_t\t\
      \ *ctm_inverse,\t\t\t\tdouble\t\t\t tolerance,\t\t\t\tcairo_antialias_t\t antialias,\t\
      \t\t\tconst cairo_clip_t\t *clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1037
      start: 1031
    functionDepth: 0
    functionLinenumber: 1031
    functionLinenumberEnd: 1037
    functionName: _cairo_analysis_surface_has_supported
    functionSourceFile: /src/cairo/src/cairo-analysis-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t _cairo_analysis_surface_has_supported (cairo_surface_t
      *abstract_surface) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 7
    argCount: 5
    argNames:
    - surface
    - op
    - source
    - mask
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 1110
      start: 1090
    functionDepth: 0
    functionLinenumber: 1090
    functionLinenumberEnd: 1110
    functionName: _mask_return_success
    functionSourceFile: /src/cairo/src/cairo-analysis-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _mask_return_success (void\t\t\t*surface,\t\
      \t cairo_operator_t\t\t op,\t\t const cairo_pattern_t\t*source,\t\t const cairo_pattern_t\t\
      *mask,\t\t const cairo_clip_t\t*clip) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_get_extents
      Src: /src/cairo/src/cairo-analysis-surface.c:451,1
    - Dst: _cairo_pattern_get_extents
      Src: /src/cairo/src/cairo-analysis-surface.c:456,1
    - Dst: _cairo_operator_bounded_by_source
      Src: /src/cairo/src/cairo-analysis-surface.c:453,1
    - Dst: _cairo_rectangle_intersect
      Src: /src/cairo/src/cairo-analysis-surface.c:457,1
    - Dst: _rectangle_intersect_clip
      Src: /src/cairo/src/cairo-analysis-surface.c:460,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 5
    argNames:
    - surface
    - op
    - source
    - clip
    - extents
    argTypes:
    - cairo_analysis_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_clip_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 461
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 461
    functionName: _cairo_analysis_surface_operation_extents
    functionSourceFile: /src/cairo/src/cairo-analysis-surface.c
    functionUses: []
    functionsReached:
    - _cairo_rectangle_intersect
    - _rectangle_intersect_clip
    - _cairo_surface_get_extents
    - _cairo_pattern_get_extents
    - _cairo_operator_bounded_by_source
    linkageType: ''
    returnType: void
    signature: "static void _cairo_analysis_surface_operation_extents (cairo_analysis_surface_t\
      \ *surface,\t\t\t\t\t cairo_operator_t op,\t\t\t\t\t const cairo_pattern_t *source,\t\
      \t\t\t\t const cairo_clip_t *clip,\t\t\t\t\t cairo_rectangle_int_t *extents) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _analyze_recording_surface_pattern
      Src: /src/cairo/src/cairo-analysis-surface.c:673,1
    - Dst: _cairo_rectangle_intersect
      Src: /src/cairo/src/cairo-analysis-surface.c:678,1
    - Dst: _cairo_analysis_surface_operation_extents
      Src: /src/cairo/src/cairo-analysis-surface.c:668,1
    - Dst: _cairo_int_status_is_error
      Src: /src/cairo/src/cairo-analysis-surface.c:664,1
    - Dst: _cairo_operator_bounded_by_mask
      Src: /src/cairo/src/cairo-analysis-surface.c:681,1
    - Dst: _cairo_path_fixed_fill_extents
      Src: /src/cairo/src/cairo-analysis-surface.c:684,1
    - Dst: _cairo_rectangle_intersect
      Src: /src/cairo/src/cairo-analysis-surface.c:687,1
    - Dst: _add_operation
      Src: /src/cairo/src/cairo-analysis-surface.c:690,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 8
    argNames:
    - abstract_surface
    - op
    - source
    - path
    - fill_rule
    - tolerance
    - antialias
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 691
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 691
    functionName: _cairo_analysis_surface_fill
    functionSourceFile: /src/cairo/src/cairo-analysis-surface.c
    functionUses: []
    functionsReached:
    - _analyze_recording_surface_pattern
    - _cairo_analysis_surface_operation_extents
    - _cairo_int_status_is_error
    - _cairo_rectangle_intersect
    - _cairo_path_fixed_fill_extents
    - _add_operation
    - _cairo_operator_bounded_by_mask
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_analysis_surface_fill (void\t\t\t\
      *abstract_surface,\t\t\t cairo_operator_t\t\t op,\t\t\t const cairo_pattern_t\t\
      *source,\t\t\t const cairo_path_fixed_t\t*path,\t\t\t cairo_fill_rule_t\t\t\
      \ fill_rule,\t\t\t double\t\t\t tolerance,\t\t\t cairo_antialias_t\t\t antialias,\t\
      \t\t const cairo_clip_t\t*clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_has_show_text_glyphs
      Src: /src/cairo/src/cairo-analysis-surface.c:772,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 773
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 773
    functionName: _cairo_analysis_surface_has_show_text_glyphs
    functionSourceFile: /src/cairo/src/cairo-analysis-surface.c
    functionUses: []
    functionsReached:
    - cairo_surface_has_show_text_glyphs
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_analysis_surface_has_show_text_glyphs (void
      *abstract_surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - abstract_surface
    - recording_id
    - command_id
    argTypes:
    - void*
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 902
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 902
    functionName: _cairo_analysis_surface_command_id
    functionSourceFile: /src/cairo/src/cairo-analysis-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_analysis_surface_command_id (void\
      \ *abstract_surface,\t\t\t\t unsigned int recording_id,\t\t\t\t unsigned int\
      \ command_id) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-analysis-surface.c:952,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-analysis-surface.c:956,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-analysis-surface.c:953,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-analysis-surface.c:957,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-analysis-surface.c:955,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-analysis-surface.c:957,1
    - Dst: _cairo_surface_init
      Src: /src/cairo/src/cairo-analysis-surface.c:961,1
    - Dst: cairo_matrix_init_identity
      Src: /src/cairo/src/cairo-analysis-surface.c:967,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-analysis-surface.c:970,1
    - Dst: _cairo_region_init
      Src: /src/cairo/src/cairo-analysis-surface.c:979,1
    - Dst: _cairo_region_init
      Src: /src/cairo/src/cairo-analysis-surface.c:980,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 988
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 988
    functionName: _cairo_analysis_surface_create
    functionSourceFile: /src/cairo/src/cairo-analysis-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_init
    - _cairo_error
    - cairo_surface_reference
    - unlikely
    - cairo_matrix_init_identity
    - _cairo_surface_create_in_error
    - _cairo_region_init
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *_cairo_analysis_surface_create (cairo_surface_t\t\
      \t*target,\t\t\t\tcairo_bool_t create_region_ids) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1045
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1045
    functionName: _cairo_analysis_surface_has_unsupported
    functionSourceFile: /src/cairo/src/cairo-analysis-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t _cairo_analysis_surface_has_unsupported (cairo_surface_t
      *abstract_surface) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-analysis-surface.c:76,1
    - Dst: _cairo_int_status_is_error
      Src: /src/cairo/src/cairo-analysis-surface.c:77,1
    - Dst: _cairo_int_status_is_error
      Src: /src/cairo/src/cairo-analysis-surface.c:76,1
    - Dst: assert
      Src: /src/cairo/src/cairo-analysis-surface.c:77,1
    - Dst: assert
      Src: /src/cairo/src/cairo-analysis-surface.c:97,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - status_a
    - status_b
    argTypes:
    - cairo_int_status_t
    - cairo_int_status_t
    constantsTouched: []
    func_position:
      end: 101
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 101
    functionName: _cairo_analysis_surface_merge_status
    functionSourceFile: /src/cairo/src/cairo-analysis-surface.c
    functionUses: []
    functionsReached:
    - _cairo_int_status_is_error
    - assert
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_analysis_surface_merge_status (cairo_int_status_t\
      \ status_a,\t\t\t\t cairo_int_status_t status_b) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_analysis_surface_operation_extents
      Src: /src/cairo/src/cairo-analysis-surface.c:485,1
    - Dst: _cairo_int_status_is_error
      Src: /src/cairo/src/cairo-analysis-surface.c:481,1
    - Dst: _analyze_recording_surface_pattern
      Src: /src/cairo/src/cairo-analysis-surface.c:490,1
    - Dst: _cairo_rectangle_intersect
      Src: /src/cairo/src/cairo-analysis-surface.c:495,1
    - Dst: _add_operation
      Src: /src/cairo/src/cairo-analysis-surface.c:498,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 4
    argNames:
    - abstract_surface
    - op
    - source
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 499
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 499
    functionName: _cairo_analysis_surface_paint
    functionSourceFile: /src/cairo/src/cairo-analysis-surface.c
    functionUses: []
    functionsReached:
    - _analyze_recording_surface_pattern
    - _cairo_analysis_surface_operation_extents
    - _cairo_int_status_is_error
    - _cairo_rectangle_intersect
    - _add_operation
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_analysis_surface_paint (void\t\t\t\
      *abstract_surface,\t\t\t cairo_operator_t\t\top,\t\t\t const cairo_pattern_t\t\
      *source,\t\t\t const cairo_clip_t\t*clip) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_analysis_surface_operation_extents
      Src: /src/cairo/src/cairo-analysis-surface.c:739,1
    - Dst: _cairo_int_status_is_error
      Src: /src/cairo/src/cairo-analysis-surface.c:717,1
    - Dst: _cairo_int_status_is_error
      Src: /src/cairo/src/cairo-analysis-surface.c:731,1
    - Dst: _analyze_recording_surface_pattern
      Src: /src/cairo/src/cairo-analysis-surface.c:744,1
    - Dst: _cairo_rectangle_intersect
      Src: /src/cairo/src/cairo-analysis-surface.c:749,1
    - Dst: _cairo_operator_bounded_by_mask
      Src: /src/cairo/src/cairo-analysis-surface.c:752,1
    - Dst: _cairo_scaled_font_glyph_device_extents
      Src: /src/cairo/src/cairo-analysis-surface.c:753,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-analysis-surface.c:758,1
    - Dst: _cairo_rectangle_intersect
      Src: /src/cairo/src/cairo-analysis-surface.c:761,1
    - Dst: _add_operation
      Src: /src/cairo/src/cairo-analysis-surface.c:764,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 7
    argNames:
    - abstract_surface
    - op
    - source
    - glyphs
    - num_glyphs
    - scaled_font
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_glyph_t*
    - int
    - cairo_scaled_font_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 765
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 765
    functionName: _cairo_analysis_surface_show_glyphs
    functionSourceFile: /src/cairo/src/cairo-analysis-surface.c
    functionUses: []
    functionsReached:
    - _analyze_recording_surface_pattern
    - _cairo_analysis_surface_operation_extents
    - _cairo_int_status_is_error
    - _cairo_rectangle_intersect
    - _cairo_scaled_font_glyph_device_extents
    - unlikely
    - _add_operation
    - _cairo_operator_bounded_by_mask
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_analysis_surface_show_glyphs (void\t\
      \t *abstract_surface,\t\t\t\t cairo_operator_t\t op,\t\t\t\t const cairo_pattern_t\
      \ *source,\t\t\t\t cairo_glyph_t\t *glyphs,\t\t\t\t int\t\t num_glyphs,\t\t\t\
      \t cairo_scaled_font_t *scaled_font,\t\t\t\t const cairo_clip_t *clip) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_analysis_surface_operation_extents
      Src: /src/cairo/src/cairo-analysis-surface.c:824,1
    - Dst: _cairo_int_status_is_error
      Src: /src/cairo/src/cairo-analysis-surface.c:820,1
    - Dst: _cairo_int_status_is_error
      Src: /src/cairo/src/cairo-analysis-surface.c:808,1
    - Dst: _analyze_recording_surface_pattern
      Src: /src/cairo/src/cairo-analysis-surface.c:829,1
    - Dst: _cairo_rectangle_intersect
      Src: /src/cairo/src/cairo-analysis-surface.c:834,1
    - Dst: _cairo_operator_bounded_by_mask
      Src: /src/cairo/src/cairo-analysis-surface.c:837,1
    - Dst: _cairo_scaled_font_glyph_device_extents
      Src: /src/cairo/src/cairo-analysis-surface.c:838,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-analysis-surface.c:843,1
    - Dst: _cairo_rectangle_intersect
      Src: /src/cairo/src/cairo-analysis-surface.c:846,1
    - Dst: _add_operation
      Src: /src/cairo/src/cairo-analysis-surface.c:849,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 28
    argCount: 12
    argNames:
    - abstract_surface
    - op
    - source
    - utf8
    - utf8_len
    - glyphs
    - num_glyphs
    - clusters
    - num_clusters
    - cluster_flags
    - scaled_font
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - char*
    - int
    - cairo_glyph_t*
    - int
    - cairo_text_cluster_t*
    - int
    - cairo_text_cluster_flags_t
    - cairo_scaled_font_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 850
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 850
    functionName: _cairo_analysis_surface_show_text_glyphs
    functionSourceFile: /src/cairo/src/cairo-analysis-surface.c
    functionUses: []
    functionsReached:
    - _analyze_recording_surface_pattern
    - _cairo_analysis_surface_operation_extents
    - _cairo_int_status_is_error
    - _cairo_rectangle_intersect
    - _cairo_scaled_font_glyph_device_extents
    - unlikely
    - _add_operation
    - _cairo_operator_bounded_by_mask
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_analysis_surface_show_text_glyphs\
      \ (void\t\t\t *abstract_surface,\t\t\t\t\t cairo_operator_t\t op,\t\t\t\t\t\
      \ const cairo_pattern_t\t *source,\t\t\t\t\t const char\t\t *utf8,\t\t\t\t\t\
      \ int\t\t\t utf8_len,\t\t\t\t\t cairo_glyph_t\t\t *glyphs,\t\t\t\t\t int\t\t\
      \t num_glyphs,\t\t\t\t\t const cairo_text_cluster_t *clusters,\t\t\t\t\t int\t\
      \t\t num_clusters,\t\t\t\t\t cairo_text_cluster_flags_t cluster_flags,\t\t\t\
      \t\t cairo_scaled_font_t\t *scaled_font,\t\t\t\t\t const cairo_clip_t\t\t *clip) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_matrix_is_identity
      Src: /src/cairo/src/cairo-analysis-surface.c:1002,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - abstract_surface
    - ctm
    argTypes:
    - cairo_surface_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 1003
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 1003
    functionName: _cairo_analysis_surface_set_ctm
    functionSourceFile: /src/cairo/src/cairo-analysis-surface.c
    functionUses: []
    functionsReached:
    - _cairo_matrix_is_identity
    linkageType: ''
    returnType: void
    signature: "void _cairo_analysis_surface_set_ctm (cairo_surface_t *abstract_surface,\t\
      \t\t\t const cairo_matrix_t *ctm) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - abstract_surface
    - bbox
    argTypes:
    - cairo_surface_t*
    - cairo_box_t*
    constantsTouched: []
    func_position:
      end: 1054
      start: 1047
    functionDepth: 0
    functionLinenumber: 1047
    functionLinenumberEnd: 1054
    functionName: _cairo_analysis_surface_get_bounding_box
    functionSourceFile: /src/cairo/src/cairo-analysis-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _cairo_analysis_surface_get_bounding_box (cairo_surface_t *abstract_surface,\t\
      \t\t\t\t cairo_box_t *bbox) "
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 4
    argNames:
    - abstract_surface
    - begin
    - tag_name
    - attributes
    argTypes:
    - void*
    - cairo_bool_t
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 875
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 875
    functionName: _cairo_analysis_surface_tag
    functionSourceFile: /src/cairo/src/cairo-analysis-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_analysis_surface_tag (void\t *abstract_surface,\t\
      \t\t cairo_bool_t begin,\t\t\t const char *tag_name,\t\t\t const char *attributes) "
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 4
    argCount: 10
    argNames:
    - surface
    - op
    - source
    - path
    - style
    - ctm
    - ctm_inverse
    - tolerance
    - antialias
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 1131
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1131
    functionName: _stroke_return_success
    functionSourceFile: /src/cairo/src/cairo-analysis-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _stroke_return_success (void\t\t\t\t*surface,\t\
      \t\tcairo_operator_t\t\t op,\t\t\tconst cairo_pattern_t\t\t*source,\t\t\tconst\
      \ cairo_path_fixed_t\t*path,\t\t\tconst cairo_stroke_style_t\t*style,\t\t\t\
      const cairo_matrix_t\t\t*ctm,\t\t\tconst cairo_matrix_t\t\t*ctm_inverse,\t\t\
      \tdouble\t\t\t\t tolerance,\t\t\tcairo_antialias_t\t\t antialias,\t\t\tconst\
      \ cairo_clip_t\t\t*clip) "
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 4
    argCount: 7
    argNames:
    - surface
    - op
    - source
    - glyphs
    - num_glyphs
    - scaled_font
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_glyph_t*
    - int
    - cairo_scaled_font_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 1168
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1168
    functionName: _show_glyphs_return_success
    functionSourceFile: /src/cairo/src/cairo-analysis-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _show_glyphs_return_success (void\t\t\t\
      *surface,\t\t\t cairo_operator_t\t\t op,\t\t\t const cairo_pattern_t\t*source,\t\
      \t\t cairo_glyph_t\t\t*glyphs,\t\t\t int\t\t\t num_glyphs,\t\t\t cairo_scaled_font_t\t\
      *scaled_font,\t\t\t const cairo_clip_t\t\t*clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: proxy_finish
    functionSourceFile: /src/cairo/src/cairo-analysis-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t proxy_finish (void *abstract_surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - abstract_surface
    - scaled_font
    - glyph_index
    argTypes:
    - void*
    - cairo_scaled_font_t*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 883
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 883
    functionName: _cairo_analysis_surface_supports_color_glyph
    functionSourceFile: /src/cairo/src/cairo-analysis-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_analysis_surface_supports_color_glyph (void
      *abstract_surface, cairo_scaled_font_t *scaled_font, unsigned long glyph_index) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 8
    argNames:
    - surface
    - op
    - source
    - path
    - fill_rule
    - tolerance
    - antialias
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 1150
      start: 1133
    functionDepth: 0
    functionLinenumber: 1133
    functionLinenumberEnd: 1150
    functionName: _fill_return_success
    functionSourceFile: /src/cairo/src/cairo-analysis-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _fill_return_success (void\t\t\t*surface,\t\
      \t cairo_operator_t\t\t op,\t\t const cairo_pattern_t\t*source,\t\t const cairo_path_fixed_t\t\
      *path,\t\t cairo_fill_rule_t\t\t fill_rule,\t\t double\t\t\t tolerance,\t\t\
      \ cairo_antialias_t\t\t antialias,\t\t const cairo_clip_t\t*clip) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-analysis-surface.c:1215,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-analysis-surface.c:1217,1
    - Dst: _cairo_surface_init
      Src: /src/cairo/src/cairo-analysis-surface.c:1220,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-analysis-surface.c:1217,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-analysis-surface.c:1216,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1210
    functionDepth: 0
    functionLinenumber: 1210
    functionLinenumberEnd: 1227
    functionName: _cairo_null_surface_create
    functionSourceFile: /src/cairo/src/cairo-analysis-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_init
    - _cairo_error
    - _cairo_surface_create_in_error
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'cairo_surface_t *_cairo_null_surface_create (cairo_content_t content) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_REFERENCE_COUNT_GET_VALUE
      Src: /src/cairo/src/cairo-font-face.c:141,1
    - Dst: _cairo_atomic_int_cmpxchg_return_old
      Src: /src/cairo/src/cairo-font-face.c:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - v
    argTypes:
    - cairo_reference_count_t*
    constantsTouched: []
    func_position:
      end: 146
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 146
    functionName: __put
    functionSourceFile: /src/cairo/src/cairo-font-face.c
    functionUses: []
    functionsReached:
    - _cairo_atomic_int_cmpxchg_return_old
    - CAIRO_REFERENCE_COUNT_GET_VALUE
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static inline cairo_bool_t __put(cairo_reference_count_t *v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_MUTEX_INITIALIZE
      Src: /src/cairo/src/cairo-font-face.c:95,1
    - Dst: CAIRO_REFERENCE_COUNT_INIT
      Src: /src/cairo/src/cairo-font-face.c:98,1
    - Dst: _cairo_user_data_array_init
      Src: /src/cairo/src/cairo-font-face.c:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - font_face
    - backend
    argTypes:
    - cairo_font_face_t*
    - cairo_font_face_backend_t*
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: _cairo_font_face_init
    functionSourceFile: /src/cairo/src/cairo-font-face.c
    functionUses: []
    functionsReached:
    - CAIRO_MUTEX_INITIALIZE
    - CAIRO_REFERENCE_COUNT_INIT
    - _cairo_user_data_array_init
    linkageType: ''
    returnType: void
    signature: "void _cairo_font_face_init (cairo_font_face_t *font_face,\t\t const\
      \ cairo_font_face_backend_t *backend) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_REFERENCE_COUNT_IS_INVALID
      Src: /src/cairo/src/cairo-font-face.c:206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - font_face
    argTypes:
    - cairo_font_face_t*
    constantsTouched: []
    func_position:
      end: 210
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 210
    functionName: cairo_font_face_get_type
    functionSourceFile: /src/cairo/src/cairo-font-face.c
    functionUses: []
    functionsReached:
    - CAIRO_REFERENCE_COUNT_IS_INVALID
    linkageType: ''
    returnType: cairo_font_type_t
    signature: 'cairo_font_type_t cairo_font_face_get_type (cairo_font_face_t *font_face) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - font_face
    argTypes:
    - cairo_font_face_t*
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: cairo_font_face_status
    functionSourceFile: /src/cairo/src/cairo-font-face.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t cairo_font_face_status (cairo_font_face_t *font_face) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_REFERENCE_COUNT_IS_INVALID
      Src: /src/cairo/src/cairo-font-face.c:297,1
    - Dst: _cairo_user_data_array_set_data
      Src: /src/cairo/src/cairo-font-face.c:300,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - font_face
    - key
    - user_data
    - destroy
    argTypes:
    - cairo_font_face_t*
    - cairo_user_data_key_t*
    - void*
    - cairo_destroy_func_t
    constantsTouched: []
    func_position:
      end: 302
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 302
    functionName: cairo_font_face_set_user_data
    functionSourceFile: /src/cairo/src/cairo-font-face.c
    functionUses: []
    functionsReached:
    - _cairo_user_data_array_set_data
    - CAIRO_REFERENCE_COUNT_IS_INVALID
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t cairo_font_face_set_user_data (cairo_font_face_t\t\
      \ *font_face,\t\t\t const cairo_user_data_key_t *key,\t\t\t void\t\t\t *user_data,\t\
      \t\t cairo_destroy_func_t\t destroy) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_REFERENCE_COUNT_INIT
      Src: /src/cairo/src/cairo-font-face.c:308,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - unscaled_font
    - backend
    argTypes:
    - cairo_unscaled_font_t*
    - cairo_unscaled_font_backend_t*
    constantsTouched: []
    func_position:
      end: 310
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 310
    functionName: _cairo_unscaled_font_init
    functionSourceFile: /src/cairo/src/cairo-font-face.c
    functionUses: []
    functionsReached:
    - CAIRO_REFERENCE_COUNT_INIT
    linkageType: ''
    returnType: void
    signature: "void _cairo_unscaled_font_init (cairo_unscaled_font_t *unscaled_font,\t\
      \t\t const cairo_unscaled_font_backend_t *backend) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_status_set_error
      Src: /src/cairo/src/cairo-font-face.c:86,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-font-face.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - font_face
    - status
    argTypes:
    - cairo_font_face_t*
    - cairo_status_t
    constantsTouched: []
    func_position:
      end: 89
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 89
    functionName: _cairo_font_face_set_error
    functionSourceFile: /src/cairo/src/cairo-font-face.c
    functionUses: []
    functionsReached:
    - _cairo_status_set_error
    - _cairo_error
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_font_face_set_error (cairo_font_face_t *font_face,\t\
      \ cairo_status_t status) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_reference_count_dec_and_test
      Src: /src/cairo/src/cairo-font-face.c:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - abstract_face
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 156
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 156
    functionName: _cairo_font_face_destroy
    functionSourceFile: /src/cairo/src/cairo-font-face.c
    functionUses: []
    functionsReached:
    - _cairo_reference_count_dec_and_test
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t _cairo_font_face_destroy (void *abstract_face) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-font-face.c:318,1
    - Dst: CAIRO_REFERENCE_COUNT_HAS_REFERENCE
      Src: /src/cairo/src/cairo-font-face.c:318,1
    - Dst: _cairo_reference_count_inc
      Src: /src/cairo/src/cairo-font-face.c:320,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 323
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 323
    functionName: _cairo_unscaled_font_reference
    functionSourceFile: /src/cairo/src/cairo-font-face.c
    functionUses: []
    functionsReached:
    - _cairo_reference_count_inc
    - CAIRO_REFERENCE_COUNT_HAS_REFERENCE
    - assert
    linkageType: ''
    returnType: cairo_unscaled_font_t*
    signature: 'cairo_unscaled_font_t *_cairo_unscaled_font_reference (cairo_unscaled_font_t
      *unscaled_font) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-font-face.c:331,1
    - Dst: free
      Src: /src/cairo/src/cairo-font-face.c:339,1
    - Dst: CAIRO_REFERENCE_COUNT_HAS_REFERENCE
      Src: /src/cairo/src/cairo-font-face.c:331,1
    - Dst: __put
      Src: /src/cairo/src/cairo-font-face.c:333,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - unscaled_font
    argTypes:
    - cairo_unscaled_font_t*
    constantsTouched: []
    func_position:
      end: 340
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 340
    functionName: _cairo_unscaled_font_destroy
    functionSourceFile: /src/cairo/src/cairo-font-face.c
    functionUses: []
    functionsReached:
    - free
    - CAIRO_REFERENCE_COUNT_HAS_REFERENCE
    - __put
    - assert
    linkageType: ''
    returnType: void
    signature: 'void _cairo_unscaled_font_destroy (cairo_unscaled_font_t *unscaled_font) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_REFERENCE_COUNT_IS_INVALID
      Src: /src/cairo/src/cairo-font-face.c:124,1
    - Dst: _cairo_reference_count_inc
      Src: /src/cairo/src/cairo-font-face.c:131,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 134
    functionName: cairo_font_face_reference
    functionSourceFile: /src/cairo/src/cairo-font-face.c
    functionUses: []
    functionsReached:
    - _cairo_reference_count_inc
    - CAIRO_REFERENCE_COUNT_IS_INVALID
    linkageType: ''
    returnType: cairo_font_face_t*
    signature: 'cairo_font_face_t *cairo_font_face_reference (cairo_font_face_t *font_face) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_REFERENCE_COUNT_IS_INVALID
      Src: /src/cairo/src/cairo-font-face.c:172,1
    - Dst: __put
      Src: /src/cairo/src/cairo-font-face.c:181,1
    - Dst: assert
      Src: /src/cairo/src/cairo-font-face.c:175,1
    - Dst: CAIRO_REFERENCE_COUNT_HAS_REFERENCE
      Src: /src/cairo/src/cairo-font-face.c:175,1
    - Dst: _cairo_user_data_array_fini
      Src: /src/cairo/src/cairo-font-face.c:187,1
    - Dst: free
      Src: /src/cairo/src/cairo-font-face.c:189,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - font_face
    argTypes:
    - cairo_font_face_t*
    constantsTouched: []
    func_position:
      end: 190
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 190
    functionName: cairo_font_face_destroy
    functionSourceFile: /src/cairo/src/cairo-font-face.c
    functionUses: []
    functionsReached:
    - free
    - CAIRO_REFERENCE_COUNT_IS_INVALID
    - assert
    - _cairo_user_data_array_fini
    - CAIRO_REFERENCE_COUNT_HAS_REFERENCE
    - __put
    linkageType: ''
    returnType: void
    signature: 'void cairo_font_face_destroy (cairo_font_face_t *font_face) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_REFERENCE_COUNT_IS_INVALID
      Src: /src/cairo/src/cairo-font-face.c:227,1
    - Dst: CAIRO_REFERENCE_COUNT_GET_VALUE
      Src: /src/cairo/src/cairo-font-face.c:230,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - font_face
    argTypes:
    - cairo_font_face_t*
    constantsTouched: []
    func_position:
      end: 231
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 231
    functionName: cairo_font_face_get_reference_count
    functionSourceFile: /src/cairo/src/cairo-font-face.c
    functionUses: []
    functionsReached:
    - CAIRO_REFERENCE_COUNT_IS_INVALID
    - CAIRO_REFERENCE_COUNT_GET_VALUE
    linkageType: ''
    returnType: unsigned int
    signature: 'unsigned int cairo_font_face_get_reference_count (cairo_font_face_t
      *font_face) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_user_data_array_get_data
      Src: /src/cairo/src/cairo-font-face.c:269,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 271
    functionName: cairo_font_face_get_user_data
    functionSourceFile: /src/cairo/src/cairo-font-face.c
    functionUses: []
    functionsReached:
    - _cairo_user_data_array_get_data
    linkageType: ''
    returnType: void*
    signature: "void *cairo_font_face_get_user_data (cairo_font_face_t\t *font_face,\t\
      \t\t const cairo_user_data_key_t *key) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-clip-boxes.c:65,1
    - Dst: _cairo_rectangle_contains_rectangle
      Src: /src/cairo/src/cairo-clip-boxes.c:72,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 17
    argCount: 3
    argNames:
    - clip
    - rect
    - box
    argTypes:
    - cairo_clip_t*
    - cairo_rectangle_int_t*
    - cairo_box_t*
    constantsTouched: []
    func_position:
      end: 90
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 90
    functionName: _cairo_clip_contains_rectangle_box
    functionSourceFile: /src/cairo/src/cairo-clip-boxes.c
    functionUses: []
    functionsReached:
    - _cairo_rectangle_contains_rectangle
    - _cairo_clip_is_all_clipped
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _cairo_clip_contains_rectangle_box (const cairo_clip_t\
      \ *clip,\t\t\t\t const cairo_rectangle_int_t *rect,\t\t\t\t const cairo_box_t\
      \ *box) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_box_from_rectangle_int
      Src: /src/cairo/src/cairo-clip-boxes.c:108,1
    - Dst: _cairo_clip_contains_rectangle_box
      Src: /src/cairo/src/cairo-clip-boxes.c:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - clip
    - rect
    argTypes:
    - cairo_clip_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 110
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 110
    functionName: _cairo_clip_contains_rectangle
    functionSourceFile: /src/cairo/src/cairo-clip-boxes.c
    functionUses: []
    functionsReached:
    - _cairo_box_from_rectangle_int
    - _cairo_clip_contains_rectangle_box
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t _cairo_clip_contains_rectangle (const cairo_clip_t *clip,\t\
      \t\t\tconst cairo_rectangle_int_t *rect) "
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_create
      Src: /src/cairo/src/cairo-clip-boxes.c:145,1
    - Dst: _cairo_clip_set_all_clipped
      Src: /src/cairo/src/cairo-clip-boxes.c:147,1
    - Dst: _cairo_box_is_pixel_aligned
      Src: /src/cairo/src/cairo-clip-boxes.c:161,1
    - Dst: _cairo_clip_set_all_clipped
      Src: /src/cairo/src/cairo-clip-boxes.c:158,1
    - Dst: _cairo_rectangle_intersect
      Src: /src/cairo/src/cairo-clip-boxes.c:157,1
    - Dst: _cairo_clip_set_all_clipped
      Src: /src/cairo/src/cairo-clip-boxes.c:198,1
    - Dst: _cairo_box_round_to_rectangle
      Src: /src/cairo/src/cairo-clip-boxes.c:219,1
    - Dst: _cairo_box_round_to_rectangle
      Src: /src/cairo/src/cairo-clip-boxes.c:223,1
    - Dst: _cairo_rectangle_intersect
      Src: /src/cairo/src/cairo-clip-boxes.c:224,1
    - Dst: _cairo_clip_set_all_clipped
      Src: /src/cairo/src/cairo-clip-boxes.c:225,1
    - Dst: cairo_region_destroy
      Src: /src/cairo/src/cairo-clip-boxes.c:229,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 82
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 235
    functionName: _cairo_clip_intersect_rectangle_box
    functionSourceFile: /src/cairo/src/cairo-clip-boxes.c
    functionUses: []
    functionsReached:
    - _cairo_box_round_to_rectangle
    - _cairo_rectangle_intersect
    - cairo_region_destroy
    - _cairo_clip_create
    - _cairo_clip_set_all_clipped
    - _cairo_box_is_pixel_aligned
    linkageType: ''
    returnType: cairo_clip_t*
    signature: "static cairo_clip_t *_cairo_clip_intersect_rectangle_box (cairo_clip_t\
      \ *clip,\t\t\t\t const cairo_rectangle_int_t *r,\t\t\t\t const cairo_box_t *box) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_boxes_to_array
      Src: /src/cairo/src/cairo-clip-boxes.c:271,1
    - Dst: _cairo_clip_set_all_clipped
      Src: /src/cairo/src/cairo-clip-boxes.c:274,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-clip-boxes.c:272,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - boxes
    - clip
    argTypes:
    - cairo_boxes_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 279
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 279
    functionName: _cairo_boxes_copy_to_clip
    functionSourceFile: /src/cairo/src/cairo-clip-boxes.c
    functionUses: []
    functionsReached:
    - _cairo_clip_set_all_clipped
    - _cairo_boxes_to_array
    - unlikely
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_boxes_copy_to_clip (const cairo_boxes_t
      *boxes, cairo_clip_t *clip) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-clip-boxes.c:354,1
    - Dst: _cairo_box_from_rectangle_int
      Src: /src/cairo/src/cairo-clip-boxes.c:360,1
    - Dst: _cairo_clip_set_all_clipped
      Src: /src/cairo/src/cairo-clip-boxes.c:358,1
    - Dst: _cairo_clip_intersect_rectangle_box
      Src: /src/cairo/src/cairo-clip-boxes.c:362,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 363
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 363
    functionName: _cairo_clip_intersect_rectangle
    functionSourceFile: /src/cairo/src/cairo-clip-boxes.c
    functionUses: []
    functionsReached:
    - _cairo_box_from_rectangle_int
    - _cairo_clip_intersect_rectangle_box
    - _cairo_clip_is_all_clipped
    - _cairo_clip_set_all_clipped
    linkageType: ''
    returnType: cairo_clip_t*
    signature: "cairo_clip_t *_cairo_clip_intersect_rectangle (cairo_clip_t *clip,\t\
      \t\t\t const cairo_rectangle_int_t *r) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_edge_compute_intersection_x_for_y
      Src: /src/cairo/src/cairo-clip-boxes.c:383,1
    - Dst: _cairo_edge_compute_intersection_x_for_y
      Src: /src/cairo/src/cairo-clip-boxes.c:387,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 5
    argNames:
    - r
    - p1
    - p2
    - y1
    - y2
    argTypes:
    - struct reduce*
    - cairo_point_t*
    - cairo_point_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 398
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 398
    functionName: _add_clipped_edge
    functionSourceFile: /src/cairo/src/cairo-clip-boxes.c
    functionUses: []
    functionsReached:
    - _cairo_edge_compute_intersection_x_for_y
    linkageType: ''
    returnType: void
    signature: "static void _add_clipped_edge (struct reduce *r,\t\t const cairo_point_t\
      \ *p1,\t\t const cairo_point_t *p2,\t\t int y1, int y2) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _add_edge
      Src: /src/cairo/src/cairo-clip-boxes.c:478,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - closure
    - point
    argTypes:
    - void*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 482
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 482
    functionName: _reduce_line_to
    functionSourceFile: /src/cairo/src/cairo-clip-boxes.c
    functionUses: []
    functionsReached:
    - _add_edge
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _reduce_line_to (void *closure,\t\t const cairo_point_t\
      \ *point) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _reduce_close
      Src: /src/cairo/src/cairo-clip-boxes.c:500,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - closure
    - point
    argTypes:
    - void*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 507
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 507
    functionName: _reduce_move_to
    functionSourceFile: /src/cairo/src/cairo-clip-boxes.c
    functionUses: []
    functionsReached:
    - _reduce_close
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _reduce_move_to (void *closure,\t\t const cairo_point_t\
      \ *point) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_box_round_to_rectangle
      Src: /src/cairo/src/cairo-clip-boxes.c:98,1
    - Dst: _cairo_clip_contains_rectangle_box
      Src: /src/cairo/src/cairo-clip-boxes.c:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - clip
    - box
    argTypes:
    - cairo_clip_t*
    - cairo_box_t*
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: _cairo_clip_contains_box
    functionSourceFile: /src/cairo/src/cairo-clip-boxes.c
    functionUses: []
    functionsReached:
    - _cairo_clip_contains_rectangle_box
    - _cairo_box_round_to_rectangle
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t _cairo_clip_contains_box (const cairo_clip_t *clip,\t\
      \t\t const cairo_box_t *box) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_boxes_init
      Src: /src/cairo/src/cairo-clip-boxes.c:121,1
    - Dst: likely
      Src: /src/cairo/src/cairo-clip-boxes.c:126,1
    - Dst: _cairo_clip_intersect_boxes
      Src: /src/cairo/src/cairo-clip-boxes.c:127,1
    - Dst: _cairo_path_fixed_fill_rectilinear_to_boxes
      Src: /src/cairo/src/cairo-clip-boxes.c:122,1
    - Dst: _cairo_clip_set_all_clipped
      Src: /src/cairo/src/cairo-clip-boxes.c:129,1
    - Dst: _cairo_boxes_fini
      Src: /src/cairo/src/cairo-clip-boxes.c:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 133
    functionName: _cairo_clip_intersect_rectilinear_path
    functionSourceFile: /src/cairo/src/cairo-clip-boxes.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_fill_rectilinear_to_boxes
    - _cairo_boxes_init
    - _cairo_clip_intersect_boxes
    - _cairo_clip_set_all_clipped
    - likely
    - _cairo_boxes_fini
    linkageType: ''
    returnType: cairo_clip_t*
    signature: "cairo_clip_t *_cairo_clip_intersect_rectilinear_path (cairo_clip_t\
      \ *clip,\t\t\t\t\tconst cairo_path_fixed_t *path,\t\t\t\t\tcairo_fill_rule_t\
      \ fill_rule,\t\t\t\t\tcairo_antialias_t antialias) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-clip-boxes.c:243,1
    - Dst: _cairo_clip_intersect_rectangle_box
      Src: /src/cairo/src/cairo-clip-boxes.c:250,1
    - Dst: _cairo_clip_set_all_clipped
      Src: /src/cairo/src/cairo-clip-boxes.c:248,1
    - Dst: _cairo_box_round_to_rectangle
      Src: /src/cairo/src/cairo-clip-boxes.c:246,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 251
    functionName: _cairo_clip_intersect_box
    functionSourceFile: /src/cairo/src/cairo-clip-boxes.c
    functionUses: []
    functionsReached:
    - _cairo_clip_set_all_clipped
    - _cairo_clip_intersect_rectangle_box
    - _cairo_clip_is_all_clipped
    - _cairo_box_round_to_rectangle
    linkageType: ''
    returnType: cairo_clip_t*
    signature: "cairo_clip_t *_cairo_clip_intersect_box (cairo_clip_t *clip,\t\t\t\
      \ const cairo_box_t *box) "
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-clip-boxes.c:289,1
    - Dst: _cairo_clip_set_all_clipped
      Src: /src/cairo/src/cairo-clip-boxes.c:293,1
    - Dst: _cairo_clip_create
      Src: /src/cairo/src/cairo-clip-boxes.c:299,1
    - Dst: _cairo_clip_intersect_box
      Src: /src/cairo/src/cairo-clip-boxes.c:296,1
    - Dst: _cairo_boxes_init_for_array
      Src: /src/cairo/src/cairo-clip-boxes.c:302,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-clip-boxes.c:303,1
    - Dst: _cairo_boxes_intersect
      Src: /src/cairo/src/cairo-clip-boxes.c:303,1
    - Dst: _cairo_clip_set_all_clipped
      Src: /src/cairo/src/cairo-clip-boxes.c:304,1
    - Dst: free
      Src: /src/cairo/src/cairo-clip-boxes.c:309,1
    - Dst: _cairo_clip_set_all_clipped
      Src: /src/cairo/src/cairo-clip-boxes.c:316,1
    - Dst: cairo_region_destroy
      Src: /src/cairo/src/cairo-clip-boxes.c:336,1
    - Dst: _cairo_rectangle_intersect
      Src: /src/cairo/src/cairo-clip-boxes.c:330,1
    - Dst: _cairo_clip_set_all_clipped
      Src: /src/cairo/src/cairo-clip-boxes.c:321,1
    - Dst: _cairo_boxes_fini
      Src: /src/cairo/src/cairo-clip-boxes.c:343,1
    - Dst: _cairo_box_round_to_rectangle
      Src: /src/cairo/src/cairo-clip-boxes.c:327,1
    - Dst: _cairo_boxes_copy_to_clip
      Src: /src/cairo/src/cairo-clip-boxes.c:320,1
    - Dst: _cairo_clip_set_all_clipped
      Src: /src/cairo/src/cairo-clip-boxes.c:331,1
    - Dst: _cairo_boxes_extents
      Src: /src/cairo/src/cairo-clip-boxes.c:325,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 346
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 346
    functionName: _cairo_clip_intersect_boxes
    functionSourceFile: /src/cairo/src/cairo-clip-boxes.c
    functionUses: []
    functionsReached:
    - _cairo_boxes_copy_to_clip
    - _cairo_box_round_to_rectangle
    - free
    - _cairo_rectangle_intersect
    - cairo_region_destroy
    - _cairo_clip_is_all_clipped
    - _cairo_clip_create
    - _cairo_boxes_init_for_array
    - _cairo_clip_intersect_box
    - _cairo_boxes_extents
    - _cairo_clip_set_all_clipped
    - _cairo_boxes_intersect
    - _cairo_boxes_fini
    - unlikely
    linkageType: ''
    returnType: cairo_clip_t*
    signature: "cairo_clip_t *_cairo_clip_intersect_boxes (cairo_clip_t *clip,\t\t\
      \t const cairo_boxes_t *boxes) "
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_edge_compute_intersection_y_for_x
      Src: /src/cairo/src/cairo-clip-boxes.c:444,1
    - Dst: _cairo_edge_compute_intersection_y_for_x
      Src: /src/cairo/src/cairo-clip-boxes.c:446,1
    - Dst: _add_clipped_edge
      Src: /src/cairo/src/cairo-clip-boxes.c:468,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 55
    argCount: 3
    argNames:
    - r
    - p1
    - p2
    argTypes:
    - struct reduce*
    - cairo_point_t*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 470
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 470
    functionName: _add_edge
    functionSourceFile: /src/cairo/src/cairo-clip-boxes.c
    functionUses: []
    functionsReached:
    - _add_clipped_edge
    - _cairo_edge_compute_intersection_y_for_x
    linkageType: ''
    returnType: void
    signature: "static void _add_edge (struct reduce *r,\t const cairo_point_t *p1,\t\
      \ const cairo_point_t *p2) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _reduce_line_to
      Src: /src/cairo/src/cairo-clip-boxes.c:489,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - closure
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 490
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 490
    functionName: _reduce_close
    functionSourceFile: /src/cairo/src/cairo-clip-boxes.c
    functionUses: []
    functionsReached:
    - _reduce_line_to
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _reduce_close (void *closure) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-clip-boxes.c:525,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-clip-boxes.c:527,1
    - Dst: _cairo_path_fixed_interpret_flat
      Src: /src/cairo/src/cairo-clip-boxes.c:536,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-clip-boxes.c:526,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-clip-boxes.c:528,1
    - Dst: assert
      Src: /src/cairo/src/cairo-clip-boxes.c:542,1
    - Dst: _reduce_close
      Src: /src/cairo/src/cairo-clip-boxes.c:543,1
    - Dst: _cairo_clip_path_destroy
      Src: /src/cairo/src/cairo-clip-boxes.c:547,1
    - Dst: _cairo_clip_intersect_box
      Src: /src/cairo/src/cairo-clip-boxes.c:551,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 552
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 552
    functionName: _cairo_clip_reduce_to_boxes
    functionSourceFile: /src/cairo/src/cairo-clip-boxes.c
    functionUses: []
    functionsReached:
    - _reduce_close
    - _cairo_clip_path_destroy
    - _cairo_path_fixed_interpret_flat
    - assert
    - _cairo_clip_intersect_box
    - _cairo_fixed_from_int
    linkageType: ''
    returnType: cairo_clip_t*
    signature: 'static cairo_clip_t *_cairo_clip_reduce_to_boxes (cairo_clip_t *clip) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-clip-boxes.c:560,1
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-clip-boxes.c:567,1
    - Dst: _cairo_clip_intersect_rectangle
      Src: /src/cairo/src/cairo-clip-boxes.c:564,1
    - Dst: _cairo_clip_contains_rectangle
      Src: /src/cairo/src/cairo-clip-boxes.c:563,1
    - Dst: _cairo_clip_copy_intersect_rectangle
      Src: /src/cairo/src/cairo-clip-boxes.c:566,1
    - Dst: _cairo_clip_reduce_to_boxes
      Src: /src/cairo/src/cairo-clip-boxes.c:570,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 571
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 571
    functionName: _cairo_clip_reduce_to_rectangle
    functionSourceFile: /src/cairo/src/cairo-clip-boxes.c
    functionUses: []
    functionsReached:
    - _cairo_clip_intersect_rectangle
    - _cairo_clip_copy_intersect_rectangle
    - _cairo_clip_is_all_clipped
    - _cairo_clip_reduce_to_boxes
    - _cairo_clip_contains_rectangle
    linkageType: ''
    returnType: cairo_clip_t*
    signature: "cairo_clip_t *_cairo_clip_reduce_to_rectangle (const cairo_clip_t\
      \ *clip,\t\t\t\t const cairo_rectangle_int_t *r) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_reduce_to_rectangle
      Src: /src/cairo/src/cairo-clip-boxes.c:580,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 581
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 581
    functionName: _cairo_clip_reduce_for_composite
    functionSourceFile: /src/cairo/src/cairo-clip-boxes.c
    functionUses: []
    functionsReached:
    - _cairo_clip_reduce_to_rectangle
    linkageType: ''
    returnType: cairo_clip_t*
    signature: "cairo_clip_t *_cairo_clip_reduce_for_composite (const cairo_clip_t\
      \ *clip,\t\t\t\t cairo_composite_rectangles_t *extents) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_create
      Src: /src/cairo/src/cairo-clip-boxes.c:587,1
    - Dst: _cairo_boxes_extents
      Src: /src/cairo/src/cairo-clip-boxes.c:594,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-clip-boxes.c:591,1
    - Dst: _cairo_clip_set_all_clipped
      Src: /src/cairo/src/cairo-clip-boxes.c:589,1
    - Dst: _cairo_boxes_copy_to_clip
      Src: /src/cairo/src/cairo-clip-boxes.c:591,1
    - Dst: _cairo_box_round_to_rectangle
      Src: /src/cairo/src/cairo-clip-boxes.c:595,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 598
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 598
    functionName: _cairo_clip_from_boxes
    functionSourceFile: /src/cairo/src/cairo-clip-boxes.c
    functionUses: []
    functionsReached:
    - _cairo_boxes_copy_to_clip
    - _cairo_box_round_to_rectangle
    - _cairo_clip_create
    - _cairo_boxes_extents
    - _cairo_clip_set_all_clipped
    - unlikely
    linkageType: ''
    returnType: cairo_clip_t*
    signature: 'cairo_clip_t *_cairo_clip_from_boxes (const cairo_boxes_t *boxes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - surface
    - flags
    argTypes:
    - cairo_surface_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: __cairo_surface_flush
    functionSourceFile: /src/cairo/src/cairo-surface-inline.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static inline cairo_status_t __cairo_surface_flush (cairo_surface_t
      *surface, unsigned flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_REFERENCE_COUNT_IS_INVALID
      Src: /src/cairo/src/cairo-surface-inline.h:54,1
    - Dst: _cairo_reference_count_inc
      Src: /src/cairo/src/cairo-surface-inline.h:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: _cairo_surface_reference
    functionSourceFile: /src/cairo/src/cairo-surface-inline.h
    functionUses: []
    functionsReached:
    - _cairo_reference_count_inc
    - CAIRO_REFERENCE_COUNT_IS_INVALID
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static inline cairo_surface_t *_cairo_surface_reference (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - abstract_surface
    - force_fallbacks
    argTypes:
    - void*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: _cairo_svg_surface_set_force_fallbacks
    functionSourceFile: /src/cairo/src/cairo-svg-surface-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static inline void _cairo_svg_surface_set_force_fallbacks (void *abstract_surface,\t\
      \t\t\t\tcairo_bool_t force_fallbacks) "
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: copy_image_boxes
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:258,1
    - Dst: _cairo_xlib_surface_get_shm
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:264,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:272,1
    - Dst: _cairo_damage_add_rectangle
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:295,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:318,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:323,1
    - Dst: pixman_blt
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:328,1
    - Dst: PIXMAN_FORMAT_BPP
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:332,1
    - Dst: copy_image_boxes
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:352,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:365,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:273,1
    - Dst: _cairo_box_round_to_rectangle
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:310,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:286,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:325,1
    - Dst: _cairo_xlib_surface_draw_image
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:368,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:379,1
    - Dst: _cairo_xlib_shm_surface_get_pixmap
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:351,1
    - Dst: boxes_cover_surface
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:263,1
    - Dst: PIXMAN_FORMAT_BPP
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:280,1
    - Dst: _cairo_boxes_extents
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:309,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:364,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:366,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:367,1
    - Dst: _cairo_xlib_shm_surface_get_pixmap
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:257,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:271,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:274,1
    - Dst: pixman_blt
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:277,1
    - Dst: _cairo_xlib_surface_create_shm
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:313,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:324,1
    - Dst: PIXMAN_FORMAT_BPP
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:281,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:326,1
    - Dst: PIXMAN_FORMAT_BPP
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:331,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:337,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 114
    argCount: 5
    argNames:
    - _dst
    - image
    - boxes
    - dx
    - dy
    argTypes:
    - void*
    - cairo_image_surface_t*
    - cairo_boxes_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 381
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 381
    functionName: draw_image_boxes
    functionSourceFile: /src/cairo/src/cairo-xlib-render-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_surface_get_shm
    - _cairo_box_round_to_rectangle
    - _cairo_fixed_integer_part
    - _cairo_xlib_surface_draw_image
    - _cairo_damage_add_rectangle
    - pixman_blt
    - pixman_image_composite32
    - boxes_cover_surface
    - _cairo_xlib_surface_create_shm
    - assert
    - PIXMAN_FORMAT_BPP
    - _cairo_xlib_shm_surface_get_pixmap
    - _cairo_boxes_extents
    - cairo_surface_destroy
    - copy_image_boxes
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t draw_image_boxes (void *_dst,\t\t cairo_image_surface_t\
      \ *image,\t\t cairo_boxes_t *boxes,\t\t int dx, int dy) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xlib_surface_ensure_picture
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:831,1
    - Dst: XRenderComposite
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:838,1
    - Dst: XRenderComposite
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:832,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 11
    argNames:
    - abstract_dst
    - abstract_src
    - abstract_mask
    - src_x
    - src_y
    - mask_x
    - mask_y
    - dst_x
    - dst_y
    - width
    - height
    argTypes:
    - void*
    - cairo_surface_t*
    - cairo_surface_t*
    - int
    - int
    - int
    - int
    - int
    - int
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 846
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 846
    functionName: lerp
    functionSourceFile: /src/cairo/src/cairo-xlib-render-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_surface_ensure_picture
    - XRenderComposite
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t lerp (void *abstract_dst, cairo_surface_t\t\
      *abstract_src, cairo_surface_t\t*abstract_mask, int\t\t\tsrc_x, int\t\t\tsrc_y,\
      \ int\t\t\tmask_x, int\t\t\tmask_y, int\t\t\tdst_x, int\t\t\tdst_y, unsigned\
      \ int\t\twidth, unsigned int\t\theight) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_atomic_init_once_enter
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1740,1
    - Dst: _cairo_xlib_fallback_compositor_get
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1742,1
    - Dst: _cairo_mask_compositor_init
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1741,1
    - Dst: _cairo_atomic_init_once_leave
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1759,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1763
      start: 1734
    functionDepth: 0
    functionLinenumber: 1734
    functionLinenumberEnd: 1763
    functionName: _cairo_xlib_mask_compositor_get
    functionSourceFile: /src/cairo/src/cairo-xlib-render-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_atomic_init_once_leave
    - _cairo_atomic_init_once_enter
    - _cairo_xlib_fallback_compositor_get
    - _cairo_mask_compositor_init
    linkageType: ''
    returnType: cairo_compositor_t*
    signature: 'const cairo_compositor_t *_cairo_xlib_mask_compositor_get (void) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:417,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:432,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:467,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:468,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:486,1
    - Dst: _cairo_xlib_shm_surface_mark_active
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:503,1
    - Dst: _cairo_xlib_surface_put_gc
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:511,1
    - Dst: XSetClipRectangles
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:488,1
    - Dst: XCopyArea
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:490,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:415,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:454,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:465,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:477,1
    - Dst: XSetClipMask
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:495,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:405,1
    - Dst: _cairo_xlib_surface_get_gc
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:408,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:409,1
    - Dst: acquire
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:404,1
    - Dst: _cairo_xlib_shm_surface_get_pixmap
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:416,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:431,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:453,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:430,1
    - Dst: XCopyArea
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:455,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:466,1
    - Dst: release
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:512,1
    - Dst: _cairo_xlib_surface_same_screen
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:398,1
    - Dst: release
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:410,1
    - Dst: XChangeGC
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:423,1
    - Dst: XCopyArea
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:434,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:429,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:452,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:451,1
    - Dst: CAIRO_STACK_ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:462,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:474,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:475,1
    - Dst: XChangeGC
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:508,1
    - Dst: free
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:498,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:476,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 104
    argCount: 6
    argNames:
    - _dst
    - _src
    - boxes
    - extents
    - dx
    - dy
    argTypes:
    - void*
    - cairo_surface_t*
    - cairo_boxes_t*
    - cairo_rectangle_int_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 514
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 514
    functionName: copy_boxes
    functionSourceFile: /src/cairo/src/cairo-xlib-render-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_surface_put_gc
    - _cairo_fixed_integer_part
    - _cairo_error
    - XSetClipMask
    - unlikely
    - _cairo_xlib_shm_surface_mark_active
    - _cairo_xlib_surface_same_screen
    - _cairo_xlib_surface_get_gc
    - XCopyArea
    - ARRAY_LENGTH
    - assert
    - XChangeGC
    - release
    - free
    - _cairo_xlib_shm_surface_get_pixmap
    - XSetClipRectangles
    - acquire
    - _cairo_malloc_ab
    - CAIRO_STACK_ARRAY_LENGTH
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t copy_boxes (void *_dst,\t cairo_surface_t\
      \ *_src,\t cairo_boxes_t *boxes,\t const cairo_rectangle_int_t *extents,\t int\
      \ dx, int dy) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _render_operator
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:790,1
    - Dst: XRenderComposite
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:796,1
    - Dst: XRenderComposite
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:803,1
    - Dst: _cairo_xlib_surface_ensure_picture
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:792,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 12
    argNames:
    - abstract_dst
    - op
    - abstract_src
    - abstract_mask
    - src_x
    - src_y
    - mask_x
    - mask_y
    - dst_x
    - dst_y
    - width
    - height
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_surface_t*
    - cairo_surface_t*
    - int
    - int
    - int
    - int
    - int
    - int
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 812
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 812
    functionName: composite
    functionSourceFile: /src/cairo/src/cairo-xlib-render-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_surface_ensure_picture
    - XRenderComposite
    - _render_operator
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t composite (void *abstract_dst,\t cairo_operator_t\t\
      op,\t cairo_surface_t\t*abstract_src,\t cairo_surface_t\t*abstract_mask,\t int\t\
      \t\tsrc_x,\t int\t\t\tsrc_y,\t int\t\t\tmask_x,\t int\t\t\tmask_y,\t int\t\t\
      \tdst_x,\t int\t\t\tdst_y,\t unsigned int\t\twidth,\t unsigned int\t\theight) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: XRenderComposite
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:917,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:873,1
    - Dst: _cairo_xlib_surface_ensure_picture
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:871,1
    - Dst: XRenderComposite
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:878,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:889,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:890,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:897,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:908,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:899,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:896,1
    - Dst: set_clip_region
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:924,1
    - Dst: CAIRO_STACK_ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:865,1
    - Dst: _render_operator
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:870,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:874,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:875,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:876,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:887,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:888,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:898,1
    - Dst: XRenderSetPictureClipRectangles
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:910,1
    - Dst: free
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:915,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 60
    argCount: 12
    argNames:
    - abstract_dst
    - op
    - abstract_src
    - abstract_mask
    - src_x
    - src_y
    - mask_x
    - mask_y
    - dst_x
    - dst_y
    - boxes
    - extents
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_surface_t*
    - cairo_surface_t*
    - int
    - int
    - int
    - int
    - int
    - int
    - cairo_boxes_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 927
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 927
    functionName: composite_boxes
    functionSourceFile: /src/cairo/src/cairo-xlib-render-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_surface_ensure_picture
    - set_clip_region
    - XRenderSetPictureClipRectangles
    - _cairo_fixed_integer_part
    - _cairo_error
    - free
    - _render_operator
    - ARRAY_LENGTH
    - unlikely
    - assert
    - XRenderComposite
    - _cairo_malloc_ab
    - CAIRO_STACK_ARRAY_LENGTH
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t composite_boxes (void\t\t\t*abstract_dst,\t\
      \t cairo_operator_t\t op,\t\t cairo_surface_t\t*abstract_src,\t\t cairo_surface_t\t\
      *abstract_mask,\t\t int\t\t\tsrc_x,\t\t int\t\t\tsrc_y,\t\t int\t\t\tmask_x,\t\
      \t int\t\t\tmask_y,\t\t int\t\t\tdst_x,\t\t int\t\t\tdst_y,\t\t cairo_boxes_t\t\
      \t*boxes,\t\t const cairo_rectangle_int_t *extents) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xlib_shm_surface_get_pixmap
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:164,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:166,1
    - Dst: XCopyArea
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:172,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:181,1
    - Dst: _cairo_xlib_shm_surface_mark_active
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:205,1
    - Dst: XSetClipMask
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:208,1
    - Dst: _cairo_xlib_surface_put_gc
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:214,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:152,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:168,1
    - Dst: CAIRO_STACK_ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:177,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:192,1
    - Dst: XCopyArea
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:206,1
    - Dst: _cairo_xlib_surface_get_gc
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:158,1
    - Dst: acquire
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:154,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:159,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:155,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:183,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:182,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:191,1
    - Dst: XSetClipRectangles
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:204,1
    - Dst: free
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:211,1
    - Dst: release
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:215,1
    - Dst: release
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:160,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:167,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:169,1
    - Dst: _cairo_xlib_shm_surface_mark_active
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:171,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:189,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:180,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:190,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 66
    argCount: 5
    argNames:
    - _dst
    - image
    - boxes
    - dx
    - dy
    argTypes:
    - void*
    - cairo_image_surface_t*
    - cairo_boxes_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 217
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 217
    functionName: copy_image_boxes
    functionSourceFile: /src/cairo/src/cairo-xlib-render-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_surface_get_gc
    - _cairo_xlib_surface_put_gc
    - CAIRO_STACK_ARRAY_LENGTH
    - XCopyArea
    - _cairo_fixed_integer_part
    - _cairo_error
    - release
    - free
    - ARRAY_LENGTH
    - assert
    - _cairo_xlib_shm_surface_get_pixmap
    - _cairo_xlib_shm_surface_mark_active
    - XSetClipRectangles
    - acquire
    - _cairo_malloc_ab
    - XSetClipMask
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t copy_image_boxes (void *_dst,\t\t cairo_image_surface_t\
      \ *image,\t\t cairo_boxes_t *boxes,\t\t int dx, int dy) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _categorize_composite_operation
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1805,1
    - Dst: UNSUPPORTED
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1812,1
    - Dst: UNSUPPORTED
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1807,1
    - Dst: _recategorize_composite_operation
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1809,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1816
      start: 1802
    functionDepth: 0
    functionLinenumber: 1802
    functionLinenumberEnd: 1816
    functionName: check_composite_trapezoids
    functionSourceFile: /src/cairo/src/cairo-xlib-render-compositor.c
    functionUses: []
    functionsReached:
    - _recategorize_composite_operation
    - UNSUPPORTED
    - _categorize_composite_operation
    linkageType: ''
    returnType: cairo_int_status_T
    signature: 'static cairo_int_status_T check_composite_trapezoids () '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:230,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:235,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:234,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:231,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - boxes
    - surface
    argTypes:
    - cairo_boxes_t*
    - cairo_xlib_surface_t*
    constantsTouched: []
    func_position:
      end: 239
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 239
    functionName: boxes_cover_surface
    functionSourceFile: /src/cairo/src/cairo-xlib-render-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_integer_part
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t boxes_cover_surface (cairo_boxes_t *boxes,\t\t\
      \ cairo_xlib_surface_t *surface) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_RENDER_SUPPORTS_OPERATOR
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - extents
    argTypes:
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: check_composite
    functionSourceFile: /src/cairo/src/cairo-xlib-render-compositor.c
    functionUses: []
    functionsReached:
    - CAIRO_RENDER_SUPPORTS_OPERATOR
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t check_composite (const cairo_composite_rectangles_t
      *extents) '
  - BBCount: 31
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - cairo_operator_t
    constantsTouched: []
    func_position:
      end: 587
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 587
    functionName: _render_operator
    functionSourceFile: /src/cairo/src/cairo-xlib-render-compositor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int _render_operator (cairo_operator_t op) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fill_reduces_to_source
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:617,1
    - Dst: _cairo_xlib_core_fill_rectangles
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:625,1
    - Dst: _cairo_xlib_surface_ensure_picture
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:634,1
    - Dst: CAIRO_RENDER_HAS_FILL_RECTANGLES
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:620,1
    - Dst: XRenderFillRectangle
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:639,1
    - Dst: _render_operator
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:640,1
    - Dst: CAIRO_STACK_ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:646,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:649,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:650,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:651,1
    - Dst: _render_operator
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:663,1
    - Dst: XRenderFillRectangles
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:662,1
    - Dst: free
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:668,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:652,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 5
    argNames:
    - abstract_surface
    - op
    - color
    - rects
    - num_rects
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_color_t*
    - cairo_rectangle_int_t*
    - int
    constantsTouched: []
    func_position:
      end: 672
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 672
    functionName: fill_rectangles
    functionSourceFile: /src/cairo/src/cairo-xlib-render-compositor.c
    functionUses: []
    functionsReached:
    - fill_reduces_to_source
    - _cairo_xlib_surface_ensure_picture
    - XRenderFillRectangle
    - _cairo_error
    - free
    - _render_operator
    - ARRAY_LENGTH
    - unlikely
    - XRenderFillRectangles
    - CAIRO_RENDER_HAS_FILL_RECTANGLES
    - _cairo_xlib_core_fill_rectangles
    - _cairo_malloc_ab
    - CAIRO_STACK_ARRAY_LENGTH
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t fill_rectangles (void\t\t\t\t*abstract_surface,\t\
      \t cairo_operator_t\t\t op,\t\t const cairo_color_t\t\t*color,\t\t cairo_rectangle_int_t\t\
      \t*rects,\t\t int\t\t\t\t num_rects) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:991,1
    - Dst: cairo_list_add
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1000,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:992,1
    - Dst: _cairo_scaled_font_attach_private
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:995,1
    - Dst: cairo_device_reference
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:998,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 1016
    functionName: _cairo_xlib_font_create
    functionSourceFile: /src/cairo/src/cairo-xlib-render-compositor.c
    functionUses: []
    functionsReached:
    - cairo_device_reference
    - cairo_list_add
    - _cairo_scaled_font_attach_private
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_xlib_font_t*
    signature: "static cairo_xlib_font_t *_cairo_xlib_font_create (cairo_xlib_display_t\
      \ *display,\t\t\t cairo_scaled_font_t *font) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_scaled_font_find_private
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1034,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1035
    functionName: _cairo_xlib_font_get
    functionSourceFile: /src/cairo/src/cairo-xlib-render-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_scaled_font_find_private
    linkageType: ''
    returnType: cairo_xlib_font_t*
    signature: "static inline cairo_xlib_font_t *_cairo_xlib_font_get (const cairo_xlib_display_t\
      \ *display,\t\t cairo_scaled_font_t *font) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xlib_font_get
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1056,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1057,1
    - Dst: _cairo_xlib_display_acquire
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1064,1
    - Dst: XRenderFreeGlyphs
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1066,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1061,1
    - Dst: cairo_device_release
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1070,1
    - Dst: cairo_list_del
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1079,1
    - Dst: free
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1080,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 3
    argNames:
    - glyph_private
    - glyph
    - font
    argTypes:
    - cairo_scaled_glyph_private_t*
    - cairo_scaled_glyph_t*
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 1081
      start: 1044
    functionDepth: 0
    functionLinenumber: 1044
    functionLinenumberEnd: 1081
    functionName: _cairo_xlib_glyph_fini
    functionSourceFile: /src/cairo/src/cairo-xlib-render-compositor.c
    functionUses: []
    functionsReached:
    - free
    - ARRAY_LENGTH
    - _cairo_xlib_display_acquire
    - assert
    - cairo_device_release
    - XRenderFreeGlyphs
    - cairo_list_del
    - _cairo_xlib_font_get
    linkageType: ''
    returnType: void
    signature: "static void _cairo_xlib_glyph_fini (cairo_scaled_glyph_private_t *glyph_private,\t\
      \t\tcairo_scaled_glyph_t *glyph,\t\t\tcairo_scaled_font_t *font) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xlib_display_acquire
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:74,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - abstract_dst
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 80
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 80
    functionName: acquire
    functionSourceFile: /src/cairo/src/cairo-xlib-render-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_display_acquire
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t acquire (void *abstract_dst) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_COLOR_IS_OPAQUE
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:594,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - op
    - color
    - dst
    argTypes:
    - cairo_operator_t
    - cairo_color_t*
    - cairo_xlib_surface_t*
    constantsTouched: []
    func_position:
      end: 602
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 602
    functionName: fill_reduces_to_source
    functionSourceFile: /src/cairo/src/cairo-xlib-render-compositor.c
    functionUses: []
    functionsReached:
    - CAIRO_COLOR_IS_OPAQUE
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t fill_reduces_to_source (cairo_operator_t op,\t\
      \t\tconst cairo_color_t *color,\t\t\tcairo_xlib_surface_t *dst) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xlib_core_fill_boxes
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:691,1
    - Dst: _cairo_xlib_surface_ensure_picture
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:700,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:704,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:733,1
    - Dst: CAIRO_STACK_ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:717,1
    - Dst: _render_operator
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:745,1
    - Dst: fill_reduces_to_source
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:683,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:732,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:731,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:722,1
    - Dst: CAIRO_RENDER_HAS_FILL_RECTANGLES
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:686,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:703,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:705,1
    - Dst: XRenderFillRectangle
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:710,1
    - Dst: _render_operator
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:711,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:723,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:725,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:724,1
    - Dst: XRenderFillRectangles
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:744,1
    - Dst: free
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:750,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:702,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:734,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 56
    argCount: 4
    argNames:
    - abstract_surface
    - op
    - color
    - boxes
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_color_t*
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 754
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 754
    functionName: fill_boxes
    functionSourceFile: /src/cairo/src/cairo-xlib-render-compositor.c
    functionUses: []
    functionsReached:
    - fill_reduces_to_source
    - _cairo_xlib_surface_ensure_picture
    - XRenderFillRectangle
    - _cairo_fixed_integer_part
    - _cairo_error
    - free
    - _render_operator
    - ARRAY_LENGTH
    - unlikely
    - XRenderFillRectangles
    - CAIRO_RENDER_HAS_FILL_RECTANGLES
    - _cairo_malloc_ab
    - _cairo_xlib_core_fill_boxes
    - CAIRO_STACK_ARRAY_LENGTH
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t fill_boxes (void\t\t*abstract_surface,\t\
      \ cairo_operator_t\t op,\t const cairo_color_t\t*color,\t cairo_boxes_t\t*boxes) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1026,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - format
    argTypes:
    - cairo_format_t
    constantsTouched: []
    func_position:
      end: 1028
      start: 1018
    functionDepth: 0
    functionLinenumber: 1018
    functionLinenumberEnd: 1028
    functionName: _cairo_xlib_get_glyphset_index_for_format
    functionSourceFile: /src/cairo/src/cairo-xlib-render-compositor.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: 'static int _cairo_xlib_get_glyphset_index_for_format (cairo_format_t
      format) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1090,1
    - Dst: _cairo_scaled_glyph_attach_private
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1094,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1092,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1091,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - display
    - glyph
    - info
    argTypes:
    - cairo_xlib_display_t*
    - cairo_scaled_glyph_t*
    - cairo_xlib_font_glyphset_t*
    constantsTouched: []
    func_position:
      end: 1101
      start: 1083
    functionDepth: 0
    functionLinenumber: 1083
    functionLinenumberEnd: 1101
    functionName: _cairo_xlib_glyph_attach
    functionSourceFile: /src/cairo/src/cairo-xlib-render-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_scaled_glyph_attach_private
    - unlikely
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_xlib_glyph_attach (cairo_xlib_display_t\t\
      *display,\t\t\t cairo_scaled_glyph_t\t*glyph,\t\t\t cairo_xlib_font_glyphset_t\
      \ *info) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_device_release
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - abstract_dst
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 91
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 91
    functionName: release
    functionSourceFile: /src/cairo/src/cairo-xlib-render-compositor.c
    functionUses: []
    functionsReached:
    - cairo_device_release
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t release (void *abstract_dst) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_scaled_font_reset_cache
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:938,1
    - Dst: cairo_list_del
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:949,1
    - Dst: XRenderFreeGlyphSet
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:945,1
    - Dst: free
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:951,1
    - Dst: cairo_list_del
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:950,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - priv
    argTypes:
    - cairo_xlib_font_t*
    constantsTouched: []
    func_position:
      end: 952
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 952
    functionName: _cairo_xlib_font_close
    functionSourceFile: /src/cairo/src/cairo-xlib-render-compositor.c
    functionUses: []
    functionsReached:
    - free
    - XRenderFreeGlyphSet
    - _cairo_scaled_font_reset_cache
    - cairo_list_del
    linkageType: ''
    returnType: void
    signature: 'void _cairo_xlib_font_close (cairo_xlib_font_t *priv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xlib_get_glyphset_index_for_format
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1112,1
    - Dst: _cairo_xlib_font_get
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1114,1
    - Dst: _cairo_xlib_display_get_xrender_format
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1124,1
    - Dst: _cairo_xlib_font_create
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1116,1
    - Dst: XRenderCreateGlyphSet
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1125,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1103
    functionDepth: 0
    functionLinenumber: 1103
    functionLinenumberEnd: 1130
    functionName: _cairo_xlib_font_get_glyphset_info_for_format
    functionSourceFile: /src/cairo/src/cairo-xlib-render-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_get_glyphset_index_for_format
    - XRenderCreateGlyphSet
    - _cairo_xlib_display_get_xrender_format
    - _cairo_xlib_font_create
    - _cairo_xlib_font_get
    linkageType: ''
    returnType: cairo_xlib_font_glyphset_t*
    signature: "static cairo_xlib_font_glyphset_t *_cairo_xlib_font_get_glyphset_info_for_format\
      \ (cairo_xlib_display_t *display,\t\t\t\t\t cairo_scaled_font_t *font,\t\t\t\
      \t\t cairo_format_t format) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xlib_font_get
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1162,1
    - Dst: has_pending_free_glyph
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1168,1
    - Dst: _cairo_xlib_get_glyphset_index_for_format
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1167,1
    - Dst: has_pending_free_glyph
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1172,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 1153
    functionDepth: 0
    functionLinenumber: 1153
    functionLinenumberEnd: 1178
    functionName: find_pending_free_glyph
    functionSourceFile: /src/cairo/src/cairo-xlib-render-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_get_glyphset_index_for_format
    - has_pending_free_glyph
    - _cairo_xlib_font_get
    linkageType: ''
    returnType: cairo_xlib_font_glyphset_t*
    signature: "static cairo_xlib_font_glyphset_t *find_pending_free_glyph (cairo_xlib_display_t\
      \ *display,\t\t\t cairo_scaled_font_t *font,\t\t\t unsigned long glyph_index,\t\
      \t\t cairo_image_surface_t *surface) "
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_STACK_ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1428,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1460,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1461,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1457,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1462,1
    - Dst: _start_new_glyph_elt
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1476,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1506,1
    - Dst: composite_text_func
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1508,1
    - Dst: free
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1518,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 51
    argCount: 15
    argNames:
    - display
    - dst
    - dst_x
    - dst_y
    - glyphs
    - num_glyphs
    - font
    - use_mask
    - op
    - src
    - src_x
    - src_y
    - /* info for this chunk */
    - num_elts
    - width
    - info
    argTypes:
    - cairo_xlib_display_t*
    - cairo_xlib_surface_t*
    - int
    - int
    - cairo_xlib_glyph_t*
    - int
    - cairo_scaled_font_t*
    - cairo_bool_t
    - cairo_operator_t
    - cairo_xlib_source_t*
    - int
    - int
    - int
    - int
    - cairo_xlib_font_glyphset_t*
    constantsTouched: []
    func_position:
      end: 1521
      start: 1406
    functionDepth: 0
    functionLinenumber: 1406
    functionLinenumberEnd: 1521
    functionName: _emit_glyphs_chunk
    functionSourceFile: /src/cairo/src/cairo-xlib-render-compositor.c
    functionUses: []
    functionsReached:
    - CAIRO_STACK_ARRAY_LENGTH
    - _start_new_glyph_elt
    - _cairo_error
    - free
    - ARRAY_LENGTH
    - composite_text_func
    - assert
    - _cairo_malloc_ab
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _emit_glyphs_chunk (cairo_xlib_display_t *display,\
      \ cairo_xlib_surface_t *dst,\t\t int dst_x, int dst_y,\t\t cairo_xlib_glyph_t\
      \ *glyphs,\t\t int num_glyphs,\t\t cairo_scaled_font_t *font,\t\t cairo_bool_t\
      \ use_mask,\t\t cairo_operator_t op,\t\t cairo_xlib_source_t *src,\t\t int src_x,\
      \ int src_y,\t\t /* info for this chunk */\t\t int num_elts,\t\t int width,\t\
      \t cairo_xlib_font_glyphset_t *info) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1791,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1792,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1794,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1795,1
    - Dst: _cairo_fixed_16_16_from_double
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1798,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1798,1
    - Dst: _cairo_fixed_16_16_from_double
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1799,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1799,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 4
    argNames:
    - line
    - top
    - bottom
    - out
    argTypes:
    - cairo_line_t*
    - cairo_fixed_t
    - cairo_fixed_t
    - XLineFixed*
    constantsTouched: []
    func_position:
      end: 1800
      start: 1782
    functionDepth: 0
    functionLinenumber: 1782
    functionLinenumberEnd: 1800
    functionName: project_line_x_onto_16_16
    functionSourceFile: /src/cairo/src/cairo-xlib-render-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_16_16_from_double
    - _cairo_fixed_to_double
    linkageType: ''
    returnType: void
    signature: "static void project_line_x_onto_16_16 (const cairo_line_t *line,\t\
      \t\t cairo_fixed_t top,\t\t\t cairo_fixed_t bottom,\t\t\t XLineFixed *out) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1857,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1858,1
    - Dst: line_exceeds_16_16
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1888,1
    - Dst: _cairo_fixed_to_16_16
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1897,1
    - Dst: _cairo_fixed_to_16_16
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1899,1
    - Dst: _cairo_xlib_surface_ensure_picture
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1913,1
    - Dst: _render_operator
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1916,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1855,1
    - Dst: _cairo_fixed_to_16_16
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1867,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1874,1
    - Dst: _cairo_fixed_to_16_16
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1883,1
    - Dst: _cairo_fixed_to_16_16
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1896,1
    - Dst: _cairo_fixed_to_16_16
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1885,1
    - Dst: _cairo_fixed_16_16_floor
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1904,1
    - Dst: _cairo_fixed_16_16_floor
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1907,1
    - Dst: _cairo_fixed_16_16_floor
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1908,1
    - Dst: XRenderCompositeTrapezoids
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1915,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1856,1
    - Dst: _cairo_fixed_to_16_16
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1868,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1888,1
    - Dst: _cairo_fixed_to_16_16
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1882,1
    - Dst: project_line_x_onto_16_16
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1889,1
    - Dst: _cairo_fixed_to_16_16
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1898,1
    - Dst: _cairo_xlib_surface_set_precision
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1914,1
    - Dst: CAIRO_STACK_ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1835,1
    - Dst: _cairo_xlib_display_get_xrender_format
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1852,1
    - Dst: line_exceeds_16_16
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1874,1
    - Dst: project_line_x_onto_16_16
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1875,1
    - Dst: _cairo_fixed_to_16_16
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1884,1
    - Dst: _cairo_fixed_16_16_floor
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1905,1
    - Dst: free
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1923,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 96
    argCount: 10
    argNames:
    - abstract_dst
    - op
    - abstract_src
    - src_x
    - src_y
    - dst_x
    - dst_y
    - extents
    - antialias
    - traps
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_surface_t*
    - int
    - int
    - int
    - int
    - cairo_rectangle_int_t*
    - cairo_antialias_t
    - cairo_traps_t*
    constantsTouched: []
    func_position:
      end: 1926
      start: 1819
    functionDepth: 0
    functionLinenumber: 1819
    functionLinenumberEnd: 1926
    functionName: composite_traps
    functionSourceFile: /src/cairo/src/cairo-xlib-render-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_surface_set_precision
    - _cairo_xlib_surface_ensure_picture
    - _cairo_xlib_display_get_xrender_format
    - CAIRO_STACK_ARRAY_LENGTH
    - _cairo_fixed_to_16_16
    - _cairo_error
    - free
    - XRenderCompositeTrapezoids
    - ARRAY_LENGTH
    - _render_operator
    - project_line_x_onto_16_16
    - _cairo_fixed_16_16_floor
    - _cairo_malloc_ab
    - line_exceeds_16_16
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t composite_traps (void\t\t\t*abstract_dst,\t\
      \t cairo_operator_t\top,\t\t cairo_surface_t\t*abstract_src,\t\t int\t\t\tsrc_x,\t\
      \t int\t\t\tsrc_y,\t\t int\t\t\tdst_x,\t\t int\t\t\tdst_y,\t\t const cairo_rectangle_int_t\
      \ *extents,\t\t cairo_antialias_t\tantialias,\t\t cairo_traps_t\t\t*traps) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xlib_surface_ensure_picture
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:99,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:107,1
    - Dst: CAIRO_STACK_ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:102,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:108,1
    - Dst: cairo_region_num_rectangles
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:106,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:109,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:110,1
    - Dst: cairo_region_get_rectangle
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:115,1
    - Dst: XRenderSetPictureClipRectangles
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:122,1
    - Dst: free
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:127,1
    - Dst: XRenderChangePicture
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:131,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - _surface
    - region
    argTypes:
    - void*
    - cairo_region_t*
    constantsTouched: []
    func_position:
      end: 137
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 137
    functionName: set_clip_region
    functionSourceFile: /src/cairo/src/cairo-xlib-render-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_surface_ensure_picture
    - XRenderSetPictureClipRectangles
    - _cairo_error
    - free
    - ARRAY_LENGTH
    - cairo_region_num_rectangles
    - unlikely
    - cairo_region_get_rectangle
    - _cairo_malloc_ab
    - XRenderChangePicture
    - CAIRO_STACK_ARRAY_LENGTH
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t set_clip_region (void *_surface,\t\t cairo_region_t\
      \ *region) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_del
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:963,1
    - Dst: _cairo_xlib_display_acquire
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:966,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:967,1
    - Dst: cairo_list_del
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:964,1
    - Dst: XRenderFreeGlyphSet
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:975,1
    - Dst: cairo_device_release
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:978,1
    - Dst: cairo_device_destroy
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:980,1
    - Dst: free
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:981,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 2
    argNames:
    - abstract_private
    - font
    argTypes:
    - cairo_scaled_font_private_t*
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 982
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 982
    functionName: _cairo_xlib_font_fini
    functionSourceFile: /src/cairo/src/cairo-xlib-render-compositor.c
    functionUses: []
    functionsReached:
    - cairo_device_destroy
    - free
    - _cairo_xlib_display_acquire
    - XRenderFreeGlyphSet
    - cairo_device_release
    - cairo_list_del
    - unlikely
    linkageType: ''
    returnType: void
    signature: "static void _cairo_xlib_font_fini (cairo_scaled_font_private_t *abstract_private,\t\
      \t cairo_scaled_font_t *font) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1143,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - info
    - glyph_index
    argTypes:
    - cairo_xlib_font_glyphset_t*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 1151
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1151
    functionName: has_pending_free_glyph
    functionSourceFile: /src/cairo/src/cairo-xlib-render-compositor.c
    functionUses: []
    functionsReached:
    - memmove
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t has_pending_free_glyph (cairo_xlib_font_glyphset_t\
      \ *info,\t\t\tunsigned long glyph_index) "
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xlib_font_get_glyphset_info_for_format
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1218,1
    - Dst: _cairo_xlib_glyph_attach
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1199,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1248,1
    - Dst: _cairo_pattern_init_for_surface
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1258,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1292,1
    - Dst: _cairo_lround
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1271,1
    - Dst: free
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1346,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1352,1
    - Dst: _cairo_scaled_glyph_lookup
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1202,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1230,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1266,1
    - Dst: _cairo_surface_paint
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1259,1
    - Dst: _cairo_lround
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1272,1
    - Dst: BitmapBitOrder
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1284,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1294,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1320,1
    - Dst: bswap_32
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1328,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1228,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1252,1
    - Dst: _cairo_is_little_endian
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1284,1
    - Dst: _cairo_pattern_fini
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1262,1
    - Dst: ImageByteOrder
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1312,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1321,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1322,1
    - Dst: XRenderAddGlyphs
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1340,1
    - Dst: _cairo_scaled_glyph_set_surface
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1361,1
    - Dst: find_pending_free_glyph
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1197,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1208,1
    - Dst: _cairo_xlib_get_glyphset_index_for_format
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1281,1
    - Dst: _cairo_is_little_endian
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1312,1
    - Dst: _cairo_xlib_glyph_attach
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1348,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 123
    argCount: 3
    argNames:
    - display
    - font
    - pscaled_glyph
    argTypes:
    - cairo_xlib_display_t*
    - cairo_scaled_font_t*
    - cairo_scaled_glyph_t**
    constantsTouched: []
    func_position:
      end: 1364
      start: 1180
    functionDepth: 0
    functionLinenumber: 1180
    functionLinenumberEnd: 1364
    functionName: _cairo_xlib_surface_add_glyph
    functionSourceFile: /src/cairo/src/cairo-xlib-render-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_get_glyphset_index_for_format
    - _cairo_error
    - ImageByteOrder
    - XRenderAddGlyphs
    - bswap_32
    - _cairo_lround
    - _cairo_surface_paint
    - _cairo_pattern_init_for_surface
    - _cairo_pattern_fini
    - find_pending_free_glyph
    - _cairo_xlib_font_get_glyphset_info_for_format
    - _cairo_scaled_glyph_set_surface
    - _cairo_xlib_glyph_attach
    - BitmapBitOrder
    - _cairo_is_little_endian
    - _cairo_malloc
    - _cairo_scaled_glyph_lookup
    - free
    - cairo_surface_destroy
    - cairo_image_surface_create
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_xlib_surface_add_glyph (cairo_xlib_display_t\
      \ *display,\t\t\t cairo_scaled_font_t *font,\t\t\t cairo_scaled_glyph_t **pscaled_glyph) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1533,1
    - Dst: CAIRO_RENDER_SUPPORTS_OPERATOR
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1535,1
    - Dst: ceil
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1555,1
    - Dst: XExtendedMaxRequestSize
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1557,1
    - Dst: XExtendedMaxRequestSize
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1557,1
    - Dst: XMaxRequestSize
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1558,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 4
    argNames:
    - extents
    - font
    - glyphs
    - num_glyphs
    argTypes:
    - cairo_composite_rectangles_t*
    - cairo_scaled_font_t*
    - cairo_glyph_t*
    - int*
    constantsTouched: []
    func_position:
      end: 1566
      start: 1523
    functionDepth: 0
    functionLinenumber: 1523
    functionLinenumberEnd: 1566
    functionName: check_composite_glyphs
    functionSourceFile: /src/cairo/src/cairo-xlib-render-compositor.c
    functionUses: []
    functionsReached:
    - CAIRO_RENDER_SUPPORTS_OPERATOR
    - TRACE
    - XExtendedMaxRequestSize
    - XMaxRequestSize
    - ceil
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t check_composite_glyphs (const cairo_composite_rectangles_t\
      \ *extents,\t\t\tcairo_scaled_font_t *font,\t\t\tcairo_glyph_t *glyphs,\t\t\t\
      int *num_glyphs) "
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: XMaxRequestSize
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1600,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1602,1
    - Dst: _cairo_xlib_surface_ensure_picture
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1608,1
    - Dst: _render_operator
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1607,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1601,1
    - Dst: PHASE
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1614,1
    - Dst: PHASE
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1615,1
    - Dst: _cairo_scaled_glyph_lookup
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1619,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1624,1
    - Dst: POSITION
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1627,1
    - Dst: POSITION
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1628,1
    - Dst: _emit_glyphs_chunk
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1681,1
    - Dst: _start_new_glyph_elt
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1711,1
    - Dst: _cairo_xlib_surface_add_glyph
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1632,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1685,1
    - Dst: _emit_glyphs_chunk
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1725,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1633,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 96
    argCount: 8
    argNames:
    - surface
    - op
    - _src
    - src_x
    - src_y
    - dst_x
    - dst_y
    - info
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_surface_t*
    - int
    - int
    - int
    - int
    - cairo_composite_glyphs_info_t*
    constantsTouched: []
    func_position:
      end: 1732
      start: 1575
    functionDepth: 0
    functionLinenumber: 1575
    functionLinenumberEnd: 1732
    functionName: composite_glyphs
    functionSourceFile: /src/cairo/src/cairo-xlib-render-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_surface_ensure_picture
    - _start_new_glyph_elt
    - _emit_glyphs_chunk
    - _cairo_scaled_glyph_lookup
    - _render_operator
    - MAX
    - _cairo_xlib_surface_add_glyph
    - POSITION
    - XMaxRequestSize
    - PHASE
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t composite_glyphs (void\t\t\t\t*surface,\t\
      \t cairo_operator_t\t\t op,\t\t cairo_surface_t\t\t*_src,\t\t int\t\t\t\t src_x,\t\
      \t int\t\t\t\t src_y,\t\t int\t\t\t\t dst_x,\t\t int\t\t\t\t dst_y,\t\t cairo_composite_glyphs_info_t\
      \ *info) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1772,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1775,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1773,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1774,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1776,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1777,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1778,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1779,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - line
    argTypes:
    - cairo_line_t*
    constantsTouched: []
    func_position:
      end: 1780
      start: 1768
    functionDepth: 0
    functionLinenumber: 1768
    functionLinenumberEnd: 1780
    functionName: line_exceeds_16_16
    functionSourceFile: /src/cairo/src/cairo-xlib-render-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_from_int
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t line_exceeds_16_16 (const cairo_line_t *line) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_STACK_ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1944,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1955,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1957,1
    - Dst: _cairo_xlib_display_get_xrender_format
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1952,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1956,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1958,1
    - Dst: _cairo_fixed_to_16_16
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1966,1
    - Dst: _cairo_fixed_to_16_16
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1967,1
    - Dst: _cairo_fixed_16_16_floor
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1970,1
    - Dst: _cairo_fixed_16_16_floor
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1971,1
    - Dst: _cairo_xlib_surface_ensure_picture
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1973,1
    - Dst: _cairo_xlib_surface_set_precision
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1974,1
    - Dst: XRenderCompositeTriStrip
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1975,1
    - Dst: free
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1983,1
    - Dst: _render_operator
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1976,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 10
    argNames:
    - abstract_dst
    - op
    - abstract_src
    - src_x
    - src_y
    - dst_x
    - dst_y
    - extents
    - antialias
    - strip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_surface_t*
    - int
    - int
    - int
    - int
    - cairo_rectangle_int_t*
    - cairo_antialias_t
    - cairo_tristrip_t*
    constantsTouched: []
    func_position:
      end: 1986
      start: 1928
    functionDepth: 0
    functionLinenumber: 1928
    functionLinenumberEnd: 1986
    functionName: composite_tristrip
    functionSourceFile: /src/cairo/src/cairo-xlib-render-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_surface_set_precision
    - _cairo_xlib_surface_ensure_picture
    - _cairo_xlib_display_get_xrender_format
    - CAIRO_STACK_ARRAY_LENGTH
    - _cairo_fixed_to_16_16
    - XRenderCompositeTriStrip
    - _cairo_error
    - free
    - ARRAY_LENGTH
    - _render_operator
    - _cairo_fixed_16_16_floor
    - _cairo_malloc_ab
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t composite_tristrip (void\t\t*abstract_dst,\t\
      \t cairo_operator_t\top,\t\t cairo_surface_t\t*abstract_src,\t\t int\t\t\tsrc_x,\t\
      \t int\t\t\tsrc_y,\t\t int\t\t\tdst_x,\t\t int\t\t\tdst_y,\t\t const cairo_rectangle_int_t\
      \ *extents,\t\t cairo_antialias_t\tantialias,\t\t cairo_tristrip_t\t*strip) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_atomic_init_once_enter
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1994,1
    - Dst: _cairo_xlib_mask_compositor_get
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1996,1
    - Dst: _cairo_traps_compositor_init
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:1995,1
    - Dst: _cairo_atomic_init_once_leave
      Src: /src/cairo/src/cairo-xlib-render-compositor.c:2017,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2021
      start: 1988
    functionDepth: 0
    functionLinenumber: 1988
    functionLinenumberEnd: 2021
    functionName: _cairo_xlib_traps_compositor_get
    functionSourceFile: /src/cairo/src/cairo-xlib-render-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_atomic_init_once_leave
    - _cairo_atomic_init_once_enter
    - _cairo_xlib_mask_compositor_get
    - _cairo_traps_compositor_init
    linkageType: ''
    returnType: cairo_compositor_t*
    signature: 'const cairo_compositor_t *_cairo_xlib_traps_compositor_get (void) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: XRenderFindVisualFormat
      Src: /src/cairo/src/cairo-xlib-surface.c:240,1
    - Dst: DisplayOfScreen
      Src: /src/cairo/src/cairo-xlib-surface.c:240,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 246
    functionName: _visual_for_xrender_format
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached:
    - DisplayOfScreen
    - XRenderFindVisualFormat
    linkageType: ''
    returnType: Visual*
    signature: "static Visual *_visual_for_xrender_format(Screen *screen,\t\t\t XRenderPictFormat\
      \ *xrender_format) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _adjust_field
      Src: /src/cairo/src/cairo-xlib-surface.c:665,1
    - Dst: _adjust_field
      Src: /src/cairo/src/cairo-xlib-surface.c:669,1
    - Dst: _adjust_field
      Src: /src/cairo/src/cairo-xlib-surface.c:670,1
    - Dst: _adjust_field
      Src: /src/cairo/src/cairo-xlib-surface.c:668,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 5
    argNames:
    - visual_info
    - r
    - g
    - b
    - dither_adjustment
    argTypes:
    - cairo_xlib_visual_info_t*
    - uint32_t
    - uint32_t
    - uint32_t
    - int8_t
    constantsTouched: []
    func_position:
      end: 672
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 672
    functionName: _pseudocolor_from_rgb888_dither
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached:
    - _adjust_field
    linkageType: ''
    returnType: uint32_t
    signature: "static inline uint32_t _pseudocolor_from_rgb888_dither (cairo_xlib_visual_info_t\
      \ *visual_info,\t\t\t\t uint32_t r, uint32_t g, uint32_t b,\t\t\t\t int8_t dither_adjustment) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_compositor
      Src: /src/cairo/src/cairo-xlib-surface.c:1596,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-surface.c:1597,1
    - Dst: _cairo_compositor_mask
      Src: /src/cairo/src/cairo-xlib-surface.c:1600,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 5
    argNames:
    - _surface
    - op
    - source
    - mask
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 1603
      start: 1585
    functionDepth: 0
    functionLinenumber: 1585
    functionLinenumberEnd: 1603
    functionName: _cairo_xlib_surface_mask
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached:
    - _cairo_compositor_mask
    - get_compositor
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_xlib_surface_mask (void\t\t\t*_surface,\t\
      \t\t cairo_operator_t\t op,\t\t\t const cairo_pattern_t\t*source,\t\t\t const\
      \ cairo_pattern_t\t*mask,\t\t\t const cairo_clip_t\t*clip) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_compositor
      Src: /src/cairo/src/cairo-xlib-surface.c:1646,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-surface.c:1647,1
    - Dst: _cairo_compositor_fill
      Src: /src/cairo/src/cairo-xlib-surface.c:1650,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 8
    argNames:
    - _surface
    - op
    - source
    - path
    - fill_rule
    - tolerance
    - antialias
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 1654
      start: 1632
    functionDepth: 0
    functionLinenumber: 1632
    functionLinenumberEnd: 1654
    functionName: _cairo_xlib_surface_fill
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached:
    - get_compositor
    - _cairo_compositor_fill
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_xlib_surface_fill (void\t\t\t\t*_surface,\t\
      \t\t cairo_operator_t\t\t op,\t\t\t const cairo_pattern_t\t\t*source,\t\t\t\
      \ const cairo_path_fixed_t\t*path,\t\t\t cairo_fill_rule_t\t\t fill_rule,\t\t\
      \t double\t\t\t tolerance,\t\t\t cairo_antialias_t\t\t antialias,\t\t\t const\
      \ cairo_clip_t\t\t*clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - width
    - height
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1900
      start: 1890
    functionDepth: 0
    functionLinenumber: 1890
    functionLinenumberEnd: 1900
    functionName: valid_size
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t valid_size (int width, int height) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: valid_size
      Src: /src/cairo/src/cairo-xlib-surface.c:1985,1
    - Dst: _cairo_xlib_screen_get
      Src: /src/cairo/src/cairo-xlib-surface.c:1988,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xlib-surface.c:1986,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xlib-surface.c:1986,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-surface.c:1989,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xlib-surface.c:1990,1
    - Dst: X_DEBUG
      Src: /src/cairo/src/cairo-xlib-surface.c:1992,1
    - Dst: _cairo_xlib_surface_create_internal
      Src: /src/cairo/src/cairo-xlib-surface.c:1994,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1997
      start: 1975
    functionDepth: 0
    functionLinenumber: 1975
    functionLinenumberEnd: 1997
    functionName: cairo_xlib_surface_create_for_bitmap
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached:
    - X_DEBUG
    - _cairo_error
    - _cairo_xlib_screen_get
    - _cairo_surface_create_in_error
    - _cairo_xlib_surface_create_internal
    - valid_size
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *cairo_xlib_surface_create_for_bitmap (Display *dpy,\t\
      \t\t\t Pixmap\tbitmap,\t\t\t\t Screen *scr,\t\t\t\t int\twidth,\t\t\t\t int\t\
      height) "
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-surface.c:2163,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-xlib-surface.c:2178,1
    - Dst: _cairo_surface_flush
      Src: /src/cairo/src/cairo-xlib-surface.c:2187,1
    - Dst: _cairo_xlib_display_acquire
      Src: /src/cairo/src/cairo-xlib-surface.c:2196,1
    - Dst: X_DEBUG
      Src: /src/cairo/src/cairo-xlib-surface.c:2200,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-surface.c:2165,1
    - Dst: valid_size
      Src: /src/cairo/src/cairo-xlib-surface.c:2177,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xlib-surface.c:2179,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-surface.c:2197,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-surface.c:2204,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-xlib-surface.c:2166,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-xlib-surface.c:2172,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-surface.c:2188,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-xlib-surface.c:2205,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-xlib-surface.c:2189,1
    - Dst: _cairo_surface_is_xlib
      Src: /src/cairo/src/cairo-xlib-surface.c:2171,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xlib-surface.c:2167,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xlib-surface.c:2173,1
    - Dst: XRenderFreePicture
      Src: /src/cairo/src/cairo-xlib-surface.c:2203,1
    - Dst: cairo_device_release
      Src: /src/cairo/src/cairo-xlib-surface.c:2212,1
    - Dst: _cairo_xlib_surface_discard_shm
      Src: /src/cairo/src/cairo-xlib-surface.c:2218,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 4
    argNames:
    - abstract_surface
    - drawable
    - width
    - height
    argTypes:
    - cairo_surface_t*
    - Drawable
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2223
      start: 2154
    functionDepth: 0
    functionLinenumber: 2154
    functionLinenumberEnd: 2223
    functionName: cairo_xlib_surface_set_drawable
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_surface_discard_shm
    - X_DEBUG
    - _cairo_error
    - _cairo_surface_is_xlib
    - _cairo_xlib_display_acquire
    - cairo_device_release
    - _cairo_surface_set_error
    - XRenderFreePicture
    - _cairo_surface_flush
    - valid_size
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void cairo_xlib_surface_set_drawable (cairo_surface_t *abstract_surface,\t\
      \t\t\t Drawable\t drawable,\t\t\t\t int\t\t width,\t\t\t\t int\t\t height) "
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - xrender_format
    argTypes:
    - XRenderPictFormat*
    constantsTouched: []
    func_position:
      end: 267
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 267
    functionName: _xrender_format_to_content
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_content_t
    signature: 'static cairo_content_t _xrender_format_to_content (XRenderPictFormat
      *xrender_format) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - visual_info
    - pixel
    argTypes:
    - cairo_xlib_visual_info_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 686
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 686
    functionName: _pseudocolor_to_rgb888
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: "static inline uint32_t _pseudocolor_to_rgb888 (cairo_xlib_visual_info_t\
      \ *visual_info,\t\t\tuint32_t pixel) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_compositor
      Src: /src/cairo/src/cairo-xlib-surface.c:1621,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-surface.c:1622,1
    - Dst: _cairo_compositor_stroke
      Src: /src/cairo/src/cairo-xlib-surface.c:1625,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 5
    argCount: 10
    argNames:
    - _surface
    - op
    - source
    - path
    - style
    - ctm
    - ctm_inverse
    - tolerance
    - antialias
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 1630
      start: 1605
    functionDepth: 0
    functionLinenumber: 1605
    functionLinenumberEnd: 1630
    functionName: _cairo_xlib_surface_stroke
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached:
    - get_compositor
    - _cairo_compositor_stroke
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_xlib_surface_stroke (void\t\t\t*_surface,\t\
      \t\t cairo_operator_t\t\t op,\t\t\t const cairo_pattern_t\t*source,\t\t\t const\
      \ cairo_path_fixed_t\t*path,\t\t\t const cairo_stroke_style_t\t*style,\t\t\t\
      \ const cairo_matrix_t\t*ctm,\t\t\t const cairo_matrix_t\t*ctm_inverse,\t\t\t\
      \ double\t\t\t tolerance,\t\t\t cairo_antialias_t\t\t antialias,\t\t\t const\
      \ cairo_clip_t\t\t*clip) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_compositor
      Src: /src/cairo/src/cairo-xlib-surface.c:1669,1
    - Dst: _cairo_compositor_glyphs
      Src: /src/cairo/src/cairo-xlib-surface.c:1673,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-surface.c:1670,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 7
    argNames:
    - _surface
    - op
    - source
    - glyphs
    - num_glyphs
    - scaled_font
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_glyph_t*
    - int
    - cairo_scaled_font_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 1677
      start: 1656
    functionDepth: 0
    functionLinenumber: 1656
    functionLinenumberEnd: 1677
    functionName: _cairo_xlib_surface_glyphs
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached:
    - get_compositor
    - _cairo_compositor_glyphs
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_xlib_surface_glyphs (void\t\t\t*_surface,\t\
      \t\t cairo_operator_t\t\t op,\t\t\t const cairo_pattern_t\t*source,\t\t\t cairo_glyph_t\t\
      \t*glyphs,\t\t\t int\t\t\t\t num_glyphs,\t\t\t cairo_scaled_font_t\t\t*scaled_font,\t\
      \t\t const cairo_clip_t\t\t*clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1724
      start: 1720
    functionDepth: 0
    functionLinenumber: 1720
    functionLinenumberEnd: 1724
    functionName: _cairo_surface_is_xlib
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_surface_is_xlib (cairo_surface_t *surface) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-surface.c:2103,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xlib-surface.c:2107,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-xlib-surface.c:2106,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-surface.c:2105,1
    - Dst: _cairo_surface_is_xlib
      Src: /src/cairo/src/cairo-xlib-surface.c:2111,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-xlib-surface.c:2112,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xlib-surface.c:2113,1
    - Dst: valid_size
      Src: /src/cairo/src/cairo-xlib-surface.c:2120,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-xlib-surface.c:2121,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xlib-surface.c:2122,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-xlib-surface.c:2128,1
    - Dst: _cairo_xlib_surface_discard_shm
      Src: /src/cairo/src/cairo-xlib-surface.c:2132,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-surface.c:2127,1
    - Dst: _cairo_surface_flush
      Src: /src/cairo/src/cairo-xlib-surface.c:2126,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - abstract_surface
    - width
    - height
    argTypes:
    - cairo_surface_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2136
      start: 2095
    functionDepth: 0
    functionLinenumber: 2095
    functionLinenumberEnd: 2136
    functionName: cairo_xlib_surface_set_size
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_surface_discard_shm
    - _cairo_error
    - _cairo_surface_is_xlib
    - _cairo_surface_set_error
    - _cairo_surface_flush
    - valid_size
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void cairo_xlib_surface_set_size (cairo_surface_t *abstract_surface,\t\
      \t\t int width,\t\t\t int height) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xlib_display_acquire
      Src: /src/cairo/src/cairo-xlib-surface.c:287,1
    - Dst: _cairo_format_from_content
      Src: /src/cairo/src/cairo-xlib-surface.c:304,1
    - Dst: XCreatePixmap
      Src: /src/cairo/src/cairo-xlib-surface.c:312,1
    - Dst: _cairo_xlib_display_get_xrender_format
      Src: /src/cairo/src/cairo-xlib-surface.c:303,1
    - Dst: _xrender_format_to_content
      Src: /src/cairo/src/cairo-xlib-surface.c:297,1
    - Dst: _visual_for_xrender_format
      Src: /src/cairo/src/cairo-xlib-surface.c:318,1
    - Dst: _cairo_xlib_surface_create_internal
      Src: /src/cairo/src/cairo-xlib-surface.c:322,1
    - Dst: cairo_device_release
      Src: /src/cairo/src/cairo-xlib-surface.c:335,1
    - Dst: DefaultDepthOfScreen
      Src: /src/cairo/src/cairo-xlib-surface.c:339,1
    - Dst: XCreatePixmap
      Src: /src/cairo/src/cairo-xlib-surface.c:341,1
    - Dst: likely
      Src: /src/cairo/src/cairo-xlib-surface.c:352,1
    - Dst: cairo_device_release
      Src: /src/cairo/src/cairo-xlib-surface.c:357,1
    - Dst: XFreePixmap
      Src: /src/cairo/src/cairo-xlib-surface.c:355,1
    - Dst: RootWindowOfScreen
      Src: /src/cairo/src/cairo-xlib-surface.c:341,1
    - Dst: _cairo_xlib_surface_create_internal
      Src: /src/cairo/src/cairo-xlib-surface.c:346,1
    - Dst: DefaultVisualOfScreen
      Src: /src/cairo/src/cairo-xlib-surface.c:347,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 360
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 360
    functionName: _cairo_xlib_surface_create_similar
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached:
    - XCreatePixmap
    - _cairo_xlib_display_get_xrender_format
    - _visual_for_xrender_format
    - _cairo_format_from_content
    - DefaultDepthOfScreen
    - DefaultVisualOfScreen
    - _cairo_xlib_display_acquire
    - _xrender_format_to_content
    - cairo_device_release
    - XFreePixmap
    - RootWindowOfScreen
    - _cairo_xlib_surface_create_internal
    - likely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_xlib_surface_create_similar (void\t\
      \ *abstract_src,\t\t\t\t cairo_content_t\tcontent,\t\t\t\t int\t\t\twidth,\t\
      \t\t\t int\t\t\theight) "
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - field
    - width
    - new_width
    argTypes:
    - uint32_t
    - int
    - int
    constantsTouched: []
    func_position:
      end: 616
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 616
    functionName: _resize_field
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'static inline uint32_t _resize_field (uint32_t field, int width, int
      new_width) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _resize_field
      Src: /src/cairo/src/cairo-xlib-surface.c:648,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - field
    - width
    - shift
    argTypes:
    - uint32_t
    - int
    - int
    constantsTouched: []
    func_position:
      end: 649
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 649
    functionName: _field_from_8
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached:
    - _resize_field
    linkageType: ''
    returnType: uint32_t
    signature: 'static inline uint32_t _field_from_8 (uint32_t field, int width, int
      shift) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-xlib-surface.c:1467,1
    - Dst: _cairo_damage_add_rectangle
      Src: /src/cairo/src/cairo-xlib-surface.c:1478,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xlib-surface.c:1468,1
    - Dst: _cairo_image_surface_unmap_image
      Src: /src/cairo/src/cairo-xlib-surface.c:1480,1
    - Dst: TRACE
      Src: /src/cairo/src/cairo-xlib-surface.c:1475,1
    - Dst: _cairo_xlib_surface_draw_image
      Src: /src/cairo/src/cairo-xlib-surface.c:1483,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/src/cairo-xlib-surface.c:1489,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xlib-surface.c:1490,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - abstract_surface
    - image
    argTypes:
    - void*
    - cairo_image_surface_t*
    constantsTouched: []
    func_position:
      end: 1493
      start: 1457
    functionDepth: 0
    functionLinenumber: 1457
    functionLinenumberEnd: 1493
    functionName: _cairo_xlib_surface_unmap_image
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_surface_draw_image
    - TRACE
    - cairo_surface_finish
    - _cairo_damage_add_rectangle
    - assert
    - cairo_surface_destroy
    - _cairo_image_surface_unmap_image
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_xlib_surface_unmap_image (void *abstract_surface,\t\
      \t\t\t cairo_image_surface_t *image) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - abstract_surface
    - rectangle
    argTypes:
    - void*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 1529
      start: 1516
    functionDepth: 0
    functionLinenumber: 1516
    functionLinenumberEnd: 1529
    functionName: _cairo_xlib_surface_get_extents
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _cairo_xlib_surface_get_extents (void\t\t *abstract_surface,\t\
      \t\t\t cairo_rectangle_int_t *rectangle) "
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: DefaultVisualOfScreen
      Src: /src/cairo/src/cairo-xlib-surface.c:1747,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xlib-surface.c:1777,1
    - Dst: _cairo_surface_init
      Src: /src/cairo/src/cairo-xlib-surface.c:1800,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-xlib-surface.c:1775,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xlib-surface.c:1769,1
    - Dst: DefaultDepthOfScreen
      Src: /src/cairo/src/cairo-xlib-surface.c:1748,1
    - Dst: free
      Src: /src/cairo/src/cairo-xlib-surface.c:1781,1
    - Dst: cairo_device_release
      Src: /src/cairo/src/cairo-xlib-surface.c:1798,1
    - Dst: _xrender_format_to_content
      Src: /src/cairo/src/cairo-xlib-surface.c:1803,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xlib-surface.c:1782,1
    - Dst: XRenderFindVisualFormat
      Src: /src/cairo/src/cairo-xlib-surface.c:1789,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xlib-surface.c:1777,1
    - Dst: _cairo_xlib_display_acquire
      Src: /src/cairo/src/cairo-xlib-surface.c:1779,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-surface.c:1780,1
    - Dst: _cairo_xlib_display_get_xrender_format
      Src: /src/cairo/src/cairo-xlib-surface.c:1792,1
    - Dst: CAIRO_RENDER_HAS_CREATE_PICTURE
      Src: /src/cairo/src/cairo-xlib-surface.c:1786,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xlib-surface.c:1769,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-surface.c:1776,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xlib-surface.c:1782,1
    - Dst: cairo_list_add
      Src: /src/cairo/src/cairo-xlib-surface.c:1860,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 92
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1863
      start: 1726
    functionDepth: 0
    functionLinenumber: 1726
    functionLinenumberEnd: 1863
    functionName: _cairo_xlib_surface_create_internal
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_display_get_xrender_format
    - _cairo_surface_init
    - DefaultDepthOfScreen
    - _cairo_error
    - free
    - unlikely
    - DefaultVisualOfScreen
    - _cairo_xlib_display_acquire
    - CAIRO_RENDER_HAS_CREATE_PICTURE
    - _xrender_format_to_content
    - cairo_list_add
    - XRenderFindVisualFormat
    - cairo_device_release
    - _cairo_surface_create_in_error
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_xlib_surface_create_internal (cairo_xlib_screen_t\t\
      *screen,\t\t\t\t Drawable\t\t\t drawable,\t\t\t\t Visual\t\t\t*visual,\t\t\t\
      \t XRenderPictFormat\t\t*xrender_format,\t\t\t\t int\t\t\t width,\t\t\t\t int\t\
      \t\t height,\t\t\t\t int\t\t\t depth) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_is_xlib
      Src: /src/cairo/src/cairo-xlib-surface.c:2380,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-xlib-surface.c:2381,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 2386
      start: 2375
    functionDepth: 0
    functionLinenumber: 2375
    functionLinenumberEnd: 2386
    functionName: cairo_xlib_surface_get_height
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_is_xlib
    - _cairo_error_throw
    linkageType: ''
    returnType: int
    signature: 'int cairo_xlib_surface_get_height (cairo_surface_t *abstract_surface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_flush
      Src: /src/cairo/src/cairo-xlib-surface.c:370,1
    - Dst: _cairo_damage_destroy
      Src: /src/cairo/src/cairo-xlib-surface.c:376,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/src/cairo-xlib-surface.c:372,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xlib-surface.c:373,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_xlib_surface_t*
    constantsTouched: []
    func_position:
      end: 380
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 380
    functionName: _cairo_xlib_surface_discard_shm
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached:
    - cairo_surface_flush
    - _cairo_damage_destroy
    - cairo_surface_finish
    - cairo_surface_destroy
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_xlib_surface_discard_shm (cairo_xlib_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/cairo/src/cairo-xlib-surface.c:621,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-xlib-surface.c:621,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - field
    - adjustment
    argTypes:
    - uint32_t
    - int
    constantsTouched: []
    func_position:
      end: 622
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 622
    functionName: _adjust_field
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached:
    - MIN
    - MAX
    linkageType: ''
    returnType: uint32_t
    signature: 'static inline uint32_t _adjust_field (uint32_t field, int adjustment) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _field_from_8
      Src: /src/cairo/src/cairo-xlib-surface.c:655,1
    - Dst: _adjust_field
      Src: /src/cairo/src/cairo-xlib-surface.c:655,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - field
    - width
    - shift
    - dither_adjustment
    argTypes:
    - uint32_t
    - int
    - int
    - int8_t
    constantsTouched: []
    func_position:
      end: 656
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 656
    functionName: _field_from_8_dither
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached:
    - _field_from_8
    - _adjust_field
    linkageType: ''
    returnType: uint32_t
    signature: "static inline uint32_t _field_from_8_dither (uint32_t field, int width,\
      \ int shift,\t\t int8_t dither_adjustment) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xlib_surface_put_shm
      Src: /src/cairo/src/cairo-xlib-surface.c:1505,1
    - Dst: _cairo_xlib_shm_surface_is_idle
      Src: /src/cairo/src/cairo-xlib-surface.c:1510,1
    - Dst: _cairo_xlib_surface_discard_shm
      Src: /src/cairo/src/cairo-xlib-surface.c:1511,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-surface.c:1506,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - abstract_surface
    - flags
    argTypes:
    - void*
    - unsigned
    constantsTouched: []
    func_position:
      end: 1514
      start: 1495
    functionDepth: 0
    functionLinenumber: 1495
    functionLinenumberEnd: 1514
    functionName: _cairo_xlib_surface_flush
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_shm_surface_is_idle
    - _cairo_xlib_surface_put_shm
    - _cairo_xlib_surface_discard_shm
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_xlib_surface_flush (void *abstract_surface,\t\
      \t\t unsigned flags) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xlib_screen_get_font_options
      Src: /src/cairo/src/cairo-xlib-surface.c:1537,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - abstract_surface
    - options
    argTypes:
    - void*
    - cairo_font_options_t*
    constantsTouched: []
    func_position:
      end: 1538
      start: 1531
    functionDepth: 0
    functionLinenumber: 1531
    functionLinenumberEnd: 1538
    functionName: _cairo_xlib_surface_get_font_options
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_screen_get_font_options
    linkageType: ''
    returnType: void
    signature: "static void _cairo_xlib_surface_get_font_options (void *abstract_surface,\t\
      \t\t\t cairo_font_options_t *options) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ScreenCount
      Src: /src/cairo/src/cairo-xlib-surface.c:1870,1
    - Dst: ScreenOfDisplay
      Src: /src/cairo/src/cairo-xlib-surface.c:1873,1
    - Dst: DefaultVisualOfScreen
      Src: /src/cairo/src/cairo-xlib-surface.c:1874,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1888
      start: 1865
    functionDepth: 0
    functionLinenumber: 1865
    functionLinenumberEnd: 1888
    functionName: _cairo_xlib_screen_from_visual
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached:
    - DefaultVisualOfScreen
    - ScreenCount
    - ScreenOfDisplay
    linkageType: ''
    returnType: Screen*
    signature: 'static Screen *_cairo_xlib_screen_from_visual (Display *dpy, Visual
      *visual) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_popcount
      Src: /src/cairo/src/cairo-xlib-surface.c:592,1
    - Dst: _cairo_popcount
      Src: /src/cairo/src/cairo-xlib-surface.c:594,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - mask
    - width
    - shift
    argTypes:
    - uint32_t
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 595
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 595
    functionName: _characterize_field
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached:
    - _cairo_popcount
    linkageType: ''
    returnType: void
    signature: 'static void _characterize_field (uint32_t mask, int *width, int *shift) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_is_xlib
      Src: /src/cairo/src/cairo-xlib-surface.c:2357,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-xlib-surface.c:2358,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 2363
      start: 2352
    functionDepth: 0
    functionLinenumber: 2352
    functionLinenumberEnd: 2363
    functionName: cairo_xlib_surface_get_width
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_is_xlib
    - _cairo_error_throw
    linkageType: ''
    returnType: int
    signature: 'int cairo_xlib_surface_get_width (cairo_surface_t *abstract_surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_is_xlib
      Src: /src/cairo/src/cairo-xlib-surface.c:2284,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-xlib-surface.c:2285,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2290
      start: 2279
    functionDepth: 0
    functionLinenumber: 2279
    functionLinenumberEnd: 2290
    functionName: cairo_xlib_surface_get_screen
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_is_xlib
    - _cairo_error_throw
    linkageType: ''
    returnType: Screen*
    signature: 'Screen *cairo_xlib_surface_get_screen (cairo_surface_t *abstract_surface) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_is_little_endian
      Src: /src/cairo/src/cairo-xlib-surface.c:534,1
    - Dst: _swap_ximage_nibbles
      Src: /src/cairo/src/cairo-xlib-surface.c:552,1
    - Dst: _swap_ximage_2bytes
      Src: /src/cairo/src/cairo-xlib-surface.c:572,1
    - Dst: _swap_ximage_3bytes
      Src: /src/cairo/src/cairo-xlib-surface.c:575,1
    - Dst: _swap_ximage_bits
      Src: /src/cairo/src/cairo-xlib-surface.c:539,1
    - Dst: _swap_ximage_4bytes
      Src: /src/cairo/src/cairo-xlib-surface.c:578,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 20
    argCount: 1
    argNames:
    - ximage
    argTypes:
    - XImage*
    constantsTouched: []
    func_position:
      end: 583
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 583
    functionName: _swap_ximage_to_native
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached:
    - _swap_ximage_bits
    - _swap_ximage_nibbles
    - _swap_ximage_2bytes
    - _swap_ximage_3bytes
    - _swap_ximage_4bytes
    - _cairo_is_little_endian
    linkageType: ''
    returnType: void
    signature: 'static void _swap_ximage_to_native (XImage *ximage) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bits_per_pixel
      Src: /src/cairo/src/cairo-xlib-surface.c:716,1
    - Dst: _pixman_format_from_masks
      Src: /src/cairo/src/cairo-xlib-surface.c:721,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_xlib_surface_t*
    constantsTouched: []
    func_position:
      end: 725
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 725
    functionName: _pixman_format_for_xlib_surface
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached:
    - _pixman_format_from_masks
    - bits_per_pixel
    linkageType: ''
    returnType: pixman_format_code_t
    signature: 'pixman_format_code_t _pixman_format_for_xlib_surface (cairo_xlib_surface_t
      *surface) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: XRenderChangePicture
      Src: /src/cairo/src/cairo-xlib-surface.c:1053,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 11
    argCount: 2
    argNames:
    - surface
    - antialias
    argTypes:
    - cairo_xlib_surface_t*
    - cairo_antialias_t
    constantsTouched: []
    func_position:
      end: 1058
      start: 1025
    functionDepth: 0
    functionLinenumber: 1025
    functionLinenumberEnd: 1058
    functionName: _cairo_xlib_surface_set_precision
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached:
    - XRenderChangePicture
    linkageType: ''
    returnType: void
    signature: "void _cairo_xlib_surface_set_precision (cairo_xlib_surface_t\t*surface,\t\
      \t\t\t cairo_antialias_t\t antialias) "
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_is_little_endian
      Src: /src/cairo/src/cairo-xlib-surface.c:1097,1
    - Dst: XExtendedMaxRequestSize
      Src: /src/cairo/src/cairo-xlib-surface.c:1142,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-surface.c:1120,1
    - Dst: _cairo_xlib_display_acquire
      Src: /src/cairo/src/cairo-xlib-surface.c:1119,1
    - Dst: XMaxRequestSize
      Src: /src/cairo/src/cairo-xlib-surface.c:1144,1
    - Dst: bits_per_pixel
      Src: /src/cairo/src/cairo-xlib-surface.c:1182,1
    - Dst: XInitImage
      Src: /src/cairo/src/cairo-xlib-surface.c:1229,1
    - Dst: bits_per_pixel
      Src: /src/cairo/src/cairo-xlib-surface.c:1247,1
    - Dst: CAIRO_STRIDE_FOR_WIDTH_BPP
      Src: /src/cairo/src/cairo-xlib-surface.c:1248,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-xlib-surface.c:1251,1
    - Dst: _field_from_8_dither
      Src: /src/cairo/src/cairo-xlib-surface.c:1335,1
    - Dst: _pseudocolor_from_rgb888_dither
      Src: /src/cairo/src/cairo-xlib-surface.c:1337,1
    - Dst: _field_to_8
      Src: /src/cairo/src/cairo-xlib-surface.c:1327,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xlib-surface.c:1289,1
    - Dst: _characterize_field
      Src: /src/cairo/src/cairo-xlib-surface.c:1264,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-surface.c:1348,1
    - Dst: _pixman_format_to_masks
      Src: /src/cairo/src/cairo-xlib-surface.c:1123,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xlib-surface.c:1184,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-xlib-surface.c:1192,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xlib-surface.c:1171,1
    - Dst: _cairo_xlib_surface_create_shm__image
      Src: /src/cairo/src/cairo-xlib-surface.c:1186,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xlib-surface.c:1208,1
    - Dst: pixman_image_get_stride
      Src: /src/cairo/src/cairo-xlib-surface.c:1222,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xlib-surface.c:1260,1
    - Dst: _characterize_field
      Src: /src/cairo/src/cairo-xlib-surface.c:1265,1
    - Dst: _characterize_field
      Src: /src/cairo/src/cairo-xlib-surface.c:1271,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xlib-surface.c:1295,1
    - Dst: _field_from_8_dither
      Src: /src/cairo/src/cairo-xlib-surface.c:1333,1
    - Dst: XPutImage
      Src: /src/cairo/src/cairo-xlib-surface.c:1355,1
    - Dst: _field_to_8
      Src: /src/cairo/src/cairo-xlib-surface.c:1329,1
    - Dst: _field_to_8
      Src: /src/cairo/src/cairo-xlib-surface.c:1326,1
    - Dst: XShmPutImage
      Src: /src/cairo/src/cairo-xlib-surface.c:1352,1
    - Dst: _field_from_8_dither
      Src: /src/cairo/src/cairo-xlib-surface.c:1334,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-surface.c:1279,1
    - Dst: _characterize_field
      Src: /src/cairo/src/cairo-xlib-surface.c:1272,1
    - Dst: _cairo_xlib_surface_create_shm__image
      Src: /src/cairo/src/cairo-xlib-surface.c:1148,1
    - Dst: pixman_image_create_bits
      Src: /src/cairo/src/cairo-xlib-surface.c:1205,1
    - Dst: _cairo_xlib_shm_surface_get_obdata
      Src: /src/cairo/src/cairo-xlib-surface.c:1202,1
    - Dst: _pixman_format_from_masks
      Src: /src/cairo/src/cairo-xlib-surface.c:1183,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xlib-surface.c:1230,1
    - Dst: _characterize_field
      Src: /src/cairo/src/cairo-xlib-surface.c:1262,1
    - Dst: _characterize_field
      Src: /src/cairo/src/cairo-xlib-surface.c:1270,1
    - Dst: _characterize_field
      Src: /src/cairo/src/cairo-xlib-surface.c:1273,1
    - Dst: _cairo_xlib_screen_get_visual_info
      Src: /src/cairo/src/cairo-xlib-surface.c:1275,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xlib-surface.c:1287,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xlib-surface.c:1366,1
    - Dst: pixman_image_unref
      Src: /src/cairo/src/cairo-xlib-surface.c:1368,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xlib-surface.c:1293,1
    - Dst: _cairo_xlib_surface_put_gc
      Src: /src/cairo/src/cairo-xlib-surface.c:1358,1
    - Dst: free
      Src: /src/cairo/src/cairo-xlib-surface.c:1364,1
    - Dst: _field_from_8
      Src: /src/cairo/src/cairo-xlib-surface.c:1332,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-xlib-surface.c:1153,1
    - Dst: _cairo_xlib_shm_surface_get_obdata
      Src: /src/cairo/src/cairo-xlib-surface.c:1159,1
    - Dst: _cairo_xlib_shm_surface_get_obdata
      Src: /src/cairo/src/cairo-xlib-surface.c:1168,1
    - Dst: XInitImage
      Src: /src/cairo/src/cairo-xlib-surface.c:1170,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-xlib-surface.c:1212,1
    - Dst: pixman_image_get_data
      Src: /src/cairo/src/cairo-xlib-surface.c:1221,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-surface.c:1252,1
    - Dst: XInitImage
      Src: /src/cairo/src/cairo-xlib-surface.c:1259,1
    - Dst: _characterize_field
      Src: /src/cairo/src/cairo-xlib-surface.c:1263,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xlib-surface.c:1253,1
    - Dst: XPutPixel
      Src: /src/cairo/src/cairo-xlib-surface.c:1340,1
    - Dst: _cairo_xlib_surface_get_gc
      Src: /src/cairo/src/cairo-xlib-surface.c:1347,1
    - Dst: cairo_device_release
      Src: /src/cairo/src/cairo-xlib-surface.c:1361,1
    - Dst: _field_to_8
      Src: /src/cairo/src/cairo-xlib-surface.c:1328,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 249
    argCount: 8
    argNames:
    - surface
    - image
    - src_x
    - src_y
    - width
    - height
    - dst_x
    - dst_y
    argTypes:
    - cairo_xlib_surface_t*
    - cairo_image_surface_t*
    - int
    - int
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1371
      start: 1084
    functionDepth: 0
    functionLinenumber: 1084
    functionLinenumberEnd: 1371
    functionName: _cairo_xlib_surface_draw_image
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_surface_put_gc
    - _cairo_error
    - bits_per_pixel
    - XInitImage
    - pixman_image_unref
    - _cairo_xlib_display_acquire
    - XShmPutImage
    - XPutPixel
    - XExtendedMaxRequestSize
    - _cairo_xlib_surface_create_shm__image
    - _cairo_xlib_screen_get_visual_info
    - _pseudocolor_from_rgb888_dither
    - _cairo_xlib_surface_get_gc
    - ARRAY_LENGTH
    - _characterize_field
    - _field_to_8
    - pixman_image_get_data
    - assert
    - XMaxRequestSize
    - pixman_image_get_stride
    - XPutImage
    - _field_from_8
    - _cairo_is_little_endian
    - _field_from_8_dither
    - _pixman_format_to_masks
    - _cairo_xlib_shm_surface_get_obdata
    - free
    - pixman_image_composite32
    - cairo_surface_destroy
    - _pixman_format_from_masks
    - cairo_device_release
    - CAIRO_STRIDE_FOR_WIDTH_BPP
    - _cairo_malloc_ab
    - pixman_image_create_bits
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_xlib_surface_draw_image (cairo_xlib_surface_t\
      \ *surface,\t\t\t\tcairo_image_surface_t *image,\t\t\t\tint src_x,\t\t\t\tint\
      \ src_y,\t\t\t\tint width,\t\t\t\tint height,\t\t\t\tint dst_x,\t\t\t\tint dst_y) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-xlib-surface.c:1548,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xlib-surface.c:1549,1
    - Dst: _cairo_xlib_surface_put_shm
      Src: /src/cairo/src/cairo-xlib-surface.c:1556,1
    - Dst: _cairo_xlib_shm_surface_is_active
      Src: /src/cairo/src/cairo-xlib-surface.c:1551,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xlib-surface.c:1550,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - surface
    - compositor
    argTypes:
    - cairo_xlib_surface_t**
    - cairo_compositor_t**
    constantsTouched: []
    func_position:
      end: 1564
      start: 1540
    functionDepth: 0
    functionLinenumber: 1540
    functionLinenumberEnd: 1564
    functionName: get_compositor
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_surface_put_shm
    - _cairo_xlib_shm_surface_is_active
    - assert
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static inline cairo_int_status_t get_compositor (cairo_xlib_surface_t\
      \ **surface,\t\tconst cairo_compositor_t **compositor) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_is_xlib
      Src: /src/cairo/src/cairo-xlib-surface.c:2068,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-xlib-surface.c:2069,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2074
      start: 2062
    functionDepth: 0
    functionLinenumber: 2062
    functionLinenumberEnd: 2074
    functionName: cairo_xlib_surface_get_xrender_format
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_is_xlib
    - _cairo_error_throw
    linkageType: ''
    returnType: XRenderPictFormat*
    signature: 'XRenderPictFormat *cairo_xlib_surface_get_xrender_format (cairo_surface_t
      *surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_is_xlib
      Src: /src/cairo/src/cairo-xlib-surface.c:2334,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-xlib-surface.c:2335,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 2340
      start: 2329
    functionDepth: 0
    functionLinenumber: 2329
    functionLinenumberEnd: 2340
    functionName: cairo_xlib_surface_get_depth
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_is_xlib
    - _cairo_error_throw
    linkageType: ''
    returnType: int
    signature: 'int cairo_xlib_surface_get_depth (cairo_surface_t *abstract_surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _x_bread_crumb
      Src: /src/cairo/src/cairo-xlib-surface.c:98,1
    - Dst: vsnprintf
      Src: /src/cairo/src/cairo-xlib-surface.c:108,1
    - Dst: LockDisplay
      Src: /src/cairo/src/cairo-xlib-surface.c:115,1
    - Dst: va_end
      Src: /src/cairo/src/cairo-xlib-surface.c:109,1
    - Dst: va_start
      Src: /src/cairo/src/cairo-xlib-surface.c:107,1
    - Dst: GetEmptyReq
      Src: /src/cairo/src/cairo-xlib-surface.c:116,1
    - Dst: SetReqLen
      Src: /src/cairo/src/cairo-xlib-surface.c:119,1
    - Dst: Data
      Src: /src/cairo/src/cairo-xlib-surface.c:120,1
    - Dst: UnlockDisplay
      Src: /src/cairo/src/cairo-xlib-surface.c:122,1
    - Dst: SyncHandle
      Src: /src/cairo/src/cairo-xlib-surface.c:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames:
    - 2, 3
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 124
    functionName: CAIRO_PRINTF_FORMAT
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached:
    - UnlockDisplay
    - _x_bread_crumb
    - GetEmptyReq
    - SyncHandle
    - vsnprintf
    - va_end
    - SetReqLen
    - LockDisplay
    - va_start
    - Data
    linkageType: ''
    returnType: void
    signature: "static void CAIRO_PRINTF_FORMAT (2, 3)_x_bread_crumb (Display *dpy,\t\
      \tconst char *fmt,\t\t...) "
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_xlib_surface_t*
    constantsTouched: []
    func_position:
      end: 708
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 708
    functionName: bits_per_pixel
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int bits_per_pixel(cairo_xlib_surface_t *surface) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/src/cairo-xlib-surface.c:768,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xlib-surface.c:773,1
    - Dst: XSync
      Src: /src/cairo/src/cairo-xlib-surface.c:796,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xlib-surface.c:810,1
    - Dst: XGetImage
      Src: /src/cairo/src/cairo-xlib-surface.c:821,1
    - Dst: XCopyArea
      Src: /src/cairo/src/cairo-xlib-surface.c:863,1
    - Dst: XChangeGC
      Src: /src/cairo/src/cairo-xlib-surface.c:869,1
    - Dst: _cairo_xlib_surface_put_gc
      Src: /src/cairo/src/cairo-xlib-surface.c:880,1
    - Dst: _cairo_image_surface_create_with_pixman_format
      Src: /src/cairo/src/cairo-xlib-surface.c:900,1
    - Dst: _characterize_field
      Src: /src/cairo/src/cairo-xlib-surface.c:956,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xlib-surface.c:987,1
    - Dst: cairo_image_surface_get_data
      Src: /src/cairo/src/cairo-xlib-surface.c:978,1
    - Dst: cairo_surface_mark_dirty
      Src: /src/cairo/src/cairo-xlib-surface.c:1007,1
    - Dst: _field_to_8_undither
      Src: /src/cairo/src/cairo-xlib-surface.c:998,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xlib-surface.c:738,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xlib-surface.c:740,1
    - Dst: _cairo_image_surface_create_with_pixman_format
      Src: /src/cairo/src/cairo-xlib-surface.c:749,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-surface.c:772,1
    - Dst: _cairo_xlib_surface_create_shm__image
      Src: /src/cairo/src/cairo-xlib-surface.c:787,1
    - Dst: XSync
      Src: /src/cairo/src/cairo-xlib-surface.c:818,1
    - Dst: XFreePixmap
      Src: /src/cairo/src/cairo-xlib-surface.c:877,1
    - Dst: _swap_ximage_to_native
      Src: /src/cairo/src/cairo-xlib-surface.c:888,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xlib-surface.c:883,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-surface.c:906,1
    - Dst: _field_to_8_undither
      Src: /src/cairo/src/cairo-xlib-surface.c:996,1
    - Dst: _field_to_8_undither
      Src: /src/cairo/src/cairo-xlib-surface.c:997,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xlib-surface.c:1019,1
    - Dst: cairo_device_release
      Src: /src/cairo/src/cairo-xlib-surface.c:1014,1
    - Dst: XGetPixel
      Src: /src/cairo/src/cairo-xlib-surface.c:992,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/src/cairo-xlib-surface.c:972,1
    - Dst: _characterize_field
      Src: /src/cairo/src/cairo-xlib-surface.c:957,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/src/cairo-xlib-surface.c:762,1
    - Dst: _cairo_pattern_init_for_surface
      Src: /src/cairo/src/cairo-xlib-surface.c:767,1
    - Dst: _cairo_xlib_display_acquire
      Src: /src/cairo/src/cairo-xlib-surface.c:780,1
    - Dst: _cairo_pattern_fini
      Src: /src/cairo/src/cairo-xlib-surface.c:771,1
    - Dst: _pixman_format_for_xlib_surface
      Src: /src/cairo/src/cairo-xlib-surface.c:784,1
    - Dst: _cairo_xlib_shm_surface_get_ximage
      Src: /src/cairo/src/cairo-xlib-surface.c:794,1
    - Dst: XSetErrorHandler
      Src: /src/cairo/src/cairo-xlib-surface.c:803,1
    - Dst: XSetErrorHandler
      Src: /src/cairo/src/cairo-xlib-surface.c:819,1
    - Dst: XCreatePixmap
      Src: /src/cairo/src/cairo-xlib-surface.c:853,1
    - Dst: XGetImage
      Src: /src/cairo/src/cairo-xlib-surface.c:871,1
    - Dst: _cairo_image_surface_assume_ownership_of_data
      Src: /src/cairo/src/cairo-xlib-surface.c:910,1
    - Dst: cairo_image_surface_get_stride
      Src: /src/cairo/src/cairo-xlib-surface.c:979,1
    - Dst: XDestroyImage
      Src: /src/cairo/src/cairo-xlib-surface.c:1012,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xlib-surface.c:1018,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xlib-surface.c:985,1
    - Dst: _field_to_8
      Src: /src/cairo/src/cairo-xlib-surface.c:995,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xlib-surface.c:989,1
    - Dst: _characterize_field
      Src: /src/cairo/src/cairo-xlib-surface.c:959,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xlib-surface.c:739,1
    - Dst: _pixman_format_for_xlib_surface
      Src: /src/cairo/src/cairo-xlib-surface.c:746,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xlib-surface.c:741,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-surface.c:764,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xlib-surface.c:782,1
    - Dst: _cairo_surface_paint
      Src: /src/cairo/src/cairo-xlib-surface.c:770,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xlib-surface.c:774,1
    - Dst: XSetErrorHandler
      Src: /src/cairo/src/cairo-xlib-surface.c:797,1
    - Dst: XShmGetImage
      Src: /src/cairo/src/cairo-xlib-surface.c:798,1
    - Dst: cairo_device_release
      Src: /src/cairo/src/cairo-xlib-surface.c:806,1
    - Dst: XSetErrorHandler
      Src: /src/cairo/src/cairo-xlib-surface.c:827,1
    - Dst: _cairo_xlib_surface_get_gc
      Src: /src/cairo/src/cairo-xlib-surface.c:849,1
    - Dst: XChangeGC
      Src: /src/cairo/src/cairo-xlib-surface.c:861,1
    - Dst: _characterize_field
      Src: /src/cairo/src/cairo-xlib-surface.c:958,1
    - Dst: _cairo_xlib_screen_get_visual_info
      Src: /src/cairo/src/cairo-xlib-surface.c:964,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-surface.c:975,1
    - Dst: _pseudocolor_to_rgb888
      Src: /src/cairo/src/cairo-xlib-surface.c:1001,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-surface.c:1016,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xlib-surface.c:983,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-surface.c:850,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-surface.c:968,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 199
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 1023
    functionName: _get_image_surface
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_surface_put_gc
    - _cairo_image_surface_create_with_pixman_format
    - _swap_ximage_to_native
    - _cairo_error
    - cairo_surface_mark_dirty
    - XGetImage
    - _cairo_xlib_display_acquire
    - _field_to_8_undither
    - _cairo_surface_create_in_error
    - _cairo_xlib_shm_surface_get_ximage
    - _cairo_surface_paint
    - _cairo_pattern_init_for_surface
    - XSetErrorHandler
    - XShmGetImage
    - _cairo_pattern_fini
    - _cairo_xlib_screen_get_visual_info
    - _cairo_image_surface_assume_ownership_of_data
    - cairo_image_surface_get_stride
    - XGetPixel
    - _cairo_xlib_surface_get_gc
    - _pseudocolor_to_rgb888
    - XCopyArea
    - ARRAY_LENGTH
    - _characterize_field
    - _field_to_8
    - assert
    - XFreePixmap
    - XSync
    - cairo_matrix_init_translate
    - _pixman_format_for_xlib_surface
    - XCreatePixmap
    - XChangeGC
    - cairo_image_surface_get_data
    - cairo_surface_destroy
    - cairo_image_surface_create
    - cairo_device_release
    - XDestroyImage
    - _cairo_xlib_surface_create_shm__image
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_get_image_surface (cairo_xlib_surface_t *surface,\t\
      \t const cairo_rectangle_int_t *extents,\t\t int try_shm) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XRenderCreatePicture
      Src: /src/cairo/src/cairo-xlib-surface.c:1078,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_xlib_surface_t*
    constantsTouched: []
    func_position:
      end: 1082
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1082
    functionName: _cairo_xlib_surface_ensure_picture
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached:
    - XRenderCreatePicture
    linkageType: ''
    returnType: void
    signature: 'void _cairo_xlib_surface_ensure_picture (cairo_xlib_surface_t *surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1373
    functionDepth: 0
    functionLinenumber: 1373
    functionLinenumberEnd: 1386
    functionName: _cairo_xlib_surface_source
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_xlib_surface_source(void *abstract_surface,\t\
      \t\t cairo_rectangle_int_t *extents) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_compositor
      Src: /src/cairo/src/cairo-xlib-surface.c:1576,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-surface.c:1577,1
    - Dst: _cairo_compositor_paint
      Src: /src/cairo/src/cairo-xlib-surface.c:1580,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 4
    argNames:
    - _surface
    - op
    - source
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 1583
      start: 1566
    functionDepth: 0
    functionLinenumber: 1566
    functionLinenumberEnd: 1583
    functionName: _cairo_xlib_surface_paint
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached:
    - get_compositor
    - _cairo_compositor_paint
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_xlib_surface_paint (void\t\t\t\t\
      *_surface,\t\t\t cairo_operator_t\t\t op,\t\t\t const cairo_pattern_t\t*source,\t\
      \t\t const cairo_clip_t\t\t*clip) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: valid_size
      Src: /src/cairo/src/cairo-xlib-surface.c:2033,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-surface.c:2037,1
    - Dst: _cairo_xlib_screen_get
      Src: /src/cairo/src/cairo-xlib-surface.c:2036,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xlib-surface.c:2034,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xlib-surface.c:2034,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xlib-surface.c:2038,1
    - Dst: X_DEBUG
      Src: /src/cairo/src/cairo-xlib-surface.c:2040,1
    - Dst: _cairo_xlib_surface_create_internal
      Src: /src/cairo/src/cairo-xlib-surface.c:2042,1
    - Dst: _visual_for_xrender_format
      Src: /src/cairo/src/cairo-xlib-surface.c:2043,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2045
      start: 2022
    functionDepth: 0
    functionLinenumber: 2022
    functionLinenumberEnd: 2045
    functionName: cairo_xlib_surface_create_with_xrender_format
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached:
    - _visual_for_xrender_format
    - X_DEBUG
    - _cairo_error
    - _cairo_xlib_screen_get
    - _cairo_surface_create_in_error
    - _cairo_xlib_surface_create_internal
    - valid_size
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *cairo_xlib_surface_create_with_xrender_format (Display\t\
      \t *dpy,\t\t\t\t\t Drawable\t\t drawable,\t\t\t\t\t Screen\t\t *scr,\t\t\t\t\
      \t XRenderPictFormat *format,\t\t\t\t\t int\t\t width,\t\t\t\t\t int\t\t height) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_is_xlib
      Src: /src/cairo/src/cairo-xlib-surface.c:2311,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-xlib-surface.c:2312,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2317
      start: 2306
    functionDepth: 0
    functionLinenumber: 2306
    functionLinenumberEnd: 2317
    functionName: cairo_xlib_surface_get_visual
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_is_xlib
    - _cairo_error_throw
    linkageType: ''
    returnType: Visual*
    signature: 'Visual *cairo_xlib_surface_get_visual (cairo_surface_t *surface) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_del
      Src: /src/cairo/src/cairo-xlib-surface.c:389,1
    - Dst: XRenderFreePicture
      Src: /src/cairo/src/cairo-xlib-surface.c:398,1
    - Dst: X_DEBUG
      Src: /src/cairo/src/cairo-xlib-surface.c:395,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-surface.c:392,1
    - Dst: _cairo_xlib_display_acquire
      Src: /src/cairo/src/cairo-xlib-surface.c:391,1
    - Dst: XRenderFreePicture
      Src: /src/cairo/src/cairo-xlib-surface.c:400,1
    - Dst: _cairo_xlib_surface_discard_shm
      Src: /src/cairo/src/cairo-xlib-surface.c:402,1
    - Dst: XFreePixmap
      Src: /src/cairo/src/cairo-xlib-surface.c:405,1
    - Dst: cairo_device_release
      Src: /src/cairo/src/cairo-xlib-surface.c:407,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 410
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 410
    functionName: _cairo_xlib_surface_finish
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached:
    - X_DEBUG
    - _cairo_xlib_display_acquire
    - XFreePixmap
    - cairo_device_release
    - XRenderFreePicture
    - cairo_list_del
    - _cairo_xlib_surface_discard_shm
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_xlib_surface_finish (void *abstract_surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - display
    - event
    argTypes:
    - Display*
    - XErrorEvent*
    constantsTouched: []
    func_position:
      end: 432
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 432
    functionName: _noop_error_handler
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "static int _noop_error_handler (Display *display,\t\t XErrorEvent\
      \ *event) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - ximage
    argTypes:
    - XImage*
    constantsTouched: []
    func_position:
      end: 469
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 469
    functionName: _swap_ximage_3bytes
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _swap_ximage_3bytes (XImage *ximage) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - ximage
    argTypes:
    - XImage*
    constantsTouched: []
    func_position:
      end: 503
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 503
    functionName: _swap_ximage_nibbles
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _swap_ximage_nibbles (XImage *ximage) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _resize_field
      Src: /src/cairo/src/cairo-xlib-surface.c:633,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - field
    - width
    - shift
    argTypes:
    - uint32_t
    - int
    - int
    constantsTouched: []
    func_position:
      end: 634
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 634
    functionName: _field_to_8
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached:
    - _resize_field
    linkageType: ''
    returnType: uint32_t
    signature: 'static inline uint32_t _field_to_8 (uint32_t field, int width, int
      shift) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xlib_surface_get_shm
      Src: /src/cairo/src/cairo-xlib-surface.c:1398,1
    - Dst: _get_image_surface
      Src: /src/cairo/src/cairo-xlib-surface.c:1407,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - abstract_surface
    - image_out
    - image_extra
    argTypes:
    - void*
    - cairo_image_surface_t**
    - void**
    constantsTouched: []
    func_position:
      end: 1409
      start: 1388
    functionDepth: 0
    functionLinenumber: 1388
    functionLinenumberEnd: 1409
    functionName: _cairo_xlib_surface_acquire_source_image
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_surface_get_shm
    - _get_image_surface
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_xlib_surface_acquire_source_image (void\
      \ *abstract_surface,\t\t\t\t\t cairo_image_surface_t **image_out,\t\t\t\t\t\
      \ void **image_extra) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xlib-surface.c:1434,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - abstract_surface
    - image
    - image_extra
    argTypes:
    - void*
    - cairo_image_surface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1435
      start: 1424
    functionDepth: 0
    functionLinenumber: 1424
    functionLinenumberEnd: 1435
    functionName: _cairo_xlib_surface_release_source_image
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached:
    - cairo_surface_destroy
    linkageType: ''
    returnType: void
    signature: "static void _cairo_xlib_surface_release_source_image (void *abstract_surface,\t\
      \t\t\t\t cairo_image_surface_t *image,\t\t\t\t\t void *image_extra) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_is_xlib
      Src: /src/cairo/src/cairo-xlib-surface.c:2261,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-xlib-surface.c:2262,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 2267
      start: 2256
    functionDepth: 0
    functionLinenumber: 2256
    functionLinenumberEnd: 2267
    functionName: cairo_xlib_surface_get_drawable
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_is_xlib
    - _cairo_error_throw
    linkageType: ''
    returnType: Drawable
    signature: 'Drawable cairo_xlib_surface_get_drawable (cairo_surface_t *abstract_surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xlib_screen_get_gc
      Src: /src/cairo/src/cairo-xlib-surface.c:417,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xlib-surface.c:422,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-surface.c:421,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - display
    - surface
    - gc
    argTypes:
    - cairo_xlib_display_t*
    - cairo_xlib_surface_t*
    - GC*
    constantsTouched: []
    func_position:
      end: 425
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 425
    functionName: _cairo_xlib_surface_get_gc
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - unlikely
    - _cairo_xlib_screen_get_gc
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_xlib_surface_get_gc (cairo_xlib_display_t *display,
      cairo_xlib_surface_t *surface, GC *gc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bswap_16
      Src: /src/cairo/src/cairo-xlib-surface.c:443,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - ximage
    argTypes:
    - XImage*
    constantsTouched: []
    func_position:
      end: 449
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 449
    functionName: _swap_ximage_2bytes
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached:
    - bswap_16
    linkageType: ''
    returnType: void
    signature: 'static void _swap_ximage_2bytes (XImage *ximage) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bswap_32
      Src: /src/cairo/src/cairo-xlib-surface.c:480,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - ximage
    argTypes:
    - XImage*
    constantsTouched: []
    func_position:
      end: 486
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 486
    functionName: _swap_ximage_4bytes
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached:
    - bswap_32
    linkageType: ''
    returnType: void
    signature: 'static void _swap_ximage_4bytes (XImage *ximage) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 1
    argNames:
    - ximage
    argTypes:
    - XImage*
    constantsTouched: []
    func_position:
      end: 528
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 528
    functionName: _swap_ximage_bits
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _swap_ximage_bits (XImage *ximage) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _adjust_field
      Src: /src/cairo/src/cairo-xlib-surface.c:640,1
    - Dst: _field_to_8
      Src: /src/cairo/src/cairo-xlib-surface.c:640,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - field
    - width
    - shift
    - dither_adjustment
    argTypes:
    - uint32_t
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 641
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 641
    functionName: _field_to_8_undither
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached:
    - _adjust_field
    - _field_to_8
    linkageType: ''
    returnType: uint32_t
    signature: "static inline uint32_t _field_to_8_undither (uint32_t field, int width,\
      \ int shift,\t\t int dither_adjustment) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _get_image_surface
      Src: /src/cairo/src/cairo-xlib-surface.c:1421,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1411
    functionDepth: 0
    functionLinenumber: 1411
    functionLinenumberEnd: 1422
    functionName: _cairo_xlib_surface_snapshot
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached:
    - _get_image_surface
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *_cairo_xlib_surface_snapshot (void *abstract_surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xlib_surface_get_shm
      Src: /src/cairo/src/cairo-xlib-surface.c:1444,1
    - Dst: _get_image_surface
      Src: /src/cairo/src/cairo-xlib-surface.c:1451,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xlib-surface.c:1446,1
    - Dst: _cairo_image_surface_map_to_image
      Src: /src/cairo/src/cairo-xlib-surface.c:1448,1
    - Dst: cairo_surface_set_device_offset
      Src: /src/cairo/src/cairo-xlib-surface.c:1452,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1437
    functionDepth: 0
    functionLinenumber: 1437
    functionLinenumberEnd: 1455
    functionName: _cairo_xlib_surface_map_to_image
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached:
    - _cairo_image_surface_map_to_image
    - _cairo_xlib_surface_get_shm
    - _get_image_surface
    - assert
    - cairo_surface_set_device_offset
    linkageType: ''
    returnType: cairo_image_surface_t*
    signature: "static cairo_image_surface_t *_cairo_xlib_surface_map_to_image (void\
      \ *abstract_surface,\t\t\t\t const cairo_rectangle_int_t *extents) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: valid_size
      Src: /src/cairo/src/cairo-xlib-surface.c:1940,1
    - Dst: _cairo_xlib_screen_from_visual
      Src: /src/cairo/src/cairo-xlib-surface.c:1945,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xlib-surface.c:1947,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xlib-surface.c:1942,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xlib-surface.c:1942,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xlib-surface.c:1947,1
    - Dst: _cairo_xlib_screen_get
      Src: /src/cairo/src/cairo-xlib-surface.c:1949,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-surface.c:1950,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xlib-surface.c:1951,1
    - Dst: X_DEBUG
      Src: /src/cairo/src/cairo-xlib-surface.c:1953,1
    - Dst: _cairo_xlib_surface_create_internal
      Src: /src/cairo/src/cairo-xlib-surface.c:1955,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1958
      start: 1929
    functionDepth: 0
    functionLinenumber: 1929
    functionLinenumberEnd: 1958
    functionName: cairo_xlib_surface_create
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_screen_from_visual
    - X_DEBUG
    - _cairo_error
    - _cairo_xlib_screen_get
    - _cairo_surface_create_in_error
    - _cairo_xlib_surface_create_internal
    - valid_size
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *cairo_xlib_surface_create (Display *dpy,\t\t\t Drawable\t\
      drawable,\t\t\t Visual *visual,\t\t\t int\t\twidth,\t\t\t int\t\theight) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_is_xlib
      Src: /src/cairo/src/cairo-xlib-surface.c:2238,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-xlib-surface.c:2239,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2244
      start: 2235
    functionDepth: 0
    functionLinenumber: 2235
    functionLinenumberEnd: 2244
    functionName: cairo_xlib_surface_get_display
    functionSourceFile: /src/cairo/src/cairo-xlib-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_is_xlib
    - _cairo_error_throw
    linkageType: ''
    returnType: Display*
    signature: 'Display *cairo_xlib_surface_get_display (cairo_surface_t *abstract_surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 234
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 234
    functionName: cairo_version
    functionSourceFile: /src/cairo/src/cairo-version.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int cairo_version (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: cairo_version_string
    functionSourceFile: /src/cairo/src/cairo-version.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *cairo_version_string (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_fill
      Src: /src/cairo/src/cairo-paginated-surface.c:704,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 8
    argNames:
    - abstract_surface
    - op
    - source
    - path
    - fill_rule
    - tolerance
    - antialias
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 708
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 708
    functionName: _cairo_paginated_surface_fill
    functionSourceFile: /src/cairo/src/cairo-paginated-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_fill
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_paginated_surface_fill (void\t\t\t\
      *abstract_surface,\t\t\t cairo_operator_t\t\t op,\t\t\t const cairo_pattern_t\t\
      *source,\t\t\t const cairo_path_fixed_t\t*path,\t\t\t cairo_fill_rule_t\t fill_rule,\t\
      \t\t double\t\t\t tolerance,\t\t\t cairo_antialias_t\t antialias,\t\t\t const\
      \ cairo_clip_t\t\t*clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_tag
      Src: /src/cairo/src/cairo-paginated-surface.c:762,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - abstract_surface
    - begin
    - tag_name
    - attributes
    argTypes:
    - void*
    - cairo_bool_t
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 764
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 764
    functionName: _cairo_paginated_surface_tag
    functionSourceFile: /src/cairo/src/cairo-paginated-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_tag
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_paginated_surface_tag (void\t\t\t\
      \ *abstract_surface,\t\t\t cairo_bool_t begin,\t\t\t const char *tag_name,\t\
      \t\t const char *attributes) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_has_show_text_glyphs
      Src: /src/cairo/src/cairo-paginated-surface.c:715,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 716
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 716
    functionName: _cairo_paginated_surface_has_show_text_glyphs
    functionSourceFile: /src/cairo/src/cairo-paginated-surface.c
    functionUses: []
    functionsReached:
    - cairo_surface_has_show_text_glyphs
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_paginated_surface_has_show_text_glyphs
      (void *abstract_surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - abstract_surface
    - scaled_font
    - glyph_index
    argTypes:
    - void*
    - cairo_scaled_font_t*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 772
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 772
    functionName: _cairo_paginated_surface_supports_color_glyph
    functionSourceFile: /src/cairo/src/cairo-paginated-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_paginated_surface_supports_color_glyph
      (void *abstract_surface, cairo_scaled_font_t *scaled_font, unsigned long glyph_index) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-paginated-surface.c:161,1
    - Dst: _cairo_surface_is_paginated
      Src: /src/cairo/src/cairo-paginated-surface.c:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 165
    functionName: _cairo_paginated_surface_get_recording
    functionSourceFile: /src/cairo/src/cairo-paginated-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_is_paginated
    - assert
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'cairo_surface_t *_cairo_paginated_surface_get_recording (cairo_surface_t
      *surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_paginated_surface_create_image_surface
      Src: /src/cairo/src/cairo-paginated-surface.c:366,1
    - Dst: ceil
      Src: /src/cairo/src/cairo-paginated-surface.c:367,1
    - Dst: cairo_surface_set_device_offset
      Src: /src/cairo/src/cairo-paginated-surface.c:372,1
    - Dst: ceil
      Src: /src/cairo/src/cairo-paginated-surface.c:368,1
    - Dst: cairo_surface_set_device_scale
      Src: /src/cairo/src/cairo-paginated-surface.c:369,1
    - Dst: _cairo_recording_surface_replay
      Src: /src/cairo/src/cairo-paginated-surface.c:374,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-paginated-surface.c:375,1
    - Dst: _cairo_pattern_init_for_surface
      Src: /src/cairo/src/cairo-paginated-surface.c:378,1
    - Dst: cairo_matrix_init
      Src: /src/cairo/src/cairo-paginated-surface.c:379,1
    - Dst: _cairo_clip_intersect_rectangle
      Src: /src/cairo/src/cairo-paginated-surface.c:385,1
    - Dst: _cairo_surface_paint
      Src: /src/cairo/src/cairo-paginated-surface.c:386,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-paginated-surface.c:393,1
    - Dst: _cairo_pattern_fini
      Src: /src/cairo/src/cairo-paginated-surface.c:390,1
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-paginated-surface.c:389,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 2
    argNames:
    - surface
    - rect
    argTypes:
    - cairo_paginated_surface_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 396
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 396
    functionName: _paint_fallback_image
    functionSourceFile: /src/cairo/src/cairo-paginated-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_init_for_surface
    - _cairo_clip_destroy
    - _cairo_clip_intersect_rectangle
    - _cairo_pattern_fini
    - cairo_surface_destroy
    - cairo_surface_set_device_scale
    - cairo_surface_set_device_offset
    - _cairo_recording_surface_replay
    - _cairo_paginated_surface_create_image_surface
    - ceil
    - cairo_matrix_init
    - _cairo_surface_paint
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _paint_fallback_image (cairo_paginated_surface_t\
      \ *surface,\t\t cairo_rectangle_int_t *rect) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-paginated-surface.c:560,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_paginated_surface_t*
    constantsTouched: []
    func_position:
      end: 562
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 562
    functionName: _start_page
    functionSourceFile: /src/cairo/src/cairo-paginated-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_set_error
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _start_page (cairo_paginated_surface_t *surface) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _start_page
      Src: /src/cairo/src/cairo-paginated-surface.c:597,1
    - Dst: _paint_page
      Src: /src/cairo/src/cairo-paginated-surface.c:601,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-paginated-surface.c:602,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-paginated-surface.c:598,1
    - Dst: cairo_surface_show_page
      Src: /src/cairo/src/cairo-paginated-surface.c:605,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-paginated-surface.c:607,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-paginated-surface.c:611,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-paginated-surface.c:615,1
    - Dst: _create_recording_surface_for_target
      Src: /src/cairo/src/cairo-paginated-surface.c:617,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-paginated-surface.c:620,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 628
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 628
    functionName: _cairo_paginated_surface_show_page
    functionSourceFile: /src/cairo/src/cairo-paginated-surface.c
    functionUses: []
    functionsReached:
    - _paint_page
    - _create_recording_surface_for_target
    - cairo_surface_destroy
    - _start_page
    - cairo_surface_show_page
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t _cairo_paginated_surface_show_page (void
      *abstract_surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-paginated-surface.c:176,1
    - Dst: _cairo_surface_is_paginated
      Src: /src/cairo/src/cairo-paginated-surface.c:176,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-paginated-surface.c:189,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-paginated-surface.c:185,1
    - Dst: cairo_recording_surface_create
      Src: /src/cairo/src/cairo-paginated-surface.c:186,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-paginated-surface.c:190,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - surface
    - width
    - height
    argTypes:
    - cairo_surface_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 193
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 193
    functionName: _cairo_paginated_surface_set_size
    functionSourceFile: /src/cairo/src/cairo-paginated-surface.c
    functionUses: []
    functionsReached:
    - cairo_surface_destroy
    - _cairo_surface_is_paginated
    - assert
    - _cairo_surface_set_error
    - cairo_recording_surface_create
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_paginated_surface_set_size (cairo_surface_t\t\
      *surface,\t\t\t\t double\t\t width,\t\t\t\t double\t\t height) "
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-paginated-surface.c:411,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-paginated-surface.c:412,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-paginated-surface.c:416,1
    - Dst: _cairo_recording_surface_region_array_attach
      Src: /src/cairo/src/cairo-paginated-surface.c:426,1
    - Dst: _cairo_recording_surface_replay_and_create_regions
      Src: /src/cairo/src/cairo-paginated-surface.c:430,1
    - Dst: _cairo_analysis_surface_get_bounding_box
      Src: /src/cairo/src/cairo-paginated-surface.c:441,1
    - Dst: assert
      Src: /src/cairo/src/cairo-paginated-surface.c:488,1
    - Dst: cairo_region_num_rectangles
      Src: /src/cairo/src/cairo-paginated-surface.c:524,1
    - Dst: cairo_region_get_rectangle
      Src: /src/cairo/src/cairo-paginated-surface.c:528,1
    - Dst: _cairo_recording_surface_region_array_remove
      Src: /src/cairo/src/cairo-paginated-surface.c:544,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-paginated-surface.c:509,1
    - Dst: _cairo_recording_surface_has_tags
      Src: /src/cairo/src/cairo-paginated-surface.c:421,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-paginated-surface.c:479,1
    - Dst: _cairo_analysis_surface_get_unsupported
      Src: /src/cairo/src/cairo-paginated-surface.c:522,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-paginated-surface.c:530,1
    - Dst: _paint_thumbnail_image
      Src: /src/cairo/src/cairo-paginated-surface.c:539,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-paginated-surface.c:548,1
    - Dst: _paint_fallback_image
      Src: /src/cairo/src/cairo-paginated-surface.c:529,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-paginated-surface.c:407,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-paginated-surface.c:443,1
    - Dst: _cairo_analysis_surface_has_unsupported
      Src: /src/cairo/src/cairo-paginated-surface.c:448,1
    - Dst: _cairo_analysis_surface_has_unsupported
      Src: /src/cairo/src/cairo-paginated-surface.c:467,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-paginated-surface.c:499,1
    - Dst: _cairo_surface_get_extents
      Src: /src/cairo/src/cairo-paginated-surface.c:502,1
    - Dst: _paint_fallback_image
      Src: /src/cairo/src/cairo-paginated-surface.c:508,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-paginated-surface.c:546,1
    - Dst: _cairo_analysis_surface_create
      Src: /src/cairo/src/cairo-paginated-surface.c:410,1
    - Dst: assert
      Src: /src/cairo/src/cairo-paginated-surface.c:436,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-paginated-surface.c:452,1
    - Dst: _cairo_analysis_surface_has_supported
      Src: /src/cairo/src/cairo-paginated-surface.c:461,1
    - Dst: _cairo_analysis_surface_has_unsupported
      Src: /src/cairo/src/cairo-paginated-surface.c:463,1
    - Dst: _cairo_recording_surface_replay_region
      Src: /src/cairo/src/cairo-paginated-surface.c:483,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-paginated-surface.c:489,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-paginated-surface.c:519,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 90
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_paginated_surface_t*
    constantsTouched: []
    func_position:
      end: 549
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 549
    functionName: _paint_page
    functionSourceFile: /src/cairo/src/cairo-paginated-surface.c
    functionUses: []
    functionsReached:
    - _paint_thumbnail_image
    - _cairo_recording_surface_replay_region
    - _cairo_surface_get_extents
    - _cairo_analysis_surface_create
    - _cairo_analysis_surface_has_unsupported
    - _cairo_recording_surface_region_array_remove
    - cairo_region_num_rectangles
    - _cairo_analysis_surface_get_unsupported
    - _cairo_recording_surface_has_tags
    - _cairo_analysis_surface_get_bounding_box
    - assert
    - _cairo_recording_surface_region_array_attach
    - _cairo_surface_set_error
    - _cairo_analysis_surface_has_supported
    - cairo_region_get_rectangle
    - _paint_fallback_image
    - cairo_surface_destroy
    - _cairo_recording_surface_replay_and_create_regions
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t _paint_page (cairo_paginated_surface_t *surface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _start_page
      Src: /src/cairo/src/cairo-paginated-surface.c:570,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-paginated-surface.c:575,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-paginated-surface.c:571,1
    - Dst: cairo_surface_show_page
      Src: /src/cairo/src/cairo-paginated-surface.c:587,1
    - Dst: _paint_page
      Src: /src/cairo/src/cairo-paginated-surface.c:574,1
    - Dst: cairo_surface_status
      Src: /src/cairo/src/cairo-paginated-surface.c:588,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 589
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 589
    functionName: _cairo_paginated_surface_copy_page
    functionSourceFile: /src/cairo/src/cairo-paginated-surface.c
    functionUses: []
    functionsReached:
    - _paint_page
    - cairo_surface_status
    - _start_page
    - cairo_surface_show_page
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t _cairo_paginated_surface_copy_page (void
      *abstract_surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_get_extents
      Src: /src/cairo/src/cairo-paginated-surface.c:636,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - abstract_surface
    - rectangle
    argTypes:
    - void*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 637
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 637
    functionName: _cairo_paginated_surface_get_extents
    functionSourceFile: /src/cairo/src/cairo-paginated-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_get_extents
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _cairo_paginated_surface_get_extents (void\t *abstract_surface,\t\
      \t\t\t cairo_rectangle_int_t *rectangle) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_paginated_surface_show_page
      Src: /src/cairo/src/cairo-paginated-surface.c:205,1
    - Dst: CAIRO_REFERENCE_COUNT_GET_VALUE
      Src: /src/cairo/src/cairo-paginated-surface.c:213,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-paginated-surface.c:217,1
    - Dst: cairo_surface_status
      Src: /src/cairo/src/cairo-paginated-surface.c:216,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/src/cairo-paginated-surface.c:214,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/src/cairo-paginated-surface.c:219,1
    - Dst: cairo_surface_status
      Src: /src/cairo/src/cairo-paginated-surface.c:221,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-paginated-surface.c:222,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 225
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 225
    functionName: _cairo_paginated_surface_finish
    functionSourceFile: /src/cairo/src/cairo-paginated-surface.c
    functionUses: []
    functionsReached:
    - _cairo_paginated_surface_show_page
    - cairo_surface_finish
    - cairo_surface_status
    - cairo_surface_destroy
    - CAIRO_REFERENCE_COUNT_GET_VALUE
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_paginated_surface_finish (void *abstract_surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_get_source
      Src: /src/cairo/src/cairo-paginated-surface.c:251,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 252
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 252
    functionName: _cairo_paginated_surface_source
    functionSourceFile: /src/cairo/src/cairo-paginated-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_get_source
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_paginated_surface_source (void\t *abstract_surface,\t\
      \t\t\t cairo_rectangle_int_t *extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_get_font_options
      Src: /src/cairo/src/cairo-paginated-surface.c:645,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - abstract_surface
    - options
    argTypes:
    - void*
    - cairo_font_options_t*
    constantsTouched: []
    func_position:
      end: 646
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 646
    functionName: _cairo_paginated_surface_get_font_options
    functionSourceFile: /src/cairo/src/cairo-paginated-surface.c
    functionUses: []
    functionsReached:
    - cairo_surface_get_font_options
    linkageType: ''
    returnType: void
    signature: "static void _cairo_paginated_surface_get_font_options (void *abstract_surface,\t\
      \t\t\t\t cairo_font_options_t *options) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_mask
      Src: /src/cairo/src/cairo-paginated-surface.c:668,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 5
    argNames:
    - abstract_surface
    - op
    - source
    - mask
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 669
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 669
    functionName: _cairo_paginated_surface_mask
    functionSourceFile: /src/cairo/src/cairo-paginated-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_mask
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_paginated_surface_mask (void\t\t\
      *abstract_surface,\t\t\t cairo_operator_t\t op,\t\t\t const cairo_pattern_t\t\
      *source,\t\t\t const cairo_pattern_t\t*mask,\t\t\t const cairo_clip_t\t\t*clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_show_text_glyphs
      Src: /src/cairo/src/cairo-paginated-surface.c:734,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 12
    argNames:
    - abstract_surface
    - op
    - source
    - utf8
    - utf8_len
    - glyphs
    - num_glyphs
    - clusters
    - num_clusters
    - cluster_flags
    - scaled_font
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - char*
    - int
    - cairo_glyph_t*
    - int
    - cairo_text_cluster_t*
    - int
    - cairo_text_cluster_flags_t
    - cairo_scaled_font_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 741
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 741
    functionName: _cairo_paginated_surface_show_text_glyphs
    functionSourceFile: /src/cairo/src/cairo-paginated-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_show_text_glyphs
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_paginated_surface_show_text_glyphs\
      \ (void\t\t\t *abstract_surface,\t\t\t\t\t cairo_operator_t\t op,\t\t\t\t\t\
      \ const cairo_pattern_t *source,\t\t\t\t\t const char\t\t *utf8,\t\t\t\t\t int\t\
      \t\t utf8_len,\t\t\t\t\t cairo_glyph_t\t *glyphs,\t\t\t\t\t int\t\t\t num_glyphs,\t\
      \t\t\t\t const cairo_text_cluster_t *clusters,\t\t\t\t\t int\t\t\t num_clusters,\t\
      \t\t\t\t cairo_text_cluster_flags_t cluster_flags,\t\t\t\t\t cairo_scaled_font_t\t\
      \ *scaled_font,\t\t\t\t\t const cairo_clip_t\t\t *clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_image_surface_create_with_content
      Src: /src/cairo/src/cairo-paginated-surface.c:236,1
    - Dst: cairo_surface_get_font_options
      Src: /src/cairo/src/cairo-paginated-surface.c:240,1
    - Dst: _cairo_surface_set_font_options
      Src: /src/cairo/src/cairo-paginated-surface.c:241,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 244
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 244
    functionName: _cairo_paginated_surface_create_image_surface
    functionSourceFile: /src/cairo/src/cairo-paginated-surface.c
    functionUses: []
    functionsReached:
    - cairo_surface_get_font_options
    - _cairo_image_surface_create_with_content
    - _cairo_surface_set_font_options
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_paginated_surface_create_image_surface\
      \ (void\t *abstract_surface,\t\t\t\t\t int\t\twidth,\t\t\t\t\t int\t\theight) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_get_extents
      Src: /src/cairo/src/cairo-paginated-surface.c:265,1
    - Dst: _cairo_recording_surface_replay
      Src: /src/cairo/src/cairo-paginated-surface.c:273,1
    - Dst: _cairo_paginated_surface_create_image_surface
      Src: /src/cairo/src/cairo-paginated-surface.c:269,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-paginated-surface.c:274,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-paginated-surface.c:275,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 3
    argNames:
    - abstract_surface
    - image_out
    - image_extra
    argTypes:
    - void*
    - cairo_image_surface_t**
    - void**
    constantsTouched: []
    func_position:
      end: 283
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 283
    functionName: _cairo_paginated_surface_acquire_source_image
    functionSourceFile: /src/cairo/src/cairo-paginated-surface.c
    functionUses: []
    functionsReached:
    - cairo_surface_destroy
    - _cairo_surface_get_extents
    - _cairo_recording_surface_replay
    - _cairo_paginated_surface_create_image_surface
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_paginated_surface_acquire_source_image\
      \ (void\t *abstract_surface,\t\t\t\t\t cairo_image_surface_t **image_out,\t\t\
      \t\t\t void\t\t **image_extra) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_paint
      Src: /src/cairo/src/cairo-paginated-surface.c:656,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - abstract_surface
    - op
    - source
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 657
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 657
    functionName: _cairo_paginated_surface_paint
    functionSourceFile: /src/cairo/src/cairo-paginated-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_paint
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_paginated_surface_paint (void\t\t\
      \t*abstract_surface,\t\t\t\tcairo_operator_t\t op,\t\t\t\tconst cairo_pattern_t\t\
      *source,\t\t\t\tconst cairo_clip_t\t*clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_stroke
      Src: /src/cairo/src/cairo-paginated-surface.c:685,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 10
    argNames:
    - abstract_surface
    - op
    - source
    - path
    - style
    - ctm
    - ctm_inverse
    - tolerance
    - antialias
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 690
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 690
    functionName: _cairo_paginated_surface_stroke
    functionSourceFile: /src/cairo/src/cairo-paginated-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_stroke
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_paginated_surface_stroke (void\t\t\
      \t*abstract_surface,\t\t\t\t cairo_operator_t\t op,\t\t\t\t const cairo_pattern_t\t\
      *source,\t\t\t\t const cairo_path_fixed_t\t*path,\t\t\t\t const cairo_stroke_style_t\t\
      *style,\t\t\t\t const cairo_matrix_t\t\t*ctm,\t\t\t\t const cairo_matrix_t\t\
      \t*ctm_inverse,\t\t\t\t double\t\t\t tolerance,\t\t\t\t cairo_antialias_t\t\
      \ antialias,\t\t\t\t const cairo_clip_t\t\t*clip) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 752
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 752
    functionName: _cairo_paginated_surface_get_supported_mime_types
    functionSourceFile: /src/cairo/src/cairo-paginated-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char**
    signature: 'static const char **_cairo_paginated_surface_get_supported_mime_types
      (void *abstract_surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_get_extents
      Src: /src/cairo/src/cairo-paginated-surface.c:79,1
    - Dst: cairo_recording_surface_create
      Src: /src/cairo/src/cairo-paginated-surface.c:89,1
    - Dst: cairo_recording_surface_create
      Src: /src/cairo/src/cairo-paginated-surface.c:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 91
    functionName: _create_recording_surface_for_target
    functionSourceFile: /src/cairo/src/cairo-paginated-surface.c
    functionUses: []
    functionsReached:
    - cairo_recording_surface_create
    - _cairo_surface_get_extents
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_create_recording_surface_for_target (cairo_surface_t\
      \ *target,\t\t\t\t cairo_content_t content) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: _cairo_surface_is_paginated
    functionSourceFile: /src/cairo/src/cairo-paginated-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t _cairo_surface_is_paginated (cairo_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-paginated-surface.c:290,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - abstract_surface
    - image
    - image_extra
    argTypes:
    - void*
    - cairo_image_surface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 291
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 291
    functionName: _cairo_paginated_surface_release_source_image
    functionSourceFile: /src/cairo/src/cairo-paginated-surface.c
    functionUses: []
    functionsReached:
    - cairo_surface_destroy
    linkageType: ''
    returnType: void
    signature: "static void _cairo_paginated_surface_release_source_image (void\t\
      \ *abstract_surface,\t\t\t\t\t cairo_image_surface_t *image,\t\t\t\t\t void\t\
      \ *image_extra) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 780
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 780
    functionName: _cairo_paginated_surface_snapshot
    functionSourceFile: /src/cairo/src/cairo-paginated-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *_cairo_paginated_surface_snapshot (void *abstract_other) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_recording_surface_create
      Src: /src/cairo/src/cairo-paginated-surface.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 71
    functionName: _cairo_paginated_surface_create_similar
    functionSourceFile: /src/cairo/src/cairo-paginated-surface.c
    functionUses: []
    functionsReached:
    - cairo_recording_surface_create
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_paginated_surface_create_similar (void\t\
      \t\t*abstract_surface,\t\t\t\t\t cairo_content_t\t content,\t\t\t\t\t int\t\t\
      \t width,\t\t\t\t\t int\t\t\t height) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-paginated-surface.c:150,1
    - Dst: _cairo_surface_is_paginated
      Src: /src/cairo/src/cairo-paginated-surface.c:150,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 154
    functionName: _cairo_paginated_surface_get_target
    functionSourceFile: /src/cairo/src/cairo-paginated-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_is_paginated
    - assert
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'cairo_surface_t *_cairo_paginated_surface_get_target (cairo_surface_t
      *surface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-paginated-surface.c:101,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-paginated-surface.c:103,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-paginated-surface.c:117,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-paginated-surface.c:102,1
    - Dst: _cairo_surface_init
      Src: /src/cairo/src/cairo-paginated-surface.c:107,1
    - Dst: _create_recording_surface_for_target
      Src: /src/cairo/src/cairo-paginated-surface.c:122,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-paginated-surface.c:124,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-paginated-surface.c:133,1
    - Dst: free
      Src: /src/cairo/src/cairo-paginated-surface.c:134,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-paginated-surface.c:136,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 137
    functionName: _cairo_paginated_surface_create
    functionSourceFile: /src/cairo/src/cairo-paginated-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_init
    - _cairo_error
    - free
    - cairo_surface_reference
    - _create_recording_surface_for_target
    - cairo_surface_destroy
    - _cairo_surface_create_in_error
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *_cairo_paginated_surface_create (cairo_surface_t\t\
      \t\t\t*target,\t\t\t\t cairo_content_t\t\t\t\t content,\t\t\t\t const cairo_paginated_surface_backend_t\t\
      *backend) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_get_extents
      Src: /src/cairo/src/cairo-paginated-surface.c:306,1
    - Dst: cairo_surface_set_device_scale
      Src: /src/cairo/src/cairo-paginated-surface.c:311,1
    - Dst: cairo_surface_set_device_offset
      Src: /src/cairo/src/cairo-paginated-surface.c:312,1
    - Dst: _cairo_paginated_surface_create_image_surface
      Src: /src/cairo/src/cairo-paginated-surface.c:310,1
    - Dst: _cairo_recording_surface_replay
      Src: /src/cairo/src/cairo-paginated-surface.c:313,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-paginated-surface.c:314,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/src/cairo-paginated-surface.c:319,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-paginated-surface.c:320,1
    - Dst: _cairo_surface_paint
      Src: /src/cairo/src/cairo-paginated-surface.c:325,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-paginated-surface.c:329,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-paginated-surface.c:343,1
    - Dst: _cairo_pattern_fini
      Src: /src/cairo/src/cairo-paginated-surface.c:335,1
    - Dst: _cairo_surface_paint
      Src: /src/cairo/src/cairo-paginated-surface.c:334,1
    - Dst: _cairo_pattern_init_for_surface
      Src: /src/cairo/src/cairo-paginated-surface.c:332,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-paginated-surface.c:345,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-paginated-surface.c:336,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 3
    argNames:
    - surface
    - width
    - height
    argTypes:
    - cairo_paginated_surface_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 348
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 348
    functionName: _paint_thumbnail_image
    functionSourceFile: /src/cairo/src/cairo-paginated-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_init_for_surface
    - _cairo_pattern_fini
    - _cairo_surface_get_extents
    - cairo_surface_destroy
    - cairo_image_surface_create
    - cairo_surface_set_device_scale
    - cairo_surface_set_device_offset
    - _cairo_recording_surface_replay
    - _cairo_paginated_surface_create_image_surface
    - _cairo_surface_paint
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _paint_thumbnail_image (cairo_paginated_surface_t\
      \ *surface,\t\t\tint width,\t\t\tint height) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_is_subsurface
      Src: /src/cairo/src/cairo-paginated-surface.c:787,1
    - Dst: _cairo_surface_subsurface_get_target
      Src: /src/cairo/src/cairo-paginated-surface.c:789,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 792
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 792
    functionName: _cairo_paginated_context_create
    functionSourceFile: /src/cairo/src/cairo-paginated-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_is_subsurface
    - _cairo_surface_subsurface_get_target
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *_cairo_paginated_context_create (void *target) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pattern_init_static_copy
      Src: /src/cairo/src/cairo-surface-wrapper.c:53,1
    - Dst: _cairo_pattern_transform
      Src: /src/cairo/src/cairo-surface-wrapper.c:56,1
    - Dst: _cairo_matrix_is_identity
      Src: /src/cairo/src/cairo-surface-wrapper.c:55,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 4
    argNames:
    - pattern
    - original
    - ctm_inverse
    - region_id
    argTypes:
    - cairo_pattern_t*
    - cairo_pattern_t*
    - cairo_matrix_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 62
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 62
    functionName: _copy_transformed_pattern
    functionSourceFile: /src/cairo/src/cairo-surface-wrapper.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_init_static_copy
    - _cairo_matrix_is_identity
    - _cairo_pattern_transform
    linkageType: ''
    returnType: void
    signature: "static void _copy_transformed_pattern (cairo_pattern_t *pattern,\t\
      \t\t const cairo_pattern_t *original,\t\t\t const cairo_matrix_t *ctm_inverse,\t\
      \t\t unsigned int region_id) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-wrapper.c:69,1
    - Dst: _cairo_surface_acquire_source_image
      Src: /src/cairo/src/cairo-surface-wrapper.c:72,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 3
    argNames:
    - wrapper
    - image_out
    - image_extra
    argTypes:
    - cairo_surface_wrapper_t*
    - cairo_image_surface_t**
    - void**
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: _cairo_surface_wrapper_acquire_source_image
    functionSourceFile: /src/cairo/src/cairo-surface-wrapper.c
    functionUses: []
    functionsReached:
    - _cairo_surface_acquire_source_image
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_surface_wrapper_acquire_source_image (cairo_surface_wrapper_t\
      \ *wrapper,\t\t\t\t\t cairo_image_surface_t **image_out,\t\t\t\t\t void **image_extra) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_release_source_image
      Src: /src/cairo/src/cairo-surface-wrapper.c:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - wrapper
    - image
    - image_extra
    argTypes:
    - cairo_surface_wrapper_t*
    - cairo_image_surface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: _cairo_surface_wrapper_release_source_image
    functionSourceFile: /src/cairo/src/cairo-surface-wrapper.c
    functionUses: []
    functionsReached:
    - _cairo_surface_release_source_image
    linkageType: ''
    returnType: void
    signature: "void _cairo_surface_wrapper_release_source_image (cairo_surface_wrapper_t\
      \ *wrapper,\t\t\t\t\t cairo_image_surface_t *image,\t\t\t\t\t void *image_extra) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - wrapper
    - clip
    argTypes:
    - cairo_surface_wrapper_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 605
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 605
    functionName: _cairo_surface_wrapper_set_clip
    functionSourceFile: /src/cairo/src/cairo-surface-wrapper.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _cairo_surface_wrapper_set_clip (cairo_surface_wrapper_t *wrapper,\t\
      \t\t\t const cairo_clip_t *clip) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_init_identity
      Src: /src/cairo/src/cairo-surface-wrapper.c:88,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-surface-wrapper.c:94,1
    - Dst: _cairo_matrix_is_identity
      Src: /src/cairo/src/cairo-surface-wrapper.c:90,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-surface-wrapper.c:91,1
    - Dst: _cairo_matrix_is_identity
      Src: /src/cairo/src/cairo-surface-wrapper.c:93,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - wrapper
    - m
    argTypes:
    - cairo_surface_wrapper_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 95
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 95
    functionName: _cairo_surface_wrapper_get_transform
    functionSourceFile: /src/cairo/src/cairo-surface-wrapper.c
    functionUses: []
    functionsReached:
    - cairo_matrix_init_identity
    - _cairo_matrix_is_identity
    - cairo_matrix_multiply
    linkageType: ''
    returnType: void
    signature: "static void _cairo_surface_wrapper_get_transform (cairo_surface_wrapper_t\
      \ *wrapper,\t\t\t\t cairo_matrix_t *m) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_get_font_options
      Src: /src/cairo/src/cairo-surface-wrapper.c:611,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - wrapper
    - options
    argTypes:
    - cairo_surface_wrapper_t*
    - cairo_font_options_t*
    constantsTouched: []
    func_position:
      end: 612
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 612
    functionName: _cairo_surface_wrapper_get_font_options
    functionSourceFile: /src/cairo/src/cairo-surface-wrapper.c
    functionUses: []
    functionsReached:
    - cairo_surface_get_font_options
    linkageType: ''
    returnType: void
    signature: "void _cairo_surface_wrapper_get_font_options (cairo_surface_wrapper_t\
      \ *wrapper,\t\t\t\t\t cairo_font_options_t\t *options) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_rectangle_intersect
      Src: /src/cairo/src/cairo-surface-wrapper.c:573,1
    - Dst: _cairo_surface_wrapper_needs_device_transform
      Src: /src/cairo/src/cairo-surface-wrapper.c:576,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - wrapper
    - extents
    argTypes:
    - cairo_surface_wrapper_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 577
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 577
    functionName: _cairo_surface_wrapper_intersect_extents
    functionSourceFile: /src/cairo/src/cairo-surface-wrapper.c
    functionUses: []
    functionsReached:
    - _cairo_rectangle_intersect
    - _cairo_surface_wrapper_needs_device_transform
    linkageType: ''
    returnType: void
    signature: "void _cairo_surface_wrapper_intersect_extents (cairo_surface_wrapper_t\
      \ *wrapper,\t\t\t\t\t const cairo_rectangle_int_t *extents) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_matrix_is_identity
      Src: /src/cairo/src/cairo-surface-wrapper.c:585,1
    - Dst: _cairo_surface_wrapper_needs_device_transform
      Src: /src/cairo/src/cairo-surface-wrapper.c:589,1
    - Dst: assert
      Src: /src/cairo/src/cairo-surface-wrapper.c:594,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-surface-wrapper.c:592,1
    - Dst: cairo_matrix_init_identity
      Src: /src/cairo/src/cairo-surface-wrapper.c:586,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - wrapper
    - transform
    argTypes:
    - cairo_surface_wrapper_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 598
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 598
    functionName: _cairo_surface_wrapper_set_inverse_transform
    functionSourceFile: /src/cairo/src/cairo-surface-wrapper.c
    functionUses: []
    functionsReached:
    - _cairo_matrix_is_identity
    - _cairo_surface_wrapper_needs_device_transform
    - assert
    - cairo_matrix_init_identity
    - cairo_matrix_invert
    linkageType: ''
    returnType: void
    signature: "void _cairo_surface_wrapper_set_inverse_transform (cairo_surface_wrapper_t\
      \ *wrapper,\t\t\t\t\t const cairo_matrix_t *transform) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_get_extents
      Src: /src/cairo/src/cairo-surface-wrapper.c:663,1
    - Dst: _cairo_rectangle_intersect
      Src: /src/cairo/src/cairo-surface-wrapper.c:667,1
    - Dst: _cairo_surface_wrapper_get_inverse_transform
      Src: /src/cairo/src/cairo-surface-wrapper.c:680,1
    - Dst: _cairo_clip_get_extents
      Src: /src/cairo/src/cairo-surface-wrapper.c:672,1
    - Dst: _cairo_clip_get_extents
      Src: /src/cairo/src/cairo-surface-wrapper.c:668,1
    - Dst: _cairo_matrix_transform_bounding_box
      Src: /src/cairo/src/cairo-surface-wrapper.c:687,1
    - Dst: floor
      Src: /src/cairo/src/cairo-surface-wrapper.c:689,1
    - Dst: floor
      Src: /src/cairo/src/cairo-surface-wrapper.c:690,1
    - Dst: ceil
      Src: /src/cairo/src/cairo-surface-wrapper.c:691,1
    - Dst: ceil
      Src: /src/cairo/src/cairo-surface-wrapper.c:692,1
    - Dst: _cairo_rectangle_intersect
      Src: /src/cairo/src/cairo-surface-wrapper.c:698,1
    - Dst: _cairo_unbounded_rectangle_init
      Src: /src/cairo/src/cairo-surface-wrapper.c:707,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 3
    argNames:
    - wrapper
    - surface_is_unbounded
    - extents
    argTypes:
    - cairo_surface_wrapper_t*
    - cairo_bool_t
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 710
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 710
    functionName: _cairo_surface_wrapper_get_target_extents
    functionSourceFile: /src/cairo/src/cairo-surface-wrapper.c
    functionUses: []
    functionsReached:
    - _cairo_matrix_transform_bounding_box
    - _cairo_surface_wrapper_get_inverse_transform
    - _cairo_rectangle_intersect
    - _cairo_unbounded_rectangle_init
    - _cairo_surface_get_extents
    - _cairo_clip_get_extents
    - ceil
    - floor
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t _cairo_surface_wrapper_get_target_extents (cairo_surface_wrapper_t\
      \ *wrapper,\t\t\t\t\t cairo_bool_t surface_is_unbounded,\t\t\t\t\t cairo_rectangle_int_t\
      \ *extents) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_init_identity
      Src: /src/cairo/src/cairo-surface-wrapper.c:101,1
    - Dst: _cairo_matrix_is_identity
      Src: /src/cairo/src/cairo-surface-wrapper.c:103,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-surface-wrapper.c:111,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-surface-wrapper.c:104,1
    - Dst: _cairo_matrix_is_identity
      Src: /src/cairo/src/cairo-surface-wrapper.c:106,1
    - Dst: assert
      Src: /src/cairo/src/cairo-surface-wrapper.c:112,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-surface-wrapper.c:113,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - wrapper
    - m
    argTypes:
    - cairo_surface_wrapper_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 115
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 115
    functionName: _cairo_surface_wrapper_get_inverse_transform
    functionSourceFile: /src/cairo/src/cairo-surface-wrapper.c
    functionUses: []
    functionsReached:
    - _cairo_matrix_is_identity
    - assert
    - cairo_matrix_init_identity
    - cairo_matrix_invert
    - cairo_matrix_multiply
    linkageType: ''
    returnType: void
    signature: "static void _cairo_surface_wrapper_get_inverse_transform (cairo_surface_wrapper_t\
      \ *wrapper,\t\t\t\t\t cairo_matrix_t *m) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-wrapper.c:147,1
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-surface-wrapper.c:151,1
    - Dst: _cairo_surface_wrapper_get_clip
      Src: /src/cairo/src/cairo-surface-wrapper.c:150,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-surface-wrapper.c:159,1
    - Dst: _cairo_surface_wrapper_get_transform
      Src: /src/cairo/src/cairo-surface-wrapper.c:157,1
    - Dst: assert
      Src: /src/cairo/src/cairo-surface-wrapper.c:160,1
    - Dst: _copy_transformed_pattern
      Src: /src/cairo/src/cairo-surface-wrapper.c:162,1
    - Dst: _cairo_surface_paint
      Src: /src/cairo/src/cairo-surface-wrapper.c:166,1
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-surface-wrapper.c:168,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 5
    argNames:
    - wrapper
    - op
    - source
    - source_region_id
    - clip
    argTypes:
    - cairo_surface_wrapper_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - unsigned int
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 170
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 170
    functionName: _cairo_surface_wrapper_paint
    functionSourceFile: /src/cairo/src/cairo-surface-wrapper.c
    functionUses: []
    functionsReached:
    - _cairo_surface_wrapper_get_transform
    - _cairo_clip_destroy
    - _cairo_clip_is_all_clipped
    - _copy_transformed_pattern
    - _cairo_surface_wrapper_get_clip
    - assert
    - cairo_matrix_invert
    - _cairo_surface_paint
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_surface_wrapper_paint (cairo_surface_wrapper_t\
      \ *wrapper,\t\t\t cairo_operator_t\t op,\t\t\t const cairo_pattern_t *source,\t\
      \t\t unsigned int source_region_id,\t\t\t const cairo_clip_t *clip) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-wrapper.c:234,1
    - Dst: _cairo_surface_wrapper_get_clip
      Src: /src/cairo/src/cairo-surface-wrapper.c:237,1
    - Dst: _cairo_surface_wrapper_get_transform
      Src: /src/cairo/src/cairo-surface-wrapper.c:244,1
    - Dst: _cairo_path_fixed_init_copy
      Src: /src/cairo/src/cairo-surface-wrapper.c:246,1
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-surface-wrapper.c:238,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-wrapper.c:247,1
    - Dst: _cairo_path_fixed_transform
      Src: /src/cairo/src/cairo-surface-wrapper.c:250,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-surface-wrapper.c:253,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-surface-wrapper.c:255,1
    - Dst: assert
      Src: /src/cairo/src/cairo-surface-wrapper.c:256,1
    - Dst: _cairo_surface_stroke
      Src: /src/cairo/src/cairo-surface-wrapper.c:264,1
    - Dst: _cairo_path_fixed_fini
      Src: /src/cairo/src/cairo-surface-wrapper.c:272,1
    - Dst: _copy_transformed_pattern
      Src: /src/cairo/src/cairo-surface-wrapper.c:260,1
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-surface-wrapper.c:273,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-surface-wrapper.c:258,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 27
    argCount: 11
    argNames:
    - wrapper
    - op
    - source
    - source_region_id
    - path
    - stroke_style
    - ctm
    - ctm_inverse
    - tolerance
    - antialias
    - clip
    argTypes:
    - cairo_surface_wrapper_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - unsigned int
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 275
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 275
    functionName: _cairo_surface_wrapper_stroke
    functionSourceFile: /src/cairo/src/cairo-surface-wrapper.c
    functionUses: []
    functionsReached:
    - _cairo_surface_wrapper_get_transform
    - _cairo_clip_destroy
    - _cairo_clip_is_all_clipped
    - _copy_transformed_pattern
    - _cairo_surface_wrapper_get_clip
    - assert
    - _cairo_surface_stroke
    - _cairo_path_fixed_transform
    - _cairo_path_fixed_fini
    - _cairo_path_fixed_init_copy
    - cairo_matrix_invert
    - cairo_matrix_multiply
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_surface_wrapper_stroke (cairo_surface_wrapper_t\
      \ *wrapper,\t\t\t cairo_operator_t\t\t op,\t\t\t const cairo_pattern_t\t *source,\t\
      \t\t unsigned int source_region_id,\t\t\t const cairo_path_fixed_t\t *path,\t\
      \t\t const cairo_stroke_style_t *stroke_style,\t\t\t const cairo_matrix_t\t\
      \ *ctm,\t\t\t const cairo_matrix_t\t *ctm_inverse,\t\t\t double\t\t\t tolerance,\t\
      \t\t cairo_antialias_t\t antialias,\t\t\t const cairo_clip_t\t *clip) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-wrapper.c:370,1
    - Dst: _cairo_path_fixed_init_copy
      Src: /src/cairo/src/cairo-surface-wrapper.c:382,1
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-surface-wrapper.c:374,1
    - Dst: _cairo_surface_wrapper_get_transform
      Src: /src/cairo/src/cairo-surface-wrapper.c:380,1
    - Dst: _cairo_surface_wrapper_get_clip
      Src: /src/cairo/src/cairo-surface-wrapper.c:373,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-wrapper.c:383,1
    - Dst: _cairo_path_fixed_transform
      Src: /src/cairo/src/cairo-surface-wrapper.c:386,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-surface-wrapper.c:389,1
    - Dst: assert
      Src: /src/cairo/src/cairo-surface-wrapper.c:390,1
    - Dst: _copy_transformed_pattern
      Src: /src/cairo/src/cairo-surface-wrapper.c:392,1
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-surface-wrapper.c:404,1
    - Dst: _cairo_surface_fill
      Src: /src/cairo/src/cairo-surface-wrapper.c:396,1
    - Dst: _cairo_path_fixed_fini
      Src: /src/cairo/src/cairo-surface-wrapper.c:403,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 9
    argNames:
    - wrapper
    - op
    - source
    - source_region_id
    - path
    - fill_rule
    - tolerance
    - antialias
    - clip
    argTypes:
    - cairo_surface_wrapper_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - unsigned int
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 406
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 406
    functionName: _cairo_surface_wrapper_fill
    functionSourceFile: /src/cairo/src/cairo-surface-wrapper.c
    functionUses: []
    functionsReached:
    - _cairo_surface_wrapper_get_transform
    - _cairo_clip_destroy
    - _cairo_clip_is_all_clipped
    - _copy_transformed_pattern
    - _cairo_surface_wrapper_get_clip
    - assert
    - _cairo_path_fixed_transform
    - _cairo_path_fixed_fini
    - _cairo_path_fixed_init_copy
    - cairo_matrix_invert
    - _cairo_surface_fill
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_surface_wrapper_fill (cairo_surface_wrapper_t\
      \ *wrapper,\t\t\t cairo_operator_t\t op,\t\t\t const cairo_pattern_t *source,\t\
      \t\t unsigned int source_region_id,\t\t\t const cairo_path_fixed_t *path,\t\t\
      \t cairo_fill_rule_t\t fill_rule,\t\t\t double\t\t tolerance,\t\t\t cairo_antialias_t\t\
      \ antialias,\t\t\t const cairo_clip_t\t *clip) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-wrapper.c:523,1
    - Dst: _cairo_surface_tag
      Src: /src/cairo/src/cairo-surface-wrapper.c:527,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - wrapper
    - begin
    - tag_name
    - attributes
    argTypes:
    - cairo_surface_wrapper_t*
    - cairo_bool_t
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 528
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 528
    functionName: _cairo_surface_wrapper_tag
    functionSourceFile: /src/cairo/src/cairo-surface-wrapper.c
    functionUses: []
    functionsReached:
    - _cairo_surface_tag
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_surface_wrapper_tag (cairo_surface_wrapper_t\
      \ *wrapper,\t\t\t cairo_bool_t begin,\t\t\t const char *tag_name,\t\t\t const\
      \ char *attributes) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_get_extents
      Src: /src/cairo/src/cairo-surface-wrapper.c:545,1
    - Dst: _cairo_surface_get_extents
      Src: /src/cairo/src/cairo-surface-wrapper.c:552,1
    - Dst: _cairo_rectangle_intersect
      Src: /src/cairo/src/cairo-surface-wrapper.c:546,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - wrapper
    - extents
    argTypes:
    - cairo_surface_wrapper_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 554
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 554
    functionName: _cairo_surface_wrapper_get_extents
    functionSourceFile: /src/cairo/src/cairo-surface-wrapper.c
    functionUses: []
    functionsReached:
    - _cairo_rectangle_intersect
    - _cairo_surface_get_extents
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t _cairo_surface_wrapper_get_extents (cairo_surface_wrapper_t\
      \ *wrapper,\t\t\t\t cairo_rectangle_int_t *extents) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 621
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 621
    functionName: _cairo_surface_wrapper_snapshot
    functionSourceFile: /src/cairo/src/cairo-surface-wrapper.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'cairo_surface_t *_cairo_surface_wrapper_snapshot (cairo_surface_wrapper_t
      *wrapper) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-surface-wrapper.c:633,1
    - Dst: cairo_matrix_init_identity
      Src: /src/cairo/src/cairo-surface-wrapper.c:634,1
    - Dst: _cairo_matrix_is_identity
      Src: /src/cairo/src/cairo-surface-wrapper.c:644,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - wrapper
    - target
    argTypes:
    - cairo_surface_wrapper_t*
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 646
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 646
    functionName: _cairo_surface_wrapper_init
    functionSourceFile: /src/cairo/src/cairo-surface-wrapper.c
    functionUses: []
    functionsReached:
    - cairo_surface_reference
    - _cairo_matrix_is_identity
    - cairo_matrix_init_identity
    linkageType: ''
    returnType: void
    signature: "void _cairo_surface_wrapper_init (cairo_surface_wrapper_t *wrapper,\t\
      \t\t cairo_surface_t *target) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_copy
      Src: /src/cairo/src/cairo-surface-wrapper.c:124,1
    - Dst: _cairo_clip_intersect_rectangle
      Src: /src/cairo/src/cairo-surface-wrapper.c:126,1
    - Dst: _cairo_clip_intersect_clip
      Src: /src/cairo/src/cairo-surface-wrapper.c:131,1
    - Dst: _cairo_surface_wrapper_get_transform
      Src: /src/cairo/src/cairo-surface-wrapper.c:128,1
    - Dst: _cairo_clip_transform
      Src: /src/cairo/src/cairo-surface-wrapper.c:129,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 134
    functionName: _cairo_surface_wrapper_get_clip
    functionSourceFile: /src/cairo/src/cairo-surface-wrapper.c
    functionUses: []
    functionsReached:
    - _cairo_surface_wrapper_get_transform
    - _cairo_clip_intersect_clip
    - _cairo_clip_intersect_rectangle
    - _cairo_clip_transform
    - _cairo_clip_copy
    linkageType: ''
    returnType: cairo_clip_t*
    signature: "static cairo_clip_t *_cairo_surface_wrapper_get_clip (cairo_surface_wrapper_t\
      \ *wrapper,\t\t\t\t const cairo_clip_t *clip) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-wrapper.c:186,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-surface-wrapper.c:198,1
    - Dst: _cairo_surface_wrapper_get_clip
      Src: /src/cairo/src/cairo-surface-wrapper.c:189,1
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-surface-wrapper.c:190,1
    - Dst: _cairo_surface_wrapper_get_transform
      Src: /src/cairo/src/cairo-surface-wrapper.c:196,1
    - Dst: assert
      Src: /src/cairo/src/cairo-surface-wrapper.c:199,1
    - Dst: _copy_transformed_pattern
      Src: /src/cairo/src/cairo-surface-wrapper.c:201,1
    - Dst: _copy_transformed_pattern
      Src: /src/cairo/src/cairo-surface-wrapper.c:204,1
    - Dst: _cairo_surface_mask
      Src: /src/cairo/src/cairo-surface-wrapper.c:208,1
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-surface-wrapper.c:210,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 7
    argNames:
    - wrapper
    - op
    - source
    - source_region_id
    - mask
    - mask_region_id
    - clip
    argTypes:
    - cairo_surface_wrapper_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - unsigned int
    - cairo_pattern_t*
    - unsigned int
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 212
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 212
    functionName: _cairo_surface_wrapper_mask
    functionSourceFile: /src/cairo/src/cairo-surface-wrapper.c
    functionUses: []
    functionsReached:
    - _cairo_surface_wrapper_get_transform
    - _cairo_surface_mask
    - _cairo_clip_destroy
    - _cairo_clip_is_all_clipped
    - _copy_transformed_pattern
    - _cairo_surface_wrapper_get_clip
    - assert
    - cairo_matrix_invert
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_surface_wrapper_mask (cairo_surface_wrapper_t\
      \ *wrapper,\t\t\t cairo_operator_t\t op,\t\t\t const cairo_pattern_t *source,\
      \ unsigned int source_region_id,\t\t\t const cairo_pattern_t *mask, unsigned\
      \ int mask_region_id,\t\t\t const cairo_clip_t\t *clip) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-wrapper.c:304,1
    - Dst: _cairo_surface_wrapper_get_clip
      Src: /src/cairo/src/cairo-surface-wrapper.c:307,1
    - Dst: _cairo_path_fixed_init_copy
      Src: /src/cairo/src/cairo-surface-wrapper.c:316,1
    - Dst: _cairo_surface_wrapper_get_transform
      Src: /src/cairo/src/cairo-surface-wrapper.c:314,1
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-surface-wrapper.c:308,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-wrapper.c:317,1
    - Dst: _cairo_path_fixed_transform
      Src: /src/cairo/src/cairo-surface-wrapper.c:320,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-surface-wrapper.c:323,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-surface-wrapper.c:325,1
    - Dst: assert
      Src: /src/cairo/src/cairo-surface-wrapper.c:326,1
    - Dst: _copy_transformed_pattern
      Src: /src/cairo/src/cairo-surface-wrapper.c:333,1
    - Dst: _cairo_surface_fill_stroke
      Src: /src/cairo/src/cairo-surface-wrapper.c:337,1
    - Dst: _cairo_path_fixed_fini
      Src: /src/cairo/src/cairo-surface-wrapper.c:349,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-surface-wrapper.c:328,1
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-surface-wrapper.c:350,1
    - Dst: _copy_transformed_pattern
      Src: /src/cairo/src/cairo-surface-wrapper.c:330,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 31
    argCount: 17
    argNames:
    - wrapper
    - fill_op
    - fill_source
    - fill_region_id
    - fill_rule
    - fill_tolerance
    - fill_antialias
    - path
    - stroke_op
    - stroke_source
    - stroke_region_id
    - stroke_style
    - stroke_ctm
    - stroke_ctm_inverse
    - stroke_tolerance
    - stroke_antialias
    - clip
    argTypes:
    - cairo_surface_wrapper_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - unsigned int
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    - cairo_path_fixed_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - unsigned int
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 352
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 352
    functionName: _cairo_surface_wrapper_fill_stroke
    functionSourceFile: /src/cairo/src/cairo-surface-wrapper.c
    functionUses: []
    functionsReached:
    - _cairo_surface_wrapper_get_transform
    - _cairo_clip_destroy
    - _cairo_clip_is_all_clipped
    - _copy_transformed_pattern
    - _cairo_surface_wrapper_get_clip
    - assert
    - _cairo_path_fixed_transform
    - _cairo_path_fixed_fini
    - _cairo_surface_fill_stroke
    - _cairo_path_fixed_init_copy
    - cairo_matrix_invert
    - cairo_matrix_multiply
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_surface_wrapper_fill_stroke (cairo_surface_wrapper_t\
      \ *wrapper,\t\t\t\t cairo_operator_t\t fill_op,\t\t\t\t const cairo_pattern_t\
      \ *fill_source,\t\t\t\t unsigned int fill_region_id,\t\t\t\t cairo_fill_rule_t\t\
      \ fill_rule,\t\t\t\t double\t\t fill_tolerance,\t\t\t\t cairo_antialias_t\t\
      \ fill_antialias,\t\t\t\t const cairo_path_fixed_t *path,\t\t\t\t cairo_operator_t\t\
      \ stroke_op,\t\t\t\t const cairo_pattern_t *stroke_source,\t\t\t\t unsigned\
      \ int stroke_region_id,\t\t\t\t const cairo_stroke_style_t *stroke_style,\t\t\
      \t\t const cairo_matrix_t *stroke_ctm,\t\t\t\t const cairo_matrix_t *stroke_ctm_inverse,\t\
      \t\t\t double\t\t stroke_tolerance,\t\t\t\t cairo_antialias_t\t stroke_antialias,\t\
      \t\t\t const cairo_clip_t\t *clip) "
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: cairo_font_options_merge
      Src: /src/cairo/src/cairo-surface-wrapper.c:439,1
    - Dst: _cairo_surface_wrapper_get_transform
      Src: /src/cairo/src/cairo-surface-wrapper.c:445,1
    - Dst: _cairo_matrix_multiply
      Src: /src/cairo/src/cairo-surface-wrapper.c:450,1
    - Dst: cairo_scaled_font_destroy
      Src: /src/cairo/src/cairo-surface-wrapper.c:513,1
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-surface-wrapper.c:509,1
    - Dst: CAIRO_STACK_ARRAY_LENGTH
      Src: /src/cairo/src/cairo-surface-wrapper.c:425,1
    - Dst: cairo_scaled_font_create
      Src: /src/cairo/src/cairo-surface-wrapper.c:453,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-surface-wrapper.c:458,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/cairo-surface-wrapper.c:468,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-wrapper.c:460,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-surface-wrapper.c:473,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-surface-wrapper.c:461,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-surface-wrapper.c:490,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-wrapper.c:492,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-surface-wrapper.c:493,1
    - Dst: cairo_surface_get_font_options
      Src: /src/cairo/src/cairo-surface-wrapper.c:438,1
    - Dst: cairo_font_options_equal
      Src: /src/cairo/src/cairo-surface-wrapper.c:479,1
    - Dst: free
      Src: /src/cairo/src/cairo-surface-wrapper.c:511,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-surface-wrapper.c:498,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-wrapper.c:431,1
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-surface-wrapper.c:435,1
    - Dst: _cairo_surface_wrapper_get_clip
      Src: /src/cairo/src/cairo-surface-wrapper.c:434,1
    - Dst: _cairo_matrix_is_translation
      Src: /src/cairo/src/cairo-surface-wrapper.c:447,1
    - Dst: assert
      Src: /src/cairo/src/cairo-surface-wrapper.c:474,1
    - Dst: _copy_transformed_pattern
      Src: /src/cairo/src/cairo-surface-wrapper.c:476,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-surface-wrapper.c:459,1
    - Dst: cairo_scaled_font_create
      Src: /src/cairo/src/cairo-surface-wrapper.c:480,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-surface-wrapper.c:491,1
    - Dst: _cairo_surface_show_text_glyphs
      Src: /src/cairo/src/cairo-surface-wrapper.c:501,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 64
    argCount: 13
    argNames:
    - wrapper
    - op
    - source
    - source_region_id
    - utf8
    - utf8_len
    - glyphs
    - num_glyphs
    - clusters
    - num_clusters
    - cluster_flags
    - scaled_font
    - clip
    argTypes:
    - cairo_surface_wrapper_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - unsigned int
    - char*
    - int
    - cairo_glyph_t*
    - int
    - cairo_text_cluster_t*
    - int
    - cairo_text_cluster_flags_t
    - cairo_scaled_font_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 515
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 515
    functionName: _cairo_surface_wrapper_show_text_glyphs
    functionSourceFile: /src/cairo/src/cairo-surface-wrapper.c
    functionUses: []
    functionsReached:
    - memcpy
    - _cairo_error
    - _cairo_clip_is_all_clipped
    - cairo_font_options_merge
    - _copy_transformed_pattern
    - _cairo_surface_wrapper_get_transform
    - _cairo_clip_destroy
    - unlikely
    - _cairo_matrix_is_translation
    - cairo_font_options_equal
    - _cairo_surface_wrapper_get_clip
    - _cairo_malloc_ab
    - _cairo_surface_show_text_glyphs
    - cairo_surface_get_font_options
    - ARRAY_LENGTH
    - assert
    - cairo_scaled_font_destroy
    - _cairo_matrix_multiply
    - cairo_scaled_font_create
    - free
    - cairo_matrix_transform_point
    - cairo_matrix_invert
    - CAIRO_STACK_ARRAY_LENGTH
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_surface_wrapper_show_text_glyphs (cairo_surface_wrapper_t\
      \ *wrapper,\t\t\t\t\t cairo_operator_t\t op,\t\t\t\t\t const cairo_pattern_t\t\
      \ *source,\t\t\t\t\t unsigned int source_region_id,\t\t\t\t\t const char\t\t\
      \ *utf8,\t\t\t\t\t int\t\t\t utf8_len,\t\t\t\t\t const cairo_glyph_t\t *glyphs,\t\
      \t\t\t\t int\t\t\t num_glyphs,\t\t\t\t\t const cairo_text_cluster_t *clusters,\t\
      \t\t\t\t int\t\t\t num_clusters,\t\t\t\t\t cairo_text_cluster_flags_t cluster_flags,\t\
      \t\t\t\t cairo_scaled_font_t\t *scaled_font,\t\t\t\t\t const cairo_clip_t\t\
      \ *clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_create_scratch
      Src: /src/cairo/src/cairo-surface-wrapper.c:536,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 538
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 538
    functionName: _cairo_surface_wrapper_create_similar
    functionSourceFile: /src/cairo/src/cairo-surface-wrapper.c
    functionUses: []
    functionsReached:
    - _cairo_surface_create_scratch
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *_cairo_surface_wrapper_create_similar (cairo_surface_wrapper_t\
      \ *wrapper,\t\t\t\t cairo_content_t\tcontent,\t\t\t\t int\t\twidth,\t\t\t\t\
      \ int\t\theight) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_matrix_is_identity
      Src: /src/cairo/src/cairo-surface-wrapper.c:561,1
    - Dst: _cairo_matrix_is_identity
      Src: /src/cairo/src/cairo-surface-wrapper.c:562,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - wrapper
    argTypes:
    - cairo_surface_wrapper_t*
    constantsTouched: []
    func_position:
      end: 563
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 563
    functionName: _cairo_surface_wrapper_needs_device_transform
    functionSourceFile: /src/cairo/src/cairo-surface-wrapper.c
    functionUses: []
    functionsReached:
    - _cairo_matrix_is_identity
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_surface_wrapper_needs_device_transform
      (cairo_surface_wrapper_t *wrapper) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_has_show_text_glyphs
      Src: /src/cairo/src/cairo-surface-wrapper.c:626,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - wrapper
    argTypes:
    - cairo_surface_wrapper_t*
    constantsTouched: []
    func_position:
      end: 627
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 627
    functionName: _cairo_surface_wrapper_has_show_text_glyphs
    functionSourceFile: /src/cairo/src/cairo-surface-wrapper.c
    functionUses: []
    functionsReached:
    - cairo_surface_has_show_text_glyphs
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t _cairo_surface_wrapper_has_show_text_glyphs (cairo_surface_wrapper_t
      *wrapper) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-surface-wrapper.c:651,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - wrapper
    argTypes:
    - cairo_surface_wrapper_t*
    constantsTouched: []
    func_position:
      end: 652
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 652
    functionName: _cairo_surface_wrapper_fini
    functionSourceFile: /src/cairo/src/cairo-surface-wrapper.c
    functionUses: []
    functionsReached:
    - cairo_surface_destroy
    linkageType: ''
    returnType: void
    signature: 'void _cairo_surface_wrapper_fini (cairo_surface_wrapper_t *wrapper) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_init
      Src: /src/cairo/src/cairo-matrix.c:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - matrix
    - tx
    - ty
    argTypes:
    - cairo_matrix_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 177
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 177
    functionName: cairo_matrix_init_translate
    functionSourceFile: /src/cairo/src/cairo-matrix.c
    functionUses: []
    functionsReached:
    - cairo_matrix_init
    linkageType: ''
    returnType: void
    signature: "void cairo_matrix_init_translate (cairo_matrix_t *matrix,\t\t\t double\
      \ tx, double ty) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - matrix
    - dx
    - dy
    argTypes:
    - cairo_matrix_t*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 382
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 382
    functionName: cairo_matrix_transform_distance
    functionSourceFile: /src/cairo/src/cairo-matrix.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void cairo_matrix_transform_distance (const cairo_matrix_t *matrix,
      double *dx, double *dy) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_matrix_compute_determinant
      Src: /src/cairo/src/cairo-matrix.c:740,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-matrix.c:743,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-matrix.c:744,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-matrix.c:741,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-matrix.c:746,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-matrix.c:747,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - matrix
    argTypes:
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 754
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 754
    functionName: _cairo_matrix_has_unity_scale
    functionSourceFile: /src/cairo/src/cairo-matrix.c
    functionUses: []
    functionsReached:
    - _cairo_matrix_compute_determinant
    - fabs
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t _cairo_matrix_has_unity_scale (const cairo_matrix_t *matrix) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-matrix.c:581,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-matrix.c:602,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-matrix.c:589,1
    - Dst: ISFINITE
      Src: /src/cairo/src/cairo-matrix.c:601,1
    - Dst: _cairo_matrix_compute_determinant
      Src: /src/cairo/src/cairo-matrix.c:599,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-matrix.c:605,1
    - Dst: _cairo_matrix_compute_adjoint
      Src: /src/cairo/src/cairo-matrix.c:607,1
    - Dst: _cairo_matrix_scalar_multiply
      Src: /src/cairo/src/cairo-matrix.c:608,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 1
    argNames:
    - matrix
    argTypes:
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 611
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 611
    functionName: cairo_matrix_invert
    functionSourceFile: /src/cairo/src/cairo-matrix.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_matrix_compute_determinant
    - _cairo_matrix_compute_adjoint
    - ISFINITE
    - _cairo_matrix_scalar_multiply
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t cairo_matrix_invert (cairo_matrix_t *matrix) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_matrix_compute_determinant
      Src: /src/cairo/src/cairo-matrix.c:663,1
    - Dst: cairo_matrix_transform_distance
      Src: /src/cairo/src/cairo-matrix.c:678,1
    - Dst: hypot
      Src: /src/cairo/src/cairo-matrix.c:679,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-matrix.c:666,1
    - Dst: ISFINITE
      Src: /src/cairo/src/cairo-matrix.c:665,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 4
    argNames:
    - matrix
    - basis_scale
    - normal_scale
    - x_basis
    argTypes:
    - cairo_matrix_t*
    - double*
    - double*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 702
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 702
    functionName: _cairo_matrix_compute_basis_scale_factors
    functionSourceFile: /src/cairo/src/cairo-matrix.c
    functionUses: []
    functionsReached:
    - _cairo_matrix_compute_determinant
    - _cairo_error
    - hypot
    - cairo_matrix_transform_distance
    - ISFINITE
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_matrix_compute_basis_scale_factors (const cairo_matrix_t\
      \ *matrix,\t\t\t\t\t double *basis_scale, double *normal_scale,\t\t\t\t\t cairo_bool_t\
      \ x_basis) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_matrix_compute_determinant
      Src: /src/cairo/src/cairo-matrix.c:618,1
    - Dst: ISFINITE
      Src: /src/cairo/src/cairo-matrix.c:620,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - matrix
    argTypes:
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 621
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 621
    functionName: _cairo_matrix_is_invertible
    functionSourceFile: /src/cairo/src/cairo-matrix.c
    functionUses: []
    functionsReached:
    - _cairo_matrix_compute_determinant
    - ISFINITE
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t _cairo_matrix_is_invertible (const cairo_matrix_t *matrix) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_matrix_is_translation
      Src: /src/cairo/src/cairo-matrix.c:708,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-matrix.c:710,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-matrix.c:713,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-matrix.c:711,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-matrix.c:714,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-matrix.c:717,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-matrix.c:719,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - matrix
    - itx
    - ity
    argTypes:
    - cairo_matrix_t*
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 726
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 726
    functionName: _cairo_matrix_is_integer_translation
    functionSourceFile: /src/cairo/src/cairo-matrix.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_is_integer
    - _cairo_matrix_is_translation
    - _cairo_fixed_from_double
    - _cairo_fixed_integer_part
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t _cairo_matrix_is_integer_translation (const cairo_matrix_t\
      \ *matrix,\t\t\t\t int *itx, int *ity) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-matrix.c:966,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-matrix.c:966,1
    - Dst: _cairo_fixed_16_16_from_double
      Src: /src/cairo/src/cairo-matrix.c:988,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-matrix.c:973,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-matrix.c:978,1
    - Dst: _cairo_fixed_16_16_from_double
      Src: /src/cairo/src/cairo-matrix.c:941,1
    - Dst: _cairo_fixed_16_16_from_double
      Src: /src/cairo/src/cairo-matrix.c:944,1
    - Dst: _cairo_fixed_16_16_from_double
      Src: /src/cairo/src/cairo-matrix.c:946,1
    - Dst: pixman_transform_point_3d
      Src: /src/cairo/src/cairo-matrix.c:993,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/cairo-matrix.c:998,1
    - Dst: _cairo_fixed_16_16_from_double
      Src: /src/cairo/src/cairo-matrix.c:1006,1
    - Dst: _cairo_fixed_16_16_from_double
      Src: /src/cairo/src/cairo-matrix.c:1007,1
    - Dst: pixman_fixed_to_double
      Src: /src/cairo/src/cairo-matrix.c:996,1
    - Dst: pixman_fixed_to_double
      Src: /src/cairo/src/cairo-matrix.c:997,1
    - Dst: cairo_matrix_transform_distance
      Src: /src/cairo/src/cairo-matrix.c:1005,1
    - Dst: _cairo_fixed_16_16_from_double
      Src: /src/cairo/src/cairo-matrix.c:940,1
    - Dst: _cairo_fixed_16_16_from_double
      Src: /src/cairo/src/cairo-matrix.c:945,1
    - Dst: _cairo_fixed_16_16_from_double
      Src: /src/cairo/src/cairo-matrix.c:942,1
    - Dst: _cairo_matrix_has_unity_scale
      Src: /src/cairo/src/cairo-matrix.c:963,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-matrix.c:967,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-matrix.c:969,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-matrix.c:968,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-matrix.c:971,1
    - Dst: _cairo_fixed_16_16_from_double
      Src: /src/cairo/src/cairo-matrix.c:989,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-matrix.c:970,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 68
    argCount: 4
    argNames:
    - matrix
    - pixman_transform
    - xc
    - yc
    argTypes:
    - cairo_matrix_t*
    - pixman_transform_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 1018
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 1018
    functionName: _cairo_matrix_to_pixman_matrix
    functionSourceFile: /src/cairo/src/cairo-matrix.c
    functionUses: []
    functionsReached:
    - fabs
    - _cairo_matrix_has_unity_scale
    - _cairo_error
    - _cairo_fixed_16_16_from_double
    - pixman_fixed_to_double
    - pixman_transform_point_3d
    - cairo_matrix_transform_point
    - cairo_matrix_invert
    - cairo_matrix_transform_distance
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_matrix_to_pixman_matrix (const cairo_matrix_t\t\
      *matrix,\t\t\t\tpixman_transform_t\t*pixman_transform,\t\t\t\tdouble xc,\t\t\
      \t\tdouble yc) "
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 7
    argNames:
    - matrix
    - xx
    - yx
    - xy
    - yy
    - x0
    - y0
    argTypes:
    - cairo_matrix_t*
    - double*
    - double*
    - double*
    - double*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 156
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 156
    functionName: _cairo_matrix_get_affine
    functionSourceFile: /src/cairo/src/cairo-matrix.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _cairo_matrix_get_affine (const cairo_matrix_t *matrix,\t\t\t\
      \ double *xx, double *yx,\t\t\t double *xy, double *yy,\t\t\t double *x0, double\
      \ *y0) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_init_scale
      Src: /src/cairo/src/cairo-matrix.c:240,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-matrix.c:242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - matrix
    - sx
    - sy
    argTypes:
    - cairo_matrix_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 243
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 243
    functionName: cairo_matrix_scale
    functionSourceFile: /src/cairo/src/cairo-matrix.c
    functionUses: []
    functionsReached:
    - cairo_matrix_init_scale
    - cairo_matrix_multiply
    linkageType: ''
    returnType: void
    signature: 'void cairo_matrix_scale (cairo_matrix_t *matrix, double sx, double
      sy) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_matrix_is_translation
      Src: /src/cairo/src/cairo-matrix.c:1056,1
    - Dst: floor
      Src: /src/cairo/src/cairo-matrix.c:1068,1
    - Dst: _pixman_nearest_sample
      Src: /src/cairo/src/cairo-matrix.c:1067,1
    - Dst: _pixman_nearest_sample
      Src: /src/cairo/src/cairo-matrix.c:1066,1
    - Dst: floor
      Src: /src/cairo/src/cairo-matrix.c:1068,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-matrix.c:1072,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-matrix.c:1072,1
    - Dst: _cairo_lround
      Src: /src/cairo/src/cairo-matrix.c:1075,1
    - Dst: _cairo_lround
      Src: /src/cairo/src/cairo-matrix.c:1076,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 4
    argNames:
    - matrix
    - filter
    - x_offset
    - y_offset
    argTypes:
    - cairo_matrix_t*
    - cairo_filter_t
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 1078
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1078
    functionName: _cairo_matrix_is_pixman_translation
    functionSourceFile: /src/cairo/src/cairo-matrix.c
    functionUses: []
    functionsReached:
    - fabs
    - _cairo_matrix_is_translation
    - _cairo_lround
    - _pixman_nearest_sample
    - floor
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t _cairo_matrix_is_pixman_translation (const cairo_matrix_t\
      \ *matrix,\t\t\t\t cairo_filter_t filter,\t\t\t\t int *x_offset,\t\t\t\t int\
      \ *y_offset) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 7
    argNames:
    - matrix
    - xx
    - yx
    - xy
    - yy
    - x0
    - y0
    argTypes:
    - cairo_matrix_t*
    - double
    - double
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: cairo_matrix_init
    functionSourceFile: /src/cairo/src/cairo-matrix.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void cairo_matrix_init (cairo_matrix_t *matrix,\t\t double xx, double\
      \ yx,\t\t double xy, double yy,\t\t double x0, double y0) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_init
      Src: /src/cairo/src/cairo-matrix.c:217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - matrix
    - sx
    - sy
    argTypes:
    - cairo_matrix_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 221
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 221
    functionName: cairo_matrix_init_scale
    functionSourceFile: /src/cairo/src/cairo-matrix.c
    functionUses: []
    functionsReached:
    - cairo_matrix_init
    linkageType: ''
    returnType: void
    signature: "void cairo_matrix_init_scale (cairo_matrix_t *matrix,\t\t\t double\
      \ sx, double sy) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 3
    argNames:
    - result
    - a
    - b
    argTypes:
    - cairo_matrix_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 337
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 337
    functionName: cairo_matrix_multiply
    functionSourceFile: /src/cairo/src/cairo-matrix.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void cairo_matrix_multiply (cairo_matrix_t *result, const cairo_matrix_t
      *a, const cairo_matrix_t *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ceil
      Src: /src/cairo/src/cairo-matrix.c:1023,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 1024
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1024
    functionName: _pixman_nearest_sample
    functionSourceFile: /src/cairo/src/cairo-matrix.c
    functionUses: []
    functionsReached:
    - ceil
    linkageType: ''
    returnType: double
    signature: 'static inline double _pixman_nearest_sample (double d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - cairo_matrix_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 352
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 352
    functionName: _cairo_matrix_multiply
    functionSourceFile: /src/cairo/src/cairo-matrix.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _cairo_matrix_multiply (cairo_matrix_t *r,\t\t\tconst cairo_matrix_t\
      \ *a,\t\t\tconst cairo_matrix_t *b) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_init_rotate
      Src: /src/cairo/src/cairo-matrix.c:295,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-matrix.c:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - matrix
    - radians
    argTypes:
    - cairo_matrix_t*
    - double
    constantsTouched: []
    func_position:
      end: 298
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 298
    functionName: cairo_matrix_rotate
    functionSourceFile: /src/cairo/src/cairo-matrix.c
    functionUses: []
    functionsReached:
    - cairo_matrix_init_rotate
    - cairo_matrix_multiply
    linkageType: ''
    returnType: void
    signature: 'void cairo_matrix_rotate (cairo_matrix_t *matrix, double radians) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_matrix_get_affine
      Src: /src/cairo/src/cairo-matrix.c:543,1
    - Dst: cairo_matrix_init
      Src: /src/cairo/src/cairo-matrix.c:548,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - matrix
    argTypes:
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 552
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 552
    functionName: _cairo_matrix_compute_adjoint
    functionSourceFile: /src/cairo/src/cairo-matrix.c
    functionUses: []
    functionsReached:
    - _cairo_matrix_get_affine
    - cairo_matrix_init
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_matrix_compute_adjoint (cairo_matrix_t *matrix) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sin
      Src: /src/cairo/src/cairo-matrix.c:265,1
    - Dst: cos
      Src: /src/cairo/src/cairo-matrix.c:266,1
    - Dst: cairo_matrix_init
      Src: /src/cairo/src/cairo-matrix.c:268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - matrix
    - radians
    argTypes:
    - cairo_matrix_t*
    - double
    constantsTouched: []
    func_position:
      end: 272
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 272
    functionName: cairo_matrix_init_rotate
    functionSourceFile: /src/cairo/src/cairo-matrix.c
    functionUses: []
    functionsReached:
    - sin
    - cairo_matrix_init
    - cos
    linkageType: ''
    returnType: void
    signature: "void cairo_matrix_init_rotate (cairo_matrix_t *matrix,\t\t\t double\
      \ radians) "
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/cairo-matrix.c:458,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/cairo-matrix.c:470,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/cairo-matrix.c:462,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/cairo-matrix.c:466,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 88
    argCount: 6
    argNames:
    - matrix
    - x1
    - y1
    - x2
    - y2
    - is_tight
    argTypes:
    - cairo_matrix_t*
    - double*
    - double*
    - double*
    - double*
    - cairo_bool_t*
    constantsTouched: []
    func_position:
      end: 506
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 506
    functionName: _cairo_matrix_transform_bounding_box
    functionSourceFile: /src/cairo/src/cairo-matrix.c
    functionUses: []
    functionsReached:
    - cairo_matrix_transform_point
    linkageType: ''
    returnType: void
    signature: "void _cairo_matrix_transform_bounding_box (const cairo_matrix_t *matrix,\t\
      \t\t\t double *x1, double *y1,\t\t\t\t double *x2, double *y2,\t\t\t\t cairo_bool_t\
      \ *is_tight) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - matrix
    - scalar
    argTypes:
    - cairo_matrix_t*
    - double
    constantsTouched: []
    func_position:
      end: 531
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 531
    functionName: _cairo_matrix_scalar_multiply
    functionSourceFile: /src/cairo/src/cairo-matrix.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_matrix_scalar_multiply (cairo_matrix_t *matrix,
      double scalar) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - matrix
    argTypes:
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 630
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 630
    functionName: _cairo_matrix_is_scale_0
    functionSourceFile: /src/cairo/src/cairo-matrix.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t _cairo_matrix_is_scale_0 (const cairo_matrix_t *matrix) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_matrix_is_pixman_translation
      Src: /src/cairo/src/cairo-matrix.c:1123,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-matrix.c:1151,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-matrix.c:1151,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/src/cairo-matrix.c:1135,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-matrix.c:1151,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-matrix.c:1158,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-matrix.c:1168,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-matrix.c:1168,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-matrix.c:1168,1
    - Dst: floor
      Src: /src/cairo/src/cairo-matrix.c:1177,1
    - Dst: _cairo_matrix_to_pixman_matrix
      Src: /src/cairo/src/cairo-matrix.c:1187,1
    - Dst: floor
      Src: /src/cairo/src/cairo-matrix.c:1178,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/src/cairo-matrix.c:1181,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 70
    argCount: 7
    argNames:
    - matrix
    - filter
    - xc
    - yc
    - out_transform
    - x_offset
    - y_offset
    argTypes:
    - cairo_matrix_t*
    - cairo_filter_t
    - double
    - double
    - pixman_transform_t*
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 1189
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1189
    functionName: _cairo_matrix_to_pixman_matrix_offset
    functionSourceFile: /src/cairo/src/cairo-matrix.c
    functionUses: []
    functionsReached:
    - _cairo_matrix_to_pixman_matrix
    - fabs
    - cairo_matrix_translate
    - MAX
    - _cairo_matrix_is_pixman_translation
    - floor
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_matrix_to_pixman_matrix_offset (const cairo_matrix_t\t\
      *matrix,\t\t\t\t cairo_filter_t filter,\t\t\t\t double xc,\t\t\t\t double yc,\t\
      \t\t\t pixman_transform_t\t*out_transform,\t\t\t\t int *x_offset,\t\t\t\t int\
      \ *y_offset) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_box_to_doubles
      Src: /src/cairo/src/cairo-matrix.c:515,1
    - Dst: _cairo_matrix_transform_bounding_box
      Src: /src/cairo/src/cairo-matrix.c:516,1
    - Dst: _cairo_box_from_doubles
      Src: /src/cairo/src/cairo-matrix.c:517,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - matrix
    - bbox
    - is_tight
    argTypes:
    - cairo_matrix_t*
    - cairo_box_t*
    - cairo_bool_t*
    constantsTouched: []
    func_position:
      end: 518
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 518
    functionName: _cairo_matrix_transform_bounding_box_fixed
    functionSourceFile: /src/cairo/src/cairo-matrix.c
    functionUses: []
    functionsReached:
    - _cairo_matrix_transform_bounding_box
    - _cairo_box_from_doubles
    - _cairo_box_to_doubles
    linkageType: ''
    returnType: cairo_private
    signature: "cairo_private void _cairo_matrix_transform_bounding_box_fixed (const\
      \ cairo_matrix_t *matrix,\t\t\t\t\t cairo_box_t *bbox,\t\t\t\t\t cairo_bool_t\
      \ *is_tight) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - matrix
    argTypes:
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 641
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 641
    functionName: _cairo_matrix_compute_determinant
    functionSourceFile: /src/cairo/src/cairo-matrix.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: 'double _cairo_matrix_compute_determinant (const cairo_matrix_t *matrix) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_matrix_has_unity_scale
      Src: /src/cairo/src/cairo-matrix.c:902,1
    - Dst: sqrt
      Src: /src/cairo/src/cairo-matrix.c:917,1
    - Dst: hypot
      Src: /src/cairo/src/cairo-matrix.c:917,1
    - Dst: _cairo_matrix_get_affine
      Src: /src/cairo/src/cairo-matrix.c:905,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - matrix
    - radius
    argTypes:
    - cairo_matrix_t*
    - double
    constantsTouched: []
    func_position:
      end: 923
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 923
    functionName: _cairo_matrix_transformed_circle_major_axis
    functionSourceFile: /src/cairo/src/cairo-matrix.c
    functionUses: []
    functionsReached:
    - _cairo_matrix_get_affine
    - hypot
    - sqrt
    - _cairo_matrix_has_unity_scale
    linkageType: ''
    returnType: double
    signature: "double _cairo_matrix_transformed_circle_major_axis (const cairo_matrix_t\
      \ *matrix,\t\t\t\t\t double radius) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_init
      Src: /src/cairo/src/cairo-matrix.c:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - matrix
    argTypes:
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: cairo_matrix_init_identity
    functionSourceFile: /src/cairo/src/cairo-matrix.c
    functionUses: []
    functionsReached:
    - cairo_matrix_init
    linkageType: ''
    returnType: void
    signature: 'void cairo_matrix_init_identity (cairo_matrix_t *matrix) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/src/cairo-matrix.c:197,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-matrix.c:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - matrix
    - tx
    - ty
    argTypes:
    - cairo_matrix_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: cairo_matrix_translate
    functionSourceFile: /src/cairo/src/cairo-matrix.c
    functionUses: []
    functionsReached:
    - cairo_matrix_init_translate
    - cairo_matrix_multiply
    linkageType: ''
    returnType: void
    signature: 'void cairo_matrix_translate (cairo_matrix_t *matrix, double tx, double
      ty) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_transform_distance
      Src: /src/cairo/src/cairo-matrix.c:397,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - matrix
    - x
    - y
    argTypes:
    - cairo_matrix_t*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 401
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 401
    functionName: cairo_matrix_transform_point
    functionSourceFile: /src/cairo/src/cairo-matrix.c
    functionUses: []
    functionsReached:
    - cairo_matrix_transform_distance
    linkageType: ''
    returnType: void
    signature: 'void cairo_matrix_transform_point (const cairo_matrix_t *matrix, double
      *x, double *y) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_matrix_has_unity_scale
      Src: /src/cairo/src/cairo-matrix.c:766,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-matrix.c:770,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-matrix.c:769,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-matrix.c:772,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-matrix.c:772,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - matrix
    argTypes:
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 773
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 773
    functionName: _cairo_matrix_is_pixel_exact
    functionSourceFile: /src/cairo/src/cairo-matrix.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_is_integer
    - _cairo_fixed_from_double
    - _cairo_matrix_has_unity_scale
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t _cairo_matrix_is_pixel_exact (const cairo_matrix_t *matrix) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_line_t*
    - cairo_line_t*
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: cairo_lines_equal
    functionSourceFile: /src/cairo/src/cairo-line-inline.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int cairo_lines_equal (const cairo_line_t *a, const
      cairo_line_t *b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - four_tuple
    - five_tuple
    - all_zero
    argTypes:
    - unsigned char
    - unsigned char
    - cairo_bool_t*
    constantsTouched: []
    func_position:
      end: 65
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 65
    functionName: _expand_four_tuple_to_five
    functionSourceFile: /src/cairo/src/cairo-base85-stream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void _expand_four_tuple_to_five (unsigned char four_tuple[4],\t\
      \t\t unsigned char five_tuple[5],\t\t\t cairo_bool_t *all_zero) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _expand_four_tuple_to_five
      Src: /src/cairo/src/cairo-base85-stream.c:81,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-base85-stream.c:83,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-base85-stream.c:90,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-base85-stream.c:85,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - base
    - data
    - length
    argTypes:
    - cairo_output_stream_t*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 91
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 91
    functionName: _cairo_base85_stream_write
    functionSourceFile: /src/cairo/src/cairo-base85-stream.c
    functionUses: []
    functionsReached:
    - _expand_four_tuple_to_five
    - _cairo_output_stream_get_status
    - _cairo_output_stream_write
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_base85_stream_write (cairo_output_stream_t\
      \ *base,\t\t\t const unsigned char\t *data,\t\t\t unsigned int\t length) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cairo/src/cairo-base85-stream.c:100,1
    - Dst: _expand_four_tuple_to_five
      Src: /src/cairo/src/cairo-base85-stream.c:101,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-base85-stream.c:105,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-base85-stream.c:102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - base
    argTypes:
    - cairo_output_stream_t*
    constantsTouched: []
    func_position:
      end: 106
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 106
    functionName: _cairo_base85_stream_close
    functionSourceFile: /src/cairo/src/cairo-base85-stream.c
    functionUses: []
    functionsReached:
    - _expand_four_tuple_to_five
    - _cairo_output_stream_get_status
    - _cairo_output_stream_write
    - memset
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_base85_stream_close (cairo_output_stream_t
      *base) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_create_in_error
      Src: /src/cairo/src/cairo-base85-stream.c:114,1
    - Dst: _cairo_output_stream_init
      Src: /src/cairo/src/cairo-base85-stream.c:122,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-base85-stream.c:117,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-base85-stream.c:118,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-base85-stream.c:116,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 130
    functionName: _cairo_base85_stream_create
    functionSourceFile: /src/cairo/src/cairo-base85-stream.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_create_in_error
    - _cairo_output_stream_init
    - _cairo_error_throw
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_output_stream_t*
    signature: 'cairo_output_stream_t *_cairo_base85_stream_create (cairo_output_stream_t
      *output) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 1
    argNames:
    - p
    argTypes:
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 380
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 380
    functionName: operand_length
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int operand_length (unsigned char *p) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-cff-subset.c:662,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:667,1
    - Dst: operand_length
      Src: /src/cairo/src/cairo-cff-subset.c:664,1
    - Dst: _cairo_array_append_multiple
      Src: /src/cairo/src/cairo-cff-subset.c:666,1
    - Dst: decode_operator
      Src: /src/cairo/src/cairo-cff-subset.c:672,1
    - Dst: cff_dict_create_operator
      Src: /src/cairo/src/cairo-cff-subset.c:673,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-cff-subset.c:674,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-cff-subset.c:675,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:677,1
    - Dst: _cairo_hash_table_insert
      Src: /src/cairo/src/cairo-cff-subset.c:680,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-cff-subset.c:689,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:681,1
    - Dst: _cairo_array_truncate
      Src: /src/cairo/src/cairo-cff-subset.c:684,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 3
    argNames:
    - dict
    - p
    - dict_size
    argTypes:
    - cairo_hash_table_t*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 692
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 692
    functionName: cff_dict_read
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    - _cairo_array_init
    - _cairo_array_append_multiple
    - cff_dict_create_operator
    - _cairo_array_num_elements
    - operand_length
    - decode_operator
    - _cairo_hash_table_insert
    - _cairo_array_truncate
    - _cairo_array_fini
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t cff_dict_read (cairo_hash_table_t *dict, unsigned
      char *p, int dict_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 390
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 390
    functionName: encode_index_offset
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned char*
    signature: 'static unsigned char *encode_index_offset (unsigned char *p, int offset_size,
      unsigned long offset) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_dict_init_key
      Src: /src/cairo/src/cairo-cff-subset.c:699,1
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:704,1
    - Dst: _cairo_hash_table_remove
      Src: /src/cairo/src/cairo-cff-subset.c:703,1
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:702,1
    - Dst: _cairo_hash_table_lookup
      Src: /src/cairo/src/cairo-cff-subset.c:700,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - dict
    - operator
    argTypes:
    - cairo_hash_table_t*
    - unsigned short
    constantsTouched: []
    func_position:
      end: 706
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 706
    functionName: cff_dict_remove
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - free
    - _cairo_dict_init_key
    - _cairo_hash_table_lookup
    - _cairo_hash_table_remove
    linkageType: ''
    returnType: void
    signature: 'static void cff_dict_remove (cairo_hash_table_t *dict, unsigned short
      operator) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:3463,1
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:3465,1
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:3464,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - subset
    argTypes:
    - cairo_cff_subset_t*
    constantsTouched: []
    func_position:
      end: 3466
      start: 3460
    functionDepth: 0
    functionLinenumber: 3460
    functionLinenumberEnd: 3466
    functionName: _cairo_cff_fallback_fini
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void _cairo_cff_fallback_fini (cairo_cff_subset_t *subset) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 298
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 298
    functionName: decode_nibble
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static char *decode_nibble (int n, char *buf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-cff-subset.c:524,1
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:526,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - index
    - obj_index
    - object
    - length
    argTypes:
    - cairo_array_t*
    - int
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 531
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 531
    functionName: cff_index_set_object
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - free
    - _cairo_array_index
    linkageType: ''
    returnType: void
    signature: 'static void cff_index_set_object (cairo_array_t *index, int obj_index,
      unsigned char *object , int length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-cff-subset.c:2036,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-cff-subset.c:2040,1
    - Dst: assert
      Src: /src/cairo/src/cairo-cff-subset.c:2039,1
    - Dst: encode_integer_max
      Src: /src/cairo/src/cairo-cff-subset.c:2037,1
    - Dst: cff_dict_get_location
      Src: /src/cairo/src/cairo-cff-subset.c:2038,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-cff-subset.c:2041,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - font
    - operator
    argTypes:
    - cairo_cff_font_t*
    - int
    constantsTouched: []
    func_position:
      end: 2042
      start: 2025
    functionDepth: 0
    functionLinenumber: 2025
    functionLinenumberEnd: 2042
    functionName: cairo_cff_font_set_topdict_operator_to_cur_pos
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - memcpy
    - _cairo_array_index
    - encode_integer_max
    - _cairo_array_num_elements
    - assert
    - cff_dict_get_location
    linkageType: ''
    returnType: void
    signature: 'static void cairo_cff_font_set_topdict_operator_to_cur_pos (cairo_cff_font_t
      *font, int operator) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/cairo/src/cairo-cff-subset.c:3281,1
    - Dst: encode_integer
      Src: /src/cairo/src/cairo-cff-subset.c:3291,1
    - Dst: cff_dict_set_operands
      Src: /src/cairo/src/cairo-cff-subset.c:3297,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:3299,1
    - Dst: encode_integer
      Src: /src/cairo/src/cairo-cff-subset.c:3305,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:3314,1
    - Dst: cff_dict_set_operands
      Src: /src/cairo/src/cairo-cff-subset.c:3312,1
    - Dst: cff_dict_set_operands
      Src: /src/cairo/src/cairo-cff-subset.c:3336,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:3338,1
    - Dst: cairo_cff_font_set_ros_strings
      Src: /src/cairo/src/cairo-cff-subset.c:3348,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:3378,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:3358,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-cff-subset.c:3367,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-cff-subset.c:3284,1
    - Dst: cff_dict_set_operands
      Src: /src/cairo/src/cairo-cff-subset.c:3292,1
    - Dst: encode_integer
      Src: /src/cairo/src/cairo-cff-subset.c:3302,1
    - Dst: cff_dict_set_operands
      Src: /src/cairo/src/cairo-cff-subset.c:3306,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:3308,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:3321,1
    - Dst: cff_dict_set_operands
      Src: /src/cairo/src/cairo-cff-subset.c:3326,1
    - Dst: cff_dict_set_operands
      Src: /src/cairo/src/cairo-cff-subset.c:3342,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:3344,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:3349,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:3370,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:3288,1
    - Dst: cff_index_append_copy
      Src: /src/cairo/src/cairo-cff-subset.c:3285,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-cff-subset.c:3287,1
    - Dst: encode_integer
      Src: /src/cairo/src/cairo-cff-subset.c:3303,1
    - Dst: cff_dict_set_operands
      Src: /src/cairo/src/cairo-cff-subset.c:3319,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:3327,1
    - Dst: cff_dict_set_operands
      Src: /src/cairo/src/cairo-cff-subset.c:3331,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:3354,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-cff-subset.c:3357,1
    - Dst: cairo_cff_font_write_subset
      Src: /src/cairo/src/cairo-cff-subset.c:3377,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-cff-subset.c:3368,1
    - Dst: cff_index_append
      Src: /src/cairo/src/cairo-cff-subset.c:3366,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-cff-subset.c:3382,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:3294,1
    - Dst: encode_integer
      Src: /src/cairo/src/cairo-cff-subset.c:3304,1
    - Dst: encode_integer_max
      Src: /src/cairo/src/cairo-cff-subset.c:3311,1
    - Dst: encode_integer_max
      Src: /src/cairo/src/cairo-cff-subset.c:3325,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:3333,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-cff-subset.c:3364,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-cff-subset.c:3359,1
    - Dst: cairo_cff_font_add_euro_charset_string
      Src: /src/cairo/src/cairo-cff-subset.c:3375,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-cff-subset.c:3381,1
    - Dst: cairo_cff_font_create_cid_fontdict
      Src: /src/cairo/src/cairo-cff-subset.c:3353,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 99
    argCount: 4
    argNames:
    - font
    - type2_subset
    - data
    - length
    argTypes:
    - cairo_cff_font_t*
    - cairo_type2_charstrings_t*
    - char**
    - unsigned long*
    constantsTouched: []
    func_position:
      end: 3385
      start: 3257
    functionDepth: 0
    functionLinenumber: 3257
    functionLinenumberEnd: 3385
    functionName: cairo_cff_font_fallback_generate
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - _cairo_malloc
    - cff_index_append
    - encode_integer_max
    - _cairo_array_index
    - strlen
    - encode_integer
    - _cairo_error
    - cairo_cff_font_write_subset
    - cairo_cff_font_create_cid_fontdict
    - _cairo_array_num_elements
    - cff_index_append_copy
    - cairo_cff_font_add_euro_charset_string
    - cff_dict_set_operands
    - cairo_cff_font_set_ros_strings
    - snprintf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t cairo_cff_font_fallback_generate (cairo_cff_font_t
      *font, cairo_type2_charstrings_t *type2_subset, const char **data, unsigned
      long *length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_nibble
      Src: /src/cairo/src/cairo-cff-subset.c:312,1
    - Dst: _cairo_strtod
      Src: /src/cairo/src/cairo-cff-subset.c:323,1
    - Dst: decode_nibble
      Src: /src/cairo/src/cairo-cff-subset.c:314,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 326
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 326
    functionName: decode_real
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - _cairo_strtod
    - decode_nibble
    linkageType: ''
    returnType: unsigned char*
    signature: 'static unsigned char *decode_real (unsigned char *p, double *real) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-cff-subset.c:542,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - index
    - object
    - length
    argTypes:
    - cairo_array_t*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 543
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 543
    functionName: cff_index_append
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - _cairo_array_append
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t cff_index_append (cairo_array_t *index, unsigned
      char *object , int length) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cairo_cff_font_fallback_generate
      Src: /src/cairo/src/cairo-cff-subset.c:3407,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:3408,1
    - Dst: strdup
      Src: /src/cairo/src/cairo-cff-subset.c:3412,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:3413,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-cff-subset.c:3414,1
    - Dst: cairo_cff_font_destroy
      Src: /src/cairo/src/cairo-cff-subset.c:3444,1
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:3449,1
    - Dst: _cairo_cff_font_fallback_create
      Src: /src/cairo/src/cairo-cff-subset.c:3399,1
    - Dst: _cairo_type2_charstrings_init
      Src: /src/cairo/src/cairo-cff-subset.c:3403,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:3404,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:3400,1
    - Dst: _cairo_calloc_ab
      Src: /src/cairo/src/cairo-cff-subset.c:3418,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-cff-subset.c:3420,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:3419,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-cff-subset.c:3440,1
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:3451,1
    - Dst: _cairo_type2_charstrings_fini
      Src: /src/cairo/src/cairo-cff-subset.c:3443,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-cff-subset.c:3436,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-cff-subset.c:3434,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:3435,1
    - Dst: _cairo_type2_charstrings_fini
      Src: /src/cairo/src/cairo-cff-subset.c:3453,1
    - Dst: cairo_cff_font_destroy
      Src: /src/cairo/src/cairo-cff-subset.c:3455,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 56
    argCount: 3
    argNames:
    - cff_subset
    - subset_name
    - font_subset
    argTypes:
    - cairo_cff_subset_t*
    - char*
    - cairo_scaled_font_subset_t*
    constantsTouched: []
    func_position:
      end: 3458
      start: 3387
    functionDepth: 0
    functionLinenumber: 3387
    functionLinenumberEnd: 3458
    functionName: _cairo_cff_fallback_init
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - cairo_cff_font_fallback_generate
    - _cairo_calloc_ab
    - _cairo_malloc
    - memcpy
    - cairo_cff_font_destroy
    - _cairo_error
    - free
    - _cairo_type2_charstrings_fini
    - strdup
    - _cairo_type2_charstrings_init
    - _cairo_cff_font_fallback_create
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_cff_fallback_init (cairo_cff_subset_t *cff_subset,\
      \ const char\t\t *subset_name, cairo_scaled_font_subset_t *font_subset) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cairo_cff_font_set_ros_strings
      Src: /src/cairo/src/cairo-cff-subset.c:1989,1
    - Dst: cairo_cff_font_subset_charstrings_and_subroutines
      Src: /src/cairo/src/cairo-cff-subset.c:1994,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:1990,1
    - Dst: cairo_cff_font_subset_fontdict
      Src: /src/cairo/src/cairo-cff-subset.c:2000,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:1995,1
    - Dst: cairo_cff_font_create_cid_fontdict
      Src: /src/cairo/src/cairo-cff-subset.c:2002,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2003,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-cff-subset.c:2006,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2007,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-cff-subset.c:2008,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2012,1
    - Dst: cairo_cff_font_add_euro_charset_string
      Src: /src/cairo/src/cairo-cff-subset.c:2016,1
    - Dst: cairo_cff_font_subset_strings
      Src: /src/cairo/src/cairo-cff-subset.c:2011,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - font
    argTypes:
    - cairo_cff_font_t*
    constantsTouched: []
    func_position:
      end: 2019
      start: 1983
    functionDepth: 0
    functionLinenumber: 1983
    functionLinenumberEnd: 2019
    functionName: cairo_cff_font_subset_font
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - _cairo_malloc
    - _cairo_error
    - cairo_cff_font_subset_strings
    - cairo_cff_font_add_euro_charset_string
    - cairo_cff_font_set_ros_strings
    - cairo_cff_font_subset_charstrings_and_subroutines
    - cairo_cff_font_create_cid_fontdict
    - cairo_cff_font_subset_fontdict
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t cairo_cff_font_subset_font (cairo_cff_font_t
      *font) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - key_a
    - key_b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 591
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 591
    functionName: _cairo_cff_dict_equal
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_cff_dict_equal (const void *key_a, const
      void *key_b) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: cff_dict_get_operands
      Src: /src/cairo/src/cairo-cff-subset.c:1133,1
    - Dst: decode_number
      Src: /src/cairo/src/cairo-cff-subset.c:1139,1
    - Dst: decode_number
      Src: /src/cairo/src/cairo-cff-subset.c:1141,1
    - Dst: decode_number
      Src: /src/cairo/src/cairo-cff-subset.c:1143,1
    - Dst: decode_number
      Src: /src/cairo/src/cairo-cff-subset.c:1137,1
    - Dst: floor
      Src: /src/cairo/src/cairo-cff-subset.c:1145,1
    - Dst: floor
      Src: /src/cairo/src/cairo-cff-subset.c:1146,1
    - Dst: floor
      Src: /src/cairo/src/cairo-cff-subset.c:1147,1
    - Dst: floor
      Src: /src/cairo/src/cairo-cff-subset.c:1148,1
    - Dst: cff_dict_get_operands
      Src: /src/cairo/src/cairo-cff-subset.c:1156,1
    - Dst: decode_number
      Src: /src/cairo/src/cairo-cff-subset.c:1160,1
    - Dst: decode_number
      Src: /src/cairo/src/cairo-cff-subset.c:1164,1
    - Dst: _cairo_round
      Src: /src/cairo/src/cairo-cff-subset.c:1169,1
    - Dst: decode_number
      Src: /src/cairo/src/cairo-cff-subset.c:1162,1
    - Dst: decode_number
      Src: /src/cairo/src/cairo-cff-subset.c:1166,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-cff-subset.c:1169,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 2
    argNames:
    - font
    - top_dict
    argTypes:
    - cairo_cff_font_t*
    - cairo_hash_table_t*
    constantsTouched: []
    func_position:
      end: 1170
      start: 1120
    functionDepth: 0
    functionLinenumber: 1120
    functionLinenumberEnd: 1170
    functionName: cairo_cff_font_read_font_metrics
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - fabs
    - decode_number
    - _cairo_round
    - cff_dict_get_operands
    - floor
    linkageType: ''
    returnType: void
    signature: 'static void cairo_cff_font_read_font_metrics (cairo_cff_font_t *font,
      cairo_hash_table_t *top_dict) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_append_multiple
      Src: /src/cairo/src/cairo-cff-subset.c:2047,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - font
    argTypes:
    - cairo_cff_font_t*
    constantsTouched: []
    func_position:
      end: 2050
      start: 2044
    functionDepth: 0
    functionLinenumber: 2044
    functionLinenumberEnd: 2050
    functionName: cairo_cff_font_write_header
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - _cairo_array_append_multiple
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t cairo_cff_font_write_header (cairo_cff_font_t
      *font) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_hash_table_create
      Src: /src/cairo/src/cairo-cff-subset.c:596,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:597,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-cff-subset.c:598,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - dict
    argTypes:
    - cairo_hash_table_t**
    constantsTouched: []
    func_position:
      end: 601
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 601
    functionName: cff_dict_init
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_hash_table_create
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t cff_dict_init (cairo_hash_table_t **dict) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-cff-subset.c:1190,1
    - Dst: cff_dict_read
      Src: /src/cairo/src/cairo-cff-subset.c:1193,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:1194,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:1228,1
    - Dst: cff_dict_get_operands
      Src: /src/cairo/src/cairo-cff-subset.c:1211,1
    - Dst: encode_integer_max
      Src: /src/cairo/src/cairo-cff-subset.c:1254,1
    - Dst: cff_dict_set_operands
      Src: /src/cairo/src/cairo-cff-subset.c:1255,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:1257,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:1274,1
    - Dst: cff_dict_set_operands
      Src: /src/cairo/src/cairo-cff-subset.c:1283,1
    - Dst: cairo_cff_font_read_private_dict
      Src: /src/cairo/src/cairo-cff-subset.c:1240,1
    - Dst: cff_index_init
      Src: /src/cairo/src/cairo-cff-subset.c:1185,1
    - Dst: cff_dict_get_operands
      Src: /src/cairo/src/cairo-cff-subset.c:1197,1
    - Dst: cff_dict_get_operands
      Src: /src/cairo/src/cairo-cff-subset.c:1202,1
    - Dst: cff_index_read
      Src: /src/cairo/src/cairo-cff-subset.c:1205,1
    - Dst: cff_dict_get_operands
      Src: /src/cairo/src/cairo-cff-subset.c:1225,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:1206,1
    - Dst: cff_dict_get_operands
      Src: /src/cairo/src/cairo-cff-subset.c:1231,1
    - Dst: decode_integer
      Src: /src/cairo/src/cairo-cff-subset.c:1232,1
    - Dst: cairo_cff_font_read_cid_fontdict
      Src: /src/cairo/src/cairo-cff-subset.c:1233,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:1234,1
    - Dst: encode_integer_max
      Src: /src/cairo/src/cairo-cff-subset.c:1272,1
    - Dst: cff_dict_set_operands
      Src: /src/cairo/src/cairo-cff-subset.c:1278,1
    - Dst: cff_dict_remove
      Src: /src/cairo/src/cairo-cff-subset.c:1289,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:1285,1
    - Dst: decode_integer
      Src: /src/cairo/src/cairo-cff-subset.c:1215,1
    - Dst: decode_integer
      Src: /src/cairo/src/cairo-cff-subset.c:1226,1
    - Dst: cairo_cff_font_read_fdselect
      Src: /src/cairo/src/cairo-cff-subset.c:1227,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-cff-subset.c:1208,1
    - Dst: cff_dict_get_operands
      Src: /src/cairo/src/cairo-cff-subset.c:1237,1
    - Dst: decode_integer
      Src: /src/cairo/src/cairo-cff-subset.c:1238,1
    - Dst: decode_integer
      Src: /src/cairo/src/cairo-cff-subset.c:1239,1
    - Dst: cff_dict_set_operands
      Src: /src/cairo/src/cairo-cff-subset.c:1260,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:1262,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:1268,1
    - Dst: cff_dict_remove
      Src: /src/cairo/src/cairo-cff-subset.c:1288,1
    - Dst: cff_index_fini
      Src: /src/cairo/src/cairo-cff-subset.c:1298,1
    - Dst: cff_dict_remove
      Src: /src/cairo/src/cairo-cff-subset.c:1294,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:1280,1
    - Dst: cff_index_read
      Src: /src/cairo/src/cairo-cff-subset.c:1186,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:1187,1
    - Dst: decode_integer
      Src: /src/cairo/src/cairo-cff-subset.c:1203,1
    - Dst: cairo_cff_font_read_font_metrics
      Src: /src/cairo/src/cairo-cff-subset.c:1222,1
    - Dst: cff_dict_set_operands
      Src: /src/cairo/src/cairo-cff-subset.c:1273,1
    - Dst: cff_dict_remove
      Src: /src/cairo/src/cairo-cff-subset.c:1295,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:1249,1
    - Dst: cff_dict_set_operands
      Src: /src/cairo/src/cairo-cff-subset.c:1266,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 94
    argCount: 1
    argNames:
    - font
    argTypes:
    - cairo_cff_font_t*
    constantsTouched: []
    func_position:
      end: 1301
      start: 1172
    functionDepth: 0
    functionLinenumber: 1172
    functionLinenumberEnd: 1301
    functionName: cairo_cff_font_read_top_dict
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - cff_dict_read
    - decode_integer
    - _cairo_array_index
    - cairo_cff_font_read_fdselect
    - encode_integer_max
    - cairo_cff_font_read_cid_fontdict
    - cff_index_read
    - _cairo_array_num_elements
    - cairo_cff_font_read_font_metrics
    - cff_dict_remove
    - cff_index_init
    - cairo_cff_font_read_private_dict
    - cff_dict_set_operands
    - cff_dict_get_operands
    - cff_index_fini
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t cairo_cff_font_read_top_dict (cairo_cff_font_t
      *font) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cff_index_init
      Src: /src/cairo/src/cairo-cff-subset.c:2058,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-cff-subset.c:2062,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2063,1
    - Dst: cff_index_write
      Src: /src/cairo/src/cairo-cff-subset.c:2066,1
    - Dst: cff_index_append_copy
      Src: /src/cairo/src/cairo-cff-subset.c:2060,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2067,1
    - Dst: cff_index_fini
      Src: /src/cairo/src/cairo-cff-subset.c:2071,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - font
    argTypes:
    - cairo_cff_font_t*
    constantsTouched: []
    func_position:
      end: 2074
      start: 2052
    functionDepth: 0
    functionLinenumber: 2052
    functionLinenumberEnd: 2074
    functionName: cairo_cff_font_write_name
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - strlen
    - cff_index_append_copy
    - cff_index_write
    - cff_index_init
    - cff_index_fini
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t cairo_cff_font_write_name (cairo_cff_font_t
      *font) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_dict_init_key
      Src: /src/cairo/src/cairo-cff-subset.c:826,1
    - Dst: cairo_dict_write_operator
      Src: /src/cairo/src/cairo-cff-subset.c:829,1
    - Dst: _cairo_hash_table_foreach
      Src: /src/cairo/src/cairo-cff-subset.c:831,1
    - Dst: _cairo_hash_table_lookup
      Src: /src/cairo/src/cairo-cff-subset.c:827,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - dict
    - output
    argTypes:
    - cairo_hash_table_t*
    - cairo_array_t*
    constantsTouched: []
    func_position:
      end: 834
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 834
    functionName: cff_dict_write
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - _cairo_dict_init_key
    - _cairo_hash_table_foreach
    - _cairo_hash_table_lookup
    - cairo_dict_write_operator
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t cff_dict_write (cairo_hash_table_t *dict, cairo_array_t
      *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cff_index_read
      Src: /src/cairo/src/cairo-cff-subset.c:1306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - font
    argTypes:
    - cairo_cff_font_t*
    constantsTouched: []
    func_position:
      end: 1307
      start: 1303
    functionDepth: 0
    functionLinenumber: 1303
    functionLinenumberEnd: 1307
    functionName: cairo_cff_font_read_strings
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - cff_index_read
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t cairo_cff_font_read_strings (cairo_cff_font_t
      *font) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cff_dict_get_operands
      Src: /src/cairo/src/cairo-cff-subset.c:1415,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-cff-subset.c:1423,1
    - Dst: decode_integer
      Src: /src/cairo/src/cairo-cff-subset.c:1419,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-cff-subset.c:1424,1
    - Dst: cff_index_append
      Src: /src/cairo/src/cairo-cff-subset.c:1425,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:1426,1
    - Dst: encode_integer
      Src: /src/cairo/src/cairo-cff-subset.c:1429,1
    - Dst: cff_dict_set_operands
      Src: /src/cairo/src/cairo-cff-subset.c:1430,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:1431,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - font
    - dict
    - operator
    argTypes:
    - cairo_cff_font_t*
    - cairo_hash_table_t*
    - int
    constantsTouched: []
    func_position:
      end: 1435
      start: 1403
    functionDepth: 0
    functionLinenumber: 1403
    functionLinenumberEnd: 1435
    functionName: cairo_cff_font_subset_dict_string
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - decode_integer
    - _cairo_array_index
    - encode_integer
    - _cairo_array_num_elements
    - cff_dict_set_operands
    - cff_dict_get_operands
    - cff_index_append
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t cairo_cff_font_subset_dict_string(cairo_cff_font_t
      *font, cairo_hash_table_t *dict, int operator) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_cff_font_set_topdict_operator_to_cur_pos
      Src: /src/cairo/src/cairo-cff-subset.c:2315,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-cff-subset.c:2321,1
    - Dst: _cairo_array_grow_by
      Src: /src/cairo/src/cairo-cff-subset.c:2316,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2317,1
    - Dst: assert
      Src: /src/cairo/src/cairo-cff-subset.c:2322,1
    - Dst: cpu_to_be16
      Src: /src/cairo/src/cairo-cff-subset.c:2324,1
    - Dst: _cairo_array_append_multiple
      Src: /src/cairo/src/cairo-cff-subset.c:2325,1
    - Dst: assert
      Src: /src/cairo/src/cairo-cff-subset.c:2326,1
    - Dst: cpu_to_be16
      Src: /src/cairo/src/cairo-cff-subset.c:2328,1
    - Dst: _cairo_array_append_multiple
      Src: /src/cairo/src/cairo-cff-subset.c:2329,1
    - Dst: assert
      Src: /src/cairo/src/cairo-cff-subset.c:2330,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - font
    argTypes:
    - cairo_cff_font_t*
    constantsTouched: []
    func_position:
      end: 2333
      start: 2308
    functionDepth: 0
    functionLinenumber: 2308
    functionLinenumberEnd: 2333
    functionName: cairo_cff_font_write_cid_charset
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - _cairo_array_append_multiple
    - assert
    - _cairo_array_grow_by
    - cairo_cff_font_set_topdict_operator_to_cur_pos
    - _cairo_array_append
    - cpu_to_be16
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t cairo_cff_font_write_cid_charset (cairo_cff_font_t
      *font) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-cff-subset.c:2569,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2571,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-cff-subset.c:2575,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2577,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - font
    argTypes:
    - cairo_cff_font_t*
    constantsTouched: []
    func_position:
      end: 2583
      start: 2562
    functionDepth: 0
    functionLinenumber: 2562
    functionLinenumberEnd: 2583
    functionName: cairo_cff_font_write_subset
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - ARRAY_LENGTH
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t cairo_cff_font_write_subset (cairo_cff_font_t
      *font) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-cff-subset.c:2822,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2821,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-cff-subset.c:2834,1
    - Dst: _cairo_array_grow_by
      Src: /src/cairo/src/cairo-cff-subset.c:2835,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2836,1
    - Dst: strdup
      Src: /src/cairo/src/cairo-cff-subset.c:2839,1
    - Dst: _cairo_hash_table_destroy
      Src: /src/cairo/src/cairo-cff-subset.c:2889,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2813,1
    - Dst: _cairo_cff_font_load_opentype_cff
      Src: /src/cairo/src/cairo-cff-subset.c:2827,1
    - Dst: cff_dict_init
      Src: /src/cairo/src/cairo-cff-subset.c:2857,1
    - Dst: cairo_cff_font_create_set_widths
      Src: /src/cairo/src/cairo-cff-subset.c:2852,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2858,1
    - Dst: cff_index_init
      Src: /src/cairo/src/cairo-cff-subset.c:2865,1
    - Dst: cff_index_init
      Src: /src/cairo/src/cairo-cff-subset.c:2867,1
    - Dst: cff_index_init
      Src: /src/cairo/src/cairo-cff-subset.c:2869,1
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:2895,1
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:2899,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-cff-subset.c:2820,1
    - Dst: _cairo_cff_font_load_cff
      Src: /src/cairo/src/cairo-cff-subset.c:2829,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-cff-subset.c:2841,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2853,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2840,1
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:2893,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-cff-subset.c:2896,1
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:2898,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-cff-subset.c:2847,1
    - Dst: _cairo_calloc_ab
      Src: /src/cairo/src/cairo-cff-subset.c:2845,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2846,1
    - Dst: cff_dict_init
      Src: /src/cairo/src/cairo-cff-subset.c:2861,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2862,1
    - Dst: cff_index_init
      Src: /src/cairo/src/cairo-cff-subset.c:2866,1
    - Dst: cff_index_init
      Src: /src/cairo/src/cairo-cff-subset.c:2868,1
    - Dst: cff_index_init
      Src: /src/cairo/src/cairo-cff-subset.c:2870,1
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:2891,1
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:2900,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 75
    argCount: 3
    argNames:
    - scaled_font_subset
    - font_return
    - subset_name
    argTypes:
    - cairo_scaled_font_subset_t*
    - cairo_cff_font_t**
    - char*
    constantsTouched: []
    func_position:
      end: 2903
      start: 2798
    functionDepth: 0
    functionLinenumber: 2798
    functionLinenumberEnd: 2903
    functionName: _cairo_cff_font_create
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - _cairo_calloc_ab
    - _cairo_cff_font_load_cff
    - cff_dict_init
    - _cairo_array_init
    - _cairo_error
    - free
    - _cairo_hash_table_destroy
    - unlikely
    - _cairo_array_grow_by
    - cairo_cff_font_create_set_widths
    - cff_index_init
    - strdup
    - _cairo_cff_font_load_opentype_cff
    - _cairo_array_fini
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t _cairo_cff_font_create (cairo_scaled_font_subset_t
      *scaled_font_subset, cairo_cff_font_t **font_return, const char *subset_name) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-cff-subset.c:3079,1
    - Dst: cff_index_fini
      Src: /src/cairo/src/cairo-cff-subset.c:3125,1
    - Dst: cff_index_read
      Src: /src/cairo/src/cairo-cff-subset.c:3132,1
    - Dst: check_fontdata_is_cff
      Src: /src/cairo/src/cairo-cff-subset.c:3110,1
    - Dst: cff_dict_read
      Src: /src/cairo/src/cairo-cff-subset.c:3143,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:3144,1
    - Dst: cff_index_fini
      Src: /src/cairo/src/cairo-cff-subset.c:3155,1
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:3158,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-cff-subset.c:3096,1
    - Dst: cff_index_init
      Src: /src/cairo/src/cairo-cff-subset.c:3123,1
    - Dst: cff_dict_init
      Src: /src/cairo/src/cairo-cff-subset.c:3136,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:3137,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:3080,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-cff-subset.c:3081,1
    - Dst: cff_index_read
      Src: /src/cairo/src/cairo-cff-subset.c:3124,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:3133,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-cff-subset.c:3140,1
    - Dst: cff_dict_get_operands
      Src: /src/cairo/src/cairo-cff-subset.c:3148,1
    - Dst: cff_dict_fini
      Src: /src/cairo/src/cairo-cff-subset.c:3152,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:3087,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:3097,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-cff-subset.c:3098,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:3103,1
    - Dst: cff_index_init
      Src: /src/cairo/src/cairo-cff-subset.c:3131,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 68
    argCount: 1
    argNames:
    - scaled_font
    argTypes:
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 3161
      start: 3054
    functionDepth: 0
    functionLinenumber: 3054
    functionLinenumberEnd: 3161
    functionName: _cairo_cff_scaled_font_is_cid_cff
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - _cairo_malloc
    - cff_dict_read
    - _cairo_array_index
    - cff_dict_init
    - cff_index_read
    - _cairo_error
    - free
    - cff_dict_fini
    - check_fontdata_is_cff
    - cff_index_init
    - cff_dict_get_operands
    - cff_index_fini
    - unlikely
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t _cairo_cff_scaled_font_is_cid_cff (cairo_scaled_font_t
      *scaled_font) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_hash_table_remove
      Src: /src/cairo/src/cairo-cff-subset.c:841,1
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:843,1
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:842,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - _entry
    - dict
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 844
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 844
    functionName: _cff_dict_entry_pluck
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - _cairo_hash_table_remove
    - free
    linkageType: ''
    returnType: void
    signature: 'static void _cff_dict_entry_pluck (void *_entry, void *dict) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cff_index_read
      Src: /src/cairo/src/cairo-cff-subset.c:1315,1
    - Dst: _cairo_calloc_ab
      Src: /src/cairo/src/cairo-cff-subset.c:1321,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:1322,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:1316,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-cff-subset.c:1319,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-cff-subset.c:1323,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - font
    argTypes:
    - cairo_cff_font_t*
    constantsTouched: []
    func_position:
      end: 1336
      start: 1309
    functionDepth: 0
    functionLinenumber: 1309
    functionLinenumberEnd: 1336
    functionName: cairo_cff_font_read_global_subroutines
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - _cairo_calloc_ab
    - cff_index_read
    - _cairo_error
    - _cairo_array_num_elements
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t cairo_cff_font_read_global_subroutines (cairo_cff_font_t
      *font) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_cff_font_set_topdict_operator_to_cur_pos
      Src: /src/cairo/src/cairo-cff-subset.c:2338,1
    - Dst: cff_index_write
      Src: /src/cairo/src/cairo-cff-subset.c:2340,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - font
    argTypes:
    - cairo_cff_font_t*
    constantsTouched: []
    func_position:
      end: 2341
      start: 2335
    functionDepth: 0
    functionLinenumber: 2335
    functionLinenumberEnd: 2341
    functionName: cairo_cff_font_write_charstrings
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - cairo_cff_font_set_topdict_operator_to_cur_pos
    - cff_index_write
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t cairo_cff_font_write_charstrings (cairo_cff_font_t
      *font) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cairo_cff_font_read_font
      Src: /src/cairo/src/cairo-cff-subset.c:2592,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2599,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-cff-subset.c:2600,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2593,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-cff-subset.c:2598,1
    - Dst: snprintf
      Src: /src/cairo/src/cairo-cff-subset.c:2602,1
    - Dst: cairo_cff_font_subset_font
      Src: /src/cairo/src/cairo-cff-subset.c:2607,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2608,1
    - Dst: cairo_cff_font_write_subset
      Src: /src/cairo/src/cairo-cff-subset.c:2611,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2612,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-cff-subset.c:2616,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-cff-subset.c:2617,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 3
    argNames:
    - font
    - data
    - length
    argTypes:
    - cairo_cff_font_t*
    - char**
    - unsigned long*
    constantsTouched: []
    func_position:
      end: 2620
      start: 2585
    functionDepth: 0
    functionLinenumber: 2585
    functionLinenumberEnd: 2620
    functionName: cairo_cff_font_generate
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - _cairo_malloc
    - _cairo_array_index
    - cairo_cff_font_write_subset
    - _cairo_error
    - _cairo_array_num_elements
    - cairo_cff_font_subset_font
    - snprintf
    - cairo_cff_font_read_font
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t cairo_cff_font_generate (cairo_cff_font_t
      *font, const char **data, unsigned long *length) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:2910,1
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:2911,1
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:2912,1
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:2913,1
    - Dst: cff_index_fini
      Src: /src/cairo/src/cairo-cff-subset.c:2917,1
    - Dst: cff_index_fini
      Src: /src/cairo/src/cairo-cff-subset.c:2919,1
    - Dst: cff_index_fini
      Src: /src/cairo/src/cairo-cff-subset.c:2921,1
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:2958,1
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:2964,1
    - Dst: cff_dict_fini
      Src: /src/cairo/src/cairo-cff-subset.c:2929,1
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:2939,1
    - Dst: cff_dict_fini
      Src: /src/cairo/src/cairo-cff-subset.c:2944,1
    - Dst: cff_index_fini
      Src: /src/cairo/src/cairo-cff-subset.c:2950,1
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:2951,1
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:2956,1
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:2960,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-cff-subset.c:2914,1
    - Dst: cff_dict_fini
      Src: /src/cairo/src/cairo-cff-subset.c:2915,1
    - Dst: cff_dict_fini
      Src: /src/cairo/src/cairo-cff-subset.c:2916,1
    - Dst: cff_index_fini
      Src: /src/cairo/src/cairo-cff-subset.c:2918,1
    - Dst: cff_index_fini
      Src: /src/cairo/src/cairo-cff-subset.c:2920,1
    - Dst: cff_index_fini
      Src: /src/cairo/src/cairo-cff-subset.c:2922,1
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:2940,1
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:2953,1
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:2966,1
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:2931,1
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:2933,1
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:2936,1
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:2934,1
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:2935,1
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:2946,1
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:2961,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 1
    argNames:
    - font
    argTypes:
    - cairo_cff_font_t*
    constantsTouched: []
    func_position:
      end: 2967
      start: 2905
    functionDepth: 0
    functionLinenumber: 2905
    functionLinenumberEnd: 2967
    functionName: cairo_cff_font_destroy
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - _cairo_array_fini
    - free
    - cff_dict_fini
    - cff_index_fini
    linkageType: ''
    returnType: void
    signature: 'static void cairo_cff_font_destroy (cairo_cff_font_t *font) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:3218,1
    - Dst: cff_dict_init
      Src: /src/cairo/src/cairo-cff-subset.c:3217,1
    - Dst: cff_index_init
      Src: /src/cairo/src/cairo-cff-subset.c:3222,1
    - Dst: cff_index_init
      Src: /src/cairo/src/cairo-cff-subset.c:3224,1
    - Dst: cff_index_init
      Src: /src/cairo/src/cairo-cff-subset.c:3226,1
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:3248,1
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:3250,1
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:3245,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-cff-subset.c:3171,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-cff-subset.c:3173,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:3172,1
    - Dst: strdup
      Src: /src/cairo/src/cairo-cff-subset.c:3189,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-cff-subset.c:3191,1
    - Dst: _cairo_calloc_ab
      Src: /src/cairo/src/cairo-cff-subset.c:3203,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:3204,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-cff-subset.c:3205,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:3190,1
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:3247,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-cff-subset.c:3178,1
    - Dst: _cairo_array_grow_by
      Src: /src/cairo/src/cairo-cff-subset.c:3179,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:3180,1
    - Dst: strdup
      Src: /src/cairo/src/cairo-cff-subset.c:3183,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:3184,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-cff-subset.c:3185,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:3214,1
    - Dst: cff_dict_init
      Src: /src/cairo/src/cairo-cff-subset.c:3213,1
    - Dst: cff_index_init
      Src: /src/cairo/src/cairo-cff-subset.c:3221,1
    - Dst: cff_index_init
      Src: /src/cairo/src/cairo-cff-subset.c:3223,1
    - Dst: cff_index_init
      Src: /src/cairo/src/cairo-cff-subset.c:3225,1
    - Dst: _cairo_hash_table_destroy
      Src: /src/cairo/src/cairo-cff-subset.c:3243,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-cff-subset.c:3252,1
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:3253,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 73
    argCount: 3
    argNames:
    - scaled_font_subset
    - font_return
    - subset_name
    argTypes:
    - cairo_scaled_font_subset_t*
    - cairo_cff_font_t**
    - char*
    constantsTouched: []
    func_position:
      end: 3255
      start: 3163
    functionDepth: 0
    functionLinenumber: 3163
    functionLinenumberEnd: 3255
    functionName: _cairo_cff_font_fallback_create
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - _cairo_calloc_ab
    - cff_dict_init
    - _cairo_array_init
    - _cairo_error
    - free
    - _cairo_hash_table_destroy
    - _cairo_array_grow_by
    - cff_index_init
    - strdup
    - _cairo_array_fini
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t _cairo_cff_font_fallback_create (cairo_scaled_font_subset_t
      *scaled_font_subset, cairo_cff_font_t **font_return, const char *subset_name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: encode_integer_max
      Src: /src/cairo/src/cairo-cff-subset.c:240,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 243
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 243
    functionName: encode_integer
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - encode_integer_max
    linkageType: ''
    returnType: unsigned char*
    signature: 'static unsigned char *encode_integer (unsigned char *p, int i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - p
    - off_size
    argTypes:
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 400
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 400
    functionName: decode_index_offset
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'static size_t decode_index_offset(unsigned char *p, int off_size) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-cff-subset.c:2181,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2182,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2188,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-cff-subset.c:2187,1
    - Dst: _cairo_array_append_multiple
      Src: /src/cairo/src/cairo-cff-subset.c:2204,1
    - Dst: assert
      Src: /src/cairo/src/cairo-cff-subset.c:2205,1
    - Dst: assert
      Src: /src/cairo/src/cairo-cff-subset.c:2213,1
    - Dst: assert
      Src: /src/cairo/src/cairo-cff-subset.c:2201,1
    - Dst: cpu_to_be16
      Src: /src/cairo/src/cairo-cff-subset.c:2207,1
    - Dst: _cairo_array_append_multiple
      Src: /src/cairo/src/cairo-cff-subset.c:2216,1
    - Dst: assert
      Src: /src/cairo/src/cairo-cff-subset.c:2209,1
    - Dst: cairo_cff_font_set_topdict_operator_to_cur_pos
      Src: /src/cairo/src/cairo-cff-subset.c:2177,1
    - Dst: cpu_to_be16
      Src: /src/cairo/src/cairo-cff-subset.c:2203,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-cff-subset.c:2212,1
    - Dst: _cairo_array_grow_by
      Src: /src/cairo/src/cairo-cff-subset.c:2195,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2196,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-cff-subset.c:2200,1
    - Dst: cpu_to_be16
      Src: /src/cairo/src/cairo-cff-subset.c:2215,1
    - Dst: _cairo_array_append_multiple
      Src: /src/cairo/src/cairo-cff-subset.c:2208,1
    - Dst: assert
      Src: /src/cairo/src/cairo-cff-subset.c:2217,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 46
    argCount: 1
    argNames:
    - font
    argTypes:
    - cairo_cff_font_t*
    constantsTouched: []
    func_position:
      end: 2221
      start: 2170
    functionDepth: 0
    functionLinenumber: 2170
    functionLinenumberEnd: 2221
    functionName: cairo_cff_font_write_fdselect
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - _cairo_array_append_multiple
    - assert
    - _cairo_array_grow_by
    - cairo_cff_font_set_topdict_operator_to_cur_pos
    - _cairo_array_append
    - cpu_to_be16
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t cairo_cff_font_write_fdselect (cairo_cff_font_t
      *font) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 267
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 267
    functionName: decode_integer
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned char*
    signature: 'static unsigned char *decode_integer (unsigned char *p, int *integer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-cff-subset.c:405,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - cairo_array_t*
    constantsTouched: []
    func_position:
      end: 406
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 406
    functionName: cff_index_init
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - _cairo_array_init
    linkageType: ''
    returnType: void
    signature: 'static void cff_index_init (cairo_array_t *index) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc_ab
      Src: /src/cairo/src/cairo-cff-subset.c:977,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:978,1
    - Dst: get_unaligned_be16
      Src: /src/cairo/src/cairo-cff-subset.c:991,1
    - Dst: get_unaligned_be16
      Src: /src/cairo/src/cairo-cff-subset.c:987,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-cff-subset.c:979,1
    - Dst: get_unaligned_be16
      Src: /src/cairo/src/cairo-cff-subset.c:994,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 2
    argNames:
    - font
    - p
    argTypes:
    - cairo_cff_font_t*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1005
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 1005
    functionName: cairo_cff_font_read_fdselect
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_calloc_ab
    - get_unaligned_be16
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t cairo_cff_font_read_fdselect (cairo_cff_font_t
      *font, unsigned char *p) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-cff-subset.c:2266,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - font
    - ch
    argTypes:
    - cairo_cff_font_t*
    - int
    constantsTouched: []
    func_position:
      end: 2277
      start: 2251
    functionDepth: 0
    functionLinenumber: 2251
    functionLinenumberEnd: 2277
    functionName: cairo_cff_font_get_sid_for_winansi_char
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: 'static int cairo_cff_font_get_sid_for_winansi_char (cairo_cff_font_t
      *font, int ch) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cairo_cff_font_set_topdict_operator_to_cur_pos
      Src: /src/cairo/src/cairo-cff-subset.c:2288,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-cff-subset.c:2289,1
    - Dst: cairo_cff_font_get_sid_for_winansi_char
      Src: /src/cairo/src/cairo-cff-subset.c:2295,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2296,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2290,1
    - Dst: cpu_to_be16
      Src: /src/cairo/src/cairo-cff-subset.c:2299,1
    - Dst: _cairo_array_append_multiple
      Src: /src/cairo/src/cairo-cff-subset.c:2300,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2301,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - font
    argTypes:
    - cairo_cff_font_t*
    constantsTouched: []
    func_position:
      end: 2306
      start: 2279
    functionDepth: 0
    functionLinenumber: 2279
    functionLinenumberEnd: 2306
    functionName: cairo_cff_font_write_type1_charset
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - _cairo_array_append_multiple
    - cairo_cff_font_get_sid_for_winansi_char
    - cairo_cff_font_set_topdict_operator_to_cur_pos
    - _cairo_array_append
    - cpu_to_be16
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t cairo_cff_font_write_type1_charset (cairo_cff_font_t
      *font) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: cff_index_read
      Src: /src/cairo/src/cairo-cff-subset.c:1021,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:1022,1
    - Dst: _cairo_calloc_ab
      Src: /src/cairo/src/cairo-cff-subset.c:1033,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:1034,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-cff-subset.c:1035,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:1071,1
    - Dst: encode_integer_max
      Src: /src/cairo/src/cairo-cff-subset.c:1106,1
    - Dst: encode_integer_max
      Src: /src/cairo/src/cairo-cff-subset.c:1105,1
    - Dst: decode_integer
      Src: /src/cairo/src/cairo-cff-subset.c:1084,1
    - Dst: cff_index_init
      Src: /src/cairo/src/cairo-cff-subset.c:1020,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-cff-subset.c:1041,1
    - Dst: _cairo_calloc_ab
      Src: /src/cairo/src/cairo-cff-subset.c:1039,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:1040,1
    - Dst: _cairo_calloc_ab
      Src: /src/cairo/src/cairo-cff-subset.c:1057,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:1058,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-cff-subset.c:1059,1
    - Dst: _cairo_calloc_ab
      Src: /src/cairo/src/cairo-cff-subset.c:1063,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:1064,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-cff-subset.c:1065,1
    - Dst: cff_dict_init
      Src: /src/cairo/src/cairo-cff-subset.c:1086,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:1087,1
    - Dst: _cairo_calloc_ab
      Src: /src/cairo/src/cairo-cff-subset.c:1027,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-cff-subset.c:1025,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:1028,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-cff-subset.c:1029,1
    - Dst: cff_dict_get_operands
      Src: /src/cairo/src/cairo-cff-subset.c:1079,1
    - Dst: cairo_cff_font_read_private_dict
      Src: /src/cairo/src/cairo-cff-subset.c:1091,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:1100,1
    - Dst: cff_index_fini
      Src: /src/cairo/src/cairo-cff-subset.c:1115,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-cff-subset.c:1074,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:1046,1
    - Dst: _cairo_calloc_ab
      Src: /src/cairo/src/cairo-cff-subset.c:1051,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-cff-subset.c:1047,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:1052,1
    - Dst: _cairo_calloc_ab
      Src: /src/cairo/src/cairo-cff-subset.c:1045,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-cff-subset.c:1053,1
    - Dst: cff_dict_init
      Src: /src/cairo/src/cairo-cff-subset.c:1070,1
    - Dst: cff_dict_read
      Src: /src/cairo/src/cairo-cff-subset.c:1075,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:1076,1
    - Dst: cff_index_init
      Src: /src/cairo/src/cairo-cff-subset.c:1090,1
    - Dst: cff_dict_set_operands
      Src: /src/cairo/src/cairo-cff-subset.c:1107,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:1108,1
    - Dst: decode_integer
      Src: /src/cairo/src/cairo-cff-subset.c:1085,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 93
    argCount: 2
    argNames:
    - font
    - ptr
    argTypes:
    - cairo_cff_font_t*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1118
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1118
    functionName: cairo_cff_font_read_cid_fontdict
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - _cairo_calloc_ab
    - cff_dict_read
    - _cairo_array_index
    - decode_integer
    - encode_integer_max
    - cff_dict_init
    - cff_index_read
    - _cairo_error
    - _cairo_array_num_elements
    - cff_index_init
    - cairo_cff_font_read_private_dict
    - cff_dict_set_operands
    - cff_dict_get_operands
    - cff_index_fini
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t cairo_cff_font_read_cid_fontdict (cairo_cff_font_t
      *font, unsigned char *ptr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-cff-subset.c:555,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:556,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-cff-subset.c:561,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-cff-subset.c:557,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-cff-subset.c:559,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:562,1
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:563,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - index
    - object
    - length
    argTypes:
    - cairo_array_t*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 568
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 568
    functionName: cff_index_append_copy
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - _cairo_malloc
    - memcpy
    - _cairo_error
    - free
    - _cairo_array_append
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t cff_index_append_copy (cairo_array_t *index,
      const unsigned char *object, unsigned int length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-cff-subset.c:1355,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:1357,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - font
    argTypes:
    - cairo_cff_font_t*
    constantsTouched: []
    func_position:
      end: 1362
      start: 1349
    functionDepth: 0
    functionLinenumber: 1349
    functionLinenumberEnd: 1362
    functionName: cairo_cff_font_read_font
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - ARRAY_LENGTH
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t cairo_cff_font_read_font (cairo_cff_font_t
      *font) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cpu_to_be16
      Src: /src/cairo/src/cairo-cff-subset.c:2089,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-cff-subset.c:2094,1
    - Dst: _cairo_array_append_multiple
      Src: /src/cairo/src/cairo-cff-subset.c:2090,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2095,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2091,1
    - Dst: encode_index_offset
      Src: /src/cairo/src/cairo-cff-subset.c:2097,1
    - Dst: _cairo_array_append_multiple
      Src: /src/cairo/src/cairo-cff-subset.c:2098,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2099,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-cff-subset.c:2104,1
    - Dst: _cairo_array_append_multiple
      Src: /src/cairo/src/cairo-cff-subset.c:2105,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2106,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-cff-subset.c:2109,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2111,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-cff-subset.c:2113,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-cff-subset.c:2117,1
    - Dst: cff_dict_write
      Src: /src/cairo/src/cairo-cff-subset.c:2110,1
    - Dst: encode_index_offset
      Src: /src/cairo/src/cairo-cff-subset.c:2115,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-cff-subset.c:2116,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - font
    argTypes:
    - cairo_cff_font_t*
    constantsTouched: []
    func_position:
      end: 2120
      start: 2076
    functionDepth: 0
    functionLinenumber: 2076
    functionLinenumberEnd: 2120
    functionName: cairo_cff_font_write_top_dict
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - memcpy
    - _cairo_array_index
    - _cairo_array_append_multiple
    - unlikely
    - _cairo_array_num_elements
    - cff_dict_write
    - encode_index_offset
    - cpu_to_be16
    - _cairo_array_append
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t cairo_cff_font_write_top_dict (cairo_cff_font_t
      *font) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_cff_font_write_private_dict
      Src: /src/cairo/src/cairo-cff-subset.c:2515,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2519,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2527,1
    - Dst: cairo_cff_font_write_local_sub
      Src: /src/cairo/src/cairo-cff-subset.c:2522,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - font
    argTypes:
    - cairo_cff_font_t*
    constantsTouched: []
    func_position:
      end: 2531
      start: 2510
    functionDepth: 0
    functionLinenumber: 2510
    functionLinenumberEnd: 2531
    functionName: cairo_cff_font_write_type1_private_dict_and_local_sub
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - cairo_cff_font_write_private_dict
    - cairo_cff_font_write_local_sub
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t cairo_cff_font_write_type1_private_dict_and_local_sub
      (cairo_cff_font_t *font) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-cff-subset.c:576,1
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:579,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-cff-subset.c:577,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-cff-subset.c:581,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - index
    argTypes:
    - cairo_array_t*
    constantsTouched: []
    func_position:
      end: 582
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 582
    functionName: cff_index_fini
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    - free
    - _cairo_array_num_elements
    - _cairo_array_fini
    linkageType: ''
    returnType: void
    signature: 'static void cff_index_fini (cairo_array_t *index) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-cff-subset.c:1374,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-cff-subset.c:1377,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:1378,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-cff-subset.c:1381,1
    - Dst: cff_index_append_copy
      Src: /src/cairo/src/cairo-cff-subset.c:1375,1
    - Dst: cff_index_append_copy
      Src: /src/cairo/src/cairo-cff-subset.c:1382,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-cff-subset.c:1384,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:1385,1
    - Dst: encode_integer
      Src: /src/cairo/src/cairo-cff-subset.c:1388,1
    - Dst: encode_integer
      Src: /src/cairo/src/cairo-cff-subset.c:1389,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:1392,1
    - Dst: cff_dict_set_operands
      Src: /src/cairo/src/cairo-cff-subset.c:1396,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:1397,1
    - Dst: encode_integer
      Src: /src/cairo/src/cairo-cff-subset.c:1395,1
    - Dst: cff_dict_set_operands
      Src: /src/cairo/src/cairo-cff-subset.c:1391,1
    - Dst: encode_integer
      Src: /src/cairo/src/cairo-cff-subset.c:1390,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - font
    argTypes:
    - cairo_cff_font_t*
    constantsTouched: []
    func_position:
      end: 1401
      start: 1364
    functionDepth: 0
    functionLinenumber: 1364
    functionLinenumberEnd: 1401
    functionName: cairo_cff_font_set_ros_strings
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - strlen
    - encode_integer
    - _cairo_array_num_elements
    - cff_index_append_copy
    - cff_dict_set_operands
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t cairo_cff_font_set_ros_strings (cairo_cff_font_t
      *font) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cff_index_write
      Src: /src/cairo/src/cairo-cff-subset.c:2125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - font
    argTypes:
    - cairo_cff_font_t*
    constantsTouched: []
    func_position:
      end: 2126
      start: 2122
    functionDepth: 0
    functionLinenumber: 2122
    functionLinenumberEnd: 2126
    functionName: cairo_cff_font_write_strings
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - cff_index_write
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t cairo_cff_font_write_strings (cairo_cff_font_t
      *font) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: be16_to_cpu
      Src: /src/cairo/src/cairo-cff-subset.c:2641,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2653,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2639,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2663,1
    - Dst: be16_to_cpu
      Src: /src/cairo/src/cairo-cff-subset.c:2666,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - font
    argTypes:
    - cairo_cff_font_t*
    constantsTouched: []
    func_position:
      end: 2670
      start: 2622
    functionDepth: 0
    functionLinenumber: 2622
    functionLinenumberEnd: 2670
    functionName: cairo_cff_font_create_set_widths
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - be16_to_cpu
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t cairo_cff_font_create_set_widths (cairo_cff_font_t
      *font) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-cff-subset.c:3020,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:3021,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-cff-subset.c:3022,1
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:3038,1
    - Dst: cairo_cff_font_destroy
      Src: /src/cairo/src/cairo-cff-subset.c:3040,1
    - Dst: strdup
      Src: /src/cairo/src/cairo-cff-subset.c:2988,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2989,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-cff-subset.c:2990,1
    - Dst: strdup
      Src: /src/cairo/src/cairo-cff-subset.c:2995,1
    - Dst: _cairo_calloc_ab
      Src: /src/cairo/src/cairo-cff-subset.c:3004,1
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:3036,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:3006,1
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:3034,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-cff-subset.c:3007,1
    - Dst: cairo_cff_font_generate
      Src: /src/cairo/src/cairo-cff-subset.c:2984,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2985,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-cff-subset.c:3026,1
    - Dst: cairo_cff_font_destroy
      Src: /src/cairo/src/cairo-cff-subset.c:3029,1
    - Dst: _cairo_cff_font_create
      Src: /src/cairo/src/cairo-cff-subset.c:2980,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2981,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-cff-subset.c:2997,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 60
    argCount: 3
    argNames:
    - cff_subset
    - subset_name
    - font_subset
    argTypes:
    - cairo_cff_subset_t*
    - char*
    - cairo_scaled_font_subset_t*
    constantsTouched: []
    func_position:
      end: 3043
      start: 2969
    functionDepth: 0
    functionLinenumber: 2969
    functionLinenumberEnd: 3043
    functionName: _cairo_cff_subset_init
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - _cairo_cff_font_create
    - _cairo_calloc_ab
    - _cairo_malloc
    - memcpy
    - cairo_cff_font_destroy
    - _cairo_error
    - cairo_cff_font_generate
    - free
    - strdup
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_cff_subset_init (cairo_cff_subset_t *cff_subset,\
      \ const char\t\t *subset_name, cairo_scaled_font_subset_t *font_subset) "
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - data
    - length
    argTypes:
    - unsigned char*
    - long
    constantsTouched: []
    func_position:
      end: 2689
      start: 2672
    functionDepth: 0
    functionLinenumber: 2672
    functionLinenumberEnd: 2689
    functionName: check_fontdata_is_cff
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t check_fontdata_is_cff (const unsigned char *data,
      long length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:3048,1
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:3051,1
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:3050,1
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:3049,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - subset
    argTypes:
    - cairo_cff_subset_t*
    constantsTouched: []
    func_position:
      end: 3052
      start: 3045
    functionDepth: 0
    functionLinenumber: 3045
    functionLinenumberEnd: 3052
    functionName: _cairo_cff_subset_fini
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void _cairo_cff_subset_fini (cairo_cff_subset_t *subset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 220
    functionName: encode_integer_max
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned char*
    signature: 'static unsigned char *encode_integer_max (unsigned char *p, int i) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cairo_cff_font_set_topdict_operator_to_cur_pos
      Src: /src/cairo/src/cairo-cff-subset.c:2354,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-cff-subset.c:2359,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2357,1
    - Dst: _cairo_array_append_multiple
      Src: /src/cairo/src/cairo-cff-subset.c:2356,1
    - Dst: cpu_to_be16
      Src: /src/cairo/src/cairo-cff-subset.c:2355,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2360,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-cff-subset.c:2363,1
    - Dst: _cairo_array_allocate
      Src: /src/cairo/src/cairo-cff-subset.c:2364,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2367,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-cff-subset.c:2369,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2375,1
    - Dst: put_unaligned_be32
      Src: /src/cairo/src/cairo-cff-subset.c:2379,1
    - Dst: put_unaligned_be32
      Src: /src/cairo/src/cairo-cff-subset.c:2370,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-cff-subset.c:2378,1
    - Dst: cff_dict_write
      Src: /src/cairo/src/cairo-cff-subset.c:2373,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-cff-subset.c:2379,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 1
    argNames:
    - font
    argTypes:
    - cairo_cff_font_t*
    constantsTouched: []
    func_position:
      end: 2385
      start: 2343
    functionDepth: 0
    functionLinenumber: 2343
    functionLinenumberEnd: 2385
    functionName: cairo_cff_font_write_cid_fontdict
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    - _cairo_array_append_multiple
    - _cairo_array_num_elements
    - _cairo_array_allocate
    - cff_dict_write
    - put_unaligned_be32
    - cairo_cff_font_set_topdict_operator_to_cur_pos
    - _cairo_array_append
    - cpu_to_be16
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t cairo_cff_font_write_cid_fontdict (cairo_cff_font_t
      *font) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_unaligned_be16
      Src: /src/cairo/src/cairo-cff-subset.c:420,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-cff-subset.c:437,1
    - Dst: decode_index_offset
      Src: /src/cairo/src/cairo-cff-subset.c:430,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:438,1
    - Dst: decode_index_offset
      Src: /src/cairo/src/cairo-cff-subset.c:427,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 3
    argNames:
    - index
    - ptr
    - end_ptr
    argTypes:
    - cairo_array_t*
    - unsigned char**
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 447
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 447
    functionName: cff_index_read
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - _cairo_array_append
    - decode_index_offset
    - get_unaligned_be16
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t cff_index_read (cairo_array_t *index, unsigned
      char **ptr, unsigned char *end_ptr) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-cff-subset.c:461,1
    - Dst: _cairo_array_append_multiple
      Src: /src/cairo/src/cairo-cff-subset.c:463,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-cff-subset.c:473,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:464,1
    - Dst: cpu_to_be16
      Src: /src/cairo/src/cairo-cff-subset.c:462,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-cff-subset.c:486,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:487,1
    - Dst: encode_index_offset
      Src: /src/cairo/src/cairo-cff-subset.c:491,1
    - Dst: _cairo_array_append_multiple
      Src: /src/cairo/src/cairo-cff-subset.c:492,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:493,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:501,1
    - Dst: encode_index_offset
      Src: /src/cairo/src/cairo-cff-subset.c:499,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-cff-subset.c:506,1
    - Dst: _cairo_array_append_multiple
      Src: /src/cairo/src/cairo-cff-subset.c:500,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-cff-subset.c:497,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:512,1
    - Dst: _cairo_array_append_multiple
      Src: /src/cairo/src/cairo-cff-subset.c:508,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 2
    argNames:
    - index
    - output
    argTypes:
    - cairo_array_t*
    - cairo_array_t*
    constantsTouched: []
    func_position:
      end: 516
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 516
    functionName: cff_index_write
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    - _cairo_array_append_multiple
    - _cairo_array_num_elements
    - encode_index_offset
    - _cairo_array_append
    - cpu_to_be16
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t cff_index_write (cairo_array_t *index, cairo_array_t
      *output) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-cff-subset.c:2401,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2403,1
    - Dst: encode_integer_max
      Src: /src/cairo/src/cairo-cff-subset.c:2408,1
    - Dst: cff_dict_write
      Src: /src/cairo/src/cairo-cff-subset.c:2402,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-cff-subset.c:2406,1
    - Dst: encode_integer_max
      Src: /src/cairo/src/cairo-cff-subset.c:2409,1
    - Dst: cff_dict_get_location
      Src: /src/cairo/src/cairo-cff-subset.c:2410,1
    - Dst: assert
      Src: /src/cairo/src/cairo-cff-subset.c:2411,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-cff-subset.c:2412,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-cff-subset.c:2413,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - font
    - dict_num
    - parent_dict
    - private_dict
    argTypes:
    - cairo_cff_font_t*
    - int
    - cairo_hash_table_t*
    - cairo_hash_table_t*
    constantsTouched: []
    func_position:
      end: 2416
      start: 2387
    functionDepth: 0
    functionLinenumber: 2387
    functionLinenumberEnd: 2416
    functionName: cairo_cff_font_write_private_dict
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - memcpy
    - encode_integer_max
    - _cairo_array_index
    - _cairo_array_num_elements
    - assert
    - cff_dict_write
    - cff_dict_get_location
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t cairo_cff_font_write_private_dict (cairo_cff_font_t\
      \ *font,\t\t\t\t int dict_num,\t\t\t\t cairo_hash_table_t *parent_dict,\t\t\t\
      \t cairo_hash_table_t *private_dict) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_dict_init_key
      Src: /src/cairo/src/cairo-cff-subset.c:715,1
    - Dst: _cairo_hash_table_lookup
      Src: /src/cairo/src/cairo-cff-subset.c:716,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 723
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 723
    functionName: cff_dict_get_operands
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - _cairo_dict_init_key
    - _cairo_hash_table_lookup
    linkageType: ''
    returnType: unsigned char*
    signature: 'static unsigned char *cff_dict_get_operands (cairo_hash_table_t *dict,
      unsigned short operator, int *size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_hash_table_foreach
      Src: /src/cairo/src/cairo-cff-subset.c:849,1
    - Dst: _cairo_hash_table_destroy
      Src: /src/cairo/src/cairo-cff-subset.c:850,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - dict
    argTypes:
    - cairo_hash_table_t*
    constantsTouched: []
    func_position:
      end: 851
      start: 846
    functionDepth: 0
    functionLinenumber: 846
    functionLinenumberEnd: 851
    functionName: cff_dict_fini
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - _cairo_hash_table_destroy
    - _cairo_hash_table_foreach
    linkageType: ''
    returnType: void
    signature: 'static void cff_dict_fini (cairo_hash_table_t *dict) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_dict_init_key
      Src: /src/cairo/src/cairo-cff-subset.c:734,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:739,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-cff-subset.c:738,1
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:737,1
    - Dst: _cairo_hash_table_lookup
      Src: /src/cairo/src/cairo-cff-subset.c:735,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-cff-subset.c:740,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-cff-subset.c:742,1
    - Dst: cff_dict_create_operator
      Src: /src/cairo/src/cairo-cff-subset.c:747,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:748,1
    - Dst: _cairo_hash_table_insert
      Src: /src/cairo/src/cairo-cff-subset.c:751,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:752,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - dict
    - operator
    - operand
    - size
    argTypes:
    - cairo_hash_table_t*
    - unsigned short
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 757
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 757
    functionName: cff_dict_set_operands
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - _cairo_malloc
    - _cairo_dict_init_key
    - memcpy
    - _cairo_error
    - free
    - cff_dict_create_operator
    - _cairo_hash_table_insert
    - _cairo_hash_table_lookup
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t cff_dict_set_operands (cairo_hash_table_t *dict,
      unsigned short operator, unsigned char *operand, int size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - font
    argTypes:
    - cairo_cff_font_t*
    constantsTouched: []
    func_position:
      end: 864
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 864
    functionName: cairo_cff_font_read_header
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t cairo_cff_font_read_header (cairo_cff_font_t
      *font) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - key
    - operator
    argTypes:
    - cff_dict_operator_t*
    - int
    constantsTouched: []
    func_position:
      end: 608
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 608
    functionName: _cairo_dict_init_key
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_dict_init_key (cff_dict_operator_t *key, int operator) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: get_unaligned_be16
      Src: /src/cairo/src/cairo-cff-subset.c:1739,1
    - Dst: get_unaligned_be16
      Src: /src/cairo/src/cairo-cff-subset.c:1770,1
    - Dst: get_unaligned_be16
      Src: /src/cairo/src/cairo-cff-subset.c:1754,1
    - Dst: get_unaligned_be16
      Src: /src/cairo/src/cairo-cff-subset.c:1771,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 64
    argCount: 3
    argNames:
    - font
    - cid
    - gid
    argTypes:
    - cairo_cff_font_t*
    - unsigned long
    - unsigned long*
    constantsTouched: []
    func_position:
      end: 1785
      start: 1719
    functionDepth: 0
    functionLinenumber: 1719
    functionLinenumberEnd: 1785
    functionName: cairo_cff_font_get_gid_for_cid
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - get_unaligned_be16
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t cairo_cff_font_get_gid_for_cid (cairo_cff_font_t
      *font, unsigned long cid, unsigned long *gid) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-cff-subset.c:618,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:619,1
    - Dst: _cairo_dict_init_key
      Src: /src/cairo/src/cairo-cff-subset.c:622,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-cff-subset.c:624,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-cff-subset.c:620,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:625,1
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:626,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-cff-subset.c:627,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-cff-subset.c:629,1
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:639,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-cff-subset.c:640,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 4
    argNames:
    - operator
    - operand
    - size
    - out
    argTypes:
    - int
    - unsigned char*
    - int
    - cff_dict_operator_t**
    constantsTouched: []
    func_position:
      end: 649
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 649
    functionName: cff_dict_create_operator
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - _cairo_malloc
    - _cairo_dict_init_key
    - memcpy
    - _cairo_error
    - free
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t cff_dict_create_operator (int operator, unsigned\
      \ char *operand, int size,\t\t\t cff_dict_operator_t **out) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cairo_cff_font_get_gid_for_cid
      Src: /src/cairo/src/cairo-cff-subset.c:1799,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:1800,1
    - Dst: cff_index_append
      Src: /src/cairo/src/cairo-cff-subset.c:1806,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:1809,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-cff-subset.c:1805,1
    - Dst: cairo_cff_find_width_and_subroutines_used
      Src: /src/cairo/src/cairo-cff-subset.c:1813,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:1824,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 1
    argNames:
    - font
    argTypes:
    - cairo_cff_font_t*
    constantsTouched: []
    func_position:
      end: 1831
      start: 1787
    functionDepth: 0
    functionLinenumber: 1787
    functionLinenumberEnd: 1831
    functionName: cairo_cff_font_subset_charstrings_and_subroutines
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    - cairo_cff_find_width_and_subroutines_used
    - cairo_cff_font_get_gid_for_cid
    - cff_index_append
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t cairo_cff_font_subset_charstrings_and_subroutines
      (cairo_cff_font_t *font) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_dict_init_key
      Src: /src/cairo/src/cairo-cff-subset.c:766,1
    - Dst: _cairo_hash_table_lookup
      Src: /src/cairo/src/cairo-cff-subset.c:767,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - dict
    - operator
    - size
    argTypes:
    - cairo_hash_table_t*
    - unsigned short
    - int*
    constantsTouched: []
    func_position:
      end: 774
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 774
    functionName: cff_dict_get_location
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - _cairo_dict_init_key
    - _cairo_hash_table_lookup
    linkageType: ''
    returnType: int
    signature: 'static int cff_dict_get_location (cairo_hash_table_t *dict, unsigned
      short operator, int *size) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: type2_decode_integer
      Src: /src/cairo/src/cairo-cff-subset.c:1528,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-cff-subset.c:1618,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-cff-subset.c:1611,1
    - Dst: cairo_cff_parse_charstring
      Src: /src/cairo/src/cairo-cff-subset.c:1614,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-cff-subset.c:1609,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-cff-subset.c:1620,1
    - Dst: cairo_cff_parse_charstring
      Src: /src/cairo/src/cairo-cff-subset.c:1625,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-cff-subset.c:1644,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-cff-subset.c:1646,1
    - Dst: cairo_cff_parse_charstring
      Src: /src/cairo/src/cairo-cff-subset.c:1651,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 139
    argCount: 5
    argNames:
    - font
    - charstring
    - length
    - glyph_id
    - need_width
    argTypes:
    - cairo_cff_font_t*
    - unsigned char*
    - int
    - int
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 1673
      start: 1511
    functionDepth: 0
    functionLinenumber: 1511
    functionLinenumberEnd: 1673
    functionName: cairo_cff_parse_charstring
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    - cairo_cff_parse_charstring
    - _cairo_array_num_elements
    - type2_decode_integer
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t cairo_cff_parse_charstring (cairo_cff_font_t\
      \ *font, unsigned char *charstring, int length, int glyph_id,\t\t\t cairo_bool_t\
      \ need_width) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-cff-subset.c:1973,1
    - Dst: cff_index_append_copy
      Src: /src/cairo/src/cairo-cff-subset.c:1974,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-cff-subset.c:1975,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - font
    argTypes:
    - cairo_cff_font_t*
    constantsTouched: []
    func_position:
      end: 1981
      start: 1962
    functionDepth: 0
    functionLinenumber: 1962
    functionLinenumberEnd: 1981
    functionName: cairo_cff_font_add_euro_charset_string
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - _cairo_array_num_elements
    - strlen
    - cff_index_append_copy
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t cairo_cff_font_add_euro_charset_string (cairo_cff_font_t
      *font) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-cff-subset.c:2137,1
    - Dst: cff_index_set_object
      Src: /src/cairo/src/cairo-cff-subset.c:2139,1
    - Dst: cff_index_write
      Src: /src/cairo/src/cairo-cff-subset.c:2143,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - font
    argTypes:
    - cairo_cff_font_t*
    constantsTouched: []
    func_position:
      end: 2144
      start: 2128
    functionDepth: 0
    functionLinenumber: 2128
    functionLinenumberEnd: 2144
    functionName: cairo_cff_font_write_global_subrs
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - cff_index_set_object
    - _cairo_array_num_elements
    - cff_index_write
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t cairo_cff_font_write_global_subrs (cairo_cff_font_t
      *font) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cairo_cff_parse_charstring
      Src: /src/cairo/src/cairo-cff-subset.c:1696,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 5
    argNames:
    - font
    - charstring
    - length
    - glyph_id
    - subset_id
    argTypes:
    - cairo_cff_font_t*
    - unsigned char*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1717
      start: 1675
    functionDepth: 0
    functionLinenumber: 1675
    functionLinenumberEnd: 1717
    functionName: cairo_cff_find_width_and_subroutines_used
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - cairo_cff_parse_charstring
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t cairo_cff_find_width_and_subroutines_used (cairo_cff_font_t\
      \ *font,\t\t\t\t\t unsigned char *charstring, int length,\t\t\t\t\t int glyph_id,\
      \ int subset_id) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_cff_font_set_topdict_operator_to_cur_pos
      Src: /src/cairo/src/cairo-cff-subset.c:2153,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2163,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2157,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-cff-subset.c:2162,1
    - Dst: _cairo_array_append_multiple
      Src: /src/cairo/src/cairo-cff-subset.c:2156,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - font
    argTypes:
    - cairo_cff_font_t*
    constantsTouched: []
    func_position:
      end: 2168
      start: 2146
    functionDepth: 0
    functionLinenumber: 2146
    functionLinenumberEnd: 2168
    functionName: cairo_cff_font_write_encoding
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - _cairo_array_append_multiple
    - _cairo_array_append
    - cairo_cff_font_set_topdict_operator_to_cur_pos
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t cairo_cff_font_write_encoding (cairo_cff_font_t
      *font) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cairo_cff_font_subset_dict_strings
      Src: /src/cairo/src/cairo-cff-subset.c:1935,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:1936,1
    - Dst: cairo_cff_font_subset_dict_strings
      Src: /src/cairo/src/cairo-cff-subset.c:1945,1
    - Dst: cairo_cff_font_subset_dict_strings
      Src: /src/cairo/src/cairo-cff-subset.c:1941,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:1942,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:1946,1
    - Dst: cairo_cff_font_subset_dict_strings
      Src: /src/cairo/src/cairo-cff-subset.c:1950,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - font
    argTypes:
    - cairo_cff_font_t*
    constantsTouched: []
    func_position:
      end: 1954
      start: 1929
    functionDepth: 0
    functionLinenumber: 1929
    functionLinenumberEnd: 1954
    functionName: cairo_cff_font_subset_strings
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - cairo_cff_font_subset_dict_strings
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t cairo_cff_font_subset_strings (cairo_cff_font_t
      *font) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc_ab
      Src: /src/cairo/src/cairo-cff-subset.c:1842,1
    - Dst: _cairo_calloc_ab
      Src: /src/cairo/src/cairo-cff-subset.c:1847,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:1848,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:1844,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-cff-subset.c:1845,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-cff-subset.c:1849,1
    - Dst: _cairo_calloc_ab
      Src: /src/cairo/src/cairo-cff-subset.c:1851,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:1852,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-cff-subset.c:1853,1
    - Dst: _cairo_calloc_ab
      Src: /src/cairo/src/cairo-cff-subset.c:1855,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-cff-subset.c:1857,1
    - Dst: cairo_cff_font_get_gid_for_cid
      Src: /src/cairo/src/cairo-cff-subset.c:1868,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:1856,1
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:1870,1
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:1883,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:1869,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 1
    argNames:
    - font
    argTypes:
    - cairo_cff_font_t*
    constantsTouched: []
    func_position:
      end: 1886
      start: 1833
    functionDepth: 0
    functionLinenumber: 1833
    functionLinenumberEnd: 1886
    functionName: cairo_cff_font_subset_fontdict
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - _cairo_calloc_ab
    - _cairo_error
    - free
    - cairo_cff_font_get_gid_for_cid
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t cairo_cff_font_subset_fontdict (cairo_cff_font_t
      *font) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_real
      Src: /src/cairo/src/cairo-cff-subset.c:332,1
    - Dst: decode_integer
      Src: /src/cairo/src/cairo-cff-subset.c:335,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 339
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 339
    functionName: decode_number
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - decode_integer
    - decode_real
    linkageType: ''
    returnType: unsigned char*
    signature: 'static unsigned char *decode_number (unsigned char *p, double *number) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-cff-subset.c:786,1
    - Dst: _cairo_array_append_multiple
      Src: /src/cairo/src/cairo-cff-subset.c:787,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-cff-subset.c:793,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-cff-subset.c:798,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - op
    - write_info
    argTypes:
    - cff_dict_operator_t*
    - dict_write_info_t*
    constantsTouched: []
    func_position:
      end: 799
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 799
    functionName: cairo_dict_write_operator
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - _cairo_array_append_multiple
    - _cairo_array_append
    - _cairo_array_num_elements
    linkageType: ''
    returnType: void
    signature: 'static void cairo_dict_write_operator (cff_dict_operator_t *op, dict_write_info_t
      *write_info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cff_index_init
      Src: /src/cairo/src/cairo-cff-subset.c:875,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-cff-subset.c:878,1
    - Dst: _cairo_strndup
      Src: /src/cairo/src/cairo-cff-subset.c:893,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:894,1
    - Dst: cff_index_read
      Src: /src/cairo/src/cairo-cff-subset.c:876,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-cff-subset.c:895,1
    - Dst: _cairo_escape_ps_name
      Src: /src/cairo/src/cairo-cff-subset.c:897,1
    - Dst: cff_index_fini
      Src: /src/cairo/src/cairo-cff-subset.c:899,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 1
    argNames:
    - font
    argTypes:
    - cairo_cff_font_t*
    constantsTouched: []
    func_position:
      end: 902
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 902
    functionName: cairo_cff_font_read_name
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - _cairo_escape_ps_name
    - _cairo_array_index
    - cff_index_read
    - _cairo_error
    - cff_index_init
    - cff_index_fini
    - _cairo_strndup
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t cairo_cff_font_read_name (cairo_cff_font_t
      *font) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-cff-subset.c:1456,1
    - Dst: cairo_cff_font_subset_dict_string
      Src: /src/cairo/src/cairo-cff-subset.c:1457,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:1458,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - font
    - dict
    argTypes:
    - cairo_cff_font_t*
    - cairo_hash_table_t*
    constantsTouched: []
    func_position:
      end: 1463
      start: 1449
    functionDepth: 0
    functionLinenumber: 1449
    functionLinenumberEnd: 1463
    functionName: cairo_cff_font_subset_dict_strings
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - cairo_cff_font_subset_dict_string
    - ARRAY_LENGTH
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t cairo_cff_font_subset_dict_strings (cairo_cff_font_t
      *font, cairo_hash_table_t *dict) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 353
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 353
    functionName: decode_operator
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned char*
    signature: 'static unsigned char *decode_operator (unsigned char *p, unsigned
      short *operator) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_dict_write_operator
      Src: /src/cairo/src/cairo-cff-subset.c:812,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 2
    argNames:
    - entry
    - closure
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 813
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 813
    functionName: _cairo_dict_collect
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - cairo_dict_write_operator
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_dict_collect (void *entry, void *closure) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: cff_dict_read
      Src: /src/cairo/src/cairo-cff-subset.c:924,1
    - Dst: cff_dict_get_operands
      Src: /src/cairo/src/cairo-cff-subset.c:928,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:925,1
    - Dst: cff_index_read
      Src: /src/cairo/src/cairo-cff-subset.c:932,1
    - Dst: decode_integer
      Src: /src/cairo/src/cairo-cff-subset.c:930,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:933,1
    - Dst: encode_integer_max
      Src: /src/cairo/src/cairo-cff-subset.c:937,1
    - Dst: cff_dict_set_operands
      Src: /src/cairo/src/cairo-cff-subset.c:938,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:939,1
    - Dst: cff_dict_get_operands
      Src: /src/cairo/src/cairo-cff-subset.c:944,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-cff-subset.c:953,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:956,1
    - Dst: decode_number
      Src: /src/cairo/src/cairo-cff-subset.c:946,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-cff-subset.c:957,1
    - Dst: cff_dict_get_operands
      Src: /src/cairo/src/cairo-cff-subset.c:949,1
    - Dst: decode_number
      Src: /src/cairo/src/cairo-cff-subset.c:951,1
    - Dst: _cairo_calloc_ab
      Src: /src/cairo/src/cairo-cff-subset.c:955,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 43
    argCount: 9
    argNames:
    - font
    - private_dict
    - local_sub_index
    - local_sub_bias
    - local_subs_used
    - default_width
    - nominal_width
    - ptr
    - size
    argTypes:
    - cairo_cff_font_t*
    - cairo_hash_table_t*
    - cairo_array_t*
    - int*
    - cairo_bool_t**
    - double*
    - double*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 970
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 970
    functionName: cairo_cff_font_read_private_dict
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - decode_integer
    - cff_dict_read
    - encode_integer_max
    - _cairo_calloc_ab
    - cff_index_read
    - _cairo_error
    - decode_number
    - _cairo_array_num_elements
    - cff_dict_set_operands
    - cff_dict_get_operands
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t cairo_cff_font_read_private_dict (cairo_cff_font_t
      *font, cairo_hash_table_t *private_dict, cairo_array_t *local_sub_index, int
      *local_sub_bias, cairo_bool_t **local_subs_used, double *default_width, double
      *nominal_width, unsigned char *ptr, int size) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1485
      start: 1465
    functionDepth: 0
    functionLinenumber: 1465
    functionLinenumberEnd: 1485
    functionName: type2_decode_integer
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned char*
    signature: 'static unsigned char *type2_decode_integer (unsigned char *p, int
      *integer) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-cff-subset.c:1896,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-cff-subset.c:1898,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:1897,1
    - Dst: cff_dict_init
      Src: /src/cairo/src/cairo-cff-subset.c:1900,1
    - Dst: free
      Src: /src/cairo/src/cairo-cff-subset.c:1901,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-cff-subset.c:1904,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-cff-subset.c:1907,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:1908,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-cff-subset.c:1909,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-cff-subset.c:1911,1
    - Dst: encode_integer_max
      Src: /src/cairo/src/cairo-cff-subset.c:1920,1
    - Dst: encode_integer_max
      Src: /src/cairo/src/cairo-cff-subset.c:1921,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:1912,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:1923,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-cff-subset.c:1913,1
    - Dst: cff_dict_set_operands
      Src: /src/cairo/src/cairo-cff-subset.c:1922,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 1
    argNames:
    - font
    argTypes:
    - cairo_cff_font_t*
    constantsTouched: []
    func_position:
      end: 1927
      start: 1888
    functionDepth: 0
    functionLinenumber: 1888
    functionLinenumberEnd: 1927
    functionName: cairo_cff_font_create_cid_fontdict
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - _cairo_malloc
    - encode_integer_max
    - cff_dict_init
    - _cairo_error
    - free
    - cff_dict_set_operands
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t cairo_cff_font_create_cid_fontdict (cairo_cff_font_t
      *font) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-cff-subset.c:2434,1
    - Dst: encode_integer_max
      Src: /src/cairo/src/cairo-cff-subset.c:2439,1
    - Dst: assert
      Src: /src/cairo/src/cairo-cff-subset.c:2441,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-cff-subset.c:2438,1
    - Dst: cff_dict_get_location
      Src: /src/cairo/src/cairo-cff-subset.c:2440,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-cff-subset.c:2442,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-cff-subset.c:2443,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-cff-subset.c:2449,1
    - Dst: cff_index_set_object
      Src: /src/cairo/src/cairo-cff-subset.c:2451,1
    - Dst: cff_index_write
      Src: /src/cairo/src/cairo-cff-subset.c:2454,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2455,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 5
    argNames:
    - font
    - dict_num
    - private_dict
    - local_sub_index
    - local_subs_used
    argTypes:
    - cairo_cff_font_t*
    - int
    - cairo_hash_table_t*
    - cairo_array_t*
    - cairo_bool_t*
    constantsTouched: []
    func_position:
      end: 2460
      start: 2418
    functionDepth: 0
    functionLinenumber: 2418
    functionLinenumberEnd: 2460
    functionName: cairo_cff_font_write_local_sub
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - memcpy
    - _cairo_array_index
    - encode_integer_max
    - _cairo_array_num_elements
    - assert
    - cff_index_set_object
    - cff_index_write
    - cff_dict_get_location
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t cairo_cff_font_write_local_sub (cairo_cff_font_t
      *font, int dict_num, cairo_hash_table_t *private_dict, cairo_array_t *local_sub_index,
      cairo_bool_t *local_subs_used) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2720,1
    - Dst: be16_to_cpu
      Src: /src/cairo/src/cairo-cff-subset.c:2731,1
    - Dst: check_fontdata_is_cff
      Src: /src/cairo/src/cairo-cff-subset.c:2758,1
    - Dst: be16_to_cpu
      Src: /src/cairo/src/cairo-cff-subset.c:2730,1
    - Dst: be16_to_cpu
      Src: /src/cairo/src/cairo-cff-subset.c:2734,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-cff-subset.c:2750,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-cff-subset.c:2748,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2749,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2713,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2726,1
    - Dst: be16_to_cpu
      Src: /src/cairo/src/cairo-cff-subset.c:2729,1
    - Dst: be16_to_cpu
      Src: /src/cairo/src/cairo-cff-subset.c:2735,1
    - Dst: _cairo_truetype_read_font_name
      Src: /src/cairo/src/cairo-cff-subset.c:2740,1
    - Dst: be16_to_cpu
      Src: /src/cairo/src/cairo-cff-subset.c:2733,1
    - Dst: _cairo_status_is_error
      Src: /src/cairo/src/cairo-cff-subset.c:2743,1
    - Dst: be16_to_cpu
      Src: /src/cairo/src/cairo-cff-subset.c:2732,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2755,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 1
    argNames:
    - font
    argTypes:
    - cairo_cff_font_t*
    constantsTouched: []
    func_position:
      end: 2762
      start: 2691
    functionDepth: 0
    functionLinenumber: 2691
    functionLinenumberEnd: 2762
    functionName: _cairo_cff_font_load_opentype_cff
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - be16_to_cpu
    - _cairo_malloc
    - _cairo_status_is_error
    - _cairo_error
    - _cairo_truetype_read_font_name
    - check_fontdata_is_cff
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t _cairo_cff_font_load_opentype_cff (cairo_cff_font_t
      *font) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cairo_cff_font_write_private_dict
      Src: /src/cairo/src/cairo-cff-subset.c:2471,1
    - Dst: cairo_cff_font_write_local_sub
      Src: /src/cairo/src/cairo-cff-subset.c:2481,1
    - Dst: cairo_cff_font_write_private_dict
      Src: /src/cairo/src/cairo-cff-subset.c:2491,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2476,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2487,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2495,1
    - Dst: cairo_cff_font_write_local_sub
      Src: /src/cairo/src/cairo-cff-subset.c:2498,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2503,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - font
    argTypes:
    - cairo_cff_font_t*
    constantsTouched: []
    func_position:
      end: 2508
      start: 2463
    functionDepth: 0
    functionLinenumber: 2463
    functionLinenumberEnd: 2508
    functionName: cairo_cff_font_write_cid_private_dict_and_local_sub
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - cairo_cff_font_write_private_dict
    - cairo_cff_font_write_local_sub
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t cairo_cff_font_write_cid_private_dict_and_local_sub
      (cairo_cff_font_t *font) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2784,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-cff-subset.c:2785,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-cff-subset.c:2783,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2777,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cff-subset.c:2789,1
    - Dst: check_fontdata_is_cff
      Src: /src/cairo/src/cairo-cff-subset.c:2792,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - font
    argTypes:
    - cairo_cff_font_t*
    constantsTouched: []
    func_position:
      end: 2796
      start: 2764
    functionDepth: 0
    functionLinenumber: 2764
    functionLinenumberEnd: 2796
    functionName: _cairo_cff_font_load_cff
    functionSourceFile: /src/cairo/src/cairo-cff-subset.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_malloc
    - check_fontdata_is_cff
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t _cairo_cff_font_load_cff (cairo_cff_font_t
      *font) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: _cairo_surface_observer_get_target
    functionSourceFile: /src/cairo/src/cairo-surface-observer-inline.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static inline cairo_surface_t *_cairo_surface_observer_get_target
      (cairo_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - device
    argTypes:
    - cairo_device_t*
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: _cairo_device_is_observer
    functionSourceFile: /src/cairo/src/cairo-surface-observer-inline.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static inline cairo_bool_t _cairo_device_is_observer (cairo_device_t
      *device) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: _cairo_surface_is_observer
    functionSourceFile: /src/cairo/src/cairo-surface-observer-inline.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static inline cairo_bool_t _cairo_surface_is_observer (cairo_surface_t
      *surface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:855,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:860,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:859,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - cr
    - opacity
    argTypes:
    - cairo_t*
    - double
    constantsTouched: []
    func_position:
      end: 861
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 861
    functionName: cairo_set_opacity
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_set_opacity (cairo_t *cr, double opacity) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2109,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2115,1
    - Dst: _cairo_gstate_stroke_path
      Src: /src/cairo/src/cairo.c:2114,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:2116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 2117
      start: 2104
    functionDepth: 0
    functionLinenumber: 2104
    functionLinenumberEnd: 2117
    functionName: cairo_stroke_to_path
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - _cairo_gstate_stroke_path
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_stroke_to_path (cairo_t *cr) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2196,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 8
    argCount: 5
    argNames:
    - cr
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - cairo_t*
    - double*
    - double*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 2210
      start: 2192
    functionDepth: 0
    functionLinenumber: 2192
    functionLinenumberEnd: 2210
    functionName: cairo_path_extents
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void cairo_path_extents (cairo_t *cr,\t\t double *x1, double *y1,\
      \ double *x2, double *y2) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:4143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 4147
      start: 4140
    functionDepth: 0
    functionLinenumber: 4140
    functionLinenumberEnd: 4147
    functionName: cairo_get_miter_limit
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: double
    signature: 'double cairo_get_miter_limit (cairo_t *cr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2153,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2157,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:2158,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 2159
      start: 2148
    functionDepth: 0
    functionLinenumber: 2148
    functionLinenumberEnd: 2159
    functionName: cairo_close_path
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_close_path (cairo_t *cr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:4124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 4128
      start: 4121
    functionDepth: 0
    functionLinenumber: 4121
    functionLinenumberEnd: 4128
    functionName: cairo_get_line_join
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: cairo_line_join_t
    signature: 'cairo_line_join_t cairo_get_line_join (cairo_t *cr) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:4326,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:4337,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:4330,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:4329,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:4334,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:4339,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:4346,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:4347,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:4352,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:4353,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 2
    argNames:
    - cr
    - path
    argTypes:
    - cairo_t*
    - cairo_path_t*
    constantsTouched: []
    func_position:
      end: 4354
      start: 4320
    functionDepth: 0
    functionLinenumber: 4320
    functionLinenumberEnd: 4354
    functionName: cairo_append_path
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void cairo_append_path (cairo_t\t\t*cr,\t\t const cairo_path_t\t*path) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1725,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:1730,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1729,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - cr
    - x
    - y
    argTypes:
    - cairo_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 1731
      start: 1720
    functionDepth: 0
    functionLinenumber: 1720
    functionLinenumberEnd: 1731
    functionName: cairo_move_to
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_move_to (cairo_t *cr, double x, double y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_status_set_error
      Src: /src/cairo/src/cairo.c:400,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo.c:400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - cr
    - status
    argTypes:
    - cairo_t*
    - cairo_status_t
    constantsTouched: []
    func_position:
      end: 401
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 401
    functionName: _cairo_set_error
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_status_set_error
    - _cairo_error
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_set_error (cairo_t *cr, cairo_status_t status) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1165,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1172,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:1173,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - cr
    - width
    argTypes:
    - cairo_t*
    - double
    constantsTouched: []
    func_position:
      end: 1174
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1174
    functionName: cairo_set_line_width
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_set_line_width (cairo_t *cr, double width) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2094,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:2099,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2098,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 5
    argNames:
    - cr
    - x
    - y
    - width
    - height
    argTypes:
    - cairo_t*
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 2100
      start: 2087
    functionDepth: 0
    functionLinenumber: 2087
    functionLinenumberEnd: 2100
    functionName: cairo_rectangle
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void cairo_rectangle (cairo_t *cr,\t\t double x, double y,\t\t double\
      \ width, double height) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1904,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:1918,1
    - Dst: fmod
      Src: /src/cairo/src/cairo.c:1910,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1917,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 6
    argNames:
    - cr
    - xc
    - yc
    - radius
    - angle1
    - angle2
    argTypes:
    - cairo_t*
    - double
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 1919
      start: 1896
    functionDepth: 0
    functionLinenumber: 1896
    functionLinenumberEnd: 1919
    functionName: cairo_arc_negative
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - fmod
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void cairo_arc_negative (cairo_t *cr,\t\t double xc, double yc,\t\t\
      \ double radius,\t\t double angle1, double angle2) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2477,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2481,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:2482,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 2483
      start: 2472
    functionDepth: 0
    functionLinenumber: 2472
    functionLinenumberEnd: 2483
    functionName: cairo_copy_page
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_copy_page (cairo_t *cr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:3180,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:3185,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:3184,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - cr
    - size
    argTypes:
    - cairo_t*
    - double
    constantsTouched: []
    func_position:
      end: 3186
      start: 3175
    functionDepth: 0
    functionLinenumber: 3175
    functionLinenumberEnd: 3186
    functionName: cairo_set_font_size
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_set_font_size (cairo_t *cr, double size) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:3696,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:3709,1
    - Dst: _cairo_validate_text_clusters
      Src: /src/cairo/src/cairo.c:3729,1
    - Dst: strlen
      Src: /src/cairo/src/cairo.c:3715,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:3719,1
    - Dst: _cairo_utf8_to_ucs4
      Src: /src/cairo/src/cairo.c:3738,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:3755,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:3756,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 50
    argCount: 8
    argNames:
    - cr
    - utf8
    - utf8_len
    - glyphs
    - num_glyphs
    - clusters
    - num_clusters
    - cluster_flags
    argTypes:
    - cairo_t*
    - char*
    - int
    - cairo_glyph_t*
    - int
    - cairo_text_cluster_t*
    - int
    - cairo_text_cluster_flags_t
    constantsTouched: []
    func_position:
      end: 3757
      start: 3684
    functionDepth: 0
    functionLinenumber: 3684
    functionLinenumberEnd: 3757
    functionName: cairo_show_text_glyphs
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - strlen
    - _cairo_utf8_to_ucs4
    - _cairo_set_error
    - _cairo_validate_text_clusters
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void cairo_show_text_glyphs (cairo_t\t\t\t *cr,\t\t\tconst char\t\t\
      \ *utf8,\t\t\tint\t\t\t utf8_len,\t\t\tconst cairo_glyph_t\t *glyphs,\t\t\t\
      int\t\t\t num_glyphs,\t\t\tconst cairo_text_cluster_t *clusters,\t\t\tint\t\t\
      \t num_clusters,\t\t\tcairo_text_cluster_flags_t cluster_flags) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo.c:408,1
    - Dst: assert
      Src: /src/cairo/src/cairo.c:411,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 414
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 414
    functionName: _cairo_create_in_error
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: cairo_t*
    signature: 'cairo_t *_cairo_create_in_error (cairo_status_t status) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:3629,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:3646,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:3641,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:3636,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:3647,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - cr
    - glyphs
    - num_glyphs
    argTypes:
    - cairo_t*
    - cairo_glyph_t*
    - int
    constantsTouched: []
    func_position:
      end: 3648
      start: 3624
    functionDepth: 0
    functionLinenumber: 3624
    functionLinenumberEnd: 3648
    functionName: cairo_show_glyphs
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_show_glyphs (cairo_t *cr, const cairo_glyph_t *glyphs,
      int num_glyphs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1514,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1518,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:1519,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - cr
    - matrix
    argTypes:
    - cairo_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 1520
      start: 1508
    functionDepth: 0
    functionLinenumber: 1508
    functionLinenumberEnd: 1520
    functionName: cairo_transform
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void cairo_transform (cairo_t\t *cr,\t\t const cairo_matrix_t *matrix) "
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_STACK_ARRAY_LENGTH
      Src: /src/cairo/src/cairo.c:3533,1
    - Dst: cairo_get_scaled_font
      Src: /src/cairo/src/cairo.c:3544,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:3538,1
    - Dst: strlen
      Src: /src/cairo/src/cairo.c:3550,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo.c:3556,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:3590,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:3609,1
    - Dst: CAIRO_STACK_ARRAY_LENGTH
      Src: /src/cairo/src/cairo.c:3534,1
    - Dst: cairo_surface_has_show_text_glyphs
      Src: /src/cairo/src/cairo.c:3553,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:3546,1
    - Dst: cairo_scaled_font_text_to_glyphs
      Src: /src/cairo/src/cairo.c:3567,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:3573,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:3595,1
    - Dst: cairo_glyph_free
      Src: /src/cairo/src/cairo.c:3604,1
    - Dst: cairo_text_cluster_free
      Src: /src/cairo/src/cairo.c:3606,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:3608,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:3545,1
    - Dst: cairo_get_target
      Src: /src/cairo/src/cairo.c:3553,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo.c:3560,1
    - Dst: cairo_get_current_point
      Src: /src/cairo/src/cairo.c:3566,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 57
    argCount: 2
    argNames:
    - cr
    - utf8
    argTypes:
    - cairo_t*
    - char*
    constantsTouched: []
    func_position:
      end: 3610
      start: 3522
    functionDepth: 0
    functionLinenumber: 3522
    functionLinenumberEnd: 3610
    functionName: cairo_show_text
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - CAIRO_STACK_ARRAY_LENGTH
    - cairo_get_scaled_font
    - strlen
    - ARRAY_LENGTH
    - cairo_glyph_free
    - _cairo_set_error
    - cairo_surface_has_show_text_glyphs
    - cairo_get_target
    - cairo_get_current_point
    - cairo_scaled_font_text_to_glyphs
    - cairo_text_cluster_free
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_show_text (cairo_t *cr, const char *utf8) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2319,1
    - Dst: cairo_mask
      Src: /src/cairo/src/cairo.c:2327,1
    - Dst: cairo_pattern_create_for_surface
      Src: /src/cairo/src/cairo.c:2322,1
    - Dst: cairo_pattern_set_matrix
      Src: /src/cairo/src/cairo.c:2325,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/src/cairo.c:2324,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/src/cairo.c:2329,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - cr
    - surface
    - surface_x
    - surface_y
    argTypes:
    - cairo_t*
    - cairo_surface_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 2330
      start: 2310
    functionDepth: 0
    functionLinenumber: 2310
    functionLinenumberEnd: 2330
    functionName: cairo_mask_surface
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_for_surface
    - cairo_mask
    - cairo_pattern_set_matrix
    - cairo_matrix_init_translate
    - cairo_pattern_destroy
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void cairo_mask_surface (cairo_t *cr,\t\t cairo_surface_t *surface,\t\
      \t double surface_x,\t\t double surface_y) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1489,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:1494,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1493,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - cr
    - angle
    argTypes:
    - cairo_t*
    - double
    constantsTouched: []
    func_position:
      end: 1495
      start: 1484
    functionDepth: 0
    functionLinenumber: 1484
    functionLinenumberEnd: 1495
    functionName: cairo_rotate
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_rotate (cairo_t *cr, double angle) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2988,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2992,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:2993,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - cr
    - tag_name
    argTypes:
    - cairo_t*
    - char*
    constantsTouched: []
    func_position:
      end: 2994
      start: 2983
    functionDepth: 0
    functionLinenumber: 2983
    functionLinenumberEnd: 2994
    functionName: cairo_tag_end
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: cairo_public
    signature: 'cairo_public void cairo_tag_end (cairo_t *cr, const char *tag_name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:3472,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:3483,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:3478,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:3479,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:3484,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:3489,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:3490,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 4
    argNames:
    - cr
    - glyphs
    - num_glyphs
    - extents
    argTypes:
    - cairo_t*
    - cairo_glyph_t*
    - int
    - cairo_text_extents_t*
    constantsTouched: []
    func_position:
      end: 3491
      start: 3457
    functionDepth: 0
    functionLinenumber: 3457
    functionLinenumberEnd: 3491
    functionName: cairo_glyph_extents
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void cairo_glyph_extents (cairo_t *cr,\t\t const cairo_glyph_t *glyphs,\t\
      \t int num_glyphs,\t\t cairo_text_extents_t *extents) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1650,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - cr
    - dx
    - dy
    argTypes:
    - cairo_t*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 1654
      start: 1647
    functionDepth: 0
    functionLinenumber: 1647
    functionLinenumberEnd: 1654
    functionName: cairo_device_to_user_distance
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_device_to_user_distance (cairo_t *cr, double *dx, double
      *dy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:4300,1
    - Dst: _cairo_path_create_in_error
      Src: /src/cairo/src/cairo.c:4301,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4304
      start: 4297
    functionDepth: 0
    functionLinenumber: 4297
    functionLinenumberEnd: 4304
    functionName: cairo_copy_path_flat
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_path_create_in_error
    - unlikely
    linkageType: ''
    returnType: cairo_path_t*
    signature: 'cairo_path_t *cairo_copy_path_flat (cairo_t *cr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1628,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - cr
    - x
    - y
    argTypes:
    - cairo_t*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 1632
      start: 1625
    functionDepth: 0
    functionLinenumber: 1625
    functionLinenumberEnd: 1632
    functionName: cairo_device_to_user
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_device_to_user (cairo_t *cr, double *x, double *y) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1097,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:1102,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - cr
    - antialias
    argTypes:
    - cairo_t*
    - cairo_antialias_t
    constantsTouched: []
    func_position:
      end: 1103
      start: 1092
    functionDepth: 0
    functionLinenumber: 1092
    functionLinenumberEnd: 1103
    functionName: cairo_set_antialias
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_set_antialias (cairo_t *cr, cairo_antialias_t antialias) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:3916,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 3920
      start: 3913
    functionDepth: 0
    functionLinenumber: 3913
    functionLinenumberEnd: 3920
    functionName: cairo_get_opacity
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: double
    signature: 'double cairo_get_opacity (cairo_t *cr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:648,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:653,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:652,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 654
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 654
    functionName: cairo_restore
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_restore (cairo_t *cr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1409,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:1414,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1413,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - cr
    - limit
    argTypes:
    - cairo_t*
    - double
    constantsTouched: []
    func_position:
      end: 1415
      start: 1404
    functionDepth: 0
    functionLinenumber: 1404
    functionLinenumberEnd: 1415
    functionName: cairo_set_miter_limit
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_set_miter_limit (cairo_t *cr, double limit) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:730,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:734,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:735,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - cr
    - content
    argTypes:
    - cairo_t*
    - cairo_content_t
    constantsTouched: []
    func_position:
      end: 736
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 736
    functionName: cairo_push_group_with_content
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_push_group_with_content (cairo_t *cr, cairo_content_t content) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1268,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1272,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:1273,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - cr
    - line_join
    argTypes:
    - cairo_t*
    - cairo_line_join_t
    constantsTouched: []
    func_position:
      end: 1274
      start: 1263
    functionDepth: 0
    functionLinenumber: 1263
    functionLinenumberEnd: 1274
    functionName: cairo_set_line_join
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_set_line_join (cairo_t *cr, cairo_line_join_t line_join) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2278,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:2287,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:2282,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2281,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2286,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2292,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:2293,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - cr
    - pattern
    argTypes:
    - cairo_t*
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 2294
      start: 2272
    functionDepth: 0
    functionLinenumber: 2272
    functionLinenumberEnd: 2294
    functionName: cairo_mask
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void cairo_mask (cairo_t *cr,\t cairo_pattern_t *pattern) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2961,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2965,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:2966,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - cr
    - tag_name
    - attributes
    argTypes:
    - cairo_t*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2967
      start: 2956
    functionDepth: 0
    functionLinenumber: 2956
    functionLinenumberEnd: 2967
    functionName: cairo_tag_begin
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_tag_begin (cairo_t *cr, const char *tag_name, const char
      *attributes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:3896,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 3900
      start: 3893
    functionDepth: 0
    functionLinenumber: 3893
    functionLinenumberEnd: 3900
    functionName: cairo_get_operator
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: cairo_operator_t
    signature: 'cairo_operator_t cairo_get_operator (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_push_group_with_content
      Src: /src/cairo/src/cairo.c:703,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 704
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 704
    functionName: cairo_push_group
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - cairo_push_group_with_content
    linkageType: ''
    returnType: void
    signature: 'void cairo_push_group (cairo_t *cr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1125,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:1130,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - cr
    - fill_rule
    argTypes:
    - cairo_t*
    - cairo_fill_rule_t
    constantsTouched: []
    func_position:
      end: 1131
      start: 1120
    functionDepth: 0
    functionLinenumber: 1120
    functionLinenumberEnd: 1131
    functionName: cairo_set_fill_rule
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_set_fill_rule (cairo_t *cr, cairo_fill_rule_t fill_rule) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1238,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1242,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:1243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - cr
    - line_cap
    argTypes:
    - cairo_t*
    - cairo_line_cap_t
    constantsTouched: []
    func_position:
      end: 1244
      start: 1233
    functionDepth: 0
    functionLinenumber: 1233
    functionLinenumberEnd: 1244
    functionName: cairo_set_line_cap
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_set_line_cap (cairo_t *cr, cairo_line_cap_t line_cap) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2424,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2428,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:2429,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 2430
      start: 2419
    functionDepth: 0
    functionLinenumber: 2419
    functionLinenumberEnd: 2430
    functionName: cairo_fill
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_fill (cairo_t *cr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:3121,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:3126,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:3125,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - cr
    - font_face
    argTypes:
    - cairo_t*
    - cairo_font_face_t*
    constantsTouched: []
    func_position:
      end: 3127
      start: 3115
    functionDepth: 0
    functionLinenumber: 3115
    functionLinenumberEnd: 3127
    functionName: cairo_set_font_face
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void cairo_set_font_face (cairo_t *cr,\t\t cairo_font_face_t *font_face) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:3976,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 3980
      start: 3973
    functionDepth: 0
    functionLinenumber: 3973
    functionLinenumberEnd: 3980
    functionName: cairo_has_current_point
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t cairo_has_current_point (cairo_t *cr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1344,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 1350
      start: 1339
    functionDepth: 0
    functionLinenumber: 1339
    functionLinenumberEnd: 1350
    functionName: cairo_get_dash_count
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: int
    signature: 'int cairo_get_dash_count (cairo_t *cr) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1859,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1872,1
    - Dst: fmod
      Src: /src/cairo/src/cairo.c:1865,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:1873,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 6
    argNames:
    - cr
    - xc
    - yc
    - radius
    - angle1
    - angle2
    argTypes:
    - cairo_t*
    - double
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 1874
      start: 1851
    functionDepth: 0
    functionLinenumber: 1851
    functionLinenumberEnd: 1874
    functionName: cairo_arc
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - fmod
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void cairo_arc (cairo_t *cr,\t double xc, double yc,\t double radius,\t\
      \ double angle1, double angle2) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:3096,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:3101,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:3100,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - cr
    - extents
    argTypes:
    - cairo_t*
    - cairo_font_extents_t*
    constantsTouched: []
    func_position:
      end: 3102
      start: 3084
    functionDepth: 0
    functionLinenumber: 3084
    functionLinenumberEnd: 3102
    functionName: cairo_font_extents
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void cairo_font_extents (cairo_t *cr,\t\t cairo_font_extents_t *extents) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:625,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:630,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:629,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 631
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 631
    functionName: cairo_save
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_save (cairo_t *cr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:829,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:834,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:833,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - cr
    - op
    argTypes:
    - cairo_t*
    - cairo_operator_t
    constantsTouched: []
    func_position:
      end: 835
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 835
    functionName: cairo_set_operator
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_set_operator (cairo_t *cr, cairo_operator_t op) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1369,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - cr
    - dashes
    - offset
    argTypes:
    - cairo_t*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 1373
      start: 1364
    functionDepth: 0
    functionLinenumber: 1364
    functionLinenumberEnd: 1373
    functionName: cairo_get_dash
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void cairo_get_dash (cairo_t *cr,\t\tdouble *dashes,\t\tdouble *offset) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2667,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:2682,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2681,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 11
    argCount: 5
    argNames:
    - cr
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - cairo_t*
    - double*
    - double*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 2683
      start: 2661
    functionDepth: 0
    functionLinenumber: 2661
    functionLinenumberEnd: 2683
    functionName: cairo_fill_extents
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_fill_extents (cairo_t *cr, double *x1, double *y1, double
      *x2, double *y2) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:3319,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo.c:3323,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:3329,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:3323,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:3328,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:3334,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:3335,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - cr
    - scaled_font
    argTypes:
    - cairo_t*
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 3336
      start: 3313
    functionDepth: 0
    functionLinenumber: 3313
    functionLinenumberEnd: 3336
    functionName: cairo_set_scaled_font
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void cairo_set_scaled_font (cairo_t *cr,\t\t const cairo_scaled_font_t\
      \ *scaled_font) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:4256,1
    - Dst: _cairo_path_create_in_error
      Src: /src/cairo/src/cairo.c:4257,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4260
      start: 4253
    functionDepth: 0
    functionLinenumber: 4253
    functionLinenumberEnd: 4260
    functionName: cairo_copy_path
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_path_create_in_error
    - unlikely
    linkageType: ''
    returnType: cairo_path_t*
    signature: 'cairo_path_t *cairo_copy_path (cairo_t *cr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2450,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2454,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:2455,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 2456
      start: 2445
    functionDepth: 0
    functionLinenumber: 2445
    functionLinenumberEnd: 2456
    functionName: cairo_fill_preserve
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_fill_preserve (cairo_t *cr) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2616,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:2631,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2630,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 11
    argCount: 5
    argNames:
    - cr
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - cairo_t*
    - double*
    - double*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 2632
      start: 2610
    functionDepth: 0
    functionLinenumber: 2610
    functionLinenumberEnd: 2632
    functionName: cairo_stroke_extents
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_stroke_extents (cairo_t *cr, double *x1, double *y1, double
      *x2, double *y2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:3152,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3156
      start: 3149
    functionDepth: 0
    functionLinenumber: 3149
    functionLinenumberEnd: 3156
    functionName: cairo_get_font_face
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: cairo_font_face_t*
    signature: 'cairo_font_face_t *cairo_get_font_face (cairo_t *cr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_font_options_status
      Src: /src/cairo/src/cairo.c:3289,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:3292,1
    - Dst: _cairo_font_options_init_default
      Src: /src/cairo/src/cairo.c:3293,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - cr
    - options
    argTypes:
    - cairo_t*
    - cairo_font_options_t*
    constantsTouched: []
    func_position:
      end: 3298
      start: 3284
    functionDepth: 0
    functionLinenumber: 3284
    functionLinenumberEnd: 3298
    functionName: cairo_get_font_options
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_font_options_init_default
    - cairo_font_options_status
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void cairo_get_font_options (cairo_t *cr,\t\t\tcairo_font_options_t\
      \ *options) "
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - cr
    - x_ret
    - y_ret
    argTypes:
    - cairo_t*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 4030
      start: 4014
    functionDepth: 0
    functionLinenumber: 4014
    functionLinenumberEnd: 4030
    functionName: cairo_get_current_point
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void cairo_get_current_point (cairo_t *cr, double *x_ret, double *y_ret) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:4219,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo.c:4220,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4223
      start: 4216
    functionDepth: 0
    functionLinenumber: 4216
    functionLinenumberEnd: 4223
    functionName: cairo_get_group_target
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_surface_create_in_error
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'cairo_surface_t *cairo_get_group_target (cairo_t *cr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2011,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:2016,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2015,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - cr
    - dx
    - dy
    argTypes:
    - cairo_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 2017
      start: 2006
    functionDepth: 0
    functionLinenumber: 2006
    functionLinenumberEnd: 2017
    functionName: cairo_rel_line_to
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_rel_line_to (cairo_t *cr, double dx, double dy) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:3407,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:3415,1
    - Dst: cairo_get_scaled_font
      Src: /src/cairo/src/cairo.c:3413,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:3414,1
    - Dst: cairo_get_current_point
      Src: /src/cairo/src/cairo.c:3419,1
    - Dst: cairo_scaled_font_text_to_glyphs
      Src: /src/cairo/src/cairo.c:3420,1
    - Dst: likely
      Src: /src/cairo/src/cairo.c:3426,1
    - Dst: cairo_glyph_free
      Src: /src/cairo/src/cairo.c:3431,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:3433,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:3434,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 3
    argNames:
    - cr
    - utf8
    - extents
    argTypes:
    - cairo_t*
    - char*
    - cairo_text_extents_t*
    constantsTouched: []
    func_position:
      end: 3435
      start: 3389
    functionDepth: 0
    functionLinenumber: 3389
    functionLinenumberEnd: 3435
    functionName: cairo_text_extents
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - cairo_get_scaled_font
    - cairo_glyph_free
    - _cairo_set_error
    - cairo_get_current_point
    - cairo_scaled_font_text_to_glyphs
    - likely
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void cairo_text_extents (cairo_t *cr,\t\t const char\t\t *utf8,\t\t\
      \ cairo_text_extents_t *extents) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:927,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:932,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:931,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 5
    argNames:
    - cr
    - red
    - green
    - blue
    - alpha
    argTypes:
    - cairo_t*
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 933
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 933
    functionName: cairo_set_source_rgba
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void cairo_set_source_rgba (cairo_t *cr,\t\t double red, double green,\
      \ double blue,\t\t double alpha) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:3361,1
    - Dst: _cairo_scaled_font_create_in_error
      Src: /src/cairo/src/cairo.c:3362,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3365
      start: 3358
    functionDepth: 0
    functionLinenumber: 3358
    functionLinenumberEnd: 3365
    functionName: cairo_get_scaled_font
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_scaled_font_create_in_error
    - unlikely
    linkageType: ''
    returnType: cairo_scaled_font_t*
    signature: 'cairo_scaled_font_t *cairo_get_scaled_font (cairo_t *cr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1318,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1322,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:1323,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - cr
    - dashes
    - num_dashes
    - offset
    argTypes:
    - cairo_t*
    - double*
    - int
    - double
    constantsTouched: []
    func_position:
      end: 1324
      start: 1310
    functionDepth: 0
    functionLinenumber: 1310
    functionLinenumberEnd: 1324
    functionName: cairo_set_dash
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void cairo_set_dash (cairo_t\t *cr,\t\tconst double *dashes,\t\tint\t\
      \ num_dashes,\t\tdouble\t offset) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1790,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1797,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:1798,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 7
    argNames:
    - cr
    - x1
    - y1
    - x2
    - y2
    - x3
    - y3
    argTypes:
    - cairo_t*
    - double
    - double
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 1799
      start: 1782
    functionDepth: 0
    functionLinenumber: 1782
    functionLinenumberEnd: 1799
    functionName: cairo_curve_to
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void cairo_curve_to (cairo_t *cr,\t\tdouble x1, double y1,\t\tdouble\
      \ x2, double y2,\t\tdouble x3, double y3) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:3058,1
    - Dst: cairo_toy_font_face_create
      Src: /src/cairo/src/cairo.c:3061,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:3063,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:3062,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/src/cairo.c:3068,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:3070,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:3071,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - cr
    - family
    - slant
    - weight
    argTypes:
    - cairo_t*
    - char*
    - cairo_font_slant_t
    - cairo_font_weight_t
    constantsTouched: []
    func_position:
      end: 3072
      start: 3049
    functionDepth: 0
    functionLinenumber: 3049
    functionLinenumberEnd: 3072
    functionName: cairo_select_font_face
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - cairo_font_face_destroy
    - cairo_toy_font_face_create
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void cairo_select_font_face (cairo_t *cr,\t\t\tconst char *family,\t\
      \t\tcairo_font_slant_t slant,\t\t\tcairo_font_weight_t weight) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2054,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2061,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:2062,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 7
    argNames:
    - cr
    - dx1
    - dy1
    - dx2
    - dy2
    - dx3
    - dy3
    argTypes:
    - cairo_t*
    - double
    - double
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 2063
      start: 2046
    functionDepth: 0
    functionLinenumber: 2046
    functionLinenumberEnd: 2063
    functionName: cairo_rel_curve_to
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void cairo_rel_curve_to (cairo_t *cr,\t\t double dx1, double dy1,\t\
      \t double dx2, double dy2,\t\t double dx3, double dy3) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_REFERENCE_COUNT_IS_INVALID
      Src: /src/cairo/src/cairo.c:490,1
    - Dst: CAIRO_REFERENCE_COUNT_HAS_REFERENCE
      Src: /src/cairo/src/cairo.c:493,1
    - Dst: assert
      Src: /src/cairo/src/cairo.c:493,1
    - Dst: _cairo_reference_count_inc
      Src: /src/cairo/src/cairo.c:495,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 498
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 498
    functionName: cairo_reference
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_reference_count_inc
    - CAIRO_REFERENCE_COUNT_HAS_REFERENCE
    - CAIRO_REFERENCE_COUNT_IS_INVALID
    - assert
    linkageType: ''
    returnType: cairo_t*
    signature: 'cairo_t *cairo_reference (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_user_data_array_get_data
      Src: /src/cairo/src/cairo.c:548,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 549
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 549
    functionName: cairo_get_user_data
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_user_data_array_get_data
    linkageType: ''
    returnType: void*
    signature: "void *cairo_get_user_data (cairo_t\t\t\t *cr,\t\t const cairo_user_data_key_t\
      \ *key) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1701,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:1706,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1705,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 1707
      start: 1696
    functionDepth: 0
    functionLinenumber: 1696
    functionLinenumberEnd: 1707
    functionName: cairo_new_sub_path
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_new_sub_path (cairo_t *cr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:3230,1
    - Dst: cairo_matrix_init_identity
      Src: /src/cairo/src/cairo.c:3231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - cr
    - matrix
    argTypes:
    - cairo_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 3236
      start: 3227
    functionDepth: 0
    functionLinenumber: 3227
    functionLinenumberEnd: 3236
    functionName: cairo_get_font_matrix
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - cairo_matrix_init_identity
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_get_font_matrix (cairo_t *cr, cairo_matrix_t *matrix) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_user_data_array_fini
      Src: /src/cairo/src/cairo.c:503,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 504
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 504
    functionName: _cairo_fini
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_user_data_array_fini
    linkageType: ''
    returnType: void
    signature: 'void _cairo_fini (cairo_t *cr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_REFERENCE_COUNT_IS_INVALID
      Src: /src/cairo/src/cairo.c:519,1
    - Dst: _cairo_reference_count_dec_and_test
      Src: /src/cairo/src/cairo.c:524,1
    - Dst: CAIRO_REFERENCE_COUNT_HAS_REFERENCE
      Src: /src/cairo/src/cairo.c:522,1
    - Dst: assert
      Src: /src/cairo/src/cairo.c:522,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 528
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 528
    functionName: cairo_destroy
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - CAIRO_REFERENCE_COUNT_HAS_REFERENCE
    - CAIRO_REFERENCE_COUNT_IS_INVALID
    - _cairo_reference_count_dec_and_test
    - assert
    linkageType: ''
    returnType: void
    signature: 'void cairo_destroy (cairo_t *cr) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1007,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1015,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:1016,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1010,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:1011,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1021,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:1022,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - cr
    - source
    argTypes:
    - cairo_t*
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 1023
      start: 1002
    functionDepth: 0
    functionLinenumber: 1002
    functionLinenumberEnd: 1023
    functionName: cairo_set_source
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_set_source (cairo_t *cr, cairo_pattern_t *source) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1069,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1073,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:1074,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - cr
    - tolerance
    argTypes:
    - cairo_t*
    - double
    constantsTouched: []
    func_position:
      end: 1075
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1075
    functionName: cairo_set_tolerance
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_set_tolerance (cairo_t *cr, double tolerance) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1670,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1674,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:1675,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 1676
      start: 1665
    functionDepth: 0
    functionLinenumber: 1665
    functionLinenumberEnd: 1676
    functionName: cairo_new_path
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_new_path (cairo_t *cr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2880,1
    - Dst: _cairo_rectangle_list_create_in_error
      Src: /src/cairo/src/cairo.c:2881,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2884
      start: 2877
    functionDepth: 0
    functionLinenumber: 2877
    functionLinenumberEnd: 2884
    functionName: cairo_copy_clip_rectangle_list
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_rectangle_list_create_in_error
    - unlikely
    linkageType: ''
    returnType: cairo_rectangle_list_t*
    signature: 'cairo_rectangle_list_t *cairo_copy_clip_rectangle_list (cairo_t *cr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:3956,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 3960
      start: 3953
    functionDepth: 0
    functionLinenumber: 3953
    functionLinenumberEnd: 3960
    functionName: cairo_get_antialias
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: cairo_antialias_t
    signature: 'cairo_antialias_t cairo_get_antialias (cairo_t *cr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:4067,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 4071
      start: 4064
    functionDepth: 0
    functionLinenumber: 4064
    functionLinenumberEnd: 4071
    functionName: cairo_get_line_width
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: double
    signature: 'double cairo_get_line_width (cairo_t *cr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:889,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:893,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:894,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - cr
    - red
    - green
    - blue
    argTypes:
    - cairo_t*
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 895
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 895
    functionName: cairo_set_source_rgb
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_set_source_rgb (cairo_t *cr, double red, double green,
      double blue) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2252,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2256,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:2257,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - cr
    - alpha
    argTypes:
    - cairo_t*
    - double
    constantsTouched: []
    func_position:
      end: 2258
      start: 2246
    functionDepth: 0
    functionLinenumber: 2246
    functionLinenumberEnd: 2258
    functionName: cairo_paint_with_alpha
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void cairo_paint_with_alpha (cairo_t *cr,\t\t\tdouble alpha) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2226,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2230,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:2231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 2232
      start: 2221
    functionDepth: 0
    functionLinenumber: 2221
    functionLinenumberEnd: 2232
    functionName: cairo_paint
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_paint (cairo_t *cr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:3257,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:3262,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:3261,1
    - Dst: cairo_font_options_status
      Src: /src/cairo/src/cairo.c:3260,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:3267,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:3268,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - cr
    - options
    argTypes:
    - cairo_t*
    - cairo_font_options_t*
    constantsTouched: []
    func_position:
      end: 3269
      start: 3251
    functionDepth: 0
    functionLinenumber: 3251
    functionLinenumberEnd: 3269
    functionName: cairo_set_font_options
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - cairo_font_options_status
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void cairo_set_font_options (cairo_t *cr,\t\t\tconst cairo_font_options_t\
      \ *options) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_REFERENCE_COUNT_IS_INVALID
      Src: /src/cairo/src/cairo.c:575,1
    - Dst: _cairo_user_data_array_set_data
      Src: /src/cairo/src/cairo.c:578,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - cr
    - key
    - user_data
    - destroy
    argTypes:
    - cairo_t*
    - cairo_user_data_key_t*
    - void*
    - cairo_destroy_func_t
    constantsTouched: []
    func_position:
      end: 580
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 580
    functionName: cairo_set_user_data
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_user_data_array_set_data
    - CAIRO_REFERENCE_COUNT_IS_INVALID
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t cairo_set_user_data (cairo_t\t\t\t *cr,\t\t const cairo_user_data_key_t\
      \ *key,\t\t void\t\t\t *user_data,\t\t cairo_destroy_func_t\t destroy) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2536,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2540,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:2541,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - cr
    - x
    - y
    argTypes:
    - cairo_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 2544
      start: 2530
    functionDepth: 0
    functionLinenumber: 2530
    functionLinenumberEnd: 2544
    functionName: cairo_in_stroke
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t cairo_in_stroke (cairo_t *cr, double x, double y) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2399,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:2404,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2403,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 2405
      start: 2394
    functionDepth: 0
    functionLinenumber: 2394
    functionLinenumberEnd: 2405
    functionName: cairo_stroke_preserve
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_stroke_preserve (cairo_t *cr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1562,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1566,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:1567,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 1568
      start: 1557
    functionDepth: 0
    functionLinenumber: 1557
    functionLinenumberEnd: 1568
    functionName: cairo_identity_matrix
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_identity_matrix (cairo_t *cr) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:447,1
    - Dst: _cairo_create_in_error
      Src: /src/cairo/src/cairo.c:450,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:449,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo.c:448,1
    - Dst: _cairo_create_in_error
      Src: /src/cairo/src/cairo.c:448,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:451,1
    - Dst: _cairo_create_in_error
      Src: /src/cairo/src/cairo.c:452,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo.c:452,1
    - Dst: _cairo_create_in_error
      Src: /src/cairo/src/cairo.c:455,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo.c:455,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 459
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 459
    functionName: cairo_create
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_create_in_error
    - unlikely
    linkageType: ''
    returnType: cairo_t*
    signature: 'cairo_t *cairo_create (cairo_surface_t *target) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:968,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:971,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:977,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:972,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:978,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 4
    argNames:
    - cr
    - surface
    - x
    - y
    argTypes:
    - cairo_t*
    - cairo_surface_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 979
      start: 960
    functionDepth: 0
    functionLinenumber: 960
    functionLinenumberEnd: 979
    functionName: cairo_set_source_surface
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void cairo_set_source_surface (cairo_t\t *cr,\t\t\t cairo_surface_t\
      \ *surface,\t\t\t double\t x,\t\t\t double\t y) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1040,1
    - Dst: _cairo_pattern_create_in_error
      Src: /src/cairo/src/cairo.c:1041,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1037
    functionDepth: 0
    functionLinenumber: 1037
    functionLinenumberEnd: 1044
    functionName: cairo_get_source
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_create_in_error
    - unlikely
    linkageType: ''
    returnType: cairo_pattern_t*
    signature: 'cairo_pattern_t *cairo_get_source (cairo_t *cr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2850,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:2855,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2854,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - cr
    - x
    - y
    argTypes:
    - cairo_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 2858
      start: 2844
    functionDepth: 0
    functionLinenumber: 2844
    functionLinenumberEnd: 2858
    functionName: cairo_in_clip
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t cairo_in_clip (cairo_t *cr, double x, double y) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:3936,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 3940
      start: 3933
    functionDepth: 0
    functionLinenumber: 3933
    functionLinenumberEnd: 3940
    functionName: cairo_get_tolerance
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: double
    signature: 'double cairo_get_tolerance (cairo_t *cr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:4045,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 4049
      start: 4042
    functionDepth: 0
    functionLinenumber: 4042
    functionLinenumberEnd: 4049
    functionName: cairo_get_fill_rule
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: cairo_fill_rule_t
    signature: 'cairo_fill_rule_t cairo_get_fill_rule (cairo_t *cr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:4105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 4109
      start: 4102
    functionDepth: 0
    functionLinenumber: 4102
    functionLinenumberEnd: 4109
    functionName: cairo_get_line_cap
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: cairo_line_cap_t
    signature: 'cairo_line_cap_t cairo_get_line_cap (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_REFERENCE_COUNT_INIT
      Src: /src/cairo/src/cairo.c:465,1
    - Dst: _cairo_user_data_array_init
      Src: /src/cairo/src/cairo.c:467,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - cr
    - backend
    argTypes:
    - cairo_t*
    - cairo_backend_t*
    constantsTouched: []
    func_position:
      end: 470
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 470
    functionName: _cairo_init
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - CAIRO_REFERENCE_COUNT_INIT
    - _cairo_user_data_array_init
    linkageType: ''
    returnType: void
    signature: "void _cairo_init (cairo_t *cr,\t const cairo_backend_t *backend) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_REFERENCE_COUNT_IS_INVALID
      Src: /src/cairo/src/cairo.c:596,1
    - Dst: CAIRO_REFERENCE_COUNT_GET_VALUE
      Src: /src/cairo/src/cairo.c:599,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 600
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 600
    functionName: cairo_get_reference_count
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - CAIRO_REFERENCE_COUNT_IS_INVALID
    - CAIRO_REFERENCE_COUNT_GET_VALUE
    linkageType: ''
    returnType: unsigned int
    signature: 'unsigned int cairo_get_reference_count (cairo_t *cr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1538,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1542,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:1543,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - cr
    - matrix
    argTypes:
    - cairo_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 1544
      start: 1532
    functionDepth: 0
    functionLinenumber: 1532
    functionLinenumberEnd: 1544
    functionName: cairo_set_matrix
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void cairo_set_matrix (cairo_t\t *cr,\t\t const cairo_matrix_t *matrix) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2570,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2574,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:2575,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - cr
    - x
    - y
    argTypes:
    - cairo_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 2578
      start: 2564
    functionDepth: 0
    functionLinenumber: 2564
    functionLinenumberEnd: 2578
    functionName: cairo_in_fill
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t cairo_in_fill (cairo_t *cr, double x, double y) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:4086,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 4090
      start: 4083
    functionDepth: 0
    functionLinenumber: 4083
    functionLinenumberEnd: 4090
    functionName: cairo_get_hairline
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t cairo_get_hairline (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 4370
      start: 4366
    functionDepth: 0
    functionLinenumber: 4366
    functionLinenumberEnd: 4370
    functionName: cairo_status
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t cairo_status (cairo_t *cr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:764,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:768,1
    - Dst: _cairo_pattern_create_in_error
      Src: /src/cairo/src/cairo.c:765,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:769,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 772
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 772
    functionName: cairo_pop_group
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_create_in_error
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: cairo_pattern_t*
    signature: 'cairo_pattern_t *cairo_pop_group (cairo_t *cr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1436,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:1441,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1440,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - cr
    - tx
    - ty
    argTypes:
    - cairo_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 1442
      start: 1431
    functionDepth: 0
    functionLinenumber: 1431
    functionLinenumberEnd: 1442
    functionName: cairo_translate
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_translate (cairo_t *cr, double tx, double ty) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1607,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - cr
    - dx
    - dy
    argTypes:
    - cairo_t*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 1611
      start: 1604
    functionDepth: 0
    functionLinenumber: 1604
    functionLinenumberEnd: 1611
    functionName: cairo_user_to_device_distance
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_user_to_device_distance (cairo_t *cr, double *dx, double
      *dy) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2751,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2755,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:2756,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 2757
      start: 2746
    functionDepth: 0
    functionLinenumber: 2746
    functionLinenumberEnd: 2757
    functionName: cairo_clip_preserve
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_clip_preserve (cairo_t *cr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:4190,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo.c:4191,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4194
      start: 4187
    functionDepth: 0
    functionLinenumber: 4187
    functionLinenumberEnd: 4194
    functionName: cairo_get_target
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_surface_create_in_error
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'cairo_surface_t *cairo_get_target (cairo_t *cr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2502,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2506,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:2507,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 2508
      start: 2497
    functionDepth: 0
    functionLinenumber: 2497
    functionLinenumberEnd: 2508
    functionName: cairo_show_page
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_show_page (cairo_t *cr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2714,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2718,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:2719,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 2720
      start: 2709
    functionDepth: 0
    functionLinenumber: 2709
    functionLinenumberEnd: 2720
    functionName: cairo_clip
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_clip (cairo_t *cr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1208,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1212,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:1213,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - cr
    - set_hairline
    argTypes:
    - cairo_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 1214
      start: 1203
    functionDepth: 0
    functionLinenumber: 1203
    functionLinenumberEnd: 1214
    functionName: cairo_set_hairline
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_set_hairline (cairo_t *cr, cairo_bool_t set_hairline) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1585,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - cr
    - x
    - y
    argTypes:
    - cairo_t*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 1589
      start: 1582
    functionDepth: 0
    functionLinenumber: 1582
    functionLinenumberEnd: 1589
    functionName: cairo_user_to_device
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_user_to_device (cairo_t *cr, double *x, double *y) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1753,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:1758,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1757,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - cr
    - x
    - y
    argTypes:
    - cairo_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 1759
      start: 1748
    functionDepth: 0
    functionLinenumber: 1748
    functionLinenumberEnd: 1759
    functionName: cairo_line_to
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_line_to (cairo_t *cr, double x, double y) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:3209,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:3213,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:3214,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - cr
    - matrix
    argTypes:
    - cairo_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 3215
      start: 3203
    functionDepth: 0
    functionLinenumber: 3203
    functionLinenumberEnd: 3215
    functionName: cairo_set_font_matrix
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void cairo_set_font_matrix (cairo_t\t\t *cr,\t\t const cairo_matrix_t\
      \ *matrix) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:4161,1
    - Dst: cairo_matrix_init_identity
      Src: /src/cairo/src/cairo.c:4162,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - cr
    - matrix
    argTypes:
    - cairo_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 4167
      start: 4158
    functionDepth: 0
    functionLinenumber: 4158
    functionLinenumberEnd: 4167
    functionName: cairo_get_matrix
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - cairo_matrix_init_identity
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_get_matrix (cairo_t *cr, cairo_matrix_t *matrix) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1978,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1982,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:1983,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - cr
    - dx
    - dy
    argTypes:
    - cairo_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 1984
      start: 1973
    functionDepth: 0
    functionLinenumber: 1973
    functionLinenumberEnd: 1984
    functionName: cairo_rel_move_to
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_rel_move_to (cairo_t *cr, double dx, double dy) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2371,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:2376,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2375,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 2377
      start: 2366
    functionDepth: 0
    functionLinenumber: 2366
    functionLinenumberEnd: 2377
    functionName: cairo_stroke
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_stroke (cairo_t *cr) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2819,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2823,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:2824,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 10
    argCount: 5
    argNames:
    - cr
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - cairo_t*
    - double*
    - double*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 2825
      start: 2803
    functionDepth: 0
    functionLinenumber: 2803
    functionLinenumberEnd: 2825
    functionName: cairo_clip_extents
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void cairo_clip_extents (cairo_t *cr,\t\t double *x1, double *y1,\t\
      \t double *x2, double *y2) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:3862,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:3874,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:3868,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:3873,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:3869,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:3879,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:3880,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - cr
    - glyphs
    - num_glyphs
    argTypes:
    - cairo_t*
    - cairo_glyph_t*
    - int
    constantsTouched: []
    func_position:
      end: 3881
      start: 3857
    functionDepth: 0
    functionLinenumber: 3857
    functionLinenumberEnd: 3881
    functionName: cairo_glyph_path
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_glyph_path (cairo_t *cr, const cairo_glyph_t *glyphs, int
      num_glyphs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pop_group
      Src: /src/cairo/src/cairo.c:806,1
    - Dst: cairo_set_source
      Src: /src/cairo/src/cairo.c:807,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/src/cairo.c:808,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 809
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 809
    functionName: cairo_pop_group_to_source
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - cairo_set_source
    - cairo_pattern_destroy
    - cairo_pop_group
    linkageType: ''
    returnType: void
    signature: 'void cairo_pop_group_to_source (cairo_t *cr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1462,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:1467,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:1466,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - cr
    - sx
    - sy
    argTypes:
    - cairo_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 1468
      start: 1457
    functionDepth: 0
    functionLinenumber: 1457
    functionLinenumberEnd: 1468
    functionName: cairo_scale
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_scale (cairo_t *cr, double sx, double sy) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2782,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:2787,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:2786,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 2788
      start: 2777
    functionDepth: 0
    functionLinenumber: 2777
    functionLinenumberEnd: 2788
    functionName: cairo_reset_clip
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - _cairo_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_reset_clip (cairo_t *cr) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_STACK_ARRAY_LENGTH
      Src: /src/cairo/src/cairo.c:3790,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:3807,1
    - Dst: cairo_get_scaled_font
      Src: /src/cairo/src/cairo.c:3806,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo.c:3804,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:3796,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:3808,1
    - Dst: cairo_get_current_point
      Src: /src/cairo/src/cairo.c:3812,1
    - Dst: cairo_scaled_font_text_to_glyphs
      Src: /src/cairo/src/cairo.c:3813,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:3824,1
    - Dst: _cairo_set_error
      Src: /src/cairo/src/cairo.c:3842,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:3830,1
    - Dst: cairo_glyph_free
      Src: /src/cairo/src/cairo.c:3839,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo.c:3841,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 33
    argCount: 2
    argNames:
    - cr
    - utf8
    argTypes:
    - cairo_t*
    - char*
    constantsTouched: []
    func_position:
      end: 3843
      start: 3785
    functionDepth: 0
    functionLinenumber: 3785
    functionLinenumberEnd: 3843
    functionName: cairo_text_path
    functionSourceFile: /src/cairo/src/cairo.c
    functionUses: []
    functionsReached:
    - CAIRO_STACK_ARRAY_LENGTH
    - cairo_get_scaled_font
    - ARRAY_LENGTH
    - cairo_glyph_free
    - _cairo_set_error
    - cairo_get_current_point
    - cairo_scaled_font_text_to_glyphs
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_text_path (cairo_t *cr, const char *utf8) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/cairo/src/cairo-bentley-ottmann.c:138,1
    - Dst: printf
      Src: /src/cairo/src/cairo-bentley-ottmann.c:143,1
    - Dst: _cairo_traps_extents
      Src: /src/cairo/src/cairo-bentley-ottmann.c:149,1
    - Dst: fopen
      Src: /src/cairo/src/cairo-bentley-ottmann.c:155,1
    - Dst: printf
      Src: /src/cairo/src/cairo-bentley-ottmann.c:150,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-bentley-ottmann.c:158,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-bentley-ottmann.c:170,1
    - Dst: fclose
      Src: /src/cairo/src/cairo-bentley-ottmann.c:171,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - traps
    - filename
    argTypes:
    - cairo_traps_t*
    - char*
    constantsTouched: []
    func_position:
      end: 173
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 173
    functionName: dump_traps
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann.c
    functionUses: []
    functionsReached:
    - printf
    - getenv
    - fprintf
    - fclose
    - _cairo_traps_extents
    - fopen
    linkageType: ''
    returnType: void
    signature: 'static void dump_traps (cairo_traps_t *traps, const char *filename) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_bo_point32_compare
      Src: /src/cairo/src/cairo-bentley-ottmann.c:660,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_bo_event_t*
    - cairo_bo_event_t*
    constantsTouched: []
    func_position:
      end: 669
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 669
    functionName: cairo_bo_event_compare
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann.c
    functionUses: []
    functionsReached:
    - _cairo_bo_point32_compare
    linkageType: ''
    returnType: int
    signature: "static inline int cairo_bo_event_compare (const cairo_bo_event_t *a,\t\
      \t\tconst cairo_bo_event_t *b) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-bentley-ottmann.c:684,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - pq
    argTypes:
    - pqueue_t*
    constantsTouched: []
    func_position:
      end: 685
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 685
    functionName: _pqueue_fini
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'static inline void _pqueue_fini (pqueue_t *pq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_freepool_alloc
      Src: /src/cairo/src/cairo-bentley-ottmann.c:784,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-bentley-ottmann.c:785,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-bentley-ottmann.c:786,1
    - Dst: _pqueue_push
      Src: /src/cairo/src/cairo-bentley-ottmann.c:793,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 5
    argNames:
    - queue
    - type
    - e1
    - e2
    - point
    argTypes:
    - cairo_bo_event_queue_t*
    - cairo_bo_event_type_t
    - cairo_bo_edge_t*
    - cairo_bo_edge_t*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 794
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 794
    functionName: _cairo_bo_event_queue_insert
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_freepool_alloc
    - _pqueue_push
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static inline cairo_status_t _cairo_bo_event_queue_insert (cairo_bo_event_queue_t\t\
      *queue,\t\t\t cairo_bo_event_type_t\t type,\t\t\t cairo_bo_edge_t\t\t*e1,\t\t\
      \t cairo_bo_edge_t\t\t*e2,\t\t\t const cairo_point_t\t *point) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _pqueue_fini
      Src: /src/cairo/src/cairo-bentley-ottmann.c:859,1
    - Dst: _cairo_freepool_fini
      Src: /src/cairo/src/cairo-bentley-ottmann.c:860,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - event_queue
    argTypes:
    - cairo_bo_event_queue_t*
    constantsTouched: []
    func_position:
      end: 861
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 861
    functionName: _cairo_bo_event_queue_fini
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann.c
    functionUses: []
    functionsReached:
    - _cairo_freepool_fini
    - _pqueue_fini
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_bo_event_queue_fini (cairo_bo_event_queue_t *event_queue) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - sweep_line
    - edge
    argTypes:
    - cairo_bo_sweep_line_t*
    - cairo_bo_edge_t*
    constantsTouched: []
    func_position:
      end: 976
      start: 962
    functionDepth: 0
    functionLinenumber: 962
    functionLinenumberEnd: 976
    functionName: _cairo_bo_sweep_line_delete
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void _cairo_bo_sweep_line_delete (cairo_bo_sweep_line_t\t*sweep_line,\t\
      \t\t cairo_bo_edge_t\t*edge) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/cairo/src/cairo-bentley-ottmann.c:183,1
    - Dst: fopen
      Src: /src/cairo/src/cairo-bentley-ottmann.c:186,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-bentley-ottmann.c:198,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-bentley-ottmann.c:189,1
    - Dst: fclose
      Src: /src/cairo/src/cairo-bentley-ottmann.c:199,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - events
    - num_edges
    - filename
    argTypes:
    - cairo_bo_start_event_t*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 201
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 201
    functionName: dump_edges
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann.c
    functionUses: []
    functionsReached:
    - fopen
    - getenv
    - fprintf
    - fclose
    linkageType: ''
    returnType: void
    signature: "static void dump_edges (cairo_bo_start_event_t *events,\t int num_edges,\t\
      \ const char *filename) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_mul_div_floor
      Src: /src/cairo/src/cairo-bentley-ottmann.c:218,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - line
    - y
    argTypes:
    - cairo_line_t*
    - cairo_fixed_t
    constantsTouched: []
    func_position:
      end: 224
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 224
    functionName: _line_compute_intersection_x_for_y
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_mul_div_floor
    linkageType: ''
    returnType: cairo_fixed_t
    signature: "static cairo_fixed_t _line_compute_intersection_x_for_y (const cairo_line_t\
      \ *line,\t\t\t\t cairo_fixed_t y) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-bentley-ottmann.c:674,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pq
    argTypes:
    - pqueue_t*
    constantsTouched: []
    func_position:
      end: 678
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 678
    functionName: _pqueue_init
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann.c
    functionUses: []
    functionsReached:
    - ARRAY_LENGTH
    linkageType: ''
    returnType: void
    signature: 'static inline void _pqueue_init (pqueue_t *pq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-bentley-ottmann.c:694,1
    - Dst: _cairo_realloc_ab
      Src: /src/cairo/src/cairo-bentley-ottmann.c:702,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-bentley-ottmann.c:697,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-bentley-ottmann.c:699,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-bentley-ottmann.c:696,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-bentley-ottmann.c:705,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-bentley-ottmann.c:706,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - pq
    argTypes:
    - pqueue_t*
    constantsTouched: []
    func_position:
      end: 711
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 711
    functionName: _pqueue_grow
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann.c
    functionUses: []
    functionsReached:
    - memcpy
    - _cairo_error
    - _cairo_realloc_ab
    - _cairo_malloc_ab
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _pqueue_grow (pqueue_t *pq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_freepool_free
      Src: /src/cairo/src/cairo-bentley-ottmann.c:800,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - queue
    - event
    argTypes:
    - cairo_bo_event_queue_t*
    - cairo_bo_event_t*
    constantsTouched: []
    func_position:
      end: 801
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 801
    functionName: _cairo_bo_event_queue_delete
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann.c
    functionUses: []
    functionsReached:
    - _cairo_freepool_free
    linkageType: ''
    returnType: void
    signature: "static void _cairo_bo_event_queue_delete (cairo_bo_event_queue_t *queue,\t\
      \t\t cairo_bo_event_t\t *event) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MAX
      Src: /src/cairo/src/cairo-bentley-ottmann.c:870,1
    - Dst: cairo_lines_equal
      Src: /src/cairo/src/cairo-bentley-ottmann.c:874,1
    - Dst: MIN
      Src: /src/cairo/src/cairo-bentley-ottmann.c:871,1
    - Dst: _cairo_bo_edge_intersect
      Src: /src/cairo/src/cairo-bentley-ottmann.c:885,1
    - Dst: _slope_compare
      Src: /src/cairo/src/cairo-bentley-ottmann.c:882,1
    - Dst: _cairo_bo_event_queue_insert
      Src: /src/cairo/src/cairo-bentley-ottmann.c:888,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - event_queue
    - left
    - right
    argTypes:
    - cairo_bo_event_queue_t*
    - cairo_bo_edge_t*
    - cairo_bo_edge_t*
    constantsTouched: []
    func_position:
      end: 892
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 892
    functionName: _cairo_bo_event_queue_insert_if_intersect_below_current_y
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann.c
    functionUses: []
    functionsReached:
    - _cairo_bo_edge_intersect
    - _slope_compare
    - MIN
    - MAX
    - _cairo_bo_event_queue_insert
    - cairo_lines_equal
    linkageType: ''
    returnType: cairo_status_t
    signature: "static inline cairo_status_t _cairo_bo_event_queue_insert_if_intersect_below_current_y\
      \ (cairo_bo_event_queue_t\t*event_queue,\t\t\t\t\t\t\t cairo_bo_edge_t\t*left,\t\
      \t\t\t\t\t\t cairo_bo_edge_t *right) "
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - sweep_line
    - left
    - right
    argTypes:
    - cairo_bo_sweep_line_t*
    - cairo_bo_edge_t*
    - cairo_bo_edge_t*
    constantsTouched: []
    func_position:
      end: 996
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 996
    functionName: _cairo_bo_sweep_line_swap
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void _cairo_bo_sweep_line_swap (cairo_bo_sweep_line_t\t*sweep_line,\t\
      \t\t cairo_bo_edge_t\t\t*left,\t\t\t cairo_bo_edge_t\t\t*right) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-bentley-ottmann.c:303,1
    - Dst: _cairo_int64_cmp
      Src: /src/cairo/src/cairo-bentley-ottmann.c:306,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-bentley-ottmann.c:304,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_bo_edge_t*
    - cairo_bo_edge_t*
    constantsTouched: []
    func_position:
      end: 308
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 308
    functionName: _slope_compare
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann.c
    functionUses: []
    functionsReached:
    - _cairo_int64_cmp
    - _cairo_int32x32_64_mul
    linkageType: ''
    returnType: int
    signature: "static inline int _slope_compare (const cairo_bo_edge_t *a,\t\tconst\
      \ cairo_bo_edge_t *b) "
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: det32_64
      Src: /src/cairo/src/cairo-bentley-ottmann.c:448,1
    - Dst: _cairo_int64_ge
      Src: /src/cairo/src/cairo-bentley-ottmann.c:463,1
    - Dst: _cairo_int64_is_zero
      Src: /src/cairo/src/cairo-bentley-ottmann.c:484,1
    - Dst: _cairo_int64_negative
      Src: /src/cairo/src/cairo-bentley-ottmann.c:488,1
    - Dst: _cairo_int32_to_int64
      Src: /src/cairo/src/cairo-bentley-ottmann.c:493,1
    - Dst: _cairo_int64_to_int32
      Src: /src/cairo/src/cairo-bentley-ottmann.c:498,1
    - Dst: _cairo_int64_is_zero
      Src: /src/cairo/src/cairo-bentley-ottmann.c:507,1
    - Dst: _cairo_int64_negative
      Src: /src/cairo/src/cairo-bentley-ottmann.c:511,1
    - Dst: _cairo_int32_to_int64
      Src: /src/cairo/src/cairo-bentley-ottmann.c:513,1
    - Dst: _cairo_int32_to_int64
      Src: /src/cairo/src/cairo-bentley-ottmann.c:516,1
    - Dst: _cairo_int64_ge
      Src: /src/cairo/src/cairo-bentley-ottmann.c:452,1
    - Dst: det32_64
      Src: /src/cairo/src/cairo-bentley-ottmann.c:472,1
    - Dst: _cairo_int64_eq
      Src: /src/cairo/src/cairo-bentley-ottmann.c:481,1
    - Dst: _cairo_int64_is_zero
      Src: /src/cairo/src/cairo-bentley-ottmann.c:487,1
    - Dst: _cairo_int64_ge
      Src: /src/cairo/src/cairo-bentley-ottmann.c:491,1
    - Dst: det64x32_128
      Src: /src/cairo/src/cairo-bentley-ottmann.c:501,1
    - Dst: _cairo_int64_eq
      Src: /src/cairo/src/cairo-bentley-ottmann.c:504,1
    - Dst: _cairo_int64_is_zero
      Src: /src/cairo/src/cairo-bentley-ottmann.c:510,1
    - Dst: _cairo_int64_negate
      Src: /src/cairo/src/cairo-bentley-ottmann.c:512,1
    - Dst: _cairo_int64_ge
      Src: /src/cairo/src/cairo-bentley-ottmann.c:514,1
    - Dst: _cairo_int64_add
      Src: /src/cairo/src/cairo-bentley-ottmann.c:515,1
    - Dst: det32_64
      Src: /src/cairo/src/cairo-bentley-ottmann.c:427,1
    - Dst: det32_64
      Src: /src/cairo/src/cairo-bentley-ottmann.c:459,1
    - Dst: _cairo_int64_negative
      Src: /src/cairo/src/cairo-bentley-ottmann.c:462,1
    - Dst: _cairo_int64_le
      Src: /src/cairo/src/cairo-bentley-ottmann.c:466,1
    - Dst: det32_64
      Src: /src/cairo/src/cairo-bentley-ottmann.c:474,1
    - Dst: _cairo_int64_mul
      Src: /src/cairo/src/cairo-bentley-ottmann.c:490,1
    - Dst: _cairo_int64_mul
      Src: /src/cairo/src/cairo-bentley-ottmann.c:513,1
    - Dst: _cairo_int64_negative
      Src: /src/cairo/src/cairo-bentley-ottmann.c:516,1
    - Dst: _cairo_int64_negative
      Src: /src/cairo/src/cairo-bentley-ottmann.c:511,1
    - Dst: _cairo_int64_le
      Src: /src/cairo/src/cairo-bentley-ottmann.c:455,1
    - Dst: _cairo_int64_negative
      Src: /src/cairo/src/cairo-bentley-ottmann.c:451,1
    - Dst: _cairo_int_96by64_32x64_divrem
      Src: /src/cairo/src/cairo-bentley-ottmann.c:478,1
    - Dst: _cairo_int64_negate
      Src: /src/cairo/src/cairo-bentley-ottmann.c:489,1
    - Dst: det64x32_128
      Src: /src/cairo/src/cairo-bentley-ottmann.c:478,1
    - Dst: _cairo_int64_negative
      Src: /src/cairo/src/cairo-bentley-ottmann.c:488,1
    - Dst: _cairo_int32_to_int64
      Src: /src/cairo/src/cairo-bentley-ottmann.c:490,1
    - Dst: _cairo_int64_add
      Src: /src/cairo/src/cairo-bentley-ottmann.c:492,1
    - Dst: _cairo_int64_negative
      Src: /src/cairo/src/cairo-bentley-ottmann.c:493,1
    - Dst: _cairo_int_96by64_32x64_divrem
      Src: /src/cairo/src/cairo-bentley-ottmann.c:501,1
    - Dst: _cairo_int64_to_int32
      Src: /src/cairo/src/cairo-bentley-ottmann.c:521,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 83
    argCount: 3
    argNames:
    - a
    - b
    - intersection
    argTypes:
    - cairo_bo_edge_t*
    - cairo_bo_edge_t*
    - cairo_bo_intersect_point_t*
    constantsTouched: []
    func_position:
      end: 524
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 524
    functionName: intersect_lines
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann.c
    functionUses: []
    functionsReached:
    - _cairo_int64_negative
    - _cairo_int_96by64_32x64_divrem
    - det32_64
    - _cairo_int64_is_zero
    - det64x32_128
    - _cairo_int32_to_int64
    - _cairo_int64_negate
    - _cairo_int64_add
    - _cairo_int64_to_int32
    - _cairo_int64_mul
    - _cairo_int64_le
    - _cairo_int64_eq
    - _cairo_int64_ge
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t intersect_lines (cairo_bo_edge_t\t\t*a,\t\t cairo_bo_edge_t\t\
      \t*b,\t\t cairo_bo_intersect_point_t\t*intersection) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1002,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - edge
    argTypes:
    - cairo_bo_edge_t*
    constantsTouched: []
    func_position:
      end: 1005
      start: 999
    functionDepth: 0
    functionLinenumber: 999
    functionLinenumberEnd: 1005
    functionName: _cairo_bo_edge_print
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_bo_edge_print (cairo_bo_edge_t *edge) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1487,1
    - Dst: _cairo_fixed_integer_floor
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1526,1
    - Dst: dump_traps
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1560,1
    - Dst: free
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1564,1
    - Dst: _cairo_fixed_integer_ceil
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1484,1
    - Dst: memset
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1493,1
    - Dst: _cairo_bo_event_queue_sort
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1540,1
    - Dst: _cairo_malloc_ab_plus_c
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1499,1
    - Dst: _cairo_bo_event_queue_sort
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1545,1
    - Dst: dump_edges
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1549,1
    - Dst: _cairo_bentley_ottmann_tessellate_bo_edges
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1556,1
    - Dst: CAIRO_STACK_ARRAY_LENGTH
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1469,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1479,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1471,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1488,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1489,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1498,1
    - Dst: free
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1505,1
    - Dst: _line_compute_intersection_x_for_y
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1516,1
    - Dst: free
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1543,1
    - Dst: _cairo_fixed_integer_floor
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1483,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1506,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1503,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 84
    argCount: 3
    argNames:
    - traps
    - polygon
    - fill_rule
    argTypes:
    - cairo_traps_t*
    - cairo_polygon_t*
    - cairo_fill_rule_t
    constantsTouched: []
    func_position:
      end: 1567
      start: 1463
    functionDepth: 0
    functionLinenumber: 1463
    functionLinenumberEnd: 1567
    functionName: _cairo_bentley_ottmann_tessellate_polygon
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann.c
    functionUses: []
    functionsReached:
    - _cairo_bo_event_queue_sort
    - CAIRO_STACK_ARRAY_LENGTH
    - _cairo_error
    - _cairo_malloc_ab_plus_c
    - free
    - ARRAY_LENGTH
    - _cairo_fixed_integer_floor
    - _cairo_bentley_ottmann_tessellate_bo_edges
    - dump_traps
    - _line_compute_intersection_x_for_y
    - _cairo_fixed_integer_ceil
    - _cairo_malloc_ab
    - memset
    - dump_edges
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_bentley_ottmann_tessellate_polygon (cairo_traps_t\t\
      \ *traps,\t\t\t\t\t const cairo_polygon_t *polygon,\t\t\t\t\t cairo_fill_rule_t\t\
      \ fill_rule) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1631,1
    - Dst: _cairo_bo_point32_compare
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1631,1
    - Dst: _cairo_bo_edge_intersect
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1646,1
    - Dst: printf
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1649,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - edges
    - num_edges
    argTypes:
    - cairo_bo_edge_t*
    - int
    constantsTouched: []
    func_position:
      end: 1661
      start: 1620
    functionDepth: 0
    functionLinenumber: 1620
    functionLinenumberEnd: 1661
    functionName: edges_have_an_intersection_quadratic
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann.c
    functionUses: []
    functionsReached:
    - _cairo_bo_edge_intersect
    - _cairo_bo_point32_compare
    - printf
    - assert
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t edges_have_an_intersection_quadratic (cairo_bo_edge_t\t\
      *edges,\t\t\t\t int\t\t num_edges) "
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_bo_intersect_ordinate_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 538
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 538
    functionName: _cairo_bo_intersect_ordinate_32_compare
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "static int _cairo_bo_intersect_ordinate_32_compare (cairo_bo_intersect_ordinate_t\t\
      a,\t\t\t\t\t int32_t\t\t\tb) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1012,1
    - Dst: printf
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1018,1
    - Dst: printf
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1015,1
    - Dst: _cairo_bo_edge_print
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1022,1
    - Dst: printf
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1021,1
    - Dst: printf
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1024,1
    - Dst: _cairo_bo_edge_print
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1025,1
    - Dst: printf
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1027,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - event
    argTypes:
    - cairo_bo_event_t*
    constantsTouched: []
    func_position:
      end: 1028
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1028
    functionName: _cairo_bo_event_print
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann.c
    functionUses: []
    functionsReached:
    - printf
    - _cairo_bo_edge_print
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_bo_event_print (cairo_bo_event_t *event) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: HAS_COLINEAR
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1102,1
    - Dst: MARK_COLINEAR
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1107,1
    - Dst: HAS_COLINEAR
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1105,1
    - Dst: IS_COLINEAR
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1106,1
    - Dst: IS_COLINEAR
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1103,1
    - Dst: MARK_COLINEAR
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1117,1
    - Dst: _slope_compare
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1121,1
    - Dst: MARK_COLINEAR
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1122,1
    - Dst: edge_compare_for_y_against_x
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1133,1
    - Dst: edge_compare_for_y_against_x
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1137,1
    - Dst: MARK_COLINEAR
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1142,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 55
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_bo_edge_t*
    - cairo_bo_edge_t*
    constantsTouched: []
    func_position:
      end: 1144
      start: 1097
    functionDepth: 0
    functionLinenumber: 1097
    functionLinenumberEnd: 1144
    functionName: edges_colinear
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann.c
    functionUses: []
    functionsReached:
    - _slope_compare
    - HAS_COLINEAR
    - IS_COLINEAR
    - MARK_COLINEAR
    - edge_compare_for_y_against_x
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static inline cairo_bool_t edges_colinear (cairo_bo_edge_t *a, const
      cairo_bo_edge_t *b) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1577,1
    - Dst: dump_traps
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1581,1
    - Dst: _cairo_polygon_add_line
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1587,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1592,1
    - Dst: _cairo_polygon_init
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1584,1
    - Dst: _cairo_polygon_add_line
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1595,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1600,1
    - Dst: _cairo_traps_clear
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1604,1
    - Dst: _cairo_bentley_ottmann_tessellate_polygon
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1605,1
    - Dst: dump_traps
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1610,1
    - Dst: _cairo_polygon_fini
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1614,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - traps
    - fill_rule
    argTypes:
    - cairo_traps_t*
    - cairo_fill_rule_t
    constantsTouched: []
    func_position:
      end: 1617
      start: 1569
    functionDepth: 0
    functionLinenumber: 1569
    functionLinenumberEnd: 1617
    functionName: _cairo_bentley_ottmann_tessellate_traps
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann.c
    functionUses: []
    functionsReached:
    - _cairo_polygon_add_line
    - _cairo_bentley_ottmann_tessellate_polygon
    - _cairo_polygon_fini
    - _cairo_polygon_init
    - _cairo_traps_clear
    - dump_traps
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_bentley_ottmann_tessellate_traps (cairo_traps_t\
      \ *traps,\t\t\t\t\t cairo_fill_rule_t fill_rule) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_bo_point32_t*
    - cairo_bo_point32_t*
    constantsTouched: []
    func_position:
      end: 237
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 237
    functionName: _cairo_bo_point32_compare
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "static inline int _cairo_bo_point32_compare (cairo_bo_point32_t const\
      \ *a,\t\t\t cairo_bo_point32_t const *b) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-bentley-ottmann.c:719,1
    - Dst: PQ_PARENT_INDEX
      Src: /src/cairo/src/cairo-bentley-ottmann.c:732,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-bentley-ottmann.c:723,1
    - Dst: _pqueue_grow
      Src: /src/cairo/src/cairo-bentley-ottmann.c:722,1
    - Dst: cairo_bo_event_compare
      Src: /src/cairo/src/cairo-bentley-ottmann.c:731,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - pq
    - event
    argTypes:
    - pqueue_t*
    - cairo_bo_event_t*
    constantsTouched: []
    func_position:
      end: 741
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 741
    functionName: _pqueue_push
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann.c
    functionUses: []
    functionsReached:
    - _pqueue_grow
    - PQ_PARENT_INDEX
    - cairo_bo_event_compare
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static inline cairo_status_t _pqueue_push (pqueue_t *pq, cairo_bo_event_t
      *event) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_bo_event_compare
      Src: /src/cairo/src/cairo-bentley-ottmann.c:811,1
    - Dst: _pqueue_pop
      Src: /src/cairo/src/cairo-bentley-ottmann.c:818,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 822
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 822
    functionName: _cairo_bo_event_dequeue
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann.c
    functionUses: []
    functionsReached:
    - cairo_bo_event_compare
    - _pqueue_pop
    linkageType: ''
    returnType: cairo_bo_event_t*
    signature: 'static cairo_bo_event_t *_cairo_bo_event_dequeue (cairo_bo_event_queue_t
      *event_queue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - sweep_line
    argTypes:
    - cairo_bo_sweep_line_t*
    constantsTouched: []
    func_position:
      end: 901
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 901
    functionName: _cairo_bo_sweep_line_init
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_bo_sweep_line_init (cairo_bo_sweep_line_t *sweep_line) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1831,1
    - Dst: _cairo_bentley_ottmann_intersect_edges
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1835,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1848,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1849,1
    - Dst: _cairo_bentley_ottmann_intersect_edges
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1851,1
    - Dst: printf
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1866,1
    - Dst: printf
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1868,1
    - Dst: printf
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1837,1
    - Dst: assert
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1847,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1848,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1864,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1833,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1846,1
    - Dst: printf
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1860,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1850,1
    - Dst: edges_have_an_intersection_quadratic
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1864,1
    - Dst: printf
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1859,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1844,1
    - Dst: printf
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1855,1
    - Dst: free
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1852,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1865,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1870,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 3
    argNames:
    - test_name
    - test_edges
    - num_edges
    argTypes:
    - char*
    - cairo_bo_edge_t*
    - int
    constantsTouched: []
    func_position:
      end: 1873
      start: 1822
    functionDepth: 0
    functionLinenumber: 1822
    functionLinenumberEnd: 1873
    functionName: run_test
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann.c
    functionUses: []
    functionsReached:
    - printf
    - memcpy
    - edges_have_an_intersection_quadratic
    - _cairo_array_index
    - _cairo_array_init
    - free
    - _cairo_array_num_elements
    - assert
    - _cairo_array_fini
    - _cairo_malloc_ab
    - _cairo_bentley_ottmann_intersect_edges
    linkageType: ''
    returnType: int
    signature: "static int run_test (const char\t\t*test_name, cairo_bo_edge_t\t*test_edges,\
      \ int\t\t\t num_edges) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PQ_LEFT_CHILD_INDEX
      Src: /src/cairo/src/cairo-bentley-ottmann.c:757,1
    - Dst: cairo_bo_event_compare
      Src: /src/cairo/src/cairo-bentley-ottmann.c:767,1
    - Dst: cairo_bo_event_compare
      Src: /src/cairo/src/cairo-bentley-ottmann.c:761,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 1
    argNames:
    - pq
    argTypes:
    - pqueue_t*
    constantsTouched: []
    func_position:
      end: 773
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 773
    functionName: _pqueue_pop
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann.c
    functionUses: []
    functionsReached:
    - PQ_LEFT_CHILD_INDEX
    - cairo_bo_event_compare
    linkageType: ''
    returnType: void
    signature: 'static inline void _pqueue_pop (pqueue_t *pq) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_bo_sweep_line_compare_edges
      Src: /src/cairo/src/cairo-bentley-ottmann.c:911,1
    - Dst: _cairo_bo_sweep_line_compare_edges
      Src: /src/cairo/src/cairo-bentley-ottmann.c:933,1
    - Dst: _cairo_bo_sweep_line_compare_edges
      Src: /src/cairo/src/cairo-bentley-ottmann.c:918,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 2
    argNames:
    - sweep_line
    - edge
    argTypes:
    - cairo_bo_sweep_line_t*
    - cairo_bo_edge_t*
    constantsTouched: []
    func_position:
      end: 960
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 960
    functionName: _cairo_bo_sweep_line_insert
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann.c
    functionUses: []
    functionsReached:
    - _cairo_bo_sweep_line_compare_edges
    linkageType: ''
    returnType: void
    signature: "static void _cairo_bo_sweep_line_insert (cairo_bo_sweep_line_t\t*sweep_line,\t\
      \t\t cairo_bo_edge_t\t\t*edge) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1885,1
    - Dst: run_test
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1887,1
    - Dst: rand
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1896,1
    - Dst: rand
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1895,1
    - Dst: srand
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1891,1
    - Dst: rand
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1897,1
    - Dst: rand
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1898,1
    - Dst: sprintf
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1907,1
    - Dst: run_test
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1909,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1913
      start: 1877
    functionDepth: 0
    functionLinenumber: 1877
    functionLinenumberEnd: 1913
    functionName: main
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann.c
    functionUses: []
    functionsReached:
    - run_test
    - ARRAY_LENGTH
    - sprintf
    - srand
    - rand
    linkageType: ''
    returnType: int
    signature: 'int main (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-bentley-ottmann.c:357,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-bentley-ottmann.c:358,1
    - Dst: _cairo_int64_cmp
      Src: /src/cairo/src/cairo-bentley-ottmann.c:360,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 3
    argNames:
    - a
    - y
    - x
    argTypes:
    - cairo_bo_edge_t*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 361
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 361
    functionName: edge_compare_for_y_against_x
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann.c
    functionUses: []
    functionsReached:
    - _cairo_int64_cmp
    - _cairo_int32x32_64_mul
    linkageType: ''
    returnType: int
    signature: "static int edge_compare_for_y_against_x (const cairo_bo_edge_t *a,\t\
      \t\t int32_t y,\t\t\t int32_t x) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_int64_sub
      Src: /src/cairo/src/cairo-bentley-ottmann.c:385,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-bentley-ottmann.c:385,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-bentley-ottmann.c:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - a
    - b
    - c
    - d
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 387
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 387
    functionName: det32_64
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann.c
    functionUses: []
    functionsReached:
    - _cairo_int64_sub
    - _cairo_int32x32_64_mul
    linkageType: ''
    returnType: cairo_int64_t
    signature: "static inline cairo_int64_t det32_64 (int32_t a, int32_t b,\t int32_t\
      \ c, int32_t d) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: intersect_lines
      Src: /src/cairo/src/cairo-bentley-ottmann.c:634,1
    - Dst: _cairo_bo_edge_contains_intersect_point
      Src: /src/cairo/src/cairo-bentley-ottmann.c:637,1
    - Dst: _cairo_bo_edge_contains_intersect_point
      Src: /src/cairo/src/cairo-bentley-ottmann.c:640,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - a
    - b
    - intersection
    argTypes:
    - cairo_bo_edge_t*
    - cairo_bo_edge_t*
    - cairo_bo_point32_t*
    constantsTouched: []
    func_position:
      end: 652
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 652
    functionName: _cairo_bo_edge_intersect
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann.c
    functionUses: []
    functionsReached:
    - _cairo_bo_edge_contains_intersect_point
    - intersect_lines
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _cairo_bo_edge_intersect (cairo_bo_edge_t\t*a,\t\
      \t\t cairo_bo_edge_t\t*b,\t\t\t cairo_bo_point32_t\t*intersection) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_freepool_init
      Src: /src/cairo/src/cairo-bentley-ottmann.c:835,1
    - Dst: _pqueue_init
      Src: /src/cairo/src/cairo-bentley-ottmann.c:837,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - event_queue
    - start_events
    - num_events
    argTypes:
    - cairo_bo_event_queue_t*
    - cairo_bo_event_t**
    - int
    constantsTouched: []
    func_position:
      end: 839
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 839
    functionName: _cairo_bo_event_queue_init
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann.c
    functionUses: []
    functionsReached:
    - _pqueue_init
    - _cairo_freepool_init
    linkageType: ''
    returnType: void
    signature: "static void _cairo_bo_event_queue_init (cairo_bo_event_queue_t\t *event_queue,\t\
      \t\t cairo_bo_event_t\t\t**start_events,\t\t\t int\t\t\t\t num_events) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1034,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - event_queue
    argTypes:
    - cairo_bo_event_queue_t*
    constantsTouched: []
    func_position:
      end: 1035
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1035
    functionName: _cairo_bo_event_queue_print
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_bo_event_queue_print (cairo_bo_event_queue_t *event_queue) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1077,1
    - Dst: fopen
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1080,1
    - Dst: vfprintf
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1085,1
    - Dst: va_end
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1086,1
    - Dst: va_start
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1084,1
    - Dst: fclose
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1088,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames:
    - 1, 2
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1072
    functionDepth: 0
    functionLinenumber: 1072
    functionLinenumberEnd: 1090
    functionName: CAIRO_PRINTF_FORMAT
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann.c
    functionUses: []
    functionsReached:
    - getenv
    - fclose
    - vfprintf
    - fopen
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: 'static void CAIRO_PRINTF_FORMAT (1, 2) event_log (const char *fmt,
      ...) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1196,1
    - Dst: edges_colinear
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1198,1
    - Dst: edges_colinear
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1208,1
    - Dst: event_log
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1213,1
    - Dst: _cairo_bo_edge_end_trap
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1205,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - left
    - right
    - top
    - traps
    argTypes:
    - cairo_bo_edge_t*
    - cairo_bo_edge_t*
    - int
    - cairo_traps_t*
    constantsTouched: []
    func_position:
      end: 1219
      start: 1187
    functionDepth: 0
    functionLinenumber: 1187
    functionLinenumberEnd: 1219
    functionName: _cairo_bo_edge_start_or_continue_trap
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann.c
    functionUses: []
    functionsReached:
    - event_log
    - _cairo_bo_edge_end_trap
    - edges_colinear
    - assert
    linkageType: ''
    returnType: void
    signature: "static inline void _cairo_bo_edge_start_or_continue_trap (cairo_bo_edge_t\t\
      *left,\t\t\t\t cairo_bo_edge_t *right,\t\t\t\t int top,\t\t\t\t cairo_traps_t\t\
      *traps) "
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: event_log
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1299,1
    - Dst: _cairo_bo_edge_end_trap
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1319,1
    - Dst: _cairo_bo_event_queue_init
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1312,1
    - Dst: event_log
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1334,1
    - Dst: _cairo_bo_event_queue_insert_stop
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1348,1
    - Dst: _cairo_bo_sweep_line_delete
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1393,1
    - Dst: _cairo_bo_event_queue_delete
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1388,1
    - Dst: _cairo_bo_event_queue_insert_if_intersect_below_current_y
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1431,1
    - Dst: _cairo_bo_edge_end_trap
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1449,1
    - Dst: _cairo_bo_sweep_line_init
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1313,1
    - Dst: edges_colinear
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1356,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1380,1
    - Dst: _cairo_bo_event_queue_delete
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1415,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1438,1
    - Dst: event_log
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1457,1
    - Dst: _cairo_bo_event_dequeue
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1315,1
    - Dst: _cairo_bo_sweep_line_insert
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1346,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1374,1
    - Dst: _cairo_bo_event_queue_insert_if_intersect_below_current_y
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1379,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1406,1
    - Dst: _cairo_bo_event_queue_insert_if_intersect_below_current_y
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1437,1
    - Dst: _active_edges_to_traps
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1326,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1349,1
    - Dst: _cairo_bo_event_queue_insert_if_intersect_below_current_y
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1373,1
    - Dst: _cairo_bo_event_queue_insert_if_intersect_below_current_y
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1405,1
    - Dst: _cairo_bo_sweep_line_swap
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1426,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1432,1
    - Dst: _cairo_bo_event_queue_fini
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1454,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 103
    argCount: 5
    argNames:
    - start_events
    - num_events
    - fill_rule
    - traps
    - num_intersections
    argTypes:
    - cairo_bo_event_t**
    - int
    - unsigned
    - cairo_traps_t*
    - int*
    constantsTouched: []
    func_position:
      end: 1461
      start: 1271
    functionDepth: 0
    functionLinenumber: 1271
    functionLinenumberEnd: 1461
    functionName: _cairo_bentley_ottmann_tessellate_bo_edges
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann.c
    functionUses: []
    functionsReached:
    - _cairo_bo_event_queue_fini
    - _cairo_bo_sweep_line_delete
    - _active_edges_to_traps
    - edges_colinear
    - event_log
    - unlikely
    - _cairo_bo_sweep_line_init
    - _cairo_bo_event_queue_delete
    - _cairo_bo_sweep_line_insert
    - _cairo_bo_event_queue_insert_stop
    - _cairo_bo_edge_end_trap
    - _cairo_bo_event_dequeue
    - _cairo_bo_sweep_line_swap
    - _cairo_bo_event_queue_insert_if_intersect_below_current_y
    - _cairo_bo_event_queue_init
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_bentley_ottmann_tessellate_bo_edges (cairo_bo_event_t\
      \ **start_events,\t\t\t\t\t int\t\t\t num_events,\t\t\t\t\t unsigned\t\t fill_rule,\t\
      \t\t\t\t cairo_traps_t\t*traps,\t\t\t\t\t int\t\t\t*num_intersections) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_lines_compare_at_y
      Src: /src/cairo/src/cairo-bentley-ottmann.c:370,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - sweep_line
    - a
    - b
    argTypes:
    - cairo_bo_sweep_line_t*
    - cairo_bo_edge_t*
    - cairo_bo_edge_t*
    constantsTouched: []
    func_position:
      end: 378
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 378
    functionName: _cairo_bo_sweep_line_compare_edges
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann.c
    functionUses: []
    functionsReached:
    - _cairo_lines_compare_at_y
    linkageType: ''
    returnType: int
    signature: "static inline int _cairo_bo_sweep_line_compare_edges (const cairo_bo_sweep_line_t\t\
      *sweep_line,\t\t\t\t const cairo_bo_edge_t\t*a,\t\t\t\t const cairo_bo_edge_t\t\
      *b) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_int128_sub
      Src: /src/cairo/src/cairo-bentley-ottmann.c:394,1
    - Dst: _cairo_int64x32_128_mul
      Src: /src/cairo/src/cairo-bentley-ottmann.c:394,1
    - Dst: _cairo_int64x32_128_mul
      Src: /src/cairo/src/cairo-bentley-ottmann.c:395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - a
    - b
    - c
    - d
    argTypes:
    - cairo_int64_t
    - int32_t
    - cairo_int64_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 396
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 396
    functionName: det64x32_128
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann.c
    functionUses: []
    functionsReached:
    - _cairo_int64x32_128_mul
    - _cairo_int128_sub
    linkageType: ''
    returnType: cairo_int128_t
    signature: "static inline cairo_int128_t det64x32_128 (cairo_int64_t a, int32_t\
      \ b,\t cairo_int64_t c, int32_t d) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _line_compute_intersection_x_for_y
      Src: /src/cairo/src/cairo-bentley-ottmann.c:848,1
    - Dst: _cairo_bo_event_queue_insert
      Src: /src/cairo/src/cairo-bentley-ottmann.c:850,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - event_queue
    - edge
    argTypes:
    - cairo_bo_event_queue_t*
    - cairo_bo_edge_t*
    constantsTouched: []
    func_position:
      end: 854
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 854
    functionName: _cairo_bo_event_queue_insert_stop
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann.c
    functionUses: []
    functionsReached:
    - _line_compute_intersection_x_for_y
    - _cairo_bo_event_queue_insert
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_bo_event_queue_insert_stop (cairo_bo_event_queue_t\t\
      *event_queue,\t\t\t\t cairo_bo_edge_t\t\t*edge) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1043,1
    - Dst: printf
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1054,1
    - Dst: printf
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1050,1
    - Dst: _cairo_bo_edge_print
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1051,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - sweep_line
    argTypes:
    - cairo_bo_sweep_line_t*
    constantsTouched: []
    func_position:
      end: 1055
      start: 1037
    functionDepth: 0
    functionLinenumber: 1037
    functionLinenumberEnd: 1055
    functionName: _cairo_bo_sweep_line_print
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann.c
    functionUses: []
    functionsReached:
    - printf
    - _cairo_bo_edge_print
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_bo_sweep_line_print (cairo_bo_sweep_line_t *sweep_line) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1063,1
    - Dst: _cairo_bo_event_print
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1064,1
    - Dst: _cairo_bo_sweep_line_print
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1066,1
    - Dst: _cairo_bo_event_queue_print
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1065,1
    - Dst: printf
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1067,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - msg
    - event
    - event_queue
    - sweep_line
    argTypes:
    - char*
    - cairo_bo_event_t*
    - cairo_bo_event_queue_t*
    - cairo_bo_sweep_line_t*
    constantsTouched: []
    func_position:
      end: 1068
      start: 1057
    functionDepth: 0
    functionLinenumber: 1057
    functionLinenumberEnd: 1068
    functionName: print_state
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann.c
    functionUses: []
    functionsReached:
    - printf
    - _cairo_bo_sweep_line_print
    - _cairo_bo_event_queue_print
    - _cairo_bo_event_print
    linkageType: ''
    returnType: void
    signature: "static void print_state (const char\t\t\t*msg,\t cairo_bo_event_t\t\
      \t*event,\t cairo_bo_event_queue_t\t*event_queue,\t cairo_bo_sweep_line_t\t\
      *sweep_line) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_bo_intersect_ordinate_32_compare
      Src: /src/cairo/src/cairo-bentley-ottmann.c:570,1
    - Dst: _line_compute_intersection_x_for_y
      Src: /src/cairo/src/cairo-bentley-ottmann.c:599,1
    - Dst: _cairo_bo_intersect_ordinate_32_compare
      Src: /src/cairo/src/cairo-bentley-ottmann.c:601,1
    - Dst: _line_compute_intersection_x_for_y
      Src: /src/cairo/src/cairo-bentley-ottmann.c:605,1
    - Dst: _cairo_bo_intersect_ordinate_32_compare
      Src: /src/cairo/src/cairo-bentley-ottmann.c:572,1
    - Dst: _cairo_bo_intersect_ordinate_32_compare
      Src: /src/cairo/src/cairo-bentley-ottmann.c:607,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - edge
    - point
    argTypes:
    - cairo_bo_edge_t*
    - cairo_bo_intersect_point_t*
    constantsTouched: []
    func_position:
      end: 609
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 609
    functionName: _cairo_bo_edge_contains_intersect_point
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann.c
    functionUses: []
    functionsReached:
    - _line_compute_intersection_x_for_y
    - _cairo_bo_intersect_ordinate_32_compare
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _cairo_bo_edge_contains_intersect_point (cairo_bo_edge_t\t\
      \t*edge,\t\t\t\t\t cairo_bo_intersect_point_t\t*point) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1155,1
    - Dst: printf
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1161,1
    - Dst: event_log
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1170,1
    - Dst: _cairo_traps_add_trap
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1156,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - left
    - bot
    - traps
    argTypes:
    - cairo_bo_edge_t*
    - int32_t
    - cairo_traps_t*
    constantsTouched: []
    func_position:
      end: 1179
      start: 1147
    functionDepth: 0
    functionLinenumber: 1147
    functionLinenumberEnd: 1179
    functionName: _cairo_bo_edge_end_trap
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann.c
    functionUses: []
    functionsReached:
    - _cairo_traps_add_trap
    - printf
    - likely
    - event_log
    linkageType: ''
    returnType: void
    signature: "static void _cairo_bo_edge_end_trap (cairo_bo_edge_t\t*left,\t\t\t\
      \ int32_t\t\t bot,\t\t\t cairo_traps_t\t *traps) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1232,1
    - Dst: _cairo_bo_edge_start_or_continue_trap
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1259,1
    - Dst: _cairo_bo_edge_end_trap
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1251,1
    - Dst: edges_colinear
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1243,1
    - Dst: edges_colinear
      Src: /src/cairo/src/cairo-bentley-ottmann.c:1258,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 4
    argNames:
    - pos
    - top
    - mask
    - traps
    argTypes:
    - cairo_bo_edge_t*
    - int32_t
    - unsigned
    - cairo_traps_t*
    constantsTouched: []
    func_position:
      end: 1266
      start: 1221
    functionDepth: 0
    functionLinenumber: 1221
    functionLinenumberEnd: 1266
    functionName: _active_edges_to_traps
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann.c
    functionUses: []
    functionsReached:
    - printf
    - _cairo_bo_edge_end_trap
    - _cairo_bo_edge_start_or_continue_trap
    - edges_colinear
    linkageType: ''
    returnType: void
    signature: "static inline void _active_edges_to_traps (cairo_bo_edge_t\t*pos,\t\
      \t\tint32_t\t\t top,\t\t\tunsigned\t mask,\t\t\tcairo_traps_t *traps) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - entry
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: _cairo_cache_entry_is_non_zero
    functionSourceFile: /src/cairo/src/cairo-cache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_cache_entry_is_non_zero (const void *entry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_hash_table_foreach
      Src: /src/cairo/src/cairo-cache.c:130,1
    - Dst: assert
      Src: /src/cairo/src/cairo-cache.c:133,1
    - Dst: _cairo_hash_table_destroy
      Src: /src/cairo/src/cairo-cache.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - cache
    argTypes:
    - cairo_cache_t*
    constantsTouched: []
    func_position:
      end: 135
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 135
    functionName: _cairo_cache_fini
    functionSourceFile: /src/cairo/src/cairo-cache.c
    functionUses: []
    functionsReached:
    - _cairo_hash_table_destroy
    - _cairo_hash_table_foreach
    - assert
    linkageType: ''
    returnType: void
    signature: 'void _cairo_cache_fini (cairo_cache_t *cache) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-cache.c:176,1
    - Dst: _cairo_cache_shrink_to_accommodate
      Src: /src/cairo/src/cairo-cache.c:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - cache
    argTypes:
    - cairo_cache_t*
    constantsTouched: []
    func_position:
      end: 180
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 180
    functionName: _cairo_cache_thaw
    functionSourceFile: /src/cairo/src/cairo-cache.c
    functionUses: []
    functionsReached:
    - _cairo_cache_shrink_to_accommodate
    - assert
    linkageType: ''
    returnType: void
    signature: 'void _cairo_cache_thaw (cairo_cache_t *cache) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_hash_table_random_entry
      Src: /src/cairo/src/cairo-cache.c:218,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cache.c:220,1
    - Dst: _cairo_cache_remove
      Src: /src/cairo/src/cairo-cache.c:223,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - cache
    argTypes:
    - cairo_cache_t*
    constantsTouched: []
    func_position:
      end: 226
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 226
    functionName: _cairo_cache_remove_random
    functionSourceFile: /src/cairo/src/cairo-cache.c
    functionUses: []
    functionsReached:
    - _cairo_cache_remove
    - _cairo_hash_table_random_entry
    - unlikely
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_cache_remove_random (cairo_cache_t *cache) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_cache_shrink_to_accommodate
      Src: /src/cairo/src/cairo-cache.c:267,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cache.c:271,1
    - Dst: _cairo_hash_table_insert
      Src: /src/cairo/src/cairo-cache.c:269,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - cache
    - entry
    argTypes:
    - cairo_cache_t*
    - cairo_cache_entry_t*
    constantsTouched: []
    func_position:
      end: 277
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 277
    functionName: _cairo_cache_insert
    functionSourceFile: /src/cairo/src/cairo-cache.c
    functionUses: []
    functionsReached:
    - unlikely
    - _cairo_cache_shrink_to_accommodate
    - _cairo_hash_table_insert
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_cache_insert (cairo_cache_t\t *cache,\t\t cairo_cache_entry_t\
      \ *entry) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_hash_table_remove
      Src: /src/cairo/src/cairo-cache.c:292,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - cache
    - entry
    argTypes:
    - cairo_cache_t*
    - cairo_cache_entry_t*
    constantsTouched: []
    func_position:
      end: 297
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 297
    functionName: _cairo_cache_remove
    functionSourceFile: /src/cairo/src/cairo-cache.c
    functionUses: []
    functionsReached:
    - _cairo_hash_table_remove
    linkageType: ''
    returnType: void
    signature: "void _cairo_cache_remove (cairo_cache_t\t *cache,\t\t cairo_cache_entry_t\
      \ *entry) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 326
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 326
    functionName: _cairo_hash_string
    functionSourceFile: /src/cairo/src/cairo-cache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uintptr_t
    signature: 'uintptr_t _cairo_hash_string (const char *c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - hash
    - ptr
    - length
    argTypes:
    - uintptr_t
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 338
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 338
    functionName: _cairo_hash_bytes
    functionSourceFile: /src/cairo/src/cairo-cache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uintptr_t
    signature: "uintptr_t _cairo_hash_bytes (uintptr_t hash,\t\t const void *ptr,\t\
      \t unsigned int length) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_hash_bytes
      Src: /src/cairo/src/cairo-cache.c:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - hash
    - u
    argTypes:
    - uintptr_t
    - uintptr_t
    constantsTouched: []
    func_position:
      end: 345
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 345
    functionName: _cairo_hash_uintptr
    functionSourceFile: /src/cairo/src/cairo-cache.c
    functionUses: []
    functionsReached:
    - _cairo_hash_bytes
    linkageType: ''
    returnType: uintptr_t
    signature: 'uintptr_t _cairo_hash_uintptr (uintptr_t hash, uintptr_t u) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_cache_remove
      Src: /src/cairo/src/cairo-cache.c:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - entry
    - closure
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: _cairo_cache_pluck
    functionSourceFile: /src/cairo/src/cairo-cache.c
    functionUses: []
    functionsReached:
    - _cairo_cache_remove
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_cache_pluck (void *entry, void *closure) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-cache.c:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cache
    argTypes:
    - cairo_cache_t*
    constantsTouched: []
    func_position:
      end: 157
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 157
    functionName: _cairo_cache_freeze
    functionSourceFile: /src/cairo/src/cairo-cache.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: 'void _cairo_cache_freeze (cairo_cache_t *cache) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_hash_table_create
      Src: /src/cairo/src/cairo-cache.c:95,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-cache.c:96,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-cache.c:97,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 5
    argNames:
    - cache
    - keys_equal
    - predicate
    - entry_destroy
    - max_size
    argTypes:
    - cairo_cache_t*
    - cairo_cache_keys_equal_func_t
    - cairo_cache_predicate_func_t
    - cairo_destroy_func_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 110
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 110
    functionName: _cairo_cache_init
    functionSourceFile: /src/cairo/src/cairo-cache.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_hash_table_create
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_cache_init (cairo_cache_t\t\t*cache,\t\t cairo_cache_keys_equal_func_t\
      \ keys_equal,\t\t cairo_cache_predicate_func_t predicate,\t\t cairo_destroy_func_t\t\
      \t entry_destroy,\t\t unsigned long\t\t max_size) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_hash_table_lookup
      Src: /src/cairo/src/cairo-cache.c:200,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 202
    functionName: _cairo_cache_lookup
    functionSourceFile: /src/cairo/src/cairo-cache.c
    functionUses: []
    functionsReached:
    - _cairo_hash_table_lookup
    linkageType: ''
    returnType: void*
    signature: "void *_cairo_cache_lookup (cairo_cache_t\t *cache,\t\t cairo_cache_entry_t\
      \ *key) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_cache_remove_random
      Src: /src/cairo/src/cairo-cache.c:243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - cache
    - additional
    argTypes:
    - cairo_cache_t*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 246
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 246
    functionName: _cairo_cache_shrink_to_accommodate
    functionSourceFile: /src/cairo/src/cairo-cache.c
    functionUses: []
    functionsReached:
    - _cairo_cache_remove_random
    linkageType: ''
    returnType: void
    signature: "static void _cairo_cache_shrink_to_accommodate (cairo_cache_t *cache,\t\
      \t\t\t unsigned long additional) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_hash_table_foreach
      Src: /src/cairo/src/cairo-cache.c:313,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - cache
    - cache_callback
    - closure
    argTypes:
    - cairo_cache_t*
    - cairo_cache_callback_func_t
    - void*
    constantsTouched: []
    func_position:
      end: 316
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 316
    functionName: _cairo_cache_foreach
    functionSourceFile: /src/cairo/src/cairo-cache.c
    functionUses: []
    functionsReached:
    - _cairo_hash_table_foreach
    linkageType: ''
    returnType: void
    signature: "void _cairo_cache_foreach (cairo_cache_t\t\t *cache,\t\t cairo_cache_callback_func_t\
      \ cache_callback,\t\t void\t\t\t *closure) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _do_cairo_gstate_user_to_backend
      Src: /src/cairo/src/cairo-gstate-private.h:213,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - gstate
    - x
    - y
    argTypes:
    - cairo_gstate_t*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 214
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 214
    functionName: _cairo_gstate_user_to_backend
    functionSourceFile: /src/cairo/src/cairo-gstate-private.h
    functionUses: []
    functionsReached:
    - _do_cairo_gstate_user_to_backend
    linkageType: ''
    returnType: void
    signature: 'static inline void _cairo_gstate_user_to_backend (cairo_gstate_t *gstate,
      double *x, double *y) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _do_cairo_gstate_backend_to_user
      Src: /src/cairo/src/cairo-gstate-private.h:233,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - gstate
    - x
    - y
    argTypes:
    - cairo_gstate_t*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 234
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 234
    functionName: _cairo_gstate_backend_to_user
    functionSourceFile: /src/cairo/src/cairo-gstate-private.h
    functionUses: []
    functionsReached:
    - _do_cairo_gstate_backend_to_user
    linkageType: ''
    returnType: void
    signature: 'static inline void _cairo_gstate_backend_to_user (cairo_gstate_t *gstate,
      double *x, double *y) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _do_cairo_gstate_backend_to_user_distance
      Src: /src/cairo/src/cairo-gstate-private.h:243,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - gstate
    - x
    - y
    argTypes:
    - cairo_gstate_t*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 244
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 244
    functionName: _cairo_gstate_backend_to_user_distance
    functionSourceFile: /src/cairo/src/cairo-gstate-private.h
    functionUses: []
    functionsReached:
    - _do_cairo_gstate_backend_to_user_distance
    linkageType: ''
    returnType: void
    signature: 'static inline void _cairo_gstate_backend_to_user_distance (cairo_gstate_t
      *gstate, double *x, double *y) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _do_cairo_gstate_user_to_backend_distance
      Src: /src/cairo/src/cairo-gstate-private.h:223,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - gstate
    - x
    - y
    argTypes:
    - cairo_gstate_t*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 224
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 224
    functionName: _cairo_gstate_user_to_backend_distance
    functionSourceFile: /src/cairo/src/cairo-gstate-private.h
    functionUses: []
    functionsReached:
    - _do_cairo_gstate_user_to_backend_distance
    linkageType: ''
    returnType: void
    signature: 'static inline void _cairo_gstate_user_to_backend_distance (cairo_gstate_t
      *gstate, double *x, double *y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_hash_string
      Src: /src/cairo/src/cairo-svg-glyph-render.c:415,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - element
    argTypes:
    - cairo_svg_element_t*
    constantsTouched: []
    func_position:
      end: 416
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 416
    functionName: init_element_id_key
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - _cairo_hash_string
    linkageType: ''
    returnType: void
    signature: 'static void init_element_id_key (cairo_svg_element_t *element) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: string_match
      Src: /src/cairo/src/cairo-svg-glyph-render.c:452,1
    - Dst: strpbrk
      Src: /src/cairo/src/cairo-svg-glyph-render.c:457,1
    - Dst: lookup_element
      Src: /src/cairo/src/cairo-svg-glyph-render.c:460,1
    - Dst: _cairo_strndup
      Src: /src/cairo/src/cairo-svg-glyph-render.c:459,1
    - Dst: skip_char
      Src: /src/cairo/src/cairo-svg-glyph-render.c:453,1
    - Dst: free
      Src: /src/cairo/src/cairo-svg-glyph-render.c:461,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 465
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 465
    functionName: lookup_url_element
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - free
    - strpbrk
    - skip_char
    - lookup_element
    - string_match
    - _cairo_strndup
    linkageType: ''
    returnType: cairo_svg_element_t*
    signature: 'static cairo_svg_element_t *lookup_url_element (cairo_svg_glyph_render_t
      *svg_render, const char *url) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-svg-glyph-render.c:473,1
    - Dst: string_equal
      Src: /src/cairo/src/cairo-svg-glyph-render.c:476,1
    - Dst: _cairo_array_copy_element
      Src: /src/cairo/src/cairo-svg-glyph-render.c:475,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 480
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 480
    functionName: get_attribute
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - _cairo_array_num_elements
    - string_equal
    - _cairo_array_copy_element
    linkageType: ''
    returnType: char*
    signature: 'static const char *get_attribute (const cairo_svg_element_t *element,
      const char *name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:522,1
    - Dst: _cairo_strtod
      Src: /src/cairo/src/cairo-svg-glyph-render.c:524,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 4
    argNames:
    - element
    - name
    - scale
    - value
    argTypes:
    - cairo_svg_element_t*
    - char*
    - double
    - double*
    constantsTouched: []
    func_position:
      end: 533
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 533
    functionName: get_float_or_percent_attribute
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - _cairo_strtod
    - get_attribute
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t get_float_or_percent_attribute (const cairo_svg_element_t
      *element, const char *name, double scale, double *value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cairo/src/cairo-svg-glyph-render.c:875,1
    - Dst: printf
      Src: /src/cairo/src/cairo-svg-glyph-render.c:878,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - color
    argTypes:
    - cairo_svg_color_t*
    constantsTouched: []
    func_position:
      end: 884
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 884
    functionName: print_color
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'static void print_color (cairo_svg_color_t *color) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_float_or_percent_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1509,1
    - Dst: cairo_scale
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1520,1
    - Dst: cairo_scale
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1517,1
    - Dst: cairo_translate
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1518,1
    - Dst: get_float_or_percent_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1512,1
    - Dst: cairo_translate
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1521,1
    - Dst: get_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1527,1
    - Dst: get_path_params
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1530,1
    - Dst: print_warning
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1532,1
    - Dst: cairo_translate
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1535,1
    - Dst: cairo_scale
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1536,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 3
    argNames:
    - svg_render
    - element
    - end_tag
    argTypes:
    - cairo_svg_glyph_render_t*
    - cairo_svg_element_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 1543
      start: 1495
    functionDepth: 0
    functionLinenumber: 1495
    functionLinenumberEnd: 1543
    functionName: render_element_svg
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - print_warning
    - get_attribute
    - cairo_scale
    - get_float_or_percent_attribute
    - cairo_translate
    - get_path_params
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t render_element_svg (cairo_svg_glyph_render_t *svg_render,
      cairo_svg_element_t *element, cairo_bool_t end_tag) '
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 65
    argCount: 3
    argNames:
    - closure
    - data
    - length
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1803
      start: 1753
    functionDepth: 0
    functionLinenumber: 1753
    functionLinenumberEnd: 1803
    functionName: _read_png_from_base64
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _read_png_from_base64 (void *closure, unsigned
      char *data, unsigned int length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_float_or_percent_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2062,1
    - Dst: cairo_arc
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2066,1
    - Dst: get_float_or_percent_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2064,1
    - Dst: get_float_or_percent_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2063,1
    - Dst: draw_path
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2068,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - svg_render
    - element
    - end_tag
    argTypes:
    - cairo_svg_glyph_render_t*
    - cairo_svg_element_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 2070
      start: 2048
    functionDepth: 0
    functionLinenumber: 2048
    functionLinenumberEnd: 2070
    functionName: render_element_circle
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - cairo_arc
    - get_float_or_percent_attribute
    - draw_path
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t render_element_circle (cairo_svg_glyph_render_t
      *svg_render, cairo_svg_element_t *element, cairo_bool_t end_tag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string_equal
      Src: /src/cairo/src/cairo-svg-glyph-render.c:424,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - key_a
    - key_b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 425
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 425
    functionName: _element_id_equal
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - string_equal
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _element_id_equal (const void *key_a, const void
      *key_b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-svg-glyph-render.c:493,1
    - Dst: _cairo_array_copy_element
      Src: /src/cairo/src/cairo-svg-glyph-render.c:495,1
    - Dst: string_equal
      Src: /src/cairo/src/cairo-svg-glyph-render.c:500,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-svg-glyph-render.c:499,1
    - Dst: string_equal
      Src: /src/cairo/src/cairo-svg-glyph-render.c:496,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 504
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 504
    functionName: get_href_attribute
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - _cairo_array_num_elements
    - string_equal
    - strlen
    - _cairo_array_copy_element
    linkageType: ''
    returnType: char*
    signature: 'static const char *get_href_attribute (const cairo_svg_element_t *element) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_isspace
      Src: /src/cairo/src/cairo-svg-glyph-render.c:680,1
    - Dst: va_arg
      Src: /src/cairo/src/cairo-svg-glyph-render.c:692,1
    - Dst: _cairo_strtod
      Src: /src/cairo/src/cairo-svg-glyph-render.c:686,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 710
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 710
    functionName: parse_list_of_floats
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - _cairo_strtod
    - va_arg
    - _cairo_isspace
    linkageType: ''
    returnType: char*
    signature: 'static const char *parse_list_of_floats (const char *p, int num_required,
      int num_optional, cairo_bool_t *have_optional, va_list ap) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cairo/src/cairo-svg-glyph-render.c:889,1
    - Dst: print_color
      Src: /src/cairo/src/cairo-svg-glyph-render.c:893,1
    - Dst: printf
      Src: /src/cairo/src/cairo-svg-glyph-render.c:896,1
    - Dst: printf
      Src: /src/cairo/src/cairo-svg-glyph-render.c:892,1
    - Dst: printf
      Src: /src/cairo/src/cairo-svg-glyph-render.c:899,1
    - Dst: printf
      Src: /src/cairo/src/cairo-svg-glyph-render.c:902,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - paint
    argTypes:
    - cairo_svg_paint_t*
    constantsTouched: []
    func_position:
      end: 903
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 903
    functionName: print_paint
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - printf
    - print_color
    linkageType: ''
    returnType: void
    signature: 'static void print_paint (cairo_svg_paint_t *paint) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: va_end
      Src: /src/cairo/src/cairo-svg-glyph-render.c:930,1
    - Dst: printf
      Src: /src/cairo/src/cairo-svg-glyph-render.c:927,1
    - Dst: va_start
      Src: /src/cairo/src/cairo-svg-glyph-render.c:928,1
    - Dst: vprintf
      Src: /src/cairo/src/cairo-svg-glyph-render.c:929,1
    - Dst: putchar
      Src: /src/cairo/src/cairo-svg-glyph-render.c:931,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-svg-glyph-render.c:936,1
    - Dst: _cairo_isspace
      Src: /src/cairo/src/cairo-svg-glyph-render.c:941,1
    - Dst: putchar
      Src: /src/cairo/src/cairo-svg-glyph-render.c:942,1
    - Dst: putchar
      Src: /src/cairo/src/cairo-svg-glyph-render.c:944,1
    - Dst: putchar
      Src: /src/cairo/src/cairo-svg-glyph-render.c:946,1
    - Dst: putchar
      Src: /src/cairo/src/cairo-svg-glyph-render.c:949,1
    - Dst: CAIRO_PRINTF_FORMAT
      Src: /src/cairo/src/cairo-svg-glyph-render.c:912,1
    - Dst: putchar
      Src: /src/cairo/src/cairo-svg-glyph-render.c:950,1
    - Dst: printf
      Src: /src/cairo/src/cairo-svg-glyph-render.c:952,1
    - Dst: putchar
      Src: /src/cairo/src/cairo-svg-glyph-render.c:951,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 33
    argCount: 4
    argNames:
    - svg_render
    - string
    - location
    - fmt
    - '...'
    argTypes:
    - cairo_svg_glyph_render_t*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 954
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 954
    functionName: parse_error
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - printf
    - strlen
    - putchar
    - vprintf
    - CAIRO_PRINTF_FORMAT
    - va_end
    - va_start
    - _cairo_isspace
    linkageType: ''
    returnType: void
    signature: 'static void parse_error (cairo_svg_glyph_render_t *svg_render, const
      char *string, const char *location, const char *fmt, ...) CAIRO_PRINTF_FORMAT
      (4, 5);static voidparse_error (cairo_svg_glyph_render_t *svg_render, const char
      *string, const char *location, const char *fmt, ...) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: render_element_tree
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1482,1
    - Dst: cairo_pattern_create_rgb
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1490,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1493
      start: 1474
    functionDepth: 0
    functionLinenumber: 1474
    functionLinenumberEnd: 1493
    functionName: create_pattern
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - render_element_tree
    - cairo_pattern_create_rgb
    linkageType: ''
    returnType: cairo_pattern_t*
    signature: 'static cairo_pattern_t *create_pattern (cairo_svg_glyph_render_t *svg_render,
      cairo_svg_element_t *paint_server) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1557,1
    - Dst: string_equal
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1558,1
    - Dst: cairo_scale
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1562,1
    - Dst: cairo_translate
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1559,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - svg_render
    - element
    - end_tag
    argTypes:
    - cairo_svg_glyph_render_t*
    - cairo_svg_element_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 1568
      start: 1545
    functionDepth: 0
    functionLinenumber: 1545
    functionLinenumberEnd: 1568
    functionName: render_element_clip_path
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - cairo_translate
    - cairo_scale
    - string_equal
    - get_attribute
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t render_element_clip_path (cairo_svg_glyph_render_t
      *svg_render, cairo_svg_element_t *element, cairo_bool_t end_tag) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: get_float_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1820,1
    - Dst: get_href_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1832,1
    - Dst: get_float_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1823,1
    - Dst: get_float_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1829,1
    - Dst: get_float_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1826,1
    - Dst: string_match
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1836,1
    - Dst: cairo_image_surface_create_from_png_stream
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1841,1
    - Dst: cairo_surface_status
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1842,1
    - Dst: print_warning
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1843,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1844,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1858,1
    - Dst: cairo_image_surface_get_width
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1848,1
    - Dst: cairo_image_surface_get_height
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1849,1
    - Dst: cairo_translate
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1852,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1854,1
    - Dst: cairo_paint
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1855,1
    - Dst: cairo_scale
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1853,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 3
    argNames:
    - svg_render
    - element
    - end_tag
    argTypes:
    - cairo_svg_glyph_render_t*
    - cairo_svg_element_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 1861
      start: 1805
    functionDepth: 0
    functionLinenumber: 1805
    functionLinenumberEnd: 1861
    functionName: render_element_image
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - print_warning
    - get_href_attribute
    - cairo_image_surface_create_from_png_stream
    - get_float_attribute
    - cairo_surface_status
    - cairo_surface_destroy
    - cairo_image_surface_get_height
    - cairo_scale
    - cairo_translate
    - cairo_image_surface_get_width
    - string_match
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t render_element_image (cairo_svg_glyph_render_t
      *svg_render, cairo_svg_element_t *element, cairo_bool_t end_tag) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cairo/src/cairo-svg-glyph-render.c:435,1
    - Dst: _cairo_hash_table_lookup
      Src: /src/cairo/src/cairo-svg-glyph-render.c:440,1
    - Dst: init_element_id_key
      Src: /src/cairo/src/cairo-svg-glyph-render.c:439,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 441
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 441
    functionName: lookup_element
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - init_element_id_key
    - _cairo_hash_table_lookup
    - strlen
    linkageType: ''
    returnType: cairo_svg_element_t*
    signature: 'static cairo_svg_element_t *lookup_element (cairo_svg_glyph_render_t
      *svg_render, const char *id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_float_or_percent_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2087,1
    - Dst: get_float_or_percent_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2088,1
    - Dst: get_float_or_percent_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2090,1
    - Dst: get_float_or_percent_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2089,1
    - Dst: elliptical_arc
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2092,1
    - Dst: draw_path
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2093,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - svg_render
    - element
    - end_tag
    argTypes:
    - cairo_svg_glyph_render_t*
    - cairo_svg_element_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 2095
      start: 2072
    functionDepth: 0
    functionLinenumber: 2072
    functionLinenumberEnd: 2095
    functionName: render_element_ellipse
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - get_float_or_percent_attribute
    - draw_path
    - elliptical_arc
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t render_element_ellipse (cairo_svg_glyph_render_t
      *svg_render, cairo_svg_element_t *element, cairo_bool_t end_tag) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cairo_get_matrix
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2203,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2213,1
    - Dst: cairo_line_to
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2215,1
    - Dst: cos
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2227,1
    - Dst: cos
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2255,1
    - Dst: angle_between_vectors
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2262,1
    - Dst: angle_between_vectors
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2263,1
    - Dst: cairo_rotate
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2274,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2212,1
    - Dst: cos
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2228,1
    - Dst: sin
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2254,1
    - Dst: sqrt
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2232,1
    - Dst: sin
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2228,1
    - Dst: sqrt
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2246,1
    - Dst: cairo_save
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2271,1
    - Dst: cairo_translate
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2272,1
    - Dst: cairo_scale
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2273,1
    - Dst: _cairo_matrix_transformed_circle_major_axis
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2204,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2219,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2219,1
    - Dst: cairo_line_to
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2220,1
    - Dst: sin
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2255,1
    - Dst: sin
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2227,1
    - Dst: cairo_arc
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2276,1
    - Dst: cairo_arc_negative
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2278,1
    - Dst: cairo_restore
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2279,1
    - Dst: cairo_get_tolerance
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2204,1
    - Dst: cos
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2254,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 142
    argCount: 10
    argNames:
    - cr
    - x1
    - y1
    - x2
    - y2
    - rx
    - ry
    - rotate
    - large_flag
    - sweep_flag
    argTypes:
    - cairo_t*
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - cairo_bool_t
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 2280
      start: 2186
    functionDepth: 0
    functionLinenumber: 2186
    functionLinenumberEnd: 2280
    functionName: arc_path
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - fabs
    - cairo_get_tolerance
    - cairo_translate
    - cairo_line_to
    - cos
    - cairo_arc
    - sqrt
    - cairo_save
    - cairo_scale
    - angle_between_vectors
    - cairo_restore
    - cairo_rotate
    - _cairo_matrix_transformed_circle_major_axis
    - cairo_get_matrix
    - sin
    - cairo_arc_negative
    linkageType: ''
    returnType: void
    signature: 'static void arc_path (cairo_t *cr, double x1, double y1, double x2,
      double y2, double rx, double ry, double rotate, cairo_bool_t large_flag, cairo_bool_t
      sweep_flag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - origin_x
    - origin_y
    - x
    - y
    argTypes:
    - double
    - double
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 2298
      start: 2293
    functionDepth: 0
    functionLinenumber: 2293
    functionLinenumberEnd: 2298
    functionName: reflect_point
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void reflect_point (double origin_x, double origin_y, double
      *x, double *y) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2694,1
    - Dst: get_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2697,1
    - Dst: lookup_url_element
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2695,1
    - Dst: string_equal
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2698,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 2
    argNames:
    - svg_render
    - clip_path
    argTypes:
    - cairo_svg_glyph_render_t*
    - char*
    constantsTouched: []
    func_position:
      end: 2703
      start: 2687
    functionDepth: 0
    functionLinenumber: 2687
    functionLinenumberEnd: 2703
    functionName: clip_requires_bbox
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - strncmp
    - lookup_url_element
    - string_equal
    - get_attribute
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t clip_requires_bbox (cairo_svg_glyph_render_t *svg_render,
      const char *clip_path) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: string_equal
      Src: /src/cairo/src/cairo-svg-glyph-render.c:754,1
    - Dst: string_equal
      Src: /src/cairo/src/cairo-svg-glyph-render.c:755,1
    - Dst: string_equal
      Src: /src/cairo/src/cairo-svg-glyph-render.c:753,1
    - Dst: free
      Src: /src/cairo/src/cairo-svg-glyph-render.c:820,1
    - Dst: skip_char
      Src: /src/cairo/src/cairo-svg-glyph-render.c:810,1
    - Dst: skip_char
      Src: /src/cairo/src/cairo-svg-glyph-render.c:792,1
    - Dst: get_color
      Src: /src/cairo/src/cairo-svg-glyph-render.c:819,1
    - Dst: bsearch
      Src: /src/cairo/src/cairo-svg-glyph-render.c:828,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-svg-glyph-render.c:749,1
    - Dst: string_equal
      Src: /src/cairo/src/cairo-svg-glyph-render.c:751,1
    - Dst: sscanf
      Src: /src/cairo/src/cairo-svg-glyph-render.c:761,1
    - Dst: string_match
      Src: /src/cairo/src/cairo-svg-glyph-render.c:793,1
    - Dst: strpbrk
      Src: /src/cairo/src/cairo-svg-glyph-render.c:814,1
    - Dst: _cairo_strndup
      Src: /src/cairo/src/cairo-svg-glyph-render.c:818,1
    - Dst: sscanf
      Src: /src/cairo/src/cairo-svg-glyph-render.c:771,1
    - Dst: strncmp
      Src: /src/cairo/src/cairo-svg-glyph-render.c:780,1
    - Dst: sscanf
      Src: /src/cairo/src/cairo-svg-glyph-render.c:781,1
    - Dst: strncmp
      Src: /src/cairo/src/cairo-svg-glyph-render.c:789,1
    - Dst: strtol
      Src: /src/cairo/src/cairo-svg-glyph-render.c:797,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-svg-glyph-render.c:830,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 110
    argCount: 3
    argNames:
    - svg_render
    - s
    - color
    argTypes:
    - cairo_svg_glyph_render_t*
    - char*
    - cairo_svg_color_t*
    constantsTouched: []
    func_position:
      end: 842
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 842
    functionName: get_color
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - bsearch
    - strlen
    - free
    - sscanf
    - strpbrk
    - ARRAY_LENGTH
    - strtol
    - strncmp
    - get_color
    - skip_char
    - string_match
    - _cairo_strndup
    - string_equal
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t get_color (cairo_svg_glyph_render_t *svg_render,
      const char *s, cairo_svg_color_t *color) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1030,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1032,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1040,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1031,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1039,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1041,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1024
    functionDepth: 0
    functionLinenumber: 1024
    functionLinenumberEnd: 1046
    functionName: create_element
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - unlikely
    - _cairo_array_init
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_svg_element_t*
    signature: 'static cairo_svg_element_t *create_element (tag_type_t type, char
      *tag) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_float_or_percent_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1664,1
    - Dst: get_float_or_percent_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1673,1
    - Dst: get_float_or_percent_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1676,1
    - Dst: get_float_or_percent_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1670,1
    - Dst: get_float_or_percent_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1667,1
    - Dst: cairo_pattern_create_radial
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1679,1
    - Dst: apply_gradient_attributes
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1681,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - svg_render
    - element
    - end_tag
    argTypes:
    - cairo_svg_glyph_render_t*
    - cairo_svg_element_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 1683
      start: 1648
    functionDepth: 0
    functionLinenumber: 1648
    functionLinenumberEnd: 1683
    functionName: render_element_radial_gradient
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - apply_gradient_attributes
    - cairo_pattern_create_radial
    - get_float_or_percent_attribute
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t render_element_radial_gradient (cairo_svg_glyph_render_t
      *svg_render, cairo_svg_element_t *element, cairo_bool_t end_tag) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_push_group
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1739,1
    - Dst: cairo_paint_with_alpha
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1742,1
    - Dst: cairo_pop_group_to_source
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1741,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - svg_render
    - element
    - end_tag
    argTypes:
    - cairo_svg_glyph_render_t*
    - cairo_svg_element_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 1745
      start: 1729
    functionDepth: 0
    functionLinenumber: 1729
    functionLinenumberEnd: 1745
    functionName: render_element_g
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - cairo_pop_group_to_source
    - cairo_push_group
    - cairo_paint_with_alpha
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t render_element_g (cairo_svg_glyph_render_t *svg_render,
      cairo_svg_element_t *element, cairo_bool_t end_tag) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_float_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1876,1
    - Dst: get_float_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1877,1
    - Dst: get_href_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1879,1
    - Dst: lookup_element
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1883,1
    - Dst: cairo_translate
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1884,1
    - Dst: render_element_tree
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1885,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - svg_render
    - element
    - end_tag
    argTypes:
    - cairo_svg_glyph_render_t*
    - cairo_svg_element_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 1887
      start: 1863
    functionDepth: 0
    functionLinenumber: 1863
    functionLinenumberEnd: 1887
    functionName: render_element_use
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - get_href_attribute
    - get_float_attribute
    - render_element_tree
    - cairo_translate
    - lookup_element
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t render_element_use (cairo_svg_glyph_render_t *svg_render,
      cairo_svg_element_t *element, cairo_bool_t end_tag) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_float_or_percent_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2112,1
    - Dst: cairo_move_to
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2117,1
    - Dst: get_float_or_percent_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2113,1
    - Dst: get_float_or_percent_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2114,1
    - Dst: get_float_or_percent_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2115,1
    - Dst: cairo_line_to
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2118,1
    - Dst: draw_path
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2120,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - svg_render
    - element
    - end_tag
    argTypes:
    - cairo_svg_glyph_render_t*
    - cairo_svg_element_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 2122
      start: 2097
    functionDepth: 0
    functionLinenumber: 2097
    functionLinenumberEnd: 2122
    functionName: render_element_line
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - cairo_move_to
    - get_float_or_percent_attribute
    - draw_path
    - cairo_line_to
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t render_element_line (cairo_svg_glyph_render_t
      *svg_render, cairo_svg_element_t *element, cairo_bool_t end_tag) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pattern_requires_bbox
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2717,1
    - Dst: pattern_requires_bbox
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2720,1
    - Dst: string_equal
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2726,1
    - Dst: clip_requires_bbox
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2723,1
    - Dst: get_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2723,1
    - Dst: string_equal
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2727,1
    - Dst: string_equal
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2728,1
    - Dst: string_equal
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2729,1
    - Dst: string_equal
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2730,1
    - Dst: string_equal
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2735,1
    - Dst: string_equal
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2741,1
    - Dst: string_equal
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2742,1
    - Dst: string_equal
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2743,1
    - Dst: string_equal
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2736,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 36
    argCount: 2
    argNames:
    - svg_render
    - element
    argTypes:
    - cairo_svg_glyph_render_t*
    - cairo_svg_element_t*
    constantsTouched: []
    func_position:
      end: 2749
      start: 2705
    functionDepth: 0
    functionLinenumber: 2705
    functionLinenumberEnd: 2749
    functionName: need_bbox
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - clip_requires_bbox
    - pattern_requires_bbox
    - string_equal
    - get_attribute
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t need_bbox (cairo_svg_glyph_render_t *svg_render,
      cairo_svg_element_t *element) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lookup_element
      Src: /src/cairo/src/cairo-svg-glyph-render.c:3081,1
    - Dst: render_element_tree
      Src: /src/cairo/src/cairo-svg-glyph-render.c:3088,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - svg_render
    - element_id
    argTypes:
    - cairo_svg_glyph_render_t*
    - char*
    constantsTouched: []
    func_position:
      end: 3089
      start: 3074
    functionDepth: 0
    functionLinenumber: 3074
    functionLinenumberEnd: 3089
    functionName: render_element_tree_id
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - render_element_tree
    - lookup_element
    linkageType: ''
    returnType: void
    signature: 'static void render_element_tree_id (cairo_svg_glyph_render_t *svg_render,
      const char *element_id) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: string_match
      Src: /src/cairo/src/cairo-svg-glyph-render.c:851,1
    - Dst: lookup_url_element
      Src: /src/cairo/src/cairo-svg-glyph-render.c:855,1
    - Dst: strncmp
      Src: /src/cairo/src/cairo-svg-glyph-render.c:854,1
    - Dst: get_color
      Src: /src/cairo/src/cairo-svg-glyph-render.c:861,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - svg_render
    - p
    - paint
    argTypes:
    - cairo_svg_glyph_render_t*
    - char*
    - cairo_svg_paint_t*
    constantsTouched: []
    func_position:
      end: 866
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 866
    functionName: get_paint
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - strncmp
    - lookup_url_element
    - string_match
    - get_color
    linkageType: ''
    returnType: void
    signature: 'static void get_paint (cairo_svg_glyph_render_t *svg_render, const
      char *p, cairo_svg_paint_t *paint) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1059,1
    - Dst: strpbrk
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1062,1
    - Dst: parse_error
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1069,1
    - Dst: skip_space
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1060,1
    - Dst: parse_error
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1064,1
    - Dst: _cairo_strndup
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1073,1
    - Dst: skip_space
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1076,1
    - Dst: parse_error
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1078,1
    - Dst: skip_space
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1083,1
    - Dst: parse_error
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1087,1
    - Dst: parse_error
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1094,1
    - Dst: skip_space
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1106,1
    - Dst: strchr
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1092,1
    - Dst: memset
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1104,1
    - Dst: free
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1113,1
    - Dst: _cairo_strndup
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1098,1
    - Dst: append_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1101,1
    - Dst: free
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1112,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1115
    functionName: parse_attributes
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - free
    - strpbrk
    - skip_space
    - strchr
    - parse_error
    - append_attribute
    - memset
    - _cairo_strndup
    linkageType: ''
    returnType: char*
    signature: 'static const char *parse_attributes (cairo_svg_glyph_render_t *svg_render,
      const char *attributes, cairo_svg_element_t *element) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pattern_get_type
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1696,1
    - Dst: get_color
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1707,1
    - Dst: cairo_pattern_get_type
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1697,1
    - Dst: get_float_or_percent_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1700,1
    - Dst: get_float_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1703,1
    - Dst: get_color
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1708,1
    - Dst: get_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1708,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1710,1
    - Dst: cairo_pattern_get_rgba
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1718,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1724,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 3
    argNames:
    - svg_render
    - element
    - end_tag
    argTypes:
    - cairo_svg_glyph_render_t*
    - cairo_svg_element_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 1727
      start: 1685
    functionDepth: 0
    functionLinenumber: 1685
    functionLinenumberEnd: 1727
    functionName: render_element_stop
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - cairo_pattern_get_type
    - get_float_attribute
    - get_attribute
    - cairo_pattern_get_rgba
    - get_color
    - get_float_or_percent_attribute
    - cairo_pattern_add_color_stop_rgba
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t render_element_stop (cairo_svg_glyph_render_t
      *svg_render, cairo_svg_element_t *element, cairo_bool_t end_tag) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: cairo_push_group
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1906,1
    - Dst: create_pattern
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1928,1
    - Dst: cairo_append_path
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1938,1
    - Dst: cairo_paint_with_alpha
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1943,1
    - Dst: cairo_set_source
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1957,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1930,1
    - Dst: cairo_set_source
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1963,1
    - Dst: cairo_append_path
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1972,1
    - Dst: cairo_stroke
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1973,1
    - Dst: cairo_pop_group_to_source
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1984,1
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1898,1
    - Dst: cairo_copy_path
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1910,1
    - Dst: cairo_fill
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1899,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1917,1
    - Dst: cairo_push_group
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1936,1
    - Dst: cairo_fill
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1940,1
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1939,1
    - Dst: cairo_push_group
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1970,1
    - Dst: cairo_pop_group_to_source
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1976,1
    - Dst: cairo_set_source
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1923,1
    - Dst: cairo_set_source
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1929,1
    - Dst: cairo_pop_group_to_source
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1942,1
    - Dst: create_pattern
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1962,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1964,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1897,1
    - Dst: cairo_new_path
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1911,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1951,1
    - Dst: cairo_paint_with_alpha
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1977,1
    - Dst: cairo_path_destroy
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1981,1
    - Dst: cairo_paint_with_alpha
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1985,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 71
    argCount: 1
    argNames:
    - svg_render
    argTypes:
    - cairo_svg_glyph_render_t*
    constantsTouched: []
    func_position:
      end: 1988
      start: 1889
    functionDepth: 0
    functionLinenumber: 1889
    functionLinenumberEnd: 1988
    functionName: draw_path
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - cairo_copy_path
    - cairo_paint_with_alpha
    - cairo_new_path
    - cairo_set_source_rgba
    - create_pattern
    - cairo_pop_group_to_source
    - cairo_path_destroy
    - cairo_append_path
    - cairo_set_source
    - cairo_stroke
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_set_fill_rule
    - cairo_push_group
    - cairo_pattern_destroy
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t draw_path (cairo_svg_glyph_render_t *svg_render) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2139,1
    - Dst: get_path_params
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2141,1
    - Dst: print_warning
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2143,1
    - Dst: cairo_line_to
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2151,1
    - Dst: cairo_move_to
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2148,1
    - Dst: skip_space
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2153,1
    - Dst: string_equal
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2156,1
    - Dst: cairo_close_path
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2157,1
    - Dst: draw_path
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2159,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 3
    argNames:
    - svg_render
    - element
    - end_tag
    argTypes:
    - cairo_svg_glyph_render_t*
    - cairo_svg_element_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 2161
      start: 2124
    functionDepth: 0
    functionLinenumber: 2124
    functionLinenumberEnd: 2161
    functionName: render_element_polyline
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - print_warning
    - draw_path
    - get_attribute
    - cairo_line_to
    - string_equal
    - cairo_close_path
    - skip_space
    - cairo_move_to
    - get_path_params
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t render_element_polyline (cairo_svg_glyph_render_t
      *svg_render, cairo_svg_element_t *element, cairo_bool_t end_tag) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-glyph-render.c:3106,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-svg-glyph-render.c:3107,1
    - Dst: atoi
      Src: /src/cairo/src/cairo-svg-glyph-render.c:3120,1
    - Dst: cairo_pattern_reference
      Src: /src/cairo/src/cairo-svg-glyph-render.c:3136,1
    - Dst: init_graphics_state
      Src: /src/cairo/src/cairo-svg-glyph-render.c:3139,1
    - Dst: print_info
      Src: /src/cairo/src/cairo-svg-glyph-render.c:3143,1
    - Dst: print_error
      Src: /src/cairo/src/cairo-svg-glyph-render.c:3148,1
    - Dst: print_info
      Src: /src/cairo/src/cairo-svg-glyph-render.c:3144,1
    - Dst: render_element_tree_id
      Src: /src/cairo/src/cairo-svg-glyph-render.c:3170,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-svg-glyph-render.c:3113,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-svg-glyph-render.c:3119,1
    - Dst: print_info
      Src: /src/cairo/src/cairo-svg-glyph-render.c:3141,1
    - Dst: parse_svg
      Src: /src/cairo/src/cairo-svg-glyph-render.c:3147,1
    - Dst: printf
      Src: /src/cairo/src/cairo-svg-glyph-render.c:3154,1
    - Dst: snprintf
      Src: /src/cairo/src/cairo-svg-glyph-render.c:3169,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/src/cairo-svg-glyph-render.c:3175,1
    - Dst: restore_graphics_state
      Src: /src/cairo/src/cairo-svg-glyph-render.c:3181,1
    - Dst: free
      Src: /src/cairo/src/cairo-svg-glyph-render.c:3112,1
    - Dst: printf
      Src: /src/cairo/src/cairo-svg-glyph-render.c:3157,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/src/cairo-svg-glyph-render.c:3183,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/src/cairo-svg-glyph-render.c:3184,1
    - Dst: _cairo_hash_table_destroy
      Src: /src/cairo/src/cairo-svg-glyph-render.c:3189,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-svg-glyph-render.c:3105,1
    - Dst: _cairo_hash_table_create
      Src: /src/cairo/src/cairo-svg-glyph-render.c:3110,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-glyph-render.c:3111,1
    - Dst: getenv
      Src: /src/cairo/src/cairo-svg-glyph-render.c:3117,1
    - Dst: _cairo_pattern_create_foreground_marker
      Src: /src/cairo/src/cairo-svg-glyph-render.c:3135,1
    - Dst: print_info
      Src: /src/cairo/src/cairo-svg-glyph-render.c:3142,1
    - Dst: print_element
      Src: /src/cairo/src/cairo-svg-glyph-render.c:3156,1
    - Dst: render_element_tree_id
      Src: /src/cairo/src/cairo-svg-glyph-render.c:3164,1
    - Dst: free_elements
      Src: /src/cairo/src/cairo-svg-glyph-render.c:3178,1
    - Dst: free
      Src: /src/cairo/src/cairo-svg-glyph-render.c:3191,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 63
    argCount: 10
    argNames:
    - svg_document
    - first_glyph
    - last_glyph
    - glyph
    - units_per_em
    - palette
    - num_palette_entries
    - cr
    - foreground_source
    - foreground_source_used
    argTypes:
    - char*
    - unsigned long
    - unsigned long
    - unsigned long
    - double
    - FT_Color*
    - int
    - cairo_t*
    - cairo_pattern_t*
    - cairo_bool_t*
    constantsTouched: []
    func_position:
      end: 3194
      start: 3091
    functionDepth: 0
    functionLinenumber: 3091
    functionLinenumberEnd: 3194
    functionName: _cairo_render_svg_glyph
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - print_info
    - printf
    - _cairo_error
    - _cairo_hash_table_create
    - print_error
    - print_element
    - init_graphics_state
    - cairo_pattern_reference
    - render_element_tree_id
    - restore_graphics_state
    - _cairo_calloc
    - getenv
    - strlen
    - _cairo_pattern_create_foreground_marker
    - cairo_pattern_destroy
    - snprintf
    - free
    - parse_svg
    - _cairo_hash_table_destroy
    - free_elements
    - atoi
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_render_svg_glyph (const char *svg_document,\
      \ unsigned long first_glyph, unsigned long last_glyph, unsigned long glyph,\
      \ double units_per_em, FT_Color *palette, int num_palette_entries, cairo_t *cr,\
      \ cairo_pattern_t *foreground_source,\t\t\t cairo_bool_t *foreground_source_used) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pattern_create_foreground_marker
      Src: /src/cairo/src/cairo-svg-glyph-render.c:3227,1
    - Dst: _cairo_render_svg_glyph
      Src: /src/cairo/src/cairo-svg-glyph-render.c:3229,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/src/cairo-svg-glyph-render.c:3236,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 5
    argNames:
    - cr
    - svg_document
    - element
    - units_per_em
    - debug_level
    argTypes:
    - cairo_t*
    - char*
    - char*
    - double
    - int
    constantsTouched: []
    func_position:
      end: 3239
      start: 3218
    functionDepth: 0
    functionLinenumber: 3218
    functionLinenumberEnd: 3239
    functionName: _cairo_debug_svg_render
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_create_foreground_marker
    - _cairo_render_svg_glyph
    - cairo_pattern_destroy
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t _cairo_debug_svg_render (cairo_t *cr, const char *svg_document,
      const char *element, double units_per_em, int debug_level) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bsearch
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2971,1
    - Dst: print_warning
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2981,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2973,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - svg_render
    - element
    - end_tag
    argTypes:
    - cairo_svg_glyph_render_t*
    - cairo_svg_element_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 2985
      start: 2960
    functionDepth: 0
    functionLinenumber: 2960
    functionLinenumberEnd: 2985
    functionName: call_element
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - print_warning
    - ARRAY_LENGTH
    - bsearch
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t call_element (cairo_svg_glyph_render_t *svg_render,
      cairo_svg_element_t *element, cairo_bool_t end_tag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2957,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 2958
      start: 2951
    functionDepth: 0
    functionLinenumber: 2951
    functionLinenumberEnd: 2958
    functionName: _render_func_compare
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'static int _render_func_compare (const void *a, const void *b) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: string_equal
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2633,1
    - Dst: cairo_set_dash
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2634,1
    - Dst: _cairo_strtod
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2646,1
    - Dst: _cairo_isspace
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2640,1
    - Dst: cairo_set_dash
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2666,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 28
    argCount: 2
    argNames:
    - svg_render
    - element
    argTypes:
    - cairo_svg_glyph_render_t*
    - cairo_svg_element_t*
    constantsTouched: []
    func_position:
      end: 2667
      start: 2622
    functionDepth: 0
    functionLinenumber: 2622
    functionLinenumberEnd: 2667
    functionName: update_dash
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - _cairo_strtod
    - cairo_set_dash
    - _cairo_isspace
    - string_equal
    linkageType: ''
    returnType: void
    signature: 'static void update_dash (cairo_svg_glyph_render_t *svg_render, cairo_svg_element_t
      *element) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_isspace
      Src: /src/cairo/src/cairo-svg-glyph-render.c:389,1
    - Dst: _cairo_isspace
      Src: /src/cairo/src/cairo-svg-glyph-render.c:397,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 401
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 401
    functionName: skip_char
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - _cairo_isspace
    linkageType: ''
    returnType: char*
    signature: 'static const char *skip_char (const char *p, char c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/cairo/src/cairo-svg-glyph-render.c:721,1
    - Dst: parse_list_of_floats
      Src: /src/cairo/src/cairo-svg-glyph-render.c:722,1
    - Dst: va_end
      Src: /src/cairo/src/cairo-svg-glyph-render.c:723,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 725
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 725
    functionName: get_floats
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - parse_list_of_floats
    - va_start
    - va_end
    linkageType: ''
    returnType: char*
    signature: 'static const char *get_floats (const char *p, int num_required, int
      num_optional, cairo_bool_t *have_optional, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1999,1
    - Dst: cairo_translate
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2000,1
    - Dst: cairo_arc
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2002,1
    - Dst: cairo_restore
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2003,1
    - Dst: cairo_scale
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2001,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 7
    argNames:
    - svg_render
    - cx
    - cy
    - rx
    - ry
    - angle1
    - angle2
    argTypes:
    - cairo_svg_glyph_render_t*
    - double
    - double
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 2004
      start: 1990
    functionDepth: 0
    functionLinenumber: 1990
    functionLinenumberEnd: 2004
    functionName: elliptical_arc
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - cairo_arc
    - cairo_save
    - cairo_scale
    - cairo_restore
    - cairo_translate
    linkageType: ''
    returnType: void
    signature: 'static void elliptical_arc (cairo_svg_glyph_render_t *svg_render,
      double cx, double cy, double rx, double ry, double angle1, double angle2) '
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: get_path_params
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2338,1
    - Dst: skip_space
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2355,1
    - Dst: _cairo_isalpha
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2356,1
    - Dst: print_warning
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2372,1
    - Dst: cairo_line_to
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2381,1
    - Dst: cairo_line_to
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2401,1
    - Dst: cairo_line_to
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2421,1
    - Dst: get_current_point
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2464,1
    - Dst: print_warning
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2493,1
    - Dst: cairo_curve_to
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2508,1
    - Dst: print_warning
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2522,1
    - Dst: skip_space
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2573,1
    - Dst: _cairo_isalpha
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2574,1
    - Dst: get_path_params
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2555,1
    - Dst: get_path_params
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2520,1
    - Dst: cairo_close_path
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2362,1
    - Dst: skip_space
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2382,1
    - Dst: print_warning
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2393,1
    - Dst: get_path_params
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2370,1
    - Dst: _cairo_isalpha
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2383,1
    - Dst: print_warning
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2413,1
    - Dst: get_path_params
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2431,1
    - Dst: get_current_point
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2438,1
    - Dst: skip_space
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2447,1
    - Dst: _cairo_isalpha
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2448,1
    - Dst: get_current_point
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2561,1
    - Dst: _cairo_isalpha
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2510,1
    - Dst: skip_space
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2483,1
    - Dst: get_current_point
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2526,1
    - Dst: arc_path
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2566,1
    - Dst: print_warning
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2557,1
    - Dst: get_current_point
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2345,1
    - Dst: cairo_move_to
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2350,1
    - Dst: cairo_line_to
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2353,1
    - Dst: get_path_params
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2391,1
    - Dst: get_path_params
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2411,1
    - Dst: print_warning
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2433,1
    - Dst: cairo_curve_to
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2446,1
    - Dst: print_warning
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2460,1
    - Dst: reflect_point
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2474,1
    - Dst: get_current_point
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2497,1
    - Dst: _cairo_isalpha
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2484,1
    - Dst: get_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2319,1
    - Dst: _cairo_isspace
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2324,1
    - Dst: print_warning
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2340,1
    - Dst: get_current_point
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2397,1
    - Dst: get_current_point
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2377,1
    - Dst: skip_space
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2402,1
    - Dst: _cairo_isalpha
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2403,1
    - Dst: get_current_point
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2417,1
    - Dst: skip_space
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2422,1
    - Dst: _cairo_isalpha
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2423,1
    - Dst: get_path_params
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2458,1
    - Dst: skip_space
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2509,1
    - Dst: draw_path
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2583,1
    - Dst: reflect_point
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2534,1
    - Dst: skip_space
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2547,1
    - Dst: cairo_curve_to
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2543,1
    - Dst: _cairo_isalpha
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2548,1
    - Dst: get_path_params
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2491,1
    - Dst: cairo_curve_to
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2479,1
    CyclomaticComplexity: 84
    EdgeCount: 84
    ICount: 287
    argCount: 3
    argNames:
    - svg_render
    - element
    - end_tag
    argTypes:
    - cairo_svg_glyph_render_t*
    - cairo_svg_element_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 2585
      start: 2300
    functionDepth: 0
    functionLinenumber: 2300
    functionLinenumberEnd: 2585
    functionName: render_element_path
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - print_warning
    - _cairo_isalpha
    - draw_path
    - get_attribute
    - cairo_line_to
    - cairo_curve_to
    - cairo_close_path
    - arc_path
    - skip_space
    - get_path_params
    - get_current_point
    - cairo_move_to
    - reflect_point
    - _cairo_isspace
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t render_element_path (cairo_svg_glyph_render_t
      *svg_render, cairo_svg_element_t *element, cairo_bool_t end_tag) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: get_paint
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2785,1
    - Dst: string_equal
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2804,1
    - Dst: get_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2794,1
    - Dst: string_equal
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2802,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2799,1
    - Dst: string_equal
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2806,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2811,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2813,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2815,1
    - Dst: get_float_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2817,1
    - Dst: get_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2863,1
    - Dst: cairo_clip
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2871,1
    - Dst: get_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2764,1
    - Dst: parse_transform
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2767,1
    - Dst: get_fill_rule_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2790,1
    - Dst: get_fill_rule_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2792,1
    - Dst: get_paint
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2796,1
    - Dst: get_float_or_percent_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2798,1
    - Dst: get_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2801,1
    - Dst: string_equal
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2810,1
    - Dst: string_equal
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2812,1
    - Dst: string_equal
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2814,1
    - Dst: cairo_destroy
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2852,1
    - Dst: lookup_url_element
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2865,1
    - Dst: strdup
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2823,1
    - Dst: call_element
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2850,1
    - Dst: cairo_transform
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2768,1
    - Dst: get_color
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2778,1
    - Dst: get_float_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2788,1
    - Dst: get_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2809,1
    - Dst: get_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2820,1
    - Dst: call_element
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2847,1
    - Dst: cairo_recording_surface_ink_extents
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2854,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2859,1
    - Dst: get_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2776,1
    - Dst: get_float_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2780,1
    - Dst: get_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2783,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2803,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2805,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2807,1
    - Dst: cairo_set_miter_limit
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2818,1
    - Dst: need_bbox
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2838,1
    - Dst: cairo_recording_surface_create
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2839,1
    - Dst: strncmp
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2864,1
    - Dst: render_element_tree
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2848,1
    - Dst: render_element_tree
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2869,1
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2870,1
    - Dst: cairo_create
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2841,1
    - Dst: free
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2822,1
    - Dst: get_float_or_percent_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2826,1
    - Dst: update_dash
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2827,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 84
    argCount: 2
    argNames:
    - svg_render
    - element
    argTypes:
    - cairo_svg_glyph_render_t*
    - cairo_svg_element_t*
    constantsTouched: []
    func_position:
      end: 2875
      start: 2756
    functionDepth: 0
    functionLinenumber: 2756
    functionLinenumberEnd: 2875
    functionName: update_graphics_state
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - get_fill_rule_attribute
    - get_float_attribute
    - cairo_transform
    - cairo_set_line_width
    - cairo_set_line_join
    - cairo_set_fill_rule
    - cairo_recording_surface_create
    - string_equal
    - cairo_create
    - parse_transform
    - strdup
    - cairo_set_miter_limit
    - cairo_clip
    - get_paint
    - need_bbox
    - lookup_url_element
    - cairo_recording_surface_ink_extents
    - cairo_destroy
    - call_element
    - get_attribute
    - free
    - cairo_surface_destroy
    - render_element_tree
    - update_dash
    - strncmp
    - get_color
    - get_float_or_percent_attribute
    - cairo_set_line_cap
    linkageType: ''
    returnType: void
    signature: 'static void update_graphics_state (cairo_svg_glyph_render_t *svg_render,
      cairo_svg_element_t *element) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cairo/src/cairo-svg-glyph-render.c:409,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 410
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 410
    functionName: _color_name_compare
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'static int _color_name_compare (const void *a, const void *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/cairo/src/cairo-svg-glyph-render.c:732,1
    - Dst: parse_list_of_floats
      Src: /src/cairo/src/cairo-svg-glyph-render.c:733,1
    - Dst: va_end
      Src: /src/cairo/src/cairo-svg-glyph-render.c:734,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 736
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 736
    functionName: get_path_params
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - parse_list_of_floats
    - va_start
    - va_end
    linkageType: ''
    returnType: char*
    signature: 'static const char *get_path_params (const char *p, int num_params,
      ...) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_float_or_percent_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2023,1
    - Dst: get_float_or_percent_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2027,1
    - Dst: get_float_or_percent_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2024,1
    - Dst: get_float_or_percent_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2025,1
    - Dst: get_float_or_percent_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2026,1
    - Dst: get_float_or_percent_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2028,1
    - Dst: cairo_rectangle
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2031,1
    - Dst: cairo_move_to
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2033,1
    - Dst: cairo_line_to
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2034,1
    - Dst: elliptical_arc
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2035,1
    - Dst: elliptical_arc
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2037,1
    - Dst: cairo_line_to
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2040,1
    - Dst: elliptical_arc
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2041,1
    - Dst: draw_path
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2044,1
    - Dst: cairo_line_to
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2036,1
    - Dst: cairo_line_to
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2038,1
    - Dst: elliptical_arc
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2039,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 54
    argCount: 3
    argNames:
    - svg_render
    - element
    - end_tag
    argTypes:
    - cairo_svg_glyph_render_t*
    - cairo_svg_element_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 2046
      start: 2006
    functionDepth: 0
    functionLinenumber: 2006
    functionLinenumberEnd: 2046
    functionName: render_element_rect
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - draw_path
    - cairo_line_to
    - get_float_or_percent_attribute
    - elliptical_arc
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t render_element_rect (cairo_svg_glyph_render_t
      *svg_render, cairo_svg_element_t *element, cairo_bool_t end_tag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2592,1
    - Dst: get_paint
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2593,1
    - Dst: cairo_save
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2613,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2614,1
    - Dst: get_paint
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2594,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2615,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2616,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2617,1
    - Dst: cairo_set_miter_limit
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2618,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 1
    argNames:
    - svg_render
    argTypes:
    - cairo_svg_glyph_render_t*
    constantsTouched: []
    func_position:
      end: 2619
      start: 2587
    functionDepth: 0
    functionLinenumber: 2587
    functionLinenumberEnd: 2619
    functionName: init_graphics_state
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - get_paint
    - cairo_set_line_width
    - cairo_save
    - cairo_set_line_join
    - cairo_set_line_cap
    - cairo_set_source_rgb
    - cairo_set_miter_limit
    - _cairo_calloc
    linkageType: ''
    returnType: void
    signature: 'static void init_graphics_state (cairo_svg_glyph_render_t *svg_render) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: render_element
      Src: /src/cairo/src/cairo-svg-glyph-render.c:3046,1
    - Dst: render_element_tree
      Src: /src/cairo/src/cairo-svg-glyph-render.c:3064,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-svg-glyph-render.c:3060,1
    - Dst: _cairo_array_copy_element
      Src: /src/cairo/src/cairo-svg-glyph-render.c:3063,1
    - Dst: render_element
      Src: /src/cairo/src/cairo-svg-glyph-render.c:3053,1
    - Dst: render_element
      Src: /src/cairo/src/cairo-svg-glyph-render.c:3069,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 4
    argNames:
    - svg_render
    - element
    - display_element
    - children_only
    argTypes:
    - cairo_svg_glyph_render_t*
    - cairo_svg_element_t*
    - cairo_svg_element_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 3072
      start: 3030
    functionDepth: 0
    functionLinenumber: 3030
    functionLinenumberEnd: 3072
    functionName: render_element_tree
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - render_element_tree
    - _cairo_array_num_elements
    - render_element
    - _cairo_array_copy_element
    linkageType: ''
    returnType: void
    signature: 'static void render_element_tree (cairo_svg_glyph_render_t *svg_render,
      cairo_svg_element_t *element, cairo_svg_element_t *display_element, cairo_bool_t
      children_only) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_path_destroy
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2912,1
    - Dst: cairo_restore
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2916,1
    - Dst: free
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2913,1
    - Dst: free
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2914,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - svg_render
    argTypes:
    - cairo_svg_glyph_render_t*
    constantsTouched: []
    func_position:
      end: 2917
      start: 2904
    functionDepth: 0
    functionLinenumber: 2904
    functionLinenumberEnd: 2917
    functionName: restore_graphics_state
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - free
    - cairo_path_destroy
    - cairo_restore
    linkageType: ''
    returnType: void
    signature: 'static void restore_graphics_state (cairo_svg_glyph_render_t *svg_render) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: string_equal
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2999,1
    - Dst: update_graphics_state
      Src: /src/cairo/src/cairo-svg-glyph-render.c:3010,1
    - Dst: save_graphics_state
      Src: /src/cairo/src/cairo-svg-glyph-render.c:3009,1
    - Dst: string_equal
      Src: /src/cairo/src/cairo-svg-glyph-render.c:3002,1
    - Dst: call_element
      Src: /src/cairo/src/cairo-svg-glyph-render.c:3017,1
    - Dst: restore_graphics_state
      Src: /src/cairo/src/cairo-svg-glyph-render.c:3022,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 27
    argCount: 4
    argNames:
    - svg_render
    - element
    - end_tag
    - display_element
    argTypes:
    - cairo_svg_glyph_render_t*
    - cairo_svg_element_t*
    - cairo_bool_t
    - cairo_svg_element_t*
    constantsTouched: []
    func_position:
      end: 3026
      start: 2987
    functionDepth: 0
    functionLinenumber: 2987
    functionLinenumberEnd: 3026
    functionName: render_element
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - save_graphics_state
    - restore_graphics_state
    - call_element
    - update_graphics_state
    - string_equal
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t render_element (cairo_svg_glyph_render_t *svg_render,
      cairo_svg_element_t *element, cairo_bool_t end_tag, cairo_svg_element_t *display_element) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cairo/src/cairo-svg-glyph-render.c:343,1
    - Dst: printf
      Src: /src/cairo/src/cairo-svg-glyph-render.c:340,1
    - Dst: vprintf
      Src: /src/cairo/src/cairo-svg-glyph-render.c:347,1
    - Dst: va_start
      Src: /src/cairo/src/cairo-svg-glyph-render.c:346,1
    - Dst: va_end
      Src: /src/cairo/src/cairo-svg-glyph-render.c:348,1
    - Dst: printf
      Src: /src/cairo/src/cairo-svg-glyph-render.c:349,1
    - Dst: CAIRO_PRINTF_FORMAT
      Src: /src/cairo/src/cairo-svg-glyph-render.c:328,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 3
    argNames:
    - svg_render
    - level
    - fmt
    - '...'
    argTypes:
    - cairo_svg_glyph_render_t*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 351
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 351
    functionName: cairo_svg_glyph_render_printf
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - printf
    - vprintf
    - CAIRO_PRINTF_FORMAT
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: 'static void cairo_svg_glyph_render_printf (cairo_svg_glyph_render_t
      *svg_render, int level, const char *fmt, ...) CAIRO_PRINTF_FORMAT (3, 4);static
      voidcairo_svg_glyph_render_printf (cairo_svg_glyph_render_t *svg_render, int
      level, const char *fmt, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/cairo/src/cairo-svg-glyph-render.c:368,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-svg-glyph-render.c:369,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-svg-glyph-render.c:368,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - p
    - str
    argTypes:
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 373
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 373
    functionName: string_match
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - strncmp
    - strlen
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t string_match (const char **p, const char *str) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:562,1
    - Dst: string_equal
      Src: /src/cairo/src/cairo-svg-glyph-render.c:565,1
    - Dst: string_equal
      Src: /src/cairo/src/cairo-svg-glyph-render.c:563,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - element
    - name
    - default_value
    argTypes:
    - cairo_svg_element_t*
    - char*
    - cairo_fill_rule_t
    constantsTouched: []
    func_position:
      end: 569
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 569
    functionName: get_fill_rule_attribute
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - string_equal
    - get_attribute
    linkageType: ''
    returnType: cairo_fill_rule_t
    signature: 'static cairo_fill_rule_t get_fill_rule_attribute (const cairo_svg_element_t
      *element, const char *name, cairo_fill_rule_t default_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cairo/src/cairo-svg-glyph-render.c:612,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 613
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 613
    functionName: indent
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'static void indent(int level) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cairo/src/cairo-svg-glyph-render.c:963,1
    - Dst: skip_space
      Src: /src/cairo/src/cairo-svg-glyph-render.c:973,1
    - Dst: _cairo_strndup
      Src: /src/cairo/src/cairo-svg-glyph-render.c:971,1
    - Dst: strchr
      Src: /src/cairo/src/cairo-svg-glyph-render.c:968,1
    - Dst: string_equal
      Src: /src/cairo/src/cairo-svg-glyph-render.c:964,1
    - Dst: strchr
      Src: /src/cairo/src/cairo-svg-glyph-render.c:974,1
    - Dst: strchr
      Src: /src/cairo/src/cairo-svg-glyph-render.c:976,1
    - Dst: _cairo_strndup
      Src: /src/cairo/src/cairo-svg-glyph-render.c:980,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-svg-glyph-render.c:984,1
    - Dst: memset
      Src: /src/cairo/src/cairo-svg-glyph-render.c:987,1
    - Dst: skip_space
      Src: /src/cairo/src/cairo-svg-glyph-render.c:988,1
    - Dst: free
      Src: /src/cairo/src/cairo-svg-glyph-render.c:998,1
    - Dst: free
      Src: /src/cairo/src/cairo-svg-glyph-render.c:999,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-svg-glyph-render.c:992,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 2
    argNames:
    - element
    - attribute
    argTypes:
    - cairo_svg_element_t*
    - svg_attribute_t*
    constantsTouched: []
    func_position:
      end: 1001
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 1001
    functionName: append_attribute
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - free
    - skip_space
    - strchr
    - _cairo_array_append
    - memset
    - _cairo_strndup
    - string_equal
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t append_attribute (cairo_svg_element_t *element,
      svg_attribute_t *attribute) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: parse_error
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1142,1
    - Dst: create_element
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1164,1
    - Dst: _cairo_array_append_multiple
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1181,1
    - Dst: create_element
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1184,1
    - Dst: string_match
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1173,1
    - Dst: create_element
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1207,1
    - Dst: _cairo_array_append_multiple
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1214,1
    - Dst: add_child_element
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1217,1
    - Dst: parse_error
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1246,1
    - Dst: free
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1254,1
    - Dst: print_error
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1296,1
    - Dst: free_elements
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1325,1
    - Dst: skip_space
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1289,1
    - Dst: strchr
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1140,1
    - Dst: skip_space
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1149,1
    - Dst: string_match
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1163,1
    - Dst: string_match
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1183,1
    - Dst: create_element
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1174,1
    - Dst: strchr
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1185,1
    - Dst: parse_error
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1187,1
    - Dst: parse_error
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1231,1
    - Dst: parse_error
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1239,1
    - Dst: free
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1247,1
    - Dst: add_child_element
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1265,1
    - Dst: free_elements
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1330,1
    - Dst: free
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1264,1
    - Dst: add_child_element
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1302,1
    - Dst: strpbrk
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1275,1
    - Dst: parse_attributes
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1285,1
    - Dst: create_element
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1131,1
    - Dst: parse_error
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1156,1
    - Dst: strstr
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1165,1
    - Dst: parse_error
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1167,1
    - Dst: _cairo_array_append_multiple
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1191,1
    - Dst: add_child_element
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1198,1
    - Dst: strpbrk
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1229,1
    - Dst: _cairo_strndup
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1235,1
    - Dst: free
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1240,1
    - Dst: string_equal
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1250,1
    - Dst: create_element
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1284,1
    - Dst: _cairo_strndup
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1281,1
    - Dst: parse_error
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1277,1
    - Dst: strdup
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1131,1
    - Dst: _cairo_array_append_multiple
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1145,1
    - Dst: strstr
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1175,1
    - Dst: parse_error
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1177,1
    - Dst: _cairo_array_append_multiple
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1171,1
    - Dst: parse_error
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1194,1
    - Dst: strstr
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1208,1
    - Dst: parse_error
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1210,1
    - Dst: skip_space
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1237,1
    - Dst: parse_error
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1251,1
    - Dst: parse_error
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1316,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 164
    argCount: 2
    argNames:
    - svg_render
    - svg_document
    argTypes:
    - cairo_svg_glyph_render_t*
    - char*
    constantsTouched: []
    func_position:
      end: 1334
      start: 1117
    functionDepth: 0
    functionLinenumber: 1117
    functionLinenumberEnd: 1334
    functionName: parse_svg
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - add_child_element
    - parse_attributes
    - create_element
    - _cairo_array_append_multiple
    - free
    - strpbrk
    - free_elements
    - strchr
    - skip_space
    - strdup
    - print_error
    - parse_error
    - string_match
    - strstr
    - _cairo_strndup
    - string_equal
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t parse_svg (cairo_svg_glyph_render_t *svg_render,
      const char *svg_document) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1583,1
    - Dst: cairo_matrix_init_identity
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1587,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1589,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1592,1
    - Dst: string_equal
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1584,1
    - Dst: get_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1597,1
    - Dst: parse_transform
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1598,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1599,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1601,1
    - Dst: cairo_pattern_set_matrix
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1602,1
    - Dst: string_equal
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1607,1
    - Dst: string_equal
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1605,1
    - Dst: get_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1604,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1608,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1606,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 2
    argNames:
    - svg_render
    - element
    argTypes:
    - cairo_svg_glyph_render_t*
    - cairo_svg_element_t*
    constantsTouched: []
    func_position:
      end: 1609
      start: 1570
    functionDepth: 0
    functionLinenumber: 1570
    functionLinenumberEnd: 1609
    functionName: apply_gradient_attributes
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - cairo_matrix_scale
    - get_attribute
    - cairo_matrix_translate
    - cairo_pattern_set_matrix
    - cairo_pattern_set_extend
    - cairo_matrix_init_identity
    - parse_transform
    - cairo_matrix_invert
    - cairo_matrix_multiply
    - string_equal
    linkageType: ''
    returnType: void
    signature: 'static void apply_gradient_attributes (cairo_svg_glyph_render_t *svg_render,
      cairo_svg_element_t *element) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2170,1
    - Dst: acos
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2179,1
    - Dst: sqrt
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2171,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 4
    argNames:
    - ux
    - uy
    - vx
    - vy
    argTypes:
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 2184
      start: 2163
    functionDepth: 0
    functionLinenumber: 2163
    functionLinenumberEnd: 2184
    functionName: angle_between_vectors
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - sqrt
    - acos
    linkageType: ''
    returnType: double
    signature: 'static double angle_between_vectors (double ux, double uy, double
      vx, double vy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_isspace
      Src: /src/cairo/src/cairo-svg-glyph-render.c:378,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 382
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 382
    functionName: skip_space
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - _cairo_isspace
    linkageType: ''
    returnType: char*
    signature: 'static const char *skip_space (const char *p) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cairo/src/cairo-svg-glyph-render.c:357,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 363
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 363
    functionName: string_equal
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t string_equal (const char *s1, const char *s2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-svg-glyph-render.c:577,1
    - Dst: _cairo_array_copy_element
      Src: /src/cairo/src/cairo-svg-glyph-render.c:580,1
    - Dst: free_elements
      Src: /src/cairo/src/cairo-svg-glyph-render.c:581,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-svg-glyph-render.c:585,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-svg-glyph-render.c:583,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-svg-glyph-render.c:587,1
    - Dst: free
      Src: /src/cairo/src/cairo-svg-glyph-render.c:588,1
    - Dst: free
      Src: /src/cairo/src/cairo-svg-glyph-render.c:589,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-svg-glyph-render.c:591,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-svg-glyph-render.c:592,1
    - Dst: _cairo_hash_table_remove
      Src: /src/cairo/src/cairo-svg-glyph-render.c:597,1
    - Dst: free
      Src: /src/cairo/src/cairo-svg-glyph-render.c:598,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/src/cairo-svg-glyph-render.c:602,1
    - Dst: free
      Src: /src/cairo/src/cairo-svg-glyph-render.c:594,1
    - Dst: free
      Src: /src/cairo/src/cairo-svg-glyph-render.c:604,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - svg_render
    - element
    argTypes:
    - cairo_svg_glyph_render_t*
    - cairo_svg_element_t*
    constantsTouched: []
    func_position:
      end: 605
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 605
    functionName: free_elements
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    - free
    - _cairo_array_num_elements
    - free_elements
    - _cairo_array_copy_element
    - _cairo_array_fini
    - _cairo_hash_table_remove
    - cairo_pattern_destroy
    linkageType: ''
    returnType: void
    signature: 'static void free_elements (cairo_svg_glyph_render_t *svg_render, cairo_svg_element_t
      *element) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: indent
      Src: /src/cairo/src/cairo-svg-glyph-render.c:621,1
    - Dst: printf
      Src: /src/cairo/src/cairo-svg-glyph-render.c:623,1
    - Dst: _cairo_array_copy_element
      Src: /src/cairo/src/cairo-svg-glyph-render.c:654,1
    - Dst: strndup
      Src: /src/cairo/src/cairo-svg-glyph-render.c:618,1
    - Dst: printf
      Src: /src/cairo/src/cairo-svg-glyph-render.c:629,1
    - Dst: printf
      Src: /src/cairo/src/cairo-svg-glyph-render.c:634,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-svg-glyph-render.c:635,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-svg-glyph-render.c:637,1
    - Dst: printf
      Src: /src/cairo/src/cairo-svg-glyph-render.c:638,1
    - Dst: print_element
      Src: /src/cairo/src/cairo-svg-glyph-render.c:655,1
    - Dst: printf
      Src: /src/cairo/src/cairo-svg-glyph-render.c:659,1
    - Dst: free
      Src: /src/cairo/src/cairo-svg-glyph-render.c:662,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-svg-glyph-render.c:619,1
    - Dst: printf
      Src: /src/cairo/src/cairo-svg-glyph-render.c:627,1
    - Dst: string_equal
      Src: /src/cairo/src/cairo-svg-glyph-render.c:631,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-svg-glyph-render.c:651,1
    - Dst: _cairo_array_index_const
      Src: /src/cairo/src/cairo-svg-glyph-render.c:618,1
    - Dst: printf
      Src: /src/cairo/src/cairo-svg-glyph-render.c:625,1
    - Dst: printf
      Src: /src/cairo/src/cairo-svg-glyph-render.c:644,1
    - Dst: printf
      Src: /src/cairo/src/cairo-svg-glyph-render.c:641,1
    - Dst: printf
      Src: /src/cairo/src/cairo-svg-glyph-render.c:646,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 3
    argNames:
    - element
    - recurse
    - level
    argTypes:
    - cairo_svg_element_t*
    - cairo_bool_t
    - int
    constantsTouched: []
    func_position:
      end: 663
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 663
    functionName: print_element
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - _cairo_array_index_const
    - printf
    - _cairo_array_index
    - free
    - _cairo_array_num_elements
    - strndup
    - indent
    - _cairo_array_copy_element
    - print_element
    - string_equal
    linkageType: ''
    returnType: void
    signature: 'static void print_element (cairo_svg_element_t *element, cairo_bool_t
      recurse, int level) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1011,1
    - Dst: _cairo_hash_table_insert
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1015,1
    - Dst: strdup
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1013,1
    - Dst: init_element_id_key
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1014,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1016,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1020,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - svg_render
    - parent
    - child
    argTypes:
    - cairo_svg_glyph_render_t*
    - cairo_svg_element_t*
    - cairo_svg_element_t*
    constantsTouched: []
    func_position:
      end: 1022
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1022
    functionName: add_child_element
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - get_attribute
    - _cairo_hash_table_insert
    - init_element_id_key
    - strdup
    - _cairo_array_append
    - unlikely
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t add_child_element (cairo_svg_glyph_render_t *svg_render,
      cairo_svg_element_t *parent, cairo_svg_element_t *child) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: get_floats
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1356,1
    - Dst: _cairo_isspace
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1345,1
    - Dst: string_match
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1366,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1382,1
    - Dst: skip_char
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1403,1
    - Dst: skip_char
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1411,1
    - Dst: string_match
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1425,1
    - Dst: get_floats
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1430,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1441,1
    - Dst: skip_char
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1452,1
    - Dst: cairo_matrix_init_identity
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1343,1
    - Dst: skip_char
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1352,1
    - Dst: skip_char
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1360,1
    - Dst: get_floats
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1389,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1400,1
    - Dst: string_match
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1384,1
    - Dst: cairo_matrix_rotate
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1422,1
    - Dst: skip_char
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1434,1
    - Dst: cairo_matrix_init_identity
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1439,1
    - Dst: tan
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1440,1
    - Dst: skip_char
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1367,1
    - Dst: get_floats
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1371,1
    - Dst: string_match
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1402,1
    - Dst: skip_char
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1393,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1421,1
    - Dst: skip_char
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1426,1
    - Dst: cairo_matrix_init_identity
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1457,1
    - Dst: tan
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1458,1
    - Dst: string_match
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1443,1
    - Dst: string_match
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1351,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1364,1
    - Dst: skip_char
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1375,1
    - Dst: skip_char
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1385,1
    - Dst: get_floats
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1407,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1423,1
    - Dst: skip_char
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1444,1
    - Dst: get_floats
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1448,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1459,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 108
    argCount: 2
    argNames:
    - p
    - matrix
    argTypes:
    - char*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 1466
      start: 1336
    functionDepth: 0
    functionLinenumber: 1336
    functionLinenumberEnd: 1466
    functionName: parse_transform
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - cairo_matrix_scale
    - get_floats
    - cairo_matrix_translate
    - cairo_matrix_init_identity
    - tan
    - skip_char
    - cairo_matrix_rotate
    - string_match
    - cairo_matrix_multiply
    - _cairo_isspace
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t parse_transform (const char *p, cairo_matrix_t
      *matrix) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_float_or_percent_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1627,1
    - Dst: get_float_or_percent_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1633,1
    - Dst: get_float_or_percent_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1630,1
    - Dst: get_float_or_percent_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1636,1
    - Dst: abort
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1640,1
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1642,1
    - Dst: apply_gradient_attributes
      Src: /src/cairo/src/cairo-svg-glyph-render.c:1644,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 3
    argNames:
    - svg_render
    - element
    - end_tag
    argTypes:
    - cairo_svg_glyph_render_t*
    - cairo_svg_element_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 1646
      start: 1611
    functionDepth: 0
    functionLinenumber: 1611
    functionLinenumberEnd: 1646
    functionName: render_element_linear_gradient
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - abort
    - cairo_pattern_create_linear
    - get_float_or_percent_attribute
    - apply_gradient_attributes
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t render_element_linear_gradient (cairo_svg_glyph_render_t
      *svg_render, cairo_svg_element_t *element, cairo_bool_t end_tag) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_has_current_point
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2285,1
    - Dst: cairo_get_current_point
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2286,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - svg_render
    - x
    - y
    argTypes:
    - cairo_svg_glyph_render_t*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 2291
      start: 2282
    functionDepth: 0
    functionLinenumber: 2282
    functionLinenumberEnd: 2291
    functionName: get_current_point
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - cairo_has_current_point
    - cairo_get_current_point
    linkageType: ''
    returnType: void
    signature: 'static void get_current_point (cairo_svg_glyph_render_t *svg_render,
      double *x, double *y) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:546,1
    - Dst: _cairo_strtod
      Src: /src/cairo/src/cairo-svg-glyph-render.c:548,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - element
    - name
    - value
    argTypes:
    - cairo_svg_element_t*
    - char*
    - double*
    constantsTouched: []
    func_position:
      end: 555
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 555
    functionName: get_float_attribute
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - _cairo_strtod
    - get_attribute
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t get_float_attribute (const cairo_svg_element_t
      *element, const char *name, double *value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: string_equal
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2675,1
    - Dst: string_equal
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2679,1
    - Dst: get_attribute
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2678,1
    - Dst: string_equal
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2676,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - svg_render
    - paint_server
    argTypes:
    - cairo_svg_glyph_render_t*
    - cairo_svg_element_t*
    constantsTouched: []
    func_position:
      end: 2685
      start: 2669
    functionDepth: 0
    functionLinenumber: 2669
    functionLinenumberEnd: 2685
    functionName: pattern_requires_bbox
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - get_attribute
    - string_equal
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t pattern_requires_bbox (cairo_svg_glyph_render_t
      *svg_render, cairo_svg_element_t *paint_server) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2882,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2884,1
    - Dst: strdup
      Src: /src/cairo/src/cairo-svg-glyph-render.c:2896,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - svg_render
    argTypes:
    - cairo_svg_glyph_render_t*
    constantsTouched: []
    func_position:
      end: 2902
      start: 2877
    functionDepth: 0
    functionLinenumber: 2877
    functionLinenumberEnd: 2902
    functionName: save_graphics_state
    functionSourceFile: /src/cairo/src/cairo-svg-glyph-render.c
    functionUses: []
    functionsReached:
    - strdup
    - cairo_save
    - _cairo_calloc
    linkageType: ''
    returnType: void
    signature: 'static void save_graphics_state (cairo_svg_glyph_render_t *svg_render) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-quartz-surface.c:289,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-quartz-surface.c:290,1
    - Dst: CGContextAddLineToPoint
      Src: /src/cairo/src/cairo-quartz-surface.c:292,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - closure
    - point
    argTypes:
    - void*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 294
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 294
    functionName: _cairo_path_to_quartz_context_line_to
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - CGContextAddLineToPoint
    - _cairo_fixed_to_double
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_path_to_quartz_context_line_to (void\
      \ *closure,\t\t\t\t const cairo_point_t *point) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CGContextClosePath
      Src: /src/cairo/src/cairo-quartz-surface.c:321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - closure
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 323
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 323
    functionName: _cairo_path_to_quartz_context_close_path
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - CGContextClosePath
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_path_to_quartz_context_close_path (void
      *closure) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_quartz_surface_set_cairo_operator
      Src: /src/cairo/src/cairo-quartz-surface.c:1146,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-quartz-surface.c:1147,1
    - Dst: _cairo_quartz_filter_to_quartz
      Src: /src/cairo/src/cairo-quartz-surface.c:1163,1
    - Dst: _cairo_quartz_create_color_space
      Src: /src/cairo/src/cairo-quartz-surface.c:1166,1
    - Dst: CGContextSetStrokeColorWithColor
      Src: /src/cairo/src/cairo-quartz-surface.c:1214,1
    - Dst: CGLayerGetContext
      Src: /src/cairo/src/cairo-quartz-surface.c:1198,1
    - Dst: CGColorRelease
      Src: /src/cairo/src/cairo-quartz-surface.c:1217,1
    - Dst: _cairo_rectangle_union
      Src: /src/cairo/src/cairo-quartz-surface.c:1231,1
    - Dst: _cairo_quartz_setup_pattern_source
      Src: /src/cairo/src/cairo-quartz-surface.c:1238,1
    - Dst: CGContextSaveGState
      Src: /src/cairo/src/cairo-quartz-surface.c:1155,1
    - Dst: CGRectIntegral
      Src: /src/cairo/src/cairo-quartz-surface.c:1157,1
    - Dst: _cairo_quartz_create_color_space
      Src: /src/cairo/src/cairo-quartz-surface.c:1207,1
    - Dst: CGColorRelease
      Src: /src/cairo/src/cairo-quartz-surface.c:1170,1
    - Dst: CGContextSetFillColorWithColor
      Src: /src/cairo/src/cairo-quartz-surface.c:1167,1
    - Dst: _cairo_surface_clipper_set_clip
      Src: /src/cairo/src/cairo-quartz-surface.c:1142,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-quartz-surface.c:1143,1
    - Dst: _cairo_quartz_black
      Src: /src/cairo/src/cairo-quartz-surface.c:1166,1
    - Dst: _cairo_operator_bounded_by_mask
      Src: /src/cairo/src/cairo-quartz-surface.c:1192,1
    - Dst: _cairo_quartz_create_cgcolor
      Src: /src/cairo/src/cairo-quartz-surface.c:1207,1
    - Dst: CGContextSetFillColorWithColor
      Src: /src/cairo/src/cairo-quartz-surface.c:1215,1
    - Dst: _cairo_quartz_setup_gradient_source
      Src: /src/cairo/src/cairo-quartz-surface.c:1233,1
    - Dst: CGContextGetClipBoundingBox
      Src: /src/cairo/src/cairo-quartz-surface.c:1156,1
    - Dst: CGLayerCreateWithContext
      Src: /src/cairo/src/cairo-quartz-surface.c:1195,1
    - Dst: CGContextTranslateCTM
      Src: /src/cairo/src/cairo-quartz-surface.c:1200,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 61
    argCount: 2
    argNames:
    - state
    - composite
    argTypes:
    - cairo_quartz_drawing_state_t*
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 1241
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1241
    functionName: _cairo_quartz_setup_state
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - _cairo_quartz_setup_pattern_source
    - CGContextGetClipBoundingBox
    - CGColorRelease
    - _cairo_quartz_create_color_space
    - _cairo_operator_bounded_by_mask
    - _cairo_quartz_filter_to_quartz
    - CGContextSetFillColorWithColor
    - _cairo_rectangle_union
    - CGLayerGetContext
    - CGContextTranslateCTM
    - CGContextSaveGState
    - _cairo_quartz_create_cgcolor
    - _cairo_surface_clipper_set_clip
    - _cairo_quartz_surface_set_cairo_operator
    - CGRectIntegral
    - _cairo_quartz_setup_gradient_source
    - CGLayerCreateWithContext
    - _cairo_quartz_black
    - CGContextSetStrokeColorWithColor
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_quartz_setup_state (cairo_quartz_drawing_state_t\
      \ *state,\t\t\t cairo_composite_rectangles_t *composite) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_quartz_surface_unmap_image
      Src: /src/cairo/src/cairo-quartz-surface.c:1460,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - abstract_surface
    - image
    - image_extra
    argTypes:
    - void*
    - cairo_image_surface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1461
      start: 1455
    functionDepth: 0
    functionLinenumber: 1455
    functionLinenumberEnd: 1461
    functionName: _cairo_quartz_surface_release_source_image
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - _cairo_quartz_surface_unmap_image
    linkageType: ''
    returnType: void
    signature: "static void _cairo_quartz_surface_release_source_image (void *abstract_surface,\t\
      \t\t\t\t cairo_image_surface_t *image,\t\t\t\t\t void *image_extra) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_quartz_setup_state
      Src: /src/cairo/src/cairo-quartz-surface.c:1639,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-quartz-surface.c:1640,1
    - Dst: CGContextSetAlpha
      Src: /src/cairo/src/cairo-quartz-surface.c:1643,1
    - Dst: _cairo_quartz_draw_source
      Src: /src/cairo/src/cairo-quartz-surface.c:1644,1
    - Dst: _cairo_quartz_teardown_state
      Src: /src/cairo/src/cairo-quartz-surface.c:1646,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - surface
    - extents
    argTypes:
    - cairo_quartz_surface_t*
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 1649
      start: 1631
    functionDepth: 0
    functionLinenumber: 1631
    functionLinenumberEnd: 1649
    functionName: _cairo_quartz_cg_mask_with_solid
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - _cairo_quartz_setup_state
    - CGContextSetAlpha
    - _cairo_quartz_draw_source
    - _cairo_quartz_teardown_state
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_quartz_cg_mask_with_solid (cairo_quartz_surface_t\
      \ *surface,\t\t\t\t cairo_composite_rectangles_t *extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_compositor_glyphs
      Src: /src/cairo/src/cairo-quartz-surface.c:2043,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 7
    argNames:
    - surface
    - op
    - source
    - glyphs
    - num_glyphs
    - scaled_font
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_glyph_t*
    - int
    - cairo_scaled_font_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 2047
      start: 2034
    functionDepth: 0
    functionLinenumber: 2034
    functionLinenumberEnd: 2047
    functionName: _cairo_quartz_surface_glyphs
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - _cairo_compositor_glyphs
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_quartz_surface_glyphs (void *surface,\t\
      \t\t cairo_operator_t op,\t\t\t const cairo_pattern_t *source,\t\t\t cairo_glyph_t\
      \ *glyphs,\t\t\t int num_glyphs,\t\t\t cairo_scaled_font_t *scaled_font,\t\t\
      \t const cairo_clip_t *clip) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _is_quartz_surface
      Src: /src/cairo/src/cairo-quartz-surface.c:2381,1
    - Dst: _cairo_quartz_is_zero_surface
      Src: /src/cairo/src/cairo-quartz-surface.c:2381,1
    - Dst: _cairo_surface_is_quartz
      Src: /src/cairo/src/cairo-quartz-surface.c:2384,1
    - Dst: _cairo_quartz_is_cgcontext_bitmap_context
      Src: /src/cairo/src/cairo-quartz-surface.c:2385,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-quartz-surface.c:2388,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-quartz-surface.c:2390,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-quartz-surface.c:2391,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-quartz-surface.c:2391,1
    - Dst: memset
      Src: /src/cairo/src/cairo-quartz-surface.c:2393,1
    - Dst: cairo_quartz_surface_get_cg_context
      Src: /src/cairo/src/cairo-quartz-surface.c:2394,1
    - Dst: CGBitmapContextCreateImage
      Src: /src/cairo/src/cairo-quartz-surface.c:2398,1
    - Dst: _cairo_surface_init
      Src: /src/cairo/src/cairo-quartz-surface.c:2395,1
    - Dst: _cairo_surface_attach_snapshot
      Src: /src/cairo/src/cairo-quartz-surface.c:2399,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-quartz-surface.c:2400,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2403
      start: 2376
    functionDepth: 0
    functionLinenumber: 2376
    functionLinenumberEnd: 2403
    functionName: _cairo_quartz_snapshot_create
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - CGBitmapContextCreateImage
    - _cairo_surface_init
    - _cairo_surface_attach_snapshot
    - cairo_quartz_surface_get_cg_context
    - _cairo_error
    - unlikely
    - _cairo_surface_create_in_error
    - cairo_surface_destroy
    - _cairo_quartz_is_zero_surface
    - _is_quartz_surface
    - memset
    - _cairo_quartz_is_cgcontext_bitmap_context
    - _cairo_surface_is_quartz
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'cairo_surface_t *_cairo_quartz_snapshot_create (cairo_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-quartz-surface.c:277,1
    - Dst: CGContextMoveToPoint
      Src: /src/cairo/src/cairo-quartz-surface.c:280,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-quartz-surface.c:278,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - closure
    - point
    argTypes:
    - void*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 282
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 282
    functionName: _cairo_path_to_quartz_context_move_to
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - CGContextMoveToPoint
    - _cairo_fixed_to_double
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_path_to_quartz_context_move_to (void\
      \ *closure,\t\t\t\t const cairo_point_t *point) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-quartz-surface.c:306,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-quartz-surface.c:308,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-quartz-surface.c:310,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-quartz-surface.c:307,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-quartz-surface.c:309,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-quartz-surface.c:311,1
    - Dst: CGContextAddCurveToPoint
      Src: /src/cairo/src/cairo-quartz-surface.c:313,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - closure
    - p0
    - p1
    - p2
    argTypes:
    - void*
    - cairo_point_t*
    - cairo_point_t*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 315
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 315
    functionName: _cairo_path_to_quartz_context_curve_to
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_to_double
    - CGContextAddCurveToPoint
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_path_to_quartz_context_curve_to (void\
      \ *closure,\t\t\t\t\tconst cairo_point_t *p0,\t\t\t\t\tconst cairo_point_t *p1,\t\
      \t\t\t\tconst cairo_point_t *p2) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CGContextBeginPath
      Src: /src/cairo/src/cairo-quartz-surface.c:331,1
    - Dst: _cairo_path_fixed_interpret
      Src: /src/cairo/src/cairo-quartz-surface.c:332,1
    - Dst: assert
      Src: /src/cairo/src/cairo-quartz-surface.c:339,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - path
    - closure
    argTypes:
    - cairo_path_fixed_t*
    - CGContextRef
    constantsTouched: []
    func_position:
      end: 340
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 340
    functionName: _cairo_quartz_cairo_path_to_quartz_context
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_interpret
    - CGContextBeginPath
    - assert
    linkageType: ''
    returnType: void
    signature: "static void _cairo_quartz_cairo_path_to_quartz_context (const cairo_path_fixed_t\
      \ *path,\t\t\t\t\t CGContextRef closure) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/cairo/src/cairo-quartz-surface.c:635,1
    - Dst: _cairo_matrix_transform_bounding_box
      Src: /src/cairo/src/cairo-quartz-surface.c:642,1
    - Dst: _cairo_matrix_transformed_circle_major_axis
      Src: /src/cairo/src/cairo-quartz-surface.c:636,1
    - Dst: _cairo_matrix_compute_determinant
      Src: /src/cairo/src/cairo-quartz-surface.c:635,1
    - Dst: _cairo_gradient_pattern_box_to_parameter
      Src: /src/cairo/src/cairo-quartz-surface.c:647,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-quartz-surface.c:654,1
    - Dst: MIN
      Src: /src/cairo/src/cairo-quartz-surface.c:655,1
    - Dst: _cairo_gradient_pattern_interpolate
      Src: /src/cairo/src/cairo-quartz-surface.c:668,1
    - Dst: _cairo_gradient_pattern_interpolate
      Src: /src/cairo/src/cairo-quartz-surface.c:669,1
    - Dst: _cairo_pattern_create_copy
      Src: /src/cairo/src/cairo-quartz-surface.c:671,1
    - Dst: CGFunctionCreate
      Src: /src/cairo/src/cairo-quartz-surface.c:674,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 4
    argNames:
    - gradient
    - extents
    - start
    - end
    argTypes:
    - cairo_gradient_pattern_t*
    - cairo_rectangle_int_t*
    - cairo_circle_double_t*
    - cairo_circle_double_t*
    constantsTouched: []
    func_position:
      end: 680
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 680
    functionName: CairoQuartzCreateGradientFunction
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - fabs
    - _cairo_matrix_transform_bounding_box
    - CGFunctionCreate
    - _cairo_pattern_create_copy
    - _cairo_matrix_compute_determinant
    - MIN
    - MAX
    - _cairo_gradient_pattern_interpolate
    - _cairo_matrix_transformed_circle_major_axis
    - _cairo_gradient_pattern_box_to_parameter
    linkageType: ''
    returnType: CGFunctionRef
    signature: "static CGFunctionRef CairoQuartzCreateGradientFunction (const cairo_gradient_pattern_t\
      \ *gradient,\t\t\t\t const cairo_rectangle_int_t *extents,\t\t\t\t cairo_circle_double_t\
      \ *start,\t\t\t\t cairo_circle_double_t *end) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CGContextDrawLayerInRect
      Src: /src/cairo/src/cairo-quartz-surface.c:1251,1
    - Dst: CGImageRelease
      Src: /src/cairo/src/cairo-quartz-surface.c:1261,1
    - Dst: CGContextRestoreGState
      Src: /src/cairo/src/cairo-quartz-surface.c:1258,1
    - Dst: CGShadingRelease
      Src: /src/cairo/src/cairo-quartz-surface.c:1264,1
    - Dst: CGLayerRelease
      Src: /src/cairo/src/cairo-quartz-surface.c:1254,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 2
    argNames:
    - state
    - extents
    argTypes:
    - cairo_quartz_drawing_state_t*
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 1265
      start: 1243
    functionDepth: 0
    functionLinenumber: 1243
    functionLinenumberEnd: 1265
    functionName: _cairo_quartz_teardown_state
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - CGShadingRelease
    - CGContextDrawLayerInRect
    - CGLayerRelease
    - CGContextRestoreGState
    - CGImageRelease
    linkageType: ''
    returnType: void
    signature: "static void _cairo_quartz_teardown_state (cairo_quartz_drawing_state_t\
      \ *state,\t\t\t cairo_composite_rectangles_t *extents) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CGContextGetUserSpaceToDeviceSpaceTransform
      Src: /src/cairo/src/cairo-quartz-surface.c:1479,1
    - Dst: CGLayerCreateWithContext
      Src: /src/cairo/src/cairo-quartz-surface.c:1480,1
    - Dst: CGContextTranslateCTM
      Src: /src/cairo/src/cairo-quartz-surface.c:1486,1
    - Dst: CGLayerGetContext
      Src: /src/cairo/src/cairo-quartz-surface.c:1485,1
    - Dst: CGSizeMake
      Src: /src/cairo/src/cairo-quartz-surface.c:1481,1
    - Dst: CGContextScaleCTM
      Src: /src/cairo/src/cairo-quartz-surface.c:1487,1
    - Dst: _cairo_quartz_surface_create_internal
      Src: /src/cairo/src/cairo-quartz-surface.c:1488,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-quartz-surface.c:1490,1
    - Dst: CGContextRelease
      Src: /src/cairo/src/cairo-quartz-surface.c:1492,1
    - Dst: CGLayerRelease
      Src: /src/cairo/src/cairo-quartz-surface.c:1493,1
    - Dst: CGContextRetain
      Src: /src/cairo/src/cairo-quartz-surface.c:1497,1
    - Dst: CGLayerRetain
      Src: /src/cairo/src/cairo-quartz-surface.c:1496,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1501
      start: 1463
    functionDepth: 0
    functionLinenumber: 1463
    functionLinenumberEnd: 1501
    functionName: _cairo_quartz_surface_create_with_cglayer
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - CGContextGetUserSpaceToDeviceSpaceTransform
    - CGContextRetain
    - CGSizeMake
    - _cairo_quartz_surface_create_internal
    - CGLayerRelease
    - CGLayerGetContext
    - CGContextTranslateCTM
    - CGContextScaleCTM
    - CGContextRelease
    - CGLayerRetain
    - CGLayerCreateWithContext
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_quartz_surface_create_with_cglayer\
      \ (cairo_quartz_surface_t *surface,\t\t\t\t\t cairo_content_t content,\t\t\t\
      \t\t int width, int height) "
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ND
      Src: /src/cairo/src/cairo-quartz-surface.c:1664,1
    - Dst: _cairo_quartz_filter_to_quartz
      Src: /src/cairo/src/cairo-quartz-surface.c:1691,1
    - Dst: _cairo_matrix_is_translation
      Src: /src/cairo/src/cairo-quartz-surface.c:1693,1
    - Dst: _cairo_quartz_filter_to_quartz
      Src: /src/cairo/src/cairo-quartz-surface.c:1674,1
    - Dst: _cairo_quartz_cg_mask_with_solid
      Src: /src/cairo/src/cairo-quartz-surface.c:1669,1
    - Dst: ceil
      Src: /src/cairo/src/cairo-quartz-surface.c:1695,1
    - Dst: ceil
      Src: /src/cairo/src/cairo-quartz-surface.c:1696,1
    - Dst: _cairo_matrix_is_integer_translation
      Src: /src/cairo/src/cairo-quartz-surface.c:1699,1
    - Dst: _cairo_quartz_surface_create_similar
      Src: /src/cairo/src/cairo-quartz-surface.c:1715,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-quartz-surface.c:1720,1
    - Dst: cairo_matrix_init_identity
      Src: /src/cairo/src/cairo-quartz-surface.c:1729,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-quartz-surface.c:1738,1
    - Dst: _cairo_quartz_cg_mask_with_surface
      Src: /src/cairo/src/cairo-quartz-surface.c:1732,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-quartz-surface.c:1726,1
    - Dst: _cairo_surface_paint
      Src: /src/cairo/src/cairo-quartz-surface.c:1725,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 53
    argCount: 2
    argNames:
    - compositor
    - extents
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 1741
      start: 1651
    functionDepth: 0
    functionLinenumber: 1651
    functionLinenumberEnd: 1741
    functionName: _cairo_quartz_cg_mask
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - _cairo_quartz_cg_mask_with_solid
    - _cairo_quartz_filter_to_quartz
    - _cairo_matrix_is_translation
    - _cairo_matrix_is_integer_translation
    - _cairo_quartz_cg_mask_with_surface
    - cairo_surface_destroy
    - cairo_matrix_init_identity
    - ND
    - _cairo_quartz_surface_create_similar
    - ceil
    - _cairo_surface_paint
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_quartz_cg_mask (const cairo_compositor_t\
      \ *compositor,\t\t cairo_composite_rectangles_t *extents) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cairo_container_of
      Src: /src/cairo/src/cairo-quartz-surface.c:2057,1
    - Dst: CGContextRestoreGState
      Src: /src/cairo/src/cairo-quartz-surface.c:2072,1
    - Dst: CGContextSaveGState
      Src: /src/cairo/src/cairo-quartz-surface.c:2073,1
    - Dst: ND
      Src: /src/cairo/src/cairo-quartz-surface.c:2059,1
    - Dst: _cairo_quartz_is_zero_surface
      Src: /src/cairo/src/cairo-quartz-surface.c:2061,1
    - Dst: CGContextSetShouldAntialias
      Src: /src/cairo/src/cairo-quartz-surface.c:2075,1
    - Dst: _cairo_quartz_cairo_path_to_quartz_context
      Src: /src/cairo/src/cairo-quartz-surface.c:2077,1
    - Dst: CGContextClip
      Src: /src/cairo/src/cairo-quartz-surface.c:2080,1
    - Dst: CGContextEOClip
      Src: /src/cairo/src/cairo-quartz-surface.c:2082,1
    - Dst: ND
      Src: /src/cairo/src/cairo-quartz-surface.c:2085,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 5
    argNames:
    - clipper
    - path
    - fill_rule
    - tolerance
    - antialias
    argTypes:
    - cairo_surface_clipper_t*
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    constantsTouched: []
    func_position:
      end: 2088
      start: 2049
    functionDepth: 0
    functionLinenumber: 2049
    functionLinenumberEnd: 2088
    functionName: _cairo_quartz_surface_clipper_intersect_clip_path
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - cairo_container_of
    - CGContextSaveGState
    - CGContextClip
    - ND
    - _cairo_quartz_cairo_path_to_quartz_context
    - _cairo_quartz_is_zero_surface
    - CGContextEOClip
    - CGContextRestoreGState
    - CGContextSetShouldAntialias
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_quartz_surface_clipper_intersect_clip_path\
      \ (cairo_surface_clipper_t *clipper,\t\t\t\t\t\t cairo_path_fixed_t *path,\t\
      \t\t\t\t\t cairo_fill_rule_t fill_rule,\t\t\t\t\t\t double tolerance,\t\t\t\t\
      \t\t cairo_antialias_t antialias) "
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - width
    - height
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 265
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 265
    functionName: _cairo_quartz_verify_surface_size
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t _cairo_quartz_verify_surface_size (int width, int height) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-quartz-surface.c:2138,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-quartz-surface.c:2140,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-quartz-surface.c:2140,1
    - Dst: memset
      Src: /src/cairo/src/cairo-quartz-surface.c:2142,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-quartz-surface.c:2139,1
    - Dst: _cairo_surface_init
      Src: /src/cairo/src/cairo-quartz-surface.c:2144,1
    - Dst: _cairo_surface_clipper_init
      Src: /src/cairo/src/cairo-quartz-surface.c:2150,1
    - Dst: _cairo_quartz_is_zero_surface
      Src: /src/cairo/src/cairo-quartz-surface.c:2159,1
    - Dst: CGContextSaveGState
      Src: /src/cairo/src/cairo-quartz-surface.c:2169,1
    - Dst: CGContextGetCTM
      Src: /src/cairo/src/cairo-quartz-surface.c:2172,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2175
      start: 2129
    functionDepth: 0
    functionLinenumber: 2129
    functionLinenumberEnd: 2175
    functionName: _cairo_quartz_surface_create_internal
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_init
    - _cairo_error
    - CGContextGetCTM
    - _cairo_surface_clipper_init
    - CGContextSaveGState
    - _cairo_surface_create_in_error
    - _cairo_quartz_is_zero_surface
    - memset
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_quartz_surface_t*
    signature: "cairo_quartz_surface_t *_cairo_quartz_surface_create_internal (CGContextRef\
      \ cgContext,\t\t\t\t cairo_content_t content,\t\t\t\t unsigned int width,\t\t\
      \t\t unsigned int height) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 2374
      start: 2370
    functionDepth: 0
    functionLinenumber: 2370
    functionLinenumberEnd: 2374
    functionName: _cairo_surface_is_quartz
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t _cairo_surface_is_quartz (const cairo_surface_t *surface) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: CGBitmapContextGetBitsPerPixel
      Src: /src/cairo/src/cairo-quartz-surface.c:172,1
    - Dst: quartz_ensure_symbols
      Src: /src/cairo/src/cairo-quartz-surface.c:175,1
    - Dst: CGBitmapContextGetColorSpace
      Src: /src/cairo/src/cairo-quartz-surface.c:188,1
    - Dst: CGContextGetTypePtr
      Src: /src/cairo/src/cairo-quartz-surface.c:176,1
    - Dst: CGColorSpaceCreateDeviceRGB
      Src: /src/cairo/src/cairo-quartz-surface.c:182,1
    - Dst: CGColorSpaceRetain
      Src: /src/cairo/src/cairo-quartz-surface.c:189,1
    - Dst: CGDisplayCopyColorSpace
      Src: /src/cairo/src/cairo-quartz-surface.c:203,1
    - Dst: CGMainDisplayID
      Src: /src/cairo/src/cairo-quartz-surface.c:203,1
    - Dst: CGColorSpaceCreateDeviceRGB
      Src: /src/cairo/src/cairo-quartz-surface.c:206,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 21
    argCount: 1
    argNames:
    - context
    argTypes:
    - CGContextRef
    constantsTouched: []
    func_position:
      end: 209
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 209
    functionName: _cairo_quartz_create_color_space
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - CGColorSpaceCreateDeviceRGB
    - CGBitmapContextGetColorSpace
    - CGContextGetTypePtr
    - quartz_ensure_symbols
    - CGColorSpaceRetain
    - CGMainDisplayID
    - CGDisplayCopyColorSpace
    - CGBitmapContextGetBitsPerPixel
    linkageType: ''
    returnType: CGColorSpaceRef
    signature: 'CGColorSpaceRef _cairo_quartz_create_color_space (CGContextRef context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_quartz_surface_t*
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: _cairo_quartz_surface_is_zero
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static inline cairo_bool_t _cairo_quartz_surface_is_zero (cairo_quartz_surface_t*
      surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dlsym
      Src: /src/cairo/src/cairo-quartz-surface.c:136,1
    - Dst: dlsym
      Src: /src/cairo/src/cairo-quartz-surface.c:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 141
    functionName: quartz_ensure_symbols
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - dlsym
    linkageType: ''
    returnType: void
    signature: 'static void quartz_ensure_symbols() '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_quartz_is_zero_surface
      Src: /src/cairo/src/cairo-quartz-surface.c:1341,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/src/cairo-quartz-surface.c:1342,1
    - Dst: _cairo_image_surface_create_in_error
      Src: /src/cairo/src/cairo-quartz-surface.c:1345,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-quartz-surface.c:1345,1
    - Dst: _cairo_quartz_is_cgcontext_bitmap_context
      Src: /src/cairo/src/cairo-quartz-surface.c:1344,1
    - Dst: CGBitmapContextGetBitmapInfo
      Src: /src/cairo/src/cairo-quartz-surface.c:1347,1
    - Dst: CGBitmapContextGetBitsPerPixel
      Src: /src/cairo/src/cairo-quartz-surface.c:1348,1
    - Dst: _cairo_quartz_create_color_space
      Src: /src/cairo/src/cairo-quartz-surface.c:1351,1
    - Dst: CGColorSpaceGetNumberOfComponents
      Src: /src/cairo/src/cairo-quartz-surface.c:1352,1
    - Dst: CGColorSpaceRelease
      Src: /src/cairo/src/cairo-quartz-surface.c:1353,1
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/src/cairo-quartz-surface.c:1383,1
    - Dst: _cairo_image_surface_create_in_error
      Src: /src/cairo/src/cairo-quartz-surface.c:1376,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-quartz-surface.c:1376,1
    - Dst: CGBitmapContextGetData
      Src: /src/cairo/src/cairo-quartz-surface.c:1379,1
    - Dst: CGBitmapContextGetBytesPerRow
      Src: /src/cairo/src/cairo-quartz-surface.c:1380,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1330
    functionDepth: 0
    functionLinenumber: 1330
    functionLinenumberEnd: 1390
    functionName: _cairo_quartz_surface_map_to_image
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - CGColorSpaceGetNumberOfComponents
    - CGBitmapContextGetBitmapInfo
    - _cairo_image_surface_create_in_error
    - _cairo_error
    - CGColorSpaceRelease
    - CGBitmapContextGetData
    - cairo_image_surface_create_for_data
    - CGBitmapContextGetBytesPerRow
    - cairo_image_surface_create
    - _cairo_quartz_is_zero_surface
    - CGBitmapContextGetBitsPerPixel
    - _cairo_quartz_create_color_space
    - _cairo_quartz_is_cgcontext_bitmap_context
    linkageType: ''
    returnType: cairo_image_surface_t*
    signature: "static cairo_image_surface_t *_cairo_quartz_surface_map_to_image (void\
      \ *abstract_surface,\t\t\t\t const cairo_rectangle_int_t *extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_compositor_fill
      Src: /src/cairo/src/cairo-quartz-surface.c:2010,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 8
    argNames:
    - surface
    - op
    - source
    - path
    - fill_rule
    - tolerance
    - antialias
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 2014
      start: 2000
    functionDepth: 0
    functionLinenumber: 2000
    functionLinenumberEnd: 2014
    functionName: _cairo_quartz_surface_fill
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - _cairo_compositor_fill
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_quartz_surface_fill (void *surface,\t\
      \t\t cairo_operator_t op,\t\t\t const cairo_pattern_t *source,\t\t\t const cairo_path_fixed_t\
      \ *path,\t\t\t cairo_fill_rule_t fill_rule,\t\t\t double tolerance,\t\t\t cairo_antialias_t\
      \ antialias,\t\t\t const cairo_clip_t *clip) "
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_quartz_verify_surface_size
      Src: /src/cairo/src/cairo-quartz-surface.c:2252,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-quartz-surface.c:2283,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-quartz-surface.c:2304,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-quartz-surface.c:2253,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-quartz-surface.c:2281,1
    - Dst: CGContextScaleCTM
      Src: /src/cairo/src/cairo-quartz-surface.c:2309,1
    - Dst: CGContextRelease
      Src: /src/cairo/src/cairo-quartz-surface.c:2314,1
    - Dst: free
      Src: /src/cairo/src/cairo-quartz-surface.c:2317,1
    - Dst: _cairo_content_from_format
      Src: /src/cairo/src/cairo-quartz-surface.c:2256,1
    - Dst: _cairo_quartz_create_color_space
      Src: /src/cairo/src/cairo-quartz-surface.c:2263,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-quartz-surface.c:2283,1
    - Dst: CGColorSpaceRelease
      Src: /src/cairo/src/cairo-quartz-surface.c:2298,1
    - Dst: CGContextTranslateCTM
      Src: /src/cairo/src/cairo-quartz-surface.c:2308,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-quartz-surface.c:2304,1
    - Dst: _cairo_content_from_format
      Src: /src/cairo/src/cairo-quartz-surface.c:2311,1
    - Dst: _cairo_quartz_surface_create_internal
      Src: /src/cairo/src/cairo-quartz-surface.c:2256,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-quartz-surface.c:2253,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-quartz-surface.c:2281,1
    - Dst: CGBitmapContextCreate
      Src: /src/cairo/src/cairo-quartz-surface.c:2291,1
    - Dst: free
      Src: /src/cairo/src/cairo-quartz-surface.c:2302,1
    - Dst: _cairo_quartz_surface_create_internal
      Src: /src/cairo/src/cairo-quartz-surface.c:2311,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2326
      start: 2239
    functionDepth: 0
    functionLinenumber: 2239
    functionLinenumberEnd: 2326
    functionName: cairo_quartz_surface_create
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - _cairo_quartz_verify_surface_size
    - _cairo_content_from_format
    - _cairo_error
    - CGColorSpaceRelease
    - free
    - _cairo_quartz_surface_create_internal
    - CGContextTranslateCTM
    - CGContextScaleCTM
    - CGContextRelease
    - _cairo_surface_create_in_error
    - CGBitmapContextCreate
    - _cairo_quartz_create_color_space
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *cairo_quartz_surface_create (cairo_format_t format,\t\
      \t\t unsigned int width,\t\t\t unsigned int height) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_is_quartz
      Src: /src/cairo/src/cairo-quartz-surface.c:2349,1
    - Dst: _cairo_surface_is_quartz_image
      Src: /src/cairo/src/cairo-quartz-surface.c:2354,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 2360
      start: 2346
    functionDepth: 0
    functionLinenumber: 2346
    functionLinenumberEnd: 2360
    functionName: cairo_quartz_surface_get_cg_context
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_is_quartz_image
    - _cairo_surface_is_quartz
    linkageType: ''
    returnType: CGContextRef
    signature: 'CGContextRef cairo_quartz_surface_get_cg_context (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_is_quartz
      Src: /src/cairo/src/cairo-quartz-surface.c:76,1
    - Dst: _cairo_surface_is_quartz_image
      Src: /src/cairo/src/cairo-quartz-surface.c:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: _is_quartz_surface
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_is_quartz_image
    - _cairo_surface_is_quartz
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static inline cairo_bool_t _is_quartz_surface (cairo_surface_t *surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-quartz-surface.c:86,1
    - Dst: _is_quartz_surface
      Src: /src/cairo/src/cairo-quartz-surface.c:86,1
    - Dst: _cairo_quartz_image_surface_is_zero
      Src: /src/cairo/src/cairo-quartz-surface.c:90,1
    - Dst: _cairo_surface_is_quartz
      Src: /src/cairo/src/cairo-quartz-surface.c:87,1
    - Dst: _cairo_quartz_surface_is_zero
      Src: /src/cairo/src/cairo-quartz-surface.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: _cairo_quartz_is_zero_surface
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - _cairo_quartz_image_surface_is_zero
    - assert
    - _cairo_quartz_surface_is_zero
    - _is_quartz_surface
    - _cairo_surface_is_quartz
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static inline cairo_bool_t _cairo_quartz_is_zero_surface (cairo_surface_t*
      surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CGColorSpaceRetain
      Src: /src/cairo/src/cairo-quartz-surface.c:217,1
    - Dst: CGColorCreate
      Src: /src/cairo/src/cairo-quartz-surface.c:221,1
    - Dst: CGColorSpaceRelease
      Src: /src/cairo/src/cairo-quartz-surface.c:222,1
    - Dst: _cairo_quartz_create_color_space
      Src: /src/cairo/src/cairo-quartz-surface.c:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - cs
    - red
    - green
    - blue
    - alpha
    argTypes:
    - CGColorSpaceRef
    - CGFloat
    - CGFloat
    - CGFloat
    - CGFloat
    constantsTouched: []
    func_position:
      end: 224
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 224
    functionName: _cairo_quartz_create_cgcolor
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - CGColorSpaceRetain
    - CGColorSpaceRelease
    - CGColorCreate
    - _cairo_quartz_create_color_space
    linkageType: ''
    returnType: CGColorRef
    signature: "static CGColorRef _cairo_quartz_create_cgcolor (CGColorSpaceRef cs,\
      \ CGFloat red, CGFloat green,\t\t\t CGFloat blue, CGFloat alpha) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_finish
      Src: /src/cairo/src/cairo-quartz-surface.c:1396,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-quartz-surface.c:1397,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - abstract_surface
    - image
    argTypes:
    - void*
    - cairo_image_surface_t*
    constantsTouched: []
    func_position:
      end: 1400
      start: 1392
    functionDepth: 0
    functionLinenumber: 1392
    functionLinenumberEnd: 1400
    functionName: _cairo_quartz_surface_unmap_image
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - cairo_surface_finish
    - cairo_surface_destroy
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_quartz_surface_unmap_image (void\
      \ *abstract_surface,\t\t\t\t cairo_image_surface_t *image) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_compositor_stroke
      Src: /src/cairo/src/cairo-quartz-surface.c:2028,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 10
    argNames:
    - surface
    - op
    - source
    - path
    - style
    - ctm
    - ctm_inverse
    - tolerance
    - antialias
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 2032
      start: 2016
    functionDepth: 0
    functionLinenumber: 2016
    functionLinenumberEnd: 2032
    functionName: _cairo_quartz_surface_stroke
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - _cairo_compositor_stroke
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_quartz_surface_stroke (void *surface,\t\
      \t\t cairo_operator_t op,\t\t\t const cairo_pattern_t *source,\t\t\t const cairo_path_fixed_t\
      \ *path,\t\t\t const cairo_stroke_style_t *style,\t\t\t const cairo_matrix_t\
      \ *ctm,\t\t\t const cairo_matrix_t *ctm_inverse,\t\t\t double tolerance,\t\t\
      \t cairo_antialias_t antialias,\t\t\t const cairo_clip_t *clip) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CGImageRelease
      Src: /src/cairo/src/cairo-quartz-surface.c:2410,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2412
      start: 2405
    functionDepth: 0
    functionLinenumber: 2405
    functionLinenumberEnd: 2412
    functionName: _cairo_quartz_snapshot_finish
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - CGImageRelease
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_quartz_snapshot_finish (void *surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_quartz_surface_create_internal
      Src: /src/cairo/src/cairo-quartz-surface.c:2210,1
    - Dst: likely
      Src: /src/cairo/src/cairo-quartz-surface.c:2212,1
    - Dst: CGContextRetain
      Src: /src/cairo/src/cairo-quartz-surface.c:2213,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2216
      start: 2204
    functionDepth: 0
    functionLinenumber: 2204
    functionLinenumberEnd: 2216
    functionName: cairo_quartz_surface_create_for_cg_context
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - likely
    - _cairo_quartz_surface_create_internal
    - CGContextRetain
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *cairo_quartz_surface_create_for_cg_context (CGContextRef\
      \ cgContext,\t\t\t\t\t unsigned int width,\t\t\t\t\t unsigned int height) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: cairo_scaled_font_get_type
      Src: /src/cairo/src/cairo-quartz-surface.c:1888,1
    - Dst: CAIRO_STACK_ARRAY_LENGTH
      Src: /src/cairo/src/cairo-quartz-surface.c:1877,1
    - Dst: CGContextSetTextDrawingMode
      Src: /src/cairo/src/cairo-quartz-surface.c:1897,1
    - Dst: CGPointApplyAffineTransform
      Src: /src/cairo/src/cairo-quartz-surface.c:1936,1
    - Dst: CGContextConcatCTM
      Src: /src/cairo/src/cairo-quartz-surface.c:1941,1
    - Dst: CGContextTranslateCTM
      Src: /src/cairo/src/cairo-quartz-surface.c:1946,1
    - Dst: _cairo_quartz_draw_source
      Src: /src/cairo/src/cairo-quartz-surface.c:1949,1
    - Dst: assert
      Src: /src/cairo/src/cairo-quartz-surface.c:1896,1
    - Dst: _cairo_quartz_scaled_font_get_ct_font
      Src: /src/cairo/src/cairo-quartz-surface.c:1903,1
    - Dst: _cairo_quartz_set_antialiasing
      Src: /src/cairo/src/cairo-quartz-surface.c:1904,1
    - Dst: CGAffineTransformMake
      Src: /src/cairo/src/cairo-quartz-surface.c:1917,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-quartz-surface.c:1906,1
    - Dst: CGContextConcatCTM
      Src: /src/cairo/src/cairo-quartz-surface.c:1945,1
    - Dst: free
      Src: /src/cairo/src/cairo-quartz-surface.c:1958,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-quartz-surface.c:1892,1
    - Dst: _cairo_quartz_setup_state
      Src: /src/cairo/src/cairo-quartz-surface.c:1891,1
    - Dst: CGAffineTransformMake
      Src: /src/cairo/src/cairo-quartz-surface.c:1924,1
    - Dst: CGPointMake
      Src: /src/cairo/src/cairo-quartz-surface.c:1935,1
    - Dst: CGContextSetAllowsFontSmoothing
      Src: /src/cairo/src/cairo-quartz-surface.c:1953,1
    - Dst: CAIRO_STACK_ARRAY_LENGTH
      Src: /src/cairo/src/cairo-quartz-surface.c:1876,1
    - Dst: CGContextSetTextDrawingMode
      Src: /src/cairo/src/cairo-quartz-surface.c:1899,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-quartz-surface.c:1909,1
    - Dst: CGPointMake
      Src: /src/cairo/src/cairo-quartz-surface.c:1931,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-quartz-surface.c:1907,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-quartz-surface.c:1908,1
    - Dst: CGContextTranslateCTM
      Src: /src/cairo/src/cairo-quartz-surface.c:1940,1
    - Dst: CTFontDrawGlyphs
      Src: /src/cairo/src/cairo-quartz-surface.c:1943,1
    - Dst: _cairo_quartz_teardown_state
      Src: /src/cairo/src/cairo-quartz-surface.c:1955,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 63
    argCount: 6
    argNames:
    - compositor
    - extents
    - scaled_font
    - glyphs
    - num_glyphs
    - overlap
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_scaled_font_t*
    - cairo_glyph_t*
    - int
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 1961
      start: 1867
    functionDepth: 0
    functionLinenumber: 1867
    functionLinenumberEnd: 1961
    functionName: _cairo_quartz_cg_glyphs
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_quartz_draw_source
    - _cairo_quartz_scaled_font_get_ct_font
    - CGAffineTransformMake
    - CGPointApplyAffineTransform
    - unlikely
    - CGPointMake
    - CGContextTranslateCTM
    - _cairo_quartz_set_antialiasing
    - cairo_scaled_font_get_type
    - CGContextSetTextDrawingMode
    - ARRAY_LENGTH
    - assert
    - CGContextConcatCTM
    - _cairo_quartz_setup_state
    - CTFontDrawGlyphs
    - free
    - _cairo_quartz_teardown_state
    - CGContextSetAllowsFontSmoothing
    - _cairo_malloc_ab
    - CAIRO_STACK_ARRAY_LENGTH
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_quartz_cg_glyphs (const cairo_compositor_t\
      \ *compositor,\t\t\t cairo_composite_rectangles_t *extents,\t\t\t cairo_scaled_font_t\
      \ *scaled_font,\t\t\t cairo_glyph_t *glyphs,\t\t\t int num_glyphs,\t\t\t cairo_bool_t\
      \ overlap) "
  - BBCount: 31
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - cairo_operator_t
    constantsTouched: []
    func_position:
      end: 411
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 411
    functionName: _cairo_quartz_cairo_operator_to_quartz_blend
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CGBlendMode
    signature: 'static CGBlendMode _cairo_quartz_cairo_operator_to_quartz_blend (cairo_operator_t
      op) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_quartz_is_cgcontext_bitmap_context
      Src: /src/cairo/src/cairo-quartz-surface.c:702,1
    - Dst: cairo_quartz_image_surface_create
      Src: /src/cairo/src/cairo-quartz-surface.c:741,1
    - Dst: cairo_matrix_init_identity
      Src: /src/cairo/src/cairo-quartz-surface.c:732,1
    - Dst: cairo_quartz_image_surface_create
      Src: /src/cairo/src/cairo-quartz-surface.c:731,1
    - Dst: _cairo_quartz_is_zero_surface
      Src: /src/cairo/src/cairo-quartz-surface.c:697,1
    - Dst: cairo_quartz_surface_get_cg_context
      Src: /src/cairo/src/cairo-quartz-surface.c:696,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-quartz-surface.c:726,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-quartz-surface.c:738,1
    - Dst: _cairo_quartz_surface_snapshot_get_image
      Src: /src/cairo/src/cairo-quartz-surface.c:751,1
    - Dst: _is_quartz_surface
      Src: /src/cairo/src/cairo-quartz-surface.c:695,1
    - Dst: _cairo_quartz_surface_snapshot_get_image
      Src: /src/cairo/src/cairo-quartz-surface.c:703,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/src/cairo-quartz-surface.c:713,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-quartz-surface.c:715,1
    - Dst: _cairo_recording_surface_replay_with_clip
      Src: /src/cairo/src/cairo-quartz-surface.c:721,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-quartz-surface.c:725,1
    - Dst: _cairo_surface_release_source_image
      Src: /src/cairo/src/cairo-quartz-surface.c:744,1
    - Dst: _cairo_surface_acquire_source_image
      Src: /src/cairo/src/cairo-quartz-surface.c:736,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-quartz-surface.c:759,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-quartz-surface.c:762,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-quartz-surface.c:717,1
    - Dst: _cairo_surface_release_source_image
      Src: /src/cairo/src/cairo-quartz-surface.c:756,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 51
    argCount: 6
    argNames:
    - source
    - extents
    - format
    - matrix
    - clip
    - image_out
    argTypes:
    - cairo_surface_t*
    - cairo_rectangle_int_t*
    - cairo_format_t
    - cairo_matrix_t*
    - cairo_clip_t*
    - CGImageRef*
    constantsTouched: []
    func_position:
      end: 766
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 766
    functionName: _cairo_surface_to_cgimage
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_release_source_image
    - cairo_quartz_surface_get_cg_context
    - unlikely
    - cairo_surface_destroy
    - cairo_quartz_image_surface_create
    - cairo_image_surface_create
    - cairo_matrix_init_identity
    - _cairo_surface_acquire_source_image
    - _cairo_quartz_surface_snapshot_get_image
    - _is_quartz_surface
    - _cairo_quartz_is_zero_surface
    - _cairo_recording_surface_replay_with_clip
    - _cairo_quartz_is_cgcontext_bitmap_context
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_surface_to_cgimage (cairo_surface_t *source,\t\
      \t\t cairo_rectangle_int_t *extents,\t\t\t cairo_format_t format,\t\t\t cairo_matrix_t\
      \ *matrix,\t\t\t const cairo_clip_t *clip,\t\t\t CGImageRef *image_out) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_quartz_verify_surface_size
      Src: /src/cairo/src/cairo-quartz-surface.c:1514,1
    - Dst: cairo_quartz_surface_create
      Src: /src/cairo/src/cairo-quartz-surface.c:1533,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-quartz-surface.c:1515,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-quartz-surface.c:1515,1
    - Dst: _cairo_quartz_surface_create_with_cglayer
      Src: /src/cairo/src/cairo-quartz-surface.c:1521,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-quartz-surface.c:1534,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1541
      start: 1503
    functionDepth: 0
    functionLinenumber: 1503
    functionLinenumberEnd: 1541
    functionName: _cairo_quartz_surface_create_similar
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - _cairo_quartz_surface_create_with_cglayer
    - _cairo_quartz_verify_surface_size
    - cairo_quartz_surface_create
    - _cairo_error
    - _cairo_surface_create_in_error
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_quartz_surface_create_similar (void\
      \ *abstract_surface,\t\t\t\t cairo_content_t content,\t\t\t\t int width,\t\t\
      \t\t int height) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ND
      Src: /src/cairo/src/cairo-quartz-surface.c:1754,1
    - Dst: _cairo_quartz_cairo_path_to_quartz_context
      Src: /src/cairo/src/cairo-quartz-surface.c:1763,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-quartz-surface.c:1758,1
    - Dst: CGContextSetShouldAntialias
      Src: /src/cairo/src/cairo-quartz-surface.c:1761,1
    - Dst: _cairo_quartz_setup_state
      Src: /src/cairo/src/cairo-quartz-surface.c:1757,1
    - Dst: assert
      Src: /src/cairo/src/cairo-quartz-surface.c:1766,1
    - Dst: CGContextFillPath
      Src: /src/cairo/src/cairo-quartz-surface.c:1768,1
    - Dst: CGContextEOFillPath
      Src: /src/cairo/src/cairo-quartz-surface.c:1770,1
    - Dst: CGContextClip
      Src: /src/cairo/src/cairo-quartz-surface.c:1773,1
    - Dst: CGContextEOClip
      Src: /src/cairo/src/cairo-quartz-surface.c:1775,1
    - Dst: ND
      Src: /src/cairo/src/cairo-quartz-surface.c:1783,1
    - Dst: _cairo_quartz_teardown_state
      Src: /src/cairo/src/cairo-quartz-surface.c:1781,1
    - Dst: _cairo_quartz_draw_source
      Src: /src/cairo/src/cairo-quartz-surface.c:1777,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 6
    argNames:
    - compositor
    - extents
    - path
    - fill_rule
    - tolerance
    - antialias
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    constantsTouched: []
    func_position:
      end: 1785
      start: 1743
    functionDepth: 0
    functionLinenumber: 1743
    functionLinenumberEnd: 1785
    functionName: _cairo_quartz_cg_fill
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - CGContextEOFillPath
    - _cairo_quartz_setup_state
    - CGContextFillPath
    - unlikely
    - _cairo_quartz_draw_source
    - assert
    - CGContextClip
    - ND
    - _cairo_quartz_cairo_path_to_quartz_context
    - CGContextEOClip
    - _cairo_quartz_teardown_state
    - CGContextSetShouldAntialias
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_quartz_cg_fill (const cairo_compositor_t\
      \ *compositor,\t\t cairo_composite_rectangles_t *extents,\t\t const cairo_path_fixed_t\
      \ *path,\t\t cairo_fill_rule_t fill_rule,\t\t double tolerance,\t\t cairo_antialias_t\
      \ antialias) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_compositor_paint
      Src: /src/cairo/src/cairo-quartz-surface.c:1984,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - surface
    - op
    - source
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 1986
      start: 1978
    functionDepth: 0
    functionLinenumber: 1978
    functionLinenumberEnd: 1986
    functionName: _cairo_quartz_surface_paint
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - _cairo_compositor_paint
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_quartz_surface_paint (void *surface,\t\
      \t\t cairo_operator_t op,\t\t\t const cairo_pattern_t *source,\t\t\t const cairo_clip_t\
      \ *clip) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-quartz-surface.c:418,1
    - Dst: _cairo_quartz_cairo_operator_to_quartz_blend
      Src: /src/cairo/src/cairo-quartz-surface.c:435,1
    - Dst: CGContextSetBlendMode
      Src: /src/cairo/src/cairo-quartz-surface.c:436,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - context
    - op
    argTypes:
    - CGContextRef
    - cairo_operator_t
    constantsTouched: []
    func_position:
      end: 438
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 438
    functionName: _cairo_cgcontext_set_cairo_operator
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - CGContextSetBlendMode
    - _cairo_quartz_cairo_operator_to_quartz_blend
    - assert
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t _cairo_cgcontext_set_cairo_operator (CGContextRef
      context, cairo_operator_t op) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - abstract_surface
    - extents
    argTypes:
    - void*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 1551
      start: 1543
    functionDepth: 0
    functionLinenumber: 1543
    functionLinenumberEnd: 1551
    functionName: _cairo_quartz_surface_get_extents
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _cairo_quartz_surface_get_extents (void *abstract_surface,\t\
      \t\t\t cairo_rectangle_int_t *extents) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-quartz-surface.c:1805,1
    - Dst: _cairo_quartz_setup_state
      Src: /src/cairo/src/cairo-quartz-surface.c:1804,1
    - Dst: _cairo_quartz_cairo_line_cap_to_quartz
      Src: /src/cairo/src/cairo-quartz-surface.c:1813,1
    - Dst: CGContextSetMiterLimit
      Src: /src/cairo/src/cairo-quartz-surface.c:1815,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-quartz-surface.c:1826,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-quartz-surface.c:1828,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-quartz-surface.c:1827,1
    - Dst: _cairo_quartz_cairo_path_to_quartz_context
      Src: /src/cairo/src/cairo-quartz-surface.c:1841,1
    - Dst: _cairo_quartz_cairo_matrix_to_quartz
      Src: /src/cairo/src/cairo-quartz-surface.c:1853,1
    - Dst: ND
      Src: /src/cairo/src/cairo-quartz-surface.c:1801,1
    - Dst: CGContextSetLineWidth
      Src: /src/cairo/src/cairo-quartz-surface.c:1812,1
    - Dst: CGContextSetLineJoin
      Src: /src/cairo/src/cairo-quartz-surface.c:1814,1
    - Dst: CGContextSetLineDash
      Src: /src/cairo/src/cairo-quartz-surface.c:1835,1
    - Dst: _cairo_quartz_cairo_matrix_to_quartz
      Src: /src/cairo/src/cairo-quartz-surface.c:1843,1
    - Dst: CGContextStrokePath
      Src: /src/cairo/src/cairo-quartz-surface.c:1848,1
    - Dst: CGContextClip
      Src: /src/cairo/src/cairo-quartz-surface.c:1851,1
    - Dst: _cairo_quartz_teardown_state
      Src: /src/cairo/src/cairo-quartz-surface.c:1860,1
    - Dst: _cairo_quartz_cairo_line_join_to_quartz
      Src: /src/cairo/src/cairo-quartz-surface.c:1814,1
    - Dst: CGContextSetLineDash
      Src: /src/cairo/src/cairo-quartz-surface.c:1839,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-quartz-surface.c:1825,1
    - Dst: assert
      Src: /src/cairo/src/cairo-quartz-surface.c:1847,1
    - Dst: CGContextReplacePathWithStrokedPath
      Src: /src/cairo/src/cairo-quartz-surface.c:1850,1
    - Dst: CGContextConcatCTM
      Src: /src/cairo/src/cairo-quartz-surface.c:1854,1
    - Dst: _cairo_quartz_draw_source
      Src: /src/cairo/src/cairo-quartz-surface.c:1856,1
    - Dst: CGContextSetShouldAntialias
      Src: /src/cairo/src/cairo-quartz-surface.c:1811,1
    - Dst: CGContextSetLineCap
      Src: /src/cairo/src/cairo-quartz-surface.c:1813,1
    - Dst: CAIRO_STACK_ARRAY_LENGTH
      Src: /src/cairo/src/cairo-quartz-surface.c:1818,1
    - Dst: free
      Src: /src/cairo/src/cairo-quartz-surface.c:1837,1
    - Dst: CGContextConcatCTM
      Src: /src/cairo/src/cairo-quartz-surface.c:1844,1
    - Dst: ND
      Src: /src/cairo/src/cairo-quartz-surface.c:1862,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 8
    argNames:
    - compositor
    - extents
    - path
    - style
    - ctm
    - ctm_inverse
    - tolerance
    - antialias
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_antialias_t
    constantsTouched: []
    func_position:
      end: 1864
      start: 1787
    functionDepth: 0
    functionLinenumber: 1787
    functionLinenumberEnd: 1864
    functionName: _cairo_quartz_cg_stroke
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - _cairo_quartz_cairo_line_join_to_quartz
    - CGContextSetLineJoin
    - CGContextSetMiterLimit
    - _cairo_error
    - _cairo_quartz_draw_source
    - ND
    - _cairo_quartz_cairo_path_to_quartz_context
    - CGContextStrokePath
    - unlikely
    - CGContextReplacePathWithStrokedPath
    - CGContextClip
    - _cairo_quartz_cairo_line_cap_to_quartz
    - ARRAY_LENGTH
    - assert
    - CGContextSetLineWidth
    - CGContextSetLineCap
    - CGContextConcatCTM
    - _cairo_quartz_cairo_matrix_to_quartz
    - CGContextSetLineDash
    - CGContextSetShouldAntialias
    - _cairo_quartz_setup_state
    - free
    - _cairo_quartz_teardown_state
    - _cairo_malloc_ab
    - CAIRO_STACK_ARRAY_LENGTH
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_quartz_cg_stroke (const cairo_compositor_t\
      \ *compositor,\t\t\t cairo_composite_rectangles_t *extents,\t\t\t const cairo_path_fixed_t\
      \ *path,\t\t\t const cairo_stroke_style_t *style,\t\t\t const cairo_matrix_t\
      \ *ctm,\t\t\t const cairo_matrix_t *ctm_inverse,\t\t\t double tolerance,\t\t\
      \t cairo_antialias_t antialias) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_compositor_mask
      Src: /src/cairo/src/cairo-quartz-surface.c:1995,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - surface
    - op
    - source
    - mask
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 1998
      start: 1988
    functionDepth: 0
    functionLinenumber: 1988
    functionLinenumberEnd: 1998
    functionName: _cairo_quartz_surface_mask
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - _cairo_compositor_mask
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_quartz_surface_mask (void *surface,\t\
      \t\t cairo_operator_t op,\t\t\t const cairo_pattern_t *source,\t\t\t const cairo_pattern_t\
      \ *mask,\t\t\t const cairo_clip_t *clip) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/cairo/src/cairo-quartz-surface.c:571,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-quartz-surface.c:573,1
    - Dst: fmod
      Src: /src/cairo/src/cairo-quartz-surface.c:573,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 3
    argNames:
    - info
    - in
    - out
    argTypes:
    - void*
    - cairo_quartz_float_t*
    - cairo_quartz_float_t*
    constantsTouched: []
    func_position:
      end: 608
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 608
    functionName: ComputeGradientValue
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - fabs
    - fmod
    - floor
    linkageType: ''
    returnType: void
    signature: 'static void ComputeGradientValue (void *info, const cairo_quartz_float_t
      *in, cairo_quartz_float_t *out) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_format_from_content
      Src: /src/cairo/src/cairo-quartz-surface.c:827,1
    - Dst: _cairo_surface_to_cgimage
      Src: /src/cairo/src/cairo-quartz-surface.c:847,1
    - Dst: _cairo_surface_get_extents
      Src: /src/cairo/src/cairo-quartz-surface.c:838,1
    - Dst: assert
      Src: /src/cairo/src/cairo-quartz-surface.c:842,1
    - Dst: assert
      Src: /src/cairo/src/cairo-quartz-surface.c:845,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-quartz-surface.c:850,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-quartz-surface.c:853,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-quartz-surface.c:854,1
    - Dst: CGImageRelease
      Src: /src/cairo/src/cairo-quartz-surface.c:856,1
    - Dst: CGRectMake
      Src: /src/cairo/src/cairo-quartz-surface.c:861,1
    - Dst: ND
      Src: /src/cairo/src/cairo-quartz-surface.c:895,1
    - Dst: CGContextGetCTM
      Src: /src/cairo/src/cairo-quartz-surface.c:896,1
    - Dst: ND
      Src: /src/cairo/src/cairo-quartz-surface.c:897,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-quartz-surface.c:883,1
    - Dst: ND
      Src: /src/cairo/src/cairo-quartz-surface.c:894,1
    - Dst: CGPatternCreate
      Src: /src/cairo/src/cairo-quartz-surface.c:900,1
    - Dst: _cairo_quartz_cairo_matrix_to_quartz
      Src: /src/cairo/src/cairo-quartz-surface.c:884,1
    - Dst: CGAffineTransformConcat
      Src: /src/cairo/src/cairo-quartz-surface.c:891,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 4
    argNames:
    - surface
    - source
    - clip
    - cgpat
    argTypes:
    - cairo_quartz_surface_t*
    - cairo_pattern_t*
    - cairo_clip_t*
    - CGPatternRef*
    constantsTouched: []
    func_position:
      end: 909
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 909
    functionName: _cairo_quartz_cairo_repeating_surface_pattern_to_quartz
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - cairo_matrix_invert
    - _cairo_format_from_content
    - CGPatternCreate
    - CGRectMake
    - CGContextGetCTM
    - assert
    - _cairo_surface_get_extents
    - CGAffineTransformConcat
    - _cairo_surface_to_cgimage
    - ND
    - CGImageRelease
    - _cairo_calloc
    - _cairo_quartz_cairo_matrix_to_quartz
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_quartz_cairo_repeating_surface_pattern_to_quartz\
      \ (cairo_quartz_surface_t *surface,\t\t\t\t\t\t\t const cairo_pattern_t *source,\t\
      \t\t\t\t\t\t const cairo_clip_t *clip,\t\t\t\t\t\t\t CGPatternRef *cgpat) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-quartz-surface.c:1083,1
    - Dst: CairoQuartzCreateGradientFunction
      Src: /src/cairo/src/cairo-quartz-surface.c:1089,1
    - Dst: _cairo_quartz_cairo_matrix_to_quartz
      Src: /src/cairo/src/cairo-quartz-surface.c:1087,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-quartz-surface.c:1092,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-quartz-surface.c:1086,1
    - Dst: _cairo_quartz_create_color_space
      Src: /src/cairo/src/cairo-quartz-surface.c:1095,1
    - Dst: CGShadingCreateAxial
      Src: /src/cairo/src/cairo-quartz-surface.c:1098,1
    - Dst: CGPointMake
      Src: /src/cairo/src/cairo-quartz-surface.c:1099,1
    - Dst: CGPointMake
      Src: /src/cairo/src/cairo-quartz-surface.c:1101,1
    - Dst: CGShadingCreateRadial
      Src: /src/cairo/src/cairo-quartz-surface.c:1106,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-quartz-surface.c:1112,1
    - Dst: CGFunctionRelease
      Src: /src/cairo/src/cairo-quartz-surface.c:1118,1
    - Dst: CGColorSpaceRelease
      Src: /src/cairo/src/cairo-quartz-surface.c:1117,1
    - Dst: CGPointMake
      Src: /src/cairo/src/cairo-quartz-surface.c:1110,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-quartz-surface.c:1109,1
    - Dst: CGPointMake
      Src: /src/cairo/src/cairo-quartz-surface.c:1107,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 3
    argNames:
    - state
    - gradient
    - extents
    argTypes:
    - cairo_quartz_drawing_state_t*
    - cairo_gradient_pattern_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 1122
      start: 1072
    functionDepth: 0
    functionLinenumber: 1072
    functionLinenumberEnd: 1122
    functionName: _cairo_quartz_setup_gradient_source
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - CGShadingCreateAxial
    - CGColorSpaceRelease
    - CGShadingCreateRadial
    - MAX
    - CairoQuartzCreateGradientFunction
    - assert
    - CGPointMake
    - CGFunctionRelease
    - _cairo_quartz_create_color_space
    - cairo_matrix_invert
    - _cairo_quartz_cairo_matrix_to_quartz
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_quartz_setup_gradient_source (cairo_quartz_drawing_state_t\
      \ *state,\t\t\t\t const cairo_gradient_pattern_t *gradient,\t\t\t\t const cairo_rectangle_int_t\
      \ *extents) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-quartz-surface.c:2418,1
    - Dst: _is_quartz_surface
      Src: /src/cairo/src/cairo-quartz-surface.c:2418,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-quartz-surface.c:2422,1
    - Dst: _cairo_surface_has_snapshot
      Src: /src/cairo/src/cairo-quartz-surface.c:2420,1
    - Dst: _cairo_quartz_snapshot_create
      Src: /src/cairo/src/cairo-quartz-surface.c:2424,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-quartz-surface.c:2425,1
    - Dst: cairo_surface_status
      Src: /src/cairo/src/cairo-quartz-surface.c:2425,1
    - Dst: CGImageRetain
      Src: /src/cairo/src/cairo-quartz-surface.c:2429,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 2430
      start: 2414
    functionDepth: 0
    functionLinenumber: 2414
    functionLinenumberEnd: 2430
    functionName: _cairo_quartz_surface_snapshot_get_image
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - cairo_surface_status
    - _cairo_quartz_snapshot_create
    - CGImageRetain
    - assert
    - _cairo_surface_has_snapshot
    - _is_quartz_surface
    - unlikely
    linkageType: ''
    returnType: CGImageRef
    signature: 'CGImageRef _cairo_quartz_surface_snapshot_get_image (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_quartz_create_cgcolor
      Src: /src/cairo/src/cairo-quartz-surface.c:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - cs
    argTypes:
    - CGColorSpaceRef
    constantsTouched: []
    func_position:
      end: 230
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 230
    functionName: _cairo_quartz_black
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - _cairo_quartz_create_cgcolor
    linkageType: ''
    returnType: CGColorRef
    signature: 'static CGColorRef _cairo_quartz_black (CGColorSpaceRef cs) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ND
      Src: /src/cairo/src/cairo-quartz-surface.c:443,1
    - Dst: _cairo_cgcontext_set_cairo_operator
      Src: /src/cairo/src/cairo-quartz-surface.c:471,1
    - Dst: assert
      Src: /src/cairo/src/cairo-quartz-surface.c:449,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 2
    argNames:
    - surface
    - op
    argTypes:
    - cairo_quartz_surface_t*
    - cairo_operator_t
    constantsTouched: []
    func_position:
      end: 472
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 472
    functionName: _cairo_quartz_surface_set_cairo_operator
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - _cairo_cgcontext_set_cairo_operator
    - ND
    - assert
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t _cairo_quartz_surface_set_cairo_operator
      (cairo_quartz_surface_t *surface, cairo_operator_t op) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - cjoin
    argTypes:
    - cairo_line_join_t
    constantsTouched: []
    func_position:
      end: 508
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 508
    functionName: _cairo_quartz_cairo_line_join_to_quartz
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CGLineJoin
    signature: 'static inline CGLineJoin _cairo_quartz_cairo_line_join_to_quartz (cairo_line_join_t
      cjoin) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - cairo_matrix_t*
    - CGAffineTransform*
    constantsTouched: []
    func_position:
      end: 551
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 551
    functionName: _cairo_quartz_cairo_matrix_to_quartz
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static inline void _cairo_quartz_cairo_matrix_to_quartz (const cairo_matrix_t\
      \ *src,\t\t\t\t CGAffineTransform *dst) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CGContextTranslateCTM
      Src: /src/cairo/src/cairo-quartz-surface.c:781,1
    - Dst: CGContextScaleCTM
      Src: /src/cairo/src/cairo-quartz-surface.c:793,1
    - Dst: CGContextDrawImage
      Src: /src/cairo/src/cairo-quartz-surface.c:794,1
    - Dst: CGContextDrawImage
      Src: /src/cairo/src/cairo-quartz-surface.c:784,1
    - Dst: CGContextScaleCTM
      Src: /src/cairo/src/cairo-quartz-surface.c:782,1
    - Dst: CGContextTranslateCTM
      Src: /src/cairo/src/cairo-quartz-surface.c:799,1
    - Dst: CGContextScaleCTM
      Src: /src/cairo/src/cairo-quartz-surface.c:800,1
    - Dst: CGContextDrawImage
      Src: /src/cairo/src/cairo-quartz-surface.c:801,1
    - Dst: CGContextScaleCTM
      Src: /src/cairo/src/cairo-quartz-surface.c:804,1
    - Dst: CGContextDrawImage
      Src: /src/cairo/src/cairo-quartz-surface.c:805,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ainfo
    - context
    argTypes:
    - void*
    - CGContextRef
    constantsTouched: []
    func_position:
      end: 807
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 807
    functionName: SurfacePatternDrawFunc
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - CGContextTranslateCTM
    - CGContextScaleCTM
    - CGContextDrawImage
    linkageType: ''
    returnType: void
    signature: 'static void SurfacePatternDrawFunc (void *ainfo, CGContextRef context) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_get_extents
      Src: /src/cairo/src/cairo-quartz-surface.c:962,1
    - Dst: _cairo_quartz_create_color_space
      Src: /src/cairo/src/cairo-quartz-surface.c:960,1
    - Dst: _cairo_quartz_cairo_matrix_to_quartz
      Src: /src/cairo/src/cairo-quartz-surface.c:991,1
    - Dst: CGContextGetCTM
      Src: /src/cairo/src/cairo-quartz-surface.c:1025,1
    - Dst: CGContextSetStrokeColorSpace
      Src: /src/cairo/src/cairo-quartz-surface.c:1044,1
    - Dst: _cairo_format_from_content
      Src: /src/cairo/src/cairo-quartz-surface.c:952,1
    - Dst: assert
      Src: /src/cairo/src/cairo-quartz-surface.c:995,1
    - Dst: CGLayerCreateWithContext
      Src: /src/cairo/src/cairo-quartz-surface.c:1007,1
    - Dst: _cairo_surface_get_extents
      Src: /src/cairo/src/cairo-quartz-surface.c:997,1
    - Dst: CGContextSetFillColorWithColor
      Src: /src/cairo/src/cairo-quartz-surface.c:1016,1
    - Dst: CGAffineTransformConcat
      Src: /src/cairo/src/cairo-quartz-surface.c:1025,1
    - Dst: CGRectApplyAffineTransform
      Src: /src/cairo/src/cairo-quartz-surface.c:1028,1
    - Dst: CGAffineTransformInvert
      Src: /src/cairo/src/cairo-quartz-surface.c:1029,1
    - Dst: CGContextSetFillColorSpace
      Src: /src/cairo/src/cairo-quartz-surface.c:1042,1
    - Dst: CGContextSetStrokePattern
      Src: /src/cairo/src/cairo-quartz-surface.c:1045,1
    - Dst: CGContextSetPatternPhase
      Src: /src/cairo/src/cairo-quartz-surface.c:1052,1
    - Dst: CGPatternRelease
      Src: /src/cairo/src/cairo-quartz-surface.c:1054,1
    - Dst: CGSizeMake
      Src: /src/cairo/src/cairo-quartz-surface.c:1052,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-quartz-surface.c:968,1
    - Dst: _cairo_quartz_black
      Src: /src/cairo/src/cairo-quartz-surface.c:960,1
    - Dst: _cairo_matrix_is_translation
      Src: /src/cairo/src/cairo-quartz-surface.c:984,1
    - Dst: _cairo_surface_get_extents
      Src: /src/cairo/src/cairo-quartz-surface.c:994,1
    - Dst: _cairo_matrix_is_integer_translation
      Src: /src/cairo/src/cairo-quartz-surface.c:1005,1
    - Dst: ceil
      Src: /src/cairo/src/cairo-quartz-surface.c:986,1
    - Dst: CGLayerGetContext
      Src: /src/cairo/src/cairo-quartz-surface.c:1010,1
    - Dst: CGContextTranslateCTM
      Src: /src/cairo/src/cairo-quartz-surface.c:1011,1
    - Dst: CGRectMake
      Src: /src/cairo/src/cairo-quartz-surface.c:1027,1
    - Dst: _cairo_quartz_cairo_repeating_surface_pattern_to_quartz
      Src: /src/cairo/src/cairo-quartz-surface.c:1034,1
    - Dst: CGColorSpaceRelease
      Src: /src/cairo/src/cairo-quartz-surface.c:1046,1
    - Dst: CGContextSetFillPattern
      Src: /src/cairo/src/cairo-quartz-surface.c:1043,1
    - Dst: _cairo_quartz_cairo_matrix_to_quartz
      Src: /src/cairo/src/cairo-quartz-surface.c:969,1
    - Dst: CGRectMake
      Src: /src/cairo/src/cairo-quartz-surface.c:970,1
    - Dst: _cairo_surface_to_cgimage
      Src: /src/cairo/src/cairo-quartz-surface.c:977,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-quartz-surface.c:979,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-quartz-surface.c:988,1
    - Dst: ceil
      Src: /src/cairo/src/cairo-quartz-surface.c:985,1
    - Dst: CGRectMake
      Src: /src/cairo/src/cairo-quartz-surface.c:1018,1
    - Dst: CGRectApplyAffineTransform
      Src: /src/cairo/src/cairo-quartz-surface.c:1030,1
    - Dst: CGColorSpaceCreatePattern
      Src: /src/cairo/src/cairo-quartz-surface.c:1038,1
    - Dst: CGContextSetInterpolationQuality
      Src: /src/cairo/src/cairo-quartz-surface.c:1041,1
    - Dst: CGColorRelease
      Src: /src/cairo/src/cairo-quartz-surface.c:1055,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-quartz-surface.c:1035,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 90
    argCount: 5
    argNames:
    - state
    - source
    - surface
    - clip
    - op
    argTypes:
    - cairo_quartz_drawing_state_t*
    - cairo_pattern_t*
    - cairo_quartz_surface_t*
    - cairo_clip_t*
    - cairo_operator_t
    constantsTouched: []
    func_position:
      end: 1059
      start: 942
    functionDepth: 0
    functionLinenumber: 942
    functionLinenumberEnd: 1059
    functionName: _cairo_quartz_setup_pattern_source
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - CGContextSetStrokeColorSpace
    - CGRectMake
    - CGSizeMake
    - _cairo_surface_get_extents
    - CGAffineTransformInvert
    - CGContextSetFillPattern
    - CGColorRelease
    - CGColorSpaceCreatePattern
    - _cairo_quartz_create_color_space
    - CGContextSetInterpolationQuality
    - CGPatternRelease
    - CGContextSetFillColorWithColor
    - _cairo_matrix_is_translation
    - _cairo_matrix_is_integer_translation
    - CGLayerGetContext
    - CGContextTranslateCTM
    - CGAffineTransformConcat
    - ceil
    - _cairo_format_from_content
    - CGContextGetCTM
    - assert
    - CGRectApplyAffineTransform
    - CGContextSetPatternPhase
    - CGLayerCreateWithContext
    - CGContextSetStrokePattern
    - _cairo_quartz_cairo_matrix_to_quartz
    - CGColorSpaceRelease
    - _cairo_quartz_black
    - _cairo_surface_to_cgimage
    - CGContextSetFillColorSpace
    - _cairo_quartz_cairo_repeating_surface_pattern_to_quartz
    - cairo_matrix_invert
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_quartz_setup_pattern_source (cairo_quartz_drawing_state_t\
      \ *state,\t\t\t\t const cairo_pattern_t *source,\t\t\t\t cairo_quartz_surface_t\
      \ *surface,\t\t\t\t const cairo_clip_t *clip,\t\t\t\t cairo_operator_t op) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_quartz_create_color_space
      Src: /src/cairo/src/cairo-quartz-surface.c:1271,1
    - Dst: CGContextBeginPath
      Src: /src/cairo/src/cairo-quartz-surface.c:1278,1
    - Dst: _cairo_quartz_create_cgcolor
      Src: /src/cairo/src/cairo-quartz-surface.c:1272,1
    - Dst: CGContextAddRect
      Src: /src/cairo/src/cairo-quartz-surface.c:1279,1
    - Dst: CGContextTranslateCTM
      Src: /src/cairo/src/cairo-quartz-surface.c:1281,1
    - Dst: CGContextScaleCTM
      Src: /src/cairo/src/cairo-quartz-surface.c:1282,1
    - Dst: CGContextConcatCTM
      Src: /src/cairo/src/cairo-quartz-surface.c:1283,1
    - Dst: CGAffineTransformInvert
      Src: /src/cairo/src/cairo-quartz-surface.c:1284,1
    - Dst: CGContextAddRect
      Src: /src/cairo/src/cairo-quartz-surface.c:1286,1
    - Dst: CGContextSetFillColorWithColor
      Src: /src/cairo/src/cairo-quartz-surface.c:1288,1
    - Dst: CGContextEOFillPath
      Src: /src/cairo/src/cairo-quartz-surface.c:1289,1
    - Dst: CGColorRelease
      Src: /src/cairo/src/cairo-quartz-surface.c:1290,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - state
    - op
    argTypes:
    - cairo_quartz_drawing_state_t*
    - cairo_operator_t
    constantsTouched: []
    func_position:
      end: 1291
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1291
    functionName: _cairo_quartz_draw_cgcontext
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - CGContextEOFillPath
    - CGContextSetFillColorWithColor
    - _cairo_quartz_create_cgcolor
    - CGContextAddRect
    - CGContextTranslateCTM
    - CGContextScaleCTM
    - CGAffineTransformInvert
    - CGContextBeginPath
    - CGContextConcatCTM
    - CGColorRelease
    - _cairo_quartz_create_color_space
    linkageType: ''
    returnType: void
    signature: "static inline void _cairo_quartz_draw_cgcontext (cairo_quartz_drawing_state_t\
      \ *state,\t\t\t cairo_operator_t op) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ND
      Src: /src/cairo/src/cairo-quartz-surface.c:1412,1
    - Dst: _cairo_quartz_is_zero_surface
      Src: /src/cairo/src/cairo-quartz-surface.c:1414,1
    - Dst: CGContextRelease
      Src: /src/cairo/src/cairo-quartz-surface.c:1421,1
    - Dst: _cairo_surface_clipper_reset
      Src: /src/cairo/src/cairo-quartz-surface.c:1419,1
    - Dst: CGContextRestoreGState
      Src: /src/cairo/src/cairo-quartz-surface.c:1418,1
    - Dst: CGLayerRelease
      Src: /src/cairo/src/cairo-quartz-surface.c:1427,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1432
      start: 1407
    functionDepth: 0
    functionLinenumber: 1407
    functionLinenumberEnd: 1432
    functionName: _cairo_quartz_surface_finish
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - CGLayerRelease
    - CGContextRelease
    - ND
    - _cairo_quartz_is_zero_surface
    - CGContextRestoreGState
    - _cairo_surface_clipper_reset
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_quartz_surface_finish (void *abstract_surface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-quartz-surface.c:235,1
    - Dst: CGContextGetTypePtr
      Src: /src/cairo/src/cairo-quartz-surface.c:241,1
    - Dst: quartz_ensure_symbols
      Src: /src/cairo/src/cairo-quartz-surface.c:238,1
    - Dst: CGBitmapContextGetBitsPerPixel
      Src: /src/cairo/src/cairo-quartz-surface.c:245,1
    - Dst: likely
      Src: /src/cairo/src/cairo-quartz-surface.c:239,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - cgc
    argTypes:
    - CGContextRef
    constantsTouched: []
    func_position:
      end: 246
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 246
    functionName: _cairo_quartz_is_cgcontext_bitmap_context
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - CGContextGetTypePtr
    - quartz_ensure_symbols
    - CGBitmapContextGetBitsPerPixel
    - likely
    - unlikely
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static inline cairo_bool_t _cairo_quartz_is_cgcontext_bitmap_context
      (CGContextRef cgc) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - ccap
    argTypes:
    - cairo_line_cap_t
    constantsTouched: []
    func_position:
      end: 490
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 490
    functionName: _cairo_quartz_cairo_line_cap_to_quartz
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CGLineCap
    signature: 'static inline CGLineCap _cairo_quartz_cairo_line_cap_to_quartz (cairo_line_cap_t
      ccap) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - cairo_filter_t
    constantsTouched: []
    func_position:
      end: 539
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 539
    functionName: _cairo_quartz_filter_to_quartz
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CGInterpolationQuality
    signature: 'static inline CGInterpolationQuality _cairo_quartz_filter_to_quartz
      (cairo_filter_t filter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CGImageRelease
      Src: /src/cairo/src/cairo-quartz-surface.c:814,1
    - Dst: free
      Src: /src/cairo/src/cairo-quartz-surface.c:815,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - ainfo
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 816
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 816
    functionName: SurfacePatternReleaseInfoFunc
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - free
    - CGImageRelease
    linkageType: ''
    returnType: void
    signature: 'static void SurfacePatternReleaseInfoFunc (void *ainfo) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CGContextSetShouldAntialias
      Src: /src/cairo/src/cairo-quartz-surface.c:1298,1
    - Dst: CGContextDrawShading
      Src: /src/cairo/src/cairo-quartz-surface.c:1309,1
    - Dst: CGContextFillRect
      Src: /src/cairo/src/cairo-quartz-surface.c:1302,1
    - Dst: CGContextConcatCTM
      Src: /src/cairo/src/cairo-quartz-surface.c:1306,1
    - Dst: CGContextSetInterpolationQuality
      Src: /src/cairo/src/cairo-quartz-surface.c:1299,1
    - Dst: CGContextTranslateCTM
      Src: /src/cairo/src/cairo-quartz-surface.c:1313,1
    - Dst: CGContextScaleCTM
      Src: /src/cairo/src/cairo-quartz-surface.c:1314,1
    - Dst: CGContextDrawImage
      Src: /src/cairo/src/cairo-quartz-surface.c:1317,1
    - Dst: _cairo_quartz_draw_cgcontext
      Src: /src/cairo/src/cairo-quartz-surface.c:1318,1
    - Dst: CGContextDrawLayerInRect
      Src: /src/cairo/src/cairo-quartz-surface.c:1323,1
    - Dst: _cairo_quartz_draw_cgcontext
      Src: /src/cairo/src/cairo-quartz-surface.c:1324,1
    - Dst: assert
      Src: /src/cairo/src/cairo-quartz-surface.c:1327,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - state
    - op
    argTypes:
    - cairo_quartz_drawing_state_t*
    - cairo_operator_t
    constantsTouched: []
    func_position:
      end: 1328
      start: 1294
    functionDepth: 0
    functionLinenumber: 1294
    functionLinenumberEnd: 1328
    functionName: _cairo_quartz_draw_source
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - CGContextDrawImage
    - CGContextSetInterpolationQuality
    - CGContextFillRect
    - CGContextDrawLayerInRect
    - assert
    - CGContextDrawShading
    - CGContextTranslateCTM
    - CGContextScaleCTM
    - _cairo_quartz_draw_cgcontext
    - CGContextConcatCTM
    - CGContextSetShouldAntialias
    linkageType: ''
    returnType: void
    signature: "static void _cairo_quartz_draw_source (cairo_quartz_drawing_state_t\
      \ *state,\t\t\t cairo_operator_t op) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_quartz_surface_map_to_image
      Src: /src/cairo/src/cairo-quartz-surface.c:1445,1
    - Dst: cairo_surface_status
      Src: /src/cairo/src/cairo-quartz-surface.c:1446,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-quartz-surface.c:1446,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-quartz-surface.c:1449,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-quartz-surface.c:1447,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - abstract_surface
    - image_out
    - image_extra
    argTypes:
    - void*
    - cairo_image_surface_t**
    - void**
    constantsTouched: []
    func_position:
      end: 1453
      start: 1434
    functionDepth: 0
    functionLinenumber: 1434
    functionLinenumberEnd: 1453
    functionName: _cairo_quartz_surface_acquire_source_image
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - cairo_surface_status
    - cairo_surface_destroy
    - _cairo_quartz_surface_map_to_image
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_quartz_surface_acquire_source_image (void\
      \ *abstract_surface,\t\t\t\t\t cairo_image_surface_t **image_out,\t\t\t\t\t\
      \ void **image_extra) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CGImageGetWidth
      Src: /src/cairo/src/cairo-quartz-surface.c:1601,1
    - Dst: _cairo_quartz_cairo_matrix_to_quartz
      Src: /src/cairo/src/cairo-quartz-surface.c:1602,1
    - Dst: CGContextScaleCTM
      Src: /src/cairo/src/cairo-quartz-surface.c:1608,1
    - Dst: CGContextSetShouldAntialias
      Src: /src/cairo/src/cairo-quartz-surface.c:1613,1
    - Dst: CGContextSetInterpolationQuality
      Src: /src/cairo/src/cairo-quartz-surface.c:1612,1
    - Dst: _cairo_quartz_setup_state
      Src: /src/cairo/src/cairo-quartz-surface.c:1597,1
    - Dst: _cairo_surface_to_cgimage
      Src: /src/cairo/src/cairo-quartz-surface.c:1592,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-quartz-surface.c:1594,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-quartz-surface.c:1598,1
    - Dst: CGContextClipToMask
      Src: /src/cairo/src/cairo-quartz-surface.c:1615,1
    - Dst: CGContextConcatCTM
      Src: /src/cairo/src/cairo-quartz-surface.c:1606,1
    - Dst: CGContextTranslateCTM
      Src: /src/cairo/src/cairo-quartz-surface.c:1618,1
    - Dst: CGImageRelease
      Src: /src/cairo/src/cairo-quartz-surface.c:1626,1
    - Dst: _cairo_format_from_content
      Src: /src/cairo/src/cairo-quartz-surface.c:1587,1
    - Dst: CGRectMake
      Src: /src/cairo/src/cairo-quartz-surface.c:1601,1
    - Dst: CGImageGetHeight
      Src: /src/cairo/src/cairo-quartz-surface.c:1601,1
    - Dst: CGAffineTransformInvert
      Src: /src/cairo/src/cairo-quartz-surface.c:1606,1
    - Dst: CGContextScaleCTM
      Src: /src/cairo/src/cairo-quartz-surface.c:1617,1
    - Dst: _cairo_quartz_teardown_state
      Src: /src/cairo/src/cairo-quartz-surface.c:1624,1
    - Dst: _cairo_surface_get_extents
      Src: /src/cairo/src/cairo-quartz-surface.c:1591,1
    - Dst: CGContextTranslateCTM
      Src: /src/cairo/src/cairo-quartz-surface.c:1607,1
    - Dst: CGContextConcatCTM
      Src: /src/cairo/src/cairo-quartz-surface.c:1619,1
    - Dst: _cairo_quartz_draw_source
      Src: /src/cairo/src/cairo-quartz-surface.c:1621,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 4
    argNames:
    - extents
    - mask_surf
    - mask_mat
    - filter
    argTypes:
    - cairo_composite_rectangles_t*
    - cairo_surface_t*
    - cairo_matrix_t*
    - CGInterpolationQuality
    constantsTouched: []
    func_position:
      end: 1629
      start: 1576
    functionDepth: 0
    functionLinenumber: 1576
    functionLinenumberEnd: 1629
    functionName: _cairo_quartz_cg_mask_with_surface
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - _cairo_quartz_draw_source
    - CGRectMake
    - _cairo_surface_get_extents
    - CGAffineTransformInvert
    - CGContextSetInterpolationQuality
    - CGContextTranslateCTM
    - CGContextScaleCTM
    - CGImageGetWidth
    - _cairo_format_from_content
    - CGContextConcatCTM
    - CGImageRelease
    - _cairo_quartz_cairo_matrix_to_quartz
    - CGImageGetHeight
    - CGContextSetShouldAntialias
    - CGContextClipToMask
    - _cairo_quartz_setup_state
    - _cairo_surface_to_cgimage
    - _cairo_quartz_teardown_state
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_quartz_cg_mask_with_surface (cairo_composite_rectangles_t\
      \ *extents,\t\t\t\t cairo_surface_t *mask_surf,\t\t\t\t const cairo_matrix_t\
      \ *mask_mat,\t\t\t\t CGInterpolationQuality filter) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CFSTR
      Src: /src/cairo/src/cairo-quartz-surface.c:2435,1
    - Dst: CFURLCreateWithFileSystemPath
      Src: /src/cairo/src/cairo-quartz-surface.c:2443,1
    - Dst: CGImageDestinationAddImage
      Src: /src/cairo/src/cairo-quartz-surface.c:2446,1
    - Dst: CFStringCreateWithCString
      Src: /src/cairo/src/cairo-quartz-surface.c:2442,1
    - Dst: CGImageDestinationCreateWithURL
      Src: /src/cairo/src/cairo-quartz-surface.c:2444,1
    - Dst: CGImageDestinationFinalize
      Src: /src/cairo/src/cairo-quartz-surface.c:2447,1
    - Dst: CFRelease
      Src: /src/cairo/src/cairo-quartz-surface.c:2449,1
    - Dst: CFRelease
      Src: /src/cairo/src/cairo-quartz-surface.c:2450,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - image
    - dest
    argTypes:
    - CGImageRef
    - char*
    constantsTouched: []
    func_position:
      end: 2451
      start: 2432
    functionDepth: 0
    functionLinenumber: 2432
    functionLinenumberEnd: 2451
    functionName: _cairo_quartz_image_to_png
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - CFRelease
    - CGImageDestinationAddImage
    - CGImageDestinationCreateWithURL
    - CGImageDestinationFinalize
    - CFStringCreateWithCString
    - CFURLCreateWithFileSystemPath
    - CFSTR
    linkageType: ''
    returnType: void
    signature: 'void _cairo_quartz_image_to_png (CGImageRef image, const char *dest) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_is_quartz
      Src: /src/cairo/src/cairo-quartz-surface.c:2458,1
    - Dst: _cairo_quartz_image_to_png
      Src: /src/cairo/src/cairo-quartz-surface.c:2465,1
    - Dst: CGBitmapContextCreateImage
      Src: /src/cairo/src/cairo-quartz-surface.c:2464,1
    - Dst: CGImageRelease
      Src: /src/cairo/src/cairo-quartz-surface.c:2467,1
    - Dst: _cairo_quartz_is_cgcontext_bitmap_context
      Src: /src/cairo/src/cairo-quartz-surface.c:2459,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - abstract_surface
    - dest
    argTypes:
    - cairo_surface_t*
    - char*
    constantsTouched: []
    func_position:
      end: 2469
      start: 2453
    functionDepth: 0
    functionLinenumber: 2453
    functionLinenumberEnd: 2469
    functionName: _cairo_quartz_surface_to_png
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - CGBitmapContextCreateImage
    - _cairo_quartz_image_to_png
    - CGImageRelease
    - _cairo_surface_is_quartz
    - _cairo_quartz_is_cgcontext_bitmap_context
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_quartz_surface_to_png (cairo_surface_t *abstract_surface,
      const char *dest) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND
      Src: /src/cairo/src/cairo-quartz-surface.c:1560,1
    - Dst: _cairo_quartz_setup_state
      Src: /src/cairo/src/cairo-quartz-surface.c:1563,1
    - Dst: _cairo_quartz_teardown_state
      Src: /src/cairo/src/cairo-quartz-surface.c:1570,1
    - Dst: _cairo_quartz_draw_source
      Src: /src/cairo/src/cairo-quartz-surface.c:1567,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-quartz-surface.c:1564,1
    - Dst: ND
      Src: /src/cairo/src/cairo-quartz-surface.c:1572,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - compositor
    - extents
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 1574
      start: 1553
    functionDepth: 0
    functionLinenumber: 1553
    functionLinenumberEnd: 1574
    functionName: _cairo_quartz_cg_paint
    functionSourceFile: /src/cairo/src/cairo-quartz-surface.c
    functionUses: []
    functionsReached:
    - _cairo_quartz_setup_state
    - _cairo_quartz_draw_source
    - ND
    - _cairo_quartz_teardown_state
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_quartz_cg_paint (const cairo_compositor_t\
      \ *compositor,\t\t\tcairo_composite_rectangles_t *extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_copy_intersect_rectangle
      Src: /src/cairo/src/cairo-surface-subsurface.c:120,1
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-surface-subsurface.c:124,1
    - Dst: _cairo_surface_offset_paint
      Src: /src/cairo/src/cairo-surface-subsurface.c:121,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - abstract_surface
    - op
    - source
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 126
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 126
    functionName: _cairo_surface_subsurface_paint
    functionSourceFile: /src/cairo/src/cairo-surface-subsurface.c
    functionUses: []
    functionsReached:
    - _cairo_clip_copy_intersect_rectangle
    - _cairo_surface_offset_paint
    - _cairo_clip_destroy
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_surface_subsurface_paint (void *abstract_surface,\t\
      \t\t\t cairo_operator_t op,\t\t\t\t const cairo_pattern_t *source,\t\t\t\t const\
      \ cairo_clip_t *clip) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_image_surface_create_with_content
      Src: /src/cairo/src/cairo-surface-subsurface.c:310,1
    - Dst: _cairo_pattern_init_for_surface
      Src: /src/cairo/src/cairo-surface-subsurface.c:316,1
    - Dst: _cairo_surface_paint
      Src: /src/cairo/src/cairo-surface-subsurface.c:321,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/src/cairo-surface-subsurface.c:317,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-subsurface.c:313,1
    - Dst: _cairo_pattern_fini
      Src: /src/cairo/src/cairo-surface-subsurface.c:324,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-subsurface.c:325,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-surface-subsurface.c:326,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 3
    argNames:
    - abstract_surface
    - image_out
    - extra_out
    argTypes:
    - void*
    - cairo_image_surface_t**
    - void**
    constantsTouched: []
    func_position:
      end: 333
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 333
    functionName: _cairo_surface_subsurface_acquire_source_image
    functionSourceFile: /src/cairo/src/cairo-surface-subsurface.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_init_for_surface
    - _cairo_pattern_fini
    - cairo_surface_destroy
    - _cairo_image_surface_create_with_content
    - cairo_matrix_init_translate
    - _cairo_surface_paint
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_surface_subsurface_acquire_source_image\
      \ (void *abstract_surface,\t\t\t\t\t\tcairo_image_surface_t **image_out,\t\t\
      \t\t\t\tvoid **extra_out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_copy_intersect_rectangle
      Src: /src/cairo/src/cairo-surface-subsurface.c:140,1
    - Dst: _cairo_surface_offset_mask
      Src: /src/cairo/src/cairo-surface-subsurface.c:141,1
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-surface-subsurface.c:144,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 5
    argNames:
    - abstract_surface
    - op
    - source
    - mask
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 146
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 146
    functionName: _cairo_surface_subsurface_mask
    functionSourceFile: /src/cairo/src/cairo-surface-subsurface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_offset_mask
    - _cairo_clip_copy_intersect_rectangle
    - _cairo_clip_destroy
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_surface_subsurface_mask (void *abstract_surface,\t\
      \t\t\tcairo_operator_t op,\t\t\t\tconst cairo_pattern_t *source,\t\t\t\tconst\
      \ cairo_pattern_t *mask,\t\t\t\tconst cairo_clip_t *clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-surface-subsurface.c:340,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - abstract_surface
    - image
    - abstract_extra
    argTypes:
    - void*
    - cairo_image_surface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 341
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 341
    functionName: _cairo_surface_subsurface_release_source_image
    functionSourceFile: /src/cairo/src/cairo-surface-subsurface.c
    functionUses: []
    functionsReached:
    - cairo_surface_destroy
    linkageType: ''
    returnType: void
    signature: "static void _cairo_surface_subsurface_release_source_image (void *abstract_surface,\t\
      \t\t\t\t\tcairo_image_surface_t *image,\t\t\t\t\t\tvoid *abstract_extra) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_copy_intersect_rectangle
      Src: /src/cairo/src/cairo-surface-subsurface.c:163,1
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-surface-subsurface.c:168,1
    - Dst: _cairo_surface_offset_fill
      Src: /src/cairo/src/cairo-surface-subsurface.c:164,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 8
    argNames:
    - abstract_surface
    - op
    - source
    - path
    - fill_rule
    - tolerance
    - antialias
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 170
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 170
    functionName: _cairo_surface_subsurface_fill
    functionSourceFile: /src/cairo/src/cairo-surface-subsurface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_offset_fill
    - _cairo_clip_copy_intersect_rectangle
    - _cairo_clip_destroy
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_surface_subsurface_fill (void\t\t\
      \t*abstract_surface,\t\t\t\tcairo_operator_t\t op,\t\t\t\tconst cairo_pattern_t\t\
      *source,\t\t\t\tconst cairo_path_fixed_t\t*path,\t\t\t\tcairo_fill_rule_t\t\
      \ fill_rule,\t\t\t\tdouble\t\t\t tolerance,\t\t\t\tcairo_antialias_t\t antialias,\t\
      \t\t\tconst cairo_clip_t\t\t*clip) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_rectangle_intersect
      Src: /src/cairo/src/cairo-surface-subsurface.c:251,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 5
    argNames:
    - abstract_surface
    - x
    - y
    - width
    - height
    argTypes:
    - void*
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 260
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 260
    functionName: _cairo_surface_subsurface_mark_dirty
    functionSourceFile: /src/cairo/src/cairo-surface-subsurface.c
    functionUses: []
    functionsReached:
    - _cairo_rectangle_intersect
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_surface_subsurface_mark_dirty (void *abstract_surface,\t\
      \t\t\t int x, int y,\t\t\t\t int width, int height) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-surface-subsurface.c:351,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-subsurface.c:358,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/src/cairo-surface-subsurface.c:362,1
    - Dst: _cairo_surface_create_scratch
      Src: /src/cairo/src/cairo-surface-subsurface.c:353,1
    - Dst: _cairo_pattern_init_for_surface
      Src: /src/cairo/src/cairo-surface-subsurface.c:361,1
    - Dst: _cairo_surface_paint
      Src: /src/cairo/src/cairo-surface-subsurface.c:365,1
    - Dst: _cairo_pattern_fini
      Src: /src/cairo/src/cairo-surface-subsurface.c:368,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-subsurface.c:370,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-surface-subsurface.c:371,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-surface-subsurface.c:372,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 376
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 376
    functionName: _cairo_surface_subsurface_snapshot
    functionSourceFile: /src/cairo/src/cairo-surface-subsurface.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_init_for_surface
    - _cairo_surface_create_scratch
    - TRACE
    - _cairo_pattern_fini
    - cairo_surface_destroy
    - _cairo_surface_create_in_error
    - cairo_matrix_init_translate
    - _cairo_surface_paint
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *_cairo_surface_subsurface_snapshot (void *abstract_surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-surface-subsurface.c:52,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-surface-subsurface.c:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 56
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 56
    functionName: _cairo_surface_subsurface_finish
    functionSourceFile: /src/cairo/src/cairo-surface-subsurface.c
    functionUses: []
    functionsReached:
    - cairo_surface_destroy
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_surface_subsurface_finish (void *abstract_surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_copy_intersect_rectangle
      Src: /src/cairo/src/cairo-surface-subsurface.c:189,1
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-surface-subsurface.c:195,1
    - Dst: _cairo_surface_offset_stroke
      Src: /src/cairo/src/cairo-surface-subsurface.c:190,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 10
    argNames:
    - abstract_surface
    - op
    - source
    - path
    - stroke_style
    - ctm
    - ctm_inverse
    - tolerance
    - antialias
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 197
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 197
    functionName: _cairo_surface_subsurface_stroke
    functionSourceFile: /src/cairo/src/cairo-surface-subsurface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_offset_stroke
    - _cairo_clip_copy_intersect_rectangle
    - _cairo_clip_destroy
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_surface_subsurface_stroke (void\t\
      \t\t\t*abstract_surface,\t\t\t\t cairo_operator_t\t\t op,\t\t\t\t const cairo_pattern_t\t\
      \t*source,\t\t\t\t const cairo_path_fixed_t\t\t*path,\t\t\t\t const cairo_stroke_style_t\t\
      *stroke_style,\t\t\t\t const cairo_matrix_t\t\t*ctm,\t\t\t\t const cairo_matrix_t\t\
      \t*ctm_inverse,\t\t\t\t double\t\t\t tolerance,\t\t\t\t cairo_antialias_t\t\t\
      \ antialias,\t\t\t\t const cairo_clip_t\t\t\t*clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - abstract_surface
    - extents
    argTypes:
    - void*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 274
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 274
    functionName: _cairo_surface_subsurface_get_extents
    functionSourceFile: /src/cairo/src/cairo-surface-subsurface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _cairo_surface_subsurface_get_extents (void *abstract_surface,\t\
      \t\t\t cairo_rectangle_int_t *extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 383
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 383
    functionName: _cairo_surface_subsurface_create_context
    functionSourceFile: /src/cairo/src/cairo-surface-subsurface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *_cairo_surface_subsurface_create_context(void *target) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_map_to_image
      Src: /src/cairo/src/cairo-surface-subsurface.c:98,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 99
    functionName: _cairo_surface_subsurface_map_to_image
    functionSourceFile: /src/cairo/src/cairo-surface-subsurface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_map_to_image
    linkageType: ''
    returnType: cairo_image_surface_t*
    signature: "static cairo_image_surface_t *_cairo_surface_subsurface_map_to_image\
      \ (void *abstract_surface,\t\t\t\t\tconst cairo_rectangle_int_t *extents) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - abstract_surface
    - options
    argTypes:
    - void*
    - cairo_font_options_t*
    constantsTouched: []
    func_position:
      end: 284
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 284
    functionName: _cairo_surface_subsurface_get_font_options
    functionSourceFile: /src/cairo/src/cairo-surface-subsurface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void _cairo_surface_subsurface_get_font_options (void *abstract_surface,\t\
      \t\t\t\t cairo_font_options_t *options) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-surface-subsurface.c:460,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-surface-subsurface.c:457,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-subsurface.c:461,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-subsurface.c:465,1
    - Dst: ceil
      Src: /src/cairo/src/cairo-surface-subsurface.c:485,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-subsurface.c:456,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-surface-subsurface.c:462,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-surface-subsurface.c:466,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-surface-subsurface.c:457,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-surface-subsurface.c:464,1
    - Dst: floor
      Src: /src/cairo/src/cairo-surface-subsurface.c:486,1
    - Dst: floor
      Src: /src/cairo/src/cairo-surface-subsurface.c:487,1
    - Dst: _cairo_surface_init
      Src: /src/cairo/src/cairo-surface-subsurface.c:477,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-subsurface.c:459,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-surface-subsurface.c:462,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-surface-subsurface.c:466,1
    - Dst: ceil
      Src: /src/cairo/src/cairo-surface-subsurface.c:484,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-surface-subsurface.c:499,1
    - Dst: cairo_surface_set_device_scale
      Src: /src/cairo/src/cairo-surface-subsurface.c:504,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 509
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 509
    functionName: cairo_surface_create_for_rectangle
    functionSourceFile: /src/cairo/src/cairo-surface-subsurface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_init
    - floor
    - _cairo_error
    - cairo_surface_reference
    - unlikely
    - cairo_surface_set_device_scale
    - _cairo_surface_create_in_error
    - ceil
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *cairo_surface_create_for_rectangle (cairo_surface_t\
      \ *target,\t\t\t\t double x, double y,\t\t\t\t double width, double height) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_unmap_image
      Src: /src/cairo/src/cairo-surface-subsurface.c:106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - abstract_surface
    - image
    argTypes:
    - void*
    - cairo_image_surface_t*
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: _cairo_surface_subsurface_unmap_image
    functionSourceFile: /src/cairo/src/cairo-surface-subsurface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_unmap_image
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_surface_subsurface_unmap_image (void\
      \ *abstract_surface,\t\t\t\t cairo_image_surface_t *image) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_get_source
      Src: /src/cairo/src/cairo-surface-subsurface.c:293,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 298
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 298
    functionName: _cairo_surface_subsurface_source
    functionSourceFile: /src/cairo/src/cairo-surface-subsurface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_get_source
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_surface_subsurface_source (void *abstract_surface,\t\
      \t\t\t cairo_rectangle_int_t *extents) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 69
    functionName: _cairo_surface_subsurface_create_similar
    functionSourceFile: /src/cairo/src/cairo-surface-subsurface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_surface_subsurface_create_similar (void\
      \ *other,\t\t\t\t\t cairo_content_t content,\t\t\t\t\t int width, int height) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_copy_intersect_rectangle
      Src: /src/cairo/src/cairo-surface-subsurface.c:213,1
    - Dst: _cairo_surface_offset_glyphs
      Src: /src/cairo/src/cairo-surface-subsurface.c:214,1
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-surface-subsurface.c:219,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 7
    argNames:
    - abstract_surface
    - op
    - source
    - glyphs
    - num_glyphs
    - scaled_font
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_glyph_t*
    - int
    - cairo_scaled_font_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 221
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 221
    functionName: _cairo_surface_subsurface_glyphs
    functionSourceFile: /src/cairo/src/cairo-surface-subsurface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_offset_glyphs
    - _cairo_clip_copy_intersect_rectangle
    - _cairo_clip_destroy
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_surface_subsurface_glyphs (void\t\
      \t\t*abstract_surface,\t\t\t\t cairo_operator_t\t op,\t\t\t\t const cairo_pattern_t\t\
      *source,\t\t\t\t cairo_glyph_t\t\t*glyphs,\t\t\t\t int\t\t\t num_glyphs,\t\t\
      \t\t cairo_scaled_font_t\t*scaled_font,\t\t\t\t const cairo_clip_t\t*clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-surface-subsurface.c:560,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-surface-subsurface.c:562,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 564
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 564
    functionName: _cairo_surface_subsurface_detach_snapshot
    functionSourceFile: /src/cairo/src/cairo-surface-subsurface.c
    functionUses: []
    functionsReached:
    - TRACE
    - cairo_surface_destroy
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_surface_subsurface_detach_snapshot (cairo_surface_t
      *surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 84
    functionName: _cairo_surface_subsurface_create_similar_image
    functionSourceFile: /src/cairo/src/cairo-surface-subsurface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_surface_subsurface_create_similar_image\
      \ (void *other,\t\t\t\t\t\tcairo_format_t format,\t\t\t\t\t\tint width, int\
      \ height) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_flush
      Src: /src/cairo/src/cairo-surface-subsurface.c:227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - abstract_surface
    - flags
    argTypes:
    - void*
    - unsigned
    constantsTouched: []
    func_position:
      end: 228
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 228
    functionName: _cairo_surface_subsurface_flush
    functionSourceFile: /src/cairo/src/cairo-surface-subsurface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_flush
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_surface_subsurface_flush (void *abstract_surface,
      unsigned flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-surface-subsurface.c:572,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-surface-subsurface.c:584,1
    - Dst: _cairo_surface_attach_snapshot
      Src: /src/cairo/src/cairo-surface-subsurface.c:586,1
    - Dst: _cairo_surface_detach_snapshot
      Src: /src/cairo/src/cairo-surface-subsurface.c:582,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - surface
    - snapshot
    argTypes:
    - cairo_surface_t*
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 588
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 588
    functionName: _cairo_surface_subsurface_set_snapshot
    functionSourceFile: /src/cairo/src/cairo-surface-subsurface.c
    functionUses: []
    functionsReached:
    - cairo_surface_reference
    - _cairo_surface_detach_snapshot
    - _cairo_surface_attach_snapshot
    - TRACE
    linkageType: ''
    returnType: void
    signature: "void _cairo_surface_subsurface_set_snapshot (cairo_surface_t *surface,\t\
      \t\t\t\tcairo_surface_t *snapshot) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-subsurface.c:517,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-surface-subsurface.c:518,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-subsurface.c:519,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-surface-subsurface.c:520,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-surface-subsurface.c:520,1
    - Dst: assert
      Src: /src/cairo/src/cairo-surface-subsurface.c:522,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-surface-subsurface.c:524,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-subsurface.c:525,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-surface-subsurface.c:526,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-surface-subsurface.c:526,1
    - Dst: _cairo_surface_init
      Src: /src/cairo/src/cairo-surface-subsurface.c:528,1
    - Dst: cairo_surface_set_device_scale
      Src: /src/cairo/src/cairo-surface-subsurface.c:547,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-surface-subsurface.c:542,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 552
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 552
    functionName: _cairo_surface_create_for_rectangle_int
    functionSourceFile: /src/cairo/src/cairo-surface-subsurface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_init
    - _cairo_error
    - cairo_surface_reference
    - unlikely
    - assert
    - cairo_surface_set_device_scale
    - _cairo_surface_create_in_error
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *_cairo_surface_create_for_rectangle_int (cairo_surface_t\
      \ *target,\t\t\t\t\t const cairo_rectangle_int_t *extents) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/cairo/src/cairo-lzw.c:99,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-lzw.c:101,1
    - Dst: free
      Src: /src/cairo/src/cairo-lzw.c:102,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-lzw.c:104,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - buf
    argTypes:
    - lzw_buf_t*
    constantsTouched: []
    func_position:
      end: 112
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 112
    functionName: _lzw_buf_grow
    functionSourceFile: /src/cairo/src/cairo-lzw.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - free
    - realloc
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _lzw_buf_grow (lzw_buf_t *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cairo/src/cairo-lzw.c:231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - table
    argTypes:
    - lzw_symbol_table_t*
    constantsTouched: []
    func_position:
      end: 232
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 232
    functionName: _lzw_symbol_table_init
    functionSourceFile: /src/cairo/src/cairo-lzw.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void _lzw_symbol_table_init (lzw_symbol_table_t *table) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-lzw.c:75,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-lzw.c:76,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-lzw.c:78,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - buf
    - size
    argTypes:
    - lzw_buf_t*
    - int
    constantsTouched: []
    func_position:
      end: 81
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 81
    functionName: _lzw_buf_init
    functionSourceFile: /src/cairo/src/cairo-lzw.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_malloc
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'static void _lzw_buf_init (lzw_buf_t *buf, int size) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-lzw.c:166,1
    - Dst: _lzw_buf_grow
      Src: /src/cairo/src/cairo-lzw.c:169,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-lzw.c:170,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - buf
    argTypes:
    - lzw_buf_t*
    constantsTouched: []
    func_position:
      end: 176
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 176
    functionName: _lzw_buf_store_pending
    functionSourceFile: /src/cairo/src/cairo-lzw.c
    functionUses: []
    functionsReached:
    - unlikely
    - _lzw_buf_grow
    - assert
    linkageType: ''
    returnType: void
    signature: 'static void _lzw_buf_store_pending (lzw_buf_t *buf) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-lzw.c:129,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-lzw.c:140,1
    - Dst: _lzw_buf_grow
      Src: /src/cairo/src/cairo-lzw.c:139,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - buf
    - value
    - num_bits
    argTypes:
    - lzw_buf_t*
    - uint16_t
    - int
    constantsTouched: []
    func_position:
      end: 146
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 146
    functionName: _lzw_buf_store_bits
    functionSourceFile: /src/cairo/src/cairo-lzw.c
    functionUses: []
    functionsReached:
    - unlikely
    - _lzw_buf_grow
    - assert
    linkageType: ''
    returnType: void
    signature: 'static void _lzw_buf_store_bits (lzw_buf_t *buf, uint16_t value, int
      num_bits) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 3
    argNames:
    - table
    - symbol
    - slot_ret
    argTypes:
    - lzw_symbol_table_t*
    - lzw_symbol_t
    - lzw_symbol_t**
    constantsTouched: []
    func_position:
      end: 304
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 304
    functionName: _lzw_symbol_table_lookup
    functionSourceFile: /src/cairo/src/cairo-lzw.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _lzw_symbol_table_lookup (lzw_symbol_table_t\t\
      \ *table,\t\t\t lzw_symbol_t\t\t symbol,\t\t\t lzw_symbol_t\t\t**slot_ret) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _lzw_buf_init
      Src: /src/cairo/src/cairo-lzw.c:338,1
    - Dst: _lzw_symbol_table_lookup
      Src: /src/cairo/src/cairo-lzw.c:357,1
    - Dst: LZW_SYMBOL_SET
      Src: /src/cairo/src/cairo-lzw.c:356,1
    - Dst: _lzw_buf_store_bits
      Src: /src/cairo/src/cairo-lzw.c:343,1
    - Dst: _lzw_symbol_table_init
      Src: /src/cairo/src/cairo-lzw.c:340,1
    - Dst: LZW_SYMBOL_GET_CODE
      Src: /src/cairo/src/cairo-lzw.c:358,1
    - Dst: _lzw_buf_store_bits
      Src: /src/cairo/src/cairo-lzw.c:369,1
    - Dst: likely
      Src: /src/cairo/src/cairo-lzw.c:371,1
    - Dst: LZW_SYMBOL_SET_CODE
      Src: /src/cairo/src/cairo-lzw.c:372,1
    - Dst: LZW_BITS_BOUNDARY
      Src: /src/cairo/src/cairo-lzw.c:376,1
    - Dst: _lzw_buf_store_bits
      Src: /src/cairo/src/cairo-lzw.c:381,1
    - Dst: assert
      Src: /src/cairo/src/cairo-lzw.c:402,1
    - Dst: _lzw_buf_store_bits
      Src: /src/cairo/src/cairo-lzw.c:392,1
    - Dst: _lzw_symbol_table_init
      Src: /src/cairo/src/cairo-lzw.c:380,1
    - Dst: _lzw_buf_store_pending
      Src: /src/cairo/src/cairo-lzw.c:394,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 406
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 406
    functionName: _cairo_lzw_compress
    functionSourceFile: /src/cairo/src/cairo-lzw.c
    functionUses: []
    functionsReached:
    - _lzw_buf_store_pending
    - _lzw_symbol_table_init
    - _lzw_buf_init
    - LZW_SYMBOL_SET_CODE
    - LZW_SYMBOL_GET_CODE
    - _lzw_symbol_table_lookup
    - LZW_BITS_BOUNDARY
    - assert
    - LZW_SYMBOL_SET
    - _lzw_buf_store_bits
    - likely
    linkageType: ''
    returnType: unsigned char*
    signature: 'unsigned char *_cairo_lzw_compress (unsigned char *data, unsigned
      long *size_in_out) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: deflate
      Src: /src/cairo/src/cairo-deflate-stream.c:61,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-deflate-stream.c:64,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - stream
    - flush
    argTypes:
    - cairo_deflate_stream_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 80
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 80
    functionName: cairo_deflate_stream_deflate
    functionSourceFile: /src/cairo/src/cairo-deflate-stream.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_write
    - deflate
    linkageType: ''
    returnType: void
    signature: 'static void cairo_deflate_stream_deflate (cairo_deflate_stream_t *stream,
      cairo_bool_t flush) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_create_in_error
      Src: /src/cairo/src/cairo-deflate-stream.c:124,1
    - Dst: _cairo_output_stream_init
      Src: /src/cairo/src/cairo-deflate-stream.c:132,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-deflate-stream.c:126,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-deflate-stream.c:127,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-deflate-stream.c:128,1
    - Dst: deflateInit
      Src: /src/cairo/src/cairo-deflate-stream.c:142,1
    - Dst: free
      Src: /src/cairo/src/cairo-deflate-stream.c:143,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 153
    functionName: _cairo_deflate_stream_create
    functionSourceFile: /src/cairo/src/cairo-deflate-stream.c
    functionUses: []
    functionsReached:
    - free
    - _cairo_output_stream_create_in_error
    - _cairo_output_stream_init
    - _cairo_error_throw
    - _cairo_calloc
    - deflateInit
    - unlikely
    linkageType: ''
    returnType: cairo_output_stream_t*
    signature: 'cairo_output_stream_t *_cairo_deflate_stream_create (cairo_output_stream_t
      *output) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cairo/src/cairo-deflate-stream.c:95,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-deflate-stream.c:104,1
    - Dst: cairo_deflate_stream_deflate
      Src: /src/cairo/src/cairo-deflate-stream.c:101,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - base
    - data
    - length
    argTypes:
    - cairo_output_stream_t*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 105
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 105
    functionName: _cairo_deflate_stream_write
    functionSourceFile: /src/cairo/src/cairo-deflate-stream.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_get_status
    - memcpy
    - cairo_deflate_stream_deflate
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_deflate_stream_write (cairo_output_stream_t\
      \ *base, const unsigned char *data, unsigned int\t length) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_deflate_stream_deflate
      Src: /src/cairo/src/cairo-deflate-stream.c:112,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-deflate-stream.c:115,1
    - Dst: deflateEnd
      Src: /src/cairo/src/cairo-deflate-stream.c:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - base
    argTypes:
    - cairo_output_stream_t*
    constantsTouched: []
    func_position:
      end: 116
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 116
    functionName: _cairo_deflate_stream_close
    functionSourceFile: /src/cairo/src/cairo-deflate-stream.c
    functionUses: []
    functionsReached:
    - deflateEnd
    - _cairo_output_stream_get_status
    - cairo_deflate_stream_deflate
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_deflate_stream_close (cairo_output_stream_t
      *base) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: color_to_uint32
      Src: /src/cairo/src/cairo-image-compositor.c:158,1
    - Dst: PIXMAN_FORMAT_TYPE
      Src: /src/cairo/src/cairo-image-compositor.c:167,1
    - Dst: PIXMAN_FORMAT_TYPE
      Src: /src/cairo/src/cairo-image-compositor.c:160,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 70
    argCount: 3
    argNames:
    - color
    - format
    - pixel
    argTypes:
    - cairo_color_t*
    - pixman_format_code_t
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 184
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 184
    functionName: color_to_pixel
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - PIXMAN_FORMAT_TYPE
    - color_to_uint32
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static inline cairo_bool_t color_to_pixel (const cairo_color_t\t*color,\
      \ pixman_format_code_t\t format, uint32_t\t\t*pixel) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-image-compositor.c:823,1
    - Dst: pixman_glyph_cache_destroy
      Src: /src/cairo/src/cairo-image-compositor.c:826,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-image-compositor.c:829,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 830
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 830
    functionName: _cairo_image_compositor_reset_static_data
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - CAIRO_MUTEX_LOCK
    - CAIRO_MUTEX_UNLOCK
    - pixman_glyph_cache_destroy
    linkageType: ''
    returnType: void
    signature: 'void _cairo_image_compositor_reset_static_data (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_atomic_init_once_enter
      Src: /src/cairo/src/cairo-image-compositor.c:1312,1
    - Dst: _cairo_atomic_init_once_leave
      Src: /src/cairo/src/cairo-image-compositor.c:1330,1
    - Dst: _cairo_mask_compositor_init
      Src: /src/cairo/src/cairo-image-compositor.c:1313,1
    - Dst: _cairo_image_traps_compositor_get
      Src: /src/cairo/src/cairo-image-compositor.c:1314,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1334
      start: 1306
    functionDepth: 0
    functionLinenumber: 1306
    functionLinenumberEnd: 1334
    functionName: _cairo_image_mask_compositor_get
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_atomic_init_once_leave
    - _cairo_atomic_init_once_enter
    - _cairo_image_traps_compositor_get
    - _cairo_mask_compositor_init
    linkageType: ''
    returnType: cairo_compositor_t*
    signature: 'const cairo_compositor_t *_cairo_image_mask_compositor_get (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pixman_image_compositor_blt
      Src: /src/cairo/src/cairo-image-compositor.c:1475,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - abstract_renderer
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1483
      start: 1469
    functionDepth: 0
    functionLinenumber: 1469
    functionLinenumberEnd: 1483
    functionName: _cairo_image_finish_unbounded_spans
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - pixman_image_compositor_blt
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_image_finish_unbounded_spans (void *abstract_renderer) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pixman_image_get_data
      Src: /src/cairo/src/cairo-image-compositor.c:2569,1
    - Dst: mul8_8
      Src: /src/cairo/src/cairo-image-compositor.c:2573,1
    - Dst: pixman_image_get_data
      Src: /src/cairo/src/cairo-image-compositor.c:2584,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-compositor.c:2578,1
    - Dst: memset
      Src: /src/cairo/src/cairo-image-compositor.c:2587,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-compositor.c:2596,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 5
    argNames:
    - abstract_renderer
    - y
    - h
    - spans
    - num_spans
    argTypes:
    - void*
    - int
    - int
    - cairo_half_open_span_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 2605
      start: 2557
    functionDepth: 0
    functionLinenumber: 2557
    functionLinenumberEnd: 2605
    functionName: _inplace_opacity_spans
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - mul8_8
    - memset
    - pixman_image_composite32
    - pixman_image_get_data
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _inplace_opacity_spans (void *abstract_renderer,\
      \ int y, int h,\t\t\tconst cairo_half_open_span_t *spans,\t\t\tunsigned num_spans) "
  - BBCount: 31
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - cairo_operator_t
    constantsTouched: []
    func_position:
      end: 257
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 257
    functionName: _pixman_operator
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: pixman_op_t
    signature: 'static pixman_op_t _pixman_operator (cairo_operator_t op) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 1
    argNames:
    - line
    argTypes:
    - cairo_line_t*
    constantsTouched: []
    func_position:
      end: 569
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 569
    functionName: line_exceeds_16_16
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t line_exceeds_16_16 (const cairo_line_t *line) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-image-compositor.c:836,1
    - Dst: pixman_glyph_cache_remove
      Src: /src/cairo/src/cairo-image-compositor.c:839,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-image-compositor.c:844,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - scaled_font
    - scaled_glyph
    argTypes:
    - cairo_scaled_font_t*
    - cairo_scaled_glyph_t*
    constantsTouched: []
    func_position:
      end: 845
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 845
    functionName: _cairo_image_scaled_glyph_fini
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - CAIRO_MUTEX_LOCK
    - CAIRO_MUTEX_UNLOCK
    - pixman_glyph_cache_remove
    linkageType: ''
    returnType: void
    signature: "void _cairo_image_scaled_glyph_fini (cairo_scaled_font_t *scaled_font,\t\
      \t\t\tcairo_scaled_glyph_t *scaled_glyph) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-image-compositor.c:869,1
    - Dst: _cairo_scaled_glyph_lookup
      Src: /src/cairo/src/cairo-image-compositor.c:907,1
    - Dst: to_pixman_image
      Src: /src/cairo/src/cairo-image-compositor.c:940,1
    - Dst: to_pixman_image
      Src: /src/cairo/src/cairo-image-compositor.c:950,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-compositor.c:881,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-image-compositor.c:882,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-compositor.c:913,1
    - Dst: PHASE
      Src: /src/cairo/src/cairo-image-compositor.c:894,1
    - Dst: PHASE
      Src: /src/cairo/src/cairo-image-compositor.c:893,1
    - Dst: _pixman_operator
      Src: /src/cairo/src/cairo-image-compositor.c:938,1
    - Dst: pixman_composite_glyphs_no_mask
      Src: /src/cairo/src/cairo-image-compositor.c:948,1
    - Dst: CAIRO_STACK_ARRAY_LENGTH
      Src: /src/cairo/src/cairo-image-compositor.c:862,1
    - Dst: get_glyph_cache
      Src: /src/cairo/src/cairo-image-compositor.c:871,1
    - Dst: TRACE
      Src: /src/cairo/src/cairo-image-compositor.c:867,1
    - Dst: pixman_glyph_cache_freeze
      Src: /src/cairo/src/cairo-image-compositor.c:877,1
    - Dst: pixman_glyph_cache_lookup
      Src: /src/cairo/src/cairo-image-compositor.c:898,1
    - Dst: pixman_glyph_cache_insert
      Src: /src/cairo/src/cairo-image-compositor.c:917,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-compositor.c:921,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-image-compositor.c:922,1
    - Dst: POSITION
      Src: /src/cairo/src/cairo-image-compositor.c:927,1
    - Dst: pixman_glyph_get_mask_format
      Src: /src/cairo/src/cairo-image-compositor.c:936,1
    - Dst: free
      Src: /src/cairo/src/cairo-image-compositor.c:960,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-compositor.c:872,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-image-compositor.c:873,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-image-compositor.c:879,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-image-compositor.c:880,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-image-compositor.c:906,1
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-image-compositor.c:911,1
    - Dst: POSITION
      Src: /src/cairo/src/cairo-image-compositor.c:928,1
    - Dst: _pixman_operator
      Src: /src/cairo/src/cairo-image-compositor.c:948,1
    - Dst: pixman_glyph_cache_thaw
      Src: /src/cairo/src/cairo-image-compositor.c:957,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-image-compositor.c:963,1
    - Dst: pixman_composite_glyphs
      Src: /src/cairo/src/cairo-image-compositor.c:938,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 80
    argCount: 8
    argNames:
    - _dst
    - op
    - _src
    - src_x
    - src_y
    - dst_x
    - dst_y
    - info
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_surface_t*
    - int
    - int
    - int
    - int
    - cairo_composite_glyphs_info_t*
    constantsTouched: []
    func_position:
      end: 965
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 965
    functionName: composite_glyphs
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - get_glyph_cache
    - _cairo_error
    - CAIRO_MUTEX_UNLOCK
    - _pixman_operator
    - pixman_glyph_cache_lookup
    - POSITION
    - pixman_glyph_get_mask_format
    - unlikely
    - to_pixman_image
    - pixman_glyph_cache_freeze
    - CAIRO_MUTEX_LOCK
    - ARRAY_LENGTH
    - PHASE
    - pixman_glyph_cache_thaw
    - pixman_composite_glyphs_no_mask
    - pixman_composite_glyphs
    - TRACE
    - _cairo_scaled_glyph_lookup
    - free
    - pixman_glyph_cache_insert
    - _cairo_malloc_ab
    - CAIRO_STACK_ARRAY_LENGTH
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t composite_glyphs (void\t\t\t\t*_dst,\t\t\
      \ cairo_operator_t\t\t op,\t\t cairo_surface_t\t\t*_src,\t\t int\t\t\t\t src_x,\t\
      \t int\t\t\t\t src_y,\t\t int\t\t\t\t dst_x,\t\t int\t\t\t\t dst_y,\t\t cairo_composite_glyphs_info_t\
      \ *info) "
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-image-compositor.c:1497,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-image-compositor.c:1519,1
    - Dst: _pixman_image_for_pattern
      Src: /src/cairo/src/cairo-image-compositor.c:1514,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-compositor.c:1518,1
    - Dst: _pixman_operator
      Src: /src/cairo/src/cairo-image-compositor.c:1509,1
    - Dst: _pixman_image_for_pattern
      Src: /src/cairo/src/cairo-image-compositor.c:1525,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-compositor.c:1531,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-image-compositor.c:1532,1
    - Dst: _cairo_pattern_is_opaque
      Src: /src/cairo/src/cairo-image-compositor.c:1536,1
    - Dst: pixman_image_unref
      Src: /src/cairo/src/cairo-image-compositor.c:1538,1
    - Dst: pixman_image_create_compositor
      Src: /src/cairo/src/cairo-image-compositor.c:1563,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-compositor.c:1572,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 65
    argCount: 3
    argNames:
    - _r
    - composite
    - needs_clip
    argTypes:
    - cairo_abstract_span_renderer_t*
    - cairo_composite_rectangles_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 1576
      start: 1485
    functionDepth: 0
    functionLinenumber: 1485
    functionLinenumberEnd: 1576
    functionName: span_renderer_init
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - pixman_image_create_compositor
    - TRACE
    - _cairo_pattern_is_opaque
    - _cairo_error
    - _pixman_operator
    - pixman_image_unref
    - _pixman_image_for_pattern
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t span_renderer_init (cairo_abstract_span_renderer_t\t\
      *_r,\t\t const cairo_composite_rectangles_t *composite,\t\t cairo_bool_t\t\t\
      \t needs_clip) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cairo/src/cairo-image-compositor.c:1660,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-image-compositor.c:1670,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 5
    argNames:
    - abstract_renderer
    - y
    - height
    - spans
    - num_spans
    argTypes:
    - void*
    - int
    - int
    - cairo_half_open_span_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 1674
      start: 1638
    functionDepth: 0
    functionLinenumber: 1638
    functionLinenumberEnd: 1674
    functionName: _cairo_image_spans
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_image_spans (void *abstract_renderer,\t\
      \t int y, int height,\t\t const cairo_half_open_span_t *spans,\t\t unsigned\
      \ num_spans) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pixman_image_get_data
      Src: /src/cairo/src/cairo-image-compositor.c:2613,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-compositor.c:2626,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-compositor.c:2634,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-compositor.c:2650,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-compositor.c:2640,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-compositor.c:2663,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-compositor.c:2671,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-compositor.c:2677,1
    - Dst: memset
      Src: /src/cairo/src/cairo-image-compositor.c:2692,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-compositor.c:2701,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-compositor.c:2709,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-compositor.c:2715,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 64
    argCount: 5
    argNames:
    - abstract_renderer
    - y
    - h
    - spans
    - num_spans
    argTypes:
    - void*
    - int
    - int
    - cairo_half_open_span_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 2726
      start: 2607
    functionDepth: 0
    functionLinenumber: 2607
    functionLinenumberEnd: 2726
    functionName: _inplace_src_spans
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - memset
    - pixman_image_composite32
    - pixman_image_get_data
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _inplace_src_spans (void *abstract_renderer,\
      \ int y, int h,\t\t const cairo_half_open_span_t *spans,\t\t unsigned num_spans) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint32_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2168
      start: 2163
    functionDepth: 0
    functionLinenumber: 2163
    functionLinenumberEnd: 2168
    functionName: mul8x2_8
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'static inline uint32_t mul8x2_8 (uint32_t a, uint8_t b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-image-compositor.c:298,1
    - Dst: PIXMAN_FORMAT_BPP
      Src: /src/cairo/src/cairo-image-compositor.c:303,1
    - Dst: _pixman_image_for_color
      Src: /src/cairo/src/cairo-image-compositor.c:309,1
    - Dst: pixman_fill
      Src: /src/cairo/src/cairo-image-compositor.c:302,1
    - Dst: fill_reduces_to_source
      Src: /src/cairo/src/cairo-image-compositor.c:300,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-compositor.c:310,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-image-compositor.c:311,1
    - Dst: _pixman_operator
      Src: /src/cairo/src/cairo-image-compositor.c:313,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-compositor.c:315,1
    - Dst: pixman_image_unref
      Src: /src/cairo/src/cairo-image-compositor.c:323,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 5
    argNames:
    - _dst
    - op
    - color
    - rects
    - num_rects
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_color_t*
    - cairo_rectangle_int_t*
    - int
    constantsTouched: []
    func_position:
      end: 327
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 327
    functionName: fill_rectangles
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - fill_reduces_to_source
    - TRACE
    - _cairo_error
    - unlikely
    - pixman_image_composite32
    - _pixman_operator
    - pixman_image_unref
    - PIXMAN_FORMAT_BPP
    - pixman_fill
    - _pixman_image_for_color
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t fill_rectangles (void\t\t\t*_dst,\t\t cairo_operator_t\t\
      \ op,\t\t const cairo_color_t\t*color,\t\t cairo_rectangle_int_t\t*rects,\t\t\
      \ int\t\t\t num_rects) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-image-compositor.c:655,1
    - Dst: pixman_image_create_bits
      Src: /src/cairo/src/cairo-image-compositor.c:679,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-compositor.c:682,1
    - Dst: _pixman_image_add_traps
      Src: /src/cairo/src/cairo-image-compositor.c:675,1
    - Dst: _cairo_bentley_ottmann_tessellate_traps
      Src: /src/cairo/src/cairo-image-compositor.c:658,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-image-compositor.c:683,1
    - Dst: _pixman_image_add_traps
      Src: /src/cairo/src/cairo-image-compositor.c:685,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-compositor.c:686,1
    - Dst: _pixman_operator
      Src: /src/cairo/src/cairo-image-compositor.c:686,1
    - Dst: pixman_image_unref
      Src: /src/cairo/src/cairo-image-compositor.c:693,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 10
    argNames:
    - _dst
    - op
    - abstract_src
    - src_x
    - src_y
    - dst_x
    - dst_y
    - extents
    - antialias
    - traps
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_surface_t*
    - int
    - int
    - int
    - int
    - cairo_rectangle_int_t*
    - cairo_antialias_t
    - cairo_traps_t*
    constantsTouched: []
    func_position:
      end: 696
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 696
    functionName: composite_traps
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_bentley_ottmann_tessellate_traps
    - TRACE
    - _cairo_error
    - _pixman_image_add_traps
    - pixman_image_composite32
    - _pixman_operator
    - pixman_image_unref
    - pixman_image_create_bits
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t composite_traps (void\t\t\t*_dst,\t\t cairo_operator_t\t\
      op,\t\t cairo_surface_t\t*abstract_src,\t\t int\t\t\tsrc_x,\t\t int\t\t\tsrc_y,\t\
      \t int\t\t\tdst_x,\t\t int\t\t\tdst_y,\t\t const cairo_rectangle_int_t *extents,\t\
      \t cairo_antialias_t\tantialias,\t\t cairo_traps_t\t\t*traps) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 4
    argNames:
    - extents
    - scaled_font
    - glyphs
    - num_glyphs
    argTypes:
    - cairo_composite_rectangles_t*
    - cairo_scaled_font_t*
    - cairo_glyph_t*
    - int*
    constantsTouched: []
    func_position:
      end: 806
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 806
    functionName: check_composite_glyphs
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t check_composite_glyphs (const cairo_composite_rectangles_t\
      \ *extents,\t\t\tcairo_scaled_font_t *scaled_font,\t\t\tcairo_glyph_t *glyphs,\t\
      \t\tint *num_glyphs) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - extents
    argTypes:
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 1270
      start: 1266
    functionDepth: 0
    functionLinenumber: 1266
    functionLinenumberEnd: 1270
    functionName: check_composite
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t check_composite (const cairo_composite_rectangles_t
      *extents) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/cairo/src/cairo-image-compositor.c:1906,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-image-compositor.c:1930,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-image-compositor.c:1960,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 47
    argCount: 5
    argNames:
    - abstract_renderer
    - y
    - h
    - spans
    - num_spans
    argTypes:
    - void*
    - int
    - int
    - cairo_half_open_span_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 1971
      start: 1895
    functionDepth: 0
    functionLinenumber: 1895
    functionLinenumberEnd: 1971
    functionName: _blit_spans
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - memcpy
    - likely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _blit_spans (void *abstract_renderer, int y,\
      \ int h,\t const cairo_half_open_span_t *spans, unsigned num_spans) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-compositor.c:2004,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-compositor.c:2024,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-compositor.c:2044,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-compositor.c:2034,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-compositor.c:2015,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 5
    argNames:
    - abstract_renderer
    - y
    - h
    - spans
    - num_spans
    argTypes:
    - void*
    - int
    - int
    - cairo_half_open_span_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 2054
      start: 1997
    functionDepth: 0
    functionLinenumber: 1997
    functionLinenumberEnd: 2054
    functionName: _mono_unbounded_spans
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - pixman_image_composite32
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _mono_unbounded_spans (void *abstract_renderer,\
      \ int y, int h,\t\t const cairo_half_open_span_t *spans, unsigned num_spans) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/cairo/src/cairo-image-compositor.c:2203,1
    - Dst: memset
      Src: /src/cairo/src/cairo-image-compositor.c:2232,1
    - Dst: memset
      Src: /src/cairo/src/cairo-image-compositor.c:2210,1
    - Dst: mul8_8
      Src: /src/cairo/src/cairo-image-compositor.c:2216,1
    - Dst: mul8_8
      Src: /src/cairo/src/cairo-image-compositor.c:2212,1
    - Dst: mul8_8
      Src: /src/cairo/src/cairo-image-compositor.c:2236,1
    - Dst: mul8_8
      Src: /src/cairo/src/cairo-image-compositor.c:2242,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 51
    argCount: 5
    argNames:
    - abstract_renderer
    - y
    - h
    - spans
    - num_spans
    argTypes:
    - void*
    - int
    - int
    - cairo_half_open_span_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 2254
      start: 2194
    functionDepth: 0
    functionLinenumber: 2194
    functionLinenumberEnd: 2254
    functionName: _fill_a8_lerp_opaque_spans
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - memset
    - likely
    - mul8_8
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _fill_a8_lerp_opaque_spans (void *abstract_renderer,\
      \ int y, int h,\t\t\t const cairo_half_open_span_t *spans, unsigned num_spans) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/cairo/src/cairo-image-compositor.c:2335,1
    - Dst: mul8_8
      Src: /src/cairo/src/cairo-image-compositor.c:2337,1
    - Dst: mul8_8
      Src: /src/cairo/src/cairo-image-compositor.c:2352,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 5
    argNames:
    - abstract_renderer
    - y
    - h
    - spans
    - num_spans
    argTypes:
    - void*
    - int
    - int
    - cairo_half_open_span_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 2372
      start: 2326
    functionDepth: 0
    functionLinenumber: 2326
    functionLinenumberEnd: 2372
    functionName: _fill_a8_lerp_spans
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - likely
    - mul8_8
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _fill_a8_lerp_spans (void *abstract_renderer,\
      \ int y, int h,\t\t const cairo_half_open_span_t *spans, unsigned num_spans) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-image-compositor.c:340,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-image-compositor.c:345,1
    - Dst: fill_reduces_to_source
      Src: /src/cairo/src/cairo-image-compositor.c:342,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-image-compositor.c:347,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-image-compositor.c:346,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-image-compositor.c:348,1
    - Dst: pixman_fill
      Src: /src/cairo/src/cairo-image-compositor.c:349,1
    - Dst: PIXMAN_FORMAT_BPP
      Src: /src/cairo/src/cairo-image-compositor.c:351,1
    - Dst: _pixman_image_for_color
      Src: /src/cairo/src/cairo-image-compositor.c:358,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-compositor.c:359,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-image-compositor.c:368,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-image-compositor.c:365,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-compositor.c:369,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-image-compositor.c:360,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-image-compositor.c:366,1
    - Dst: _pixman_operator
      Src: /src/cairo/src/cairo-image-compositor.c:362,1
    - Dst: pixman_image_unref
      Src: /src/cairo/src/cairo-image-compositor.c:378,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-image-compositor.c:367,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 4
    argNames:
    - _dst
    - op
    - color
    - boxes
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_color_t*
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 382
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 382
    functionName: fill_boxes
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - fill_reduces_to_source
    - TRACE
    - _cairo_fixed_integer_part
    - _cairo_error
    - unlikely
    - pixman_image_composite32
    - _pixman_operator
    - pixman_image_unref
    - PIXMAN_FORMAT_BPP
    - pixman_fill
    - _pixman_image_for_color
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t fill_boxes (void\t\t*_dst,\t cairo_operator_t\t\
      \ op,\t const cairo_color_t\t*color,\t cairo_boxes_t\t*boxes) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_to_16_16
      Src: /src/cairo/src/cairo-image-compositor.c:701,1
    - Dst: _cairo_fixed_to_16_16
      Src: /src/cairo/src/cairo-image-compositor.c:702,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - p
    - c
    argTypes:
    - pixman_point_fixed_t*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 703
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 703
    functionName: set_point
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_to_16_16
    linkageType: ''
    returnType: void
    signature: 'static void set_point (pixman_point_fixed_t *p, cairo_point_t *c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pixman_glyph_cache_create
      Src: /src/cairo/src/cairo-image-compositor.c:815,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 818
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 818
    functionName: get_glyph_cache
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - pixman_glyph_cache_create
    linkageType: ''
    returnType: pixman_glyph_cache_t*
    signature: 'static inline pixman_glyph_cache_t *get_glyph_cache (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_atomic_init_once_enter
      Src: /src/cairo/src/cairo-image-compositor.c:1278,1
    - Dst: _cairo_atomic_init_once_leave
      Src: /src/cairo/src/cairo-image-compositor.c:1300,1
    - Dst: _cairo_traps_compositor_init
      Src: /src/cairo/src/cairo-image-compositor.c:1279,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1272
    functionDepth: 0
    functionLinenumber: 1272
    functionLinenumberEnd: 1304
    functionName: _cairo_image_traps_compositor_get
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_atomic_init_once_leave
    - _cairo_atomic_init_once_enter
    - _cairo_traps_compositor_init
    linkageType: ''
    returnType: cairo_compositor_t*
    signature: 'const cairo_compositor_t *_cairo_image_traps_compositor_get (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-image-compositor.c:1584,1
    - Dst: pixman_image_unref
      Src: /src/cairo/src/cairo-image-compositor.c:1595,1
    - Dst: pixman_image_unref
      Src: /src/cairo/src/cairo-image-compositor.c:1593,1
    - Dst: pixman_image_compositor_destroy
      Src: /src/cairo/src/cairo-image-compositor.c:1590,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 2
    argNames:
    - _r
    - status
    argTypes:
    - cairo_abstract_span_renderer_t*
    - cairo_int_status_t
    constantsTouched: []
    func_position:
      end: 1596
      start: 1578
    functionDepth: 0
    functionLinenumber: 1578
    functionLinenumberEnd: 1596
    functionName: span_renderer_fini
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - pixman_image_compositor_destroy
    - pixman_image_unref
    - TRACE
    linkageType: ''
    returnType: void
    signature: "static void span_renderer_fini (cairo_abstract_span_renderer_t *_r,\t\
      \t cairo_int_status_t status) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-compositor.c:1984,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 5
    argNames:
    - abstract_renderer
    - y
    - h
    - spans
    - num_spans
    argTypes:
    - void*
    - int
    - int
    - cairo_half_open_span_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 1995
      start: 1973
    functionDepth: 0
    functionLinenumber: 1973
    functionLinenumberEnd: 1995
    functionName: _mono_spans
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - pixman_image_composite32
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _mono_spans (void *abstract_renderer, int y,\
      \ int h,\t const cairo_half_open_span_t *spans, unsigned num_spans) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-compositor.c:2062,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - abstract_renderer
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2072
      start: 2056
    functionDepth: 0
    functionLinenumber: 2056
    functionLinenumberEnd: 2072
    functionName: _mono_finish_unbounded_spans
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - pixman_image_composite32
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _mono_finish_unbounded_spans (void *abstract_renderer) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/cairo/src/cairo-image-compositor.c:2265,1
    - Dst: pixman_fill
      Src: /src/cairo/src/cairo-image-compositor.c:2293,1
    - Dst: pixman_fill
      Src: /src/cairo/src/cairo-image-compositor.c:2273,1
    - Dst: lerp8x4
      Src: /src/cairo/src/cairo-image-compositor.c:2312,1
    - Dst: lerp8x4
      Src: /src/cairo/src/cairo-image-compositor.c:2281,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 62
    argCount: 5
    argNames:
    - abstract_renderer
    - y
    - h
    - spans
    - num_spans
    argTypes:
    - void*
    - int
    - int
    - cairo_half_open_span_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 2324
      start: 2256
    functionDepth: 0
    functionLinenumber: 2256
    functionLinenumberEnd: 2324
    functionName: _fill_xrgb32_lerp_opaque_spans
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - pixman_fill
    - lerp8x4
    - likely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _fill_xrgb32_lerp_opaque_spans (void *abstract_renderer,\
      \ int y, int h,\t\t\t\tconst cairo_half_open_span_t *spans, unsigned num_spans) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/cairo/src/cairo-image-compositor.c:2383,1
    - Dst: mul8_8
      Src: /src/cairo/src/cairo-image-compositor.c:2398,1
    - Dst: lerp8x4
      Src: /src/cairo/src/cairo-image-compositor.c:2405,1
    - Dst: lerp8x4
      Src: /src/cairo/src/cairo-image-compositor.c:2390,1
    - Dst: mul8_8
      Src: /src/cairo/src/cairo-image-compositor.c:2385,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 5
    argNames:
    - abstract_renderer
    - y
    - h
    - spans
    - num_spans
    argTypes:
    - void*
    - int
    - int
    - cairo_half_open_span_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 2416
      start: 2374
    functionDepth: 0
    functionLinenumber: 2374
    functionLinenumberEnd: 2416
    functionName: _fill_xrgb32_lerp_spans
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - lerp8x4
    - likely
    - mul8_8
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _fill_xrgb32_lerp_spans (void *abstract_renderer,\
      \ int y, int h,\t\t\t const cairo_half_open_span_t *spans, unsigned num_spans) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-image-compositor.c:2815,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - image
    - data
    argTypes:
    - pixman_image_t*
    - void*
    constantsTouched: []
    func_position:
      end: 2816
      start: 2813
    functionDepth: 0
    functionLinenumber: 2813
    functionLinenumberEnd: 2816
    functionName: free_pixels
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'static void free_pixels (pixman_image_t *image, void *data) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/cairo/src/cairo-image-compositor.c:1751,1
    - Dst: memset
      Src: /src/cairo/src/cairo-image-compositor.c:1773,1
    - Dst: memset
      Src: /src/cairo/src/cairo-image-compositor.c:1759,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 5
    argNames:
    - abstract_renderer
    - y
    - h
    - spans
    - num_spans
    argTypes:
    - void*
    - int
    - int
    - cairo_half_open_span_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 1782
      start: 1742
    functionDepth: 0
    functionLinenumber: 1742
    functionLinenumberEnd: 1782
    functionName: _fill8_spans
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - memset
    - likely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _fill8_spans (void *abstract_renderer, int y,\
      \ int h,\t const cairo_half_open_span_t *spans, unsigned num_spans) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pixman_fill
      Src: /src/cairo/src/cairo-image-compositor.c:1883,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 5
    argNames:
    - abstract_renderer
    - y
    - h
    - spans
    - num_spans
    argTypes:
    - void*
    - int
    - int
    - cairo_half_open_span_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 1892
      start: 1872
    functionDepth: 0
    functionLinenumber: 1872
    functionLinenumberEnd: 1892
    functionName: _fill_spans
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - pixman_fill
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _fill_spans (void *abstract_renderer, int y,\
      \ int h,\t const cairo_half_open_span_t *spans, unsigned num_spans) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: to_pixman_image
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: pixman_image_t*
    signature: 'static pixman_image_t *to_pixman_image (cairo_surface_t *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-image-compositor.c:97,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-image-compositor.c:105,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-image-compositor.c:103,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-image-compositor.c:102,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-image-compositor.c:104,1
    - Dst: pixman_blt
      Src: /src/cairo/src/cairo-image-compositor.c:107,1
    - Dst: PIXMAN_FORMAT_BPP
      Src: /src/cairo/src/cairo-image-compositor.c:110,1
    - Dst: PIXMAN_FORMAT_BPP
      Src: /src/cairo/src/cairo-image-compositor.c:111,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-compositor.c:116,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 5
    argNames:
    - _dst
    - image
    - boxes
    - dx
    - dy
    argTypes:
    - void*
    - cairo_image_surface_t*
    - cairo_boxes_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 126
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 126
    functionName: draw_image_boxes
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - TRACE
    - _cairo_fixed_integer_part
    - pixman_blt
    - pixman_image_composite32
    - PIXMAN_FORMAT_BPP
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t draw_image_boxes (void *_dst,\t\t cairo_image_surface_t\
      \ *image,\t\t cairo_boxes_t *boxes,\t\t int dx, int dy) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-image-compositor.c:993,1
    - Dst: _cairo_lround
      Src: /src/cairo/src/cairo-image-compositor.c:1010,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-compositor.c:1001,1
    - Dst: _cairo_scaled_glyph_lookup
      Src: /src/cairo/src/cairo-image-compositor.c:995,1
    - Dst: _cairo_lround
      Src: /src/cairo/src/cairo-image-compositor.c:1012,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-compositor.c:1015,1
    - Dst: _pixman_operator
      Src: /src/cairo/src/cairo-image-compositor.c:1015,1
    - Dst: to_pixman_image
      Src: /src/cairo/src/cairo-image-compositor.c:1018,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 8
    argNames:
    - _dst
    - op
    - _src
    - src_x
    - src_y
    - dst_x
    - dst_y
    - info
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_surface_t*
    - int
    - int
    - int
    - int
    - cairo_composite_glyphs_info_t*
    constantsTouched: []
    func_position:
      end: 1026
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 1026
    functionName: composite_one_glyph
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - TRACE
    - _cairo_scaled_glyph_lookup
    - pixman_image_composite32
    - _pixman_operator
    - to_pixman_image
    - _cairo_lround
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t composite_one_glyph (void\t\t\t\t*_dst,\t\
      \t cairo_operator_t\t\t\t op,\t\t cairo_surface_t\t\t\t*_src,\t\t int\t\t\t\t\
      \ src_x,\t\t int\t\t\t\t src_y,\t\t int\t\t\t\t dst_x,\t\t int\t\t\t\t dst_y,\t\
      \t cairo_composite_glyphs_info_t\t *info) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-image-compositor.c:1402,1
    - Dst: pixman_image_compositor_blt
      Src: /src/cairo/src/cairo-image-compositor.c:1404,1
    - Dst: assert
      Src: /src/cairo/src/cairo-image-compositor.c:1425,1
    - Dst: pixman_image_compositor_blt
      Src: /src/cairo/src/cairo-image-compositor.c:1411,1
    - Dst: pixman_image_compositor_blt
      Src: /src/cairo/src/cairo-image-compositor.c:1417,1
    - Dst: pixman_image_compositor_blt
      Src: /src/cairo/src/cairo-image-compositor.c:1426,1
    - Dst: assert
      Src: /src/cairo/src/cairo-image-compositor.c:1434,1
    - Dst: pixman_image_compositor_blt
      Src: /src/cairo/src/cairo-image-compositor.c:1435,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 5
    argNames:
    - abstract_renderer
    - y
    - height
    - spans
    - num_spans
    argTypes:
    - void*
    - int
    - int
    - cairo_half_open_span_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 1444
      start: 1394
    functionDepth: 0
    functionLinenumber: 1394
    functionLinenumberEnd: 1444
    functionName: _cairo_image_unbounded_spans
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - pixman_image_compositor_blt
    - assert
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_image_unbounded_spans (void *abstract_renderer,\t\
      \t\t int y, int height,\t\t\t const cairo_half_open_span_t *spans,\t\t\t unsigned\
      \ num_spans) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cairo/src/cairo-image-compositor.c:1689,1
    - Dst: memset
      Src: /src/cairo/src/cairo-image-compositor.c:1702,1
    - Dst: memset
      Src: /src/cairo/src/cairo-image-compositor.c:1718,1
    - Dst: memset
      Src: /src/cairo/src/cairo-image-compositor.c:1696,1
    - Dst: memset
      Src: /src/cairo/src/cairo-image-compositor.c:1710,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-image-compositor.c:1724,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 5
    argNames:
    - abstract_renderer
    - y
    - height
    - spans
    - num_spans
    argTypes:
    - void*
    - int
    - int
    - cairo_half_open_span_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 1729
      start: 1676
    functionDepth: 0
    functionLinenumber: 1676
    functionLinenumberEnd: 1729
    functionName: _cairo_image_spans_and_zero
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_image_spans_and_zero (void *abstract_renderer,\t\
      \t\t int y, int height,\t\t\t const cairo_half_open_span_t *spans,\t\t\t unsigned\
      \ num_spans) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 2176
      start: 2170
    functionDepth: 0
    functionLinenumber: 2170
    functionLinenumberEnd: 2176
    functionName: add8x2_8x2
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'static inline uint32_t add8x2_8x2 (uint32_t a, uint32_t b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2183
      start: 2178
    functionDepth: 0
    functionLinenumber: 2178
    functionLinenumberEnd: 2183
    functionName: mul8_8
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: 'static inline uint8_t mul8_8 (uint8_t a, uint8_t b) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/cairo/src/cairo-image-compositor.c:2427,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-image-compositor.c:2440,1
    - Dst: mul8_8
      Src: /src/cairo/src/cairo-image-compositor.c:2431,1
    - Dst: mul8_8
      Src: /src/cairo/src/cairo-image-compositor.c:2452,1
    - Dst: lerp8x4
      Src: /src/cairo/src/cairo-image-compositor.c:2443,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-image-compositor.c:2463,1
    - Dst: lerp8x4
      Src: /src/cairo/src/cairo-image-compositor.c:2466,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 53
    argCount: 5
    argNames:
    - abstract_renderer
    - y
    - h
    - spans
    - num_spans
    argTypes:
    - void*
    - int
    - int
    - cairo_half_open_span_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 2478
      start: 2418
    functionDepth: 0
    functionLinenumber: 2418
    functionLinenumberEnd: 2478
    functionName: _blit_xrgb32_lerp_spans
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - memcpy
    - lerp8x4
    - likely
    - mul8_8
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _blit_xrgb32_lerp_spans (void *abstract_renderer,\
      \ int y, int h,\t\t\t const cairo_half_open_span_t *spans, unsigned num_spans) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - abstract_dst
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: acquire
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t acquire (void *abstract_dst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - color
    argTypes:
    - cairo_color_t*
    constantsTouched: []
    func_position:
      end: 136
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 136
    functionName: color_to_uint32
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'static inline uint32_t color_to_uint32 (const cairo_color_t *color) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cairo/src/cairo-image-compositor.c:1068,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-image-compositor.c:1069,1
    - Dst: pixman_image_create_bits
      Src: /src/cairo/src/cairo-image-compositor.c:1079,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-compositor.c:1090,1
    - Dst: _cairo_scaled_glyph_index
      Src: /src/cairo/src/cairo-image-compositor.c:1104,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-compositor.c:1111,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-compositor.c:1131,1
    - Dst: pixman_image_unref
      Src: /src/cairo/src/cairo-image-compositor.c:1144,1
    - Dst: _cairo_lround
      Src: /src/cairo/src/cairo-image-compositor.c:1150,1
    - Dst: _cairo_lround
      Src: /src/cairo/src/cairo-image-compositor.c:1152,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-compositor.c:1164,1
    - Dst: _pixman_image_for_color
      Src: /src/cairo/src/cairo-image-compositor.c:1039,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-compositor.c:1049,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-image-compositor.c:1050,1
    - Dst: memset
      Src: /src/cairo/src/cairo-image-compositor.c:1084,1
    - Dst: _cairo_scaled_glyph_lookup
      Src: /src/cairo/src/cairo-image-compositor.c:1106,1
    - Dst: pixman_image_unref
      Src: /src/cairo/src/cairo-image-compositor.c:1113,1
    - Dst: pixman_image_create_bits
      Src: /src/cairo/src/cairo-image-compositor.c:1127,1
    - Dst: pixman_image_unref
      Src: /src/cairo/src/cairo-image-compositor.c:1133,1
    - Dst: pixman_image_set_component_alpha
      Src: /src/cairo/src/cairo-image-compositor.c:1176,1
    - Dst: pixman_image_unref
      Src: /src/cairo/src/cairo-image-compositor.c:1187,1
    - Dst: _pixman_operator
      Src: /src/cairo/src/cairo-image-compositor.c:1178,1
    - Dst: _cairo_scaled_glyph_lookup
      Src: /src/cairo/src/cairo-image-compositor.c:1058,1
    - Dst: pixman_image_unref
      Src: /src/cairo/src/cairo-image-compositor.c:1064,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-image-compositor.c:1092,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-compositor.c:1137,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-compositor.c:1156,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-compositor.c:1178,1
    - Dst: pixman_image_unref
      Src: /src/cairo/src/cairo-image-compositor.c:1186,1
    - Dst: TRACE
      Src: /src/cairo/src/cairo-image-compositor.c:1047,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-compositor.c:1063,1
    - Dst: pixman_image_unref
      Src: /src/cairo/src/cairo-image-compositor.c:1091,1
    - Dst: pixman_image_create_bits
      Src: /src/cairo/src/cairo-image-compositor.c:1085,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-image-compositor.c:1098,1
    - Dst: pixman_image_unref
      Src: /src/cairo/src/cairo-image-compositor.c:1112,1
    - Dst: pixman_image_unref
      Src: /src/cairo/src/cairo-image-compositor.c:1132,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-image-compositor.c:1134,1
    - Dst: to_pixman_image
      Src: /src/cairo/src/cairo-image-compositor.c:1181,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 104
    argCount: 8
    argNames:
    - _dst
    - op
    - _src
    - src_x
    - src_y
    - dst_x
    - dst_y
    - info
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_surface_t*
    - int
    - int
    - int
    - int
    - cairo_composite_glyphs_info_t*
    constantsTouched: []
    func_position:
      end: 1190
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1190
    functionName: composite_glyphs_via_mask
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - pixman_image_set_component_alpha
    - pixman_image_create_bits
    - _cairo_scaled_glyph_index
    - TRACE
    - _cairo_error
    - _cairo_scaled_glyph_lookup
    - ARRAY_LENGTH
    - _pixman_image_for_color
    - pixman_image_unref
    - pixman_image_composite32
    - _pixman_operator
    - to_pixman_image
    - _cairo_lround
    - memset
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t composite_glyphs_via_mask (void\t\t\t\t\
      *_dst,\t\t\t cairo_operator_t\t\t op,\t\t\t cairo_surface_t\t\t*_src,\t\t\t\
      \ int\t\t\t\t src_x,\t\t\t int\t\t\t\t src_y,\t\t\t int\t\t\t\t dst_x,\t\t\t\
      \ int\t\t\t\t dst_y,\t\t\t cairo_composite_glyphs_info_t *info) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-image-compositor.c:1454,1
    - Dst: pixman_image_compositor_blt
      Src: /src/cairo/src/cairo-image-compositor.c:1458,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 5
    argNames:
    - abstract_renderer
    - y
    - height
    - spans
    - num_spans
    argTypes:
    - void*
    - int
    - int
    - cairo_half_open_span_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 1467
      start: 1446
    functionDepth: 0
    functionLinenumber: 1446
    functionLinenumberEnd: 1467
    functionName: _cairo_image_clipped_spans
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - pixman_image_compositor_blt
    - assert
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_image_clipped_spans (void *abstract_renderer,\t\
      \t\t int y, int height,\t\t\t const cairo_half_open_span_t *spans,\t\t\t unsigned\
      \ num_spans) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cairo/src/cairo-image-compositor.c:1737,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - abstract_renderer
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1740
      start: 1731
    functionDepth: 0
    functionLinenumber: 1731
    functionLinenumberEnd: 1740
    functionName: _cairo_image_finish_spans_and_zero
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_image_finish_spans_and_zero (void *abstract_renderer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add8x2_8x2
      Src: /src/cairo/src/cairo-image-compositor.c:2188,1
    - Dst: mul8x2_8
      Src: /src/cairo/src/cairo-image-compositor.c:2189,1
    - Dst: mul8x2_8
      Src: /src/cairo/src/cairo-image-compositor.c:2190,1
    - Dst: add8x2_8x2
      Src: /src/cairo/src/cairo-image-compositor.c:2190,1
    - Dst: mul8x2_8
      Src: /src/cairo/src/cairo-image-compositor.c:2188,1
    - Dst: mul8x2_8
      Src: /src/cairo/src/cairo-image-compositor.c:2191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - src
    - a
    - dst
    argTypes:
    - uint32_t
    - uint8_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 2192
      start: 2185
    functionDepth: 0
    functionLinenumber: 2185
    functionLinenumberEnd: 2192
    functionName: lerp8x4
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - mul8x2_8
    - add8x2_8x2
    linkageType: ''
    returnType: uint32_t
    signature: 'static inline uint32_t lerp8x4 (uint32_t src, uint8_t a, uint32_t
      dst) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-compositor.c:2494,1
    - Dst: pixman_image_get_data
      Src: /src/cairo/src/cairo-image-compositor.c:2524,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-compositor.c:2511,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-compositor.c:2518,1
    - Dst: pixman_image_get_data
      Src: /src/cairo/src/cairo-image-compositor.c:2503,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-compositor.c:2528,1
    - Dst: pixman_image_get_data
      Src: /src/cairo/src/cairo-image-compositor.c:2534,1
    - Dst: memset
      Src: /src/cairo/src/cairo-image-compositor.c:2537,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-compositor.c:2546,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 58
    argCount: 5
    argNames:
    - abstract_renderer
    - y
    - h
    - spans
    - num_spans
    argTypes:
    - void*
    - int
    - int
    - cairo_half_open_span_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 2555
      start: 2480
    functionDepth: 0
    functionLinenumber: 2480
    functionLinenumberEnd: 2555
    functionName: _inplace_spans
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - memset
    - pixman_image_composite32
    - pixman_image_get_data
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _inplace_spans (void *abstract_renderer,\t\t\
      int y, int h,\t\tconst cairo_half_open_span_t *spans,\t\tunsigned num_spans) "
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: inplace_renderer_init
      Src: /src/cairo/src/cairo-image-compositor.c:3002,1
    - Dst: _cairo_pattern_is_opaque
      Src: /src/cairo/src/cairo-image-compositor.c:3021,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-compositor.c:3059,1
    - Dst: pixman_image_unref
      Src: /src/cairo/src/cairo-image-compositor.c:3066,1
    - Dst: pixman_image_unref
      Src: /src/cairo/src/cairo-image-compositor.c:3074,1
    - Dst: pixman_image_create_bits
      Src: /src/cairo/src/cairo-image-compositor.c:3090,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-image-compositor.c:3060,1
    - Dst: pixman_image_get_data
      Src: /src/cairo/src/cairo-image-compositor.c:3101,1
    - Dst: _pixman_operator
      Src: /src/cairo/src/cairo-image-compositor.c:3035,1
    - Dst: mono_renderer_init
      Src: /src/cairo/src/cairo-image-compositor.c:2998,1
    - Dst: _pixman_image_for_pattern
      Src: /src/cairo/src/cairo-image-compositor.c:3053,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-compositor.c:3098,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-image-compositor.c:3099,1
    - Dst: pixman_image_get_stride
      Src: /src/cairo/src/cairo-image-compositor.c:3102,1
    - Dst: _pixman_image_for_pattern
      Src: /src/cairo/src/cairo-image-compositor.c:3039,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-compositor.c:3043,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-image-compositor.c:3044,1
    - Dst: _cairo_pattern_is_opaque
      Src: /src/cairo/src/cairo-image-compositor.c:3064,1
    - Dst: pixman_image_create_bits
      Src: /src/cairo/src/cairo-image-compositor.c:3082,1
    - Dst: TRACE
      Src: /src/cairo/src/cairo-image-compositor.c:2987,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 89
    argCount: 4
    argNames:
    - _r
    - composite
    - antialias
    - needs_clip
    argTypes:
    - cairo_abstract_span_renderer_t*
    - cairo_composite_rectangles_t*
    - cairo_antialias_t
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 3106
      start: 2975
    functionDepth: 0
    functionLinenumber: 2975
    functionLinenumberEnd: 3106
    functionName: span_renderer_init
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_is_opaque
    - TRACE
    - _cairo_error
    - unlikely
    - _pixman_operator
    - pixman_image_unref
    - pixman_image_get_data
    - inplace_renderer_init
    - pixman_image_get_stride
    - pixman_image_create_bits
    - _pixman_image_for_pattern
    - mono_renderer_init
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t span_renderer_init (cairo_abstract_span_renderer_t\t\
      *_r,\t\t const cairo_composite_rectangles_t *composite,\t\t cairo_antialias_t\t\
      \t\t antialias,\t\t cairo_bool_t\t\t\t needs_clip) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-image-compositor.c:3114,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-compositor.c:3123,1
    - Dst: likely
      Src: /src/cairo/src/cairo-image-compositor.c:3120,1
    - Dst: likely
      Src: /src/cairo/src/cairo-image-compositor.c:3116,1
    - Dst: to_pixman_image
      Src: /src/cairo/src/cairo-image-compositor.c:3124,1
    - Dst: pixman_image_unref
      Src: /src/cairo/src/cairo-image-compositor.c:3135,1
    - Dst: pixman_image_unref
      Src: /src/cairo/src/cairo-image-compositor.c:3137,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - _r
    - status
    argTypes:
    - cairo_abstract_span_renderer_t*
    - cairo_int_status_t
    constantsTouched: []
    func_position:
      end: 3138
      start: 3108
    functionDepth: 0
    functionLinenumber: 3108
    functionLinenumberEnd: 3138
    functionName: span_renderer_fini
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - TRACE
    - pixman_image_composite32
    - pixman_image_unref
    - to_pixman_image
    - likely
    linkageType: ''
    returnType: void
    signature: "static void span_renderer_fini (cairo_abstract_span_renderer_t *_r,\t\
      \t cairo_int_status_t status) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_atomic_init_once_enter
      Src: /src/cairo/src/cairo-image-compositor.c:3148,1
    - Dst: _cairo_image_traps_compositor_get
      Src: /src/cairo/src/cairo-image-compositor.c:3150,1
    - Dst: _cairo_spans_compositor_init
      Src: /src/cairo/src/cairo-image-compositor.c:3153,1
    - Dst: _cairo_atomic_init_once_leave
      Src: /src/cairo/src/cairo-image-compositor.c:3172,1
    - Dst: _cairo_shape_mask_compositor_init
      Src: /src/cairo/src/cairo-image-compositor.c:3149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3176
      start: 3141
    functionDepth: 0
    functionLinenumber: 3141
    functionLinenumberEnd: 3176
    functionName: _cairo_image_spans_compositor_get
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_image_traps_compositor_get
    - _cairo_atomic_init_once_leave
    - _cairo_shape_mask_compositor_init
    - _cairo_atomic_init_once_enter
    - _cairo_spans_compositor_init
    linkageType: ''
    returnType: cairo_compositor_t*
    signature: 'const cairo_compositor_t *_cairo_image_spans_compositor_get (void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pixman_image_get_data
      Src: /src/cairo/src/cairo-image-compositor.c:2741,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-compositor.c:2756,1
    - Dst: mul8_8
      Src: /src/cairo/src/cairo-image-compositor.c:2744,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-compositor.c:2762,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-compositor.c:2748,1
    - Dst: pixman_image_get_data
      Src: /src/cairo/src/cairo-image-compositor.c:2772,1
    - Dst: memset
      Src: /src/cairo/src/cairo-image-compositor.c:2777,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-compositor.c:2786,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-compositor.c:2794,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-compositor.c:2800,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 5
    argNames:
    - abstract_renderer
    - y
    - h
    - spans
    - num_spans
    argTypes:
    - void*
    - int
    - int
    - cairo_half_open_span_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 2811
      start: 2728
    functionDepth: 0
    functionLinenumber: 2728
    functionLinenumberEnd: 2811
    functionName: _inplace_src_opacity_spans
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - mul8_8
    - memset
    - pixman_image_composite32
    - pixman_image_get_data
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _inplace_src_opacity_spans (void *abstract_renderer,\
      \ int y, int h,\t\t\t const cairo_half_open_span_t *spans,\t\t\t unsigned num_spans) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - abstract_dst
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: release
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t release (void *abstract_dst) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_COLOR_IS_OPAQUE
      Src: /src/cairo/src/cairo-image-compositor.c:266,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 3
    argNames:
    - op
    - color
    - dst
    argTypes:
    - cairo_operator_t
    - cairo_color_t*
    - cairo_image_surface_t*
    constantsTouched: []
    func_position:
      end: 272
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 272
    functionName: __fill_reduces_to_source
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - CAIRO_COLOR_IS_OPAQUE
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t __fill_reduces_to_source (cairo_operator_t op,\t\
      \t\t const cairo_color_t *color,\t\t\t const cairo_image_surface_t *dst) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-image-compositor.c:401,1
    - Dst: _pixman_operator
      Src: /src/cairo/src/cairo-image-compositor.c:404,1
    - Dst: to_pixman_image
      Src: /src/cairo/src/cairo-image-compositor.c:405,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-compositor.c:404,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-compositor.c:411,1
    - Dst: _pixman_operator
      Src: /src/cairo/src/cairo-image-compositor.c:411,1
    - Dst: to_pixman_image
      Src: /src/cairo/src/cairo-image-compositor.c:412,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 12
    argNames:
    - _dst
    - op
    - abstract_src
    - abstract_mask
    - src_x
    - src_y
    - mask_x
    - mask_y
    - dst_x
    - dst_y
    - width
    - height
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_surface_t*
    - cairo_surface_t*
    - int
    - int
    - int
    - int
    - int
    - int
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 420
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 420
    functionName: composite
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - to_pixman_image
    - pixman_image_composite32
    - _pixman_operator
    - TRACE
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t composite (void\t\t\t*_dst,\t cairo_operator_t\t\
      op,\t cairo_surface_t\t*abstract_src,\t cairo_surface_t\t*abstract_mask,\t int\t\
      \t\tsrc_x,\t int\t\t\tsrc_y,\t int\t\t\tmask_x,\t int\t\t\tmask_y,\t int\t\t\
      \tdst_x,\t int\t\t\tdst_y,\t unsigned int\t\twidth,\t unsigned int\t\theight) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: to_pixman_image
      Src: /src/cairo/src/cairo-image-compositor.c:492,1
    - Dst: _pixman_image_for_color
      Src: /src/cairo/src/cairo-image-compositor.c:512,1
    - Dst: TRACE
      Src: /src/cairo/src/cairo-image-compositor.c:500,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-image-compositor.c:514,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-compositor.c:513,1
    - Dst: _pixman_operator
      Src: /src/cairo/src/cairo-image-compositor.c:524,1
    - Dst: _pixman_operator
      Src: /src/cairo/src/cairo-image-compositor.c:527,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-image-compositor.c:532,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-image-compositor.c:533,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-image-compositor.c:534,1
    - Dst: pixman_image_unref
      Src: /src/cairo/src/cairo-image-compositor.c:546,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-image-compositor.c:535,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-compositor.c:537,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 51
    argCount: 12
    argNames:
    - _dst
    - op
    - abstract_src
    - abstract_mask
    - src_x
    - src_y
    - mask_x
    - mask_y
    - dst_x
    - dst_y
    - boxes
    - extents
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_surface_t*
    - cairo_surface_t*
    - int
    - int
    - int
    - int
    - int
    - int
    - cairo_boxes_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 549
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 549
    functionName: composite_boxes
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - TRACE
    - _cairo_fixed_integer_part
    - _cairo_error
    - _pixman_image_for_color
    - _pixman_operator
    - pixman_image_composite32
    - pixman_image_unref
    - to_pixman_image
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t composite_boxes (void\t\t\t*_dst,\t\t cairo_operator_t\t\
      op,\t\t cairo_surface_t\t*abstract_src,\t\t cairo_surface_t\t*abstract_mask,\t\
      \t int\t\t\tsrc_x,\t\t int\t\t\tsrc_y,\t\t int\t\t\tmask_x,\t\t int\t\t\tmask_y,\t\
      \t int\t\t\tdst_x,\t\t int\t\t\tdst_y,\t\t cairo_boxes_t\t\t*boxes,\t\t const\
      \ cairo_rectangle_int_t *extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-image-compositor.c:581,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-image-compositor.c:585,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-image-compositor.c:584,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-image-compositor.c:582,1
    - Dst: _cairo_fixed_16_16_from_double
      Src: /src/cairo/src/cairo-image-compositor.c:588,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-image-compositor.c:588,1
    - Dst: _cairo_fixed_16_16_from_double
      Src: /src/cairo/src/cairo-image-compositor.c:589,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-image-compositor.c:589,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 4
    argNames:
    - line
    - top
    - bottom
    - out
    argTypes:
    - cairo_line_t*
    - cairo_fixed_t
    - cairo_fixed_t
    - pixman_line_fixed_t*
    constantsTouched: []
    func_position:
      end: 590
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 590
    functionName: project_line_x_onto_16_16
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_16_16_from_double
    - _cairo_fixed_to_double
    linkageType: ''
    returnType: void
    signature: "static void project_line_x_onto_16_16 (const cairo_line_t *line,\t\
      \t\t cairo_fixed_t top,\t\t\t cairo_fixed_t bottom,\t\t\t pixman_line_fixed_t\
      \ *out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_point
      Src: /src/cairo/src/cairo-image-compositor.c:714,1
    - Dst: set_point
      Src: /src/cairo/src/cairo-image-compositor.c:719,1
    - Dst: set_point
      Src: /src/cairo/src/cairo-image-compositor.c:716,1
    - Dst: set_point
      Src: /src/cairo/src/cairo-image-compositor.c:715,1
    - Dst: pixman_add_triangles
      Src: /src/cairo/src/cairo-image-compositor.c:717,1
    - Dst: pixman_add_triangles
      Src: /src/cairo/src/cairo-image-compositor.c:720,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - image
    - dst_x
    - dst_y
    - strip
    argTypes:
    - pixman_image_t*
    - int
    - int
    - cairo_tristrip_t*
    constantsTouched: []
    func_position:
      end: 722
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 722
    functionName: _pixman_image_add_tristrip
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - set_point
    - pixman_add_triangles
    linkageType: ''
    returnType: void
    signature: "void _pixman_image_add_tristrip (pixman_image_t *image,\t\t\t int\
      \ dst_x, int dst_y,\t\t\t cairo_tristrip_t *strip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 970
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 970
    functionName: _cairo_image_compositor_reset_static_data
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void _cairo_image_compositor_reset_static_data (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pixman_image_compositor_blt
      Src: /src/cairo/src/cairo-image-compositor.c:1360,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 5
    argNames:
    - abstract_renderer
    - y
    - height
    - spans
    - num_spans
    argTypes:
    - void*
    - int
    - int
    - cairo_half_open_span_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 1368
      start: 1347
    functionDepth: 0
    functionLinenumber: 1347
    functionLinenumberEnd: 1368
    functionName: _cairo_image_bounded_opaque_spans
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - pixman_image_compositor_blt
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_image_bounded_opaque_spans (void *abstract_renderer,\t\
      \t\t\t int y, int height,\t\t\t\t const cairo_half_open_span_t *spans,\t\t\t\
      \t unsigned num_spans) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pixman_image_set_clip_region32
      Src: /src/cairo/src/cairo-image-compositor.c:81,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-image-compositor.c:82,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - _surface
    - region
    argTypes:
    - void*
    - cairo_region_t*
    constantsTouched: []
    func_position:
      end: 85
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 85
    functionName: set_clip_region
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - pixman_image_set_clip_region32
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t set_clip_region (void *_surface,\t\t cairo_region_t\
      \ *region) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __fill_reduces_to_source
      Src: /src/cairo/src/cairo-image-compositor.c:280,1
    - Dst: color_to_pixel
      Src: /src/cairo/src/cairo-image-compositor.c:281,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - op
    - color
    - dst
    - pixel
    argTypes:
    - cairo_operator_t
    - cairo_color_t*
    - cairo_image_surface_t*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 285
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 285
    functionName: fill_reduces_to_source
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - color_to_pixel
    - __fill_reduces_to_source
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t fill_reduces_to_source (cairo_operator_t op,\t\
      \t\tconst cairo_color_t *color,\t\t\tconst cairo_image_surface_t *dst,\t\t\t\
      uint32_t *pixel) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-image-compositor.c:439,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-compositor.c:454,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-compositor.c:442,1
    - Dst: TRACE
      Src: /src/cairo/src/cairo-image-compositor.c:450,1
    - Dst: TRACE
      Src: /src/cairo/src/cairo-image-compositor.c:462,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-compositor.c:467,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 11
    argNames:
    - _dst
    - abstract_src
    - abstract_mask
    - src_x
    - src_y
    - mask_x
    - mask_y
    - dst_x
    - dst_y
    - width
    - height
    argTypes:
    - void*
    - cairo_surface_t*
    - cairo_surface_t*
    - int
    - int
    - int
    - int
    - int
    - int
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 476
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 476
    functionName: lerp
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - pixman_image_composite32
    - TRACE
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t lerp (void\t\t\t*_dst, cairo_surface_t\t\
      \t*abstract_src, cairo_surface_t\t\t*abstract_mask, int\t\t\tsrc_x, int\t\t\t\
      src_y, int\t\t\tmask_x, int\t\t\tmask_y, int\t\t\tdst_x, int\t\t\tdst_y, unsigned\
      \ int\t\twidth, unsigned int\t\theight) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_to_16_16
      Src: /src/cairo/src/cairo-image-compositor.c:603,1
    - Dst: _cairo_fixed_to_16_16
      Src: /src/cairo/src/cairo-image-compositor.c:604,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-compositor.c:610,1
    - Dst: project_line_x_onto_16_16
      Src: /src/cairo/src/cairo-image-compositor.c:611,1
    - Dst: line_exceeds_16_16
      Src: /src/cairo/src/cairo-image-compositor.c:610,1
    - Dst: _cairo_fixed_to_16_16
      Src: /src/cairo/src/cairo-image-compositor.c:615,1
    - Dst: _cairo_fixed_to_16_16
      Src: /src/cairo/src/cairo-image-compositor.c:616,1
    - Dst: _cairo_fixed_to_16_16
      Src: /src/cairo/src/cairo-image-compositor.c:617,1
    - Dst: _cairo_fixed_to_16_16
      Src: /src/cairo/src/cairo-image-compositor.c:618,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-compositor.c:621,1
    - Dst: line_exceeds_16_16
      Src: /src/cairo/src/cairo-image-compositor.c:621,1
    - Dst: project_line_x_onto_16_16
      Src: /src/cairo/src/cairo-image-compositor.c:622,1
    - Dst: _cairo_fixed_to_16_16
      Src: /src/cairo/src/cairo-image-compositor.c:626,1
    - Dst: pixman_rasterize_trapezoid
      Src: /src/cairo/src/cairo-image-compositor.c:632,1
    - Dst: _cairo_fixed_to_16_16
      Src: /src/cairo/src/cairo-image-compositor.c:627,1
    - Dst: _cairo_fixed_to_16_16
      Src: /src/cairo/src/cairo-image-compositor.c:628,1
    - Dst: _cairo_fixed_to_16_16
      Src: /src/cairo/src/cairo-image-compositor.c:629,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 4
    argNames:
    - image
    - dst_x
    - dst_y
    - traps
    argTypes:
    - pixman_image_t*
    - int
    - int
    - cairo_traps_t*
    constantsTouched: []
    func_position:
      end: 635
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 635
    functionName: _pixman_image_add_traps
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_to_16_16
    - pixman_rasterize_trapezoid
    - project_line_x_onto_16_16
    - line_exceeds_16_16
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void _pixman_image_add_traps (pixman_image_t *image,\t\t\t int dst_x,\
      \ int dst_y,\t\t\t cairo_traps_t *traps) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-image-compositor.c:741,1
    - Dst: _cairo_traps_fini
      Src: /src/cairo/src/cairo-image-compositor.c:766,1
    - Dst: _cairo_traps_tessellate_convex_quad
      Src: /src/cairo/src/cairo-image-compositor.c:760,1
    - Dst: _cairo_traps_init
      Src: /src/cairo/src/cairo-image-compositor.c:751,1
    - Dst: composite_traps
      Src: /src/cairo/src/cairo-image-compositor.c:762,1
    - Dst: _pixman_image_add_tristrip
      Src: /src/cairo/src/cairo-image-compositor.c:776,1
    - Dst: pixman_image_create_bits
      Src: /src/cairo/src/cairo-image-compositor.c:780,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-compositor.c:783,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-image-compositor.c:784,1
    - Dst: _pixman_image_add_tristrip
      Src: /src/cairo/src/cairo-image-compositor.c:786,1
    - Dst: _pixman_operator
      Src: /src/cairo/src/cairo-image-compositor.c:787,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-compositor.c:787,1
    - Dst: pixman_image_unref
      Src: /src/cairo/src/cairo-image-compositor.c:794,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 10
    argNames:
    - _dst
    - op
    - abstract_src
    - src_x
    - src_y
    - dst_x
    - dst_y
    - extents
    - antialias
    - strip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_surface_t*
    - int
    - int
    - int
    - int
    - cairo_rectangle_int_t*
    - cairo_antialias_t
    - cairo_tristrip_t*
    constantsTouched: []
    func_position:
      end: 797
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 797
    functionName: composite_tristrip
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_traps_tessellate_convex_quad
    - _cairo_traps_init
    - _pixman_image_add_tristrip
    - _cairo_traps_fini
    - TRACE
    - _cairo_error
    - composite_traps
    - pixman_image_composite32
    - _pixman_operator
    - pixman_image_unref
    - pixman_image_create_bits
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t composite_tristrip (void\t\t\t*_dst,\t\t\
      \ cairo_operator_t\top,\t\t cairo_surface_t\t*abstract_src,\t\t int\t\t\tsrc_x,\t\
      \t int\t\t\tsrc_y,\t\t int\t\t\tdst_x,\t\t int\t\t\tdst_y,\t\t const cairo_rectangle_int_t\
      \ *extents,\t\t cairo_antialias_t\tantialias,\t\t cairo_tristrip_t\t*strip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - scaled_font
    - scaled_glyph
    argTypes:
    - cairo_scaled_font_t*
    - cairo_scaled_glyph_t*
    constantsTouched: []
    func_position:
      end: 976
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 976
    functionName: _cairo_image_scaled_glyph_fini
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _cairo_image_scaled_glyph_fini (cairo_scaled_font_t *scaled_font,\t\
      \t\t\tcairo_scaled_glyph_t *scaled_glyph) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-image-compositor.c:1207,1
    - Dst: _pixman_operator
      Src: /src/cairo/src/cairo-image-compositor.c:1215,1
    - Dst: composite_one_glyph
      Src: /src/cairo/src/cairo-image-compositor.c:1210,1
    - Dst: to_pixman_image
      Src: /src/cairo/src/cairo-image-compositor.c:1216,1
    - Dst: composite_glyphs_via_mask
      Src: /src/cairo/src/cairo-image-compositor.c:1213,1
    - Dst: memset
      Src: /src/cairo/src/cairo-image-compositor.c:1219,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-image-compositor.c:1227,1
    - Dst: _cairo_scaled_glyph_index
      Src: /src/cairo/src/cairo-image-compositor.c:1231,1
    - Dst: _cairo_scaled_glyph_lookup
      Src: /src/cairo/src/cairo-image-compositor.c:1233,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-compositor.c:1238,1
    - Dst: _cairo_lround
      Src: /src/cairo/src/cairo-image-compositor.c:1248,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-compositor.c:1253,1
    - Dst: _cairo_lround
      Src: /src/cairo/src/cairo-image-compositor.c:1250,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 41
    argCount: 8
    argNames:
    - _dst
    - op
    - _src
    - src_x
    - src_y
    - dst_x
    - dst_y
    - info
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_surface_t*
    - int
    - int
    - int
    - int
    - cairo_composite_glyphs_info_t*
    constantsTouched: []
    func_position:
      end: 1263
      start: 1192
    functionDepth: 0
    functionLinenumber: 1192
    functionLinenumberEnd: 1263
    functionName: composite_glyphs
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_scaled_glyph_index
    - TRACE
    - _cairo_scaled_glyph_lookup
    - ARRAY_LENGTH
    - pixman_image_composite32
    - _pixman_operator
    - composite_glyphs_via_mask
    - to_pixman_image
    - composite_one_glyph
    - _cairo_lround
    - memset
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t composite_glyphs (void\t\t\t\t*_dst,\t\t\
      \ cairo_operator_t\t\t op,\t\t cairo_surface_t\t\t*_src,\t\t int\t\t\t\t src_x,\t\
      \t int\t\t\t\t src_y,\t\t int\t\t\t\t dst_x,\t\t int\t\t\t\t dst_y,\t\t cairo_composite_glyphs_info_t\
      \ *info) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pixman_image_compositor_blt
      Src: /src/cairo/src/cairo-image-compositor.c:1383,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 5
    argNames:
    - abstract_renderer
    - y
    - height
    - spans
    - num_spans
    argTypes:
    - void*
    - int
    - int
    - cairo_half_open_span_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 1392
      start: 1370
    functionDepth: 0
    functionLinenumber: 1370
    functionLinenumberEnd: 1392
    functionName: _cairo_image_bounded_spans
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - pixman_image_compositor_blt
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_image_bounded_spans (void *abstract_renderer,\t\
      \t\t int y, int height,\t\t\t const cairo_half_open_span_t *spans,\t\t\t unsigned\
      \ num_spans) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/cairo/src/cairo-image-compositor.c:1793,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 5
    argNames:
    - abstract_renderer
    - y
    - h
    - spans
    - num_spans
    argTypes:
    - void*
    - int
    - int
    - cairo_half_open_span_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 1820
      start: 1784
    functionDepth: 0
    functionLinenumber: 1784
    functionLinenumberEnd: 1820
    functionName: _fill16_spans
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - likely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _fill16_spans (void *abstract_renderer, int\
      \ y, int h,\t const cairo_half_open_span_t *spans, unsigned num_spans) "
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pattern_is_opaque_solid
      Src: /src/cairo/src/cairo-image-compositor.c:2085,1
    - Dst: fill_reduces_to_source
      Src: /src/cairo/src/cairo-image-compositor.c:2096,1
    - Dst: PIXMAN_FORMAT_BPP
      Src: /src/cairo/src/cairo-image-compositor.c:2101,1
    - Dst: to_image_surface
      Src: /src/cairo/src/cairo-image-compositor.c:2115,1
    - Dst: to_image_surface
      Src: /src/cairo/src/cairo-image-compositor.c:2118,1
    - Dst: _cairo_matrix_is_integer_translation
      Src: /src/cairo/src/cairo-image-compositor.c:2121,1
    - Dst: _pixman_image_for_pattern
      Src: /src/cairo/src/cairo-image-compositor.c:2137,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-compositor.c:2141,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-image-compositor.c:2142,1
    - Dst: to_pixman_image
      Src: /src/cairo/src/cairo-image-compositor.c:2144,1
    - Dst: PIXMAN_FORMAT_BPP
      Src: /src/cairo/src/cairo-image-compositor.c:2153,1
    - Dst: _pixman_operator
      Src: /src/cairo/src/cairo-image-compositor.c:2145,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 79
    argCount: 4
    argNames:
    - r
    - composite
    - antialias
    - needs_clip
    argTypes:
    - cairo_image_span_renderer_t*
    - cairo_composite_rectangles_t*
    - cairo_antialias_t
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 2156
      start: 2074
    functionDepth: 0
    functionLinenumber: 2074
    functionLinenumberEnd: 2156
    functionName: mono_renderer_init
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - fill_reduces_to_source
    - to_image_surface
    - _cairo_error
    - unlikely
    - _pixman_operator
    - _cairo_matrix_is_integer_translation
    - PIXMAN_FORMAT_BPP
    - to_pixman_image
    - _pixman_image_for_pattern
    - _cairo_pattern_is_opaque_solid
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t mono_renderer_init (cairo_image_span_renderer_t\t\
      *r,\t\t const cairo_composite_rectangles_t *composite,\t\t cairo_antialias_t\t\
      \t\t antialias,\t\t cairo_bool_t\t\t\t needs_clip) "
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: fill_reduces_to_source
      Src: /src/cairo/src/cairo-image-compositor.c:2840,1
    - Dst: _cairo_matrix_is_integer_translation
      Src: /src/cairo/src/cairo-image-compositor.c:2895,1
    - Dst: assert
      Src: /src/cairo/src/cairo-image-compositor.c:2902,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-compositor.c:2951,1
    - Dst: pixman_image_create_bits
      Src: /src/cairo/src/cairo-image-compositor.c:2956,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-compositor.c:2959,1
    - Dst: pixman_image_unref
      Src: /src/cairo/src/cairo-image-compositor.c:2952,1
    - Dst: pixman_image_unref
      Src: /src/cairo/src/cairo-image-compositor.c:2960,1
    - Dst: _pixman_operator
      Src: /src/cairo/src/cairo-image-compositor.c:2937,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-image-compositor.c:2950,1
    - Dst: pixman_image_set_destroy_function
      Src: /src/cairo/src/cairo-image-compositor.c:2967,1
    - Dst: to_image_surface
      Src: /src/cairo/src/cairo-image-compositor.c:2892,1
    - Dst: to_image_surface
      Src: /src/cairo/src/cairo-image-compositor.c:2889,1
    - Dst: PIXMAN_FORMAT_BPP
      Src: /src/cairo/src/cairo-image-compositor.c:2902,1
    - Dst: _pixman_image_for_pattern
      Src: /src/cairo/src/cairo-image-compositor.c:2940,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-compositor.c:2944,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-image-compositor.c:2945,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-image-compositor.c:2963,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-image-compositor.c:2953,1
    - Dst: free
      Src: /src/cairo/src/cairo-image-compositor.c:2962,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 136
    argCount: 4
    argNames:
    - r
    - composite
    - antialias
    - needs_clip
    argTypes:
    - cairo_image_span_renderer_t*
    - cairo_composite_rectangles_t*
    - cairo_antialias_t
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 2973
      start: 2818
    functionDepth: 0
    functionLinenumber: 2818
    functionLinenumberEnd: 2973
    functionName: inplace_renderer_init
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - fill_reduces_to_source
    - _cairo_malloc
    - to_image_surface
    - _cairo_error
    - free
    - _pixman_operator
    - pixman_image_unref
    - assert
    - PIXMAN_FORMAT_BPP
    - _cairo_matrix_is_integer_translation
    - pixman_image_set_destroy_function
    - pixman_image_create_bits
    - _pixman_image_for_pattern
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t inplace_renderer_init (cairo_image_span_renderer_t\t\
      *r,\t\t const cairo_composite_rectangles_t *composite,\t\t cairo_antialias_t\t\
      \t antialias,\t\t cairo_bool_t\t\t\t needs_clip) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/cairo/src/cairo-image-compositor.c:1831,1
    - Dst: pixman_fill
      Src: /src/cairo/src/cairo-image-compositor.c:1836,1
    - Dst: pixman_fill
      Src: /src/cairo/src/cairo-image-compositor.c:1850,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 5
    argNames:
    - abstract_renderer
    - y
    - h
    - spans
    - num_spans
    argTypes:
    - void*
    - int
    - int
    - cairo_half_open_span_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 1869
      start: 1822
    functionDepth: 0
    functionLinenumber: 1822
    functionLinenumberEnd: 1869
    functionName: _fill32_spans
    functionSourceFile: /src/cairo/src/cairo-image-compositor.c
    functionUses: []
    functionsReached:
    - pixman_fill
    - likely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _fill32_spans (void *abstract_renderer, int\
      \ y, int h,\t const cairo_half_open_span_t *spans, unsigned num_spans) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pdf_operators_end_text
      Src: /src/cairo/src/cairo-pdf-operators.c:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - pdf_operators
    argTypes:
    - cairo_pdf_operators_t*
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: _cairo_pdf_operators_flush
    functionSourceFile: /src/cairo/src/cairo-pdf-operators.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_operators_end_text
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_pdf_operators_flush (cairo_pdf_operators_t\t\
      \ *pdf_operators) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pdf_operators_end_text
      Src: /src/cairo/src/cairo-pdf-operators.c:546,1
    - Dst: _cairo_pdf_operators_emit_path
      Src: /src/cairo/src/cairo-pdf-operators.c:555,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-operators.c:547,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-operators.c:553,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-operators.c:559,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-operators.c:574,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-operators.c:578,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 3
    argNames:
    - pdf_operators
    - path
    - fill_rule
    argTypes:
    - cairo_pdf_operators_t*
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    constantsTouched: []
    func_position:
      end: 579
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 579
    functionName: _cairo_pdf_operators_clip
    functionSourceFile: /src/cairo/src/cairo-pdf-operators.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_operators_end_text
    - _cairo_pdf_operators_emit_path
    - _cairo_output_stream_get_status
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_pdf_operators_clip (cairo_pdf_operators_t\t\
      *pdf_operators,\t\t\t const cairo_path_fixed_t\t*path,\t\t\t cairo_fill_rule_t\t\
      \t fill_rule) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/cairo/src/cairo-pdf-operators.c:758,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-pdf-operators.c:759,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-pdf-operators.c:762,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-pdf-operators.c:761,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-pdf-operators.c:760,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-pdf-operators.c:763,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-pdf-operators.c:764,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/src/cairo-pdf-operators.c:767,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - m
    - scale
    argTypes:
    - cairo_matrix_t*
    - double*
    constantsTouched: []
    func_position:
      end: 768
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 768
    functionName: _cairo_matrix_factor_out_scale
    functionSourceFile: /src/cairo/src/cairo-pdf-operators.c
    functionUses: []
    functionsReached:
    - fabs
    - cairo_matrix_scale
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_matrix_factor_out_scale (cairo_matrix_t *m, double
      *scale) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-operators.c:1000,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-operators.c:1024,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-operators.c:1020,1
    - Dst: abs
      Src: /src/cairo/src/cairo-pdf-operators.c:1016,1
    - Dst: _cairo_lround
      Src: /src/cairo/src/cairo-pdf-operators.c:1015,1
    - Dst: _cairo_pdf_operators_emit_glyph_index
      Src: /src/cairo/src/cairo-pdf-operators.c:1037,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-operators.c:1042,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-operators.c:1044,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - pdf_operators
    - stream
    argTypes:
    - cairo_pdf_operators_t*
    - cairo_output_stream_t*
    constantsTouched: []
    func_position:
      end: 1045
      start: 993
    functionDepth: 0
    functionLinenumber: 993
    functionLinenumberEnd: 1045
    functionName: _cairo_pdf_operators_emit_glyph_string_with_positioning
    functionSourceFile: /src/cairo/src/cairo-pdf-operators.c
    functionUses: []
    functionsReached:
    - _cairo_lround
    - abs
    - _cairo_output_stream_get_status
    - _cairo_pdf_operators_emit_glyph_index
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_pdf_operators_emit_glyph_string_with_positioning
      ( cairo_pdf_operators_t *pdf_operators, cairo_output_stream_t *stream) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-operators.c:1198,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-operators.c:1206,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - pdf_operators
    - subset_glyph
    argTypes:
    - cairo_pdf_operators_t*
    - cairo_scaled_font_subsets_glyph_t*
    constantsTouched: []
    func_position:
      end: 1219
      start: 1192
    functionDepth: 0
    functionLinenumber: 1192
    functionLinenumberEnd: 1219
    functionName: _cairo_pdf_operators_set_font_subset
    functionSourceFile: /src/cairo/src/cairo-pdf-operators.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_pdf_operators_set_font_subset (cairo_pdf_operators_t\
      \ *pdf_operators,\t\t\t\t cairo_scaled_font_subsets_glyph_t *subset_glyph) "
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - cap
    argTypes:
    - cairo_line_cap_t
    constantsTouched: []
    func_position:
      end: 595
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 595
    functionName: _cairo_pdf_line_cap
    functionSourceFile: /src/cairo/src/cairo-pdf-operators.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int _cairo_pdf_line_cap (cairo_line_cap_t cap) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/cairo/src/cairo-pdf-operators.c:793,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-pdf-operators.c:794,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-pdf-operators.c:794,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-pdf-operators.c:823,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-operators.c:824,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-pdf-operators.c:827,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-operators.c:837,1
    - Dst: _cairo_pdf_operators_end_text
      Src: /src/cairo/src/cairo-pdf-operators.c:784,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-operators.c:848,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-operators.c:833,1
    - Dst: _cairo_pdf_operators_emit_path
      Src: /src/cairo/src/cairo-pdf-operators.c:844,1
    - Dst: _cairo_output_stream_print_matrix
      Src: /src/cairo/src/cairo-pdf-operators.c:838,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-operators.c:839,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-pdf-operators.c:793,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-operators.c:785,1
    - Dst: _cairo_matrix_factor_out_scale
      Src: /src/cairo/src/cairo-pdf-operators.c:821,1
    - Dst: _cairo_pdf_operators_emit_stroke_style
      Src: /src/cairo/src/cairo-pdf-operators.c:830,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-operators.c:851,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-operators.c:853,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-operators.c:855,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-operators.c:857,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 45
    argCount: 6
    argNames:
    - pdf_operators
    - path
    - style
    - ctm
    - ctm_inverse
    - pdf_operator
    argTypes:
    - cairo_pdf_operators_t*
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - char*
    constantsTouched: []
    func_position:
      end: 858
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 858
    functionName: _cairo_pdf_operators_emit_stroke
    functionSourceFile: /src/cairo/src/cairo-pdf-operators.c
    functionUses: []
    functionsReached:
    - fabs
    - _cairo_pdf_operators_emit_stroke_style
    - _cairo_pdf_operators_end_text
    - _cairo_pdf_operators_emit_path
    - _cairo_output_stream_print_matrix
    - _cairo_matrix_factor_out_scale
    - _cairo_output_stream_get_status
    - cairo_matrix_invert
    - cairo_matrix_multiply
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_operators_emit_stroke (cairo_pdf_operators_t\t\
      \t*pdf_operators,\t\t\t\t const cairo_path_fixed_t\t*path,\t\t\t\t const cairo_stroke_style_t\t\
      *style,\t\t\t\t const cairo_matrix_t\t\t*ctm,\t\t\t\t const cairo_matrix_t\t\
      \t*ctm_inverse,\t\t\t\t const char\t\t\t*pdf_operator) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _word_wrap_stream_create
      Src: /src/cairo/src/cairo-pdf-operators.c:1058,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-pdf-operators.c:1061,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-pdf-operators.c:1066,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-operators.c:1060,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-operators.c:1059,1
    - Dst: _cairo_pdf_operators_emit_glyph_string
      Src: /src/cairo/src/cairo-pdf-operators.c:1071,1
    - Dst: _cairo_pdf_operators_emit_glyph_string_with_positioning
      Src: /src/cairo/src/cairo-pdf-operators.c:1074,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-pdf-operators.c:1080,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - pdf_operators
    argTypes:
    - cairo_pdf_operators_t*
    constantsTouched: []
    func_position:
      end: 1085
      start: 1047
    functionDepth: 0
    functionLinenumber: 1047
    functionLinenumberEnd: 1085
    functionName: _cairo_pdf_operators_flush_glyphs
    functionSourceFile: /src/cairo/src/cairo-pdf-operators.c
    functionUses: []
    functionsReached:
    - fabs
    - _word_wrap_stream_create
    - _cairo_pdf_operators_emit_glyph_string
    - _cairo_pdf_operators_emit_glyph_string_with_positioning
    - _cairo_output_stream_get_status
    - _cairo_output_stream_destroy
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_pdf_operators_flush_glyphs (cairo_pdf_operators_t
      *pdf_operators) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-operators.c:1224,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-operators.c:1230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pdf_operators
    argTypes:
    - cairo_pdf_operators_t*
    constantsTouched: []
    func_position:
      end: 1231
      start: 1221
    functionDepth: 0
    functionLinenumber: 1221
    functionLinenumberEnd: 1231
    functionName: _cairo_pdf_operators_begin_text
    functionSourceFile: /src/cairo/src/cairo-pdf-operators.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_get_status
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_pdf_operators_begin_text (cairo_pdf_operators_t
      *pdf_operators) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pdf_operators
    - enable
    argTypes:
    - cairo_pdf_operators_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 114
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 114
    functionName: _cairo_pdf_operators_enable_actual_text
    functionSourceFile: /src/cairo/src/cairo-pdf-operators.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_private
    signature: "cairo_private void _cairo_pdf_operators_enable_actual_text (cairo_pdf_operators_t\
      \ *pdf_operators,\t\t\t\t\t cairo_bool_t \t \tenable) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pdf_operators
    - stream
    argTypes:
    - cairo_pdf_operators_t*
    - cairo_output_stream_t*
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: _cairo_pdf_operators_set_stream
    functionSourceFile: /src/cairo/src/cairo-pdf-operators.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _cairo_pdf_operators_set_stream (cairo_pdf_operators_t\t *pdf_operators,\t\
      \t\t\t cairo_output_stream_t *stream) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_create_in_error
      Src: /src/cairo/src/cairo-pdf-operators.c:359,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-operators.c:362,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-pdf-operators.c:361,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-pdf-operators.c:363,1
    - Dst: _cairo_output_stream_init
      Src: /src/cairo/src/cairo-pdf-operators.c:367,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 380
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 380
    functionName: _word_wrap_stream_create
    functionSourceFile: /src/cairo/src/cairo-pdf-operators.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_create_in_error
    - _cairo_output_stream_init
    - _cairo_error_throw
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_output_stream_t*
    signature: 'static cairo_output_stream_t *_word_wrap_stream_create (cairo_output_stream_t
      *output, cairo_bool_t ps, int max_column) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-pdf-operators.c:475,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-pdf-operators.c:477,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-pdf-operators.c:476,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/cairo-pdf-operators.c:480,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-pdf-operators.c:478,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/cairo-pdf-operators.c:481,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-operators.c:482,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-operators.c:486,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - info
    - box
    argTypes:
    - pdf_path_info_t*
    - cairo_box_t*
    constantsTouched: []
    func_position:
      end: 487
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 487
    functionName: _cairo_pdf_path_rectangle
    functionSourceFile: /src/cairo/src/cairo-pdf-operators.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_get_status
    - _cairo_output_stream_printf
    - cairo_matrix_transform_point
    - _cairo_fixed_to_double
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_pdf_path_rectangle (pdf_path_info_t *info,
      cairo_box_t *box) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - join
    argTypes:
    - cairo_line_join_t
    constantsTouched: []
    func_position:
      end: 611
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 611
    functionName: _cairo_pdf_line_join
    functionSourceFile: /src/cairo/src/cairo-pdf-operators.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int _cairo_pdf_line_join (cairo_line_join_t join) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-pdf-operators.c:1120,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-operators.c:1129,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-pdf-operators.c:1132,1
    - Dst: _cairo_output_stream_print_matrix
      Src: /src/cairo/src/cairo-pdf-operators.c:1128,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-operators.c:1121,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-operators.c:1133,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-pdf-operators.c:1134,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-operators.c:1138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - pdf_operators
    - matrix
    argTypes:
    - cairo_pdf_operators_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 1139
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1139
    functionName: _cairo_pdf_operators_set_text_matrix
    functionSourceFile: /src/cairo/src/cairo-pdf-operators.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_print_matrix
    - assert
    - _cairo_output_stream_get_status
    - cairo_matrix_invert
    - cairo_matrix_multiply
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_pdf_operators_set_text_matrix (cairo_pdf_operators_t\
      \ *pdf_operators,\t\t\t\t cairo_matrix_t *matrix) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pdf_operators_flush_glyphs
      Src: /src/cairo/src/cairo-pdf-operators.c:1307,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/cairo-pdf-operators.c:1320,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-operators.c:1312,1
    - Dst: _cairo_pdf_operators_set_font_subset
      Src: /src/cairo/src/cairo-pdf-operators.c:1311,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-operators.c:1308,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-pdf-operators.c:1333,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-pdf-operators.c:1334,1
    - Dst: _cairo_pdf_operators_flush_glyphs
      Src: /src/cairo/src/cairo-pdf-operators.c:1336,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-operators.c:1337,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/cairo-pdf-operators.c:1342,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-operators.c:1344,1
    - Dst: _cairo_pdf_operators_set_text_position
      Src: /src/cairo/src/cairo-pdf-operators.c:1343,1
    - Dst: _cairo_pdf_operators_add_glyph
      Src: /src/cairo/src/cairo-pdf-operators.c:1351,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 3
    argNames:
    - pdf_operators
    - glyph
    - subset_glyph
    argTypes:
    - cairo_pdf_operators_t*
    - cairo_glyph_t*
    - cairo_scaled_font_subsets_glyph_t*
    constantsTouched: []
    func_position:
      end: 1355
      start: 1295
    functionDepth: 0
    functionLinenumber: 1295
    functionLinenumberEnd: 1355
    functionName: _cairo_pdf_operators_emit_glyph
    functionSourceFile: /src/cairo/src/cairo-pdf-operators.c
    functionUses: []
    functionsReached:
    - fabs
    - _cairo_pdf_operators_set_text_position
    - _cairo_pdf_operators_set_font_subset
    - _cairo_pdf_operators_add_glyph
    - cairo_matrix_transform_point
    - _cairo_pdf_operators_flush_glyphs
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_pdf_operators_emit_glyph (cairo_pdf_operators_t\
      \ *pdf_operators,\t\t\t\t cairo_glyph_t \t *glyph,\t\t\t\t cairo_scaled_font_subsets_glyph_t\
      \ *subset_glyph) "
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-pdf-operators.c:1476,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-operators.c:1484,1
    - Dst: _cairo_pdf_operators_begin_text
      Src: /src/cairo/src/cairo-pdf-operators.c:1483,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-operators.c:1479,1
    - Dst: cairo_matrix_init_scale
      Src: /src/cairo/src/cairo-pdf-operators.c:1492,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-pdf-operators.c:1496,1
    - Dst: _cairo_matrix_scale_equal
      Src: /src/cairo/src/cairo-pdf-operators.c:1499,1
    - Dst: _cairo_pdf_operators_flush_glyphs
      Src: /src/cairo/src/cairo-pdf-operators.c:1501,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-operators.c:1502,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/cairo-pdf-operators.c:1507,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-operators.c:1549,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-operators.c:1513,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-operators.c:1533,1
    - Dst: _cairo_pdf_operators_emit_cluster
      Src: /src/cairo/src/cairo-pdf-operators.c:1542,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-operators.c:1554,1
    - Dst: _cairo_pdf_operators_emit_cluster
      Src: /src/cairo/src/cairo-pdf-operators.c:1526,1
    - Dst: _cairo_pdf_operators_set_text_matrix
      Src: /src/cairo/src/cairo-pdf-operators.c:1510,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 60
    argCount: 9
    argNames:
    - pdf_operators
    - utf8
    - utf8_len
    - glyphs
    - num_glyphs
    - clusters
    - num_clusters
    - cluster_flags
    - scaled_font
    argTypes:
    - cairo_pdf_operators_t*
    - char*
    - int
    - cairo_glyph_t*
    - int
    - cairo_text_cluster_t*
    - int
    - cairo_text_cluster_flags_t
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 1555
      start: 1457
    functionDepth: 0
    functionLinenumber: 1457
    functionLinenumberEnd: 1555
    functionName: _cairo_pdf_operators_show_text_glyphs
    functionSourceFile: /src/cairo/src/cairo-pdf-operators.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_operators_set_text_matrix
    - _cairo_pdf_operators_emit_cluster
    - cairo_matrix_init_scale
    - assert
    - _cairo_matrix_scale_equal
    - cairo_matrix_transform_point
    - _cairo_pdf_operators_flush_glyphs
    - _cairo_output_stream_get_status
    - _cairo_pdf_operators_begin_text
    - cairo_matrix_invert
    - cairo_matrix_multiply
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_pdf_operators_show_text_glyphs (cairo_pdf_operators_t\t\
      \ *pdf_operators,\t\t\t\t const char *utf8,\t\t\t\t int utf8_len,\t\t\t\t cairo_glyph_t\
      \ *glyphs,\t\t\t\t int num_glyphs,\t\t\t\t const cairo_text_cluster_t *clusters,\t\
      \t\t\t int num_clusters,\t\t\t\t cairo_text_cluster_flags_t cluster_flags,\t\
      \t\t\t cairo_scaled_font_t\t *scaled_font) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pdf_operators
    - cairo_to_pdf
    argTypes:
    - cairo_pdf_operators_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: _cairo_pdf_operators_set_cairo_to_pdf_matrix
    functionSourceFile: /src/cairo/src/cairo-pdf-operators.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _cairo_pdf_operators_set_cairo_to_pdf_matrix (cairo_pdf_operators_t\
      \ *pdf_operators,\t\t\t\t\t cairo_matrix_t\t *cairo_to_pdf) "
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pdf_line_cap
      Src: /src/cairo/src/cairo-pdf-operators.c:706,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-operators.c:711,1
    - Dst: _cairo_pdf_line_join
      Src: /src/cairo/src/cairo-pdf-operators.c:713,1
    - Dst: memmove
      Src: /src/cairo/src/cairo-pdf-operators.c:686,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-operators.c:704,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-operators.c:720,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-operators.c:723,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-operators.c:741,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-operators.c:640,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-operators.c:641,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-pdf-operators.c:655,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-operators.c:697,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-operators.c:731,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-operators.c:734,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-pdf-operators.c:643,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-pdf-operators.c:658,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-pdf-operators.c:680,1
    - Dst: memmove
      Src: /src/cairo/src/cairo-pdf-operators.c:679,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-operators.c:722,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-operators.c:727,1
    - Dst: _cairo_malloc_abc
      Src: /src/cairo/src/cairo-pdf-operators.c:639,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-pdf-operators.c:644,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-operators.c:656,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-operators.c:657,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-operators.c:671,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-pdf-operators.c:678,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 106
    argCount: 3
    argNames:
    - pdf_operators
    - style
    - scale
    argTypes:
    - cairo_pdf_operators_t*
    - cairo_stroke_style_t*
    - double
    constantsTouched: []
    func_position:
      end: 742
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 742
    functionName: _cairo_pdf_operators_emit_stroke_style
    functionSourceFile: /src/cairo/src/cairo-pdf-operators.c
    functionUses: []
    functionsReached:
    - memcpy
    - _cairo_malloc_abc
    - _cairo_error
    - free
    - memmove
    - _cairo_pdf_line_cap
    - _cairo_pdf_line_join
    - _cairo_output_stream_get_status
    - _cairo_malloc_ab
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_pdf_operators_emit_stroke_style (cairo_pdf_operators_t\t\
      \t*pdf_operators,\t\t\t\t\tconst cairo_stroke_style_t\t*style,\t\t\t\t\tdouble\t\
      \t\t\t scale) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pdf_operators_end_text
      Src: /src/cairo/src/cairo-pdf-operators.c:1565,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-operators.c:1571,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-operators.c:1576,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-operators.c:1566,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-operators.c:1581,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - pdf_operators
    - tag_name
    - mcid
    argTypes:
    - cairo_pdf_operators_t*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1582
      start: 1557
    functionDepth: 0
    functionLinenumber: 1557
    functionLinenumberEnd: 1582
    functionName: _cairo_pdf_operators_tag_begin
    functionSourceFile: /src/cairo/src/cairo-pdf-operators.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_get_status
    - _cairo_output_stream_printf
    - _cairo_pdf_operators_end_text
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_pdf_operators_tag_begin (cairo_pdf_operators_t\
      \ *pdf_operators,\t\t\t\tconst char *tag_name,\t\t\t\tint mcid) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_transform_distance
      Src: /src/cairo/src/cairo-pdf-operators.c:1097,1
    - Dst: _cairo_pdf_operators_flush_glyphs
      Src: /src/cairo/src/cairo-pdf-operators.c:1105,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - pdf_operators
    - glyph
    - x_position
    argTypes:
    - cairo_pdf_operators_t*
    - cairo_scaled_font_subsets_glyph_t*
    - double
    constantsTouched: []
    func_position:
      end: 1108
      start: 1087
    functionDepth: 0
    functionLinenumber: 1087
    functionLinenumberEnd: 1108
    functionName: _cairo_pdf_operators_add_glyph
    functionSourceFile: /src/cairo/src/cairo-pdf-operators.c
    functionUses: []
    functionsReached:
    - cairo_matrix_transform_distance
    - _cairo_pdf_operators_flush_glyphs
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_pdf_operators_add_glyph (cairo_pdf_operators_t\
      \ *pdf_operators,\t\t\t\tcairo_scaled_font_subsets_glyph_t *glyph,\t\t\t\tdouble\
      \ \t\t\t x_position) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pdf_operators_flush
      Src: /src/cairo/src/cairo-pdf-operators.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pdf_operators
    argTypes:
    - cairo_pdf_operators_t*
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: _cairo_pdf_operators_fini
    functionSourceFile: /src/cairo/src/cairo-pdf-operators.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_operators_flush
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_pdf_operators_fini (cairo_pdf_operators_t\t\
      *pdf_operators) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-pdf-operators.c:242,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-operators.c:245,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - stream
    - data
    - length
    argTypes:
    - word_wrap_stream_t*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 250
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 250
    functionName: _word_wrap_stream_count_hexstring_up_to
    functionSourceFile: /src/cairo/src/cairo-pdf-operators.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_write
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: int
    signature: "static int _word_wrap_stream_count_hexstring_up_to (word_wrap_stream_t\
      \ *stream,\t\t\t\t\t const unsigned char *data, int length) "
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _word_wrap_stream_count_word_up_to
      Src: /src/cairo/src/cairo-pdf-operators.c:307,1
    - Dst: _word_wrap_stream_count_hexstring_up_to
      Src: /src/cairo/src/cairo-pdf-operators.c:310,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-operators.c:319,1
    - Dst: _word_wrap_stream_count_string_up_to
      Src: /src/cairo/src/cairo-pdf-operators.c:313,1
    - Dst: _cairo_isspace
      Src: /src/cairo/src/cairo-pdf-operators.c:326,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-pdf-operators.c:330,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-operators.c:342,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 32
    argCount: 3
    argNames:
    - base
    - data
    - length
    argTypes:
    - cairo_output_stream_t*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 343
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 343
    functionName: _word_wrap_stream_write
    functionSourceFile: /src/cairo/src/cairo-pdf-operators.c
    functionUses: []
    functionsReached:
    - _word_wrap_stream_count_word_up_to
    - _word_wrap_stream_count_hexstring_up_to
    - _word_wrap_stream_count_string_up_to
    - _cairo_output_stream_write
    - _cairo_output_stream_get_status
    - _cairo_output_stream_printf
    - _cairo_isspace
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _word_wrap_stream_write (cairo_output_stream_t\
      \ *base,\t\t\t const unsigned char\t*data,\t\t\t unsigned int\t\t length) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pdf_operators_emit_stroke
      Src: /src/cairo/src/cairo-pdf-operators.c:867,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 5
    argNames:
    - pdf_operators
    - path
    - style
    - ctm
    - ctm_inverse
    argTypes:
    - cairo_pdf_operators_t*
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 873
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 873
    functionName: _cairo_pdf_operators_stroke
    functionSourceFile: /src/cairo/src/cairo-pdf-operators.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_operators_emit_stroke
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_pdf_operators_stroke (cairo_pdf_operators_t\t\
      \t*pdf_operators,\t\t\t const cairo_path_fixed_t\t\t*path,\t\t\t const cairo_stroke_style_t\t\
      \t*style,\t\t\t const cairo_matrix_t\t\t*ctm,\t\t\t const cairo_matrix_t\t\t\
      *ctm_inverse) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pdf_operators_emit_stroke
      Src: /src/cairo/src/cairo-pdf-operators.c:935,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 5
    argCount: 6
    argNames:
    - pdf_operators
    - path
    - fill_rule
    - style
    - ctm
    - ctm_inverse
    argTypes:
    - cairo_pdf_operators_t*
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 941
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 941
    functionName: _cairo_pdf_operators_fill_stroke
    functionSourceFile: /src/cairo/src/cairo-pdf-operators.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_operators_emit_stroke
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_pdf_operators_fill_stroke (cairo_pdf_operators_t\t\
      \t*pdf_operators,\t\t\t\t const cairo_path_fixed_t\t*path,\t\t\t\t cairo_fill_rule_t\t\
      \t fill_rule,\t\t\t\t const cairo_stroke_style_t\t*style,\t\t\t\t const cairo_matrix_t\t\
      \t*ctm,\t\t\t\t const cairo_matrix_t\t\t*ctm_inverse) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-pdf-operators.c:1162,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-pdf-operators.c:1166,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-pdf-operators.c:1167,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-pdf-operators.c:1169,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-operators.c:1163,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-operators.c:1171,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-pdf-operators.c:1180,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-operators.c:1181,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-pdf-operators.c:1182,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-operators.c:1186,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 3
    argNames:
    - pdf_operators
    - x
    - y
    argTypes:
    - cairo_pdf_operators_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 1187
      start: 1146
    functionDepth: 0
    functionLinenumber: 1146
    functionLinenumberEnd: 1187
    functionName: _cairo_pdf_operators_set_text_position
    functionSourceFile: /src/cairo/src/cairo-pdf-operators.c
    functionUses: []
    functionsReached:
    - fabs
    - assert
    - _cairo_output_stream_get_status
    - cairo_matrix_invert
    - cairo_matrix_multiply
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_pdf_operators_set_text_position (cairo_pdf_operators_t\
      \ *pdf_operators,\t\t\t\t\tdouble \t\t\tx,\t\t\t\t\tdouble \t\t\ty) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-operators.c:1270,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-operators.c:1280,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-operators.c:1277,1
    - Dst: _cairo_utf8_to_utf16
      Src: /src/cairo/src/cairo-pdf-operators.c:1272,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-operators.c:1273,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-operators.c:1282,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-operators.c:1284,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - pdf_operators
    - utf8
    - utf8_len
    argTypes:
    - cairo_pdf_operators_t*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1285
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1285
    functionName: _cairo_pdf_operators_begin_actualtext
    functionSourceFile: /src/cairo/src/cairo-pdf-operators.c
    functionUses: []
    functionsReached:
    - free
    - _cairo_utf8_to_utf16
    - _cairo_output_stream_get_status
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_pdf_operators_begin_actualtext (cairo_pdf_operators_t\
      \ *pdf_operators,\t\t\t\t const char \t *utf8,\t\t\t\t int\t\t utf8_len) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - pdf_operators
    - use_font_subset
    - closure
    argTypes:
    - cairo_pdf_operators_t*
    - cairo_pdf_operators_use_font_subset_t
    - void*
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: _cairo_pdf_operators_set_font_subsets_callback
    functionSourceFile: /src/cairo/src/cairo-pdf-operators.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _cairo_pdf_operators_set_font_subsets_callback (cairo_pdf_operators_t\t\
      \t *pdf_operators,\t\t\t\t\t\tcairo_pdf_operators_use_font_subset_t use_font_subset,\t\
      \t\t\t\t\tvoid\t\t\t\t *closure) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-operators.c:350,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - base
    argTypes:
    - cairo_output_stream_t*
    constantsTouched: []
    func_position:
      end: 351
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 351
    functionName: _word_wrap_stream_close
    functionSourceFile: /src/cairo/src/cairo-pdf-operators.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_get_status
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _word_wrap_stream_close (cairo_output_stream_t
      *base) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pdf_operators_end_text
      Src: /src/cairo/src/cairo-pdf-operators.c:884,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-operators.c:893,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-operators.c:885,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-operators.c:907,1
    - Dst: _cairo_pdf_operators_emit_path
      Src: /src/cairo/src/cairo-pdf-operators.c:889,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-operators.c:911,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 3
    argNames:
    - pdf_operators
    - path
    - fill_rule
    argTypes:
    - cairo_pdf_operators_t*
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    constantsTouched: []
    func_position:
      end: 912
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 912
    functionName: _cairo_pdf_operators_fill
    functionSourceFile: /src/cairo/src/cairo-pdf-operators.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_operators_end_text
    - _cairo_pdf_operators_emit_path
    - _cairo_output_stream_get_status
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_pdf_operators_fill (cairo_pdf_operators_t\t\
      *pdf_operators,\t\t\t const cairo_path_fixed_t\t*path,\t\t\t cairo_fill_rule_t\t\
      \tfill_rule) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-operators.c:950,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-operators.c:956,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-operators.c:952,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-operators.c:954,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - pdf_operators
    - stream
    - glyph
    argTypes:
    - cairo_pdf_operators_t*
    - cairo_output_stream_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 961
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 961
    functionName: _cairo_pdf_operators_emit_glyph_index
    functionSourceFile: /src/cairo/src/cairo-pdf-operators.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: void
    signature: "static void _cairo_pdf_operators_emit_glyph_index (cairo_pdf_operators_t\
      \ *pdf_operators,\t\t\t\t cairo_output_stream_t *stream,\t\t\t\t unsigned int\
      \ \t glyph) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-operators.c:1290,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-operators.c:1292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pdf_operators
    argTypes:
    - cairo_pdf_operators_t*
    constantsTouched: []
    func_position:
      end: 1293
      start: 1287
    functionDepth: 0
    functionLinenumber: 1287
    functionLinenumberEnd: 1293
    functionName: _cairo_pdf_operators_end_actualtext
    functionSourceFile: /src/cairo/src/cairo-pdf-operators.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_get_status
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_pdf_operators_end_actualtext (cairo_pdf_operators_t
      *pdf_operators) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _word_wrap_stream_create
      Src: /src/cairo/src/cairo-pdf-operators.c:509,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-operators.c:510,1
    - Dst: _cairo_path_fixed_is_rectangle
      Src: /src/cairo/src/cairo-pdf-operators.c:517,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-pdf-operators.c:512,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-operators.c:511,1
    - Dst: _cairo_pdf_path_rectangle
      Src: /src/cairo/src/cairo-pdf-operators.c:520,1
    - Dst: _cairo_path_fixed_interpret
      Src: /src/cairo/src/cairo-pdf-operators.c:522,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-pdf-operators.c:530,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 4
    argNames:
    - pdf_operators
    - path
    - path_transform
    - line_cap
    argTypes:
    - cairo_pdf_operators_t*
    - cairo_path_fixed_t*
    - cairo_matrix_t*
    - cairo_line_cap_t
    constantsTouched: []
    func_position:
      end: 535
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 535
    functionName: _cairo_pdf_operators_emit_path
    functionSourceFile: /src/cairo/src/cairo-pdf-operators.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_interpret
    - _cairo_path_fixed_is_rectangle
    - _word_wrap_stream_create
    - _cairo_pdf_path_rectangle
    - _cairo_output_stream_get_status
    - _cairo_output_stream_destroy
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_pdf_operators_emit_path (cairo_pdf_operators_t\t\
      *pdf_operators,\t\t\t\tconst cairo_path_fixed_t*path,\t\t\t\tcairo_matrix_t\
      \ *path_transform,\t\t\t\tcairo_line_cap_t line_cap) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-operators.c:973,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-operators.c:982,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-operators.c:980,1
    - Dst: _cairo_pdf_operators_emit_glyph_index
      Src: /src/cairo/src/cairo-pdf-operators.c:975,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - pdf_operators
    - stream
    argTypes:
    - cairo_pdf_operators_t*
    - cairo_output_stream_t*
    constantsTouched: []
    func_position:
      end: 983
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 983
    functionName: _cairo_pdf_operators_emit_glyph_string
    functionSourceFile: /src/cairo/src/cairo-pdf-operators.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_get_status
    - _cairo_pdf_operators_emit_glyph_index
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_pdf_operators_emit_glyph_string (cairo_pdf_operators_t\
      \ *pdf_operators,\t\t\t\t\tcairo_output_stream_t \t*stream) "
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_scaled_font_subsets_map_glyph
      Src: /src/cairo/src/cairo-pdf-operators.c:1386,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-operators.c:1392,1
    - Dst: _cairo_pdf_operators_emit_glyph
      Src: /src/cairo/src/cairo-pdf-operators.c:1396,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-operators.c:1399,1
    - Dst: _cairo_pdf_operators_flush_glyphs
      Src: /src/cairo/src/cairo-pdf-operators.c:1409,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-operators.c:1410,1
    - Dst: _cairo_pdf_operators_begin_actualtext
      Src: /src/cairo/src/cairo-pdf-operators.c:1413,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-operators.c:1414,1
    - Dst: _cairo_scaled_font_subsets_map_glyph
      Src: /src/cairo/src/cairo-pdf-operators.c:1426,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-operators.c:1431,1
    - Dst: _cairo_pdf_operators_flush_glyphs
      Src: /src/cairo/src/cairo-pdf-operators.c:1447,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-operators.c:1437,1
    - Dst: _cairo_pdf_operators_end_actualtext
      Src: /src/cairo/src/cairo-pdf-operators.c:1451,1
    - Dst: _cairo_pdf_operators_emit_glyph
      Src: /src/cairo/src/cairo-pdf-operators.c:1434,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-operators.c:1448,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 42
    argCount: 7
    argNames:
    - pdf_operators
    - utf8
    - utf8_len
    - glyphs
    - num_glyphs
    - cluster_flags
    - scaled_font
    argTypes:
    - cairo_pdf_operators_t*
    - char*
    - int
    - cairo_glyph_t*
    - int
    - cairo_text_cluster_flags_t
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 1455
      start: 1360
    functionDepth: 0
    functionLinenumber: 1360
    functionLinenumberEnd: 1455
    functionName: _cairo_pdf_operators_emit_cluster
    functionSourceFile: /src/cairo/src/cairo-pdf-operators.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_operators_end_actualtext
    - _cairo_scaled_font_subsets_map_glyph
    - _cairo_pdf_operators_begin_actualtext
    - _cairo_pdf_operators_flush_glyphs
    - _cairo_pdf_operators_emit_glyph
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_operators_emit_cluster (cairo_pdf_operators_t\
      \ *pdf_operators,\t\t\t\t const char *utf8,\t\t\t\t int utf8_len,\t\t\t\t cairo_glyph_t\
      \ *glyphs,\t\t\t\t int num_glyphs,\t\t\t\t cairo_text_cluster_flags_t cluster_flags,\t\
      \t\t\t cairo_scaled_font_t\t *scaled_font) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_isspace
      Src: /src/cairo/src/cairo-pdf-operators.c:198,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-pdf-operators.c:209,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 3
    argNames:
    - stream
    - data
    - length
    argTypes:
    - word_wrap_stream_t*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 212
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 212
    functionName: _word_wrap_stream_count_word_up_to
    functionSourceFile: /src/cairo/src/cairo-pdf-operators.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_write
    - _cairo_isspace
    linkageType: ''
    returnType: int
    signature: "static int _word_wrap_stream_count_word_up_to (word_wrap_stream_t\
      \ *stream,\t\t\t\t const unsigned char *data, int length) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-pdf-operators.c:395,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-operators.c:404,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-operators.c:401,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/cairo-pdf-operators.c:400,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-pdf-operators.c:396,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - closure
    - point
    argTypes:
    - void*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 405
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 405
    functionName: _cairo_pdf_path_move_to
    functionSourceFile: /src/cairo/src/cairo-pdf-operators.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_get_status
    - _cairo_output_stream_printf
    - cairo_matrix_transform_point
    - _cairo_fixed_to_double
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_pdf_path_move_to (void *closure,\t\t\t\
      \ const cairo_point_t *point) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-pdf-operators.c:438,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-pdf-operators.c:440,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-pdf-operators.c:441,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-pdf-operators.c:439,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-pdf-operators.c:442,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-pdf-operators.c:443,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/cairo-pdf-operators.c:446,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/cairo-pdf-operators.c:447,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/cairo-pdf-operators.c:448,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-operators.c:449,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-operators.c:452,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - closure
    - b
    - c
    - d
    argTypes:
    - void*
    - cairo_point_t*
    - cairo_point_t*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 453
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 453
    functionName: _cairo_pdf_path_curve_to
    functionSourceFile: /src/cairo/src/cairo-pdf-operators.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_get_status
    - _cairo_output_stream_printf
    - cairo_matrix_transform_point
    - _cairo_fixed_to_double
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_pdf_path_curve_to (void *closure,\t\t\
      \t const cairo_point_t *b,\t\t\t const cairo_point_t *c,\t\t\t const cairo_point_t\
      \ *d) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_matrix_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 1258
      start: 1251
    functionDepth: 0
    functionLinenumber: 1251
    functionLinenumberEnd: 1258
    functionName: _cairo_matrix_scale_equal
    functionSourceFile: /src/cairo/src/cairo-pdf-operators.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_matrix_scale_equal (cairo_matrix_t *a,
      cairo_matrix_t *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 5
    argNames:
    - pdf_operators
    - stream
    - cairo_to_pdf
    - font_subsets
    - ps
    argTypes:
    - cairo_pdf_operators_t*
    - cairo_output_stream_t*
    - cairo_matrix_t*
    - cairo_scaled_font_subsets_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 72
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 72
    functionName: _cairo_pdf_operators_init
    functionSourceFile: /src/cairo/src/cairo-pdf-operators.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _cairo_pdf_operators_init (cairo_pdf_operators_t\t*pdf_operators,\t\
      \t\t cairo_output_stream_t\t*stream,\t\t\t cairo_matrix_t\t\t*cairo_to_pdf,\t\
      \t\t cairo_scaled_font_subsets_t *font_subsets,\t\t\t cairo_bool_t ps) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-pdf-operators.c:412,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/cairo-pdf-operators.c:424,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-operators.c:425,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-pdf-operators.c:413,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-operators.c:428,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - closure
    - point
    argTypes:
    - void*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 429
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 429
    functionName: _cairo_pdf_path_line_to
    functionSourceFile: /src/cairo/src/cairo-pdf-operators.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_get_status
    - _cairo_output_stream_printf
    - cairo_matrix_transform_point
    - _cairo_fixed_to_double
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_pdf_path_line_to (void *closure,\t\t\t\
      \ const cairo_point_t *point) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-operators.c:466,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-operators.c:469,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - closure
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 470
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 470
    functionName: _cairo_pdf_path_close_path
    functionSourceFile: /src/cairo/src/cairo-pdf-operators.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_get_status
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_pdf_path_close_path (void *closure) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pdf_operators_end_text
      Src: /src/cairo/src/cairo-pdf-operators.c:1590,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-operators.c:1591,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-operators.c:1597,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-operators.c:1595,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pdf_operators
    argTypes:
    - cairo_pdf_operators_t*
    constantsTouched: []
    func_position:
      end: 1598
      start: 1584
    functionDepth: 0
    functionLinenumber: 1584
    functionLinenumberEnd: 1598
    functionName: _cairo_pdf_operators_tag_end
    functionSourceFile: /src/cairo/src/cairo-pdf-operators.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_get_status
    - _cairo_output_stream_printf
    - _cairo_pdf_operators_end_text
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'cairo_int_status_t _cairo_pdf_operators_tag_end (cairo_pdf_operators_t
      *pdf_operators) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pdf_operators
    argTypes:
    - cairo_pdf_operators_t*
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: _cairo_pdf_operators_reset
    functionSourceFile: /src/cairo/src/cairo-pdf-operators.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void _cairo_pdf_operators_reset (cairo_pdf_operators_t *pdf_operators) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_isdigit
      Src: /src/cairo/src/cairo-pdf-operators.c:279,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-pdf-operators.c:286,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-operators.c:289,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 3
    argNames:
    - stream
    - data
    - length
    argTypes:
    - word_wrap_stream_t*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 294
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 294
    functionName: _word_wrap_stream_count_string_up_to
    functionSourceFile: /src/cairo/src/cairo-pdf-operators.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_write
    - _cairo_output_stream_printf
    - _cairo_isdigit
    linkageType: ''
    returnType: int
    signature: "static int _word_wrap_stream_count_string_up_to (word_wrap_stream_t\
      \ *stream,\t\t\t\t const unsigned char *data, int length) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pdf_operators_flush_glyphs
      Src: /src/cairo/src/cairo-pdf-operators.c:1238,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-operators.c:1246,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-operators.c:1239,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-operators.c:1242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pdf_operators
    argTypes:
    - cairo_pdf_operators_t*
    constantsTouched: []
    func_position:
      end: 1247
      start: 1233
    functionDepth: 0
    functionLinenumber: 1233
    functionLinenumberEnd: 1247
    functionName: _cairo_pdf_operators_end_text
    functionSourceFile: /src/cairo/src/cairo-pdf-operators.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_get_status
    - _cairo_pdf_operators_flush_glyphs
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_pdf_operators_end_text (cairo_pdf_operators_t
      *pdf_operators) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - key_a
    - key_b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 143
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 143
    functionName: _cairo_svg_paint_equal
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_svg_paint_equal (const void *key_a, const
      void *key_b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _extract_svg_surface
      Src: /src/cairo/src/cairo-svg-surface.c:826,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - abstract_surface
    - unit
    argTypes:
    - cairo_surface_t*
    - cairo_svg_unit_t
    constantsTouched: []
    func_position:
      end: 831
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 831
    functionName: cairo_svg_surface_set_document_unit
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _extract_svg_surface
    linkageType: ''
    returnType: void
    signature: "void cairo_svg_surface_set_document_unit (cairo_surface_t\t*abstract_surface,\t\
      \t\t\t cairo_svg_unit_t\t unit) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:2943,1
    - Dst: _cairo_svg_surface_emit_pattern
      Src: /src/cairo/src/cairo-svg-surface.c:2946,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 5
    argNames:
    - output
    - surface
    - source
    - fill_rule
    - parent_matrix
    argTypes:
    - cairo_svg_stream_t*
    - cairo_svg_surface_t*
    - cairo_pattern_t*
    - cairo_fill_rule_t
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 2947
      start: 2936
    functionDepth: 0
    functionLinenumber: 2936
    functionLinenumberEnd: 2947
    functionName: _cairo_svg_surface_emit_fill_style
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_svg_stream_printf
    - _cairo_svg_surface_emit_pattern
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_svg_surface_emit_fill_style (cairo_svg_stream_t\
      \ *output,\t\t\t\t cairo_svg_surface_t *surface,\t\t\t\t const cairo_pattern_t\
      \ *source,\t\t\t\t cairo_fill_rule_t fill_rule,\t\t\t\t const cairo_matrix_t\
      \ *parent_matrix) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_hash_table_remove
      Src: /src/cairo/src/cairo-svg-surface.c:151,1
    - Dst: free
      Src: /src/cairo/src/cairo-svg-surface.c:153,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-svg-surface.c:152,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - entry
    - closure
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 154
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 154
    functionName: _cairo_svg_paint_pluck
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_array_fini
    - _cairo_hash_table_remove
    - free
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_svg_paint_pluck (void *entry, void *closure) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:2989,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:2997,1
    - Dst: _cairo_svg_surface_emit_pattern
      Src: /src/cairo/src/cairo-svg-surface.c:3006,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3012,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:3007,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3014,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3017,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3020,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3026,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 31
    argCount: 5
    argNames:
    - output
    - surface
    - source
    - stroke_style
    - parent_matrix
    argTypes:
    - cairo_svg_stream_t*
    - cairo_svg_surface_t*
    - cairo_pattern_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 3031
      start: 2949
    functionDepth: 0
    functionLinenumber: 2949
    functionLinenumberEnd: 3031
    functionName: _cairo_svg_surface_emit_stroke_style
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_svg_stream_printf
    - unlikely
    - _cairo_svg_surface_emit_pattern
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_svg_surface_emit_stroke_style (cairo_svg_stream_t\
      \ *output,\t\t\t\t cairo_svg_surface_t *surface,\t\t\t\t const cairo_pattern_t\
      \ *source,\t\t\t\t const cairo_stroke_style_t *stroke_style,\t\t\t\t const cairo_matrix_t\
      \ *parent_matrix) "
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: _CAIRO_SVG_SURFACE_OUTPUT_FE_COMPOSITE_FILTER
      Src: /src/cairo/src/cairo-svg-surface.c:1792,1
    - Dst: _cairo_svg_stream_append_paint_dependent
      Src: /src/cairo/src/cairo-svg-surface.c:1808,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:1818,1
    - Dst: _CAIRO_SVG_SURFACE_OUTPUT_FE_BLEND_FILTER
      Src: /src/cairo/src/cairo-svg-surface.c:1835,1
    - Dst: _CAIRO_SVG_SURFACE_OUTPUT_FE_BLEND_FILTER
      Src: /src/cairo/src/cairo-svg-surface.c:1841,1
    - Dst: _CAIRO_SVG_SURFACE_OUTPUT_FE_BLEND_FILTER
      Src: /src/cairo/src/cairo-svg-surface.c:1838,1
    - Dst: _CAIRO_SVG_SURFACE_OUTPUT_FE_BLEND_FILTER
      Src: /src/cairo/src/cairo-svg-surface.c:1847,1
    - Dst: _CAIRO_SVG_SURFACE_OUTPUT_FE_BLEND_FILTER
      Src: /src/cairo/src/cairo-svg-surface.c:1844,1
    - Dst: _CAIRO_SVG_SURFACE_OUTPUT_FE_BLEND_FILTER
      Src: /src/cairo/src/cairo-svg-surface.c:1826,1
    - Dst: _CAIRO_SVG_SURFACE_OUTPUT_FE_BLEND_FILTER
      Src: /src/cairo/src/cairo-svg-surface.c:1859,1
    - Dst: _CAIRO_SVG_SURFACE_OUTPUT_FE_BLEND_FILTER
      Src: /src/cairo/src/cairo-svg-surface.c:1862,1
    - Dst: _CAIRO_SVG_SURFACE_OUTPUT_FE_BLEND_FILTER
      Src: /src/cairo/src/cairo-svg-surface.c:1868,1
    - Dst: _CAIRO_SVG_SURFACE_OUTPUT_FE_BLEND_FILTER
      Src: /src/cairo/src/cairo-svg-surface.c:1829,1
    - Dst: _CAIRO_SVG_SURFACE_OUTPUT_FE_COMPOSITE_FILTER
      Src: /src/cairo/src/cairo-svg-surface.c:1786,1
    - Dst: _CAIRO_SVG_SURFACE_OUTPUT_FE_COMPOSITE_FILTER
      Src: /src/cairo/src/cairo-svg-surface.c:1795,1
    - Dst: _CAIRO_SVG_SURFACE_OUTPUT_FE_COMPOSITE_FILTER
      Src: /src/cairo/src/cairo-svg-surface.c:1798,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:1802,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:1811,1
    - Dst: _cairo_svg_stream_append_paint_dependent
      Src: /src/cairo/src/cairo-svg-surface.c:1815,1
    - Dst: _CAIRO_SVG_SURFACE_OUTPUT_FE_BLEND_FILTER
      Src: /src/cairo/src/cairo-svg-surface.c:1832,1
    - Dst: _CAIRO_SVG_SURFACE_OUTPUT_FE_BLEND_FILTER
      Src: /src/cairo/src/cairo-svg-surface.c:1853,1
    - Dst: _CAIRO_SVG_SURFACE_OUTPUT_FE_BLEND_FILTER
      Src: /src/cairo/src/cairo-svg-surface.c:1865,1
    - Dst: _CAIRO_SVG_SURFACE_OUTPUT_FE_COMPOSITE_FILTER
      Src: /src/cairo/src/cairo-svg-surface.c:1789,1
    - Dst: _CAIRO_SVG_SURFACE_OUTPUT_FE_BLEND_FILTER
      Src: /src/cairo/src/cairo-svg-surface.c:1850,1
    - Dst: _CAIRO_SVG_SURFACE_OUTPUT_FE_BLEND_FILTER
      Src: /src/cairo/src/cairo-svg-surface.c:1856,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 27
    argCount: 4
    argNames:
    - surface
    - filter
    - source_compositing_group_id
    - destination_compositing_group_id
    argTypes:
    - cairo_svg_surface_t*
    - enum cairo_svg_filter
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1878
      start: 1777
    functionDepth: 0
    functionLinenumber: 1777
    functionLinenumberEnd: 1878
    functionName: _cairo_svg_surface_emit_parametric_filter
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_svg_stream_printf
    - _CAIRO_SVG_SURFACE_OUTPUT_FE_COMPOSITE_FILTER
    - _cairo_svg_stream_append_paint_dependent
    - _CAIRO_SVG_SURFACE_OUTPUT_FE_BLEND_FILTER
    linkageType: ''
    returnType: unsigned int
    signature: "static unsigned int _cairo_svg_surface_emit_parametric_filter (cairo_svg_surface_t\
      \ *surface,\t\t\t\t\t enum cairo_svg_filter filter,\t\t\t\t\t unsigned int source_compositing_group_id,\t\
      \t\t\t\t unsigned int destination_compositing_group_id) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 795
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 795
    functionName: cairo_svg_version_to_string
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *cairo_svg_version_to_string (cairo_svg_version_t version) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - versions
    - num_versions
    argTypes:
    - cairo_svg_version_t**
    - int*
    constantsTouched: []
    func_position:
      end: 774
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 774
    functionName: cairo_svg_get_versions
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void cairo_svg_get_versions (cairo_svg_version_t const\t**versions,\
      \ int\t\t\t\t *num_versions) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-svg-surface.c:863,1
    - Dst: assert
      Src: /src/cairo/src/cairo-svg-surface.c:871,1
    - Dst: _cairo_svg_paint_init_key
      Src: /src/cairo/src/cairo-svg-surface.c:867,1
    - Dst: _cairo_hash_table_lookup
      Src: /src/cairo/src/cairo-svg-surface.c:869,1
    - Dst: _cairo_svg_paint_compute
      Src: /src/cairo/src/cairo-svg-surface.c:873,1
    - Dst: _cairo_matrix_transform_bounding_box
      Src: /src/cairo/src/cairo-svg-surface.c:876,1
    - Dst: _cairo_svg_paint_box_add_padding
      Src: /src/cairo/src/cairo-svg-surface.c:880,1
    - Dst: MIN
      Src: /src/cairo/src/cairo-svg-surface.c:885,1
    - Dst: MIN
      Src: /src/cairo/src/cairo-svg-surface.c:886,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-svg-surface.c:887,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-svg-surface.c:888,1
    - Dst: _cairo_array_truncate
      Src: /src/cairo/src/cairo-svg-surface.c:891,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - document
    - paint
    argTypes:
    - cairo_svg_document_t*
    - cairo_svg_paint_t*
    constantsTouched: []
    func_position:
      end: 892
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 892
    functionName: _cairo_svg_paint_compute
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_matrix_transform_bounding_box
    - _cairo_array_index
    - _cairo_svg_paint_box_add_padding
    - MIN
    - _cairo_svg_paint_init_key
    - assert
    - MAX
    - _cairo_array_truncate
    - _cairo_svg_paint_compute
    - _cairo_hash_table_lookup
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_svg_paint_compute (cairo_svg_document_t *document,
      cairo_svg_paint_t *paint) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_svg_surface_reset_clip
      Src: /src/cairo/src/cairo-svg-surface.c:1045,1
    - Dst: _cairo_surface_clipper_set_clip
      Src: /src/cairo/src/cairo-svg-surface.c:1048,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - surface
    - clipper_stream
    - clip
    argTypes:
    - cairo_svg_surface_t*
    - cairo_svg_stream_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 1049
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1049
    functionName: _cairo_svg_surface_set_clip
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_svg_surface_reset_clip
    - _cairo_surface_clipper_set_clip
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_svg_surface_set_clip (cairo_svg_surface_t\
      \ *surface,\t\t\t cairo_svg_stream_t *clipper_stream,\t\t\t const cairo_clip_t\
      \ *clip) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_get_mime_data
      Src: /src/cairo/src/cairo-svg-surface.c:1994,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:2008,1
    - Dst: base64_write_func
      Src: /src/cairo/src/cairo-svg-surface.c:2007,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:2001,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:1996,1
    - Dst: memset
      Src: /src/cairo/src/cairo-svg-surface.c:2012,1
    - Dst: base64_write_func
      Src: /src/cairo/src/cairo-svg-surface.c:2015,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - surface
    - output
    argTypes:
    - cairo_surface_t*
    - cairo_svg_stream_t*
    constantsTouched: []
    func_position:
      end: 2019
      start: 1985
    functionDepth: 0
    functionLinenumber: 1985
    functionLinenumberEnd: 2019
    functionName: _cairo_surface_base64_encode_png
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_svg_stream_printf
    - cairo_surface_get_mime_data
    - memset
    - base64_write_func
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_surface_base64_encode_png (cairo_surface_t\
      \ *surface,\t\t\t\t cairo_svg_stream_t *output) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_svg_stream_create
      Src: /src/cairo/src/cairo-svg-surface.c:3699,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3703,1
    - Dst: _cairo_svg_surface_emit_static_filter
      Src: /src/cairo/src/cairo-svg-surface.c:3708,1
    - Dst: _cairo_svg_surface_emit_paint
      Src: /src/cairo/src/cairo-svg-surface.c:3709,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3706,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:3710,1
    - Dst: _cairo_svg_stream_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:3711,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3714,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3715,1
    - Dst: _cairo_svg_stream_copy
      Src: /src/cairo/src/cairo-svg-surface.c:3717,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:3720,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3724,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3733,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:3729,1
    - Dst: _cairo_svg_surface_emit_paint
      Src: /src/cairo/src/cairo-svg-surface.c:3728,1
    - Dst: _cairo_svg_stream_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:3719,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 4
    argNames:
    - output
    - surface
    - source
    - mask
    argTypes:
    - cairo_svg_stream_t*
    - cairo_svg_surface_t*
    - cairo_pattern_t*
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 3736
      start: 3687
    functionDepth: 0
    functionLinenumber: 3687
    functionLinenumberEnd: 3736
    functionName: _cairo_svg_surface_mask_impl
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_svg_stream_printf
    - _cairo_svg_stream_copy
    - _cairo_svg_surface_emit_static_filter
    - _cairo_svg_surface_emit_paint
    - _cairo_svg_stream_create
    - _cairo_svg_stream_destroy
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_svg_surface_mask_impl (cairo_svg_stream_t\
      \ *output,\t\t\t cairo_svg_surface_t *surface,\t\t\t const cairo_pattern_t *source,\t\
      \t\t const cairo_pattern_t *mask) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4126
      start: 4122
    functionDepth: 0
    functionLinenumber: 4122
    functionLinenumberEnd: 4126
    functionName: _cairo_svg_surface_get_supported_mime_types
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char**
    signature: "static const char **_cairo_svg_surface_get_supported_mime_types (void\t\
      \ *abstract_surface) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_svg_paint_compute
      Src: /src/cairo/src/cairo-svg-surface.c:900,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - entry
    - closure
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 901
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 901
    functionName: _cairo_svg_paint_compute_func
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_svg_paint_compute
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_svg_paint_compute_func (void *entry, void *closure) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-svg-surface.c:1062,1
    - Dst: _cairo_surface_init
      Src: /src/cairo/src/cairo-svg-surface.c:1067,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:1063,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-svg-surface.c:1064,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-svg-surface.c:1064,1
    - Dst: _cairo_svg_document_reference
      Src: /src/cairo/src/cairo-svg-surface.c:1080,1
    - Dst: _cairo_svg_stream_create
      Src: /src/cairo/src/cairo-svg-surface.c:1082,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-svg-surface.c:1083,1
    - Dst: _cairo_hash_table_create
      Src: /src/cairo/src/cairo-svg-surface.c:1085,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:1086,1
    - Dst: _cairo_surface_clipper_init
      Src: /src/cairo/src/cairo-svg-surface.c:1091,1
    - Dst: _cairo_paginated_surface_create
      Src: /src/cairo/src/cairo-svg-surface.c:1101,1
    - Dst: _cairo_svg_document_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:1114,1
    - Dst: free
      Src: /src/cairo/src/cairo-svg-surface.c:1116,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-svg-surface.c:1087,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:1107,1
    - Dst: _cairo_svg_stream_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:1113,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-svg-surface.c:1118,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1119
    functionName: _cairo_svg_surface_create_for_document
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_svg_document_destroy
    - _cairo_paginated_surface_create
    - _cairo_surface_init
    - _cairo_array_init
    - _cairo_error
    - free
    - _cairo_svg_document_reference
    - _cairo_surface_clipper_init
    - cairo_surface_destroy
    - _cairo_hash_table_create
    - _cairo_svg_stream_create
    - _cairo_svg_stream_destroy
    - _cairo_surface_create_in_error
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_svg_surface_create_for_document (cairo_svg_document_t\
      \ *document,\t\t\t\t\tcairo_content_t content,\t\t\t\t\tdouble width,\t\t\t\t\
      \tdouble height,\t\t\t\t\tcairo_bool_t bounded) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_base64_encode_jpeg
      Src: /src/cairo/src/cairo-svg-surface.c:2028,1
    - Dst: cairo_surface_write_to_png_stream
      Src: /src/cairo/src/cairo-svg-surface.c:2042,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:2045,1
    - Dst: _cairo_surface_base64_encode_png
      Src: /src/cairo/src/cairo-svg-surface.c:2032,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:2040,1
    - Dst: memset
      Src: /src/cairo/src/cairo-svg-surface.c:2049,1
    - Dst: base64_write_func
      Src: /src/cairo/src/cairo-svg-surface.c:2052,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - surface
    - output
    argTypes:
    - cairo_surface_t*
    - cairo_svg_stream_t*
    constantsTouched: []
    func_position:
      end: 2056
      start: 2021
    functionDepth: 0
    functionLinenumber: 2021
    functionLinenumberEnd: 2056
    functionName: _cairo_surface_base64_encode
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_svg_stream_printf
    - cairo_surface_write_to_png_stream
    - _cairo_surface_base64_encode_png
    - _cairo_surface_base64_encode_jpeg
    - memset
    - base64_write_func
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_surface_base64_encode (cairo_surface_t\
      \ *surface,\t\t\t cairo_svg_stream_t *output) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_svg_surface_are_operation_and_pattern_supported
      Src: /src/cairo/src/cairo-svg-surface.c:3749,1
    - Dst: _CAIRO_SVG_SURFACE_CALL_OPERATOR_IMPL
      Src: /src/cairo/src/cairo-svg-surface.c:3755,1
    - Dst: _cairo_svg_surface_are_operation_and_pattern_supported
      Src: /src/cairo/src/cairo-svg-surface.c:3750,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 5
    argNames:
    - abstract_surface
    - op
    - source
    - mask
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 3758
      start: 3738
    functionDepth: 0
    functionLinenumber: 3738
    functionLinenumberEnd: 3758
    functionName: _cairo_svg_surface_mask
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_svg_surface_are_operation_and_pattern_supported
    - _CAIRO_SVG_SURFACE_CALL_OPERATOR_IMPL
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_svg_surface_mask (void *abstract_surface,\t\
      \t\t cairo_operator_t op,\t\t\t const cairo_pattern_t *source,\t\t\t const cairo_pattern_t\
      \ *mask,\t\t\t const cairo_clip_t *clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ceil
      Src: /src/cairo/src/cairo-svg-surface.c:3046,1
    - Dst: ceil
      Src: /src/cairo/src/cairo-svg-surface.c:3047,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - abstract_surface
    - rectangle
    argTypes:
    - void*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 3050
      start: 3033
    functionDepth: 0
    functionLinenumber: 3033
    functionLinenumberEnd: 3050
    functionName: _cairo_svg_surface_get_extents
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - ceil
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _cairo_svg_surface_get_extents (void\t\t *abstract_surface,\t\
      \t\t\tcairo_rectangle_int_t *rectangle) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_svg_surface_svg_pattern_should_be_used
      Src: /src/cairo/src/cairo-svg-surface.c:2354,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pattern
    argTypes:
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 2355
      start: 2351
    functionDepth: 0
    functionLinenumber: 2351
    functionLinenumberEnd: 2355
    functionName: _cairo_svg_surface_svg_clip_or_svg_mask_should_be_used
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_svg_surface_svg_pattern_should_be_used
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_svg_surface_svg_clip_or_svg_mask_should_be_used
      (const cairo_pattern_t *pattern) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_svg_surface_svg_clip_or_svg_mask_should_be_used
      Src: /src/cairo/src/cairo-svg-surface.c:3954,1
    - Dst: _cairo_svg_surface_are_operation_and_pattern_supported
      Src: /src/cairo/src/cairo-svg-surface.c:3962,1
    - Dst: _cairo_svg_surface_svg_clip_or_svg_mask_should_be_used
      Src: /src/cairo/src/cairo-svg-surface.c:3955,1
    - Dst: _cairo_svg_surface_set_clip
      Src: /src/cairo/src/cairo-svg-surface.c:3968,1
    - Dst: _cairo_svg_surface_are_operation_and_pattern_supported
      Src: /src/cairo/src/cairo-svg-surface.c:3963,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:3969,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3973,1
    - Dst: _cairo_svg_surface_emit_fill_style
      Src: /src/cairo/src/cairo-svg-surface.c:3974,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:3976,1
    - Dst: _cairo_svg_surface_emit_stroke_style
      Src: /src/cairo/src/cairo-svg-surface.c:3980,1
    - Dst: _cairo_svg_surface_emit_path
      Src: /src/cairo/src/cairo-svg-surface.c:3986,1
    - Dst: _cairo_svg_surface_emit_transform
      Src: /src/cairo/src/cairo-svg-surface.c:3988,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:3982,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3990,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 30
    argCount: 15
    argNames:
    - abstract_surface
    - fill_op
    - fill_source
    - fill_rule
    - fill_tolerance
    - fill_antialias
    - path
    - stroke_op
    - stroke_source
    - stroke_style
    - stroke_ctm
    - stroke_ctm_inverse
    - stroke_tolerance
    - stroke_antialias
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    - cairo_path_fixed_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 3993
      start: 3934
    functionDepth: 0
    functionLinenumber: 3934
    functionLinenumberEnd: 3993
    functionName: _cairo_svg_surface_fill_stroke
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_svg_stream_printf
    - _cairo_svg_surface_svg_clip_or_svg_mask_should_be_used
    - _cairo_svg_surface_are_operation_and_pattern_supported
    - _cairo_svg_surface_emit_stroke_style
    - _cairo_svg_surface_set_clip
    - _cairo_svg_surface_emit_path
    - _cairo_svg_surface_emit_fill_style
    - _cairo_svg_surface_emit_transform
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_svg_surface_fill_stroke (void *abstract_surface,\t\
      \t\t\tcairo_operator_t fill_op,\t\t\t\tconst cairo_pattern_t *fill_source,\t\
      \t\t\tcairo_fill_rule_t fill_rule,\t\t\t\tdouble fill_tolerance,\t\t\t\tcairo_antialias_t\
      \ fill_antialias,\t\t\t\tconst cairo_path_fixed_t *path,\t\t\t\tcairo_operator_t\
      \ stroke_op,\t\t\t\tconst cairo_pattern_t *stroke_source,\t\t\t\tconst cairo_stroke_style_t\
      \ *stroke_style,\t\t\t\tconst cairo_matrix_t *stroke_ctm,\t\t\t\tconst cairo_matrix_t\
      \ *stroke_ctm_inverse,\t\t\t\tdouble stroke_tolerance,\t\t\t\tcairo_antialias_t\
      \ stroke_antialias,\t\t\t\tconst cairo_clip_t *clip) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_svg_surface_svg_clip_or_svg_mask_should_be_used
      Src: /src/cairo/src/cairo-svg-surface.c:3060,1
    - Dst: _cairo_svg_stream_append_paint_dependent
      Src: /src/cairo/src/cairo-svg-surface.c:3076,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3070,1
    - Dst: _cairo_svg_stream_append_paint_dependent
      Src: /src/cairo/src/cairo-svg-surface.c:3072,1
    - Dst: _cairo_svg_surface_emit_composite_pattern
      Src: /src/cairo/src/cairo-svg-surface.c:3061,1
    - Dst: _cairo_svg_surface_emit_pattern
      Src: /src/cairo/src/cairo-svg-surface.c:3080,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:3081,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3084,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 4
    argNames:
    - output
    - surface
    - source
    - at_origin
    argTypes:
    - cairo_svg_stream_t*
    - cairo_svg_surface_t*
    - cairo_pattern_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 3087
      start: 3052
    functionDepth: 0
    functionLinenumber: 3052
    functionLinenumberEnd: 3087
    functionName: _cairo_svg_surface_emit_paint
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_svg_stream_printf
    - unlikely
    - _cairo_svg_surface_emit_pattern
    - _cairo_svg_stream_append_paint_dependent
    - _cairo_svg_surface_emit_composite_pattern
    - _cairo_svg_surface_svg_clip_or_svg_mask_should_be_used
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_svg_surface_emit_paint (cairo_svg_stream_t\
      \ *output,\t\t\t cairo_svg_surface_t *surface,\t\t\t const cairo_pattern_t *source,\t\
      \t\t cairo_bool_t at_origin) "
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_svg_surface_add_source_surface
      Src: /src/cairo/src/cairo-svg-surface.c:2374,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:2378,1
    - Dst: _cairo_svg_surface_to_recording_surface
      Src: /src/cairo/src/cairo-svg-surface.c:2383,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-svg-surface.c:2396,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-svg-surface.c:2399,1
    - Dst: _cairo_svg_paint_init_key
      Src: /src/cairo/src/cairo-svg-surface.c:2411,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:2402,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:2437,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:2455,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:2463,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-svg-surface.c:2368,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:2389,1
    - Dst: _cairo_hash_table_lookup
      Src: /src/cairo/src/cairo-svg-surface.c:2413,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-svg-surface.c:2422,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:2428,1
    - Dst: assert
      Src: /src/cairo/src/cairo-svg-surface.c:2436,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:2452,1
    - Dst: _cairo_svg_surface_emit_recording_surface
      Src: /src/cairo/src/cairo-svg-surface.c:2385,1
    - Dst: _cairo_svg_paint_init_key
      Src: /src/cairo/src/cairo-svg-surface.c:2400,1
    - Dst: assert
      Src: /src/cairo/src/cairo-svg-surface.c:2415,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-svg-surface.c:2425,1
    - Dst: _cairo_svg_surface_emit_transform
      Src: /src/cairo/src/cairo-svg-surface.c:2451,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:2466,1
    - Dst: assert
      Src: /src/cairo/src/cairo-svg-surface.c:2370,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-svg-surface.c:2394,1
    - Dst: assert
      Src: /src/cairo/src/cairo-svg-surface.c:2424,1
    - Dst: _cairo_hash_table_insert
      Src: /src/cairo/src/cairo-svg-surface.c:2401,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-svg-surface.c:2427,1
    - Dst: _cairo_svg_surface_emit_transform
      Src: /src/cairo/src/cairo-svg-surface.c:2460,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 61
    argCount: 5
    argNames:
    - output
    - surface
    - pattern
    - pattern_id
    - parent_matrix
    argTypes:
    - cairo_svg_stream_t*
    - cairo_svg_surface_t*
    - cairo_surface_pattern_t*
    - unsigned int
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 2470
      start: 2357
    functionDepth: 0
    functionLinenumber: 2357
    functionLinenumberEnd: 2470
    functionName: _cairo_svg_surface_emit_composite_recording_pattern
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_svg_surface_emit_recording_surface
    - _cairo_svg_stream_printf
    - _cairo_array_init
    - _cairo_error
    - _cairo_svg_surface_add_source_surface
    - assert
    - _cairo_svg_paint_init_key
    - _cairo_hash_table_insert
    - _cairo_svg_surface_emit_transform
    - _cairo_svg_surface_to_recording_surface
    - _cairo_hash_table_lookup
    - cairo_matrix_invert
    - cairo_matrix_multiply
    - _cairo_calloc
    - _cairo_array_append
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_svg_surface_emit_composite_recording_pattern\
      \ (cairo_svg_stream_t *output,\t\t\t\t\t\t cairo_svg_surface_t *surface,\t\t\
      \t\t\t\t cairo_surface_pattern_t *pattern,\t\t\t\t\t\t unsigned int pattern_id,\t\
      \t\t\t\t\t const cairo_matrix_t *parent_matrix) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:4017,1
    - Dst: _cairo_scaled_font_subsets_map_glyph
      Src: /src/cairo/src/cairo-svg-surface.c:4029,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:4020,1
    - Dst: _cairo_svg_surface_emit_pattern
      Src: /src/cairo/src/cairo-svg-surface.c:4019,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:4024,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:4036,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:4043,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:4047,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:4054,1
    - Dst: _cairo_path_fixed_init
      Src: /src/cairo/src/cairo-svg-surface.c:4061,1
    - Dst: _cairo_path_fixed_fini
      Src: /src/cairo/src/cairo-svg-surface.c:4067,1
    - Dst: _cairo_path_fixed_fini
      Src: /src/cairo/src/cairo-svg-surface.c:4079,1
    - Dst: _cairo_svg_surface_fill_impl
      Src: /src/cairo/src/cairo-svg-surface.c:4071,1
    - Dst: _cairo_scaled_font_glyph_path
      Src: /src/cairo/src/cairo-svg-surface.c:4063,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:4066,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 33
    argCount: 6
    argNames:
    - output
    - surface
    - source
    - glyphs
    - num_glyphs
    - scaled_font
    argTypes:
    - cairo_svg_stream_t*
    - cairo_svg_surface_t*
    - cairo_pattern_t*
    - cairo_glyph_t*
    - int
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 4082
      start: 3995
    functionDepth: 0
    functionLinenumber: 3995
    functionLinenumberEnd: 4082
    functionName: _cairo_svg_surface_show_glyphs_impl
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_svg_stream_printf
    - _cairo_scaled_font_glyph_path
    - _cairo_scaled_font_subsets_map_glyph
    - _cairo_svg_surface_emit_pattern
    - _cairo_path_fixed_fini
    - _cairo_path_fixed_init
    - _cairo_svg_surface_fill_impl
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_svg_surface_show_glyphs_impl (cairo_svg_stream_t\
      \ *output,\t\t\t\t cairo_svg_surface_t *surface,\t\t\t\t const cairo_pattern_t\
      \ *source,\t\t\t\t cairo_glyph_t *glyphs,\t\t\t\t int num_glyphs,\t\t\t\t cairo_scaled_font_t\
      \ *scaled_font) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_container_of
      Src: /src/cairo/src/cairo-svg-surface.c:987,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:1009,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:994,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:1005,1
    - Dst: _cairo_svg_surface_cliprect_covers_surface
      Src: /src/cairo/src/cairo-svg-surface.c:1001,1
    - Dst: _cairo_svg_surface_emit_path
      Src: /src/cairo/src/cairo-svg-surface.c:1012,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:1013,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:1015,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:1017,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 5
    argNames:
    - clipper
    - path
    - fill_rule
    - tolerance
    - antialias
    argTypes:
    - cairo_surface_clipper_t*
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    constantsTouched: []
    func_position:
      end: 1025
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 1025
    functionName: _cairo_svg_surface_clipper_intersect_clip_path
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_svg_stream_printf
    - cairo_container_of
    - _cairo_svg_surface_emit_path
    - _cairo_svg_surface_cliprect_covers_surface
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_svg_surface_clipper_intersect_clip_path\
      \ (cairo_surface_clipper_t *clipper,\t\t\t\t\t\tcairo_path_fixed_t *path,\t\t\
      \t\t\t\tcairo_fill_rule_t fill_rule,\t\t\t\t\t\tdouble tolerance,\t\t\t\t\t\t\
      cairo_antialias_t antialias) "
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 57
    argCount: 3
    argNames:
    - surface
    - op
    - pattern
    argTypes:
    - cairo_svg_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 1629
      start: 1563
    functionDepth: 0
    functionLinenumber: 1563
    functionLinenumberEnd: 1629
    functionName: _cairo_svg_surface_are_operation_and_pattern_supported
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _cairo_svg_surface_are_operation_and_pattern_supported\
      \ (cairo_svg_surface_t *surface,\t\t\t\t\t\t\tcairo_operator_t op,\t\t\t\t\t\
      \t\tconst cairo_pattern_t *pattern) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_svg_stream_write
      Src: /src/cairo/src/cairo-svg-surface.c:2081,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:2088,1
    - Dst: _cairo_svg_stream_write
      Src: /src/cairo/src/cairo-svg-surface.c:2094,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:2086,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 3
    argNames:
    - stream
    - value
    - length
    argTypes:
    - cairo_svg_stream_t*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2095
      start: 2065
    functionDepth: 0
    functionLinenumber: 2065
    functionLinenumberEnd: 2095
    functionName: _cairo_svg_surface_emit_attr_value
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_svg_stream_printf
    - _cairo_svg_stream_write
    linkageType: ''
    returnType: void
    signature: "static void _cairo_svg_surface_emit_attr_value (cairo_svg_stream_t\
      \ *stream,\t\t\t\t const unsigned char *value,\t\t\t\t unsigned int length) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_svg_document_finish
      Src: /src/cairo/src/cairo-svg-surface.c:4250,1
    - Dst: free
      Src: /src/cairo/src/cairo-svg-surface.c:4252,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - document
    argTypes:
    - cairo_svg_document_t*
    constantsTouched: []
    func_position:
      end: 4255
      start: 4241
    functionDepth: 0
    functionLinenumber: 4241
    functionLinenumberEnd: 4255
    functionName: _cairo_svg_document_destroy
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - free
    - _cairo_svg_document_finish
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_svg_document_destroy (cairo_svg_document_t
      *document) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - abstract_surface
    - paginated_mode
    argTypes:
    - void*
    - cairo_paginated_mode_t
    constantsTouched: []
    func_position:
      end: 4406
      start: 4397
    functionDepth: 0
    functionLinenumber: 4397
    functionLinenumberEnd: 4406
    functionName: _cairo_svg_surface_set_paginated_mode
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_svg_surface_set_paginated_mode (void\t\
      \t\t*abstract_surface,\t\t\t\t cairo_paginated_mode_t\t paginated_mode) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_clipper_reset
      Src: /src/cairo/src/cairo-svg-surface.c:1030,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:1033,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_svg_surface_t*
    constantsTouched: []
    func_position:
      end: 1037
      start: 1027
    functionDepth: 0
    functionLinenumber: 1027
    functionLinenumberEnd: 1037
    functionName: _cairo_svg_surface_reset_clip
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_svg_stream_printf
    - _cairo_surface_clipper_reset
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_svg_surface_reset_clip (cairo_svg_surface_t *surface) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_paginated_surface_get_target
      Src: /src/cairo/src/cairo-svg-surface.c:1637,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-svg-surface.c:1649,1
    - Dst: _cairo_svg_stream_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:1650,1
    - Dst: _cairo_svg_stream_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:1643,1
    - Dst: _cairo_svg_document_finish
      Src: /src/cairo/src/cairo-svg-surface.c:1638,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-svg-surface.c:1655,1
    - Dst: _cairo_surface_clipper_reset
      Src: /src/cairo/src/cairo-svg-surface.c:1657,1
    - Dst: _cairo_hash_table_foreach
      Src: /src/cairo/src/cairo-svg-surface.c:1659,1
    - Dst: _cairo_hash_table_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:1660,1
    - Dst: _cairo_svg_document_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:1662,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1668
      start: 1631
    functionDepth: 0
    functionLinenumber: 1631
    functionLinenumberEnd: 1668
    functionName: _cairo_svg_surface_finish
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_svg_document_finish
    - _cairo_array_index
    - _cairo_svg_document_destroy
    - _cairo_hash_table_destroy
    - _cairo_hash_table_foreach
    - _cairo_paginated_surface_get_target
    - _cairo_svg_stream_destroy
    - _cairo_array_fini
    - _cairo_surface_clipper_reset
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_svg_surface_finish (void *abstract_surface) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_get_extents
      Src: /src/cairo/src/cairo-svg-surface.c:2108,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:2111,1
    - Dst: cairo_surface_get_mime_data
      Src: /src/cairo/src/cairo-svg-surface.c:2119,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:2118,1
    - Dst: assert
      Src: /src/cairo/src/cairo-svg-surface.c:2109,1
    - Dst: _cairo_svg_surface_emit_attr_value
      Src: /src/cairo/src/cairo-svg-surface.c:2122,1
    - Dst: _cairo_surface_base64_encode
      Src: /src/cairo/src/cairo-svg-surface.c:2125,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:2127,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:2130,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:2133,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - document
    - surface
    - source_id
    argTypes:
    - cairo_svg_document_t*
    - cairo_surface_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2136
      start: 2097
    functionDepth: 0
    functionLinenumber: 2097
    functionLinenumberEnd: 2136
    functionName: _cairo_svg_surface_emit_surface
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_svg_stream_printf
    - _cairo_svg_surface_emit_attr_value
    - cairo_surface_get_mime_data
    - assert
    - _cairo_surface_get_extents
    - _cairo_surface_base64_encode
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_svg_surface_emit_surface (cairo_svg_document_t\
      \ *document,\t\t\t\t cairo_surface_t *surface,\t\t\t\t unsigned int source_id) "
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-svg-surface.c:4318,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-svg-surface.c:4328,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:4331,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:4347,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:4358,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-svg-surface.c:4360,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:4363,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:4369,1
    - Dst: _cairo_svg_stream_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:4381,1
    - Dst: _cairo_svg_document_emit_font_subsets
      Src: /src/cairo/src/cairo-svg-surface.c:4301,1
    - Dst: _cairo_svg_surface_store_page
      Src: /src/cairo/src/cairo-svg-surface.c:4311,1
    - Dst: _cairo_paginated_surface_get_target
      Src: /src/cairo/src/cairo-svg-surface.c:4308,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-svg-surface.c:4320,1
    - Dst: _cairo_svg_paint_box_add_padding
      Src: /src/cairo/src/cairo-svg-surface.c:4327,1
    - Dst: _cairo_hash_table_foreach
      Src: /src/cairo/src/cairo-svg-surface.c:4337,1
    - Dst: _cairo_svg_stream_copy_to_output_stream
      Src: /src/cairo/src/cairo-svg-surface.c:4346,1
    - Dst: _cairo_svg_stream_copy_to_output_stream
      Src: /src/cairo/src/cairo-svg-surface.c:4343,1
    - Dst: _cairo_svg_stream_copy_to_output_stream
      Src: /src/cairo/src/cairo-svg-surface.c:4356,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:4361,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-svg-surface.c:4313,1
    - Dst: _cairo_svg_paint_init_key
      Src: /src/cairo/src/cairo-svg-surface.c:4329,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:4342,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:4345,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:4350,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:4365,1
    - Dst: _cairo_svg_stream_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:4371,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:4389,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:4291,1
    - Dst: _cairo_hash_table_insert
      Src: /src/cairo/src/cairo-svg-surface.c:4330,1
    - Dst: _cairo_svg_stream_copy_to_output_stream
      Src: /src/cairo/src/cairo-svg-surface.c:4349,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-svg-surface.c:4355,1
    - Dst: _cairo_svg_stream_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:4376,1
    - Dst: _cairo_hash_table_foreach
      Src: /src/cairo/src/cairo-svg-surface.c:4386,1
    - Dst: _cairo_hash_table_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:4387,1
    - Dst: _cairo_svg_stream_copy_to_output_stream
      Src: /src/cairo/src/cairo-svg-surface.c:4362,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 94
    argCount: 1
    argNames:
    - document
    argTypes:
    - cairo_svg_document_t*
    constantsTouched: []
    func_position:
      end: 4395
      start: 4257
    functionDepth: 0
    functionLinenumber: 4257
    functionLinenumberEnd: 4395
    functionName: _cairo_svg_document_finish
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    - _cairo_svg_document_emit_font_subsets
    - _cairo_array_init
    - _cairo_error
    - _cairo_svg_stream_copy_to_output_stream
    - _cairo_hash_table_destroy
    - unlikely
    - _cairo_svg_surface_store_page
    - _cairo_svg_paint_box_add_padding
    - _cairo_svg_paint_init_key
    - _cairo_paginated_surface_get_target
    - _cairo_hash_table_insert
    - _cairo_hash_table_foreach
    - _cairo_svg_stream_destroy
    - _cairo_output_stream_destroy
    - _cairo_output_stream_printf
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_svg_document_finish (cairo_svg_document_t
      *document) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 4412
      start: 4408
    functionDepth: 0
    functionLinenumber: 4408
    functionLinenumberEnd: 4412
    functionName: _cairo_svg_surface_supports_fine_grained_fallbacks
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_svg_surface_supports_fine_grained_fallbacks
      (void *abstract_surface) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_color_equal
      Src: /src/cairo/src/cairo-svg-surface.c:1381,1
    - Dst: assert
      Src: /src/cairo/src/cairo-svg-surface.c:1394,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:1408,1
    - Dst: cairo_pattern_create_for_surface
      Src: /src/cairo/src/cairo-svg-surface.c:1426,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:1450,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-svg-surface.c:1478,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:1481,1
    - Dst: _cairo_stock_color
      Src: /src/cairo/src/cairo-svg-surface.c:1381,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-svg-surface.c:1376,1
    - Dst: _cairo_svg_surface_create_for_document
      Src: /src/cairo/src/cairo-svg-surface.c:1401,1
    - Dst: _cairo_paginated_surface_get_target
      Src: /src/cairo/src/cairo-svg-surface.c:1406,1
    - Dst: cairo_surface_set_fallback_resolution
      Src: /src/cairo/src/cairo-svg-surface.c:1414,1
    - Dst: _cairo_svg_stream_copy
      Src: /src/cairo/src/cairo-svg-surface.c:1437,1
    - Dst: _cairo_svg_surface_emit_composite_pattern
      Src: /src/cairo/src/cairo-svg-surface.c:1428,1
    - Dst: _cairo_svg_stream_append_paint_dependent
      Src: /src/cairo/src/cairo-svg-surface.c:1447,1
    - Dst: _cairo_svg_surface_emit_transform
      Src: /src/cairo/src/cairo-svg-surface.c:1454,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:1459,1
    - Dst: _cairo_svg_paint_box_add_padding
      Src: /src/cairo/src/cairo-svg-surface.c:1477,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-svg-surface.c:1393,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:1435,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:1422,1
    - Dst: _cairo_svg_stream_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:1439,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:1440,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:1446,1
    - Dst: _cairo_svg_paint_init_key
      Src: /src/cairo/src/cairo-svg-surface.c:1479,1
    - Dst: _cairo_surface_release_source_image
      Src: /src/cairo/src/cairo-svg-surface.c:1492,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:1489,1
    - Dst: _cairo_matrix_transform_bounding_box
      Src: /src/cairo/src/cairo-svg-surface.c:1472,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-svg-surface.c:1463,1
    - Dst: _cairo_scaled_glyph_lookup
      Src: /src/cairo/src/cairo-svg-surface.c:1356,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:1361,1
    - Dst: _cairo_surface_acquire_source_image
      Src: /src/cairo/src/cairo-svg-surface.c:1386,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:1433,1
    - Dst: _cairo_svg_stream_create
      Src: /src/cairo/src/cairo-svg-surface.c:1418,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-svg-surface.c:1461,1
    - Dst: _cairo_hash_table_insert
      Src: /src/cairo/src/cairo-svg-surface.c:1480,1
    - Dst: cairo_surface_status
      Src: /src/cairo/src/cairo-svg-surface.c:1487,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 96
    argCount: 3
    argNames:
    - document
    - scaled_font
    - glyph_index
    argTypes:
    - cairo_svg_document_t*
    - cairo_scaled_font_t*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 1496
      start: 1348
    functionDepth: 0
    functionLinenumber: 1348
    functionLinenumberEnd: 1496
    functionName: _cairo_svg_document_emit_bitmap_glyph_data
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_svg_stream_printf
    - cairo_pattern_create_for_surface
    - _cairo_matrix_transform_bounding_box
    - _cairo_array_index
    - _cairo_surface_release_source_image
    - _cairo_error
    - _cairo_svg_paint_box_add_padding
    - _cairo_stock_color
    - _cairo_svg_stream_create
    - _cairo_svg_surface_emit_composite_pattern
    - _cairo_svg_stream_copy
    - cairo_surface_status
    - _cairo_hash_table_insert
    - _cairo_svg_surface_emit_transform
    - _cairo_calloc
    - _cairo_array_init
    - assert
    - _cairo_paginated_surface_get_target
    - _cairo_surface_acquire_source_image
    - _cairo_color_equal
    - cairo_pattern_destroy
    - _cairo_svg_surface_create_for_document
    - _cairo_scaled_glyph_lookup
    - cairo_surface_set_fallback_resolution
    - _cairo_svg_paint_init_key
    - cairo_surface_destroy
    - _cairo_svg_stream_append_paint_dependent
    - _cairo_svg_stream_destroy
    - cairo_matrix_invert
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_svg_document_emit_bitmap_glyph_data\
      \ (cairo_svg_document_t *document,\t\t\t\t\t cairo_scaled_font_t *scaled_font,\t\
      \t\t\t\t unsigned long glyph_index) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:1677,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:1699,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:1688,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1721
      start: 1670
    functionDepth: 0
    functionLinenumber: 1670
    functionLinenumberEnd: 1721
    functionName: _cairo_svg_surface_emit_static_filter
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_svg_stream_printf
    linkageType: ''
    returnType: char*
    signature: 'static const char *_cairo_svg_surface_emit_static_filter (cairo_svg_document_t
      *document, enum cairo_svg_filter filter) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_svg_stream_write
      Src: /src/cairo/src/cairo-svg-surface.c:1932,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - closure
    - data
    - length
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1941
      start: 1890
    functionDepth: 0
    functionLinenumber: 1890
    functionLinenumberEnd: 1941
    functionName: base64_write_func
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_svg_stream_write
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t base64_write_func (void *closure,\t\t const\
      \ unsigned char *data,\t\t unsigned int length) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_svg_surface_svg_clip_or_svg_mask_should_be_used
      Src: /src/cairo/src/cairo-svg-surface.c:3867,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3876,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3872,1
    - Dst: _cairo_svg_surface_emit_path
      Src: /src/cairo/src/cairo-svg-surface.c:3875,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3868,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3878,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3880,1
    - Dst: _cairo_svg_surface_emit_composite_pattern
      Src: /src/cairo/src/cairo-svg-surface.c:3884,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:3889,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3893,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3895,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3901,1
    - Dst: _cairo_svg_surface_emit_fill_style
      Src: /src/cairo/src/cairo-svg-surface.c:3896,1
    - Dst: _cairo_svg_surface_emit_path
      Src: /src/cairo/src/cairo-svg-surface.c:3900,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:3897,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 7
    argNames:
    - output
    - surface
    - source
    - path
    - fill_rule
    - tolerance
    - antialias
    argTypes:
    - cairo_svg_stream_t*
    - cairo_svg_surface_t*
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    constantsTouched: []
    func_position:
      end: 3905
      start: 3856
    functionDepth: 0
    functionLinenumber: 3856
    functionLinenumberEnd: 3905
    functionName: _cairo_svg_surface_fill_impl
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_svg_stream_printf
    - _cairo_svg_surface_svg_clip_or_svg_mask_should_be_used
    - _cairo_svg_surface_emit_path
    - _cairo_svg_surface_emit_fill_style
    - _cairo_svg_surface_emit_composite_pattern
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_svg_surface_fill_impl (cairo_svg_stream_t\
      \ *output,\t\t\t cairo_svg_surface_t *surface,\t\t\t const cairo_pattern_t *source,\t\
      \t\t const cairo_path_fixed_t *path,\t\t\t cairo_fill_rule_t fill_rule,\t\t\t\
      \ double tolerance,\t\t\t cairo_antialias_t antialias) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:1507,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:1522,1
    - Dst: _cairo_svg_document_emit_bitmap_glyph_data
      Src: /src/cairo/src/cairo-svg-surface.c:1516,1
    - Dst: _cairo_svg_document_emit_outline_glyph_data
      Src: /src/cairo/src/cairo-svg-surface.c:1512,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:1519,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 5
    argNames:
    - document
    - scaled_font
    - scaled_font_glyph_index
    - font_id
    - subset_glyph_index
    argTypes:
    - cairo_svg_document_t*
    - cairo_scaled_font_t*
    - unsigned long
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1525
      start: 1498
    functionDepth: 0
    functionLinenumber: 1498
    functionLinenumberEnd: 1525
    functionName: _cairo_svg_document_emit_glyph
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_svg_stream_printf
    - _cairo_svg_document_emit_outline_glyph_data
    - _cairo_svg_document_emit_bitmap_glyph_data
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_svg_document_emit_glyph (cairo_svg_document_t\t\
      *document,\t\t\t\tcairo_scaled_font_t\t*scaled_font,\t\t\t\tunsigned long\t\t\
      \ scaled_font_glyph_index,\t\t\t\tunsigned int\t\t font_id,\t\t\t\tunsigned\
      \ int\t\t subset_glyph_index) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_get_mime_data
      Src: /src/cairo/src/cairo-svg-surface.c:1953,1
    - Dst: _cairo_image_info_get_jpeg_info
      Src: /src/cairo/src/cairo-svg-surface.c:1958,1
    - Dst: base64_write_func
      Src: /src/cairo/src/cairo-svg-surface.c:1971,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:1965,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:1959,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:1972,1
    - Dst: memset
      Src: /src/cairo/src/cairo-svg-surface.c:1976,1
    - Dst: base64_write_func
      Src: /src/cairo/src/cairo-svg-surface.c:1979,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - surface
    - output
    argTypes:
    - cairo_surface_t*
    - cairo_svg_stream_t*
    constantsTouched: []
    func_position:
      end: 1983
      start: 1943
    functionDepth: 0
    functionLinenumber: 1943
    functionLinenumberEnd: 1983
    functionName: _cairo_surface_base64_encode_jpeg
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_svg_stream_printf
    - cairo_surface_get_mime_data
    - _cairo_image_info_get_jpeg_info
    - memset
    - base64_write_func
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_surface_base64_encode_jpeg (cairo_surface_t\
      \ *surface,\t\t\t\t cairo_svg_stream_t *output) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_svg_surface_are_operation_and_pattern_supported
      Src: /src/cairo/src/cairo-svg-surface.c:3921,1
    - Dst: _CAIRO_SVG_SURFACE_CALL_OPERATOR_IMPL
      Src: /src/cairo/src/cairo-svg-surface.c:3926,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 8
    argNames:
    - abstract_surface
    - op
    - source
    - path
    - fill_rule
    - tolerance
    - antialias
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 3932
      start: 3907
    functionDepth: 0
    functionLinenumber: 3907
    functionLinenumberEnd: 3932
    functionName: _cairo_svg_surface_fill
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_svg_surface_are_operation_and_pattern_supported
    - _CAIRO_SVG_SURFACE_CALL_OPERATOR_IMPL
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_svg_surface_fill (void *abstract_surface,\t\
      \t\t cairo_operator_t op,\t\t\t const cairo_pattern_t *source,\t\t\t const cairo_path_fixed_t\
      \ *path,\t\t\t cairo_fill_rule_t fill_rule,\t\t\t double tolerance,\t\t\t cairo_antialias_t\
      \ antialias,\t\t\t const cairo_clip_t *clip) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-svg-surface.c:2480,1
    - Dst: _cairo_svg_surface_emit_composite_surface_pattern
      Src: /src/cairo/src/cairo-svg-surface.c:2490,1
    - Dst: _cairo_svg_surface_svg_pattern_should_be_used
      Src: /src/cairo/src/cairo-svg-surface.c:2480,1
    - Dst: _cairo_svg_surface_emit_composite_recording_pattern
      Src: /src/cairo/src/cairo-svg-surface.c:2484,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 5
    argNames:
    - output
    - surface
    - pattern
    - pattern_id
    - parent_matrix
    argTypes:
    - cairo_svg_stream_t*
    - cairo_svg_surface_t*
    - cairo_surface_pattern_t*
    - unsigned int
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 2496
      start: 2472
    functionDepth: 0
    functionLinenumber: 2472
    functionLinenumberEnd: 2496
    functionName: _cairo_svg_surface_emit_composite_pattern
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_svg_surface_emit_composite_surface_pattern
    - _cairo_svg_surface_emit_composite_recording_pattern
    - _cairo_svg_surface_svg_pattern_should_be_used
    - assert
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_svg_surface_emit_composite_pattern (cairo_svg_stream_t\
      \ *output,\t\t\t\t\t cairo_svg_surface_t *surface,\t\t\t\t\t cairo_surface_pattern_t\
      \ *pattern,\t\t\t\t\t unsigned int pattern_id,\t\t\t\t\t const cairo_matrix_t\
      \ *parent_matrix) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:2504,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - surface
    - pattern
    - output
    - is_stroke
    argTypes:
    - cairo_svg_surface_t*
    - cairo_solid_pattern_t*
    - cairo_svg_stream_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 2513
      start: 2498
    functionDepth: 0
    functionLinenumber: 2498
    functionLinenumberEnd: 2513
    functionName: _cairo_svg_surface_emit_solid_pattern
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_svg_stream_printf
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_svg_surface_emit_solid_pattern (cairo_svg_surface_t\
      \ *surface,\t\t\t\t cairo_solid_pattern_t *pattern,\t\t\t\t cairo_svg_stream_t\
      \ *output,\t\t\t\t cairo_bool_t is_stroke) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _extract_svg_surface
      Src: /src/cairo/src/cairo-svg-surface.c:748,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - abstract_surface
    - version
    argTypes:
    - cairo_surface_t*
    - cairo_svg_version_t
    constantsTouched: []
    func_position:
      end: 753
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 753
    functionName: cairo_svg_surface_restrict_to_version
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _extract_svg_surface
    linkageType: ''
    returnType: void
    signature: "void cairo_svg_surface_restrict_to_version (cairo_surface_t\t\t*abstract_surface,\t\
      \t\t\t cairo_svg_version_t\t version) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-svg-surface.c:2148,1
    - Dst: _cairo_svg_surface_emit_surface
      Src: /src/cairo/src/cairo-svg-surface.c:2164,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:2158,1
    - Dst: _cairo_svg_surface_add_source_surface
      Src: /src/cairo/src/cairo-svg-surface.c:2154,1
    - Dst: assert
      Src: /src/cairo/src/cairo-svg-surface.c:2150,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:2167,1
    - Dst: _cairo_surface_get_extents
      Src: /src/cairo/src/cairo-svg-surface.c:2176,1
    - Dst: assert
      Src: /src/cairo/src/cairo-svg-surface.c:2177,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:2179,1
    - Dst: _cairo_svg_surface_emit_transform
      Src: /src/cairo/src/cairo-svg-surface.c:2190,1
    - Dst: _cairo_svg_surface_emit_static_filter
      Src: /src/cairo/src/cairo-svg-surface.c:2211,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:2221,1
    - Dst: _cairo_svg_surface_emit_transform
      Src: /src/cairo/src/cairo-svg-surface.c:2216,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:2194,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:2197,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:2224,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:2209,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 44
    argCount: 5
    argNames:
    - output
    - surface
    - pattern
    - pattern_id
    - parent_matrix
    argTypes:
    - cairo_svg_stream_t*
    - cairo_svg_surface_t*
    - cairo_surface_pattern_t*
    - unsigned int
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 2228
      start: 2138
    functionDepth: 0
    functionLinenumber: 2138
    functionLinenumberEnd: 2228
    functionName: _cairo_svg_surface_emit_composite_surface_pattern
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_svg_stream_printf
    - _cairo_svg_surface_emit_surface
    - _cairo_svg_surface_emit_static_filter
    - _cairo_svg_surface_add_source_surface
    - assert
    - _cairo_surface_get_extents
    - cairo_matrix_invert
    - _cairo_svg_surface_emit_transform
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_svg_surface_emit_composite_surface_pattern\
      \ (cairo_svg_stream_t *output,\t\t\t\t\t\t cairo_svg_surface_t *surface,\t\t\
      \t\t\t\t cairo_surface_pattern_t *pattern,\t\t\t\t\t\t unsigned int pattern_id,\t\
      \t\t\t\t\t const cairo_matrix_t *parent_matrix) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - box
    argTypes:
    - cairo_box_double_t*
    constantsTouched: []
    func_position:
      end: 166
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 166
    functionName: _cairo_svg_paint_box_add_padding
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_svg_paint_box_add_padding (cairo_box_double_t *box) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-svg-surface.c:699,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-svg-surface.c:704,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-svg-surface.c:699,1
    - Dst: _cairo_surface_is_paginated
      Src: /src/cairo/src/cairo-svg-surface.c:703,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-svg-surface.c:704,1
    - Dst: _cairo_paginated_surface_get_target
      Src: /src/cairo/src/cairo-svg-surface.c:708,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-svg-surface.c:710,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-svg-surface.c:714,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-svg-surface.c:714,1
    - Dst: _cairo_surface_is_svg
      Src: /src/cairo/src/cairo-svg-surface.c:718,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-svg-surface.c:719,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-svg-surface.c:719,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 2
    argNames:
    - surface
    - svg_surface
    argTypes:
    - cairo_surface_t*
    - cairo_svg_surface_t**
    constantsTouched: []
    func_position:
      end: 725
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 725
    functionName: _extract_svg_surface
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_paginated_surface_get_target
    - _cairo_surface_is_paginated
    - _cairo_surface_set_error
    - _cairo_surface_is_svg
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _extract_svg_surface (cairo_surface_t *surface,\t\
      \t cairo_svg_surface_t **svg_surface) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_svg_surface_svg_clip_or_svg_mask_should_be_used
      Src: /src/cairo/src/cairo-svg-surface.c:3773,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3786,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:3794,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3781,1
    - Dst: _cairo_svg_surface_emit_stroke_style
      Src: /src/cairo/src/cairo-svg-surface.c:3787,1
    - Dst: _cairo_svg_surface_emit_path
      Src: /src/cairo/src/cairo-svg-surface.c:3798,1
    - Dst: _cairo_svg_surface_emit_transform
      Src: /src/cairo/src/cairo-svg-surface.c:3800,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3801,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3804,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3806,1
    - Dst: _cairo_svg_surface_emit_composite_pattern
      Src: /src/cairo/src/cairo-svg-surface.c:3810,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3819,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:3815,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 9
    argNames:
    - output
    - surface
    - source
    - path
    - stroke_style
    - ctm
    - ctm_inverse
    - tolerance
    - antialias
    argTypes:
    - cairo_svg_stream_t*
    - cairo_svg_surface_t*
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_antialias_t
    constantsTouched: []
    func_position:
      end: 3823
      start: 3760
    functionDepth: 0
    functionLinenumber: 3760
    functionLinenumberEnd: 3823
    functionName: _cairo_svg_surface_stroke_impl
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_svg_stream_printf
    - _cairo_svg_surface_svg_clip_or_svg_mask_should_be_used
    - _cairo_svg_surface_emit_stroke_style
    - _cairo_svg_surface_emit_path
    - _cairo_svg_surface_emit_composite_pattern
    - _cairo_svg_surface_emit_transform
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_svg_surface_stroke_impl (cairo_svg_stream_t\
      \ *output,\t\t\t\tcairo_svg_surface_t *surface,\t\t\t\tconst cairo_pattern_t\
      \ *source,\t\t\t\tconst cairo_path_fixed_t *path,\t\t\t\tconst cairo_stroke_style_t\
      \ *stroke_style,\t\t\t\tconst cairo_matrix_t *ctm,\t\t\t\tconst cairo_matrix_t\
      \ *ctm_inverse,\t\t\t\tdouble tolerance,\t\t\t\tcairo_antialias_t antialias) "
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_get_extents
      Src: /src/cairo/src/cairo-svg-surface.c:2253,1
    - Dst: _cairo_recording_surface_replay
      Src: /src/cairo/src/cairo-svg-surface.c:2262,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:2263,1
    - Dst: _cairo_svg_stream_copy
      Src: /src/cairo/src/cairo-svg-surface.c:2318,1
    - Dst: cairo_surface_status
      Src: /src/cairo/src/cairo-svg-surface.c:2325,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:2245,1
    - Dst: cairo_surface_status
      Src: /src/cairo/src/cairo-svg-surface.c:2269,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:2290,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-svg-surface.c:2312,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:2321,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:2326,1
    - Dst: cairo_surface_set_fallback_resolution
      Src: /src/cairo/src/cairo-svg-surface.c:2255,1
    - Dst: _cairo_svg_surface_emit_paint
      Src: /src/cairo/src/cairo-svg-surface.c:2260,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:2271,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:2306,1
    - Dst: _cairo_svg_surface_emit_static_filter
      Src: /src/cairo/src/cairo-svg-surface.c:2303,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:2301,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:2311,1
    - Dst: _cairo_svg_surface_create_for_document
      Src: /src/cairo/src/cairo-svg-surface.c:2239,1
    - Dst: _cairo_paginated_surface_get_target
      Src: /src/cairo/src/cairo-svg-surface.c:2244,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:2264,1
    - Dst: cairo_surface_show_page
      Src: /src/cairo/src/cairo-svg-surface.c:2268,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:2270,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:2279,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:2295,1
    - Dst: _cairo_svg_surface_store_page
      Src: /src/cairo/src/cairo-svg-surface.c:2309,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:2310,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-svg-surface.c:2317,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 4
    argNames:
    - surface
    - source
    - source_id
    - transitive_paint_used
    argTypes:
    - cairo_svg_surface_t*
    - cairo_recording_surface_t*
    - unsigned int
    - cairo_bool_t*
    constantsTouched: []
    func_position:
      end: 2329
      start: 2230
    functionDepth: 0
    functionLinenumber: 2230
    functionLinenumberEnd: 2329
    functionName: _cairo_svg_surface_emit_recording_surface
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_svg_stream_printf
    - _cairo_svg_surface_create_for_document
    - _cairo_array_index
    - _cairo_svg_stream_copy
    - _cairo_svg_surface_emit_static_filter
    - _cairo_svg_surface_emit_paint
    - _cairo_error
    - cairo_surface_set_fallback_resolution
    - cairo_surface_status
    - _cairo_svg_surface_store_page
    - _cairo_surface_get_extents
    - _cairo_paginated_surface_get_target
    - cairo_surface_destroy
    - cairo_surface_show_page
    - _cairo_recording_surface_replay
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_svg_surface_emit_recording_surface (cairo_svg_surface_t\
      \ *surface,\t\t\t\t\t cairo_recording_surface_t *source,\t\t\t\t\t unsigned\
      \ int source_id,\t\t\t\t\t cairo_bool_t *transitive_paint_used) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_svg_surface_are_operation_and_pattern_supported
      Src: /src/cairo/src/cairo-svg-surface.c:3841,1
    - Dst: _CAIRO_SVG_SURFACE_CALL_OPERATOR_IMPL
      Src: /src/cairo/src/cairo-svg-surface.c:3846,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 5
    argCount: 10
    argNames:
    - abstract_dst
    - op
    - source
    - path
    - stroke_style
    - ctm
    - ctm_inverse
    - tolerance
    - antialias
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 3854
      start: 3825
    functionDepth: 0
    functionLinenumber: 3825
    functionLinenumberEnd: 3854
    functionName: _cairo_svg_surface_stroke
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_svg_surface_are_operation_and_pattern_supported
    - _CAIRO_SVG_SURFACE_CALL_OPERATOR_IMPL
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_svg_surface_stroke (void *abstract_dst,\t\
      \t\t cairo_operator_t op,\t\t\t const cairo_pattern_t *source,\t\t\t const cairo_path_fixed_t\
      \ *path,\t\t\t const cairo_stroke_style_t *stroke_style,\t\t\t const cairo_matrix_t\
      \ *ctm,\t\t\t const cairo_matrix_t *ctm_inverse,\t\t\t double tolerance,\t\t\
      \t cairo_antialias_t antialias,\t\t\t const cairo_clip_t *clip) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _extract_svg_surface
      Src: /src/cairo/src/cairo-svg-surface.c:852,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-svg-surface.c:853,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 858
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 858
    functionName: cairo_svg_surface_get_document_unit
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_error_throw
    - _extract_svg_surface
    linkageType: ''
    returnType: cairo_svg_unit_t
    signature: "cairo_svg_unit_t cairo_svg_surface_get_document_unit (cairo_surface_t\t\
      *abstract_surface) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-svg-surface.c:216,1
    - Dst: _cairo_memory_stream_create
      Src: /src/cairo/src/cairo-svg-surface.c:223,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:225,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-svg-surface.c:224,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-svg-surface.c:231,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-svg-surface.c:235,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 3
    argNames:
    - svg_stream
    - data
    - length
    argTypes:
    - cairo_svg_stream_t*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 236
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 236
    functionName: _cairo_svg_stream_write
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    - _cairo_output_stream_write
    - _cairo_memory_stream_create
    - _cairo_array_append
    - unlikely
    linkageType: ''
    returnType: void
    signature: "static void _cairo_svg_stream_write (cairo_svg_stream_t *svg_stream,\t\
      \t\t const void *data,\t\t\t size_t length) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_svg_surface_emit_composite_pattern
      Src: /src/cairo/src/cairo-svg-surface.c:2527,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:2535,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:2532,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 5
    argNames:
    - surface
    - pattern
    - output
    - is_stroke
    - parent_matrix
    argTypes:
    - cairo_svg_surface_t*
    - cairo_surface_pattern_t*
    - cairo_svg_stream_t*
    - cairo_bool_t
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 2541
      start: 2515
    functionDepth: 0
    functionLinenumber: 2515
    functionLinenumberEnd: 2541
    functionName: _cairo_svg_surface_emit_surface_pattern
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_svg_stream_printf
    - _cairo_svg_surface_emit_composite_pattern
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_svg_surface_emit_surface_pattern (cairo_svg_surface_t\
      \ *surface,\t\t\t\t\t cairo_surface_pattern_t *pattern,\t\t\t\t\t cairo_svg_stream_t\
      \ *output,\t\t\t\t\t cairo_bool_t is_stroke,\t\t\t\t\t const cairo_matrix_t\
      \ *parent_matrix) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:239,1
    - Dst: _cairo_memory_stream_create
      Src: /src/cairo/src/cairo-svg-surface.c:254,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:256,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-svg-surface.c:247,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-svg-surface.c:255,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-svg-surface.c:262,1
    - Dst: va_start
      Src: /src/cairo/src/cairo-svg-surface.c:267,1
    - Dst: _cairo_output_stream_vprintf
      Src: /src/cairo/src/cairo-svg-surface.c:268,1
    - Dst: va_end
      Src: /src/cairo/src/cairo-svg-surface.c:269,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 0
    argNames:
    - 2, 0
    argTypes: []
    constantsTouched: []
    func_position:
      end: 270
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 270
    functionName: CAIRO_PRINTF_FORMAT
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_svg_stream_printf
    - _cairo_output_stream_vprintf
    - _cairo_array_index
    - va_end
    - _cairo_memory_stream_create
    - _cairo_array_append
    - va_start
    - unlikely
    linkageType: ''
    returnType: void
    signature: "static void CAIRO_PRINTF_FORMAT (2, 0)_cairo_svg_stream_printf (cairo_svg_stream_t\
      \ *svg_stream,\t\t\t const char *fmt,\t\t\t ...) "
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:2558,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:2573,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-svg-surface.c:2572,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:2603,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-svg-surface.c:2574,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:2653,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:2662,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:2673,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:2684,1
    - Dst: free
      Src: /src/cairo/src/cairo-svg-surface.c:2696,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 163
    argCount: 5
    argNames:
    - output
    - pattern
    - start_offset
    - reverse_stops
    - emulate_reflect
    argTypes:
    - cairo_svg_stream_t*
    - cairo_gradient_pattern_t*
    - double
    - cairo_bool_t
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 2700
      start: 2543
    functionDepth: 0
    functionLinenumber: 2543
    functionLinenumberEnd: 2700
    functionName: _cairo_svg_surface_emit_pattern_stops
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_svg_stream_printf
    - _cairo_error
    - free
    - _cairo_malloc_ab
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_svg_surface_emit_pattern_stops (cairo_svg_stream_t\
      \ *output,\t\t\t\t const cairo_gradient_pattern_t *pattern,\t\t\t\t double start_offset,\t\
      \t\t\t cairo_bool_t reverse_stops,\t\t\t\t cairo_bool_t emulate_reflect) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_hash_table_remove
      Src: /src/cairo/src/cairo-svg-surface.c:125,1
    - Dst: free
      Src: /src/cairo/src/cairo-svg-surface.c:126,1
    - Dst: free
      Src: /src/cairo/src/cairo-svg-surface.c:127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - entry
    - closure
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 128
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 128
    functionName: _cairo_svg_source_surface_pluck
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_hash_table_remove
    - free
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_svg_source_surface_pluck (void *entry, void *closure) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_svg_surface_are_operation_and_pattern_supported
      Src: /src/cairo/src/cairo-svg-surface.c:4097,1
    - Dst: _CAIRO_SVG_SURFACE_CALL_OPERATOR_IMPL
      Src: /src/cairo/src/cairo-svg-surface.c:4102,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 7
    argNames:
    - abstract_surface
    - op
    - source
    - glyphs
    - num_glyphs
    - scaled_font
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_glyph_t*
    - int
    - cairo_scaled_font_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 4107
      start: 4084
    functionDepth: 0
    functionLinenumber: 4084
    functionLinenumberEnd: 4107
    functionName: _cairo_svg_surface_show_glyphs
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_svg_surface_are_operation_and_pattern_supported
    - _CAIRO_SVG_SURFACE_CALL_OPERATOR_IMPL
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_svg_surface_show_glyphs (void *abstract_surface,\t\
      \t\t\tcairo_operator_t op,\t\t\t\tconst cairo_pattern_t *source,\t\t\t\tcairo_glyph_t\
      \ *glyphs,\t\t\t\tint num_glyphs,\t\t\t\tcairo_scaled_font_t *scaled_font,\t\
      \t\t\tconst cairo_clip_t *clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - paint
    argTypes:
    - cairo_svg_paint_t*
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: _cairo_svg_paint_init_key
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_svg_paint_init_key (cairo_svg_paint_t *paint) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_font_options_init_default
      Src: /src/cairo/src/cairo-svg-surface.c:4113,1
    - Dst: cairo_font_options_set_hint_metrics
      Src: /src/cairo/src/cairo-svg-surface.c:4116,1
    - Dst: _cairo_font_options_set_round_glyph_positions
      Src: /src/cairo/src/cairo-svg-surface.c:4118,1
    - Dst: cairo_font_options_set_hint_style
      Src: /src/cairo/src/cairo-svg-surface.c:4115,1
    - Dst: cairo_font_options_set_antialias
      Src: /src/cairo/src/cairo-svg-surface.c:4117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - abstract_surface
    - options
    argTypes:
    - void*
    - cairo_font_options_t*
    constantsTouched: []
    func_position:
      end: 4119
      start: 4109
    functionDepth: 0
    functionLinenumber: 4109
    functionLinenumberEnd: 4119
    functionName: _cairo_svg_surface_get_font_options
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - cairo_font_options_set_hint_style
    - _cairo_font_options_init_default
    - cairo_font_options_set_antialias
    - cairo_font_options_set_hint_metrics
    - _cairo_font_options_set_round_glyph_positions
    linkageType: ''
    returnType: void
    signature: "static void _cairo_svg_surface_get_font_options (void *abstract_surface,\t\
      \t\t\t cairo_font_options_t *options) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_is_paginated
      Src: /src/cairo/src/cairo-svg-surface.c:2335,1
    - Dst: _cairo_surface_snapshot_get_target
      Src: /src/cairo/src/cairo-svg-surface.c:2338,1
    - Dst: _cairo_paginated_surface_get_recording
      Src: /src/cairo/src/cairo-svg-surface.c:2336,1
    - Dst: _cairo_surface_is_snapshot
      Src: /src/cairo/src/cairo-svg-surface.c:2337,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2340
      start: 2331
    functionDepth: 0
    functionLinenumber: 2331
    functionLinenumberEnd: 2340
    functionName: _cairo_svg_surface_to_recording_surface
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_is_paginated
    - _cairo_surface_is_snapshot
    - _cairo_surface_snapshot_get_target
    - _cairo_paginated_surface_get_recording
    linkageType: ''
    returnType: cairo_recording_surface_t*
    signature: 'static cairo_recording_surface_t *_cairo_svg_surface_to_recording_surface
      (const cairo_surface_pattern_t *pattern) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-svg-surface.c:2799,1
    - Dst: fmod
      Src: /src/cairo/src/cairo-svg-surface.c:2830,1
    - Dst: assert
      Src: /src/cairo/src/cairo-svg-surface.c:2801,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:2855,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:2845,1
    - Dst: _cairo_svg_surface_emit_pattern_extend
      Src: /src/cairo/src/cairo-svg-surface.c:2857,1
    - Dst: _cairo_svg_surface_emit_transform
      Src: /src/cairo/src/cairo-svg-surface.c:2859,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:2860,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:2866,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:2871,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:2897,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:2894,1
    - Dst: _cairo_svg_surface_emit_pattern_stops
      Src: /src/cairo/src/cairo-svg-surface.c:2878,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:2883,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:2888,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 81
    argCount: 5
    argNames:
    - surface
    - pattern
    - output
    - is_stroke
    - parent_matrix
    argTypes:
    - cairo_svg_surface_t*
    - cairo_radial_pattern_t*
    - cairo_svg_stream_t*
    - cairo_bool_t
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 2903
      start: 2767
    functionDepth: 0
    functionLinenumber: 2767
    functionLinenumberEnd: 2903
    functionName: _cairo_svg_surface_emit_radial_pattern
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_svg_stream_printf
    - _cairo_svg_surface_emit_pattern_stops
    - assert
    - fmod
    - _cairo_svg_surface_emit_pattern_extend
    - cairo_matrix_invert
    - _cairo_svg_surface_emit_transform
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_svg_surface_emit_radial_pattern (cairo_svg_surface_t\
      \ *surface,\t\t\t\t\tcairo_radial_pattern_t *pattern,\t\t\t\t\tcairo_svg_stream_t\
      \ *output,\t\t\t\t\tcairo_bool_t is_stroke,\t\t\t\t\tconst cairo_matrix_t *parent_matrix) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_get_extents
      Src: /src/cairo/src/cairo-svg-surface.c:2348,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - pattern
    argTypes:
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 2349
      start: 2342
    functionDepth: 0
    functionLinenumber: 2342
    functionLinenumberEnd: 2349
    functionName: _cairo_svg_surface_svg_pattern_should_be_used
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_get_extents
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_svg_surface_svg_pattern_should_be_used
      (const cairo_pattern_t *pattern) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_svg_surface_emit_solid_pattern
      Src: /src/cairo/src/cairo-svg-surface.c:2914,1
    - Dst: _cairo_svg_surface_emit_radial_pattern
      Src: /src/cairo/src/cairo-svg-surface.c:2926,1
    - Dst: _cairo_svg_surface_emit_surface_pattern
      Src: /src/cairo/src/cairo-svg-surface.c:2918,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-svg-surface.c:2933,1
    - Dst: _cairo_svg_surface_emit_linear_pattern
      Src: /src/cairo/src/cairo-svg-surface.c:2922,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 7
    argCount: 5
    argNames:
    - surface
    - pattern
    - output
    - is_stroke
    - parent_matrix
    argTypes:
    - cairo_svg_surface_t*
    - cairo_pattern_t*
    - cairo_svg_stream_t*
    - cairo_bool_t
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 2934
      start: 2905
    functionDepth: 0
    functionLinenumber: 2905
    functionLinenumberEnd: 2934
    functionName: _cairo_svg_surface_emit_pattern
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_svg_surface_emit_linear_pattern
    - _cairo_error
    - _cairo_svg_surface_emit_radial_pattern
    - _cairo_svg_surface_emit_surface_pattern
    - _cairo_svg_surface_emit_solid_pattern
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_svg_surface_emit_pattern (cairo_svg_surface_t\
      \ *surface,\t\t\t\t const cairo_pattern_t *pattern,\t\t\t\t cairo_svg_stream_t\
      \ *output,\t\t\t\t cairo_bool_t is_stroke,\t\t\t\t const cairo_matrix_t *parent_matrix) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_create
      Src: /src/cairo/src/cairo-svg-surface.c:618,1
    - Dst: _cairo_svg_surface_create_for_stream_internal
      Src: /src/cairo/src/cairo-svg-surface.c:622,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:620,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-svg-surface.c:620,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-svg-surface.c:619,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 623
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 623
    functionName: cairo_svg_surface_create_for_stream
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_create
    - _cairo_output_stream_destroy
    - _cairo_surface_create_in_error
    - _cairo_output_stream_get_status
    - _cairo_svg_surface_create_for_stream_internal
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *cairo_svg_surface_create_for_stream (cairo_write_func_t\t\
      \t write_func,\t\t\t\t void\t\t\t*closure,\t\t\t\t double\t\t\t width,\t\t\t\
      \t double\t\t\t height) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:2708,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:2711,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 2
    argNames:
    - output
    - pattern
    argTypes:
    - cairo_svg_stream_t*
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 2717
      start: 2702
    functionDepth: 0
    functionLinenumber: 2702
    functionLinenumberEnd: 2717
    functionName: _cairo_svg_surface_emit_pattern_extend
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_svg_stream_printf
    linkageType: ''
    returnType: void
    signature: "static void _cairo_svg_surface_emit_pattern_extend (cairo_svg_stream_t\
      \ *output,\t\t\t\t\tcairo_pattern_t *pattern) "
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_svg_stream_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:3123,1
    - Dst: _cairo_svg_stream_append_paint_dependent
      Src: /src/cairo/src/cairo-svg-surface.c:3306,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3303,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:3312,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3329,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:3359,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:3396,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3399,1
    - Dst: _cairo_svg_surface_emit_parametric_filter
      Src: /src/cairo/src/cairo-svg-surface.c:3432,1
    - Dst: _cairo_svg_surface_emit_parametric_filter
      Src: /src/cairo/src/cairo-svg-surface.c:3476,1
    - Dst: _cairo_svg_surface_emit_parametric_filter
      Src: /src/cairo/src/cairo-svg-surface.c:3494,1
    - Dst: _cairo_svg_stream_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:3230,1
    - Dst: _cairo_svg_stream_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:3262,1
    - Dst: _cairo_svg_stream_copy
      Src: /src/cairo/src/cairo-svg-surface.c:3170,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3193,1
    - Dst: _cairo_svg_stream_append_paint_dependent
      Src: /src/cairo/src/cairo-svg-surface.c:3206,1
    - Dst: _cairo_svg_surface_emit_parametric_filter
      Src: /src/cairo/src/cairo-svg-surface.c:3239,1
    - Dst: _cairo_svg_stream_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:3273,1
    - Dst: _cairo_svg_surface_emit_paint
      Src: /src/cairo/src/cairo-svg-surface.c:3318,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3205,1
    - Dst: _cairo_svg_stream_copy
      Src: /src/cairo/src/cairo-svg-surface.c:3210,1
    - Dst: _cairo_svg_stream_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:3120,1
    - Dst: _cairo_svg_stream_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:3173,1
    - Dst: _cairo_svg_stream_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:3213,1
    - Dst: _cairo_svg_stream_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:3268,1
    - Dst: _cairo_svg_surface_emit_parametric_filter
      Src: /src/cairo/src/cairo-svg-surface.c:3548,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3573,1
    - Dst: _cairo_svg_stream_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:3380,1
    - Dst: _cairo_svg_stream_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:3314,1
    - Dst: _cairo_svg_surface_emit_paint
      Src: /src/cairo/src/cairo-svg-surface.c:3111,1
    - Dst: _cairo_svg_stream_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:3165,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3178,1
    - Dst: _cairo_svg_stream_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:3361,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3577,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3591,1
    - Dst: _cairo_svg_surface_emit_paint
      Src: /src/cairo/src/cairo-svg-surface.c:3592,1
    - Dst: _cairo_svg_surface_emit_parametric_filter
      Src: /src/cairo/src/cairo-svg-surface.c:3424,1
    - Dst: _cairo_svg_stream_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:3171,1
    - Dst: _cairo_svg_stream_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:3211,1
    - Dst: _cairo_svg_surface_emit_paint
      Src: /src/cairo/src/cairo-svg-surface.c:3247,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3217,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3228,1
    - Dst: _cairo_svg_stream_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:3265,1
    - Dst: _cairo_svg_stream_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:3321,1
    - Dst: _cairo_svg_surface_emit_parametric_filter
      Src: /src/cairo/src/cairo-svg-surface.c:3500,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:3593,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3596,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:3121,1
    - Dst: _cairo_svg_stream_create
      Src: /src/cairo/src/cairo-svg-surface.c:3126,1
    - Dst: _cairo_svg_surface_set_clip
      Src: /src/cairo/src/cairo-svg-surface.c:3163,1
    - Dst: _cairo_svg_surface_emit_static_filter
      Src: /src/cairo/src/cairo-svg-surface.c:3196,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3220,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3352,1
    - Dst: _cairo_svg_stream_append_paint_dependent
      Src: /src/cairo/src/cairo-svg-surface.c:3353,1
    - Dst: _cairo_svg_stream_copy
      Src: /src/cairo/src/cairo-svg-surface.c:3357,1
    - Dst: _cairo_svg_stream_copy
      Src: /src/cairo/src/cairo-svg-surface.c:3394,1
    - Dst: _cairo_svg_surface_emit_parametric_filter
      Src: /src/cairo/src/cairo-svg-surface.c:3530,1
    - Dst: _cairo_svg_surface_emit_parametric_filter
      Src: /src/cairo/src/cairo-svg-surface.c:3462,1
    - Dst: _cairo_svg_stream_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:3313,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3187,1
    - Dst: _cairo_svg_stream_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:3322,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3346,1
    - Dst: _cairo_svg_stream_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:3360,1
    - Dst: _cairo_svg_surface_emit_parametric_filter
      Src: /src/cairo/src/cairo-svg-surface.c:3444,1
    - Dst: _cairo_svg_surface_emit_parametric_filter
      Src: /src/cairo/src/cairo-svg-surface.c:3488,1
    - Dst: _cairo_svg_surface_emit_parametric_filter
      Src: /src/cairo/src/cairo-svg-surface.c:3536,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3235,1
    - Dst: _cairo_svg_surface_reset_clip
      Src: /src/cairo/src/cairo-svg-surface.c:3325,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3332,1
    - Dst: _cairo_svg_stream_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:3378,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3384,1
    - Dst: _cairo_svg_surface_emit_parametric_filter
      Src: /src/cairo/src/cairo-svg-surface.c:3518,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3582,1
    - Dst: _cairo_svg_stream_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:3166,1
    - Dst: _cairo_svg_surface_reset_clip
      Src: /src/cairo/src/cairo-svg-surface.c:3177,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3184,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3201,1
    - Dst: _cairo_svg_stream_copy
      Src: /src/cairo/src/cairo-svg-surface.c:3229,1
    - Dst: _cairo_svg_stream_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:3270,1
    - Dst: _cairo_svg_surface_set_clip
      Src: /src/cairo/src/cairo-svg-surface.c:3311,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3341,1
    - Dst: _cairo_svg_stream_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:3358,1
    - Dst: _cairo_svg_stream_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:3395,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3356,1
    - Dst: _cairo_svg_surface_emit_parametric_filter
      Src: /src/cairo/src/cairo-svg-surface.c:3506,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3181,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:3274,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:3319,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3234,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:3263,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:3231,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3383,1
    - Dst: _cairo_svg_surface_emit_parametric_filter
      Src: /src/cairo/src/cairo-svg-surface.c:3470,1
    - Dst: _cairo_svg_surface_emit_parametric_filter
      Src: /src/cairo/src/cairo-svg-surface.c:3554,1
    - Dst: _cairo_svg_surface_emit_paint
      Src: /src/cairo/src/cairo-svg-surface.c:3566,1
    - Dst: _cairo_svg_surface_emit_parametric_filter
      Src: /src/cairo/src/cairo-svg-surface.c:3512,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3562,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:3269,1
    - Dst: _cairo_svg_stream_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:3167,1
    - Dst: _cairo_svg_surface_emit_paint
      Src: /src/cairo/src/cairo-svg-surface.c:3162,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3326,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3365,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3376,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3402,1
    - Dst: _cairo_svg_surface_emit_parametric_filter
      Src: /src/cairo/src/cairo-svg-surface.c:3412,1
    - Dst: _cairo_svg_surface_emit_parametric_filter
      Src: /src/cairo/src/cairo-svg-surface.c:3456,1
    - Dst: _cairo_svg_surface_emit_parametric_filter
      Src: /src/cairo/src/cairo-svg-surface.c:3418,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3570,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3246,1
    - Dst: _cairo_svg_stream_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:3122,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3161,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3338,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3368,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3387,1
    - Dst: _cairo_svg_stream_append_paint_dependent
      Src: /src/cairo/src/cairo-svg-surface.c:3390,1
    - Dst: _cairo_svg_surface_emit_parametric_filter
      Src: /src/cairo/src/cairo-svg-surface.c:3542,1
    - Dst: _cairo_svg_surface_emit_parametric_filter
      Src: /src/cairo/src/cairo-svg-surface.c:3584,1
    - Dst: _cairo_svg_stream_append_paint_dependent
      Src: /src/cairo/src/cairo-svg-surface.c:3588,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3580,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:3172,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3190,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:3212,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3251,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:3248,1
    - Dst: _cairo_svg_surface_emit_static_filter
      Src: /src/cairo/src/cairo-svg-surface.c:3344,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3349,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3364,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3372,1
    - Dst: _cairo_svg_stream_append_paint_dependent
      Src: /src/cairo/src/cairo-svg-surface.c:3373,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:3567,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3209,1
    - Dst: _cairo_svg_stream_append_paint_dependent
      Src: /src/cairo/src/cairo-svg-surface.c:3243,1
    - Dst: _cairo_svg_surface_do_operator
      Src: /src/cairo/src/cairo-svg-surface.c:3127,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3155,1
    - Dst: _cairo_svg_stream_append_paint_dependent
      Src: /src/cairo/src/cairo-svg-surface.c:3158,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:3164,1
    - Dst: _cairo_svg_stream_copy
      Src: /src/cairo/src/cairo-svg-surface.c:3261,1
    - Dst: _cairo_svg_stream_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:3315,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3237,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3335,1
    - Dst: _cairo_svg_surface_emit_parametric_filter
      Src: /src/cairo/src/cairo-svg-surface.c:3450,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3309,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3216,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3224,1
    - Dst: _cairo_svg_stream_append_paint_dependent
      Src: /src/cairo/src/cairo-svg-surface.c:3225,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3393,1
    - Dst: _cairo_svg_surface_emit_parametric_filter
      Src: /src/cairo/src/cairo-svg-surface.c:3524,1
    - Dst: _cairo_svg_surface_emit_paint
      Src: /src/cairo/src/cairo-svg-surface.c:3310,1
    - Dst: _cairo_svg_stream_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:3264,1
    - Dst: _cairo_svg_stream_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:3174,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:3198,1
    - Dst: _cairo_svg_stream_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:3320,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:3379,1
    - Dst: _cairo_svg_surface_emit_parametric_filter
      Src: /src/cairo/src/cairo-svg-surface.c:3438,1
    - Dst: _cairo_svg_surface_emit_parametric_filter
      Src: /src/cairo/src/cairo-svg-surface.c:3482,1
    - Dst: _cairo_svg_stream_copy
      Src: /src/cairo/src/cairo-svg-surface.c:3377,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 238
    argCount: 7
    argNames:
    - output
    - surface
    - op
    - clip
    - mask_stream
    - source_stream
    - destination_stream
    argTypes:
    - cairo_svg_stream_t*
    - cairo_svg_surface_t*
    - cairo_operator_t
    - cairo_clip_t*
    - cairo_svg_stream_t*
    - cairo_svg_stream_t*
    - cairo_svg_stream_t*
    constantsTouched: []
    func_position:
      end: 3599
      start: 3089
    functionDepth: 0
    functionLinenumber: 3089
    functionLinenumberEnd: 3599
    functionName: _cairo_svg_surface_do_operator
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_svg_stream_printf
    - _cairo_svg_stream_copy
    - _cairo_svg_surface_emit_static_filter
    - _cairo_svg_surface_emit_paint
    - _cairo_svg_surface_reset_clip
    - _cairo_svg_stream_append_paint_dependent
    - _cairo_svg_surface_set_clip
    - _cairo_svg_stream_create
    - _cairo_svg_surface_do_operator
    - _cairo_svg_stream_destroy
    - _cairo_svg_surface_emit_parametric_filter
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_svg_surface_do_operator (cairo_svg_stream_t\
      \ *output,\t\t\t\tcairo_svg_surface_t *surface,\t\t\t\tcairo_operator_t op,\t\
      \t\t\tconst cairo_clip_t *clip,\t\t\t\tcairo_svg_stream_t *mask_stream,\t\t\t\
      \tcairo_svg_stream_t *source_stream,\t\t\t\tcairo_svg_stream_t *destination_stream) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_hash_bytes
      Src: /src/cairo/src/cairo-svg-surface.c:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - source_surface
    argTypes:
    - cairo_svg_source_surface_t*
    constantsTouched: []
    func_position:
      end: 104
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 104
    functionName: _cairo_svg_source_surface_init_key
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_hash_bytes
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_svg_source_surface_init_key (cairo_svg_source_surface_t
      *source_surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-svg-surface.c:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 205
    functionName: _cairo_svg_stream_create
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_array_init
    linkageType: ''
    returnType: cairo_svg_stream_t
    signature: 'static cairo_svg_stream_t _cairo_svg_stream_create () '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_svg_document_create
      Src: /src/cairo/src/cairo-svg-surface.c:1131,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:1134,1
    - Dst: _cairo_svg_surface_create_for_document
      Src: /src/cairo/src/cairo-svg-surface.c:1141,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-svg-surface.c:1135,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:1137,1
    - Dst: _cairo_svg_document_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:1148,1
    - Dst: assert
      Src: /src/cairo/src/cairo-svg-surface.c:1150,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1153
    functionName: _cairo_svg_surface_create_for_stream_internal
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_svg_document_create
    - _cairo_svg_document_destroy
    - _cairo_svg_surface_create_for_document
    - assert
    - _cairo_surface_create_in_error
    - _cairo_output_stream_destroy
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_svg_surface_create_for_stream_internal\
      \ (cairo_output_stream_t\t*stream,\t\t\t\t\t double\t\t\t width,\t\t\t\t\t double\t\
      \t\t height,\t\t\t\t\t cairo_svg_version_t\t version) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:4178,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-svg-surface.c:4179,1
    - Dst: _cairo_svg_stream_create
      Src: /src/cairo/src/cairo-svg-surface.c:4193,1
    - Dst: _cairo_svg_stream_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:4223,1
    - Dst: free
      Src: /src/cairo/src/cairo-svg-surface.c:4215,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:4211,1
    - Dst: _cairo_scaled_font_subsets_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:4224,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-svg-surface.c:4226,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-svg-surface.c:4177,1
    - Dst: _cairo_svg_stream_create
      Src: /src/cairo/src/cairo-svg-surface.c:4191,1
    - Dst: _cairo_scaled_font_subsets_create_scaled
      Src: /src/cairo/src/cairo-svg-surface.c:4210,1
    - Dst: _cairo_svg_stream_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:4212,1
    - Dst: _cairo_svg_stream_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:4213,1
    - Dst: _cairo_hash_table_create
      Src: /src/cairo/src/cairo-svg-surface.c:4219,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:4220,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-svg-surface.c:4216,1
    - Dst: _cairo_svg_stream_create
      Src: /src/cairo/src/cairo-svg-surface.c:4192,1
    - Dst: _cairo_svg_stream_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:4214,1
    - Dst: _cairo_svg_stream_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:4221,1
    - Dst: _cairo_svg_stream_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:4222,1
    - Dst: free
      Src: /src/cairo/src/cairo-svg-surface.c:4225,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 54
    argCount: 5
    argNames:
    - output_stream
    - width
    - height
    - version
    - document_out
    argTypes:
    - cairo_output_stream_t*
    - double
    - double
    - cairo_svg_version_t
    - cairo_svg_document_t**
    constantsTouched: []
    func_position:
      end: 4231
      start: 4164
    functionDepth: 0
    functionLinenumber: 4164
    functionLinenumberEnd: 4231
    functionName: _cairo_svg_document_create
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_scaled_font_subsets_destroy
    - _cairo_error
    - free
    - _cairo_scaled_font_subsets_create_scaled
    - _cairo_hash_table_create
    - _cairo_svg_stream_create
    - _cairo_svg_stream_destroy
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_svg_document_create (cairo_output_stream_t\
      \ *output_stream,\t\t\t double width,\t\t\t double height,\t\t\t cairo_svg_version_t\
      \ version,\t\t\t cairo_svg_document_t **document_out) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cairo/src/cairo-svg-surface.c:113,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 2
    argNames:
    - key_a
    - key_b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 117
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 117
    functionName: _cairo_svg_source_surface_equal
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_svg_source_surface_equal (const void *key_a,
      const void *key_b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_svg_surface_reset_clip
      Src: /src/cairo/src/cairo-svg-surface.c:1158,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-svg-surface.c:1161,1
    - Dst: _cairo_svg_stream_create
      Src: /src/cairo/src/cairo-svg-surface.c:1164,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-svg-surface.c:1165,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1167
    functionName: _cairo_svg_surface_store_page
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_svg_surface_reset_clip
    - _cairo_array_append
    - _cairo_array_index
    - _cairo_svg_stream_create
    linkageType: ''
    returnType: cairo_svg_page_t*
    signature: 'static cairo_svg_page_t *_cairo_svg_surface_store_page (cairo_svg_surface_t
      *surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-svg-surface.c:2730,1
    - Dst: _cairo_svg_surface_emit_transform
      Src: /src/cairo/src/cairo-svg-surface.c:2745,1
    - Dst: assert
      Src: /src/cairo/src/cairo-svg-surface.c:2732,1
    - Dst: _cairo_svg_surface_emit_pattern_extend
      Src: /src/cairo/src/cairo-svg-surface.c:2744,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:2736,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:2746,1
    - Dst: _cairo_svg_surface_emit_pattern_stops
      Src: /src/cairo/src/cairo-svg-surface.c:2748,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:2753,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:2756,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:2759,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 5
    argNames:
    - surface
    - pattern
    - output
    - is_stroke
    - parent_matrix
    argTypes:
    - cairo_svg_surface_t*
    - cairo_linear_pattern_t*
    - cairo_svg_stream_t*
    - cairo_bool_t
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 2765
      start: 2719
    functionDepth: 0
    functionLinenumber: 2719
    functionLinenumberEnd: 2765
    functionName: _cairo_svg_surface_emit_linear_pattern
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_svg_stream_printf
    - _cairo_svg_surface_emit_pattern_stops
    - assert
    - _cairo_svg_surface_emit_pattern_extend
    - cairo_matrix_invert
    - _cairo_svg_surface_emit_transform
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_svg_surface_emit_linear_pattern (cairo_svg_surface_t\
      \ *surface,\t\t\t\t\tcairo_linear_pattern_t *pattern,\t\t\t\t\tcairo_svg_stream_t\
      \ *output,\t\t\t\t\tcairo_bool_t is_stroke,\t\t\t\t\tconst cairo_matrix_t *parent_matrix) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4239
      start: 4233
    functionDepth: 0
    functionLinenumber: 4233
    functionLinenumberEnd: 4239
    functionName: _cairo_svg_document_reference
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_svg_document_t*
    signature: 'static cairo_svg_document_t *_cairo_svg_document_reference (cairo_svg_document_t
      *document) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_svg_surface_store_page
      Src: /src/cairo/src/cairo-svg-surface.c:1174,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:1175,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-svg-surface.c:1176,1
    - Dst: _cairo_svg_stream_copy
      Src: /src/cairo/src/cairo-svg-surface.c:1179,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1182
      start: 1169
    functionDepth: 0
    functionLinenumber: 1169
    functionLinenumberEnd: 1182
    functionName: _cairo_svg_surface_copy_page
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_svg_stream_copy
    - _cairo_svg_surface_store_page
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t _cairo_svg_surface_copy_page (void *abstract_surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:1301,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:1313,1
    - Dst: assert
      Src: /src/cairo/src/cairo-svg-surface.c:1311,1
    - Dst: _cairo_path_fixed_interpret
      Src: /src/cairo/src/cairo-svg-surface.c:1305,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - output
    - path
    - ctm_inverse
    argTypes:
    - cairo_svg_stream_t*
    - cairo_path_fixed_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 1314
      start: 1293
    functionDepth: 0
    functionLinenumber: 1293
    functionLinenumberEnd: 1314
    functionName: _cairo_svg_surface_emit_path
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_svg_stream_printf
    - _cairo_path_fixed_interpret
    - assert
    linkageType: ''
    returnType: void
    signature: "static void _cairo_svg_surface_emit_path (cairo_svg_stream_t *output,\t\
      \t\t const cairo_path_fixed_t *path,\t\t\t const cairo_matrix_t *ctm_inverse) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_svg_surface_emit_paint
      Src: /src/cairo/src/cairo-svg-surface.c:3642,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - output
    - surface
    - source
    argTypes:
    - cairo_svg_stream_t*
    - cairo_svg_surface_t*
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 3643
      start: 3637
    functionDepth: 0
    functionLinenumber: 3637
    functionLinenumberEnd: 3643
    functionName: _cairo_svg_surface_paint_impl
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_svg_surface_emit_paint
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_svg_surface_paint_impl (cairo_svg_stream_t\
      \ *output,\t\t\t cairo_svg_surface_t *surface,\t\t\t const cairo_pattern_t *source) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_svg_surface_store_page
      Src: /src/cairo/src/cairo-svg-surface.c:1189,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-svg-surface.c:1191,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:1190,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1195
      start: 1184
    functionDepth: 0
    functionLinenumber: 1184
    functionLinenumberEnd: 1195
    functionName: _cairo_svg_surface_show_page
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_svg_surface_store_page
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t _cairo_svg_surface_show_page (void *abstract_surface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_scaled_glyph_lookup
      Src: /src/cairo/src/cairo-svg-surface.c:1324,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:1329,1
    - Dst: _cairo_path_fixed_size
      Src: /src/cairo/src/cairo-svg-surface.c:1333,1
    - Dst: _cairo_svg_surface_emit_path
      Src: /src/cairo/src/cairo-svg-surface.c:1337,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:1334,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:1341,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - document
    - scaled_font
    - glyph_index
    argTypes:
    - cairo_svg_document_t*
    - cairo_scaled_font_t*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 1346
      start: 1316
    functionDepth: 0
    functionLinenumber: 1316
    functionLinenumberEnd: 1346
    functionName: _cairo_svg_document_emit_outline_glyph_data
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_svg_stream_printf
    - _cairo_scaled_glyph_lookup
    - _cairo_svg_surface_emit_path
    - _cairo_path_fixed_size
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_svg_document_emit_outline_glyph_data\
      \ (cairo_svg_document_t *document,\t\t\t\t\t cairo_scaled_font_t *scaled_font,\t\
      \t\t\t\t unsigned long glyph_index) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_svg_stream_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:3663,1
    - Dst: _cairo_svg_stream_create
      Src: /src/cairo/src/cairo-svg-surface.c:3668,1
    - Dst: _CAIRO_SVG_SURFACE_CALL_OPERATOR_IMPL
      Src: /src/cairo/src/cairo-svg-surface.c:3683,1
    - Dst: _cairo_svg_surface_are_operation_and_pattern_supported
      Src: /src/cairo/src/cairo-svg-surface.c:3678,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:3664,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 20
    argCount: 4
    argNames:
    - abstract_surface
    - op
    - source
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 3685
      start: 3645
    functionDepth: 0
    functionLinenumber: 3645
    functionLinenumberEnd: 3685
    functionName: _cairo_svg_surface_paint
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_svg_surface_are_operation_and_pattern_supported
    - _CAIRO_SVG_SURFACE_CALL_OPERATOR_IMPL
    - _cairo_svg_stream_create
    - _cairo_svg_stream_destroy
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_svg_surface_paint (void *abstract_surface,\t\
      \t\t cairo_operator_t op,\t\t\t const cairo_pattern_t *source,\t\t\t const cairo_clip_t\
      \ *clip) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-svg-surface.c:1263,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-svg-surface.c:1264,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-svg-surface.c:1266,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-svg-surface.c:1265,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-svg-surface.c:1267,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-svg-surface.c:1268,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/cairo-svg-surface.c:1271,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/cairo-svg-surface.c:1272,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/cairo-svg-surface.c:1273,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:1276,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - closure
    - b
    - c
    - d
    argTypes:
    - void*
    - cairo_point_t*
    - cairo_point_t*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 1281
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1281
    functionName: _cairo_svg_path_curve_to
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_svg_stream_printf
    - cairo_matrix_transform_point
    - _cairo_fixed_to_double
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_svg_path_curve_to (void *closure,\t\t\
      \t const cairo_point_t *b,\t\t\t const cairo_point_t *c,\t\t\t const cairo_point_t\
      \ *d) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_scaled_font_freeze_cache
      Src: /src/cairo/src/cairo-svg-surface.c:1535,1
    - Dst: _cairo_scaled_font_thaw_cache
      Src: /src/cairo/src/cairo-svg-surface.c:1544,1
    - Dst: _cairo_svg_document_emit_glyph
      Src: /src/cairo/src/cairo-svg-surface.c:1537,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:1541,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - font_subset
    - closure
    argTypes:
    - cairo_scaled_font_subset_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1547
      start: 1527
    functionDepth: 0
    functionLinenumber: 1527
    functionLinenumberEnd: 1547
    functionName: _cairo_svg_document_emit_font_subset
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_scaled_font_freeze_cache
    - _cairo_scaled_font_thaw_cache
    - unlikely
    - _cairo_svg_document_emit_glyph
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_svg_document_emit_font_subset (cairo_scaled_font_subset_t\t\
      *font_subset,\t\t\t\t void\t\t\t\t*closure) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:1288,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - closure
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1291
      start: 1283
    functionDepth: 0
    functionLinenumber: 1283
    functionLinenumberEnd: 1291
    functionName: _cairo_svg_path_close_path
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_svg_stream_printf
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_svg_path_close_path (void *closure) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_scaled_font_subsets_foreach_scaled
      Src: /src/cairo/src/cairo-svg-surface.c:1554,1
    - Dst: _cairo_scaled_font_subsets_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:1557,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - document
    argTypes:
    - cairo_svg_document_t*
    constantsTouched: []
    func_position:
      end: 1561
      start: 1549
    functionDepth: 0
    functionLinenumber: 1549
    functionLinenumberEnd: 1561
    functionName: _cairo_svg_document_emit_font_subsets
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_scaled_font_subsets_foreach_scaled
    - _cairo_scaled_font_subsets_destroy
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_svg_document_emit_font_subsets (cairo_svg_document_t
      *document) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-svg-surface.c:283,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - svg_stream
    - source_id
    - type
    argTypes:
    - cairo_svg_stream_t*
    - unsigned int
    - enum cairo_svg_stream_paint_dependent_element_type
    constantsTouched: []
    func_position:
      end: 287
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 287
    functionName: _cairo_svg_stream_append_paint_dependent
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_array_append
    linkageType: ''
    returnType: void
    signature: "static void _cairo_svg_stream_append_paint_dependent (cairo_svg_stream_t\
      \ *svg_stream,\t\t\t\t\t unsigned int source_id,\t\t\t\t\t enum cairo_svg_stream_paint_dependent_element_type\
      \ type) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:295,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-svg-surface.c:303,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-svg-surface.c:312,1
    - Dst: _cairo_memory_stream_copy
      Src: /src/cairo/src/cairo-svg-surface.c:307,1
    - Dst: _cairo_memory_stream_create
      Src: /src/cairo/src/cairo-svg-surface.c:306,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:313,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 2
    argNames:
    - from
    - to
    argTypes:
    - cairo_svg_stream_t*
    - cairo_svg_stream_t*
    constantsTouched: []
    func_position:
      end: 320
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 320
    functionName: _cairo_svg_stream_copy
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    - _cairo_memory_stream_copy
    - _cairo_memory_stream_create
    - _cairo_array_append
    - unlikely
    linkageType: ''
    returnType: void
    signature: "static void _cairo_svg_stream_copy (cairo_svg_stream_t *from,\t\t\t\
      cairo_svg_stream_t *to) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-svg-surface.c:1206,1
    - Dst: _cairo_matrix_is_identity
      Src: /src/cairo/src/cairo-svg-surface.c:1209,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:1210,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 4
    argNames:
    - output
    - attribute_name
    - object_matrix
    - parent_matrix
    argTypes:
    - cairo_svg_stream_t*
    - char*
    - cairo_matrix_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 1217
      start: 1197
    functionDepth: 0
    functionLinenumber: 1197
    functionLinenumberEnd: 1217
    functionName: _cairo_svg_surface_emit_transform
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_svg_stream_printf
    - _cairo_matrix_is_identity
    - cairo_matrix_multiply
    linkageType: ''
    returnType: void
    signature: "static void _cairo_svg_surface_emit_transform (cairo_svg_stream_t\
      \ *output,\t\t\t\t char const *attribute_name,\t\t\t\t const cairo_matrix_t\
      \ *object_matrix,\t\t\t\t const cairo_matrix_t *parent_matrix) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-svg-surface.c:1229,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:1235,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/cairo-svg-surface.c:1233,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-svg-surface.c:1230,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - closure
    - point
    argTypes:
    - void*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 1238
      start: 1224
    functionDepth: 0
    functionLinenumber: 1224
    functionLinenumberEnd: 1238
    functionName: _cairo_svg_path_move_to
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_svg_stream_printf
    - cairo_matrix_transform_point
    - _cairo_fixed_to_double
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_svg_path_move_to (void *closure,\t\t\t\
      \ const cairo_point_t *point) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:327,1
    - Dst: _cairo_svg_paint_init_key
      Src: /src/cairo/src/cairo-svg-surface.c:342,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-svg-surface.c:335,1
    - Dst: _cairo_hash_table_lookup
      Src: /src/cairo/src/cairo-svg-surface.c:344,1
    - Dst: _cairo_memory_stream_copy
      Src: /src/cairo/src/cairo-svg-surface.c:337,1
    - Dst: assert
      Src: /src/cairo/src/cairo-svg-surface.c:346,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:350,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:358,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:364,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:370,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 3
    argNames:
    - from
    - to
    - paints
    argTypes:
    - cairo_svg_stream_t*
    - cairo_output_stream_t*
    - cairo_hash_table_t*
    constantsTouched: []
    func_position:
      end: 378
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 378
    functionName: _cairo_svg_stream_copy_to_output_stream
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    - _cairo_memory_stream_copy
    - _cairo_svg_paint_init_key
    - assert
    - _cairo_hash_table_lookup
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: void
    signature: "static void _cairo_svg_stream_copy_to_output_stream (cairo_svg_stream_t\
      \ *from,\t\t\t\t\t cairo_output_stream_t *to,\t\t\t\t\t cairo_hash_table_t *paints) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_create_for_filename
      Src: /src/cairo/src/cairo-svg-surface.c:673,1
    - Dst: _cairo_svg_surface_create_for_stream_internal
      Src: /src/cairo/src/cairo-svg-surface.c:677,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-svg-surface.c:674,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:675,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-svg-surface.c:675,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 678
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 678
    functionName: cairo_svg_surface_create
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_destroy
    - _cairo_output_stream_create_for_filename
    - _cairo_surface_create_in_error
    - _cairo_output_stream_get_status
    - _cairo_svg_surface_create_for_stream_internal
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *cairo_svg_surface_create (const char\t*filename,\t\
      \t\t double\t width,\t\t\t double\t height) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_get_mime_data
      Src: /src/cairo/src/cairo-svg-surface.c:913,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-svg-surface.c:932,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-svg-surface.c:930,1
    - Dst: _cairo_svg_source_surface_init_key
      Src: /src/cairo/src/cairo-svg-surface.c:917,1
    - Dst: _cairo_hash_table_lookup
      Src: /src/cairo/src/cairo-svg-surface.c:919,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-svg-surface.c:936,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-svg-surface.c:942,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-svg-surface.c:944,1
    - Dst: _cairo_svg_source_surface_init_key
      Src: /src/cairo/src/cairo-svg-surface.c:950,1
    - Dst: _cairo_hash_table_insert
      Src: /src/cairo/src/cairo-svg-surface.c:951,1
    - Dst: free
      Src: /src/cairo/src/cairo-svg-surface.c:961,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-svg-surface.c:952,1
    - Dst: free
      Src: /src/cairo/src/cairo-svg-surface.c:962,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 4
    argNames:
    - surface
    - source_surface
    - is_new
    - result_source_surface
    argTypes:
    - cairo_svg_surface_t*
    - cairo_surface_t*
    - cairo_bool_t*
    - cairo_svg_source_surface_t**
    constantsTouched: []
    func_position:
      end: 964
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 964
    functionName: _cairo_svg_surface_add_source_surface
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_malloc
    - memcpy
    - _cairo_svg_source_surface_init_key
    - _cairo_error
    - free
    - cairo_surface_get_mime_data
    - unlikely
    - _cairo_hash_table_insert
    - _cairo_hash_table_lookup
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_svg_surface_add_source_surface (cairo_svg_surface_t\
      \ *surface,\t\t\t\t cairo_surface_t *source_surface,\t\t\t\t cairo_bool_t *is_new,\t\
      \t\t\t cairo_svg_source_surface_t **result_source_surface) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-svg-surface.c:385,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-svg-surface.c:387,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-svg-surface.c:393,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - svg_stream
    argTypes:
    - cairo_svg_stream_t*
    constantsTouched: []
    func_position:
      end: 395
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 395
    functionName: _cairo_svg_stream_destroy
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_array_fini
    - _cairo_output_stream_destroy
    - _cairo_array_index
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_svg_stream_destroy (cairo_svg_stream_t
      *svg_stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 684
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 684
    functionName: _cairo_surface_is_svg
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_surface_is_svg (cairo_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_fixed_is_box
      Src: /src/cairo/src/cairo-svg-surface.c:973,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-svg-surface.c:976,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-svg-surface.c:977,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - surface
    - path
    argTypes:
    - cairo_svg_surface_t*
    - cairo_path_fixed_t*
    constantsTouched: []
    func_position:
      end: 978
      start: 966
    functionDepth: 0
    functionLinenumber: 966
    functionLinenumberEnd: 978
    functionName: _cairo_svg_surface_cliprect_covers_surface
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_is_box
    - _cairo_fixed_to_double
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _cairo_svg_surface_cliprect_covers_surface (cairo_svg_surface_t\
      \ *surface,\t\t\t\t\t cairo_path_fixed_t *path) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-svg-surface.c:1245,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/cairo-svg-surface.c:1249,1
    - Dst: _cairo_svg_stream_printf
      Src: /src/cairo/src/cairo-svg-surface.c:1251,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-svg-surface.c:1246,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - closure
    - point
    argTypes:
    - void*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 1254
      start: 1240
    functionDepth: 0
    functionLinenumber: 1240
    functionLinenumberEnd: 1254
    functionName: _cairo_svg_path_line_to
    functionSourceFile: /src/cairo/src/cairo-svg-surface.c
    functionUses: []
    functionsReached:
    - _cairo_svg_stream_printf
    - cairo_matrix_transform_point
    - _cairo_fixed_to_double
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_svg_path_line_to (void *closure,\t\t\t\
      \ const cairo_point_t *point) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_unaligned_be32
      Src: /src/cairo/src/cairo-image-info.c:167,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 173
    functionName: _jpx_next_box
    functionSourceFile: /src/cairo/src/cairo-image-info.c
    functionUses: []
    functionsReached:
    - get_unaligned_be32
    linkageType: ''
    returnType: unsigned char*
    signature: 'static const unsigned char *_jpx_next_box (const unsigned char *p,
      const unsigned char *end) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - info
    - p
    argTypes:
    - cairo_image_info_t*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: _jpeg_extract_info
    functionSourceFile: /src/cairo/src/cairo-image-info.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _jpeg_extract_info (cairo_image_info_t *info, const unsigned
      char *p) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_unaligned_be32
      Src: /src/cairo/src/cairo-image-info.c:187,1
    - Dst: get_unaligned_be32
      Src: /src/cairo/src/cairo-image-info.c:188,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - p
    - end
    - type
    argTypes:
    - unsigned char*
    - unsigned char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 193
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 193
    functionName: _jpx_match_box
    functionSourceFile: /src/cairo/src/cairo-image-info.c
    functionUses: []
    functionsReached:
    - get_unaligned_be32
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _jpx_match_box (const unsigned char *p, const
      unsigned char *end, uint32_t type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_unaligned_be32
      Src: /src/cairo/src/cairo-image-info.c:214,1
    - Dst: get_unaligned_be32
      Src: /src/cairo/src/cairo-image-info.c:215,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - p
    - info
    - end
    argTypes:
    - unsigned char*
    - cairo_image_info_t*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 220
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 220
    functionName: _jpx_extract_info
    functionSourceFile: /src/cairo/src/cairo-image-info.c
    functionUses: []
    functionsReached:
    - get_unaligned_be32
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t _jpx_extract_info (const unsigned char *p,
      cairo_image_info_t *info, const unsigned char *end) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cairo/src/cairo-image-info.c:276,1
    - Dst: get_unaligned_be32
      Src: /src/cairo/src/cairo-image-info.c:293,1
    - Dst: get_unaligned_be32
      Src: /src/cairo/src/cairo-image-info.c:291,1
    - Dst: get_unaligned_be32
      Src: /src/cairo/src/cairo-image-info.c:287,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - info
    - data
    - length
    argTypes:
    - cairo_image_info_t*
    - unsigned char*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 296
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 296
    functionName: _cairo_image_info_get_png_info
    functionSourceFile: /src/cairo/src/cairo-image-info.c
    functionUses: []
    functionsReached:
    - get_unaligned_be32
    - memcmp
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'cairo_int_status_t _cairo_image_info_get_png_info (cairo_image_info_t
      *info, const unsigned char *data, unsigned long length) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: get_unaligned_be32
      Src: /src/cairo/src/cairo-image-info.c:353,1
    - Dst: get_unaligned_be32
      Src: /src/cairo/src/cairo-image-info.c:381,1
    - Dst: get_unaligned_be32
      Src: /src/cairo/src/cairo-image-info.c:362,1
    - Dst: _jbig2_find_data_end
      Src: /src/cairo/src/cairo-image-info.c:387,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 400
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 400
    functionName: _jbig2_get_next_segment
    functionSourceFile: /src/cairo/src/cairo-image-info.c
    functionUses: []
    functionsReached:
    - _jbig2_find_data_end
    - get_unaligned_be32
    linkageType: ''
    returnType: unsigned char*
    signature: "static const unsigned char *_jbig2_get_next_segment (const unsigned\
      \ char *p,\t\t\t const unsigned char *end,\t\t\t int *type,\t\t\t const unsigned\
      \ char **data,\t\t\t unsigned long *data_len) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: _jpeg_skip_segment
    functionSourceFile: /src/cairo/src/cairo-image-info.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned char*
    signature: 'static const unsigned char *_jpeg_skip_segment (const unsigned char
      *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 179
    functionName: _jpx_get_box_contents
    functionSourceFile: /src/cairo/src/cairo-image-info.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned char*
    signature: 'static const unsigned char *_jpx_get_box_contents (const unsigned
      char *p) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: _jpeg_extract_info
      Src: /src/cairo/src/cairo-image-info.c:130,1
    - Dst: _jpeg_skip_segment
      Src: /src/cairo/src/cairo-image-info.c:142,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 20
    argCount: 3
    argNames:
    - info
    - data
    - length
    argTypes:
    - cairo_image_info_t*
    - unsigned char*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 148
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 148
    functionName: _cairo_image_info_get_jpeg_info
    functionSourceFile: /src/cairo/src/cairo-image-info.c
    functionUses: []
    functionsReached:
    - _jpeg_extract_info
    - _jpeg_skip_segment
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_image_info_get_jpeg_info (cairo_image_info_t\t\
      *info,\t\t\t\t const unsigned char\t*data,\t\t\t\t unsigned long\t\t length) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _jpx_match_box
      Src: /src/cairo/src/cairo-image-info.c:199,1
    - Dst: _jpx_next_box
      Src: /src/cairo/src/cairo-image-info.c:201,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 205
    functionName: _jpx_find_box
    functionSourceFile: /src/cairo/src/cairo-image-info.c
    functionUses: []
    functionsReached:
    - _jpx_match_box
    - _jpx_next_box
    linkageType: ''
    returnType: unsigned char*
    signature: 'static const unsigned char *_jpx_find_box (const unsigned char *p,
      const unsigned char *end, uint32_t type) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-image-info.c:231,1
    - Dst: memcmp
      Src: /src/cairo/src/cairo-image-info.c:232,1
    - Dst: _jpx_match_box
      Src: /src/cairo/src/cairo-image-info.c:238,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-image-info.c:232,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-image-info.c:235,1
    - Dst: _jpx_next_box
      Src: /src/cairo/src/cairo-image-info.c:241,1
    - Dst: _jpx_find_box
      Src: /src/cairo/src/cairo-image-info.c:244,1
    - Dst: _jpx_get_box_contents
      Src: /src/cairo/src/cairo-image-info.c:250,1
    - Dst: _jpx_match_box
      Src: /src/cairo/src/cairo-image-info.c:251,1
    - Dst: _jpx_get_box_contents
      Src: /src/cairo/src/cairo-image-info.c:255,1
    - Dst: _jpx_extract_info
      Src: /src/cairo/src/cairo-image-info.c:256,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 3
    argNames:
    - info
    - data
    - length
    argTypes:
    - cairo_image_info_t*
    - unsigned char*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 257
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 257
    functionName: _cairo_image_info_get_jpx_info
    functionSourceFile: /src/cairo/src/cairo-image-info.c
    functionUses: []
    functionsReached:
    - _jpx_match_box
    - _jpx_extract_info
    - ARRAY_LENGTH
    - _jpx_next_box
    - _jpx_find_box
    - _jpx_get_box_contents
    - memcmp
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_image_info_get_jpx_info (cairo_image_info_t\t\
      *info,\t\t\t\tconst unsigned char\t*data,\t\t\t\tunsigned long\t\t length) "
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 335
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 335
    functionName: _jbig2_find_data_end
    functionSourceFile: /src/cairo/src/cairo-image-info.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned char*
    signature: "static const unsigned char *_jbig2_find_data_end (const unsigned char\
      \ *p,\t\t const unsigned char *end,\t\t int type) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_unaligned_be32
      Src: /src/cairo/src/cairo-image-info.c:405,1
    - Dst: get_unaligned_be32
      Src: /src/cairo/src/cairo-image-info.c:406,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - info
    - p
    argTypes:
    - cairo_image_info_t*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 409
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 409
    functionName: _jbig2_extract_info
    functionSourceFile: /src/cairo/src/cairo-image-info.c
    functionUses: []
    functionsReached:
    - get_unaligned_be32
    linkageType: ''
    returnType: void
    signature: 'static void _jbig2_extract_info (cairo_image_info_t *info, const unsigned
      char *p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _jbig2_get_next_segment
      Src: /src/cairo/src/cairo-image-info.c:423,1
    - Dst: _jbig2_extract_info
      Src: /src/cairo/src/cairo-image-info.c:426,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 3
    argNames:
    - info
    - data
    - length
    argTypes:
    - cairo_image_info_t*
    - unsigned char*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 432
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 432
    functionName: _cairo_image_info_get_jbig2_info
    functionSourceFile: /src/cairo/src/cairo-image-info.c
    functionUses: []
    functionsReached:
    - _jbig2_get_next_segment
    - _jbig2_extract_info
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_image_info_get_jbig2_info (cairo_image_info_t\t\
      *info,\t\t\t\t const unsigned char\t*data,\t\t\t\t unsigned long\t\t length) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pen_fini
      Src: /src/cairo/src/cairo-path-stroke-traps.c:188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - stroker
    argTypes:
    - struct stroker*
    constantsTouched: []
    func_position:
      end: 189
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 189
    functionName: stroker_fini
    functionSourceFile: /src/cairo/src/cairo-path-stroke-traps.c
    functionUses: []
    functionsReached:
    - _cairo_pen_fini
    linkageType: ''
    returnType: void
    signature: 'static void stroker_fini (struct stroker *stroker) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_box_intersects_line_segment
      Src: /src/cairo/src/cairo-path-stroke-traps.c:226,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - stroker
    - in
    - out
    argTypes:
    - struct stroker*
    - cairo_point_t*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 227
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 227
    functionName: stroker_intersects_join
    functionSourceFile: /src/cairo/src/cairo-path-stroke-traps.c
    functionUses: []
    functionsReached:
    - _cairo_box_intersects_line_segment
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t stroker_intersects_join (const struct stroker\
      \ *stroker,\t\t\t const cairo_point_t *in,\t\t\t const cairo_point_t *out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_cap
      Src: /src/cairo/src/cairo-path-stroke-traps.c:579,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - stroker
    - face
    argTypes:
    - struct stroker*
    - cairo_stroke_face_t*
    constantsTouched: []
    func_position:
      end: 580
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 580
    functionName: add_trailing_cap
    functionSourceFile: /src/cairo/src/cairo-path-stroke-traps.c
    functionUses: []
    functionsReached:
    - add_cap
    linkageType: ''
    returnType: void
    signature: 'static void add_trailing_cap (struct stroker *stroker, cairo_stroke_face_t
      *face) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: line_to_dashed
      Src: /src/cairo/src/cairo-path-stroke-traps.c:949,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - closure
    - point
    - tangent
    argTypes:
    - void*
    - cairo_point_t*
    - cairo_slope_t*
    constantsTouched: []
    func_position:
      end: 950
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 950
    functionName: add_point
    functionSourceFile: /src/cairo/src/cairo-path-stroke-traps.c
    functionUses: []
    functionsReached:
    - line_to_dashed
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t add_point (void *closure,\t const cairo_point_t\
      \ *point,\t const cairo_slope_t *tangent) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_matrix_is_identity
      Src: /src/cairo/src/cairo-path-stroke-traps.c:97,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke-traps.c:134,1
    - Dst: _cairo_matrix_compute_determinant
      Src: /src/cairo/src/cairo-path-stroke-traps.c:128,1
    - Dst: hypot
      Src: /src/cairo/src/cairo-path-stroke-traps.c:116,1
    - Dst: _cairo_pen_init
      Src: /src/cairo/src/cairo-path-stroke-traps.c:131,1
    - Dst: _cairo_stroker_dash_init
      Src: /src/cairo/src/cairo-path-stroke-traps.c:141,1
    - Dst: _cairo_stroke_style_max_distance_from_path
      Src: /src/cairo/src/cairo-path-stroke-traps.c:154,1
    - Dst: _cairo_stroke_style_max_line_distance_from_path
      Src: /src/cairo/src/cairo-path-stroke-traps.c:157,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-stroke-traps.c:160,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-stroke-traps.c:161,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-stroke-traps.c:173,1
    - Dst: _cairo_stroke_style_max_join_distance_from_path
      Src: /src/cairo/src/cairo-path-stroke-traps.c:169,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-stroke-traps.c:172,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 60
    argCount: 7
    argNames:
    - stroker
    - path
    - style
    - ctm
    - ctm_inverse
    - tolerance
    - traps
    argTypes:
    - struct stroker*
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_traps_t*
    constantsTouched: []
    func_position:
      end: 183
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 183
    functionName: stroker_init
    functionSourceFile: /src/cairo/src/cairo-path-stroke-traps.c
    functionUses: []
    functionsReached:
    - _cairo_stroke_style_max_distance_from_path
    - _cairo_pen_init
    - _cairo_stroker_dash_init
    - _cairo_matrix_compute_determinant
    - hypot
    - _cairo_matrix_is_identity
    - _cairo_fixed_from_double
    - _cairo_stroke_style_max_line_distance_from_path
    - _cairo_stroke_style_max_join_distance_from_path
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t stroker_init (struct stroker\t\t*stroker,\t\
      \ const cairo_path_fixed_t\t*path,\t const cairo_stroke_style_t\t*style,\t const\
      \ cairo_matrix_t\t*ctm,\t const cairo_matrix_t\t*ctm_inverse,\t double\t\t\t\
      \ tolerance,\t cairo_traps_t\t\t*traps) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - point
    - offset
    argTypes:
    - cairo_point_t*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 196
    functionName: translate_point
    functionSourceFile: /src/cairo/src/cairo-path-stroke-traps.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void translate_point (cairo_point_t *point, cairo_point_t *offset) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: stroker_intersects_join
      Src: /src/cairo/src/cairo-path-stroke-traps.c:253,1
    - Dst: _cairo_traps_tessellate_triangle_with_edges
      Src: /src/cairo/src/cairo-path-stroke-traps.c:279,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke-traps.c:401,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke-traps.c:402,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke-traps.c:439,1
    - Dst: translate_point
      Src: /src/cairo/src/cairo-path-stroke-traps.c:294,1
    - Dst: _cairo_traps_tessellate_triangle_with_edges
      Src: /src/cairo/src/cairo-path-stroke-traps.c:316,1
    - Dst: slope_compare_sgn
      Src: /src/cairo/src/cairo-path-stroke-traps.c:454,1
    - Dst: slope_compare_sgn
      Src: /src/cairo/src/cairo-path-stroke-traps.c:455,1
    - Dst: _cairo_pen_find_active_ccw_vertices
      Src: /src/cairo/src/cairo-path-stroke-traps.c:271,1
    - Dst: translate_point
      Src: /src/cairo/src/cairo-path-stroke-traps.c:276,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke-traps.c:409,1
    - Dst: cairo_matrix_transform_distance
      Src: /src/cairo/src/cairo-path-stroke-traps.c:412,1
    - Dst: cairo_matrix_transform_distance
      Src: /src/cairo/src/cairo-path-stroke-traps.c:405,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke-traps.c:408,1
    - Dst: _cairo_traps_tessellate_triangle_with_edges
      Src: /src/cairo/src/cairo-path-stroke-traps.c:478,1
    - Dst: join_is_clockwise
      Src: /src/cairo/src/cairo-path-stroke-traps.c:234,1
    - Dst: _cairo_pen_find_active_cw_vertices
      Src: /src/cairo/src/cairo-path-stroke-traps.c:289,1
    - Dst: _cairo_traps_tessellate_triangle_with_edges
      Src: /src/cairo/src/cairo-path-stroke-traps.c:297,1
    - Dst: _cairo_traps_tessellate_triangle_with_edges
      Src: /src/cairo/src/cairo-path-stroke-traps.c:310,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-path-stroke-traps.c:424,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke-traps.c:438,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-path-stroke-traps.c:424,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-stroke-traps.c:460,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-stroke-traps.c:461,1
    - Dst: _cairo_traps_tessellate_convex_quad
      Src: /src/cairo/src/cairo-path-stroke-traps.c:468,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 145
    argCount: 3
    argNames:
    - stroker
    - in
    - out
    argTypes:
    - struct stroker*
    - cairo_stroke_face_t*
    - cairo_stroke_face_t*
    constantsTouched: []
    func_position:
      end: 482
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 482
    functionName: join
    functionSourceFile: /src/cairo/src/cairo-path-stroke-traps.c
    functionUses: []
    functionsReached:
    - fabs
    - _cairo_traps_tessellate_convex_quad
    - _cairo_traps_tessellate_triangle_with_edges
    - _cairo_fixed_to_double
    - slope_compare_sgn
    - stroker_intersects_join
    - translate_point
    - join_is_clockwise
    - _cairo_fixed_from_double
    - cairo_matrix_transform_distance
    - _cairo_pen_find_active_cw_vertices
    - _cairo_pen_find_active_ccw_vertices
    linkageType: ''
    returnType: void
    signature: 'static void join (struct stroker *stroker, cairo_stroke_face_t *in,
      cairo_stroke_face_t *out) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: hypot
      Src: /src/cairo/src/cairo-path-stroke-traps.c:609,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - dx
    - dy
    argTypes:
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 614
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 614
    functionName: normalize_slope
    functionSourceFile: /src/cairo/src/cairo-path-stroke-traps.c
    functionUses: []
    functionsReached:
    - hypot
    linkageType: ''
    returnType: double
    signature: 'static inline double normalize_slope (double *dx, double *dy) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pen_find_active_cw_vertices
      Src: /src/cairo/src/cairo-path-stroke-traps.c:497,1
    - Dst: translate_point
      Src: /src/cairo/src/cairo-path-stroke-traps.c:505,1
    - Dst: _cairo_traps_tessellate_triangle_with_edges
      Src: /src/cairo/src/cairo-path-stroke-traps.c:508,1
    - Dst: cairo_matrix_transform_distance
      Src: /src/cairo/src/cairo-path-stroke-traps.c:534,1
    - Dst: _cairo_traps_tessellate_triangle_with_edges
      Src: /src/cairo/src/cairo-path-stroke-traps.c:520,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-stroke-traps.c:535,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-stroke-traps.c:536,1
    - Dst: _cairo_traps_tessellate_convex_quad
      Src: /src/cairo/src/cairo-path-stroke-traps.c:545,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 50
    argCount: 2
    argNames:
    - stroker
    - f
    argTypes:
    - struct stroker*
    - cairo_stroke_face_t*
    constantsTouched: []
    func_position:
      end: 553
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 553
    functionName: add_cap
    functionSourceFile: /src/cairo/src/cairo-path-stroke-traps.c
    functionUses: []
    functionsReached:
    - _cairo_traps_tessellate_convex_quad
    - _cairo_traps_tessellate_triangle_with_edges
    - translate_point
    - _cairo_fixed_from_double
    - cairo_matrix_transform_distance
    - _cairo_pen_find_active_cw_vertices
    linkageType: ''
    returnType: void
    signature: 'static void add_cap (struct stroker *stroker, cairo_stroke_face_t
      *f) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke-traps.c:626,1
    - Dst: normalize_slope
      Src: /src/cairo/src/cairo-path-stroke-traps.c:641,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke-traps.c:627,1
    - Dst: cairo_matrix_transform_distance
      Src: /src/cairo/src/cairo-path-stroke-traps.c:640,1
    - Dst: normalize_slope
      Src: /src/cairo/src/cairo-path-stroke-traps.c:628,1
    - Dst: cairo_matrix_transform_distance
      Src: /src/cairo/src/cairo-path-stroke-traps.c:652,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-stroke-traps.c:658,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-stroke-traps.c:659,1
    - Dst: translate_point
      Src: /src/cairo/src/cairo-path-stroke-traps.c:664,1
    - Dst: translate_point
      Src: /src/cairo/src/cairo-path-stroke-traps.c:669,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 47
    argCount: 4
    argNames:
    - point
    - dev_slope
    - stroker
    - face
    argTypes:
    - cairo_point_t*
    - cairo_slope_t*
    - struct stroker*
    - cairo_stroke_face_t*
    constantsTouched: []
    func_position:
      end: 675
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 675
    functionName: compute_face
    functionSourceFile: /src/cairo/src/cairo-path-stroke-traps.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_to_double
    - translate_point
    - normalize_slope
    - _cairo_fixed_from_double
    - cairo_matrix_transform_distance
    linkageType: ''
    returnType: void
    signature: "static void compute_face (const cairo_point_t *point,\t const cairo_slope_t\
      \ *dev_slope,\t struct stroker *stroker,\t cairo_stroke_face_t *face) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_spline_intersects
      Src: /src/cairo/src/cairo-path-stroke-traps.c:1067,1
    - Dst: _cairo_spline_decompose
      Src: /src/cairo/src/cairo-path-stroke-traps.c:1080,1
    - Dst: _cairo_spline_init
      Src: /src/cairo/src/cairo-path-stroke-traps.c:1071,1
    - Dst: func
      Src: /src/cairo/src/cairo-path-stroke-traps.c:1073,1
    - Dst: func
      Src: /src/cairo/src/cairo-path-stroke-traps.c:1069,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 4
    argNames:
    - closure
    - b
    - c
    - d
    argTypes:
    - void*
    - cairo_point_t*
    - cairo_point_t*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 1085
      start: 1052
    functionDepth: 0
    functionLinenumber: 1052
    functionLinenumberEnd: 1085
    functionName: curve_to_dashed
    functionSourceFile: /src/cairo/src/cairo-path-stroke-traps.c
    functionUses: []
    functionsReached:
    - _cairo_spline_decompose
    - func
    - _cairo_spline_intersects
    - _cairo_spline_init
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t curve_to_dashed (void *closure,\t\t const cairo_point_t\
      \ *b,\t\t const cairo_point_t *c,\t\t const cairo_point_t *d) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: line_to
      Src: /src/cairo/src/cairo-path-stroke-traps.c:1110,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke-traps.c:1111,1
    - Dst: _close_path
      Src: /src/cairo/src/cairo-path-stroke-traps.c:1114,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - closure
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1115
      start: 1104
    functionDepth: 0
    functionLinenumber: 1104
    functionLinenumberEnd: 1115
    functionName: close_path
    functionSourceFile: /src/cairo/src/cairo-path-stroke-traps.c
    functionUses: []
    functionsReached:
    - _close_path
    - line_to
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t close_path (void *closure) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_cap
      Src: /src/cairo/src/cairo-path-stroke-traps.c:573,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - stroker
    - face
    argTypes:
    - struct stroker*
    - cairo_stroke_face_t*
    constantsTouched: []
    func_position:
      end: 574
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 574
    functionName: add_leading_cap
    functionSourceFile: /src/cairo/src/cairo-path-stroke-traps.c
    functionUses: []
    functionsReached:
    - add_cap
    linkageType: ''
    returnType: void
    signature: "static void add_leading_cap (struct stroker *stroker,\t\t cairo_stroke_face_t\
      \ *face) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: compute_face
      Src: /src/cairo/src/cairo-path-stroke-traps.c:692,1
    - Dst: add_leading_cap
      Src: /src/cairo/src/cairo-path-stroke-traps.c:699,1
    - Dst: add_trailing_cap
      Src: /src/cairo/src/cairo-path-stroke-traps.c:695,1
    - Dst: add_leading_cap
      Src: /src/cairo/src/cairo-path-stroke-traps.c:694,1
    - Dst: add_trailing_cap
      Src: /src/cairo/src/cairo-path-stroke-traps.c:702,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 1
    argNames:
    - stroker
    argTypes:
    - struct stroker*
    constantsTouched: []
    func_position:
      end: 703
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 703
    functionName: add_caps
    functionSourceFile: /src/cairo/src/cairo-path-stroke-traps.c
    functionUses: []
    functionsReached:
    - add_trailing_cap
    - compute_face
    - add_leading_cap
    linkageType: ''
    returnType: void
    signature: 'static void add_caps (struct stroker *stroker) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: join
      Src: /src/cairo/src/cairo-path-stroke-traps.c:1092,1
    - Dst: add_caps
      Src: /src/cairo/src/cairo-path-stroke-traps.c:1095,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - stroker
    argTypes:
    - struct stroker*
    constantsTouched: []
    func_position:
      end: 1102
      start: 1087
    functionDepth: 0
    functionLinenumber: 1087
    functionLinenumberEnd: 1102
    functionName: _close_path
    functionSourceFile: /src/cairo/src/cairo-path-stroke-traps.c
    functionUses: []
    functionsReached:
    - add_caps
    - join
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _close_path (struct stroker *stroker) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: line_to_dashed
      Src: /src/cairo/src/cairo-path-stroke-traps.c:1123,1
    - Dst: _close_path
      Src: /src/cairo/src/cairo-path-stroke-traps.c:1127,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke-traps.c:1124,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - closure
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1128
      start: 1117
    functionDepth: 0
    functionLinenumber: 1117
    functionLinenumberEnd: 1128
    functionName: close_path_dashed
    functionSourceFile: /src/cairo/src/cairo-path-stroke-traps.c
    functionUses: []
    functionsReached:
    - _close_path
    - line_to_dashed
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t close_path_dashed (void *closure) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_slope_compare
      Src: /src/cairo/src/cairo-path-stroke-traps.c:202,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - cairo_stroke_face_t*
    - cairo_stroke_face_t*
    constantsTouched: []
    func_position:
      end: 203
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 203
    functionName: join_is_clockwise
    functionSourceFile: /src/cairo/src/cairo-path-stroke-traps.c
    functionUses: []
    functionsReached:
    - _cairo_slope_compare
    linkageType: ''
    returnType: int
    signature: "static int join_is_clockwise (const cairo_stroke_face_t *in,\t\t const\
      \ cairo_stroke_face_t *out) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_box_contains_point
      Src: /src/cairo/src/cairo-path-stroke-traps.c:715,1
    - Dst: _cairo_box_contains_point
      Src: /src/cairo/src/cairo-path-stroke-traps.c:719,1
    - Dst: _cairo_box_add_point
      Src: /src/cairo/src/cairo-path-stroke-traps.c:725,1
    - Dst: _cairo_box_contains_point
      Src: /src/cairo/src/cairo-path-stroke-traps.c:723,1
    - Dst: _cairo_box_add_point
      Src: /src/cairo/src/cairo-path-stroke-traps.c:721,1
    - Dst: _cairo_box_contains_point
      Src: /src/cairo/src/cairo-path-stroke-traps.c:727,1
    - Dst: _cairo_box_add_point
      Src: /src/cairo/src/cairo-path-stroke-traps.c:729,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 3
    argNames:
    - stroker
    - start
    - end
    argTypes:
    - struct stroker*
    - cairo_stroke_face_t*
    - cairo_stroke_face_t*
    constantsTouched: []
    func_position:
      end: 735
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 735
    functionName: stroker_intersects_edge
    functionSourceFile: /src/cairo/src/cairo-path-stroke-traps.c
    functionUses: []
    functionsReached:
    - _cairo_box_add_point
    - _cairo_box_contains_point
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t stroker_intersects_edge (const struct stroker\
      \ *stroker,\t\t\t const cairo_stroke_face_t *start,\t\t\t const cairo_stroke_face_t\
      \ *end) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_caps
      Src: /src/cairo/src/cairo-path-stroke-traps.c:774,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - closure
    - point
    argTypes:
    - void*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 784
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 784
    functionName: move_to
    functionSourceFile: /src/cairo/src/cairo-path-stroke-traps.c
    functionUses: []
    functionsReached:
    - add_caps
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t move_to (void *closure, const cairo_point_t
      *point) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: join
      Src: /src/cairo/src/cairo-path-stroke-traps.c:976,1
    - Dst: translate_point
      Src: /src/cairo/src/cairo-path-stroke-traps.c:989,1
    - Dst: compute_face
      Src: /src/cairo/src/cairo-path-stroke-traps.c:980,1
    - Dst: join
      Src: /src/cairo/src/cairo-path-stroke-traps.c:981,1
    - Dst: translate_point
      Src: /src/cairo/src/cairo-path-stroke-traps.c:990,1
    - Dst: _cairo_traps_tessellate_convex_quad
      Src: /src/cairo/src/cairo-path-stroke-traps.c:995,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 3
    argNames:
    - closure
    - point
    - tangent
    argTypes:
    - void*
    - cairo_point_t*
    - cairo_slope_t*
    constantsTouched: []
    func_position:
      end: 1001
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 1001
    functionName: spline_to
    functionSourceFile: /src/cairo/src/cairo-path-stroke-traps.c
    functionUses: []
    functionsReached:
    - translate_point
    - _cairo_traps_tessellate_convex_quad
    - compute_face
    - join
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t spline_to (void *closure,\t const cairo_point_t\
      \ *point,\t const cairo_slope_t *tangent) "
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - dx1
    - dy1
    - dx2
    - dy2
    argTypes:
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 212
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 212
    functionName: slope_compare_sgn
    functionSourceFile: /src/cairo/src/cairo-path-stroke-traps.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int slope_compare_sgn (double dx1, double dy1, double dx2,
      double dy2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: compute_face
      Src: /src/cairo/src/cairo-path-stroke-traps.c:745,1
    - Dst: _cairo_traps_tessellate_convex_quad
      Src: /src/cairo/src/cairo-path-stroke-traps.c:765,1
    - Dst: stroker_intersects_edge
      Src: /src/cairo/src/cairo-path-stroke-traps.c:757,1
    - Dst: translate_point
      Src: /src/cairo/src/cairo-path-stroke-traps.c:752,1
    - Dst: translate_point
      Src: /src/cairo/src/cairo-path-stroke-traps.c:751,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 6
    argNames:
    - stroker
    - p1
    - p2
    - dev_slope
    - start
    - end
    argTypes:
    - struct stroker*
    - cairo_point_t*
    - cairo_point_t*
    - cairo_slope_t*
    - cairo_stroke_face_t*
    - cairo_stroke_face_t*
    constantsTouched: []
    func_position:
      end: 766
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 766
    functionName: add_sub_edge
    functionSourceFile: /src/cairo/src/cairo-path-stroke-traps.c
    functionUses: []
    functionsReached:
    - translate_point
    - _cairo_traps_tessellate_convex_quad
    - compute_face
    - stroker_intersects_edge
    linkageType: ''
    returnType: void
    signature: "static void add_sub_edge (struct stroker *stroker,\t const cairo_point_t\
      \ *p1, const cairo_point_t *p2,\t const cairo_slope_t *dev_slope,\t cairo_stroke_face_t\
      \ *start, cairo_stroke_face_t *end) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_stroker_dash_start
      Src: /src/cairo/src/cairo-path-stroke-traps.c:792,1
    - Dst: move_to
      Src: /src/cairo/src/cairo-path-stroke-traps.c:793,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - closure
    - point
    argTypes:
    - void*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 794
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 794
    functionName: move_to_dashed
    functionSourceFile: /src/cairo/src/cairo-path-stroke-traps.c
    functionUses: []
    functionsReached:
    - _cairo_stroker_dash_start
    - move_to
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t move_to_dashed (void *closure, const cairo_point_t
      *point) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_spline_intersects
      Src: /src/cairo/src/cairo-path-stroke-traps.c:1016,1
    - Dst: line_to
      Src: /src/cairo/src/cairo-path-stroke-traps.c:1018,1
    - Dst: line_to
      Src: /src/cairo/src/cairo-path-stroke-traps.c:1022,1
    - Dst: _cairo_spline_init
      Src: /src/cairo/src/cairo-path-stroke-traps.c:1020,1
    - Dst: compute_face
      Src: /src/cairo/src/cairo-path-stroke-traps.c:1024,1
    - Dst: join
      Src: /src/cairo/src/cairo-path-stroke-traps.c:1029,1
    - Dst: _cairo_spline_decompose
      Src: /src/cairo/src/cairo-path-stroke-traps.c:1045,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 4
    argNames:
    - closure
    - b
    - c
    - d
    argTypes:
    - void*
    - cairo_point_t*
    - cairo_point_t*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 1050
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1050
    functionName: curve_to
    functionSourceFile: /src/cairo/src/cairo-path-stroke-traps.c
    functionUses: []
    functionsReached:
    - _cairo_spline_intersects
    - _cairo_spline_decompose
    - _cairo_spline_init
    - line_to
    - join
    - compute_face
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t curve_to (void *closure,\t const cairo_point_t\
      \ *b,\t const cairo_point_t *c,\t const cairo_point_t *d) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stroker_init
      Src: /src/cairo/src/cairo-path-stroke-traps.c:1141,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke-traps.c:1144,1
    - Dst: assert
      Src: /src/cairo/src/cairo-path-stroke-traps.c:1161,1
    - Dst: _cairo_path_fixed_interpret
      Src: /src/cairo/src/cairo-path-stroke-traps.c:1155,1
    - Dst: _cairo_path_fixed_interpret
      Src: /src/cairo/src/cairo-path-stroke-traps.c:1148,1
    - Dst: add_caps
      Src: /src/cairo/src/cairo-path-stroke-traps.c:1162,1
    - Dst: stroker_fini
      Src: /src/cairo/src/cairo-path-stroke-traps.c:1164,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 6
    argNames:
    - path
    - style
    - ctm
    - ctm_inverse
    - tolerance
    - traps
    argTypes:
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_traps_t*
    constantsTouched: []
    func_position:
      end: 1167
      start: 1130
    functionDepth: 0
    functionLinenumber: 1130
    functionLinenumberEnd: 1167
    functionName: _cairo_path_fixed_stroke_to_traps
    functionSourceFile: /src/cairo/src/cairo-path-stroke-traps.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_interpret
    - add_caps
    - stroker_fini
    - assert
    - stroker_init
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_path_fixed_stroke_to_traps (const cairo_path_fixed_t\t\
      *path,\t\t\t\t const cairo_stroke_style_t\t*style,\t\t\t\t const cairo_matrix_t\t\
      \t*ctm,\t\t\t\t const cairo_matrix_t\t\t*ctm_inverse,\t\t\t\t double\t\t\t tolerance,\t\
      \t\t\t cairo_traps_t\t\t*traps) "
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_slope_init
      Src: /src/cairo/src/cairo-path-stroke-traps.c:857,1
    - Dst: add_leading_cap
      Src: /src/cairo/src/cairo-path-stroke-traps.c:900,1
    - Dst: _cairo_stroker_dash_step
      Src: /src/cairo/src/cairo-path-stroke-traps.c:919,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-stroke-traps.c:877,1
    - Dst: _cairo_box_intersects_line_segment
      Src: /src/cairo/src/cairo-path-stroke-traps.c:882,1
    - Dst: _cairo_box_contains_point
      Src: /src/cairo/src/cairo-path-stroke-traps.c:852,1
    - Dst: normalize_slope
      Src: /src/cairo/src/cairo-path-stroke-traps.c:864,1
    - Dst: add_sub_edge
      Src: /src/cairo/src/cairo-path-stroke-traps.c:884,1
    - Dst: add_trailing_cap
      Src: /src/cairo/src/cairo-path-stroke-traps.c:913,1
    - Dst: add_leading_cap
      Src: /src/cairo/src/cairo-path-stroke-traps.c:935,1
    - Dst: _cairo_box_contains_point
      Src: /src/cairo/src/cairo-path-stroke-traps.c:851,1
    - Dst: MIN
      Src: /src/cairo/src/cairo-path-stroke-traps.c:871,1
    - Dst: cairo_matrix_transform_distance
      Src: /src/cairo/src/cairo-path-stroke-traps.c:875,1
    - Dst: compute_face
      Src: /src/cairo/src/cairo-path-stroke-traps.c:933,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke-traps.c:860,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke-traps.c:859,1
    - Dst: cairo_matrix_transform_distance
      Src: /src/cairo/src/cairo-path-stroke-traps.c:863,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-stroke-traps.c:876,1
    - Dst: join
      Src: /src/cairo/src/cairo-path-stroke-traps.c:891,1
    - Dst: add_trailing_cap
      Src: /src/cairo/src/cairo-path-stroke-traps.c:905,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 80
    argCount: 2
    argNames:
    - closure
    - point
    argTypes:
    - void*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 942
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 942
    functionName: line_to_dashed
    functionSourceFile: /src/cairo/src/cairo-path-stroke-traps.c
    functionUses: []
    functionsReached:
    - _cairo_box_intersects_line_segment
    - add_sub_edge
    - _cairo_stroker_dash_step
    - _cairo_fixed_to_double
    - add_leading_cap
    - add_trailing_cap
    - MIN
    - _cairo_box_contains_point
    - normalize_slope
    - _cairo_fixed_from_double
    - _cairo_slope_init
    - join
    - cairo_matrix_transform_distance
    - compute_face
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t line_to_dashed (void *closure, const cairo_point_t
      *point) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_slope_init
      Src: /src/cairo/src/cairo-path-stroke-traps.c:810,1
    - Dst: add_sub_edge
      Src: /src/cairo/src/cairo-path-stroke-traps.c:811,1
    - Dst: join
      Src: /src/cairo/src/cairo-path-stroke-traps.c:815,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 2
    argNames:
    - closure
    - point
    argTypes:
    - void*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 825
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 825
    functionName: line_to
    functionSourceFile: /src/cairo/src/cairo-path-stroke-traps.c
    functionUses: []
    functionsReached:
    - add_sub_edge
    - join
    - _cairo_slope_init
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t line_to (void *closure, const cairo_point_t
      *point) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - device
    argTypes:
    - cairo_device_t*
    constantsTouched: []
    func_position:
      end: 239
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 239
    functionName: cairo_device_status
    functionSourceFile: /src/cairo/src/cairo-device.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t cairo_device_status (cairo_device_t *device) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_REFERENCE_COUNT_INIT
      Src: /src/cairo/src/cairo-device.c:177,1
    - Dst: CAIRO_RECURSIVE_MUTEX_INIT
      Src: /src/cairo/src/cairo-device.c:182,1
    - Dst: _cairo_user_data_array_init
      Src: /src/cairo/src/cairo-device.c:187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - device
    - backend
    argTypes:
    - cairo_device_t*
    - cairo_device_backend_t*
    constantsTouched: []
    func_position:
      end: 188
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 188
    functionName: _cairo_device_init
    functionSourceFile: /src/cairo/src/cairo-device.c
    functionUses: []
    functionsReached:
    - CAIRO_RECURSIVE_MUTEX_INIT
    - CAIRO_REFERENCE_COUNT_INIT
    - _cairo_user_data_array_init
    linkageType: ''
    returnType: void
    signature: "void _cairo_device_init (cairo_device_t *device,\t\t const cairo_device_backend_t\
      \ *backend) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_REFERENCE_COUNT_IS_INVALID
      Src: /src/cairo/src/cairo-device.c:335,1
    - Dst: _cairo_reference_count_dec_and_test
      Src: /src/cairo/src/cairo-device.c:341,1
    - Dst: assert
      Src: /src/cairo/src/cairo-device.c:340,1
    - Dst: cairo_device_finish
      Src: /src/cairo/src/cairo-device.c:344,1
    - Dst: CAIRO_REFERENCE_COUNT_HAS_REFERENCE
      Src: /src/cairo/src/cairo-device.c:340,1
    - Dst: assert
      Src: /src/cairo/src/cairo-device.c:346,1
    - Dst: CAIRO_MUTEX_FINI
      Src: /src/cairo/src/cairo-device.c:347,1
    - Dst: _cairo_user_data_array_fini
      Src: /src/cairo/src/cairo-device.c:353,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - device
    argTypes:
    - cairo_device_t*
    constantsTouched: []
    func_position:
      end: 355
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 355
    functionName: cairo_device_destroy
    functionSourceFile: /src/cairo/src/cairo-device.c
    functionUses: []
    functionsReached:
    - CAIRO_REFERENCE_COUNT_IS_INVALID
    - CAIRO_MUTEX_FINI
    - assert
    - _cairo_reference_count_dec_and_test
    - cairo_device_finish
    - _cairo_user_data_array_fini
    - CAIRO_REFERENCE_COUNT_HAS_REFERENCE
    linkageType: ''
    returnType: void
    signature: 'void cairo_device_destroy (cairo_device_t *device) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-device.c:416,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-device.c:419,1
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-device.c:422,1
    - Dst: _cairo_device_set_error
      Src: /src/cairo/src/cairo-device.c:420,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - device
    argTypes:
    - cairo_device_t*
    constantsTouched: []
    func_position:
      end: 429
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 429
    functionName: cairo_device_acquire
    functionSourceFile: /src/cairo/src/cairo-device.c
    functionUses: []
    functionsReached:
    - CAIRO_MUTEX_LOCK
    - _cairo_device_set_error
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t cairo_device_acquire (cairo_device_t *device) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-device.c:446,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-device.c:453,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - device
    argTypes:
    - cairo_device_t*
    constantsTouched: []
    func_position:
      end: 454
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 454
    functionName: cairo_device_release
    functionSourceFile: /src/cairo/src/cairo-device.c
    functionUses: []
    functionsReached:
    - CAIRO_MUTEX_UNLOCK
    - assert
    linkageType: ''
    returnType: void
    signature: 'void cairo_device_release (cairo_device_t *device) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_REFERENCE_COUNT_IS_INVALID
      Src: /src/cairo/src/cairo-device.c:483,1
    - Dst: CAIRO_REFERENCE_COUNT_GET_VALUE
      Src: /src/cairo/src/cairo-device.c:486,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - device
    argTypes:
    - cairo_device_t*
    constantsTouched: []
    func_position:
      end: 487
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 487
    functionName: cairo_device_get_reference_count
    functionSourceFile: /src/cairo/src/cairo-device.c
    functionUses: []
    functionsReached:
    - CAIRO_REFERENCE_COUNT_IS_INVALID
    - CAIRO_REFERENCE_COUNT_GET_VALUE
    linkageType: ''
    returnType: unsigned int
    signature: 'unsigned int cairo_device_get_reference_count (cairo_device_t *device) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_REFERENCE_COUNT_IS_INVALID
      Src: /src/cairo/src/cairo-device.c:535,1
    - Dst: _cairo_user_data_array_set_data
      Src: /src/cairo/src/cairo-device.c:538,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - device
    - key
    - user_data
    - destroy
    argTypes:
    - cairo_device_t*
    - cairo_user_data_key_t*
    - void*
    - cairo_destroy_func_t
    constantsTouched: []
    func_position:
      end: 540
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 540
    functionName: cairo_device_set_user_data
    functionSourceFile: /src/cairo/src/cairo-device.c
    functionUses: []
    functionsReached:
    - _cairo_user_data_array_set_data
    - CAIRO_REFERENCE_COUNT_IS_INVALID
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t cairo_device_set_user_data (cairo_device_t\t\t *device,\t\
      \t\t const cairo_user_data_key_t *key,\t\t\t void\t\t\t *user_data,\t\t\t cairo_destroy_func_t\t\
      \ destroy) "
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-device.c:168,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 171
    functionName: _cairo_device_create_in_error
    functionSourceFile: /src/cairo/src/cairo-device.c
    functionUses: []
    functionsReached:
    - _cairo_error_throw
    linkageType: ''
    returnType: cairo_device_t*
    signature: 'cairo_device_t *_cairo_device_create_in_error (cairo_status_t status) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_status_set_error
      Src: /src/cairo/src/cairo-device.c:463,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-device.c:465,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - device
    - status
    argTypes:
    - cairo_device_t*
    - cairo_status_t
    constantsTouched: []
    func_position:
      end: 466
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 466
    functionName: _cairo_device_set_error
    functionSourceFile: /src/cairo/src/cairo-device.c
    functionUses: []
    functionsReached:
    - _cairo_status_set_error
    - _cairo_error
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_device_set_error (cairo_device_t *device,\t\t\
      \t cairo_status_t status) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_REFERENCE_COUNT_IS_INVALID
      Src: /src/cairo/src/cairo-device.c:209,1
    - Dst: CAIRO_REFERENCE_COUNT_HAS_REFERENCE
      Src: /src/cairo/src/cairo-device.c:214,1
    - Dst: _cairo_reference_count_inc
      Src: /src/cairo/src/cairo-device.c:215,1
    - Dst: assert
      Src: /src/cairo/src/cairo-device.c:214,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 218
    functionName: cairo_device_reference
    functionSourceFile: /src/cairo/src/cairo-device.c
    functionUses: []
    functionsReached:
    - _cairo_reference_count_inc
    - CAIRO_REFERENCE_COUNT_HAS_REFERENCE
    - CAIRO_REFERENCE_COUNT_IS_INVALID
    - assert
    linkageType: ''
    returnType: cairo_device_t*
    signature: 'cairo_device_t *cairo_device_reference (cairo_device_t *device) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_device_set_error
      Src: /src/cairo/src/cairo-device.c:270,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-device.c:269,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - device
    argTypes:
    - cairo_device_t*
    constantsTouched: []
    func_position:
      end: 272
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 272
    functionName: cairo_device_flush
    functionSourceFile: /src/cairo/src/cairo-device.c
    functionUses: []
    functionsReached:
    - _cairo_device_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_device_flush (cairo_device_t *device) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_REFERENCE_COUNT_IS_INVALID
      Src: /src/cairo/src/cairo-device.c:297,1
    - Dst: cairo_device_flush
      Src: /src/cairo/src/cairo-device.c:305,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - device
    argTypes:
    - cairo_device_t*
    constantsTouched: []
    func_position:
      end: 315
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 315
    functionName: cairo_device_finish
    functionSourceFile: /src/cairo/src/cairo-device.c
    functionUses: []
    functionsReached:
    - cairo_device_flush
    - CAIRO_REFERENCE_COUNT_IS_INVALID
    linkageType: ''
    returnType: void
    signature: 'void cairo_device_finish (cairo_device_t *device) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_REFERENCE_COUNT_IS_INVALID
      Src: /src/cairo/src/cairo-device.c:372,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - device
    argTypes:
    - cairo_device_t*
    constantsTouched: []
    func_position:
      end: 378
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 378
    functionName: cairo_device_get_type
    functionSourceFile: /src/cairo/src/cairo-device.c
    functionUses: []
    functionsReached:
    - CAIRO_REFERENCE_COUNT_IS_INVALID
    linkageType: ''
    returnType: cairo_device_type_t
    signature: 'cairo_device_type_t cairo_device_get_type (cairo_device_t *device) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_user_data_array_get_data
      Src: /src/cairo/src/cairo-device.c:507,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 509
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 509
    functionName: cairo_device_get_user_data
    functionSourceFile: /src/cairo/src/cairo-device.c
    functionUses: []
    functionsReached:
    - _cairo_user_data_array_get_data
    linkageType: ''
    returnType: void*
    signature: "void *cairo_device_get_user_data (cairo_device_t\t\t *device,\t\t\t\
      \ const cairo_user_data_key_t *key) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 468
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 468
    functionName: _cairo_xcb_surface_source
    functionSourceFile: /src/cairo/src/cairo-xcb-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_xcb_surface_source (void *abstract_surface,\t\
      \t\t cairo_rectangle_int_t *extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xcb_screen_get_font_options
      Src: /src/cairo/src/cairo-xcb-surface.c:528,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - abstract_surface
    - options
    argTypes:
    - void*
    - cairo_font_options_t*
    constantsTouched: []
    func_position:
      end: 529
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 529
    functionName: _cairo_xcb_surface_get_font_options
    functionSourceFile: /src/cairo/src/cairo-xcb-surface.c
    functionUses: []
    functionsReached:
    - _cairo_xcb_screen_get_font_options
    linkageType: ''
    returnType: void
    signature: "static void _cairo_xcb_surface_get_font_options (void *abstract_surface,\t\
      \t\t\t cairo_font_options_t *options) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_composite_rectangles_add_to_damage
      Src: /src/cairo/src/cairo-xcb-surface.c:818,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xcb-surface.c:821,1
    - Dst: _get_image
      Src: /src/cairo/src/cairo-xcb-surface.c:827,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface.c:820,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 838
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 838
    functionName: _cairo_xcb_surface_fallback
    functionSourceFile: /src/cairo/src/cairo-xcb-surface.c
    functionUses: []
    functionsReached:
    - _get_image
    - _cairo_composite_rectangles_add_to_damage
    - _cairo_surface_create_in_error
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_xcb_surface_fallback (cairo_xcb_surface_t\
      \ *surface,\t\t\t cairo_composite_rectangles_t *composite) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 950
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 950
    functionName: get_compositor
    functionSourceFile: /src/cairo/src/cairo-xcb-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_compositor_t*
    signature: 'static inline const cairo_compositor_t *get_compositor (cairo_surface_t
      **s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_compositor
      Src: /src/cairo/src/cairo-xcb-surface.c:971,1
    - Dst: _cairo_compositor_mask
      Src: /src/cairo/src/cairo-xcb-surface.c:972,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 5
    argNames:
    - abstract_surface
    - op
    - source
    - mask
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 973
      start: 963
    functionDepth: 0
    functionLinenumber: 963
    functionLinenumberEnd: 973
    functionName: _cairo_xcb_surface_mask
    functionSourceFile: /src/cairo/src/cairo-xcb-surface.c
    functionUses: []
    functionsReached:
    - _cairo_compositor_mask
    - get_compositor
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_xcb_surface_mask (void\t\t\t*abstract_surface,\t\
      \t\t cairo_operator_t\t op,\t\t\t const cairo_pattern_t\t*source,\t\t\t const\
      \ cairo_pattern_t\t*mask,\t\t\t const cairo_clip_t\t*clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_compositor
      Src: /src/cairo/src/cairo-xcb-surface.c:1005,1
    - Dst: _cairo_compositor_fill
      Src: /src/cairo/src/cairo-xcb-surface.c:1006,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 8
    argNames:
    - abstract_surface
    - op
    - source
    - path
    - fill_rule
    - tolerance
    - antialias
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 1009
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 1009
    functionName: _cairo_xcb_surface_fill
    functionSourceFile: /src/cairo/src/cairo-xcb-surface.c
    functionUses: []
    functionsReached:
    - get_compositor
    - _cairo_compositor_fill
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_xcb_surface_fill (void\t\t\t*abstract_surface,\t\
      \t\t cairo_operator_t\t op,\t\t\t const cairo_pattern_t\t*source,\t\t\t const\
      \ cairo_path_fixed_t*path,\t\t\t cairo_fill_rule_t\t fill_rule,\t\t\t double\t\
      \t\t tolerance,\t\t\t cairo_antialias_t\t antialias,\t\t\t const cairo_clip_t\t\
      *clip) "
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xcb-surface.c:1189,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xcb-surface.c:1192,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xcb-surface.c:1194,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xcb-surface.c:1221,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xcb-surface.c:1198,1
    - Dst: _cairo_xcb_screen_get
      Src: /src/cairo/src/cairo-xcb-surface.c:1219,1
    - Dst: _cairo_xcb_surface_create_internal
      Src: /src/cairo/src/cairo-xcb-surface.c:1227,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface.c:1193,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface.c:1197,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xcb-surface.c:1217,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xcb-surface.c:1192,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xcb-surface.c:1189,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xcb-surface.c:1194,1
    - Dst: _cairo_xcb_screen_from_visual
      Src: /src/cairo/src/cairo-xcb-surface.c:1196,1
    - Dst: _pixman_format_from_masks
      Src: /src/cairo/src/cairo-xcb-surface.c:1216,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xcb-surface.c:1198,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xcb-surface.c:1221,1
    - Dst: xcb_connection_has_error
      Src: /src/cairo/src/cairo-xcb-surface.c:1188,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface.c:1191,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface.c:1220,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xcb-surface.c:1217,1
    - Dst: _cairo_xcb_connection_get_xrender_format_for_visual
      Src: /src/cairo/src/cairo-xcb-surface.c:1224,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1231
      start: 1174
    functionDepth: 0
    functionLinenumber: 1174
    functionLinenumberEnd: 1231
    functionName: cairo_xcb_surface_create
    functionSourceFile: /src/cairo/src/cairo-xcb-surface.c
    functionUses: []
    functionsReached:
    - _cairo_xcb_screen_from_visual
    - _cairo_xcb_screen_get
    - _cairo_error
    - _cairo_xcb_surface_create_internal
    - _pixman_format_from_masks
    - _cairo_xcb_connection_get_xrender_format_for_visual
    - _cairo_surface_create_in_error
    - xcb_connection_has_error
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *cairo_xcb_surface_create (xcb_connection_t *connection,\t\
      \t\t xcb_drawable_t drawable,\t\t\t xcb_visualtype_t *visual,\t\t\t int\t\t\
      \ width,\t\t\t int\t\t height) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: xcb_connection_has_error
      Src: /src/cairo/src/cairo-xcb-surface.c:1326,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xcb-surface.c:1327,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xcb-surface.c:1330,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xcb-surface.c:1330,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xcb-surface.c:1327,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface.c:1331,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xcb-surface.c:1332,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xcb-surface.c:1332,1
    - Dst: _pixman_format_from_masks
      Src: /src/cairo/src/cairo-xcb-surface.c:1355,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xcb-surface.c:1356,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xcb-surface.c:1360,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xcb-surface.c:1360,1
    - Dst: _cairo_xcb_surface_create_internal
      Src: /src/cairo/src/cairo-xcb-surface.c:1362,1
    - Dst: _cairo_xcb_screen_get
      Src: /src/cairo/src/cairo-xcb-surface.c:1358,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xcb-surface.c:1356,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface.c:1359,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1314
    functionDepth: 0
    functionLinenumber: 1314
    functionLinenumberEnd: 1368
    functionName: cairo_xcb_surface_create_with_xrender_format
    functionSourceFile: /src/cairo/src/cairo-xcb-surface.c
    functionUses: []
    functionsReached:
    - _cairo_xcb_screen_get
    - _cairo_error
    - _cairo_xcb_surface_create_internal
    - _pixman_format_from_masks
    - _cairo_surface_create_in_error
    - xcb_connection_has_error
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *cairo_xcb_surface_create_with_xrender_format (xcb_connection_t\t\
      \ *connection,\t\t\t\t\t xcb_screen_t\t *screen,\t\t\t\t\t xcb_drawable_t\t\
      \ drawable,\t\t\t\t\t xcb_render_pictforminfo_t *format,\t\t\t\t\t int\t\t width,\t\
      \t\t\t\t int\t\t height) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-xcb-surface.c:479,1
    - Dst: _cairo_surface_has_snapshot
      Src: /src/cairo/src/cairo-xcb-surface.c:483,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface.c:491,1
    - Dst: _get_image
      Src: /src/cairo/src/cairo-xcb-surface.c:490,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-xcb-surface.c:486,1
    - Dst: _cairo_surface_attach_snapshot
      Src: /src/cairo/src/cairo-xcb-surface.c:494,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 3
    argNames:
    - abstract_surface
    - image_out
    - image_extra
    argTypes:
    - void*
    - cairo_image_surface_t**
    - void**
    constantsTouched: []
    func_position:
      end: 500
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 500
    functionName: _cairo_xcb_surface_acquire_source_image
    functionSourceFile: /src/cairo/src/cairo-xcb-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_attach_snapshot
    - _get_image
    - cairo_surface_reference
    - _cairo_surface_has_snapshot
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_xcb_surface_acquire_source_image (void\
      \ *abstract_surface,\t\t\t\t\t cairo_image_surface_t **image_out,\t\t\t\t\t\
      \ void **image_extra) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_user_data_array_get_data
      Src: /src/cairo/src/cairo-xcb-surface.c:539,1
    - Dst: _cairo_xcb_connection_shm_put_image
      Src: /src/cairo/src/cairo-xcb-surface.c:544,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - surface
    - gc
    - image
    argTypes:
    - cairo_xcb_surface_t*
    - xcb_gcontext_t
    - cairo_image_surface_t*
    constantsTouched: []
    func_position:
      end: 560
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 560
    functionName: _put_shm_image
    functionSourceFile: /src/cairo/src/cairo-xcb-surface.c
    functionUses: []
    functionsReached:
    - _cairo_xcb_connection_shm_put_image
    - _cairo_user_data_array_get_data
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _put_shm_image (cairo_xcb_surface_t *surface,\t\
      \txcb_gcontext_t\t\tgc,\t\tcairo_image_surface_t *image) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xcb_surface_fallback
      Src: /src/cairo/src/cairo-xcb-surface.c:845,1
    - Dst: _cairo_surface_paint
      Src: /src/cairo/src/cairo-xcb-surface.c:847,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - compositor
    - extents
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 850
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 850
    functionName: _cairo_xcb_fallback_compositor_paint
    functionSourceFile: /src/cairo/src/cairo-xcb-surface.c
    functionUses: []
    functionsReached:
    - _cairo_xcb_surface_fallback
    - _cairo_surface_paint
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_xcb_fallback_compositor_paint (const\
      \ cairo_compositor_t *compositor,\t\t\t\t cairo_composite_rectangles_t *extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_compositor
      Src: /src/cairo/src/cairo-xcb-surface.c:959,1
    - Dst: _cairo_compositor_paint
      Src: /src/cairo/src/cairo-xcb-surface.c:960,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - abstract_surface
    - op
    - source
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 961
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 961
    functionName: _cairo_xcb_surface_paint
    functionSourceFile: /src/cairo/src/cairo-xcb-surface.c
    functionUses: []
    functionsReached:
    - get_compositor
    - _cairo_compositor_paint
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_xcb_surface_paint (void\t\t\t*abstract_surface,\t\
      \t\t cairo_operator_t\t op,\t\t\t const cairo_pattern_t\t*source,\t\t\t const\
      \ cairo_clip_t\t*clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_compositor
      Src: /src/cairo/src/cairo-xcb-surface.c:988,1
    - Dst: _cairo_compositor_stroke
      Src: /src/cairo/src/cairo-xcb-surface.c:989,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 3
    argCount: 10
    argNames:
    - abstract_surface
    - op
    - source
    - path
    - style
    - ctm
    - ctm_inverse
    - tolerance
    - antialias
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 992
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 992
    functionName: _cairo_xcb_surface_stroke
    functionSourceFile: /src/cairo/src/cairo-xcb-surface.c
    functionUses: []
    functionsReached:
    - get_compositor
    - _cairo_compositor_stroke
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_xcb_surface_stroke (void\t\t\t\t\
      *abstract_surface,\t\t\t cairo_operator_t\t\t op,\t\t\t const cairo_pattern_t\t\
      *source,\t\t\t const cairo_path_fixed_t\t*path,\t\t\t const cairo_stroke_style_t\t\
      *style,\t\t\t const cairo_matrix_t\t\t*ctm,\t\t\t const cairo_matrix_t\t\t*ctm_inverse,\t\
      \t\t double\t\t\t tolerance,\t\t\t cairo_antialias_t\t\t antialias,\t\t\t const\
      \ cairo_clip_t\t\t*clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_compositor
      Src: /src/cairo/src/cairo-xcb-surface.c:1021,1
    - Dst: _cairo_compositor_glyphs
      Src: /src/cairo/src/cairo-xcb-surface.c:1022,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 7
    argNames:
    - abstract_surface
    - op
    - source
    - glyphs
    - num_glyphs
    - scaled_font
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_glyph_t*
    - int
    - cairo_scaled_font_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 1025
      start: 1011
    functionDepth: 0
    functionLinenumber: 1011
    functionLinenumberEnd: 1025
    functionName: _cairo_xcb_surface_glyphs
    functionSourceFile: /src/cairo/src/cairo-xcb-surface.c
    functionUses: []
    functionsReached:
    - get_compositor
    - _cairo_compositor_glyphs
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_xcb_surface_glyphs (void\t\t\t\t\
      *abstract_surface,\t\t\t cairo_operator_t\t\t op,\t\t\t const cairo_pattern_t\t\
      *source,\t\t\t cairo_glyph_t\t\t*glyphs,\t\t\t int\t\t\t\t num_glyphs,\t\t\t\
      \ cairo_scaled_font_t\t\t*scaled_font,\t\t\t const cairo_clip_t\t\t*clip) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xcb_setup_roots_iterator
      Src: /src/cairo/src/cairo-xcb-surface.c:1118,1
    - Dst: xcb_screen_allowed_depths_iterator
      Src: /src/cairo/src/cairo-xcb-surface.c:1125,1
    - Dst: xcb_get_setup
      Src: /src/cairo/src/cairo-xcb-surface.c:1118,1
    - Dst: xcb_depth_next
      Src: /src/cairo/src/cairo-xcb-surface.c:1126,1
    - Dst: xcb_screen_next
      Src: /src/cairo/src/cairo-xcb-surface.c:1119,1
    - Dst: xcb_depth_visuals_iterator
      Src: /src/cairo/src/cairo-xcb-surface.c:1127,1
    - Dst: xcb_visualtype_next
      Src: /src/cairo/src/cairo-xcb-surface.c:1129,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1110
    functionDepth: 0
    functionLinenumber: 1110
    functionLinenumberEnd: 1139
    functionName: _cairo_xcb_screen_from_visual
    functionSourceFile: /src/cairo/src/cairo-xcb-surface.c
    functionUses: []
    functionsReached:
    - xcb_setup_roots_iterator
    - xcb_depth_next
    - xcb_screen_allowed_depths_iterator
    - xcb_get_setup
    - xcb_screen_next
    - xcb_depth_visuals_iterator
    - xcb_visualtype_next
    linkageType: ''
    returnType: xcb_screen_t*
    signature: "static xcb_screen_t *_cairo_xcb_screen_from_visual (xcb_connection_t\
      \ *connection,\t\t\t xcb_visualtype_t *visual,\t\t\t int *depth) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xcb_connection_has_error
      Src: /src/cairo/src/cairo-xcb-surface.c:1263,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xcb-surface.c:1264,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xcb-surface.c:1264,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xcb-surface.c:1267,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xcb-surface.c:1267,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface.c:1268,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xcb-surface.c:1269,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xcb-surface.c:1269,1
    - Dst: _cairo_xcb_screen_get
      Src: /src/cairo/src/cairo-xcb-surface.c:1271,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface.c:1272,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xcb-surface.c:1273,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xcb-surface.c:1273,1
    - Dst: _cairo_xcb_surface_create_internal
      Src: /src/cairo/src/cairo-xcb-surface.c:1275,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1254
    functionDepth: 0
    functionLinenumber: 1254
    functionLinenumberEnd: 1279
    functionName: cairo_xcb_surface_create_for_bitmap
    functionSourceFile: /src/cairo/src/cairo-xcb-surface.c
    functionUses: []
    functionsReached:
    - _cairo_xcb_screen_get
    - _cairo_error
    - _cairo_xcb_surface_create_internal
    - _cairo_surface_create_in_error
    - xcb_connection_has_error
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *cairo_xcb_surface_create_for_bitmap (xcb_connection_t\t\
      *connection,\t\t\t\t xcb_screen_t\t*screen,\t\t\t\t xcb_pixmap_t\t bitmap,\t\
      \t\t\t int\t\t width,\t\t\t\t int\t\t height) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-xcb-surface.c:228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - image
    - data
    argTypes:
    - pixman_image_t*
    - void*
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: _destroy_image
    functionSourceFile: /src/cairo/src/cairo-xcb-surface.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'static void _destroy_image (pixman_image_t *image, void *data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface.c:172,1
    - Dst: _cairo_xcb_shm_image_create
      Src: /src/cairo/src/cairo-xcb-surface.c:180,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface.c:183,1
    - Dst: _cairo_format_to_pixman_format_code
      Src: /src/cairo/src/cairo-xcb-surface.c:178,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xcb-surface.c:184,1
    - Dst: memset
      Src: /src/cairo/src/cairo-xcb-surface.c:187,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 192
    functionName: _cairo_xcb_surface_create_similar_image
    functionSourceFile: /src/cairo/src/cairo-xcb-surface.c
    functionUses: []
    functionsReached:
    - _cairo_format_to_pixman_format_code
    - _cairo_surface_create_in_error
    - _cairo_xcb_shm_image_create
    - memset
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *_cairo_xcb_surface_create_similar_image (void\t\t\
      \t*abstract_other,\t\t\t\t\t cairo_format_t\t\t format,\t\t\t\t\t int\t\t\t\
      \ width,\t\t\t\t\t int\t\t\t height) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xcb_surface_create_shm_image
      Src: /src/cairo/src/cairo-xcb-surface.c:296,1
    - Dst: _cairo_xcb_connection_shm_get_image
      Src: /src/cairo/src/cairo-xcb-surface.c:304,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface.c:310,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface.c:311,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface.c:301,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xcb-surface.c:312,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 320
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 320
    functionName: _get_shm_image
    functionSourceFile: /src/cairo/src/cairo-xcb-surface.c
    functionUses: []
    functionsReached:
    - cairo_surface_destroy
    - _cairo_surface_create_in_error
    - _cairo_xcb_connection_shm_get_image
    - _cairo_xcb_surface_create_shm_image
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_get_shm_image (cairo_xcb_surface_t *surface,\t\
      \tint x, int y,\t\tint width, int height) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface.c:507,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - abstract_surface
    - image
    - image_extra
    argTypes:
    - void*
    - cairo_image_surface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 508
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 508
    functionName: _cairo_xcb_surface_release_source_image
    functionSourceFile: /src/cairo/src/cairo-xcb-surface.c
    functionUses: []
    functionsReached:
    - cairo_surface_destroy
    linkageType: ''
    returnType: void
    signature: "static void _cairo_xcb_surface_release_source_image (void *abstract_surface,\t\
      \t\t\t\t cairo_image_surface_t *image,\t\t\t\t\t void *image_extra) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xcb_connection_acquire
      Src: /src/cairo/src/cairo-xcb-surface.c:570,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface.c:571,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-surface.c:577,1
    - Dst: CAIRO_STRIDE_FOR_WIDTH_BPP
      Src: /src/cairo/src/cairo-xcb-surface.c:578,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-surface.c:578,1
    - Dst: PIXMAN_FORMAT_BPP
      Src: /src/cairo/src/cairo-xcb-surface.c:578,1
    - Dst: _cairo_xcb_screen_get_gc
      Src: /src/cairo/src/cairo-xcb-surface.c:580,1
    - Dst: _put_shm_image
      Src: /src/cairo/src/cairo-xcb-surface.c:584,1
    - Dst: _cairo_xcb_connection_put_image
      Src: /src/cairo/src/cairo-xcb-surface.c:586,1
    - Dst: _cairo_xcb_screen_put_gc
      Src: /src/cairo/src/cairo-xcb-surface.c:597,1
    - Dst: _cairo_xcb_connection_release
      Src: /src/cairo/src/cairo-xcb-surface.c:602,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - surface
    - image
    argTypes:
    - cairo_xcb_surface_t*
    - cairo_image_surface_t*
    constantsTouched: []
    func_position:
      end: 604
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 604
    functionName: _put_image
    functionSourceFile: /src/cairo/src/cairo-xcb-surface.c
    functionUses: []
    functionsReached:
    - _cairo_xcb_screen_get_gc
    - _cairo_xcb_connection_acquire
    - _cairo_xcb_screen_put_gc
    - _cairo_xcb_connection_put_image
    - assert
    - PIXMAN_FORMAT_BPP
    - _put_shm_image
    - CAIRO_STRIDE_FOR_WIDTH_BPP
    - _cairo_xcb_connection_release
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _put_image (cairo_xcb_surface_t *surface,\t\
      \ cairo_image_surface_t *image) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_map_to_image
      Src: /src/cairo/src/cairo-xcb-surface.c:763,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface.c:769,1
    - Dst: cairo_surface_status
      Src: /src/cairo/src/cairo-xcb-surface.c:768,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface.c:770,1
    - Dst: _get_image
      Src: /src/cairo/src/cairo-xcb-surface.c:765,1
    - Dst: _cairo_image_surface_create_in_error
      Src: /src/cairo/src/cairo-xcb-surface.c:771,1
    - Dst: _cairo_xcb_surface_clear
      Src: /src/cairo/src/cairo-xcb-surface.c:781,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface.c:782,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface.c:783,1
    - Dst: _cairo_image_surface_create_in_error
      Src: /src/cairo/src/cairo-xcb-surface.c:784,1
    - Dst: cairo_surface_set_device_offset
      Src: /src/cairo/src/cairo-xcb-surface.c:789,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 791
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 791
    functionName: _cairo_xcb_surface_map_to_image
    functionSourceFile: /src/cairo/src/cairo-xcb-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_map_to_image
    - _cairo_image_surface_create_in_error
    - _get_image
    - _cairo_xcb_surface_clear
    - cairo_surface_status
    - cairo_surface_destroy
    - cairo_surface_set_device_offset
    - unlikely
    linkageType: ''
    returnType: cairo_image_surface_t*
    signature: "static cairo_image_surface_t *_cairo_xcb_surface_map_to_image (void\
      \ *abstract_surface,\t\t\t\t const cairo_rectangle_int_t *extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xcb_surface_fallback
      Src: /src/cairo/src/cairo-xcb-surface.c:857,1
    - Dst: _cairo_surface_mask
      Src: /src/cairo/src/cairo-xcb-surface.c:859,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - compositor
    - extents
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 863
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 863
    functionName: _cairo_xcb_fallback_compositor_mask
    functionSourceFile: /src/cairo/src/cairo-xcb-surface.c
    functionUses: []
    functionsReached:
    - _cairo_xcb_surface_fallback
    - _cairo_surface_mask
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_xcb_fallback_compositor_mask (const\
      \ cairo_compositor_t *compositor,\t\t\t\t cairo_composite_rectangles_t *extents) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface.c:1411,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface.c:1413,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xcb-surface.c:1415,1
    - Dst: _cairo_surface_is_xcb
      Src: /src/cairo/src/cairo-xcb-surface.c:1420,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-xcb-surface.c:1414,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-xcb-surface.c:1421,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xcb-surface.c:1422,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-xcb-surface.c:1427,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xcb-surface.c:1428,1
    - Dst: _drawable_changed
      Src: /src/cairo/src/cairo-xcb-surface.c:1434,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - abstract_surface
    - width
    - height
    argTypes:
    - cairo_surface_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1437
      start: 1404
    functionDepth: 0
    functionLinenumber: 1404
    functionLinenumberEnd: 1437
    functionName: cairo_xcb_surface_set_size
    functionSourceFile: /src/cairo/src/cairo-xcb-surface.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _drawable_changed
    - _cairo_surface_is_xcb
    - _cairo_surface_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void cairo_xcb_surface_set_size (cairo_surface_t *abstract_surface,\t\
      \t\t int width,\t\t\t int height) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_finish
      Src: /src/cairo/src/cairo-xcb-surface.c:201,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface.c:202,1
    - Dst: _cairo_xcb_connection_acquire
      Src: /src/cairo/src/cairo-xcb-surface.c:208,1
    - Dst: cairo_list_del
      Src: /src/cairo/src/cairo-xcb-surface.c:206,1
    - Dst: _cairo_boxes_fini
      Src: /src/cairo/src/cairo-xcb-surface.c:204,1
    - Dst: _cairo_xcb_connection_render_free_picture
      Src: /src/cairo/src/cairo-xcb-surface.c:211,1
    - Dst: xcb_free_pixmap
      Src: /src/cairo/src/cairo-xcb-surface.c:216,1
    - Dst: _cairo_xcb_connection_release
      Src: /src/cairo/src/cairo-xcb-surface.c:217,1
    - Dst: _cairo_xcb_connection_destroy
      Src: /src/cairo/src/cairo-xcb-surface.c:220,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 223
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 223
    functionName: _cairo_xcb_surface_finish
    functionSourceFile: /src/cairo/src/cairo-xcb-surface.c
    functionUses: []
    functionsReached:
    - xcb_free_pixmap
    - _cairo_xcb_connection_acquire
    - cairo_surface_finish
    - _cairo_xcb_connection_render_free_picture
    - cairo_surface_destroy
    - _cairo_xcb_connection_destroy
    - cairo_list_del
    - _cairo_xcb_connection_release
    - _cairo_boxes_fini
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_xcb_surface_finish (void *abstract_surface) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-surface.c:333,1
    - Dst: _cairo_image_surface_create_with_pixman_format
      Src: /src/cairo/src/cairo-xcb-surface.c:341,1
    - Dst: _cairo_pattern_init_solid
      Src: /src/cairo/src/cairo-xcb-surface.c:348,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface.c:374,1
    - Dst: _cairo_xcb_connection_create_pixmap
      Src: /src/cairo/src/cairo-xcb-surface.c:400,1
    - Dst: _cairo_xcb_screen_put_gc
      Src: /src/cairo/src/cairo-xcb-surface.c:413,1
    - Dst: xcb_free_pixmap
      Src: /src/cairo/src/cairo-xcb-surface.c:419,1
    - Dst: xcb_get_image_data
      Src: /src/cairo/src/cairo-xcb-surface.c:432,1
    - Dst: PIXMAN_FORMAT_BPP
      Src: /src/cairo/src/cairo-xcb-surface.c:436,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xcb-surface.c:452,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-surface.c:334,1
    - Dst: _cairo_xcb_connection_release
      Src: /src/cairo/src/cairo-xcb-surface.c:371,1
    - Dst: _cairo_xcb_connection_get_image
      Src: /src/cairo/src/cairo-xcb-surface.c:378,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xcb-surface.c:355,1
    - Dst: _cairo_xcb_connection_get_image
      Src: /src/cairo/src/cairo-xcb-surface.c:415,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface.c:422,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xcb-surface.c:423,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-surface.c:429,1
    - Dst: _cairo_image_surface_create_with_pixman_format
      Src: /src/cairo/src/cairo-xcb-surface.c:431,1
    - Dst: CAIRO_STRIDE_FOR_WIDTH_BPP
      Src: /src/cairo/src/cairo-xcb-surface.c:435,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-surface.c:336,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-surface.c:337,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-surface.c:335,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface.c:354,1
    - Dst: _get_shm_image
      Src: /src/cairo/src/cairo-xcb-surface.c:368,1
    - Dst: free
      Src: /src/cairo/src/cairo-xcb-surface.c:439,1
    - Dst: pixman_image_set_destroy_function
      Src: /src/cairo/src/cairo-xcb-surface.c:444,1
    - Dst: _cairo_xcb_connection_release
      Src: /src/cairo/src/cairo-xcb-surface.c:451,1
    - Dst: _cairo_surface_paint
      Src: /src/cairo/src/cairo-xcb-surface.c:349,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface.c:353,1
    - Dst: _cairo_xcb_connection_acquire
      Src: /src/cairo/src/cairo-xcb-surface.c:363,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xcb-surface.c:365,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface.c:364,1
    - Dst: _cairo_xcb_screen_get_gc
      Src: /src/cairo/src/cairo-xcb-surface.c:397,1
    - Dst: _cairo_xcb_connection_copy_area
      Src: /src/cairo/src/cairo-xcb-surface.c:406,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface.c:438,1
    - Dst: _cairo_xcb_connection_release
      Src: /src/cairo/src/cairo-xcb-surface.c:446,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 74
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 453
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 453
    functionName: _get_image
    functionSourceFile: /src/cairo/src/cairo-xcb-surface.c
    functionUses: []
    functionsReached:
    - _cairo_xcb_screen_put_gc
    - _cairo_image_surface_create_with_pixman_format
    - _cairo_error
    - PIXMAN_FORMAT_BPP
    - _cairo_surface_create_in_error
    - pixman_image_set_destroy_function
    - _cairo_pattern_init_solid
    - _cairo_surface_paint
    - _cairo_xcb_screen_get_gc
    - xcb_free_pixmap
    - _cairo_xcb_connection_acquire
    - xcb_get_image_data
    - _cairo_xcb_connection_copy_area
    - _cairo_xcb_connection_get_image
    - assert
    - _cairo_xcb_connection_release
    - free
    - cairo_surface_destroy
    - _cairo_xcb_connection_create_pixmap
    - CAIRO_STRIDE_FOR_WIDTH_BPP
    - _get_shm_image
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_get_image (cairo_xcb_surface_t\t\t *surface,\t\
      \ cairo_bool_t\t\t use_shm,\t int x, int y,\t int width, int height) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - abstract_surface
    - extents
    argTypes:
    - void*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 520
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 520
    functionName: _cairo_xcb_surface_get_extents
    functionSourceFile: /src/cairo/src/cairo-xcb-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t _cairo_xcb_surface_get_extents (void *abstract_surface,\t\
      \t\t\tcairo_rectangle_int_t *extents) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_user_data_array_get_data
      Src: /src/cairo/src/cairo-xcb-surface.c:615,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xcb-surface.c:626,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xcb-surface.c:625,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xcb-surface.c:627,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xcb-surface.c:628,1
    - Dst: _cairo_xcb_connection_shm_put_image
      Src: /src/cairo/src/cairo-xcb-surface.c:630,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 4
    argNames:
    - surface
    - image
    - gc
    - boxes
    argTypes:
    - cairo_xcb_surface_t*
    - cairo_image_surface_t*
    - xcb_gcontext_t
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 647
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 647
    functionName: _put_shm_image_boxes
    functionSourceFile: /src/cairo/src/cairo-xcb-surface.c
    functionUses: []
    functionsReached:
    - _cairo_xcb_connection_shm_put_image
    - _cairo_user_data_array_get_data
    - _cairo_fixed_integer_part
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _put_shm_image_boxes (cairo_xcb_surface_t\
      \ *surface,\t\t cairo_image_surface_t *image,\t\t xcb_gcontext_t gc,\t\t cairo_boxes_t\
      \ *boxes) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_unmap_image
      Src: /src/cairo/src/cairo-xcb-surface.c:801,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface.c:806,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/src/cairo-xcb-surface.c:805,1
    - Dst: _put_image
      Src: /src/cairo/src/cairo-xcb-surface.c:803,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - abstract_surface
    - image
    argTypes:
    - void*
    - cairo_image_surface_t*
    constantsTouched: []
    func_position:
      end: 809
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 809
    functionName: _cairo_xcb_surface_unmap
    functionSourceFile: /src/cairo/src/cairo-xcb-surface.c
    functionUses: []
    functionsReached:
    - cairo_surface_finish
    - _put_image
    - _cairo_surface_unmap_image
    - cairo_surface_destroy
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_xcb_surface_unmap (void *abstract_surface,\t\
      \t\t cairo_image_surface_t *image) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xcb_surface_fallback
      Src: /src/cairo/src/cairo-xcb-surface.c:876,1
    - Dst: _cairo_surface_stroke
      Src: /src/cairo/src/cairo-xcb-surface.c:878,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 3
    argCount: 8
    argNames:
    - compositor
    - extents
    - path
    - style
    - ctm
    - ctm_inverse
    - tolerance
    - antialias
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_antialias_t
    constantsTouched: []
    func_position:
      end: 883
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 883
    functionName: _cairo_xcb_fallback_compositor_stroke
    functionSourceFile: /src/cairo/src/cairo-xcb-surface.c
    functionUses: []
    functionsReached:
    - _cairo_xcb_surface_fallback
    - _cairo_surface_stroke
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_xcb_fallback_compositor_stroke (const\
      \ cairo_compositor_t *compositor,\t\t\t\t cairo_composite_rectangles_t *extents,\t\
      \t\t\t const cairo_path_fixed_t *path,\t\t\t\t const cairo_stroke_style_t *style,\t\
      \t\t\t const cairo_matrix_t *ctm,\t\t\t\t const cairo_matrix_t *ctm_inverse,\t\
      \t\t\t double tolerance,\t\t\t\t cairo_antialias_t antialias) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-xcb-surface.c:1374,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface.c:1377,1
    - Dst: _cairo_boxes_clear
      Src: /src/cairo/src/cairo-xcb-surface.c:1376,1
    - Dst: _cairo_surface_begin_modification
      Src: /src/cairo/src/cairo-xcb-surface.c:1375,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_xcb_surface_t*
    constantsTouched: []
    func_position:
      end: 1381
      start: 1371
    functionDepth: 0
    functionLinenumber: 1371
    functionLinenumberEnd: 1381
    functionName: _drawable_changed
    functionSourceFile: /src/cairo/src/cairo-xcb-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_begin_modification
    - _cairo_surface_set_error
    - cairo_surface_destroy
    - _cairo_boxes_clear
    linkageType: ''
    returnType: void
    signature: 'static void _drawable_changed (cairo_xcb_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xcb_surface_fallback
      Src: /src/cairo/src/cairo-xcb-surface.c:894,1
    - Dst: _cairo_surface_fill
      Src: /src/cairo/src/cairo-xcb-surface.c:896,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 6
    argNames:
    - compositor
    - extents
    - path
    - fill_rule
    - tolerance
    - antialias
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    constantsTouched: []
    func_position:
      end: 900
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 900
    functionName: _cairo_xcb_fallback_compositor_fill
    functionSourceFile: /src/cairo/src/cairo-xcb-surface.c
    functionUses: []
    functionsReached:
    - _cairo_xcb_surface_fallback
    - _cairo_surface_fill
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_xcb_fallback_compositor_fill (const\
      \ cairo_compositor_t *compositor,\t\t\t\t cairo_composite_rectangles_t *extents,\t\
      \t\t\t const cairo_path_fixed_t *path,\t\t\t\t cairo_fill_rule_t fill_rule,\t\
      \t\t\t double tolerance,\t\t\t\t cairo_antialias_t antialias) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface.c:86,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/src/cairo-xcb-surface.c:90,1
    - Dst: _cairo_format_from_content
      Src: /src/cairo/src/cairo-xcb-surface.c:95,1
    - Dst: _cairo_format_from_content
      Src: /src/cairo/src/cairo-xcb-surface.c:90,1
    - Dst: _cairo_xcb_surface_create_similar_image
      Src: /src/cairo/src/cairo-xcb-surface.c:94,1
    - Dst: _cairo_xcb_connection_acquire
      Src: /src/cairo/src/cairo-xcb-surface.c:99,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface.c:100,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xcb-surface.c:101,1
    - Dst: _cairo_xcb_connection_create_pixmap
      Src: /src/cairo/src/cairo-xcb-surface.c:104,1
    - Dst: _cairo_xcb_surface_create_internal
      Src: /src/cairo/src/cairo-xcb-surface.c:110,1
    - Dst: PIXMAN_FORMAT_DEPTH
      Src: /src/cairo/src/cairo-xcb-surface.c:138,1
    - Dst: _cairo_xcb_surface_create_internal
      Src: /src/cairo/src/cairo-xcb-surface.c:143,1
    - Dst: xcb_free_pixmap
      Src: /src/cairo/src/cairo-xcb-surface.c:151,1
    - Dst: _cairo_xcb_connection_create_pixmap
      Src: /src/cairo/src/cairo-xcb-surface.c:137,1
    - Dst: _cairo_xcb_connection_release
      Src: /src/cairo/src/cairo-xcb-surface.c:153,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface.c:150,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 156
    functionName: _cairo_xcb_surface_create_similar
    functionSourceFile: /src/cairo/src/cairo-xcb-surface.c
    functionUses: []
    functionsReached:
    - xcb_free_pixmap
    - _cairo_xcb_connection_acquire
    - _cairo_format_from_content
    - _cairo_xcb_surface_create_internal
    - _cairo_xcb_surface_create_similar_image
    - cairo_image_surface_create
    - _cairo_surface_create_in_error
    - _cairo_xcb_connection_create_pixmap
    - _cairo_xcb_connection_release
    - PIXMAN_FORMAT_DEPTH
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *_cairo_xcb_surface_create_similar (void\t\t\t*abstract_other,\t\
      \t\t\t cairo_content_t\t content,\t\t\t\t int\t\t\t width,\t\t\t\t int\t\t\t\
      \ height) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xcb_surface_fallback
      Src: /src/cairo/src/cairo-xcb-surface.c:911,1
    - Dst: _cairo_surface_show_text_glyphs
      Src: /src/cairo/src/cairo-xcb-surface.c:913,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 6
    argNames:
    - compositor
    - extents
    - scaled_font
    - glyphs
    - num_glyphs
    - overlap
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_scaled_font_t*
    - cairo_glyph_t*
    - int
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 918
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 918
    functionName: _cairo_xcb_fallback_compositor_glyphs
    functionSourceFile: /src/cairo/src/cairo-xcb-surface.c
    functionUses: []
    functionsReached:
    - _cairo_xcb_surface_fallback
    - _cairo_surface_show_text_glyphs
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_xcb_fallback_compositor_glyphs (const\
      \ cairo_compositor_t *compositor,\t\t\t\t cairo_composite_rectangles_t *extents,\t\
      \t\t\t cairo_scaled_font_t *scaled_font,\t\t\t\t cairo_glyph_t *glyphs,\t\t\t\
      \t int num_glyphs,\t\t\t\t cairo_bool_t overlap) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-xcb-surface.c:1071,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xcb-surface.c:1073,1
    - Dst: _cairo_surface_init
      Src: /src/cairo/src/cairo-xcb-surface.c:1075,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xcb-surface.c:1073,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface.c:1072,1
    - Dst: _cairo_content_from_pixman_format
      Src: /src/cairo/src/cairo-xcb-surface.c:1078,1
    - Dst: _cairo_xcb_connection_reference
      Src: /src/cairo/src/cairo-xcb-surface.c:1081,1
    - Dst: cairo_list_add
      Src: /src/cairo/src/cairo-xcb-surface.c:1083,1
    - Dst: PIXMAN_FORMAT_DEPTH
      Src: /src/cairo/src/cairo-xcb-surface.c:1093,1
    - Dst: _cairo_boxes_init
      Src: /src/cairo/src/cairo-xcb-surface.c:1105,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1108
    functionName: _cairo_xcb_surface_create_internal
    functionSourceFile: /src/cairo/src/cairo-xcb-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_init
    - _cairo_error
    - PIXMAN_FORMAT_DEPTH
    - _cairo_boxes_init
    - _cairo_content_from_pixman_format
    - cairo_list_add
    - _cairo_surface_create_in_error
    - _cairo_xcb_connection_reference
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *_cairo_xcb_surface_create_internal (cairo_xcb_screen_t\t\
      \t*screen,\t\t\t\t xcb_drawable_t\t\t drawable,\t\t\t\t cairo_bool_t\t\t owns_pixmap,\t\
      \t\t\t pixman_format_code_t\t pixman_format,\t\t\t\t xcb_render_pictformat_t\t\
      \ xrender_format,\t\t\t\t int\t\t\t\t width,\t\t\t\t int\t\t\t\t height) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface.c:1462,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xcb-surface.c:1466,1
    - Dst: _cairo_surface_is_xcb
      Src: /src/cairo/src/cairo-xcb-surface.c:1471,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-xcb-surface.c:1465,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface.c:1464,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-xcb-surface.c:1472,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xcb-surface.c:1473,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-xcb-surface.c:1478,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xcb-surface.c:1479,1
    - Dst: _drawable_changed
      Src: /src/cairo/src/cairo-xcb-surface.c:1489,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface.c:1494,1
    - Dst: _cairo_xcb_connection_release
      Src: /src/cairo/src/cairo-xcb-surface.c:1503,1
    - Dst: _cairo_xcb_connection_render_free_picture
      Src: /src/cairo/src/cairo-xcb-surface.c:1498,1
    - Dst: _cairo_xcb_connection_acquire
      Src: /src/cairo/src/cairo-xcb-surface.c:1493,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 4
    argNames:
    - abstract_surface
    - drawable
    - width
    - height
    argTypes:
    - cairo_surface_t*
    - xcb_drawable_t
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1509
      start: 1454
    functionDepth: 0
    functionLinenumber: 1454
    functionLinenumberEnd: 1509
    functionName: cairo_xcb_surface_set_drawable
    functionSourceFile: /src/cairo/src/cairo-xcb-surface.c
    functionUses: []
    functionsReached:
    - _cairo_xcb_connection_acquire
    - _cairo_error
    - _drawable_changed
    - _cairo_surface_is_xcb
    - _cairo_surface_set_error
    - _cairo_xcb_connection_render_free_picture
    - _cairo_xcb_connection_release
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void cairo_xcb_surface_set_drawable (cairo_surface_t *abstract_surface,\t\
      \t\t\txcb_drawable_t drawable,\t\t\t\tint width,\t\t\t\tint height) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xcb_connection_acquire
      Src: /src/cairo/src/cairo-xcb-surface.c:662,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-surface.c:667,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface.c:663,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-surface.c:668,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-surface.c:666,1
    - Dst: CAIRO_STRIDE_FOR_WIDTH_BPP
      Src: /src/cairo/src/cairo-xcb-surface.c:668,1
    - Dst: PIXMAN_FORMAT_BPP
      Src: /src/cairo/src/cairo-xcb-surface.c:668,1
    - Dst: _cairo_xcb_screen_get_gc
      Src: /src/cairo/src/cairo-xcb-surface.c:670,1
    - Dst: _put_shm_image_boxes
      Src: /src/cairo/src/cairo-xcb-surface.c:674,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xcb-surface.c:683,1
    - Dst: _cairo_xcb_connection_put_subimage
      Src: /src/cairo/src/cairo-xcb-surface.c:687,1
    - Dst: PIXMAN_FORMAT_BPP
      Src: /src/cairo/src/cairo-xcb-surface.c:691,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xcb-surface.c:685,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xcb-surface.c:684,1
    - Dst: _cairo_xcb_screen_put_gc
      Src: /src/cairo/src/cairo-xcb-surface.c:702,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xcb-surface.c:686,1
    - Dst: _cairo_xcb_connection_release
      Src: /src/cairo/src/cairo-xcb-surface.c:703,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 3
    argNames:
    - surface
    - image
    - boxes
    argTypes:
    - cairo_xcb_surface_t*
    - cairo_image_surface_t*
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 705
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 705
    functionName: _put_image_boxes
    functionSourceFile: /src/cairo/src/cairo-xcb-surface.c
    functionUses: []
    functionsReached:
    - _cairo_xcb_screen_get_gc
    - _put_shm_image_boxes
    - _cairo_xcb_connection_acquire
    - _cairo_xcb_screen_put_gc
    - _cairo_fixed_integer_part
    - assert
    - PIXMAN_FORMAT_BPP
    - _cairo_xcb_connection_put_subimage
    - CAIRO_STRIDE_FOR_WIDTH_BPP
    - _cairo_xcb_connection_release
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _put_image_boxes (cairo_xcb_surface_t *surface,\t\
      \t cairo_image_surface_t *image,\t\t cairo_boxes_t *boxes) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/cairo/src/cairo-xcb-surface.c:717,1
    - Dst: _cairo_bentley_ottmann_tessellate_boxes
      Src: /src/cairo/src/cairo-xcb-surface.c:731,1
    - Dst: _put_image_boxes
      Src: /src/cairo/src/cairo-xcb-surface.c:736,1
    - Dst: cairo_surface_status
      Src: /src/cairo/src/cairo-xcb-surface.c:728,1
    - Dst: _cairo_xcb_surface_clear
      Src: /src/cairo/src/cairo-xcb-surface.c:720,1
    - Dst: _cairo_surface_attach_snapshot
      Src: /src/cairo/src/cairo-xcb-surface.c:741,1
    - Dst: _cairo_boxes_clear
      Src: /src/cairo/src/cairo-xcb-surface.c:747,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface.c:748,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 2
    argNames:
    - abstract_surface
    - flags
    argTypes:
    - void*
    - unsigned
    constantsTouched: []
    func_position:
      end: 752
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 752
    functionName: _cairo_xcb_surface_flush
    functionSourceFile: /src/cairo/src/cairo-xcb-surface.c
    functionUses: []
    functionsReached:
    - _put_image_boxes
    - _cairo_surface_attach_snapshot
    - _cairo_xcb_surface_clear
    - _cairo_boxes_clear
    - cairo_surface_status
    - cairo_surface_destroy
    - _cairo_bentley_ottmann_tessellate_boxes
    - likely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_xcb_surface_flush (void *abstract_surface,\t\
      \t\t unsigned flags) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_STRIDE_FOR_WIDTH_BPP
      Src: /src/cairo/src/cairo-xcb-surface.c:246,1
    - Dst: _cairo_xcb_connection_allocate_shm_info
      Src: /src/cairo/src/cairo-xcb-surface.c:248,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xcb-surface.c:256,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface.c:252,1
    - Dst: PIXMAN_FORMAT_BPP
      Src: /src/cairo/src/cairo-xcb-surface.c:247,1
    - Dst: _cairo_image_surface_create_with_pixman_format
      Src: /src/cairo/src/cairo-xcb-surface.c:259,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface.c:263,1
    - Dst: _cairo_xcb_shm_info_destroy
      Src: /src/cairo/src/cairo-xcb-surface.c:264,1
    - Dst: _cairo_user_data_array_set_data
      Src: /src/cairo/src/cairo-xcb-surface.c:268,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface.c:272,1
    - Dst: _cairo_xcb_shm_info_destroy
      Src: /src/cairo/src/cairo-xcb-surface.c:274,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xcb-surface.c:275,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface.c:273,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 280
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 280
    functionName: _cairo_xcb_surface_create_shm_image
    functionSourceFile: /src/cairo/src/cairo-xcb-surface.c
    functionUses: []
    functionsReached:
    - _cairo_image_surface_create_with_pixman_format
    - _cairo_user_data_array_set_data
    - _cairo_xcb_connection_allocate_shm_info
    - _cairo_xcb_shm_info_destroy
    - PIXMAN_FORMAT_BPP
    - cairo_surface_destroy
    - _cairo_surface_create_in_error
    - CAIRO_STRIDE_FOR_WIDTH_BPP
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_xcb_surface_create_shm_image (cairo_xcb_connection_t\
      \ *connection,\t\t\t\t pixman_format_code_t pixman_format,\t\t\t\t int width,\
      \ int height,\t\t\t\t cairo_bool_t might_reuse,\t\t\t\t cairo_xcb_shm_info_t\
      \ **shm_info_out) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-array.c:227,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 230
    functionName: _cairo_array_index_const
    functionSourceFile: /src/cairo/src/cairo-array.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: void*
    signature: 'const void *_cairo_array_index_const (const cairo_array_t *array,
      unsigned int index) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_grow_by
      Src: /src/cairo/src/cairo-array.c:318,1
    - Dst: assert
      Src: /src/cairo/src/cairo-array.c:322,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-array.c:319,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - array
    - num_elements
    - elements
    argTypes:
    - cairo_array_t*
    - unsigned int
    - void**
    constantsTouched: []
    func_position:
      end: 329
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 329
    functionName: _cairo_array_allocate
    functionSourceFile: /src/cairo/src/cairo-array.c
    functionUses: []
    functionsReached:
    - unlikely
    - assert
    - _cairo_array_grow_by
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_array_allocate (cairo_array_t\t *array,\t\t\
      \ unsigned int\t num_elements,\t\t void\t\t**elements) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - array
    - num_elements
    argTypes:
    - cairo_array_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: _cairo_array_truncate
    functionSourceFile: /src/cairo/src/cairo-array.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void _cairo_array_truncate (cairo_array_t *array, unsigned int num_elements) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-array.c:182,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 185
    functionName: _cairo_array_index
    functionSourceFile: /src/cairo/src/cairo-array.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: void*
    signature: 'void *_cairo_array_index (cairo_array_t *array, unsigned int index) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_allocate
      Src: /src/cairo/src/cairo-array.c:289,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-array.c:293,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-array.c:290,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - array
    - elements
    - num_elements
    argTypes:
    - cairo_array_t*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 296
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 296
    functionName: _cairo_array_append_multiple
    functionSourceFile: /src/cairo/src/cairo-array.c
    functionUses: []
    functionsReached:
    - memcpy
    - _cairo_array_allocate
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_array_append_multiple (cairo_array_t\t*array,\t\
      \t\t const void\t*elements,\t\t\t unsigned int\t num_elements) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cairo/src/cairo-array.c:244,1
    - Dst: _cairo_array_index_const
      Src: /src/cairo/src/cairo-array.c:244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - array
    - index
    - dst
    argTypes:
    - cairo_array_t*
    - unsigned int
    - void*
    constantsTouched: []
    func_position:
      end: 245
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 245
    functionName: _cairo_array_copy_element
    functionSourceFile: /src/cairo/src/cairo-array.c
    functionUses: []
    functionsReached:
    - _cairo_array_index_const
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void _cairo_array_copy_element (const cairo_array_t *array,\t\t\t\
      \ unsigned int index,\t\t\t void *dst) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-array.c:372,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - array
    argTypes:
    - cairo_user_data_array_t*
    constantsTouched: []
    func_position:
      end: 373
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 373
    functionName: _cairo_user_data_array_init
    functionSourceFile: /src/cairo/src/cairo-array.c
    functionUses: []
    functionsReached:
    - _cairo_array_init
    linkageType: ''
    returnType: void
    signature: 'void _cairo_user_data_array_init (cairo_user_data_array_t *array) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_user_data_array_fini
      Src: /src/cairo/src/cairo-array.c:507,1
    - Dst: _cairo_array_index_const
      Src: /src/cairo/src/cairo-array.c:517,1
    - Dst: _cairo_array_append_multiple
      Src: /src/cairo/src/cairo-array.c:516,1
    - Dst: _cairo_user_data_array_init
      Src: /src/cairo/src/cairo-array.c:508,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - cairo_user_data_array_t*
    - cairo_user_data_array_t*
    constantsTouched: []
    func_position:
      end: 519
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 519
    functionName: _cairo_user_data_array_copy
    functionSourceFile: /src/cairo/src/cairo-array.c
    functionUses: []
    functionsReached:
    - _cairo_array_append_multiple
    - _cairo_user_data_array_fini
    - _cairo_array_index_const
    - _cairo_user_data_array_init
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_user_data_array_copy (cairo_user_data_array_t\t\
      *dst,\t\t\t const cairo_user_data_array_t\t*src) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/cairo/src/cairo-array.c:542,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - array
    - (*compar)
    argTypes:
    - cairo_array_t*
    - int
    constantsTouched: []
    func_position:
      end: 543
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 543
    functionName: _cairo_array_sort
    functionSourceFile: /src/cairo/src/cairo-array.c
    functionUses: []
    functionsReached:
    - qsort
    linkageType: ''
    returnType: void
    signature: 'void _cairo_array_sort (const cairo_array_t *array, int (*compar)(const
      void *, const void *)) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-array.c:532,1
    - Dst: func
      Src: /src/cairo/src/cairo-array.c:535,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 9
    argCount: 3
    argNames:
    - array
    - (*func)
    - closure
    argTypes:
    - cairo_user_data_array_t*
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 537
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 537
    functionName: _cairo_user_data_array_foreach
    functionSourceFile: /src/cairo/src/cairo-array.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    - func
    linkageType: ''
    returnType: void
    signature: "void _cairo_user_data_array_foreach (cairo_user_data_array_t *array,\t\
      \t\t\tvoid (*func) (const void *key,\t\t\t\t\t void *elt,\t\t\t\t\t void *closure),\t\
      \t\t\tvoid *closure) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - array
    - element_size
    argTypes:
    - cairo_array_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: _cairo_array_init
    functionSourceFile: /src/cairo/src/cairo-array.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void _cairo_array_init (cairo_array_t *array, unsigned int element_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - array
    argTypes:
    - cairo_array_t*
    constantsTouched: []
    func_position:
      end: 358
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 358
    functionName: _cairo_array_size
    functionSourceFile: /src/cairo/src/cairo-array.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: 'unsigned int _cairo_array_size (const cairo_array_t *array) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_append_multiple
      Src: /src/cairo/src/cairo-array.c:266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - array
    - element
    argTypes:
    - cairo_array_t*
    - void*
    constantsTouched: []
    func_position:
      end: 267
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 267
    functionName: _cairo_array_append
    functionSourceFile: /src/cairo/src/cairo-array.c
    functionUses: []
    functionsReached:
    - _cairo_array_append_multiple
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_array_append (cairo_array_t\t*array,\t\t const\
      \ void\t\t*element) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - array
    argTypes:
    - cairo_array_t*
    constantsTouched: []
    func_position:
      end: 343
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 343
    functionName: _cairo_array_num_elements
    functionSourceFile: /src/cairo/src/cairo-array.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: 'unsigned int _cairo_array_num_elements (const cairo_array_t *array) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-array.c:391,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-array.c:399,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 1
    argNames:
    - array
    argTypes:
    - cairo_user_data_array_t*
    constantsTouched: []
    func_position:
      end: 400
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 400
    functionName: _cairo_user_data_array_fini
    functionSourceFile: /src/cairo/src/cairo-array.c
    functionUses: []
    functionsReached:
    - _cairo_array_fini
    - _cairo_array_index
    linkageType: ''
    returnType: void
    signature: 'void _cairo_user_data_array_fini (cairo_user_data_array_t *array) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_copy_element
      Src: /src/cairo/src/cairo-array.c:557,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - array
    - dst
    argTypes:
    - cairo_array_t*
    - void*
    constantsTouched: []
    func_position:
      end: 563
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 563
    functionName: _cairo_array_pop_element
    functionSourceFile: /src/cairo/src/cairo-array.c
    functionUses: []
    functionsReached:
    - _cairo_array_copy_element
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t _cairo_array_pop_element (cairo_array_t *array, void
      *dst) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-array.c:97,1
    - Dst: _cairo_realloc_ab
      Src: /src/cairo/src/cairo-array.c:114,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-array.c:100,1
    - Dst: CAIRO_INJECT_FAULT
      Src: /src/cairo/src/cairo-array.c:99,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-array.c:117,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-array.c:119,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - array
    - additional
    argTypes:
    - cairo_array_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 125
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 125
    functionName: _cairo_array_grow_by
    functionSourceFile: /src/cairo/src/cairo-array.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - unlikely
    - CAIRO_INJECT_FAULT
    - _cairo_realloc_ab
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_array_grow_by (cairo_array_t *array, unsigned
      int additional) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-array.c:473,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-array.c:495,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-array.c:494,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 4
    argNames:
    - array
    - key
    - user_data
    - destroy
    argTypes:
    - cairo_user_data_array_t*
    - cairo_user_data_key_t*
    - void*
    - cairo_destroy_func_t
    constantsTouched: []
    func_position:
      end: 499
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 499
    functionName: _cairo_user_data_array_set_data
    functionSourceFile: /src/cairo/src/cairo-array.c
    functionUses: []
    functionsReached:
    - _cairo_array_append
    - _cairo_array_index
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_user_data_array_set_data (cairo_user_data_array_t\
      \ *array,\t\t\t\t const cairo_user_data_key_t *key,\t\t\t\t void\t\t\t *user_data,\t\
      \t\t\t cairo_destroy_func_t\t destroy) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-array.c:576,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 579
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 579
    functionName: _cairo_array_last_element
    functionSourceFile: /src/cairo/src/cairo-array.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    linkageType: ''
    returnType: void*
    signature: 'void *_cairo_array_last_element (cairo_array_t *array) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-array.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - array
    argTypes:
    - cairo_array_t*
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: _cairo_array_fini
    functionSourceFile: /src/cairo/src/cairo-array.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void _cairo_array_fini (cairo_array_t *array) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-array.c:426,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 433
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 433
    functionName: _cairo_user_data_array_get_data
    functionSourceFile: /src/cairo/src/cairo-array.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    linkageType: ''
    returnType: void*
    signature: "void *_cairo_user_data_array_get_data (cairo_user_data_array_t *array,\t\
      \t\t\t const cairo_user_data_key_t *key) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_INJECT_FAULT
      Src: /src/cairo/src/cairo-pen.c:144,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pen.c:156,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pen.c:145,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-pen.c:148,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-pen.c:154,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pen.c:157,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-pen.c:159,1
    - Dst: _cairo_realloc_ab
      Src: /src/cairo/src/cairo-pen.c:162,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pen.c:165,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pen.c:166,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pen.c:179,1
    - Dst: _cairo_hull_compute
      Src: /src/cairo/src/cairo-pen.c:178,1
    - Dst: _cairo_pen_compute_slopes
      Src: /src/cairo/src/cairo-pen.c:182,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 3
    argNames:
    - pen
    - point
    - num_points
    argTypes:
    - cairo_pen_t*
    - cairo_point_t*
    - int
    constantsTouched: []
    func_position:
      end: 185
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 185
    functionName: _cairo_pen_add_points
    functionSourceFile: /src/cairo/src/cairo-pen.c
    functionUses: []
    functionsReached:
    - memcpy
    - _cairo_error
    - ARRAY_LENGTH
    - _cairo_pen_compute_slopes
    - _cairo_realloc_ab
    - _cairo_hull_compute
    - _cairo_malloc_ab
    - CAIRO_INJECT_FAULT
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_pen_add_points (cairo_pen_t *pen, cairo_point_t
      *point, int num_points) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-pen.c:105,1
    - Dst: VG
      Src: /src/cairo/src/cairo-pen.c:108,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/cairo/src/cairo-pen.c:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pen
    argTypes:
    - cairo_pen_t*
    constantsTouched: []
    func_position:
      end: 109
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 109
    functionName: _cairo_pen_fini
    functionSourceFile: /src/cairo/src/cairo-pen.c
    functionUses: []
    functionsReached:
    - free
    - VALGRIND_MAKE_MEM_UNDEFINED
    - VG
    linkageType: ''
    returnType: void
    signature: 'void _cairo_pen_fini (cairo_pen_t *pen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_slope_compare
      Src: /src/cairo/src/cairo-pen.c:347,1
    - Dst: _cairo_slope_compare
      Src: /src/cairo/src/cairo-pen.c:348,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - pen
    - slope
    argTypes:
    - cairo_pen_t*
    - cairo_slope_t*
    constantsTouched: []
    func_position:
      end: 361
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 361
    functionName: _cairo_pen_find_active_cw_vertex_index
    functionSourceFile: /src/cairo/src/cairo-pen.c
    functionUses: []
    functionsReached:
    - _cairo_slope_compare
    linkageType: ''
    returnType: int
    signature: "int _cairo_pen_find_active_cw_vertex_index (const cairo_pen_t *pen,\t\
      \t\t\t\tconst cairo_slope_t *slope) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_slope_compare
      Src: /src/cairo/src/cairo-pen.c:380,1
    - Dst: _cairo_slope_compare
      Src: /src/cairo/src/cairo-pen.c:381,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - pen
    - slope
    argTypes:
    - cairo_pen_t*
    - cairo_slope_t*
    constantsTouched: []
    func_position:
      end: 394
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 394
    functionName: _cairo_pen_find_active_ccw_vertex_index
    functionSourceFile: /src/cairo/src/cairo-pen.c
    functionUses: []
    functionsReached:
    - _cairo_slope_compare
    linkageType: ''
    returnType: int
    signature: "int _cairo_pen_find_active_ccw_vertex_index (const cairo_pen_t *pen,\t\
      \t\t\t\t const cairo_slope_t *slope) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_INJECT_FAULT
      Src: /src/cairo/src/cairo-pen.c:55,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/cairo/src/cairo-pen.c:58,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pen.c:56,1
    - Dst: _cairo_matrix_compute_determinant
      Src: /src/cairo/src/cairo-pen.c:63,1
    - Dst: VG
      Src: /src/cairo/src/cairo-pen.c:58,1
    - Dst: _cairo_pen_vertices_needed
      Src: /src/cairo/src/cairo-pen.c:65,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-pen.c:69,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-pen.c:70,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pen.c:72,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pen.c:73,1
    - Dst: sin
      Src: /src/cairo/src/cairo-pen.c:90,1
    - Dst: cos
      Src: /src/cairo/src/cairo-pen.c:89,1
    - Dst: _cairo_pen_compute_slopes
      Src: /src/cairo/src/cairo-pen.c:96,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-pen.c:93,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-pen.c:92,1
    - Dst: cairo_matrix_transform_distance
      Src: /src/cairo/src/cairo-pen.c:91,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 4
    argNames:
    - pen
    - radius
    - tolerance
    - ctm
    argTypes:
    - cairo_pen_t*
    - double
    - double
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 99
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 99
    functionName: _cairo_pen_init
    functionSourceFile: /src/cairo/src/cairo-pen.c
    functionUses: []
    functionsReached:
    - cairo_matrix_transform_distance
    - _cairo_error
    - _cairo_matrix_compute_determinant
    - _cairo_pen_vertices_needed
    - ARRAY_LENGTH
    - VG
    - cos
    - _cairo_pen_compute_slopes
    - VALGRIND_MAKE_MEM_UNDEFINED
    - _cairo_fixed_from_double
    - sin
    - _cairo_malloc_ab
    - CAIRO_INJECT_FAULT
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_pen_init (cairo_pen_t\t*pen,\t\t double\t\t\
      \ radius,\t\t double\t\t tolerance,\t\t const cairo_matrix_t\t*ctm) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VG
      Src: /src/cairo/src/cairo-pen.c:114,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-pen.c:123,1
    - Dst: CAIRO_INJECT_FAULT
      Src: /src/cairo/src/cairo-pen.c:118,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pen.c:119,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/cairo/src/cairo-pen.c:114,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-pen.c:124,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pen.c:126,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pen.c:127,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-pen.c:130,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - pen
    - other
    argTypes:
    - cairo_pen_t*
    - cairo_pen_t*
    constantsTouched: []
    func_position:
      end: 135
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 135
    functionName: _cairo_pen_init_copy
    functionSourceFile: /src/cairo/src/cairo-pen.c
    functionUses: []
    functionsReached:
    - memcpy
    - _cairo_error
    - ARRAY_LENGTH
    - VG
    - VALGRIND_MAKE_MEM_UNDEFINED
    - _cairo_malloc_ab
    - CAIRO_INJECT_FAULT
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_pen_init_copy (cairo_pen_t *pen, const cairo_pen_t
      *other) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_slope_compare
      Src: /src/cairo/src/cairo-pen.c:408,1
    - Dst: _cairo_slope_compare
      Src: /src/cairo/src/cairo-pen.c:427,1
    - Dst: _cairo_slope_compare
      Src: /src/cairo/src/cairo-pen.c:414,1
    - Dst: _cairo_slope_compare
      Src: /src/cairo/src/cairo-pen.c:419,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 5
    argNames:
    - pen
    - in
    - out
    - start
    - stop
    argTypes:
    - cairo_pen_t*
    - cairo_slope_t*
    - cairo_slope_t*
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 437
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 437
    functionName: _cairo_pen_find_active_cw_vertices
    functionSourceFile: /src/cairo/src/cairo-pen.c
    functionUses: []
    functionsReached:
    - _cairo_slope_compare
    linkageType: ''
    returnType: void
    signature: "void _cairo_pen_find_active_cw_vertices (const cairo_pen_t *pen,\t\
      \t\t\t const cairo_slope_t *in,\t\t\t\t const cairo_slope_t *out,\t\t\t\t int\
      \ *start, int *stop) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_slope_compare
      Src: /src/cairo/src/cairo-pen.c:450,1
    - Dst: _cairo_slope_compare
      Src: /src/cairo/src/cairo-pen.c:461,1
    - Dst: _cairo_slope_compare
      Src: /src/cairo/src/cairo-pen.c:456,1
    - Dst: _cairo_slope_compare
      Src: /src/cairo/src/cairo-pen.c:469,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 5
    argNames:
    - pen
    - in
    - out
    - start
    - stop
    argTypes:
    - cairo_pen_t*
    - cairo_slope_t*
    - cairo_slope_t*
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 479
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 479
    functionName: _cairo_pen_find_active_ccw_vertices
    functionSourceFile: /src/cairo/src/cairo-pen.c
    functionUses: []
    functionsReached:
    - _cairo_slope_compare
    linkageType: ''
    returnType: void
    signature: "void _cairo_pen_find_active_ccw_vertices (const cairo_pen_t *pen,\t\
      \t\t\t const cairo_slope_t *in,\t\t\t\t const cairo_slope_t *out,\t\t\t\t int\
      \ *start, int *stop) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_matrix_transformed_circle_major_axis
      Src: /src/cairo/src/cairo-pen.c:282,1
    - Dst: ceil
      Src: /src/cairo/src/cairo-pen.c:296,1
    - Dst: acos
      Src: /src/cairo/src/cairo-pen.c:291,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - tolerance
    - radius
    - matrix
    argTypes:
    - double
    - double
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 308
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 308
    functionName: _cairo_pen_vertices_needed
    functionSourceFile: /src/cairo/src/cairo-pen.c
    functionUses: []
    functionsReached:
    - acos
    - ceil
    - _cairo_matrix_transformed_circle_major_axis
    linkageType: ''
    returnType: int
    signature: "int _cairo_pen_vertices_needed (double\t tolerance,\t\t\t double\t\
      \ radius,\t\t\t const cairo_matrix_t *matrix) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_slope_init
      Src: /src/cairo/src/cairo-pen.c:323,1
    - Dst: _cairo_slope_init
      Src: /src/cairo/src/cairo-pen.c:324,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - pen
    argTypes:
    - cairo_pen_t*
    constantsTouched: []
    func_position:
      end: 326
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 326
    functionName: _cairo_pen_compute_slopes
    functionSourceFile: /src/cairo/src/cairo-pen.c
    functionUses: []
    functionsReached:
    - _cairo_slope_init
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_pen_compute_slopes (cairo_pen_t *pen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 58
    functionName: encode_coordinate
    functionSourceFile: /src/cairo/src/cairo-pdf-shading.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned char*
    signature: 'static unsigned char *encode_coordinate (unsigned char *p, double
      c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_color_double_to_short
      Src: /src/cairo/src/cairo-pdf-shading.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 79
    functionName: encode_color_component
    functionSourceFile: /src/cairo/src/cairo-pdf-shading.c
    functionUses: []
    functionsReached:
    - _cairo_color_double_to_short
    linkageType: ''
    returnType: unsigned char*
    signature: 'static unsigned char *encode_color_component (unsigned char *p, double
      color) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_color_component
      Src: /src/cairo/src/cairo-pdf-shading.c:94,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: encode_alpha
    functionSourceFile: /src/cairo/src/cairo-pdf-shading.c
    functionUses: []
    functionsReached:
    - encode_color_component
    linkageType: ''
    returnType: unsigned char*
    signature: 'static unsigned char *encode_alpha (unsigned char *p, const cairo_color_t
      *color) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-shading.c:160,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-shading.c:173,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-shading.c:174,1
    - Dst: _cairo_array_index_const
      Src: /src/cairo/src/cairo-pdf-shading.c:161,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-pdf-shading.c:172,1
    - Dst: _cairo_restrict_value
      Src: /src/cairo/src/cairo-pdf-shading.c:203,1
    - Dst: _cairo_restrict_value
      Src: /src/cairo/src/cairo-pdf-shading.c:204,1
    - Dst: encode_point
      Src: /src/cairo/src/cairo-pdf-shading.c:206,1
    - Dst: encode_alpha
      Src: /src/cairo/src/cairo-pdf-shading.c:212,1
    - Dst: encode_color
      Src: /src/cairo/src/cairo-pdf-shading.c:214,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-shading.c:218,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 59
    argCount: 3
    argNames:
    - shading
    - mesh
    - is_alpha
    argTypes:
    - cairo_pdf_shading_t*
    - cairo_mesh_pattern_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 221
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 221
    functionName: _cairo_pdf_shading_generate_data
    functionSourceFile: /src/cairo/src/cairo-pdf-shading.c
    functionUses: []
    functionsReached:
    - _cairo_array_index_const
    - _cairo_malloc
    - _cairo_restrict_value
    - _cairo_error
    - encode_color
    - _cairo_array_num_elements
    - assert
    - encode_point
    - encode_alpha
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_pdf_shading_generate_data (cairo_pdf_shading_t\
      \ *shading,\t\t\t\t const cairo_mesh_pattern_t *mesh,\t\t\t\t cairo_bool_t is_alpha) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pdf_shading_init
      Src: /src/cairo/src/cairo-pdf-shading.c:261,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - shading
    - pattern
    argTypes:
    - cairo_pdf_shading_t*
    - cairo_mesh_pattern_t*
    constantsTouched: []
    func_position:
      end: 262
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 262
    functionName: _cairo_pdf_shading_init_color
    functionSourceFile: /src/cairo/src/cairo-pdf-shading.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_shading_init
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_pdf_shading_init_color (cairo_pdf_shading_t\
      \ *shading,\t\t\t const cairo_mesh_pattern_t *pattern) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_coordinate
      Src: /src/cairo/src/cairo-pdf-shading.c:63,1
    - Dst: encode_coordinate
      Src: /src/cairo/src/cairo-pdf-shading.c:64,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: encode_point
    functionSourceFile: /src/cairo/src/cairo-pdf-shading.c
    functionUses: []
    functionsReached:
    - encode_coordinate
    linkageType: ''
    returnType: unsigned char*
    signature: 'static unsigned char *encode_point (unsigned char *p, const cairo_point_double_t
      *point) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_color_component
      Src: /src/cairo/src/cairo-pdf-shading.c:84,1
    - Dst: encode_color_component
      Src: /src/cairo/src/cairo-pdf-shading.c:86,1
    - Dst: encode_color_component
      Src: /src/cairo/src/cairo-pdf-shading.c:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: encode_color
    functionSourceFile: /src/cairo/src/cairo-pdf-shading.c
    functionUses: []
    functionsReached:
    - encode_color_component
    linkageType: ''
    returnType: unsigned char*
    signature: 'static unsigned char *encode_color (unsigned char *p, const cairo_color_t
      *color) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-pdf-shading.c:113,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-shading.c:116,1
    - Dst: _cairo_mesh_pattern_coord_box
      Src: /src/cairo/src/cairo-pdf-shading.c:118,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-shading.c:115,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-shading.c:124,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-shading.c:125,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-shading.c:126,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 3
    argNames:
    - shading
    - mesh
    - is_alpha
    argTypes:
    - cairo_pdf_shading_t*
    - cairo_mesh_pattern_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 134
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 134
    functionName: _cairo_pdf_shading_generate_decode_array
    functionSourceFile: /src/cairo/src/cairo-pdf-shading.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_mesh_pattern_coord_box
    - assert
    - _cairo_malloc_ab
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_pdf_shading_generate_decode_array (cairo_pdf_shading_t\
      \ *shading,\t\t\t\t\t const cairo_mesh_pattern_t *mesh,\t\t\t\t\t cairo_bool_t\
      \ is_alpha) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-shading.c:230,1
    - Dst: _cairo_pdf_shading_generate_decode_array
      Src: /src/cairo/src/cairo-pdf-shading.c:250,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-shading.c:251,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-shading.c:231,1
    - Dst: _cairo_pdf_shading_generate_data
      Src: /src/cairo/src/cairo-pdf-shading.c:254,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - shading
    - mesh
    - is_alpha
    argTypes:
    - cairo_pdf_shading_t*
    - cairo_mesh_pattern_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 255
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 255
    functionName: _cairo_pdf_shading_init
    functionSourceFile: /src/cairo/src/cairo-pdf-shading.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_shading_generate_decode_array
    - unlikely
    - _cairo_pdf_shading_generate_data
    - assert
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_pdf_shading_init (cairo_pdf_shading_t\
      \ *shading,\t\t\t const cairo_mesh_pattern_t *mesh,\t\t\t cairo_bool_t is_alpha) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pdf_shading_init
      Src: /src/cairo/src/cairo-pdf-shading.c:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - shading
    - pattern
    argTypes:
    - cairo_pdf_shading_t*
    - cairo_mesh_pattern_t*
    constantsTouched: []
    func_position:
      end: 269
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 269
    functionName: _cairo_pdf_shading_init_alpha
    functionSourceFile: /src/cairo/src/cairo-pdf-shading.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_shading_init
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_pdf_shading_init_alpha (cairo_pdf_shading_t\
      \ *shading,\t\t\t const cairo_mesh_pattern_t *pattern) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-shading.c:274,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-shading.c:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - shading
    argTypes:
    - cairo_pdf_shading_t*
    constantsTouched: []
    func_position:
      end: 276
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 276
    functionName: _cairo_pdf_shading_fini
    functionSourceFile: /src/cairo/src/cairo-pdf-shading.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void _cairo_pdf_shading_fini (cairo_pdf_shading_t *shading) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_grow_by
      Src: /src/cairo/src/cairo-type1-fallback.c:232,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-type1-fallback.c:236,1
    - Dst: charstring_encode_integer
      Src: /src/cairo/src/cairo-type1-fallback.c:238,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-type1-fallback.c:237,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-fallback.c:233,1
    - Dst: charstring_encode_integer
      Src: /src/cairo/src/cairo-type1-fallback.c:239,1
    - Dst: charstring_encode_command
      Src: /src/cairo/src/cairo-type1-fallback.c:243,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - closure
    - point
    argTypes:
    - void*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 246
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 246
    functionName: _charstring_move_to
    functionSourceFile: /src/cairo/src/cairo-type1-fallback.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_integer_part
    - charstring_encode_integer
    - charstring_encode_command
    - _cairo_array_grow_by
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _charstring_move_to (void\t\t *closure, const\
      \ cairo_point_t *point) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_grow_by
      Src: /src/cairo/src/cairo-type1-fallback.c:282,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-fallback.c:283,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-type1-fallback.c:288,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-type1-fallback.c:286,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-type1-fallback.c:287,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-type1-fallback.c:289,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-type1-fallback.c:290,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-type1-fallback.c:291,1
    - Dst: charstring_encode_integer
      Src: /src/cairo/src/cairo-type1-fallback.c:292,1
    - Dst: charstring_encode_integer
      Src: /src/cairo/src/cairo-type1-fallback.c:293,1
    - Dst: charstring_encode_command
      Src: /src/cairo/src/cairo-type1-fallback.c:300,1
    - Dst: charstring_encode_integer
      Src: /src/cairo/src/cairo-type1-fallback.c:294,1
    - Dst: charstring_encode_integer
      Src: /src/cairo/src/cairo-type1-fallback.c:297,1
    - Dst: charstring_encode_integer
      Src: /src/cairo/src/cairo-type1-fallback.c:295,1
    - Dst: charstring_encode_integer
      Src: /src/cairo/src/cairo-type1-fallback.c:296,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 4
    argNames:
    - closure
    - point1
    - point2
    - point3
    argTypes:
    - void*
    - cairo_point_t*
    - cairo_point_t*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 303
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 303
    functionName: _charstring_curve_to
    functionSourceFile: /src/cairo/src/cairo-type1-fallback.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_integer_part
    - charstring_encode_integer
    - charstring_encode_command
    - _cairo_array_grow_by
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _charstring_curve_to (void\t\t *closure, const\
      \ cairo_point_t *point1, const cairo_point_t *point2, const cairo_point_t *point3) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-type1-fallback.c:575,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-type1-fallback.c:582,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-type1-fallback.c:578,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - closure
    - data
    - length
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 587
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 587
    functionName: cairo_type1_write_stream_encrypted
    functionSourceFile: /src/cairo/src/cairo-type1-fallback.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_write
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t cairo_type1_write_stream_encrypted (void *closure,
      const unsigned char *data, unsigned int length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-type1-fallback.c:714,1
    - Dst: free
      Src: /src/cairo/src/cairo-type1-fallback.c:719,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-type1-fallback.c:718,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-type1-fallback.c:716,1
    - Dst: cairo_scaled_font_destroy
      Src: /src/cairo/src/cairo-type1-fallback.c:715,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - font
    argTypes:
    - cairo_type1_font_t*
    constantsTouched: []
    func_position:
      end: 722
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 722
    functionName: cairo_type1_font_destroy
    functionSourceFile: /src/cairo/src/cairo-type1-fallback.c
    functionUses: []
    functionsReached:
    - _cairo_array_fini
    - free
    - cairo_scaled_font_destroy
    - _cairo_output_stream_destroy
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t cairo_type1_font_destroy (cairo_type1_font_t
      *font) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_grow_by
      Src: /src/cairo/src/cairo-type1-fallback.c:256,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-type1-fallback.c:260,1
    - Dst: charstring_encode_integer
      Src: /src/cairo/src/cairo-type1-fallback.c:262,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-type1-fallback.c:261,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-fallback.c:257,1
    - Dst: charstring_encode_integer
      Src: /src/cairo/src/cairo-type1-fallback.c:263,1
    - Dst: charstring_encode_command
      Src: /src/cairo/src/cairo-type1-fallback.c:267,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - closure
    - point
    argTypes:
    - void*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 270
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 270
    functionName: _charstring_line_to
    functionSourceFile: /src/cairo/src/cairo-type1-fallback.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_integer_part
    - charstring_encode_integer
    - charstring_encode_command
    - _cairo_array_grow_by
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _charstring_line_to (void\t\t *closure, const\
      \ cairo_point_t *point) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_grow_by
      Src: /src/cairo/src/cairo-type1-fallback.c:314,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-fallback.c:315,1
    - Dst: charstring_encode_command
      Src: /src/cairo/src/cairo-type1-fallback.c:318,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - closure
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 321
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 321
    functionName: _charstring_close_path
    functionSourceFile: /src/cairo/src/cairo-type1-fallback.c
    functionUses: []
    functionsReached:
    - unlikely
    - charstring_encode_command
    - _cairo_array_grow_by
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _charstring_close_path (void *closure) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_create
      Src: /src/cairo/src/cairo-type1-fallback.c:599,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-type1-fallback.c:604,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-type1-fallback.c:603,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-type1-fallback.c:609,1
    - Dst: cairo_type1_font_write_charstrings
      Src: /src/cairo/src/cairo-type1-fallback.c:620,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-fallback.c:621,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-type1-fallback.c:624,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-type1-fallback.c:633,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - font
    - name
    argTypes:
    - cairo_type1_font_t*
    - char*
    constantsTouched: []
    func_position:
      end: 638
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 638
    functionName: cairo_type1_font_write_private_dict
    functionSourceFile: /src/cairo/src/cairo-type1-fallback.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_create
    - _cairo_output_stream_get_status
    - cairo_type1_font_write_charstrings
    - _cairo_output_stream_destroy
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t cairo_type1_font_write_private_dict (cairo_type1_font_t
      *font, const char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc_ab
      Src: /src/cairo/src/cairo-type1-fallback.c:749,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-fallback.c:751,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-type1-fallback.c:752,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-fallback.c:768,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-type1-fallback.c:769,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-type1-fallback.c:772,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-type1-fallback.c:767,1
    - Dst: strdup
      Src: /src/cairo/src/cairo-type1-fallback.c:743,1
    - Dst: cairo_type1_font_generate
      Src: /src/cairo/src/cairo-type1-fallback.c:739,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-fallback.c:740,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-fallback.c:744,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-type1-fallback.c:745,1
    - Dst: snprintf
      Src: /src/cairo/src/cairo-type1-fallback.c:775,1
    - Dst: free
      Src: /src/cairo/src/cairo-type1-fallback.c:793,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-type1-fallback.c:773,1
    - Dst: cairo_type1_font_destroy
      Src: /src/cairo/src/cairo-type1-fallback.c:788,1
    - Dst: cairo_type1_font_destroy
      Src: /src/cairo/src/cairo-type1-fallback.c:796,1
    - Dst: cairo_type1_font_create
      Src: /src/cairo/src/cairo-type1-fallback.c:735,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-fallback.c:736,1
    - Dst: free
      Src: /src/cairo/src/cairo-type1-fallback.c:791,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 61
    argCount: 4
    argNames:
    - type1_subset
    - name
    - scaled_font_subset
    - hex_encode
    argTypes:
    - cairo_type1_subset_t*
    - char*
    - cairo_scaled_font_subset_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 799
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 799
    functionName: _cairo_type1_fallback_init_internal
    functionSourceFile: /src/cairo/src/cairo-type1-fallback.c
    functionUses: []
    functionsReached:
    - _cairo_calloc_ab
    - _cairo_malloc
    - memcpy
    - _cairo_array_index
    - cairo_type1_font_destroy
    - cairo_type1_font_create
    - cairo_type1_font_generate
    - _cairo_error
    - free
    - strdup
    - snprintf
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_type1_fallback_init_internal (cairo_type1_subset_t\t\
      *type1_subset, const char\t\t\t*name, cairo_scaled_font_subset_t\t*scaled_font_subset,\
      \ cairo_bool_t hex_encode) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_type1_font_write_header
      Src: /src/cairo/src/cairo-type1-fallback.c:669,1
    - Dst: _cairo_output_stream_get_position
      Src: /src/cairo/src/cairo-type1-fallback.c:676,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-fallback.c:673,1
    - Dst: cairo_type1_font_write_private_dict
      Src: /src/cairo/src/cairo-type1-fallback.c:672,1
    - Dst: _cairo_output_stream_get_position
      Src: /src/cairo/src/cairo-type1-fallback.c:670,1
    - Dst: cairo_type1_font_write_trailer
      Src: /src/cairo/src/cairo-type1-fallback.c:679,1
    - Dst: _cairo_output_stream_get_position
      Src: /src/cairo/src/cairo-type1-fallback.c:681,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - font
    - name
    argTypes:
    - cairo_type1_font_t*
    - char*
    constantsTouched: []
    func_position:
      end: 685
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 685
    functionName: cairo_type1_font_write
    functionSourceFile: /src/cairo/src/cairo-type1-fallback.c
    functionUses: []
    functionsReached:
    - cairo_type1_font_write_header
    - cairo_type1_font_write_trailer
    - _cairo_output_stream_get_position
    - cairo_type1_font_write_private_dict
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t cairo_type1_font_write (cairo_type1_font_t
      *font, const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-type1-fallback.c:824,1
    - Dst: free
      Src: /src/cairo/src/cairo-type1-fallback.c:825,1
    - Dst: free
      Src: /src/cairo/src/cairo-type1-fallback.c:826,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - subset
    argTypes:
    - cairo_type1_subset_t*
    constantsTouched: []
    func_position:
      end: 827
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 827
    functionName: _cairo_type1_fallback_fini
    functionSourceFile: /src/cairo/src/cairo-type1-fallback.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void _cairo_type1_fallback_fini (cairo_type1_subset_t *subset) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_grow_by
      Src: /src/cairo/src/cairo-type1-fallback.c:692,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-type1-fallback.c:698,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-fallback.c:693,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-type1-fallback.c:697,1
    - Dst: _cairo_output_stream_create
      Src: /src/cairo/src/cairo-type1-fallback.c:696,1
    - Dst: cairo_type1_font_write
      Src: /src/cairo/src/cairo-type1-fallback.c:700,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-fallback.c:701,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-type1-fallback.c:704,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - font
    - name
    argTypes:
    - cairo_type1_font_t*
    - char*
    constantsTouched: []
    func_position:
      end: 707
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 707
    functionName: cairo_type1_font_generate
    functionSourceFile: /src/cairo/src/cairo-type1-fallback.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    - _cairo_output_stream_create
    - _cairo_array_grow_by
    - _cairo_output_stream_get_status
    - _cairo_output_stream_destroy
    - cairo_type1_font_write
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t cairo_type1_font_generate (cairo_type1_font_t
      *font, const char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cairo_type1_font_create
      Src: /src/cairo/src/cairo-type1-fallback.c:838,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-fallback.c:839,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-fallback.c:845,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-type1-fallback.c:842,1
    - Dst: _cairo_calloc_ab
      Src: /src/cairo/src/cairo-type1-fallback.c:844,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-type1-fallback.c:846,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-type1-fallback.c:884,1
    - Dst: _cairo_scaled_font_thaw_cache
      Src: /src/cairo/src/cairo-type1-fallback.c:868,1
    - Dst: _cairo_array_grow_by
      Src: /src/cairo/src/cairo-type1-fallback.c:853,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-fallback.c:854,1
    - Dst: cairo_type1_font_destroy
      Src: /src/cairo/src/cairo-type1-fallback.c:880,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-fallback.c:861,1
    - Dst: cairo_type1_font_create_charstring
      Src: /src/cairo/src/cairo-type1-fallback.c:857,1
    - Dst: _cairo_type2_charstrings_fini
      Src: /src/cairo/src/cairo-type1-fallback.c:885,1
    - Dst: _cairo_scaled_font_thaw_cache
      Src: /src/cairo/src/cairo-type1-fallback.c:883,1
    - Dst: cairo_type1_font_destroy
      Src: /src/cairo/src/cairo-type1-fallback.c:887,1
    - Dst: _cairo_scaled_font_freeze_cache
      Src: /src/cairo/src/cairo-type1-fallback.c:850,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-type1-fallback.c:852,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-fallback.c:865,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-type1-fallback.c:864,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 2
    argNames:
    - type2_subset
    - scaled_font_subset
    argTypes:
    - cairo_type2_charstrings_t*
    - cairo_scaled_font_subset_t*
    constantsTouched: []
    func_position:
      end: 889
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 889
    functionName: _cairo_type2_charstrings_init
    functionSourceFile: /src/cairo/src/cairo-type1-fallback.c
    functionUses: []
    functionsReached:
    - _cairo_calloc_ab
    - cairo_type1_font_destroy
    - cairo_type1_font_create
    - _cairo_array_init
    - _cairo_error
    - _cairo_scaled_font_freeze_cache
    - _cairo_type2_charstrings_fini
    - _cairo_array_grow_by
    - cairo_type1_font_create_charstring
    - _cairo_scaled_font_thaw_cache
    - _cairo_array_fini
    - _cairo_array_append
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_type2_charstrings_init (cairo_type2_charstrings_t
      *type2_subset, cairo_scaled_font_subset_t *scaled_font_subset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-type1-fallback.c:897,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-type1-fallback.c:900,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-type1-fallback.c:899,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-type1-fallback.c:902,1
    - Dst: free
      Src: /src/cairo/src/cairo-type1-fallback.c:904,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - type2_subset
    argTypes:
    - cairo_type2_charstrings_t*
    constantsTouched: []
    func_position:
      end: 905
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 905
    functionName: _cairo_type2_charstrings_fini
    functionSourceFile: /src/cairo/src/cairo-type1-fallback.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    - free
    - _cairo_array_num_elements
    - _cairo_array_fini
    linkageType: ''
    returnType: void
    signature: 'void _cairo_type2_charstrings_fini (cairo_type2_charstrings_t *type2_subset) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-fallback.c:91,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-type1-fallback.c:92,1
    - Dst: free
      Src: /src/cairo/src/cairo-type1-fallback.c:96,1
    - Dst: cairo_matrix_init_scale
      Src: /src/cairo/src/cairo-type1-fallback.c:105,1
    - Dst: cairo_font_options_set_hint_metrics
      Src: /src/cairo/src/cairo-type1-fallback.c:111,1
    - Dst: cairo_scaled_font_create
      Src: /src/cairo/src/cairo-type1-fallback.c:113,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-type1-fallback.c:97,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-fallback.c:118,1
    - Dst: free
      Src: /src/cairo/src/cairo-type1-fallback.c:129,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-type1-fallback.c:90,1
    - Dst: _cairo_font_options_init_default
      Src: /src/cairo/src/cairo-type1-fallback.c:108,1
    - Dst: free
      Src: /src/cairo/src/cairo-type1-fallback.c:130,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-type1-fallback.c:121,1
    - Dst: cairo_scaled_font_get_font_options
      Src: /src/cairo/src/cairo-type1-fallback.c:109,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-fallback.c:95,1
    - Dst: _cairo_calloc_ab
      Src: /src/cairo/src/cairo-type1-fallback.c:94,1
    - Dst: cairo_scaled_font_get_font_face
      Src: /src/cairo/src/cairo-type1-fallback.c:103,1
    - Dst: cairo_matrix_init_identity
      Src: /src/cairo/src/cairo-type1-fallback.c:106,1
    - Dst: cairo_font_options_set_hint_style
      Src: /src/cairo/src/cairo-type1-fallback.c:110,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - scaled_font_subset
    - subset_return
    - hex_encode
    argTypes:
    - cairo_scaled_font_subset_t*
    - cairo_type1_font_t**
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 133
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 133
    functionName: cairo_type1_font_create
    functionSourceFile: /src/cairo/src/cairo-type1-fallback.c
    functionUses: []
    functionsReached:
    - cairo_scaled_font_get_font_options
    - _cairo_calloc_ab
    - cairo_font_options_set_hint_style
    - cairo_scaled_font_create
    - _cairo_error
    - free
    - cairo_matrix_init_scale
    - _cairo_array_init
    - _cairo_font_options_init_default
    - cairo_matrix_init_identity
    - cairo_scaled_font_get_font_face
    - _cairo_calloc
    - cairo_font_options_set_hint_metrics
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t cairo_type1_font_create (cairo_scaled_font_subset_t
      *scaled_font_subset, cairo_type1_font_t **subset_return, cairo_bool_t hex_encode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_size
      Src: /src/cairo/src/cairo-type1-fallback.c:162,1
    - Dst: assert
      Src: /src/cairo/src/cairo-type1-fallback.c:165,1
    - Dst: assert
      Src: /src/cairo/src/cairo-type1-fallback.c:166,1
    - Dst: _cairo_array_append_multiple
      Src: /src/cairo/src/cairo-type1-fallback.c:163,1
    - Dst: _cairo_array_size
      Src: /src/cairo/src/cairo-type1-fallback.c:166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - data
    - command
    argTypes:
    - cairo_array_t*
    - int
    constantsTouched: []
    func_position:
      end: 167
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 167
    functionName: charstring_encode_command
    functionSourceFile: /src/cairo/src/cairo-type1-fallback.c
    functionUses: []
    functionsReached:
    - _cairo_array_size
    - _cairo_array_append_multiple
    - assert
    linkageType: ''
    returnType: void
    signature: 'static void charstring_encode_command (cairo_array_t *data, int command) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_size
      Src: /src/cairo/src/cairo-type1-fallback.c:211,1
    - Dst: _cairo_array_size
      Src: /src/cairo/src/cairo-type1-fallback.c:215,1
    - Dst: assert
      Src: /src/cairo/src/cairo-type1-fallback.c:214,1
    - Dst: assert
      Src: /src/cairo/src/cairo-type1-fallback.c:215,1
    - Dst: _cairo_array_append_multiple
      Src: /src/cairo/src/cairo-type1-fallback.c:212,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 62
    argCount: 3
    argNames:
    - data
    - i
    - type
    argTypes:
    - cairo_array_t*
    - int
    - cairo_charstring_type_t
    constantsTouched: []
    func_position:
      end: 216
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 216
    functionName: charstring_encode_integer
    functionSourceFile: /src/cairo/src/cairo-type1-fallback.c
    functionUses: []
    functionsReached:
    - _cairo_array_size
    - _cairo_array_append_multiple
    - assert
    linkageType: ''
    returnType: void
    signature: 'static void charstring_encode_integer (cairo_array_t *data, int i,
      cairo_charstring_type_t type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-type1-fallback.c:330,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-type1-fallback.c:331,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - data
    argTypes:
    - cairo_array_t*
    constantsTouched: []
    func_position:
      end: 338
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 338
    functionName: charstring_encrypt
    functionSourceFile: /src/cairo/src/cairo-type1-fallback.c
    functionUses: []
    functionsReached:
    - _cairo_array_num_elements
    - _cairo_array_index
    linkageType: ''
    returnType: void
    signature: 'static void charstring_encrypt (cairo_array_t *data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_scaled_font_freeze_cache
      Src: /src/cairo/src/cairo-type1-fallback.c:451,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-type1-fallback.c:447,1
    - Dst: _cairo_array_append_multiple
      Src: /src/cairo/src/cairo-type1-fallback.c:455,1
    - Dst: cairo_type1_font_create_charstring
      Src: /src/cairo/src/cairo-type1-fallback.c:459,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-fallback.c:463,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-type1-fallback.c:478,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-type1-fallback.c:442,1
    - Dst: _cairo_array_truncate
      Src: /src/cairo/src/cairo-type1-fallback.c:453,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-fallback.c:456,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-type1-fallback.c:467,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-type1-fallback.c:480,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-type1-fallback.c:485,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-fallback.c:444,1
    - Dst: _cairo_array_grow_by
      Src: /src/cairo/src/cairo-type1-fallback.c:443,1
    - Dst: charstring_encrypt
      Src: /src/cairo/src/cairo-type1-fallback.c:466,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-type1-fallback.c:473,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-type1-fallback.c:475,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-type1-fallback.c:469,1
    - Dst: _cairo_scaled_font_thaw_cache
      Src: /src/cairo/src/cairo-type1-fallback.c:482,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-type1-fallback.c:477,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - font
    - encrypted_output
    argTypes:
    - cairo_type1_font_t*
    - cairo_output_stream_t*
    constantsTouched: []
    func_position:
      end: 487
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 487
    functionName: cairo_type1_font_write_charstrings
    functionSourceFile: /src/cairo/src/cairo-type1-fallback.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    - _cairo_array_init
    - _cairo_scaled_font_freeze_cache
    - _cairo_array_append_multiple
    - charstring_encrypt
    - _cairo_array_num_elements
    - _cairo_array_grow_by
    - cairo_type1_font_create_charstring
    - _cairo_scaled_font_thaw_cache
    - _cairo_array_truncate
    - _cairo_output_stream_write
    - _cairo_array_fini
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t cairo_type1_font_write_charstrings (cairo_type1_font_t
      *font, cairo_output_stream_t *encrypted_output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-type1-fallback.c:648,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-type1-fallback.c:650,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - font
    argTypes:
    - cairo_type1_font_t*
    constantsTouched: []
    func_position:
      end: 651
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 651
    functionName: cairo_type1_font_write_trailer
    functionSourceFile: /src/cairo/src/cairo-type1-fallback.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_write
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: void
    signature: 'static void cairo_type1_font_write_trailer(cairo_type1_font_t *font) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_type1_fallback_init_internal
      Src: /src/cairo/src/cairo-type1-fallback.c:806,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - type1_subset
    - name
    - scaled_font_subset
    argTypes:
    - cairo_type1_subset_t*
    - char*
    - cairo_scaled_font_subset_t*
    constantsTouched: []
    func_position:
      end: 809
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 809
    functionName: _cairo_type1_fallback_init_binary
    functionSourceFile: /src/cairo/src/cairo-type1-fallback.c
    functionUses: []
    functionsReached:
    - _cairo_type1_fallback_init_internal
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_type1_fallback_init_binary (cairo_type1_subset_t\t\
      \ *type1_subset, const char\t\t *name, cairo_scaled_font_subset_t *scaled_font_subset) "
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_scaled_glyph_lookup
      Src: /src/cairo/src/cairo-type1-fallback.c:354,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-fallback.c:371,1
    - Dst: _cairo_array_grow_by
      Src: /src/cairo/src/cairo-type1-fallback.c:392,1
    - Dst: _cairo_scaled_glyph_lookup
      Src: /src/cairo/src/cairo-type1-fallback.c:365,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-fallback.c:393,1
    - Dst: charstring_encode_integer
      Src: /src/cairo/src/cairo-type1-fallback.c:397,1
    - Dst: charstring_encode_integer
      Src: /src/cairo/src/cairo-type1-fallback.c:398,1
    - Dst: charstring_encode_integer
      Src: /src/cairo/src/cairo-type1-fallback.c:399,1
    - Dst: charstring_encode_integer
      Src: /src/cairo/src/cairo-type1-fallback.c:400,1
    - Dst: charstring_encode_command
      Src: /src/cairo/src/cairo-type1-fallback.c:401,1
    - Dst: charstring_encode_integer
      Src: /src/cairo/src/cairo-type1-fallback.c:406,1
    - Dst: _cairo_path_fixed_interpret
      Src: /src/cairo/src/cairo-type1-fallback.c:414,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-fallback.c:425,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-type1-fallback.c:420,1
    - Dst: charstring_encode_command
      Src: /src/cairo/src/cairo-type1-fallback.c:427,1
    - Dst: _cairo_array_grow_by
      Src: /src/cairo/src/cairo-type1-fallback.c:424,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 61
    argCount: 5
    argNames:
    - font
    - subset_index
    - glyph_index
    - type
    - data
    argTypes:
    - cairo_type1_font_t*
    - int
    - int
    - cairo_charstring_type_t
    - cairo_array_t*
    constantsTouched: []
    func_position:
      end: 430
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 430
    functionName: cairo_type1_font_create_charstring
    functionSourceFile: /src/cairo/src/cairo-type1-fallback.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_interpret
    - _cairo_scaled_glyph_lookup
    - charstring_encode_integer
    - charstring_encode_command
    - _cairo_array_grow_by
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t cairo_type1_font_create_charstring (cairo_type1_font_t
      *font, int subset_index, int glyph_index, cairo_charstring_type_t type, cairo_array_t
      *data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-type1-fallback.c:496,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-type1-fallback.c:517,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-type1-fallback.c:513,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-type1-fallback.c:515,1
    - Dst: _cairo_output_stream_get_position
      Src: /src/cairo/src/cairo-type1-fallback.c:514,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-type1-fallback.c:527,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-type1-fallback.c:530,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-type1-fallback.c:537,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-type1-fallback.c:540,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-type1-fallback.c:544,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - font
    - name
    argTypes:
    - cairo_type1_font_t*
    - char*
    constantsTouched: []
    func_position:
      end: 548
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 548
    functionName: cairo_type1_font_write_header
    functionSourceFile: /src/cairo/src/cairo-type1-fallback.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_get_position
    - _cairo_output_stream_write
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: void
    signature: 'static void cairo_type1_font_write_header (cairo_type1_font_t *font,
      const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_append_multiple
      Src: /src/cairo/src/cairo-type1-fallback.c:660,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - closure
    - data
    - length
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 661
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 661
    functionName: cairo_type1_write_stream
    functionSourceFile: /src/cairo/src/cairo-type1-fallback.c
    functionUses: []
    functionsReached:
    - _cairo_array_append_multiple
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t cairo_type1_write_stream (void *closure, const
      unsigned char *data, unsigned int length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_type1_fallback_init_internal
      Src: /src/cairo/src/cairo-type1-fallback.c:816,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - type1_subset
    - name
    - scaled_font_subset
    argTypes:
    - cairo_type1_subset_t*
    - char*
    - cairo_scaled_font_subset_t*
    constantsTouched: []
    func_position:
      end: 819
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 819
    functionName: _cairo_type1_fallback_init_hex
    functionSourceFile: /src/cairo/src/cairo-type1-fallback.c
    functionUses: []
    functionsReached:
    - _cairo_type1_fallback_init_internal
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_type1_fallback_init_hex (cairo_type1_subset_t\t\
      \ *type1_subset, const char\t\t *name, cairo_scaled_font_subset_t *scaled_font_subset) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_equal
      Src: /src/cairo/src/cairo-surface-clipper.c:132,1
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-surface-clipper.c:136,1
    - Dst: memcmp
      Src: /src/cairo/src/cairo-surface-clipper.c:141,1
    - Dst: assert
      Src: /src/cairo/src/cairo-surface-clipper.c:136,1
    - Dst: _cairo_surface_clipper_intersect_clip_path_recursive
      Src: /src/cairo/src/cairo-surface-clipper.c:150,1
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-surface-clipper.c:156,1
    - Dst: _cairo_clip_copy
      Src: /src/cairo/src/cairo-surface-clipper.c:157,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-clipper.c:163,1
    - Dst: _cairo_surface_clipper_intersect_clip_boxes
      Src: /src/cairo/src/cairo-surface-clipper.c:169,1
    - Dst: _cairo_surface_clipper_intersect_clip_path_recursive
      Src: /src/cairo/src/cairo-surface-clipper.c:174,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-clipper.c:170,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 35
    argCount: 2
    argNames:
    - clipper
    - clip
    argTypes:
    - cairo_surface_clipper_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 180
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 180
    functionName: _cairo_surface_clipper_set_clip
    functionSourceFile: /src/cairo/src/cairo-surface-clipper.c
    functionUses: []
    functionsReached:
    - _cairo_clip_destroy
    - _cairo_clip_equal
    - unlikely
    - _cairo_clip_is_all_clipped
    - assert
    - _cairo_clip_copy
    - _cairo_surface_clipper_intersect_clip_boxes
    - _cairo_surface_clipper_intersect_clip_path_recursive
    - memcmp
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_surface_clipper_set_clip (cairo_surface_clipper_t\
      \ *clipper,\t\t\t\t const cairo_clip_t *clip) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_fixed_init
      Src: /src/cairo/src/cairo-surface-clipper.c:84,1
    - Dst: _cairo_path_fixed_add_box
      Src: /src/cairo/src/cairo-surface-clipper.c:86,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-clipper.c:87,1
    - Dst: _cairo_path_fixed_fini
      Src: /src/cairo/src/cairo-surface-clipper.c:88,1
    - Dst: _cairo_path_fixed_fini
      Src: /src/cairo/src/cairo-surface-clipper.c:97,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - clipper
    - clip
    argTypes:
    - cairo_surface_clipper_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 100
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 100
    functionName: _cairo_surface_clipper_intersect_clip_boxes
    functionSourceFile: /src/cairo/src/cairo-surface-clipper.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_fini
    - unlikely
    - _cairo_path_fixed_add_box
    - _cairo_path_fixed_init
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_surface_clipper_intersect_clip_boxes\
      \ (cairo_surface_clipper_t *clipper,\t\t\t\t\t const cairo_clip_t *clip) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_clipper_intersect_clip_path_recursive
      Src: /src/cairo/src/cairo-surface-clipper.c:111,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-clipper.c:114,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - clipper
    - clip_path
    - end
    argTypes:
    - cairo_surface_clipper_t*
    - cairo_clip_path_t*
    - cairo_clip_path_t*
    constantsTouched: []
    func_position:
      end: 123
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 123
    functionName: _cairo_surface_clipper_intersect_clip_path_recursive
    functionSourceFile: /src/cairo/src/cairo-surface-clipper.c
    functionUses: []
    functionsReached:
    - _cairo_surface_clipper_intersect_clip_path_recursive
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_surface_clipper_intersect_clip_path_recursive\
      \ (cairo_surface_clipper_t *clipper,\t\t\t\t\t\t cairo_clip_path_t *clip_path,\t\
      \t\t\t\t\t cairo_clip_path_t *end) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - clipper
    - func
    argTypes:
    - cairo_surface_clipper_t*
    - cairo_surface_clipper_intersect_clip_path_func_t
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: _cairo_surface_clipper_init
    functionSourceFile: /src/cairo/src/cairo-surface-clipper.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _cairo_surface_clipper_init (cairo_surface_clipper_t *clipper,\t\
      \t\t cairo_surface_clipper_intersect_clip_path_func_t func) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-surface-clipper.c:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - clipper
    argTypes:
    - cairo_surface_clipper_t*
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: _cairo_surface_clipper_reset
    functionSourceFile: /src/cairo/src/cairo-surface-clipper.c
    functionUses: []
    functionsReached:
    - _cairo_clip_destroy
    linkageType: ''
    returnType: void
    signature: 'void _cairo_surface_clipper_reset (cairo_surface_clipper_t *clipper) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_fixed_move_to
      Src: /src/cairo/src/cairo-surface-clipper.c:50,1
    - Dst: _cairo_path_fixed_line_to
      Src: /src/cairo/src/cairo-surface-clipper.c:58,1
    - Dst: _cairo_path_fixed_line_to
      Src: /src/cairo/src/cairo-surface-clipper.c:54,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-clipper.c:55,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-clipper.c:51,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-clipper.c:59,1
    - Dst: _cairo_path_fixed_line_to
      Src: /src/cairo/src/cairo-surface-clipper.c:62,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-clipper.c:63,1
    - Dst: _cairo_path_fixed_close_path
      Src: /src/cairo/src/cairo-surface-clipper.c:66,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - path
    - box
    argTypes:
    - cairo_path_fixed_t*
    - cairo_box_t*
    constantsTouched: []
    func_position:
      end: 67
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 67
    functionName: _cairo_path_fixed_add_box
    functionSourceFile: /src/cairo/src/cairo-surface-clipper.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_close_path
    - _cairo_path_fixed_move_to
    - _cairo_path_fixed_line_to
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_path_fixed_add_box (cairo_path_fixed_t\
      \ *path,\t\t\t const cairo_box_t *box) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VG
      Src: /src/cairo/src/cairo-tristrip.c:43,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/cairo/src/cairo-tristrip.c:43,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-tristrip.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - strip
    argTypes:
    - cairo_tristrip_t*
    constantsTouched: []
    func_position:
      end: 52
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 52
    functionName: _cairo_tristrip_init
    functionSourceFile: /src/cairo/src/cairo-tristrip.c
    functionUses: []
    functionsReached:
    - VALGRIND_MAKE_MEM_UNDEFINED
    - ARRAY_LENGTH
    - VG
    linkageType: ''
    returnType: void
    signature: 'void _cairo_tristrip_init (cairo_tristrip_t *strip) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_INJECT_FAULT
      Src: /src/cairo/src/cairo-tristrip.c:89,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-tristrip.c:97,1
    - Dst: _cairo_realloc_ab
      Src: /src/cairo/src/cairo-tristrip.c:99,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-tristrip.c:95,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-tristrip.c:90,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-tristrip.c:103,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-tristrip.c:104,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - strip
    argTypes:
    - cairo_tristrip_t*
    constantsTouched: []
    func_position:
      end: 111
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 111
    functionName: _cairo_tristrip_grow
    functionSourceFile: /src/cairo/src/cairo-tristrip.c
    functionUses: []
    functionsReached:
    - memcpy
    - _cairo_error
    - _cairo_realloc_ab
    - _cairo_malloc_ab
    - CAIRO_INJECT_FAULT
    - unlikely
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_tristrip_grow (cairo_tristrip_t *strip) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - strip
    - limits
    - num_limits
    argTypes:
    - cairo_tristrip_t*
    - cairo_box_t*
    - int
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: _cairo_tristrip_limit
    functionSourceFile: /src/cairo/src/cairo-tristrip.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _cairo_tristrip_limit (cairo_tristrip_t\t*strip,\t\t const cairo_box_t\t\
      *limits,\t\t int\t\t\t num_limits) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_tristrip_add_point
      Src: /src/cairo/src/cairo-tristrip.c:134,1
    - Dst: _cairo_tristrip_add_point
      Src: /src/cairo/src/cairo-tristrip.c:135,1
    - Dst: _cairo_tristrip_add_point
      Src: /src/cairo/src/cairo-tristrip.c:138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - strip
    - p
    argTypes:
    - cairo_tristrip_t*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 140
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 140
    functionName: _cairo_tristrip_move_to
    functionSourceFile: /src/cairo/src/cairo-tristrip.c
    functionUses: []
    functionsReached:
    - _cairo_tristrip_add_point
    linkageType: ''
    returnType: void
    signature: "void _cairo_tristrip_move_to (cairo_tristrip_t *strip,\t\t\t const\
      \ cairo_point_t *p) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_tristrip_init
      Src: /src/cairo/src/cairo-tristrip.c:77,1
    - Dst: _cairo_tristrip_limit
      Src: /src/cairo/src/cairo-tristrip.c:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - strip
    - clip
    argTypes:
    - cairo_tristrip_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: _cairo_tristrip_init_with_clip
    functionSourceFile: /src/cairo/src/cairo-tristrip.c
    functionUses: []
    functionsReached:
    - _cairo_tristrip_init
    - _cairo_tristrip_limit
    linkageType: ''
    returnType: void
    signature: "void _cairo_tristrip_init_with_clip (cairo_tristrip_t *strip,\t\t\t\
      \tconst cairo_clip_t *clip) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-tristrip.c:58,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/cairo/src/cairo-tristrip.c:60,1
    - Dst: VG
      Src: /src/cairo/src/cairo-tristrip.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - strip
    argTypes:
    - cairo_tristrip_t*
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: _cairo_tristrip_fini
    functionSourceFile: /src/cairo/src/cairo-tristrip.c
    functionUses: []
    functionsReached:
    - free
    - VALGRIND_MAKE_MEM_UNDEFINED
    - VG
    linkageType: ''
    returnType: void
    signature: 'void _cairo_tristrip_fini (cairo_tristrip_t *strip) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-tristrip.c:117,1
    - Dst: _cairo_tristrip_grow
      Src: /src/cairo/src/cairo-tristrip.c:118,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-tristrip.c:118,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - strip
    - p
    argTypes:
    - cairo_tristrip_t*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: _cairo_tristrip_add_point
    functionSourceFile: /src/cairo/src/cairo-tristrip.c
    functionUses: []
    functionsReached:
    - _cairo_tristrip_grow
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void _cairo_tristrip_add_point (cairo_tristrip_t *strip,\t\t\t const\
      \ cairo_point_t *p) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-tristrip.c:149,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-tristrip.c:150,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - strip
    - x
    - y
    argTypes:
    - cairo_tristrip_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 156
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 156
    functionName: _cairo_tristrip_translate
    functionSourceFile: /src/cairo/src/cairo-tristrip.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_from_int
    linkageType: ''
    returnType: void
    signature: 'void _cairo_tristrip_translate (cairo_tristrip_t *strip, int x, int
      y) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 2
    argNames:
    - strip
    - extents
    argTypes:
    - cairo_tristrip_t*
    - cairo_box_t*
    constantsTouched: []
    func_position:
      end: 184
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 184
    functionName: _cairo_tristrip_extents
    functionSourceFile: /src/cairo/src/cairo-tristrip.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _cairo_tristrip_extents (const cairo_tristrip_t *strip,\t\t\t\
      \ cairo_box_t *extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_boxes_get_extents
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - stroker
    - boxes
    - num_boxes
    argTypes:
    - cairo_rectilinear_stroker_t*
    - cairo_box_t*
    - int
    constantsTouched: []
    func_position:
      end: 91
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 91
    functionName: _cairo_rectilinear_stroker_limit
    functionSourceFile: /src/cairo/src/cairo-path-stroke-boxes.c
    functionUses: []
    functionsReached:
    - _cairo_boxes_get_extents
    linkageType: ''
    returnType: void
    signature: "static void _cairo_rectilinear_stroker_limit (cairo_rectilinear_stroker_t\
      \ *stroker,\t\t\t\t const cairo_box_t *boxes,\t\t\t\t int num_boxes) "
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_boxes_add
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:297,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:298,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 72
    argCount: 1
    argNames:
    - stroker
    argTypes:
    - cairo_rectilinear_stroker_t*
    constantsTouched: []
    func_position:
      end: 304
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 304
    functionName: _cairo_rectilinear_stroker_emit_segments
    functionSourceFile: /src/cairo/src/cairo-path-stroke-boxes.c
    functionUses: []
    functionsReached:
    - _cairo_boxes_add
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_rectilinear_stroker_emit_segments (cairo_rectilinear_stroker_t
      *stroker) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - stroker
    argTypes:
    - cairo_rectilinear_stroker_t*
    constantsTouched: []
    func_position:
      end: 157
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 157
    functionName: _cairo_rectilinear_stroker_fini
    functionSourceFile: /src/cairo/src/cairo-path-stroke-boxes.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: "static void _cairo_rectilinear_stroker_fini (cairo_rectilinear_stroker_t\t\
      *stroker) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_rectilinear_stroker_emit_segments_dashed
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:432,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:435,1
    - Dst: _cairo_stroker_dash_start
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:439,1
    - Dst: _cairo_rectilinear_stroker_emit_segments
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:434,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - closure
    - point
    argTypes:
    - void*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 445
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 445
    functionName: _cairo_rectilinear_stroker_move_to
    functionSourceFile: /src/cairo/src/cairo-path-stroke-boxes.c
    functionUses: []
    functionsReached:
    - _cairo_rectilinear_stroker_emit_segments_dashed
    - unlikely
    - _cairo_stroker_dash_start
    - _cairo_rectilinear_stroker_emit_segments
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_rectilinear_stroker_move_to (void\t\t\
      *closure,\t\t\t\t const cairo_point_t\t*point) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:491,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:507,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:504,1
    - Dst: _cairo_box_contains_point
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:496,1
    - Dst: _cairo_box_contains_point
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:495,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:510,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:513,1
    - Dst: MIN
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:522,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:525,1
    - Dst: _cairo_box_intersects_line_segment
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:533,1
    - Dst: _cairo_rectilinear_stroker_add_segment
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:535,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:566,1
    - Dst: _cairo_stroker_dash_step
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:549,1
    - Dst: _cairo_box_intersects_line_segment
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:555,1
    - Dst: _cairo_rectilinear_stroker_add_segment
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:562,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:539,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 84
    argCount: 2
    argNames:
    - closure
    - point
    argTypes:
    - void*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 574
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 574
    functionName: _cairo_rectilinear_stroker_line_to_dashed
    functionSourceFile: /src/cairo/src/cairo-path-stroke-boxes.c
    functionUses: []
    functionsReached:
    - _cairo_box_intersects_line_segment
    - fabs
    - _cairo_stroker_dash_step
    - _cairo_fixed_to_double
    - MIN
    - _cairo_box_contains_point
    - assert
    - _cairo_fixed_from_double
    - _cairo_rectilinear_stroker_add_segment
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_rectilinear_stroker_line_to_dashed (void\t\
      \t*closure,\t\t\t\t\t const cairo_point_t\t*point) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_INJECT_FAULT
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:165,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:174,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:173,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:166,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:175,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:177,1
    - Dst: _cairo_realloc_ab
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:180,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:182,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:183,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 4
    argNames:
    - stroker
    - p1
    - p2
    - flags
    argTypes:
    - cairo_rectilinear_stroker_t*
    - cairo_point_t*
    - cairo_point_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 196
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 196
    functionName: _cairo_rectilinear_stroker_add_segment
    functionSourceFile: /src/cairo/src/cairo-path-stroke-boxes.c
    functionUses: []
    functionsReached:
    - memcpy
    - _cairo_error
    - _cairo_realloc_ab
    - _cairo_malloc_ab
    - CAIRO_INJECT_FAULT
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_rectilinear_stroker_add_segment (cairo_rectilinear_stroker_t\
      \ *stroker,\t\t\t\t\tconst cairo_point_t\t*p1,\t\t\t\t\tconst cairo_point_t\t\
      *p2,\t\t\t\t\tunsigned\t\t flags) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_matrix_is_scale
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:126,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:136,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:136,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:134,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:134,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:140,1
    - Dst: _cairo_stroker_dash_init
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:143,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 5
    argNames:
    - stroker
    - stroke_style
    - ctm
    - antialias
    - boxes
    argTypes:
    - cairo_rectilinear_stroker_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_antialias_t
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 150
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 150
    functionName: _cairo_rectilinear_stroker_init
    functionSourceFile: /src/cairo/src/cairo-path-stroke-boxes.c
    functionUses: []
    functionsReached:
    - fabs
    - _cairo_stroker_dash_init
    - ARRAY_LENGTH
    - _cairo_fixed_from_double
    - _cairo_matrix_is_scale
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _cairo_rectilinear_stroker_init (cairo_rectilinear_stroker_t\t\
      *stroker,\t\t\t\t const cairo_stroke_style_t\t*stroke_style,\t\t\t\t const cairo_matrix_t\t\
      \t*ctm,\t\t\t\t cairo_antialias_t\t\t antialias,\t\t\t\t cairo_boxes_t\t\t\t\
      *boxes) "
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_slope_init
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:335,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:415,1
    - Dst: _cairo_boxes_add
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:414,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:363,1
    - Dst: _cairo_boxes_add
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:362,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 86
    argCount: 1
    argNames:
    - stroker
    argTypes:
    - cairo_rectilinear_stroker_t*
    constantsTouched: []
    func_position:
      end: 422
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 422
    functionName: _cairo_rectilinear_stroker_emit_segments_dashed
    functionSourceFile: /src/cairo/src/cairo-path-stroke-boxes.c
    functionUses: []
    functionsReached:
    - _cairo_boxes_add
    - unlikely
    - _cairo_slope_init
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_rectilinear_stroker_emit_segments_dashed
      (cairo_rectilinear_stroker_t *stroker) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:456,1
    - Dst: _cairo_rectilinear_stroker_add_segment
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:462,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - closure
    - b
    argTypes:
    - void*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 469
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 469
    functionName: _cairo_rectilinear_stroker_line_to
    functionSourceFile: /src/cairo/src/cairo-path-stroke-boxes.c
    functionUses: []
    functionsReached:
    - _cairo_rectilinear_stroker_add_segment
    - assert
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_rectilinear_stroker_line_to (void\t\t\
      *closure,\t\t\t\t const cairo_point_t\t*b) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_rectilinear_stroker_line_to_dashed
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:587,1
    - Dst: _cairo_rectilinear_stroker_emit_segments
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:601,1
    - Dst: _cairo_rectilinear_stroker_line_to
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:590,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:593,1
    - Dst: _cairo_rectilinear_stroker_emit_segments_dashed
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:599,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:602,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - closure
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 606
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 606
    functionName: _cairo_rectilinear_stroker_close_path
    functionSourceFile: /src/cairo/src/cairo-path-stroke-boxes.c
    functionUses: []
    functionsReached:
    - _cairo_rectilinear_stroker_line_to_dashed
    - _cairo_rectilinear_stroker_line_to
    - _cairo_rectilinear_stroker_emit_segments_dashed
    - _cairo_rectilinear_stroker_emit_segments
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_rectilinear_stroker_close_path (void
      *closure) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_rectilinear_stroker_init
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:621,1
    - Dst: _cairo_path_fixed_stroke_is_rectilinear
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:619,1
    - Dst: _cairo_boxes_add
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:649,1
    - Dst: _cairo_boxes_add
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:665,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:699,1
    - Dst: assert
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:619,1
    - Dst: _cairo_path_fixed_is_stroke_box
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:629,1
    - Dst: assert
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:642,1
    - Dst: assert
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:658,1
    - Dst: _cairo_rectilinear_stroker_emit_segments
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:691,1
    - Dst: assert
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:650,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:685,1
    - Dst: assert
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:666,1
    - Dst: _cairo_rectilinear_stroker_emit_segments_dashed
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:689,1
    - Dst: _cairo_path_fixed_interpret
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:677,1
    - Dst: _cairo_rectilinear_stroker_fini
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:707,1
    - Dst: _cairo_boxes_add
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:641,1
    - Dst: _cairo_boxes_add
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:657,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:692,1
    - Dst: _cairo_bentley_ottmann_tessellate_boxes
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:696,1
    - Dst: _cairo_rectilinear_stroker_limit
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:672,1
    - Dst: _cairo_rectilinear_stroker_fini
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:703,1
    - Dst: _cairo_boxes_clear
      Src: /src/cairo/src/cairo-path-stroke-boxes.c:708,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 82
    argCount: 5
    argNames:
    - path
    - stroke_style
    - ctm
    - antialias
    - boxes
    argTypes:
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_antialias_t
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 710
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 710
    functionName: _cairo_path_fixed_stroke_rectilinear_to_boxes
    functionSourceFile: /src/cairo/src/cairo-path-stroke-boxes.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_is_stroke_box
    - _cairo_path_fixed_interpret
    - _cairo_boxes_clear
    - _cairo_rectilinear_stroker_limit
    - assert
    - _cairo_rectilinear_stroker_init
    - _cairo_rectilinear_stroker_emit_segments_dashed
    - _cairo_rectilinear_stroker_fini
    - _cairo_bentley_ottmann_tessellate_boxes
    - _cairo_rectilinear_stroker_emit_segments
    - _cairo_boxes_add
    - _cairo_path_fixed_stroke_is_rectilinear
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_path_fixed_stroke_rectilinear_to_boxes (const\
      \ cairo_path_fixed_t\t*path,\t\t\t\t\t const cairo_stroke_style_t\t*stroke_style,\t\
      \t\t\t\t const cairo_matrix_t\t*ctm,\t\t\t\t\t cairo_antialias_t\t antialias,\t\
      \t\t\t\t cairo_boxes_t\t\t*boxes) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VG
      Src: /src/cairo/src/cairo-stroke-style.c:41,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/cairo/src/cairo-stroke-style.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - style
    argTypes:
    - cairo_stroke_style_t*
    constantsTouched: []
    func_position:
      end: 53
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 53
    functionName: _cairo_stroke_style_init
    functionSourceFile: /src/cairo/src/cairo-stroke-style.c
    functionUses: []
    functionsReached:
    - VALGRIND_MAKE_MEM_UNDEFINED
    - VG
    linkageType: ''
    returnType: void
    signature: 'void _cairo_stroke_style_init (cairo_stroke_style_t *style) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-stroke-style.c:92,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/cairo/src/cairo-stroke-style.c:97,1
    - Dst: VG
      Src: /src/cairo/src/cairo-stroke-style.c:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - style
    argTypes:
    - cairo_stroke_style_t*
    constantsTouched: []
    func_position:
      end: 98
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 98
    functionName: _cairo_stroke_style_fini
    functionSourceFile: /src/cairo/src/cairo-stroke-style.c
    functionUses: []
    functionsReached:
    - free
    - VALGRIND_MAKE_MEM_UNDEFINED
    - VG
    linkageType: ''
    returnType: void
    signature: 'void _cairo_stroke_style_fini (cairo_stroke_style_t *style) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_matrix_has_unity_scale
      Src: /src/cairo/src/cairo-stroke-style.c:140,1
    - Dst: hypot
      Src: /src/cairo/src/cairo-stroke-style.c:143,1
    - Dst: hypot
      Src: /src/cairo/src/cairo-stroke-style.c:144,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 5
    argNames:
    - style
    - path
    - ctm
    - dx
    - dy
    argTypes:
    - cairo_stroke_style_t*
    - cairo_path_fixed_t*
    - cairo_matrix_t*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 146
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 146
    functionName: _cairo_stroke_style_max_line_distance_from_path
    functionSourceFile: /src/cairo/src/cairo-stroke-style.c
    functionUses: []
    functionsReached:
    - hypot
    - _cairo_matrix_has_unity_scale
    linkageType: ''
    returnType: void
    signature: "void _cairo_stroke_style_max_line_distance_from_path (const cairo_stroke_style_t\
      \ *style,\t\t\t\t\t\t const cairo_path_fixed_t *path,\t\t\t\t\t\t const cairo_matrix_t\
      \ *ctm,\t\t\t\t\t\t double *dx, double *dy) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/cairo/src/cairo-stroke-style.c:237,1
    - Dst: MIN
      Src: /src/cairo/src/cairo-stroke-style.c:242,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 1
    argNames:
    - style
    argTypes:
    - cairo_stroke_style_t*
    constantsTouched: []
    func_position:
      end: 246
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 246
    functionName: _cairo_stroke_style_dash_stroked
    functionSourceFile: /src/cairo/src/cairo-stroke-style.c
    functionUses: []
    functionsReached:
    - MIN
    linkageType: ''
    returnType: double
    signature: 'double _cairo_stroke_style_dash_stroked (const cairo_stroke_style_t
      *style) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_INJECT_FAULT
      Src: /src/cairo/src/cairo-stroke-style.c:59,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-stroke-style.c:74,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/cairo/src/cairo-stroke-style.c:62,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-stroke-style.c:60,1
    - Dst: VG
      Src: /src/cairo/src/cairo-stroke-style.c:62,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-stroke-style.c:75,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-stroke-style.c:76,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-stroke-style.c:78,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - style
    - other
    argTypes:
    - cairo_stroke_style_t*
    - cairo_stroke_style_t*
    constantsTouched: []
    func_position:
      end: 87
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 87
    functionName: _cairo_stroke_style_init_copy
    functionSourceFile: /src/cairo/src/cairo-stroke-style.c
    functionUses: []
    functionsReached:
    - memcpy
    - _cairo_error
    - VG
    - VALGRIND_MAKE_MEM_UNDEFINED
    - _cairo_malloc_ab
    - CAIRO_INJECT_FAULT
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_stroke_style_init_copy (cairo_stroke_style_t\
      \ *style,\t\t\t const cairo_stroke_style_t *other) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_matrix_has_unity_scale
      Src: /src/cairo/src/cairo-stroke-style.c:165,1
    - Dst: hypot
      Src: /src/cairo/src/cairo-stroke-style.c:168,1
    - Dst: hypot
      Src: /src/cairo/src/cairo-stroke-style.c:169,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 5
    argNames:
    - style
    - path
    - ctm
    - dx
    - dy
    argTypes:
    - cairo_stroke_style_t*
    - cairo_path_fixed_t*
    - cairo_matrix_t*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 171
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 171
    functionName: _cairo_stroke_style_max_join_distance_from_path
    functionSourceFile: /src/cairo/src/cairo-stroke-style.c
    functionUses: []
    functionsReached:
    - hypot
    - _cairo_matrix_has_unity_scale
    linkageType: ''
    returnType: void
    signature: "void _cairo_stroke_style_max_join_distance_from_path (const cairo_stroke_style_t\
      \ *style,\t\t\t\t\t\t const cairo_path_fixed_t *path,\t\t\t\t\t\t const cairo_matrix_t\
      \ *ctm,\t\t\t\t\t\t double *dx, double *dy) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_matrix_has_unity_scale
      Src: /src/cairo/src/cairo-stroke-style.c:125,1
    - Dst: hypot
      Src: /src/cairo/src/cairo-stroke-style.c:128,1
    - Dst: hypot
      Src: /src/cairo/src/cairo-stroke-style.c:129,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 5
    argNames:
    - style
    - path
    - ctm
    - dx
    - dy
    argTypes:
    - cairo_stroke_style_t*
    - cairo_path_fixed_t*
    - cairo_matrix_t*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 131
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 131
    functionName: _cairo_stroke_style_max_distance_from_path
    functionSourceFile: /src/cairo/src/cairo-stroke-style.c
    functionUses: []
    functionsReached:
    - hypot
    - _cairo_matrix_has_unity_scale
    linkageType: ''
    returnType: void
    signature: "void _cairo_stroke_style_max_distance_from_path (const cairo_stroke_style_t\
      \ *style,\t\t\t\t\t const cairo_path_fixed_t *path, const cairo_matrix_t *ctm,\
      \ double *dx, double *dy) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - style
    argTypes:
    - cairo_stroke_style_t*
    constantsTouched: []
    func_position:
      end: 190
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 190
    functionName: _cairo_stroke_style_dash_period
    functionSourceFile: /src/cairo/src/cairo-stroke-style.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: 'double _cairo_stroke_style_dash_period (const cairo_stroke_style_t
      *style) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_stroke_style_dash_period
      Src: /src/cairo/src/cairo-stroke-style.c:264,1
    - Dst: _cairo_matrix_transformed_circle_major_axis
      Src: /src/cairo/src/cairo-stroke-style.c:265,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - style
    - ctm
    - tolerance
    argTypes:
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - double
    constantsTouched: []
    func_position:
      end: 266
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 266
    functionName: _cairo_stroke_style_dash_can_approximate
    functionSourceFile: /src/cairo/src/cairo-stroke-style.c
    functionUses: []
    functionsReached:
    - _cairo_stroke_style_dash_period
    - _cairo_matrix_transformed_circle_major_axis
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t _cairo_stroke_style_dash_can_approximate (const cairo_stroke_style_t\
      \ *style,\t\t\t\t\t const cairo_matrix_t *ctm,\t\t\t\t\t double tolerance) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_stroke_style_dash_stroked
      Src: /src/cairo/src/cairo-stroke-style.c:284,1
    - Dst: _cairo_matrix_transformed_circle_major_axis
      Src: /src/cairo/src/cairo-stroke-style.c:286,1
    - Dst: MIN
      Src: /src/cairo/src/cairo-stroke-style.c:285,1
    - Dst: _cairo_stroke_style_dash_period
      Src: /src/cairo/src/cairo-stroke-style.c:284,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-stroke-style.c:340,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-stroke-style.c:350,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 6
    argNames:
    - style
    - ctm
    - tolerance
    - dash_offset
    - dashes
    - num_dashes
    argTypes:
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - double
    - double*
    - double*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 357
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 357
    functionName: _cairo_stroke_style_dash_approximate
    functionSourceFile: /src/cairo/src/cairo-stroke-style.c
    functionUses: []
    functionsReached:
    - MIN
    - MAX
    - _cairo_stroke_style_dash_period
    - _cairo_stroke_style_dash_stroked
    - _cairo_matrix_transformed_circle_major_axis
    linkageType: ''
    returnType: void
    signature: "void _cairo_stroke_style_dash_approximate (const cairo_stroke_style_t\
      \ *style,\t\t\t\t const cairo_matrix_t *ctm,\t\t\t\t double tolerance,\t\t\t\
      \t double *dash_offset,\t\t\t\t double *dashes,\t\t\t\t unsigned int *num_dashes) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create
      Src: /src/cairo/src/cairo-ps-surface.c:2415,1
    - Dst: _cairo_surface_paint
      Src: /src/cairo/src/cairo-ps-surface.c:2422,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:2426,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-ps-surface.c:2427,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:2418,1
    - Dst: _cairo_pattern_init_for_surface
      Src: /src/cairo/src/cairo-ps-surface.c:2432,1
    - Dst: _cairo_surface_paint
      Src: /src/cairo/src/cairo-ps-surface.c:2434,1
    - Dst: _cairo_pattern_fini
      Src: /src/cairo/src/cairo-ps-surface.c:2435,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:2436,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-ps-surface.c:2437,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - surface
    - image
    - opaque_image
    argTypes:
    - cairo_ps_surface_t*
    - cairo_image_surface_t*
    - cairo_image_surface_t**
    constantsTouched: []
    func_position:
      end: 2443
      start: 2406
    functionDepth: 0
    functionLinenumber: 2406
    functionLinenumberEnd: 2443
    functionName: _cairo_ps_surface_flatten_image_transparency
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_init_for_surface
    - _cairo_pattern_fini
    - cairo_surface_destroy
    - cairo_image_surface_create
    - _cairo_surface_paint
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_ps_surface_flatten_image_transparency\
      \ (cairo_ps_surface_t *surface,\t\t\t\t\t cairo_image_surface_t *image,\t\t\t\
      \t\t cairo_image_surface_t **opaque_image) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_ps_surface_acquire_source_surface_from_pattern
      Src: /src/cairo/src/cairo-ps-surface.c:2024,1
    - Dst: _cairo_image_analyze_transparency
      Src: /src/cairo/src/cairo-ps-surface.c:2043,1
    - Dst: _cairo_surface_acquire_source_image
      Src: /src/cairo/src/cairo-ps-surface.c:2036,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:2033,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:2037,1
    - Dst: _cairo_surface_release_source_image
      Src: /src/cairo/src/cairo-ps-surface.c:2066,1
    - Dst: _cairo_ps_surface_release_source_surface_from_pattern
      Src: /src/cairo/src/cairo-ps-surface.c:2067,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 20
    argCount: 3
    argNames:
    - surface
    - pattern
    - extents
    argTypes:
    - cairo_ps_surface_t*
    - cairo_pattern_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 2070
      start: 2009
    functionDepth: 0
    functionLinenumber: 2009
    functionLinenumberEnd: 2070
    functionName: _cairo_ps_surface_analyze_surface_pattern_transparency
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_release_source_image
    - _cairo_ps_surface_acquire_source_surface_from_pattern
    - _cairo_image_analyze_transparency
    - _cairo_ps_surface_release_source_surface_from_pattern
    - _cairo_surface_acquire_source_image
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_ps_surface_analyze_surface_pattern_transparency\
      \ (cairo_ps_surface_t *surface,\t\t\t\t\t\t\tconst cairo_pattern_t *pattern,\t\
      \t\t\t\t\t\tconst cairo_rectangle_int_t *extents) "
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - pattern
    argTypes:
    - cairo_surface_pattern_t*
    constantsTouched: []
    func_position:
      end: 2091
      start: 2072
    functionDepth: 0
    functionLinenumber: 2072
    functionLinenumberEnd: 2091
    functionName: surface_pattern_supported
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t surface_pattern_supported (const cairo_surface_pattern_t
      *pattern) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _base85_strings_stream_create
      Src: /src/cairo/src/cairo-ps-surface.c:2459,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-ps-surface.c:2465,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:2464,1
    - Dst: _base85_wrap_stream_create
      Src: /src/cairo/src/cairo-ps-surface.c:2461,1
    - Dst: _cairo_deflate_stream_create
      Src: /src/cairo/src/cairo-ps-surface.c:2495,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-ps-surface.c:2503,1
    - Dst: _cairo_lzw_compress
      Src: /src/cairo/src/cairo-ps-surface.c:2484,1
    - Dst: free
      Src: /src/cairo/src/cairo-ps-surface.c:2491,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:2501,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-ps-surface.c:2502,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-ps-surface.c:2463,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-ps-surface.c:2471,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-ps-surface.c:2487,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ps-surface.c:2488,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-ps-surface.c:2496,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-ps-surface.c:2497,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-ps-surface.c:2499,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-ps-surface.c:2500,1
    - Dst: _cairo_base85_stream_create
      Src: /src/cairo/src/cairo-ps-surface.c:2467,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-ps-surface.c:2468,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:2469,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-ps-surface.c:2470,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-ps-surface.c:2477,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:2485,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-ps-surface.c:2490,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-ps-surface.c:2486,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-ps-surface.c:2508,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-ps-surface.c:2509,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 54
    argCount: 5
    argNames:
    - surface
    - data
    - length
    - compress
    - use_strings
    argTypes:
    - cairo_ps_surface_t*
    - unsigned char*
    - unsigned long
    - cairo_ps_compress_t
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 2514
      start: 2445
    functionDepth: 0
    functionLinenumber: 2445
    functionLinenumberEnd: 2514
    functionName: _cairo_ps_surface_emit_base85_string
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_lzw_compress
    - _cairo_deflate_stream_create
    - _cairo_error
    - free
    - _cairo_output_stream_write
    - _cairo_base85_stream_create
    - _base85_wrap_stream_create
    - _base85_strings_stream_create
    - _cairo_output_stream_get_status
    - _cairo_output_stream_destroy
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_ps_surface_emit_base85_string (cairo_ps_surface_t\
      \ *surface,\t\t\t\t const unsigned char *data,\t\t\t\t unsigned long\t length,\t\
      \t\t\t cairo_ps_compress_t compress,\t\t\t\t cairo_bool_t use_strings) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_composite_rectangles_init_for_mask
      Src: /src/cairo/src/cairo-ps-surface.c:4982,1
    - Dst: _cairo_ps_surface_analyze_operation
      Src: /src/cairo/src/cairo-ps-surface.c:4989,1
    - Dst: assert
      Src: /src/cairo/src/cairo-ps-surface.c:4993,1
    - Dst: _cairo_ps_surface_operation_supported
      Src: /src/cairo/src/cairo-ps-surface.c:4993,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:4985,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4996,1
    - Dst: _cairo_ps_surface_set_clip
      Src: /src/cairo/src/cairo-ps-surface.c:5000,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:5001,1
    - Dst: _cairo_ps_surface_emit_pattern
      Src: /src/cairo/src/cairo-ps-surface.c:5004,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:5005,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:5008,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:5015,1
    - Dst: _cairo_ps_surface_paint_pattern
      Src: /src/cairo/src/cairo-ps-surface.c:5009,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-ps-surface.c:5018,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:5012,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 23
    argCount: 5
    argNames:
    - abstract_surface
    - op
    - source
    - mask
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 5020
      start: 4970
    functionDepth: 0
    functionLinenumber: 4970
    functionLinenumberEnd: 5020
    functionName: _cairo_ps_surface_mask
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_ps_surface_emit_pattern
    - _cairo_ps_surface_analyze_operation
    - assert
    - _cairo_composite_rectangles_init_for_mask
    - _cairo_ps_surface_operation_supported
    - _cairo_composite_rectangles_fini
    - _cairo_ps_surface_set_clip
    - _cairo_ps_surface_paint_pattern
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_ps_surface_mask (void\t\t\t*abstract_surface,\t\
      \t\tcairo_operator_t\t op,\t\t\tconst cairo_pattern_t\t*source,\t\t\tconst cairo_pattern_t\t\
      *mask,\t\t\tconst cairo_clip_t\t*clip) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_composite_rectangles_init_for_stroke
      Src: /src/cairo/src/cairo-ps-surface.c:5038,1
    - Dst: _cairo_box_from_rectangle
      Src: /src/cairo/src/cairo-ps-surface.c:5058,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:5043,1
    - Dst: _cairo_path_fixed_stroke_extents
      Src: /src/cairo/src/cairo-ps-surface.c:5051,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:5055,1
    - Dst: _cairo_composite_rectangles_intersect_mask_extents
      Src: /src/cairo/src/cairo-ps-surface.c:5059,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:5060,1
    - Dst: _cairo_ps_surface_analyze_operation
      Src: /src/cairo/src/cairo-ps-surface.c:5065,1
    - Dst: assert
      Src: /src/cairo/src/cairo-ps-surface.c:5069,1
    - Dst: _cairo_ps_surface_operation_supported
      Src: /src/cairo/src/cairo-ps-surface.c:5069,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:5072,1
    - Dst: _cairo_ps_surface_set_clip
      Src: /src/cairo/src/cairo-ps-surface.c:5076,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:5077,1
    - Dst: _cairo_pdf_operators_stroke
      Src: /src/cairo/src/cairo-ps-surface.c:5084,1
    - Dst: _cairo_ps_surface_emit_pattern
      Src: /src/cairo/src/cairo-ps-surface.c:5080,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-ps-surface.c:5091,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:5081,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 28
    argCount: 10
    argNames:
    - abstract_surface
    - op
    - source
    - path
    - style
    - ctm
    - ctm_inverse
    - tolerance
    - antialias
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 5093
      start: 5022
    functionDepth: 0
    functionLinenumber: 5022
    functionLinenumberEnd: 5093
    functionName: _cairo_ps_surface_stroke
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_ps_surface_emit_pattern
    - _cairo_pdf_operators_stroke
    - _cairo_path_fixed_stroke_extents
    - _cairo_composite_rectangles_init_for_stroke
    - _cairo_ps_surface_analyze_operation
    - assert
    - _cairo_ps_surface_operation_supported
    - _cairo_composite_rectangles_fini
    - _cairo_composite_rectangles_intersect_mask_extents
    - _cairo_ps_surface_set_clip
    - _cairo_box_from_rectangle
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_ps_surface_stroke (void\t\t\t*abstract_surface,\t\
      \t\t cairo_operator_t\t op,\t\t\t const cairo_pattern_t\t*source,\t\t\t const\
      \ cairo_path_fixed_t\t*path,\t\t\t const cairo_stroke_style_t\t*style,\t\t\t\
      \ const cairo_matrix_t\t*ctm,\t\t\t const cairo_matrix_t\t*ctm_inverse,\t\t\t\
      \ double\t\t tolerance,\t\t\t cairo_antialias_t\t antialias,\t\t\t const cairo_clip_t\t\
      \t*clip) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_hash_table_remove
      Src: /src/cairo/src/cairo-ps-surface.c:290,1
    - Dst: free
      Src: /src/cairo/src/cairo-ps-surface.c:291,1
    - Dst: _cairo_recording_surface_region_array_remove
      Src: /src/cairo/src/cairo-ps-surface.c:293,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-ps-surface.c:294,1
    - Dst: _cairo_surface_is_recording
      Src: /src/cairo/src/cairo-ps-surface.c:292,1
    - Dst: free
      Src: /src/cairo/src/cairo-ps-surface.c:295,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - entry
    - closure
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 296
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 296
    functionName: _cairo_ps_form_pluck
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_recording_surface_region_array_remove
    - free
    - cairo_surface_destroy
    - _cairo_surface_is_recording
    - _cairo_hash_table_remove
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_ps_form_pluck (void *entry, void *closure) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/cairo/src/cairo-ps-surface.c:312,1
    - Dst: cairo_list_foreach_entry
      Src: /src/cairo/src/cairo-ps-surface.c:345,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-ps-surface.c:363,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:354,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:495,1
    - Dst: cairo_version_string
      Src: /src/cairo/src/cairo-ps-surface.c:326,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:329,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:322,1
    - Dst: getenv
      Src: /src/cairo/src/cairo-ps-surface.c:328,1
    - Dst: ctime_r
      Src: /src/cairo/src/cairo-ps-surface.c:331,1
    - Dst: cairo_list_is_empty
      Src: /src/cairo/src/cairo-ps-surface.c:341,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-ps-surface.c:364,1
    - Dst: strncmp
      Src: /src/cairo/src/cairo-ps-surface.c:368,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:384,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:387,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:347,1
    - Dst: free
      Src: /src/cairo/src/cairo-ps-surface.c:371,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:351,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:394,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:404,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:511,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:334,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:366,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:376,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:391,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:461,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 57
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_ps_surface_t*
    constantsTouched: []
    func_position:
      end: 513
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 513
    functionName: _cairo_ps_surface_emit_header
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - cairo_list_foreach_entry
    - _cairo_array_index
    - time
    - getenv
    - cairo_version_string
    - free
    - _cairo_array_num_elements
    - strncmp
    - ctime_r
    - cairo_list_is_empty
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_ps_surface_emit_header (cairo_ps_surface_t *surface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _extract_ps_surface
      Src: /src/cairo/src/cairo-ps-surface.c:1506,1
    - Dst: ceil
      Src: /src/cairo/src/cairo-ps-surface.c:1514,1
    - Dst: _cairo_pdf_operators_set_cairo_to_pdf_matrix
      Src: /src/cairo/src/cairo-ps-surface.c:1516,1
    - Dst: cairo_matrix_init
      Src: /src/cairo/src/cairo-ps-surface.c:1511,1
    - Dst: ceil
      Src: /src/cairo/src/cairo-ps-surface.c:1515,1
    - Dst: _cairo_paginated_surface_set_size
      Src: /src/cairo/src/cairo-ps-surface.c:1518,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-ps-surface.c:1522,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - surface
    - width_in_points
    - height_in_points
    argTypes:
    - cairo_surface_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 1523
      start: 1498
    functionDepth: 0
    functionLinenumber: 1498
    functionLinenumberEnd: 1523
    functionName: cairo_ps_surface_set_size
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _extract_ps_surface
    - _cairo_pdf_operators_set_cairo_to_pdf_matrix
    - _cairo_surface_set_error
    - _cairo_paginated_surface_set_size
    - ceil
    - cairo_matrix_init
    linkageType: ''
    returnType: void
    signature: "void cairo_ps_surface_set_size (cairo_surface_t\t*surface,\t\t\t double\t\
      \t width_in_points,\t\t\t double\t\t height_in_points) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _extract_ps_surface
      Src: /src/cairo/src/cairo-ps-surface.c:1475,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1479
      start: 1470
    functionDepth: 0
    functionLinenumber: 1470
    functionLinenumberEnd: 1479
    functionName: cairo_ps_surface_get_eps
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _extract_ps_surface
    linkageType: ''
    returnType: cairo_public
    signature: "cairo_public cairo_bool_t cairo_ps_surface_get_eps (cairo_surface_t\t\
      *surface) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_composite_rectangles_can_reduce_clip
      Src: /src/cairo/src/cairo-ps-surface.c:4895,1
    - Dst: _cairo_surface_clipper_set_clip
      Src: /src/cairo/src/cairo-ps-surface.c:4904,1
    - Dst: _cairo_composite_rectangles_can_reduce_clip
      Src: /src/cairo/src/cairo-ps-surface.c:4899,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - surface
    - composite
    argTypes:
    - cairo_ps_surface_t*
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 4905
      start: 4889
    functionDepth: 0
    functionLinenumber: 4889
    functionLinenumberEnd: 4905
    functionName: _cairo_ps_surface_set_clip
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_clipper_set_clip
    - _cairo_composite_rectangles_can_reduce_clip
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_ps_surface_set_clip (cairo_ps_surface_t\
      \ *surface,\t\t\t cairo_composite_rectangles_t *composite) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_box_from_rectangle
      Src: /src/cairo/src/cairo-ps-surface.c:5126,1
    - Dst: _cairo_ps_surface_analyze_operation
      Src: /src/cairo/src/cairo-ps-surface.c:5133,1
    - Dst: _cairo_pdf_operators_clip
      Src: /src/cairo/src/cairo-ps-surface.c:5155,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:5158,1
    - Dst: _cairo_pdf_operators_fill
      Src: /src/cairo/src/cairo-ps-surface.c:5174,1
    - Dst: _cairo_composite_rectangles_intersect_mask_extents
      Src: /src/cairo/src/cairo-ps-surface.c:5127,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:5128,1
    - Dst: _cairo_ps_surface_operation_supported
      Src: /src/cairo/src/cairo-ps-surface.c:5137,1
    - Dst: _cairo_pdf_operators_flush
      Src: /src/cairo/src/cairo-ps-surface.c:5144,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:5145,1
    - Dst: _cairo_ps_surface_paint_pattern
      Src: /src/cairo/src/cairo-ps-surface.c:5161,1
    - Dst: _can_paint_pattern
      Src: /src/cairo/src/cairo-ps-surface.c:5152,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:5164,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:5167,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:5171,1
    - Dst: _cairo_composite_rectangles_init_for_fill
      Src: /src/cairo/src/cairo-ps-surface.c:5109,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:5113,1
    - Dst: _cairo_ps_surface_set_clip
      Src: /src/cairo/src/cairo-ps-surface.c:5148,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:5149,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:5153,1
    - Dst: _cairo_ps_surface_emit_pattern
      Src: /src/cairo/src/cairo-ps-surface.c:5170,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-ps-surface.c:5180,1
    - Dst: _cairo_path_fixed_fill_extents
      Src: /src/cairo/src/cairo-ps-surface.c:5121,1
    - Dst: assert
      Src: /src/cairo/src/cairo-ps-surface.c:5137,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:5140,1
    - Dst: _cairo_pdf_operators_reset
      Src: /src/cairo/src/cairo-ps-surface.c:5168,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 41
    argCount: 8
    argNames:
    - abstract_surface
    - op
    - source
    - path
    - fill_rule
    - tolerance
    - antialias
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 5182
      start: 5095
    functionDepth: 0
    functionLinenumber: 5095
    functionLinenumberEnd: 5182
    functionName: _cairo_ps_surface_fill
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_ps_surface_emit_pattern
    - _cairo_pdf_operators_reset
    - _cairo_pdf_operators_clip
    - _cairo_pdf_operators_fill
    - _cairo_path_fixed_fill_extents
    - _cairo_ps_surface_analyze_operation
    - assert
    - _cairo_ps_surface_operation_supported
    - _can_paint_pattern
    - _cairo_composite_rectangles_intersect_mask_extents
    - _cairo_ps_surface_set_clip
    - _cairo_composite_rectangles_init_for_fill
    - _cairo_composite_rectangles_fini
    - _cairo_pdf_operators_flush
    - _cairo_ps_surface_paint_pattern
    - _cairo_box_from_rectangle
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_ps_surface_fill (void\t\t*abstract_surface,\t\
      \t\tcairo_operator_t\t op,\t\t\tconst cairo_pattern_t\t*source,\t\t\tconst cairo_path_fixed_t*path,\t\
      \t\tcairo_fill_rule_t\t fill_rule,\t\t\tdouble\t\t\t tolerance,\t\t\tcairo_antialias_t\t\
      \ antialias,\t\t\tconst cairo_clip_t\t\t*clip) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_composite_rectangles_init_for_glyphs
      Src: /src/cairo/src/cairo-ps-surface.c:5209,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:5216,1
    - Dst: assert
      Src: /src/cairo/src/cairo-ps-surface.c:5224,1
    - Dst: _cairo_ps_surface_operation_supported
      Src: /src/cairo/src/cairo-ps-surface.c:5224,1
    - Dst: _cairo_ps_surface_analyze_operation
      Src: /src/cairo/src/cairo-ps-surface.c:5220,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:5227,1
    - Dst: _cairo_ps_surface_set_clip
      Src: /src/cairo/src/cairo-ps-surface.c:5231,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:5232,1
    - Dst: _cairo_ps_surface_emit_pattern
      Src: /src/cairo/src/cairo-ps-surface.c:5235,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:5236,1
    - Dst: _cairo_pdf_operators_show_text_glyphs
      Src: /src/cairo/src/cairo-ps-surface.c:5239,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-ps-surface.c:5247,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 20
    argCount: 12
    argNames:
    - abstract_surface
    - op
    - source
    - utf8
    - utf8_len
    - glyphs
    - num_glyphs
    - clusters
    - num_clusters
    - cluster_flags
    - scaled_font
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - char*
    - int
    - cairo_glyph_t*
    - int
    - cairo_text_cluster_t*
    - int
    - cairo_text_cluster_flags_t
    - cairo_scaled_font_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 5249
      start: 5190
    functionDepth: 0
    functionLinenumber: 5190
    functionLinenumberEnd: 5249
    functionName: _cairo_ps_surface_show_text_glyphs
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_ps_surface_emit_pattern
    - _cairo_pdf_operators_show_text_glyphs
    - _cairo_ps_surface_analyze_operation
    - assert
    - _cairo_composite_rectangles_init_for_glyphs
    - _cairo_ps_surface_operation_supported
    - _cairo_composite_rectangles_fini
    - _cairo_ps_surface_set_clip
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_ps_surface_show_text_glyphs (void\t\
      \t *abstract_surface,\t\t\t\t cairo_operator_t\t op,\t\t\t\t const cairo_pattern_t\
      \ *source,\t\t\t\t const char *utf8,\t\t\t\t int utf8_len,\t\t\t\t cairo_glyph_t\t\
      \ *glyphs,\t\t\t\t int\t\t\t num_glyphs,\t\t\t\t const cairo_text_cluster_t\
      \ *clusters,\t\t\t\t int num_clusters,\t\t\t\t cairo_text_cluster_flags_t cluster_flags,\t\
      \t\t\t cairo_scaled_font_t\t *scaled_font,\t\t\t\t const cairo_clip_t\t *clip) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4932,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:4942,1
    - Dst: _cairo_ps_surface_emit_pattern
      Src: /src/cairo/src/cairo-ps-surface.c:4954,1
    - Dst: assert
      Src: /src/cairo/src/cairo-ps-surface.c:4929,1
    - Dst: _cairo_pdf_operators_flush
      Src: /src/cairo/src/cairo-ps-surface.c:4941,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4945,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4952,1
    - Dst: _cairo_ps_surface_analyze_operation
      Src: /src/cairo/src/cairo-ps-surface.c:4925,1
    - Dst: _can_paint_pattern
      Src: /src/cairo/src/cairo-ps-surface.c:4940,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4958,1
    - Dst: _cairo_ps_surface_paint_pattern
      Src: /src/cairo/src/cairo-ps-surface.c:4946,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:4949,1
    - Dst: _cairo_composite_rectangles_init_for_paint
      Src: /src/cairo/src/cairo-ps-surface.c:4918,1
    - Dst: _cairo_ps_surface_operation_supported
      Src: /src/cairo/src/cairo-ps-surface.c:4929,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:4921,1
    - Dst: _cairo_ps_surface_set_clip
      Src: /src/cairo/src/cairo-ps-surface.c:4936,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:4937,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:4955,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-ps-surface.c:4966,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 30
    argCount: 4
    argNames:
    - abstract_surface
    - op
    - source
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 4968
      start: 4907
    functionDepth: 0
    functionLinenumber: 4907
    functionLinenumberEnd: 4968
    functionName: _cairo_ps_surface_paint
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_ps_surface_emit_pattern
    - _cairo_ps_surface_analyze_operation
    - assert
    - _cairo_ps_surface_operation_supported
    - _can_paint_pattern
    - _cairo_composite_rectangles_fini
    - _cairo_ps_surface_set_clip
    - _cairo_pdf_operators_flush
    - _cairo_ps_surface_paint_pattern
    - _cairo_composite_rectangles_init_for_paint
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_ps_surface_paint (void\t\t\t*abstract_surface,\t\
      \t\t cairo_operator_t\t op,\t\t\t const cairo_pattern_t\t*source,\t\t\t const\
      \ cairo_clip_t\t*clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 5188
      start: 5184
    functionDepth: 0
    functionLinenumber: 5184
    functionLinenumberEnd: 5188
    functionName: _cairo_ps_surface_has_show_text_glyphs
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _cairo_ps_surface_has_show_text_glyphs\t(void\t\
      \t\t*abstract_surface) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5255
      start: 5251
    functionDepth: 0
    functionLinenumber: 5251
    functionLinenumberEnd: 5255
    functionName: _cairo_ps_surface_get_supported_mime_types
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char**
    signature: "static const char **_cairo_ps_surface_get_supported_mime_types (void\t\
      \t *abstract_surface) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/cairo/src/cairo-ps-surface.c:526,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:529,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:535,1
    - Dst: _cairo_type1_subset_init
      Src: /src/cairo/src/cairo-ps-surface.c:528,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:539,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-ps-surface.c:543,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:544,1
    - Dst: _cairo_type1_subset_fini
      Src: /src/cairo/src/cairo-ps-surface.c:547,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - surface
    - font_subset
    argTypes:
    - cairo_ps_surface_t*
    - cairo_scaled_font_subset_t*
    constantsTouched: []
    func_position:
      end: 550
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 550
    functionName: _cairo_ps_surface_emit_type1_font_subset
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_type1_subset_init
    - _cairo_type1_subset_fini
    - _cairo_output_stream_write
    - snprintf
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_ps_surface_emit_type1_font_subset (cairo_ps_surface_t\t\
      \t*surface,\t\t\t\t\t cairo_scaled_font_subset_t\t*font_subset) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_create
      Src: /src/cairo/src/cairo-ps-surface.c:1295,1
    - Dst: _cairo_ps_surface_create_for_stream_internal
      Src: /src/cairo/src/cairo-ps-surface.c:1299,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-ps-surface.c:1297,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-ps-surface.c:1296,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-ps-surface.c:1297,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1287
    functionDepth: 0
    functionLinenumber: 1287
    functionLinenumberEnd: 1302
    functionName: cairo_ps_surface_create_for_stream
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_ps_surface_create_for_stream_internal
    - _cairo_output_stream_create
    - _cairo_surface_create_in_error
    - _cairo_output_stream_get_status
    - _cairo_output_stream_destroy
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *cairo_ps_surface_create_for_stream (cairo_write_func_t\t\
      write_func,\t\t\t\t void\t *closure,\t\t\t\t double\t\twidth_in_points,\t\t\t\
      \t double\t\theight_in_points) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _extract_ps_surface
      Src: /src/cairo/src/cairo-ps-surface.c:1622,1
    - Dst: strdup
      Src: /src/cairo/src/cairo-ps-surface.c:1637,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-ps-surface.c:1632,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-ps-surface.c:1631,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-ps-surface.c:1627,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:1638,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-ps-surface.c:1639,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-ps-surface.c:1643,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:1644,1
    - Dst: free
      Src: /src/cairo/src/cairo-ps-surface.c:1645,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-ps-surface.c:1646,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 2
    argNames:
    - surface
    - comment
    argTypes:
    - cairo_surface_t*
    - char*
    constantsTouched: []
    func_position:
      end: 1649
      start: 1614
    functionDepth: 0
    functionLinenumber: 1614
    functionLinenumberEnd: 1649
    functionName: cairo_ps_surface_dsc_comment
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _extract_ps_surface
    - strlen
    - free
    - strdup
    - _cairo_surface_set_error
    - _cairo_array_append
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void cairo_ps_surface_dsc_comment (cairo_surface_t\t*surface,\t\t\t\
      \ const char\t*comment) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/cairo/src/cairo-ps-surface.c:562,1
    - Dst: _cairo_type1_fallback_init_hex
      Src: /src/cairo/src/cairo-ps-surface.c:564,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:573,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:565,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:569,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-ps-surface.c:577,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:578,1
    - Dst: _cairo_type1_fallback_fini
      Src: /src/cairo/src/cairo-ps-surface.c:581,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - surface
    - font_subset
    argTypes:
    - cairo_ps_surface_t*
    - cairo_scaled_font_subset_t*
    constantsTouched: []
    func_position:
      end: 584
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 584
    functionName: _cairo_ps_surface_emit_type1_font_fallback
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_type1_fallback_fini
    - _cairo_output_stream_write
    - _cairo_type1_fallback_init_hex
    - snprintf
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_ps_surface_emit_type1_font_fallback (cairo_ps_surface_t\t\
      \t*surface, cairo_scaled_font_subset_t\t*font_subset) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_create_for_filename
      Src: /src/cairo/src/cairo-ps-surface.c:1250,1
    - Dst: _cairo_ps_surface_create_for_stream_internal
      Src: /src/cairo/src/cairo-ps-surface.c:1254,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-ps-surface.c:1251,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-ps-surface.c:1252,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-ps-surface.c:1252,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1243
    functionDepth: 0
    functionLinenumber: 1243
    functionLinenumberEnd: 1257
    functionName: cairo_ps_surface_create
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_ps_surface_create_for_stream_internal
    - _cairo_output_stream_create_for_filename
    - _cairo_surface_create_in_error
    - _cairo_output_stream_get_status
    - _cairo_output_stream_destroy
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *cairo_ps_surface_create (const char\t\t*filename,\t\
      \t\t double\t\t\t width_in_points,\t\t\t double\t\t\t height_in_points) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_hash_table_foreach
      Src: /src/cairo/src/cairo-ps-surface.c:922,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_ps_surface_t*
    constantsTouched: []
    func_position:
      end: 926
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 926
    functionName: _cairo_ps_surface_emit_forms
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_hash_table_foreach
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t _cairo_ps_surface_emit_forms (cairo_ps_surface_t
      *surface) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:2282,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:2314,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:2319,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:2285,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-ps-surface.c:2291,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-ps-surface.c:2324,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 3
    argNames:
    - base
    - data
    - length
    argTypes:
    - cairo_output_stream_t*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2325
      start: 2268
    functionDepth: 0
    functionLinenumber: 2268
    functionLinenumberEnd: 2325
    functionName: _base85_string_wrap_stream_write
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_get_status
    - _cairo_output_stream_write
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _base85_string_wrap_stream_write (cairo_output_stream_t\
      \ *base,\t\t\t\t const unsigned char *data,\t\t\t\t unsigned int\t length) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ceil
      Src: /src/cairo/src/cairo-ps-surface.c:5269,1
    - Dst: _cairo_pdf_operators_flush
      Src: /src/cairo/src/cairo-ps-surface.c:5274,1
    - Dst: ceil
      Src: /src/cairo/src/cairo-ps-surface.c:5270,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:5276,1
    - Dst: _cairo_surface_clipper_reset
      Src: /src/cairo/src/cairo-ps-surface.c:5277,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - abstract_surface
    - paginated_mode
    argTypes:
    - void*
    - cairo_paginated_mode_t
    constantsTouched: []
    func_position:
      end: 5282
      start: 5257
    functionDepth: 0
    functionLinenumber: 5257
    functionLinenumberEnd: 5282
    functionName: _cairo_ps_surface_set_paginated_mode
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_clipper_reset
    - _cairo_pdf_operators_flush
    - ceil
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_ps_surface_set_paginated_mode (void\t\
      \t\t*abstract_surface,\t\t\t\t cairo_paginated_mode_t\t paginated_mode) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ferror
      Src: /src/cairo/src/cairo-ps-surface.c:934,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-ps-surface.c:939,1
    - Dst: fread
      Src: /src/cairo/src/cairo-ps-surface.c:938,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ps-surface.c:935,1
    - Dst: rewind
      Src: /src/cairo/src/cairo-ps-surface.c:937,1
    - Dst: ferror
      Src: /src/cairo/src/cairo-ps-surface.c:941,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ps-surface.c:942,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_ps_surface_t*
    constantsTouched: []
    func_position:
      end: 945
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 945
    functionName: _cairo_ps_surface_emit_body
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - ferror
    - _cairo_error
    - _cairo_output_stream_write
    - fread
    - rewind
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_ps_surface_emit_body (cairo_ps_surface_t
      *surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:2333,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-ps-surface.c:2335,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - base
    argTypes:
    - cairo_output_stream_t*
    constantsTouched: []
    func_position:
      end: 2336
      start: 2327
    functionDepth: 0
    functionLinenumber: 2327
    functionLinenumberEnd: 2336
    functionName: _base85_string_wrap_stream_close
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_get_status
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _base85_string_wrap_stream_close (cairo_output_stream_t
      *base) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ceil
      Src: /src/cairo/src/cairo-ps-surface.c:5300,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:5323,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:5318,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-ps-surface.c:5328,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:5349,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-ps-surface.c:5329,1
    - Dst: strncmp
      Src: /src/cairo/src/cairo-ps-surface.c:5333,1
    - Dst: strncmp
      Src: /src/cairo/src/cairo-ps-surface.c:5336,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ps-surface.c:5347,1
    - Dst: _cairo_ps_surface_get_page_media
      Src: /src/cairo/src/cairo-ps-surface.c:5345,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:5346,1
    - Dst: _cairo_box_round_to_rectangle
      Src: /src/cairo/src/cairo-ps-surface.c:5296,1
    - Dst: free
      Src: /src/cairo/src/cairo-ps-surface.c:5339,1
    - Dst: _cairo_array_truncate
      Src: /src/cairo/src/cairo-ps-surface.c:5342,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:5355,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:5364,1
    - Dst: ceil
      Src: /src/cairo/src/cairo-ps-surface.c:5367,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:5370,1
    - Dst: ceil
      Src: /src/cairo/src/cairo-ps-surface.c:5378,1
    - Dst: _cairo_pdf_operators_reset
      Src: /src/cairo/src/cairo-ps-surface.c:5381,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-ps-surface.c:5383,1
    - Dst: ceil
      Src: /src/cairo/src/cairo-ps-surface.c:5302,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:5331,1
    - Dst: ceil
      Src: /src/cairo/src/cairo-ps-surface.c:5366,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 71
    argCount: 2
    argNames:
    - abstract_surface
    - analysis_bbox
    argTypes:
    - void*
    - cairo_box_t*
    constantsTouched: []
    func_position:
      end: 5384
      start: 5284
    functionDepth: 0
    functionLinenumber: 5284
    functionLinenumberEnd: 5384
    functionName: _cairo_ps_surface_set_bounding_box
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    - _cairo_pdf_operators_reset
    - _cairo_box_round_to_rectangle
    - _cairo_error
    - free
    - _cairo_array_num_elements
    - strncmp
    - _cairo_array_truncate
    - _cairo_ps_surface_get_page_media
    - _cairo_output_stream_get_status
    - ceil
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_ps_surface_set_bounding_box (void\t\
      \t*abstract_surface,\t\t\t\t cairo_box_t\t\t*analysis_bbox) "
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - levels
    - num_levels
    argTypes:
    - cairo_ps_level_t**
    - int*
    constantsTouched: []
    func_position:
      end: 1409
      start: 1400
    functionDepth: 0
    functionLinenumber: 1400
    functionLinenumberEnd: 1409
    functionName: cairo_ps_get_levels
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void cairo_ps_get_levels (cairo_ps_level_t const\t**levels, int \t\
      \ *num_levels) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:950,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:954,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:958,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_ps_surface_t*
    constantsTouched: []
    func_position:
      end: 960
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 960
    functionName: _cairo_ps_surface_emit_footer
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_ps_surface_emit_footer (cairo_ps_surface_t *surface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _extract_ps_surface
      Src: /src/cairo/src/cairo-ps-surface.c:1383,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - surface
    - level
    argTypes:
    - cairo_surface_t*
    - cairo_ps_level_t
    constantsTouched: []
    func_position:
      end: 1388
      start: 1377
    functionDepth: 0
    functionLinenumber: 1377
    functionLinenumberEnd: 1388
    functionName: cairo_ps_surface_restrict_to_level
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _extract_ps_surface
    linkageType: ''
    returnType: void
    signature: 'void cairo_ps_surface_restrict_to_level (cairo_surface_t *surface,
      cairo_ps_level_t level) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_ps_surface_analyze_operation
      Src: /src/cairo/src/cairo-ps-surface.c:2249,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 5
    argNames:
    - surface
    - op
    - pattern
    - mask
    - extents
    argTypes:
    - cairo_ps_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_pattern_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 2250
      start: 2242
    functionDepth: 0
    functionLinenumber: 2242
    functionLinenumberEnd: 2250
    functionName: _cairo_ps_surface_operation_supported
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_ps_surface_analyze_operation
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _cairo_ps_surface_operation_supported (cairo_ps_surface_t\
      \ *surface,\t\t\t\t cairo_operator_t op,\t\t\t\t const cairo_pattern_t *pattern,\t\
      \t\t\t const cairo_pattern_t *mask,\t\t\t\t const cairo_rectangle_int_t *extents) "
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_get_mime_data
      Src: /src/cairo/src/cairo-ps-surface.c:3488,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-ps-surface.c:3516,1
    - Dst: _cairo_ps_form_init_key
      Src: /src/cairo/src/cairo-ps-surface.c:3498,1
    - Dst: _cairo_hash_table_lookup
      Src: /src/cairo/src/cairo-ps-surface.c:3499,1
    - Dst: _cairo_rectangle_union
      Src: /src/cairo/src/cairo-ps-surface.c:3501,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ps-surface.c:3518,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-ps-surface.c:3521,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-ps-surface.c:3523,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ps-surface.c:3525,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-ps-surface.c:3532,1
    - Dst: _cairo_ps_form_init_key
      Src: /src/cairo/src/cairo-ps-surface.c:3541,1
    - Dst: _cairo_recording_surface_region_array_reference
      Src: /src/cairo/src/cairo-ps-surface.c:3535,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:3543,1
    - Dst: free
      Src: /src/cairo/src/cairo-ps-surface.c:3551,1
    - Dst: _cairo_surface_is_recording
      Src: /src/cairo/src/cairo-ps-surface.c:3534,1
    - Dst: free
      Src: /src/cairo/src/cairo-ps-surface.c:3550,1
    - Dst: _cairo_hash_table_insert
      Src: /src/cairo/src/cairo-ps-surface.c:3542,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 55
    argCount: 4
    argNames:
    - surface
    - params
    - test
    - ps_form
    argTypes:
    - cairo_ps_surface_t*
    - cairo_emit_surface_params_t*
    - cairo_bool_t
    - cairo_ps_form_t**
    constantsTouched: []
    func_position:
      end: 3553
      start: 3469
    functionDepth: 0
    functionLinenumber: 3469
    functionLinenumberEnd: 3553
    functionName: _cairo_ps_surface_use_form
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_recording_surface_region_array_reference
    - _cairo_malloc
    - memcpy
    - _cairo_error
    - free
    - _cairo_rectangle_union
    - cairo_surface_get_mime_data
    - cairo_surface_reference
    - unlikely
    - _cairo_hash_table_insert
    - _cairo_ps_form_init_key
    - _cairo_surface_is_recording
    - _cairo_hash_table_lookup
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_ps_surface_use_form (cairo_ps_surface_t\
      \ *surface,\t\t\t cairo_emit_surface_params_t *params,\t\t\t cairo_bool_t test,\t\
      \t\t cairo_ps_form_t **ps_form) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_fixed_is_box
      Src: /src/cairo/src/cairo-ps-surface.c:968,1
    - Dst: _cairo_box_round_to_rectangle
      Src: /src/cairo/src/cairo-ps-surface.c:971,1
    - Dst: _cairo_rectangle_intersect
      Src: /src/cairo/src/cairo-ps-surface.c:974,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - surface
    - path
    argTypes:
    - cairo_ps_surface_t*
    - cairo_path_fixed_t*
    constantsTouched: []
    func_position:
      end: 986
      start: 962
    functionDepth: 0
    functionLinenumber: 962
    functionLinenumberEnd: 986
    functionName: _path_covers_bbox
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_rectangle_intersect
    - _cairo_box_round_to_rectangle
    - _cairo_path_fixed_is_box
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _path_covers_bbox (cairo_ps_surface_t *surface,\t\
      \t cairo_path_fixed_t *path) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_ps_surface_use_form
      Src: /src/cairo/src/cairo-ps-surface.c:3563,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3574,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - surface
    - params
    - test
    argTypes:
    - cairo_ps_surface_t*
    - cairo_emit_surface_params_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 3579
      start: 3555
    functionDepth: 0
    functionLinenumber: 3555
    functionLinenumberEnd: 3579
    functionName: _cairo_ps_surface_emit_form
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_ps_surface_use_form
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_ps_surface_emit_form (cairo_ps_surface_t\
      \ *surface,\t\t\t cairo_emit_surface_params_t *params,\t\t\t cairo_bool_t test) "
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2536
      start: 2516
    functionDepth: 0
    functionLinenumber: 2516
    functionLinenumberEnd: 2536
    functionName: get_interpolate
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: "static const char *get_interpolate (cairo_filter_t\tfilter) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - abstract_surface
    - rectangle
    argTypes:
    - void*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 4875
      start: 4865
    functionDepth: 0
    functionLinenumber: 4865
    functionLinenumberEnd: 4875
    functionName: _cairo_ps_surface_get_extents
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _cairo_ps_surface_get_extents (void\t\t *abstract_surface,\t\
      \t\t cairo_rectangle_int_t *rectangle) "
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pattern_fini
      Src: /src/cairo/src/cairo-ps-surface.c:2589,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-ps-surface.c:2650,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:2775,1
    - Dst: CAIRO_BITSWAP8_IF_LITTLE_ENDIAN
      Src: /src/cairo/src/cairo-ps-surface.c:2665,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:2778,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:2780,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:2812,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:2855,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:2897,1
    - Dst: free
      Src: /src/cairo/src/cairo-ps-surface.c:2903,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:2869,1
    - Dst: _cairo_image_surface_create_with_content
      Src: /src/cairo/src/cairo-ps-surface.c:2577,1
    - Dst: _cairo_surface_paint
      Src: /src/cairo/src/cairo-ps-surface.c:2586,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:2591,1
    - Dst: get_interpolate
      Src: /src/cairo/src/cairo-ps-surface.c:2595,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:2767,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:2616,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:2783,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:2788,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:2808,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:2817,1
    - Dst: _cairo_ps_surface_emit_base85_string
      Src: /src/cairo/src/cairo-ps-surface.c:2892,1
    - Dst: _cairo_pattern_init_for_surface
      Src: /src/cairo/src/cairo-ps-surface.c:2585,1
    - Dst: _cairo_image_analyze_transparency
      Src: /src/cairo/src/cairo-ps-surface.c:2602,1
    - Dst: _cairo_ps_surface_flatten_image_transparency
      Src: /src/cairo/src/cairo-ps-surface.c:2613,1
    - Dst: _cairo_ps_surface_emit_base85_string
      Src: /src/cairo/src/cairo-ps-surface.c:2770,1
    - Dst: _cairo_image_analyze_color
      Src: /src/cairo/src/cairo-ps-surface.c:2626,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:2844,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:2873,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-ps-surface.c:2907,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-ps-surface.c:2911,1
    - Dst: _cairo_surface_acquire_source_image
      Src: /src/cairo/src/cairo-ps-surface.c:2564,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:2565,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ps-surface.c:2652,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:2651,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:2878,1
    - Dst: _cairo_surface_release_source_image
      Src: /src/cairo/src/cairo-ps-surface.c:2913,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 237
    argCount: 3
    argNames:
    - surface
    - mode
    - params
    argTypes:
    - cairo_ps_surface_t*
    - cairo_emit_surface_mode_t
    - cairo_emit_surface_params_t*
    constantsTouched: []
    func_position:
      end: 2916
      start: 2538
    functionDepth: 0
    functionLinenumber: 2538
    functionLinenumberEnd: 2916
    functionName: _cairo_ps_surface_emit_image
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_release_source_image
    - _cairo_pattern_init_for_surface
    - _cairo_malloc
    - _cairo_ps_surface_emit_base85_string
    - _cairo_image_analyze_color
    - _cairo_output_stream_printf
    - _cairo_image_analyze_transparency
    - _cairo_error
    - free
    - get_interpolate
    - _cairo_pattern_fini
    - _cairo_ps_surface_flatten_image_transparency
    - cairo_surface_destroy
    - _cairo_surface_acquire_source_image
    - CAIRO_BITSWAP8_IF_LITTLE_ENDIAN
    - _cairo_image_surface_create_with_content
    - _cairo_surface_paint
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_ps_surface_emit_image (cairo_ps_surface_t\
      \ *surface,\t\t\t cairo_emit_surface_mode_t mode,\t\t\t cairo_emit_surface_params_t\
      \ *params) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_font_options_init_default
      Src: /src/cairo/src/cairo-ps-surface.c:4881,1
    - Dst: _cairo_font_options_set_round_glyph_positions
      Src: /src/cairo/src/cairo-ps-surface.c:4886,1
    - Dst: cairo_font_options_set_hint_style
      Src: /src/cairo/src/cairo-ps-surface.c:4883,1
    - Dst: cairo_font_options_set_antialias
      Src: /src/cairo/src/cairo-ps-surface.c:4885,1
    - Dst: cairo_font_options_set_hint_metrics
      Src: /src/cairo/src/cairo-ps-surface.c:4884,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - abstract_surface
    - options
    argTypes:
    - void*
    - cairo_font_options_t*
    constantsTouched: []
    func_position:
      end: 4887
      start: 4877
    functionDepth: 0
    functionLinenumber: 4877
    functionLinenumberEnd: 4887
    functionName: _cairo_ps_surface_get_font_options
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - cairo_font_options_set_hint_style
    - _cairo_font_options_init_default
    - cairo_font_options_set_antialias
    - cairo_font_options_set_hint_metrics
    - _cairo_font_options_set_round_glyph_positions
    linkageType: ''
    returnType: void
    signature: "static void _cairo_ps_surface_get_font_options (void *abstract_surface,\t\
      \t\t\t cairo_font_options_t *options) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cairo/src/cairo-ps-surface.c:3196,1
    - Dst: memcmp
      Src: /src/cairo/src/cairo-ps-surface.c:3205,1
    - Dst: memchr
      Src: /src/cairo/src/cairo-ps-surface.c:3201,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - data
    - data_len
    argTypes:
    - unsigned char*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 3212
      start: 3187
    functionDepth: 0
    functionLinenumber: 3187
    functionLinenumberEnd: 3212
    functionName: count_eod_strings
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - memchr
    - strlen
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'static int count_eod_strings (const unsigned char *data, unsigned
      long data_len) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:603,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:631,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:639,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:665,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:668,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:681,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:656,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:677,1
    - Dst: _cairo_output_stream_write_hex_string
      Src: /src/cairo/src/cairo-ps-surface.c:675,1
    - Dst: _cairo_truetype_subset_init_ps
      Src: /src/cairo/src/cairo-ps-surface.c:596,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:610,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:597,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:643,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:649,1
    - Dst: _cairo_output_stream_write_hex_string
      Src: /src/cairo/src/cairo-ps-surface.c:682,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:684,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:687,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:692,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:607,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:627,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:674,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:660,1
    - Dst: _cairo_truetype_subset_fini
      Src: /src/cairo/src/cairo-ps-surface.c:694,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 60
    argCount: 2
    argNames:
    - surface
    - font_subset
    argTypes:
    - cairo_ps_surface_t*
    - cairo_scaled_font_subset_t*
    constantsTouched: []
    func_position:
      end: 698
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 698
    functionName: _cairo_ps_surface_emit_truetype_font_subset
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_truetype_subset_fini
    - _cairo_truetype_subset_init_ps
    - _cairo_output_stream_write_hex_string
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_ps_surface_emit_truetype_font_subset\
      \ (cairo_ps_surface_t\t\t*surface,\t\t\t\t\t cairo_scaled_font_subset_t\t*font_subset) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_lround
      Src: /src/cairo/src/cairo-ps-surface.c:1044,1
    - Dst: _ps_page_dimension_equal
      Src: /src/cairo/src/cairo-ps-surface.c:1050,1
    - Dst: cairo_list_foreach_entry
      Src: /src/cairo/src/cairo-ps-surface.c:1048,1
    - Dst: _ps_page_dimension_equal
      Src: /src/cairo/src/cairo-ps-surface.c:1057,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-ps-surface.c:1069,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:1082,1
    - Dst: _cairo_lround
      Src: /src/cairo/src/cairo-ps-surface.c:1078,1
    - Dst: strdup
      Src: /src/cairo/src/cairo-ps-surface.c:1079,1
    - Dst: cairo_list_add_tail
      Src: /src/cairo/src/cairo-ps-surface.c:1090,1
    - Dst: _ps_page_dimension_equal
      Src: /src/cairo/src/cairo-ps-surface.c:1049,1
    - Dst: _cairo_lround
      Src: /src/cairo/src/cairo-ps-surface.c:1045,1
    - Dst: _ps_page_dimension_equal
      Src: /src/cairo/src/cairo-ps-surface.c:1058,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:1068,1
    - Dst: snprintf
      Src: /src/cairo/src/cairo-ps-surface.c:1076,1
    - Dst: strdup
      Src: /src/cairo/src/cairo-ps-surface.c:1074,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-ps-surface.c:1084,1
    - Dst: _cairo_lround
      Src: /src/cairo/src/cairo-ps-surface.c:1077,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-ps-surface.c:1056,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-ps-surface.c:1067,1
    - Dst: free
      Src: /src/cairo/src/cairo-ps-surface.c:1083,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1036
    functionDepth: 0
    functionLinenumber: 1036
    functionLinenumberEnd: 1093
    functionName: _cairo_ps_surface_get_page_media
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - cairo_list_foreach_entry
    - free
    - ARRAY_LENGTH
    - unlikely
    - _cairo_error_throw
    - strdup
    - cairo_list_add_tail
    - snprintf
    - _cairo_lround
    - _ps_page_dimension_equal
    - _cairo_calloc
    linkageType: ''
    returnType: char*
    signature: 'static const char *_cairo_ps_surface_get_page_media (cairo_ps_surface_t
      *surface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _extract_ps_surface
      Src: /src/cairo/src/cairo-ps-surface.c:1701,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1709
      start: 1696
    functionDepth: 0
    functionLinenumber: 1696
    functionLinenumberEnd: 1709
    functionName: cairo_ps_surface_dsc_begin_page_setup
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _extract_ps_surface
    linkageType: ''
    returnType: void
    signature: 'void cairo_ps_surface_dsc_begin_page_setup (cairo_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - new_stop
    - stop1
    - stop2
    argTypes:
    - cairo_ps_color_stop_t*
    - cairo_ps_color_stop_t*
    - cairo_ps_color_stop_t*
    constantsTouched: []
    func_position:
      end: 4307
      start: 4297
    functionDepth: 0
    functionLinenumber: 4297
    functionLinenumberEnd: 4307
    functionName: calc_gradient_color
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void calc_gradient_color (cairo_ps_color_stop_t *new_stop,\t\
      \t cairo_ps_color_stop_t *stop1,\t\t cairo_ps_color_stop_t *stop2) "
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_ps_surface_emit_form
      Src: /src/cairo/src/cairo-ps-surface.c:3616,1
    - Dst: _cairo_ps_surface_emit_jpeg_image
      Src: /src/cairo/src/cairo-ps-surface.c:3635,1
    - Dst: _cairo_ps_surface_emit_eps
      Src: /src/cairo/src/cairo-ps-surface.c:3627,1
    - Dst: _cairo_pdf_operators_flush
      Src: /src/cairo/src/cairo-ps-surface.c:3653,1
    - Dst: _cairo_ps_surface_emit_ccitt_image
      Src: /src/cairo/src/cairo-ps-surface.c:3643,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:3654,1
    - Dst: _cairo_memory_stream_create
      Src: /src/cairo/src/cairo-ps-surface.c:3658,1
    - Dst: _cairo_pdf_operators_set_stream
      Src: /src/cairo/src/cairo-ps-surface.c:3659,1
    - Dst: _cairo_ps_surface_emit_recording_surface
      Src: /src/cairo/src/cairo-ps-surface.c:3666,1
    - Dst: _cairo_ps_surface_emit_recording_surface
      Src: /src/cairo/src/cairo-ps-surface.c:3672,1
    - Dst: _cairo_ps_surface_emit_image
      Src: /src/cairo/src/cairo-ps-surface.c:3680,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:3694,1
    - Dst: _cairo_memory_stream_destroy
      Src: /src/cairo/src/cairo-ps-surface.c:3691,1
    - Dst: _cairo_pdf_operators_set_stream
      Src: /src/cairo/src/cairo-ps-surface.c:3698,1
    - Dst: free
      Src: /src/cairo/src/cairo-ps-surface.c:3692,1
    - Dst: _cairo_pdf_operators_flush
      Src: /src/cairo/src/cairo-ps-surface.c:3687,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:3688,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 70
    argCount: 3
    argNames:
    - surface
    - mode
    - params
    argTypes:
    - cairo_ps_surface_t*
    - cairo_emit_surface_mode_t
    - cairo_emit_surface_params_t*
    constantsTouched: []
    func_position:
      end: 3705
      start: 3603
    functionDepth: 0
    functionLinenumber: 3603
    functionLinenumberEnd: 3705
    functionName: _cairo_ps_surface_emit_surface
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_operators_set_stream
    - _cairo_ps_surface_emit_jpeg_image
    - free
    - _cairo_ps_surface_emit_recording_surface
    - _cairo_ps_surface_emit_form
    - _cairo_ps_surface_emit_ccitt_image
    - _cairo_ps_surface_emit_image
    - _cairo_memory_stream_create
    - _cairo_pdf_operators_flush
    - _cairo_memory_stream_destroy
    - _cairo_ps_surface_emit_eps
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_ps_surface_emit_surface (cairo_ps_surface_t\
      \ *surface,\t\t\t\tcairo_emit_surface_mode_t mode,\t\t\t\tcairo_emit_surface_params_t\
      \ *params) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4255,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - surface
    - stop1
    - stop2
    argTypes:
    - cairo_ps_surface_t*
    - cairo_ps_color_stop_t*
    - cairo_ps_color_stop_t*
    constantsTouched: []
    func_position:
      end: 4268
      start: 4250
    functionDepth: 0
    functionLinenumber: 4250
    functionLinenumberEnd: 4268
    functionName: _cairo_ps_surface_emit_linear_colorgradient
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: void
    signature: "static void _cairo_ps_surface_emit_linear_colorgradient (cairo_ps_surface_t\
      \ *surface,\t\t\t\t\t cairo_ps_color_stop_t *stop1,\t\t\t\t\t cairo_ps_color_stop_t\
      \ *stop2) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-ps-surface.c:709,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:725,1
    - Dst: CAIRO_BITSWAP8_IF_LITTLE_ENDIAN
      Src: /src/cairo/src/cairo-ps-surface.c:729,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:730,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:711,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:732,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:734,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:736,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-ps-surface.c:739,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - image
    - stream
    argTypes:
    - cairo_image_surface_t*
    - cairo_output_stream_t*
    constantsTouched: []
    func_position:
      end: 740
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 740
    functionName: _cairo_ps_emit_imagemask
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - CAIRO_BITSWAP8_IF_LITTLE_ENDIAN
    - _cairo_output_stream_get_status
    - _cairo_output_stream_printf
    - assert
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_ps_emit_imagemask (cairo_image_surface_t\
      \ *image,\t\t\t cairo_output_stream_t *stream) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ps-surface.c:1105,1
    - Dst: _cairo_surface_init
      Src: /src/cairo/src/cairo-ps-surface.c:1109,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:1104,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ps-surface.c:1121,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-ps-surface.c:1131,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:1132,1
    - Dst: _cairo_pdf_operators_init
      Src: /src/cairo/src/cairo-ps-surface.c:1169,1
    - Dst: ceil
      Src: /src/cairo/src/cairo-ps-surface.c:1151,1
    - Dst: cairo_matrix_init
      Src: /src/cairo/src/cairo-ps-surface.c:1148,1
    - Dst: _cairo_scaled_font_subsets_create_simple
      Src: /src/cairo/src/cairo-ps-surface.c:1135,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-ps-surface.c:1179,1
    - Dst: _cairo_tmpfile
      Src: /src/cairo/src/cairo-ps-surface.c:1117,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ps-surface.c:1124,1
    - Dst: _cairo_scaled_font_subsets_enable_latin_subset
      Src: /src/cairo/src/cairo-ps-surface.c:1141,1
    - Dst: _cairo_hash_table_create
      Src: /src/cairo/src/cairo-ps-surface.c:1183,1
    - Dst: fclose
      Src: /src/cairo/src/cairo-ps-surface.c:1206,1
    - Dst: free
      Src: /src/cairo/src/cairo-ps-surface.c:1208,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-ps-surface.c:1213,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-ps-surface.c:1198,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-ps-surface.c:1177,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-ps-surface.c:1103,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ps-surface.c:1137,1
    - Dst: _cairo_surface_clipper_init
      Src: /src/cairo/src/cairo-ps-surface.c:1166,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:1136,1
    - Dst: _cairo_scaled_font_subsets_destroy
      Src: /src/cairo/src/cairo-ps-surface.c:1203,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-ps-surface.c:1211,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-ps-surface.c:1178,1
    - Dst: _cairo_output_stream_create_for_file
      Src: /src/cairo/src/cairo-ps-surface.c:1130,1
    - Dst: ceil
      Src: /src/cairo/src/cairo-ps-surface.c:1152,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-ps-surface.c:1180,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:1184,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ps-surface.c:1185,1
    - Dst: _cairo_paginated_surface_create
      Src: /src/cairo/src/cairo-ps-surface.c:1191,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-ps-surface.c:1205,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-ps-surface.c:1176,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 88
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1214
      start: 1095
    functionDepth: 0
    functionLinenumber: 1095
    functionLinenumberEnd: 1214
    functionName: _cairo_ps_surface_create_for_stream_internal
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_scaled_font_subsets_destroy
    - _cairo_error
    - _cairo_hash_table_create
    - _cairo_surface_create_in_error
    - _cairo_surface_init
    - _cairo_pdf_operators_init
    - _cairo_tmpfile
    - ceil
    - cairo_matrix_init
    - _cairo_calloc
    - _cairo_scaled_font_subsets_create_simple
    - _cairo_paginated_surface_create
    - _cairo_array_init
    - _cairo_output_stream_create_for_file
    - _cairo_output_stream_destroy
    - cairo_list_init
    - fclose
    - free
    - _cairo_scaled_font_subsets_enable_latin_subset
    - _cairo_surface_clipper_init
    - cairo_surface_destroy
    - _cairo_output_stream_get_status
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_ps_surface_create_for_stream_internal\
      \ (cairo_output_stream_t *stream,\t\t\t\t\t double\t\t width,\t\t\t\t\t double\t\
      \t height) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:1720,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-ps-surface.c:1784,1
    - Dst: free
      Src: /src/cairo/src/cairo-ps-surface.c:1787,1
    - Dst: free
      Src: /src/cairo/src/cairo-ps-surface.c:1793,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-ps-surface.c:1797,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-ps-surface.c:1796,1
    - Dst: _cairo_surface_clipper_reset
      Src: /src/cairo/src/cairo-ps-surface.c:1804,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-ps-surface.c:1728,1
    - Dst: free
      Src: /src/cairo/src/cairo-ps-surface.c:1734,1
    - Dst: _cairo_ps_surface_emit_body
      Src: /src/cairo/src/cairo-ps-surface.c:1750,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:1751,1
    - Dst: fclose
      Src: /src/cairo/src/cairo-ps-surface.c:1767,1
    - Dst: cairo_list_del
      Src: /src/cairo/src/cairo-ps-surface.c:1779,1
    - Dst: free
      Src: /src/cairo/src/cairo-ps-surface.c:1780,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-ps-surface.c:1790,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-ps-surface.c:1794,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-ps-surface.c:1800,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-ps-surface.c:1802,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:1725,1
    - Dst: _cairo_ps_surface_emit_header
      Src: /src/cairo/src/cairo-ps-surface.c:1723,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:1732,1
    - Dst: _cairo_ps_surface_emit_forms
      Src: /src/cairo/src/cairo-ps-surface.c:1743,1
    - Dst: _cairo_hash_table_foreach
      Src: /src/cairo/src/cairo-ps-surface.c:1757,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:1747,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:1744,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-ps-surface.c:1785,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-ps-surface.c:1788,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-ps-surface.c:1791,1
    - Dst: free
      Src: /src/cairo/src/cairo-ps-surface.c:1799,1
    - Dst: free
      Src: /src/cairo/src/cairo-ps-surface.c:1781,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-ps-surface.c:1730,1
    - Dst: _cairo_ps_surface_emit_font_subsets
      Src: /src/cairo/src/cairo-ps-surface.c:1739,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:1740,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-ps-surface.c:1763,1
    - Dst: _cairo_hash_table_destroy
      Src: /src/cairo/src/cairo-ps-surface.c:1760,1
    - Dst: _cairo_scaled_font_subsets_destroy
      Src: /src/cairo/src/cairo-ps-surface.c:1761,1
    - Dst: _cairo_ps_surface_emit_footer
      Src: /src/cairo/src/cairo-ps-surface.c:1754,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-ps-surface.c:1769,1
    - Dst: cairo_list_is_empty
      Src: /src/cairo/src/cairo-ps-surface.c:1773,1
    - Dst: cairo_list_first_entry
      Src: /src/cairo/src/cairo-ps-surface.c:1776,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 73
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1807
      start: 1711
    functionDepth: 0
    functionLinenumber: 1711
    functionLinenumberEnd: 1807
    functionName: _cairo_ps_surface_finish
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    - _cairo_scaled_font_subsets_destroy
    - _cairo_array_num_elements
    - _cairo_surface_clipper_reset
    - _cairo_hash_table_foreach
    - _cairo_ps_surface_emit_font_subsets
    - _cairo_array_fini
    - _cairo_ps_surface_emit_body
    - _cairo_ps_surface_emit_header
    - _cairo_output_stream_destroy
    - cairo_list_is_empty
    - _cairo_output_stream_printf
    - fclose
    - _cairo_ps_surface_emit_footer
    - free
    - _cairo_hash_table_destroy
    - cairo_list_first_entry
    - cairo_list_del
    - _cairo_ps_surface_emit_forms
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_ps_surface_finish (void *abstract_surface) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3749,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3746,1
    - Dst: _cairo_ps_surface_emit_surface
      Src: /src/cairo/src/cairo-ps-surface.c:3755,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3782,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3785,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3770,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3807,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3765,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3802,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3737,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3732,1
    - Dst: _cairo_pdf_operators_set_stream
      Src: /src/cairo/src/cairo-ps-surface.c:3754,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3774,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3799,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3728,1
    - Dst: _cairo_pdf_operators_flush
      Src: /src/cairo/src/cairo-ps-surface.c:3758,1
    - Dst: _cairo_pdf_operators_set_stream
      Src: /src/cairo/src/cairo-ps-surface.c:3760,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3762,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3793,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 2
    argNames:
    - entry
    - closure
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 3811
      start: 3707
    functionDepth: 0
    functionLinenumber: 3707
    functionLinenumberEnd: 3811
    functionName: _cairo_ps_form_emit
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_operators_flush
    - _cairo_pdf_operators_set_stream
    - _cairo_output_stream_printf
    - _cairo_ps_surface_emit_surface
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_ps_form_emit (void *entry, void *closure) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4277,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4286,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4288,1
    - Dst: _cairo_ps_surface_emit_linear_colorgradient
      Src: /src/cairo/src/cairo-ps-surface.c:4282,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4284,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4289,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4291,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4294,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - surface
    - n_stops
    - stops
    argTypes:
    - cairo_ps_surface_t*
    - unsigned int
    - cairo_ps_color_stop_t
    constantsTouched: []
    func_position:
      end: 4295
      start: 4270
    functionDepth: 0
    functionLinenumber: 4270
    functionLinenumberEnd: 4295
    functionName: _cairo_ps_surface_emit_stitched_colorgradient
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_ps_surface_emit_linear_colorgradient
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: void
    signature: "static void _cairo_ps_surface_emit_stitched_colorgradient (cairo_ps_surface_t\
      \ *surface,\t\t\t\t\t unsigned int \t n_stops,\t\t\t\t\t cairo_ps_color_stop_t\
      \ stops[]) "
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-ps-surface.c:1325,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ps-surface.c:1326,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-ps-surface.c:1332,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ps-surface.c:1333,1
    - Dst: _cairo_surface_is_paginated
      Src: /src/cairo/src/cairo-ps-surface.c:1330,1
    - Dst: _cairo_paginated_surface_get_target
      Src: /src/cairo/src/cairo-ps-surface.c:1337,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-ps-surface.c:1340,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-ps-surface.c:1345,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ps-surface.c:1346,1
    - Dst: _cairo_surface_is_ps
      Src: /src/cairo/src/cairo-ps-surface.c:1350,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-ps-surface.c:1352,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ps-surface.c:1353,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 22
    argCount: 3
    argNames:
    - surface
    - set_error_on_failure
    - ps_surface
    argTypes:
    - cairo_surface_t*
    - cairo_bool_t
    - cairo_ps_surface_t**
    constantsTouched: []
    func_position:
      end: 1359
      start: 1314
    functionDepth: 0
    functionLinenumber: 1314
    functionLinenumberEnd: 1359
    functionName: _extract_ps_surface
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_paginated_surface_get_target
    - _cairo_surface_is_paginated
    - _cairo_surface_is_ps
    - _cairo_surface_set_error
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _extract_ps_surface (cairo_surface_t\t *surface,\
      \ cairo_bool_t set_error_on_failure,\t\t cairo_ps_surface_t **ps_surface) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1308
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1308
    functionName: _cairo_surface_is_ps
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_surface_is_ps (cairo_surface_t *surface) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_ps_surface_analyze_surface_pattern_transparency
      Src: /src/cairo/src/cairo-ps-surface.c:2149,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 3
    argNames:
    - surface
    - mask
    - extents
    argTypes:
    - cairo_ps_surface_t*
    - cairo_pattern_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 2157
      start: 2137
    functionDepth: 0
    functionLinenumber: 2137
    functionLinenumberEnd: 2157
    functionName: mask_supported
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_ps_surface_analyze_surface_pattern_transparency
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t mask_supported (cairo_ps_surface_t *surface,\t\
      \tconst cairo_pattern_t *mask,\t\tconst cairo_rectangle_int_t *extents) "
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: pattern_supported
      Src: /src/cairo/src/cairo-ps-surface.c:2174,1
    - Dst: _cairo_box_round_to_rectangle
      Src: /src/cairo/src/cairo-ps-surface.c:2196,1
    - Dst: _cairo_box_from_rectangle
      Src: /src/cairo/src/cairo-ps-surface.c:2194,1
    - Dst: _cairo_matrix_transform_bounding_box_fixed
      Src: /src/cairo/src/cairo-ps-surface.c:2195,1
    - Dst: mask_supported
      Src: /src/cairo/src/cairo-ps-surface.c:2181,1
    - Dst: _cairo_surface_get_extents
      Src: /src/cairo/src/cairo-ps-surface.c:2199,1
    - Dst: _cairo_fixed_integer_ceil
      Src: /src/cairo/src/cairo-ps-surface.c:2200,1
    - Dst: _cairo_fixed_integer_ceil
      Src: /src/cairo/src/cairo-ps-surface.c:2201,1
    - Dst: _cairo_fixed_integer_floor
      Src: /src/cairo/src/cairo-ps-surface.c:2202,1
    - Dst: _cairo_fixed_integer_floor
      Src: /src/cairo/src/cairo-ps-surface.c:2203,1
    - Dst: _cairo_pattern_alpha_range
      Src: /src/cairo/src/cairo-ps-surface.c:2235,1
    - Dst: CAIRO_ALPHA_IS_OPAQUE
      Src: /src/cairo/src/cairo-ps-surface.c:2236,1
    - Dst: _cairo_ps_surface_analyze_surface_pattern_transparency
      Src: /src/cairo/src/cairo-ps-surface.c:2230,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 46
    argCount: 5
    argNames:
    - surface
    - op
    - pattern
    - mask
    - extents
    argTypes:
    - cairo_ps_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_pattern_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 2240
      start: 2159
    functionDepth: 0
    functionLinenumber: 2159
    functionLinenumberEnd: 2240
    functionName: _cairo_ps_surface_analyze_operation
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_box_round_to_rectangle
    - pattern_supported
    - mask_supported
    - _cairo_matrix_transform_bounding_box_fixed
    - _cairo_surface_get_extents
    - _cairo_fixed_integer_ceil
    - _cairo_pattern_alpha_range
    - _cairo_ps_surface_analyze_surface_pattern_transparency
    - _cairo_box_from_rectangle
    - CAIRO_ALPHA_IS_OPAQUE
    - _cairo_fixed_integer_floor
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_ps_surface_analyze_operation (cairo_ps_surface_t\
      \ *surface,\t\t\t\t cairo_operator_t op,\t\t\t\t const cairo_pattern_t *pattern,\t\
      \t\t\t const cairo_pattern_t *mask,\t\t\t\t const cairo_rectangle_int_t *extents) "
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:4030,1
    - Dst: _cairo_ps_surface_acquire_source_surface_from_pattern
      Src: /src/cairo/src/cairo-ps-surface.c:4022,1
    - Dst: _cairo_ps_surface_emit_surface
      Src: /src/cairo/src/cairo-ps-surface.c:4124,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:4125,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4160,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/src/cairo-ps-surface.c:4169,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/src/cairo-ps-surface.c:4178,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/src/cairo-ps-surface.c:4186,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/src/cairo-ps-surface.c:4187,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/src/cairo-ps-surface.c:4188,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-ps-surface.c:4220,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/src/cairo-ps-surface.c:4224,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4228,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4181,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/src/cairo-ps-surface.c:4185,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-ps-surface.c:4238,1
    - Dst: _cairo_output_stream_print_matrix
      Src: /src/cairo/src/cairo-ps-surface.c:4174,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-ps-surface.c:4013,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:4047,1
    - Dst: _cairo_rectangle_intersect
      Src: /src/cairo/src/cairo-ps-surface.c:4053,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4103,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4153,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/src/cairo-ps-surface.c:4179,1
    - Dst: _cairo_output_stream_print_matrix
      Src: /src/cairo/src/cairo-ps-surface.c:4182,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4191,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4200,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/src/cairo-ps-surface.c:4225,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4207,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4175,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4230,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4196,1
    - Dst: cairo_pattern_get_extend
      Src: /src/cairo/src/cairo-ps-surface.c:4009,1
    - Dst: assert
      Src: /src/cairo/src/cairo-ps-surface.c:4036,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:4143,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4129,1
    - Dst: _cairo_ps_surface_emit_surface
      Src: /src/cairo/src/cairo-ps-surface.c:4142,1
    - Dst: _cairo_matrix_transform_bounding_box
      Src: /src/cairo/src/cairo-ps-surface.c:4075,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4135,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4146,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/src/cairo-ps-surface.c:4170,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4173,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/src/cairo-ps-surface.c:4177,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4183,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4193,1
    - Dst: assert
      Src: /src/cairo/src/cairo-ps-surface.c:4217,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/src/cairo-ps-surface.c:4221,1
    - Dst: assert
      Src: /src/cairo/src/cairo-ps-surface.c:4015,1
    - Dst: _cairo_ps_surface_create_padded_image_from_image
      Src: /src/cairo/src/cairo-ps-surface.c:4038,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:4044,1
    - Dst: ceil
      Src: /src/cairo/src/cairo-ps-surface.c:4083,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4149,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/src/cairo-ps-surface.c:4171,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/src/cairo-ps-surface.c:4172,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/src/cairo-ps-surface.c:4180,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4189,1
    - Dst: _cairo_output_stream_print_matrix
      Src: /src/cairo/src/cairo-ps-surface.c:4190,1
    - Dst: _cairo_output_stream_print_matrix
      Src: /src/cairo/src/cairo-ps-surface.c:4229,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-ps-surface.c:4215,1
    - Dst: _cairo_ps_surface_release_source_surface_from_pattern
      Src: /src/cairo/src/cairo-ps-surface.c:4240,1
    - Dst: cairo_matrix_init_identity
      Src: /src/cairo/src/cairo-ps-surface.c:4219,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4211,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 144
    argCount: 4
    argNames:
    - surface
    - pattern
    - extents
    - op
    argTypes:
    - cairo_ps_surface_t*
    - cairo_pattern_t*
    - cairo_rectangle_int_t*
    - cairo_operator_t
    constantsTouched: []
    func_position:
      end: 4243
      start: 3992
    functionDepth: 0
    functionLinenumber: 3992
    functionLinenumberEnd: 4243
    functionName: _cairo_ps_surface_emit_surface_pattern
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_ps_surface_acquire_source_surface_from_pattern
    - _cairo_matrix_transform_bounding_box
    - _cairo_output_stream_print_matrix
    - _cairo_ps_surface_create_padded_image_from_image
    - cairo_matrix_translate
    - ceil
    - cairo_matrix_scale
    - _cairo_ps_surface_emit_surface
    - _cairo_rectangle_intersect
    - assert
    - cairo_pattern_get_extend
    - cairo_matrix_init_identity
    - cairo_matrix_init_translate
    - _cairo_output_stream_printf
    - cairo_surface_destroy
    - _cairo_ps_surface_release_source_surface_from_pattern
    - cairo_matrix_invert
    - cairo_matrix_multiply
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_ps_surface_emit_surface_pattern (cairo_ps_surface_t\
      \ *surface,\t\t\t\t\tcairo_pattern_t *pattern,\t\t\t\t\tcairo_rectangle_int_t\
      \ *extents,\t\t\t\t\tcairo_operator_t\t op) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-ps-surface.c:2383,1
    - Dst: _cairo_output_stream_init
      Src: /src/cairo/src/cairo-ps-surface.c:2389,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:2384,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-ps-surface.c:2385,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2400
      start: 2378
    functionDepth: 0
    functionLinenumber: 2378
    functionLinenumberEnd: 2400
    functionName: _base85_wrap_stream_create
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_init
    - unlikely
    - _cairo_error_throw
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_output_stream_t*
    signature: 'static cairo_output_stream_t *_base85_wrap_stream_create (cairo_output_stream_t
      *output) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-ps-surface.c:2353,1
    - Dst: _cairo_output_stream_init
      Src: /src/cairo/src/cairo-ps-surface.c:2359,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-ps-surface.c:2355,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:2354,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2370
      start: 2348
    functionDepth: 0
    functionLinenumber: 2348
    functionLinenumberEnd: 2370
    functionName: _base85_strings_stream_create
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_init
    - unlikely
    - _cairo_error_throw
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_output_stream_t*
    signature: 'static cairo_output_stream_t *_base85_strings_stream_create (cairo_output_stream_t
      *output) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-ps-surface.c:4472,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-ps-surface.c:4475,1
    - Dst: _cairo_matrix_transform_bounding_box
      Src: /src/cairo/src/cairo-ps-surface.c:4488,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-ps-surface.c:4496,1
    - Dst: assert
      Src: /src/cairo/src/cairo-ps-surface.c:4518,1
    - Dst: _cairo_gradient_pattern_interpolate
      Src: /src/cairo/src/cairo-ps-surface.c:4530,1
    - Dst: MIN
      Src: /src/cairo/src/cairo-ps-surface.c:4498,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4587,1
    - Dst: _cairo_output_stream_print_matrix
      Src: /src/cairo/src/cairo-ps-surface.c:4608,1
    - Dst: _cairo_gradient_pattern_interpolate
      Src: /src/cairo/src/cairo-ps-surface.c:4529,1
    - Dst: floor
      Src: /src/cairo/src/cairo-ps-surface.c:4537,1
    - Dst: _cairo_gradient_pattern_box_to_parameter
      Src: /src/cairo/src/cairo-ps-surface.c:4500,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4555,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4605,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4609,1
    - Dst: assert
      Src: /src/cairo/src/cairo-ps-surface.c:4465,1
    - Dst: assert
      Src: /src/cairo/src/cairo-ps-surface.c:4474,1
    - Dst: _cairo_matrix_compute_determinant
      Src: /src/cairo/src/cairo-ps-surface.c:4496,1
    - Dst: _cairo_matrix_transformed_circle_major_axis
      Src: /src/cairo/src/cairo-ps-surface.c:4497,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4568,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-ps-surface.c:4575,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4579,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4582,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4601,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4612,1
    - Dst: _cairo_ps_surface_emit_pattern_stops
      Src: /src/cairo/src/cairo-ps-surface.c:4467,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:4468,1
    - Dst: _cairo_ps_surface_emit_repeating_function
      Src: /src/cairo/src/cairo-ps-surface.c:4540,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:4544,1
    - Dst: ceil
      Src: /src/cairo/src/cairo-ps-surface.c:4538,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4561,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-ps-surface.c:4573,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4590,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 89
    argCount: 3
    argNames:
    - surface
    - pattern
    - is_ps_pattern
    argTypes:
    - cairo_ps_surface_t*
    - cairo_gradient_pattern_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 4617
      start: 4455
    functionDepth: 0
    functionLinenumber: 4455
    functionLinenumberEnd: 4617
    functionName: _cairo_ps_surface_emit_gradient
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_matrix_transform_bounding_box
    - fabs
    - cairo_matrix_invert
    - floor
    - ceil
    - _cairo_matrix_compute_determinant
    - _cairo_ps_surface_emit_repeating_function
    - MIN
    - MAX
    - assert
    - _cairo_gradient_pattern_interpolate
    - _cairo_output_stream_print_matrix
    - _cairo_matrix_transformed_circle_major_axis
    - _cairo_gradient_pattern_box_to_parameter
    - _cairo_ps_surface_emit_pattern_stops
    - cairo_matrix_multiply
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_ps_surface_emit_gradient (cairo_ps_surface_t\
      \ *surface,\t\t\t\t cairo_gradient_pattern_t *pattern,\t\t\t\t cairo_bool_t\
      \ is_ps_pattern) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctime
      Src: /src/cairo/src/cairo-ps-surface.c:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: ctime_r
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - ctime
    linkageType: ''
    returnType: char*
    signature: 'static char *ctime_r(const time_t *timep, char *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: abs
      Src: /src/cairo/src/cairo-ps-surface.c:1033,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1034
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1034
    functionName: _ps_page_dimension_equal
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - abs
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _ps_page_dimension_equal (int a, int b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_box_from_rectangle
      Src: /src/cairo/src/cairo-ps-surface.c:1970,1
    - Dst: _cairo_box_round_to_rectangle
      Src: /src/cairo/src/cairo-ps-surface.c:1972,1
    - Dst: _cairo_matrix_transform_bounding_box_fixed
      Src: /src/cairo/src/cairo-ps-surface.c:1971,1
    - Dst: _cairo_fixed_integer_ceil
      Src: /src/cairo/src/cairo-ps-surface.c:1977,1
    - Dst: _cairo_fixed_integer_ceil
      Src: /src/cairo/src/cairo-ps-surface.c:1978,1
    - Dst: _cairo_fixed_integer_floor
      Src: /src/cairo/src/cairo-ps-surface.c:1979,1
    - Dst: _cairo_fixed_integer_floor
      Src: /src/cairo/src/cairo-ps-surface.c:1980,1
    - Dst: _cairo_image_surface_create_with_content
      Src: /src/cairo/src/cairo-ps-surface.c:1982,1
    - Dst: _cairo_pattern_init_for_surface
      Src: /src/cairo/src/cairo-ps-surface.c:1988,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/src/cairo-ps-surface.c:1989,1
    - Dst: _cairo_surface_paint
      Src: /src/cairo/src/cairo-ps-surface.c:1991,1
    - Dst: _cairo_pattern_fini
      Src: /src/cairo/src/cairo-ps-surface.c:1995,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 6
    argNames:
    - surface
    - source
    - source_matrix
    - extents
    - image
    - image_extents
    argTypes:
    - cairo_ps_surface_t*
    - cairo_image_surface_t*
    - cairo_matrix_t*
    - cairo_rectangle_int_t*
    - cairo_image_surface_t**
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 2007
      start: 1954
    functionDepth: 0
    functionLinenumber: 1954
    functionLinenumberEnd: 2007
    functionName: _cairo_ps_surface_create_padded_image_from_image
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_init_for_surface
    - _cairo_box_round_to_rectangle
    - _cairo_pattern_fini
    - _cairo_matrix_transform_bounding_box_fixed
    - _cairo_fixed_integer_ceil
    - cairo_matrix_init_translate
    - _cairo_image_surface_create_with_content
    - _cairo_box_from_rectangle
    - _cairo_surface_paint
    - _cairo_fixed_integer_floor
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_ps_surface_create_padded_image_from_image\
      \ (cairo_ps_surface_t *surface,\t\t\t\t\t\t cairo_image_surface_t *source,\t\
      \t\t\t\t\t const cairo_matrix_t *source_matrix,\t\t\t\t\t\t const cairo_rectangle_int_t\
      \ *extents,\t\t\t\t\t\t cairo_image_surface_t **image,\t\t\t\t\t\t cairo_rectangle_int_t\
      \ *image_extents) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pattern_alpha_range
      Src: /src/cairo/src/cairo-ps-surface.c:2104,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - surface
    - pattern
    argTypes:
    - cairo_ps_surface_t*
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 2111
      start: 2093
    functionDepth: 0
    functionLinenumber: 2093
    functionLinenumberEnd: 2111
    functionName: _gradient_pattern_supported
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_alpha_range
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _gradient_pattern_supported (cairo_ps_surface_t\
      \ *surface,\t\t\t const cairo_pattern_t *pattern) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:3229,1
    - Dst: _cairo_strndup
      Src: /src/cairo/src/cairo-ps-surface.c:3248,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/src/cairo-ps-surface.c:3277,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3296,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3300,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3284,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-ps-surface.c:3299,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3301,1
    - Dst: cairo_surface_get_mime_data
      Src: /src/cairo/src/cairo-ps-surface.c:3242,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:3249,1
    - Dst: cairo_surface_get_mime_data
      Src: /src/cairo/src/cairo-ps-surface.c:3237,1
    - Dst: _cairo_tag_parse_eps_params
      Src: /src/cairo/src/cairo-ps-surface.c:3252,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:3253,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3270,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/src/cairo-ps-surface.c:3274,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/src/cairo-ps-surface.c:3281,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3286,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/src/cairo-ps-surface.c:3280,1
    - Dst: _cairo_output_stream_print_matrix
      Src: /src/cairo/src/cairo-ps-surface.c:3285,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-ps-surface.c:3250,1
    - Dst: count_eod_strings
      Src: /src/cairo/src/cairo-ps-surface.c:3265,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3289,1
    - Dst: _cairo_matrix_is_identity
      Src: /src/cairo/src/cairo-ps-surface.c:3283,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 3
    argNames:
    - surface
    - mode
    - params
    argTypes:
    - cairo_ps_surface_t*
    - cairo_emit_surface_mode_t
    - cairo_emit_surface_params_t*
    constantsTouched: []
    func_position:
      end: 3304
      start: 3214
    functionDepth: 0
    functionLinenumber: 3214
    functionLinenumberEnd: 3304
    functionName: _cairo_ps_surface_emit_eps
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - cairo_matrix_scale
    - _cairo_output_stream_printf
    - cairo_matrix_translate
    - cairo_surface_get_mime_data
    - count_eod_strings
    - _cairo_matrix_is_identity
    - _cairo_output_stream_print_matrix
    - _cairo_tag_parse_eps_params
    - _cairo_output_stream_write
    - _cairo_surface_set_error
    - cairo_matrix_init_translate
    - _cairo_strndup
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_ps_surface_emit_eps (cairo_ps_surface_t\
      \ *surface,\t\t\t cairo_emit_surface_mode_t mode,\t\t\t cairo_emit_surface_params_t\
      \ *params) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 5390
      start: 5386
    functionDepth: 0
    functionLinenumber: 5386
    functionLinenumberEnd: 5390
    functionName: _cairo_ps_surface_supports_fine_grained_fallbacks
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _cairo_ps_surface_supports_fine_grained_fallbacks\
      \ (void\t *abstract_surface) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _gradient_pattern_supported
      Src: /src/cairo/src/cairo-ps-surface.c:2123,1
    - Dst: surface_pattern_supported
      Src: /src/cairo/src/cairo-ps-surface.c:2126,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 4
    argCount: 2
    argNames:
    - surface
    - pattern
    argTypes:
    - cairo_ps_surface_t*
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 2135
      start: 2113
    functionDepth: 0
    functionLinenumber: 2113
    functionLinenumberEnd: 2135
    functionName: pattern_supported
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _gradient_pattern_supported
    - surface_pattern_supported
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t pattern_supported (cairo_ps_surface_t *surface,
      const cairo_pattern_t *pattern) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3351,1
    - Dst: _cairo_pdf_operators_set_cairo_to_pdf_matrix
      Src: /src/cairo/src/cairo-ps-surface.c:3365,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3392,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3367,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:3385,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-ps-surface.c:3333,1
    - Dst: _cairo_surface_is_snapshot
      Src: /src/cairo/src/cairo-ps-surface.c:3337,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:3334,1
    - Dst: _cairo_surface_snapshot_get_target
      Src: /src/cairo/src/cairo-ps-surface.c:3338,1
    - Dst: cairo_matrix_init
      Src: /src/cairo/src/cairo-ps-surface.c:3364,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3371,1
    - Dst: assert
      Src: /src/cairo/src/cairo-ps-surface.c:3384,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-ps-surface.c:3407,1
    - Dst: _cairo_array_truncate
      Src: /src/cairo/src/cairo-ps-surface.c:3409,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-ps-surface.c:3326,1
    - Dst: _cairo_surface_clipper_init
      Src: /src/cairo/src/cairo-ps-surface.c:3347,1
    - Dst: _cairo_pdf_operators_reset
      Src: /src/cairo/src/cairo-ps-surface.c:3363,1
    - Dst: _cairo_surface_clipper_reset
      Src: /src/cairo/src/cairo-ps-surface.c:3394,1
    - Dst: _cairo_pdf_operators_reset
      Src: /src/cairo/src/cairo-ps-surface.c:3402,1
    - Dst: _cairo_array_copy_element
      Src: /src/cairo/src/cairo-ps-surface.c:3328,1
    - Dst: _cairo_recording_surface_replay_region
      Src: /src/cairo/src/cairo-ps-surface.c:3379,1
    - Dst: _cairo_pdf_operators_flush
      Src: /src/cairo/src/cairo-ps-surface.c:3388,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:3389,1
    - Dst: _cairo_pdf_operators_set_cairo_to_pdf_matrix
      Src: /src/cairo/src/cairo-ps-surface.c:3405,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 59
    argCount: 5
    argNames:
    - surface
    - recording_surface
    - regions_id
    - recording_extents
    - subsurface
    argTypes:
    - cairo_ps_surface_t*
    - cairo_surface_t*
    - unsigned int
    - cairo_rectangle_int_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 3412
      start: 3306
    functionDepth: 0
    functionLinenumber: 3306
    functionLinenumberEnd: 3412
    functionName: _cairo_ps_surface_emit_recording_surface
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_clipper_reset
    - _cairo_surface_is_snapshot
    - _cairo_pdf_operators_reset
    - _cairo_recording_surface_replay_region
    - _cairo_array_num_elements
    - _cairo_surface_clipper_init
    - assert
    - cairo_surface_destroy
    - _cairo_array_truncate
    - _cairo_surface_snapshot_get_target
    - _cairo_array_copy_element
    - _cairo_array_append
    - _cairo_pdf_operators_flush
    - _cairo_pdf_operators_set_cairo_to_pdf_matrix
    - cairo_matrix_init
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_ps_surface_emit_recording_surface (cairo_ps_surface_t\
      \ *surface,\t\t\t\t\t cairo_surface_t *recording_surface,\t\t\t\t\t unsigned\
      \ int regions_id,\t\t\t\t\t const cairo_rectangle_int_t *recording_extents,\t\
      \t\t\t\t cairo_bool_t subsurface) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-ps-surface.c:4635,1
    - Dst: _cairo_output_stream_print_matrix
      Src: /src/cairo/src/cairo-ps-surface.c:4689,1
    - Dst: _cairo_pdf_shading_fini
      Src: /src/cairo/src/cairo-ps-surface.c:4701,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4695,1
    - Dst: _cairo_pdf_shading_init_color
      Src: /src/cairo/src/cairo-ps-surface.c:4639,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:4640,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4643,1
    - Dst: _cairo_ps_surface_emit_base85_string
      Src: /src/cairo/src/cairo-ps-surface.c:4647,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4660,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4679,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4686,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-ps-surface.c:4633,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-ps-surface.c:4637,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-ps-surface.c:4629,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4655,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4665,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4690,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4698,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4681,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - surface
    - pattern
    - is_ps_pattern
    argTypes:
    - cairo_ps_surface_t*
    - cairo_mesh_pattern_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 4704
      start: 4619
    functionDepth: 0
    functionLinenumber: 4619
    functionLinenumberEnd: 4704
    functionName: _cairo_ps_surface_emit_mesh_pattern
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_ps_surface_emit_base85_string
    - _cairo_array_num_elements
    - _cairo_output_stream_print_matrix
    - _cairo_pdf_shading_init_color
    - assert
    - _cairo_pdf_shading_fini
    - cairo_matrix_invert
    - cairo_matrix_multiply
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_ps_surface_emit_mesh_pattern (cairo_ps_surface_t\
      \ *surface,\t\t\t\t cairo_mesh_pattern_t *pattern,\t\t\t\t cairo_bool_t is_ps_pattern) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cairo_container_of
      Src: /src/cairo/src/cairo-ps-surface.c:995,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:1010,1
    - Dst: _cairo_pdf_operators_flush
      Src: /src/cairo/src/cairo-ps-surface.c:1009,1
    - Dst: assert
      Src: /src/cairo/src/cairo-ps-surface.c:1001,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:1004,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:1013,1
    - Dst: _cairo_pdf_operators_reset
      Src: /src/cairo/src/cairo-ps-surface.c:1016,1
    - Dst: _path_covers_bbox
      Src: /src/cairo/src/cairo-ps-surface.c:1021,1
    - Dst: _cairo_pdf_operators_clip
      Src: /src/cairo/src/cairo-ps-surface.c:1024,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 5
    argNames:
    - clipper
    - path
    - fill_rule
    - tolerance
    - antialias
    argTypes:
    - cairo_surface_clipper_t*
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    constantsTouched: []
    func_position:
      end: 1027
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 1027
    functionName: _cairo_ps_surface_clipper_intersect_clip_path
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_operators_reset
    - _cairo_pdf_operators_clip
    - cairo_container_of
    - assert
    - _path_covers_bbox
    - _cairo_pdf_operators_flush
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_ps_surface_clipper_intersect_clip_path\
      \ (cairo_surface_clipper_t *clipper,\t\t\t\t\t cairo_path_fixed_t *path,\t\t\
      \t\t\t cairo_fill_rule_t fill_rule,\t\t\t\t\t double\t\t tolerance,\t\t\t\t\t\
      \ cairo_antialias_t antialias) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _extract_ps_surface
      Src: /src/cairo/src/cairo-ps-surface.c:1672,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1677
      start: 1667
    functionDepth: 0
    functionLinenumber: 1667
    functionLinenumberEnd: 1677
    functionName: cairo_ps_surface_dsc_begin_setup
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _extract_ps_surface
    linkageType: ''
    returnType: void
    signature: 'void cairo_ps_surface_dsc_begin_setup (cairo_surface_t *surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_raster_source_pattern_release
      Src: /src/cairo/src/cairo-ps-surface.c:1941,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - surface
    - pattern
    - source_surface
    argTypes:
    - cairo_ps_surface_t*
    - cairo_pattern_t*
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1942
      start: 1935
    functionDepth: 0
    functionLinenumber: 1935
    functionLinenumberEnd: 1942
    functionName: _cairo_ps_surface_release_source_surface_from_pattern
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_raster_source_pattern_release
    linkageType: ''
    returnType: void
    signature: "static void _cairo_ps_surface_release_source_surface_from_pattern\
      \ (cairo_ps_surface_t *surface,\t\t\t\t\t\t const cairo_pattern_t *pattern,\t\
      \t\t\t\t\t cairo_surface_t *source_surface) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _extract_ps_surface
      Src: /src/cairo/src/cairo-ps-surface.c:1454,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - surface
    - eps
    argTypes:
    - cairo_surface_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 1458
      start: 1448
    functionDepth: 0
    functionLinenumber: 1448
    functionLinenumberEnd: 1458
    functionName: cairo_ps_surface_set_eps
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _extract_ps_surface
    linkageType: ''
    returnType: void
    signature: "void cairo_ps_surface_set_eps (cairo_surface_t\t*surface,\t\t\t cairo_bool_t\
      \ eps) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1818
      start: 1809
    functionDepth: 0
    functionLinenumber: 1809
    functionLinenumberEnd: 1818
    functionName: _cairo_ps_surface_start_page
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t _cairo_ps_surface_start_page (void *abstract_surface) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:2930,1
    - Dst: _cairo_image_info_get_jpeg_info
      Src: /src/cairo/src/cairo-ps-surface.c:2938,1
    - Dst: cairo_surface_get_mime_data
      Src: /src/cairo/src/cairo-ps-surface.c:2933,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:2939,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:2969,1
    - Dst: _cairo_ps_surface_emit_base85_string
      Src: /src/cairo/src/cairo-ps-surface.c:2972,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:2977,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:2980,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:2982,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:2985,1
    - Dst: get_interpolate
      Src: /src/cairo/src/cairo-ps-surface.c:3002,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:2989,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3006,1
    - Dst: _cairo_ps_surface_emit_base85_string
      Src: /src/cairo/src/cairo-ps-surface.c:3025,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3009,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3013,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 39
    argCount: 3
    argNames:
    - surface
    - mode
    - params
    argTypes:
    - cairo_ps_surface_t*
    - cairo_emit_surface_mode_t
    - cairo_emit_surface_params_t*
    constantsTouched: []
    func_position:
      end: 3033
      start: 2918
    functionDepth: 0
    functionLinenumber: 2918
    functionLinenumberEnd: 3033
    functionName: _cairo_ps_surface_emit_jpeg_image
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_ps_surface_emit_base85_string
    - cairo_surface_get_mime_data
    - get_interpolate
    - _cairo_image_info_get_jpeg_info
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_ps_surface_emit_jpeg_image (cairo_ps_surface_t\
      \ *surface,\t\t\t\t cairo_emit_surface_mode_t mode,\t\t\t\t cairo_emit_surface_params_t\
      \ *params) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_clipper_reset
      Src: /src/cairo/src/cairo-ps-surface.c:1827,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:1833,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:1830,1
    - Dst: _cairo_pdf_operators_flush
      Src: /src/cairo/src/cairo-ps-surface.c:1829,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1838
      start: 1820
    functionDepth: 0
    functionLinenumber: 1820
    functionLinenumberEnd: 1838
    functionName: _cairo_ps_surface_show_page
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_clipper_reset
    - _cairo_output_stream_printf
    - _cairo_pdf_operators_flush
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t _cairo_ps_surface_show_page (void *abstract_surface) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-ps-surface.c:3064,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3130,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3143,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3149,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3157,1
    - Dst: _cairo_strndup
      Src: /src/cairo/src/cairo-ps-surface.c:3062,1
    - Dst: cairo_surface_get_mime_data
      Src: /src/cairo/src/cairo-ps-surface.c:3051,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3085,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3098,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3106,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3096,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3123,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3126,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:3048,1
    - Dst: free
      Src: /src/cairo/src/cairo-ps-surface.c:3070,1
    - Dst: _cairo_ps_surface_emit_base85_string
      Src: /src/cairo/src/cairo-ps-surface.c:3088,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:3093,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3101,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3137,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3154,1
    - Dst: _cairo_ps_surface_emit_base85_string
      Src: /src/cairo/src/cairo-ps-surface.c:3170,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:3063,1
    - Dst: cairo_surface_get_mime_data
      Src: /src/cairo/src/cairo-ps-surface.c:3056,1
    - Dst: _cairo_tag_parse_ccitt_params
      Src: /src/cairo/src/cairo-ps-surface.c:3066,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:3067,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3110,1
    - Dst: get_interpolate
      Src: /src/cairo/src/cairo-ps-surface.c:3120,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3140,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3146,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 56
    argCount: 3
    argNames:
    - surface
    - mode
    - params
    argTypes:
    - cairo_ps_surface_t*
    - cairo_emit_surface_mode_t
    - cairo_emit_surface_params_t*
    constantsTouched: []
    func_position:
      end: 3178
      start: 3035
    functionDepth: 0
    functionLinenumber: 3035
    functionLinenumberEnd: 3178
    functionName: _cairo_ps_surface_emit_ccitt_image
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_ps_surface_emit_base85_string
    - _cairo_output_stream_printf
    - free
    - cairo_surface_get_mime_data
    - get_interpolate
    - _cairo_surface_set_error
    - _cairo_tag_parse_ccitt_params
    - _cairo_strndup
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_ps_surface_emit_ccitt_image (cairo_ps_surface_t\
      \ *surface,\t\t\t\t cairo_emit_surface_mode_t mode,\t\t\t\t cairo_emit_surface_params_t\
      \ *params) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1430
      start: 1423
    functionDepth: 0
    functionLinenumber: 1423
    functionLinenumberEnd: 1430
    functionName: cairo_ps_level_to_string
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *cairo_ps_level_to_string (cairo_ps_level_t level) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-ps-surface.c:4318,1
    - Dst: calc_gradient_color
      Src: /src/cairo/src/cairo-ps-surface.c:4342,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:4319,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-ps-surface.c:4320,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-ps-surface.c:4340,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-ps-surface.c:4350,1
    - Dst: calc_gradient_color
      Src: /src/cairo/src/cairo-ps-surface.c:4354,1
    - Dst: _cairo_color_init_rgba
      Src: /src/cairo/src/cairo-ps-surface.c:4365,1
    - Dst: _cairo_ps_surface_flatten_transparency
      Src: /src/cairo/src/cairo-ps-surface.c:4370,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4377,1
    - Dst: assert
      Src: /src/cairo/src/cairo-ps-surface.c:4397,1
    - Dst: _cairo_ps_surface_emit_stitched_colorgradient
      Src: /src/cairo/src/cairo-ps-surface.c:4405,1
    - Dst: free
      Src: /src/cairo/src/cairo-ps-surface.c:4417,1
    - Dst: _cairo_ps_surface_emit_stitched_colorgradient
      Src: /src/cairo/src/cairo-ps-surface.c:4412,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4414,1
    - Dst: _cairo_ps_surface_emit_linear_colorgradient
      Src: /src/cairo/src/cairo-ps-surface.c:4408,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 71
    argCount: 2
    argNames:
    - surface
    - pattern
    argTypes:
    - cairo_ps_surface_t*
    - cairo_gradient_pattern_t*
    constantsTouched: []
    func_position:
      end: 4420
      start: 4311
    functionDepth: 0
    functionLinenumber: 4311
    functionLinenumberEnd: 4420
    functionName: _cairo_ps_surface_emit_pattern_stops
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - memcpy
    - _cairo_error
    - free
    - _cairo_ps_surface_flatten_transparency
    - calc_gradient_color
    - _cairo_ps_surface_emit_linear_colorgradient
    - assert
    - _cairo_ps_surface_emit_stitched_colorgradient
    - _cairo_malloc_ab
    - _cairo_color_init_rgba
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_ps_surface_emit_pattern_stops (cairo_ps_surface_t\
      \ *surface,\t\t\t\t cairo_gradient_pattern_t *pattern) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_box_from_rectangle
      Src: /src/cairo/src/cairo-ps-surface.c:1883,1
    - Dst: _cairo_raster_source_pattern_acquire
      Src: /src/cairo/src/cairo-ps-surface.c:1890,1
    - Dst: _cairo_surface_get_extents
      Src: /src/cairo/src/cairo-ps-surface.c:1894,1
    - Dst: _cairo_box_round_to_rectangle
      Src: /src/cairo/src/cairo-ps-surface.c:1885,1
    - Dst: _cairo_matrix_transform_bounding_box_fixed
      Src: /src/cairo/src/cairo-ps-surface.c:1884,1
    - Dst: cairo_surface_get_device_offset
      Src: /src/cairo/src/cairo-ps-surface.c:1895,1
    - Dst: _cairo_surface_get_extents
      Src: /src/cairo/src/cairo-ps-surface.c:1902,1
    - Dst: _cairo_surface_is_snapshot
      Src: /src/cairo/src/cairo-ps-surface.c:1904,1
    - Dst: _cairo_surface_snapshot_get_target
      Src: /src/cairo/src/cairo-ps-surface.c:1905,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-ps-surface.c:1916,1
    - Dst: _cairo_surface_release_source_image
      Src: /src/cairo/src/cairo-ps-surface.c:1926,1
    - Dst: _cairo_surface_acquire_source_image
      Src: /src/cairo/src/cairo-ps-surface.c:1921,1
    - Dst: _cairo_surface_get_extents
      Src: /src/cairo/src/cairo-ps-surface.c:1925,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:1922,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 44
    argCount: 9
    argNames:
    - surface
    - pattern
    - extents
    - src_surface_extents
    - src_surface_bounded
    - src_op_extents
    - source_surface
    - x_offset
    - y_offset
    argTypes:
    - cairo_ps_surface_t*
    - cairo_pattern_t*
    - cairo_rectangle_int_t*
    - cairo_rectangle_int_t*
    - cairo_bool_t*
    - cairo_rectangle_int_t*
    - cairo_surface_t**
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 1933
      start: 1864
    functionDepth: 0
    functionLinenumber: 1864
    functionLinenumberEnd: 1933
    functionName: _cairo_ps_surface_acquire_source_surface_from_pattern
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_release_source_image
    - _cairo_surface_is_snapshot
    - _cairo_box_round_to_rectangle
    - cairo_surface_get_device_offset
    - _cairo_raster_source_pattern_acquire
    - _cairo_surface_get_extents
    - _cairo_matrix_transform_bounding_box_fixed
    - cairo_surface_destroy
    - _cairo_surface_acquire_source_image
    - _cairo_surface_snapshot_get_target
    - _cairo_box_from_rectangle
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_ps_surface_acquire_source_surface_from_pattern
      ( cairo_ps_surface_t *surface, const cairo_pattern_t *pattern, const cairo_rectangle_int_t
      *extents, cairo_rectangle_int_t *src_surface_extents, cairo_bool_t *src_surface_bounded,
      cairo_rectangle_int_t *src_op_extents, cairo_surface_t **source_surface, double
      *x_offset, double *y_offset) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_COLOR_IS_OPAQUE
      Src: /src/cairo/src/cairo-ps-surface.c:3425,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 5
    argNames:
    - surface
    - color
    - red
    - green
    - blue
    argTypes:
    - cairo_ps_surface_t*
    - cairo_color_t*
    - double*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 3436
      start: 3414
    functionDepth: 0
    functionLinenumber: 3414
    functionLinenumberEnd: 3436
    functionName: _cairo_ps_surface_flatten_transparency
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - CAIRO_COLOR_IS_OPAQUE
    linkageType: ''
    returnType: void
    signature: "static void _cairo_ps_surface_flatten_transparency (cairo_ps_surface_t\t\
      *surface,\t\t\t\t\tconst cairo_color_t\t*color,\t\t\t\t\tdouble\t\t\t*red,\t\
      \t\t\t\tdouble\t\t\t*green,\t\t\t\t\tdouble\t\t\t*blue) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-ps-surface.c:3824,1
    - Dst: _cairo_path_fixed_rel_line_to
      Src: /src/cairo/src/cairo-ps-surface.c:3829,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-ps-surface.c:3831,1
    - Dst: _cairo_path_fixed_close_path
      Src: /src/cairo/src/cairo-ps-surface.c:3838,1
    - Dst: _cairo_path_fixed_init
      Src: /src/cairo/src/cairo-ps-surface.c:3819,1
    - Dst: assert
      Src: /src/cairo/src/cairo-ps-surface.c:3828,1
    - Dst: assert
      Src: /src/cairo/src/cairo-ps-surface.c:3836,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-ps-surface.c:3823,1
    - Dst: _cairo_path_fixed_move_to
      Src: /src/cairo/src/cairo-ps-surface.c:3821,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-ps-surface.c:3826,1
    - Dst: assert
      Src: /src/cairo/src/cairo-ps-surface.c:3839,1
    - Dst: assert
      Src: /src/cairo/src/cairo-ps-surface.c:3832,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-ps-surface.c:3830,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-ps-surface.c:3834,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-ps-surface.c:3822,1
    - Dst: _cairo_path_fixed_rel_line_to
      Src: /src/cairo/src/cairo-ps-surface.c:3825,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-ps-surface.c:3827,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-ps-surface.c:3835,1
    - Dst: _cairo_path_fixed_rel_line_to
      Src: /src/cairo/src/cairo-ps-surface.c:3833,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 2
    argNames:
    - path
    - rect
    argTypes:
    - cairo_path_fixed_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 3840
      start: 3813
    functionDepth: 0
    functionLinenumber: 3813
    functionLinenumberEnd: 3840
    functionName: _path_fixed_init_rectangle
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_rel_line_to
    - _cairo_path_fixed_move_to
    - assert
    - _cairo_path_fixed_close_path
    - _cairo_path_fixed_init
    - _cairo_fixed_from_int
    linkageType: ''
    returnType: void
    signature: "static void _path_fixed_init_rectangle (cairo_path_fixed_t *path,\t\
      \t\t cairo_rectangle_int_t *rect) "
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_color_equal
      Src: /src/cairo/src/cairo-ps-surface.c:4718,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:4721,1
    - Dst: _cairo_pdf_operators_flush
      Src: /src/cairo/src/cairo-ps-surface.c:4734,1
    - Dst: _cairo_pdf_operators_flush
      Src: /src/cairo/src/cairo-ps-surface.c:4720,1
    - Dst: _cairo_ps_surface_emit_solid_pattern
      Src: /src/cairo/src/cairo-ps-surface.c:4724,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:4735,1
    - Dst: _cairo_ps_surface_emit_solid_pattern
      Src: /src/cairo/src/cairo-ps-surface.c:4741,1
    - Dst: _cairo_ps_surface_emit_surface_pattern
      Src: /src/cairo/src/cairo-ps-surface.c:4746,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:4750,1
    - Dst: _cairo_ps_surface_emit_gradient
      Src: /src/cairo/src/cairo-ps-surface.c:4756,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:4767,1
    - Dst: _cairo_ps_surface_emit_mesh_pattern
      Src: /src/cairo/src/cairo-ps-surface.c:4764,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:4759,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 29
    argCount: 4
    argNames:
    - surface
    - pattern
    - extents
    - op
    argTypes:
    - cairo_ps_surface_t*
    - cairo_pattern_t*
    - cairo_rectangle_int_t*
    - cairo_operator_t
    constantsTouched: []
    func_position:
      end: 4773
      start: 4706
    functionDepth: 0
    functionLinenumber: 4706
    functionLinenumberEnd: 4773
    functionName: _cairo_ps_surface_emit_pattern
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_ps_surface_emit_mesh_pattern
    - _cairo_ps_surface_emit_solid_pattern
    - _cairo_ps_surface_emit_surface_pattern
    - _cairo_ps_surface_emit_gradient
    - _cairo_color_equal
    - _cairo_pdf_operators_flush
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_ps_surface_emit_pattern (cairo_ps_surface_t\
      \ *surface,\t\t\t\tconst cairo_pattern_t *pattern,\t\t\t\tcairo_rectangle_int_t\
      \ *extents,\t\t\t\tcairo_operator_t op) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_ps_surface_flatten_transparency
      Src: /src/cairo/src/cairo-ps-surface.c:3444,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3447,1
    - Dst: color_is_gray
      Src: /src/cairo/src/cairo-ps-surface.c:3446,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3451,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - surface
    - pattern
    argTypes:
    - cairo_ps_surface_t*
    - cairo_solid_pattern_t*
    constantsTouched: []
    func_position:
      end: 3454
      start: 3438
    functionDepth: 0
    functionLinenumber: 3438
    functionLinenumberEnd: 3454
    functionName: _cairo_ps_surface_emit_solid_pattern
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_ps_surface_flatten_transparency
    - _cairo_output_stream_printf
    - color_is_gray
    linkageType: ''
    returnType: void
    signature: "static void _cairo_ps_surface_emit_solid_pattern (cairo_ps_surface_t\
      \ *surface,\t\t\t\t cairo_solid_pattern_t *pattern) "
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_ps_surface_create_padded_image_from_image
      Src: /src/cairo/src/cairo-ps-surface.c:3888,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:3894,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:3906,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-ps-surface.c:3951,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3976,1
    - Dst: _cairo_ps_surface_emit_surface
      Src: /src/cairo/src/cairo-ps-surface.c:3981,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-ps-surface.c:3985,1
    - Dst: _cairo_ps_surface_release_source_surface_from_pattern
      Src: /src/cairo/src/cairo-ps-surface.c:3987,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/src/cairo-ps-surface.c:3972,1
    - Dst: _cairo_path_fixed_fini
      Src: /src/cairo/src/cairo-ps-surface.c:3905,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3922,1
    - Dst: assert
      Src: /src/cairo/src/cairo-ps-surface.c:3948,1
    - Dst: _cairo_matrix_is_identity
      Src: /src/cairo/src/cairo-ps-surface.c:3975,1
    - Dst: _cairo_pdf_operators_flush
      Src: /src/cairo/src/cairo-ps-surface.c:3861,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:3862,1
    - Dst: _path_fixed_init_rectangle
      Src: /src/cairo/src/cairo-ps-surface.c:3901,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3931,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3915,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/src/cairo-ps-surface.c:3952,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3926,1
    - Dst: _cairo_ps_surface_emit_surface
      Src: /src/cairo/src/cairo-ps-surface.c:3965,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:3966,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/src/cairo-ps-surface.c:3971,1
    - Dst: _cairo_ps_surface_acquire_source_surface_from_pattern
      Src: /src/cairo/src/cairo-ps-surface.c:3870,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:3879,1
    - Dst: _cairo_pdf_operators_clip
      Src: /src/cairo/src/cairo-ps-surface.c:3902,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3936,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-ps-surface.c:3946,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/src/cairo-ps-surface.c:3970,1
    - Dst: _cairo_output_stream_print_matrix
      Src: /src/cairo/src/cairo-ps-surface.c:3977,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:3978,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 87
    argCount: 5
    argNames:
    - surface
    - pattern
    - extents
    - op
    - stencil_mask
    argTypes:
    - cairo_ps_surface_t*
    - cairo_pattern_t*
    - cairo_rectangle_int_t*
    - cairo_operator_t
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 3990
      start: 3842
    functionDepth: 0
    functionLinenumber: 3842
    functionLinenumberEnd: 3990
    functionName: _cairo_ps_surface_paint_surface
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_ps_surface_acquire_source_surface_from_pattern
    - _path_fixed_init_rectangle
    - cairo_matrix_invert
    - cairo_matrix_scale
    - _cairo_pdf_operators_clip
    - _cairo_ps_surface_emit_surface
    - cairo_matrix_translate
    - _cairo_matrix_is_identity
    - _cairo_output_stream_print_matrix
    - _cairo_ps_surface_create_padded_image_from_image
    - assert
    - _cairo_path_fixed_fini
    - cairo_surface_destroy
    - _cairo_ps_surface_release_source_surface_from_pattern
    - _cairo_pdf_operators_flush
    - cairo_matrix_multiply
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_ps_surface_paint_surface (cairo_ps_surface_t\
      \ *surface,\t\t\t\t const cairo_pattern_t *pattern,\t\t\t\t cairo_rectangle_int_t\
      \ *extents,\t\t\t\t cairo_operator_t\t op,\t\t\t\t cairo_bool_t stencil_mask) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4428,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4450,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4441,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4445,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - surface
    - pattern
    - begin
    - end
    argTypes:
    - cairo_ps_surface_t*
    - cairo_gradient_pattern_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 4453
      start: 4422
    functionDepth: 0
    functionLinenumber: 4422
    functionLinenumberEnd: 4453
    functionName: _cairo_ps_surface_emit_repeating_function
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_ps_surface_emit_repeating_function (cairo_ps_surface_t\
      \ *surface,\t\t\t\t\t cairo_gradient_pattern_t *pattern,\t\t\t\t\t int begin,\t\
      \t\t\t\t int end) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-ps-surface.c:4784,1
    - Dst: assert
      Src: /src/cairo/src/cairo-ps-surface.c:4786,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4790,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-ps-surface.c:4787,1
    - Dst: _cairo_matrix_is_identity
      Src: /src/cairo/src/cairo-ps-surface.c:4789,1
    - Dst: _cairo_output_stream_print_matrix
      Src: /src/cairo/src/cairo-ps-surface.c:4791,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:4792,1
    - Dst: _cairo_ps_surface_emit_mesh_pattern
      Src: /src/cairo/src/cairo-ps-surface.c:4796,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:4799,1
    - Dst: _cairo_ps_surface_emit_gradient
      Src: /src/cairo/src/cairo-ps-surface.c:4802,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:4805,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - surface
    - source
    - extents
    argTypes:
    - cairo_ps_surface_t*
    - cairo_pattern_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 4810
      start: 4775
    functionDepth: 0
    functionLinenumber: 4775
    functionLinenumberEnd: 4810
    functionName: _cairo_ps_surface_paint_gradient
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_ps_surface_emit_mesh_pattern
    - _cairo_matrix_is_identity
    - _cairo_output_stream_print_matrix
    - assert
    - _cairo_ps_surface_emit_gradient
    - cairo_matrix_invert
    - cairo_matrix_multiply
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_ps_surface_paint_gradient (cairo_ps_surface_t\
      \ *surface,\t\t\t\t const cairo_pattern_t *source,\t\t\t\t const cairo_rectangle_int_t\
      \ *extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/cairo/src/cairo-ps-surface.c:1845,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-ps-surface.c:1846,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - red
    - green
    - blue
    argTypes:
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 1847
      start: 1840
    functionDepth: 0
    functionLinenumber: 1840
    functionLinenumberEnd: 1847
    functionName: color_is_gray
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - fabs
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t color_is_gray (double red, double green, double
      blue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_hash_bytes
      Src: /src/cairo/src/cairo-ps-surface.c:265,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - cairo_ps_form_t*
    constantsTouched: []
    func_position:
      end: 267
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 267
    functionName: _cairo_ps_form_init_key
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_hash_bytes
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_ps_form_init_key (cairo_ps_form_t *key) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_scaled_font_subset_create_glyph_names
      Src: /src/cairo/src/cairo-ps-surface.c:886,1
    - Dst: _cairo_int_status_is_error
      Src: /src/cairo/src/cairo-ps-surface.c:887,1
    - Dst: _cairo_ps_surface_emit_type3_font_subset
      Src: /src/cairo/src/cairo-ps-surface.c:890,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - font_subset
    - closure
    argTypes:
    - cairo_scaled_font_subset_t*
    - void*
    constantsTouched: []
    func_position:
      end: 896
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 896
    functionName: _cairo_ps_surface_emit_scaled_font_subset
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_int_status_is_error
    - _cairo_ps_surface_emit_type3_font_subset
    - _cairo_scaled_font_subset_create_glyph_names
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_ps_surface_emit_scaled_font_subset\
      \ (cairo_scaled_font_subset_t *font_subset, void\t\t\t *closure) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_ps_surface_paint_surface
      Src: /src/cairo/src/cairo-ps-surface.c:4822,1
    - Dst: _cairo_ps_surface_paint_gradient
      Src: /src/cairo/src/cairo-ps-surface.c:4831,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 4
    argCount: 5
    argNames:
    - surface
    - source
    - extents
    - op
    - stencil_mask
    argTypes:
    - cairo_ps_surface_t*
    - cairo_pattern_t*
    - cairo_rectangle_int_t*
    - cairo_operator_t
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 4840
      start: 4812
    functionDepth: 0
    functionLinenumber: 4812
    functionLinenumberEnd: 4840
    functionName: _cairo_ps_surface_paint_pattern
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_ps_surface_paint_surface
    - _cairo_ps_surface_paint_gradient
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_ps_surface_paint_pattern (cairo_ps_surface_t\
      \ *surface,\t\t\t\t const cairo_pattern_t *source,\t\t\t\t cairo_rectangle_int_t\
      \ *extents,\t\t\t\t cairo_operator_t op,\t\t\t\t cairo_bool_t stencil_mask) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cairo/src/cairo-ps-surface.c:281,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - key_a
    - key_b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 282
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 282
    functionName: _cairo_ps_form_equal
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_ps_form_equal (const void *key_a, const
      void *key_b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:904,1
    - Dst: _cairo_scaled_font_subsets_foreach_unscaled
      Src: /src/cairo/src/cairo-ps-surface.c:908,1
    - Dst: _cairo_scaled_font_subsets_foreach_scaled
      Src: /src/cairo/src/cairo-ps-surface.c:914,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:911,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_ps_surface_t*
    constantsTouched: []
    func_position:
      end: 917
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 917
    functionName: _cairo_ps_surface_emit_font_subsets
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_scaled_font_subsets_foreach_unscaled
    - _cairo_scaled_font_subsets_foreach_scaled
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_ps_surface_emit_font_subsets (cairo_ps_surface_t
      *surface) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 5
    argCount: 1
    argNames:
    - pattern
    argTypes:
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 4863
      start: 4842
    functionDepth: 0
    functionLinenumber: 4842
    functionLinenumberEnd: 4863
    functionName: _can_paint_pattern
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _can_paint_pattern (const cairo_pattern_t *pattern) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:765,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:792,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:796,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-ps-surface.c:842,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-ps-surface.c:843,1
    - Dst: _cairo_type3_glyph_surface_create
      Src: /src/cairo/src/cairo-ps-surface.c:772,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:783,1
    - Dst: _cairo_type3_glyph_surface_emit_glyph
      Src: /src/cairo/src/cairo-ps-surface.c:798,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:803,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-ps-surface.c:825,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:829,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-ps-surface.c:840,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-ps-surface.c:841,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:806,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:846,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:759,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:763,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:778,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-ps-surface.c:787,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-ps-surface.c:826,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/src/cairo-ps-surface.c:824,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 2
    argNames:
    - surface
    - font_subset
    argTypes:
    - cairo_ps_surface_t*
    - cairo_scaled_font_subset_t*
    constantsTouched: []
    func_position:
      end: 850
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 850
    functionName: _cairo_ps_surface_emit_type3_font_subset
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_type3_glyph_surface_emit_glyph
    - cairo_surface_finish
    - _cairo_fixed_to_double
    - cairo_surface_destroy
    - _cairo_type3_glyph_surface_create
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_ps_surface_emit_type3_font_subset (cairo_ps_surface_t\t\
      \t*surface,\t\t\t\t\t cairo_scaled_font_subset_t\t*font_subset) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_scaled_font_subset_create_glyph_names
      Src: /src/cairo/src/cairo-ps-surface.c:859,1
    - Dst: _cairo_ps_surface_emit_type1_font_fallback
      Src: /src/cairo/src/cairo-ps-surface.c:871,1
    - Dst: _cairo_ps_surface_emit_truetype_font_subset
      Src: /src/cairo/src/cairo-ps-surface.c:867,1
    - Dst: _cairo_int_status_is_error
      Src: /src/cairo/src/cairo-ps-surface.c:860,1
    - Dst: _cairo_ps_surface_emit_type1_font_subset
      Src: /src/cairo/src/cairo-ps-surface.c:863,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - font_subset
    - closure
    argTypes:
    - cairo_scaled_font_subset_t*
    - void*
    constantsTouched: []
    func_position:
      end: 877
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 877
    functionName: _cairo_ps_surface_emit_unscaled_font_subset
    functionSourceFile: /src/cairo/src/cairo-ps-surface.c
    functionUses: []
    functionsReached:
    - _cairo_ps_surface_emit_type1_font_fallback
    - _cairo_ps_surface_emit_type1_font_subset
    - _cairo_int_status_is_error
    - _cairo_ps_surface_emit_truetype_font_subset
    - _cairo_scaled_font_subset_create_glyph_names
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_ps_surface_emit_unscaled_font_subset\
      \ (cairo_scaled_font_subset_t\t*font_subset,\t\t\t\t void\t\t\t*closure) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_scan_converter_status
      Src: /src/cairo/src/cairo-spans.c:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - abstract_converter
    - renderer
    argTypes:
    - void*
    - cairo_span_renderer_t*
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: _cairo_nil_scan_converter_generate
    functionSourceFile: /src/cairo/src/cairo-spans.c
    functionUses: []
    functionsReached:
    - _cairo_scan_converter_status
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_nil_scan_converter_generate (void *abstract_converter,\t\
      \t\t\t cairo_span_renderer_t *renderer) "
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - abstract_converter
    - error
    argTypes:
    - void*
    - cairo_status_t
    constantsTouched: []
    func_position:
      end: 68
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 68
    functionName: _cairo_scan_converter_set_error
    functionSourceFile: /src/cairo/src/cairo-spans.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_scan_converter_set_error (void *abstract_converter,\t\
      \t\t\t cairo_status_t error) "
  - BBCount: 48
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 142
    functionName: _cairo_scan_converter_create_in_error
    functionSourceFile: /src/cairo/src/cairo-spans.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_scan_converter_t*
    signature: 'cairo_scan_converter_t *_cairo_scan_converter_create_in_error (cairo_status_t
      status) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_span_renderer_status
      Src: /src/cairo/src/cairo-spans.c:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - abstract_renderer
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: _cairo_nil_span_renderer_finish
    functionSourceFile: /src/cairo/src/cairo-spans.c
    functionUses: []
    functionsReached:
    - _cairo_span_renderer_status
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_nil_span_renderer_finish (void *abstract_renderer) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - abstract_renderer
    - error
    argTypes:
    - void*
    - cairo_status_t
    constantsTouched: []
    func_position:
      end: 187
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 187
    functionName: _cairo_span_renderer_set_error
    functionSourceFile: /src/cairo/src/cairo-spans.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_span_renderer_set_error ( void *abstract_renderer,
      cairo_status_t error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - abstract
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: _cairo_nil_destroy
    functionSourceFile: /src/cairo/src/cairo-spans.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_nil_destroy (void *abstract) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - abstract_converter
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: _cairo_scan_converter_status
    functionSourceFile: /src/cairo/src/cairo-spans.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_scan_converter_status (void *abstract_converter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_scan_converter_set_error
      Src: /src/cairo/src/cairo-spans.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - converter
    - status
    argTypes:
    - cairo_scan_converter_t*
    - cairo_status_t
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: _cairo_nil_scan_converter_init
    functionSourceFile: /src/cairo/src/cairo-spans.c
    functionUses: []
    functionsReached:
    - _cairo_scan_converter_set_error
    linkageType: ''
    returnType: void
    signature: "static void _cairo_nil_scan_converter_init (cairo_scan_converter_t\
      \ *converter,\t\t\t\tcairo_status_t status) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_span_renderer_status
      Src: /src/cairo/src/cairo-spans.c:156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 5
    argNames:
    - abstract_renderer
    - y
    - height
    - coverages
    - num_coverages
    argTypes:
    - void*
    - int
    - int
    - cairo_half_open_span_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 157
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 157
    functionName: _cairo_nil_span_renderer_render_rows
    functionSourceFile: /src/cairo/src/cairo-spans.c
    functionUses: []
    functionsReached:
    - _cairo_span_renderer_status
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_nil_span_renderer_render_rows ( void\t\
      \t\t\t*abstract_renderer, int\t\t\t\t\t y, int\t\t\t\t\t height, const cairo_half_open_span_t\t\
      *coverages, unsigned\t\t\t\t num_coverages) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - abstract_renderer
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: _cairo_span_renderer_status
    functionSourceFile: /src/cairo/src/cairo-spans.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_span_renderer_status (void *abstract_renderer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_span_renderer_set_error
      Src: /src/cairo/src/cairo-spans.c:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - renderer
    - status
    argTypes:
    - cairo_span_renderer_t*
    - cairo_status_t
    constantsTouched: []
    func_position:
      end: 196
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 196
    functionName: _cairo_nil_span_renderer_init
    functionSourceFile: /src/cairo/src/cairo-spans.c
    functionUses: []
    functionsReached:
    - _cairo_span_renderer_set_error
    linkageType: ''
    returnType: void
    signature: "static void _cairo_nil_span_renderer_init (cairo_span_renderer_t *renderer,\t\
      \t\t cairo_status_t status) "
  - BBCount: 48
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 261
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 261
    functionName: _cairo_span_renderer_create_in_error
    functionSourceFile: /src/cairo/src/cairo-spans.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_span_renderer_t*
    signature: 'cairo_span_renderer_t *_cairo_span_renderer_create_in_error (cairo_status_t
      status) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-tag-stack.c:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - stack
    argTypes:
    - cairo_tag_stack_t*
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: _cairo_tag_stack_init
    functionSourceFile: /src/cairo/src/cairo-tag-stack.c
    functionUses: []
    functionsReached:
    - cairo_list_init
    linkageType: ''
    returnType: void
    signature: 'void _cairo_tag_stack_init (cairo_tag_stack_t *stack) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cairo/src/cairo-tag-stack.c:175,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-tag-stack.c:177,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-tag-stack.c:187,1
    - Dst: name_in_list
      Src: /src/cairo/src/cairo-tag-stack.c:185,1
    - Dst: strdup
      Src: /src/cairo/src/cairo-tag-stack.c:209,1
    - Dst: name_in_list
      Src: /src/cairo/src/cairo-tag-stack.c:166,1
    - Dst: name_in_list
      Src: /src/cairo/src/cairo-tag-stack.c:167,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-tag-stack.c:180,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-tag-stack.c:193,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-tag-stack.c:201,1
    - Dst: strdup
      Src: /src/cairo/src/cairo-tag-stack.c:204,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-tag-stack.c:202,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-tag-stack.c:205,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-tag-stack.c:206,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-tag-stack.c:210,1
    - Dst: _cairo_tag_error
      Src: /src/cairo/src/cairo-tag-stack.c:170,1
    - Dst: _cairo_tag_stack_top_elem
      Src: /src/cairo/src/cairo-tag-stack.c:173,1
    - Dst: _cairo_tag_error
      Src: /src/cairo/src/cairo-tag-stack.c:179,1
    - Dst: cairo_list_add_tail
      Src: /src/cairo/src/cairo-tag-stack.c:218,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-tag-stack.c:176,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-tag-stack.c:181,1
    - Dst: name_in_list
      Src: /src/cairo/src/cairo-tag-stack.c:189,1
    - Dst: name_in_list
      Src: /src/cairo/src/cairo-tag-stack.c:194,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-tag-stack.c:200,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-tag-stack.c:211,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 63
    argCount: 3
    argNames:
    - stack
    - name
    - attributes
    argTypes:
    - cairo_tag_stack_t*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 222
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 222
    functionName: _cairo_tag_stack_push
    functionSourceFile: /src/cairo/src/cairo-tag-stack.c
    functionUses: []
    functionsReached:
    - name_in_list
    - _cairo_tag_stack_top_elem
    - _cairo_tag_error
    - _cairo_error
    - unlikely
    - strcmp
    - strdup
    - cairo_list_add_tail
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_tag_stack_push (cairo_tag_stack_t *stack,\t\
      \t const char *name,\t\t const char *attributes) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - stack
    argTypes:
    - cairo_tag_stack_t*
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: _cairo_tag_stack_get_structure_type
    functionSourceFile: /src/cairo/src/cairo-tag-stack.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_tag_stack_structure_type_t
    signature: 'cairo_tag_stack_structure_type_t _cairo_tag_stack_get_structure_type
      (cairo_tag_stack_t *stack) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_tag_stack_top_elem
      Src: /src/cairo/src/cairo-tag-stack.c:242,1
    - Dst: _cairo_tag_error
      Src: /src/cairo/src/cairo-tag-stack.c:245,1
    - Dst: _cairo_tag_error
      Src: /src/cairo/src/cairo-tag-stack.c:252,1
    - Dst: cairo_list_del
      Src: /src/cairo/src/cairo-tag-stack.c:248,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-tag-stack.c:250,1
    - Dst: _cairo_tag_stack_free_elem
      Src: /src/cairo/src/cairo-tag-stack.c:255,1
    - Dst: _cairo_tag_stack_free_elem
      Src: /src/cairo/src/cairo-tag-stack.c:262,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - stack
    - name
    - elem
    argTypes:
    - cairo_tag_stack_t*
    - char*
    - cairo_tag_stack_elem_t**
    constantsTouched: []
    func_position:
      end: 265
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 265
    functionName: _cairo_tag_stack_pop
    functionSourceFile: /src/cairo/src/cairo-tag-stack.c
    functionUses: []
    functionsReached:
    - _cairo_tag_stack_free_elem
    - _cairo_tag_error
    - strcmp
    - cairo_list_del
    - _cairo_tag_stack_top_elem
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_tag_stack_pop (cairo_tag_stack_t *stack,\t\
      \t const char *name,\t\t cairo_tag_stack_elem_t **elem) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_foreach_entry
      Src: /src/cairo/src/cairo-tag-stack.c:284,1
    - Dst: func
      Src: /src/cairo/src/cairo-tag-stack.c:285,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 3
    argNames:
    - stack
    - (*func)
    - closure
    argTypes:
    - cairo_tag_stack_t*
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 287
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 287
    functionName: _cairo_tag_stack_foreach
    functionSourceFile: /src/cairo/src/cairo-tag-stack.c
    functionUses: []
    functionsReached:
    - cairo_list_foreach_entry
    - func
    linkageType: ''
    returnType: void
    signature: "void _cairo_tag_stack_foreach (cairo_tag_stack_t *stack,\t\t\t void\
      \ (*func)(cairo_tag_stack_elem_t *elem,\t\t\t\t void *closure),\t\t\t void *closure) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: name_in_list
      Src: /src/cairo/src/cairo-tag-stack.c:300,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-tag-stack.c:310,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-tag-stack.c:307,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-tag-stack.c:304,1
    - Dst: name_in_list
      Src: /src/cairo/src/cairo-tag-stack.c:301,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-tag-stack.c:313,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 317
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 317
    functionName: _cairo_tag_get_type
    functionSourceFile: /src/cairo/src/cairo-tag-stack.c
    functionUses: []
    functionsReached:
    - name_in_list
    - strcmp
    linkageType: ''
    returnType: cairo_tag_type_t
    signature: 'cairo_tag_type_t _cairo_tag_get_type (const char *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cairo/src/cairo-tag-stack.c:151,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - name
    - list
    argTypes:
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 157
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 157
    functionName: name_in_list
    functionSourceFile: /src/cairo/src/cairo-tag-stack.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t name_in_list (const char *name, const char **list) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_is_empty
      Src: /src/cairo/src/cairo-tag-stack.c:127,1
    - Dst: cairo_list_del
      Src: /src/cairo/src/cairo-tag-stack.c:131,1
    - Dst: free
      Src: /src/cairo/src/cairo-tag-stack.c:133,1
    - Dst: cairo_list_first_entry
      Src: /src/cairo/src/cairo-tag-stack.c:130,1
    - Dst: free
      Src: /src/cairo/src/cairo-tag-stack.c:132,1
    - Dst: free
      Src: /src/cairo/src/cairo-tag-stack.c:134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - stack
    argTypes:
    - cairo_tag_stack_t*
    constantsTouched: []
    func_position:
      end: 136
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 136
    functionName: _cairo_tag_stack_fini
    functionSourceFile: /src/cairo/src/cairo-tag-stack.c
    functionUses: []
    functionsReached:
    - free
    - cairo_list_first_entry
    - cairo_list_is_empty
    - cairo_list_del
    linkageType: ''
    returnType: void
    signature: 'void _cairo_tag_stack_fini (cairo_tag_stack_t *stack) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_tag_stack_top_elem
      Src: /src/cairo/src/cairo-tag-stack.c:230,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - stack
    - data
    argTypes:
    - cairo_tag_stack_t*
    - void*
    constantsTouched: []
    func_position:
      end: 233
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 233
    functionName: _cairo_tag_stack_set_top_data
    functionSourceFile: /src/cairo/src/cairo-tag-stack.c
    functionUses: []
    functionsReached:
    - _cairo_tag_stack_top_elem
    linkageType: ''
    returnType: cairo_private
    signature: "cairo_private void _cairo_tag_stack_set_top_data (cairo_tag_stack_t\
      \ *stack,\t\t\t void *data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_is_empty
      Src: /src/cairo/src/cairo-tag-stack.c:270,1
    - Dst: cairo_list_last_entry
      Src: /src/cairo/src/cairo-tag-stack.c:273,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 274
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 274
    functionName: _cairo_tag_stack_top_elem
    functionSourceFile: /src/cairo/src/cairo-tag-stack.c
    functionUses: []
    functionsReached:
    - cairo_list_last_entry
    - cairo_list_is_empty
    linkageType: ''
    returnType: cairo_tag_stack_elem_t*
    signature: 'cairo_tag_stack_elem_t *_cairo_tag_stack_top_elem (cairo_tag_stack_t
      *stack) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-tag-stack.c:292,1
    - Dst: free
      Src: /src/cairo/src/cairo-tag-stack.c:294,1
    - Dst: free
      Src: /src/cairo/src/cairo-tag-stack.c:293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - elem
    argTypes:
    - cairo_tag_stack_elem_t*
    constantsTouched: []
    func_position:
      end: 295
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 295
    functionName: _cairo_tag_stack_free_elem
    functionSourceFile: /src/cairo/src/cairo-tag-stack.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void _cairo_tag_stack_free_elem (cairo_tag_stack_elem_t *elem) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/cairo/src/cairo-tag-stack.c:324,1
    - Dst: va_start
      Src: /src/cairo/src/cairo-tag-stack.c:326,1
    - Dst: vprintf
      Src: /src/cairo/src/cairo-tag-stack.c:327,1
    - Dst: printf
      Src: /src/cairo/src/cairo-tag-stack.c:325,1
    - Dst: va_end
      Src: /src/cairo/src/cairo-tag-stack.c:328,1
    - Dst: printf
      Src: /src/cairo/src/cairo-tag-stack.c:329,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-tag-stack.c:331,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - fmt
    - '...'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 332
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 332
    functionName: _cairo_tag_error
    functionSourceFile: /src/cairo/src/cairo-tag-stack.c
    functionUses: []
    functionsReached:
    - printf
    - getenv
    - _cairo_error
    - vprintf
    - va_end
    - va_start
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_tag_error (const char *fmt, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/cairo/src/cairo-tag-stack.c:339,1
    - Dst: va_end
      Src: /src/cairo/src/cairo-tag-stack.c:343,1
    - Dst: vprintf
      Src: /src/cairo/src/cairo-tag-stack.c:342,1
    - Dst: va_start
      Src: /src/cairo/src/cairo-tag-stack.c:341,1
    - Dst: printf
      Src: /src/cairo/src/cairo-tag-stack.c:340,1
    - Dst: printf
      Src: /src/cairo/src/cairo-tag-stack.c:344,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - fmt
    - '...'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 346
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 346
    functionName: _cairo_tag_warning
    functionSourceFile: /src/cairo/src/cairo-tag-stack.c
    functionUses: []
    functionsReached:
    - printf
    - getenv
    - vprintf
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: 'void _cairo_tag_warning (const char *fmt, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 6
    argNames:
    - _compositor
    - extents
    - path
    - fill_rule
    - tolerance
    - antialias
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    constantsTouched: []
    func_position:
      end: 85
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionName: _cairo_no_compositor_fill
    functionSourceFile: /src/cairo/src/cairo-no-compositor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_no_compositor_fill (const cairo_compositor_t\
      \ *_compositor,\t\t\t cairo_composite_rectangles_t *extents,\t\t\t const cairo_path_fixed_t\t\
      *path,\t\t\t cairo_fill_rule_t\t fill_rule,\t\t\t double\t\t\t tolerance,\t\t\
      \t cairo_antialias_t\t antialias) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - compositor
    - extents
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: _cairo_no_compositor_mask
    functionSourceFile: /src/cairo/src/cairo-no-compositor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_no_compositor_mask (const cairo_compositor_t\
      \ *compositor,\t\t\t cairo_composite_rectangles_t *extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - _compositor
    - extents
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: _cairo_no_compositor_paint
    functionSourceFile: /src/cairo/src/cairo-no-compositor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_no_compositor_paint (const cairo_compositor_t\
      \ *_compositor,\t\t\t cairo_composite_rectangles_t *extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 6
    argNames:
    - compositor
    - extents
    - scaled_font
    - glyphs
    - num_glyphs
    - overlap
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_scaled_font_t*
    - cairo_glyph_t*
    - int
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 97
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 97
    functionName: _cairo_no_compositor_glyphs
    functionSourceFile: /src/cairo/src/cairo-no-compositor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_no_compositor_glyphs (const cairo_compositor_t\
      \ *compositor,\t\t\t cairo_composite_rectangles_t *extents,\t\t\t cairo_scaled_font_t\t\
      *scaled_font,\t\t\t cairo_glyph_t\t\t*glyphs,\t\t\t int\t\t\t num_glyphs,\t\t\
      \t cairo_bool_t overlap) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 1
    argCount: 8
    argNames:
    - _compositor
    - extents
    - path
    - style
    - ctm
    - ctm_inverse
    - tolerance
    - antialias
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_antialias_t
    constantsTouched: []
    func_position:
      end: 73
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 73
    functionName: _cairo_no_compositor_stroke
    functionSourceFile: /src/cairo/src/cairo-no-compositor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_no_compositor_stroke (const cairo_compositor_t\
      \ *_compositor,\t\t\t cairo_composite_rectangles_t *extents,\t\t\t const cairo_path_fixed_t\t\
      *path,\t\t\t const cairo_stroke_style_t\t*style,\t\t\t const cairo_matrix_t\t\
      *ctm,\t\t\t const cairo_matrix_t\t*ctm_inverse,\t\t\t double\t\t tolerance,\t\
      \t\t cairo_antialias_t\t antialias) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: _cairo
    functionSourceFile: /src/cairo/src/cairo-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CAIRO_BEGIN_DECLS
    signature: 'CAIRO_BEGIN_DECLS struct _cairo '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/test-compositor-surface.c:72,1
    - Dst: unlikely
      Src: /src/cairo/src/test-compositor-surface.c:77,1
    - Dst: pixman_image_create_bits
      Src: /src/cairo/src/test-compositor-surface.c:75,1
    - Dst: _cairo_error
      Src: /src/cairo/src/test-compositor-surface.c:72,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/test-compositor-surface.c:78,1
    - Dst: _cairo_error
      Src: /src/cairo/src/test-compositor-surface.c:78,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/test-compositor-surface.c:80,1
    - Dst: unlikely
      Src: /src/cairo/src/test-compositor-surface.c:81,1
    - Dst: pixman_image_unref
      Src: /src/cairo/src/test-compositor-surface.c:82,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/test-compositor-surface.c:83,1
    - Dst: _cairo_surface_init
      Src: /src/cairo/src/test-compositor-surface.c:86,1
    - Dst: _cairo_error
      Src: /src/cairo/src/test-compositor-surface.c:83,1
    - Dst: _cairo_image_surface_init
      Src: /src/cairo/src/test-compositor-surface.c:91,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 96
    functionName: test_compositor_surface_create
    functionSourceFile: /src/cairo/src/test-compositor-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_init
    - _cairo_error
    - pixman_image_unref
    - _cairo_surface_create_in_error
    - _cairo_image_surface_init
    - pixman_image_create_bits
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *test_compositor_surface_create (const cairo_compositor_t\
      \ *compositor,\t\t\t\tcairo_content_t\tcontent,\t\t\t\tint\t\twidth,\t\t\t\t\
      int\t\theight) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_compositor_paint
      Src: /src/cairo/src/test-compositor-surface.c:117,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - _surface
    - op
    - source
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 120
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 120
    functionName: test_compositor_surface_paint
    functionSourceFile: /src/cairo/src/test-compositor-surface.c
    functionUses: []
    functionsReached:
    - _cairo_compositor_paint
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t test_compositor_surface_paint (void\t\t\t\
      *_surface,\t\t\t cairo_operator_t\t\t op,\t\t\t const cairo_pattern_t\t*source,\t\
      \t\t const cairo_clip_t\t*clip) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_compositor_stroke
      Src: /src/cairo/src/test-compositor-surface.c:150,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 4
    argCount: 10
    argNames:
    - _surface
    - op
    - source
    - path
    - style
    - ctm
    - ctm_inverse
    - tolerance
    - antialias
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 155
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 155
    functionName: test_compositor_surface_stroke
    functionSourceFile: /src/cairo/src/test-compositor-surface.c
    functionUses: []
    functionsReached:
    - _cairo_compositor_stroke
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t test_compositor_surface_stroke (void\t\t\
      \t\t*_surface,\t\t\t\tcairo_operator_t\t\t op,\t\t\t\tconst cairo_pattern_t\t\
      \t*source,\t\t\t\tconst cairo_path_fixed_t\t*path,\t\t\t\tconst cairo_stroke_style_t\t\
      *style,\t\t\t\tconst cairo_matrix_t\t\t*ctm,\t\t\t\tconst cairo_matrix_t\t\t\
      *ctm_inverse,\t\t\t\tdouble\t\t\t\t tolerance,\t\t\t\tcairo_antialias_t\t\t\
      \ antialias,\t\t\t\tconst cairo_clip_t\t\t*clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_compositor_glyphs
      Src: /src/cairo/src/test-compositor-surface.c:186,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 7
    argNames:
    - _surface
    - op
    - source
    - glyphs
    - num_glyphs
    - scaled_font
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_glyph_t*
    - int
    - cairo_scaled_font_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 190
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 190
    functionName: test_compositor_surface_glyphs
    functionSourceFile: /src/cairo/src/test-compositor-surface.c
    functionUses: []
    functionsReached:
    - _cairo_compositor_glyphs
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t test_compositor_surface_glyphs (void\t\t\
      \t*_surface,\t\t\t\tcairo_operator_t\t op,\t\t\t\tconst cairo_pattern_t\t*source,\t\
      \t\t\tcairo_glyph_t\t\t*glyphs,\t\t\t\tint\t\t\t num_glyphs,\t\t\t\tcairo_scaled_font_t\t\
      *scaled_font,\t\t\t\tconst cairo_clip_t\t*clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 228
    functionName: get_fallback_compositor
    functionSourceFile: /src/cairo/src/test-compositor-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_compositor_t*
    signature: 'static const cairo_compositor_t *get_fallback_compositor (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_compositor_surface_create
      Src: /src/cairo/src/test-compositor-surface.c:244,1
    - Dst: _cairo_image_mask_compositor_get
      Src: /src/cairo/src/test-compositor-surface.c:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 246
    functionName: _cairo_test_mask_compositor_surface_create
    functionSourceFile: /src/cairo/src/test-compositor-surface.c
    functionUses: []
    functionsReached:
    - _cairo_image_mask_compositor_get
    - test_compositor_surface_create
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *_cairo_test_mask_compositor_surface_create (cairo_content_t\t\
      content,\t\t\t\t\t\tint\t\twidth,\t\t\t\t\t\tint\t\theight) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_compositor_surface_create
      Src: /src/cairo/src/test-compositor-surface.c:106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 108
    functionName: test_compositor_surface_create_similar
    functionSourceFile: /src/cairo/src/test-compositor-surface.c
    functionUses: []
    functionsReached:
    - test_compositor_surface_create
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *test_compositor_surface_create_similar (void\t\
      \t*abstract_surface,\t\t\t\t\tcairo_content_t\t content,\t\t\t\t\tint\t\t width,\t\
      \t\t\t\tint\t\t height) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_compositor_mask
      Src: /src/cairo/src/test-compositor-surface.c:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 5
    argNames:
    - _surface
    - op
    - source
    - mask
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 133
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 133
    functionName: test_compositor_surface_mask
    functionSourceFile: /src/cairo/src/test-compositor-surface.c
    functionUses: []
    functionsReached:
    - _cairo_compositor_mask
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t test_compositor_surface_mask (void\t\t\t\
      *_surface,\t\t\t cairo_operator_t\t\t op,\t\t\t const cairo_pattern_t\t*source,\t\
      \t\t const cairo_pattern_t\t*mask,\t\t\t const cairo_clip_t\t*clip) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_compositor_fill
      Src: /src/cairo/src/test-compositor-surface.c:170,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 8
    argNames:
    - _surface
    - op
    - source
    - path
    - fill_rule
    - tolerance
    - antialias
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 174
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 174
    functionName: test_compositor_surface_fill
    functionSourceFile: /src/cairo/src/test-compositor-surface.c
    functionUses: []
    functionsReached:
    - _cairo_compositor_fill
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t test_compositor_surface_fill (void\t\t\t\
      *_surface,\t\t\t cairo_operator_t\t\t op,\t\t\t const cairo_pattern_t\t*source,\t\
      \t\t const cairo_path_fixed_t\t*path,\t\t\t cairo_fill_rule_t\t\t fill_rule,\t\
      \t\t double\t\t\t tolerance,\t\t\t cairo_antialias_t\t\t antialias,\t\t\t const\
      \ cairo_clip_t\t*clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_compositor_surface_create
      Src: /src/cairo/src/test-compositor-surface.c:235,1
    - Dst: get_fallback_compositor
      Src: /src/cairo/src/test-compositor-surface.c:235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 237
    functionName: _cairo_test_fallback_compositor_surface_create
    functionSourceFile: /src/cairo/src/test-compositor-surface.c
    functionUses: []
    functionsReached:
    - test_compositor_surface_create
    - get_fallback_compositor
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *_cairo_test_fallback_compositor_surface_create (cairo_content_t\t\
      content,\t\t\t\t\t\tint\t\twidth,\t\t\t\t\t\tint\t\theight) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_compositor_surface_create
      Src: /src/cairo/src/test-compositor-surface.c:253,1
    - Dst: _cairo_image_traps_compositor_get
      Src: /src/cairo/src/test-compositor-surface.c:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 255
    functionName: _cairo_test_traps_compositor_surface_create
    functionSourceFile: /src/cairo/src/test-compositor-surface.c
    functionUses: []
    functionsReached:
    - test_compositor_surface_create
    - _cairo_image_traps_compositor_get
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *_cairo_test_traps_compositor_surface_create (cairo_content_t\t\
      content,\t\t\t\t\t int\t\twidth,\t\t\t\t\t int\t\theight) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_compositor_surface_create
      Src: /src/cairo/src/test-compositor-surface.c:262,1
    - Dst: _cairo_image_spans_compositor_get
      Src: /src/cairo/src/test-compositor-surface.c:262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 264
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 264
    functionName: _cairo_test_spans_compositor_surface_create
    functionSourceFile: /src/cairo/src/test-compositor-surface.c
    functionUses: []
    functionsReached:
    - _cairo_image_spans_compositor_get
    - test_compositor_surface_create
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *_cairo_test_spans_compositor_surface_create (cairo_content_t\t\
      content,\t\t\t\t\t int\t\twidth,\t\t\t\t\t int\t\theight) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BITCLEAR
      Src: /src/cairo/src/cairo-mempool.c:60,1
    - Dst: BITCLEAR
      Src: /src/cairo/src/cairo-mempool.c:71,1
    - Dst: memset
      Src: /src/cairo/src/cairo-mempool.c:65,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - pool
    - first
    - last
    argTypes:
    - cairo_mempool_t*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 72
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 72
    functionName: clear_bits
    functionSourceFile: /src/cairo/src/cairo-mempool.c
    functionUses: []
    functionsReached:
    - memset
    - BITCLEAR
    linkageType: ''
    returnType: void
    signature: 'static void clear_bits (cairo_mempool_t *pool, size_t first, size_t
      last) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: free_bits
      Src: /src/cairo/src/cairo-mempool.c:150,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 4
    argNames:
    - pool
    - first
    - last
    - clear
    argTypes:
    - cairo_mempool_t*
    - size_t
    - size_t
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 152
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 152
    functionName: free_blocks
    functionSourceFile: /src/cairo/src/cairo-mempool.c
    functionUses: []
    functionsReached:
    - free_bits
    linkageType: ''
    returnType: void
    signature: "static void free_blocks (cairo_mempool_t *pool,\t size_t first,\t\
      \ size_t last,\t cairo_bool_t clear) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_buddy
      Src: /src/cairo/src/cairo-mempool.c:184,1
    - Dst: cairo_list_del
      Src: /src/cairo/src/cairo-mempool.c:188,1
    - Dst: cairo_list_add
      Src: /src/cairo/src/cairo-mempool.c:199,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - pool
    - block
    - max_bits
    argTypes:
    - cairo_mempool_t*
    - struct _cairo_memblock*
    - int
    constantsTouched: []
    func_position:
      end: 203
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 203
    functionName: merge_buddies
    functionSourceFile: /src/cairo/src/cairo-mempool.c
    functionUses: []
    functionsReached:
    - cairo_list_add
    - cairo_list_del
    - get_buddy
    linkageType: ''
    returnType: void
    signature: "static void merge_buddies (cairo_mempool_t *pool,\t struct _cairo_memblock\
      \ *block,\t int max_bits) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: merge_bits
      Src: /src/cairo/src/cairo-mempool.c:246,1
    - Dst: cairo_list_is_empty
      Src: /src/cairo/src/cairo-mempool.c:252,1
    - Dst: cairo_list_first_entry
      Src: /src/cairo/src/cairo-mempool.c:253,1
    - Dst: cairo_list_del
      Src: /src/cairo/src/cairo-mempool.c:261,1
    - Dst: assert
      Src: /src/cairo/src/cairo-mempool.c:259,1
    - Dst: cairo_list_is_empty
      Src: /src/cairo/src/cairo-mempool.c:263,1
    - Dst: BITSET
      Src: /src/cairo/src/cairo-mempool.c:271,1
    - Dst: free_blocks
      Src: /src/cairo/src/cairo-mempool.c:276,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 279
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 279
    functionName: buddy_malloc
    functionSourceFile: /src/cairo/src/cairo-mempool.c
    functionUses: []
    functionsReached:
    - BITSET
    - merge_bits
    - free_blocks
    - cairo_list_first_entry
    - assert
    - cairo_list_del
    - cairo_list_is_empty
    linkageType: ''
    returnType: void*
    signature: 'static void *buddy_malloc (cairo_mempool_t *pool, int bits) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: buddy_malloc
      Src: /src/cairo/src/cairo-mempool.c:345,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 346
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 346
    functionName: _cairo_mempool_alloc
    functionSourceFile: /src/cairo/src/cairo-mempool.c
    functionUses: []
    functionsReached:
    - buddy_malloc
    linkageType: ''
    returnType: void*
    signature: 'void *_cairo_mempool_alloc (cairo_mempool_t *pool, size_t bytes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clear_bits
      Src: /src/cairo/src/cairo-mempool.c:80,1
    - Dst: cairo_list_add
      Src: /src/cairo/src/cairo-mempool.c:85,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - pool
    - start
    - bits
    - clear
    argTypes:
    - cairo_mempool_t*
    - size_t
    - int
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 90
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 90
    functionName: free_bits
    functionSourceFile: /src/cairo/src/cairo-mempool.c
    functionUses: []
    functionsReached:
    - cairo_list_add
    - clear_bits
    linkageType: ''
    returnType: void
    signature: 'static void free_bits (cairo_mempool_t *pool, size_t start, int bits,
      cairo_bool_t clear) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BITTEST
      Src: /src/cairo/src/cairo-mempool.c:162,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 170
    functionName: get_buddy
    functionSourceFile: /src/cairo/src/cairo-mempool.c
    functionUses: []
    functionsReached:
    - BITTEST
    linkageType: ''
    returnType: struct _cairo_memblock*
    signature: 'static struct _cairo_memblock *get_buddy (cairo_mempool_t *pool, size_t
      offset, int bits) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-mempool.c:298,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-mempool.c:299,1
    - Dst: assert
      Src: /src/cairo/src/cairo-mempool.c:299,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-mempool.c:309,1
    - Dst: _cairo_calloc_ab
      Src: /src/cairo/src/cairo-mempool.c:307,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-mempool.c:315,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-mempool.c:316,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-mempool.c:318,1
    - Dst: free
      Src: /src/cairo/src/cairo-mempool.c:320,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-mempool.c:321,1
    - Dst: clear_bits
      Src: /src/cairo/src/cairo-mempool.c:325,1
    - Dst: memset
      Src: /src/cairo/src/cairo-mempool.c:324,1
    - Dst: free_blocks
      Src: /src/cairo/src/cairo-mempool.c:328,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 50
    argCount: 5
    argNames:
    - pool
    - base
    - bytes
    - min_bits
    - num_sizes
    argTypes:
    - cairo_mempool_t*
    - void*
    - size_t
    - int
    - int
    constantsTouched: []
    func_position:
      end: 331
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 331
    functionName: _cairo_mempool_init
    functionSourceFile: /src/cairo/src/cairo-mempool.c
    functionUses: []
    functionsReached:
    - _cairo_calloc_ab
    - _cairo_malloc
    - clear_bits
    - _cairo_error
    - free
    - free_blocks
    - ARRAY_LENGTH
    - assert
    - memset
    - cairo_list_init
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_mempool_init (cairo_mempool_t *pool,\t\t void\
      \ *base, size_t bytes,\t\t int min_bits, int num_sizes) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BITCLEAR
      Src: /src/cairo/src/cairo-mempool.c:357,1
    - Dst: merge_buddies
      Src: /src/cairo/src/cairo-mempool.c:360,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - pool
    - storage
    argTypes:
    - cairo_mempool_t*
    - void*
    constantsTouched: []
    func_position:
      end: 361
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 361
    functionName: _cairo_mempool_free
    functionSourceFile: /src/cairo/src/cairo-mempool.c
    functionUses: []
    functionsReached:
    - BITCLEAR
    - merge_buddies
    linkageType: ''
    returnType: void
    signature: 'void _cairo_mempool_free (cairo_mempool_t *pool, void *storage) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-mempool.c:366,1
    - Dst: free
      Src: /src/cairo/src/cairo-mempool.c:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pool
    argTypes:
    - cairo_mempool_t*
    constantsTouched: []
    func_position:
      end: 368
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 368
    functionName: _cairo_mempool_fini
    functionSourceFile: /src/cairo/src/cairo-mempool.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void _cairo_mempool_fini (cairo_mempool_t *pool) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_foreach_entry_safe
      Src: /src/cairo/src/cairo-mempool.c:213,1
    - Dst: cairo_list_del
      Src: /src/cairo/src/cairo-mempool.c:230,1
    - Dst: merge_buddies
      Src: /src/cairo/src/cairo-mempool.c:231,1
    - Dst: get_buddy
      Src: /src/cairo/src/cairo-mempool.c:220,1
    - Dst: cairo_container_of
      Src: /src/cairo/src/cairo-mempool.c:225,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - pool
    - max_bits
    argTypes:
    - cairo_mempool_t*
    - int
    constantsTouched: []
    func_position:
      end: 236
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 236
    functionName: merge_bits
    functionSourceFile: /src/cairo/src/cairo-mempool.c
    functionUses: []
    functionsReached:
    - cairo_list_foreach_entry_safe
    - cairo_container_of
    - merge_buddies
    - get_buddy
    - cairo_list_del
    linkageType: ''
    returnType: int
    signature: 'static int merge_bits (cairo_mempool_t *pool, int max_bits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 80
    functionName: _cairo_image_surface
    functionSourceFile: /src/cairo/src/cairo-image-surface-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CAIRO_BEGIN_DECLS
    signature: 'CAIRO_BEGIN_DECLS /* The canonical image backend */ struct _cairo_image_surface '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: typedef
    functionSourceFile: /src/cairo/src/cairo-compositor-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CAIRO_BEGIN_DECLS
    signature: 'CAIRO_BEGIN_DECLS typedef struct '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_STACK_ARRAY_LENGTH
      Src: /src/cairo/src/cairo-clip-region.c:54,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-clip-region.c:75,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-clip-region.c:62,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-clip-region.c:65,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-clip-region.c:63,1
    - Dst: _cairo_fixed_integer_floor
      Src: /src/cairo/src/cairo-clip-region.c:76,1
    - Dst: _cairo_fixed_integer_floor
      Src: /src/cairo/src/cairo-clip-region.c:77,1
    - Dst: _cairo_fixed_integer_ceil
      Src: /src/cairo/src/cairo-clip-region.c:78,1
    - Dst: _cairo_fixed_integer_ceil
      Src: /src/cairo/src/cairo-clip-region.c:79,1
    - Dst: cairo_region_create_rectangles
      Src: /src/cairo/src/cairo-clip-region.c:83,1
    - Dst: free
      Src: /src/cairo/src/cairo-clip-region.c:86,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 1
    argNames:
    - clip
    argTypes:
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 87
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 87
    functionName: _cairo_clip_extract_region
    functionSourceFile: /src/cairo/src/cairo-clip-region.c
    functionUses: []
    functionsReached:
    - free
    - cairo_region_create_rectangles
    - ARRAY_LENGTH
    - _cairo_fixed_integer_floor
    - _cairo_malloc_ab
    - _cairo_fixed_integer_ceil
    - _cairo_error_throw
    - _cairo_fixed_is_integer
    - CAIRO_STACK_ARRAY_LENGTH
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_clip_extract_region (cairo_clip_t *clip) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_extract_region
      Src: /src/cairo/src/cairo-clip-region.c:96,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 99
    functionName: _cairo_clip_get_region
    functionSourceFile: /src/cairo/src/cairo-clip-region.c
    functionUses: []
    functionsReached:
    - _cairo_clip_extract_region
    linkageType: ''
    returnType: cairo_region_t*
    signature: 'cairo_region_t *_cairo_clip_get_region (const cairo_clip_t *clip) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_extract_region
      Src: /src/cairo/src/cairo-clip-region.c:119,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 1
    argNames:
    - clip
    argTypes:
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 122
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 122
    functionName: _cairo_clip_is_region
    functionSourceFile: /src/cairo/src/cairo-clip-region.c
    functionUses: []
    functionsReached:
    - _cairo_clip_extract_region
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t _cairo_clip_is_region (const cairo_clip_t *clip) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-surface.c:399,1
    - Dst: _cairo_surface_flush
      Src: /src/cairo/src/cairo-surface.c:402,1
    - Dst: assert
      Src: /src/cairo/src/cairo-surface.c:400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 403
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 403
    functionName: _cairo_surface_begin_modification
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_flush
    - assert
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_surface_begin_modification (cairo_surface_t
      *surface) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:2613,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:2616,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-surface.c:2617,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 2625
      start: 2610
    functionDepth: 0
    functionLinenumber: 2610
    functionLinenumberEnd: 2625
    functionName: cairo_surface_has_show_text_glyphs
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_set_error
    - unlikely
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t cairo_surface_has_show_text_glyphs (cairo_surface_t\t\
      \ *surface) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_MUTEX_INITIALIZE
      Src: /src/cairo/src/cairo-surface.c:412,1
    - Dst: cairo_device_reference
      Src: /src/cairo/src/cairo-surface.c:415,1
    - Dst: _cairo_user_data_array_init
      Src: /src/cairo/src/cairo-surface.c:430,1
    - Dst: CAIRO_REFERENCE_COUNT_INIT
      Src: /src/cairo/src/cairo-surface.c:420,1
    - Dst: _cairo_surface_allocate_unique_id
      Src: /src/cairo/src/cairo-surface.c:422,1
    - Dst: _cairo_user_data_array_init
      Src: /src/cairo/src/cairo-surface.c:431,1
    - Dst: cairo_matrix_init_identity
      Src: /src/cairo/src/cairo-surface.c:433,1
    - Dst: cairo_matrix_init_identity
      Src: /src/cairo/src/cairo-surface.c:434,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-surface.c:435,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-surface.c:443,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 5
    argNames:
    - surface
    - backend
    - device
    - content
    - is_vector
    argTypes:
    - cairo_surface_t*
    - cairo_surface_backend_t*
    - cairo_device_t*
    - cairo_content_t
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 450
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 450
    functionName: _cairo_surface_init
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - _cairo_user_data_array_init
    - cairo_device_reference
    - CAIRO_MUTEX_INITIALIZE
    - CAIRO_REFERENCE_COUNT_INIT
    - _cairo_surface_allocate_unique_id
    - cairo_matrix_init_identity
    - cairo_list_init
    linkageType: ''
    returnType: void
    signature: "void _cairo_surface_init (cairo_surface_t\t\t\t*surface,\t\t const\
      \ cairo_surface_backend_t\t*backend,\t\t cairo_device_t\t\t\t*device,\t\t cairo_content_t\t\
      \t\t content,\t\t cairo_bool_t is_vector) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_reference_count_dec_and_test
      Src: /src/cairo/src/cairo-surface.c:1228,1
    - Dst: free
      Src: /src/cairo/src/cairo-surface.c:1234,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1235
      start: 1223
    functionDepth: 0
    functionLinenumber: 1223
    functionLinenumberEnd: 1235
    functionName: _cairo_mime_data_destroy
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - free
    - _cairo_reference_count_dec_and_test
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_mime_data_destroy (void *ptr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-surface.c:1575,1
    - Dst: _cairo_font_options_init_copy
      Src: /src/cairo/src/cairo-surface.c:1584,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-surface.c:1578,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-surface.c:1578,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - surface
    - options
    argTypes:
    - cairo_surface_t*
    - cairo_font_options_t*
    constantsTouched: []
    func_position:
      end: 1588
      start: 1568
    functionDepth: 0
    functionLinenumber: 1568
    functionLinenumberEnd: 1588
    functionName: _cairo_surface_set_font_options
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_font_options_init_copy
    - _cairo_surface_set_error
    - assert
    linkageType: ''
    returnType: void
    signature: "void _cairo_surface_set_font_options (cairo_surface_t *surface,\t\t\
      \t\t cairo_font_options_t *options) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 267
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 267
    functionName: cairo_surface_status
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t cairo_surface_status (cairo_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_has_snapshots
      Src: /src/cairo/src/cairo-surface.c:338,1
    - Dst: _cairo_surface_detach_snapshot
      Src: /src/cairo/src/cairo-surface.c:339,1
    - Dst: cairo_list_first_entry
      Src: /src/cairo/src/cairo-surface.c:339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 343
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 343
    functionName: _cairo_surface_detach_snapshots
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_has_snapshots
    - cairo_list_first_entry
    - _cairo_surface_detach_snapshot
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_surface_detach_snapshots (cairo_surface_t *surface) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:1497,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-surface.c:1500,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:1499,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-surface.c:1500,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-surface.c:1508,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 2
    argNames:
    - surface
    - mime_type
    argTypes:
    - cairo_surface_t*
    - char*
    constantsTouched: []
    func_position:
      end: 1516
      start: 1491
    functionDepth: 0
    functionLinenumber: 1491
    functionLinenumberEnd: 1516
    functionName: cairo_surface_supports_mime_type
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - strcmp
    - _cairo_surface_set_error
    - unlikely
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t cairo_surface_supports_mime_type (cairo_surface_t\t\t\
      *surface,\t\t\t\t const char\t\t\t*mime_type) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-surface.c:1536,1
    - Dst: _cairo_user_data_array_foreach
      Src: /src/cairo/src/cairo-surface.c:1544,1
    - Dst: _cairo_user_data_array_copy
      Src: /src/cairo/src/cairo-surface.c:1539,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-surface.c:1541,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:1540,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - cairo_surface_t*
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1551
      start: 1526
    functionDepth: 0
    functionLinenumber: 1526
    functionLinenumberEnd: 1551
    functionName: _cairo_surface_copy_mime_data
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - _cairo_user_data_array_foreach
    - unlikely
    - _cairo_surface_set_error
    - _cairo_user_data_array_copy
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_surface_copy_mime_data (cairo_surface_t *dst,\t\
      \t\t cairo_surface_t *src) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_atomic_uint_get
      Src: /src/cairo/src/cairo-surface.c:282,1
    - Dst: _cairo_atomic_uint_cmpxchg
      Src: /src/cairo/src/cairo-surface.c:286,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 290
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 290
    functionName: _cairo_surface_allocate_unique_id
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - _cairo_atomic_uint_get
    - _cairo_atomic_uint_cmpxchg
    linkageType: ''
    returnType: unsigned int
    signature: 'static unsigned int _cairo_surface_allocate_unique_id (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-surface.c:348,1
    - Dst: cairo_list_del
      Src: /src/cairo/src/cairo-surface.c:351,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-surface.c:356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - snapshot
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 357
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 357
    functionName: _cairo_surface_detach_snapshot
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - cairo_list_del
    - cairo_surface_destroy
    - assert
    linkageType: ''
    returnType: void
    signature: 'void _cairo_surface_detach_snapshot (cairo_surface_t *snapshot) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_reference_count_inc
      Src: /src/cairo/src/cairo-surface.c:1523,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - key
    - elt
    - closure
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1524
      start: 1518
    functionDepth: 0
    functionLinenumber: 1518
    functionLinenumberEnd: 1524
    functionName: _cairo_mime_data_reference
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - _cairo_reference_count_inc
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_mime_data_reference (const void *key, void *elt,
      void *closure) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_REFERENCE_COUNT_HAS_REFERENCE
      Src: /src/cairo/src/cairo-surface.c:1202,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-surface.c:1213,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-surface.c:1211,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 4
    argNames:
    - surface
    - mime_type
    - data
    - length
    argTypes:
    - cairo_surface_t*
    - char*
    - unsigned char**
    - unsigned long*
    constantsTouched: []
    func_position:
      end: 1221
      start: 1189
    functionDepth: 0
    functionLinenumber: 1189
    functionLinenumberEnd: 1221
    functionName: cairo_surface_get_mime_data
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - CAIRO_REFERENCE_COUNT_HAS_REFERENCE
    - _cairo_array_index
    - strcmp
    linkageType: ''
    returnType: void
    signature: "void cairo_surface_get_mime_data (cairo_surface_t\t\t*surface, const\
      \ char\t\t\t*mime_type, const unsigned char **data, unsigned long\t\t*length) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_REFERENCE_COUNT_HAS_REFERENCE
      Src: /src/cairo/src/cairo-surface.c:1253,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-surface.c:1266,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-surface.c:1262,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-surface.c:1265,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1273
      start: 1246
    functionDepth: 0
    functionLinenumber: 1246
    functionLinenumberEnd: 1273
    functionName: _cairo_surface_has_mime_image
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - CAIRO_REFERENCE_COUNT_HAS_REFERENCE
    - _cairo_array_index
    - strcmp
    - ARRAY_LENGTH
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t _cairo_surface_has_mime_image (cairo_surface_t *surface) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:2567,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:2569,1
    - Dst: _cairo_unbounded_rectangle_init
      Src: /src/cairo/src/cairo-surface.c:2579,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-surface.c:2570,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - surface
    - extents
    argTypes:
    - cairo_surface_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 2587
      start: 2561
    functionDepth: 0
    functionLinenumber: 2561
    functionLinenumberEnd: 2587
    functionName: _cairo_surface_get_extents
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - _cairo_unbounded_rectangle_init
    - _cairo_surface_set_error
    - unlikely
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t _cairo_surface_get_extents (cairo_surface_t *surface,\t\
      \t\t cairo_rectangle_int_t *extents) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_scaled_glyph_index
      Src: /src/cairo/src/cairo-surface.c:2641,1
    - Dst: _cairo_scaled_glyph_lookup
      Src: /src/cairo/src/cairo-surface.c:2642,1
    - Dst: _cairo_scaled_font_set_error
      Src: /src/cairo/src/cairo-surface.c:2656,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:2655,1
    - Dst: _cairo_scaled_glyph_lookup
      Src: /src/cairo/src/cairo-surface.c:2649,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 5
    argNames:
    - scaled_font
    - foreground_color
    - glyph_cache
    - glyph
    - scaled_glyph
    argTypes:
    - cairo_scaled_font_t*
    - cairo_color_t*
    - cairo_scaled_glyph_t**
    - cairo_glyph_t*
    - cairo_scaled_glyph_t**
    constantsTouched: []
    func_position:
      end: 2662
      start: 2629
    functionDepth: 0
    functionLinenumber: 2629
    functionLinenumberEnd: 2662
    functionName: ensure_scaled_glyph
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - _cairo_scaled_glyph_lookup
    - _cairo_scaled_glyph_index
    - _cairo_scaled_font_set_error
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static inline cairo_int_status_t ensure_scaled_glyph (cairo_scaled_font_t\
      \ *scaled_font,\t\t cairo_color_t *foreground_color, cairo_scaled_glyph_t **glyph_cache,\
      \ cairo_glyph_t *glyph, cairo_scaled_glyph_t **scaled_glyph) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_REFERENCE_COUNT_IS_INVALID
      Src: /src/cairo/src/cairo-surface.c:1166,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-surface.c:1170,1
    - Dst: _cairo_user_data_array_set_data
      Src: /src/cairo/src/cairo-surface.c:1172,1
    - Dst: CAIRO_REFERENCE_COUNT_HAS_REFERENCE
      Src: /src/cairo/src/cairo-surface.c:1169,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - surface
    - key
    - user_data
    - destroy
    argTypes:
    - cairo_surface_t*
    - cairo_user_data_key_t*
    - void*
    - cairo_destroy_func_t
    constantsTouched: []
    func_position:
      end: 1174
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1174
    functionName: cairo_surface_set_user_data
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - CAIRO_REFERENCE_COUNT_HAS_REFERENCE
    - CAIRO_REFERENCE_COUNT_IS_INVALID
    - _cairo_user_data_array_set_data
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t cairo_surface_set_user_data (cairo_surface_t\t\t *surface,\t\
      \t\t const cairo_user_data_key_t *key,\t\t\t void\t\t\t *user_data,\t\t\t cairo_destroy_func_t\t\
      \ destroy) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:2045,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-surface.c:2056,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:2055,1
    - Dst: assert
      Src: /src/cairo/src/cairo-surface.c:2048,1
    - Dst: _cairo_debug_check_image_surface_is_defined
      Src: /src/cairo/src/cairo-surface.c:2058,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 3
    argNames:
    - surface
    - image_out
    - image_extra
    argTypes:
    - cairo_surface_t*
    - cairo_image_surface_t**
    - void**
    constantsTouched: []
    func_position:
      end: 2061
      start: 2038
    functionDepth: 0
    functionLinenumber: 2038
    functionLinenumberEnd: 2061
    functionName: _cairo_surface_acquire_source_image
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - _cairo_debug_check_image_surface_is_defined
    - _cairo_surface_set_error
    - assert
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_surface_acquire_source_image (cairo_surface_t\
      \ *surface,\t\t\t\t cairo_image_surface_t **image_out,\t\t\t\t void **image_extra) "
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-surface.c:2286,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-surface.c:2290,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:2287,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-surface.c:2290,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:2289,1
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-surface.c:2292,1
    - Dst: _pattern_has_error
      Src: /src/cairo/src/cairo-surface.c:2302,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:2303,1
    - Dst: _pattern_has_error
      Src: /src/cairo/src/cairo-surface.c:2306,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:2307,1
    - Dst: _cairo_surface_begin_modification
      Src: /src/cairo/src/cairo-surface.c:2310,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:2311,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:2352,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-surface.c:2361,1
    - Dst: _cairo_surface_fill
      Src: /src/cairo/src/cairo-surface.c:2342,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:2345,1
    - Dst: _cairo_surface_stroke
      Src: /src/cairo/src/cairo-surface.c:2348,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 43
    argCount: 15
    argNames:
    - surface
    - fill_op
    - fill_source
    - fill_rule
    - fill_tolerance
    - fill_antialias
    - path
    - stroke_op
    - stroke_source
    - stroke_style
    - stroke_ctm
    - stroke_ctm_inverse
    - stroke_tolerance
    - stroke_antialias
    - clip
    argTypes:
    - cairo_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    - cairo_path_fixed_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 2362
      start: 2267
    functionDepth: 0
    functionLinenumber: 2267
    functionLinenumberEnd: 2362
    functionName: _cairo_surface_fill_stroke
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - TRACE
    - _cairo_error
    - _cairo_clip_is_all_clipped
    - _cairo_surface_stroke
    - _pattern_has_error
    - _cairo_surface_set_error
    - _cairo_surface_begin_modification
    - _cairo_surface_fill
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_surface_fill_stroke (cairo_surface_t\t *surface,\t\
      \t\t cairo_operator_t\t fill_op,\t\t\t const cairo_pattern_t *fill_source,\t\
      \t\t cairo_fill_rule_t\t fill_rule,\t\t\t double\t\t fill_tolerance,\t\t\t cairo_antialias_t\t\
      \ fill_antialias,\t\t\t cairo_path_fixed_t\t *path,\t\t\t cairo_operator_t\t\
      \ stroke_op,\t\t\t const cairo_pattern_t *stroke_source,\t\t\t const cairo_stroke_style_t\
      \ *stroke_style,\t\t\t const cairo_matrix_t\t *stroke_ctm,\t\t\t const cairo_matrix_t\t\
      \ *stroke_ctm_inverse,\t\t\t double\t\t stroke_tolerance,\t\t\t cairo_antialias_t\t\
      \ stroke_antialias,\t\t\t const cairo_clip_t\t *clip) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:2071,1
    - Dst: _cairo_surface_map_to_image
      Src: /src/cairo/src/cairo-surface.c:2074,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-surface.c:2072,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 3
    argNames:
    - _surface
    - image_out
    - image_extra
    argTypes:
    - void*
    - cairo_image_surface_t**
    - void**
    constantsTouched: []
    func_position:
      end: 2077
      start: 2063
    functionDepth: 0
    functionLinenumber: 2063
    functionLinenumberEnd: 2077
    functionName: _cairo_surface_default_acquire_source_image
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_surface_map_to_image
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_surface_default_acquire_source_image (void *_surface,\t\
      \t\t\t\t cairo_image_surface_t **image_out,\t\t\t\t\t void **image_extra) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-surface.c:2378,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-surface.c:2382,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-surface.c:2382,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:2379,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:2381,1
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-surface.c:2384,1
    - Dst: _pattern_has_error
      Src: /src/cairo/src/cairo-surface.c:2387,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:2388,1
    - Dst: nothing_to_do
      Src: /src/cairo/src/cairo-surface.c:2391,1
    - Dst: _cairo_surface_begin_modification
      Src: /src/cairo/src/cairo-surface.c:2394,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:2395,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-surface.c:2413,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 24
    argCount: 10
    argNames:
    - surface
    - op
    - source
    - path
    - stroke_style
    - ctm
    - ctm_inverse
    - tolerance
    - antialias
    - clip
    argTypes:
    - cairo_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 2414
      start: 2364
    functionDepth: 0
    functionLinenumber: 2364
    functionLinenumberEnd: 2414
    functionName: _cairo_surface_stroke
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - nothing_to_do
    - TRACE
    - _cairo_error
    - _cairo_clip_is_all_clipped
    - _pattern_has_error
    - _cairo_surface_set_error
    - _cairo_surface_begin_modification
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_surface_stroke (cairo_surface_t\t\t\t*surface,\t\
      \t cairo_operator_t\t\t\t op,\t\t const cairo_pattern_t\t\t*source,\t\t const\
      \ cairo_path_fixed_t\t\t*path,\t\t const cairo_stroke_style_t\t*stroke_style,\t\
      \t const cairo_matrix_t\t\t*ctm,\t\t const cairo_matrix_t\t\t*ctm_inverse,\t\
      \t double\t\t\t\t tolerance,\t\t cairo_antialias_t\t\t antialias,\t\t const\
      \ cairo_clip_t\t\t*clip) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_lround
      Src: /src/cairo/src/cairo-surface.c:2692,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/src/cairo-surface.c:2697,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/src/cairo-surface.c:2696,1
    - Dst: _cairo_lround
      Src: /src/cairo/src/cairo-surface.c:2693,1
    - Dst: cairo_pattern_create_for_surface
      Src: /src/cairo/src/cairo-surface.c:2695,1
    - Dst: cairo_pattern_set_matrix
      Src: /src/cairo/src/cairo-surface.c:2698,1
    - Dst: _cairo_surface_mask
      Src: /src/cairo/src/cairo-surface.c:2700,1
    - Dst: _cairo_surface_paint
      Src: /src/cairo/src/cairo-surface.c:2702,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/src/cairo-surface.c:2703,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 8
    argNames:
    - surface
    - op
    - source
    - clip
    - glyph
    - scaled_glyph
    - x_scale
    - y_scale
    argTypes:
    - cairo_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_clip_t*
    - cairo_glyph_t*
    - cairo_scaled_glyph_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 2707
      start: 2664
    functionDepth: 0
    functionLinenumber: 2664
    functionLinenumberEnd: 2707
    functionName: composite_one_color_glyph
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_for_surface
    - _cairo_lround
    - cairo_matrix_scale
    - _cairo_surface_mask
    - cairo_pattern_set_matrix
    - cairo_matrix_init_translate
    - cairo_pattern_destroy
    - _cairo_surface_paint
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static inline cairo_int_status_t composite_one_color_glyph (cairo_surface_t\
      \ *surface, cairo_operator_t op, const cairo_pattern_t *source, const cairo_clip_t\
      \ *clip, cairo_glyph_t *glyph, cairo_scaled_glyph_t *scaled_glyph,\t\t\t double\
      \ x_scale,\t\t\t double y_scale) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:2516,1
    - Dst: _cairo_surface_begin_modification
      Src: /src/cairo/src/cairo-surface.c:2524,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:2525,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:2519,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-surface.c:2520,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-surface.c:2526,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-surface.c:2534,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 2535
      start: 2511
    functionDepth: 0
    functionLinenumber: 2511
    functionLinenumberEnd: 2535
    functionName: cairo_surface_show_page
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_begin_modification
    - _cairo_surface_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_surface_show_page (cairo_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 247
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 247
    functionName: cairo_surface_get_content
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_content_t
    signature: 'cairo_content_t cairo_surface_get_content (cairo_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-surface.c:1111,1
    - Dst: cairo_device_destroy
      Src: /src/cairo/src/cairo-surface.c:1113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1115
      start: 1108
    functionDepth: 0
    functionLinenumber: 1108
    functionLinenumberEnd: 1115
    functionName: _cairo_surface_release_device_reference
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - cairo_device_destroy
    - assert
    linkageType: ''
    returnType: void
    signature: 'void _cairo_surface_release_device_reference (cairo_surface_t *surface) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_supports_color_glyph
      Src: /src/cairo/src/cairo-surface.c:2790,1
    - Dst: memmove
      Src: /src/cairo/src/cairo-surface.c:2845,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:2857,1
    - Dst: cairo_scaled_font_destroy
      Src: /src/cairo/src/cairo-surface.c:2879,1
    - Dst: cairo_scaled_font_get_ctm
      Src: /src/cairo/src/cairo-surface.c:2747,1
    - Dst: cairo_scaled_font_get_font_options
      Src: /src/cairo/src/cairo-surface.c:2749,1
    - Dst: memset
      Src: /src/cairo/src/cairo-surface.c:2760,1
    - Dst: memset
      Src: /src/cairo/src/cairo-surface.c:2792,1
    - Dst: memmove
      Src: /src/cairo/src/cairo-surface.c:2804,1
    - Dst: memmove
      Src: /src/cairo/src/cairo-surface.c:2844,1
    - Dst: ensure_scaled_glyph
      Src: /src/cairo/src/cairo-surface.c:2855,1
    - Dst: cairo_scaled_font_get_font_face
      Src: /src/cairo/src/cairo-surface.c:2745,1
    - Dst: cairo_scaled_font_get_font_matrix
      Src: /src/cairo/src/cairo-surface.c:2746,1
    - Dst: _cairo_font_options_init_default
      Src: /src/cairo/src/cairo-surface.c:2748,1
    - Dst: cairo_scaled_font_create
      Src: /src/cairo/src/cairo-surface.c:2751,1
    - Dst: composite_one_color_glyph
      Src: /src/cairo/src/cairo-surface.c:2828,1
    - Dst: _cairo_scaled_font_freeze_cache
      Src: /src/cairo/src/cairo-surface.c:2793,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:2831,1
    - Dst: composite_one_color_glyph
      Src: /src/cairo/src/cairo-surface.c:2865,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:2868,1
    - Dst: _cairo_scaled_font_thaw_cache
      Src: /src/cairo/src/cairo-surface.c:2876,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/src/cairo-surface.c:2750,1
    - Dst: _cairo_scaled_font_freeze_cache
      Src: /src/cairo/src/cairo-surface.c:2764,1
    - Dst: ensure_scaled_glyph
      Src: /src/cairo/src/cairo-surface.c:2780,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:2782,1
    - Dst: _cairo_scaled_font_thaw_cache
      Src: /src/cairo/src/cairo-surface.c:2789,1
    - Dst: ensure_scaled_glyph
      Src: /src/cairo/src/cairo-surface.c:2823,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:2825,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 116
    argCount: 12
    argNames:
    - surface
    - op
    - source
    - utf8
    - utf8_len
    - glyphs
    - num_glyphs
    - clusters
    - num_clusters
    - cluster_flags
    - scaled_font
    - clip
    argTypes:
    - cairo_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - char*
    - int*
    - cairo_glyph_t*
    - int*
    - cairo_text_cluster_t*
    - int*
    - cairo_text_cluster_flags_t
    - cairo_scaled_font_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 2882
      start: 2709
    functionDepth: 0
    functionLinenumber: 2709
    functionLinenumberEnd: 2882
    functionName: composite_color_glyphs
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - cairo_scaled_font_get_font_options
    - cairo_scaled_font_destroy
    - cairo_matrix_scale
    - cairo_scaled_font_create
    - _cairo_scaled_font_freeze_cache
    - memmove
    - _cairo_scaled_font_thaw_cache
    - _cairo_font_options_init_default
    - composite_one_color_glyph
    - cairo_scaled_font_get_font_face
    - cairo_scaled_font_get_ctm
    - _cairo_surface_supports_color_glyph
    - memset
    - ensure_scaled_glyph
    - cairo_scaled_font_get_font_matrix
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t composite_color_glyphs (cairo_surface_t\
      \ *surface, cairo_operator_t op, const cairo_pattern_t *source, char *utf8,\
      \ int *utf8_len, cairo_glyph_t *glyphs, int *num_glyphs, cairo_text_cluster_t\
      \ *clusters,\t int\t\t\t *num_clusters,\t\t cairo_text_cluster_flags_t cluster_flags,\
      \ cairo_scaled_font_t *scaled_font, const cairo_clip_t *clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 229
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 229
    functionName: cairo_surface_get_type
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_surface_type_t
    signature: 'cairo_surface_type_t cairo_surface_get_type (cairo_surface_t *surface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-surface.c:650,1
    - Dst: _cairo_image_surface_clone_subimage
      Src: /src/cairo/src/cairo-surface.c:657,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 660
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 660
    functionName: _cairo_surface_map_to_image
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - _cairo_image_surface_clone_subimage
    - assert
    linkageType: ''
    returnType: cairo_image_surface_t*
    signature: "cairo_image_surface_t *_cairo_surface_map_to_image (cairo_surface_t\
      \ *surface,\t\t\t const cairo_rectangle_int_t *extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 323
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 323
    functionName: _cairo_surface_has_mime_data
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_surface_has_mime_data (cairo_surface_t
      *surface) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:510,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-surface.c:548,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:512,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-surface.c:513,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-surface.c:511,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:531,1
    - Dst: _cairo_surface_copy_similar_properties
      Src: /src/cairo/src/cairo-surface.c:534,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-surface.c:547,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:514,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-surface.c:515,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:516,1
    - Dst: CAIRO_CONTENT_VALID
      Src: /src/cairo/src/cairo-surface.c:516,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-surface.c:517,1
    - Dst: _cairo_format_from_content
      Src: /src/cairo/src/cairo-surface.c:528,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:546,1
    - Dst: _cairo_surface_paint
      Src: /src/cairo/src/cairo-surface.c:543,1
    - Dst: cairo_surface_create_similar_image
      Src: /src/cairo/src/cairo-surface.c:527,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:539,1
    - Dst: _cairo_pattern_init_solid
      Src: /src/cairo/src/cairo-surface.c:542,1
    - Dst: cairo_surface_set_device_scale
      Src: /src/cairo/src/cairo-surface.c:535,1
    - Dst: assert
      Src: /src/cairo/src/cairo-surface.c:551,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 554
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 554
    functionName: cairo_surface_create_similar
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - _cairo_format_from_content
    - CAIRO_CONTENT_VALID
    - cairo_surface_create_similar_image
    - cairo_surface_destroy
    - _cairo_surface_copy_similar_properties
    - assert
    - cairo_surface_set_device_scale
    - _cairo_surface_create_in_error
    - _cairo_pattern_init_solid
    - _cairo_surface_paint
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *cairo_surface_create_similar (cairo_surface_t *other,\t\
      \t\t cairo_content_t\tcontent,\t\t\t int\t\twidth,\t\t\t int\t\theight) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:592,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-surface.c:595,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:597,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:594,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-surface.c:593,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-surface.c:598,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:599,1
    - Dst: CAIRO_FORMAT_VALID
      Src: /src/cairo/src/cairo-surface.c:599,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-surface.c:600,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/src/cairo-surface.c:607,1
    - Dst: assert
      Src: /src/cairo/src/cairo-surface.c:609,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 612
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 612
    functionName: cairo_surface_create_similar_image
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - assert
    - CAIRO_FORMAT_VALID
    - cairo_image_surface_create
    - _cairo_surface_create_in_error
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *cairo_surface_create_similar_image (cairo_surface_t\
      \ *other,\t\t\t\t cairo_format_t format,\t\t\t\t int\t\twidth,\t\t\t\t int\t\
      \theight) "
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - surface
    - x_pixels_per_inch
    - y_pixels_per_inch
    argTypes:
    - cairo_surface_t*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 2013
      start: 2004
    functionDepth: 0
    functionLinenumber: 2004
    functionLinenumberEnd: 2013
    functionName: cairo_surface_get_fallback_resolution
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void cairo_surface_get_fallback_resolution (cairo_surface_t\t*surface,\t\
      \t\t\t double\t\t*x_pixels_per_inch,\t\t\t\t double\t\t*y_pixels_per_inch) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_has_mime_data
      Src: /src/cairo/src/cairo-surface.c:328,1
    - Dst: _cairo_user_data_array_init
      Src: /src/cairo/src/cairo-surface.c:332,1
    - Dst: _cairo_user_data_array_fini
      Src: /src/cairo/src/cairo-surface.c:331,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 333
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 333
    functionName: _cairo_surface_detach_mime_data
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - _cairo_user_data_array_fini
    - _cairo_surface_has_mime_data
    - _cairo_user_data_array_init
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_surface_detach_mime_data (cairo_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_matrix_is_identity
      Src: /src/cairo/src/cairo-surface.c:2018,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 2019
      start: 2015
    functionDepth: 0
    functionLinenumber: 2015
    functionLinenumberEnd: 2019
    functionName: _cairo_surface_has_device_transform
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - _cairo_matrix_is_identity
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t _cairo_surface_has_device_transform (cairo_surface_t
      *surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_get_font_options
      Src: /src/cairo/src/cairo-surface.c:459,1
    - Dst: _cairo_font_options_fini
      Src: /src/cairo/src/cairo-surface.c:461,1
    - Dst: _cairo_surface_set_font_options
      Src: /src/cairo/src/cairo-surface.c:460,1
    - Dst: cairo_surface_set_fallback_resolution
      Src: /src/cairo/src/cairo-surface.c:464,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - surface
    - other
    argTypes:
    - cairo_surface_t*
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 467
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 467
    functionName: _cairo_surface_copy_similar_properties
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - cairo_surface_get_font_options
    - _cairo_font_options_fini
    - cairo_surface_set_fallback_resolution
    - _cairo_surface_set_font_options
    linkageType: ''
    returnType: void
    signature: "static void _cairo_surface_copy_similar_properties (cairo_surface_t\
      \ *surface,\t\t\t\t\tcairo_surface_t *other) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:779,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-surface.c:782,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:785,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:781,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-surface.c:780,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-surface.c:786,1
    - Dst: likely
      Src: /src/cairo/src/cairo-surface.c:794,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:795,1
    - Dst: _cairo_rectangle_contains_rectangle
      Src: /src/cairo/src/cairo-surface.c:795,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-surface.c:809,1
    - Dst: _cairo_image_surface_clone_subimage
      Src: /src/cairo/src/cairo-surface.c:810,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-surface.c:804,1
    - Dst: _cairo_surface_map_to_image
      Src: /src/cairo/src/cairo-surface.c:800,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-surface.c:796,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-surface.c:805,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:803,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 814
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 814
    functionName: cairo_surface_map_to_image
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - _cairo_rectangle_contains_rectangle
    - _cairo_surface_map_to_image
    - _cairo_image_surface_clone_subimage
    - cairo_surface_destroy
    - _cairo_surface_create_in_error
    - likely
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *cairo_surface_map_to_image (cairo_surface_t *surface,\t\
      \t\t const cairo_rectangle_int_t *extents) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:693,1
    - Dst: _cairo_pattern_init_for_surface
      Src: /src/cairo/src/cairo-surface.c:713,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/src/cairo-surface.c:717,1
    - Dst: _cairo_image_surface_is_clone
      Src: /src/cairo/src/cairo-surface.c:706,1
    - Dst: _cairo_clip_intersect_rectangle
      Src: /src/cairo/src/cairo-surface.c:726,1
    - Dst: _cairo_surface_paint
      Src: /src/cairo/src/cairo-surface.c:728,1
    - Dst: _cairo_pattern_fini
      Src: /src/cairo/src/cairo-surface.c:733,1
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-surface.c:734,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/src/cairo-surface.c:737,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-surface.c:738,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 2
    argNames:
    - surface
    - image
    argTypes:
    - cairo_surface_t*
    - cairo_image_surface_t*
    constantsTouched: []
    func_position:
      end: 741
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 741
    functionName: _cairo_surface_unmap_image
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_init_for_surface
    - _cairo_clip_destroy
    - cairo_surface_finish
    - _cairo_clip_intersect_rectangle
    - _cairo_pattern_fini
    - cairo_surface_destroy
    - _cairo_image_surface_is_clone
    - cairo_matrix_init_translate
    - _cairo_surface_paint
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_surface_unmap_image (cairo_surface_t *surface,\t\
      \t\t cairo_image_surface_t *image) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-surface.c:364,1
    - Dst: _cairo_surface_detach_snapshot
      Src: /src/cairo/src/cairo-surface.c:370,1
    - Dst: cairo_list_add
      Src: /src/cairo/src/cairo-surface.c:375,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-surface.c:367,1
    - Dst: assert
      Src: /src/cairo/src/cairo-surface.c:365,1
    - Dst: assert
      Src: /src/cairo/src/cairo-surface.c:377,1
    - Dst: _cairo_surface_has_snapshot
      Src: /src/cairo/src/cairo-surface.c:377,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - surface
    - snapshot
    - detach_func
    argTypes:
    - cairo_surface_t*
    - cairo_surface_t*
    - cairo_surface_func_t
    constantsTouched: []
    func_position:
      end: 378
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 378
    functionName: _cairo_surface_attach_snapshot
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - cairo_surface_reference
    - assert
    - cairo_list_add
    - _cairo_surface_detach_snapshot
    - _cairo_surface_has_snapshot
    linkageType: ''
    returnType: void
    signature: "void _cairo_surface_attach_snapshot (cairo_surface_t *surface,\t\t\
      \t\t cairo_surface_t *snapshot,\t\t\t\t cairo_surface_func_t detach_func) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-surface.c:1453,1
    - Dst: _cairo_user_data_array_set_data
      Src: /src/cairo/src/cairo-surface.c:1464,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:1468,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-surface.c:1471,1
    - Dst: CAIRO_REFERENCE_COUNT_INIT
      Src: /src/cairo/src/cairo-surface.c:1455,1
    - Dst: CAIRO_REFERENCE_COUNT_IS_INVALID
      Src: /src/cairo/src/cairo-surface.c:1435,1
    - Dst: CAIRO_REFERENCE_COUNT_HAS_REFERENCE
      Src: /src/cairo/src/cairo-surface.c:1438,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:1443,1
    - Dst: _cairo_intern_string
      Src: /src/cairo/src/cairo-surface.c:1446,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:1447,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-surface.c:1453,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-surface.c:1444,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-surface.c:1451,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:1441,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-surface.c:1439,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-surface.c:1444,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-surface.c:1448,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:1452,1
    - Dst: free
      Src: /src/cairo/src/cairo-surface.c:1469,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 6
    argNames:
    - surface
    - mime_type
    - data
    - length
    - destroy
    - closure
    argTypes:
    - cairo_surface_t*
    - char*
    - unsigned char*
    - unsigned long
    - cairo_destroy_func_t
    - void*
    constantsTouched: []
    func_position:
      end: 1477
      start: 1424
    functionDepth: 0
    functionLinenumber: 1424
    functionLinenumberEnd: 1477
    functionName: cairo_surface_set_mime_data
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - free
    - CAIRO_REFERENCE_COUNT_IS_INVALID
    - CAIRO_REFERENCE_COUNT_INIT
    - _cairo_user_data_array_set_data
    - _cairo_surface_set_error
    - _cairo_intern_string
    - CAIRO_REFERENCE_COUNT_HAS_REFERENCE
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t cairo_surface_set_mime_data (cairo_surface_t\t\t*surface,\
      \ const char\t\t\t*mime_type, const unsigned char\t*data, unsigned long\t\t\
      \ length,\t\t\t cairo_destroy_func_t\t destroy,\t\t\t void\t\t\t*closure) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_foreach_entry
      Src: /src/cairo/src/cairo-surface.c:386,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 394
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 394
    functionName: _cairo_surface_has_snapshot
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - cairo_list_foreach_entry
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *_cairo_surface_has_snapshot (cairo_surface_t *surface,\t\
      \t\t const cairo_surface_backend_t *backend) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:1964,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-surface.c:1970,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:1969,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-surface.c:1970,1
    - Dst: assert
      Src: /src/cairo/src/cairo-surface.c:1967,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-surface.c:1978,1
    - Dst: _cairo_surface_begin_modification
      Src: /src/cairo/src/cairo-surface.c:1982,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:1983,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-surface.c:1984,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - surface
    - x_pixels_per_inch
    - y_pixels_per_inch
    argTypes:
    - cairo_surface_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 1990
      start: 1957
    functionDepth: 0
    functionLinenumber: 1957
    functionLinenumberEnd: 1990
    functionName: cairo_surface_set_fallback_resolution
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - assert
    - _cairo_surface_set_error
    - _cairo_surface_begin_modification
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void cairo_surface_set_fallback_resolution (cairo_surface_t\t*surface,\t\
      \t\t\t double\t\t x_pixels_per_inch,\t\t\t\t double\t\t y_pixels_per_inch) "
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - surface
    - x_offset
    - y_offset
    argTypes:
    - cairo_surface_t*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 1922
      start: 1913
    functionDepth: 0
    functionLinenumber: 1913
    functionLinenumberEnd: 1922
    functionName: cairo_surface_get_device_offset
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void cairo_surface_get_device_offset (cairo_surface_t *surface,\t\t\
      \t\t double *x_offset,\t\t\t\t double *y_offset) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:837,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:845,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-surface.c:842,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:849,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:841,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-surface.c:850,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:853,1
    - Dst: _cairo_surface_is_image
      Src: /src/cairo/src/cairo-surface.c:853,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-surface.c:854,1
    - Dst: _cairo_surface_unmap_image
      Src: /src/cairo/src/cairo-surface.c:858,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/src/cairo-surface.c:867,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:860,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-surface.c:868,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-surface.c:866,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-surface.c:861,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 2
    argNames:
    - surface
    - image
    argTypes:
    - cairo_surface_t*
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 869
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 869
    functionName: cairo_surface_unmap_image
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_is_image
    - cairo_surface_finish
    - _cairo_error
    - cairo_surface_destroy
    - _cairo_surface_set_error
    - _cairo_surface_unmap_image
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void cairo_surface_unmap_image (cairo_surface_t *surface,\t\t\t cairo_surface_t\
      \ *image) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_REFERENCE_COUNT_IS_INVALID
      Src: /src/cairo/src/cairo-surface.c:959,1
    - Dst: _cairo_reference_count_dec_and_test
      Src: /src/cairo/src/cairo-surface.c:964,1
    - Dst: CAIRO_REFERENCE_COUNT_HAS_REFERENCE
      Src: /src/cairo/src/cairo-surface.c:962,1
    - Dst: _cairo_surface_finish_snapshots
      Src: /src/cairo/src/cairo-surface.c:970,1
    - Dst: _cairo_damage_destroy
      Src: /src/cairo/src/cairo-surface.c:981,1
    - Dst: _cairo_user_data_array_fini
      Src: /src/cairo/src/cairo-surface.c:983,1
    - Dst: assert
      Src: /src/cairo/src/cairo-surface.c:998,1
    - Dst: CAIRO_REFERENCE_COUNT_HAS_REFERENCE
      Src: /src/cairo/src/cairo-surface.c:998,1
    - Dst: cairo_device_destroy
      Src: /src/cairo/src/cairo-surface.c:990,1
    - Dst: assert
      Src: /src/cairo/src/cairo-surface.c:967,1
    - Dst: assert
      Src: /src/cairo/src/cairo-surface.c:962,1
    - Dst: CAIRO_REFERENCE_COUNT_GET_VALUE
      Src: /src/cairo/src/cairo-surface.c:974,1
    - Dst: assert
      Src: /src/cairo/src/cairo-surface.c:996,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/src/cairo-surface.c:987,1
    - Dst: _cairo_font_options_fini
      Src: /src/cairo/src/cairo-surface.c:993,1
    - Dst: assert
      Src: /src/cairo/src/cairo-surface.c:995,1
    - Dst: _cairo_user_data_array_fini
      Src: /src/cairo/src/cairo-surface.c:984,1
    - Dst: _cairo_surface_has_snapshots
      Src: /src/cairo/src/cairo-surface.c:996,1
    - Dst: free
      Src: /src/cairo/src/cairo-surface.c:1000,1
    - Dst: _cairo_surface_finish
      Src: /src/cairo/src/cairo-surface.c:977,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1001
      start: 955
    functionDepth: 0
    functionLinenumber: 955
    functionLinenumberEnd: 1001
    functionName: cairo_surface_destroy
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - cairo_device_destroy
    - _cairo_damage_destroy
    - _cairo_user_data_array_fini
    - _cairo_font_options_fini
    - _cairo_surface_has_snapshots
    - free
    - CAIRO_REFERENCE_COUNT_IS_INVALID
    - assert
    - _cairo_reference_count_dec_and_test
    - CAIRO_REFERENCE_COUNT_GET_VALUE
    - _cairo_surface_finish_snapshots
    - _cairo_surface_finish
    - CAIRO_REFERENCE_COUNT_HAS_REFERENCE
    - cairo_pattern_destroy
    linkageType: ''
    returnType: void
    signature: 'void cairo_surface_destroy (cairo_surface_t *surface) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:882,1
    - Dst: cairo_surface_create_similar_image
      Src: /src/cairo/src/cairo-surface.c:889,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-surface.c:883,1
    - Dst: _cairo_format_from_content
      Src: /src/cairo/src/cairo-surface.c:890,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:893,1
    - Dst: _cairo_surface_copy_similar_properties
      Src: /src/cairo/src/cairo-surface.c:896,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:898,1
    - Dst: _cairo_pattern_init_solid
      Src: /src/cairo/src/cairo-surface.c:902,1
    - Dst: _cairo_surface_paint
      Src: /src/cairo/src/cairo-surface.c:903,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-surface.c:908,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:907,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-surface.c:909,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 914
      start: 871
    functionDepth: 0
    functionLinenumber: 871
    functionLinenumberEnd: 914
    functionName: _cairo_surface_create_scratch
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - _cairo_format_from_content
    - unlikely
    - cairo_surface_create_similar_image
    - cairo_surface_destroy
    - _cairo_surface_create_in_error
    - _cairo_pattern_init_solid
    - _cairo_surface_paint
    - _cairo_surface_copy_similar_properties
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *_cairo_surface_create_scratch (cairo_surface_t\t\
      \ *other,\t\t\t cairo_content_t\t content,\t\t\t int\t\t width,\t\t\t int\t\t\
      \ height,\t\t\t const cairo_color_t *color) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-surface.c:3181,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-surface.c:3189,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3192
      start: 3177
    functionDepth: 0
    functionLinenumber: 3177
    functionLinenumberEnd: 3192
    functionName: _cairo_int_surface_create_in_error
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - _cairo_error_throw
    - _cairo_surface_create_in_error
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'cairo_surface_t *_cairo_int_surface_create_in_error (cairo_int_status_t
      status) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_REFERENCE_COUNT_IS_INVALID
      Src: /src/cairo/src/cairo-surface.c:935,1
    - Dst: CAIRO_REFERENCE_COUNT_HAS_REFERENCE
      Src: /src/cairo/src/cairo-surface.c:938,1
    - Dst: assert
      Src: /src/cairo/src/cairo-surface.c:938,1
    - Dst: _cairo_reference_count_inc
      Src: /src/cairo/src/cairo-surface.c:940,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 943
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 943
    functionName: cairo_surface_reference
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - _cairo_reference_count_inc
    - CAIRO_REFERENCE_COUNT_HAS_REFERENCE
    - CAIRO_REFERENCE_COUNT_IS_INVALID
    - assert
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'cairo_surface_t *cairo_surface_reference (cairo_surface_t *surface) '
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-surface.c:3106,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-surface.c:3172,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3175
      start: 3103
    functionDepth: 0
    functionLinenumber: 3103
    functionLinenumberEnd: 3175
    functionName: _cairo_surface_create_in_error
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - _cairo_error_throw
    - assert
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'cairo_surface_t *_cairo_surface_create_in_error (cairo_status_t status) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-surface.c:2113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2115
      start: 2109
    functionDepth: 0
    functionLinenumber: 2109
    functionLinenumberEnd: 2115
    functionName: _cairo_surface_get_source
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *_cairo_surface_get_source (cairo_surface_t *surface,\t\
      \t\t cairo_rectangle_int_t *extents) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-surface.c:3045,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-surface.c:3049,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:3046,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:3048,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-surface.c:3049,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-surface.c:3057,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - surface
    - begin
    - tag_name
    - attributes
    argTypes:
    - cairo_surface_t*
    - cairo_bool_t
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 3058
      start: 3037
    functionDepth: 0
    functionLinenumber: 3037
    functionLinenumberEnd: 3058
    functionName: _cairo_surface_tag
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_surface_set_error
    - TRACE
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_surface_tag (cairo_surface_t\t *surface,\t\t\
      \ cairo_bool_t begin,\t\t const char *tag_name,\t\t const char *attributes) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_get_extents
      Src: /src/cairo/src/cairo-surface.c:2122,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2124
      start: 2117
    functionDepth: 0
    functionLinenumber: 2117
    functionLinenumberEnd: 2124
    functionName: _cairo_surface_default_source
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_get_extents
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *_cairo_surface_default_source (void *surface,\t\t\
      \t cairo_rectangle_int_t *extents) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - surface
    - scaled_font
    - glyph_index
    argTypes:
    - cairo_surface_t*
    - cairo_scaled_font_t*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 3069
      start: 3060
    functionDepth: 0
    functionLinenumber: 3060
    functionLinenumberEnd: 3069
    functionName: _cairo_surface_supports_color_glyph
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t _cairo_surface_supports_color_glyph (cairo_surface_t\
      \ *surface,\t\t\t\t cairo_scaled_font_t *scaled_font,\t\t\t\t unsigned long\
      \ glyph_index) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:1875,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-surface.c:1881,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-surface.c:1881,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:1880,1
    - Dst: assert
      Src: /src/cairo/src/cairo-surface.c:1878,1
    - Dst: _cairo_surface_begin_modification
      Src: /src/cairo/src/cairo-surface.c:1885,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:1886,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-surface.c:1887,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-surface.c:1895,1
    - Dst: assert
      Src: /src/cairo/src/cairo-surface.c:1897,1
    - Dst: _cairo_observers_notify
      Src: /src/cairo/src/cairo-surface.c:1899,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - surface
    - x_offset
    - y_offset
    argTypes:
    - cairo_surface_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 1900
      start: 1868
    functionDepth: 0
    functionLinenumber: 1868
    functionLinenumberEnd: 1900
    functionName: cairo_surface_set_device_offset
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - _cairo_observers_notify
    - _cairo_error
    - assert
    - _cairo_surface_set_error
    - _cairo_surface_begin_modification
    - cairo_matrix_invert
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void cairo_surface_set_device_offset (cairo_surface_t *surface,\t\t\
      \t\t double x_offset,\t\t\t\t double y_offset) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - surface
    - x_res
    - y_res
    argTypes:
    - cairo_surface_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 3091
      start: 3081
    functionDepth: 0
    functionLinenumber: 3081
    functionLinenumberEnd: 3091
    functionName: _cairo_surface_set_resolution
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _cairo_surface_set_resolution (cairo_surface_t *surface,\t\t\t\
      \ double x_res,\t\t\t double y_res) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cairo_font_options_status
      Src: /src/cairo/src/cairo-surface.c:1608,1
    - Dst: _cairo_font_options_init_copy
      Src: /src/cairo/src/cairo-surface.c:1626,1
    - Dst: _cairo_font_options_init_default
      Src: /src/cairo/src/cairo-surface.c:1619,1
    - Dst: _cairo_font_options_init_default
      Src: /src/cairo/src/cairo-surface.c:1612,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - surface
    - options
    argTypes:
    - cairo_surface_t*
    - cairo_font_options_t*
    constantsTouched: []
    func_position:
      end: 1627
      start: 1604
    functionDepth: 0
    functionLinenumber: 1604
    functionLinenumberEnd: 1627
    functionName: cairo_surface_get_font_options
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - _cairo_font_options_init_default
    - cairo_font_options_status
    - _cairo_font_options_init_copy
    linkageType: ''
    returnType: void
    signature: "void cairo_surface_get_font_options (cairo_surface_t *surface,\t\t\
      \t\tcairo_font_options_t *options) "
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - surface
    - x_scale
    - y_scale
    argTypes:
    - cairo_surface_t*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 1846
      start: 1837
    functionDepth: 0
    functionLinenumber: 1837
    functionLinenumberEnd: 1846
    functionName: cairo_surface_get_device_scale
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void cairo_surface_get_device_scale (cairo_surface_t *surface,\t\t\
      \t\tdouble *x_scale,\t\t\t\tdouble *y_scale) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_detach_snapshots
      Src: /src/cairo/src/cairo-surface.c:1633,1
    - Dst: __cairo_surface_flush
      Src: /src/cairo/src/cairo-surface.c:1638,1
    - Dst: _cairo_surface_detach_mime_data
      Src: /src/cairo/src/cairo-surface.c:1636,1
    - Dst: _cairo_surface_detach_snapshot
      Src: /src/cairo/src/cairo-surface.c:1635,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - surface
    - flags
    argTypes:
    - cairo_surface_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 1639
      start: 1629
    functionDepth: 0
    functionLinenumber: 1629
    functionLinenumberEnd: 1639
    functionName: _cairo_surface_flush
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_detach_mime_data
    - _cairo_surface_detach_snapshot
    - _cairo_surface_detach_snapshots
    - __cairo_surface_flush
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_surface_flush (cairo_surface_t *surface, unsigned
      flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_REFERENCE_COUNT_HAS_REFERENCE
      Src: /src/cairo/src/cairo-surface.c:1136,1
    - Dst: _cairo_user_data_array_get_data
      Src: /src/cairo/src/cairo-surface.c:1139,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1131
    functionDepth: 0
    functionLinenumber: 1131
    functionLinenumberEnd: 1140
    functionName: cairo_surface_get_user_data
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - CAIRO_REFERENCE_COUNT_HAS_REFERENCE
    - _cairo_user_data_array_get_data
    linkageType: ''
    returnType: void*
    signature: "void *cairo_surface_get_user_data (cairo_surface_t\t\t *surface,\t\
      \t\t const cairo_user_data_key_t *key) "
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:2919,1
    - Dst: free
      Src: /src/cairo/src/cairo-surface.c:3032,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-surface.c:2920,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:2933,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:2944,1
    - Dst: _cairo_scaled_font_has_color_glyphs
      Src: /src/cairo/src/cairo-surface.c:2950,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:2965,1
    - Dst: _cairo_surface_begin_modification
      Src: /src/cairo/src/cairo-surface.c:2943,1
    - Dst: TRACE
      Src: /src/cairo/src/cairo-surface.c:2916,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-surface.c:2920,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:2917,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-surface.c:3034,1
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-surface.c:2925,1
    - Dst: _pattern_has_error
      Src: /src/cairo/src/cairo-surface.c:2928,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:2929,1
    - Dst: cairo_scaled_font_status
      Src: /src/cairo/src/cairo-surface.c:2932,1
    - Dst: malloc
      Src: /src/cairo/src/cairo-surface.c:2953,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-surface.c:2954,1
    - Dst: composite_color_glyphs
      Src: /src/cairo/src/cairo-surface.c:2957,1
    - Dst: nothing_to_do
      Src: /src/cairo/src/cairo-surface.c:2939,1
    - Dst: _cairo_scaled_font_has_color_glyphs
      Src: /src/cairo/src/cairo-surface.c:2936,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 70
    argCount: 12
    argNames:
    - surface
    - op
    - source
    - utf8
    - utf8_len
    - glyphs
    - num_glyphs
    - clusters
    - num_clusters
    - cluster_flags
    - scaled_font
    - clip
    argTypes:
    - cairo_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - char*
    - int
    - cairo_glyph_t*
    - int
    - cairo_text_cluster_t*
    - int
    - cairo_text_cluster_flags_t
    - cairo_scaled_font_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 3035
      start: 2899
    functionDepth: 0
    functionLinenumber: 2899
    functionLinenumberEnd: 3035
    functionName: _cairo_surface_show_text_glyphs
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - nothing_to_do
    - malloc
    - memcpy
    - TRACE
    - cairo_scaled_font_status
    - _cairo_error
    - free
    - _cairo_clip_is_all_clipped
    - _cairo_scaled_font_has_color_glyphs
    - _pattern_has_error
    - _cairo_surface_set_error
    - composite_color_glyphs
    - _cairo_surface_begin_modification
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_surface_show_text_glyphs (cairo_surface_t\t\
      \ *surface,\t\t\t\t cairo_operator_t\t op,\t\t\t\t const cairo_pattern_t\t *source,\t\
      \t\t\t const char\t\t *utf8,\t\t\t\t int\t\t\t utf8_len,\t\t\t\t cairo_glyph_t\t\
      \t *glyphs,\t\t\t\t int\t\t\t num_glyphs,\t\t\t\t const cairo_text_cluster_t\
      \ *clusters,\t\t\t\t int\t\t\t num_clusters,\t\t\t\t cairo_text_cluster_flags_t\
      \ cluster_flags,\t\t\t\t cairo_scaled_font_t\t *scaled_font,\t\t\t\t const cairo_clip_t\t\
      \ *clip) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:307,1
    - Dst: _cairo_device_create_in_error
      Src: /src/cairo/src/cairo-surface.c:308,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 311
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 311
    functionName: cairo_surface_get_device
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - _cairo_device_create_in_error
    - unlikely
    linkageType: ''
    returnType: cairo_device_t*
    signature: 'cairo_device_t *cairo_surface_get_device (cairo_surface_t *surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_REFERENCE_COUNT_IS_INVALID
      Src: /src/cairo/src/cairo-surface.c:1018,1
    - Dst: CAIRO_REFERENCE_COUNT_GET_VALUE
      Src: /src/cairo/src/cairo-surface.c:1021,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1022
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1022
    functionName: cairo_surface_get_reference_count
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - CAIRO_REFERENCE_COUNT_IS_INVALID
    - CAIRO_REFERENCE_COUNT_GET_VALUE
    linkageType: ''
    returnType: unsigned int
    signature: 'unsigned int cairo_surface_get_reference_count (cairo_surface_t *surface) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:2131,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:2138,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-surface.c:2142,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:2141,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 1
    argNames:
    - pattern
    argTypes:
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 2145
      start: 2126
    functionDepth: 0
    functionLinenumber: 2126
    functionLinenumberEnd: 2145
    functionName: _pattern_has_error
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _pattern_has_error (const cairo_pattern_t *pattern) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_is_empty
      Src: /src/cairo/src/cairo-surface.c:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 317
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 317
    functionName: _cairo_surface_has_snapshots
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - cairo_list_is_empty
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_surface_has_snapshots (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_flush
      Src: /src/cairo/src/cairo-surface.c:1031,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1033
      start: 1024
    functionDepth: 0
    functionLinenumber: 1024
    functionLinenumberEnd: 1033
    functionName: _cairo_surface_finish_snapshots
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_flush
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_surface_finish_snapshots (cairo_surface_t *surface) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pattern_is_clear
      Src: /src/cairo/src/cairo-surface.c:2152,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 3
    argNames:
    - surface
    - op
    - source
    argTypes:
    - cairo_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 2167
      start: 2147
    functionDepth: 0
    functionLinenumber: 2147
    functionLinenumberEnd: 2167
    functionName: nothing_to_do
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_is_clear
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t nothing_to_do (cairo_surface_t *surface,\t cairo_operator_t\
      \ op,\t const cairo_pattern_t *source) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_REFERENCE_COUNT_IS_INVALID
      Src: /src/cairo/src/cairo-surface.c:1080,1
    - Dst: _cairo_surface_finish_snapshots
      Src: /src/cairo/src/cairo-surface.c:1089,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-surface.c:1093,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-surface.c:1087,1
    - Dst: _cairo_surface_finish
      Src: /src/cairo/src/cairo-surface.c:1091,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1094
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1094
    functionName: cairo_surface_finish
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - cairo_surface_reference
    - CAIRO_REFERENCE_COUNT_IS_INVALID
    - cairo_surface_destroy
    - _cairo_surface_finish_snapshots
    - _cairo_surface_finish
    linkageType: ''
    returnType: void
    signature: 'void cairo_surface_finish (cairo_surface_t *surface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-surface.c:1049,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-surface.c:1044,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:1043,1
    - Dst: assert
      Src: /src/cairo/src/cairo-surface.c:1050,1
    - Dst: _cairo_surface_has_snapshots
      Src: /src/cairo/src/cairo-surface.c:1050,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1051
      start: 1035
    functionDepth: 0
    functionLinenumber: 1035
    functionLinenumberEnd: 1051
    functionName: _cairo_surface_finish
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_has_snapshots
    - _cairo_surface_set_error
    - assert
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_surface_finish (cairo_surface_t *surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-surface.c:2091,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - surface
    - image
    - image_extra
    argTypes:
    - cairo_surface_t*
    - cairo_image_surface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 2095
      start: 2086
    functionDepth: 0
    functionLinenumber: 2086
    functionLinenumberEnd: 2095
    functionName: _cairo_surface_release_source_image
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void _cairo_surface_release_source_image (cairo_surface_t *surface,\t\
      \t\t\t cairo_image_surface_t *image,\t\t\t\t void *image_extra) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_unmap_image
      Src: /src/cairo/src/cairo-surface.c:2104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - surface
    - image
    - image_extra
    argTypes:
    - void*
    - cairo_image_surface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 2106
      start: 2097
    functionDepth: 0
    functionLinenumber: 2097
    functionLinenumberEnd: 2106
    functionName: _cairo_surface_default_release_source_image
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_unmap_image
    linkageType: ''
    returnType: void
    signature: "void _cairo_surface_default_release_source_image (void *surface,\t\
      \t\t\t\t cairo_image_surface_t *image,\t\t\t\t\t void *image_extra) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_status_set_error
      Src: /src/cairo/src/cairo-surface.c:205,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-surface.c:207,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - surface
    - status
    argTypes:
    - cairo_surface_t*
    - cairo_int_status_t
    constantsTouched: []
    func_position:
      end: 208
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 208
    functionName: _cairo_surface_set_error
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - _cairo_status_set_error
    - _cairo_error
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_surface_set_error (cairo_surface_t *surface,\t\
      \t\t cairo_int_status_t status) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:1797,1
    - Dst: assert
      Src: /src/cairo/src/cairo-surface.c:1800,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:1802,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-surface.c:1803,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-surface.c:1803,1
    - Dst: _cairo_surface_begin_modification
      Src: /src/cairo/src/cairo-surface.c:1807,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:1808,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-surface.c:1809,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-surface.c:1819,1
    - Dst: assert
      Src: /src/cairo/src/cairo-surface.c:1821,1
    - Dst: _cairo_observers_notify
      Src: /src/cairo/src/cairo-surface.c:1823,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - surface
    - x_scale
    - y_scale
    argTypes:
    - cairo_surface_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 1824
      start: 1790
    functionDepth: 0
    functionLinenumber: 1790
    functionLinenumberEnd: 1824
    functionName: cairo_surface_set_device_scale
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - _cairo_observers_notify
    - _cairo_error
    - assert
    - _cairo_surface_set_error
    - _cairo_surface_begin_modification
    - cairo_matrix_invert
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void cairo_surface_set_device_scale (cairo_surface_t *surface,\t\t\
      \t\tdouble\t\t x_scale,\t\t\t\tdouble\t\t y_scale) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-surface.c:2178,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-surface.c:2182,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-surface.c:2182,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:2179,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:2181,1
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-surface.c:2184,1
    - Dst: _pattern_has_error
      Src: /src/cairo/src/cairo-surface.c:2187,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:2188,1
    - Dst: nothing_to_do
      Src: /src/cairo/src/cairo-surface.c:2191,1
    - Dst: _cairo_surface_begin_modification
      Src: /src/cairo/src/cairo-surface.c:2194,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:2195,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-surface.c:2210,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 4
    argNames:
    - surface
    - op
    - source
    - clip
    argTypes:
    - cairo_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 2211
      start: 2169
    functionDepth: 0
    functionLinenumber: 2169
    functionLinenumberEnd: 2211
    functionName: _cairo_surface_paint
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - nothing_to_do
    - TRACE
    - _cairo_error
    - _cairo_clip_is_all_clipped
    - _pattern_has_error
    - _cairo_surface_set_error
    - _cairo_surface_begin_modification
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_surface_paint (cairo_surface_t\t\t*surface,\t\
      \t cairo_operator_t\t\t op,\t\t const cairo_pattern_t\t*source,\t\t const cairo_clip_t\t\
      *clip) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:2482,1
    - Dst: assert
      Src: /src/cairo/src/cairo-surface.c:2485,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-surface.c:2488,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-surface.c:2496,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:2487,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 2497
      start: 2479
    functionDepth: 0
    functionLinenumber: 2479
    functionLinenumberEnd: 2497
    functionName: cairo_surface_copy_page
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_set_error
    - assert
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_surface_copy_page (cairo_surface_t *surface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:1685,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-surface.c:1688,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-surface.c:1688,1
    - Dst: _cairo_surface_get_extents
      Src: /src/cairo/src/cairo-surface.c:1692,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:1687,1
    - Dst: cairo_surface_mark_dirty_rectangle
      Src: /src/cairo/src/cairo-surface.c:1693,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1696
      start: 1680
    functionDepth: 0
    functionLinenumber: 1680
    functionLinenumberEnd: 1696
    functionName: cairo_surface_mark_dirty
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_surface_get_extents
    - _cairo_surface_set_error
    - cairo_surface_mark_dirty_rectangle
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_surface_mark_dirty (cairo_surface_t *surface) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:1725,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-surface.c:1731,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-surface.c:1731,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:1730,1
    - Dst: assert
      Src: /src/cairo/src/cairo-surface.c:1728,1
    - Dst: assert
      Src: /src/cairo/src/cairo-surface.c:1738,1
    - Dst: _cairo_surface_has_snapshots
      Src: /src/cairo/src/cairo-surface.c:1738,1
    - Dst: assert
      Src: /src/cairo/src/cairo-surface.c:1739,1
    - Dst: _cairo_surface_has_mime_data
      Src: /src/cairo/src/cairo-surface.c:1739,1
    - Dst: _cairo_damage_add_box
      Src: /src/cairo/src/cairo-surface.c:1752,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-surface.c:1767,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:1766,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 5
    argNames:
    - surface
    - x
    - y
    - width
    - height
    argTypes:
    - cairo_surface_t*
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1769
      start: 1716
    functionDepth: 0
    functionLinenumber: 1716
    functionLinenumberEnd: 1769
    functionName: cairo_surface_mark_dirty_rectangle
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - _cairo_damage_add_box
    - _cairo_error
    - _cairo_surface_has_snapshots
    - _cairo_surface_has_mime_data
    - assert
    - _cairo_surface_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void cairo_surface_mark_dirty_rectangle (cairo_surface_t *surface,\t\
      \t\t\t int x,\t\t\t\t int y,\t\t\t\t int width,\t\t\t\t int height) "
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-surface.c:2222,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-surface.c:2226,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-surface.c:2226,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:2223,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:2225,1
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-surface.c:2228,1
    - Dst: _cairo_pattern_is_clear
      Src: /src/cairo/src/cairo-surface.c:2232,1
    - Dst: _cairo_operator_bounded_by_mask
      Src: /src/cairo/src/cairo-surface.c:2233,1
    - Dst: _pattern_has_error
      Src: /src/cairo/src/cairo-surface.c:2238,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:2239,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:2250,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-surface.c:2264,1
    - Dst: _pattern_has_error
      Src: /src/cairo/src/cairo-surface.c:2242,1
    - Dst: nothing_to_do
      Src: /src/cairo/src/cairo-surface.c:2246,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:2243,1
    - Dst: _cairo_surface_begin_modification
      Src: /src/cairo/src/cairo-surface.c:2249,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 5
    argNames:
    - surface
    - op
    - source
    - mask
    - clip
    argTypes:
    - cairo_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 2265
      start: 2213
    functionDepth: 0
    functionLinenumber: 2213
    functionLinenumberEnd: 2265
    functionName: _cairo_surface_mask
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - nothing_to_do
    - TRACE
    - _cairo_error
    - _cairo_clip_is_all_clipped
    - _cairo_operator_bounded_by_mask
    - _cairo_pattern_is_clear
    - _pattern_has_error
    - _cairo_surface_set_error
    - _cairo_surface_begin_modification
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_surface_mask (cairo_surface_t\t\t*surface,\t\
      \t cairo_operator_t\t\t op,\t\t const cairo_pattern_t\t*source,\t\t const cairo_pattern_t\t\
      *mask,\t\t const cairo_clip_t\t\t*clip) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_flush
      Src: /src/cairo/src/cairo-surface.c:1665,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:1666,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-surface.c:1667,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1668
      start: 1654
    functionDepth: 0
    functionLinenumber: 1654
    functionLinenumberEnd: 1668
    functionName: cairo_surface_flush
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_flush
    - _cairo_surface_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void cairo_surface_flush (cairo_surface_t *surface) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-surface.c:2428,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:2429,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:2431,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-surface.c:2432,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-surface.c:2432,1
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-surface.c:2434,1
    - Dst: _pattern_has_error
      Src: /src/cairo/src/cairo-surface.c:2437,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:2438,1
    - Dst: nothing_to_do
      Src: /src/cairo/src/cairo-surface.c:2441,1
    - Dst: _cairo_surface_begin_modification
      Src: /src/cairo/src/cairo-surface.c:2444,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface.c:2445,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-surface.c:2462,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 8
    argNames:
    - surface
    - op
    - source
    - path
    - fill_rule
    - tolerance
    - antialias
    - clip
    argTypes:
    - cairo_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 2463
      start: 2416
    functionDepth: 0
    functionLinenumber: 2416
    functionLinenumberEnd: 2463
    functionName: _cairo_surface_fill
    functionSourceFile: /src/cairo/src/cairo-surface.c
    functionUses: []
    functionsReached:
    - nothing_to_do
    - TRACE
    - _cairo_error
    - _cairo_clip_is_all_clipped
    - _pattern_has_error
    - _cairo_surface_set_error
    - _cairo_surface_begin_modification
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_surface_fill (cairo_surface_t\t\t*surface,\t\
      \t cairo_operator_t\t\t op,\t\t const cairo_pattern_t\t *source,\t\t const cairo_path_fixed_t\t\
      *path,\t\t cairo_fill_rule_t\t\t fill_rule,\t\t double\t\t\t tolerance,\t\t\
      \ cairo_antialias_t\t\t antialias,\t\t const cairo_clip_t\t\t*clip) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-toy-font-face.c:100,1
    - Dst: _cairo_hash_table_create
      Src: /src/cairo/src/cairo-toy-font-face.c:105,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-toy-font-face.c:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 114
    functionName: _cairo_toy_font_face_hash_table_lock
    functionSourceFile: /src/cairo/src/cairo-toy-font-face.c
    functionUses: []
    functionsReached:
    - CAIRO_MUTEX_LOCK
    - CAIRO_MUTEX_UNLOCK
    - _cairo_hash_table_create
    linkageType: ''
    returnType: cairo_hash_table_t*
    signature: 'static cairo_hash_table_t *_cairo_toy_font_face_hash_table_lock (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_hash_string
      Src: /src/cairo/src/cairo-toy-font-face.c:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - key
    - family
    - slant
    - weight
    argTypes:
    - cairo_toy_font_face_t*
    - char*
    - cairo_font_slant_t
    - cairo_font_weight_t
    constantsTouched: []
    func_position:
      end: 151
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 151
    functionName: _cairo_toy_font_face_init_key
    functionSourceFile: /src/cairo/src/cairo-toy-font-face.c
    functionUses: []
    functionsReached:
    - _cairo_hash_string
    linkageType: ''
    returnType: void
    signature: "static void _cairo_toy_font_face_init_key (cairo_toy_font_face_t *key,\t\
      \t\t const char\t *family,\t\t\t cairo_font_slant_t slant,\t\t\t cairo_font_weight_t\
      \ weight) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/cairo/src/cairo-toy-font-face.c:187,1
    - Dst: _cairo_toy_font_face_init_key
      Src: /src/cairo/src/cairo-toy-font-face.c:191,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-toy-font-face.c:188,1
    - Dst: _cairo_font_face_init
      Src: /src/cairo/src/cairo-toy-font-face.c:194,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-toy-font-face.c:189,1
    - Dst: _cairo_toy_font_face_create_impl_face
      Src: /src/cairo/src/cairo-toy-font-face.c:196,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-toy-font-face.c:198,1
    - Dst: free
      Src: /src/cairo/src/cairo-toy-font-face.c:199,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - font_face
    - family
    - slant
    - weight
    argTypes:
    - cairo_toy_font_face_t*
    - char*
    - cairo_font_slant_t
    - cairo_font_weight_t
    constantsTouched: []
    func_position:
      end: 204
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 204
    functionName: _cairo_toy_font_face_init
    functionSourceFile: /src/cairo/src/cairo-toy-font-face.c
    functionUses: []
    functionsReached:
    - _cairo_font_face_init
    - _cairo_error
    - free
    - _cairo_toy_font_face_create_impl_face
    - _cairo_toy_font_face_init_key
    - strdup
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_toy_font_face_init (cairo_toy_font_face_t\
      \ *font_face,\t\t\t const char\t *family,\t\t\t cairo_font_slant_t\t slant,\t\
      \t\t cairo_font_weight_t\t weight) "
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-toy-font-face.c:266,1
    - Dst: cairo_font_face_reference
      Src: /src/cairo/src/cairo-toy-font-face.c:304,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-toy-font-face.c:314,1
    - Dst: assert
      Src: /src/cairo/src/cairo-toy-font-face.c:324,1
    - Dst: _cairo_toy_font_face_hash_table_unlock
      Src: /src/cairo/src/cairo-toy-font-face.c:329,1
    - Dst: _cairo_toy_font_face_hash_table_unlock
      Src: /src/cairo/src/cairo-toy-font-face.c:338,1
    - Dst: _cairo_utf8_to_ucs4
      Src: /src/cairo/src/cairo-toy-font-face.c:265,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-toy-font-face.c:294,1
    - Dst: _cairo_hash_table_lookup
      Src: /src/cairo/src/cairo-toy-font-face.c:300,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-toy-font-face.c:316,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-toy-font-face.c:326,1
    - Dst: _cairo_hash_table_insert
      Src: /src/cairo/src/cairo-toy-font-face.c:325,1
    - Dst: _cairo_toy_font_face_init
      Src: /src/cairo/src/cairo-toy-font-face.c:320,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-toy-font-face.c:321,1
    - Dst: _cairo_toy_font_face_fini
      Src: /src/cairo/src/cairo-toy-font-face.c:334,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-toy-font-face.c:315,1
    - Dst: _cairo_toy_font_face_init_key
      Src: /src/cairo/src/cairo-toy-font-face.c:297,1
    - Dst: _cairo_toy_font_face_hash_table_lock
      Src: /src/cairo/src/cairo-toy-font-face.c:293,1
    - Dst: _cairo_toy_font_face_hash_table_unlock
      Src: /src/cairo/src/cairo-toy-font-face.c:305,1
    - Dst: _cairo_hash_table_remove
      Src: /src/cairo/src/cairo-toy-font-face.c:310,1
    - Dst: free
      Src: /src/cairo/src/cairo-toy-font-face.c:336,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 341
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 341
    functionName: cairo_toy_font_face_create
    functionSourceFile: /src/cairo/src/cairo-toy-font-face.c
    functionUses: []
    functionsReached:
    - _cairo_toy_font_face_hash_table_lock
    - _cairo_error
    - free
    - _cairo_toy_font_face_init_key
    - _cairo_utf8_to_ucs4
    - assert
    - cairo_font_face_reference
    - _cairo_hash_table_insert
    - _cairo_toy_font_face_fini
    - _cairo_toy_font_face_hash_table_unlock
    - _cairo_toy_font_face_init
    - _cairo_hash_table_remove
    - _cairo_hash_table_lookup
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_font_face_t*
    signature: "cairo_font_face_t *cairo_toy_font_face_create (const char *family,\t\
      \t\t cairo_font_slant_t slant,\t\t\t cairo_font_weight_t weight) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_toy_font_face_hash_table_lock
      Src: /src/cairo/src/cairo-toy-font-face.c:349,1
    - Dst: assert
      Src: /src/cairo/src/cairo-toy-font-face.c:351,1
    - Dst: _cairo_reference_count_dec_and_test
      Src: /src/cairo/src/cairo-toy-font-face.c:353,1
    - Dst: likely
      Src: /src/cairo/src/cairo-toy-font-face.c:363,1
    - Dst: _cairo_toy_font_face_hash_table_unlock
      Src: /src/cairo/src/cairo-toy-font-face.c:355,1
    - Dst: _cairo_hash_table_lookup
      Src: /src/cairo/src/cairo-toy-font-face.c:364,1
    - Dst: _cairo_hash_table_remove
      Src: /src/cairo/src/cairo-toy-font-face.c:365,1
    - Dst: _cairo_toy_font_face_hash_table_unlock
      Src: /src/cairo/src/cairo-toy-font-face.c:367,1
    - Dst: _cairo_toy_font_face_fini
      Src: /src/cairo/src/cairo-toy-font-face.c:369,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - abstract_face
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 371
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 371
    functionName: _cairo_toy_font_face_destroy
    functionSourceFile: /src/cairo/src/cairo-toy-font-face.c
    functionUses: []
    functionsReached:
    - _cairo_toy_font_face_hash_table_lock
    - assert
    - _cairo_toy_font_face_fini
    - _cairo_reference_count_dec_and_test
    - _cairo_toy_font_face_hash_table_unlock
    - _cairo_hash_table_remove
    - _cairo_hash_table_lookup
    - likely
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_toy_font_face_destroy (void *abstract_face) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_font_face_reference
      Src: /src/cairo/src/cairo-toy-font-face.c:405,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 409
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 409
    functionName: _cairo_toy_font_face_get_implementation
    functionSourceFile: /src/cairo/src/cairo-toy-font-face.c
    functionUses: []
    functionsReached:
    - cairo_font_face_reference
    linkageType: ''
    returnType: cairo_font_face_t*
    signature: "static cairo_font_face_t *_cairo_toy_font_face_get_implementation\
      \ (void *abstract_font_face,\t\t\t\t\t const cairo_matrix_t *font_matrix,\t\t\
      \t\t\t const cairo_matrix_t *ctm,\t\t\t\t\t const cairo_font_options_t *options) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_font_face_is_toy
      Src: /src/cairo/src/cairo-toy-font-face.c:437,1
    - Dst: assert
      Src: /src/cairo/src/cairo-toy-font-face.c:441,1
    - Dst: _cairo_font_face_set_error
      Src: /src/cairo/src/cairo-toy-font-face.c:438,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 443
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 443
    functionName: cairo_toy_font_face_get_family
    functionSourceFile: /src/cairo/src/cairo-toy-font-face.c
    functionUses: []
    functionsReached:
    - _cairo_font_face_set_error
    - _cairo_font_face_is_toy
    - assert
    linkageType: ''
    returnType: char*
    signature: 'const char *cairo_toy_font_face_get_family (cairo_font_face_t *font_face) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_font_face_is_toy
      Src: /src/cairo/src/cairo-toy-font-face.c:490,1
    - Dst: _cairo_font_face_set_error
      Src: /src/cairo/src/cairo-toy-font-face.c:491,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - font_face
    argTypes:
    - cairo_font_face_t*
    constantsTouched: []
    func_position:
      end: 495
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 495
    functionName: cairo_toy_font_face_get_weight
    functionSourceFile: /src/cairo/src/cairo-toy-font-face.c
    functionUses: []
    functionsReached:
    - _cairo_font_face_set_error
    - _cairo_font_face_is_toy
    linkageType: ''
    returnType: cairo_font_weight_t
    signature: 'cairo_font_weight_t cairo_toy_font_face_get_weight (cairo_font_face_t
      *font_face) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-toy-font-face.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: _cairo_toy_font_face_hash_table_unlock
    functionSourceFile: /src/cairo/src/cairo-toy-font-face.c
    functionUses: []
    functionsReached:
    - CAIRO_MUTEX_UNLOCK
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_toy_font_face_hash_table_unlock (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-toy-font-face.c:160,1
    - Dst: strncmp
      Src: /src/cairo/src/cairo-toy-font-face.c:164,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-toy-font-face.c:165,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - font_face
    - impl_font_face
    argTypes:
    - cairo_toy_font_face_t*
    - cairo_font_face_t**
    constantsTouched: []
    func_position:
      end: 176
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 176
    functionName: _cairo_toy_font_face_create_impl_face
    functionSourceFile: /src/cairo/src/cairo-toy-font-face.c
    functionUses: []
    functionsReached:
    - strncmp
    - strlen
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_toy_font_face_create_impl_face (cairo_toy_font_face_t\
      \ *font_face,\t\t\t\t cairo_font_face_t **impl_font_face) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-toy-font-face.c:211,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/src/cairo-toy-font-face.c:215,1
    - Dst: free
      Src: /src/cairo/src/cairo-toy-font-face.c:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - font_face
    argTypes:
    - cairo_toy_font_face_t*
    constantsTouched: []
    func_position:
      end: 216
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 216
    functionName: _cairo_toy_font_face_fini
    functionSourceFile: /src/cairo/src/cairo-toy-font-face.c
    functionUses: []
    functionsReached:
    - free
    - cairo_font_face_destroy
    - assert
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_toy_font_face_fini (cairo_toy_font_face_t *font_face) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_font_face_set_error
      Src: /src/cairo/src/cairo-toy-font-face.c:384,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 5
    argNames:
    - abstract_font_face
    - font_matrix
    - ctm
    - options
    - scaled_font
    argTypes:
    - void*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - cairo_font_options_t*
    - cairo_scaled_font_t**
    constantsTouched: []
    func_position:
      end: 385
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 385
    functionName: _cairo_toy_font_face_scaled_font_create
    functionSourceFile: /src/cairo/src/cairo-toy-font-face.c
    functionUses: []
    functionsReached:
    - _cairo_font_face_set_error
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_toy_font_face_scaled_font_create (void\
      \ *abstract_font_face,\t\t\t\t\t const cairo_matrix_t *font_matrix,\t\t\t\t\t\
      \ const cairo_matrix_t *ctm,\t\t\t\t\t const cairo_font_options_t *options,\t\
      \t\t\t\t cairo_scaled_font_t\t **scaled_font) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - font_face
    argTypes:
    - cairo_font_face_t*
    constantsTouched: []
    func_position:
      end: 415
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 415
    functionName: _cairo_font_face_is_toy
    functionSourceFile: /src/cairo/src/cairo-toy-font-face.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_font_face_is_toy (cairo_font_face_t *font_face) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-toy-font-face.c:513,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-toy-font-face.c:516,1
    - Dst: _cairo_hash_table_destroy
      Src: /src/cairo/src/cairo-toy-font-face.c:519,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 520
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 520
    functionName: _cairo_toy_font_face_reset_static_data
    functionSourceFile: /src/cairo/src/cairo-toy-font-face.c
    functionUses: []
    functionsReached:
    - CAIRO_MUTEX_LOCK
    - CAIRO_MUTEX_UNLOCK
    - _cairo_hash_table_destroy
    linkageType: ''
    returnType: void
    signature: 'void _cairo_toy_font_face_reset_static_data (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cairo/src/cairo-toy-font-face.c:225,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - key_a
    - key_b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 228
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 228
    functionName: _cairo_toy_font_face_keys_equal
    functionSourceFile: /src/cairo/src/cairo-toy-font-face.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: "static int _cairo_toy_font_face_keys_equal (const void *key_a,\t\t\
      \t\t const void *key_b) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_font_face_is_toy
      Src: /src/cairo/src/cairo-toy-font-face.c:464,1
    - Dst: _cairo_font_face_set_error
      Src: /src/cairo/src/cairo-toy-font-face.c:465,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - font_face
    argTypes:
    - cairo_font_face_t*
    constantsTouched: []
    func_position:
      end: 469
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 469
    functionName: cairo_toy_font_face_get_slant
    functionSourceFile: /src/cairo/src/cairo-toy-font-face.c
    functionUses: []
    functionsReached:
    - _cairo_font_face_set_error
    - _cairo_font_face_is_toy
    linkageType: ''
    returnType: cairo_font_slant_t
    signature: 'cairo_font_slant_t cairo_toy_font_face_get_slant (cairo_font_face_t
      *font_face) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_get_image
      Src: /src/cairo/src/cairo-mask-compositor.c:312,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-mask-compositor.c:318,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-mask-compositor.c:313,1
    - Dst: _cairo_pattern_init_for_surface
      Src: /src/cairo/src/cairo-mask-compositor.c:316,1
    - Dst: _cairo_pattern_fini
      Src: /src/cairo/src/cairo-mask-compositor.c:326,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 331
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 331
    functionName: get_clip_source
    functionSourceFile: /src/cairo/src/cairo-mask-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_init_for_surface
    - _cairo_clip_get_image
    - _cairo_pattern_fini
    - cairo_surface_destroy
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *get_clip_source (const cairo_mask_compositor_t\
      \ *compositor,\t\t cairo_clip_t *clip,\t\t cairo_surface_t *dst,\t\t const cairo_rectangle_int_t\
      \ *bounds,\t\t int *out_x, int *out_y) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pattern_is_opaque_solid
      Src: /src/cairo/src/cairo-mask-compositor.c:484,1
    - Dst: can_reduce_alpha_op
      Src: /src/cairo/src/cairo-mask-compositor.c:485,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - dst
    - op
    - pattern
    argTypes:
    - cairo_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 486
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 486
    functionName: reduce_alpha_op
    functionSourceFile: /src/cairo/src/cairo-mask-compositor.c
    functionUses: []
    functionsReached:
    - can_reduce_alpha_op
    - _cairo_pattern_is_opaque_solid
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t reduce_alpha_op (cairo_surface_t *dst,\t\t cairo_operator_t\
      \ op,\t\t const cairo_pattern_t *pattern) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-mask-compositor.c:1158,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-mask-compositor.c:1169,1
    - Dst: assert
      Src: /src/cairo/src/cairo-mask-compositor.c:1159,1
    - Dst: do_unaligned_box
      Src: /src/cairo/src/cairo-mask-compositor.c:1176,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-mask-compositor.c:1178,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 10
    argNames:
    - compositor
    - dst
    - closure
    - op
    - src_pattern
    - src_sample
    - dst_x
    - dst_y
    - extents
    - clip
    argTypes:
    - cairo_mask_compositor_t*
    - cairo_surface_t*
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_rectangle_int_t*
    - int
    - int
    - cairo_rectangle_int_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 1181
      start: 1142
    functionDepth: 0
    functionLinenumber: 1142
    functionLinenumberEnd: 1181
    functionName: composite_mask_clip_boxes
    functionSourceFile: /src/cairo/src/cairo-mask-compositor.c
    functionUses: []
    functionsReached:
    - unlikely
    - do_unaligned_box
    - cairo_surface_destroy
    - assert
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t composite_mask_clip_boxes (const cairo_mask_compositor_t\
      \ *compositor,\t\t\t cairo_surface_t\t\t*dst,\t\t\t void\t\t\t\t*closure,\t\t\
      \t cairo_operator_t\t\t op,\t\t\t const cairo_pattern_t\t*src_pattern,\t\t\t\
      \ const cairo_rectangle_int_t\t*src_sample,\t\t\t int\t\t\t\t dst_x,\t\t\t int\t\
      \t\t\t dst_y,\t\t\t const cairo_rectangle_int_t\t*extents,\t\t\t cairo_clip_t\t\
      \t\t*clip) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_boxes_init_with_clip
      Src: /src/cairo/src/cairo-mask-compositor.c:1366,1
    - Dst: _cairo_path_fixed_fill_rectilinear_to_boxes
      Src: /src/cairo/src/cairo-mask-compositor.c:1367,1
    - Dst: _cairo_path_fixed_fill_is_rectilinear
      Src: /src/cairo/src/cairo-mask-compositor.c:1363,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-mask-compositor.c:1360,1
    - Dst: likely
      Src: /src/cairo/src/cairo-mask-compositor.c:1371,1
    - Dst: clip_and_composite_boxes
      Src: /src/cairo/src/cairo-mask-compositor.c:1372,1
    - Dst: _cairo_boxes_fini
      Src: /src/cairo/src/cairo-mask-compositor.c:1373,1
    - Dst: cairo_surface_create_similar_image
      Src: /src/cairo/src/cairo-mask-compositor.c:1377,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-mask-compositor.c:1381,1
    - Dst: _cairo_surface_offset_fill
      Src: /src/cairo/src/cairo-mask-compositor.c:1384,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-mask-compositor.c:1392,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-mask-compositor.c:1397,1
    - Dst: _cairo_pattern_fini
      Src: /src/cairo/src/cairo-mask-compositor.c:1409,1
    - Dst: _cairo_surface_mask
      Src: /src/cairo/src/cairo-mask-compositor.c:1404,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/src/cairo-mask-compositor.c:1399,1
    - Dst: _cairo_pattern_init_for_surface
      Src: /src/cairo/src/cairo-mask-compositor.c:1396,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-mask-compositor.c:1391,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 6
    argNames:
    - _compositor
    - extents
    - path
    - fill_rule
    - tolerance
    - antialias
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    constantsTouched: []
    func_position:
      end: 1413
      start: 1346
    functionDepth: 0
    functionLinenumber: 1346
    functionLinenumberEnd: 1413
    functionName: _cairo_mask_compositor_fill
    functionSourceFile: /src/cairo/src/cairo-mask-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_fill_is_rectilinear
    - _cairo_pattern_init_for_surface
    - _cairo_path_fixed_fill_rectilinear_to_boxes
    - _cairo_surface_mask
    - _cairo_surface_offset_fill
    - _cairo_pattern_fini
    - cairo_surface_destroy
    - cairo_surface_create_similar_image
    - _cairo_boxes_init_with_clip
    - cairo_matrix_init_translate
    - clip_and_composite_boxes
    - likely
    - _cairo_boxes_fini
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_mask_compositor_fill (const cairo_compositor_t\
      \ *_compositor,\t\t\t cairo_composite_rectangles_t *extents,\t\t\t const cairo_path_fixed_t\t\
      *path,\t\t\t cairo_fill_rule_t\t fill_rule,\t\t\t double\t\t\t tolerance,\t\t\
      \t cairo_antialias_t\t antialias) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_color_init_rgba
      Src: /src/cairo/src/cairo-mask-compositor.c:147,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 6
    argNames:
    - closure
    - x
    - y
    - w
    - h
    - coverage
    argTypes:
    - void*
    - int16_t
    - int16_t
    - int16_t
    - int16_t
    - uint16_t
    constantsTouched: []
    func_position:
      end: 150
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 150
    functionName: blt_in
    functionSourceFile: /src/cairo/src/cairo-mask-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_color_init_rgba
    linkageType: ''
    returnType: void
    signature: "static void blt_in(void *closure,\t\t int16_t x, int16_t y,\t\t int16_t\
      \ w, int16_t h,\t\t uint16_t coverage) "
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 52
    argCount: 3
    argNames:
    - compositor
    - dst
    - extents
    argTypes:
    - cairo_mask_compositor_t*
    - cairo_surface_t*
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 547
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 547
    functionName: fixup_unbounded
    functionSourceFile: /src/cairo/src/cairo-mask-compositor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t fixup_unbounded (const cairo_mask_compositor_t\
      \ *compositor,\t\t cairo_surface_t *dst,\t\t const cairo_composite_rectangles_t\
      \ *extents) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_is_region
      Src: /src/cairo/src/cairo-mask-compositor.c:721,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - extents
    argTypes:
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 724
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 724
    functionName: need_bounded_clip
    functionSourceFile: /src/cairo/src/cairo-mask-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_clip_is_region
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t need_bounded_clip (cairo_composite_rectangles_t
      *extents) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-mask-compositor.c:1211,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-mask-compositor.c:1210,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-mask-compositor.c:1204,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-mask-compositor.c:1221,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-mask-compositor.c:1222,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-mask-compositor.c:1227,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-mask-compositor.c:1236,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 10
    argNames:
    - compositor
    - dst
    - closure
    - op
    - src_pattern
    - src_sample
    - dst_x
    - dst_y
    - extents
    - clip
    argTypes:
    - cairo_mask_compositor_t*
    - cairo_surface_t*
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_rectangle_int_t*
    - int
    - int
    - cairo_rectangle_int_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 1240
      start: 1183
    functionDepth: 0
    functionLinenumber: 1183
    functionLinenumberEnd: 1240
    functionName: composite_mask
    functionSourceFile: /src/cairo/src/cairo-mask-compositor.c
    functionUses: []
    functionsReached:
    - cairo_surface_destroy
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t composite_mask (const cairo_mask_compositor_t\
      \ *compositor,\t\tcairo_surface_t\t\t\t*dst,\t\tvoid\t\t\t\t*closure,\t\tcairo_operator_t\t\
      \t op,\t\tconst cairo_pattern_t\t\t*src_pattern,\t\tconst cairo_rectangle_int_t\t\
      *src_sample,\t\tint\t\t\t\t dst_x,\t\tint\t\t\t\t dst_y,\t\tconst cairo_rectangle_int_t\t\
      *extents,\t\tcairo_clip_t\t\t\t*clip) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_offset_glyphs
      Src: /src/cairo/src/cairo-mask-compositor.c:1439,1
    - Dst: cairo_surface_create_similar_image
      Src: /src/cairo/src/cairo-mask-compositor.c:1432,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-mask-compositor.c:1429,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-mask-compositor.c:1436,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-mask-compositor.c:1446,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-mask-compositor.c:1447,1
    - Dst: _cairo_pattern_init_for_surface
      Src: /src/cairo/src/cairo-mask-compositor.c:1451,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-mask-compositor.c:1452,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/src/cairo-mask-compositor.c:1454,1
    - Dst: _cairo_pattern_fini
      Src: /src/cairo/src/cairo-mask-compositor.c:1464,1
    - Dst: _cairo_surface_mask
      Src: /src/cairo/src/cairo-mask-compositor.c:1459,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 6
    argNames:
    - _compositor
    - extents
    - scaled_font
    - glyphs
    - num_glyphs
    - overlap
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_scaled_font_t*
    - cairo_glyph_t*
    - int
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 1467
      start: 1415
    functionDepth: 0
    functionLinenumber: 1415
    functionLinenumberEnd: 1467
    functionName: _cairo_mask_compositor_glyphs
    functionSourceFile: /src/cairo/src/cairo-mask-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_surface_offset_glyphs
    - _cairo_pattern_init_for_surface
    - _cairo_surface_mask
    - _cairo_pattern_fini
    - cairo_surface_destroy
    - cairo_surface_create_similar_image
    - cairo_matrix_init_translate
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_mask_compositor_glyphs (const cairo_compositor_t\
      \ *_compositor,\t\t\t cairo_composite_rectangles_t *extents,\t\t\t cairo_scaled_font_t\t\
      *scaled_font,\t\t\t cairo_glyph_t\t\t*glyphs,\t\t\t int\t\t\t num_glyphs,\t\t\
      \t cairo_bool_t\t\t overlap) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: create_composite_mask
      Src: /src/cairo/src/cairo-mask-compositor.c:263,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-mask-compositor.c:266,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-mask-compositor.c:276,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-mask-compositor.c:277,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-mask-compositor.c:288,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-mask-compositor.c:296,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 7
    argNames:
    - compositor
    - draw_closure
    - draw_func
    - mask_func
    - op
    - pattern
    - extents
    argTypes:
    - cairo_mask_compositor_t*
    - void*
    - draw_func_t
    - draw_func_t
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 299
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 299
    functionName: clip_and_composite_with_mask
    functionSourceFile: /src/cairo/src/cairo-mask-compositor.c
    functionUses: []
    functionsReached:
    - unlikely
    - cairo_surface_destroy
    - create_composite_mask
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t clip_and_composite_with_mask (const cairo_mask_compositor_t\
      \ *compositor,\t\t\t void\t\t\t*draw_closure,\t\t\t draw_func_t\t\t draw_func,\t\
      \t\t draw_func_t\t\t mask_func,\t\t\t cairo_operator_t\t\t op,\t\t\t cairo_pattern_t\t\
      \t*pattern,\t\t\t const cairo_composite_rectangles_t*extents) "
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_create_scratch
      Src: /src/cairo/src/cairo-mask-compositor.c:165,1
    - Dst: _cairo_int_surface_create_in_error
      Src: /src/cairo/src/cairo-mask-compositor.c:175,1
    - Dst: likely
      Src: /src/cairo/src/cairo-mask-compositor.c:197,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-mask-compositor.c:216,1
    - Dst: _cairo_int_surface_create_in_error
      Src: /src/cairo/src/cairo-mask-compositor.c:242,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-mask-compositor.c:174,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-mask-compositor.c:169,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-mask-compositor.c:206,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-mask-compositor.c:241,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-mask-compositor.c:173,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-mask-compositor.c:188,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-mask-compositor.c:229,1
    - Dst: draw_func
      Src: /src/cairo/src/cairo-mask-compositor.c:202,1
    - Dst: mask_func
      Src: /src/cairo/src/cairo-mask-compositor.c:193,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-mask-compositor.c:214,1
    - Dst: _cairo_clip_combine_with_surface
      Src: /src/cairo/src/cairo-mask-compositor.c:226,1
    - Dst: do_unaligned_box
      Src: /src/cairo/src/cairo-mask-compositor.c:219,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-mask-compositor.c:215,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-mask-compositor.c:217,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 245
    functionName: create_composite_mask
    functionSourceFile: /src/cairo/src/cairo-mask-compositor.c
    functionUses: []
    functionsReached:
    - draw_func
    - mask_func
    - _cairo_surface_create_scratch
    - _cairo_clip_combine_with_surface
    - do_unaligned_box
    - cairo_surface_destroy
    - likely
    - _cairo_fixed_is_integer
    - _cairo_int_surface_create_in_error
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *create_composite_mask (const cairo_mask_compositor_t\
      \ *compositor,\t\t cairo_surface_t\t\t*dst,\t\t void\t\t\t*draw_closure,\t\t\
      \ draw_func_t\t\t draw_func,\t\t draw_func_t\t\t mask_func,\t\t const cairo_composite_rectangles_t\
      \ *extents) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_is_region
      Src: /src/cairo/src/cairo-mask-compositor.c:732,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - extents
    argTypes:
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 738
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 738
    functionName: need_unbounded_clip
    functionSourceFile: /src/cairo/src/cairo-mask-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_clip_is_region
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t need_unbounded_clip (cairo_composite_rectangles_t
      *extents) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_color_init_rgba
      Src: /src/cairo/src/cairo-mask-compositor.c:1027,1
    - Dst: _cairo_pattern_init_solid
      Src: /src/cairo/src/cairo-mask-compositor.c:1028,1
    - Dst: likely
      Src: /src/cairo/src/cairo-mask-compositor.c:1033,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-mask-compositor.c:1049,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 6
    argNames:
    - closure
    - x
    - y
    - w
    - h
    - coverage
    argTypes:
    - void*
    - int16_t
    - int16_t
    - int16_t
    - int16_t
    - uint16_t
    constantsTouched: []
    func_position:
      end: 1050
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1050
    functionName: composite_opacity
    functionSourceFile: /src/cairo/src/cairo-mask-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_init_solid
    - _cairo_color_init_rgba
    - likely
    - cairo_surface_destroy
    linkageType: ''
    returnType: void
    signature: "static void composite_opacity(void *closure,\t\t\t int16_t x, int16_t\
      \ y,\t\t\t int16_t w, int16_t h,\t\t\t uint16_t coverage) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: need_unbounded_clip
      Src: /src/cairo/src/cairo-mask-compositor.c:1260,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-mask-compositor.c:1250,1
    - Dst: clip_and_composite
      Src: /src/cairo/src/cairo-mask-compositor.c:1256,1
    - Dst: _cairo_clip_is_region
      Src: /src/cairo/src/cairo-mask-compositor.c:1255,1
    - Dst: clip_and_composite
      Src: /src/cairo/src/cairo-mask-compositor.c:1262,1
    - Dst: need_bounded_clip
      Src: /src/cairo/src/cairo-mask-compositor.c:1266,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - _compositor
    - extents
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 1270
      start: 1242
    functionDepth: 0
    functionLinenumber: 1242
    functionLinenumberEnd: 1270
    functionName: _cairo_mask_compositor_mask
    functionSourceFile: /src/cairo/src/cairo-mask-compositor.c
    functionUses: []
    functionsReached:
    - clip_and_composite
    - need_bounded_clip
    - _cairo_clip_is_region
    - need_unbounded_clip
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_mask_compositor_mask (const cairo_compositor_t\
      \ *_compositor,\t\t\t cairo_composite_rectangles_t *extents) "
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_composite_rectangles_can_reduce_clip
      Src: /src/cairo/src/cairo-mask-compositor.c:759,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-mask-compositor.c:764,1
    - Dst: _cairo_clip_get_region
      Src: /src/cairo/src/cairo-mask-compositor.c:757,1
    - Dst: reduce_alpha_op
      Src: /src/cairo/src/cairo-mask-compositor.c:771,1
    - Dst: clip_and_composite_source
      Src: /src/cairo/src/cairo-mask-compositor.c:777,1
    - Dst: clip_and_composite_with_mask
      Src: /src/cairo/src/cairo-mask-compositor.c:788,1
    - Dst: clip_and_composite_combine
      Src: /src/cairo/src/cairo-mask-compositor.c:794,1
    - Dst: fixup_unbounded_with_mask
      Src: /src/cairo/src/cairo-mask-compositor.c:811,1
    - Dst: draw_func
      Src: /src/cairo/src/cairo-mask-compositor.c:800,1
    - Dst: fixup_unbounded
      Src: /src/cairo/src/cairo-mask-compositor.c:813,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 53
    argCount: 6
    argNames:
    - compositor
    - draw_func
    - mask_func
    - draw_closure
    - extents
    - need_clip
    argTypes:
    - cairo_mask_compositor_t*
    - draw_func_t
    - draw_func_t
    - void*
    - cairo_composite_rectangles_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 822
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 822
    functionName: clip_and_composite
    functionSourceFile: /src/cairo/src/cairo-mask-compositor.c
    functionUses: []
    functionsReached:
    - draw_func
    - _cairo_composite_rectangles_can_reduce_clip
    - fixup_unbounded_with_mask
    - clip_and_composite_source
    - _cairo_clip_get_region
    - fixup_unbounded
    - reduce_alpha_op
    - clip_and_composite_combine
    - clip_and_composite_with_mask
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t clip_and_composite (const cairo_mask_compositor_t\
      \ *compositor,\t\t draw_func_t\t\t\t draw_func,\t\t draw_func_t\t\t\t mask_func,\t\
      \t void\t\t\t*draw_closure,\t\t cairo_composite_rectangles_t*extents,\t\t unsigned\
      \ int need_clip) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-mask-compositor.c:1068,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-mask-compositor.c:1078,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-mask-compositor.c:1089,1
    - Dst: do_unaligned_box
      Src: /src/cairo/src/cairo-mask-compositor.c:1087,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 10
    argNames:
    - compositor
    - dst
    - closure
    - op
    - src_pattern
    - src_sample
    - dst_x
    - dst_y
    - extents
    - clip
    argTypes:
    - cairo_mask_compositor_t*
    - cairo_surface_t*
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_rectangle_int_t*
    - int
    - int
    - cairo_rectangle_int_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 1092
      start: 1052
    functionDepth: 0
    functionLinenumber: 1052
    functionLinenumberEnd: 1092
    functionName: composite_opacity_boxes
    functionSourceFile: /src/cairo/src/cairo-mask-compositor.c
    functionUses: []
    functionsReached:
    - unlikely
    - do_unaligned_box
    - cairo_surface_destroy
    - assert
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t composite_opacity_boxes (const cairo_mask_compositor_t\
      \ *compositor,\t\t\t cairo_surface_t\t\t*dst,\t\t\t void\t\t\t\t*closure,\t\t\
      \t cairo_operator_t\t\t op,\t\t\t const cairo_pattern_t\t\t*src_pattern,\t\t\
      \t const cairo_rectangle_int_t\t*src_sample,\t\t\t int\t\t\t\t dst_x,\t\t\t\
      \ int\t\t\t\t dst_y,\t\t\t const cairo_rectangle_int_t\t*extents,\t\t\t cairo_clip_t\t\
      \t\t*clip) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_ALPHA_SHORT_IS_OPAQUE
      Src: /src/cairo/src/cairo-mask-compositor.c:1110,1
    - Dst: _cairo_pattern_init_solid
      Src: /src/cairo/src/cairo-mask-compositor.c:1117,1
    - Dst: _cairo_color_init_rgba
      Src: /src/cairo/src/cairo-mask-compositor.c:1116,1
    - Dst: likely
      Src: /src/cairo/src/cairo-mask-compositor.c:1124,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-mask-compositor.c:1132,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 6
    argNames:
    - closure
    - x
    - y
    - w
    - h
    - coverage
    argTypes:
    - void*
    - int16_t
    - int16_t
    - int16_t
    - int16_t
    - uint16_t
    constantsTouched: []
    func_position:
      end: 1140
      start: 1102
    functionDepth: 0
    functionLinenumber: 1102
    functionLinenumberEnd: 1140
    functionName: composite_box
    functionSourceFile: /src/cairo/src/cairo-mask-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_color_init_rgba
    - CAIRO_ALPHA_SHORT_IS_OPAQUE
    - cairo_surface_destroy
    - _cairo_pattern_init_solid
    - likely
    linkageType: ''
    returnType: void
    signature: "static void composite_box(void *closure,\t\t\t int16_t x, int16_t\
      \ y,\t\t\t int16_t w, int16_t h,\t\t\t uint16_t coverage) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_boxes_init_with_clip
      Src: /src/cairo/src/cairo-mask-compositor.c:1294,1
    - Dst: _cairo_path_fixed_stroke_is_rectilinear
      Src: /src/cairo/src/cairo-mask-compositor.c:1291,1
    - Dst: _cairo_path_fixed_stroke_rectilinear_to_boxes
      Src: /src/cairo/src/cairo-mask-compositor.c:1295,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-mask-compositor.c:1288,1
    - Dst: likely
      Src: /src/cairo/src/cairo-mask-compositor.c:1300,1
    - Dst: clip_and_composite_boxes
      Src: /src/cairo/src/cairo-mask-compositor.c:1301,1
    - Dst: _cairo_boxes_fini
      Src: /src/cairo/src/cairo-mask-compositor.c:1302,1
    - Dst: cairo_surface_create_similar_image
      Src: /src/cairo/src/cairo-mask-compositor.c:1307,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-mask-compositor.c:1311,1
    - Dst: _cairo_surface_mask
      Src: /src/cairo/src/cairo-mask-compositor.c:1335,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/src/cairo-mask-compositor.c:1330,1
    - Dst: _cairo_pattern_fini
      Src: /src/cairo/src/cairo-mask-compositor.c:1340,1
    - Dst: _cairo_pattern_init_for_surface
      Src: /src/cairo/src/cairo-mask-compositor.c:1327,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-mask-compositor.c:1323,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-mask-compositor.c:1322,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-mask-compositor.c:1328,1
    - Dst: _cairo_surface_offset_stroke
      Src: /src/cairo/src/cairo-mask-compositor.c:1314,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 8
    argNames:
    - _compositor
    - extents
    - path
    - style
    - ctm
    - ctm_inverse
    - tolerance
    - antialias
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_antialias_t
    constantsTouched: []
    func_position:
      end: 1344
      start: 1272
    functionDepth: 0
    functionLinenumber: 1272
    functionLinenumberEnd: 1344
    functionName: _cairo_mask_compositor_stroke
    functionSourceFile: /src/cairo/src/cairo-mask-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_init_for_surface
    - _cairo_path_fixed_stroke_rectilinear_to_boxes
    - _cairo_surface_mask
    - _cairo_surface_offset_stroke
    - _cairo_pattern_fini
    - cairo_surface_destroy
    - cairo_surface_create_similar_image
    - cairo_matrix_init_translate
    - _cairo_boxes_init_with_clip
    - _cairo_path_fixed_stroke_is_rectilinear
    - clip_and_composite_boxes
    - likely
    - _cairo_boxes_fini
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_mask_compositor_stroke (const cairo_compositor_t\
      \ *_compositor,\t\t\t cairo_composite_rectangles_t *extents,\t\t\t const cairo_path_fixed_t\t\
      *path,\t\t\t const cairo_stroke_style_t\t*style,\t\t\t const cairo_matrix_t\t\
      *ctm,\t\t\t const cairo_matrix_t\t*ctm_inverse,\t\t\t double\t\t tolerance,\t\
      \t\t cairo_antialias_t\t antialias) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - compositor
    - delegate
    argTypes:
    - cairo_mask_compositor_t*
    - cairo_compositor_t*
    constantsTouched: []
    func_position:
      end: 1480
      start: 1469
    functionDepth: 0
    functionLinenumber: 1469
    functionLinenumberEnd: 1480
    functionName: _cairo_mask_compositor_init
    functionSourceFile: /src/cairo/src/cairo-mask-compositor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _cairo_mask_compositor_init (cairo_mask_compositor_t *compositor,\t\
      \t\t const cairo_compositor_t *delegate) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: create_composite_mask
      Src: /src/cairo/src/cairo-mask-compositor.c:419,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-mask-compositor.c:422,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-mask-compositor.c:431,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-mask-compositor.c:432,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-mask-compositor.c:457,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-mask-compositor.c:458,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 6
    argNames:
    - compositor
    - draw_closure
    - draw_func
    - mask_func
    - pattern
    - extents
    argTypes:
    - cairo_mask_compositor_t*
    - void*
    - draw_func_t
    - draw_func_t
    - cairo_pattern_t*
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 461
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 461
    functionName: clip_and_composite_source
    functionSourceFile: /src/cairo/src/cairo-mask-compositor.c
    functionUses: []
    functionsReached:
    - unlikely
    - cairo_surface_destroy
    - create_composite_mask
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t clip_and_composite_source (const cairo_mask_compositor_t\t\
      *compositor,\t\t\t void\t\t\t\t*draw_closure,\t\t\t draw_func_t\t\t\t draw_func,\t\
      \t\t draw_func_t\t\t\t mask_func,\t\t\t cairo_pattern_t\t\t*pattern,\t\t\t const\
      \ cairo_composite_rectangles_t\t*extents) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_clip_source
      Src: /src/cairo/src/cairo-mask-compositor.c:557,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-mask-compositor.c:560,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-mask-compositor.c:619,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 3
    argNames:
    - compositor
    - dst
    - extents
    argTypes:
    - cairo_mask_compositor_t*
    - cairo_surface_t*
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 622
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 622
    functionName: fixup_unbounded_with_mask
    functionSourceFile: /src/cairo/src/cairo-mask-compositor.c
    functionUses: []
    functionsReached:
    - get_clip_source
    - cairo_surface_destroy
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t fixup_unbounded_with_mask (const cairo_mask_compositor_t\
      \ *compositor,\t\t\t cairo_surface_t *dst,\t\t\t const cairo_composite_rectangles_t\
      \ *extents) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-mask-compositor.c:893,1
    - Dst: get_clip_source
      Src: /src/cairo/src/cairo-mask-compositor.c:907,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-mask-compositor.c:910,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-mask-compositor.c:937,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-mask-compositor.c:938,1
    - Dst: fixup_unbounded_boxes
      Src: /src/cairo/src/cairo-mask-compositor.c:942,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 46
    argCount: 3
    argNames:
    - compositor
    - extents
    - boxes
    argTypes:
    - cairo_mask_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 947
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 947
    functionName: composite_boxes
    functionSourceFile: /src/cairo/src/cairo-mask-compositor.c
    functionUses: []
    functionsReached:
    - fixup_unbounded_boxes
    - get_clip_source
    - cairo_surface_destroy
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t composite_boxes (const cairo_mask_compositor_t\
      \ *compositor,\t\t const cairo_composite_rectangles_t *extents,\t\t cairo_boxes_t\
      \ *boxes) "
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - cairo_operator_t
    constantsTouched: []
    func_position:
      end: 475
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 475
    functionName: can_reduce_alpha_op
    functionSourceFile: /src/cairo/src/cairo-mask-compositor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t can_reduce_alpha_op (cairo_operator_t op) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_get_region
      Src: /src/cairo/src/cairo-mask-compositor.c:641,1
    - Dst: cairo_region_contains_rectangle
      Src: /src/cairo/src/cairo-mask-compositor.c:642,1
    - Dst: fixup_unbounded
      Src: /src/cairo/src/cairo-mask-compositor.c:648,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-mask-compositor.c:652,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-mask-compositor.c:653,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-mask-compositor.c:654,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-mask-compositor.c:655,1
    - Dst: pixman_region32_rectangles
      Src: /src/cairo/src/cairo-mask-compositor.c:676,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-mask-compositor.c:687,1
    - Dst: _cairo_boxes_fini
      Src: /src/cairo/src/cairo-mask-compositor.c:688,1
    - Dst: assert
      Src: /src/cairo/src/cairo-mask-compositor.c:637,1
    - Dst: _cairo_boxes_init
      Src: /src/cairo/src/cairo-mask-compositor.c:650,1
    - Dst: assert
      Src: /src/cairo/src/cairo-mask-compositor.c:663,1
    - Dst: _cairo_boxes_init
      Src: /src/cairo/src/cairo-mask-compositor.c:660,1
    - Dst: assert
      Src: /src/cairo/src/cairo-mask-compositor.c:680,1
    - Dst: _cairo_boxes_add
      Src: /src/cairo/src/cairo-mask-compositor.c:684,1
    - Dst: _cairo_boxes_add
      Src: /src/cairo/src/cairo-mask-compositor.c:662,1
    - Dst: _cairo_bentley_ottmann_tessellate_boxes
      Src: /src/cairo/src/cairo-mask-compositor.c:668,1
    - Dst: _cairo_bentley_ottmann_tessellate_boxes
      Src: /src/cairo/src/cairo-mask-compositor.c:694,1
    - Dst: _cairo_clip_is_region
      Src: /src/cairo/src/cairo-mask-compositor.c:640,1
    - Dst: _cairo_boxes_add
      Src: /src/cairo/src/cairo-mask-compositor.c:679,1
    - Dst: _cairo_boxes_limit
      Src: /src/cairo/src/cairo-mask-compositor.c:677,1
    - Dst: _cairo_boxes_fini
      Src: /src/cairo/src/cairo-mask-compositor.c:706,1
    - Dst: likely
      Src: /src/cairo/src/cairo-mask-compositor.c:699,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 66
    argCount: 3
    argNames:
    - compositor
    - extents
    - boxes
    argTypes:
    - cairo_mask_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 709
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 709
    functionName: fixup_unbounded_boxes
    functionSourceFile: /src/cairo/src/cairo-mask-compositor.c
    functionUses: []
    functionsReached:
    - cairo_region_contains_rectangle
    - _cairo_boxes_init
    - _cairo_clip_is_region
    - unlikely
    - _cairo_clip_get_region
    - fixup_unbounded
    - assert
    - pixman_region32_rectangles
    - _cairo_bentley_ottmann_tessellate_boxes
    - _cairo_boxes_limit
    - _cairo_boxes_add
    - likely
    - _cairo_boxes_fini
    - _cairo_fixed_from_int
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t fixup_unbounded_boxes (const cairo_mask_compositor_t\
      \ *compositor,\t\t const cairo_composite_rectangles_t *extents,\t\t cairo_boxes_t\
      \ *boxes) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fixup_unbounded_boxes
      Src: /src/cairo/src/cairo-mask-compositor.c:961,1
    - Dst: trim_extents_to_boxes
      Src: /src/cairo/src/cairo-mask-compositor.c:967,1
    - Dst: upload_boxes
      Src: /src/cairo/src/cairo-mask-compositor.c:977,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-mask-compositor.c:968,1
    - Dst: composite_boxes
      Src: /src/cairo/src/cairo-mask-compositor.c:982,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 23
    argCount: 3
    argNames:
    - compositor
    - extents
    - boxes
    argTypes:
    - cairo_mask_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 983
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 983
    functionName: clip_and_composite_boxes
    functionSourceFile: /src/cairo/src/cairo-mask-compositor.c
    functionUses: []
    functionsReached:
    - upload_boxes
    - fixup_unbounded_boxes
    - trim_extents_to_boxes
    - composite_boxes
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t clip_and_composite_boxes (const cairo_mask_compositor_t\
      \ *compositor,\t\t\t cairo_composite_rectangles_t *extents,\t\t\t cairo_boxes_t\
      \ *boxes) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-mask-compositor.c:78,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-mask-compositor.c:81,1
    - Dst: blt
      Src: /src/cairo/src/cairo-mask-compositor.c:82,1
    - Dst: _cairo_fixed_fractional_part
      Src: /src/cairo/src/cairo-mask-compositor.c:83,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-mask-compositor.c:79,1
    - Dst: blt
      Src: /src/cairo/src/cairo-mask-compositor.c:88,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-mask-compositor.c:90,1
    - Dst: blt
      Src: /src/cairo/src/cairo-mask-compositor.c:91,1
    - Dst: _cairo_fixed_fractional_part
      Src: /src/cairo/src/cairo-mask-compositor.c:92,1
    - Dst: blt
      Src: /src/cairo/src/cairo-mask-compositor.c:94,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 7
    argNames:
    - (*blt)
    - closure
    - b
    - tx
    - y
    - h
    - coverage
    argTypes:
    - void
    - void*
    - cairo_box_t*
    - int
    - int
    - int
    - uint16_t
    constantsTouched: []
    func_position:
      end: 96
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 96
    functionName: do_unaligned_row
    functionSourceFile: /src/cairo/src/cairo-mask-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_fractional_part
    - _cairo_fixed_is_integer
    - blt
    - _cairo_fixed_integer_part
    linkageType: ''
    returnType: void
    signature: "static void do_unaligned_row(void (*blt)(void *closure,\t\t\t\t\t\
      \ int16_t x, int16_t y,\t\t\t\t\t int16_t w, int16_t h,\t\t\t\t\t uint16_t coverage),\t\
      \t\t void *closure,\t\t\t const cairo_box_t *b,\t\t\t int tx, int y, int h,\t\
      \t\t uint16_t coverage) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_boxes_extents
      Src: /src/cairo/src/cairo-mask-compositor.c:830,1
    - Dst: _cairo_composite_rectangles_intersect_mask_extents
      Src: /src/cairo/src/cairo-mask-compositor.c:831,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - extents
    - boxes
    argTypes:
    - cairo_composite_rectangles_t*
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 832
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 832
    functionName: trim_extents_to_boxes
    functionSourceFile: /src/cairo/src/cairo-mask-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_boxes_extents
    - _cairo_composite_rectangles_intersect_mask_extents
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t trim_extents_to_boxes (cairo_composite_rectangles_t\
      \ *extents,\t\t cairo_boxes_t *boxes) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clip_and_composite_boxes
      Src: /src/cairo/src/cairo-mask-compositor.c:1000,1
    - Dst: _cairo_clip_steal_boxes
      Src: /src/cairo/src/cairo-mask-compositor.c:999,1
    - Dst: _cairo_clip_unsteal_boxes
      Src: /src/cairo/src/cairo-mask-compositor.c:1001,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-mask-compositor.c:996,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - _compositor
    - extents
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 1004
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 1004
    functionName: _cairo_mask_compositor_paint
    functionSourceFile: /src/cairo/src/cairo-mask-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_clip_unsteal_boxes
    - clip_and_composite_boxes
    - _cairo_clip_steal_boxes
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_mask_compositor_paint (const cairo_compositor_t\
      \ *_compositor,\t\t\t cairo_composite_rectangles_t *extents) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-mask-compositor.c:105,1
    - Dst: do_unaligned_row
      Src: /src/cairo/src/cairo-mask-compositor.c:109,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-mask-compositor.c:106,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-mask-compositor.c:108,1
    - Dst: _cairo_fixed_fractional_part
      Src: /src/cairo/src/cairo-mask-compositor.c:110,1
    - Dst: do_unaligned_row
      Src: /src/cairo/src/cairo-mask-compositor.c:115,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-mask-compositor.c:117,1
    - Dst: do_unaligned_row
      Src: /src/cairo/src/cairo-mask-compositor.c:118,1
    - Dst: _cairo_fixed_fractional_part
      Src: /src/cairo/src/cairo-mask-compositor.c:119,1
    - Dst: do_unaligned_row
      Src: /src/cairo/src/cairo-mask-compositor.c:121,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 5
    argNames:
    - (*blt)
    - closure
    - b
    - tx
    - ty
    argTypes:
    - void
    - void*
    - cairo_box_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 123
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 123
    functionName: do_unaligned_box
    functionSourceFile: /src/cairo/src/cairo-mask-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_is_integer
    - _cairo_fixed_fractional_part
    - do_unaligned_row
    - _cairo_fixed_integer_part
    linkageType: ''
    returnType: void
    signature: "static void do_unaligned_box(void (*blt)(void *closure,\t\t\t\t\t\
      \ int16_t x, int16_t y,\t\t\t\t\t int16_t w, int16_t h,\t\t\t\t\t uint16_t coverage),\t\
      \t\t void *closure,\t\t\t const cairo_box_t *b, int tx, int ty) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pattern_get_source
      Src: /src/cairo/src/cairo-mask-compositor.c:846,1
    - Dst: _cairo_matrix_is_integer_translation
      Src: /src/cairo/src/cairo-mask-compositor.c:850,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 3
    argNames:
    - compositor
    - extents
    - boxes
    argTypes:
    - cairo_mask_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 873
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 873
    functionName: upload_boxes
    functionSourceFile: /src/cairo/src/cairo-mask-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_get_source
    - _cairo_matrix_is_integer_translation
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t upload_boxes (const cairo_mask_compositor_t\
      \ *compositor,\t cairo_composite_rectangles_t *extents,\t cairo_boxes_t *boxes) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_create_scratch
      Src: /src/cairo/src/cairo-mask-compositor.c:349,1
    - Dst: draw_func
      Src: /src/cairo/src/cairo-mask-compositor.c:362,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-mask-compositor.c:353,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-mask-compositor.c:366,1
    - Dst: get_clip_source
      Src: /src/cairo/src/cairo-mask-compositor.c:369,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-mask-compositor.c:372,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-mask-compositor.c:399,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-mask-compositor.c:396,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 19
    argCount: 6
    argNames:
    - compositor
    - draw_closure
    - draw_func
    - op
    - pattern
    - extents
    argTypes:
    - cairo_mask_compositor_t*
    - void*
    - draw_func_t
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 401
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 401
    functionName: clip_and_composite_combine
    functionSourceFile: /src/cairo/src/cairo-mask-compositor.c
    functionUses: []
    functionsReached:
    - draw_func
    - _cairo_surface_create_scratch
    - cairo_surface_destroy
    - get_clip_source
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t clip_and_composite_combine (const cairo_mask_compositor_t\
      \ *compositor,\t\t\t void\t\t\t*draw_closure,\t\t\t draw_func_t\t\t draw_func,\t\
      \t\t cairo_operator_t\t\t op,\t\t\t const cairo_pattern_t\t*pattern,\t\t\t const\
      \ cairo_composite_rectangles_t*extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - i
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: _cairo_double_to_int64
    functionSourceFile: /src/cairo/src/cairo-wideint-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: I
    signature: 'I _cairo_double_to_int64 (double i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - i
    argTypes:
    - cairo_uint64_t
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: _cairo_uint64_to_double
    functionSourceFile: /src/cairo/src/cairo-wideint-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: 'double _cairo_uint64_to_double (cairo_uint64_t i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - i
    argTypes:
    - cairo_int64_t
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: _cairo_int64_to_double
    functionSourceFile: /src/cairo/src/cairo-wideint-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: I
    signature: 'I _cairo_int64_to_double (cairo_int64_t i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - i
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: _cairo_double_to_uint64
    functionSourceFile: /src/cairo/src/cairo-wideint-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_uint64_t
    signature: 'cairo_uint64_t _cairo_double_to_uint64 (double i) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_int64_negative
      Src: /src/cairo/src/cairo-wideint-private.h:183,1
    - Dst: _cairo_uint64_divrem
      Src: /src/cairo/src/cairo-wideint-private.h:192,1
    - Dst: _cairo_int64_negative
      Src: /src/cairo/src/cairo-wideint-private.h:184,1
    - Dst: _cairo_int64_negate
      Src: /src/cairo/src/cairo-wideint-private.h:191,1
    - Dst: _cairo_int64_negate
      Src: /src/cairo/src/cairo-wideint-private.h:189,1
    - Dst: _cairo_int64_negate
      Src: /src/cairo/src/cairo-wideint-private.h:194,1
    - Dst: _cairo_int64_negate
      Src: /src/cairo/src/cairo-wideint-private.h:198,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - num
    - den
    argTypes:
    - cairo_int64_t
    - cairo_int64_t
    constantsTouched: []
    func_position:
      end: 202
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 202
    functionName: _cairo_int64_divrem
    functionSourceFile: /src/cairo/src/cairo-wideint-private.h
    functionUses: []
    functionsReached:
    - _cairo_int64_negative
    - _cairo_int64_negate
    - _cairo_uint64_divrem
    linkageType: ''
    returnType: cairo_quorem64_t
    signature: 'static inline cairo_quorem64_t _cairo_int64_divrem (cairo_int64_t
      num, cairo_int64_t den) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - num
    - den
    argTypes:
    - cairo_uint64_t
    - cairo_uint64_t
    constantsTouched: []
    func_position:
      end: 108
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 108
    functionName: _cairo_uint64_divrem
    functionSourceFile: /src/cairo/src/cairo-wideint-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_uquorem64_t
    signature: 'static inline cairo_uquorem64_t _cairo_uint64_divrem (cairo_uint64_t
      num, cairo_uint64_t den) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_int64_to_int32
      Src: /src/cairo/src/cairo-wideint-private.h:208,1
    - Dst: _cairo_int64_divrem
      Src: /src/cairo/src/cairo-wideint-private.h:209,1
    - Dst: _cairo_int32_to_int64
      Src: /src/cairo/src/cairo-wideint-private.h:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - num
    - den
    argTypes:
    - cairo_int64_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 213
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 213
    functionName: _cairo_int64_32_div
    functionSourceFile: /src/cairo/src/cairo-wideint-private.h
    functionUses: []
    functionsReached:
    - _cairo_int64_to_int32
    - _cairo_int32_to_int64
    - _cairo_int64_divrem
    linkageType: ''
    returnType: int32_t
    signature: 'static inline int32_t _cairo_int64_32_div (cairo_int64_t num, int32_t
      den) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-freed-pool.c:49,1
    - Dst: _cairo_atomic_int_set_relaxed
      Src: /src/cairo/src/cairo-freed-pool.c:58,1
    - Dst: _cairo_atomic_int_set_relaxed
      Src: /src/cairo/src/cairo-freed-pool.c:52,1
    - Dst: _atomic_fetch
      Src: /src/cairo/src/cairo-freed-pool.c:50,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 60
    functionName: _freed_pool_get_search
    functionSourceFile: /src/cairo/src/cairo-freed-pool.c
    functionUses: []
    functionsReached:
    - _atomic_fetch
    - ARRAY_LENGTH
    - _cairo_atomic_int_set_relaxed
    linkageType: ''
    returnType: void*
    signature: 'void *_freed_pool_get_search (freed_pool_t *pool) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-freed-pool.c:84,1
    - Dst: free
      Src: /src/cairo/src/cairo-freed-pool.c:85,1
    - Dst: _atomic_fetch
      Src: /src/cairo/src/cairo-freed-pool.c:85,1
    - Dst: _cairo_atomic_int_set_relaxed
      Src: /src/cairo/src/cairo-freed-pool.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pool
    argTypes:
    - freed_pool_t*
    constantsTouched: []
    func_position:
      end: 89
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 89
    functionName: _freed_pool_reset
    functionSourceFile: /src/cairo/src/cairo-freed-pool.c
    functionUses: []
    functionsReached:
    - free
    - _atomic_fetch
    - ARRAY_LENGTH
    - _cairo_atomic_int_set_relaxed
    linkageType: ''
    returnType: void
    signature: 'void _freed_pool_reset (freed_pool_t *pool) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-freed-pool.c:67,1
    - Dst: _atomic_store
      Src: /src/cairo/src/cairo-freed-pool.c:68,1
    - Dst: _cairo_atomic_int_set_relaxed
      Src: /src/cairo/src/cairo-freed-pool.c:75,1
    - Dst: _cairo_atomic_int_set_relaxed
      Src: /src/cairo/src/cairo-freed-pool.c:69,1
    - Dst: free
      Src: /src/cairo/src/cairo-freed-pool.c:76,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - pool
    - ptr
    argTypes:
    - freed_pool_t*
    - void*
    constantsTouched: []
    func_position:
      end: 77
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 77
    functionName: _freed_pool_put_search
    functionSourceFile: /src/cairo/src/cairo-freed-pool.c
    functionUses: []
    functionsReached:
    - free
    - ARRAY_LENGTH
    - _atomic_store
    - _cairo_atomic_int_set_relaxed
    linkageType: ''
    returnType: void
    signature: 'void _freed_pool_put_search (freed_pool_t *pool, void *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_finish
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:100,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 106
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 106
    functionName: _cairo_xlib_xcb_surface_finish
    functionSourceFile: /src/cairo/src/cairo-xlib-xcb-surface.c
    functionUses: []
    functionsReached:
    - cairo_surface_finish
    - cairo_surface_destroy
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_xlib_xcb_surface_finish (void *abstract_surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_release_source_image
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:158,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - abstract_surface
    - image_out
    - image_extra
    argTypes:
    - void*
    - cairo_image_surface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 159
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 159
    functionName: _cairo_xlib_xcb_surface_release_source_image
    functionSourceFile: /src/cairo/src/cairo-xlib-xcb-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_release_source_image
    linkageType: ''
    returnType: void
    signature: "static void _cairo_xlib_xcb_surface_release_source_image (void *abstract_surface,\t\
      \t\t\t\t cairo_image_surface_t *image_out,\t\t\t\t\t void *image_extra) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:371,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:394,1
    - Dst: _cairo_device_create_in_error
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:395,1
    - Dst: cairo_device_reference
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:417,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:423,1
    - Dst: cairo_list_move
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:384,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:388,1
    - Dst: _cairo_device_create_in_error
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:401,1
    - Dst: XESetCloseDisplay
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:408,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:400,1
    - Dst: XAddExtension
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:399,1
    - Dst: CAIRO_MUTEX_INITIALIZE
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:369,1
    - Dst: cairo_list_foreach_entry
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:376,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:393,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:373,1
    - Dst: cairo_device_reference
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:387,1
    - Dst: free
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:402,1
    - Dst: cairo_device_reference
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:414,1
    - Dst: cairo_list_add
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:419,1
    - Dst: _cairo_device_init
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:406,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 426
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 426
    functionName: _cairo_xlib_xcb_device_create
    functionSourceFile: /src/cairo/src/cairo-xlib-xcb-surface.c
    functionUses: []
    functionsReached:
    - _cairo_malloc
    - cairo_list_foreach_entry
    - CAIRO_MUTEX_LOCK
    - _cairo_device_create_in_error
    - _cairo_device_init
    - cairo_list_move
    - XAddExtension
    - free
    - cairo_device_reference
    - CAIRO_MUTEX_INITIALIZE
    - unlikely
    - CAIRO_MUTEX_UNLOCK
    - assert
    - XESetCloseDisplay
    - cairo_list_add
    - cairo_list_init
    linkageType: ''
    returnType: cairo_device_t*
    signature: 'static cairo_device_t *_cairo_xlib_xcb_device_create (Display *dpy,
      cairo_device_t *xcb_device) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XGetXCBConnection
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:579,1
    - Dst: _cairo_xcb_screen_from_root
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:580,1
    - Dst: _cairo_xlib_xcb_surface_create
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:582,1
    - Dst: cairo_xcb_surface_create_with_xrender_format
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:583,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 587
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 587
    functionName: cairo_xlib_surface_create_with_xrender_format
    functionSourceFile: /src/cairo/src/cairo-xlib-xcb-surface.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_xcb_surface_create
    - cairo_xcb_surface_create_with_xrender_format
    - XGetXCBConnection
    - _cairo_xcb_screen_from_root
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *cairo_xlib_surface_create_with_xrender_format (Display\t\
      \t *dpy,\t\t\t\t\t Drawable\t\t drawable,\t\t\t\t\t Screen\t\t *scr,\t\t\t\t\
      \t XRenderPictFormat *format,\t\t\t\t\t int\t\t width,\t\t\t\t\t int\t\t height) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar_image
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 116
    functionName: _cairo_xlib_xcb_surface_create_similar_image
    functionSourceFile: /src/cairo/src/cairo-xlib-xcb-surface.c
    functionUses: []
    functionsReached:
    - cairo_surface_create_similar_image
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_xlib_xcb_surface_create_similar_image\
      \ (void\t\t\t*abstract_other,\t\t\t\t\t cairo_format_t\t\t format,\t\t\t\t\t\
      \ int\t\t\t width,\t\t\t\t\t int\t\t\t height) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_get_extents
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - abstract_surface
    - extents
    argTypes:
    - void*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 167
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 167
    functionName: _cairo_xlib_xcb_surface_get_extents
    functionSourceFile: /src/cairo/src/cairo-xlib-xcb-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_get_extents
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _cairo_xlib_xcb_surface_get_extents (void *abstract_surface,\t\
      \t\t\t cairo_rectangle_int_t *extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:306,1
    - Dst: XESetCloseDisplay
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:313,1
    - Dst: cairo_device_destroy
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:310,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:308,1
    - Dst: cairo_list_del
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:307,1
    - Dst: cairo_device_destroy
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:315,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - abstract_display
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 316
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 316
    functionName: _cairo_xlib_xcb_display_finish
    functionSourceFile: /src/cairo/src/cairo-xlib-xcb-surface.c
    functionUses: []
    functionsReached:
    - cairo_device_destroy
    - CAIRO_MUTEX_LOCK
    - CAIRO_MUTEX_UNLOCK
    - XESetCloseDisplay
    - cairo_list_del
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_xlib_xcb_display_finish (void *abstract_display) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:437,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:440,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:443,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:441,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:442,1
    - Dst: _cairo_surface_init
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:446,1
    - Dst: _cairo_xlib_xcb_device_create
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:448,1
    - Dst: cairo_device_destroy
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:453,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 462
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 462
    functionName: _cairo_xlib_xcb_surface_create
    functionSourceFile: /src/cairo/src/cairo-xlib-xcb-surface.c
    functionUses: []
    functionsReached:
    - _cairo_malloc
    - cairo_device_destroy
    - _cairo_surface_init
    - _cairo_xlib_xcb_device_create
    - cairo_surface_destroy
    - _cairo_surface_create_in_error
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_xlib_xcb_surface_create (void *dpy,\t\
      \t\t\tvoid *scr,\t\t\t\tvoid *visual,\t\t\t\tvoid *format,\t\t\t\tcairo_surface_t\
      \ *xcb) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:596,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 601
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 601
    functionName: cairo_xlib_surface_get_xrender_format
    functionSourceFile: /src/cairo/src/cairo-xlib-xcb-surface.c
    functionUses: []
    functionsReached:
    - _cairo_error_throw
    linkageType: ''
    returnType: XRenderPictFormat*
    signature: 'XRenderPictFormat *cairo_xlib_surface_get_xrender_format (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_map_to_image
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:123,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: _cairo_xlib_xcb_surface_map_to_image
    functionSourceFile: /src/cairo/src/cairo-xlib-xcb-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_map_to_image
    linkageType: ''
    returnType: cairo_image_surface_t*
    signature: "static cairo_image_surface_t *_cairo_xlib_xcb_surface_map_to_image\
      \ (void *abstract_surface,\t\t\t\t const cairo_rectangle_int_t *extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_get_source
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:139,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: _cairo_xlib_xcb_surface_source
    functionSourceFile: /src/cairo/src/cairo-xlib-xcb-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_get_source
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_xlib_xcb_surface_source (void *abstract_surface,\t\
      \t\t\tcairo_rectangle_int_t *extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_mask
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:195,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 5
    argNames:
    - abstract_surface
    - op
    - source
    - mask
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 196
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 196
    functionName: _cairo_xlib_xcb_surface_mask
    functionSourceFile: /src/cairo/src/cairo-xlib-xcb-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_mask
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_xlib_xcb_surface_mask (void\t\t\t\
      *abstract_surface,\t\t\t cairo_operator_t\t\t op,\t\t\t const cairo_pattern_t\t\
      *source,\t\t\t const cairo_pattern_t\t*mask,\t\t\t const cairo_clip_t\t*clip) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ScreenCount
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:469,1
    - Dst: ScreenOfDisplay
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:472,1
    - Dst: DefaultVisualOfScreen
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:473,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 487
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 487
    functionName: _cairo_xlib_screen_from_visual
    functionSourceFile: /src/cairo/src/cairo-xlib-xcb-surface.c
    functionUses: []
    functionsReached:
    - DefaultVisualOfScreen
    - ScreenCount
    - ScreenOfDisplay
    linkageType: ''
    returnType: Screen*
    signature: 'static Screen *_cairo_xlib_screen_from_visual (Display *dpy, Visual
      *visual) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:642,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:645,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:646,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:644,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:651,1
    - Dst: cairo_xcb_surface_set_drawable
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:656,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:657,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:658,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:659,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - abstract_surface
    - drawable
    - width
    - height
    argTypes:
    - cairo_surface_t*
    - Drawable
    - int
    - int
    constantsTouched: []
    func_position:
      end: 661
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 661
    functionName: cairo_xlib_surface_set_drawable
    functionSourceFile: /src/cairo/src/cairo-xlib-xcb-surface.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - cairo_xcb_surface_set_drawable
    - _cairo_surface_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void cairo_xlib_surface_set_drawable (cairo_surface_t *abstract_surface,\t\
      \t\t\t Drawable\t drawable,\t\t\t\t int\t\t width,\t\t\t\t int\t\t height) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:718,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 723
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 723
    functionName: cairo_xlib_surface_get_visual
    functionSourceFile: /src/cairo/src/cairo-xlib-xcb-surface.c
    functionUses: []
    functionsReached:
    - _cairo_error_throw
    linkageType: ''
    returnType: Visual*
    signature: 'Visual *cairo_xlib_surface_get_visual (cairo_surface_t *abstract_surface) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:753,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:764,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:754,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:758,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 769
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 769
    functionName: cairo_xlib_surface_get_width
    functionSourceFile: /src/cairo/src/cairo-xlib-xcb-surface.c
    functionUses: []
    functionsReached:
    - _cairo_error_throw
    - unlikely
    linkageType: ''
    returnType: int
    signature: 'int cairo_xlib_surface_get_width (cairo_surface_t *abstract_surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_unmap_image
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:131,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - abstract_surface
    - image
    argTypes:
    - void*
    - cairo_image_surface_t*
    constantsTouched: []
    func_position:
      end: 132
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 132
    functionName: _cairo_xlib_xcb_surface_unmap
    functionSourceFile: /src/cairo/src/cairo-xlib-xcb-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_unmap_image
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_xlib_xcb_surface_unmap (void *abstract_surface,\t\
      \t\t cairo_image_surface_t *image) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_acquire_source_image
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:148,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 3
    argNames:
    - abstract_surface
    - image_out
    - image_extra
    argTypes:
    - void*
    - cairo_image_surface_t**
    - void**
    constantsTouched: []
    func_position:
      end: 150
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 150
    functionName: _cairo_xlib_xcb_surface_acquire_source_image
    functionSourceFile: /src/cairo/src/cairo-xlib-xcb-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_acquire_source_image
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_xlib_xcb_surface_acquire_source_image\
      \ (void *abstract_surface,\t\t\t\t\t cairo_image_surface_t **image_out,\t\t\t\
      \t\t void **image_extra) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_stroke
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:211,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 10
    argNames:
    - abstract_surface
    - op
    - source
    - path
    - style
    - ctm
    - ctm_inverse
    - tolerance
    - antialias
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 214
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 214
    functionName: _cairo_xlib_xcb_surface_stroke
    functionSourceFile: /src/cairo/src/cairo-xlib-xcb-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_stroke
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_xlib_xcb_surface_stroke (void\t\t\
      \t\t*abstract_surface,\t\t\t\tcairo_operator_t\t\t op,\t\t\t\tconst cairo_pattern_t\t\
      \t*source,\t\t\t\tconst cairo_path_fixed_t\t*path,\t\t\t\tconst cairo_stroke_style_t\t\
      *style,\t\t\t\tconst cairo_matrix_t\t\t*ctm,\t\t\t\tconst cairo_matrix_t\t\t\
      *ctm_inverse,\t\t\t\tdouble\t\t\t\t tolerance,\t\t\t\tcairo_antialias_t\t\t\
      \ antialias,\t\t\t\tconst cairo_clip_t\t\t*clip) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xlib_screen_from_visual
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:499,1
    - Dst: _cairo_xlib_xcb_surface_create
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:515,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:501,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:501,1
    - Dst: cairo_xcb_surface_create
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:516,1
    - Dst: XGetXCBConnection
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:516,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 520
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 520
    functionName: cairo_xlib_surface_create
    functionSourceFile: /src/cairo/src/cairo-xlib-xcb-surface.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_screen_from_visual
    - cairo_xcb_surface_create
    - XGetXCBConnection
    - _cairo_error
    - _cairo_surface_create_in_error
    - _cairo_xlib_xcb_surface_create
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *cairo_xlib_surface_create (Display *dpy,\t\t\t Drawable\t\
      drawable,\t\t\t Visual *visual,\t\t\t int\t\twidth,\t\t\t int\t\theight) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:669,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 674
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 674
    functionName: cairo_xlib_surface_get_display
    functionSourceFile: /src/cairo/src/cairo-xlib-xcb-surface.c
    functionUses: []
    functionsReached:
    - _cairo_error_throw
    linkageType: ''
    returnType: Display*
    signature: 'Display *cairo_xlib_surface_get_display (cairo_surface_t *abstract_surface) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:730,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:741,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:735,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:731,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 746
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 746
    functionName: cairo_xlib_surface_get_depth
    functionSourceFile: /src/cairo/src/cairo-xlib-xcb-surface.c
    functionUses: []
    functionsReached:
    - _cairo_error_throw
    - unlikely
    linkageType: ''
    returnType: int
    signature: 'int cairo_xlib_surface_get_depth (cairo_surface_t *abstract_surface) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:776,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:781,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:777,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:787,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 792
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 792
    functionName: cairo_xlib_surface_get_height
    functionSourceFile: /src/cairo/src/cairo-xlib-xcb-surface.c
    functionUses: []
    functionsReached:
    - _cairo_error_throw
    - unlikely
    linkageType: ''
    returnType: int
    signature: 'int cairo_xlib_surface_get_height (cairo_surface_t *abstract_surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_fill
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:227,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 8
    argNames:
    - abstract_surface
    - op
    - source
    - path
    - fill_rule
    - tolerance
    - antialias
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 231
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 231
    functionName: _cairo_xlib_xcb_surface_fill
    functionSourceFile: /src/cairo/src/cairo-xlib-xcb-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_fill
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_xlib_xcb_surface_fill (void\t\t\t\
      *abstract_surface,\t\t\t cairo_operator_t\t\t op,\t\t\t const cairo_pattern_t\t\
      *source,\t\t\t const cairo_path_fixed_t\t*path,\t\t\t cairo_fill_rule_t\t\t\
      \ fill_rule,\t\t\t double\t\t\t tolerance,\t\t\t cairo_antialias_t\t\t antialias,\t\
      \t\t const cairo_clip_t\t*clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_flush
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - abstract_surface
    - flags
    argTypes:
    - void*
    - unsigned
    constantsTouched: []
    func_position:
      end: 256
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 256
    functionName: _cairo_xlib_xcb_surface_flush
    functionSourceFile: /src/cairo/src/cairo-xlib-xcb-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_flush
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_xlib_xcb_surface_flush (void *abstract_surface,
      unsigned flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xcb_setup_roots_iterator
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:528,1
    - Dst: xcb_screen_next
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:529,1
    - Dst: xcb_get_setup
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:528,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 535
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 535
    functionName: _cairo_xcb_screen_from_root
    functionSourceFile: /src/cairo/src/cairo-xlib-xcb-surface.c
    functionUses: []
    functionsReached:
    - xcb_get_setup
    - xcb_screen_next
    - xcb_setup_roots_iterator
    linkageType: ''
    returnType: xcb_screen_t*
    signature: "static xcb_screen_t *_cairo_xcb_screen_from_root (xcb_connection_t\
      \ *connection,\t\t\t xcb_window_t id) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_xcb_device_debug_cap_xrender_version
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:806,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - device
    - major
    - minor
    argTypes:
    - cairo_device_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 808
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 808
    functionName: cairo_xlib_device_debug_cap_xrender_version
    functionSourceFile: /src/cairo/src/cairo-xlib-xcb-surface.c
    functionUses: []
    functionsReached:
    - cairo_xcb_device_debug_cap_xrender_version
    linkageType: ''
    returnType: void
    signature: "void cairo_xlib_device_debug_cap_xrender_version (cairo_device_t *device,\t\
      \t\t\t\t int major, int minor) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:88,1
    - Dst: _cairo_xlib_xcb_surface_create
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:91,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 92
    functionName: _cairo_xlib_xcb_surface_create_similar
    functionSourceFile: /src/cairo/src/cairo-xlib-xcb-surface.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_xcb_surface_create
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_xlib_xcb_surface_create_similar (void\t\
      \t\t*abstract_other,\t\t\t\t\tcairo_content_t\t\t content,\t\t\t\t\tint\t\t\t\
      \ width,\t\t\t\t\tint\t\t\t height) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_show_text_glyphs
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:243,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 7
    argNames:
    - abstract_surface
    - op
    - source
    - glyphs
    - num_glyphs
    - scaled_font
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_glyph_t*
    - int
    - cairo_scaled_font_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 248
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 248
    functionName: _cairo_xlib_xcb_surface_glyphs
    functionSourceFile: /src/cairo/src/cairo-xlib-xcb-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_show_text_glyphs
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_xlib_xcb_surface_glyphs (void\t\t\
      \t*abstract_surface,\t\t\t\tcairo_operator_t\t op,\t\t\t\tconst cairo_pattern_t\t\
      *source,\t\t\t\tcairo_glyph_t\t\t*glyphs,\t\t\t\tint\t\t\t num_glyphs,\t\t\t\
      \tcairo_scaled_font_t\t*scaled_font,\t\t\t\tconst cairo_clip_t\t*clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_mark_dirty_rectangle
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:264,1
    - Dst: cairo_surface_status
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 5
    argNames:
    - abstract_surface
    - x
    - y
    - width
    - height
    argTypes:
    - void*
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 266
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 266
    functionName: _cairo_xlib_xcb_surface_mark_dirty
    functionSourceFile: /src/cairo/src/cairo-xlib-xcb-surface.c
    functionUses: []
    functionsReached:
    - cairo_surface_status
    - cairo_surface_mark_dirty_rectangle
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_xlib_xcb_surface_mark_dirty (void *abstract_surface,\t\
      \t\t\t int x, int y,\t\t\t\t int width, int height) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XGetXCBConnection
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:544,1
    - Dst: cairo_xcb_surface_create_for_bitmap
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:547,1
    - Dst: _cairo_xlib_xcb_surface_create
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:546,1
    - Dst: _cairo_xcb_screen_from_root
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:545,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 551
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 551
    functionName: cairo_xlib_surface_create_for_bitmap
    functionSourceFile: /src/cairo/src/cairo-xlib-xcb-surface.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_xcb_surface_create
    - cairo_xcb_surface_create_for_bitmap
    - XGetXCBConnection
    - _cairo_xcb_screen_from_root
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *cairo_xlib_surface_create_for_bitmap (Display *dpy,\t\
      \t\t\t Pixmap\tbitmap,\t\t\t\t Screen *scr,\t\t\t\t int\twidth,\t\t\t\t int\t\
      height) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:612,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:614,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:621,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:615,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:616,1
    - Dst: cairo_xcb_surface_set_size
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:626,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:627,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:628,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:629,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - abstract_surface
    - width
    - height
    argTypes:
    - cairo_surface_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 631
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 631
    functionName: cairo_xlib_surface_set_size
    functionSourceFile: /src/cairo/src/cairo-xlib-xcb-surface.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - cairo_xcb_surface_set_size
    - _cairo_surface_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void cairo_xlib_surface_set_size (cairo_surface_t *abstract_surface,\t\
      \t\t int width,\t\t\t int height) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_device_set_error
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:821,1
    - Dst: cairo_xcb_device_debug_set_precision
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:826,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - device
    - precision
    argTypes:
    - cairo_device_t*
    - int
    constantsTouched: []
    func_position:
      end: 827
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 827
    functionName: cairo_xlib_device_debug_set_precision
    functionSourceFile: /src/cairo/src/cairo-xlib-xcb-surface.c
    functionUses: []
    functionsReached:
    - cairo_xcb_device_debug_set_precision
    - _cairo_device_set_error
    linkageType: ''
    returnType: void
    signature: "void cairo_xlib_device_debug_set_precision (cairo_device_t *device,\t\
      \t\t\t int precision) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_device_set_error
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:839,1
    - Dst: cairo_xcb_device_debug_get_precision
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:844,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - device
    argTypes:
    - cairo_device_t*
    constantsTouched: []
    func_position:
      end: 845
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 845
    functionName: cairo_xlib_device_debug_get_precision
    functionSourceFile: /src/cairo/src/cairo-xlib-xcb-surface.c
    functionUses: []
    functionsReached:
    - cairo_xcb_device_debug_get_precision
    - _cairo_device_set_error
    linkageType: ''
    returnType: int
    signature: 'int cairo_xlib_device_debug_get_precision (cairo_device_t *device) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_get_font_options
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - abstract_surface
    - options
    argTypes:
    - void*
    - cairo_font_options_t*
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 175
    functionName: _cairo_xlib_xcb_surface_get_font_options
    functionSourceFile: /src/cairo/src/cairo-xlib-xcb-surface.c
    functionUses: []
    functionsReached:
    - cairo_surface_get_font_options
    linkageType: ''
    returnType: void
    signature: "static void _cairo_xlib_xcb_surface_get_font_options (void *abstract_surface,\t\
      \t\t\t\t cairo_font_options_t *options) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:323,1
    - Dst: cairo_list_foreach_entry
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:324,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:334,1
    - Dst: cairo_device_reference
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:333,1
    - Dst: cairo_device_finish
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:337,1
    - Dst: cairo_device_finish
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:338,1
    - Dst: cairo_device_destroy
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:340,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:344,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - dpy
    - codes
    argTypes:
    - Display*
    - XExtCodes*
    constantsTouched: []
    func_position:
      end: 347
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 347
    functionName: _cairo_xlib_xcb_close_display
    functionSourceFile: /src/cairo/src/cairo-xlib-xcb-surface.c
    functionUses: []
    functionsReached:
    - cairo_list_foreach_entry
    - CAIRO_MUTEX_LOCK
    - cairo_device_destroy
    - cairo_device_reference
    - CAIRO_MUTEX_UNLOCK
    - cairo_device_finish
    linkageType: ''
    returnType: int
    signature: 'static int _cairo_xlib_xcb_close_display(Display *dpy, XExtCodes *codes) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:681,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:692,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:682,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:686,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 697
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 697
    functionName: cairo_xlib_surface_get_drawable
    functionSourceFile: /src/cairo/src/cairo-xlib-xcb-surface.c
    functionUses: []
    functionsReached:
    - _cairo_error_throw
    - unlikely
    linkageType: ''
    returnType: Drawable
    signature: 'Drawable cairo_xlib_surface_get_drawable (cairo_surface_t *abstract_surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_paint
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:184,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - abstract_surface
    - op
    - source
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 185
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 185
    functionName: _cairo_xlib_xcb_surface_paint
    functionSourceFile: /src/cairo/src/cairo-xlib-xcb-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_paint
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_xlib_xcb_surface_paint (void\t\t\t\
      *abstract_surface,\t\t\t cairo_operator_t\t\t op,\t\t\t const cairo_pattern_t\t\
      *source,\t\t\t const cairo_clip_t\t*clip) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-xlib-xcb-surface.c:705,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 710
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 710
    functionName: cairo_xlib_surface_get_screen
    functionSourceFile: /src/cairo/src/cairo-xlib-xcb-surface.c
    functionUses: []
    functionsReached:
    - _cairo_error_throw
    linkageType: ''
    returnType: Screen*
    signature: 'Screen *cairo_xlib_surface_get_screen (cairo_surface_t *abstract_surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_intersect_clip
      Src: /src/cairo/src/cairo-clip-inline.h:64,1
    - Dst: _cairo_clip_copy
      Src: /src/cairo/src/cairo-clip-inline.h:64,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: _cairo_clip_copy_intersect_clip
    functionSourceFile: /src/cairo/src/cairo-clip-inline.h
    functionUses: []
    functionsReached:
    - _cairo_clip_copy
    - _cairo_clip_intersect_clip
    linkageType: ''
    returnType: cairo_clip_t*
    signature: "static inline cairo_clip_t *_cairo_clip_copy_intersect_clip (const\
      \ cairo_clip_t *clip,\t\t\t\t const cairo_clip_t *other) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-clip-inline.h:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: _cairo_clip_set_all_clipped
    functionSourceFile: /src/cairo/src/cairo-clip-inline.h
    functionUses: []
    functionsReached:
    - _cairo_clip_destroy
    linkageType: ''
    returnType: cairo_clip_t*
    signature: 'static inline cairo_clip_t *_cairo_clip_set_all_clipped (cairo_clip_t
      *clip) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - clip
    argTypes:
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: _cairo_clip_is_all_clipped
    functionSourceFile: /src/cairo/src/cairo-clip-inline.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static inline cairo_bool_t _cairo_clip_is_all_clipped(const cairo_clip_t
      *clip) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-clip-inline.h:73,1
    - Dst: _cairo_boxes_init_for_array
      Src: /src/cairo/src/cairo-clip-inline.h:77,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - clip
    - boxes
    argTypes:
    - cairo_clip_t*
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 80
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 80
    functionName: _cairo_clip_steal_boxes
    functionSourceFile: /src/cairo/src/cairo-clip-inline.h
    functionUses: []
    functionsReached:
    - _cairo_boxes_init_for_array
    - assert
    linkageType: ''
    returnType: void
    signature: 'static inline void _cairo_clip_steal_boxes (cairo_clip_t *clip, cairo_boxes_t
      *boxes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_intersect_rectangle
      Src: /src/cairo/src/cairo-clip-inline.h:57,1
    - Dst: _cairo_clip_copy
      Src: /src/cairo/src/cairo-clip-inline.h:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: _cairo_clip_copy_intersect_rectangle
    functionSourceFile: /src/cairo/src/cairo-clip-inline.h
    functionUses: []
    functionsReached:
    - _cairo_clip_copy
    - _cairo_clip_intersect_rectangle
    linkageType: ''
    returnType: cairo_clip_t*
    signature: "static inline cairo_clip_t *_cairo_clip_copy_intersect_rectangle (const\
      \ cairo_clip_t *clip,\t\t\t\t const cairo_rectangle_int_t *r) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-clip-inline.h:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - clip
    - boxes
    argTypes:
    - cairo_clip_t*
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 93
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 93
    functionName: _cairo_clip_unsteal_boxes
    functionSourceFile: /src/cairo/src/cairo-clip-inline.h
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: 'static inline void _cairo_clip_unsteal_boxes (cairo_clip_t *clip,
      cairo_boxes_t *boxes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - p
    - q
    argTypes:
    - cairo_point_double_t
    - cairo_point_double_t
    constantsTouched: []
    func_position:
      end: 144
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 144
    functionName: sum
    functionSourceFile: /src/cairo/src/cairo-colr-glyph-render.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_point_double_t
    signature: 'static inline cairo_point_double_t sum (cairo_point_double_t p, cairo_point_double_t
      q) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - p
    - f
    argTypes:
    - cairo_point_double_t
    - double
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: scale
    functionSourceFile: /src/cairo/src/cairo-colr-glyph-render.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_point_double_t
    signature: 'static inline cairo_point_double_t scale (cairo_point_double_t p,
      double f) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - extend
    argTypes:
    - FT_PaintExtend
    constantsTouched: []
    func_position:
      end: 208
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 208
    functionName: cairo_extend_from_ft_paint_extend
    functionSourceFile: /src/cairo/src/cairo-colr-glyph-render.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_extend_t
    signature: 'static cairo_extend_t cairo_extend_from_ft_paint_extend (FT_PaintExtend
      extend) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cairo/src/cairo-colr-glyph-render.c:832,1
    - Dst: double_from_16_16
      Src: /src/cairo/src/cairo-colr-glyph-render.c:839,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-colr-glyph-render.c:836,1
    - Dst: double_from_16_16
      Src: /src/cairo/src/cairo-colr-glyph-render.c:840,1
    - Dst: read_colorline
      Src: /src/cairo/src/cairo-colr-glyph-render.c:835,1
    - Dst: double_from_16_16
      Src: /src/cairo/src/cairo-colr-glyph-render.c:841,1
    - Dst: double_from_16_16
      Src: /src/cairo/src/cairo-colr-glyph-render.c:842,1
    - Dst: cairo_pattern_create_mesh
      Src: /src/cairo/src/cairo-colr-glyph-render.c:844,1
    - Dst: cairo_clip_extents
      Src: /src/cairo/src/cairo-colr-glyph-render.c:846,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-colr-glyph-render.c:847,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-colr-glyph-render.c:848,1
    - Dst: sqrt
      Src: /src/cairo/src/cairo-colr-glyph-render.c:849,1
    - Dst: cairo_extend_from_ft_paint_extend
      Src: /src/cairo/src/cairo-colr-glyph-render.c:851,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/src/cairo-colr-glyph-render.c:858,1
    - Dst: cairo_set_source
      Src: /src/cairo/src/cairo-colr-glyph-render.c:855,1
    - Dst: free_colorline
      Src: /src/cairo/src/cairo-colr-glyph-render.c:860,1
    - Dst: add_sweep_gradient_patches
      Src: /src/cairo/src/cairo-colr-glyph-render.c:853,1
    - Dst: cairo_paint
      Src: /src/cairo/src/cairo-colr-glyph-render.c:856,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 48
    argCount: 3
    argNames:
    - render
    - gradient
    - cr
    argTypes:
    - cairo_colr_glyph_render_t*
    - FT_PaintSweepGradient*
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 863
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 863
    functionName: draw_paint_sweep_gradient
    functionSourceFile: /src/cairo/src/cairo-colr-glyph-render.c
    functionUses: []
    functionsReached:
    - printf
    - cairo_paint
    - cairo_extend_from_ft_paint_extend
    - read_colorline
    - free_colorline
    - double_from_16_16
    - cairo_clip_extents
    - add_sweep_gradient_patches
    - sqrt
    - MAX
    - cairo_set_source
    - cairo_pattern_create_mesh
    - cairo_pattern_destroy
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t draw_paint_sweep_gradient (cairo_colr_glyph_render_t
      *render, FT_PaintSweepGradient *gradient, cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1031,1
    - Dst: double_from_16_16
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1036,1
    - Dst: cairo_save
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1034,1
    - Dst: cairo_translate
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1036,1
    - Dst: double_from_16_16
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1036,1
    - Dst: cairo_matrix_init
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1037,1
    - Dst: tan
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1037,1
    - Dst: double_from_16_16
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1037,1
    - Dst: tan
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1037,1
    - Dst: double_from_16_16
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1037,1
    - Dst: cairo_translate
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1039,1
    - Dst: double_from_16_16
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1039,1
    - Dst: draw_paint
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1040,1
    - Dst: double_from_16_16
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1039,1
    - Dst: cairo_restore
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1042,1
    - Dst: cairo_transform
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1038,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - render
    - skew
    - cr
    argTypes:
    - cairo_colr_glyph_render_t*
    - FT_PaintSkew*
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 1045
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1045
    functionName: draw_paint_skew
    functionSourceFile: /src/cairo/src/cairo-colr-glyph-render.c
    functionUses: []
    functionsReached:
    - printf
    - cairo_transform
    - double_from_16_16
    - cairo_save
    - draw_paint
    - tan
    - cairo_restore
    - cairo_translate
    - cairo_matrix_init
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t draw_paint_skew (cairo_colr_glyph_render_t *render,
      FT_PaintSkew *skew, cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1232,1
    - Dst: _cairo_pattern_create_foreground_marker
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1238,1
    - Dst: draw_colr_glyph
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1243,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1248,1
    - Dst: cairo_pattern_reference
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1239,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1249,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 7
    argNames:
    - face
    - glyph
    - palette
    - num_palette_entries
    - cr
    - foreground_source
    - foreground_source_used
    argTypes:
    - FT_Face
    - unsigned long
    - FT_Color*
    - int
    - cairo_t*
    - cairo_pattern_t*
    - cairo_bool_t*
    constantsTouched: []
    func_position:
      end: 1253
      start: 1219
    functionDepth: 0
    functionLinenumber: 1219
    functionLinenumberEnd: 1253
    functionName: _cairo_render_colr_v1_glyph
    functionSourceFile: /src/cairo/src/cairo-colr-glyph-render.c
    functionUses: []
    functionsReached:
    - printf
    - draw_colr_glyph
    - cairo_pattern_reference
    - _cairo_pattern_create_foreground_marker
    - cairo_pattern_destroy
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_render_colr_v1_glyph (FT_Face face, unsigned
      long glyph, FT_Color *palette, int num_palette_entries, cairo_t *cr, cairo_pattern_t
      *foreground_source, cairo_bool_t *foreground_source_used) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - p
    - q
    argTypes:
    - cairo_point_double_t
    - cairo_point_double_t
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: difference
    functionSourceFile: /src/cairo/src/cairo-colr-glyph-render.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_point_double_t
    signature: 'static inline cairo_point_double_t difference (cairo_point_double_t
      p, cairo_point_double_t q) '
  - BBCount: 31
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 2
    argCount: 1
    argNames:
    - mode
    argTypes:
    - FT_Composite_Mode
    constantsTouched: []
    func_position:
      end: 195
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 195
    functionName: cairo_operator_from_ft_composite_mode
    functionSourceFile: /src/cairo/src/cairo-colr-glyph-render.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_operator_t
    signature: 'static cairo_operator_t cairo_operator_from_ft_composite_mode (FT_Composite_Mode
      mode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cairo/src/cairo-colr-glyph-render.c:219,1
    - Dst: draw_paint
      Src: /src/cairo/src/cairo-colr-glyph-render.c:224,1
    - Dst: cairo_push_group
      Src: /src/cairo/src/cairo-colr-glyph-render.c:223,1
    - Dst: cairo_pop_group_to_source
      Src: /src/cairo/src/cairo-colr-glyph-render.c:225,1
    - Dst: FT_Get_Paint_Layers
      Src: /src/cairo/src/cairo-colr-glyph-render.c:222,1
    - Dst: cairo_set_operator
      Src: /src/cairo/src/cairo-colr-glyph-render.c:226,1
    - Dst: cairo_paint
      Src: /src/cairo/src/cairo-colr-glyph-render.c:227,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-colr-glyph-render.c:229,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - render
    - colr_layers
    - cr
    argTypes:
    - cairo_colr_glyph_render_t*
    - FT_PaintColrLayers*
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 234
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 234
    functionName: draw_paint_colr_layers
    functionSourceFile: /src/cairo/src/cairo-colr-glyph-render.c
    functionUses: []
    functionsReached:
    - printf
    - cairo_paint
    - cairo_pop_group_to_source
    - draw_paint
    - FT_Get_Paint_Layers
    - cairo_set_operator
    - cairo_push_group
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t draw_paint_colr_layers (cairo_colr_glyph_render_t
      *render, FT_PaintColrLayers *colr_layers, cairo_t *cr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cairo/src/cairo-colr-glyph-render.c:876,1
    - Dst: _cairo_ft_face_decompose_glyph_outline
      Src: /src/cairo/src/cairo-colr-glyph-render.c:884,1
    - Dst: _cairo_ft_to_cairo_error
      Src: /src/cairo/src/cairo-colr-glyph-render.c:880,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-colr-glyph-render.c:881,1
    - Dst: FT_Load_Glyph
      Src: /src/cairo/src/cairo-colr-glyph-render.c:879,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-colr-glyph-render.c:885,1
    - Dst: cairo_save
      Src: /src/cairo/src/cairo-colr-glyph-render.c:888,1
    - Dst: cairo_identity_matrix
      Src: /src/cairo/src/cairo-colr-glyph-render.c:889,1
    - Dst: _cairo_path_create
      Src: /src/cairo/src/cairo-colr-glyph-render.c:890,1
    - Dst: _cairo_path_fixed_destroy
      Src: /src/cairo/src/cairo-colr-glyph-render.c:891,1
    - Dst: cairo_restore
      Src: /src/cairo/src/cairo-colr-glyph-render.c:892,1
    - Dst: cairo_path_destroy
      Src: /src/cairo/src/cairo-colr-glyph-render.c:898,1
    - Dst: draw_paint
      Src: /src/cairo/src/cairo-colr-glyph-render.c:901,1
    - Dst: cairo_append_path
      Src: /src/cairo/src/cairo-colr-glyph-render.c:897,1
    - Dst: cairo_clip
      Src: /src/cairo/src/cairo-colr-glyph-render.c:899,1
    - Dst: cairo_new_path
      Src: /src/cairo/src/cairo-colr-glyph-render.c:896,1
    - Dst: cairo_save
      Src: /src/cairo/src/cairo-colr-glyph-render.c:894,1
    - Dst: cairo_restore
      Src: /src/cairo/src/cairo-colr-glyph-render.c:903,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - render
    - glyph
    - cr
    argTypes:
    - cairo_colr_glyph_render_t*
    - FT_PaintGlyph*
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 906
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 906
    functionName: draw_paint_glyph
    functionSourceFile: /src/cairo/src/cairo-colr-glyph-render.c
    functionUses: []
    functionsReached:
    - printf
    - cairo_identity_matrix
    - cairo_new_path
    - _cairo_ft_to_cairo_error
    - _cairo_path_fixed_destroy
    - cairo_path_destroy
    - cairo_save
    - cairo_append_path
    - draw_paint
    - _cairo_ft_face_decompose_glyph_outline
    - cairo_restore
    - cairo_clip
    - FT_Load_Glyph
    - _cairo_path_create
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t draw_paint_glyph (cairo_colr_glyph_render_t
      *render, FT_PaintGlyph *glyph, cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cairo/src/cairo-colr-glyph-render.c:919,1
    - Dst: draw_colr_glyph
      Src: /src/cairo/src/cairo-colr-glyph-render.c:922,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - render
    - colr_glyph
    - cr
    argTypes:
    - cairo_colr_glyph_render_t*
    - FT_PaintColrGlyph*
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 923
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 923
    functionName: draw_paint_colr_glyph
    functionSourceFile: /src/cairo/src/cairo-colr-glyph-render.c
    functionUses: []
    functionsReached:
    - printf
    - draw_colr_glyph
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t draw_paint_colr_glyph (cairo_colr_glyph_render_t
      *render, FT_PaintColrGlyph *colr_glyph, cairo_t *cr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1056,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1063,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1062,1
    - Dst: draw_paint
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1061,1
    - Dst: cairo_save
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1059,1
    - Dst: cairo_pop_group
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1063,1
    - Dst: cairo_push_group
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1067,1
    - Dst: draw_paint
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1068,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1069,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1070,1
    - Dst: cairo_pop_group
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1070,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1071,1
    - Dst: cairo_set_operator
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1076,1
    - Dst: cairo_pop_group
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1071,1
    - Dst: cairo_pop_group_to_source
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1075,1
    - Dst: cairo_paint
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1077,1
    - Dst: cairo_operator_from_ft_composite_mode
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1076,1
    - Dst: cairo_restore
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1080,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - render
    - composite
    - cr
    argTypes:
    - cairo_colr_glyph_render_t*
    - FT_PaintComposite*
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 1083
      start: 1047
    functionDepth: 0
    functionLinenumber: 1047
    functionLinenumberEnd: 1083
    functionName: draw_paint_composite
    functionSourceFile: /src/cairo/src/cairo-colr-glyph-render.c
    functionUses: []
    functionsReached:
    - printf
    - cairo_paint
    - cairo_pop_group
    - cairo_pop_group_to_source
    - cairo_save
    - draw_paint
    - cairo_operator_from_ft_composite_mode
    - cairo_restore
    - cairo_set_operator
    - cairo_push_group
    - cairo_pattern_destroy
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t draw_paint_composite (cairo_colr_glyph_render_t
      *render, FT_PaintComposite *composite, cairo_t *cr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: double_from_2_14
      Src: /src/cairo/src/cairo-colr-glyph-render.c:259,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 5
    argNames:
    - render
    - ci
    - color
    - colr_alpha
    - is_foreground_color
    argTypes:
    - cairo_colr_glyph_render_t*
    - FT_ColorIndex*
    - cairo_color_t*
    - double*
    - cairo_bool_t*
    constantsTouched: []
    func_position:
      end: 261
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 261
    functionName: get_palette_color
    functionSourceFile: /src/cairo/src/cairo-colr-glyph-render.c
    functionUses: []
    functionsReached:
    - double_from_2_14
    linkageType: ''
    returnType: void
    signature: "static void get_palette_color (cairo_colr_glyph_render_t *render,\t\
      \t FT_ColorIndex *ci,\t\t cairo_color_t *color,\t\t double *colr_alpha,\t\t\
      \ cairo_bool_t *is_foreground_color) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/cairo/src/cairo-colr-glyph-render.c:423,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-colr-glyph-render.c:424,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - cl
    - out_min
    - out_max
    argTypes:
    - cairo_colr_color_line_t*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 435
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 435
    functionName: normalize_colorline
    functionSourceFile: /src/cairo/src/cairo-colr-glyph-render.c
    functionUses: []
    functionsReached:
    - MIN
    - MAX
    linkageType: ''
    returnType: void
    signature: 'static void normalize_colorline (cairo_colr_color_line_t *cl, double
      *out_min, double *out_max) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cairo/src/cairo-colr-glyph-render.c:934,1
    - Dst: double_from_16_16
      Src: /src/cairo/src/cairo-colr-glyph-render.c:939,1
    - Dst: double_from_16_16
      Src: /src/cairo/src/cairo-colr-glyph-render.c:940,1
    - Dst: double_from_16_16
      Src: /src/cairo/src/cairo-colr-glyph-render.c:938,1
    - Dst: cairo_matrix_init
      Src: /src/cairo/src/cairo-colr-glyph-render.c:937,1
    - Dst: double_from_16_16
      Src: /src/cairo/src/cairo-colr-glyph-render.c:941,1
    - Dst: double_from_16_16
      Src: /src/cairo/src/cairo-colr-glyph-render.c:942,1
    - Dst: double_from_16_16
      Src: /src/cairo/src/cairo-colr-glyph-render.c:943,1
    - Dst: cairo_save
      Src: /src/cairo/src/cairo-colr-glyph-render.c:945,1
    - Dst: cairo_transform
      Src: /src/cairo/src/cairo-colr-glyph-render.c:947,1
    - Dst: draw_paint
      Src: /src/cairo/src/cairo-colr-glyph-render.c:948,1
    - Dst: cairo_restore
      Src: /src/cairo/src/cairo-colr-glyph-render.c:950,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - render
    - transform
    - cr
    argTypes:
    - cairo_colr_glyph_render_t*
    - FT_PaintTransform*
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 953
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 953
    functionName: draw_paint_transform
    functionSourceFile: /src/cairo/src/cairo-colr-glyph-render.c
    functionUses: []
    functionsReached:
    - printf
    - cairo_transform
    - double_from_16_16
    - cairo_save
    - draw_paint
    - cairo_restore
    - cairo_matrix_init
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t draw_paint_transform (cairo_colr_glyph_render_t
      *render, FT_PaintTransform *transform, cairo_t *cr) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1097,1
    - Dst: draw_paint_colr_layers
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1128,1
    - Dst: FT_Set_Transform
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1175,1
    - Dst: cairo_status
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1097,1
    - Dst: FT_Activate_Size
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1113,1
    - Dst: FT_Set_Char_Size
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1114,1
    - Dst: draw_paint_rotate
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1155,1
    - Dst: draw_paint_scale
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1158,1
    - Dst: draw_paint_transform
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1149,1
    - Dst: draw_paint_translate
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1152,1
    - Dst: draw_paint_skew
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1161,1
    - Dst: draw_paint_composite
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1164,1
    - Dst: FT_Get_Paint
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1099,1
    - Dst: FT_Get_Transform
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1120,1
    - Dst: FT_Done_Size
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1177,1
    - Dst: FT_New_Size
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1112,1
    - Dst: FT_Set_Transform
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1121,1
    - Dst: draw_paint_solid
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1131,1
    - Dst: draw_paint_linear_gradient
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1134,1
    - Dst: draw_paint_radial_gradient
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1137,1
    - Dst: draw_paint_colr_glyph
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1146,1
    - Dst: draw_paint_glyph
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1143,1
    - Dst: draw_paint_sweep_gradient
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1140,1
    - Dst: FT_Activate_Size
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1176,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 54
    argCount: 3
    argNames:
    - render
    - paint
    - cr
    argTypes:
    - cairo_colr_glyph_render_t*
    - FT_OpaquePaint*
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 1181
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1181
    functionName: draw_paint
    functionSourceFile: /src/cairo/src/cairo-colr-glyph-render.c
    functionUses: []
    functionsReached:
    - FT_Done_Size
    - draw_paint_solid
    - FT_Set_Transform
    - draw_paint_sweep_gradient
    - draw_paint_radial_gradient
    - FT_Set_Char_Size
    - FT_Get_Paint
    - draw_paint_scale
    - draw_paint_skew
    - draw_paint_composite
    - FT_Get_Transform
    - draw_paint_colr_layers
    - draw_paint_linear_gradient
    - cairo_status
    - draw_paint_glyph
    - FT_Activate_Size
    - draw_paint_rotate
    - assert
    - draw_paint_transform
    - draw_paint_colr_glyph
    - FT_New_Size
    - draw_paint_translate
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t draw_paint (cairo_colr_glyph_render_t *render,
      FT_OpaquePaint *paint, cairo_t *cr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cairo/src/cairo-colr-glyph-render.c:273,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/src/cairo-colr-glyph-render.c:281,1
    - Dst: cairo_paint_with_alpha
      Src: /src/cairo/src/cairo-colr-glyph-render.c:279,1
    - Dst: get_palette_color
      Src: /src/cairo/src/cairo-colr-glyph-render.c:276,1
    - Dst: cairo_set_source
      Src: /src/cairo/src/cairo-colr-glyph-render.c:278,1
    - Dst: cairo_paint
      Src: /src/cairo/src/cairo-colr-glyph-render.c:282,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - render
    - solid
    - cr
    argTypes:
    - cairo_colr_glyph_render_t*
    - FT_PaintSolid*
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 286
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 286
    functionName: draw_paint_solid
    functionSourceFile: /src/cairo/src/cairo-colr-glyph-render.c
    functionUses: []
    functionsReached:
    - printf
    - cairo_paint
    - cairo_paint_with_alpha
    - cairo_set_source_rgba
    - get_palette_color
    - cairo_set_source
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t draw_paint_solid (cairo_colr_glyph_render_t
      *render, FT_PaintSolid *solid, cairo_t *cr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cairo/src/cairo-colr-glyph-render.c:450,1
    - Dst: read_colorline
      Src: /src/cairo/src/cairo-colr-glyph-render.c:453,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-colr-glyph-render.c:454,1
    - Dst: normalize_colorline
      Src: /src/cairo/src/cairo-colr-glyph-render.c:458,1
    - Dst: reduce_anchors
      Src: /src/cairo/src/cairo-colr-glyph-render.c:459,1
    - Dst: interpolate_points
      Src: /src/cairo/src/cairo-colr-glyph-render.c:460,1
    - Dst: interpolate_points
      Src: /src/cairo/src/cairo-colr-glyph-render.c:461,1
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/src/cairo-colr-glyph-render.c:463,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/src/cairo-colr-glyph-render.c:465,1
    - Dst: cairo_extend_from_ft_paint_extend
      Src: /src/cairo/src/cairo-colr-glyph-render.c:465,1
    - Dst: cairo_set_source
      Src: /src/cairo/src/cairo-colr-glyph-render.c:473,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/src/cairo-colr-glyph-render.c:476,1
    - Dst: free_colorline
      Src: /src/cairo/src/cairo-colr-glyph-render.c:478,1
    - Dst: cairo_paint
      Src: /src/cairo/src/cairo-colr-glyph-render.c:474,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/src/cairo-colr-glyph-render.c:469,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - render
    - gradient
    - cr
    argTypes:
    - cairo_colr_glyph_render_t*
    - FT_PaintLinearGradient*
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 481
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 481
    functionName: draw_paint_linear_gradient
    functionSourceFile: /src/cairo/src/cairo-colr-glyph-render.c
    functionUses: []
    functionsReached:
    - printf
    - cairo_paint
    - cairo_extend_from_ft_paint_extend
    - read_colorline
    - free_colorline
    - reduce_anchors
    - normalize_colorline
    - cairo_pattern_create_linear
    - cairo_pattern_set_extend
    - cairo_set_source
    - interpolate_points
    - cairo_pattern_add_color_stop_rgba
    - cairo_pattern_destroy
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t draw_paint_linear_gradient (cairo_colr_glyph_render_t
      *render, FT_PaintLinearGradient *gradient, cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cairo/src/cairo-colr-glyph-render.c:963,1
    - Dst: cairo_save
      Src: /src/cairo/src/cairo-colr-glyph-render.c:966,1
    - Dst: cairo_translate
      Src: /src/cairo/src/cairo-colr-glyph-render.c:968,1
    - Dst: double_from_16_16
      Src: /src/cairo/src/cairo-colr-glyph-render.c:968,1
    - Dst: double_from_16_16
      Src: /src/cairo/src/cairo-colr-glyph-render.c:968,1
    - Dst: draw_paint
      Src: /src/cairo/src/cairo-colr-glyph-render.c:969,1
    - Dst: cairo_restore
      Src: /src/cairo/src/cairo-colr-glyph-render.c:971,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - render
    - translate
    - cr
    argTypes:
    - cairo_colr_glyph_render_t*
    - FT_PaintTranslate*
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 974
      start: 955
    functionDepth: 0
    functionLinenumber: 955
    functionLinenumberEnd: 974
    functionName: draw_paint_translate
    functionSourceFile: /src/cairo/src/cairo-colr-glyph-render.c
    functionUses: []
    functionsReached:
    - printf
    - double_from_16_16
    - cairo_save
    - draw_paint
    - cairo_restore
    - cairo_translate
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t draw_paint_translate (cairo_colr_glyph_render_t
      *render, FT_PaintTranslate *translate, cairo_t *cr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1193,1
    - Dst: double_from_26_6
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1199,1
    - Dst: FT_Get_Color_Glyph_ClipBox
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1195,1
    - Dst: double_from_26_6
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1198,1
    - Dst: double_from_26_6
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1200,1
    - Dst: double_from_26_6
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1201,1
    - Dst: cairo_new_path
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1203,1
    - Dst: cairo_rectangle
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1204,1
    - Dst: cairo_clip
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1205,1
    - Dst: FT_Get_Color_Glyph_Paint
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1208,1
    - Dst: cairo_restore
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1211,1
    - Dst: draw_paint
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1209,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - render
    - glyph
    - root
    - cr
    argTypes:
    - cairo_colr_glyph_render_t*
    - unsigned long
    - FT_Color_Root_Transform
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 1214
      start: 1183
    functionDepth: 0
    functionLinenumber: 1183
    functionLinenumberEnd: 1214
    functionName: draw_colr_glyph
    functionSourceFile: /src/cairo/src/cairo-colr-glyph-render.c
    functionUses: []
    functionsReached:
    - cairo_new_path
    - FT_Get_Color_Glyph_ClipBox
    - cairo_save
    - double_from_26_6
    - FT_Get_Color_Glyph_Paint
    - draw_paint
    - cairo_restore
    - cairo_clip
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t draw_colr_glyph (cairo_colr_glyph_render_t *render,\t\
      \t unsigned long glyph, FT_Color_Root_Transform root, cairo_t *cr) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p
    - q
    argTypes:
    - cairo_point_double_t
    - cairo_point_double_t
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: dot
    functionSourceFile: /src/cairo/src/cairo-colr-glyph-render.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: 'static inline double dot (cairo_point_double_t p, cairo_point_double_t
      q) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-colr-glyph-render.c:329,1
    - Dst: free
      Src: /src/cairo/src/cairo-colr-glyph-render.c:336,1
    - Dst: _cairo_calloc_ab
      Src: /src/cairo/src/cairo-colr-glyph-render.c:334,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-colr-glyph-render.c:330,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-colr-glyph-render.c:335,1
    - Dst: FT_Get_Colorline_Stops
      Src: /src/cairo/src/cairo-colr-glyph-render.c:341,1
    - Dst: double_from_16_16
      Src: /src/cairo/src/cairo-colr-glyph-render.c:342,1
    - Dst: get_palette_color
      Src: /src/cairo/src/cairo-colr-glyph-render.c:343,1
    - Dst: cairo_pattern_get_rgba
      Src: /src/cairo/src/cairo-colr-glyph-render.c:346,1
    - Dst: qsort
      Src: /src/cairo/src/cairo-colr-glyph-render.c:368,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 371
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 371
    functionName: read_colorline
    functionSourceFile: /src/cairo/src/cairo-colr-glyph-render.c
    functionUses: []
    functionsReached:
    - _cairo_calloc_ab
    - cairo_pattern_get_rgba
    - qsort
    - free
    - double_from_16_16
    - get_palette_color
    - FT_Get_Colorline_Stops
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_colr_color_line_t*
    signature: 'static cairo_colr_color_line_t *read_colorline (cairo_colr_glyph_render_t
      *render, FT_ColorLine *colorline) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sinf
      Src: /src/cairo/src/cairo-colr-glyph-render.c:599,1
    - Dst: cosf
      Src: /src/cairo/src/cairo-colr-glyph-render.c:599,1
    - Dst: sum
      Src: /src/cairo/src/cairo-colr-glyph-render.c:618,1
    - Dst: scale
      Src: /src/cairo/src/cairo-colr-glyph-render.c:622,1
    - Dst: dot
      Src: /src/cairo/src/cairo-colr-glyph-render.c:622,1
    - Dst: scale
      Src: /src/cairo/src/cairo-colr-glyph-render.c:623,1
    - Dst: dot
      Src: /src/cairo/src/cairo-colr-glyph-render.c:623,1
    - Dst: scale
      Src: /src/cairo/src/cairo-colr-glyph-render.c:624,1
    - Dst: difference
      Src: /src/cairo/src/cairo-colr-glyph-render.c:624,1
    - Dst: scale
      Src: /src/cairo/src/cairo-colr-glyph-render.c:625,1
    - Dst: sum
      Src: /src/cairo/src/cairo-colr-glyph-render.c:625,1
    - Dst: add_patch
      Src: /src/cairo/src/cairo-colr-glyph-render.c:627,1
    - Dst: interpolate
      Src: /src/cairo/src/cairo-colr-glyph-render.c:610,1
    - Dst: interpolate_colors
      Src: /src/cairo/src/cairo-colr-glyph-render.c:611,1
    - Dst: normalize
      Src: /src/cairo/src/cairo-colr-glyph-render.c:620,1
    - Dst: scale
      Src: /src/cairo/src/cairo-colr-glyph-render.c:618,1
    - Dst: scale
      Src: /src/cairo/src/cairo-colr-glyph-render.c:625,1
    - Dst: difference
      Src: /src/cairo/src/cairo-colr-glyph-render.c:625,1
    - Dst: ceilf
      Src: /src/cairo/src/cairo-colr-glyph-render.c:598,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-colr-glyph-render.c:598,1
    - Dst: cosf
      Src: /src/cairo/src/cairo-colr-glyph-render.c:616,1
    - Dst: sinf
      Src: /src/cairo/src/cairo-colr-glyph-render.c:616,1
    - Dst: sum
      Src: /src/cairo/src/cairo-colr-glyph-render.c:617,1
    - Dst: dot
      Src: /src/cairo/src/cairo-colr-glyph-render.c:622,1
    - Dst: difference
      Src: /src/cairo/src/cairo-colr-glyph-render.c:622,1
    - Dst: dot
      Src: /src/cairo/src/cairo-colr-glyph-render.c:623,1
    - Dst: difference
      Src: /src/cairo/src/cairo-colr-glyph-render.c:623,1
    - Dst: sum
      Src: /src/cairo/src/cairo-colr-glyph-render.c:624,1
    - Dst: scale
      Src: /src/cairo/src/cairo-colr-glyph-render.c:617,1
    - Dst: sum
      Src: /src/cairo/src/cairo-colr-glyph-render.c:620,1
    - Dst: sum
      Src: /src/cairo/src/cairo-colr-glyph-render.c:622,1
    - Dst: sum
      Src: /src/cairo/src/cairo-colr-glyph-render.c:623,1
    - Dst: scale
      Src: /src/cairo/src/cairo-colr-glyph-render.c:624,1
    - Dst: sum
      Src: /src/cairo/src/cairo-colr-glyph-render.c:624,1
    - Dst: sum
      Src: /src/cairo/src/cairo-colr-glyph-render.c:625,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 62
    argCount: 7
    argNames:
    - center
    - radius
    - a0
    - c0
    - a1
    - c1
    - pattern
    argTypes:
    - cairo_point_double_t*
    - double
    - double
    - cairo_color_t*
    - double
    - cairo_color_t*
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 632
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 632
    functionName: add_sweep_gradient_patches1
    functionSourceFile: /src/cairo/src/cairo-colr-glyph-render.c
    functionUses: []
    functionsReached:
    - cosf
    - fabs
    - difference
    - add_patch
    - normalize
    - dot
    - sum
    - interpolate_colors
    - scale
    - sinf
    - ceilf
    - interpolate
    linkageType: ''
    returnType: void
    signature: "static void add_sweep_gradient_patches1 (cairo_point_double_t *center,\t\
      \t\t double radius, double a0,\t\t\t cairo_color_t *c0, double a1,\t\t\t cairo_color_t\
      \ *c1, cairo_pattern_t *pattern) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cairo/src/cairo-colr-glyph-render.c:984,1
    - Dst: double_from_16_16
      Src: /src/cairo/src/cairo-colr-glyph-render.c:989,1
    - Dst: double_from_16_16
      Src: /src/cairo/src/cairo-colr-glyph-render.c:989,1
    - Dst: cairo_save
      Src: /src/cairo/src/cairo-colr-glyph-render.c:987,1
    - Dst: cairo_translate
      Src: /src/cairo/src/cairo-colr-glyph-render.c:989,1
    - Dst: cairo_rotate
      Src: /src/cairo/src/cairo-colr-glyph-render.c:990,1
    - Dst: double_from_16_16
      Src: /src/cairo/src/cairo-colr-glyph-render.c:990,1
    - Dst: cairo_translate
      Src: /src/cairo/src/cairo-colr-glyph-render.c:991,1
    - Dst: double_from_16_16
      Src: /src/cairo/src/cairo-colr-glyph-render.c:991,1
    - Dst: double_from_16_16
      Src: /src/cairo/src/cairo-colr-glyph-render.c:991,1
    - Dst: cairo_restore
      Src: /src/cairo/src/cairo-colr-glyph-render.c:994,1
    - Dst: draw_paint
      Src: /src/cairo/src/cairo-colr-glyph-render.c:992,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - render
    - rotate
    - cr
    argTypes:
    - cairo_colr_glyph_render_t*
    - FT_PaintRotate*
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 997
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 997
    functionName: draw_paint_rotate
    functionSourceFile: /src/cairo/src/cairo-colr-glyph-render.c
    functionUses: []
    functionsReached:
    - printf
    - double_from_16_16
    - cairo_save
    - draw_paint
    - cairo_restore
    - cairo_rotate
    - cairo_translate
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t draw_paint_rotate (cairo_colr_glyph_render_t
      *render, FT_PaintRotate *rotate, cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/cairo/src/cairo-colr-glyph-render.c:135,1
    - Dst: dot
      Src: /src/cairo/src/cairo-colr-glyph-render.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - cairo_point_double_t
    constantsTouched: []
    func_position:
      end: 138
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 138
    functionName: normalize
    functionSourceFile: /src/cairo/src/cairo-colr-glyph-render.c
    functionUses: []
    functionsReached:
    - dot
    - sqrt
    linkageType: ''
    returnType: cairo_point_double_t
    signature: 'static inline cairo_point_double_t normalize (cairo_point_double_t
      p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: double_from_16_16
      Src: /src/cairo/src/cairo-colr-glyph-render.c:383,1
    - Dst: double_from_16_16
      Src: /src/cairo/src/cairo-colr-glyph-render.c:384,1
    - Dst: double_from_16_16
      Src: /src/cairo/src/cairo-colr-glyph-render.c:386,1
    - Dst: double_from_16_16
      Src: /src/cairo/src/cairo-colr-glyph-render.c:385,1
    - Dst: double_from_16_16
      Src: /src/cairo/src/cairo-colr-glyph-render.c:387,1
    - Dst: double_from_16_16
      Src: /src/cairo/src/cairo-colr-glyph-render.c:388,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 44
    argCount: 3
    argNames:
    - gradient
    - pp0
    - pp1
    argTypes:
    - FT_PaintLinearGradient*
    - cairo_point_double_t*
    - cairo_point_double_t*
    constantsTouched: []
    func_position:
      end: 408
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 408
    functionName: reduce_anchors
    functionSourceFile: /src/cairo/src/cairo-colr-glyph-render.c
    functionUses: []
    functionsReached:
    - double_from_16_16
    linkageType: ''
    returnType: void
    signature: 'static void reduce_anchors (FT_PaintLinearGradient *gradient, cairo_point_double_t
      *pp0, cairo_point_double_t *pp1) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: add_sweep_gradient_patches1
      Src: /src/cairo/src/cairo-colr-glyph-render.c:649,1
    - Dst: alloca
      Src: /src/cairo/src/cairo-colr-glyph-render.c:664,1
    - Dst: interpolate_colors
      Src: /src/cairo/src/cairo-colr-glyph-render.c:690,1
    - Dst: assert
      Src: /src/cairo/src/cairo-colr-glyph-render.c:662,1
    - Dst: add_sweep_gradient_patches1
      Src: /src/cairo/src/cairo-colr-glyph-render.c:654,1
    - Dst: add_sweep_gradient_patches1
      Src: /src/cairo/src/cairo-colr-glyph-render.c:698,1
    - Dst: add_sweep_gradient_patches1
      Src: /src/cairo/src/cairo-colr-glyph-render.c:705,1
    - Dst: add_sweep_gradient_patches1
      Src: /src/cairo/src/cairo-colr-glyph-render.c:712,1
    - Dst: interpolate_colors
      Src: /src/cairo/src/cairo-colr-glyph-render.c:718,1
    - Dst: add_sweep_gradient_patches1
      Src: /src/cairo/src/cairo-colr-glyph-render.c:719,1
    - Dst: add_sweep_gradient_patches1
      Src: /src/cairo/src/cairo-colr-glyph-render.c:730,1
    - Dst: add_sweep_gradient_patches1
      Src: /src/cairo/src/cairo-colr-glyph-render.c:794,1
    - Dst: add_sweep_gradient_patches1
      Src: /src/cairo/src/cairo-colr-glyph-render.c:808,1
    - Dst: interpolate_colors
      Src: /src/cairo/src/cairo-colr-glyph-render.c:801,1
    - Dst: interpolate_colors
      Src: /src/cairo/src/cairo-colr-glyph-render.c:793,1
    - Dst: add_sweep_gradient_patches1
      Src: /src/cairo/src/cairo-colr-glyph-render.c:802,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 180
    argCount: 7
    argNames:
    - cl
    - extend
    - center
    - radius
    - start_angle
    - end_angle
    - pattern
    argTypes:
    - cairo_colr_color_line_t*
    - cairo_extend_t
    - cairo_point_double_t*
    - double
    - double
    - double
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 816
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 816
    functionName: add_sweep_gradient_patches
    functionSourceFile: /src/cairo/src/cairo-colr-glyph-render.c
    functionUses: []
    functionsReached:
    - interpolate_colors
    - alloca
    - assert
    - add_sweep_gradient_patches1
    linkageType: ''
    returnType: void
    signature: 'static void add_sweep_gradient_patches (cairo_colr_color_line_t *cl,
      cairo_extend_t extend, cairo_point_double_t *center, double radius, double start_angle,
      double end_angle, cairo_pattern_t *pattern) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1007,1
    - Dst: cairo_save
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1010,1
    - Dst: double_from_16_16
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1012,1
    - Dst: double_from_16_16
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1012,1
    - Dst: cairo_translate
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1012,1
    - Dst: cairo_scale
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1013,1
    - Dst: double_from_16_16
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1013,1
    - Dst: double_from_16_16
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1013,1
    - Dst: cairo_translate
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1014,1
    - Dst: double_from_16_16
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1014,1
    - Dst: cairo_restore
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1017,1
    - Dst: double_from_16_16
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1014,1
    - Dst: draw_paint
      Src: /src/cairo/src/cairo-colr-glyph-render.c:1015,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - render
    - scale
    - cr
    argTypes:
    - cairo_colr_glyph_render_t*
    - FT_PaintScale*
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 1020
      start: 999
    functionDepth: 0
    functionLinenumber: 999
    functionLinenumberEnd: 1020
    functionName: draw_paint_scale
    functionSourceFile: /src/cairo/src/cairo-colr-glyph-render.c
    functionUses: []
    functionsReached:
    - printf
    - double_from_16_16
    - cairo_save
    - draw_paint
    - cairo_scale
    - cairo_restore
    - cairo_translate
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t draw_paint_scale (cairo_colr_glyph_render_t
      *render, FT_PaintScale *scale, cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - FT_Fixed
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: double_from_16_16
    functionSourceFile: /src/cairo/src/cairo-colr-glyph-render.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: 'static inline double double_from_16_16 (FT_Fixed f) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: interpolate
      Src: /src/cairo/src/cairo-colr-glyph-render.c:110,1
    - Dst: interpolate
      Src: /src/cairo/src/cairo-colr-glyph-render.c:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - p0
    - p1
    - f
    - out
    argTypes:
    - cairo_point_double_t*
    - cairo_point_double_t*
    - double
    - cairo_point_double_t*
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: interpolate_points
    functionSourceFile: /src/cairo/src/cairo-colr-glyph-render.c
    functionUses: []
    functionsReached:
    - interpolate
    linkageType: ''
    returnType: void
    signature: "static inline void interpolate_points (cairo_point_double_t *p0,\t\
      \t cairo_point_double_t *p1,\t\t double f,\t\t cairo_point_double_t *out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - FT_F2Dot14
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: double_from_2_14
    functionSourceFile: /src/cairo/src/cairo-colr-glyph-render.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: 'static inline double double_from_2_14 (FT_F2Dot14 f) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-colr-glyph-render.c:301,1
    - Dst: free
      Src: /src/cairo/src/cairo-colr-glyph-render.c:302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cl
    argTypes:
    - cairo_colr_color_line_t*
    constantsTouched: []
    func_position:
      end: 303
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 303
    functionName: free_colorline
    functionSourceFile: /src/cairo/src/cairo-colr-glyph-render.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'static void free_colorline (cairo_colr_color_line_t *cl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: double_from_16_16
      Src: /src/cairo/src/cairo-colr-glyph-render.c:505,1
    - Dst: double_from_16_16
      Src: /src/cairo/src/cairo-colr-glyph-render.c:507,1
    - Dst: double_from_16_16
      Src: /src/cairo/src/cairo-colr-glyph-render.c:510,1
    - Dst: interpolate
      Src: /src/cairo/src/cairo-colr-glyph-render.c:518,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/src/cairo-colr-glyph-render.c:534,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-colr-glyph-render.c:502,1
    - Dst: double_from_16_16
      Src: /src/cairo/src/cairo-colr-glyph-render.c:511,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/src/cairo-colr-glyph-render.c:523,1
    - Dst: cairo_paint
      Src: /src/cairo/src/cairo-colr-glyph-render.c:532,1
    - Dst: printf
      Src: /src/cairo/src/cairo-colr-glyph-render.c:498,1
    - Dst: read_colorline
      Src: /src/cairo/src/cairo-colr-glyph-render.c:501,1
    - Dst: normalize_colorline
      Src: /src/cairo/src/cairo-colr-glyph-render.c:514,1
    - Dst: cairo_pattern_create_radial
      Src: /src/cairo/src/cairo-colr-glyph-render.c:520,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/src/cairo-colr-glyph-render.c:527,1
    - Dst: interpolate_points
      Src: /src/cairo/src/cairo-colr-glyph-render.c:515,1
    - Dst: cairo_extend_from_ft_paint_extend
      Src: /src/cairo/src/cairo-colr-glyph-render.c:523,1
    - Dst: double_from_16_16
      Src: /src/cairo/src/cairo-colr-glyph-render.c:506,1
    - Dst: double_from_16_16
      Src: /src/cairo/src/cairo-colr-glyph-render.c:508,1
    - Dst: interpolate
      Src: /src/cairo/src/cairo-colr-glyph-render.c:517,1
    - Dst: cairo_set_source
      Src: /src/cairo/src/cairo-colr-glyph-render.c:531,1
    - Dst: interpolate_points
      Src: /src/cairo/src/cairo-colr-glyph-render.c:516,1
    - Dst: free_colorline
      Src: /src/cairo/src/cairo-colr-glyph-render.c:536,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 3
    argNames:
    - render
    - gradient
    - cr
    argTypes:
    - cairo_colr_glyph_render_t*
    - FT_PaintRadialGradient*
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 539
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 539
    functionName: draw_paint_radial_gradient
    functionSourceFile: /src/cairo/src/cairo-colr-glyph-render.c
    functionUses: []
    functionsReached:
    - printf
    - cairo_paint
    - cairo_extend_from_ft_paint_extend
    - read_colorline
    - free_colorline
    - normalize_colorline
    - double_from_16_16
    - cairo_pattern_set_extend
    - cairo_set_source
    - cairo_pattern_create_radial
    - interpolate_points
    - interpolate
    - cairo_pattern_add_color_stop_rgba
    - cairo_pattern_destroy
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t draw_paint_radial_gradient (cairo_colr_glyph_render_t
      *render, FT_PaintRadialGradient *gradient, cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_mesh_pattern_begin_patch
      Src: /src/cairo/src/cairo-colr-glyph-render.c:551,1
    - Dst: cairo_mesh_pattern_line_to
      Src: /src/cairo/src/cairo-colr-glyph-render.c:553,1
    - Dst: cairo_mesh_pattern_move_to
      Src: /src/cairo/src/cairo-colr-glyph-render.c:552,1
    - Dst: cairo_mesh_pattern_line_to
      Src: /src/cairo/src/cairo-colr-glyph-render.c:558,1
    - Dst: cairo_mesh_pattern_curve_to
      Src: /src/cairo/src/cairo-colr-glyph-render.c:554,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgba
      Src: /src/cairo/src/cairo-colr-glyph-render.c:559,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgba
      Src: /src/cairo/src/cairo-colr-glyph-render.c:564,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgba
      Src: /src/cairo/src/cairo-colr-glyph-render.c:569,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgba
      Src: /src/cairo/src/cairo-colr-glyph-render.c:574,1
    - Dst: cairo_mesh_pattern_end_patch
      Src: /src/cairo/src/cairo-colr-glyph-render.c:579,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - pattern
    - center
    - p
    argTypes:
    - cairo_pattern_t*
    - cairo_point_double_t*
    - cairo_colr_gradient_patch_t*
    constantsTouched: []
    func_position:
      end: 580
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 580
    functionName: add_patch
    functionSourceFile: /src/cairo/src/cairo-colr-glyph-render.c
    functionUses: []
    functionsReached:
    - cairo_mesh_pattern_move_to
    - cairo_mesh_pattern_begin_patch
    - cairo_mesh_pattern_set_corner_color_rgba
    - cairo_mesh_pattern_curve_to
    - cairo_mesh_pattern_end_patch
    - cairo_mesh_pattern_line_to
    linkageType: ''
    returnType: void
    signature: "static void add_patch (cairo_pattern_t *pattern,\t cairo_point_double_t\
      \ *center,\t cairo_colr_gradient_patch_t *p) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - FT_F26Dot6
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: double_from_26_6
    functionSourceFile: /src/cairo/src/cairo-colr-glyph-render.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: 'static inline double double_from_26_6 (FT_F26Dot6 f) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - f0
    - f1
    - f
    argTypes:
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: interpolate
    functionSourceFile: /src/cairo/src/cairo-colr-glyph-render.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: 'static inline double interpolate (double f0, double f1, double f) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: interpolate
      Src: /src/cairo/src/cairo-colr-glyph-render.c:120,1
    - Dst: interpolate
      Src: /src/cairo/src/cairo-colr-glyph-render.c:123,1
    - Dst: interpolate
      Src: /src/cairo/src/cairo-colr-glyph-render.c:122,1
    - Dst: interpolate
      Src: /src/cairo/src/cairo-colr-glyph-render.c:121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - c0
    - c1
    - f
    - out
    argTypes:
    - cairo_color_t*
    - cairo_color_t*
    - double
    - cairo_color_t*
    constantsTouched: []
    func_position:
      end: 124
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 124
    functionName: interpolate_colors
    functionSourceFile: /src/cairo/src/cairo-colr-glyph-render.c
    functionUses: []
    functionsReached:
    - interpolate
    linkageType: ''
    returnType: void
    signature: "static inline void interpolate_colors (cairo_color_t *c0,\t\t cairo_color_t\
      \ *c1,\t\t double f,\t\t cairo_color_t *out) "
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 317
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 317
    functionName: _compare_stops
    functionSourceFile: /src/cairo/src/cairo-colr-glyph-render.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int _compare_stops (const void *p1, const void *p2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_REFERENCE_COUNT_GET_VALUE
      Src: /src/cairo/src/cairo-surface-snapshot-inline.h:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: _cairo_surface_snapshot_is_reused
    functionSourceFile: /src/cairo/src/cairo-surface-snapshot-inline.h
    functionUses: []
    functionsReached:
    - CAIRO_REFERENCE_COUNT_GET_VALUE
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static inline cairo_bool_t _cairo_surface_snapshot_is_reused (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-surface-snapshot-inline.h:53,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-surface-snapshot-inline.h:55,1
    - Dst: _cairo_surface_reference
      Src: /src/cairo/src/cairo-surface-snapshot-inline.h:54,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: _cairo_surface_snapshot_get_target
    functionSourceFile: /src/cairo/src/cairo-surface-snapshot-inline.h
    functionUses: []
    functionsReached:
    - _cairo_surface_reference
    - CAIRO_MUTEX_LOCK
    - CAIRO_MUTEX_UNLOCK
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static inline cairo_surface_t *_cairo_surface_snapshot_get_target
      (cairo_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: _cairo_surface_is_snapshot
    functionSourceFile: /src/cairo/src/cairo-surface-snapshot-inline.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static inline cairo_bool_t _cairo_surface_is_snapshot (cairo_surface_t
      *surface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - stream
    - data
    - length
    argTypes:
    - cairo_output_stream_t*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 271
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 271
    functionName: _cairo_output_stream_write
    functionSourceFile: /src/cairo/src/cairo-output-stream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _cairo_output_stream_write (cairo_output_stream_t *stream,\t\t\
      \t const void *data, size_t length) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-output-stream.c:284,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-output-stream.c:289,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - stream
    - data
    - length
    argTypes:
    - cairo_output_stream_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 291
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 291
    functionName: _cairo_output_stream_write_hex_string
    functionSourceFile: /src/cairo/src/cairo-output-stream.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_write
    linkageType: ''
    returnType: void
    signature: "void _cairo_output_stream_write_hex_string (cairo_output_stream_t\
      \ *stream,\t\t\t\t const unsigned char *data,\t\t\t\t size_t length) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/cairo/src/cairo-output-stream.c:615,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-output-stream.c:616,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - base
    - data
    - length
    argTypes:
    - cairo_output_stream_t*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 619
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 619
    functionName: stdio_write
    functionSourceFile: /src/cairo/src/cairo-output-stream.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - fwrite
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t stdio_write (cairo_output_stream_t *base,\t\
      \ const unsigned char *data, unsigned int length) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-output-stream.c:176,1
    - Dst: _cairo_output_stream_init
      Src: /src/cairo/src/cairo-output-stream.c:182,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-output-stream.c:177,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-output-stream.c:178,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 186
    functionName: _cairo_output_stream_create_in_error
    functionSourceFile: /src/cairo/src/cairo-output-stream.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_init
    - unlikely
    - _cairo_error_throw
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_output_stream_t*
    signature: 'cairo_output_stream_t *_cairo_output_stream_create_in_error (cairo_status_t
      status) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-output-stream.c:730,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - base
    argTypes:
    - cairo_output_stream_t*
    constantsTouched: []
    func_position:
      end: 733
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 733
    functionName: memory_close
    functionSourceFile: /src/cairo/src/cairo-output-stream.c
    functionUses: []
    functionsReached:
    - _cairo_array_fini
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t memory_close (cairo_output_stream_t *base) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-output-stream.c:799,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - base
    argTypes:
    - cairo_output_stream_t*
    constantsTouched: []
    func_position:
      end: 800
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 800
    functionName: _cairo_memory_stream_length
    functionSourceFile: /src/cairo/src/cairo-output-stream.c
    functionUses: []
    functionsReached:
    - _cairo_array_num_elements
    linkageType: ''
    returnType: int
    signature: 'int _cairo_memory_stream_length (cairo_output_stream_t *base) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - stream
    - data
    - length
    argTypes:
    - cairo_output_stream_t*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 129
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 129
    functionName: closure_write
    functionSourceFile: /src/cairo/src/cairo-output-stream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t closure_write (cairo_output_stream_t *stream,\t\
      \ const unsigned char *data, unsigned int length) "
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - stream
    argTypes:
    - cairo_output_stream_t*
    constantsTouched: []
    func_position:
      end: 210
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 210
    functionName: _cairo_output_stream_flush
    functionSourceFile: /src/cairo/src/cairo-output-stream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_output_stream_flush (cairo_output_stream_t *stream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-output-stream.c:740,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-output-stream.c:747,1
    - Dst: _cairo_output_stream_init
      Src: /src/cairo/src/cairo-output-stream.c:746,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-output-stream.c:742,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-output-stream.c:741,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 750
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 750
    functionName: _cairo_memory_stream_create
    functionSourceFile: /src/cairo/src/cairo-output-stream.c
    functionUses: []
    functionsReached:
    - _cairo_array_init
    - _cairo_output_stream_init
    - _cairo_error_throw
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_output_stream_t*
    signature: 'cairo_output_stream_t *_cairo_memory_stream_create (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - base
    - data
    - length
    argTypes:
    - cairo_output_stream_t*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 807
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 807
    functionName: null_write
    functionSourceFile: /src/cairo/src/cairo-output-stream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t null_write (cairo_output_stream_t *base,\t const\
      \ unsigned char *data, unsigned int length) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-output-stream.c:814,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-output-stream.c:816,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-output-stream.c:815,1
    - Dst: _cairo_output_stream_init
      Src: /src/cairo/src/cairo-output-stream.c:820,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 823
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 823
    functionName: _cairo_null_stream_create
    functionSourceFile: /src/cairo/src/cairo-output-stream.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_init
    - unlikely
    - _cairo_error_throw
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_output_stream_t*
    signature: 'cairo_output_stream_t *_cairo_null_stream_create (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - stream
    - write_func
    - flush_func
    - close_func
    argTypes:
    - cairo_output_stream_t*
    - cairo_output_stream_write_func_t
    - cairo_output_stream_flush_func_t
    - cairo_output_stream_close_func_t
    constantsTouched: []
    func_position:
      end: 83
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 83
    functionName: _cairo_output_stream_init
    functionSourceFile: /src/cairo/src/cairo-output-stream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _cairo_output_stream_init (cairo_output_stream_t *stream,\t\t\
      \t cairo_output_stream_write_func_t write_func,\t\t\t cairo_output_stream_flush_func_t\
      \ flush_func,\t\t\t cairo_output_stream_close_func_t close_func) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - cairo_output_stream_t*
    constantsTouched: []
    func_position:
      end: 141
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 141
    functionName: closure_close
    functionSourceFile: /src/cairo/src/cairo-output-stream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t closure_close (cairo_output_stream_t *stream) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-output-stream.c:457,1
    - Dst: va_arg
      Src: /src/cairo/src/cairo-output-stream.c:473,1
    - Dst: snprintf
      Src: /src/cairo/src/cairo-output-stream.c:477,1
    - Dst: va_arg
      Src: /src/cairo/src/cairo-output-stream.c:477,1
    - Dst: va_arg
      Src: /src/cairo/src/cairo-output-stream.c:502,1
    - Dst: va_arg
      Src: /src/cairo/src/cairo-output-stream.c:520,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-output-stream.c:533,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-output-stream.c:412,1
    - Dst: snprintf
      Src: /src/cairo/src/cairo-output-stream.c:474,1
    - Dst: va_arg
      Src: /src/cairo/src/cairo-output-stream.c:475,1
    - Dst: snprintf
      Src: /src/cairo/src/cairo-output-stream.c:501,1
    - Dst: va_arg
      Src: /src/cairo/src/cairo-output-stream.c:488,1
    - Dst: va_arg
      Src: /src/cairo/src/cairo-output-stream.c:523,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-output-stream.c:453,1
    - Dst: assert
      Src: /src/cairo/src/cairo-output-stream.c:450,1
    - Dst: _cairo_isdigit
      Src: /src/cairo/src/cairo-output-stream.c:433,1
    - Dst: va_arg
      Src: /src/cairo/src/cairo-output-stream.c:500,1
    - Dst: va_arg
      Src: /src/cairo/src/cairo-output-stream.c:486,1
    - Dst: va_arg
      Src: /src/cairo/src/cairo-output-stream.c:510,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-output-stream.c:511,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-output-stream.c:512,1
    - Dst: _cairo_dtostr
      Src: /src/cairo/src/cairo-output-stream.c:517,1
    - Dst: va_arg
      Src: /src/cairo/src/cairo-output-stream.c:491,1
    - Dst: snprintf
      Src: /src/cairo/src/cairo-output-stream.c:504,1
    - Dst: snprintf
      Src: /src/cairo/src/cairo-output-stream.c:490,1
    - Dst: snprintf
      Src: /src/cairo/src/cairo-output-stream.c:487,1
    - Dst: va_arg
      Src: /src/cairo/src/cairo-output-stream.c:505,1
    - Dst: va_arg
      Src: /src/cairo/src/cairo-output-stream.c:517,1
    - Dst: _cairo_dtostr
      Src: /src/cairo/src/cairo-output-stream.c:520,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-output-stream.c:529,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 92
    argCount: 3
    argNames:
    - stream
    - fmt
    - ap
    argTypes:
    - cairo_output_stream_t*
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 534
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 534
    functionName: _cairo_output_stream_vprintf
    functionSourceFile: /src/cairo/src/cairo-output-stream.c
    functionUses: []
    functionsReached:
    - memcpy
    - strlen
    - assert
    - _cairo_isdigit
    - _cairo_output_stream_write
    - va_arg
    - _cairo_dtostr
    - snprintf
    linkageType: ''
    returnType: void
    signature: "void _cairo_output_stream_vprintf (cairo_output_stream_t *stream,\t\
      \t\t const char *fmt, va_list ap) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - stream
    argTypes:
    - cairo_output_stream_t*
    constantsTouched: []
    func_position:
      end: 592
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 592
    functionName: _cairo_output_stream_get_position
    functionSourceFile: /src/cairo/src/cairo-output-stream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: long long
    signature: 'long long _cairo_output_stream_get_position (cairo_output_stream_t
      *stream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/cairo/src/cairo-output-stream.c:626,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-output-stream.c:629,1
    - Dst: ferror
      Src: /src/cairo/src/cairo-output-stream.c:628,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - base
    argTypes:
    - cairo_output_stream_t*
    constantsTouched: []
    func_position:
      end: 632
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 632
    functionName: stdio_flush
    functionSourceFile: /src/cairo/src/cairo-output-stream.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - ferror
    - fflush
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t stdio_flush (cairo_output_stream_t *base) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-output-stream.c:761,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-output-stream.c:766,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-output-stream.c:768,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-output-stream.c:762,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-output-stream.c:767,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-output-stream.c:769,1
    - Dst: assert
      Src: /src/cairo/src/cairo-output-stream.c:770,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-output-stream.c:771,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-output-stream.c:773,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-output-stream.c:773,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-output-stream.c:775,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - abstract_stream
    - data_out
    - length_out
    argTypes:
    - cairo_output_stream_t*
    - unsigned char**
    - unsigned long*
    constantsTouched: []
    func_position:
      end: 776
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 776
    functionName: _cairo_memory_stream_destroy
    functionSourceFile: /src/cairo/src/cairo-output-stream.c
    functionUses: []
    functionsReached:
    - memcpy
    - _cairo_array_index
    - _cairo_error
    - _cairo_array_num_elements
    - unlikely
    - assert
    - _cairo_output_stream_destroy
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_memory_stream_destroy (cairo_output_stream_t\
      \ *abstract_stream,\t\t\t unsigned char **data_out,\t\t\t unsigned long *length_out) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-output-stream.c:150,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-output-stream.c:152,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-output-stream.c:151,1
    - Dst: _cairo_output_stream_init
      Src: /src/cairo/src/cairo-output-stream.c:156,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 163
    functionName: _cairo_output_stream_create
    functionSourceFile: /src/cairo/src/cairo-output-stream.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_init
    - unlikely
    - _cairo_error_throw
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_output_stream_t*
    signature: "cairo_output_stream_t *_cairo_output_stream_create (cairo_write_func_t\t\
      \twrite_func,\t\t\t cairo_close_func_t\t\tclose_func,\t\t\t void\t\t\t*closure) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_close
      Src: /src/cairo/src/cairo-output-stream.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - cairo_output_stream_t*
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: _cairo_output_stream_fini
    functionSourceFile: /src/cairo/src/cairo-output-stream.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_close
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_output_stream_fini (cairo_output_stream_t *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/cairo/src/cairo-output-stream.c:542,1
    - Dst: _cairo_output_stream_vprintf
      Src: /src/cairo/src/cairo-output-stream.c:544,1
    - Dst: va_end
      Src: /src/cairo/src/cairo-output-stream.c:546,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - stream
    - fmt
    - '...'
    argTypes:
    - cairo_output_stream_t*
    - char*
    constantsTouched: []
    func_position:
      end: 547
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 547
    functionName: _cairo_output_stream_printf
    functionSourceFile: /src/cairo/src/cairo-output-stream.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_vprintf
    - va_start
    - va_end
    linkageType: ''
    returnType: void
    signature: "void _cairo_output_stream_printf (cairo_output_stream_t *stream,\t\
      \t\t const char *fmt, ...) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/cairo/src/cairo-output-stream.c:561,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-output-stream.c:562,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-output-stream.c:565,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-output-stream.c:564,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-output-stream.c:563,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-output-stream.c:566,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-output-stream.c:567,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-output-stream.c:570,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-output-stream.c:572,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-output-stream.c:574,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-output-stream.c:578,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-output-stream.c:583,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-output-stream.c:580,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-output-stream.c:576,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 2
    argNames:
    - stream
    - matrix
    argTypes:
    - cairo_output_stream_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 586
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 586
    functionName: _cairo_output_stream_print_matrix
    functionSourceFile: /src/cairo/src/cairo-output-stream.c
    functionUses: []
    functionsReached:
    - fabs
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: void
    signature: "void _cairo_output_stream_print_matrix (cairo_output_stream_t *stream,\t\
      \t\t\t const cairo_matrix_t *matrix) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - stream
    argTypes:
    - cairo_output_stream_t*
    constantsTouched: []
    func_position:
      end: 598
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 598
    functionName: _cairo_output_stream_get_status
    functionSourceFile: /src/cairo/src/cairo-output-stream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_output_stream_get_status (cairo_output_stream_t
      *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdio_flush
      Src: /src/cairo/src/cairo-output-stream.c:640,1
    - Dst: fclose
      Src: /src/cairo/src/cairo-output-stream.c:642,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - base
    argTypes:
    - cairo_output_stream_t*
    constantsTouched: []
    func_position:
      end: 645
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 645
    functionName: stdio_close
    functionSourceFile: /src/cairo/src/cairo-output-stream.c
    functionUses: []
    functionsReached:
    - stdio_flush
    - fclose
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t stdio_close (cairo_output_stream_t *base) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-output-stream.c:789,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-output-stream.c:791,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-output-stream.c:790,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - base
    - dest
    argTypes:
    - cairo_output_stream_t*
    - cairo_output_stream_t*
    constantsTouched: []
    func_position:
      end: 792
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 792
    functionName: _cairo_memory_stream_copy
    functionSourceFile: /src/cairo/src/cairo-output-stream.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    - _cairo_output_stream_write
    - _cairo_array_num_elements
    linkageType: ''
    returnType: void
    signature: "void _cairo_memory_stream_copy (cairo_output_stream_t *base,\t\t\t\
      \ cairo_output_stream_t *dest) "
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - stream
    argTypes:
    - cairo_output_stream_t*
    constantsTouched: []
    func_position:
      end: 236
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 236
    functionName: _cairo_output_stream_close
    functionSourceFile: /src/cairo/src/cairo-output-stream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_output_stream_close (cairo_output_stream_t *stream) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_get_locale_decimal_point
      Src: /src/cairo/src/cairo-output-stream.c:314,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-output-stream.c:333,1
    - Dst: assert
      Src: /src/cairo/src/cairo-output-stream.c:317,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-output-stream.c:315,1
    - Dst: snprintf
      Src: /src/cairo/src/cairo-output-stream.c:320,1
    - Dst: snprintf
      Src: /src/cairo/src/cairo-output-stream.c:334,1
    - Dst: snprintf
      Src: /src/cairo/src/cairo-output-stream.c:336,1
    - Dst: _cairo_isdigit
      Src: /src/cairo/src/cairo-output-stream.c:342,1
    - Dst: strncmp
      Src: /src/cairo/src/cairo-output-stream.c:345,1
    - Dst: snprintf
      Src: /src/cairo/src/cairo-output-stream.c:355,1
    - Dst: memmove
      Src: /src/cairo/src/cairo-output-stream.c:369,1
    - Dst: strncmp
      Src: /src/cairo/src/cairo-output-stream.c:366,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-output-stream.c:368,1
    - Dst: _cairo_isdigit
      Src: /src/cairo/src/cairo-output-stream.c:363,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 56
    argCount: 4
    argNames:
    - buffer
    - size
    - d
    - limited_precision
    argTypes:
    - char*
    - size_t
    - double
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 381
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 381
    functionName: _cairo_dtostr
    functionSourceFile: /src/cairo/src/cairo-output-stream.c
    functionUses: []
    functionsReached:
    - fabs
    - strlen
    - memmove
    - _cairo_get_locale_decimal_point
    - assert
    - _cairo_isdigit
    - strncmp
    - snprintf
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_dtostr (char *buffer, size_t size, double d, cairo_bool_t
      limited_precision) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-output-stream.c:653,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-output-stream.c:659,1
    - Dst: _cairo_output_stream_init
      Src: /src/cairo/src/cairo-output-stream.c:663,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-output-stream.c:657,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-output-stream.c:658,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 668
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 668
    functionName: _cairo_output_stream_create_for_file
    functionSourceFile: /src/cairo/src/cairo-output-stream.c
    functionUses: []
    functionsReached:
    - unlikely
    - _cairo_output_stream_init
    - _cairo_error_throw
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_output_stream_t*
    signature: 'cairo_output_stream_t *_cairo_output_stream_create_for_file (FILE
      *file) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-output-stream.c:243,1
    - Dst: free
      Src: /src/cairo/src/cairo-output-stream.c:252,1
    - Dst: _cairo_output_stream_fini
      Src: /src/cairo/src/cairo-output-stream.c:251,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - stream
    argTypes:
    - cairo_output_stream_t*
    constantsTouched: []
    func_position:
      end: 255
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 255
    functionName: _cairo_output_stream_destroy
    functionSourceFile: /src/cairo/src/cairo-output-stream.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_fini
    - free
    - assert
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_output_stream_destroy (cairo_output_stream_t
      *stream) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_null_stream_create
      Src: /src/cairo/src/cairo-output-stream.c:678,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-output-stream.c:691,1
    - Dst: _cairo_fopen
      Src: /src/cairo/src/cairo-output-stream.c:680,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-output-stream.c:688,1
    - Dst: _cairo_output_stream_create_in_error
      Src: /src/cairo/src/cairo-output-stream.c:683,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-output-stream.c:696,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-output-stream.c:697,1
    - Dst: fclose
      Src: /src/cairo/src/cairo-output-stream.c:698,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-output-stream.c:699,1
    - Dst: _cairo_output_stream_init
      Src: /src/cairo/src/cairo-output-stream.c:703,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 708
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 708
    functionName: _cairo_output_stream_create_for_filename
    functionSourceFile: /src/cairo/src/cairo-output-stream.c
    functionUses: []
    functionsReached:
    - _cairo_fopen
    - fclose
    - unlikely
    - _cairo_null_stream_create
    - _cairo_output_stream_create_in_error
    - _cairo_output_stream_init
    - _cairo_error_throw
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_output_stream_t*
    signature: 'cairo_output_stream_t *_cairo_output_stream_create_for_filename (const
      char *filename) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_append_multiple
      Src: /src/cairo/src/cairo-output-stream.c:722,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - base
    - data
    - length
    argTypes:
    - cairo_output_stream_t*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 723
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 723
    functionName: memory_write
    functionSourceFile: /src/cairo/src/cairo-output-stream.c
    functionUses: []
    functionsReached:
    - _cairo_array_append_multiple
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t memory_write (cairo_output_stream_t *base,\t\
      \ const unsigned char *data, unsigned int length) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VG
      Src: /src/cairo/src/cairo-polygon.c:124,1
    - Dst: _cairo_polygon_limit
      Src: /src/cairo/src/cairo-polygon.c:136,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-polygon.c:131,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/cairo/src/cairo-polygon.c:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - polygon
    - limits
    - num_limits
    argTypes:
    - cairo_polygon_t*
    - cairo_box_t*
    - int
    constantsTouched: []
    func_position:
      end: 137
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 137
    functionName: _cairo_polygon_init
    functionSourceFile: /src/cairo/src/cairo-polygon.c
    functionUses: []
    functionsReached:
    - VALGRIND_MAKE_MEM_UNDEFINED
    - ARRAY_LENGTH
    - VG
    - _cairo_polygon_limit
    linkageType: ''
    returnType: void
    signature: "void _cairo_polygon_init (cairo_polygon_t *polygon,\t\t const cairo_box_t\
      \ *limits,\t\t int num_limits) "
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - polygon
    - limits
    - num_limits
    argTypes:
    - cairo_polygon_t*
    - cairo_box_t*
    - int
    constantsTouched: []
    func_position:
      end: 107
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 107
    functionName: _cairo_polygon_limit
    functionSourceFile: /src/cairo/src/cairo-polygon.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _cairo_polygon_limit (cairo_polygon_t *polygon,\t\t const cairo_box_t\
      \ *limits,\t\t int num_limits) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VG
      Src: /src/cairo/src/cairo-polygon.c:156,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-polygon.c:163,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-polygon.c:166,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-polygon.c:164,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/cairo/src/cairo-polygon.c:156,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-polygon.c:168,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-polygon.c:169,1
    - Dst: _cairo_polygon_add_edge
      Src: /src/cairo/src/cairo-polygon.c:185,1
    - Dst: _cairo_polygon_add_edge
      Src: /src/cairo/src/cairo-polygon.c:190,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 2
    argNames:
    - polygon
    - boxes
    argTypes:
    - cairo_polygon_t*
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 195
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 195
    functionName: _cairo_polygon_init_boxes
    functionSourceFile: /src/cairo/src/cairo-polygon.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - ARRAY_LENGTH
    - VG
    - _cairo_polygon_add_edge
    - VALGRIND_MAKE_MEM_UNDEFINED
    - _cairo_malloc_ab
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_polygon_init_boxes (cairo_polygon_t *polygon,\t\
      \t\t const cairo_boxes_t *boxes) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_INJECT_FAULT
      Src: /src/cairo/src/cairo-polygon.c:261,1
    - Dst: _cairo_realloc_ab
      Src: /src/cairo/src/cairo-polygon.c:271,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-polygon.c:269,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-polygon.c:267,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-polygon.c:262,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-polygon.c:275,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-polygon.c:276,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - cairo_polygon_t*
    constantsTouched: []
    func_position:
      end: 284
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 284
    functionName: _cairo_polygon_grow
    functionSourceFile: /src/cairo/src/cairo-polygon.c
    functionUses: []
    functionsReached:
    - memcpy
    - _cairo_error
    - _cairo_realloc_ab
    - _cairo_malloc_ab
    - CAIRO_INJECT_FAULT
    - unlikely
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_polygon_grow (cairo_polygon_t *polygon) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-polygon.c:295,1
    - Dst: _cairo_edge_compute_intersection_x_for_y
      Src: /src/cairo/src/cairo-polygon.c:317,1
    - Dst: _cairo_polygon_grow
      Src: /src/cairo/src/cairo-polygon.c:298,1
    - Dst: _cairo_edge_compute_intersection_x_for_y
      Src: /src/cairo/src/cairo-polygon.c:327,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-polygon.c:297,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 40
    argCount: 6
    argNames:
    - polygon
    - p1
    - p2
    - top
    - bottom
    - dir
    argTypes:
    - cairo_polygon_t*
    - cairo_point_t*
    - cairo_point_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 333
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 333
    functionName: _add_edge
    functionSourceFile: /src/cairo/src/cairo-polygon.c
    functionUses: []
    functionsReached:
    - unlikely
    - _cairo_polygon_grow
    - _cairo_edge_compute_intersection_x_for_y
    - assert
    linkageType: ''
    returnType: void
    signature: "static void _add_edge (cairo_polygon_t *polygon,\t const cairo_point_t\
      \ *p1,\t const cairo_point_t *p2,\t int top, int bottom,\t int dir) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _add_clipped_edge
      Src: /src/cairo/src/cairo-polygon.c:519,1
    - Dst: _add_edge
      Src: /src/cairo/src/cairo-polygon.c:521,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 4
    argNames:
    - polygon
    - p1
    - p2
    - dir
    argTypes:
    - cairo_polygon_t*
    - cairo_point_t*
    - cairo_point_t*
    - int
    constantsTouched: []
    func_position:
      end: 522
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 522
    functionName: _cairo_polygon_add_edge
    functionSourceFile: /src/cairo/src/cairo-polygon.c
    functionUses: []
    functionsReached:
    - _add_edge
    - _add_clipped_edge
    linkageType: ''
    returnType: void
    signature: "static void _cairo_polygon_add_edge (cairo_polygon_t *polygon,\t\t\
      \t const cairo_point_t *p1,\t\t\t const cairo_point_t *p2,\t\t\t int dir) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _add_clipped_edge
      Src: /src/cairo/src/cairo-polygon.c:553,1
    - Dst: _add_edge
      Src: /src/cairo/src/cairo-polygon.c:555,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 5
    argNames:
    - polygon
    - line
    - top
    - bottom
    - dir
    argTypes:
    - cairo_polygon_t*
    - cairo_line_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 558
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 558
    functionName: _cairo_polygon_add_line
    functionSourceFile: /src/cairo/src/cairo-polygon.c
    functionUses: []
    functionsReached:
    - _add_edge
    - _add_clipped_edge
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_polygon_add_line (cairo_polygon_t *polygon,\t\
      \t\t const cairo_line_t *line,\t\t\t int top, int bottom,\t\t\t int dir) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_polygon_limit
      Src: /src/cairo/src/cairo-polygon.c:114,1
    - Dst: _cairo_polygon_limit
      Src: /src/cairo/src/cairo-polygon.c:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - polygon
    - clip
    argTypes:
    - cairo_polygon_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 117
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 117
    functionName: _cairo_polygon_limit_to_clip
    functionSourceFile: /src/cairo/src/cairo-polygon.c
    functionUses: []
    functionsReached:
    - _cairo_polygon_limit
    linkageType: ''
    returnType: void
    signature: "void _cairo_polygon_limit_to_clip (cairo_polygon_t *polygon,\t\t\t\
      \ const cairo_clip_t *clip) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_polygon_init
      Src: /src/cairo/src/cairo-polygon.c:144,1
    - Dst: _cairo_polygon_init
      Src: /src/cairo/src/cairo-polygon.c:146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - polygon
    - clip
    argTypes:
    - cairo_polygon_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 147
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 147
    functionName: _cairo_polygon_init_with_clip
    functionSourceFile: /src/cairo/src/cairo-polygon.c
    functionUses: []
    functionsReached:
    - _cairo_polygon_init
    linkageType: ''
    returnType: void
    signature: "void _cairo_polygon_init_with_clip (cairo_polygon_t *polygon,\t\t\t\
      \ const cairo_clip_t *clip) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VG
      Src: /src/cairo/src/cairo-polygon.c:204,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/cairo/src/cairo-polygon.c:204,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-polygon.c:212,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-polygon.c:211,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-polygon.c:214,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-polygon.c:216,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-polygon.c:217,1
    - Dst: _cairo_polygon_add_edge
      Src: /src/cairo/src/cairo-polygon.c:232,1
    - Dst: _cairo_polygon_add_edge
      Src: /src/cairo/src/cairo-polygon.c:237,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 3
    argNames:
    - polygon
    - boxes
    - num_boxes
    argTypes:
    - cairo_polygon_t*
    - cairo_box_t*
    - int
    constantsTouched: []
    func_position:
      end: 241
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 241
    functionName: _cairo_polygon_init_box_array
    functionSourceFile: /src/cairo/src/cairo-polygon.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - ARRAY_LENGTH
    - VG
    - _cairo_polygon_add_edge
    - VALGRIND_MAKE_MEM_UNDEFINED
    - _cairo_malloc_ab
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_polygon_init_box_array (cairo_polygon_t *polygon,\t\
      \t\t cairo_box_t *boxes,\t\t\t int num_boxes) "
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: _add_edge
      Src: /src/cairo/src/cairo-polygon.c:373,1
    - Dst: MIN
      Src: /src/cairo/src/cairo-polygon.c:366,1
    - Dst: _add_edge
      Src: /src/cairo/src/cairo-polygon.c:379,1
    - Dst: _add_edge
      Src: /src/cairo/src/cairo-polygon.c:385,1
    - Dst: _add_edge
      Src: /src/cairo/src/cairo-polygon.c:447,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-polygon.c:445,1
    - Dst: _add_edge
      Src: /src/cairo/src/cairo-polygon.c:481,1
    - Dst: _add_edge
      Src: /src/cairo/src/cairo-polygon.c:489,1
    - Dst: _cairo_edge_compute_intersection_x_for_y
      Src: /src/cairo/src/cairo-polygon.c:424,1
    - Dst: assert_last_edge_is_valid
      Src: /src/cairo/src/cairo-polygon.c:432,1
    - Dst: MIN
      Src: /src/cairo/src/cairo-polygon.c:428,1
    - Dst: _cairo_edge_compute_intersection_y_for_x
      Src: /src/cairo/src/cairo-polygon.c:422,1
    - Dst: _cairo_edge_compute_intersection_y_for_x
      Src: /src/cairo/src/cairo-polygon.c:456,1
    - Dst: _cairo_edge_compute_intersection_x_for_y
      Src: /src/cairo/src/cairo-polygon.c:458,1
    - Dst: MIN
      Src: /src/cairo/src/cairo-polygon.c:462,1
    - Dst: assert_last_edge_is_valid
      Src: /src/cairo/src/cairo-polygon.c:466,1
    - Dst: MIN
      Src: /src/cairo/src/cairo-polygon.c:363,1
    - Dst: assert_last_edge_is_valid
      Src: /src/cairo/src/cairo-polygon.c:374,1
    - Dst: assert_last_edge_is_valid
      Src: /src/cairo/src/cairo-polygon.c:380,1
    - Dst: assert_last_edge_is_valid
      Src: /src/cairo/src/cairo-polygon.c:386,1
    - Dst: assert_last_edge_is_valid
      Src: /src/cairo/src/cairo-polygon.c:449,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-polygon.c:479,1
    - Dst: assert_last_edge_is_valid
      Src: /src/cairo/src/cairo-polygon.c:483,1
    - Dst: assert_last_edge_is_valid
      Src: /src/cairo/src/cairo-polygon.c:490,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-polygon.c:362,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-polygon.c:367,1
    - Dst: _cairo_edge_compute_intersection_y_for_x
      Src: /src/cairo/src/cairo-polygon.c:439,1
    - Dst: _cairo_edge_compute_intersection_x_for_y
      Src: /src/cairo/src/cairo-polygon.c:441,1
    - Dst: _add_edge
      Src: /src/cairo/src/cairo-polygon.c:430,1
    - Dst: _add_edge
      Src: /src/cairo/src/cairo-polygon.c:464,1
    - Dst: _cairo_edge_compute_intersection_y_for_x
      Src: /src/cairo/src/cairo-polygon.c:473,1
    - Dst: _cairo_edge_compute_intersection_x_for_y
      Src: /src/cairo/src/cairo-polygon.c:475,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 103
    argCount: 6
    argNames:
    - polygon
    - p1
    - p2
    - top
    - bottom
    - dir
    argTypes:
    - cairo_polygon_t*
    - cairo_point_t*
    - cairo_point_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 494
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 494
    functionName: _add_clipped_edge
    functionSourceFile: /src/cairo/src/cairo-polygon.c
    functionUses: []
    functionsReached:
    - MIN
    - assert_last_edge_is_valid
    - MAX
    - _cairo_edge_compute_intersection_y_for_x
    - _add_edge
    - _cairo_edge_compute_intersection_x_for_y
    linkageType: ''
    returnType: void
    signature: "static void _add_clipped_edge (cairo_polygon_t *polygon,\t\t const\
      \ cairo_point_t *p1,\t\t const cairo_point_t *p2,\t\t const int top, const int\
      \ bottom,\t\t const int dir) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_polygon_add_edge
      Src: /src/cairo/src/cairo-polygon.c:529,1
    - Dst: _cairo_polygon_status
      Src: /src/cairo/src/cairo-polygon.c:530,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - polygon
    - p1
    - p2
    argTypes:
    - void*
    - cairo_point_t*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 531
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 531
    functionName: _cairo_polygon_add_external_edge
    functionSourceFile: /src/cairo/src/cairo-polygon.c
    functionUses: []
    functionsReached:
    - _cairo_polygon_status
    - _cairo_polygon_add_edge
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_polygon_add_external_edge (void *polygon,\t\t\
      \t\t const cairo_point_t *p1,\t\t\t\t const cairo_point_t *p2) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_polygon_add_edge
      Src: /src/cairo/src/cairo-polygon.c:574,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 2
    argNames:
    - polygon
    - contour
    argTypes:
    - cairo_polygon_t*
    - cairo_contour_t*
    constantsTouched: []
    func_position:
      end: 581
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 581
    functionName: _cairo_polygon_add_contour
    functionSourceFile: /src/cairo/src/cairo-polygon.c
    functionUses: []
    functionsReached:
    - _cairo_polygon_add_edge
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_polygon_add_contour (cairo_polygon_t *polygon,\t\
      \t\t const cairo_contour_t *contour) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-polygon.c:588,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-polygon.c:589,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - polygon
    - dx
    - dy
    argTypes:
    - cairo_polygon_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 607
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 607
    functionName: _cairo_polygon_translate
    functionSourceFile: /src/cairo/src/cairo-polygon.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_from_int
    linkageType: ''
    returnType: void
    signature: 'void _cairo_polygon_translate (cairo_polygon_t *polygon, int dx, int
      dy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-polygon.c:248,1
    - Dst: VG
      Src: /src/cairo/src/cairo-polygon.c:250,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/cairo/src/cairo-polygon.c:250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - cairo_polygon_t*
    constantsTouched: []
    func_position:
      end: 251
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 251
    functionName: _cairo_polygon_fini
    functionSourceFile: /src/cairo/src/cairo-polygon.c
    functionUses: []
    functionsReached:
    - free
    - VALGRIND_MAKE_MEM_UNDEFINED
    - VG
    linkageType: ''
    returnType: void
    signature: 'void _cairo_polygon_fini (cairo_polygon_t *polygon) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-polygon.c:55,1
    - Dst: _cairo_edge_compute_intersection_x_for_y
      Src: /src/cairo/src/cairo-polygon.c:59,1
    - Dst: assert
      Src: /src/cairo/src/cairo-polygon.c:57,1
    - Dst: assert
      Src: /src/cairo/src/cairo-polygon.c:62,1
    - Dst: assert
      Src: /src/cairo/src/cairo-polygon.c:56,1
    - Dst: assert
      Src: /src/cairo/src/cairo-polygon.c:63,1
    - Dst: _cairo_edge_compute_intersection_x_for_y
      Src: /src/cairo/src/cairo-polygon.c:65,1
    - Dst: assert
      Src: /src/cairo/src/cairo-polygon.c:68,1
    - Dst: assert
      Src: /src/cairo/src/cairo-polygon.c:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - polygon
    - limit
    argTypes:
    - cairo_polygon_t*
    - cairo_box_t*
    constantsTouched: []
    func_position:
      end: 70
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 70
    functionName: assert_last_edge_is_valid
    functionSourceFile: /src/cairo/src/cairo-polygon.c
    functionUses: []
    functionsReached:
    - _cairo_edge_compute_intersection_x_for_y
    - assert
    linkageType: ''
    returnType: void
    signature: "static void assert_last_edge_is_valid(cairo_polygon_t *polygon,\t\t\
      \t const cairo_box_t *limit) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: _cairo_region
    functionSourceFile: /src/cairo/src/cairo-region-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CAIRO_BEGIN_DECLS
    signature: 'CAIRO_BEGIN_DECLS struct _cairo_region '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-tag-attributes.c:556,1
    - Dst: cairo_list_foreach_entry
      Src: /src/cairo/src/cairo-tag-attributes.c:562,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-tag-attributes.c:558,1
    - Dst: parse_attributes
      Src: /src/cairo/src/cairo-tag-attributes.c:557,1
    - Dst: memset
      Src: /src/cairo/src/cairo-tag-attributes.c:561,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-tag-attributes.c:564,1
    - Dst: strdup
      Src: /src/cairo/src/cairo-tag-attributes.c:565,1
    - Dst: _cairo_tag_error
      Src: /src/cairo/src/cairo-tag-attributes.c:570,1
    - Dst: free_attributes_list
      Src: /src/cairo/src/cairo-tag-attributes.c:575,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - attributes
    - content_ref_attrs
    argTypes:
    - char*
    - cairo_content_ref_attrs_t*
    constantsTouched: []
    func_position:
      end: 578
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 578
    functionName: _cairo_tag_parse_content_ref_attributes
    functionSourceFile: /src/cairo/src/cairo-tag-attributes.c
    functionUses: []
    functionsReached:
    - cairo_list_foreach_entry
    - parse_attributes
    - free_attributes_list
    - cairo_list_init
    - _cairo_tag_error
    - strcmp
    - strdup
    - memset
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'cairo_int_status_t _cairo_tag_parse_content_ref_attributes (const
      char *attributes, cairo_content_ref_attrs_t *content_ref_attrs) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-tag-attributes.c:589,1
    - Dst: cairo_list_foreach_entry
      Src: /src/cairo/src/cairo-tag-attributes.c:597,1
    - Dst: strdup
      Src: /src/cairo/src/cairo-tag-attributes.c:599,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-tag-attributes.c:601,1
    - Dst: _cairo_tag_error
      Src: /src/cairo/src/cairo-tag-attributes.c:604,1
    - Dst: strdup
      Src: /src/cairo/src/cairo-tag-attributes.c:616,1
    - Dst: _cairo_array_copy_element
      Src: /src/cairo/src/cairo-tag-attributes.c:632,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-tag-attributes.c:640,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-tag-attributes.c:641,1
    - Dst: strdup
      Src: /src/cairo/src/cairo-tag-attributes.c:645,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-tag-attributes.c:646,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-tag-attributes.c:595,1
    - Dst: _cairo_array_copy_element
      Src: /src/cairo/src/cairo-tag-attributes.c:609,1
    - Dst: _cairo_array_copy_element
      Src: /src/cairo/src/cairo-tag-attributes.c:611,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-tag-attributes.c:608,1
    - Dst: _cairo_array_copy_element
      Src: /src/cairo/src/cairo-tag-attributes.c:634,1
    - Dst: strdup
      Src: /src/cairo/src/cairo-tag-attributes.c:647,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-tag-attributes.c:648,1
    - Dst: _cairo_tag_error
      Src: /src/cairo/src/cairo-tag-attributes.c:651,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-tag-attributes.c:591,1
    - Dst: parse_attributes
      Src: /src/cairo/src/cairo-tag-attributes.c:590,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-tag-attributes.c:618,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-tag-attributes.c:624,1
    - Dst: _cairo_tag_error
      Src: /src/cairo/src/cairo-tag-attributes.c:691,1
    - Dst: free_attributes_list
      Src: /src/cairo/src/cairo-tag-attributes.c:696,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-tag-attributes.c:697,1
    - Dst: free
      Src: /src/cairo/src/cairo-tag-attributes.c:699,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-tag-attributes.c:701,1
    - Dst: free
      Src: /src/cairo/src/cairo-tag-attributes.c:700,1
    - Dst: memset
      Src: /src/cairo/src/cairo-tag-attributes.c:594,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-tag-attributes.c:598,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-tag-attributes.c:615,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-tag-attributes.c:621,1
    - Dst: strdup
      Src: /src/cairo/src/cairo-tag-attributes.c:619,1
    - Dst: _cairo_tag_error
      Src: /src/cairo/src/cairo-tag-attributes.c:626,1
    - Dst: _cairo_array_copy_element
      Src: /src/cairo/src/cairo-tag-attributes.c:636,1
    - Dst: _cairo_array_copy_element
      Src: /src/cairo/src/cairo-tag-attributes.c:638,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-tag-attributes.c:644,1
    - Dst: free
      Src: /src/cairo/src/cairo-tag-attributes.c:698,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 127
    argCount: 2
    argNames:
    - attributes
    - link_attrs
    argTypes:
    - char*
    - cairo_link_attrs_t*
    constantsTouched: []
    func_position:
      end: 705
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 705
    functionName: _cairo_tag_parse_link_attributes
    functionSourceFile: /src/cairo/src/cairo-tag-attributes.c
    functionUses: []
    functionsReached:
    - cairo_list_foreach_entry
    - parse_attributes
    - free_attributes_list
    - cairo_list_init
    - _cairo_array_init
    - _cairo_tag_error
    - free
    - _cairo_array_num_elements
    - strcmp
    - strdup
    - _cairo_array_copy_element
    - _cairo_array_fini
    - _cairo_array_append
    - memset
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'cairo_int_status_t _cairo_tag_parse_link_attributes (const char *attributes,
      cairo_link_attrs_t *link_attrs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_isspace
      Src: /src/cairo/src/cairo-tag-attributes.c:201,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 205
    functionName: skip_space
    functionSourceFile: /src/cairo/src/cairo-tag-attributes.c
    functionUses: []
    functionsReached:
    - _cairo_isspace
    linkageType: ''
    returnType: char*
    signature: 'static const char *skip_space (const char *p) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: parse_bool
      Src: /src/cairo/src/cairo-tag-attributes.c:323,1
    - Dst: parse_string
      Src: /src/cairo/src/cairo-tag-attributes.c:329,1
    - Dst: parse_int
      Src: /src/cairo/src/cairo-tag-attributes.c:325,1
    - Dst: parse_float
      Src: /src/cairo/src/cairo-tag-attributes.c:327,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 333
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 333
    functionName: parse_scalar
    functionSourceFile: /src/cairo/src/cairo-tag-attributes.c
    functionUses: []
    functionsReached:
    - parse_float
    - parse_string
    - parse_bool
    - parse_int
    linkageType: ''
    returnType: char*
    signature: 'static const char *parse_scalar (const char *p, attribute_type_t type,
      attrib_val_t *scalar) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_isalpha
      Src: /src/cairo/src/cairo-tag-attributes.c:379,1
    - Dst: _cairo_tag_error
      Src: /src/cairo/src/cairo-tag-attributes.c:380,1
    - Dst: _cairo_strndup
      Src: /src/cairo/src/cairo-tag-attributes.c:390,1
    - Dst: _cairo_isalpha
      Src: /src/cairo/src/cairo-tag-attributes.c:386,1
    - Dst: _cairo_isdigit
      Src: /src/cairo/src/cairo-tag-attributes.c:386,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-tag-attributes.c:391,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-tag-attributes.c:392,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 19
    argCount: 4
    argNames:
    - attributes
    - p
    - end
    - s
    argTypes:
    - char*
    - char*
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 397
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 397
    functionName: parse_name
    functionSourceFile: /src/cairo/src/cairo-tag-attributes.c
    functionUses: []
    functionsReached:
    - _cairo_tag_error
    - _cairo_error
    - _cairo_isdigit
    - _cairo_isalpha
    - _cairo_strndup
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t parse_name (const char *attributes, const
      char *p, const char **end, char **s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_foreach_entry_safe
      Src: /src/cairo/src/cairo-tag-attributes.c:502,1
    - Dst: free
      Src: /src/cairo/src/cairo-tag-attributes.c:505,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-tag-attributes.c:506,1
    - Dst: cairo_list_del
      Src: /src/cairo/src/cairo-tag-attributes.c:504,1
    - Dst: free
      Src: /src/cairo/src/cairo-tag-attributes.c:508,1
    - Dst: free
      Src: /src/cairo/src/cairo-tag-attributes.c:509,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - list
    argTypes:
    - cairo_list_t*
    constantsTouched: []
    func_position:
      end: 511
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 511
    functionName: free_attributes_list
    functionSourceFile: /src/cairo/src/cairo-tag-attributes.c
    functionUses: []
    functionsReached:
    - _cairo_array_fini
    - cairo_list_foreach_entry_safe
    - cairo_list_del
    - free
    linkageType: ''
    returnType: void
    signature: 'static void free_attributes_list (cairo_list_t *list) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cairo/src/cairo-tag-attributes.c:714,1
    - Dst: cairo_list_foreach_entry
      Src: /src/cairo/src/cairo-tag-attributes.c:720,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-tag-attributes.c:717,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-tag-attributes.c:715,1
    - Dst: parse_attributes
      Src: /src/cairo/src/cairo-tag-attributes.c:716,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-tag-attributes.c:722,1
    - Dst: strdup
      Src: /src/cairo/src/cairo-tag-attributes.c:723,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-tag-attributes.c:724,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-tag-attributes.c:727,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-tag-attributes.c:730,1
    - Dst: _cairo_tag_error
      Src: /src/cairo/src/cairo-tag-attributes.c:736,1
    - Dst: free_attributes_list
      Src: /src/cairo/src/cairo-tag-attributes.c:740,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 2
    argNames:
    - attributes
    - dest_attrs
    argTypes:
    - char*
    - cairo_dest_attrs_t*
    constantsTouched: []
    func_position:
      end: 743
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 743
    functionName: _cairo_tag_parse_dest_attributes
    functionSourceFile: /src/cairo/src/cairo-tag-attributes.c
    functionUses: []
    functionsReached:
    - cairo_list_foreach_entry
    - parse_attributes
    - free_attributes_list
    - cairo_list_init
    - _cairo_tag_error
    - strcmp
    - strdup
    - memset
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'cairo_int_status_t _cairo_tag_parse_dest_attributes (const char *attributes,
      cairo_dest_attrs_t *dest_attrs) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cairo/src/cairo-tag-attributes.c:216,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-tag-attributes.c:219,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 225
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 225
    functionName: parse_bool
    functionSourceFile: /src/cairo/src/cairo-tag-attributes.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: char*
    signature: 'static const char *parse_bool (const char *p, cairo_bool_t *b) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: skip_space
      Src: /src/cairo/src/cairo-tag-attributes.c:341,1
    - Dst: skip_space
      Src: /src/cairo/src/cairo-tag-attributes.c:349,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-tag-attributes.c:362,1
    - Dst: parse_scalar
      Src: /src/cairo/src/cairo-tag-attributes.c:358,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-tag-attributes.c:363,1
    - Dst: _cairo_tag_error
      Src: /src/cairo/src/cairo-tag-attributes.c:368,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 20
    argCount: 5
    argNames:
    - attributes
    - p
    - type
    - array
    - end
    argTypes:
    - char*
    - char*
    - attribute_type_t
    - cairo_array_t*
    - char**
    constantsTouched: []
    func_position:
      end: 370
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 370
    functionName: parse_array
    functionSourceFile: /src/cairo/src/cairo-tag-attributes.c
    functionUses: []
    functionsReached:
    - _cairo_tag_error
    - skip_space
    - parse_scalar
    - _cairo_array_append
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t parse_array (const char *attributes, const
      char *p, attribute_type_t type, cairo_array_t *array, const char **end) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-tag-attributes.c:490,1
    - Dst: free
      Src: /src/cairo/src/cairo-tag-attributes.c:492,1
    - Dst: _cairo_tag_error
      Src: /src/cairo/src/cairo-tag-attributes.c:428,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-tag-attributes.c:434,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-tag-attributes.c:436,1
    - Dst: skip_space
      Src: /src/cairo/src/cairo-tag-attributes.c:444,1
    - Dst: free
      Src: /src/cairo/src/cairo-tag-attributes.c:489,1
    - Dst: parse_scalar
      Src: /src/cairo/src/cairo-tag-attributes.c:457,1
    - Dst: _cairo_tag_error
      Src: /src/cairo/src/cairo-tag-attributes.c:459,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-tag-attributes.c:471,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-tag-attributes.c:422,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-tag-attributes.c:442,1
    - Dst: _cairo_tag_error
      Src: /src/cairo/src/cairo-tag-attributes.c:449,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-tag-attributes.c:468,1
    - Dst: _cairo_tag_error
      Src: /src/cairo/src/cairo-tag-attributes.c:473,1
    - Dst: skip_space
      Src: /src/cairo/src/cairo-tag-attributes.c:412,1
    - Dst: parse_name
      Src: /src/cairo/src/cairo-tag-attributes.c:416,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-tag-attributes.c:435,1
    - Dst: parse_array
      Src: /src/cairo/src/cairo-tag-attributes.c:467,1
    - Dst: cairo_list_add_tail
      Src: /src/cairo/src/cairo-tag-attributes.c:481,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-tag-attributes.c:487,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 65
    argCount: 3
    argNames:
    - attributes
    - attrib_def
    - list
    argTypes:
    - char*
    - attribute_spec_t*
    - cairo_list_t*
    constantsTouched: []
    func_position:
      end: 495
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 495
    functionName: parse_attributes
    functionSourceFile: /src/cairo/src/cairo-tag-attributes.c
    functionUses: []
    functionsReached:
    - parse_array
    - _cairo_tag_error
    - _cairo_array_init
    - _cairo_error
    - free
    - unlikely
    - strcmp
    - _cairo_array_num_elements
    - skip_space
    - cairo_list_add_tail
    - _cairo_array_fini
    - parse_scalar
    - parse_name
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t parse_attributes (const char *attributes,
      const attribute_spec_t *attrib_def, cairo_list_t *list) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-tag-attributes.c:520,1
    - Dst: memset
      Src: /src/cairo/src/cairo-tag-attributes.c:525,1
    - Dst: parse_attributes
      Src: /src/cairo/src/cairo-tag-attributes.c:521,1
    - Dst: cairo_list_foreach_entry
      Src: /src/cairo/src/cairo-tag-attributes.c:526,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-tag-attributes.c:522,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-tag-attributes.c:528,1
    - Dst: strdup
      Src: /src/cairo/src/cairo-tag-attributes.c:529,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-tag-attributes.c:530,1
    - Dst: strdup
      Src: /src/cairo/src/cairo-tag-attributes.c:531,1
    - Dst: _cairo_tag_error
      Src: /src/cairo/src/cairo-tag-attributes.c:536,1
    - Dst: _cairo_tag_error
      Src: /src/cairo/src/cairo-tag-attributes.c:539,1
    - Dst: free_attributes_list
      Src: /src/cairo/src/cairo-tag-attributes.c:544,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - attributes
    - content_attrs
    argTypes:
    - char*
    - cairo_content_attrs_t*
    constantsTouched: []
    func_position:
      end: 547
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 547
    functionName: _cairo_tag_parse_content_attributes
    functionSourceFile: /src/cairo/src/cairo-tag-attributes.c
    functionUses: []
    functionsReached:
    - cairo_list_foreach_entry
    - parse_attributes
    - free_attributes_list
    - cairo_list_init
    - _cairo_tag_error
    - strcmp
    - strdup
    - memset
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'cairo_int_status_t _cairo_tag_parse_content_attributes (const char
      *attributes, cairo_content_attrs_t *content_attrs) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-tag-attributes.c:763,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-tag-attributes.c:765,1
    - Dst: cairo_list_foreach_entry
      Src: /src/cairo/src/cairo-tag-attributes.c:768,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-tag-attributes.c:770,1
    - Dst: parse_attributes
      Src: /src/cairo/src/cairo-tag-attributes.c:764,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-tag-attributes.c:772,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-tag-attributes.c:774,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-tag-attributes.c:776,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-tag-attributes.c:778,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-tag-attributes.c:780,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-tag-attributes.c:784,1
    - Dst: free_attributes_list
      Src: /src/cairo/src/cairo-tag-attributes.c:790,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-tag-attributes.c:782,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 2
    argNames:
    - attributes
    - ccitt_params
    argTypes:
    - char*
    - cairo_ccitt_params_t*
    constantsTouched: []
    func_position:
      end: 793
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 793
    functionName: _cairo_tag_parse_ccitt_params
    functionSourceFile: /src/cairo/src/cairo-tag-attributes.c
    functionUses: []
    functionsReached:
    - cairo_list_foreach_entry
    - parse_attributes
    - cairo_list_init
    - strcmp
    - free_attributes_list
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'cairo_int_status_t _cairo_tag_parse_ccitt_params (const char *attributes,
      cairo_ccitt_params_t *ccitt_params) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 299
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 299
    functionName: decode_string
    functionSourceFile: /src/cairo/src/cairo-tag-attributes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *decode_string (const char *p, int *len, char *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_string
      Src: /src/cairo/src/cairo-tag-attributes.c:307,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-tag-attributes.c:311,1
    - Dst: decode_string
      Src: /src/cairo/src/cairo-tag-attributes.c:312,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 316
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 316
    functionName: parse_string
    functionSourceFile: /src/cairo/src/cairo-tag-attributes.c
    functionUses: []
    functionsReached:
    - _cairo_malloc
    - decode_string
    linkageType: ''
    returnType: char*
    signature: 'static const char *parse_string (const char *p, char **s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-tag-attributes.c:855,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - content_ref_attrs
    argTypes:
    - cairo_content_ref_attrs_t*
    constantsTouched: []
    func_position:
      end: 856
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 856
    functionName: _cairo_tag_free_content_ref_attributes
    functionSourceFile: /src/cairo/src/cairo-tag-attributes.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void _cairo_tag_free_content_ref_attributes (cairo_content_ref_attrs_t
      *content_ref_attrs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/cairo/src/cairo-tag-attributes.c:232,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 236
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 236
    functionName: parse_int
    functionSourceFile: /src/cairo/src/cairo-tag-attributes.c
    functionUses: []
    functionsReached:
    - sscanf
    linkageType: ''
    returnType: char*
    signature: 'static const char *parse_int (const char *p, int *i) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-tag-attributes.c:803,1
    - Dst: parse_attributes
      Src: /src/cairo/src/cairo-tag-attributes.c:804,1
    - Dst: cairo_list_foreach_entry
      Src: /src/cairo/src/cairo-tag-attributes.c:808,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-tag-attributes.c:810,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-tag-attributes.c:805,1
    - Dst: _cairo_array_copy_element
      Src: /src/cairo/src/cairo-tag-attributes.c:811,1
    - Dst: _cairo_array_copy_element
      Src: /src/cairo/src/cairo-tag-attributes.c:813,1
    - Dst: _cairo_array_copy_element
      Src: /src/cairo/src/cairo-tag-attributes.c:815,1
    - Dst: _cairo_array_copy_element
      Src: /src/cairo/src/cairo-tag-attributes.c:817,1
    - Dst: free_attributes_list
      Src: /src/cairo/src/cairo-tag-attributes.c:823,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - attributes
    - eps_params
    argTypes:
    - char*
    - cairo_eps_params_t*
    constantsTouched: []
    func_position:
      end: 826
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 826
    functionName: _cairo_tag_parse_eps_params
    functionSourceFile: /src/cairo/src/cairo-tag-attributes.c
    functionUses: []
    functionsReached:
    - cairo_list_foreach_entry
    - parse_attributes
    - cairo_list_init
    - strcmp
    - _cairo_array_copy_element
    - free_attributes_list
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'cairo_int_status_t _cairo_tag_parse_eps_params (const char *attributes,
      cairo_eps_params_t *eps_params) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-tag-attributes.c:842,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - dest_attrs
    argTypes:
    - cairo_dest_attrs_t*
    constantsTouched: []
    func_position:
      end: 843
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 843
    functionName: _cairo_tag_free_dest_attributes
    functionSourceFile: /src/cairo/src/cairo-tag-attributes.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void _cairo_tag_free_dest_attributes (cairo_dest_attrs_t *dest_attrs) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_isspace
      Src: /src/cairo/src/cairo-tag-attributes.c:246,1
    - Dst: sscanf
      Src: /src/cairo/src/cairo-tag-attributes.c:261,1
    - Dst: _cairo_strtod
      Src: /src/cairo/src/cairo-tag-attributes.c:256,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 266
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 266
    functionName: parse_float
    functionSourceFile: /src/cairo/src/cairo-tag-attributes.c
    functionUses: []
    functionsReached:
    - _cairo_strtod
    - sscanf
    - _cairo_isspace
    linkageType: ''
    returnType: char*
    signature: 'static const char *parse_float (const char *p, double *d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-tag-attributes.c:831,1
    - Dst: free
      Src: /src/cairo/src/cairo-tag-attributes.c:833,1
    - Dst: free
      Src: /src/cairo/src/cairo-tag-attributes.c:834,1
    - Dst: free
      Src: /src/cairo/src/cairo-tag-attributes.c:832,1
    - Dst: free
      Src: /src/cairo/src/cairo-tag-attributes.c:835,1
    - Dst: free
      Src: /src/cairo/src/cairo-tag-attributes.c:836,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - link_attrs
    argTypes:
    - cairo_link_attrs_t*
    constantsTouched: []
    func_position:
      end: 837
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 837
    functionName: _cairo_tag_free_link_attributes
    functionSourceFile: /src/cairo/src/cairo-tag-attributes.c
    functionUses: []
    functionsReached:
    - _cairo_array_fini
    - free
    linkageType: ''
    returnType: void
    signature: 'void _cairo_tag_free_link_attributes (cairo_link_attrs_t *link_attrs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-tag-attributes.c:848,1
    - Dst: free
      Src: /src/cairo/src/cairo-tag-attributes.c:849,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - content_attrs
    argTypes:
    - cairo_content_attrs_t*
    constantsTouched: []
    func_position:
      end: 850
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 850
    functionName: _cairo_tag_free_content_attributes
    functionSourceFile: /src/cairo/src/cairo-tag-attributes.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void _cairo_tag_free_content_attributes (cairo_content_attrs_t *content_attrs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - i
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 154
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 154
    functionName: _cairo_fixed_from_26_6
    functionSourceFile: /src/cairo/src/cairo-fixed-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_fixed_t
    signature: 'static inline cairo_fixed_t _cairo_fixed_from_26_6 (uint32_t i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - cairo_fixed_t
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: _cairo_fixed_floor
    functionSourceFile: /src/cairo/src/cairo-fixed-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_fixed_t
    signature: 'static inline cairo_fixed_t _cairo_fixed_floor (cairo_fixed_t f) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - f
    argTypes:
    - cairo_fixed_t
    constantsTouched: []
    func_position:
      end: 233
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 233
    functionName: _cairo_fixed_integer_floor
    functionSourceFile: /src/cairo/src/cairo-fixed-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int _cairo_fixed_integer_floor (cairo_fixed_t f) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - f
    argTypes:
    - cairo_fixed_16_16_t
    constantsTouched: []
    func_position:
      end: 297
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 297
    functionName: _cairo_fixed_16_16_floor
    functionSourceFile: /src/cairo/src/cairo-fixed-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int _cairo_fixed_16_16_floor (cairo_fixed_16_16_t f) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_int64_32_div
      Src: /src/cairo/src/cairo-fixed-private.h:327,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-fixed-private.h:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - cairo_fixed_t
    - cairo_fixed_t
    - cairo_fixed_t
    constantsTouched: []
    func_position:
      end: 328
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 328
    functionName: _cairo_fixed_mul_div_floor
    functionSourceFile: /src/cairo/src/cairo-fixed-private.h
    functionUses: []
    functionsReached:
    - _cairo_int64_32_div
    - _cairo_int32x32_64_mul
    linkageType: ''
    returnType: cairo_fixed_t
    signature: 'static inline cairo_fixed_t _cairo_fixed_mul_div_floor (cairo_fixed_t
      a, cairo_fixed_t b, cairo_fixed_t c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - i
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 164
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 164
    functionName: _cairo_fixed_from_16_16
    functionSourceFile: /src/cairo/src/cairo-fixed-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_fixed_t
    signature: 'static inline cairo_fixed_t _cairo_fixed_from_16_16 (uint32_t i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_floor
      Src: /src/cairo/src/cairo-fixed-private.h:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - cairo_fixed_t
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: _cairo_fixed_ceil
    functionSourceFile: /src/cairo/src/cairo-fixed-private.h
    functionUses: []
    functionsReached:
    - _cairo_fixed_floor
    linkageType: ''
    returnType: cairo_fixed_t
    signature: 'static inline cairo_fixed_t _cairo_fixed_ceil (cairo_fixed_t f) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - f
    argTypes:
    - cairo_fixed_t
    constantsTouched: []
    func_position:
      end: 242
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 242
    functionName: _cairo_fixed_integer_ceil
    functionSourceFile: /src/cairo/src/cairo-fixed-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int _cairo_fixed_integer_ceil (cairo_fixed_t f) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - cairo_fixed_16_16_t
    constantsTouched: []
    func_position:
      end: 303
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 303
    functionName: _cairo_fixed_16_16_to_double
    functionSourceFile: /src/cairo/src/cairo-fixed-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: 'static inline double _cairo_fixed_16_16_to_double (cairo_fixed_16_16_t
      f) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-fixed-private.h:318,1
    - Dst: _cairo_int64_to_int32
      Src: /src/cairo/src/cairo-fixed-private.h:320,1
    - Dst: _cairo_int32_to_int64
      Src: /src/cairo/src/cairo-fixed-private.h:319,1
    - Dst: _cairo_int64_divrem
      Src: /src/cairo/src/cairo-fixed-private.h:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - cairo_fixed_t
    - cairo_fixed_t
    - cairo_fixed_t
    constantsTouched: []
    func_position:
      end: 321
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 321
    functionName: _cairo_fixed_mul_div
    functionSourceFile: /src/cairo/src/cairo-fixed-private.h
    functionUses: []
    functionsReached:
    - _cairo_int64_to_int32
    - _cairo_int32x32_64_mul
    - _cairo_int32_to_int64
    - _cairo_int64_divrem
    linkageType: ''
    returnType: cairo_fixed_t
    signature: 'static inline cairo_fixed_t _cairo_fixed_mul_div (cairo_fixed_t a,
      cairo_fixed_t b, cairo_fixed_t c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - cairo_fixed_t
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: _cairo_fixed_to_double
    functionSourceFile: /src/cairo/src/cairo-fixed-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: 'static inline double _cairo_fixed_to_double (cairo_fixed_t f) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_floor
      Src: /src/cairo/src/cairo-fixed-private.h:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - f
    argTypes:
    - cairo_fixed_t
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: _cairo_fixed_round
    functionSourceFile: /src/cairo/src/cairo-fixed-private.h
    functionUses: []
    functionsReached:
    - _cairo_fixed_floor
    linkageType: ''
    returnType: cairo_fixed_t
    signature: 'static inline cairo_fixed_t _cairo_fixed_round (cairo_fixed_t f) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-fixed-private.h:310,1
    - Dst: _cairo_int64_rsl
      Src: /src/cairo/src/cairo-fixed-private.h:311,1
    - Dst: _cairo_int64_to_int32
      Src: /src/cairo/src/cairo-fixed-private.h:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_fixed_t
    - cairo_fixed_t
    constantsTouched: []
    func_position:
      end: 312
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 312
    functionName: _cairo_fixed_mul
    functionSourceFile: /src/cairo/src/cairo-fixed-private.h
    functionUses: []
    functionsReached:
    - _cairo_int64_to_int32
    - _cairo_int64_rsl
    - _cairo_int32x32_64_mul
    linkageType: ''
    returnType: cairo_fixed_t
    signature: 'static inline cairo_fixed_t _cairo_fixed_mul (cairo_fixed_t a, cairo_fixed_t
      b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-fixed-private.h:385,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-fixed-private.h:387,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-fixed-private.h:393,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-fixed-private.h:386,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-fixed-private.h:388,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-fixed-private.h:394,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-fixed-private.h:401,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-fixed-private.h:402,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 5
    argNames:
    - seg1_p1
    - seg1_p2
    - seg2_p1
    - seg2_p2
    - intersection
    argTypes:
    - cairo_point_t*
    - cairo_point_t*
    - cairo_point_t*
    - cairo_point_t*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 404
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 404
    functionName: _slow_segment_intersection
    functionSourceFile: /src/cairo/src/cairo-fixed-private.h
    functionUses: []
    functionsReached:
    - _cairo_fixed_from_double
    - _cairo_fixed_to_double
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static inline cairo_bool_t _slow_segment_intersection (const cairo_point_t\
      \ *seg1_p1,\t\t\t const cairo_point_t *seg1_p2,\t\t\t const cairo_point_t *seg2_p1,\t\
      \t\t const cairo_point_t *seg2_p2,\t\t\t cairo_point_t *intersection) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - cairo_fixed_t
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: _cairo_fixed_is_integer
    functionSourceFile: /src/cairo/src/cairo-fixed-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int _cairo_fixed_is_integer (cairo_fixed_t f) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_floor
      Src: /src/cairo/src/cairo-fixed-private.h:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - f
    argTypes:
    - cairo_fixed_t
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: _cairo_fixed_round_down
    functionSourceFile: /src/cairo/src/cairo-fixed-private.h
    functionUses: []
    functionsReached:
    - _cairo_fixed_floor
    linkageType: ''
    returnType: cairo_fixed_t
    signature: 'static inline cairo_fixed_t _cairo_fixed_round_down (cairo_fixed_t
      f) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: _cairo_fixed_from_int
    functionSourceFile: /src/cairo/src/cairo-fixed-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_fixed_t
    signature: 'static inline cairo_fixed_t _cairo_fixed_from_int (int i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-fixed-private.h:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - f
    argTypes:
    - cairo_fixed_t
    constantsTouched: []
    func_position:
      end: 218
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 218
    functionName: _cairo_fixed_integer_round_down
    functionSourceFile: /src/cairo/src/cairo-fixed-private.h
    functionUses: []
    functionsReached:
    - _cairo_fixed_integer_part
    linkageType: ''
    returnType: int
    signature: 'static inline int _cairo_fixed_integer_round_down (cairo_fixed_t f) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_mul_div_floor
      Src: /src/cairo/src/cairo-fixed-private.h:367,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - p1
    - p2
    - y
    argTypes:
    - cairo_point_t*
    - cairo_point_t*
    - cairo_fixed_t
    constantsTouched: []
    func_position:
      end: 370
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 370
    functionName: _cairo_edge_compute_intersection_x_for_y
    functionSourceFile: /src/cairo/src/cairo-fixed-private.h
    functionUses: []
    functionsReached:
    - _cairo_fixed_mul_div_floor
    linkageType: ''
    returnType: cairo_fixed_t
    signature: "static inline cairo_fixed_t _cairo_edge_compute_intersection_x_for_y\
      \ (const cairo_point_t *p1,\t\t\t\t\t const cairo_point_t *p2,\t\t\t\t\t cairo_fixed_t\
      \ y) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-fixed-private.h:143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - d
    - tolerance
    argTypes:
    - double
    - double
    constantsTouched: []
    func_position:
      end: 144
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 144
    functionName: _cairo_fixed_from_double_clamped
    functionSourceFile: /src/cairo/src/cairo-fixed-private.h
    functionUses: []
    functionsReached:
    - _cairo_fixed_from_double
    linkageType: ''
    returnType: cairo_fixed_t
    signature: 'static inline cairo_fixed_t _cairo_fixed_from_double_clamped (double
      d, double tolerance) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - cairo_fixed_t
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: _cairo_fixed_fractional_part
    functionSourceFile: /src/cairo/src/cairo-fixed-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int _cairo_fixed_fractional_part (cairo_fixed_t f) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_mul_div_floor
      Src: /src/cairo/src/cairo-fixed-private.h:346,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - p1
    - p2
    - x
    argTypes:
    - cairo_point_t*
    - cairo_point_t*
    - cairo_fixed_t
    constantsTouched: []
    func_position:
      end: 349
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 349
    functionName: _cairo_edge_compute_intersection_y_for_x
    functionSourceFile: /src/cairo/src/cairo-fixed-private.h
    functionUses: []
    functionsReached:
    - _cairo_fixed_mul_div_floor
    linkageType: ''
    returnType: cairo_fixed_t
    signature: "static inline cairo_fixed_t _cairo_edge_compute_intersection_y_for_x\
      \ (const cairo_point_t *p1,\t\t\t\t\t const cairo_point_t *p2,\t\t\t\t\t cairo_fixed_t\
      \ x) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - cairo_fixed_t
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: _cairo_fixed_integer_part
    functionSourceFile: /src/cairo/src/cairo-fixed-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int _cairo_fixed_integer_part (cairo_fixed_t f) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - f
    argTypes:
    - cairo_fixed_t
    constantsTouched: []
    func_position:
      end: 272
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 272
    functionName: _cairo_fixed_to_16_16
    functionSourceFile: /src/cairo/src/cairo-fixed-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_fixed_16_16_t
    signature: 'static inline cairo_fixed_16_16_t _cairo_fixed_to_16_16 (cairo_fixed_t
      f) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-fixed-private.h:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - f
    argTypes:
    - cairo_fixed_t
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: _cairo_fixed_integer_round
    functionSourceFile: /src/cairo/src/cairo-fixed-private.h
    functionUses: []
    functionsReached:
    - _cairo_fixed_integer_part
    linkageType: ''
    returnType: int
    signature: 'static inline int _cairo_fixed_integer_round (cairo_fixed_t f) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 288
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 288
    functionName: _cairo_fixed_16_16_from_double
    functionSourceFile: /src/cairo/src/cairo-fixed-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_fixed_16_16_t
    signature: 'static inline cairo_fixed_16_16_t _cairo_fixed_16_16_from_double (double
      d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 128
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 128
    functionName: _cairo_fixed_from_double
    functionSourceFile: /src/cairo/src/cairo-fixed-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_fixed_t
    signature: 'static inline cairo_fixed_t _cairo_fixed_from_double (double d) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - boxes
    - limits
    - num_limits
    argTypes:
    - cairo_boxes_t*
    - cairo_box_t*
    - int
    constantsTouched: []
    func_position:
      end: 141
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 141
    functionName: _cairo_boxes_limit
    functionSourceFile: /src/cairo/src/cairo-boxes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _cairo_boxes_limit (cairo_boxes_t\t*boxes,\t\t const cairo_box_t\t\
      *limits,\t\t int\t\t\t num_limits) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_boxes_init
      Src: /src/cairo/src/cairo-boxes.c:59,1
    - Dst: _cairo_box_from_integers
      Src: /src/cairo/src/cairo-boxes.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 5
    argNames:
    - boxes
    - x
    - y
    - w
    - h
    argTypes:
    - cairo_boxes_t*
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: _cairo_boxes_init_from_rectangle
    functionSourceFile: /src/cairo/src/cairo-boxes.c
    functionUses: []
    functionsReached:
    - _cairo_boxes_init
    - _cairo_box_from_integers
    linkageType: ''
    returnType: void
    signature: "void _cairo_boxes_init_from_rectangle (cairo_boxes_t *boxes,\t\t\t\
      \t int x, int y, int w, int h) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-boxes.c:149,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-boxes.c:162,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-boxes.c:161,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-boxes.c:153,1
    - Dst: _cairo_malloc_ab_plus_c
      Src: /src/cairo/src/cairo-boxes.c:157,1
    - Dst: _cairo_box_is_pixel_aligned
      Src: /src/cairo/src/cairo-boxes.c:179,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - boxes
    - box
    argTypes:
    - cairo_boxes_t*
    - cairo_box_t*
    constantsTouched: []
    func_position:
      end: 180
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 180
    functionName: _cairo_boxes_add_internal
    functionSourceFile: /src/cairo/src/cairo-boxes.c
    functionUses: []
    functionsReached:
    - _cairo_malloc_ab_plus_c
    - _cairo_error
    - _cairo_box_is_pixel_aligned
    - unlikely
    linkageType: ''
    returnType: void
    signature: "static void _cairo_boxes_add_internal (cairo_boxes_t *boxes,\t\t\t\
      \ const cairo_box_t *box) "
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - boxes
    - box
    argTypes:
    - cairo_boxes_t*
    - cairo_box_t*
    constantsTouched: []
    func_position:
      end: 316
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 316
    functionName: _cairo_boxes_extents
    functionSourceFile: /src/cairo/src/cairo-boxes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _cairo_boxes_extents (const cairo_boxes_t *boxes,\t\t cairo_box_t\
      \ *box) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-boxes.c:359,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-boxes.c:361,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 372
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 372
    functionName: _cairo_boxes_to_array
    functionSourceFile: /src/cairo/src/cairo-boxes.c
    functionUses: []
    functionsReached:
    - _cairo_malloc_ab
    - _cairo_error_throw
    linkageType: ''
    returnType: cairo_box_t*
    signature: "cairo_box_t *_cairo_boxes_to_array (const cairo_boxes_t *boxes,\t\t\
      \ int *num_boxes) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/cairo/src/cairo-boxes.c:395,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 9
    argCount: 3
    argNames:
    - boxes
    - (*func)
    - data
    argTypes:
    - cairo_boxes_t*
    - cairo_bool_t
    - void*
    constantsTouched: []
    func_position:
      end: 400
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 400
    functionName: _cairo_boxes_for_each_box
    functionSourceFile: /src/cairo/src/cairo-boxes.c
    functionUses: []
    functionsReached:
    - func
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t _cairo_boxes_for_each_box (cairo_boxes_t *boxes,\t\t\t\
      \ cairo_bool_t (*func) (cairo_box_t *box, void *data),\t\t\t void *data) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-boxes.c:418,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-boxes.c:423,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-boxes.c:419,1
    - Dst: _cairo_boxes_add
      Src: /src/cairo/src/cairo-boxes.c:424,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-boxes.c:422,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 5
    argNames:
    - abstract_renderer
    - y
    - h
    - spans
    - num_spans
    argTypes:
    - void*
    - int
    - int
    - cairo_half_open_span_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 430
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 430
    functionName: span_to_boxes
    functionSourceFile: /src/cairo/src/cairo-boxes.c
    functionUses: []
    functionsReached:
    - _cairo_boxes_add
    - _cairo_fixed_from_int
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t span_to_boxes (void *abstract_renderer, int\
      \ y, int h,\t const cairo_half_open_span_t *spans, unsigned num_spans) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-boxes.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - boxes
    argTypes:
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 53
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 53
    functionName: _cairo_boxes_init
    functionSourceFile: /src/cairo/src/cairo-boxes.c
    functionUses: []
    functionsReached:
    - ARRAY_LENGTH
    linkageType: ''
    returnType: void
    signature: 'void _cairo_boxes_init (cairo_boxes_t *boxes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_boxes_init
      Src: /src/cairo/src/cairo-boxes.c:69,1
    - Dst: _cairo_boxes_limit
      Src: /src/cairo/src/cairo-boxes.c:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - boxes
    - clip
    argTypes:
    - cairo_boxes_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: _cairo_boxes_init_with_clip
    functionSourceFile: /src/cairo/src/cairo-boxes.c
    functionUses: []
    functionsReached:
    - _cairo_boxes_init
    - _cairo_boxes_limit
    linkageType: ''
    returnType: void
    signature: "void _cairo_boxes_init_with_clip (cairo_boxes_t *boxes,\t\t\t cairo_clip_t\
      \ *clip) "
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_round_down
      Src: /src/cairo/src/cairo-boxes.c:190,1
    - Dst: _cairo_fixed_round_down
      Src: /src/cairo/src/cairo-boxes.c:193,1
    - Dst: _cairo_boxes_add_internal
      Src: /src/cairo/src/cairo-boxes.c:269,1
    - Dst: _cairo_fixed_round_down
      Src: /src/cairo/src/cairo-boxes.c:191,1
    - Dst: _cairo_fixed_round_down
      Src: /src/cairo/src/cairo-boxes.c:192,1
    - Dst: _cairo_boxes_add_internal
      Src: /src/cairo/src/cairo-boxes.c:272,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 72
    argCount: 3
    argNames:
    - boxes
    - antialias
    - box
    argTypes:
    - cairo_boxes_t*
    - cairo_antialias_t
    - cairo_box_t*
    constantsTouched: []
    func_position:
      end: 276
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 276
    functionName: _cairo_boxes_add
    functionSourceFile: /src/cairo/src/cairo-boxes.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_round_down
    - _cairo_boxes_add_internal
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_boxes_add (cairo_boxes_t *boxes,\t\t cairo_antialias_t\
      \ antialias,\t\t const cairo_box_t *box) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-boxes.c:325,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-boxes.c:332,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - boxes
    argTypes:
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 336
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 336
    functionName: _cairo_boxes_clear
    functionSourceFile: /src/cairo/src/cairo-boxes.c
    functionUses: []
    functionsReached:
    - free
    - ARRAY_LENGTH
    linkageType: ''
    returnType: void
    signature: 'void _cairo_boxes_clear (cairo_boxes_t *boxes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-boxes.c:381,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - boxes
    argTypes:
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 383
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 383
    functionName: _cairo_boxes_fini
    functionSourceFile: /src/cairo/src/cairo-boxes.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void _cairo_boxes_fini (cairo_boxes_t *boxes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-boxes.c:442,1
    - Dst: _cairo_mono_scan_converter_create
      Src: /src/cairo/src/cairo-boxes.c:445,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-boxes.c:450,1
    - Dst: _cairo_box_round_to_rectangle
      Src: /src/cairo/src/cairo-boxes.c:444,1
    - Dst: _cairo_mono_scan_converter_add_polygon
      Src: /src/cairo/src/cairo-boxes.c:449,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - polygon
    - fill_rule
    - boxes
    argTypes:
    - cairo_polygon_t*
    - cairo_fill_rule_t
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 460
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 460
    functionName: _cairo_rasterise_polygon_to_boxes
    functionSourceFile: /src/cairo/src/cairo-boxes.c
    functionUses: []
    functionsReached:
    - _cairo_mono_scan_converter_add_polygon
    - _cairo_box_round_to_rectangle
    - TRACE
    - _cairo_mono_scan_converter_create
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_rasterise_polygon_to_boxes (cairo_polygon_t\t\
      \t\t*polygon,\t\t\t\t cairo_fill_rule_t\t\t\t fill_rule,\t\t\t\t cairo_boxes_t\
      \ *boxes) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_boxes_extents
      Src: /src/cairo/src/cairo-boxes.c:469,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-boxes.c:472,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-boxes.c:473,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-boxes.c:474,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-boxes.c:470,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-boxes.c:475,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-boxes.c:479,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-boxes.c:480,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-boxes.c:481,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-boxes.c:482,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-boxes.c:483,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - stream
    - boxes
    argTypes:
    - FILE*
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 486
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 486
    functionName: _cairo_debug_print_boxes
    functionSourceFile: /src/cairo/src/cairo-boxes.c
    functionUses: []
    functionsReached:
    - _cairo_boxes_extents
    - fprintf
    - _cairo_fixed_to_double
    linkageType: ''
    returnType: void
    signature: 'void _cairo_debug_print_boxes (FILE *stream, const cairo_boxes_t *boxes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-boxes.c:92,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-boxes.c:95,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-boxes.c:93,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-boxes.c:94,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - boxes
    - array
    - num_boxes
    argTypes:
    - cairo_boxes_t*
    - cairo_box_t*
    - int
    constantsTouched: []
    func_position:
      end: 102
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 102
    functionName: _cairo_boxes_init_for_array
    functionSourceFile: /src/cairo/src/cairo-boxes.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_is_integer
    linkageType: ''
    returnType: void
    signature: "void _cairo_boxes_init_for_array (cairo_boxes_t *boxes,\t\t\t cairo_box_t\
      \ *array,\t\t\t int num_boxes) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 6
    argNames:
    - r1
    - g1
    - b1
    - r2
    - g2
    - b2
    argTypes:
    - unsigned short
    - unsigned short
    - unsigned short
    - unsigned short
    - unsigned short
    - unsigned short
    constantsTouched: []
    func_position:
      end: 61
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 61
    functionName: _color_distance
    functionSourceFile: /src/cairo/src/cairo-xlib-visual.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "static inline int _color_distance (unsigned short r1, unsigned short\
      \ g1, unsigned short b1,\t\t unsigned short r2, unsigned short g2, unsigned\
      \ short b2) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DefaultColormap
      Src: /src/cairo/src/cairo-xlib-visual.c:70,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-xlib-visual.c:88,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xlib-visual.c:86,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-visual.c:85,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-xlib-visual.c:84,1
    - Dst: XAllocColor
      Src: /src/cairo/src/cairo-xlib-visual.c:96,1
    - Dst: XAllocColor
      Src: /src/cairo/src/cairo-xlib-visual.c:112,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xlib-visual.c:119,1
    - Dst: XQueryColors
      Src: /src/cairo/src/cairo-xlib-visual.c:121,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xlib-visual.c:121,1
    - Dst: _color_distance
      Src: /src/cairo/src/cairo-xlib-visual.c:126,1
    - Dst: _color_distance
      Src: /src/cairo/src/cairo-xlib-visual.c:144,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 141
    argCount: 4
    argNames:
    - dpy
    - screen
    - visualid
    - out
    argTypes:
    - Display*
    - int
    - VisualID
    - cairo_xlib_visual_info_t**
    constantsTouched: []
    func_position:
      end: 183
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 183
    functionName: _cairo_xlib_visual_info_create
    functionSourceFile: /src/cairo/src/cairo-xlib-visual.c
    functionUses: []
    functionsReached:
    - DefaultColormap
    - cairo_list_init
    - _cairo_error
    - XQueryColors
    - ARRAY_LENGTH
    - XAllocColor
    - _color_distance
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_xlib_visual_info_create (Display *dpy,\t int\
      \ screen,\t\t\t\tVisualID visualid,\t\t\t\tcairo_xlib_visual_info_t **out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_list_del
      Src: /src/cairo/src/cairo-xlib-visual.c:189,1
    - Dst: free
      Src: /src/cairo/src/cairo-xlib-visual.c:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - info
    argTypes:
    - cairo_xlib_visual_info_t*
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: _cairo_xlib_visual_info_destroy
    functionSourceFile: /src/cairo/src/cairo-xlib-visual.c
    functionUses: []
    functionsReached:
    - free
    - _cairo_list_del
    linkageType: ''
    returnType: void
    signature: 'void _cairo_xlib_visual_info_destroy (cairo_xlib_visual_info_t *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-fallback-compositor.c:56,1
    - Dst: _cairo_surface_map_to_image
      Src: /src/cairo/src/cairo-fallback-compositor.c:58,1
    - Dst: _cairo_surface_unmap_image
      Src: /src/cairo/src/cairo-fallback-compositor.c:67,1
    - Dst: _cairo_surface_offset_paint
      Src: /src/cairo/src/cairo-fallback-compositor.c:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - _compositor
    - extents
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 68
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 68
    functionName: _cairo_fallback_compositor_paint
    functionSourceFile: /src/cairo/src/cairo-fallback-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_surface_unmap_image
    - _cairo_surface_offset_paint
    - TRACE
    - _cairo_surface_map_to_image
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_fallback_compositor_paint (const\
      \ cairo_compositor_t\t*_compositor,\t\t\t\t cairo_composite_rectangles_t\t*extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-fallback-compositor.c:134,1
    - Dst: _cairo_surface_offset_fill
      Src: /src/cairo/src/cairo-fallback-compositor.c:138,1
    - Dst: _cairo_surface_unmap_image
      Src: /src/cairo/src/cairo-fallback-compositor.c:147,1
    - Dst: _cairo_surface_map_to_image
      Src: /src/cairo/src/cairo-fallback-compositor.c:136,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 6
    argNames:
    - _compositor
    - extents
    - path
    - fill_rule
    - tolerance
    - antialias
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    constantsTouched: []
    func_position:
      end: 148
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 148
    functionName: _cairo_fallback_compositor_fill
    functionSourceFile: /src/cairo/src/cairo-fallback-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_surface_unmap_image
    - _cairo_surface_offset_fill
    - TRACE
    - _cairo_surface_map_to_image
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_fallback_compositor_fill (const cairo_compositor_t\t\
      *_compositor,\t\t\t\t cairo_composite_rectangles_t *extents,\t\t\t\t const cairo_path_fixed_t\t\
      *path,\t\t\t\t cairo_fill_rule_t\t\t fill_rule,\t\t\t\t double\t\t\t\t tolerance,\t\
      \t\t\t cairo_antialias_t\t\t antialias) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-fallback-compositor.c:77,1
    - Dst: _cairo_surface_offset_mask
      Src: /src/cairo/src/cairo-fallback-compositor.c:81,1
    - Dst: _cairo_surface_unmap_image
      Src: /src/cairo/src/cairo-fallback-compositor.c:89,1
    - Dst: _cairo_surface_map_to_image
      Src: /src/cairo/src/cairo-fallback-compositor.c:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - _compositor
    - extents
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 90
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 90
    functionName: _cairo_fallback_compositor_mask
    functionSourceFile: /src/cairo/src/cairo-fallback-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_surface_unmap_image
    - _cairo_surface_offset_mask
    - TRACE
    - _cairo_surface_map_to_image
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_fallback_compositor_mask (const cairo_compositor_t\t\
      *_compositor,\t\t\t\t cairo_composite_rectangles_t\t*extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-fallback-compositor.c:161,1
    - Dst: _cairo_surface_offset_glyphs
      Src: /src/cairo/src/cairo-fallback-compositor.c:165,1
    - Dst: _cairo_surface_map_to_image
      Src: /src/cairo/src/cairo-fallback-compositor.c:163,1
    - Dst: _cairo_surface_unmap_image
      Src: /src/cairo/src/cairo-fallback-compositor.c:173,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 6
    argNames:
    - _compositor
    - extents
    - scaled_font
    - glyphs
    - num_glyphs
    - overlap
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_scaled_font_t*
    - cairo_glyph_t*
    - int
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 174
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 174
    functionName: _cairo_fallback_compositor_glyphs
    functionSourceFile: /src/cairo/src/cairo-fallback-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_surface_offset_glyphs
    - _cairo_surface_unmap_image
    - TRACE
    - _cairo_surface_map_to_image
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_fallback_compositor_glyphs (const\
      \ cairo_compositor_t\t*_compositor,\t\t\t\t cairo_composite_rectangles_t *extents,\t\
      \t\t\t cairo_scaled_font_t\t\t*scaled_font,\t\t\t\t cairo_glyph_t\t\t*glyphs,\t\
      \t\t\t int\t\t\t\t num_glyphs,\t\t\t\t cairo_bool_t\t\t\t overlap) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-fallback-compositor.c:105,1
    - Dst: _cairo_surface_unmap_image
      Src: /src/cairo/src/cairo-fallback-compositor.c:120,1
    - Dst: _cairo_surface_offset_stroke
      Src: /src/cairo/src/cairo-fallback-compositor.c:109,1
    - Dst: _cairo_surface_map_to_image
      Src: /src/cairo/src/cairo-fallback-compositor.c:107,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 8
    argNames:
    - _compositor
    - extents
    - path
    - style
    - ctm
    - ctm_inverse
    - tolerance
    - antialias
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_antialias_t
    constantsTouched: []
    func_position:
      end: 121
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 121
    functionName: _cairo_fallback_compositor_stroke
    functionSourceFile: /src/cairo/src/cairo-fallback-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_surface_unmap_image
    - _cairo_surface_offset_stroke
    - TRACE
    - _cairo_surface_map_to_image
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_fallback_compositor_stroke (const\
      \ cairo_compositor_t\t*_compositor,\t\t\t\t cairo_composite_rectangles_t *extents,\t\
      \t\t\t const cairo_path_fixed_t\t*path,\t\t\t\t const cairo_stroke_style_t\t\
      *style,\t\t\t\t const cairo_matrix_t\t\t*ctm,\t\t\t\t const cairo_matrix_t\t\
      \t*ctm_inverse,\t\t\t\t double\t\t\t tolerance,\t\t\t\t cairo_antialias_t\t\t\
      \ antialias) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - slope
    - a
    - b
    argTypes:
    - cairo_slope_t*
    - cairo_point_t*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: _cairo_slope_init
    functionSourceFile: /src/cairo/src/cairo-slope-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static inline void _cairo_slope_init (cairo_slope_t *slope,\t\t const\
      \ cairo_point_t *a,\t\t const cairo_point_t *b) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_int64_eq
      Src: /src/cairo/src/cairo-slope-private.h:55,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-slope-private.h:55,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-slope-private.h:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_slope_t*
    - cairo_slope_t*
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: _cairo_slope_equal
    functionSourceFile: /src/cairo/src/cairo-slope-private.h
    functionUses: []
    functionsReached:
    - _cairo_int64_eq
    - _cairo_int32x32_64_mul
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static inline cairo_bool_t _cairo_slope_equal (const cairo_slope_t
      *a, const cairo_slope_t *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_int64_negative
      Src: /src/cairo/src/cairo-slope-private.h:62,1
    - Dst: _cairo_int64_add
      Src: /src/cairo/src/cairo-slope-private.h:62,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-slope-private.h:63,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-slope-private.h:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_slope_t*
    - cairo_slope_t*
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: _cairo_slope_backwards
    functionSourceFile: /src/cairo/src/cairo-slope-private.h
    functionUses: []
    functionsReached:
    - _cairo_int64_negative
    - _cairo_int64_add
    - _cairo_int32x32_64_mul
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static inline cairo_bool_t _cairo_slope_backwards (const cairo_slope_t
      *a, const cairo_slope_t *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-atomic.c:46,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-atomic.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - cairo_atomic_int_t*
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: _cairo_atomic_int_inc
    functionSourceFile: /src/cairo/src/cairo-atomic.c
    functionUses: []
    functionsReached:
    - CAIRO_MUTEX_LOCK
    - CAIRO_MUTEX_UNLOCK
    linkageType: ''
    returnType: void
    signature: 'void _cairo_atomic_int_inc (cairo_atomic_int_t *x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-atomic.c:97,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-atomic.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - cairo_atomic_int_t*
    constantsTouched: []
    func_position:
      end: 102
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 102
    functionName: _cairo_atomic_int_get
    functionSourceFile: /src/cairo/src/cairo-atomic.c
    functionUses: []
    functionsReached:
    - CAIRO_MUTEX_LOCK
    - CAIRO_MUTEX_UNLOCK
    linkageType: ''
    returnType: int
    signature: 'int _cairo_atomic_int_get (cairo_atomic_int_t *x) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-atomic.c:68,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-atomic.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - x
    - oldv
    - newv
    argTypes:
    - cairo_atomic_int_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: _cairo_atomic_int_cmpxchg_return_old_impl
    functionSourceFile: /src/cairo/src/cairo-atomic.c
    functionUses: []
    functionsReached:
    - CAIRO_MUTEX_LOCK
    - CAIRO_MUTEX_UNLOCK
    linkageType: ''
    returnType: int
    signature: 'int _cairo_atomic_int_cmpxchg_return_old_impl (cairo_atomic_int_t
      *x, int oldv, int newv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-atomic.c:56,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-atomic.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - cairo_atomic_int_t*
    constantsTouched: []
    func_position:
      end: 61
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 61
    functionName: _cairo_atomic_int_dec_and_test
    functionSourceFile: /src/cairo/src/cairo-atomic.c
    functionUses: []
    functionsReached:
    - CAIRO_MUTEX_LOCK
    - CAIRO_MUTEX_UNLOCK
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t _cairo_atomic_int_dec_and_test (cairo_atomic_int_t *x) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-atomic.c:82,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-atomic.c:86,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 89
    functionName: _cairo_atomic_ptr_cmpxchg_return_old_impl
    functionSourceFile: /src/cairo/src/cairo-atomic.c
    functionUses: []
    functionsReached:
    - CAIRO_MUTEX_LOCK
    - CAIRO_MUTEX_UNLOCK
    linkageType: ''
    returnType: void*
    signature: 'void *_cairo_atomic_ptr_cmpxchg_return_old_impl (cairo_atomic_intptr_t
      *x, void *oldv, void *newv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_atomic_int_get
      Src: /src/cairo/src/cairo-atomic.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - cairo_atomic_int_t*
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: _cairo_atomic_int_get_relaxed
    functionSourceFile: /src/cairo/src/cairo-atomic.c
    functionUses: []
    functionsReached:
    - _cairo_atomic_int_get
    linkageType: ''
    returnType: int
    signature: 'int _cairo_atomic_int_get_relaxed (cairo_atomic_int_t *x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-atomic.c:113,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-atomic.c:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - x
    - val
    argTypes:
    - cairo_atomic_int_t*
    - int
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: _cairo_atomic_int_set_relaxed
    functionSourceFile: /src/cairo/src/cairo-atomic.c
    functionUses: []
    functionsReached:
    - CAIRO_MUTEX_LOCK
    - CAIRO_MUTEX_UNLOCK
    linkageType: ''
    returnType: void
    signature: 'void _cairo_atomic_int_set_relaxed (cairo_atomic_int_t *x, int val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-atomic.c:123,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-atomic.c:125,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 128
    functionName: _cairo_atomic_ptr_get
    functionSourceFile: /src/cairo/src/cairo-atomic.c
    functionUses: []
    functionsReached:
    - CAIRO_MUTEX_LOCK
    - CAIRO_MUTEX_UNLOCK
    linkageType: ''
    returnType: void*
    signature: 'void *_cairo_atomic_ptr_get (void **x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xcb_generate_id
      Src: /src/cairo/src/cairo-xcb-connection-shm.c:45,1
    - Dst: xcb_shm_attach
      Src: /src/cairo/src/cairo-xcb-connection-shm.c:47,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-connection-shm.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - connection
    - id
    - readonly
    argTypes:
    - cairo_xcb_connection_t*
    - uint32_t
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 49
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 49
    functionName: _cairo_xcb_connection_shm_attach
    functionSourceFile: /src/cairo/src/cairo-xcb-connection-shm.c
    functionUses: []
    functionsReached:
    - xcb_shm_attach
    - xcb_generate_id
    - assert
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t _cairo_xcb_connection_shm_attach (cairo_xcb_connection_t\
      \ *connection,\t\t\t\t uint32_t id,\t\t\t\t cairo_bool_t readonly) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-connection-shm.c:85,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xcb-connection-shm.c:99,1
    - Dst: xcb_shm_get_image_reply
      Src: /src/cairo/src/cairo-xcb-connection-shm.c:86,1
    - Dst: xcb_shm_get_image
      Src: /src/cairo/src/cairo-xcb-connection-shm.c:87,1
    - Dst: free
      Src: /src/cairo/src/cairo-xcb-connection-shm.c:95,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 8
    argNames:
    - connection
    - src
    - src_x
    - src_y
    - width
    - height
    - shmseg
    - offset
    argTypes:
    - cairo_xcb_connection_t*
    - xcb_drawable_t
    - int16_t
    - int16_t
    - uint16_t
    - uint16_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 103
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 103
    functionName: _cairo_xcb_connection_shm_get_image
    functionSourceFile: /src/cairo/src/cairo-xcb-connection-shm.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - free
    - xcb_shm_get_image
    - assert
    - xcb_shm_get_image_reply
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_xcb_connection_shm_get_image (cairo_xcb_connection_t\
      \ *connection,\t\t\t\t xcb_drawable_t src,\t\t\t\t int16_t src_x,\t\t\t\t int16_t\
      \ src_y,\t\t\t\t uint16_t width,\t\t\t\t uint16_t height,\t\t\t\t uint32_t shmseg,\t\
      \t\t\t uint32_t offset) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-connection-shm.c:67,1
    - Dst: xcb_shm_put_image
      Src: /src/cairo/src/cairo-xcb-connection-shm.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 14
    argNames:
    - connection
    - dst
    - gc
    - total_width
    - total_height
    - src_x
    - src_y
    - width
    - height
    - dst_x
    - dst_y
    - depth
    - shm
    - offset
    argTypes:
    - cairo_xcb_connection_t*
    - xcb_drawable_t
    - xcb_gcontext_t
    - uint16_t
    - uint16_t
    - int16_t
    - int16_t
    - uint16_t
    - uint16_t
    - int16_t
    - int16_t
    - uint8_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 71
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 71
    functionName: _cairo_xcb_connection_shm_put_image
    functionSourceFile: /src/cairo/src/cairo-xcb-connection-shm.c
    functionUses: []
    functionsReached:
    - xcb_shm_put_image
    - assert
    linkageType: ''
    returnType: void
    signature: "void _cairo_xcb_connection_shm_put_image (cairo_xcb_connection_t *connection,\t\
      \t\t\t xcb_drawable_t dst,\t\t\t\t xcb_gcontext_t gc,\t\t\t\t uint16_t total_width,\t\
      \t\t\t uint16_t total_height,\t\t\t\t int16_t src_x,\t\t\t\t int16_t src_y,\t\
      \t\t\t uint16_t width,\t\t\t\t uint16_t height,\t\t\t\t int16_t dst_x,\t\t\t\
      \t int16_t dst_y,\t\t\t\t uint8_t depth,\t\t\t\t uint32_t shm,\t\t\t\t uint32_t\
      \ offset) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-connection-shm.c:109,1
    - Dst: xcb_shm_detach
      Src: /src/cairo/src/cairo-xcb-connection-shm.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - connection
    - segment
    argTypes:
    - cairo_xcb_connection_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: _cairo_xcb_connection_shm_detach
    functionSourceFile: /src/cairo/src/cairo-xcb-connection-shm.c
    functionUses: []
    functionsReached:
    - xcb_shm_detach
    - assert
    linkageType: ''
    returnType: void
    signature: "void _cairo_xcb_connection_shm_detach (cairo_xcb_connection_t *connection,\t\
      \t\t\t uint32_t segment) "
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: be16_to_cpu
      Src: /src/cairo/src/cairo-truetype-subset.c:620,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-truetype-subset.c:625,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:617,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:626,1
    - Dst: free
      Src: /src/cairo/src/cairo-truetype-subset.c:632,1
    - Dst: _cairo_truetype_font_set_error
      Src: /src/cairo/src/cairo-truetype-subset.c:633,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-truetype-subset.c:636,1
    - Dst: cairo_truetype_font_check_boundary
      Src: /src/cairo/src/cairo-truetype-subset.c:659,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:660,1
    - Dst: cairo_truetype_font_align_output
      Src: /src/cairo/src/cairo-truetype-subset.c:699,1
    - Dst: be16_to_cpu
      Src: /src/cairo/src/cairo-truetype-subset.c:641,1
    - Dst: be32_to_cpu
      Src: /src/cairo/src/cairo-truetype-subset.c:644,1
    - Dst: be32_to_cpu
      Src: /src/cairo/src/cairo-truetype-subset.c:645,1
    - Dst: cairo_truetype_font_allocate_write_buffer
      Src: /src/cairo/src/cairo-truetype-subset.c:665,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:666,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:675,1
    - Dst: free
      Src: /src/cairo/src/cairo-truetype-subset.c:707,1
    - Dst: cairo_truetype_font_remap_composite_glyph
      Src: /src/cairo/src/cairo-truetype-subset.c:681,1
    - Dst: _cairo_truetype_font_set_error
      Src: /src/cairo/src/cairo-truetype-subset.c:618,1
    - Dst: _cairo_truetype_font_set_error
      Src: /src/cairo/src/cairo-truetype-subset.c:627,1
    - Dst: be16_to_cpu
      Src: /src/cairo/src/cairo-truetype-subset.c:639,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-truetype-subset.c:694,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:631,1
    - Dst: cairo_truetype_font_align_output
      Src: /src/cairo/src/cairo-truetype-subset.c:655,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:656,1
    - Dst: be16_to_cpu
      Src: /src/cairo/src/cairo-truetype-subset.c:640,1
    - Dst: be16_to_cpu
      Src: /src/cairo/src/cairo-truetype-subset.c:679,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:682,1
    - Dst: _cairo_array_truncate
      Src: /src/cairo/src/cairo-truetype-subset.c:694,1
    - Dst: _cairo_truetype_font_set_error
      Src: /src/cairo/src/cairo-truetype-subset.c:709,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:700,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 89
    argCount: 2
    argNames:
    - font
    - tag
    argTypes:
    - cairo_truetype_font_t*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 710
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 710
    functionName: cairo_truetype_font_write_glyf_table
    functionSourceFile: /src/cairo/src/cairo-truetype-subset.c
    functionUses: []
    functionsReached:
    - be16_to_cpu
    - _cairo_malloc
    - cairo_truetype_font_allocate_write_buffer
    - cairo_truetype_font_remap_composite_glyph
    - free
    - _cairo_array_num_elements
    - cairo_truetype_font_align_output
    - _cairo_truetype_font_set_error
    - cairo_truetype_font_check_boundary
    - _cairo_array_truncate
    - be32_to_cpu
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t cairo_truetype_font_write_glyf_table (cairo_truetype_font_t\
      \ *font,\t\t\t\t unsigned long tag) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cairo_truetype_font_allocate_write_buffer
      Src: /src/cairo/src/cairo-truetype-subset.c:756,1
    - Dst: _cairo_truetype_font_set_error
      Src: /src/cairo/src/cairo-truetype-subset.c:758,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:762,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:757,1
    - Dst: _cairo_truetype_font_set_error
      Src: /src/cairo/src/cairo-truetype-subset.c:763,1
    - Dst: cpu_to_be16
      Src: /src/cairo/src/cairo-truetype-subset.c:765,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - font
    - tag
    argTypes:
    - cairo_truetype_font_t*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 768
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 768
    functionName: cairo_truetype_font_write_hhea_table
    functionSourceFile: /src/cairo/src/cairo-truetype-subset.c
    functionUses: []
    functionsReached:
    - cairo_truetype_font_allocate_write_buffer
    - cpu_to_be16
    - _cairo_truetype_font_set_error
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t cairo_truetype_font_write_hhea_table (cairo_truetype_font_t
      *font, unsigned long tag) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cairo_truetype_font_write_be16
      Src: /src/cairo/src/cairo-truetype-subset.c:857,1
    - Dst: be16_to_cpu
      Src: /src/cairo/src/cairo-truetype-subset.c:854,1
    - Dst: _cairo_truetype_font_set_error
      Src: /src/cairo/src/cairo-truetype-subset.c:852,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:851,1
    - Dst: cairo_truetype_font_write_be32
      Src: /src/cairo/src/cairo-truetype-subset.c:860,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - font
    - tag
    argTypes:
    - cairo_truetype_font_t*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 864
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 864
    functionName: cairo_truetype_font_write_loca_table
    functionSourceFile: /src/cairo/src/cairo-truetype-subset.c
    functionUses: []
    functionsReached:
    - be16_to_cpu
    - cairo_truetype_font_write_be16
    - _cairo_truetype_font_set_error
    - cairo_truetype_font_write_be32
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t cairo_truetype_font_write_loca_table (cairo_truetype_font_t\
      \ *font,\t\t\t\t unsigned long tag) "
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - font
    - glyph
    - out
    argTypes:
    - cairo_truetype_font_t*
    - unsigned short
    - unsigned short*
    constantsTouched: []
    func_position:
      end: 1042
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1042
    functionName: cairo_truetype_font_use_glyph
    functionSourceFile: /src/cairo/src/cairo-truetype-subset.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t cairo_truetype_font_use_glyph (cairo_truetype_font_t\t\
      \ *font,\t unsigned short\t\t glyph,\t\t\t unsigned short\t\t *out) "
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: cairo_truetype_font_add_truetype_table
      Src: /src/cairo/src/cairo-truetype-subset.c:1118,1
    - Dst: cairo_truetype_font_add_truetype_table
      Src: /src/cairo/src/cairo-truetype-subset.c:1114,1
    - Dst: cairo_truetype_font_add_truetype_table
      Src: /src/cairo/src/cairo-truetype-subset.c:1120,1
    - Dst: cairo_truetype_font_add_truetype_table
      Src: /src/cairo/src/cairo-truetype-subset.c:1122,1
    - Dst: cairo_truetype_font_add_truetype_table
      Src: /src/cairo/src/cairo-truetype-subset.c:1124,1
    - Dst: cairo_truetype_font_add_truetype_table
      Src: /src/cairo/src/cairo-truetype-subset.c:1125,1
    - Dst: cairo_truetype_font_add_truetype_table
      Src: /src/cairo/src/cairo-truetype-subset.c:1126,1
    - Dst: cairo_truetype_font_add_truetype_table
      Src: /src/cairo/src/cairo-truetype-subset.c:1128,1
    - Dst: cairo_truetype_font_add_truetype_table
      Src: /src/cairo/src/cairo-truetype-subset.c:1127,1
    - Dst: cairo_truetype_font_add_truetype_table
      Src: /src/cairo/src/cairo-truetype-subset.c:1130,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 1
    argNames:
    - font
    argTypes:
    - cairo_truetype_font_t*
    constantsTouched: []
    func_position:
      end: 1131
      start: 1079
    functionDepth: 0
    functionLinenumber: 1079
    functionLinenumberEnd: 1131
    functionName: cairo_truetype_font_create_truetype_table_list
    functionSourceFile: /src/cairo/src/cairo-truetype-subset.c
    functionUses: []
    functionsReached:
    - cairo_truetype_font_add_truetype_table
    linkageType: ''
    returnType: void
    signature: 'static void cairo_truetype_font_create_truetype_table_list (cairo_truetype_font_t
      *font) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_truetype_subset_init_internal
      Src: /src/cairo/src/cairo-truetype-subset.c:1248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - truetype_subset
    - font_subset
    argTypes:
    - cairo_truetype_subset_t*
    - cairo_scaled_font_subset_t*
    constantsTouched: []
    func_position:
      end: 1249
      start: 1244
    functionDepth: 0
    functionLinenumber: 1244
    functionLinenumberEnd: 1249
    functionName: _cairo_truetype_subset_init_ps
    functionSourceFile: /src/cairo/src/cairo-truetype-subset.c
    functionUses: []
    functionsReached:
    - cairo_truetype_subset_init_internal
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_truetype_subset_init_ps (cairo_truetype_subset_t\
      \ *truetype_subset,\t\t\t\tcairo_scaled_font_subset_t\t*font_subset) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-truetype-subset.c:447,1
    - Dst: cairo_truetype_font_write_be16
      Src: /src/cairo/src/cairo-truetype-subset.c:476,1
    - Dst: cairo_truetype_font_write_be16
      Src: /src/cairo/src/cairo-truetype-subset.c:482,1
    - Dst: cairo_truetype_font_write_be16
      Src: /src/cairo/src/cairo-truetype-subset.c:487,1
    - Dst: cairo_truetype_font_write_be16
      Src: /src/cairo/src/cairo-truetype-subset.c:494,1
    - Dst: _cairo_unicode_to_winansi
      Src: /src/cairo/src/cairo-truetype-subset.c:498,1
    - Dst: cairo_truetype_font_write_be16
      Src: /src/cairo/src/cairo-truetype-subset.c:469,1
    - Dst: cairo_truetype_font_write_be16
      Src: /src/cairo/src/cairo-truetype-subset.c:470,1
    - Dst: cairo_truetype_font_write_be16
      Src: /src/cairo/src/cairo-truetype-subset.c:472,1
    - Dst: cairo_truetype_font_write_be16
      Src: /src/cairo/src/cairo-truetype-subset.c:486,1
    - Dst: cairo_truetype_font_write_be16
      Src: /src/cairo/src/cairo-truetype-subset.c:474,1
    - Dst: cairo_truetype_font_write_be16
      Src: /src/cairo/src/cairo-truetype-subset.c:459,1
    - Dst: cairo_truetype_font_write_be16
      Src: /src/cairo/src/cairo-truetype-subset.c:491,1
    - Dst: cairo_truetype_font_write_be16
      Src: /src/cairo/src/cairo-truetype-subset.c:505,1
    - Dst: cairo_truetype_font_write_be16
      Src: /src/cairo/src/cairo-truetype-subset.c:463,1
    - Dst: cairo_truetype_font_write_be16
      Src: /src/cairo/src/cairo-truetype-subset.c:462,1
    - Dst: cairo_truetype_font_write_be16
      Src: /src/cairo/src/cairo-truetype-subset.c:460,1
    - Dst: cairo_truetype_font_write_be32
      Src: /src/cairo/src/cairo-truetype-subset.c:464,1
    - Dst: cairo_truetype_font_write_be16
      Src: /src/cairo/src/cairo-truetype-subset.c:468,1
    - Dst: cairo_truetype_font_write_be16
      Src: /src/cairo/src/cairo-truetype-subset.c:471,1
    - Dst: cairo_truetype_font_write_be16
      Src: /src/cairo/src/cairo-truetype-subset.c:479,1
    - Dst: cairo_truetype_font_write_be16
      Src: /src/cairo/src/cairo-truetype-subset.c:477,1
    - Dst: cairo_truetype_font_write_be16
      Src: /src/cairo/src/cairo-truetype-subset.c:483,1
    - Dst: cairo_truetype_font_write_be16
      Src: /src/cairo/src/cairo-truetype-subset.c:473,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 76
    argCount: 2
    argNames:
    - font
    - tag
    argTypes:
    - cairo_truetype_font_t*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 510
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 510
    functionName: cairo_truetype_font_write_cmap_table
    functionSourceFile: /src/cairo/src/cairo-truetype-subset.c
    functionUses: []
    functionsReached:
    - _cairo_unicode_to_winansi
    - ARRAY_LENGTH
    - cairo_truetype_font_write_be32
    - cairo_truetype_font_write_be16
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t cairo_truetype_font_write_cmap_table (cairo_truetype_font_t\
      \ *font,\t\t\t\t unsigned long tag) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-truetype-subset.c:729,1
    - Dst: _cairo_truetype_font_set_error
      Src: /src/cairo/src/cairo-truetype-subset.c:727,1
    - Dst: cairo_truetype_font_allocate_write_buffer
      Src: /src/cairo/src/cairo-truetype-subset.c:730,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:726,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:731,1
    - Dst: _cairo_truetype_font_set_error
      Src: /src/cairo/src/cairo-truetype-subset.c:732,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:736,1
    - Dst: _cairo_truetype_font_set_error
      Src: /src/cairo/src/cairo-truetype-subset.c:737,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - font
    - tag
    argTypes:
    - cairo_truetype_font_t*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 743
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 743
    functionName: cairo_truetype_font_write_head_table
    functionSourceFile: /src/cairo/src/cairo-truetype-subset.c
    functionUses: []
    functionsReached:
    - cairo_truetype_font_allocate_write_buffer
    - _cairo_array_num_elements
    - _cairo_truetype_font_set_error
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t cairo_truetype_font_write_head_table (cairo_truetype_font_t
      *font, unsigned long tag) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cairo_truetype_font_allocate_write_buffer
      Src: /src/cairo/src/cairo-truetype-subset.c:798,1
    - Dst: be16_to_cpu
      Src: /src/cairo/src/cairo-truetype-subset.c:793,1
    - Dst: _cairo_truetype_font_set_error
      Src: /src/cairo/src/cairo-truetype-subset.c:791,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:790,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:801,1
    - Dst: _cairo_truetype_font_set_error
      Src: /src/cairo/src/cairo-truetype-subset.c:802,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:809,1
    - Dst: _cairo_truetype_font_set_error
      Src: /src/cairo/src/cairo-truetype-subset.c:810,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:818,1
    - Dst: _cairo_truetype_font_set_error
      Src: /src/cairo/src/cairo-truetype-subset.c:827,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:826,1
    - Dst: _cairo_truetype_font_set_error
      Src: /src/cairo/src/cairo-truetype-subset.c:819,1
    - Dst: be16_to_cpu
      Src: /src/cairo/src/cairo-truetype-subset.c:829,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 2
    argNames:
    - font
    - tag
    argTypes:
    - cairo_truetype_font_t*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 833
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 833
    functionName: cairo_truetype_font_write_hmtx_table
    functionSourceFile: /src/cairo/src/cairo-truetype-subset.c
    functionUses: []
    functionsReached:
    - be16_to_cpu
    - cairo_truetype_font_allocate_write_buffer
    - _cairo_truetype_font_set_error
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t cairo_truetype_font_write_hmtx_table (cairo_truetype_font_t\
      \ *font,\t\t\t\t unsigned long tag) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cairo_truetype_font_allocate_write_buffer
      Src: /src/cairo/src/cairo-truetype-subset.c:878,1
    - Dst: _cairo_truetype_font_set_error
      Src: /src/cairo/src/cairo-truetype-subset.c:880,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:884,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:879,1
    - Dst: _cairo_truetype_font_set_error
      Src: /src/cairo/src/cairo-truetype-subset.c:885,1
    - Dst: cpu_to_be16
      Src: /src/cairo/src/cairo-truetype-subset.c:887,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - font
    - tag
    argTypes:
    - cairo_truetype_font_t*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 890
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 890
    functionName: cairo_truetype_font_write_maxp_table
    functionSourceFile: /src/cairo/src/cairo-truetype-subset.c
    functionUses: []
    functionsReached:
    - cairo_truetype_font_allocate_write_buffer
    - cpu_to_be16
    - _cairo_truetype_font_set_error
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t cairo_truetype_font_write_maxp_table (cairo_truetype_font_t\
      \ *font,\t\t\t\t unsigned long tag) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - font
    - tag
    - (*write)
    - pos
    argTypes:
    - cairo_truetype_font_t*
    - unsigned long
    - cairo_status_t
    - int
    constantsTouched: []
    func_position:
      end: 1054
      start: 1044
    functionDepth: 0
    functionLinenumber: 1044
    functionLinenumberEnd: 1054
    functionName: cairo_truetype_font_add_truetype_table
    functionSourceFile: /src/cairo/src/cairo-truetype-subset.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void cairo_truetype_font_add_truetype_table (cairo_truetype_font_t
      *font, unsigned long tag, cairo_status_t (*write) (cairo_truetype_font_t *font,
      unsigned long tag), int pos) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/cairo/src/cairo-truetype-subset.c:1164,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:1165,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-truetype-subset.c:1166,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-truetype-subset.c:1173,1
    - Dst: _cairo_calloc_ab
      Src: /src/cairo/src/cairo-truetype-subset.c:1183,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-truetype-subset.c:1200,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:1172,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-truetype-subset.c:1219,1
    - Dst: free
      Src: /src/cairo/src/cairo-truetype-subset.c:1237,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:1201,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-truetype-subset.c:1202,1
    - Dst: strdup
      Src: /src/cairo/src/cairo-truetype-subset.c:1171,1
    - Dst: cairo_truetype_font_destroy
      Src: /src/cairo/src/cairo-truetype-subset.c:1226,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:1154,1
    - Dst: cairo_truetype_font_use_glyph
      Src: /src/cairo/src/cairo-truetype-subset.c:1153,1
    - Dst: cairo_truetype_font_generate
      Src: /src/cairo/src/cairo-truetype-subset.c:1159,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:1161,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-truetype-subset.c:1213,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:1214,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-truetype-subset.c:1215,1
    - Dst: free
      Src: /src/cairo/src/cairo-truetype-subset.c:1231,1
    - Dst: free
      Src: /src/cairo/src/cairo-truetype-subset.c:1233,1
    - Dst: cairo_truetype_font_destroy
      Src: /src/cairo/src/cairo-truetype-subset.c:1239,1
    - Dst: _cairo_truetype_font_create
      Src: /src/cairo/src/cairo-truetype-subset.c:1147,1
    - Dst: cairo_truetype_font_create_truetype_table_list
      Src: /src/cairo/src/cairo-truetype-subset.c:1158,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:1148,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:1185,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-truetype-subset.c:1186,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-truetype-subset.c:1206,1
    - Dst: free
      Src: /src/cairo/src/cairo-truetype-subset.c:1235,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 87
    argCount: 3
    argNames:
    - truetype_subset
    - font_subset
    - is_pdf
    argTypes:
    - cairo_truetype_subset_t*
    - cairo_scaled_font_subset_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 1242
      start: 1133
    functionDepth: 0
    functionLinenumber: 1133
    functionLinenumberEnd: 1242
    functionName: cairo_truetype_subset_init_internal
    functionSourceFile: /src/cairo/src/cairo-truetype-subset.c
    functionUses: []
    functionsReached:
    - _cairo_calloc_ab
    - _cairo_malloc
    - memcpy
    - cairo_truetype_font_destroy
    - _cairo_truetype_font_create
    - _cairo_error
    - free
    - cairo_truetype_font_use_glyph
    - strdup
    - cairo_truetype_font_create_truetype_table_list
    - cairo_truetype_font_generate
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t cairo_truetype_subset_init_internal (cairo_truetype_subset_t\
      \ *truetype_subset,\t\t\t\t cairo_scaled_font_subset_t *font_subset,\t\t\t\t\
      \ cairo_bool_t is_pdf) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_truetype_subset_init_internal
      Src: /src/cairo/src/cairo-truetype-subset.c:1255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - truetype_subset
    - font_subset
    argTypes:
    - cairo_truetype_subset_t*
    - cairo_scaled_font_subset_t*
    constantsTouched: []
    func_position:
      end: 1256
      start: 1251
    functionDepth: 0
    functionLinenumber: 1251
    functionLinenumberEnd: 1256
    functionName: _cairo_truetype_subset_init_pdf
    functionSourceFile: /src/cairo/src/cairo-truetype-subset.c
    functionUses: []
    functionsReached:
    - cairo_truetype_subset_init_internal
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_truetype_subset_init_pdf (cairo_truetype_subset_t\
      \ *truetype_subset,\t\t\t\tcairo_scaled_font_subset_t\t*font_subset) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: be16_to_cpu
      Src: /src/cairo/src/cairo-truetype-subset.c:1679,1
    - Dst: be16_to_cpu
      Src: /src/cairo/src/cairo-truetype-subset.c:1680,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 4
    argNames:
    - scaled_font
    - weight
    - bold
    - italic
    argTypes:
    - cairo_scaled_font_t*
    - int*
    - cairo_bool_t*
    - cairo_bool_t*
    constantsTouched: []
    func_position:
      end: 1685
      start: 1644
    functionDepth: 0
    functionLinenumber: 1644
    functionLinenumberEnd: 1685
    functionName: _cairo_truetype_get_style
    functionSourceFile: /src/cairo/src/cairo-truetype-subset.c
    functionUses: []
    functionsReached:
    - be16_to_cpu
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_truetype_get_style (cairo_scaled_font_t\
      \ \t *scaled_font,\t\t\t int\t\t\t\t *weight,\t\t\t cairo_bool_t\t\t\t *bold,\t\
      \t\t cairo_bool_t\t\t\t *italic) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-truetype-subset.c:298,1
    - Dst: free
      Src: /src/cairo/src/cairo-truetype-subset.c:300,1
    - Dst: free
      Src: /src/cairo/src/cairo-truetype-subset.c:302,1
    - Dst: free
      Src: /src/cairo/src/cairo-truetype-subset.c:299,1
    - Dst: free
      Src: /src/cairo/src/cairo-truetype-subset.c:301,1
    - Dst: free
      Src: /src/cairo/src/cairo-truetype-subset.c:303,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-truetype-subset.c:304,1
    - Dst: free
      Src: /src/cairo/src/cairo-truetype-subset.c:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - font
    argTypes:
    - cairo_truetype_font_t*
    constantsTouched: []
    func_position:
      end: 306
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 306
    functionName: cairo_truetype_font_destroy
    functionSourceFile: /src/cairo/src/cairo-truetype-subset.c
    functionUses: []
    functionsReached:
    - _cairo_array_fini
    - free
    linkageType: ''
    returnType: void
    signature: 'static void cairo_truetype_font_destroy (cairo_truetype_font_t *font) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_append_multiple
      Src: /src/cairo/src/cairo-truetype-subset.c:335,1
    - Dst: _cairo_truetype_font_set_error
      Src: /src/cairo/src/cairo-truetype-subset.c:337,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:336,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - font
    - data
    - length
    argTypes:
    - cairo_truetype_font_t*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 338
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 338
    functionName: cairo_truetype_font_write
    functionSourceFile: /src/cairo/src/cairo-truetype-subset.c
    functionUses: []
    functionsReached:
    - _cairo_array_append_multiple
    - _cairo_truetype_font_set_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: "static void cairo_truetype_font_write (cairo_truetype_font_t *font,\t\
      \t\t const void *data,\t\t\t size_t length) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_truetype_font_write_be32
      Src: /src/cairo/src/cairo-truetype-subset.c:912,1
    - Dst: cairo_truetype_font_write_be16
      Src: /src/cairo/src/cairo-truetype-subset.c:913,1
    - Dst: cairo_truetype_font_write_be16
      Src: /src/cairo/src/cairo-truetype-subset.c:915,1
    - Dst: cairo_truetype_font_write_be16
      Src: /src/cairo/src/cairo-truetype-subset.c:916,1
    - Dst: cairo_truetype_font_write_be16
      Src: /src/cairo/src/cairo-truetype-subset.c:914,1
    - Dst: cairo_truetype_font_allocate_write_buffer
      Src: /src/cairo/src/cairo-truetype-subset.c:922,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:924,1
    - Dst: _cairo_truetype_font_set_error
      Src: /src/cairo/src/cairo-truetype-subset.c:925,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - font
    argTypes:
    - cairo_truetype_font_t*
    constantsTouched: []
    func_position:
      end: 928
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 928
    functionName: cairo_truetype_font_write_offset_table
    functionSourceFile: /src/cairo/src/cairo-truetype-subset.c
    functionUses: []
    functionsReached:
    - cairo_truetype_font_allocate_write_buffer
    - _cairo_truetype_font_set_error
    - cairo_truetype_font_write_be16
    - cairo_truetype_font_write_be32
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t cairo_truetype_font_write_offset_table (cairo_truetype_font_t
      *font) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_allocate
      Src: /src/cairo/src/cairo-truetype-subset.c:318,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:319,1
    - Dst: _cairo_truetype_font_set_error
      Src: /src/cairo/src/cairo-truetype-subset.c:320,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - font
    - length
    - buffer
    argTypes:
    - cairo_truetype_font_t*
    - size_t
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 323
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 323
    functionName: cairo_truetype_font_allocate_write_buffer
    functionSourceFile: /src/cairo/src/cairo-truetype-subset.c
    functionUses: []
    functionsReached:
    - _cairo_array_allocate
    - _cairo_truetype_font_set_error
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t cairo_truetype_font_allocate_write_buffer (cairo_truetype_font_t\
      \ *font,\t\t\t\t\t size_t\t\t length,\t\t\t\t\t unsigned char\t **buffer) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cpu_to_be16
      Src: /src/cairo/src/cairo-truetype-subset.c:349,1
    - Dst: cairo_truetype_font_write
      Src: /src/cairo/src/cairo-truetype-subset.c:350,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - font
    - value
    argTypes:
    - cairo_truetype_font_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 351
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 351
    functionName: cairo_truetype_font_write_be16
    functionSourceFile: /src/cairo/src/cairo-truetype-subset.c
    functionUses: []
    functionsReached:
    - cpu_to_be16
    - cairo_truetype_font_write
    linkageType: ''
    returnType: void
    signature: "static void cairo_truetype_font_write_be16 (cairo_truetype_font_t\
      \ *font,\t\t\t\tuint16_t value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-truetype-subset.c:941,1
    - Dst: be32_to_cpu
      Src: /src/cairo/src/cairo-truetype-subset.c:945,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - font
    - start
    - end
    argTypes:
    - cairo_truetype_font_t*
    - unsigned long
    - unsigned long
    constantsTouched: []
    func_position:
      end: 948
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 948
    functionName: cairo_truetype_font_calculate_checksum
    functionSourceFile: /src/cairo/src/cairo-truetype-subset.c
    functionUses: []
    functionsReached:
    - be32_to_cpu
    - _cairo_array_index
    linkageType: ''
    returnType: uint32_t
    signature: "static uint32_t cairo_truetype_font_calculate_checksum (cairo_truetype_font_t\
      \ *font,\t\t\t\t\tunsigned long start,\t\t\t\t\tunsigned long end) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: be16_to_cpu
      Src: /src/cairo/src/cairo-truetype-subset.c:1410,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:1407,1
    - Dst: _cairo_malloc_ab_plus_c
      Src: /src/cairo/src/cairo-truetype-subset.c:1412,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:1413,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-truetype-subset.c:1414,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:1420,1
    - Dst: be16_to_cpu
      Src: /src/cairo/src/cairo-truetype-subset.c:1425,1
    - Dst: be16_to_cpu
      Src: /src/cairo/src/cairo-truetype-subset.c:1426,1
    - Dst: _cairo_truetype_reverse_cmap
      Src: /src/cairo/src/cairo-truetype-subset.c:1427,1
    - Dst: be32_to_cpu
      Src: /src/cairo/src/cairo-truetype-subset.c:1428,1
    - Dst: free
      Src: /src/cairo/src/cairo-truetype-subset.c:1437,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 3
    argNames:
    - scaled_font
    - index
    - ucs4
    argTypes:
    - cairo_scaled_font_t*
    - unsigned long
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 1440
      start: 1386
    functionDepth: 0
    functionLinenumber: 1386
    functionLinenumberEnd: 1440
    functionName: _cairo_truetype_index_to_ucs4
    functionSourceFile: /src/cairo/src/cairo-truetype-subset.c
    functionUses: []
    functionsReached:
    - be16_to_cpu
    - _cairo_error
    - _cairo_malloc_ab_plus_c
    - free
    - _cairo_truetype_reverse_cmap
    - be32_to_cpu
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'cairo_int_status_t _cairo_truetype_index_to_ucs4 (cairo_scaled_font_t
      *scaled_font, unsigned long index, uint32_t *ucs4) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_status_set_error
      Src: /src/cairo/src/cairo-truetype-subset.c:130,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-truetype-subset.c:132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - font
    - status
    argTypes:
    - cairo_truetype_font_t*
    - cairo_status_t
    constantsTouched: []
    func_position:
      end: 133
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 133
    functionName: _cairo_truetype_font_set_error
    functionSourceFile: /src/cairo/src/cairo-truetype-subset.c
    functionUses: []
    functionsReached:
    - _cairo_status_set_error
    - _cairo_error
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_truetype_font_set_error (cairo_truetype_font_t\
      \ *font,\t\t\t cairo_status_t status) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-truetype-subset.c:402,1
    - Dst: _cairo_truetype_font_set_error
      Src: /src/cairo/src/cairo-truetype-subset.c:405,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:404,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - font
    - boundary
    argTypes:
    - cairo_truetype_font_t*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 412
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 412
    functionName: cairo_truetype_font_check_boundary
    functionSourceFile: /src/cairo/src/cairo-truetype-subset.c
    functionUses: []
    functionsReached:
    - _cairo_array_append
    - _cairo_truetype_font_set_error
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t cairo_truetype_font_check_boundary (cairo_truetype_font_t\
      \ *font,\t\t\t\t unsigned long boundary) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cairo_truetype_font_allocate_write_buffer
      Src: /src/cairo/src/cairo-truetype-subset.c:529,1
    - Dst: _cairo_truetype_font_set_error
      Src: /src/cairo/src/cairo-truetype-subset.c:527,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:526,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:530,1
    - Dst: _cairo_truetype_font_set_error
      Src: /src/cairo/src/cairo-truetype-subset.c:531,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:535,1
    - Dst: _cairo_truetype_font_set_error
      Src: /src/cairo/src/cairo-truetype-subset.c:536,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - font
    - tag
    argTypes:
    - cairo_truetype_font_t*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 539
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 539
    functionName: cairo_truetype_font_write_generic_table
    functionSourceFile: /src/cairo/src/cairo-truetype-subset.c
    functionUses: []
    functionsReached:
    - cairo_truetype_font_allocate_write_buffer
    - _cairo_truetype_font_set_error
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t cairo_truetype_font_write_generic_table (cairo_truetype_font_t\
      \ *font,\t\t\t\t\t unsigned long tag) "
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: be16_to_cpu
      Src: /src/cairo/src/cairo-truetype-subset.c:1463,1
    - Dst: be16_to_cpu
      Src: /src/cairo/src/cairo-truetype-subset.c:1462,1
    - Dst: be16_to_cpu
      Src: /src/cairo/src/cairo-truetype-subset.c:1473,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-truetype-subset.c:1475,1
    - Dst: _cairo_ucs4_to_utf8
      Src: /src/cairo/src/cairo-truetype-subset.c:1501,1
    - Dst: free
      Src: /src/cairo/src/cairo-truetype-subset.c:1512,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-truetype-subset.c:1526,1
    - Dst: be16_to_cpu
      Src: /src/cairo/src/cairo-truetype-subset.c:1461,1
    - Dst: be16_to_cpu
      Src: /src/cairo/src/cairo-truetype-subset.c:1466,1
    - Dst: be16_to_cpu
      Src: /src/cairo/src/cairo-truetype-subset.c:1473,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-truetype-subset.c:1479,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-truetype-subset.c:1477,1
    - Dst: free
      Src: /src/cairo/src/cairo-truetype-subset.c:1539,1
    - Dst: MIN
      Src: /src/cairo/src/cairo-truetype-subset.c:1459,1
    - Dst: be16_to_cpu
      Src: /src/cairo/src/cairo-truetype-subset.c:1459,1
    - Dst: be16_to_cpu
      Src: /src/cairo/src/cairo-truetype-subset.c:1464,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-truetype-subset.c:1481,1
    - Dst: be16_to_cpu
      Src: /src/cairo/src/cairo-truetype-subset.c:1501,1
    - Dst: be16_to_cpu
      Src: /src/cairo/src/cairo-truetype-subset.c:1510,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-truetype-subset.c:1503,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-truetype-subset.c:1505,1
    - Dst: _cairo_ucs4_to_utf8
      Src: /src/cairo/src/cairo-truetype-subset.c:1510,1
    - Dst: _cairo_strndup
      Src: /src/cairo/src/cairo-truetype-subset.c:1538,1
    - Dst: free
      Src: /src/cairo/src/cairo-truetype-subset.c:1548,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 104
    argCount: 7
    argNames:
    - name
    - size
    - name_id
    - platform
    - encoding
    - language
    - str_out
    argTypes:
    - tt_name_t*
    - unsigned long
    - int
    - int
    - int
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1551
      start: 1448
    functionDepth: 0
    functionLinenumber: 1448
    functionLinenumberEnd: 1551
    functionName: find_name
    functionSourceFile: /src/cairo/src/cairo-truetype-subset.c
    functionUses: []
    functionsReached:
    - be16_to_cpu
    - _cairo_malloc
    - memcpy
    - strlen
    - _cairo_error
    - free
    - MIN
    - _cairo_ucs4_to_utf8
    - _cairo_strndup
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t find_name (tt_name_t *name, unsigned long size,
      int name_id, int platform, int encoding, int language, char **str_out) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:177,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:193,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-truetype-subset.c:196,1
    - Dst: _cairo_calloc_ab
      Src: /src/cairo/src/cairo-truetype-subset.c:221,1
    - Dst: _cairo_calloc_ab
      Src: /src/cairo/src/cairo-truetype-subset.c:214,1
    - Dst: be16_to_cpu
      Src: /src/cairo/src/cairo-truetype-subset.c:230,1
    - Dst: be16_to_cpu
      Src: /src/cairo/src/cairo-truetype-subset.c:232,1
    - Dst: be16_to_cpu
      Src: /src/cairo/src/cairo-truetype-subset.c:234,1
    - Dst: snprintf
      Src: /src/cairo/src/cairo-truetype-subset.c:255,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:222,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-truetype-subset.c:223,1
    - Dst: _cairo_calloc_ab
      Src: /src/cairo/src/cairo-truetype-subset.c:261,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-truetype-subset.c:267,1
    - Dst: _cairo_array_grow_by
      Src: /src/cairo/src/cairo-truetype-subset.c:268,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:269,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-truetype-subset.c:289,1
    - Dst: free
      Src: /src/cairo/src/cairo-truetype-subset.c:290,1
    - Dst: free
      Src: /src/cairo/src/cairo-truetype-subset.c:282,1
    - Dst: free
      Src: /src/cairo/src/cairo-truetype-subset.c:287,1
    - Dst: free
      Src: /src/cairo/src/cairo-truetype-subset.c:284,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:165,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:197,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-truetype-subset.c:198,1
    - Dst: be16_to_cpu
      Src: /src/cairo/src/cairo-truetype-subset.c:201,1
    - Dst: be16_to_cpu
      Src: /src/cairo/src/cairo-truetype-subset.c:229,1
    - Dst: be16_to_cpu
      Src: /src/cairo/src/cairo-truetype-subset.c:231,1
    - Dst: be16_to_cpu
      Src: /src/cairo/src/cairo-truetype-subset.c:233,1
    - Dst: be16_to_cpu
      Src: /src/cairo/src/cairo-truetype-subset.c:235,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-truetype-subset.c:263,1
    - Dst: free
      Src: /src/cairo/src/cairo-truetype-subset.c:280,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:262,1
    - Dst: free
      Src: /src/cairo/src/cairo-truetype-subset.c:285,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:185,1
    - Dst: _cairo_array_grow_by
      Src: /src/cairo/src/cairo-truetype-subset.c:207,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:208,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-truetype-subset.c:216,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:215,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-truetype-subset.c:206,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-truetype-subset.c:249,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:250,1
    - Dst: _cairo_status_is_error
      Src: /src/cairo/src/cairo-truetype-subset.c:244,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-truetype-subset.c:251,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-truetype-subset.c:279,1
    - Dst: _cairo_truetype_read_font_name
      Src: /src/cairo/src/cairo-truetype-subset.c:241,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 105
    argCount: 3
    argNames:
    - scaled_font_subset
    - is_pdf
    - font_return
    argTypes:
    - cairo_scaled_font_subset_t*
    - cairo_bool_t
    - cairo_truetype_font_t**
    constantsTouched: []
    func_position:
      end: 293
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 293
    functionName: _cairo_truetype_font_create
    functionSourceFile: /src/cairo/src/cairo-truetype-subset.c
    functionUses: []
    functionsReached:
    - be16_to_cpu
    - _cairo_calloc_ab
    - _cairo_status_is_error
    - _cairo_malloc
    - _cairo_array_init
    - _cairo_error
    - free
    - unlikely
    - _cairo_truetype_read_font_name
    - _cairo_array_grow_by
    - _cairo_array_fini
    - snprintf
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_truetype_font_create (cairo_scaled_font_subset_t\
      \ *scaled_font_subset,\t\t\t cairo_bool_t is_pdf,\t\t\t cairo_truetype_font_t\
      \ **font_return) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: be16_to_cpu
      Src: /src/cairo/src/cairo-truetype-subset.c:562,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:573,1
    - Dst: be16_to_cpu
      Src: /src/cairo/src/cairo-truetype-subset.c:570,1
    - Dst: be16_to_cpu
      Src: /src/cairo/src/cairo-truetype-subset.c:572,1
    - Dst: cairo_truetype_font_use_glyph
      Src: /src/cairo/src/cairo-truetype-subset.c:572,1
    - Dst: cpu_to_be16
      Src: /src/cairo/src/cairo-truetype-subset.c:576,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 3
    argNames:
    - font
    - buffer
    - size
    argTypes:
    - cairo_truetype_font_t*
    - unsigned char*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 592
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 592
    functionName: cairo_truetype_font_remap_composite_glyph
    functionSourceFile: /src/cairo/src/cairo-truetype-subset.c
    functionUses: []
    functionsReached:
    - be16_to_cpu
    - cpu_to_be16
    - cairo_truetype_font_use_glyph
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t cairo_truetype_font_remap_composite_glyph (cairo_truetype_font_t\t\
      *font,\t\t\t\t\t unsigned char\t\t*buffer,\t\t\t\t\t unsigned long\t\t size) "
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-truetype-subset.c:1577,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-truetype-subset.c:1579,1
    - Dst: find_name
      Src: /src/cairo/src/cairo-truetype-subset.c:1590,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:1607,1
    - Dst: free
      Src: /src/cairo/src/cairo-truetype-subset.c:1635,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:1602,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:1624,1
    - Dst: _cairo_escape_ps_name
      Src: /src/cairo/src/cairo-truetype-subset.c:1623,1
    - Dst: find_name
      Src: /src/cairo/src/cairo-truetype-subset.c:1606,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:1596,1
    - Dst: find_name
      Src: /src/cairo/src/cairo-truetype-subset.c:1601,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:1619,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:1613,1
    - Dst: free
      Src: /src/cairo/src/cairo-truetype-subset.c:1637,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:1591,1
    - Dst: find_name
      Src: /src/cairo/src/cairo-truetype-subset.c:1595,1
    - Dst: find_name
      Src: /src/cairo/src/cairo-truetype-subset.c:1612,1
    - Dst: free
      Src: /src/cairo/src/cairo-truetype-subset.c:1627,1
    - Dst: find_name
      Src: /src/cairo/src/cairo-truetype-subset.c:1618,1
    - Dst: free
      Src: /src/cairo/src/cairo-truetype-subset.c:1636,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 49
    argCount: 3
    argNames:
    - scaled_font
    - ps_name_out
    - font_name_out
    argTypes:
    - cairo_scaled_font_t*
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 1642
      start: 1553
    functionDepth: 0
    functionLinenumber: 1553
    functionLinenumberEnd: 1642
    functionName: _cairo_truetype_read_font_name
    functionSourceFile: /src/cairo/src/cairo-truetype-subset.c
    functionUses: []
    functionsReached:
    - _cairo_malloc
    - find_name
    - _cairo_escape_ps_name
    - _cairo_error
    - free
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_truetype_read_font_name (cairo_scaled_font_t\
      \ \t *scaled_font,\t\t\t\tchar \t \t\t**ps_name_out,\t\t\t\tchar \t \t\t**font_name_out) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cpu_to_be32
      Src: /src/cairo/src/cairo-truetype-subset.c:362,1
    - Dst: cairo_truetype_font_write
      Src: /src/cairo/src/cairo-truetype-subset.c:363,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - font
    - value
    argTypes:
    - cairo_truetype_font_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 364
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 364
    functionName: cairo_truetype_font_write_be32
    functionSourceFile: /src/cairo/src/cairo-truetype-subset.c
    functionUses: []
    functionsReached:
    - cpu_to_be32
    - cairo_truetype_font_write
    linkageType: ''
    returnType: void
    signature: "static void cairo_truetype_font_write_be32 (cairo_truetype_font_t\
      \ *font,\t\t\t\tuint32_t value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-truetype-subset.c:959,1
    - Dst: cpu_to_be32
      Src: /src/cairo/src/cairo-truetype-subset.c:960,1
    - Dst: cpu_to_be32
      Src: /src/cairo/src/cairo-truetype-subset.c:962,1
    - Dst: cpu_to_be32
      Src: /src/cairo/src/cairo-truetype-subset.c:961,1
    - Dst: cairo_truetype_font_calculate_checksum
      Src: /src/cairo/src/cairo-truetype-subset.c:961,1
    - Dst: cpu_to_be32
      Src: /src/cairo/src/cairo-truetype-subset.c:963,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - font
    - index
    - tag
    - start
    - end
    argTypes:
    - cairo_truetype_font_t*
    - int
    - unsigned long
    - unsigned long
    - unsigned long
    constantsTouched: []
    func_position:
      end: 964
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 964
    functionName: cairo_truetype_font_update_entry
    functionSourceFile: /src/cairo/src/cairo-truetype-subset.c
    functionUses: []
    functionsReached:
    - cpu_to_be32
    - cairo_truetype_font_calculate_checksum
    - _cairo_array_index
    linkageType: ''
    returnType: void
    signature: "static void cairo_truetype_font_update_entry (cairo_truetype_font_t\
      \ *font,\t\t\t\t int index,\t\t\t\t unsigned long tag,\t\t\t\t unsigned long\
      \ start,\t\t\t\t unsigned long end) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-truetype-subset.c:1261,1
    - Dst: free
      Src: /src/cairo/src/cairo-truetype-subset.c:1262,1
    - Dst: free
      Src: /src/cairo/src/cairo-truetype-subset.c:1265,1
    - Dst: free
      Src: /src/cairo/src/cairo-truetype-subset.c:1264,1
    - Dst: free
      Src: /src/cairo/src/cairo-truetype-subset.c:1263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - subset
    argTypes:
    - cairo_truetype_subset_t*
    constantsTouched: []
    func_position:
      end: 1266
      start: 1258
    functionDepth: 0
    functionLinenumber: 1258
    functionLinenumberEnd: 1266
    functionName: _cairo_truetype_subset_fini
    functionSourceFile: /src/cairo/src/cairo-truetype-subset.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void _cairo_truetype_subset_fini (cairo_truetype_subset_t *subset) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-truetype-subset.c:373,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:382,1
    - Dst: memset
      Src: /src/cairo/src/cairo-truetype-subset.c:385,1
    - Dst: cairo_truetype_font_allocate_write_buffer
      Src: /src/cairo/src/cairo-truetype-subset.c:380,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - font
    - aligned
    argTypes:
    - cairo_truetype_font_t*
    - unsigned long*
    constantsTouched: []
    func_position:
      end: 389
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 389
    functionName: cairo_truetype_font_align_output
    functionSourceFile: /src/cairo/src/cairo-truetype-subset.c
    functionUses: []
    functionsReached:
    - cairo_truetype_font_allocate_write_buffer
    - _cairo_array_num_elements
    - memset
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t cairo_truetype_font_align_output (cairo_truetype_font_t\t\
      \ *font,\t unsigned long\t\t *aligned) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-truetype-subset.c:995,1
    - Dst: cairo_truetype_font_align_output
      Src: /src/cairo/src/cairo-truetype-subset.c:996,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:997,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-truetype-subset.c:1016,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-truetype-subset.c:1014,1
    - Dst: cairo_truetype_font_calculate_checksum
      Src: /src/cairo/src/cairo-truetype-subset.c:1010,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-truetype-subset.c:1018,1
    - Dst: cpu_to_be32
      Src: /src/cairo/src/cairo-truetype-subset.c:1012,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-truetype-subset.c:1015,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:986,1
    - Dst: cairo_truetype_font_align_output
      Src: /src/cairo/src/cairo-truetype-subset.c:985,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:992,1
    - Dst: cairo_truetype_font_update_entry
      Src: /src/cairo/src/cairo-truetype-subset.c:1000,1
    - Dst: cairo_truetype_font_write_offset_table
      Src: /src/cairo/src/cairo-truetype-subset.c:981,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:982,1
    - Dst: cairo_truetype_font_check_boundary
      Src: /src/cairo/src/cairo-truetype-subset.c:1002,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:1003,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-truetype-subset.c:1011,1
    - Dst: _cairo_truetype_font_set_error
      Src: /src/cairo/src/cairo-truetype-subset.c:1023,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 42
    argCount: 5
    argNames:
    - font
    - data
    - length
    - string_offsets
    - num_strings
    argTypes:
    - cairo_truetype_font_t*
    - char**
    - unsigned long*
    - unsigned long**
    - unsigned long*
    constantsTouched: []
    func_position:
      end: 1024
      start: 966
    functionDepth: 0
    functionLinenumber: 966
    functionLinenumberEnd: 1024
    functionName: cairo_truetype_font_generate
    functionSourceFile: /src/cairo/src/cairo-truetype-subset.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    - cpu_to_be32
    - _cairo_array_num_elements
    - cairo_truetype_font_update_entry
    - cairo_truetype_font_align_output
    - _cairo_truetype_font_set_error
    - cairo_truetype_font_calculate_checksum
    - cairo_truetype_font_check_boundary
    - cairo_truetype_font_write_offset_table
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t cairo_truetype_font_generate (cairo_truetype_font_t\
      \ *font,\t\t\t const char **data,\t\t\t unsigned long *length,\t\t\t const unsigned\
      \ long **string_offsets,\t\t\t unsigned long *num_strings) "
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: be16_to_cpu
      Src: /src/cairo/src/cairo-truetype-subset.c:1299,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:1292,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-truetype-subset.c:1304,1
    - Dst: be16_to_cpu
      Src: /src/cairo/src/cairo-truetype-subset.c:1296,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:1305,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-truetype-subset.c:1306,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-truetype-subset.c:1312,1
    - Dst: be16_to_cpu
      Src: /src/cairo/src/cairo-truetype-subset.c:1315,1
    - Dst: be16_to_cpu
      Src: /src/cairo/src/cairo-truetype-subset.c:1332,1
    - Dst: be16_to_cpu
      Src: /src/cairo/src/cairo-truetype-subset.c:1347,1
    - Dst: be16_to_cpu
      Src: /src/cairo/src/cairo-truetype-subset.c:1331,1
    - Dst: cpu_to_be16
      Src: /src/cairo/src/cairo-truetype-subset.c:1355,1
    - Dst: be16_to_cpu
      Src: /src/cairo/src/cairo-truetype-subset.c:1346,1
    - Dst: be16_to_cpu
      Src: /src/cairo/src/cairo-truetype-subset.c:1353,1
    - Dst: free
      Src: /src/cairo/src/cairo-truetype-subset.c:1381,1
    - Dst: be16_to_cpu
      Src: /src/cairo/src/cairo-truetype-subset.c:1337,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 85
    argCount: 4
    argNames:
    - scaled_font
    - table_offset
    - index
    - ucs4
    argTypes:
    - cairo_scaled_font_t*
    - unsigned long
    - unsigned long
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 1384
      start: 1268
    functionDepth: 0
    functionLinenumber: 1268
    functionLinenumberEnd: 1384
    functionName: _cairo_truetype_reverse_cmap
    functionSourceFile: /src/cairo/src/cairo-truetype-subset.c
    functionUses: []
    functionsReached:
    - be16_to_cpu
    - _cairo_malloc
    - _cairo_error
    - free
    - cpu_to_be16
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_truetype_reverse_cmap (cairo_scaled_font_t\
      \ *scaled_font,\t\t\t unsigned long table_offset,\t\t\t unsigned long index,\t\
      \t\t uint32_t *ucs4) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - x
    - y
    argTypes:
    - cairo_t*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: _cairo_backend_to_user
    functionSourceFile: /src/cairo/src/cairo-backend-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void _cairo_backend_to_user (cairo_t *cr, double *x,
      double *y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - x
    - y
    argTypes:
    - cairo_t*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 197
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 197
    functionName: _cairo_user_to_backend
    functionSourceFile: /src/cairo/src/cairo-backend-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void _cairo_user_to_backend (cairo_t *cr, double *x,
      double *y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - x
    - y
    argTypes:
    - cairo_t*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: _cairo_backend_to_user_distance
    functionSourceFile: /src/cairo/src/cairo-backend-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void _cairo_backend_to_user_distance (cairo_t *cr, double
      *x, double *y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - x
    - y
    argTypes:
    - cairo_t*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: _cairo_user_to_backend_distance
    functionSourceFile: /src/cairo/src/cairo-backend-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void _cairo_user_to_backend_distance (cairo_t *cr, double
      *x, double *y) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:63,1
    - Dst: _cairo_clip_copy_region
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:74,1
    - Dst: _cairo_surface_create_scratch
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:64,1
    - Dst: _cairo_surface_mask
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:113,1
    - Dst: _cairo_surface_mask
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:126,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:69,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:83,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:102,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:135,1
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:137,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:107,1
    - Dst: _cairo_surface_mask
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:119,1
    - Dst: _cairo_clip_is_region
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:73,1
    - Dst: _cairo_surface_offset_paint
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:77,1
    - Dst: _cairo_surface_offset_stroke
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:87,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:95,1
    - Dst: _cairo_clip_combine_with_surface
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:99,1
    - Dst: _cairo_pattern_fini
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:132,1
    - Dst: _cairo_pattern_init_for_surface
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:106,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 45
    argCount: 8
    argNames:
    - _compositor
    - extents
    - path
    - style
    - ctm
    - ctm_inverse
    - tolerance
    - antialias
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_antialias_t
    constantsTouched: []
    func_position:
      end: 139
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 139
    functionName: _cairo_shape_mask_compositor_stroke
    functionSourceFile: /src/cairo/src/cairo-shape-mask-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_init_for_surface
    - _cairo_surface_create_scratch
    - _cairo_clip_copy_region
    - TRACE
    - _cairo_clip_combine_with_surface
    - _cairo_surface_offset_stroke
    - _cairo_surface_mask
    - _cairo_clip_is_region
    - _cairo_clip_destroy
    - _cairo_pattern_fini
    - cairo_surface_destroy
    - _cairo_surface_offset_paint
    - cairo_matrix_init_translate
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_shape_mask_compositor_stroke (const\
      \ cairo_compositor_t *_compositor,\t\t\t\t cairo_composite_rectangles_t *extents,\t\
      \t\t\t const cairo_path_fixed_t\t*path,\t\t\t\t const cairo_stroke_style_t\t\
      *style,\t\t\t\t const cairo_matrix_t\t*ctm,\t\t\t\t const cairo_matrix_t\t*ctm_inverse,\t\
      \t\t\t double\t\t tolerance,\t\t\t\t cairo_antialias_t\t antialias) "
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:257,1
    - Dst: _cairo_surface_mask
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:300,1
    - Dst: _cairo_surface_mask
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:313,1
    - Dst: TRACE
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:251,1
    - Dst: _cairo_clip_copy_region
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:262,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:294,1
    - Dst: _cairo_surface_mask
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:306,1
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:323,1
    - Dst: _cairo_pattern_init_for_surface
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:293,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:271,1
    - Dst: _cairo_surface_offset_glyphs
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:275,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:282,1
    - Dst: _cairo_clip_combine_with_surface
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:286,1
    - Dst: _cairo_pattern_fini
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:319,1
    - Dst: _cairo_clip_is_region
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:261,1
    - Dst: _cairo_surface_create_scratch
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:252,1
    - Dst: _cairo_surface_offset_paint
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:265,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:289,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:324,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 45
    argCount: 6
    argNames:
    - _compositor
    - extents
    - scaled_font
    - glyphs
    - num_glyphs
    - overlap
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_scaled_font_t*
    - cairo_glyph_t*
    - int
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 326
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 326
    functionName: _cairo_shape_mask_compositor_glyphs
    functionSourceFile: /src/cairo/src/cairo-shape-mask-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_surface_offset_glyphs
    - _cairo_pattern_init_for_surface
    - _cairo_surface_create_scratch
    - _cairo_clip_copy_region
    - TRACE
    - _cairo_clip_combine_with_surface
    - _cairo_surface_mask
    - _cairo_clip_destroy
    - _cairo_clip_is_region
    - _cairo_pattern_fini
    - cairo_surface_destroy
    - _cairo_surface_offset_paint
    - cairo_matrix_init_translate
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_shape_mask_compositor_glyphs (const\
      \ cairo_compositor_t *_compositor,\t\t\t\t cairo_composite_rectangles_t *extents,\t\
      \t\t\t cairo_scaled_font_t\t*scaled_font,\t\t\t\t cairo_glyph_t\t\t*glyphs,\t\
      \t\t\t int\t\t\t num_glyphs,\t\t\t\t cairo_bool_t\t\t overlap) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - compositor
    - delegate
    argTypes:
    - cairo_compositor_t*
    - cairo_compositor_t*
    constantsTouched: []
    func_position:
      end: 339
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 339
    functionName: _cairo_shape_mask_compositor_init
    functionSourceFile: /src/cairo/src/cairo-shape-mask-compositor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _cairo_shape_mask_compositor_init (cairo_compositor_t *compositor,\t\
      \t\t\t const cairo_compositor_t *delegate) "
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_copy_region
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:169,1
    - Dst: _cairo_surface_mask
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:220,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:178,1
    - Dst: _cairo_surface_mask
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:213,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:231,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:196,1
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:230,1
    - Dst: TRACE
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:154,1
    - Dst: _cairo_surface_create_scratch
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:159,1
    - Dst: _cairo_clip_is_region
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:168,1
    - Dst: _cairo_surface_offset_paint
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:172,1
    - Dst: _cairo_surface_offset_fill
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:182,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:189,1
    - Dst: _cairo_clip_combine_with_surface
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:193,1
    - Dst: _cairo_surface_mask
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:207,1
    - Dst: _cairo_pattern_fini
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:226,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:164,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:201,1
    - Dst: _cairo_pattern_init_for_surface
      Src: /src/cairo/src/cairo-shape-mask-compositor.c:200,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 45
    argCount: 6
    argNames:
    - _compositor
    - extents
    - path
    - fill_rule
    - tolerance
    - antialias
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    constantsTouched: []
    func_position:
      end: 233
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 233
    functionName: _cairo_shape_mask_compositor_fill
    functionSourceFile: /src/cairo/src/cairo-shape-mask-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_init_for_surface
    - _cairo_surface_create_scratch
    - _cairo_clip_copy_region
    - TRACE
    - _cairo_clip_combine_with_surface
    - _cairo_surface_mask
    - _cairo_clip_destroy
    - _cairo_clip_is_region
    - _cairo_surface_offset_fill
    - _cairo_pattern_fini
    - cairo_surface_destroy
    - _cairo_surface_offset_paint
    - cairo_matrix_init_translate
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_shape_mask_compositor_fill (const\
      \ cairo_compositor_t *_compositor,\t\t\t\t cairo_composite_rectangles_t *extents,\t\
      \t\t\t const cairo_path_fixed_t\t*path,\t\t\t\t cairo_fill_rule_t\t fill_rule,\t\
      \t\t\t double\t\t\t tolerance,\t\t\t\t cairo_antialias_t\t antialias) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - size_t
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 216
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 216
    functionName: _cairo_fallback_add_size_t_overflow
    functionSourceFile: /src/cairo/src/cairo-compiler-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_always_inline
    signature: 'static cairo_always_inline cairo_bool_t _cairo_fallback_add_size_t_overflow(size_t
      a, size_t b, size_t *c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - size_t
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 226
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 226
    functionName: _cairo_fallback_mul_size_t_overflow
    functionSourceFile: /src/cairo/src/cairo-compiler-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_always_inline
    signature: 'static cairo_always_inline cairo_bool_t _cairo_fallback_mul_size_t_overflow(size_t
      a, size_t b, size_t *c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-traps.c:722,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-traps.c:723,1
    - Dst: _cairo_trap_contains
      Src: /src/cairo/src/cairo-traps.c:726,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - traps
    - x
    - y
    argTypes:
    - cairo_traps_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 731
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 731
    functionName: _cairo_traps_contain
    functionSourceFile: /src/cairo/src/cairo-traps.c
    functionUses: []
    functionsReached:
    - _cairo_trap_contains
    - _cairo_fixed_from_double
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t _cairo_traps_contain (const cairo_traps_t *traps,\t\t\
      \ double x, double y) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_edge_compute_intersection_x_for_y
      Src: /src/cairo/src/cairo-traps.c:737,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - line
    - y
    argTypes:
    - cairo_line_t*
    - cairo_fixed_t
    constantsTouched: []
    func_position:
      end: 738
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 738
    functionName: _line_compute_intersection_x_for_y
    functionSourceFile: /src/cairo/src/cairo-traps.c
    functionUses: []
    functionsReached:
    - _cairo_edge_compute_intersection_x_for_y
    linkageType: ''
    returnType: cairo_fixed_t
    signature: "static cairo_fixed_t _line_compute_intersection_x_for_y (const cairo_line_t\
      \ *line,\t\t\t\t cairo_fixed_t y) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_INJECT_FAULT
      Src: /src/cairo/src/cairo-traps.c:125,1
    - Dst: _cairo_realloc_ab
      Src: /src/cairo/src/cairo-traps.c:135,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-traps.c:133,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-traps.c:131,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-traps.c:126,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps.c:139,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-traps.c:140,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - traps
    argTypes:
    - cairo_traps_t*
    constantsTouched: []
    func_position:
      end: 147
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 147
    functionName: _cairo_traps_grow
    functionSourceFile: /src/cairo/src/cairo-traps.c
    functionUses: []
    functionsReached:
    - memcpy
    - _cairo_error
    - _cairo_realloc_ab
    - _cairo_malloc_ab
    - CAIRO_INJECT_FAULT
    - unlikely
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_traps_grow (cairo_traps_t *traps) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _compare_point_fixed_by_y
      Src: /src/cairo/src/cairo-traps.c:268,1
    - Dst: _cairo_slope_init
      Src: /src/cairo/src/cairo-traps.c:309,1
    - Dst: _cairo_slope_init
      Src: /src/cairo/src/cairo-traps.c:311,1
    - Dst: _cairo_slope_init
      Src: /src/cairo/src/cairo-traps.c:307,1
    - Dst: _compare_point_fixed_by_y
      Src: /src/cairo/src/cairo-traps.c:277,1
    - Dst: _cairo_slope_compare
      Src: /src/cairo/src/cairo-traps.c:313,1
    - Dst: _cairo_traps_add_clipped_trap
      Src: /src/cairo/src/cairo-traps.c:330,1
    - Dst: _cairo_traps_add_clipped_trap
      Src: /src/cairo/src/cairo-traps.c:332,1
    - Dst: _cairo_traps_add_clipped_trap
      Src: /src/cairo/src/cairo-traps.c:334,1
    - Dst: _cairo_traps_add_clipped_trap
      Src: /src/cairo/src/cairo-traps.c:348,1
    - Dst: _cairo_traps_add_clipped_trap
      Src: /src/cairo/src/cairo-traps.c:372,1
    - Dst: _cairo_traps_add_clipped_trap
      Src: /src/cairo/src/cairo-traps.c:390,1
    - Dst: _cairo_traps_add_clipped_trap
      Src: /src/cairo/src/cairo-traps.c:370,1
    - Dst: _cairo_traps_add_clipped_trap
      Src: /src/cairo/src/cairo-traps.c:388,1
    - Dst: _cairo_traps_add_clipped_trap
      Src: /src/cairo/src/cairo-traps.c:352,1
    - Dst: _cairo_traps_add_clipped_trap
      Src: /src/cairo/src/cairo-traps.c:368,1
    - Dst: _cairo_traps_add_clipped_trap
      Src: /src/cairo/src/cairo-traps.c:386,1
    - Dst: _cairo_traps_add_clipped_trap
      Src: /src/cairo/src/cairo-traps.c:350,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 85
    argCount: 2
    argNames:
    - traps
    - q
    argTypes:
    - cairo_traps_t*
    - cairo_point_t
    constantsTouched: []
    func_position:
      end: 393
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 393
    functionName: _cairo_traps_tessellate_convex_quad
    functionSourceFile: /src/cairo/src/cairo-traps.c
    functionUses: []
    functionsReached:
    - _compare_point_fixed_by_y
    - _cairo_slope_compare
    - _cairo_traps_add_clipped_trap
    - _cairo_slope_init
    linkageType: ''
    returnType: void
    signature: "void _cairo_traps_tessellate_convex_quad (cairo_traps_t *traps,\t\t\
      \t\t const cairo_point_t q[4]) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: add_tri
      Src: /src/cairo/src/cairo-traps.c:439,1
    - Dst: add_tri
      Src: /src/cairo/src/cairo-traps.c:452,1
    - Dst: abs
      Src: /src/cairo/src/cairo-traps.c:454,1
    - Dst: add_tri
      Src: /src/cairo/src/cairo-traps.c:453,1
    - Dst: abs
      Src: /src/cairo/src/cairo-traps.c:454,1
    - Dst: add_tri
      Src: /src/cairo/src/cairo-traps.c:455,1
    - Dst: add_tri
      Src: /src/cairo/src/cairo-traps.c:456,1
    - Dst: add_tri
      Src: /src/cairo/src/cairo-traps.c:458,1
    - Dst: add_tri
      Src: /src/cairo/src/cairo-traps.c:459,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 3
    argNames:
    - traps
    - t
    - edges
    argTypes:
    - cairo_traps_t*
    - cairo_point_t
    - cairo_point_t
    constantsTouched: []
    func_position:
      end: 461
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 461
    functionName: _cairo_traps_tessellate_triangle_with_edges
    functionSourceFile: /src/cairo/src/cairo-traps.c
    functionUses: []
    functionsReached:
    - abs
    - add_tri
    linkageType: ''
    returnType: void
    signature: "void _cairo_traps_tessellate_triangle_with_edges (cairo_traps_t *traps,\t\
      \t\t\t\t const cairo_point_t t[3],\t\t\t\t\t const cairo_point_t edges[4]) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-traps.c:655,1
    - Dst: _cairo_fixed_mul
      Src: /src/cairo/src/cairo-traps.c:676,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-traps.c:673,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-traps.c:672,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-traps.c:656,1
    - Dst: _cairo_fixed_mul
      Src: /src/cairo/src/cairo-traps.c:677,1
    - Dst: _cairo_fixed_mul
      Src: /src/cairo/src/cairo-traps.c:678,1
    - Dst: _cairo_fixed_mul
      Src: /src/cairo/src/cairo-traps.c:679,1
    - Dst: _cairo_fixed_mul
      Src: /src/cairo/src/cairo-traps.c:680,1
    - Dst: _cairo_fixed_mul
      Src: /src/cairo/src/cairo-traps.c:681,1
    - Dst: _cairo_fixed_mul
      Src: /src/cairo/src/cairo-traps.c:682,1
    - Dst: _cairo_fixed_mul
      Src: /src/cairo/src/cairo-traps.c:683,1
    - Dst: _cairo_fixed_mul
      Src: /src/cairo/src/cairo-traps.c:685,1
    - Dst: _cairo_fixed_mul
      Src: /src/cairo/src/cairo-traps.c:684,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 66
    argCount: 7
    argNames:
    - offset_traps
    - src_traps
    - num_traps
    - tx
    - ty
    - sx
    - sy
    argTypes:
    - cairo_trapezoid_t*
    - cairo_trapezoid_t*
    - int
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 688
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 688
    functionName: _cairo_trapezoid_array_translate_and_scale
    functionSourceFile: /src/cairo/src/cairo-traps.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_mul
    - _cairo_fixed_from_double
    linkageType: ''
    returnType: void
    signature: 'void _cairo_trapezoid_array_translate_and_scale (cairo_trapezoid_t
      *offset_traps, cairo_trapezoid_t *src_traps, int num_traps, double tx, double
      ty, double sx, double sy) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-traps.c:157,1
    - Dst: assert
      Src: /src/cairo/src/cairo-traps.c:159,1
    - Dst: assert
      Src: /src/cairo/src/cairo-traps.c:158,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps.c:162,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps.c:161,1
    - Dst: _cairo_traps_grow
      Src: /src/cairo/src/cairo-traps.c:162,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 5
    argNames:
    - traps
    - top
    - bottom
    - left
    - right
    argTypes:
    - cairo_traps_t*
    - cairo_fixed_t
    - cairo_fixed_t
    - cairo_line_t*
    - cairo_line_t*
    constantsTouched: []
    func_position:
      end: 171
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 171
    functionName: _cairo_traps_add_trap
    functionSourceFile: /src/cairo/src/cairo-traps.c
    functionUses: []
    functionsReached:
    - _cairo_traps_grow
    - unlikely
    - assert
    linkageType: ''
    returnType: void
    signature: "void _cairo_traps_add_trap (cairo_traps_t *traps,\t\t cairo_fixed_t\
      \ top, cairo_fixed_t bottom,\t\t const cairo_line_t *left,\t\t const cairo_line_t\
      \ *right) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_lines_compare_at_y
      Src: /src/cairo/src/cairo-traps.c:406,1
    - Dst: _cairo_traps_add_clipped_trap
      Src: /src/cairo/src/cairo-traps.c:412,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 5
    argNames:
    - traps
    - y1
    - y2
    - left
    - right
    argTypes:
    - cairo_traps_t*
    - int
    - int
    - cairo_line_t*
    - cairo_line_t*
    constantsTouched: []
    func_position:
      end: 413
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 413
    functionName: add_tri
    functionSourceFile: /src/cairo/src/cairo-traps.c
    functionUses: []
    functionsReached:
    - _cairo_lines_compare_at_y
    - _cairo_traps_add_clipped_trap
    linkageType: ''
    returnType: void
    signature: "static void add_tri (cairo_traps_t *traps,\t\t int y1, int y2,\t\t\
      \ const cairo_line_t *left,\t\t const cairo_line_t *right) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_slope_init
      Src: /src/cairo/src/cairo-traps.c:700,1
    - Dst: _cairo_slope_init
      Src: /src/cairo/src/cairo-traps.c:701,1
    - Dst: _cairo_slope_init
      Src: /src/cairo/src/cairo-traps.c:707,1
    - Dst: _cairo_slope_compare
      Src: /src/cairo/src/cairo-traps.c:703,1
    - Dst: _cairo_slope_init
      Src: /src/cairo/src/cairo-traps.c:706,1
    - Dst: _cairo_slope_compare
      Src: /src/cairo/src/cairo-traps.c:709,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - t
    - pt
    argTypes:
    - cairo_trapezoid_t*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 713
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 713
    functionName: _cairo_trap_contains
    functionSourceFile: /src/cairo/src/cairo-traps.c
    functionUses: []
    functionsReached:
    - _cairo_slope_compare
    - _cairo_slope_init
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_trap_contains (cairo_trapezoid_t *t, cairo_point_t
      *pt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-traps.c:1105,1
    - Dst: _cairo_box_round_to_rectangle
      Src: /src/cairo/src/cairo-traps.c:1112,1
    - Dst: _cairo_mono_scan_converter_create
      Src: /src/cairo/src/cairo-traps.c:1113,1
    - Dst: assert
      Src: /src/cairo/src/cairo-traps.c:1107,1
    - Dst: _cairo_mono_scan_converter_add_polygon
      Src: /src/cairo/src/cairo-traps.c:1117,1
    - Dst: likely
      Src: /src/cairo/src/cairo-traps.c:1118,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - polygon
    - fill_rule
    - antialias
    - traps
    argTypes:
    - cairo_polygon_t*
    - cairo_fill_rule_t
    - cairo_antialias_t
    - cairo_traps_t*
    constantsTouched: []
    func_position:
      end: 1122
      start: 1094
    functionDepth: 0
    functionLinenumber: 1094
    functionLinenumberEnd: 1122
    functionName: _cairo_rasterise_polygon_to_traps
    functionSourceFile: /src/cairo/src/cairo-traps.c
    functionUses: []
    functionsReached:
    - _cairo_mono_scan_converter_add_polygon
    - _cairo_box_round_to_rectangle
    - TRACE
    - _cairo_mono_scan_converter_create
    - assert
    - likely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_rasterise_polygon_to_traps (cairo_polygon_t\t\
      \t\t*polygon,\t\t\t\t cairo_fill_rule_t\t\t\t fill_rule,\t\t\t\t cairo_antialias_t\t\
      \t\t antialias,\t\t\t\t cairo_traps_t *traps) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VG
      Src: /src/cairo/src/cairo-traps.c:55,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/cairo/src/cairo-traps.c:55,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-traps.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - traps
    argTypes:
    - cairo_traps_t*
    constantsTouched: []
    func_position:
      end: 70
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 70
    functionName: _cairo_traps_init
    functionSourceFile: /src/cairo/src/cairo-traps.c
    functionUses: []
    functionsReached:
    - VALGRIND_MAKE_MEM_UNDEFINED
    - ARRAY_LENGTH
    - VG
    linkageType: ''
    returnType: void
    signature: 'void _cairo_traps_init (cairo_traps_t *traps) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - traps
    argTypes:
    - cairo_traps_t*
    constantsTouched: []
    func_position:
      end: 107
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 107
    functionName: _cairo_traps_clear
    functionSourceFile: /src/cairo/src/cairo-traps.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void _cairo_traps_clear (cairo_traps_t *traps) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_traps_add_trap
      Src: /src/cairo/src/cairo-traps.c:239,1
    - Dst: _cairo_traps_add_trap
      Src: /src/cairo/src/cairo-traps.c:241,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 35
    argCount: 5
    argNames:
    - traps
    - _top
    - _bottom
    - _left
    - _right
    argTypes:
    - cairo_traps_t*
    - cairo_fixed_t
    - cairo_fixed_t
    - cairo_line_t*
    - cairo_line_t*
    constantsTouched: []
    func_position:
      end: 242
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 242
    functionName: _cairo_traps_add_clipped_trap
    functionSourceFile: /src/cairo/src/cairo-traps.c
    functionUses: []
    functionsReached:
    - _cairo_traps_add_trap
    linkageType: ''
    returnType: void
    signature: "static void _cairo_traps_add_clipped_trap (cairo_traps_t *traps,\t\
      \t\t cairo_fixed_t _top, cairo_fixed_t _bottom,\t\t\t const cairo_line_t *_left,\t\
      \t\t const cairo_line_t *_right) "
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_traps_add_trap
      Src: /src/cairo/src/cairo-traps.c:607,1
    - Dst: _cairo_traps_add_trap
      Src: /src/cairo/src/cairo-traps.c:612,1
    - Dst: _cairo_traps_add_trap
      Src: /src/cairo/src/cairo-traps.c:609,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 60
    argCount: 3
    argNames:
    - traps
    - top_left
    - bottom_right
    argTypes:
    - cairo_traps_t*
    - cairo_point_t*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 616
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 616
    functionName: _cairo_traps_tessellate_rectangle
    functionSourceFile: /src/cairo/src/cairo-traps.c
    functionUses: []
    functionsReached:
    - _cairo_traps_add_trap
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_traps_tessellate_rectangle (cairo_traps_t *traps,\t\
      \t\t\t const cairo_point_t *top_left,\t\t\t\t const cairo_point_t *bottom_right) "
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: _line_compute_intersection_x_for_y
      Src: /src/cairo/src/cairo-traps.c:766,1
    - Dst: _line_compute_intersection_x_for_y
      Src: /src/cairo/src/cairo-traps.c:797,1
    - Dst: _line_compute_intersection_x_for_y
      Src: /src/cairo/src/cairo-traps.c:787,1
    - Dst: _line_compute_intersection_x_for_y
      Src: /src/cairo/src/cairo-traps.c:776,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 54
    argCount: 2
    argNames:
    - traps
    - extents
    argTypes:
    - cairo_traps_t*
    - cairo_box_t*
    constantsTouched: []
    func_position:
      end: 805
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 805
    functionName: _cairo_traps_extents
    functionSourceFile: /src/cairo/src/cairo-traps.c
    functionUses: []
    functionsReached:
    - _line_compute_intersection_x_for_y
    linkageType: ''
    returnType: void
    signature: "void _cairo_traps_extents (const cairo_traps_t *traps,\t\t cairo_box_t\
      \ *extents) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_STACK_ARRAY_LENGTH
      Src: /src/cairo/src/cairo-traps.c:865,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps.c:882,1
    - Dst: _traps_are_pixel_aligned
      Src: /src/cairo/src/cairo-traps.c:874,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-traps.c:879,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-traps.c:880,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-traps.c:883,1
    - Dst: _cairo_fixed_integer_round_down
      Src: /src/cairo/src/cairo-traps.c:891,1
    - Dst: _cairo_fixed_integer_round_down
      Src: /src/cairo/src/cairo-traps.c:892,1
    - Dst: _cairo_fixed_integer_round_down
      Src: /src/cairo/src/cairo-traps.c:893,1
    - Dst: _cairo_fixed_integer_round_down
      Src: /src/cairo/src/cairo-traps.c:894,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-traps.c:896,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-traps.c:897,1
    - Dst: cairo_region_create_rectangles
      Src: /src/cairo/src/cairo-traps.c:912,1
    - Dst: free
      Src: /src/cairo/src/cairo-traps.c:916,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-traps.c:899,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-traps.c:898,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 55
    argCount: 3
    argNames:
    - traps
    - antialias
    - region
    argTypes:
    - cairo_traps_t*
    - cairo_antialias_t
    - cairo_region_t**
    constantsTouched: []
    func_position:
      end: 919
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 919
    functionName: _cairo_traps_extract_region
    functionSourceFile: /src/cairo/src/cairo-traps.c
    functionUses: []
    functionsReached:
    - CAIRO_STACK_ARRAY_LENGTH
    - _cairo_fixed_integer_part
    - _cairo_error
    - free
    - cairo_region_create_rectangles
    - ARRAY_LENGTH
    - _cairo_fixed_integer_round_down
    - _traps_are_pixel_aligned
    - _cairo_malloc_ab
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_traps_extract_region (cairo_traps_t *traps,\t\
      \t\t cairo_antialias_t antialias,\t\t\t cairo_region_t **region) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_boxes_init
      Src: /src/cairo/src/cairo-traps.c:934,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-traps.c:956,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-traps.c:957,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-traps.c:957,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-traps.c:956,1
    - Dst: _cairo_fixed_round_down
      Src: /src/cairo/src/cairo-traps.c:971,1
    - Dst: _cairo_fixed_round_down
      Src: /src/cairo/src/cairo-traps.c:972,1
    - Dst: _cairo_fixed_round_down
      Src: /src/cairo/src/cairo-traps.c:973,1
    - Dst: _cairo_fixed_round_down
      Src: /src/cairo/src/cairo-traps.c:974,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 3
    argNames:
    - traps
    - antialias
    - boxes
    argTypes:
    - cairo_traps_t*
    - cairo_antialias_t
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 979
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 979
    functionName: _cairo_traps_to_boxes
    functionSourceFile: /src/cairo/src/cairo-traps.c
    functionUses: []
    functionsReached:
    - _cairo_boxes_init
    - _cairo_fixed_is_integer
    - _cairo_fixed_round_down
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t _cairo_traps_to_boxes (cairo_traps_t *traps,\t\t cairo_antialias_t\
      \ antialias,\t\t cairo_boxes_t *boxes) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-traps.c:113,1
    - Dst: VG
      Src: /src/cairo/src/cairo-traps.c:115,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/cairo/src/cairo-traps.c:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - traps
    argTypes:
    - cairo_traps_t*
    constantsTouched: []
    func_position:
      end: 116
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 116
    functionName: _cairo_traps_fini
    functionSourceFile: /src/cairo/src/cairo-traps.c
    functionUses: []
    functionsReached:
    - free
    - VALGRIND_MAKE_MEM_UNDEFINED
    - VG
    linkageType: ''
    returnType: void
    signature: 'void _cairo_traps_fini (cairo_traps_t *traps) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - av
    - bv
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 252
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 252
    functionName: _compare_point_fixed_by_y
    functionSourceFile: /src/cairo/src/cairo-traps.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int _compare_point_fixed_by_y (const void *av, const void *bv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-traps.c:630,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-traps.c:631,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - traps
    - x
    - y
    argTypes:
    - cairo_traps_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 645
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 645
    functionName: _cairo_traps_translate
    functionSourceFile: /src/cairo/src/cairo-traps.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_from_int
    linkageType: ''
    returnType: void
    signature: 'void _cairo_traps_translate (cairo_traps_t *traps, int x, int y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_integer_round_down
      Src: /src/cairo/src/cairo-traps.c:810,1
    - Dst: _cairo_fixed_integer_round_down
      Src: /src/cairo/src/cairo-traps.c:810,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - line
    argTypes:
    - cairo_line_t*
    constantsTouched: []
    func_position:
      end: 811
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 811
    functionName: _mono_edge_is_vertical
    functionSourceFile: /src/cairo/src/cairo-traps.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_integer_round_down
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _mono_edge_is_vertical (const cairo_line_t *line) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_traps_init
      Src: /src/cairo/src/cairo-traps.c:479,1
    - Dst: _cairo_traps_fini
      Src: /src/cairo/src/cairo-traps.c:483,1
    - Dst: _cairo_traps_grow
      Src: /src/cairo/src/cairo-traps.c:482,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-traps.c:484,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps.c:482,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 2
    argNames:
    - traps
    - boxes
    argTypes:
    - cairo_traps_t*
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 516
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 516
    functionName: _cairo_traps_init_boxes
    functionSourceFile: /src/cairo/src/cairo-traps.c
    functionUses: []
    functionsReached:
    - _cairo_traps_init
    - _cairo_traps_fini
    - _cairo_error
    - _cairo_traps_grow
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_traps_init_boxes (cairo_traps_t\t *traps,\t\t\
      \ const cairo_boxes_t *boxes) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _mono_edge_is_vertical
      Src: /src/cairo/src/cairo-traps.c:821,1
    - Dst: _mono_edge_is_vertical
      Src: /src/cairo/src/cairo-traps.c:822,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-traps.c:834,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-traps.c:833,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-traps.c:832,1
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-traps.c:835,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 2
    argNames:
    - traps
    - antialias
    argTypes:
    - cairo_traps_t*
    - cairo_antialias_t
    constantsTouched: []
    func_position:
      end: 844
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 844
    functionName: _traps_are_pixel_aligned
    functionSourceFile: /src/cairo/src/cairo-traps.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_is_integer
    - _mono_edge_is_vertical
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _traps_are_pixel_aligned (cairo_traps_t *traps,\t\
      \t\t cairo_antialias_t antialias) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_box_add_box
      Src: /src/cairo/src/cairo-traps.c:84,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - traps
    - limits
    - num_limits
    argTypes:
    - cairo_traps_t*
    - cairo_box_t*
    - int
    constantsTouched: []
    func_position:
      end: 85
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 85
    functionName: _cairo_traps_limit
    functionSourceFile: /src/cairo/src/cairo-traps.c
    functionUses: []
    functionsReached:
    - _cairo_box_add_box
    linkageType: ''
    returnType: void
    signature: "void _cairo_traps_limit (cairo_traps_t\t*traps,\t\t const cairo_box_t\t\
      *limits,\t\t int\t\t\t num_limits) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _sanitize_trap
      Src: /src/cairo/src/cairo-traps.c:1011,1
    - Dst: _cairo_path_fixed_move_to
      Src: /src/cairo/src/cairo-traps.c:1013,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps.c:1016,1
    - Dst: _cairo_path_fixed_line_to
      Src: /src/cairo/src/cairo-traps.c:1015,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps.c:1014,1
    - Dst: _cairo_path_fixed_line_to
      Src: /src/cairo/src/cairo-traps.c:1017,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps.c:1018,1
    - Dst: _cairo_path_fixed_line_to
      Src: /src/cairo/src/cairo-traps.c:1019,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps.c:1020,1
    - Dst: _cairo_path_fixed_close_path
      Src: /src/cairo/src/cairo-traps.c:1021,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-traps.c:1022,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 2
    argNames:
    - traps
    - path
    argTypes:
    - cairo_traps_t*
    - cairo_path_fixed_t*
    constantsTouched: []
    func_position:
      end: 1026
      start: 998
    functionDepth: 0
    functionLinenumber: 998
    functionLinenumberEnd: 1026
    functionName: _cairo_traps_path
    functionSourceFile: /src/cairo/src/cairo-traps.c
    functionUses: []
    functionsReached:
    - _sanitize_trap
    - _cairo_path_fixed_move_to
    - _cairo_path_fixed_line_to
    - _cairo_path_fixed_close_path
    - unlikely
    linkageType: ''
    returnType: cairo_private
    signature: "cairo_private cairo_status_t _cairo_traps_path (const cairo_traps_t\
      \ *traps,\t\t cairo_path_fixed_t *path) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_traps_init
      Src: /src/cairo/src/cairo-traps.c:91,1
    - Dst: _cairo_traps_limit
      Src: /src/cairo/src/cairo-traps.c:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - traps
    - clip
    argTypes:
    - cairo_traps_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: _cairo_traps_init_with_clip
    functionSourceFile: /src/cairo/src/cairo-traps.c
    functionUses: []
    functionsReached:
    - _cairo_traps_init
    - _cairo_traps_limit
    linkageType: ''
    returnType: void
    signature: "void _cairo_traps_init_with_clip (cairo_traps_t *traps,\t\t\t const\
      \ cairo_clip_t *clip) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cairo/src/cairo-traps.c:1036,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-traps.c:1044,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-traps.c:1049,1
    - Dst: _cairo_traps_extents
      Src: /src/cairo/src/cairo-traps.c:1043,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - file
    - traps
    argTypes:
    - FILE*
    - cairo_traps_t*
    constantsTouched: []
    func_position:
      end: 1061
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1061
    functionName: _cairo_debug_print_traps
    functionSourceFile: /src/cairo/src/cairo-traps.c
    functionUses: []
    functionsReached:
    - printf
    - _cairo_traps_extents
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'void _cairo_debug_print_traps (FILE *file, const cairo_traps_t *traps) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-traps.c:1078,1
    - Dst: _cairo_traps_add_trap
      Src: /src/cairo/src/cairo-traps.c:1086,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-traps.c:1083,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-traps.c:1079,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-traps.c:1082,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 5
    argNames:
    - abstract_renderer
    - y
    - h
    - spans
    - num_spans
    argTypes:
    - void*
    - int
    - int
    - cairo_half_open_span_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 1092
      start: 1068
    functionDepth: 0
    functionLinenumber: 1068
    functionLinenumberEnd: 1092
    functionName: span_to_traps
    functionSourceFile: /src/cairo/src/cairo-traps.c
    functionUses: []
    functionsReached:
    - _cairo_traps_add_trap
    - _cairo_fixed_from_int
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t span_to_traps (void *abstract_renderer, int\
      \ y, int h,\t const cairo_half_open_span_t *spans, unsigned num_spans) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FIX
      Src: /src/cairo/src/cairo-traps.c:992,1
    - Dst: FIX
      Src: /src/cairo/src/cairo-traps.c:993,1
    - Dst: FIX
      Src: /src/cairo/src/cairo-traps.c:995,1
    - Dst: FIX
      Src: /src/cairo/src/cairo-traps.c:994,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - t
    argTypes:
    - cairo_trapezoid_t*
    constantsTouched: []
    func_position:
      end: 996
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 996
    functionName: _sanitize_trap
    functionSourceFile: /src/cairo/src/cairo-traps.c
    functionUses: []
    functionsReached:
    - FIX
    linkageType: ''
    returnType: void
    signature: 'static void _sanitize_trap (cairo_trapezoid_t *t) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - closure
    - point
    argTypes:
    - void*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 69
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 69
    functionName: _cpc_move_to
    functionSourceFile: /src/cairo/src/cairo-path.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cpc_move_to (void *closure,\t const cairo_point_t\
      \ *point) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 4
    argNames:
    - closure
    - p1
    - p2
    - p3
    argTypes:
    - void*
    - cairo_point_t*
    - cairo_point_t*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 93
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 93
    functionName: _cpc_curve_to
    functionSourceFile: /src/cairo/src/cairo-path.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cpc_curve_to (void\t\t*closure,\t const cairo_point_t\t\
      *p1,\t const cairo_point_t\t*p2,\t const cairo_point_t\t*p3) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path.c:152,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path.c:153,1
    - Dst: _cairo_backend_to_user
      Src: /src/cairo/src/cairo-path.c:155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - closure
    - point
    argTypes:
    - void*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 167
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 167
    functionName: _cpp_move_to
    functionSourceFile: /src/cairo/src/cairo-path.c
    functionUses: []
    functionsReached:
    - _cairo_backend_to_user
    - _cairo_fixed_to_double
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cpp_move_to (void *closure,\t const cairo_point_t\
      \ *point) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path.c:206,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path.c:211,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path.c:207,1
    - Dst: _cairo_backend_to_user
      Src: /src/cairo/src/cairo-path.c:208,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path.c:210,1
    - Dst: _cairo_backend_to_user
      Src: /src/cairo/src/cairo-path.c:212,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path.c:214,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path.c:215,1
    - Dst: _cairo_backend_to_user
      Src: /src/cairo/src/cairo-path.c:216,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 4
    argNames:
    - closure
    - p1
    - p2
    - p3
    argTypes:
    - void*
    - cairo_point_t*
    - cairo_point_t*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 234
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 234
    functionName: _cpp_curve_to
    functionSourceFile: /src/cairo/src/cairo-path.c
    functionUses: []
    functionsReached:
    - _cairo_backend_to_user
    - _cairo_fixed_to_double
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cpp_curve_to (void\t\t\t*closure,\t const cairo_point_t\t\
      *p1,\t const cairo_point_t\t*p2,\t const cairo_point_t\t*p3) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_fixed_interpret_flat
      Src: /src/cairo/src/cairo-path.c:263,1
    - Dst: cairo_get_tolerance
      Src: /src/cairo/src/cairo-path.c:268,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path.c:278,1
    - Dst: assert
      Src: /src/cairo/src/cairo-path.c:282,1
    - Dst: _cairo_path_fixed_interpret
      Src: /src/cairo/src/cairo-path.c:270,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - path
    - path_fixed
    - cr
    - flatten
    argTypes:
    - cairo_path_t*
    - cairo_path_fixed_t*
    - cairo_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 285
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 285
    functionName: _cairo_path_populate
    functionSourceFile: /src/cairo/src/cairo-path.c
    functionUses: []
    functionsReached:
    - cairo_get_tolerance
    - _cairo_path_fixed_interpret
    - _cairo_path_fixed_interpret_flat
    - assert
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_path_populate (cairo_path_t\t\t*path,\t\
      \t cairo_path_fixed_t\t*path_fixed,\t\t cairo_t\t\t\t*cr,\t\t cairo_bool_t\t\
      \t flatten) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-path.c:370,1
    - Dst: free
      Src: /src/cairo/src/cairo-path.c:372,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - path
    argTypes:
    - cairo_path_t*
    constantsTouched: []
    func_position:
      end: 373
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 373
    functionName: cairo_path_destroy
    functionSourceFile: /src/cairo/src/cairo-path.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void cairo_path_destroy (cairo_path_t *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_create_internal
      Src: /src/cairo/src/cairo-path.c:393,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 394
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 394
    functionName: _cairo_path_create
    functionSourceFile: /src/cairo/src/cairo-path.c
    functionUses: []
    functionsReached:
    - _cairo_path_create_internal
    linkageType: ''
    returnType: cairo_path_t*
    signature: "cairo_path_t *_cairo_path_create (cairo_path_fixed_t\t*path,\t\t cairo_t\t\
      \t*cr) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - closure
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 103
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 103
    functionName: _cpc_close_path
    functionSourceFile: /src/cairo/src/cairo-path.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cpc_close_path (void *closure) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - closure
    - point
    argTypes:
    - void*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 80
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 80
    functionName: _cpc_line_to
    functionSourceFile: /src/cairo/src/cairo-path.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cpc_line_to (void *closure,\t const cairo_point_t\
      \ *point) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path.c:177,1
    - Dst: _cairo_backend_to_user
      Src: /src/cairo/src/cairo-path.c:180,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path.c:178,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - closure
    - point
    argTypes:
    - void*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 192
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 192
    functionName: _cpp_line_to
    functionSourceFile: /src/cairo/src/cairo-path.c
    functionUses: []
    functionsReached:
    - _cairo_backend_to_user
    - _cairo_fixed_to_double
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cpp_line_to (void *closure,\t const cairo_point_t\
      \ *point) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - closure
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 248
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 248
    functionName: _cpp_close_path
    functionSourceFile: /src/cairo/src/cairo-path.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cpp_close_path (void *closure) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-path.c:296,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-path.c:298,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path.c:297,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 307
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 307
    functionName: _cairo_path_create_in_error
    functionSourceFile: /src/cairo/src/cairo-path.c
    functionUses: []
    functionsReached:
    - unlikely
    - _cairo_error_throw
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_path_t*
    signature: 'cairo_path_t *_cairo_path_create_in_error (cairo_status_t status) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_fixed_interpret_flat
      Src: /src/cairo/src/cairo-path.c:117,1
    - Dst: _cairo_path_fixed_interpret
      Src: /src/cairo/src/cairo-path.c:124,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path.c:132,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - path
    - path_fixed
    - tolerance
    - flatten
    argTypes:
    - cairo_path_t*
    - cairo_path_fixed_t*
    - double
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 136
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 136
    functionName: _cairo_path_count
    functionSourceFile: /src/cairo/src/cairo-path.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_interpret_flat
    - _cairo_path_fixed_interpret
    - unlikely
    linkageType: ''
    returnType: int
    signature: "static int _cairo_path_count (cairo_path_t\t\t*path,\t\t cairo_path_fixed_t\t\
      *path_fixed,\t\t double\t\t tolerance,\t\t cairo_bool_t\t\t flatten) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-path.c:316,1
    - Dst: cairo_get_tolerance
      Src: /src/cairo/src/cairo-path.c:323,1
    - Dst: _cairo_path_count
      Src: /src/cairo/src/cairo-path.c:322,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path.c:317,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-path.c:318,1
    - Dst: free
      Src: /src/cairo/src/cairo-path.c:326,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-path.c:331,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path.c:333,1
    - Dst: free
      Src: /src/cairo/src/cairo-path.c:334,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-path.c:335,1
    - Dst: _cairo_path_populate
      Src: /src/cairo/src/cairo-path.c:339,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 346
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 346
    functionName: _cairo_path_create_internal
    functionSourceFile: /src/cairo/src/cairo-path.c
    functionUses: []
    functionsReached:
    - cairo_get_tolerance
    - free
    - _cairo_path_populate
    - _cairo_malloc_ab
    - _cairo_path_count
    - _cairo_error_throw
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_path_t*
    signature: "static cairo_path_t *_cairo_path_create_internal (cairo_path_fixed_t\
      \ *path_fixed,\t\t\t cairo_t\t\t*cr,\t\t\t cairo_bool_t\t flatten) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_create_internal
      Src: /src/cairo/src/cairo-path.c:415,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 416
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 416
    functionName: _cairo_path_create_flat
    functionSourceFile: /src/cairo/src/cairo-path.c
    functionUses: []
    functionsReached:
    - _cairo_path_create_internal
    linkageType: ''
    returnType: cairo_path_t*
    signature: "cairo_path_t *_cairo_path_create_flat (cairo_path_fixed_t *path,\t\
      \t\t cairo_t\t *cr) "
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path.c:438,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-path.c:446,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path.c:445,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-path.c:439,1
    - Dst: cairo_move_to
      Src: /src/cairo/src/cairo-path.c:441,1
    - Dst: cairo_line_to
      Src: /src/cairo/src/cairo-path.c:448,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path.c:452,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-path.c:453,1
    - Dst: cairo_curve_to
      Src: /src/cairo/src/cairo-path.c:455,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path.c:462,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-path.c:469,1
    - Dst: cairo_close_path
      Src: /src/cairo/src/cairo-path.c:465,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path.c:472,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-path.c:463,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 25
    argCount: 2
    argNames:
    - path
    - cr
    argTypes:
    - cairo_path_t*
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 477
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 477
    functionName: _cairo_path_append_to_context
    functionSourceFile: /src/cairo/src/cairo-path.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - cairo_line_to
    - cairo_curve_to
    - cairo_close_path
    - cairo_move_to
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_path_append_to_context (const cairo_path_t\t\
      *path,\t\t\t cairo_t\t\t\t*cr) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - box
    - p1
    - p2
    argTypes:
    - cairo_box_t*
    - cairo_point_t*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: _cairo_box_set
    functionSourceFile: /src/cairo/src/cairo-box-inline.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static inline void _cairo_box_set (cairo_box_t *box,\t\tconst cairo_point_t\
      \ *p1,\t\tconst cairo_point_t *p2) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-box-inline.h:63,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-box-inline.h:66,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-box-inline.h:65,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-box-inline.h:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - box
    - rect
    argTypes:
    - cairo_box_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 67
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 67
    functionName: _cairo_box_from_rectangle_int
    functionSourceFile: /src/cairo/src/cairo-box-inline.h
    functionUses: []
    functionsReached:
    - _cairo_fixed_from_int
    linkageType: ''
    returnType: void
    signature: "static inline void _cairo_box_from_rectangle_int (cairo_box_t *box,\t\
      \t\t const cairo_rectangle_int_t *rect) "
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - box
    - add
    argTypes:
    - cairo_box_t*
    - cairo_box_t*
    constantsTouched: []
    func_position:
      end: 98
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 98
    functionName: _cairo_box_add_box
    functionSourceFile: /src/cairo/src/cairo-box-inline.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static inline void _cairo_box_add_box (cairo_box_t *box,\t\t const\
      \ cairo_box_t *add) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-box-inline.h:53,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-box-inline.h:54,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-box-inline.h:56,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-box-inline.h:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - box
    - x
    - y
    - w
    - h
    argTypes:
    - cairo_box_t*
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: _cairo_box_from_integers
    functionSourceFile: /src/cairo/src/cairo-box-inline.h
    functionUses: []
    functionsReached:
    - _cairo_fixed_from_int
    linkageType: ''
    returnType: void
    signature: 'static inline void _cairo_box_from_integers (cairo_box_t *box, int
      x, int y, int w, int h) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - box
    argTypes:
    - cairo_box_t*
    constantsTouched: []
    func_position:
      end: 128
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 128
    functionName: _cairo_box_is_pixel_aligned
    functionSourceFile: /src/cairo/src/cairo-box-inline.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static inline cairo_bool_t _cairo_box_is_pixel_aligned (const cairo_box_t
      *box) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - box
    - point
    argTypes:
    - cairo_box_t*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 83
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 83
    functionName: _cairo_box_add_point
    functionSourceFile: /src/cairo/src/cairo-box-inline.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static inline void _cairo_box_add_point (cairo_box_t *box,\t\t const\
      \ cairo_point_t *point) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - box
    - point
    argTypes:
    - cairo_box_t*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: _cairo_box_contains_point
    functionSourceFile: /src/cairo/src/cairo-box-inline.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static inline cairo_bool_t _cairo_box_contains_point (const cairo_box_t\
      \ *box,\t\t\t const cairo_point_t *point) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_slope_init
      Src: /src/cairo/src/cairo-spline.c:102,1
    - Dst: _cairo_slope_init
      Src: /src/cairo/src/cairo-spline.c:113,1
    - Dst: _cairo_slope_init
      Src: /src/cairo/src/cairo-spline.c:106,1
    - Dst: _cairo_slope_init
      Src: /src/cairo/src/cairo-spline.c:111,1
    - Dst: _cairo_slope_init
      Src: /src/cairo/src/cairo-spline.c:104,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 34
    argCount: 7
    argNames:
    - spline
    - add_point_func
    - closure
    - a
    - b
    - c
    - d
    argTypes:
    - cairo_spline_t*
    - cairo_spline_add_point_func_t
    - void*
    - cairo_point_t*
    - cairo_point_t*
    - cairo_point_t*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 120
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 120
    functionName: _cairo_spline_init
    functionSourceFile: /src/cairo/src/cairo-spline.c
    functionUses: []
    functionsReached:
    - _cairo_slope_init
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t _cairo_spline_init (cairo_spline_t *spline,\t\t cairo_spline_add_point_func_t\
      \ add_point_func,\t\t void *closure,\t\t const cairo_point_t *a, const cairo_point_t\
      \ *b,\t\t const cairo_point_t *c, const cairo_point_t *d) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - a
    - b
    - result
    argTypes:
    - cairo_point_t*
    - cairo_point_t*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: _lerp_half
    functionSourceFile: /src/cairo/src/cairo-spline.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _lerp_half (const cairo_point_t *a, const cairo_point_t
      *b, cairo_point_t *result) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-spline.c:183,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-spline.c:199,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-spline.c:184,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-spline.c:187,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-spline.c:186,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-spline.c:200,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 70
    argCount: 1
    argNames:
    - knots
    argTypes:
    - cairo_spline_knots_t*
    constantsTouched: []
    func_position:
      end: 236
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 236
    functionName: _cairo_spline_error_squared
    functionSourceFile: /src/cairo/src/cairo-spline.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_to_double
    linkageType: ''
    returnType: double
    signature: 'static double _cairo_spline_error_squared (const cairo_spline_knots_t
      *knots) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-spline.c:288,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-spline.c:292,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-spline.c:289,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-spline.c:291,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-spline.c:290,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-spline.c:293,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-spline.c:294,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-spline.c:295,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-spline.c:360,1
    - Dst: sqrt
      Src: /src/cairo/src/cairo-spline.c:361,1
    - Dst: ADD
      Src: /src/cairo/src/cairo-spline.c:362,1
    - Dst: ADD
      Src: /src/cairo/src/cairo-spline.c:363,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 53
    argCount: 6
    argNames:
    - add_point_func
    - closure
    - p0
    - p1
    - p2
    - p3
    argTypes:
    - cairo_spline_add_point_func_t
    - void*
    - cairo_point_t*
    - cairo_point_t*
    - cairo_point_t*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 365
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 365
    functionName: _cairo_spline_bound
    functionSourceFile: /src/cairo/src/cairo-spline.c
    functionUses: []
    functionsReached:
    - ADD
    - sqrt
    - _cairo_fixed_to_double
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_spline_bound (cairo_spline_add_point_func_t\
      \ add_point_func,\t\t void *closure,\t\t const cairo_point_t *p0, const cairo_point_t\
      \ *p1,\t\t const cairo_point_t *p2, const cairo_point_t *p3) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD
      Src: /src/cairo/src/cairo-spline.c:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames:
    - delta
    - == 0
    argTypes: []
    constantsTouched: []
    func_position:
      end: 367
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 367
    functionName: if
    functionSourceFile: /src/cairo/src/cairo-spline.c
    functionUses: []
    functionsReached:
    - ADD
    linkageType: ''
    returnType: else
    signature: 'else if (delta == 0) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_box_contains_point
      Src: /src/cairo/src/cairo-spline.c:50,1
    - Dst: _cairo_box_contains_point
      Src: /src/cairo/src/cairo-spline.c:52,1
    - Dst: _cairo_box_contains_point
      Src: /src/cairo/src/cairo-spline.c:53,1
    - Dst: _cairo_box_add_point
      Src: /src/cairo/src/cairo-spline.c:59,1
    - Dst: _cairo_box_contains_point
      Src: /src/cairo/src/cairo-spline.c:51,1
    - Dst: _cairo_box_add_point
      Src: /src/cairo/src/cairo-spline.c:60,1
    - Dst: _cairo_box_add_point
      Src: /src/cairo/src/cairo-spline.c:61,1
    - Dst: _cairo_box_add_curve_to
      Src: /src/cairo/src/cairo-spline.c:71,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 33
    argCount: 5
    argNames:
    - a
    - b
    - c
    - d
    - box
    argTypes:
    - cairo_point_t*
    - cairo_point_t*
    - cairo_point_t*
    - cairo_point_t*
    - cairo_box_t*
    constantsTouched: []
    func_position:
      end: 80
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 80
    functionName: _cairo_spline_intersects
    functionSourceFile: /src/cairo/src/cairo-spline.c
    functionUses: []
    functionsReached:
    - _cairo_box_add_point
    - _cairo_box_add_curve_to
    - _cairo_box_contains_point
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t _cairo_spline_intersects (const cairo_point_t *a,\t\t\
      \t const cairo_point_t *b,\t\t\t const cairo_point_t *c,\t\t\t const cairo_point_t\
      \ *d,\t\t\t const cairo_box_t *box) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_slope_init
      Src: /src/cairo/src/cairo-spline.c:134,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - spline
    - point
    - knot
    argTypes:
    - cairo_spline_t*
    - cairo_point_t*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 138
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 138
    functionName: _cairo_spline_add_point
    functionSourceFile: /src/cairo/src/cairo-spline.c
    functionUses: []
    functionsReached:
    - _cairo_slope_init
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_spline_add_point (cairo_spline_t *spline,\t\
      \t\t const cairo_point_t *point,\t\t\t const cairo_point_t *knot) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _lerp_half
      Src: /src/cairo/src/cairo-spline.c:154,1
    - Dst: _lerp_half
      Src: /src/cairo/src/cairo-spline.c:157,1
    - Dst: _lerp_half
      Src: /src/cairo/src/cairo-spline.c:158,1
    - Dst: _lerp_half
      Src: /src/cairo/src/cairo-spline.c:155,1
    - Dst: _lerp_half
      Src: /src/cairo/src/cairo-spline.c:156,1
    - Dst: _lerp_half
      Src: /src/cairo/src/cairo-spline.c:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - cairo_spline_knots_t*
    - cairo_spline_knots_t*
    constantsTouched: []
    func_position:
      end: 169
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 169
    functionName: _de_casteljau
    functionSourceFile: /src/cairo/src/cairo-spline.c
    functionUses: []
    functionsReached:
    - _lerp_half
    linkageType: ''
    returnType: void
    signature: 'static void _de_casteljau (cairo_spline_knots_t *s1, cairo_spline_knots_t
      *s2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_spline_error_squared
      Src: /src/cairo/src/cairo-spline.c:246,1
    - Dst: _cairo_spline_decompose_into
      Src: /src/cairo/src/cairo-spline.c:251,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-spline.c:252,1
    - Dst: _de_casteljau
      Src: /src/cairo/src/cairo-spline.c:249,1
    - Dst: _cairo_spline_add_point
      Src: /src/cairo/src/cairo-spline.c:247,1
    - Dst: _cairo_spline_decompose_into
      Src: /src/cairo/src/cairo-spline.c:255,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - s1
    - tolerance_squared
    - result
    argTypes:
    - cairo_spline_knots_t*
    - double
    - cairo_spline_t*
    constantsTouched: []
    func_position:
      end: 256
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 256
    functionName: _cairo_spline_decompose_into
    functionSourceFile: /src/cairo/src/cairo-spline.c
    functionUses: []
    functionsReached:
    - _cairo_spline_error_squared
    - _cairo_spline_decompose_into
    - _cairo_spline_add_point
    - _de_casteljau
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_spline_decompose_into (cairo_spline_knots_t\
      \ *s1,\t\t\t double tolerance_squared,\t\t\t cairo_spline_t *result) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_spline_decompose_into
      Src: /src/cairo/src/cairo-spline.c:266,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-spline.c:267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - spline
    - tolerance
    argTypes:
    - cairo_spline_t*
    - double
    constantsTouched: []
    func_position:
      end: 272
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 272
    functionName: _cairo_spline_decompose
    functionSourceFile: /src/cairo/src/cairo-spline.c
    functionUses: []
    functionsReached:
    - _cairo_spline_decompose_into
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_spline_decompose (cairo_spline_t *spline, double
      tolerance) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-damage.c:97,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-damage.c:124,1
    - Dst: _cairo_damage_create
      Src: /src/cairo/src/cairo-damage.c:100,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-damage.c:125,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-damage.c:110,1
    - Dst: _cairo_damage_destroy
      Src: /src/cairo/src/cairo-damage.c:126,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-damage.c:138,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 143
    functionName: _cairo_damage_add_boxes
    functionSourceFile: /src/cairo/src/cairo-damage.c
    functionUses: []
    functionsReached:
    - memcpy
    - _cairo_malloc
    - _cairo_damage_create
    - _cairo_damage_destroy
    - TRACE
    - unlikely
    linkageType: ''
    returnType: cairo_damage_t*
    signature: "static cairo_damage_t *_cairo_damage_add_boxes(cairo_damage_t *damage,\t\
      \t\tconst cairo_box_t *boxes,\t\t\tint count) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-damage.c:53,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-damage.c:64,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-damage.c:54,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-damage.c:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 71
    functionName: _cairo_damage_create
    functionSourceFile: /src/cairo/src/cairo-damage.c
    functionUses: []
    functionsReached:
    - ARRAY_LENGTH
    - unlikely
    - _cairo_error_throw
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_damage_t*
    signature: 'cairo_damage_t *_cairo_damage_create (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-damage.c:161,1
    - Dst: _cairo_damage_add_boxes
      Src: /src/cairo/src/cairo-damage.c:169,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 170
    functionName: _cairo_damage_add_rectangle
    functionSourceFile: /src/cairo/src/cairo-damage.c
    functionUses: []
    functionsReached:
    - _cairo_damage_add_boxes
    - TRACE
    linkageType: ''
    returnType: cairo_damage_t*
    signature: "cairo_damage_t *_cairo_damage_add_rectangle(cairo_damage_t *damage,\t\
      \t\t const cairo_rectangle_int_t *r) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-damage.c:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: _cairo_damage_create_in_error
    functionSourceFile: /src/cairo/src/cairo-damage.c
    functionUses: []
    functionsReached:
    - _cairo_error_throw
    linkageType: ''
    returnType: cairo_damage_t*
    signature: 'cairo_damage_t *_cairo_damage_create_in_error (cairo_status_t status) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-damage.c:149,1
    - Dst: _cairo_damage_add_boxes
      Src: /src/cairo/src/cairo-damage.c:152,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: _cairo_damage_add_box
    functionSourceFile: /src/cairo/src/cairo-damage.c
    functionUses: []
    functionsReached:
    - _cairo_damage_add_boxes
    - TRACE
    linkageType: ''
    returnType: cairo_damage_t*
    signature: "cairo_damage_t *_cairo_damage_add_box(cairo_damage_t *damage,\t\t\
      \ const cairo_box_t *box) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-damage.c:83,1
    - Dst: cairo_region_destroy
      Src: /src/cairo/src/cairo-damage.c:85,1
    - Dst: free
      Src: /src/cairo/src/cairo-damage.c:86,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - damage
    argTypes:
    - cairo_damage_t*
    constantsTouched: []
    func_position:
      end: 87
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 87
    functionName: _cairo_damage_destroy
    functionSourceFile: /src/cairo/src/cairo-damage.c
    functionUses: []
    functionsReached:
    - cairo_region_destroy
    - free
    linkageType: ''
    returnType: void
    signature: 'void _cairo_damage_destroy (cairo_damage_t *damage) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-damage.c:179,1
    - Dst: _cairo_damage_add_boxes
      Src: /src/cairo/src/cairo-damage.c:182,1
    - Dst: _cairo_region_get_boxes
      Src: /src/cairo/src/cairo-damage.c:181,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 183
    functionName: _cairo_damage_add_region
    functionSourceFile: /src/cairo/src/cairo-damage.c
    functionUses: []
    functionsReached:
    - _cairo_region_get_boxes
    - _cairo_damage_add_boxes
    - TRACE
    linkageType: ''
    returnType: cairo_damage_t*
    signature: "cairo_damage_t *_cairo_damage_add_region (cairo_damage_t *damage,\t\
      \t\t const cairo_region_t *region) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-damage.c:192,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-damage.c:212,1
    - Dst: cairo_region_destroy
      Src: /src/cairo/src/cairo-damage.c:204,1
    - Dst: _cairo_damage_add_region
      Src: /src/cairo/src/cairo-damage.c:203,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-damage.c:206,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-damage.c:213,1
    - Dst: _cairo_damage_destroy
      Src: /src/cairo/src/cairo-damage.c:214,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-damage.c:226,1
    - Dst: _cairo_region_create_from_boxes
      Src: /src/cairo/src/cairo-damage.c:230,1
    - Dst: free
      Src: /src/cairo/src/cairo-damage.c:231,1
    - Dst: _cairo_damage_destroy
      Src: /src/cairo/src/cairo-damage.c:234,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-damage.c:233,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 240
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 240
    functionName: _cairo_damage_reduce
    functionSourceFile: /src/cairo/src/cairo-damage.c
    functionUses: []
    functionsReached:
    - _cairo_malloc
    - memcpy
    - _cairo_damage_destroy
    - TRACE
    - _cairo_damage_add_region
    - cairo_region_destroy
    - free
    - _cairo_region_create_from_boxes
    - unlikely
    linkageType: ''
    returnType: cairo_damage_t*
    signature: 'cairo_damage_t *_cairo_damage_reduce (cairo_damage_t *damage) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_contour_last_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:230,1
    - Dst: contour_add_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:236,1
    - Dst: _cairo_contour_last_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:239,1
    - Dst: distance_from_face
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:231,1
    - Dst: _cairo_contour_remove_last_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:232,1
    - Dst: distance_from_face
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:240,1
    - Dst: _cairo_int64_lt
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:241,1
    - Dst: _cairo_int64_negative
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:242,1
    - Dst: distance_along_face
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:242,1
    - Dst: _cairo_contour_remove_last_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:246,1
    - Dst: compute_inner_joint
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:250,1
    - Dst: contour_add_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:251,1
    - Dst: contour_add_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:264,1
    - Dst: contour_add_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:263,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 46
    argCount: 4
    argNames:
    - stroker
    - in
    - out
    - clockwise
    argTypes:
    - struct stroker*
    - cairo_stroke_face_t*
    - cairo_stroke_face_t*
    - int
    constantsTouched: []
    func_position:
      end: 266
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 266
    functionName: inner_join
    functionSourceFile: /src/cairo/src/cairo-path-stroke-polygon.c
    functionUses: []
    functionsReached:
    - _cairo_int64_negative
    - _cairo_int64_lt
    - _cairo_contour_last_point
    - _cairo_contour_remove_last_point
    - distance_along_face
    - contour_add_point
    - compute_inner_joint
    - distance_from_face
    linkageType: ''
    returnType: void
    signature: "static void inner_join (struct stroker *stroker,\t const cairo_stroke_face_t\
      \ *in,\t const cairo_stroke_face_t *out,\t int clockwise) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: add_fan
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:751,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:766,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:765,1
    - Dst: contour_add_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:770,1
    - Dst: cairo_matrix_transform_distance
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:764,1
    - Dst: contour_add_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:774,1
    - Dst: contour_add_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:781,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 3
    argNames:
    - stroker
    - f
    - c
    argTypes:
    - struct stroker*
    - cairo_stroke_face_t*
    - struct stroke_contour*
    constantsTouched: []
    func_position:
      end: 782
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 782
    functionName: add_cap
    functionSourceFile: /src/cairo/src/cairo-path-stroke-polygon.c
    functionUses: []
    functionsReached:
    - add_fan
    - cairo_matrix_transform_distance
    - _cairo_fixed_from_double
    - contour_add_point
    linkageType: ''
    returnType: void
    signature: "static void add_cap (struct stroker *stroker,\t const cairo_stroke_face_t\
      \ *f,\t struct stroke_contour *c) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_contour_add_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1020,1
    - Dst: _cairo_slope_init
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1023,1
    - Dst: compute_face
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1024,1
    - Dst: _cairo_slope_compare
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1027,1
    - Dst: within_tolerance
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1032,1
    - Dst: within_tolerance
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1034,1
    - Dst: outer_join
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1037,1
    - Dst: inner_join
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1038,1
    - Dst: contour_add_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1049,1
    - Dst: contour_add_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1050,1
    - Dst: contour_add_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1060,1
    - Dst: contour_add_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1061,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 2
    argNames:
    - closure
    - point
    argTypes:
    - void*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 1064
      start: 1005
    functionDepth: 0
    functionLinenumber: 1005
    functionLinenumberEnd: 1064
    functionName: line_to
    functionSourceFile: /src/cairo/src/cairo-path-stroke-polygon.c
    functionUses: []
    functionsReached:
    - inner_join
    - within_tolerance
    - outer_join
    - _cairo_slope_init
    - _cairo_contour_add_point
    - contour_add_point
    - compute_face
    - _cairo_slope_compare
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t line_to (void *closure,\t const cairo_point_t\
      \ *point) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: join_is_clockwise
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:281,1
    - Dst: _cairo_contour_last_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:295,1
    - Dst: contour_add_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:293,1
    - Dst: contour_add_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:292,1
    - Dst: _cairo_contour_first_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:294,1
    - Dst: distance_from_face
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:302,1
    - Dst: distance_from_face
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:308,1
    - Dst: distance_from_edge
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:309,1
    - Dst: _cairo_contour_last_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:327,1
    - Dst: join_is_clockwise
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:341,1
    - Dst: contour_add_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:349,1
    - Dst: _cairo_contour_last_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:352,1
    - Dst: contour_add_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:350,1
    - Dst: _cairo_contour_first_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:351,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 78
    argCount: 3
    argNames:
    - stroker
    - in
    - out
    argTypes:
    - struct stroker*
    - cairo_stroke_face_t*
    - cairo_stroke_face_t*
    constantsTouched: []
    func_position:
      end: 354
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 354
    functionName: inner_close
    functionSourceFile: /src/cairo/src/cairo-path-stroke-polygon.c
    functionUses: []
    functionsReached:
    - _cairo_contour_first_point
    - _cairo_contour_last_point
    - distance_from_edge
    - join_is_clockwise
    - contour_add_point
    - distance_from_face
    linkageType: ''
    returnType: void
    signature: "static void inner_close (struct stroker *stroker,\t const cairo_stroke_face_t\
      \ *in,\t cairo_stroke_face_t *out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_cap
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:804,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - stroker
    - face
    - c
    argTypes:
    - struct stroker*
    - cairo_stroke_face_t*
    - struct stroke_contour*
    constantsTouched: []
    func_position:
      end: 805
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 805
    functionName: add_leading_cap
    functionSourceFile: /src/cairo/src/cairo-path-stroke-polygon.c
    functionUses: []
    functionsReached:
    - add_cap
    linkageType: ''
    returnType: void
    signature: "static void add_leading_cap (struct stroker *stroker,\t\t const cairo_stroke_face_t\
      \ *face,\t\t struct stroke_contour *c) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_contour_add_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1075,1
    - Dst: compute_face
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1106,1
    - Dst: add_fan
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1100,1
    - Dst: join_is_clockwise
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1112,1
    - Dst: join_is_clockwise
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1093,1
    - Dst: contour_add_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1116,1
    - Dst: contour_add_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1120,1
    - Dst: add_fan
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1127,1
    - Dst: contour_add_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1134,1
    - Dst: contour_add_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1135,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 3
    argNames:
    - closure
    - point
    - tangent
    argTypes:
    - void*
    - cairo_point_t*
    - cairo_slope_t*
    constantsTouched: []
    func_position:
      end: 1141
      start: 1066
    functionDepth: 0
    functionLinenumber: 1066
    functionLinenumberEnd: 1141
    functionName: spline_to
    functionSourceFile: /src/cairo/src/cairo-path-stroke-polygon.c
    functionUses: []
    functionsReached:
    - add_fan
    - join_is_clockwise
    - _cairo_contour_add_point
    - contour_add_point
    - compute_face
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t spline_to (void *closure,\t const cairo_point_t\
      \ *point,\t const cairo_slope_t *tangent) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - point
    - offset
    argTypes:
    - cairo_point_t*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: translate_point
    functionSourceFile: /src/cairo/src/cairo-path-stroke-polygon.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void translate_point (cairo_point_t *point, const cairo_point_t
      *offset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_int64_lt
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:113,1
    - Dst: point_distance_sq
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - p1
    - p2
    - tolerance
    argTypes:
    - cairo_point_t*
    - cairo_point_t*
    - cairo_uint64_t
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: within_tolerance
    functionSourceFile: /src/cairo/src/cairo-path-stroke-polygon.c
    functionUses: []
    functionsReached:
    - _cairo_int64_lt
    - point_distance_sq
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t within_tolerance (const cairo_point_t *p1,\t const\
      \ cairo_point_t *p2,\t cairo_uint64_t tolerance) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:860,1
    - Dst: normalize_slope
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:862,1
    - Dst: cairo_matrix_transform_distance
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:875,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:861,1
    - Dst: _cairo_matrix_is_identity
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:873,1
    - Dst: normalize_slope
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:877,1
    - Dst: cairo_matrix_transform_distance
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:888,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:894,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:895,1
    - Dst: translate_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:900,1
    - Dst: translate_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:905,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 49
    argCount: 4
    argNames:
    - point
    - dev_slope
    - stroker
    - face
    argTypes:
    - cairo_point_t*
    - cairo_slope_t*
    - struct stroker*
    - cairo_stroke_face_t*
    constantsTouched: []
    func_position:
      end: 911
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 911
    functionName: compute_face
    functionSourceFile: /src/cairo/src/cairo-path-stroke-polygon.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_to_double
    - _cairo_matrix_is_identity
    - translate_point
    - normalize_slope
    - _cairo_fixed_from_double
    - cairo_matrix_transform_distance
    linkageType: ''
    returnType: void
    signature: "static void compute_face (const cairo_point_t *point,\t const cairo_slope_t\
      \ *dev_slope,\t struct stroker *stroker,\t cairo_stroke_face_t *face) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:104,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - cairo_point_t*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 105
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 105
    functionName: point_distance_sq
    functionSourceFile: /src/cairo/src/cairo-path-stroke-polygon.c
    functionUses: []
    functionsReached:
    - _cairo_int32x32_64_mul
    linkageType: ''
    returnType: cairo_uint64_t
    signature: "static cairo_uint64_t point_distance_sq (const cairo_point_t *p1,\t\
      \t\tconst cairo_point_t *p2) "
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - dx1
    - dy1
    - dx2
    - dy2
    argTypes:
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 142
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 142
    functionName: slope_compare_sgn
    functionSourceFile: /src/cairo/src/cairo-path-stroke-polygon.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int slope_compare_sgn (double dx1, double dy1, double dx2,
      double dy2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: within_tolerance
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:121,1
    - Dst: _cairo_contour_last_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:121,1
    - Dst: _cairo_contour_add_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:123,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 3
    argNames:
    - stroker
    - c
    - point
    argTypes:
    - struct stroker*
    - struct stroke_contour*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 125
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 125
    functionName: contour_add_point
    functionSourceFile: /src/cairo/src/cairo-path-stroke-polygon.c
    functionUses: []
    functionsReached:
    - _cairo_contour_add_point
    - within_tolerance
    - _cairo_contour_last_point
    linkageType: ''
    returnType: void
    signature: "static void contour_add_point (struct stroker *stroker,\t\t struct\
      \ stroke_contour *c,\t\t const cairo_point_t *point) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_contour_add_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:933,1
    - Dst: add_trailing_cap
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:930,1
    - Dst: _cairo_contour_reset
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:937,1
    - Dst: _cairo_debug_print_contour
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:946,1
    - Dst: _cairo_polygon_add_contour
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:953,1
    - Dst: _cairo_contour_reset
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:949,1
    - Dst: fclose
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:964,1
    - Dst: _cairo_contour_reset
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:970,1
    - Dst: _cairo_contour_reset
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:974,1
    - Dst: compute_face
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:927,1
    - Dst: add_leading_cap
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:929,1
    - Dst: _cairo_debug_print_contour
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:945,1
    - Dst: _cairo_contour_reset
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:954,1
    - Dst: fopen
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:962,1
    - Dst: fclose
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:948,1
    - Dst: add_leading_cap
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:959,1
    - Dst: _cairo_contour_add_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:957,1
    - Dst: _cairo_debug_print_contour
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:963,1
    - Dst: _cairo_contour_first_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:934,1
    - Dst: _cairo_polygon_add_contour
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:936,1
    - Dst: add_trailing_cap
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:940,1
    - Dst: fopen
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:944,1
    - Dst: _cairo_debug_print_contour
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:947,1
    - Dst: _cairo_polygon_add_contour
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:968,1
    - Dst: _cairo_polygon_add_contour
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:973,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 1
    argNames:
    - stroker
    argTypes:
    - struct stroker*
    constantsTouched: []
    func_position:
      end: 976
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 976
    functionName: add_caps
    functionSourceFile: /src/cairo/src/cairo-path-stroke-polygon.c
    functionUses: []
    functionsReached:
    - _cairo_contour_first_point
    - add_leading_cap
    - _cairo_debug_print_contour
    - fclose
    - add_trailing_cap
    - _cairo_polygon_add_contour
    - fopen
    - _cairo_contour_add_point
    - compute_face
    - _cairo_contour_reset
    linkageType: ''
    returnType: void
    signature: 'static void add_caps (struct stroker *stroker) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_caps
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:988,1
    - Dst: _cairo_contour_add_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:997,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - closure
    - point
    argTypes:
    - void*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 1003
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 1003
    functionName: move_to
    functionSourceFile: /src/cairo/src/cairo-path-stroke-polygon.c
    functionUses: []
    functionsReached:
    - _cairo_contour_add_point
    - add_caps
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t move_to (void *closure,\t const cairo_point_t\
      \ *point) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_matrix_compute_determinant
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1353,1
    - Dst: remove
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1377,1
    - Dst: _cairo_path_fixed_interpret
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1387,1
    - Dst: _cairo_contour_init
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1378,1
    - Dst: add_caps
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1395,1
    - Dst: _cairo_path_fixed_stroke_dashed_to_polygon
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1248,1
    - Dst: _cairo_box_add_box
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1269,1
    - Dst: _cairo_contour_init
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1381,1
    - Dst: _cairo_contour_fini
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1397,1
    - Dst: _cairo_debug_print_polygon
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1405,1
    - Dst: fclose
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1406,1
    - Dst: _cairo_stroke_style_max_distance_from_path
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1271,1
    - Dst: hypot
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1340,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1362,1
    - Dst: likely
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1394,1
    - Dst: _cairo_contour_fini
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1398,1
    - Dst: _cairo_contour_init
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1380,1
    - Dst: fopen
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1404,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1272,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1273,1
    - Dst: _cairo_pen_init
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1359,1
    - Dst: remove
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1376,1
    - Dst: _cairo_pen_fini
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1400,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 74
    argCount: 6
    argNames:
    - path
    - style
    - ctm
    - ctm_inverse
    - tolerance
    - polygon
    argTypes:
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_polygon_t*
    constantsTouched: []
    func_position:
      end: 1411
      start: 1236
    functionDepth: 0
    functionLinenumber: 1236
    functionLinenumberEnd: 1411
    functionName: _cairo_path_fixed_stroke_to_polygon
    functionSourceFile: /src/cairo/src/cairo-path-stroke-polygon.c
    functionUses: []
    functionsReached:
    - _cairo_pen_fini
    - _cairo_stroke_style_max_distance_from_path
    - _cairo_pen_init
    - _cairo_path_fixed_interpret
    - fclose
    - _cairo_matrix_compute_determinant
    - remove
    - hypot
    - add_caps
    - _cairo_path_fixed_stroke_dashed_to_polygon
    - fopen
    - _cairo_fixed_from_double
    - _cairo_box_add_box
    - _cairo_debug_print_polygon
    - _cairo_contour_fini
    - _cairo_contour_init
    - likely
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_path_fixed_stroke_to_polygon (const cairo_path_fixed_t\t\
      *path,\t\t\t\t const cairo_stroke_style_t\t*style,\t\t\t\t const cairo_matrix_t\t\
      *ctm,\t\t\t\t const cairo_matrix_t\t*ctm_inverse,\t\t\t\t double\t\t tolerance,\t\
      \t\t\t cairo_polygon_t *polygon) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_cap
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:812,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - stroker
    - face
    - c
    argTypes:
    - struct stroker*
    - cairo_stroke_face_t*
    - struct stroke_contour*
    constantsTouched: []
    func_position:
      end: 813
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 813
    functionName: add_trailing_cap
    functionSourceFile: /src/cairo/src/cairo-path-stroke-polygon.c
    functionUses: []
    functionsReached:
    - add_cap
    linkageType: ''
    returnType: void
    signature: "static void add_trailing_cap (struct stroker *stroker,\t\t const cairo_stroke_face_t\
      \ *face,\t\t struct stroke_contour *c) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:821,1
    - Dst: hypot
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:842,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 2
    argNames:
    - dx
    - dy
    argTypes:
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 848
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 848
    functionName: normalize_slope
    functionSourceFile: /src/cairo/src/cairo-path-stroke-polygon.c
    functionUses: []
    functionsReached:
    - hypot
    - assert
    linkageType: ''
    returnType: double
    signature: 'static inline double normalize_slope (double *dx, double *dy) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_box_contains_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:160,1
    - Dst: translate_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:171,1
    - Dst: assert
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:163,1
    - Dst: _cairo_pen_find_active_cw_vertices
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:166,1
    - Dst: contour_add_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:172,1
    - Dst: _cairo_pen_find_active_ccw_vertices
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:178,1
    - Dst: translate_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:183,1
    - Dst: contour_add_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:184,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 21
    argCount: 6
    argNames:
    - stroker
    - in_vector
    - out_vector
    - midpt
    - clockwise
    - c
    argTypes:
    - struct stroker*
    - cairo_slope_t*
    - cairo_slope_t*
    - cairo_point_t*
    - cairo_bool_t
    - struct stroke_contour*
    constantsTouched: []
    func_position:
      end: 190
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 190
    functionName: add_fan
    functionSourceFile: /src/cairo/src/cairo-path-stroke-polygon.c
    functionUses: []
    functionsReached:
    - assert
    - translate_point
    - _cairo_box_contains_point
    - contour_add_point
    - _cairo_pen_find_active_cw_vertices
    - _cairo_pen_find_active_ccw_vertices
    linkageType: ''
    returnType: void
    signature: "static void add_fan (struct stroker *stroker,\t const cairo_slope_t\
      \ *in_vector,\t const cairo_slope_t *out_vector,\t const cairo_point_t *midpt,\t\
      \ cairo_bool_t clockwise,\t struct stroke_contour *c) "
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_contour_first_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:383,1
    - Dst: _cairo_contour_last_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:384,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:479,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:480,1
    - Dst: contour_add_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:549,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:485,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:486,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:500,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:500,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:536,1
    - Dst: _cairo_contour_first_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:539,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:514,1
    - Dst: _cairo_contour_last_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:538,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:535,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:515,1
    - Dst: join_is_clockwise
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:371,1
    - Dst: add_fan
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:394,1
    - Dst: within_tolerance
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:382,1
    - Dst: slope_compare_sgn
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:531,1
    - Dst: slope_compare_sgn
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:530,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 108
    argCount: 3
    argNames:
    - stroker
    - in
    - out
    argTypes:
    - struct stroker*
    - cairo_stroke_face_t*
    - cairo_stroke_face_t*
    constantsTouched: []
    func_position:
      end: 550
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 550
    functionName: outer_close
    functionSourceFile: /src/cairo/src/cairo-path-stroke-polygon.c
    functionUses: []
    functionsReached:
    - fabs
    - _cairo_contour_first_point
    - _cairo_fixed_to_double
    - within_tolerance
    - _cairo_contour_last_point
    - slope_compare_sgn
    - add_fan
    - join_is_clockwise
    - _cairo_fixed_from_double
    - contour_add_point
    linkageType: ''
    returnType: void
    signature: "static void outer_close (struct stroker *stroker,\t const cairo_stroke_face_t\
      \ *in,\t const cairo_stroke_face_t *out) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_spline_intersects
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1154,1
    - Dst: line_to
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1160,1
    - Dst: _cairo_spline_init
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1158,1
    - Dst: compute_face
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1162,1
    - Dst: line_to
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1156,1
    - Dst: join_is_clockwise
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1166,1
    - Dst: outer_join
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1168,1
    - Dst: inner_join
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1169,1
    - Dst: contour_add_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1178,1
    - Dst: contour_add_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1179,1
    - Dst: _cairo_spline_decompose
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1183,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 4
    argNames:
    - closure
    - b
    - c
    - d
    argTypes:
    - void*
    - cairo_point_t*
    - cairo_point_t*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 1184
      start: 1143
    functionDepth: 0
    functionLinenumber: 1143
    functionLinenumberEnd: 1184
    functionName: curve_to
    functionSourceFile: /src/cairo/src/cairo-path-stroke-polygon.c
    functionUses: []
    functionsReached:
    - inner_join
    - _cairo_spline_intersects
    - outer_join
    - _cairo_spline_decompose
    - _cairo_spline_init
    - join_is_clockwise
    - line_to
    - contour_add_point
    - compute_face
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t curve_to (void *closure,\t const cairo_point_t\
      \ *b,\t const cairo_point_t *c,\t const cairo_point_t *d) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_slope_compare
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - cairo_stroke_face_t*
    - cairo_stroke_face_t*
    constantsTouched: []
    func_position:
      end: 197
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 197
    functionName: join_is_clockwise
    functionSourceFile: /src/cairo/src/cairo-path-stroke-polygon.c
    functionUses: []
    functionsReached:
    - _cairo_slope_compare
    linkageType: ''
    returnType: int
    signature: "static int join_is_clockwise (const cairo_stroke_face_t *in,\t\t const\
      \ cairo_stroke_face_t *out) "
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: add_fan
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:582,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:667,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:668,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:674,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:673,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:688,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:688,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:702,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:703,1
    - Dst: slope_compare_sgn
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:718,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:724,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:723,1
    - Dst: contour_add_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:736,1
    - Dst: _cairo_contour_last_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:726,1
    - Dst: slope_compare_sgn
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:719,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 99
    argCount: 4
    argNames:
    - stroker
    - in
    - out
    - clockwise
    argTypes:
    - struct stroker*
    - cairo_stroke_face_t*
    - cairo_stroke_face_t*
    - int
    constantsTouched: []
    func_position:
      end: 737
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 737
    functionName: outer_join
    functionSourceFile: /src/cairo/src/cairo-path-stroke-polygon.c
    functionUses: []
    functionsReached:
    - fabs
    - _cairo_fixed_to_double
    - _cairo_contour_last_point
    - slope_compare_sgn
    - add_fan
    - _cairo_fixed_from_double
    - contour_add_point
    linkageType: ''
    returnType: void
    signature: "static void outer_join (struct stroker *stroker,\t const cairo_stroke_face_t\
      \ *in,\t const cairo_stroke_face_t *out,\t int clockwise) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: line_to
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1192,1
    - Dst: outer_close
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1198,1
    - Dst: _cairo_contour_first_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1201,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1193,1
    - Dst: _cairo_debug_print_contour
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1215,1
    - Dst: _cairo_contour_last_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1205,1
    - Dst: _cairo_polygon_add_contour
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1208,1
    - Dst: _cairo_debug_print_contour
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1214,1
    - Dst: fclose
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1217,1
    - Dst: _cairo_contour_reset
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1222,1
    - Dst: _cairo_contour_first_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1204,1
    - Dst: _cairo_contour_reset
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1223,1
    - Dst: inner_close
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1199,1
    - Dst: _cairo_contour_last_point
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1202,1
    - Dst: _cairo_polygon_add_contour
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1209,1
    - Dst: fopen
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1213,1
    - Dst: add_caps
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1226,1
    - Dst: _cairo_debug_print_contour
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1216,1
    - Dst: _cairo_contour_reset
      Src: /src/cairo/src/cairo-path-stroke-polygon.c:1219,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 1
    argNames:
    - closure
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1234
      start: 1186
    functionDepth: 0
    functionLinenumber: 1186
    functionLinenumberEnd: 1234
    functionName: close_path
    functionSourceFile: /src/cairo/src/cairo-path-stroke-polygon.c
    functionUses: []
    functionsReached:
    - _cairo_contour_first_point
    - inner_close
    - fclose
    - _cairo_contour_last_point
    - add_caps
    - _cairo_polygon_add_contour
    - fopen
    - line_to
    - outer_close
    - _cairo_debug_print_contour
    - _cairo_contour_reset
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t close_path (void *closure) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _hash_matrix_fnv
      Src: /src/cairo/src/cairo-scaled-font.c:644,1
    - Dst: cairo_font_options_hash
      Src: /src/cairo/src/cairo-scaled-font.c:649,1
    - Dst: _hash_mix_bits
      Src: /src/cairo/src/cairo-scaled-font.c:646,1
    - Dst: _hash_mix_bits
      Src: /src/cairo/src/cairo-scaled-font.c:652,1
    - Dst: _hash_matrix_fnv
      Src: /src/cairo/src/cairo-scaled-font.c:645,1
    - Dst: assert
      Src: /src/cairo/src/cairo-scaled-font.c:653,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - scaled_font
    argTypes:
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 656
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 656
    functionName: _cairo_scaled_font_compute_hash
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - cairo_font_options_hash
    - _hash_matrix_fnv
    - _hash_mix_bits
    - assert
    linkageType: ''
    returnType: uintptr_t
    signature: 'static uintptr_t _cairo_scaled_font_compute_hash (cairo_scaled_font_t
      *scaled_font) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_foreach_entry
      Src: /src/cairo/src/cairo-scaled-font.c:1006,1
    - Dst: cairo_list_move
      Src: /src/cairo/src/cairo-scaled-font.c:1011,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 1000
    functionDepth: 0
    functionLinenumber: 1000
    functionLinenumberEnd: 1017
    functionName: _cairo_scaled_glyph_find_private
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - cairo_list_foreach_entry
    - cairo_list_move
    linkageType: ''
    returnType: cairo_scaled_glyph_private_t*
    signature: "cairo_scaled_glyph_private_t *_cairo_scaled_glyph_find_private (cairo_scaled_glyph_t\
      \ *scaled_glyph,\t\t\t\t const void *key) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font.c:2489,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-scaled-font.c:2504,1
    - Dst: _cairo_path_fixed_append
      Src: /src/cairo/src/cairo-scaled-font.c:2502,1
    - Dst: _cairo_scaled_font_freeze_cache
      Src: /src/cairo/src/cairo-scaled-font.c:2492,1
    - Dst: _cairo_scaled_glyph_lookup
      Src: /src/cairo/src/cairo-scaled-font.c:2496,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-scaled-font.c:2505,1
    - Dst: _cairo_scaled_glyph_lookup
      Src: /src/cairo/src/cairo-scaled-font.c:2511,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font.c:2516,1
    - Dst: _trace_mask_to_path
      Src: /src/cairo/src/cairo-scaled-font.c:2519,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font.c:2523,1
    - Dst: _cairo_scaled_font_set_error
      Src: /src/cairo/src/cairo-scaled-font.c:2529,1
    - Dst: _cairo_scaled_font_thaw_cache
      Src: /src/cairo/src/cairo-scaled-font.c:2527,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 4
    argNames:
    - scaled_font
    - glyphs
    - num_glyphs
    - path
    argTypes:
    - cairo_scaled_font_t*
    - cairo_glyph_t*
    - int
    - cairo_path_fixed_t*
    constantsTouched: []
    func_position:
      end: 2530
      start: 2479
    functionDepth: 0
    functionLinenumber: 2479
    functionLinenumberEnd: 2530
    functionName: _cairo_scaled_font_glyph_path
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - _trace_mask_to_path
    - _cairo_scaled_font_freeze_cache
    - _cairo_scaled_glyph_lookup
    - _cairo_path_fixed_append
    - _cairo_scaled_font_set_error
    - _cairo_scaled_font_thaw_cache
    - _cairo_fixed_from_double
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_scaled_font_glyph_path (cairo_scaled_font_t\
      \ *scaled_font,\t\t\t const cairo_glyph_t *glyphs,\t\t\t int\t\t num_glyphs,\t\
      \t\t cairo_path_fixed_t *path) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_init_identity
      Src: /src/cairo/src/cairo-scaled-font.c:3033,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - scaled_font
    - font_matrix
    argTypes:
    - cairo_scaled_font_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 3038
      start: 3028
    functionDepth: 0
    functionLinenumber: 3028
    functionLinenumberEnd: 3038
    functionName: cairo_scaled_font_get_font_matrix
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - cairo_matrix_init_identity
    linkageType: ''
    returnType: void
    signature: "void cairo_scaled_font_get_font_matrix (cairo_scaled_font_t\t*scaled_font,\t\
      \t\t\t cairo_matrix_t\t*font_matrix) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-scaled-font.c:2704,1
    - Dst: _cairo_debug_check_image_surface_is_defined
      Src: /src/cairo/src/cairo-scaled-font.c:2707,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 4
    argNames:
    - scaled_glyph
    - scaled_font
    - surface
    - foreground_marker_color
    argTypes:
    - cairo_scaled_glyph_t*
    - cairo_scaled_font_t*
    - cairo_image_surface_t*
    - cairo_color_t*
    constantsTouched: []
    func_position:
      end: 2717
      start: 2697
    functionDepth: 0
    functionLinenumber: 2697
    functionLinenumberEnd: 2717
    functionName: _cairo_scaled_glyph_set_color_surface
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - _cairo_debug_check_image_surface_is_defined
    - cairo_surface_destroy
    linkageType: ''
    returnType: void
    signature: "void _cairo_scaled_glyph_set_color_surface (cairo_scaled_glyph_t *scaled_glyph,\t\
      \ cairo_scaled_font_t *scaled_font,\t cairo_image_surface_t *surface,\t\t\t\t\
      \ const cairo_color_t *foreground_marker_color) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_init_identity
      Src: /src/cairo/src/cairo-scaled-font.c:3081,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - scaled_font
    - scale_matrix
    argTypes:
    - cairo_scaled_font_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 3086
      start: 3076
    functionDepth: 0
    functionLinenumber: 3076
    functionLinenumberEnd: 3086
    functionName: cairo_scaled_font_get_scale_matrix
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - cairo_matrix_init_identity
    linkageType: ''
    returnType: void
    signature: "void cairo_scaled_font_get_scale_matrix (cairo_scaled_font_t\t*scaled_font,\t\
      \t\t\t cairo_matrix_t\t*scale_matrix) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_font_options_init_copy
      Src: /src/cairo/src/cairo-scaled-font.c:674,1
    - Dst: _cairo_scaled_font_compute_hash
      Src: /src/cairo/src/cairo-scaled-font.c:677,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 5
    argNames:
    - scaled_font
    - font_face
    - font_matrix
    - ctm
    - options
    argTypes:
    - cairo_scaled_font_t*
    - cairo_font_face_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - cairo_font_options_t*
    constantsTouched: []
    func_position:
      end: 678
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 678
    functionName: _cairo_scaled_font_init_key
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - _cairo_scaled_font_compute_hash
    - _cairo_font_options_init_copy
    linkageType: ''
    returnType: void
    signature: "static void _cairo_scaled_font_init_key (cairo_scaled_font_t *scaled_font,\t\
      \t\t cairo_font_face_t\t *font_face,\t\t\t const cairo_matrix_t *font_matrix,\t\
      \t\t const cairo_matrix_t *ctm,\t\t\t const cairo_font_options_t *options) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-scaled-font.c:756,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font.c:757,1
    - Dst: _cairo_font_options_init_copy
      Src: /src/cairo/src/cairo-scaled-font.c:747,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-scaled-font.c:753,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-scaled-font.c:780,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-scaled-font.c:783,1
    - Dst: CAIRO_REFERENCE_COUNT_INIT
      Src: /src/cairo/src/cairo-scaled-font.c:788,1
    - Dst: _cairo_user_data_array_init
      Src: /src/cairo/src/cairo-scaled-font.c:790,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-scaled-font.c:797,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-scaled-font.c:800,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-scaled-font.c:749,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-scaled-font.c:753,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-scaled-font.c:754,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-scaled-font.c:754,1
    - Dst: cairo_font_options_status
      Src: /src/cairo/src/cairo-scaled-font.c:734,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font.c:735,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-scaled-font.c:753,1
    - Dst: cairo_matrix_init
      Src: /src/cairo/src/cairo-scaled-font.c:768,1
    - Dst: _cairo_hash_table_create
      Src: /src/cairo/src/cairo-scaled-font.c:776,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font.c:777,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-scaled-font.c:778,1
    - Dst: _cairo_matrix_is_scale_0
      Src: /src/cairo/src/cairo-scaled-font.c:767,1
    - Dst: cairo_font_face_reference
      Src: /src/cairo/src/cairo-scaled-font.c:792,1
    - Dst: CAIRO_RECURSIVE_MUTEX_INIT
      Src: /src/cairo/src/cairo-scaled-font.c:795,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 6
    argNames:
    - scaled_font
    - font_face
    - font_matrix
    - ctm
    - options
    - backend
    argTypes:
    - cairo_scaled_font_t*
    - cairo_font_face_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - cairo_font_options_t*
    - cairo_scaled_font_backend_t*
    constantsTouched: []
    func_position:
      end: 803
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 803
    functionName: _cairo_scaled_font_init
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - fabs
    - cairo_list_init
    - _cairo_array_init
    - _cairo_error
    - _cairo_user_data_array_init
    - CAIRO_RECURSIVE_MUTEX_INIT
    - unlikely
    - CAIRO_REFERENCE_COUNT_INIT
    - MAX
    - _cairo_matrix_is_scale_0
    - cairo_font_face_reference
    - _cairo_hash_table_create
    - cairo_matrix_init
    - cairo_matrix_invert
    - cairo_matrix_multiply
    - cairo_font_options_status
    - _cairo_font_options_init_copy
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_scaled_font_init (cairo_scaled_font_t *scaled_font,\t\
      \t\t cairo_font_face_t\t\t *font_face,\t\t\t const cairo_matrix_t *font_matrix,\t\
      \t\t const cairo_matrix_t *ctm,\t\t\t const cairo_font_options_t\t *options,\t\
      \t\t const cairo_scaled_font_backend_t *backend) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-scaled-font.c:1257,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-scaled-font.c:1265,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font.c:1266,1
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-scaled-font.c:1262,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font.c:1264,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-scaled-font.c:1267,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-scaled-font.c:1268,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-scaled-font.c:1276,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1252
    functionDepth: 0
    functionLinenumber: 1252
    functionLinenumberEnd: 1279
    functionName: _cairo_scaled_font_create_in_error
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - CAIRO_MUTEX_LOCK
    - CAIRO_MUTEX_UNLOCK
    - assert
    - _cairo_error_throw
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_scaled_font_t*
    signature: 'cairo_scaled_font_t *_cairo_scaled_font_create_in_error (cairo_status_t
      status) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_REFERENCE_COUNT_IS_INVALID
      Src: /src/cairo/src/cairo-scaled-font.c:1324,1
    - Dst: assert
      Src: /src/cairo/src/cairo-scaled-font.c:1327,1
    - Dst: _cairo_reference_count_inc
      Src: /src/cairo/src/cairo-scaled-font.c:1329,1
    - Dst: CAIRO_REFERENCE_COUNT_HAS_REFERENCE
      Src: /src/cairo/src/cairo-scaled-font.c:1327,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1332
      start: 1320
    functionDepth: 0
    functionLinenumber: 1320
    functionLinenumberEnd: 1332
    functionName: cairo_scaled_font_reference
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - _cairo_reference_count_inc
    - CAIRO_REFERENCE_COUNT_HAS_REFERENCE
    - CAIRO_REFERENCE_COUNT_IS_INVALID
    - assert
    linkageType: ''
    returnType: cairo_scaled_font_t*
    signature: 'cairo_scaled_font_t *cairo_scaled_font_reference (cairo_scaled_font_t
      *scaled_font) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_REFERENCE_COUNT_IS_INVALID
      Src: /src/cairo/src/cairo-scaled-font.c:1484,1
    - Dst: _cairo_user_data_array_set_data
      Src: /src/cairo/src/cairo-scaled-font.c:1487,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - scaled_font
    - key
    - user_data
    - destroy
    argTypes:
    - cairo_scaled_font_t*
    - cairo_user_data_key_t*
    - void*
    - cairo_destroy_func_t
    constantsTouched: []
    func_position:
      end: 1489
      start: 1478
    functionDepth: 0
    functionLinenumber: 1478
    functionLinenumberEnd: 1489
    functionName: cairo_scaled_font_set_user_data
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - _cairo_user_data_array_set_data
    - CAIRO_REFERENCE_COUNT_IS_INVALID
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t cairo_scaled_font_set_user_data (cairo_scaled_font_t\t\
      \ *scaled_font,\t\t\t\t const cairo_user_data_key_t *key,\t\t\t\t void\t\t\t\
      \ *user_data,\t\t\t\t cairo_destroy_func_t\t destroy) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_font_options_status
      Src: /src/cairo/src/cairo-scaled-font.c:3102,1
    - Dst: _cairo_font_options_fini
      Src: /src/cairo/src/cairo-scaled-font.c:3110,1
    - Dst: _cairo_font_options_init_default
      Src: /src/cairo/src/cairo-scaled-font.c:3106,1
    - Dst: _cairo_font_options_init_copy
      Src: /src/cairo/src/cairo-scaled-font.c:3111,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - scaled_font
    - options
    argTypes:
    - cairo_scaled_font_t*
    - cairo_font_options_t*
    constantsTouched: []
    func_position:
      end: 3112
      start: 3098
    functionDepth: 0
    functionLinenumber: 3098
    functionLinenumberEnd: 3112
    functionName: cairo_scaled_font_get_font_options
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - _cairo_font_options_init_default
    - _cairo_font_options_fini
    - cairo_font_options_status
    - _cairo_font_options_init_copy
    linkageType: ''
    returnType: void
    signature: "void cairo_scaled_font_get_font_options (cairo_scaled_font_t\t\t*scaled_font,\t\
      \t\t\t cairo_font_options_t\t*options) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_is_empty
      Src: /src/cairo/src/cairo-scaled-font.c:201,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-scaled-font.c:212,1
    - Dst: _cairo_image_scaled_glyph_fini
      Src: /src/cairo/src/cairo-scaled-font.c:209,1
    - Dst: cairo_list_first_entry
      Src: /src/cairo/src/cairo-scaled-font.c:203,1
    - Dst: _cairo_path_fixed_destroy
      Src: /src/cairo/src/cairo-scaled-font.c:215,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-scaled-font.c:227,1
    - Dst: assert
      Src: /src/cairo/src/cairo-scaled-font.c:228,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-scaled-font.c:232,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - scaled_font
    - scaled_glyph
    argTypes:
    - cairo_scaled_font_t*
    - cairo_scaled_glyph_t*
    constantsTouched: []
    func_position:
      end: 233
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 233
    functionName: _cairo_scaled_glyph_fini
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_destroy
    - cairo_list_first_entry
    - cairo_surface_destroy
    - assert
    - _cairo_image_scaled_glyph_fini
    - _cairo_array_append
    - cairo_list_is_empty
    linkageType: ''
    returnType: void
    signature: "static void _cairo_scaled_glyph_fini (cairo_scaled_font_t *scaled_font,\t\
      \t\t cairo_scaled_glyph_t *scaled_glyph) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-scaled-font.c:562,1
    - Dst: _cairo_scaled_font_compute_hash
      Src: /src/cairo/src/cairo-scaled-font.c:566,1
    - Dst: assert
      Src: /src/cairo/src/cairo-scaled-font.c:570,1
    - Dst: _cairo_hash_table_lookup
      Src: /src/cairo/src/cairo-scaled-font.c:568,1
    - Dst: assert
      Src: /src/cairo/src/cairo-scaled-font.c:571,1
    - Dst: assert
      Src: /src/cairo/src/cairo-scaled-font.c:572,1
    - Dst: CAIRO_MUTEX_IS_LOCKED
      Src: /src/cairo/src/cairo-scaled-font.c:572,1
    - Dst: _cairo_hash_table_remove
      Src: /src/cairo/src/cairo-scaled-font.c:574,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-scaled-font.c:577,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-scaled-font.c:579,1
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-scaled-font.c:582,1
    - Dst: cairo_scaled_font_destroy
      Src: /src/cairo/src/cairo-scaled-font.c:580,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - scaled_font
    argTypes:
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 583
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 583
    functionName: _cairo_scaled_font_unregister_placeholder_and_lock_font_map
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - CAIRO_MUTEX_LOCK
    - cairo_scaled_font_destroy
    - CAIRO_MUTEX_UNLOCK
    - assert
    - CAIRO_MUTEX_IS_LOCKED
    - _cairo_scaled_font_compute_hash
    - _cairo_hash_table_remove
    - _cairo_hash_table_lookup
    linkageType: ''
    returnType: void
    signature: 'void _cairo_scaled_font_unregister_placeholder_and_lock_font_map (cairo_scaled_font_t
      *scaled_font) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cairo/src/cairo-scaled-font.c:711,1
    - Dst: cairo_font_options_equal
      Src: /src/cairo/src/cairo-scaled-font.c:717,1
    - Dst: memcmp
      Src: /src/cairo/src/cairo-scaled-font.c:714,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 5
    argNames:
    - scaled_font
    - font_face
    - font_matrix
    - ctm
    - options
    argTypes:
    - cairo_scaled_font_t*
    - cairo_font_face_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - cairo_font_options_t*
    constantsTouched: []
    func_position:
      end: 718
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 718
    functionName: _cairo_scaled_font_matches
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - cairo_font_options_equal
    - memcmp
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _cairo_scaled_font_matches (const cairo_scaled_font_t\
      \ *scaled_font,\t const cairo_font_face_t *font_face,\t\t\t const cairo_matrix_t\
      \ *font_matrix,\t\t\t const cairo_matrix_t *ctm,\t\t\t const cairo_font_options_t\
      \ *options) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-scaled-font.c:810,1
    - Dst: _cairo_array_truncate
      Src: /src/cairo/src/cairo-scaled-font.c:817,1
    - Dst: _cairo_array_copy_element
      Src: /src/cairo/src/cairo-scaled-font.c:813,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/src/cairo-scaled-font.c:814,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-scaled-font.c:815,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - scaled_font
    argTypes:
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 819
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 819
    functionName: _cairo_scaled_font_free_recording_surfaces
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - cairo_surface_finish
    - _cairo_array_num_elements
    - cairo_surface_destroy
    - _cairo_array_truncate
    - _cairo_array_copy_element
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_scaled_font_free_recording_surfaces (cairo_scaled_font_t
      *scaled_font) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_matrix_compute_basis_scale_factors
      Src: /src/cairo/src/cairo-scaled-font.c:893,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font.c:896,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - scaled_font
    - fs_metrics
    argTypes:
    - cairo_scaled_font_t*
    - cairo_font_extents_t*
    constantsTouched: []
    func_position:
      end: 911
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 911
    functionName: _cairo_scaled_font_set_metrics
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - unlikely
    - _cairo_matrix_compute_basis_scale_factors
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_scaled_font_set_metrics (cairo_scaled_font_t\t\
      \ *scaled_font,\t\t\t\tcairo_font_extents_t\t *fs_metrics) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-scaled-font.c:951,1
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-scaled-font.c:953,1
    - Dst: _cairo_scaled_font_fini_internal
      Src: /src/cairo/src/cairo-scaled-font.c:952,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - scaled_font
    argTypes:
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 954
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 954
    functionName: _cairo_scaled_font_fini
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - CAIRO_MUTEX_LOCK
    - CAIRO_MUTEX_UNLOCK
    - _cairo_scaled_font_fini_internal
    linkageType: ''
    returnType: void
    signature: 'void _cairo_scaled_font_fini (cairo_scaled_font_t *scaled_font) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_foreach_entry
      Src: /src/cairo/src/cairo-scaled-font.c:974,1
    - Dst: cairo_list_move
      Src: /src/cairo/src/cairo-scaled-font.c:979,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 985
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 985
    functionName: _cairo_scaled_font_find_private
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - cairo_list_foreach_entry
    - cairo_list_move
    linkageType: ''
    returnType: cairo_scaled_font_private_t*
    signature: "cairo_scaled_font_private_t *_cairo_scaled_font_find_private (cairo_scaled_font_t\
      \ *scaled_font,\t\t\t\t const void *key) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-scaled-font.c:1286,1
    - Dst: free
      Src: /src/cairo/src/cairo-scaled-font.c:1291,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-scaled-font.c:1294,1
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-scaled-font.c:1296,1
    - Dst: _cairo_cache_fini
      Src: /src/cairo/src/cairo-scaled-font.c:1298,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-scaled-font.c:1301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1302
      start: 1281
    functionDepth: 0
    functionLinenumber: 1281
    functionLinenumberEnd: 1302
    functionName: _cairo_scaled_font_reset_static_data
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - free
    - CAIRO_MUTEX_LOCK
    - CAIRO_MUTEX_UNLOCK
    - _cairo_cache_fini
    linkageType: ''
    returnType: void
    signature: 'void _cairo_scaled_font_reset_static_data (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_scaled_font_reference
      Src: /src/cairo/src/cairo-scaled-font.c:589,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-scaled-font.c:592,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-scaled-font.c:598,1
    - Dst: cairo_scaled_font_destroy
      Src: /src/cairo/src/cairo-scaled-font.c:599,1
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-scaled-font.c:595,1
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-scaled-font.c:601,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - placeholder_scaled_font
    argTypes:
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 602
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 602
    functionName: _cairo_scaled_font_placeholder_wait_for_creation_to_finish
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - CAIRO_MUTEX_LOCK
    - CAIRO_MUTEX_UNLOCK
    - cairo_scaled_font_destroy
    - cairo_scaled_font_reference
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_scaled_font_placeholder_wait_for_creation_to_finish
      (cairo_scaled_font_t *placeholder_scaled_font) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-scaled-font.c:825,1
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-scaled-font.c:827,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - scaled_font
    argTypes:
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 829
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 829
    functionName: _cairo_scaled_font_freeze_cache
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - CAIRO_MUTEX_LOCK
    - assert
    linkageType: ''
    returnType: void
    signature: 'void _cairo_scaled_font_freeze_cache (cairo_scaled_font_t *scaled_font) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-scaled-font.c:916,1
    - Dst: assert
      Src: /src/cairo/src/cairo-scaled-font.c:917,1
    - Dst: _cairo_hash_table_destroy
      Src: /src/cairo/src/cairo-scaled-font.c:921,1
    - Dst: _cairo_font_options_fini
      Src: /src/cairo/src/cairo-scaled-font.c:922,1
    - Dst: _cairo_scaled_font_reset_cache
      Src: /src/cairo/src/cairo-scaled-font.c:920,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/src/cairo-scaled-font.c:924,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/src/cairo-scaled-font.c:925,1
    - Dst: _cairo_scaled_font_free_recording_surfaces
      Src: /src/cairo/src/cairo-scaled-font.c:927,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-scaled-font.c:928,1
    - Dst: CAIRO_MUTEX_FINI
      Src: /src/cairo/src/cairo-scaled-font.c:930,1
    - Dst: _cairo_user_data_array_fini
      Src: /src/cairo/src/cairo-scaled-font.c:943,1
    - Dst: cairo_list_first_entry
      Src: /src/cairo/src/cairo-scaled-font.c:934,1
    - Dst: cairo_list_is_empty
      Src: /src/cairo/src/cairo-scaled-font.c:932,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - scaled_font
    argTypes:
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 944
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 944
    functionName: _cairo_scaled_font_fini_internal
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - _cairo_font_options_fini
    - _cairo_scaled_font_free_recording_surfaces
    - cairo_font_face_destroy
    - _cairo_hash_table_destroy
    - cairo_list_is_empty
    - cairo_list_first_entry
    - assert
    - _cairo_array_fini
    - _cairo_user_data_array_fini
    - CAIRO_MUTEX_FINI
    - _cairo_scaled_font_reset_cache
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_scaled_font_fini_internal (cairo_scaled_font_t
      *scaled_font) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_add
      Src: /src/cairo/src/cairo-scaled-font.c:965,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 4
    argNames:
    - scaled_font
    - private
    - key
    - (*destroy)
    argTypes:
    - cairo_scaled_font_t*
    - cairo_scaled_font_private_t*
    - void*
    - void
    constantsTouched: []
    func_position:
      end: 966
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 966
    functionName: _cairo_scaled_font_attach_private
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - cairo_list_add
    linkageType: ''
    returnType: void
    signature: "void _cairo_scaled_font_attach_private (cairo_scaled_font_t *scaled_font,\t\
      \t\t\t cairo_scaled_font_private_t *private,\t\t\t\t const void *key,\t\t\t\t\
      \ void (*destroy) (cairo_scaled_font_private_t *,\t\t\t\t\t\t cairo_scaled_font_t\
      \ *)) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_add
      Src: /src/cairo/src/cairo-scaled-font.c:997,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 4
    argNames:
    - scaled_glyph
    - private
    - key
    - (*destroy)
    argTypes:
    - cairo_scaled_glyph_t*
    - cairo_scaled_glyph_private_t*
    - void*
    - void
    constantsTouched: []
    func_position:
      end: 998
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 998
    functionName: _cairo_scaled_glyph_attach_private
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - cairo_list_add
    linkageType: ''
    returnType: void
    signature: "void _cairo_scaled_glyph_attach_private (cairo_scaled_glyph_t *scaled_glyph,\t\
      \t\t\t cairo_scaled_glyph_private_t *private,\t\t\t\t const void *key,\t\t\t\
      \t void (*destroy) (cairo_scaled_glyph_private_t *,\t\t\t\t\t\t cairo_scaled_glyph_t\
      \ *,\t\t\t\t\t\t cairo_scaled_font_t *)) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_utf8_get_char_validated
      Src: /src/cairo/src/cairo-scaled-font.c:1811,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font.c:1829,1
    - Dst: _cairo_scaled_glyph_lookup
      Src: /src/cairo/src/cairo-scaled-font.c:1824,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 7
    argNames:
    - scaled_font
    - x
    - y
    - utf8
    - glyphs
    - clusters
    - num_chars
    argTypes:
    - cairo_scaled_font_t*
    - double
    - double
    - char*
    - cairo_glyph_t*
    - cairo_text_cluster_t**
    - int
    constantsTouched: []
    func_position:
      end: 1845
      start: 1791
    functionDepth: 0
    functionLinenumber: 1791
    functionLinenumberEnd: 1845
    functionName: cairo_scaled_font_text_to_glyphs_internal_uncached
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - _cairo_scaled_glyph_lookup
    - _cairo_utf8_get_char_validated
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t cairo_scaled_font_text_to_glyphs_internal_uncached\
      \ (cairo_scaled_font_t\t *scaled_font,\t\t\t\t\t\t double\t\t x,\t\t\t\t\t\t\
      \ double\t\t y,\t\t\t\t\t\t const char\t\t *utf8,\t\t\t\t\t\t cairo_glyph_t\t\
      \t *glyphs,\t\t\t\t\t\t cairo_text_cluster_t\t**clusters,\t\t\t\t\t\t int\t\t\
      \t num_chars) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_user_data_array_get_data
      Src: /src/cairo/src/cairo-scaled-font.c:1456,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1458
      start: 1452
    functionDepth: 0
    functionLinenumber: 1452
    functionLinenumberEnd: 1458
    functionName: cairo_scaled_font_get_user_data
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - _cairo_user_data_array_get_data
    linkageType: ''
    returnType: void*
    signature: "void *cairo_scaled_font_get_user_data (cairo_scaled_font_t\t *scaled_font,\t\
      \t\t\t const cairo_user_data_key_t *key) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_utf8_get_char_validated
      Src: /src/cairo/src/cairo-scaled-font.c:1747,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font.c:1768,1
    - Dst: _cairo_scaled_glyph_lookup
      Src: /src/cairo/src/cairo-scaled-font.c:1763,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-scaled-font.c:1753,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 7
    argNames:
    - scaled_font
    - x
    - y
    - utf8
    - glyphs
    - clusters
    - num_chars
    argTypes:
    - cairo_scaled_font_t*
    - double
    - double
    - char*
    - cairo_glyph_t*
    - cairo_text_cluster_t**
    - int
    constantsTouched: []
    func_position:
      end: 1789
      start: 1718
    functionDepth: 0
    functionLinenumber: 1718
    functionLinenumberEnd: 1789
    functionName: cairo_scaled_font_text_to_glyphs_internal_cached
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - _cairo_scaled_glyph_lookup
    - ARRAY_LENGTH
    - _cairo_utf8_get_char_validated
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t cairo_scaled_font_text_to_glyphs_internal_cached\
      \ (cairo_scaled_font_t\t\t *scaled_font,\t\t\t\t\t\t double\t\t\t x,\t\t\t\t\
      \t\t double\t\t\t y,\t\t\t\t\t\t const char\t\t\t *utf8,\t\t\t\t\t\t cairo_glyph_t\t\
      \t *glyphs,\t\t\t\t\t\t cairo_text_cluster_t\t**clusters,\t\t\t\t\t\t int\t\t\
      \t\t num_chars) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 5
    argNames:
    - extents
    - left
    - top
    - right
    - bottom
    argTypes:
    - cairo_box_t*
    - cairo_fixed_t
    - cairo_fixed_t
    - cairo_fixed_t
    - cairo_fixed_t
    constantsTouched: []
    func_position:
      end: 2197
      start: 2183
    functionDepth: 0
    functionLinenumber: 2183
    functionLinenumberEnd: 2197
    functionName: _range_contains_glyph
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static inline cairo_bool_t _range_contains_glyph (const cairo_box_t\
      \ *extents,\t\t cairo_fixed_t left,\t\t cairo_fixed_t top,\t\t cairo_fixed_t\
      \ right,\t\t cairo_fixed_t bottom) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_scaled_font_freeze_cache
      Src: /src/cairo/src/cairo-scaled-font.c:2207,1
    - Dst: _cairo_font_options_get_round_glyph_positions
      Src: /src/cairo/src/cairo-scaled-font.c:2214,1
    - Dst: _cairo_scaled_glyph_lookup
      Src: /src/cairo/src/cairo-scaled-font.c:2208,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-scaled-font.c:2219,1
    - Dst: likely
      Src: /src/cairo/src/cairo-scaled-font.c:2213,1
    - Dst: _cairo_lround
      Src: /src/cairo/src/cairo-scaled-font.c:2219,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-scaled-font.c:2221,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-scaled-font.c:2226,1
    - Dst: _cairo_lround
      Src: /src/cairo/src/cairo-scaled-font.c:2226,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-scaled-font.c:2228,1
    - Dst: _cairo_box_round_to_rectangle
      Src: /src/cairo/src/cairo-scaled-font.c:2232,1
    - Dst: _cairo_scaled_font_thaw_cache
      Src: /src/cairo/src/cairo-scaled-font.c:2234,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - scaled_font
    - glyph
    - extents
    argTypes:
    - cairo_scaled_font_t*
    - cairo_glyph_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 2236
      start: 2199
    functionDepth: 0
    functionLinenumber: 2199
    functionLinenumberEnd: 2236
    functionName: _cairo_scaled_font_single_glyph_device_extents
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - _cairo_box_round_to_rectangle
    - _cairo_scaled_font_freeze_cache
    - _cairo_scaled_glyph_lookup
    - _cairo_font_options_get_round_glyph_positions
    - _cairo_scaled_font_thaw_cache
    - _cairo_fixed_from_double
    - _cairo_lround
    - likely
    - _cairo_fixed_from_int
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_scaled_font_single_glyph_device_extents\
      \ (cairo_scaled_font_t\t *scaled_font,\t\t\t\t\t\tconst cairo_glyph_t\t *glyph,\t\
      \t\t\t\t\tcairo_rectangle_int_t *extents) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-scaled-font.c:2626,1
    - Dst: _cairo_debug_check_image_surface_is_defined
      Src: /src/cairo/src/cairo-scaled-font.c:2629,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - scaled_glyph
    - scaled_font
    - surface
    argTypes:
    - cairo_scaled_glyph_t*
    - cairo_scaled_font_t*
    - cairo_image_surface_t*
    constantsTouched: []
    func_position:
      end: 2636
      start: 2620
    functionDepth: 0
    functionLinenumber: 2620
    functionLinenumberEnd: 2636
    functionName: _cairo_scaled_glyph_set_surface
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - _cairo_debug_check_image_surface_is_defined
    - cairo_surface_destroy
    linkageType: ''
    returnType: void
    signature: "void _cairo_scaled_glyph_set_surface (cairo_scaled_glyph_t *scaled_glyph,\t\
      \t\t\t cairo_scaled_font_t *scaled_font,\t\t\t\t cairo_image_surface_t *surface) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_finish
      Src: /src/cairo/src/cairo-scaled-font.c:2671,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-scaled-font.c:2672,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 4
    argNames:
    - scaled_glyph
    - scaled_font
    - recording_surface
    - foreground_color
    argTypes:
    - cairo_scaled_glyph_t*
    - cairo_scaled_font_t*
    - cairo_surface_t*
    - cairo_color_t*
    constantsTouched: []
    func_position:
      end: 2684
      start: 2664
    functionDepth: 0
    functionLinenumber: 2664
    functionLinenumberEnd: 2684
    functionName: _cairo_scaled_glyph_set_recording_surface
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - cairo_surface_finish
    - cairo_surface_destroy
    linkageType: ''
    returnType: void
    signature: "void _cairo_scaled_glyph_set_recording_surface (cairo_scaled_glyph_t\
      \ *scaled_glyph,\t\t\t\t\t cairo_scaled_font_t *scaled_font,\t\t\t\t\t cairo_surface_t\
      \ *recording_surface,\t\t\t\t\t const cairo_color_t * foreground_color) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - scaled_font
    argTypes:
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 2990
      start: 2986
    functionDepth: 0
    functionLinenumber: 2986
    functionLinenumberEnd: 2990
    functionName: _cairo_scaled_font_get_max_scale
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: 'double _cairo_scaled_font_get_max_scale (cairo_scaled_font_t *scaled_font) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-scaled-font.c:377,1
    - Dst: _cairo_hash_table_create
      Src: /src/cairo/src/cairo-scaled-font.c:386,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font.c:388,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-scaled-font.c:380,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font.c:381,1
    - Dst: free
      Src: /src/cairo/src/cairo-scaled-font.c:397,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-scaled-font.c:400,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-scaled-font.c:401,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 403
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 403
    functionName: _cairo_scaled_font_map_lock
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - CAIRO_MUTEX_LOCK
    - free
    - CAIRO_MUTEX_UNLOCK
    - _cairo_hash_table_create
    - _cairo_error_throw
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_scaled_font_map_t*
    signature: 'static cairo_scaled_font_map_t *_cairo_scaled_font_map_lock (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-scaled-font.c:515,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font.c:518,1
    - Dst: CAIRO_MUTEX_IS_LOCKED
      Src: /src/cairo/src/cairo-scaled-font.c:515,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font.c:522,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-scaled-font.c:521,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-scaled-font.c:523,1
    - Dst: _cairo_scaled_font_init
      Src: /src/cairo/src/cairo-scaled-font.c:526,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font.c:532,1
    - Dst: _cairo_scaled_font_compute_hash
      Src: /src/cairo/src/cairo-scaled-font.c:538,1
    - Dst: _cairo_hash_table_insert
      Src: /src/cairo/src/cairo-scaled-font.c:539,1
    - Dst: _cairo_scaled_font_set_error
      Src: /src/cairo/src/cairo-scaled-font.c:554,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font.c:541,1
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-scaled-font.c:545,1
    - Dst: free
      Src: /src/cairo/src/cairo-scaled-font.c:552,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-scaled-font.c:544,1
    - Dst: _cairo_scaled_font_fini_internal
      Src: /src/cairo/src/cairo-scaled-font.c:550,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - scaled_font
    argTypes:
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 555
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 555
    functionName: _cairo_scaled_font_register_placeholder_and_unlock_font_map
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - CAIRO_MUTEX_LOCK
    - _cairo_error
    - _cairo_scaled_font_fini_internal
    - free
    - CAIRO_MUTEX_UNLOCK
    - _cairo_scaled_font_set_error
    - assert
    - _cairo_hash_table_insert
    - CAIRO_MUTEX_IS_LOCKED
    - _cairo_scaled_font_compute_hash
    - _cairo_calloc
    - _cairo_scaled_font_init
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_scaled_font_register_placeholder_and_unlock_font_map
      (cairo_scaled_font_t *scaled_font) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - matrix
    - hval
    argTypes:
    - cairo_matrix_t*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 625
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 625
    functionName: _hash_matrix_fnv
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: "static uint64_t _hash_matrix_fnv (const cairo_matrix_t\t*matrix,\t\
      \t uint64_t\t\t hval) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cairo_scaled_font_text_to_glyphs
      Src: /src/cairo/src/cairo-scaled-font.c:1556,1
    - Dst: _cairo_scaled_font_set_error
      Src: /src/cairo/src/cairo-scaled-font.c:1562,1
    - Dst: cairo_scaled_font_glyph_extents
      Src: /src/cairo/src/cairo-scaled-font.c:1566,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font.c:1561,1
    - Dst: free
      Src: /src/cairo/src/cairo-scaled-font.c:1567,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 3
    argNames:
    - scaled_font
    - utf8
    - extents
    argTypes:
    - cairo_scaled_font_t*
    - char*
    - cairo_text_extents_t*
    constantsTouched: []
    func_position:
      end: 1578
      start: 1541
    functionDepth: 0
    functionLinenumber: 1541
    functionLinenumberEnd: 1578
    functionName: cairo_scaled_font_text_extents
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - free
    - cairo_scaled_font_glyph_extents
    - _cairo_scaled_font_set_error
    - cairo_scaled_font_text_to_glyphs
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void cairo_scaled_font_text_extents (cairo_scaled_font_t *scaled_font,\t\
      \t\t\tconst char *utf8,\t\t\t\tcairo_text_extents_t *extents) "
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font.c:1619,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-scaled-font.c:1626,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font.c:1625,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-scaled-font.c:1632,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font.c:1631,1
    - Dst: _cairo_scaled_font_freeze_cache
      Src: /src/cairo/src/cairo-scaled-font.c:1637,1
    - Dst: _cairo_scaled_glyph_lookup
      Src: /src/cairo/src/cairo-scaled-font.c:1642,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font.c:1647,1
    - Dst: _cairo_scaled_font_set_error
      Src: /src/cairo/src/cairo-scaled-font.c:1648,1
    - Dst: _cairo_scaled_font_thaw_cache
      Src: /src/cairo/src/cairo-scaled-font.c:1705,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 91
    argCount: 4
    argNames:
    - scaled_font
    - glyphs
    - num_glyphs
    - extents
    argTypes:
    - cairo_scaled_font_t*
    - cairo_glyph_t*
    - int
    - cairo_text_extents_t*
    constantsTouched: []
    func_position:
      end: 1715
      start: 1600
    functionDepth: 0
    functionLinenumber: 1600
    functionLinenumberEnd: 1715
    functionName: cairo_scaled_font_glyph_extents
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - _cairo_scaled_font_freeze_cache
    - _cairo_scaled_glyph_lookup
    - _cairo_scaled_font_set_error
    - _cairo_scaled_font_thaw_cache
    - _cairo_error_throw
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void cairo_scaled_font_glyph_extents (cairo_scaled_font_t *scaled_font,\t\
      \t\t\t const cairo_glyph_t *glyphs,\t\t\t\t int num_glyphs,\t\t\t\t cairo_text_extents_t\
      \ *extents) "
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_MUTEX_IS_LOCKED
      Src: /src/cairo/src/cairo-scaled-font.c:2887,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font.c:2903,1
    - Dst: memset
      Src: /src/cairo/src/cairo-scaled-font.c:2906,1
    - Dst: _cairo_color_equal
      Src: /src/cairo/src/cairo-scaled-font.c:2945,1
    - Dst: _cairo_color_equal
      Src: /src/cairo/src/cairo-scaled-font.c:2955,1
    - Dst: _cairo_hash_table_lookup
      Src: /src/cairo/src/cairo-scaled-font.c:2900,1
    - Dst: _cairo_scaled_font_allocate_glyph
      Src: /src/cairo/src/cairo-scaled-font.c:2902,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font.c:2923,1
    - Dst: _cairo_scaled_font_free_last_glyph
      Src: /src/cairo/src/cairo-scaled-font.c:2924,1
    - Dst: _cairo_hash_table_insert
      Src: /src/cairo/src/cairo-scaled-font.c:2921,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font.c:2884,1
    - Dst: CAIRO_INJECT_FAULT
      Src: /src/cairo/src/cairo-scaled-font.c:2890,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-scaled-font.c:2891,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font.c:2916,1
    - Dst: _cairo_scaled_font_free_last_glyph
      Src: /src/cairo/src/cairo-scaled-font.c:2917,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-scaled-font.c:2908,1
    - Dst: _cairo_scaled_glyph_set_index
      Src: /src/cairo/src/cairo-scaled-font.c:2907,1
    - Dst: assert
      Src: /src/cairo/src/cairo-scaled-font.c:2887,1
    - Dst: assert
      Src: /src/cairo/src/cairo-scaled-font.c:2888,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font.c:2965,1
    - Dst: _cairo_scaled_font_set_error
      Src: /src/cairo/src/cairo-scaled-font.c:2982,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 65
    argCount: 5
    argNames:
    - scaled_font
    - index
    - info
    - foreground_color
    - scaled_glyph_ret
    argTypes:
    - cairo_scaled_font_t*
    - unsigned long
    - cairo_scaled_glyph_info_t
    - cairo_color_t*
    - cairo_scaled_glyph_t**
    constantsTouched: []
    func_position:
      end: 2984
      start: 2870
    functionDepth: 0
    functionLinenumber: 2870
    functionLinenumberEnd: 2984
    functionName: _cairo_scaled_glyph_lookup
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - memset
    - _cairo_scaled_font_allocate_glyph
    - cairo_list_init
    - _cairo_scaled_glyph_set_index
    - _cairo_error
    - _cairo_scaled_font_free_last_glyph
    - _cairo_scaled_font_set_error
    - assert
    - _cairo_hash_table_insert
    - CAIRO_MUTEX_IS_LOCKED
    - _cairo_color_equal
    - _cairo_hash_table_lookup
    - CAIRO_INJECT_FAULT
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_scaled_glyph_lookup (cairo_scaled_font_t\
      \ *scaled_font,\t\t\t unsigned long index,\t\t\t cairo_scaled_glyph_info_t info,\t\
      \t\t const cairo_color_t *foreground_color,\t\t\t cairo_scaled_glyph_t **scaled_glyph_ret) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-scaled-font.c:408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 409
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 409
    functionName: _cairo_scaled_font_map_unlock
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - CAIRO_MUTEX_UNLOCK
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_scaled_font_map_unlock (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - hash
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 636
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 636
    functionName: _hash_mix_bits
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: 'static uint64_t _hash_mix_bits (uint64_t hash) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cairo/src/cairo-scaled-font.c:2027,1
    - Dst: _cairo_utf8_to_ucs4
      Src: /src/cairo/src/cairo-scaled-font.c:2063,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-scaled-font.c:2085,1
    - Dst: cairo_glyph_allocate
      Src: /src/cairo/src/cairo-scaled-font.c:2117,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font.c:2118,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-scaled-font.c:2119,1
    - Dst: cairo_scaled_font_text_to_glyphs_internal_uncached
      Src: /src/cairo/src/cairo-scaled-font.c:2144,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font.c:2154,1
    - Dst: _cairo_scaled_font_freeze_cache
      Src: /src/cairo/src/cairo-scaled-font.c:2067,1
    - Dst: _cairo_validate_text_clusters
      Src: /src/cairo/src/cairo-scaled-font.c:2105,1
    - Dst: cairo_glyph_free
      Src: /src/cairo/src/cairo-scaled-font.c:2157,1
    - Dst: _cairo_scaled_font_set_error
      Src: /src/cairo/src/cairo-scaled-font.c:2170,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font.c:2001,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-scaled-font.c:2053,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-scaled-font.c:2021,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-scaled-font.c:2099,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font.c:2128,1
    - Dst: cairo_text_cluster_allocate
      Src: /src/cairo/src/cairo-scaled-font.c:2127,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-scaled-font.c:2129,1
    - Dst: cairo_scaled_font_text_to_glyphs_internal_cached
      Src: /src/cairo/src/cairo-scaled-font.c:2137,1
    - Dst: _cairo_scaled_font_thaw_cache
      Src: /src/cairo/src/cairo-scaled-font.c:2152,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-scaled-font.c:2009,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font.c:2064,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-scaled-font.c:2095,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-scaled-font.c:2089,1
    - Dst: cairo_text_cluster_free
      Src: /src/cairo/src/cairo-scaled-font.c:2164,1
    CyclomaticComplexity: 73
    EdgeCount: 73
    ICount: 134
    argCount: 10
    argNames:
    - scaled_font
    - x
    - y
    - utf8
    - utf8_len
    - glyphs
    - num_glyphs
    - clusters
    - num_clusters
    - cluster_flags
    argTypes:
    - cairo_scaled_font_t*
    - double
    - double
    - char*
    - int
    - cairo_glyph_t**
    - int*
    - cairo_text_cluster_t**
    - int*
    - cairo_text_cluster_flags_t*
    constantsTouched: []
    func_position:
      end: 2181
      start: 1983
    functionDepth: 0
    functionLinenumber: 1983
    functionLinenumberEnd: 2181
    functionName: cairo_scaled_font_text_to_glyphs
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - strlen
    - _cairo_error
    - _cairo_scaled_font_freeze_cache
    - _cairo_utf8_to_ucs4
    - cairo_glyph_free
    - _cairo_scaled_font_thaw_cache
    - _cairo_scaled_font_set_error
    - _cairo_validate_text_clusters
    - cairo_text_cluster_free
    - cairo_scaled_font_text_to_glyphs_internal_uncached
    - cairo_scaled_font_text_to_glyphs_internal_cached
    - cairo_text_cluster_allocate
    - cairo_glyph_allocate
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t cairo_scaled_font_text_to_glyphs (cairo_scaled_font_t\
      \ *scaled_font,\t\t\t\t double\t\t x,\t\t\t\t double\t\t y,\t\t\t\t const char\t\
      \ *utf8,\t\t\t\t int\t\t utf8_len,\t\t\t\t cairo_glyph_t\t **glyphs,\t\t\t\t\
      \ int\t\t *num_glyphs,\t\t\t\t cairo_text_cluster_t **clusters,\t\t\t\t int\t\
      \t *num_clusters,\t\t\t\t cairo_text_cluster_flags_t *cluster_flags) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - scaled_font
    argTypes:
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 3121
      start: 3114
    functionDepth: 0
    functionLinenumber: 3114
    functionLinenumberEnd: 3121
    functionName: _cairo_scaled_font_has_color_glyphs
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t _cairo_scaled_font_has_color_glyphs (cairo_scaled_font_t
      *scaled_font) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_status_set_error
      Src: /src/cairo/src/cairo-scaled-font.c:295,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-scaled-font.c:297,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - scaled_font
    - status
    argTypes:
    - cairo_scaled_font_t*
    - cairo_status_t
    constantsTouched: []
    func_position:
      end: 298
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 298
    functionName: _cairo_scaled_font_set_error
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - _cairo_status_set_error
    - _cairo_error
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_scaled_font_set_error (cairo_scaled_font_t *scaled_font,\t\
      \t\t cairo_status_t status) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-scaled-font.c:484,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-scaled-font.c:490,1
    - Dst: cairo_list_is_empty
      Src: /src/cairo/src/cairo-scaled-font.c:484,1
    - Dst: _cairo_scaled_glyph_page_destroy
      Src: /src/cairo/src/cairo-scaled-font.c:489,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - closure
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 491
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 491
    functionName: _cairo_scaled_glyph_page_pluck
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - CAIRO_MUTEX_UNLOCK
    - cairo_list_is_empty
    - _cairo_scaled_glyph_page_destroy
    - assert
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_scaled_glyph_page_pluck (void *closure) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_REFERENCE_COUNT_IS_INVALID
      Src: /src/cairo/src/cairo-scaled-font.c:1432,1
    - Dst: CAIRO_REFERENCE_COUNT_GET_VALUE
      Src: /src/cairo/src/cairo-scaled-font.c:1435,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - scaled_font
    argTypes:
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 1436
      start: 1428
    functionDepth: 0
    functionLinenumber: 1428
    functionLinenumberEnd: 1436
    functionName: cairo_scaled_font_get_reference_count
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - CAIRO_REFERENCE_COUNT_IS_INVALID
    - CAIRO_REFERENCE_COUNT_GET_VALUE
    linkageType: ''
    returnType: unsigned int
    signature: 'unsigned int cairo_scaled_font_get_reference_count (cairo_scaled_font_t
      *scaled_font) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - scaled_font
    - extents
    argTypes:
    - cairo_scaled_font_t*
    - cairo_font_extents_t*
    constantsTouched: []
    func_position:
      end: 1516
      start: 1502
    functionDepth: 0
    functionLinenumber: 1502
    functionLinenumberEnd: 1516
    functionName: cairo_scaled_font_extents
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void cairo_scaled_font_extents (cairo_scaled_font_t *scaled_font,\t\
      \t\t cairo_font_extents_t *extents) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-scaled-font.c:2809,1
    - Dst: cairo_list_last_entry
      Src: /src/cairo/src/cairo-scaled-font.c:2811,1
    - Dst: assert
      Src: /src/cairo/src/cairo-scaled-font.c:2810,1
    - Dst: assert
      Src: /src/cairo/src/cairo-scaled-font.c:2814,1
    - Dst: cairo_list_is_empty
      Src: /src/cairo/src/cairo-scaled-font.c:2810,1
    - Dst: _cairo_scaled_glyph_fini
      Src: /src/cairo/src/cairo-scaled-font.c:2816,1
    - Dst: _cairo_scaled_font_thaw_cache
      Src: /src/cairo/src/cairo-scaled-font.c:2819,1
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-scaled-font.c:2820,1
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-scaled-font.c:2822,1
    - Dst: _cairo_cache_remove
      Src: /src/cairo/src/cairo-scaled-font.c:2825,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-scaled-font.c:2831,1
    - Dst: _cairo_scaled_font_freeze_cache
      Src: /src/cairo/src/cairo-scaled-font.c:2832,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-scaled-font.c:2829,1
    - Dst: _cairo_scaled_glyph_page_destroy
      Src: /src/cairo/src/cairo-scaled-font.c:2827,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - scaled_font
    - scaled_glyph
    argTypes:
    - cairo_scaled_font_t*
    - cairo_scaled_glyph_t*
    constantsTouched: []
    func_position:
      end: 2834
      start: 2803
    functionDepth: 0
    functionLinenumber: 2803
    functionLinenumberEnd: 2834
    functionName: _cairo_scaled_font_free_last_glyph
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - CAIRO_MUTEX_LOCK
    - _cairo_scaled_font_freeze_cache
    - _cairo_cache_remove
    - CAIRO_MUTEX_UNLOCK
    - _cairo_scaled_glyph_fini
    - assert
    - cairo_list_last_entry
    - _cairo_scaled_glyph_page_destroy
    - cairo_list_is_empty
    - _cairo_scaled_font_thaw_cache
    linkageType: ''
    returnType: void
    signature: "static void _cairo_scaled_font_free_last_glyph (cairo_scaled_font_t\
      \ *scaled_font,\t\t\t cairo_scaled_glyph_t *scaled_glyph) "
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3016
      start: 3006
    functionDepth: 0
    functionLinenumber: 3006
    functionLinenumberEnd: 3016
    functionName: cairo_scaled_font_get_font_face
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_font_face_t*
    signature: 'cairo_font_face_t *cairo_scaled_font_get_font_face (cairo_scaled_font_t
      *scaled_font) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_fixed_destroy
      Src: /src/cairo/src/cairo-scaled-font.c:2644,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - scaled_glyph
    - scaled_font
    - path
    argTypes:
    - cairo_scaled_glyph_t*
    - cairo_scaled_font_t*
    - cairo_path_fixed_t*
    constantsTouched: []
    func_position:
      end: 2652
      start: 2638
    functionDepth: 0
    functionLinenumber: 2638
    functionLinenumberEnd: 2652
    functionName: _cairo_scaled_glyph_set_path
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_destroy
    linkageType: ''
    returnType: void
    signature: "void _cairo_scaled_glyph_set_path (cairo_scaled_glyph_t *scaled_glyph,\t\
      \t\t cairo_scaled_font_t *scaled_font,\t\t\t cairo_path_fixed_t *path) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - scaled_font
    argTypes:
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 337
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 337
    functionName: cairo_scaled_font_status
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t cairo_scaled_font_status (cairo_scaled_font_t *scaled_font) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-scaled-font.c:417,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font.c:420,1
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-scaled-font.c:428,1
    - Dst: cairo_scaled_font_destroy
      Src: /src/cairo/src/cairo-scaled-font.c:427,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-scaled-font.c:426,1
    - Dst: assert
      Src: /src/cairo/src/cairo-scaled-font.c:435,1
    - Dst: CAIRO_REFERENCE_COUNT_HAS_REFERENCE
      Src: /src/cairo/src/cairo-scaled-font.c:435,1
    - Dst: _cairo_hash_table_remove
      Src: /src/cairo/src/cairo-scaled-font.c:436,1
    - Dst: _cairo_scaled_font_fini
      Src: /src/cairo/src/cairo-scaled-font.c:445,1
    - Dst: free
      Src: /src/cairo/src/cairo-scaled-font.c:447,1
    - Dst: free
      Src: /src/cairo/src/cairo-scaled-font.c:452,1
    - Dst: _cairo_hash_table_destroy
      Src: /src/cairo/src/cairo-scaled-font.c:450,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-scaled-font.c:456,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 457
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 457
    functionName: _cairo_scaled_font_map_destroy
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - CAIRO_MUTEX_LOCK
    - cairo_scaled_font_destroy
    - free
    - _cairo_hash_table_destroy
    - CAIRO_MUTEX_UNLOCK
    - assert
    - _cairo_scaled_font_fini
    - _cairo_hash_table_remove
    - CAIRO_REFERENCE_COUNT_HAS_REFERENCE
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void _cairo_scaled_font_map_destroy (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_font_options_fini
      Src: /src/cairo/src/cairo-scaled-font.c:683,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - scaled_font
    argTypes:
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 684
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 684
    functionName: _cairo_scaled_font_fini_key
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - _cairo_font_options_fini
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_scaled_font_fini_key (cairo_scaled_font_t *scaled_font) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-scaled-font.c:834,1
    - Dst: _cairo_cache_thaw
      Src: /src/cairo/src/cairo-scaled-font.c:838,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-scaled-font.c:839,1
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-scaled-font.c:837,1
    - Dst: _cairo_scaled_font_free_recording_surfaces
      Src: /src/cairo/src/cairo-scaled-font.c:843,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-scaled-font.c:846,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - scaled_font
    argTypes:
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 847
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 847
    functionName: _cairo_scaled_font_thaw_cache
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - CAIRO_MUTEX_LOCK
    - _cairo_cache_thaw
    - _cairo_scaled_font_free_recording_surfaces
    - CAIRO_MUTEX_UNLOCK
    - assert
    linkageType: ''
    returnType: void
    signature: 'void _cairo_scaled_font_thaw_cache (cairo_scaled_font_t *scaled_font) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-scaled-font.c:1350,1
    - Dst: CAIRO_REFERENCE_COUNT_HAS_REFERENCE
      Src: /src/cairo/src/cairo-scaled-font.c:1356,1
    - Dst: assert
      Src: /src/cairo/src/cairo-scaled-font.c:1356,1
    - Dst: CAIRO_REFERENCE_COUNT_IS_INVALID
      Src: /src/cairo/src/cairo-scaled-font.c:1353,1
    - Dst: CAIRO_MUTEX_IS_UNLOCKED
      Src: /src/cairo/src/cairo-scaled-font.c:1350,1
    - Dst: _cairo_scaled_font_map_lock
      Src: /src/cairo/src/cairo-scaled-font.c:1358,1
    - Dst: assert
      Src: /src/cairo/src/cairo-scaled-font.c:1359,1
    - Dst: _cairo_reference_count_dec_and_test
      Src: /src/cairo/src/cairo-scaled-font.c:1361,1
    - Dst: assert
      Src: /src/cairo/src/cairo-scaled-font.c:1364,1
    - Dst: assert
      Src: /src/cairo/src/cairo-scaled-font.c:1365,1
    - Dst: assert
      Src: /src/cairo/src/cairo-scaled-font.c:1385,1
    - Dst: _cairo_hash_table_remove
      Src: /src/cairo/src/cairo-scaled-font.c:1387,1
    - Dst: _cairo_scaled_font_map_unlock
      Src: /src/cairo/src/cairo-scaled-font.c:1403,1
    - Dst: free
      Src: /src/cairo/src/cairo-scaled-font.c:1413,1
    - Dst: CAIRO_REFERENCE_COUNT_HAS_REFERENCE
      Src: /src/cairo/src/cairo-scaled-font.c:1368,1
    - Dst: _cairo_scaled_font_fini_internal
      Src: /src/cairo/src/cairo-scaled-font.c:1412,1
    - Dst: memmove
      Src: /src/cairo/src/cairo-scaled-font.c:1391,1
    - Dst: CAIRO_REFERENCE_COUNT_HAS_REFERENCE
      Src: /src/cairo/src/cairo-scaled-font.c:1385,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 1
    argNames:
    - scaled_font
    argTypes:
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 1415
      start: 1344
    functionDepth: 0
    functionLinenumber: 1344
    functionLinenumberEnd: 1415
    functionName: cairo_scaled_font_destroy
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - CAIRO_MUTEX_IS_UNLOCKED
    - memmove
    - free
    - CAIRO_REFERENCE_COUNT_IS_INVALID
    - _cairo_scaled_font_map_unlock
    - assert
    - _cairo_reference_count_dec_and_test
    - _cairo_scaled_font_map_lock
    - _cairo_hash_table_remove
    - CAIRO_REFERENCE_COUNT_HAS_REFERENCE
    - _cairo_scaled_font_fini_internal
    linkageType: ''
    returnType: void
    signature: 'void cairo_scaled_font_destroy (cairo_scaled_font_t *scaled_font) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cairo/src/cairo-scaled-font.c:2268,1
    - Dst: _cairo_scaled_glyph_index
      Src: /src/cairo/src/cairo-scaled-font.c:2277,1
    - Dst: _cairo_scaled_glyph_lookup
      Src: /src/cairo/src/cairo-scaled-font.c:2279,1
    - Dst: _cairo_lround
      Src: /src/cairo/src/cairo-scaled-font.c:2291,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-scaled-font.c:2293,1
    - Dst: _cairo_scaled_font_thaw_cache
      Src: /src/cairo/src/cairo-scaled-font.c:2313,1
    - Dst: _cairo_box_round_to_rectangle
      Src: /src/cairo/src/cairo-scaled-font.c:2318,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font.c:2255,1
    - Dst: _cairo_scaled_font_set_error
      Src: /src/cairo/src/cairo-scaled-font.c:2315,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-scaled-font.c:2300,1
    - Dst: _cairo_lround
      Src: /src/cairo/src/cairo-scaled-font.c:2298,1
    - Dst: _cairo_scaled_font_freeze_cache
      Src: /src/cairo/src/cairo-scaled-font.c:2266,1
    - Dst: _cairo_scaled_font_single_glyph_device_extents
      Src: /src/cairo/src/cairo-scaled-font.c:2261,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-scaled-font.c:2291,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font.c:2314,1
    - Dst: _cairo_font_options_get_round_glyph_positions
      Src: /src/cairo/src/cairo-scaled-font.c:2252,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-scaled-font.c:2273,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font.c:2284,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-scaled-font.c:2298,1
    - Dst: _range_contains_glyph
      Src: /src/cairo/src/cairo-scaled-font.c:2305,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 68
    argCount: 5
    argNames:
    - scaled_font
    - glyphs
    - num_glyphs
    - extents
    - overlap_out
    argTypes:
    - cairo_scaled_font_t*
    - cairo_glyph_t*
    - int
    - cairo_rectangle_int_t*
    - cairo_bool_t*
    constantsTouched: []
    func_position:
      end: 2328
      start: 2241
    functionDepth: 0
    functionLinenumber: 2241
    functionLinenumberEnd: 2328
    functionName: _cairo_scaled_font_glyph_device_extents
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - _cairo_scaled_font_single_glyph_device_extents
    - _cairo_scaled_glyph_index
    - _cairo_box_round_to_rectangle
    - _cairo_scaled_font_freeze_cache
    - _cairo_scaled_glyph_lookup
    - _cairo_fixed_from_int
    - ARRAY_LENGTH
    - _cairo_font_options_get_round_glyph_positions
    - _cairo_scaled_font_thaw_cache
    - _cairo_scaled_font_set_error
    - _cairo_fixed_from_double
    - _cairo_lround
    - memset
    - _range_contains_glyph
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_scaled_font_glyph_device_extents (cairo_scaled_font_t\t\
      \ *scaled_font,\t\t\t\t\t const cairo_glyph_t\t *glyphs,\t\t\t\t\t int num_glyphs,\t\
      \t\t\t\t cairo_rectangle_int_t *extents,\t\t\t\t\t cairo_bool_t *overlap_out) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_image_surface_coerce_to_format
      Src: /src/cairo/src/cairo-scaled-font.c:2437,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-scaled-font.c:2443,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-scaled-font.c:2444,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font.c:2439,1
    - Dst: cairo_surface_get_device_offset
      Src: /src/cairo/src/cairo-scaled-font.c:2442,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-scaled-font.c:2451,1
    - Dst: CAIRO_BITSWAP8_IF_LITTLE_ENDIAN
      Src: /src/cairo/src/cairo-scaled-font.c:2459,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-scaled-font.c:2462,1
    - Dst: _add_unit_rectangle_to_path
      Src: /src/cairo/src/cairo-scaled-font.c:2463,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font.c:2466,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-scaled-font.c:2474,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 4
    argNames:
    - mask
    - path
    - tx
    - ty
    argTypes:
    - cairo_image_surface_t*
    - cairo_path_fixed_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 2477
      start: 2424
    functionDepth: 0
    functionLinenumber: 2424
    functionLinenumberEnd: 2477
    functionName: _trace_mask_to_path
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - cairo_surface_get_device_offset
    - _cairo_fixed_from_int
    - _cairo_image_surface_coerce_to_format
    - _add_unit_rectangle_to_path
    - cairo_surface_destroy
    - _cairo_fixed_from_double
    - CAIRO_BITSWAP8_IF_LITTLE_ENDIAN
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _trace_mask_to_path (cairo_image_surface_t *mask,\t\
      \t cairo_path_fixed_t *path,\t\t double tx, double ty) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_MUTEX_TRY_LOCK
      Src: /src/cairo/src/cairo-scaled-font.c:2730,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-scaled-font.c:2734,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - closure
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2739
      start: 2722
    functionDepth: 0
    functionLinenumber: 2722
    functionLinenumberEnd: 2739
    functionName: _cairo_scaled_glyph_page_can_remove
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - CAIRO_MUTEX_TRY_LOCK
    - CAIRO_MUTEX_UNLOCK
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_scaled_glyph_page_can_remove (const void
      *closure) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-scaled-font.c:465,1
    - Dst: _cairo_hash_table_remove
      Src: /src/cairo/src/cairo-scaled-font.c:469,1
    - Dst: _cairo_scaled_glyph_fini
      Src: /src/cairo/src/cairo-scaled-font.c:471,1
    - Dst: cairo_list_del
      Src: /src/cairo/src/cairo-scaled-font.c:474,1
    - Dst: assert
      Src: /src/cairo/src/cairo-scaled-font.c:466,1
    - Dst: free
      Src: /src/cairo/src/cairo-scaled-font.c:475,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - scaled_font
    - page
    argTypes:
    - cairo_scaled_font_t*
    - cairo_scaled_glyph_page_t*
    constantsTouched: []
    func_position:
      end: 476
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 476
    functionName: _cairo_scaled_glyph_page_destroy
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - free
    - _cairo_scaled_glyph_fini
    - assert
    - _cairo_hash_table_remove
    - cairo_list_del
    linkageType: ''
    returnType: void
    signature: "static void _cairo_scaled_glyph_page_destroy (cairo_scaled_font_t\
      \ *scaled_font,\t\t\t\t cairo_scaled_glyph_page_t *page) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cairo/src/cairo-scaled-font.c:694,1
    - Dst: memcmp
      Src: /src/cairo/src/cairo-scaled-font.c:697,1
    - Dst: cairo_font_options_equal
      Src: /src/cairo/src/cairo-scaled-font.c:700,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - abstract_key_a
    - abstract_key_b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 701
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 701
    functionName: _cairo_scaled_font_keys_equal
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - cairo_font_options_equal
    - memcmp
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _cairo_scaled_font_keys_equal (const void *abstract_key_a,\t\
      \t\t const void *abstract_key_b) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-scaled-font.c:854,1
    - Dst: cairo_list_foreach_entry
      Src: /src/cairo/src/cairo-scaled-font.c:859,1
    - Dst: assert
      Src: /src/cairo/src/cairo-scaled-font.c:855,1
    - Dst: assert
      Src: /src/cairo/src/cairo-scaled-font.c:856,1
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-scaled-font.c:857,1
    - Dst: _cairo_hash_table_remove
      Src: /src/cairo/src/cairo-scaled-font.c:864,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-scaled-font.c:868,1
    - Dst: cairo_list_is_empty
      Src: /src/cairo/src/cairo-scaled-font.c:874,1
    - Dst: cairo_list_first_entry
      Src: /src/cairo/src/cairo-scaled-font.c:875,1
    - Dst: _cairo_scaled_glyph_page_destroy
      Src: /src/cairo/src/cairo-scaled-font.c:878,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-scaled-font.c:881,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - scaled_font
    argTypes:
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 882
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 882
    functionName: _cairo_scaled_font_reset_cache
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - cairo_list_foreach_entry
    - CAIRO_MUTEX_LOCK
    - cairo_list_first_entry
    - CAIRO_MUTEX_UNLOCK
    - assert
    - _cairo_scaled_glyph_page_destroy
    - _cairo_hash_table_remove
    - cairo_list_is_empty
    linkageType: ''
    returnType: void
    signature: 'void _cairo_scaled_font_reset_cache (cairo_scaled_font_t *scaled_font) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-scaled-font.c:2347,1
    - Dst: floor
      Src: /src/cairo/src/cairo-scaled-font.c:2367,1
    - Dst: ceil
      Src: /src/cairo/src/cairo-scaled-font.c:2368,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-scaled-font.c:2363,1
    - Dst: floor
      Src: /src/cairo/src/cairo-scaled-font.c:2369,1
    - Dst: ceil
      Src: /src/cairo/src/cairo-scaled-font.c:2370,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 4
    argNames:
    - scaled_font
    - glyphs
    - num_glyphs
    - extents
    argTypes:
    - cairo_scaled_font_t*
    - cairo_glyph_t*
    - int
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 2372
      start: 2330
    functionDepth: 0
    functionLinenumber: 2330
    functionLinenumberEnd: 2372
    functionName: _cairo_scaled_font_glyph_approximate_extents
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - ceil
    - floor
    - MAX
    - assert
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t _cairo_scaled_font_glyph_approximate_extents (cairo_scaled_font_t\t\
      \ *scaled_font,\t\t\t\t\t const cairo_glyph_t\t *glyphs,\t\t\t\t\t int num_glyphs,\t\
      \t\t\t\t cairo_rectangle_int_t *extents) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-scaled-font.c:2748,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-scaled-font.c:2761,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font.c:2762,1
    - Dst: cairo_list_last_entry
      Src: /src/cairo/src/cairo-scaled-font.c:2752,1
    - Dst: cairo_list_is_empty
      Src: /src/cairo/src/cairo-scaled-font.c:2751,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-scaled-font.c:2763,1
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-scaled-font.c:2770,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font.c:2772,1
    - Dst: _cairo_cache_init
      Src: /src/cairo/src/cairo-scaled-font.c:2773,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font.c:2778,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-scaled-font.c:2779,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-scaled-font.c:2791,1
    - Dst: free
      Src: /src/cairo/src/cairo-scaled-font.c:2793,1
    - Dst: free
      Src: /src/cairo/src/cairo-scaled-font.c:2780,1
    - Dst: _cairo_cache_freeze
      Src: /src/cairo/src/cairo-scaled-font.c:2785,1
    - Dst: cairo_list_add_tail
      Src: /src/cairo/src/cairo-scaled-font.c:2797,1
    - Dst: _cairo_cache_insert
      Src: /src/cairo/src/cairo-scaled-font.c:2789,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font.c:2792,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 2
    argNames:
    - scaled_font
    - scaled_glyph
    argTypes:
    - cairo_scaled_font_t*
    - cairo_scaled_glyph_t**
    constantsTouched: []
    func_position:
      end: 2801
      start: 2741
    functionDepth: 0
    functionLinenumber: 2741
    functionLinenumberEnd: 2801
    functionName: _cairo_scaled_font_allocate_glyph
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - CAIRO_MUTEX_LOCK
    - _cairo_error
    - free
    - CAIRO_MUTEX_UNLOCK
    - assert
    - cairo_list_last_entry
    - cairo_list_add_tail
    - _cairo_cache_init
    - _cairo_cache_freeze
    - _cairo_cache_insert
    - cairo_list_is_empty
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_scaled_font_allocate_glyph (cairo_scaled_font_t\
      \ *scaled_font,\t\t\t\t cairo_scaled_glyph_t **scaled_glyph) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_REFERENCE_COUNT_IS_INVALID
      Src: /src/cairo/src/cairo-scaled-font.c:315,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - scaled_font
    argTypes:
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 319
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 319
    functionName: cairo_scaled_font_get_type
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - CAIRO_REFERENCE_COUNT_IS_INVALID
    linkageType: ''
    returnType: cairo_font_type_t
    signature: 'cairo_font_type_t cairo_scaled_font_get_type (cairo_scaled_font_t
      *scaled_font) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: ISFINITE
      Src: /src/cairo/src/cairo-scaled-font.c:1062,1
    - Dst: _cairo_scaled_font_map_lock
      Src: /src/cairo/src/cairo-scaled-font.c:1072,1
    - Dst: _cairo_reference_count_inc
      Src: /src/cairo/src/cairo-scaled-font.c:1089,1
    - Dst: _cairo_scaled_font_init_key
      Src: /src/cairo/src/cairo-scaled-font.c:1102,1
    - Dst: _cairo_scaled_font_fini_key
      Src: /src/cairo/src/cairo-scaled-font.c:1114,1
    - Dst: _cairo_reference_count_inc
      Src: /src/cairo/src/cairo-scaled-font.c:1154,1
    - Dst: cairo_scaled_font_destroy
      Src: /src/cairo/src/cairo-scaled-font.c:1157,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font.c:1185,1
    - Dst: _cairo_scaled_font_map_unlock
      Src: /src/cairo/src/cairo-scaled-font.c:1186,1
    - Dst: cairo_scaled_font_destroy
      Src: /src/cairo/src/cairo-scaled-font.c:1202,1
    - Dst: _cairo_reference_count_inc
      Src: /src/cairo/src/cairo-scaled-font.c:1225,1
    - Dst: likely
      Src: /src/cairo/src/cairo-scaled-font.c:1222,1
    - Dst: free
      Src: /src/cairo/src/cairo-scaled-font.c:1242,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font.c:1196,1
    - Dst: cairo_scaled_font_destroy
      Src: /src/cairo/src/cairo-scaled-font.c:1235,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-scaled-font.c:1059,1
    - Dst: _cairo_scaled_font_create_in_error
      Src: /src/cairo/src/cairo-scaled-font.c:1063,1
    - Dst: cairo_font_options_status
      Src: /src/cairo/src/cairo-scaled-font.c:1065,1
    - Dst: _cairo_scaled_font_matches
      Src: /src/cairo/src/cairo-scaled-font.c:1078,1
    - Dst: _cairo_scaled_font_create_in_error
      Src: /src/cairo/src/cairo-scaled-font.c:1067,1
    - Dst: _cairo_scaled_font_create_in_error
      Src: /src/cairo/src/cairo-scaled-font.c:1074,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font.c:1066,1
    - Dst: likely
      Src: /src/cairo/src/cairo-scaled-font.c:1084,1
    - Dst: _cairo_hash_table_remove
      Src: /src/cairo/src/cairo-scaled-font.c:1095,1
    - Dst: _cairo_hash_table_lookup
      Src: /src/cairo/src/cairo-scaled-font.c:1104,1
    - Dst: cairo_scaled_font_destroy
      Src: /src/cairo/src/cairo-scaled-font.c:1191,1
    - Dst: _cairo_scaled_font_map_unlock
      Src: /src/cairo/src/cairo-scaled-font.c:1197,1
    - Dst: _cairo_hash_table_insert
      Src: /src/cairo/src/cairo-scaled-font.c:1220,1
    - Dst: assert
      Src: /src/cairo/src/cairo-scaled-font.c:1211,1
    - Dst: _cairo_scaled_font_fini_internal
      Src: /src/cairo/src/cairo-scaled-font.c:1241,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font.c:1237,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/src/cairo-scaled-font.c:1188,1
    - Dst: _cairo_scaled_font_create_in_error
      Src: /src/cairo/src/cairo-scaled-font.c:1193,1
    - Dst: ISFINITE
      Src: /src/cairo/src/cairo-scaled-font.c:1058,1
    - Dst: _cairo_matrix_compute_determinant
      Src: /src/cairo/src/cairo-scaled-font.c:1057,1
    - Dst: _cairo_matrix_compute_determinant
      Src: /src/cairo/src/cairo-scaled-font.c:1061,1
    - Dst: assert
      Src: /src/cairo/src/cairo-scaled-font.c:1081,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font.c:1073,1
    - Dst: _cairo_scaled_font_map_unlock
      Src: /src/cairo/src/cairo-scaled-font.c:1090,1
    - Dst: memmove
      Src: /src/cairo/src/cairo-scaled-font.c:1129,1
    - Dst: _cairo_scaled_font_map_unlock
      Src: /src/cairo/src/cairo-scaled-font.c:1155,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/src/cairo-scaled-font.c:1159,1
    - Dst: assert
      Src: /src/cairo/src/cairo-scaled-font.c:1213,1
    - Dst: _cairo_scaled_font_compute_hash
      Src: /src/cairo/src/cairo-scaled-font.c:1218,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/src/cairo-scaled-font.c:1232,1
    - Dst: cairo_scaled_font_destroy
      Src: /src/cairo/src/cairo-scaled-font.c:1230,1
    - Dst: _cairo_scaled_font_create_in_error
      Src: /src/cairo/src/cairo-scaled-font.c:1243,1
    - Dst: _cairo_scaled_font_create_in_error
      Src: /src/cairo/src/cairo-scaled-font.c:1179,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font.c:1177,1
    - Dst: _cairo_scaled_font_map_unlock
      Src: /src/cairo/src/cairo-scaled-font.c:1178,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font.c:1054,1
    - Dst: _cairo_scaled_font_create_in_error
      Src: /src/cairo/src/cairo-scaled-font.c:1059,1
    - Dst: _cairo_scaled_font_create_in_error
      Src: /src/cairo/src/cairo-scaled-font.c:1055,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-scaled-font.c:1063,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-scaled-font.c:1074,1
    - Dst: assert
      Src: /src/cairo/src/cairo-scaled-font.c:1082,1
    - Dst: CAIRO_REFERENCE_COUNT_HAS_REFERENCE
      Src: /src/cairo/src/cairo-scaled-font.c:1122,1
    - Dst: likely
      Src: /src/cairo/src/cairo-scaled-font.c:1143,1
    - Dst: _cairo_reference_count_inc
      Src: /src/cairo/src/cairo-scaled-font.c:1152,1
    - Dst: _cairo_hash_table_remove
      Src: /src/cairo/src/cairo-scaled-font.c:1165,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/src/cairo-scaled-font.c:1199,1
    - Dst: cairo_font_face_reference
      Src: /src/cairo/src/cairo-scaled-font.c:1216,1
    - Dst: _cairo_scaled_font_map_unlock
      Src: /src/cairo/src/cairo-scaled-font.c:1228,1
    - Dst: assert
      Src: /src/cairo/src/cairo-scaled-font.c:1212,1
    - Dst: _cairo_scaled_font_placeholder_wait_for_creation_to_finish
      Src: /src/cairo/src/cairo-scaled-font.c:1112,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 135
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1247
      start: 1041
    functionDepth: 0
    functionLinenumber: 1041
    functionLinenumberEnd: 1247
    functionName: cairo_scaled_font_create
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - memmove
    - _cairo_scaled_font_map_lock
    - _cairo_scaled_font_compute_hash
    - _cairo_hash_table_remove
    - _cairo_scaled_font_matches
    - _cairo_scaled_font_fini_key
    - ISFINITE
    - _cairo_hash_table_insert
    - _cairo_reference_count_inc
    - CAIRO_REFERENCE_COUNT_HAS_REFERENCE
    - cairo_font_options_status
    - cairo_font_face_destroy
    - _cairo_scaled_font_fini_internal
    - _cairo_scaled_font_map_unlock
    - assert
    - _cairo_hash_table_lookup
    - cairo_scaled_font_destroy
    - _cairo_matrix_compute_determinant
    - _cairo_scaled_font_create_in_error
    - free
    - _cairo_scaled_font_placeholder_wait_for_creation_to_finish
    - cairo_font_face_reference
    - _cairo_scaled_font_init_key
    - likely
    - unlikely
    linkageType: ''
    returnType: cairo_scaled_font_t*
    signature: "cairo_scaled_font_t *cairo_scaled_font_create (cairo_font_face_t *font_face,\t\
      \t\t const cairo_matrix_t *font_matrix,\t\t\t const cairo_matrix_t *ctm,\t\t\
      \t const cairo_font_options_t *options) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_fixed_move_to
      Src: /src/cairo/src/cairo-scaled-font.c:2382,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font.c:2383,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-scaled-font.c:2387,1
    - Dst: _cairo_path_fixed_rel_line_to
      Src: /src/cairo/src/cairo-scaled-font.c:2386,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-scaled-font.c:2388,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font.c:2389,1
    - Dst: _cairo_path_fixed_rel_line_to
      Src: /src/cairo/src/cairo-scaled-font.c:2392,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-scaled-font.c:2393,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-scaled-font.c:2394,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font.c:2395,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-scaled-font.c:2400,1
    - Dst: _cairo_path_fixed_close_path
      Src: /src/cairo/src/cairo-scaled-font.c:2404,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-scaled-font.c:2401,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-scaled-font.c:2399,1
    - Dst: _cairo_path_fixed_rel_line_to
      Src: /src/cairo/src/cairo-scaled-font.c:2398,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - path
    - x
    - y
    argTypes:
    - cairo_path_fixed_t*
    - cairo_fixed_t
    - cairo_fixed_t
    constantsTouched: []
    func_position:
      end: 2405
      start: 2375
    functionDepth: 0
    functionLinenumber: 2375
    functionLinenumberEnd: 2405
    functionName: _add_unit_rectangle_to_path
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_rel_line_to
    - _cairo_path_fixed_move_to
    - unlikely
    - _cairo_path_fixed_close_path
    - _cairo_fixed_from_int
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _add_unit_rectangle_to_path (cairo_path_fixed_t\
      \ *path,\t\t\t cairo_fixed_t x,\t\t\t cairo_fixed_t y) "
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/cairo-scaled-font.c:2563,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-scaled-font.c:2609,1
    - Dst: cairo_matrix_transform_distance
      Src: /src/cairo/src/cairo-scaled-font.c:2578,1
    - Dst: cairo_matrix_transform_distance
      Src: /src/cairo/src/cairo-scaled-font.c:2599,1
    - Dst: cairo_matrix_transform_distance
      Src: /src/cairo/src/cairo-scaled-font.c:2605,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-scaled-font.c:2610,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-scaled-font.c:2611,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-scaled-font.c:2612,1
    - Dst: _cairo_lround
      Src: /src/cairo/src/cairo-scaled-font.c:2614,1
    - Dst: _cairo_lround
      Src: /src/cairo/src/cairo-scaled-font.c:2615,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 77
    argCount: 3
    argNames:
    - scaled_glyph
    - scaled_font
    - fs_metrics
    argTypes:
    - cairo_scaled_glyph_t*
    - cairo_scaled_font_t*
    - cairo_text_extents_t*
    constantsTouched: []
    func_position:
      end: 2618
      start: 2543
    functionDepth: 0
    functionLinenumber: 2543
    functionLinenumberEnd: 2618
    functionName: _cairo_scaled_glyph_set_metrics
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - _cairo_lround
    - cairo_matrix_transform_distance
    - cairo_matrix_transform_point
    - _cairo_fixed_from_double
    linkageType: ''
    returnType: void
    signature: "void _cairo_scaled_glyph_set_metrics (cairo_scaled_glyph_t *scaled_glyph,\t\
      \t\t\t cairo_scaled_font_t *scaled_font,\t\t\t\t cairo_text_extents_t *fs_metrics) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_init_identity
      Src: /src/cairo/src/cairo-scaled-font.c:3057,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - scaled_font
    - ctm
    argTypes:
    - cairo_scaled_font_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 3062
      start: 3052
    functionDepth: 0
    functionLinenumber: 3052
    functionLinenumberEnd: 3062
    functionName: cairo_scaled_font_get_ctm
    functionSourceFile: /src/cairo/src/cairo-scaled-font.c
    functionUses: []
    functionsReached:
    - cairo_matrix_init_identity
    linkageType: ''
    returnType: void
    signature: "void cairo_scaled_font_get_ctm (cairo_scaled_font_t\t*scaled_font,\t\
      \t\t cairo_matrix_t\t*ctm) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_atomic_ptr_get
      Src: /src/cairo/src/cairo-freed-pool-private.h:62,1
    - Dst: _cairo_atomic_ptr_cmpxchg
      Src: /src/cairo/src/cairo-freed-pool-private.h:63,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 66
    functionName: _atomic_fetch
    functionSourceFile: /src/cairo/src/cairo-freed-pool-private.h
    functionUses: []
    functionsReached:
    - _cairo_atomic_ptr_cmpxchg
    - _cairo_atomic_ptr_get
    linkageType: ''
    returnType: cairo_always_inline*
    signature: 'static cairo_always_inline void *_atomic_fetch (cairo_atomic_intptr_t
      *slot) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_atomic_ptr_cmpxchg
      Src: /src/cairo/src/cairo-freed-pool-private.h:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - slot
    - ptr
    argTypes:
    - cairo_atomic_intptr_t*
    - void*
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: _atomic_store
    functionSourceFile: /src/cairo/src/cairo-freed-pool-private.h
    functionUses: []
    functionsReached:
    - _cairo_atomic_ptr_cmpxchg
    linkageType: ''
    returnType: cairo_always_inline
    signature: 'static cairo_always_inline cairo_bool_t _atomic_store (cairo_atomic_intptr_t
      *slot, void *ptr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_atomic_int_get_relaxed
      Src: /src/cairo/src/cairo-freed-pool-private.h:83,1
    - Dst: likely
      Src: /src/cairo/src/cairo-freed-pool-private.h:88,1
    - Dst: _freed_pool_get_search
      Src: /src/cairo/src/cairo-freed-pool-private.h:94,1
    - Dst: _atomic_fetch
      Src: /src/cairo/src/cairo-freed-pool-private.h:87,1
    - Dst: _cairo_atomic_int_set_relaxed
      Src: /src/cairo/src/cairo-freed-pool-private.h:89,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 95
    functionName: _freed_pool_get
    functionSourceFile: /src/cairo/src/cairo-freed-pool-private.h
    functionUses: []
    functionsReached:
    - _atomic_fetch
    - _freed_pool_get_search
    - _cairo_atomic_int_get_relaxed
    - _cairo_atomic_int_set_relaxed
    - likely
    linkageType: ''
    returnType: void*
    signature: 'static inline void *_freed_pool_get (freed_pool_t *pool) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_atomic_int_get_relaxed
      Src: /src/cairo/src/cairo-freed-pool-private.h:105,1
    - Dst: _cairo_atomic_int_set_relaxed
      Src: /src/cairo/src/cairo-freed-pool-private.h:109,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-freed-pool-private.h:106,1
    - Dst: likely
      Src: /src/cairo/src/cairo-freed-pool-private.h:106,1
    - Dst: _atomic_store
      Src: /src/cairo/src/cairo-freed-pool-private.h:107,1
    - Dst: _freed_pool_put_search
      Src: /src/cairo/src/cairo-freed-pool-private.h:114,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - pool
    - ptr
    argTypes:
    - freed_pool_t*
    - void*
    constantsTouched: []
    func_position:
      end: 115
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 115
    functionName: _freed_pool_put
    functionSourceFile: /src/cairo/src/cairo-freed-pool-private.h
    functionUses: []
    functionsReached:
    - ARRAY_LENGTH
    - _cairo_atomic_int_get_relaxed
    - _cairo_atomic_int_set_relaxed
    - _freed_pool_put_search
    - _atomic_store
    - likely
    linkageType: ''
    returnType: void
    signature: 'static inline void _freed_pool_put (freed_pool_t *pool, void *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-script-surface.c:286,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - b
    argTypes:
    - struct _bitmap*
    constantsTouched: []
    func_position:
      end: 289
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 289
    functionName: _bitmap_fini
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'static void _bitmap_fini (struct _bitmap *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _get_target
      Src: /src/cairo/src/cairo-script-surface.c:1235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - surface
    - source
    argTypes:
    - cairo_script_surface_t*
    - cairo_script_surface_t*
    constantsTouched: []
    func_position:
      end: 1238
      start: 1231
    functionDepth: 0
    functionLinenumber: 1231
    functionLinenumberEnd: 1238
    functionName: _emit_script_surface_pattern
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _get_target
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _emit_script_surface_pattern (cairo_script_surface_t\
      \ *surface,\t\t\t cairo_script_surface_t *source) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-script-surface.c:1802,1
    - Dst: target_is_active
      Src: /src/cairo/src/cairo-script-surface.c:1802,1
    - Dst: _cairo_pattern_fini
      Src: /src/cairo/src/cairo-script-surface.c:1812,1
    - Dst: _cairo_pattern_equal
      Src: /src/cairo/src/cairo-script-surface.c:1809,1
    - Dst: _cairo_pattern_init_copy
      Src: /src/cairo/src/cairo-script-surface.c:1813,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:1815,1
    - Dst: _emit_identity
      Src: /src/cairo/src/cairo-script-surface.c:1818,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:1819,1
    - Dst: _emit_pattern
      Src: /src/cairo/src/cairo-script-surface.c:1822,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:1823,1
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:1827,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:1827,1
    - Dst: target_is_active
      Src: /src/cairo/src/cairo-script-surface.c:1826,1
    - Dst: assert
      Src: /src/cairo/src/cairo-script-surface.c:1826,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - surface
    - op
    - source
    argTypes:
    - cairo_script_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 1830
      start: 1794
    functionDepth: 0
    functionLinenumber: 1794
    functionLinenumberEnd: 1830
    functionName: _emit_source
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_init_copy
    - _emit_identity
    - _cairo_pattern_fini
    - _cairo_pattern_equal
    - assert
    - target_is_active
    - _cairo_output_stream_puts
    - _emit_pattern
    - to_context
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _emit_source (cairo_script_surface_t *surface,\t\
      \ cairo_operator_t op,\t const cairo_pattern_t *source) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:1877,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - closure
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1881
      start: 1874
    functionDepth: 0
    functionLinenumber: 1874
    functionLinenumberEnd: 1881
    functionName: _path_close
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _path_close (void *closure) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-script-surface.c:2212,1
    - Dst: _cairo_surface_wrapper_release_source_image
      Src: /src/cairo/src/cairo-script-surface.c:2213,1
    - Dst: _cairo_surface_wrapper_is_active
      Src: /src/cairo/src/cairo-script-surface.c:2212,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - abstract_surface
    - image
    - image_extra
    argTypes:
    - void*
    - cairo_image_surface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 2216
      start: 2205
    functionDepth: 0
    functionLinenumber: 2205
    functionLinenumberEnd: 2216
    functionName: _cairo_script_surface_release_source_image
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_wrapper_is_active
    - _cairo_surface_wrapper_release_source_image
    - assert
    linkageType: ''
    returnType: void
    signature: "static void _cairo_script_surface_release_source_image (void *abstract_surface,\t\
      \t\t\t\t cairo_image_surface_t *image,\t\t\t\t\t void *image_extra) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:2005,1
    - Dst: _cairo_matrix_is_identity
      Src: /src/cairo/src/cairo-script-surface.c:2012,1
    - Dst: _scaling_matrix_equal
      Src: /src/cairo/src/cairo-script-surface.c:2009,1
    - Dst: target_is_active
      Src: /src/cairo/src/cairo-script-surface.c:2007,1
    - Dst: assert
      Src: /src/cairo/src/cairo-script-surface.c:2007,1
    - Dst: _cairo_matrix_is_identity
      Src: /src/cairo/src/cairo-script-surface.c:2019,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:2020,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-script-surface.c:2022,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-script-surface.c:2022,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:2023,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:2027,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 3
    argNames:
    - surface
    - ctm
    - matrix_updated
    argTypes:
    - cairo_script_surface_t*
    - cairo_matrix_t*
    - cairo_bool_t*
    constantsTouched: []
    func_position:
      end: 2034
      start: 2000
    functionDepth: 0
    functionLinenumber: 2000
    functionLinenumberEnd: 2034
    functionName: _emit_scaling_matrix
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - fabs
    - _cairo_matrix_is_identity
    - _scaling_matrix_equal
    - assert
    - target_is_active
    - _cairo_output_stream_puts
    - to_context
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _emit_scaling_matrix (cairo_script_surface_t\
      \ *surface,\t\t const cairo_matrix_t *ctm,\t\t cairo_bool_t *matrix_updated) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:3975,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:3978,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-script-surface.c:3979,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-script-surface.c:3976,1
    - Dst: _cairo_script_surface_create_internal
      Src: /src/cairo/src/cairo-script-surface.c:3988,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3991
      start: 3967
    functionDepth: 0
    functionLinenumber: 3967
    functionLinenumberEnd: 3991
    functionName: cairo_script_surface_create
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _cairo_script_surface_create_internal
    - _cairo_surface_create_in_error
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *cairo_script_surface_create (cairo_device_t *script,\t\
      \t\t cairo_content_t content,\t\t\t double width,\t\t\t double height) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-script-surface.c:298,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-script-surface.c:298,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 300
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 300
    functionName: _direction_to_string
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - ARRAY_LENGTH
    - assert
    linkageType: ''
    returnType: char*
    signature: 'static const char *_direction_to_string (cairo_bool_t backward) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-script-surface.c:1263,1
    - Dst: CAIRO_BITSWAP8
      Src: /src/cairo/src/cairo-script-surface.c:1308,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-script-surface.c:1358,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-script-surface.c:1257,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:1298,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-script-surface.c:1299,1
    - Dst: bswap_32
      Src: /src/cairo/src/cairo-script-surface.c:1351,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-script-surface.c:1315,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-script-surface.c:1352,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-script-surface.c:1269,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-script-surface.c:1296,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-script-surface.c:1364,1
    - Dst: free
      Src: /src/cairo/src/cairo-script-surface.c:1374,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-script-surface.c:1286,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-script-surface.c:1278,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-script-surface.c:1297,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-script-surface.c:1309,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-script-surface.c:1326,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-script-surface.c:1340,1
    - Dst: bswap_16
      Src: /src/cairo/src/cairo-script-surface.c:1325,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 106
    argCount: 2
    argNames:
    - output
    - image
    argTypes:
    - cairo_output_stream_t*
    - cairo_image_surface_t*
    constantsTouched: []
    func_position:
      end: 1378
      start: 1240
    functionDepth: 0
    functionLinenumber: 1240
    functionLinenumberEnd: 1378
    functionName: _write_image_surface
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _cairo_malloc
    - _cairo_error
    - free
    - ARRAY_LENGTH
    - bswap_16
    - CAIRO_BITSWAP8
    - _cairo_output_stream_write
    - bswap_32
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _write_image_surface (cairo_output_stream_t\
      \ *output,\t\t const cairo_image_surface_t *image) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:1836,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-script-surface.c:1838,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-script-surface.c:1839,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - closure
    - point
    argTypes:
    - void*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 1842
      start: 1832
    functionDepth: 0
    functionLinenumber: 1832
    functionLinenumberEnd: 1842
    functionName: _path_move_to
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_printf
    - _cairo_fixed_to_double
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _path_move_to (void *closure,\t const cairo_point_t\
      \ *point) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:1887,1
    - Dst: _cairo_path_fixed_iter_is_fill_box
      Src: /src/cairo/src/cairo-script-surface.c:1897,1
    - Dst: _cairo_path_fixed_iter_init
      Src: /src/cairo/src/cairo-script-surface.c:1896,1
    - Dst: _cairo_boxes_add
      Src: /src/cairo/src/cairo-script-surface.c:1901,1
    - Dst: _cairo_boxes_init
      Src: /src/cairo/src/cairo-script-surface.c:1895,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:1902,1
    - Dst: _cairo_boxes_fini
      Src: /src/cairo/src/cairo-script-surface.c:1903,1
    - Dst: _cairo_path_fixed_iter_at_end
      Src: /src/cairo/src/cairo-script-surface.c:1908,1
    - Dst: _cairo_boxes_fini
      Src: /src/cairo/src/cairo-script-surface.c:1909,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-script-surface.c:1916,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:1921,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-script-surface.c:1919,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-script-surface.c:1918,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-script-surface.c:1917,1
    - Dst: _cairo_boxes_fini
      Src: /src/cairo/src/cairo-script-surface.c:1927,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 2
    argNames:
    - surface
    - path
    argTypes:
    - cairo_script_surface_t*
    - cairo_path_fixed_t*
    constantsTouched: []
    func_position:
      end: 1929
      start: 1883
    functionDepth: 0
    functionLinenumber: 1883
    functionLinenumberEnd: 1929
    functionName: _emit_path_boxes
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_iter_at_end
    - _cairo_output_stream_printf
    - _cairo_fixed_to_double
    - _cairo_boxes_init
    - _cairo_path_fixed_iter_init
    - _cairo_boxes_add
    - _cairo_path_fixed_iter_is_fill_box
    - to_context
    - _cairo_boxes_fini
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _emit_path_boxes (cairo_script_surface_t *surface,\t\
      \t const cairo_path_fixed_t *path) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:2040,1
    - Dst: target_is_active
      Src: /src/cairo/src/cairo-script-surface.c:2041,1
    - Dst: assert
      Src: /src/cairo/src/cairo-script-surface.c:2041,1
    - Dst: _cairo_matrix_is_identity
      Src: /src/cairo/src/cairo-script-surface.c:2052,1
    - Dst: memcmp
      Src: /src/cairo/src/cairo-script-surface.c:2043,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:2053,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:2056,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - surface
    - font_matrix
    argTypes:
    - cairo_script_surface_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 2064
      start: 2036
    functionDepth: 0
    functionLinenumber: 2036
    functionLinenumberEnd: 2064
    functionName: _emit_font_matrix
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _cairo_matrix_is_identity
    - assert
    - target_is_active
    - _cairo_output_stream_puts
    - to_context
    - _cairo_output_stream_printf
    - memcmp
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _emit_font_matrix (cairo_script_surface_t *surface,\t\
      \t const cairo_matrix_t *font_matrix) "
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:2222,1
    - Dst: free
      Src: /src/cairo/src/cairo-script-surface.c:2227,1
    - Dst: cairo_list_is_empty
      Src: /src/cairo/src/cairo-script-surface.c:2242,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:2253,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-script-surface.c:2262,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-script-surface.c:2260,1
    - Dst: _cairo_pattern_fini
      Src: /src/cairo/src/cairo-script-surface.c:2230,1
    - Dst: _cairo_font_options_fini
      Src: /src/cairo/src/cairo-script-surface.c:2232,1
    - Dst: cairo_device_acquire
      Src: /src/cairo/src/cairo-script-surface.c:2235,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:2236,1
    - Dst: target_depth
      Src: /src/cairo/src/cairo-script-surface.c:2248,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:2250,1
    - Dst: cairo_list_del
      Src: /src/cairo/src/cairo-script-surface.c:2258,1
    - Dst: cairo_list_add
      Src: /src/cairo/src/cairo-script-surface.c:2269,1
    - Dst: _cairo_output_stream_flush
      Src: /src/cairo/src/cairo-script-surface.c:2282,1
    - Dst: cairo_device_release
      Src: /src/cairo/src/cairo-script-surface.c:2284,1
    - Dst: _cairo_path_fixed_fini
      Src: /src/cairo/src/cairo-script-surface.c:2231,1
    - Dst: assert
      Src: /src/cairo/src/cairo-script-surface.c:2240,1
    - Dst: target_is_active
      Src: /src/cairo/src/cairo-script-surface.c:2244,1
    - Dst: cairo_list_del
      Src: /src/cairo/src/cairo-script-surface.c:2265,1
    - Dst: cairo_list_move_list
      Src: /src/cairo/src/cairo-script-surface.c:2268,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:2275,1
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:2282,1
    - Dst: _cairo_surface_wrapper_fini
      Src: /src/cairo/src/cairo-script-surface.c:2225,1
    - Dst: _cairo_surface_clipper_reset
      Src: /src/cairo/src/cairo-script-surface.c:2233,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:2245,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2287
      start: 2218
    functionDepth: 0
    functionLinenumber: 2218
    functionLinenumberEnd: 2287
    functionName: _cairo_script_surface_finish
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _cairo_font_options_fini
    - _cairo_error
    - _cairo_surface_clipper_reset
    - _cairo_surface_wrapper_fini
    - cairo_device_acquire
    - _cairo_pattern_fini
    - cairo_list_add
    - cairo_list_move_list
    - _cairo_calloc
    - assert
    - cairo_list_is_empty
    - to_context
    - _cairo_output_stream_printf
    - _cairo_output_stream_flush
    - free
    - target_depth
    - _cairo_path_fixed_fini
    - target_is_active
    - cairo_device_release
    - cairo_list_del
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_script_surface_finish (void *abstract_surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-script-surface.c:394,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-script-surface.c:394,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 396
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 396
    functionName: _fill_rule_to_string
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - ARRAY_LENGTH
    - assert
    linkageType: ''
    returnType: char*
    signature: 'static const char *_fill_rule_to_string (cairo_fill_rule_t rule) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:521,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:538,1
    - Dst: _content_to_string
      Src: /src/cairo/src/cairo-script-surface.c:525,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:527,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:523,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:549,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:556,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_script_surface_t*
    constantsTouched: []
    func_position:
      end: 559
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 559
    functionName: _emit_surface
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _content_to_string
    - _cairo_output_stream_puts
    - to_context
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _emit_surface (cairo_script_surface_t *surface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_wrapper_is_active
      Src: /src/cairo/src/cairo-script-surface.c:3636,1
    - Dst: _cairo_surface_wrapper_get_extents
      Src: /src/cairo/src/cairo-script-surface.c:3637,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - abstract_surface
    - rectangle
    argTypes:
    - void*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 3650
      start: 3630
    functionDepth: 0
    functionLinenumber: 3630
    functionLinenumberEnd: 3650
    functionName: _cairo_script_surface_get_extents
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_wrapper_is_active
    - _cairo_surface_wrapper_get_extents
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _cairo_script_surface_get_extents (void *abstract_surface,\t\
      \t\t\t cairo_rectangle_int_t *rectangle) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-script-surface.c:410,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-script-surface.c:410,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 412
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 412
    functionName: _antialias_to_string
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - ARRAY_LENGTH
    - assert
    linkageType: ''
    returnType: char*
    signature: 'static const char *_antialias_to_string (cairo_antialias_t antialias) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: cairo_container_of
      Src: /src/cairo/src/cairo-script-surface.c:579,1
    - Dst: assert
      Src: /src/cairo/src/cairo-script-surface.c:586,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:587,1
    - Dst: _cairo_surface_clipper_reset
      Src: /src/cairo/src/cairo-script-surface.c:613,1
    - Dst: assert
      Src: /src/cairo/src/cairo-script-surface.c:608,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:609,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:619,1
    - Dst: cairo_list_del
      Src: /src/cairo/src/cairo-script-surface.c:595,1
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:564,1
    - Dst: cairo_list_is_empty
      Src: /src/cairo/src/cairo-script-surface.c:569,1
    - Dst: _emit_surface
      Src: /src/cairo/src/cairo-script-surface.c:604,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:605,1
    - Dst: _cairo_script_implicit_context_reset
      Src: /src/cairo/src/cairo-script-surface.c:612,1
    - Dst: target_is_active
      Src: /src/cairo/src/cairo-script-surface.c:566,1
    - Dst: cairo_list_first_entry
      Src: /src/cairo/src/cairo-script-surface.c:573,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:592,1
    - Dst: target_is_active
      Src: /src/cairo/src/cairo-script-surface.c:598,1
    - Dst: cairo_list_is_empty
      Src: /src/cairo/src/cairo-script-surface.c:607,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:617,1
    - Dst: target_depth
      Src: /src/cairo/src/cairo-script-surface.c:615,1
    - Dst: target_push
      Src: /src/cairo/src/cairo-script-surface.c:624,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_script_surface_t*
    constantsTouched: []
    func_position:
      end: 627
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 627
    functionName: _emit_context
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - target_push
    - cairo_container_of
    - cairo_list_first_entry
    - _emit_surface
    - target_depth
    - assert
    - target_is_active
    - _cairo_output_stream_puts
    - _cairo_script_implicit_context_reset
    - cairo_list_del
    - _cairo_surface_clipper_reset
    - cairo_list_is_empty
    - to_context
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _emit_context (cairo_script_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - script
    argTypes:
    - cairo_device_t*
    constantsTouched: []
    func_position:
      end: 3946
      start: 3940
    functionDepth: 0
    functionLinenumber: 3940
    functionLinenumberEnd: 3946
    functionName: cairo_script_get_mode
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_script_mode_t
    signature: 'cairo_script_mode_t cairo_script_get_mode (cairo_device_t *script) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:2086,1
    - Dst: _cairo_surface_wrapper_is_active
      Src: /src/cairo/src/cairo-script-surface.c:2094,1
    - Dst: cairo_device_release
      Src: /src/cairo/src/cairo-script-surface.c:2112,1
    - Dst: _cairo_surface_wrapper_create_similar
      Src: /src/cairo/src/cairo-script-surface.c:2096,1
    - Dst: _cairo_script_surface_create_internal
      Src: /src/cairo/src/cairo-script-surface.c:2107,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:2098,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:2111,1
    - Dst: _emit_surface
      Src: /src/cairo/src/cairo-script-surface.c:2085,1
    - Dst: cairo_device_release
      Src: /src/cairo/src/cairo-script-surface.c:2087,1
    - Dst: cairo_device_release
      Src: /src/cairo/src/cairo-script-surface.c:2128,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:2081,1
    - Dst: cairo_device_acquire
      Src: /src/cairo/src/cairo-script-surface.c:2080,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-script-surface.c:2082,1
    - Dst: _get_target
      Src: /src/cairo/src/cairo-script-surface.c:2116,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:2117,1
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:2078,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-script-surface.c:2088,1
    - Dst: target_push
      Src: /src/cairo/src/cairo-script-surface.c:2091,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-script-surface.c:2109,1
    - Dst: cairo_device_release
      Src: /src/cairo/src/cairo-script-surface.c:2099,1
    - Dst: _content_to_string
      Src: /src/cairo/src/cairo-script-surface.c:2120,1
    - Dst: target_push
      Src: /src/cairo/src/cairo-script-surface.c:2126,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2130
      start: 2066
    functionDepth: 0
    functionLinenumber: 2066
    functionLinenumberEnd: 2130
    functionName: _cairo_script_surface_create_similar
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - target_push
    - _content_to_string
    - _cairo_surface_wrapper_create_similar
    - _get_target
    - cairo_device_acquire
    - _cairo_script_surface_create_internal
    - _emit_surface
    - cairo_surface_destroy
    - cairo_device_release
    - _cairo_surface_create_in_error
    - _cairo_surface_wrapper_is_active
    - to_context
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_script_surface_create_similar (void\t\
      \ *abstract_surface,\t\t\t\t cairo_content_t\tcontent,\t\t\t\t int\t\twidth,\t\
      \t\t\t int\t\theight) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:982,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - gradient
    - output
    argTypes:
    - cairo_gradient_pattern_t*
    - cairo_output_stream_t*
    constantsTouched: []
    func_position:
      end: 992
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 992
    functionName: _emit_gradient_color_stops
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _emit_gradient_color_stops (cairo_gradient_pattern_t\
      \ *gradient,\t\t\t cairo_output_stream_t *output) "
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:3316,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-script-surface.c:3326,1
    - Dst: _cairo_isprint
      Src: /src/cairo/src/cairo-script-surface.c:3354,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:3351,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:3320,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:3355,1
    - Dst: to_octal
      Src: /src/cairo/src/cairo-script-surface.c:3359,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-script-surface.c:3360,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:3365,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 30
    argCount: 3
    argNames:
    - surface
    - utf8
    - len
    argTypes:
    - cairo_script_surface_t*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 3366
      start: 3312
    functionDepth: 0
    functionLinenumber: 3312
    functionLinenumberEnd: 3366
    functionName: _emit_string_literal
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - to_octal
    - strlen
    - _cairo_isprint
    - _cairo_output_stream_write
    - _cairo_output_stream_puts
    - to_context
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: void
    signature: "static void _emit_string_literal (cairo_script_surface_t *surface,\t\
      \t const char *utf8, int len) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:4058,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:4064,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-script-surface.c:4059,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-script-surface.c:4062,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:4061,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:4067,1
    - Dst: _cairo_surface_is_recording
      Src: /src/cairo/src/cairo-script-surface.c:4067,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-script-surface.c:4068,1
    - Dst: _cairo_recording_surface_get_bounds
      Src: /src/cairo/src/cairo-script-surface.c:4071,1
    - Dst: _cairo_script_surface_create_internal
      Src: /src/cairo/src/cairo-script-surface.c:4074,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-script-surface.c:4082,1
    - Dst: _cairo_recording_surface_replay
      Src: /src/cairo/src/cairo-script-surface.c:4081,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:4078,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 2
    argNames:
    - script
    - recording_surface
    argTypes:
    - cairo_device_t*
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 4085
      start: 4050
    functionDepth: 0
    functionLinenumber: 4050
    functionLinenumberEnd: 4085
    functionName: cairo_script_from_recording_surface
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _cairo_recording_surface_get_bounds
    - _cairo_error
    - _cairo_script_surface_create_internal
    - cairo_surface_destroy
    - _cairo_recording_surface_replay
    - _cairo_surface_is_recording
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t cairo_script_from_recording_surface (cairo_device_t\
      \ *script,\t\t\t\t cairo_surface_t *recording_surface) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:998,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:1003,1
    - Dst: _emit_gradient_color_stops
      Src: /src/cairo/src/cairo-script-surface.c:1007,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - surface
    - pattern
    argTypes:
    - cairo_script_surface_t*
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 1008
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 1008
    functionName: _emit_linear_pattern
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _emit_gradient_color_stops
    - to_context
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _emit_linear_pattern (cairo_script_surface_t\
      \ *surface,\t\t const cairo_pattern_t *pattern) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_flush
      Src: /src/cairo/src/cairo-script-surface.c:2137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - abstract_device
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2138
      start: 2132
    functionDepth: 0
    functionLinenumber: 2132
    functionLinenumberEnd: 2138
    functionName: _device_flush
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_flush
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _device_flush (void *abstract_device) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_clipper_set_clip
      Src: /src/cairo/src/cairo-script-surface.c:3396,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:3397,1
    - Dst: _cairo_script_font_get
      Src: /src/cairo/src/cairo-script-surface.c:3439,1
    - Dst: _cairo_scaled_font_thaw_cache
      Src: /src/cairo/src/cairo-script-surface.c:3456,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:3466,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:3469,1
    - Dst: _cairo_scaled_glyph_lookup
      Src: /src/cairo/src/cairo-script-surface.c:3474,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:3479,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-script-surface.c:3484,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:3488,1
    - Dst: _cairo_base85_stream_create
      Src: /src/cairo/src/cairo-script-surface.c:3518,1
    - Dst: _direction_to_string
      Src: /src/cairo/src/cairo-script-surface.c:3604,1
    - Dst: _cairo_surface_wrapper_show_text_glyphs
      Src: /src/cairo/src/cairo-script-surface.c:3613,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:3587,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-script-surface.c:3593,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:3606,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:3596,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:3602,1
    - Dst: _emit_source
      Src: /src/cairo/src/cairo-script-surface.c:3404,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:3405,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:3425,1
    - Dst: assert
      Src: /src/cairo/src/cairo-script-surface.c:3430,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/cairo-script-surface.c:3434,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:3455,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-script-surface.c:3487,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/cairo-script-surface.c:3505,1
    - Dst: _cairo_base85_stream_create
      Src: /src/cairo/src/cairo-script-surface.c:3467,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-script-surface.c:3509,1
    - Dst: cairo_matrix_transform_distance
      Src: /src/cairo/src/cairo-script-surface.c:3546,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:3537,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:3520,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-script-surface.c:3534,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:3540,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:3583,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-script-surface.c:3595,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-script-surface.c:3484,1
    - Dst: inactive
      Src: /src/cairo/src/cairo-script-surface.c:3626,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:3578,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:3515,1
    - Dst: active
      Src: /src/cairo/src/cairo-script-surface.c:3392,1
    - Dst: _emit_scaled_font
      Src: /src/cairo/src/cairo-script-surface.c:3408,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:3409,1
    - Dst: _emit_scaled_glyphs
      Src: /src/cairo/src/cairo-script-surface.c:3416,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:3417,1
    - Dst: _cairo_scaled_glyph_lookup
      Src: /src/cairo/src/cairo-script-surface.c:3450,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:3510,1
    - Dst: _cairo_scaled_font_thaw_cache
      Src: /src/cairo/src/cairo-script-surface.c:3550,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:3559,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:3561,1
    - Dst: _cairo_scaled_font_thaw_cache
      Src: /src/cairo/src/cairo-script-surface.c:3480,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:3576,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:3497,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:3563,1
    - Dst: _cairo_surface_wrapper_is_active
      Src: /src/cairo/src/cairo-script-surface.c:3612,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:3599,1
    - Dst: _cairo_base85_stream_create
      Src: /src/cairo/src/cairo-script-surface.c:3588,1
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:3383,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:3393,1
    - Dst: _emit_context
      Src: /src/cairo/src/cairo-script-surface.c:3400,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:3401,1
    - Dst: _emit_operator
      Src: /src/cairo/src/cairo-script-surface.c:3412,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:3413,1
    - Dst: _emit_string_literal
      Src: /src/cairo/src/cairo-script-surface.c:3424,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-script-surface.c:3429,1
    - Dst: _cairo_scaled_font_freeze_cache
      Src: /src/cairo/src/cairo-script-surface.c:3438,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:3441,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-script-surface.c:3485,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:3493,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-script-surface.c:3555,1
    - Dst: _cairo_base85_stream_create
      Src: /src/cairo/src/cairo-script-surface.c:3495,1
    - Dst: inactive
      Src: /src/cairo/src/cairo-script-surface.c:3610,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 184
    argCount: 12
    argNames:
    - abstract_surface
    - op
    - source
    - utf8
    - utf8_len
    - glyphs
    - num_glyphs
    - clusters
    - num_clusters
    - backward
    - scaled_font
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - char*
    - int
    - cairo_glyph_t*
    - int
    - cairo_text_cluster_t*
    - int
    - cairo_text_cluster_flags_t
    - cairo_scaled_font_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 3628
      start: 3368
    functionDepth: 0
    functionLinenumber: 3368
    functionLinenumberEnd: 3628
    functionName: _cairo_script_surface_show_text_glyphs
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _emit_source
    - _cairo_script_font_get
    - cairo_matrix_transform_distance
    - fabs
    - unlikely
    - _emit_string_literal
    - active
    - _direction_to_string
    - _cairo_surface_wrapper_is_active
    - _cairo_surface_wrapper_show_text_glyphs
    - _emit_scaled_glyphs
    - _cairo_surface_clipper_set_clip
    - assert
    - _cairo_output_stream_write
    - _emit_operator
    - _cairo_output_stream_destroy
    - to_context
    - _cairo_output_stream_printf
    - _emit_context
    - _cairo_scaled_font_freeze_cache
    - _cairo_scaled_glyph_lookup
    - _emit_scaled_font
    - _cairo_output_stream_puts
    - cairo_matrix_transform_point
    - _cairo_base85_stream_create
    - inactive
    - cairo_matrix_invert
    - _cairo_scaled_font_thaw_cache
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_script_surface_show_text_glyphs (void\t\
      \t\t *abstract_surface,\t\t\t\t\tcairo_operator_t\t op,\t\t\t\t\tconst cairo_pattern_t\t\
      \ *source,\t\t\t\t\tconst char\t\t *utf8,\t\t\t\t\tint\t\t\t utf8_len,\t\t\t\
      \t\tcairo_glyph_t\t\t *glyphs,\t\t\t\t\tint\t\t\t num_glyphs,\t\t\t\t\tconst\
      \ cairo_text_cluster_t *clusters,\t\t\t\t\tint\t\t\t num_clusters,\t\t\t\t\t\
      cairo_text_cluster_flags_t backward,\t\t\t\t\tcairo_scaled_font_t\t *scaled_font,\t\
      \t\t\t\tconst cairo_clip_t\t *clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-script-surface.c:422,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-script-surface.c:422,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 424
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 424
    functionName: _line_cap_to_string
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - ARRAY_LENGTH
    - assert
    linkageType: ''
    returnType: char*
    signature: 'static const char *_line_cap_to_string (cairo_line_cap_t line_cap) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2187
      start: 2174
    functionDepth: 0
    functionLinenumber: 2174
    functionLinenumberEnd: 2187
    functionName: _cairo_script_surface_source
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_script_surface_source (void *abstract_surface,\t\
      \t\t cairo_rectangle_int_t\t*extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-script-surface.c:434,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-script-surface.c:434,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 436
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 436
    functionName: _line_join_to_string
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - ARRAY_LENGTH
    - assert
    linkageType: ''
    returnType: char*
    signature: 'static const char *_line_join_to_string (cairo_line_join_t line_join) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_wrapper_is_active
      Src: /src/cairo/src/cairo-script-surface.c:2196,1
    - Dst: _cairo_surface_wrapper_acquire_source_image
      Src: /src/cairo/src/cairo-script-surface.c:2197,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 3
    argNames:
    - abstract_surface
    - image_out
    - image_extra
    argTypes:
    - void*
    - cairo_image_surface_t**
    - void**
    constantsTouched: []
    func_position:
      end: 2203
      start: 2189
    functionDepth: 0
    functionLinenumber: 2189
    functionLinenumberEnd: 2203
    functionName: _cairo_script_surface_acquire_source_image
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_wrapper_is_active
    - _cairo_surface_wrapper_acquire_source_image
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_script_surface_acquire_source_image (void\
      \ *abstract_surface,\t\t\t\t\t cairo_image_surface_t **image_out,\t\t\t\t\t\
      \ void **image_extra) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:4018,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-script-surface.c:4019,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:4021,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:4024,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-script-surface.c:4022,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-script-surface.c:4025,1
    - Dst: _cairo_surface_get_extents
      Src: /src/cairo/src/cairo-script-surface.c:4028,1
    - Dst: _cairo_script_surface_create_internal
      Src: /src/cairo/src/cairo-script-surface.c:4034,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4037
      start: 4011
    functionDepth: 0
    functionLinenumber: 4011
    functionLinenumberEnd: 4037
    functionName: cairo_script_surface_create_for_target
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_get_extents
    - _cairo_script_surface_create_internal
    - _cairo_surface_create_in_error
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *cairo_script_surface_create_for_target (cairo_device_t\
      \ *script,\t\t\t\t\tcairo_surface_t *target) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-script-surface.c:368,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-script-surface.c:368,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 370
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 370
    functionName: _filter_to_string
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - ARRAY_LENGTH
    - assert
    linkageType: ''
    returnType: char*
    signature: 'static const char *_filter_to_string (cairo_filter_t filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-script-surface.c:633,1
    - Dst: target_is_active
      Src: /src/cairo/src/cairo-script-surface.c:633,1
    - Dst: _operator_to_string
      Src: /src/cairo/src/cairo-script-surface.c:642,1
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:640,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:640,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - surface
    - op
    argTypes:
    - cairo_script_surface_t*
    - cairo_operator_t
    constantsTouched: []
    func_position:
      end: 644
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 644
    functionName: _emit_operator
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - assert
    - target_is_active
    - _operator_to_string
    - to_context
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _emit_operator (cairo_script_surface_t *surface,\t\
      \tcairo_operator_t op) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_acquire_source_image
      Src: /src/cairo/src/cairo-script-surface.c:1566,1
    - Dst: _emit_image_surface
      Src: /src/cairo/src/cairo-script-surface.c:1568,1
    - Dst: likely
      Src: /src/cairo/src/cairo-script-surface.c:1567,1
    - Dst: _cairo_surface_release_source_image
      Src: /src/cairo/src/cairo-script-surface.c:1569,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - surface
    - source
    argTypes:
    - cairo_script_surface_t*
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1573
      start: 1558
    functionDepth: 0
    functionLinenumber: 1558
    functionLinenumberEnd: 1573
    functionName: _emit_image_surface_pattern
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _emit_image_surface
    - _cairo_surface_release_source_image
    - likely
    - _cairo_surface_acquire_source_image
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _emit_image_surface_pattern (cairo_script_surface_t\
      \ *surface,\t\t\t cairo_surface_t *source) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-script-surface.c:382,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-script-surface.c:382,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 384
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 384
    functionName: _dither_to_string
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - ARRAY_LENGTH
    - assert
    linkageType: ''
    returnType: char*
    signature: 'static const char *_dither_to_string (cairo_dither_t dither) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-script-surface.c:650,1
    - Dst: target_is_active
      Src: /src/cairo/src/cairo-script-surface.c:650,1
    - Dst: _fill_rule_to_string
      Src: /src/cairo/src/cairo-script-surface.c:659,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:657,1
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:657,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - surface
    - fill_rule
    argTypes:
    - cairo_script_surface_t*
    - cairo_fill_rule_t
    constantsTouched: []
    func_position:
      end: 661
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 661
    functionName: _emit_fill_rule
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - assert
    - target_is_active
    - _fill_rule_to_string
    - to_context
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _emit_fill_rule (cairo_script_surface_t *surface,\t\
      \t cairo_fill_rule_t fill_rule) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _emit_recording_surface_pattern
      Src: /src/cairo/src/cairo-script-surface.c:1584,1
    - Dst: _emit_image_surface_pattern
      Src: /src/cairo/src/cairo-script-surface.c:1590,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:1596,1
    - Dst: _emit_script_surface_pattern
      Src: /src/cairo/src/cairo-script-surface.c:1587,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:1593,1
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:1596,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 2
    argNames:
    - surface
    - sub
    argTypes:
    - cairo_script_surface_t*
    - cairo_surface_subsurface_t*
    constantsTouched: []
    func_position:
      end: 1603
      start: 1575
    functionDepth: 0
    functionLinenumber: 1575
    functionLinenumberEnd: 1603
    functionName: _emit_subsurface_pattern
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _emit_script_surface_pattern
    - _emit_recording_surface_pattern
    - _emit_image_surface_pattern
    - to_context
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _emit_subsurface_pattern (cairo_script_surface_t\
      \ *surface,\t\t\t cairo_surface_subsurface_t *sub) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-script-surface.c:1146,1
    - Dst: _cairo_surface_attach_snapshot
      Src: /src/cairo/src/cairo-script-surface.c:1160,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:1156,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:1147,1
    - Dst: _cairo_surface_init
      Src: /src/cairo/src/cairo-script-surface.c:1150,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-script-surface.c:1161,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - source
    argTypes:
    - cairo_script_context_t*
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1162
      start: 1137
    functionDepth: 0
    functionLinenumber: 1137
    functionLinenumberEnd: 1162
    functionName: attach_snapshot
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_init
    - _cairo_surface_attach_snapshot
    - cairo_surface_destroy
    - _cairo_calloc
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: void
    signature: "static void attach_snapshot (cairo_script_context_t *ctx,\t\t cairo_surface_t\
      \ *source) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:1130,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:1132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1135
      start: 1126
    functionDepth: 0
    functionLinenumber: 1126
    functionLinenumberEnd: 1135
    functionName: detach_snapshot
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - to_context
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: void
    signature: 'static void detach_snapshot (cairo_surface_t *abstract_surface) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:1169,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:1177,1
    - Dst: _cairo_script_surface_create_internal
      Src: /src/cairo/src/cairo-script-surface.c:1185,1
    - Dst: attach_snapshot
      Src: /src/cairo/src/cairo-script-surface.c:1204,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:1202,1
    - Dst: target_push
      Src: /src/cairo/src/cairo-script-surface.c:1208,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:1217,1
    - Dst: assert
      Src: /src/cairo/src/cairo-script-surface.c:1223,1
    - Dst: _cairo_recording_surface_get_bounds
      Src: /src/cairo/src/cairo-script-surface.c:1182,1
    - Dst: _cairo_surface_has_snapshot
      Src: /src/cairo/src/cairo-script-surface.c:1175,1
    - Dst: target_is_active
      Src: /src/cairo/src/cairo-script-surface.c:1223,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-script-surface.c:1226,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:1189,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:1201,1
    - Dst: _cairo_recording_surface_replay
      Src: /src/cairo/src/cairo-script-surface.c:1214,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:1206,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:1194,1
    - Dst: _content_to_string
      Src: /src/cairo/src/cairo-script-surface.c:1195,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:1197,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-script-surface.c:1218,1
    - Dst: cairo_list_del
      Src: /src/cairo/src/cairo-script-surface.c:1222,1
    - Dst: _cairo_script_implicit_context_init
      Src: /src/cairo/src/cairo-script-surface.c:1213,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:1225,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 2
    argNames:
    - surface
    - source
    argTypes:
    - cairo_script_surface_t*
    - cairo_recording_surface_t*
    constantsTouched: []
    func_position:
      end: 1229
      start: 1164
    functionDepth: 0
    functionLinenumber: 1164
    functionLinenumberEnd: 1229
    functionName: _emit_recording_surface_pattern
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _content_to_string
    - target_push
    - _cairo_recording_surface_get_bounds
    - attach_snapshot
    - _cairo_script_surface_create_internal
    - cairo_surface_destroy
    - assert
    - target_is_active
    - _cairo_output_stream_puts
    - _cairo_recording_surface_replay
    - cairo_list_del
    - _cairo_surface_has_snapshot
    - _cairo_script_implicit_context_init
    - to_context
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _emit_recording_surface_pattern (cairo_script_surface_t\
      \ *surface,\t\t\t\t cairo_recording_surface_t *source) "
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: _emit_radial_pattern
      Src: /src/cairo/src/cairo-script-surface.c:1701,1
    - Dst: _emit_linear_pattern
      Src: /src/cairo/src/cairo-script-surface.c:1697,1
    - Dst: _emit_solid_pattern
      Src: /src/cairo/src/cairo-script-surface.c:1694,1
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:1686,1
    - Dst: _cairo_matrix_is_identity
      Src: /src/cairo/src/cairo-script-surface.c:1724,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:1726,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:1761,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:1751,1
    - Dst: _emit_mesh_pattern
      Src: /src/cairo/src/cairo-script-surface.c:1705,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:1721,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:1744,1
    - Dst: _filter_to_string
      Src: /src/cairo/src/cairo-script-surface.c:1746,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:1740,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:1730,1
    - Dst: _emit_surface_pattern
      Src: /src/cairo/src/cairo-script-surface.c:1709,1
    - Dst: _emit_raster_pattern
      Src: /src/cairo/src/cairo-script-surface.c:1713,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:1755,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:1765,1
    - Dst: _dither_to_string
      Src: /src/cairo/src/cairo-script-surface.c:1757,1
    - Dst: _extend_to_string
      Src: /src/cairo/src/cairo-script-surface.c:1767,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:1771,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 54
    argCount: 2
    argNames:
    - surface
    - pattern
    argTypes:
    - cairo_script_surface_t*
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 1774
      start: 1682
    functionDepth: 0
    functionLinenumber: 1682
    functionLinenumberEnd: 1774
    functionName: _emit_pattern
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _emit_mesh_pattern
    - _emit_radial_pattern
    - _dither_to_string
    - unlikely
    - _cairo_matrix_is_identity
    - _emit_linear_pattern
    - _extend_to_string
    - _filter_to_string
    - _emit_solid_pattern
    - _cairo_output_stream_puts
    - _emit_surface_pattern
    - to_context
    - _cairo_output_stream_printf
    - _emit_raster_pattern
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _emit_pattern (cairo_script_surface_t *surface,\t\
      \ const cairo_pattern_t *pattern) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:1848,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-script-surface.c:1851,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-script-surface.c:1850,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - closure
    - point
    argTypes:
    - void*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 1854
      start: 1844
    functionDepth: 0
    functionLinenumber: 1844
    functionLinenumberEnd: 1854
    functionName: _path_line_to
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_printf
    - _cairo_fixed_to_double
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _path_line_to (void *closure,\t const cairo_point_t\
      \ *point) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:2832,1
    - Dst: _antialias_to_string
      Src: /src/cairo/src/cairo-script-surface.c:2845,1
    - Dst: cairo_font_options_equal
      Src: /src/cairo/src/cairo-script-surface.c:2834,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:2840,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:2843,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:2851,1
    - Dst: _subpixel_order_to_string
      Src: /src/cairo/src/cairo-script-surface.c:2853,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:2859,1
    - Dst: _hint_style_to_string
      Src: /src/cairo/src/cairo-script-surface.c:2861,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:2867,1
    - Dst: _hint_metrics_to_string
      Src: /src/cairo/src/cairo-script-surface.c:2869,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:2872,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - surface
    - font_options
    argTypes:
    - cairo_script_surface_t*
    - cairo_font_options_t*
    constantsTouched: []
    func_position:
      end: 2877
      start: 2828
    functionDepth: 0
    functionLinenumber: 2828
    functionLinenumberEnd: 2877
    functionName: _emit_font_options
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _antialias_to_string
    - cairo_font_options_equal
    - _subpixel_order_to_string
    - _hint_style_to_string
    - _hint_metrics_to_string
    - to_context
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _emit_font_options (cairo_script_surface_t *surface,\t\
      \t cairo_font_options_t *font_options) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-script-surface.c:1780,1
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:1785,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:1785,1
    - Dst: _cairo_matrix_is_identity
      Src: /src/cairo/src/cairo-script-surface.c:1782,1
    - Dst: target_is_active
      Src: /src/cairo/src/cairo-script-surface.c:1780,1
    - Dst: cairo_matrix_init_identity
      Src: /src/cairo/src/cairo-script-surface.c:1789,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - surface
    - matrix_updated
    argTypes:
    - cairo_script_surface_t*
    - cairo_bool_t*
    constantsTouched: []
    func_position:
      end: 1792
      start: 1776
    functionDepth: 0
    functionLinenumber: 1776
    functionLinenumberEnd: 1792
    functionName: _emit_identity
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _cairo_matrix_is_identity
    - assert
    - cairo_matrix_init_identity
    - target_is_active
    - _cairo_output_stream_puts
    - to_context
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _emit_identity (cairo_script_surface_t *surface,\t\
      \tcairo_bool_t *matrix_updated) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:1862,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-script-surface.c:1864,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-script-surface.c:1866,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-script-surface.c:1865,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-script-surface.c:1867,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-script-surface.c:1868,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-script-surface.c:1869,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - closure
    - p1
    - p2
    - p3
    argTypes:
    - void*
    - cairo_point_t*
    - cairo_point_t*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 1872
      start: 1856
    functionDepth: 0
    functionLinenumber: 1856
    functionLinenumberEnd: 1872
    functionName: _path_curve_to
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_printf
    - _cairo_fixed_to_double
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _path_curve_to (void *closure,\t\tconst cairo_point_t\
      \ *p1,\t\tconst cairo_point_t *p2,\t\tconst cairo_point_t *p3) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_device_acquire
      Src: /src/cairo/src/cairo-script-surface.c:2887,1
    - Dst: likely
      Src: /src/cairo/src/cairo-script-surface.c:2888,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:2889,1
    - Dst: cairo_device_release
      Src: /src/cairo/src/cairo-script-surface.c:2895,1
    - Dst: _bitmap_release_id
      Src: /src/cairo/src/cairo-script-surface.c:2894,1
    - Dst: cairo_list_del
      Src: /src/cairo/src/cairo-script-surface.c:2898,1
    - Dst: cairo_list_del
      Src: /src/cairo/src/cairo-script-surface.c:2899,1
    - Dst: free
      Src: /src/cairo/src/cairo-script-surface.c:2900,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - abstract_private
    - scaled_font
    argTypes:
    - cairo_scaled_font_private_t*
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 2901
      start: 2879
    functionDepth: 0
    functionLinenumber: 2879
    functionLinenumberEnd: 2901
    functionName: _cairo_script_scaled_font_fini
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - cairo_device_acquire
    - free
    - _bitmap_release_id
    - cairo_device_release
    - cairo_list_del
    - likely
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: void
    signature: "static void _cairo_script_scaled_font_fini (cairo_scaled_font_private_t\
      \ *abstract_private,\t\t\t\tcairo_scaled_font_t *scaled_font) "
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_fixed_is_box
      Src: /src/cairo/src/cairo-script-surface.c:2360,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-script-surface.c:2363,1
    - Dst: _emit_fill_rule
      Src: /src/cairo/src/cairo-script-surface.c:2374,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:2375,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:2380,1
    - Dst: _emit_tolerance
      Src: /src/cairo/src/cairo-script-surface.c:2379,1
    - Dst: cairo_container_of
      Src: /src/cairo/src/cairo-script-surface.c:2338,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:2352,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:2347,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-script-surface.c:2364,1
    - Dst: _emit_identity
      Src: /src/cairo/src/cairo-script-surface.c:2370,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:2371,1
    - Dst: _emit_path
      Src: /src/cairo/src/cairo-script-surface.c:2390,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:2391,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:2386,1
    - Dst: _emit_context
      Src: /src/cairo/src/cairo-script-surface.c:2346,1
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:2341,1
    - Dst: _cairo_path_fixed_fill_maybe_region
      Src: /src/cairo/src/cairo-script-surface.c:2384,1
    - Dst: _emit_antialias
      Src: /src/cairo/src/cairo-script-surface.c:2385,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:2394,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 48
    argCount: 5
    argNames:
    - clipper
    - path
    - fill_rule
    - tolerance
    - antialias
    argTypes:
    - cairo_surface_clipper_t*
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    constantsTouched: []
    func_position:
      end: 2398
      start: 2331
    functionDepth: 0
    functionLinenumber: 2331
    functionLinenumberEnd: 2398
    functionName: _cairo_script_surface_clipper_intersect_clip_path
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _emit_context
    - _cairo_path_fixed_is_box
    - _emit_identity
    - _emit_fill_rule
    - _emit_tolerance
    - cairo_container_of
    - _emit_antialias
    - _emit_path
    - _cairo_path_fixed_fill_maybe_region
    - _cairo_output_stream_puts
    - _cairo_fixed_from_double
    - to_context
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_script_surface_clipper_intersect_clip_path\
      \ (cairo_surface_clipper_t *clipper,\t\t\t\t\t\t cairo_path_fixed_t\t*path,\t\
      \t\t\t\t\t cairo_fill_rule_t\t fill_rule,\t\t\t\t\t\t double\t\t tolerance,\t\
      \t\t\t\t\t cairo_antialias_t\t antialias) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _emit_source
      Src: /src/cairo/src/cairo-script-surface.c:2569,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:2570,1
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:2587,1
    - Dst: assert
      Src: /src/cairo/src/cairo-script-surface.c:2585,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:2578,1
    - Dst: _cairo_surface_wrapper_mask
      Src: /src/cairo/src/cairo-script-surface.c:2593,1
    - Dst: _emit_operator
      Src: /src/cairo/src/cairo-script-surface.c:2573,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:2574,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:2581,1
    - Dst: inactive
      Src: /src/cairo/src/cairo-script-surface.c:2590,1
    - Dst: active
      Src: /src/cairo/src/cairo-script-surface.c:2557,1
    - Dst: _emit_context
      Src: /src/cairo/src/cairo-script-surface.c:2565,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:2558,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:2566,1
    - Dst: _emit_pattern
      Src: /src/cairo/src/cairo-script-surface.c:2580,1
    - Dst: _cairo_pattern_equal
      Src: /src/cairo/src/cairo-script-surface.c:2577,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:2562,1
    - Dst: _cairo_surface_clipper_set_clip
      Src: /src/cairo/src/cairo-script-surface.c:2561,1
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:2578,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:2587,1
    - Dst: _cairo_surface_wrapper_is_active
      Src: /src/cairo/src/cairo-script-surface.c:2592,1
    - Dst: inactive
      Src: /src/cairo/src/cairo-script-surface.c:2600,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 33
    argCount: 5
    argNames:
    - abstract_surface
    - op
    - source
    - mask
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 2602
      start: 2547
    functionDepth: 0
    functionLinenumber: 2547
    functionLinenumberEnd: 2602
    functionName: _cairo_script_surface_mask
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _emit_context
    - _emit_source
    - _cairo_surface_wrapper_mask
    - _cairo_surface_clipper_set_clip
    - _cairo_pattern_equal
    - assert
    - active
    - inactive
    - _emit_operator
    - _cairo_output_stream_puts
    - _emit_pattern
    - _cairo_surface_wrapper_is_active
    - to_context
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_script_surface_mask (void\t\t\t*abstract_surface,\t\
      \t\t cairo_operator_t\t\t op,\t\t\t const cairo_pattern_t\t*source,\t\t\t const\
      \ cairo_pattern_t\t*mask,\t\t\t const cairo_clip_t\t\t*clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-script-surface.c:340,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-script-surface.c:340,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 342
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 342
    functionName: _operator_to_string
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - ARRAY_LENGTH
    - assert
    linkageType: ''
    returnType: char*
    signature: 'static const char *_operator_to_string (cairo_operator_t op) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:1948,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-script-surface.c:1962,1
    - Dst: assert
      Src: /src/cairo/src/cairo-script-surface.c:1967,1
    - Dst: _cairo_path_fixed_init_copy
      Src: /src/cairo/src/cairo-script-surface.c:1956,1
    - Dst: _emit_path_boxes
      Src: /src/cairo/src/cairo-script-surface.c:1974,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:1986,1
    - Dst: assert
      Src: /src/cairo/src/cairo-script-surface.c:1940,1
    - Dst: _cairo_path_fixed_equal
      Src: /src/cairo/src/cairo-script-surface.c:1943,1
    - Dst: _cairo_path_fixed_fini
      Src: /src/cairo/src/cairo-script-surface.c:1946,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:1952,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-script-surface.c:1965,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-script-surface.c:1963,1
    - Dst: _cairo_path_fixed_fill_is_rectilinear
      Src: /src/cairo/src/cairo-script-surface.c:1973,1
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:1936,1
    - Dst: target_is_active
      Src: /src/cairo/src/cairo-script-surface.c:1940,1
    - Dst: _cairo_matrix_is_identity
      Src: /src/cairo/src/cairo-script-surface.c:1941,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:1957,1
    - Dst: _cairo_path_fixed_interpret
      Src: /src/cairo/src/cairo-script-surface.c:1978,1
    - Dst: assert
      Src: /src/cairo/src/cairo-script-surface.c:1941,1
    - Dst: _cairo_path_fixed_init
      Src: /src/cairo/src/cairo-script-surface.c:1951,1
    - Dst: _cairo_path_fixed_is_rectangle
      Src: /src/cairo/src/cairo-script-surface.c:1961,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-script-surface.c:1964,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:1969,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 3
    argNames:
    - surface
    - path
    - is_fill
    argTypes:
    - cairo_script_surface_t*
    - cairo_path_fixed_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 1989
      start: 1931
    functionDepth: 0
    functionLinenumber: 1931
    functionLinenumberEnd: 1989
    functionName: _emit_path
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_fill_is_rectilinear
    - _emit_path_boxes
    - _cairo_fixed_to_double
    - _cairo_path_fixed_interpret
    - _cairo_path_fixed_is_rectangle
    - _cairo_matrix_is_identity
    - _cairo_path_fixed_equal
    - assert
    - _cairo_path_fixed_fini
    - target_is_active
    - _cairo_output_stream_puts
    - _cairo_path_fixed_init
    - _cairo_path_fixed_init_copy
    - to_context
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _emit_path (cairo_script_surface_t *surface,\t\
      \ const cairo_path_fixed_t *path,\t cairo_bool_t is_fill) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:3150,1
    - Dst: _emit_image_surface
      Src: /src/cairo/src/cairo-script-surface.c:3173,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:3174,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:3158,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:3177,1
    - Dst: _cairo_matrix_is_identity
      Src: /src/cairo/src/cairo-script-surface.c:3179,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:3180,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:3189,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - surface
    - scaled_font
    - font_private
    - scaled_glyph
    argTypes:
    - cairo_script_surface_t*
    - cairo_scaled_font_t*
    - cairo_script_font_t*
    - cairo_scaled_glyph_t*
    constantsTouched: []
    func_position:
      end: 3193
      start: 3144
    functionDepth: 0
    functionLinenumber: 3144
    functionLinenumberEnd: 3193
    functionName: _emit_scaled_glyph_bitmap
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _emit_image_surface
    - _cairo_matrix_is_identity
    - _cairo_output_stream_puts
    - to_context
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _emit_scaled_glyph_bitmap (cairo_script_surface_t\
      \ *surface,\t\t\t cairo_scaled_font_t *scaled_font,\t\t\t cairo_script_font_t\
      \ *font_private,\t\t\t cairo_scaled_glyph_t *scaled_glyph) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_stroke_style_init
      Src: /src/cairo/src/cairo-script-surface.c:3695,1
    - Dst: _cairo_path_fixed_init
      Src: /src/cairo/src/cairo-script-surface.c:3698,1
    - Dst: cairo_matrix_init_identity
      Src: /src/cairo/src/cairo-script-surface.c:3700,1
    - Dst: cairo_matrix_init_identity
      Src: /src/cairo/src/cairo-script-surface.c:3699,1
    - Dst: _cairo_pattern_init_solid
      Src: /src/cairo/src/cairo-script-surface.c:3696,1
    - Dst: cairo_matrix_init_identity
      Src: /src/cairo/src/cairo-script-surface.c:3701,1
    - Dst: _cairo_font_options_init_default
      Src: /src/cairo/src/cairo-script-surface.c:3702,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_script_implicit_context_t*
    constantsTouched: []
    func_position:
      end: 3705
      start: 3688
    functionDepth: 0
    functionLinenumber: 3688
    functionLinenumberEnd: 3705
    functionName: _cairo_script_implicit_context_init
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _cairo_stroke_style_init
    - _cairo_font_options_init_default
    - cairo_matrix_init_identity
    - _cairo_path_fixed_init
    - _cairo_pattern_init_solid
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_script_implicit_context_init (cairo_script_implicit_context_t
      *cr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-script-surface.c:3779,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-script-surface.c:3781,1
    - Dst: memset
      Src: /src/cairo/src/cairo-script-surface.c:3783,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:3780,1
    - Dst: _cairo_device_create_in_error
      Src: /src/cairo/src/cairo-script-surface.c:3781,1
    - Dst: _cairo_device_init
      Src: /src/cairo/src/cairo-script-surface.c:3785,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-script-surface.c:3787,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-script-surface.c:3788,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-script-surface.c:3792,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-script-surface.c:3793,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3798
      start: 3774
    functionDepth: 0
    functionLinenumber: 3774
    functionLinenumberEnd: 3798
    functionName: _cairo_script_context_create_internal
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _cairo_device_create_in_error
    - _cairo_device_init
    - cairo_list_init
    - _cairo_error
    - memset
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_device_t*
    signature: 'cairo_device_t *_cairo_script_context_create_internal (cairo_output_stream_t
      *stream) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_device_acquire
      Src: /src/cairo/src/cairo-script-surface.c:2405,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:2406,1
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:2410,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_script_surface_t*
    constantsTouched: []
    func_position:
      end: 2413
      start: 2400
    functionDepth: 0
    functionLinenumber: 2400
    functionLinenumberEnd: 2413
    functionName: active
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - cairo_device_acquire
    - to_context
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t active (cairo_script_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-script-surface.c:353,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-script-surface.c:353,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 355
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 355
    functionName: _extend_to_string
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - ARRAY_LENGTH
    - assert
    linkageType: ''
    returnType: char*
    signature: 'static const char *_extend_to_string (cairo_extend_t extend) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/cairo/src/cairo-script-surface.c:1994,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-script-surface.c:1996,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-script-surface.c:1995,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-script-surface.c:1997,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_matrix_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 1998
      start: 1990
    functionDepth: 0
    functionLinenumber: 1990
    functionLinenumberEnd: 1998
    functionName: _scaling_matrix_equal
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - fabs
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _scaling_matrix_equal (const cairo_matrix_t *a,\t\
      \t const cairo_matrix_t *b) "
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_clipper_set_clip
      Src: /src/cairo/src/cairo-script-surface.c:2624,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:2625,1
    - Dst: _emit_source
      Src: /src/cairo/src/cairo-script-surface.c:2640,1
    - Dst: _scaling_matrix_equal
      Src: /src/cairo/src/cairo-script-surface.c:2652,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:2641,1
    - Dst: _emit_antialias
      Src: /src/cairo/src/cairo-script-surface.c:2671,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:2672,1
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:2675,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:2675,1
    - Dst: _cairo_surface_wrapper_is_active
      Src: /src/cairo/src/cairo-script-surface.c:2679,1
    - Dst: inactive
      Src: /src/cairo/src/cairo-script-surface.c:2691,1
    - Dst: _emit_identity
      Src: /src/cairo/src/cairo-script-surface.c:2632,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:2633,1
    - Dst: _emit_path
      Src: /src/cairo/src/cairo-script-surface.c:2636,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:2637,1
    - Dst: _emit_scaling_matrix
      Src: /src/cairo/src/cairo-script-surface.c:2644,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:2645,1
    - Dst: _cairo_surface_wrapper_stroke
      Src: /src/cairo/src/cairo-script-surface.c:2680,1
    - Dst: active
      Src: /src/cairo/src/cairo-script-surface.c:2620,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:2621,1
    - Dst: _emit_context
      Src: /src/cairo/src/cairo-script-surface.c:2628,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:2629,1
    - Dst: _emit_operator
      Src: /src/cairo/src/cairo-script-surface.c:2648,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:2664,1
    - Dst: _emit_stroke_style
      Src: /src/cairo/src/cairo-script-surface.c:2663,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:2649,1
    - Dst: _emit_tolerance
      Src: /src/cairo/src/cairo-script-surface.c:2667,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:2668,1
    - Dst: inactive
      Src: /src/cairo/src/cairo-script-surface.c:2677,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 47
    argCount: 10
    argNames:
    - abstract_surface
    - op
    - source
    - path
    - style
    - ctm
    - ctm_inverse
    - tolerance
    - antialias
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 2693
      start: 2604
    functionDepth: 0
    functionLinenumber: 2604
    functionLinenumberEnd: 2693
    functionName: _cairo_script_surface_stroke
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _emit_context
    - _emit_source
    - _emit_tolerance
    - _emit_stroke_style
    - _emit_path
    - _emit_antialias
    - unlikely
    - _scaling_matrix_equal
    - _cairo_surface_clipper_set_clip
    - _cairo_surface_wrapper_stroke
    - active
    - inactive
    - _emit_operator
    - _cairo_output_stream_puts
    - _emit_scaling_matrix
    - _cairo_surface_wrapper_is_active
    - to_context
    - _emit_identity
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_script_surface_stroke (void\t\t\t\
      \t*abstract_surface,\t\t\t cairo_operator_t\t\t\t op,\t\t\t const cairo_pattern_t\t\
      \t*source,\t\t\t const cairo_path_fixed_t\t\t*path,\t\t\t const cairo_stroke_style_t\t\
      *style,\t\t\t const cairo_matrix_t\t\t*ctm,\t\t\t const cairo_matrix_t\t\t*ctm_inverse,\t\
      \t\t double\t\t\t\t tolerance,\t\t\t cairo_antialias_t\t\t\t antialias,\t\t\t\
      \ const cairo_clip_t\t\t*clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:3199,1
    - Dst: _cairo_script_font_id
      Src: /src/cairo/src/cairo-script-surface.c:3202,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:3201,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - surface
    - scaled_font
    argTypes:
    - cairo_script_surface_t*
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 3205
      start: 3195
    functionDepth: 0
    functionLinenumber: 3195
    functionLinenumberEnd: 3205
    functionName: _emit_scaled_glyph_prologue
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _cairo_script_font_id
    - to_context
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _emit_scaled_glyph_prologue (cairo_script_surface_t\
      \ *surface,\t\t\t cairo_scaled_font_t *scaled_font) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-script-surface.c:3710,1
    - Dst: _cairo_script_implicit_context_init
      Src: /src/cairo/src/cairo-script-surface.c:3716,1
    - Dst: _cairo_path_fixed_fini
      Src: /src/cairo/src/cairo-script-surface.c:3714,1
    - Dst: _cairo_pattern_fini
      Src: /src/cairo/src/cairo-script-surface.c:3713,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_script_implicit_context_t*
    constantsTouched: []
    func_position:
      end: 3717
      start: 3707
    functionDepth: 0
    functionLinenumber: 3707
    functionLinenumberEnd: 3717
    functionName: _cairo_script_implicit_context_reset
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - free
    - _cairo_script_implicit_context_init
    - _cairo_pattern_fini
    - _cairo_path_fixed_fini
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_script_implicit_context_reset (cairo_script_implicit_context_t
      *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - device
    - enable
    argTypes:
    - cairo_device_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 3808
      start: 3800
    functionDepth: 0
    functionLinenumber: 3800
    functionLinenumberEnd: 3808
    functionName: _cairo_script_context_attach_snapshots
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _cairo_script_context_attach_snapshots (cairo_device_t *device,\t\
      \t\t\t\tcairo_bool_t enable) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2816
      start: 2805
    functionDepth: 0
    functionLinenumber: 2805
    functionLinenumberEnd: 2816
    functionName: _hint_style_to_string
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *_hint_style_to_string (cairo_hint_style_t hint_style) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:2935,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-script-surface.c:2938,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:2943,1
    - Dst: _cairo_base85_stream_create
      Src: /src/cairo/src/cairo-script-surface.c:2961,1
    - Dst: to_be32
      Src: /src/cairo/src/cairo-script-surface.c:2962,1
    - Dst: free
      Src: /src/cairo/src/cairo-script-surface.c:2968,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:2953,1
    - Dst: _cairo_ft_scaled_font_get_load_flags
      Src: /src/cairo/src/cairo-script-surface.c:2949,1
    - Dst: _cairo_deflate_stream_create
      Src: /src/cairo/src/cairo-script-surface.c:2965,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-script-surface.c:2963,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-script-surface.c:2974,1
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:2919,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-script-surface.c:2967,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-script-surface.c:2970,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:2978,1
    - Dst: _cairo_script_font_id
      Src: /src/cairo/src/cairo-script-surface.c:2980,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:2939,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-script-surface.c:2940,1
    - Dst: free
      Src: /src/cairo/src/cairo-script-surface.c:2944,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 2
    argNames:
    - surface
    - scaled_font
    argTypes:
    - cairo_script_surface_t*
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 2983
      start: 2915
    functionDepth: 0
    functionLinenumber: 2915
    functionLinenumberEnd: 2983
    functionName: _emit_type42_font
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _cairo_malloc
    - _cairo_deflate_stream_create
    - _cairo_error
    - free
    - to_be32
    - _cairo_script_font_id
    - _cairo_output_stream_write
    - _cairo_base85_stream_create
    - _cairo_ft_scaled_font_get_load_flags
    - _cairo_output_stream_destroy
    - to_context
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _emit_type42_font (cairo_script_surface_t *surface,\t\
      \t cairo_scaled_font_t *scaled_font) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_script_context_create_internal
      Src: /src/cairo/src/cairo-script-surface.c:3816,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:3817,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:3821,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3823
      start: 3810
    functionDepth: 0
    functionLinenumber: 3810
    functionLinenumberEnd: 3823
    functionName: _cairo_script_context_create
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_puts
    - _cairo_script_context_create_internal
    - unlikely
    linkageType: ''
    returnType: cairo_device_t*
    signature: 'static cairo_device_t *_cairo_script_context_create (cairo_output_stream_t
      *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2826
      start: 2817
    functionDepth: 0
    functionLinenumber: 2817
    functionLinenumberEnd: 2826
    functionName: _hint_metrics_to_string
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *_hint_metrics_to_string (cairo_hint_metrics_t hint_metrics) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:2990,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-script-surface.c:2996,1
    - Dst: _cairo_scaled_font_attach_private
      Src: /src/cairo/src/cairo-script-surface.c:2998,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-script-surface.c:2994,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:2995,1
    - Dst: cairo_list_add
      Src: /src/cairo/src/cairo-script-surface.c:3005,1
    - Dst: _bitmap_next_id
      Src: /src/cairo/src/cairo-script-surface.c:3007,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:3009,1
    - Dst: free
      Src: /src/cairo/src/cairo-script-surface.c:3010,1
    - Dst: _emit_context
      Src: /src/cairo/src/cairo-script-surface.c:3014,1
    - Dst: _emit_type42_font
      Src: /src/cairo/src/cairo-script-surface.c:3020,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:3015,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:3027,1
    - Dst: free
      Src: /src/cairo/src/cairo-script-surface.c:3016,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 3
    argNames:
    - surface
    - scaled_font
    - font_out
    argTypes:
    - cairo_script_surface_t*
    - cairo_scaled_font_t*
    - cairo_script_font_t**
    constantsTouched: []
    func_position:
      end: 3042
      start: 2985
    functionDepth: 0
    functionLinenumber: 2985
    functionLinenumberEnd: 3042
    functionName: _emit_scaled_font_init
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _emit_type42_font
    - _emit_context
    - _cairo_error
    - free
    - _cairo_calloc
    - cairo_list_add
    - _bitmap_next_id
    - _cairo_scaled_font_attach_private
    - to_context
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _emit_scaled_font_init (cairo_script_surface_t\
      \ *surface,\t\t\tcairo_scaled_font_t *scaled_font,\t\t\tcairo_script_font_t\
      \ **font_out) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:475,1
    - Dst: target_depth
      Src: /src/cairo/src/cairo-script-surface.c:486,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:478,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:483,1
    - Dst: target_is_active
      Src: /src/cairo/src/cairo-script-surface.c:477,1
    - Dst: assert
      Src: /src/cairo/src/cairo-script-surface.c:488,1
    - Dst: cairo_list_is_empty
      Src: /src/cairo/src/cairo-script-surface.c:488,1
    - Dst: assert
      Src: /src/cairo/src/cairo-script-surface.c:489,1
    - Dst: target_is_active
      Src: /src/cairo/src/cairo-script-surface.c:489,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:492,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:498,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:502,1
    - Dst: target_push
      Src: /src/cairo/src/cairo-script-surface.c:501,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:496,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:493,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_script_surface_t*
    constantsTouched: []
    func_position:
      end: 505
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 505
    functionName: _get_target
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - target_push
    - target_depth
    - assert
    - target_is_active
    - _cairo_output_stream_puts
    - cairo_list_is_empty
    - to_context
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: void
    signature: 'static void _get_target (cairo_script_surface_t *surface) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-script-surface.c:820,1
    - Dst: _cairo_realloc_ab
      Src: /src/cairo/src/cairo-script-surface.c:840,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-script-surface.c:832,1
    - Dst: target_is_active
      Src: /src/cairo/src/cairo-script-surface.c:820,1
    - Dst: _dashes_equal
      Src: /src/cairo/src/cairo-script-surface.c:833,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:842,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-script-surface.c:843,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-script-surface.c:845,1
    - Dst: free
      Src: /src/cairo/src/cairo-script-surface.c:848,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:855,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:859,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:861,1
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:859,1
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:857,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:857,1
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:855,1
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:861,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 5
    argNames:
    - surface
    - dash
    - num_dashes
    - offset
    - force
    argTypes:
    - cairo_script_surface_t*
    - double*
    - unsigned int
    - double
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 866
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 866
    functionName: _emit_dash
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - fabs
    - memcpy
    - _cairo_error
    - free
    - assert
    - _cairo_realloc_ab
    - target_is_active
    - _cairo_output_stream_puts
    - _dashes_equal
    - to_context
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _emit_dash (cairo_script_surface_t *surface,\t\
      \ const double *dash,\t unsigned int num_dashes,\t double offset,\t cairo_bool_t\
      \ force) "
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 516
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 516
    functionName: _content_to_string
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *_content_to_string (cairo_content_t content) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-script-surface.c:875,1
    - Dst: _emit_line_cap
      Src: /src/cairo/src/cairo-script-surface.c:881,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:878,1
    - Dst: _emit_line_width
      Src: /src/cairo/src/cairo-script-surface.c:877,1
    - Dst: target_is_active
      Src: /src/cairo/src/cairo-script-surface.c:875,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:882,1
    - Dst: _emit_line_join
      Src: /src/cairo/src/cairo-script-surface.c:885,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:886,1
    - Dst: _emit_miter_limit
      Src: /src/cairo/src/cairo-script-surface.c:889,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:890,1
    - Dst: _emit_dash
      Src: /src/cairo/src/cairo-script-surface.c:897,1
    - Dst: _emit_hairline
      Src: /src/cairo/src/cairo-script-surface.c:893,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:900,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:894,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - surface
    - style
    - force
    argTypes:
    - cairo_script_surface_t*
    - cairo_stroke_style_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 904
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 904
    functionName: _emit_stroke_style
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _emit_hairline
    - _emit_line_cap
    - _emit_dash
    - assert
    - target_is_active
    - _emit_miter_limit
    - _emit_line_join
    - _emit_line_width
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _emit_stroke_style (cairo_script_surface_t *surface,\t\
      \t const cairo_stroke_style_t *style,\t\t cairo_bool_t force) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_is_empty
      Src: /src/cairo/src/cairo-script-surface.c:2430,1
    - Dst: cairo_list_first_entry
      Src: /src/cairo/src/cairo-script-surface.c:2435,1
    - Dst: cairo_list_foreach
      Src: /src/cairo/src/cairo-script-surface.c:2440,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:2484,1
    - Dst: cairo_list_foreach
      Src: /src/cairo/src/cairo-script-surface.c:2474,1
    - Dst: cairo_list_first_entry
      Src: /src/cairo/src/cairo-script-surface.c:2469,1
    - Dst: assert
      Src: /src/cairo/src/cairo-script-surface.c:2421,1
    - Dst: cairo_list_move
      Src: /src/cairo/src/cairo-script-surface.c:2449,1
    - Dst: cairo_list_foreach_entry
      Src: /src/cairo/src/cairo-script-surface.c:2453,1
    - Dst: cairo_list_move_tail
      Src: /src/cairo/src/cairo-script-surface.c:2460,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:2481,1
    - Dst: cairo_list_is_empty
      Src: /src/cairo/src/cairo-script-surface.c:2464,1
    - Dst: free
      Src: /src/cairo/src/cairo-script-surface.c:2494,1
    - Dst: cairo_device_release
      Src: /src/cairo/src/cairo-script-surface.c:2498,1
    - Dst: assert
      Src: /src/cairo/src/cairo-script-surface.c:2425,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-script-surface.c:2429,1
    - Dst: cairo_list_is_empty
      Src: /src/cairo/src/cairo-script-surface.c:2448,1
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:2418,1
    - Dst: cairo_list_del
      Src: /src/cairo/src/cairo-script-surface.c:2492,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:2487,1
    - Dst: cairo_list_del
      Src: /src/cairo/src/cairo-script-surface.c:2493,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 46
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_script_surface_t*
    constantsTouched: []
    func_position:
      end: 2499
      start: 2415
    functionDepth: 0
    functionLinenumber: 2415
    functionLinenumberEnd: 2499
    functionName: inactive
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - cairo_list_move_tail
    - cairo_list_foreach_entry
    - cairo_list_move
    - free
    - cairo_list_first_entry
    - assert
    - cairo_device_release
    - cairo_list_del
    - cairo_list_foreach
    - cairo_list_is_empty
    - to_context
    - _cairo_output_stream_printf
    - cairo_list_init
    linkageType: ''
    returnType: void
    signature: 'static void inactive (cairo_script_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:1014,1
    - Dst: _emit_gradient_color_stops
      Src: /src/cairo/src/cairo-script-surface.c:1027,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:1019,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - surface
    - pattern
    argTypes:
    - cairo_script_surface_t*
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 1028
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1028
    functionName: _emit_radial_pattern
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _emit_gradient_color_stops
    - to_context
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _emit_radial_pattern (cairo_script_surface_t\
      \ *surface,\t\t const cairo_pattern_t *pattern) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:1384,1
    - Dst: _cairo_base85_stream_create
      Src: /src/cairo/src/cairo-script-surface.c:1405,1
    - Dst: cairo_surface_get_mime_data
      Src: /src/cairo/src/cairo-script-surface.c:1390,1
    - Dst: _format_to_string
      Src: /src/cairo/src/cairo-script-surface.c:1403,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:1395,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-script-surface.c:1406,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-script-surface.c:1407,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:1408,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:1411,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - surface
    - image
    argTypes:
    - cairo_script_surface_t*
    - cairo_image_surface_t*
    constantsTouched: []
    func_position:
      end: 1413
      start: 1380
    functionDepth: 0
    functionLinenumber: 1380
    functionLinenumberEnd: 1413
    functionName: _emit_png_surface
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - cairo_surface_get_mime_data
    - _format_to_string
    - _cairo_output_stream_write
    - _cairo_output_stream_puts
    - _cairo_base85_stream_create
    - _cairo_output_stream_destroy
    - to_context
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _emit_png_surface (cairo_script_surface_t\
      \ *surface,\t\t cairo_image_surface_t *image) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_device_acquire
      Src: /src/cairo/src/cairo-script-surface.c:2295,1
    - Dst: _emit_context
      Src: /src/cairo/src/cairo-script-surface.c:2299,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:2296,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:2303,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:2300,1
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:2303,1
    - Dst: cairo_device_release
      Src: /src/cairo/src/cairo-script-surface.c:2306,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2308
      start: 2289
    functionDepth: 0
    functionLinenumber: 2289
    functionLinenumberEnd: 2308
    functionName: _cairo_script_surface_copy_page
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _emit_context
    - cairo_device_acquire
    - _cairo_output_stream_puts
    - cairo_device_release
    - to_context
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t _cairo_script_surface_copy_page (void *abstract_surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cairo/src/cairo-script-surface.c:3905,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:3909,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-script-surface.c:3908,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:3907,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - script
    - comment
    - len
    argTypes:
    - cairo_device_t*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 3910
      start: 3897
    functionDepth: 0
    functionLinenumber: 3897
    functionLinenumberEnd: 3910
    functionName: cairo_script_write_comment
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_write
    - _cairo_output_stream_puts
    - strlen
    linkageType: ''
    returnType: void
    signature: "void cairo_script_write_comment (cairo_device_t *script,\t\t\t const\
      \ char *comment,\t\t\t int len) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: active
      Src: /src/cairo/src/cairo-script-surface.c:2510,1
    - Dst: _emit_context
      Src: /src/cairo/src/cairo-script-surface.c:2518,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:2515,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:2511,1
    - Dst: _cairo_surface_clipper_set_clip
      Src: /src/cairo/src/cairo-script-surface.c:2514,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:2519,1
    - Dst: _emit_source
      Src: /src/cairo/src/cairo-script-surface.c:2522,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:2523,1
    - Dst: _emit_operator
      Src: /src/cairo/src/cairo-script-surface.c:2526,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:2527,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:2530,1
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:2530,1
    - Dst: inactive
      Src: /src/cairo/src/cairo-script-surface.c:2543,1
    - Dst: _cairo_surface_wrapper_is_active
      Src: /src/cairo/src/cairo-script-surface.c:2535,1
    - Dst: inactive
      Src: /src/cairo/src/cairo-script-surface.c:2533,1
    - Dst: _cairo_surface_wrapper_paint
      Src: /src/cairo/src/cairo-script-surface.c:2536,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 4
    argNames:
    - abstract_surface
    - op
    - source
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 2545
      start: 2501
    functionDepth: 0
    functionLinenumber: 2501
    functionLinenumberEnd: 2545
    functionName: _cairo_script_surface_paint
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _emit_context
    - _emit_source
    - _cairo_surface_wrapper_paint
    - _cairo_surface_clipper_set_clip
    - active
    - _emit_operator
    - _cairo_output_stream_puts
    - inactive
    - _cairo_surface_wrapper_is_active
    - to_context
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_script_surface_paint (void\t\t\t\
      *abstract_surface,\t\t\t cairo_operator_t\t\t op,\t\t\t const cairo_pattern_t\t\
      *source,\t\t\t const cairo_clip_t\t\t*clip) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:1034,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:1050,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:1044,1
    - Dst: cairo_mesh_pattern_get_patch_count
      Src: /src/cairo/src/cairo-script-surface.c:1040,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:1041,1
    - Dst: cairo_mesh_pattern_get_path
      Src: /src/cairo/src/cairo-script-surface.c:1052,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:1053,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:1060,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:1065,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:1070,1
    - Dst: cairo_mesh_pattern_get_control_point
      Src: /src/cairo/src/cairo-script-surface.c:1085,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:1088,1
    - Dst: cairo_mesh_pattern_get_corner_color_rgba
      Src: /src/cairo/src/cairo-script-surface.c:1096,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:1105,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:1097,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:1086,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:1100,1
    - Dst: cairo_path_destroy
      Src: /src/cairo/src/cairo-script-surface.c:1080,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 39
    argCount: 2
    argNames:
    - surface
    - pattern
    argTypes:
    - cairo_script_surface_t*
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 1109
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1109
    functionName: _emit_mesh_pattern
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - cairo_mesh_pattern_get_patch_count
    - cairo_mesh_pattern_get_path
    - cairo_path_destroy
    - cairo_mesh_pattern_get_control_point
    - cairo_mesh_pattern_get_corner_color_rgba
    - to_context
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _emit_mesh_pattern (cairo_script_surface_t *surface,\t\
      \t const cairo_pattern_t *pattern) "
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:1430,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-script-surface.c:1445,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-script-surface.c:1502,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:1515,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:1518,1
    - Dst: _cairo_image_surface_coerce
      Src: /src/cairo/src/cairo-script-surface.c:1442,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:1505,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-script-surface.c:1494,1
    - Dst: _cairo_deflate_stream_create
      Src: /src/cairo/src/cairo-script-surface.c:1496,1
    - Dst: _cairo_base85_stream_create
      Src: /src/cairo/src/cairo-script-surface.c:1510,1
    - Dst: _cairo_base85_stream_create
      Src: /src/cairo/src/cairo-script-surface.c:1530,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-script-surface.c:1531,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-script-surface.c:1532,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:1533,1
    - Dst: _cairo_base85_stream_create
      Src: /src/cairo/src/cairo-script-surface.c:1546,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-script-surface.c:1547,1
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:1419,1
    - Dst: _cairo_int_status_is_error
      Src: /src/cairo/src/cairo-script-surface.c:1435,1
    - Dst: _emit_png_surface
      Src: /src/cairo/src/cairo-script-surface.c:1434,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:1448,1
    - Dst: _format_to_string
      Src: /src/cairo/src/cairo-script-surface.c:1455,1
    - Dst: _cairo_base85_stream_create
      Src: /src/cairo/src/cairo-script-surface.c:1491,1
    - Dst: to_be32
      Src: /src/cairo/src/cairo-script-surface.c:1493,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:1508,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-script-surface.c:1520,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:1526,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:1549,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:1542,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:1552,1
    - Dst: _cairo_surface_has_snapshot
      Src: /src/cairo/src/cairo-script-surface.c:1427,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:1489,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-script-surface.c:1499,1
    - Dst: _write_image_surface
      Src: /src/cairo/src/cairo-script-surface.c:1497,1
    - Dst: _write_image_surface
      Src: /src/cairo/src/cairo-script-surface.c:1511,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-script-surface.c:1512,1
    - Dst: cairo_surface_get_mime_data
      Src: /src/cairo/src/cairo-script-surface.c:1523,1
    - Dst: cairo_surface_get_mime_data
      Src: /src/cairo/src/cairo-script-surface.c:1539,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:1536,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-script-surface.c:1548,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 94
    argCount: 2
    argNames:
    - surface
    - image
    argTypes:
    - cairo_script_surface_t*
    - cairo_image_surface_t*
    constantsTouched: []
    func_position:
      end: 1556
      start: 1415
    functionDepth: 0
    functionLinenumber: 1415
    functionLinenumberEnd: 1556
    functionName: _emit_image_surface
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _cairo_deflate_stream_create
    - _cairo_int_status_is_error
    - cairo_surface_reference
    - to_be32
    - _format_to_string
    - cairo_surface_get_mime_data
    - cairo_surface_destroy
    - _emit_png_surface
    - _cairo_output_stream_write
    - _cairo_output_stream_puts
    - _cairo_base85_stream_create
    - _write_image_surface
    - _cairo_surface_has_snapshot
    - _cairo_output_stream_destroy
    - _cairo_image_surface_coerce
    - to_context
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _emit_image_surface (cairo_script_surface_t\
      \ *surface,\t\t cairo_image_surface_t *image) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_device_acquire
      Src: /src/cairo/src/cairo-script-surface.c:2316,1
    - Dst: _emit_context
      Src: /src/cairo/src/cairo-script-surface.c:2320,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:2324,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:2317,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:2321,1
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:2324,1
    - Dst: cairo_device_release
      Src: /src/cairo/src/cairo-script-surface.c:2327,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2329
      start: 2310
    functionDepth: 0
    functionLinenumber: 2310
    functionLinenumberEnd: 2329
    functionName: _cairo_script_surface_show_page
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _emit_context
    - cairo_device_acquire
    - _cairo_output_stream_puts
    - cairo_device_release
    - to_context
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t _cairo_script_surface_show_page (void *abstract_surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_create
      Src: /src/cairo/src/cairo-script-surface.c:3880,1
    - Dst: _cairo_device_create_in_error
      Src: /src/cairo/src/cairo-script-surface.c:3882,1
    - Dst: _cairo_script_context_create
      Src: /src/cairo/src/cairo-script-surface.c:3884,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-script-surface.c:3881,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3885
      start: 3873
    functionDepth: 0
    functionLinenumber: 3873
    functionLinenumberEnd: 3885
    functionName: cairo_script_create_for_stream
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_get_status
    - _cairo_script_context_create
    - _cairo_device_create_in_error
    - _cairo_output_stream_create
    linkageType: ''
    returnType: cairo_device_t*
    signature: "cairo_device_t *cairo_script_create_for_stream (cairo_write_func_t\t\
      \ write_func,\t\t\t\tvoid\t\t\t*closure) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 442
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 442
    functionName: to_context
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_script_context_t*
    signature: 'static inline cairo_script_context_t *to_context (cairo_script_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_move
      Src: /src/cairo/src/cairo-script-surface.c:454,1
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:454,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_script_surface_t*
    constantsTouched: []
    func_position:
      end: 455
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 455
    functionName: target_push
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - to_context
    - cairo_list_move
    linkageType: ''
    returnType: void
    signature: 'static void target_push (cairo_script_surface_t *surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-script-surface.c:782,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-script-surface.c:785,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:793,1
    - Dst: target_is_active
      Src: /src/cairo/src/cairo-script-surface.c:782,1
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:793,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - surface
    - miter_limit
    - force
    argTypes:
    - cairo_script_surface_t*
    - double
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 797
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 797
    functionName: _emit_miter_limit
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - fabs
    - assert
    - target_is_active
    - to_context
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _emit_miter_limit (cairo_script_surface_t *surface,\t\
      \t double miter_limit,\t\t cairo_bool_t force) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_is_first
      Src: /src/cairo/src/cairo-script-surface.c:447,1
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:448,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_script_surface_t*
    constantsTouched: []
    func_position:
      end: 449
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 449
    functionName: target_is_active
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - cairo_list_is_first
    - to_context
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t target_is_active (cairo_script_surface_t *surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_foreach
      Src: /src/cairo/src/cairo-script-surface.c:463,1
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:463,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_script_surface_t*
    constantsTouched: []
    func_position:
      end: 470
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 470
    functionName: target_depth
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - to_context
    - cairo_list_foreach
    linkageType: ''
    returnType: int
    signature: 'static int target_depth (cairo_script_surface_t *surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/cairo/src/cairo-script-surface.c:803,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - num_dashes
    argTypes:
    - double*
    - double*
    - int
    constantsTouched: []
    func_position:
      end: 809
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 809
    functionName: _dashes_equal
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - fabs
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _dashes_equal (const double *a, const double *b,
      int num_dashes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_create_for_filename
      Src: /src/cairo/src/cairo-script-surface.c:3848,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-script-surface.c:3849,1
    - Dst: _cairo_script_context_create
      Src: /src/cairo/src/cairo-script-surface.c:3852,1
    - Dst: _cairo_device_create_in_error
      Src: /src/cairo/src/cairo-script-surface.c:3850,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3853
      start: 3842
    functionDepth: 0
    functionLinenumber: 3842
    functionLinenumberEnd: 3853
    functionName: cairo_script_create
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_get_status
    - _cairo_script_context_create
    - _cairo_device_create_in_error
    - _cairo_output_stream_create_for_filename
    linkageType: ''
    returnType: cairo_device_t*
    signature: 'cairo_device_t *cairo_script_create (const char *filename) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-script-surface.c:223,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - b
    - token
    argTypes:
    - struct _bitmap*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 230
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 230
    functionName: _bitmap_release_id
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'static void _bitmap_release_id (struct _bitmap *b, unsigned long token) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_scaled_glyph_lookup
      Src: /src/cairo/src/cairo-script-surface.c:3230,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:3252,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:3278,1
    - Dst: _cairo_script_font_get
      Src: /src/cairo/src/cairo-script-surface.c:3222,1
    - Dst: _cairo_scaled_glyph_lookup
      Src: /src/cairo/src/cairo-script-surface.c:3241,1
    - Dst: _cairo_status_is_error
      Src: /src/cairo/src/cairo-script-surface.c:3246,1
    - Dst: _emit_scaled_glyph_prologue
      Src: /src/cairo/src/cairo-script-surface.c:3251,1
    - Dst: _emit_scaled_glyph_prologue
      Src: /src/cairo/src/cairo-script-surface.c:3277,1
    - Dst: _cairo_scaled_glyph_lookup
      Src: /src/cairo/src/cairo-script-surface.c:3267,1
    - Dst: _cairo_scaled_font_thaw_cache
      Src: /src/cairo/src/cairo-script-surface.c:3294,1
    - Dst: _cairo_status_is_error
      Src: /src/cairo/src/cairo-script-surface.c:3272,1
    - Dst: _cairo_scaled_font_freeze_cache
      Src: /src/cairo/src/cairo-script-surface.c:3226,1
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:3213,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:3235,1
    - Dst: _emit_scaled_glyph_vector
      Src: /src/cairo/src/cairo-script-surface.c:3258,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:3261,1
    - Dst: _emit_scaled_glyph_bitmap
      Src: /src/cairo/src/cairo-script-surface.c:3284,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:3297,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:3288,1
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:3297,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 45
    argCount: 4
    argNames:
    - surface
    - scaled_font
    - glyphs
    - num_glyphs
    argTypes:
    - cairo_script_surface_t*
    - cairo_scaled_font_t*
    - cairo_glyph_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3301
      start: 3207
    functionDepth: 0
    functionLinenumber: 3207
    functionLinenumberEnd: 3301
    functionName: _emit_scaled_glyphs
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _emit_scaled_glyph_vector
    - _cairo_status_is_error
    - _emit_scaled_glyph_prologue
    - _emit_scaled_glyph_bitmap
    - _cairo_scaled_font_freeze_cache
    - _cairo_scaled_glyph_lookup
    - _cairo_script_font_get
    - _cairo_scaled_font_thaw_cache
    - _cairo_output_stream_puts
    - to_context
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _emit_scaled_glyphs (cairo_script_surface_t\
      \ *surface,\t\t cairo_scaled_font_t *scaled_font,\t\t cairo_glyph_t *glyphs,\t\
      \t unsigned int num_glyphs) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-script-surface.c:245,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:267,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-script-surface.c:266,1
    - Dst: assert
      Src: /src/cairo/src/cairo-script-surface.c:264,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-script-surface.c:268,1
    - Dst: memset
      Src: /src/cairo/src/cairo-script-surface.c:275,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 2
    argNames:
    - b
    - id
    argTypes:
    - struct _bitmap*
    - unsigned long*
    constantsTouched: []
    func_position:
      end: 279
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 279
    functionName: _bitmap_next_id
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - ARRAY_LENGTH
    - assert
    - memset
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _bitmap_next_id (struct _bitmap *b,\t\t unsigned\
      \ long *id) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1119
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1119
    functionName: script_snapshot_finish
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t script_snapshot_finish (void *abstract_surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - value
    - buf
    - size
    argTypes:
    - int
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 3310
      start: 3303
    functionDepth: 0
    functionLinenumber: 3303
    functionLinenumberEnd: 3310
    functionName: to_octal
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void to_octal (int value, char *buf, size_t size) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:1609,1
    - Dst: _cairo_surface_is_snapshot
      Src: /src/cairo/src/cairo-script-surface.c:1618,1
    - Dst: _cairo_surface_has_snapshot
      Src: /src/cairo/src/cairo-script-surface.c:1619,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:1621,1
    - Dst: _cairo_surface_snapshot_is_reused
      Src: /src/cairo/src/cairo-script-surface.c:1627,1
    - Dst: _cairo_surface_snapshot_get_target
      Src: /src/cairo/src/cairo-script-surface.c:1630,1
    - Dst: _emit_recording_surface_pattern
      Src: /src/cairo/src/cairo-script-surface.c:1635,1
    - Dst: _emit_script_surface_pattern
      Src: /src/cairo/src/cairo-script-surface.c:1638,1
    - Dst: _emit_subsurface_pattern
      Src: /src/cairo/src/cairo-script-surface.c:1641,1
    - Dst: _emit_image_surface_pattern
      Src: /src/cairo/src/cairo-script-surface.c:1644,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-script-surface.c:1647,1
    - Dst: attach_snapshot
      Src: /src/cairo/src/cairo-script-surface.c:1652,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:1654,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:1648,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 28
    argCount: 2
    argNames:
    - surface
    - pattern
    argTypes:
    - cairo_script_surface_t*
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 1656
      start: 1605
    functionDepth: 0
    functionLinenumber: 1605
    functionLinenumberEnd: 1656
    functionName: _emit_surface_pattern
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_is_snapshot
    - _cairo_surface_snapshot_is_reused
    - attach_snapshot
    - _emit_recording_surface_pattern
    - unlikely
    - cairo_surface_destroy
    - _emit_subsurface_pattern
    - _emit_image_surface_pattern
    - _cairo_output_stream_puts
    - _cairo_surface_has_snapshot
    - _cairo_surface_snapshot_get_target
    - to_context
    - _cairo_output_stream_printf
    - _emit_script_surface_pattern
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _emit_surface_pattern (cairo_script_surface_t\
      \ *surface,\t\t const cairo_pattern_t *pattern) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_scaled_font_find_private
      Src: /src/cairo/src/cairo-script-surface.c:2906,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2907
      start: 2903
    functionDepth: 0
    functionLinenumber: 2903
    functionLinenumberEnd: 2907
    functionName: _cairo_script_font_get
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _cairo_scaled_font_find_private
    linkageType: ''
    returnType: cairo_script_font_t*
    signature: 'static cairo_script_font_t *_cairo_script_font_get (cairo_script_context_t
      *ctx, cairo_scaled_font_t *font) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_raster_source_pattern_acquire
      Src: /src/cairo/src/cairo-script-surface.c:1665,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:1670,1
    - Dst: _cairo_raster_source_pattern_release
      Src: /src/cairo/src/cairo-script-surface.c:1674,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:1666,1
    - Dst: _emit_image_surface_pattern
      Src: /src/cairo/src/cairo-script-surface.c:1673,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:1675,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:1678,1
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:1678,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - surface
    - pattern
    argTypes:
    - cairo_script_surface_t*
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 1680
      start: 1658
    functionDepth: 0
    functionLinenumber: 1658
    functionLinenumberEnd: 1680
    functionName: _emit_raster_pattern
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _cairo_raster_source_pattern_acquire
    - _cairo_output_stream_puts
    - _emit_image_surface_pattern
    - _cairo_raster_source_pattern_release
    - to_context
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _emit_raster_pattern (cairo_script_surface_t\
      \ *surface,\t\t const cairo_pattern_t *pattern) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_script_font_get
      Src: /src/cairo/src/cairo-script-surface.c:2912,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - font
    argTypes:
    - cairo_script_context_t*
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 2913
      start: 2909
    functionDepth: 0
    functionLinenumber: 2909
    functionLinenumberEnd: 2913
    functionName: _cairo_script_font_id
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _cairo_script_font_get
    linkageType: ''
    returnType: long unsigned
    signature: 'static long unsigned _cairo_script_font_id (cairo_script_context_t
      *ctx, cairo_scaled_font_t *font) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-script-surface.c:668,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:679,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-script-surface.c:671,1
    - Dst: target_is_active
      Src: /src/cairo/src/cairo-script-surface.c:668,1
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:679,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - surface
    - tolerance
    - force
    argTypes:
    - cairo_script_surface_t*
    - double
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 683
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 683
    functionName: _emit_tolerance
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - fabs
    - assert
    - target_is_active
    - to_context
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _emit_tolerance (cairo_script_surface_t *surface,\t\
      \t double tolerance,\t\t cairo_bool_t force) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-script-surface.c:708,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:719,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-script-surface.c:711,1
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:719,1
    - Dst: target_is_active
      Src: /src/cairo/src/cairo-script-surface.c:708,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - surface
    - line_width
    - force
    argTypes:
    - cairo_script_surface_t*
    - double
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 723
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 723
    functionName: _emit_line_width
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - fabs
    - assert
    - target_is_active
    - to_context
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _emit_line_width (cairo_script_surface_t *surface,\t\
      \t double line_width,\t\t cairo_bool_t force) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-script-surface.c:747,1
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:754,1
    - Dst: target_is_active
      Src: /src/cairo/src/cairo-script-surface.c:747,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:754,1
    - Dst: _line_cap_to_string
      Src: /src/cairo/src/cairo-script-surface.c:756,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - surface
    - line_cap
    argTypes:
    - cairo_script_surface_t*
    - cairo_line_cap_t
    constantsTouched: []
    func_position:
      end: 758
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 758
    functionName: _emit_line_cap
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _line_cap_to_string
    - assert
    - target_is_active
    - to_context
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _emit_line_cap (cairo_script_surface_t *surface,\t\
      \tcairo_line_cap_t line_cap) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_close
      Src: /src/cairo/src/cairo-script-surface.c:2145,1
    - Dst: _cairo_device_set_error
      Src: /src/cairo/src/cairo-script-surface.c:2146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - abstract_device
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2148
      start: 2140
    functionDepth: 0
    functionLinenumber: 2140
    functionLinenumberEnd: 2148
    functionName: _device_finish
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _cairo_device_set_error
    - _cairo_output_stream_close
    linkageType: ''
    returnType: void
    signature: 'static void _device_finish (void *abstract_device) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: _emit_context
      Src: /src/cairo/src/cairo-script-surface.c:2718,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:2719,1
    - Dst: _emit_operator
      Src: /src/cairo/src/cairo-script-surface.c:2752,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:2753,1
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:2756,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:2715,1
    - Dst: _cairo_surface_clipper_set_clip
      Src: /src/cairo/src/cairo-script-surface.c:2714,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:2732,1
    - Dst: _emit_path
      Src: /src/cairo/src/cairo-script-surface.c:2748,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:2738,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:2749,1
    - Dst: inactive
      Src: /src/cairo/src/cairo-script-surface.c:2758,1
    - Dst: inactive
      Src: /src/cairo/src/cairo-script-surface.c:2772,1
    - Dst: active
      Src: /src/cairo/src/cairo-script-surface.c:2710,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:2711,1
    - Dst: _emit_tolerance
      Src: /src/cairo/src/cairo-script-surface.c:2737,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:2744,1
    - Dst: _cairo_path_fixed_is_box
      Src: /src/cairo/src/cairo-script-surface.c:2730,1
    - Dst: _emit_fill_rule
      Src: /src/cairo/src/cairo-script-surface.c:2731,1
    - Dst: _cairo_surface_wrapper_fill
      Src: /src/cairo/src/cairo-script-surface.c:2761,1
    - Dst: _emit_identity
      Src: /src/cairo/src/cairo-script-surface.c:2722,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:2723,1
    - Dst: _emit_source
      Src: /src/cairo/src/cairo-script-surface.c:2726,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:2727,1
    - Dst: _emit_antialias
      Src: /src/cairo/src/cairo-script-surface.c:2743,1
    - Dst: _cairo_path_fixed_fill_maybe_region
      Src: /src/cairo/src/cairo-script-surface.c:2742,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:2756,1
    - Dst: _cairo_surface_wrapper_is_active
      Src: /src/cairo/src/cairo-script-surface.c:2760,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 45
    argCount: 8
    argNames:
    - abstract_surface
    - op
    - source
    - path
    - fill_rule
    - tolerance
    - antialias
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 2774
      start: 2695
    functionDepth: 0
    functionLinenumber: 2695
    functionLinenumberEnd: 2774
    functionName: _cairo_script_surface_fill
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_wrapper_fill
    - _emit_context
    - _emit_source
    - _cairo_path_fixed_is_box
    - _emit_fill_rule
    - _emit_tolerance
    - _emit_antialias
    - _emit_path
    - unlikely
    - _cairo_surface_clipper_set_clip
    - _cairo_path_fixed_fill_maybe_region
    - active
    - _emit_operator
    - _cairo_output_stream_puts
    - inactive
    - _cairo_surface_wrapper_is_active
    - to_context
    - _emit_identity
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_script_surface_fill (void\t\t\t*abstract_surface,\t\
      \t\t cairo_operator_t\t\t op,\t\t\t const cairo_pattern_t\t*source,\t\t\t const\
      \ cairo_path_fixed_t\t*path,\t\t\t cairo_fill_rule_t\t\t fill_rule,\t\t\t double\t\
      \t\t tolerance,\t\t\t cairo_antialias_t\t\t antialias,\t\t\t const cairo_clip_t\t\
      \t*clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2791
      start: 2787
    functionDepth: 0
    functionLinenumber: 2787
    functionLinenumberEnd: 2791
    functionName: _cairo_script_surface_has_show_text_glyphs
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_script_surface_has_show_text_glyphs (void
      *abstract_surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - script
    - mode
    argTypes:
    - cairo_device_t*
    - cairo_script_mode_t
    constantsTouched: []
    func_position:
      end: 3928
      start: 3921
    functionDepth: 0
    functionLinenumber: 3921
    functionLinenumberEnd: 3928
    functionName: cairo_script_set_mode
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void cairo_script_set_mode (cairo_device_t *script,\t\t cairo_script_mode_t\
      \ mode) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-script-surface.c:689,1
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:696,1
    - Dst: _antialias_to_string
      Src: /src/cairo/src/cairo-script-surface.c:698,1
    - Dst: target_is_active
      Src: /src/cairo/src/cairo-script-surface.c:689,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:696,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - surface
    - antialias
    argTypes:
    - cairo_script_surface_t*
    - cairo_antialias_t
    constantsTouched: []
    func_position:
      end: 701
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 701
    functionName: _emit_antialias
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _antialias_to_string
    - assert
    - target_is_active
    - to_context
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _emit_antialias (cairo_script_surface_t *surface,\t\
      \t cairo_antialias_t antialias) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-script-surface.c:728,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:737,1
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:737,1
    - Dst: target_is_active
      Src: /src/cairo/src/cairo-script-surface.c:728,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - surface
    - set_hairline
    argTypes:
    - cairo_script_surface_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 741
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 741
    functionName: _emit_hairline
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - target_is_active
    - to_context
    - _cairo_output_stream_printf
    - assert
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _emit_hairline (cairo_script_surface_t *surface,
      cairo_bool_t set_hairline) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-script-surface.c:764,1
    - Dst: _line_join_to_string
      Src: /src/cairo/src/cairo-script-surface.c:773,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:771,1
    - Dst: target_is_active
      Src: /src/cairo/src/cairo-script-surface.c:764,1
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:771,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - surface
    - line_join
    argTypes:
    - cairo_script_surface_t*
    - cairo_line_join_t
    constantsTouched: []
    func_position:
      end: 775
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 775
    functionName: _emit_line_join
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - assert
    - target_is_active
    - _line_join_to_string
    - to_context
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _emit_line_join (cairo_script_surface_t *surface,\t\
      \t cairo_line_join_t line_join) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_is_empty
      Src: /src/cairo/src/cairo-script-surface.c:2156,1
    - Dst: cairo_list_first_entry
      Src: /src/cairo/src/cairo-script-surface.c:2159,1
    - Dst: cairo_list_del
      Src: /src/cairo/src/cairo-script-surface.c:2161,1
    - Dst: cairo_list_del
      Src: /src/cairo/src/cairo-script-surface.c:2160,1
    - Dst: free
      Src: /src/cairo/src/cairo-script-surface.c:2162,1
    - Dst: _bitmap_fini
      Src: /src/cairo/src/cairo-script-surface.c:2165,1
    - Dst: _bitmap_fini
      Src: /src/cairo/src/cairo-script-surface.c:2166,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-script-surface.c:2169,1
    - Dst: free
      Src: /src/cairo/src/cairo-script-surface.c:2171,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - abstract_device
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2172
      start: 2150
    functionDepth: 0
    functionLinenumber: 2150
    functionLinenumberEnd: 2172
    functionName: _device_destroy
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - free
    - cairo_list_first_entry
    - _cairo_output_stream_destroy
    - cairo_list_del
    - cairo_list_is_empty
    - _bitmap_fini
    linkageType: ''
    returnType: void
    signature: 'static void _device_destroy (void *abstract_device) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_wrapper_is_active
      Src: /src/cairo/src/cairo-script-surface.c:2781,1
    - Dst: _cairo_surface_wrapper_snapshot
      Src: /src/cairo/src/cairo-script-surface.c:2782,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2785
      start: 2776
    functionDepth: 0
    functionLinenumber: 2776
    functionLinenumberEnd: 2785
    functionName: _cairo_script_surface_snapshot
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_wrapper_is_active
    - _cairo_surface_wrapper_snapshot
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *_cairo_script_surface_snapshot (void *abstract_surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2804
      start: 2793
    functionDepth: 0
    functionLinenumber: 2793
    functionLinenumberEnd: 2804
    functionName: _subpixel_order_to_string
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *_subpixel_order_to_string (cairo_subpixel_order_t
      subpixel_order) '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 922
      start: 906
    functionDepth: 0
    functionLinenumber: 906
    functionLinenumberEnd: 922
    functionName: _format_to_string
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *_format_to_string (cairo_format_t format) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:3048,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:3057,1
    - Dst: cairo_scaled_font_get_ctm
      Src: /src/cairo/src/cairo-script-surface.c:3055,1
    - Dst: _cairo_script_font_get
      Src: /src/cairo/src/cairo-script-surface.c:3065,1
    - Dst: _emit_scaling_matrix
      Src: /src/cairo/src/cairo-script-surface.c:3056,1
    - Dst: cairo_scaled_font_get_font_matrix
      Src: /src/cairo/src/cairo-script-surface.c:3067,1
    - Dst: _emit_font_matrix
      Src: /src/cairo/src/cairo-script-surface.c:3068,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:3069,1
    - Dst: _cairo_font_options_init_default
      Src: /src/cairo/src/cairo-script-surface.c:3072,1
    - Dst: cairo_scaled_font_get_font_options
      Src: /src/cairo/src/cairo-script-surface.c:3073,1
    - Dst: _emit_scaled_font_init
      Src: /src/cairo/src/cairo-script-surface.c:3078,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:3083,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:3079,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:3087,1
    - Dst: _emit_font_options
      Src: /src/cairo/src/cairo-script-surface.c:3074,1
    - Dst: target_is_active
      Src: /src/cairo/src/cairo-script-surface.c:3082,1
    - Dst: assert
      Src: /src/cairo/src/cairo-script-surface.c:3082,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:3075,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 2
    argNames:
    - surface
    - scaled_font
    argTypes:
    - cairo_script_surface_t*
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 3093
      start: 3044
    functionDepth: 0
    functionLinenumber: 3044
    functionLinenumberEnd: 3093
    functionName: _emit_scaled_font
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - cairo_scaled_font_get_font_options
    - _cairo_output_stream_printf
    - _cairo_script_font_get
    - assert
    - _cairo_font_options_init_default
    - _emit_font_options
    - target_is_active
    - _emit_scaled_font_init
    - _emit_scaling_matrix
    - _emit_font_matrix
    - cairo_scaled_font_get_ctm
    - to_context
    - cairo_scaled_font_get_font_matrix
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _emit_scaled_font (cairo_script_surface_t *surface,\t\
      \t cairo_scaled_font_t *scaled_font) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:3727,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-script-surface.c:3728,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-script-surface.c:3731,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-script-surface.c:3728,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-script-surface.c:3730,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-script-surface.c:3732,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-script-surface.c:3732,1
    - Dst: _cairo_surface_init
      Src: /src/cairo/src/cairo-script-surface.c:3734,1
    - Dst: _cairo_surface_wrapper_init
      Src: /src/cairo/src/cairo-script-surface.c:3740,1
    - Dst: _cairo_surface_clipper_init
      Src: /src/cairo/src/cairo-script-surface.c:3742,1
    - Dst: cairo_surface_set_device_offset
      Src: /src/cairo/src/cairo-script-surface.c:3749,1
    - Dst: _cairo_script_implicit_context_init
      Src: /src/cairo/src/cairo-script-surface.c:3759,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-script-surface.c:3757,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3762
      start: 3719
    functionDepth: 0
    functionLinenumber: 3719
    functionLinenumberEnd: 3762
    functionName: _cairo_script_surface_create_internal
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_wrapper_init
    - _cairo_surface_init
    - cairo_list_init
    - _cairo_error
    - unlikely
    - _cairo_surface_clipper_init
    - cairo_surface_set_device_offset
    - _cairo_surface_create_in_error
    - _cairo_script_implicit_context_init
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_script_surface_t*
    signature: "static cairo_script_surface_t *_cairo_script_surface_create_internal\
      \ (cairo_script_context_t *ctx,\t\t\t\t cairo_content_t content,\t\t\t\t cairo_rectangle_t\
      \ *extents,\t\t\t\t cairo_surface_t *passthrough) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:929,1
    - Dst: CAIRO_COLOR_IS_OPAQUE
      Src: /src/cairo/src/cairo-script-surface.c:931,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:944,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:938,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:957,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:963,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 2
    argNames:
    - surface
    - pattern
    argTypes:
    - cairo_script_surface_t*
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 972
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 972
    functionName: _emit_solid_pattern
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_printf
    - to_context
    - CAIRO_COLOR_IS_OPAQUE
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _emit_solid_pattern (cairo_script_surface_t\
      \ *surface,\t\t const cairo_pattern_t *pattern) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: to_context
      Src: /src/cairo/src/cairo-script-surface.c:3101,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:3123,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-script-surface.c:3110,1
    - Dst: _cairo_script_implicit_context_init
      Src: /src/cairo/src/cairo-script-surface.c:3134,1
    - Dst: _cairo_matrix_is_identity
      Src: /src/cairo/src/cairo-script-surface.c:3122,1
    - Dst: _cairo_recording_surface_replay
      Src: /src/cairo/src/cairo-script-surface.c:3135,1
    - Dst: _cairo_output_stream_puts
      Src: /src/cairo/src/cairo-script-surface.c:3139,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 4
    argNames:
    - surface
    - scaled_font
    - font_private
    - scaled_glyph
    argTypes:
    - cairo_script_surface_t*
    - cairo_scaled_font_t*
    - cairo_script_font_t*
    - cairo_scaled_glyph_t*
    constantsTouched: []
    func_position:
      end: 3142
      start: 3095
    functionDepth: 0
    functionLinenumber: 3095
    functionLinenumberEnd: 3142
    functionName: _emit_scaled_glyph_vector
    functionSourceFile: /src/cairo/src/cairo-script-surface.c
    functionUses: []
    functionsReached:
    - _cairo_matrix_is_identity
    - _cairo_recording_surface_replay
    - _cairo_output_stream_puts
    - _cairo_script_implicit_context_init
    - to_context
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _emit_scaled_glyph_vector (cairo_script_surface_t\
      \ *surface,\t\t\t cairo_scaled_font_t *scaled_font,\t\t\t cairo_script_font_t\
      \ *font_private,\t\t\t cairo_scaled_glyph_t *scaled_glyph) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cell_list_rewind
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:591,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 2
    argNames:
    - cells
    - x
    argTypes:
    - struct cell_list*
    - int
    constantsTouched: []
    func_position:
      end: 592
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 592
    functionName: cell_list_maybe_rewind
    functionSourceFile: /src/cairo/src/cairo-clip-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - cell_list_rewind
    linkageType: ''
    returnType: void
    signature: 'inline static void cell_list_maybe_rewind (struct cell_list *cells,
      int x) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sort_edges
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1132,1
    - Dst: merge_sorted_edges
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1133,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1139
    functionName: sort_edges
    functionSourceFile: /src/cairo/src/cairo-clip-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - merge_sorted_edges
    - sort_edges
    linkageType: ''
    returnType: struct edge*
    signature: "static struct edge *sort_edges (struct edge *list,\t unsigned int\
      \ level,\t struct edge **head_out) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sort_edges
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1221,1
    - Dst: merge_sorted_edges
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1222,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 16
    argCount: 4
    argNames:
    - active
    - ptail
    - y
    - polygon
    argTypes:
    - struct active_list*
    - struct edge**
    - grid_scaled_y_t
    - struct polygon*
    constantsTouched: []
    func_position:
      end: 1225
      start: 1191
    functionDepth: 0
    functionLinenumber: 1191
    functionLinenumberEnd: 1225
    functionName: active_list_merge_edges_from_polygon
    functionSourceFile: /src/cairo/src/cairo-clip-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - merge_sorted_edges
    - sort_edges
    linkageType: ''
    returnType: void
    signature: "inline static void active_list_merge_edges_from_polygon(struct active_list\
      \ *active,\t\t\t\t struct edge **ptail,\t\t\t\t grid_scaled_y_t y,\t\t\t\t struct\
      \ polygon *polygon) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polygon_init
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1455,1
    - Dst: active_list_init
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1456,1
    - Dst: cell_list_init
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1457,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - converter
    - jmp
    argTypes:
    - glitter_scan_converter_t*
    - jmp_buf*
    constantsTouched: []
    func_position:
      end: 1460
      start: 1452
    functionDepth: 0
    functionLinenumber: 1452
    functionLinenumberEnd: 1460
    functionName: _glitter_scan_converter_init
    functionSourceFile: /src/cairo/src/cairo-clip-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - cell_list_init
    - active_list_init
    - polygon_init
    linkageType: ''
    returnType: void
    signature: 'static void _glitter_scan_converter_init(glitter_scan_converter_t
      *converter, jmp_buf *jmp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1604,1
    - Dst: GRID_AREA_TO_ALPHA
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1641,1
    - Dst: GRID_AREA_TO_ALPHA
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1629,1
    - Dst: pool_alloc
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1619,1
    - Dst: pool_reset
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1618,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 5
    argNames:
    - cells
    - renderer
    - span_pool
    - y
    - height
    argTypes:
    - struct cell_list*
    - cairo_span_renderer_t*
    - struct pool*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1652
      start: 1591
    functionDepth: 0
    functionLinenumber: 1591
    functionLinenumberEnd: 1652
    functionName: blit_coverages
    functionSourceFile: /src/cairo/src/cairo-clip-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - pool_reset
    - GRID_AREA_TO_ALPHA
    - pool_alloc
    - assert
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t blit_coverages (struct cell_list *cells,\t\t\
      cairo_span_renderer_t *renderer,\t\tstruct pool *span_pool,\t\tint y, int height) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _glitter_scan_converter_fini
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1763,1
    - Dst: free
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1765,1
    - Dst: pool_fini
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1764,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - converter
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1766
      start: 1756
    functionDepth: 0
    functionLinenumber: 1756
    functionLinenumberEnd: 1766
    functionName: _cairo_clip_tor_scan_converter_destroy
    functionSourceFile: /src/cairo/src/cairo-clip-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - free
    - pool_fini
    - _glitter_scan_converter_fini
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_clip_tor_scan_converter_destroy (void *converter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polygon_fini
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1465,1
    - Dst: cell_list_fini
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1466,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - converter
    argTypes:
    - glitter_scan_converter_t*
    constantsTouched: []
    func_position:
      end: 1469
      start: 1462
    functionDepth: 0
    functionLinenumber: 1462
    functionLinenumberEnd: 1469
    functionName: _glitter_scan_converter_fini
    functionSourceFile: /src/cairo/src/cairo-clip-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - polygon_fini
    - cell_list_fini
    linkageType: ''
    returnType: void
    signature: 'static void _glitter_scan_converter_fini(glitter_scan_converter_t
      *converter) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: active_list_can_step_full_row
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1683,1
    - Dst: active_list_is_vertical
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1693,1
    - Dst: apply_evenodd_fill_rule_and_step_edges
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1691,1
    - Dst: apply_nonzero_fill_rule_and_step_edges
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1689,1
    - Dst: step_edges
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1702,1
    - Dst: active_list_merge_edges_from_polygon
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1712,1
    - Dst: apply_nonzero_fill_rule_for_subrow
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1718,1
    - Dst: apply_evenodd_fill_rule_for_subrow
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1720,1
    - Dst: active_list_substep_edges
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1722,1
    - Dst: blit_coverages
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1726,1
    - Dst: cell_list_reset
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1727,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 58
    argCount: 4
    argNames:
    - converter
    - nonzero_fill
    - span_renderer
    - span_pool
    argTypes:
    - glitter_scan_converter_t*
    - int
    - cairo_span_renderer_t*
    - struct pool*
    constantsTouched: []
    func_position:
      end: 1734
      start: 1654
    functionDepth: 0
    functionLinenumber: 1654
    functionLinenumberEnd: 1734
    functionName: glitter_scan_converter_render
    functionSourceFile: /src/cairo/src/cairo-clip-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - blit_coverages
    - apply_nonzero_fill_rule_for_subrow
    - active_list_merge_edges_from_polygon
    - cell_list_reset
    - active_list_can_step_full_row
    - apply_evenodd_fill_rule_for_subrow
    - apply_nonzero_fill_rule_and_step_edges
    - step_edges
    - active_list_is_vertical
    - apply_evenodd_fill_rule_and_step_edges
    - active_list_substep_edges
    linkageType: ''
    returnType: void
    signature: "static void glitter_scan_converter_render(glitter_scan_converter_t\
      \ *converter,\t\t\t int nonzero_fill,\t\t\t cairo_span_renderer_t *span_renderer,\t\
      \t\t struct pool *span_pool) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1775,1
    - Dst: glitter_scan_converter_render
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1778,1
    - Dst: _cairo_scan_converter_set_error
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1776,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1776,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - converter
    - renderer
    argTypes:
    - void*
    - cairo_span_renderer_t*
    constantsTouched: []
    func_position:
      end: 1783
      start: 1768
    functionDepth: 0
    functionLinenumber: 1768
    functionLinenumberEnd: 1783
    functionName: _cairo_clip_tor_scan_converter_generate
    functionSourceFile: /src/cairo/src/cairo-clip-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - _cairo_scan_converter_set_error
    - _cairo_error
    - glitter_scan_converter_render
    - setjmp
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_clip_tor_scan_converter_generate (void\t\
      \t\t*converter,\t\t\t\t cairo_span_renderer_t\t*renderer) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1796,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1798,1
    - Dst: pool_init
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1805,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1797,1
    - Dst: _glitter_scan_converter_init
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1809,1
    - Dst: glitter_scan_converter_reset
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1810,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1813,1
    - Dst: glitter_scan_converter_add_edge
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1820,1
    - Dst: _cairo_clip_get_polygon
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1824,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1828,1
    - Dst: glitter_scan_converter_add_edge
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1832,1
    - Dst: _cairo_polygon_fini
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1835,1
    - Dst: _cairo_scan_converter_create_in_error
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1842,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1843
      start: 1785
    functionDepth: 0
    functionLinenumber: 1785
    functionLinenumberEnd: 1843
    functionName: _cairo_clip_tor_scan_converter_create
    functionSourceFile: /src/cairo/src/cairo-clip-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - pool_init
    - _cairo_scan_converter_create_in_error
    - _cairo_error
    - _cairo_polygon_fini
    - glitter_scan_converter_reset
    - _cairo_clip_get_polygon
    - _glitter_scan_converter_init
    - glitter_scan_converter_add_edge
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_scan_converter_t*
    signature: "cairo_scan_converter_t *_cairo_clip_tor_scan_converter_create (cairo_clip_t\
      \ *clip,\t\t\t\t cairo_polygon_t *polygon,\t\t\t\t cairo_fill_rule_t fill_rule,\t\
      \t\t\t cairo_antialias_t antialias) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _pool_chunk_init
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:526,1
    - Dst: _pool_chunk_create
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:531,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 537
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 537
    functionName: _pool_alloc_from_new_chunk
    functionSourceFile: /src/cairo/src/cairo-clip-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - _pool_chunk_create
    - _pool_chunk_init
    linkageType: ''
    returnType: void*
    signature: 'static void *_pool_alloc_from_new_chunk( struct pool *pool, size_t
      size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - cells
    argTypes:
    - struct cell_list*
    constantsTouched: []
    func_position:
      end: 583
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 583
    functionName: cell_list_rewind
    functionSourceFile: /src/cairo/src/cairo-clip-tor-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'inline static void cell_list_rewind (struct cell_list *cells) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1040
    functionDepth: 0
    functionLinenumber: 1040
    functionLinenumberEnd: 1079
    functionName: merge_sorted_edges
    functionSourceFile: /src/cairo/src/cairo-clip-tor-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: struct edge*
    signature: 'static struct edge *merge_sorted_edges (struct edge *head_a, struct
      edge *head_b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - x
    - a
    - b
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 448
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 448
    functionName: floored_muldivrem
    functionSourceFile: /src/cairo/src/cairo-clip-tor-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: struct quorem
    signature: 'static struct quorem floored_muldivrem(int x, int a, int b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _pool_alloc_from_new_chunk
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:555,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 557
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 557
    functionName: pool_alloc
    functionSourceFile: /src/cairo/src/cairo-clip-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - _pool_alloc_from_new_chunk
    linkageType: ''
    returnType: void*
    signature: 'inline static void *pool_alloc (struct pool *pool, size_t size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pool_init
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:597,1
    - Dst: cell_list_rewind
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:604,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - cells
    - jmp
    argTypes:
    - struct cell_list*
    - jmp_buf*
    constantsTouched: []
    func_position:
      end: 605
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 605
    functionName: cell_list_init
    functionSourceFile: /src/cairo/src/cairo-clip-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - pool_init
    - cell_list_rewind
    linkageType: ''
    returnType: void
    signature: 'static void cell_list_init(struct cell_list *cells, jmp_buf *jmp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cell_list_rewind
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:618,1
    - Dst: pool_reset
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:620,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - cells
    argTypes:
    - struct cell_list*
    constantsTouched: []
    func_position:
      end: 621
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 621
    functionName: cell_list_reset
    functionSourceFile: /src/cairo/src/cairo-clip-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - pool_reset
    - cell_list_rewind
    linkageType: ''
    returnType: void
    signature: 'inline static void cell_list_reset (struct cell_list *cells) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pool_init
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:882,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - polygon
    - jmp
    argTypes:
    - struct polygon*
    - jmp_buf*
    constantsTouched: []
    func_position:
      end: 885
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 885
    functionName: polygon_init
    functionSourceFile: /src/cairo/src/cairo-clip-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - pool_init
    linkageType: ''
    returnType: void
    signature: 'static void polygon_init (struct polygon *polygon, jmp_buf *jmp) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:958,1
    - Dst: pool_alloc
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:963,1
    - Dst: floored_divrem
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:986,1
    - Dst: floored_muldivrem
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:991,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:960,1
    - Dst: floored_muldivrem
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:996,1
    - Dst: _polygon_insert_edge_into_its_y_bucket
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1003,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 54
    argCount: 3
    argNames:
    - polygon
    - edge
    - clip
    argTypes:
    - struct polygon*
    - cairo_edge_t*
    - int
    constantsTouched: []
    func_position:
      end: 1007
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 1007
    functionName: polygon_add_edge
    functionSourceFile: /src/cairo/src/cairo-clip-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - assert
    - floored_divrem
    - _polygon_insert_edge_into_its_y_bucket
    - pool_alloc
    - floored_muldivrem
    - unlikely
    linkageType: ''
    returnType: void
    signature: "inline static void polygon_add_edge (struct polygon *polygon,\t\t\
      \ const cairo_edge_t *edge,\t\t int clip) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cell_list_render_edge
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1363,1
    - Dst: cell_list_render_edge
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1392,1
    - Dst: cell_list_render_edge
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1393,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 32
    argCount: 2
    argNames:
    - active
    - coverages
    argTypes:
    - struct active_list*
    - struct cell_list*
    constantsTouched: []
    func_position:
      end: 1397
      start: 1342
    functionDepth: 0
    functionLinenumber: 1342
    functionLinenumberEnd: 1397
    functionName: apply_nonzero_fill_rule_and_step_edges
    functionSourceFile: /src/cairo/src/cairo-clip-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - cell_list_render_edge
    linkageType: ''
    returnType: void
    signature: "static void apply_nonzero_fill_rule_and_step_edges (struct active_list\
      \ *active,\t\t\t\t\tstruct cell_list *coverages) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 460
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 460
    functionName: _pool_chunk_init
    functionSourceFile: /src/cairo/src/cairo-clip-tor-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: struct _pool_chunk*
    signature: 'static struct _pool_chunk *_pool_chunk_init( struct _pool_chunk *p,
      struct _pool_chunk *prev_chunk, size_t capacity) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pool_fini
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - cells
    argTypes:
    - struct cell_list*
    constantsTouched: []
    func_position:
      end: 611
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 611
    functionName: cell_list_fini
    functionSourceFile: /src/cairo/src/cairo-clip-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - pool_fini
    linkageType: ''
    returnType: void
    signature: 'static void cell_list_fini(struct cell_list *cells) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pool_alloc
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:630,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 638
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 638
    functionName: cell_list_alloc
    functionSourceFile: /src/cairo/src/cairo-clip-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - pool_alloc
    linkageType: ''
    returnType: struct cell*
    signature: "static struct cell *cell_list_alloc (struct cell_list *cells,\t\t\
      \ struct cell *tail,\t\t int x) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:891,1
    - Dst: pool_fini
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:893,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - struct polygon*
    constantsTouched: []
    func_position:
      end: 894
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 894
    functionName: polygon_fini
    functionSourceFile: /src/cairo/src/cairo-clip-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - free
    - pool_fini
    linkageType: ''
    returnType: void
    signature: 'static void polygon_fini (struct polygon *polygon) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - active
    argTypes:
    - struct active_list*
    constantsTouched: []
    func_position:
      end: 1014
      start: 1009
    functionDepth: 0
    functionLinenumber: 1009
    functionLinenumberEnd: 1014
    functionName: active_list_reset
    functionSourceFile: /src/cairo/src/cairo-clip-tor-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void active_list_reset (struct active_list *active) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cell_list_render_edge
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1419,1
    - Dst: cell_list_render_edge
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1446,1
    - Dst: cell_list_render_edge
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1445,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 29
    argCount: 2
    argNames:
    - active
    - coverages
    argTypes:
    - struct active_list*
    - struct cell_list*
    constantsTouched: []
    func_position:
      end: 1450
      start: 1399
    functionDepth: 0
    functionLinenumber: 1399
    functionLinenumberEnd: 1450
    functionName: apply_evenodd_fill_rule_and_step_edges
    functionSourceFile: /src/cairo/src/cairo-clip-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - cell_list_render_edge
    linkageType: ''
    returnType: void
    signature: "static void apply_evenodd_fill_rule_and_step_edges (struct active_list\
      \ *active,\t\t\t\t\tstruct cell_list *coverages) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: INPUT_TO_GRID_Y
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1544,1
    - Dst: INPUT_TO_GRID_X
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1555,1
    - Dst: INPUT_TO_GRID_Y
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1550,1
    - Dst: INPUT_TO_GRID_Y
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1551,1
    - Dst: INPUT_TO_GRID_Y
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1545,1
    - Dst: INPUT_TO_GRID_X
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1556,1
    - Dst: polygon_add_edge
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1560,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - converter
    - edge
    - clip
    argTypes:
    - glitter_scan_converter_t*
    - cairo_edge_t*
    - int
    constantsTouched: []
    func_position:
      end: 1561
      start: 1537
    functionDepth: 0
    functionLinenumber: 1537
    functionLinenumberEnd: 1561
    functionName: glitter_scan_converter_add_edge
    functionSourceFile: /src/cairo/src/cairo-clip-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - INPUT_TO_GRID_Y
    - INPUT_TO_GRID_X
    - polygon_add_edge
    linkageType: ''
    returnType: void
    signature: "static void glitter_scan_converter_add_edge (glitter_scan_converter_t\
      \ *converter,\t\t\t\t const cairo_edge_t *edge,\t\t\t\t int clip) "
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 1
    argNames:
    - active
    argTypes:
    - struct active_list*
    constantsTouched: []
    func_position:
      end: 1187
      start: 1143
    functionDepth: 0
    functionLinenumber: 1143
    functionLinenumberEnd: 1187
    functionName: active_list_can_step_full_row
    functionSourceFile: /src/cairo/src/cairo-clip-tor-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'inline static int active_list_can_step_full_row (struct active_list
      *active) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: UNROLL3
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1238,1
    - Dst: sort_edges
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1269,1
    - Dst: merge_sorted_edges
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1270,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 27
    argCount: 1
    argNames:
    - active
    argTypes:
    - struct active_list*
    constantsTouched: []
    func_position:
      end: 1272
      start: 1229
    functionDepth: 0
    functionLinenumber: 1229
    functionLinenumberEnd: 1272
    functionName: active_list_substep_edges
    functionSourceFile: /src/cairo/src/cairo-clip-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - UNROLL3
    - merge_sorted_edges
    - sort_edges
    linkageType: ''
    returnType: void
    signature: 'inline static void active_list_substep_edges(struct active_list *active) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UNROLL3
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:678,1
    - Dst: pool_alloc
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:685,1
    - Dst: UNROLL3
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:698,1
    - Dst: pool_alloc
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:705,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    argCount: 3
    argNames:
    - cells
    - x1
    - x2
    argTypes:
    - struct cell_list*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 718
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 718
    functionName: cell_list_find_pair
    functionSourceFile: /src/cairo/src/cairo-clip-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - UNROLL3
    - pool_alloc
    linkageType: ''
    returnType: struct cell_pair
    signature: 'inline static struct cell_pair cell_list_find_pair(struct cell_list
      *cells, int x1, int x2) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GRID_X_TO_INT_FRAC
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:787,1
    - Dst: GRID_X_TO_INT_FRAC
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:788,1
    - Dst: cell_list_find
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:794,1
    - Dst: cell_list_maybe_rewind
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:840,1
    - Dst: floored_divrem
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:820,1
    - Dst: cell_list_find_pair
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:842,1
    - Dst: floored_divrem
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:848,1
    - Dst: cell_list_find
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:867,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 82
    argCount: 3
    argNames:
    - cells
    - edge
    - sign
    argTypes:
    - struct cell_list*
    - struct edge*
    - int
    constantsTouched: []
    func_position:
      end: 875
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 875
    functionName: cell_list_render_edge
    functionSourceFile: /src/cairo/src/cairo-clip-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - cell_list_find_pair
    - cell_list_maybe_rewind
    - floored_divrem
    - GRID_X_TO_INT_FRAC
    - cell_list_find
    linkageType: ''
    returnType: void
    signature: 'static void cell_list_render_edge( struct cell_list *cells, struct
      edge *edge, int sign) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EDGE_Y_BUCKET_INDEX
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:905,1
    - Dst: pool_reset
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:908,1
    - Dst: free
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:914,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:917,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:910,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:918,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:920,1
    - Dst: memset
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:923,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 3
    argNames:
    - polygon
    - ymin
    - ymax
    argTypes:
    - struct polygon*
    - grid_scaled_y_t
    - grid_scaled_y_t
    constantsTouched: []
    func_position:
      end: 933
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 933
    functionName: polygon_reset
    functionSourceFile: /src/cairo/src/cairo-clip-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - free
    - pool_reset
    - ARRAY_LENGTH
    - EDGE_Y_BUCKET_INDEX
    - _cairo_malloc_ab
    - memset
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t polygon_reset (struct polygon *polygon,\t grid_scaled_y_t\
      \ ymin,\t grid_scaled_y_t ymax) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cell_list_rewind
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1283,1
    - Dst: cell_list_add_subspan
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1303,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 19
    argCount: 2
    argNames:
    - active
    - coverages
    argTypes:
    - struct active_list*
    - struct cell_list*
    constantsTouched: []
    func_position:
      end: 1307
      start: 1274
    functionDepth: 0
    functionLinenumber: 1274
    functionLinenumberEnd: 1307
    functionName: apply_nonzero_fill_rule_for_subrow
    functionSourceFile: /src/cairo/src/cairo-clip-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - cell_list_rewind
    - cell_list_add_subspan
    linkageType: ''
    returnType: void
    signature: "inline static void apply_nonzero_fill_rule_for_subrow (struct active_list\
      \ *active,\t\t\t\t struct cell_list *coverages) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EDGE_Y_BUCKET_INDEX
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:940,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 2
    argNames:
    - polygon
    - e
    argTypes:
    - struct polygon*
    - struct edge*
    constantsTouched: []
    func_position:
      end: 944
      start: 935
    functionDepth: 0
    functionLinenumber: 935
    functionLinenumberEnd: 944
    functionName: _polygon_insert_edge_into_its_y_bucket
    functionSourceFile: /src/cairo/src/cairo-clip-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - EDGE_Y_BUCKET_INDEX
    linkageType: ''
    returnType: void
    signature: 'static void _polygon_insert_edge_into_its_y_bucket( struct polygon
      *polygon, struct edge *e) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cell_list_rewind
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1317,1
    - Dst: cell_list_add_subspan
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1336,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 2
    argNames:
    - active
    - coverages
    argTypes:
    - struct active_list*
    - struct cell_list*
    constantsTouched: []
    func_position:
      end: 1340
      start: 1309
    functionDepth: 0
    functionLinenumber: 1309
    functionLinenumberEnd: 1340
    functionName: apply_evenodd_fill_rule_for_subrow
    functionSourceFile: /src/cairo/src/cairo-clip-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - cell_list_rewind
    - cell_list_add_subspan
    linkageType: ''
    returnType: void
    signature: "static void apply_evenodd_fill_rule_for_subrow (struct active_list\
      \ *active,\t\t\t\t struct cell_list *coverages) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - pool
    argTypes:
    - struct pool*
    constantsTouched: []
    func_position:
      end: 575
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 575
    functionName: pool_reset
    functionSourceFile: /src/cairo/src/cairo-clip-tor-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void pool_reset (struct pool *pool) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNROLL3
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:651,1
    - Dst: cell_list_alloc
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:659,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 662
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 662
    functionName: cell_list_find
    functionSourceFile: /src/cairo/src/cairo-clip-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - UNROLL3
    - cell_list_alloc
    linkageType: ''
    returnType: struct cell*
    signature: 'inline static struct cell *cell_list_find (struct cell_list *cells,
      int x) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GRID_X_TO_INT_FRAC
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:729,1
    - Dst: cell_list_find_pair
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:734,1
    - Dst: cell_list_find
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:740,1
    - Dst: GRID_X_TO_INT_FRAC
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:730,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - cells
    - x1
    - x2
    argTypes:
    - struct cell_list*
    - grid_scaled_x_t
    - grid_scaled_x_t
    constantsTouched: []
    func_position:
      end: 743
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 743
    functionName: cell_list_add_subspan
    functionSourceFile: /src/cairo/src/cairo-clip-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - GRID_X_TO_INT_FRAC
    - cell_list_find
    - cell_list_find_pair
    linkageType: ''
    returnType: void
    signature: "inline static void cell_list_add_subspan(struct cell_list *cells,\t\
      \t grid_scaled_x_t x1,\t\t grid_scaled_x_t x2) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:467,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:469,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:468,1
    - Dst: _pool_chunk_init
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:471,1
    - Dst: longjmp
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:469,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 472
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 472
    functionName: _pool_chunk_create
    functionSourceFile: /src/cairo/src/cairo-clip-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - _cairo_malloc
    - _pool_chunk_init
    - _cairo_error
    - longjmp
    - unlikely
    linkageType: ''
    returnType: struct _pool_chunk*
    signature: 'static struct _pool_chunk *_pool_chunk_create(struct pool *pool, size_t
      size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:495,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 1
    argNames:
    - pool
    argTypes:
    - struct pool*
    constantsTouched: []
    func_position:
      end: 501
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 501
    functionName: pool_fini
    functionSourceFile: /src/cairo/src/cairo-clip-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'static void pool_fini(struct pool *pool) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: active_list_reset
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1019,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - active
    argTypes:
    - struct active_list*
    constantsTouched: []
    func_position:
      end: 1020
      start: 1016
    functionDepth: 0
    functionLinenumber: 1016
    functionLinenumberEnd: 1020
    functionName: active_list_init
    functionSourceFile: /src/cairo/src/cairo-clip-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - active_list_reset
    linkageType: ''
    returnType: void
    signature: 'static void active_list_init(struct active_list *active) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - i
    - scale
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1484
      start: 1471
    functionDepth: 0
    functionLinenumber: 1471
    functionLinenumberEnd: 1484
    functionName: int_to_grid_scaled
    functionSourceFile: /src/cairo/src/cairo-clip-tor-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: grid_scaled_t
    signature: 'static grid_scaled_t int_to_grid_scaled(int i, int scale) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 1
    argNames:
    - active
    argTypes:
    - struct active_list*
    constantsTouched: []
    func_position:
      end: 1574
      start: 1563
    functionDepth: 0
    functionLinenumber: 1563
    functionLinenumberEnd: 1574
    functionName: active_list_is_vertical
    functionSourceFile: /src/cairo/src/cairo-clip-tor-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t active_list_is_vertical (struct active_list *active) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _pool_chunk_init
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:484,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - pool
    - jmp
    - default_capacity
    - embedded_capacity
    argTypes:
    - struct pool*
    - jmp_buf*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 485
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 485
    functionName: pool_init
    functionSourceFile: /src/cairo/src/cairo-clip-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - _pool_chunk_init
    linkageType: ''
    returnType: void
    signature: "static void pool_init(struct pool *pool,\t jmp_buf *jmp,\t size_t\
      \ default_capacity,\t size_t embedded_capacity) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: int_to_grid_scaled_y
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1498,1
    - Dst: int_to_grid_scaled_y
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1499,1
    - Dst: cell_list_reset
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1502,1
    - Dst: active_list_reset
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1501,1
    - Dst: polygon_reset
      Src: /src/cairo/src/cairo-clip-tor-scan-converter.c:1503,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - converter
    - ymin
    - ymax
    argTypes:
    - glitter_scan_converter_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1510
      start: 1489
    functionDepth: 0
    functionLinenumber: 1489
    functionLinenumberEnd: 1510
    functionName: glitter_scan_converter_reset
    functionSourceFile: /src/cairo/src/cairo-clip-tor-scan-converter.c
    functionUses: []
    functionsReached:
    - cell_list_reset
    - active_list_reset
    - int_to_grid_scaled_y
    - polygon_reset
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t glitter_scan_converter_reset(glitter_scan_converter_t\
      \ *converter,\t\t\t int ymin, int ymax) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 2
    argNames:
    - active
    - count
    argTypes:
    - struct active_list*
    - int
    constantsTouched: []
    func_position:
      end: 1589
      start: 1576
    functionDepth: 0
    functionLinenumber: 1576
    functionLinenumberEnd: 1589
    functionName: step_edges
    functionSourceFile: /src/cairo/src/cairo-clip-tor-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void step_edges (struct active_list *active, int count) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 432
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 432
    functionName: floored_divrem
    functionSourceFile: /src/cairo/src/cairo-clip-tor-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: struct quorem
    signature: 'inline static struct quorem floored_divrem(int a, int b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_compositor_stroke_impl
      Src: /src/cairo/src/cairo-compositor.c:191,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-compositor.c:201,1
    - Dst: cairo_matrix_init_identity
      Src: /src/cairo/src/cairo-compositor.c:206,1
    - Dst: _cairo_compositor_stroke_impl
      Src: /src/cairo/src/cairo-compositor.c:208,1
    - Dst: _cairo_stroke_style_init_copy
      Src: /src/cairo/src/cairo-compositor.c:200,1
    - Dst: _cairo_stroke_style_fini
      Src: /src/cairo/src/cairo-compositor.c:213,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 11
    argNames:
    - compositor
    - surface
    - op
    - source
    - path
    - style
    - ctm
    - ctm_inverse
    - tolerance
    - antialias
    - clip
    argTypes:
    - cairo_compositor_t*
    - cairo_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 217
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 217
    functionName: _cairo_compositor_stroke
    functionSourceFile: /src/cairo/src/cairo-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_stroke_style_fini
    - _cairo_stroke_style_init_copy
    - cairo_matrix_init_identity
    - _cairo_compositor_stroke_impl
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_compositor_stroke (const cairo_compositor_t\t\
      *compositor,\t\t\t cairo_surface_t\t\t*surface,\t\t\t cairo_operator_t\t\t op,\t\
      \t\t const cairo_pattern_t\t*source,\t\t\t const cairo_path_fixed_t\t*path,\t\
      \t\t const cairo_stroke_style_t\t*style,\t\t\t const cairo_matrix_t\t\t*ctm,\t\
      \t\t const cairo_matrix_t\t\t*ctm_inverse,\t\t\t double\t\t\t tolerance,\t\t\
      \t cairo_antialias_t\t\t antialias,\t\t\t const cairo_clip_t\t\t*clip) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-compositor.c:94,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-compositor.c:98,1
    - Dst: TRACE
      Src: /src/cairo/src/cairo-compositor.c:111,1
    - Dst: _cairo_composite_rectangles_init_for_mask
      Src: /src/cairo/src/cairo-compositor.c:95,1
    - Dst: _cairo_damage_add_rectangle
      Src: /src/cairo/src/cairo-compositor.c:115,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-compositor.c:119,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 6
    argNames:
    - compositor
    - surface
    - op
    - source
    - mask
    - clip
    argTypes:
    - cairo_compositor_t*
    - cairo_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 122
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 122
    functionName: _cairo_compositor_mask
    functionSourceFile: /src/cairo/src/cairo-compositor.c
    functionUses: []
    functionsReached:
    - TRACE
    - _cairo_damage_add_rectangle
    - _cairo_composite_rectangles_init_for_mask
    - _cairo_composite_rectangles_fini
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_compositor_mask (const cairo_compositor_t\t\
      *compositor,\t\t\tcairo_surface_t\t\t\t*surface,\t\t\tcairo_operator_t\t\t op,\t\
      \t\tconst cairo_pattern_t\t\t*source,\t\t\tconst cairo_pattern_t\t\t*mask,\t\
      \t\tconst cairo_clip_t\t\t*clip) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-compositor.c:53,1
    - Dst: _cairo_composite_rectangles_init_for_paint
      Src: /src/cairo/src/cairo-compositor.c:54,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-compositor.c:57,1
    - Dst: TRACE
      Src: /src/cairo/src/cairo-compositor.c:70,1
    - Dst: _cairo_damage_add_rectangle
      Src: /src/cairo/src/cairo-compositor.c:74,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-compositor.c:78,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 5
    argNames:
    - compositor
    - surface
    - op
    - source
    - clip
    argTypes:
    - cairo_compositor_t*
    - cairo_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 81
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 81
    functionName: _cairo_compositor_paint
    functionSourceFile: /src/cairo/src/cairo-compositor.c
    functionUses: []
    functionsReached:
    - TRACE
    - _cairo_damage_add_rectangle
    - _cairo_composite_rectangles_fini
    - _cairo_composite_rectangles_init_for_paint
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_compositor_paint (const cairo_compositor_t\t\
      *compositor,\t\t\t cairo_surface_t\t\t*surface,\t\t\t cairo_operator_t\t\t op,\t\
      \t\t const cairo_pattern_t\t\t*source,\t\t\t const cairo_clip_t\t\t*clip) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-compositor.c:140,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-compositor.c:149,1
    - Dst: _cairo_pen_vertices_needed
      Src: /src/cairo/src/cairo-compositor.c:142,1
    - Dst: _cairo_composite_rectangles_init_for_stroke
      Src: /src/cairo/src/cairo-compositor.c:145,1
    - Dst: TRACE
      Src: /src/cairo/src/cairo-compositor.c:164,1
    - Dst: _cairo_damage_add_rectangle
      Src: /src/cairo/src/cairo-compositor.c:168,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-compositor.c:172,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 22
    argCount: 11
    argNames:
    - compositor
    - surface
    - op
    - source
    - path
    - style
    - ctm
    - ctm_inverse
    - tolerance
    - antialias
    - clip
    argTypes:
    - cairo_compositor_t*
    - cairo_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 175
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 175
    functionName: _cairo_compositor_stroke_impl
    functionSourceFile: /src/cairo/src/cairo-compositor.c
    functionUses: []
    functionsReached:
    - TRACE
    - _cairo_pen_vertices_needed
    - _cairo_damage_add_rectangle
    - _cairo_composite_rectangles_init_for_stroke
    - _cairo_composite_rectangles_fini
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_compositor_stroke_impl (const cairo_compositor_t\t\
      *compositor,\t\t\t cairo_surface_t\t\t*surface,\t\t\t cairo_operator_t\t\t op,\t\
      \t\t const cairo_pattern_t\t\t*source,\t\t\t const cairo_path_fixed_t\t*path,\t\
      \t\t const cairo_stroke_style_t\t*style,\t\t\t const cairo_matrix_t\t\t*ctm,\t\
      \t\t const cairo_matrix_t\t\t*ctm_inverse,\t\t\t double\t\t\t tolerance,\t\t\
      \t cairo_antialias_t\t\t antialias,\t\t\t const cairo_clip_t\t\t*clip) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-compositor.c:233,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-compositor.c:237,1
    - Dst: _cairo_composite_rectangles_init_for_fill
      Src: /src/cairo/src/cairo-compositor.c:234,1
    - Dst: TRACE
      Src: /src/cairo/src/cairo-compositor.c:251,1
    - Dst: _cairo_damage_add_rectangle
      Src: /src/cairo/src/cairo-compositor.c:255,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-compositor.c:259,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 9
    argNames:
    - compositor
    - surface
    - op
    - source
    - path
    - fill_rule
    - tolerance
    - antialias
    - clip
    argTypes:
    - cairo_compositor_t*
    - cairo_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 262
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 262
    functionName: _cairo_compositor_fill
    functionSourceFile: /src/cairo/src/cairo-compositor.c
    functionUses: []
    functionsReached:
    - TRACE
    - _cairo_damage_add_rectangle
    - _cairo_composite_rectangles_fini
    - _cairo_composite_rectangles_init_for_fill
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_compositor_fill (const cairo_compositor_t\t\
      *compositor,\t\t\tcairo_surface_t\t\t\t*surface,\t\t\tcairo_operator_t\t\t op,\t\
      \t\tconst cairo_pattern_t\t\t*source,\t\t\tconst cairo_path_fixed_t\t*path,\t\
      \t\tcairo_fill_rule_t\t\t fill_rule,\t\t\tdouble\t\t\t\t tolerance,\t\t\tcairo_antialias_t\t\
      \t antialias,\t\t\tconst cairo_clip_t\t\t*clip) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-compositor.c:278,1
    - Dst: TRACE
      Src: /src/cairo/src/cairo-compositor.c:298,1
    - Dst: _cairo_composite_rectangles_init_for_glyphs
      Src: /src/cairo/src/cairo-compositor.c:279,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-compositor.c:284,1
    - Dst: _cairo_damage_add_rectangle
      Src: /src/cairo/src/cairo-compositor.c:302,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-compositor.c:306,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 8
    argNames:
    - compositor
    - surface
    - op
    - source
    - glyphs
    - num_glyphs
    - scaled_font
    - clip
    argTypes:
    - cairo_compositor_t*
    - cairo_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_glyph_t*
    - int
    - cairo_scaled_font_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 309
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 309
    functionName: _cairo_compositor_glyphs
    functionSourceFile: /src/cairo/src/cairo-compositor.c
    functionUses: []
    functionsReached:
    - TRACE
    - _cairo_damage_add_rectangle
    - _cairo_composite_rectangles_init_for_glyphs
    - _cairo_composite_rectangles_fini
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_compositor_glyphs (const cairo_compositor_t\t\
      \t*compositor,\t\t\t cairo_surface_t\t\t\t*surface,\t\t\t cairo_operator_t\t\
      \t\t op,\t\t\t const cairo_pattern_t\t\t\t*source,\t\t\t cairo_glyph_t\t\t\t\
      \t*glyphs,\t\t\t int\t\t\t\t\t num_glyphs,\t\t\t cairo_scaled_font_t\t\t\t*scaled_font,\t\
      \t\t const cairo_clip_t\t\t\t*clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - p0
    - p1
    argTypes:
    - cairo_point_double_t
    - cairo_point_double_t
    constantsTouched: []
    func_position:
      end: 168
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 168
    functionName: sqlen
    functionSourceFile: /src/cairo/src/cairo-mesh-pattern-rasterizer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: 'static inline double sqlen (cairo_point_double_t p0, cairo_point_double_t
      p1) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - f
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 272
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 272
    functionName: fd_fwd
    functionSourceFile: /src/cairo/src/cairo-mesh-pattern-rasterizer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void fd_fwd (double f[4]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_16_16_from_double
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:286,1
    - Dst: _cairo_fixed_16_16_from_double
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:288,1
    - Dst: _cairo_fixed_16_16_from_double
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:289,1
    - Dst: _cairo_fixed_16_16_from_double
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - d
    - i
    argTypes:
    - double
    - int32_t
    constantsTouched: []
    func_position:
      end: 290
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 290
    functionName: fd_fixed
    functionSourceFile: /src/cairo/src/cairo-mesh-pattern-rasterizer.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_16_16_from_double
    linkageType: ''
    returnType: void
    signature: 'static inline void fd_fixed (double d[4], int32_t i[4]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 12
    argNames:
    - x
    - y
    - z
    - w
    - x0
    - y0
    - z0
    - w0
    - x1
    - y1
    - z1
    - w1
    argTypes:
    - double
    - double
    - double
    - double
    - double*
    - double*
    - double*
    - double*
    - double*
    - double*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 377
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 377
    functionName: split_bezier_1D
    functionSourceFile: /src/cairo/src/cairo-mesh-pattern-rasterizer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static inline void split_bezier_1D (double x, double y, double z,\
      \ double w,\t\t double *x0, double *y0, double *z0, double *w0,\t\t double *x1,\
      \ double *y1, double *z1, double *w1) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: split_bezier_1D
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:395,1
    - Dst: split_bezier_1D
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:399,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - p
    - fst_half
    - snd_half
    argTypes:
    - cairo_point_double_t
    - cairo_point_double_t
    - cairo_point_double_t
    constantsTouched: []
    func_position:
      end: 402
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 402
    functionName: split_bezier
    functionSourceFile: /src/cairo/src/cairo-mesh-pattern-rasterizer.c
    functionUses: []
    functionsReached:
    - split_bezier_1D
    linkageType: ''
    returnType: void
    signature: "static void split_bezier (cairo_point_double_t p[4],\t cairo_point_double_t\
      \ fst_half[4],\t cairo_point_double_t snd_half[4]) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:459,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 41
    argCount: 10
    argNames:
    - data
    - width
    - height
    - stride
    - x
    - y
    - r
    - g
    - b
    - a
    argTypes:
    - unsigned char*
    - int
    - int
    - int
    - int
    - int
    - uint16_t
    - uint16_t
    - uint16_t
    - uint16_t
    constantsTouched: []
    func_position:
      end: 475
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 475
    functionName: draw_pixel
    functionSourceFile: /src/cairo/src/cairo-mesh-pattern-rasterizer.c
    functionUses: []
    functionsReached:
    - likely
    linkageType: ''
    returnType: void
    signature: "static inline void draw_pixel (unsigned char *data, int width, int\
      \ height, int stride,\t int x, int y, uint16_t r, uint16_t g, uint16_t b, uint16_t\
      \ a) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _color_delta_to_shifted_short
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:510,1
    - Dst: _color_delta_to_shifted_short
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:512,1
    - Dst: _color_delta_to_shifted_short
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:511,1
    - Dst: _color_delta_to_shifted_short
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:513,1
    - Dst: fd_fixed
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:515,1
    - Dst: fd_fixed
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:516,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:524,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:525,1
    - Dst: _cairo_fixed_integer_floor
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:536,1
    - Dst: _cairo_fixed_integer_floor
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:537,1
    - Dst: fd_fixed_fwd
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:541,1
    - Dst: draw_pixel
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:539,1
    - Dst: fd_fixed_fwd
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:542,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 15
    argNames:
    - data
    - width
    - height
    - stride
    - ushift
    - dxu
    - dyu
    - r0
    - g0
    - b0
    - a0
    - r3
    - g3
    - b3
    - a3
    argTypes:
    - unsigned char*
    - int
    - int
    - int
    - int
    - double
    - double
    - uint16_t
    - uint16_t
    - uint16_t
    - uint16_t
    - uint16_t
    - uint16_t
    - uint16_t
    - uint16_t
    constantsTouched: []
    func_position:
      end: 548
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 548
    functionName: rasterize_bezier_curve
    functionSourceFile: /src/cairo/src/cairo-mesh-pattern-rasterizer.c
    functionUses: []
    functionsReached:
    - fd_fixed_fwd
    - draw_pixel
    - fd_fixed
    - _cairo_fixed_from_double
    - _color_delta_to_shifted_short
    - _cairo_fixed_integer_floor
    linkageType: ''
    returnType: void
    signature: "static inline void rasterize_bezier_curve (unsigned char *data, int\
      \ width, int height, int stride,\t\t\tint ushift, double dxu[4], double dyu[4],\t\
      \t\tuint16_t r0, uint16_t g0, uint16_t b0, uint16_t a0,\t\t\tuint16_t r3, uint16_t\
      \ g3, uint16_t b3, uint16_t a3) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:800,1
    - Dst: intersect_interval
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:805,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:813,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:801,1
    - Dst: MIN
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:812,1
    - Dst: intersect_interval
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:817,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:823,1
    - Dst: bezier_steps_sq
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:823,1
    - Dst: split_bezier
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:838,1
    - Dst: draw_bezier_patch
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:847,1
    - Dst: rasterize_bezier_patch
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:857,1
    - Dst: draw_bezier_patch
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:855,1
    - Dst: sqsteps2shift
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:857,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 68
    argCount: 6
    argNames:
    - data
    - width
    - height
    - stride
    - p
    - c
    argTypes:
    - unsigned char*
    - int
    - int
    - int
    - cairo_point_double_t
    - double
    constantsTouched: []
    func_position:
      end: 859
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 859
    functionName: draw_bezier_patch
    functionSourceFile: /src/cairo/src/cairo-mesh-pattern-rasterizer.c
    functionUses: []
    functionsReached:
    - sqsteps2shift
    - bezier_steps_sq
    - rasterize_bezier_patch
    - MIN
    - MAX
    - split_bezier
    - draw_bezier_patch
    - intersect_interval
    linkageType: ''
    returnType: void
    signature: "static void draw_bezier_patch (unsigned char *data, int width, int\
      \ height, int stride,\t\t cairo_point_double_t p[4][4], double c[4][4]) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 5
    argNames:
    - x
    - y
    - z
    - w
    - f
    argTypes:
    - double
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 234
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 234
    functionName: fd_init
    functionSourceFile: /src/cairo/src/cairo-mesh-pattern-rasterizer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void fd_init (double x, double y, double z, double w,
      double f[4]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - from
    - to
    - shift
    argTypes:
    - int32_t
    - int32_t
    - int
    constantsTouched: []
    func_position:
      end: 181
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 181
    functionName: _color_delta_to_shifted_short
    functionSourceFile: /src/cairo/src/cairo-mesh-pattern-rasterizer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int16_t
    signature: 'static inline int16_t _color_delta_to_shifted_short (int32_t from,
      int32_t to, int shift) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - f
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 257
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 257
    functionName: fd_down
    functionSourceFile: /src/cairo/src/cairo-mesh-pattern-rasterizer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void fd_down (double f[4]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: frexp
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:194,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - steps_sq
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 196
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 196
    functionName: sqsteps2shift
    functionSourceFile: /src/cairo/src/cairo-mesh-pattern-rasterizer.c
    functionUses: []
    functionsReached:
    - frexp
    - MAX
    linkageType: ''
    returnType: int
    signature: 'static inline int sqsteps2shift (double steps_sq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - f
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 307
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 307
    functionName: fd_fixed_fwd
    functionSourceFile: /src/cairo/src/cairo-mesh-pattern-rasterizer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void fd_fixed_fwd (int32_t f[4]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqlen
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:342,1
    - Dst: sqlen
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:343,1
    - Dst: sqlen
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:344,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:344,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:343,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:345,1
    - Dst: sqlen
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - p
    argTypes:
    - cairo_point_double_t
    constantsTouched: []
    func_position:
      end: 347
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 347
    functionName: bezier_steps_sq
    functionSourceFile: /src/cairo/src/cairo-mesh-pattern-rasterizer.c
    functionUses: []
    functionsReached:
    - MAX
    - sqlen
    linkageType: ''
    returnType: double
    signature: 'static inline double bezier_steps_sq (cairo_point_double_t p[4]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - a
    - b
    - c
    - d
    argTypes:
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 435
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 435
    functionName: intersect_interval
    functionSourceFile: /src/cairo/src/cairo-mesh-pattern-rasterizer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int intersect_interval (double a, double b, double c,
      double d) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:583,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:584,1
    - Dst: intersect_interval
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:598,1
    - Dst: split_bezier
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:612,1
    - Dst: fd_init
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:623,1
    - Dst: fd_down
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:627,1
    - Dst: draw_pixel
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:644,1
    - Dst: _cairo_fixed_integer_floor
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:645,1
    - Dst: _cairo_fixed_integer_floor
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:646,1
    - Dst: _cairo_color_double_to_short
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:647,1
    - Dst: _cairo_color_double_to_short
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:650,1
    - Dst: MIN
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:594,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:595,1
    - Dst: rasterize_bezier_curve
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:631,1
    - Dst: _cairo_color_double_to_short
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:634,1
    - Dst: _cairo_color_double_to_short
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:635,1
    - Dst: _cairo_color_double_to_short
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:633,1
    - Dst: _cairo_color_double_to_short
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:636,1
    - Dst: _cairo_color_double_to_short
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:637,1
    - Dst: _cairo_color_double_to_short
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:638,1
    - Dst: _cairo_color_double_to_short
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:639,1
    - Dst: draw_bezier_curve
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:617,1
    - Dst: draw_bezier_curve
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:618,1
    - Dst: fd_init
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:624,1
    - Dst: sqsteps2shift
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:621,1
    - Dst: fd_down
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:628,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:645,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:646,1
    - Dst: _cairo_color_double_to_short
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:648,1
    - Dst: _cairo_color_double_to_short
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:640,1
    - Dst: intersect_interval
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:588,1
    - Dst: bezier_steps_sq
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:602,1
    - Dst: _cairo_color_double_to_short
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:649,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 74
    argCount: 7
    argNames:
    - data
    - width
    - height
    - stride
    - p
    - c0
    - c3
    argTypes:
    - unsigned char*
    - int
    - int
    - int
    - cairo_point_double_t
    - double
    - double
    constantsTouched: []
    func_position:
      end: 652
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 652
    functionName: draw_bezier_curve
    functionSourceFile: /src/cairo/src/cairo-mesh-pattern-rasterizer.c
    functionUses: []
    functionsReached:
    - draw_bezier_curve
    - fd_down
    - sqsteps2shift
    - bezier_steps_sq
    - _cairo_color_double_to_short
    - draw_pixel
    - MIN
    - MAX
    - fd_init
    - _cairo_fixed_from_double
    - split_bezier
    - rasterize_bezier_curve
    - intersect_interval
    - _cairo_fixed_integer_floor
    linkageType: ''
    returnType: void
    signature: "static void draw_bezier_curve (unsigned char *data, int width, int\
      \ height, int stride,\t\t cairo_point_double_t p[4], double c0[4], double c3[4]) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fd_init
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:715,1
    - Dst: fd_down
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:719,1
    - Dst: fd_down
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:718,1
    - Dst: fd_init
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:716,1
    - Dst: draw_bezier_curve
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:738,1
    - Dst: fd_fwd
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:741,1
    - Dst: fd_fwd
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:742,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 7
    argNames:
    - data
    - width
    - height
    - stride
    - vshift
    - p
    - col
    argTypes:
    - unsigned char*
    - int
    - int
    - int
    - int
    - cairo_point_double_t
    - double
    constantsTouched: []
    func_position:
      end: 747
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 747
    functionName: rasterize_bezier_patch
    functionSourceFile: /src/cairo/src/cairo-mesh-pattern-rasterizer.c
    functionUses: []
    functionsReached:
    - fd_fwd
    - fd_down
    - fd_init
    - draw_bezier_curve
    linkageType: ''
    returnType: void
    signature: "static inline void rasterize_bezier_patch (unsigned char *data, int\
      \ width, int height, int stride, int vshift,\t\t\tcairo_point_double_t p[4][4],\
      \ double col[4][4]) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:894,1
    - Dst: assert
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:895,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:898,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:901,1
    - Dst: assert
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:899,1
    - Dst: _cairo_array_index_const
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:902,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:907,1
    - Dst: draw_bezier_patch
      Src: /src/cairo/src/cairo-mesh-pattern-rasterizer.c:937,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 48
    argCount: 7
    argNames:
    - mesh
    - data
    - width
    - height
    - stride
    - x_offset
    - y_offset
    argTypes:
    - cairo_mesh_pattern_t*
    - void*
    - int
    - int
    - int
    - double
    - double
    constantsTouched: []
    func_position:
      end: 940
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 940
    functionName: _cairo_mesh_pattern_rasterize
    functionSourceFile: /src/cairo/src/cairo-mesh-pattern-rasterizer.c
    functionUses: []
    functionsReached:
    - _cairo_array_index_const
    - _cairo_array_num_elements
    - assert
    - cairo_matrix_transform_point
    - cairo_matrix_invert
    - draw_bezier_patch
    linkageType: ''
    returnType: void
    signature: "void _cairo_mesh_pattern_rasterize (const cairo_mesh_pattern_t *mesh,\t\
      \t\t void *data,\t\t\t int width,\t\t\t int height,\t\t\t int stride,\t\t\t\
      \ double x_offset,\t\t\t double y_offset) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cairo/src/cairo-freelist.c:30,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - freelist
    - nodesize
    argTypes:
    - cairo_freelist_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: _cairo_freelist_init
    functionSourceFile: /src/cairo/src/cairo-freelist.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void _cairo_freelist_init (cairo_freelist_t *freelist, unsigned nodesize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VG
      Src: /src/cairo/src/cairo-freelist.c:56,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/cairo/src/cairo-freelist.c:58,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/cairo/src/cairo-freelist.c:56,1
    - Dst: VG
      Src: /src/cairo/src/cairo-freelist.c:58,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-freelist.c:63,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 64
    functionName: _cairo_freelist_alloc
    functionSourceFile: /src/cairo/src/cairo-freelist.c
    functionUses: []
    functionsReached:
    - _cairo_malloc
    - VALGRIND_MAKE_MEM_UNDEFINED
    - VG
    - VALGRIND_MAKE_MEM_DEFINED
    linkageType: ''
    returnType: void*
    signature: 'void *_cairo_freelist_alloc (cairo_freelist_t *freelist) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VG
      Src: /src/cairo/src/cairo-freelist.c:82,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/cairo/src/cairo-freelist.c:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - freelist
    - voidnode
    argTypes:
    - cairo_freelist_t*
    - void*
    constantsTouched: []
    func_position:
      end: 84
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 84
    functionName: _cairo_freelist_free
    functionSourceFile: /src/cairo/src/cairo-freelist.c
    functionUses: []
    functionsReached:
    - VALGRIND_MAKE_MEM_UNDEFINED
    - VG
    linkageType: ''
    returnType: void
    signature: 'void _cairo_freelist_free (cairo_freelist_t *freelist, void *voidnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-freelist.c:110,1
    - Dst: free
      Src: /src/cairo/src/cairo-freelist.c:117,1
    - Dst: VG
      Src: /src/cairo/src/cairo-freelist.c:121,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/cairo/src/cairo-freelist.c:121,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - freepool
    argTypes:
    - cairo_freepool_t*
    constantsTouched: []
    func_position:
      end: 122
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 122
    functionName: _cairo_freepool_fini
    functionSourceFile: /src/cairo/src/cairo-freelist.c
    functionUses: []
    functionsReached:
    - free
    - VALGRIND_MAKE_MEM_UNDEFINED
    - VG
    linkageType: ''
    returnType: void
    signature: 'void _cairo_freepool_fini (cairo_freepool_t *freepool) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VG
      Src: /src/cairo/src/cairo-freelist.c:41,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/cairo/src/cairo-freelist.c:41,1
    - Dst: free
      Src: /src/cairo/src/cairo-freelist.c:44,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - freelist
    argTypes:
    - cairo_freelist_t*
    constantsTouched: []
    func_position:
      end: 47
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 47
    functionName: _cairo_freelist_fini
    functionSourceFile: /src/cairo/src/cairo-freelist.c
    functionUses: []
    functionsReached:
    - free
    - VG
    - VALGRIND_MAKE_MEM_DEFINED
    linkageType: ''
    returnType: void
    signature: 'void _cairo_freelist_fini (cairo_freelist_t *freelist) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_freelist_alloc
      Src: /src/cairo/src/cairo-freelist.c:69,1
    - Dst: memset
      Src: /src/cairo/src/cairo-freelist.c:71,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: _cairo_freelist_calloc
    functionSourceFile: /src/cairo/src/cairo-freelist.c
    functionUses: []
    functionsReached:
    - _cairo_freelist_alloc
    - memset
    linkageType: ''
    returnType: void*
    signature: 'void *_cairo_freelist_calloc (cairo_freelist_t *freelist) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VG
      Src: /src/cairo/src/cairo-freelist.c:99,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/cairo/src/cairo-freelist.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - freepool
    - nodesize
    argTypes:
    - cairo_freepool_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 100
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 100
    functionName: _cairo_freepool_init
    functionSourceFile: /src/cairo/src/cairo-freelist.c
    functionUses: []
    functionsReached:
    - VALGRIND_MAKE_MEM_UNDEFINED
    - VG
    linkageType: ''
    returnType: void
    signature: 'void _cairo_freepool_init (cairo_freepool_t *freepool, unsigned nodesize) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-freelist.c:141,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/cairo/src/cairo-freelist.c:154,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-freelist.c:142,1
    - Dst: VG
      Src: /src/cairo/src/cairo-freelist.c:154,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 157
    functionName: _cairo_freepool_alloc_from_new_pool
    functionSourceFile: /src/cairo/src/cairo-freelist.c
    functionUses: []
    functionsReached:
    - _cairo_malloc
    - VALGRIND_MAKE_MEM_UNDEFINED
    - VG
    - unlikely
    linkageType: ''
    returnType: void*
    signature: 'void *_cairo_freepool_alloc_from_new_pool (cairo_freepool_t *freepool) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/cairo/src/cairo-freelist.c:170,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/cairo/src/cairo-freelist.c:171,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/cairo/src/cairo-freelist.c:173,1
    - Dst: VG
      Src: /src/cairo/src/cairo-freelist.c:171,1
    - Dst: VG
      Src: /src/cairo/src/cairo-freelist.c:173,1
    - Dst: _cairo_freepool_alloc_from_pool
      Src: /src/cairo/src/cairo-freelist.c:175,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-freelist.c:176,1
    - Dst: _cairo_freepool_free
      Src: /src/cairo/src/cairo-freelist.c:187,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-freelist.c:189,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - freepool
    - count
    - array
    argTypes:
    - cairo_freepool_t*
    - int
    - void**
    constantsTouched: []
    func_position:
      end: 190
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 190
    functionName: _cairo_freepool_alloc_array
    functionSourceFile: /src/cairo/src/cairo-freelist.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_freepool_free
    - VG
    - VALGRIND_MAKE_MEM_DEFINED
    - VALGRIND_MAKE_MEM_UNDEFINED
    - _cairo_freepool_alloc_from_pool
    - likely
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_freepool_alloc_array (cairo_freepool_t *freepool,\t\
      \t\t int count,\t\t\t void **array) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface-core.c:62,1
    - Dst: _cairo_xcb_connection_acquire
      Src: /src/cairo/src/cairo-xcb-surface-core.c:64,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-core.c:65,1
    - Dst: xcb_free_pixmap
      Src: /src/cairo/src/cairo-xcb-surface-core.c:68,1
    - Dst: _cairo_xcb_connection_release
      Src: /src/cairo/src/cairo-xcb-surface-core.c:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 74
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 74
    functionName: _cairo_xcb_pixmap_finish
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-core.c
    functionUses: []
    functionsReached:
    - xcb_free_pixmap
    - _cairo_xcb_connection_acquire
    - cairo_surface_destroy
    - _cairo_xcb_connection_release
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_xcb_pixmap_finish (void *abstract_surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-xcb-surface-core.c:87,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xcb-surface-core.c:90,1
    - Dst: _cairo_surface_init
      Src: /src/cairo/src/cairo-xcb-surface-core.c:92,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xcb-surface-core.c:90,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-core.c:88,1
    - Dst: _cairo_xcb_connection_create_pixmap
      Src: /src/cairo/src/cairo-xcb-surface-core.c:108,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 114
    functionName: _cairo_xcb_pixmap_create
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-core.c
    functionUses: []
    functionsReached:
    - _cairo_surface_init
    - _cairo_error
    - _cairo_surface_create_in_error
    - _cairo_xcb_connection_create_pixmap
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_xcb_pixmap_t*
    signature: "static cairo_xcb_pixmap_t *_cairo_xcb_pixmap_create (cairo_xcb_surface_t\
      \ *target,\t\t\t int width, int height) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xcb_pixmap_create
      Src: /src/cairo/src/cairo-xcb-surface-core.c:254,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-core.c:257,1
    - Dst: _cairo_xcb_screen_get_gc
      Src: /src/cairo/src/cairo-xcb-surface-core.c:260,1
    - Dst: CAIRO_STRIDE_FOR_WIDTH_BPP
      Src: /src/cairo/src/cairo-xcb-surface-core.c:276,1
    - Dst: _cairo_xcb_connection_shm_put_image
      Src: /src/cairo/src/cairo-xcb-surface-core.c:263,1
    - Dst: PIXMAN_FORMAT_BPP
      Src: /src/cairo/src/cairo-xcb-surface-core.c:277,1
    - Dst: _cairo_xcb_connection_put_image
      Src: /src/cairo/src/cairo-xcb-surface-core.c:279,1
    - Dst: _cairo_xcb_connection_put_subimage
      Src: /src/cairo/src/cairo-xcb-surface-core.c:287,1
    - Dst: PIXMAN_FORMAT_BPP
      Src: /src/cairo/src/cairo-xcb-surface-core.c:291,1
    - Dst: _cairo_xcb_screen_put_gc
      Src: /src/cairo/src/cairo-xcb-surface-core.c:300,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 303
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 303
    functionName: _pixmap_from_image
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-core.c
    functionUses: []
    functionsReached:
    - _cairo_xcb_screen_get_gc
    - _cairo_xcb_screen_put_gc
    - _cairo_xcb_connection_put_image
    - PIXMAN_FORMAT_BPP
    - _cairo_xcb_connection_put_subimage
    - _cairo_xcb_connection_shm_put_image
    - CAIRO_STRIDE_FOR_WIDTH_BPP
    - _cairo_xcb_pixmap_create
    - unlikely
    linkageType: ''
    returnType: cairo_xcb_pixmap_t*
    signature: "static cairo_xcb_pixmap_t *_pixmap_from_image (cairo_xcb_surface_t\
      \ *target,\t\t xcb_render_pictformat_t format,\t\t cairo_image_surface_t *image,\t\
      \t cairo_xcb_shm_info_t *shm_info) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xcb_pixmap_copy
      Src: /src/cairo/src/cairo-xcb-surface-core.c:355,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-core.c:365,1
    - Dst: _cairo_xcb_screen_get_gc
      Src: /src/cairo/src/cairo-xcb-surface-core.c:368,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-core.c:356,1
    - Dst: _cairo_xcb_pixmap_create
      Src: /src/cairo/src/cairo-xcb-surface-core.c:362,1
    - Dst: _cairo_xcb_connection_change_gc
      Src: /src/cairo/src/cairo-xcb-surface-core.c:373,1
    - Dst: _cairo_xcb_connection_copy_area
      Src: /src/cairo/src/cairo-xcb-surface-core.c:376,1
    - Dst: _cairo_xcb_connection_change_gc
      Src: /src/cairo/src/cairo-xcb-surface-core.c:385,1
    - Dst: _cairo_xcb_screen_put_gc
      Src: /src/cairo/src/cairo-xcb-surface-core.c:388,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 394
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 394
    functionName: _copy_to_pixmap
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-core.c
    functionUses: []
    functionsReached:
    - _cairo_xcb_screen_get_gc
    - _cairo_xcb_screen_put_gc
    - _cairo_xcb_connection_change_gc
    - _cairo_xcb_connection_copy_area
    - _cairo_xcb_pixmap_copy
    - _cairo_xcb_pixmap_create
    - unlikely
    linkageType: ''
    returnType: cairo_xcb_pixmap_t*
    signature: 'static cairo_xcb_pixmap_t *_copy_to_pixmap (cairo_xcb_surface_t *source) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_matrix_is_integer_translation
      Src: /src/cairo/src/cairo-xcb-surface-core.c:471,1
    - Dst: _cairo_xcb_surface_pixmap
      Src: /src/cairo/src/cairo-xcb-surface-core.c:475,1
    - Dst: _render_to_pixmap
      Src: /src/cairo/src/cairo-xcb-surface-core.c:490,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 497
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 497
    functionName: _cairo_xcb_pixmap_for_pattern
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-core.c
    functionUses: []
    functionsReached:
    - _render_to_pixmap
    - _cairo_xcb_surface_pixmap
    - _cairo_matrix_is_integer_translation
    linkageType: ''
    returnType: cairo_xcb_pixmap_t*
    signature: "static cairo_xcb_pixmap_t *_cairo_xcb_pixmap_for_pattern (cairo_xcb_surface_t\
      \ *target,\t\t\t const cairo_pattern_t *pattern,\t\t\t const cairo_rectangle_int_t\
      \ *extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 1
    argCount: 6
    argNames:
    - connection
    - pixman_format
    - width
    - height
    - image_out
    - shm_info_out
    argTypes:
    - cairo_xcb_connection_t*
    - pixman_format_code_t
    - int
    - int
    - cairo_image_surface_t**
    - cairo_xcb_shm_info_t**
    constantsTouched: []
    func_position:
      end: 208
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 208
    functionName: _cairo_xcb_shm_image_create_shm
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-core.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_xcb_shm_image_create_shm (cairo_xcb_connection_t\
      \ *connection,\t\t\t\t pixman_format_code_t pixman_format,\t\t\t\t int width,\
      \ int height,\t\t\t\t cairo_image_surface_t **image_out,\t\t\t\t cairo_xcb_shm_info_t\
      \ **shm_info_out) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-xcb-surface-core.c:121,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-core.c:122,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xcb-surface-core.c:124,1
    - Dst: _cairo_surface_init
      Src: /src/cairo/src/cairo-xcb-surface-core.c:126,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xcb-surface-core.c:124,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-xcb-surface-core.c:135,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 143
    functionName: _cairo_xcb_pixmap_copy
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-core.c
    functionUses: []
    functionsReached:
    - _cairo_surface_init
    - _cairo_error
    - cairo_surface_reference
    - _cairo_surface_create_in_error
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_xcb_pixmap_t*
    signature: 'static cairo_xcb_pixmap_t *_cairo_xcb_pixmap_copy (cairo_xcb_surface_t
      *target) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xcb_shm_image_create_shm
      Src: /src/cairo/src/cairo-xcb-surface-core.c:222,1
    - Dst: _cairo_image_surface_create_with_pixman_format
      Src: /src/cairo/src/cairo-xcb-surface-core.c:230,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-core.c:235,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 6
    argNames:
    - connection
    - pixman_format
    - width
    - height
    - image_out
    - shm_info_out
    argTypes:
    - cairo_xcb_connection_t*
    - pixman_format_code_t
    - int
    - int
    - cairo_image_surface_t**
    - cairo_xcb_shm_info_t**
    constantsTouched: []
    func_position:
      end: 243
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 243
    functionName: _cairo_xcb_shm_image_create
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-core.c
    functionUses: []
    functionsReached:
    - _cairo_image_surface_create_with_pixman_format
    - _cairo_xcb_shm_image_create_shm
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_xcb_shm_image_create (cairo_xcb_connection_t\
      \ *connection,\t\t\t pixman_format_code_t pixman_format,\t\t\t int width, int\
      \ height,\t\t\t cairo_image_surface_t **image_out,\t\t\t cairo_xcb_shm_info_t\
      \ **shm_info_out) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xcb_shm_image_create
      Src: /src/cairo/src/cairo-xcb-surface-core.c:316,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/src/cairo-xcb-surface-core.c:324,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xcb-surface-core.c:321,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-core.c:320,1
    - Dst: _cairo_pattern_init_static_copy
      Src: /src/cairo/src/cairo-xcb-surface-core.c:323,1
    - Dst: _cairo_surface_paint
      Src: /src/cairo/src/cairo-xcb-surface-core.c:325,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-core.c:329,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface-core.c:330,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xcb-surface-core.c:331,1
    - Dst: _pixmap_from_image
      Src: /src/cairo/src/cairo-xcb-surface-core.c:334,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface-core.c:335,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-core.c:337,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 343
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 343
    functionName: _render_to_pixmap
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-core.c
    functionUses: []
    functionsReached:
    - cairo_matrix_translate
    - _cairo_pattern_init_static_copy
    - cairo_surface_destroy
    - _cairo_surface_create_in_error
    - _cairo_xcb_shm_image_create
    - _pixmap_from_image
    - _cairo_surface_paint
    - unlikely
    linkageType: ''
    returnType: cairo_xcb_pixmap_t*
    signature: "static cairo_xcb_pixmap_t *_render_to_pixmap (cairo_xcb_surface_t\
      \ *target,\t\t const cairo_pattern_t *pattern,\t\t const cairo_rectangle_int_t\
      \ *extents) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_has_snapshot
      Src: /src/cairo/src/cairo-xcb-surface-core.c:406,1
    - Dst: _copy_to_pixmap
      Src: /src/cairo/src/cairo-xcb-surface-core.c:416,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-xcb-surface-core.c:408,1
    - Dst: _cairo_surface_is_xcb
      Src: /src/cairo/src/cairo-xcb-surface-core.c:410,1
    - Dst: _copy_to_pixmap
      Src: /src/cairo/src/cairo-xcb-surface-core.c:425,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 426
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 426
    functionName: _cairo_xcb_surface_pixmap
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-core.c
    functionUses: []
    functionsReached:
    - cairo_surface_reference
    - _cairo_surface_is_xcb
    - _copy_to_pixmap
    - _cairo_surface_has_snapshot
    linkageType: ''
    returnType: cairo_xcb_pixmap_t*
    signature: "static cairo_xcb_pixmap_t *_cairo_xcb_surface_pixmap (cairo_xcb_surface_t\
      \ *target,\t\t\t const cairo_surface_pattern_t *pattern,\t\t\t const cairo_rectangle_int_t\
      \ *extents,\t\t\t int tx, int ty) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xcb_connection_acquire
      Src: /src/cairo/src/cairo-xcb-surface-core.c:510,1
    - Dst: _cairo_xcb_screen_get_gc
      Src: /src/cairo/src/cairo-xcb-surface-core.c:521,1
    - Dst: _cairo_xcb_connection_change_gc
      Src: /src/cairo/src/cairo-xcb-surface-core.c:536,1
    - Dst: _cairo_fixed_integer_round
      Src: /src/cairo/src/cairo-xcb-surface-core.c:545,1
    - Dst: _cairo_xcb_connection_poly_fill_rectangle
      Src: /src/cairo/src/cairo-xcb-surface-core.c:554,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-surface-core.c:519,1
    - Dst: _cairo_fixed_integer_round
      Src: /src/cairo/src/cairo-xcb-surface-core.c:546,1
    - Dst: _cairo_xcb_screen_put_gc
      Src: /src/cairo/src/cairo-xcb-surface-core.c:582,1
    - Dst: _cairo_fixed_integer_round
      Src: /src/cairo/src/cairo-xcb-surface-core.c:568,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-core.c:511,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-core.c:516,1
    - Dst: _cairo_fixed_integer_round
      Src: /src/cairo/src/cairo-xcb-surface-core.c:544,1
    - Dst: _cairo_fixed_integer_round
      Src: /src/cairo/src/cairo-xcb-surface-core.c:566,1
    - Dst: _cairo_xcb_connection_change_gc
      Src: /src/cairo/src/cairo-xcb-surface-core.c:560,1
    - Dst: _cairo_fixed_integer_round
      Src: /src/cairo/src/cairo-xcb-surface-core.c:567,1
    - Dst: _cairo_fixed_integer_round
      Src: /src/cairo/src/cairo-xcb-surface-core.c:547,1
    - Dst: _cairo_xcb_connection_copy_area
      Src: /src/cairo/src/cairo-xcb-surface-core.c:571,1
    - Dst: _cairo_fixed_integer_round
      Src: /src/cairo/src/cairo-xcb-surface-core.c:569,1
    - Dst: _cairo_xcb_pixmap_for_pattern
      Src: /src/cairo/src/cairo-xcb-surface-core.c:514,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface-core.c:583,1
    - Dst: _cairo_xcb_connection_release
      Src: /src/cairo/src/cairo-xcb-surface-core.c:586,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 60
    argCount: 4
    argNames:
    - dst
    - src_pattern
    - extents
    - boxes
    argTypes:
    - cairo_xcb_surface_t*
    - cairo_pattern_t*
    - cairo_rectangle_int_t*
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 589
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 589
    functionName: _cairo_xcb_surface_core_copy_boxes
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-core.c
    functionUses: []
    functionsReached:
    - _cairo_xcb_screen_get_gc
    - _cairo_xcb_connection_acquire
    - _cairo_xcb_screen_put_gc
    - _cairo_xcb_pixmap_for_pattern
    - _cairo_xcb_connection_change_gc
    - _cairo_fixed_integer_round
    - _cairo_xcb_connection_copy_area
    - assert
    - cairo_surface_destroy
    - _cairo_xcb_connection_poly_fill_rectangle
    - _cairo_xcb_connection_release
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_xcb_surface_core_copy_boxes (cairo_xcb_surface_t\t\
      \t*dst,\t\t\t\t const cairo_pattern_t\t*src_pattern,\t\t\t\t const cairo_rectangle_int_t\t\
      *extents,\t\t\t\t const cairo_boxes_t\t\t*boxes) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xcb_connection_acquire
      Src: /src/cairo/src/cairo-xcb-surface-core.c:600,1
    - Dst: XSetTSOrigin
      Src: /src/cairo/src/cairo-xcb-surface-core.c:610,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-core.c:601,1
    - Dst: _dither_source
      Src: /src/cairo/src/cairo-xcb-surface-core.c:609,1
    - Dst: _cairo_xcb_screen_get_gc
      Src: /src/cairo/src/cairo-xcb-surface-core.c:604,1
    - Dst: XSetTile
      Src: /src/cairo/src/cairo-xcb-surface-core.c:611,1
    - Dst: _cairo_fixed_integer_round
      Src: /src/cairo/src/cairo-xcb-surface-core.c:620,1
    - Dst: _cairo_fixed_integer_round
      Src: /src/cairo/src/cairo-xcb-surface-core.c:621,1
    - Dst: _cairo_fixed_integer_round
      Src: /src/cairo/src/cairo-xcb-surface-core.c:622,1
    - Dst: _cairo_fixed_integer_round
      Src: /src/cairo/src/cairo-xcb-surface-core.c:623,1
    - Dst: _cairo_xcb_screen_put_gc
      Src: /src/cairo/src/cairo-xcb-surface-core.c:636,1
    - Dst: _cairo_xcb_connection_poly_fill_rectangle
      Src: /src/cairo/src/cairo-xcb-surface-core.c:631,1
    - Dst: _cairo_xcb_connection_release
      Src: /src/cairo/src/cairo-xcb-surface-core.c:637,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 3
    argNames:
    - dst
    - color
    - boxes
    argTypes:
    - cairo_xcb_surface_t*
    - cairo_color_t*
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 640
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 640
    functionName: _cairo_xcb_surface_core_fill_boxes
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-core.c
    functionUses: []
    functionsReached:
    - _cairo_xcb_screen_get_gc
    - _cairo_xcb_connection_acquire
    - _cairo_xcb_screen_put_gc
    - _cairo_fixed_integer_round
    - _dither_source
    - XSetTSOrigin
    - XSetTile
    - _cairo_xcb_connection_poly_fill_rectangle
    - _cairo_xcb_connection_release
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_xcb_surface_core_fill_boxes (cairo_xcb_surface_t\
      \ *dst,\t\t\t\t const cairo_color_t\t*color,\t\t\t\t cairo_boxes_t *boxes) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-core.c:161,1
    - Dst: PIXMAN_FORMAT_BPP
      Src: /src/cairo/src/cairo-xcb-surface-core.c:164,1
    - Dst: _cairo_xcb_connection_allocate_shm_info
      Src: /src/cairo/src/cairo-xcb-surface-core.c:169,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-core.c:171,1
    - Dst: CAIRO_STRIDE_FOR_WIDTH_BPP
      Src: /src/cairo/src/cairo-xcb-surface-core.c:164,1
    - Dst: _cairo_image_surface_create_with_pixman_format
      Src: /src/cairo/src/cairo-xcb-surface-core.c:174,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-core.c:179,1
    - Dst: _cairo_xcb_shm_info_destroy
      Src: /src/cairo/src/cairo-xcb-surface-core.c:180,1
    - Dst: _cairo_user_data_array_set_data
      Src: /src/cairo/src/cairo-xcb-surface-core.c:184,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-surface-core.c:189,1
    - Dst: _cairo_xcb_shm_info_destroy
      Src: /src/cairo/src/cairo-xcb-surface-core.c:191,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xcb-surface-core.c:190,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 6
    argNames:
    - connection
    - pixman_format
    - width
    - height
    - image_out
    - shm_info_out
    argTypes:
    - cairo_xcb_connection_t*
    - pixman_format_code_t
    - int
    - int
    - cairo_image_surface_t**
    - cairo_xcb_shm_info_t**
    constantsTouched: []
    func_position:
      end: 198
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 198
    functionName: _cairo_xcb_shm_image_create_shm
    functionSourceFile: /src/cairo/src/cairo-xcb-surface-core.c
    functionUses: []
    functionsReached:
    - _cairo_image_surface_create_with_pixman_format
    - _cairo_user_data_array_set_data
    - _cairo_xcb_connection_allocate_shm_info
    - _cairo_xcb_shm_info_destroy
    - PIXMAN_FORMAT_BPP
    - cairo_surface_destroy
    - CAIRO_STRIDE_FOR_WIDTH_BPP
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_xcb_shm_image_create_shm (cairo_xcb_connection_t\
      \ *connection,\t\t\t\t pixman_format_code_t pixman_format,\t\t\t\t int width,\
      \ int height,\t\t\t\t cairo_image_surface_t **image_out,\t\t\t\t cairo_xcb_shm_info_t\
      \ **shm_info_out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_time_get
      Src: /src/cairo/src/cairo-time-private.h:64,1
    - Dst: _cairo_time_sub
      Src: /src/cairo/src/cairo-time-private.h:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - cairo_time_t
    constantsTouched: []
    func_position:
      end: 67
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 67
    functionName: _cairo_time_get_delta
    functionSourceFile: /src/cairo/src/cairo-time-private.h
    functionUses: []
    functionsReached:
    - _cairo_time_get
    - _cairo_time_sub
    linkageType: ''
    returnType: cairo_always_inline
    signature: 'static cairo_always_inline cairo_time_t _cairo_time_get_delta (cairo_time_t
      t) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_int64_gt
      Src: /src/cairo/src/cairo-time-private.h:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_time_t
    - cairo_time_t
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: _cairo_time_max
    functionSourceFile: /src/cairo/src/cairo-time-private.h
    functionUses: []
    functionsReached:
    - _cairo_int64_gt
    linkageType: ''
    returnType: cairo_always_inline
    signature: 'static cairo_always_inline cairo_time_t _cairo_time_max (cairo_time_t
      a, cairo_time_t b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_time_to_s
      Src: /src/cairo/src/cairo-time-private.h:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - cairo_time_t
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: _cairo_time_to_ns
    functionSourceFile: /src/cairo/src/cairo-time-private.h
    functionUses: []
    functionsReached:
    - _cairo_time_to_s
    linkageType: ''
    returnType: cairo_always_inline
    signature: 'static cairo_always_inline double _cairo_time_to_ns (cairo_time_t
      t) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_int64_lt
      Src: /src/cairo/src/cairo-time-private.h:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_time_t
    - cairo_time_t
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: _cairo_time_min
    functionSourceFile: /src/cairo/src/cairo-time-private.h
    functionUses: []
    functionsReached:
    - _cairo_int64_lt
    linkageType: ''
    returnType: cairo_always_inline
    signature: 'static cairo_always_inline cairo_time_t _cairo_time_min (cairo_time_t
      a, cairo_time_t b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_foreach_entry_safe
      Src: /src/cairo/src/cairo-observer.c:45,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - observers
    - arg
    argTypes:
    - cairo_list_t*
    - void*
    constantsTouched: []
    func_position:
      end: 51
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 51
    functionName: _cairo_observers_notify
    functionSourceFile: /src/cairo/src/cairo-observer.c
    functionUses: []
    functionsReached:
    - cairo_list_foreach_entry_safe
    linkageType: ''
    returnType: void
    signature: 'void _cairo_observers_notify (cairo_list_t *observers, void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_compositor_paint
      Src: /src/cairo/src/cairo-surface-fallback.c:52,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - surface
    - op
    - source
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: _cairo_surface_fallback_paint
    functionSourceFile: /src/cairo/src/cairo-surface-fallback.c
    functionUses: []
    functionsReached:
    - _cairo_compositor_paint
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_surface_fallback_paint (void\t\t\t*surface,\t\
      \t\t cairo_operator_t\t\t op,\t\t\t const cairo_pattern_t\t*source,\t\t\t const\
      \ cairo_clip_t\t*clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_compositor_stroke
      Src: /src/cairo/src/cairo-surface-fallback.c:79,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 10
    argNames:
    - surface
    - op
    - source
    - path
    - style
    - ctm
    - ctm_inverse
    - tolerance
    - antialias
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 83
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 83
    functionName: _cairo_surface_fallback_stroke
    functionSourceFile: /src/cairo/src/cairo-surface-fallback.c
    functionUses: []
    functionsReached:
    - _cairo_compositor_stroke
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_surface_fallback_stroke (void\t\t\t*surface,\t\
      \t\t\tcairo_operator_t\t op,\t\t\t\tconst cairo_pattern_t\t*source,\t\t\t\t\
      const cairo_path_fixed_t*path,\t\t\t\tconst cairo_stroke_style_t*style,\t\t\t\
      \tconst cairo_matrix_t\t*ctm,\t\t\t\tconst cairo_matrix_t\t*ctm_inverse,\t\t\
      \t\tdouble\t\t\t tolerance,\t\t\t\tcairo_antialias_t\t antialias,\t\t\t\tconst\
      \ cairo_clip_t\t*clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_compositor_fill
      Src: /src/cairo/src/cairo-surface-fallback.c:95,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 8
    argNames:
    - surface
    - op
    - source
    - path
    - fill_rule
    - tolerance
    - antialias
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 99
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 99
    functionName: _cairo_surface_fallback_fill
    functionSourceFile: /src/cairo/src/cairo-surface-fallback.c
    functionUses: []
    functionsReached:
    - _cairo_compositor_fill
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_surface_fallback_fill (void\t\t\t*surface,\t\
      \t\t cairo_operator_t\t\t op,\t\t\t const cairo_pattern_t\t*source,\t\t\t const\
      \ cairo_path_fixed_t\t*path,\t\t\t cairo_fill_rule_t\t\t fill_rule,\t\t\t double\t\
      \t\t tolerance,\t\t\t cairo_antialias_t\t\t antialias,\t\t\t const cairo_clip_t\t\
      \t*clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_compositor_mask
      Src: /src/cairo/src/cairo-surface-fallback.c:63,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - surface
    - op
    - source
    - mask
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: _cairo_surface_fallback_mask
    functionSourceFile: /src/cairo/src/cairo-surface-fallback.c
    functionUses: []
    functionsReached:
    - _cairo_compositor_mask
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_surface_fallback_mask (void\t\t\t*surface,\t\
      \t\t cairo_operator_t\t\t op,\t\t\t const cairo_pattern_t\t*source,\t\t\t const\
      \ cairo_pattern_t\t*mask,\t\t\t const cairo_clip_t\t*clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_compositor_glyphs
      Src: /src/cairo/src/cairo-surface-fallback.c:110,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 7
    argNames:
    - surface
    - op
    - source
    - glyphs
    - num_glyphs
    - scaled_font
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_glyph_t*
    - int
    - cairo_scaled_font_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 114
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 114
    functionName: _cairo_surface_fallback_glyphs
    functionSourceFile: /src/cairo/src/cairo-surface-fallback.c
    functionUses: []
    functionsReached:
    - _cairo_compositor_glyphs
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_surface_fallback_glyphs (void\t\t\t*surface,\t\
      \t\t\tcairo_operator_t\t op,\t\t\t\tconst cairo_pattern_t\t*source,\t\t\t\t\
      cairo_glyph_t\t\t*glyphs,\t\t\t\tint\t\t\t num_glyphs,\t\t\t\tcairo_scaled_font_t\t\
      *scaled_font,\t\t\t\tconst cairo_clip_t\t*clip) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pattern_init_static_copy
      Src: /src/cairo/src/cairo-surface-offset.c:51,1
    - Dst: _cairo_pattern_transform
      Src: /src/cairo/src/cairo-surface-offset.c:54,1
    - Dst: _cairo_matrix_is_identity
      Src: /src/cairo/src/cairo-surface-offset.c:53,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - pattern
    - original
    - ctm_inverse
    argTypes:
    - cairo_pattern_t*
    - cairo_pattern_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: _copy_transformed_pattern
    functionSourceFile: /src/cairo/src/cairo-surface-offset.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_init_static_copy
    - _cairo_matrix_is_identity
    - _cairo_pattern_transform
    linkageType: ''
    returnType: void
    signature: "static void _copy_transformed_pattern (cairo_pattern_t *pattern,\t\
      \t\t const cairo_pattern_t *original,\t\t\t const cairo_matrix_t *ctm_inverse) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-offset.c:68,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/src/cairo-surface-offset.c:79,1
    - Dst: _cairo_clip_copy_with_translation
      Src: /src/cairo/src/cairo-surface-offset.c:77,1
    - Dst: _copy_transformed_pattern
      Src: /src/cairo/src/cairo-surface-offset.c:80,1
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-surface-offset.c:71,1
    - Dst: _cairo_surface_paint
      Src: /src/cairo/src/cairo-surface-offset.c:84,1
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-surface-offset.c:87,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 6
    argNames:
    - target
    - x
    - y
    - op
    - source
    - clip
    argTypes:
    - cairo_surface_t*
    - int
    - int
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 90
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 90
    functionName: _cairo_surface_offset_paint
    functionSourceFile: /src/cairo/src/cairo-surface-offset.c
    functionUses: []
    functionsReached:
    - _cairo_clip_destroy
    - _cairo_clip_is_all_clipped
    - _cairo_clip_copy_with_translation
    - _copy_transformed_pattern
    - cairo_matrix_init_translate
    - _cairo_surface_paint
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_surface_offset_paint (cairo_surface_t\t\t*target,\t\
      \t\t int x, int y,\t\t\t cairo_operator_t\t\t op,\t\t\t const cairo_pattern_t\t\
      *source,\t\t\t const cairo_clip_t\t\t*clip) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-offset.c:153,1
    - Dst: _cairo_clip_copy_with_translation
      Src: /src/cairo/src/cairo-surface-offset.c:162,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-offset.c:165,1
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-surface-offset.c:156,1
    - Dst: _cairo_path_fixed_init_copy
      Src: /src/cairo/src/cairo-surface-offset.c:164,1
    - Dst: _cairo_path_fixed_translate
      Src: /src/cairo/src/cairo-surface-offset.c:168,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-surface-offset.c:169,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-surface-offset.c:170,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/src/cairo-surface-offset.c:173,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-surface-offset.c:174,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/src/cairo-surface-offset.c:176,1
    - Dst: _cairo_surface_stroke
      Src: /src/cairo/src/cairo-surface-offset.c:182,1
    - Dst: _cairo_path_fixed_fini
      Src: /src/cairo/src/cairo-surface-offset.c:190,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-surface-offset.c:179,1
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-surface-offset.c:192,1
    - Dst: _copy_transformed_pattern
      Src: /src/cairo/src/cairo-surface-offset.c:177,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 32
    argCount: 12
    argNames:
    - surface
    - x
    - y
    - op
    - source
    - path
    - stroke_style
    - ctm
    - ctm_inverse
    - tolerance
    - antialias
    - clip
    argTypes:
    - cairo_surface_t*
    - int
    - int
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 195
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 195
    functionName: _cairo_surface_offset_stroke
    functionSourceFile: /src/cairo/src/cairo-surface-offset.c
    functionUses: []
    functionsReached:
    - _cairo_clip_destroy
    - _cairo_fixed_from_int
    - _cairo_clip_is_all_clipped
    - _cairo_clip_copy_with_translation
    - _copy_transformed_pattern
    - _cairo_path_fixed_translate
    - _cairo_surface_stroke
    - _cairo_path_fixed_fini
    - _cairo_path_fixed_init_copy
    - cairo_matrix_init_translate
    - cairo_matrix_multiply
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_surface_offset_stroke (cairo_surface_t\t\t*surface,\t\
      \t\t int x, int y,\t\t\t cairo_operator_t\t\t op,\t\t\t const cairo_pattern_t\t\
      *source,\t\t\t const cairo_path_fixed_t\t*path,\t\t\t const cairo_stroke_style_t*stroke_style,\t\
      \t\t const cairo_matrix_t\t*ctm,\t\t\t const cairo_matrix_t\t*ctm_inverse,\t\
      \t\t double\t\t\t tolerance,\t\t\t cairo_antialias_t\t\t antialias,\t\t\t const\
      \ cairo_clip_t\t\t*clip) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-offset.c:105,1
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-surface-offset.c:108,1
    - Dst: _copy_transformed_pattern
      Src: /src/cairo/src/cairo-surface-offset.c:117,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/src/cairo-surface-offset.c:116,1
    - Dst: _cairo_clip_copy_with_translation
      Src: /src/cairo/src/cairo-surface-offset.c:114,1
    - Dst: _copy_transformed_pattern
      Src: /src/cairo/src/cairo-surface-offset.c:118,1
    - Dst: _cairo_surface_mask
      Src: /src/cairo/src/cairo-surface-offset.c:123,1
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-surface-offset.c:128,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 7
    argNames:
    - target
    - x
    - y
    - op
    - source
    - mask
    - clip
    argTypes:
    - cairo_surface_t*
    - int
    - int
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 131
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 131
    functionName: _cairo_surface_offset_mask
    functionSourceFile: /src/cairo/src/cairo-surface-offset.c
    functionUses: []
    functionsReached:
    - _cairo_surface_mask
    - _cairo_clip_destroy
    - _cairo_clip_is_all_clipped
    - _cairo_clip_copy_with_translation
    - _copy_transformed_pattern
    - cairo_matrix_init_translate
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_surface_offset_mask (cairo_surface_t\t\t*target,\t\
      \t\t int x, int y,\t\t\t cairo_operator_t\t\t op,\t\t\t const cairo_pattern_t\t\
      *source,\t\t\t const cairo_pattern_t\t*mask,\t\t\t const cairo_clip_t\t\t*clip) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-offset.c:213,1
    - Dst: _cairo_clip_copy_with_translation
      Src: /src/cairo/src/cairo-surface-offset.c:222,1
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-surface-offset.c:216,1
    - Dst: _cairo_path_fixed_init_copy
      Src: /src/cairo/src/cairo-surface-offset.c:224,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-offset.c:225,1
    - Dst: _cairo_path_fixed_translate
      Src: /src/cairo/src/cairo-surface-offset.c:228,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-surface-offset.c:229,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-surface-offset.c:230,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/src/cairo-surface-offset.c:233,1
    - Dst: _copy_transformed_pattern
      Src: /src/cairo/src/cairo-surface-offset.c:234,1
    - Dst: _cairo_surface_fill
      Src: /src/cairo/src/cairo-surface-offset.c:238,1
    - Dst: _cairo_path_fixed_fini
      Src: /src/cairo/src/cairo-surface-offset.c:245,1
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-surface-offset.c:247,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 10
    argNames:
    - surface
    - x
    - y
    - op
    - source
    - path
    - fill_rule
    - tolerance
    - antialias
    - clip
    argTypes:
    - cairo_surface_t*
    - int
    - int
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 250
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 250
    functionName: _cairo_surface_offset_fill
    functionSourceFile: /src/cairo/src/cairo-surface-offset.c
    functionUses: []
    functionsReached:
    - _cairo_clip_destroy
    - _cairo_fixed_from_int
    - _cairo_clip_is_all_clipped
    - _cairo_clip_copy_with_translation
    - _copy_transformed_pattern
    - _cairo_path_fixed_translate
    - _cairo_path_fixed_fini
    - _cairo_path_fixed_init_copy
    - cairo_matrix_init_translate
    - _cairo_surface_fill
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_surface_offset_fill (cairo_surface_t\t*surface,\t\
      \t\t int x, int y,\t\t\t cairo_operator_t\t op,\t\t\t const cairo_pattern_t*source,\t\
      \t\t const cairo_path_fixed_t\t*path,\t\t\t cairo_fill_rule_t\t fill_rule,\t\
      \t\t double\t\t tolerance,\t\t\t cairo_antialias_t\t antialias,\t\t\t const\
      \ cairo_clip_t\t*clip) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-offset.c:268,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-surface-offset.c:274,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-surface-offset.c:276,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-surface-offset.c:278,1
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-surface-offset.c:271,1
    - Dst: _cairo_clip_copy_with_translation
      Src: /src/cairo/src/cairo-surface-offset.c:283,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/src/cairo-surface-offset.c:285,1
    - Dst: _copy_transformed_pattern
      Src: /src/cairo/src/cairo-surface-offset.c:286,1
    - Dst: _cairo_surface_show_text_glyphs
      Src: /src/cairo/src/cairo-surface-offset.c:295,1
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-surface-offset.c:303,1
    - Dst: free
      Src: /src/cairo/src/cairo-surface-offset.c:304,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 9
    argNames:
    - surface
    - x
    - y
    - op
    - source
    - scaled_font
    - glyphs
    - num_glyphs
    - clip
    argTypes:
    - cairo_surface_t*
    - int
    - int
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_scaled_font_t*
    - cairo_glyph_t*
    - int
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 307
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 307
    functionName: _cairo_surface_offset_glyphs
    functionSourceFile: /src/cairo/src/cairo-surface-offset.c
    functionUses: []
    functionsReached:
    - memcpy
    - _cairo_clip_destroy
    - _cairo_error
    - free
    - _cairo_clip_is_all_clipped
    - _cairo_clip_copy_with_translation
    - _copy_transformed_pattern
    - _cairo_surface_show_text_glyphs
    - cairo_matrix_init_translate
    - _cairo_malloc_ab
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_surface_offset_glyphs (cairo_surface_t\t\t*surface,\t\
      \t\t int x, int y,\t\t\t cairo_operator_t\t\t op,\t\t\t const cairo_pattern_t\t\
      *source,\t\t\t cairo_scaled_font_t\t*scaled_font,\t\t\t cairo_glyph_t\t\t*glyphs,\t\
      \t\t int\t\t\t num_glyphs,\t\t\t const cairo_clip_t\t*clip) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_copy_with_translation
      Src: /src/cairo/src/cairo-clip-surface.c:61,1
    - Dst: _cairo_surface_fill
      Src: /src/cairo/src/cairo-clip-surface.c:77,1
    - Dst: _cairo_surface_paint
      Src: /src/cairo/src/cairo-clip-surface.c:66,1
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-clip-surface.c:89,1
    - Dst: _cairo_clip_is_region
      Src: /src/cairo/src/cairo-clip-surface.c:73,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 4
    argNames:
    - clip
    - dst
    - dst_x
    - dst_y
    argTypes:
    - cairo_clip_t*
    - cairo_surface_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 91
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 91
    functionName: _cairo_clip_combine_with_surface
    functionSourceFile: /src/cairo/src/cairo-clip-surface.c
    functionUses: []
    functionsReached:
    - _cairo_clip_destroy
    - _cairo_clip_is_region
    - _cairo_clip_copy_with_translation
    - _cairo_surface_fill
    - _cairo_surface_paint
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_clip_combine_with_surface (const cairo_clip_t\
      \ *clip,\t\t\t\t cairo_surface_t *dst,\t\t\t\t int dst_x, int dst_y) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-clip-surface.c:139,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-clip-surface.c:146,1
    - Dst: _cairo_path_fixed_add_box
      Src: /src/cairo/src/cairo-clip-surface.c:145,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-clip-surface.c:160,1
    - Dst: _cairo_surface_fill
      Src: /src/cairo/src/cairo-clip-surface.c:186,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-clip-surface.c:204,1
    - Dst: _cairo_surface_create_scratch
      Src: /src/cairo/src/cairo-clip-surface.c:134,1
    - Dst: _cairo_surface_fill
      Src: /src/cairo/src/cairo-clip-surface.c:150,1
    - Dst: _cairo_clip_copy_with_translation
      Src: /src/cairo/src/cairo-clip-surface.c:173,1
    - Dst: _cairo_clip_copy_region
      Src: /src/cairo/src/cairo-clip-surface.c:181,1
    - Dst: _cairo_path_fixed_init
      Src: /src/cairo/src/cairo-clip-surface.c:142,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-clip-surface.c:147,1
    - Dst: _cairo_path_fixed_fini
      Src: /src/cairo/src/cairo-clip-surface.c:158,1
    - Dst: _cairo_surface_create_scratch
      Src: /src/cairo/src/cairo-clip-surface.c:164,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-clip-surface.c:169,1
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-clip-surface.c:200,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-clip-surface.c:202,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-clip-surface.c:159,1
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-clip-surface.c:198,1
    - Dst: _cairo_clip_is_region
      Src: /src/cairo/src/cairo-clip-surface.c:180,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-clip-surface.c:161,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-clip-surface.c:203,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 210
    functionName: _cairo_clip_get_surface
    functionSourceFile: /src/cairo/src/cairo-clip-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_create_scratch
    - _cairo_clip_copy_region
    - _cairo_clip_destroy
    - unlikely
    - _cairo_surface_create_in_error
    - _cairo_clip_copy_with_translation
    - _cairo_clip_is_region
    - cairo_surface_destroy
    - _cairo_path_fixed_fini
    - _cairo_path_fixed_add_box
    - _cairo_path_fixed_init
    - _cairo_surface_fill
    - _cairo_fixed_from_int
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *_cairo_clip_get_surface (const cairo_clip_t *clip,\t\
      \t\t cairo_surface_t *target,\t\t\t int *tx, int *ty) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_fixed_move_to
      Src: /src/cairo/src/cairo-clip-surface.c:101,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-clip-surface.c:106,1
    - Dst: _cairo_path_fixed_line_to
      Src: /src/cairo/src/cairo-clip-surface.c:105,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-clip-surface.c:102,1
    - Dst: _cairo_path_fixed_line_to
      Src: /src/cairo/src/cairo-clip-surface.c:109,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-clip-surface.c:110,1
    - Dst: _cairo_path_fixed_line_to
      Src: /src/cairo/src/cairo-clip-surface.c:113,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-clip-surface.c:114,1
    - Dst: _cairo_path_fixed_close_path
      Src: /src/cairo/src/cairo-clip-surface.c:117,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - path
    - box
    - fx
    - fy
    argTypes:
    - cairo_path_fixed_t*
    - cairo_box_t*
    - cairo_fixed_t
    - cairo_fixed_t
    constantsTouched: []
    func_position:
      end: 118
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 118
    functionName: _cairo_path_fixed_add_box
    functionSourceFile: /src/cairo/src/cairo-clip-surface.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_close_path
    - _cairo_path_fixed_move_to
    - _cairo_path_fixed_line_to
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_path_fixed_add_box (cairo_path_fixed_t\
      \ *path,\t\t\t const cairo_box_t *box,\t\t\t cairo_fixed_t fx,\t\t\t cairo_fixed_t\
      \ fy) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar_image
      Src: /src/cairo/src/cairo-clip-surface.c:220,1
    - Dst: _cairo_clip_combine_with_surface
      Src: /src/cairo/src/cairo-clip-surface.c:230,1
    - Dst: _cairo_surface_paint
      Src: /src/cairo/src/cairo-clip-surface.c:227,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-clip-surface.c:224,1
    - Dst: likely
      Src: /src/cairo/src/cairo-clip-surface.c:229,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-clip-surface.c:233,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-clip-surface.c:234,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-clip-surface.c:235,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 239
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 239
    functionName: _cairo_clip_get_image
    functionSourceFile: /src/cairo/src/cairo-clip-surface.c
    functionUses: []
    functionsReached:
    - _cairo_clip_combine_with_surface
    - _cairo_surface_create_in_error
    - cairo_surface_destroy
    - cairo_surface_create_similar_image
    - likely
    - _cairo_surface_paint
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *_cairo_clip_get_image (const cairo_clip_t *clip,\t\
      \t cairo_surface_t *target,\t\t const cairo_rectangle_int_t *extents) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_atomic_int_cmpxchg_return_old
      Src: /src/cairo/src/cairo-mutex.c:69,1
    - Dst: _cairo_atomic_int_set_relaxed
      Src: /src/cairo/src/cairo-mutex.c:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 90
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 90
    functionName: _cairo_mutex_initialize
    functionSourceFile: /src/cairo/src/cairo-mutex.c
    functionUses: []
    functionsReached:
    - _cairo_atomic_int_cmpxchg_return_old
    - _cairo_atomic_int_set_relaxed
    linkageType: ''
    returnType: void
    signature: 'void _cairo_mutex_initialize (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_atomic_int_cmpxchg
      Src: /src/cairo/src/cairo-mutex.c:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 111
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 111
    functionName: _cairo_mutex_finalize
    functionSourceFile: /src/cairo/src/cairo-mutex.c
    functionUses: []
    functionsReached:
    - _cairo_atomic_int_cmpxchg
    linkageType: ''
    returnType: void
    signature: 'void _cairo_mutex_finalize (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: _cairo_isspace
    functionSourceFile: /src/cairo/src/cairo-ctype-inline.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_const
    signature: 'cairo_const _cairo_isspace (int c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: _cairo_isprint
    functionSourceFile: /src/cairo/src/cairo-ctype-inline.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int cairo_const _cairo_isprint (int c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: _cairo_isxdigit
    functionSourceFile: /src/cairo/src/cairo-ctype-inline.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int cairo_const _cairo_isxdigit (int c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: _cairo_isalpha
    functionSourceFile: /src/cairo/src/cairo-ctype-inline.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int cairo_const _cairo_isalpha (int c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: _cairo_isdigit
    functionSourceFile: /src/cairo/src/cairo-ctype-inline.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int cairo_const _cairo_isdigit (int c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: _cairo_isalnum
    functionSourceFile: /src/cairo/src/cairo-ctype-inline.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int cairo_const _cairo_isalnum (int c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 62
    functionName: _cairo_traps
    functionSourceFile: /src/cairo/src/cairo-traps-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CAIRO_BEGIN_DECLS
    signature: 'CAIRO_BEGIN_DECLS struct _cairo_traps '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_point_t*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 91
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 91
    functionName: _cairo_point_compare
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c
    functionUses: []
    functionsReached:
    - likely
    linkageType: ''
    returnType: int
    signature: "static inline int _cairo_point_compare (const cairo_point_t *a,\t\t\
      \ const cairo_point_t *b) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_point_compare
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:112,1
    - Dst: likely
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:113,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_bo_event_t*
    - cairo_bo_event_t*
    constantsTouched: []
    func_position:
      end: 121
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 121
    functionName: cairo_bo_event_compare
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c
    functionUses: []
    functionsReached:
    - _cairo_point_compare
    - likely
    linkageType: ''
    returnType: int
    signature: "static inline int cairo_bo_event_compare (const cairo_bo_event_t *a,\t\
      \t\tconst cairo_bo_event_t *b) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_bo_edge_compare
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:155,1
    - Dst: _cairo_bo_edge_compare
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:170,1
    - Dst: _cairo_bo_edge_compare
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:159,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 2
    argNames:
    - sweep_line
    - edge
    argTypes:
    - cairo_bo_sweep_line_t*
    - cairo_bo_edge_t*
    constantsTouched: []
    func_position:
      end: 193
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 193
    functionName: _cairo_bo_sweep_line_insert
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c
    functionUses: []
    functionsReached:
    - _cairo_bo_edge_compare
    linkageType: ''
    returnType: void
    signature: "static void _cairo_bo_sweep_line_insert (cairo_bo_sweep_line_t\t*sweep_line,\t\
      \t\t cairo_bo_edge_t\t\t*edge) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_bo_edge_t*
    - cairo_bo_edge_t*
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: edges_collinear
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static inline cairo_bool_t edges_collinear (const cairo_bo_edge_t
      *a, const cairo_bo_edge_t *b) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: edges_collinear
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:267,1
    - Dst: _cairo_bo_edge_end_trap
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:274,1
    - Dst: edges_collinear
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:279,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:275,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 5
    argNames:
    - left
    - right
    - top
    - do_traps
    - container
    argTypes:
    - cairo_bo_edge_t*
    - cairo_bo_edge_t*
    - int
    - cairo_bool_t
    - void*
    constantsTouched: []
    func_position:
      end: 285
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 285
    functionName: _cairo_bo_edge_start_or_continue_trap
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c
    functionUses: []
    functionsReached:
    - _cairo_bo_edge_end_trap
    - edges_collinear
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static inline cairo_status_t _cairo_bo_edge_start_or_continue_trap\
      \ (cairo_bo_edge_t\t*left,\t\t\t\t cairo_bo_edge_t *right,\t\t\t\t int top,\t\
      \t\t\t cairo_bool_t\t do_traps,\t\t\t\t void\t\t*container) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_bo_sweep_line_init
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:403,1
    - Dst: _cairo_bo_sweep_line_insert
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:418,1
    - Dst: _active_edges_to_traps
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:407,1
    - Dst: _cairo_bo_event_dequeue
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:405,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:410,1
    - Dst: _cairo_bo_sweep_line_delete
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:422,1
    - Dst: _cairo_bo_edge_end_trap
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:425,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:428,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 19
    argCount: 5
    argNames:
    - start_events
    - num_events
    - fill_rule
    - do_traps
    - container
    argTypes:
    - cairo_bo_event_t**
    - int
    - cairo_fill_rule_t
    - cairo_bool_t
    - void*
    constantsTouched: []
    func_position:
      end: 437
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 437
    functionName: _cairo_bentley_ottmann_tessellate_rectilinear
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c
    functionUses: []
    functionsReached:
    - _cairo_bo_sweep_line_delete
    - _active_edges_to_traps
    - _cairo_bo_sweep_line_init
    - _cairo_bo_sweep_line_insert
    - _cairo_bo_edge_end_trap
    - _cairo_bo_event_dequeue
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_bentley_ottmann_tessellate_rectilinear\
      \ (cairo_bo_event_t **start_events,\t\t\t\t\t int\t\t\t num_events,\t\t\t\t\t\
      \ cairo_fill_rule_t\t fill_rule,\t\t\t\t\t cairo_bool_t\t\t do_traps,\t\t\t\t\
      \t void\t\t\t*container) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: _cairo_bo_event_dequeue
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bo_event_t*
    signature: 'static inline cairo_bo_event_t *_cairo_bo_event_dequeue (cairo_bo_sweep_line_t
      *sweep_line) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_bo_event_queue_sort
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - sweep_line
    - events
    - num_events
    argTypes:
    - cairo_bo_sweep_line_t*
    - cairo_bo_event_t**
    - int
    constantsTouched: []
    func_position:
      end: 145
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 145
    functionName: _cairo_bo_sweep_line_init
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c
    functionUses: []
    functionsReached:
    - _cairo_bo_event_queue_sort
    linkageType: ''
    returnType: void
    signature: "static void _cairo_bo_sweep_line_init (cairo_bo_sweep_line_t *sweep_line,\t\
      \t\t cairo_bo_event_t\t**events,\t\t\t int\t\t\t num_events) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_bo_edge_t*
    - cairo_bo_edge_t*
    constantsTouched: []
    func_position:
      end: 104
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 104
    functionName: _cairo_bo_edge_compare
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c
    functionUses: []
    functionsReached:
    - likely
    linkageType: ''
    returnType: int
    signature: "static inline int _cairo_bo_edge_compare (const cairo_bo_edge_t\t\
      *a,\t\t\tconst cairo_bo_edge_t\t*b) "
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - sweep_line
    - edge
    argTypes:
    - cairo_bo_sweep_line_t*
    - cairo_bo_edge_t*
    constantsTouched: []
    func_position:
      end: 209
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 209
    functionName: _cairo_bo_sweep_line_delete
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void _cairo_bo_sweep_line_delete (cairo_bo_sweep_line_t\t*sweep_line,\t\
      \t\t cairo_bo_edge_t\t*edge) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:227,1
    - Dst: _cairo_traps_add_trap
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:229,1
    - Dst: _cairo_boxes_add
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:240,1
    - Dst: _cairo_traps_status
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:232,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - left
    - bot
    - do_traps
    - container
    argTypes:
    - cairo_bo_edge_t*
    - int32_t
    - cairo_bool_t
    - void*
    constantsTouched: []
    func_position:
      end: 247
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 247
    functionName: _cairo_bo_edge_end_trap
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c
    functionUses: []
    functionsReached:
    - _cairo_traps_add_trap
    - _cairo_traps_status
    - _cairo_boxes_add
    - likely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_bo_edge_end_trap (cairo_bo_edge_t\t*left,\t\
      \t\t int32_t\t\t bot,\t\t\t cairo_bool_t\t\t do_traps,\t\t\t void\t\t\t*container) "
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: edges_collinear
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:312,1
    - Dst: _cairo_bo_edge_end_trap
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:323,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:324,1
    - Dst: _cairo_bo_edge_start_or_continue_trap
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:341,1
    - Dst: edges_collinear
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:332,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:343,1
    - Dst: _cairo_bo_edge_end_trap
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:357,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:358,1
    - Dst: edges_collinear
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:369,1
    - Dst: _cairo_bo_edge_start_or_continue_trap
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:378,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:380,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 68
    argCount: 5
    argNames:
    - left
    - top
    - fill_rule
    - do_traps
    - container
    argTypes:
    - cairo_bo_edge_t*
    - int32_t
    - cairo_fill_rule_t
    - cairo_bool_t
    - void*
    constantsTouched: []
    func_position:
      end: 390
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 390
    functionName: _active_edges_to_traps
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c
    functionUses: []
    functionsReached:
    - _cairo_bo_edge_end_trap
    - edges_collinear
    - _cairo_bo_edge_start_or_continue_trap
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static inline cairo_status_t _active_edges_to_traps (cairo_bo_edge_t\t\
      \t*left,\t\t\tint32_t\t\t\t top,\t\t\tcairo_fill_rule_t\t fill_rule,\t\t\tcairo_bool_t\t\
      \t do_traps,\t\t\tvoid\t\t\t*container) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_STACK_ARRAY_LENGTH
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:445,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:454,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:449,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:447,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:462,1
    - Dst: _cairo_malloc_ab_plus_c
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:463,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:468,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:469,1
    - Dst: _cairo_bentley_ottmann_tessellate_rectilinear
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:496,1
    - Dst: free
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:500,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 3
    argNames:
    - polygon
    - fill_rule
    - boxes
    argTypes:
    - cairo_polygon_t*
    - cairo_fill_rule_t
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 503
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 503
    functionName: _cairo_bentley_ottmann_tessellate_rectilinear_polygon_to_boxes
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c
    functionUses: []
    functionsReached:
    - CAIRO_STACK_ARRAY_LENGTH
    - _cairo_malloc_ab_plus_c
    - _cairo_error
    - free
    - ARRAY_LENGTH
    - _cairo_bentley_ottmann_tessellate_rectilinear
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_bentley_ottmann_tessellate_rectilinear_polygon_to_boxes\
      \ (const cairo_polygon_t *polygon,\t\t\t\t\t\t\t\tcairo_fill_rule_t\t fill_rule,\t\
      \t\t\t\t\t\t\tcairo_boxes_t *boxes) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_STACK_ARRAY_LENGTH
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:509,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:513,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:511,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:518,1
    - Dst: assert
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:521,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:528,1
    - Dst: _cairo_malloc_ab_plus_c
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:529,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:534,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:535,1
    - Dst: _cairo_traps_clear
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:589,1
    - Dst: free
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:596,1
    - Dst: _cairo_bentley_ottmann_tessellate_rectilinear
      Src: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c:590,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 73
    argCount: 2
    argNames:
    - traps
    - fill_rule
    argTypes:
    - cairo_traps_t*
    - cairo_fill_rule_t
    constantsTouched: []
    func_position:
      end: 599
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 599
    functionName: _cairo_bentley_ottmann_tessellate_rectilinear_traps
    functionSourceFile: /src/cairo/src/cairo-bentley-ottmann-rectilinear.c
    functionUses: []
    functionsReached:
    - CAIRO_STACK_ARRAY_LENGTH
    - _cairo_malloc_ab_plus_c
    - _cairo_error
    - free
    - ARRAY_LENGTH
    - assert
    - _cairo_bentley_ottmann_tessellate_rectilinear
    - _cairo_traps_clear
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_bentley_ottmann_tessellate_rectilinear_traps\
      \ (cairo_traps_t *traps,\t\t\t\t\t\t cairo_fill_rule_t fill_rule) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_release_source_image
      Src: /src/cairo/src/cairo-surface-snapshot.c:128,1
    - Dst: free
      Src: /src/cairo/src/cairo-surface-snapshot.c:130,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-surface-snapshot.c:129,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - abstract_surface
    - image
    - _extra
    argTypes:
    - void*
    - cairo_image_surface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 131
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 131
    functionName: _cairo_surface_snapshot_release_source_image
    functionSourceFile: /src/cairo/src/cairo-surface-snapshot.c
    functionUses: []
    functionsReached:
    - _cairo_surface_release_source_image
    - free
    - cairo_surface_destroy
    linkageType: ''
    returnType: void
    signature: "static void _cairo_surface_snapshot_release_source_image (void *abstract_surface,\t\
      \t\t\t\t cairo_image_surface_t *image,\t\t\t\t\t void *_extra) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_snapshot_get_target
      Src: /src/cairo/src/cairo-surface-snapshot.c:72,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-surface-snapshot.c:76,1
    - Dst: _cairo_surface_flush
      Src: /src/cairo/src/cairo-surface-snapshot.c:75,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - abstract_surface
    - flags
    argTypes:
    - void*
    - unsigned
    constantsTouched: []
    func_position:
      end: 79
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 79
    functionName: _cairo_surface_snapshot_flush
    functionSourceFile: /src/cairo/src/cairo-surface-snapshot.c
    functionUses: []
    functionsReached:
    - _cairo_surface_flush
    - _cairo_surface_snapshot_get_target
    - cairo_surface_destroy
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_surface_snapshot_flush (void *abstract_surface,
      unsigned flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-surface-snapshot.c:51,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/src/cairo-surface-snapshot.c:54,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-surface-snapshot.c:57,1
    - Dst: CAIRO_MUTEX_FINI
      Src: /src/cairo/src/cairo-surface-snapshot.c:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 63
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 63
    functionName: _cairo_surface_snapshot_finish
    functionSourceFile: /src/cairo/src/cairo-surface-snapshot.c
    functionUses: []
    functionsReached:
    - CAIRO_MUTEX_FINI
    - cairo_surface_finish
    - TRACE
    - cairo_surface_destroy
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_surface_snapshot_finish (void *abstract_surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_get_source
      Src: /src/cairo/src/cairo-surface-snapshot.c:86,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: _cairo_surface_snapshot_source
    functionSourceFile: /src/cairo/src/cairo-surface-snapshot.c
    functionUses: []
    functionsReached:
    - _cairo_surface_get_source
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_surface_snapshot_source (void *abstract_surface,\t\
      \t\t\tcairo_rectangle_int_t *extents) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-surface-snapshot.c:103,1
    - Dst: _cairo_surface_acquire_source_image
      Src: /src/cairo/src/cairo-surface-snapshot.c:110,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-surface-snapshot.c:106,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-snapshot.c:104,1
    - Dst: _cairo_surface_snapshot_get_target
      Src: /src/cairo/src/cairo-surface-snapshot.c:109,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-snapshot.c:111,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-surface-snapshot.c:112,1
    - Dst: free
      Src: /src/cairo/src/cairo-surface-snapshot.c:113,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 3
    argNames:
    - abstract_surface
    - image_out
    - extra_out
    argTypes:
    - void*
    - cairo_image_surface_t**
    - void**
    constantsTouched: []
    func_position:
      end: 119
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 119
    functionName: _cairo_surface_snapshot_acquire_source_image
    functionSourceFile: /src/cairo/src/cairo-surface-snapshot.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - free
    - cairo_surface_destroy
    - _cairo_surface_acquire_source_image
    - _cairo_surface_snapshot_get_target
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_surface_snapshot_acquire_source_image\
      \ (void *abstract_surface,\t\t\t\t\t cairo_image_surface_t **image_out,\t\t\t\
      \t\t void **extra_out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_snapshot_get_target
      Src: /src/cairo/src/cairo-surface-snapshot.c:141,1
    - Dst: _cairo_surface_get_extents
      Src: /src/cairo/src/cairo-surface-snapshot.c:142,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-surface-snapshot.c:143,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - abstract_surface
    - extents
    argTypes:
    - void*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 146
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 146
    functionName: _cairo_surface_snapshot_get_extents
    functionSourceFile: /src/cairo/src/cairo-surface-snapshot.c
    functionUses: []
    functionsReached:
    - _cairo_surface_snapshot_get_target
    - cairo_surface_destroy
    - _cairo_surface_get_extents
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _cairo_surface_snapshot_get_extents (void *abstract_surface,\t\
      \t\t\t cairo_rectangle_int_t *extents) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-surface-snapshot.c:181,1
    - Dst: assert
      Src: /src/cairo/src/cairo-surface-snapshot.c:195,1
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-surface-snapshot.c:190,1
    - Dst: _cairo_surface_is_snapshot
      Src: /src/cairo/src/cairo-surface-snapshot.c:195,1
    - Dst: _cairo_surface_acquire_source_image
      Src: /src/cairo/src/cairo-surface-snapshot.c:204,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-snapshot.c:205,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-surface-snapshot.c:206,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-surface-snapshot.c:207,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-surface-snapshot.c:218,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-surface-snapshot.c:214,1
    - Dst: _cairo_surface_release_source_image
      Src: /src/cairo/src/cairo-surface-snapshot.c:211,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 219
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 219
    functionName: _cairo_surface_snapshot_copy_on_write
    functionSourceFile: /src/cairo/src/cairo-surface-snapshot.c
    functionUses: []
    functionsReached:
    - _cairo_surface_release_source_image
    - _cairo_surface_is_snapshot
    - CAIRO_MUTEX_LOCK
    - TRACE
    - CAIRO_MUTEX_UNLOCK
    - assert
    - _cairo_surface_set_error
    - _cairo_surface_acquire_source_image
    - _cairo_surface_create_in_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_surface_snapshot_copy_on_write (cairo_surface_t
      *surface) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_is_snapshot
      Src: /src/cairo/src/cairo-surface-snapshot.c:257,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-surface-snapshot.c:258,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-surface-snapshot.c:265,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-surface-snapshot.c:283,1
    - Dst: TRACE
      Src: /src/cairo/src/cairo-surface-snapshot.c:246,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-snapshot.c:248,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-surface-snapshot.c:252,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-surface-snapshot.c:255,1
    - Dst: _cairo_surface_has_snapshot
      Src: /src/cairo/src/cairo-surface-snapshot.c:261,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-surface-snapshot.c:267,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-surface-snapshot.c:263,1
    - Dst: _cairo_surface_attach_snapshot
      Src: /src/cairo/src/cairo-surface-snapshot.c:289,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-snapshot.c:251,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-surface-snapshot.c:249,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-snapshot.c:266,1
    - Dst: _cairo_surface_init
      Src: /src/cairo/src/cairo-surface-snapshot.c:269,1
    - Dst: CAIRO_MUTEX_INIT
      Src: /src/cairo/src/cairo-surface-snapshot.c:276,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-surface-snapshot.c:282,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-surface-snapshot.c:252,1
    - Dst: _cairo_surface_copy_mime_data
      Src: /src/cairo/src/cairo-surface-snapshot.c:280,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-surface-snapshot.c:281,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-surface-snapshot.c:267,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 294
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 294
    functionName: _cairo_surface_snapshot
    functionSourceFile: /src/cairo/src/cairo-surface-snapshot.c
    functionUses: []
    functionsReached:
    - _cairo_surface_is_snapshot
    - _cairo_surface_init
    - _cairo_surface_attach_snapshot
    - TRACE
    - _cairo_error
    - _cairo_surface_copy_mime_data
    - cairo_surface_reference
    - cairo_surface_destroy
    - _cairo_surface_has_snapshot
    - CAIRO_MUTEX_INIT
    - _cairo_surface_create_in_error
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'cairo_surface_t *_cairo_surface_snapshot (cairo_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_stroker_add_cap
      Src: /src/cairo/src/cairo-path-stroke.c:712,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - stroker
    - face
    argTypes:
    - cairo_stroker_t*
    - cairo_stroke_face_t*
    constantsTouched: []
    func_position:
      end: 713
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 713
    functionName: _cairo_stroker_add_leading_cap
    functionSourceFile: /src/cairo/src/cairo-path-stroke.c
    functionUses: []
    functionsReached:
    - _cairo_stroker_add_cap
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_stroker_add_leading_cap (cairo_stroker_t\
      \ *stroker,\t\t\t\tconst cairo_stroke_face_t *face) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_stroker_init
      Src: /src/cairo/src/cairo-path-stroke.c:1388,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke.c:1391,1
    - Dst: _cairo_path_fixed_interpret
      Src: /src/cairo/src/cairo-path-stroke.c:1399,1
    - Dst: _cairo_stroker_add_caps
      Src: /src/cairo/src/cairo-path-stroke.c:1412,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke.c:1408,1
    - Dst: _cairo_stroker_fini
      Src: /src/cairo/src/cairo-path-stroke.c:1415,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 14
    argCount: 9
    argNames:
    - path
    - stroke_style
    - ctm
    - ctm_inverse
    - tolerance
    - (*add_triangle)
    - (*add_triangle_fan)
    - (*add_convex_quad)
    - closure
    argTypes:
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_status_t
    - cairo_status_t
    - cairo_status_t
    - void*
    constantsTouched: []
    func_position:
      end: 1418
      start: 1369
    functionDepth: 0
    functionLinenumber: 1369
    functionLinenumberEnd: 1418
    functionName: _cairo_path_fixed_stroke_to_shaper
    functionSourceFile: /src/cairo/src/cairo-path-stroke.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_interpret
    - _cairo_stroker_init
    - _cairo_stroker_add_caps
    - _cairo_stroker_fini
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_path_fixed_stroke_to_shaper (cairo_path_fixed_t\t\
      *path,\t\t\t\t const cairo_stroke_style_t\t*stroke_style,\t\t\t\t const cairo_matrix_t\t\
      *ctm,\t\t\t\t const cairo_matrix_t\t*ctm_inverse,\t\t\t\t double\t\t tolerance,\t\
      \t\t\t cairo_status_t (*add_triangle) (void *closure,\t\t\t\t\t\t\t\t const\
      \ cairo_point_t triangle[3]),\t\t\t\t cairo_status_t (*add_triangle_fan) (void\
      \ *closure,\t\t\t\t\t\t\t\t\tconst cairo_point_t *midpt,\t\t\t\t\t\t\t\t\tconst\
      \ cairo_point_t *points,\t\t\t\t\t\t\t\t\tint npoints),\t\t\t\t cairo_status_t\
      \ (*add_convex_quad) (void *closure,\t\t\t\t\t\t\t\t const cairo_point_t quad[4]),\t\
      \t\t\t void *closure) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_stroker_add_cap
      Src: /src/cairo/src/cairo-path-stroke.c:719,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - stroker
    - face
    argTypes:
    - cairo_stroker_t*
    - cairo_stroke_face_t*
    constantsTouched: []
    func_position:
      end: 720
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 720
    functionName: _cairo_stroker_add_trailing_cap
    functionSourceFile: /src/cairo/src/cairo-path-stroke.c
    functionUses: []
    functionsReached:
    - _cairo_stroker_add_cap
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_stroker_add_trailing_cap (cairo_stroker_t\
      \ *stroker,\t\t\t\t const cairo_stroke_face_t *face) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_stroker_init
      Src: /src/cairo/src/cairo-path-stroke.c:1431,1
    - Dst: _cairo_stroker_add_caps
      Src: /src/cairo/src/cairo-path-stroke.c:1453,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke.c:1449,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke.c:1434,1
    - Dst: _cairo_path_fixed_interpret
      Src: /src/cairo/src/cairo-path-stroke.c:1440,1
    - Dst: _cairo_stroker_fini
      Src: /src/cairo/src/cairo-path-stroke.c:1456,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 6
    argNames:
    - path
    - stroke_style
    - ctm
    - ctm_inverse
    - tolerance
    - polygon
    argTypes:
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_polygon_t*
    constantsTouched: []
    func_position:
      end: 1459
      start: 1420
    functionDepth: 0
    functionLinenumber: 1420
    functionLinenumberEnd: 1459
    functionName: _cairo_path_fixed_stroke_dashed_to_polygon
    functionSourceFile: /src/cairo/src/cairo-path-stroke.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_interpret
    - _cairo_stroker_init
    - _cairo_stroker_add_caps
    - _cairo_stroker_fini
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_path_fixed_stroke_dashed_to_polygon (const cairo_path_fixed_t\t\
      *path,\t\t\t\t\t const cairo_stroke_style_t\t*stroke_style,\t\t\t\t\t const\
      \ cairo_matrix_t\t*ctm,\t\t\t\t\t const cairo_matrix_t\t*ctm_inverse,\t\t\t\t\
      \t double\t\t tolerance,\t\t\t\t\t cairo_polygon_t *polygon) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - point
    - offset
    argTypes:
    - cairo_point_t*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 190
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 190
    functionName: _translate_point
    functionSourceFile: /src/cairo/src/cairo-path-stroke.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _translate_point (cairo_point_t *point, const cairo_point_t
      *offset) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke.c:305,1
    - Dst: _translate_point
      Src: /src/cairo/src/cairo-path-stroke.c:284,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-path-stroke.c:323,1
    - Dst: _cairo_box_contains_point
      Src: /src/cairo/src/cairo-path-stroke.c:239,1
    - Dst: assert
      Src: /src/cairo/src/cairo-path-stroke.c:242,1
    - Dst: _translate_point
      Src: /src/cairo/src/cairo-path-stroke.c:253,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-path-stroke.c:275,1
    - Dst: _cairo_pen_find_active_cw_vertices
      Src: /src/cairo/src/cairo-path-stroke.c:293,1
    - Dst: _translate_point
      Src: /src/cairo/src/cairo-path-stroke.c:332,1
    - Dst: _cairo_pen_find_active_ccw_vertices
      Src: /src/cairo/src/cairo-path-stroke.c:245,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-path-stroke.c:322,1
    - Dst: _translate_point
      Src: /src/cairo/src/cairo-path-stroke.c:301,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke.c:324,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-path-stroke.c:325,1
    - Dst: free
      Src: /src/cairo/src/cairo-path-stroke.c:348,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke.c:257,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-path-stroke.c:274,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke.c:276,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-path-stroke.c:277,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 97
    argCount: 7
    argNames:
    - stroker
    - in_vector
    - out_vector
    - midpt
    - inpt
    - outpt
    - clockwise
    argTypes:
    - cairo_stroker_t*
    - cairo_slope_t*
    - cairo_slope_t*
    - cairo_point_t*
    - cairo_point_t*
    - cairo_point_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 365
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 365
    functionName: _tessellate_fan
    functionSourceFile: /src/cairo/src/cairo-path-stroke.c
    functionUses: []
    functionsReached:
    - _translate_point
    - _cairo_error
    - free
    - ARRAY_LENGTH
    - assert
    - _cairo_box_contains_point
    - _cairo_malloc_ab
    - _cairo_pen_find_active_cw_vertices
    - _cairo_pen_find_active_ccw_vertices
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _tessellate_fan (cairo_stroker_t *stroker,\t\
      \t const cairo_slope_t *in_vector,\t\t const cairo_slope_t *out_vector,\t\t\
      \ const cairo_point_t *midpt,\t\t const cairo_point_t *inpt,\t\t const cairo_point_t\
      \ *outpt,\t\t cairo_bool_t clockwise) "
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/cairo/src/cairo-path-stroke.c:526,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-path-stroke.c:526,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke.c:540,1
    - Dst: _cairo_slope_compare_sgn
      Src: /src/cairo/src/cairo-path-stroke.c:556,1
    - Dst: _cairo_slope_compare_sgn
      Src: /src/cairo/src/cairo-path-stroke.c:557,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke.c:566,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-stroke.c:589,1
    - Dst: _cairo_stroker_join_is_clockwise
      Src: /src/cairo/src/cairo-path-stroke.c:372,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke.c:392,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-stroke.c:561,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke.c:571,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-stroke.c:590,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke.c:387,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke.c:407,1
    - Dst: _tessellate_fan
      Src: /src/cairo/src/cairo-path-stroke.c:418,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke.c:576,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke.c:581,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke.c:402,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke.c:504,1
    - Dst: cairo_matrix_transform_distance
      Src: /src/cairo/src/cairo-path-stroke.c:507,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke.c:503,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke.c:510,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke.c:511,1
    - Dst: cairo_matrix_transform_distance
      Src: /src/cairo/src/cairo-path-stroke.c:514,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke.c:541,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-stroke.c:560,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 146
    argCount: 3
    argNames:
    - stroker
    - in
    - out
    argTypes:
    - cairo_stroker_t*
    - cairo_stroke_face_t*
    - cairo_stroke_face_t*
    constantsTouched: []
    func_position:
      end: 618
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 618
    functionName: _cairo_stroker_join
    functionSourceFile: /src/cairo/src/cairo-path-stroke.c
    functionUses: []
    functionsReached:
    - fabs
    - _cairo_fixed_to_double
    - _cairo_stroker_join_is_clockwise
    - _cairo_slope_compare_sgn
    - _cairo_fixed_from_double
    - cairo_matrix_transform_distance
    - _tessellate_fan
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_stroker_join (cairo_stroker_t *stroker,\t\
      \t const cairo_stroke_face_t *in,\t\t const cairo_stroke_face_t *out) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _compute_normalized_device_slope
      Src: /src/cairo/src/cairo-path-stroke.c:835,1
    - Dst: _cairo_stroker_add_leading_cap
      Src: /src/cairo/src/cairo-path-stroke.c:842,1
    - Dst: _compute_face
      Src: /src/cairo/src/cairo-path-stroke.c:840,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke.c:843,1
    - Dst: _cairo_stroker_add_trailing_cap
      Src: /src/cairo/src/cairo-path-stroke.c:846,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke.c:847,1
    - Dst: _cairo_stroker_add_leading_cap
      Src: /src/cairo/src/cairo-path-stroke.c:852,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke.c:854,1
    - Dst: _cairo_stroker_add_trailing_cap
      Src: /src/cairo/src/cairo-path-stroke.c:859,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke.c:861,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 1
    argNames:
    - stroker
    argTypes:
    - cairo_stroker_t*
    constantsTouched: []
    func_position:
      end: 866
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 866
    functionName: _cairo_stroker_add_caps
    functionSourceFile: /src/cairo/src/cairo-path-stroke.c
    functionUses: []
    functionsReached:
    - _compute_face
    - _cairo_stroker_add_leading_cap
    - _compute_normalized_device_slope
    - _cairo_stroker_add_trailing_cap
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_stroker_add_caps (cairo_stroker_t *stroker) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_stroker_line_to
      Src: /src/cairo/src/cairo-path-stroke.c:995,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - closure
    - point
    - tangent
    argTypes:
    - void*
    - cairo_point_t*
    - cairo_slope_t*
    constantsTouched: []
    func_position:
      end: 996
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 996
    functionName: _cairo_stroker_add_point_line_to
    functionSourceFile: /src/cairo/src/cairo-path-stroke.c
    functionUses: []
    functionsReached:
    - _cairo_stroker_line_to
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_stroker_add_point_line_to (void *closure,\t\
      \t\t\t const cairo_point_t *point,\t\t\t\t const cairo_slope_t *tangent) "
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_spline_init
      Src: /src/cairo/src/cairo-path-stroke.c:1260,1
    - Dst: line_to
      Src: /src/cairo/src/cairo-path-stroke.c:1267,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke.c:1277,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke.c:1278,1
    - Dst: _cairo_slope_init
      Src: /src/cairo/src/cairo-path-stroke.c:1266,1
    - Dst: _compute_normalized_device_slope
      Src: /src/cairo/src/cairo-path-stroke.c:1279,1
    - Dst: _compute_face
      Src: /src/cairo/src/cairo-path-stroke.c:1282,1
    - Dst: _cairo_stroker_join
      Src: /src/cairo/src/cairo-path-stroke.c:1288,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke.c:1290,1
    - Dst: _cairo_spline_decompose
      Src: /src/cairo/src/cairo-path-stroke.c:1306,1
    - Dst: _compute_face
      Src: /src/cairo/src/cairo-path-stroke.c:1317,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke.c:1307,1
    - Dst: _cairo_stroker_join
      Src: /src/cairo/src/cairo-path-stroke.c:1323,1
    - Dst: _compute_normalized_device_slope
      Src: /src/cairo/src/cairo-path-stroke.c:1314,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke.c:1312,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke.c:1313,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke.c:1324,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 49
    argCount: 4
    argNames:
    - closure
    - b
    - c
    - d
    argTypes:
    - void*
    - cairo_point_t*
    - cairo_point_t*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 1333
      start: 1236
    functionDepth: 0
    functionLinenumber: 1236
    functionLinenumberEnd: 1333
    functionName: _cairo_stroker_curve_to
    functionSourceFile: /src/cairo/src/cairo-path-stroke.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_to_double
    - _cairo_stroker_join
    - unlikely
    - _cairo_spline_decompose
    - _cairo_spline_init
    - _compute_normalized_device_slope
    - line_to
    - _cairo_slope_init
    - _compute_face
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_stroker_curve_to (void *closure,\t\t\t\
      \ const cairo_point_t *b,\t\t\t const cairo_point_t *c,\t\t\t const cairo_point_t\
      \ *d) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_boxes_get_extents
      Src: /src/cairo/src/cairo-path-stroke.c:102,1
    - Dst: _cairo_stroke_style_max_distance_from_path
      Src: /src/cairo/src/cairo-path-stroke.c:109,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-stroke.c:112,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-stroke.c:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - stroker
    - path
    - boxes
    - num_boxes
    argTypes:
    - cairo_stroker_t*
    - cairo_path_fixed_t*
    - cairo_box_t*
    - int
    constantsTouched: []
    func_position:
      end: 120
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 120
    functionName: _cairo_stroker_limit
    functionSourceFile: /src/cairo/src/cairo-path-stroke.c
    functionUses: []
    functionsReached:
    - _cairo_stroke_style_max_distance_from_path
    - _cairo_fixed_from_double
    - _cairo_boxes_get_extents
    linkageType: ''
    returnType: void
    signature: "static void _cairo_stroker_limit (cairo_stroker_t *stroker,\t\t const\
      \ cairo_path_fixed_t *path,\t\t const cairo_box_t *boxes,\t\t int num_boxes) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_slope_init
      Src: /src/cairo/src/cairo-path-stroke.c:198,1
    - Dst: _cairo_slope_init
      Src: /src/cairo/src/cairo-path-stroke.c:199,1
    - Dst: _cairo_slope_compare
      Src: /src/cairo/src/cairo-path-stroke.c:201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - cairo_stroke_face_t*
    - cairo_stroke_face_t*
    constantsTouched: []
    func_position:
      end: 202
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 202
    functionName: _cairo_stroker_join_is_clockwise
    functionSourceFile: /src/cairo/src/cairo-path-stroke.c
    functionUses: []
    functionsReached:
    - _cairo_slope_compare
    - _cairo_slope_init
    linkageType: ''
    returnType: int
    signature: "static int _cairo_stroker_join_is_clockwise (const cairo_stroke_face_t\
      \ *in,\t\t\t\t const cairo_stroke_face_t *out) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _tessellate_fan
      Src: /src/cairo/src/cairo-path-stroke.c:631,1
    - Dst: cairo_matrix_transform_distance
      Src: /src/cairo/src/cairo-path-stroke.c:648,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-stroke.c:650,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-stroke.c:649,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke.c:664,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke.c:669,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke.c:674,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 2
    argNames:
    - stroker
    - f
    argTypes:
    - cairo_stroker_t*
    - cairo_stroke_face_t*
    constantsTouched: []
    func_position:
      end: 692
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 692
    functionName: _cairo_stroker_add_cap
    functionSourceFile: /src/cairo/src/cairo-path-stroke.c
    functionUses: []
    functionsReached:
    - cairo_matrix_transform_distance
    - _cairo_fixed_from_double
    - _tessellate_fan
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_stroker_add_cap (cairo_stroker_t *stroker,\t\
      \t\tconst cairo_stroke_face_t *f) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _compute_face
      Src: /src/cairo/src/cairo-path-stroke.c:877,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke.c:899,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke.c:894,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 8
    argNames:
    - stroker
    - p1
    - p2
    - dev_slope
    - slope_dx
    - slope_dy
    - start
    - end
    argTypes:
    - cairo_stroker_t*
    - cairo_point_t*
    - cairo_point_t*
    - cairo_slope_t*
    - double
    - double
    - cairo_stroke_face_t*
    - cairo_stroke_face_t*
    constantsTouched: []
    func_position:
      end: 913
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 913
    functionName: _cairo_stroker_add_sub_edge
    functionSourceFile: /src/cairo/src/cairo-path-stroke.c
    functionUses: []
    functionsReached:
    - unlikely
    - _compute_face
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_stroker_add_sub_edge (cairo_stroker_t\
      \ *stroker,\t\t\t const cairo_point_t *p1,\t\t\t const cairo_point_t *p2,\t\t\
      \t cairo_slope_t *dev_slope,\t\t\t double slope_dx, double slope_dy,\t\t\t cairo_stroke_face_t\
      \ *start,\t\t\t cairo_stroke_face_t *end) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_stroker_line_to_dashed
      Src: /src/cairo/src/cairo-path-stroke.c:1342,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke.c:1345,1
    - Dst: _cairo_stroker_join
      Src: /src/cairo/src/cairo-path-stroke.c:1350,1
    - Dst: _cairo_stroker_line_to
      Src: /src/cairo/src/cairo-path-stroke.c:1344,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke.c:1353,1
    - Dst: _cairo_stroker_add_caps
      Src: /src/cairo/src/cairo-path-stroke.c:1357,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke.c:1358,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - closure
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1367
      start: 1335
    functionDepth: 0
    functionLinenumber: 1335
    functionLinenumberEnd: 1367
    functionName: _cairo_stroker_close_path
    functionSourceFile: /src/cairo/src/cairo-path-stroke.c
    functionUses: []
    functionsReached:
    - _cairo_stroker_line_to
    - _cairo_stroker_join
    - _cairo_stroker_line_to_dashed
    - _cairo_stroker_add_caps
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_stroker_close_path (void *closure) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - dx1
    - dy1
    - dx2
    - dy2
    argTypes:
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 218
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 218
    functionName: _cairo_slope_compare_sgn
    functionSourceFile: /src/cairo/src/cairo-path-stroke.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int _cairo_slope_compare_sgn (double dx1, double dy1, double
      dx2, double dy2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_matrix_compute_determinant
      Src: /src/cairo/src/cairo-path-stroke.c:152,1
    - Dst: _cairo_pen_init
      Src: /src/cairo/src/cairo-path-stroke.c:155,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke.c:157,1
    - Dst: memset
      Src: /src/cairo/src/cairo-path-stroke.c:165,1
    - Dst: memset
      Src: /src/cairo/src/cairo-path-stroke.c:166,1
    - Dst: _cairo_stroker_dash_init
      Src: /src/cairo/src/cairo-path-stroke.c:168,1
    - Dst: _cairo_stroker_limit
      Src: /src/cairo/src/cairo-path-stroke.c:174,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 8
    argNames:
    - stroker
    - path
    - stroke_style
    - ctm
    - ctm_inverse
    - tolerance
    - limits
    - num_limits
    argTypes:
    - cairo_stroker_t*
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_box_t*
    - int
    constantsTouched: []
    func_position:
      end: 177
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 177
    functionName: _cairo_stroker_init
    functionSourceFile: /src/cairo/src/cairo-path-stroke.c
    functionUses: []
    functionsReached:
    - _cairo_stroker_dash_init
    - _cairo_pen_init
    - _cairo_matrix_compute_determinant
    - _cairo_stroker_limit
    - memset
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_stroker_init (cairo_stroker_t\t\t*stroker,\t\
      \t const cairo_path_fixed_t\t*path,\t\t const cairo_stroke_style_t\t*stroke_style,\t\
      \t const cairo_matrix_t\t*ctm,\t\t const cairo_matrix_t\t*ctm_inverse,\t\t double\t\
      \t\t tolerance,\t\t const cairo_box_t\t\t*limits,\t\t int\t\t\t num_limits) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_stroker_dash_start
      Src: /src/cairo/src/cairo-path-stroke.c:923,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke.c:927,1
    - Dst: _cairo_stroker_add_caps
      Src: /src/cairo/src/cairo-path-stroke.c:926,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - closure
    - point
    argTypes:
    - void*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 938
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 938
    functionName: _cairo_stroker_move_to
    functionSourceFile: /src/cairo/src/cairo-path-stroke.c
    functionUses: []
    functionsReached:
    - _cairo_stroker_dash_start
    - _cairo_stroker_add_caps
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_stroker_move_to (void *closure,\t\t\t\
      const cairo_point_t *point) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke.c:1015,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke.c:1016,1
    - Dst: assert
      Src: /src/cairo/src/cairo-path-stroke.c:1026,1
    - Dst: _compute_normalized_device_slope
      Src: /src/cairo/src/cairo-path-stroke.c:1018,1
    - Dst: _compute_face
      Src: /src/cairo/src/cairo-path-stroke.c:1022,1
    - Dst: _cairo_stroker_join_is_clockwise
      Src: /src/cairo/src/cairo-path-stroke.c:1032,1
    - Dst: _tessellate_fan
      Src: /src/cairo/src/cairo-path-stroke.c:1043,1
    - Dst: _slow_segment_intersection
      Src: /src/cairo/src/cairo-path-stroke.c:1051,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 3
    argNames:
    - closure
    - point
    - tangent
    argTypes:
    - void*
    - cairo_point_t*
    - cairo_slope_t*
    constantsTouched: []
    func_position:
      end: 1081
      start: 998
    functionDepth: 0
    functionLinenumber: 998
    functionLinenumberEnd: 1081
    functionName: _cairo_stroker_spline_to
    functionSourceFile: /src/cairo/src/cairo-path-stroke.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_to_double
    - _cairo_stroker_join_is_clockwise
    - assert
    - _slow_segment_intersection
    - _compute_normalized_device_slope
    - _tessellate_fan
    - _compute_face
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_stroker_spline_to (void *closure,\t\t\
      \t const cairo_point_t *point,\t\t\t const cairo_slope_t *tangent) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pen_fini
      Src: /src/cairo/src/cairo-path-stroke.c:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - stroker
    argTypes:
    - cairo_stroker_t*
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: _cairo_stroker_fini
    functionSourceFile: /src/cairo/src/cairo-path-stroke.c
    functionUses: []
    functionsReached:
    - _cairo_pen_fini
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_stroker_fini (cairo_stroker_t *stroker) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_slope_init
      Src: /src/cairo/src/cairo-path-stroke.c:956,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke.c:957,1
    - Dst: _cairo_stroker_add_sub_edge
      Src: /src/cairo/src/cairo-path-stroke.c:962,1
    - Dst: _compute_normalized_device_slope
      Src: /src/cairo/src/cairo-path-stroke.c:959,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke.c:958,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke.c:967,1
    - Dst: _cairo_stroker_join
      Src: /src/cairo/src/cairo-path-stroke.c:972,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke.c:975,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 2
    argNames:
    - closure
    - point
    argTypes:
    - void*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 988
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 988
    functionName: _cairo_stroker_line_to
    functionSourceFile: /src/cairo/src/cairo-path-stroke.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_to_double
    - _cairo_stroker_join
    - _cairo_stroker_add_sub_edge
    - _compute_normalized_device_slope
    - _cairo_slope_init
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_stroker_line_to (void *closure,\t\t\t\
      const cairo_point_t *point) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_polygon_init
      Src: /src/cairo/src/cairo-path-stroke.c:1472,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke.c:1479,1
    - Dst: _cairo_path_fixed_stroke_to_polygon
      Src: /src/cairo/src/cairo-path-stroke.c:1473,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke.c:1483,1
    - Dst: _cairo_polygon_status
      Src: /src/cairo/src/cairo-path-stroke.c:1482,1
    - Dst: _cairo_bentley_ottmann_tessellate_polygon
      Src: /src/cairo/src/cairo-path-stroke.c:1486,1
    - Dst: _cairo_polygon_fini
      Src: /src/cairo/src/cairo-path-stroke.c:1490,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 6
    argNames:
    - path
    - stroke_style
    - ctm
    - ctm_inverse
    - tolerance
    - traps
    argTypes:
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_traps_t*
    constantsTouched: []
    func_position:
      end: 1493
      start: 1461
    functionDepth: 0
    functionLinenumber: 1461
    functionLinenumberEnd: 1493
    functionName: _cairo_path_fixed_stroke_polygon_to_traps
    functionSourceFile: /src/cairo/src/cairo-path-stroke.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_stroke_to_polygon
    - _cairo_bentley_ottmann_tessellate_polygon
    - _cairo_polygon_fini
    - _cairo_polygon_init
    - _cairo_polygon_status
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_path_fixed_stroke_polygon_to_traps (const\
      \ cairo_path_fixed_t\t*path, const cairo_stroke_style_t\t*stroke_style, const\
      \ cairo_matrix_t\t*ctm, const cairo_matrix_t\t*ctm_inverse, double\t\t tolerance,\
      \ cairo_traps_t\t*traps) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_transform_distance
      Src: /src/cairo/src/cairo-path-stroke.c:730,1
    - Dst: hypot
      Src: /src/cairo/src/cairo-path-stroke.c:757,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 4
    argNames:
    - dx
    - dy
    - ctm_inverse
    - mag_out
    argTypes:
    - double*
    - double*
    - cairo_matrix_t*
    - double*
    constantsTouched: []
    func_position:
      end: 766
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 766
    functionName: _compute_normalized_device_slope
    functionSourceFile: /src/cairo/src/cairo-path-stroke.c
    functionUses: []
    functionsReached:
    - hypot
    - cairo_matrix_transform_distance
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static inline cairo_bool_t _compute_normalized_device_slope (double\
      \ *dx, double *dy,\t\t\t\t const cairo_matrix_t *ctm_inverse,\t\t\t\t double\
      \ *mag_out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_stroker_line_to_dashed
      Src: /src/cairo/src/cairo-path-stroke.c:1233,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - closure
    - point
    - tangent
    argTypes:
    - void*
    - cairo_point_t*
    - cairo_slope_t*
    constantsTouched: []
    func_position:
      end: 1234
      start: 1228
    functionDepth: 0
    functionLinenumber: 1228
    functionLinenumberEnd: 1234
    functionName: _cairo_stroker_add_point_line_to_dashed
    functionSourceFile: /src/cairo/src/cairo-path-stroke.c
    functionUses: []
    functionsReached:
    - _cairo_stroker_line_to_dashed
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_stroker_add_point_line_to_dashed (void\
      \ *closure,\t\t\t\t\t const cairo_point_t *point,\t\t\t\t\t const cairo_slope_t\
      \ *tangent) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_transform_distance
      Src: /src/cairo/src/cairo-path-stroke.c:798,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-stroke.c:801,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-stroke.c:800,1
    - Dst: _translate_point
      Src: /src/cairo/src/cairo-path-stroke.c:811,1
    - Dst: _translate_point
      Src: /src/cairo/src/cairo-path-stroke.c:806,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 6
    argNames:
    - point
    - dev_slope
    - slope_dx
    - slope_dy
    - stroker
    - face
    argTypes:
    - cairo_point_t*
    - cairo_slope_t*
    - double
    - double
    - cairo_stroker_t*
    - cairo_stroke_face_t*
    constantsTouched: []
    func_position:
      end: 817
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 817
    functionName: _compute_face
    functionSourceFile: /src/cairo/src/cairo-path-stroke.c
    functionUses: []
    functionsReached:
    - cairo_matrix_transform_distance
    - _translate_point
    - _cairo_fixed_from_double
    linkageType: ''
    returnType: void
    signature: "static void _compute_face (const cairo_point_t *point,\t const cairo_slope_t\
      \ *dev_slope,\t double slope_dx,\t double slope_dy,\t cairo_stroker_t *stroker,\t\
      \ cairo_stroke_face_t *face) "
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke.c:1116,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-path-stroke.c:1117,1
    - Dst: cairo_matrix_transform_distance
      Src: /src/cairo/src/cairo-path-stroke.c:1132,1
    - Dst: _cairo_stroker_add_leading_cap
      Src: /src/cairo/src/cairo-path-stroke.c:1170,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke.c:1189,1
    - Dst: _cairo_box_contains_point
      Src: /src/cairo/src/cairo-path-stroke.c:1108,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke.c:1171,1
    - Dst: _cairo_stroker_add_sub_edge
      Src: /src/cairo/src/cairo-path-stroke.c:1141,1
    - Dst: _cairo_stroker_dash_step
      Src: /src/cairo/src/cairo-path-stroke.c:1196,1
    - Dst: _compute_face
      Src: /src/cairo/src/cairo-path-stroke.c:1210,1
    - Dst: _cairo_box_contains_point
      Src: /src/cairo/src/cairo-path-stroke.c:1109,1
    - Dst: MIN
      Src: /src/cairo/src/cairo-path-stroke.c:1128,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-stroke.c:1134,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke.c:1146,1
    - Dst: _cairo_stroker_join
      Src: /src/cairo/src/cairo-path-stroke.c:1152,1
    - Dst: _cairo_box_intersects_line_segment
      Src: /src/cairo/src/cairo-path-stroke.c:1139,1
    - Dst: _cairo_stroker_add_trailing_cap
      Src: /src/cairo/src/cairo-path-stroke.c:1177,1
    - Dst: _cairo_stroker_add_leading_cap
      Src: /src/cairo/src/cairo-path-stroke.c:1215,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke.c:1217,1
    - Dst: _cairo_slope_init
      Src: /src/cairo/src/cairo-path-stroke.c:1114,1
    - Dst: _compute_normalized_device_slope
      Src: /src/cairo/src/cairo-path-stroke.c:1119,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-stroke.c:1133,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke.c:1178,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-path-stroke.c:1155,1
    - Dst: _cairo_stroker_add_trailing_cap
      Src: /src/cairo/src/cairo-path-stroke.c:1187,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 91
    argCount: 2
    argNames:
    - closure
    - p2
    argTypes:
    - void*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 1226
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1226
    functionName: _cairo_stroker_line_to_dashed
    functionSourceFile: /src/cairo/src/cairo-path-stroke.c
    functionUses: []
    functionsReached:
    - _cairo_box_intersects_line_segment
    - _cairo_stroker_dash_step
    - _compute_face
    - _cairo_fixed_to_double
    - _cairo_stroker_join
    - _cairo_stroker_add_sub_edge
    - MIN
    - _cairo_stroker_add_leading_cap
    - _cairo_box_contains_point
    - _compute_normalized_device_slope
    - _cairo_fixed_from_double
    - _cairo_slope_init
    - cairo_matrix_transform_distance
    - _cairo_stroker_add_trailing_cap
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_stroker_line_to_dashed (void *closure,\t\
      \t\t const cairo_point_t *p2) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rol
      Src: /src/cairo/src/cairo-image-source.c:169,1
    - Dst: rol
      Src: /src/cairo/src/cairo-image-source.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 171
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 171
    functionName: hars_petruska_f54_1_random
    functionSourceFile: /src/cairo/src/cairo-image-source.c
    functionUses: []
    functionsReached:
    - rol
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t hars_petruska_f54_1_random (void) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_16_16_from_double
      Src: /src/cairo/src/cairo-image-source.c:325,1
    - Dst: pixman_image_create_linear_gradient
      Src: /src/cairo/src/cairo-image-source.c:330,1
    - Dst: _cairo_matrix_to_pixman_matrix_offset
      Src: /src/cairo/src/cairo-image-source.c:351,1
    - Dst: _cairo_fixed_16_16_from_double
      Src: /src/cairo/src/cairo-image-source.c:336,1
    - Dst: pixman_image_create_radial_gradient
      Src: /src/cairo/src/cairo-image-source.c:339,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-source.c:310,1
    - Dst: _cairo_fixed_16_16_from_double
      Src: /src/cairo/src/cairo-image-source.c:315,1
    - Dst: _cairo_gradient_pattern_fit_to_range
      Src: /src/cairo/src/cairo-image-source.c:322,1
    - Dst: _cairo_fixed_16_16_from_double
      Src: /src/cairo/src/cairo-image-source.c:324,1
    - Dst: _cairo_fixed_16_16_from_double
      Src: /src/cairo/src/cairo-image-source.c:337,1
    - Dst: free
      Src: /src/cairo/src/cairo-image-source.c:345,1
    - Dst: pixman_image_unref
      Src: /src/cairo/src/cairo-image-source.c:359,1
    - Dst: pixman_image_set_repeat
      Src: /src/cairo/src/cairo-image-source.c:383,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-image-source.c:307,1
    - Dst: _cairo_fixed_16_16_from_double
      Src: /src/cairo/src/cairo-image-source.c:327,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-source.c:347,1
    - Dst: TRACE
      Src: /src/cairo/src/cairo-image-source.c:305,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-image-source.c:308,1
    - Dst: _cairo_fixed_16_16_from_double
      Src: /src/cairo/src/cairo-image-source.c:326,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-source.c:356,1
    - Dst: pixman_image_set_transform
      Src: /src/cairo/src/cairo-image-source.c:357,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 387
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 387
    functionName: _pixman_image_for_gradient
    functionSourceFile: /src/cairo/src/cairo-image-source.c
    functionUses: []
    functionsReached:
    - _cairo_matrix_to_pixman_matrix_offset
    - _cairo_gradient_pattern_fit_to_range
    - TRACE
    - pixman_image_create_radial_gradient
    - _cairo_fixed_16_16_from_double
    - free
    - ARRAY_LENGTH
    - pixman_image_create_linear_gradient
    - pixman_image_unref
    - pixman_image_set_repeat
    - pixman_image_set_transform
    - _cairo_malloc_ab
    - unlikely
    linkageType: ''
    returnType: pixman_image_t*
    signature: "static pixman_image_t *_pixman_image_for_gradient (const cairo_gradient_pattern_t\
      \ *pattern,\t\t\t const cairo_rectangle_int_t *extents,\t\t\t int *ix, int *iy) "
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: _pixman_transparent_image
      Src: /src/cairo/src/cairo-image-source.c:470,1
    - Dst: _pixman_black_image
      Src: /src/cairo/src/cairo-image-source.c:470,1
    - Dst: pixman_image_create_solid_fill
      Src: /src/cairo/src/cairo-image-source.c:481,1
    - Dst: expand_channel
      Src: /src/cairo/src/cairo-image-source.c:491,1
    - Dst: expand_channel
      Src: /src/cairo/src/cairo-image-source.c:508,1
    - Dst: expand_channel
      Src: /src/cairo/src/cairo-image-source.c:493,1
    - Dst: _pixman_black_image
      Src: /src/cairo/src/cairo-image-source.c:520,1
    - Dst: _pixman_black_image
      Src: /src/cairo/src/cairo-image-source.c:478,1
    - Dst: _pixman_white_image
      Src: /src/cairo/src/cairo-image-source.c:488,1
    - Dst: expand_channel
      Src: /src/cairo/src/cairo-image-source.c:506,1
    - Dst: _pixman_white_image
      Src: /src/cairo/src/cairo-image-source.c:518,1
    - Dst: pixman_image_create_solid_fill
      Src: /src/cairo/src/cairo-image-source.c:525,1
    - Dst: _pixman_transparent_image
      Src: /src/cairo/src/cairo-image-source.c:535,1
    - Dst: TRACE
      Src: /src/cairo/src/cairo-image-source.c:460,1
    - Dst: _pixman_black_image
      Src: /src/cairo/src/cairo-image-source.c:486,1
    - Dst: _pixman_transparent_image
      Src: /src/cairo/src/cairo-image-source.c:516,1
    - Dst: expand_channel
      Src: /src/cairo/src/cairo-image-source.c:507,1
    - Dst: _pixman_black_image
      Src: /src/cairo/src/cairo-image-source.c:544,1
    - Dst: _pixman_white_image
      Src: /src/cairo/src/cairo-image-source.c:546,1
    - Dst: _pixman_transparent_image
      Src: /src/cairo/src/cairo-image-source.c:476,1
    - Dst: expand_channel
      Src: /src/cairo/src/cairo-image-source.c:492,1
    - Dst: _pixman_black_image
      Src: /src/cairo/src/cairo-image-source.c:500,1
    - Dst: pixman_image_create_solid_fill
      Src: /src/cairo/src/cairo-image-source.c:509,1
    - Dst: _pixman_white_image
      Src: /src/cairo/src/cairo-image-source.c:502,1
    - Dst: pixman_image_create_solid_fill
      Src: /src/cairo/src/cairo-image-source.c:494,1
    - Dst: pixman_image_create_solid_fill
      Src: /src/cairo/src/cairo-image-source.c:551,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 151
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 553
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 553
    functionName: _pixel_to_solid
    functionSourceFile: /src/cairo/src/cairo-image-source.c
    functionUses: []
    functionsReached:
    - _pixman_white_image
    - TRACE
    - _pixman_black_image
    - _pixman_transparent_image
    - expand_channel
    - pixman_image_create_solid_fill
    linkageType: ''
    returnType: pixman_image_t*
    signature: 'static pixman_image_t *_pixel_to_solid (cairo_image_surface_t *image,
      int x, int y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - r
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 608
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 608
    functionName: impulse_width
    functionSourceFile: /src/cairo/src/cairo-image-source.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int impulse_width (double r) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: general_cubic
      Src: /src/cairo/src/cairo-image-source.c:669,1
    - Dst: general_cubic
      Src: /src/cairo/src/cairo-image-source.c:670,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-image-source.c:672,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 54
    argCount: 4
    argNames:
    - x
    - r
    - B
    - C
    argTypes:
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 691
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 691
    functionName: general_cubic
    functionSourceFile: /src/cairo/src/cairo-image-source.c
    functionUses: []
    functionsReached:
    - fabs
    - general_cubic
    linkageType: ''
    returnType: double
    signature: 'static double general_cubic (double x, double r, double B, double
      C) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pixman_int_to_fixed
      Src: /src/cairo/src/cairo-image-source.c:905,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-image-source.c:901,1
    - Dst: pixman_int_to_fixed
      Src: /src/cairo/src/cairo-image-source.c:904,1
    - Dst: pixman_int_to_fixed
      Src: /src/cairo/src/cairo-image-source.c:906,1
    - Dst: pixman_int_to_fixed
      Src: /src/cairo/src/cairo-image-source.c:907,1
    - Dst: get_filter
      Src: /src/cairo/src/cairo-image-source.c:909,1
    - Dst: get_filter
      Src: /src/cairo/src/cairo-image-source.c:910,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 913
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 913
    functionName: create_separable_convolution
    functionSourceFile: /src/cairo/src/cairo-image-source.c
    functionUses: []
    functionsReached:
    - _cairo_malloc
    - pixman_int_to_fixed
    - get_filter
    linkageType: ''
    returnType: pixman_fixed_t*
    signature: "static pixman_fixed_t *create_separable_convolution (int *n_values,\t\
      \t\t kernel_t xfilter,\t\t\t double sx,\t\t\t kernel_t yfilter,\t\t\t double\
      \ sy) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-image-source.c:1502,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-image-source.c:1531,1
    - Dst: pixman_image_unref
      Src: /src/cairo/src/cairo-image-source.c:1549,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-source.c:1508,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-source.c:1532,1
    - Dst: _pixman_image_set_properties
      Src: /src/cairo/src/cairo-image-source.c:1546,1
    - Dst: _cairo_raster_source_pattern_release
      Src: /src/cairo/src/cairo-image-source.c:1535,1
    - Dst: _cairo_raster_source_pattern_release
      Src: /src/cairo/src/cairo-image-source.c:1513,1
    - Dst: assert
      Src: /src/cairo/src/cairo-image-source.c:1517,1
    - Dst: assert
      Src: /src/cairo/src/cairo-image-source.c:1518,1
    - Dst: pixman_image_create_bits
      Src: /src/cairo/src/cairo-image-source.c:1520,1
    - Dst: _cairo_surface_release_source_image
      Src: /src/cairo/src/cairo-image-source.c:1526,1
    - Dst: pixman_image_unref
      Src: /src/cairo/src/cairo-image-source.c:1533,1
    - Dst: pixman_image_set_destroy_function
      Src: /src/cairo/src/cairo-image-source.c:1543,1
    - Dst: _cairo_surface_release_source_image
      Src: /src/cairo/src/cairo-image-source.c:1534,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-source.c:1512,1
    - Dst: _cairo_surface_acquire_source_image
      Src: /src/cairo/src/cairo-image-source.c:1511,1
    - Dst: _cairo_raster_source_pattern_acquire
      Src: /src/cairo/src/cairo-image-source.c:1506,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-source.c:1525,1
    - Dst: _cairo_raster_source_pattern_release
      Src: /src/cairo/src/cairo-image-source.c:1527,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1554
      start: 1487
    functionDepth: 0
    functionLinenumber: 1487
    functionLinenumberEnd: 1554
    functionName: _pixman_image_for_raster
    functionSourceFile: /src/cairo/src/cairo-image-source.c
    functionUses: []
    functionsReached:
    - _cairo_surface_release_source_image
    - TRACE
    - _cairo_raster_source_pattern_acquire
    - pixman_image_unref
    - assert
    - _pixman_image_set_properties
    - _cairo_surface_acquire_source_image
    - pixman_image_set_destroy_function
    - _cairo_raster_source_pattern_release
    - pixman_image_create_bits
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: pixman_image_t*
    signature: "static pixman_image_t *_pixman_image_for_raster (cairo_image_surface_t\
      \ *dst,\t\t\t const cairo_raster_source_pattern_t *pattern,\t\t\t cairo_bool_t\
      \ is_mask,\t\t\t const cairo_rectangle_int_t *extents,\t\t\t const cairo_rectangle_int_t\
      \ *sample,\t\t\t int *ix, int *iy) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-image-source.c:73,1
    - Dst: _cairo_atomic_ptr_cmpxchg
      Src: /src/cairo/src/cairo-image-source.c:88,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-source.c:76,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-source.c:85,1
    - Dst: pixman_image_create_solid_fill
      Src: /src/cairo/src/cairo-image-source.c:84,1
    - Dst: pixman_image_ref
      Src: /src/cairo/src/cairo-image-source.c:91,1
    - Dst: pixman_image_ref
      Src: /src/cairo/src/cairo-image-source.c:94,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 98
    functionName: _pixman_transparent_image
    functionSourceFile: /src/cairo/src/cairo-image-source.c
    functionUses: []
    functionsReached:
    - pixman_image_ref
    - TRACE
    - _cairo_atomic_ptr_cmpxchg
    - pixman_image_create_solid_fill
    - unlikely
    linkageType: ''
    returnType: pixman_image_t*
    signature: 'static pixman_image_t *_pixman_transparent_image (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-image-source.c:397,1
    - Dst: pixman_image_create_bits
      Src: /src/cairo/src/cairo-image-source.c:404,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-source.c:405,1
    - Dst: _cairo_mesh_pattern_rasterize
      Src: /src/cairo/src/cairo-image-source.c:408,1
    - Dst: pixman_image_get_data
      Src: /src/cairo/src/cairo-image-source.c:409,1
    - Dst: pixman_image_get_stride
      Src: /src/cairo/src/cairo-image-source.c:411,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 414
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 414
    functionName: _pixman_image_for_mesh
    functionSourceFile: /src/cairo/src/cairo-image-source.c
    functionUses: []
    functionsReached:
    - TRACE
    - pixman_image_get_data
    - _cairo_mesh_pattern_rasterize
    - pixman_image_get_stride
    - pixman_image_create_bits
    - unlikely
    linkageType: ''
    returnType: pixman_image_t*
    signature: "static pixman_image_t *_pixman_image_for_mesh (const cairo_mesh_pattern_t\
      \ *pattern,\t\t\tconst cairo_rectangle_int_t *extents,\t\t\tint *tx, int *ty) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-image-source.c:1566,1
    - Dst: _pixman_image_for_gradient
      Src: /src/cairo/src/cairo-image-source.c:1579,1
    - Dst: _pixman_image_for_color
      Src: /src/cairo/src/cairo-image-source.c:1575,1
    - Dst: _pixman_image_for_mesh
      Src: /src/cairo/src/cairo-image-source.c:1583,1
    - Dst: _pixman_white_image
      Src: /src/cairo/src/cairo-image-source.c:1569,1
    - Dst: _pixman_image_for_surface
      Src: /src/cairo/src/cairo-image-source.c:1587,1
    - Dst: _pixman_image_for_raster
      Src: /src/cairo/src/cairo-image-source.c:1593,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1598
      start: 1556
    functionDepth: 0
    functionLinenumber: 1556
    functionLinenumberEnd: 1598
    functionName: _pixman_image_for_pattern
    functionSourceFile: /src/cairo/src/cairo-image-source.c
    functionUses: []
    functionsReached:
    - _pixman_white_image
    - TRACE
    - _pixman_image_for_mesh
    - _pixman_image_for_surface
    - _pixman_image_for_raster
    - _pixman_image_for_gradient
    - _pixman_image_for_color
    linkageType: ''
    returnType: pixman_image_t*
    signature: "pixman_image_t *_pixman_image_for_pattern (cairo_image_surface_t *dst,\t\
      \t\t const cairo_pattern_t *pattern,\t\t\t cairo_bool_t is_mask,\t\t\t const\
      \ cairo_rectangle_int_t *extents,\t\t\t const cairo_rectangle_int_t *sample,\t\
      \t\t int *tx, int *ty) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - r
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 656
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 656
    functionName: linear_width
    functionSourceFile: /src/cairo/src/cairo-image-source.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int linear_width (double r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ceil
      Src: /src/cairo/src/cairo-image-source.c:631,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 632
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 632
    functionName: box_width
    functionSourceFile: /src/cairo/src/cairo-image-source.c
    functionUses: []
    functionsReached:
    - ceil
    linkageType: ''
    returnType: int
    signature: 'static int box_width (double r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MAX
      Src: /src/cairo/src/cairo-image-source.c:696,1
    - Dst: ceil
      Src: /src/cairo/src/cairo-image-source.c:696,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 697
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 697
    functionName: cubic_width
    functionSourceFile: /src/cairo/src/cairo-image-source.c
    functionUses: []
    functionsReached:
    - ceil
    - MAX
    linkageType: ''
    returnType: int
    signature: 'static int cubic_width (double r) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ceil
      Src: /src/cairo/src/cairo-image-source.c:850,1
    - Dst: func
      Src: /src/cairo/src/cairo-image-source.c:857,1
    - Dst: pixman_double_to_fixed
      Src: /src/cairo/src/cairo-image-source.c:859,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 5
    argNames:
    - filter
    - r
    - width
    - subsample
    - out
    argTypes:
    - kernel_t
    - double
    - int
    - int
    - pixman_fixed_t*
    constantsTouched: []
    func_position:
      end: 872
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 872
    functionName: get_filter
    functionSourceFile: /src/cairo/src/cairo-image-source.c
    functionUses: []
    functionsReached:
    - ceil
    - func
    - pixman_double_to_fixed
    linkageType: ''
    returnType: void
    signature: "static void get_filter(kernel_t filter, double r,\t\t int width, int\
      \ subsample,\t\t pixman_fixed_t* out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_acquire_source_image
      Src: /src/cairo/src/cairo-image-source.c:1067,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 3
    argNames:
    - abstract_surface
    - image_out
    - image_extra
    argTypes:
    - void*
    - cairo_image_surface_t**
    - void**
    constantsTouched: []
    func_position:
      end: 1068
      start: 1061
    functionDepth: 0
    functionLinenumber: 1061
    functionLinenumberEnd: 1068
    functionName: proxy_acquire_source_image
    functionSourceFile: /src/cairo/src/cairo-image-source.c
    functionUses: []
    functionsReached:
    - _cairo_surface_acquire_source_image
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t proxy_acquire_source_image (void\t\t\t *abstract_surface,\t\
      \t\t cairo_image_surface_t\t**image_out,\t\t\t void\t\t\t**image_extra) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-image-source.c:1106,1
    - Dst: _cairo_surface_init
      Src: /src/cairo/src/cairo-image-source.c:1110,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-image-source.c:1108,1
    - Dst: _cairo_surface_attach_snapshot
      Src: /src/cairo/src/cairo-image-source.c:1113,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-source.c:1107,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1116
    functionName: attach_proxy
    functionSourceFile: /src/cairo/src/cairo-image-source.c
    functionUses: []
    functionsReached:
    - _cairo_surface_init
    - _cairo_surface_attach_snapshot
    - _cairo_surface_create_in_error
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *attach_proxy (cairo_surface_t *source,\t cairo_surface_t\
      \ *image) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MAX
      Src: /src/cairo/src/cairo-image-source.c:624,1
    - Dst: MIN
      Src: /src/cairo/src/cairo-image-source.c:625,1
    - Dst: MIN
      Src: /src/cairo/src/cairo-image-source.c:624,1
    - Dst: MIN
      Src: /src/cairo/src/cairo-image-source.c:624,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - x
    - r
    argTypes:
    - double
    - double
    constantsTouched: []
    func_position:
      end: 626
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 626
    functionName: box_kernel
    functionSourceFile: /src/cairo/src/cairo-image-source.c
    functionUses: []
    functionsReached:
    - MIN
    - MAX
    linkageType: ''
    returnType: double
    signature: 'static double box_kernel (double x, double r) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_matrix_to_pixman_matrix_offset
      Src: /src/cairo/src/cairo-image-source.c:926,1
    - Dst: hypot
      Src: /src/cairo/src/cairo-image-source.c:956,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-source.c:937,1
    - Dst: pixman_image_set_filter
      Src: /src/cairo/src/cairo-image-source.c:935,1
    - Dst: pixman_image_set_transform
      Src: /src/cairo/src/cairo-image-source.c:938,1
    - Dst: hypot
      Src: /src/cairo/src/cairo-image-source.c:957,1
    - Dst: create_separable_convolution
      Src: /src/cairo/src/cairo-image-source.c:1018,1
    - Dst: pixman_image_set_filter
      Src: /src/cairo/src/cairo-image-source.c:1020,1
    - Dst: free
      Src: /src/cairo/src/cairo-image-source.c:1022,1
    - Dst: pixman_image_set_filter
      Src: /src/cairo/src/cairo-image-source.c:1024,1
    - Dst: pixman_image_set_component_alpha
      Src: /src/cairo/src/cairo-image-source.c:1051,1
    - Dst: pixman_image_set_repeat
      Src: /src/cairo/src/cairo-image-source.c:1047,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 94
    argCount: 5
    argNames:
    - pixman_image
    - pattern
    - extents
    - ix
    - iy
    argTypes:
    - pixman_image_t*
    - cairo_pattern_t*
    - cairo_rectangle_int_t*
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 1054
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 1054
    functionName: _pixman_image_set_properties
    functionSourceFile: /src/cairo/src/cairo-image-source.c
    functionUses: []
    functionsReached:
    - _cairo_matrix_to_pixman_matrix_offset
    - pixman_image_set_component_alpha
    - free
    - hypot
    - unlikely
    - pixman_image_set_repeat
    - create_separable_convolution
    - pixman_image_set_filter
    - pixman_image_set_transform
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _pixman_image_set_properties (pixman_image_t *pixman_image,\t\
      \t\t const cairo_pattern_t *pattern,\t\t\t const cairo_rectangle_int_t *extents,\t\
      \t\t int *ix,int *iy) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-image-source.c:183,1
    - Dst: _pixman_image_for_color
      Src: /src/cairo/src/cairo-image-source.c:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 185
    functionName: _pixman_transparent_image
    functionSourceFile: /src/cairo/src/cairo-image-source.c
    functionUses: []
    functionsReached:
    - TRACE
    - _pixman_image_for_color
    linkageType: ''
    returnType: pixman_image_t*
    signature: 'static pixman_image_t *_pixman_transparent_image (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-image-source.c:105,1
    - Dst: pixman_image_create_solid_fill
      Src: /src/cairo/src/cairo-image-source.c:116,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-source.c:117,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-source.c:108,1
    - Dst: _cairo_atomic_ptr_cmpxchg
      Src: /src/cairo/src/cairo-image-source.c:120,1
    - Dst: pixman_image_ref
      Src: /src/cairo/src/cairo-image-source.c:123,1
    - Dst: pixman_image_ref
      Src: /src/cairo/src/cairo-image-source.c:126,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 130
    functionName: _pixman_black_image
    functionSourceFile: /src/cairo/src/cairo-image-source.c
    functionUses: []
    functionsReached:
    - pixman_image_ref
    - TRACE
    - _cairo_atomic_ptr_cmpxchg
    - pixman_image_create_solid_fill
    - unlikely
    linkageType: ''
    returnType: pixman_image_t*
    signature: 'static pixman_image_t *_pixman_black_image (void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_COLOR_IS_CLEAR
      Src: /src/cairo/src/cairo-image-source.c:212,1
    - Dst: _pixman_white_image
      Src: /src/cairo/src/cairo-image-source.c:227,1
    - Dst: _pixman_transparent_image
      Src: /src/cairo/src/cairo-image-source.c:213,1
    - Dst: CAIRO_COLOR_IS_OPAQUE
      Src: /src/cairo/src/cairo-image-source.c:215,1
    - Dst: _pixman_black_image
      Src: /src/cairo/src/cairo-image-source.c:220,1
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/cairo-image-source.c:231,1
    - Dst: _cairo_color_equal
      Src: /src/cairo/src/cairo-image-source.c:233,1
    - Dst: pixman_image_ref
      Src: /src/cairo/src/cairo-image-source.c:234,1
    - Dst: pixman_image_create_solid_fill
      Src: /src/cairo/src/cairo-image-source.c:245,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-image-source.c:250,1
    - Dst: pixman_image_ref
      Src: /src/cairo/src/cairo-image-source.c:256,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-image-source.c:253,1
    - Dst: pixman_image_unref
      Src: /src/cairo/src/cairo-image-source.c:254,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/cairo-image-source.c:260,1
    - Dst: hars_petruska_f54_1_random
      Src: /src/cairo/src/cairo-image-source.c:253,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 263
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 263
    functionName: _pixman_image_for_color
    functionSourceFile: /src/cairo/src/cairo-image-source.c
    functionUses: []
    functionsReached:
    - _pixman_white_image
    - CAIRO_MUTEX_LOCK
    - pixman_image_ref
    - _pixman_black_image
    - _pixman_transparent_image
    - ARRAY_LENGTH
    - CAIRO_MUTEX_UNLOCK
    - pixman_image_unref
    - CAIRO_COLOR_IS_CLEAR
    - hars_petruska_f54_1_random
    - _cairo_color_equal
    - pixman_image_create_solid_fill
    - CAIRO_COLOR_IS_OPAQUE
    linkageType: ''
    returnType: pixman_image_t*
    signature: 'pixman_image_t *_pixman_image_for_color (const cairo_color_t *cairo_color) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: general_cubic
      Src: /src/cairo/src/cairo-image-source.c:721,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - x
    - r
    argTypes:
    - double
    - double
    constantsTouched: []
    func_position:
      end: 722
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 722
    functionName: mitchell_kernel
    functionSourceFile: /src/cairo/src/cairo-image-source.c
    functionUses: []
    functionsReached:
    - general_cubic
    linkageType: ''
    returnType: double
    signature: 'static double mitchell_kernel (double x, double r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sin
      Src: /src/cairo/src/cairo-image-source.c:746,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 747
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 747
    functionName: sinc
    functionSourceFile: /src/cairo/src/cairo-image-source.c
    functionUses: []
    functionsReached:
    - sin
    linkageType: ''
    returnType: double
    signature: 'static double sinc (double x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_release_source_image
      Src: /src/cairo/src/cairo-image-source.c:1076,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - abstract_surface
    - image
    - image_extra
    argTypes:
    - void*
    - cairo_image_surface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1077
      start: 1070
    functionDepth: 0
    functionLinenumber: 1070
    functionLinenumberEnd: 1077
    functionName: proxy_release_source_image
    functionSourceFile: /src/cairo/src/cairo-image-source.c
    functionUses: []
    functionsReached:
    - _cairo_surface_release_source_image
    linkageType: ''
    returnType: void
    signature: "static void proxy_release_source_image (void\t\t\t*abstract_surface,\t\
      \t\t cairo_image_surface_t\t*image,\t\t\t void\t\t\t*image_extra) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pixman_image_unref
      Src: /src/cairo/src/cairo-image-source.c:1605,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1607
      start: 1600
    functionDepth: 0
    functionLinenumber: 1600
    functionLinenumberEnd: 1607
    functionName: _cairo_image_source_finish
    functionSourceFile: /src/cairo/src/cairo-image-source.c
    functionUses: []
    functionsReached:
    - pixman_image_unref
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_image_source_finish (void *abstract_surface) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-image-source.c:137,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-source.c:149,1
    - Dst: pixman_image_create_solid_fill
      Src: /src/cairo/src/cairo-image-source.c:148,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-source.c:140,1
    - Dst: _cairo_atomic_ptr_cmpxchg
      Src: /src/cairo/src/cairo-image-source.c:152,1
    - Dst: pixman_image_ref
      Src: /src/cairo/src/cairo-image-source.c:155,1
    - Dst: pixman_image_ref
      Src: /src/cairo/src/cairo-image-source.c:158,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 162
    functionName: _pixman_white_image
    functionSourceFile: /src/cairo/src/cairo-image-source.c
    functionUses: []
    functionsReached:
    - pixman_image_ref
    - TRACE
    - _cairo_atomic_ptr_cmpxchg
    - pixman_image_create_solid_fill
    - unlikely
    linkageType: ''
    returnType: pixman_image_t*
    signature: 'static pixman_image_t *_pixman_white_image (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-image-source.c:190,1
    - Dst: _pixman_image_for_color
      Src: /src/cairo/src/cairo-image-source.c:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 192
    functionName: _pixman_black_image
    functionSourceFile: /src/cairo/src/cairo-image-source.c
    functionUses: []
    functionsReached:
    - TRACE
    - _pixman_image_for_color
    linkageType: ''
    returnType: pixman_image_t*
    signature: 'static pixman_image_t *_pixman_black_image (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pixman_image_unref
      Src: /src/cairo/src/cairo-image-source.c:271,1
    - Dst: pixman_image_unref
      Src: /src/cairo/src/cairo-image-source.c:279,1
    - Dst: pixman_image_unref
      Src: /src/cairo/src/cairo-image-source.c:274,1
    - Dst: pixman_image_unref
      Src: /src/cairo/src/cairo-image-source.c:284,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 288
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 288
    functionName: _cairo_image_reset_static_data
    functionSourceFile: /src/cairo/src/cairo-image-source.c
    functionUses: []
    functionsReached:
    - pixman_image_unref
    linkageType: ''
    returnType: void
    signature: 'void _cairo_image_reset_static_data (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/cairo/src/cairo-image-source.c:752,1
    - Dst: sinc
      Src: /src/cairo/src/cairo-image-source.c:752,1
    - Dst: sinc
      Src: /src/cairo/src/cairo-image-source.c:752,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - double
    - double
    constantsTouched: []
    func_position:
      end: 753
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 753
    functionName: lanczos
    functionSourceFile: /src/cairo/src/cairo-image-source.c
    functionUses: []
    functionsReached:
    - fabs
    - sinc
    linkageType: ''
    returnType: double
    signature: 'static double lanczos (double x, double n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1083
      start: 1079
    functionDepth: 0
    functionLinenumber: 1079
    functionLinenumberEnd: 1083
    functionName: proxy_finish
    functionSourceFile: /src/cairo/src/cairo-image-source.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t proxy_finish (void *abstract_surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_release_source_image
      Src: /src/cairo/src/cairo-image-source.c:1477,1
    - Dst: free
      Src: /src/cairo/src/cairo-image-source.c:1484,1
    - Dst: _cairo_raster_source_pattern_release
      Src: /src/cairo/src/cairo-image-source.c:1481,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - pixman_image
    - closure
    argTypes:
    - pixman_image_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1485
      start: 1471
    functionDepth: 0
    functionLinenumber: 1471
    functionLinenumberEnd: 1485
    functionName: _raster_source_cleanup
    functionSourceFile: /src/cairo/src/cairo-image-source.c
    functionUses: []
    functionsReached:
    - _cairo_surface_release_source_image
    - free
    - _cairo_raster_source_pattern_release
    linkageType: ''
    returnType: void
    signature: "static void _raster_source_cleanup (pixman_image_t *pixman_image,\t\
      \t\tvoid *closure) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MAX
      Src: /src/cairo/src/cairo-image-source.c:649,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-image-source.c:649,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - x
    - r
    argTypes:
    - double
    - double
    constantsTouched: []
    func_position:
      end: 650
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 650
    functionName: linear_kernel
    functionSourceFile: /src/cairo/src/cairo-image-source.c
    functionUses: []
    functionsReached:
    - fabs
    - MAX
    linkageType: ''
    returnType: double
    signature: 'static double linear_kernel (double x, double r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: general_cubic
      Src: /src/cairo/src/cairo-image-source.c:709,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - x
    - r
    argTypes:
    - double
    - double
    constantsTouched: []
    func_position:
      end: 710
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 710
    functionName: cubic_kernel
    functionSourceFile: /src/cairo/src/cairo-image-source.c
    functionUses: []
    functionsReached:
    - general_cubic
    linkageType: ''
    returnType: double
    signature: 'static double cubic_kernel (double x, double r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-image-source.c:438,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pixman_image
    - closure
    argTypes:
    - pixman_image_t*
    - void*
    constantsTouched: []
    func_position:
      end: 439
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 439
    functionName: _defer_free_cleanup
    functionSourceFile: /src/cairo/src/cairo-image-source.c
    functionUses: []
    functionsReached:
    - cairo_surface_destroy
    linkageType: ''
    returnType: void
    signature: "static void _defer_free_cleanup (pixman_image_t *pixman_image,\t\t\
      \ void *closure) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - x
    - r
    argTypes:
    - double
    - double
    constantsTouched: []
    func_position:
      end: 602
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 602
    functionName: impulse_kernel
    functionSourceFile: /src/cairo/src/cairo-image-source.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: 'static double impulse_kernel (double x, double r) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lanczos3_kernel
      Src: /src/cairo/src/cairo-image-source.c:760,1
    - Dst: lanczos3_kernel
      Src: /src/cairo/src/cairo-image-source.c:761,1
    - Dst: lanczos
      Src: /src/cairo/src/cairo-image-source.c:763,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - x
    - r
    argTypes:
    - double
    - double
    constantsTouched: []
    func_position:
      end: 764
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 764
    functionName: lanczos3_kernel
    functionSourceFile: /src/cairo/src/cairo-image-source.c
    functionUses: []
    functionsReached:
    - lanczos
    - lanczos3_kernel
    linkageType: ''
    returnType: double
    signature: 'static double lanczos3_kernel (double x, double r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lanczos3_kernel
      Src: /src/cairo/src/cairo-image-source.c:780,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - x
    - r
    argTypes:
    - double
    - double
    constantsTouched: []
    func_position:
      end: 781
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 781
    functionName: nice_kernel
    functionSourceFile: /src/cairo/src/cairo-image-source.c
    functionUses: []
    functionsReached:
    - lanczos3_kernel
    linkageType: ''
    returnType: double
    signature: 'static double nice_kernel (double x, double r) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: box_kernel
      Src: /src/cairo/src/cairo-image-source.c:802,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-image-source.c:804,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-image-source.c:804,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - x
    - r
    argTypes:
    - double
    - double
    constantsTouched: []
    func_position:
      end: 805
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 805
    functionName: tent_kernel
    functionSourceFile: /src/cairo/src/cairo-image-source.c
    functionUses: []
    functionsReached:
    - fabs
    - box_kernel
    - MAX
    linkageType: ''
    returnType: double
    signature: 'static double tent_kernel (double x, double r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_finish
      Src: /src/cairo/src/cairo-image-source.c:1122,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-image-source.c:1123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - source
    - proxy
    argTypes:
    - cairo_surface_t*
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1124
      start: 1118
    functionDepth: 0
    functionLinenumber: 1118
    functionLinenumberEnd: 1124
    functionName: detach_proxy
    functionSourceFile: /src/cairo/src/cairo-image-source.c
    functionUses: []
    functionsReached:
    - cairo_surface_finish
    - cairo_surface_destroy
    linkageType: ''
    returnType: void
    signature: "static void detach_proxy (cairo_surface_t *source,\t cairo_surface_t\
      \ *proxy) "
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: _pixman_transparent_image
      Src: /src/cairo/src/cairo-image-source.c:1163,1
    - Dst: _cairo_image_surface_create_with_content
      Src: /src/cairo/src/cairo-image-source.c:1206,1
    - Dst: floor
      Src: /src/cairo/src/cairo-image-source.c:1182,1
    - Dst: detach_proxy
      Src: /src/cairo/src/cairo-image-source.c:1230,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-source.c:1231,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-image-source.c:1232,1
    - Dst: assert
      Src: /src/cairo/src/cairo-image-source.c:1252,1
    - Dst: pixman_image_unref
      Src: /src/cairo/src/cairo-image-source.c:1257,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-image-source.c:1238,1
    - Dst: assert
      Src: /src/cairo/src/cairo-image-source.c:1248,1
    - Dst: _pixman_image_set_properties
      Src: /src/cairo/src/cairo-image-source.c:1254,1
    - Dst: _cairo_pattern_get_source
      Src: /src/cairo/src/cairo-image-source.c:1154,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-image-source.c:1170,1
    - Dst: _cairo_matrix_transform_bounding_box
      Src: /src/cairo/src/cairo-image-source.c:1178,1
    - Dst: floor
      Src: /src/cairo/src/cairo-image-source.c:1181,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-image-source.c:1194,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/src/cairo-image-source.c:1199,1
    - Dst: ceil
      Src: /src/cairo/src/cairo-image-source.c:1184,1
    - Dst: cairo_pattern_reference
      Src: /src/cairo/src/cairo-image-source.c:1210,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/src/cairo-image-source.c:1217,1
    - Dst: _cairo_pattern_init_static_copy
      Src: /src/cairo/src/cairo-image-source.c:1245,1
    - Dst: pixman_image_ref
      Src: /src/cairo/src/cairo-image-source.c:1237,1
    - Dst: TRACE
      Src: /src/cairo/src/cairo-image-source.c:1150,1
    - Dst: _cairo_rectangle_intersect
      Src: /src/cairo/src/cairo-image-source.c:1162,1
    - Dst: cairo_matrix_init_scale
      Src: /src/cairo/src/cairo-image-source.c:1220,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-image-source.c:1251,1
    - Dst: cairo_pattern_set_matrix
      Src: /src/cairo/src/cairo-image-source.c:1253,1
    - Dst: _cairo_rectangle_contains_rectangle
      Src: /src/cairo/src/cairo-image-source.c:1158,1
    - Dst: _cairo_matrix_is_identity
      Src: /src/cairo/src/cairo-image-source.c:1166,1
    - Dst: assert
      Src: /src/cairo/src/cairo-image-source.c:1171,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/src/cairo-image-source.c:1203,1
    - Dst: get_proxy
      Src: /src/cairo/src/cairo-image-source.c:1194,1
    - Dst: ceil
      Src: /src/cairo/src/cairo-image-source.c:1183,1
    - Dst: _cairo_surface_has_snapshot
      Src: /src/cairo/src/cairo-image-source.c:1192,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/src/cairo-image-source.c:1221,1
    - Dst: attach_proxy
      Src: /src/cairo/src/cairo-image-source.c:1226,1
    - Dst: _cairo_recording_surface_replay_with_clip
      Src: /src/cairo/src/cairo-image-source.c:1227,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/src/cairo-image-source.c:1249,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-image-source.c:1247,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/src/cairo-image-source.c:1250,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 114
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1263
    functionName: _pixman_image_for_recording
    functionSourceFile: /src/cairo/src/cairo-image-source.c
    functionUses: []
    functionsReached:
    - _cairo_matrix_transform_bounding_box
    - _cairo_pattern_get_source
    - attach_proxy
    - cairo_matrix_init_scale
    - _cairo_matrix_is_identity
    - pixman_image_unref
    - cairo_pattern_set_matrix
    - _cairo_surface_has_snapshot
    - _cairo_image_surface_create_with_content
    - floor
    - _pixman_image_set_properties
    - get_proxy
    - cairo_matrix_translate
    - cairo_surface_reference
    - cairo_pattern_reference
    - ceil
    - detach_proxy
    - _cairo_rectangle_contains_rectangle
    - pixman_image_ref
    - cairo_matrix_scale
    - _cairo_rectangle_intersect
    - assert
    - _cairo_pattern_init_static_copy
    - TRACE
    - _pixman_transparent_image
    - cairo_surface_destroy
    - cairo_image_surface_create
    - cairo_matrix_invert
    - _cairo_recording_surface_replay_with_clip
    - unlikely
    linkageType: ''
    returnType: pixman_image_t*
    signature: "static pixman_image_t *_pixman_image_for_recording (cairo_image_surface_t\
      \ *dst,\t\t\t const cairo_surface_pattern_t *pattern,\t\t\t cairo_bool_t is_mask,\t\
      \t\t const cairo_rectangle_int_t *extents,\t\t\t const cairo_rectangle_int_t\
      \ *sample,\t\t\t int *ix, int *iy) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-image-source.c:197,1
    - Dst: _pixman_image_for_color
      Src: /src/cairo/src/cairo-image-source.c:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 199
    functionName: _pixman_white_image
    functionSourceFile: /src/cairo/src/cairo-image-source.c
    functionUses: []
    functionsReached:
    - TRACE
    - _pixman_image_for_color
    linkageType: ''
    returnType: pixman_image_t*
    signature: 'static pixman_image_t *_pixman_white_image (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_release_source_image
      Src: /src/cairo/src/cairo-image-source.c:428,1
    - Dst: free
      Src: /src/cairo/src/cairo-image-source.c:431,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - pixman_image
    - closure
    argTypes:
    - pixman_image_t*
    - void*
    constantsTouched: []
    func_position:
      end: 432
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 432
    functionName: _acquire_source_cleanup
    functionSourceFile: /src/cairo/src/cairo-image-source.c
    functionUses: []
    functionsReached:
    - _cairo_surface_release_source_image
    - free
    linkageType: ''
    returnType: void
    signature: "static void _acquire_source_cleanup (pixman_image_t *pixman_image,\t\
      \t\t void *closure) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - v
    - bits
    argTypes:
    - uint16_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 451
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 451
    functionName: expand_channel
    functionSourceFile: /src/cairo/src/cairo-image-source.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: 'static uint16_t expand_channel (uint16_t v, uint32_t bits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MAX
      Src: /src/cairo/src/cairo-image-source.c:769,1
    - Dst: ceil
      Src: /src/cairo/src/cairo-image-source.c:769,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 770
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 770
    functionName: lanczos3_width
    functionSourceFile: /src/cairo/src/cairo-image-source.c
    functionUses: []
    functionsReached:
    - ceil
    - MAX
    linkageType: ''
    returnType: int
    signature: 'static int lanczos3_width (double r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MAX
      Src: /src/cairo/src/cairo-image-source.c:786,1
    - Dst: ceil
      Src: /src/cairo/src/cairo-image-source.c:786,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 787
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 787
    functionName: nice_width
    functionSourceFile: /src/cairo/src/cairo-image-source.c
    functionUses: []
    functionsReached:
    - ceil
    - MAX
    linkageType: ''
    returnType: int
    signature: 'static int nice_width (double r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ceil
      Src: /src/cairo/src/cairo-image-source.c:810,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 811
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 811
    functionName: tent_width
    functionSourceFile: /src/cairo/src/cairo-image-source.c
    functionUses: []
    functionsReached:
    - ceil
    linkageType: ''
    returnType: int
    signature: 'static int tent_width (double r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1126
    functionDepth: 0
    functionLinenumber: 1126
    functionLinenumberEnd: 1130
    functionName: get_proxy
    functionSourceFile: /src/cairo/src/cairo-image-source.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *get_proxy (cairo_surface_t *proxy) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-image-source.c:1325,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-source.c:1348,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-source.c:1409,1
    - Dst: _cairo_surface_release_source_image
      Src: /src/cairo/src/cairo-image-source.c:1436,1
    - Dst: pixman_image_unref
      Src: /src/cairo/src/cairo-image-source.c:1443,1
    - Dst: _cairo_matrix_is_pixman_translation
      Src: /src/cairo/src/cairo-image-source.c:1334,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-image-source.c:1338,1
    - Dst: pixman_image_set_destroy_function
      Src: /src/cairo/src/cairo-image-source.c:1354,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-image-source.c:1349,1
    - Dst: pixman_image_ref
      Src: /src/cairo/src/cairo-image-source.c:1339,1
    - Dst: _cairo_matrix_is_pixman_translation
      Src: /src/cairo/src/cairo-image-source.c:1390,1
    - Dst: PIXMAN_FORMAT_BPP
      Src: /src/cairo/src/cairo-image-source.c:1399,1
    - Dst: pixman_image_create_bits
      Src: /src/cairo/src/cairo-image-source.c:1430,1
    - Dst: _cairo_surface_release_source_image
      Src: /src/cairo/src/cairo-image-source.c:1442,1
    - Dst: pixman_image_set_destroy_function
      Src: /src/cairo/src/cairo-image-source.c:1450,1
    - Dst: _cairo_surface_is_snapshot
      Src: /src/cairo/src/cairo-image-source.c:1293,1
    - Dst: _pixman_image_for_recording
      Src: /src/cairo/src/cairo-image-source.c:1281,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-image-source.c:1316,1
    - Dst: _cairo_surface_snapshot_get_target
      Src: /src/cairo/src/cairo-image-source.c:1294,1
    - Dst: _pixel_to_solid
      Src: /src/cairo/src/cairo-image-source.c:1375,1
    - Dst: _pixman_transparent_image
      Src: /src/cairo/src/cairo-image-source.c:1382,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-source.c:1435,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-image-source.c:1440,1
    - Dst: pixman_image_unref
      Src: /src/cairo/src/cairo-image-source.c:1457,1
    - Dst: TRACE
      Src: /src/cairo/src/cairo-image-source.c:1276,1
    - Dst: _pixman_transparent_image
      Src: /src/cairo/src/cairo-image-source.c:1317,1
    - Dst: _pixel_to_solid
      Src: /src/cairo/src/cairo-image-source.c:1322,1
    - Dst: pixman_image_ref
      Src: /src/cairo/src/cairo-image-source.c:1394,1
    - Dst: pixman_image_create_bits
      Src: /src/cairo/src/cairo-image-source.c:1343,1
    - Dst: PIXMAN_FORMAT_BPP
      Src: /src/cairo/src/cairo-image-source.c:1402,1
    - Dst: pixman_image_create_bits
      Src: /src/cairo/src/cairo-image-source.c:1404,1
    - Dst: _cairo_surface_acquire_source_image
      Src: /src/cairo/src/cairo-image-source.c:1426,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-source.c:1427,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-source.c:1441,1
    - Dst: _pixman_image_set_properties
      Src: /src/cairo/src/cairo-image-source.c:1454,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 147
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1265
    functionDepth: 0
    functionLinenumber: 1265
    functionLinenumberEnd: 1462
    functionName: _pixman_image_for_surface
    functionSourceFile: /src/cairo/src/cairo-image-source.c
    functionUses: []
    functionsReached:
    - _cairo_surface_release_source_image
    - _cairo_surface_is_snapshot
    - _cairo_malloc
    - _pixel_to_solid
    - pixman_image_ref
    - TRACE
    - pixman_image_create_bits
    - _pixman_transparent_image
    - pixman_image_unref
    - cairo_surface_destroy
    - PIXMAN_FORMAT_BPP
    - _pixman_image_set_properties
    - _cairo_surface_acquire_source_image
    - _cairo_matrix_is_pixman_translation
    - _cairo_surface_snapshot_get_target
    - pixman_image_set_destroy_function
    - _pixman_image_for_recording
    - unlikely
    linkageType: ''
    returnType: pixman_image_t*
    signature: "static pixman_image_t *_pixman_image_for_surface (cairo_image_surface_t\
      \ *dst,\t\t\t const cairo_surface_pattern_t *pattern,\t\t\t cairo_bool_t is_mask,\t\
      \t\t const cairo_rectangle_int_t *extents,\t\t\t const cairo_rectangle_int_t\
      \ *sample,\t\t\t int *ix, int *iy) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: general_cubic
      Src: /src/cairo/src/cairo-image-source.c:734,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - x
    - r
    argTypes:
    - double
    - double
    constantsTouched: []
    func_position:
      end: 735
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 735
    functionName: notch_kernel
    functionSourceFile: /src/cairo/src/cairo-image-source.c
    functionUses: []
    functionsReached:
    - general_cubic
    linkageType: ''
    returnType: double
    signature: 'static double notch_kernel (double x, double r) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-image-source.c:1625,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-image-source.c:1629,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-image-source.c:1627,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-source.c:1628,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-image-source.c:1629,1
    - Dst: _pixman_image_for_pattern
      Src: /src/cairo/src/cairo-image-source.c:1632,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-source.c:1636,1
    - Dst: free
      Src: /src/cairo/src/cairo-image-source.c:1637,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-image-source.c:1638,1
    - Dst: _cairo_surface_init
      Src: /src/cairo/src/cairo-image-source.c:1641,1
    - Dst: _cairo_pattern_is_opaque_solid
      Src: /src/cairo/src/cairo-image-source.c:1648,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1651
      start: 1615
    functionDepth: 0
    functionLinenumber: 1615
    functionLinenumberEnd: 1651
    functionName: _cairo_image_source_create_for_pattern
    functionSourceFile: /src/cairo/src/cairo-image-source.c
    functionUses: []
    functionsReached:
    - _cairo_surface_init
    - TRACE
    - _cairo_error
    - free
    - _pixman_image_for_pattern
    - _cairo_surface_create_in_error
    - _cairo_pattern_is_opaque_solid
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *_cairo_image_source_create_for_pattern (cairo_surface_t\
      \ *dst,\t\t\t\t\t const cairo_pattern_t *pattern,\t\t\t\t\t cairo_bool_t is_mask,\t\
      \t\t\t\t const cairo_rectangle_int_t *extents,\t\t\t\t\t const cairo_rectangle_int_t\
      \ *sample,\t\t\t\t\t int *src_x, int *src_y) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_mul_size_t_overflow
      Src: /src/cairo/src/cairo-malloc-private.h:126,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-malloc-private.h:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 130
    functionName: _cairo_calloc_ab
    functionSourceFile: /src/cairo/src/cairo-malloc-private.h
    functionUses: []
    functionsReached:
    - _cairo_mul_size_t_overflow
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_always_inline*
    signature: 'static cairo_always_inline void *_cairo_calloc_ab(size_t a, size_t
      size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_mul_size_t_overflow
      Src: /src/cairo/src/cairo-malloc-private.h:181,1
    - Dst: _cairo_mul_size_t_overflow
      Src: /src/cairo/src/cairo-malloc-private.h:184,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-malloc-private.h:187,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 188
    functionName: _cairo_malloc_abc
    functionSourceFile: /src/cairo/src/cairo-malloc-private.h
    functionUses: []
    functionsReached:
    - _cairo_malloc
    - _cairo_mul_size_t_overflow
    linkageType: ''
    returnType: cairo_always_inline*
    signature: 'static cairo_always_inline void *_cairo_malloc_abc(size_t a, size_t
      b, size_t size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_mul_size_t_overflow
      Src: /src/cairo/src/cairo-malloc-private.h:208,1
    - Dst: _cairo_add_size_t_overflow
      Src: /src/cairo/src/cairo-malloc-private.h:211,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-malloc-private.h:214,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 215
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 215
    functionName: _cairo_malloc_ab_plus_c
    functionSourceFile: /src/cairo/src/cairo-malloc-private.h
    functionUses: []
    functionsReached:
    - _cairo_malloc
    - _cairo_add_size_t_overflow
    - _cairo_mul_size_t_overflow
    linkageType: ''
    returnType: cairo_always_inline*
    signature: 'static cairo_always_inline void *_cairo_malloc_ab_plus_c(size_t a,
      size_t size, size_t c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_mul_size_t_overflow
      Src: /src/cairo/src/cairo-malloc-private.h:101,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-malloc-private.h:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 105
    functionName: _cairo_malloc_ab
    functionSourceFile: /src/cairo/src/cairo-malloc-private.h
    functionUses: []
    functionsReached:
    - _cairo_malloc
    - _cairo_mul_size_t_overflow
    linkageType: ''
    returnType: cairo_always_inline*
    signature: 'static cairo_always_inline void *_cairo_malloc_ab(size_t a, size_t
      size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_mul_size_t_overflow
      Src: /src/cairo/src/cairo-malloc-private.h:154,1
    - Dst: realloc
      Src: /src/cairo/src/cairo-malloc-private.h:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 158
    functionName: _cairo_realloc_ab
    functionSourceFile: /src/cairo/src/cairo-malloc-private.h
    functionUses: []
    functionsReached:
    - realloc
    - _cairo_mul_size_t_overflow
    linkageType: ''
    returnType: cairo_always_inline*
    signature: 'static cairo_always_inline void *_cairo_realloc_ab(void *ptr, size_t
      a, size_t size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - gap
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 46
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionName: _cairo_combsort_newgap
    functionSourceFile: /src/cairo/src/cairo-combsort-inline.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: 'static inline unsigned int _cairo_combsort_newgap (unsigned int gap) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_int_status_t
      Src: /src/cairo/src/cairo-surface-backend-private.h:70,1
    - Dst: cairo_bool_t
      Src: /src/cairo/src/cairo-surface-backend-private.h:105,1
    - Dst: cairo_bool_t
      Src: /src/cairo/src/cairo-surface-backend-private.h:185,1
    CyclomaticComplexity: 117
    EdgeCount: 117
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 238
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 238
    functionName: _cairo_surface_backend
    functionSourceFile: /src/cairo/src/cairo-surface-backend-private.h
    functionUses: []
    functionsReached:
    - cairo_int_status_t
    - cairo_bool_t
    linkageType: ''
    returnType: CAIRO_BEGIN_DECLS
    signature: 'CAIRO_BEGIN_DECLS struct _cairo_surface_backend '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qq
      Src: /src/cairo/src/cairo-type1-glyph-names.c:215,1
    - Dst: qq
      Src: /src/cairo/src/cairo-type1-glyph-names.c:220,1
    - Dst: qq
      Src: /src/cairo/src/cairo-type1-glyph-names.c:218,1
    - Dst: length
      Src: /src/cairo/src/cairo-type1-glyph-names.c:222,1
    - Dst: length
      Src: /src/cairo/src/cairo-type1-glyph-names.c:222,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 227
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 227
    functionName: print_offsets
    functionSourceFile: /src/cairo/src/cairo-type1-glyph-names.c
    functionUses: []
    functionsReached:
    - length
    - qq
    linkageType: ''
    returnType: sub
    signature: 'sub print_offsets '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 407
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 407
    functionName: _cairo_winansi_to_glyphname
    functionSourceFile: /src/cairo/src/cairo-type1-glyph-names.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *_cairo_winansi_to_glyphname (int glyph) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 398
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 398
    functionName: _cairo_ps_standard_encoding_to_glyphname
    functionSourceFile: /src/cairo/src/cairo-type1-glyph-names.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *_cairo_ps_standard_encoding_to_glyphname (int glyph) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 210
    functionName: prev_const_chain
    functionSourceFile: /src/cairo/src/cairo-contour.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_contour_chain_t*
    signature: "static const cairo_contour_chain_t *prev_const_chain(const cairo_contour_t\
      \ *contour,\t\t\t\t\t\t const cairo_contour_chain_t *chain) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: prev_const_chain
      Src: /src/cairo/src/cairo-contour.c:223,1
    - Dst: _cairo_contour_add_point
      Src: /src/cairo/src/cairo-contour.c:225,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-contour.c:226,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - cairo_contour_t*
    - cairo_contour_t*
    constantsTouched: []
    func_position:
      end: 232
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 232
    functionName: _cairo_contour_add_reversed
    functionSourceFile: /src/cairo/src/cairo-contour.c
    functionUses: []
    functionsReached:
    - prev_const_chain
    - _cairo_contour_add_point
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_contour_add_reversed (cairo_contour_t *dst,\t\
      \t\t const cairo_contour_t *src) "
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - iter
    argTypes:
    - cairo_contour_iter_t*
    constantsTouched: []
    func_position:
      end: 175
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 175
    functionName: iter_next
    functionSourceFile: /src/cairo/src/cairo-contour.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static inline cairo_bool_t iter_next (cairo_contour_iter_t *iter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - iter
    - contour
    argTypes:
    - cairo_contour_iter_t*
    - cairo_contour_t*
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: iter_init
    functionSourceFile: /src/cairo/src/cairo-contour.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void iter_init (cairo_contour_iter_t *iter, cairo_contour_t
      *contour) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: point_distance_sq
      Src: /src/cairo/src/cairo-contour.c:325,1
    - Dst: point_distance_sq
      Src: /src/cairo/src/cairo-contour.c:345,1
    - Dst: iter_init
      Src: /src/cairo/src/cairo-contour.c:336,1
    - Dst: MARK_DELETED
      Src: /src/cairo/src/cairo-contour.c:328,1
    - Dst: DELETED
      Src: /src/cairo/src/cairo-contour.c:342,1
    - Dst: assert
      Src: /src/cairo/src/cairo-contour.c:353,1
    - Dst: iter_init
      Src: /src/cairo/src/cairo-contour.c:356,1
    - Dst: _cairo_contour_simplify_chain
      Src: /src/cairo/src/cairo-contour.c:357,1
    - Dst: iter_init_last
      Src: /src/cairo/src/cairo-contour.c:360,1
    - Dst: iter_equal
      Src: /src/cairo/src/cairo-contour.c:361,1
    - Dst: iter_init
      Src: /src/cairo/src/cairo-contour.c:366,1
    - Dst: iter_next
      Src: /src/cairo/src/cairo-contour.c:375,1
    - Dst: free
      Src: /src/cairo/src/cairo-contour.c:385,1
    - Dst: DELETED
      Src: /src/cairo/src/cairo-contour.c:371,1
    - Dst: _cairo_contour_simplify_chain
      Src: /src/cairo/src/cairo-contour.c:362,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 69
    argCount: 2
    argNames:
    - contour
    - tolerance
    argTypes:
    - cairo_contour_t*
    - double
    constantsTouched: []
    func_position:
      end: 391
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 391
    functionName: _cairo_contour_simplify
    functionSourceFile: /src/cairo/src/cairo-contour.c
    functionUses: []
    functionsReached:
    - MARK_DELETED
    - DELETED
    - iter_init
    - iter_equal
    - free
    - iter_next
    - assert
    - iter_init_last
    - _cairo_contour_simplify_chain
    - point_distance_sq
    linkageType: ''
    returnType: void
    signature: 'void _cairo_contour_simplify (cairo_contour_t *contour, double tolerance) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - i1
    - i2
    argTypes:
    - cairo_contour_iter_t*
    - cairo_contour_iter_t*
    constantsTouched: []
    func_position:
      end: 182
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 182
    functionName: iter_equal
    functionSourceFile: /src/cairo/src/cairo-contour.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t iter_equal (const cairo_contour_iter_t *i1,\t\
      \ const cairo_contour_iter_t *i2) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - iter
    - contour
    argTypes:
    - cairo_contour_iter_t*
    - cairo_contour_t*
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 196
    functionName: iter_init_last
    functionSourceFile: /src/cairo/src/cairo-contour.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void iter_init_last (cairo_contour_iter_t *iter, cairo_contour_t
      *contour) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_contour_fini
      Src: /src/cairo/src/cairo-contour.c:396,1
    - Dst: _cairo_contour_init
      Src: /src/cairo/src/cairo-contour.c:397,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - contour
    argTypes:
    - cairo_contour_t*
    constantsTouched: []
    func_position:
      end: 398
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 398
    functionName: _cairo_contour_reset
    functionSourceFile: /src/cairo/src/cairo-contour.c
    functionUses: []
    functionsReached:
    - _cairo_contour_init
    - _cairo_contour_fini
    linkageType: ''
    returnType: void
    signature: 'void _cairo_contour_reset (cairo_contour_t *contour) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: first_inc
      Src: /src/cairo/src/cairo-contour.c:137,1
    - Dst: last_dec
      Src: /src/cairo/src/cairo-contour.c:138,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - contour
    argTypes:
    - cairo_contour_t*
    constantsTouched: []
    func_position:
      end: 140
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 140
    functionName: _cairo_contour_reverse
    functionSourceFile: /src/cairo/src/cairo-contour.c
    functionUses: []
    functionsReached:
    - first_inc
    - last_dec
    linkageType: ''
    returnType: void
    signature: 'void _cairo_contour_reverse (cairo_contour_t *contour) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-contour.c:90,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - contour
    - p
    - chain
    argTypes:
    - cairo_contour_t*
    - cairo_point_t**
    - cairo_contour_chain_t**
    constantsTouched: []
    func_position:
      end: 95
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 95
    functionName: first_inc
    functionSourceFile: /src/cairo/src/cairo-contour.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "static void first_inc (cairo_contour_t *contour,\t cairo_point_t **p,\t\
      \ cairo_contour_chain_t **chain) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-contour.c:407,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - contour
    argTypes:
    - cairo_contour_t*
    constantsTouched: []
    func_position:
      end: 409
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 409
    functionName: _cairo_contour_fini
    functionSourceFile: /src/cairo/src/cairo-contour.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void _cairo_contour_fini (cairo_contour_t *contour) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-contour.c:104,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 3
    argNames:
    - contour
    - p
    - chain
    argTypes:
    - cairo_contour_t*
    - cairo_point_t**
    - cairo_contour_chain_t**
    constantsTouched: []
    func_position:
      end: 111
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 111
    functionName: last_dec
    functionSourceFile: /src/cairo/src/cairo-contour.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "static void last_dec (cairo_contour_t *contour,\t cairo_point_t **p,\t\
      \ cairo_contour_chain_t **chain) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_contour_add_point
      Src: /src/cairo/src/cairo-contour.c:152,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-contour.c:153,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - cairo_contour_t*
    - cairo_contour_t*
    constantsTouched: []
    func_position:
      end: 159
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 159
    functionName: _cairo_contour_add
    functionSourceFile: /src/cairo/src/cairo-contour.c
    functionUses: []
    functionsReached:
    - _cairo_contour_add_point
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_contour_add (cairo_contour_t *dst,\t\t const\
      \ cairo_contour_t *src) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cairo/src/cairo-contour.c:425,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-contour.c:433,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-contour.c:431,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-contour.c:434,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - file
    - contour
    argTypes:
    - FILE*
    - cairo_contour_t*
    constantsTouched: []
    func_position:
      end: 437
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 437
    functionName: _cairo_debug_print_contour
    functionSourceFile: /src/cairo/src/cairo-contour.c
    functionUses: []
    functionsReached:
    - fprintf
    - _cairo_fixed_to_double
    linkageType: ''
    returnType: void
    signature: 'void _cairo_debug_print_contour (FILE *file, cairo_contour_t *contour) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-contour.c:449,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - contour
    argTypes:
    - cairo_contour_t*
    constantsTouched: []
    func_position:
      end: 452
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 452
    functionName: __cairo_contour_remove_last_chain
    functionSourceFile: /src/cairo/src/cairo-contour.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void __cairo_contour_remove_last_chain (cairo_contour_t *contour) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-contour.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - contour
    - direction
    argTypes:
    - cairo_contour_t*
    - int
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: _cairo_contour_init
    functionSourceFile: /src/cairo/src/cairo-contour.c
    functionUses: []
    functionsReached:
    - ARRAY_LENGTH
    linkageType: ''
    returnType: void
    signature: "void _cairo_contour_init (cairo_contour_t *contour,\t\t int direction) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-contour.c:240,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-contour.c:240,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - cairo_point_t*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 241
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 241
    functionName: point_distance_sq
    functionSourceFile: /src/cairo/src/cairo-contour.c
    functionUses: []
    functionsReached:
    - _cairo_int32x32_64_mul
    linkageType: ''
    returnType: cairo_uint64_t
    signature: "static cairo_uint64_t point_distance_sq (const cairo_point_t *p1,\t\
      \t const cairo_point_t *p2) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-contour.c:65,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-contour.c:71,1
    - Dst: _cairo_malloc_ab_plus_c
      Src: /src/cairo/src/cairo-contour.c:67,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-contour.c:70,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - contour
    - point
    argTypes:
    - cairo_contour_t*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 82
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 82
    functionName: __cairo_contour_add_point
    functionSourceFile: /src/cairo/src/cairo-contour.c
    functionUses: []
    functionsReached:
    - _cairo_malloc_ab_plus_c
    - _cairo_error
    - unlikely
    - assert
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t __cairo_contour_add_point (cairo_contour_t *contour,\t\
      \t\t const cairo_point_t *point) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: iter_next
      Src: /src/cairo/src/cairo-contour.c:258,1
    - Dst: iter_equal
      Src: /src/cairo/src/cairo-contour.c:280,1
    - Dst: iter_equal
      Src: /src/cairo/src/cairo-contour.c:259,1
    - Dst: DELETED
      Src: /src/cairo/src/cairo-contour.c:271,1
    - Dst: iter_next
      Src: /src/cairo/src/cairo-contour.c:279,1
    - Dst: _cairo_contour_simplify_chain
      Src: /src/cairo/src/cairo-contour.c:288,1
    - Dst: _cairo_contour_simplify_chain
      Src: /src/cairo/src/cairo-contour.c:290,1
    - Dst: iter_next
      Src: /src/cairo/src/cairo-contour.c:295,1
    - Dst: MARK_DELETED
      Src: /src/cairo/src/cairo-contour.c:297,1
    - Dst: iter_next
      Src: /src/cairo/src/cairo-contour.c:298,1
    - Dst: iter_equal
      Src: /src/cairo/src/cairo-contour.c:299,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 50
    argCount: 4
    argNames:
    - contour
    - tolerance
    - first
    - last
    argTypes:
    - cairo_contour_t*
    - double
    - cairo_contour_iter_t*
    - cairo_contour_iter_t*
    constantsTouched: []
    func_position:
      end: 303
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 303
    functionName: _cairo_contour_simplify_chain
    functionSourceFile: /src/cairo/src/cairo-contour.c
    functionUses: []
    functionsReached:
    - MARK_DELETED
    - DELETED
    - iter_equal
    - iter_next
    - _cairo_contour_simplify_chain
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _cairo_contour_simplify_chain (cairo_contour_t\
      \ *contour, const double tolerance,\t\t\t const cairo_contour_iter_t *first,\t\
      \t\t const cairo_contour_iter_t *last) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-in-fill.c:60,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-path-in-fill.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - in_fill
    - tolerance
    - x
    - y
    argTypes:
    - cairo_in_fill_t*
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 66
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 66
    functionName: _cairo_in_fill_init
    functionSourceFile: /src/cairo/src/cairo-path-in-fill.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_from_double
    linkageType: ''
    returnType: void
    signature: "static void _cairo_in_fill_init (cairo_in_fill_t\t*in_fill,\t\t double\t\
      \t tolerance,\t\t double\t\t x,\t\t double\t\t y) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_in_fill_add_edge
      Src: /src/cairo/src/cairo-path-in-fill.c:158,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - closure
    - point
    argTypes:
    - void*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 168
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 168
    functionName: _cairo_in_fill_move_to
    functionSourceFile: /src/cairo/src/cairo-path-in-fill.c
    functionUses: []
    functionsReached:
    - _cairo_in_fill_add_edge
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_in_fill_move_to (void *closure,\t\t\t\
      const cairo_point_t *point) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-path-in-fill.c:94,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-path-in-fill.c:95,1
    - Dst: _cairo_int64_cmp
      Src: /src/cairo/src/cairo-path-in-fill.c:97,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - p1
    - p2
    - y
    - x
    argTypes:
    - cairo_point_t*
    - cairo_point_t*
    - cairo_fixed_t
    - cairo_fixed_t
    constantsTouched: []
    func_position:
      end: 98
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 98
    functionName: edge_compare_for_y_against_x
    functionSourceFile: /src/cairo/src/cairo-path-in-fill.c
    functionUses: []
    functionsReached:
    - _cairo_int64_cmp
    - _cairo_int32x32_64_mul
    linkageType: ''
    returnType: int
    signature: "static int edge_compare_for_y_against_x (const cairo_point_t *p1,\t\
      \t\t const cairo_point_t *p2,\t\t\t cairo_fixed_t y,\t\t\t cairo_fixed_t x) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_in_fill_line_to
      Src: /src/cairo/src/cairo-path-in-fill.c:190,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - closure
    - point
    - tangent
    argTypes:
    - void*
    - cairo_point_t*
    - cairo_slope_t*
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: _cairo_in_fill_add_point
    functionSourceFile: /src/cairo/src/cairo-path-in-fill.c
    functionUses: []
    functionsReached:
    - _cairo_in_fill_line_to
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_in_fill_add_point (void *closure, const
      cairo_point_t *point, const cairo_slope_t *tangent) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_spline_init
      Src: /src/cairo/src/cairo-path-in-fill.c:226,1
    - Dst: _cairo_spline_decompose
      Src: /src/cairo/src/cairo-path-in-fill.c:234,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 34
    argCount: 4
    argNames:
    - closure
    - b
    - c
    - d
    argTypes:
    - void*
    - cairo_point_t*
    - cairo_point_t*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 235
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 235
    functionName: _cairo_in_fill_curve_to
    functionSourceFile: /src/cairo/src/cairo-path-in-fill.c
    functionUses: []
    functionsReached:
    - _cairo_spline_decompose
    - _cairo_spline_init
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_in_fill_curve_to (void *closure,\t\t\t\
      \ const cairo_point_t *b,\t\t\t const cairo_point_t *c,\t\t\t const cairo_point_t\
      \ *d) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: edge_compare_for_y_against_x
      Src: /src/cairo/src/cairo-path-in-fill.c:129,1
    - Dst: edge_compare_for_y_against_x
      Src: /src/cairo/src/cairo-path-in-fill.c:144,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 47
    argCount: 3
    argNames:
    - in_fill
    - p1
    - p2
    argTypes:
    - cairo_in_fill_t*
    - cairo_point_t*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 148
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 148
    functionName: _cairo_in_fill_add_edge
    functionSourceFile: /src/cairo/src/cairo-path-in-fill.c
    functionUses: []
    functionsReached:
    - edge_compare_for_y_against_x
    linkageType: ''
    returnType: void
    signature: "static void _cairo_in_fill_add_edge (cairo_in_fill_t *in_fill,\t\t\
      \t const cairo_point_t *p1,\t\t\t const cairo_point_t *p2) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - in_fill
    argTypes:
    - cairo_in_fill_t*
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: _cairo_in_fill_fini
    functionSourceFile: /src/cairo/src/cairo-path-in-fill.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_in_fill_fini (cairo_in_fill_t *in_fill) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_in_fill_add_edge
      Src: /src/cairo/src/cairo-path-in-fill.c:177,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - closure
    - point
    argTypes:
    - void*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 183
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 183
    functionName: _cairo_in_fill_line_to
    functionSourceFile: /src/cairo/src/cairo-path-in-fill.c
    functionUses: []
    functionsReached:
    - _cairo_in_fill_add_edge
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_in_fill_line_to (void *closure,\t\t\t\
      const cairo_point_t *point) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_in_fill_add_edge
      Src: /src/cairo/src/cairo-path-in-fill.c:243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - closure
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 251
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 251
    functionName: _cairo_in_fill_close_path
    functionSourceFile: /src/cairo/src/cairo-path-in-fill.c
    functionUses: []
    functionsReached:
    - _cairo_in_fill_add_edge
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_in_fill_close_path (void *closure) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_fixed_fill_is_empty
      Src: /src/cairo/src/cairo-path-in-fill.c:264,1
    - Dst: assert
      Src: /src/cairo/src/cairo-path-in-fill.c:275,1
    - Dst: _cairo_in_fill_init
      Src: /src/cairo/src/cairo-path-in-fill.c:267,1
    - Dst: _cairo_path_fixed_interpret
      Src: /src/cairo/src/cairo-path-in-fill.c:269,1
    - Dst: _cairo_in_fill_close_path
      Src: /src/cairo/src/cairo-path-in-fill.c:277,1
    - Dst: _cairo_in_fill_fini
      Src: /src/cairo/src/cairo-path-in-fill.c:294,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 5
    argNames:
    - path
    - fill_rule
    - tolerance
    - x
    - y
    argTypes:
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 297
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 297
    functionName: _cairo_path_fixed_in_fill
    functionSourceFile: /src/cairo/src/cairo-path-in-fill.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_interpret
    - _cairo_path_fixed_fill_is_empty
    - _cairo_in_fill_close_path
    - assert
    - _cairo_in_fill_init
    - _cairo_in_fill_fini
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t _cairo_path_fixed_in_fill (const cairo_path_fixed_t\t\
      *path,\t\t\t cairo_fill_rule_t\t fill_rule,\t\t\t double\t\t tolerance,\t\t\t\
      \ double\t\t x,\t\t\t double\t\t y) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-font-options.c:161,1
    - Dst: _cairo_font_options_init_default
      Src: /src/cairo/src/cairo-font-options.c:167,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-font-options.c:163,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 170
    functionName: cairo_font_options_create
    functionSourceFile: /src/cairo/src/cairo-font-options.c
    functionUses: []
    functionsReached:
    - _cairo_font_options_init_default
    - _cairo_error_throw
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_font_options_t*
    signature: 'cairo_font_options_t *cairo_font_options_create (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cairo_font_options_status
      Src: /src/cairo/src/cairo-font-options.c:337,1
    - Dst: memcmp
      Src: /src/cairo/src/cairo-font-options.c:359,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-font-options.c:353,1
    - Dst: cairo_font_options_status
      Src: /src/cairo/src/cairo-font-options.c:339,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 44
    argCount: 2
    argNames:
    - options
    - other
    argTypes:
    - cairo_font_options_t*
    - cairo_font_options_t*
    constantsTouched: []
    func_position:
      end: 361
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 361
    functionName: cairo_font_options_equal
    functionSourceFile: /src/cairo/src/cairo-font-options.c
    functionUses: []
    functionsReached:
    - strcmp
    - cairo_font_options_status
    - memcmp
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t cairo_font_options_equal (const cairo_font_options_t\
      \ *options,\t\t\t const cairo_font_options_t *other) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_font_options_status
      Src: /src/cairo/src/cairo-font-options.c:412,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - options
    - antialias
    argTypes:
    - cairo_font_options_t*
    - cairo_antialias_t
    constantsTouched: []
    func_position:
      end: 416
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 416
    functionName: cairo_font_options_set_antialias
    functionSourceFile: /src/cairo/src/cairo-font-options.c
    functionUses: []
    functionsReached:
    - cairo_font_options_status
    linkageType: ''
    returnType: void
    signature: "void cairo_font_options_set_antialias (cairo_font_options_t *options,\t\
      \t\t\t cairo_antialias_t antialias) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_font_options_status
      Src: /src/cairo/src/cairo-font-options.c:474,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - options
    argTypes:
    - cairo_font_options_t*
    constantsTouched: []
    func_position:
      end: 478
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 478
    functionName: cairo_font_options_get_subpixel_order
    functionSourceFile: /src/cairo/src/cairo-font-options.c
    functionUses: []
    functionsReached:
    - cairo_font_options_status
    linkageType: ''
    returnType: cairo_subpixel_order_t
    signature: 'cairo_subpixel_order_t cairo_font_options_get_subpixel_order (const
      cairo_font_options_t *options) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_font_options_status
      Src: /src/cairo/src/cairo-font-options.c:547,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - options
    argTypes:
    - cairo_font_options_t*
    constantsTouched: []
    func_position:
      end: 551
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 551
    functionName: _cairo_font_options_get_round_glyph_positions
    functionSourceFile: /src/cairo/src/cairo-font-options.c
    functionUses: []
    functionsReached:
    - cairo_font_options_status
    linkageType: ''
    returnType: cairo_round_glyph_positions_t
    signature: 'cairo_round_glyph_positions_t _cairo_font_options_get_round_glyph_positions
      (const cairo_font_options_t *options) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 686
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 686
    functionName: cairo_font_options_get_variations
    functionSourceFile: /src/cairo/src/cairo-font-options.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *cairo_font_options_get_variations (cairo_font_options_t
      *options) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cairo/src/cairo-font-options.c:124,1
    - Dst: memcmp
      Src: /src/cairo/src/cairo-font-options.c:130,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 32
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_font_options_t*
    - cairo_font_options_t*
    constantsTouched: []
    func_position:
      end: 140
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 140
    functionName: _cairo_font_options_compare
    functionSourceFile: /src/cairo/src/cairo-font-options.c
    functionUses: []
    functionsReached:
    - strcmp
    - memcmp
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t _cairo_font_options_compare (const cairo_font_options_t\t\
      *a, const cairo_font_options_t\t*b) "
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: cairo_font_options_status
      Src: /src/cairo/src/cairo-font-options.c:271,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-font-options.c:295,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-font-options.c:295,1
    - Dst: cairo_font_options_status
      Src: /src/cairo/src/cairo-font-options.c:274,1
    - Dst: malloc
      Src: /src/cairo/src/cairo-font-options.c:295,1
    - Dst: strcat
      Src: /src/cairo/src/cairo-font-options.c:297,1
    - Dst: strcat
      Src: /src/cairo/src/cairo-font-options.c:298,1
    - Dst: strcat
      Src: /src/cairo/src/cairo-font-options.c:299,1
    - Dst: free
      Src: /src/cairo/src/cairo-font-options.c:300,1
    - Dst: strdup
      Src: /src/cairo/src/cairo-font-options.c:304,1
    - Dst: malloc
      Src: /src/cairo/src/cairo-font-options.c:315,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-font-options.c:316,1
    - Dst: free
      Src: /src/cairo/src/cairo-font-options.c:314,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 2
    argNames:
    - options
    - other
    argTypes:
    - cairo_font_options_t*
    - cairo_font_options_t*
    constantsTouched: []
    func_position:
      end: 318
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 318
    functionName: cairo_font_options_merge
    functionSourceFile: /src/cairo/src/cairo-font-options.c
    functionUses: []
    functionsReached:
    - malloc
    - strcat
    - memcpy
    - strlen
    - free
    - strdup
    - cairo_font_options_status
    linkageType: ''
    returnType: void
    signature: "void cairo_font_options_merge (cairo_font_options_t *options,\t\t\t\
      \ const cairo_font_options_t *other) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_font_options_status
      Src: /src/cairo/src/cairo-font-options.c:382,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-font-options.c:386,1
    - Dst: _cairo_string_hash
      Src: /src/cairo/src/cairo-font-options.c:386,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - options
    argTypes:
    - cairo_font_options_t*
    constantsTouched: []
    func_position:
      end: 396
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 396
    functionName: cairo_font_options_hash
    functionSourceFile: /src/cairo/src/cairo-font-options.c
    functionUses: []
    functionsReached:
    - cairo_font_options_status
    - strlen
    - _cairo_string_hash
    linkageType: ''
    returnType: unsigned long
    signature: 'unsigned long cairo_font_options_hash (const cairo_font_options_t
      *options) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/cairo/src/cairo-font-options.c:661,1
    - Dst: free
      Src: /src/cairo/src/cairo-font-options.c:662,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - options
    - variations
    argTypes:
    - cairo_font_options_t*
    - char*
    constantsTouched: []
    func_position:
      end: 664
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 664
    functionName: cairo_font_options_set_variations
    functionSourceFile: /src/cairo/src/cairo-font-options.c
    functionUses: []
    functionsReached:
    - free
    - strdup
    linkageType: ''
    returnType: void
    signature: 'void cairo_font_options_set_variations (cairo_font_options_t *options,
      const char *variations) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_font_options_status
      Src: /src/cairo/src/cairo-font-options.c:723,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - options
    argTypes:
    - cairo_font_options_t*
    constantsTouched: []
    func_position:
      end: 727
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 727
    functionName: cairo_font_options_get_color_mode
    functionSourceFile: /src/cairo/src/cairo-font-options.c
    functionUses: []
    functionsReached:
    - cairo_font_options_status
    linkageType: ''
    returnType: cairo_public
    signature: 'cairo_public cairo_color_mode_t cairo_font_options_get_color_mode
      (const cairo_font_options_t *options) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 6
    argNames:
    - options
    - index
    - red
    - green
    - blue
    - alpha
    argTypes:
    - cairo_font_options_t*
    - unsigned int
    - double*
    - double*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 870
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 870
    functionName: cairo_font_options_get_custom_palette_color
    functionSourceFile: /src/cairo/src/cairo-font-options.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t cairo_font_options_get_custom_palette_color (cairo_font_options_t
      *options, unsigned int index, double *red, double *green, double *blue, double
      *alpha) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_font_options_status
      Src: /src/cairo/src/cairo-font-options.c:494,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - options
    - lcd_filter
    argTypes:
    - cairo_font_options_t*
    - cairo_lcd_filter_t
    constantsTouched: []
    func_position:
      end: 498
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 498
    functionName: _cairo_font_options_set_lcd_filter
    functionSourceFile: /src/cairo/src/cairo-font-options.c
    functionUses: []
    functionsReached:
    - cairo_font_options_status
    linkageType: ''
    returnType: void
    signature: "void _cairo_font_options_set_lcd_filter (cairo_font_options_t *options,\t\
      \t\t\t cairo_lcd_filter_t lcd_filter) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_font_options_status
      Src: /src/cairo/src/cairo-font-options.c:569,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - options
    - hint_style
    argTypes:
    - cairo_font_options_t*
    - cairo_hint_style_t
    constantsTouched: []
    func_position:
      end: 573
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 573
    functionName: cairo_font_options_set_hint_style
    functionSourceFile: /src/cairo/src/cairo-font-options.c
    functionUses: []
    functionsReached:
    - cairo_font_options_status
    linkageType: ''
    returnType: void
    signature: "void cairo_font_options_set_hint_style (cairo_font_options_t *options,\t\
      \t\t\t cairo_hint_style_t hint_style) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_font_options_status
      Src: /src/cairo/src/cairo-font-options.c:703,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - options
    - color_mode
    argTypes:
    - cairo_font_options_t*
    - cairo_color_mode_t
    constantsTouched: []
    func_position:
      end: 707
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 707
    functionName: cairo_font_options_set_color_mode
    functionSourceFile: /src/cairo/src/cairo-font-options.c
    functionUses: []
    functionsReached:
    - cairo_font_options_status
    linkageType: ''
    returnType: cairo_public
    signature: 'cairo_public void cairo_font_options_set_color_mode (cairo_font_options_t
      *options, cairo_color_mode_t color_mode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - options
    argTypes:
    - cairo_font_options_t*
    constantsTouched: []
    func_position:
      end: 253
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 253
    functionName: cairo_font_options_status
    functionSourceFile: /src/cairo/src/cairo-font-options.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t cairo_font_options_status (cairo_font_options_t *options) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_font_options_status
      Src: /src/cairo/src/cairo-font-options.c:431,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - options
    argTypes:
    - cairo_font_options_t*
    constantsTouched: []
    func_position:
      end: 435
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 435
    functionName: cairo_font_options_get_antialias
    functionSourceFile: /src/cairo/src/cairo-font-options.c
    functionUses: []
    functionsReached:
    - cairo_font_options_status
    linkageType: ''
    returnType: cairo_antialias_t
    signature: 'cairo_antialias_t cairo_font_options_get_antialias (const cairo_font_options_t
      *options) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_font_options_status
      Src: /src/cairo/src/cairo-font-options.c:512,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - options
    argTypes:
    - cairo_font_options_t*
    constantsTouched: []
    func_position:
      end: 516
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 516
    functionName: _cairo_font_options_get_lcd_filter
    functionSourceFile: /src/cairo/src/cairo-font-options.c
    functionUses: []
    functionsReached:
    - cairo_font_options_status
    linkageType: ''
    returnType: cairo_lcd_filter_t
    signature: 'cairo_lcd_filter_t _cairo_font_options_get_lcd_filter (const cairo_font_options_t
      *options) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_font_options_status
      Src: /src/cairo/src/cairo-font-options.c:589,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - options
    argTypes:
    - cairo_font_options_t*
    constantsTouched: []
    func_position:
      end: 593
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 593
    functionName: cairo_font_options_get_hint_style
    functionSourceFile: /src/cairo/src/cairo-font-options.c
    functionUses: []
    functionsReached:
    - cairo_font_options_status
    linkageType: ''
    returnType: cairo_hint_style_t
    signature: 'cairo_hint_style_t cairo_font_options_get_hint_style (const cairo_font_options_t
      *options) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_realloc_ab
      Src: /src/cairo/src/cairo-font-options.c:819,1
    - Dst: memset
      Src: /src/cairo/src/cairo-font-options.c:825,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 6
    argNames:
    - options
    - index
    - red
    - green
    - blue
    - alpha
    argTypes:
    - cairo_font_options_t*
    - unsigned int
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 832
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 832
    functionName: cairo_font_options_set_custom_palette_color
    functionSourceFile: /src/cairo/src/cairo-font-options.c
    functionUses: []
    functionsReached:
    - _cairo_realloc_ab
    - memset
    linkageType: ''
    returnType: void
    signature: 'void cairo_font_options_set_custom_palette_color (cairo_font_options_t
      *options, unsigned int index, double red, double green, double blue, double
      alpha) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_font_options_status
      Src: /src/cairo/src/cairo-font-options.c:225,1
    - Dst: _cairo_font_options_fini
      Src: /src/cairo/src/cairo-font-options.c:228,1
    - Dst: free
      Src: /src/cairo/src/cairo-font-options.c:229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - options
    argTypes:
    - cairo_font_options_t*
    constantsTouched: []
    func_position:
      end: 230
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 230
    functionName: cairo_font_options_destroy
    functionSourceFile: /src/cairo/src/cairo-font-options.c
    functionUses: []
    functionsReached:
    - free
    - _cairo_font_options_fini
    - cairo_font_options_status
    linkageType: ''
    returnType: void
    signature: 'void cairo_font_options_destroy (cairo_font_options_t *options) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_font_options_status
      Src: /src/cairo/src/cairo-font-options.c:776,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - options
    argTypes:
    - cairo_font_options_t*
    constantsTouched: []
    func_position:
      end: 780
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 780
    functionName: cairo_font_options_get_color_palette
    functionSourceFile: /src/cairo/src/cairo-font-options.c
    functionUses: []
    functionsReached:
    - cairo_font_options_status
    linkageType: ''
    returnType: unsigned int
    signature: 'unsigned int cairo_font_options_get_color_palette (const cairo_font_options_t
      *options) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_font_options_status
      Src: /src/cairo/src/cairo-font-options.c:757,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - options
    - palette_index
    argTypes:
    - cairo_font_options_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 761
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 761
    functionName: cairo_font_options_set_color_palette
    functionSourceFile: /src/cairo/src/cairo-font-options.c
    functionUses: []
    functionsReached:
    - cairo_font_options_status
    linkageType: ''
    returnType: void
    signature: 'void cairo_font_options_set_color_palette (cairo_font_options_t *options,
      unsigned int palette_index) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - options
    argTypes:
    - cairo_font_options_t*
    constantsTouched: []
    func_position:
      end: 84
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 84
    functionName: _cairo_font_options_init_default
    functionSourceFile: /src/cairo/src/cairo-font-options.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void _cairo_font_options_init_default (cairo_font_options_t *options) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_font_options_status
      Src: /src/cairo/src/cairo-font-options.c:192,1
    - Dst: _cairo_font_options_init_copy
      Src: /src/cairo/src/cairo-font-options.c:201,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-font-options.c:195,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-font-options.c:197,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 204
    functionName: cairo_font_options_copy
    functionSourceFile: /src/cairo/src/cairo-font-options.c
    functionUses: []
    functionsReached:
    - _cairo_font_options_init_copy
    - _cairo_error_throw
    - cairo_font_options_status
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_font_options_t*
    signature: 'cairo_font_options_t *cairo_font_options_copy (const cairo_font_options_t
      *original) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_font_options_status
      Src: /src/cairo/src/cairo-font-options.c:631,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - options
    argTypes:
    - cairo_font_options_t*
    constantsTouched: []
    func_position:
      end: 635
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 635
    functionName: cairo_font_options_get_hint_metrics
    functionSourceFile: /src/cairo/src/cairo-font-options.c
    functionUses: []
    functionsReached:
    - cairo_font_options_status
    linkageType: ''
    returnType: cairo_hint_metrics_t
    signature: 'cairo_hint_metrics_t cairo_font_options_get_hint_metrics (const cairo_font_options_t
      *options) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/cairo/src/cairo-font-options.c:96,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-font-options.c:103,1
    - Dst: malloc
      Src: /src/cairo/src/cairo-font-options.c:102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - options
    - other
    argTypes:
    - cairo_font_options_t*
    - cairo_font_options_t*
    constantsTouched: []
    func_position:
      end: 105
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 105
    functionName: _cairo_font_options_init_copy
    functionSourceFile: /src/cairo/src/cairo-font-options.c
    functionUses: []
    functionsReached:
    - malloc
    - strdup
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void _cairo_font_options_init_copy (cairo_font_options_t\t\t*options,\t\
      \t\t const cairo_font_options_t\t*other) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-font-options.c:209,1
    - Dst: free
      Src: /src/cairo/src/cairo-font-options.c:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - options
    argTypes:
    - cairo_font_options_t*
    constantsTouched: []
    func_position:
      end: 211
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 211
    functionName: _cairo_font_options_fini
    functionSourceFile: /src/cairo/src/cairo-font-options.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void _cairo_font_options_fini (cairo_font_options_t *options) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_font_options_status
      Src: /src/cairo/src/cairo-font-options.c:454,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - options
    - subpixel_order
    argTypes:
    - cairo_font_options_t*
    - cairo_subpixel_order_t
    constantsTouched: []
    func_position:
      end: 458
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 458
    functionName: cairo_font_options_set_subpixel_order
    functionSourceFile: /src/cairo/src/cairo-font-options.c
    functionUses: []
    functionsReached:
    - cairo_font_options_status
    linkageType: ''
    returnType: void
    signature: "void cairo_font_options_set_subpixel_order (cairo_font_options_t *options,\t\
      \t\t\t cairo_subpixel_order_t subpixel_order) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_font_options_status
      Src: /src/cairo/src/cairo-font-options.c:530,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - options
    - round
    argTypes:
    - cairo_font_options_t*
    - cairo_round_glyph_positions_t
    constantsTouched: []
    func_position:
      end: 534
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 534
    functionName: _cairo_font_options_set_round_glyph_positions
    functionSourceFile: /src/cairo/src/cairo-font-options.c
    functionUses: []
    functionsReached:
    - cairo_font_options_status
    linkageType: ''
    returnType: void
    signature: "void _cairo_font_options_set_round_glyph_positions (cairo_font_options_t\
      \ *options,\t\t\t\t\t cairo_round_glyph_positions_t round) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_font_options_status
      Src: /src/cairo/src/cairo-font-options.c:611,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - options
    - hint_metrics
    argTypes:
    - cairo_font_options_t*
    - cairo_hint_metrics_t
    constantsTouched: []
    func_position:
      end: 615
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 615
    functionName: cairo_font_options_set_hint_metrics
    functionSourceFile: /src/cairo/src/cairo-font-options.c
    functionUses: []
    functionsReached:
    - cairo_font_options_status
    linkageType: ''
    returnType: void
    signature: "void cairo_font_options_set_hint_metrics (cairo_font_options_t *options,\t\
      \t\t\t cairo_hint_metrics_t hint_metrics) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-botor-scan-converter.c:505,1
    - Dst: _cairo_int64_cmp
      Src: /src/cairo/src/cairo-botor-scan-converter.c:507,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-botor-scan-converter.c:506,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - edge_t*
    - edge_t*
    constantsTouched: []
    func_position:
      end: 508
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 508
    functionName: slope_compare
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached:
    - _cairo_int64_cmp
    - _cairo_int32x32_64_mul
    linkageType: ''
    returnType: int
    signature: "static inline int slope_compare (const edge_t *a,\t const edge_t *b) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: line_equal
      Src: /src/cairo/src/cairo-botor-scan-converter.c:524,1
    - Dst: edges_compare_x_for_y
      Src: /src/cairo/src/cairo-botor-scan-converter.c:527,1
    - Dst: slope_compare
      Src: /src/cairo/src/cairo-botor-scan-converter.c:531,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - y
    argTypes:
    - edge_t*
    - edge_t*
    - cairo_fixed_t
    constantsTouched: []
    func_position:
      end: 532
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 532
    functionName: sweep_line_compare_edges
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached:
    - slope_compare
    - line_equal
    - edges_compare_x_for_y
    linkageType: ''
    returnType: int
    signature: "static inline int sweep_line_compare_edges (const edge_t\t*a,\t\t\t\
      \ const edge_t\t*b,\t\t\t cairo_fixed_t y) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-botor-scan-converter.c:821,1
    - Dst: _cairo_realloc_ab
      Src: /src/cairo/src/cairo-botor-scan-converter.c:829,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-botor-scan-converter.c:823,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-botor-scan-converter.c:832,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-botor-scan-converter.c:826,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - pq
    argTypes:
    - pqueue_t*
    constantsTouched: []
    func_position:
      end: 838
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 838
    functionName: pqueue_grow
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached:
    - _cairo_realloc_ab
    - memcpy
    - _cairo_malloc_ab
    - unlikely
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t pqueue_grow (pqueue_t *pq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-botor-scan-converter.c:801,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pq
    argTypes:
    - pqueue_t*
    constantsTouched: []
    func_position:
      end: 805
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 805
    functionName: pqueue_init
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached:
    - ARRAY_LENGTH
    linkageType: ''
    returnType: void
    signature: 'static void pqueue_init (pqueue_t *pq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PQ_LEFT_CHILD_INDEX
      Src: /src/cairo/src/cairo-botor-scan-converter.c:880,1
    - Dst: event_compare
      Src: /src/cairo/src/cairo-botor-scan-converter.c:884,1
    - Dst: event_compare
      Src: /src/cairo/src/cairo-botor-scan-converter.c:890,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 1
    argNames:
    - pq
    argTypes:
    - pqueue_t*
    constantsTouched: []
    func_position:
      end: 896
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 896
    functionName: pqueue_pop
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached:
    - PQ_LEFT_CHILD_INDEX
    - event_compare
    linkageType: ''
    returnType: void
    signature: 'static inline void pqueue_pop (pqueue_t *pq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_freepool_free
      Src: /src/cairo/src/cairo-botor-scan-converter.c:925,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - sweep_line
    - event
    argTypes:
    - sweep_line_t*
    - event_t*
    constantsTouched: []
    func_position:
      end: 926
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 926
    functionName: event_delete
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached:
    - _cairo_freepool_free
    linkageType: ''
    returnType: void
    signature: "static void event_delete (sweep_line_t\t*sweep_line,\t event_t\t\t\
      *event) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - edge
    argTypes:
    - edge_t*
    constantsTouched: []
    func_position:
      end: 1233
      start: 1224
    functionDepth: 0
    functionLinenumber: 1224
    functionLinenumberEnd: 1233
    functionName: full_inc_edge
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'inline static void full_inc_edge (edge_t *edge) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1380,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1381,1
    - Dst: longjmp
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1383,1
    - Dst: coverage_reset
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1433,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1372,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1370,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1380,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1435,1
    - Dst: AREA_TO_ALPHA
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1400,1
    - Dst: CAIRO_STACK_ARRAY_LENGTH
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1363,1
    - Dst: longjmp
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1373,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1382,1
    - Dst: longjmp
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1436,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1384,1
    - Dst: AREA_TO_ALPHA
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1417,1
    - Dst: AREA_TO_ALPHA
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1408,1
    - Dst: free
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1431,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1430,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 66
    argCount: 5
    argNames:
    - self
    - sweep_line
    - y
    - height
    - renderer
    argTypes:
    - cairo_botor_scan_converter_t*
    - sweep_line_t*
    - int
    - int
    - cairo_span_renderer_t*
    constantsTouched: []
    func_position:
      end: 1437
      start: 1357
    functionDepth: 0
    functionLinenumber: 1357
    functionLinenumberEnd: 1437
    functionName: render_rows
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached:
    - CAIRO_STACK_ARRAY_LENGTH
    - AREA_TO_ALPHA
    - _cairo_error
    - free
    - ARRAY_LENGTH
    - coverage_reset
    - longjmp
    - _cairo_malloc_ab
    - unlikely
    linkageType: ''
    returnType: void
    signature: "static void render_rows (cairo_botor_scan_converter_t *self,\t sweep_line_t\
      \ *sweep_line,\t int y, int height,\t cairo_span_renderer_t *renderer) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_line_t*
    - cairo_line_t*
    constantsTouched: []
    func_position:
      end: 515
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 515
    functionName: line_equal
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int line_equal (const cairo_line_t *a, const cairo_line_t
      *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_int64_sub
      Src: /src/cairo/src/cairo-botor-scan-converter.c:539,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-botor-scan-converter.c:539,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-botor-scan-converter.c:540,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - a
    - b
    - c
    - d
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 541
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 541
    functionName: det32_64
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached:
    - _cairo_int64_sub
    - _cairo_int32x32_64_mul
    linkageType: ''
    returnType: cairo_int64_t
    signature: "static inline cairo_int64_t det32_64 (int32_t a, int32_t b,\t int32_t\
      \ c, int32_t d) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-botor-scan-converter.c:811,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - pq
    argTypes:
    - pqueue_t*
    constantsTouched: []
    func_position:
      end: 812
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 812
    functionName: pqueue_fini
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'static void pqueue_fini (pqueue_t *pq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-botor-scan-converter.c:846,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-botor-scan-converter.c:847,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-botor-scan-converter.c:849,1
    - Dst: longjmp
      Src: /src/cairo/src/cairo-botor-scan-converter.c:848,1
    - Dst: pqueue_grow
      Src: /src/cairo/src/cairo-botor-scan-converter.c:847,1
    - Dst: event_compare
      Src: /src/cairo/src/cairo-botor-scan-converter.c:856,1
    - Dst: PQ_PARENT_INDEX
      Src: /src/cairo/src/cairo-botor-scan-converter.c:857,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - sweep_line
    - event
    argTypes:
    - sweep_line_t*
    - event_t*
    constantsTouched: []
    func_position:
      end: 864
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 864
    functionName: pqueue_push
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - event_compare
    - PQ_PARENT_INDEX
    - pqueue_grow
    - longjmp
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'static inline void pqueue_push (sweep_line_t *sweep_line, event_t
      *event) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_freepool_alloc
      Src: /src/cairo/src/cairo-botor-scan-converter.c:907,1
    - Dst: longjmp
      Src: /src/cairo/src/cairo-botor-scan-converter.c:909,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-botor-scan-converter.c:910,1
    - Dst: pqueue_push
      Src: /src/cairo/src/cairo-botor-scan-converter.c:918,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-botor-scan-converter.c:908,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 5
    argNames:
    - sweep_line
    - type
    - e1
    - e2
    - y
    argTypes:
    - sweep_line_t*
    - event_type_t
    - edge_t*
    - edge_t*
    - cairo_fixed_t
    constantsTouched: []
    func_position:
      end: 919
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 919
    functionName: event_insert
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - pqueue_push
    - _cairo_freepool_alloc
    - longjmp
    - unlikely
    linkageType: ''
    returnType: void
    signature: "static inline void event_insert (sweep_line_t\t*sweep_line,\t event_type_t\t\
      \ type,\t edge_t\t\t*e1,\t edge_t\t\t*e2,\t cairo_fixed_t\t y) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: event_compare
      Src: /src/cairo/src/cairo-botor-scan-converter.c:936,1
    - Dst: pqueue_pop
      Src: /src/cairo/src/cairo-botor-scan-converter.c:943,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 947
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 947
    functionName: event_next
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached:
    - pqueue_pop
    - event_compare
    linkageType: ''
    returnType: event_t*
    signature: 'static inline event_t *event_next (sweep_line_t *sweep_line) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_insert
      Src: /src/cairo/src/cairo-botor-scan-converter.c:955,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - sweep_line
    - edge
    argTypes:
    - sweep_line_t*
    - edge_t*
    constantsTouched: []
    func_position:
      end: 959
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 959
    functionName: event_insert_stop
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached:
    - event_insert
    linkageType: ''
    returnType: void
    signature: "static inline void event_insert_stop (sweep_line_t\t*sweep_line,\t\
      \t edge_t\t*edge) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1245,1
    - Dst: _cairo_fixed_fractional_part
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1248,1
    - Dst: full_inc_edge
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1256,1
    - Dst: coverage_find
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1249,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1259,1
    - Dst: likely
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1262,1
    - Dst: _cairo_fixed_fractional_part
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1263,1
    - Dst: _cairo_fixed_fractional_part
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1264,1
    - Dst: coverage_find
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1265,1
    - Dst: coverage_render_cells
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1271,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 3
    argNames:
    - sweep_line
    - edge
    - sign
    argTypes:
    - sweep_line_t*
    - edge_t*
    - int
    constantsTouched: []
    func_position:
      end: 1272
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1272
    functionName: full_add_edge
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached:
    - full_inc_edge
    - _cairo_fixed_integer_part
    - _cairo_fixed_fractional_part
    - coverage_find
    - coverage_render_cells
    - likely
    linkageType: ''
    returnType: void
    signature: 'static void full_add_edge (sweep_line_t *sweep_line, edge_t *edge,
      int sign) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-botor-scan-converter.c:344,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-botor-scan-converter.c:345,1
    - Dst: _cairo_int128_cmp
      Src: /src/cairo/src/cairo-botor-scan-converter.c:349,1
    - Dst: _cairo_int64_cmp
      Src: /src/cairo/src/cairo-botor-scan-converter.c:347,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-botor-scan-converter.c:357,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-botor-scan-converter.c:358,1
    - Dst: _cairo_int64_cmp
      Src: /src/cairo/src/cairo-botor-scan-converter.c:360,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-botor-scan-converter.c:369,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-botor-scan-converter.c:370,1
    - Dst: _cairo_int64_cmp
      Src: /src/cairo/src/cairo-botor-scan-converter.c:372,1
    - Dst: _cairo_int128_sub
      Src: /src/cairo/src/cairo-botor-scan-converter.c:376,1
    - Dst: _cairo_int128_cmp
      Src: /src/cairo/src/cairo-botor-scan-converter.c:376,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 78
    argCount: 3
    argNames:
    - a
    - b
    - y
    argTypes:
    - cairo_edge_t*
    - cairo_edge_t*
    - int32_t
    constantsTouched: []
    func_position:
      end: 381
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 381
    functionName: edges_compare_x_for_y_general
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached:
    - _cairo_int128_cmp
    - _cairo_int64_cmp
    - _cairo_int32x32_64_mul
    - _cairo_int128_sub
    linkageType: ''
    returnType: int
    signature: "static int edges_compare_x_for_y_general (const cairo_edge_t *a,\t\
      \t\t const cairo_edge_t *b,\t\t\t int32_t y) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bo_intersect_ordinate_32_compare
      Src: /src/cairo/src/cairo-botor-scan-converter.c:720,1
    - Dst: bo_intersect_ordinate_32_compare
      Src: /src/cairo/src/cairo-botor-scan-converter.c:751,1
    - Dst: line_compute_intersection_x_for_y
      Src: /src/cairo/src/cairo-botor-scan-converter.c:755,1
    - Dst: line_compute_intersection_x_for_y
      Src: /src/cairo/src/cairo-botor-scan-converter.c:749,1
    - Dst: bo_intersect_ordinate_32_compare
      Src: /src/cairo/src/cairo-botor-scan-converter.c:726,1
    - Dst: bo_intersect_ordinate_32_compare
      Src: /src/cairo/src/cairo-botor-scan-converter.c:757,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - edge
    - point
    argTypes:
    - edge_t*
    - cairo_bo_intersect_point_t*
    constantsTouched: []
    func_position:
      end: 759
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 759
    functionName: bo_edge_contains_intersect_point
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached:
    - bo_intersect_ordinate_32_compare
    - line_compute_intersection_x_for_y
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t bo_edge_contains_intersect_point (const edge_t\t\
      \t\t*edge,\t\t\t\t cairo_bo_intersect_point_t\t*point) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: botor_add_edge
      Src: /src/cairo/src/cairo-botor-scan-converter.c:2147,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 6
    argNames:
    - converter
    - p1
    - p2
    - top
    - bottom
    - dir
    argTypes:
    - void*
    - cairo_point_t*
    - cairo_point_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2148
      start: 2131
    functionDepth: 0
    functionLinenumber: 2131
    functionLinenumberEnd: 2148
    functionName: _cairo_botor_scan_converter_add_edge
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached:
    - botor_add_edge
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_botor_scan_converter_add_edge (void\t\
      \t*converter,\t\t\t\t const cairo_point_t *p1,\t\t\t\t const cairo_point_t *p2,\t\
      \t\t\t int top, int bottom,\t\t\t\t int dir) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-botor-scan-converter.c:436,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-botor-scan-converter.c:437,1
    - Dst: _cairo_int64_cmp
      Src: /src/cairo/src/cairo-botor-scan-converter.c:439,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - a
    - y
    - x
    argTypes:
    - cairo_edge_t*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 440
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 440
    functionName: edge_compare_for_y_against_x
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached:
    - _cairo_int64_cmp
    - _cairo_int32x32_64_mul
    linkageType: ''
    returnType: int
    signature: "static int edge_compare_for_y_against_x (const cairo_edge_t *a,\t\t\
      \t int32_t y,\t\t\t int32_t x) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_int128_sub
      Src: /src/cairo/src/cairo-botor-scan-converter.c:548,1
    - Dst: _cairo_int64x32_128_mul
      Src: /src/cairo/src/cairo-botor-scan-converter.c:548,1
    - Dst: _cairo_int64x32_128_mul
      Src: /src/cairo/src/cairo-botor-scan-converter.c:549,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - a
    - b
    - c
    - d
    argTypes:
    - cairo_int64_t
    - int32_t
    - cairo_int64_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 550
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 550
    functionName: det64x32_128
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached:
    - _cairo_int64x32_128_mul
    - _cairo_int128_sub
    linkageType: ''
    returnType: cairo_int128_t
    signature: "static inline cairo_int128_t det64x32_128 (cairo_int64_t a, int32_t\
      \ b,\t cairo_int64_t c, int32_t d) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: intersect_lines
      Src: /src/cairo/src/cairo-botor-scan-converter.c:768,1
    - Dst: bo_edge_contains_intersect_point
      Src: /src/cairo/src/cairo-botor-scan-converter.c:772,1
    - Dst: bo_edge_contains_intersect_point
      Src: /src/cairo/src/cairo-botor-scan-converter.c:777,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 3
    argNames:
    - a
    - b
    - intersection
    argTypes:
    - edge_t*
    - edge_t*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 790
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 790
    functionName: edge_intersect
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached:
    - bo_edge_contains_intersect_point
    - intersect_lines
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t edge_intersect (const edge_t\t\t*a,\t\tconst edge_t\t\
      \t*b,\t\tcairo_point_t\t*intersection) "
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - edge
    - height
    argTypes:
    - edge_t*
    - cairo_fixed_t
    constantsTouched: []
    func_position:
      end: 1521
      start: 1501
    functionDepth: 0
    functionLinenumber: 1501
    functionLinenumberEnd: 1521
    functionName: sub_inc_edge
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_always_inline
    signature: "cairo_always_inline static void sub_inc_edge (edge_t *edge,\t cairo_fixed_t\
      \ height) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: line_equal
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1544,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - left
    - right
    - y
    argTypes:
    - edge_t*
    - edge_t*
    - cairo_fixed_t
    constantsTouched: []
    func_position:
      end: 1546
      start: 1540
    functionDepth: 0
    functionLinenumber: 1540
    functionLinenumberEnd: 1546
    functionName: edges_coincident
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached:
    - line_equal
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'inline static cairo_bool_t edges_coincident (edge_t *left, edge_t
      *right, cairo_fixed_t y) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_fractional_part
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1595,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1605,1
    - Dst: link_to_edge
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1600,1
    - Dst: link_to_edge
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1611,1
    - Dst: sub_add_run
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1607,1
    - Dst: edges_coincident
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1616,1
    - Dst: link_to_edge
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1616,1
    - Dst: sub_add_run
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1623,1
    - Dst: sub_add_run
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1627,1
    - Dst: sub_add_run
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1629,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 1
    argNames:
    - sweep_line
    argTypes:
    - sweep_line_t*
    constantsTouched: []
    func_position:
      end: 1631
      start: 1591
    functionDepth: 0
    functionLinenumber: 1591
    functionLinenumberEnd: 1631
    functionName: sub_evenodd
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_fractional_part
    - edges_coincident
    - link_to_edge
    - sub_add_run
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'static void sub_evenodd (sweep_line_t *sweep_line) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sub_inc_edge
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1667,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1685,1
    - Dst: sub_inc_edge
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1679,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1686,1
    - Dst: full_inc_edge
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1677,1
    - Dst: likely
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1689,1
    - Dst: _cairo_fixed_fractional_part
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1693,1
    - Dst: _cairo_fixed_fractional_part
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1694,1
    - Dst: coverage_find
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1695,1
    - Dst: coverage_render_cells
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1699,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 4
    argNames:
    - sweep
    - edge
    - y1
    - y2
    argTypes:
    - sweep_line_t*
    - edge_t*
    - cairo_fixed_t
    - cairo_fixed_t
    constantsTouched: []
    func_position:
      end: 1705
      start: 1646
    functionDepth: 0
    functionLinenumber: 1646
    functionLinenumberEnd: 1705
    functionName: coverage_render_runs
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached:
    - full_inc_edge
    - sub_inc_edge
    - _cairo_fixed_integer_part
    - _cairo_fixed_fractional_part
    - coverage_find
    - coverage_render_cells
    - likely
    linkageType: ''
    returnType: void
    signature: "static void coverage_render_runs (sweep_line_t *sweep, edge_t *edge,\t\
      \t cairo_fixed_t y1, cairo_fixed_t y2) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: edges_compare_x_for_y_general
      Src: /src/cairo/src/cairo-botor-scan-converter.c:479,1
    - Dst: edge_compare_for_y_against_x
      Src: /src/cairo/src/cairo-botor-scan-converter.c:483,1
    - Dst: edge_compare_for_y_against_x
      Src: /src/cairo/src/cairo-botor-scan-converter.c:481,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 3
    argNames:
    - a
    - b
    - y
    argTypes:
    - cairo_edge_t*
    - cairo_edge_t*
    - int32_t
    constantsTouched: []
    func_position:
      end: 487
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 487
    functionName: edges_compare_x_for_y
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached:
    - edge_compare_for_y_against_x
    - edges_compare_x_for_y_general
    linkageType: ''
    returnType: int
    signature: "static int edges_compare_x_for_y (const cairo_edge_t *a,\t\t const\
      \ cairo_edge_t *b,\t\t int32_t y) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - event_t*
    - event_t*
    constantsTouched: []
    func_position:
      end: 796
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 796
    functionName: event_compare
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int event_compare (const event_t *a, const event_t *b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_freepool_alloc
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1528,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1530,1
    - Dst: longjmp
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1530,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1529,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - sweep_line
    - edge
    - y
    - sign
    argTypes:
    - sweep_line_t*
    - edge_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1538
      start: 1523
    functionDepth: 0
    functionLinenumber: 1523
    functionLinenumberEnd: 1538
    functionName: sub_add_run
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - longjmp
    - _cairo_freepool_alloc
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'static void sub_add_run (sweep_line_t *sweep_line, edge_t *edge, int
      y, int sign) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_is_empty
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1637,1
    - Dst: sub_nonzero
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1641,1
    - Dst: sub_evenodd
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1643,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - self
    - sweep_line
    argTypes:
    - cairo_botor_scan_converter_t*
    - sweep_line_t*
    constantsTouched: []
    func_position:
      end: 1644
      start: 1633
    functionDepth: 0
    functionLinenumber: 1633
    functionLinenumberEnd: 1644
    functionName: sub_step
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached:
    - sub_evenodd
    - cairo_list_is_empty
    - sub_nonzero
    linkageType: ''
    returnType: cairo_always_inline
    signature: "cairo_always_inline static void sub_step (cairo_botor_scan_converter_t\
      \ *self,\t sweep_line_t *sweep_line) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: coverage_find
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1720,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1720,1
    - Dst: _cairo_fixed_fractional_part
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1722,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 3
    argNames:
    - sweep
    - edge
    - y2
    argTypes:
    - sweep_line_t*
    - edge_t*
    - cairo_fixed_t
    constantsTouched: []
    func_position:
      end: 1723
      start: 1707
    functionDepth: 0
    functionLinenumber: 1707
    functionLinenumberEnd: 1723
    functionName: coverage_render_vertical_runs
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached:
    - coverage_find
    - _cairo_fixed_fractional_part
    - _cairo_fixed_integer_part
    linkageType: ''
    returnType: void
    signature: 'static void coverage_render_vertical_runs (sweep_line_t *sweep, edge_t
      *edge, cairo_fixed_t y2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_foreach_entry
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1444,1
    - Dst: full_add_edge
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1446,1
    - Dst: full_inc_edge
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1448,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - sweep
    argTypes:
    - sweep_line_t*
    constantsTouched: []
    func_position:
      end: 1450
      start: 1439
    functionDepth: 0
    functionLinenumber: 1439
    functionLinenumberEnd: 1450
    functionName: full_repeat
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached:
    - full_inc_edge
    - full_add_edge
    - cairo_list_foreach_entry
    linkageType: ''
    returnType: void
    signature: 'static void full_repeat (sweep_line_t *sweep) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_freepool_reset
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1070,1
    - Dst: coverage_rewind
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1071,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - cells
    argTypes:
    - struct coverage*
    constantsTouched: []
    func_position:
      end: 1072
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1072
    functionName: coverage_reset
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached:
    - _cairo_freepool_reset
    - coverage_rewind
    linkageType: ''
    returnType: void
    signature: 'inline static void coverage_reset (struct coverage *cells) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: link_to_edge
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1282,1
    - Dst: full_add_edge
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1290,1
    - Dst: link_to_edge
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1294,1
    - Dst: link_to_edge
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1301,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1289,1
    - Dst: full_inc_edge
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1308,1
    - Dst: full_add_edge
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1311,1
    - Dst: full_add_edge
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1312,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 1
    argNames:
    - sweep_line
    argTypes:
    - sweep_line_t*
    constantsTouched: []
    func_position:
      end: 1314
      start: 1274
    functionDepth: 0
    functionLinenumber: 1274
    functionLinenumberEnd: 1314
    functionName: full_nonzero
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached:
    - full_inc_edge
    - full_add_edge
    - unlikely
    - link_to_edge
    linkageType: ''
    returnType: void
    signature: 'static void full_nonzero (sweep_line_t *sweep_line) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sub_step
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1732,1
    - Dst: cairo_list_foreach_entry
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1736,1
    - Dst: full_inc_edge
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1744,1
    - Dst: _cairo_fixed_fractional_part
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1741,1
    - Dst: sub_inc_edge
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1740,1
    - Dst: coverage_render_vertical_runs
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1748,1
    - Dst: _cairo_fixed_fractional_part
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1752,1
    - Dst: coverage_render_runs
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1755,1
    - Dst: cairo_list_foreach_entry
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1762,1
    - Dst: _cairo_fixed_fractional_part
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1763,1
    - Dst: coverage_render_runs
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1770,1
    - Dst: coverage_render_vertical_runs
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1765,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1773,1
    - Dst: _cairo_fixed_fractional_part
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1769,1
    - Dst: _cairo_freepool_reset
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1775,1
    - Dst: render_rows
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1777,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1778,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 3
    argNames:
    - self
    - sweep
    - renderer
    argTypes:
    - cairo_botor_scan_converter_t*
    - sweep_line_t*
    - cairo_span_renderer_t*
    constantsTouched: []
    func_position:
      end: 1780
      start: 1725
    functionDepth: 0
    functionLinenumber: 1725
    functionLinenumberEnd: 1780
    functionName: sub_emit
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached:
    - full_inc_edge
    - cairo_list_foreach_entry
    - sub_inc_edge
    - _cairo_fixed_integer_part
    - coverage_render_vertical_runs
    - _cairo_fixed_fractional_part
    - _cairo_freepool_reset
    - render_rows
    - coverage_render_runs
    - sub_step
    - cairo_list_init
    linkageType: ''
    returnType: cairo_always_inline
    signature: "cairo_always_inline static void sub_emit (cairo_botor_scan_converter_t\
      \ *self,\t sweep_line_t *sweep,\t cairo_span_renderer_t *renderer) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_del
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1815,1
    - Dst: cairo_list_add_tail
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1817,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - sweep_line
    - edge
    argTypes:
    - sweep_line_t*
    - edge_t*
    constantsTouched: []
    func_position:
      end: 1819
      start: 1808
    functionDepth: 0
    functionLinenumber: 1808
    functionLinenumberEnd: 1819
    functionName: sweep_line_delete
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached:
    - cairo_list_del
    - cairo_list_add_tail
    linkageType: ''
    returnType: void
    signature: "static void sweep_line_delete (sweep_line_t\t*sweep_line,\t\t edge_t\t\
      *edge) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: botor_add_edge
      Src: /src/cairo/src/cairo-botor-scan-converter.c:2160,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-botor-scan-converter.c:2161,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - converter
    - polygon
    argTypes:
    - cairo_botor_scan_converter_t*
    - cairo_polygon_t*
    constantsTouched: []
    func_position:
      end: 2166
      start: 2151
    functionDepth: 0
    functionLinenumber: 2151
    functionLinenumberEnd: 2166
    functionName: _cairo_botor_scan_converter_add_polygon
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached:
    - botor_add_edge
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_botor_scan_converter_add_polygon (cairo_botor_scan_converter_t\
      \ *converter,\t\t\t\t\t const cairo_polygon_t *polygon) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_freepool_alloc
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1081,1
    - Dst: longjmp
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1083,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1082,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1084,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1096
    functionName: coverage_alloc
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - longjmp
    - _cairo_freepool_alloc
    - unlikely
    linkageType: ''
    returnType: struct cell*
    signature: "static struct cell *coverage_alloc (sweep_line_t *sweep_line,\t\t\
      struct cell *tail,\t\tint x) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: link_to_edge
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1324,1
    - Dst: link_to_edge
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1342,1
    - Dst: full_add_edge
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1332,1
    - Dst: full_inc_edge
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1349,1
    - Dst: link_to_edge
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1336,1
    - Dst: full_add_edge
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1352,1
    - Dst: full_add_edge
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1353,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 1
    argNames:
    - sweep_line
    argTypes:
    - sweep_line_t*
    constantsTouched: []
    func_position:
      end: 1355
      start: 1316
    functionDepth: 0
    functionLinenumber: 1316
    functionLinenumberEnd: 1355
    functionName: full_evenodd
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached:
    - full_inc_edge
    - full_add_edge
    - link_to_edge
    linkageType: ''
    returnType: void
    signature: 'static void full_evenodd (sweep_line_t *sweep_line) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_fractional_part
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1552,1
    - Dst: sub_add_run
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1564,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1562,1
    - Dst: link_to_edge
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1568,1
    - Dst: link_to_edge
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1557,1
    - Dst: edges_coincident
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1574,1
    - Dst: link_to_edge
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1574,1
    - Dst: sub_add_run
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1581,1
    - Dst: sub_add_run
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1585,1
    - Dst: sub_add_run
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1587,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 1
    argNames:
    - sweep_line
    argTypes:
    - sweep_line_t*
    constantsTouched: []
    func_position:
      end: 1589
      start: 1548
    functionDepth: 0
    functionLinenumber: 1548
    functionLinenumberEnd: 1589
    functionName: sub_nonzero
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_fractional_part
    - edges_coincident
    - link_to_edge
    - sub_add_run
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'static void sub_nonzero (sweep_line_t *sweep_line) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1787,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1788,1
    - Dst: start_event_sort
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1797,1
    - Dst: coverage_init
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1794,1
    - Dst: _cairo_freepool_init
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1795,1
    - Dst: _cairo_freepool_init
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1802,1
    - Dst: pqueue_init
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1804,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - sweep_line
    - start_events
    - num_events
    argTypes:
    - sweep_line_t*
    - event_t**
    - int
    constantsTouched: []
    func_position:
      end: 1806
      start: 1782
    functionDepth: 0
    functionLinenumber: 1782
    functionLinenumberEnd: 1806
    functionName: sweep_line_init
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached:
    - cairo_list_init
    - start_event_sort
    - coverage_init
    - _cairo_freepool_init
    - pqueue_init
    linkageType: ''
    returnType: void
    signature: "static void sweep_line_init (sweep_line_t\t *sweep_line,\t\t event_t\t\
      **start_events,\t\t int\t\t num_events) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - sweep_line
    - left
    - right
    argTypes:
    - sweep_line_t*
    - edge_t*
    - edge_t*
    constantsTouched: []
    func_position:
      end: 1832
      start: 1821
    functionDepth: 0
    functionLinenumber: 1821
    functionLinenumberEnd: 1832
    functionName: sweep_line_swap
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void sweep_line_swap (sweep_line_t\t*sweep_line,\t\t edge_t\t\
      *left,\t\t edge_t\t*right) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pqueue_fini
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1837,1
    - Dst: coverage_fini
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1839,1
    - Dst: _cairo_freepool_fini
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1840,1
    - Dst: _cairo_freepool_fini
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1838,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - sweep_line
    argTypes:
    - sweep_line_t*
    constantsTouched: []
    func_position:
      end: 1841
      start: 1834
    functionDepth: 0
    functionLinenumber: 1834
    functionLinenumberEnd: 1841
    functionName: sweep_line_fini
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached:
    - _cairo_freepool_fini
    - coverage_fini
    - pqueue_fini
    linkageType: ''
    returnType: void
    signature: 'static void sweep_line_fini (sweep_line_t *sweep_line) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-botor-scan-converter.c:2176,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 1
    argNames:
    - converter
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2178
      start: 2168
    functionDepth: 0
    functionLinenumber: 2168
    functionLinenumberEnd: 2178
    functionName: _cairo_botor_scan_converter_destroy
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_botor_scan_converter_destroy (void *converter) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_int64_ge
      Src: /src/cairo/src/cairo-botor-scan-converter.c:616,1
    - Dst: _cairo_int64_negative
      Src: /src/cairo/src/cairo-botor-scan-converter.c:641,1
    - Dst: det32_64
      Src: /src/cairo/src/cairo-botor-scan-converter.c:627,1
    - Dst: _cairo_int32_to_int64
      Src: /src/cairo/src/cairo-botor-scan-converter.c:646,1
    - Dst: _cairo_int64_to_int32
      Src: /src/cairo/src/cairo-botor-scan-converter.c:651,1
    - Dst: _cairo_int32_to_int64
      Src: /src/cairo/src/cairo-botor-scan-converter.c:666,1
    - Dst: _cairo_int64_negative
      Src: /src/cairo/src/cairo-botor-scan-converter.c:666,1
    - Dst: _cairo_int64_ge
      Src: /src/cairo/src/cairo-botor-scan-converter.c:605,1
    - Dst: _cairo_int64_eq
      Src: /src/cairo/src/cairo-botor-scan-converter.c:634,1
    - Dst: _cairo_int64_is_zero
      Src: /src/cairo/src/cairo-botor-scan-converter.c:640,1
    - Dst: _cairo_int64_negate
      Src: /src/cairo/src/cairo-botor-scan-converter.c:642,1
    - Dst: _cairo_int64_negative
      Src: /src/cairo/src/cairo-botor-scan-converter.c:641,1
    - Dst: _cairo_int32_to_int64
      Src: /src/cairo/src/cairo-botor-scan-converter.c:643,1
    - Dst: _cairo_int64_add
      Src: /src/cairo/src/cairo-botor-scan-converter.c:645,1
    - Dst: _cairo_int64_negative
      Src: /src/cairo/src/cairo-botor-scan-converter.c:646,1
    - Dst: _cairo_int64_eq
      Src: /src/cairo/src/cairo-botor-scan-converter.c:657,1
    - Dst: _cairo_int64_is_zero
      Src: /src/cairo/src/cairo-botor-scan-converter.c:663,1
    - Dst: _cairo_int64_to_int32
      Src: /src/cairo/src/cairo-botor-scan-converter.c:670,1
    - Dst: det32_64
      Src: /src/cairo/src/cairo-botor-scan-converter.c:580,1
    - Dst: det32_64
      Src: /src/cairo/src/cairo-botor-scan-converter.c:601,1
    - Dst: det32_64
      Src: /src/cairo/src/cairo-botor-scan-converter.c:612,1
    - Dst: _cairo_int64_negative
      Src: /src/cairo/src/cairo-botor-scan-converter.c:615,1
    - Dst: _cairo_int64_le
      Src: /src/cairo/src/cairo-botor-scan-converter.c:619,1
    - Dst: _cairo_int64_is_zero
      Src: /src/cairo/src/cairo-botor-scan-converter.c:637,1
    - Dst: _cairo_int64_mul
      Src: /src/cairo/src/cairo-botor-scan-converter.c:643,1
    - Dst: _cairo_int64_is_zero
      Src: /src/cairo/src/cairo-botor-scan-converter.c:660,1
    - Dst: _cairo_int64_le
      Src: /src/cairo/src/cairo-botor-scan-converter.c:608,1
    - Dst: _cairo_int64_negative
      Src: /src/cairo/src/cairo-botor-scan-converter.c:604,1
    - Dst: det32_64
      Src: /src/cairo/src/cairo-botor-scan-converter.c:625,1
    - Dst: det64x32_128
      Src: /src/cairo/src/cairo-botor-scan-converter.c:631,1
    - Dst: _cairo_int_96by64_32x64_divrem
      Src: /src/cairo/src/cairo-botor-scan-converter.c:631,1
    - Dst: _cairo_int64_ge
      Src: /src/cairo/src/cairo-botor-scan-converter.c:644,1
    - Dst: _cairo_int_96by64_32x64_divrem
      Src: /src/cairo/src/cairo-botor-scan-converter.c:654,1
    - Dst: det64x32_128
      Src: /src/cairo/src/cairo-botor-scan-converter.c:654,1
    - Dst: _cairo_int64_add
      Src: /src/cairo/src/cairo-botor-scan-converter.c:665,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 73
    argCount: 3
    argNames:
    - a
    - b
    - intersection
    argTypes:
    - edge_t*
    - edge_t*
    - cairo_bo_intersect_point_t*
    constantsTouched: []
    func_position:
      end: 673
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 673
    functionName: intersect_lines
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached:
    - _cairo_int64_negative
    - _cairo_int_96by64_32x64_divrem
    - det32_64
    - _cairo_int64_is_zero
    - det64x32_128
    - _cairo_int32_to_int64
    - _cairo_int64_negate
    - _cairo_int64_add
    - _cairo_int64_to_int32
    - _cairo_int64_mul
    - _cairo_int64_le
    - _cairo_int64_eq
    - _cairo_int64_ge
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t intersect_lines (const edge_t *a, const edge_t\
      \ *b,\t\t cairo_bo_intersect_point_t\t*intersection) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_STACK_ARRAY_LENGTH
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1993,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1995,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-botor-scan-converter.c:2003,1
    - Dst: _cairo_fixed_integer_floor
      Src: /src/cairo/src/cairo-botor-scan-converter.c:2005,1
    - Dst: _cairo_fixed_integer_ceil
      Src: /src/cairo/src/cairo-botor-scan-converter.c:2006,1
    - Dst: _cairo_fixed_integer_floor
      Src: /src/cairo/src/cairo-botor-scan-converter.c:2007,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-botor-scan-converter.c:2013,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-botor-scan-converter.c:2013,1
    - Dst: _cairo_malloc_ab_plus_c
      Src: /src/cairo/src/cairo-botor-scan-converter.c:2014,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-botor-scan-converter.c:2018,1
    - Dst: botor_generate
      Src: /src/cairo/src/cairo-botor-scan-converter.c:2039,1
    - Dst: free
      Src: /src/cairo/src/cairo-botor-scan-converter.c:2042,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-botor-scan-converter.c:2017,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 2
    argNames:
    - converter
    - renderer
    argTypes:
    - void*
    - cairo_span_renderer_t*
    constantsTouched: []
    func_position:
      end: 2045
      start: 1988
    functionDepth: 0
    functionLinenumber: 1988
    functionLinenumberEnd: 2045
    functionName: _cairo_botor_scan_converter_generate
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached:
    - CAIRO_STACK_ARRAY_LENGTH
    - _cairo_malloc_ab_plus_c
    - _cairo_error
    - free
    - ARRAY_LENGTH
    - _cairo_fixed_integer_floor
    - _cairo_fixed_integer_ceil
    - botor_generate
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_botor_scan_converter_generate (void\t\
      \t\t*converter,\t\t\t\t cairo_span_renderer_t\t*renderer) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: botor_allocate_edge
      Src: /src/cairo/src/cairo-botor-scan-converter.c:2081,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-botor-scan-converter.c:2083,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-botor-scan-converter.c:2085,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-botor-scan-converter.c:2082,1
    - Dst: floored_divrem
      Src: /src/cairo/src/cairo-botor-scan-converter.c:2102,1
    - Dst: floored_muldivrem
      Src: /src/cairo/src/cairo-botor-scan-converter.c:2107,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-botor-scan-converter.c:2112,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-botor-scan-converter.c:2112,1
    - Dst: floored_muldivrem
      Src: /src/cairo/src/cairo-botor-scan-converter.c:2113,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 50
    argCount: 2
    argNames:
    - self
    - edge
    argTypes:
    - cairo_botor_scan_converter_t*
    - cairo_edge_t*
    constantsTouched: []
    func_position:
      end: 2128
      start: 2074
    functionDepth: 0
    functionLinenumber: 2074
    functionLinenumberEnd: 2128
    functionName: botor_add_edge
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_integer_part
    - _cairo_error
    - unlikely
    - botor_allocate_edge
    - floored_divrem
    - floored_muldivrem
    - cairo_list_init
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t botor_add_edge (cairo_botor_scan_converter_t\
      \ *self,\t\tconst cairo_edge_t *edge) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 194
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 194
    functionName: floored_divrem
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: quorem
    signature: 'quorem floored_divrem (int a, int b) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_mul_div_floor
      Src: /src/cairo/src/cairo-botor-scan-converter.c:224,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - line
    - y
    argTypes:
    - cairo_line_t*
    - cairo_fixed_t
    constantsTouched: []
    func_position:
      end: 230
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 230
    functionName: line_compute_intersection_x_for_y
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_mul_div_floor
    linkageType: ''
    returnType: cairo_fixed_t
    signature: "static cairo_fixed_t line_compute_intersection_x_for_y (const cairo_line_t\
      \ *line,\t\t\t\t cairo_fixed_t y) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - exactness
    argTypes:
    - int32_t
    - int32_t
    - int
    constantsTouched: []
    func_position:
      end: 688
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 688
    functionName: bo_intersect_ordinate_32_compare
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int bo_intersect_ordinate_32_compare (int32_t a, int32_t b,
      int exactness) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: slope_compare
      Src: /src/cairo/src/cairo-botor-scan-converter.c:982,1
    - Dst: event_insert
      Src: /src/cairo/src/cairo-botor-scan-converter.c:988,1
    - Dst: edge_intersect
      Src: /src/cairo/src/cairo-botor-scan-converter.c:985,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 3
    argNames:
    - sweep_line
    - left
    - right
    argTypes:
    - sweep_line_t*
    - edge_t*
    - edge_t*
    constantsTouched: []
    func_position:
      end: 992
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 992
    functionName: event_insert_if_intersect_below_current_y
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached:
    - slope_compare
    - edge_intersect
    - event_insert
    linkageType: ''
    returnType: void
    signature: "static inline void event_insert_if_intersect_below_current_y (sweep_line_t\t\
      *sweep_line,\t\t\t\t\t edge_t\t*left,\t\t\t\t\t edge_t\t*right) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sweep_line_compare_edges
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1013,1
    - Dst: sweep_line_compare_edges
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1028,1
    - Dst: link_to_edge
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1018,1
    - Dst: link_to_edge
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1013,1
    - Dst: sweep_line_compare_edges
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1018,1
    - Dst: link_to_edge
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1028,1
    - Dst: cairo_list_add
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1033,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 2
    argNames:
    - sweep_line
    - edge
    argTypes:
    - sweep_line_t*
    - edge_t*
    constantsTouched: []
    func_position:
      end: 1035
      start: 1000
    functionDepth: 0
    functionLinenumber: 1000
    functionLinenumberEnd: 1035
    functionName: sweep_line_insert
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached:
    - cairo_list_add
    - sweep_line_compare_edges
    - link_to_edge
    linkageType: ''
    returnType: void
    signature: "static void sweep_line_insert (sweep_line_t\t*sweep_line,\t\t edge_t\t\
      *edge) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_freepool_init
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1046,1
    - Dst: coverage_rewind
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1055,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - cells
    argTypes:
    - struct coverage*
    constantsTouched: []
    func_position:
      end: 1056
      start: 1043
    functionDepth: 0
    functionLinenumber: 1043
    functionLinenumberEnd: 1056
    functionName: coverage_init
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached:
    - _cairo_freepool_init
    - coverage_rewind
    linkageType: ''
    returnType: void
    signature: 'static void coverage_init (struct coverage *cells) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1104,1
    - Dst: UNROLL3
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1115,1
    - Dst: coverage_alloc
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1124,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1127
    functionName: coverage_find
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached:
    - UNROLL3
    - coverage_alloc
    - unlikely
    linkageType: ''
    returnType: struct cell*
    signature: 'inline static struct cell *coverage_find (sweep_line_t *sweep_line,
      int x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_foreach_entry
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1457,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - sweep
    argTypes:
    - sweep_line_t*
    constantsTouched: []
    func_position:
      end: 1459
      start: 1452
    functionDepth: 0
    functionLinenumber: 1452
    functionLinenumberEnd: 1459
    functionName: full_reset
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached:
    - cairo_list_foreach_entry
    linkageType: ''
    returnType: void
    signature: 'static void full_reset (sweep_line_t *sweep) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - x
    - a
    - b
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 208
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 208
    functionName: floored_muldivrem
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: struct quorem
    signature: 'static struct quorem floored_muldivrem(int x, int a, int b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 998
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 998
    functionName: link_to_edge
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: edge_t*
    signature: 'static inline edge_t *link_to_edge (cairo_list_t *link) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - cells
    argTypes:
    - struct coverage*
    constantsTouched: []
    func_position:
      end: 1041
      start: 1037
    functionDepth: 0
    functionLinenumber: 1037
    functionLinenumberEnd: 1041
    functionName: coverage_rewind
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'inline static void coverage_rewind (struct coverage *cells) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_freepool_fini
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1061,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - cells
    argTypes:
    - struct coverage*
    constantsTouched: []
    func_position:
      end: 1062
      start: 1058
    functionDepth: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1062
    functionName: coverage_fini
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached:
    - _cairo_freepool_fini
    linkageType: ''
    returnType: void
    signature: 'static void coverage_fini (struct coverage *cells) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1142,1
    - Dst: _cairo_fixed_fractional_part
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1143,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1145,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1150,1
    - Dst: _cairo_fixed_fractional_part
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1146,1
    - Dst: _cairo_fixed_fractional_part
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1151,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1153,1
    - Dst: _cairo_fixed_fractional_part
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1154,1
    - Dst: floored_divrem
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1166,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1171,1
    - Dst: coverage_alloc
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1186,1
    - Dst: coverage_alloc
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1215,1
    - Dst: floored_divrem
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1197,1
    - Dst: coverage_alloc
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1195,1
    - Dst: UNROLL3
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1178,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 93
    argCount: 6
    argNames:
    - sweep_line
    - left
    - right
    - y1
    - y2
    - sign
    argTypes:
    - sweep_line_t*
    - cairo_fixed_t
    - cairo_fixed_t
    - cairo_fixed_t
    - cairo_fixed_t
    - int
    constantsTouched: []
    func_position:
      end: 1222
      start: 1129
    functionDepth: 0
    functionLinenumber: 1129
    functionLinenumberEnd: 1222
    functionName: coverage_render_cells
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_integer_part
    - _cairo_fixed_fractional_part
    - coverage_alloc
    - floored_divrem
    - UNROLL3
    - unlikely
    linkageType: ''
    returnType: void
    signature: "static void coverage_render_cells (sweep_line_t *sweep_line,\t\t cairo_fixed_t\
      \ left, cairo_fixed_t right,\t\t cairo_fixed_t y1, cairo_fixed_t y2,\t\t int\
      \ sign) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1469,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1475,1
    - Dst: cairo_list_is_empty
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1471,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1470,1
    - Dst: longjmp
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1476,1
    - Dst: full_nonzero
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1482,1
    - Dst: full_evenodd
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1484,1
    - Dst: render_rows
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1487,1
    - Dst: full_reset
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1488,1
    - Dst: render_rows
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1492,1
    - Dst: full_reset
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1498,1
    - Dst: full_repeat
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1494,1
    - Dst: render_rows
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1495,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 4
    argNames:
    - self
    - sweep_line
    - row
    - renderer
    argTypes:
    - cairo_botor_scan_converter_t*
    - sweep_line_t*
    - cairo_fixed_t
    - cairo_span_renderer_t*
    constantsTouched: []
    func_position:
      end: 1499
      start: 1461
    functionDepth: 0
    functionLinenumber: 1461
    functionLinenumberEnd: 1499
    functionName: full_step
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached:
    - full_repeat
    - _cairo_fixed_integer_part
    - full_evenodd
    - full_reset
    - full_nonzero
    - render_rows
    - longjmp
    - cairo_list_is_empty
    - unlikely
    linkageType: ''
    returnType: void
    signature: "static void full_step (cairo_botor_scan_converter_t *self,\t sweep_line_t\
      \ *sweep_line,\t cairo_fixed_t row,\t cairo_span_renderer_t *renderer) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_integer_floor
      Src: /src/cairo/src/cairo-botor-scan-converter.c:2191,1
    - Dst: _cairo_fixed_integer_ceil
      Src: /src/cairo/src/cairo-botor-scan-converter.c:2192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - self
    - extents
    - fill_rule
    argTypes:
    - cairo_botor_scan_converter_t*
    - cairo_box_t*
    - cairo_fill_rule_t
    constantsTouched: []
    func_position:
      end: 2201
      start: 2180
    functionDepth: 0
    functionLinenumber: 2180
    functionLinenumberEnd: 2201
    functionName: _cairo_botor_scan_converter_init
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_integer_ceil
    - _cairo_fixed_integer_floor
    linkageType: ''
    returnType: void
    signature: "void _cairo_botor_scan_converter_init (cairo_botor_scan_converter_t\
      \ *self,\t\t\t\t const cairo_box_t *extents,\t\t\t\t cairo_fill_rule_t fill_rule) "
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: sweep_line_init
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1856,1
    - Dst: setjmp
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1857,1
    - Dst: full_step
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1868,1
    - Dst: event_insert_stop
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1886,1
    - Dst: link_to_edge
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1893,1
    - Dst: event_insert_if_intersect_below_current_y
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1915,1
    - Dst: link_to_edge
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1917,1
    - Dst: sweep_line_delete
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1910,1
    - Dst: sweep_line_fini
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1983,1
    - Dst: _cairo_fixed_floor
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1867,1
    - Dst: sweep_line_swap
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1939,1
    - Dst: link_to_edge
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1916,1
    - Dst: event_insert_if_intersect_below_current_y
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1943,1
    - Dst: _cairo_fixed_integer_ceil
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1978,1
    - Dst: _cairo_fixed_floor
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1862,1
    - Dst: sub_step
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1875,1
    - Dst: sweep_line_insert
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1885,1
    - Dst: event_insert_if_intersect_below_current_y
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1892,1
    - Dst: event_insert_if_intersect_below_current_y
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1897,1
    - Dst: event_delete
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1926,1
    - Dst: event_delete
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1905,1
    - Dst: link_to_edge
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1898,1
    - Dst: event_insert_if_intersect_below_current_y
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1948,1
    - Dst: link_to_edge
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1949,1
    - Dst: link_to_edge
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1944,1
    - Dst: event_next
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1955,1
    - Dst: sub_emit
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1962,1
    - Dst: sub_emit
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1970,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-botor-scan-converter.c:1976,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 92
    argCount: 3
    argNames:
    - self
    - start_events
    - renderer
    argTypes:
    - cairo_botor_scan_converter_t*
    - event_t**
    - cairo_span_renderer_t*
    constantsTouched: []
    func_position:
      end: 1986
      start: 1843
    functionDepth: 0
    functionLinenumber: 1843
    functionLinenumberEnd: 1986
    functionName: botor_generate
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached:
    - setjmp
    - event_delete
    - sweep_line_init
    - _cairo_fixed_integer_part
    - _cairo_fixed_floor
    - event_insert_stop
    - sweep_line_delete
    - sweep_line_swap
    - sub_emit
    - _cairo_fixed_integer_ceil
    - sweep_line_fini
    - event_insert_if_intersect_below_current_y
    - event_next
    - sub_step
    - full_step
    - sweep_line_insert
    - link_to_edge
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t botor_generate (cairo_botor_scan_converter_t\t\
      \ *self,\t\tevent_t\t\t\t\t**start_events,\t\tcairo_span_renderer_t\t\t *renderer) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_malloc_ab_plus_c
      Src: /src/cairo/src/cairo-botor-scan-converter.c:2057,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-botor-scan-converter.c:2060,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2072
      start: 2047
    functionDepth: 0
    functionLinenumber: 2047
    functionLinenumberEnd: 2072
    functionName: botor_allocate_edge
    functionSourceFile: /src/cairo/src/cairo-botor-scan-converter.c
    functionUses: []
    functionsReached:
    - _cairo_malloc_ab_plus_c
    - unlikely
    linkageType: ''
    returnType: edge_t*
    signature: 'static edge_t *botor_allocate_edge (cairo_botor_scan_converter_t *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: _cairo_surface_is_image_source
    functionSourceFile: /src/cairo/src/cairo-image-surface-inline.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static inline cairo_bool_t _cairo_surface_is_image_source (const cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - image
    - parent
    argTypes:
    - cairo_image_surface_t*
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: _cairo_image_surface_set_parent
    functionSourceFile: /src/cairo/src/cairo-image-surface-inline.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static inline void _cairo_image_surface_set_parent (cairo_image_surface_t\
      \ *image,\t\t\t\t cairo_surface_t *parent) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-image-surface-inline.h:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: _cairo_image_surface_create_in_error
    functionSourceFile: /src/cairo/src/cairo-image-surface-inline.h
    functionUses: []
    functionsReached:
    - _cairo_surface_create_in_error
    linkageType: ''
    returnType: CAIRO_BEGIN_DECLS*
    signature: 'CAIRO_BEGIN_DECLS static inline cairo_image_surface_t *_cairo_image_surface_create_in_error
      (cairo_status_t status) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - image
    argTypes:
    - cairo_image_surface_t*
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: _cairo_image_surface_is_clone
    functionSourceFile: /src/cairo/src/cairo-image-surface-inline.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static inline cairo_bool_t _cairo_image_surface_is_clone (cairo_image_surface_t
      *image) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: _cairo_surface_is_image
    functionSourceFile: /src/cairo/src/cairo-image-surface-inline.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static inline cairo_bool_t _cairo_surface_is_image (const cairo_surface_t
      *surface) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_recording_pattern
      Src: /src/cairo/src/cairo-spans-compositor.c:450,1
    - Dst: unwrap_source
      Src: /src/cairo/src/cairo-spans-compositor.c:456,1
    - Dst: _cairo_rectangle_contains_rectangle
      Src: /src/cairo/src/cairo-spans-compositor.c:460,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - pattern
    - sample
    argTypes:
    - cairo_pattern_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 461
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 461
    functionName: recording_pattern_contains_sample
    functionSourceFile: /src/cairo/src/cairo-spans-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_rectangle_contains_rectangle
    - unwrap_source
    - is_recording_pattern
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t recording_pattern_contains_sample (const cairo_pattern_t\
      \ *pattern,\t\t\t\t const cairo_rectangle_int_t *sample) "
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_copy
      Src: /src/cairo/src/cairo-spans-compositor.c:853,1
    - Dst: fixup_unbounded_boxes
      Src: /src/cairo/src/cairo-spans-compositor.c:843,1
    - Dst: composite_aligned_boxes
      Src: /src/cairo/src/cairo-spans-compositor.c:881,1
    - Dst: composite_polygon
      Src: /src/cairo/src/cairo-spans-compositor.c:894,1
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-spans-compositor.c:874,1
    - Dst: TRACE
      Src: /src/cairo/src/cairo-spans-compositor.c:834,1
    - Dst: clip_and_composite_polygon
      Src: /src/cairo/src/cairo-spans-compositor.c:866,1
    - Dst: _cairo_polygon_init_boxes
      Src: /src/cairo/src/cairo-spans-compositor.c:890,1
    - Dst: trim_extents_to_boxes
      Src: /src/cairo/src/cairo-spans-compositor.c:835,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-spans-compositor.c:836,1
    - Dst: _cairo_clip_intersect_boxes
      Src: /src/cairo/src/cairo-spans-compositor.c:854,1
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-spans-compositor.c:855,1
    - Dst: _cairo_clip_get_polygon
      Src: /src/cairo/src/cairo-spans-compositor.c:858,1
    - Dst: composite_boxes
      Src: /src/cairo/src/cairo-spans-compositor.c:886,1
    - Dst: _cairo_polygon_fini
      Src: /src/cairo/src/cairo-spans-compositor.c:897,1
    - Dst: _cairo_clip_path_destroy
      Src: /src/cairo/src/cairo-spans-compositor.c:860,1
    - Dst: likely
      Src: /src/cairo/src/cairo-spans-compositor.c:862,1
    - Dst: _cairo_polygon_fini
      Src: /src/cairo/src/cairo-spans-compositor.c:872,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-spans-compositor.c:891,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 44
    argCount: 3
    argNames:
    - compositor
    - extents
    - boxes
    argTypes:
    - cairo_spans_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 900
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 900
    functionName: clip_and_composite_boxes
    functionSourceFile: /src/cairo/src/cairo-spans-compositor.c
    functionUses: []
    functionsReached:
    - clip_and_composite_polygon
    - _cairo_clip_destroy
    - TRACE
    - composite_polygon
    - _cairo_polygon_fini
    - _cairo_clip_path_destroy
    - _cairo_clip_is_all_clipped
    - composite_boxes
    - _cairo_clip_get_polygon
    - fixup_unbounded_boxes
    - _cairo_clip_intersect_boxes
    - _cairo_polygon_init_boxes
    - trim_extents_to_boxes
    - composite_aligned_boxes
    - _cairo_clip_copy
    - likely
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t clip_and_composite_boxes (const cairo_spans_compositor_t\t\
      *compositor,\t\t\t cairo_composite_rectangles_t\t\t*extents,\t\t\t cairo_boxes_t\t\
      \t\t\t*boxes) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pattern_is_opaque
      Src: /src/cairo/src/cairo-spans-compositor.c:474,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - extents
    - no_mask
    argTypes:
    - cairo_composite_rectangles_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 478
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 478
    functionName: op_reduces_to_source
    functionSourceFile: /src/cairo/src/cairo-spans-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_is_opaque
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t op_reduces_to_source (const cairo_composite_rectangles_t\
      \ *extents,\t\t cairo_bool_t no_mask) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-spans-compositor.c:911,1
    - Dst: _cairo_polygon_is_empty
      Src: /src/cairo/src/cairo-spans-compositor.c:918,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-spans-compositor.c:915,1
    - Dst: trim_extents_to_polygon
      Src: /src/cairo/src/cairo-spans-compositor.c:914,1
    - Dst: _cairo_boxes_init
      Src: /src/cairo/src/cairo-spans-compositor.c:924,1
    - Dst: fixup_unbounded_boxes
      Src: /src/cairo/src/cairo-spans-compositor.c:926,1
    - Dst: TRACE
      Src: /src/cairo/src/cairo-spans-compositor.c:934,1
    - Dst: _cairo_clip_get_polygon
      Src: /src/cairo/src/cairo-spans-compositor.c:937,1
    - Dst: likely
      Src: /src/cairo/src/cairo-spans-compositor.c:941,1
    - Dst: _cairo_polygon_intersect
      Src: /src/cairo/src/cairo-spans-compositor.c:945,1
    - Dst: trim_extents_to_polygon
      Src: /src/cairo/src/cairo-spans-compositor.c:955,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-spans-compositor.c:956,1
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-spans-compositor.c:953,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-spans-compositor.c:948,1
    - Dst: _cairo_polygon_fini
      Src: /src/cairo/src/cairo-spans-compositor.c:961,1
    - Dst: _cairo_polygon_fini
      Src: /src/cairo/src/cairo-spans-compositor.c:947,1
    - Dst: _cairo_clip_copy_region
      Src: /src/cairo/src/cairo-spans-compositor.c:952,1
    - Dst: composite_polygon
      Src: /src/cairo/src/cairo-spans-compositor.c:966,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 5
    argNames:
    - compositor
    - extents
    - polygon
    - fill_rule
    - antialias
    argTypes:
    - cairo_spans_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_polygon_t*
    - cairo_fill_rule_t
    - cairo_antialias_t
    constantsTouched: []
    func_position:
      end: 968
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 968
    functionName: clip_and_composite_polygon
    functionSourceFile: /src/cairo/src/cairo-spans-compositor.c
    functionUses: []
    functionsReached:
    - trim_extents_to_polygon
    - _cairo_clip_destroy
    - TRACE
    - _cairo_polygon_intersect
    - _cairo_boxes_init
    - _cairo_polygon_fini
    - _cairo_polygon_is_empty
    - _cairo_clip_copy_region
    - _cairo_clip_get_polygon
    - fixup_unbounded_boxes
    - composite_polygon
    - likely
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t clip_and_composite_polygon (const cairo_spans_compositor_t\t\
      *compositor,\t\t\t cairo_composite_rectangles_t\t *extents,\t\t\t cairo_polygon_t\t\
      \t\t*polygon,\t\t\t cairo_fill_rule_t\t\t\t fill_rule,\t\t\t cairo_antialias_t\t\
      \t\t antialias) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pattern_get_source
      Src: /src/cairo/src/cairo-spans-compositor.c:428,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 430
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 430
    functionName: unwrap_source
    functionSourceFile: /src/cairo/src/cairo-spans-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_get_source
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *unwrap_source (const cairo_pattern_t *pattern) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-spans-compositor.c:557,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-spans-compositor.c:598,1
    - Dst: _cairo_surface_has_device_transform
      Src: /src/cairo/src/cairo-spans-compositor.c:605,1
    - Dst: unwrap_source
      Src: /src/cairo/src/cairo-spans-compositor.c:613,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-spans-compositor.c:669,1
    - Dst: likely
      Src: /src/cairo/src/cairo-spans-compositor.c:681,1
    - Dst: _clip_is_region
      Src: /src/cairo/src/cairo-spans-compositor.c:552,1
    - Dst: CAIRO_COLOR_IS_OPAQUE
      Src: /src/cairo/src/cairo-spans-compositor.c:565,1
    - Dst: upload_boxes
      Src: /src/cairo/src/cairo-spans-compositor.c:629,1
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-spans-compositor.c:615,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-spans-compositor.c:657,1
    - Dst: op_reduces_to_source
      Src: /src/cairo/src/cairo-spans-compositor.c:566,1
    - Dst: TRACE
      Src: /src/cairo/src/cairo-spans-compositor.c:560,1
    - Dst: TRACE
      Src: /src/cairo/src/cairo-spans-compositor.c:569,1
    - Dst: _cairo_recording_surface_replay_with_clip
      Src: /src/cairo/src/cairo-spans-compositor.c:613,1
    - Dst: get_clip_surface
      Src: /src/cairo/src/cairo-spans-compositor.c:639,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-spans-compositor.c:641,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-spans-compositor.c:656,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-spans-compositor.c:687,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-spans-compositor.c:691,1
    - Dst: fixup_unbounded_boxes
      Src: /src/cairo/src/cairo-spans-compositor.c:695,1
    - Dst: TRACE
      Src: /src/cairo/src/cairo-spans-compositor.c:575,1
    - Dst: recording_pattern_contains_sample
      Src: /src/cairo/src/cairo-spans-compositor.c:582,1
    - Dst: _cairo_clip_from_boxes
      Src: /src/cairo/src/cairo-spans-compositor.c:612,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-spans-compositor.c:606,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 104
    argCount: 3
    argNames:
    - compositor
    - extents
    - boxes
    argTypes:
    - cairo_spans_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 698
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 698
    functionName: composite_aligned_boxes
    functionSourceFile: /src/cairo/src/cairo-spans-compositor.c
    functionUses: []
    functionsReached:
    - _clip_is_region
    - unwrap_source
    - upload_boxes
    - _cairo_clip_destroy
    - TRACE
    - _cairo_recording_surface_replay_with_clip
    - recording_pattern_contains_sample
    - cairo_surface_destroy
    - op_reduces_to_source
    - _cairo_surface_has_device_transform
    - fixup_unbounded_boxes
    - get_clip_surface
    - likely
    - cairo_matrix_multiply
    - _cairo_clip_from_boxes
    - CAIRO_COLOR_IS_OPAQUE
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t composite_aligned_boxes (const cairo_spans_compositor_t\t\
      \t*compositor,\t\t\t const cairo_composite_rectangles_t\t*extents,\t\t\t cairo_boxes_t\t\
      \t\t\t*boxes) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-spans-compositor.c:718,1
    - Dst: composite_needs_clip
      Src: /src/cairo/src/cairo-spans-compositor.c:720,1
    - Dst: _cairo_box_from_rectangle
      Src: /src/cairo/src/cairo-spans-compositor.c:719,1
    - Dst: TRACE
      Src: /src/cairo/src/cairo-spans-compositor.c:721,1
    - Dst: _cairo_rectangular_scan_converter_init
      Src: /src/cairo/src/cairo-spans-compositor.c:725,1
    - Dst: _cairo_rectangular_scan_converter_add_box
      Src: /src/cairo/src/cairo-spans-compositor.c:731,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-spans-compositor.c:732,1
    - Dst: likely
      Src: /src/cairo/src/cairo-spans-compositor.c:739,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 3
    argNames:
    - compositor
    - extents
    - boxes
    argTypes:
    - cairo_spans_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 746
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 746
    functionName: composite_boxes
    functionSourceFile: /src/cairo/src/cairo-spans-compositor.c
    functionUses: []
    functionsReached:
    - TRACE
    - _cairo_rectangular_scan_converter_add_box
    - _cairo_rectangular_scan_converter_init
    - composite_needs_clip
    - likely
    - _cairo_box_from_rectangle
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t composite_boxes (const cairo_spans_compositor_t\
      \ *compositor,\t\t cairo_composite_rectangles_t *extents,\t\t cairo_boxes_t\t\
      \t*boxes) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_boxes_extents
      Src: /src/cairo/src/cairo-spans-compositor.c:814,1
    - Dst: _cairo_composite_rectangles_intersect_mask_extents
      Src: /src/cairo/src/cairo-spans-compositor.c:815,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - extents
    - boxes
    argTypes:
    - cairo_composite_rectangles_t*
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 816
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 816
    functionName: trim_extents_to_boxes
    functionSourceFile: /src/cairo/src/cairo-spans-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_boxes_extents
    - _cairo_composite_rectangles_intersect_mask_extents
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t trim_extents_to_boxes (cairo_composite_rectangles_t\
      \ *extents,\t\t cairo_boxes_t *boxes) "
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-spans-compositor.c:1017,1
    - Dst: _cairo_debug_print_clip
      Src: /src/cairo/src/cairo-spans-compositor.c:1019,1
    - Dst: _cairo_debug_print_path
      Src: /src/cairo/src/cairo-spans-compositor.c:1018,1
    - Dst: _cairo_path_fixed_stroke_to_polygon
      Src: /src/cairo/src/cairo-spans-compositor.c:1060,1
    - Dst: _cairo_polygon_init
      Src: /src/cairo/src/cairo-spans-compositor.c:1050,1
    - Dst: clip_and_composite_boxes
      Src: /src/cairo/src/cairo-spans-compositor.c:1037,1
    - Dst: _cairo_rectangle_contains_rectangle
      Src: /src/cairo/src/cairo-spans-compositor.c:1046,1
    - Dst: _cairo_path_fixed_stroke_is_rectilinear
      Src: /src/cairo/src/cairo-spans-compositor.c:1022,1
    - Dst: _cairo_clip_contains_rectangle
      Src: /src/cairo/src/cairo-spans-compositor.c:1026,1
    - Dst: _cairo_polygon_init
      Src: /src/cairo/src/cairo-spans-compositor.c:1053,1
    - Dst: likely
      Src: /src/cairo/src/cairo-spans-compositor.c:1036,1
    - Dst: TRACE_
      Src: /src/cairo/src/cairo-spans-compositor.c:1065,1
    - Dst: _cairo_polygon_intersect_with_boxes
      Src: /src/cairo/src/cairo-spans-compositor.c:1069,1
    - Dst: likely
      Src: /src/cairo/src/cairo-spans-compositor.c:1073,1
    - Dst: _cairo_clip_intersect_box
      Src: /src/cairo/src/cairo-spans-compositor.c:1078,1
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-spans-compositor.c:1086,1
    - Dst: _cairo_boxes_init
      Src: /src/cairo/src/cairo-spans-compositor.c:1025,1
    - Dst: _cairo_boxes_limit
      Src: /src/cairo/src/cairo-spans-compositor.c:1027,1
    - Dst: _cairo_polygon_init
      Src: /src/cairo/src/cairo-spans-compositor.c:1058,1
    - Dst: _cairo_box_from_rectangle
      Src: /src/cairo/src/cairo-spans-compositor.c:1052,1
    - Dst: _cairo_debug_print_polygon
      Src: /src/cairo/src/cairo-spans-compositor.c:1065,1
    - Dst: clip_and_composite_polygon
      Src: /src/cairo/src/cairo-spans-compositor.c:1082,1
    - Dst: TRACE_
      Src: /src/cairo/src/cairo-spans-compositor.c:1018,1
    - Dst: TRACE_
      Src: /src/cairo/src/cairo-spans-compositor.c:1019,1
    - Dst: _cairo_path_fixed_stroke_rectilinear_to_boxes
      Src: /src/cairo/src/cairo-spans-compositor.c:1031,1
    - Dst: _cairo_boxes_fini
      Src: /src/cairo/src/cairo-spans-compositor.c:1038,1
    - Dst: _cairo_clip_copy_path
      Src: /src/cairo/src/cairo-spans-compositor.c:1077,1
    - Dst: _cairo_polygon_fini
      Src: /src/cairo/src/cairo-spans-compositor.c:1090,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 58
    argCount: 8
    argNames:
    - _compositor
    - extents
    - path
    - style
    - ctm
    - ctm_inverse
    - tolerance
    - antialias
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_antialias_t
    constantsTouched: []
    func_position:
      end: 1094
      start: 1004
    functionDepth: 0
    functionLinenumber: 1004
    functionLinenumberEnd: 1094
    functionName: _cairo_spans_compositor_stroke
    functionSourceFile: /src/cairo/src/cairo-spans-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_debug_print_path
    - _cairo_debug_print_clip
    - TRACE_
    - clip_and_composite_polygon
    - _cairo_clip_destroy
    - _cairo_boxes_init
    - _cairo_polygon_fini
    - _cairo_box_from_rectangle
    - _cairo_rectangle_contains_rectangle
    - _cairo_polygon_init
    - _cairo_clip_intersect_box
    - _cairo_path_fixed_stroke_is_rectilinear
    - _cairo_clip_contains_rectangle
    - _cairo_boxes_fini
    - _cairo_path_fixed_stroke_to_polygon
    - _cairo_clip_copy_path
    - _cairo_path_fixed_stroke_rectilinear_to_boxes
    - TRACE
    - _cairo_polygon_intersect_with_boxes
    - _cairo_boxes_limit
    - _cairo_debug_print_polygon
    - clip_and_composite_boxes
    - likely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_spans_compositor_stroke (const cairo_compositor_t\t\
      *_compositor,\t\t\t\tcairo_composite_rectangles_t\t *extents,\t\t\t\tconst cairo_path_fixed_t\t\
      *path,\t\t\t\tconst cairo_stroke_style_t\t*style,\t\t\t\tconst cairo_matrix_t\t\
      \t*ctm,\t\t\t\tconst cairo_matrix_t\t\t*ctm_inverse,\t\t\t\tdouble\t\t\t\t tolerance,\t\
      \t\t\tcairo_antialias_t\t\t antialias) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_is_recording
      Src: /src/cairo/src/cairo-spans-compositor.c:441,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - pattern
    argTypes:
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 442
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 442
    functionName: is_recording_pattern
    functionSourceFile: /src/cairo/src/cairo-spans-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_surface_is_recording
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t is_recording_pattern (const cairo_pattern_t *pattern) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_contains_box
      Src: /src/cairo/src/cairo-spans-compositor.c:704,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - composite
    - extents
    argTypes:
    - cairo_composite_rectangles_t*
    - cairo_box_t*
    constantsTouched: []
    func_position:
      end: 705
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 705
    functionName: composite_needs_clip
    functionSourceFile: /src/cairo/src/cairo-spans-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_clip_contains_box
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t composite_needs_clip (const cairo_composite_rectangles_t\
      \ *composite,\t\t const cairo_box_t *extents) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _clip_is_region
      Src: /src/cairo/src/cairo-spans-compositor.c:763,1
    - Dst: TRACE
      Src: /src/cairo/src/cairo-spans-compositor.c:766,1
    - Dst: _cairo_tor22_scan_converter_create
      Src: /src/cairo/src/cairo-spans-compositor.c:775,1
    - Dst: TRACE
      Src: /src/cairo/src/cairo-spans-compositor.c:764,1
    - Dst: _cairo_clip_tor_scan_converter_create
      Src: /src/cairo/src/cairo-spans-compositor.c:768,1
    - Dst: _cairo_tor22_scan_converter_add_polygon
      Src: /src/cairo/src/cairo-spans-compositor.c:779,1
    - Dst: _cairo_mono_scan_converter_create
      Src: /src/cairo/src/cairo-spans-compositor.c:781,1
    - Dst: _cairo_mono_scan_converter_add_polygon
      Src: /src/cairo/src/cairo-spans-compositor.c:785,1
    - Dst: _cairo_tor_scan_converter_create
      Src: /src/cairo/src/cairo-spans-compositor.c:787,1
    - Dst: _cairo_tor_scan_converter_add_polygon
      Src: /src/cairo/src/cairo-spans-compositor.c:791,1
    - Dst: likely
      Src: /src/cairo/src/cairo-spans-compositor.c:799,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-spans-compositor.c:794,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 5
    argNames:
    - compositor
    - extents
    - polygon
    - fill_rule
    - antialias
    argTypes:
    - cairo_spans_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_polygon_t*
    - cairo_fill_rule_t
    - cairo_antialias_t
    constantsTouched: []
    func_position:
      end: 806
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 806
    functionName: composite_polygon
    functionSourceFile: /src/cairo/src/cairo-spans-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_tor_scan_converter_create
    - _clip_is_region
    - _cairo_tor22_scan_converter_add_polygon
    - _cairo_mono_scan_converter_add_polygon
    - TRACE
    - _cairo_mono_scan_converter_create
    - unlikely
    - likely
    - _cairo_tor22_scan_converter_create
    - _cairo_clip_tor_scan_converter_create
    - _cairo_tor_scan_converter_add_polygon
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t composite_polygon (const cairo_spans_compositor_t\t\
      *compositor,\t\t cairo_composite_rectangles_t\t\t *extents,\t\t cairo_polygon_t\t\
      \t\t*polygon,\t\t cairo_fill_rule_t\t\t\t fill_rule,\t\t cairo_antialias_t\t\
      \t\t antialias) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_composite_rectangles_intersect_mask_extents
      Src: /src/cairo/src/cairo-spans-compositor.c:822,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - extents
    - polygon
    argTypes:
    - cairo_composite_rectangles_t*
    - cairo_polygon_t*
    constantsTouched: []
    func_position:
      end: 824
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 824
    functionName: trim_extents_to_polygon
    functionSourceFile: /src/cairo/src/cairo-spans-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_composite_rectangles_intersect_mask_extents
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t trim_extents_to_polygon (cairo_composite_rectangles_t\
      \ *extents,\t\t\t cairo_polygon_t *polygon) "
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-spans-compositor.c:1107,1
    - Dst: TRACE
      Src: /src/cairo/src/cairo-spans-compositor.c:1113,1
    - Dst: _cairo_path_fixed_fill_is_rectilinear
      Src: /src/cairo/src/cairo-spans-compositor.c:1110,1
    - Dst: clip_and_composite_boxes
      Src: /src/cairo/src/cairo-spans-compositor.c:1125,1
    - Dst: _cairo_box_from_rectangle
      Src: /src/cairo/src/cairo-spans-compositor.c:1141,1
    - Dst: TRACE
      Src: /src/cairo/src/cairo-spans-compositor.c:1132,1
    - Dst: _cairo_debug_print_polygon
      Src: /src/cairo/src/cairo-spans-compositor.c:1151,1
    - Dst: likely
      Src: /src/cairo/src/cairo-spans-compositor.c:1162,1
    - Dst: _cairo_clip_intersect_box
      Src: /src/cairo/src/cairo-spans-compositor.c:1169,1
    - Dst: _cairo_boxes_init
      Src: /src/cairo/src/cairo-spans-compositor.c:1115,1
    - Dst: likely
      Src: /src/cairo/src/cairo-spans-compositor.c:1124,1
    - Dst: _cairo_polygon_intersect_with_boxes
      Src: /src/cairo/src/cairo-spans-compositor.c:1157,1
    - Dst: TRACE_
      Src: /src/cairo/src/cairo-spans-compositor.c:1161,1
    - Dst: TRACE
      Src: /src/cairo/src/cairo-spans-compositor.c:1166,1
    - Dst: _cairo_clip_copy_path
      Src: /src/cairo/src/cairo-spans-compositor.c:1168,1
    - Dst: clip_and_composite_polygon
      Src: /src/cairo/src/cairo-spans-compositor.c:1173,1
    - Dst: _cairo_clip_contains_rectangle
      Src: /src/cairo/src/cairo-spans-compositor.c:1116,1
    - Dst: _cairo_path_fixed_fill_to_polygon
      Src: /src/cairo/src/cairo-spans-compositor.c:1150,1
    - Dst: _cairo_polygon_init
      Src: /src/cairo/src/cairo-spans-compositor.c:1139,1
    - Dst: TRACE
      Src: /src/cairo/src/cairo-spans-compositor.c:1137,1
    - Dst: _cairo_debug_print_polygon
      Src: /src/cairo/src/cairo-spans-compositor.c:1161,1
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-spans-compositor.c:1177,1
    - Dst: _cairo_polygon_fini
      Src: /src/cairo/src/cairo-spans-compositor.c:1181,1
    - Dst: _cairo_boxes_limit
      Src: /src/cairo/src/cairo-spans-compositor.c:1117,1
    - Dst: _cairo_path_fixed_fill_rectilinear_to_boxes
      Src: /src/cairo/src/cairo-spans-compositor.c:1120,1
    - Dst: _cairo_boxes_fini
      Src: /src/cairo/src/cairo-spans-compositor.c:1126,1
    - Dst: _cairo_polygon_init
      Src: /src/cairo/src/cairo-spans-compositor.c:1147,1
    - Dst: TRACE_
      Src: /src/cairo/src/cairo-spans-compositor.c:1151,1
    - Dst: _cairo_rectangle_contains_rectangle
      Src: /src/cairo/src/cairo-spans-compositor.c:1134,1
    - Dst: _cairo_polygon_init
      Src: /src/cairo/src/cairo-spans-compositor.c:1142,1
    - Dst: TRACE
      Src: /src/cairo/src/cairo-spans-compositor.c:1155,1
    - Dst: TRACE
      Src: /src/cairo/src/cairo-spans-compositor.c:1183,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 62
    argCount: 6
    argNames:
    - _compositor
    - extents
    - path
    - fill_rule
    - tolerance
    - antialias
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    constantsTouched: []
    func_position:
      end: 1187
      start: 1096
    functionDepth: 0
    functionLinenumber: 1096
    functionLinenumberEnd: 1187
    functionName: _cairo_spans_compositor_fill
    functionSourceFile: /src/cairo/src/cairo-spans-compositor.c
    functionUses: []
    functionsReached:
    - TRACE_
    - clip_and_composite_polygon
    - _cairo_clip_destroy
    - _cairo_boxes_init
    - _cairo_polygon_fini
    - _cairo_box_from_rectangle
    - _cairo_path_fixed_fill_is_rectilinear
    - _cairo_rectangle_contains_rectangle
    - _cairo_polygon_init
    - _cairo_clip_intersect_box
    - _cairo_clip_contains_rectangle
    - _cairo_boxes_fini
    - _cairo_clip_copy_path
    - _cairo_path_fixed_fill_rectilinear_to_boxes
    - TRACE
    - _cairo_path_fixed_fill_to_polygon
    - _cairo_polygon_intersect_with_boxes
    - _cairo_boxes_limit
    - _cairo_debug_print_polygon
    - clip_and_composite_boxes
    - likely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_spans_compositor_fill (const cairo_compositor_t\t\
      \t*_compositor,\t\t\t cairo_composite_rectangles_t\t *extents,\t\t\t const cairo_path_fixed_t\t\
      \t*path,\t\t\t cairo_fill_rule_t\t\t\t fill_rule,\t\t\t double\t\t\t\t tolerance,\t\
      \t\t cairo_antialias_t\t\t\t antialias) "
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_boxes_init_for_array
      Src: /src/cairo/src/cairo-spans-compositor.c:122,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-spans-compositor.c:153,1
    - Dst: _cairo_polygon_fini
      Src: /src/cairo/src/cairo-spans-compositor.c:129,1
    - Dst: _cairo_polygon_fini
      Src: /src/cairo/src/cairo-spans-compositor.c:174,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-spans-compositor.c:206,1
    - Dst: _cairo_polygon_fini
      Src: /src/cairo/src/cairo-spans-compositor.c:226,1
    - Dst: _cairo_int_surface_create_in_error
      Src: /src/cairo/src/cairo-spans-compositor.c:237,1
    - Dst: likely
      Src: /src/cairo/src/cairo-spans-compositor.c:200,1
    - Dst: assert
      Src: /src/cairo/src/cairo-spans-compositor.c:95,1
    - Dst: _cairo_path_fixed_fill_to_polygon
      Src: /src/cairo/src/cairo-spans-compositor.c:107,1
    - Dst: _cairo_box_from_rectangle
      Src: /src/cairo/src/cairo-spans-compositor.c:103,1
    - Dst: _cairo_polygon_init
      Src: /src/cairo/src/cairo-spans-compositor.c:104,1
    - Dst: _cairo_surface_create_scratch
      Src: /src/cairo/src/cairo-spans-compositor.c:97,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-spans-compositor.c:110,1
    - Dst: _cairo_polygon_init_boxes
      Src: /src/cairo/src/cairo-spans-compositor.c:123,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-spans-compositor.c:124,1
    - Dst: _cairo_polygon_fini
      Src: /src/cairo/src/cairo-spans-compositor.c:152,1
    - Dst: _cairo_polygon_init
      Src: /src/cairo/src/cairo-spans-compositor.c:145,1
    - Dst: composite_polygon
      Src: /src/cairo/src/cairo-spans-compositor.c:171,1
    - Dst: _cairo_polygon_init
      Src: /src/cairo/src/cairo-spans-compositor.c:196,1
    - Dst: likely
      Src: /src/cairo/src/cairo-spans-compositor.c:149,1
    - Dst: composite_polygon
      Src: /src/cairo/src/cairo-spans-compositor.c:223,1
    - Dst: _cairo_polygon_intersect
      Src: /src/cairo/src/cairo-spans-compositor.c:127,1
    - Dst: _cairo_polygon_intersect
      Src: /src/cairo/src/cairo-spans-compositor.c:150,1
    - Dst: _cairo_polygon_translate
      Src: /src/cairo/src/cairo-spans-compositor.c:162,1
    - Dst: _cairo_polygon_intersect
      Src: /src/cairo/src/cairo-spans-compositor.c:201,1
    - Dst: _cairo_polygon_fini
      Src: /src/cairo/src/cairo-spans-compositor.c:234,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-spans-compositor.c:236,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-spans-compositor.c:220,1
    - Dst: _cairo_path_fixed_fill_to_polygon
      Src: /src/cairo/src/cairo-spans-compositor.c:186,1
    - Dst: _cairo_composite_rectangles_init_for_polygon
      Src: /src/cairo/src/cairo-spans-compositor.c:215,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-spans-compositor.c:131,1
    - Dst: _cairo_path_fixed_fill_to_polygon
      Src: /src/cairo/src/cairo-spans-compositor.c:146,1
    - Dst: _cairo_composite_rectangles_init_for_polygon
      Src: /src/cairo/src/cairo-spans-compositor.c:163,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-spans-compositor.c:168,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-spans-compositor.c:173,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-spans-compositor.c:175,1
    - Dst: _cairo_polygon_init
      Src: /src/cairo/src/cairo-spans-compositor.c:178,1
    - Dst: _cairo_path_fixed_fill_to_polygon
      Src: /src/cairo/src/cairo-spans-compositor.c:197,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-spans-compositor.c:225,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-spans-compositor.c:227,1
    - Dst: _cairo_polygon_translate
      Src: /src/cairo/src/cairo-spans-compositor.c:214,1
    - Dst: _cairo_polygon_fini
      Src: /src/cairo/src/cairo-spans-compositor.c:203,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 93
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 238
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 238
    functionName: get_clip_surface
    functionSourceFile: /src/cairo/src/cairo-spans-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_int_surface_create_in_error
    - _cairo_surface_create_scratch
    - _cairo_polygon_intersect
    - _cairo_polygon_fini
    - _cairo_polygon_init
    - _cairo_boxes_init_for_array
    - assert
    - _cairo_composite_rectangles_init_for_polygon
    - cairo_surface_destroy
    - _cairo_path_fixed_fill_to_polygon
    - _cairo_composite_rectangles_fini
    - _cairo_polygon_init_boxes
    - _cairo_polygon_translate
    - likely
    - composite_polygon
    - _cairo_box_from_rectangle
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *get_clip_surface (const cairo_spans_compositor_t\
      \ *compositor,\t\t cairo_surface_t *dst,\t\t const cairo_clip_t *clip,\t\t const\
      \ cairo_rectangle_int_t *extents) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-spans-compositor.c:249,1
    - Dst: get_clip_surface
      Src: /src/cairo/src/cairo-spans-compositor.c:251,1
    - Dst: _cairo_composite_rectangles_init_for_boxes
      Src: /src/cairo/src/cairo-spans-compositor.c:260,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-spans-compositor.c:253,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-spans-compositor.c:266,1
    - Dst: _cairo_pattern_init_for_surface
      Src: /src/cairo/src/cairo-spans-compositor.c:269,1
    - Dst: composite_boxes
      Src: /src/cairo/src/cairo-spans-compositor.c:273,1
    - Dst: _cairo_pattern_fini
      Src: /src/cairo/src/cairo-spans-compositor.c:275,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-spans-compositor.c:276,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-spans-compositor.c:279,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 3
    argNames:
    - compositor
    - extents
    - boxes
    argTypes:
    - cairo_spans_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 281
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 281
    functionName: fixup_unbounded_mask
    functionSourceFile: /src/cairo/src/cairo-spans-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_init_for_surface
    - TRACE
    - _cairo_composite_rectangles_init_for_boxes
    - composite_boxes
    - _cairo_pattern_fini
    - cairo_surface_destroy
    - _cairo_composite_rectangles_fini
    - get_clip_surface
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t fixup_unbounded_mask (const cairo_spans_compositor_t\
      \ *compositor,\t\t const cairo_composite_rectangles_t *extents,\t\t cairo_boxes_t\
      \ *boxes) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-spans-compositor.c:294,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-spans-compositor.c:303,1
    - Dst: _cairo_polygon_intersect
      Src: /src/cairo/src/cairo-spans-compositor.c:306,1
    - Dst: _cairo_clip_get_polygon
      Src: /src/cairo/src/cairo-spans-compositor.c:297,1
    - Dst: _cairo_polygon_init_boxes
      Src: /src/cairo/src/cairo-spans-compositor.c:302,1
    - Dst: _cairo_polygon_fini
      Src: /src/cairo/src/cairo-spans-compositor.c:308,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-spans-compositor.c:310,1
    - Dst: _cairo_composite_rectangles_init_for_polygon
      Src: /src/cairo/src/cairo-spans-compositor.c:313,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-spans-compositor.c:319,1
    - Dst: composite_polygon
      Src: /src/cairo/src/cairo-spans-compositor.c:322,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-spans-compositor.c:325,1
    - Dst: _cairo_polygon_fini
      Src: /src/cairo/src/cairo-spans-compositor.c:327,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 3
    argNames:
    - compositor
    - extents
    - boxes
    argTypes:
    - cairo_spans_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 330
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 330
    functionName: fixup_unbounded_polygon
    functionSourceFile: /src/cairo/src/cairo-spans-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_polygon_intersect
    - TRACE
    - _cairo_polygon_fini
    - _cairo_composite_rectangles_init_for_polygon
    - _cairo_clip_get_polygon
    - _cairo_composite_rectangles_fini
    - _cairo_polygon_init_boxes
    - composite_polygon
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t fixup_unbounded_polygon (const cairo_spans_compositor_t\
      \ *compositor,\t\t\t const cairo_composite_rectangles_t *extents,\t\t\t cairo_boxes_t\
      \ *boxes) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-spans-compositor.c:492,1
    - Dst: _cairo_pattern_get_source
      Src: /src/cairo/src/cairo-spans-compositor.c:494,1
    - Dst: _cairo_matrix_is_integer_translation
      Src: /src/cairo/src/cairo-spans-compositor.c:498,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 3
    argNames:
    - compositor
    - extents
    - boxes
    argTypes:
    - cairo_spans_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 521
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 521
    functionName: upload_boxes
    functionSourceFile: /src/cairo/src/cairo-spans-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_get_source
    - TRACE
    - _cairo_matrix_is_integer_translation
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t upload_boxes (const cairo_spans_compositor_t\
      \ *compositor,\t const cairo_composite_rectangles_t *extents,\t cairo_boxes_t\
      \ *boxes) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-spans-compositor.c:980,1
    - Dst: clip_and_composite_boxes
      Src: /src/cairo/src/cairo-spans-compositor.c:982,1
    - Dst: _cairo_clip_unsteal_boxes
      Src: /src/cairo/src/cairo-spans-compositor.c:983,1
    - Dst: _cairo_clip_steal_boxes
      Src: /src/cairo/src/cairo-spans-compositor.c:981,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - _compositor
    - extents
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 986
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 986
    functionName: _cairo_spans_compositor_paint
    functionSourceFile: /src/cairo/src/cairo-spans-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_clip_unsteal_boxes
    - clip_and_composite_boxes
    - _cairo_clip_steal_boxes
    - TRACE
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_spans_compositor_paint (const cairo_compositor_t\t\
      \t*_compositor,\t\t\t cairo_composite_rectangles_t\t*extents) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-spans-compositor.c:353,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-spans-compositor.c:354,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-spans-compositor.c:355,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-spans-compositor.c:356,1
    - Dst: _cairo_boxes_init
      Src: /src/cairo/src/cairo-spans-compositor.c:359,1
    - Dst: _cairo_bentley_ottmann_tessellate_boxes
      Src: /src/cairo/src/cairo-spans-compositor.c:367,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-spans-compositor.c:374,1
    - Dst: _cairo_boxes_add
      Src: /src/cairo/src/cairo-spans-compositor.c:377,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-spans-compositor.c:371,1
    - Dst: fixup_unbounded_mask
      Src: /src/cairo/src/cairo-spans-compositor.c:385,1
    - Dst: assert
      Src: /src/cairo/src/cairo-spans-compositor.c:341,1
    - Dst: TRACE
      Src: /src/cairo/src/cairo-spans-compositor.c:343,1
    - Dst: _cairo_boxes_add
      Src: /src/cairo/src/cairo-spans-compositor.c:361,1
    - Dst: _cairo_boxes_init
      Src: /src/cairo/src/cairo-spans-compositor.c:351,1
    - Dst: _cairo_boxes_init_for_array
      Src: /src/cairo/src/cairo-spans-compositor.c:389,1
    - Dst: assert
      Src: /src/cairo/src/cairo-spans-compositor.c:378,1
    - Dst: likely
      Src: /src/cairo/src/cairo-spans-compositor.c:411,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-spans-compositor.c:413,1
    - Dst: assert
      Src: /src/cairo/src/cairo-spans-compositor.c:362,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-spans-compositor.c:375,1
    - Dst: fixup_unbounded_polygon
      Src: /src/cairo/src/cairo-spans-compositor.c:383,1
    - Dst: _cairo_boxes_intersect
      Src: /src/cairo/src/cairo-spans-compositor.c:392,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-spans-compositor.c:393,1
    - Dst: composite_boxes
      Src: /src/cairo/src/cairo-spans-compositor.c:412,1
    - Dst: _cairo_boxes_fini
      Src: /src/cairo/src/cairo-spans-compositor.c:419,1
    - Dst: _cairo_composite_rectangles_init_for_boxes
      Src: /src/cairo/src/cairo-spans-compositor.c:405,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 65
    argCount: 3
    argNames:
    - compositor
    - extents
    - boxes
    argTypes:
    - cairo_spans_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 421
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 421
    functionName: fixup_unbounded_boxes
    functionSourceFile: /src/cairo/src/cairo-spans-compositor.c
    functionUses: []
    functionsReached:
    - fixup_unbounded_mask
    - TRACE
    - _cairo_boxes_init
    - unlikely
    - _cairo_composite_rectangles_init_for_boxes
    - composite_boxes
    - _cairo_boxes_init_for_array
    - assert
    - fixup_unbounded_polygon
    - _cairo_bentley_ottmann_tessellate_boxes
    - _cairo_composite_rectangles_fini
    - _cairo_boxes_intersect
    - _cairo_boxes_add
    - likely
    - _cairo_boxes_fini
    - _cairo_fixed_from_int
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t fixup_unbounded_boxes (const cairo_spans_compositor_t\
      \ *compositor,\t\t const cairo_composite_rectangles_t *extents,\t\t cairo_boxes_t\
      \ *boxes) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_is_integer
      Src: /src/cairo/src/cairo-spans-compositor.c:536,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - clip
    argTypes:
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 541
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 541
    functionName: _clip_is_region
    functionSourceFile: /src/cairo/src/cairo-spans-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_is_integer
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _clip_is_region (const cairo_clip_t *clip) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-spans-compositor.c:996,1
    - Dst: _cairo_clip_steal_boxes
      Src: /src/cairo/src/cairo-spans-compositor.c:997,1
    - Dst: clip_and_composite_boxes
      Src: /src/cairo/src/cairo-spans-compositor.c:998,1
    - Dst: _cairo_clip_unsteal_boxes
      Src: /src/cairo/src/cairo-spans-compositor.c:999,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - _compositor
    - extents
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 1002
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 1002
    functionName: _cairo_spans_compositor_mask
    functionSourceFile: /src/cairo/src/cairo-spans-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_clip_unsteal_boxes
    - clip_and_composite_boxes
    - _cairo_clip_steal_boxes
    - TRACE
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_spans_compositor_mask (const cairo_compositor_t\t\
      \t*_compositor,\t\t\t cairo_composite_rectangles_t\t*extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - compositor
    - delegate
    argTypes:
    - cairo_spans_compositor_t*
    - cairo_compositor_t*
    constantsTouched: []
    func_position:
      end: 1200
      start: 1189
    functionDepth: 0
    functionLinenumber: 1189
    functionLinenumberEnd: 1200
    functionName: _cairo_spans_compositor_init
    functionSourceFile: /src/cairo/src/cairo-spans-compositor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _cairo_spans_compositor_init (cairo_spans_compositor_t *compositor,\t\
      \t\t const cairo_compositor_t *delegate) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - abstract_dst
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: acquire
    functionSourceFile: /src/cairo/src/cairo-image-mask-compositor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t acquire (void *abstract_dst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-mask-compositor.c:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 8
    argNames:
    - _dst
    - image
    - src_x
    - src_y
    - width
    - height
    - dst_x
    - dst_y
    argTypes:
    - void*
    - cairo_image_surface_t*
    - int
    - int
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 100
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 100
    functionName: draw_image
    functionSourceFile: /src/cairo/src/cairo-image-mask-compositor.c
    functionUses: []
    functionsReached:
    - pixman_image_composite32
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t draw_image (void *_dst,\t cairo_image_surface_t\
      \ *image,\t int src_x, int src_y,\t int width, int height,\t int dst_x, int\
      \ dst_y) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pixman_image_set_clip_region32
      Src: /src/cairo/src/cairo-image-mask-compositor.c:71,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-image-mask-compositor.c:72,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - _surface
    - region
    argTypes:
    - void*
    - cairo_region_t*
    constantsTouched: []
    func_position:
      end: 75
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 75
    functionName: set_clip_region
    functionSourceFile: /src/cairo/src/cairo-image-mask-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - pixman_image_set_clip_region32
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t set_clip_region (void *_surface,\t\t cairo_region_t\
      \ *region) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_color_init_rgba
      Src: /src/cairo/src/cairo-image-mask-compositor.c:135,1
    - Dst: color_to_uint32
      Src: /src/cairo/src/cairo-image-mask-compositor.c:142,1
    - Dst: PIXMAN_FORMAT_TYPE
      Src: /src/cairo/src/cairo-image-mask-compositor.c:151,1
    - Dst: PIXMAN_FORMAT_TYPE
      Src: /src/cairo/src/cairo-image-mask-compositor.c:144,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 75
    argCount: 4
    argNames:
    - color
    - opacity
    - format
    - pixel
    argTypes:
    - cairo_color_t*
    - double
    - pixman_format_code_t
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 168
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 168
    functionName: color_to_pixel
    functionSourceFile: /src/cairo/src/cairo-image-mask-compositor.c
    functionUses: []
    functionsReached:
    - PIXMAN_FORMAT_TYPE
    - _cairo_color_init_rgba
    - color_to_uint32
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static inline cairo_bool_t color_to_pixel (const cairo_color_t\t*color,\t\
      \tdouble opacity, pixman_format_code_t\t format, uint32_t\t\t*pixel) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-image-mask-compositor.c:206,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-image-mask-compositor.c:215,1
    - Dst: color_to_pixel
      Src: /src/cairo/src/cairo-image-mask-compositor.c:208,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-image-mask-compositor.c:214,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-image-mask-compositor.c:213,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-image-mask-compositor.c:216,1
    - Dst: pixman_fill
      Src: /src/cairo/src/cairo-image-mask-compositor.c:217,1
    - Dst: PIXMAN_FORMAT_BPP
      Src: /src/cairo/src/cairo-image-mask-compositor.c:218,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 4
    argNames:
    - _dst
    - op
    - color
    - boxes
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_color_t*
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 225
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 225
    functionName: fill_boxes
    functionSourceFile: /src/cairo/src/cairo-image-mask-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_integer_part
    - assert
    - PIXMAN_FORMAT_BPP
    - pixman_fill
    - color_to_pixel
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t fill_boxes (void\t\t*_dst,\t cairo_operator_t\t\
      \ op,\t const cairo_color_t\t*color,\t cairo_boxes_t\t*boxes) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-mask-compositor.c:318,1
    - Dst: _pixman_operator
      Src: /src/cairo/src/cairo-image-mask-compositor.c:325,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-mask-compositor.c:325,1
    - Dst: _pixman_operator
      Src: /src/cairo/src/cairo-image-mask-compositor.c:318,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 12
    argNames:
    - _dst
    - op
    - abstract_src
    - abstract_mask
    - src_x
    - src_y
    - mask_x
    - mask_y
    - dst_x
    - dst_y
    - width
    - height
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_surface_t*
    - cairo_surface_t*
    - int
    - int
    - int
    - int
    - int
    - int
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 334
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 334
    functionName: composite
    functionSourceFile: /src/cairo/src/cairo-image-mask-compositor.c
    functionUses: []
    functionsReached:
    - pixman_image_composite32
    - _pixman_operator
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t composite (void\t\t\t*_dst,\t cairo_operator_t\t\
      op,\t cairo_surface_t\t*abstract_src,\t cairo_surface_t\t*abstract_mask,\t int\t\
      \t\tsrc_x,\t int\t\t\tsrc_y,\t int\t\t\tmask_x,\t int\t\t\tmask_y,\t int\t\t\
      \tdst_x,\t int\t\t\tdst_y,\t unsigned int\t\twidth,\t unsigned int\t\theight) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - _dst
    - pattern
    argTypes:
    - void*
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: has_snapshot
    functionSourceFile: /src/cairo/src/cairo-image-mask-compositor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t has_snapshot (void *_dst,\t const cairo_pattern_t\
      \ *pattern) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - abstract_dst
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: release
    functionSourceFile: /src/cairo/src/cairo-image-mask-compositor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t release (void *abstract_dst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - color
    argTypes:
    - cairo_color_t*
    constantsTouched: []
    func_position:
      end: 110
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 110
    functionName: color_to_uint32
    functionSourceFile: /src/cairo/src/cairo-image-mask-compositor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'static inline uint32_t color_to_uint32 (const cairo_color_t *color) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: color_to_pixel
      Src: /src/cairo/src/cairo-image-mask-compositor.c:181,1
    - Dst: pixman_fill
      Src: /src/cairo/src/cairo-image-mask-compositor.c:185,1
    - Dst: PIXMAN_FORMAT_BPP
      Src: /src/cairo/src/cairo-image-mask-compositor.c:186,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 5
    argNames:
    - _dst
    - op
    - color
    - rects
    - num_rects
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_color_t*
    - cairo_rectangle_int_t*
    - int
    constantsTouched: []
    func_position:
      end: 193
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 193
    functionName: fill_rectangles
    functionSourceFile: /src/cairo/src/cairo-image-mask-compositor.c
    functionUses: []
    functionsReached:
    - PIXMAN_FORMAT_BPP
    - pixman_fill
    - color_to_pixel
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t fill_rectangles (void\t\t\t*_dst,\t\t cairo_operator_t\t\
      \ op,\t\t const cairo_color_t\t*color,\t\t cairo_rectangle_int_t\t*rects,\t\t\
      \ int\t\t\t num_rects) "
  - BBCount: 31
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - cairo_operator_t
    constantsTouched: []
    func_position:
      end: 298
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 298
    functionName: _pixman_operator
    functionSourceFile: /src/cairo/src/cairo-image-mask-compositor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: pixman_op_t
    signature: 'static pixman_op_t _pixman_operator (cairo_operator_t op) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-image-mask-compositor.c:355,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-image-mask-compositor.c:360,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-image-mask-compositor.c:361,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-image-mask-compositor.c:362,1
    - Dst: _pixman_operator
      Src: /src/cairo/src/cairo-image-mask-compositor.c:357,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-image-mask-compositor.c:363,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-mask-compositor.c:366,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-mask-compositor.c:373,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 11
    argNames:
    - _dst
    - op
    - abstract_src
    - abstract_mask
    - src_x
    - src_y
    - mask_x
    - mask_y
    - dst_x
    - dst_y
    - boxes
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_surface_t*
    - cairo_surface_t*
    - int
    - int
    - int
    - int
    - int
    - int
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 384
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 384
    functionName: composite_boxes
    functionSourceFile: /src/cairo/src/cairo-image-mask-compositor.c
    functionUses: []
    functionsReached:
    - pixman_image_composite32
    - _pixman_operator
    - _cairo_fixed_integer_part
    - assert
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t composite_boxes (void\t\t\t*_dst,\t\t cairo_operator_t\t\
      op,\t\t cairo_surface_t\t*abstract_src,\t\t cairo_surface_t\t*abstract_mask,\t\
      \t int\t\t\tsrc_x,\t\t int\t\t\tsrc_y,\t\t int\t\t\tmask_x,\t\t int\t\t\tmask_y,\t\
      \t int\t\t\tdst_x,\t\t int\t\t\tdst_y,\t\t cairo_boxes_t\t\t*boxes) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_atomic_init_once_enter
      Src: /src/cairo/src/cairo-image-mask-compositor.c:392,1
    - Dst: _cairo_atomic_init_once_leave
      Src: /src/cairo/src/cairo-image-mask-compositor.c:409,1
    - Dst: _cairo_mask_compositor_init
      Src: /src/cairo/src/cairo-image-mask-compositor.c:393,1
    - Dst: _cairo_image_traps_compositor_get
      Src: /src/cairo/src/cairo-image-mask-compositor.c:394,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 413
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 413
    functionName: _cairo_image_mask_compositor_get
    functionSourceFile: /src/cairo/src/cairo-image-mask-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_atomic_init_once_leave
    - _cairo_atomic_init_once_enter
    - _cairo_image_traps_compositor_get
    - _cairo_mask_compositor_init
    linkageType: ''
    returnType: cairo_compositor_t*
    signature: 'const cairo_compositor_t *_cairo_image_mask_compositor_get (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-boxes-intersect.c:164,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-boxes-intersect.c:166,1
    - Dst: _cairo_realloc_ab
      Src: /src/cairo/src/cairo-boxes-intersect.c:172,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-boxes-intersect.c:169,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-boxes-intersect.c:175,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - pq
    argTypes:
    - pqueue_t*
    constantsTouched: []
    func_position:
      end: 181
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 181
    functionName: pqueue_grow
    functionSourceFile: /src/cairo/src/cairo-boxes-intersect.c
    functionUses: []
    functionsReached:
    - _cairo_realloc_ab
    - memcpy
    - _cairo_malloc_ab
    - unlikely
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t pqueue_grow (pqueue_t *pq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 251
    functionName: rectangle_peek_stop
    functionSourceFile: /src/cairo/src/cairo-boxes-intersect.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: rectangle_t*
    signature: 'static inline rectangle_t *rectangle_peek_stop (sweep_line_t *sweep_line) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: end_box
      Src: /src/cairo/src/cairo-boxes-intersect.c:410,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - sweep_line
    - edge
    - out
    argTypes:
    - sweep_line_t*
    - edge_t*
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 421
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 421
    functionName: sweep_line_delete_edge
    functionSourceFile: /src/cairo/src/cairo-boxes-intersect.c
    functionUses: []
    functionsReached:
    - end_box
    linkageType: ''
    returnType: void
    signature: 'static inline void sweep_line_delete_edge (sweep_line_t *sweep_line,
      edge_t *edge, cairo_boxes_t *out) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UNROLL3
      Src: /src/cairo/src/cairo-boxes-intersect.c:440,1
    - Dst: UNROLL3
      Src: /src/cairo/src/cairo-boxes-intersect.c:448,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - edge
    - pos
    argTypes:
    - edge_t*
    - edge_t*
    constantsTouched: []
    func_position:
      end: 461
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 461
    functionName: insert_edge
    functionSourceFile: /src/cairo/src/cairo-boxes-intersect.c
    functionUses: []
    functionsReached:
    - UNROLL3
    linkageType: ''
    returnType: void
    signature: 'static inline void insert_edge (edge_t *edge, edge_t *pos) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-boxes-intersect.c:189,1
    - Dst: longjmp
      Src: /src/cairo/src/cairo-boxes-intersect.c:191,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-boxes-intersect.c:192,1
    - Dst: pqueue_grow
      Src: /src/cairo/src/cairo-boxes-intersect.c:190,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-boxes-intersect.c:190,1
    - Dst: rectangle_compare_stop
      Src: /src/cairo/src/cairo-boxes-intersect.c:199,1
    - Dst: PQ_PARENT_INDEX
      Src: /src/cairo/src/cairo-boxes-intersect.c:200,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - sweep
    - rectangle
    argTypes:
    - sweep_line_t*
    - rectangle_t*
    constantsTouched: []
    func_position:
      end: 207
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 207
    functionName: pqueue_push
    functionSourceFile: /src/cairo/src/cairo-boxes-intersect.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - rectangle_compare_stop
    - PQ_PARENT_INDEX
    - pqueue_grow
    - longjmp
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'static inline void pqueue_push (sweep_line_t *sweep, rectangle_t *rectangle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sweep_line_delete_edge
      Src: /src/cairo/src/cairo-boxes-intersect.c:428,1
    - Dst: pqueue_pop
      Src: /src/cairo/src/cairo-boxes-intersect.c:431,1
    - Dst: sweep_line_delete_edge
      Src: /src/cairo/src/cairo-boxes-intersect.c:429,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - sweep
    - rectangle
    - out
    argTypes:
    - sweep_line_t*
    - rectangle_t*
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 432
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 432
    functionName: sweep_line_delete
    functionSourceFile: /src/cairo/src/cairo-boxes-intersect.c
    functionUses: []
    functionsReached:
    - sweep_line_delete_edge
    - pqueue_pop
    linkageType: ''
    returnType: void
    signature: "static inline void sweep_line_delete (sweep_line_t\t*sweep,\t\t rectangle_t\t\
      *rectangle,\t\t cairo_boxes_t *out) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: insert_edge
      Src: /src/cairo/src/cairo-boxes-intersect.c:470,1
    - Dst: pqueue_push
      Src: /src/cairo/src/cairo-boxes-intersect.c:480,1
    - Dst: insert_edge
      Src: /src/cairo/src/cairo-boxes-intersect.c:477,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - sweep
    - rectangle
    argTypes:
    - sweep_line_t*
    - rectangle_t*
    constantsTouched: []
    func_position:
      end: 481
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 481
    functionName: sweep_line_insert
    functionSourceFile: /src/cairo/src/cairo-boxes-intersect.c
    functionUses: []
    functionsReached:
    - pqueue_push
    - insert_edge
    linkageType: ''
    returnType: void
    signature: "static inline void sweep_line_insert (sweep_line_t\t*sweep, rectangle_t\t\
      *rectangle) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: end_box
      Src: /src/cairo/src/cairo-boxes-intersect.c:332,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 5
    argNames:
    - sweep_line
    - left
    - right
    - top
    - out
    argTypes:
    - sweep_line_t*
    - edge_t*
    - edge_t*
    - int
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 339
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 339
    functionName: start_or_continue_box
    functionSourceFile: /src/cairo/src/cairo-boxes-intersect.c
    functionUses: []
    functionsReached:
    - end_box
    linkageType: ''
    returnType: void
    signature: "static inline void start_or_continue_box (sweep_line_t *sweep_line,\t\
      \t edge_t\t*left,\t\t edge_t\t*right,\t\t int\t\t top,\t\t cairo_boxes_t *out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - rectangle_t*
    - rectangle_t*
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: rectangle_compare_start
    functionSourceFile: /src/cairo/src/cairo-boxes-intersect.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "static inline int rectangle_compare_start (const rectangle_t *a,\t\
      \t\t const rectangle_t *b) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PQ_LEFT_CHILD_INDEX
      Src: /src/cairo/src/cairo-boxes-intersect.c:223,1
    - Dst: rectangle_compare_stop
      Src: /src/cairo/src/cairo-boxes-intersect.c:227,1
    - Dst: rectangle_compare_stop
      Src: /src/cairo/src/cairo-boxes-intersect.c:233,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 1
    argNames:
    - pq
    argTypes:
    - pqueue_t*
    constantsTouched: []
    func_position:
      end: 239
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 239
    functionName: pqueue_pop
    functionSourceFile: /src/cairo/src/cairo-boxes-intersect.c
    functionUses: []
    functionsReached:
    - PQ_LEFT_CHILD_INDEX
    - rectangle_compare_stop
    linkageType: ''
    returnType: void
    signature: 'static inline void pqueue_pop (pqueue_t *pq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/cairo/src/cairo-boxes-intersect.c:293,1
    - Dst: longjmp
      Src: /src/cairo/src/cairo-boxes-intersect.c:304,1
    - Dst: _cairo_boxes_add
      Src: /src/cairo/src/cairo-boxes-intersect.c:302,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-boxes-intersect.c:303,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - sweep_line
    - left
    - bot
    - out
    argTypes:
    - sweep_line_t*
    - edge_t*
    - int32_t
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 308
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 308
    functionName: end_box
    functionSourceFile: /src/cairo/src/cairo-boxes-intersect.c
    functionUses: []
    functionsReached:
    - _cairo_boxes_add
    - longjmp
    - likely
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'static void end_box (sweep_line_t *sweep_line, edge_t *left, int32_t
      bot, cairo_boxes_t *out) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sweep_line_init
      Src: /src/cairo/src/cairo-boxes-intersect.c:490,1
    - Dst: active_edges
      Src: /src/cairo/src/cairo-boxes-intersect.c:502,1
    - Dst: rectangle_pop_start
      Src: /src/cairo/src/cairo-boxes-intersect.c:494,1
    - Dst: setjmp
      Src: /src/cairo/src/cairo-boxes-intersect.c:491,1
    - Dst: rectangle_peek_stop
      Src: /src/cairo/src/cairo-boxes-intersect.c:499,1
    - Dst: sweep_line_delete
      Src: /src/cairo/src/cairo-boxes-intersect.c:506,1
    - Dst: rectangle_peek_stop
      Src: /src/cairo/src/cairo-boxes-intersect.c:508,1
    - Dst: active_edges
      Src: /src/cairo/src/cairo-boxes-intersect.c:511,1
    - Dst: sweep_line_insert
      Src: /src/cairo/src/cairo-boxes-intersect.c:515,1
    - Dst: rectangle_pop_start
      Src: /src/cairo/src/cairo-boxes-intersect.c:516,1
    - Dst: rectangle_peek_stop
      Src: /src/cairo/src/cairo-boxes-intersect.c:518,1
    - Dst: sweep_line_fini
      Src: /src/cairo/src/cairo-boxes-intersect.c:528,1
    - Dst: sweep_line_delete
      Src: /src/cairo/src/cairo-boxes-intersect.c:524,1
    - Dst: active_edges
      Src: /src/cairo/src/cairo-boxes-intersect.c:520,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 3
    argNames:
    - rectangles
    - num_rectangles
    - out
    argTypes:
    - rectangle_t**
    - int
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 530
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 530
    functionName: intersect
    functionSourceFile: /src/cairo/src/cairo-boxes-intersect.c
    functionUses: []
    functionsReached:
    - sweep_line_init
    - active_edges
    - sweep_line_delete
    - rectangle_peek_stop
    - sweep_line_fini
    - setjmp
    - rectangle_pop_start
    - sweep_line_insert
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t intersect (rectangle_t **rectangles, int num_rectangles,
      cairo_boxes_t *out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - rectangle_t*
    - rectangle_t*
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: rectangle_compare_stop
    functionSourceFile: /src/cairo/src/cairo-boxes-intersect.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "static inline int rectangle_compare_stop (const rectangle_t *a,\t\t\
      \t const rectangle_t *b) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 245
    functionName: rectangle_pop_start
    functionSourceFile: /src/cairo/src/cairo-boxes-intersect.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: rectangle_t*
    signature: 'static inline rectangle_t *rectangle_pop_start (sweep_line_t *sweep_line) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MAX
      Src: /src/cairo/src/cairo-boxes-intersect.c:548,1
    - Dst: MIN
      Src: /src/cairo/src/cairo-boxes-intersect.c:551,1
    - Dst: MIN
      Src: /src/cairo/src/cairo-boxes-intersect.c:550,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-boxes-intersect.c:549,1
    - Dst: _cairo_boxes_clear
      Src: /src/cairo/src/cairo-boxes-intersect.c:565,1
    - Dst: _cairo_boxes_limit
      Src: /src/cairo/src/cairo-boxes-intersect.c:566,1
    - Dst: _cairo_boxes_add
      Src: /src/cairo/src/cairo-boxes-intersect.c:569,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-boxes-intersect.c:572,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 41
    argCount: 3
    argNames:
    - boxes
    - box
    - out
    argTypes:
    - cairo_boxes_t*
    - cairo_box_t*
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 579
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 579
    functionName: _cairo_boxes_intersect_with_box
    functionSourceFile: /src/cairo/src/cairo-boxes-intersect.c
    functionUses: []
    functionsReached:
    - _cairo_boxes_clear
    - MIN
    - MAX
    - _cairo_boxes_limit
    - _cairo_boxes_add
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_boxes_intersect_with_box (const cairo_boxes_t\
      \ *boxes,\t\t\t\t const cairo_box_t *box,\t\t\t\t cairo_boxes_t *out) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/cairo/src/cairo-boxes-intersect.c:100,1
    - Dst: fopen
      Src: /src/cairo/src/cairo-boxes-intersect.c:103,1
    - Dst: fclose
      Src: /src/cairo/src/cairo-boxes-intersect.c:119,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-boxes-intersect.c:106,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-boxes-intersect.c:118,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - traps
    - filename
    argTypes:
    - cairo_traps_t*
    - char*
    constantsTouched: []
    func_position:
      end: 121
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 121
    functionName: dump_traps
    functionSourceFile: /src/cairo/src/cairo-boxes-intersect.c
    functionUses: []
    functionsReached:
    - fopen
    - getenv
    - fprintf
    - fclose
    linkageType: ''
    returnType: void
    signature: 'static void dump_traps (cairo_traps_t *traps, const char *filename) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _rectangle_sort
      Src: /src/cairo/src/cairo-boxes-intersect.c:262,1
    - Dst: pqueue_init
      Src: /src/cairo/src/cairo-boxes-intersect.c:281,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - sweep_line
    - rectangles
    - num_rectangles
    argTypes:
    - sweep_line_t*
    - rectangle_t**
    - int
    constantsTouched: []
    func_position:
      end: 282
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 282
    functionName: sweep_line_init
    functionSourceFile: /src/cairo/src/cairo-boxes-intersect.c
    functionUses: []
    functionsReached:
    - _rectangle_sort
    - pqueue_init
    linkageType: ''
    returnType: void
    signature: "static void sweep_line_init (sweep_line_t\t *sweep_line,\t\t rectangle_t\t\
      **rectangles,\t\t int\t\t num_rectangles) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pqueue_fini
      Src: /src/cairo/src/cairo-boxes-intersect.c:287,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - sweep_line
    argTypes:
    - sweep_line_t*
    constantsTouched: []
    func_position:
      end: 288
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 288
    functionName: sweep_line_fini
    functionSourceFile: /src/cairo/src/cairo-boxes-intersect.c
    functionUses: []
    functionsReached:
    - pqueue_fini
    linkageType: ''
    returnType: void
    signature: 'static void sweep_line_fini (sweep_line_t *sweep_line) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_STACK_ARRAY_LENGTH
      Src: /src/cairo/src/cairo-boxes-intersect.c:586,1
    - Dst: _cairo_boxes_intersect_with_box
      Src: /src/cairo/src/cairo-boxes-intersect.c:601,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-boxes-intersect.c:588,1
    - Dst: _cairo_boxes_clear
      Src: /src/cairo/src/cairo-boxes-intersect.c:595,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-boxes-intersect.c:594,1
    - Dst: _cairo_boxes_intersect_with_box
      Src: /src/cairo/src/cairo-boxes-intersect.c:605,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-boxes-intersect.c:611,1
    - Dst: _cairo_malloc_ab_plus_c
      Src: /src/cairo/src/cairo-boxes-intersect.c:612,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-boxes-intersect.c:616,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-boxes-intersect.c:617,1
    - Dst: intersect
      Src: /src/cairo/src/cairo-boxes-intersect.c:684,1
    - Dst: _cairo_boxes_clear
      Src: /src/cairo/src/cairo-boxes-intersect.c:683,1
    - Dst: assert
      Src: /src/cairo/src/cairo-boxes-intersect.c:681,1
    - Dst: free
      Src: /src/cairo/src/cairo-boxes-intersect.c:686,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 89
    argCount: 3
    argNames:
    - a
    - b
    - out
    argTypes:
    - cairo_boxes_t*
    - cairo_boxes_t*
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 689
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 689
    functionName: _cairo_boxes_intersect
    functionSourceFile: /src/cairo/src/cairo-boxes-intersect.c
    functionUses: []
    functionsReached:
    - CAIRO_STACK_ARRAY_LENGTH
    - _cairo_boxes_intersect_with_box
    - _cairo_malloc_ab_plus_c
    - _cairo_error
    - _cairo_boxes_clear
    - ARRAY_LENGTH
    - free
    - assert
    - intersect
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_boxes_intersect (const cairo_boxes_t *a,\t\t\
      \tconst cairo_boxes_t *b,\t\t\tcairo_boxes_t *out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-boxes-intersect.c:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pq
    argTypes:
    - pqueue_t*
    constantsTouched: []
    func_position:
      end: 148
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 148
    functionName: pqueue_init
    functionSourceFile: /src/cairo/src/cairo-boxes-intersect.c
    functionUses: []
    functionsReached:
    - ARRAY_LENGTH
    linkageType: ''
    returnType: void
    signature: 'static inline void pqueue_init (pqueue_t *pq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - winding
    argTypes:
    - int*
    constantsTouched: []
    func_position:
      end: 344
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 344
    functionName: is_zero
    functionSourceFile: /src/cairo/src/cairo-boxes-intersect.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int is_zero(const int *winding) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-boxes-intersect.c:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - pq
    argTypes:
    - pqueue_t*
    constantsTouched: []
    func_position:
      end: 155
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 155
    functionName: pqueue_fini
    functionSourceFile: /src/cairo/src/cairo-boxes-intersect.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'static inline void pqueue_fini (pqueue_t *pq) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: is_zero
      Src: /src/cairo/src/cairo-boxes-intersect.c:366,1
    - Dst: end_box
      Src: /src/cairo/src/cairo-boxes-intersect.c:380,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-boxes-intersect.c:371,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-boxes-intersect.c:379,1
    - Dst: end_box
      Src: /src/cairo/src/cairo-boxes-intersect.c:372,1
    - Dst: is_zero
      Src: /src/cairo/src/cairo-boxes-intersect.c:383,1
    - Dst: likely
      Src: /src/cairo/src/cairo-boxes-intersect.c:385,1
    - Dst: start_or_continue_box
      Src: /src/cairo/src/cairo-boxes-intersect.c:392,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 30
    argCount: 2
    argNames:
    - sweep
    - out
    argTypes:
    - sweep_line_t*
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 399
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 399
    functionName: active_edges
    functionSourceFile: /src/cairo/src/cairo-boxes-intersect.c
    functionUses: []
    functionsReached:
    - start_or_continue_box
    - is_zero
    - end_box
    - likely
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'static inline void active_edges (sweep_line_t *sweep, cairo_boxes_t
      *out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ServerVendor
      Src: /src/cairo/src/cairo-xlib-private.h:225,1
    - Dst: strstr
      Src: /src/cairo/src/cairo-xlib-private.h:226,1
    - Dst: strstr
      Src: /src/cairo/src/cairo-xlib-private.h:226,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - dpy
    argTypes:
    - Display*
    constantsTouched: []
    func_position:
      end: 227
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 227
    functionName: _cairo_xlib_vendor_is_xorg
    functionSourceFile: /src/cairo/src/cairo-xlib-private.h
    functionUses: []
    functionsReached:
    - ServerVendor
    - strstr
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'inline static cairo_bool_t _cairo_xlib_vendor_is_xorg (Display *dpy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xlib_screen_put_gc
      Src: /src/cairo/src/cairo-xlib-private.h:418,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - display
    - surface
    - gc
    argTypes:
    - cairo_xlib_display_t*
    - cairo_xlib_surface_t*
    - GC
    constantsTouched: []
    func_position:
      end: 422
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 422
    functionName: _cairo_xlib_surface_put_gc
    functionSourceFile: /src/cairo/src/cairo-xlib-private.h
    functionUses: []
    functionsReached:
    - _cairo_xlib_screen_put_gc
    linkageType: ''
    returnType: void
    signature: 'static inline void _cairo_xlib_surface_put_gc (cairo_xlib_display_t
      *display, cairo_xlib_surface_t *surface, GC gc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - cairo_xlib_surface_t*
    - cairo_xlib_surface_t*
    constantsTouched: []
    func_position:
      end: 400
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 400
    functionName: _cairo_xlib_surface_same_screen
    functionSourceFile: /src/cairo/src/cairo-xlib-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static inline cairo_bool_t _cairo_xlib_surface_same_screen (cairo_xlib_surface_t\
      \ *dst,\t\t\t\t cairo_xlib_surface_t *src) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - gstate
    argTypes:
    - cairo_gstate_t*
    constantsTouched: []
    func_position:
      end: 537
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 537
    functionName: _cairo_gstate_get_line_join
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_line_join_t
    signature: 'cairo_line_join_t _cairo_gstate_get_line_join (cairo_gstate_t *gstate) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_copy_transformed_pattern
      Src: /src/cairo/src/cairo-gstate.c:1007,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - gstate
    - pattern
    argTypes:
    - cairo_gstate_t*
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 1010
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1010
    functionName: _cairo_gstate_copy_transformed_source
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_copy_transformed_pattern
    linkageType: ''
    returnType: void
    signature: "static void _cairo_gstate_copy_transformed_source (cairo_gstate_t\
      \ *gstate,\t\t\t\t cairo_pattern_t *pattern) "
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-gstate.c:545,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-gstate.c:555,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-gstate.c:556,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-gstate.c:564,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-gstate.c:558,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-gstate.c:568,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-gstate.c:585,1
    - Dst: free
      Src: /src/cairo/src/cairo-gstate.c:596,1
    - Dst: fmod
      Src: /src/cairo/src/cairo-gstate.c:606,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 62
    argCount: 4
    argNames:
    - gstate
    - dash
    - num_dashes
    - offset
    argTypes:
    - cairo_gstate_t*
    - double*
    - int
    - double
    constantsTouched: []
    func_position:
      end: 614
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 614
    functionName: _cairo_gstate_set_dash
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - free
    - fmod
    - _cairo_malloc_ab
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_gstate_set_dash (cairo_gstate_t *gstate, const
      double *dash, int num_dashes, double offset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_copy_transformed_pattern
      Src: /src/cairo/src/cairo-gstate.c:1017,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - gstate
    - pattern
    - mask
    argTypes:
    - cairo_gstate_t*
    - cairo_pattern_t*
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 1020
      start: 1012
    functionDepth: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1020
    functionName: _cairo_gstate_copy_transformed_mask
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_copy_transformed_pattern
    linkageType: ''
    returnType: void
    signature: "static void _cairo_gstate_copy_transformed_mask (cairo_gstate_t *gstate,\t\
      \t\t\t cairo_pattern_t *pattern,\t\t\t\t cairo_pattern_t *mask) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - gstate
    argTypes:
    - cairo_gstate_t*
    constantsTouched: []
    func_position:
      end: 341
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 341
    functionName: _cairo_gstate_is_group
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t _cairo_gstate_is_group (cairo_gstate_t *gstate) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-gstate.c:303,1
    - Dst: _cairo_matrix_is_identity
      Src: /src/cairo/src/cairo-gstate.c:313,1
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-gstate.c:319,1
    - Dst: cairo_list_move
      Src: /src/cairo/src/cairo-gstate.c:314,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-gstate.c:312,1
    - Dst: _cairo_clip_copy_with_translation
      Src: /src/cairo/src/cairo-gstate.c:320,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - gstate
    - child
    argTypes:
    - cairo_gstate_t*
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 325
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 325
    functionName: _cairo_gstate_redirect_target
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - _cairo_clip_destroy
    - cairo_list_move
    - cairo_surface_reference
    - _cairo_matrix_is_identity
    - _cairo_clip_copy_with_translation
    - assert
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_gstate_redirect_target (cairo_gstate_t *gstate,
      cairo_surface_t *child) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - gstate
    argTypes:
    - cairo_gstate_t*
    constantsTouched: []
    func_position:
      end: 469
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 469
    functionName: _cairo_gstate_get_fill_rule
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_fill_rule_t
    signature: 'cairo_fill_rule_t _cairo_gstate_get_fill_rule (cairo_gstate_t *gstate) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ISFINITE
      Src: /src/cairo/src/cairo-gstate.c:713,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-gstate.c:719,1
    - Dst: _cairo_gstate_unset_scaled_font
      Src: /src/cairo/src/cairo-gstate.c:716,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-gstate.c:714,1
    - Dst: cairo_matrix_init_rotate
      Src: /src/cairo/src/cairo-gstate.c:718,1
    - Dst: _cairo_matrix_is_invertible
      Src: /src/cairo/src/cairo-gstate.c:723,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-gstate.c:724,1
    - Dst: cairo_matrix_init_rotate
      Src: /src/cairo/src/cairo-gstate.c:726,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-gstate.c:727,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - gstate
    - angle
    argTypes:
    - cairo_gstate_t*
    - double
    constantsTouched: []
    func_position:
      end: 730
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 730
    functionName: _cairo_gstate_rotate
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_gstate_unset_scaled_font
    - cairo_matrix_init_rotate
    - cairo_matrix_multiply
    - ISFINITE
    - _cairo_matrix_is_invertible
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_gstate_rotate (cairo_gstate_t *gstate, double
      angle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_show_page
      Src: /src/cairo/src/cairo-gstate.c:1440,1
    - Dst: cairo_surface_status
      Src: /src/cairo/src/cairo-gstate.c:1441,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - gstate
    argTypes:
    - cairo_gstate_t*
    constantsTouched: []
    func_position:
      end: 1442
      start: 1437
    functionDepth: 0
    functionLinenumber: 1437
    functionLinenumberEnd: 1442
    functionName: _cairo_gstate_show_page
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - cairo_surface_status
    - cairo_surface_show_page
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_gstate_show_page (cairo_gstate_t *gstate) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cairo/src/cairo-gstate.c:2249,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-gstate.c:2251,1
    - Dst: KEEP_GLYPH
      Src: /src/cairo/src/cairo-gstate.c:2259,1
    - Dst: KEEP_GLYPH
      Src: /src/cairo/src/cairo-gstate.c:2325,1
    - Dst: _cairo_gstate_int_clip_extents
      Src: /src/cairo/src/cairo-gstate.c:2215,1
    - Dst: _cairo_matrix_is_translation
      Src: /src/cairo/src/cairo-gstate.c:2294,1
    - Dst: _cairo_matrix_is_translation
      Src: /src/cairo/src/cairo-gstate.c:2295,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-gstate.c:2308,1
    - Dst: KEEP_GLYPH
      Src: /src/cairo/src/cairo-gstate.c:2380,1
    - Dst: _cairo_scaled_font_get_max_scale
      Src: /src/cairo/src/cairo-gstate.c:2218,1
    - Dst: _cairo_matrix_is_identity
      Src: /src/cairo/src/cairo-gstate.c:2244,1
    - Dst: _cairo_matrix_is_identity
      Src: /src/cairo/src/cairo-gstate.c:2245,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/cairo-gstate.c:2357,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-gstate.c:2363,1
    - Dst: KEEP_GLYPH
      Src: /src/cairo/src/cairo-gstate.c:2360,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/cairo-gstate.c:2377,1
    - Dst: KEEP_GLYPH
      Src: /src/cairo/src/cairo-gstate.c:2277,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/src/cairo-gstate.c:2346,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-gstate.c:2351,1
    - Dst: KEEP_GLYPH
      Src: /src/cairo/src/cairo-gstate.c:2305,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-gstate.c:2349,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 183
    argCount: 10
    argNames:
    - gstate
    - glyphs
    - num_glyphs
    - clusters
    - num_clusters
    - cluster_flags
    - transformed_glyphs
    - num_transformed_glyphs
    - transformed_clusters
    - perform_early_clip
    argTypes:
    - cairo_gstate_t*
    - cairo_glyph_t*
    - int
    - cairo_text_cluster_t*
    - int
    - cairo_text_cluster_flags_t
    - cairo_glyph_t*
    - int*
    - cairo_text_cluster_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 2408
      start: 2194
    functionDepth: 0
    functionLinenumber: 2194
    functionLinenumberEnd: 2408
    functionName: _cairo_gstate_transform_glyphs_to_backend
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - memcpy
    - KEEP_GLYPH
    - _cairo_matrix_is_identity
    - _cairo_scaled_font_get_max_scale
    - _cairo_gstate_int_clip_extents
    - _cairo_matrix_is_translation
    - cairo_matrix_transform_point
    - cairo_matrix_init_translate
    - cairo_matrix_multiply
    linkageType: ''
    returnType: void
    signature: "static void _cairo_gstate_transform_glyphs_to_backend (cairo_gstate_t\t\
      *gstate, const cairo_glyph_t\t*glyphs, int\t\t\t num_glyphs,\t\t\t\t\t const\
      \ cairo_text_cluster_t\t*clusters,\t\t\t\t\t int\t\t\t num_clusters,\t\t\t\t\
      \t cairo_text_cluster_flags_t cluster_flags, cairo_glyph_t\t*transformed_glyphs,\t\
      \t\t\t\t int\t\t\t*num_transformed_glyphs,\t\t\t\t\t cairo_text_cluster_t *transformed_clusters,\t\
      \t\t\t\t cairo_bool_t perform_early_clip) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - gstate
    - width
    argTypes:
    - cairo_gstate_t*
    - double
    constantsTouched: []
    func_position:
      end: 480
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 480
    functionName: _cairo_gstate_set_line_width
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_gstate_set_line_width (cairo_gstate_t *gstate,
      double width) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_matrix_is_invertible
      Src: /src/cairo/src/cairo-gstate.c:739,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-gstate.c:746,1
    - Dst: _cairo_matrix_is_identity
      Src: /src/cairo/src/cairo-gstate.c:742,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-gstate.c:740,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-gstate.c:747,1
    - Dst: _cairo_gstate_unset_scaled_font
      Src: /src/cairo/src/cairo-gstate.c:750,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-gstate.c:752,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-gstate.c:753,1
    - Dst: _cairo_matrix_is_invertible
      Src: /src/cairo/src/cairo-gstate.c:757,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-gstate.c:758,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - gstate
    - matrix
    argTypes:
    - cairo_gstate_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 761
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 761
    functionName: _cairo_gstate_transform
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_matrix_is_invertible
    - _cairo_matrix_is_identity
    - _cairo_gstate_unset_scaled_font
    - cairo_matrix_invert
    - cairo_matrix_multiply
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_gstate_transform (cairo_gstate_t\t *gstate,\t\
      \t\t const cairo_matrix_t *matrix) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-gstate.c:1452,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-gstate.c:1453,1
    - Dst: _cairo_gstate_backend_to_user_rectangle
      Src: /src/cairo/src/cairo-gstate.c:1457,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-gstate.c:1454,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-gstate.c:1455,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 6
    argNames:
    - gstate
    - extents
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - cairo_gstate_t*
    - cairo_box_t*
    - double*
    - double*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 1468
      start: 1444
    functionDepth: 0
    functionLinenumber: 1444
    functionLinenumberEnd: 1468
    functionName: _cairo_gstate_extents_to_user_rectangle
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_backend_to_user_rectangle
    - _cairo_fixed_to_double
    linkageType: ''
    returnType: void
    signature: "static void _cairo_gstate_extents_to_user_rectangle (cairo_gstate_t\t\
      \ *gstate,\t\t\t\t\t const cairo_box_t *extents,\t\t\t\t\t double *x1, double\
      \ *y1,\t\t\t\t\t double *x2, double *y2) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISFINITE
      Src: /src/cairo/src/cairo-gstate.c:660,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/src/cairo-gstate.c:665,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-gstate.c:661,1
    - Dst: ISFINITE
      Src: /src/cairo/src/cairo-gstate.c:660,1
    - Dst: _cairo_gstate_unset_scaled_font
      Src: /src/cairo/src/cairo-gstate.c:663,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-gstate.c:666,1
    - Dst: _cairo_matrix_is_invertible
      Src: /src/cairo/src/cairo-gstate.c:670,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-gstate.c:671,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/src/cairo-gstate.c:673,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-gstate.c:674,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - gstate
    - tx
    - ty
    argTypes:
    - cairo_gstate_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 677
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 677
    functionName: _cairo_gstate_translate
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_gstate_unset_scaled_font
    - cairo_matrix_init_translate
    - cairo_matrix_multiply
    - ISFINITE
    - _cairo_matrix_is_invertible
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_gstate_translate (cairo_gstate_t *gstate, double
      tx, double ty) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-gstate.c:685,1
    - Dst: _cairo_gstate_unset_scaled_font
      Src: /src/cairo/src/cairo-gstate.c:689,1
    - Dst: ISFINITE
      Src: /src/cairo/src/cairo-gstate.c:686,1
    - Dst: ISFINITE
      Src: /src/cairo/src/cairo-gstate.c:686,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-gstate.c:687,1
    - Dst: cairo_matrix_init_scale
      Src: /src/cairo/src/cairo-gstate.c:691,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-gstate.c:692,1
    - Dst: _cairo_matrix_is_invertible
      Src: /src/cairo/src/cairo-gstate.c:696,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-gstate.c:697,1
    - Dst: cairo_matrix_init_scale
      Src: /src/cairo/src/cairo-gstate.c:699,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-gstate.c:700,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - gstate
    - sx
    - sy
    argTypes:
    - cairo_gstate_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 703
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 703
    functionName: _cairo_gstate_scale
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - cairo_matrix_init_scale
    - _cairo_gstate_unset_scaled_font
    - cairo_matrix_multiply
    - ISFINITE
    - _cairo_matrix_is_invertible
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_gstate_scale (cairo_gstate_t *gstate, double
      sx, double sy) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_INJECT_FAULT
      Src: /src/cairo/src/cairo-gstate.c:240,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-gstate.c:245,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-gstate.c:246,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-gstate.c:241,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-gstate.c:247,1
    - Dst: _cairo_gstate_init_copy
      Src: /src/cairo/src/cairo-gstate.c:251,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-gstate.c:252,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 2
    argNames:
    - gstate
    - freelist
    argTypes:
    - cairo_gstate_t**
    - cairo_gstate_t**
    constantsTouched: []
    func_position:
      end: 262
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 262
    functionName: _cairo_gstate_save
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_gstate_init_copy
    - CAIRO_INJECT_FAULT
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_gstate_save (cairo_gstate_t **gstate, cairo_gstate_t
      **freelist) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - gstate
    argTypes:
    - cairo_gstate_t*
    constantsTouched: []
    func_position:
      end: 427
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 427
    functionName: _cairo_gstate_get_operator
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_operator_t
    signature: 'cairo_operator_t _cairo_gstate_get_operator (cairo_gstate_t *gstate) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - gstate
    argTypes:
    - cairo_gstate_t*
    constantsTouched: []
    func_position:
      end: 455
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 455
    functionName: _cairo_gstate_get_tolerance
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: 'double _cairo_gstate_get_tolerance (cairo_gstate_t *gstate) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_get_extents
      Src: /src/cairo/src/cairo-gstate.c:1670,1
    - Dst: _cairo_clip_copy_rectangle_list
      Src: /src/cairo/src/cairo-gstate.c:1675,1
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-gstate.c:1678,1
    - Dst: _cairo_clip_copy_intersect_rectangle
      Src: /src/cairo/src/cairo-gstate.c:1671,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1681
      start: 1663
    functionDepth: 0
    functionLinenumber: 1663
    functionLinenumberEnd: 1681
    functionName: _cairo_gstate_copy_clip_rectangle_list
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - _cairo_clip_copy_rectangle_list
    - _cairo_clip_copy_intersect_rectangle
    - _cairo_clip_destroy
    - _cairo_surface_get_extents
    linkageType: ''
    returnType: cairo_rectangle_list_t*
    signature: 'cairo_rectangle_list_t *_cairo_gstate_copy_clip_rectangle_list (cairo_gstate_t
      *gstate) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_get_pattern_status
      Src: /src/cairo/src/cairo-gstate.c:1083,1
    - Dst: _reduce_op
      Src: /src/cairo/src/cairo-gstate.c:1093,1
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-gstate.c:1090,1
    - Dst: _cairo_gstate_copy_transformed_source
      Src: /src/cairo/src/cairo-gstate.c:1097,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-gstate.c:1084,1
    - Dst: _cairo_surface_paint
      Src: /src/cairo/src/cairo-gstate.c:1101,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - gstate
    argTypes:
    - cairo_gstate_t*
    constantsTouched: []
    func_position:
      end: 1104
      start: 1075
    functionDepth: 0
    functionLinenumber: 1075
    functionLinenumberEnd: 1104
    functionName: _cairo_gstate_paint
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - _cairo_clip_is_all_clipped
    - _cairo_gstate_get_pattern_status
    - _cairo_gstate_copy_transformed_source
    - _reduce_op
    - _cairo_surface_paint
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_gstate_paint (cairo_gstate_t *gstate) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-gstate.c:1386,1
    - Dst: _cairo_gstate_user_to_backend
      Src: /src/cairo/src/cairo-gstate.c:1392,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-gstate.c:1406,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-gstate.c:1405,1
    - Dst: _cairo_path_fixed_in_fill
      Src: /src/cairo/src/cairo-gstate.c:1419,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 36
    argCount: 3
    argNames:
    - gstate
    - x
    - y
    argTypes:
    - cairo_gstate_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 1428
      start: 1378
    functionDepth: 0
    functionLinenumber: 1378
    functionLinenumberEnd: 1428
    functionName: _cairo_gstate_in_clip
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_in_fill
    - _cairo_gstate_user_to_backend
    - _cairo_clip_is_all_clipped
    - _cairo_fixed_from_double
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t _cairo_gstate_in_clip (cairo_gstate_t\t *gstate,\t\t\
      \ double\t\t x,\t\t double\t\t y) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_matrix_is_identity
      Src: /src/cairo/src/cairo-gstate.c:866,1
    - Dst: _cairo_matrix_is_identity
      Src: /src/cairo/src/cairo-gstate.c:867,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-gstate.c:869,1
    - Dst: _cairo_matrix_transform_bounding_box
      Src: /src/cairo/src/cairo-gstate.c:872,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 6
    argNames:
    - gstate
    - x1
    - y1
    - x2
    - y2
    - is_tight
    argTypes:
    - cairo_gstate_t*
    - double*
    - double*
    - double*
    - double*
    - cairo_bool_t*
    constantsTouched: []
    func_position:
      end: 881
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 881
    functionName: _cairo_gstate_backend_to_user_rectangle
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - _cairo_matrix_transform_bounding_box
    - _cairo_matrix_is_identity
    - cairo_matrix_multiply
    linkageType: ''
    returnType: void
    signature: 'void _cairo_gstate_backend_to_user_rectangle (cairo_gstate_t *gstate,
      double *x1, double *y1, double *x2, double *y2, cairo_bool_t *is_tight) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - gstate
    - op
    argTypes:
    - cairo_gstate_t*
    - double
    constantsTouched: []
    func_position:
      end: 435
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 435
    functionName: _cairo_gstate_set_opacity
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_gstate_set_opacity (cairo_gstate_t *gstate,
      double op) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - gstate
    - fill_rule
    argTypes:
    - cairo_gstate_t*
    - cairo_fill_rule_t
    constantsTouched: []
    func_position:
      end: 463
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 463
    functionName: _cairo_gstate_set_fill_rule
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_gstate_set_fill_rule (cairo_gstate_t *gstate,
      cairo_fill_rule_t fill_rule) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-gstate.c:1126,1
    - Dst: _cairo_pattern_is_clear
      Src: /src/cairo/src/cairo-gstate.c:1134,1
    - Dst: _cairo_color_multiply_alpha
      Src: /src/cairo/src/cairo-gstate.c:1165,1
    - Dst: _cairo_pattern_is_opaque
      Src: /src/cairo/src/cairo-gstate.c:1131,1
    - Dst: _cairo_gstate_paint
      Src: /src/cairo/src/cairo-gstate.c:1132,1
    - Dst: _cairo_operator_bounded_by_mask
      Src: /src/cairo/src/cairo-gstate.c:1135,1
    - Dst: _cairo_gstate_copy_transformed_mask
      Src: /src/cairo/src/cairo-gstate.c:1147,1
    - Dst: _cairo_operator_bounded_by_source
      Src: /src/cairo/src/cairo-gstate.c:1151,1
    - Dst: M
      Src: /src/cairo/src/cairo-gstate.c:1160,1
    - Dst: M
      Src: /src/cairo/src/cairo-gstate.c:1158,1
    - Dst: _cairo_surface_mask
      Src: /src/cairo/src/cairo-gstate.c:1176,1
    - Dst: _cairo_gstate_get_pattern_status
      Src: /src/cairo/src/cairo-gstate.c:1115,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-gstate.c:1116,1
    - Dst: _cairo_pattern_init_solid
      Src: /src/cairo/src/cairo-gstate.c:1168,1
    - Dst: _cairo_surface_paint
      Src: /src/cairo/src/cairo-gstate.c:1170,1
    - Dst: _cairo_gstate_get_pattern_status
      Src: /src/cairo/src/cairo-gstate.c:1119,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-gstate.c:1120,1
    - Dst: assert
      Src: /src/cairo/src/cairo-gstate.c:1129,1
    - Dst: _reduce_op
      Src: /src/cairo/src/cairo-gstate.c:1140,1
    - Dst: M
      Src: /src/cairo/src/cairo-gstate.c:1159,1
    - Dst: M
      Src: /src/cairo/src/cairo-gstate.c:1161,1
    - Dst: _cairo_gstate_copy_transformed_source
      Src: /src/cairo/src/cairo-gstate.c:1144,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 48
    argCount: 2
    argNames:
    - gstate
    - mask
    argTypes:
    - cairo_gstate_t*
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 1183
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1183
    functionName: _cairo_gstate_mask
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - _cairo_surface_mask
    - _cairo_pattern_is_opaque
    - _cairo_pattern_init_solid
    - _cairo_color_multiply_alpha
    - _cairo_clip_is_all_clipped
    - assert
    - _cairo_gstate_get_pattern_status
    - _cairo_operator_bounded_by_mask
    - _cairo_gstate_copy_transformed_source
    - _cairo_pattern_is_clear
    - _cairo_surface_paint
    - _cairo_gstate_copy_transformed_mask
    - _cairo_operator_bounded_by_source
    - M
    - _reduce_op
    - _cairo_gstate_paint
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_gstate_mask (cairo_gstate_t *gstate,\t\t cairo_pattern_t\
      \ *mask) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_tag
      Src: /src/cairo/src/cairo-gstate.c:1687,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - gstate
    - tag_name
    - attributes
    argTypes:
    - cairo_gstate_t*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1691
      start: 1683
    functionDepth: 0
    functionLinenumber: 1683
    functionLinenumberEnd: 1691
    functionName: _cairo_gstate_tag_begin
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - _cairo_surface_tag
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_gstate_tag_begin (cairo_gstate_t *gstate,\t\t\
      \t const char *tag_name, const char *attributes) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_copy_page
      Src: /src/cairo/src/cairo-gstate.c:1433,1
    - Dst: cairo_surface_status
      Src: /src/cairo/src/cairo-gstate.c:1434,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - gstate
    argTypes:
    - cairo_gstate_t*
    constantsTouched: []
    func_position:
      end: 1435
      start: 1430
    functionDepth: 0
    functionLinenumber: 1430
    functionLinenumberEnd: 1435
    functionName: _cairo_gstate_copy_page
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - cairo_surface_status
    - cairo_surface_copy_page
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_gstate_copy_page (cairo_gstate_t *gstate) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_container_of
      Src: /src/cairo/src/cairo-gstate.c:75,1
    - Dst: _cairo_matrix_is_identity
      Src: /src/cairo/src/cairo-gstate.c:79,1
    - Dst: _cairo_matrix_is_identity
      Src: /src/cairo/src/cairo-gstate.c:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - observer
    - arg
    argTypes:
    - cairo_observer_t*
    - void*
    constantsTouched: []
    func_position:
      end: 81
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 81
    functionName: _cairo_gstate_update_device_transform
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - cairo_container_of
    - _cairo_matrix_is_identity
    linkageType: ''
    returnType: void
    signature: "static void _cairo_gstate_update_device_transform (cairo_observer_t\
      \ *observer,\t\t\t\t void *arg) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/cairo-gstate.c:820,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - gstate
    - x
    - y
    argTypes:
    - cairo_gstate_t*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 821
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 821
    functionName: _cairo_gstate_device_to_user
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - cairo_matrix_transform_point
    linkageType: ''
    returnType: void
    signature: 'void _cairo_gstate_device_to_user (cairo_gstate_t *gstate, double
      *x, double *y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/cairo-gstate.c:847,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/cairo-gstate.c:848,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - gstate
    - x
    - y
    argTypes:
    - cairo_gstate_t*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 849
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 849
    functionName: _do_cairo_gstate_backend_to_user
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - cairo_matrix_transform_point
    linkageType: ''
    returnType: void
    signature: 'void _do_cairo_gstate_backend_to_user (cairo_gstate_t *gstate, double
      *x, double *y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VG
      Src: /src/cairo/src/cairo-gstate.c:87,1
    - Dst: _cairo_stroke_style_init
      Src: /src/cairo/src/cairo-gstate.c:97,1
    - Dst: _cairo_font_options_init_default
      Src: /src/cairo/src/cairo-gstate.c:109,1
    - Dst: cairo_matrix_init_scale
      Src: /src/cairo/src/cairo-gstate.c:105,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/cairo/src/cairo-gstate.c:87,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-gstate.c:113,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-gstate.c:115,1
    - Dst: cairo_list_add
      Src: /src/cairo/src/cairo-gstate.c:118,1
    - Dst: _cairo_matrix_is_identity
      Src: /src/cairo/src/cairo-gstate.c:121,1
    - Dst: cairo_matrix_init_identity
      Src: /src/cairo/src/cairo-gstate.c:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 2
    argNames:
    - gstate
    - target
    argTypes:
    - cairo_gstate_t*
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 132
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 132
    functionName: _cairo_gstate_init
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - _cairo_stroke_style_init
    - cairo_matrix_init_scale
    - cairo_surface_reference
    - VG
    - _cairo_matrix_is_identity
    - _cairo_font_options_init_default
    - cairo_list_add
    - VALGRIND_MAKE_MEM_UNDEFINED
    - cairo_matrix_init_identity
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_gstate_init (cairo_gstate_t *gstate,\t\t cairo_surface_t\
      \ *target) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_transform_distance
      Src: /src/cairo/src/cairo-gstate.c:827,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - gstate
    - dx
    - dy
    argTypes:
    - cairo_gstate_t*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 828
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 828
    functionName: _cairo_gstate_device_to_user_distance
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - cairo_matrix_transform_distance
    linkageType: ''
    returnType: void
    signature: "void _cairo_gstate_device_to_user_distance (cairo_gstate_t *gstate,\t\
      \t\t\t double *dx, double *dy) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_transform_distance
      Src: /src/cairo/src/cairo-gstate.c:854,1
    - Dst: cairo_matrix_transform_distance
      Src: /src/cairo/src/cairo-gstate.c:855,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - gstate
    - x
    - y
    argTypes:
    - cairo_gstate_t*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 856
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 856
    functionName: _do_cairo_gstate_backend_to_user_distance
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - cairo_matrix_transform_distance
    linkageType: ''
    returnType: void
    signature: 'void _do_cairo_gstate_backend_to_user_distance (cairo_gstate_t *gstate,
      double *x, double *y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 387
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 387
    functionName: _cairo_gstate_get_clip
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_clip_t*
    signature: 'cairo_clip_t *_cairo_gstate_get_clip (cairo_gstate_t *gstate) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-gstate.c:1593,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - gstate
    argTypes:
    - cairo_gstate_t*
    constantsTouched: []
    func_position:
      end: 1597
      start: 1590
    functionDepth: 0
    functionLinenumber: 1590
    functionLinenumberEnd: 1597
    functionName: _cairo_gstate_reset_clip
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - _cairo_clip_destroy
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_gstate_reset_clip (cairo_gstate_t *gstate) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-gstate.c:2006,1
    - Dst: _cairo_gstate_ensure_scaled_font
      Src: /src/cairo/src/cairo-gstate.c:2009,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-gstate.c:2010,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-gstate.c:2018,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-gstate.c:2023,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-gstate.c:2025,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-gstate.c:2026,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-gstate.c:2019,1
    - Dst: cairo_surface_has_show_text_glyphs
      Src: /src/cairo/src/cairo-gstate.c:2071,1
    - Dst: _cairo_surface_show_text_glyphs
      Src: /src/cairo/src/cairo-gstate.c:2084,1
    - Dst: cairo_glyph_free
      Src: /src/cairo/src/cairo-gstate.c:2116,1
    - Dst: CAIRO_STACK_ARRAY_LENGTH
      Src: /src/cairo/src/cairo-gstate.c:1990,1
    - Dst: CAIRO_STACK_ARRAY_LENGTH
      Src: /src/cairo/src/cairo-gstate.c:1991,1
    - Dst: _cairo_gstate_transform_glyphs_to_backend
      Src: /src/cairo/src/cairo-gstate.c:2031,1
    - Dst: _cairo_gstate_copy_transformed_source
      Src: /src/cairo/src/cairo-gstate.c:2057,1
    - Dst: _cairo_scaled_font_get_max_scale
      Src: /src/cairo/src/cairo-gstate.c:2072,1
    - Dst: _cairo_path_fixed_init
      Src: /src/cairo/src/cairo-gstate.c:2096,1
    - Dst: cairo_glyph_allocate
      Src: /src/cairo/src/cairo-gstate.c:2017,1
    - Dst: cairo_text_cluster_allocate
      Src: /src/cairo/src/cairo-gstate.c:2024,1
    - Dst: _cairo_scaled_font_glyph_path
      Src: /src/cairo/src/cairo-gstate.c:2098,1
    - Dst: cairo_text_cluster_free
      Src: /src/cairo/src/cairo-gstate.c:2118,1
    - Dst: _cairo_gstate_get_pattern_status
      Src: /src/cairo/src/cairo-gstate.c:1999,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-gstate.c:2000,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-gstate.c:2016,1
    - Dst: _reduce_op
      Src: /src/cairo/src/cairo-gstate.c:2053,1
    - Dst: _cairo_gstate_transform_glyphs_to_backend
      Src: /src/cairo/src/cairo-gstate.c:2041,1
    - Dst: _cairo_surface_show_text_glyphs
      Src: /src/cairo/src/cairo-gstate.c:2076,1
    - Dst: _cairo_surface_fill
      Src: /src/cairo/src/cairo-gstate.c:2103,1
    - Dst: _cairo_path_fixed_fini
      Src: /src/cairo/src/cairo-gstate.c:2111,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 70
    argCount: 4
    argNames:
    - gstate
    - glyphs
    - num_glyphs
    - info
    argTypes:
    - cairo_gstate_t*
    - cairo_glyph_t*
    - int
    - cairo_glyph_text_info_t*
    constantsTouched: []
    func_position:
      end: 2121
      start: 1984
    functionDepth: 0
    functionLinenumber: 1984
    functionLinenumberEnd: 2121
    functionName: _cairo_gstate_show_text_glyphs
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_clip_is_all_clipped
    - _cairo_scaled_font_get_max_scale
    - _reduce_op
    - _cairo_surface_fill
    - cairo_text_cluster_allocate
    - _cairo_gstate_ensure_scaled_font
    - unlikely
    - _cairo_surface_show_text_glyphs
    - _cairo_path_fixed_init
    - cairo_glyph_allocate
    - cairo_text_cluster_free
    - _cairo_scaled_font_glyph_path
    - ARRAY_LENGTH
    - cairo_glyph_free
    - _cairo_gstate_get_pattern_status
    - _cairo_gstate_copy_transformed_source
    - cairo_surface_has_show_text_glyphs
    - _cairo_path_fixed_fini
    - _cairo_gstate_transform_glyphs_to_backend
    - CAIRO_STACK_ARRAY_LENGTH
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_gstate_show_text_glyphs (cairo_gstate_t\t\t\
      \ *gstate,\t\t\t\tconst cairo_glyph_t\t *glyphs,\t\t\t\tint\t\t\t num_glyphs,\t\
      \t\t\tcairo_glyph_text_info_t *info) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pattern_reference
      Src: /src/cairo/src/cairo-gstate.c:396,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/src/cairo-gstate.c:397,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - gstate
    - source
    argTypes:
    - cairo_gstate_t*
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 402
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 402
    functionName: _cairo_gstate_set_source
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - cairo_pattern_reference
    - cairo_pattern_destroy
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_gstate_set_source (cairo_gstate_t *gstate,\t\
      \t\t cairo_pattern_t *source) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_intersect_path
      Src: /src/cairo/src/cairo-gstate.c:1603,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - gstate
    - path
    argTypes:
    - cairo_gstate_t*
    - cairo_path_fixed_t*
    constantsTouched: []
    func_position:
      end: 1610
      start: 1599
    functionDepth: 0
    functionLinenumber: 1599
    functionLinenumberEnd: 1610
    functionName: _cairo_gstate_clip
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - _cairo_clip_intersect_path
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_gstate_clip (cairo_gstate_t *gstate, cairo_path_fixed_t
      *path) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_STACK_ARRAY_LENGTH
      Src: /src/cairo/src/cairo-gstate.c:2129,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-gstate.c:2137,1
    - Dst: _cairo_gstate_ensure_scaled_font
      Src: /src/cairo/src/cairo-gstate.c:2133,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-gstate.c:2134,1
    - Dst: cairo_glyph_allocate
      Src: /src/cairo/src/cairo-gstate.c:2140,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-gstate.c:2141,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-gstate.c:2142,1
    - Dst: _cairo_gstate_transform_glyphs_to_backend
      Src: /src/cairo/src/cairo-gstate.c:2145,1
    - Dst: _cairo_scaled_font_glyph_path
      Src: /src/cairo/src/cairo-gstate.c:2151,1
    - Dst: cairo_glyph_free
      Src: /src/cairo/src/cairo-gstate.c:2156,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 4
    argNames:
    - gstate
    - glyphs
    - num_glyphs
    - path
    argTypes:
    - cairo_gstate_t*
    - cairo_glyph_t*
    - int
    - cairo_path_fixed_t*
    constantsTouched: []
    func_position:
      end: 2159
      start: 2123
    functionDepth: 0
    functionLinenumber: 2123
    functionLinenumberEnd: 2159
    functionName: _cairo_gstate_glyph_path
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - CAIRO_STACK_ARRAY_LENGTH
    - _cairo_scaled_font_glyph_path
    - _cairo_error
    - ARRAY_LENGTH
    - _cairo_gstate_ensure_scaled_font
    - cairo_glyph_free
    - _cairo_gstate_transform_glyphs_to_backend
    - cairo_glyph_allocate
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_gstate_glyph_path (cairo_gstate_t *gstate,\t\
      \t\t const cairo_glyph_t *glyphs,\t\t\t int\t\t num_glyphs,\t\t\t cairo_path_fixed_t\
      \ *path) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cairo/src/cairo-gstate.c:769,1
    - Dst: _cairo_matrix_is_identity
      Src: /src/cairo/src/cairo-gstate.c:775,1
    - Dst: _cairo_matrix_is_invertible
      Src: /src/cairo/src/cairo-gstate.c:772,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-gstate.c:773,1
    - Dst: _cairo_gstate_identity_matrix
      Src: /src/cairo/src/cairo-gstate.c:776,1
    - Dst: _cairo_gstate_unset_scaled_font
      Src: /src/cairo/src/cairo-gstate.c:780,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-gstate.c:784,1
    - Dst: assert
      Src: /src/cairo/src/cairo-gstate.c:785,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - gstate
    - matrix
    argTypes:
    - cairo_gstate_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 789
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 789
    functionName: _cairo_gstate_set_matrix
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_matrix_is_identity
    - _cairo_gstate_unset_scaled_font
    - memcmp
    - assert
    - _cairo_gstate_identity_matrix
    - cairo_matrix_invert
    - _cairo_matrix_is_invertible
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_gstate_set_matrix (cairo_gstate_t *gstate,\t\
      \t\t const cairo_matrix_t *matrix) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_matrix_is_identity
      Src: /src/cairo/src/cairo-gstate.c:794,1
    - Dst: cairo_matrix_init_identity
      Src: /src/cairo/src/cairo-gstate.c:800,1
    - Dst: cairo_matrix_init_identity
      Src: /src/cairo/src/cairo-gstate.c:799,1
    - Dst: _cairo_gstate_unset_scaled_font
      Src: /src/cairo/src/cairo-gstate.c:797,1
    - Dst: _cairo_matrix_is_identity
      Src: /src/cairo/src/cairo-gstate.c:801,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - gstate
    argTypes:
    - cairo_gstate_t*
    constantsTouched: []
    func_position:
      end: 802
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 802
    functionName: _cairo_gstate_identity_matrix
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_unset_scaled_font
    - _cairo_matrix_is_identity
    - cairo_matrix_init_identity
    linkageType: ''
    returnType: void
    signature: 'void _cairo_gstate_identity_matrix (cairo_gstate_t *gstate) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-gstate.c:277,1
    - Dst: VG
      Src: /src/cairo/src/cairo-gstate.c:282,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/cairo/src/cairo-gstate.c:282,1
    - Dst: _cairo_gstate_fini
      Src: /src/cairo/src/cairo-gstate.c:281,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - gstate
    - freelist
    argTypes:
    - cairo_gstate_t**
    - cairo_gstate_t**
    constantsTouched: []
    func_position:
      end: 287
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 287
    functionName: _cairo_gstate_restore
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - VALGRIND_MAKE_MEM_UNDEFINED
    - VG
    - _cairo_gstate_fini
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_gstate_restore (cairo_gstate_t **gstate, cairo_gstate_t
      **freelist) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_fixed_extents
      Src: /src/cairo/src/cairo-gstate.c:903,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-gstate.c:904,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-gstate.c:907,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-gstate.c:906,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-gstate.c:905,1
    - Dst: _cairo_gstate_backend_to_user_rectangle
      Src: /src/cairo/src/cairo-gstate.c:909,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 6
    argNames:
    - gstate
    - path
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - cairo_gstate_t*
    - cairo_path_fixed_t*
    - double*
    - double*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 927
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 927
    functionName: _cairo_gstate_path_extents
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_backend_to_user_rectangle
    - _cairo_fixed_to_double
    - _cairo_path_fixed_extents
    linkageType: ''
    returnType: void
    signature: "void _cairo_gstate_path_extents (cairo_gstate_t *gstate,\t\t\t cairo_path_fixed_t\
      \ *path,\t\t\t double *x1, double *y1,\t\t\t double *x2, double *y2) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VG
      Src: /src/cairo/src/cairo-gstate.c:146,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-gstate.c:156,1
    - Dst: _cairo_stroke_style_init_copy
      Src: /src/cairo/src/cairo-gstate.c:154,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/cairo/src/cairo-gstate.c:146,1
    - Dst: cairo_font_face_reference
      Src: /src/cairo/src/cairo-gstate.c:161,1
    - Dst: cairo_scaled_font_reference
      Src: /src/cairo/src/cairo-gstate.c:162,1
    - Dst: cairo_scaled_font_reference
      Src: /src/cairo/src/cairo-gstate.c:163,1
    - Dst: _cairo_font_options_init_copy
      Src: /src/cairo/src/cairo-gstate.c:167,1
    - Dst: _cairo_clip_copy
      Src: /src/cairo/src/cairo-gstate.c:169,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-gstate.c:171,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-gstate.c:174,1
    - Dst: cairo_pattern_reference
      Src: /src/cairo/src/cairo-gstate.c:185,1
    - Dst: cairo_list_add
      Src: /src/cairo/src/cairo-gstate.c:177,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 2
    argNames:
    - gstate
    - other
    argTypes:
    - cairo_gstate_t*
    - cairo_gstate_t*
    constantsTouched: []
    func_position:
      end: 190
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 190
    functionName: _cairo_gstate_init_copy
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - cairo_surface_reference
    - VG
    - _cairo_stroke_style_init_copy
    - cairo_pattern_reference
    - cairo_font_face_reference
    - cairo_list_add
    - VALGRIND_MAKE_MEM_UNDEFINED
    - _cairo_font_options_init_copy
    - cairo_scaled_font_reference
    - _cairo_clip_copy
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_gstate_init_copy (cairo_gstate_t *gstate,
      cairo_gstate_t *other) '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 1
    argNames:
    - gstate
    argTypes:
    - cairo_gstate_t*
    constantsTouched: []
    func_position:
      end: 1059
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1059
    functionName: _reduce_op
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_operator_t
    signature: 'static cairo_operator_t _reduce_op (cairo_gstate_t *gstate) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_unset_scaled_font
      Src: /src/cairo/src/cairo-gstate.c:1720,1
    - Dst: cairo_matrix_init_scale
      Src: /src/cairo/src/cairo-gstate.c:1722,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - gstate
    - size
    argTypes:
    - cairo_gstate_t*
    - double
    constantsTouched: []
    func_position:
      end: 1725
      start: 1716
    functionDepth: 0
    functionLinenumber: 1716
    functionLinenumberEnd: 1725
    functionName: _cairo_gstate_set_font_size
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - cairo_matrix_init_scale
    - _cairo_gstate_unset_scaled_font
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_gstate_set_font_size (cairo_gstate_t *gstate,\t\
      \t\t double size) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_stroke_style_fini
      Src: /src/cairo/src/cairo-gstate.c:195,1
    - Dst: _cairo_font_options_fini
      Src: /src/cairo/src/cairo-gstate.c:196,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/src/cairo-gstate.c:198,1
    - Dst: cairo_scaled_font_destroy
      Src: /src/cairo/src/cairo-gstate.c:204,1
    - Dst: cairo_scaled_font_destroy
      Src: /src/cairo/src/cairo-gstate.c:201,1
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-gstate.c:207,1
    - Dst: cairo_list_del
      Src: /src/cairo/src/cairo-gstate.c:209,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-gstate.c:211,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-gstate.c:214,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-gstate.c:217,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/src/cairo-gstate.c:220,1
    - Dst: VG
      Src: /src/cairo/src/cairo-gstate.c:223,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/cairo/src/cairo-gstate.c:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - gstate
    argTypes:
    - cairo_gstate_t*
    constantsTouched: []
    func_position:
      end: 224
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 224
    functionName: _cairo_gstate_fini
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - cairo_scaled_font_destroy
    - _cairo_stroke_style_fini
    - _cairo_font_options_fini
    - _cairo_clip_destroy
    - cairo_font_face_destroy
    - VG
    - cairo_surface_destroy
    - VALGRIND_MAKE_MEM_UNDEFINED
    - cairo_list_del
    - cairo_pattern_destroy
    linkageType: ''
    returnType: void
    signature: 'void _cairo_gstate_fini (cairo_gstate_t *gstate) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-gstate.c:1064,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pattern
    argTypes:
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 1073
      start: 1061
    functionDepth: 0
    functionLinenumber: 1061
    functionLinenumberEnd: 1073
    functionName: _cairo_gstate_get_pattern_status
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_gstate_get_pattern_status (const cairo_pattern_t
      *pattern) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cairo/src/cairo-gstate.c:1731,1
    - Dst: _cairo_gstate_unset_scaled_font
      Src: /src/cairo/src/cairo-gstate.c:1734,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - gstate
    - matrix
    argTypes:
    - cairo_gstate_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 1739
      start: 1727
    functionDepth: 0
    functionLinenumber: 1727
    functionLinenumberEnd: 1739
    functionName: _cairo_gstate_set_font_matrix
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_unset_scaled_font
    - memcmp
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_gstate_set_font_matrix (cairo_gstate_t\t *gstate,\t\
      \t\t const cairo_matrix_t *matrix) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pattern_is_clear
      Src: /src/cairo/src/cairo-gstate.c:938,1
    - Dst: _cairo_gradient_pattern_is_solid
      Src: /src/cairo/src/cairo-gstate.c:948,1
    - Dst: _cairo_pattern_init_solid
      Src: /src/cairo/src/cairo-gstate.c:952,1
    - Dst: _cairo_pattern_init_static_copy
      Src: /src/cairo/src/cairo-gstate.c:958,1
    - Dst: _cairo_pattern_init_solid
      Src: /src/cairo/src/cairo-gstate.c:939,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - pattern
    - original
    argTypes:
    - cairo_pattern_t*
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 959
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 959
    functionName: _cairo_gstate_copy_pattern
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - _cairo_gradient_pattern_is_solid
    - _cairo_pattern_is_clear
    - _cairo_pattern_init_solid
    - _cairo_pattern_init_static_copy
    linkageType: ''
    returnType: void
    signature: "static void _cairo_gstate_copy_pattern (cairo_pattern_t *pattern,\t\
      \t\t const cairo_pattern_t *original) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_get_pattern_status
      Src: /src/cairo/src/cairo-gstate.c:1195,1
    - Dst: assert
      Src: /src/cairo/src/cairo-gstate.c:1208,1
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-gstate.c:1205,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-gstate.c:1196,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-gstate.c:1210,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-gstate.c:1213,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-gstate.c:1217,1
    - Dst: _cairo_stroke_style_dash_can_approximate
      Src: /src/cairo/src/cairo-gstate.c:1218,1
    - Dst: _cairo_stroke_style_dash_approximate
      Src: /src/cairo/src/cairo-gstate.c:1220,1
    - Dst: _cairo_gstate_copy_transformed_source
      Src: /src/cairo/src/cairo-gstate.c:1226,1
    - Dst: _cairo_surface_stroke
      Src: /src/cairo/src/cairo-gstate.c:1228,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - gstate
    - path
    argTypes:
    - cairo_gstate_t*
    - cairo_path_fixed_t*
    constantsTouched: []
    func_position:
      end: 1238
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1238
    functionName: _cairo_gstate_stroke
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - _cairo_stroke_style_dash_approximate
    - memcpy
    - _cairo_clip_is_all_clipped
    - assert
    - _cairo_gstate_get_pattern_status
    - _cairo_surface_stroke
    - _cairo_gstate_copy_transformed_source
    - _cairo_stroke_style_dash_can_approximate
    - cairo_matrix_multiply
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_gstate_stroke (cairo_gstate_t *gstate, cairo_path_fixed_t
      *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_font_options_fini
      Src: /src/cairo/src/cairo-gstate.c:1765,1
    - Dst: _cairo_font_options_init_copy
      Src: /src/cairo/src/cairo-gstate.c:1766,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - gstate
    - options
    argTypes:
    - cairo_gstate_t*
    - cairo_font_options_t*
    constantsTouched: []
    func_position:
      end: 1767
      start: 1761
    functionDepth: 0
    functionLinenumber: 1761
    functionLinenumberEnd: 1767
    functionName: _cairo_gstate_get_font_options
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - _cairo_font_options_fini
    - _cairo_font_options_init_copy
    linkageType: ''
    returnType: void
    signature: "void _cairo_gstate_get_font_options (cairo_gstate_t *gstate,\t\t\t\
      \tcairo_font_options_t *options) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-gstate.c:1952,1
    - Dst: cairo_font_face_reference
      Src: /src/cairo/src/cairo-gstate.c:1958,1
    - Dst: _cairo_gstate_unset_scaled_font
      Src: /src/cairo/src/cairo-gstate.c:1960,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/src/cairo-gstate.c:1957,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - gstate
    - font_face
    argTypes:
    - cairo_gstate_t*
    - cairo_font_face_t*
    constantsTouched: []
    func_position:
      end: 1963
      start: 1947
    functionDepth: 0
    functionLinenumber: 1947
    functionLinenumberEnd: 1963
    functionName: _cairo_gstate_set_font_face
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - cairo_font_face_destroy
    - _cairo_gstate_unset_scaled_font
    - cairo_font_face_reference
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_gstate_set_font_face (cairo_gstate_t *gstate,\t\
      \t\t cairo_font_face_t *font_face) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_copy_pattern
      Src: /src/cairo/src/cairo-gstate.c:981,1
    - Dst: _cairo_surface_has_device_transform
      Src: /src/cairo/src/cairo-gstate.c:990,1
    - Dst: _cairo_matrix_is_identity
      Src: /src/cairo/src/cairo-gstate.c:994,1
    - Dst: _cairo_pattern_pretransform
      Src: /src/cairo/src/cairo-gstate.c:991,1
    - Dst: _cairo_pattern_transform
      Src: /src/cairo/src/cairo-gstate.c:995,1
    - Dst: _cairo_surface_has_device_transform
      Src: /src/cairo/src/cairo-gstate.c:997,1
    - Dst: _cairo_pattern_transform
      Src: /src/cairo/src/cairo-gstate.c:998,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 4
    argNames:
    - gstate
    - pattern
    - original
    - ctm_inverse
    argTypes:
    - cairo_gstate_t*
    - cairo_pattern_t*
    - cairo_pattern_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 1001
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 1001
    functionName: _cairo_gstate_copy_transformed_pattern
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_transform
    - _cairo_pattern_pretransform
    - _cairo_matrix_is_identity
    - _cairo_surface_has_device_transform
    - _cairo_gstate_copy_pattern
    linkageType: ''
    returnType: void
    signature: "static void _cairo_gstate_copy_transformed_pattern (cairo_gstate_t\
      \ *gstate,\t\t\t\t\tcairo_pattern_t *pattern,\t\t\t\t\tconst cairo_pattern_t\
      \ *original,\t\t\t\t\tconst cairo_matrix_t *ctm_inverse) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_user_to_backend
      Src: /src/cairo/src/cairo-gstate.c:1257,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-gstate.c:1274,1
    - Dst: _cairo_traps_init
      Src: /src/cairo/src/cairo-gstate.c:1279,1
    - Dst: _cairo_path_fixed_approximate_stroke_extents
      Src: /src/cairo/src/cairo-gstate.c:1262,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-gstate.c:1275,1
    - Dst: _cairo_traps_limit
      Src: /src/cairo/src/cairo-gstate.c:1280,1
    - Dst: _cairo_path_fixed_stroke_polygon_to_traps
      Src: /src/cairo/src/cairo-gstate.c:1282,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-gstate.c:1288,1
    - Dst: _cairo_traps_contain
      Src: /src/cairo/src/cairo-gstate.c:1291,1
    - Dst: _cairo_traps_fini
      Src: /src/cairo/src/cairo-gstate.c:1294,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 5
    argNames:
    - gstate
    - path
    - x
    - y
    - inside_ret
    argTypes:
    - cairo_gstate_t*
    - cairo_path_fixed_t*
    - double
    - double
    - cairo_bool_t*
    constantsTouched: []
    func_position:
      end: 1297
      start: 1240
    functionDepth: 0
    functionLinenumber: 1240
    functionLinenumberEnd: 1297
    functionName: _cairo_gstate_in_stroke
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - _cairo_traps_init
    - _cairo_traps_fini
    - _cairo_path_fixed_stroke_polygon_to_traps
    - _cairo_path_fixed_approximate_stroke_extents
    - _cairo_traps_contain
    - _cairo_fixed_from_double
    - _cairo_gstate_user_to_backend
    - _cairo_traps_limit
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_gstate_in_stroke (cairo_gstate_t\t *gstate,\t\
      \t\t cairo_path_fixed_t *path,\t\t\t double\t\t x,\t\t\t double\t\t y,\t\t\t\
      \ cairo_bool_t\t *inside_ret) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_ensure_font_face
      Src: /src/cairo/src/cairo-gstate.c:1775,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-gstate.c:1776,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - gstate
    - font_face
    argTypes:
    - cairo_gstate_t*
    - cairo_font_face_t**
    constantsTouched: []
    func_position:
      end: 1782
      start: 1769
    functionDepth: 0
    functionLinenumber: 1769
    functionLinenumberEnd: 1782
    functionName: _cairo_gstate_get_font_face
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_ensure_font_face
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_gstate_get_font_face (cairo_gstate_t *gstate,\t\
      \t\t cairo_font_face_t **font_face) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_ensure_scaled_font
      Src: /src/cairo/src/cairo-gstate.c:1973,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-gstate.c:1974,1
    - Dst: cairo_scaled_font_status
      Src: /src/cairo/src/cairo-gstate.c:1981,1
    - Dst: cairo_scaled_font_glyph_extents
      Src: /src/cairo/src/cairo-gstate.c:1977,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - gstate
    - glyphs
    - num_glyphs
    - extents
    argTypes:
    - cairo_gstate_t*
    - cairo_glyph_t*
    - int
    - cairo_text_extents_t*
    constantsTouched: []
    func_position:
      end: 1982
      start: 1965
    functionDepth: 0
    functionLinenumber: 1965
    functionLinenumberEnd: 1982
    functionName: _cairo_gstate_glyph_extents
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - cairo_scaled_font_glyph_extents
    - _cairo_gstate_ensure_scaled_font
    - cairo_scaled_font_status
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_gstate_glyph_extents (cairo_gstate_t *gstate,\t\
      \t\t const cairo_glyph_t *glyphs,\t\t\t int num_glyphs,\t\t\t cairo_text_extents_t\
      \ *extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - gstate
    argTypes:
    - cairo_gstate_t*
    constantsTouched: []
    func_position:
      end: 509
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 509
    functionName: _cairo_gstate_get_hairline
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t _cairo_gstate_get_hairline (cairo_gstate_t *gstate) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - gstate
    argTypes:
    - cairo_gstate_t*
    constantsTouched: []
    func_position:
      end: 523
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 523
    functionName: _cairo_gstate_get_line_cap
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_line_cap_t
    signature: 'cairo_line_cap_t _cairo_gstate_get_line_cap (cairo_gstate_t *gstate) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - gstate
    - line_cap
    argTypes:
    - cairo_gstate_t*
    - cairo_line_cap_t
    constantsTouched: []
    func_position:
      end: 517
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 517
    functionName: _cairo_gstate_set_line_cap
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_gstate_set_line_cap (cairo_gstate_t *gstate,
      cairo_line_cap_t line_cap) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - gstate
    - line_join
    argTypes:
    - cairo_gstate_t*
    - cairo_line_join_t
    constantsTouched: []
    func_position:
      end: 531
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 531
    functionName: _cairo_gstate_set_line_join
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_gstate_set_line_join (cairo_gstate_t *gstate,
      cairo_line_join_t line_join) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 373
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 373
    functionName: _cairo_gstate_get_original_target
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'cairo_surface_t *_cairo_gstate_get_original_target (cairo_gstate_t
      *gstate) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_fixed_stroke_is_rectilinear
      Src: /src/cairo/src/cairo-gstate.c:1493,1
    - Dst: _cairo_boxes_init
      Src: /src/cairo/src/cairo-gstate.c:1496,1
    - Dst: _cairo_boxes_fini
      Src: /src/cairo/src/cairo-gstate.c:1505,1
    - Dst: _cairo_path_fixed_stroke_rectilinear_to_boxes
      Src: /src/cairo/src/cairo-gstate.c:1497,1
    - Dst: _cairo_boxes_extents
      Src: /src/cairo/src/cairo-gstate.c:1504,1
    - Dst: _cairo_polygon_init
      Src: /src/cairo/src/cairo-gstate.c:1511,1
    - Dst: _cairo_path_fixed_stroke_to_polygon
      Src: /src/cairo/src/cairo-gstate.c:1512,1
    - Dst: _cairo_polygon_fini
      Src: /src/cairo/src/cairo-gstate.c:1521,1
    - Dst: _cairo_gstate_extents_to_user_rectangle
      Src: /src/cairo/src/cairo-gstate.c:1524,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 30
    argCount: 6
    argNames:
    - gstate
    - path
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - cairo_gstate_t*
    - cairo_path_fixed_t*
    - double*
    - double*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 1529
      start: 1470
    functionDepth: 0
    functionLinenumber: 1470
    functionLinenumberEnd: 1529
    functionName: _cairo_gstate_stroke_extents
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_stroke_to_polygon
    - _cairo_gstate_extents_to_user_rectangle
    - _cairo_path_fixed_stroke_rectilinear_to_boxes
    - _cairo_boxes_init
    - _cairo_polygon_fini
    - _cairo_polygon_init
    - _cairo_boxes_extents
    - _cairo_path_fixed_stroke_is_rectilinear
    - _cairo_boxes_fini
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_gstate_stroke_extents (cairo_gstate_t\t *gstate,\t\
      \t\t cairo_path_fixed_t *path, double *x1, double *y1,\t\t\t double *x2, double\
      \ *y2) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_fixed_fill_is_empty
      Src: /src/cairo/src/cairo-gstate.c:1550,1
    - Dst: _cairo_path_fixed_fill_rectilinear_to_boxes
      Src: /src/cairo/src/cairo-gstate.c:1557,1
    - Dst: _cairo_boxes_init
      Src: /src/cairo/src/cairo-gstate.c:1556,1
    - Dst: _cairo_boxes_extents
      Src: /src/cairo/src/cairo-gstate.c:1563,1
    - Dst: _cairo_path_fixed_fill_is_rectilinear
      Src: /src/cairo/src/cairo-gstate.c:1553,1
    - Dst: _cairo_boxes_fini
      Src: /src/cairo/src/cairo-gstate.c:1565,1
    - Dst: _cairo_traps_init
      Src: /src/cairo/src/cairo-gstate.c:1569,1
    - Dst: _cairo_path_fixed_fill_to_traps
      Src: /src/cairo/src/cairo-gstate.c:1571,1
    - Dst: _cairo_traps_extents
      Src: /src/cairo/src/cairo-gstate.c:1577,1
    - Dst: _cairo_traps_fini
      Src: /src/cairo/src/cairo-gstate.c:1579,1
    - Dst: _cairo_gstate_extents_to_user_rectangle
      Src: /src/cairo/src/cairo-gstate.c:1583,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 6
    argNames:
    - gstate
    - path
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - cairo_gstate_t*
    - cairo_path_fixed_t*
    - double*
    - double*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 1588
      start: 1531
    functionDepth: 0
    functionLinenumber: 1531
    functionLinenumberEnd: 1588
    functionName: _cairo_gstate_fill_extents
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_fill_is_rectilinear
    - _cairo_traps_init
    - _cairo_gstate_extents_to_user_rectangle
    - _cairo_path_fixed_fill_rectilinear_to_boxes
    - _cairo_traps_fini
    - _cairo_boxes_init
    - _cairo_path_fixed_fill_is_empty
    - _cairo_boxes_extents
    - _cairo_traps_extents
    - _cairo_path_fixed_fill_to_traps
    - _cairo_boxes_fini
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_gstate_fill_extents (cairo_gstate_t *gstate,\t\
      \t\t cairo_path_fixed_t *path, double *x1, double *y1,\t\t\t double *x2, double\
      \ *y2) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 356
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 356
    functionName: _cairo_gstate_get_target
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'cairo_surface_t *_cairo_gstate_get_target (cairo_gstate_t *gstate) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pattern_create_solid
      Src: /src/cairo/src/cairo-gstate.c:409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 413
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 413
    functionName: _cairo_gstate_get_source
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_create_solid
    linkageType: ''
    returnType: cairo_pattern_t*
    signature: 'cairo_pattern_t *_cairo_gstate_get_source (cairo_gstate_t *gstate) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - gstate
    argTypes:
    - cairo_gstate_t*
    constantsTouched: []
    func_position:
      end: 441
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 441
    functionName: _cairo_gstate_get_opacity
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: 'double _cairo_gstate_get_opacity (cairo_gstate_t *gstate) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - gstate
    argTypes:
    - cairo_gstate_t*
    constantsTouched: []
    func_position:
      end: 486
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 486
    functionName: _cairo_gstate_get_line_width
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: 'double _cairo_gstate_get_line_width (cairo_gstate_t *gstate) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_get_extents
      Src: /src/cairo/src/cairo-gstate.c:1618,1
    - Dst: _cairo_clip_get_extents
      Src: /src/cairo/src/cairo-gstate.c:1622,1
    - Dst: _cairo_rectangle_intersect
      Src: /src/cairo/src/cairo-gstate.c:1621,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - gstate
    - extents
    argTypes:
    - cairo_gstate_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 1627
      start: 1612
    functionDepth: 0
    functionLinenumber: 1612
    functionLinenumberEnd: 1627
    functionName: _cairo_gstate_int_clip_extents
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - _cairo_rectangle_intersect
    - _cairo_clip_get_extents
    - _cairo_surface_get_extents
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _cairo_gstate_int_clip_extents (cairo_gstate_t\
      \ *gstate,\t\t\t\tcairo_rectangle_int_t *extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - gstate
    - op
    argTypes:
    - cairo_gstate_t*
    - cairo_operator_t
    constantsTouched: []
    func_position:
      end: 421
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 421
    functionName: _cairo_gstate_set_operator
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_gstate_set_operator (cairo_gstate_t *gstate,
      cairo_operator_t op) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - gstate
    - tolerance
    argTypes:
    - cairo_gstate_t*
    - double
    constantsTouched: []
    func_position:
      end: 449
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 449
    functionName: _cairo_gstate_set_tolerance
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_gstate_set_tolerance (cairo_gstate_t *gstate,
      double tolerance) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - gstate
    - set_hairline
    argTypes:
    - cairo_gstate_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 503
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 503
    functionName: _cairo_gstate_set_hairline
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_gstate_set_hairline (cairo_gstate_t *gstate,
      cairo_bool_t set_hairline) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_int_clip_extents
      Src: /src/cairo/src/cairo-gstate.c:1639,1
    - Dst: _cairo_gstate_backend_to_user_rectangle
      Src: /src/cairo/src/cairo-gstate.c:1647,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 5
    argNames:
    - gstate
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - cairo_gstate_t*
    - double*
    - double*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 1661
      start: 1629
    functionDepth: 0
    functionLinenumber: 1629
    functionLinenumberEnd: 1661
    functionName: _cairo_gstate_clip_extents
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_backend_to_user_rectangle
    - _cairo_gstate_int_clip_extents
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t _cairo_gstate_clip_extents (cairo_gstate_t *gstate,\t\
      \t double *x1,\t\t double *y1,\t\t\t double *x2,\t\t\t double *y2) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_toy_font_face_create
      Src: /src/cairo/src/cairo-gstate.c:1885,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - gstate
    argTypes:
    - cairo_gstate_t*
    constantsTouched: []
    func_position:
      end: 1894
      start: 1876
    functionDepth: 0
    functionLinenumber: 1876
    functionLinenumberEnd: 1894
    functionName: _cairo_gstate_ensure_font_face
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - cairo_toy_font_face_create
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_gstate_ensure_font_face (cairo_gstate_t
      *gstate) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cairo/src/cairo-gstate.c:623,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - gstate
    - dashes
    - num_dashes
    - offset
    argTypes:
    - cairo_gstate_t*
    - double*
    - int*
    - double*
    constantsTouched: []
    func_position:
      end: 633
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 633
    functionName: _cairo_gstate_get_dash
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void _cairo_gstate_get_dash (cairo_gstate_t *gstate,\t\t\tdouble *dashes,\t\
      \t\tint *num_dashes,\t\t\tdouble *offset) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - gstate
    argTypes:
    - cairo_gstate_t*
    constantsTouched: []
    func_position:
      end: 647
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 647
    functionName: _cairo_gstate_get_miter_limit
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: 'double _cairo_gstate_get_miter_limit (cairo_gstate_t *gstate) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/cairo-gstate.c:833,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/cairo-gstate.c:834,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - gstate
    - x
    - y
    argTypes:
    - cairo_gstate_t*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 835
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 835
    functionName: _do_cairo_gstate_user_to_backend
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - cairo_matrix_transform_point
    linkageType: ''
    returnType: void
    signature: 'void _do_cairo_gstate_user_to_backend (cairo_gstate_t *gstate, double
      *x, double *y) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_ensure_scaled_font
      Src: /src/cairo/src/cairo-gstate.c:1790,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-gstate.c:1791,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - gstate
    - scaled_font
    argTypes:
    - cairo_gstate_t*
    - cairo_scaled_font_t**
    constantsTouched: []
    func_position:
      end: 1797
      start: 1784
    functionDepth: 0
    functionLinenumber: 1784
    functionLinenumberEnd: 1797
    functionName: _cairo_gstate_get_scaled_font
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_ensure_scaled_font
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_gstate_get_scaled_font (cairo_gstate_t *gstate,\t\
      \t\t cairo_scaled_font_t **scaled_font) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - gstate
    - limit
    argTypes:
    - cairo_gstate_t*
    - double
    constantsTouched: []
    func_position:
      end: 641
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 641
    functionName: _cairo_gstate_set_miter_limit
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_gstate_set_miter_limit (cairo_gstate_t *gstate,
      double limit) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - gstate
    - matrix
    argTypes:
    - cairo_gstate_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 653
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 653
    functionName: _cairo_gstate_get_matrix
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void _cairo_gstate_get_matrix (cairo_gstate_t *gstate, cairo_matrix_t
      *matrix) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_transform_distance
      Src: /src/cairo/src/cairo-gstate.c:840,1
    - Dst: cairo_matrix_transform_distance
      Src: /src/cairo/src/cairo-gstate.c:841,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - gstate
    - x
    - y
    argTypes:
    - cairo_gstate_t*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 842
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 842
    functionName: _do_cairo_gstate_user_to_backend_distance
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - cairo_matrix_transform_distance
    linkageType: ''
    returnType: void
    signature: 'void _do_cairo_gstate_user_to_backend_distance (cairo_gstate_t *gstate,
      double *x, double *y) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_get_pattern_status
      Src: /src/cairo/src/cairo-gstate.c:1304,1
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-gstate.c:1311,1
    - Dst: assert
      Src: /src/cairo/src/cairo-gstate.c:1314,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-gstate.c:1305,1
    - Dst: _cairo_path_fixed_fill_is_empty
      Src: /src/cairo/src/cairo-gstate.c:1316,1
    - Dst: _cairo_operator_bounded_by_mask
      Src: /src/cairo/src/cairo-gstate.c:1317,1
    - Dst: _cairo_surface_paint
      Src: /src/cairo/src/cairo-gstate.c:1320,1
    - Dst: _reduce_op
      Src: /src/cairo/src/cairo-gstate.c:1331,1
    - Dst: _cairo_gstate_copy_transformed_source
      Src: /src/cairo/src/cairo-gstate.c:1335,1
    - Dst: _cairo_surface_get_extents
      Src: /src/cairo/src/cairo-gstate.c:1340,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-gstate.c:1344,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-gstate.c:1345,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-gstate.c:1342,1
    - Dst: _cairo_surface_fill
      Src: /src/cairo/src/cairo-gstate.c:1352,1
    - Dst: _cairo_path_fixed_is_box
      Src: /src/cairo/src/cairo-gstate.c:1341,1
    - Dst: _cairo_surface_paint
      Src: /src/cairo/src/cairo-gstate.c:1347,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-gstate.c:1343,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 2
    argNames:
    - gstate
    - path
    argTypes:
    - cairo_gstate_t*
    - cairo_path_fixed_t*
    constantsTouched: []
    func_position:
      end: 1362
      start: 1299
    functionDepth: 0
    functionLinenumber: 1299
    functionLinenumberEnd: 1362
    functionName: _cairo_gstate_fill
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_is_box
    - _cairo_fixed_from_int
    - _cairo_path_fixed_fill_is_empty
    - _cairo_clip_is_all_clipped
    - assert
    - _cairo_gstate_get_pattern_status
    - _cairo_operator_bounded_by_mask
    - _cairo_gstate_copy_transformed_source
    - _cairo_surface_get_extents
    - _reduce_op
    - _cairo_surface_fill
    - _cairo_surface_paint
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_gstate_fill (cairo_gstate_t *gstate, cairo_path_fixed_t
      *path) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_ensure_font_face
      Src: /src/cairo/src/cairo-gstate.c:1907,1
    - Dst: cairo_surface_get_font_options
      Src: /src/cairo/src/cairo-gstate.c:1911,1
    - Dst: cairo_font_options_merge
      Src: /src/cairo/src/cairo-gstate.c:1912,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-gstate.c:1908,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-gstate.c:1914,1
    - Dst: cairo_scaled_font_create
      Src: /src/cairo/src/cairo-gstate.c:1918,1
    - Dst: _cairo_font_options_fini
      Src: /src/cairo/src/cairo-gstate.c:1923,1
    - Dst: cairo_scaled_font_status
      Src: /src/cairo/src/cairo-gstate.c:1925,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-gstate.c:1926,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - gstate
    argTypes:
    - cairo_gstate_t*
    constantsTouched: []
    func_position:
      end: 1932
      start: 1896
    functionDepth: 0
    functionLinenumber: 1896
    functionLinenumberEnd: 1932
    functionName: _cairo_gstate_ensure_scaled_font
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - cairo_surface_get_font_options
    - _cairo_font_options_fini
    - cairo_scaled_font_create
    - cairo_scaled_font_status
    - _cairo_gstate_ensure_font_face
    - cairo_font_options_merge
    - cairo_matrix_multiply
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_gstate_ensure_scaled_font (cairo_gstate_t
      *gstate) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - gstate
    - antialias
    argTypes:
    - cairo_gstate_t*
    - cairo_antialias_t
    constantsTouched: []
    func_position:
      end: 2168
      start: 2161
    functionDepth: 0
    functionLinenumber: 2161
    functionLinenumberEnd: 2168
    functionName: _cairo_gstate_set_antialias
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_gstate_set_antialias (cairo_gstate_t *gstate,\t\
      \t\t cairo_antialias_t antialias) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_user_to_backend
      Src: /src/cairo/src/cairo-gstate.c:1370,1
    - Dst: _cairo_path_fixed_in_fill
      Src: /src/cairo/src/cairo-gstate.c:1372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 4
    argNames:
    - gstate
    - path
    - x
    - y
    argTypes:
    - cairo_gstate_t*
    - cairo_path_fixed_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 1376
      start: 1364
    functionDepth: 0
    functionLinenumber: 1364
    functionLinenumberEnd: 1376
    functionName: _cairo_gstate_in_fill
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_user_to_backend
    - _cairo_path_fixed_in_fill
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t _cairo_gstate_in_fill (cairo_gstate_t\t *gstate,\t\t\
      \ cairo_path_fixed_t *path,\t\t double\t\t x,\t\t double\t\t y) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_ensure_scaled_font
      Src: /src/cairo/src/cairo-gstate.c:1938,1
    - Dst: cairo_scaled_font_status
      Src: /src/cairo/src/cairo-gstate.c:1944,1
    - Dst: cairo_scaled_font_extents
      Src: /src/cairo/src/cairo-gstate.c:1942,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-gstate.c:1939,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - gstate
    - extents
    argTypes:
    - cairo_gstate_t*
    - cairo_font_extents_t*
    constantsTouched: []
    func_position:
      end: 1945
      start: 1934
    functionDepth: 0
    functionLinenumber: 1934
    functionLinenumberEnd: 1945
    functionName: _cairo_gstate_get_font_extents
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - cairo_scaled_font_extents
    - cairo_scaled_font_status
    - _cairo_gstate_ensure_scaled_font
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_gstate_get_font_extents (cairo_gstate_t *gstate,\t\
      \t\t\tcairo_font_extents_t *extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - gstate
    argTypes:
    - cairo_gstate_t*
    constantsTouched: []
    func_position:
      end: 2174
      start: 2170
    functionDepth: 0
    functionLinenumber: 2170
    functionLinenumberEnd: 2174
    functionName: _cairo_gstate_get_antialias
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_antialias_t
    signature: 'cairo_antialias_t _cairo_gstate_get_antialias (cairo_gstate_t *gstate) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/cairo-gstate.c:807,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - gstate
    - x
    - y
    argTypes:
    - cairo_gstate_t*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 808
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 808
    functionName: _cairo_gstate_user_to_device
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - cairo_matrix_transform_point
    linkageType: ''
    returnType: void
    signature: 'void _cairo_gstate_user_to_device (cairo_gstate_t *gstate, double
      *x, double *y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_tag
      Src: /src/cairo/src/cairo-gstate.c:1697,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - gstate
    - tag_name
    argTypes:
    - cairo_gstate_t*
    - char*
    constantsTouched: []
    func_position:
      end: 1701
      start: 1693
    functionDepth: 0
    functionLinenumber: 1693
    functionLinenumberEnd: 1701
    functionName: _cairo_gstate_tag_end
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - _cairo_surface_tag
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_gstate_tag_end (cairo_gstate_t *gstate,\t\t\
      \ const char *tag_name) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - gstate
    - matrix
    argTypes:
    - cairo_gstate_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 1746
      start: 1741
    functionDepth: 0
    functionLinenumber: 1741
    functionLinenumberEnd: 1746
    functionName: _cairo_gstate_get_font_matrix
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _cairo_gstate_get_font_matrix (cairo_gstate_t *gstate,\t\t\t\
      \ cairo_matrix_t *matrix) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_transform_distance
      Src: /src/cairo/src/cairo-gstate.c:814,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - gstate
    - dx
    - dy
    argTypes:
    - cairo_gstate_t*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 815
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 815
    functionName: _cairo_gstate_user_to_device_distance
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - cairo_matrix_transform_distance
    linkageType: ''
    returnType: void
    signature: "void _cairo_gstate_user_to_device_distance (cairo_gstate_t *gstate,\t\
      \t\t\t double *dx, double *dy) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_scaled_font_destroy
      Src: /src/cairo/src/cairo-gstate.c:1710,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - gstate
    argTypes:
    - cairo_gstate_t*
    constantsTouched: []
    func_position:
      end: 1714
      start: 1703
    functionDepth: 0
    functionLinenumber: 1703
    functionLinenumberEnd: 1714
    functionName: _cairo_gstate_unset_scaled_font
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - cairo_scaled_font_destroy
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_gstate_unset_scaled_font (cairo_gstate_t *gstate) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_font_options_compare
      Src: /src/cairo/src/cairo-gstate.c:1752,1
    - Dst: _cairo_font_options_fini
      Src: /src/cairo/src/cairo-gstate.c:1757,1
    - Dst: _cairo_font_options_init_copy
      Src: /src/cairo/src/cairo-gstate.c:1758,1
    - Dst: _cairo_gstate_unset_scaled_font
      Src: /src/cairo/src/cairo-gstate.c:1755,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - gstate
    - options
    argTypes:
    - cairo_gstate_t*
    - cairo_font_options_t*
    constantsTouched: []
    func_position:
      end: 1759
      start: 1748
    functionDepth: 0
    functionLinenumber: 1748
    functionLinenumberEnd: 1759
    functionName: _cairo_gstate_set_font_options
    functionSourceFile: /src/cairo/src/cairo-gstate.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_unset_scaled_font
    - _cairo_font_options_fini
    - _cairo_font_options_compare
    - _cairo_font_options_init_copy
    linkageType: ''
    returnType: void
    signature: "void _cairo_gstate_set_font_options (cairo_gstate_t *gstate,\t\t\t\
      \tconst cairo_font_options_t *options) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_freepool_free
      Src: /src/cairo/src/cairo-polygon-reduce.c:930,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - queue
    - event
    argTypes:
    - cairo_bo_event_queue_t*
    - cairo_bo_event_t*
    constantsTouched: []
    func_position:
      end: 931
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 931
    functionName: _cairo_bo_event_queue_delete
    functionSourceFile: /src/cairo/src/cairo-polygon-reduce.c
    functionUses: []
    functionsReached:
    - _cairo_freepool_free
    linkageType: ''
    returnType: void
    signature: "static void _cairo_bo_event_queue_delete (cairo_bo_event_queue_t *queue,\t\
      \t\t cairo_bo_event_t\t *event) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _line_compute_intersection_x_for_y
      Src: /src/cairo/src/cairo-polygon-reduce.c:981,1
    - Dst: _cairo_bo_event_queue_insert
      Src: /src/cairo/src/cairo-polygon-reduce.c:983,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - event_queue
    - edge
    argTypes:
    - cairo_bo_event_queue_t*
    - cairo_bo_edge_t*
    constantsTouched: []
    func_position:
      end: 987
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 987
    functionName: _cairo_bo_event_queue_insert_stop
    functionSourceFile: /src/cairo/src/cairo-polygon-reduce.c
    functionUses: []
    functionsReached:
    - _line_compute_intersection_x_for_y
    - _cairo_bo_event_queue_insert
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_bo_event_queue_insert_stop (cairo_bo_event_queue_t\t\
      *event_queue,\t\t\t\t cairo_bo_edge_t\t\t*edge) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _line_equal
      Src: /src/cairo/src/cairo-polygon-reduce.c:1003,1
    - Dst: _slope_compare
      Src: /src/cairo/src/cairo-polygon-reduce.c:1011,1
    - Dst: _cairo_bo_event_queue_insert
      Src: /src/cairo/src/cairo-polygon-reduce.c:1017,1
    - Dst: _cairo_bo_edge_intersect
      Src: /src/cairo/src/cairo-polygon-reduce.c:1014,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - event_queue
    - left
    - right
    argTypes:
    - cairo_bo_event_queue_t*
    - cairo_bo_edge_t*
    - cairo_bo_edge_t*
    constantsTouched: []
    func_position:
      end: 1021
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 1021
    functionName: _cairo_bo_event_queue_insert_if_intersect_below_current_y
    functionSourceFile: /src/cairo/src/cairo-polygon-reduce.c
    functionUses: []
    functionsReached:
    - _line_equal
    - _slope_compare
    - _cairo_bo_edge_intersect
    - _cairo_bo_event_queue_insert
    linkageType: ''
    returnType: cairo_status_t
    signature: "static inline cairo_status_t _cairo_bo_event_queue_insert_if_intersect_below_current_y\
      \ (cairo_bo_event_queue_t\t*event_queue,\t\t\t\t\t\t\t cairo_bo_edge_t\t*left,\t\
      \t\t\t\t\t\t cairo_bo_edge_t *right) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_bo_event_compare
      Src: /src/cairo/src/cairo-polygon-reduce.c:941,1
    - Dst: _pqueue_pop
      Src: /src/cairo/src/cairo-polygon-reduce.c:948,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 952
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 952
    functionName: _cairo_bo_event_dequeue
    functionSourceFile: /src/cairo/src/cairo-polygon-reduce.c
    functionUses: []
    functionsReached:
    - cairo_bo_event_compare
    - _pqueue_pop
    linkageType: ''
    returnType: cairo_bo_event_t*
    signature: 'static cairo_bo_event_t *_cairo_bo_event_dequeue (cairo_bo_event_queue_t
      *event_queue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _pqueue_fini
      Src: /src/cairo/src/cairo-polygon-reduce.c:992,1
    - Dst: _cairo_freepool_fini
      Src: /src/cairo/src/cairo-polygon-reduce.c:993,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - event_queue
    argTypes:
    - cairo_bo_event_queue_t*
    constantsTouched: []
    func_position:
      end: 994
      start: 989
    functionDepth: 0
    functionLinenumber: 989
    functionLinenumberEnd: 994
    functionName: _cairo_bo_event_queue_fini
    functionSourceFile: /src/cairo/src/cairo-polygon-reduce.c
    functionUses: []
    functionsReached:
    - _cairo_freepool_fini
    - _pqueue_fini
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_bo_event_queue_fini (cairo_bo_event_queue_t *event_queue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - sweep_line
    argTypes:
    - cairo_bo_sweep_line_t*
    constantsTouched: []
    func_position:
      end: 1029
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1029
    functionName: _cairo_bo_sweep_line_init
    functionSourceFile: /src/cairo/src/cairo-polygon-reduce.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_bo_sweep_line_init (cairo_bo_sweep_line_t *sweep_line) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: edges_compare_x_for_y_general
      Src: /src/cairo/src/cairo-polygon-reduce.c:466,1
    - Dst: edge_compare_for_y_against_x
      Src: /src/cairo/src/cairo-polygon-reduce.c:470,1
    - Dst: edge_compare_for_y_against_x
      Src: /src/cairo/src/cairo-polygon-reduce.c:468,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 3
    argNames:
    - a
    - b
    - y
    argTypes:
    - cairo_bo_edge_t*
    - cairo_bo_edge_t*
    - int32_t
    constantsTouched: []
    func_position:
      end: 474
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 474
    functionName: edges_compare_x_for_y
    functionSourceFile: /src/cairo/src/cairo-polygon-reduce.c
    functionUses: []
    functionsReached:
    - edge_compare_for_y_against_x
    - edges_compare_x_for_y_general
    linkageType: ''
    returnType: int
    signature: "static int edges_compare_x_for_y (const cairo_bo_edge_t *a,\t\t const\
      \ cairo_bo_edge_t *b,\t\t int32_t y) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _line_equal
      Src: /src/cairo/src/cairo-polygon-reduce.c:491,1
    - Dst: edges_compare_x_for_y
      Src: /src/cairo/src/cairo-polygon-reduce.c:492,1
    - Dst: _slope_compare
      Src: /src/cairo/src/cairo-polygon-reduce.c:501,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - sweep_line
    - a
    - b
    argTypes:
    - cairo_bo_sweep_line_t*
    - cairo_bo_edge_t*
    - cairo_bo_edge_t*
    constantsTouched: []
    func_position:
      end: 508
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 508
    functionName: _cairo_bo_sweep_line_compare_edges
    functionSourceFile: /src/cairo/src/cairo-polygon-reduce.c
    functionUses: []
    functionsReached:
    - _line_equal
    - _slope_compare
    - edges_compare_x_for_y
    linkageType: ''
    returnType: int
    signature: "static int _cairo_bo_sweep_line_compare_edges (cairo_bo_sweep_line_t\t\
      *sweep_line,\t\t\t\t const cairo_bo_edge_t\t*a,\t\t\t\t const cairo_bo_edge_t\t\
      *b) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-polygon-reduce.c:824,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-polygon-reduce.c:826,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-polygon-reduce.c:829,1
    - Dst: _cairo_realloc_ab
      Src: /src/cairo/src/cairo-polygon-reduce.c:832,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-polygon-reduce.c:827,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-polygon-reduce.c:835,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-polygon-reduce.c:836,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - pq
    argTypes:
    - pqueue_t*
    constantsTouched: []
    func_position:
      end: 841
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 841
    functionName: _pqueue_grow
    functionSourceFile: /src/cairo/src/cairo-polygon-reduce.c
    functionUses: []
    functionsReached:
    - memcpy
    - _cairo_error
    - _cairo_realloc_ab
    - _cairo_malloc_ab
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _pqueue_grow (pqueue_t *pq) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: edges_colinear
      Src: /src/cairo/src/cairo-polygon-reduce.c:1224,1
    - Dst: _cairo_bo_edge_end
      Src: /src/cairo/src/cairo-polygon-reduce.c:1234,1
    - Dst: edges_colinear
      Src: /src/cairo/src/cairo-polygon-reduce.c:1239,1
    - Dst: _cairo_bo_edge_start_or_continue
      Src: /src/cairo/src/cairo-polygon-reduce.c:1246,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 4
    argNames:
    - left
    - top
    - fill_rule
    - polygon
    argTypes:
    - cairo_bo_edge_t*
    - int32_t
    - cairo_fill_rule_t
    - cairo_polygon_t*
    constantsTouched: []
    func_position:
      end: 1252
      start: 1202
    functionDepth: 0
    functionLinenumber: 1202
    functionLinenumberEnd: 1252
    functionName: _active_edges_to_polygon
    functionSourceFile: /src/cairo/src/cairo-polygon-reduce.c
    functionUses: []
    functionsReached:
    - _cairo_bo_edge_end
    - _cairo_bo_edge_start_or_continue
    - edges_colinear
    linkageType: ''
    returnType: void
    signature: "static inline void _active_edges_to_polygon (cairo_bo_edge_t\t\t*left,\t\
      \t\t int32_t\t\t\t top,\t\t\t cairo_fill_rule_t\t\t fill_rule,\t\t\t cairo_polygon_t\t\
      \ *polygon) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_line_t*
    - cairo_line_t*
    constantsTouched: []
    func_position:
      end: 481
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 481
    functionName: _line_equal
    functionSourceFile: /src/cairo/src/cairo-polygon-reduce.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int _line_equal (const cairo_line_t *a, const cairo_line_t
      *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_int64_sub
      Src: /src/cairo/src/cairo-polygon-reduce.c:515,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-polygon-reduce.c:516,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-polygon-reduce.c:515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - a
    - b
    - c
    - d
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 517
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 517
    functionName: det32_64
    functionSourceFile: /src/cairo/src/cairo-polygon-reduce.c
    functionUses: []
    functionsReached:
    - _cairo_int64_sub
    - _cairo_int32x32_64_mul
    linkageType: ''
    returnType: cairo_int64_t
    signature: "static inline cairo_int64_t det32_64 (int32_t a, int32_t b,\t int32_t\
      \ c, int32_t d) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-polygon-reduce.c:849,1
    - Dst: PQ_PARENT_INDEX
      Src: /src/cairo/src/cairo-polygon-reduce.c:862,1
    - Dst: _pqueue_grow
      Src: /src/cairo/src/cairo-polygon-reduce.c:852,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-polygon-reduce.c:853,1
    - Dst: cairo_bo_event_compare
      Src: /src/cairo/src/cairo-polygon-reduce.c:861,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - pq
    - event
    argTypes:
    - pqueue_t*
    - cairo_bo_event_t*
    constantsTouched: []
    func_position:
      end: 871
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 871
    functionName: _pqueue_push
    functionSourceFile: /src/cairo/src/cairo-polygon-reduce.c
    functionUses: []
    functionsReached:
    - _pqueue_grow
    - PQ_PARENT_INDEX
    - cairo_bo_event_compare
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static inline cairo_status_t _pqueue_push (pqueue_t *pq, cairo_bo_event_t
      *event) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_bo_event_queue_sort
      Src: /src/cairo/src/cairo-polygon-reduce.c:963,1
    - Dst: _pqueue_init
      Src: /src/cairo/src/cairo-polygon-reduce.c:970,1
    - Dst: _cairo_freepool_init
      Src: /src/cairo/src/cairo-polygon-reduce.c:968,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - event_queue
    - start_events
    - num_events
    argTypes:
    - cairo_bo_event_queue_t*
    - cairo_bo_event_t**
    - int
    constantsTouched: []
    func_position:
      end: 972
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 972
    functionName: _cairo_bo_event_queue_init
    functionSourceFile: /src/cairo/src/cairo-polygon-reduce.c
    functionUses: []
    functionsReached:
    - _cairo_bo_event_queue_sort
    - _pqueue_init
    - _cairo_freepool_init
    linkageType: ''
    returnType: void
    signature: "static void _cairo_bo_event_queue_init (cairo_bo_event_queue_t\t *event_queue,\t\
      \t\t cairo_bo_event_t\t\t**start_events,\t\t\t int\t\t\t\t num_events) "
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-polygon-reduce.c:1297,1
    - Dst: _cairo_bo_event_queue_delete
      Src: /src/cairo/src/cairo-polygon-reduce.c:1311,1
    - Dst: _cairo_bo_sweep_line_delete
      Src: /src/cairo/src/cairo-polygon-reduce.c:1316,1
    - Dst: _cairo_bo_event_queue_delete
      Src: /src/cairo/src/cairo-polygon-reduce.c:1332,1
    - Dst: _cairo_bo_event_queue_insert_if_intersect_below_current_y
      Src: /src/cairo/src/cairo-polygon-reduce.c:1302,1
    - Dst: _cairo_bo_event_queue_init
      Src: /src/cairo/src/cairo-polygon-reduce.c:1268,1
    - Dst: _cairo_bo_event_dequeue
      Src: /src/cairo/src/cairo-polygon-reduce.c:1271,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-polygon-reduce.c:1285,1
    - Dst: _cairo_bo_event_queue_insert_if_intersect_below_current_y
      Src: /src/cairo/src/cairo-polygon-reduce.c:1296,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-polygon-reduce.c:1323,1
    - Dst: _cairo_bo_sweep_line_swap
      Src: /src/cairo/src/cairo-polygon-reduce.c:1341,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-polygon-reduce.c:1347,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-polygon-reduce.c:1353,1
    - Dst: _cairo_bo_event_queue_fini
      Src: /src/cairo/src/cairo-polygon-reduce.c:1362,1
    - Dst: _cairo_bo_sweep_line_insert
      Src: /src/cairo/src/cairo-polygon-reduce.c:1284,1
    - Dst: _cairo_bo_sweep_line_init
      Src: /src/cairo/src/cairo-polygon-reduce.c:1269,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-polygon-reduce.c:1289,1
    - Dst: _cairo_bo_event_queue_insert_if_intersect_below_current_y
      Src: /src/cairo/src/cairo-polygon-reduce.c:1322,1
    - Dst: _cairo_bo_event_queue_insert_if_intersect_below_current_y
      Src: /src/cairo/src/cairo-polygon-reduce.c:1346,1
    - Dst: _cairo_bo_event_queue_insert_if_intersect_below_current_y
      Src: /src/cairo/src/cairo-polygon-reduce.c:1352,1
    - Dst: _active_edges_to_polygon
      Src: /src/cairo/src/cairo-polygon-reduce.c:1273,1
    - Dst: _cairo_bo_event_queue_insert_stop
      Src: /src/cairo/src/cairo-polygon-reduce.c:1288,1
    - Dst: _cairo_bo_edge_end
      Src: /src/cairo/src/cairo-polygon-reduce.c:1319,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-polygon-reduce.c:1303,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 62
    argCount: 4
    argNames:
    - start_events
    - num_events
    - fill_rule
    - polygon
    argTypes:
    - cairo_bo_event_t**
    - int
    - cairo_fill_rule_t
    - cairo_polygon_t*
    constantsTouched: []
    func_position:
      end: 1365
      start: 1255
    functionDepth: 0
    functionLinenumber: 1255
    functionLinenumberEnd: 1365
    functionName: _cairo_bentley_ottmann_tessellate_bo_edges
    functionSourceFile: /src/cairo/src/cairo-polygon-reduce.c
    functionUses: []
    functionsReached:
    - _cairo_bo_event_queue_fini
    - _cairo_bo_sweep_line_delete
    - _active_edges_to_polygon
    - unlikely
    - _cairo_bo_sweep_line_init
    - _cairo_bo_event_queue_delete
    - _cairo_bo_sweep_line_insert
    - _cairo_bo_event_queue_insert_stop
    - _cairo_bo_event_dequeue
    - _cairo_bo_sweep_line_swap
    - _cairo_bo_event_queue_insert_if_intersect_below_current_y
    - _cairo_bo_edge_end
    - _cairo_bo_event_queue_init
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_bentley_ottmann_tessellate_bo_edges (cairo_bo_event_t\
      \ **start_events,\t\t\t\t\t int\t\t\t num_events,\t\t\t\t\t cairo_fill_rule_t\t\
      \ fill_rule,\t\t\t\t\t cairo_polygon_t\t*polygon) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-polygon-reduce.c:425,1
    - Dst: _cairo_int64_cmp
      Src: /src/cairo/src/cairo-polygon-reduce.c:428,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-polygon-reduce.c:426,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 3
    argNames:
    - a
    - y
    - x
    argTypes:
    - cairo_bo_edge_t*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 429
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 429
    functionName: edge_compare_for_y_against_x
    functionSourceFile: /src/cairo/src/cairo-polygon-reduce.c
    functionUses: []
    functionsReached:
    - _cairo_int64_cmp
    - _cairo_int32x32_64_mul
    linkageType: ''
    returnType: int
    signature: "static int edge_compare_for_y_against_x (const cairo_bo_edge_t *a,\t\
      \t\t int32_t y,\t\t\t int32_t x) "
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_int64_negative
      Src: /src/cairo/src/cairo-polygon-reduce.c:581,1
    - Dst: det32_64
      Src: /src/cairo/src/cairo-polygon-reduce.c:602,1
    - Dst: det64x32_128
      Src: /src/cairo/src/cairo-polygon-reduce.c:608,1
    - Dst: _cairo_int_96by64_32x64_divrem
      Src: /src/cairo/src/cairo-polygon-reduce.c:608,1
    - Dst: _cairo_int64_is_zero
      Src: /src/cairo/src/cairo-polygon-reduce.c:617,1
    - Dst: _cairo_int64_ge
      Src: /src/cairo/src/cairo-polygon-reduce.c:621,1
    - Dst: _cairo_int_96by64_32x64_divrem
      Src: /src/cairo/src/cairo-polygon-reduce.c:631,1
    - Dst: det64x32_128
      Src: /src/cairo/src/cairo-polygon-reduce.c:631,1
    - Dst: _cairo_int64_ge
      Src: /src/cairo/src/cairo-polygon-reduce.c:644,1
    - Dst: _cairo_int32_to_int64
      Src: /src/cairo/src/cairo-polygon-reduce.c:643,1
    - Dst: det32_64
      Src: /src/cairo/src/cairo-polygon-reduce.c:557,1
    - Dst: det32_64
      Src: /src/cairo/src/cairo-polygon-reduce.c:578,1
    - Dst: det32_64
      Src: /src/cairo/src/cairo-polygon-reduce.c:589,1
    - Dst: _cairo_int64_negative
      Src: /src/cairo/src/cairo-polygon-reduce.c:592,1
    - Dst: _cairo_int64_le
      Src: /src/cairo/src/cairo-polygon-reduce.c:596,1
    - Dst: _cairo_int64_mul
      Src: /src/cairo/src/cairo-polygon-reduce.c:620,1
    - Dst: _cairo_int64_is_zero
      Src: /src/cairo/src/cairo-polygon-reduce.c:637,1
    - Dst: _cairo_int64_mul
      Src: /src/cairo/src/cairo-polygon-reduce.c:643,1
    - Dst: _cairo_int64_le
      Src: /src/cairo/src/cairo-polygon-reduce.c:585,1
    - Dst: _cairo_int64_ge
      Src: /src/cairo/src/cairo-polygon-reduce.c:582,1
    - Dst: _cairo_int64_eq
      Src: /src/cairo/src/cairo-polygon-reduce.c:611,1
    - Dst: _cairo_int64_negative
      Src: /src/cairo/src/cairo-polygon-reduce.c:618,1
    - Dst: _cairo_int64_negate
      Src: /src/cairo/src/cairo-polygon-reduce.c:619,1
    - Dst: _cairo_int32_to_int64
      Src: /src/cairo/src/cairo-polygon-reduce.c:620,1
    - Dst: _cairo_int64_add
      Src: /src/cairo/src/cairo-polygon-reduce.c:622,1
    - Dst: _cairo_int64_negative
      Src: /src/cairo/src/cairo-polygon-reduce.c:623,1
    - Dst: _cairo_int64_eq
      Src: /src/cairo/src/cairo-polygon-reduce.c:634,1
    - Dst: _cairo_int64_is_zero
      Src: /src/cairo/src/cairo-polygon-reduce.c:640,1
    - Dst: _cairo_int64_negative
      Src: /src/cairo/src/cairo-polygon-reduce.c:641,1
    - Dst: _cairo_int64_negative
      Src: /src/cairo/src/cairo-polygon-reduce.c:646,1
    - Dst: _cairo_int64_ge
      Src: /src/cairo/src/cairo-polygon-reduce.c:593,1
    - Dst: _cairo_int64_negative
      Src: /src/cairo/src/cairo-polygon-reduce.c:618,1
    - Dst: det32_64
      Src: /src/cairo/src/cairo-polygon-reduce.c:604,1
    - Dst: _cairo_int64_is_zero
      Src: /src/cairo/src/cairo-polygon-reduce.c:614,1
    - Dst: _cairo_int32_to_int64
      Src: /src/cairo/src/cairo-polygon-reduce.c:623,1
    - Dst: _cairo_int64_to_int32
      Src: /src/cairo/src/cairo-polygon-reduce.c:628,1
    - Dst: _cairo_int64_negative
      Src: /src/cairo/src/cairo-polygon-reduce.c:641,1
    - Dst: _cairo_int32_to_int64
      Src: /src/cairo/src/cairo-polygon-reduce.c:646,1
    - Dst: _cairo_int64_to_int32
      Src: /src/cairo/src/cairo-polygon-reduce.c:651,1
    - Dst: _cairo_int64_negate
      Src: /src/cairo/src/cairo-polygon-reduce.c:642,1
    - Dst: _cairo_int64_add
      Src: /src/cairo/src/cairo-polygon-reduce.c:645,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 83
    argCount: 3
    argNames:
    - a
    - b
    - intersection
    argTypes:
    - cairo_bo_edge_t*
    - cairo_bo_edge_t*
    - cairo_bo_intersect_point_t*
    constantsTouched: []
    func_position:
      end: 654
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 654
    functionName: intersect_lines
    functionSourceFile: /src/cairo/src/cairo-polygon-reduce.c
    functionUses: []
    functionsReached:
    - _cairo_int64_negative
    - _cairo_int_96by64_32x64_divrem
    - det32_64
    - _cairo_int64_is_zero
    - det64x32_128
    - _cairo_int32_to_int64
    - _cairo_int64_negate
    - _cairo_int64_add
    - _cairo_int64_to_int32
    - _cairo_int64_mul
    - _cairo_int64_le
    - _cairo_int64_eq
    - _cairo_int64_ge
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t intersect_lines (cairo_bo_edge_t\t\t*a,\t\t cairo_bo_edge_t\t\
      \t*b,\t\t cairo_bo_intersect_point_t\t*intersection) "
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-polygon-reduce.c:340,1
    - Dst: _cairo_int64_cmp
      Src: /src/cairo/src/cairo-polygon-reduce.c:343,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-polygon-reduce.c:353,1
    - Dst: _cairo_int128_cmp
      Src: /src/cairo/src/cairo-polygon-reduce.c:345,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-polygon-reduce.c:341,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-polygon-reduce.c:354,1
    - Dst: _cairo_int64_cmp
      Src: /src/cairo/src/cairo-polygon-reduce.c:356,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-polygon-reduce.c:365,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-polygon-reduce.c:366,1
    - Dst: _cairo_int64_cmp
      Src: /src/cairo/src/cairo-polygon-reduce.c:368,1
    - Dst: _cairo_int128_cmp
      Src: /src/cairo/src/cairo-polygon-reduce.c:372,1
    - Dst: _cairo_int128_sub
      Src: /src/cairo/src/cairo-polygon-reduce.c:372,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 78
    argCount: 3
    argNames:
    - a
    - b
    - y
    argTypes:
    - cairo_bo_edge_t*
    - cairo_bo_edge_t*
    - int32_t
    constantsTouched: []
    func_position:
      end: 377
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 377
    functionName: edges_compare_x_for_y_general
    functionSourceFile: /src/cairo/src/cairo-polygon-reduce.c
    functionUses: []
    functionsReached:
    - _cairo_int128_cmp
    - _cairo_int64_cmp
    - _cairo_int32x32_64_mul
    - _cairo_int128_sub
    linkageType: ''
    returnType: int
    signature: "static int edges_compare_x_for_y_general (const cairo_bo_edge_t *a,\t\
      \t\t const cairo_bo_edge_t *b,\t\t\t int32_t y) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-polygon-reduce.c:221,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-polygon-reduce.c:222,1
    - Dst: _cairo_int64_cmp
      Src: /src/cairo/src/cairo-polygon-reduce.c:224,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_bo_edge_t*
    - cairo_bo_edge_t*
    constantsTouched: []
    func_position:
      end: 226
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 226
    functionName: _slope_compare
    functionSourceFile: /src/cairo/src/cairo-polygon-reduce.c
    functionUses: []
    functionsReached:
    - _cairo_int64_cmp
    - _cairo_int32x32_64_mul
    linkageType: ''
    returnType: int
    signature: "static inline int _slope_compare (const cairo_bo_edge_t *a,\t\tconst\
      \ cairo_bo_edge_t *b) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_int128_sub
      Src: /src/cairo/src/cairo-polygon-reduce.c:524,1
    - Dst: _cairo_int64x32_128_mul
      Src: /src/cairo/src/cairo-polygon-reduce.c:525,1
    - Dst: _cairo_int64x32_128_mul
      Src: /src/cairo/src/cairo-polygon-reduce.c:524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - a
    - b
    - c
    - d
    argTypes:
    - cairo_int64_t
    - int32_t
    - cairo_int64_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 526
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 526
    functionName: det64x32_128
    functionSourceFile: /src/cairo/src/cairo-polygon-reduce.c
    functionUses: []
    functionsReached:
    - _cairo_int64x32_128_mul
    - _cairo_int128_sub
    linkageType: ''
    returnType: cairo_int128_t
    signature: "static inline cairo_int128_t det64x32_128 (cairo_int64_t a, int32_t\
      \ b,\t cairo_int64_t c, int32_t d) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: intersect_lines
      Src: /src/cairo/src/cairo-polygon-reduce.c:764,1
    - Dst: _cairo_bo_edge_contains_intersect_point
      Src: /src/cairo/src/cairo-polygon-reduce.c:770,1
    - Dst: _cairo_bo_edge_contains_intersect_point
      Src: /src/cairo/src/cairo-polygon-reduce.c:767,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - a
    - b
    - intersection
    argTypes:
    - cairo_bo_edge_t*
    - cairo_bo_edge_t*
    - cairo_bo_point32_t*
    constantsTouched: []
    func_position:
      end: 782
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 782
    functionName: _cairo_bo_edge_intersect
    functionSourceFile: /src/cairo/src/cairo-polygon-reduce.c
    functionUses: []
    functionsReached:
    - _cairo_bo_edge_contains_intersect_point
    - intersect_lines
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _cairo_bo_edge_intersect (cairo_bo_edge_t\t*a,\t\
      \t\t cairo_bo_edge_t\t*b,\t\t\t cairo_bo_point32_t\t*intersection) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_bo_sweep_line_compare_edges
      Src: /src/cairo/src/cairo-polygon-reduce.c:1039,1
    - Dst: _cairo_bo_sweep_line_compare_edges
      Src: /src/cairo/src/cairo-polygon-reduce.c:1061,1
    - Dst: _cairo_bo_sweep_line_compare_edges
      Src: /src/cairo/src/cairo-polygon-reduce.c:1046,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 2
    argNames:
    - sweep_line
    - edge
    argTypes:
    - cairo_bo_sweep_line_t*
    - cairo_bo_edge_t*
    constantsTouched: []
    func_position:
      end: 1089
      start: 1031
    functionDepth: 0
    functionLinenumber: 1031
    functionLinenumberEnd: 1089
    functionName: _cairo_bo_sweep_line_insert
    functionSourceFile: /src/cairo/src/cairo-polygon-reduce.c
    functionUses: []
    functionsReached:
    - _cairo_bo_sweep_line_compare_edges
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_bo_sweep_line_insert (cairo_bo_sweep_line_t\t\
      *sweep_line,\t\t\t cairo_bo_edge_t\t\t*edge) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_mul_div_floor
      Src: /src/cairo/src/cairo-polygon-reduce.c:136,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - line
    - y
    argTypes:
    - cairo_line_t*
    - cairo_fixed_t
    constantsTouched: []
    func_position:
      end: 142
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 142
    functionName: _line_compute_intersection_x_for_y
    functionSourceFile: /src/cairo/src/cairo-polygon-reduce.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_mul_div_floor
    linkageType: ''
    returnType: cairo_fixed_t
    signature: "static cairo_fixed_t _line_compute_intersection_x_for_y (const cairo_line_t\
      \ *line,\t\t\t\t cairo_fixed_t y) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_bo_point32_compare
      Src: /src/cairo/src/cairo-polygon-reduce.c:790,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_bo_event_t*
    - cairo_bo_event_t*
    constantsTouched: []
    func_position:
      end: 799
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 799
    functionName: cairo_bo_event_compare
    functionSourceFile: /src/cairo/src/cairo-polygon-reduce.c
    functionUses: []
    functionsReached:
    - _cairo_bo_point32_compare
    linkageType: ''
    returnType: int
    signature: "static inline int cairo_bo_event_compare (const cairo_bo_event_t *a,\t\
      \t\tconst cairo_bo_event_t *b) "
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - sweep_line
    - edge
    argTypes:
    - cairo_bo_sweep_line_t*
    - cairo_bo_edge_t*
    constantsTouched: []
    func_position:
      end: 1105
      start: 1091
    functionDepth: 0
    functionLinenumber: 1091
    functionLinenumberEnd: 1105
    functionName: _cairo_bo_sweep_line_delete
    functionSourceFile: /src/cairo/src/cairo-polygon-reduce.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void _cairo_bo_sweep_line_delete (cairo_bo_sweep_line_t\t*sweep_line,\t\
      \t\t cairo_bo_edge_t\t*edge) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_STACK_ARRAY_LENGTH
      Src: /src/cairo/src/cairo-polygon-reduce.c:1372,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-polygon-reduce.c:1381,1
    - Dst: fopen
      Src: /src/cairo/src/cairo-polygon-reduce.c:1385,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-polygon-reduce.c:1374,1
    - Dst: _cairo_debug_print_polygon
      Src: /src/cairo/src/cairo-polygon-reduce.c:1386,1
    - Dst: fclose
      Src: /src/cairo/src/cairo-polygon-reduce.c:1387,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-polygon-reduce.c:1392,1
    - Dst: _cairo_malloc_ab_plus_c
      Src: /src/cairo/src/cairo-polygon-reduce.c:1393,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-polygon-reduce.c:1397,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-polygon-reduce.c:1398,1
    - Dst: _line_compute_intersection_x_for_y
      Src: /src/cairo/src/cairo-polygon-reduce.c:1409,1
    - Dst: fopen
      Src: /src/cairo/src/cairo-polygon-reduce.c:1431,1
    - Dst: _cairo_debug_print_polygon
      Src: /src/cairo/src/cairo-polygon-reduce.c:1432,1
    - Dst: free
      Src: /src/cairo/src/cairo-polygon-reduce.c:1428,1
    - Dst: _cairo_bentley_ottmann_tessellate_bo_edges
      Src: /src/cairo/src/cairo-polygon-reduce.c:1421,1
    - Dst: fclose
      Src: /src/cairo/src/cairo-polygon-reduce.c:1433,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 2
    argNames:
    - polygon
    - fill_rule
    argTypes:
    - cairo_polygon_t*
    - cairo_fill_rule_t
    constantsTouched: []
    func_position:
      end: 1437
      start: 1367
    functionDepth: 0
    functionLinenumber: 1367
    functionLinenumberEnd: 1437
    functionName: _cairo_polygon_reduce
    functionSourceFile: /src/cairo/src/cairo-polygon-reduce.c
    functionUses: []
    functionsReached:
    - CAIRO_STACK_ARRAY_LENGTH
    - fclose
    - _cairo_malloc_ab_plus_c
    - _cairo_error
    - free
    - ARRAY_LENGTH
    - _cairo_bentley_ottmann_tessellate_bo_edges
    - _line_compute_intersection_x_for_y
    - fopen
    - _cairo_debug_print_polygon
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_polygon_reduce (cairo_polygon_t *polygon,\t\t\
      \ cairo_fill_rule_t fill_rule) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_bo_point32_t*
    - cairo_bo_point32_t*
    constantsTouched: []
    func_position:
      end: 155
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 155
    functionName: _cairo_bo_point32_compare
    functionSourceFile: /src/cairo/src/cairo-polygon-reduce.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "static inline int _cairo_bo_point32_compare (cairo_bo_point32_t const\
      \ *a,\t\t\t cairo_bo_point32_t const *b) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_bo_intersect_ordinate_32_compare
      Src: /src/cairo/src/cairo-polygon-reduce.c:700,1
    - Dst: _cairo_bo_intersect_ordinate_32_compare
      Src: /src/cairo/src/cairo-polygon-reduce.c:702,1
    - Dst: _line_compute_intersection_x_for_y
      Src: /src/cairo/src/cairo-polygon-reduce.c:735,1
    - Dst: _line_compute_intersection_x_for_y
      Src: /src/cairo/src/cairo-polygon-reduce.c:729,1
    - Dst: _cairo_bo_intersect_ordinate_32_compare
      Src: /src/cairo/src/cairo-polygon-reduce.c:731,1
    - Dst: _cairo_bo_intersect_ordinate_32_compare
      Src: /src/cairo/src/cairo-polygon-reduce.c:737,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - edge
    - point
    argTypes:
    - cairo_bo_edge_t*
    - cairo_bo_intersect_point_t*
    constantsTouched: []
    func_position:
      end: 739
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 739
    functionName: _cairo_bo_edge_contains_intersect_point
    functionSourceFile: /src/cairo/src/cairo-polygon-reduce.c
    functionUses: []
    functionsReached:
    - _line_compute_intersection_x_for_y
    - _cairo_bo_intersect_ordinate_32_compare
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _cairo_bo_edge_contains_intersect_point (cairo_bo_edge_t\t\
      \t*edge,\t\t\t\t\t cairo_bo_intersect_point_t\t*point) "
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_bo_intersect_ordinate_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 668
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 668
    functionName: _cairo_bo_intersect_ordinate_32_compare
    functionSourceFile: /src/cairo/src/cairo-polygon-reduce.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "static int _cairo_bo_intersect_ordinate_32_compare (cairo_bo_intersect_ordinate_t\t\
      a,\t\t\t\t\t int32_t\t\t\tb) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-polygon-reduce.c:804,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pq
    argTypes:
    - pqueue_t*
    constantsTouched: []
    func_position:
      end: 808
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 808
    functionName: _pqueue_init
    functionSourceFile: /src/cairo/src/cairo-polygon-reduce.c
    functionUses: []
    functionsReached:
    - ARRAY_LENGTH
    linkageType: ''
    returnType: void
    signature: 'static inline void _pqueue_init (pqueue_t *pq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PQ_LEFT_CHILD_INDEX
      Src: /src/cairo/src/cairo-polygon-reduce.c:887,1
    - Dst: cairo_bo_event_compare
      Src: /src/cairo/src/cairo-polygon-reduce.c:891,1
    - Dst: cairo_bo_event_compare
      Src: /src/cairo/src/cairo-polygon-reduce.c:897,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 1
    argNames:
    - pq
    argTypes:
    - pqueue_t*
    constantsTouched: []
    func_position:
      end: 903
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 903
    functionName: _pqueue_pop
    functionSourceFile: /src/cairo/src/cairo-polygon-reduce.c
    functionUses: []
    functionsReached:
    - PQ_LEFT_CHILD_INDEX
    - cairo_bo_event_compare
    linkageType: ''
    returnType: void
    signature: 'static inline void _pqueue_pop (pqueue_t *pq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - sweep_line
    - left
    - right
    argTypes:
    - cairo_bo_sweep_line_t*
    - cairo_bo_edge_t*
    - cairo_bo_edge_t*
    constantsTouched: []
    func_position:
      end: 1125
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1125
    functionName: _cairo_bo_sweep_line_swap
    functionSourceFile: /src/cairo/src/cairo-polygon-reduce.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void _cairo_bo_sweep_line_swap (cairo_bo_sweep_line_t\t*sweep_line,\t\
      \t\t cairo_bo_edge_t\t\t*left,\t\t\t cairo_bo_edge_t\t\t*right) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/cairo/src/cairo-polygon-reduce.c:1161,1
    - Dst: _cairo_polygon_add_line
      Src: /src/cairo/src/cairo-polygon-reduce.c:1166,1
    - Dst: _cairo_polygon_add_line
      Src: /src/cairo/src/cairo-polygon-reduce.c:1162,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - left
    - bot
    - polygon
    argTypes:
    - cairo_bo_edge_t*
    - int32_t
    - cairo_polygon_t*
    constantsTouched: []
    func_position:
      end: 1173
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1173
    functionName: _cairo_bo_edge_end
    functionSourceFile: /src/cairo/src/cairo-polygon-reduce.c
    functionUses: []
    functionsReached:
    - _cairo_polygon_add_line
    - likely
    linkageType: ''
    returnType: void
    signature: "static void _cairo_bo_edge_end (cairo_bo_edge_t\t*left,\t\t int32_t\t\
      \t bot,\t\t cairo_polygon_t\t*polygon) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-polygon-reduce.c:814,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - pq
    argTypes:
    - pqueue_t*
    constantsTouched: []
    func_position:
      end: 815
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 815
    functionName: _pqueue_fini
    functionSourceFile: /src/cairo/src/cairo-polygon-reduce.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'static inline void _pqueue_fini (pqueue_t *pq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_freepool_alloc
      Src: /src/cairo/src/cairo-polygon-reduce.c:914,1
    - Dst: _pqueue_push
      Src: /src/cairo/src/cairo-polygon-reduce.c:923,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-polygon-reduce.c:916,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-polygon-reduce.c:915,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 5
    argNames:
    - queue
    - type
    - e1
    - e2
    - point
    argTypes:
    - cairo_bo_event_queue_t*
    - cairo_bo_event_type_t
    - cairo_bo_edge_t*
    - cairo_bo_edge_t*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 924
      start: 905
    functionDepth: 0
    functionLinenumber: 905
    functionLinenumberEnd: 924
    functionName: _cairo_bo_event_queue_insert
    functionSourceFile: /src/cairo/src/cairo-polygon-reduce.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_freepool_alloc
    - _pqueue_push
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static inline cairo_status_t _cairo_bo_event_queue_insert (cairo_bo_event_queue_t\t\
      *queue,\t\t\t cairo_bo_event_type_t\t type,\t\t\t cairo_bo_edge_t\t\t*e1,\t\t\
      \t cairo_bo_edge_t\t\t*e2,\t\t\t const cairo_point_t\t *point) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _line_equal
      Src: /src/cairo/src/cairo-polygon-reduce.c:1130,1
    - Dst: _slope_compare
      Src: /src/cairo/src/cairo-polygon-reduce.c:1133,1
    - Dst: edge_compare_for_y_against_x
      Src: /src/cairo/src/cairo-polygon-reduce.c:1148,1
    - Dst: edge_compare_for_y_against_x
      Src: /src/cairo/src/cairo-polygon-reduce.c:1144,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_bo_edge_t*
    - cairo_bo_edge_t*
    constantsTouched: []
    func_position:
      end: 1152
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1152
    functionName: edges_colinear
    functionSourceFile: /src/cairo/src/cairo-polygon-reduce.c
    functionUses: []
    functionsReached:
    - _line_equal
    - _slope_compare
    - edge_compare_for_y_against_x
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static inline cairo_bool_t edges_colinear (const cairo_bo_edge_t *a,
      const cairo_bo_edge_t *b) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: edges_colinear
      Src: /src/cairo/src/cairo-polygon-reduce.c:1186,1
    - Dst: edges_colinear
      Src: /src/cairo/src/cairo-polygon-reduce.c:1196,1
    - Dst: _cairo_bo_edge_end
      Src: /src/cairo/src/cairo-polygon-reduce.c:1193,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 4
    argNames:
    - left
    - right
    - top
    - polygon
    argTypes:
    - cairo_bo_edge_t*
    - cairo_bo_edge_t*
    - int
    - cairo_polygon_t*
    constantsTouched: []
    func_position:
      end: 1200
      start: 1176
    functionDepth: 0
    functionLinenumber: 1176
    functionLinenumberEnd: 1200
    functionName: _cairo_bo_edge_start_or_continue
    functionSourceFile: /src/cairo/src/cairo-polygon-reduce.c
    functionUses: []
    functionsReached:
    - _cairo_bo_edge_end
    - edges_colinear
    linkageType: ''
    returnType: void
    signature: "static inline void _cairo_bo_edge_start_or_continue (cairo_bo_edge_t\t\
      *left,\t\t\t\t cairo_bo_edge_t\t*right,\t\t\t\t int\t\t\t top,\t\t\t\t cairo_polygon_t\t\
      *polygon) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: _get_compositor
    functionSourceFile: /src/cairo/src/cairo-xlib-fallback-compositor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_compositor_t*
    signature: 'static const cairo_compositor_t *_get_compositor (cairo_surface_t
      *surface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-xlib-fallback-compositor.c:78,1
    - Dst: _get_compositor
      Src: /src/cairo/src/cairo-xlib-fallback-compositor.c:87,1
    - Dst: _cairo_xlib_surface_get_shm
      Src: /src/cairo/src/cairo-xlib-fallback-compositor.c:83,1
    - Dst: unclipped
      Src: /src/cairo/src/cairo-xlib-fallback-compositor.c:81,1
    - Dst: _cairo_compositor_paint
      Src: /src/cairo/src/cairo-xlib-fallback-compositor.c:87,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-fallback-compositor.c:91,1
    - Dst: unclipped
      Src: /src/cairo/src/cairo-xlib-fallback-compositor.c:95,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - _compositor
    - extents
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 99
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 99
    functionName: _cairo_xlib_shm_compositor_paint
    functionSourceFile: /src/cairo/src/cairo-xlib-fallback-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_surface_get_shm
    - unclipped
    - TRACE
    - _cairo_compositor_paint
    - _get_compositor
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_xlib_shm_compositor_paint (const\
      \ cairo_compositor_t\t*_compositor,\t\t\t\t cairo_composite_rectangles_t\t*extents) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-xlib-fallback-compositor.c:143,1
    - Dst: _get_compositor
      Src: /src/cairo/src/cairo-xlib-fallback-compositor.c:149,1
    - Dst: _cairo_compositor_stroke
      Src: /src/cairo/src/cairo-xlib-fallback-compositor.c:149,1
    - Dst: _cairo_xlib_surface_get_shm
      Src: /src/cairo/src/cairo-xlib-fallback-compositor.c:145,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-fallback-compositor.c:157,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 8
    argNames:
    - _compositor
    - extents
    - path
    - style
    - ctm
    - ctm_inverse
    - tolerance
    - antialias
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_antialias_t
    constantsTouched: []
    func_position:
      end: 164
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 164
    functionName: _cairo_xlib_shm_compositor_stroke
    functionSourceFile: /src/cairo/src/cairo-xlib-fallback-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_surface_get_shm
    - _cairo_compositor_stroke
    - TRACE
    - _get_compositor
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_xlib_shm_compositor_stroke (const\
      \ cairo_compositor_t\t*_compositor,\t\t\t\t cairo_composite_rectangles_t *extents,\t\
      \t\t\t const cairo_path_fixed_t\t*path,\t\t\t\t const cairo_stroke_style_t\t\
      *style,\t\t\t\t const cairo_matrix_t\t\t*ctm,\t\t\t\t const cairo_matrix_t\t\
      \t*ctm_inverse,\t\t\t\t double\t\t\t tolerance,\t\t\t\t cairo_antialias_t\t\t\
      \ antialias) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-xlib-fallback-compositor.c:211,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-fallback-compositor.c:222,1
    - Dst: _get_compositor
      Src: /src/cairo/src/cairo-xlib-fallback-compositor.c:217,1
    - Dst: _cairo_xlib_surface_get_shm
      Src: /src/cairo/src/cairo-xlib-fallback-compositor.c:213,1
    - Dst: _cairo_compositor_glyphs
      Src: /src/cairo/src/cairo-xlib-fallback-compositor.c:217,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 6
    argNames:
    - _compositor
    - extents
    - scaled_font
    - glyphs
    - num_glyphs
    - overlap
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_scaled_font_t*
    - cairo_glyph_t*
    - int
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 229
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 229
    functionName: _cairo_xlib_shm_compositor_glyphs
    functionSourceFile: /src/cairo/src/cairo-xlib-fallback-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_surface_get_shm
    - TRACE
    - _cairo_compositor_glyphs
    - _get_compositor
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_xlib_shm_compositor_glyphs (const\
      \ cairo_compositor_t\t*_compositor,\t\t\t\t cairo_composite_rectangles_t *extents,\t\
      \t\t\t cairo_scaled_font_t\t\t*scaled_font,\t\t\t\t cairo_glyph_t\t\t*glyphs,\t\
      \t\t\t int\t\t\t\t num_glyphs,\t\t\t\t cairo_bool_t\t\t\t overlap) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_contains_rectangle
      Src: /src/cairo/src/cairo-xlib-fallback-compositor.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - xlib
    - clip
    argTypes:
    - cairo_xlib_surface_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 67
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 67
    functionName: unclipped
    functionSourceFile: /src/cairo/src/cairo-xlib-fallback-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_clip_contains_rectangle
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t unclipped (cairo_xlib_surface_t *xlib, cairo_clip_t
      *clip) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-xlib-fallback-compositor.c:109,1
    - Dst: _get_compositor
      Src: /src/cairo/src/cairo-xlib-fallback-compositor.c:115,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-fallback-compositor.c:120,1
    - Dst: _cairo_compositor_mask
      Src: /src/cairo/src/cairo-xlib-fallback-compositor.c:115,1
    - Dst: _cairo_xlib_surface_get_shm
      Src: /src/cairo/src/cairo-xlib-fallback-compositor.c:111,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - _compositor
    - extents
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 127
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 127
    functionName: _cairo_xlib_shm_compositor_mask
    functionSourceFile: /src/cairo/src/cairo-xlib-fallback-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_compositor_mask
    - _cairo_xlib_surface_get_shm
    - TRACE
    - _get_compositor
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_xlib_shm_compositor_mask (const cairo_compositor_t\t\
      *_compositor,\t\t\t\t cairo_composite_rectangles_t\t*extents) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-xlib-fallback-compositor.c:178,1
    - Dst: _cairo_xlib_surface_get_shm
      Src: /src/cairo/src/cairo-xlib-fallback-compositor.c:180,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-fallback-compositor.c:190,1
    - Dst: _get_compositor
      Src: /src/cairo/src/cairo-xlib-fallback-compositor.c:184,1
    - Dst: _cairo_compositor_fill
      Src: /src/cairo/src/cairo-xlib-fallback-compositor.c:184,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 6
    argNames:
    - _compositor
    - extents
    - path
    - fill_rule
    - tolerance
    - antialias
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    constantsTouched: []
    func_position:
      end: 197
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 197
    functionName: _cairo_xlib_shm_compositor_fill
    functionSourceFile: /src/cairo/src/cairo-xlib-fallback-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_surface_get_shm
    - TRACE
    - _cairo_compositor_fill
    - _get_compositor
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_xlib_shm_compositor_fill (const cairo_compositor_t\t\
      *_compositor,\t\t\t\t cairo_composite_rectangles_t *extents,\t\t\t\t const cairo_path_fixed_t\t\
      *path,\t\t\t\t cairo_fill_rule_t\t\t fill_rule,\t\t\t\t double\t\t\t\t tolerance,\t\
      \t\t\t cairo_antialias_t\t\t antialias) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 245
    functionName: _cairo_xlib_fallback_compositor_get
    functionSourceFile: /src/cairo/src/cairo-xlib-fallback-compositor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_compositor_t*
    signature: 'const cairo_compositor_t *_cairo_xlib_fallback_compositor_get (void) '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 2
    argCount: 1
    argNames:
    - format
    argTypes:
    - cairo_format_t
    constantsTouched: []
    func_position:
      end: 731
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 731
    functionName: _cairo_content_from_format
    functionSourceFile: /src/cairo/src/cairo-image-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_content_t
    signature: 'cairo_content_t _cairo_content_from_format (cairo_format_t format) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 905
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 905
    functionName: _cairo_image_surface_source
    functionSourceFile: /src/cairo/src/cairo-image-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *_cairo_image_surface_source (void\t\t\t*abstract_surface,\t\
      \t\t cairo_rectangle_int_t\t*extents) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-surface.c:1099,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-surface.c:1107,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/src/cairo-image-surface.c:1106,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-image-surface.c:1103,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-image-surface.c:1100,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-surface.c:1110,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1091
    functionDepth: 0
    functionLinenumber: 1091
    functionLinenumberEnd: 1124
    functionName: _cairo_image_surface_coerce_to_format
    functionSourceFile: /src/cairo/src/cairo-image-surface.c
    functionUses: []
    functionsReached:
    - cairo_surface_reference
    - pixman_image_composite32
    - cairo_image_surface_create
    - _cairo_surface_create_in_error
    - unlikely
    linkageType: ''
    returnType: cairo_image_surface_t*
    signature: "cairo_image_surface_t *_cairo_image_surface_coerce_to_format (cairo_image_surface_t\
      \ *surface,\t\t\t cairo_format_t\t format) "
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 2
    argCount: 1
    argNames:
    - format
    argTypes:
    - cairo_format_t
    constantsTouched: []
    func_position:
      end: 756
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 756
    functionName: _cairo_format_bits_per_pixel
    functionSourceFile: /src/cairo/src/cairo-image-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int _cairo_format_bits_per_pixel (cairo_format_t format) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - abstract_surface
    - image_out
    - image_extra
    argTypes:
    - void*
    - cairo_image_surface_t**
    - void**
    constantsTouched: []
    func_position:
      end: 916
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 916
    functionName: _cairo_image_surface_acquire_source_image
    functionSourceFile: /src/cairo/src/cairo-image-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_image_surface_acquire_source_image (void *abstract_surface,\t\
      \t\t\t\t cairo_image_surface_t **image_out,\t\t\t\t\t void **image_extra) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-surface.c:1138,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-surface.c:1143,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-image-surface.c:1144,1
    - Dst: pixman_image_create_bits
      Src: /src/cairo/src/cairo-image-surface.c:1149,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-image-surface.c:1142,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-surface.c:1150,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-image-surface.c:1151,1
    - Dst: _cairo_image_surface_create_for_pixman_image
      Src: /src/cairo/src/cairo-image-surface.c:1156,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-surface.c:1157,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-surface.c:1162,1
    - Dst: free
      Src: /src/cairo/src/cairo-image-surface.c:1176,1
    - Dst: pixman_image_unref
      Src: /src/cairo/src/cairo-image-surface.c:1174,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-image-surface.c:1178,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1126
    functionDepth: 0
    functionLinenumber: 1126
    functionLinenumberEnd: 1179
    functionName: _cairo_image_surface_create_from_image
    functionSourceFile: /src/cairo/src/cairo-image-surface.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - free
    - pixman_image_composite32
    - pixman_image_unref
    - _cairo_surface_create_in_error
    - _cairo_image_surface_create_for_pixman_image
    - _cairo_malloc_ab
    - pixman_image_create_bits
    - unlikely
    linkageType: ''
    returnType: cairo_image_surface_t*
    signature: "cairo_image_surface_t *_cairo_image_surface_create_from_image (cairo_image_surface_t\
      \ *other,\t\t\t\t\tpixman_format_code_t format,\t\t\t\t\tint x, int y,\t\t\t\
      \t\tint width, int height, int stride) "
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 1
    argNames:
    - dither
    argTypes:
    - cairo_dither_t
    constantsTouched: []
    func_position:
      end: 263
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 263
    functionName: _cairo_dither_to_pixman_dither
    functionSourceFile: /src/cairo/src/cairo-image-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: pixman_dither_t
    signature: 'static pixman_dither_t _cairo_dither_to_pixman_dither (cairo_dither_t
      dither) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_is_image
      Src: /src/cairo/src/cairo-image-surface.c:657,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-image-surface.c:658,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 663
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 663
    functionName: cairo_image_surface_get_height
    functionSourceFile: /src/cairo/src/cairo-image-surface.c
    functionUses: []
    functionsReached:
    - _cairo_error_throw
    - _cairo_surface_is_image
    linkageType: ''
    returnType: int
    signature: 'int cairo_image_surface_get_height (cairo_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - abstract_surface
    - rectangle
    argTypes:
    - void*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 938
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 938
    functionName: _cairo_image_surface_get_extents
    functionSourceFile: /src/cairo/src/cairo-image-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t _cairo_image_surface_get_extents (void\t\t\t *abstract_surface,\t\
      \t\t\t cairo_rectangle_int_t *rectangle) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_image_surface_coerce_to_format
      Src: /src/cairo/src/cairo-image-surface.c:1085,1
    - Dst: _cairo_format_from_content
      Src: /src/cairo/src/cairo-image-surface.c:1086,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1082
    functionDepth: 0
    functionLinenumber: 1082
    functionLinenumberEnd: 1087
    functionName: _cairo_image_surface_coerce
    functionSourceFile: /src/cairo/src/cairo-image-surface.c
    functionUses: []
    functionsReached:
    - _cairo_format_from_content
    - _cairo_image_surface_coerce_to_format
    linkageType: ''
    returnType: cairo_image_surface_t*
    signature: 'cairo_image_surface_t *_cairo_image_surface_coerce (cairo_image_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_format_from_pixman_format
      Src: /src/cairo/src/cairo-image-surface.c:163,1
    - Dst: pixman_image_get_data
      Src: /src/cairo/src/cairo-image-surface.c:164,1
    - Dst: pixman_image_get_width
      Src: /src/cairo/src/cairo-image-surface.c:169,1
    - Dst: pixman_image_get_stride
      Src: /src/cairo/src/cairo-image-surface.c:171,1
    - Dst: pixman_image_get_height
      Src: /src/cairo/src/cairo-image-surface.c:170,1
    - Dst: pixman_image_get_depth
      Src: /src/cairo/src/cairo-image-surface.c:172,1
    - Dst: _cairo_image_spans_compositor_get
      Src: /src/cairo/src/cairo-image-surface.c:176,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 3
    argNames:
    - surface
    - pixman_image
    - pixman_format
    argTypes:
    - cairo_image_surface_t*
    - pixman_image_t*
    - pixman_format_code_t
    constantsTouched: []
    func_position:
      end: 177
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 177
    functionName: _cairo_image_surface_init
    functionSourceFile: /src/cairo/src/cairo-image-surface.c
    functionUses: []
    functionsReached:
    - pixman_image_get_width
    - _cairo_image_spans_compositor_get
    - pixman_image_get_depth
    - pixman_image_get_data
    - pixman_image_get_stride
    - pixman_image_get_height
    - _cairo_format_from_pixman_format
    linkageType: ''
    returnType: void
    signature: "void _cairo_image_surface_init (cairo_image_surface_t *surface,\t\t\
      \t pixman_image_t\t*pixman_image,\t\t\t pixman_format_code_t\t pixman_format) "
  - BBCount: 50
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 2
    argCount: 1
    argNames:
    - pixman_format
    argTypes:
    - pixman_format_code_t
    constantsTouched: []
    func_position:
      end: 138
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 138
    functionName: _cairo_format_from_pixman_format
    functionSourceFile: /src/cairo/src/cairo-image-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_format_t
    signature: 'cairo_format_t _cairo_format_from_pixman_format (pixman_format_code_t
      pixman_format) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_FORMAT_VALID
      Src: /src/cairo/src/cairo-image-surface.c:471,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-image-surface.c:472,1
    - Dst: _cairo_format_bits_per_pixel
      Src: /src/cairo/src/cairo-image-surface.c:476,1
    - Dst: CAIRO_STRIDE_FOR_WIDTH_BPP
      Src: /src/cairo/src/cairo-image-surface.c:480,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - format
    - width
    argTypes:
    - cairo_format_t
    - int
    constantsTouched: []
    func_position:
      end: 481
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 481
    functionName: cairo_format_stride_for_width
    functionSourceFile: /src/cairo/src/cairo-image-surface.c
    functionUses: []
    functionsReached:
    - CAIRO_FORMAT_VALID
    - _cairo_error_throw
    - _cairo_format_bits_per_pixel
    - CAIRO_STRIDE_FOR_WIDTH_BPP
    linkageType: ''
    returnType: int
    signature: "int cairo_format_stride_for_width (cairo_format_t\tformat,\t\t\t int\t\
      \twidth) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_is_image
      Src: /src/cairo/src/cairo-image-surface.c:684,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-image-surface.c:685,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 690
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 690
    functionName: cairo_image_surface_get_stride
    functionSourceFile: /src/cairo/src/cairo-image-surface.c
    functionUses: []
    functionsReached:
    - _cairo_error_throw
    - _cairo_surface_is_image
    linkageType: ''
    returnType: int
    signature: 'int cairo_image_surface_get_stride (cairo_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-image-surface.c:1028,1
    - Dst: _cairo_compositor_glyphs
      Src: /src/cairo/src/cairo-image-surface.c:1031,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 7
    argNames:
    - abstract_surface
    - op
    - source
    - glyphs
    - num_glyphs
    - scaled_font
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_glyph_t*
    - int
    - cairo_scaled_font_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 1035
      start: 1017
    functionDepth: 0
    functionLinenumber: 1017
    functionLinenumberEnd: 1035
    functionName: _cairo_image_surface_glyphs
    functionSourceFile: /src/cairo/src/cairo-image-surface.c
    functionUses: []
    functionsReached:
    - _cairo_compositor_glyphs
    - TRACE
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_image_surface_glyphs (void\t\t\t*abstract_surface,\t\
      \t\t cairo_operator_t\t\t op,\t\t\t const cairo_pattern_t\t*source,\t\t\t cairo_glyph_t\t\
      \t*glyphs,\t\t\t int\t\t\t num_glyphs,\t\t\t cairo_scaled_font_t\t*scaled_font,\t\
      \t\t const cairo_clip_t\t\t*clip) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PIXMAN_FORMAT_RGB
      Src: /src/cairo/src/cairo-image-surface.c:146,1
    - Dst: PIXMAN_FORMAT_A
      Src: /src/cairo/src/cairo-image-surface.c:148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pixman_format
    argTypes:
    - pixman_format_code_t
    constantsTouched: []
    func_position:
      end: 152
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 152
    functionName: _cairo_content_from_pixman_format
    functionSourceFile: /src/cairo/src/cairo-image-surface.c
    functionUses: []
    functionsReached:
    - PIXMAN_FORMAT_A
    - PIXMAN_FORMAT_RGB
    linkageType: ''
    returnType: cairo_content_t
    signature: 'cairo_content_t _cairo_content_from_pixman_format (pixman_format_code_t
      pixman_format) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-image-surface.c:185,1
    - Dst: _cairo_surface_init
      Src: /src/cairo/src/cairo-image-surface.c:189,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-image-surface.c:187,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-surface.c:186,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-image-surface.c:187,1
    - Dst: _cairo_content_from_pixman_format
      Src: /src/cairo/src/cairo-image-surface.c:192,1
    - Dst: _cairo_image_surface_init
      Src: /src/cairo/src/cairo-image-surface.c:195,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 198
    functionName: _cairo_image_surface_create_for_pixman_image
    functionSourceFile: /src/cairo/src/cairo-image-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_init
    - _cairo_error
    - _cairo_content_from_pixman_format
    - _cairo_surface_create_in_error
    - _cairo_image_surface_init
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *_cairo_image_surface_create_for_pixman_image (pixman_image_t\t\
      \t*pixman_image,\t\t\t\t\t pixman_format_code_t\t pixman_format) "
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - content
    argTypes:
    - cairo_content_t
    constantsTouched: []
    func_position:
      end: 706
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 706
    functionName: _cairo_format_from_content
    functionSourceFile: /src/cairo/src/cairo-image-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_format_t
    signature: 'cairo_format_t _cairo_format_from_content (cairo_content_t content) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_font_options_init_default
      Src: /src/cairo/src/cairo-image-surface.c:1041,1
    - Dst: cairo_font_options_set_hint_metrics
      Src: /src/cairo/src/cairo-image-surface.c:1043,1
    - Dst: _cairo_font_options_set_round_glyph_positions
      Src: /src/cairo/src/cairo-image-surface.c:1044,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - abstract_surface
    - options
    argTypes:
    - void*
    - cairo_font_options_t*
    constantsTouched: []
    func_position:
      end: 1045
      start: 1037
    functionDepth: 0
    functionLinenumber: 1037
    functionLinenumberEnd: 1045
    functionName: _cairo_image_surface_get_font_options
    functionSourceFile: /src/cairo/src/cairo-image-surface.c
    functionUses: []
    functionsReached:
    - _cairo_font_options_init_default
    - cairo_font_options_set_hint_metrics
    - _cairo_font_options_set_round_glyph_positions
    linkageType: ''
    returnType: void
    signature: "void _cairo_image_surface_get_font_options (void *abstract_surface,\t\
      \t\t\t cairo_font_options_t *options) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar_image
      Src: /src/cairo/src/cairo-image-surface.c:1331,1
    - Dst: _cairo_pattern_init_for_surface
      Src: /src/cairo/src/cairo-image-surface.c:1344,1
    - Dst: to_image_surface
      Src: /src/cairo/src/cairo-image-surface.c:1336,1
    - Dst: _cairo_format_from_content
      Src: /src/cairo/src/cairo-image-surface.c:1332,1
    - Dst: cairo_surface_set_device_offset
      Src: /src/cairo/src/cairo-image-surface.c:1340,1
    - Dst: _cairo_surface_paint
      Src: /src/cairo/src/cairo-image-surface.c:1347,1
    - Dst: _cairo_pattern_fini
      Src: /src/cairo/src/cairo-image-surface.c:1352,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-surface.c:1354,1
    - Dst: _cairo_image_surface_set_parent
      Src: /src/cairo/src/cairo-image-surface.c:1363,1
    - Dst: to_image_surface
      Src: /src/cairo/src/cairo-image-surface.c:1363,1
    - Dst: to_image_surface
      Src: /src/cairo/src/cairo-image-surface.c:1366,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-image-surface.c:1369,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-image-surface.c:1370,1
    - Dst: to_image_surface
      Src: /src/cairo/src/cairo-image-surface.c:1370,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-image-surface.c:1364,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1323
    functionDepth: 0
    functionLinenumber: 1323
    functionLinenumberEnd: 1371
    functionName: _cairo_image_surface_clone_subimage
    functionSourceFile: /src/cairo/src/cairo-image-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_init_for_surface
    - _cairo_format_from_content
    - to_image_surface
    - cairo_surface_reference
    - _cairo_image_surface_set_parent
    - _cairo_pattern_fini
    - _cairo_surface_create_in_error
    - cairo_surface_destroy
    - cairo_surface_set_device_offset
    - cairo_surface_create_similar_image
    - _cairo_surface_paint
    - unlikely
    linkageType: ''
    returnType: cairo_image_surface_t*
    signature: "cairo_image_surface_t *_cairo_image_surface_clone_subimage (cairo_surface_t\
      \ *surface,\t\t\t\t const cairo_rectangle_int_t *extents) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_FORMAT_VALID
      Src: /src/cairo/src/cairo-image-surface.c:420,1
    - Dst: _cairo_image_surface_create_with_pixman_format
      Src: /src/cairo/src/cairo-image-surface.c:425,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-image-surface.c:421,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-image-surface.c:421,1
    - Dst: _cairo_format_to_pixman_format_code
      Src: /src/cairo/src/cairo-image-surface.c:423,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 427
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 427
    functionName: cairo_image_surface_create
    functionSourceFile: /src/cairo/src/cairo-image-surface.c
    functionUses: []
    functionsReached:
    - _cairo_image_surface_create_with_pixman_format
    - _cairo_error
    - CAIRO_FORMAT_VALID
    - _cairo_format_to_pixman_format_code
    - _cairo_surface_create_in_error
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *cairo_image_surface_create (cairo_format_t\tformat,\t\
      \t\t int\t\t\twidth,\t\t\t int\t\t\theight) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_is_image
      Src: /src/cairo/src/cairo-image-surface.c:588,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-image-surface.c:589,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 594
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 594
    functionName: cairo_image_surface_get_data
    functionSourceFile: /src/cairo/src/cairo-image-surface.c
    functionUses: []
    functionsReached:
    - _cairo_error_throw
    - _cairo_surface_is_image
    linkageType: ''
    returnType: unsigned char*
    signature: 'unsigned char *cairo_image_surface_get_data (cairo_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PIXMAN_FORMAT_BPP
      Src: /src/cairo/src/cairo-image-surface.c:839,1
    - Dst: _cairo_image_surface_create_with_pixman_format
      Src: /src/cairo/src/cairo-image-surface.c:842,1
    - Dst: cairo_surface_set_device_offset
      Src: /src/cairo/src/cairo-image-surface.c:848,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 850
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 850
    functionName: _cairo_image_surface_map_to_image
    functionSourceFile: /src/cairo/src/cairo-image-surface.c
    functionUses: []
    functionsReached:
    - PIXMAN_FORMAT_BPP
    - cairo_surface_set_device_offset
    - _cairo_image_surface_create_with_pixman_format
    linkageType: ''
    returnType: cairo_image_surface_t*
    signature: "cairo_image_surface_t *_cairo_image_surface_map_to_image (void *abstract_other,\t\
      \t\t\t const cairo_rectangle_int_t *extents) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pixman_image_unref
      Src: /src/cairo/src/cairo-image-surface.c:868,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-image-surface.c:880,1
    - Dst: free
      Src: /src/cairo/src/cairo-image-surface.c:873,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 884
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 884
    functionName: _cairo_image_surface_finish
    functionSourceFile: /src/cairo/src/cairo-image-surface.c
    functionUses: []
    functionsReached:
    - free
    - pixman_image_unref
    - cairo_surface_destroy
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_image_surface_finish (void *abstract_surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_dither_to_pixman_dither
      Src: /src/cairo/src/cairo-image-surface.c:947,1
    - Dst: _cairo_compositor_paint
      Src: /src/cairo/src/cairo-image-surface.c:953,1
    - Dst: pixman_image_set_dither
      Src: /src/cairo/src/cairo-image-surface.c:948,1
    - Dst: TRACE
      Src: /src/cairo/src/cairo-image-surface.c:950,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - abstract_surface
    - op
    - source
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 955
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 955
    functionName: _cairo_image_surface_paint
    functionSourceFile: /src/cairo/src/cairo-image-surface.c
    functionUses: []
    functionsReached:
    - pixman_image_set_dither
    - _cairo_compositor_paint
    - TRACE
    - _cairo_dither_to_pixman_dither
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_image_surface_paint (void\t\t\t*abstract_surface,\t\
      \t\t cairo_operator_t\t\t op,\t\t\t const cairo_pattern_t\t*source,\t\t\t const\
      \ cairo_clip_t\t\t*clip) "
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 77
    argCount: 1
    argNames:
    - image
    argTypes:
    - cairo_image_surface_t*
    constantsTouched: []
    func_position:
      end: 1308
      start: 1248
    functionDepth: 0
    functionLinenumber: 1248
    functionLinenumberEnd: 1308
    functionName: _cairo_image_compute_color
    functionSourceFile: /src/cairo/src/cairo-image-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_image_color_t
    signature: 'static cairo_image_color_t _cairo_image_compute_color (cairo_image_surface_t
      *image) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create
      Src: /src/cairo/src/cairo-image-surface.c:434,1
    - Dst: _cairo_format_from_content
      Src: /src/cairo/src/cairo-image-surface.c:434,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 436
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 436
    functionName: _cairo_image_surface_create_with_content
    functionSourceFile: /src/cairo/src/cairo-image-surface.c
    functionUses: []
    functionsReached:
    - cairo_image_surface_create
    - _cairo_format_from_content
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *_cairo_image_surface_create_with_content (cairo_content_t\t\
      content,\t\t\t\t\t int\t\t\twidth,\t\t\t\t\t int\t\t\theight) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_finish
      Src: /src/cairo/src/cairo-image-surface.c:856,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-image-surface.c:857,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - abstract_surface
    - image
    argTypes:
    - void*
    - cairo_image_surface_t*
    constantsTouched: []
    func_position:
      end: 860
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 860
    functionName: _cairo_image_surface_unmap_image
    functionSourceFile: /src/cairo/src/cairo-image-surface.c
    functionUses: []
    functionsReached:
    - cairo_surface_finish
    - cairo_surface_destroy
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_image_surface_unmap_image (void *abstract_surface,\t\
      \t\t\t cairo_image_surface_t *image) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_image_surface_t*
    constantsTouched: []
    func_position:
      end: 890
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 890
    functionName: _cairo_image_surface_assume_ownership_of_data
    functionSourceFile: /src/cairo/src/cairo-image-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void _cairo_image_surface_assume_ownership_of_data (cairo_image_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-image-surface.c:966,1
    - Dst: _cairo_compositor_mask
      Src: /src/cairo/src/cairo-image-surface.c:969,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 5
    argNames:
    - abstract_surface
    - op
    - source
    - mask
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 971
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 971
    functionName: _cairo_image_surface_mask
    functionSourceFile: /src/cairo/src/cairo-image-surface.c
    functionUses: []
    functionsReached:
    - _cairo_compositor_mask
    - TRACE
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_image_surface_mask (void\t\t\t\t*abstract_surface,\t\
      \t\t cairo_operator_t\t\t op,\t\t\t const cairo_pattern_t\t*source,\t\t\t const\
      \ cairo_pattern_t\t*mask,\t\t\t const cairo_clip_t\t\t*clip) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_is_snapshot
      Src: /src/cairo/src/cairo-image-surface.c:1313,1
    - Dst: _cairo_image_compute_color
      Src: /src/cairo/src/cairo-image-surface.c:1320,1
    - Dst: _cairo_image_compute_color
      Src: /src/cairo/src/cairo-image-surface.c:1315,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - image
    argTypes:
    - cairo_image_surface_t*
    constantsTouched: []
    func_position:
      end: 1321
      start: 1310
    functionDepth: 0
    functionLinenumber: 1310
    functionLinenumberEnd: 1321
    functionName: _cairo_image_analyze_color
    functionSourceFile: /src/cairo/src/cairo-image-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_is_snapshot
    - _cairo_image_compute_color
    linkageType: ''
    returnType: cairo_image_color_t
    signature: 'cairo_image_color_t _cairo_image_analyze_color (cairo_image_surface_t
      *image) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_FORMAT_VALID
      Src: /src/cairo/src/cairo-image-surface.c:538,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-image-surface.c:542,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-image-surface.c:539,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-image-surface.c:542,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-image-surface.c:539,1
    - Dst: _cairo_image_surface_is_size_valid
      Src: /src/cairo/src/cairo-image-surface.c:544,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-image-surface.c:545,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-image-surface.c:545,1
    - Dst: cairo_format_stride_for_width
      Src: /src/cairo/src/cairo-image-surface.c:547,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-image-surface.c:550,1
    - Dst: _cairo_format_to_pixman_format_code
      Src: /src/cairo/src/cairo-image-surface.c:558,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-image-surface.c:554,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-image-surface.c:554,1
    - Dst: _cairo_image_surface_create_with_pixman_format
      Src: /src/cairo/src/cairo-image-surface.c:559,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-image-surface.c:550,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 563
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 563
    functionName: cairo_image_surface_create_for_data
    functionSourceFile: /src/cairo/src/cairo-image-surface.c
    functionUses: []
    functionsReached:
    - _cairo_image_surface_create_with_pixman_format
    - cairo_format_stride_for_width
    - _cairo_error
    - _cairo_image_surface_is_size_valid
    - CAIRO_FORMAT_VALID
    - _cairo_format_to_pixman_format_code
    - _cairo_surface_create_in_error
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *cairo_image_surface_create_for_data (unsigned char\
      \ *data,\t\t\t\t cairo_format_t\tformat,\t\t\t\t int\t\twidth,\t\t\t\t int\t\
      \theight,\t\t\t\t int\t\tstride) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - width
    - height
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: _cairo_image_surface_is_size_valid
    functionSourceFile: /src/cairo/src/cairo-image-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_image_surface_is_size_valid (int width,
      int height) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_popcount
      Src: /src/cairo/src/cairo-image-surface.c:209,1
    - Dst: PIXMAN_FORMAT
      Src: /src/cairo/src/cairo-image-surface.c:225,1
    - Dst: _cairo_popcount
      Src: /src/cairo/src/cairo-image-surface.c:211,1
    - Dst: _cairo_popcount
      Src: /src/cairo/src/cairo-image-surface.c:210,1
    - Dst: _cairo_popcount
      Src: /src/cairo/src/cairo-image-surface.c:212,1
    - Dst: pixman_format_supported_destination
      Src: /src/cairo/src/cairo-image-surface.c:227,1
    - Dst: _pixman_format_to_masks
      Src: /src/cairo/src/cairo-image-surface.c:234,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 2
    argNames:
    - masks
    - format_ret
    argTypes:
    - cairo_format_masks_t*
    - pixman_format_code_t*
    constantsTouched: []
    func_position:
      end: 245
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 245
    functionName: _pixman_format_from_masks
    functionSourceFile: /src/cairo/src/cairo-image-surface.c
    functionUses: []
    functionsReached:
    - pixman_format_supported_destination
    - _pixman_format_to_masks
    - PIXMAN_FORMAT
    - _cairo_popcount
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t _pixman_format_from_masks (cairo_format_masks_t *masks,\t\
      \t\t pixman_format_code_t *format_ret) "
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 10
    argCount: 1
    argNames:
    - format
    argTypes:
    - cairo_format_t
    constantsTouched: []
    func_position:
      end: 356
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 356
    functionName: _cairo_format_to_pixman_format_code
    functionSourceFile: /src/cairo/src/cairo-image-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: pixman_format_code_t
    signature: 'pixman_format_code_t _cairo_format_to_pixman_format_code (cairo_format_t
      format) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_is_image
      Src: /src/cairo/src/cairo-image-surface.c:634,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-image-surface.c:635,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 640
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 640
    functionName: cairo_image_surface_get_width
    functionSourceFile: /src/cairo/src/cairo-image-surface.c
    functionUses: []
    functionsReached:
    - _cairo_error_throw
    - _cairo_surface_is_image
    linkageType: ''
    returnType: int
    signature: 'int cairo_image_surface_get_width (cairo_surface_t *surface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-image-surface.c:766,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-image-surface.c:769,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-image-surface.c:769,1
    - Dst: _cairo_image_surface_is_size_valid
      Src: /src/cairo/src/cairo-image-surface.c:768,1
    - Dst: _cairo_image_surface_create_with_pixman_format
      Src: /src/cairo/src/cairo-image-surface.c:772,1
    - Dst: _cairo_image_surface_create_with_content
      Src: /src/cairo/src/cairo-image-surface.c:778,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 780
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 780
    functionName: _cairo_image_surface_create_similar
    functionSourceFile: /src/cairo/src/cairo-image-surface.c
    functionUses: []
    functionsReached:
    - _cairo_image_surface_create_with_pixman_format
    - TRACE
    - _cairo_error
    - _cairo_image_surface_is_size_valid
    - _cairo_surface_create_in_error
    - _cairo_image_surface_create_with_content
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *_cairo_image_surface_create_similar (void\t *abstract_other,\t\
      \t\t\t cairo_content_t\tcontent,\t\t\t\t int\t\twidth,\t\t\t\t int\t\theight) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - abstract_surface
    - image
    - image_extra
    argTypes:
    - void*
    - cairo_image_surface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 923
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 923
    functionName: _cairo_image_surface_release_source_image
    functionSourceFile: /src/cairo/src/cairo-image-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _cairo_image_surface_release_source_image (void *abstract_surface,\t\
      \t\t\t\t cairo_image_surface_t *image,\t\t\t\t\t void *image_extra) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-image-surface.c:987,1
    - Dst: _cairo_compositor_stroke
      Src: /src/cairo/src/cairo-image-surface.c:990,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 3
    argCount: 10
    argNames:
    - abstract_surface
    - op
    - source
    - path
    - style
    - ctm
    - ctm_inverse
    - tolerance
    - antialias
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 994
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 994
    functionName: _cairo_image_surface_stroke
    functionSourceFile: /src/cairo/src/cairo-image-surface.c
    functionUses: []
    functionsReached:
    - _cairo_compositor_stroke
    - TRACE
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_image_surface_stroke (void\t\t\t*abstract_surface,\t\
      \t\t cairo_operator_t\t\t op,\t\t\t const cairo_pattern_t\t*source,\t\t\t const\
      \ cairo_path_fixed_t\t*path,\t\t\t const cairo_stroke_style_t\t*style,\t\t\t\
      \ const cairo_matrix_t\t*ctm,\t\t\t const cairo_matrix_t\t*ctm_inverse,\t\t\t\
      \ double\t\t\t tolerance,\t\t\t cairo_antialias_t\t\t antialias,\t\t\t const\
      \ cairo_clip_t\t\t*clip) "
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 43
    argCount: 1
    argNames:
    - image
    argTypes:
    - cairo_image_surface_t*
    constantsTouched: []
    func_position:
      end: 1233
      start: 1181
    functionDepth: 0
    functionLinenumber: 1181
    functionLinenumberEnd: 1233
    functionName: _cairo_image_compute_transparency
    functionSourceFile: /src/cairo/src/cairo-image-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_image_transparency_t
    signature: 'static cairo_image_transparency_t _cairo_image_compute_transparency
      (cairo_image_surface_t *image) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: PIXMAN_FORMAT_R
      Src: /src/cairo/src/cairo-image-surface.c:278,1
    - Dst: PIXMAN_FORMAT_B
      Src: /src/cairo/src/cairo-image-surface.c:280,1
    - Dst: PIXMAN_FORMAT_G
      Src: /src/cairo/src/cairo-image-surface.c:279,1
    - Dst: MASK
      Src: /src/cairo/src/cairo-image-surface.c:284,1
    - Dst: MASK
      Src: /src/cairo/src/cairo-image-surface.c:293,1
    - Dst: MASK
      Src: /src/cairo/src/cairo-image-surface.c:300,1
    - Dst: MASK
      Src: /src/cairo/src/cairo-image-surface.c:291,1
    - Dst: MASK
      Src: /src/cairo/src/cairo-image-surface.c:286,1
    - Dst: PIXMAN_FORMAT_TYPE
      Src: /src/cairo/src/cairo-image-surface.c:282,1
    - Dst: MASK
      Src: /src/cairo/src/cairo-image-surface.c:285,1
    - Dst: MASK
      Src: /src/cairo/src/cairo-image-surface.c:287,1
    - Dst: MASK
      Src: /src/cairo/src/cairo-image-surface.c:290,1
    - Dst: MASK
      Src: /src/cairo/src/cairo-image-surface.c:298,1
    - Dst: MASK
      Src: /src/cairo/src/cairo-image-surface.c:299,1
    - Dst: PIXMAN_FORMAT_BPP
      Src: /src/cairo/src/cairo-image-surface.c:274,1
    - Dst: PIXMAN_FORMAT_A
      Src: /src/cairo/src/cairo-image-surface.c:277,1
    - Dst: MASK
      Src: /src/cairo/src/cairo-image-surface.c:297,1
    - Dst: MASK
      Src: /src/cairo/src/cairo-image-surface.c:304,1
    - Dst: MASK
      Src: /src/cairo/src/cairo-image-surface.c:292,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 67
    argCount: 2
    argNames:
    - format
    - masks
    argTypes:
    - pixman_format_code_t
    - cairo_format_masks_t*
    constantsTouched: []
    func_position:
      end: 321
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 321
    functionName: _pixman_format_to_masks
    functionSourceFile: /src/cairo/src/cairo-image-surface.c
    functionUses: []
    functionsReached:
    - PIXMAN_FORMAT_B
    - PIXMAN_FORMAT_A
    - PIXMAN_FORMAT_BPP
    - PIXMAN_FORMAT_TYPE
    - PIXMAN_FORMAT_G
    - PIXMAN_FORMAT_R
    - MASK
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t _pixman_format_to_masks (pixman_format_code_t\t format,\t\
      \t\t cairo_format_masks_t\t*masks) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_image_surface_is_size_valid
      Src: /src/cairo/src/cairo-image-surface.c:368,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-surface.c:376,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-image-surface.c:370,1
    - Dst: pixman_image_create_bits
      Src: /src/cairo/src/cairo-image-surface.c:373,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-image-surface.c:370,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-image-surface.c:377,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-image-surface.c:377,1
    - Dst: _cairo_image_surface_create_for_pixman_image
      Src: /src/cairo/src/cairo-image-surface.c:379,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-surface.c:381,1
    - Dst: pixman_image_unref
      Src: /src/cairo/src/cairo-image-surface.c:382,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 389
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 389
    functionName: _cairo_image_surface_create_with_pixman_format
    functionSourceFile: /src/cairo/src/cairo-image-surface.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - pixman_image_unref
    - _cairo_image_surface_is_size_valid
    - _cairo_surface_create_in_error
    - _cairo_image_surface_create_for_pixman_image
    - pixman_image_create_bits
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *_cairo_image_surface_create_with_pixman_format (unsigned\
      \ char\t\t*data,\t\t\t\t\t\tpixman_format_code_t\t pixman_format,\t\t\t\t\t\t\
      int\t\t\t width,\t\t\t\t\t\tint\t\t\t height,\t\t\t\t\t\tint\t\t\t stride) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_image_surface_create_for_pixman_image
      Src: /src/cairo/src/cairo-image-surface.c:791,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-surface.c:793,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-image-surface.c:816,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-image-surface.c:812,1
    - Dst: _cairo_image_surface_create_with_pixman_format
      Src: /src/cairo/src/cairo-image-surface.c:807,1
    - Dst: pixman_image_composite32
      Src: /src/cairo/src/cairo-image-surface.c:818,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 827
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 827
    functionName: _cairo_image_surface_snapshot
    functionSourceFile: /src/cairo/src/cairo-image-surface.c
    functionUses: []
    functionsReached:
    - memcpy
    - _cairo_image_surface_create_with_pixman_format
    - pixman_image_composite32
    - _cairo_image_surface_create_for_pixman_image
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'cairo_surface_t *_cairo_image_surface_snapshot (void *abstract_surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/cairo-image-surface.c:1008,1
    - Dst: _cairo_compositor_fill
      Src: /src/cairo/src/cairo-image-surface.c:1011,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 8
    argNames:
    - abstract_surface
    - op
    - source
    - path
    - fill_rule
    - tolerance
    - antialias
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 1015
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 1015
    functionName: _cairo_image_surface_fill
    functionSourceFile: /src/cairo/src/cairo-image-surface.c
    functionUses: []
    functionsReached:
    - _cairo_compositor_fill
    - TRACE
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_image_surface_fill (void\t\t\t\t*abstract_surface,\t\
      \t\t cairo_operator_t\t\t op,\t\t\t const cairo_pattern_t\t*source,\t\t\t const\
      \ cairo_path_fixed_t\t*path,\t\t\t cairo_fill_rule_t\t\t fill_rule,\t\t\t double\t\
      \t\t tolerance,\t\t\t cairo_antialias_t\t\t antialias,\t\t\t const cairo_clip_t\t\
      \t*clip) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_is_snapshot
      Src: /src/cairo/src/cairo-image-surface.c:1238,1
    - Dst: _cairo_image_compute_transparency
      Src: /src/cairo/src/cairo-image-surface.c:1240,1
    - Dst: _cairo_image_compute_transparency
      Src: /src/cairo/src/cairo-image-surface.c:1245,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - image
    argTypes:
    - cairo_image_surface_t*
    constantsTouched: []
    func_position:
      end: 1246
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1246
    functionName: _cairo_image_analyze_transparency
    functionSourceFile: /src/cairo/src/cairo-image-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_is_snapshot
    - _cairo_image_compute_transparency
    linkageType: ''
    returnType: cairo_image_transparency_t
    signature: 'cairo_image_transparency_t _cairo_image_analyze_transparency (cairo_image_surface_t
      *image) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_is_image
      Src: /src/cairo/src/cairo-image-surface.c:611,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-image-surface.c:612,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 617
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 617
    functionName: cairo_image_surface_get_format
    functionSourceFile: /src/cairo/src/cairo-image-surface.c
    functionUses: []
    functionsReached:
    - _cairo_error_throw
    - _cairo_surface_is_image
    linkageType: ''
    returnType: cairo_format_t
    signature: 'cairo_format_t cairo_image_surface_get_format (cairo_surface_t *surface) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 33
    argCount: 2
    argNames:
    - v
    - out
    argTypes:
    - char*
    - cairo_bool_t*
    constantsTouched: []
    func_position:
      end: 77
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 77
    functionName: parse_boolean
    functionSourceFile: /src/cairo/src/cairo-xcb-resources.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void parse_boolean (const char *v, cairo_bool_t *out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 101
    functionName: skip_spaces
    functionSourceFile: /src/cairo/src/cairo-xcb-resources.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static char *skip_spaces(char *str) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/cairo/src/cairo-xcb-resources.c:115,1
    - Dst: skip_spaces
      Src: /src/cairo/src/cairo-xcb-resources.c:121,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-xcb-resources.c:124,1
    - Dst: skip_spaces
      Src: /src/cairo/src/cairo-xcb-resources.c:122,1
    - Dst: parse_boolean
      Src: /src/cairo/src/cairo-xcb-resources.c:125,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-xcb-resources.c:126,1
    - Dst: parse_integer
      Src: /src/cairo/src/cairo-xcb-resources.c:127,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-xcb-resources.c:128,1
    - Dst: parse_integer
      Src: /src/cairo/src/cairo-xcb-resources.c:129,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-xcb-resources.c:130,1
    - Dst: parse_boolean
      Src: /src/cairo/src/cairo-xcb-resources.c:131,1
    - Dst: parse_integer
      Src: /src/cairo/src/cairo-xcb-resources.c:133,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-xcb-resources.c:132,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - name
    - resources
    argTypes:
    - char*
    - cairo_xcb_resources_t*
    constantsTouched: []
    func_position:
      end: 136
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 136
    functionName: resource_parse_line
    functionSourceFile: /src/cairo/src/cairo-xcb-resources.c
    functionUses: []
    functionsReached:
    - parse_integer
    - strcmp
    - strchr
    - parse_boolean
    - skip_spaces
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t resource_parse_line (char *name, cairo_xcb_resources_t
      *resources) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - parser
    - resources
    argTypes:
    - struct resource_parser*
    - cairo_xcb_resources_t*
    constantsTouched: []
    func_position:
      end: 167
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 167
    functionName: resource_parser_init
    functionSourceFile: /src/cairo/src/cairo-xcb-resources.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void resource_parser_init (struct resource_parser *parser,
      cairo_xcb_resources_t *resources) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: resource_parse_line
      Src: /src/cairo/src/cairo-xcb-resources.c:205,1
    - Dst: free
      Src: /src/cairo/src/cairo-xcb-resources.c:208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - parser
    argTypes:
    - struct resource_parser*
    constantsTouched: []
    func_position:
      end: 209
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 209
    functionName: resource_parser_done
    functionSourceFile: /src/cairo/src/cairo-xcb-resources.c
    functionUses: []
    functionsReached:
    - free
    - resource_parse_line
    linkageType: ''
    returnType: void
    signature: 'static void resource_parser_done (struct resource_parser *parser) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/cairo/src/cairo-xcb-resources.c:145,1
    - Dst: resource_parse_line
      Src: /src/cairo/src/cairo-xcb-resources.c:151,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 1
    argNames:
    - parser
    argTypes:
    - struct resource_parser*
    constantsTouched: []
    func_position:
      end: 158
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 158
    functionName: resource_parse_lines
    functionSourceFile: /src/cairo/src/cairo-xcb-resources.c
    functionUses: []
    functionsReached:
    - strchr
    - resource_parse_line
    linkageType: ''
    returnType: int
    signature: 'static int resource_parse_lines (struct resource_parser *parser) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FcNameConstant
      Src: /src/cairo/src/cairo-xcb-resources.c:86,1
    - Dst: strtol
      Src: /src/cairo/src/cairo-xcb-resources.c:90,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - v
    - out
    argTypes:
    - char*
    - int*
    constantsTouched: []
    func_position:
      end: 93
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 93
    functionName: parse_integer
    functionSourceFile: /src/cairo/src/cairo-xcb-resources.c
    functionUses: []
    functionsReached:
    - FcNameConstant
    - strtol
    linkageType: ''
    returnType: void
    signature: 'static void parse_integer (const char *v, int *out) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/cairo/src/cairo-xcb-resources.c:176,1
    - Dst: memmove
      Src: /src/cairo/src/cairo-xcb-resources.c:191,1
    - Dst: resource_parse_lines
      Src: /src/cairo/src/cairo-xcb-resources.c:188,1
    - Dst: memmove
      Src: /src/cairo/src/cairo-xcb-resources.c:184,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - parser
    - data
    - length
    argTypes:
    - struct resource_parser*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 198
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 198
    functionName: resource_parser_update
    functionSourceFile: /src/cairo/src/cairo-xcb-resources.c
    functionUses: []
    functionsReached:
    - memmove
    - resource_parse_lines
    - realloc
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t resource_parser_update (struct resource_parser
      *parser, const char *data, int length) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: resource_parser_init
      Src: /src/cairo/src/cairo-xcb-resources.c:226,1
    - Dst: xcb_get_property
      Src: /src/cairo/src/cairo-xcb-resources.c:231,1
    - Dst: xcb_get_property_value
      Src: /src/cairo/src/cairo-xcb-resources.c:236,1
    - Dst: xcb_get_property_reply
      Src: /src/cairo/src/cairo-xcb-resources.c:232,1
    - Dst: xcb_get_property_value_length
      Src: /src/cairo/src/cairo-xcb-resources.c:237,1
    - Dst: resource_parser_update
      Src: /src/cairo/src/cairo-xcb-resources.c:242,1
    - Dst: free
      Src: /src/cairo/src/cairo-xcb-resources.c:246,1
    - Dst: resource_parser_done
      Src: /src/cairo/src/cairo-xcb-resources.c:250,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 3
    argNames:
    - connection
    - screen
    - resources
    argTypes:
    - xcb_connection_t*
    - xcb_screen_t*
    - cairo_xcb_resources_t*
    constantsTouched: []
    func_position:
      end: 251
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 251
    functionName: get_resources
    functionSourceFile: /src/cairo/src/cairo-xcb-resources.c
    functionUses: []
    functionsReached:
    - resource_parser_done
    - free
    - xcb_get_property_value
    - resource_parser_update
    - xcb_get_property_value_length
    - resource_parser_init
    - xcb_get_property
    - xcb_get_property_reply
    linkageType: ''
    returnType: void
    signature: 'static void get_resources(xcb_connection_t *connection, xcb_screen_t
      *screen, cairo_xcb_resources_t *resources) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get_resources
      Src: /src/cairo/src/cairo-xcb-resources.c:256,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    argCount: 2
    argNames:
    - screen
    - resources
    argTypes:
    - cairo_xcb_screen_t*
    - cairo_xcb_resources_t*
    constantsTouched: []
    func_position:
      end: 280
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 280
    functionName: _cairo_xcb_resources_get
    functionSourceFile: /src/cairo/src/cairo-xcb-resources.c
    functionUses: []
    functionsReached:
    - get_resources
    linkageType: ''
    returnType: void
    signature: 'void _cairo_xcb_resources_get (cairo_xcb_screen_t *screen, cairo_xcb_resources_t
      *resources) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_explicit
      Src: /src/cairo/src/cairo-atomic-private.h:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - cairo_atomic_int_t*
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: _cairo_atomic_int_get
    functionSourceFile: /src/cairo/src/cairo-atomic-private.h
    functionUses: []
    functionsReached:
    - atomic_load_explicit
    linkageType: ''
    returnType: cairo_always_inline
    signature: 'static cairo_always_inline int _cairo_atomic_int_get (cairo_atomic_int_t
      *x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store_explicit
      Src: /src/cairo/src/cairo-atomic-private.h:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - x
    - val
    argTypes:
    - cairo_atomic_int_t*
    - int
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: _cairo_atomic_int_set_relaxed
    functionSourceFile: /src/cairo/src/cairo-atomic-private.h
    functionUses: []
    functionsReached:
    - atomic_store_explicit
    linkageType: ''
    returnType: cairo_always_inline
    signature: 'static cairo_always_inline void _cairo_atomic_int_set_relaxed (cairo_atomic_int_t
      *x, int val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __atomic_store_n
      Src: /src/cairo/src/cairo-atomic-private.h:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - x
    - val
    argTypes:
    - cairo_atomic_int_t*
    - int
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: _cairo_atomic_int_set_relaxed
    functionSourceFile: /src/cairo/src/cairo-atomic-private.h
    functionUses: []
    functionsReached:
    - __atomic_store_n
    linkageType: ''
    returnType: cairo_always_inline
    signature: 'static cairo_always_inline void _cairo_atomic_int_set_relaxed (cairo_atomic_int_t
      *x, int val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_explicit
      Src: /src/cairo/src/cairo-atomic-private.h:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - cairo_atomic_int_t*
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: _cairo_atomic_int_get_relaxed
    functionSourceFile: /src/cairo/src/cairo-atomic-private.h
    functionUses: []
    functionsReached:
    - atomic_load_explicit
    linkageType: ''
    returnType: cairo_always_inline
    signature: 'static cairo_always_inline int _cairo_atomic_int_get_relaxed (cairo_atomic_int_t
      *x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_explicit
      Src: /src/cairo/src/cairo-atomic-private.h:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: _cairo_atomic_ptr_get
    functionSourceFile: /src/cairo/src/cairo-atomic-private.h
    functionUses: []
    functionsReached:
    - atomic_load_explicit
    linkageType: ''
    returnType: cairo_always_inline*
    signature: 'static cairo_always_inline void *_cairo_atomic_ptr_get (cairo_atomic_intptr_t
      *x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_compare_exchange_strong_explicit
      Src: /src/cairo/src/cairo-atomic-private.h:116,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - x
    - oldv
    - newv
    argTypes:
    - cairo_atomic_intptr_t*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: _cairo_atomic_ptr_cmpxchg_impl
    functionSourceFile: /src/cairo/src/cairo-atomic-private.h
    functionUses: []
    functionsReached:
    - atomic_compare_exchange_strong_explicit
    linkageType: ''
    returnType: cairo_always_inline
    signature: 'static cairo_always_inline cairo_bool_t _cairo_atomic_ptr_cmpxchg_impl(cairo_atomic_intptr_t
      *x, void *oldv, void *newv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __atomic_load_n
      Src: /src/cairo/src/cairo-atomic-private.h:173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: _cairo_atomic_ptr_get
    functionSourceFile: /src/cairo/src/cairo-atomic-private.h
    functionUses: []
    functionsReached:
    - __atomic_load_n
    linkageType: ''
    returnType: cairo_always_inline*
    signature: 'static cairo_always_inline void *_cairo_atomic_ptr_get (cairo_atomic_intptr_t
      *x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __atomic_compare_exchange_n
      Src: /src/cairo/src/cairo-atomic-private.h:209,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - x
    - oldv
    - newv
    argTypes:
    - cairo_atomic_intptr_t*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 210
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 210
    functionName: _cairo_atomic_ptr_cmpxchg_impl
    functionSourceFile: /src/cairo/src/cairo-atomic-private.h
    functionUses: []
    functionsReached:
    - __atomic_compare_exchange_n
    linkageType: ''
    returnType: cairo_always_inline
    signature: 'static cairo_always_inline cairo_bool_t _cairo_atomic_ptr_cmpxchg_impl(cairo_atomic_intptr_t
      *x, void *oldv, void *newv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - x
    - val
    argTypes:
    - cairo_atomic_int_t*
    - int
    constantsTouched: []
    func_position:
      end: 252
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 252
    functionName: _cairo_atomic_int_set_relaxed
    functionSourceFile: /src/cairo/src/cairo-atomic-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_always_inline
    signature: 'static cairo_always_inline void _cairo_atomic_int_set_relaxed (cairo_atomic_int_t
      *x, int val) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/cairo/src/cairo-atomic-private.h:496,1
    - Dst: _cairo_atomic_int_get
      Src: /src/cairo/src/cairo-atomic-private.h:504,1
    - Dst: _cairo_atomic_int_get
      Src: /src/cairo/src/cairo-atomic-private.h:496,1
    - Dst: _cairo_atomic_int_cmpxchg
      Src: /src/cairo/src/cairo-atomic-private.h:499,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - once
    argTypes:
    - cairo_atomic_once_t*
    constantsTouched: []
    func_position:
      end: 506
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 506
    functionName: _cairo_atomic_init_once_enter
    functionSourceFile: /src/cairo/src/cairo-atomic-private.h
    functionUses: []
    functionsReached:
    - _cairo_atomic_int_get
    - _cairo_atomic_int_cmpxchg
    - likely
    linkageType: ''
    returnType: cairo_always_inline
    signature: 'static cairo_always_inline cairo_bool_t _cairo_atomic_init_once_enter(cairo_atomic_once_t
      *once) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __atomic_compare_exchange_n
      Src: /src/cairo/src/cairo-atomic-private.h:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - x
    - oldv
    - newv
    argTypes:
    - cairo_atomic_int_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 187
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 187
    functionName: _cairo_atomic_int_cmpxchg_impl
    functionSourceFile: /src/cairo/src/cairo-atomic-private.h
    functionUses: []
    functionsReached:
    - __atomic_compare_exchange_n
    linkageType: ''
    returnType: cairo_always_inline
    signature: "static cairo_always_inline cairo_bool_t _cairo_atomic_int_cmpxchg_impl(cairo_atomic_int_t\
      \ *x,\t\t\t int oldv,\t\t\t int newv) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_synchronize
      Src: /src/cairo/src/cairo-atomic-private.h:257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 259
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 259
    functionName: _cairo_atomic_ptr_get
    functionSourceFile: /src/cairo/src/cairo-atomic-private.h
    functionUses: []
    functionsReached:
    - __sync_synchronize
    linkageType: ''
    returnType: cairo_always_inline*
    signature: 'static cairo_always_inline void *_cairo_atomic_ptr_get (cairo_atomic_intptr_t
      *x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemoryBarrier
      Src: /src/cairo/src/cairo-atomic-private.h:343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - cairo_atomic_int_t*
    constantsTouched: []
    func_position:
      end: 345
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 345
    functionName: _cairo_atomic_int_get
    functionSourceFile: /src/cairo/src/cairo-atomic-private.h
    functionUses: []
    functionsReached:
    - MemoryBarrier
    linkageType: ''
    returnType: cairo_always_inline
    signature: 'static cairo_always_inline int _cairo_atomic_int_get (cairo_atomic_int_t
      *x) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-atomic-private.h:511,1
    - Dst: _cairo_atomic_int_cmpxchg
      Src: /src/cairo/src/cairo-atomic-private.h:511,1
    - Dst: assert
      Src: /src/cairo/src/cairo-atomic-private.h:514,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - once
    argTypes:
    - cairo_atomic_once_t*
    constantsTouched: []
    func_position:
      end: 515
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 515
    functionName: _cairo_atomic_init_once_leave
    functionSourceFile: /src/cairo/src/cairo-atomic-private.h
    functionUses: []
    functionsReached:
    - _cairo_atomic_int_cmpxchg
    - assert
    - unlikely
    linkageType: ''
    returnType: cairo_always_inline
    signature: 'static cairo_always_inline void _cairo_atomic_init_once_leave(cairo_atomic_once_t
      *once) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __atomic_load_n
      Src: /src/cairo/src/cairo-atomic-private.h:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - cairo_atomic_int_t*
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: _cairo_atomic_int_get
    functionSourceFile: /src/cairo/src/cairo-atomic-private.h
    functionUses: []
    functionsReached:
    - __atomic_load_n
    linkageType: ''
    returnType: cairo_always_inline
    signature: 'static cairo_always_inline int _cairo_atomic_int_get (cairo_atomic_int_t
      *x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_synchronize
      Src: /src/cairo/src/cairo-atomic-private.h:238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - cairo_atomic_int_t*
    constantsTouched: []
    func_position:
      end: 240
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 240
    functionName: _cairo_atomic_int_get
    functionSourceFile: /src/cairo/src/cairo-atomic-private.h
    functionUses: []
    functionsReached:
    - __sync_synchronize
    linkageType: ''
    returnType: cairo_always_inline
    signature: 'static cairo_always_inline int _cairo_atomic_int_get (cairo_atomic_int_t
      *x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemoryBarrier
      Src: /src/cairo/src/cairo-atomic-private.h:365,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 367
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 367
    functionName: _cairo_atomic_ptr_get
    functionSourceFile: /src/cairo/src/cairo-atomic-private.h
    functionUses: []
    functionsReached:
    - MemoryBarrier
    linkageType: ''
    returnType: cairo_always_inline*
    signature: 'static cairo_always_inline void *_cairo_atomic_ptr_get (cairo_atomic_intptr_t
      *x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __atomic_compare_exchange_n
      Src: /src/cairo/src/cairo-atomic-private.h:219,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 221
    functionName: _cairo_atomic_ptr_cmpxchg_return_old_impl
    functionSourceFile: /src/cairo/src/cairo-atomic-private.h
    functionUses: []
    functionsReached:
    - __atomic_compare_exchange_n
    linkageType: ''
    returnType: cairo_always_inline*
    signature: 'static cairo_always_inline void *_cairo_atomic_ptr_cmpxchg_return_old_impl(cairo_atomic_intptr_t
      *x, void *oldv, void *newv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_compare_exchange_strong_explicit
      Src: /src/cairo/src/cairo-atomic-private.h:126,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: _cairo_atomic_ptr_cmpxchg_return_old_impl
    functionSourceFile: /src/cairo/src/cairo-atomic-private.h
    functionUses: []
    functionsReached:
    - atomic_compare_exchange_strong_explicit
    linkageType: ''
    returnType: cairo_always_inline*
    signature: 'static cairo_always_inline void *_cairo_atomic_ptr_cmpxchg_return_old_impl(cairo_atomic_intptr_t
      *x, void *oldv, void *newv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __atomic_load_n
      Src: /src/cairo/src/cairo-atomic-private.h:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - cairo_atomic_int_t*
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: _cairo_atomic_int_get_relaxed
    functionSourceFile: /src/cairo/src/cairo-atomic-private.h
    functionUses: []
    functionsReached:
    - __atomic_load_n
    linkageType: ''
    returnType: cairo_always_inline
    signature: 'static cairo_always_inline int _cairo_atomic_int_get_relaxed (cairo_atomic_int_t
      *x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __atomic_compare_exchange_n
      Src: /src/cairo/src/cairo-atomic-private.h:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - x
    - oldv
    - newv
    argTypes:
    - cairo_atomic_int_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: _cairo_atomic_int_cmpxchg_return_old_impl
    functionSourceFile: /src/cairo/src/cairo-atomic-private.h
    functionUses: []
    functionsReached:
    - __atomic_compare_exchange_n
    linkageType: ''
    returnType: cairo_always_inline
    signature: "static cairo_always_inline int _cairo_atomic_int_cmpxchg_return_old_impl(cairo_atomic_int_t\
      \ *x,\t\t\t\t\t int oldv,\t\t\t\t\t int newv) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - cairo_atomic_int_t*
    constantsTouched: []
    func_position:
      end: 246
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 246
    functionName: _cairo_atomic_int_get_relaxed
    functionSourceFile: /src/cairo/src/cairo-atomic-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_always_inline
    signature: 'static cairo_always_inline int _cairo_atomic_int_get_relaxed (cairo_atomic_int_t
      *x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedCompareExchangePointer
      Src: /src/cairo/src/cairo-atomic-private.h:372,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - x
    - oldv
    - newv
    argTypes:
    - cairo_atomic_intptr_t*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 373
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 373
    functionName: _cairo_atomic_ptr_cmpxchg
    functionSourceFile: /src/cairo/src/cairo-atomic-private.h
    functionUses: []
    functionsReached:
    - InterlockedCompareExchangePointer
    linkageType: ''
    returnType: cairo_always_inline
    signature: 'static cairo_always_inline cairo_bool_t _cairo_atomic_ptr_cmpxchg
      (cairo_atomic_intptr_t *x, void *oldv, void *newv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_atomic_ptr_get
      Src: /src/cairo/src/cairo-atomic-private.h:449,1
    - Dst: _cairo_atomic_ptr_cmpxchg
      Src: /src/cairo/src/cairo-atomic-private.h:450,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 453
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 453
    functionName: _cairo_atomic_ptr_cmpxchg_return_old_fallback
    functionSourceFile: /src/cairo/src/cairo-atomic-private.h
    functionUses: []
    functionsReached:
    - _cairo_atomic_ptr_cmpxchg
    - _cairo_atomic_ptr_get
    linkageType: ''
    returnType: cairo_always_inline*
    signature: 'static cairo_always_inline void *_cairo_atomic_ptr_cmpxchg_return_old_fallback(cairo_atomic_intptr_t
      *x, void *oldv, void *newv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 429
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 429
    functionName: _cairo_atomic_intptr_to_voidptr
    functionSourceFile: /src/cairo/src/cairo-atomic-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_always_inline*
    signature: 'static cairo_always_inline void *_cairo_atomic_intptr_to_voidptr (cairo_atomic_intptr_t
      x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_compare_exchange_strong_explicit
      Src: /src/cairo/src/cairo-atomic-private.h:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - x
    - oldv
    - newv
    argTypes:
    - cairo_atomic_int_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: _cairo_atomic_int_cmpxchg_impl
    functionSourceFile: /src/cairo/src/cairo-atomic-private.h
    functionUses: []
    functionsReached:
    - atomic_compare_exchange_strong_explicit
    linkageType: ''
    returnType: cairo_always_inline
    signature: "static cairo_always_inline cairo_bool_t _cairo_atomic_int_cmpxchg_impl(cairo_atomic_int_t\
      \ *x,\t\t\t int oldv,\t\t\t int newv) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_compare_exchange_strong_explicit
      Src: /src/cairo/src/cairo-atomic-private.h:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - x
    - oldv
    - newv
    argTypes:
    - cairo_atomic_int_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: _cairo_atomic_int_cmpxchg_return_old_impl
    functionSourceFile: /src/cairo/src/cairo-atomic-private.h
    functionUses: []
    functionsReached:
    - atomic_compare_exchange_strong_explicit
    linkageType: ''
    returnType: cairo_always_inline
    signature: "static cairo_always_inline int _cairo_atomic_int_cmpxchg_return_old_impl(cairo_atomic_int_t\
      \ *x,\t\t\t\t\t int oldv,\t\t\t\t\t int newv) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedCompareExchange
      Src: /src/cairo/src/cairo-atomic-private.h:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - x
    - oldv
    - newv
    argTypes:
    - cairo_atomic_int_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 360
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 360
    functionName: _cairo_atomic_int_cmpxchg
    functionSourceFile: /src/cairo/src/cairo-atomic-private.h
    functionUses: []
    functionsReached:
    - InterlockedCompareExchange
    linkageType: ''
    returnType: cairo_always_inline
    signature: 'static cairo_always_inline cairo_bool_t _cairo_atomic_int_cmpxchg
      (cairo_atomic_int_t *x, int oldv, int newv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedCompareExchangePointer
      Src: /src/cairo/src/cairo-atomic-private.h:378,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 379
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 379
    functionName: _cairo_atomic_ptr_cmpxchg_return_old
    functionSourceFile: /src/cairo/src/cairo-atomic-private.h
    functionUses: []
    functionsReached:
    - InterlockedCompareExchangePointer
    linkageType: ''
    returnType: cairo_always_inline*
    signature: 'static cairo_always_inline void *_cairo_atomic_ptr_cmpxchg_return_old
      (cairo_atomic_intptr_t *x, void *oldv, void *newv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_atomic_int_get
      Src: /src/cairo/src/cairo-atomic-private.h:437,1
    - Dst: _cairo_atomic_int_cmpxchg
      Src: /src/cairo/src/cairo-atomic-private.h:438,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - x
    - oldv
    - newv
    argTypes:
    - cairo_atomic_int_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 441
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 441
    functionName: _cairo_atomic_int_cmpxchg_return_old_fallback
    functionSourceFile: /src/cairo/src/cairo-atomic-private.h
    functionUses: []
    functionsReached:
    - _cairo_atomic_int_get
    - _cairo_atomic_int_cmpxchg
    linkageType: ''
    returnType: cairo_always_inline
    signature: 'static cairo_always_inline int _cairo_atomic_int_cmpxchg_return_old_fallback(cairo_atomic_int_t
      *x, int oldv, int newv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rol
      Src: /src/cairo/src/cairo-xlib-source.c:138,1
    - Dst: rol
      Src: /src/cairo/src/cairo-xlib-source.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: hars_petruska_f54_1_random
    functionSourceFile: /src/cairo/src/cairo-xlib-source.c
    functionUses: []
    functionsReached:
    - rol
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t hars_petruska_f54_1_random (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_matrix_to_pixman_matrix_offset
      Src: /src/cairo/src/cairo-xlib-source.c:168,1
    - Dst: CAIRO_RENDER_HAS_PICTURE_TRANSFORM
      Src: /src/cairo/src/cairo-xlib-source.c:180,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-source.c:173,1
    - Dst: XRenderSetPictureTransform
      Src: /src/cairo/src/cairo-xlib-source.c:183,1
    - Dst: memcmp
      Src: /src/cairo/src/cairo-xlib-source.c:176,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 8
    argNames:
    - display
    - picture
    - matrix
    - filter
    - xc
    - yc
    - x_offset
    - y_offset
    argTypes:
    - cairo_xlib_display_t*
    - Picture
    - cairo_matrix_t*
    - cairo_filter_t
    - double
    - double
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 185
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 185
    functionName: picture_set_matrix
    functionSourceFile: /src/cairo/src/cairo-xlib-source.c
    functionUses: []
    functionsReached:
    - _cairo_matrix_to_pixman_matrix_offset
    - CAIRO_RENDER_HAS_PICTURE_TRANSFORM
    - unlikely
    - XRenderSetPictureTransform
    - memcmp
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t picture_set_matrix (cairo_xlib_display_t *display,\t\
      \t Picture picture,\t\t const cairo_matrix_t *matrix,\t\t cairo_filter_t filter,\t\
      \t double xc,\t\t double yc,\t\t int *x_offset,\t\t int *y_offset) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-xlib-source.c:576,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xlib-source.c:586,1
    - Dst: hars_petruska_f54_1_random
      Src: /src/cairo/src/cairo-xlib-source.c:585,1
    - Dst: color_source
      Src: /src/cairo/src/cairo-xlib-source.c:588,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-xlib-source.c:577,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xlib-source.c:594,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-xlib-source.c:595,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 596
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 596
    functionName: transparent_source
    functionSourceFile: /src/cairo/src/cairo-xlib-source.c
    functionUses: []
    functionsReached:
    - cairo_surface_reference
    - cairo_surface_destroy
    - assert
    - hars_petruska_f54_1_random
    - color_source
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *transparent_source (cairo_xlib_surface_t *dst,
      const cairo_color_t *color) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xlib_shm_surface_get_xrender_format
      Src: /src/cairo/src/cairo-xlib-source.c:981,1
    - Dst: _cairo_rectangle_intersect
      Src: /src/cairo/src/cairo-xlib-source.c:1001,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xlib-source.c:1023,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xlib-source.c:1022,1
    - Dst: _cairo_xlib_surface_draw_image
      Src: /src/cairo/src/cairo-xlib-source.c:1027,1
    - Dst: _cairo_pattern_init_for_surface
      Src: /src/cairo/src/cairo-xlib-source.c:1037,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/src/cairo-xlib-source.c:1038,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xlib-source.c:1049,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xlib-source.c:1056,1
    - Dst: _cairo_xlib_surface_ensure_picture
      Src: /src/cairo/src/cairo-xlib-source.c:1070,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/src/cairo-xlib-source.c:1063,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-source.c:969,1
    - Dst: _cairo_surface_init
      Src: /src/cairo/src/cairo-xlib-source.c:972,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xlib-source.c:970,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-xlib-source.c:989,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xlib-source.c:1023,1
    - Dst: _cairo_surface_create_scratch
      Src: /src/cairo/src/cairo-xlib-source.c:1015,1
    - Dst: _cairo_pattern_fini
      Src: /src/cairo/src/cairo-xlib-source.c:1045,1
    - Dst: _cairo_surface_unmap_image
      Src: /src/cairo/src/cairo-xlib-source.c:1047,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-source.c:1048,1
    - Dst: _cairo_pattern_init_static_copy
      Src: /src/cairo/src/cairo-xlib-source.c:1060,1
    - Dst: embedded_source
      Src: /src/cairo/src/cairo-xlib-source.c:991,1
    - Dst: alpha_source
      Src: /src/cairo/src/cairo-xlib-source.c:999,1
    - Dst: _cairo_rectangle_intersect
      Src: /src/cairo/src/cairo-xlib-source.c:998,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xlib-source.c:1021,1
    - Dst: _cairo_surface_paint
      Src: /src/cairo/src/cairo-xlib-source.c:1041,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xlib-source.c:1050,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xlib-source.c:1055,1
    - Dst: picture_set_properties
      Src: /src/cairo/src/cairo-xlib-source.c:1071,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xlib-source.c:1078,1
    - Dst: render_pattern
      Src: /src/cairo/src/cairo-xlib-source.c:1079,1
    - Dst: _cairo_xlib_shm_surface_get_pixmap
      Src: /src/cairo/src/cairo-xlib-source.c:965,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-xlib-source.c:968,1
    - Dst: XRenderCreatePicture
      Src: /src/cairo/src/cairo-xlib-source.c:979,1
    - Dst: _cairo_xlib_shm_surface_get_pixmap
      Src: /src/cairo/src/cairo-xlib-source.c:980,1
    - Dst: _cairo_surface_get_extents
      Src: /src/cairo/src/cairo-xlib-source.c:996,1
    - Dst: _cairo_surface_is_image
      Src: /src/cairo/src/cairo-xlib-source.c:1026,1
    - Dst: _cairo_surface_map_to_image
      Src: /src/cairo/src/cairo-xlib-source.c:1035,1
    - Dst: _cairo_xlib_surface_put_shm
      Src: /src/cairo/src/cairo-xlib-source.c:1053,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-source.c:1054,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-xlib-source.c:1064,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 101
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 1085
    functionName: surface_source
    functionSourceFile: /src/cairo/src/cairo-xlib-source.c
    functionUses: []
    functionsReached:
    - _cairo_surface_create_scratch
    - _cairo_error
    - _cairo_surface_get_extents
    - alpha_source
    - _cairo_xlib_surface_put_shm
    - _cairo_surface_create_in_error
    - _cairo_xlib_shm_surface_get_xrender_format
    - _cairo_surface_paint
    - _cairo_pattern_init_for_surface
    - _cairo_surface_init
    - _cairo_surface_is_image
    - cairo_surface_reference
    - _cairo_pattern_fini
    - render_pattern
    - _cairo_surface_unmap_image
    - _cairo_calloc
    - _cairo_xlib_surface_ensure_picture
    - _cairo_rectangle_intersect
    - embedded_source
    - _cairo_pattern_init_static_copy
    - picture_set_properties
    - cairo_matrix_init_translate
    - _cairo_xlib_surface_draw_image
    - _cairo_surface_map_to_image
    - XRenderCreatePicture
    - cairo_surface_destroy
    - _cairo_xlib_shm_surface_get_pixmap
    - cairo_matrix_multiply
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *surface_source (cairo_xlib_surface_t *dst,\t\
      \tconst cairo_surface_pattern_t *pattern,\t\tcairo_bool_t is_mask,\t\tconst\
      \ cairo_rectangle_int_t *extents,\t\tconst cairo_rectangle_int_t *sample,\t\t\
      int *src_x, int *src_y) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xlib-source.c:109,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-source.c:112,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-xlib-source.c:111,1
    - Dst: XRenderFreePicture
      Src: /src/cairo/src/cairo-xlib-source.c:113,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xlib-source.c:109,1
    - Dst: XFreePixmap
      Src: /src/cairo/src/cairo-xlib-source.c:115,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xlib-source.c:116,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xlib-source.c:116,1
    - Dst: _cairo_surface_init
      Src: /src/cairo/src/cairo-xlib-source.c:119,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 131
    functionName: source
    functionSourceFile: /src/cairo/src/cairo-xlib-source.c
    functionUses: []
    functionsReached:
    - _cairo_surface_init
    - _cairo_error
    - XFreePixmap
    - _cairo_surface_create_in_error
    - XRenderFreePicture
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *source (cairo_xlib_surface_t *dst, Picture
      picture, Pixmap pixmap) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: XRenderSetPictureFilter
      Src: /src/cairo/src/cairo-xlib-source.c:221,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 9
    argCount: 3
    argNames:
    - dpy
    - picture
    - filter
    argTypes:
    - Display*
    - Picture
    - cairo_filter_t
    constantsTouched: []
    func_position:
      end: 223
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 223
    functionName: picture_set_filter
    functionSourceFile: /src/cairo/src/cairo-xlib-source.c
    functionUses: []
    functionsReached:
    - XRenderSetPictureFilter
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t picture_set_filter (Display *dpy,\t\t Picture\
      \ picture,\t\t cairo_filter_t filter) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: alpha_source
      Src: /src/cairo/src/cairo-xlib-source.c:603,1
    - Dst: CAIRO_ALPHA_SHORT_IS_OPAQUE
      Src: /src/cairo/src/cairo-xlib-source.c:605,1
    - Dst: white_source
      Src: /src/cairo/src/cairo-xlib-source.c:607,1
    - Dst: transparent_source
      Src: /src/cairo/src/cairo-xlib-source.c:611,1
    - Dst: opaque_source
      Src: /src/cairo/src/cairo-xlib-source.c:609,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 612
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 612
    functionName: solid_source
    functionSourceFile: /src/cairo/src/cairo-xlib-source.c
    functionUses: []
    functionsReached:
    - transparent_source
    - CAIRO_ALPHA_SHORT_IS_OPAQUE
    - alpha_source
    - white_source
    - opaque_source
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *solid_source (cairo_xlib_surface_t *dst,\t\
      \ const cairo_color_t *color) "
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_RENDER_HAS_PICTURE_TRANSFORM
      Src: /src/cairo/src/cairo-xlib-source.c:1107,1
    - Dst: _cairo_matrix_is_integer_translation
      Src: /src/cairo/src/cairo-xlib-source.c:1108,1
    - Dst: CAIRO_RENDER_HAS_FILTER_GOOD
      Src: /src/cairo/src/cairo-xlib-source.c:1110,1
    - Dst: CAIRO_RENDER_HAS_FILTER_BEST
      Src: /src/cairo/src/cairo-xlib-source.c:1112,1
    - Dst: CAIRO_RENDER_HAS_FILTERS
      Src: /src/cairo/src/cairo-xlib-source.c:1116,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 17
    argCount: 2
    argNames:
    - display
    - pattern
    argTypes:
    - cairo_xlib_display_t*
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 1118
      start: 1087
    functionDepth: 0
    functionLinenumber: 1087
    functionLinenumberEnd: 1118
    functionName: pattern_is_supported
    functionSourceFile: /src/cairo/src/cairo-xlib-source.c
    functionUses: []
    functionsReached:
    - CAIRO_RENDER_HAS_PICTURE_TRANSFORM
    - _cairo_matrix_is_integer_translation
    - CAIRO_RENDER_HAS_FILTER_GOOD
    - CAIRO_RENDER_HAS_FILTER_BEST
    - CAIRO_RENDER_HAS_FILTERS
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t pattern_is_supported (cairo_xlib_display_t *display,\t\
      \t const cairo_pattern_t *pattern) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pattern_get_source
      Src: /src/cairo/src/cairo-xlib-source.c:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: unwrap_source
    functionSourceFile: /src/cairo/src/cairo-xlib-source.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_get_source
    linkageType: ''
    returnType: cairo_xlib_surface_t*
    signature: 'static cairo_xlib_surface_t *unwrap_source (const cairo_surface_pattern_t
      *pattern) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_RENDER_HAS_GRADIENTS
      Src: /src/cairo/src/cairo-xlib-source.c:460,1
    - Dst: XCreatePixmap
      Src: /src/cairo/src/cairo-xlib-source.c:469,1
    - Dst: XRenderCreatePicture
      Src: /src/cairo/src/cairo-xlib-source.c:470,1
    - Dst: _cairo_xlib_display_get_xrender_format
      Src: /src/cairo/src/cairo-xlib-source.c:471,1
    - Dst: XRenderCreateSolidFill
      Src: /src/cairo/src/cairo-xlib-source.c:461,1
    - Dst: CAIRO_RENDER_HAS_FILL_RECTANGLES
      Src: /src/cairo/src/cairo-xlib-source.c:474,1
    - Dst: XRenderFillRectangles
      Src: /src/cairo/src/cairo-xlib-source.c:476,1
    - Dst: _cairo_xlib_screen_get_gc
      Src: /src/cairo/src/cairo-xlib-source.c:481,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-source.c:483,1
    - Dst: XFreePixmap
      Src: /src/cairo/src/cairo-xlib-source.c:484,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xlib-source.c:485,1
    - Dst: XFillRectangle
      Src: /src/cairo/src/cairo-xlib-source.c:496,1
    - Dst: _cairo_xlib_screen_put_gc
      Src: /src/cairo/src/cairo-xlib-source.c:498,1
    - Dst: source
      Src: /src/cairo/src/cairo-xlib-source.c:502,1
    - Dst: XChangeGC
      Src: /src/cairo/src/cairo-xlib-source.c:495,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xlib-source.c:485,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 503
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 503
    functionName: color_source
    functionSourceFile: /src/cairo/src/cairo-xlib-source.c
    functionUses: []
    functionsReached:
    - XCreatePixmap
    - _cairo_xlib_display_get_xrender_format
    - XChangeGC
    - _cairo_error
    - XRenderCreatePicture
    - unlikely
    - XFillRectangle
    - XRenderCreateSolidFill
    - _cairo_xlib_screen_put_gc
    - CAIRO_RENDER_HAS_GRADIENTS
    - CAIRO_RENDER_HAS_FILL_RECTANGLES
    - XFreePixmap
    - _cairo_xlib_screen_get_gc
    - _cairo_surface_create_in_error
    - source
    - XRenderFillRectangles
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *color_source (cairo_xlib_surface_t *dst, const
      cairo_color_t *color) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_is_paginated
      Src: /src/cairo/src/cairo-xlib-source.c:874,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-xlib-source.c:875,1
    - Dst: _cairo_surface_snapshot_get_target
      Src: /src/cairo/src/cairo-xlib-source.c:878,1
    - Dst: _cairo_surface_is_snapshot
      Src: /src/cairo/src/cairo-xlib-source.c:877,1
    - Dst: _cairo_paginated_surface_get_recording
      Src: /src/cairo/src/cairo-xlib-source.c:875,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-xlib-source.c:880,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 881
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 881
    functionName: recording_pattern_get_surface
    functionSourceFile: /src/cairo/src/cairo-xlib-source.c
    functionUses: []
    functionsReached:
    - _cairo_surface_is_snapshot
    - cairo_surface_reference
    - _cairo_surface_is_paginated
    - _cairo_paginated_surface_get_recording
    - _cairo_surface_snapshot_get_target
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *recording_pattern_get_surface (const cairo_pattern_t
      *pattern) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XRenderFreePicture
      Src: /src/cairo/src/cairo-xlib-source.c:72,1
    - Dst: XFreePixmap
      Src: /src/cairo/src/cairo-xlib-source.c:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: _cairo_xlib_source_finish
    functionSourceFile: /src/cairo/src/cairo-xlib-source.c
    functionUses: []
    functionsReached:
    - XRenderFreePicture
    - XFreePixmap
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_xlib_source_finish (void *abstract_surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xlib_shm_surface_mark_active
      Src: /src/cairo/src/cairo-xlib-source.c:89,1
    - Dst: XFreePixmap
      Src: /src/cairo/src/cairo-xlib-source.c:92,1
    - Dst: XRenderFreePicture
      Src: /src/cairo/src/cairo-xlib-source.c:90,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xlib-source.c:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 95
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 95
    functionName: _cairo_xlib_proxy_finish
    functionSourceFile: /src/cairo/src/cairo-xlib-source.c
    functionUses: []
    functionsReached:
    - XRenderFreePicture
    - _cairo_xlib_shm_surface_mark_active
    - XFreePixmap
    - cairo_surface_destroy
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_xlib_proxy_finish (void *abstract_surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: color_source
      Src: /src/cairo/src/cairo-xlib-source.c:516,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-xlib-source.c:519,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 520
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 520
    functionName: alpha_source
    functionSourceFile: /src/cairo/src/cairo-xlib-source.c
    functionUses: []
    functionsReached:
    - cairo_surface_reference
    - color_source
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *alpha_source (cairo_xlib_surface_t *dst, uint8_t
      alpha) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: alpha_source
      Src: /src/cairo/src/cairo-xlib-source.c:902,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xlib-source.c:915,1
    - Dst: recording_pattern_get_surface
      Src: /src/cairo/src/cairo-xlib-source.c:919,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-source.c:924,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-xlib-source.c:932,1
    - Dst: _cairo_surface_create_scratch
      Src: /src/cairo/src/cairo-xlib-source.c:908,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xlib-source.c:925,1
    - Dst: _cairo_xlib_surface_ensure_picture
      Src: /src/cairo/src/cairo-xlib-source.c:935,1
    - Dst: picture_set_properties
      Src: /src/cairo/src/cairo-xlib-source.c:936,1
    - Dst: render_pattern
      Src: /src/cairo/src/cairo-xlib-source.c:941,1
    - Dst: _cairo_surface_get_extents
      Src: /src/cairo/src/cairo-xlib-source.c:898,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xlib-source.c:914,1
    - Dst: _cairo_rectangle_intersect
      Src: /src/cairo/src/cairo-xlib-source.c:899,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/src/cairo-xlib-source.c:918,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xlib-source.c:923,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xlib-source.c:940,1
    - Dst: _cairo_recording_surface_replay_with_clip
      Src: /src/cairo/src/cairo-xlib-source.c:920,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/src/cairo-xlib-source.c:931,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xlib-source.c:926,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 946
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 946
    functionName: record_source
    functionSourceFile: /src/cairo/src/cairo-xlib-source.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_surface_ensure_picture
    - _cairo_surface_create_scratch
    - _cairo_rectangle_intersect
    - cairo_surface_destroy
    - alpha_source
    - _cairo_surface_get_extents
    - render_pattern
    - recording_pattern_get_surface
    - _cairo_surface_create_in_error
    - cairo_matrix_multiply
    - picture_set_properties
    - cairo_matrix_init_translate
    - _cairo_recording_surface_replay_with_clip
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *record_source (cairo_xlib_surface_t *dst,\t\
      \ const cairo_surface_pattern_t *pattern,\t cairo_bool_t is_mask,\t const cairo_rectangle_int_t\
      \ *extents,\t const cairo_rectangle_int_t *sample,\t int *src_x, int *src_y) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: solid_source
      Src: /src/cairo/src/cairo-xlib-source.c:1136,1
    - Dst: pattern_is_supported
      Src: /src/cairo/src/cairo-xlib-source.c:1139,1
    - Dst: _cairo_xlib_surface_same_screen
      Src: /src/cairo/src/cairo-xlib-source.c:1143,1
    - Dst: native_source
      Src: /src/cairo/src/cairo-xlib-source.c:1145,1
    - Dst: unwrap_source
      Src: /src/cairo/src/cairo-xlib-source.c:1144,1
    - Dst: record_source
      Src: /src/cairo/src/cairo-xlib-source.c:1150,1
    - Dst: surface_source
      Src: /src/cairo/src/cairo-xlib-source.c:1154,1
    - Dst: gradient_source
      Src: /src/cairo/src/cairo-xlib-source.c:1163,1
    - Dst: render_pattern
      Src: /src/cairo/src/cairo-xlib-source.c:1167,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1120
    functionDepth: 0
    functionLinenumber: 1120
    functionLinenumberEnd: 1168
    functionName: _cairo_xlib_source_create_for_pattern
    functionSourceFile: /src/cairo/src/cairo-xlib-source.c
    functionUses: []
    functionsReached:
    - unwrap_source
    - native_source
    - pattern_is_supported
    - gradient_source
    - record_source
    - surface_source
    - render_pattern
    - solid_source
    - _cairo_xlib_surface_same_screen
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *_cairo_xlib_source_create_for_pattern (cairo_surface_t\
      \ *_dst,\t\t\t\t const cairo_pattern_t *pattern,\t\t\t\t cairo_bool_t is_mask,\t\
      \t\t\t const cairo_rectangle_int_t *extents,\t\t\t\t const cairo_rectangle_int_t\
      \ *sample,\t\t\t\t int *src_x, int *src_y) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: color_source
      Src: /src/cairo/src/cairo-xlib-source.c:528,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-xlib-source.c:530,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 531
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 531
    functionName: white_source
    functionSourceFile: /src/cairo/src/cairo-xlib-source.c
    functionUses: []
    functionsReached:
    - cairo_surface_reference
    - color_source
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *white_source (cairo_xlib_surface_t *dst) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-xlib-source.c:545,1
    - Dst: color_source
      Src: /src/cairo/src/cairo-xlib-source.c:555,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-xlib-source.c:561,1
    - Dst: hars_petruska_f54_1_random
      Src: /src/cairo/src/cairo-xlib-source.c:552,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xlib-source.c:553,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 562
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 562
    functionName: opaque_source
    functionSourceFile: /src/cairo/src/cairo-xlib-source.c
    functionUses: []
    functionsReached:
    - cairo_surface_reference
    - hars_petruska_f54_1_random
    - color_source
    - cairo_surface_destroy
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *opaque_source (cairo_xlib_surface_t *dst,
      const cairo_color_t *color) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 1
    argNames:
    - extend
    argTypes:
    - cairo_extend_t
    constantsTouched: []
    func_position:
      end: 240
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 240
    functionName: extend_to_repeat
    functionSourceFile: /src/cairo/src/cairo-xlib-source.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int extend_to_repeat (cairo_extend_t extend) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_create_scratch
      Src: /src/cairo/src/cairo-xlib-source.c:291,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xlib-source.c:298,1
    - Dst: _cairo_surface_map_to_image
      Src: /src/cairo/src/cairo-xlib-source.c:304,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xlib-source.c:297,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xlib-source.c:298,1
    - Dst: _cairo_surface_offset_paint
      Src: /src/cairo/src/cairo-xlib-source.c:305,1
    - Dst: _cairo_surface_unmap_image
      Src: /src/cairo/src/cairo-xlib-source.c:308,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-source.c:309,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xlib-source.c:310,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xlib-source.c:311,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-source.c:315,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xlib-source.c:317,1
    - Dst: _cairo_xlib_surface_put_shm
      Src: /src/cairo/src/cairo-xlib-source.c:314,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xlib-source.c:316,1
    - Dst: XRenderCreatePicture
      Src: /src/cairo/src/cairo-xlib-source.c:320,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 327
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 327
    functionName: render_pattern
    functionSourceFile: /src/cairo/src/cairo-xlib-source.c
    functionUses: []
    functionsReached:
    - _cairo_surface_create_scratch
    - _cairo_surface_map_to_image
    - _cairo_error
    - XRenderCreatePicture
    - cairo_surface_destroy
    - _cairo_xlib_surface_put_shm
    - _cairo_surface_offset_paint
    - _cairo_surface_create_in_error
    - _cairo_surface_unmap_image
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *render_pattern (cairo_xlib_surface_t *dst,\t\
      \tconst cairo_pattern_t *pattern,\t\tcairo_bool_t is_mask,\t\tconst cairo_rectangle_int_t\
      \ *extents,\t\tint *src_x, int *src_y) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_init
      Src: /src/cairo/src/cairo-xlib-source.c:626,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-xlib-source.c:644,1
    - Dst: XRenderCreatePicture
      Src: /src/cairo/src/cairo-xlib-source.c:633,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 645
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 645
    functionName: init_source
    functionSourceFile: /src/cairo/src/cairo-xlib-source.c
    functionUses: []
    functionsReached:
    - cairo_surface_reference
    - XRenderCreatePicture
    - _cairo_surface_init
    linkageType: ''
    returnType: cairo_xlib_source_t*
    signature: "static cairo_xlib_source_t *init_source (cairo_xlib_surface_t *dst,\t\
      \t\t\t\t cairo_xlib_surface_t *src) "
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_paint
      Src: /src/cairo/src/cairo-xlib-source.c:769,1
    - Dst: XRenderChangePicture
      Src: /src/cairo/src/cairo-xlib-source.c:825,1
    - Dst: _cairo_xlib_surface_ensure_picture
      Src: /src/cairo/src/cairo-xlib-source.c:736,1
    - Dst: embedded_source
      Src: /src/cairo/src/cairo-xlib-source.c:745,1
    - Dst: init_source
      Src: /src/cairo/src/cairo-xlib-source.c:746,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xlib-source.c:776,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xlib-source.c:762,1
    - Dst: extend_to_repeat
      Src: /src/cairo/src/cairo-xlib-source.c:819,1
    - Dst: _cairo_surface_flush
      Src: /src/cairo/src/cairo-xlib-source.c:726,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xlib-source.c:728,1
    - Dst: _cairo_matrix_is_translation
      Src: /src/cairo/src/cairo-xlib-source.c:731,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-source.c:727,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-source.c:775,1
    - Dst: _cairo_matrix_to_pixman_matrix_offset
      Src: /src/cairo/src/cairo-xlib-source.c:790,1
    - Dst: XRenderSetPictureTransform
      Src: /src/cairo/src/cairo-xlib-source.c:805,1
    - Dst: picture_set_filter
      Src: /src/cairo/src/cairo-xlib-source.c:808,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-xlib-source.c:737,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-xlib-source.c:751,1
    - Dst: _cairo_surface_create_scratch
      Src: /src/cairo/src/cairo-xlib-source.c:755,1
    - Dst: _cairo_pattern_init_for_surface
      Src: /src/cairo/src/cairo-xlib-source.c:765,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/src/cairo-xlib-source.c:766,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xlib-source.c:761,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xlib-source.c:777,1
    - Dst: _cairo_pattern_fini
      Src: /src/cairo/src/cairo-xlib-source.c:773,1
    - Dst: _cairo_xlib_surface_ensure_picture
      Src: /src/cairo/src/cairo-xlib-source.c:780,1
    - Dst: _cairo_surface_subsurface_set_snapshot
      Src: /src/cairo/src/cairo-xlib-source.c:781,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-xlib-source.c:799,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 94
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 828
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 828
    functionName: subsurface_source
    functionSourceFile: /src/cairo/src/cairo-xlib-source.c
    functionUses: []
    functionsReached:
    - memcpy
    - _cairo_surface_create_scratch
    - XRenderSetPictureTransform
    - extend_to_repeat
    - _cairo_surface_create_in_error
    - _cairo_surface_paint
    - _cairo_matrix_to_pixman_matrix_offset
    - _cairo_pattern_init_for_surface
    - picture_set_filter
    - cairo_surface_reference
    - _cairo_matrix_is_translation
    - _cairo_pattern_fini
    - _cairo_surface_subsurface_set_snapshot
    - XRenderChangePicture
    - _cairo_xlib_surface_ensure_picture
    - embedded_source
    - _cairo_surface_flush
    - cairo_matrix_init_translate
    - init_source
    - cairo_surface_destroy
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *subsurface_source (cairo_xlib_surface_t *dst,\t\
      \t const cairo_surface_pattern_t *pattern,\t\t cairo_bool_t is_mask,\t\t const\
      \ cairo_rectangle_int_t *extents,\t\t const cairo_rectangle_int_t *sample,\t\
      \t int *src_x, int *src_y) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: picture_set_matrix
      Src: /src/cairo/src/cairo-xlib-source.c:253,1
    - Dst: extend_to_repeat
      Src: /src/cairo/src/cairo-xlib-source.c:267,1
    - Dst: picture_set_filter
      Src: /src/cairo/src/cairo-xlib-source.c:259,1
    - Dst: XRenderChangePicture
      Src: /src/cairo/src/cairo-xlib-source.c:272,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 7
    argNames:
    - display
    - picture
    - pattern
    - matrix
    - extents
    - x_off
    - y_off
    argTypes:
    - cairo_xlib_display_t*
    - Picture
    - cairo_pattern_t*
    - cairo_matrix_t*
    - cairo_rectangle_int_t*
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 275
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 275
    functionName: picture_set_properties
    functionSourceFile: /src/cairo/src/cairo-xlib-source.c
    functionUses: []
    functionsReached:
    - picture_set_matrix
    - picture_set_filter
    - extend_to_repeat
    - XRenderChangePicture
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t picture_set_properties (cairo_xlib_display_t *display,\t\
      \t\tPicture picture,\t\t\tconst cairo_pattern_t *pattern,\t\t\tconst cairo_matrix_t\
      \ *matrix,\t\t\tconst cairo_rectangle_int_t *extents,\t\t\tint *x_off, int *y_off) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-source.c:363,1
    - Dst: _cairo_fixed_16_16_from_double
      Src: /src/cairo/src/cairo-xlib-source.c:383,1
    - Dst: _cairo_fixed_16_16_from_double
      Src: /src/cairo/src/cairo-xlib-source.c:409,1
    - Dst: _cairo_fixed_16_16_from_double
      Src: /src/cairo/src/cairo-xlib-source.c:412,1
    - Dst: XSync
      Src: /src/cairo/src/cairo-xlib-source.c:401,1
    - Dst: _cairo_fixed_16_16_from_double
      Src: /src/cairo/src/cairo-xlib-source.c:420,1
    - Dst: _cairo_fixed_16_16_from_double
      Src: /src/cairo/src/cairo-xlib-source.c:425,1
    - Dst: free
      Src: /src/cairo/src/cairo-xlib-source.c:433,1
    - Dst: source
      Src: /src/cairo/src/cairo-xlib-source.c:444,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-xlib-source.c:352,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-xlib-source.c:361,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xlib-source.c:364,1
    - Dst: _cairo_fixed_16_16_from_double
      Src: /src/cairo/src/cairo-xlib-source.c:423,1
    - Dst: _cairo_radial_pattern_focus_is_inside
      Src: /src/cairo/src/cairo-xlib-source.c:348,1
    - Dst: render_pattern
      Src: /src/cairo/src/cairo-xlib-source.c:349,1
    - Dst: _cairo_fixed_16_16_from_double
      Src: /src/cairo/src/cairo-xlib-source.c:370,1
    - Dst: _cairo_fixed_16_16_from_double
      Src: /src/cairo/src/cairo-xlib-source.c:411,1
    - Dst: _cairo_fixed_16_16_from_double
      Src: /src/cairo/src/cairo-xlib-source.c:421,1
    - Dst: XRenderCreateLinearGradient
      Src: /src/cairo/src/cairo-xlib-source.c:414,1
    - Dst: _cairo_fixed_16_16_from_double
      Src: /src/cairo/src/cairo-xlib-source.c:410,1
    - Dst: XRenderCreateRadialGradient
      Src: /src/cairo/src/cairo-xlib-source.c:427,1
    - Dst: picture_set_properties
      Src: /src/cairo/src/cairo-xlib-source.c:436,1
    - Dst: render_pattern
      Src: /src/cairo/src/cairo-xlib-source.c:441,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xlib-source.c:351,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xlib-source.c:364,1
    - Dst: _cairo_gradient_pattern_fit_to_range
      Src: /src/cairo/src/cairo-xlib-source.c:404,1
    - Dst: _cairo_fixed_16_16_from_double
      Src: /src/cairo/src/cairo-xlib-source.c:422,1
    - Dst: _cairo_fixed_16_16_from_double
      Src: /src/cairo/src/cairo-xlib-source.c:424,1
    - Dst: XRenderFreePicture
      Src: /src/cairo/src/cairo-xlib-source.c:440,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 82
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 445
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 445
    functionName: gradient_source
    functionSourceFile: /src/cairo/src/cairo-xlib-source.c
    functionUses: []
    functionsReached:
    - _cairo_gradient_pattern_fit_to_range
    - _cairo_error
    - _cairo_fixed_16_16_from_double
    - XRenderCreateLinearGradient
    - free
    - picture_set_properties
    - MAX
    - assert
    - render_pattern
    - XSync
    - XRenderCreateRadialGradient
    - _cairo_surface_create_in_error
    - XRenderFreePicture
    - _cairo_radial_pattern_focus_is_inside
    - _cairo_malloc_ab
    - source
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *gradient_source (cairo_xlib_surface_t *dst,\t\
      \t const cairo_gradient_pattern_t *gradient,\t\t cairo_bool_t is_mask,\t\t const\
      \ cairo_rectangle_int_t *extents,\t\t int *src_x, int *src_y) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_matrix_to_pixman_matrix_offset
      Src: /src/cairo/src/cairo-xlib-source.c:660,1
    - Dst: extend_to_repeat
      Src: /src/cairo/src/cairo-xlib-source.c:690,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-xlib-source.c:670,1
    - Dst: picture_set_filter
      Src: /src/cairo/src/cairo-xlib-source.c:679,1
    - Dst: XRenderSetPictureTransform
      Src: /src/cairo/src/cairo-xlib-source.c:676,1
    - Dst: XRenderChangePicture
      Src: /src/cairo/src/cairo-xlib-source.c:696,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 699
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 699
    functionName: embedded_source
    functionSourceFile: /src/cairo/src/cairo-xlib-source.c
    functionUses: []
    functionsReached:
    - _cairo_matrix_to_pixman_matrix_offset
    - memcpy
    - picture_set_filter
    - XRenderSetPictureTransform
    - extend_to_repeat
    - XRenderChangePicture
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *embedded_source (cairo_xlib_surface_t *dst,\t\
      \t const cairo_surface_pattern_t *pattern,\t\t const cairo_rectangle_int_t *extents,\t\
      \t int *src_x, int *src_y,\t\t cairo_xlib_source_t *source) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_is_subsurface
      Src: /src/cairo/src/cairo-xlib-source.c:841,1
    - Dst: subsurface_source
      Src: /src/cairo/src/cairo-xlib-source.c:842,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-source.c:848,1
    - Dst: unwrap_source
      Src: /src/cairo/src/cairo-xlib-source.c:846,1
    - Dst: _cairo_surface_flush
      Src: /src/cairo/src/cairo-xlib-source.c:847,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xlib-source.c:849,1
    - Dst: _cairo_matrix_is_translation
      Src: /src/cairo/src/cairo-xlib-source.c:855,1
    - Dst: _cairo_xlib_surface_ensure_picture
      Src: /src/cairo/src/cairo-xlib-source.c:859,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-xlib-source.c:860,1
    - Dst: embedded_source
      Src: /src/cairo/src/cairo-xlib-source.c:863,1
    - Dst: init_source
      Src: /src/cairo/src/cairo-xlib-source.c:864,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 865
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 865
    functionName: native_source
    functionSourceFile: /src/cairo/src/cairo-xlib-source.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_surface_ensure_picture
    - unwrap_source
    - cairo_surface_reference
    - _cairo_matrix_is_translation
    - embedded_source
    - init_source
    - _cairo_surface_is_subsurface
    - _cairo_surface_create_in_error
    - _cairo_surface_flush
    - subsurface_source
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *native_source (cairo_xlib_surface_t *dst,\t\
      \ const cairo_surface_pattern_t *pattern,\t cairo_bool_t is_mask,\t const cairo_rectangle_int_t\
      \ *extents,\t const cairo_rectangle_int_t *sample,\t int *src_x, int *src_y) "
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cairo/src/cairo-quartz-font.c:130,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-quartz-font.c:132,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-quartz-font.c:134,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-quartz-font.c:138,1
    - Dst: strcpy
      Src: /src/cairo/src/cairo-quartz-font.c:149,1
    - Dst: CFRelease
      Src: /src/cairo/src/cairo-quartz-font.c:165,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-quartz-font.c:169,1
    - Dst: CFStringCreateWithCString
      Src: /src/cairo/src/cairo-quartz-font.c:173,1
    - Dst: CGFontCreateWithFontName
      Src: /src/cairo/src/cairo-quartz-font.c:174,1
    - Dst: cairo_quartz_font_face_create_for_cgfont
      Src: /src/cairo/src/cairo-quartz-font.c:187,1
    - Dst: strcat
      Src: /src/cairo/src/cairo-quartz-font.c:160,1
    - Dst: strcat
      Src: /src/cairo/src/cairo-quartz-font.c:153,1
    - Dst: CFRelease
      Src: /src/cairo/src/cairo-quartz-font.c:175,1
    - Dst: CFRelease
      Src: /src/cairo/src/cairo-quartz-font.c:188,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-quartz-font.c:136,1
    - Dst: strcat
      Src: /src/cairo/src/cairo-quartz-font.c:158,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-quartz-font.c:184,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-quartz-font.c:128,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-quartz-font.c:130,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-quartz-font.c:128,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-quartz-font.c:132,1
    - Dst: strcmp
      Src: /src/cairo/src/cairo-quartz-font.c:138,1
    - Dst: CFStringCreateWithCString
      Src: /src/cairo/src/cairo-quartz-font.c:163,1
    - Dst: CGFontCreateWithFontName
      Src: /src/cairo/src/cairo-quartz-font.c:164,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 75
    argCount: 2
    argNames:
    - toy_face
    - font_face
    argTypes:
    - cairo_toy_font_face_t*
    - cairo_font_face_t**
    constantsTouched: []
    func_position:
      end: 191
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 191
    functionName: _cairo_quartz_font_face_create_for_toy
    functionSourceFile: /src/cairo/src/cairo-quartz-font.c
    functionUses: []
    functionsReached:
    - _cairo_malloc
    - strcat
    - CFRelease
    - strlen
    - _cairo_error
    - strcmp
    - strcpy
    - CGFontCreateWithFontName
    - CFStringCreateWithCString
    - cairo_quartz_font_face_create_for_cgfont
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_quartz_font_face_create_for_toy (cairo_toy_font_face_t\
      \ *toy_face,\t\t\t\t\tcairo_font_face_t **font_face) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CFRelease
      Src: /src/cairo/src/cairo-quartz-font.c:376,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - abstract_font
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 377
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 377
    functionName: _cairo_quartz_scaled_font_fini
    functionSourceFile: /src/cairo/src/cairo-quartz-font.c
    functionUses: []
    functionsReached:
    - CFRelease
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_quartz_scaled_font_fini(void *abstract_font) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-quartz-font.c:320,1
    - Dst: _cairo_font_face_init
      Src: /src/cairo/src/cairo-quartz-font.c:328,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-quartz-font.c:324,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 331
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 331
    functionName: _cairo_quartz_font_face_create
    functionSourceFile: /src/cairo/src/cairo-quartz-font.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_font_face_init
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_quartz_font_face_t*
    signature: 'static inline cairo_quartz_font_face_t *_cairo_quartz_font_face_create
      () '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_scaled_glyph_index
      Src: /src/cairo/src/cairo-quartz-font.c:381,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - scaled_glyph
    argTypes:
    - cairo_scaled_glyph_t*
    constantsTouched: []
    func_position:
      end: 383
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 383
    functionName: _cairo_quartz_scaled_glyph_index
    functionSourceFile: /src/cairo/src/cairo-quartz-font.c
    functionUses: []
    functionsReached:
    - _cairo_scaled_glyph_index
    linkageType: ''
    returnType: CGGlyph
    signature: 'static inline CGGlyph _cairo_quartz_scaled_glyph_index (cairo_scaled_glyph_t
      *scaled_glyph) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_quartz_font_face_create_for_atsu_font_id
      Src: /src/cairo/src/cairo-quartz-font.c:849,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 850
      start: 846
    functionDepth: 0
    functionLinenumber: 846
    functionLinenumberEnd: 850
    functionName: cairo_atsui_font_face_create_for_atsu_font_id
    functionSourceFile: /src/cairo/src/cairo-quartz-font.c
    functionUses: []
    functionsReached:
    - cairo_quartz_font_face_create_for_atsu_font_id
    linkageType: ''
    returnType: cairo_font_face_t*
    signature: 'cairo_font_face_t *cairo_atsui_font_face_create_for_atsu_font_id (ATSUFontID
      font_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTFontGetBoundingBox
      Src: /src/cairo/src/cairo-quartz-font.c:208,1
    - Dst: CTFontGetLeading
      Src: /src/cairo/src/cairo-quartz-font.c:211,1
    - Dst: CTFontGetAscent
      Src: /src/cairo/src/cairo-quartz-font.c:209,1
    - Dst: CTFontGetCapHeight
      Src: /src/cairo/src/cairo-quartz-font.c:212,1
    - Dst: CTFontGetDescent
      Src: /src/cairo/src/cairo-quartz-font.c:210,1
    - Dst: CTFontGetXHeight
      Src: /src/cairo/src/cairo-quartz-font.c:213,1
    - Dst: _cairo_utf8_to_utf16
      Src: /src/cairo/src/cairo-quartz-font.c:223,1
    - Dst: CTFontGetGlyphsForCharacters
      Src: /src/cairo/src/cairo-quartz-font.c:225,1
    - Dst: free
      Src: /src/cairo/src/cairo-quartz-font.c:226,1
    - Dst: CTFontGetBoundingRectsForGlyphs
      Src: /src/cairo/src/cairo-quartz-font.c:227,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-quartz-font.c:231,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-quartz-font.c:234,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-quartz-font.c:240,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-quartz-font.c:245,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-quartz-font.c:239,1
    - Dst: CTFontGetAdvancesForGlyphs
      Src: /src/cairo/src/cairo-quartz-font.c:229,1
    - Dst: CTFontGetOpticalBoundsForGlyphs
      Src: /src/cairo/src/cairo-quartz-font.c:228,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - font
    argTypes:
    - cairo_quartz_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 246
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 246
    functionName: _cairo_quartz_debug_font_characteristics
    functionSourceFile: /src/cairo/src/cairo-quartz-font.c
    functionUses: []
    functionsReached:
    - fprintf
    - CTFontGetLeading
    - CTFontGetCapHeight
    - _cairo_utf8_to_utf16
    - CTFontGetGlyphsForCharacters
    - free
    - CTFontGetXHeight
    - CTFontGetOpticalBoundsForGlyphs
    - CTFontGetBoundingBox
    - CTFontGetDescent
    - CTFontGetAscent
    - CTFontGetBoundingRectsForGlyphs
    - CTFontGetAdvancesForGlyphs
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_quartz_debug_font_characteristics (cairo_quartz_scaled_font_t
      *font) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_quartz_scaled_glyph_index
      Src: /src/cairo/src/cairo-quartz-font.c:505,1
    - Dst: _cairo_path_fixed_create
      Src: /src/cairo/src/cairo-quartz-font.c:511,1
    - Dst: CGAffineTransformMake
      Src: /src/cairo/src/cairo-quartz-font.c:516,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-quartz-font.c:510,1
    - Dst: _cairo_scaled_glyph_set_path
      Src: /src/cairo/src/cairo-quartz-font.c:511,1
    - Dst: CTFontCreatePathForGlyph
      Src: /src/cairo/src/cairo-quartz-font.c:522,1
    - Dst: _cairo_path_fixed_create
      Src: /src/cairo/src/cairo-quartz-font.c:527,1
    - Dst: CGPathRelease
      Src: /src/cairo/src/cairo-quartz-font.c:529,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-quartz-font.c:530,1
    - Dst: CGPathApply
      Src: /src/cairo/src/cairo-quartz-font.c:533,1
    - Dst: _cairo_scaled_glyph_set_path
      Src: /src/cairo/src/cairo-quartz-font.c:537,1
    - Dst: CGPathRelease
      Src: /src/cairo/src/cairo-quartz-font.c:535,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - font
    - scaled_glyph
    argTypes:
    - cairo_quartz_scaled_font_t*
    - cairo_scaled_glyph_t*
    constantsTouched: []
    func_position:
      end: 540
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 540
    functionName: _cairo_quartz_init_glyph_path
    functionSourceFile: /src/cairo/src/cairo-quartz-font.c
    functionUses: []
    functionsReached:
    - CGAffineTransformMake
    - _cairo_error
    - _cairo_quartz_scaled_glyph_index
    - CGPathApply
    - _cairo_scaled_glyph_set_path
    - CGPathRelease
    - _cairo_path_fixed_create
    - CTFontCreatePathForGlyph
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_quartz_init_glyph_path (cairo_quartz_scaled_font_t\
      \ *font,\t\t\t cairo_scaled_glyph_t *scaled_glyph) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - abstract_font
    argTypes:
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 774
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 774
    functionName: _cairo_quartz_scaled_font_get_ct_font
    functionSourceFile: /src/cairo/src/cairo-quartz-font.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CTFontRef
    signature: 'CTFontRef _cairo_quartz_scaled_font_get_ct_font (cairo_scaled_font_t
      *abstract_font) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTFontGetSymbolicTraits
      Src: /src/cairo/src/cairo-quartz-font.c:546,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - abstract_font
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 548
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 548
    functionName: _cairo_quartz_font_has_color_glyphs
    functionSourceFile: /src/cairo/src/cairo-quartz-font.c
    functionUses: []
    functionsReached:
    - CTFontGetSymbolicTraits
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_quartz_font_has_color_glyphs (void *abstract_font) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CGContextSetShouldAntialias
      Src: /src/cairo/src/cairo-quartz-font.c:782,1
    - Dst: quartz_font_ensure_symbols
      Src: /src/cairo/src/cairo-quartz-font.c:784,1
    - Dst: CGContextSetAllowsFontSmoothing
      Src: /src/cairo/src/cairo-quartz-font.c:787,1
    - Dst: CGContextGetAllowsFontSmoothingPtr
      Src: /src/cairo/src/cairo-quartz-font.c:786,1
    - Dst: CGContextSetShouldSmoothFonts
      Src: /src/cairo/src/cairo-quartz-font.c:783,1
    - Dst: CGContextSetShouldAntialias
      Src: /src/cairo/src/cairo-quartz-font.c:790,1
    - Dst: CGContextSetShouldAntialias
      Src: /src/cairo/src/cairo-quartz-font.c:795,1
    - Dst: CGContextSetShouldSmoothFonts
      Src: /src/cairo/src/cairo-quartz-font.c:796,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 12
    argCount: 2
    argNames:
    - cgContext
    - antialias
    argTypes:
    - CGContextRef
    - cairo_antialias_t
    constantsTouched: []
    func_position:
      end: 804
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 804
    functionName: _cairo_quartz_set_antialiasing
    functionSourceFile: /src/cairo/src/cairo-quartz-font.c
    functionUses: []
    functionsReached:
    - quartz_font_ensure_symbols
    - CGContextSetShouldSmoothFonts
    - CGContextGetAllowsFontSmoothingPtr
    - CGContextSetAllowsFontSmoothing
    - CGContextSetShouldAntialias
    linkageType: ''
    returnType: void
    signature: 'void _cairo_quartz_set_antialiasing (CGContextRef cgContext, cairo_antialias_t
      antialias) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_scaled_glyph_set_surface
      Src: /src/cairo/src/cairo-quartz-font.c:588,1
    - Dst: CGAffineTransformMake
      Src: /src/cairo/src/cairo-quartz-font.c:608,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-quartz-font.c:623,1
    - Dst: CGColorSpaceCreateDeviceRGB
      Src: /src/cairo/src/cairo-quartz-font.c:637,1
    - Dst: CGContextRelease
      Src: /src/cairo/src/cairo-quartz-font.c:660,1
    - Dst: cairo_surface_set_device_offset
      Src: /src/cairo/src/cairo-quartz-font.c:664,1
    - Dst: cairo_surface_mark_dirty
      Src: /src/cairo/src/cairo-quartz-font.c:667,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-quartz-font.c:575,1
    - Dst: cairo_surface_status
      Src: /src/cairo/src/cairo-quartz-font.c:584,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-quartz-font.c:604,1
    - Dst: CGRectIntegral
      Src: /src/cairo/src/cairo-quartz-font.c:618,1
    - Dst: CGBitmapContextCreate
      Src: /src/cairo/src/cairo-quartz-font.c:640,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-quartz-font.c:649,1
    - Dst: CGRectApplyAffineTransform
      Src: /src/cairo/src/cairo-quartz-font.c:613,1
    - Dst: _cairo_quartz_set_antialiasing
      Src: /src/cairo/src/cairo-quartz-font.c:655,1
    - Dst: CGColorSpaceRelease
      Src: /src/cairo/src/cairo-quartz-font.c:661,1
    - Dst: _cairo_scaled_glyph_set_color_surface
      Src: /src/cairo/src/cairo-quartz-font.c:670,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-quartz-font.c:572,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/src/cairo-quartz-font.c:583,1
    - Dst: _cairo_quartz_font_has_color_glyphs
      Src: /src/cairo/src/cairo-quartz-font.c:604,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-quartz-font.c:621,1
    - Dst: CGContextSetRGBFillColor
      Src: /src/cairo/src/cairo-quartz-font.c:654,1
    - Dst: CGContextSetAlpha
      Src: /src/cairo/src/cairo-quartz-font.c:656,1
    - Dst: CGContextTranslateCTM
      Src: /src/cairo/src/cairo-quartz-font.c:657,1
    - Dst: CTFontDrawGlyphs
      Src: /src/cairo/src/cairo-quartz-font.c:659,1
    - Dst: _cairo_quartz_scaled_glyph_index
      Src: /src/cairo/src/cairo-quartz-font.c:559,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-quartz-font.c:582,1
    - Dst: CGRectMake
      Src: /src/cairo/src/cairo-quartz-font.c:561,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/src/cairo-quartz-font.c:632,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-quartz-font.c:650,1
    - Dst: CGContextConcatCTM
      Src: /src/cairo/src/cairo-quartz-font.c:658,1
    - Dst: _cairo_scaled_glyph_set_surface
      Src: /src/cairo/src/cairo-quartz-font.c:672,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 62
    argCount: 4
    argNames:
    - font
    - scaled_glyph
    - info
    - fg_color
    argTypes:
    - cairo_quartz_scaled_font_t*
    - cairo_scaled_glyph_t*
    - cairo_scaled_glyph_info_t
    - cairo_color_t*
    constantsTouched: []
    func_position:
      end: 675
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 675
    functionName: _cairo_quartz_init_glyph_surface
    functionSourceFile: /src/cairo/src/cairo-quartz-font.c
    functionUses: []
    functionsReached:
    - cairo_surface_mark_dirty
    - _cairo_error
    - CGRectMake
    - CGContextRelease
    - fprintf
    - CGAffineTransformMake
    - cairo_surface_status
    - CGContextTranslateCTM
    - cairo_surface_set_device_offset
    - _cairo_quartz_set_antialiasing
    - CGBitmapContextCreate
    - CGColorSpaceCreateDeviceRGB
    - _cairo_scaled_glyph_set_surface
    - _cairo_quartz_scaled_glyph_index
    - CGRectApplyAffineTransform
    - CGRectIntegral
    - _cairo_scaled_glyph_set_color_surface
    - CGContextSetRGBFillColor
    - CGContextConcatCTM
    - CTFontDrawGlyphs
    - CGContextSetAlpha
    - CGColorSpaceRelease
    - _cairo_quartz_font_has_color_glyphs
    - cairo_surface_destroy
    - cairo_image_surface_create
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_quartz_init_glyph_surface (cairo_quartz_scaled_font_t\
      \ *font,\t\t\t\t cairo_scaled_glyph_t *scaled_glyph,\t\t\t\t cairo_scaled_glyph_info_t\
      \ info,\t\t\t\t const cairo_color_t *fg_color) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-quartz-font.c:263,1
    - Dst: _cairo_scaled_font_init
      Src: /src/cairo/src/cairo-quartz-font.c:269,1
    - Dst: memset
      Src: /src/cairo/src/cairo-quartz-font.c:267,1
    - Dst: CTFontCreateWithGraphicsFont
      Src: /src/cairo/src/cairo-quartz-font.c:275,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-quartz-font.c:265,1
    - Dst: CTFontGetAscent
      Src: /src/cairo/src/cairo-quartz-font.c:277,1
    - Dst: CTFontGetDescent
      Src: /src/cairo/src/cairo-quartz-font.c:278,1
    - Dst: CTFontGetLeading
      Src: /src/cairo/src/cairo-quartz-font.c:280,1
    - Dst: CTFontGetBoundingBox
      Src: /src/cairo/src/cairo-quartz-font.c:282,1
    - Dst: CGRectGetMaxX
      Src: /src/cairo/src/cairo-quartz-font.c:283,1
    - Dst: CFRetain
      Src: /src/cairo/src/cairo-quartz-font.c:285,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-quartz-font.c:292,1
    - Dst: _cairo_scaled_font_set_metrics
      Src: /src/cairo/src/cairo-quartz-font.c:286,1
    - Dst: CTFontCopyFullName
      Src: /src/cairo/src/cairo-quartz-font.c:289,1
    - Dst: _cairo_quartz_debug_font_characteristics
      Src: /src/cairo/src/cairo-quartz-font.c:295,1
    - Dst: CFStringGetCStringPtr
      Src: /src/cairo/src/cairo-quartz-font.c:290,1
    - Dst: free
      Src: /src/cairo/src/cairo-quartz-font.c:301,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 5
    argNames:
    - abstract_face
    - font_matrix
    - ctm
    - options
    - font_out
    argTypes:
    - void*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - cairo_font_options_t*
    - cairo_scaled_font_t**
    constantsTouched: []
    func_position:
      end: 307
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 307
    functionName: _cairo_quartz_font_face_scaled_font_create
    functionSourceFile: /src/cairo/src/cairo-quartz-font.c
    functionUses: []
    functionsReached:
    - _cairo_scaled_font_set_metrics
    - fprintf
    - _cairo_error
    - CTFontGetLeading
    - CGRectGetMaxX
    - CTFontCopyFullName
    - free
    - CFStringGetCStringPtr
    - CTFontGetBoundingBox
    - CTFontCreateWithGraphicsFont
    - CTFontGetDescent
    - _cairo_quartz_debug_font_characteristics
    - CFRetain
    - CTFontGetAscent
    - memset
    - _cairo_calloc
    - _cairo_scaled_font_init
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_quartz_font_face_scaled_font_create (void\
      \ *abstract_face,\t\t\t\t\t const cairo_matrix_t *font_matrix,\t\t\t\t\t const\
      \ cairo_matrix_t *ctm,\t\t\t\t\t const cairo_font_options_t *options,\t\t\t\t\
      \t cairo_scaled_font_t **font_out) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_quartz_init_glyph_metrics
      Src: /src/cairo/src/cairo-quartz-font.c:687,1
    - Dst: _cairo_quartz_init_glyph_surface
      Src: /src/cairo/src/cairo-quartz-font.c:694,1
    - Dst: _cairo_quartz_init_glyph_path
      Src: /src/cairo/src/cairo-quartz-font.c:690,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 4
    argNames:
    - abstract_font
    - scaled_glyph
    - info
    - foreground_color
    argTypes:
    - void*
    - cairo_scaled_glyph_t*
    - cairo_scaled_glyph_info_t
    - cairo_color_t*
    constantsTouched: []
    func_position:
      end: 698
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 698
    functionName: _cairo_quartz_scaled_glyph_init
    functionSourceFile: /src/cairo/src/cairo-quartz-font.c
    functionUses: []
    functionsReached:
    - _cairo_quartz_init_glyph_metrics
    - _cairo_quartz_init_glyph_path
    - _cairo_quartz_init_glyph_surface
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_quartz_scaled_glyph_init (void *abstract_font,\t\
      \t\t\t cairo_scaled_glyph_t *scaled_glyph,\t\t\t\t cairo_scaled_glyph_info_t\
      \ info,\t\t\t\t const cairo_color_t *foreground_color) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_quartz_scaled_to_face
      Src: /src/cairo/src/cairo-quartz-font.c:763,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - abstract_font
    argTypes:
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 766
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 766
    functionName: _cairo_quartz_scaled_font_get_cg_font_ref
    functionSourceFile: /src/cairo/src/cairo-quartz-font.c
    functionUses: []
    functionsReached:
    - _cairo_quartz_scaled_to_face
    linkageType: ''
    returnType: CGFontRef
    signature: 'CGFontRef _cairo_quartz_scaled_font_get_cg_font_ref (cairo_scaled_font_t
      *abstract_font) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dlsym
      Src: /src/cairo/src/cairo-quartz-font.c:92,1
    - Dst: dlsym
      Src: /src/cairo/src/cairo-quartz-font.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 97
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 97
    functionName: quartz_font_ensure_symbols
    functionSourceFile: /src/cairo/src/cairo-quartz-font.c
    functionUses: []
    functionsReached:
    - dlsym
    linkageType: ''
    returnType: void
    signature: 'static void quartz_font_ensure_symbols(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CGFontRelease
      Src: /src/cairo/src/cairo-quartz-font.c:198,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - abstract_face
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 200
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 200
    functionName: _cairo_quartz_font_face_destroy
    functionSourceFile: /src/cairo/src/cairo-quartz-font.c
    functionUses: []
    functionsReached:
    - CGFontRelease
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_quartz_font_face_destroy (void *abstract_face) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-quartz-font.c:368,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 370
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 370
    functionName: _cairo_quartz_scaled_to_face
    functionSourceFile: /src/cairo/src/cairo-quartz-font.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: cairo_quartz_font_face_t*
    signature: 'static cairo_quartz_font_face_t *_cairo_quartz_scaled_to_face (void
      *abstract_font) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_quartz_scaled_glyph_index
      Src: /src/cairo/src/cairo-quartz-font.c:392,1
    - Dst: CTFontGetAdvancesForGlyphs
      Src: /src/cairo/src/cairo-quartz-font.c:400,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-quartz-font.c:397,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-quartz-font.c:404,1
    - Dst: CTFontGetBoundingRectsForGlyphs
      Src: /src/cairo/src/cairo-quartz-font.c:401,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-quartz-font.c:413,1
    - Dst: CGRectGetMinX
      Src: /src/cairo/src/cairo-quartz-font.c:417,1
    - Dst: CGRectGetMinY
      Src: /src/cairo/src/cairo-quartz-font.c:418,1
    - Dst: CGRectGetMaxX
      Src: /src/cairo/src/cairo-quartz-font.c:419,1
    - Dst: CGRectGetMaxY
      Src: /src/cairo/src/cairo-quartz-font.c:420,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-quartz-font.c:435,1
    - Dst: _cairo_scaled_glyph_set_metrics
      Src: /src/cairo/src/cairo-quartz-font.c:440,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-quartz-font.c:431,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 2
    argNames:
    - font
    - scaled_glyph
    argTypes:
    - cairo_quartz_scaled_font_t*
    - cairo_scaled_glyph_t*
    constantsTouched: []
    func_position:
      end: 445
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 445
    functionName: _cairo_quartz_init_glyph_metrics
    functionSourceFile: /src/cairo/src/cairo-quartz-font.c
    functionUses: []
    functionsReached:
    - CGRectGetMinY
    - fprintf
    - _cairo_quartz_scaled_glyph_index
    - CGRectGetMaxX
    - unlikely
    - CGRectGetMaxY
    - CGRectGetMinX
    - MAX
    - _cairo_scaled_glyph_set_metrics
    - CTFontGetBoundingRectsForGlyphs
    - CTFontGetAdvancesForGlyphs
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_quartz_init_glyph_metrics (cairo_quartz_scaled_font_t\
      \ *font,\t\t\t\t cairo_scaled_glyph_t *scaled_glyph) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_ucs4_to_utf16
      Src: /src/cairo/src/cairo-quartz-font.c:708,1
    - Dst: CTFontGetGlyphsForCharacters
      Src: /src/cairo/src/cairo-quartz-font.c:709,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - abstract_font
    - ucs4
    argTypes:
    - void*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 711
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 711
    functionName: _cairo_quartz_ucs4_to_index
    functionSourceFile: /src/cairo/src/cairo-quartz-font.c
    functionUses: []
    functionsReached:
    - _cairo_ucs4_to_utf16
    - CTFontGetGlyphsForCharacters
    linkageType: ''
    returnType: unsigned long
    signature: "static unsigned long _cairo_quartz_ucs4_to_index (void *abstract_font,\t\
      \t\t uint32_t ucs4) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_fixed_line_to
      Src: /src/cairo/src/cairo-quartz-font.c:461,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-quartz-font.c:456,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-quartz-font.c:463,1
    - Dst: assert
      Src: /src/cairo/src/cairo-quartz-font.c:464,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-quartz-font.c:471,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-quartz-font.c:472,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-quartz-font.c:486,1
    - Dst: _cairo_path_fixed_close_path
      Src: /src/cairo/src/cairo-quartz-font.c:495,1
    - Dst: assert
      Src: /src/cairo/src/cairo-quartz-font.c:496,1
    - Dst: assert
      Src: /src/cairo/src/cairo-quartz-font.c:458,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-quartz-font.c:462,1
    - Dst: _cairo_path_fixed_get_current_point
      Src: /src/cairo/src/cairo-quartz-font.c:469,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-quartz-font.c:479,1
    - Dst: assert
      Src: /src/cairo/src/cairo-quartz-font.c:482,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-quartz-font.c:488,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-quartz-font.c:490,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-quartz-font.c:477,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-quartz-font.c:491,1
    - Dst: _cairo_path_fixed_move_to
      Src: /src/cairo/src/cairo-quartz-font.c:455,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-quartz-font.c:457,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-quartz-font.c:475,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-quartz-font.c:478,1
    - Dst: _cairo_path_fixed_curve_to
      Src: /src/cairo/src/cairo-quartz-font.c:474,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-quartz-font.c:480,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-quartz-font.c:476,1
    - Dst: _cairo_path_fixed_curve_to
      Src: /src/cairo/src/cairo-quartz-font.c:485,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-quartz-font.c:487,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-quartz-font.c:489,1
    - Dst: assert
      Src: /src/cairo/src/cairo-quartz-font.c:492,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 59
    argCount: 2
    argNames:
    - info
    - el
    argTypes:
    - void*
    - CGPathElement*
    constantsTouched: []
    func_position:
      end: 499
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 499
    functionName: _cairo_quartz_path_apply_func
    functionSourceFile: /src/cairo/src/cairo-quartz-font.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_curve_to
    - _cairo_path_fixed_get_current_point
    - _cairo_fixed_to_double
    - _cairo_path_fixed_move_to
    - _cairo_path_fixed_line_to
    - assert
    - _cairo_path_fixed_close_path
    - _cairo_fixed_from_double
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_quartz_path_apply_func (void *info, const CGPathElement
      *el) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CTFontCopyTable
      Src: /src/cairo/src/cairo-quartz-font.c:721,1
    - Dst: CFRelease
      Src: /src/cairo/src/cairo-quartz-font.c:733,1
    - Dst: CFRelease
      Src: /src/cairo/src/cairo-quartz-font.c:728,1
    - Dst: CFDataGetLength
      Src: /src/cairo/src/cairo-quartz-font.c:727,1
    - Dst: CFDataGetLength
      Src: /src/cairo/src/cairo-quartz-font.c:732,1
    - Dst: CFDataGetBytes
      Src: /src/cairo/src/cairo-quartz-font.c:737,1
    - Dst: CFRangeMake
      Src: /src/cairo/src/cairo-quartz-font.c:737,1
    - Dst: CFRelease
      Src: /src/cairo/src/cairo-quartz-font.c:738,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 5
    argNames:
    - abstract_font
    - tag
    - offset
    - buffer
    - length
    argTypes:
    - void*
    - unsigned long
    - long
    - unsigned char*
    - unsigned long*
    constantsTouched: []
    func_position:
      end: 741
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 741
    functionName: _cairo_quartz_load_truetype_table
    functionSourceFile: /src/cairo/src/cairo-quartz-font.c
    functionUses: []
    functionsReached:
    - CFRelease
    - CFDataGetBytes
    - CFDataGetLength
    - CTFontCopyTable
    - CFRangeMake
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_quartz_load_truetype_table (void\t\
      \ *abstract_font,\t\t\t\t unsigned long tag,\t\t\t\t long offset,\t\t\t\t unsigned\
      \ char *buffer,\t\t\t\t unsigned long *length) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_quartz_font_face_create
      Src: /src/cairo/src/cairo-quartz-font.c:349,1
    - Dst: CGFontRetain
      Src: /src/cairo/src/cairo-quartz-font.c:354,1
    - Dst: cairo_font_face_status
      Src: /src/cairo/src/cairo-quartz-font.c:351,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 357
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 357
    functionName: cairo_quartz_font_face_create_for_cgfont
    functionSourceFile: /src/cairo/src/cairo-quartz-font.c
    functionUses: []
    functionsReached:
    - cairo_font_face_status
    - CGFontRetain
    - _cairo_quartz_font_face_create
    linkageType: ''
    returnType: cairo_font_face_t*
    signature: 'cairo_font_face_t *cairo_quartz_font_face_create_for_cgfont (CGFontRef
      font) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: quartz_font_ensure_symbols
      Src: /src/cairo/src/cairo-quartz-font.c:825,1
    - Dst: FMGetATSFontRefFromFontPtr
      Src: /src/cairo/src/cairo-quartz-font.c:828,1
    - Dst: CGFontRelease
      Src: /src/cairo/src/cairo-quartz-font.c:834,1
    - Dst: CGFontCreateWithPlatformFont
      Src: /src/cairo/src/cairo-quartz-font.c:829,1
    - Dst: cairo_quartz_font_face_create_for_cgfont
      Src: /src/cairo/src/cairo-quartz-font.c:832,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-quartz-font.c:838,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 841
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 841
    functionName: cairo_quartz_font_face_create_for_atsu_font_id
    functionSourceFile: /src/cairo/src/cairo-quartz-font.c
    functionUses: []
    functionsReached:
    - quartz_font_ensure_symbols
    - CGFontRelease
    - CGFontCreateWithPlatformFont
    - FMGetATSFontRefFromFontPtr
    - _cairo_error_throw
    - cairo_quartz_font_face_create_for_cgfont
    linkageType: ''
    returnType: cairo_font_face_t*
    signature: 'cairo_font_face_t *cairo_quartz_font_face_create_for_atsu_font_id
      (ATSUFontID font_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xcb_generate_id
      Src: /src/cairo/src/cairo-xcb-connection-core.c:44,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-connection-core.c:47,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-connection-core.c:46,1
    - Dst: xcb_create_pixmap
      Src: /src/cairo/src/cairo-xcb-connection-core.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - connection
    - depth
    - drawable
    - width
    - height
    argTypes:
    - cairo_xcb_connection_t*
    - uint8_t
    - xcb_drawable_t
    - uint16_t
    - uint16_t
    constantsTouched: []
    func_position:
      end: 52
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 52
    functionName: _cairo_xcb_connection_create_pixmap
    functionSourceFile: /src/cairo/src/cairo-xcb-connection-core.c
    functionUses: []
    functionsReached:
    - xcb_create_pixmap
    - xcb_generate_id
    - assert
    linkageType: ''
    returnType: xcb_pixmap_t
    signature: "xcb_pixmap_t _cairo_xcb_connection_create_pixmap (cairo_xcb_connection_t\
      \ *connection,\t\t\t\t uint8_t depth,\t\t\t\t xcb_drawable_t drawable,\t\t\t\
      \t uint16_t width,\t\t\t\t uint16_t height) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xcb_change_gc
      Src: /src/cairo/src/cairo-xcb-connection-core.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - connection
    - gc
    - value_mask
    - values
    argTypes:
    - cairo_xcb_connection_t*
    - xcb_gcontext_t
    - uint32_t
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 74
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 74
    functionName: _cairo_xcb_connection_change_gc
    functionSourceFile: /src/cairo/src/cairo-xcb-connection-core.c
    functionUses: []
    functionsReached:
    - xcb_change_gc
    linkageType: ''
    returnType: void
    signature: "void _cairo_xcb_connection_change_gc (cairo_xcb_connection_t *connection,\t\
      \t\t\t xcb_gcontext_t gc,\t\t\t\t uint32_t value_mask,\t\t\t\t uint32_t *values) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xcb_poly_fill_rectangle
      Src: /src/cairo/src/cairo-xcb-connection-core.c:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 5
    argNames:
    - connection
    - dst
    - gc
    - num_rectangles
    - rectangles
    argTypes:
    - cairo_xcb_connection_t*
    - xcb_drawable_t
    - xcb_gcontext_t
    - uint32_t
    - xcb_rectangle_t*
    constantsTouched: []
    func_position:
      end: 101
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 101
    functionName: _cairo_xcb_connection_poly_fill_rectangle
    functionSourceFile: /src/cairo/src/cairo-xcb-connection-core.c
    functionUses: []
    functionsReached:
    - xcb_poly_fill_rectangle
    linkageType: ''
    returnType: void
    signature: "void _cairo_xcb_connection_poly_fill_rectangle (cairo_xcb_connection_t\
      \ *connection,\t\t\t\t\t xcb_drawable_t dst,\t\t\t\t\t xcb_gcontext_t gc,\t\t\
      \t\t\t uint32_t num_rectangles,\t\t\t\t\t xcb_rectangle_t *rectangles) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_STACK_ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xcb-connection-core.c:167,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-xcb-connection-core.c:188,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xcb-connection-core.c:217,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xcb-connection-core.c:187,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xcb-connection-core.c:189,1
    - Dst: xcb_send_request
      Src: /src/cairo/src/cairo-xcb-connection-core.c:219,1
    - Dst: free
      Src: /src/cairo/src/cairo-xcb-connection-core.c:222,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 13
    argNames:
    - connection
    - dst
    - gc
    - src_x
    - src_y
    - width
    - height
    - cpp
    - stride
    - dst_x
    - dst_y
    - depth
    - _data
    argTypes:
    - cairo_xcb_connection_t*
    - xcb_drawable_t
    - xcb_gcontext_t
    - int16_t
    - int16_t
    - uint16_t
    - uint16_t
    - uint16_t
    - int
    - int16_t
    - int16_t
    - uint8_t
    - void*
    constantsTouched: []
    func_position:
      end: 223
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 223
    functionName: _cairo_xcb_connection_do_put_subimage
    functionSourceFile: /src/cairo/src/cairo-xcb-connection-core.c
    functionUses: []
    functionsReached:
    - CAIRO_STACK_ARRAY_LENGTH
    - free
    - ARRAY_LENGTH
    - assert
    - xcb_send_request
    - _cairo_malloc_ab
    - unlikely
    linkageType: ''
    returnType: void
    signature: "static void _cairo_xcb_connection_do_put_subimage (cairo_xcb_connection_t\
      \ *connection,\t\t\t\t xcb_drawable_t dst,\t\t\t\t xcb_gcontext_t gc,\t\t\t\t\
      \ int16_t src_x,\t\t\t\t int16_t src_y,\t\t\t\t uint16_t width,\t\t\t\t uint16_t\
      \ height,\t\t\t\t uint16_t cpp,\t\t\t\t int stride,\t\t\t\t int16_t dst_x,\t\
      \t\t\t int16_t dst_y,\t\t\t\t uint8_t depth,\t\t\t\t void *_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xcb_copy_area
      Src: /src/cairo/src/cairo-xcb-connection-core.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 10
    argNames:
    - connection
    - src
    - dst
    - gc
    - src_x
    - src_y
    - dst_x
    - dst_y
    - width
    - height
    argTypes:
    - cairo_xcb_connection_t*
    - xcb_drawable_t
    - xcb_drawable_t
    - xcb_gcontext_t
    - int16_t
    - int16_t
    - int16_t
    - int16_t
    - uint16_t
    - uint16_t
    constantsTouched: []
    func_position:
      end: 90
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 90
    functionName: _cairo_xcb_connection_copy_area
    functionSourceFile: /src/cairo/src/cairo-xcb-connection-core.c
    functionUses: []
    functionsReached:
    - xcb_copy_area
    linkageType: ''
    returnType: void
    signature: "void _cairo_xcb_connection_copy_area (cairo_xcb_connection_t *connection,\t\
      \t\t\t xcb_drawable_t src,\t\t\t\t xcb_drawable_t dst,\t\t\t\t xcb_gcontext_t\
      \ gc,\t\t\t\t int16_t src_x,\t\t\t\t int16_t src_y,\t\t\t\t int16_t dst_x,\t\
      \t\t\t int16_t dst_y,\t\t\t\t uint16_t width,\t\t\t\t uint16_t height) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xcb_generate_id
      Src: /src/cairo/src/cairo-xcb-connection-core.c:60,1
    - Dst: xcb_create_gc
      Src: /src/cairo/src/cairo-xcb-connection-core.c:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 4
    argNames:
    - connection
    - drawable
    - value_mask
    - values
    argTypes:
    - cairo_xcb_connection_t*
    - xcb_drawable_t
    - uint32_t
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 64
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 64
    functionName: _cairo_xcb_connection_create_gc
    functionSourceFile: /src/cairo/src/cairo-xcb-connection-core.c
    functionUses: []
    functionsReached:
    - xcb_create_gc
    - xcb_generate_id
    linkageType: ''
    returnType: xcb_gcontext_t
    signature: "xcb_gcontext_t _cairo_xcb_connection_create_gc (cairo_xcb_connection_t\
      \ *connection,\t\t\t\t xcb_drawable_t drawable,\t\t\t\t uint32_t value_mask,\t\
      \t\t\t uint32_t *values) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xcb_put_image
      Src: /src/cairo/src/cairo-xcb-connection-core.c:120,1
    - Dst: xcb_put_image
      Src: /src/cairo/src/cairo-xcb-connection-core.c:132,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 10
    argNames:
    - connection
    - dst
    - gc
    - width
    - height
    - dst_x
    - dst_y
    - depth
    - stride
    - data
    argTypes:
    - cairo_xcb_connection_t*
    - xcb_drawable_t
    - xcb_gcontext_t
    - uint16_t
    - uint16_t
    - int16_t
    - int16_t
    - uint8_t
    - uint32_t
    - void*
    constantsTouched: []
    func_position:
      end: 143
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 143
    functionName: _cairo_xcb_connection_put_image
    functionSourceFile: /src/cairo/src/cairo-xcb-connection-core.c
    functionUses: []
    functionsReached:
    - xcb_put_image
    linkageType: ''
    returnType: void
    signature: "void _cairo_xcb_connection_put_image (cairo_xcb_connection_t *connection,\t\
      \t\t\t xcb_drawable_t dst,\t\t\t\t xcb_gcontext_t gc,\t\t\t\t uint16_t width,\t\
      \t\t\t uint16_t height,\t\t\t\t int16_t dst_x,\t\t\t\t int16_t dst_y,\t\t\t\t\
      \ uint8_t depth,\t\t\t\t uint32_t stride,\t\t\t\t void *data) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xcb_connection_do_put_subimage
      Src: /src/cairo/src/cairo-xcb-connection-core.c:245,1
    - Dst: _cairo_xcb_connection_do_put_subimage
      Src: /src/cairo/src/cairo-xcb-connection-core.c:254,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 13
    argNames:
    - connection
    - dst
    - gc
    - src_x
    - src_y
    - width
    - height
    - cpp
    - stride
    - dst_x
    - dst_y
    - depth
    - _data
    argTypes:
    - cairo_xcb_connection_t*
    - xcb_drawable_t
    - xcb_gcontext_t
    - int16_t
    - int16_t
    - uint16_t
    - uint16_t
    - uint16_t
    - int
    - int16_t
    - int16_t
    - uint8_t
    - void*
    constantsTouched: []
    func_position:
      end: 265
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 265
    functionName: _cairo_xcb_connection_put_subimage
    functionSourceFile: /src/cairo/src/cairo-xcb-connection-core.c
    functionUses: []
    functionsReached:
    - _cairo_xcb_connection_do_put_subimage
    linkageType: ''
    returnType: void
    signature: "void _cairo_xcb_connection_put_subimage (cairo_xcb_connection_t *connection,\t\
      \t\t\t xcb_drawable_t dst,\t\t\t\t xcb_gcontext_t gc,\t\t\t\t int16_t src_x,\t\
      \t\t\t int16_t src_y,\t\t\t\t uint16_t width,\t\t\t\t uint16_t height,\t\t\t\
      \t uint16_t cpp,\t\t\t\t int stride,\t\t\t\t int16_t dst_x,\t\t\t\t int16_t\
      \ dst_y,\t\t\t\t uint8_t depth,\t\t\t\t void *_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xcb_get_image_reply
      Src: /src/cairo/src/cairo-xcb-connection-core.c:275,1
    - Dst: xcb_get_image
      Src: /src/cairo/src/cairo-xcb-connection-core.c:276,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 283
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 283
    functionName: _cairo_xcb_connection_get_image
    functionSourceFile: /src/cairo/src/cairo-xcb-connection-core.c
    functionUses: []
    functionsReached:
    - xcb_get_image_reply
    - xcb_get_image
    linkageType: ''
    returnType: xcb_get_image_reply_t*
    signature: "xcb_get_image_reply_t *_cairo_xcb_connection_get_image (cairo_xcb_connection_t\
      \ *connection,\t\t\t\t xcb_drawable_t src,\t\t\t\t int16_t src_x,\t\t\t\t int16_t\
      \ src_y,\t\t\t\t uint16_t width,\t\t\t\t uint16_t height) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: _cairo_xlib_shm_surface_is_active
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t _cairo_xlib_shm_surface_is_active (cairo_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - pq
    argTypes:
    - struct pqueue*
    constantsTouched: []
    func_position:
      end: 257
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 257
    functionName: _pqueue_fini
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'static inline void _pqueue_fini (struct pqueue *pq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _pqueue_shrink
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:332,1
    - Dst: PQ_LEFT_CHILD_INDEX
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:337,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 1
    argNames:
    - pq
    argTypes:
    - struct pqueue*
    constantsTouched: []
    func_position:
      end: 352
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 352
    functionName: _pqueue_pop
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached:
    - PQ_LEFT_CHILD_INDEX
    - _pqueue_shrink
    linkageType: ''
    returnType: void
    signature: 'static inline void _pqueue_pop (struct pqueue *pq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 413
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 413
    functionName: peek_display
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Display*
    signature: 'static inline Display *peek_display (cairo_device_t *device) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XSync
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:463,1
    - Dst: _cairo_mempool_free
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:466,1
    - Dst: _pqueue_pop
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:467,1
    - Dst: free
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:468,1
    - Dst: PQ_TOP
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:465,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - display
    argTypes:
    - cairo_xlib_display_t*
    constantsTouched: []
    func_position:
      end: 470
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 470
    functionName: _cairo_xlib_display_sync
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached:
    - free
    - _pqueue_pop
    - PQ_TOP
    - XSync
    - _cairo_mempool_free
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_xlib_display_sync (cairo_xlib_display_t *display) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_xlib_surface_t*
    constantsTouched: []
    func_position:
      end: 800
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 800
    functionName: has_shm_pixmaps
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int has_shm_pixmaps (cairo_xlib_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_is_little_endian
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1216,1
    - Dst: _pixman_format_to_masks
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1220,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1221,1
    - Dst: XInitImage
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1240,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1241,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - surface
    - ximage
    argTypes:
    - cairo_surface_t*
    - XImage*
    constantsTouched: []
    func_position:
      end: 1242
      start: 1211
    functionDepth: 0
    functionLinenumber: 1211
    functionLinenumberEnd: 1242
    functionName: _cairo_xlib_shm_surface_get_ximage
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached:
    - XInitImage
    - _pixman_format_to_masks
    - assert
    - _cairo_is_little_endian
    linkageType: ''
    returnType: void
    signature: "void _cairo_xlib_shm_surface_get_ximage (cairo_surface_t *surface,\t\
      \t\t\t XImage *ximage) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 134
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 134
    functionName: _cairo_xlib_shm_surface_is_idle
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t _cairo_xlib_shm_surface_is_idle (cairo_surface_t *surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_realloc_ab
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:264,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:267,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:268,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - pq
    argTypes:
    - struct pqueue*
    constantsTouched: []
    func_position:
      end: 273
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 273
    functionName: _pqueue_grow
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached:
    - _cairo_realloc_ab
    - _cairo_error
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _pqueue_grow (struct pqueue *pq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LastKnownRequestProcessed
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:418,1
    - Dst: peek_display
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:418,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - device
    argTypes:
    - cairo_device_t*
    constantsTouched: []
    func_position:
      end: 419
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 419
    functionName: peek_processed
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached:
    - peek_display
    - LastKnownRequestProcessed
    linkageType: ''
    returnType: unsigned long
    signature: 'static inline unsigned long peek_processed (cairo_device_t *device) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PQ_TOP
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:480,1
    - Dst: PQ_TOP
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:486,1
    - Dst: XEventsQueued
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:483,1
    - Dst: seqno_passed
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:488,1
    - Dst: LastKnownRequestProcessed
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:484,1
    - Dst: send_event
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:489,1
    - Dst: _cairo_mempool_free
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:493,1
    - Dst: _pqueue_pop
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:494,1
    - Dst: free
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:495,1
    - Dst: PQ_TOP
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:496,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - display
    argTypes:
    - cairo_xlib_display_t*
    constantsTouched: []
    func_position:
      end: 497
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 497
    functionName: _cairo_xlib_shm_info_cleanup
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached:
    - free
    - XEventsQueued
    - seqno_passed
    - _pqueue_pop
    - PQ_TOP
    - LastKnownRequestProcessed
    - _cairo_mempool_free
    - send_event
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_xlib_shm_info_cleanup (cairo_xlib_display_t *display) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_STRIDE_FOR_WIDTH_BPP
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:817,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:822,1
    - Dst: _cairo_content_from_pixman_format
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:829,1
    - Dst: _cairo_xlib_display_acquire
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:832,1
    - Dst: _cairo_xlib_shm_info_create
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:835,1
    - Dst: _cairo_mempool_free
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:868,1
    - Dst: _cairo_surface_init
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:826,1
    - Dst: cairo_list_add
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:861,1
    - Dst: free
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:873,1
    - Dst: cairo_device_release
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:871,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:859,1
    - Dst: pixman_image_create_bits
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:839,1
    - Dst: XShmCreatePixmap
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:848,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:824,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:823,1
    - Dst: PIXMAN_FORMAT_BPP
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:817,1
    - Dst: _cairo_image_surface_init
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:844,1
    - Dst: cairo_device_release
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:863,1
    - Dst: free
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:869,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 875
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 875
    functionName: _cairo_xlib_shm_surface_create
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached:
    - _cairo_surface_init
    - XShmCreatePixmap
    - free
    - _cairo_xlib_display_acquire
    - assert
    - PIXMAN_FORMAT_BPP
    - _cairo_content_from_pixman_format
    - cairo_list_add
    - cairo_device_release
    - _cairo_mempool_free
    - _cairo_surface_create_in_error
    - _cairo_image_surface_init
    - CAIRO_STRIDE_FOR_WIDTH_BPP
    - _cairo_xlib_shm_info_create
    - pixman_image_create_bits
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_xlib_shm_surface_t*
    signature: "static cairo_xlib_shm_surface_t *_cairo_xlib_shm_surface_create (cairo_xlib_surface_t\
      \ *other,\t\t\t\tpixman_format_code_t format,\t\t\t\tint width, int height,\t\
      \t\t\tcairo_bool_t will_sync,\t\t\t\tint create_pixmap) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XNextRequest
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1250,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1244
    functionDepth: 0
    functionLinenumber: 1244
    functionLinenumberEnd: 1252
    functionName: _cairo_xlib_shm_surface_get_obdata
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached:
    - XNextRequest
    linkageType: ''
    returnType: void*
    signature: 'void *_cairo_xlib_shm_surface_get_obdata (cairo_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - surface
    - ximage
    argTypes:
    - cairo_surface_t*
    - XImage*
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: _cairo_xlib_shm_surface_get_ximage
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _cairo_xlib_shm_surface_get_ximage (cairo_surface_t *surface,\t\
      \t\t\t XImage *ximage) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - unsigned long
    - unsigned long
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: seqno_passed
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static inline cairo_bool_t seqno_passed (unsigned long a, unsigned
      long b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - unsigned long
    - unsigned long
    constantsTouched: []
    func_position:
      end: 236
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 236
    functionName: seqno_after
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static inline cairo_bool_t seqno_after (unsigned long a, unsigned
      long b) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1000,1
    - Dst: _pixman_format_for_xlib_surface
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1016,1
    - Dst: has_shm_pixmaps
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1010,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1002,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1001,1
    - Dst: _cairo_xlib_shm_surface_create
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1023,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1029,1
    - Dst: _cairo_damage_add_rectangle
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1038,1
    - Dst: _cairo_damage_create
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1040,1
    - Dst: _cairo_damage_create
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1042,1
    - Dst: _cairo_xlib_surface_update_shm
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1051,1
    - Dst: _cairo_damage_create
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1047,1
    - Dst: _cairo_xlib_shm_surface_flush
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1053,1
    - Dst: _cairo_damage_destroy
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1046,1
    - Dst: dec_idle
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1059,1
    - Dst: _cairo_xlib_surface_clear_shm
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1056,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 1061
    functionName: _cairo_xlib_surface_get_shm
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_surface_update_shm
    - _cairo_damage_create
    - _cairo_damage_destroy
    - has_shm_pixmaps
    - _cairo_xlib_shm_surface_flush
    - dec_idle
    - _cairo_damage_add_rectangle
    - assert
    - _cairo_xlib_shm_surface_create
    - _pixman_format_for_xlib_surface
    - _cairo_xlib_surface_clear_shm
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *_cairo_xlib_surface_get_shm (cairo_xlib_surface_t\
      \ *surface,\t\t\t cairo_bool_t overwrite) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xlib_surface_create_shm
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1186,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1192,1
    - Dst: _cairo_format_to_pixman_format_code
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1187,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1197,1
    - Dst: memset
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1193,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1200
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1200
    functionName: _cairo_xlib_surface_create_similar_shm
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_surface_create_shm
    - assert
    - cairo_image_surface_create
    - _cairo_format_to_pixman_format_code
    - memset
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *_cairo_xlib_surface_create_similar_shm (void *other,\t\
      \t\t\t\tcairo_format_t format,\t\t\t\t\tint width, int height) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: seqno_passed
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1286,1
    - Dst: peek_processed
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1286,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1292
      start: 1277
    functionDepth: 0
    functionLinenumber: 1277
    functionLinenumberEnd: 1292
    functionName: _cairo_xlib_shm_surface_is_active
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached:
    - peek_processed
    - seqno_passed
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t _cairo_xlib_shm_surface_is_active (cairo_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_xlib_surface_t*
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: _cairo_xlib_surface_put_shm
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'cairo_int_status_t _cairo_xlib_surface_put_shm (cairo_xlib_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 106
    functionName: _cairo_xlib_shm_surface_get_obdata
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *_cairo_xlib_shm_surface_get_obdata (cairo_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - display
    argTypes:
    - cairo_xlib_display_t*
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: _cairo_xlib_display_fini_shm
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void _cairo_xlib_display_fini_shm (cairo_xlib_display_t *display) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - unsigned long
    - unsigned long
    constantsTouched: []
    func_position:
      end: 230
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 230
    functionName: seqno_before
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static inline cairo_bool_t seqno_before (unsigned long a, unsigned
      long b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:244,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:247,1
    - Dst: PQ_TOP
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:249,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:246,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - pq
    argTypes:
    - struct pqueue*
    constantsTouched: []
    func_position:
      end: 251
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 251
    functionName: _pqueue_init
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_malloc_ab
    - PQ_TOP
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static inline cairo_status_t _pqueue_init (struct pqueue *pq) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: inc_idle
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1070,1
    - Dst: _cairo_damage_reduce
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1084,1
    - Dst: cairo_region_num_rectangles
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1088,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1112,1
    - Dst: _cairo_xlib_surface_put_gc
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1116,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1115,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1114,1
    - Dst: cairo_region_get_rectangle
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1104,1
    - Dst: _cairo_xlib_surface_put_gc
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1141,1
    - Dst: _cairo_damage_create
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1085,1
    - Dst: _cairo_xlib_shm_surface_mark_active
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1105,1
    - Dst: XCopyArea
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1106,1
    - Dst: _cairo_xlib_shm_surface_mark_active
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1130,1
    - Dst: XCopyArea
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1131,1
    - Dst: XSetClipMask
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1138,1
    - Dst: CAIRO_STACK_ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1090,1
    - Dst: _cairo_xlib_surface_get_gc
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1099,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1100,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1113,1
    - Dst: cairo_region_get_rectangle
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1121,1
    - Dst: _cairo_damage_destroy
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1145,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1081,1
    - Dst: _cairo_xlib_display_acquire
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1080,1
    - Dst: TRACE
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1087,1
    - Dst: cairo_region_num_rectangles
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1095,1
    - Dst: XSetClipRectangles
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1128,1
    - Dst: cairo_device_release
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1146,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 58
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_xlib_surface_t*
    constantsTouched: []
    func_position:
      end: 1150
      start: 1063
    functionDepth: 0
    functionLinenumber: 1063
    functionLinenumberEnd: 1150
    functionName: _cairo_xlib_surface_put_shm
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_surface_put_gc
    - _cairo_damage_create
    - _cairo_error
    - _cairo_xlib_display_acquire
    - XSetClipMask
    - _cairo_damage_reduce
    - unlikely
    - cairo_region_num_rectangles
    - inc_idle
    - _cairo_xlib_shm_surface_mark_active
    - _cairo_xlib_surface_get_gc
    - _cairo_damage_destroy
    - XCopyArea
    - ARRAY_LENGTH
    - TRACE
    - cairo_region_get_rectangle
    - cairo_device_release
    - XSetClipRectangles
    - _cairo_malloc_ab
    - CAIRO_STACK_ARRAY_LENGTH
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'cairo_int_status_t _cairo_xlib_surface_put_shm (cairo_xlib_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XNextRequest
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - _shm
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1209
      start: 1202
    functionDepth: 0
    functionLinenumber: 1202
    functionLinenumberEnd: 1209
    functionName: _cairo_xlib_shm_surface_mark_active
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached:
    - XNextRequest
    linkageType: ''
    returnType: void
    signature: 'void _cairo_xlib_shm_surface_mark_active (cairo_surface_t *_shm) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1301
      start: 1294
    functionDepth: 0
    functionLinenumber: 1294
    functionLinenumberEnd: 1301
    functionName: _cairo_xlib_shm_surface_is_idle
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t _cairo_xlib_shm_surface_is_idle (cairo_surface_t *surface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: shmget
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1315,1
    - Dst: CAIRO_MUTEX_IS_LOCKED
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1336,1
    - Dst: shmat
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1320,1
    - Dst: shmctl
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1322,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1336,1
    - Dst: XLockDisplay
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1339,1
    - Dst: XSync
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1340,1
    - Dst: XSetErrorHandler
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1341,1
    - Dst: XShmAttach
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1343,1
    - Dst: XSendEvent
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1344,1
    - Dst: XSync
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1347,1
    - Dst: shmctl
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1351,1
    - Dst: XUnlockDisplay
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1349,1
    - Dst: XSetErrorHandler
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1348,1
    - Dst: XShmDetach
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1345,1
    - Dst: shmdt
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1352,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - display
    - shm
    argTypes:
    - cairo_xlib_display_t*
    - cairo_xlib_shm_display_t*
    constantsTouched: []
    func_position:
      end: 1355
      start: 1306
    functionDepth: 0
    functionLinenumber: 1306
    functionLinenumberEnd: 1355
    functionName: has_broken_send_shm_event
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached:
    - XLockDisplay
    - XUnlockDisplay
    - shmget
    - XSetErrorHandler
    - XSendEvent
    - shmdt
    - assert
    - CAIRO_MUTEX_IS_LOCKED
    - XShmAttach
    - XSync
    - XShmDetach
    - shmat
    - shmctl
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t has_broken_send_shm_event (cairo_xlib_display_t\
      \ *display,\t\t\t cairo_xlib_shm_display_t *shm) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_realloc_ab
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:283,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:286,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - pq
    - min_size
    argTypes:
    - struct pqueue*
    - int
    constantsTouched: []
    func_position:
      end: 291
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 291
    functionName: _pqueue_shrink
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached:
    - _cairo_realloc_ab
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'static void _pqueue_shrink (struct pqueue *pq, int min_size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PQ_TOP
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:506,1
    - Dst: _pqueue_pop
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:515,1
    - Dst: _cairo_mempool_free
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:516,1
    - Dst: free
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:517,1
    - Dst: PQ_TOP
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:509,1
    - Dst: _cairo_mempool_alloc
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:520,1
    - Dst: PQ_TOP
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:526,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 529
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 529
    functionName: _cairo_xlib_shm_info_find
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached:
    - _cairo_mempool_alloc
    - free
    - _pqueue_pop
    - PQ_TOP
    - _cairo_mempool_free
    linkageType: ''
    returnType: cairo_xlib_shm_t*
    signature: "static cairo_xlib_shm_t *_cairo_xlib_shm_info_find (cairo_xlib_display_t\
      \ *display, size_t size,\t\t\t void **ptr, unsigned long *last_request) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LastKnownRequestProcessed
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:557,1
    - Dst: seqno_passed
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:561,1
    - Dst: _cairo_xlib_display_shm_pool_destroy
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:565,1
    - Dst: cairo_list_foreach_entry_safe
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:559,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - display
    argTypes:
    - cairo_xlib_display_t*
    constantsTouched: []
    func_position:
      end: 567
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 567
    functionName: _cairo_xlib_shm_pool_cleanup
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached:
    - cairo_list_foreach_entry_safe
    - _cairo_xlib_display_shm_pool_destroy
    - seqno_passed
    - LastKnownRequestProcessed
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_xlib_shm_pool_cleanup (cairo_xlib_display_t *display) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xlib_shm_info_cleanup
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:642,1
    - Dst: _cairo_xlib_shm_pool_create
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:649,1
    - Dst: _cairo_xlib_shm_pool_find
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:643,1
    - Dst: _cairo_xlib_shm_pool_cleanup
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:644,1
    - Dst: _cairo_xlib_shm_info_find
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:647,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:653,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:655,1
    - Dst: _cairo_mempool_free
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:657,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 667
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 667
    functionName: _cairo_xlib_shm_info_create
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_shm_info_cleanup
    - _cairo_xlib_shm_info_find
    - assert
    - _cairo_xlib_shm_pool_find
    - _cairo_mempool_free
    - _cairo_xlib_shm_pool_cleanup
    - _cairo_xlib_shm_pool_create
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_xlib_shm_info_t*
    signature: "static cairo_xlib_shm_info_t *_cairo_xlib_shm_info_create (cairo_xlib_display_t\
      \ *display,\t\t\t size_t size, cairo_bool_t will_sync) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 987
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 987
    functionName: inc_idle
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void inc_idle (cairo_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1261
      start: 1254
    functionDepth: 0
    functionLinenumber: 1254
    functionLinenumberEnd: 1261
    functionName: _cairo_xlib_shm_surface_get_pixmap
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Pixmap
    signature: 'Pixmap _cairo_xlib_shm_surface_get_pixmap (cairo_surface_t *surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xlib_vendor_is_xorg
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1374,1
    - Dst: XORG_VERSION_ENCODE
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1375,1
    - Dst: has_broken_send_shm_event
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1379,1
    - Dst: VendorRelease
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1375,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - display
    - shm
    argTypes:
    - cairo_xlib_display_t*
    - cairo_xlib_shm_display_t*
    constantsTouched: []
    func_position:
      end: 1380
      start: 1357
    functionDepth: 0
    functionLinenumber: 1357
    functionLinenumberEnd: 1380
    functionName: xorg_has_buggy_send_shm_completion_event
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached:
    - VendorRelease
    - _cairo_xlib_vendor_is_xorg
    - XORG_VERSION_ENCODE
    - has_broken_send_shm_event
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t xorg_has_buggy_send_shm_completion_event(cairo_xlib_display_t\
      \ *display,\t\t\t\t\t cairo_xlib_shm_display_t *shm) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:299,1
    - Dst: _pqueue_grow
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:302,1
    - Dst: PQ_PARENT_INDEX
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:311,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:303,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - pq
    - info
    argTypes:
    - struct pqueue*
    - cairo_xlib_shm_info_t*
    constantsTouched: []
    func_position:
      end: 320
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 320
    functionName: _pqueue_push
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached:
    - _pqueue_grow
    - PQ_PARENT_INDEX
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static inline cairo_status_t _pqueue_push (struct pqueue *pq, cairo_xlib_shm_info_t
      *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_foreach_entry
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:538,1
    - Dst: _cairo_mempool_alloc
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:540,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 549
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 549
    functionName: _cairo_xlib_shm_pool_find
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached:
    - cairo_list_foreach_entry
    - _cairo_mempool_alloc
    linkageType: ''
    returnType: cairo_xlib_shm_t*
    signature: "static cairo_xlib_shm_t *_cairo_xlib_shm_pool_find (cairo_xlib_display_t\
      \ *display,\t\t\t size_t size,\t\t\t void **ptr) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:578,1
    - Dst: shmget
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:592,1
    - Dst: shmctl
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:600,1
    - Dst: shmget
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:589,1
    - Dst: shmat
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:598,1
    - Dst: XNextRequest
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:604,1
    - Dst: XShmAttach
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:605,1
    - Dst: XSync
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:607,1
    - Dst: shmctl
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:609,1
    - Dst: _cairo_mempool_init
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:614,1
    - Dst: cairo_list_add
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:618,1
    - Dst: _cairo_mempool_alloc
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:620,1
    - Dst: XShmDetach
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:625,1
    - Dst: shmdt
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:627,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:621,1
    - Dst: free
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:629,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 631
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 631
    functionName: _cairo_xlib_shm_pool_create
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached:
    - _cairo_mempool_alloc
    - XNextRequest
    - shmget
    - free
    - shmdt
    - _cairo_mempool_init
    - assert
    - cairo_list_add
    - XShmAttach
    - XSync
    - XShmDetach
    - shmat
    - shmctl
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_xlib_shm_t*
    signature: "static cairo_xlib_shm_t *_cairo_xlib_shm_pool_create(cairo_xlib_display_t\
      \ *display,\t\t\t size_t size, void **ptr) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: seqno_passed
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:683,1
    - Dst: send_event
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:692,1
    - Dst: peek_processed
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:683,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:689,1
    - Dst: _cairo_xlib_display_acquire
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:688,1
    - Dst: XEventsQueued
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:695,1
    - Dst: seqno_passed
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:696,1
    - Dst: LastKnownRequestProcessed
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:696,1
    - Dst: LockDisplay
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:697,1
    - Dst: _XReadEvents
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:698,1
    - Dst: UnlockDisplay
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:699,1
    - Dst: cairo_device_release
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:702,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 2
    argNames:
    - abstract_surface
    - flags
    argTypes:
    - void*
    - unsigned
    constantsTouched: []
    func_position:
      end: 706
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 706
    functionName: _cairo_xlib_shm_surface_flush
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached:
    - UnlockDisplay
    - XEventsQueued
    - seqno_passed
    - _cairo_xlib_display_acquire
    - peek_processed
    - _XReadEvents
    - cairo_device_release
    - LastKnownRequestProcessed
    - LockDisplay
    - send_event
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_xlib_shm_surface_flush (void *abstract_surface,
      unsigned flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 993
      start: 989
    functionDepth: 0
    functionLinenumber: 989
    functionLinenumberEnd: 993
    functionName: dec_idle
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void dec_idle (cairo_surface_t *surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xlib_display_get_xrender_format
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1270,1
    - Dst: _cairo_xlib_display_get_xrender_format_for_pixman
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1273,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1275
      start: 1263
    functionDepth: 0
    functionLinenumber: 1263
    functionLinenumberEnd: 1275
    functionName: _cairo_xlib_shm_surface_get_xrender_format
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_display_get_xrender_format_for_pixman
    - _cairo_xlib_display_get_xrender_format
    linkageType: ''
    returnType: XRenderPictFormat*
    signature: 'XRenderPictFormat *_cairo_xlib_shm_surface_get_xrender_format (cairo_surface_t
      *surface) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: can_use_shm
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1392,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1396,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1395,1
    - Dst: free
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1401,1
    - Dst: XInitExtension
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1399,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1408,1
    - Dst: _pqueue_init
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1408,1
    - Dst: free
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1409,1
    - Dst: DefaultScreen
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1413,1
    - Dst: XCreateWindow
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1415,1
    - Dst: xorg_has_buggy_send_shm_completion_event
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1425,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1429,1
    - Dst: cairo_list_init
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1431,1
    - Dst: DefaultDepth
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1418,1
    - Dst: DefaultRootWindow
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1416,1
    - Dst: DefaultVisual
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1420,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 1
    argNames:
    - display
    argTypes:
    - cairo_xlib_display_t*
    constantsTouched: []
    func_position:
      end: 1434
      start: 1382
    functionDepth: 0
    functionLinenumber: 1382
    functionLinenumberEnd: 1434
    functionName: _cairo_xlib_display_init_shm
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached:
    - DefaultDepth
    - cairo_list_init
    - free
    - XCreateWindow
    - _pqueue_init
    - DefaultScreen
    - DefaultVisual
    - can_use_shm
    - DefaultRootWindow
    - XInitExtension
    - _cairo_calloc
    - xorg_has_buggy_send_shm_completion_event
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void _cairo_xlib_display_init_shm (cairo_xlib_display_t *display) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_list_is_empty
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1444,1
    - Dst: cairo_list_is_empty
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1451,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1445,1
    - Dst: _pqueue_fini
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1449,1
    - Dst: cairo_list_first_entry
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1445,1
    - Dst: cairo_list_first_entry
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1454,1
    - Dst: _cairo_xlib_display_shm_pool_destroy
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1455,1
    - Dst: XDestroyWindow
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1459,1
    - Dst: free
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1461,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - display
    argTypes:
    - cairo_xlib_display_t*
    constantsTouched: []
    func_position:
      end: 1463
      start: 1436
    functionDepth: 0
    functionLinenumber: 1436
    functionLinenumberEnd: 1463
    functionName: _cairo_xlib_display_fini_shm
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached:
    - XDestroyWindow
    - cairo_surface_finish
    - _pqueue_fini
    - free
    - cairo_list_first_entry
    - _cairo_xlib_display_shm_pool_destroy
    - cairo_list_is_empty
    linkageType: ''
    returnType: void
    signature: 'void _cairo_xlib_display_fini_shm (cairo_xlib_display_t *display) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - display
    argTypes:
    - cairo_xlib_display_t*
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: _cairo_xlib_display_init_shm
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void _cairo_xlib_display_init_shm (cairo_xlib_display_t *display) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: _cairo_xlib_surface_create_shm
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *_cairo_xlib_surface_create_shm (cairo_xlib_surface_t\
      \ *other,\t\t\t\tpixman_format_code_t format,\t\t\t\tint width, int height) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: _cairo_xlib_surface_create_similar_shm
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached:
    - cairo_image_surface_create
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *_cairo_xlib_surface_create_similar_shm (void *other,\t\
      \t\t\t\tcairo_format_t format,\t\t\t\t\tint width, int height) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: _cairo_xlib_shm_surface_get_pixmap
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Pixmap
    signature: 'Pixmap _cairo_xlib_shm_surface_get_pixmap (cairo_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - display
    - event
    argTypes:
    - Display*
    - XErrorEvent*
    constantsTouched: []
    func_position:
      end: 362
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 362
    functionName: _check_error_handler
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "static int _check_error_handler (Display *display,\t\t XErrorEvent\
      \ *event) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: shmdt
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:425,1
    - Dst: cairo_list_del
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:431,1
    - Dst: XShmDetach
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:427,1
    - Dst: free
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:432,1
    - Dst: _cairo_mempool_fini
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:429,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - display
    - pool
    argTypes:
    - cairo_xlib_display_t*
    - cairo_xlib_shm_t*
    constantsTouched: []
    func_position:
      end: 433
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 433
    functionName: _cairo_xlib_display_shm_pool_destroy
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached:
    - free
    - shmdt
    - _cairo_mempool_fini
    - XShmDetach
    - cairo_list_del
    linkageType: ''
    returnType: void
    signature: "static void _cairo_xlib_display_shm_pool_destroy (cairo_xlib_display_t\
      \ *display,\t\t\t\t cairo_xlib_shm_t *pool) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: seqno_passed
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:712,1
    - Dst: LastKnownRequestProcessed
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:712,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - shm
    - dpy
    argTypes:
    - cairo_xlib_shm_surface_t*
    - Display*
    constantsTouched: []
    func_position:
      end: 713
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 713
    functionName: active
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached:
    - seqno_passed
    - LastKnownRequestProcessed
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static inline cairo_bool_t active (cairo_xlib_shm_surface_t *shm,
      Display *dpy) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_damage_create
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:886,1
    - Dst: _cairo_xlib_display_acquire
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:888,1
    - Dst: CAIRO_STACK_ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:902,1
    - Dst: XCopyArea
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:911,1
    - Dst: cairo_region_get_rectangle
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:925,1
    - Dst: _cairo_xlib_display_sync
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:958,1
    - Dst: cairo_device_release
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:964,1
    - Dst: _cairo_damage_destroy
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:966,1
    - Dst: cairo_region_num_rectangles
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:907,1
    - Dst: cairo_region_get_rectangle
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:910,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:921,1
    - Dst: XSetClipRectangles
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:932,1
    - Dst: XChangeGC
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:955,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:919,1
    - Dst: XCopyArea
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:934,1
    - Dst: _cairo_damage_reduce
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:885,1
    - Dst: _cairo_xlib_surface_get_gc
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:891,1
    - Dst: _cairo_xlib_surface_put_gc
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:962,1
    - Dst: XChangeGC
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:898,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:917,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:918,1
    - Dst: XSetClipMask
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:941,1
    - Dst: XCopyArea
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:944,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 57
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_xlib_surface_t*
    constantsTouched: []
    func_position:
      end: 967
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 967
    functionName: _cairo_xlib_surface_update_shm
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_surface_get_gc
    - _cairo_xlib_surface_put_gc
    - XChangeGC
    - _cairo_damage_create
    - XCopyArea
    - _cairo_damage_destroy
    - _cairo_damage_reduce
    - cairo_region_get_rectangle
    - cairo_region_num_rectangles
    - ARRAY_LENGTH
    - _cairo_xlib_display_acquire
    - unlikely
    - _cairo_xlib_display_sync
    - cairo_device_release
    - XSetClipRectangles
    - _cairo_malloc_ab
    - XSetClipMask
    - CAIRO_STACK_ARRAY_LENGTH
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_xlib_surface_update_shm (cairo_xlib_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: _cairo_xlib_surface_create_shm__image
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *_cairo_xlib_surface_create_shm__image (cairo_xlib_surface_t\
      \ *surface,\t\t\t\t pixman_format_code_t format,\t\t\t\t int width, int height) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: _cairo_xlib_surface_get_shm
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *_cairo_xlib_surface_get_shm (cairo_xlib_surface_t\
      \ *surface,\t\t\t cairo_bool_t overwrite) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - _shm
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: _cairo_xlib_shm_surface_mark_active
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void _cairo_xlib_shm_surface_mark_active (cairo_surface_t *_shm) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: _cairo_xlib_shm_surface_get_xrender_format
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: XRenderPictFormat*
    signature: 'XRenderPictFormat *_cairo_xlib_shm_surface_get_xrender_format (cairo_surface_t
      *surface) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: XShmQueryExtension
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:372,1
    - Dst: shmget
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:377,1
    - Dst: XShmQueryVersion
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:375,1
    - Dst: shmctl
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:384,1
    - Dst: shmat
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:382,1
    - Dst: assert
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:388,1
    - Dst: CAIRO_MUTEX_IS_LOCKED
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:388,1
    - Dst: XLockDisplay
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:391,1
    - Dst: XSync
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:392,1
    - Dst: XSetErrorHandler
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:393,1
    - Dst: XShmDetach
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:397,1
    - Dst: XSync
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:399,1
    - Dst: XSetErrorHandler
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:400,1
    - Dst: XUnlockDisplay
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:401,1
    - Dst: shmdt
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:404,1
    - Dst: XShmAttach
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:395,1
    - Dst: shmctl
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:403,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 2
    argNames:
    - dpy
    - has_pixmap
    argTypes:
    - Display*
    - int*
    constantsTouched: []
    func_position:
      end: 407
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 407
    functionName: can_use_shm
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached:
    - XLockDisplay
    - XUnlockDisplay
    - shmget
    - XSetErrorHandler
    - shmdt
    - XShmQueryExtension
    - assert
    - XShmQueryVersion
    - CAIRO_MUTEX_IS_LOCKED
    - XShmAttach
    - XSync
    - XShmDetach
    - shmat
    - shmctl
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t can_use_shm (Display *dpy, int *has_pixmap) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: seqno_after
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:441,1
    - Dst: XNextRequest
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:446,1
    - Dst: XSendEvent
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:453,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - display
    - info
    - seqno
    argTypes:
    - cairo_xlib_display_t*
    - cairo_xlib_shm_info_t*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 456
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 456
    functionName: send_event
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached:
    - XSendEvent
    - seqno_after
    - XNextRequest
    linkageType: ''
    returnType: void
    signature: "static void send_event(cairo_xlib_display_t *display,\t\t cairo_xlib_shm_info_t\
      \ *info,\t\t unsigned long seqno) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_damage_destroy
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:723,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:728,1
    - Dst: _cairo_xlib_display_acquire
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:727,1
    - Dst: _cairo_damage_create_in_error
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:724,1
    - Dst: XFreePixmap
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:732,1
    - Dst: active
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:734,1
    - Dst: _pqueue_push
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:736,1
    - Dst: seqno_before
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:737,1
    - Dst: _cairo_mempool_free
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:740,1
    - Dst: free
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:741,1
    - Dst: cairo_device_release
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:748,1
    - Dst: _cairo_image_surface_finish
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:749,1
    - Dst: cairo_list_del
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:746,1
    - Dst: _cairo_xlib_shm_pool_cleanup
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:743,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 750
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 750
    functionName: _cairo_xlib_shm_surface_finish
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached:
    - seqno_before
    - _cairo_damage_destroy
    - _pqueue_push
    - _cairo_damage_create_in_error
    - free
    - _cairo_image_surface_finish
    - _cairo_xlib_display_acquire
    - active
    - XFreePixmap
    - cairo_device_release
    - _cairo_mempool_free
    - cairo_list_del
    - _cairo_xlib_shm_pool_cleanup
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_xlib_shm_surface_finish (void *abstract_surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_xlib_surface_t*
    constantsTouched: []
    func_position:
      end: 790
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 790
    functionName: has_shm
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t has_shm (cairo_xlib_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:974,1
    - Dst: memset
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:979,1
    - Dst: _cairo_damage_destroy
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:976,1
    - Dst: _cairo_damage_create
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:977,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_xlib_surface_t*
    constantsTouched: []
    func_position:
      end: 981
      start: 969
    functionDepth: 0
    functionLinenumber: 969
    functionLinenumberEnd: 981
    functionName: _cairo_xlib_surface_clear_shm
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached:
    - memset
    - _cairo_damage_create
    - _cairo_damage_destroy
    - assert
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_xlib_surface_clear_shm (cairo_xlib_surface_t *surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_shm
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1172,1
    - Dst: _cairo_xlib_shm_surface_create
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1175,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1167
    functionDepth: 0
    functionLinenumber: 1167
    functionLinenumberEnd: 1177
    functionName: _cairo_xlib_surface_create_shm__image
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_shm_surface_create
    - has_shm
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *_cairo_xlib_surface_create_shm__image (cairo_xlib_surface_t\
      \ *surface,\t\t\t\t pixman_format_code_t format,\t\t\t\t int width, int height) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_shm
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1160,1
    - Dst: has_shm_pixmaps
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1162,1
    - Dst: _cairo_xlib_shm_surface_create
      Src: /src/cairo/src/cairo-xlib-surface-shm.c:1161,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1165
    functionName: _cairo_xlib_surface_create_shm
    functionSourceFile: /src/cairo/src/cairo-xlib-surface-shm.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_shm_surface_create
    - has_shm
    - has_shm_pixmaps
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *_cairo_xlib_surface_create_shm (cairo_xlib_surface_t\
      \ *other,\t\t\t\tpixman_format_code_t format,\t\t\t\tint width, int height) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_fixed_stroke_is_rectilinear
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:586,1
    - Dst: draw_boxes
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:596,1
    - Dst: _cairo_boxes_init_with_clip
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:589,1
    - Dst: likely
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:595,1
    - Dst: _cairo_path_fixed_stroke_rectilinear_to_boxes
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:590,1
    - Dst: _cairo_boxes_fini
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:597,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 8
    argNames:
    - compositor
    - extents
    - path
    - style
    - ctm
    - ctm_inverse
    - tolerance
    - antialias
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_antialias_t
    constantsTouched: []
    func_position:
      end: 601
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 601
    functionName: _cairo_xlib_core_compositor_stroke
    functionSourceFile: /src/cairo/src/cairo-xlib-core-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_stroke_rectilinear_to_boxes
    - draw_boxes
    - _cairo_boxes_init_with_clip
    - _cairo_path_fixed_stroke_is_rectilinear
    - likely
    - _cairo_boxes_fini
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_xlib_core_compositor_stroke (const\
      \ cairo_compositor_t\t*compositor,\t\t\t\t cairo_composite_rectangles_t *extents,\t\
      \t\t\t const cairo_path_fixed_t\t*path,\t\t\t\t const cairo_stroke_style_t\t\
      *style,\t\t\t\t const cairo_matrix_t\t*ctm,\t\t\t\t const cairo_matrix_t\t*ctm_inverse,\t\
      \t\t\t double\t\t\t tolerance,\t\t\t\t cairo_antialias_t\t\t antialias) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_fixed_fill_is_rectilinear
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:615,1
    - Dst: _cairo_path_fixed_fill_rectilinear_to_boxes
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:619,1
    - Dst: draw_boxes
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:624,1
    - Dst: likely
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:623,1
    - Dst: _cairo_boxes_init_with_clip
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:618,1
    - Dst: _cairo_boxes_fini
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:625,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 6
    argNames:
    - compositor
    - extents
    - path
    - fill_rule
    - tolerance
    - antialias
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    constantsTouched: []
    func_position:
      end: 629
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 629
    functionName: _cairo_xlib_core_compositor_fill
    functionSourceFile: /src/cairo/src/cairo-xlib-core-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_fill_is_rectilinear
    - _cairo_path_fixed_fill_rectilinear_to_boxes
    - draw_boxes
    - _cairo_boxes_init_with_clip
    - likely
    - _cairo_boxes_fini
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_xlib_core_compositor_fill (const\
      \ cairo_compositor_t\t*compositor,\t\t\t\t cairo_composite_rectangles_t\t*extents,\t\
      \t\t\t const cairo_path_fixed_t\t*path,\t\t\t\t cairo_fill_rule_t\t\t fill_rule,\t\
      \t\t\t double\t\t\t tolerance,\t\t\t\t cairo_antialias_t\t\t antialias) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_atomic_init_once_enter
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:637,1
    - Dst: _cairo_atomic_init_once_leave
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:646,1
    - Dst: _cairo_xlib_fallback_compositor_get
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:638,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 650
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 650
    functionName: _cairo_xlib_core_compositor_get
    functionSourceFile: /src/cairo/src/cairo-xlib-core-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_atomic_init_once_leave
    - _cairo_atomic_init_once_enter
    - _cairo_xlib_fallback_compositor_get
    linkageType: ''
    returnType: cairo_compositor_t*
    signature: 'const cairo_compositor_t *_cairo_xlib_core_compositor_get (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_device_release
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - abstract_dst
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 79
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 79
    functionName: release
    functionSourceFile: /src/cairo/src/cairo-xlib-core-compositor.c
    functionUses: []
    functionsReached:
    - cairo_device_release
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t release (void *abstract_dst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:91,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:92,1
    - Dst: XFillRectangle
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:96,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:94,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:93,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - box
    - closure
    argTypes:
    - cairo_box_t*
    - void*
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: fill_box
    functionSourceFile: /src/cairo/src/cairo-xlib-core-compositor.c
    functionUses: []
    functionsReached:
    - XFillRectangle
    - _cairo_fixed_integer_part
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t fill_box (cairo_box_t *box, void *closure) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:326,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:327,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:328,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:329,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - box
    - closure
    argTypes:
    - cairo_box_t*
    - void*
    constantsTouched: []
    func_position:
      end: 330
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 330
    functionName: source_contains_box
    functionSourceFile: /src/cairo/src/cairo-xlib-core-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_integer_part
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t source_contains_box (cairo_box_t *box, void *closure) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _pixman_format_to_masks
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:353,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 2
    argNames:
    - surface
    - image
    argTypes:
    - cairo_xlib_surface_t*
    - cairo_image_surface_t*
    constantsTouched: []
    func_position:
      end: 358
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 358
    functionName: surface_matches_image_format
    functionSourceFile: /src/cairo/src/cairo-xlib-core-compositor.c
    functionUses: []
    functionsReached:
    - _pixman_format_to_masks
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t surface_matches_image_format (cairo_xlib_surface_t\
      \ *surface,\t\t\t cairo_image_surface_t *image) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_popcount
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:103,1
    - Dst: _cairo_popcount
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - mask
    - width
    - shift
    argTypes:
    - uint32_t
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: _characterize_field
    functionSourceFile: /src/cairo/src/cairo-xlib-core-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_popcount
    linkageType: ''
    returnType: void
    signature: 'static void _characterize_field (uint32_t mask, int *width, int *shift) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:335,1
    - Dst: _cairo_xlib_surface_draw_image
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:340,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:338,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:337,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:336,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - box
    - closure
    argTypes:
    - cairo_box_t*
    - void*
    constantsTouched: []
    func_position:
      end: 345
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 345
    functionName: image_upload_box
    functionSourceFile: /src/cairo/src/cairo-xlib-core-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_surface_draw_image
    - _cairo_fixed_integer_part
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t image_upload_box (cairo_box_t *box, void *closure) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: surface_matches_image_format
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:383,1
    - Dst: _cairo_matrix_is_integer_translation
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:388,1
    - Dst: _cairo_boxes_for_each_box
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:398,1
    - Dst: _cairo_boxes_for_each_box
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:401,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 19
    argCount: 3
    argNames:
    - dst
    - source
    - boxes
    argTypes:
    - cairo_xlib_surface_t*
    - cairo_pattern_t*
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 405
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 405
    functionName: upload_image_inplace
    functionSourceFile: /src/cairo/src/cairo-xlib-core-compositor.c
    functionUses: []
    functionsReached:
    - surface_matches_image_format
    - _cairo_boxes_for_each_box
    - _cairo_matrix_is_integer_translation
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t upload_image_inplace (cairo_xlib_surface_t *dst,\t\
      \t const cairo_pattern_t *source,\t\t cairo_boxes_t *boxes) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xlib_surface_put_gc
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:183,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - fb
    - dst
    argTypes:
    - struct _fill_box*
    - cairo_xlib_surface_t*
    constantsTouched: []
    func_position:
      end: 185
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 185
    functionName: _fill_box_fini
    functionSourceFile: /src/cairo/src/cairo-xlib-core-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_surface_put_gc
    linkageType: ''
    returnType: void
    signature: "static void _fill_box_fini (struct _fill_box *fb,\t\tcairo_xlib_surface_t\
      \ *dst) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:237,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:240,1
    - Dst: cairo_surface_create_similar_image
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:246,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:239,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:238,1
    - Dst: _cairo_surface_offset_paint
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:248,1
    - Dst: _cairo_xlib_surface_draw_image
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:252,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:258,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - box
    - closure
    argTypes:
    - cairo_box_t*
    - void*
    constantsTouched: []
    func_position:
      end: 261
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 261
    functionName: fallback_box
    functionSourceFile: /src/cairo/src/cairo-xlib-core-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_surface_draw_image
    - _cairo_fixed_integer_part
    - cairo_surface_destroy
    - _cairo_surface_offset_paint
    - cairo_surface_create_similar_image
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t fallback_box (cairo_box_t *box, void *closure) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fallback_boxes
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:295,1
    - Dst: fallback_boxes
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:305,1
    - Dst: fallback_boxes
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:302,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 6
    argCount: 3
    argNames:
    - dst
    - pattern
    - boxes
    argTypes:
    - cairo_xlib_surface_t*
    - cairo_pattern_t*
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 307
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 307
    functionName: render_boxes
    functionSourceFile: /src/cairo/src/cairo-xlib-core-compositor.c
    functionUses: []
    functionsReached:
    - fallback_boxes
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t render_boxes (cairo_xlib_surface_t\t*dst,\t\
      \ const cairo_pattern_t\t*pattern,\t cairo_boxes_t\t\t*boxes) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_is_region
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:561,1
    - Dst: _cairo_clip_steal_boxes
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:564,1
    - Dst: _cairo_clip_unsteal_boxes
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:566,1
    - Dst: draw_boxes
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:565,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - compositor
    - extents
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 570
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 570
    functionName: _cairo_xlib_core_compositor_paint
    functionSourceFile: /src/cairo/src/cairo-xlib-core-compositor.c
    functionUses: []
    functionsReached:
    - draw_boxes
    - _cairo_clip_unsteal_boxes
    - _cairo_clip_is_region
    - _cairo_clip_steal_boxes
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_xlib_core_compositor_paint (const\
      \ cairo_compositor_t\t*compositor,\t\t\t\t cairo_composite_rectangles_t *extents) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _fill_box_init
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:195,1
    - Dst: _fill_box_fini
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:201,1
    - Dst: _cairo_boxes_for_each_box
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:199,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:196,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - dst
    - color
    - boxes
    argTypes:
    - cairo_xlib_surface_t*
    - cairo_color_t*
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 203
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 203
    functionName: _cairo_xlib_core_fill_boxes
    functionSourceFile: /src/cairo/src/cairo-xlib-core-compositor.c
    functionUses: []
    functionsReached:
    - _fill_box_init
    - _cairo_boxes_for_each_box
    - _fill_box_fini
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_xlib_core_fill_boxes (cairo_xlib_surface_t\
      \ *dst,\t\t\t const cairo_color_t *color,\t\t\t cairo_boxes_t\t *boxes) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_boxes_for_each_box
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:283,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 11
    argCount: 3
    argNames:
    - dst
    - pattern
    - boxes
    argTypes:
    - cairo_xlib_surface_t*
    - cairo_pattern_t*
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 287
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 287
    functionName: fallback_boxes
    functionSourceFile: /src/cairo/src/cairo-xlib-core-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_boxes_for_each_box
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t fallback_boxes (cairo_xlib_surface_t\t*dst,\t\
      \tconst cairo_pattern_t\t*pattern,\t\tcairo_boxes_t\t\t*boxes) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xlib_display_acquire
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - abstract_dst
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: acquire
    functionSourceFile: /src/cairo/src/cairo-xlib-core-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_display_acquire
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t acquire (void *abstract_dst) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pattern_is_opaque
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:523,1
    - Dst: acquire
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:532,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:533,1
    - Dst: _cairo_xlib_core_fill_boxes
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:537,1
    - Dst: upload_image_inplace
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:540,1
    - Dst: copy_boxes
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:542,1
    - Dst: render_boxes
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:544,1
    - Dst: release
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:547,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 31
    argCount: 2
    argNames:
    - extents
    - boxes
    argTypes:
    - cairo_composite_rectangles_t*
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 550
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 550
    functionName: draw_boxes
    functionSourceFile: /src/cairo/src/cairo-xlib-core-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_is_opaque
    - copy_boxes
    - upload_image_inplace
    - release
    - render_boxes
    - acquire
    - _cairo_xlib_core_fill_boxes
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t draw_boxes (cairo_composite_rectangles_t *extents,\t\
      \ cairo_boxes_t *boxes) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _characterize_field
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:115,1
    - Dst: _characterize_field
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:124,1
    - Dst: _characterize_field
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:121,1
    - Dst: _characterize_field
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - dst
    - color
    argTypes:
    - cairo_xlib_surface_t*
    - cairo_color_t*
    constantsTouched: []
    func_position:
      end: 128
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 128
    functionName: color_to_pixel
    functionSourceFile: /src/cairo/src/cairo-xlib-core-compositor.c
    functionUses: []
    functionsReached:
    - _characterize_field
    linkageType: ''
    returnType: uint32_t
    signature: "static uint32_t color_to_pixel (cairo_xlib_surface_t *dst,\t\tconst\
      \ cairo_color_t *color) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _fill_box_init
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:215,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:216,1
    - Dst: XFillRectangle
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:220,1
    - Dst: _fill_box_fini
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:224,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 4
    argNames:
    - dst
    - color
    - num_rects
    - rects
    argTypes:
    - cairo_xlib_surface_t*
    - cairo_color_t*
    - int
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 226
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 226
    functionName: _cairo_xlib_core_fill_rectangles
    functionSourceFile: /src/cairo/src/cairo-xlib-core-compositor.c
    functionUses: []
    functionsReached:
    - _fill_box_init
    - XFillRectangle
    - _fill_box_fini
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_xlib_core_fill_rectangles (cairo_xlib_surface_t\
      \ *dst,\t\t\t\t const cairo_color_t *color,\t\t\t\t int num_rects,\t\t\t\t cairo_rectangle_int_t\
      \ *rects) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:410,1
    - Dst: XCopyArea
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:415,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:411,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:413,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:412,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - box
    - closure
    argTypes:
    - cairo_box_t*
    - void*
    constantsTouched: []
    func_position:
      end: 423
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 423
    functionName: copy_box
    functionSourceFile: /src/cairo/src/cairo-xlib-core-compositor.c
    functionUses: []
    functionsReached:
    - XCopyArea
    - _cairo_fixed_integer_part
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t copy_box (cairo_box_t *box, void *closure) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xlib_surface_get_gc
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:137,1
    - Dst: _cairo_pattern_init_solid
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:149,1
    - Dst: _cairo_pattern_acquire_surface
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:150,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:152,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:138,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:153,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:157,1
    - Dst: _cairo_xlib_surface_put_gc
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:158,1
    - Dst: XSetTSOrigin
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:162,1
    - Dst: XSetTile
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:165,1
    - Dst: color_to_pixel
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:170,1
    - Dst: XChangeGC
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:173,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - fb
    - dst
    - color
    argTypes:
    - struct _fill_box*
    - cairo_xlib_surface_t*
    - cairo_color_t*
    constantsTouched: []
    func_position:
      end: 177
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 177
    functionName: _fill_box_init
    functionSourceFile: /src/cairo/src/cairo-xlib-core-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_surface_get_gc
    - _cairo_xlib_surface_put_gc
    - XChangeGC
    - _cairo_pattern_acquire_surface
    - ARRAY_LENGTH
    - XSetTSOrigin
    - XSetTile
    - _cairo_pattern_init_solid
    - color_to_pixel
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _fill_box_init (struct _fill_box *fb,\t\t\
      cairo_xlib_surface_t *dst,\t\tconst cairo_color_t *color) "
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_xlib_surface_same_screen
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:460,1
    - Dst: _cairo_xlib_surface_get_gc
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:477,1
    - Dst: _cairo_matrix_is_integer_translation
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:463,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:478,1
    - Dst: _cairo_boxes_for_each_box
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:474,1
    - Dst: XChangeGC
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:485,1
    - Dst: _cairo_boxes_for_each_box
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:489,1
    - Dst: XChangeGC
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:496,1
    - Dst: _cairo_xlib_surface_put_gc
      Src: /src/cairo/src/cairo-xlib-core-compositor.c:499,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 36
    argCount: 3
    argNames:
    - dst
    - source
    - boxes
    argTypes:
    - cairo_xlib_surface_t*
    - cairo_pattern_t*
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 502
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 502
    functionName: copy_boxes
    functionSourceFile: /src/cairo/src/cairo-xlib-core-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_xlib_surface_get_gc
    - _cairo_xlib_surface_put_gc
    - XChangeGC
    - _cairo_xlib_surface_same_screen
    - _cairo_matrix_is_integer_translation
    - _cairo_boxes_for_each_box
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t copy_boxes (cairo_xlib_surface_t *dst,\t const\
      \ cairo_pattern_t *source,\t cairo_boxes_t *boxes) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create
      Src: /src/cairo/src/cairo-quartz-image-surface.c:80,1
    - Dst: cairo_quartz_image_surface_create
      Src: /src/cairo/src/cairo-quartz-image-surface.c:81,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-quartz-image-surface.c:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 85
    functionName: _cairo_quartz_image_surface_create_similar_image
    functionSourceFile: /src/cairo/src/cairo-quartz-image-surface.c
    functionUses: []
    functionsReached:
    - cairo_quartz_image_surface_create
    - cairo_image_surface_create
    - cairo_surface_destroy
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_quartz_image_surface_create_similar_image\
      \ (void *asurface,\t\t\t\t\t\t cairo_format_t format,\t\t\t\t\t\t int width,\t\
      \t\t\t\t\t int height) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 3
    argNames:
    - asurface
    - image_out
    - image_extra
    argTypes:
    - void*
    - cairo_image_surface_t**
    - void**
    constantsTouched: []
    func_position:
      end: 109
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 109
    functionName: _cairo_quartz_image_surface_acquire_source_image
    functionSourceFile: /src/cairo/src/cairo-quartz-image-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_quartz_image_surface_acquire_source_image\
      \ (void *asurface,\t\t\t\t\t\t cairo_image_surface_t **image_out,\t\t\t\t\t\t\
      \ void **image_extra) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_unmap_image
      Src: /src/cairo/src/cairo-quartz-image-surface.c:124,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - asurface
    - image
    argTypes:
    - void*
    - cairo_image_surface_t*
    constantsTouched: []
    func_position:
      end: 125
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 125
    functionName: _cairo_quartz_image_surface_unmap_image
    functionSourceFile: /src/cairo/src/cairo-quartz-image-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_unmap_image
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_quartz_image_surface_unmap_image\
      \ (void *asurface,\t\t\t\t\t cairo_image_surface_t *image) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_paint
      Src: /src/cairo/src/cairo-quartz-image-surface.c:147,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - abstract_surface
    - op
    - source
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 149
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 149
    functionName: _cairo_quartz_image_surface_paint
    functionSourceFile: /src/cairo/src/cairo-quartz-image-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_paint
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_quartz_image_surface_paint (void\t\
      \t\t*abstract_surface,\t\t\t\t cairo_operator_t\t\t op,\t\t\t\t const cairo_pattern_t\t\
      *source,\t\t\t\t const cairo_clip_t\t\t*clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_stroke
      Src: /src/cairo/src/cairo-quartz-image-surface.c:176,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 10
    argNames:
    - abstract_surface
    - op
    - source
    - path
    - style
    - ctm
    - ctm_inverse
    - tolerance
    - antialias
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 180
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 180
    functionName: _cairo_quartz_image_surface_stroke
    functionSourceFile: /src/cairo/src/cairo-quartz-image-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_stroke
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_quartz_image_surface_stroke (void\t\
      \t\t*abstract_surface,\t\t\t\t cairo_operator_t\t\t op,\t\t\t\t const cairo_pattern_t\t\
      *source,\t\t\t\t const cairo_path_fixed_t\t*path,\t\t\t\t const cairo_stroke_style_t\t\
      *style,\t\t\t\t const cairo_matrix_t\t*ctm,\t\t\t\t const cairo_matrix_t\t*ctm_inverse,\t\
      \t\t\t double\t\t\t tolerance,\t\t\t\t cairo_antialias_t\t\t antialias,\t\t\t\
      \t const cairo_clip_t\t\t*clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_show_text_glyphs
      Src: /src/cairo/src/cairo-quartz-image-surface.c:209,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 7
    argNames:
    - abstract_surface
    - op
    - source
    - glyphs
    - num_glyphs
    - scaled_font
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_glyph_t*
    - int
    - cairo_scaled_font_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 215
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 215
    functionName: _cairo_quartz_image_surface_glyphs
    functionSourceFile: /src/cairo/src/cairo-quartz-image-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_show_text_glyphs
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_quartz_image_surface_glyphs (void\t\
      \t\t*abstract_surface,\t\t\t\t cairo_operator_t\t\t op,\t\t\t\t const cairo_pattern_t\t\
      *source,\t\t\t\t cairo_glyph_t\t\t*glyphs,\t\t\t\t int\t\t\t\t num_glyphs,\t\
      \t\t\t cairo_scaled_font_t\t\t*scaled_font,\t\t\t\t const cairo_clip_t\t\t*clip) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_is_quartz
      Src: /src/cairo/src/cairo-quartz-image-surface.c:344,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 349
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 349
    functionName: cairo_quartz_image_surface_get_image
    functionSourceFile: /src/cairo/src/cairo-quartz-image-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_is_quartz
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'cairo_surface_t *cairo_quartz_image_surface_get_image (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 389
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 389
    functionName: _cairo_surface_is_quartz_image
    functionSourceFile: /src/cairo/src/cairo-quartz-image-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t _cairo_surface_is_quartz_image (const cairo_surface_t
      *surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CGContextRelease
      Src: /src/cairo/src/cairo-quartz-image-surface.c:92,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-quartz-image-surface.c:94,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - asurface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 96
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 96
    functionName: _cairo_quartz_image_surface_finish
    functionSourceFile: /src/cairo/src/cairo-quartz-image-surface.c
    functionUses: []
    functionsReached:
    - CGContextRelease
    - cairo_surface_destroy
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_quartz_image_surface_finish (void *asurface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_map_to_image
      Src: /src/cairo/src/cairo-quartz-image-surface.c:116,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: _cairo_quartz_image_surface_map_to_image
    functionSourceFile: /src/cairo/src/cairo-quartz-image-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_map_to_image
    linkageType: ''
    returnType: cairo_image_surface_t*
    signature: "static cairo_image_surface_t *_cairo_quartz_image_surface_map_to_image\
      \ (void *asurface,\t\t\t\t\t const cairo_rectangle_int_t *extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - asurface
    - extents
    argTypes:
    - void*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 138
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 138
    functionName: _cairo_quartz_image_surface_get_extents
    functionSourceFile: /src/cairo/src/cairo-quartz-image-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _cairo_quartz_image_surface_get_extents (void\
      \ *asurface,\t\t\t\t\t cairo_rectangle_int_t *extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_mask
      Src: /src/cairo/src/cairo-quartz-image-surface.c:159,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 5
    argNames:
    - abstract_surface
    - op
    - source
    - mask
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 161
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 161
    functionName: _cairo_quartz_image_surface_mask
    functionSourceFile: /src/cairo/src/cairo-quartz-image-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_mask
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_quartz_image_surface_mask (void\t\
      \t\t\t*abstract_surface,\t\t\t\t cairo_operator_t\t\t op,\t\t\t\t const cairo_pattern_t\t\
      \t*source,\t\t\t\t const cairo_pattern_t\t\t*mask,\t\t\t\t const cairo_clip_t\t\
      \t*clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_fill
      Src: /src/cairo/src/cairo-quartz-image-surface.c:193,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 8
    argNames:
    - abstract_surface
    - op
    - source
    - path
    - fill_rule
    - tolerance
    - antialias
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 197
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 197
    functionName: _cairo_quartz_image_surface_fill
    functionSourceFile: /src/cairo/src/cairo-quartz-image-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_fill
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_quartz_image_surface_fill (void\t\
      \t\t\t*abstract_surface,\t\t\t cairo_operator_t\t\t op,\t\t\t const cairo_pattern_t\t\
      *source,\t\t\t const cairo_path_fixed_t\t*path,\t\t\t cairo_fill_rule_t\t\t\
      \ fill_rule,\t\t\t double\t\t\t tolerance,\t\t\t cairo_antialias_t\t\t antialias,\t\
      \t\t const cairo_clip_t\t\t*clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_quartz_image_surface_t*
    constantsTouched: []
    func_position:
      end: 394
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 394
    functionName: _cairo_quartz_image_surface_is_zero
    functionSourceFile: /src/cairo/src/cairo-quartz-image-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t _cairo_quartz_image_surface_is_zero (const cairo_quartz_image_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_image_surface_create_with_content
      Src: /src/cairo/src/cairo-quartz-image-surface.c:67,1
    - Dst: cairo_quartz_image_surface_create
      Src: /src/cairo/src/cairo-quartz-image-surface.c:68,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-quartz-image-surface.c:69,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 72
    functionName: _cairo_quartz_image_surface_create_similar
    functionSourceFile: /src/cairo/src/cairo-quartz-image-surface.c
    functionUses: []
    functionsReached:
    - cairo_quartz_image_surface_create
    - _cairo_image_surface_create_with_content
    - cairo_surface_destroy
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_quartz_image_surface_create_similar\
      \ (void *asurface,\t\t\t\t\t cairo_content_t content,\t\t\t\t\t int width,\t\
      \t\t\t\t int height) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_is_image
      Src: /src/cairo/src/cairo-quartz-image-surface.c:276,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-quartz-image-surface.c:294,1
    - Dst: _cairo_surface_init
      Src: /src/cairo/src/cairo-quartz-image-surface.c:298,1
    - Dst: _cairo_content_from_format
      Src: /src/cairo/src/cairo-quartz-image-surface.c:301,1
    - Dst: _cairo_quartz_verify_surface_size
      Src: /src/cairo/src/cairo-quartz-image-surface.c:285,1
    - Dst: _cairo_surface_is_quartz
      Src: /src/cairo/src/cairo-quartz-image-surface.c:304,1
    - Dst: _cairo_surface_is_quartz_image
      Src: /src/cairo/src/cairo-quartz-image-surface.c:304,1
    - Dst: cairo_quartz_surface_get_cg_context
      Src: /src/cairo/src/cairo-quartz-image-surface.c:305,1
    - Dst: _cairo_quartz_create_color_space
      Src: /src/cairo/src/cairo-quartz-image-surface.c:306,1
    - Dst: CGDisplayCopyColorSpace
      Src: /src/cairo/src/cairo-quartz-image-surface.c:309,1
    - Dst: CGMainDisplayID
      Src: /src/cairo/src/cairo-quartz-image-surface.c:309,1
    - Dst: CGColorSpaceRelease
      Src: /src/cairo/src/cairo-quartz-image-surface.c:321,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-quartz-image-surface.c:319,1
    - Dst: CGBitmapContextCreate
      Src: /src/cairo/src/cairo-quartz-image-surface.c:317,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 323
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 323
    functionName: cairo_quartz_image_surface_create
    functionSourceFile: /src/cairo/src/cairo-quartz-image-surface.c
    functionUses: []
    functionsReached:
    - _cairo_quartz_verify_surface_size
    - _cairo_surface_is_quartz_image
    - _cairo_surface_init
    - _cairo_surface_is_image
    - cairo_quartz_surface_get_cg_context
    - _cairo_content_from_format
    - CGColorSpaceRelease
    - cairo_surface_reference
    - _cairo_quartz_create_color_space
    - CGMainDisplayID
    - CGDisplayCopyColorSpace
    - CGBitmapContextCreate
    - _cairo_surface_is_quartz
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'cairo_surface_t *cairo_quartz_image_surface_create (cairo_surface_t
      *surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_is_quartz_image
      Src: /src/cairo/src/cairo-quartz-image-surface.c:371,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 376
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 376
    functionName: _cairo_quartz_image_surface_get_cg_context
    functionSourceFile: /src/cairo/src/cairo-quartz-image-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_is_quartz_image
    linkageType: ''
    returnType: CGContextRef
    signature: 'CGContextRef _cairo_quartz_image_surface_get_cg_context (cairo_surface_t
      *surface) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _utf8_get_char_extended
      Src: /src/cairo/src/cairo-unicode.c:265,1
    - Dst: UNICODE_VALID
      Src: /src/cairo/src/cairo-unicode.c:266,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-unicode.c:267,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-unicode.c:271,1
    - Dst: UTF8_NEXT_CHAR
      Src: /src/cairo/src/cairo-unicode.c:273,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-unicode.c:277,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-unicode.c:279,1
    - Dst: _utf8_get_char
      Src: /src/cairo/src/cairo-unicode.c:283,1
    - Dst: UTF8_NEXT_CHAR
      Src: /src/cairo/src/cairo-unicode.c:284,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 39
    argCount: 4
    argNames:
    - str
    - len
    - result
    - items_written
    argTypes:
    - char*
    - int
    - uint32_t**
    - int*
    constantsTouched: []
    func_position:
      end: 295
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 295
    functionName: _cairo_utf8_to_ucs4
    functionSourceFile: /src/cairo/src/cairo-unicode.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _utf8_get_char
    - UNICODE_VALID
    - _utf8_get_char_extended
    - _cairo_malloc_ab
    - UTF8_NEXT_CHAR
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_utf8_to_ucs4 (const char *str,\t\t int\t len,\t\
      \t uint32_t **result,\t\t int\t*items_written) "
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: UTF8_LENGTH
      Src: /src/cairo/src/cairo-unicode.c:190,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 2
    argNames:
    - p
    - max_len
    argTypes:
    - unsigned char*
    - long
    constantsTouched: []
    func_position:
      end: 194
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 194
    functionName: _utf8_get_char_extended
    functionSourceFile: /src/cairo/src/cairo-unicode.c
    functionUses: []
    functionsReached:
    - UTF8_LENGTH
    linkageType: ''
    returnType: uint32_t
    signature: "static uint32_t _utf8_get_char_extended (const unsigned char *p,\t\
      \t\t long\t\t max_len) "
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - unicode
    - utf16
    argTypes:
    - uint32_t
    - uint16_t*
    constantsTouched: []
    func_position:
      end: 370
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 370
    functionName: _cairo_ucs4_to_utf16
    functionSourceFile: /src/cairo/src/cairo-unicode.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int _cairo_ucs4_to_utf16 (uint32_t unicode,\t\t uint16_t *utf16) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _utf8_get_char_extended
      Src: /src/cairo/src/cairo-unicode.c:408,1
    - Dst: UTF8_NEXT_CHAR
      Src: /src/cairo/src/cairo-unicode.c:420,1
    - Dst: UNICODE_VALID
      Src: /src/cairo/src/cairo-unicode.c:409,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-unicode.c:418,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-unicode.c:410,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-unicode.c:423,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-unicode.c:425,1
    - Dst: _utf8_get_char
      Src: /src/cairo/src/cairo-unicode.c:429,1
    - Dst: _cairo_ucs4_to_utf16
      Src: /src/cairo/src/cairo-unicode.c:431,1
    - Dst: UTF8_NEXT_CHAR
      Src: /src/cairo/src/cairo-unicode.c:433,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 4
    argNames:
    - str
    - len
    - result
    - items_written
    argTypes:
    - char*
    - int
    - uint16_t**
    - int*
    constantsTouched: []
    func_position:
      end: 443
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 443
    functionName: _cairo_utf8_to_utf16
    functionSourceFile: /src/cairo/src/cairo-unicode.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _utf8_get_char
    - UNICODE_VALID
    - _utf8_get_char_extended
    - _cairo_malloc_ab
    - _cairo_ucs4_to_utf16
    - UTF8_NEXT_CHAR
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_utf8_to_utf16 (const char *str,\t\t int\t len,\t\
      \t uint16_t **result,\t\t int\t*items_written) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UTF8_COMPUTE
      Src: /src/cairo/src/cairo-unicode.c:127,1
    - Dst: UTF8_GET
      Src: /src/cairo/src/cairo-unicode.c:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 133
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 133
    functionName: _utf8_get_char
    functionSourceFile: /src/cairo/src/cairo-unicode.c
    functionUses: []
    functionsReached:
    - UTF8_GET
    - UTF8_COMPUTE
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t _utf8_get_char (const unsigned char *p) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UTF8_COMPUTE
      Src: /src/cairo/src/cairo-unicode.c:217,1
    - Dst: UTF8_GET
      Src: /src/cairo/src/cairo-unicode.c:223,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - p
    - unicode
    argTypes:
    - char*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 228
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 228
    functionName: _cairo_utf8_get_char_validated
    functionSourceFile: /src/cairo/src/cairo-unicode.c
    functionUses: []
    functionsReached:
    - UTF8_GET
    - UTF8_COMPUTE
    linkageType: ''
    returnType: int
    signature: "int _cairo_utf8_get_char_validated (const char *p,\t\t\t\tuint32_t\
      \ *unicode) "
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - unicode
    - utf8
    argTypes:
    - uint32_t
    - char*
    constantsTouched: []
    func_position:
      end: 340
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 340
    functionName: _cairo_ucs4_to_utf8
    functionSourceFile: /src/cairo/src/cairo-unicode.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int _cairo_ucs4_to_utf8 (uint32_t unicode,\t\t char *utf8) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-rectangle.c:55,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-rectangle.c:58,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-rectangle.c:56,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-rectangle.c:57,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 5
    argNames:
    - box
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - cairo_box_t*
    - double*
    - double*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 59
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 59
    functionName: _cairo_box_from_doubles
    functionSourceFile: /src/cairo/src/cairo-rectangle.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_from_double
    linkageType: ''
    returnType: cairo_private
    signature: "cairo_private void _cairo_box_from_doubles (cairo_box_t *box,\t\t\t\
      \ double *x1, double *y1,\t\t\t double *x2, double *y2) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_integer_floor
      Src: /src/cairo/src/cairo-rectangle.c:111,1
    - Dst: _cairo_fixed_integer_floor
      Src: /src/cairo/src/cairo-rectangle.c:112,1
    - Dst: _cairo_fixed_integer_ceil
      Src: /src/cairo/src/cairo-rectangle.c:113,1
    - Dst: _cairo_fixed_integer_ceil
      Src: /src/cairo/src/cairo-rectangle.c:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - box
    - rectangle
    argTypes:
    - cairo_box_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 115
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 115
    functionName: _cairo_box_round_to_rectangle
    functionSourceFile: /src/cairo/src/cairo-rectangle.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_integer_ceil
    - _cairo_fixed_integer_floor
    linkageType: ''
    returnType: void
    signature: "void _cairo_box_round_to_rectangle (const cairo_box_t *box,\t\t\t\
      \ cairo_rectangle_int_t *rectangle) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-rectangle.c:76,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-rectangle.c:78,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-rectangle.c:77,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-rectangle.c:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - box
    - rect
    argTypes:
    - cairo_box_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: _cairo_box_from_rectangle
    functionSourceFile: /src/cairo/src/cairo-rectangle.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_from_int
    linkageType: ''
    returnType: void
    signature: "void _cairo_box_from_rectangle (cairo_box_t *box,\t\t\t const cairo_rectangle_int_t\
      \ *rect) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/cairo/src/cairo-rectangle.c:157,1
    - Dst: MIN
      Src: /src/cairo/src/cairo-rectangle.c:158,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-rectangle.c:162,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-rectangle.c:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - cairo_rectangle_int_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 169
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 169
    functionName: _cairo_rectangle_union
    functionSourceFile: /src/cairo/src/cairo-rectangle.c
    functionUses: []
    functionsReached:
    - MIN
    - MAX
    linkageType: ''
    returnType: void
    signature: "void _cairo_rectangle_union (cairo_rectangle_int_t *dst,\t\t\tconst\
      \ cairo_rectangle_int_t *src) "
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_box_contains_point
      Src: /src/cairo/src/cairo-rectangle.c:198,1
    - Dst: _cairo_box_contains_point
      Src: /src/cairo/src/cairo-rectangle.c:199,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-rectangle.c:248,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-rectangle.c:250,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-rectangle.c:249,1
    - Dst: _cairo_int32x32_64_mul
      Src: /src/cairo/src/cairo-rectangle.c:251,1
    - Dst: _cairo_int64_lt
      Src: /src/cairo/src/cairo-rectangle.c:253,1
    - Dst: _cairo_int64_lt
      Src: /src/cairo/src/cairo-rectangle.c:254,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 72
    argCount: 2
    argNames:
    - box
    - line
    argTypes:
    - cairo_box_t*
    - cairo_line_t*
    constantsTouched: []
    func_position:
      end: 258
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 258
    functionName: _cairo_box_intersects_line_segment
    functionSourceFile: /src/cairo/src/cairo-rectangle.c
    functionUses: []
    functionsReached:
    - _cairo_int64_lt
    - _cairo_int32x32_64_mul
    - _cairo_box_contains_point
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t _cairo_box_intersects_line_segment (const cairo_box_t
      *box, cairo_line_t *line) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_box_add_point
      Src: /src/cairo/src/cairo-rectangle.c:265,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - closure
    - point
    - tangent
    argTypes:
    - void*
    - cairo_point_t*
    - cairo_slope_t*
    constantsTouched: []
    func_position:
      end: 268
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 268
    functionName: _cairo_box_add_spline_point
    functionSourceFile: /src/cairo/src/cairo-rectangle.c
    functionUses: []
    functionsReached:
    - _cairo_box_add_point
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_box_add_spline_point (void *closure,\t\
      \t\t const cairo_point_t *point,\t\t\t const cairo_slope_t *tangent) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-rectangle.c:87,1
    - Dst: _cairo_box_add_box
      Src: /src/cairo/src/cairo-rectangle.c:90,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - boxes
    - num_boxes
    - extents
    argTypes:
    - cairo_box_t*
    - int
    - cairo_box_t*
    constantsTouched: []
    func_position:
      end: 91
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 91
    functionName: _cairo_boxes_get_extents
    functionSourceFile: /src/cairo/src/cairo-rectangle.c
    functionUses: []
    functionsReached:
    - _cairo_box_add_box
    - assert
    linkageType: ''
    returnType: void
    signature: "void _cairo_boxes_get_extents (const cairo_box_t *boxes,\t\t\t int\
      \ num_boxes,\t\t\t cairo_box_t *extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-rectangle.c:66,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-rectangle.c:68,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-rectangle.c:69,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-rectangle.c:67,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 5
    argNames:
    - box
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - cairo_box_t*
    - double*
    - double*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 70
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionName: _cairo_box_to_doubles
    functionSourceFile: /src/cairo/src/cairo-rectangle.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_to_double
    linkageType: ''
    returnType: cairo_private
    signature: "cairo_private void _cairo_box_to_doubles (const cairo_box_t *box,\t\
      \t double *x1, double *y1,\t\t double *x2, double *y2) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MAX
      Src: /src/cairo/src/cairo-rectangle.c:123,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-rectangle.c:124,1
    - Dst: MIN
      Src: /src/cairo/src/cairo-rectangle.c:128,1
    - Dst: MIN
      Src: /src/cairo/src/cairo-rectangle.c:129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - cairo_rectangle_int_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 146
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 146
    functionName: _cairo_rectangle_intersect
    functionSourceFile: /src/cairo/src/cairo-rectangle.c
    functionUses: []
    functionsReached:
    - MIN
    - MAX
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t _cairo_rectangle_intersect (cairo_rectangle_int_t *dst,\t\
      \t\t const cairo_rectangle_int_t *src) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/cairo/src/cairo-rectangle.c:294,1
    - Dst: floor
      Src: /src/cairo/src/cairo-rectangle.c:296,1
    - Dst: ceil
      Src: /src/cairo/src/cairo-rectangle.c:296,1
    - Dst: floor
      Src: /src/cairo/src/cairo-rectangle.c:295,1
    - Dst: ceil
      Src: /src/cairo/src/cairo-rectangle.c:297,1
    - Dst: floor
      Src: /src/cairo/src/cairo-rectangle.c:297,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - recti
    - rectf
    argTypes:
    - cairo_rectangle_int_t*
    - cairo_rectangle_t*
    constantsTouched: []
    func_position:
      end: 298
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 298
    functionName: _cairo_rectangle_int_from_double
    functionSourceFile: /src/cairo/src/cairo-rectangle.c
    functionUses: []
    functionsReached:
    - ceil
    - floor
    linkageType: ''
    returnType: void
    signature: "void _cairo_rectangle_int_from_double (cairo_rectangle_int_t *recti,\t\
      \t\t\t const cairo_rectangle_t *rectf) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_box_add_point
      Src: /src/cairo/src/cairo-rectangle.c:278,1
    - Dst: assert
      Src: /src/cairo/src/cairo-rectangle.c:286,1
    - Dst: _cairo_box_contains_point
      Src: /src/cairo/src/cairo-rectangle.c:279,1
    - Dst: _cairo_spline_bound
      Src: /src/cairo/src/cairo-rectangle.c:284,1
    - Dst: _cairo_box_contains_point
      Src: /src/cairo/src/cairo-rectangle.c:280,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 5
    argNames:
    - extents
    - a
    - b
    - c
    - d
    argTypes:
    - cairo_box_t*
    - cairo_point_t*
    - cairo_point_t*
    - cairo_point_t*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 288
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 288
    functionName: _cairo_box_add_curve_to
    functionSourceFile: /src/cairo/src/cairo-rectangle.c
    functionUses: []
    functionsReached:
    - _cairo_box_add_point
    - _cairo_spline_bound
    - assert
    - _cairo_box_contains_point
    linkageType: ''
    returnType: void
    signature: "void _cairo_box_add_curve_to (cairo_box_t *extents,\t\t\t const cairo_point_t\
      \ *a,\t\t\t const cairo_point_t *b,\t\t\t const cairo_point_t *c,\t\t\t const\
      \ cairo_point_t *d) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_create_for_filename
      Src: /src/cairo/src/cairo-pdf-surface.c:671,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-pdf-surface.c:673,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:673,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-surface.c:672,1
    - Dst: _cairo_pdf_surface_create_for_stream_internal
      Src: /src/cairo/src/cairo-pdf-surface.c:675,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 678
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 678
    functionName: cairo_pdf_surface_create
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_surface_create_for_stream_internal
    - _cairo_output_stream_create_for_filename
    - _cairo_surface_create_in_error
    - _cairo_output_stream_get_status
    - _cairo_output_stream_destroy
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *cairo_pdf_surface_create (const char\t\t*filename,\t\
      \t\t double\t\t width_in_points,\t\t\t double\t\t height_in_points) "
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-surface.c:3091,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-surface.c:3101,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-pdf-surface.c:3106,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-surface.c:3098,1
    - Dst: _cairo_image_analyze_transparency
      Src: /src/cairo/src/cairo-pdf-surface.c:3096,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-pdf-surface.c:3109,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:3112,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:3113,1
    - Dst: CAIRO_BITSWAP8_IF_LITTLE_ENDIAN
      Src: /src/cairo/src/cairo-pdf-surface.c:3127,1
    - Dst: _cairo_pdf_surface_open_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:3163,1
    - Dst: _cairo_pdf_surface_open_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:3177,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:3191,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-pdf-surface.c:3194,1
    - Dst: _cairo_pdf_surface_close_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:3195,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-surface.c:3198,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 109
    argCount: 5
    argNames:
    - surface
    - image
    - stencil_mask
    - interpolate
    - stream_res
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_image_surface_t*
    - cairo_bool_t
    - cairo_bool_t
    - cairo_pdf_resource_t*
    constantsTouched: []
    func_position:
      end: 3201
      start: 3075
    functionDepth: 0
    functionLinenumber: 3075
    functionLinenumberEnd: 3201
    functionName: _cairo_pdf_surface_emit_smask
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_image_analyze_transparency
    - _cairo_error
    - free
    - assert
    - _cairo_pdf_surface_open_stream
    - _cairo_output_stream_write
    - CAIRO_BITSWAP8_IF_LITTLE_ENDIAN
    - _cairo_malloc_ab
    - _cairo_pdf_surface_close_stream
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_emit_smask (cairo_pdf_surface_t\t\
      *surface,\t\t\t cairo_image_surface_t\t*image,\t\t\t cairo_bool_t stencil_mask,\t\
      \t\t cairo_bool_t interpolate,\t\t\t cairo_pdf_resource_t\t*stream_res) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_get_mime_data
      Src: /src/cairo/src/cairo-pdf-surface.c:3583,1
    - Dst: _cairo_pdf_surface_open_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:3624,1
    - Dst: _cairo_pdf_surface_open_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:3608,1
    - Dst: _cairo_image_info_get_jpx_info
      Src: /src/cairo/src/cairo-pdf-surface.c:3588,1
    - Dst: snprintf
      Src: /src/cairo/src/cairo-pdf-surface.c:3599,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-pdf-surface.c:3642,1
    - Dst: _cairo_pdf_surface_close_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:3643,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 22
    argCount: 4
    argNames:
    - surface
    - source
    - surface_entry
    - test
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_surface_t*
    - cairo_pdf_source_surface_entry_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 3646
      start: 3568
    functionDepth: 0
    functionLinenumber: 3568
    functionLinenumberEnd: 3646
    functionName: _cairo_pdf_surface_emit_jpx_image
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_surface_close_stream
    - cairo_surface_get_mime_data
    - _cairo_pdf_surface_open_stream
    - _cairo_output_stream_write
    - _cairo_image_info_get_jpx_info
    - snprintf
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_emit_jpx_image (cairo_pdf_surface_t\
      \ *surface,\t\t\t\t cairo_surface_t\t *source,\t\t\t\t cairo_pdf_source_surface_entry_t\
      \ *surface_entry,\t\t\t\t cairo_bool_t test) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-pdf-surface.c:2972,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - abstract_surface
    - image
    argTypes:
    - void*
    - cairo_image_surface_t*
    constantsTouched: []
    func_position:
      end: 2975
      start: 2966
    functionDepth: 0
    functionLinenumber: 2966
    functionLinenumberEnd: 2975
    functionName: _cairo_pdf_surface_set_thumbnail_image
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - cairo_surface_reference
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_set_thumbnail_image (void\
      \ *abstract_surface,\t\t\t\t\tcairo_image_surface_t *image) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - new_stop
    - stop1
    - stop2
    argTypes:
    - cairo_pdf_color_stop_t*
    - cairo_pdf_color_stop_t*
    - cairo_pdf_color_stop_t*
    constantsTouched: []
    func_position:
      end: 4530
      start: 4520
    functionDepth: 0
    functionLinenumber: 4520
    functionLinenumberEnd: 4530
    functionName: calc_gradient_color
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void calc_gradient_color (cairo_pdf_color_stop_t *new_stop,\t\
      \t cairo_pdf_color_stop_t *stop1,\t\t cairo_pdf_color_stop_t *stop2) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/cairo/src/cairo-pdf-surface.c:4751,1
    - Dst: snprintf
      Src: /src/cairo/src/cairo-pdf-surface.c:4757,1
    - Dst: _cairo_box_to_doubles
      Src: /src/cairo/src/cairo-pdf-surface.c:4772,1
    - Dst: _cairo_box_from_rectangle
      Src: /src/cairo/src/cairo-pdf-surface.c:4771,1
    - Dst: _cairo_matrix_transform_bounding_box
      Src: /src/cairo/src/cairo-pdf-surface.c:4773,1
    - Dst: _get_bbox_from_extents
      Src: /src/cairo/src/cairo-pdf-surface.c:4781,1
    - Dst: _cairo_pdf_surface_open_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:4787,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:4808,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:4812,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:4816,1
    - Dst: _cairo_pdf_surface_new_object
      Src: /src/cairo/src/cairo-pdf-surface.c:4832,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:4834,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:4829,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-surface.c:4861,1
    - Dst: _cairo_pdf_surface_close_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:4828,1
    - Dst: _cairo_pdf_surface_update_object
      Src: /src/cairo/src/cairo-pdf-surface.c:4847,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:4849,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:4836,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 4
    argNames:
    - surface
    - pdf_pattern
    - gstate_resource
    - gradient_mask
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_pdf_pattern_t*
    - cairo_pdf_resource_t
    - cairo_pdf_resource_t
    constantsTouched: []
    func_position:
      end: 4862
      start: 4739
    functionDepth: 0
    functionLinenumber: 4739
    functionLinenumberEnd: 4862
    functionName: cairo_pdf_surface_emit_transparency_group
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_matrix_transform_bounding_box
    - _cairo_pdf_surface_update_object
    - _cairo_error
    - _cairo_pdf_surface_close_stream
    - _cairo_pdf_surface_open_stream
    - _cairo_pdf_surface_new_object
    - _get_bbox_from_extents
    - _cairo_box_to_doubles
    - _cairo_output_stream_get_status
    - snprintf
    - _cairo_box_from_rectangle
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t cairo_pdf_surface_emit_transparency_group\
      \ (cairo_pdf_surface_t *surface,\t\t\t\t\t cairo_pdf_pattern_t *pdf_pattern,\t\
      \t\t\t\t cairo_pdf_resource_t gstate_resource,\t\t\t\t\t cairo_pdf_resource_t\
      \ gradient_mask) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_scaled_glyph_lookup
      Src: /src/cairo/src/cairo-pdf-surface.c:6875,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:6880,1
    - Dst: cairo_matrix_transform_distance
      Src: /src/cairo/src/cairo-pdf-surface.c:6905,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:6924,1
    - Dst: cairo_pattern_set_matrix
      Src: /src/cairo/src/cairo-pdf-surface.c:6893,1
    - Dst: cairo_pattern_create_for_surface
      Src: /src/cairo/src/cairo-pdf-surface.c:6888,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-pdf-surface.c:6891,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-pdf-surface.c:6898,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-pdf-surface.c:6886,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/src/cairo-pdf-surface.c:6890,1
    - Dst: _cairo_pdf_surface_paint_surface_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:6916,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:6912,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-pdf-surface.c:6892,1
    - Dst: _cairo_scaled_font_freeze_cache
      Src: /src/cairo/src/cairo-pdf-surface.c:6874,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-pdf-surface.c:6883,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-pdf-surface.c:6884,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-pdf-surface.c:6885,1
    - Dst: _cairo_matrix_transform_bounding_box_fixed
      Src: /src/cairo/src/cairo-pdf-surface.c:6909,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-surface.c:6903,1
    - Dst: _cairo_scaled_font_thaw_cache
      Src: /src/cairo/src/cairo-pdf-surface.c:6926,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 5
    argNames:
    - surface
    - scaled_font
    - glyph_index
    - bbox
    - width
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_scaled_font_t*
    - unsigned long
    - cairo_box_t*
    - double*
    constantsTouched: []
    func_position:
      end: 6929
      start: 6859
    functionDepth: 0
    functionLinenumber: 6859
    functionLinenumberEnd: 6929
    functionName: cairo_pdf_surface_emit_color_glyph_image
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_for_surface
    - cairo_matrix_transform_distance
    - _cairo_pdf_surface_paint_surface_pattern
    - cairo_matrix_invert
    - _cairo_fixed_to_double
    - _cairo_scaled_font_freeze_cache
    - _cairo_scaled_glyph_lookup
    - cairo_pattern_set_matrix
    - assert
    - _cairo_matrix_transform_bounding_box_fixed
    - _cairo_scaled_font_thaw_cache
    - cairo_pattern_destroy
    - cairo_matrix_init_translate
    - cairo_matrix_multiply
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t cairo_pdf_surface_emit_color_glyph_image\
      \ (cairo_pdf_surface_t *surface,\t\t\t\t\t cairo_scaled_font_t *scaled_font,\t\
      \t\t\t\t unsigned long\t glyph_index,\t\t\t\t\t cairo_box_t *bbox,\t\t\t\t\t\
      \ double *width) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-surface.c:7740,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-surface.c:7739,1
    - Dst: _cairo_array_copy_element
      Src: /src/cairo/src/cairo-pdf-surface.c:7757,1
    - Dst: _cairo_array_copy_element
      Src: /src/cairo/src/cairo-pdf-surface.c:7765,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-surface.c:7742,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-surface.c:7738,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-surface.c:7749,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-surface.c:7756,1
    - Dst: _cairo_pdf_surface_emit_surface
      Src: /src/cairo/src/cairo-pdf-surface.c:7766,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:7759,1
    - Dst: _cairo_pdf_surface_emit_surface
      Src: /src/cairo/src/cairo-pdf-surface.c:7758,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-surface.c:7764,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:7767,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-surface.c:7737,1
    - Dst: _cairo_array_copy_element
      Src: /src/cairo/src/cairo-pdf-surface.c:7743,1
    - Dst: _cairo_pdf_surface_write_smask_group
      Src: /src/cairo/src/cairo-pdf-surface.c:7744,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:7745,1
    - Dst: _cairo_array_copy_element
      Src: /src/cairo/src/cairo-pdf-surface.c:7750,1
    - Dst: _cairo_pdf_surface_emit_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:7751,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:7752,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 2
    argNames:
    - surface
    - finish
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 7774
      start: 7715
    functionDepth: 0
    functionLinenumber: 7715
    functionLinenumberEnd: 7774
    functionName: _cairo_pdf_surface_write_patterns_and_smask_groups
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_surface_emit_surface
    - _cairo_pdf_surface_emit_pattern
    - _cairo_array_num_elements
    - _cairo_pdf_surface_write_smask_group
    - _cairo_array_copy_element
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_write_patterns_and_smask_groups\
      \ (cairo_pdf_surface_t *surface,\t\t\t\t\t\t cairo_bool_t finish) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 684
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 684
    functionName: _cairo_surface_is_pdf
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_surface_is_pdf (cairo_surface_t *surface) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_matrix_transform_bounding_box_fixed
      Src: /src/cairo/src/cairo-pdf-surface.c:3004,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:3066,1
    - Dst: _cairo_box_round_to_rectangle
      Src: /src/cairo/src/cairo-pdf-surface.c:3005,1
    - Dst: _cairo_fixed_integer_ceil
      Src: /src/cairo/src/cairo-pdf-surface.c:3010,1
    - Dst: _cairo_fixed_integer_ceil
      Src: /src/cairo/src/cairo-pdf-surface.c:3011,1
    - Dst: _cairo_pdf_surface_add_source_surface
      Src: /src/cairo/src/cairo-pdf-surface.c:3034,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/src/cairo-pdf-surface.c:3024,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:3030,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:3049,1
    - Dst: _cairo_pdf_surface_release_source_image_from_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:3068,1
    - Dst: _cairo_fixed_integer_floor
      Src: /src/cairo/src/cairo-pdf-surface.c:3012,1
    - Dst: _cairo_pattern_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:3029,1
    - Dst: _cairo_pdf_surface_acquire_source_image_from_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:2995,1
    - Dst: _cairo_box_from_rectangle
      Src: /src/cairo/src/cairo-pdf-surface.c:3003,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:2997,1
    - Dst: _cairo_fixed_integer_floor
      Src: /src/cairo/src/cairo-pdf-surface.c:3013,1
    - Dst: _cairo_image_surface_create_with_content
      Src: /src/cairo/src/cairo-pdf-surface.c:3015,1
    - Dst: _cairo_pattern_init_for_surface
      Src: /src/cairo/src/cairo-pdf-surface.c:3023,1
    - Dst: _cairo_surface_paint
      Src: /src/cairo/src/cairo-pdf-surface.c:3026,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 43
    argCount: 7
    argNames:
    - surface
    - source
    - extents
    - pdf_source
    - x_offset
    - y_offset
    - source_extents
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_pattern_t*
    - cairo_rectangle_int_t*
    - cairo_pdf_source_surface_entry_t**
    - double*
    - double*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 3071
      start: 2977
    functionDepth: 0
    functionLinenumber: 2977
    functionLinenumberEnd: 3071
    functionName: _cairo_pdf_surface_add_padded_image_surface
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_init_for_surface
    - _cairo_box_round_to_rectangle
    - _cairo_fixed_integer_floor
    - _cairo_pattern_fini
    - _cairo_matrix_transform_bounding_box_fixed
    - cairo_surface_destroy
    - _cairo_fixed_integer_ceil
    - _cairo_pdf_surface_acquire_source_image_from_pattern
    - _cairo_pdf_surface_release_source_image_from_pattern
    - cairo_matrix_init_translate
    - _cairo_image_surface_create_with_content
    - _cairo_pdf_surface_add_source_surface
    - _cairo_box_from_rectangle
    - _cairo_surface_paint
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_add_padded_image_surface\
      \ (cairo_pdf_surface_t *surface,\t\t\t\t\t const cairo_pattern_t *source,\t\t\
      \t\t\t const cairo_rectangle_int_t *extents,\t\t\t\t\t cairo_pdf_source_surface_entry_t\
      \ **pdf_source,\t\t\t\t\t double *x_offset,\t\t\t\t\t double *y_offset,\t\t\t\
      \t\t cairo_rectangle_int_t *source_extents) "
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_get_mime_data
      Src: /src/cairo/src/cairo-pdf-surface.c:3661,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:3669,1
    - Dst: _cairo_image_info_get_jpeg_info
      Src: /src/cairo/src/cairo-pdf-surface.c:3668,1
    - Dst: snprintf
      Src: /src/cairo/src/cairo-pdf-surface.c:3697,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:3663,1
    - Dst: _cairo_pdf_surface_open_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:3702,1
    - Dst: _cairo_pdf_surface_open_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:3718,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:3737,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-pdf-surface.c:3740,1
    - Dst: _cairo_pdf_surface_close_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:3741,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 28
    argCount: 4
    argNames:
    - surface
    - source
    - surface_entry
    - test
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_surface_t*
    - cairo_pdf_source_surface_entry_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 3744
      start: 3648
    functionDepth: 0
    functionLinenumber: 3648
    functionLinenumberEnd: 3744
    functionName: _cairo_pdf_surface_emit_jpeg_image
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_surface_close_stream
    - cairo_surface_get_mime_data
    - _cairo_pdf_surface_open_stream
    - _cairo_output_stream_write
    - _cairo_image_info_get_jpeg_info
    - snprintf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_emit_jpeg_image (cairo_pdf_surface_t\
      \ *surface,\t\t\t\t cairo_surface_t\t *source,\t\t\t\t cairo_pdf_source_surface_entry_t\
      \ *surface_entry,\t\t\t\t cairo_bool_t test) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:4875,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:4891,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:4880,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:4885,1
    - Dst: _cairo_output_stream_print_matrix
      Src: /src/cairo/src/cairo-pdf-surface.c:4884,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:4899,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-pdf-surface.c:4905,1
    - Dst: MAX
      Src: /src/cairo/src/cairo-pdf-surface.c:4907,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:4910,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:4915,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:4928,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:4932,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:4922,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:4918,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 9
    argNames:
    - surface
    - pdf_pattern
    - pattern_resource
    - pat_to_pdf
    - start
    - end
    - domain
    - colorspace
    - color_function
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_pdf_pattern_t*
    - cairo_pdf_resource_t
    - cairo_matrix_t*
    - cairo_circle_double_t*
    - cairo_circle_double_t*
    - double*
    - char*
    - cairo_pdf_resource_t
    constantsTouched: []
    func_position:
      end: 4934
      start: 4864
    functionDepth: 0
    functionLinenumber: 4864
    functionLinenumberEnd: 4934
    functionName: _cairo_pdf_surface_output_gradient
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_print_matrix
    - MAX
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: void
    signature: "static void _cairo_pdf_surface_output_gradient (cairo_pdf_surface_t\
      \ *surface,\t\t\t\t const cairo_pdf_pattern_t *pdf_pattern,\t\t\t\t cairo_pdf_resource_t\
      \ pattern_resource,\t\t\t\t const cairo_matrix_t *pat_to_pdf,\t\t\t\t const\
      \ cairo_circle_double_t*start,\t\t\t\t const cairo_circle_double_t*end,\t\t\t\
      \t const double *domain,\t\t\t\t const char *colorspace,\t\t\t\t cairo_pdf_resource_t\
      \ color_function) "
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:6954,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-pdf-surface.c:6957,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:6955,1
    - Dst: _cairo_pdf_group_resources_clear
      Src: /src/cairo/src/cairo-pdf-surface.c:6963,1
    - Dst: _cairo_type3_glyph_surface_create
      Src: /src/cairo/src/cairo-pdf-surface.c:6964,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-surface.c:6970,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:6984,1
    - Dst: _cairo_type3_glyph_surface_set_font_subsets_callback
      Src: /src/cairo/src/cairo-pdf-surface.c:6975,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:7007,1
    - Dst: _cairo_pdf_surface_close_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:7010,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:7031,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:7011,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-surface.c:7039,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-surface.c:7074,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:7107,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-pdf-surface.c:6953,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:6960,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:6969,1
    - Dst: _cairo_pdf_surface_open_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:6980,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-surface.c:7032,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:7051,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-surface.c:7059,1
    - Dst: _cairo_pdf_surface_update_object
      Src: /src/cairo/src/cairo-pdf-surface.c:7084,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:7104,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-surface.c:7110,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:7117,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:7121,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-surface.c:6959,1
    - Dst: cairo_pdf_surface_emit_color_glyph
      Src: /src/cairo/src/cairo-pdf-surface.c:6994,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-surface.c:6971,1
    - Dst: _cairo_type3_glyph_surface_emit_glyph
      Src: /src/cairo/src/cairo-pdf-surface.c:6988,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:7030,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-surface.c:7040,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:7070,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-surface.c:7080,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-pdf-surface.c:7096,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-pdf-surface.c:7097,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-pdf-surface.c:7098,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:7108,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:7041,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:7067,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-pdf-surface.c:7128,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:7112,1
    - Dst: _cairo_pdf_surface_get_font_resource
      Src: /src/cairo/src/cairo-pdf-surface.c:6947,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:6958,1
    - Dst: cairo_pdf_surface_emit_color_glyph_image
      Src: /src/cairo/src/cairo-pdf-surface.c:7000,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-surface.c:7033,1
    - Dst: _cairo_pdf_surface_new_object
      Src: /src/cairo/src/cairo-pdf-surface.c:7037,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:7049,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-surface.c:7058,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:7060,1
    - Dst: _cairo_pdf_surface_emit_to_unicode_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:7076,1
    - Dst: _cairo_int_status_is_error
      Src: /src/cairo/src/cairo-pdf-surface.c:7079,1
    - Dst: _cairo_pdf_surface_emit_group_resources
      Src: /src/cairo/src/cairo-pdf-surface.c:7114,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:7085,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:7044,1
    - Dst: _cairo_pdf_surface_new_object
      Src: /src/cairo/src/cairo-pdf-surface.c:7056,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-pdf-surface.c:7099,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:7063,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 118
    argCount: 2
    argNames:
    - surface
    - font_subset
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_scaled_font_subset_t*
    constantsTouched: []
    func_position:
      end: 7129
      start: 6931
    functionDepth: 0
    functionLinenumber: 6931
    functionLinenumberEnd: 7129
    functionName: _cairo_pdf_surface_emit_type3_font_subset
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_to_double
    - _cairo_pdf_surface_update_object
    - _cairo_error
    - _cairo_pdf_surface_emit_to_unicode_stream
    - _cairo_array_append
    - cairo_pdf_surface_emit_color_glyph_image
    - _cairo_pdf_group_resources_clear
    - _cairo_pdf_surface_open_stream
    - _cairo_type3_glyph_surface_set_font_subsets_callback
    - _cairo_pdf_surface_emit_group_resources
    - _cairo_type3_glyph_surface_create
    - _cairo_pdf_surface_close_stream
    - _cairo_type3_glyph_surface_emit_glyph
    - cairo_pdf_surface_emit_color_glyph
    - _cairo_int_status_is_error
    - _cairo_output_stream_printf
    - free
    - cairo_surface_destroy
    - _cairo_pdf_surface_new_object
    - _cairo_pdf_surface_get_font_resource
    - _cairo_malloc_ab
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_emit_type3_font_subset\
      \ (cairo_pdf_surface_t\t\t*surface,\t\t\t\t\t cairo_scaled_font_subset_t\t*font_subset) "
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pdf_group_resources_clear
      Src: /src/cairo/src/cairo-pdf-surface.c:7794,1
    - Dst: ceil
      Src: /src/cairo/src/cairo-pdf-surface.c:7802,1
    - Dst: _cairo_pdf_surface_add_xobject
      Src: /src/cairo/src/cairo-pdf-surface.c:7814,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:7815,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-surface.c:7808,1
    - Dst: _cairo_array_copy_element
      Src: /src/cairo/src/cairo-pdf-surface.c:7810,1
    - Dst: memset
      Src: /src/cairo/src/cairo-pdf-surface.c:7849,1
    - Dst: _cairo_pdf_surface_emit_image
      Src: /src/cairo/src/cairo-pdf-surface.c:7852,1
    - Dst: _cairo_pdf_surface_close_object_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:7863,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:7860,1
    - Dst: _cairo_array_last_element
      Src: /src/cairo/src/cairo-pdf-surface.c:7784,1
    - Dst: _cairo_pdf_surface_open_object_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:7786,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:7791,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:7787,1
    - Dst: _cairo_pdf_interchange_write_page_objects
      Src: /src/cairo/src/cairo-pdf-surface.c:7790,1
    - Dst: _cairo_pdf_surface_open_knockout_group
      Src: /src/cairo/src/cairo-pdf-surface.c:7804,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:7805,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:7818,1
    - Dst: _cairo_pdf_surface_open_content_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:7830,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:7831,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:7838,1
    - Dst: ceil
      Src: /src/cairo/src/cairo-pdf-surface.c:7801,1
    - Dst: _get_bbox_from_extents
      Src: /src/cairo/src/cairo-pdf-surface.c:7803,1
    - Dst: _cairo_pdf_group_resources_clear
      Src: /src/cairo/src/cairo-pdf-surface.c:7829,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:7834,1
    - Dst: _cairo_pdf_surface_new_object
      Src: /src/cairo/src/cairo-pdf-surface.c:7850,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:7811,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:7822,1
    - Dst: _cairo_pdf_surface_add_xobject
      Src: /src/cairo/src/cairo-pdf-surface.c:7821,1
    - Dst: _cairo_pdf_surface_close_group
      Src: /src/cairo/src/cairo-pdf-surface.c:7825,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:7826,1
    - Dst: _cairo_pdf_surface_add_xobject
      Src: /src/cairo/src/cairo-pdf-surface.c:7837,1
    - Dst: _cairo_pdf_surface_close_content_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:7841,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:7842,1
    - Dst: _cairo_pdf_surface_write_patterns_and_smask_groups
      Src: /src/cairo/src/cairo-pdf-surface.c:7859,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 62
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_pdf_surface_t*
    constantsTouched: []
    func_position:
      end: 7864
      start: 7776
    functionDepth: 0
    functionLinenumber: 7776
    functionLinenumberEnd: 7864
    functionName: _cairo_pdf_surface_write_page
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_surface_open_knockout_group
    - _cairo_array_num_elements
    - _cairo_pdf_surface_open_content_stream
    - _cairo_pdf_group_resources_clear
    - _cairo_pdf_interchange_write_page_objects
    - _cairo_pdf_surface_close_content_stream
    - _cairo_pdf_surface_emit_image
    - _cairo_array_copy_element
    - ceil
    - _cairo_pdf_surface_add_xobject
    - _cairo_pdf_surface_open_object_stream
    - _get_bbox_from_extents
    - _cairo_pdf_surface_close_object_stream
    - _cairo_output_stream_printf
    - _cairo_array_last_element
    - _cairo_pdf_surface_new_object
    - _cairo_pdf_surface_close_group
    - _cairo_pdf_surface_write_patterns_and_smask_groups
    - memset
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t _cairo_pdf_surface_write_page (cairo_pdf_surface_t
      *surface) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pdf_surface_start_fallback
      Src: /src/cairo/src/cairo-pdf-surface.c:8399,1
    - Dst: _cairo_pdf_surface_operation_supported
      Src: /src/cairo/src/cairo-pdf-surface.c:8404,1
    - Dst: _cairo_pdf_surface_set_clip
      Src: /src/cairo/src/cairo-pdf-surface.c:8406,1
    - Dst: _can_paint_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:8418,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8407,1
    - Dst: _cairo_pdf_smask_group_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:8460,1
    - Dst: _cairo_pdf_surface_add_xobject
      Src: /src/cairo/src/cairo-pdf-surface.c:8468,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8469,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8479,1
    - Dst: _cairo_pdf_surface_unselect_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:8489,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:8482,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:8498,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-surface.c:8495,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8415,1
    - Dst: _cairo_pdf_operators_flush
      Src: /src/cairo/src/cairo-pdf-surface.c:8414,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:8419,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:8430,1
    - Dst: _cairo_pdf_surface_create_smask_group
      Src: /src/cairo/src/cairo-pdf-surface.c:8445,1
    - Dst: _cairo_pdf_smask_group_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:8454,1
    - Dst: _cairo_pdf_surface_add_smask_group
      Src: /src/cairo/src/cairo-pdf-surface.c:8458,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8459,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:8472,1
    - Dst: _cairo_pdf_surface_select_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:8477,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8490,1
    - Dst: _cairo_composite_rectangles_init_for_paint
      Src: /src/cairo/src/cairo-pdf-surface.c:8385,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8388,1
    - Dst: _cairo_pdf_surface_analyze_operation
      Src: /src/cairo/src/cairo-pdf-surface.c:8396,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-surface.c:8404,1
    - Dst: _cairo_pdf_surface_paint_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:8420,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8427,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:8431,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-surface.c:8432,1
    - Dst: _cairo_pattern_create_copy
      Src: /src/cairo/src/cairo-pdf-surface.c:8452,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8453,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8392,1
    - Dst: _cairo_pdf_interchange_add_operation_extents
      Src: /src/cairo/src/cairo-pdf-surface.c:8391,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8400,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8411,1
    - Dst: _cairo_pdf_surface_select_operator
      Src: /src/cairo/src/cairo-pdf-surface.c:8410,1
    - Dst: _cairo_pdf_surface_add_pdf_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:8437,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8441,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8446,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:8447,1
    - Dst: _cairo_pdf_surface_add_smask
      Src: /src/cairo/src/cairo-pdf-surface.c:8464,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8465,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:8494,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 80
    argCount: 4
    argNames:
    - abstract_surface
    - op
    - source
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 8500
      start: 8373
    functionDepth: 0
    functionLinenumber: 8373
    functionLinenumberEnd: 8500
    functionName: _cairo_pdf_surface_paint
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_pdf_surface_start_fallback
    - _cairo_pdf_surface_add_smask_group
    - _cairo_pdf_surface_add_pdf_pattern
    - _cairo_pdf_interchange_add_operation_extents
    - _cairo_composite_rectangles_fini
    - _cairo_composite_rectangles_init_for_paint
    - _cairo_pdf_surface_analyze_operation
    - _cairo_pdf_surface_add_xobject
    - _cairo_pdf_surface_select_pattern
    - _cairo_pdf_surface_select_operator
    - assert
    - _cairo_pdf_surface_create_smask_group
    - _can_paint_pattern
    - _cairo_pdf_surface_paint_pattern
    - _cairo_pdf_surface_set_clip
    - _cairo_pdf_operators_flush
    - _cairo_output_stream_printf
    - _cairo_pdf_surface_add_smask
    - _cairo_pdf_smask_group_destroy
    - _cairo_pattern_create_copy
    - _cairo_pdf_surface_unselect_pattern
    - _cairo_pdf_surface_operation_supported
    - _cairo_output_stream_get_status
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_paint (void\t\t\t*abstract_surface,\t\
      \t\t cairo_operator_t\t op,\t\t\t const cairo_pattern_t\t*source,\t\t\t const\
      \ cairo_clip_t\t*clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _hash_data
      Src: /src/cairo/src/cairo-pdf-surface.c:5913,1
    - Dst: strlen
      Src: /src/cairo/src/cairo-pdf-surface.c:5913,1
    - Dst: _hash_data
      Src: /src/cairo/src/cairo-pdf-surface.c:5914,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - font_subset
    - font_name
    - tag
    argTypes:
    - cairo_scaled_font_subset_t*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 5922
      start: 5905
    functionDepth: 0
    functionLinenumber: 5905
    functionLinenumberEnd: 5922
    functionName: _create_font_subset_tag
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _hash_data
    - strlen
    linkageType: ''
    returnType: void
    signature: "static void _create_font_subset_tag (cairo_scaled_font_subset_t\t\
      *font_subset,\t\t\t const char \t\t\t*font_name,\t\t\t char\t\t\t\t*tag) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-surface.c:2254,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-surface.c:2255,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:2262,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:2258,1
    - Dst: _cairo_pdf_operators_flush
      Src: /src/cairo/src/cairo-pdf-surface.c:2257,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:2265,1
    - Dst: _cairo_pdf_operators_set_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:2269,1
    - Dst: _cairo_pdf_surface_write_memory_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:2271,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:2280,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - surface
    - group
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_pdf_resource_t*
    constantsTouched: []
    func_position:
      end: 2289
      start: 2248
    functionDepth: 0
    functionLinenumber: 2248
    functionLinenumberEnd: 2289
    functionName: _cairo_pdf_surface_close_group
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_operators_set_stream
    - assert
    - _cairo_pdf_surface_write_memory_stream
    - _cairo_output_stream_destroy
    - _cairo_pdf_operators_flush
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_close_group (cairo_pdf_surface_t\
      \ *surface,\t\t\t\tcairo_pdf_resource_t *group) "
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_strndup
      Src: /src/cairo/src/cairo-pdf-surface.c:3776,1
    - Dst: snprintf
      Src: /src/cairo/src/cairo-pdf-surface.c:3798,1
    - Dst: _cairo_pdf_surface_close_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:3854,1
    - Dst: cairo_surface_get_mime_data
      Src: /src/cairo/src/cairo-pdf-surface.c:3761,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:3763,1
    - Dst: snprintf
      Src: /src/cairo/src/cairo-pdf-surface.c:3807,1
    - Dst: _cairo_pdf_surface_open_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:3815,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-pdf-surface.c:3853,1
    - Dst: cairo_surface_get_mime_data
      Src: /src/cairo/src/cairo-pdf-surface.c:3768,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:3770,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:3777,1
    - Dst: _cairo_tag_parse_ccitt_params
      Src: /src/cairo/src/cairo-pdf-surface.c:3780,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:3781,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-surface.c:3784,1
    - Dst: _cairo_pdf_surface_open_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:3833,1
    - Dst: snprintf
      Src: /src/cairo/src/cairo-pdf-surface.c:3804,1
    - Dst: snprintf
      Src: /src/cairo/src/cairo-pdf-surface.c:3810,1
    - Dst: snprintf
      Src: /src/cairo/src/cairo-pdf-surface.c:3793,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-pdf-surface.c:3778,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:3850,1
    - Dst: snprintf
      Src: /src/cairo/src/cairo-pdf-surface.c:3801,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 52
    argCount: 4
    argNames:
    - surface
    - source
    - surface_entry
    - test
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_surface_t*
    - cairo_pdf_source_surface_entry_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 3857
      start: 3746
    functionDepth: 0
    functionLinenumber: 3746
    functionLinenumberEnd: 3857
    functionName: _cairo_pdf_surface_emit_ccitt_image
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - free
    - _cairo_pdf_surface_close_stream
    - cairo_surface_get_mime_data
    - _cairo_pdf_surface_open_stream
    - _cairo_output_stream_write
    - _cairo_surface_set_error
    - _cairo_tag_parse_ccitt_params
    - snprintf
    - _cairo_strndup
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_emit_ccitt_image (cairo_pdf_surface_t\
      \ *surface,\t\t\t\t cairo_surface_t\t *source,\t\t\t\t cairo_pdf_source_surface_entry_t\
      \ *surface_entry,\t\t\t\t cairo_bool_t test) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pdf_interchange_tag_begin
      Src: /src/cairo/src/cairo-pdf-surface.c:9358,1
    - Dst: _cairo_pdf_interchange_tag_end
      Src: /src/cairo/src/cairo-pdf-surface.c:9360,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 4
    argNames:
    - abstract_surface
    - begin
    - tag_name
    - attributes
    argTypes:
    - void*
    - cairo_bool_t
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 9363
      start: 9347
    functionDepth: 0
    functionLinenumber: 9347
    functionLinenumberEnd: 9363
    functionName: _cairo_pdf_surface_tag
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_interchange_tag_end
    - _cairo_pdf_interchange_tag_begin
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_tag (void\t\t\t *abstract_surface,\t\
      \t\tcairo_bool_t begin,\t\t\tconst char *tag_name,\t\t\tconst char *attributes) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pdf_color_glyph_init_key
      Src: /src/cairo/src/cairo-pdf-surface.c:9394,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:9402,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-pdf-surface.c:9401,1
    - Dst: _cairo_hash_table_lookup
      Src: /src/cairo/src/cairo-pdf-surface.c:9395,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-pdf-surface.c:9399,1
    - Dst: cairo_scaled_font_reference
      Src: /src/cairo/src/cairo-pdf-surface.c:9406,1
    - Dst: _cairo_pdf_color_glyph_init_key
      Src: /src/cairo/src/cairo-pdf-surface.c:9408,1
    - Dst: _cairo_scaled_font_freeze_cache
      Src: /src/cairo/src/cairo-pdf-surface.c:9411,1
    - Dst: _cairo_scaled_glyph_lookup
      Src: /src/cairo/src/cairo-pdf-surface.c:9412,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:9417,1
    - Dst: _cairo_scaled_font_thaw_cache
      Src: /src/cairo/src/cairo-pdf-surface.c:9424,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:9430,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:9428,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-pdf-surface.c:9429,1
    - Dst: _cairo_hash_table_insert
      Src: /src/cairo/src/cairo-pdf-surface.c:9426,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 3
    argNames:
    - abstract_surface
    - scaled_font
    - glyph_index
    argTypes:
    - void*
    - cairo_scaled_font_t*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 9435
      start: 9380
    functionDepth: 0
    functionLinenumber: 9380
    functionLinenumberEnd: 9435
    functionName: _cairo_pdf_surface_supports_color_glyph
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_scaled_font_freeze_cache
    - _cairo_scaled_glyph_lookup
    - unlikely
    - _cairo_scaled_font_thaw_cache
    - _cairo_hash_table_insert
    - _cairo_surface_set_error
    - cairo_scaled_font_reference
    - _cairo_hash_table_lookup
    - _cairo_pdf_color_glyph_init_key
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _cairo_pdf_surface_supports_color_glyph (void\
      \ *abstract_surface,\t\t\t\t\t cairo_scaled_font_t *scaled_font,\t\t\t\t\t unsigned\
      \ long glyph_index) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-surface.c:2297,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:2303,1
    - Dst: _cairo_array_truncate
      Src: /src/cairo/src/cairo-pdf-surface.c:2305,1
    - Dst: _cairo_pdf_surface_new_object
      Src: /src/cairo/src/cairo-pdf-surface.c:2301,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-surface.c:2298,1
    - Dst: _cairo_memory_stream_create
      Src: /src/cairo/src/cairo-pdf-surface.c:2306,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-surface.c:2309,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_pdf_surface_t*
    constantsTouched: []
    func_position:
      end: 2310
      start: 2291
    functionDepth: 0
    functionLinenumber: 2291
    functionLinenumberEnd: 2310
    functionName: _cairo_pdf_surface_open_object_stream
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_pdf_surface_new_object
    - assert
    - _cairo_array_truncate
    - _cairo_memory_stream_create
    - _cairo_output_stream_get_status
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t _cairo_pdf_surface_open_object_stream (cairo_pdf_surface_t
      *surface) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pdf_surface_open_content_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:3944,1
    - Dst: _cairo_recording_surface_replay_region
      Src: /src/cairo/src/cairo-pdf-surface.c:3970,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:3950,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-surface.c:3900,1
    - Dst: _cairo_surface_clipper_init
      Src: /src/cairo/src/cairo-pdf-surface.c:3909,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:3941,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:3961,1
    - Dst: _cairo_pdf_interchange_emit_recording_surface_begin
      Src: /src/cairo/src/cairo-pdf-surface.c:3936,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:3976,1
    - Dst: _cairo_surface_clipper_reset
      Src: /src/cairo/src/cairo-pdf-surface.c:3981,1
    - Dst: _cairo_pdf_operators_reset
      Src: /src/cairo/src/cairo-pdf-surface.c:3983,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-surface.c:3879,1
    - Dst: _cairo_surface_is_snapshot
      Src: /src/cairo/src/cairo-pdf-surface.c:3889,1
    - Dst: _cairo_surface_snapshot_get_target
      Src: /src/cairo/src/cairo-pdf-surface.c:3890,1
    - Dst: _cairo_pdf_group_resources_clear
      Src: /src/cairo/src/cairo-pdf-surface.c:3922,1
    - Dst: _cairo_recording_surface_has_only_bilevel_alpha
      Src: /src/cairo/src/cairo-pdf-surface.c:3933,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-surface.c:3975,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:3958,1
    - Dst: _cairo_pdf_surface_close_content_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:3979,1
    - Dst: _cairo_pdf_interchange_emit_recording_surface_end
      Src: /src/cairo/src/cairo-pdf-surface.c:3991,1
    - Dst: _cairo_pdf_operators_reset
      Src: /src/cairo/src/cairo-pdf-surface.c:3912,1
    - Dst: _get_bbox_from_extents
      Src: /src/cairo/src/cairo-pdf-surface.c:3923,1
    - Dst: _cairo_recording_surface_has_only_op_over
      Src: /src/cairo/src/cairo-pdf-surface.c:3934,1
    - Dst: _cairo_pdf_surface_add_alpha
      Src: /src/cairo/src/cairo-pdf-surface.c:3957,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:3994,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 75
    argCount: 2
    argNames:
    - surface
    - pdf_source
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_pdf_source_surface_t*
    constantsTouched: []
    func_position:
      end: 3996
      start: 3859
    functionDepth: 0
    functionLinenumber: 3859
    functionLinenumberEnd: 3996
    functionName: _cairo_pdf_surface_emit_recording_surface
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_recording_surface_replay_region
    - _cairo_pdf_surface_open_content_stream
    - _cairo_surface_clipper_reset
    - _cairo_pdf_group_resources_clear
    - _cairo_pdf_surface_close_content_stream
    - _cairo_recording_surface_has_only_op_over
    - _cairo_pdf_operators_reset
    - assert
    - _cairo_pdf_interchange_emit_recording_surface_begin
    - _get_bbox_from_extents
    - _cairo_pdf_surface_add_alpha
    - _cairo_surface_snapshot_get_target
    - _cairo_pdf_interchange_emit_recording_surface_end
    - _cairo_output_stream_printf
    - _cairo_surface_is_snapshot
    - _cairo_surface_clipper_init
    - cairo_surface_destroy
    - _cairo_recording_surface_has_only_bilevel_alpha
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_emit_recording_surface\
      \ (cairo_pdf_surface_t *surface,\t\t\t\t\t cairo_pdf_source_surface_t *pdf_source) "
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pdf_surface_open_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:6058,1
    - Dst: _cairo_pdf_surface_close_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:6070,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:6071,1
    - Dst: likely
      Src: /src/cairo/src/cairo-pdf-surface.c:6096,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:6097,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:6106,1
    - Dst: _cairo_pdf_surface_update_object
      Src: /src/cairo/src/cairo-pdf-surface.c:6134,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:6176,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:6200,1
    - Dst: _create_font_subset_tag
      Src: /src/cairo/src/cairo-pdf-surface.c:6050,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-pdf-surface.c:6068,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-surface.c:6100,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:6158,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:6170,1
    - Dst: _cairo_pdf_surface_new_object
      Src: /src/cairo/src/cairo-pdf-surface.c:6174,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:6178,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:6223,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:6219,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:6064,1
    - Dst: _cairo_utf8_to_pdf_string
      Src: /src/cairo/src/cairo-pdf-surface.c:6095,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:6135,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:6154,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:6196,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-pdf-surface.c:6231,1
    - Dst: _cairo_pdf_surface_get_font_resource
      Src: /src/cairo/src/cairo-pdf-surface.c:6052,1
    - Dst: _cairo_pdf_surface_emit_to_unicode_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:6074,1
    - Dst: _cairo_int_status_is_error
      Src: /src/cairo/src/cairo-pdf-surface.c:6077,1
    - Dst: _cairo_pdf_surface_new_object
      Src: /src/cairo/src/cairo-pdf-surface.c:6080,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:6082,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:6084,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:6162,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:6166,1
    - Dst: _cairo_pdf_surface_update_object
      Src: /src/cairo/src/cairo-pdf-surface.c:6205,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:6206,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 81
    argCount: 3
    argNames:
    - surface
    - font_subset
    - subset
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_scaled_font_subset_t*
    - cairo_cff_subset_t*
    constantsTouched: []
    func_position:
      end: 6234
      start: 6038
    functionDepth: 0
    functionLinenumber: 6038
    functionLinenumberEnd: 6234
    functionName: _cairo_pdf_surface_emit_cff_font
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_array_append
    - _cairo_pdf_surface_update_object
    - _cairo_error
    - _cairo_int_status_is_error
    - free
    - _cairo_pdf_surface_open_stream
    - _create_font_subset_tag
    - _cairo_pdf_surface_get_font_resource
    - _cairo_pdf_surface_new_object
    - _cairo_output_stream_write
    - _cairo_utf8_to_pdf_string
    - _cairo_pdf_surface_emit_to_unicode_stream
    - _cairo_pdf_surface_close_stream
    - likely
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_emit_cff_font (cairo_pdf_surface_t\t\
      \t*surface, cairo_scaled_font_subset_t\t*font_subset, cairo_cff_subset_t *subset) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pdf_interchange_command_id
      Src: /src/cairo/src/cairo-pdf-surface.c:9372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - abstract_surface
    - recording_id
    - command_id
    argTypes:
    - void*
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 9373
      start: 9365
    functionDepth: 0
    functionLinenumber: 9365
    functionLinenumberEnd: 9373
    functionName: _cairo_pdf_surface_command_id
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_interchange_command_id
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_command_id (void *abstract_surface,\t\
      \t\t unsigned int recording_id,\t\t\t unsigned int command_id) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _extract_pdf_surface
      Src: /src/cairo/src/cairo-pdf-surface.c:961,1
    - Dst: _cairo_pdf_interchange_set_custom_metadata
      Src: /src/cairo/src/cairo-pdf-surface.c:964,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-pdf-surface.c:966,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - surface
    - name
    - value
    argTypes:
    - cairo_surface_t*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 967
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 967
    functionName: cairo_pdf_surface_set_custom_metadata
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _extract_pdf_surface
    - _cairo_pdf_interchange_set_custom_metadata
    - _cairo_surface_set_error
    linkageType: ''
    returnType: void
    signature: "void cairo_pdf_surface_set_custom_metadata (cairo_surface_t\t *surface,\
      \ const char *name, const char *value) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-surface.c:1196,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-pdf-surface.c:1209,1
    - Dst: _cairo_array_copy_element
      Src: /src/cairo/src/cairo-pdf-surface.c:1206,1
    - Dst: _cairo_array_copy_element
      Src: /src/cairo/src/cairo-pdf-surface.c:1198,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-surface.c:1204,1
    - Dst: _cairo_pdf_surface_new_object
      Src: /src/cairo/src/cairo-pdf-surface.c:1214,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:1216,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-pdf-surface.c:1218,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:1219,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-pdf-surface.c:1222,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 3
    argNames:
    - font_id
    - subset_id
    - closure
    argTypes:
    - unsigned int
    - unsigned int
    - void*
    constantsTouched: []
    func_position:
      end: 1223
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1223
    functionName: _cairo_pdf_surface_add_font
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_array_num_elements
    - _cairo_pdf_surface_new_object
    - _cairo_array_copy_element
    - _cairo_array_append
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_add_font (unsigned int\
      \ font_id,\t\t\t unsigned int subset_id,\t\t\t void\t\t*closure) "
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-surface.c:4960,1
    - Dst: ceil
      Src: /src/cairo/src/cairo-pdf-surface.c:5030,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:5046,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-surface.c:5066,1
    - Dst: _cairo_pdf_surface_emit_pattern_stops
      Src: /src/cairo/src/cairo-pdf-surface.c:4950,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:4954,1
    - Dst: cairo_matrix_init
      Src: /src/cairo/src/cairo-pdf-surface.c:4965,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-pdf-surface.c:4967,1
    - Dst: _cairo_matrix_transform_bounding_box
      Src: /src/cairo/src/cairo-pdf-surface.c:4980,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-pdf-surface.c:4988,1
    - Dst: MIN
      Src: /src/cairo/src/cairo-pdf-surface.c:4990,1
    - Dst: _cairo_gradient_pattern_interpolate
      Src: /src/cairo/src/cairo-pdf-surface.c:5022,1
    - Dst: _cairo_pdf_surface_emit_repeating_function
      Src: /src/cairo/src/cairo-pdf-surface.c:5032,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:5037,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-surface.c:5086,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-surface.c:4948,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-pdf-surface.c:4958,1
    - Dst: floor
      Src: /src/cairo/src/cairo-pdf-surface.c:5029,1
    - Dst: _cairo_gradient_pattern_box_to_parameter
      Src: /src/cairo/src/cairo-pdf-surface.c:4992,1
    - Dst: _cairo_gradient_pattern_interpolate
      Src: /src/cairo/src/cairo-pdf-surface.c:5021,1
    - Dst: _cairo_pdf_surface_emit_repeating_function
      Src: /src/cairo/src/cairo-pdf-surface.c:5041,1
    - Dst: _cairo_pdf_surface_update_object
      Src: /src/cairo/src/cairo-pdf-surface.c:5057,1
    - Dst: _cairo_pdf_surface_output_gradient
      Src: /src/cairo/src/cairo-pdf-surface.c:5058,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:5071,1
    - Dst: cairo_matrix_init
      Src: /src/cairo/src/cairo-pdf-surface.c:4963,1
    - Dst: _cairo_matrix_transformed_circle_major_axis
      Src: /src/cairo/src/cairo-pdf-surface.c:4989,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-surface.c:5010,1
    - Dst: _cairo_matrix_compute_determinant
      Src: /src/cairo/src/cairo-pdf-surface.c:4988,1
    - Dst: _cairo_pdf_surface_new_object
      Src: /src/cairo/src/cairo-pdf-surface.c:5069,1
    - Dst: _cairo_pdf_surface_output_gradient
      Src: /src/cairo/src/cairo-pdf-surface.c:5073,1
    - Dst: cairo_pdf_surface_emit_transparency_group
      Src: /src/cairo/src/cairo-pdf-surface.c:5078,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:5082,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 83
    argCount: 2
    argNames:
    - surface
    - pdf_pattern
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_pdf_pattern_t*
    constantsTouched: []
    func_position:
      end: 5087
      start: 4936
    functionDepth: 0
    functionLinenumber: 4936
    functionLinenumberEnd: 5087
    functionName: _cairo_pdf_surface_emit_gradient
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_matrix_transform_bounding_box
    - _cairo_pdf_surface_emit_repeating_function
    - _cairo_pdf_surface_update_object
    - _cairo_error
    - _cairo_matrix_transformed_circle_major_axis
    - floor
    - fabs
    - _cairo_pdf_surface_output_gradient
    - ceil
    - cairo_matrix_init
    - MIN
    - assert
    - _cairo_pdf_surface_emit_pattern_stops
    - cairo_pdf_surface_emit_transparency_group
    - _cairo_matrix_compute_determinant
    - _cairo_gradient_pattern_interpolate
    - _cairo_pdf_surface_new_object
    - _cairo_output_stream_get_status
    - _cairo_gradient_pattern_box_to_parameter
    - cairo_matrix_invert
    - cairo_matrix_multiply
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_emit_gradient (cairo_pdf_surface_t\
      \ *surface,\t\t\t\t cairo_pdf_pattern_t *pdf_pattern) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pdf_surface_emit_cff_font_subset
      Src: /src/cairo/src/cairo-pdf-surface.c:7138,1
    - Dst: _cairo_pdf_surface_emit_type1_fallback_font
      Src: /src/cairo/src/cairo-pdf-surface.c:7154,1
    - Dst: _cairo_pdf_surface_emit_type1_font_subset
      Src: /src/cairo/src/cairo-pdf-surface.c:7146,1
    - Dst: _cairo_pdf_surface_emit_cff_fallback_font
      Src: /src/cairo/src/cairo-pdf-surface.c:7150,1
    - Dst: _cairo_pdf_surface_emit_truetype_font_subset
      Src: /src/cairo/src/cairo-pdf-surface.c:7142,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - font_subset
    - closure
    argTypes:
    - cairo_scaled_font_subset_t*
    - void*
    constantsTouched: []
    func_position:
      end: 7160
      start: 7131
    functionDepth: 0
    functionLinenumber: 7131
    functionLinenumberEnd: 7160
    functionName: _cairo_pdf_surface_emit_unscaled_font_subset
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_surface_emit_cff_font_subset
    - _cairo_pdf_surface_emit_truetype_font_subset
    - _cairo_pdf_surface_emit_cff_fallback_font
    - _cairo_pdf_surface_emit_type1_fallback_font
    - _cairo_pdf_surface_emit_type1_font_subset
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_emit_unscaled_font_subset\
      \ (cairo_scaled_font_subset_t *font_subset, void\t\t\t *closure) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-surface.c:7256,1
    - Dst: _cairo_output_stream_get_position
      Src: /src/cairo/src/cairo-pdf-surface.c:7258,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:7259,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-pdf-surface.c:7267,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:7264,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:7268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_pdf_surface_t*
    constantsTouched: []
    func_position:
      end: 7273
      start: 7249
    functionDepth: 0
    functionLinenumber: 7249
    functionLinenumberEnd: 7273
    functionName: _cairo_pdf_surface_write_xref
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    - _cairo_output_stream_get_position
    - _cairo_array_num_elements
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: long long
    signature: 'static long long _cairo_pdf_surface_write_xref (cairo_pdf_surface_t
      *surface) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pattern_is_opaque
      Src: /src/cairo/src/cairo-pdf-surface.c:9022,1
    - Dst: _cairo_path_fixed_stroke_extents
      Src: /src/cairo/src/cairo-pdf-surface.c:9047,1
    - Dst: _cairo_composite_rectangles_init_for_stroke
      Src: /src/cairo/src/cairo-pdf-surface.c:9034,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:9051,1
    - Dst: _cairo_path_fixed_fill_extents
      Src: /src/cairo/src/cairo-pdf-surface.c:9074,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:9087,1
    - Dst: _cairo_pdf_interchange_add_operation_extents
      Src: /src/cairo/src/cairo-pdf-surface.c:9086,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-surface.c:9115,1
    - Dst: _cairo_pdf_surface_unselect_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:9138,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:9139,1
    - Dst: _cairo_pattern_is_opaque
      Src: /src/cairo/src/cairo-pdf-surface.c:9023,1
    - Dst: _cairo_box_from_rectangle
      Src: /src/cairo/src/cairo-pdf-surface.c:9054,1
    - Dst: _cairo_pdf_surface_set_clip
      Src: /src/cairo/src/cairo-pdf-surface.c:9061,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:9062,1
    - Dst: _cairo_box_from_rectangle
      Src: /src/cairo/src/cairo-pdf-surface.c:9079,1
    - Dst: _cairo_pdf_surface_select_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:9124,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:9126,1
    - Dst: _cairo_pdf_operators_fill_stroke
      Src: /src/cairo/src/cairo-pdf-surface.c:9129,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:9135,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:9142,1
    - Dst: _cairo_composite_rectangles_intersect_mask_extents
      Src: /src/cairo/src/cairo-pdf-surface.c:9055,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:9057,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:9082,1
    - Dst: _cairo_composite_rectangles_intersect_mask_extents
      Src: /src/cairo/src/cairo-pdf-surface.c:9080,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:9066,1
    - Dst: _cairo_pdf_surface_select_operator
      Src: /src/cairo/src/cairo-pdf-surface.c:9065,1
    - Dst: _cairo_pdf_surface_add_pdf_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:9105,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:9112,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:9121,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:9039,1
    - Dst: _cairo_pdf_surface_add_pdf_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:9092,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:9098,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-surface.c:9101,1
    - Dst: _cairo_pdf_surface_select_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:9119,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-surface.c:9143,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:9146,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 64
    argCount: 15
    argNames:
    - abstract_surface
    - fill_op
    - fill_source
    - fill_rule
    - fill_tolerance
    - fill_antialias
    - path
    - stroke_op
    - stroke_source
    - stroke_style
    - stroke_ctm
    - stroke_ctm_inverse
    - stroke_tolerance
    - stroke_antialias
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    - cairo_path_fixed_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 9148
      start: 8987
    functionDepth: 0
    functionLinenumber: 8987
    functionLinenumberEnd: 9148
    functionName: _cairo_pdf_surface_fill_stroke
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_operators_fill_stroke
    - _cairo_pdf_surface_add_pdf_pattern
    - _cairo_pattern_is_opaque
    - _cairo_path_fixed_stroke_extents
    - _cairo_path_fixed_fill_extents
    - _cairo_pdf_surface_unselect_pattern
    - _cairo_composite_rectangles_init_for_stroke
    - _cairo_pdf_interchange_add_operation_extents
    - _cairo_pdf_surface_select_operator
    - assert
    - _cairo_pdf_surface_select_pattern
    - _cairo_composite_rectangles_fini
    - _cairo_composite_rectangles_intersect_mask_extents
    - _cairo_pdf_surface_set_clip
    - _cairo_output_stream_get_status
    - _cairo_box_from_rectangle
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_fill_stroke (void\t\t\
      \t*abstract_surface,\t\t\t\tcairo_operator_t\t fill_op,\t\t\t\tconst cairo_pattern_t\t\
      *fill_source,\t\t\t\tcairo_fill_rule_t\t fill_rule,\t\t\t\tdouble\t\t\t fill_tolerance,\t\
      \t\t\tcairo_antialias_t\t fill_antialias,\t\t\t\tconst cairo_path_fixed_t*path,\t\
      \t\t\tcairo_operator_t\t stroke_op,\t\t\t\tconst cairo_pattern_t\t*stroke_source,\t\
      \t\t\tconst cairo_stroke_style_t *stroke_style,\t\t\t\tconst cairo_matrix_t\t\
      *stroke_ctm,\t\t\t\tconst cairo_matrix_t\t*stroke_ctm_inverse,\t\t\t\tdouble\t\
      \t\t stroke_tolerance,\t\t\t\tcairo_antialias_t\t stroke_antialias,\t\t\t\t\
      const cairo_clip_t\t*clip) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-surface.c:1233,1
    - Dst: _cairo_array_copy_element
      Src: /src/cairo/src/cairo-pdf-surface.c:1235,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - surface
    - font_id
    - subset_id
    argTypes:
    - cairo_pdf_surface_t*
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1242
      start: 1225
    functionDepth: 0
    functionLinenumber: 1225
    functionLinenumberEnd: 1242
    functionName: _cairo_pdf_surface_get_font_resource
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_array_num_elements
    - _cairo_array_copy_element
    linkageType: ''
    returnType: cairo_pdf_resource_t
    signature: "static cairo_pdf_resource_t _cairo_pdf_surface_get_font_resource (cairo_pdf_surface_t\
      \ *surface,\t\t\t\t unsigned int font_id,\t\t\t\t unsigned int subset_id) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-surface.c:5104,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:5138,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:5136,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:5161,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:5195,1
    - Dst: _cairo_pdf_shading_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:5209,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:5215,1
    - Dst: _cairo_output_stream_print_matrix
      Src: /src/cairo/src/cairo-pdf-surface.c:5221,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-pdf-surface.c:5111,1
    - Dst: cairo_matrix_init
      Src: /src/cairo/src/cairo-pdf-surface.c:5109,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:5154,1
    - Dst: _cairo_output_stream_print_matrix
      Src: /src/cairo/src/cairo-pdf-surface.c:5160,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:5147,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:5173,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:5174,1
    - Dst: _cairo_pdf_shading_init_alpha
      Src: /src/cairo/src/cairo-pdf-surface.c:5176,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:5177,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-pdf-surface.c:5204,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:5233,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-pdf-surface.c:5102,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:5118,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:5119,1
    - Dst: _cairo_pdf_shading_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:5151,1
    - Dst: _cairo_pdf_surface_update_object
      Src: /src/cairo/src/cairo-pdf-surface.c:5153,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:5121,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:5180,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:5197,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:5212,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:5213,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-surface.c:5237,1
    - Dst: cairo_matrix_init
      Src: /src/cairo/src/cairo-pdf-surface.c:5107,1
    - Dst: _cairo_pdf_shading_init_color
      Src: /src/cairo/src/cairo-pdf-surface.c:5113,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:5114,1
    - Dst: _cairo_pdf_surface_new_object
      Src: /src/cairo/src/cairo-pdf-surface.c:5117,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-pdf-surface.c:5145,1
    - Dst: _cairo_pdf_surface_new_object
      Src: /src/cairo/src/cairo-pdf-surface.c:5172,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:5206,1
    - Dst: _cairo_pdf_surface_new_object
      Src: /src/cairo/src/cairo-pdf-surface.c:5211,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:5222,1
    - Dst: cairo_pdf_surface_emit_transparency_group
      Src: /src/cairo/src/cairo-pdf-surface.c:5229,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 59
    argCount: 2
    argNames:
    - surface
    - pdf_pattern
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_pdf_pattern_t*
    constantsTouched: []
    func_position:
      end: 5238
      start: 5089
    functionDepth: 0
    functionLinenumber: 5089
    functionLinenumberEnd: 5238
    functionName: _cairo_pdf_surface_emit_mesh_pattern
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - cairo_pdf_surface_emit_transparency_group
    - _cairo_pdf_surface_update_object
    - _cairo_error
    - _cairo_pdf_shading_init_alpha
    - unlikely
    - _cairo_output_stream_print_matrix
    - _cairo_pdf_shading_init_color
    - assert
    - _cairo_pdf_surface_new_object
    - _cairo_output_stream_write
    - _cairo_output_stream_get_status
    - _cairo_pdf_shading_fini
    - cairo_matrix_invert
    - cairo_matrix_multiply
    - _cairo_output_stream_printf
    - cairo_matrix_init
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_emit_mesh_pattern (cairo_pdf_surface_t\
      \ *surface,\t\t\t\t cairo_pdf_pattern_t *pdf_pattern) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pdf_surface_emit_type3_font_subset
      Src: /src/cairo/src/cairo-pdf-surface.c:7169,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - font_subset
    - closure
    argTypes:
    - cairo_scaled_font_subset_t*
    - void*
    constantsTouched: []
    func_position:
      end: 7175
      start: 7162
    functionDepth: 0
    functionLinenumber: 7162
    functionLinenumberEnd: 7175
    functionName: _cairo_pdf_surface_emit_scaled_font_subset
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_surface_emit_type3_font_subset
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_emit_scaled_font_subset\
      \ (cairo_scaled_font_subset_t *font_subset, void\t\t *closure) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:7288,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-pdf-surface.c:7298,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 7
    argNames:
    - stream
    - id
    - type
    - field2_size
    - field2
    - field3
    - write_as_comments
    argTypes:
    - cairo_output_stream_t*
    - int
    - int
    - int
    - long long
    - int
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 7300
      start: 7275
    functionDepth: 0
    functionLinenumber: 7275
    functionLinenumberEnd: 7300
    functionName: _cairo_write_xref_stream_entry
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_write
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: void
    signature: "static void _cairo_write_xref_stream_entry (cairo_output_stream_t\
      \ *stream,\t\t\t\tint id,\t\t\t\tint type,\t\t\t\tint field2_size,\t\t\t\tlong\
      \ long field2,\t\t\t\tint field3,\t\t\t\tcairo_bool_t write_as_comments) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 9154
      start: 9150
    functionDepth: 0
    functionLinenumber: 9150
    functionLinenumberEnd: 9154
    functionName: _cairo_pdf_surface_has_show_text_glyphs
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _cairo_pdf_surface_has_show_text_glyphs\t(void\t\
      \t\t*abstract_surface) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pdf_interchange_recording_source_surface_begin
      Src: /src/cairo/src/cairo-pdf-surface.c:9448,1
    - Dst: _cairo_pdf_interchange_recording_source_surface_end
      Src: /src/cairo/src/cairo-pdf-surface.c:9454,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 5
    argNames:
    - abstract_surface
    - recording_surface_pattern
    - region_id
    - source_type
    - begin
    argTypes:
    - void*
    - cairo_surface_pattern_t*
    - unsigned int
    - cairo_analysis_source_t
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 9462
      start: 9437
    functionDepth: 0
    functionLinenumber: 9437
    functionLinenumberEnd: 9462
    functionName: _cairo_pdf_surface_analyze_recording_surface
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_interchange_recording_source_surface_begin
    - _cairo_pdf_interchange_recording_source_surface_end
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_analyze_recording_surface(void\t\
      \t *abstract_surface,\t\t\t\t\t const cairo_surface_pattern_t *recording_surface_pattern,\t\
      \t\t\t\t unsigned int region_id,\t\t\t\t\t cairo_analysis_source_t source_type,\t\
      \t\t\t\t cairo_bool_t begin) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-surface.c:2480,1
    - Dst: _cairo_pdf_surface_new_object
      Src: /src/cairo/src/cairo-pdf-surface.c:2482,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-surface.c:2487,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-surface.c:2539,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:2550,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-surface.c:2479,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:2484,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:2491,1
    - Dst: _cairo_memory_stream_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:2526,1
    - Dst: _cairo_strndup
      Src: /src/cairo/src/cairo-pdf-surface.c:2530,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-surface.c:2538,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:2527,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:2555,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:2508,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:2520,1
    - Dst: _cairo_memory_stream_create
      Src: /src/cairo/src/cairo-pdf-surface.c:2489,1
    - Dst: _cairo_pdf_surface_open_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:2533,1
    - Dst: _cairo_pdf_surface_open_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:2542,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:2546,1
    - Dst: _cairo_pdf_operators_reset
      Src: /src/cairo/src/cairo-pdf-surface.c:2556,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-surface.c:2558,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 6
    argNames:
    - surface
    - bbox
    - resource
    - is_form
    - is_group
    - struct_parents
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_box_double_t*
    - cairo_pdf_resource_t*
    - cairo_bool_t
    - cairo_bool_t
    - int
    constantsTouched: []
    func_position:
      end: 2559
      start: 2469
    functionDepth: 0
    functionLinenumber: 2469
    functionLinenumberEnd: 2559
    functionName: _cairo_pdf_surface_open_content_stream
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_operators_reset
    - _cairo_strndup
    - _cairo_error
    - free
    - _cairo_pdf_surface_new_object
    - assert
    - _cairo_pdf_surface_open_stream
    - _cairo_memory_stream_create
    - _cairo_output_stream_get_status
    - _cairo_memory_stream_destroy
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_open_content_stream (cairo_pdf_surface_t\
      \ *surface,\t\t\t\t\tconst cairo_box_double_t *bbox,\t\t\t\t\tcairo_pdf_resource_t\
      \ *resource,\t\t\t\t\tcairo_bool_t is_form,\t\t\t\t\tcairo_bool_t is_group,\t\
      \t\t\t\tint struct_parents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - surface
    - op
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_operator_t
    constantsTouched: []
    func_position:
      end: 1126
      start: 1119
    functionDepth: 0
    functionLinenumber: 1119
    functionLinenumberEnd: 1126
    functionName: _cairo_pdf_surface_add_operator
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void _cairo_pdf_surface_add_operator (cairo_pdf_surface_t *surface,\t\
      \t\t\t cairo_operator_t op) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-pdf-surface.c:1160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - surface
    - smask
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_pdf_resource_t
    constantsTouched: []
    func_position:
      end: 1161
      start: 1156
    functionDepth: 0
    functionLinenumber: 1156
    functionLinenumberEnd: 1161
    functionName: _cairo_pdf_surface_add_smask
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_array_append
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_add_smask (cairo_pdf_surface_t\
      \ *surface,\t\t\t cairo_pdf_resource_t smask) "
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pdf_surface_acquire_source_image_from_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:1691,1
    - Dst: cairo_surface_get_device_offset
      Src: /src/cairo/src/cairo-pdf-surface.c:1696,1
    - Dst: _cairo_box_round_to_rectangle
      Src: /src/cairo/src/cairo-pdf-surface.c:1713,1
    - Dst: cairo_surface_get_mime_data
      Src: /src/cairo/src/cairo-pdf-surface.c:1729,1
    - Dst: _cairo_rectangle_union
      Src: /src/cairo/src/cairo-pdf-surface.c:1744,1
    - Dst: _cairo_pdf_surface_release_source_image_from_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:1750,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:1757,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-pdf-surface.c:1762,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-pdf-surface.c:1768,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-pdf-surface.c:1844,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:1867,1
    - Dst: _cairo_pdf_surface_release_source_image_from_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:1877,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-surface.c:1870,1
    - Dst: _get_source_surface_extents
      Src: /src/cairo/src/cairo-pdf-surface.c:1792,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-pdf-surface.c:1755,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:1796,1
    - Dst: _cairo_pattern_create_copy
      Src: /src/cairo/src/cairo-pdf-surface.c:1817,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:1818,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:1849,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:1865,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-surface.c:1874,1
    - Dst: _cairo_box_from_rectangle
      Src: /src/cairo/src/cairo-pdf-surface.c:1711,1
    - Dst: _cairo_hash_table_lookup
      Src: /src/cairo/src/cairo-pdf-surface.c:1735,1
    - Dst: _cairo_rectangle_intersect
      Src: /src/cairo/src/cairo-pdf-surface.c:1743,1
    - Dst: _cairo_rectangle_intersect
      Src: /src/cairo/src/cairo-pdf-surface.c:1807,1
    - Dst: _cairo_pdf_source_surface_init_key
      Src: /src/cairo/src/cairo-pdf-surface.c:1810,1
    - Dst: _cairo_pdf_surface_new_object
      Src: /src/cairo/src/cairo-pdf-surface.c:1837,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-pdf-surface.c:1848,1
    - Dst: _cairo_hash_table_insert
      Src: /src/cairo/src/cairo-pdf-surface.c:1853,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:1855,1
    - Dst: _cairo_pdf_surface_release_source_image_from_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:1859,1
    - Dst: _cairo_matrix_transform_bounding_box_fixed
      Src: /src/cairo/src/cairo-pdf-surface.c:1712,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:1693,1
    - Dst: _cairo_pdf_source_surface_init_key
      Src: /src/cairo/src/cairo-pdf-surface.c:1734,1
    - Dst: _cairo_unbounded_rectangle_init
      Src: /src/cairo/src/cairo-pdf-surface.c:1741,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:1770,1
    - Dst: _cairo_unbounded_rectangle_init
      Src: /src/cairo/src/cairo-pdf-surface.c:1805,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-pdf-surface.c:1823,1
    - Dst: _cairo_surface_is_recording
      Src: /src/cairo/src/cairo-pdf-surface.c:1828,1
    - Dst: _cairo_recording_surface_region_array_reference
      Src: /src/cairo/src/cairo-pdf-surface.c:1831,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:1839,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:1845,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 144
    argCount: 15
    argNames:
    - surface
    - source_surface
    - source_pattern
    - region_id
    - op
    - filter
    - stencil_mask
    - smask
    - need_transp_group
    - extents
    - smask_res
    - pdf_source
    - x_offset
    - y_offset
    - source_extents
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_surface_t*
    - cairo_pattern_t*
    - int
    - cairo_operator_t
    - cairo_filter_t
    - cairo_bool_t
    - cairo_bool_t
    - cairo_bool_t
    - cairo_rectangle_int_t*
    - cairo_pdf_resource_t*
    - cairo_pdf_source_surface_entry_t**
    - double*
    - double*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 1880
      start: 1641
    functionDepth: 0
    functionLinenumber: 1641
    functionLinenumberEnd: 1880
    functionName: _cairo_pdf_surface_add_source_surface
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_recording_surface_region_array_reference
    - memcpy
    - _get_source_surface_extents
    - _cairo_error
    - cairo_surface_get_mime_data
    - _cairo_array_append
    - _cairo_rectangle_union
    - cairo_surface_reference
    - _cairo_pdf_source_surface_init_key
    - _cairo_matrix_transform_bounding_box_fixed
    - _cairo_hash_table_insert
    - _cairo_surface_is_recording
    - _cairo_box_from_rectangle
    - _cairo_calloc
    - cairo_surface_get_device_offset
    - _cairo_rectangle_intersect
    - _cairo_pdf_surface_release_source_image_from_pattern
    - _cairo_hash_table_lookup
    - cairo_pattern_destroy
    - _cairo_malloc
    - _cairo_box_round_to_rectangle
    - _cairo_pattern_create_copy
    - free
    - _cairo_unbounded_rectangle_init
    - _cairo_pdf_surface_new_object
    - cairo_surface_destroy
    - _cairo_pdf_surface_acquire_source_image_from_pattern
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_add_source_surface (cairo_pdf_surface_t\t\
      \ *surface,\t\t\t\t cairo_surface_t\t *source_surface,\t\t\t\t const cairo_pattern_t\t\
      \ *source_pattern,\t\t\t\t int region_id,\t\t\t\t cairo_operator_t op,\t\t\t\
      \t cairo_filter_t\t\t filter,\t\t\t\t cairo_bool_t stencil_mask,\t\t\t\t cairo_bool_t\
      \ smask,\t\t\t\t cairo_bool_t need_transp_group,\t\t\t\t const cairo_rectangle_int_t\
      \ *extents,\t\t\t\t cairo_pdf_resource_t\t *smask_res,\t\t\t\t cairo_pdf_source_surface_entry_t\
      \ **pdf_source,\t\t\t\t double *x_offset,\t\t\t\t double *y_offset,\t\t\t\t\
      \ cairo_rectangle_int_t *source_extents) "
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pdf_surface_emit_jbig2_image
      Src: /src/cairo/src/cairo-pdf-surface.c:4022,1
    - Dst: _cairo_pdf_surface_emit_jpeg_image
      Src: /src/cairo/src/cairo-pdf-surface.c:4040,1
    - Dst: _cairo_pdf_surface_emit_ccitt_image
      Src: /src/cairo/src/cairo-pdf-surface.c:4049,1
    - Dst: _cairo_pdf_surface_emit_recording_surface
      Src: /src/cairo/src/cairo-pdf-surface.c:4063,1
    - Dst: _cairo_pdf_surface_emit_jpx_image
      Src: /src/cairo/src/cairo-pdf-surface.c:4031,1
    - Dst: _cairo_surface_acquire_source_image
      Src: /src/cairo/src/cairo-pdf-surface.c:4071,1
    - Dst: _cairo_pdf_surface_acquire_source_image_from_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:4073,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:4078,1
    - Dst: _cairo_pdf_surface_emit_image
      Src: /src/cairo/src/cairo-pdf-surface.c:4084,1
    - Dst: _cairo_surface_release_source_image
      Src: /src/cairo/src/cairo-pdf-surface.c:4090,1
    - Dst: _cairo_pdf_surface_release_source_image_from_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:4092,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 4
    argNames:
    - surface
    - source
    - test
    - is_image
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_pdf_source_surface_t*
    - cairo_bool_t
    - cairo_bool_t*
    constantsTouched: []
    func_position:
      end: 4099
      start: 4009
    functionDepth: 0
    functionLinenumber: 4009
    functionLinenumberEnd: 4099
    functionName: _cairo_pdf_surface_emit_surface
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_release_source_image
    - _cairo_pdf_surface_emit_ccitt_image
    - _cairo_pdf_surface_emit_jbig2_image
    - _cairo_pdf_surface_acquire_source_image_from_pattern
    - _cairo_pdf_surface_emit_image
    - _cairo_pdf_surface_emit_jpx_image
    - _cairo_surface_acquire_source_image
    - _cairo_pdf_surface_emit_recording_surface
    - _cairo_pdf_surface_release_source_image_from_pattern
    - _cairo_pdf_surface_emit_jpeg_image
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_emit_surface (cairo_pdf_surface_t\
      \ *surface,\t\t\t\t cairo_pdf_source_surface_t *source,\t\t\t\t cairo_bool_t\
      \ test,\t\t\t\t cairo_bool_t *is_image) "
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:5568,1
    - Dst: _cairo_pdf_operators_flush
      Src: /src/cairo/src/cairo-pdf-surface.c:5585,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:5586,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:5589,1
    - Dst: _cairo_pdf_surface_add_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:5601,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:5619,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:5602,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:5582,1
    - Dst: _cairo_pdf_operators_flush
      Src: /src/cairo/src/cairo-pdf-surface.c:5605,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:5612,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:5606,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:5615,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:5558,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:5561,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:5570,1
    - Dst: _cairo_pdf_surface_add_alpha
      Src: /src/cairo/src/cairo-pdf-surface.c:5581,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:5598,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:5623,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-surface.c:5630,1
    - Dst: _cairo_pdf_operators_flush
      Src: /src/cairo/src/cairo-pdf-surface.c:5557,1
    - Dst: _cairo_pdf_surface_add_alpha
      Src: /src/cairo/src/cairo-pdf-surface.c:5597,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 59
    argCount: 4
    argNames:
    - surface
    - pattern
    - pattern_res
    - is_stroke
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_pattern_t*
    - cairo_pdf_resource_t
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 5631
      start: 5534
    functionDepth: 0
    functionLinenumber: 5534
    functionLinenumberEnd: 5631
    functionName: _cairo_pdf_surface_select_pattern
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_surface_add_pattern
    - _cairo_pdf_surface_add_alpha
    - _cairo_output_stream_get_status
    - _cairo_pdf_operators_flush
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_select_pattern (cairo_pdf_surface_t\
      \ *surface,\t\t\t\t const cairo_pattern_t *pattern,\t\t\t\t cairo_pdf_resource_t\
      \ pattern_res,\t\t\t\t cairo_bool_t is_stroke) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/cairo/src/cairo-pdf-surface.c:6244,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:6247,1
    - Dst: _cairo_cff_subset_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:6252,1
    - Dst: _cairo_pdf_surface_emit_cff_font
      Src: /src/cairo/src/cairo-pdf-surface.c:6250,1
    - Dst: _cairo_cff_subset_init
      Src: /src/cairo/src/cairo-pdf-surface.c:6246,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - surface
    - font_subset
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_scaled_font_subset_t*
    constantsTouched: []
    func_position:
      end: 6255
      start: 6236
    functionDepth: 0
    functionLinenumber: 6236
    functionLinenumberEnd: 6255
    functionName: _cairo_pdf_surface_emit_cff_font_subset
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_cff_subset_fini
    - _cairo_cff_subset_init
    - _cairo_pdf_surface_emit_cff_font
    - snprintf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_emit_cff_font_subset\
      \ (cairo_pdf_surface_t\t *surface, cairo_scaled_font_subset_t *font_subset) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-surface.c:2567,1
    - Dst: _cairo_pdf_operators_flush
      Src: /src/cairo/src/cairo-pdf-surface.c:2570,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-surface.c:2568,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:2574,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:2571,1
    - Dst: _cairo_pdf_surface_close_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:2575,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:2576,1
    - Dst: _cairo_pdf_surface_update_object
      Src: /src/cairo/src/cairo-pdf-surface.c:2579,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:2580,1
    - Dst: _cairo_pdf_surface_emit_group_resources
      Src: /src/cairo/src/cairo-pdf-surface.c:2583,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:2584,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-surface.c:2587,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - surface
    - is_form
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 2588
      start: 2561
    functionDepth: 0
    functionLinenumber: 2561
    functionLinenumberEnd: 2588
    functionName: _cairo_pdf_surface_close_content_stream
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_surface_update_object
    - assert
    - _cairo_output_stream_get_status
    - _cairo_pdf_surface_emit_group_resources
    - _cairo_pdf_operators_flush
    - _cairo_pdf_surface_close_stream
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_close_content_stream\
      \ (cairo_pdf_surface_t *surface,\t\t\t\t\t cairo_bool_t is_form) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-surface.c:1138,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:1148,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-pdf-surface.c:1147,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-surface.c:1151,1
    - Dst: _cairo_array_copy_element
      Src: /src/cairo/src/cairo-pdf-surface.c:1140,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - surface
    - alpha
    - index
    argTypes:
    - cairo_pdf_surface_t*
    - double
    - int*
    constantsTouched: []
    func_position:
      end: 1154
      start: 1128
    functionDepth: 0
    functionLinenumber: 1128
    functionLinenumberEnd: 1154
    functionName: _cairo_pdf_surface_add_alpha
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - unlikely
    - _cairo_array_append
    - _cairo_array_num_elements
    - _cairo_array_copy_element
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_add_alpha (cairo_pdf_surface_t\
      \ *surface,\t\t\t double alpha,\t\t\t int *index) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-pdf-surface.c:1167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - surface
    - pattern
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_pdf_resource_t
    constantsTouched: []
    func_position:
      end: 1168
      start: 1163
    functionDepth: 0
    functionLinenumber: 1163
    functionLinenumberEnd: 1168
    functionName: _cairo_pdf_surface_add_pattern
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_array_append
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_add_pattern (cairo_pdf_surface_t\
      \ *surface,\t\t\t\tcairo_pdf_resource_t pattern) "
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pattern_create_copy
      Src: /src/cairo/src/cairo-pdf-surface.c:1906,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:1913,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:1907,1
    - Dst: _cairo_pdf_surface_new_object
      Src: /src/cairo/src/cairo-pdf-surface.c:1910,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:1912,1
    - Dst: _cairo_pattern_alpha_range
      Src: /src/cairo/src/cairo-pdf-surface.c:1925,1
    - Dst: CAIRO_ALPHA_IS_OPAQUE
      Src: /src/cairo/src/cairo-pdf-surface.c:1926,1
    - Dst: _cairo_pdf_surface_new_object
      Src: /src/cairo/src/cairo-pdf-surface.c:1927,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:1929,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:1930,1
    - Dst: _cairo_pdf_interchange_struct_tree_requires_recording_surface
      Src: /src/cairo/src/cairo-pdf-surface.c:1955,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-pdf-surface.c:1964,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:1966,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:1965,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 8
    argNames:
    - surface
    - pattern
    - op
    - source_type
    - extents
    - is_shading
    - pattern_res
    - gstate_res
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_pattern_t*
    - cairo_operator_t
    - cairo_analysis_source_t
    - cairo_rectangle_int_t*
    - cairo_bool_t
    - cairo_pdf_resource_t*
    - cairo_pdf_resource_t*
    constantsTouched: []
    func_position:
      end: 1971
      start: 1882
    functionDepth: 0
    functionLinenumber: 1882
    functionLinenumberEnd: 1971
    functionName: _cairo_pdf_surface_add_pdf_pattern_or_shading
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_create_copy
    - _cairo_error
    - _cairo_pdf_surface_new_object
    - _cairo_pattern_alpha_range
    - _cairo_array_append
    - cairo_pattern_destroy
    - _cairo_pdf_interchange_struct_tree_requires_recording_surface
    - CAIRO_ALPHA_IS_OPAQUE
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_add_pdf_pattern_or_shading\
      \ (cairo_pdf_surface_t\t *surface,\t\t\t\t\t const cairo_pattern_t\t *pattern,\t\
      \t\t\t\t cairo_operator_t\t op,\t\t\t\t\t cairo_analysis_source_t source_type,\t\
      \t\t\t\t const cairo_rectangle_int_t *extents,\t\t\t\t\t cairo_bool_t is_shading,\t\
      \t\t\t\t cairo_pdf_resource_t\t *pattern_res,\t\t\t\t\t cairo_pdf_resource_t\t\
      \ *gstate_res) "
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_rectangle_intersect
      Src: /src/cairo/src/cairo-pdf-surface.c:4153,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-surface.c:4237,1
    - Dst: snprintf
      Src: /src/cairo/src/cairo-pdf-surface.c:4282,1
    - Dst: snprintf
      Src: /src/cairo/src/cairo-pdf-surface.c:4290,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:4305,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/src/cairo-pdf-surface.c:4307,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/src/cairo-pdf-surface.c:4308,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/src/cairo-pdf-surface.c:4310,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:4311,1
    - Dst: _cairo_output_stream_print_matrix
      Src: /src/cairo/src/cairo-pdf-surface.c:4312,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/src/cairo-pdf-surface.c:4317,1
    - Dst: cairo_pattern_get_extend
      Src: /src/cairo/src/cairo-pdf-surface.c:4108,1
    - Dst: _cairo_matrix_transform_bounding_box
      Src: /src/cairo/src/cairo-pdf-surface.c:4175,1
    - Dst: cairo_matrix_init
      Src: /src/cairo/src/cairo-pdf-surface.c:4242,1
    - Dst: _cairo_pdf_surface_open_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:4253,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/src/cairo-pdf-surface.c:4247,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-pdf-surface.c:4244,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:4271,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/src/cairo-pdf-surface.c:4300,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:4303,1
    - Dst: _cairo_output_stream_print_matrix
      Src: /src/cairo/src/cairo-pdf-surface.c:4304,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-surface.c:4332,1
    - Dst: _cairo_pdf_surface_add_padded_image_surface
      Src: /src/cairo/src/cairo-pdf-surface.c:4122,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:4146,1
    - Dst: ceil
      Src: /src/cairo/src/cairo-pdf-surface.c:4183,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-pdf-surface.c:4235,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/src/cairo-pdf-surface.c:4248,1
    - Dst: _cairo_pdf_surface_update_object
      Src: /src/cairo/src/cairo-pdf-surface.c:4252,1
    - Dst: _get_bbox_from_extents
      Src: /src/cairo/src/cairo-pdf-surface.c:4251,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/src/cairo-pdf-surface.c:4301,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/src/cairo-pdf-surface.c:4302,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/src/cairo-pdf-surface.c:4309,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/src/cairo-pdf-surface.c:4318,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:4319,1
    - Dst: _cairo_pdf_surface_close_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:4328,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/src/cairo-pdf-surface.c:4316,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:4321,1
    - Dst: _cairo_pdf_surface_add_source_surface
      Src: /src/cairo/src/cairo-pdf-surface.c:4130,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-surface.c:4120,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/src/cairo-pdf-surface.c:4245,1
    - Dst: cairo_matrix_init
      Src: /src/cairo/src/cairo-pdf-surface.c:4240,1
    - Dst: snprintf
      Src: /src/cairo/src/cairo-pdf-surface.c:4275,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:4297,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/src/cairo-pdf-surface.c:4299,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:4313,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/src/cairo-pdf-surface.c:4315,1
    - Dst: _cairo_output_stream_print_matrix
      Src: /src/cairo/src/cairo-pdf-surface.c:4320,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:4323,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:4329,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 98
    argCount: 2
    argNames:
    - surface
    - pdf_pattern
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_pdf_pattern_t*
    constantsTouched: []
    func_position:
      end: 4333
      start: 4101
    functionDepth: 0
    functionLinenumber: 4101
    functionLinenumberEnd: 4333
    functionName: _cairo_pdf_surface_emit_surface_pattern
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_matrix_transform_bounding_box
    - _cairo_pdf_surface_update_object
    - _cairo_output_stream_print_matrix
    - _cairo_pdf_surface_add_source_surface
    - cairo_matrix_translate
    - _cairo_pdf_surface_open_stream
    - ceil
    - _cairo_pdf_surface_close_stream
    - cairo_matrix_init
    - cairo_matrix_scale
    - _cairo_rectangle_intersect
    - assert
    - cairo_pattern_get_extend
    - _get_bbox_from_extents
    - cairo_matrix_init_translate
    - snprintf
    - _cairo_output_stream_printf
    - _cairo_output_stream_get_status
    - cairo_matrix_invert
    - cairo_matrix_multiply
    - _cairo_pdf_surface_add_padded_image_surface
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_emit_surface_pattern\
      \ (cairo_pdf_surface_t\t*surface,\t\t\t\t\t cairo_pdf_pattern_t\t*pdf_pattern) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pdf_operators_flush
      Src: /src/cairo/src/cairo-pdf-surface.c:5639,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:5640,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:5643,1
    - Dst: _cairo_pdf_operators_reset
      Src: /src/cairo/src/cairo-pdf-surface.c:5644,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_pdf_surface_t*
    constantsTouched: []
    func_position:
      end: 5650
      start: 5633
    functionDepth: 0
    functionLinenumber: 5633
    functionLinenumberEnd: 5650
    functionName: _cairo_pdf_surface_unselect_pattern
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_operators_flush
    - _cairo_pdf_operators_reset
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t _cairo_pdf_surface_unselect_pattern (cairo_pdf_surface_t
      *surface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/cairo/src/cairo-pdf-surface.c:6270,1
    - Dst: _cairo_pdf_surface_emit_cff_font
      Src: /src/cairo/src/cairo-pdf-surface.c:6276,1
    - Dst: _cairo_cff_fallback_init
      Src: /src/cairo/src/cairo-pdf-surface.c:6272,1
    - Dst: _cairo_cff_fallback_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:6278,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:6273,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - surface
    - font_subset
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_scaled_font_subset_t*
    constantsTouched: []
    func_position:
      end: 6281
      start: 6257
    functionDepth: 0
    functionLinenumber: 6257
    functionLinenumberEnd: 6281
    functionName: _cairo_pdf_surface_emit_cff_fallback_font
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_surface_emit_cff_font
    - _cairo_cff_fallback_init
    - _cairo_cff_fallback_fini
    - snprintf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_emit_cff_fallback_font\
      \ (cairo_pdf_surface_t\t *surface, cairo_scaled_font_subset_t *font_subset) "
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_image_surface_create_with_content
      Src: /src/cairo/src/cairo-pdf-surface.c:3240,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:3254,1
    - Dst: _cairo_malloc_abc
      Src: /src/cairo/src/cairo-pdf-surface.c:3272,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-pdf-surface.c:3281,1
    - Dst: _cairo_pdf_surface_close_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:3402,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-surface.c:3405,1
    - Dst: _cairo_pattern_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:3253,1
    - Dst: _cairo_pattern_init_for_surface
      Src: /src/cairo/src/cairo-pdf-surface.c:3249,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:3368,1
    - Dst: snprintf
      Src: /src/cairo/src/cairo-pdf-surface.c:3375,1
    - Dst: _cairo_pdf_surface_emit_smask
      Src: /src/cairo/src/cairo-pdf-surface.c:3367,1
    - Dst: _cairo_image_analyze_transparency
      Src: /src/cairo/src/cairo-pdf-surface.c:3358,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-pdf-surface.c:3401,1
    - Dst: _cairo_surface_paint
      Src: /src/cairo/src/cairo-pdf-surface.c:3250,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:3285,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:3284,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:3408,1
    - Dst: _cairo_pdf_surface_emit_smask
      Src: /src/cairo/src/cairo-pdf-surface.c:3259,1
    - Dst: _cairo_image_analyze_color
      Src: /src/cairo/src/cairo-pdf-surface.c:3265,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-pdf-surface.c:3277,1
    - Dst: _cairo_pdf_surface_new_object
      Src: /src/cairo/src/cairo-pdf-surface.c:3361,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:3363,1
    - Dst: _cairo_pdf_surface_open_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:3379,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:3396,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 159
    argCount: 3
    argNames:
    - surface
    - image_surf
    - surface_entry
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_image_surface_t*
    - cairo_pdf_source_surface_entry_t*
    constantsTouched: []
    func_position:
      end: 3411
      start: 3214
    functionDepth: 0
    functionLinenumber: 3214
    functionLinenumberEnd: 3411
    functionName: _cairo_pdf_surface_emit_image
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_init_for_surface
    - _cairo_pdf_surface_emit_smask
    - _cairo_image_analyze_color
    - _cairo_malloc_abc
    - _cairo_image_analyze_transparency
    - _cairo_error
    - free
    - _cairo_pdf_surface_close_stream
    - _cairo_pattern_fini
    - _cairo_malloc_ab
    - _cairo_pdf_surface_new_object
    - _cairo_pdf_surface_open_stream
    - cairo_surface_destroy
    - _cairo_output_stream_write
    - _cairo_image_surface_create_with_content
    - snprintf
    - _cairo_surface_paint
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_emit_image (cairo_pdf_surface_t\
      \ *surface, cairo_image_surface_t *image_surf,\t\t\t cairo_pdf_source_surface_entry_t\
      \ *surface_entry) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_scaled_font_subsets_foreach_unscaled
      Src: /src/cairo/src/cairo-pdf-surface.c:7182,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:7185,1
    - Dst: _cairo_scaled_font_subsets_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:7193,1
    - Dst: _cairo_scaled_font_subsets_foreach_scaled
      Src: /src/cairo/src/cairo-pdf-surface.c:7188,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_pdf_surface_t*
    constantsTouched: []
    func_position:
      end: 7197
      start: 7177
    functionDepth: 0
    functionLinenumber: 7177
    functionLinenumberEnd: 7197
    functionName: _cairo_pdf_surface_emit_font_subsets
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_scaled_font_subsets_foreach_unscaled
    - _cairo_scaled_font_subsets_foreach_scaled
    - _cairo_scaled_font_subsets_destroy
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t _cairo_pdf_surface_emit_font_subsets (cairo_pdf_surface_t
      *surface) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_truncate
      Src: /src/cairo/src/cairo-pdf-surface.c:1032,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-pdf-surface.c:1029,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:1038,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:1057,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-surface.c:1047,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:1030,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:1065,1
    - Dst: _cairo_surface_is_recording
      Src: /src/cairo/src/cairo-pdf-surface.c:1067,1
    - Dst: _cairo_array_truncate
      Src: /src/cairo/src/cairo-pdf-surface.c:1072,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-surface.c:1034,1
    - Dst: _cairo_surface_is_recording
      Src: /src/cairo/src/cairo-pdf-surface.c:1040,1
    - Dst: _cairo_array_truncate
      Src: /src/cairo/src/cairo-pdf-surface.c:1045,1
    - Dst: _cairo_array_copy_element
      Src: /src/cairo/src/cairo-pdf-surface.c:1049,1
    - Dst: _cairo_array_copy_element
      Src: /src/cairo/src/cairo-pdf-surface.c:1063,1
    - Dst: _cairo_recording_surface_region_array_remove
      Src: /src/cairo/src/cairo-pdf-surface.c:1068,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:1069,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-surface.c:1027,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-pdf-surface.c:1036,1
    - Dst: _cairo_recording_surface_region_array_remove
      Src: /src/cairo/src/cairo-pdf-surface.c:1041,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:1042,1
    - Dst: _cairo_pdf_smask_group_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:1050,1
    - Dst: _cairo_array_truncate
      Src: /src/cairo/src/cairo-pdf-surface.c:1054,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-surface.c:1061,1
    - Dst: _cairo_array_truncate
      Src: /src/cairo/src/cairo-pdf-surface.c:1053,1
    - Dst: _cairo_array_truncate
      Src: /src/cairo/src/cairo-pdf-surface.c:1052,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 56
    argCount: 2
    argNames:
    - surface
    - clear_doc_surfaces
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 1074
      start: 1017
    functionDepth: 0
    functionLinenumber: 1017
    functionLinenumberEnd: 1074
    functionName: _cairo_pdf_surface_clear
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    - _cairo_recording_surface_region_array_remove
    - _cairo_pdf_smask_group_destroy
    - _cairo_array_num_elements
    - cairo_surface_destroy
    - _cairo_array_truncate
    - _cairo_array_copy_element
    - _cairo_surface_is_recording
    - cairo_pattern_destroy
    linkageType: ''
    returnType: void
    signature: "static void _cairo_pdf_surface_clear (cairo_pdf_surface_t *surface,\t\
      \t\t cairo_bool_t clear_doc_surfaces) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-pdf-surface.c:1451,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - surface
    - group
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_pdf_smask_group_t*
    constantsTouched: []
    func_position:
      end: 1452
      start: 1447
    functionDepth: 0
    functionLinenumber: 1447
    functionLinenumberEnd: 1452
    functionName: _cairo_pdf_surface_add_smask_group
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_array_append
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_add_smask_group (cairo_pdf_surface_t\
      \ *surface,\t\t\t\t cairo_pdf_smask_group_t *group) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pdf_operators_flush
      Src: /src/cairo/src/cairo-pdf-surface.c:2100,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:2105,1
    - Dst: _cairo_pdf_operators_set_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:2110,1
    - Dst: _cairo_output_stream_get_position
      Src: /src/cairo/src/cairo-pdf-surface.c:2114,1
    - Dst: likely
      Src: /src/cairo/src/cairo-pdf-surface.c:2106,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:2116,1
    - Dst: _cairo_pdf_surface_update_object
      Src: /src/cairo/src/cairo-pdf-surface.c:2121,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:2123,1
    - Dst: likely
      Src: /src/cairo/src/cairo-pdf-surface.c:2132,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-surface.c:2133,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_pdf_surface_t*
    constantsTouched: []
    func_position:
      end: 2136
      start: 2091
    functionDepth: 0
    functionLinenumber: 2091
    functionLinenumberEnd: 2136
    functionName: _cairo_pdf_surface_close_stream
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_operators_set_stream
    - _cairo_pdf_surface_update_object
    - _cairo_output_stream_get_position
    - _cairo_output_stream_get_status
    - _cairo_output_stream_destroy
    - _cairo_pdf_operators_flush
    - likely
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t _cairo_pdf_surface_close_stream (cairo_pdf_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_hash_table_remove
      Src: /src/cairo/src/cairo-pdf-surface.c:2596,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-surface.c:2597,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-surface.c:2599,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - entry
    - closure
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 2600
      start: 2590
    functionDepth: 0
    functionLinenumber: 2590
    functionLinenumberEnd: 2600
    functionName: _cairo_pdf_source_surface_entry_pluck
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_hash_table_remove
    - free
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_pdf_source_surface_entry_pluck (void *entry, void
      *closure) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-surface.c:2622,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-pdf-surface.c:2623,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:2629,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:2626,1
    - Dst: _cairo_pdf_surface_object_begin
      Src: /src/cairo/src/cairo-pdf-surface.c:2625,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:2649,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-surface.c:2654,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:2656,1
    - Dst: _cairo_array_copy_element
      Src: /src/cairo/src/cairo-pdf-surface.c:2659,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:2660,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:2668,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:2673,1
    - Dst: _cairo_pdf_surface_object_end
      Src: /src/cairo/src/cairo-pdf-surface.c:2675,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:2664,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_pdf_surface_t*
    constantsTouched: []
    func_position:
      end: 2679
      start: 2614
    functionDepth: 0
    functionLinenumber: 2614
    functionLinenumberEnd: 2679
    functionName: _cairo_pdf_surface_write_page_dicts
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    - _cairo_pdf_surface_object_begin
    - _cairo_array_num_elements
    - _cairo_array_copy_element
    - _cairo_pdf_surface_object_end
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t _cairo_pdf_surface_write_page_dicts (cairo_pdf_surface_t
      *surface) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-pdf-surface.c:4549,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-pdf-surface.c:4580,1
    - Dst: _cairo_pdf_surface_emit_stitched_colorgradient
      Src: /src/cairo/src/cairo-pdf-surface.c:4617,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:4622,1
    - Dst: _cairo_pdf_surface_emit_stitched_colorgradient
      Src: /src/cairo/src/cairo-pdf-surface.c:4654,1
    - Dst: _cairo_pdf_surface_emit_stitched_colorgradient
      Src: /src/cairo/src/cairo-pdf-surface.c:4663,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-surface.c:4674,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:4640,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-surface.c:4609,1
    - Dst: cairo_pdf_surface_emit_rgb_linear_function
      Src: /src/cairo/src/cairo-pdf-surface.c:4636,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:4648,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:4631,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:4551,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:4550,1
    - Dst: CAIRO_ALPHA_IS_OPAQUE
      Src: /src/cairo/src/cairo-pdf-surface.c:4561,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-pdf-surface.c:4570,1
    - Dst: calc_gradient_color
      Src: /src/cairo/src/cairo-pdf-surface.c:4572,1
    - Dst: calc_gradient_color
      Src: /src/cairo/src/cairo-pdf-surface.c:4584,1
    - Dst: _cairo_pdf_surface_emit_stitched_colorgradient
      Src: /src/cairo/src/cairo-pdf-surface.c:4626,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:4659,1
    - Dst: cairo_pdf_surface_emit_alpha_linear_function
      Src: /src/cairo/src/cairo-pdf-surface.c:4644,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:4668,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 86
    argCount: 4
    argNames:
    - surface
    - pattern
    - color_function
    - alpha_function
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_gradient_pattern_t*
    - cairo_pdf_resource_t*
    - cairo_pdf_resource_t*
    constantsTouched: []
    func_position:
      end: 4676
      start: 4534
    functionDepth: 0
    functionLinenumber: 4534
    functionLinenumberEnd: 4676
    functionName: _cairo_pdf_surface_emit_pattern_stops
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - memcpy
    - _cairo_pdf_surface_emit_stitched_colorgradient
    - cairo_pdf_surface_emit_alpha_linear_function
    - cairo_pdf_surface_emit_rgb_linear_function
    - _cairo_error
    - free
    - unlikely
    - calc_gradient_color
    - assert
    - _cairo_malloc_ab
    - CAIRO_ALPHA_IS_OPAQUE
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t _cairo_pdf_surface_emit_pattern_stops (cairo_pdf_surface_t
      *surface, cairo_gradient_pattern_t *pattern, cairo_pdf_resource_t *color_function,
      cairo_pdf_resource_t *alpha_function) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pdf_surface_add_alpha
      Src: /src/cairo/src/cairo-pdf-surface.c:5434,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:5426,1
    - Dst: _cairo_pdf_surface_add_pdf_shading
      Src: /src/cairo/src/cairo-pdf-surface.c:5397,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-surface.c:5408,1
    - Dst: _cairo_pdf_operators_flush
      Src: /src/cairo/src/cairo-pdf-surface.c:5411,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:5412,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:5417,1
    - Dst: _cairo_pdf_surface_add_shading
      Src: /src/cairo/src/cairo-pdf-surface.c:5420,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:5429,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:5421,1
    - Dst: _cairo_output_stream_print_matrix
      Src: /src/cairo/src/cairo-pdf-surface.c:5416,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:5400,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:5402,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-pdf-surface.c:5406,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-pdf-surface.c:5409,1
    - Dst: _cairo_matrix_is_identity
      Src: /src/cairo/src/cairo-pdf-surface.c:5415,1
    - Dst: _cairo_pdf_surface_add_smask
      Src: /src/cairo/src/cairo-pdf-surface.c:5425,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:5435,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:5438,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 5
    argNames:
    - surface
    - op
    - source
    - extents
    - alpha
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_rectangle_int_t*
    - double
    constantsTouched: []
    func_position:
      end: 5445
      start: 5385
    functionDepth: 0
    functionLinenumber: 5385
    functionLinenumberEnd: 5445
    functionName: _cairo_pdf_surface_paint_gradient
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_printf
    - _cairo_pdf_surface_add_smask
    - _cairo_matrix_is_identity
    - _cairo_output_stream_print_matrix
    - assert
    - _cairo_pdf_surface_add_pdf_shading
    - _cairo_pdf_surface_add_alpha
    - _cairo_pdf_surface_add_shading
    - cairo_matrix_invert
    - cairo_matrix_multiply
    - _cairo_pdf_operators_flush
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_paint_gradient (cairo_pdf_surface_t\
      \ *surface,\t\t\t\t cairo_operator_t op,\t\t\t\t const cairo_pattern_t *source,\t\
      \t\t\t const cairo_rectangle_int_t *extents,\t\t\t\t double alpha) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_font_options_init_default
      Src: /src/cairo/src/cairo-pdf-surface.c:5699,1
    - Dst: cairo_font_options_set_antialias
      Src: /src/cairo/src/cairo-pdf-surface.c:5703,1
    - Dst: cairo_font_options_set_hint_style
      Src: /src/cairo/src/cairo-pdf-surface.c:5701,1
    - Dst: _cairo_font_options_set_round_glyph_positions
      Src: /src/cairo/src/cairo-pdf-surface.c:5704,1
    - Dst: cairo_font_options_set_hint_metrics
      Src: /src/cairo/src/cairo-pdf-surface.c:5702,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - abstract_surface
    - options
    argTypes:
    - void*
    - cairo_font_options_t*
    constantsTouched: []
    func_position:
      end: 5705
      start: 5695
    functionDepth: 0
    functionLinenumber: 5695
    functionLinenumberEnd: 5705
    functionName: _cairo_pdf_surface_get_font_options
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - cairo_font_options_set_hint_style
    - _cairo_font_options_init_default
    - cairo_font_options_set_antialias
    - cairo_font_options_set_hint_metrics
    - _cairo_font_options_set_round_glyph_positions
    linkageType: ''
    returnType: void
    signature: "static void _cairo_pdf_surface_get_font_options (void *abstract_surface,\t\
      \t\t\t cairo_font_options_t *options) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-pdf-surface.c:1084,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-pdf-surface.c:1087,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-pdf-surface.c:1088,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-pdf-surface.c:1086,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-pdf-surface.c:1085,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-pdf-surface.c:1089,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - res
    argTypes:
    - cairo_pdf_group_resources_t*
    constantsTouched: []
    func_position:
      end: 1090
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1090
    functionName: _cairo_pdf_group_resources_init
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_array_init
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_pdf_group_resources_init (cairo_pdf_group_resources_t
      *res) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cairo/src/cairo-pdf-surface.c:1467,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 2
    argNames:
    - key_a
    - key_b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1470
      start: 1454
    functionDepth: 0
    functionLinenumber: 1454
    functionLinenumberEnd: 1470
    functionName: _cairo_pdf_source_surface_equal
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_pdf_source_surface_equal (const void *key_a,
      const void *key_b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pdf_surface_update_object
      Src: /src/cairo/src/cairo-pdf-surface.c:2146,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:2160,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:2148,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:2156,1
    - Dst: _cairo_memory_stream_length
      Src: /src/cairo/src/cairo-pdf-surface.c:2153,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:2171,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:2174,1
    - Dst: _cairo_pdf_surface_emit_group_resources
      Src: /src/cairo/src/cairo-pdf-surface.c:2177,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:2178,1
    - Dst: _cairo_memory_stream_copy
      Src: /src/cairo/src/cairo-pdf-surface.c:2181,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:2182,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 6
    argNames:
    - surface
    - mem_stream
    - resource
    - resources
    - is_knockout_group
    - bbox
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_output_stream_t*
    - cairo_pdf_resource_t
    - cairo_pdf_group_resources_t*
    - cairo_bool_t
    - cairo_box_double_t*
    constantsTouched: []
    func_position:
      end: 2185
      start: 2138
    functionDepth: 0
    functionLinenumber: 2138
    functionLinenumberEnd: 2185
    functionName: _cairo_pdf_surface_write_memory_stream
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_memory_stream_copy
    - _cairo_pdf_surface_update_object
    - _cairo_memory_stream_length
    - _cairo_pdf_surface_emit_group_resources
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: void
    signature: "static void _cairo_pdf_surface_write_memory_stream (cairo_pdf_surface_t\
      \ *surface,\t\t\t\t\tcairo_output_stream_t *mem_stream,\t\t\t\t\tcairo_pdf_resource_t\
      \ resource,\t\t\t\t\tcairo_pdf_group_resources_t *resources,\t\t\t\t\tcairo_bool_t\
      \ is_knockout_group,\t\t\t\t\tconst cairo_box_double_t *bbox) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_hash_table_remove
      Src: /src/cairo/src/cairo-pdf-surface.c:2608,1
    - Dst: cairo_scaled_font_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:2609,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-surface.c:2611,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - entry
    - closure
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 2612
      start: 2602
    functionDepth: 0
    functionLinenumber: 2602
    functionLinenumberEnd: 2612
    functionName: _cairo_pdf_color_glyph_pluck
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_hash_table_remove
    - cairo_scaled_font_destroy
    - free
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_pdf_color_glyph_pluck (void *entry, void *closure) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pdf_surface_open_object_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:2699,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:2705,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:2700,1
    - Dst: _cairo_pdf_surface_emit_font_subsets
      Src: /src/cairo/src/cairo-pdf-surface.c:2710,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:2711,1
    - Dst: _cairo_pdf_surface_write_pages
      Src: /src/cairo/src/cairo-pdf-surface.c:2719,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:2720,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:2742,1
    - Dst: _cairo_pdf_surface_new_object
      Src: /src/cairo/src/cairo-pdf-surface.c:2747,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:2818,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:2828,1
    - Dst: _cairo_hash_table_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:2833,1
    - Dst: _cairo_hash_table_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:2824,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:2816,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-surface.c:2849,1
    - Dst: _cairo_hash_table_foreach
      Src: /src/cairo/src/cairo-pdf-surface.c:2821,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-surface.c:2840,1
    - Dst: _cairo_pdf_interchange_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:2858,1
    - Dst: _cairo_pdf_surface_clear
      Src: /src/cairo/src/cairo-pdf-surface.c:2697,1
    - Dst: _cairo_pdf_surface_write_patterns_and_smask_groups
      Src: /src/cairo/src/cairo-pdf-surface.c:2704,1
    - Dst: _cairo_pdf_surface_new_object
      Src: /src/cairo/src/cairo-pdf-surface.c:2731,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:2733,1
    - Dst: _cairo_pdf_surface_write_xref_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:2748,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:2755,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:2765,1
    - Dst: _cairo_pdf_surface_close_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:2781,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:2786,1
    - Dst: _cairo_pdf_group_resources_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:2805,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-surface.c:2808,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:2827,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:2817,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:2815,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:2847,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:2854,1
    - Dst: _cairo_surface_clipper_reset
      Src: /src/cairo/src/cairo-pdf-surface.c:2856,1
    - Dst: _cairo_array_copy_element
      Src: /src/cairo/src/cairo-pdf-surface.c:2851,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:2728,1
    - Dst: _cairo_pdf_surface_write_page_dicts
      Src: /src/cairo/src/cairo-pdf-surface.c:2727,1
    - Dst: _cairo_pdf_surface_close_object_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:2741,1
    - Dst: _cairo_pdf_surface_write_xref
      Src: /src/cairo/src/cairo-pdf-surface.c:2754,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:2791,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:2801,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-pdf-surface.c:2810,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:2811,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:2820,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:2825,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:2826,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-surface.c:2852,1
    - Dst: _cairo_pdf_surface_clear
      Src: /src/cairo/src/cairo-pdf-surface.c:2708,1
    - Dst: _cairo_pdf_surface_write_patterns_and_smask_groups
      Src: /src/cairo/src/cairo-pdf-surface.c:2715,1
    - Dst: _cairo_pdf_surface_clear
      Src: /src/cairo/src/cairo-pdf-surface.c:2717,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:2724,1
    - Dst: _cairo_pdf_interchange_write_document_objects
      Src: /src/cairo/src/cairo-pdf-surface.c:2723,1
    - Dst: _cairo_pdf_surface_write_catalog
      Src: /src/cairo/src/cairo-pdf-surface.c:2737,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:2738,1
    - Dst: _cairo_pdf_operators_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:2776,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:2807,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:2813,1
    - Dst: _cairo_scaled_font_subsets_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:2836,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-pdf-surface.c:2842,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-surface.c:2843,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:2845,1
    - Dst: _cairo_hash_table_foreach
      Src: /src/cairo/src/cairo-pdf-surface.c:2830,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:2814,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 123
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2861
      start: 2681
    functionDepth: 0
    functionLinenumber: 2681
    functionLinenumberEnd: 2861
    functionName: _cairo_pdf_surface_finish
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_surface_write_xref_stream
    - _cairo_array_index
    - _cairo_scaled_font_subsets_destroy
    - _cairo_error
    - _cairo_array_num_elements
    - _cairo_surface_clipper_reset
    - _cairo_pdf_surface_write_pages
    - _cairo_pdf_interchange_fini
    - _cairo_hash_table_foreach
    - _cairo_array_copy_element
    - _cairo_array_fini
    - _cairo_pdf_surface_close_stream
    - _cairo_pdf_surface_write_xref
    - _cairo_pdf_group_resources_fini
    - _cairo_pdf_surface_open_object_stream
    - _cairo_pdf_surface_close_object_stream
    - _cairo_output_stream_destroy
    - _cairo_pdf_interchange_write_document_objects
    - _cairo_output_stream_printf
    - _cairo_pdf_surface_clear
    - _cairo_pdf_operators_fini
    - _cairo_pdf_surface_write_page_dicts
    - free
    - _cairo_hash_table_destroy
    - _cairo_pdf_surface_new_object
    - _cairo_pdf_surface_write_patterns_and_smask_groups
    - _cairo_pdf_surface_emit_font_subsets
    - _cairo_pdf_surface_write_catalog
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_pdf_surface_finish (void *abstract_surface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pdf_surface_new_object
      Src: /src/cairo/src/cairo-pdf-surface.c:4688,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:4690,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:4703,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:4692,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:4700,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:4705,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:4708,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:4711,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:4713,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:4716,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:4727,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:4730,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:4723,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:4720,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-surface.c:4736,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 5
    argNames:
    - surface
    - pattern
    - function
    - begin
    - end
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_gradient_pattern_t*
    - cairo_pdf_resource_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 4737
      start: 4678
    functionDepth: 0
    functionLinenumber: 4678
    functionLinenumberEnd: 4737
    functionName: _cairo_pdf_surface_emit_repeating_function
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_output_stream_get_status
    - _cairo_output_stream_printf
    - _cairo_pdf_surface_new_object
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_emit_repeating_function\
      \ (cairo_pdf_surface_t *surface,\t\t\t\t\t cairo_gradient_pattern_t *pattern,\t\
      \t\t\t\t cairo_pdf_resource_t *function,\t\t\t\t\t int begin,\t\t\t\t\t int\
      \ end) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pdf_surface_paint_surface_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:5459,1
    - Dst: _cairo_pdf_surface_paint_gradient
      Src: /src/cairo/src/cairo-pdf-surface.c:5470,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 4
    argCount: 7
    argNames:
    - surface
    - op
    - source
    - source_type
    - extents
    - alpha
    - mask
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_analysis_source_t
    - cairo_rectangle_int_t*
    - double
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 5481
      start: 5447
    functionDepth: 0
    functionLinenumber: 5447
    functionLinenumberEnd: 5481
    functionName: _cairo_pdf_surface_paint_pattern
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_surface_paint_surface_pattern
    - _cairo_pdf_surface_paint_gradient
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_paint_pattern (cairo_pdf_surface_t\
      \ *surface,\t\t\t\t cairo_operator_t op,\t\t\t\t const cairo_pattern_t *source,\t\
      \t\t\t cairo_analysis_source_t source_type,\t\t\t\t const cairo_rectangle_int_t\
      \ *extents,\t\t\t\t double alpha,\t\t\t\t cairo_bool_t mask) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pdf_surface_object_begin
      Src: /src/cairo/src/cairo-pdf-surface.c:5714,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:5715,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-surface.c:5722,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:5718,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-pdf-surface.c:5724,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:5725,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:5728,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:5729,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:5734,1
    - Dst: _cairo_pdf_surface_object_end
      Src: /src/cairo/src/cairo-pdf-surface.c:5736,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_pdf_surface_t*
    constantsTouched: []
    func_position:
      end: 5739
      start: 5707
    functionDepth: 0
    functionLinenumber: 5707
    functionLinenumberEnd: 5739
    functionName: _cairo_pdf_surface_write_pages
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    - _cairo_pdf_surface_object_begin
    - _cairo_array_num_elements
    - _cairo_pdf_surface_object_end
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t _cairo_pdf_surface_write_pages (cairo_pdf_surface_t
      *surface) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:5962,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:5976,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:5995,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:6009,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:5958,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:5955,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:6015,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:6001,1
    - Dst: _cairo_pdf_surface_emit_unicode_for_glyph
      Src: /src/cairo/src/cairo-pdf-surface.c:6013,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:6018,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:6026,1
    - Dst: _cairo_pdf_surface_close_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:6033,1
    - Dst: _cairo_pdf_surface_open_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:5934,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:5941,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:5938,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:6023,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:5970,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:5981,1
    - Dst: _cairo_pdf_surface_emit_unicode_for_glyph
      Src: /src/cairo/src/cairo-pdf-surface.c:5982,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:5984,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:5987,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:6007,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:6011,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 66
    argCount: 3
    argNames:
    - surface
    - font_subset
    - stream
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_scaled_font_subset_t*
    - cairo_pdf_resource_t*
    constantsTouched: []
    func_position:
      end: 6034
      start: 5924
    functionDepth: 0
    functionLinenumber: 5924
    functionLinenumberEnd: 6034
    functionName: _cairo_pdf_surface_emit_to_unicode_stream
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_surface_open_stream
    - _cairo_pdf_surface_close_stream
    - _cairo_pdf_surface_emit_unicode_for_glyph
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_emit_to_unicode_stream\
      \ (cairo_pdf_surface_t\t\t*surface,\t\t\t\t\t cairo_scaled_font_subset_t\t*font_subset,\t\
      \t\t\t\t cairo_pdf_resource_t *stream) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pdf_surface_object_begin
      Src: /src/cairo/src/cairo-pdf-surface.c:7205,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:7209,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:7219,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:7215,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:7206,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:7225,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:7231,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:7237,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:7242,1
    - Dst: _cairo_pdf_surface_object_end
      Src: /src/cairo/src/cairo-pdf-surface.c:7244,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - surface
    - catalog
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_pdf_resource_t
    constantsTouched: []
    func_position:
      end: 7247
      start: 7199
    functionDepth: 0
    functionLinenumber: 7199
    functionLinenumberEnd: 7247
    functionName: _cairo_pdf_surface_write_catalog
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_surface_object_end
    - unlikely
    - _cairo_output_stream_printf
    - _cairo_pdf_surface_object_begin
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_write_catalog (cairo_pdf_surface_t\
      \ *surface,\t\t\t\t cairo_pdf_resource_t catalog) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-pdf-surface.c:1174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - surface
    - shading
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_pdf_resource_t
    constantsTouched: []
    func_position:
      end: 1175
      start: 1170
    functionDepth: 0
    functionLinenumber: 1170
    functionLinenumberEnd: 1175
    functionName: _cairo_pdf_surface_add_shading
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_array_append
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_add_shading (cairo_pdf_surface_t\
      \ *surface,\t\t\t\tcairo_pdf_resource_t shading) "
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_composite_rectangles_init_for_stroke
      Src: /src/cairo/src/cairo-pdf-surface.c:8695,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8700,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-surface.c:8731,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8752,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:8753,1
    - Dst: _cairo_pdf_smask_group_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:8760,1
    - Dst: _cairo_pdf_surface_add_smask_group
      Src: /src/cairo/src/cairo-pdf-surface.c:8773,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8774,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8788,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:8791,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8712,1
    - Dst: _cairo_path_fixed_stroke_extents
      Src: /src/cairo/src/cairo-pdf-surface.c:8708,1
    - Dst: _cairo_pdf_interchange_add_operation_extents
      Src: /src/cairo/src/cairo-pdf-surface.c:8722,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8723,1
    - Dst: _cairo_pdf_surface_analyze_operation
      Src: /src/cairo/src/cairo-pdf-surface.c:8727,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8743,1
    - Dst: _cairo_pdf_surface_add_pdf_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:8739,1
    - Dst: _cairo_pattern_create_copy
      Src: /src/cairo/src/cairo-pdf-surface.c:8758,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8759,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8780,1
    - Dst: _cairo_pdf_operators_stroke
      Src: /src/cairo/src/cairo-pdf-surface.c:8800,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-surface.c:8814,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:8813,1
    - Dst: _cairo_box_from_rectangle
      Src: /src/cairo/src/cairo-pdf-surface.c:8715,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8734,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8747,1
    - Dst: _cairo_pdf_surface_create_smask_group
      Src: /src/cairo/src/cairo-pdf-surface.c:8751,1
    - Dst: _cairo_pdf_surface_set_clip
      Src: /src/cairo/src/cairo-pdf-surface.c:8733,1
    - Dst: _cairo_pdf_surface_operation_supported
      Src: /src/cairo/src/cairo-pdf-surface.c:8731,1
    - Dst: _cairo_pdf_surface_select_operator
      Src: /src/cairo/src/cairo-pdf-surface.c:8746,1
    - Dst: _cairo_pdf_smask_group_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:8766,1
    - Dst: _cairo_pdf_surface_add_smask
      Src: /src/cairo/src/cairo-pdf-surface.c:8779,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:8817,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8805,1
    - Dst: _cairo_composite_rectangles_intersect_mask_extents
      Src: /src/cairo/src/cairo-pdf-surface.c:8716,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8718,1
    - Dst: _cairo_path_fixed_init_copy
      Src: /src/cairo/src/cairo-pdf-surface.c:8764,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8765,1
    - Dst: _cairo_pdf_smask_group_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:8775,1
    - Dst: _cairo_pdf_surface_add_xobject
      Src: /src/cairo/src/cairo-pdf-surface.c:8783,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8784,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8797,1
    - Dst: _cairo_pdf_surface_unselect_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:8808,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8809,1
    - Dst: _cairo_pdf_operators_flush
      Src: /src/cairo/src/cairo-pdf-surface.c:8787,1
    - Dst: _cairo_pdf_surface_select_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:8796,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 84
    argCount: 10
    argNames:
    - abstract_surface
    - op
    - source
    - path
    - style
    - ctm
    - ctm_inverse
    - tolerance
    - antialias
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 8819
      start: 8677
    functionDepth: 0
    functionLinenumber: 8677
    functionLinenumberEnd: 8819
    functionName: _cairo_pdf_surface_stroke
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_composite_rectangles_intersect_mask_extents
    - _cairo_pdf_surface_add_smask_group
    - _cairo_pdf_surface_add_pdf_pattern
    - _cairo_composite_rectangles_init_for_stroke
    - _cairo_pdf_interchange_add_operation_extents
    - _cairo_composite_rectangles_fini
    - _cairo_box_from_rectangle
    - _cairo_pdf_surface_analyze_operation
    - _cairo_pdf_surface_add_xobject
    - _cairo_path_fixed_stroke_extents
    - _cairo_pdf_surface_select_pattern
    - _cairo_pdf_surface_select_operator
    - assert
    - _cairo_pdf_surface_create_smask_group
    - _cairo_pdf_surface_set_clip
    - _cairo_path_fixed_init_copy
    - _cairo_pdf_operators_flush
    - _cairo_pdf_surface_add_smask
    - _cairo_output_stream_printf
    - _cairo_pdf_smask_group_destroy
    - _cairo_pattern_create_copy
    - _cairo_pdf_operators_stroke
    - _cairo_pdf_surface_unselect_pattern
    - _cairo_pdf_surface_operation_supported
    - _cairo_output_stream_get_status
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_stroke (void\t\t\t*abstract_surface,\t\
      \t\t cairo_operator_t\t op,\t\t\t const cairo_pattern_t *source,\t\t\t const\
      \ cairo_path_fixed_t\t*path,\t\t\t const cairo_stroke_style_t\t*style,\t\t\t\
      \ const cairo_matrix_t\t*ctm,\t\t\t const cairo_matrix_t\t*ctm_inverse,\t\t\t\
      \ double\t\t tolerance,\t\t\t cairo_antialias_t\t antialias,\t\t\t const cairo_clip_t\t\
      *clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-pdf-surface.c:1182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - surface
    - xobject
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_pdf_resource_t
    constantsTouched: []
    func_position:
      end: 1183
      start: 1178
    functionDepth: 0
    functionLinenumber: 1178
    functionLinenumberEnd: 1183
    functionName: _cairo_pdf_surface_add_xobject
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_array_append
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_add_xobject (cairo_pdf_surface_t\
      \ *surface,\t\t\t\tcairo_pdf_resource_t xobject) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-surface.c:4352,1
    - Dst: _cairo_array_copy_element
      Src: /src/cairo/src/cairo-pdf-surface.c:4354,1
    - Dst: _cairo_pdf_surface_new_object
      Src: /src/cairo/src/cairo-pdf-surface.c:4363,1
    - Dst: memcmp
      Src: /src/cairo/src/cairo-pdf-surface.c:4355,1
    - Dst: memcmp
      Src: /src/cairo/src/cairo-pdf-surface.c:4357,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:4365,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:4367,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-pdf-surface.c:4385,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-pdf-surface.c:4386,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-pdf-surface.c:4388,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 4
    argNames:
    - surface
    - stop1
    - stop2
    - function
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_pdf_color_stop_t*
    - cairo_pdf_color_stop_t*
    - cairo_pdf_resource_t*
    constantsTouched: []
    func_position:
      end: 4392
      start: 4341
    functionDepth: 0
    functionLinenumber: 4341
    functionLinenumberEnd: 4392
    functionName: cairo_pdf_surface_emit_rgb_linear_function
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - memcpy
    - _cairo_error
    - _cairo_array_num_elements
    - _cairo_pdf_surface_new_object
    - _cairo_array_copy_element
    - _cairo_array_append
    - _cairo_output_stream_printf
    - memcmp
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t cairo_pdf_surface_emit_rgb_linear_function
      (cairo_pdf_surface_t *surface, cairo_pdf_color_stop_t *stop1, cairo_pdf_color_stop_t
      *stop2, cairo_pdf_resource_t *function) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_fixed_fill_extents
      Src: /src/cairo/src/cairo-pdf-surface.c:8849,1
    - Dst: _cairo_pdf_interchange_add_operation_extents
      Src: /src/cairo/src/cairo-pdf-surface.c:8861,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8862,1
    - Dst: _cairo_pdf_surface_analyze_operation
      Src: /src/cairo/src/cairo-pdf-surface.c:8866,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-surface.c:8874,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8886,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:8889,1
    - Dst: _cairo_pattern_create_copy
      Src: /src/cairo/src/cairo-pdf-surface.c:8928,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8929,1
    - Dst: _cairo_path_fixed_init_copy
      Src: /src/cairo/src/cairo-pdf-surface.c:8934,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8935,1
    - Dst: _cairo_pdf_operators_flush
      Src: /src/cairo/src/cairo-pdf-surface.c:8955,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:8983,1
    - Dst: _cairo_pdf_surface_add_xobject
      Src: /src/cairo/src/cairo-pdf-surface.c:8951,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-surface.c:8980,1
    - Dst: _cairo_pdf_surface_unselect_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:8974,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:8959,1
    - Dst: _cairo_composite_rectangles_init_for_fill
      Src: /src/cairo/src/cairo-pdf-surface.c:8837,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8841,1
    - Dst: _cairo_box_from_rectangle
      Src: /src/cairo/src/cairo-pdf-surface.c:8854,1
    - Dst: _cairo_pdf_operators_flush
      Src: /src/cairo/src/cairo-pdf-surface.c:8885,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8870,1
    - Dst: _cairo_pdf_surface_paint_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:8896,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8922,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:8923,1
    - Dst: _cairo_pdf_surface_add_smask
      Src: /src/cairo/src/cairo-pdf-surface.c:8947,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8952,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8965,1
    - Dst: _cairo_pdf_surface_select_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:8964,1
    - Dst: _cairo_pdf_surface_add_smask_group
      Src: /src/cairo/src/cairo-pdf-surface.c:8941,1
    - Dst: _cairo_pdf_operators_fill
      Src: /src/cairo/src/cairo-pdf-surface.c:8968,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8975,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8956,1
    - Dst: _cairo_composite_rectangles_intersect_mask_extents
      Src: /src/cairo/src/cairo-pdf-surface.c:8855,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8857,1
    - Dst: _cairo_pdf_surface_start_fallback
      Src: /src/cairo/src/cairo-pdf-surface.c:8869,1
    - Dst: _cairo_pdf_surface_set_clip
      Src: /src/cairo/src/cairo-pdf-surface.c:8876,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8877,1
    - Dst: _can_paint_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:8884,1
    - Dst: _cairo_pdf_surface_operation_supported
      Src: /src/cairo/src/cairo-pdf-surface.c:8874,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:8906,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-surface.c:8907,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8942,1
    - Dst: _cairo_pdf_smask_group_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:8943,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8971,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8948,1
    - Dst: _cairo_pdf_surface_select_operator
      Src: /src/cairo/src/cairo-pdf-surface.c:8880,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8881,1
    - Dst: _cairo_pdf_operators_clip
      Src: /src/cairo/src/cairo-pdf-surface.c:8890,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8893,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8903,1
    - Dst: _cairo_pdf_surface_add_pdf_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:8913,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8917,1
    - Dst: _cairo_pdf_surface_create_smask_group
      Src: /src/cairo/src/cairo-pdf-surface.c:8921,1
    - Dst: _cairo_pdf_smask_group_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:8930,1
    - Dst: _cairo_pdf_smask_group_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:8936,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:8979,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 100
    argCount: 8
    argNames:
    - abstract_surface
    - op
    - source
    - path
    - fill_rule
    - tolerance
    - antialias
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 8985
      start: 8821
    functionDepth: 0
    functionLinenumber: 8821
    functionLinenumberEnd: 8985
    functionName: _cairo_pdf_surface_fill
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_pdf_surface_start_fallback
    - _cairo_composite_rectangles_intersect_mask_extents
    - _cairo_pdf_operators_fill
    - _cairo_pdf_surface_add_smask_group
    - _cairo_pdf_surface_add_pdf_pattern
    - _cairo_path_fixed_fill_extents
    - _cairo_pdf_interchange_add_operation_extents
    - _cairo_composite_rectangles_fini
    - _cairo_box_from_rectangle
    - _cairo_pdf_surface_analyze_operation
    - _cairo_pdf_surface_add_xobject
    - _cairo_pdf_surface_select_pattern
    - _cairo_pdf_surface_select_operator
    - assert
    - _cairo_pdf_surface_create_smask_group
    - _can_paint_pattern
    - _cairo_pdf_surface_paint_pattern
    - _cairo_pdf_surface_set_clip
    - _cairo_path_fixed_init_copy
    - _cairo_output_stream_get_status
    - _cairo_pdf_operators_flush
    - _cairo_output_stream_printf
    - _cairo_pdf_surface_add_smask
    - _cairo_pdf_smask_group_destroy
    - _cairo_pattern_create_copy
    - _cairo_pdf_operators_clip
    - _cairo_pdf_surface_unselect_pattern
    - _cairo_pdf_surface_operation_supported
    - _cairo_composite_rectangles_init_for_fill
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_fill (void\t\t\t*abstract_surface,\t\
      \t\t cairo_operator_t\t op,\t\t\t const cairo_pattern_t\t*source,\t\t\t const\
      \ cairo_path_fixed_t*path,\t\t\t cairo_fill_rule_t\t fill_rule,\t\t\t double\t\
      \t\t tolerance,\t\t\t cairo_antialias_t\t antialias,\t\t\t const cairo_clip_t\t\
      *clip) "
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pdf_interchange_add_operation_extents
      Src: /src/cairo/src/cairo-pdf-surface.c:8523,1
    - Dst: _cairo_pdf_surface_analyze_operation
      Src: /src/cairo/src/cairo-pdf-surface.c:8530,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8524,1
    - Dst: _cairo_int_status_is_error
      Src: /src/cairo/src/cairo-pdf-surface.c:8531,1
    - Dst: _cairo_analysis_surface_merge_status
      Src: /src/cairo/src/cairo-pdf-surface.c:8545,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-surface.c:8554,1
    - Dst: _cairo_pattern_is_constant_alpha
      Src: /src/cairo/src/cairo-pdf-surface.c:8599,1
    - Dst: _can_paint_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:8600,1
    - Dst: _cairo_pdf_operators_flush
      Src: /src/cairo/src/cairo-pdf-surface.c:8602,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-surface.c:8619,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8630,1
    - Dst: _cairo_pdf_smask_group_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:8631,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8657,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8661,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:8664,1
    - Dst: _cairo_pdf_surface_add_xobject
      Src: /src/cairo/src/cairo-pdf-surface.c:8656,1
    - Dst: _cairo_pattern_create_copy
      Src: /src/cairo/src/cairo-pdf-surface.c:8634,1
    - Dst: _cairo_pdf_surface_emit_combined_smask
      Src: /src/cairo/src/cairo-pdf-surface.c:8587,1
    - Dst: _cairo_int_status_is_error
      Src: /src/cairo/src/cairo-pdf-surface.c:8539,1
    - Dst: _cairo_pdf_surface_operation_supported
      Src: /src/cairo/src/cairo-pdf-surface.c:8553,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8558,1
    - Dst: _cairo_pattern_get_ink_extents
      Src: /src/cairo/src/cairo-pdf-surface.c:8568,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8569,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8583,1
    - Dst: _cairo_pdf_surface_emit_stencil_mask
      Src: /src/cairo/src/cairo-pdf-surface.c:8592,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:8617,1
    - Dst: _cairo_pdf_surface_create_smask_group
      Src: /src/cairo/src/cairo-pdf-surface.c:8622,1
    - Dst: _cairo_pdf_surface_add_smask_group
      Src: /src/cairo/src/cairo-pdf-surface.c:8646,1
    - Dst: _cairo_pdf_surface_new_object
      Src: /src/cairo/src/cairo-pdf-surface.c:8639,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8653,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:8618,1
    - Dst: _cairo_pdf_surface_add_smask
      Src: /src/cairo/src/cairo-pdf-surface.c:8652,1
    - Dst: _cairo_pdf_surface_analyze_operation
      Src: /src/cairo/src/cairo-pdf-surface.c:8538,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8549,1
    - Dst: _cairo_box_from_rectangle
      Src: /src/cairo/src/cairo-pdf-surface.c:8562,1
    - Dst: _cairo_pattern_get_ink_extents
      Src: /src/cairo/src/cairo-pdf-surface.c:8557,1
    - Dst: _cairo_pdf_surface_operation_supported
      Src: /src/cairo/src/cairo-pdf-surface.c:8554,1
    - Dst: _cairo_composite_rectangles_intersect_source_extents
      Src: /src/cairo/src/cairo-pdf-surface.c:8563,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8565,1
    - Dst: _cairo_box_from_rectangle
      Src: /src/cairo/src/cairo-pdf-surface.c:8572,1
    - Dst: _cairo_pdf_surface_set_clip
      Src: /src/cairo/src/cairo-pdf-surface.c:8578,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8579,1
    - Dst: _cairo_pdf_surface_paint_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:8607,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:8624,1
    - Dst: _cairo_pdf_smask_group_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:8641,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8647,1
    - Dst: _cairo_pdf_smask_group_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:8648,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:8642,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8623,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:8669,1
    - Dst: _cairo_composite_rectangles_init_for_mask
      Src: /src/cairo/src/cairo-pdf-surface.c:8517,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8520,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:8544,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-surface.c:8553,1
    - Dst: _cairo_pdf_surface_start_fallback
      Src: /src/cairo/src/cairo-pdf-surface.c:8548,1
    - Dst: _cairo_composite_rectangles_intersect_mask_extents
      Src: /src/cairo/src/cairo-pdf-surface.c:8573,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8575,1
    - Dst: _cairo_pdf_surface_select_operator
      Src: /src/cairo/src/cairo-pdf-surface.c:8582,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8603,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:8606,1
    - Dst: _cairo_pdf_operators_flush
      Src: /src/cairo/src/cairo-pdf-surface.c:8660,1
    - Dst: _cairo_pattern_create_copy
      Src: /src/cairo/src/cairo-pdf-surface.c:8629,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:8673,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-surface.c:8670,1
    - Dst: _cairo_pdf_smask_group_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:8636,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8635,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8614,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 114
    argCount: 5
    argNames:
    - abstract_surface
    - op
    - source
    - mask
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 8675
      start: 8502
    functionDepth: 0
    functionLinenumber: 8502
    functionLinenumberEnd: 8675
    functionName: _cairo_pdf_surface_mask
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_composite_rectangles_init_for_mask
    - _cairo_pdf_surface_start_fallback
    - _cairo_pdf_surface_emit_combined_smask
    - _cairo_composite_rectangles_intersect_mask_extents
    - _cairo_pdf_surface_add_smask_group
    - _cairo_pdf_interchange_add_operation_extents
    - _cairo_composite_rectangles_fini
    - _cairo_pdf_surface_emit_stencil_mask
    - _cairo_box_from_rectangle
    - _cairo_analysis_surface_merge_status
    - _cairo_pdf_surface_analyze_operation
    - _cairo_pdf_surface_add_xobject
    - _cairo_int_status_is_error
    - _cairo_pdf_surface_select_operator
    - assert
    - _cairo_pdf_surface_create_smask_group
    - _can_paint_pattern
    - _cairo_pdf_surface_paint_pattern
    - _cairo_pdf_surface_set_clip
    - _cairo_pattern_is_constant_alpha
    - _cairo_pdf_operators_flush
    - _cairo_composite_rectangles_intersect_source_extents
    - _cairo_output_stream_printf
    - _cairo_pdf_surface_add_smask
    - _cairo_pdf_smask_group_destroy
    - _cairo_pattern_create_copy
    - _cairo_pdf_surface_new_object
    - _cairo_pdf_surface_operation_supported
    - _cairo_output_stream_get_status
    - _cairo_pattern_get_ink_extents
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_mask (void\t\t\t*abstract_surface,\t\
      \t\t cairo_operator_t\t op,\t\t\t const cairo_pattern_t\t*source,\t\t\t const\
      \ cairo_pattern_t\t*mask,\t\t\t const cairo_clip_t\t*clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_fixed_is_box
      Src: /src/cairo/src/cairo-pdf-surface.c:402,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-pdf-surface.c:405,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/cairo-pdf-surface.c:406,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - surface
    - path
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_path_fixed_t*
    constantsTouched: []
    func_position:
      end: 407
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 407
    functionName: _path_covers_bbox
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_is_box
    - _cairo_fixed_from_double
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _path_covers_bbox (cairo_pdf_surface_t *surface,\t\
      \t cairo_path_fixed_t *path) "
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-pdf-surface.c:6317,1
    - Dst: _cairo_pdf_surface_get_font_resource
      Src: /src/cairo/src/cairo-pdf-surface.c:6297,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:6393,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:6415,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-pdf-surface.c:6422,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:6402,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:6340,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:6407,1
    - Dst: _create_font_subset_tag
      Src: /src/cairo/src/cairo-pdf-surface.c:6295,1
    - Dst: _cairo_pdf_surface_open_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:6304,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:6313,1
    - Dst: _cairo_pdf_surface_emit_to_unicode_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:6322,1
    - Dst: _cairo_int_status_is_error
      Src: /src/cairo/src/cairo-pdf-surface.c:6325,1
    - Dst: _cairo_pdf_surface_new_object
      Src: /src/cairo/src/cairo-pdf-surface.c:6338,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:6370,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:6386,1
    - Dst: _cairo_pdf_surface_update_object
      Src: /src/cairo/src/cairo-pdf-surface.c:6369,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:6388,1
    - Dst: _cairo_pdf_surface_close_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:6318,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:6319,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:6342,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:6397,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:6411,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 66
    argCount: 3
    argNames:
    - surface
    - font_subset
    - subset
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_scaled_font_subset_t*
    - cairo_type1_subset_t*
    constantsTouched: []
    func_position:
      end: 6423
      start: 6283
    functionDepth: 0
    functionLinenumber: 6283
    functionLinenumberEnd: 6423
    functionName: _cairo_pdf_surface_emit_type1_font
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_array_append
    - _cairo_pdf_surface_update_object
    - _cairo_error
    - _cairo_int_status_is_error
    - _cairo_pdf_surface_open_stream
    - _create_font_subset_tag
    - _cairo_pdf_surface_get_font_resource
    - _cairo_pdf_surface_new_object
    - _cairo_output_stream_write
    - _cairo_pdf_surface_emit_to_unicode_stream
    - _cairo_pdf_surface_close_stream
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_emit_type1_font (cairo_pdf_surface_t\t\
      \t*surface, cairo_scaled_font_subset_t\t*font_subset, cairo_type1_subset_t *subset) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cairo_container_of
      Src: /src/cairo/src/cairo-pdf-surface.c:416,1
    - Dst: _cairo_pdf_operators_flush
      Src: /src/cairo/src/cairo-pdf-surface.c:421,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:426,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:422,1
    - Dst: _cairo_pdf_operators_reset
      Src: /src/cairo/src/cairo-pdf-surface.c:430,1
    - Dst: _path_covers_bbox
      Src: /src/cairo/src/cairo-pdf-surface.c:435,1
    - Dst: _cairo_pdf_operators_clip
      Src: /src/cairo/src/cairo-pdf-surface.c:438,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 5
    argNames:
    - clipper
    - path
    - fill_rule
    - tolerance
    - antialias
    argTypes:
    - cairo_surface_clipper_t*
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    constantsTouched: []
    func_position:
      end: 439
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 439
    functionName: _cairo_pdf_surface_clipper_intersect_clip_path
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_operators_reset
    - _cairo_pdf_operators_clip
    - cairo_container_of
    - _path_covers_bbox
    - _cairo_pdf_operators_flush
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_pdf_surface_clipper_intersect_clip_path\
      \ (cairo_surface_clipper_t *clipper,\t\t\t\t\t\tcairo_path_fixed_t\t*path,\t\
      \t\t\t\t\tcairo_fill_rule_t\tfill_rule,\t\t\t\t\t\tdouble\t\t\ttolerance,\t\t\
      \t\t\t\tcairo_antialias_t\tantialias) "
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: HASH_MIX
      Src: /src/cairo/src/cairo-pdf-surface.c:5881,1
    - Dst: HASH_MIX
      Src: /src/cairo/src/cairo-pdf-surface.c:5900,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 3
    argNames:
    - data
    - length
    - initval
    argTypes:
    - unsigned char*
    - int
    - uint32_t
    constantsTouched: []
    func_position:
      end: 5903
      start: 5868
    functionDepth: 0
    functionLinenumber: 5868
    functionLinenumberEnd: 5903
    functionName: _hash_data
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - HASH_MIX
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t _hash_data (const unsigned char *data, int length,
      uint32_t initval) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/cairo/src/cairo-pdf-surface.c:6437,1
    - Dst: _cairo_pdf_surface_emit_type1_font
      Src: /src/cairo/src/cairo-pdf-surface.c:6443,1
    - Dst: _cairo_type1_subset_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:6445,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:6440,1
    - Dst: _cairo_type1_subset_init
      Src: /src/cairo/src/cairo-pdf-surface.c:6439,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - surface
    - font_subset
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_scaled_font_subset_t*
    constantsTouched: []
    func_position:
      end: 6447
      start: 6425
    functionDepth: 0
    functionLinenumber: 6425
    functionLinenumberEnd: 6447
    functionName: _cairo_pdf_surface_emit_type1_font_subset
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_type1_subset_init
    - _cairo_type1_subset_fini
    - snprintf
    - _cairo_pdf_surface_emit_type1_font
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_emit_type1_font_subset\
      \ (cairo_pdf_surface_t\t\t*surface,\t\t\t\t\t cairo_scaled_font_subset_t\t*font_subset) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2948
      start: 2944
    functionDepth: 0
    functionLinenumber: 2944
    functionLinenumberEnd: 2948
    functionName: _cairo_pdf_surface_supports_fine_grained_fallbacks
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_pdf_surface_supports_fine_grained_fallbacks
      (void *abstract_surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - extents
    - bbox
    argTypes:
    - cairo_rectangle_int_t*
    - cairo_box_double_t*
    constantsTouched: []
    func_position:
      end: 1982
      start: 1974
    functionDepth: 0
    functionLinenumber: 1974
    functionLinenumberEnd: 1982
    functionName: _get_bbox_from_extents
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void _get_bbox_from_extents (const cairo_rectangle_int_t *extents,\t\
      \t\tcairo_box_double_t *bbox) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-pdf-surface.c:379,1
    - Dst: _cairo_output_stream_get_position
      Src: /src/cairo/src/cairo-pdf-surface.c:380,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - surface
    - resource
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_pdf_resource_t
    constantsTouched: []
    func_position:
      end: 381
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 381
    functionName: _cairo_pdf_surface_update_object
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_get_position
    - _cairo_array_index
    linkageType: ''
    returnType: void
    signature: "void _cairo_pdf_surface_update_object (cairo_pdf_surface_t\t*surface,\t\
      \t\t\t cairo_pdf_resource_t\t resource) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_release_source_image
      Src: /src/cairo/src/cairo-pdf-surface.c:1547,1
    - Dst: _cairo_raster_source_pattern_release
      Src: /src/cairo/src/cairo-pdf-surface.c:1551,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 5
    argCount: 4
    argNames:
    - surface
    - pattern
    - image
    - image_extra
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_pattern_t*
    - cairo_image_surface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1563
      start: 1538
    functionDepth: 0
    functionLinenumber: 1538
    functionLinenumberEnd: 1563
    functionName: _cairo_pdf_surface_release_source_image_from_pattern
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_release_source_image
    - _cairo_raster_source_pattern_release
    linkageType: ''
    returnType: void
    signature: "static void _cairo_pdf_surface_release_source_image_from_pattern (cairo_pdf_surface_t\
      \ *surface,\t\t\t\t\t\t const cairo_pattern_t *pattern,\t\t\t\t\t\t cairo_image_surface_t\
      \ *image,\t\t\t\t\t\t void *image_extra) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-pdf-surface.c:5658,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:5665,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:5659,1
    - Dst: _cairo_pdf_surface_close_content_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:5668,1
    - Dst: _cairo_pdf_interchange_end_page_content
      Src: /src/cairo/src/cairo-pdf-surface.c:5664,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:5669,1
    - Dst: _cairo_surface_clipper_reset
      Src: /src/cairo/src/cairo-pdf-surface.c:5672,1
    - Dst: _cairo_pdf_surface_write_page
      Src: /src/cairo/src/cairo-pdf-surface.c:5674,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:5675,1
    - Dst: _cairo_pdf_surface_clear
      Src: /src/cairo/src/cairo-pdf-surface.c:5678,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 5681
      start: 5652
    functionDepth: 0
    functionLinenumber: 5652
    functionLinenumberEnd: 5681
    functionName: _cairo_pdf_surface_show_page
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_surface_clear
    - _cairo_pdf_surface_close_content_stream
    - _cairo_pdf_interchange_end_page_content
    - _cairo_array_append
    - _cairo_surface_clipper_reset
    - _cairo_pdf_surface_write_page
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t _cairo_pdf_surface_show_page (void *abstract_surface) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-pdf-surface.c:5767,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-pdf-surface.c:5790,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:5787,1
    - Dst: _cairo_utf8_to_utf16
      Src: /src/cairo/src/cairo-pdf-surface.c:5786,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:5769,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-surface.c:5792,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:5793,1
    - Dst: strcpy
      Src: /src/cairo/src/cairo-pdf-surface.c:5796,1
    - Dst: snprintf
      Src: /src/cairo/src/cairo-pdf-surface.c:5798,1
    - Dst: strcat
      Src: /src/cairo/src/cairo-pdf-surface.c:5800,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-surface.c:5801,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 57
    argCount: 2
    argNames:
    - utf8
    - str_out
    argTypes:
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 5806
      start: 5741
    functionDepth: 0
    functionLinenumber: 5741
    functionLinenumberEnd: 5806
    functionName: _cairo_utf8_to_pdf_string
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_malloc
    - strcat
    - _cairo_error
    - free
    - _cairo_utf8_to_utf16
    - strcpy
    - snprintf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'cairo_int_status_t _cairo_utf8_to_pdf_string (const char *utf8, char
      **str_out) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pdf_surface_acquire_source_image_from_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:8313,1
    - Dst: _cairo_pdf_surface_select_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:8329,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8315,1
    - Dst: _cairo_image_analyze_transparency
      Src: /src/cairo/src/cairo-pdf-surface.c:8321,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8331,1
    - Dst: _cairo_pdf_operators_flush
      Src: /src/cairo/src/cairo-pdf-surface.c:8334,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8335,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:8338,1
    - Dst: _cairo_pdf_surface_paint_surface_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:8339,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8342,1
    - Dst: _cairo_pdf_surface_release_source_image_from_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:8350,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-surface.c:8347,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:8345,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 35
    argCount: 5
    argNames:
    - surface
    - op
    - source
    - mask
    - extents
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_pattern_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 8353
      start: 8290
    functionDepth: 0
    functionLinenumber: 8290
    functionLinenumberEnd: 8353
    functionName: _cairo_pdf_surface_emit_stencil_mask
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_surface_paint_surface_pattern
    - _cairo_image_analyze_transparency
    - _cairo_pdf_surface_select_pattern
    - _cairo_pdf_surface_acquire_source_image_from_pattern
    - _cairo_output_stream_get_status
    - _cairo_pdf_surface_release_source_image_from_pattern
    - _cairo_pdf_operators_flush
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_emit_stencil_mask (cairo_pdf_surface_t\
      \ *surface,\t\t\t\t cairo_operator_t\t op,\t\t\t\t const cairo_pattern_t *source,\t\
      \t\t\t const cairo_pattern_t *mask,\t\t\t\t const cairo_rectangle_int_t *extents) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - abstract_surface
    - width
    - height
    argTypes:
    - void*
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 2964
      start: 2950
    functionDepth: 0
    functionLinenumber: 2950
    functionLinenumberEnd: 2964
    functionName: _cairo_pdf_surface_requires_thumbnail_image
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _cairo_pdf_surface_requires_thumbnail_image (void\
      \ *abstract_surface,\t\t\t\t\t int *width,\t\t\t\t\t int *height) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ceil
      Src: /src/cairo/src/cairo-pdf-surface.c:392,1
    - Dst: ceil
      Src: /src/cairo/src/cairo-pdf-surface.c:393,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - surface
    - width
    - height
    argTypes:
    - cairo_pdf_surface_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 394
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 394
    functionName: _cairo_pdf_surface_set_size_internal
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - ceil
    linkageType: ''
    returnType: void
    signature: "static void _cairo_pdf_surface_set_size_internal (cairo_pdf_surface_t\
      \ *surface,\t\t\t\t double\t\t width,\t\t\t\t double\t\t height) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_is_snapshot
      Src: /src/cairo/src/cairo-pdf-surface.c:1578,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:1593,1
    - Dst: _cairo_surface_snapshot_get_target
      Src: /src/cairo/src/cairo-pdf-surface.c:1579,1
    - Dst: _cairo_surface_get_extents
      Src: /src/cairo/src/cairo-pdf-surface.c:1589,1
    - Dst: _cairo_recording_surface_get_ink_bbox
      Src: /src/cairo/src/cairo-pdf-surface.c:1591,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:1594,1
    - Dst: _cairo_box_round_to_rectangle
      Src: /src/cairo/src/cairo-pdf-surface.c:1597,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:1600,1
    - Dst: _cairo_surface_get_extents
      Src: /src/cairo/src/cairo-pdf-surface.c:1602,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 4
    argNames:
    - source
    - extents
    - bounded
    - subsurface
    argTypes:
    - cairo_surface_t*
    - cairo_rectangle_int_t*
    - cairo_bool_t*
    - cairo_bool_t*
    constantsTouched: []
    func_position:
      end: 1606
      start: 1565
    functionDepth: 0
    functionLinenumber: 1565
    functionLinenumberEnd: 1606
    functionName: _get_source_surface_extents
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_is_snapshot
    - _cairo_box_round_to_rectangle
    - _cairo_recording_surface_get_ink_bbox
    - _cairo_surface_get_extents
    - cairo_surface_destroy
    - _cairo_surface_snapshot_get_target
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _get_source_surface_extents (cairo_surface_t\
      \ *source,\t\t\t cairo_rectangle_int_t *extents,\t\t\t cairo_bool_t *bounded,\t\
      \t\t cairo_bool_t *subsurface) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pdf_surface_add_pdf_pattern_or_shading
      Src: /src/cairo/src/cairo-pdf-surface.c:1992,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 6
    argNames:
    - surface
    - pattern
    - op
    - extents
    - shading_res
    - gstate_res
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_pattern_t*
    - cairo_operator_t
    - cairo_rectangle_int_t*
    - cairo_pdf_resource_t*
    - cairo_pdf_resource_t*
    constantsTouched: []
    func_position:
      end: 2000
      start: 1984
    functionDepth: 0
    functionLinenumber: 1984
    functionLinenumberEnd: 2000
    functionName: _cairo_pdf_surface_add_pdf_shading
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_surface_add_pdf_pattern_or_shading
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_add_pdf_shading (cairo_pdf_surface_t\t\
      \t*surface,\t\t\t\t const cairo_pattern_t\t*pattern,\t\t\t\t cairo_operator_t\t\
      \ op,\t\t\t\t const cairo_rectangle_int_t\t*extents,\t\t\t\t cairo_pdf_resource_t\t\
      *shading_res,\t\t\t\t cairo_pdf_resource_t\t*gstate_res) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - abstract_surface
    - rectangle
    argTypes:
    - void*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 5693
      start: 5683
    functionDepth: 0
    functionLinenumber: 5683
    functionLinenumberEnd: 5693
    functionName: _cairo_pdf_surface_get_extents
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _cairo_pdf_surface_get_extents (void\t\t *abstract_surface,\t\
      \t\t\tcairo_rectangle_int_t *rectangle) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_utf8_to_utf16
      Src: /src/cairo/src/cairo-pdf-surface.c:5818,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:5835,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:5827,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:5822,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:5819,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:5839,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:5842,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-surface.c:5844,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 2
    argNames:
    - surface
    - utf8
    argTypes:
    - cairo_pdf_surface_t*
    - char*
    constantsTouched: []
    func_position:
      end: 5847
      start: 5808
    functionDepth: 0
    functionLinenumber: 5808
    functionLinenumberEnd: 5847
    functionName: _cairo_pdf_surface_emit_unicode_for_glyph
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - free
    - _cairo_utf8_to_utf16
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_emit_unicode_for_glyph\
      \ (cairo_pdf_surface_t\t*surface,\t\t\t\t\t const char \t\t*utf8) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_composite_rectangles_can_reduce_clip
      Src: /src/cairo/src/cairo-pdf-surface.c:8361,1
    - Dst: _cairo_composite_rectangles_can_reduce_clip
      Src: /src/cairo/src/cairo-pdf-surface.c:8365,1
    - Dst: _cairo_surface_clipper_set_clip
      Src: /src/cairo/src/cairo-pdf-surface.c:8370,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - surface
    - composite
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 8371
      start: 8355
    functionDepth: 0
    functionLinenumber: 8355
    functionLinenumberEnd: 8371
    functionName: _cairo_pdf_surface_set_clip
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_clipper_set_clip
    - _cairo_composite_rectangles_can_reduce_clip
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_set_clip (cairo_pdf_surface_t\
      \ *surface,\t\t\t cairo_composite_rectangles_t *composite) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _extract_pdf_surface
      Src: /src/cairo/src/cairo-pdf-surface.c:984,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-surface.c:987,1
    - Dst: strdup
      Src: /src/cairo/src/cairo-pdf-surface.c:988,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - surface
    - utf8
    argTypes:
    - cairo_surface_t*
    - char*
    constantsTouched: []
    func_position:
      end: 989
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 989
    functionName: cairo_pdf_surface_set_page_label
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - free
    - _extract_pdf_surface
    - strdup
    linkageType: ''
    returnType: void
    signature: 'void cairo_pdf_surface_set_page_label (cairo_surface_t *surface, const
      char *utf8) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: _pattern_supported
      Src: /src/cairo/src/cairo-pdf-surface.c:8001,1
    - Dst: _cairo_matrix_transform_bounding_box_fixed
      Src: /src/cairo/src/cairo-pdf-surface.c:8016,1
    - Dst: _pdf_operator_supported
      Src: /src/cairo/src/cairo-pdf-surface.c:8004,1
    - Dst: _cairo_box_from_rectangle
      Src: /src/cairo/src/cairo-pdf-surface.c:8015,1
    - Dst: _cairo_box_round_to_rectangle
      Src: /src/cairo/src/cairo-pdf-surface.c:8017,1
    - Dst: _cairo_surface_get_extents
      Src: /src/cairo/src/cairo-pdf-surface.c:8020,1
    - Dst: _cairo_fixed_integer_ceil
      Src: /src/cairo/src/cairo-pdf-surface.c:8021,1
    - Dst: _cairo_fixed_integer_ceil
      Src: /src/cairo/src/cairo-pdf-surface.c:8022,1
    - Dst: _cairo_fixed_integer_floor
      Src: /src/cairo/src/cairo-pdf-surface.c:8023,1
    - Dst: _cairo_fixed_integer_floor
      Src: /src/cairo/src/cairo-pdf-surface.c:8024,1
    - Dst: _cairo_pdf_surface_analyze_surface_pattern_transparency
      Src: /src/cairo/src/cairo-pdf-surface.c:8062,1
    - Dst: _cairo_pattern_is_opaque
      Src: /src/cairo/src/cairo-pdf-surface.c:8048,1
    - Dst: _cairo_pattern_is_opaque
      Src: /src/cairo/src/cairo-pdf-surface.c:8067,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 45
    argCount: 4
    argNames:
    - surface
    - op
    - pattern
    - extents
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 8074
      start: 7989
    functionDepth: 0
    functionLinenumber: 7989
    functionLinenumberEnd: 8074
    functionName: _cairo_pdf_surface_analyze_operation
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_box_round_to_rectangle
    - _cairo_pattern_is_opaque
    - _cairo_pdf_surface_analyze_surface_pattern_transparency
    - _cairo_matrix_transform_bounding_box_fixed
    - _pdf_operator_supported
    - _cairo_surface_get_extents
    - _cairo_fixed_integer_ceil
    - _pattern_supported
    - _cairo_box_from_rectangle
    - _cairo_fixed_integer_floor
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_analyze_operation (cairo_pdf_surface_t\
      \ *surface,\t\t\t\t cairo_operator_t op,\t\t\t\t const cairo_pattern_t *pattern,\t\
      \t\t\t const cairo_rectangle_int_t\t *extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pdf_surface_analyze_operation
      Src: /src/cairo/src/cairo-pdf-surface.c:8082,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - surface
    - op
    - pattern
    - extents
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 8083
      start: 8076
    functionDepth: 0
    functionLinenumber: 8076
    functionLinenumberEnd: 8083
    functionName: _cairo_pdf_surface_operation_supported
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_surface_analyze_operation
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _cairo_pdf_surface_operation_supported (cairo_pdf_surface_t\
      \ *surface,\t\t\t\t\tcairo_operator_t op,\t\t\t\t\tconst cairo_pattern_t *pattern,\t\
      \t\t\t\tconst cairo_rectangle_int_t *extents) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _extract_pdf_surface
      Src: /src/cairo/src/cairo-pdf-surface.c:754,1
    - Dst: _cairo_pdf_operators_enable_actual_text
      Src: /src/cairo/src/cairo-pdf-surface.c:760,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - abstract_surface
    - version
    argTypes:
    - cairo_surface_t*
    - cairo_pdf_version_t
    constantsTouched: []
    func_position:
      end: 762
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 762
    functionName: cairo_pdf_surface_restrict_to_version
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _extract_pdf_surface
    - _cairo_pdf_operators_enable_actual_text
    linkageType: ''
    returnType: void
    signature: "void cairo_pdf_surface_restrict_to_version (cairo_surface_t \t\t*abstract_surface,\t\
      \t\t\t cairo_pdf_version_t \t version) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _extract_pdf_surface
      Src: /src/cairo/src/cairo-pdf-surface.c:882,1
    - Dst: _cairo_pdf_interchange_add_outline
      Src: /src/cairo/src/cairo-pdf-surface.c:885,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-pdf-surface.c:892,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 5
    argNames:
    - surface
    - parent_id
    - utf8
    - link_attribs
    - flags
    argTypes:
    - cairo_surface_t*
    - int
    - char*
    - char*
    - cairo_pdf_outline_flags_t
    constantsTouched: []
    func_position:
      end: 895
      start: 871
    functionDepth: 0
    functionLinenumber: 871
    functionLinenumberEnd: 895
    functionName: cairo_pdf_surface_add_outline
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_interchange_add_outline
    - _extract_pdf_surface
    - _cairo_surface_set_error
    linkageType: ''
    returnType: int
    signature: "int cairo_pdf_surface_add_outline (cairo_surface_t\t *surface,\t\t\
      \t int parent_id,\t\t\t const char *utf8,\t\t\t const char *link_attribs,\t\t\
      \t cairo_pdf_outline_flags_t flags) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-pdf-surface.c:700,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-pdf-surface.c:706,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:707,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:701,1
    - Dst: _cairo_surface_is_paginated
      Src: /src/cairo/src/cairo-pdf-surface.c:705,1
    - Dst: _cairo_paginated_surface_get_target
      Src: /src/cairo/src/cairo-pdf-surface.c:711,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-pdf-surface.c:713,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-pdf-surface.c:718,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:719,1
    - Dst: _cairo_surface_is_pdf
      Src: /src/cairo/src/cairo-pdf-surface.c:723,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:725,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-pdf-surface.c:724,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 2
    argNames:
    - surface
    - pdf_surface
    argTypes:
    - cairo_surface_t*
    - cairo_pdf_surface_t**
    constantsTouched: []
    func_position:
      end: 731
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 731
    functionName: _extract_pdf_surface
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_is_pdf
    - _cairo_error
    - _cairo_paginated_surface_get_target
    - _cairo_surface_is_paginated
    - _cairo_surface_set_error
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _extract_pdf_surface (cairo_surface_t\t\t *surface,\t\
      \t cairo_pdf_surface_t\t**pdf_surface) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _extract_pdf_surface
      Src: /src/cairo/src/cairo-pdf-surface.c:831,1
    - Dst: _cairo_pdf_surface_set_size_internal
      Src: /src/cairo/src/cairo-pdf-surface.c:834,1
    - Dst: _cairo_paginated_surface_set_size
      Src: /src/cairo/src/cairo-pdf-surface.c:837,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-pdf-surface.c:841,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - surface
    - width_in_points
    - height_in_points
    argTypes:
    - cairo_surface_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 842
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 842
    functionName: cairo_pdf_surface_set_size
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_surface_set_size_internal
    - _extract_pdf_surface
    - _cairo_surface_set_error
    - _cairo_paginated_surface_set_size
    linkageType: ''
    returnType: void
    signature: "void cairo_pdf_surface_set_size (cairo_surface_t\t*surface,\t\t\t\
      \ double\t\t width_in_points,\t\t\t double\t\t height_in_points) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pdf_surface_add_pdf_pattern_or_shading
      Src: /src/cairo/src/cairo-pdf-surface.c:2011,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 7
    argNames:
    - surface
    - pattern
    - op
    - source_type
    - extents
    - pattern_res
    - gstate_res
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_pattern_t*
    - cairo_operator_t
    - cairo_analysis_source_t
    - cairo_rectangle_int_t*
    - cairo_pdf_resource_t*
    - cairo_pdf_resource_t*
    constantsTouched: []
    func_position:
      end: 2019
      start: 2002
    functionDepth: 0
    functionLinenumber: 2002
    functionLinenumberEnd: 2019
    functionName: _cairo_pdf_surface_add_pdf_pattern
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_surface_add_pdf_pattern_or_shading
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_add_pdf_pattern (cairo_pdf_surface_t\t\
      \t*surface,\t\t\t\t const cairo_pattern_t\t*pattern,\t\t\t\t cairo_operator_t\t\
      \ op,\t\t\t\t cairo_analysis_source_t source_type,\t\t\t\t const cairo_rectangle_int_t\t\
      *extents,\t\t\t\t cairo_pdf_resource_t\t*pattern_res,\t\t\t\t cairo_pdf_resource_t\t\
      *gstate_res) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:2890,1
    - Dst: _cairo_pdf_group_resources_clear
      Src: /src/cairo/src/cairo-pdf-surface.c:2897,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:2892,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:2902,1
    - Dst: _cairo_pdf_surface_new_object
      Src: /src/cairo/src/cairo-pdf-surface.c:2900,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-pdf-surface.c:2910,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-pdf-surface.c:2912,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:2913,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2917
      start: 2863
    functionDepth: 0
    functionLinenumber: 2863
    functionLinenumberEnd: 2917
    functionName: _cairo_pdf_surface_start_page
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_group_resources_clear
    - _cairo_array_init
    - _cairo_error
    - _cairo_pdf_surface_new_object
    - _cairo_array_append
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t _cairo_pdf_surface_start_page (void *abstract_surface) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8161,1
    - Dst: _cairo_image_analyze_transparency
      Src: /src/cairo/src/cairo-pdf-surface.c:8199,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/cairo-pdf-surface.c:8215,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/cairo-pdf-surface.c:8228,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-pdf-surface.c:8238,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8263,1
    - Dst: _cairo_pdf_operators_flush
      Src: /src/cairo/src/cairo-pdf-surface.c:8267,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8268,1
    - Dst: _cairo_pdf_surface_acquire_source_image_from_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:8159,1
    - Dst: _cairo_pdf_surface_acquire_source_image_from_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:8182,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8184,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-pdf-surface.c:8208,1
    - Dst: _cairo_matrix_transformed_circle_major_axis
      Src: /src/cairo/src/cairo-pdf-surface.c:8217,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-pdf-surface.c:8220,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-pdf-surface.c:8239,1
    - Dst: _cairo_pdf_surface_add_source_surface
      Src: /src/cairo/src/cairo-pdf-surface.c:8248,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:8271,1
    - Dst: cairo_surface_get_device_offset
      Src: /src/cairo/src/cairo-pdf-surface.c:8193,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/cairo-pdf-surface.c:8216,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/cairo-pdf-surface.c:8227,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-pdf-surface.c:8243,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-pdf-surface.c:8244,1
    - Dst: _cairo_pdf_surface_paint_surface_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:8272,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8278,1
    - Dst: cairo_surface_get_device_offset
      Src: /src/cairo/src/cairo-pdf-surface.c:8170,1
    - Dst: _cairo_image_analyze_transparency
      Src: /src/cairo/src/cairo-pdf-surface.c:8176,1
    - Dst: _cairo_pdf_surface_release_source_image_from_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:8177,1
    - Dst: _cairo_pdf_surface_release_source_image_from_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:8202,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-surface.c:8210,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-surface.c:8222,1
    - Dst: _cairo_matrix_transformed_circle_major_axis
      Src: /src/cairo/src/cairo-pdf-surface.c:8229,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-pdf-surface.c:8236,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-pdf-surface.c:8237,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:8281,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-surface.c:8283,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 116
    argCount: 5
    argNames:
    - surface
    - op
    - source
    - mask
    - extents
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_pattern_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 8287
      start: 8114
    functionDepth: 0
    functionLinenumber: 8114
    functionLinenumberEnd: 8287
    functionName: _cairo_pdf_surface_emit_combined_smask
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_surface_paint_surface_pattern
    - fabs
    - _cairo_output_stream_printf
    - _cairo_image_analyze_transparency
    - cairo_surface_get_device_offset
    - assert
    - _cairo_pdf_surface_acquire_source_image_from_pattern
    - cairo_matrix_transform_point
    - _cairo_matrix_transformed_circle_major_axis
    - _cairo_output_stream_get_status
    - _cairo_pdf_surface_release_source_image_from_pattern
    - cairo_matrix_invert
    - _cairo_pdf_surface_add_source_surface
    - _cairo_pdf_operators_flush
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_emit_combined_smask (cairo_pdf_surface_t\
      \ *surface,\t\t\t\t\tcairo_operator_t\t op,\t\t\t\t\tconst cairo_pattern_t *source,\t\
      \t\t\t\tconst cairo_pattern_t *mask,\t\t\t\t\tconst cairo_rectangle_int_t *extents) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_vprintf
      Src: /src/cairo/src/cairo-pdf-surface.c:2070,1
    - Dst: _cairo_pdf_surface_update_object
      Src: /src/cairo/src/cairo-pdf-surface.c:2034,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:2043,1
    - Dst: _cairo_pdf_surface_new_object
      Src: /src/cairo/src/cairo-pdf-surface.c:2041,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-surface.c:2047,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:2048,1
    - Dst: _cairo_output_stream_get_position
      Src: /src/cairo/src/cairo-pdf-surface.c:2078,1
    - Dst: _cairo_pdf_operators_set_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:2084,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:2038,1
    - Dst: _cairo_deflate_stream_create
      Src: /src/cairo/src/cairo-pdf-surface.c:2046,1
    - Dst: _cairo_pdf_operators_reset
      Src: /src/cairo/src/cairo-pdf-surface.c:2057,1
    - Dst: _cairo_pdf_operators_reset
      Src: /src/cairo/src/cairo-pdf-surface.c:2086,1
    - Dst: va_end
      Src: /src/cairo/src/cairo-pdf-surface.c:2071,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:2065,1
    - Dst: va_start
      Src: /src/cairo/src/cairo-pdf-surface.c:2069,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-surface.c:2088,1
    - Dst: _cairo_pdf_surface_new_object
      Src: /src/cairo/src/cairo-pdf-surface.c:2036,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:2059,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:2074,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-surface.c:2081,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 4
    argNames:
    - surface
    - resource
    - compressed
    - fmt
    - '...'
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_pdf_resource_t*
    - cairo_bool_t
    - char*
    constantsTouched: []
    func_position:
      end: 2089
      start: 2021
    functionDepth: 0
    functionLinenumber: 2021
    functionLinenumberEnd: 2089
    functionName: _cairo_pdf_surface_open_stream
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_vprintf
    - _cairo_pdf_operators_set_stream
    - _cairo_pdf_operators_reset
    - _cairo_deflate_stream_create
    - _cairo_pdf_surface_update_object
    - _cairo_error
    - _cairo_pdf_surface_new_object
    - assert
    - _cairo_output_stream_get_position
    - va_end
    - _cairo_output_stream_get_status
    - _cairo_output_stream_destroy
    - va_start
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_open_stream (cairo_pdf_surface_t\t\
      *surface,\t\t\t\tcairo_pdf_resource_t *resource,\t\t\t\tcairo_bool_t compressed,\t\
      \t\t\tconst char\t\t*fmt,\t\t\t\t...) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pdf_interchange_end_page_content
      Src: /src/cairo/src/cairo-pdf-surface.c:2927,1
    - Dst: _cairo_pdf_surface_open_content_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:2937,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:2938,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:2928,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - abstract_surface
    - has_fallbacks
    argTypes:
    - void*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 2942
      start: 2919
    functionDepth: 0
    functionLinenumber: 2919
    functionLinenumberEnd: 2942
    functionName: _cairo_pdf_surface_has_fallback_images
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_interchange_end_page_content
    - _cairo_pdf_surface_open_content_stream
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_has_fallback_images (void\t\
      \t*abstract_surface,\t\t\t\t\tcairo_bool_t\t has_fallbacks) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pdf_surface_close_content_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:8091,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8096,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-pdf-surface.c:8095,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8092,1
    - Dst: _cairo_pdf_group_resources_clear
      Src: /src/cairo/src/cairo-pdf-surface.c:8099,1
    - Dst: _cairo_pdf_surface_open_content_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:8104,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:8105,1
    - Dst: _cairo_pdf_interchange_begin_page_content
      Src: /src/cairo/src/cairo-pdf-surface.c:8108,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_pdf_surface_t*
    constantsTouched: []
    func_position:
      end: 8109
      start: 8085
    functionDepth: 0
    functionLinenumber: 8085
    functionLinenumberEnd: 8109
    functionName: _cairo_pdf_surface_start_fallback
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_group_resources_clear
    - _cairo_pdf_surface_close_content_stream
    - _cairo_pdf_interchange_begin_page_content
    - _cairo_pdf_surface_open_content_stream
    - _cairo_array_append
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t _cairo_pdf_surface_start_fallback (cairo_pdf_surface_t
      *surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_create
      Src: /src/cairo/src/cairo-pdf-surface.c:633,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-pdf-surface.c:635,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:635,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-surface.c:634,1
    - Dst: _cairo_pdf_surface_create_for_stream_internal
      Src: /src/cairo/src/cairo-pdf-surface.c:637,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 640
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 640
    functionName: cairo_pdf_surface_create_for_stream
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_create
    - _cairo_pdf_surface_create_for_stream_internal
    - _cairo_surface_create_in_error
    - _cairo_output_stream_get_status
    - _cairo_output_stream_destroy
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *cairo_pdf_surface_create_for_stream (cairo_write_func_t\t\
      \t write_func,\t\t\t\t void\t\t\t*closure,\t\t\t\t double\t\t\t width_in_points,\t\
      \t\t\t double\t\t\t height_in_points) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-surface.c:2194,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-surface.c:2195,1
    - Dst: _cairo_deflate_stream_create
      Src: /src/cairo/src/cairo-pdf-surface.c:2203,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-surface.c:2207,1
    - Dst: _cairo_memory_stream_create
      Src: /src/cairo/src/cairo-pdf-surface.c:2199,1
    - Dst: _cairo_pdf_operators_set_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:2211,1
    - Dst: _cairo_pdf_group_resources_clear
      Src: /src/cairo/src/cairo-pdf-surface.c:2212,1
    - Dst: _cairo_pdf_surface_new_object
      Src: /src/cairo/src/cairo-pdf-surface.c:2217,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:2219,1
    - Dst: _cairo_pdf_operators_reset
      Src: /src/cairo/src/cairo-pdf-surface.c:2228,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 3
    argNames:
    - surface
    - bbox
    - resource
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_box_double_t*
    - cairo_pdf_resource_t*
    constantsTouched: []
    func_position:
      end: 2231
      start: 2187
    functionDepth: 0
    functionLinenumber: 2187
    functionLinenumberEnd: 2231
    functionName: _cairo_pdf_surface_open_group
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_operators_set_stream
    - _cairo_pdf_operators_reset
    - _cairo_deflate_stream_create
    - _cairo_pdf_group_resources_clear
    - _cairo_error
    - assert
    - _cairo_pdf_surface_new_object
    - _cairo_memory_stream_create
    - _cairo_output_stream_get_status
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_open_group (cairo_pdf_surface_t\
      \ *surface,\t\t\t const cairo_box_double_t *bbox,\t\t\t cairo_pdf_resource_t\
      \ *resource) "
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 2363
      start: 2350
    functionDepth: 0
    functionLinenumber: 2350
    functionLinenumberEnd: 2363
    functionName: _cairo_xref_stream_object_compare
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "static int _cairo_xref_stream_object_compare (const void *a,\t\t\t\
      \t const void *b) "
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 5
    argCount: 1
    argNames:
    - pattern
    argTypes:
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 5506
      start: 5483
    functionDepth: 0
    functionLinenumber: 5483
    functionLinenumberEnd: 5506
    functionName: _can_paint_pattern
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _can_paint_pattern (const cairo_pattern_t *pattern) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pdf_interchange_begin_page_content
      Src: /src/cairo/src/cairo-pdf-surface.c:9473,1
    - Dst: ceil
      Src: /src/cairo/src/cairo-pdf-surface.c:9480,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:9474,1
    - Dst: ceil
      Src: /src/cairo/src/cairo-pdf-surface.c:9481,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - abstract_surface
    - paginated_mode
    argTypes:
    - void*
    - cairo_paginated_mode_t
    constantsTouched: []
    func_position:
      end: 9485
      start: 9464
    functionDepth: 0
    functionLinenumber: 9464
    functionLinenumberEnd: 9485
    functionName: _cairo_pdf_surface_set_paginated_mode
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - ceil
    - _cairo_pdf_interchange_begin_page_content
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_set_paginated_mode (void\t\
      \t\t*abstract_surface,\t\t\t\t cairo_paginated_mode_t\t paginated_mode) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pdf_surface_open_group
      Src: /src/cairo/src/cairo-pdf-surface.c:2239,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:2240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - surface
    - bbox
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_box_double_t*
    constantsTouched: []
    func_position:
      end: 2246
      start: 2233
    functionDepth: 0
    functionLinenumber: 2233
    functionLinenumberEnd: 2246
    functionName: _cairo_pdf_surface_open_knockout_group
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_surface_open_group
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_open_knockout_group (cairo_pdf_surface_t\
      \ *surface,\t\t\t\t\tconst cairo_box_double_t *bbox) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_sort
      Src: /src/cairo/src/cairo-pdf-surface.c:2391,1
    - Dst: _cairo_pdf_surface_new_object
      Src: /src/cairo/src/cairo-pdf-surface.c:2400,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:2402,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:2421,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:2431,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:2430,1
    - Dst: _cairo_output_stream_get_position
      Src: /src/cairo/src/cairo-pdf-surface.c:2425,1
    - Dst: _cairo_pdf_surface_update_object
      Src: /src/cairo/src/cairo-pdf-surface.c:2446,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:2417,1
    - Dst: _cairo_output_stream_get_position
      Src: /src/cairo/src/cairo-pdf-surface.c:2434,1
    - Dst: _cairo_memory_stream_copy
      Src: /src/cairo/src/cairo-pdf-surface.c:2436,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:2441,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:2455,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:2456,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-surface.c:2382,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-pdf-surface.c:2393,1
    - Dst: _cairo_memory_stream_create
      Src: /src/cairo/src/cairo-pdf-surface.c:2389,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:2394,1
    - Dst: _cairo_memory_stream_copy
      Src: /src/cairo/src/cairo-pdf-surface.c:2428,1
    - Dst: _cairo_memory_stream_copy
      Src: /src/cairo/src/cairo-pdf-surface.c:2437,1
    - Dst: _cairo_output_stream_get_position
      Src: /src/cairo/src/cairo-pdf-surface.c:2438,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:2448,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-pdf-surface.c:2384,1
    - Dst: _cairo_pdf_surface_update_object
      Src: /src/cairo/src/cairo-pdf-surface.c:2404,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:2405,1
    - Dst: _cairo_memory_stream_length
      Src: /src/cairo/src/cairo-pdf-surface.c:2414,1
    - Dst: _cairo_deflate_stream_create
      Src: /src/cairo/src/cairo-pdf-surface.c:2427,1
    - Dst: _cairo_memory_stream_copy
      Src: /src/cairo/src/cairo-pdf-surface.c:2429,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:2459,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:2460,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-surface.c:2466,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 62
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_pdf_surface_t*
    constantsTouched: []
    func_position:
      end: 2467
      start: 2365
    functionDepth: 0
    functionLinenumber: 2365
    functionLinenumberEnd: 2467
    functionName: _cairo_pdf_surface_close_object_stream
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_array_sort
    - _cairo_array_index
    - _cairo_memory_stream_copy
    - _cairo_deflate_stream_create
    - _cairo_pdf_surface_update_object
    - _cairo_error
    - _cairo_array_num_elements
    - _cairo_pdf_surface_new_object
    - _cairo_memory_stream_length
    - _cairo_output_stream_get_position
    - _cairo_memory_stream_create
    - _cairo_output_stream_get_status
    - _cairo_output_stream_destroy
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t _cairo_pdf_surface_close_object_stream (cairo_pdf_surface_t
      *surface) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:5515,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:5523,1
    - Dst: _cairo_pdf_surface_add_operator
      Src: /src/cairo/src/cairo-pdf-surface.c:5529,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:5526,1
    - Dst: _cairo_pdf_operators_flush
      Src: /src/cairo/src/cairo-pdf-surface.c:5522,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - surface
    - op
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_operator_t
    constantsTouched: []
    func_position:
      end: 5532
      start: 5508
    functionDepth: 0
    functionLinenumber: 5508
    functionLinenumberEnd: 5532
    functionName: _cairo_pdf_surface_select_operator
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_operators_flush
    - _cairo_pdf_surface_add_operator
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_select_operator (cairo_pdf_surface_t\
      \ *surface,\t\t\t\t cairo_operator_t op) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-pdf-surface.c:449,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:450,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:453,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:452,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-pdf-surface.c:473,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-pdf-surface.c:478,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-pdf-surface.c:477,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:512,1
    - Dst: _cairo_pdf_operators_set_font_subsets_callback
      Src: /src/cairo/src/cairo-pdf-surface.c:546,1
    - Dst: _cairo_pdf_operators_enable_actual_text
      Src: /src/cairo/src/cairo-pdf-surface.c:549,1
    - Dst: getenv
      Src: /src/cairo/src/cairo-pdf-surface.c:569,1
    - Dst: cairo_matrix_init
      Src: /src/cairo/src/cairo-pdf-surface.c:465,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-pdf-surface.c:476,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-pdf-surface.c:484,1
    - Dst: _cairo_hash_table_create
      Src: /src/cairo/src/cairo-pdf-surface.c:485,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:486,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:487,1
    - Dst: _cairo_pdf_surface_new_object
      Src: /src/cairo/src/cairo-pdf-surface.c:510,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-pdf-surface.c:526,1
    - Dst: _cairo_surface_clipper_init
      Src: /src/cairo/src/cairo-pdf-surface.c:538,1
    - Dst: _cairo_pdf_operators_init
      Src: /src/cairo/src/cairo-pdf-surface.c:541,1
    - Dst: _cairo_scaled_font_subsets_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:587,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-surface.c:594,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:593,1
    - Dst: _cairo_hash_table_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:591,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-pdf-surface.c:453,1
    - Dst: ceil
      Src: /src/cairo/src/cairo-pdf-surface.c:470,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-pdf-surface.c:481,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-pdf-surface.c:483,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-pdf-surface.c:475,1
    - Dst: _cairo_hash_table_create
      Src: /src/cairo/src/cairo-pdf-surface.c:491,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:492,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:493,1
    - Dst: _cairo_scaled_font_subsets_enable_latin_subset
      Src: /src/cairo/src/cairo-pdf-surface.c:507,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/cairo-pdf-surface.c:599,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:582,1
    - Dst: _cairo_surface_init
      Src: /src/cairo/src/cairo-pdf-surface.c:456,1
    - Dst: ceil
      Src: /src/cairo/src/cairo-pdf-surface.c:469,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-pdf-surface.c:474,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-pdf-surface.c:482,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-pdf-surface.c:479,1
    - Dst: _cairo_pdf_group_resources_init
      Src: /src/cairo/src/cairo-pdf-surface.c:499,1
    - Dst: _cairo_scaled_font_subsets_create_composite
      Src: /src/cairo/src/cairo-pdf-surface.c:501,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:503,1
    - Dst: _cairo_pdf_interchange_init
      Src: /src/cairo/src/cairo-pdf-surface.c:551,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:552,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-pdf-surface.c:556,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/cairo-pdf-surface.c:559,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:597,1
    - Dst: _cairo_hash_table_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:589,1
    - Dst: _cairo_paginated_surface_create
      Src: /src/cairo/src/cairo-pdf-surface.c:574,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 122
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 600
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 600
    functionName: _cairo_pdf_surface_create_for_stream_internal
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_scaled_font_subsets_destroy
    - _cairo_error
    - _cairo_hash_table_create
    - _cairo_surface_create_in_error
    - _cairo_pdf_operators_set_font_subsets_callback
    - _cairo_pdf_group_resources_init
    - _cairo_surface_init
    - _cairo_pdf_operators_init
    - _cairo_scaled_font_subsets_create_composite
    - _cairo_array_fini
    - ceil
    - cairo_matrix_init
    - _cairo_calloc
    - _cairo_pdf_interchange_init
    - getenv
    - _cairo_paginated_surface_create
    - _cairo_array_init
    - _cairo_output_stream_destroy
    - free
    - _cairo_hash_table_destroy
    - _cairo_pdf_operators_enable_actual_text
    - _cairo_scaled_font_subsets_enable_latin_subset
    - _cairo_surface_clipper_init
    - _cairo_pdf_surface_new_object
    - cairo_surface_destroy
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_pdf_surface_create_for_stream_internal\
      \ (cairo_output_stream_t\t*output,\t\t\t\t\t double\t\t\t width,\t\t\t\t\t double\t\
      \t\t height) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:1095,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:1096,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:1099,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:1098,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:1097,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:1100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - res
    argTypes:
    - cairo_pdf_group_resources_t*
    constantsTouched: []
    func_position:
      end: 1101
      start: 1092
    functionDepth: 0
    functionLinenumber: 1092
    functionLinenumberEnd: 1101
    functionName: _cairo_pdf_group_resources_fini
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_array_fini
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_pdf_group_resources_fini (cairo_pdf_group_resources_t
      *res) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-pdf-surface.c:1404,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:1405,1
    - Dst: _cairo_pdf_surface_new_object
      Src: /src/cairo/src/cairo-pdf-surface.c:1410,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-pdf-surface.c:1412,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/cairo-pdf-surface.c:1406,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-surface.c:1413,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1428
      start: 1398
    functionDepth: 0
    functionLinenumber: 1398
    functionLinenumberEnd: 1428
    functionName: _cairo_pdf_surface_create_smask_group
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - free
    - _cairo_pdf_surface_new_object
    - _cairo_error_throw
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_pdf_smask_group_t*
    signature: "static cairo_pdf_smask_group_t *_cairo_pdf_surface_create_smask_group\
      \ (cairo_pdf_surface_t\t *surface,\t\t\t\t const cairo_rectangle_int_t *extents) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_get_position
      Src: /src/cairo/src/cairo-pdf-surface.c:2322,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-pdf-surface.c:2323,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:2324,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-pdf-surface.c:2327,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-surface.c:2330,1
    - Dst: _cairo_pdf_surface_update_object
      Src: /src/cairo/src/cairo-pdf-surface.c:2333,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:2334,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - surface
    - resource
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_pdf_resource_t
    constantsTouched: []
    func_position:
      end: 2339
      start: 2312
    functionDepth: 0
    functionLinenumber: 2312
    functionLinenumberEnd: 2339
    functionName: _cairo_pdf_surface_object_begin
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    - _cairo_pdf_surface_update_object
    - _cairo_array_num_elements
    - _cairo_output_stream_get_position
    - _cairo_array_append
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_pdf_surface_object_begin (cairo_pdf_surface_t\
      \ *surface,\t\t\t\t cairo_pdf_resource_t resource) "
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: _can_paint_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:7444,1
    - Dst: _cairo_pdf_surface_create_smask_group
      Src: /src/cairo/src/cairo-pdf-surface.c:7469,1
    - Dst: _cairo_pdf_surface_add_xobject
      Src: /src/cairo/src/cairo-pdf-surface.c:7488,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:7489,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:7492,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:7498,1
    - Dst: _cairo_pdf_surface_unselect_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:7508,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:7509,1
    - Dst: _cairo_pdf_surface_close_group
      Src: /src/cairo/src/cairo-pdf-surface.c:7514,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:7515,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:7578,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-surface.c:7624,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:7562,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:7598,1
    - Dst: cairo_pattern_reference
      Src: /src/cairo/src/cairo-pdf-surface.c:7553,1
    - Dst: _cairo_pdf_surface_select_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:7574,1
    - Dst: _cairo_pdf_smask_group_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:7557,1
    - Dst: _cairo_pdf_surface_unselect_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:7585,1
    - Dst: _get_bbox_from_extents
      Src: /src/cairo/src/cairo-pdf-surface.c:7439,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:7445,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:7485,1
    - Dst: _cairo_pdf_surface_select_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:7497,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:7501,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:7520,1
    - Dst: _cairo_pdf_surface_add_pdf_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:7539,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:7544,1
    - Dst: _cairo_pdf_surface_add_smask_group
      Src: /src/cairo/src/cairo-pdf-surface.c:7555,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:7569,1
    - Dst: _cairo_pdf_surface_new_object
      Src: /src/cairo/src/cairo-pdf-surface.c:7596,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:7532,1
    - Dst: _cairo_pdf_surface_close_group
      Src: /src/cairo/src/cairo-pdf-surface.c:7591,1
    - Dst: _cairo_pdf_surface_add_smask
      Src: /src/cairo/src/cairo-pdf-surface.c:7561,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:7586,1
    - Dst: _cairo_pdf_surface_paint_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:7525,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:7470,1
    - Dst: _cairo_pdf_surface_add_smask
      Src: /src/cairo/src/cairo-pdf-surface.c:7484,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:7471,1
    - Dst: _cairo_pdf_smask_group_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:7480,1
    - Dst: _cairo_pdf_surface_open_group
      Src: /src/cairo/src/cairo-pdf-surface.c:7519,1
    - Dst: _can_paint_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:7523,1
    - Dst: _cairo_pdf_surface_create_smask_group
      Src: /src/cairo/src/cairo-pdf-surface.c:7548,1
    - Dst: _cairo_pdf_surface_add_xobject
      Src: /src/cairo/src/cairo-pdf-surface.c:7565,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:7524,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:7566,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:7592,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:7556,1
    - Dst: _cairo_pdf_surface_open_group
      Src: /src/cairo/src/cairo-pdf-surface.c:7440,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:7441,1
    - Dst: _cairo_pdf_surface_paint_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:7446,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:7453,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:7456,1
    - Dst: _cairo_pdf_surface_add_pdf_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:7460,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:7465,1
    - Dst: _cairo_pdf_surface_add_smask_group
      Src: /src/cairo/src/cairo-pdf-surface.c:7478,1
    - Dst: cairo_pattern_reference
      Src: /src/cairo/src/cairo-pdf-surface.c:7476,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:7479,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:7550,1
    - Dst: _cairo_pdf_surface_update_object
      Src: /src/cairo/src/cairo-pdf-surface.c:7611,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:7575,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:7612,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:7535,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:7600,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:7549,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 116
    argCount: 2
    argNames:
    - surface
    - group
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_pdf_smask_group_t*
    constantsTouched: []
    func_position:
      end: 7625
      start: 7427
    functionDepth: 0
    functionLinenumber: 7427
    functionLinenumberEnd: 7625
    functionName: _cairo_pdf_surface_write_mask_group
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_surface_update_object
    - _cairo_error
    - _cairo_pdf_surface_add_smask_group
    - _cairo_pdf_surface_add_pdf_pattern
    - cairo_pattern_reference
    - _cairo_pdf_surface_add_xobject
    - _cairo_pdf_surface_select_pattern
    - _cairo_pdf_surface_create_smask_group
    - _can_paint_pattern
    - _get_bbox_from_extents
    - _cairo_pdf_surface_paint_pattern
    - _cairo_output_stream_get_status
    - _cairo_pdf_surface_add_smask
    - _cairo_output_stream_printf
    - _cairo_pdf_surface_open_group
    - _cairo_pdf_smask_group_destroy
    - _cairo_pdf_surface_unselect_pattern
    - _cairo_pdf_surface_new_object
    - _cairo_pdf_surface_close_group
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_write_mask_group (cairo_pdf_surface_t\t\
      *surface,\t\t\t\t cairo_pdf_smask_group_t\t*group) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:2345,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_pdf_surface_t*
    constantsTouched: []
    func_position:
      end: 2348
      start: 2341
    functionDepth: 0
    functionLinenumber: 2341
    functionLinenumberEnd: 2348
    functionName: _cairo_pdf_surface_object_end
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: void
    signature: 'void _cairo_pdf_surface_object_end (cairo_pdf_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_truncate
      Src: /src/cairo/src/cairo-pdf-surface.c:1111,1
    - Dst: _cairo_array_truncate
      Src: /src/cairo/src/cairo-pdf-surface.c:1114,1
    - Dst: _cairo_array_truncate
      Src: /src/cairo/src/cairo-pdf-surface.c:1113,1
    - Dst: _cairo_array_truncate
      Src: /src/cairo/src/cairo-pdf-surface.c:1115,1
    - Dst: _cairo_array_truncate
      Src: /src/cairo/src/cairo-pdf-surface.c:1112,1
    - Dst: _cairo_array_truncate
      Src: /src/cairo/src/cairo-pdf-surface.c:1116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - res
    argTypes:
    - cairo_pdf_group_resources_t*
    constantsTouched: []
    func_position:
      end: 1117
      start: 1103
    functionDepth: 0
    functionLinenumber: 1103
    functionLinenumberEnd: 1117
    functionName: _cairo_pdf_group_resources_clear
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_array_truncate
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_pdf_group_resources_clear (cairo_pdf_group_resources_t
      *res) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_fixed_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:1434,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:1436,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:1438,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-surface.c:1439,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-surface.c:1440,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-surface.c:1441,1
    - Dst: cairo_scaled_font_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:1443,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-surface.c:1444,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - group
    argTypes:
    - cairo_pdf_smask_group_t*
    constantsTouched: []
    func_position:
      end: 1445
      start: 1430
    functionDepth: 0
    functionLinenumber: 1430
    functionLinenumberEnd: 1445
    functionName: _cairo_pdf_smask_group_destroy
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_fini
    - cairo_scaled_font_destroy
    - cairo_pattern_destroy
    - free
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_pdf_smask_group_destroy (cairo_pdf_smask_group_t
      *group) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pdf_surface_set_size_internal
      Src: /src/cairo/src/cairo-pdf-surface.c:7642,1
    - Dst: _cairo_pdf_operators_reset
      Src: /src/cairo/src/cairo-pdf-surface.c:7645,1
    - Dst: _cairo_pdf_surface_write_mask_group
      Src: /src/cairo/src/cairo-pdf-surface.c:7649,1
    - Dst: _cairo_pdf_surface_open_group
      Src: /src/cairo/src/cairo-pdf-surface.c:7654,1
    - Dst: _get_bbox_from_extents
      Src: /src/cairo/src/cairo-pdf-surface.c:7653,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:7655,1
    - Dst: _cairo_pdf_surface_select_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:7658,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:7662,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:7667,1
    - Dst: _cairo_pdf_operators_fill
      Src: /src/cairo/src/cairo-pdf-surface.c:7675,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:7699,1
    - Dst: _cairo_pdf_surface_close_group
      Src: /src/cairo/src/cairo-pdf-surface.c:7702,1
    - Dst: _cairo_pdf_surface_set_size_internal
      Src: /src/cairo/src/cairo-pdf-surface.c:7706,1
    - Dst: _cairo_pdf_operators_stroke
      Src: /src/cairo/src/cairo-pdf-surface.c:7680,1
    - Dst: _cairo_pdf_surface_unselect_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:7698,1
    - Dst: _cairo_pdf_operators_reset
      Src: /src/cairo/src/cairo-pdf-surface.c:7710,1
    - Dst: _cairo_pdf_operators_show_text_glyphs
      Src: /src/cairo/src/cairo-pdf-surface.c:7687,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:7695,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 2
    argNames:
    - surface
    - group
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_pdf_smask_group_t*
    constantsTouched: []
    func_position:
      end: 7713
      start: 7627
    functionDepth: 0
    functionLinenumber: 7627
    functionLinenumberEnd: 7713
    functionName: _cairo_pdf_surface_write_smask_group
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_surface_set_size_internal
    - _cairo_pdf_surface_open_group
    - _cairo_pdf_operators_reset
    - _cairo_pdf_operators_stroke
    - _cairo_pdf_surface_unselect_pattern
    - _cairo_pdf_operators_show_text_glyphs
    - _cairo_pdf_surface_select_pattern
    - _cairo_pdf_surface_write_mask_group
    - _get_bbox_from_extents
    - _cairo_pdf_surface_close_group
    - _cairo_pdf_operators_fill
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_write_smask_group (cairo_pdf_surface_t\
      \ *surface,\t\t\t\t cairo_pdf_smask_group_t *group) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _extract_pdf_surface
      Src: /src/cairo/src/cairo-pdf-surface.c:1010,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - surface
    - width
    - height
    argTypes:
    - cairo_surface_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1015
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1015
    functionName: cairo_pdf_surface_set_thumbnail_size
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _extract_pdf_surface
    linkageType: ''
    returnType: void
    signature: "void cairo_pdf_surface_set_thumbnail_size (cairo_surface_t *surface,\t\
      \t\t\t int width,\t\t\t\t int height) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_hash_uintptr
      Src: /src/cairo/src/cairo-pdf-surface.c:1501,1
    - Dst: _cairo_hash_uintptr
      Src: /src/cairo/src/cairo-pdf-surface.c:1502,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - cairo_pdf_color_glyph_t*
    constantsTouched: []
    func_position:
      end: 1503
      start: 1498
    functionDepth: 0
    functionLinenumber: 1498
    functionLinenumberEnd: 1503
    functionName: _cairo_pdf_color_glyph_init_key
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_hash_uintptr
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_pdf_color_glyph_init_key (cairo_pdf_color_glyph_t
      *key) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/cairo/src/cairo-pdf-surface.c:6461,1
    - Dst: _cairo_type1_fallback_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:6469,1
    - Dst: _cairo_pdf_surface_emit_type1_font
      Src: /src/cairo/src/cairo-pdf-surface.c:6467,1
    - Dst: _cairo_type1_fallback_init_binary
      Src: /src/cairo/src/cairo-pdf-surface.c:6463,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:6464,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - surface
    - font_subset
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_scaled_font_subset_t*
    constantsTouched: []
    func_position:
      end: 6471
      start: 6449
    functionDepth: 0
    functionLinenumber: 6449
    functionLinenumberEnd: 6471
    functionName: _cairo_pdf_surface_emit_type1_fallback_font
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_type1_fallback_fini
    - _cairo_type1_fallback_init_binary
    - snprintf
    - _cairo_pdf_surface_emit_type1_font
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_emit_type1_fallback_font\
      \ (cairo_pdf_surface_t\t*surface, cairo_scaled_font_subset_t\t*font_subset) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_acquire_source_image
      Src: /src/cairo/src/cairo-pdf-surface.c:1514,1
    - Dst: _cairo_raster_source_pattern_acquire
      Src: /src/cairo/src/cairo-pdf-surface.c:1519,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-surface.c:1522,1
    - Dst: _cairo_surface_is_image
      Src: /src/cairo/src/cairo-pdf-surface.c:1522,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 11
    argCount: 4
    argNames:
    - surface
    - pattern
    - image
    - image_extra
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_pattern_t*
    - cairo_image_surface_t**
    - void**
    constantsTouched: []
    func_position:
      end: 1536
      start: 1505
    functionDepth: 0
    functionLinenumber: 1505
    functionLinenumberEnd: 1536
    functionName: _cairo_pdf_surface_acquire_source_image_from_pattern
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_is_image
    - _cairo_raster_source_pattern_acquire
    - _cairo_surface_acquire_source_image
    - assert
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_acquire_source_image_from_pattern\
      \ (cairo_pdf_surface_t *surface,\t\t\t\t\t\t const cairo_pattern_t *pattern,\t\
      \t\t\t\t\t cairo_image_surface_t **image,\t\t\t\t\t\t void **image_extra) "
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-pdf-surface.c:6508,1
    - Dst: _cairo_pdf_surface_emit_to_unicode_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:6516,1
    - Dst: _cairo_int_status_is_error
      Src: /src/cairo/src/cairo-pdf-surface.c:6519,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:6527,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-surface.c:6546,1
    - Dst: _cairo_truetype_subset_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:6623,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:6645,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:6649,1
    - Dst: _cairo_pdf_surface_new_object
      Src: /src/cairo/src/cairo-pdf-surface.c:6621,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:6668,1
    - Dst: _cairo_pdf_surface_get_font_resource
      Src: /src/cairo/src/cairo-pdf-surface.c:6485,1
    - Dst: _create_font_subset_tag
      Src: /src/cairo/src/cairo-pdf-surface.c:6495,1
    - Dst: _cairo_truetype_subset_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:6503,1
    - Dst: _cairo_truetype_subset_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:6512,1
    - Dst: _cairo_utf8_to_pdf_string
      Src: /src/cairo/src/cairo-pdf-surface.c:6541,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:6609,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:6613,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:6672,1
    - Dst: _cairo_truetype_subset_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:6682,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-pdf-surface.c:6680,1
    - Dst: _cairo_truetype_subset_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:6526,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:6530,1
    - Dst: _cairo_truetype_subset_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:6520,1
    - Dst: _cairo_pdf_surface_new_object
      Src: /src/cairo/src/cairo-pdf-surface.c:6524,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:6552,1
    - Dst: _cairo_pdf_surface_update_object
      Src: /src/cairo/src/cairo-pdf-surface.c:6581,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:6582,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:6601,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:6624,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:6627,1
    - Dst: _cairo_pdf_surface_open_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:6497,1
    - Dst: _cairo_truetype_subset_init_pdf
      Src: /src/cairo/src/cairo-pdf-surface.c:6491,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:6492,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:6502,1
    - Dst: _cairo_pdf_surface_close_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:6510,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:6511,1
    - Dst: likely
      Src: /src/cairo/src/cairo-pdf-surface.c:6542,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:6543,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:6605,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:6617,1
    - Dst: _cairo_pdf_surface_update_object
      Src: /src/cairo/src/cairo-pdf-surface.c:6654,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:6655,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 95
    argCount: 2
    argNames:
    - surface
    - font_subset
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_scaled_font_subset_t*
    constantsTouched: []
    func_position:
      end: 6685
      start: 6473
    functionDepth: 0
    functionLinenumber: 6473
    functionLinenumberEnd: 6685
    functionName: _cairo_pdf_surface_emit_truetype_font_subset
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_truetype_subset_init_pdf
    - _cairo_truetype_subset_fini
    - _cairo_array_append
    - _cairo_pdf_surface_update_object
    - _cairo_error
    - _cairo_int_status_is_error
    - free
    - _create_font_subset_tag
    - _cairo_pdf_surface_open_stream
    - _cairo_pdf_surface_get_font_resource
    - _cairo_pdf_surface_new_object
    - _cairo_output_stream_write
    - _cairo_utf8_to_pdf_string
    - _cairo_pdf_surface_emit_to_unicode_stream
    - _cairo_pdf_surface_close_stream
    - likely
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_emit_truetype_font_subset\
      \ (cairo_pdf_surface_t\t\t*surface,\t\t\t\t\t cairo_scaled_font_subset_t\t*font_subset) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 804
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 804
    functionName: cairo_pdf_version_to_string
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *cairo_pdf_version_to_string (cairo_pdf_version_t version) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - versions
    - num_versions
    argTypes:
    - cairo_pdf_version_t**
    - int*
    constantsTouched: []
    func_position:
      end: 783
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 783
    functionName: cairo_pdf_get_versions
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void cairo_pdf_get_versions (cairo_pdf_version_t const\t**versions,\
      \ int \t *num_versions) "
  - BBCount: 31
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1244
    functionDepth: 0
    functionLinenumber: 1244
    functionLinenumberEnd: 1283
    functionName: _cairo_operator_to_pdf_blend_mode
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *_cairo_operator_to_pdf_blend_mode (cairo_operator_t
      op) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-surface.c:3423,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-pdf-surface.c:3425,1
    - Dst: memcmp
      Src: /src/cairo/src/cairo-pdf-surface.c:3427,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-pdf-surface.c:3432,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:3433,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:3434,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-pdf-surface.c:3437,1
    - Dst: _cairo_pdf_surface_new_object
      Src: /src/cairo/src/cairo-pdf-surface.c:3439,1
    - Dst: free
      Src: /src/cairo/src/cairo-pdf-surface.c:3441,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:3442,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:3447,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-pdf-surface.c:3451,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-surface.c:3450,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-pdf-surface.c:3446,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 4
    argNames:
    - surface
    - global_id
    - global_id_length
    - entry
    argTypes:
    - cairo_pdf_surface_t*
    - unsigned char*
    - unsigned long
    - cairo_pdf_jbig2_global_t**
    constantsTouched: []
    func_position:
      end: 3453
      start: 3413
    functionDepth: 0
    functionLinenumber: 3413
    functionLinenumberEnd: 3453
    functionName: _cairo_pdf_surface_lookup_jbig2_global
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_malloc
    - memcpy
    - _cairo_array_index
    - _cairo_error
    - free
    - _cairo_array_num_elements
    - memcmp
    - _cairo_pdf_surface_new_object
    - _cairo_array_append
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_lookup_jbig2_global (cairo_pdf_surface_t\
      \ *surface,\t\t\t\t\tconst unsigned char *global_id,\t\t\t\t\tunsigned long\
      \ global_id_length,\t\t\t\t\tcairo_pdf_jbig2_global_t **entry) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_acquire_source_image
      Src: /src/cairo/src/cairo-pdf-surface.c:7875,1
    - Dst: _cairo_image_analyze_transparency
      Src: /src/cairo/src/cairo-pdf-surface.c:7884,1
    - Dst: _cairo_surface_release_source_image
      Src: /src/cairo/src/cairo-pdf-surface.c:7890,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:7878,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - surface
    - pattern
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_surface_pattern_t*
    constantsTouched: []
    func_position:
      end: 7893
      start: 7866
    functionDepth: 0
    functionLinenumber: 7866
    functionLinenumberEnd: 7893
    functionName: _cairo_pdf_surface_analyze_surface_pattern_transparency
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_release_source_image
    - _cairo_image_analyze_transparency
    - _cairo_surface_acquire_source_image
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_analyze_surface_pattern_transparency\
      \ (cairo_pdf_surface_t *surface,\t\t\t\t\t\t\t cairo_surface_pattern_t *pattern) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _surface_pattern_supported
      Src: /src/cairo/src/cairo-pdf-surface.c:7941,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 3
    argCount: 1
    argNames:
    - pattern
    argTypes:
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 7947
      start: 7929
    functionDepth: 0
    functionLinenumber: 7929
    functionLinenumberEnd: 7947
    functionName: _pattern_supported
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _surface_pattern_supported
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _pattern_supported (const cairo_pattern_t *pattern) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pdf_surface_operation_supported
      Src: /src/cairo/src/cairo-pdf-surface.c:9207,1
    - Dst: _cairo_pdf_surface_set_clip
      Src: /src/cairo/src/cairo-pdf-surface.c:9209,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:9210,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:9229,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:9228,1
    - Dst: _cairo_pdf_smask_group_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:9244,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:9256,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-pdf-surface.c:9259,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:9267,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-pdf-surface.c:9270,1
    - Dst: _cairo_pdf_smask_group_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:9277,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:9254,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:9282,1
    - Dst: _cairo_font_face_is_user
      Src: /src/cairo/src/cairo-pdf-surface.c:9303,1
    - Dst: _cairo_composite_rectangles_init_for_glyphs
      Src: /src/cairo/src/cairo-pdf-surface.c:9177,1
    - Dst: _cairo_pdf_interchange_add_content
      Src: /src/cairo/src/cairo-pdf-surface.c:9187,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:9188,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:9184,1
    - Dst: _cairo_pdf_surface_add_pdf_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:9215,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:9219,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:9243,1
    - Dst: _cairo_pdf_smask_group_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:9255,1
    - Dst: _cairo_pdf_smask_group_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:9266,1
    - Dst: cairo_scaled_font_reference
      Src: /src/cairo/src/cairo-pdf-surface.c:9274,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:9333,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:9315,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:9305,1
    - Dst: _cairo_pdf_surface_select_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:9304,1
    - Dst: _cairo_pdf_interchange_add_operation_extents
      Src: /src/cairo/src/cairo-pdf-surface.c:9191,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:9192,1
    - Dst: _cairo_pdf_surface_analyze_operation
      Src: /src/cairo/src/cairo-pdf-surface.c:9203,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-surface.c:9207,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:9223,1
    - Dst: _cairo_pdf_surface_select_operator
      Src: /src/cairo/src/cairo-pdf-surface.c:9222,1
    - Dst: _cairo_pdf_surface_create_smask_group
      Src: /src/cairo/src/cairo-pdf-surface.c:9227,1
    - Dst: _cairo_pdf_smask_group_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:9236,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/cairo-pdf-surface.c:9242,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-pdf-surface.c:9248,1
    - Dst: _cairo_pdf_operators_flush
      Src: /src/cairo/src/cairo-pdf-surface.c:9289,1
    - Dst: _cairo_pdf_surface_unselect_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:9328,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:9329,1
    - Dst: _cairo_pdf_operators_flush
      Src: /src/cairo/src/cairo-pdf-surface.c:9314,1
    - Dst: _cairo_pdf_operators_show_text_glyphs
      Src: /src/cairo/src/cairo-pdf-surface.c:9319,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-surface.c:9334,1
    - Dst: _cairo_pattern_create_copy
      Src: /src/cairo/src/cairo-pdf-surface.c:9234,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:9235,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:9245,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-pdf-surface.c:9253,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-pdf-surface.c:9264,1
    - Dst: _cairo_pdf_surface_add_smask_group
      Src: /src/cairo/src/cairo-pdf-surface.c:9275,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:9276,1
    - Dst: _cairo_pdf_surface_add_smask
      Src: /src/cairo/src/cairo-pdf-surface.c:9281,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:9293,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:9286,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:9299,1
    - Dst: _cairo_pdf_surface_select_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:9298,1
    - Dst: _cairo_pdf_surface_add_xobject
      Src: /src/cairo/src/cairo-pdf-surface.c:9285,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:9325,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/cairo-pdf-surface.c:9337,1
    - Dst: _cairo_pattern_is_opaque
      Src: /src/cairo/src/cairo-pdf-surface.c:9313,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:9265,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:9290,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 119
    argCount: 12
    argNames:
    - abstract_surface
    - op
    - source
    - utf8
    - utf8_len
    - glyphs
    - num_glyphs
    - clusters
    - num_clusters
    - cluster_flags
    - scaled_font
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - char*
    - int
    - cairo_glyph_t*
    - int
    - cairo_text_cluster_t*
    - int
    - cairo_text_cluster_flags_t
    - cairo_scaled_font_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 9339
      start: 9156
    functionDepth: 0
    functionLinenumber: 9156
    functionLinenumberEnd: 9339
    functionName: _cairo_pdf_surface_show_text_glyphs
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - memcpy
    - _cairo_pdf_interchange_add_content
    - _cairo_error
    - _cairo_pdf_operators_show_text_glyphs
    - _cairo_pdf_surface_add_smask_group
    - _cairo_pdf_surface_add_pdf_pattern
    - _cairo_pdf_interchange_add_operation_extents
    - _cairo_composite_rectangles_init_for_glyphs
    - _cairo_composite_rectangles_fini
    - cairo_scaled_font_reference
    - _cairo_font_face_is_user
    - _cairo_pdf_surface_analyze_operation
    - _cairo_pdf_surface_add_xobject
    - _cairo_pattern_is_opaque
    - _cairo_pdf_surface_select_pattern
    - _cairo_pdf_surface_select_operator
    - assert
    - _cairo_pdf_surface_create_smask_group
    - _cairo_pdf_surface_set_clip
    - _cairo_pdf_operators_flush
    - _cairo_pdf_surface_add_smask
    - _cairo_output_stream_printf
    - _cairo_malloc
    - _cairo_pdf_smask_group_destroy
    - _cairo_pattern_create_copy
    - _cairo_pdf_surface_unselect_pattern
    - _cairo_pdf_surface_operation_supported
    - _cairo_output_stream_get_status
    - _cairo_malloc_ab
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_show_text_glyphs (void\t\
      \t\t*abstract_surface,\t\t\t\t cairo_operator_t\t\t op,\t\t\t\t const cairo_pattern_t\t\
      *source,\t\t\t\t const char *utf8,\t\t\t\t int utf8_len,\t\t\t\t cairo_glyph_t\t\
      \t*glyphs,\t\t\t\t int\t\t\t num_glyphs,\t\t\t\t const cairo_text_cluster_t\
      \ *clusters,\t\t\t\t int num_clusters,\t\t\t\t cairo_text_cluster_flags_t cluster_flags,\t\
      \t\t\t cairo_scaled_font_t\t*scaled_font,\t\t\t\t const cairo_clip_t\t\t*clip) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-surface.c:1297,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-pdf-surface.c:1324,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:1325,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:1345,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-surface.c:1334,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:1355,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-surface.c:1364,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:1376,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:1318,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-surface.c:1349,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:1340,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-pdf-surface.c:1354,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:1371,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-surface.c:1380,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:1382,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:1394,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:1295,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:1310,1
    - Dst: _cairo_operator_to_pdf_blend_mode
      Src: /src/cairo/src/cairo-pdf-surface.c:1312,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:1351,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-pdf-surface.c:1339,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-pdf-surface.c:1370,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-pdf-surface.c:1384,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:1391,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:1300,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-surface.c:1298,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:1304,1
    - Dst: _cairo_array_copy_element
      Src: /src/cairo/src/cairo-pdf-surface.c:1317,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:1336,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:1330,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:1360,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:1366,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:1385,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 80
    argCount: 3
    argNames:
    - surface
    - res
    - gs0
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_pdf_group_resources_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 1396
      start: 1285
    functionDepth: 0
    functionLinenumber: 1285
    functionLinenumberEnd: 1396
    functionName: _cairo_pdf_surface_emit_group_resources
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    - _cairo_array_num_elements
    - _cairo_array_copy_element
    - _cairo_operator_to_pdf_blend_mode
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: void
    signature: "static void _cairo_pdf_surface_emit_group_resources (cairo_pdf_surface_t\
      \ *surface,\t\t\t\t\t cairo_pdf_group_resources_t *res,\t\t\t\t\t cairo_bool_t\
      \ gs0) "
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_get_mime_data
      Src: /src/cairo/src/cairo-pdf-surface.c:3473,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:3490,1
    - Dst: _cairo_image_info_get_jbig2_info
      Src: /src/cairo/src/cairo-pdf-surface.c:3478,1
    - Dst: _cairo_pdf_surface_lookup_jbig2_global
      Src: /src/cairo/src/cairo-pdf-surface.c:3489,1
    - Dst: cairo_surface_get_mime_data
      Src: /src/cairo/src/cairo-pdf-surface.c:3486,1
    - Dst: cairo_surface_get_mime_data
      Src: /src/cairo/src/cairo-pdf-surface.c:3494,1
    - Dst: _cairo_pdf_surface_open_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:3497,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:3498,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-pdf-surface.c:3501,1
    - Dst: _cairo_pdf_surface_close_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:3502,1
    - Dst: snprintf
      Src: /src/cairo/src/cairo-pdf-surface.c:3517,1
    - Dst: _cairo_pdf_surface_open_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:3522,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:3503,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:3559,1
    - Dst: _cairo_pdf_surface_open_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:3540,1
    - Dst: _cairo_pdf_surface_close_stream
      Src: /src/cairo/src/cairo-pdf-surface.c:3563,1
    - Dst: snprintf
      Src: /src/cairo/src/cairo-pdf-surface.c:3510,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-pdf-surface.c:3562,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 39
    argCount: 4
    argNames:
    - surface
    - source
    - surface_entry
    - test
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_surface_t*
    - cairo_pdf_source_surface_entry_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 3566
      start: 3455
    functionDepth: 0
    functionLinenumber: 3455
    functionLinenumberEnd: 3566
    functionName: _cairo_pdf_surface_emit_jbig2_image
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_image_info_get_jbig2_info
    - cairo_surface_get_mime_data
    - _cairo_pdf_surface_lookup_jbig2_global
    - _cairo_pdf_surface_open_stream
    - _cairo_output_stream_write
    - snprintf
    - _cairo_pdf_surface_close_stream
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_emit_jbig2_image (cairo_pdf_surface_t\
      \ *surface,\t\t\t\t cairo_surface_t\t *source,\t\t\t\t cairo_pdf_source_surface_entry_t\
      \ *surface_entry,\t\t\t\t cairo_bool_t test) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pattern_get_extend
      Src: /src/cairo/src/cairo-pdf-surface.c:7914,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 1
    argNames:
    - pattern
    argTypes:
    - cairo_surface_pattern_t*
    constantsTouched: []
    func_position:
      end: 7927
      start: 7895
    functionDepth: 0
    functionLinenumber: 7895
    functionLinenumberEnd: 7927
    functionName: _surface_pattern_supported
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - cairo_pattern_get_extend
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _surface_pattern_supported (cairo_surface_pattern_t
      *pattern) '
  - BBCount: 31
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - cairo_operator_t
    constantsTouched: []
    func_position:
      end: 7987
      start: 7949
    functionDepth: 0
    functionLinenumber: 7949
    functionLinenumberEnd: 7987
    functionName: _pdf_operator_supported
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _pdf_operator_supported (cairo_operator_t op) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9345
      start: 9341
    functionDepth: 0
    functionLinenumber: 9341
    functionLinenumberEnd: 9345
    functionName: _cairo_pdf_surface_get_supported_mime_types
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char**
    signature: "static const char **_cairo_pdf_surface_get_supported_mime_types (void\t\
      \t *abstract_surface) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_write_xref_stream_entry
      Src: /src/cairo/src/cairo-pdf-surface.c:7312,1
    - Dst: _cairo_write_xref_stream_entry
      Src: /src/cairo/src/cairo-pdf-surface.c:7332,1
    - Dst: _cairo_write_xref_stream_entry
      Src: /src/cairo/src/cairo-pdf-surface.c:7324,1
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-surface.c:7320,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/cairo-pdf-surface.c:7322,1
    - Dst: _cairo_write_xref_stream_entry
      Src: /src/cairo/src/cairo-pdf-surface.c:7340,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - surface
    - stream
    - field2_size
    - write_as_comments
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_output_stream_t*
    - int
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 7349
      start: 7302
    functionDepth: 0
    functionLinenumber: 7302
    functionLinenumberEnd: 7349
    functionName: _cairo_write_xref_stream_entries
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_array_num_elements
    - _cairo_write_xref_stream_entry
    - _cairo_array_index
    linkageType: ''
    returnType: void
    signature: "static void _cairo_write_xref_stream_entries (cairo_pdf_surface_t\
      \ *surface,\t\t\t\t cairo_output_stream_t *stream,\t\t\t\t int field2_size,\t\
      \t\t\t cairo_bool_t write_as_comments) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _extract_pdf_surface
      Src: /src/cairo/src/cairo-pdf-surface.c:925,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-pdf-surface.c:930,1
    - Dst: _cairo_pdf_interchange_set_metadata
      Src: /src/cairo/src/cairo-pdf-surface.c:928,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - surface
    - metadata
    - utf8
    argTypes:
    - cairo_surface_t*
    - cairo_pdf_metadata_t
    - char*
    constantsTouched: []
    func_position:
      end: 931
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 931
    functionName: cairo_pdf_surface_set_metadata
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pdf_interchange_set_metadata
    - _extract_pdf_surface
    - _cairo_surface_set_error
    linkageType: ''
    returnType: void
    signature: "void cairo_pdf_surface_set_metadata (cairo_surface_t *surface,\t\t\
      \t\tcairo_pdf_metadata_t metadata, const char *utf8) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_num_elements
      Src: /src/cairo/src/cairo-pdf-surface.c:4405,1
    - Dst: _cairo_pdf_surface_new_object
      Src: /src/cairo/src/cairo-pdf-surface.c:4416,1
    - Dst: _cairo_array_copy_element
      Src: /src/cairo/src/cairo-pdf-surface.c:4407,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:4420,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:4418,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-pdf-surface.c:4437,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 4
    argNames:
    - surface
    - stop1
    - stop2
    - function
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_pdf_color_stop_t*
    - cairo_pdf_color_stop_t*
    - cairo_pdf_resource_t*
    constantsTouched: []
    func_position:
      end: 4441
      start: 4394
    functionDepth: 0
    functionLinenumber: 4394
    functionLinenumberEnd: 4441
    functionName: cairo_pdf_surface_emit_alpha_linear_function
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_array_num_elements
    - _cairo_pdf_surface_new_object
    - _cairo_array_copy_element
    - _cairo_array_append
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t cairo_pdf_surface_emit_alpha_linear_function
      (cairo_pdf_surface_t *surface, cairo_pdf_color_stop_t *stop1, cairo_pdf_color_stop_t
      *stop2, cairo_pdf_resource_t *function) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pdf_surface_emit_alpha_linear_function
      Src: /src/cairo/src/cairo-pdf-surface.c:4457,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:4461,1
    - Dst: cairo_pdf_surface_emit_rgb_linear_function
      Src: /src/cairo/src/cairo-pdf-surface.c:4464,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:4468,1
    - Dst: _cairo_pdf_surface_new_object
      Src: /src/cairo/src/cairo-pdf-surface.c:4474,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:4476,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:4478,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:4486,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:4489,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:4491,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:4494,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:4499,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:4502,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:4507,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:4510,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-surface.c:4516,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:4505,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:4497,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 5
    argNames:
    - surface
    - n_stops
    - stops
    - is_alpha
    - function
    argTypes:
    - cairo_pdf_surface_t*
    - unsigned int
    - cairo_pdf_color_stop_t*
    - cairo_bool_t
    - cairo_pdf_resource_t*
    constantsTouched: []
    func_position:
      end: 4517
      start: 4443
    functionDepth: 0
    functionLinenumber: 4443
    functionLinenumberEnd: 4517
    functionName: _cairo_pdf_surface_emit_stitched_colorgradient
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - cairo_pdf_surface_emit_alpha_linear_function
    - cairo_pdf_surface_emit_rgb_linear_function
    - _cairo_error
    - _cairo_pdf_surface_new_object
    - _cairo_output_stream_get_status
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_emit_stitched_colorgradient\
      \ (cairo_pdf_surface_t *surface, unsigned int\t n_stops, cairo_pdf_color_stop_t\
      \ *stops, cairo_bool_t\t is_alpha, cairo_pdf_resource_t *function) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_get_position
      Src: /src/cairo/src/cairo-pdf-surface.c:7364,1
    - Dst: _cairo_memory_stream_create
      Src: /src/cairo/src/cairo-pdf-surface.c:7374,1
    - Dst: _cairo_write_xref_stream_entries
      Src: /src/cairo/src/cairo-pdf-surface.c:7376,1
    - Dst: _cairo_deflate_stream_create
      Src: /src/cairo/src/cairo-pdf-surface.c:7375,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:7378,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:7379,1
    - Dst: _cairo_pdf_surface_update_object
      Src: /src/cairo/src/cairo-pdf-surface.c:7382,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:7383,1
    - Dst: _cairo_memory_stream_length
      Src: /src/cairo/src/cairo-pdf-surface.c:7394,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:7407,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:7412,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:7416,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-surface.c:7424,1
    - Dst: _cairo_write_xref_stream_entries
      Src: /src/cairo/src/cairo-pdf-surface.c:7409,1
    - Dst: _cairo_output_stream_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:7415,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:7419,1
    - Dst: _cairo_memory_stream_copy
      Src: /src/cairo/src/cairo-pdf-surface.c:7414,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 5
    argNames:
    - surface
    - xref_res
    - root_res
    - info_res
    - xref_offset
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_pdf_resource_t
    - cairo_pdf_resource_t
    - cairo_pdf_resource_t
    - long long*
    constantsTouched: []
    func_position:
      end: 7425
      start: 7351
    functionDepth: 0
    functionLinenumber: 7351
    functionLinenumberEnd: 7425
    functionName: _cairo_pdf_surface_write_xref_stream
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_memory_stream_copy
    - _cairo_write_xref_stream_entries
    - _cairo_deflate_stream_create
    - _cairo_pdf_surface_update_object
    - _cairo_memory_stream_length
    - _cairo_output_stream_get_position
    - _cairo_memory_stream_create
    - _cairo_output_stream_get_status
    - _cairo_output_stream_destroy
    - _cairo_output_stream_printf
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_write_xref_stream (cairo_pdf_surface_t\
      \ *surface,\t\t\t\t cairo_pdf_resource_t xref_res,\t\t\t\t cairo_pdf_resource_t\
      \ root_res,\t\t\t\t cairo_pdf_resource_t info_res,\t\t\t\t long long *xref_offset) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_hash_bytes
      Src: /src/cairo/src/cairo-pdf-surface.c:1476,1
    - Dst: _cairo_hash_bytes
      Src: /src/cairo/src/cairo-pdf-surface.c:1481,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - key
    argTypes:
    - cairo_pdf_source_surface_entry_t*
    constantsTouched: []
    func_position:
      end: 1484
      start: 1472
    functionDepth: 0
    functionLinenumber: 1472
    functionLinenumberEnd: 1484
    functionName: _cairo_pdf_source_surface_init_key
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_hash_bytes
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_pdf_source_surface_init_key (cairo_pdf_source_surface_entry_t
      *key) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:5248,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-pdf-surface.c:5267,1
    - Dst: _cairo_pdf_surface_emit_surface_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:5253,1
    - Dst: _cairo_pdf_surface_emit_mesh_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:5262,1
    - Dst: _cairo_pdf_surface_emit_gradient
      Src: /src/cairo/src/cairo-pdf-surface.c:5258,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 2
    argNames:
    - surface
    - pdf_pattern
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_pdf_pattern_t*
    constantsTouched: []
    func_position:
      end: 5272
      start: 5240
    functionDepth: 0
    functionLinenumber: 5240
    functionLinenumberEnd: 5272
    functionName: _cairo_pdf_surface_emit_pattern
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_pdf_surface_emit_surface_pattern
    - _cairo_pdf_surface_emit_gradient
    - _cairo_pdf_surface_emit_mesh_pattern
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t _cairo_pdf_surface_emit_pattern (cairo_pdf_surface_t
      *surface, cairo_pdf_pattern_t *pdf_pattern) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-surface.c:6696,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:6698,1
    - Dst: CAIRO_BITSWAP8_IF_LITTLE_ENDIAN
      Src: /src/cairo/src/cairo-pdf-surface.c:6715,1
    - Dst: _cairo_output_stream_write
      Src: /src/cairo/src/cairo-pdf-surface.c:6716,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:6708,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:6721,1
    - Dst: _cairo_output_stream_get_status
      Src: /src/cairo/src/cairo-pdf-surface.c:6724,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - image
    - stream
    argTypes:
    - cairo_image_surface_t*
    - cairo_output_stream_t*
    constantsTouched: []
    func_position:
      end: 6725
      start: 6687
    functionDepth: 0
    functionLinenumber: 6687
    functionLinenumberEnd: 6725
    functionName: _cairo_pdf_emit_imagemask
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - assert
    - _cairo_output_stream_write
    - CAIRO_BITSWAP8_IF_LITTLE_ENDIAN
    - _cairo_output_stream_get_status
    - _cairo_output_stream_printf
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_emit_imagemask (cairo_image_surface_t\
      \ *image,\t\t\t cairo_output_stream_t *stream) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_output_stream_get_position
      Src: /src/cairo/src/cairo-pdf-surface.c:359,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:362,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/cairo-pdf-surface.c:361,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_pdf_surface_t*
    constantsTouched: []
    func_position:
      end: 371
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 371
    functionName: _cairo_pdf_surface_new_object
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_output_stream_get_position
    - _cairo_array_append
    - unlikely
    linkageType: ''
    returnType: cairo_pdf_resource_t
    signature: 'cairo_pdf_resource_t _cairo_pdf_surface_new_object (cairo_pdf_surface_t
      *surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 2
    argNames:
    - key_a
    - key_b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1496
      start: 1486
    functionDepth: 0
    functionLinenumber: 1486
    functionLinenumberEnd: 1496
    functionName: _cairo_pdf_color_glyph_equal
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_pdf_color_glyph_equal (const void *key_a,
      const void *key_b) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-pdf-surface.c:5339,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/src/cairo-pdf-surface.c:5353,1
    - Dst: _cairo_pdf_surface_add_alpha
      Src: /src/cairo/src/cairo-pdf-surface.c:5367,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/src/cairo-pdf-surface.c:5355,1
    - Dst: _cairo_output_stream_print_matrix
      Src: /src/cairo/src/cairo-pdf-surface.c:5363,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:5368,1
    - Dst: _cairo_pdf_surface_add_xobject
      Src: /src/cairo/src/cairo-pdf-surface.c:5382,1
    - Dst: _cairo_pdf_surface_add_padded_image_surface
      Src: /src/cairo/src/cairo-pdf-surface.c:5296,1
    - Dst: _cairo_pdf_surface_add_source_surface
      Src: /src/cairo/src/cairo-pdf-surface.c:5313,1
    - Dst: assert
      Src: /src/cairo/src/cairo-pdf-surface.c:5336,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:5359,1
    - Dst: _cairo_matrix_is_identity
      Src: /src/cairo/src/cairo-pdf-surface.c:5362,1
    - Dst: _cairo_pdf_operators_flush
      Src: /src/cairo/src/cairo-pdf-surface.c:5358,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/src/cairo-pdf-surface.c:5340,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/src/cairo-pdf-surface.c:5354,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:5330,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-pdf-surface.c:5334,1
    - Dst: _cairo_pdf_interchange_struct_tree_requires_recording_surface
      Src: /src/cairo/src/cairo-pdf-surface.c:5306,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:5364,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:5372,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:5376,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 54
    argCount: 8
    argNames:
    - surface
    - op
    - source
    - source_type
    - extents
    - alpha
    - smask_res
    - stencil_mask
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_analysis_source_t
    - cairo_rectangle_int_t*
    - double
    - cairo_pdf_resource_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 5383
      start: 5274
    functionDepth: 0
    functionLinenumber: 5274
    functionLinenumberEnd: 5383
    functionName: _cairo_pdf_surface_paint_surface_pattern
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - cairo_matrix_scale
    - _cairo_output_stream_printf
    - _cairo_pdf_surface_add_xobject
    - cairo_matrix_translate
    - _cairo_matrix_is_identity
    - _cairo_pdf_surface_add_alpha
    - _cairo_output_stream_print_matrix
    - assert
    - cairo_matrix_multiply
    - _cairo_pdf_surface_add_padded_image_surface
    - cairo_matrix_invert
    - _cairo_pdf_surface_add_source_surface
    - _cairo_pdf_interchange_struct_tree_requires_recording_surface
    - _cairo_pdf_operators_flush
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_pdf_surface_paint_surface_pattern\
      \ (cairo_pdf_surface_t *surface,\t\t\t\t\t cairo_operator_t op,\t\t\t\t\t const\
      \ cairo_pattern_t *source,\t\t\t\t\t cairo_analysis_source_t source_type,\t\t\
      \t\t\t const cairo_rectangle_int_t *extents,\t\t\t\t\t double alpha,\t\t\t\t\
      \t cairo_pdf_resource_t\t *smask_res,\t\t\t\t\t cairo_bool_t stencil_mask) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:6758,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-pdf-surface.c:6762,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-pdf-surface.c:6767,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-pdf-surface.c:6768,1
    - Dst: _cairo_recording_surface_region_array_attach
      Src: /src/cairo/src/cairo-pdf-surface.c:6780,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-pdf-surface.c:6769,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-pdf-surface.c:6816,1
    - Dst: _cairo_matrix_transform_bounding_box_fixed
      Src: /src/cairo/src/cairo-pdf-surface.c:6837,1
    - Dst: _cairo_scaled_font_freeze_cache
      Src: /src/cairo/src/cairo-pdf-surface.c:6748,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/cairo-pdf-surface.c:6808,1
    - Dst: _cairo_box_from_rectangle
      Src: /src/cairo/src/cairo-pdf-surface.c:6812,1
    - Dst: cairo_pattern_set_matrix
      Src: /src/cairo/src/cairo-pdf-surface.c:6822,1
    - Dst: cairo_matrix_transform_distance
      Src: /src/cairo/src/cairo-pdf-surface.c:6833,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:6854,1
    - Dst: _cairo_scaled_glyph_lookup
      Src: /src/cairo/src/cairo-pdf-surface.c:6749,1
    - Dst: _cairo_scaled_font_thaw_cache
      Src: /src/cairo/src/cairo-pdf-surface.c:6757,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/src/cairo-pdf-surface.c:6755,1
    - Dst: _cairo_surface_set_error
      Src: /src/cairo/src/cairo-pdf-surface.c:6763,1
    - Dst: _cairo_analysis_surface_has_unsupported
      Src: /src/cairo/src/cairo-pdf-surface.c:6795,1
    - Dst: cairo_matrix_init_identity
      Src: /src/cairo/src/cairo-pdf-surface.c:6807,1
    - Dst: _cairo_matrix_transform_bounding_box_fixed
      Src: /src/cairo/src/cairo-pdf-surface.c:6813,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/cairo-pdf-surface.c:6827,1
    - Dst: _cairo_pdf_surface_paint_surface_pattern
      Src: /src/cairo/src/cairo-pdf-surface.c:6844,1
    - Dst: _cairo_analysis_surface_create
      Src: /src/cairo/src/cairo-pdf-surface.c:6761,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-pdf-surface.c:6770,1
    - Dst: _cairo_recording_surface_replay_and_create_regions
      Src: /src/cairo/src/cairo-pdf-surface.c:6784,1
    - Dst: _cairo_pattern_init_for_surface
      Src: /src/cairo/src/cairo-pdf-surface.c:6804,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/cairo-pdf-surface.c:6800,1
    - Dst: _cairo_box_round_to_rectangle
      Src: /src/cairo/src/cairo-pdf-surface.c:6814,1
    - Dst: _cairo_output_stream_printf
      Src: /src/cairo/src/cairo-pdf-surface.c:6840,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 72
    argCount: 5
    argNames:
    - surface
    - scaled_font
    - glyph_index
    - bbox
    - width
    argTypes:
    - cairo_pdf_surface_t*
    - cairo_scaled_font_t*
    - unsigned long
    - cairo_box_t*
    - double*
    constantsTouched: []
    func_position:
      end: 6857
      start: 6727
    functionDepth: 0
    functionLinenumber: 6727
    functionLinenumberEnd: 6857
    functionName: cairo_pdf_surface_emit_color_glyph
    functionSourceFile: /src/cairo/src/cairo-pdf-surface.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_to_double
    - cairo_pattern_set_matrix
    - _cairo_analysis_surface_create
    - cairo_matrix_transform_distance
    - _cairo_analysis_surface_has_unsupported
    - _cairo_pattern_init_for_surface
    - cairo_surface_reference
    - unlikely
    - _cairo_matrix_transform_bounding_box_fixed
    - _cairo_box_from_rectangle
    - _cairo_pdf_surface_paint_surface_pattern
    - cairo_matrix_init_identity
    - _cairo_surface_set_error
    - _cairo_recording_surface_region_array_attach
    - _cairo_output_stream_printf
    - _cairo_box_round_to_rectangle
    - _cairo_scaled_font_freeze_cache
    - _cairo_scaled_glyph_lookup
    - cairo_surface_destroy
    - _cairo_recording_surface_replay_and_create_regions
    - cairo_matrix_invert
    - cairo_matrix_multiply
    - _cairo_scaled_font_thaw_cache
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t cairo_pdf_surface_emit_color_glyph (cairo_pdf_surface_t\
      \ *surface,\t\t\t\t cairo_scaled_font_t *scaled_font,\t\t\t\t unsigned long\t\
      \ glyph_index,\t\t\t\t cairo_box_t *bbox,\t\t\t\t double *width) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/cairo/src/cairo-arc.c:65,1
    - Dst: sin
      Src: /src/cairo/src/cairo-arc.c:65,1
    - Dst: pow
      Src: /src/cairo/src/cairo-arc.c:65,1
    - Dst: cos
      Src: /src/cairo/src/cairo-arc.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - angle
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: _arc_error_normalized
    functionSourceFile: /src/cairo/src/cairo-arc.c
    functionUses: []
    functionsReached:
    - sin
    - pow
    - cos
    linkageType: ''
    returnType: double
    signature: 'static double _arc_error_normalized (double angle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_matrix_transformed_circle_major_axis
      Src: /src/cairo/src/cairo-arc.c:119,1
    - Dst: ceil
      Src: /src/cairo/src/cairo-arc.c:122,1
    - Dst: _arc_max_angle_for_tolerance_normalized
      Src: /src/cairo/src/cairo-arc.c:120,1
    - Dst: fabs
      Src: /src/cairo/src/cairo-arc.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - angle
    - radius
    - ctm
    - tolerance
    argTypes:
    - double
    - double
    - cairo_matrix_t*
    - double
    constantsTouched: []
    func_position:
      end: 123
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 123
    functionName: _arc_segments_needed
    functionSourceFile: /src/cairo/src/cairo-arc.c
    functionUses: []
    functionsReached:
    - fabs
    - _arc_max_angle_for_tolerance_normalized
    - ceil
    - _cairo_matrix_transformed_circle_major_axis
    linkageType: ''
    returnType: int
    signature: "static int _arc_segments_needed (double\t angle,\t\t double\t radius,\t\
      \t cairo_matrix_t *ctm,\t\t double\t tolerance) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_arc_in_direction
      Src: /src/cairo/src/cairo-arc.c:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 6
    argNames:
    - cr
    - xc
    - yc
    - radius
    - angle1
    - angle2
    argTypes:
    - cairo_t*
    - double
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 286
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 286
    functionName: _cairo_arc_path
    functionSourceFile: /src/cairo/src/cairo-arc.c
    functionUses: []
    functionsReached:
    - _cairo_arc_in_direction
    linkageType: ''
    returnType: void
    signature: "void _cairo_arc_path (cairo_t *cr,\t\t double\t xc,\t\t double\t yc,\t\
      \t double\t radius,\t\t double\t angle1,\t\t double\t angle2) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/src/cairo-arc.c:91,1
    - Dst: _arc_error_normalized
      Src: /src/cairo/src/cairo-arc.c:102,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - tolerance
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 106
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 106
    functionName: _arc_max_angle_for_tolerance_normalized
    functionSourceFile: /src/cairo/src/cairo-arc.c
    functionUses: []
    functionsReached:
    - ARRAY_LENGTH
    - _arc_error_normalized
    linkageType: ''
    returnType: double
    signature: 'static double _arc_max_angle_for_tolerance_normalized (double tolerance) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ISFINITE
      Src: /src/cairo/src/cairo-arc.c:190,1
    - Dst: fmod
      Src: /src/cairo/src/cairo-arc.c:197,1
    - Dst: _cairo_arc_in_direction
      Src: /src/cairo/src/cairo-arc.c:205,1
    - Dst: _cairo_arc_in_direction
      Src: /src/cairo/src/cairo-arc.c:213,1
    - Dst: _cairo_arc_segment
      Src: /src/cairo/src/cairo-arc.c:252,1
    - Dst: cairo_line_to
      Src: /src/cairo/src/cairo-arc.c:243,1
    - Dst: cos
      Src: /src/cairo/src/cairo-arc.c:256,1
    - Dst: cairo_status
      Src: /src/cairo/src/cairo-arc.c:187,1
    - Dst: fmod
      Src: /src/cairo/src/cairo-arc.c:196,1
    - Dst: cairo_get_tolerance
      Src: /src/cairo/src/cairo-arc.c:229,1
    - Dst: _cairo_arc_segment
      Src: /src/cairo/src/cairo-arc.c:248,1
    - Dst: cos
      Src: /src/cairo/src/cairo-arc.c:244,1
    - Dst: _arc_segments_needed
      Src: /src/cairo/src/cairo-arc.c:227,1
    - Dst: sin
      Src: /src/cairo/src/cairo-arc.c:257,1
    - Dst: ISFINITE
      Src: /src/cairo/src/cairo-arc.c:190,1
    - Dst: sin
      Src: /src/cairo/src/cairo-arc.c:245,1
    - Dst: assert
      Src: /src/cairo/src/cairo-arc.c:193,1
    - Dst: _cairo_arc_in_direction
      Src: /src/cairo/src/cairo-arc.c:209,1
    - Dst: _cairo_arc_in_direction
      Src: /src/cairo/src/cairo-arc.c:217,1
    - Dst: cairo_get_matrix
      Src: /src/cairo/src/cairo-arc.c:226,1
    - Dst: cairo_line_to
      Src: /src/cairo/src/cairo-arc.c:255,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 78
    argCount: 7
    argNames:
    - cr
    - xc
    - yc
    - radius
    - angle_min
    - angle_max
    - dir
    argTypes:
    - cairo_t*
    - double
    - double
    - double
    - double
    - double
    - cairo_direction_t
    constantsTouched: []
    func_position:
      end: 259
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 259
    functionName: _cairo_arc_in_direction
    functionSourceFile: /src/cairo/src/cairo-arc.c
    functionUses: []
    functionsReached:
    - _cairo_arc_segment
    - cairo_get_tolerance
    - cairo_line_to
    - cos
    - assert
    - _arc_segments_needed
    - cairo_status
    - _cairo_arc_in_direction
    - fmod
    - cairo_get_matrix
    - sin
    - ISFINITE
    linkageType: ''
    returnType: void
    signature: "static void _cairo_arc_in_direction (cairo_t\t *cr,\t\t\t double\t\
      \t xc,\t\t\t double\t\t yc,\t\t\t double\t\t radius,\t\t\t double\t\t angle_min,\t\
      \t\t double\t\t angle_max,\t\t\t cairo_direction_t dir) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sin
      Src: /src/cairo/src/cairo-arc.c:162,1
    - Dst: cos
      Src: /src/cairo/src/cairo-arc.c:163,1
    - Dst: tan
      Src: /src/cairo/src/cairo-arc.c:167,1
    - Dst: sin
      Src: /src/cairo/src/cairo-arc.c:164,1
    - Dst: cos
      Src: /src/cairo/src/cairo-arc.c:165,1
    - Dst: cairo_curve_to
      Src: /src/cairo/src/cairo-arc.c:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 6
    argNames:
    - cr
    - xc
    - yc
    - radius
    - angle_A
    - angle_B
    argTypes:
    - cairo_t*
    - double
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 176
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 176
    functionName: _cairo_arc_segment
    functionSourceFile: /src/cairo/src/cairo-arc.c
    functionUses: []
    functionsReached:
    - cairo_curve_to
    - sin
    - tan
    - cos
    linkageType: ''
    returnType: void
    signature: "static void _cairo_arc_segment (cairo_t *cr,\t\t double xc,\t\t double\
      \ yc,\t\t double radius,\t\t double angle_A,\t\t double angle_B) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_arc_in_direction
      Src: /src/cairo/src/cairo-arc.c:312,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 6
    argNames:
    - cr
    - xc
    - yc
    - radius
    - angle1
    - angle2
    argTypes:
    - cairo_t*
    - double
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 316
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 316
    functionName: _cairo_arc_path_negative
    functionSourceFile: /src/cairo/src/cairo-arc.c
    functionUses: []
    functionsReached:
    - _cairo_arc_in_direction
    linkageType: ''
    returnType: void
    signature: "void _cairo_arc_path_negative (cairo_t *cr,\t\t\t double xc,\t\t\t\
      \ double yc,\t\t\t double radius,\t\t\t double angle1,\t\t\t double angle2) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-clip.c:181,1
    - Dst: _cairo_clip_create
      Src: /src/cairo/src/cairo-clip.c:186,1
    - Dst: assert
      Src: /src/cairo/src/cairo-clip.c:184,1
    - Dst: _cairo_clip_path_reference
      Src: /src/cairo/src/cairo-clip.c:189,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 192
    functionName: _cairo_clip_copy_path
    functionSourceFile: /src/cairo/src/cairo-clip.c
    functionUses: []
    functionsReached:
    - _cairo_clip_path_reference
    - _cairo_clip_is_all_clipped
    - _cairo_clip_create
    - assert
    linkageType: ''
    returnType: cairo_clip_t*
    signature: 'cairo_clip_t *_cairo_clip_copy_path (const cairo_clip_t *clip) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-clip.c:310,1
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-clip.c:319,1
    - Dst: _cairo_rectangle_intersect
      Src: /src/cairo/src/cairo-clip.c:322,1
    - Dst: _cairo_clip_set_all_clipped
      Src: /src/cairo/src/cairo-clip.c:320,1
    - Dst: _cairo_clip_copy
      Src: /src/cairo/src/cairo-clip.c:317,1
    - Dst: _cairo_clip_set_all_clipped
      Src: /src/cairo/src/cairo-clip.c:323,1
    - Dst: _cairo_boxes_init_for_array
      Src: /src/cairo/src/cairo-clip.c:328,1
    - Dst: _cairo_clip_intersect_boxes
      Src: /src/cairo/src/cairo-clip.c:329,1
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-clip.c:332,1
    - Dst: _cairo_clip_path_reference
      Src: /src/cairo/src/cairo-clip.c:335,1
    - Dst: cairo_region_destroy
      Src: /src/cairo/src/cairo-clip.c:342,1
    - Dst: _cairo_clip_intersect_clip_path
      Src: /src/cairo/src/cairo-clip.c:337,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 348
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 348
    functionName: _cairo_clip_intersect_clip
    functionSourceFile: /src/cairo/src/cairo-clip.c
    functionUses: []
    functionsReached:
    - _cairo_rectangle_intersect
    - cairo_region_destroy
    - _cairo_clip_is_all_clipped
    - _cairo_boxes_init_for_array
    - _cairo_clip_path_reference
    - _cairo_clip_intersect_boxes
    - _cairo_clip_set_all_clipped
    - _cairo_clip_intersect_clip_path
    - _cairo_clip_copy
    linkageType: ''
    returnType: cairo_clip_t*
    signature: "cairo_clip_t *_cairo_clip_intersect_clip (cairo_clip_t *clip,\t\t\t\
      \ const cairo_clip_t *other) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_path_copy_with_translation
      Src: /src/cairo/src/cairo-clip.c:414,1
    - Dst: _cairo_clip_set_all_clipped
      Src: /src/cairo/src/cairo-clip.c:421,1
    - Dst: _cairo_clip_path_create
      Src: /src/cairo/src/cairo-clip.c:419,1
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-clip.c:416,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-clip.c:420,1
    - Dst: _cairo_path_fixed_init_copy
      Src: /src/cairo/src/cairo-clip.c:423,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-clip.c:425,1
    - Dst: _cairo_clip_set_all_clipped
      Src: /src/cairo/src/cairo-clip.c:426,1
    - Dst: _cairo_path_fixed_translate
      Src: /src/cairo/src/cairo-clip.c:428,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 435
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 435
    functionName: _cairo_clip_path_copy_with_translation
    functionSourceFile: /src/cairo/src/cairo-clip.c
    functionUses: []
    functionsReached:
    - _cairo_clip_path_create
    - _cairo_clip_path_copy_with_translation
    - _cairo_clip_is_all_clipped
    - _cairo_path_fixed_translate
    - _cairo_clip_set_all_clipped
    - _cairo_path_fixed_init_copy
    - unlikely
    linkageType: ''
    returnType: cairo_clip_t*
    signature: "static cairo_clip_t *_cairo_clip_path_copy_with_translation (cairo_clip_t\
      \ *clip,\t\t\t\t\tcairo_clip_path_t *other_path,\t\t\t\t\tint fx, int fy) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-clip.c:200,1
    - Dst: assert
      Src: /src/cairo/src/cairo-clip.c:203,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-clip.c:212,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-clip.c:211,1
    - Dst: _cairo_clip_create
      Src: /src/cairo/src/cairo-clip.c:205,1
    - Dst: _cairo_clip_set_all_clipped
      Src: /src/cairo/src/cairo-clip.c:213,1
    - Dst: _cairo_fixed_floor
      Src: /src/cairo/src/cairo-clip.c:217,1
    - Dst: _cairo_fixed_floor
      Src: /src/cairo/src/cairo-clip.c:218,1
    - Dst: _cairo_fixed_ceil
      Src: /src/cairo/src/cairo-clip.c:219,1
    - Dst: _cairo_fixed_ceil
      Src: /src/cairo/src/cairo-clip.c:220,1
    - Dst: cairo_region_reference
      Src: /src/cairo/src/cairo-clip.c:224,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 228
    functionName: _cairo_clip_copy_region
    functionSourceFile: /src/cairo/src/cairo-clip.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_floor
    - _cairo_clip_is_all_clipped
    - cairo_region_reference
    - _cairo_clip_create
    - assert
    - _cairo_fixed_ceil
    - _cairo_clip_set_all_clipped
    - _cairo_malloc_ab
    - unlikely
    linkageType: ''
    returnType: cairo_clip_t*
    signature: 'cairo_clip_t *_cairo_clip_copy_region (const cairo_clip_t *clip) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-clip.c:362,1
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-clip.c:363,1
    - Dst: memcmp
      Src: /src/cairo/src/cairo-clip.c:373,1
    - Dst: _cairo_path_fixed_equal
      Src: /src/cairo/src/cairo-clip.c:394,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 28
    argCount: 2
    argNames:
    - clip_a
    - clip_b
    argTypes:
    - cairo_clip_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 403
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 403
    functionName: _cairo_clip_equal
    functionSourceFile: /src/cairo/src/cairo-clip.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_equal
    - _cairo_clip_is_all_clipped
    - memcmp
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t _cairo_clip_equal (const cairo_clip_t *clip_a,\t\t const\
      \ cairo_clip_t *clip_b) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-clip.c:443,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-clip.c:449,1
    - Dst: _cairo_clip_path_copy_with_translation
      Src: /src/cairo/src/cairo-clip.c:467,1
    - Dst: _cairo_clip_path_destroy
      Src: /src/cairo/src/cairo-clip.c:468,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-clip.c:450,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 471
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 471
    functionName: _cairo_clip_translate
    functionSourceFile: /src/cairo/src/cairo-clip.c
    functionUses: []
    functionsReached:
    - _cairo_clip_path_copy_with_translation
    - _cairo_clip_path_destroy
    - _cairo_clip_is_all_clipped
    - _cairo_fixed_from_int
    linkageType: ''
    returnType: cairo_clip_t*
    signature: 'cairo_clip_t *_cairo_clip_translate (cairo_clip_t *clip, int tx, int
      ty) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-clip.c:90,1
    - Dst: _cairo_clip_path_destroy
      Src: /src/cairo/src/cairo-clip.c:98,1
    - Dst: CAIRO_REFERENCE_COUNT_HAS_REFERENCE
      Src: /src/cairo/src/cairo-clip.c:90,1
    - Dst: _cairo_path_fixed_fini
      Src: /src/cairo/src/cairo-clip.c:95,1
    - Dst: _cairo_reference_count_dec_and_test
      Src: /src/cairo/src/cairo-clip.c:92,1
    - Dst: _freed_pool_put
      Src: /src/cairo/src/cairo-clip.c:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - clip_path
    argTypes:
    - cairo_clip_path_t*
    constantsTouched: []
    func_position:
      end: 101
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 101
    functionName: _cairo_clip_path_destroy
    functionSourceFile: /src/cairo/src/cairo-clip.c
    functionUses: []
    functionsReached:
    - _cairo_clip_path_destroy
    - assert
    - _cairo_path_fixed_fini
    - _cairo_reference_count_dec_and_test
    - CAIRO_REFERENCE_COUNT_HAS_REFERENCE
    - _freed_pool_put
    linkageType: ''
    returnType: void
    signature: 'void _cairo_clip_path_destroy (cairo_clip_path_t *clip_path) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-clip.c:242,1
    - Dst: _cairo_path_fixed_fill_is_empty
      Src: /src/cairo/src/cairo-clip.c:246,1
    - Dst: _cairo_clip_set_all_clipped
      Src: /src/cairo/src/cairo-clip.c:247,1
    - Dst: _cairo_fixed_round_down
      Src: /src/cairo/src/cairo-clip.c:252,1
    - Dst: _cairo_fixed_round_down
      Src: /src/cairo/src/cairo-clip.c:253,1
    - Dst: _cairo_clip_intersect_box
      Src: /src/cairo/src/cairo-clip.c:257,1
    - Dst: _cairo_clip_set_all_clipped
      Src: /src/cairo/src/cairo-clip.c:265,1
    - Dst: _cairo_path_fixed_approximate_clip_extents
      Src: /src/cairo/src/cairo-clip.c:263,1
    - Dst: _cairo_fixed_round_down
      Src: /src/cairo/src/cairo-clip.c:251,1
    - Dst: _cairo_path_fixed_fill_is_rectilinear
      Src: /src/cairo/src/cairo-clip.c:259,1
    - Dst: _cairo_clip_intersect_rectilinear_path
      Src: /src/cairo/src/cairo-clip.c:260,1
    - Dst: _cairo_path_fixed_is_box
      Src: /src/cairo/src/cairo-clip.c:249,1
    - Dst: _cairo_fixed_round_down
      Src: /src/cairo/src/cairo-clip.c:254,1
    - Dst: _cairo_clip_set_all_clipped
      Src: /src/cairo/src/cairo-clip.c:273,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-clip.c:272,1
    - Dst: _cairo_path_fixed_init_copy
      Src: /src/cairo/src/cairo-clip.c:275,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-clip.c:276,1
    - Dst: _cairo_clip_set_all_clipped
      Src: /src/cairo/src/cairo-clip.c:277,1
    - Dst: cairo_region_destroy
      Src: /src/cairo/src/cairo-clip.c:284,1
    - Dst: _cairo_clip_path_create
      Src: /src/cairo/src/cairo-clip.c:271,1
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-clip.c:268,1
    - Dst: _cairo_clip_intersect_rectangle
      Src: /src/cairo/src/cairo-clip.c:267,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 290
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 290
    functionName: _cairo_clip_intersect_path
    functionSourceFile: /src/cairo/src/cairo-clip.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_fill_is_rectilinear
    - _cairo_path_fixed_is_box
    - _cairo_path_fixed_approximate_clip_extents
    - _cairo_clip_intersect_rectangle
    - _cairo_path_fixed_fill_is_empty
    - _cairo_clip_path_create
    - cairo_region_destroy
    - _cairo_fixed_round_down
    - _cairo_clip_is_all_clipped
    - _cairo_clip_intersect_box
    - _cairo_clip_intersect_rectilinear_path
    - _cairo_clip_set_all_clipped
    - _cairo_path_fixed_init_copy
    - unlikely
    linkageType: ''
    returnType: cairo_clip_t*
    signature: "cairo_clip_t *_cairo_clip_intersect_path (cairo_clip_t *clip,\t\t\t\
      \ const cairo_path_fixed_t *path,\t\t\t cairo_fill_rule_t fill_rule,\t\t\t double\
      \ tolerance,\t\t\t cairo_antialias_t antialias) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cairo/src/cairo-clip.c:649,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-clip.c:654,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-clip.c:659,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-clip.c:658,1
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-clip.c:653,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-clip.c:664,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-clip.c:666,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-clip.c:667,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-clip.c:668,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-clip.c:669,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/cairo-clip.c:670,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-clip.c:681,1
    - Dst: _cairo_debug_print_path
      Src: /src/cairo/src/cairo-clip.c:680,1
    - Dst: fprintf
      Src: /src/cairo/src/cairo-clip.c:676,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - stream
    - clip
    argTypes:
    - FILE*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 684
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 684
    functionName: _cairo_debug_print_clip
    functionSourceFile: /src/cairo/src/cairo-clip.c
    functionUses: []
    functionsReached:
    - _cairo_debug_print_path
    - _cairo_clip_is_all_clipped
    - fprintf
    - _cairo_fixed_to_double
    linkageType: ''
    returnType: void
    signature: 'void _cairo_debug_print_clip (FILE *stream, const cairo_clip_t *clip) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/cairo-clip.c:828,1
    - Dst: free
      Src: /src/cairo/src/cairo-clip.c:829,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - rectangle_list
    argTypes:
    - cairo_rectangle_list_t*
    constantsTouched: []
    func_position:
      end: 830
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 830
    functionName: cairo_rectangle_list_destroy
    functionSourceFile: /src/cairo/src/cairo-clip.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void cairo_rectangle_list_destroy (cairo_rectangle_list_t *rectangle_list) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _freed_pool_get
      Src: /src/cairo/src/cairo-clip.c:108,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-clip.c:110,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-clip.c:109,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-clip.c:111,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 124
    functionName: _cairo_clip_create
    functionSourceFile: /src/cairo/src/cairo-clip.c
    functionUses: []
    functionsReached:
    - _freed_pool_get
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_clip_t*
    signature: 'cairo_clip_t *_cairo_clip_create (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_intersect_clip_path
      Src: /src/cairo/src/cairo-clip.c:297,1
    - Dst: _cairo_clip_intersect_path
      Src: /src/cairo/src/cairo-clip.c:299,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 304
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 304
    functionName: _cairo_clip_intersect_clip_path
    functionSourceFile: /src/cairo/src/cairo-clip.c
    functionUses: []
    functionsReached:
    - _cairo_clip_intersect_path
    - _cairo_clip_intersect_clip_path
    linkageType: ''
    returnType: cairo_clip_t*
    signature: "static cairo_clip_t *_cairo_clip_intersect_clip_path (cairo_clip_t\
      \ *clip,\t\t\t\t const cairo_clip_path_t *clip_path) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-clip.c:692,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 696
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 696
    functionName: _cairo_clip_get_extents
    functionSourceFile: /src/cairo/src/cairo-clip.c
    functionUses: []
    functionsReached:
    - _cairo_clip_is_all_clipped
    linkageType: ''
    returnType: cairo_rectangle_int_t*
    signature: 'const cairo_rectangle_int_t *_cairo_clip_get_extents (const cairo_clip_t
      *clip) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _freed_pool_reset
      Src: /src/cairo/src/cairo-clip.c:835,1
    - Dst: _freed_pool_reset
      Src: /src/cairo/src/cairo-clip.c:836,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 837
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 837
    functionName: _cairo_clip_reset_static_data
    functionSourceFile: /src/cairo/src/cairo-clip.c
    functionUses: []
    functionsReached:
    - _freed_pool_reset
    linkageType: ''
    returnType: void
    signature: 'void _cairo_clip_reset_static_data (void) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ERROR_LIST
      Src: /src/cairo/src/cairo-clip.c:762,1
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-clip.c:764,1
    - Dst: _cairo_clip_is_region
      Src: /src/cairo/src/cairo-clip.c:767,1
    - Dst: _cairo_clip_get_region
      Src: /src/cairo/src/cairo-clip.c:770,1
    - Dst: ERROR_LIST
      Src: /src/cairo/src/cairo-clip.c:768,1
    - Dst: ERROR_LIST
      Src: /src/cairo/src/cairo-clip.c:772,1
    - Dst: cairo_region_num_rectangles
      Src: /src/cairo/src/cairo-clip.c:774,1
    - Dst: _cairo_calloc_ab
      Src: /src/cairo/src/cairo-clip.c:776,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-clip.c:777,1
    - Dst: ERROR_LIST
      Src: /src/cairo/src/cairo-clip.c:778,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-clip.c:797,1
    - Dst: ERROR_LIST
      Src: /src/cairo/src/cairo-clip.c:791,1
    - Dst: ERROR_LIST
      Src: /src/cairo/src/cairo-clip.c:800,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-clip.c:798,1
    - Dst: _cairo_clip_int_rect_to_user
      Src: /src/cairo/src/cairo-clip.c:786,1
    - Dst: free
      Src: /src/cairo/src/cairo-clip.c:799,1
    - Dst: cairo_region_get_rectangle
      Src: /src/cairo/src/cairo-clip.c:784,1
    - Dst: free
      Src: /src/cairo/src/cairo-clip.c:790,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 809
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 809
    functionName: _cairo_clip_copy_rectangle_list
    functionSourceFile: /src/cairo/src/cairo-clip.c
    functionUses: []
    functionsReached:
    - _cairo_calloc_ab
    - free
    - _cairo_clip_is_region
    - ERROR_LIST
    - _cairo_clip_get_region
    - _cairo_clip_is_all_clipped
    - cairo_region_num_rectangles
    - cairo_region_get_rectangle
    - _cairo_clip_int_rect_to_user
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_rectangle_list_t*
    signature: 'cairo_rectangle_list_t *_cairo_clip_copy_rectangle_list (cairo_clip_t
      *clip, cairo_gstate_t *gstate) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _freed_pool_get
      Src: /src/cairo/src/cairo-clip.c:62,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-clip.c:63,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-clip.c:64,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-clip.c:65,1
    - Dst: CAIRO_REFERENCE_COUNT_INIT
      Src: /src/cairo/src/cairo-clip.c:69,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 75
    functionName: _cairo_clip_path_create
    functionSourceFile: /src/cairo/src/cairo-clip.c
    functionUses: []
    functionsReached:
    - _freed_pool_get
    - CAIRO_REFERENCE_COUNT_INIT
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_clip_path_t*
    signature: 'static cairo_clip_path_t *_cairo_clip_path_create (cairo_clip_t *clip) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-clip.c:129,1
    - Dst: _cairo_clip_path_destroy
      Src: /src/cairo/src/cairo-clip.c:133,1
    - Dst: _freed_pool_put
      Src: /src/cairo/src/cairo-clip.c:139,1
    - Dst: cairo_region_destroy
      Src: /src/cairo/src/cairo-clip.c:137,1
    - Dst: free
      Src: /src/cairo/src/cairo-clip.c:136,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - clip
    argTypes:
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 140
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 140
    functionName: _cairo_clip_destroy
    functionSourceFile: /src/cairo/src/cairo-clip.c
    functionUses: []
    functionsReached:
    - cairo_region_destroy
    - free
    - _cairo_clip_path_destroy
    - _cairo_clip_is_all_clipped
    - _freed_pool_put
    linkageType: ''
    returnType: void
    signature: 'void _cairo_clip_destroy (cairo_clip_t *clip) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_fixed_move_to
      Src: /src/cairo/src/cairo-clip.c:479,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-clip.c:484,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-clip.c:480,1
    - Dst: _cairo_path_fixed_line_to
      Src: /src/cairo/src/cairo-clip.c:487,1
    - Dst: _cairo_path_fixed_line_to
      Src: /src/cairo/src/cairo-clip.c:483,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-clip.c:488,1
    - Dst: _cairo_path_fixed_line_to
      Src: /src/cairo/src/cairo-clip.c:491,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-clip.c:492,1
    - Dst: _cairo_path_fixed_close_path
      Src: /src/cairo/src/cairo-clip.c:495,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - path
    - box
    argTypes:
    - cairo_path_fixed_t*
    - cairo_box_t*
    constantsTouched: []
    func_position:
      end: 496
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 496
    functionName: _cairo_path_fixed_add_box
    functionSourceFile: /src/cairo/src/cairo-clip.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_close_path
    - _cairo_path_fixed_move_to
    - _cairo_path_fixed_line_to
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_path_fixed_add_box (cairo_path_fixed_t\
      \ *path,\t\t\t const cairo_box_t *box) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-clip.c:592,1
    - Dst: _cairo_clip_create
      Src: /src/cairo/src/cairo-clip.c:598,1
    - Dst: _cairo_clip_copy
      Src: /src/cairo/src/cairo-clip.c:596,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-clip.c:602,1
    - Dst: _cairo_clip_set_all_clipped
      Src: /src/cairo/src/cairo-clip.c:600,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/cairo-clip.c:603,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-clip.c:609,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-clip.c:610,1
    - Dst: _cairo_clip_set_all_clipped
      Src: /src/cairo/src/cairo-clip.c:611,1
    - Dst: _cairo_clip_path_copy_with_translation
      Src: /src/cairo/src/cairo-clip.c:630,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 631
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 631
    functionName: _cairo_clip_copy_with_translation
    functionSourceFile: /src/cairo/src/cairo-clip.c
    functionUses: []
    functionsReached:
    - _cairo_clip_path_copy_with_translation
    - unlikely
    - _cairo_clip_is_all_clipped
    - _cairo_clip_create
    - _cairo_clip_set_all_clipped
    - _cairo_malloc_ab
    - _cairo_clip_copy
    - _cairo_fixed_from_int
    linkageType: ''
    returnType: cairo_clip_t*
    signature: 'cairo_clip_t *_cairo_clip_copy_with_translation (const cairo_clip_t
      *clip, int tx, int ty) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_intersect_clip_path_transformed
      Src: /src/cairo/src/cairo-clip.c:531,1
    - Dst: _cairo_path_fixed_transform
      Src: /src/cairo/src/cairo-clip.c:538,1
    - Dst: _cairo_clip_set_all_clipped
      Src: /src/cairo/src/cairo-clip.c:536,1
    - Dst: _cairo_path_fixed_init_copy
      Src: /src/cairo/src/cairo-clip.c:535,1
    - Dst: _cairo_clip_intersect_path
      Src: /src/cairo/src/cairo-clip.c:540,1
    - Dst: _cairo_path_fixed_fini
      Src: /src/cairo/src/cairo-clip.c:545,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 548
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 548
    functionName: _cairo_clip_intersect_clip_path_transformed
    functionSourceFile: /src/cairo/src/cairo-clip.c
    functionUses: []
    functionsReached:
    - _cairo_clip_intersect_path
    - _cairo_path_fixed_transform
    - _cairo_clip_intersect_clip_path_transformed
    - _cairo_path_fixed_fini
    - _cairo_clip_set_all_clipped
    - _cairo_path_fixed_init_copy
    linkageType: ''
    returnType: cairo_clip_t*
    signature: "static cairo_clip_t *_cairo_clip_intersect_clip_path_transformed (cairo_clip_t\
      \ *clip,\t\t\t\t\t const cairo_clip_path_t *clip_path,\t\t\t\t\t const cairo_matrix_t\
      \ *m) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_gstate_backend_to_user_rectangle
      Src: /src/cairo/src/cairo-clip.c:715,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - gstate
    - clip_rect
    - user_rect
    argTypes:
    - cairo_gstate_t*
    - cairo_rectangle_int_t*
    - cairo_rectangle_t*
    constantsTouched: []
    func_position:
      end: 725
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 725
    functionName: _cairo_clip_int_rect_to_user
    functionSourceFile: /src/cairo/src/cairo-clip.c
    functionUses: []
    functionsReached:
    - _cairo_gstate_backend_to_user_rectangle
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _cairo_clip_int_rect_to_user (cairo_gstate_t *gstate,\t\
      \t\t cairo_rectangle_int_t *clip_rect,\t\t\t cairo_rectangle_t *user_rect) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/cairo-clip.c:80,1
    - Dst: _cairo_reference_count_inc
      Src: /src/cairo/src/cairo-clip.c:82,1
    - Dst: CAIRO_REFERENCE_COUNT_HAS_REFERENCE
      Src: /src/cairo/src/cairo-clip.c:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: _cairo_clip_path_reference
    functionSourceFile: /src/cairo/src/cairo-clip.c
    functionUses: []
    functionsReached:
    - _cairo_reference_count_inc
    - CAIRO_REFERENCE_COUNT_HAS_REFERENCE
    - assert
    linkageType: ''
    returnType: cairo_clip_path_t*
    signature: 'cairo_clip_path_t *_cairo_clip_path_reference (cairo_clip_path_t *clip_path) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-clip.c:147,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-clip.c:160,1
    - Dst: _cairo_clip_create
      Src: /src/cairo/src/cairo-clip.c:150,1
    - Dst: _cairo_clip_path_reference
      Src: /src/cairo/src/cairo-clip.c:153,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/cairo-clip.c:159,1
    - Dst: _cairo_clip_set_all_clipped
      Src: /src/cairo/src/cairo-clip.c:161,1
    - Dst: memcpy
      Src: /src/cairo/src/cairo-clip.c:164,1
    - Dst: cairo_region_reference
      Src: /src/cairo/src/cairo-clip.c:170,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 174
    functionName: _cairo_clip_copy
    functionSourceFile: /src/cairo/src/cairo-clip.c
    functionUses: []
    functionsReached:
    - memcpy
    - _cairo_clip_is_all_clipped
    - cairo_region_reference
    - _cairo_clip_create
    - _cairo_clip_path_reference
    - _cairo_clip_set_all_clipped
    - _cairo_malloc_ab
    - unlikely
    linkageType: ''
    returnType: cairo_clip_t*
    signature: 'cairo_clip_t *_cairo_clip_copy (const cairo_clip_t *clip) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_fixed_init
      Src: /src/cairo/src/cairo-clip.c:506,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-clip.c:513,1
    - Dst: _cairo_path_fixed_fini
      Src: /src/cairo/src/cairo-clip.c:514,1
    - Dst: _cairo_path_fixed_add_box
      Src: /src/cairo/src/cairo-clip.c:512,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - path
    - boxes
    argTypes:
    - cairo_path_fixed_t*
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 521
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 521
    functionName: _cairo_path_fixed_init_from_boxes
    functionSourceFile: /src/cairo/src/cairo-clip.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_fini
    - unlikely
    - _cairo_path_fixed_add_box
    - _cairo_path_fixed_init
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_path_fixed_init_from_boxes (cairo_path_fixed_t\
      \ *path,\t\t\t\t const cairo_boxes_t *boxes) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_is_all_clipped
      Src: /src/cairo/src/cairo-clip.c:555,1
    - Dst: _cairo_boxes_init_for_array
      Src: /src/cairo/src/cairo-clip.c:567,1
    - Dst: _cairo_matrix_is_translation
      Src: /src/cairo/src/cairo-clip.c:558,1
    - Dst: _cairo_clip_create
      Src: /src/cairo/src/cairo-clip.c:561,1
    - Dst: _cairo_clip_translate
      Src: /src/cairo/src/cairo-clip.c:559,1
    - Dst: _cairo_path_fixed_init_from_boxes
      Src: /src/cairo/src/cairo-clip.c:568,1
    - Dst: _cairo_path_fixed_transform
      Src: /src/cairo/src/cairo-clip.c:569,1
    - Dst: _cairo_clip_intersect_path
      Src: /src/cairo/src/cairo-clip.c:571,1
    - Dst: _cairo_path_fixed_fini
      Src: /src/cairo/src/cairo-clip.c:576,1
    - Dst: _cairo_clip_intersect_clip_path_transformed
      Src: /src/cairo/src/cairo-clip.c:580,1
    - Dst: _cairo_clip_destroy
      Src: /src/cairo/src/cairo-clip.c:582,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 584
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 584
    functionName: _cairo_clip_transform
    functionSourceFile: /src/cairo/src/cairo-clip.c
    functionUses: []
    functionsReached:
    - _cairo_clip_destroy
    - _cairo_matrix_is_translation
    - _cairo_clip_is_all_clipped
    - _cairo_boxes_init_for_array
    - _cairo_clip_create
    - _cairo_clip_intersect_path
    - _cairo_path_fixed_transform
    - _cairo_path_fixed_fini
    - _cairo_clip_intersect_clip_path_transformed
    - _cairo_clip_translate
    - _cairo_path_fixed_init_from_boxes
    linkageType: ''
    returnType: cairo_clip_t*
    signature: 'cairo_clip_t *_cairo_clip_transform (cairo_clip_t *clip, const cairo_matrix_t
      *m) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_contains_rectangle
      Src: /src/cairo/src/cairo-clip.c:640,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - clip
    - extents
    argTypes:
    - cairo_clip_t*
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 641
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 641
    functionName: _cairo_clip_contains_extents
    functionSourceFile: /src/cairo/src/cairo-clip.c
    functionUses: []
    functionsReached:
    - _cairo_clip_contains_rectangle
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t _cairo_clip_contains_extents (const cairo_clip_t *clip,\t\
      \t\t const cairo_composite_rectangles_t *extents) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/cairo-clip.c:737,1
    - Dst: _cairo_error
      Src: /src/cairo/src/cairo-clip.c:739,1
    - Dst: unlikely
      Src: /src/cairo/src/cairo-clip.c:738,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 748
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 748
    functionName: _cairo_rectangle_list_create_in_error
    functionSourceFile: /src/cairo/src/cairo-clip.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - unlikely
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_rectangle_list_t*
    signature: 'cairo_rectangle_list_t *_cairo_rectangle_list_create_in_error (cairo_status_t
      status) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: _get_global_font_dc
      Src: /src/cairo/src/win32/cairo-win32-font.c:318,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-font.c:324,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-font.c:320,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/win32/cairo-win32-font.c:322,1
    - Dst: cairo_win32_get_system_text_quality
      Src: /src/cairo/src/win32/cairo-win32-font.c:337,1
    - Dst: _have_cleartype_quality
      Src: /src/cairo/src/win32/cairo-win32-font.c:350,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/win32/cairo-win32-font.c:378,1
    - Dst: _compute_transform
      Src: /src/cairo/src/win32/cairo-win32-font.c:379,1
    - Dst: _cairo_scaled_font_init
      Src: /src/cairo/src/win32/cairo-win32-font.c:383,1
    - Dst: _cairo_win32_scaled_font_set_metrics
      Src: /src/cairo/src/win32/cairo-win32-font.c:389,1
    - Dst: _cairo_scaled_font_fini
      Src: /src/cairo/src/win32/cairo-win32-font.c:391,1
    - Dst: free
      Src: /src/cairo/src/win32/cairo-win32-font.c:399,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 44
    argCount: 7
    argNames:
    - logfont
    - face_hfont
    - font_face
    - font_matrix
    - ctm
    - options
    - font_out
    argTypes:
    - LOGFONTW*
    - HFONT
    - cairo_font_face_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - cairo_font_options_t*
    - cairo_scaled_font_t**
    constantsTouched: []
    func_position:
      end: 401
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 401
    functionName: _win32_scaled_font_create
    functionSourceFile: /src/cairo/src/win32/cairo-win32-font.c
    functionUses: []
    functionsReached:
    - cairo_win32_get_system_text_quality
    - _get_global_font_dc
    - _cairo_win32_scaled_font_set_metrics
    - _cairo_error
    - free
    - _cairo_scaled_font_fini
    - cairo_matrix_multiply
    - _compute_transform
    - _have_cleartype_quality
    - _cairo_scaled_font_init
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _win32_scaled_font_create (LOGFONTW *logfont,\t\
      \t\t HFONT face_hfont,\t\t\t cairo_font_face_t\t *font_face,\t\t\t const cairo_matrix_t\
      \ *font_matrix,\t\t\t const cairo_matrix_t *ctm,\t\t\t const cairo_font_options_t\
      \ *options,\t\t\t cairo_scaled_font_t **font_out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - scaled_font
    argTypes:
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 565
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 565
    functionName: _cairo_win32_scaled_font_done_unscaled_font
    functionSourceFile: /src/cairo/src/win32/cairo-win32-font.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_win32_scaled_font_done_unscaled_font (cairo_scaled_font_t
      *scaled_font) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DeleteObject
      Src: /src/cairo/src/win32/cairo-win32-font.c:642,1
    - Dst: DeleteObject
      Src: /src/cairo/src/win32/cairo-win32-font.c:645,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 1
    argNames:
    - abstract_font
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 646
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 646
    functionName: _cairo_win32_scaled_font_fini
    functionSourceFile: /src/cairo/src/win32/cairo-win32-font.c
    functionUses: []
    functionsReached:
    - DeleteObject
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_win32_scaled_font_fini (void *abstract_font) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _get_global_font_dc
      Src: /src/cairo/src/win32/cairo-win32-font.c:686,1
    - Dst: cairo_win32_scaled_font_select_font
      Src: /src/cairo/src/win32/cairo-win32-font.c:693,1
    - Dst: assert
      Src: /src/cairo/src/win32/cairo-win32-font.c:687,1
    - Dst: fprintf
      Src: /src/cairo/src/win32/cairo-win32-font.c:698,1
    - Dst: GetTextMetrics
      Src: /src/cairo/src/win32/cairo-win32-font.c:697,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-font.c:699,1
    - Dst: cairo_win32_scaled_font_done_font
      Src: /src/cairo/src/win32/cairo-win32-font.c:702,1
    - Dst: _cairo_win32_scaled_font_select_unscaled_font
      Src: /src/cairo/src/win32/cairo-win32-font.c:719,1
    - Dst: GetTextMetrics
      Src: /src/cairo/src/win32/cairo-win32-font.c:722,1
    - Dst: _cairo_win32_scaled_font_done_unscaled_font
      Src: /src/cairo/src/win32/cairo-win32-font.c:723,1
    - Dst: _cairo_scaled_font_set_metrics
      Src: /src/cairo/src/win32/cairo-win32-font.c:755,1
    - Dst: GetFontData
      Src: /src/cairo/src/win32/cairo-win32-font.c:748,1
    - Dst: GetFontData
      Src: /src/cairo/src/win32/cairo-win32-font.c:749,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 59
    argCount: 1
    argNames:
    - scaled_font
    argTypes:
    - cairo_win32_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 756
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 756
    functionName: _cairo_win32_scaled_font_set_metrics
    functionSourceFile: /src/cairo/src/win32/cairo-win32-font.c
    functionUses: []
    functionsReached:
    - _cairo_scaled_font_set_metrics
    - GetTextMetrics
    - fprintf
    - _get_global_font_dc
    - _cairo_error
    - _cairo_win32_scaled_font_done_unscaled_font
    - assert
    - cairo_win32_scaled_font_select_font
    - cairo_win32_scaled_font_done_font
    - _cairo_win32_scaled_font_select_unscaled_font
    - GetFontData
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_win32_scaled_font_set_metrics (cairo_win32_scaled_font_t
      *scaled_font) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/win32/cairo-win32-font.c:1006,1
    - Dst: _cairo_lround
      Src: /src/cairo/src/win32/cairo-win32-font.c:1009,1
    - Dst: _flush_glyphs
      Src: /src/cairo/src/win32/cairo-win32-font.c:1015,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/win32/cairo-win32-font.c:1021,1
    - Dst: _cairo_lround
      Src: /src/cairo/src/win32/cairo-win32-font.c:1008,1
    - Dst: _cairo_array_append
      Src: /src/cairo/src/win32/cairo-win32-font.c:1032,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 4
    argNames:
    - state
    - index
    - device_x
    - device_y
    argTypes:
    - cairo_glyph_state_t*
    - unsigned long
    - double
    - double
    constantsTouched: []
    func_position:
      end: 1037
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 1037
    functionName: _add_glyph
    functionSourceFile: /src/cairo/src/win32/cairo-win32-font.c
    functionUses: []
    functionsReached:
    - _flush_glyphs
    - _cairo_array_append
    - _cairo_lround
    - cairo_matrix_transform_point
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _add_glyph (cairo_glyph_state_t *state,\t unsigned\
      \ long index,\t double device_x,\t double device_y) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_win32_scaled_font_load_truetype_table
      Src: /src/cairo/src/win32/cairo-win32-font.c:1337,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - abstract_font
    - offset
    - buffer
    - length
    argTypes:
    - void*
    - long
    - unsigned char*
    - unsigned long*
    constantsTouched: []
    func_position:
      end: 1342
      start: 1324
    functionDepth: 0
    functionLinenumber: 1324
    functionLinenumberEnd: 1342
    functionName: _cairo_win32_scaled_font_load_type1_data
    functionSourceFile: /src/cairo/src/win32/cairo-win32-font.c
    functionUses: []
    functionsReached:
    - _cairo_win32_scaled_font_load_truetype_table
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_win32_scaled_font_load_type1_data\
      \ (void\t *abstract_font,\t\t\t\t\t long offset,\t\t\t\t\t unsigned char *buffer,\t\
      \t\t\t\t unsigned long *length) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_integer_floor
      Src: /src/cairo/src/win32/cairo-win32-font.c:1407,1
    - Dst: _cairo_fixed_integer_ceil
      Src: /src/cairo/src/win32/cairo-win32-font.c:1410,1
    - Dst: _cairo_fixed_integer_floor
      Src: /src/cairo/src/win32/cairo-win32-font.c:1408,1
    - Dst: _cairo_fixed_integer_ceil
      Src: /src/cairo/src/win32/cairo-win32-font.c:1409,1
    - Dst: cairo_win32_surface_create_with_dib
      Src: /src/cairo/src/win32/cairo-win32-font.c:1414,1
    - Dst: _cairo_surface_paint
      Src: /src/cairo/src/win32/cairo-win32-font.c:1416,1
    - Dst: _cairo_scaled_glyph_index
      Src: /src/cairo/src/win32/cairo-win32-font.c:1421,1
    - Dst: _draw_glyphs_on_surface
      Src: /src/cairo/src/win32/cairo-win32-font.c:1424,1
    - Dst: to_win32_surface
      Src: /src/cairo/src/win32/cairo-win32-font.c:1424,1
    - Dst: RGB
      Src: /src/cairo/src/win32/cairo-win32-font.c:1425,1
    - Dst: _cairo_compute_glyph_mask
      Src: /src/cairo/src/win32/cairo-win32-font.c:1430,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/win32/cairo-win32-font.c:1441,1
    - Dst: cairo_surface_set_device_offset
      Src: /src/cairo/src/win32/cairo-win32-font.c:1435,1
    - Dst: _cairo_scaled_glyph_set_surface
      Src: /src/cairo/src/win32/cairo-win32-font.c:1436,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 2
    argNames:
    - scaled_font
    - scaled_glyph
    argTypes:
    - cairo_win32_scaled_font_t*
    - cairo_scaled_glyph_t*
    constantsTouched: []
    func_position:
      end: 1444
      start: 1396
    functionDepth: 0
    functionLinenumber: 1396
    functionLinenumberEnd: 1444
    functionName: _cairo_win32_scaled_font_init_glyph_surface
    functionSourceFile: /src/cairo/src/win32/cairo-win32-font.c
    functionUses: []
    functionsReached:
    - _cairo_compute_glyph_mask
    - _cairo_scaled_glyph_set_surface
    - _cairo_scaled_glyph_index
    - cairo_win32_surface_create_with_dib
    - cairo_surface_destroy
    - _cairo_fixed_integer_ceil
    - to_win32_surface
    - cairo_surface_set_device_offset
    - _draw_glyphs_on_surface
    - RGB
    - _cairo_surface_paint
    - _cairo_fixed_integer_floor
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_win32_scaled_font_init_glyph_surface
      (cairo_win32_scaled_font_t *scaled_font, cairo_scaled_glyph_t *scaled_glyph) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_win32_scaled_font_select_unscaled_font
      Src: /src/cairo/src/win32/cairo-win32-font.c:1483,1
    - Dst: assert
      Src: /src/cairo/src/win32/cairo-win32-font.c:1476,1
    - Dst: cairo_win32_scaled_font_select_font
      Src: /src/cairo/src/win32/cairo-win32-font.c:1487,1
    - Dst: GetGlyphOutlineW
      Src: /src/cairo/src/win32/cairo-win32-font.c:1509,1
    - Dst: _cairo_scaled_glyph_index
      Src: /src/cairo/src/win32/cairo-win32-font.c:1509,1
    - Dst: _cairo_win32_transform_FIXED_to_fixed
      Src: /src/cairo/src/win32/cairo-win32-font.c:1558,1
    - Dst: _cairo_path_fixed_close_path
      Src: /src/cairo/src/win32/cairo-win32-font.c:1606,1
    - Dst: cairo_win32_scaled_font_done_font
      Src: /src/cairo/src/win32/cairo-win32-font.c:1622,1
    - Dst: _cairo_path_fixed_create
      Src: /src/cairo/src/win32/cairo-win32-font.c:1478,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/src/win32/cairo-win32-font.c:1485,1
    - Dst: fprintf
      Src: /src/cairo/src/win32/cairo-win32-font.c:1498,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-font.c:1513,1
    - Dst: _cairo_win32_transform_FIXED_to_fixed
      Src: /src/cairo/src/win32/cairo-win32-font.c:1538,1
    - Dst: _cairo_path_fixed_curve_to
      Src: /src/cairo/src/win32/cairo-win32-font.c:1578,1
    - Dst: _cairo_win32_transform_FIXED_to_fixed
      Src: /src/cairo/src/win32/cairo-win32-font.c:1590,1
    - Dst: _cairo_win32_transform_FIXED_to_fixed
      Src: /src/cairo/src/win32/cairo-win32-font.c:1594,1
    - Dst: _cairo_path_fixed_curve_to
      Src: /src/cairo/src/win32/cairo-win32-font.c:1598,1
    - Dst: _cairo_scaled_glyph_set_path
      Src: /src/cairo/src/win32/cairo-win32-font.c:1611,1
    - Dst: free
      Src: /src/cairo/src/win32/cairo-win32-font.c:1616,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-font.c:1480,1
    - Dst: _cairo_scaled_glyph_index
      Src: /src/cairo/src/win32/cairo-win32-font.c:1493,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-font.c:1505,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/win32/cairo-win32-font.c:1503,1
    - Dst: _cairo_win32_transform_FIXED_to_fixed
      Src: /src/cairo/src/win32/cairo-win32-font.c:1523,1
    - Dst: _cairo_path_fixed_move_to
      Src: /src/cairo/src/win32/cairo-win32-font.c:1527,1
    - Dst: _cairo_path_fixed_line_to
      Src: /src/cairo/src/win32/cairo-win32-font.c:1542,1
    - Dst: _cairo_path_fixed_get_current_point
      Src: /src/cairo/src/win32/cairo-win32-font.c:1550,1
    - Dst: _cairo_win32_transform_FIXED_to_fixed
      Src: /src/cairo/src/win32/cairo-win32-font.c:1552,1
    - Dst: _cairo_win32_transform_FIXED_to_fixed
      Src: /src/cairo/src/win32/cairo-win32-font.c:1565,1
    - Dst: _get_global_font_dc
      Src: /src/cairo/src/win32/cairo-win32-font.c:1475,1
    - Dst: cairo_matrix_init_identity
      Src: /src/cairo/src/win32/cairo-win32-font.c:1488,1
    - Dst: GetGlyphOutlineW
      Src: /src/cairo/src/win32/cairo-win32-font.c:1493,1
    - Dst: fprintf
      Src: /src/cairo/src/win32/cairo-win32-font.c:1512,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-font.c:1499,1
    - Dst: _cairo_win32_transform_FIXED_to_fixed
      Src: /src/cairo/src/win32/cairo-win32-font.c:1586,1
    - Dst: _cairo_path_fixed_destroy
      Src: /src/cairo/src/win32/cairo-win32-font.c:1626,1
    - Dst: _cairo_win32_scaled_font_done_unscaled_font
      Src: /src/cairo/src/win32/cairo-win32-font.c:1620,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 137
    argCount: 2
    argNames:
    - scaled_font
    - scaled_glyph
    argTypes:
    - cairo_win32_scaled_font_t*
    - cairo_scaled_glyph_t*
    constantsTouched: []
    func_position:
      end: 1629
      start: 1458
    functionDepth: 0
    functionLinenumber: 1458
    functionLinenumberEnd: 1629
    functionName: _cairo_win32_scaled_font_init_glyph_path
    functionSourceFile: /src/cairo/src/win32/cairo-win32-font.c
    functionUses: []
    functionsReached:
    - GetGlyphOutlineW
    - _cairo_scaled_glyph_index
    - _get_global_font_dc
    - _cairo_error
    - _cairo_win32_scaled_font_select_unscaled_font
    - fprintf
    - _cairo_path_fixed_destroy
    - _cairo_path_fixed_move_to
    - _cairo_path_fixed_line_to
    - cairo_win32_scaled_font_select_font
    - _cairo_scaled_glyph_set_path
    - _cairo_win32_transform_FIXED_to_fixed
    - _cairo_path_fixed_create
    - _cairo_path_fixed_curve_to
    - cairo_matrix_scale
    - assert
    - cairo_matrix_init_identity
    - _cairo_path_fixed_close_path
    - cairo_win32_scaled_font_done_font
    - _cairo_malloc
    - _cairo_path_fixed_get_current_point
    - _cairo_win32_scaled_font_done_unscaled_font
    - free
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_win32_scaled_font_init_glyph_path (cairo_win32_scaled_font_t\
      \ *scaled_font,\t\t\t\t\t cairo_scaled_glyph_t *scaled_glyph) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_matrix_to_win32_xform
      Src: /src/cairo/src/win32/cairo-win32-font.c:409,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-font.c:413,1
    - Dst: fprintf
      Src: /src/cairo/src/win32/cairo-win32-font.c:412,1
    - Dst: SetWorldTransform
      Src: /src/cairo/src/win32/cairo-win32-font.c:411,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - scaled_font
    - hdc
    argTypes:
    - cairo_win32_scaled_font_t*
    - HDC
    constantsTouched: []
    func_position:
      end: 417
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 417
    functionName: _win32_scaled_font_set_world_transform
    functionSourceFile: /src/cairo/src/win32/cairo-win32-font.c
    functionUses: []
    functionsReached:
    - SetWorldTransform
    - _cairo_error
    - fprintf
    - _cairo_matrix_to_win32_xform
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _win32_scaled_font_set_world_transform (cairo_win32_scaled_font_t\
      \ *scaled_font,\t\t\t\t\tHDC hdc) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _get_global_font_dc
      Src: /src/cairo/src/win32/cairo-win32-font.c:658,1
    - Dst: fprintf
      Src: /src/cairo/src/win32/cairo-win32-font.c:668,1
    - Dst: assert
      Src: /src/cairo/src/win32/cairo-win32-font.c:659,1
    - Dst: GetGlyphIndicesW
      Src: /src/cairo/src/win32/cairo-win32-font.c:667,1
    - Dst: cairo_win32_scaled_font_select_font
      Src: /src/cairo/src/win32/cairo-win32-font.c:661,1
    - Dst: cairo_win32_scaled_font_done_font
      Src: /src/cairo/src/win32/cairo-win32-font.c:672,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - abstract_font
    - ucs4
    argTypes:
    - void*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 675
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 675
    functionName: _cairo_win32_scaled_font_ucs4_to_index
    functionSourceFile: /src/cairo/src/win32/cairo-win32-font.c
    functionUses: []
    functionsReached:
    - fprintf
    - _get_global_font_dc
    - assert
    - cairo_win32_scaled_font_select_font
    - cairo_win32_scaled_font_done_font
    - GetGlyphIndicesW
    linkageType: ''
    returnType: unsigned long
    signature: "static unsigned long _cairo_win32_scaled_font_ucs4_to_index (void\t\
      \t*abstract_font,\t\t\t\t\tuint32_t\t ucs4) "
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: GetCharWidth32
      Src: /src/cairo/src/win32/cairo-win32-font.c:783,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-font.c:785,1
    - Dst: cairo_win32_scaled_font_select_font
      Src: /src/cairo/src/win32/cairo-win32-font.c:802,1
    - Dst: _cairo_win32_scaled_font_select_unscaled_font
      Src: /src/cairo/src/win32/cairo-win32-font.c:855,1
    - Dst: _get_global_font_dc
      Src: /src/cairo/src/win32/cairo-win32-font.c:768,1
    - Dst: cairo_win32_scaled_font_done_font
      Src: /src/cairo/src/win32/cairo-win32-font.c:788,1
    - Dst: GetGlyphOutlineW
      Src: /src/cairo/src/win32/cairo-win32-font.c:859,1
    - Dst: _cairo_win32_scaled_font_done_unscaled_font
      Src: /src/cairo/src/win32/cairo-win32-font.c:864,1
    - Dst: GetGlyphOutlineW
      Src: /src/cairo/src/win32/cairo-win32-font.c:806,1
    - Dst: assert
      Src: /src/cairo/src/win32/cairo-win32-font.c:769,1
    - Dst: _cairo_scaled_glyph_index
      Src: /src/cairo/src/win32/cairo-win32-font.c:775,1
    - Dst: cairo_win32_scaled_font_select_font
      Src: /src/cairo/src/win32/cairo-win32-font.c:779,1
    - Dst: cairo_scaled_font_extents
      Src: /src/cairo/src/win32/cairo-win32-font.c:777,1
    - Dst: fprintf
      Src: /src/cairo/src/win32/cairo-win32-font.c:784,1
    - Dst: memset
      Src: /src/cairo/src/win32/cairo-win32-font.c:862,1
    - Dst: _cairo_scaled_glyph_index
      Src: /src/cairo/src/win32/cairo-win32-font.c:806,1
    - Dst: cairo_win32_scaled_font_done_font
      Src: /src/cairo/src/win32/cairo-win32-font.c:824,1
    - Dst: _cairo_scaled_glyph_index
      Src: /src/cairo/src/win32/cairo-win32-font.c:859,1
    - Dst: memset
      Src: /src/cairo/src/win32/cairo-win32-font.c:809,1
    - Dst: _cairo_scaled_glyph_set_metrics
      Src: /src/cairo/src/win32/cairo-win32-font.c:874,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 115
    argCount: 2
    argNames:
    - scaled_font
    - scaled_glyph
    argTypes:
    - cairo_win32_scaled_font_t*
    - cairo_scaled_glyph_t*
    constantsTouched: []
    func_position:
      end: 879
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 879
    functionName: _cairo_win32_scaled_font_init_glyph_metrics
    functionSourceFile: /src/cairo/src/win32/cairo-win32-font.c
    functionUses: []
    functionsReached:
    - cairo_scaled_font_extents
    - GetCharWidth32
    - GetGlyphOutlineW
    - _cairo_scaled_glyph_index
    - _get_global_font_dc
    - fprintf
    - _cairo_error
    - _cairo_win32_scaled_font_done_unscaled_font
    - _cairo_scaled_glyph_set_metrics
    - assert
    - cairo_win32_scaled_font_select_font
    - cairo_win32_scaled_font_done_font
    - _cairo_win32_scaled_font_select_unscaled_font
    - memset
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_win32_scaled_font_init_glyph_metrics\
      \ (cairo_win32_scaled_font_t *scaled_font,\t\t\t\t\t cairo_scaled_glyph_t *scaled_glyph) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _flush_glyphs
      Src: /src/cairo/src/win32/cairo-win32-font.c:1044,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/win32/cairo-win32-font.c:1046,1
    - Dst: _cairo_array_fini
      Src: /src/cairo/src/win32/cairo-win32-font.c:1047,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - cairo_glyph_state_t*
    constantsTouched: []
    func_position:
      end: 1050
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1050
    functionName: _finish_glyphs
    functionSourceFile: /src/cairo/src/win32/cairo-win32-font.c
    functionUses: []
    functionsReached:
    - _cairo_array_fini
    - _flush_glyphs
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _finish_glyphs (cairo_glyph_state_t *state) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_map_to_image
      Src: /src/cairo/src/win32/cairo-win32-font.c:1352,1
    - Dst: likely
      Src: /src/cairo/src/win32/cairo-win32-font.c:1363,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/src/win32/cairo-win32-font.c:1379,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/src/win32/cairo-win32-font.c:1361,1
    - Dst: unlikely
      Src: /src/cairo/src/win32/cairo-win32-font.c:1353,1
    - Dst: likely
      Src: /src/cairo/src/win32/cairo-win32-font.c:1381,1
    - Dst: cairo_surface_unmap_image
      Src: /src/cairo/src/win32/cairo-win32-font.c:1392,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1344
    functionDepth: 0
    functionLinenumber: 1344
    functionLinenumberEnd: 1394
    functionName: _cairo_compute_glyph_mask
    functionSourceFile: /src/cairo/src/win32/cairo-win32-font.c
    functionUses: []
    functionsReached:
    - cairo_image_surface_create
    - cairo_surface_unmap_image
    - cairo_surface_map_to_image
    - likely
    - unlikely
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *_cairo_compute_glyph_mask (cairo_surface_t *surface,\t\
      \t\t int quality) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/win32/cairo-win32-font.c:1453,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/win32/cairo-win32-font.c:1454,1
    - Dst: _cairo_fixed_from_double
      Src: /src/cairo/src/win32/cairo-win32-font.c:1455,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 5
    argNames:
    - matrix
    - Fx
    - Fy
    - fx
    - fy
    argTypes:
    - cairo_matrix_t*
    - FIXED
    - FIXED
    - cairo_fixed_t*
    - cairo_fixed_t*
    constantsTouched: []
    func_position:
      end: 1456
      start: 1446
    functionDepth: 0
    functionLinenumber: 1446
    functionLinenumberEnd: 1456
    functionName: _cairo_win32_transform_FIXED_to_fixed
    functionSourceFile: /src/cairo/src/win32/cairo-win32-font.c
    functionUses: []
    functionsReached:
    - cairo_matrix_transform_point
    - _cairo_fixed_from_double
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_win32_transform_FIXED_to_fixed (cairo_matrix_t
      *matrix, FIXED Fx, FIXED Fy, cairo_fixed_t *fx, cairo_fixed_t *fy) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_win32_font_face_hash_table_lock
      Src: /src/cairo/src/win32/cairo-win32-font.c:1725,1
    - Dst: likely
      Src: /src/cairo/src/win32/cairo-win32-font.c:1739,1
    - Dst: _cairo_reference_count_dec_and_test
      Src: /src/cairo/src/win32/cairo-win32-font.c:1729,1
    - Dst: _cairo_win32_font_face_hash_table_unlock
      Src: /src/cairo/src/win32/cairo-win32-font.c:1731,1
    - Dst: assert
      Src: /src/cairo/src/win32/cairo-win32-font.c:1727,1
    - Dst: _cairo_hash_table_lookup
      Src: /src/cairo/src/win32/cairo-win32-font.c:1740,1
    - Dst: _cairo_hash_table_remove
      Src: /src/cairo/src/win32/cairo-win32-font.c:1741,1
    - Dst: _cairo_win32_font_face_hash_table_unlock
      Src: /src/cairo/src/win32/cairo-win32-font.c:1743,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - abstract_face
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1745
      start: 1719
    functionDepth: 0
    functionLinenumber: 1719
    functionLinenumberEnd: 1745
    functionName: _cairo_win32_font_face_destroy
    functionSourceFile: /src/cairo/src/win32/cairo-win32-font.c
    functionUses: []
    functionsReached:
    - _cairo_win32_font_face_hash_table_unlock
    - assert
    - _cairo_reference_count_dec_and_test
    - _cairo_win32_font_face_hash_table_lock
    - _cairo_hash_table_remove
    - _cairo_hash_table_lookup
    - likely
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_win32_font_face_destroy (void *abstract_face) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _is_scale
      Src: /src/cairo/src/win32/cairo-win32-font.c:1808,1
    - Dst: _is_scale
      Src: /src/cairo/src/win32/cairo-win32-font.c:1809,1
    - Dst: _win32_scaled_font_create
      Src: /src/cairo/src/win32/cairo-win32-font.c:1814,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 5
    argNames:
    - abstract_face
    - font_matrix
    - ctm
    - options
    - font
    argTypes:
    - void*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - cairo_font_options_t*
    - cairo_scaled_font_t**
    constantsTouched: []
    func_position:
      end: 1819
      start: 1795
    functionDepth: 0
    functionLinenumber: 1795
    functionLinenumberEnd: 1819
    functionName: _cairo_win32_font_face_scaled_font_create
    functionSourceFile: /src/cairo/src/win32/cairo-win32-font.c
    functionUses: []
    functionsReached:
    - _win32_scaled_font_create
    - _is_scale
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_win32_font_face_scaled_font_create (void\t\
      \t\t*abstract_face,\t\t\t\t\t const cairo_matrix_t\t*font_matrix,\t\t\t\t\t\
      \ const cairo_matrix_t\t*ctm,\t\t\t\t\t const cairo_font_options_t *options,\t\
      \t\t\t\t cairo_scaled_font_t **font) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_scaled_font_is_win32
      Src: /src/cairo/src/win32/cairo-win32-font.c:1999,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-font.c:2000,1
    - Dst: _win32_scaled_font_get_scaled_hfont
      Src: /src/cairo/src/win32/cairo-win32-font.c:2006,1
    - Dst: fprintf
      Src: /src/cairo/src/win32/cairo-win32-font.c:2012,1
    - Dst: SelectObject
      Src: /src/cairo/src/win32/cairo-win32-font.c:2010,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-font.c:2013,1
    - Dst: SetGraphicsMode
      Src: /src/cairo/src/win32/cairo-win32-font.c:2016,1
    - Dst: fprintf
      Src: /src/cairo/src/win32/cairo-win32-font.c:2018,1
    - Dst: SelectObject
      Src: /src/cairo/src/win32/cairo-win32-font.c:2019,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-font.c:2020,1
    - Dst: _win32_scaled_font_set_world_transform
      Src: /src/cairo/src/win32/cairo-win32-font.c:2023,1
    - Dst: SetMapMode
      Src: /src/cairo/src/win32/cairo-win32-font.c:2030,1
    - Dst: SetGraphicsMode
      Src: /src/cairo/src/win32/cairo-win32-font.c:2025,1
    - Dst: SelectObject
      Src: /src/cairo/src/win32/cairo-win32-font.c:2026,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - scaled_font
    - hdc
    argTypes:
    - cairo_scaled_font_t*
    - HDC
    constantsTouched: []
    func_position:
      end: 2033
      start: 1990
    functionDepth: 0
    functionLinenumber: 1990
    functionLinenumberEnd: 2033
    functionName: cairo_win32_scaled_font_select_font
    functionSourceFile: /src/cairo/src/win32/cairo-win32-font.c
    functionUses: []
    functionsReached:
    - _cairo_scaled_font_is_win32
    - SelectObject
    - fprintf
    - _cairo_error
    - _win32_scaled_font_get_scaled_hfont
    - SetMapMode
    - SetGraphicsMode
    - _win32_scaled_font_set_world_transform
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t cairo_win32_scaled_font_select_font (cairo_scaled_font_t\
      \ *scaled_font,\t\t\t\t HDC hdc) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_scaled_font_is_win32
      Src: /src/cairo/src/win32/cairo-win32-font.c:2068,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/win32/cairo-win32-font.c:2069,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - scaled_font
    argTypes:
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 2073
      start: 2065
    functionDepth: 0
    functionLinenumber: 2065
    functionLinenumberEnd: 2073
    functionName: cairo_win32_scaled_font_get_metrics_factor
    functionSourceFile: /src/cairo/src/win32/cairo-win32-font.c
    functionUses: []
    functionsReached:
    - _cairo_scaled_font_is_win32
    - _cairo_error_throw
    linkageType: ''
    returnType: double
    signature: 'double cairo_win32_scaled_font_get_metrics_factor (cairo_scaled_font_t
      *scaled_font) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _get_global_font_dc
      Src: /src/cairo/src/win32/cairo-win32-font.c:903,1
    - Dst: cairo_win32_scaled_font_select_font
      Src: /src/cairo/src/win32/cairo-win32-font.c:906,1
    - Dst: _cairo_lround
      Src: /src/cairo/src/win32/cairo-win32-font.c:911,1
    - Dst: assert
      Src: /src/cairo/src/win32/cairo-win32-font.c:904,1
    - Dst: _cairo_lround
      Src: /src/cairo/src/win32/cairo-win32-font.c:912,1
    - Dst: GetGlyphOutlineW
      Src: /src/cairo/src/win32/cairo-win32-font.c:914,1
    - Dst: cairo_win32_scaled_font_done_font
      Src: /src/cairo/src/win32/cairo-win32-font.c:927,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/win32/cairo-win32-font.c:930,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/win32/cairo-win32-font.c:931,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/win32/cairo-win32-font.c:932,1
    - Dst: _cairo_fixed_from_int
      Src: /src/cairo/src/win32/cairo-win32-font.c:933,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 4
    argNames:
    - abstract_font
    - glyphs
    - num_glyphs
    - bbox
    argTypes:
    - void*
    - cairo_glyph_t*
    - int
    - cairo_box_t*
    constantsTouched: []
    func_position:
      end: 936
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 936
    functionName: _cairo_win32_scaled_font_glyph_bbox
    functionSourceFile: /src/cairo/src/win32/cairo-win32-font.c
    functionUses: []
    functionsReached:
    - GetGlyphOutlineW
    - _get_global_font_dc
    - assert
    - cairo_win32_scaled_font_select_font
    - cairo_win32_scaled_font_done_font
    - _cairo_lround
    - _cairo_fixed_from_int
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_win32_scaled_font_glyph_bbox (void\t\t\
      \ *abstract_font,\t\t\t\t const cairo_glyph_t *glyphs,\t\t\t\t int num_glyphs,\t\
      \t\t\t cairo_box_t *bbox) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetVersionEx
      Src: /src/cairo/src/win32/cairo-win32-font.c:259,1
    - Dst: _cairo_win32_print_api_error
      Src: /src/cairo/src/win32/cairo-win32-font.c:260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 267
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 267
    functionName: _have_cleartype_quality
    functionSourceFile: /src/cairo/src/win32/cairo-win32-font.c
    functionUses: []
    functionsReached:
    - _cairo_win32_print_api_error
    - GetVersionEx
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _have_cleartype_quality (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SaveDC
      Src: /src/cairo/src/win32/cairo-win32-font.c:1065,1
    - Dst: cairo_win32_scaled_font_select_font
      Src: /src/cairo/src/win32/cairo-win32-font.c:1070,1
    - Dst: fprintf
      Src: /src/cairo/src/win32/cairo-win32-font.c:1066,1
    - Dst: SetTextColor
      Src: /src/cairo/src/win32/cairo-win32-font.c:1074,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-font.c:1067,1
    - Dst: SetTextAlign
      Src: /src/cairo/src/win32/cairo-win32-font.c:1075,1
    - Dst: SetBkMode
      Src: /src/cairo/src/win32/cairo-win32-font.c:1076,1
    - Dst: _start_glyphs
      Src: /src/cairo/src/win32/cairo-win32-font.c:1078,1
    - Dst: _add_glyph
      Src: /src/cairo/src/win32/cairo-win32-font.c:1081,1
    - Dst: _finish_glyphs
      Src: /src/cairo/src/win32/cairo-win32-font.c:1088,1
    - Dst: cairo_win32_scaled_font_done_font
      Src: /src/cairo/src/win32/cairo-win32-font.c:1092,1
    - Dst: RestoreDC
      Src: /src/cairo/src/win32/cairo-win32-font.c:1094,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 7
    argNames:
    - surface
    - scaled_font
    - color
    - x_offset
    - y_offset
    - glyphs
    - num_glyphs
    argTypes:
    - cairo_win32_surface_t*
    - cairo_win32_scaled_font_t*
    - COLORREF
    - int
    - int
    - cairo_glyph_t*
    - int
    constantsTouched: []
    func_position:
      end: 1097
      start: 1052
    functionDepth: 0
    functionLinenumber: 1052
    functionLinenumberEnd: 1097
    functionName: _draw_glyphs_on_surface
    functionSourceFile: /src/cairo/src/win32/cairo-win32-font.c
    functionUses: []
    functionsReached:
    - _finish_glyphs
    - _add_glyph
    - SetTextAlign
    - fprintf
    - SaveDC
    - _cairo_error
    - _start_glyphs
    - cairo_win32_scaled_font_select_font
    - cairo_win32_scaled_font_done_font
    - SetTextColor
    - SetBkMode
    - RestoreDC
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _draw_glyphs_on_surface (cairo_win32_surface_t\
      \ *surface,\t\t\t cairo_win32_scaled_font_t *scaled_font,\t\t\t COLORREF color,\t\
      \t\t int x_offset,\t\t\t int y_offset,\t\t\t const cairo_glyph_t *glyphs,\t\t\
      \t int\t\t\t num_glyphs) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/win32/cairo-win32-font.c:1716,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1717
      start: 1713
    functionDepth: 0
    functionLinenumber: 1713
    functionLinenumberEnd: 1717
    functionName: _cairo_win32_font_face_hash_table_unlock
    functionSourceFile: /src/cairo/src/win32/cairo-win32-font.c
    functionUses: []
    functionsReached:
    - CAIRO_MUTEX_UNLOCK
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_win32_font_face_hash_table_unlock (void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SystemParametersInfo
      Src: /src/cairo/src/win32/cairo-win32-font.c:275,1
    - Dst: _have_cleartype_quality
      Src: /src/cairo/src/win32/cairo-win32-font.c:281,1
    - Dst: _cairo_win32_print_api_error
      Src: /src/cairo/src/win32/cairo-win32-font.c:276,1
    - Dst: SystemParametersInfo
      Src: /src/cairo/src/win32/cairo-win32-font.c:282,1
    - Dst: _cairo_win32_print_api_error
      Src: /src/cairo/src/win32/cairo-win32-font.c:284,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 296
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 296
    functionName: cairo_win32_get_system_text_quality
    functionSourceFile: /src/cairo/src/win32/cairo-win32-font.c
    functionUses: []
    functionsReached:
    - _cairo_win32_print_api_error
    - SystemParametersInfo
    - _have_cleartype_quality
    linkageType: ''
    returnType: BYTE
    signature: 'BYTE cairo_win32_get_system_text_quality (void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_win32_scaled_font_init_glyph_metrics
      Src: /src/cairo/src/win32/cairo-win32-font.c:1109,1
    - Dst: _cairo_win32_scaled_font_init_glyph_surface
      Src: /src/cairo/src/win32/cairo-win32-font.c:1121,1
    - Dst: _cairo_win32_scaled_font_init_glyph_path
      Src: /src/cairo/src/win32/cairo-win32-font.c:1127,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 4
    argNames:
    - abstract_font
    - scaled_glyph
    - info
    - foreground_color
    argTypes:
    - void*
    - cairo_scaled_glyph_t*
    - cairo_scaled_glyph_info_t
    - cairo_color_t*
    constantsTouched: []
    func_position:
      end: 1133
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1133
    functionName: _cairo_win32_scaled_font_glyph_init
    functionSourceFile: /src/cairo/src/win32/cairo-win32-font.c
    functionUses: []
    functionsReached:
    - _cairo_win32_scaled_font_init_glyph_metrics
    - _cairo_win32_scaled_font_init_glyph_surface
    - _cairo_win32_scaled_font_init_glyph_path
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_win32_scaled_font_glyph_init (void\t\
      \t *abstract_font,\t\t\t\t cairo_scaled_glyph_t *scaled_glyph,\t\t\t\t cairo_scaled_glyph_info_t\
      \ info,\t\t\t\t const cairo_color_t *foreground_color) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_utf8_to_utf16
      Src: /src/cairo/src/win32/cairo-win32-font.c:578,1
    - Dst: free
      Src: /src/cairo/src/win32/cairo-win32-font.c:588,1
    - Dst: memcpy
      Src: /src/cairo/src/win32/cairo-win32-font.c:586,1
    - Dst: cairo_win32_font_face_create_for_logfontw
      Src: /src/cairo/src/win32/cairo-win32-font.c:628,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 2
    argNames:
    - toy_face
    - font_face
    argTypes:
    - cairo_toy_font_face_t*
    - cairo_font_face_t**
    constantsTouched: []
    func_position:
      end: 631
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 631
    functionName: _cairo_win32_font_face_create_for_toy
    functionSourceFile: /src/cairo/src/win32/cairo-win32-font.c
    functionUses: []
    functionsReached:
    - memcpy
    - cairo_win32_font_face_create_for_logfontw
    - _cairo_utf8_to_utf16
    - free
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_win32_font_face_create_for_toy (cairo_toy_font_face_t\
      \ *toy_face,\t\t\t\t cairo_font_face_t **font_face) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_win32_font_face_hash_table_lock
      Src: /src/cairo/src/win32/cairo-win32-font.c:1856,1
    - Dst: unlikely
      Src: /src/cairo/src/win32/cairo-win32-font.c:1857,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/win32/cairo-win32-font.c:1858,1
    - Dst: _cairo_hash_table_lookup
      Src: /src/cairo/src/win32/cairo-win32-font.c:1865,1
    - Dst: _cairo_win32_font_face_init_key
      Src: /src/cairo/src/win32/cairo-win32-font.c:1862,1
    - Dst: cairo_font_face_reference
      Src: /src/cairo/src/win32/cairo-win32-font.c:1869,1
    - Dst: _cairo_win32_font_face_hash_table_unlock
      Src: /src/cairo/src/win32/cairo-win32-font.c:1870,1
    - Dst: _cairo_hash_table_remove
      Src: /src/cairo/src/win32/cairo-win32-font.c:1875,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/win32/cairo-win32-font.c:1879,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/win32/cairo-win32-font.c:1881,1
    - Dst: _cairo_font_face_init
      Src: /src/cairo/src/win32/cairo-win32-font.c:1886,1
    - Dst: _cairo_win32_font_face_init_key
      Src: /src/cairo/src/win32/cairo-win32-font.c:1885,1
    - Dst: _cairo_hash_table_insert
      Src: /src/cairo/src/win32/cairo-win32-font.c:1889,1
    - Dst: assert
      Src: /src/cairo/src/win32/cairo-win32-font.c:1888,1
    - Dst: unlikely
      Src: /src/cairo/src/win32/cairo-win32-font.c:1891,1
    - Dst: _cairo_win32_font_face_hash_table_unlock
      Src: /src/cairo/src/win32/cairo-win32-font.c:1898,1
    - Dst: _cairo_win32_font_face_hash_table_unlock
      Src: /src/cairo/src/win32/cairo-win32-font.c:1894,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1900
      start: 1849
    functionDepth: 0
    functionLinenumber: 1849
    functionLinenumberEnd: 1900
    functionName: cairo_win32_font_face_create_for_logfontw_hfont
    functionSourceFile: /src/cairo/src/win32/cairo-win32-font.c
    functionUses: []
    functionsReached:
    - _cairo_win32_font_face_hash_table_unlock
    - _cairo_font_face_init
    - _cairo_win32_font_face_init_key
    - assert
    - cairo_font_face_reference
    - _cairo_hash_table_insert
    - _cairo_win32_font_face_hash_table_lock
    - _cairo_hash_table_remove
    - _cairo_hash_table_lookup
    - _cairo_error_throw
    - _cairo_calloc
    - unlikely
    linkageType: ''
    returnType: cairo_font_face_t*
    signature: 'cairo_font_face_t *cairo_win32_font_face_create_for_logfontw_hfont
      (LOGFONTW *logfont, HFONT font) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ModifyWorldTransform
      Src: /src/cairo/src/win32/cairo-win32-font.c:422,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-font.c:424,1
    - Dst: fprintf
      Src: /src/cairo/src/win32/cairo-win32-font.c:423,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - hdc
    argTypes:
    - HDC
    constantsTouched: []
    func_position:
      end: 428
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 428
    functionName: _win32_scaled_font_set_identity_transform
    functionSourceFile: /src/cairo/src/win32/cairo-win32-font.c
    functionUses: []
    functionsReached:
    - ModifyWorldTransform
    - _cairo_error
    - fprintf
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _win32_scaled_font_set_identity_transform (HDC
      hdc) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _win32_scaled_font_get_scaled_hfont
      Src: /src/cairo/src/win32/cairo-win32-font.c:465,1
    - Dst: SelectObject
      Src: /src/cairo/src/win32/cairo-win32-font.c:470,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-font.c:472,1
    - Dst: fprintf
      Src: /src/cairo/src/win32/cairo-win32-font.c:471,1
    - Dst: GetOutlineTextMetrics
      Src: /src/cairo/src/win32/cairo-win32-font.c:475,1
    - Dst: fprintf
      Src: /src/cairo/src/win32/cairo-win32-font.c:477,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-font.c:478,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/win32/cairo-win32-font.c:481,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-font.c:483,1
    - Dst: GetOutlineTextMetrics
      Src: /src/cairo/src/win32/cairo-win32-font.c:485,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-font.c:505,1
    - Dst: free
      Src: /src/cairo/src/win32/cairo-win32-font.c:492,1
    - Dst: free
      Src: /src/cairo/src/win32/cairo-win32-font.c:487,1
    - Dst: fprintf
      Src: /src/cairo/src/win32/cairo-win32-font.c:504,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-font.c:488,1
    - Dst: CreateFontIndirectW
      Src: /src/cairo/src/win32/cairo-win32-font.c:502,1
    - Dst: fprintf
      Src: /src/cairo/src/win32/cairo-win32-font.c:486,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 3
    argNames:
    - scaled_font
    - hdc
    - hfont_out
    argTypes:
    - cairo_win32_scaled_font_t*
    - HDC
    - HFONT*
    constantsTouched: []
    func_position:
      end: 511
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 511
    functionName: _win32_scaled_font_get_unscaled_hfont
    functionSourceFile: /src/cairo/src/win32/cairo-win32-font.c
    functionUses: []
    functionsReached:
    - _cairo_malloc
    - CreateFontIndirectW
    - SelectObject
    - fprintf
    - _cairo_error
    - free
    - GetOutlineTextMetrics
    - _win32_scaled_font_get_scaled_hfont
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _win32_scaled_font_get_unscaled_hfont (cairo_win32_scaled_font_t\
      \ *scaled_font,\t\t\t\t HDC hdc,\t\t\t\t HFONT\t\t\t *hfont_out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - scaled_font
    argTypes:
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 550
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 550
    functionName: _cairo_win32_scaled_font_is_type1
    functionSourceFile: /src/cairo/src/win32/cairo-win32-font.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t _cairo_win32_scaled_font_is_type1 (cairo_scaled_font_t
      *scaled_font) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_init
      Src: /src/cairo/src/win32/cairo-win32-font.c:959,1
    - Dst: _cairo_array_init
      Src: /src/cairo/src/win32/cairo-win32-font.c:960,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - state
    - scaled_font
    - hdc
    argTypes:
    - cairo_glyph_state_t*
    - cairo_win32_scaled_font_t*
    - HDC
    constantsTouched: []
    func_position:
      end: 961
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 961
    functionName: _start_glyphs
    functionSourceFile: /src/cairo/src/win32/cairo-win32-font.c
    functionUses: []
    functionsReached:
    - _cairo_array_init
    linkageType: ''
    returnType: void
    signature: "static void _start_glyphs (cairo_glyph_state_t *state,\t cairo_win32_scaled_font_t\
      \ *scaled_font,\t HDC hdc) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/win32/cairo-win32-font.c:1684,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/win32/cairo-win32-font.c:1687,1
    - Dst: _cairo_hash_table_destroy
      Src: /src/cairo/src/win32/cairo-win32-font.c:1690,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1691
      start: 1676
    functionDepth: 0
    functionLinenumber: 1676
    functionLinenumberEnd: 1691
    functionName: _cairo_win32_font_face_hash_table_destroy
    functionSourceFile: /src/cairo/src/win32/cairo-win32-font.c
    functionUses: []
    functionsReached:
    - CAIRO_MUTEX_LOCK
    - CAIRO_MUTEX_UNLOCK
    - _cairo_hash_table_destroy
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_win32_font_face_hash_table_destroy (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CreateFontIndirectW
      Src: /src/cairo/src/win32/cairo-win32-font.c:442,1
    - Dst: fprintf
      Src: /src/cairo/src/win32/cairo-win32-font.c:444,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-font.c:445,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - scaled_font
    - hfont_out
    argTypes:
    - cairo_win32_scaled_font_t*
    - HFONT*
    constantsTouched: []
    func_position:
      end: 451
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 451
    functionName: _win32_scaled_font_get_scaled_hfont
    functionSourceFile: /src/cairo/src/win32/cairo-win32-font.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - CreateFontIndirectW
    - fprintf
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _win32_scaled_font_get_scaled_hfont (cairo_win32_scaled_font_t\
      \ *scaled_font,\t\t\t\t HFONT *hfont_out) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _win32_scaled_font_get_unscaled_hfont
      Src: /src/cairo/src/win32/cairo-win32-font.c:521,1
    - Dst: fprintf
      Src: /src/cairo/src/win32/cairo-win32-font.c:527,1
    - Dst: _win32_scaled_font_set_identity_transform
      Src: /src/cairo/src/win32/cairo-win32-font.c:531,1
    - Dst: SelectObject
      Src: /src/cairo/src/win32/cairo-win32-font.c:525,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-font.c:528,1
    - Dst: SelectObject
      Src: /src/cairo/src/win32/cairo-win32-font.c:533,1
    - Dst: SetMapMode
      Src: /src/cairo/src/win32/cairo-win32-font.c:537,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - scaled_font
    - hdc
    argTypes:
    - cairo_scaled_font_t*
    - HDC
    constantsTouched: []
    func_position:
      end: 540
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 540
    functionName: _cairo_win32_scaled_font_select_unscaled_font
    functionSourceFile: /src/cairo/src/win32/cairo-win32-font.c
    functionUses: []
    functionsReached:
    - SelectObject
    - fprintf
    - _cairo_error
    - _win32_scaled_font_get_unscaled_hfont
    - _win32_scaled_font_set_identity_transform
    - SetMapMode
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_win32_scaled_font_select_unscaled_font\
      \ (cairo_scaled_font_t *scaled_font,\t\t\t\t\t HDC hdc) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - scaled_font
    argTypes:
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 560
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 560
    functionName: _cairo_win32_scaled_font_is_bitmap
    functionSourceFile: /src/cairo/src/win32/cairo-win32-font.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t _cairo_win32_scaled_font_is_bitmap (cairo_scaled_font_t
      *scaled_font) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_array_append
      Src: /src/cairo/src/win32/cairo-win32-font.c:971,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/win32/cairo-win32-font.c:976,1
    - Dst: _cairo_array_index
      Src: /src/cairo/src/win32/cairo-win32-font.c:975,1
    - Dst: ExtTextOutW
      Src: /src/cairo/src/win32/cairo-win32-font.c:977,1
    - Dst: fprintf
      Src: /src/cairo/src/win32/cairo-win32-font.c:984,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-font.c:985,1
    - Dst: _cairo_array_truncate
      Src: /src/cairo/src/win32/cairo-win32-font.c:988,1
    - Dst: _cairo_array_truncate
      Src: /src/cairo/src/win32/cairo-win32-font.c:989,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - cairo_glyph_state_t*
    constantsTouched: []
    func_position:
      end: 992
      start: 963
    functionDepth: 0
    functionLinenumber: 963
    functionLinenumberEnd: 992
    functionName: _flush_glyphs
    functionSourceFile: /src/cairo/src/win32/cairo-win32-font.c
    functionUses: []
    functionsReached:
    - _cairo_array_index
    - fprintf
    - _cairo_error
    - ExtTextOutW
    - _cairo_array_truncate
    - _cairo_array_append
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _flush_glyphs (cairo_glyph_state_t *state) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/win32/cairo-win32-font.c:1696,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/win32/cairo-win32-font.c:1704,1
    - Dst: _cairo_hash_table_create
      Src: /src/cairo/src/win32/cairo-win32-font.c:1701,1
    - Dst: unlikely
      Src: /src/cairo/src/win32/cairo-win32-font.c:1698,1
    - Dst: unlikely
      Src: /src/cairo/src/win32/cairo-win32-font.c:1703,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/win32/cairo-win32-font.c:1705,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1711
      start: 1693
    functionDepth: 0
    functionLinenumber: 1693
    functionLinenumberEnd: 1711
    functionName: _cairo_win32_font_face_hash_table_lock
    functionSourceFile: /src/cairo/src/win32/cairo-win32-font.c
    functionUses: []
    functionsReached:
    - CAIRO_MUTEX_LOCK
    - CAIRO_MUTEX_UNLOCK
    - _cairo_hash_table_create
    - _cairo_error_throw
    - unlikely
    linkageType: ''
    returnType: cairo_hash_table_t*
    signature: 'static cairo_hash_table_t *_cairo_win32_font_face_hash_table_lock
      (void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_MUTEX_LOCK
      Src: /src/cairo/src/win32/cairo-win32-font.c:149,1
    - Dst: assert
      Src: /src/cairo/src/win32/cairo-win32-font.c:152,1
    - Dst: TlsAlloc
      Src: /src/cairo/src/win32/cairo-win32-font.c:151,1
    - Dst: CAIRO_MUTEX_UNLOCK
      Src: /src/cairo/src/win32/cairo-win32-font.c:154,1
    - Dst: TlsGetValue
      Src: /src/cairo/src/win32/cairo-win32-font.c:157,1
    - Dst: CreateCompatibleDC
      Src: /src/cairo/src/win32/cairo-win32-font.c:159,1
    - Dst: fprintf
      Src: /src/cairo/src/win32/cairo-win32-font.c:161,1
    - Dst: SetGraphicsMode
      Src: /src/cairo/src/win32/cairo-win32-font.c:165,1
    - Dst: fprintf
      Src: /src/cairo/src/win32/cairo-win32-font.c:166,1
    - Dst: DeleteDC
      Src: /src/cairo/src/win32/cairo-win32-font.c:167,1
    - Dst: DeleteDC
      Src: /src/cairo/src/win32/cairo-win32-font.c:172,1
    - Dst: TlsSetValue
      Src: /src/cairo/src/win32/cairo-win32-font.c:171,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 178
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 178
    functionName: _get_global_font_dc
    functionSourceFile: /src/cairo/src/win32/cairo-win32-font.c
    functionUses: []
    functionsReached:
    - CAIRO_MUTEX_LOCK
    - TlsAlloc
    - fprintf
    - CreateCompatibleDC
    - CAIRO_MUTEX_UNLOCK
    - assert
    - SetGraphicsMode
    - TlsSetValue
    - TlsGetValue
    - DeleteDC
    linkageType: ''
    returnType: HDC
    signature: 'static HDC _get_global_font_dc (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _get_global_font_dc
      Src: /src/cairo/src/win32/cairo-win32-font.c:1147,1
    - Dst: cairo_win32_scaled_font_done_font
      Src: /src/cairo/src/win32/cairo-win32-font.c:1161,1
    - Dst: cairo_win32_scaled_font_select_font
      Src: /src/cairo/src/win32/cairo-win32-font.c:1151,1
    - Dst: GetFontData
      Src: /src/cairo/src/win32/cairo-win32-font.c:1155,1
    - Dst: assert
      Src: /src/cairo/src/win32/cairo-win32-font.c:1148,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 5
    argNames:
    - abstract_font
    - tag
    - offset
    - buffer
    - length
    argTypes:
    - void*
    - unsigned long
    - long
    - unsigned char*
    - unsigned long*
    constantsTouched: []
    func_position:
      end: 1164
      start: 1135
    functionDepth: 0
    functionLinenumber: 1135
    functionLinenumberEnd: 1164
    functionName: _cairo_win32_scaled_font_load_truetype_table
    functionSourceFile: /src/cairo/src/win32/cairo-win32-font.c
    functionUses: []
    functionsReached:
    - _get_global_font_dc
    - assert
    - cairo_win32_scaled_font_select_font
    - cairo_win32_scaled_font_done_font
    - GetFontData
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_win32_scaled_font_load_truetype_table\
      \ (void\t *abstract_font, unsigned long tag, long offset, unsigned char *buffer,\
      \ unsigned long *length) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_truetype_get_style
      Src: /src/cairo/src/win32/cairo-win32-font.c:1267,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - abstract_font
    - is_synthetic
    argTypes:
    - void*
    - cairo_bool_t*
    constantsTouched: []
    func_position:
      end: 1281
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1281
    functionName: _cairo_win32_scaled_font_is_synthetic
    functionSourceFile: /src/cairo/src/win32/cairo-win32-font.c
    functionUses: []
    functionsReached:
    - _cairo_truetype_get_style
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_win32_scaled_font_is_synthetic (void\t\
      \ *abstract_font,\t\t\t\t cairo_bool_t *is_synthetic) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_hash_bytes
      Src: /src/cairo/src/win32/cairo-win32-font.c:1757,1
    - Dst: wcslen
      Src: /src/cairo/src/win32/cairo-win32-font.c:1757,1
    - Dst: _cairo_hash_bytes
      Src: /src/cairo/src/win32/cairo-win32-font.c:1758,1
    - Dst: _cairo_hash_bytes
      Src: /src/cairo/src/win32/cairo-win32-font.c:1759,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - key
    - logfont
    - font
    argTypes:
    - cairo_win32_font_face_t*
    - LOGFONTW*
    - HFONT
    constantsTouched: []
    func_position:
      end: 1762
      start: 1747
    functionDepth: 0
    functionLinenumber: 1747
    functionLinenumberEnd: 1762
    functionName: _cairo_win32_font_face_init_key
    functionSourceFile: /src/cairo/src/win32/cairo-win32-font.c
    functionUses: []
    functionsReached:
    - _cairo_hash_bytes
    - wcslen
    linkageType: ''
    returnType: void
    signature: "static void _cairo_win32_font_face_init_key (cairo_win32_font_face_t\
      \ *key,\t\t\t\t LOGFONTW *logfont,\t\t\t\t HFONT font) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetObjectW
      Src: /src/cairo/src/win32/cairo-win32-font.c:1946,1
    - Dst: cairo_win32_font_face_create_for_logfontw_hfont
      Src: /src/cairo/src/win32/cairo-win32-font.c:1955,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1956
      start: 1942
    functionDepth: 0
    functionLinenumber: 1942
    functionLinenumberEnd: 1956
    functionName: cairo_win32_font_face_create_for_hfont
    functionSourceFile: /src/cairo/src/win32/cairo-win32-font.c
    functionUses: []
    functionsReached:
    - GetObjectW
    - cairo_win32_font_face_create_for_logfontw_hfont
    linkageType: ''
    returnType: cairo_font_face_t*
    signature: 'cairo_font_face_t *cairo_win32_font_face_create_for_hfont (HFONT font) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - scaled_font
    argTypes:
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 1962
      start: 1958
    functionDepth: 0
    functionLinenumber: 1958
    functionLinenumberEnd: 1962
    functionName: _cairo_scaled_font_is_win32
    functionSourceFile: /src/cairo/src/win32/cairo-win32-font.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_scaled_font_is_win32 (cairo_scaled_font_t
      *scaled_font) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_scaled_font_is_win32
      Src: /src/cairo/src/win32/cairo-win32-font.c:2046,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/win32/cairo-win32-font.c:2047,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - scaled_font
    argTypes:
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 2049
      start: 2043
    functionDepth: 0
    functionLinenumber: 2043
    functionLinenumberEnd: 2049
    functionName: cairo_win32_scaled_font_done_font
    functionSourceFile: /src/cairo/src/win32/cairo-win32-font.c
    functionUses: []
    functionsReached:
    - _cairo_scaled_font_is_win32
    - _cairo_error_throw
    linkageType: ''
    returnType: void
    signature: 'void cairo_win32_scaled_font_done_font (cairo_scaled_font_t *scaled_font) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_scaled_font_is_win32
      Src: /src/cairo/src/win32/cairo-win32-font.c:2113,1
    - Dst: cairo_matrix_init_identity
      Src: /src/cairo/src/win32/cairo-win32-font.c:2115,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/win32/cairo-win32-font.c:2114,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - scaled_font
    - device_to_logical
    argTypes:
    - cairo_scaled_font_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 2119
      start: 2108
    functionDepth: 0
    functionLinenumber: 2108
    functionLinenumberEnd: 2119
    functionName: cairo_win32_scaled_font_get_device_to_logical
    functionSourceFile: /src/cairo/src/win32/cairo-win32-font.c
    functionUses: []
    functionsReached:
    - cairo_matrix_init_identity
    - _cairo_scaled_font_is_win32
    - _cairo_error_throw
    linkageType: ''
    returnType: void
    signature: "void cairo_win32_scaled_font_get_device_to_logical (cairo_scaled_font_t\
      \ *scaled_font,\t\t\t\t\t cairo_matrix_t *device_to_logical) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: NEARLY_ZERO
      Src: /src/cairo/src/win32/cairo-win32-font.c:186,1
    - Dst: NEARLY_ZERO
      Src: /src/cairo/src/win32/cairo-win32-font.c:187,1
    - Dst: NEARLY_ZERO
      Src: /src/cairo/src/win32/cairo-win32-font.c:187,1
    - Dst: NEARLY_ZERO
      Src: /src/cairo/src/win32/cairo-win32-font.c:186,1
    - Dst: NEARLY_ZERO
      Src: /src/cairo/src/win32/cairo-win32-font.c:195,1
    - Dst: NEARLY_ZERO
      Src: /src/cairo/src/win32/cairo-win32-font.c:195,1
    - Dst: NEARLY_ZERO
      Src: /src/cairo/src/win32/cairo-win32-font.c:196,1
    - Dst: NEARLY_ZERO
      Src: /src/cairo/src/win32/cairo-win32-font.c:196,1
    - Dst: _cairo_lround
      Src: /src/cairo/src/win32/cairo-win32-font.c:217,1
    - Dst: cairo_matrix_init
      Src: /src/cairo/src/win32/cairo-win32-font.c:223,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/win32/cairo-win32-font.c:245,1
    - Dst: _cairo_matrix_compute_basis_scale_factors
      Src: /src/cairo/src/win32/cairo-win32-font.c:227,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/src/win32/cairo-win32-font.c:239,1
    - Dst: _cairo_lround
      Src: /src/cairo/src/win32/cairo-win32-font.c:234,1
    - Dst: cairo_matrix_init_identity
      Src: /src/cairo/src/win32/cairo-win32-font.c:247,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 69
    argCount: 2
    argNames:
    - scaled_font
    - sc
    argTypes:
    - cairo_win32_scaled_font_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 250
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 250
    functionName: _compute_transform
    functionSourceFile: /src/cairo/src/win32/cairo-win32-font.c
    functionUses: []
    functionsReached:
    - cairo_matrix_invert
    - cairo_matrix_scale
    - NEARLY_ZERO
    - cairo_matrix_init_identity
    - _cairo_lround
    - cairo_matrix_init
    - _cairo_matrix_compute_basis_scale_factors
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _compute_transform (cairo_win32_scaled_font_t\
      \ *scaled_font,\t\t cairo_matrix_t *sc) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _get_global_font_dc
      Src: /src/cairo/src/win32/cairo-win32-font.c:1180,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/win32/cairo-win32-font.c:1194,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-font.c:1196,1
    - Dst: fprintf
      Src: /src/cairo/src/win32/cairo-win32-font.c:1202,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-font.c:1203,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-font.c:1229,1
    - Dst: free
      Src: /src/cairo/src/win32/cairo-win32-font.c:1247,1
    - Dst: assert
      Src: /src/cairo/src/win32/cairo-win32-font.c:1181,1
    - Dst: GetFontUnicodeRanges
      Src: /src/cairo/src/win32/cairo-win32-font.c:1187,1
    - Dst: cairo_win32_scaled_font_select_font
      Src: /src/cairo/src/win32/cairo-win32-font.c:1183,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-font.c:1190,1
    - Dst: free
      Src: /src/cairo/src/win32/cairo-win32-font.c:1242,1
    - Dst: free
      Src: /src/cairo/src/win32/cairo-win32-font.c:1248,1
    - Dst: GetFontUnicodeRanges
      Src: /src/cairo/src/win32/cairo-win32-font.c:1200,1
    - Dst: fprintf
      Src: /src/cairo/src/win32/cairo-win32-font.c:1228,1
    - Dst: free
      Src: /src/cairo/src/win32/cairo-win32-font.c:1240,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-font.c:1213,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/win32/cairo-win32-font.c:1211,1
    - Dst: free
      Src: /src/cairo/src/win32/cairo-win32-font.c:1249,1
    - Dst: fprintf
      Src: /src/cairo/src/win32/cairo-win32-font.c:1189,1
    - Dst: GetGlyphIndicesW
      Src: /src/cairo/src/win32/cairo-win32-font.c:1227,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/win32/cairo-win32-font.c:1217,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-font.c:1219,1
    - Dst: cairo_win32_scaled_font_done_font
      Src: /src/cairo/src/win32/cairo-win32-font.c:1251,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 71
    argCount: 3
    argNames:
    - abstract_font
    - index
    - ucs4
    argTypes:
    - void*
    - unsigned long
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 1254
      start: 1166
    functionDepth: 0
    functionLinenumber: 1166
    functionLinenumberEnd: 1254
    functionName: _cairo_win32_scaled_font_index_to_ucs4
    functionSourceFile: /src/cairo/src/win32/cairo-win32-font.c
    functionUses: []
    functionsReached:
    - _cairo_malloc
    - fprintf
    - _get_global_font_dc
    - _cairo_error
    - free
    - GetFontUnicodeRanges
    - assert
    - cairo_win32_scaled_font_select_font
    - cairo_win32_scaled_font_done_font
    - GetGlyphIndicesW
    - _cairo_malloc_ab
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_win32_scaled_font_index_to_ucs4 (void\t\
      \t*abstract_font,\t\t\t\t\tunsigned long index,\t\t\t\t\tuint32_t\t*ucs4) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cairo/src/win32/cairo-win32-font.c:1300,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 19
    argCount: 5
    argNames:
    - abstract_font
    - glyph_names
    - num_glyph_names
    - glyph_index
    - glyph_array_index
    argTypes:
    - void*
    - char**
    - int
    - unsigned long
    - unsigned long*
    constantsTouched: []
    func_position:
      end: 1322
      start: 1283
    functionDepth: 0
    functionLinenumber: 1283
    functionLinenumberEnd: 1322
    functionName: _cairo_win32_scaled_font_index_to_glyph_name
    functionSourceFile: /src/cairo/src/win32/cairo-win32-font.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_win32_scaled_font_index_to_glyph_name\
      \ (void\t\t*abstract_font,\t\t\t\t\t char **glyph_names,\t\t\t\t\t int\t\t num_glyph_names,\t\
      \t\t\t\t unsigned long glyph_index,\t\t\t\t\t unsigned long *glyph_array_index) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wcscmp
      Src: /src/cairo/src/win32/cairo-win32-font.c:1779,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 19
    argCount: 2
    argNames:
    - key_a
    - key_b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1783
      start: 1764
    functionDepth: 0
    functionLinenumber: 1764
    functionLinenumberEnd: 1783
    functionName: _cairo_win32_font_face_keys_equal
    functionSourceFile: /src/cairo/src/win32/cairo-win32-font.c
    functionUses: []
    functionsReached:
    - wcscmp
    linkageType: ''
    returnType: int
    signature: "static int _cairo_win32_font_face_keys_equal (const void *key_a,\t\
      \t\t\t const void *key_b) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - matrix
    - scale
    argTypes:
    - cairo_matrix_t*
    - double
    constantsTouched: []
    func_position:
      end: 1793
      start: 1787
    functionDepth: 0
    functionLinenumber: 1787
    functionLinenumberEnd: 1793
    functionName: _is_scale
    functionSourceFile: /src/cairo/src/win32/cairo-win32-font.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _is_scale (const cairo_matrix_t *matrix, double
      scale) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_win32_font_face_hash_table_destroy
      Src: /src/cairo/src/win32/cairo-win32-font.c:2124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2125
      start: 2121
    functionDepth: 0
    functionLinenumber: 2121
    functionLinenumberEnd: 2125
    functionName: _cairo_win32_font_reset_static_data
    functionSourceFile: /src/cairo/src/win32/cairo-win32-font.c
    functionUses: []
    functionsReached:
    - _cairo_win32_font_face_hash_table_destroy
    linkageType: ''
    returnType: void
    signature: 'void _cairo_win32_font_reset_static_data (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_win32_font_face_create_for_logfontw_hfont
      Src: /src/cairo/src/win32/cairo-win32-font.c:1923,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1924
      start: 1920
    functionDepth: 0
    functionLinenumber: 1920
    functionLinenumberEnd: 1924
    functionName: cairo_win32_font_face_create_for_logfontw
    functionSourceFile: /src/cairo/src/win32/cairo-win32-font.c
    functionUses: []
    functionsReached:
    - cairo_win32_font_face_create_for_logfontw_hfont
    linkageType: ''
    returnType: cairo_font_face_t*
    signature: 'cairo_font_face_t *cairo_win32_font_face_create_for_logfontw (LOGFONTW
      *logfont) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_scaled_font_is_win32
      Src: /src/cairo/src/win32/cairo-win32-font.c:2090,1
    - Dst: cairo_matrix_init_identity
      Src: /src/cairo/src/win32/cairo-win32-font.c:2092,1
    - Dst: _cairo_error_throw
      Src: /src/cairo/src/win32/cairo-win32-font.c:2091,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - scaled_font
    - logical_to_device
    argTypes:
    - cairo_scaled_font_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 2096
      start: 2085
    functionDepth: 0
    functionLinenumber: 2085
    functionLinenumberEnd: 2096
    functionName: cairo_win32_scaled_font_get_logical_to_device
    functionSourceFile: /src/cairo/src/win32/cairo-win32-font.c
    functionUses: []
    functionsReached:
    - cairo_matrix_init_identity
    - _cairo_scaled_font_is_win32
    - _cairo_error_throw
    linkageType: ''
    returnType: void
    signature: "void cairo_win32_scaled_font_get_logical_to_device (cairo_scaled_font_t\
      \ *scaled_font,\t\t\t\t\t cairo_matrix_t *logical_to_device) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cairo/src/win32/cairo-win32-debug.c:52,1
    - Dst: fprintf
      Src: /src/cairo/src/win32/cairo-win32-debug.c:55,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/win32/cairo-win32-debug.c:59,1
    - Dst: GetRegionData
      Src: /src/cairo/src/win32/cairo-win32-debug.c:60,1
    - Dst: GetRegionData
      Src: /src/cairo/src/win32/cairo-win32-debug.c:58,1
    - Dst: fprintf
      Src: /src/cairo/src/win32/cairo-win32-debug.c:62,1
    - Dst: fprintf
      Src: /src/cairo/src/win32/cairo-win32-debug.c:71,1
    - Dst: free
      Src: /src/cairo/src/win32/cairo-win32-debug.c:75,1
    - Dst: fflush
      Src: /src/cairo/src/win32/cairo-win32-debug.c:76,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - rgn
    - header
    argTypes:
    - HRGN
    - char*
    constantsTouched: []
    func_position:
      end: 77
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 77
    functionName: _cairo_win32_debug_dump_hrgn
    functionSourceFile: /src/cairo/src/win32/cairo-win32-debug.c
    functionUses: []
    functionsReached:
    - _cairo_malloc
    - GetRegionData
    - fflush
    - fprintf
    - free
    linkageType: ''
    returnType: void
    signature: 'void _cairo_win32_debug_dump_hrgn (HRGN rgn, char *header) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - m
    - xform
    argTypes:
    - cairo_matrix_t*
    - XFORM*
    constantsTouched: []
    func_position:
      end: 218
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 218
    functionName: _cairo_matrix_to_win32_xform
    functionSourceFile: /src/cairo/src/win32/cairo-win32-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static inline void _cairo_matrix_to_win32_xform (const cairo_matrix_t\
      \ *m,\t\t\t XFORM *xform) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:494,1
    - Dst: to_win32_display_surface
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:509,1
    - Dst: _cairo_damage_add_rectangle
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:508,1
    - Dst: TRACE
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:505,1
    - Dst: to_win32_surface
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:495,1
    - Dst: _cairo_surface_unmap_image
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:512,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - abstract_surface
    - image
    argTypes:
    - void*
    - cairo_image_surface_t*
    constantsTouched: []
    func_position:
      end: 513
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 513
    functionName: _cairo_win32_display_surface_unmap_image
    functionSourceFile: /src/cairo/src/win32/cairo-win32-display-surface.c
    functionUses: []
    functionsReached:
    - TRACE
    - _cairo_damage_add_rectangle
    - to_win32_surface
    - to_win32_display_surface
    - _cairo_surface_unmap_image
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_win32_display_surface_unmap_image\
      \ (void *abstract_surface,\t\t\t\t\t cairo_image_surface_t *image) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:524,1
    - Dst: assert
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:537,1
    - Dst: _cairo_damage_reduce
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:533,1
    - Dst: to_win32_display_surface
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:536,1
    - Dst: TRACE
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:539,1
    - Dst: cairo_region_num_rectangles
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:540,1
    - Dst: BitBlt
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:543,1
    - Dst: _cairo_win32_print_api_error
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:551,1
    - Dst: cairo_region_num_rectangles
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:553,1
    - Dst: cairo_region_get_rectangle
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:557,1
    - Dst: _cairo_damage_destroy
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:573,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:575,1
    - Dst: TRACE
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:558,1
    - Dst: BitBlt
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:561,1
    - Dst: _cairo_win32_print_api_error
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:568,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 2
    argNames:
    - abstract_surface
    - flags
    argTypes:
    - void*
    - unsigned
    constantsTouched: []
    func_position:
      end: 580
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 580
    functionName: _cairo_win32_display_surface_flush
    functionSourceFile: /src/cairo/src/win32/cairo-win32-display-surface.c
    functionUses: []
    functionsReached:
    - _cairo_damage_destroy
    - BitBlt
    - TRACE
    - _cairo_damage_reduce
    - cairo_region_get_rectangle
    - cairo_region_num_rectangles
    - assert
    - cairo_surface_destroy
    - _cairo_win32_print_api_error
    - to_win32_display_surface
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_win32_display_surface_flush (void *abstract_surface,
      unsigned flags) '
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:118,1
    - Dst: CreateCompatibleDC
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:200,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:136,1
    - Dst: _cairo_malloc_ab_plus_c
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:134,1
    - Dst: fprintf
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:202,1
    - Dst: CreateDIBSection
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:206,1
    - Dst: _cairo_win32_print_api_error
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:212,1
    - Dst: GdiFlush
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:218,1
    - Dst: SelectObject
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:220,1
    - Dst: fprintf
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:223,1
    - Dst: free
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:228,1
    - Dst: DeleteObject
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:271,1
    - Dst: DeleteDC
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:276,1
    - Dst: _cairo_win32_flags_for_dc
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:257,1
    - Dst: SelectObject
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:266,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:280,1
    - Dst: free
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:263,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 106
    argCount: 7
    argNames:
    - surface
    - original_dc
    - format
    - width
    - height
    - bits_out
    - rowstride_out
    argTypes:
    - cairo_win32_display_surface_t*
    - HDC
    - cairo_format_t
    - int
    - int
    - unsigned char**
    - int*
    constantsTouched: []
    func_position:
      end: 281
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 281
    functionName: _create_dc_and_bitmap
    functionSourceFile: /src/cairo/src/win32/cairo-win32-display-surface.c
    functionUses: []
    functionsReached:
    - SelectObject
    - fprintf
    - _cairo_error
    - _cairo_malloc_ab_plus_c
    - GdiFlush
    - free
    - DeleteObject
    - _cairo_win32_flags_for_dc
    - CreateDIBSection
    - CreateCompatibleDC
    - _cairo_win32_print_api_error
    - DeleteDC
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _create_dc_and_bitmap (cairo_win32_display_surface_t\
      \ *surface,\t\t HDC original_dc,\t\t cairo_format_t format,\t\t int width,\t\
      \t int height,\t\t unsigned char **bits_out,\t\t int *rowstride_out) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: to_image_surface
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:415,1
    - Dst: to_image_surface
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:416,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:419,1
    - Dst: to_image_surface
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:418,1
    - Dst: assert
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:416,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:420,1
    - Dst: SelectObject
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:425,1
    - Dst: DeleteObject
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:426,1
    - Dst: DeleteDC
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:427,1
    - Dst: _cairo_win32_display_surface_discard_fallback
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:430,1
    - Dst: DeleteObject
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:433,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 436
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 436
    functionName: _cairo_win32_display_surface_finish
    functionSourceFile: /src/cairo/src/win32/cairo-win32-display-surface.c
    functionUses: []
    functionsReached:
    - SelectObject
    - cairo_surface_finish
    - to_image_surface
    - DeleteObject
    - cairo_surface_destroy
    - assert
    - _cairo_win32_display_surface_discard_fallback
    - DeleteDC
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_win32_display_surface_finish (void *abstract_surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_win32_display_surface_discard_fallback
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:586,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 5
    argNames:
    - abstract_surface
    - x
    - y
    - width
    - height
    argTypes:
    - void*
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 588
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 588
    functionName: _cairo_win32_display_surface_mark_dirty
    functionSourceFile: /src/cairo/src/win32/cairo-win32-display-surface.c
    functionUses: []
    functionsReached:
    - _cairo_win32_display_surface_discard_fallback
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_win32_display_surface_mark_dirty (void\
      \ *abstract_surface,\t\t\t\t\t int x, int y, int width, int height) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:699,1
    - Dst: cairo_region_get_extents
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:704,1
    - Dst: _cairo_clip_is_region
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:699,1
    - Dst: cairo_region_num_rectangles
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:705,1
    - Dst: _cairo_clip_get_region
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:700,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:716,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:718,1
    - Dst: cairo_region_get_rectangle
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:735,1
    - Dst: ExtCreateRegion
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:743,1
    - Dst: free
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:745,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:754,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:748,1
    - Dst: DeleteObject
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:757,1
    - Dst: fprintf
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:753,1
    - Dst: ExtSelectClipRgn
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:752,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 55
    argCount: 2
    argNames:
    - surface
    - clip
    argTypes:
    - cairo_win32_display_surface_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 760
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 760
    functionName: _cairo_win32_display_surface_set_clip
    functionSourceFile: /src/cairo/src/win32/cairo-win32-display-surface.c
    functionUses: []
    functionsReached:
    - _cairo_malloc
    - ExtSelectClipRgn
    - fprintf
    - _cairo_error
    - free
    - _cairo_clip_is_region
    - cairo_region_num_rectangles
    - _cairo_clip_get_region
    - cairo_region_get_rectangle
    - assert
    - DeleteObject
    - cairo_region_get_extents
    - ExtCreateRegion
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t _cairo_win32_display_surface_set_clip (cairo_win32_display_surface_t\
      \ *surface,\t\t\t\t cairo_clip_t *clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_win32_device_from_surface
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:872,1
    - Dst: to_win32_surface
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:875,1
    - Dst: TRACE
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:874,1
    - Dst: _cairo_compositor_fill
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:877,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 8
    argNames:
    - surface
    - op
    - source
    - path
    - fill_rule
    - tolerance
    - antialias
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 881
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 881
    functionName: _cairo_win32_display_surface_fill
    functionSourceFile: /src/cairo/src/win32/cairo-win32-display-surface.c
    functionUses: []
    functionsReached:
    - _cairo_compositor_fill
    - to_win32_surface
    - to_win32_device_from_surface
    - TRACE
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_win32_display_surface_fill (void\t\
      \t\t\t*surface,\t\t\t\t cairo_operator_t\t\t op,\t\t\t\t const cairo_pattern_t\t\
      *source,\t\t\t\t const cairo_path_fixed_t\t*path,\t\t\t\t cairo_fill_rule_t\t\
      \t fill_rule,\t\t\t\t double\t\t\t tolerance,\t\t\t\t cairo_antialias_t\t\t\
      \ antialias,\t\t\t\t const cairo_clip_t\t\t*clip) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:295,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:297,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:297,1
    - Dst: _create_dc_and_bitmap
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:301,1
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:307,1
    - Dst: _cairo_image_surface_set_parent
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:313,1
    - Dst: to_image_surface
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:313,1
    - Dst: _cairo_win32_device_get
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:328,1
    - Dst: _cairo_surface_init
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:330,1
    - Dst: _cairo_content_from_format
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:333,1
    - Dst: DeleteObject
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:343,1
    - Dst: DeleteDC
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:344,1
    - Dst: SelectObject
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:342,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:348,1
    - Dst: cairo_device_destroy
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:336,1
    - Dst: free
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:346,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 349
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 349
    functionName: _cairo_win32_display_surface_create_for_dc
    functionSourceFile: /src/cairo/src/win32/cairo-win32-display-surface.c
    functionUses: []
    functionsReached:
    - cairo_device_destroy
    - SelectObject
    - _cairo_surface_init
    - to_image_surface
    - _cairo_content_from_format
    - _cairo_error
    - free
    - cairo_image_surface_create_for_data
    - _cairo_image_surface_set_parent
    - DeleteObject
    - _cairo_win32_device_get
    - _create_dc_and_bitmap
    - _cairo_surface_create_in_error
    - DeleteDC
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_win32_display_surface_create_for_dc\
      \ (HDC original_dc,\t\t\t\t\t cairo_format_t format,\t\t\t\t\t int\t\t width,\t\
      \t\t\t\t int\t\t height) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:445,1
    - Dst: to_win32_surface
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:460,1
    - Dst: BitBlt
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:460,1
    - Dst: unlikely
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:457,1
    - Dst: _cairo_win32_display_surface_create_for_dc
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:453,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:468,1
    - Dst: to_win32_display_surface
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:473,1
    - Dst: GdiFlush
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:475,1
    - Dst: _cairo_surface_map_to_image
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:476,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:479,1
    - Dst: _cairo_image_surface_create_in_error
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:482,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 483
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 483
    functionName: _cairo_win32_display_surface_map_to_image
    functionSourceFile: /src/cairo/src/win32/cairo-win32-display-surface.c
    functionUses: []
    functionsReached:
    - _cairo_win32_display_surface_create_for_dc
    - BitBlt
    - TRACE
    - _cairo_surface_map_to_image
    - _cairo_error
    - _cairo_image_surface_create_in_error
    - GdiFlush
    - cairo_surface_destroy
    - to_win32_surface
    - to_win32_display_surface
    - unlikely
    linkageType: ''
    returnType: cairo_image_surface_t*
    signature: "static cairo_image_surface_t *_cairo_win32_display_surface_map_to_image\
      \ (void *abstract_surface,\t\t\t\t\t const cairo_rectangle_int_t *extents) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GetGraphicsMode
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:611,1
    - Dst: ModifyWorldTransform
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:614,1
    - Dst: fprintf
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:619,1
    - Dst: GetClipBox
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:617,1
    - Dst: GetWorldTransform
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:613,1
    - Dst: SetGraphicsMode
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:620,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:622,1
    - Dst: CreateRectRgn
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:663,1
    - Dst: GetClipRgn
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:664,1
    - Dst: DeleteObject
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:665,1
    - Dst: SetWorldTransform
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:673,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 2
    argNames:
    - hdc
    - surface
    argTypes:
    - HDC
    - cairo_win32_display_surface_t*
    constantsTouched: []
    func_position:
      end: 676
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 676
    functionName: _cairo_win32_save_initial_clip
    functionSourceFile: /src/cairo/src/win32/cairo-win32-display-surface.c
    functionUses: []
    functionsReached:
    - GetGraphicsMode
    - fprintf
    - _cairo_error
    - DeleteObject
    - CreateRectRgn
    - ModifyWorldTransform
    - GetClipBox
    - SetWorldTransform
    - GetWorldTransform
    - SetGraphicsMode
    - GetClipRgn
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t _cairo_win32_save_initial_clip (HDC hdc,
      cairo_win32_display_surface_t *surface) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetGraphicsMode
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:766,1
    - Dst: ModifyWorldTransform
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:769,1
    - Dst: SelectClipRgn
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:773,1
    - Dst: IntersectClipRect
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:777,1
    - Dst: GetWorldTransform
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:768,1
    - Dst: SetWorldTransform
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:785,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_win32_display_surface_t*
    constantsTouched: []
    func_position:
      end: 786
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 786
    functionName: _cairo_win32_display_surface_unset_clip
    functionSourceFile: /src/cairo/src/win32/cairo-win32-display-surface.c
    functionUses: []
    functionsReached:
    - GetGraphicsMode
    - SelectClipRgn
    - ModifyWorldTransform
    - SetWorldTransform
    - GetWorldTransform
    - IntersectClipRect
    linkageType: ''
    returnType: void
    signature: 'void _cairo_win32_display_surface_unset_clip (cairo_win32_display_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_win32_device_from_surface
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:892,1
    - Dst: TRACE
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:894,1
    - Dst: to_win32_surface
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:895,1
    - Dst: _cairo_compositor_glyphs
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:897,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 7
    argNames:
    - surface
    - op
    - source
    - glyphs
    - num_glyphs
    - scaled_font
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_glyph_t*
    - int
    - cairo_scaled_font_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 901
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 901
    functionName: _cairo_win32_display_surface_glyphs
    functionSourceFile: /src/cairo/src/win32/cairo-win32-display-surface.c
    functionUses: []
    functionsReached:
    - to_win32_surface
    - _cairo_compositor_glyphs
    - to_win32_device_from_surface
    - TRACE
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_win32_display_surface_glyphs (void\t\
      \t\t*surface,\t\t\t\t cairo_operator_t\t\t op,\t\t\t\t const cairo_pattern_t\t\
      *source,\t\t\t\t cairo_glyph_t\t\t*glyphs,\t\t\t\t int\t\t\t num_glyphs,\t\t\
      \t\t cairo_scaled_font_t\t*scaled_font,\t\t\t\t const cairo_clip_t\t\t*clip) "
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:988,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:996,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:988,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:994,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:996,1
    - Dst: _cairo_win32_save_initial_clip
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:998,1
    - Dst: free
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:1000,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:1001,1
    - Dst: _cairo_win32_flags_for_dc
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:1013,1
    - Dst: _cairo_win32_device_get
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:1015,1
    - Dst: _cairo_surface_init
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:1017,1
    - Dst: _cairo_content_from_format
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:1020,1
    - Dst: cairo_device_destroy
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:1023,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 1026
    functionName: cairo_win32_surface_create_with_format
    functionSourceFile: /src/cairo/src/win32/cairo-win32-display-surface.c
    functionUses: []
    functionsReached:
    - cairo_device_destroy
    - _cairo_surface_init
    - _cairo_content_from_format
    - _cairo_error
    - free
    - _cairo_win32_save_initial_clip
    - _cairo_win32_device_get
    - _cairo_win32_flags_for_dc
    - _cairo_surface_create_in_error
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'cairo_surface_t *cairo_win32_surface_create_with_format (HDC hdc,
      cairo_format_t format) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_format_from_content
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:358,1
    - Dst: cairo_win32_surface_create_with_ddb
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:372,1
    - Dst: _cairo_win32_display_surface_create_for_dc
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:379,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 383
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 383
    functionName: _cairo_win32_display_surface_create_similar
    functionSourceFile: /src/cairo/src/win32/cairo-win32-display-surface.c
    functionUses: []
    functionsReached:
    - _cairo_win32_display_surface_create_for_dc
    - _cairo_format_from_content
    - cairo_win32_surface_create_with_ddb
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_win32_display_surface_create_similar\
      \ (void\t *abstract_src,\t\t\t\t\t cairo_content_t content,\t\t\t\t\t int\t\
      \ width,\t\t\t\t\t int\t height) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_FORMAT_VALID
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:1069,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:1070,1
    - Dst: _cairo_win32_display_surface_create_for_dc
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:1072,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:1070,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1073
    functionName: cairo_win32_surface_create_with_dib
    functionSourceFile: /src/cairo/src/win32/cairo-win32-display-surface.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - CAIRO_FORMAT_VALID
    - _cairo_win32_display_surface_create_for_dc
    - _cairo_surface_create_in_error
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *cairo_win32_surface_create_with_dib (cairo_format_t\
      \ format,\t\t\t\t int\t width,\t\t\t\t int\t height) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_win32_display_surface_create_for_dc
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:395,1
    - Dst: memset
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:403,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 408
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 408
    functionName: _cairo_win32_display_surface_create_similar_image
    functionSourceFile: /src/cairo/src/win32/cairo-win32-display-surface.c
    functionUses: []
    functionsReached:
    - memset
    - _cairo_win32_display_surface_create_for_dc
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_win32_display_surface_create_similar_image\
      \ (void\t *abstract_other,\t\t\t\t\t\t cairo_format_t format,\t\t\t\t\t\t int\t\
      \ width,\t\t\t\t\t\t int\t height) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_win32_surface_create_with_format
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:1047,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1044
    functionDepth: 0
    functionLinenumber: 1044
    functionLinenumberEnd: 1048
    functionName: cairo_win32_surface_create
    functionSourceFile: /src/cairo/src/win32/cairo-win32-display-surface.c
    functionUses: []
    functionsReached:
    - cairo_win32_surface_create_with_format
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'cairo_surface_t *cairo_win32_surface_create (HDC hdc) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:1111,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:1111,1
    - Dst: GetDC
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:1118,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:1126,1
    - Dst: CreateCompatibleDC
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:1124,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:1126,1
    - Dst: CreateCompatibleBitmap
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:1130,1
    - Dst: DeleteDC
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:1132,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:1139,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:1139,1
    - Dst: SelectObject
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:1143,1
    - Dst: cairo_win32_surface_create
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:1145,1
    - Dst: ReleaseDC
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:1152,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1155
      start: 1090
    functionDepth: 0
    functionLinenumber: 1090
    functionLinenumberEnd: 1155
    functionName: cairo_win32_surface_create_with_ddb
    functionSourceFile: /src/cairo/src/win32/cairo-win32-display-surface.c
    functionUses: []
    functionsReached:
    - cairo_win32_surface_create
    - CreateCompatibleBitmap
    - SelectObject
    - _cairo_error
    - GetDC
    - ReleaseDC
    - _cairo_surface_create_in_error
    - CreateCompatibleDC
    - DeleteDC
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *cairo_win32_surface_create_with_ddb (HDC hdc,\t\t\
      \t\t cairo_format_t format,\t\t\t\t int width,\t\t\t\t int height) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:792,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:796,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:795,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_win32_display_surface_t*
    constantsTouched: []
    func_position:
      end: 799
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 799
    functionName: _cairo_win32_display_surface_discard_fallback
    functionSourceFile: /src/cairo/src/win32/cairo-win32-display-surface.c
    functionUses: []
    functionsReached:
    - cairo_surface_finish
    - TRACE
    - cairo_surface_destroy
    linkageType: ''
    returnType: void
    signature: 'void _cairo_win32_display_surface_discard_fallback (cairo_win32_display_surface_t
      *surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: to_win32_device_from_surface
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:827,1
    - Dst: to_win32_surface
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:830,1
    - Dst: TRACE
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:829,1
    - Dst: _cairo_compositor_mask
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:835,1
    - Dst: _cairo_win32_display_surface_discard_fallback
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:833,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 5
    argNames:
    - surface
    - op
    - source
    - mask
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 837
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 837
    functionName: _cairo_win32_display_surface_mask
    functionSourceFile: /src/cairo/src/win32/cairo-win32-display-surface.c
    functionUses: []
    functionsReached:
    - _cairo_compositor_mask
    - TRACE
    - to_win32_surface
    - to_win32_device_from_surface
    - _cairo_win32_display_surface_discard_fallback
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_win32_display_surface_mask (void\t\
      \t\t\t*surface,\t\t\t\t cairo_operator_t\t\t op,\t\t\t\t const cairo_pattern_t\t\
      *source,\t\t\t\t const cairo_pattern_t\t*mask,\t\t\t\t const cairo_clip_t\t\t\
      *clip) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: to_win32_device_from_surface
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:807,1
    - Dst: TRACE
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:809,1
    - Dst: to_win32_surface
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:810,1
    - Dst: _cairo_win32_display_surface_discard_fallback
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:814,1
    - Dst: _cairo_compositor_paint
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:816,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 4
    argNames:
    - surface
    - op
    - source
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 818
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 818
    functionName: _cairo_win32_display_surface_paint
    functionSourceFile: /src/cairo/src/win32/cairo-win32-display-surface.c
    functionUses: []
    functionsReached:
    - TRACE
    - to_win32_surface
    - _cairo_compositor_paint
    - to_win32_device_from_surface
    - _cairo_win32_display_surface_discard_fallback
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_win32_display_surface_paint (void\t\
      \t\t*surface,\t\t\t\t cairo_operator_t\t\t op,\t\t\t\t const cairo_pattern_t\t\
      *source,\t\t\t\t const cairo_clip_t\t\t*clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_win32_device_from_surface
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:851,1
    - Dst: _cairo_compositor_stroke
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:856,1
    - Dst: to_win32_surface
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:854,1
    - Dst: TRACE
      Src: /src/cairo/src/win32/cairo-win32-display-surface.c:853,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 10
    argNames:
    - surface
    - op
    - source
    - path
    - style
    - ctm
    - ctm_inverse
    - tolerance
    - antialias
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 860
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 860
    functionName: _cairo_win32_display_surface_stroke
    functionSourceFile: /src/cairo/src/win32/cairo-win32-display-surface.c
    functionUses: []
    functionsReached:
    - to_win32_surface
    - _cairo_compositor_stroke
    - to_win32_device_from_surface
    - TRACE
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_win32_display_surface_stroke (void\t\
      \t\t*surface,\t\t\t\t cairo_operator_t\t\t op,\t\t\t\t const cairo_pattern_t\t\
      *source,\t\t\t\t const cairo_path_fixed_t\t*path,\t\t\t\t const cairo_stroke_style_t\t\
      *style,\t\t\t\t const cairo_matrix_t\t*ctm,\t\t\t\t const cairo_matrix_t\t*ctm_inverse,\t\
      \t\t\t double\t\t\t tolerance,\t\t\t\t cairo_antialias_t\t\t antialias,\t\t\t\
      \t const cairo_clip_t\t\t*clip) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_is_recording
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:335,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - pattern
    argTypes:
    - cairo_surface_pattern_t*
    constantsTouched: []
    func_position:
      end: 344
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 344
    functionName: surface_pattern_supported
    functionSourceFile: /src/cairo/src/win32/cairo-win32-printing-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_is_recording
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t surface_pattern_supported (const cairo_surface_pattern_t
      *pattern) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_win32_printing_surface_flatten_transparency
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:476,1
    - Dst: CreateSolidBrush
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:478,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:481,1
    - Dst: SelectObject
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:483,1
    - Dst: fprintf
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:480,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - surface
    - source
    argTypes:
    - cairo_win32_printing_surface_t*
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 486
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 486
    functionName: _cairo_win32_printing_surface_select_solid_brush
    functionSourceFile: /src/cairo/src/win32/cairo-win32-printing-surface.c
    functionUses: []
    functionsReached:
    - SelectObject
    - fprintf
    - _cairo_error
    - _cairo_win32_printing_surface_flatten_transparency
    - CreateSolidBrush
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_win32_printing_surface_select_solid_brush
      (cairo_win32_printing_surface_t *surface, const cairo_pattern_t *source) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_composite_rectangles_intersect_mask_extents
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1669,1
    - Dst: unlikely
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1670,1
    - Dst: SetPolyFillMode
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1701,1
    - Dst: _cairo_win32_printing_surface_emit_path
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1693,1
    - Dst: unlikely
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1709,1
    - Dst: SelectClipPath
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1716,1
    - Dst: fflush
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1721,1
    - Dst: _cairo_composite_rectangles_init_for_fill
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1651,1
    - Dst: unlikely
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1655,1
    - Dst: _cairo_surface_clipper_set_clip
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1674,1
    - Dst: unlikely
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1675,1
    - Dst: assert
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1689,1
    - Dst: _cairo_win32_printing_surface_select_solid_brush
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1708,1
    - Dst: FillPath
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1712,1
    - Dst: _cairo_win32_printing_surface_paint_pattern
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1717,1
    - Dst: RestoreDC
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1718,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1724,1
    - Dst: _cairo_path_fixed_fill_extents
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1663,1
    - Dst: _cairo_win32_printing_surface_analyze_operation
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1685,1
    - Dst: EndPath
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1694,1
    - Dst: SaveDC
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1715,1
    - Dst: _cairo_box_from_rectangle
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1668,1
    - Dst: _cairo_win32_printing_surface_init_clear_color
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1679,1
    - Dst: BeginPath
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1692,1
    - Dst: SetPolyFillMode
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1698,1
    - Dst: _cairo_win32_printing_surface_operation_supported
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1689,1
    - Dst: _cairo_win32_printing_surface_done_solid_brush
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1713,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 48
    argCount: 8
    argNames:
    - abstract_surface
    - op
    - source
    - path
    - fill_rule
    - tolerance
    - antialias
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 1726
      start: 1636
    functionDepth: 0
    functionLinenumber: 1636
    functionLinenumberEnd: 1726
    functionName: _cairo_win32_printing_surface_fill
    functionSourceFile: /src/cairo/src/win32/cairo-win32-printing-surface.c
    functionUses: []
    functionsReached:
    - _cairo_win32_printing_surface_done_solid_brush
    - _cairo_composite_rectangles_intersect_mask_extents
    - RestoreDC
    - _cairo_win32_printing_surface_analyze_operation
    - fflush
    - _cairo_path_fixed_fill_extents
    - _cairo_win32_printing_surface_emit_path
    - _cairo_composite_rectangles_fini
    - SelectClipPath
    - _cairo_box_from_rectangle
    - BeginPath
    - _cairo_surface_clipper_set_clip
    - assert
    - _cairo_win32_printing_surface_select_solid_brush
    - FillPath
    - SetPolyFillMode
    - _cairo_win32_printing_surface_operation_supported
    - SaveDC
    - EndPath
    - _cairo_win32_printing_surface_init_clear_color
    - _cairo_composite_rectangles_init_for_fill
    - _cairo_win32_printing_surface_paint_pattern
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_win32_printing_surface_fill (void\t\
      \t *abstract_surface,\t\t\t\t cairo_operator_t\t\t op,\t\t\t\t const cairo_pattern_t\t\
      *source,\t\t\t\t const cairo_path_fixed_t\t*path,\t\t\t\t cairo_fill_rule_t\t\
      \t fill_rule,\t\t\t\t double\t\t\t tolerance,\t\t\t\t cairo_antialias_t\t\t\
      \ antialias,\t\t\t\t const cairo_clip_t\t\t*clip) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_scaled_font_subsets_destroy
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:2017,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2020
      start: 2011
    functionDepth: 0
    functionLinenumber: 2011
    functionLinenumberEnd: 2020
    functionName: _cairo_win32_printing_surface_finish
    functionSourceFile: /src/cairo/src/win32/cairo-win32-printing-surface.c
    functionUses: []
    functionsReached:
    - _cairo_scaled_font_subsets_destroy
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_win32_printing_surface_finish (void *abstract_surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2161
      start: 2157
    functionDepth: 0
    functionLinenumber: 2157
    functionLinenumberEnd: 2161
    functionName: _cairo_win32_printing_surface_supports_fine_grained_fallbacks
    functionSourceFile: /src/cairo/src/win32/cairo-win32-printing-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _cairo_win32_printing_surface_supports_fine_grained_fallbacks
      (void *abstract_surface) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: surface_pattern_supported
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:361,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 4
    argCount: 2
    argNames:
    - surface
    - pattern
    argTypes:
    - cairo_win32_printing_surface_t*
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 370
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 370
    functionName: pattern_supported
    functionSourceFile: /src/cairo/src/win32/cairo-win32-printing-surface.c
    functionUses: []
    functionsReached:
    - surface_pattern_supported
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t pattern_supported (cairo_win32_printing_surface_t
      *surface, const cairo_pattern_t *pattern) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SelectObject
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:492,1
    - Dst: DeleteObject
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:493,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_win32_printing_surface_t*
    constantsTouched: []
    func_position:
      end: 496
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 496
    functionName: _cairo_win32_printing_surface_done_solid_brush
    functionSourceFile: /src/cairo/src/win32/cairo-win32-printing-surface.c
    functionUses: []
    functionsReached:
    - SelectObject
    - DeleteObject
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_win32_printing_surface_done_solid_brush (cairo_win32_printing_surface_t
      *surface) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1758,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1766,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1768,1
    - Dst: cairo_scaled_font_create
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1760,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1759,1
    - Dst: memcpy
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1770,1
    - Dst: _cairo_scaled_font_subsets_map_glyph
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1772,1
    - Dst: _cairo_win32_surface_emit_glyphs
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1790,1
    - Dst: cairo_scaled_font_destroy
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1805,1
    - Dst: free
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1807,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 47
    argCount: 7
    argNames:
    - surface
    - op
    - source
    - glyphs
    - num_glyphs
    - scaled_font
    - clip
    argTypes:
    - cairo_win32_printing_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_glyph_t*
    - int
    - cairo_scaled_font_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 1810
      start: 1729
    functionDepth: 0
    functionLinenumber: 1729
    functionLinenumberEnd: 1810
    functionName: _cairo_win32_printing_surface_emit_win32_glyphs
    functionSourceFile: /src/cairo/src/win32/cairo-win32-printing-surface.c
    functionUses: []
    functionsReached:
    - _cairo_win32_surface_emit_glyphs
    - memcpy
    - cairo_scaled_font_destroy
    - cairo_scaled_font_create
    - _cairo_error
    - free
    - _cairo_scaled_font_subsets_map_glyph
    - cairo_matrix_transform_point
    - _cairo_malloc_ab
    - cairo_matrix_multiply
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_win32_printing_surface_emit_win32_glyphs\
      \ (cairo_win32_printing_surface_t\t*surface,\t\t\t\t\t\t cairo_operator_t\t\
      \ op,\t\t\t\t\t\t const cairo_pattern_t *source,\t\t\t\t\t\t cairo_glyph_t\t\
      \t *glyphs,\t\t\t\t\t\t int\t\t\t num_glyphs,\t\t\t\t\t\t cairo_scaled_font_t\t\
      *scaled_font,\t\t\t\t\t\t const cairo_clip_t\t*clip) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_recording_surface_create
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:2033,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2034
      start: 2022
    functionDepth: 0
    functionLinenumber: 2022
    functionLinenumberEnd: 2034
    functionName: _cairo_win32_printing_surface_create_similar
    functionSourceFile: /src/cairo/src/win32/cairo-win32-printing-surface.c
    functionUses: []
    functionsReached:
    - cairo_recording_surface_create
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_win32_printing_surface_create_similar\
      \ (void\t\t*abstract_surface,\t\t\t\t\t cairo_content_t\t content,\t\t\t\t\t\
      \ int\t\t width,\t\t\t\t\t int\t\t height) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pattern_fini
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:268,1
    - Dst: _cairo_raster_source_pattern_release
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:277,1
    - Dst: _cairo_surface_release_source_image
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:273,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 6
    argCount: 4
    argNames:
    - surface
    - pattern
    - image_pattern
    - image_extra
    argTypes:
    - cairo_win32_printing_surface_t*
    - cairo_pattern_t*
    - cairo_surface_pattern_t*
    - void*
    constantsTouched: []
    func_position:
      end: 288
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 288
    functionName: _cairo_win32_printing_surface_release_image_pattern
    functionSourceFile: /src/cairo/src/win32/cairo-win32-printing-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_release_source_image
    - _cairo_raster_source_pattern_release
    - _cairo_pattern_fini
    linkageType: ''
    returnType: void
    signature: "static void _cairo_win32_printing_surface_release_image_pattern (cairo_win32_printing_surface_t\
      \ *surface,\t\t\t\t\t\t const cairo_pattern_t *pattern,\t\t\t\t\t\t cairo_surface_pattern_t\
      \ *image_pattern,\t\t\t\t\t\t void *image_extra) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_get_mime_data
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:738,1
    - Dst: _cairo_image_info_get_png_info
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:743,1
    - Dst: ExtEscape
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:748,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 13
    argCount: 5
    argNames:
    - surface
    - source
    - data
    - length
    - info
    argTypes:
    - cairo_win32_printing_surface_t*
    - cairo_surface_t*
    - unsigned char**
    - unsigned long*
    - cairo_image_info_t*
    constantsTouched: []
    func_position:
      end: 759
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 759
    functionName: _cairo_win32_printing_surface_check_png
    functionSourceFile: /src/cairo/src/win32/cairo-win32-printing-surface.c
    functionUses: []
    functionsReached:
    - ExtEscape
    - _cairo_image_info_get_png_info
    - cairo_surface_get_mime_data
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_win32_printing_surface_check_png\
      \ (cairo_win32_printing_surface_t *surface,\t\t\t\t\t cairo_surface_t *source,\t\
      \t\t\t\t const unsigned char **data,\t\t\t\t\t unsigned long *length,\t\t\t\t\
      \t cairo_image_info_t *info) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - vert
    - color
    argTypes:
    - TRIVERTEX*
    - cairo_color_stop_t*
    constantsTouched: []
    func_position:
      end: 959
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 959
    functionName: vertex_set_color
    functionSourceFile: /src/cairo/src/win32/cairo-win32-printing-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void vertex_set_color (TRIVERTEX *vert, cairo_color_stop_t
      *color) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_win32_printing_surface_paint_solid_pattern
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1119,1
    - Dst: _cairo_surface_is_snapshot
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1129,1
    - Dst: _cairo_surface_snapshot_get_target
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1130,1
    - Dst: _cairo_surface_is_recording
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1132,1
    - Dst: _cairo_win32_printing_surface_paint_recording_pattern
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1133,1
    - Dst: _cairo_win32_printing_surface_paint_image_pattern
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1135,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1137,1
    - Dst: _cairo_win32_printing_surface_paint_image_pattern
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1144,1
    - Dst: _cairo_win32_printing_surface_paint_linear_pattern
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1150,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 19
    argCount: 3
    argNames:
    - surface
    - pattern
    - extents
    argTypes:
    - cairo_win32_printing_surface_t*
    - cairo_pattern_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 1164
      start: 1110
    functionDepth: 0
    functionLinenumber: 1110
    functionLinenumberEnd: 1164
    functionName: _cairo_win32_printing_surface_paint_pattern
    functionSourceFile: /src/cairo/src/win32/cairo-win32-printing-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_is_snapshot
    - _cairo_win32_printing_surface_paint_solid_pattern
    - _cairo_win32_printing_surface_paint_recording_pattern
    - _cairo_win32_printing_surface_paint_image_pattern
    - cairo_surface_destroy
    - _cairo_surface_is_recording
    - _cairo_surface_snapshot_get_target
    - _cairo_win32_printing_surface_paint_linear_pattern
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_win32_printing_surface_paint_pattern\
      \ (cairo_win32_printing_surface_t *surface, const cairo_pattern_t *pattern,\t\
      \t\t\t\t const cairo_rectangle_int_t *extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_path_fixed_interpret
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1276,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - surface
    - path
    argTypes:
    - cairo_win32_printing_surface_t*
    - cairo_path_fixed_t*
    constantsTouched: []
    func_position:
      end: 1282
      start: 1269
    functionDepth: 0
    functionLinenumber: 1269
    functionLinenumberEnd: 1282
    functionName: _cairo_win32_printing_surface_emit_path
    functionSourceFile: /src/cairo/src/win32/cairo-win32-printing-surface.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_interpret
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_win32_printing_surface_emit_path (cairo_win32_printing_surface_t\
      \ *surface,\t\t\t\t\t const cairo_path_fixed_t *path) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_font_options_init_default
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1358,1
    - Dst: cairo_font_options_set_hint_metrics
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1361,1
    - Dst: _cairo_font_options_set_round_glyph_positions
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1363,1
    - Dst: cairo_font_options_set_hint_style
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1360,1
    - Dst: cairo_font_options_set_antialias
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1362,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - abstract_surface
    - options
    argTypes:
    - void*
    - cairo_font_options_t*
    constantsTouched: []
    func_position:
      end: 1364
      start: 1354
    functionDepth: 0
    functionLinenumber: 1354
    functionLinenumberEnd: 1364
    functionName: _cairo_win32_printing_surface_get_font_options
    functionSourceFile: /src/cairo/src/win32/cairo-win32-printing-surface.c
    functionUses: []
    functionsReached:
    - cairo_font_options_set_hint_style
    - _cairo_font_options_init_default
    - cairo_font_options_set_antialias
    - cairo_font_options_set_hint_metrics
    - _cairo_font_options_set_round_glyph_positions
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_win32_printing_surface_get_font_options (void *abstract_surface,
      cairo_font_options_t *options) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - cap
    argTypes:
    - cairo_line_cap_t
    constantsTouched: []
    func_position:
      end: 1421
      start: 1407
    functionDepth: 0
    functionLinenumber: 1407
    functionLinenumberEnd: 1421
    functionName: _cairo_win32_line_cap
    functionSourceFile: /src/cairo/src/win32/cairo-win32-printing-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int _cairo_win32_line_cap (cairo_line_cap_t cap) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_win32_printing_surface_init_clear_color
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1848,1
    - Dst: cairo_scaled_font_get_type
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1876,1
    - Dst: _cairo_scaled_font_freeze_cache
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1888,1
    - Dst: GetBValue
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1914,1
    - Dst: _cairo_dwrite_scaled_font_create_win32_scaled_font
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1929,1
    - Dst: _cairo_win32_printing_surface_emit_path
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1971,1
    - Dst: unlikely
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1980,1
    - Dst: FillPath
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1984,1
    - Dst: _cairo_win32_printing_surface_done_solid_brush
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1985,1
    - Dst: SelectClipPath
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1987,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1994,1
    - Dst: cairo_scaled_font_destroy
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:2000,1
    - Dst: _cairo_composite_rectangles_init_for_glyphs
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1833,1
    - Dst: unlikely
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1840,1
    - Dst: _cairo_win32_printing_surface_analyze_operation
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1869,1
    - Dst: _cairo_win32_printing_surface_analyze_operation
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1877,1
    - Dst: _cairo_scaled_font_thaw_cache
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1898,1
    - Dst: GetGValue
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1913,1
    - Dst: SaveDC
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1954,1
    - Dst: _cairo_scaled_font_freeze_cache
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1959,1
    - Dst: EndPath
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1973,1
    - Dst: _cairo_win32_printing_surface_select_solid_brush
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1979,1
    - Dst: unlikely
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1844,1
    - Dst: _cairo_surface_clipper_set_clip
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1843,1
    - Dst: _cairo_win32_printing_surface_flatten_transparency
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1910,1
    - Dst: cairo_pattern_create_rgb
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1912,1
    - Dst: cairo_scaled_font_get_type
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1928,1
    - Dst: BeginPath
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1960,1
    - Dst: _cairo_scaled_glyph_lookup
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1962,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1970,1
    - Dst: _cairo_win32_printing_surface_paint_pattern
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1988,1
    - Dst: cairo_scaled_font_get_type
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1864,1
    - Dst: _cairo_win32_scaled_font_is_bitmap
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1865,1
    - Dst: _cairo_scaled_glyph_lookup
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1890,1
    - Dst: GetRValue
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1912,1
    - Dst: unlikely
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1899,1
    - Dst: _cairo_win32_printing_surface_analyze_operation
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1902,1
    - Dst: unlikely
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1915,1
    - Dst: cairo_scaled_font_get_type
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1940,1
    - Dst: _cairo_win32_printing_surface_emit_win32_glyphs
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1943,1
    - Dst: _cairo_scaled_font_thaw_cache
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1974,1
    - Dst: RestoreDC
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1991,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1997,1
    - Dst: SetPolyFillMode
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1983,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 111
    argCount: 7
    argNames:
    - abstract_surface
    - op
    - source
    - glyphs
    - num_glyphs
    - scaled_font
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_glyph_t*
    - int
    - cairo_scaled_font_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 2003
      start: 1812
    functionDepth: 0
    functionLinenumber: 1812
    functionLinenumberEnd: 2003
    functionName: _cairo_win32_printing_surface_show_glyphs
    functionSourceFile: /src/cairo/src/win32/cairo-win32-printing-surface.c
    functionUses: []
    functionsReached:
    - _cairo_win32_printing_surface_done_solid_brush
    - RestoreDC
    - GetBValue
    - _cairo_win32_printing_surface_analyze_operation
    - cairo_matrix_translate
    - unlikely
    - _cairo_composite_rectangles_init_for_glyphs
    - _cairo_scaled_font_thaw_cache
    - _cairo_win32_printing_surface_emit_path
    - _cairo_win32_printing_surface_flatten_transparency
    - _cairo_dwrite_scaled_font_create_win32_scaled_font
    - _cairo_composite_rectangles_fini
    - cairo_scaled_font_get_type
    - SelectClipPath
    - _cairo_win32_scaled_font_is_bitmap
    - GetRValue
    - BeginPath
    - GetGValue
    - _cairo_surface_clipper_set_clip
    - _cairo_win32_printing_surface_select_solid_brush
    - FillPath
    - cairo_pattern_create_rgb
    - cairo_pattern_destroy
    - cairo_scaled_font_destroy
    - SaveDC
    - _cairo_scaled_font_freeze_cache
    - _cairo_scaled_glyph_lookup
    - SetPolyFillMode
    - EndPath
    - _cairo_win32_printing_surface_init_clear_color
    - _cairo_win32_printing_surface_paint_pattern
    - _cairo_win32_printing_surface_emit_win32_glyphs
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_win32_printing_surface_show_glyphs\
      \ (void *abstract_surface, cairo_operator_t\t op, const cairo_pattern_t *source,\
      \ cairo_glyph_t *glyphs, int\t\t\t num_glyphs, cairo_scaled_font_t *scaled_font,\t\
      \t\t\t\t const cairo_clip_t\t*clip) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_win32_printing_surface_acquire_image_pattern
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:302,1
    - Dst: _cairo_win32_printing_surface_release_image_pattern
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:327,1
    - Dst: _cairo_image_analyze_transparency
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:313,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 10
    argCount: 3
    argNames:
    - surface
    - pattern
    - extents
    argTypes:
    - cairo_win32_printing_surface_t*
    - cairo_pattern_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 330
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 330
    functionName: analyze_surface_pattern_transparency
    functionSourceFile: /src/cairo/src/win32/cairo-win32-printing-surface.c
    functionUses: []
    functionsReached:
    - _cairo_win32_printing_surface_release_image_pattern
    - _cairo_win32_printing_surface_acquire_image_pattern
    - _cairo_image_analyze_transparency
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t analyze_surface_pattern_transparency (cairo_win32_printing_surface_t\
      \ *surface,\t\t\t\t const cairo_pattern_t *pattern,\t\t\t\t const cairo_rectangle_int_t\
      \ *extents) "
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_win32_printing_surface_check_png
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:825,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:885,1
    - Dst: assert
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:887,1
    - Dst: SetWorldTransform
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:894,1
    - Dst: SetStretchBltMode
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:900,1
    - Dst: floor
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:906,1
    - Dst: StretchDIBits
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:917,1
    - Dst: _cairo_win32_printing_surface_acquire_image_pattern
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:796,1
    - Dst: _cairo_pattern_init_for_surface
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:858,1
    - Dst: _cairo_pattern_fini
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:863,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:890,1
    - Dst: fprintf
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:895,1
    - Dst: floor
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:904,1
    - Dst: fprintf
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:931,1
    - Dst: RestoreDC
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:938,1
    - Dst: _cairo_win32_printing_surface_release_image_pattern
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:944,1
    - Dst: _cairo_surface_paint
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:851,1
    - Dst: _cairo_surface_paint
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:859,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:889,1
    - Dst: SaveDC
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:891,1
    - Dst: GetClipBox
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:902,1
    - Dst: SetStretchBltMode
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:937,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:942,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:841,1
    - Dst: _cairo_int_status_is_error
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:831,1
    - Dst: _cairo_win32_printing_surface_check_jpeg
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:818,1
    - Dst: _cairo_pattern_init_solid
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:849,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:896,1
    - Dst: _cairo_matrix_to_win32_xform
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:892,1
    - Dst: ceil
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:905,1
    - Dst: ceil
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:907,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:932,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 116
    argCount: 3
    argNames:
    - surface
    - pattern
    - extents
    argTypes:
    - cairo_win32_printing_surface_t*
    - cairo_pattern_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 947
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 947
    functionName: _cairo_win32_printing_surface_paint_image_pattern
    functionSourceFile: /src/cairo/src/win32/cairo-win32-printing-surface.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - _cairo_win32_printing_surface_release_image_pattern
    - _cairo_win32_printing_surface_check_png
    - RestoreDC
    - _cairo_pattern_init_solid
    - _cairo_surface_paint
    - SetStretchBltMode
    - floor
    - _cairo_pattern_init_for_surface
    - fprintf
    - _cairo_matrix_to_win32_xform
    - _cairo_win32_printing_surface_check_jpeg
    - _cairo_pattern_fini
    - _cairo_win32_printing_surface_acquire_image_pattern
    - ceil
    - _cairo_int_status_is_error
    - assert
    - SetWorldTransform
    - GetClipBox
    - SaveDC
    - cairo_surface_destroy
    - cairo_image_surface_create
    - cairo_matrix_invert
    - cairo_matrix_multiply
    - StretchDIBits
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_win32_printing_surface_paint_image_pattern\
      \ (cairo_win32_printing_surface_t *surface,\t\t\t\t\t\t const cairo_pattern_t\
      \ *pattern,\t\t\t\t\t\t const cairo_rectangle_int_t *extents) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:981,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:985,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1002,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1025,1
    - Dst: GetClipBox
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1011,1
    - Dst: vertex_set_color
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1035,1
    - Dst: RestoreDC
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1105,1
    - Dst: cairo_pattern_get_extend
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:977,1
    - Dst: _cairo_matrix_to_win32_xform
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1004,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1008,1
    - Dst: floor
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1014,1
    - Dst: _cairo_malloc
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1026,1
    - Dst: vertex_set_color
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1049,1
    - Dst: assert
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:983,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:991,1
    - Dst: cairo_matrix_init
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:998,1
    - Dst: SetWorldTransform
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1006,1
    - Dst: GradientFill
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1094,1
    - Dst: free
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1104,1
    - Dst: SaveDC
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:978,1
    - Dst: sqrt
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:995,1
    - Dst: ceil
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1015,1
    - Dst: fprintf
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1007,1
    - Dst: fprintf
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1099,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1100,1
    - Dst: free
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1103,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 242
    argCount: 2
    argNames:
    - surface
    - pattern
    argTypes:
    - cairo_win32_printing_surface_t*
    - cairo_linear_pattern_t*
    constantsTouched: []
    func_position:
      end: 1108
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 1108
    functionName: _cairo_win32_printing_surface_paint_linear_pattern
    functionSourceFile: /src/cairo/src/win32/cairo-win32-printing-surface.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - GradientFill
    - RestoreDC
    - floor
    - fprintf
    - _cairo_matrix_to_win32_xform
    - cairo_matrix_translate
    - vertex_set_color
    - ceil
    - cairo_matrix_init
    - assert
    - SetWorldTransform
    - GetClipBox
    - cairo_pattern_get_extend
    - _cairo_malloc
    - SaveDC
    - free
    - sqrt
    - cairo_matrix_invert
    - cairo_matrix_multiply
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t _cairo_win32_printing_surface_paint_linear_pattern
      (cairo_win32_printing_surface_t *surface, cairo_linear_pattern_t *pattern) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RestoreDC
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1298
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1298
    functionName: _cairo_win32_printing_surface_show_page
    functionSourceFile: /src/cairo/src/win32/cairo-win32-printing-surface.c
    functionUses: []
    functionsReached:
    - RestoreDC
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t _cairo_win32_printing_surface_show_page
      (void *abstract_surface) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_composite_rectangles_init_for_paint
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1377,1
    - Dst: unlikely
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1384,1
    - Dst: _cairo_win32_printing_surface_init_clear_color
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1388,1
    - Dst: unlikely
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1380,1
    - Dst: _cairo_surface_clipper_set_clip
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1383,1
    - Dst: _cairo_win32_printing_surface_analyze_operation
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1394,1
    - Dst: assert
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1398,1
    - Dst: _cairo_win32_printing_surface_operation_supported
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1398,1
    - Dst: _cairo_win32_printing_surface_paint_pattern
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1400,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1403,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 4
    argNames:
    - abstract_surface
    - op
    - source
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 1405
      start: 1366
    functionDepth: 0
    functionLinenumber: 1366
    functionLinenumberEnd: 1405
    functionName: _cairo_win32_printing_surface_paint
    functionSourceFile: /src/cairo/src/win32/cairo-win32-printing-surface.c
    functionUses: []
    functionsReached:
    - _cairo_win32_printing_surface_analyze_operation
    - _cairo_win32_printing_surface_operation_supported
    - _cairo_surface_clipper_set_clip
    - assert
    - _cairo_win32_printing_surface_init_clear_color
    - _cairo_composite_rectangles_fini
    - _cairo_win32_printing_surface_paint_pattern
    - _cairo_composite_rectangles_init_for_paint
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_win32_printing_surface_paint (void\t\
      \t\t*abstract_surface, cairo_operator_t\t\t op, const cairo_pattern_t\t*source,\t\
      \t\t\t const cairo_clip_t *clip) "
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - join
    argTypes:
    - cairo_line_join_t
    constantsTouched: []
    func_position:
      end: 1437
      start: 1423
    functionDepth: 0
    functionLinenumber: 1423
    functionLinenumberEnd: 1437
    functionName: _cairo_win32_line_join
    functionSourceFile: /src/cairo/src/win32/cairo-win32-printing-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int _cairo_win32_line_join (cairo_line_join_t join) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2009
      start: 2005
    functionDepth: 0
    functionLinenumber: 2005
    functionLinenumberEnd: 2009
    functionName: _cairo_win32_printing_surface_get_supported_mime_types
    functionSourceFile: /src/cairo/src/win32/cairo-win32-printing-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char**
    signature: "static const char **_cairo_win32_printing_surface_get_supported_mime_types\
      \ (void\t *abstract_surface) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_pattern_init_solid
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:433,1
    - Dst: _cairo_pattern_init_solid
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:435,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - surface
    - color
    argTypes:
    - cairo_win32_printing_surface_t*
    - cairo_solid_pattern_t*
    constantsTouched: []
    func_position:
      end: 436
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 436
    functionName: _cairo_win32_printing_surface_init_clear_color
    functionSourceFile: /src/cairo/src/win32/cairo-win32-printing-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_init_solid
    linkageType: ''
    returnType: void
    signature: "static void _cairo_win32_printing_surface_init_clear_color (cairo_win32_printing_surface_t\
      \ *surface,\t\t\t\t\t\tcairo_solid_pattern_t *color) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1179,1
    - Dst: MoveToEx
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1182,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1180,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1181,1
    - Dst: MoveToEx
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1184,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1185,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - closure
    - point
    argTypes:
    - void*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 1191
      start: 1170
    functionDepth: 0
    functionLinenumber: 1170
    functionLinenumberEnd: 1191
    functionName: _cairo_win32_printing_surface_path_move_to
    functionSourceFile: /src/cairo/src/win32/cairo-win32-printing-surface.c
    functionUses: []
    functionsReached:
    - MoveToEx
    - cairo_matrix_transform_point
    - _cairo_fixed_to_double
    - _cairo_fixed_integer_part
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_win32_printing_surface_path_move_to (void\
      \ *closure,\t\t\t\t\t const cairo_point_t *point) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1229,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1231,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1236,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1230,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1235,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1237,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1241,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1242,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1243,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1247,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1252,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1251,1
    - Dst: PolyBezierTo
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1254,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1250,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1249,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1248,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 4
    argNames:
    - closure
    - b
    - c
    - d
    argTypes:
    - void*
    - cairo_point_t*
    - cairo_point_t*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 1257
      start: 1216
    functionDepth: 0
    functionLinenumber: 1216
    functionLinenumberEnd: 1257
    functionName: _cairo_win32_printing_surface_path_curve_to
    functionSourceFile: /src/cairo/src/win32/cairo-win32-printing-surface.c
    functionUses: []
    functionsReached:
    - PolyBezierTo
    - cairo_matrix_transform_point
    - _cairo_fixed_to_double
    - _cairo_fixed_integer_part
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_win32_printing_surface_path_curve_to
      (void *closure, const cairo_point_t *b, const cairo_point_t *c, const cairo_point_t
      *d) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cairo_container_of
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1307,1
    - Dst: BeginPath
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1322,1
    - Dst: _cairo_win32_printing_surface_emit_path
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1323,1
    - Dst: SaveDC
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1317,1
    - Dst: RestoreDC
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1316,1
    - Dst: EndPath
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1324,1
    - Dst: SetPolyFillMode
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1328,1
    - Dst: SetPolyFillMode
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1331,1
    - Dst: SelectClipPath
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1337,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 5
    argNames:
    - clipper
    - path
    - fill_rule
    - tolerance
    - antialias
    argTypes:
    - cairo_surface_clipper_t*
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    constantsTouched: []
    func_position:
      end: 1340
      start: 1300
    functionDepth: 0
    functionLinenumber: 1300
    functionLinenumberEnd: 1340
    functionName: _cairo_win32_printing_surface_clipper_intersect_clip_path
    functionSourceFile: /src/cairo/src/win32/cairo-win32-printing-surface.c
    functionUses: []
    functionsReached:
    - BeginPath
    - SaveDC
    - SetPolyFillMode
    - cairo_container_of
    - EndPath
    - _cairo_win32_printing_surface_emit_path
    - RestoreDC
    - SelectClipPath
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_win32_printing_surface_clipper_intersect_clip_path\
      \ (cairo_surface_clipper_t *clipper, cairo_path_fixed_t *path, cairo_fill_rule_t\
      \ fill_rule, double\t tolerance, cairo_antialias_t antialias) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetClipBox
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:2059,1
    - Dst: SetGraphicsMode
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:2105,1
    - Dst: SaveDC
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:2066,1
    - Dst: cairo_matrix_init_identity
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:2108,1
    - Dst: GetWorldTransform
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:2106,1
    - Dst: cairo_matrix_init_identity
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:2122,1
    - Dst: ModifyWorldTransform
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:2123,1
    - Dst: fprintf
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:2124,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:2125,1
    - Dst: _cairo_matrix_is_identity
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:2129,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:2132,1
    - Dst: GetDeviceCaps
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:2137,1
    - Dst: _cairo_surface_set_resolution
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:2139,1
    - Dst: SaveDC
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:2141,1
    - Dst: GetDeviceCaps
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:2136,1
    - Dst: cairo_matrix_transform_distance
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:2138,1
    - Dst: _cairo_matrix_is_identity
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:2130,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 50
    argCount: 1
    argNames:
    - abstract_surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2144
      start: 2036
    functionDepth: 0
    functionLinenumber: 2036
    functionLinenumberEnd: 2144
    functionName: _cairo_win32_printing_surface_start_page
    functionSourceFile: /src/cairo/src/win32/cairo-win32-printing-surface.c
    functionUses: []
    functionsReached:
    - fprintf
    - SaveDC
    - _cairo_error
    - _cairo_matrix_is_identity
    - GetClipBox
    - ModifyWorldTransform
    - cairo_matrix_init_identity
    - GetWorldTransform
    - GetDeviceCaps
    - SetGraphicsMode
    - _cairo_surface_set_resolution
    - cairo_matrix_invert
    - cairo_matrix_transform_distance
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t _cairo_win32_printing_surface_start_page
      (void *abstract_surface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_COLOR_IS_OPAQUE
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:449,1
    - Dst: RGB
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:464,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 2
    argNames:
    - surface
    - color
    argTypes:
    - cairo_win32_printing_surface_t*
    - cairo_color_t*
    constantsTouched: []
    func_position:
      end: 467
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 467
    functionName: _cairo_win32_printing_surface_flatten_transparency
    functionSourceFile: /src/cairo/src/win32/cairo-win32-printing-surface.c
    functionUses: []
    functionsReached:
    - RGB
    - CAIRO_COLOR_IS_OPAQUE
    linkageType: ''
    returnType: COLORREF
    signature: "static COLORREF _cairo_win32_printing_surface_flatten_transparency\
      \ (cairo_win32_printing_surface_t *surface,\t\t\t\t\t\t const cairo_color_t\
      \ *color) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1203,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1204,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1205,1
    - Dst: LineTo
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1206,1
    - Dst: LineTo
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1208,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1209,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1210,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - closure
    - point
    argTypes:
    - void*
    - cairo_point_t*
    constantsTouched: []
    func_position:
      end: 1214
      start: 1193
    functionDepth: 0
    functionLinenumber: 1193
    functionLinenumberEnd: 1214
    functionName: _cairo_win32_printing_surface_path_line_to
    functionSourceFile: /src/cairo/src/win32/cairo-win32-printing-surface.c
    functionUses: []
    functionsReached:
    - LineTo
    - cairo_matrix_transform_point
    - _cairo_fixed_to_double
    - _cairo_fixed_integer_part
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_win32_printing_surface_path_line_to (void\
      \ *closure,\t\t\t\t\t const cairo_point_t *point) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CloseFigure
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1264,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - closure
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1267
      start: 1259
    functionDepth: 0
    functionLinenumber: 1259
    functionLinenumberEnd: 1267
    functionName: _cairo_win32_printing_surface_path_close_path
    functionSourceFile: /src/cairo/src/win32/cairo-win32-printing-surface.c
    functionUses: []
    functionsReached:
    - CloseFigure
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_win32_printing_surface_path_close_path
      (void *closure) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - abstract_surface
    - rectangle
    argTypes:
    - void*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 1352
      start: 1342
    functionDepth: 0
    functionLinenumber: 1342
    functionLinenumberEnd: 1352
    functionName: _cairo_win32_printing_surface_get_extents
    functionSourceFile: /src/cairo/src/win32/cairo-win32-printing-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _cairo_win32_printing_surface_get_extents (void\t\
      \t *abstract_surface,\t\t\t\t\t cairo_rectangle_int_t *rectangle) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - abstract_surface
    - paginated_mode
    argTypes:
    - void*
    - cairo_paginated_mode_t
    constantsTouched: []
    func_position:
      end: 2155
      start: 2146
    functionDepth: 0
    functionLinenumber: 2146
    functionLinenumberEnd: 2155
    functionName: _cairo_win32_printing_surface_set_paginated_mode
    functionSourceFile: /src/cairo/src/win32/cairo-win32-printing-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_int_status_t
    signature: 'static cairo_int_status_t _cairo_win32_printing_surface_set_paginated_mode
      (void *abstract_surface, cairo_paginated_mode_t paginated_mode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ExtEscape
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:105,1
    - Dst: ExtEscape
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:109,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_win32_printing_surface_t*
    constantsTouched: []
    func_position:
      end: 115
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 115
    functionName: _cairo_win32_printing_surface_init_ps_mode
    functionSourceFile: /src/cairo/src/win32/cairo-win32-printing-surface.c
    functionUses: []
    functionsReached:
    - ExtEscape
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_win32_printing_surface_init_ps_mode (cairo_win32_printing_surface_t
      *surface) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_acquire_source_image
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:207,1
    - Dst: _cairo_box_from_rectangle
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:222,1
    - Dst: unlikely
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:208,1
    - Dst: _cairo_box_round_to_rectangle
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:224,1
    - Dst: _cairo_matrix_transform_bounding_box_fixed
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:223,1
    - Dst: _cairo_raster_source_pattern_acquire
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:225,1
    - Dst: assert
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:229,1
    - Dst: _cairo_surface_is_image
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:229,1
    - Dst: cairo_surface_get_device_offset
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:231,1
    - Dst: _cairo_pattern_init_for_surface
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:247,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:255,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:249,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:250,1
    - Dst: assert
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:252,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 31
    argCount: 7
    argNames:
    - surface
    - pattern
    - extents
    - image_pattern
    - width
    - height
    - image_extra
    argTypes:
    - cairo_win32_printing_surface_t*
    - cairo_pattern_t*
    - cairo_rectangle_int_t*
    - cairo_surface_pattern_t*
    - int*
    - int*
    - void**
    constantsTouched: []
    func_position:
      end: 258
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 258
    functionName: _cairo_win32_printing_surface_acquire_image_pattern
    functionSourceFile: /src/cairo/src/win32/cairo-win32-printing-surface.c
    functionUses: []
    functionsReached:
    - _cairo_pattern_init_for_surface
    - cairo_matrix_invert
    - _cairo_surface_is_image
    - _cairo_box_round_to_rectangle
    - cairo_surface_get_device_offset
    - _cairo_raster_source_pattern_acquire
    - _cairo_matrix_transform_bounding_box_fixed
    - assert
    - _cairo_surface_acquire_source_image
    - cairo_matrix_init_translate
    - cairo_matrix_multiply
    - _cairo_box_from_rectangle
    - unlikely
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_win32_printing_surface_acquire_image_pattern
      ( cairo_win32_printing_surface_t *surface, const cairo_pattern_t *pattern, const
      cairo_rectangle_int_t *extents, cairo_surface_pattern_t *image_pattern, int
      *width, int *height, void **image_extra) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pattern_supported
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:378,1
    - Dst: _cairo_pattern_is_opaque
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:410,1
    - Dst: analyze_surface_pattern_transparency
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:408,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 20
    argCount: 4
    argNames:
    - surface
    - op
    - pattern
    - extents
    argTypes:
    - cairo_win32_printing_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 414
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 414
    functionName: _cairo_win32_printing_surface_analyze_operation
    functionSourceFile: /src/cairo/src/win32/cairo-win32-printing-surface.c
    functionUses: []
    functionsReached:
    - analyze_surface_pattern_transparency
    - pattern_supported
    - _cairo_pattern_is_opaque
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_win32_printing_surface_analyze_operation\
      \ (cairo_win32_printing_surface_t *surface, cairo_operator_t op, const cairo_pattern_t\
      \ *pattern,\t\t\t\t\t\t const cairo_rectangle_int_t *extents) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_matrix_to_win32_xform
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:504,1
    - Dst: ModifyWorldTransform
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:505,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:507,1
    - Dst: GetClipBox
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:509,1
    - Dst: fprintf
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:506,1
    - Dst: _cairo_matrix_to_win32_xform
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:511,1
    - Dst: SetWorldTransform
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:512,1
    - Dst: fprintf
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:513,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:514,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - surface
    - clip
    argTypes:
    - cairo_win32_printing_surface_t*
    - RECT*
    constantsTouched: []
    func_position:
      end: 518
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 518
    functionName: _cairo_win32_printing_surface_get_ctm_clip_box
    functionSourceFile: /src/cairo/src/win32/cairo-win32-printing-surface.c
    functionUses: []
    functionsReached:
    - fprintf
    - _cairo_matrix_to_win32_xform
    - _cairo_error
    - ModifyWorldTransform
    - GetClipBox
    - SetWorldTransform
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_win32_printing_surface_get_ctm_clip_box\
      \ (cairo_win32_printing_surface_t *surface,\t\t\t\t\t\tRECT *clip) "
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:590,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:591,1
    - Dst: SaveDC
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:615,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:592,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:593,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:627,1
    - Dst: LineTo
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:649,1
    - Dst: EndPath
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:657,1
    - Dst: SaveDC
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:660,1
    - Dst: _cairo_recording_surface_replay_region
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:661,1
    - Dst: RestoreDC
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:668,1
    - Dst: assert
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:562,1
    - Dst: _cairo_recording_surface_get_bbox
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:578,1
    - Dst: _cairo_win32_printing_surface_get_ctm_clip_box
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:585,1
    - Dst: _cairo_fixed_to_double
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:590,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:617,1
    - Dst: _cairo_matrix_is_identity
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:631,1
    - Dst: BeginPath
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:634,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:638,1
    - Dst: MoveToEx
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:639,1
    - Dst: assert
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:666,1
    - Dst: SelectClipPath
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:658,1
    - Dst: cairo_pattern_get_extend
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:557,1
    - Dst: SaveDC
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:568,1
    - Dst: _cairo_box_round_to_rectangle
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:582,1
    - Dst: _cairo_win32_printing_surface_paint_solid_pattern
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:604,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:622,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:648,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:653,1
    - Dst: LineTo
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:654,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:560,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:566,1
    - Dst: _cairo_matrix_to_win32_xform
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:569,1
    - Dst: ceil
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:591,1
    - Dst: floor
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:592,1
    - Dst: ceil
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:593,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:623,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:626,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:643,1
    - Dst: LineTo
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:644,1
    - Dst: RestoreDC
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:678,1
    - Dst: CloseFigure
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:656,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 115
    argCount: 3
    argNames:
    - surface
    - pattern
    - source
    argTypes:
    - cairo_win32_printing_surface_t*
    - cairo_surface_pattern_t*
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 682
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 682
    functionName: _cairo_win32_printing_surface_paint_recording_pattern
    functionSourceFile: /src/cairo/src/win32/cairo-win32-printing-surface.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_to_double
    - _cairo_recording_surface_replay_region
    - _cairo_matrix_is_identity
    - _cairo_win32_printing_surface_get_ctm_clip_box
    - RestoreDC
    - floor
    - _cairo_matrix_to_win32_xform
    - cairo_matrix_translate
    - CloseFigure
    - LineTo
    - ceil
    - SelectClipPath
    - cairo_matrix_scale
    - _cairo_win32_printing_surface_paint_solid_pattern
    - BeginPath
    - assert
    - _cairo_recording_surface_get_bbox
    - cairo_pattern_get_extend
    - MoveToEx
    - _cairo_box_round_to_rectangle
    - SaveDC
    - EndPath
    - cairo_matrix_transform_point
    - cairo_matrix_invert
    - cairo_matrix_multiply
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_win32_printing_surface_paint_recording_pattern\
      \ (cairo_win32_printing_surface_t *surface,\t\t\t\t\t\t cairo_surface_pattern_t\
      \ *pattern,\t\t\t\t\t\t cairo_surface_t *source) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1444,1
    - Dst: fabs
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1447,1
    - Dst: fabs
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1448,1
    - Dst: fabs
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1445,1
    - Dst: fabs
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1446,1
    - Dst: fabs
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1449,1
    - Dst: fabs
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1450,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1453,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - m
    - scale
    argTypes:
    - cairo_matrix_t*
    - double*
    constantsTouched: []
    func_position:
      end: 1454
      start: 1439
    functionDepth: 0
    functionLinenumber: 1439
    functionLinenumberEnd: 1454
    functionName: _cairo_matrix_factor_out_scale
    functionSourceFile: /src/cairo/src/win32/cairo-win32-printing-surface.c
    functionUses: []
    functionsReached:
    - fabs
    - cairo_matrix_scale
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_matrix_factor_out_scale (cairo_matrix_t *m, double
      *scale) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 2244
      start: 2240
    functionDepth: 0
    functionLinenumber: 2240
    functionLinenumberEnd: 2244
    functionName: _cairo_surface_is_win32_printing
    functionSourceFile: /src/cairo/src/win32/cairo-win32-printing-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t _cairo_surface_is_win32_printing (const cairo_surface_t
      *surface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ExtEscape
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:123,1
    - Dst: ExtEscape
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:127,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_win32_printing_surface_t*
    constantsTouched: []
    func_position:
      end: 129
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 129
    functionName: _cairo_win32_printing_surface_init_image_support
    functionSourceFile: /src/cairo/src/win32/cairo-win32-printing-surface.c
    functionUses: []
    functionsReached:
    - ExtEscape
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_win32_printing_surface_init_image_support (cairo_win32_printing_surface_t
      *surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_win32_printing_surface_analyze_operation
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:422,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - surface
    - op
    - pattern
    - extents
    argTypes:
    - cairo_win32_printing_surface_t*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 426
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 426
    functionName: _cairo_win32_printing_surface_operation_supported
    functionSourceFile: /src/cairo/src/win32/cairo-win32-printing-surface.c
    functionUses: []
    functionsReached:
    - _cairo_win32_printing_surface_analyze_operation
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _cairo_win32_printing_surface_operation_supported\
      \ (cairo_win32_printing_surface_t *surface, cairo_operator_t op, const cairo_pattern_t\
      \ *pattern,\t\t\t\t\t\t const cairo_rectangle_int_t *extents) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetClipBox
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:527,1
    - Dst: _cairo_win32_printing_surface_select_solid_brush
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:528,1
    - Dst: _cairo_win32_printing_surface_done_solid_brush
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:533,1
    - Dst: FillRect
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:532,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - surface
    - pattern
    argTypes:
    - cairo_win32_printing_surface_t*
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 536
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 536
    functionName: _cairo_win32_printing_surface_paint_solid_pattern
    functionSourceFile: /src/cairo/src/win32/cairo-win32-printing-surface.c
    functionUses: []
    functionsReached:
    - GetClipBox
    - _cairo_win32_printing_surface_done_solid_brush
    - FillRect
    - _cairo_win32_printing_surface_select_solid_brush
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_win32_printing_surface_paint_solid_pattern
      (cairo_win32_printing_surface_t *surface, const cairo_pattern_t *pattern) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_get_mime_data
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:699,1
    - Dst: ExtEscape
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:709,1
    - Dst: _cairo_image_info_get_jpeg_info
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:704,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 13
    argCount: 5
    argNames:
    - surface
    - source
    - data
    - length
    - info
    argTypes:
    - cairo_win32_printing_surface_t*
    - cairo_surface_t*
    - unsigned char**
    - unsigned long*
    - cairo_image_info_t*
    constantsTouched: []
    func_position:
      end: 720
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 720
    functionName: _cairo_win32_printing_surface_check_jpeg
    functionSourceFile: /src/cairo/src/win32/cairo-win32-printing-surface.c
    functionUses: []
    functionsReached:
    - ExtEscape
    - cairo_surface_get_mime_data
    - _cairo_image_info_get_jpeg_info
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_win32_printing_surface_check_jpeg\
      \ (cairo_win32_printing_surface_t *surface,\t\t\t\t\t cairo_surface_t *source,\t\
      \t\t\t\t const unsigned char **data,\t\t\t\t\t unsigned long *length,\t\t\t\t\
      \t cairo_image_info_t *info) "
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_composite_rectangles_init_for_stroke
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1483,1
    - Dst: _cairo_box_from_rectangle
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1503,1
    - Dst: unlikely
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1488,1
    - Dst: _cairo_surface_clipper_set_clip
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1509,1
    - Dst: unlikely
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1510,1
    - Dst: _cairo_calloc_ab
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1539,1
    - Dst: _cairo_win32_printing_surface_analyze_operation
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1524,1
    - Dst: SelectObject
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1576,1
    - Dst: BeginPath
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1583,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1600,1
    - Dst: DeleteObject
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1628,1
    - Dst: RestoreDC
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1627,1
    - Dst: StrokePath
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1605,1
    - Dst: SetMiterLimit
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1547,1
    - Dst: assert
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1529,1
    - Dst: fprintf
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1571,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1579,1
    - Dst: _cairo_win32_printing_surface_emit_path
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1584,1
    - Dst: _cairo_matrix_to_win32_xform
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1594,1
    - Dst: ModifyWorldTransform
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1598,1
    - Dst: fprintf
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1599,1
    - Dst: fprintf
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1608,1
    - Dst: _cairo_win32_printing_surface_paint_pattern
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1625,1
    - Dst: SelectClipPath
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1612,1
    - Dst: fprintf
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1621,1
    - Dst: _cairo_win32_printing_surface_init_clear_color
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1514,1
    - Dst: assert
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1530,1
    - Dst: _cairo_matrix_factor_out_scale
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1533,1
    - Dst: _cairo_win32_printing_surface_flatten_transparency
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1552,1
    - Dst: RGB
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1556,1
    - Dst: _cairo_win32_line_cap
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1562,1
    - Dst: _cairo_win32_line_join
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1563,1
    - Dst: ExtCreatePen
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1565,1
    - Dst: unlikely
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1586,1
    - Dst: WidenPath
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1607,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1614,1
    - Dst: _cairo_matrix_to_win32_xform
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1619,1
    - Dst: _cairo_composite_rectangles_fini
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1632,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1622,1
    - Dst: _cairo_path_fixed_stroke_extents
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1496,1
    - Dst: unlikely
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1500,1
    - Dst: _cairo_composite_rectangles_intersect_mask_extents
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1504,1
    - Dst: unlikely
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1505,1
    - Dst: _cairo_win32_printing_surface_operation_supported
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1529,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1532,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1572,1
    - Dst: fprintf
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1578,1
    - Dst: EndPath
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1585,1
    - Dst: SaveDC
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1592,1
    - Dst: SetWorldTransform
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1620,1
    - Dst: free
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1629,1
    - Dst: fprintf
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1613,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:1609,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 128
    argCount: 10
    argNames:
    - abstract_surface
    - op
    - source
    - path
    - style
    - stroke_ctm
    - stroke_ctm_inverse
    - tolerance
    - antialias
    - clip
    argTypes:
    - void*
    - cairo_operator_t
    - cairo_pattern_t*
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_antialias_t
    - cairo_clip_t*
    constantsTouched: []
    func_position:
      end: 1634
      start: 1456
    functionDepth: 0
    functionLinenumber: 1456
    functionLinenumberEnd: 1634
    functionName: _cairo_win32_printing_surface_stroke
    functionSourceFile: /src/cairo/src/win32/cairo-win32-printing-surface.c
    functionUses: []
    functionsReached:
    - _cairo_calloc_ab
    - SelectObject
    - _cairo_error
    - SetMiterLimit
    - _cairo_matrix_factor_out_scale
    - _cairo_composite_rectangles_intersect_mask_extents
    - RestoreDC
    - _cairo_win32_printing_surface_analyze_operation
    - fprintf
    - _cairo_matrix_to_win32_xform
    - _cairo_composite_rectangles_init_for_stroke
    - _cairo_win32_printing_surface_emit_path
    - _cairo_win32_printing_surface_flatten_transparency
    - _cairo_composite_rectangles_fini
    - SelectClipPath
    - _cairo_box_from_rectangle
    - BeginPath
    - _cairo_path_fixed_stroke_extents
    - ExtCreatePen
    - _cairo_win32_line_cap
    - DeleteObject
    - _cairo_surface_clipper_set_clip
    - assert
    - ModifyWorldTransform
    - WidenPath
    - SetWorldTransform
    - RGB
    - SaveDC
    - _cairo_win32_printing_surface_operation_supported
    - free
    - EndPath
    - StrokePath
    - _cairo_win32_printing_surface_init_clear_color
    - _cairo_win32_printing_surface_paint_pattern
    - cairo_matrix_multiply
    - _cairo_win32_line_join
    - unlikely
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_win32_printing_surface_stroke (void\t\
      \t\t*abstract_surface, cairo_operator_t\t\t op, const cairo_pattern_t\t*source,\
      \ const cairo_path_fixed_t\t*path, const cairo_stroke_style_t *style, const\
      \ cairo_matrix_t\t*stroke_ctm, const cairo_matrix_t\t*stroke_ctm_inverse, double\t\
      \t\ttolerance, cairo_antialias_t\t\tantialias,\t\t\t\t const cairo_clip_t *clip) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetModuleHandleW
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:155,1
    - Dst: GetProcAddress
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:165,1
    - Dst: GetModuleHandleW
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:158,1
    - Dst: gdi_init_lang_pack
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:170,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_win32_printing_surface_t*
    constantsTouched: []
    func_position:
      end: 172
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 172
    functionName: _cairo_win32_printing_surface_init_language_pack
    functionSourceFile: /src/cairo/src/win32/cairo-win32-printing-surface.c
    functionUses: []
    functionsReached:
    - gdi_init_lang_pack
    - GetModuleHandleW
    - GetProcAddress
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_win32_printing_surface_init_language_pack (cairo_win32_printing_surface_t
      *surface) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_calloc
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:2190,1
    - Dst: _cairo_win32_printing_surface_init_ps_mode
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:2221,1
    - Dst: _cairo_win32_flags_for_dc
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:2218,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:2235,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:2192,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:2197,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:2215,1
    - Dst: _cairo_paginated_surface_create
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:2230,1
    - Dst: _cairo_win32_save_initial_clip
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:2195,1
    - Dst: _cairo_win32_printing_surface_init_language_pack
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:2223,1
    - Dst: free
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:2196,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:2192,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:2197,1
    - Dst: _cairo_surface_clipper_init
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:2201,1
    - Dst: _cairo_scaled_font_subsets_create_scaled
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:2212,1
    - Dst: free
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:2214,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:2215,1
    - Dst: _cairo_surface_init
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:2224,1
    - Dst: _cairo_win32_printing_surface_init_image_support
      Src: /src/cairo/src/win32/cairo-win32-printing-surface.c:2222,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2238
      start: 2184
    functionDepth: 0
    functionLinenumber: 2184
    functionLinenumberEnd: 2238
    functionName: cairo_win32_printing_surface_create
    functionSourceFile: /src/cairo/src/win32/cairo-win32-printing-surface.c
    functionUses: []
    functionsReached:
    - _cairo_win32_printing_surface_init_ps_mode
    - _cairo_paginated_surface_create
    - _cairo_surface_init
    - _cairo_win32_printing_surface_init_image_support
    - _cairo_error
    - free
    - _cairo_win32_save_initial_clip
    - _cairo_win32_printing_surface_init_language_pack
    - _cairo_surface_clipper_init
    - _cairo_scaled_font_subsets_create_scaled
    - _cairo_win32_flags_for_dc
    - cairo_surface_destroy
    - _cairo_surface_create_in_error
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'cairo_surface_t *cairo_win32_printing_surface_create (HDC hdc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MAKELANGID
      Src: /src/cairo/src/win32/cairo-win32-system.c:63,1
    - Dst: fprintf
      Src: /src/cairo/src/win32/cairo-win32-system.c:74,1
    - Dst: fprintf
      Src: /src/cairo/src/win32/cairo-win32-system.c:71,1
    - Dst: FormatMessageW
      Src: /src/cairo/src/win32/cairo-win32-system.c:70,1
    - Dst: GetLastError
      Src: /src/cairo/src/win32/cairo-win32-system.c:67,1
    - Dst: LocalFree
      Src: /src/cairo/src/win32/cairo-win32-system.c:75,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-system.c:78,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - context
    - api
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 79
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 79
    functionName: _cairo_win32_print_api_error
    functionSourceFile: /src/cairo/src/win32/cairo-win32-system.c
    functionUses: []
    functionsReached:
    - FormatMessageW
    - fprintf
    - _cairo_error
    - LocalFree
    - GetLastError
    - MAKELANGID
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t _cairo_win32_print_api_error (const char *context,
      const char *api) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_MUTEX_INITIALIZE
      Src: /src/cairo/src/win32/cairo-win32-system.c:116,1
    - Dst: CAIRO_MUTEX_FINALIZE
      Src: /src/cairo/src/win32/cairo-win32-system.c:121,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - hinstance
    - dwReason
    - lpvReserved
    argTypes:
    - PVOID
    - DWORD
    - PVOID
    constantsTouched: []
    func_position:
      end: 125
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 125
    functionName: cairo_win32_tls_callback
    functionSourceFile: /src/cairo/src/win32/cairo-win32-system.c
    functionUses: []
    functionsReached:
    - CAIRO_MUTEX_FINALIZE
    - CAIRO_MUTEX_INITIALIZE
    linkageType: ''
    returnType: void
    signature: 'static void NTAPI cairo_win32_tls_callback (PVOID hinstance, DWORD
      dwReason, PVOID lpvReserved) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LoadLibraryExW
      Src: /src/cairo/src/win32/cairo-win32-system.c:95,1
    - Dst: GetLastError
      Src: /src/cairo/src/win32/cairo-win32-system.c:97,1
    - Dst: LoadLibraryW
      Src: /src/cairo/src/win32/cairo-win32-system.c:102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - wchar_t*
    constantsTouched: []
    func_position:
      end: 107
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 107
    functionName: _cairo_win32_load_library_from_system32
    functionSourceFile: /src/cairo/src/win32/cairo-win32-system.c
    functionUses: []
    functionsReached:
    - LoadLibraryExW
    - GetLastError
    - LoadLibraryW
    linkageType: ''
    returnType: HMODULE
    signature: 'HMODULE _cairo_win32_load_library_from_system32 (const wchar_t *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: _cairo_surface_is_win32
    functionSourceFile: /src/cairo/src/win32/cairo-win32-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t _cairo_surface_is_win32 (const cairo_surface_t *surface) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: to_win32_surface
      Src: /src/cairo/src/win32/cairo-win32-surface.c:115,1
    - Dst: to_win32_surface
      Src: /src/cairo/src/win32/cairo-win32-surface.c:120,1
    - Dst: _cairo_surface_is_paginated
      Src: /src/cairo/src/win32/cairo-win32-surface.c:117,1
    - Dst: _cairo_paginated_surface_get_target
      Src: /src/cairo/src/win32/cairo-win32-surface.c:118,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 124
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 124
    functionName: cairo_win32_surface_get_dc
    functionSourceFile: /src/cairo/src/win32/cairo-win32-surface.c
    functionUses: []
    functionsReached:
    - _cairo_surface_is_paginated
    - to_win32_surface
    - _cairo_paginated_surface_get_target
    linkageType: ''
    returnType: HDC
    signature: 'HDC cairo_win32_surface_get_dc (cairo_surface_t *surface) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_lround
      Src: /src/cairo/src/win32/cairo-win32-surface.c:242,1
    - Dst: _cairo_lround
      Src: /src/cairo/src/win32/cairo-win32-surface.c:243,1
    - Dst: _cairo_lround
      Src: /src/cairo/src/win32/cairo-win32-surface.c:261,1
    - Dst: _cairo_lround
      Src: /src/cairo/src/win32/cairo-win32-surface.c:262,1
    - Dst: _cairo_lround
      Src: /src/cairo/src/win32/cairo-win32-surface.c:265,1
    - Dst: free
      Src: /src/cairo/src/win32/cairo-win32-surface.c:292,1
    - Dst: RGB
      Src: /src/cairo/src/win32/cairo-win32-surface.c:212,1
    - Dst: cairo_win32_scaled_font_get_device_to_logical
      Src: /src/cairo/src/win32/cairo-win32-surface.c:216,1
    - Dst: SaveDC
      Src: /src/cairo/src/win32/cairo-win32-surface.c:218,1
    - Dst: cairo_win32_scaled_font_select_font
      Src: /src/cairo/src/win32/cairo-win32-surface.c:220,1
    - Dst: SetTextColor
      Src: /src/cairo/src/win32/cairo-win32-surface.c:221,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/win32/cairo-win32-surface.c:239,1
    - Dst: SetTextAlign
      Src: /src/cairo/src/win32/cairo-win32-surface.c:222,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/src/win32/cairo-win32-surface.c:258,1
    - Dst: _cairo_malloc_abc
      Src: /src/cairo/src/win32/cairo-win32-surface.c:227,1
    - Dst: ExtTextOutW
      Src: /src/cairo/src/win32/cairo-win32-surface.c:277,1
    - Dst: assert
      Src: /src/cairo/src/win32/cairo-win32-surface.c:208,1
    - Dst: assert
      Src: /src/cairo/src/win32/cairo-win32-surface.c:205,1
    - Dst: cairo_scaled_font_get_type
      Src: /src/cairo/src/win32/cairo-win32-surface.c:205,1
    - Dst: assert
      Src: /src/cairo/src/win32/cairo-win32-surface.c:209,1
    - Dst: _cairo_malloc_ab
      Src: /src/cairo/src/win32/cairo-win32-surface.c:226,1
    - Dst: _cairo_lround
      Src: /src/cairo/src/win32/cairo-win32-surface.c:264,1
    - Dst: free
      Src: /src/cairo/src/win32/cairo-win32-surface.c:293,1
    - Dst: _cairo_dwrite_show_glyphs_on_surface
      Src: /src/cairo/src/win32/cairo-win32-surface.c:182,1
    - Dst: _cairo_pattern_is_opaque_solid
      Src: /src/cairo/src/win32/cairo-win32-surface.c:208,1
    - Dst: SetBkMode
      Src: /src/cairo/src/win32/cairo-win32-surface.c:223,1
    - Dst: fprintf
      Src: /src/cairo/src/win32/cairo-win32-surface.c:286,1
    - Dst: RestoreDC
      Src: /src/cairo/src/win32/cairo-win32-surface.c:289,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 84
    argCount: 6
    argNames:
    - dst
    - source
    - glyphs
    - num_glyphs
    - scaled_font
    - glyph_indexing
    argTypes:
    - cairo_win32_surface_t*
    - cairo_pattern_t*
    - cairo_glyph_t*
    - int
    - cairo_scaled_font_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 299
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 299
    functionName: _cairo_win32_surface_emit_glyphs
    functionSourceFile: /src/cairo/src/win32/cairo-win32-surface.c
    functionUses: []
    functionsReached:
    - SetTextAlign
    - ExtTextOutW
    - SetTextColor
    - RestoreDC
    - _cairo_lround
    - fprintf
    - cairo_win32_scaled_font_select_font
    - cairo_scaled_font_get_type
    - _cairo_pattern_is_opaque_solid
    - cairo_win32_scaled_font_get_device_to_logical
    - _cairo_malloc_abc
    - assert
    - SetBkMode
    - RGB
    - _cairo_dwrite_show_glyphs_on_surface
    - SaveDC
    - free
    - cairo_matrix_transform_point
    - _cairo_malloc_ab
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "cairo_int_status_t _cairo_win32_surface_emit_glyphs (cairo_win32_surface_t\
      \ *dst,\t\t\t\t const cairo_pattern_t *source,\t\t\t\t cairo_glyph_t\t *glyphs,\t\
      \t\t\t int\t\t\t num_glyphs,\t\t\t\t cairo_scaled_font_t\t *scaled_font,\t\t\
      \t\t cairo_bool_t\t\t glyph_indexing) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - abstract_surface
    - rectangle
    argTypes:
    - void*
    - cairo_rectangle_int_t*
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: _cairo_win32_surface_get_extents
    functionSourceFile: /src/cairo/src/win32/cairo-win32-surface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t _cairo_win32_surface_get_extents (void\t\t *abstract_surface,\t\
      \t\t\t cairo_rectangle_int_t *rectangle) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_surface_is_win32
      Src: /src/cairo/src/win32/cairo-win32-surface.c:158,1
    - Dst: to_win32_display_surface
      Src: /src/cairo/src/win32/cairo-win32-surface.c:163,1
    - Dst: _cairo_surface_create_in_error
      Src: /src/cairo/src/win32/cairo-win32-surface.c:159,1
    - Dst: GdiFlush
      Src: /src/cairo/src/win32/cairo-win32-surface.c:162,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-surface.c:159,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 164
    functionName: cairo_win32_surface_get_image
    functionSourceFile: /src/cairo/src/win32/cairo-win32-surface.c
    functionUses: []
    functionsReached:
    - _cairo_error
    - GdiFlush
    - _cairo_surface_create_in_error
    - to_win32_display_surface
    - _cairo_surface_is_win32
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'cairo_surface_t *cairo_win32_surface_get_image (cairo_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - device
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: _cairo_win32_device_finish
    functionSourceFile: /src/cairo/src/win32/cairo-win32-device.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_win32_device_finish (void *device) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GdiFlush
      Src: /src/cairo/src/win32/cairo-win32-device.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - device
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: _cairo_win32_device_flush
    functionSourceFile: /src/cairo/src/win32/cairo-win32-device.c
    functionUses: []
    functionsReached:
    - GdiFlush
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_win32_device_flush (void *device) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/src/win32/cairo-win32-device.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - device
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: _cairo_win32_device_destroy
    functionSourceFile: /src/cairo/src/win32/cairo-win32-device.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_win32_device_destroy (void *device) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GetDeviceCaps
      Src: /src/cairo/src/win32/cairo-win32-device.c:103,1
    - Dst: GetDeviceCaps
      Src: /src/cairo/src/win32/cairo-win32-device.c:107,1
    - Dst: GetDeviceCaps
      Src: /src/cairo/src/win32/cairo-win32-device.c:110,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - dc
    - format
    argTypes:
    - HDC
    - cairo_format_t
    constantsTouched: []
    func_position:
      end: 146
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 146
    functionName: _cairo_win32_flags_for_dc
    functionSourceFile: /src/cairo/src/win32/cairo-win32-device.c
    functionUses: []
    functionsReached:
    - GetDeviceCaps
    linkageType: ''
    returnType: unsigned
    signature: 'unsigned _cairo_win32_flags_for_dc (HDC dc, cairo_format_t format) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_device_reference
      Src: /src/cairo/src/win32/cairo-win32-device.c:84,1
    - Dst: _cairo_win32_gdi_compositor_get
      Src: /src/cairo/src/win32/cairo-win32-device.c:90,1
    - Dst: _cairo_calloc
      Src: /src/cairo/src/win32/cairo-win32-device.c:86,1
    - Dst: _cairo_atomic_ptr_cmpxchg
      Src: /src/cairo/src/win32/cairo-win32-device.c:92,1
    - Dst: _cairo_device_init
      Src: /src/cairo/src/win32/cairo-win32-device.c:88,1
    - Dst: cairo_device_reference
      Src: /src/cairo/src/win32/cairo-win32-device.c:93,1
    - Dst: _cairo_win32_device_destroy
      Src: /src/cairo/src/win32/cairo-win32-device.c:95,1
    - Dst: cairo_device_reference
      Src: /src/cairo/src/win32/cairo-win32-device.c:96,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 97
    functionName: _cairo_win32_device_get
    functionSourceFile: /src/cairo/src/win32/cairo-win32-device.c
    functionUses: []
    functionsReached:
    - _cairo_device_init
    - cairo_device_reference
    - _cairo_atomic_ptr_cmpxchg
    - _cairo_win32_device_destroy
    - _cairo_win32_gdi_compositor_get
    - _cairo_calloc
    linkageType: ''
    returnType: cairo_device_t*
    signature: 'cairo_device_t *_cairo_win32_device_get (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 19
    functionName: DWRITE_COLOR_GLYPH_RUN
    functionSourceFile: /src/cairo/src/win32/dw-extra.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: struct DWRITE_COLOR_GLYPH_RUN1_WORKAROUND
    signature: 'struct DWRITE_COLOR_GLYPH_RUN1_WORKAROUND : DWRITE_COLOR_GLYPH_RUN '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:95,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:97,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:96,1
    - Dst: TRACE
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:100,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:98,1
    - Dst: BitBlt
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - box
    - closure
    argTypes:
    - cairo_box_t*
    - void*
    constantsTouched: []
    func_position:
      end: 104
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 104
    functionName: copy_box
    functionSourceFile: /src/cairo/src/win32/cairo-win32-gdi-compositor.c
    functionUses: []
    functionsReached:
    - TRACE
    - BitBlt
    - _cairo_fixed_integer_part
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t copy_box (cairo_box_t *box, void *closure) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:109,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:111,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:110,1
    - Dst: TRACE
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:114,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:112,1
    - Dst: AlphaBlend
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:115,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - box
    - closure
    argTypes:
    - cairo_box_t*
    - void*
    constantsTouched: []
    func_position:
      end: 118
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 118
    functionName: alpha_box
    functionSourceFile: /src/cairo/src/win32/cairo-win32-gdi-compositor.c
    functionUses: []
    functionsReached:
    - AlphaBlend
    - TRACE
    - _cairo_fixed_integer_part
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t alpha_box (cairo_box_t *box, void *closure) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:131,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:132,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:134,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:133,1
    - Dst: TRACE
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:137,1
    - Dst: StretchDIBits
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:138,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - box
    - closure
    argTypes:
    - cairo_box_t*
    - void*
    constantsTouched: []
    func_position:
      end: 143
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 143
    functionName: upload_box
    functionSourceFile: /src/cairo/src/win32/cairo-win32-gdi-compositor.c
    functionUses: []
    functionsReached:
    - TRACE
    - StretchDIBits
    - _cairo_fixed_integer_part
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t upload_box (cairo_box_t *box, void *closure) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RGB
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - c
    argTypes:
    - cairo_color_t*
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: color_to_rgb
    functionSourceFile: /src/cairo/src/win32/cairo-win32-gdi-compositor.c
    functionUses: []
    functionsReached:
    - RGB
    linkageType: ''
    returnType: COLORREF
    signature: 'static COLORREF color_to_rgb(const cairo_color_t *c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - dst
    argTypes:
    - cairo_win32_display_surface_t*
    constantsTouched: []
    func_position:
      end: 383
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 383
    functionName: can_alpha_blend
    functionSourceFile: /src/cairo/src/win32/cairo-win32-gdi-compositor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t can_alpha_blend (cairo_win32_display_surface_t
      *dst) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_blit
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:487,1
    - Dst: draw_boxes
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:492,1
    - Dst: _cairo_clip_unsteal_boxes
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:493,1
    - Dst: _cairo_clip_steal_boxes
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:491,1
    - Dst: TRACE
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:490,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - compositor
    - composite
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 497
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 497
    functionName: _cairo_win32_gdi_compositor_paint
    functionSourceFile: /src/cairo/src/win32/cairo-win32-gdi-compositor.c
    functionUses: []
    functionsReached:
    - TRACE
    - _cairo_clip_unsteal_boxes
    - check_blit
    - draw_boxes
    - _cairo_clip_steal_boxes
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_win32_gdi_compositor_paint (const\
      \ cairo_compositor_t\t*compositor,\t\t\t\t cairo_composite_rectangles_t *composite) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_blit
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:530,1
    - Dst: _cairo_boxes_init_with_clip
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:535,1
    - Dst: _cairo_path_fixed_stroke_is_rectilinear
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:531,1
    - Dst: TRACE
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:534,1
    - Dst: _cairo_path_fixed_stroke_rectilinear_to_boxes
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:536,1
    - Dst: likely
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:541,1
    - Dst: draw_boxes
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:542,1
    - Dst: _cairo_boxes_fini
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:543,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 8
    argNames:
    - compositor
    - composite
    - path
    - style
    - ctm
    - ctm_inverse
    - tolerance
    - antialias
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_path_fixed_t*
    - cairo_stroke_style_t*
    - cairo_matrix_t*
    - cairo_matrix_t*
    - double
    - cairo_antialias_t
    constantsTouched: []
    func_position:
      end: 547
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 547
    functionName: _cairo_win32_gdi_compositor_stroke
    functionSourceFile: /src/cairo/src/win32/cairo-win32-gdi-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_stroke_rectilinear_to_boxes
    - TRACE
    - check_blit
    - draw_boxes
    - _cairo_boxes_init_with_clip
    - _cairo_path_fixed_stroke_is_rectilinear
    - likely
    - _cairo_boxes_fini
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_win32_gdi_compositor_stroke (const\
      \ cairo_compositor_t\t*compositor,\t\t\t\t cairo_composite_rectangles_t *composite,\t\
      \t\t\t const cairo_path_fixed_t\t*path,\t\t\t\t const cairo_stroke_style_t\t\
      *style,\t\t\t\t const cairo_matrix_t\t*ctm,\t\t\t\t const cairo_matrix_t\t*ctm_inverse,\t\
      \t\t\t double\t\t\t tolerance,\t\t\t\t cairo_antialias_t\t\t antialias) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:161,1
    - Dst: fprintf
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:169,1
    - Dst: color_to_rgb
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:167,1
    - Dst: CreateSolidBrush
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:167,1
    - Dst: _cairo_error
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:170,1
    - Dst: _cairo_boxes_for_each_box
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:173,1
    - Dst: DeleteObject
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:176,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - dst
    - src
    - boxes
    argTypes:
    - cairo_win32_display_surface_t*
    - cairo_pattern_t*
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 179
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 179
    functionName: fill_boxes
    functionSourceFile: /src/cairo/src/win32/cairo-win32-gdi-compositor.c
    functionUses: []
    functionsReached:
    - fprintf
    - TRACE
    - _cairo_error
    - DeleteObject
    - color_to_rgb
    - CreateSolidBrush
    - _cairo_boxes_for_each_box
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t fill_boxes (cairo_win32_display_surface_t\t\
      *dst,\t const cairo_pattern_t\t\t*src,\t cairo_boxes_t\t\t\t*boxes) "
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: to_win32_display_surface
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:389,1
    - Dst: upload_boxes
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:417,1
    - Dst: _cairo_pattern_is_opaque
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:405,1
    - Dst: TRACE
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:394,1
    - Dst: copy_boxes
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:415,1
    - Dst: fill_boxes
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:419,1
    - Dst: can_alpha_blend
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:424,1
    - Dst: alpha_blend_boxes
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:425,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 35
    argCount: 2
    argNames:
    - composite
    - boxes
    argTypes:
    - cairo_composite_rectangles_t*
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 428
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 428
    functionName: draw_boxes
    functionSourceFile: /src/cairo/src/win32/cairo-win32-gdi-compositor.c
    functionUses: []
    functionsReached:
    - alpha_blend_boxes
    - upload_boxes
    - copy_boxes
    - _cairo_pattern_is_opaque
    - TRACE
    - fill_boxes
    - to_win32_display_surface
    - can_alpha_blend
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t draw_boxes (cairo_composite_rectangles_t *composite,\t\
      \ cairo_boxes_t *boxes) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_blit
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:505,1
    - Dst: _cairo_clip_unsteal_boxes
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:511,1
    - Dst: _cairo_clip_steal_boxes
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:509,1
    - Dst: TRACE
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:508,1
    - Dst: opacity_boxes
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:510,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - compositor
    - composite
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 515
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 515
    functionName: _cairo_win32_gdi_compositor_mask
    functionSourceFile: /src/cairo/src/win32/cairo-win32-gdi-compositor.c
    functionUses: []
    functionsReached:
    - TRACE
    - opacity_boxes
    - _cairo_clip_unsteal_boxes
    - check_blit
    - _cairo_clip_steal_boxes
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_win32_gdi_compositor_mask (const\
      \ cairo_compositor_t\t*compositor,\t\t\t\t cairo_composite_rectangles_t *composite) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_blit
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:560,1
    - Dst: _cairo_path_fixed_fill_is_rectilinear
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:561,1
    - Dst: TRACE
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:564,1
    - Dst: _cairo_path_fixed_fill_rectilinear_to_boxes
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:566,1
    - Dst: _cairo_boxes_init_with_clip
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:565,1
    - Dst: likely
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:570,1
    - Dst: draw_boxes
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:571,1
    - Dst: _cairo_boxes_fini
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:572,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 6
    argNames:
    - compositor
    - composite
    - path
    - fill_rule
    - tolerance
    - antialias
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_path_fixed_t*
    - cairo_fill_rule_t
    - double
    - cairo_antialias_t
    constantsTouched: []
    func_position:
      end: 576
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 576
    functionName: _cairo_win32_gdi_compositor_fill
    functionSourceFile: /src/cairo/src/win32/cairo-win32-gdi-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_path_fixed_fill_is_rectilinear
    - _cairo_path_fixed_fill_rectilinear_to_boxes
    - TRACE
    - check_blit
    - draw_boxes
    - _cairo_boxes_init_with_clip
    - likely
    - _cairo_boxes_fini
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_win32_gdi_compositor_fill (const\
      \ cairo_compositor_t\t*compositor,\t\t\t\t cairo_composite_rectangles_t\t*composite,\t\
      \t\t\t const cairo_path_fixed_t\t*path,\t\t\t\t cairo_fill_rule_t\t\t fill_rule,\t\
      \t\t\t double\t\t\t tolerance,\t\t\t\t cairo_antialias_t\t\t antialias) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: to_win32_display_surface
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:467,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 1
    argNames:
    - composite
    argTypes:
    - cairo_composite_rectangles_t*
    constantsTouched: []
    func_position:
      end: 479
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 479
    functionName: check_blit
    functionSourceFile: /src/cairo/src/win32/cairo-win32-gdi-compositor.c
    functionUses: []
    functionsReached:
    - to_win32_display_surface
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t check_blit (cairo_composite_rectangles_t *composite) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:187,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:188,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:190,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:189,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - box
    - closure
    argTypes:
    - cairo_box_t*
    - void*
    constantsTouched: []
    func_position:
      end: 191
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 191
    functionName: source_contains_box
    functionSourceFile: /src/cairo/src/win32/cairo-win32-gdi-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_fixed_integer_part
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t source_contains_box (cairo_box_t *box, void *closure) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:262,1
    - Dst: _cairo_matrix_is_integer_translation
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:267,1
    - Dst: _cairo_surface_get_source
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:272,1
    - Dst: _cairo_surface_acquire_source_image
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:279,1
    - Dst: _cairo_boxes_for_each_box
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:275,1
    - Dst: to_image_surface
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:284,1
    - Dst: _cairo_boxes_for_each_box
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:311,1
    - Dst: _cairo_win32_display_surface_discard_fallback
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:314,1
    - Dst: _cairo_surface_release_source_image
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:317,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 47
    argCount: 3
    argNames:
    - dst
    - source
    - boxes
    argTypes:
    - cairo_win32_display_surface_t*
    - cairo_pattern_t*
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 320
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 320
    functionName: upload_boxes
    functionSourceFile: /src/cairo/src/win32/cairo-win32-gdi-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_win32_display_surface_discard_fallback
    - _cairo_surface_release_source_image
    - TRACE
    - to_image_surface
    - _cairo_matrix_is_integer_translation
    - _cairo_surface_get_source
    - _cairo_surface_acquire_source_image
    - _cairo_boxes_for_each_box
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t upload_boxes (cairo_win32_display_surface_t\
      \ *dst,\t const cairo_pattern_t *source,\t cairo_boxes_t *boxes) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: to_win32_display_surface
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:434,1
    - Dst: alpha_blend_boxes
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:454,1
    - Dst: can_alpha_blend
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:451,1
    - Dst: TRACE
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:438,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 2
    argNames:
    - composite
    - boxes
    argTypes:
    - cairo_composite_rectangles_t*
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 456
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 456
    functionName: opacity_boxes
    functionSourceFile: /src/cairo/src/win32/cairo-win32-gdi-compositor.c
    functionUses: []
    functionsReached:
    - alpha_blend_boxes
    - to_win32_display_surface
    - can_alpha_blend
    - TRACE
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t opacity_boxes (cairo_composite_rectangles_t\
      \ *composite,\t cairo_boxes_t *boxes) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_clip_is_region
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:581,1
    - Dst: cairo_scaled_font_get_type
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:584,1
    - Dst: _cairo_pattern_is_opaque_solid
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:588,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - composite
    - scaled_font
    argTypes:
    - cairo_composite_rectangles_t*
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 594
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 594
    functionName: check_glyphs
    functionSourceFile: /src/cairo/src/win32/cairo-win32-gdi-compositor.c
    functionUses: []
    functionsReached:
    - cairo_scaled_font_get_type
    - _cairo_clip_is_region
    - _cairo_pattern_is_opaque_solid
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t check_glyphs (cairo_composite_rectangles_t *composite,\t\
      \t\t\t cairo_scaled_font_t *scaled_font) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:204,1
    - Dst: _cairo_matrix_is_integer_translation
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:216,1
    - Dst: _cairo_surface_get_source
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:207,1
    - Dst: to_win32_surface
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:220,1
    - Dst: to_image_surface
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:209,1
    - Dst: _cairo_boxes_for_each_box
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:233,1
    - Dst: __cairo_surface_flush
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:236,1
    - Dst: _cairo_boxes_for_each_box
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:243,1
    - Dst: _cairo_win32_display_surface_discard_fallback
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:246,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 35
    argCount: 3
    argNames:
    - dst
    - source
    - boxes
    argTypes:
    - cairo_win32_display_surface_t*
    - cairo_pattern_t*
    - cairo_boxes_t*
    constantsTouched: []
    func_position:
      end: 248
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 248
    functionName: copy_boxes
    functionSourceFile: /src/cairo/src/win32/cairo-win32-gdi-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_win32_display_surface_discard_fallback
    - to_image_surface
    - TRACE
    - __cairo_surface_flush
    - _cairo_matrix_is_integer_translation
    - _cairo_surface_get_source
    - to_win32_surface
    - _cairo_boxes_for_each_box
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t copy_boxes (cairo_win32_display_surface_t *dst,\t\
      \ const cairo_pattern_t *source,\t cairo_boxes_t *boxes) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:334,1
    - Dst: to_win32_display_surface
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:352,1
    - Dst: to_image_surface
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:341,1
    - Dst: _cairo_surface_get_source
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:339,1
    - Dst: _cairo_matrix_is_integer_translation
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:348,1
    - Dst: _cairo_boxes_for_each_box
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:357,1
    - Dst: __cairo_surface_flush
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:360,1
    - Dst: _cairo_boxes_for_each_box
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:372,1
    - Dst: _cairo_win32_display_surface_discard_fallback
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:375,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 4
    argNames:
    - dst
    - source
    - boxes
    - alpha
    argTypes:
    - cairo_win32_display_surface_t*
    - cairo_pattern_t*
    - cairo_boxes_t*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 377
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 377
    functionName: alpha_blend_boxes
    functionSourceFile: /src/cairo/src/win32/cairo-win32-gdi-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_win32_display_surface_discard_fallback
    - to_image_surface
    - TRACE
    - __cairo_surface_flush
    - _cairo_matrix_is_integer_translation
    - _cairo_surface_get_source
    - to_win32_display_surface
    - _cairo_boxes_for_each_box
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t alpha_blend_boxes (cairo_win32_display_surface_t\
      \ *dst,\t\t const cairo_pattern_t *source,\t\t cairo_boxes_t *boxes,\t\t uint8_t\
      \ alpha) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_blit
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:607,1
    - Dst: _cairo_win32_display_surface_set_clip
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:615,1
    - Dst: TRACE
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:610,1
    - Dst: to_win32_display_surface
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:608,1
    - Dst: check_glyphs
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:607,1
    - Dst: _cairo_win32_surface_emit_glyphs
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:619,1
    - Dst: _cairo_win32_display_surface_unset_clip
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:626,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 6
    argNames:
    - compositor
    - composite
    - scaled_font
    - glyphs
    - num_glyphs
    - overlap
    argTypes:
    - cairo_compositor_t*
    - cairo_composite_rectangles_t*
    - cairo_scaled_font_t*
    - cairo_glyph_t*
    - int
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 630
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 630
    functionName: _cairo_win32_gdi_compositor_glyphs
    functionSourceFile: /src/cairo/src/win32/cairo-win32-gdi-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_win32_surface_emit_glyphs
    - check_glyphs
    - TRACE
    - check_blit
    - to_win32_display_surface
    - _cairo_win32_display_surface_unset_clip
    - _cairo_win32_display_surface_set_clip
    linkageType: ''
    returnType: cairo_int_status_t
    signature: "static cairo_int_status_t _cairo_win32_gdi_compositor_glyphs (const\
      \ cairo_compositor_t\t*compositor,\t\t\t\t cairo_composite_rectangles_t*composite,\t\
      \t\t\t cairo_scaled_font_t\t\t*scaled_font,\t\t\t\t cairo_glyph_t\t\t*glyphs,\t\
      \t\t\t int\t\t\t\t num_glyphs,\t\t\t\t cairo_bool_t\t\t overlap) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:71,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:73,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:72,1
    - Dst: _cairo_fixed_integer_part
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:74,1
    - Dst: TRACE
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:76,1
    - Dst: FillRect
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:77,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - box
    - closure
    argTypes:
    - cairo_box_t*
    - void*
    constantsTouched: []
    func_position:
      end: 78
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 78
    functionName: fill_box
    functionSourceFile: /src/cairo/src/win32/cairo-win32-gdi-compositor.c
    functionUses: []
    functionsReached:
    - FillRect
    - TRACE
    - _cairo_fixed_integer_part
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t fill_box (cairo_box_t *box, void *closure) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_atomic_init_once_enter
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:638,1
    - Dst: _cairo_atomic_init_once_leave
      Src: /src/cairo/src/win32/cairo-win32-gdi-compositor.c:647,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 651
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 651
    functionName: _cairo_win32_gdi_compositor_get
    functionSourceFile: /src/cairo/src/win32/cairo-win32-gdi-compositor.c
    functionUses: []
    functionsReached:
    - _cairo_atomic_init_once_leave
    - _cairo_atomic_init_once_enter
    linkageType: ''
    returnType: cairo_compositor_t*
    signature: 'const cairo_compositor_t *_cairo_win32_gdi_compositor_get (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_init
      Src: /src/cairo/meson-cc-tests/pthread.c:10,1
    - Dst: pthread_mutex_lock
      Src: /src/cairo/meson-cc-tests/pthread.c:11,1
    - Dst: pthread_mutex_unlock
      Src: /src/cairo/meson-cc-tests/pthread.c:12,1
    - Dst: pthread_mutex_destroy
      Src: /src/cairo/meson-cc-tests/pthread.c:13,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 15
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 15
    functionName: test_mutex
    functionSourceFile: /src/cairo/meson-cc-tests/pthread.c
    functionUses: []
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_init
    - pthread_mutex_destroy
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: 'int test_mutex (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/cairo/meson-cc-tests/pthread.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutexattr_init
      Src: /src/cairo/meson-cc-tests/pthread.c:22,1
    - Dst: pthread_mutexattr_settype
      Src: /src/cairo/meson-cc-tests/pthread.c:23,1
    - Dst: pthread_mutex_unlock
      Src: /src/cairo/meson-cc-tests/pthread.c:26,1
    - Dst: pthread_mutex_lock
      Src: /src/cairo/meson-cc-tests/pthread.c:25,1
    - Dst: pthread_mutex_init
      Src: /src/cairo/meson-cc-tests/pthread.c:24,1
    - Dst: pthread_mutex_destroy
      Src: /src/cairo/meson-cc-tests/pthread.c:27,1
    - Dst: pthread_mutexattr_destroy
      Src: /src/cairo/meson-cc-tests/pthread.c:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 30
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 30
    functionName: test_mutex_attr
    functionSourceFile: /src/cairo/meson-cc-tests/pthread.c
    functionUses: []
    functionsReached:
    - pthread_mutexattr_init
    - pthread_mutex_destroy
    - pthread_mutex_unlock
    - pthread_mutex_init
    - pthread_mutex_lock
    - pthread_mutexattr_destroy
    - pthread_mutexattr_settype
    linkageType: ''
    returnType: int
    signature: 'int test_mutex_attr (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 0
      start: 0
    functionDepth: 0
    functionLinenumber: 0
    functionLinenumberEnd: 0
    functionName: f
    functionSourceFile: /src/cairo/meson-cc-tests/check-unused-result.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '__attribute__((__warn_unused_result__)) void f (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - c
    - v
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 8
      start: 3
    functionDepth: 0
    functionLinenumber: 3
    functionLinenumberEnd: 8
    functionName: main
    functionSourceFile: /src/cairo/meson-cc-tests/check-unused-result.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int main(int c, char **v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __atomic_fetch_add
      Src: /src/cairo/meson-cc-tests/atomic-ops-cxx11.c:0,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 0
      start: 0
    functionDepth: 0
    functionLinenumber: 0
    functionLinenumberEnd: 0
    functionName: atomic_add
    functionSourceFile: /src/cairo/meson-cc-tests/atomic-ops-cxx11.c
    functionUses: []
    functionsReached:
    - __atomic_fetch_add
    linkageType: ''
    returnType: int
    signature: 'int atomic_add(int i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __atomic_compare_exchange_n
      Src: /src/cairo/meson-cc-tests/atomic-ops-cxx11.c:1,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - i
    - j
    - k
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1
      start: 1
    functionDepth: 0
    functionLinenumber: 1
    functionLinenumberEnd: 1
    functionName: atomic_cmpxchg
    functionSourceFile: /src/cairo/meson-cc-tests/atomic-ops-cxx11.c
    functionUses: []
    functionsReached:
    - __atomic_compare_exchange_n
    linkageType: ''
    returnType: int
    signature: 'int atomic_cmpxchg(int i, int j, int k) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2
      start: 2
    functionDepth: 0
    functionLinenumber: 2
    functionLinenumberEnd: 2
    functionName: main
    functionSourceFile: /src/cairo/meson-cc-tests/atomic-ops-cxx11.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mkdir
      Src: /src/cairo/meson-cc-tests/mkdir-variant-2.c:9,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ac
    - av
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 11
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 11
    functionName: main
    functionSourceFile: /src/cairo/meson-cc-tests/mkdir-variant-2.c
    functionUses: []
    functionsReached:
    - mkdir
    linkageType: ''
    returnType: int
    signature: 'int main(int ac, char **av) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: shmget
      Src: /src/cairo/meson-cc-tests/ipc_rmid_deferred_release.c:6,1
    - Dst: shmat
      Src: /src/cairo/meson-cc-tests/ipc_rmid_deferred_release.c:10,1
    - Dst: shmat
      Src: /src/cairo/meson-cc-tests/ipc_rmid_deferred_release.c:8,1
    - Dst: shmdt
      Src: /src/cairo/meson-cc-tests/ipc_rmid_deferred_release.c:11,1
    - Dst: shmctl
      Src: /src/cairo/meson-cc-tests/ipc_rmid_deferred_release.c:9,1
    - Dst: shmdt
      Src: /src/cairo/meson-cc-tests/ipc_rmid_deferred_release.c:14,1
    - Dst: shmdt
      Src: /src/cairo/meson-cc-tests/ipc_rmid_deferred_release.c:15,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17
      start: 3
    functionDepth: 0
    functionLinenumber: 3
    functionLinenumberEnd: 17
    functionName: main
    functionSourceFile: /src/cairo/meson-cc-tests/ipc_rmid_deferred_release.c
    functionUses: []
    functionsReached:
    - shmat
    - shmctl
    - shmdt
    - shmget
    linkageType: ''
    returnType: int
    signature: 'int main() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_fetch_add_explicit
      Src: /src/cairo/meson-cc-tests/atomic-ops-c11.c:9,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - atomic_int*
    constantsTouched: []
    func_position:
      end: 9
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 9
    functionName: atomic_add
    functionSourceFile: /src/cairo/meson-cc-tests/atomic-ops-c11.c
    functionUses: []
    functionsReached:
    - atomic_fetch_add_explicit
    linkageType: ''
    returnType: int
    signature: 'int atomic_add(atomic_int *i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_compare_exchange_strong_explicit
      Src: /src/cairo/meson-cc-tests/atomic-ops-c11.c:10,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - i
    - j
    - k
    argTypes:
    - atomic_int*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 10
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 10
    functionName: atomic_cmpxchg
    functionSourceFile: /src/cairo/meson-cc-tests/atomic-ops-c11.c
    functionUses: []
    functionsReached:
    - atomic_compare_exchange_strong_explicit
    linkageType: ''
    returnType: int
    signature: 'int atomic_cmpxchg(atomic_int *i, int j, int k) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 11
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 11
    functionName: main
    functionSourceFile: /src/cairo/meson-cc-tests/atomic-ops-c11.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mkdir
      Src: /src/cairo/meson-cc-tests/mkdir-variant-1.c:9,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ac
    - av
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 11
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 11
    functionName: main
    functionSourceFile: /src/cairo/meson-cc-tests/mkdir-variant-1.c
    functionUses: []
    functionsReached:
    - mkdir
    linkageType: ''
    returnType: int
    signature: 'int main(int ac, char **av) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_fetch_and_add
      Src: /src/cairo/meson-cc-tests/atomic-ops-gcc-legacy.c:0,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 0
      start: 0
    functionDepth: 0
    functionLinenumber: 0
    functionLinenumberEnd: 0
    functionName: atomic_add
    functionSourceFile: /src/cairo/meson-cc-tests/atomic-ops-gcc-legacy.c
    functionUses: []
    functionsReached:
    - __sync_fetch_and_add
    linkageType: ''
    returnType: int
    signature: 'int atomic_add(int i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_val_compare_and_swap
      Src: /src/cairo/meson-cc-tests/atomic-ops-gcc-legacy.c:1,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - i
    - j
    - k
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1
      start: 1
    functionDepth: 0
    functionLinenumber: 1
    functionLinenumberEnd: 1
    functionName: atomic_cmpxchg
    functionSourceFile: /src/cairo/meson-cc-tests/atomic-ops-gcc-legacy.c
    functionUses: []
    functionsReached:
    - __sync_val_compare_and_swap
    linkageType: ''
    returnType: int
    signature: 'int atomic_cmpxchg(int i, int j, int k) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2
      start: 2
    functionDepth: 0
    functionLinenumber: 2
    functionLinenumberEnd: 2
    functionName: main
    functionSourceFile: /src/cairo/meson-cc-tests/atomic-ops-gcc-legacy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bfd_section_flags
      Src: /src/cairo/meson-cc-tests/bfd-section-flags.c:5,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - asection*
    constantsTouched: []
    func_position:
      end: 6
      start: 2
    functionDepth: 0
    functionLinenumber: 2
    functionLinenumberEnd: 6
    functionName: f
    functionSourceFile: /src/cairo/meson-cc-tests/bfd-section-flags.c
    functionUses: []
    functionsReached:
    - bfd_section_flags
    linkageType: ''
    returnType: int
    signature: 'int f (asection *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 8
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 8
    functionName: main
    functionSourceFile: /src/cairo/meson-cc-tests/bfd-section-flags.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int main (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_test_base_compositor_surface_create
      Src: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c:47,1
    - Dst: ceil
      Src: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c:47,1
    - Dst: ceil
      Src: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c:47,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 48
    functionName: _cairo_boilerplate_test_base_compositor_create_surface
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c
    functionUses: []
    functionsReached:
    - _cairo_test_base_compositor_surface_create
    - ceil
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_boilerplate_test_base_compositor_create_surface\
      \ (const char\t\t *name,\t\t\t\t\t\t\tcairo_content_t\t content,\t\t\t\t\t\t\
      \tdouble\t\t width,\t\t\t\t\t\t\tdouble\t\t height,\t\t\t\t\t\t\tdouble\t\t\
      \ max_width,\t\t\t\t\t\t\tdouble\t\t max_height,\t\t\t\t\t\t\tcairo_boilerplate_mode_t\
      \ mode,\t\t\t\t\t\t\tvoid\t\t **closure) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_test_spans_compositor_surface_create
      Src: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c:105,1
    - Dst: ceil
      Src: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c:105,1
    - Dst: ceil
      Src: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c:105,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 106
    functionName: _cairo_boilerplate_test_spans_compositor_create_surface
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c
    functionUses: []
    functionsReached:
    - _cairo_test_spans_compositor_surface_create
    - ceil
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_boilerplate_test_spans_compositor_create_surface\
      \ (const char\t\t *name,\t\t\t\t\t\t\t cairo_content_t\t content,\t\t\t\t\t\t\
      \t double\t\t\t width,\t\t\t\t\t\t\t double\t\t\t height,\t\t\t\t\t\t\t double\t\
      \t\t max_width,\t\t\t\t\t\t\t double\t\t\t max_height,\t\t\t\t\t\t\t cairo_boilerplate_mode_t\
      \ mode,\t\t\t\t\t\t\t void\t\t\t **closure) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_test_mask_compositor_surface_create
      Src: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c:76,1
    - Dst: ceil
      Src: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c:76,1
    - Dst: ceil
      Src: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c:76,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: _cairo_boilerplate_test_mask_compositor_create_surface
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c
    functionUses: []
    functionsReached:
    - ceil
    - _cairo_test_mask_compositor_surface_create
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_boilerplate_test_mask_compositor_create_surface\
      \ (const char\t\t *name,\t\t\t\t\t\t\t cairo_content_t\t content,\t\t\t\t\t\t\
      \t double\t\t\t width,\t\t\t\t\t\t\t double\t\t\t height,\t\t\t\t\t\t\t double\t\
      \t\t max_width,\t\t\t\t\t\t\t double\t\t\t max_height,\t\t\t\t\t\t\t cairo_boilerplate_mode_t\
      \ mode,\t\t\t\t\t\t\t void\t\t\t **closure) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_test_no_traps_compositor_surface_create
      Src: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c:139,1
    - Dst: ceil
      Src: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c:139,1
    - Dst: ceil
      Src: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c:139,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 140
    functionName: _cairo_boilerplate_test_no_traps_compositor_create_surface
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c
    functionUses: []
    functionsReached:
    - _cairo_test_no_traps_compositor_surface_create
    - ceil
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_boilerplate_test_no_traps_compositor_create_surface\
      \ (const char\t\t *name,\t\t\t\t\t\t\t cairo_content_t\t content,\t\t\t\t\t\t\
      \t double\t\t\t width,\t\t\t\t\t\t\t double\t\t\t height,\t\t\t\t\t\t\t double\t\
      \t\t max_width,\t\t\t\t\t\t\t double\t\t\t max_height,\t\t\t\t\t\t\t cairo_boilerplate_mode_t\
      \ mode,\t\t\t\t\t\t\t void\t\t\t **closure) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_show_page
      Src: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c:226,1
    - Dst: cairo_surface_get_user_data
      Src: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c:231,1
    - Dst: cairo_surface_status
      Src: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c:227,1
    - Dst: cairo_surface_write_to_png
      Src: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c:232,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - surface
    - filename
    argTypes:
    - cairo_surface_t*
    - char*
    constantsTouched: []
    func_position:
      end: 233
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 233
    functionName: _cairo_boilerplate_test_paginated_surface_write_to_png
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c
    functionUses: []
    functionsReached:
    - cairo_surface_status
    - cairo_surface_show_page
    - cairo_surface_get_user_data
    - cairo_surface_write_to_png
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_boilerplate_test_paginated_surface_write_to_png\
      \ (cairo_surface_t *surface,\t\t\t\t\t\t\tconst char\t*filename) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_test_traps_compositor_surface_create
      Src: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c:91,1
    - Dst: ceil
      Src: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c:91,1
    - Dst: ceil
      Src: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 92
    functionName: _cairo_boilerplate_test_traps_compositor_create_surface
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c
    functionUses: []
    functionsReached:
    - ceil
    - _cairo_test_traps_compositor_surface_create
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_boilerplate_test_traps_compositor_create_surface\
      \ (const char\t\t *name,\t\t\t\t\t\t\t cairo_content_t\t content,\t\t\t\t\t\t\
      \t double\t\t\t width,\t\t\t\t\t\t\t double\t\t\t height,\t\t\t\t\t\t\t double\t\
      \t\t max_width,\t\t\t\t\t\t\t double\t\t\t max_height,\t\t\t\t\t\t\t cairo_boilerplate_mode_t\
      \ mode,\t\t\t\t\t\t\t void\t\t\t **closure) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_test_fallback_compositor_surface_create
      Src: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c:62,1
    - Dst: ceil
      Src: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c:62,1
    - Dst: ceil
      Src: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c:62,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 63
    functionName: _cairo_boilerplate_test_fallback_compositor_create_surface
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c
    functionUses: []
    functionsReached:
    - ceil
    - _cairo_test_fallback_compositor_surface_create
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_boilerplate_test_fallback_compositor_create_surface\
      \ (const char\t\t *name,\t\t\t\t\t\t\t cairo_content_t\t content,\t\t\t\t\t\t\
      \t double\t\t width,\t\t\t\t\t\t\t double\t\t height,\t\t\t\t\t\t\t double\t\
      \t max_width,\t\t\t\t\t\t\t double\t\t max_height,\t\t\t\t\t\t\t cairo_boilerplate_mode_t\
      \ mode,\t\t\t\t\t\t\t void\t\t **closure) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_test_no_fallback_compositor_surface_create
      Src: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c:122,1
    - Dst: ceil
      Src: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c:122,1
    - Dst: ceil
      Src: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c:122,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 123
    functionName: _cairo_boilerplate_test_no_fallback_compositor_create_surface
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c
    functionUses: []
    functionsReached:
    - _cairo_test_no_fallback_compositor_surface_create
    - ceil
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_boilerplate_test_no_fallback_compositor_create_surface\
      \ (const char\t\t *name,\t\t\t\t\t\t\t cairo_content_t\t content,\t\t\t\t\t\t\
      \t double\t\t\t width,\t\t\t\t\t\t\t double\t\t\t height,\t\t\t\t\t\t\t double\t\
      \t\t max_width,\t\t\t\t\t\t\t double\t\t\t max_height,\t\t\t\t\t\t\t cairo_boilerplate_mode_t\
      \ mode,\t\t\t\t\t\t\t void\t\t\t **closure) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_test_no_spans_compositor_surface_create
      Src: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c:156,1
    - Dst: ceil
      Src: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c:156,1
    - Dst: ceil
      Src: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c:156,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 157
    functionName: _cairo_boilerplate_test_no_spans_compositor_create_surface
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c
    functionUses: []
    functionsReached:
    - _cairo_test_no_spans_compositor_surface_create
    - ceil
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_boilerplate_test_no_spans_compositor_create_surface\
      \ (const char\t\t *name,\t\t\t\t\t\t\t cairo_content_t\t content,\t\t\t\t\t\t\
      \t double\t\t\t width,\t\t\t\t\t\t\t double\t\t\t height,\t\t\t\t\t\t\t double\t\
      \t\t max_width,\t\t\t\t\t\t\t double\t\t\t max_height,\t\t\t\t\t\t\t cairo_boilerplate_mode_t\
      \ mode,\t\t\t\t\t\t\t void\t\t\t **closure) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c:181,1
    - Dst: ceil
      Src: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c:185,1
    - Dst: cairo_boilerplate_format_from_content
      Src: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c:183,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c:184,1
    - Dst: ceil
      Src: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c:185,1
    - Dst: _cairo_test_paginated_surface_create
      Src: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c:187,1
    - Dst: cairo_surface_status
      Src: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c:188,1
    - Dst: cairo_surface_set_user_data
      Src: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c:191,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c:197,1
    - Dst: cairo_boilerplate_surface_create_in_error
      Src: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c:198,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c:203,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c:200,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 205
    functionName: _cairo_boilerplate_test_paginated_create_surface
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c
    functionUses: []
    functionsReached:
    - cairo_boilerplate_surface_create_in_error
    - cairo_surface_set_user_data
    - xmalloc
    - cairo_boilerplate_format_from_content
    - free
    - cairo_surface_status
    - cairo_surface_destroy
    - cairo_image_surface_create
    - ceil
    - _cairo_test_paginated_surface_create
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_boilerplate_test_paginated_create_surface\
      \ (const char\t\t *name,\t\t\t\t\t\t cairo_content_t\t content,\t\t\t\t\t\t\
      \ double\t\t width,\t\t\t\t\t\t double\t\t height,\t\t\t\t\t\t double\t\t max_width,\t\
      \t\t\t\t\t double\t\t max_height,\t\t\t\t\t\t cairo_boilerplate_mode_t mode,\t\
      \t\t\t\t\t void\t\t\t **closure) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_boilerplate_surface_create_in_error
      Src: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c:246,1
    - Dst: cairo_surface_status
      Src: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c:250,1
    - Dst: cairo_surface_get_user_data
      Src: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c:254,1
    - Dst: cairo_surface_show_page
      Src: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c:249,1
    - Dst: cairo_boilerplate_surface_create_in_error
      Src: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c:252,1
    - Dst: _cairo_boilerplate_get_image_surface
      Src: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c:255,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 256
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 256
    functionName: _cairo_boilerplate_test_paginated_get_image_surface
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c
    functionUses: []
    functionsReached:
    - cairo_surface_status
    - _cairo_boilerplate_get_image_surface
    - cairo_surface_show_page
    - cairo_surface_get_user_data
    - cairo_boilerplate_surface_create_in_error
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_boilerplate_test_paginated_get_image_surface\
      \ (cairo_surface_t *surface,\t\t\t\t\t\t int\t page,\t\t\t\t\t\t int\t width,\t\
      \t\t\t\t\t int\t height) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c:263,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c:264,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - closure
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 265
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 265
    functionName: _cairo_boilerplate_test_paginated_cleanup
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-test-surfaces.c
    functionUses: []
    functionsReached:
    - free
    - cairo_surface_destroy
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_boilerplate_test_paginated_cleanup (void *closure) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cairo_create
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:235,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:236,1
    - Dst: cairo_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:239,1
    - Dst: cairo_surface_set_device_offset
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:240,1
    - Dst: system
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:253,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:279,1
    - Dst: cairo_surface_get_user_data
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:214,1
    - Dst: EndPage
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:248,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:243,1
    - Dst: cairo_paint
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:270,1
    - Dst: cairo_surface_write_to_png
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:273,1
    - Dst: cairo_surface_status
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:274,1
    - Dst: cairo_surface_get_device_scale
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:231,1
    - Dst: cairo_surface_get_device_offset
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:230,1
    - Dst: cairo_surface_set_device_scale
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:233,1
    - Dst: cairo_surface_set_device_offset
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:232,1
    - Dst: cairo_paint
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:237,1
    - Dst: cairo_image_surface_create_from_png
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:259,1
    - Dst: EndDoc
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:249,1
    - Dst: cairo_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:271,1
    - Dst: cairo_show_page
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:238,1
    - Dst: cairo_surface_set_device_scale
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:241,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:247,1
    - Dst: sprintf
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:250,1
    - Dst: cairo_surface_status
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:260,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:264,1
    - Dst: cairo_create
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:267,1
    - Dst: cairo_set_operator
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:268,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:269,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:278,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 2
    argNames:
    - surface
    - filename
    argTypes:
    - cairo_surface_t*
    - char*
    constantsTouched: []
    func_position:
      end: 282
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 282
    functionName: _cairo_boilerplate_win32_printing_surface_write_to_png
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c
    functionUses: []
    functionsReached:
    - system
    - cairo_surface_finish
    - cairo_surface_write_to_png
    - cairo_set_source_surface
    - EndDoc
    - cairo_show_page
    - cairo_surface_status
    - cairo_create
    - cairo_surface_set_device_offset
    - cairo_surface_get_device_scale
    - cairo_surface_get_device_offset
    - cairo_surface_set_device_scale
    - cairo_set_operator
    - cairo_image_surface_create_from_png
    - cairo_destroy
    - sprintf
    - EndPage
    - cairo_paint
    - cairo_surface_destroy
    - cairo_image_surface_create
    - cairo_surface_get_user_data
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_boilerplate_win32_printing_surface_write_to_png\
      \ (cairo_surface_t *surface,\t\t\t\t\t\t\tconst char\t*filename) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetDefaultPrinter
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:80,1
    - Dst: _cairo_malloc
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:81,1
    - Dst: CreateDC
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:92,1
    - Dst: GetDefaultPrinter
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:86,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:87,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:93,1
    - Dst: printer_is_postscript_level_3
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:95,1
    - Dst: printf
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:96,1
    - Dst: GetDeviceCaps
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:116,1
    - Dst: GetDeviceCaps
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:117,1
    - Dst: fprintf
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:131,1
    - Dst: SetGraphicsMode
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:123,1
    - Dst: GetDeviceCaps
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:118,1
    - Dst: GetDeviceCaps
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:119,1
    - Dst: GetDeviceCaps
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:120,1
    - Dst: GetDeviceCaps
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:121,1
    - Dst: SetWorldTransform
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:130,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 54
    argCount: 1
    argNames:
    - ptc
    argTypes:
    - win32_target_closure_t*
    constantsTouched: []
    func_position:
      end: 137
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 137
    functionName: create_printer_dc
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c
    functionUses: []
    functionsReached:
    - printf
    - _cairo_malloc
    - printer_is_postscript_level_3
    - fprintf
    - free
    - CreateDC
    - SetWorldTransform
    - GetDeviceCaps
    - SetGraphicsMode
    - GetDefaultPrinter
    linkageType: ''
    returnType: void
    signature: 'static void create_printer_dc (win32_target_closure_t *ptc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:321,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:322,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:323,1
    - Dst: DeleteDC
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:324,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - closure
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 325
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 325
    functionName: _cairo_boilerplate_win32_printing_cleanup
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c
    functionUses: []
    functionsReached:
    - free
    - DeleteDC
    - cairo_surface_destroy
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_boilerplate_win32_printing_cleanup (void *closure) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ExtEscape
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:57,1
    - Dst: ExtEscape
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:61,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - dc
    argTypes:
    - HDC
    constantsTouched: []
    func_position:
      end: 69
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 69
    functionName: printer_is_postscript_level_3
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c
    functionUses: []
    functionsReached:
    - ExtEscape
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t printer_is_postscript_level_3 (HDC dc) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: create_printer_dc
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:169,1
    - Dst: printf
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:171,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:199,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:203,1
    - Dst: xmalloc
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:156,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:172,1
    - Dst: cairo_surface_set_user_data
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:195,1
    - Dst: memset
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:161,1
    - Dst: xasprintf
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:158,1
    - Dst: xunlink
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:159,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:180,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:202,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:173,1
    - Dst: StartDoc
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:176,1
    - Dst: StartPage
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:177,1
    - Dst: cairo_win32_printing_surface_create
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:178,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:201,1
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:188,1
    - Dst: cairo_surface_status
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:179,1
    - Dst: cairo_surface_set_fallback_resolution
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:184,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:181,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 208
    functionName: _cairo_boilerplate_win32_printing_create_surface
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c
    functionUses: []
    functionsReached:
    - printf
    - cairo_surface_set_user_data
    - create_printer_dc
    - xmalloc
    - free
    - xasprintf
    - cairo_win32_printing_surface_create
    - cairo_surface_status
    - cairo_surface_set_fallback_resolution
    - cairo_surface_destroy
    - StartDoc
    - xunlink
    - cairo_surface_create_similar
    - memset
    - StartPage
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_boilerplate_win32_printing_create_surface\
      \ (const char\t\t *name,\t\t\t\t\t\t cairo_content_t\t content,\t\t\t\t\t\t\
      \ double\t\t width,\t\t\t\t\t\t double\t\t height,\t\t\t\t\t\t double\t\t max_width,\t\
      \t\t\t\t\t double\t\t max_height,\t\t\t\t\t\t cairo_boilerplate_mode_t mode,\t\
      \t\t\t\t\t void\t\t\t **closure) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_get_user_data
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:290,1
    - Dst: xasprintf
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:299,1
    - Dst: cairo_boilerplate_surface_create_in_error
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:297,1
    - Dst: _cairo_boilerplate_win32_printing_surface_write_to_png
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:300,1
    - Dst: cairo_boilerplate_surface_create_in_error
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:302,1
    - Dst: cairo_boilerplate_get_image_surface_from_png
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:304,1
    - Dst: remove
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:309,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c:310,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 313
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 313
    functionName: _cairo_boilerplate_win32_printing_get_image_surface
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-win32-printing.c
    functionUses: []
    functionsReached:
    - remove
    - free
    - xasprintf
    - cairo_boilerplate_get_image_surface_from_png
    - cairo_surface_get_user_data
    - cairo_boilerplate_surface_create_in_error
    - _cairo_boilerplate_win32_printing_surface_write_to_png
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_boilerplate_win32_printing_get_image_surface\
      \ (cairo_surface_t *surface,\t\t\t\t\t\t int\t page,\t\t\t\t\t\t int\t width,\t\
      \t\t\t\t\t int\t height) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseDC
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32.c:50,1
    - Dst: GetLastError
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32.c:57,1
    - Dst: fprintf
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32.c:51,1
    - Dst: DestroyWindow
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32.c:54,1
    - Dst: fprintf
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32.c:55,1
    - Dst: UnregisterClassA
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32.c:59,1
    - Dst: MAKELPARAM
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32.c:59,1
    - Dst: GetModuleHandle
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32.c:59,1
    - Dst: GetLastError
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32.c:60,1
    - Dst: fprintf
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32.c:61,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32.c:65,1
    - Dst: GetLastError
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32.c:63,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 1
    argNames:
    - closure
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 67
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 67
    functionName: _cairo_boilerplate_win32_cleanup_window_surface
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-win32.c
    functionUses: []
    functionsReached:
    - GetModuleHandle
    - UnregisterClassA
    - fprintf
    - free
    - ReleaseDC
    - GetLastError
    - MAKELPARAM
    - DestroyWindow
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_boilerplate_win32_cleanup_window_surface (void
      *closure) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_boilerplate_win32_create_window
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32.c:168,1
    - Dst: cairo_boilerplate_format_from_content
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32.c:173,1
    - Dst: cairo_surface_status
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32.c:179,1
    - Dst: fprintf
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32.c:183,1
    - Dst: cairo_win32_surface_create_with_format
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32.c:175,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32.c:185,1
    - Dst: _cairo_boilerplate_win32_cleanup_window_surface
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32.c:186,1
    - Dst: cairo_surface_set_user_data
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32.c:190,1
    - Dst: fprintf
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32.c:194,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32.c:196,1
    - Dst: _cairo_boilerplate_win32_cleanup_window_surface
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32.c:199,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32.c:198,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 207
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 207
    functionName: _cairo_boilerplate_win32_create_window_surface
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-win32.c
    functionUses: []
    functionsReached:
    - cairo_surface_set_user_data
    - fprintf
    - cairo_boilerplate_format_from_content
    - cairo_surface_status
    - cairo_surface_destroy
    - _cairo_boilerplate_win32_cleanup_window_surface
    - cairo_win32_surface_create_with_format
    - _cairo_boilerplate_win32_create_window
    - cairo_status_to_string
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_boilerplate_win32_create_window_surface\
      \ (const char\t\t *name,\t\t\t\t\t\tcairo_content_t\t\t content,\t\t\t\t\t\t\
      double\t\t\t width,\t\t\t\t\t\tdouble\t\t\t height,\t\t\t\t\t\tdouble\t\t\t\
      \ max_width,\t\t\t\t\t\tdouble\t\t\t max_height,\t\t\t\t\t\tcairo_boilerplate_mode_t\
      \ mode,\t\t\t\t\t\tvoid\t\t\t **closure) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ZeroMemory
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32.c:77,1
    - Dst: fprintf
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32.c:89,1
    - Dst: ZeroMemory
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32.c:93,1
    - Dst: fprintf
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32.c:99,1
    - Dst: GetLastError
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32.c:101,1
    - Dst: fprintf
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32.c:137,1
    - Dst: calloc
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32.c:84,1
    - Dst: GetModuleHandle
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32.c:79,1
    - Dst: RegisterClassExA
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32.c:95,1
    - Dst: _cairo_boilerplate_win32_cleanup_window_surface
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32.c:102,1
    - Dst: GetLastError
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32.c:128,1
    - Dst: fprintf
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32.c:126,1
    - Dst: SetWindowPos
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32.c:142,1
    - Dst: CreateWindowExA
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32.c:111,1
    - Dst: MAKELPARAM
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32.c:109,1
    - Dst: _cairo_boilerplate_win32_cleanup_window_surface
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32.c:129,1
    - Dst: GetLastError
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32.c:97,1
    - Dst: GetDC
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32.c:133,1
    - Dst: _cairo_boilerplate_win32_cleanup_window_surface
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32.c:138,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 151
    functionName: _cairo_boilerplate_win32_create_window
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-win32.c
    functionUses: []
    functionsReached:
    - GetModuleHandle
    - fprintf
    - ZeroMemory
    - SetWindowPos
    - GetDC
    - _cairo_boilerplate_win32_cleanup_window_surface
    - calloc
    - GetLastError
    - RegisterClassExA
    - MAKELPARAM
    - CreateWindowExA
    linkageType: ''
    returnType: win32_target_closure_t*
    signature: "static win32_target_closure_t *_cairo_boilerplate_win32_create_window\
      \ (int width,\t\t\t\t\tint height) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_boilerplate_format_from_content
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32.c:221,1
    - Dst: cairo_win32_surface_create_with_dib
      Src: /src/cairo/boilerplate/cairo-boilerplate-win32.c:225,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 226
    functionName: _cairo_boilerplate_win32_create_dib_surface
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-win32.c
    functionUses: []
    functionsReached:
    - cairo_boilerplate_format_from_content
    - cairo_win32_surface_create_with_dib
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_boilerplate_win32_create_dib_surface\
      \ (const char\t\t *name,\t\t\t\t\t cairo_content_t\t\tcontent,\t\t\t\t\t double\
      \ \t\t\twidth,\t\t\t\t\t double \t\t\theight,\t\t\t\t\t double \t\t\tmax_width,\t\
      \t\t\t\t double \t\t\tmax_height,\t\t\t\t\t cairo_boilerplate_mode_t mode,\t\
      \t\t\t\t void\t\t **closure) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_get_type
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:64,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - abstract_surface
    - date
    argTypes:
    - cairo_surface_t*
    - time_t
    constantsTouched: []
    func_position:
      end: 73
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 73
    functionName: _cairo_boilerplate_ps_surface_set_creation_date
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-ps.c
    functionUses: []
    functionsReached:
    - cairo_surface_get_type
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_boilerplate_ps_surface_set_creation_date\
      \ (cairo_surface_t *abstract_surface,\t\t\t\t\t\t time_t \t date) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_get_user_data
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:176,1
    - Dst: cairo_surface_get_device_offset
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:190,1
    - Dst: cairo_surface_get_device_scale
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:191,1
    - Dst: cairo_surface_set_device_offset
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:192,1
    - Dst: cairo_surface_set_device_scale
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:193,1
    - Dst: cairo_create
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:195,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:196,1
    - Dst: cairo_paint
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:197,1
    - Dst: cairo_show_page
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:198,1
    - Dst: cairo_status
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:199,1
    - Dst: cairo_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:200,1
    - Dst: cairo_surface_status
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:208,1
    - Dst: cairo_surface_status
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:216,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:215,1
    - Dst: cairo_surface_set_device_offset
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:201,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:207,1
    - Dst: cairo_surface_set_device_scale
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:202,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 217
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 217
    functionName: _cairo_boilerplate_ps_finish_surface
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-ps.c
    functionUses: []
    functionsReached:
    - cairo_surface_get_device_scale
    - cairo_paint
    - cairo_show_page
    - cairo_surface_finish
    - cairo_surface_get_device_offset
    - cairo_surface_status
    - cairo_create
    - cairo_status
    - cairo_surface_set_device_scale
    - cairo_surface_set_device_offset
    - cairo_destroy
    - cairo_surface_get_user_data
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_boilerplate_ps_finish_surface (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_boilerplate_ps_create_surface
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:147,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 153
    functionName: _cairo_boilerplate_ps2_create_surface
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-ps.c
    functionUses: []
    functionsReached:
    - _cairo_boilerplate_ps_create_surface
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_boilerplate_ps2_create_surface (const\
      \ char\t\t *name,\t\t\t\t cairo_content_t\t\t content,\t\t\t\t double\t\t\t\
      \ width,\t\t\t\t double\t\t\t height,\t\t\t\t double\t\t\t max_width,\t\t\t\t\
      \ double\t\t\t max_height,\t\t\t\t cairo_boilerplate_mode_t mode,\t\t\t\t void\t\
      \t\t**closure) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_boilerplate_ps_surface_write_to_png
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:259,1
    - Dst: remove
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:272,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:283,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:275,1
    - Dst: cairo_boilerplate_surface_create_in_error
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:261,1
    - Dst: xasprintf
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:258,1
    - Dst: xasprintf
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:256,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:264,1
    - Dst: cairo_create
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:282,1
    - Dst: cairo_paint
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:284,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:286,1
    - Dst: cairo_surface_get_user_data
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:248,1
    - Dst: xasprintf
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:265,1
    - Dst: cairo_boilerplate_get_image_surface_from_png
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:267,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:273,1
    - Dst: cairo_surface_get_device_offset
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:278,1
    - Dst: cairo_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:285,1
    - Dst: cairo_surface_set_device_offset
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:280,1
    - Dst: cairo_surface_set_device_scale
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:281,1
    - Dst: cairo_surface_get_device_scale
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:279,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 289
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 289
    functionName: _cairo_boilerplate_ps_get_image_surface
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-ps.c
    functionUses: []
    functionsReached:
    - cairo_surface_get_device_scale
    - cairo_paint
    - remove
    - free
    - xasprintf
    - cairo_surface_get_device_offset
    - cairo_create
    - cairo_surface_destroy
    - cairo_image_surface_create
    - cairo_surface_set_device_scale
    - cairo_surface_set_device_offset
    - _cairo_boilerplate_ps_surface_write_to_png
    - cairo_boilerplate_get_image_surface_from_png
    - cairo_destroy
    - cairo_surface_get_user_data
    - cairo_boilerplate_surface_create_in_error
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_boilerplate_ps_get_image_surface (cairo_surface_t\
      \ *surface,\t\t\t\t\t int\t\t page,\t\t\t\t\t int\t\t width,\t\t\t\t\t int\t\
      \t height) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_get_user_data
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:308,1
    - Dst: cairo_surface_set_fallback_resolution
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:320,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - abstract_surface
    - x_pixels_per_inch
    - y_pixels_per_inch
    argTypes:
    - cairo_surface_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 323
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 323
    functionName: _cairo_boilerplate_ps_force_fallbacks
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-ps.c
    functionUses: []
    functionsReached:
    - cairo_surface_set_fallback_resolution
    - cairo_surface_get_user_data
    linkageType: ''
    returnType: void
    signature: "static void _cairo_boilerplate_ps_force_fallbacks (cairo_surface_t\
      \ *abstract_surface,\t\t\t\t double\t\t x_pixels_per_inch,\t\t\t\t double\t\t\
      \ y_pixels_per_inch) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_boilerplate_ps_create_surface
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:165,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 171
    functionName: _cairo_boilerplate_ps3_create_surface
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-ps.c
    functionUses: []
    functionsReached:
    - _cairo_boilerplate_ps_create_surface
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_boilerplate_ps3_create_surface (const\
      \ char\t\t *name,\t\t\t\t cairo_content_t\t\t content,\t\t\t\t double\t\t\t\
      \ width,\t\t\t\t double\t\t\t height,\t\t\t\t double\t\t\t max_width,\t\t\t\t\
      \ double\t\t\t max_height,\t\t\t\t cairo_boilerplate_mode_t mode,\t\t\t\t void\t\
      \t\t**closure) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:94,1
    - Dst: ceil
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:100,1
    - Dst: xasprintf
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:96,1
    - Dst: ceil
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:101,1
    - Dst: xunlink
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:97,1
    - Dst: cairo_ps_surface_create
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:103,1
    - Dst: cairo_surface_status
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:104,1
    - Dst: cairo_ps_surface_restrict_to_level
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:107,1
    - Dst: _cairo_boilerplate_ps_surface_set_creation_date
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:108,1
    - Dst: cairo_surface_set_fallback_resolution
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:109,1
    - Dst: cairo_surface_set_user_data
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:122,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:130,1
    - Dst: cairo_surface_status
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:116,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:133,1
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:113,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:126,1
    - Dst: cairo_boilerplate_surface_create_in_error
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:127,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:132,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 135
    functionName: _cairo_boilerplate_ps_create_surface
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-ps.c
    functionUses: []
    functionsReached:
    - cairo_boilerplate_surface_create_in_error
    - cairo_surface_set_user_data
    - _cairo_boilerplate_ps_surface_set_creation_date
    - xmalloc
    - free
    - xasprintf
    - cairo_surface_status
    - cairo_surface_set_fallback_resolution
    - cairo_surface_destroy
    - cairo_ps_surface_create
    - xunlink
    - cairo_surface_create_similar
    - ceil
    - cairo_ps_surface_restrict_to_level
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_boilerplate_ps_create_surface (const\
      \ char\t\t*name,\t\t\t\t cairo_content_t\t\t content,\t\t\t\t cairo_ps_level_t\t\
      \t level,\t\t\t\t double\t\t\t width,\t\t\t\t double\t\t\t height,\t\t\t\t double\t\
      \t\t max_width,\t\t\t\t double\t\t\t max_height,\t\t\t\t cairo_boilerplate_mode_t\t\
      \ mode,\t\t\t\t void\t\t **closure) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_get_user_data
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:223,1
    - Dst: sprintf
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:228,1
    - Dst: system
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:231,1
    - Dst: raise
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:234,1
    - Dst: WIFSIGNALED
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:233,1
    - Dst: WTERMSIG
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:234,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - surface
    - filename
    argTypes:
    - cairo_surface_t*
    - char*
    constantsTouched: []
    func_position:
      end: 240
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 240
    functionName: _cairo_boilerplate_ps_surface_write_to_png
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-ps.c
    functionUses: []
    functionsReached:
    - system
    - WTERMSIG
    - raise
    - cairo_surface_get_user_data
    - WIFSIGNALED
    - sprintf
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_boilerplate_ps_surface_write_to_png (cairo_surface_t\
      \ *surface,\t\t\t\t\t const char\t *filename) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_finish
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:296,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:299,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:300,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate-ps.c:297,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - closure
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 301
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 301
    functionName: _cairo_boilerplate_ps_cleanup
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-ps.c
    functionUses: []
    functionsReached:
    - free
    - cairo_surface_finish
    - cairo_surface_destroy
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_boilerplate_ps_cleanup (void *closure) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_finish
      Src: /src/cairo/boilerplate/cairo-boilerplate-script.c:81,1
    - Dst: cairo_surface_status
      Src: /src/cairo/boilerplate/cairo-boilerplate-script.c:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: _cairo_boilerplate_script_finish_surface
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-script.c
    functionUses: []
    functionsReached:
    - cairo_surface_status
    - cairo_surface_finish
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_boilerplate_script_finish_surface (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_get_user_data
      Src: /src/cairo/boilerplate/cairo-boilerplate-script.c:96,1
    - Dst: cairo_boilerplate_convert_to_image
      Src: /src/cairo/boilerplate/cairo-boilerplate-script.c:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: _cairo_boilerplate_script_convert_to_image
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-script.c
    functionUses: []
    functionsReached:
    - cairo_boilerplate_convert_to_image
    - cairo_surface_get_user_data
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_boilerplate_script_convert_to_image\
      \ (cairo_surface_t *surface,\t\t\t\t\t int \t page) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-script.c:123,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-script.c:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - closure
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 125
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 125
    functionName: _cairo_boilerplate_script_cleanup
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-script.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_boilerplate_script_cleanup (void *closure) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/cairo/boilerplate/cairo-boilerplate-script.c:53,1
    - Dst: cairo_script_create
      Src: /src/cairo/boilerplate/cairo-boilerplate-script.c:61,1
    - Dst: xunlink
      Src: /src/cairo/boilerplate/cairo-boilerplate-script.c:59,1
    - Dst: xasprintf
      Src: /src/cairo/boilerplate/cairo-boilerplate-script.c:58,1
    - Dst: cairo_script_surface_create
      Src: /src/cairo/boilerplate/cairo-boilerplate-script.c:62,1
    - Dst: cairo_device_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate-script.c:63,1
    - Dst: cairo_surface_set_user_data
      Src: /src/cairo/boilerplate/cairo-boilerplate-script.c:65,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate-script.c:70,1
    - Dst: cairo_boilerplate_surface_create_in_error
      Src: /src/cairo/boilerplate/cairo-boilerplate-script.c:71,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-script.c:73,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-script.c:74,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 76
    functionName: _cairo_boilerplate_script_create_surface
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-script.c
    functionUses: []
    functionsReached:
    - cairo_device_destroy
    - cairo_surface_set_user_data
    - xmalloc
    - cairo_script_create
    - free
    - xasprintf
    - cairo_surface_destroy
    - xunlink
    - cairo_script_surface_create
    - cairo_boilerplate_surface_create_in_error
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_boilerplate_script_create_surface (const\
      \ char\t\t *name,\t\t\t\t\t cairo_content_t\t content,\t\t\t\t\t double\t\t\
      \ width,\t\t\t\t\t double\t\t height,\t\t\t\t\t double\t\t max_width,\t\t\t\t\
      \t double\t\t max_height,\t\t\t\t\t cairo_boilerplate_mode_t mode,\t\t\t\t\t\
      \ void\t\t\t **closure) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - surface
    - filename
    argTypes:
    - cairo_surface_t*
    - char*
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: _cairo_boilerplate_script_surface_write_to_png
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-script.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_boilerplate_script_surface_write_to_png\
      \ (cairo_surface_t *surface,\t\t\t\t\t\tconst char\t*filename) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_boilerplate_script_convert_to_image
      Src: /src/cairo/boilerplate/cairo-boilerplate-script.c:109,1
    - Dst: cairo_surface_set_device_offset
      Src: /src/cairo/boilerplate/cairo-boilerplate-script.c:110,1
    - Dst: _cairo_boilerplate_get_image_surface
      Src: /src/cairo/boilerplate/cairo-boilerplate-script.c:113,1
    - Dst: cairo_image_surface_get_height
      Src: /src/cairo/boilerplate/cairo-boilerplate-script.c:112,1
    - Dst: cairo_image_surface_get_width
      Src: /src/cairo/boilerplate/cairo-boilerplate-script.c:111,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate-script.c:114,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 117
    functionName: _cairo_boilerplate_script_get_image_surface
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-script.c
    functionUses: []
    functionsReached:
    - cairo_image_surface_get_height
    - cairo_surface_destroy
    - cairo_surface_set_device_offset
    - cairo_image_surface_get_width
    - _cairo_boilerplate_get_image_surface
    - _cairo_boilerplate_script_convert_to_image
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_boilerplate_script_get_image_surface\
      \ (cairo_surface_t *surface,\t\t\t\t\t int\t page,\t\t\t\t\t int\t width,\t\t\
      \t\t\t int\t height) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: va_end
      Src: /src/cairo/boilerplate/cairo-boilerplate-system.c:109,1
    - Dst: va_start
      Src: /src/cairo/boilerplate/cairo-boilerplate-system.c:93,1
    - Dst: fprintf
      Src: /src/cairo/boilerplate/cairo-boilerplate-system.c:98,1
    - Dst: va_start
      Src: /src/cairo/boilerplate/cairo-boilerplate-system.c:107,1
    - Dst: vsnprintf
      Src: /src/cairo/boilerplate/cairo-boilerplate-system.c:108,1
    - Dst: exit
      Src: /src/cairo/boilerplate/cairo-boilerplate-system.c:113,1
    - Dst: fprintf
      Src: /src/cairo/boilerplate/cairo-boilerplate-system.c:119,1
    - Dst: va_start
      Src: /src/cairo/boilerplate/cairo-boilerplate-system.c:126,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-system.c:131,1
    - Dst: va_end
      Src: /src/cairo/boilerplate/cairo-boilerplate-system.c:95,1
    - Dst: va_end
      Src: /src/cairo/boilerplate/cairo-boilerplate-system.c:128,1
    - Dst: memcpy
      Src: /src/cairo/boilerplate/cairo-boilerplate-system.c:124,1
    - Dst: memset
      Src: /src/cairo/boilerplate/cairo-boilerplate-system.c:136,1
    - Dst: exit
      Src: /src/cairo/boilerplate/cairo-boilerplate-system.c:99,1
    - Dst: vasprintf
      Src: /src/cairo/boilerplate/cairo-boilerplate-system.c:94,1
    - Dst: fprintf
      Src: /src/cairo/boilerplate/cairo-boilerplate-system.c:112,1
    - Dst: exit
      Src: /src/cairo/boilerplate/cairo-boilerplate-system.c:120,1
    - Dst: fprintf
      Src: /src/cairo/boilerplate/cairo-boilerplate-system.c:132,1
    - Dst: malloc
      Src: /src/cairo/boilerplate/cairo-boilerplate-system.c:117,1
    - Dst: vsnprintf
      Src: /src/cairo/boilerplate/cairo-boilerplate-system.c:127,1
    - Dst: exit
      Src: /src/cairo/boilerplate/cairo-boilerplate-system.c:133,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 2
    argNames:
    - strp
    - fmt
    - '...'
    argTypes:
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 138
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 138
    functionName: xasprintf
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-system.c
    functionUses: []
    functionsReached:
    - malloc
    - memcpy
    - fprintf
    - vasprintf
    - free
    - va_end
    - vsnprintf
    - memset
    - va_start
    - exit
    linkageType: ''
    returnType: void
    signature: "void xasprintf (char **strp,\t const char *fmt,\t\t\t...) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/cairo/boilerplate/cairo-boilerplate-system.c:62,1
    - Dst: fprintf
      Src: /src/cairo/boilerplate/cairo-boilerplate-system.c:64,1
    - Dst: exit
      Src: /src/cairo/boilerplate/cairo-boilerplate-system.c:65,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 69
    functionName: xcalloc
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-system.c
    functionUses: []
    functionsReached:
    - calloc
    - fprintf
    - exit
    linkageType: ''
    returnType: void*
    signature: "void *xcalloc (size_t nmemb,\t size_t size) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/cairo/boilerplate/cairo-boilerplate-system.c:44,1
    - Dst: exit
      Src: /src/cairo/boilerplate/cairo-boilerplate-system.c:47,1
    - Dst: fprintf
      Src: /src/cairo/boilerplate/cairo-boilerplate-system.c:46,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 51
    functionName: xmalloc
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-system.c
    functionUses: []
    functionsReached:
    - malloc
    - fprintf
    - exit
    linkageType: ''
    returnType: void*
    signature: 'void *xmalloc (size_t size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/cairo/boilerplate/cairo-boilerplate-system.c:75,1
    - Dst: fprintf
      Src: /src/cairo/boilerplate/cairo-boilerplate-system.c:77,1
    - Dst: exit
      Src: /src/cairo/boilerplate/cairo-boilerplate-system.c:78,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 82
    functionName: xrealloc
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-system.c
    functionUses: []
    functionsReached:
    - realloc
    - fprintf
    - exit
    linkageType: ''
    returnType: void*
    signature: "void *xrealloc (void\t *buf,\t size_t size) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/cairo/boilerplate/cairo-boilerplate-system.c:143,1
    - Dst: strerror
      Src: /src/cairo/boilerplate/cairo-boilerplate-system.c:145,1
    - Dst: fprintf
      Src: /src/cairo/boilerplate/cairo-boilerplate-system.c:144,1
    - Dst: exit
      Src: /src/cairo/boilerplate/cairo-boilerplate-system.c:146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - pathname
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 148
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 148
    functionName: xunlink
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-system.c
    functionUses: []
    functionsReached:
    - exit
    - strerror
    - fprintf
    - unlink
    linkageType: ''
    returnType: void
    signature: 'void xunlink (const char *pathname) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/cairo/boilerplate/cairo-boilerplate-system.c:156,1
    - Dst: exit
      Src: /src/cairo/boilerplate/cairo-boilerplate-system.c:159,1
    - Dst: fprintf
      Src: /src/cairo/boilerplate/cairo-boilerplate-system.c:158,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 163
    functionName: xstrdup
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-system.c
    functionUses: []
    functionsReached:
    - strdup
    - fprintf
    - exit
    linkageType: ''
    returnType: char*
    signature: 'char *xstrdup (const char *str) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_get_user_data
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:183,1
    - Dst: sprintf
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:188,1
    - Dst: WIFSIGNALED
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:193,1
    - Dst: raise
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:194,1
    - Dst: system
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:191,1
    - Dst: WTERMSIG
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:194,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - surface
    - filename
    argTypes:
    - cairo_surface_t*
    - char*
    constantsTouched: []
    func_position:
      end: 200
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 200
    functionName: _cairo_boilerplate_svg_surface_write_to_png
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-svg.c
    functionUses: []
    functionsReached:
    - system
    - WTERMSIG
    - raise
    - cairo_surface_get_user_data
    - WIFSIGNALED
    - sprintf
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_boilerplate_svg_surface_write_to_png\
      \ (cairo_surface_t *surface,\t\t\t\t\t const char *filename) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_boilerplate_svg_create_surface
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:121,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 127
    functionName: _cairo_boilerplate_svg11_create_surface
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-svg.c
    functionUses: []
    functionsReached:
    - _cairo_boilerplate_svg_create_surface
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_boilerplate_svg11_create_surface (const\
      \ char\t\t *name,\t\t\t\t\t cairo_content_t\t content,\t\t\t\t\t double \t\t\
      \ width,\t\t\t\t\t double \t\t height,\t\t\t\t\t double \t\t max_width,\t\t\t\
      \t\t double \t\t max_height,\t\t\t\t\t cairo_boilerplate_mode_t mode,\t\t\t\t\
      \t void\t\t\t **closure) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_boilerplate_surface_create_in_error
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:222,1
    - Dst: cairo_surface_get_device_scale
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:226,1
    - Dst: cairo_surface_set_device_offset
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:227,1
    - Dst: _cairo_boilerplate_svg_convert_to_image
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:224,1
    - Dst: cairo_surface_get_device_offset
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:225,1
    - Dst: cairo_surface_set_device_scale
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:228,1
    - Dst: _cairo_boilerplate_get_image_surface
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:229,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:230,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 233
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 233
    functionName: _cairo_boilerplate_svg_get_image_surface
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-svg.c
    functionUses: []
    functionsReached:
    - cairo_surface_get_device_scale
    - _cairo_boilerplate_svg_convert_to_image
    - cairo_surface_get_device_offset
    - cairo_surface_destroy
    - cairo_surface_set_device_scale
    - cairo_surface_set_device_offset
    - _cairo_boilerplate_get_image_surface
    - cairo_boilerplate_surface_create_in_error
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_boilerplate_svg_get_image_surface (cairo_surface_t\
      \ *surface,\t\t\t\t\t int\t\t page,\t\t\t\t\t int\t\t width,\t\t\t\t\t int\t\
      \t height) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_get_user_data
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:252,1
    - Dst: cairo_surface_set_fallback_resolution
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:260,1
    - Dst: _cairo_svg_surface_set_force_fallbacks
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:259,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - abstract_surface
    - x_pixels_per_inch
    - y_pixels_per_inch
    argTypes:
    - cairo_surface_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 263
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 263
    functionName: _cairo_boilerplate_svg_force_fallbacks
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-svg.c
    functionUses: []
    functionsReached:
    - cairo_surface_set_fallback_resolution
    - cairo_surface_get_user_data
    - _cairo_svg_surface_set_force_fallbacks
    linkageType: ''
    returnType: void
    signature: "static void _cairo_boilerplate_svg_force_fallbacks (cairo_surface_t\
      \ *abstract_surface,\t\t\t\t double\t\t x_pixels_per_inch,\t\t\t\t double\t\t\
      \ y_pixels_per_inch) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:70,1
    - Dst: ceil
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:73,1
    - Dst: ceil
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:72,1
    - Dst: xunlink
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:76,1
    - Dst: xasprintf
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:75,1
    - Dst: cairo_svg_surface_create
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:78,1
    - Dst: cairo_surface_status
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:79,1
    - Dst: cairo_svg_surface_restrict_to_version
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:82,1
    - Dst: cairo_surface_set_fallback_resolution
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:83,1
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:87,1
    - Dst: cairo_boilerplate_surface_create_in_error
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:100,1
    - Dst: cairo_surface_set_user_data
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:95,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:103,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:105,1
    - Dst: cairo_surface_status
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:90,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:99,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:106,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 108
    functionName: _cairo_boilerplate_svg_create_surface
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-svg.c
    functionUses: []
    functionsReached:
    - cairo_boilerplate_surface_create_in_error
    - cairo_svg_surface_create
    - cairo_surface_set_user_data
    - xmalloc
    - free
    - xasprintf
    - cairo_surface_status
    - cairo_surface_set_fallback_resolution
    - cairo_surface_destroy
    - xunlink
    - cairo_surface_create_similar
    - ceil
    - cairo_svg_surface_restrict_to_version
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_boilerplate_svg_create_surface (const\
      \ char\t\t *name,\t\t\t\t cairo_content_t\t\t content,\t\t\t\t cairo_svg_version_t\t\
      \ version,\t\t\t\t double\t\t\t width,\t\t\t\t double\t\t\t height,\t\t\t\t\
      \ double\t\t\t max_width,\t\t\t\t double\t\t\t max_height,\t\t\t\t cairo_boilerplate_mode_t\
      \ mode,\t\t\t\t void\t\t\t**closure) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_get_user_data
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:132,1
    - Dst: cairo_surface_set_device_offset
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:148,1
    - Dst: cairo_surface_get_device_offset
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:146,1
    - Dst: cairo_surface_set_device_scale
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:149,1
    - Dst: cairo_surface_get_device_scale
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:147,1
    - Dst: cairo_create
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:151,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:152,1
    - Dst: cairo_paint
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:153,1
    - Dst: cairo_show_page
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:154,1
    - Dst: cairo_status
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:155,1
    - Dst: cairo_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:156,1
    - Dst: cairo_surface_status
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:164,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:171,1
    - Dst: cairo_surface_status
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:172,1
    - Dst: cairo_surface_set_device_scale
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:158,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:163,1
    - Dst: cairo_surface_set_device_offset
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:157,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 177
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 177
    functionName: _cairo_boilerplate_svg_finish_surface
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-svg.c
    functionUses: []
    functionsReached:
    - cairo_surface_get_device_scale
    - cairo_paint
    - cairo_show_page
    - cairo_surface_finish
    - cairo_surface_get_device_offset
    - cairo_surface_status
    - cairo_create
    - cairo_status
    - cairo_surface_set_device_scale
    - cairo_surface_set_device_offset
    - cairo_destroy
    - cairo_surface_get_user_data
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_boilerplate_svg_finish_surface (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_get_user_data
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:205,1
    - Dst: cairo_boilerplate_convert_to_image
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 209
    functionName: _cairo_boilerplate_svg_convert_to_image
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-svg.c
    functionUses: []
    functionsReached:
    - cairo_boilerplate_convert_to_image
    - cairo_surface_get_user_data
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *_cairo_boilerplate_svg_convert_to_image (cairo_surface_t
      *surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_finish
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:240,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:241,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:243,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-svg.c:244,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - closure
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 245
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 245
    functionName: _cairo_boilerplate_svg_cleanup
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-svg.c
    functionUses: []
    functionsReached:
    - free
    - cairo_surface_finish
    - cairo_surface_destroy
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_boilerplate_svg_cleanup (void *closure) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - content
    argTypes:
    - cairo_content_t
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: cairo_boilerplate_content
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_content_t
    signature: 'cairo_content_t cairo_boilerplate_content (cairo_content_t content) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cairo_format_stride_for_width
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:179,1
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:182,1
    - Dst: cairo_surface_set_user_data
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:184,1
    - Dst: _cairo_malloc
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:180,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 187
    functionName: _cairo_boilerplate_image_create_similar
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate.c
    functionUses: []
    functionsReached:
    - _cairo_malloc
    - cairo_image_surface_create_for_data
    - cairo_surface_set_user_data
    - cairo_format_stride_for_width
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_boilerplate_image_create_similar (cairo_surface_t\
      \ *other,\t\t\t\t\t cairo_content_t content,\t\t\t\t\t int width, int height) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_reference
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:265,1
    - Dst: cairo_recording_surface_create
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:265,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 266
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 266
    functionName: _cairo_boilerplate_recording_create_surface
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate.c
    functionUses: []
    functionsReached:
    - cairo_surface_reference
    - cairo_recording_surface_create
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_boilerplate_recording_create_surface\
      \ (const char \t *name,\t\t\t\t\t cairo_content_t\t\tcontent,\t\t\t\t\t double\t\
      \t\twidth,\t\t\t\t\t double\t\t\theight,\t\t\t\t\t double\t\t\tmax_width,\t\t\
      \t\t\t double\t\t\tmax_height,\t\t\t\t\t cairo_boilerplate_mode_t\tmode,\t\t\
      \t\t\t void\t\t **closure) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cairo_script_surface_create_for_target
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:327,1
    - Dst: cairo_paint
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:337,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:341,1
    - Dst: cairo_get_target
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:342,1
    - Dst: cairo_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:344,1
    - Dst: cairo_boilerplate_surface_create_in_error
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:293,1
    - Dst: cairo_surface_get_content
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:309,1
    - Dst: cairo_surface_get_type
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:314,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:323,1
    - Dst: cairo_surface_get_user_data
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:317,1
    - Dst: xasprintf
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:325,1
    - Dst: cairo_device_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:328,1
    - Dst: cairo_surface_get_content
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:296,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:308,1
    - Dst: assert
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:309,1
    - Dst: cairo_surface_get_content
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:309,1
    - Dst: cairo_create
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:334,1
    - Dst: cairo_script_create
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:326,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:329,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:335,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:336,1
    - Dst: cairo_status
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:339,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:342,1
    - Dst: cairo_surface_status
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:289,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:290,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:310,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 347
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 347
    functionName: _cairo_boilerplate_get_image_surface
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate.c
    functionUses: []
    functionsReached:
    - xasprintf
    - cairo_get_target
    - cairo_surface_get_content
    - cairo_set_source_surface
    - cairo_surface_reference
    - cairo_surface_status
    - cairo_create
    - cairo_script_surface_create_for_target
    - cairo_status
    - cairo_boilerplate_surface_create_in_error
    - cairo_script_create
    - assert
    - cairo_destroy
    - cairo_surface_get_type
    - cairo_paint
    - cairo_device_destroy
    - free
    - cairo_surface_destroy
    - cairo_image_surface_create
    - cairo_surface_get_user_data
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *_cairo_boilerplate_get_image_surface (cairo_surface_t\
      \ *src,\t\t\t\t int\t page,\t\t\t\t int\t width,\t\t\t\t int\t height) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:907,1
    - Dst: memset
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:924,1
    - Dst: any2ppm_daemon_exists
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:915,1
    - Dst: system
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:916,1
    - Dst: socket
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:920,1
    - Dst: strcpy
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:926,1
    - Dst: connect
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:928,1
    - Dst: close
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:929,1
    - Dst: sprintf
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:933,1
    - Dst: write
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:934,1
    - Dst: close
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:935,1
    - Dst: fdopen
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:940,1
    - Dst: sprintf
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:946,1
    - Dst: popen
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:947,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 948
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 948
    functionName: cairo_boilerplate_open_any2ppm
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate.c
    functionUses: []
    functionsReached:
    - system
    - write
    - any2ppm_daemon_exists
    - getenv
    - socket
    - strcpy
    - close
    - fdopen
    - connect
    - popen
    - memset
    - sprintf
    linkageType: ''
    returnType: FILE*
    signature: "FILE *cairo_boilerplate_open_any2ppm (const char *filename,\t\t\t\t\
      int\t page,\t\t\t\tunsigned int flags,\t\t\t\tint (**close_cb) (FILE *)) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1086
      start: 1082
    functionDepth: 0
    functionLinenumber: 1082
    functionLinenumberEnd: 1086
    functionName: cairo_boilerplate_version
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int cairo_boilerplate_version (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cairo_boilerplate_content
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:76,1
    - Dst: assert
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:83,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 86
    functionName: cairo_boilerplate_content_name
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate.c
    functionUses: []
    functionsReached:
    - cairo_boilerplate_content
    - assert
    linkageType: ''
    returnType: char*
    signature: 'const char *cairo_boilerplate_content_name (cairo_content_t content) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:202,1
    - Dst: ceil
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:202,1
    - Dst: ceil
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:202,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 203
    functionName: _cairo_boilerplate_image16_create_surface
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate.c
    functionUses: []
    functionsReached:
    - cairo_image_surface_create
    - ceil
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_boilerplate_image16_create_surface\
      \ (const char\t\t *name,\t\t\t\t\t cairo_content_t\t content,\t\t\t\t\t double\t\
      \t width,\t\t\t\t\t double\t\t height,\t\t\t\t\t double\t\t max_width,\t\t\t\
      \t\t double\t\t max_height,\t\t\t\t\t cairo_boilerplate_mode_t mode,\t\t\t\t\
      \t void\t\t\t **closure) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_finish
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:271,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - closure
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: _cairo_boilerplate_recording_surface_cleanup
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate.c
    functionUses: []
    functionsReached:
    - cairo_surface_finish
    - cairo_surface_destroy
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_boilerplate_recording_surface_cleanup (void *closure) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_status
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:358,1
    - Dst: cairo_image_surface_get_format
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:365,1
    - Dst: cairo_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:381,1
    - Dst: cairo_image_surface_get_height
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:376,1
    - Dst: cairo_get_target
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:380,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:394,1
    - Dst: cairo_get_target
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:401,1
    - Dst: cairo_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:402,1
    - Dst: cairo_image_surface_create_from_png
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:357,1
    - Dst: cairo_paint
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:372,1
    - Dst: cairo_image_surface_get_width
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:375,1
    - Dst: cairo_paint
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:377,1
    - Dst: cairo_image_surface_get_height
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:383,1
    - Dst: cairo_image_surface_get_format
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:388,1
    - Dst: cairo_create
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:391,1
    - Dst: cairo_image_surface_get_height
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:396,1
    - Dst: cairo_set_operator
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:397,1
    - Dst: cairo_paint
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:398,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:365,1
    - Dst: cairo_create
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:368,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:379,1
    - Dst: cairo_image_surface_get_width
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:382,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:392,1
    - Dst: cairo_image_surface_get_width
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:395,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:400,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:369,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:371,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:374,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:388,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:380,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:401,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 406
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 406
    functionName: cairo_boilerplate_get_image_surface_from_png
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_image_surface_get_format
    - cairo_surface_reference
    - cairo_surface_status
    - cairo_create
    - cairo_surface_destroy
    - cairo_image_surface_get_height
    - cairo_image_surface_create
    - cairo_get_target
    - cairo_image_surface_create_from_png
    - cairo_set_source_rgb
    - cairo_destroy
    - cairo_image_surface_get_width
    - cairo_set_operator
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *cairo_boilerplate_get_image_surface_from_png (const\
      \ char *filename,\t\t\t\t\t int\t width,\t\t\t\t\t int\t height,\t\t\t\t\t cairo_bool_t\
      \ flatten) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:958,1
    - Dst: feof
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:960,1
    - Dst: ferror
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:960,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - len
    - file
    argTypes:
    - unsigned char*
    - int
    - FILE*
    constantsTouched: []
    func_position:
      end: 968
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 968
    functionName: freadn
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate.c
    functionUses: []
    functionsReached:
    - ferror
    - feof
    - fread
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t freadn (unsigned char *buf,\tint\t len,\tFILE\t\
      \ *file) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1088
    functionDepth: 0
    functionLinenumber: 1088
    functionLinenumberEnd: 1092
    functionName: cairo_boilerplate_version_string
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *cairo_boilerplate_version_string (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:1102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1105
      start: 1094
    functionDepth: 0
    functionLinenumber: 1094
    functionLinenumberEnd: 1105
    functionName: cairo_boilerplate_fini
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void cairo_boilerplate_fini (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:874,1
    - Dst: read
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:882,1
    - Dst: open
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:877,1
    - Dst: atoi
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:885,1
    - Dst: close
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:887,1
    - Dst: kill
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:889,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 890
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 890
    functionName: any2ppm_daemon_exists
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate.c
    functionUses: []
    functionsReached:
    - read
    - stat
    - close
    - open
    - kill
    - atoi
    linkageType: ''
    returnType: int
    signature: 'static int any2ppm_daemon_exists (void) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: fscanf
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:980,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:991,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:988,1
    - Dst: cairo_surface_status
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:996,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:985,1
    - Dst: cairo_image_surface_get_data
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:999,1
    - Dst: cairo_image_surface_get_stride
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:1000,1
    - Dst: freadn
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:1005,1
    - Dst: freadn
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:1009,1
    - Dst: freadn
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:1019,1
    - Dst: cairo_surface_mark_dirty
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:1024,1
    - Dst: cairo_boilerplate_surface_create_in_error
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:1030,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:1029,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 1031
    functionName: cairo_boilerplate_image_surface_create_from_ppm_stream
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate.c
    functionUses: []
    functionsReached:
    - cairo_image_surface_get_data
    - cairo_surface_mark_dirty
    - cairo_surface_status
    - cairo_surface_destroy
    - cairo_image_surface_create
    - fscanf
    - freadn
    - cairo_image_surface_get_stride
    - cairo_boilerplate_surface_create_in_error
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'cairo_surface_t *cairo_boilerplate_image_surface_create_from_ppm_stream
      (FILE *file) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:1043,1
    - Dst: cairo_boilerplate_surface_create_in_error
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:1054,1
    - Dst: cairo_boilerplate_surface_create_in_error
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:1052,1
    - Dst: cairo_boilerplate_image_surface_create_from_ppm_stream
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:1058,1
    - Dst: cairo_boilerplate_open_any2ppm
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:1048,1
    - Dst: close_cb
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:1059,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:1062,1
    - Dst: getenv
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:1063,1
    - Dst: cairo_boilerplate_surface_create_in_error
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:1064,1
    - Dst: cairo_boilerplate_surface_create_in_error
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:1066,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:1073,1
    - Dst: cairo_surface_status
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:1070,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1033
    functionDepth: 0
    functionLinenumber: 1033
    functionLinenumberEnd: 1080
    functionName: cairo_boilerplate_convert_to_image
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate.c
    functionUses: []
    functionsReached:
    - getenv
    - cairo_surface_status
    - cairo_boilerplate_image_surface_create_from_ppm_stream
    - cairo_surface_destroy
    - close_cb
    - cairo_boilerplate_open_any2ppm
    - cairo_boilerplate_surface_create_in_error
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *cairo_boilerplate_convert_to_image (const char *filename,\t\
      \t\t\t int \tpage) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:147,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:151,1
    - Dst: ceil
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:151,1
    - Dst: ceil
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:151,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 152
    functionName: _cairo_boilerplate_image_create_surface
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate.c
    functionUses: []
    functionsReached:
    - cairo_image_surface_create
    - ceil
    - assert
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_boilerplate_image_create_surface (const\
      \ char\t\t *name,\t\t\t\t\t cairo_content_t\t content,\t\t\t\t\t double \t\t\
      \ width,\t\t\t\t\t double \t\t height,\t\t\t\t\t double \t\t max_width,\t\t\t\
      \t\t double \t\t max_height,\t\t\t\t\t cairo_boilerplate_mode_t mode,\t\t\t\t\
      \t void\t\t\t **closure) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strpbrk
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:547,1
    - Dst: strncmp
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:561,1
    - Dst: strncmp
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:560,1
    - Dst: _cairo_isalnum
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:563,1
    - Dst: _cairo_boilerplate_content_visible_name
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:572,1
    - Dst: strlen
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:574,1
    - Dst: strncmp
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:576,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 26
    argCount: 3
    argNames:
    - target
    - tname
    - end
    argTypes:
    - cairo_boilerplate_target_t*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 580
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 580
    functionName: _cairo_boilerplate_target_matches_name
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate.c
    functionUses: []
    functionsReached:
    - _cairo_isalnum
    - strlen
    - strpbrk
    - _cairo_boilerplate_content_visible_name
    - strncmp
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _cairo_boilerplate_target_matches_name (const\
      \ cairo_boilerplate_target_t *target,\t\t\t\t\tconst char\t\t\t *tname,\t\t\t\
      \t\tconst char\t\t\t *end) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_boilerplate_register_all
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:783,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 794
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 794
    functionName: cairo_boilerplate_get_image_target
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate.c
    functionUses: []
    functionsReached:
    - _cairo_boilerplate_register_all
    linkageType: ''
    returnType: cairo_boilerplate_target_t*
    signature: 'const cairo_boilerplate_target_t *cairo_boilerplate_get_image_target
      (cairo_content_t content) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_boilerplate_register_all
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:593,1
    - Dst: strcmp
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:663,1
    - Dst: exit
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:673,1
    - Dst: strpbrk
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:692,1
    - Dst: xrealloc
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:725,1
    - Dst: strpbrk
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:623,1
    - Dst: fprintf
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:672,1
    - Dst: getenv
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:690,1
    - Dst: fprintf
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:667,1
    - Dst: fprintf
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:656,1
    - Dst: xmalloc
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:684,1
    - Dst: fprintf
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:654,1
    - Dst: _cairo_boilerplate_target_format_matches_name
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:697,1
    - Dst: strlen
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:747,1
    - Dst: strlen
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:606,1
    - Dst: getenv
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:621,1
    - Dst: _cairo_boilerplate_target_format_matches_name
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:628,1
    - Dst: xrealloc
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:643,1
    - Dst: fprintf
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:669,1
    - Dst: xrealloc
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:700,1
    - Dst: getenv
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:740,1
    - Dst: strpbrk
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:745,1
    - Dst: _cairo_boilerplate_target_matches_name
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:620,1
    - Dst: getenv
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:595,1
    - Dst: strpbrk
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:604,1
    - Dst: xrealloc
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:631,1
    - Dst: _cairo_boilerplate_target_matches_name
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:756,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 148
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 777
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 777
    functionName: cairo_boilerplate_get_targets
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate.c
    functionUses: []
    functionsReached:
    - _cairo_boilerplate_target_format_matches_name
    - getenv
    - strlen
    - fprintf
    - xmalloc
    - strpbrk
    - strcmp
    - _cairo_boilerplate_target_matches_name
    - xrealloc
    - _cairo_boilerplate_register_all
    - exit
    linkageType: ''
    returnType: cairo_boilerplate_target_t**
    signature: "const cairo_boilerplate_target_t **cairo_boilerplate_get_targets (int\t\
      \ *pnum_targets,\t\t\t cairo_bool_t *plimited_targets) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_boilerplate_register_all
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:803,1
    - Dst: strcmp
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:808,1
    - Dst: strcmp
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:818,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 823
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 823
    functionName: cairo_boilerplate_get_target_by_name
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate.c
    functionUses: []
    functionsReached:
    - strcmp
    - _cairo_boilerplate_register_all
    linkageType: ''
    returnType: cairo_boilerplate_target_t*
    signature: "const cairo_boilerplate_target_t *cairo_boilerplate_get_target_by_name\
      \ (const char *name,\t\t\t\t cairo_content_t content) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cairo_boilerplate_content
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:91,1
    - Dst: assert
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:99,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 102
    functionName: _cairo_boilerplate_content_visible_name
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate.c
    functionUses: []
    functionsReached:
    - cairo_boilerplate_content
    - assert
    linkageType: ''
    returnType: char*
    signature: 'static const char *_cairo_boilerplate_content_visible_name (cairo_content_t
      content) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cairo_format_stride_for_width
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:228,1
    - Dst: _cairo_malloc
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:229,1
    - Dst: cairo_image_surface_create_for_data
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:231,1
    - Dst: cairo_surface_set_user_data
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:233,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 236
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 236
    functionName: _cairo_boilerplate_image16_create_similar
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate.c
    functionUses: []
    functionsReached:
    - _cairo_malloc
    - cairo_image_surface_create_for_data
    - cairo_surface_set_user_data
    - cairo_format_stride_for_width
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_boilerplate_image16_create_similar\
      \ (cairo_surface_t *other,\t\t\t\t\t cairo_content_t content,\t\t\t\t\t int\
      \ width, int height) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: probe_target
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:509,1
    - Dst: xmalloc
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:512,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - targets
    - count
    argTypes:
    - cairo_boilerplate_target_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 517
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 517
    functionName: _cairo_boilerplate_register_backend
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate.c
    functionUses: []
    functionsReached:
    - probe_target
    - xmalloc
    linkageType: ''
    returnType: void
    signature: "void _cairo_boilerplate_register_backend (const cairo_boilerplate_target_t\
      \ *targets,\t\t\t\t unsigned int\t\t count) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:828,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - targets
    argTypes:
    - cairo_boilerplate_target_t**
    constantsTouched: []
    func_position:
      end: 829
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 829
    functionName: cairo_boilerplate_free_targets
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void cairo_boilerplate_free_targets (const cairo_boilerplate_target_t
      **targets) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - scaled_font
    - max_glyphs
    argTypes:
    - cairo_scaled_font_t*
    - int
    constantsTouched: []
    func_position:
      end: 862
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 862
    functionName: cairo_boilerplate_scaled_font_set_max_glyphs_cached
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void cairo_boilerplate_scaled_font_set_max_glyphs_cached (cairo_scaled_font_t\
      \ *scaled_font,\t\t\t\t\t\t int\t\t max_glyphs) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:120,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - content
    argTypes:
    - cairo_content_t
    constantsTouched: []
    func_position:
      end: 126
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 126
    functionName: cairo_boilerplate_format_from_content
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: cairo_format_t
    signature: 'cairo_format_t cairo_boilerplate_format_from_content (cairo_content_t
      content) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xasprintf
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:243,1
    - Dst: pixman_version_string
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 246
    functionName: _cairo_boilerplate_image_describe
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate.c
    functionUses: []
    functionsReached:
    - xasprintf
    - pixman_version_string
    linkageType: ''
    returnType: char*
    signature: 'static char *_cairo_boilerplate_image_describe (void *closure) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dlsym
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:494,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - target
    argTypes:
    - cairo_boilerplate_target_t*
    constantsTouched: []
    func_position:
      end: 498
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 498
    functionName: probe_target
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate.c
    functionUses: []
    functionsReached:
    - dlsym
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t probe_target (const cairo_boilerplate_target_t
      *target) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_boilerplate_content_visible_name
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:528,1
    - Dst: strncmp
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:535,1
    - Dst: strlen
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:532,1
    - Dst: strlen
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:533,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 3
    argNames:
    - target
    - tcontent_name
    - tcontent_end
    argTypes:
    - cairo_boilerplate_target_t*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 539
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 539
    functionName: _cairo_boilerplate_target_format_matches_name
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate.c
    functionUses: []
    functionsReached:
    - strncmp
    - strlen
    - _cairo_boilerplate_content_visible_name
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _cairo_boilerplate_target_format_matches_name\
      \ (const cairo_boilerplate_target_t *target,\t\t\t\t\tconst char *tcontent_name,\t\
      \t\t\t\tconst char *tcontent_end) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:842,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:844,1
    - Dst: cairo_create
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:843,1
    - Dst: cairo_append_path
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:847,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:849,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:850,1
    - Dst: cairo_get_target
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:850,1
    - Dst: cairo_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:851,1
    - Dst: cairo_surface_status
      Src: /src/cairo/boilerplate/cairo-boilerplate.c:852,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 855
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 855
    functionName: cairo_boilerplate_surface_create_in_error
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate.c
    functionUses: []
    functionsReached:
    - cairo_surface_reference
    - cairo_surface_status
    - cairo_create
    - cairo_append_path
    - cairo_surface_destroy
    - cairo_image_surface_create
    - cairo_get_target
    - cairo_destroy
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'cairo_surface_t *cairo_boilerplate_surface_create_in_error (cairo_status_t
      status) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dlsym
      Src: /src/cairo/boilerplate/cairo-boilerplate-quartz.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 62
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 62
    functionName: quartz_ensure_symbols
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-quartz.c
    functionUses: []
    functionsReached:
    - dlsym
    linkageType: ''
    returnType: void
    signature: 'static void quartz_ensure_symbols (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_boilerplate_format_from_content
      Src: /src/cairo/boilerplate/cairo-boilerplate-quartz.c:76,1
    - Dst: cairo_quartz_surface_create
      Src: /src/cairo/boilerplate/cairo-boilerplate-quartz.c:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 81
    functionName: _cairo_boilerplate_quartz_create_surface
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-quartz.c
    functionUses: []
    functionsReached:
    - cairo_boilerplate_format_from_content
    - cairo_quartz_surface_create
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_boilerplate_quartz_create_surface (const\
      \ char\t\t *name,\t\t\t\t\t cairo_content_t\t content,\t\t\t\t\t double\t\t\
      \ width,\t\t\t\t\t double\t\t height,\t\t\t\t\t double\t\t max_width,\t\t\t\t\
      \t double\t\t max_height,\t\t\t\t\t cairo_boilerplate_mode_t mode,\t\t\t\t\t\
      \ void\t\t\t **closure) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: quartz_ensure_symbols
      Src: /src/cairo/boilerplate/cairo-boilerplate-quartz.c:86,1
    - Dst: CGBitmapContextGetBitsPerPixel
      Src: /src/cairo/boilerplate/cairo-boilerplate-quartz.c:92,1
    - Dst: likely
      Src: /src/cairo/boilerplate/cairo-boilerplate-quartz.c:88,1
    - Dst: CGContextGetTypePtr
      Src: /src/cairo/boilerplate/cairo-boilerplate-quartz.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - context
    argTypes:
    - CGContextRef
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 93
    functionName: cg_context_is_bitmap
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-quartz.c
    functionUses: []
    functionsReached:
    - CGBitmapContextGetBitsPerPixel
    - likely
    - CGContextGetTypePtr
    - quartz_ensure_symbols
    linkageType: ''
    returnType: bool
    signature: 'static bool cg_context_is_bitmap (CGContextRef context) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_quartz_surface_get_cg_context
      Src: /src/cairo/boilerplate/cairo-boilerplate-quartz.c:99,1
    - Dst: cg_context_is_bitmap
      Src: /src/cairo/boilerplate/cairo-boilerplate-quartz.c:100,1
    - Dst: CFSTR
      Src: /src/cairo/boilerplate/cairo-boilerplate-quartz.c:105,1
    - Dst: CGBitmapContextCreateImage
      Src: /src/cairo/boilerplate/cairo-boilerplate-quartz.c:104,1
    - Dst: CFStringCreateWithCString
      Src: /src/cairo/boilerplate/cairo-boilerplate-quartz.c:111,1
    - Dst: CFURLCreateWithFileSystemPath
      Src: /src/cairo/boilerplate/cairo-boilerplate-quartz.c:112,1
    - Dst: CGImageDestinationCreateWithURL
      Src: /src/cairo/boilerplate/cairo-boilerplate-quartz.c:113,1
    - Dst: CGImageDestinationAddImage
      Src: /src/cairo/boilerplate/cairo-boilerplate-quartz.c:115,1
    - Dst: CGImageDestinationFinalize
      Src: /src/cairo/boilerplate/cairo-boilerplate-quartz.c:116,1
    - Dst: CFRelease
      Src: /src/cairo/boilerplate/cairo-boilerplate-quartz.c:118,1
    - Dst: CFRelease
      Src: /src/cairo/boilerplate/cairo-boilerplate-quartz.c:119,1
    - Dst: CGImageRelease
      Src: /src/cairo/boilerplate/cairo-boilerplate-quartz.c:121,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - surface
    - dest
    argTypes:
    - cairo_surface_t*
    - char*
    constantsTouched: []
    func_position:
      end: 123
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 123
    functionName: _cairo_boilerplate_quartz_surface_to_png
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-quartz.c
    functionUses: []
    functionsReached:
    - CGBitmapContextCreateImage
    - CFRelease
    - CGImageDestinationCreateWithURL
    - cairo_quartz_surface_get_cg_context
    - CGImageDestinationAddImage
    - CGImageDestinationFinalize
    - CFStringCreateWithCString
    - cg_context_is_bitmap
    - CFURLCreateWithFileSystemPath
    - CGImageRelease
    - CFSTR
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_boilerplate_quartz_surface_to_png (cairo_surface_t
      *surface, const char *dest) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 66
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 66
    functionName: increment_index
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-getopt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void increment_index(void) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cairo/boilerplate/cairo-boilerplate-getopt.c:117,1
    - Dst: increment_index
      Src: /src/cairo/boilerplate/cairo-boilerplate-getopt.c:136,1
    - Dst: strcmp
      Src: /src/cairo/boilerplate/cairo-boilerplate-getopt.c:129,1
    - Dst: getenv
      Src: /src/cairo/boilerplate/cairo-boilerplate-getopt.c:139,1
    - Dst: increment_index
      Src: /src/cairo/boilerplate/cairo-boilerplate-getopt.c:120,1
    - Dst: permute_argv_once
      Src: /src/cairo/boilerplate/cairo-boilerplate-getopt.c:149,1
    - Dst: strchr
      Src: /src/cairo/boilerplate/cairo-boilerplate-getopt.c:162,1
    - Dst: strchr
      Src: /src/cairo/boilerplate/cairo-boilerplate-getopt.c:163,1
    - Dst: fprintf
      Src: /src/cairo/boilerplate/cairo-boilerplate-getopt.c:169,1
    - Dst: increment_index
      Src: /src/cairo/boilerplate/cairo-boilerplate-getopt.c:176,1
    - Dst: increment_index
      Src: /src/cairo/boilerplate/cairo-boilerplate-getopt.c:199,1
    - Dst: fprintf
      Src: /src/cairo/boilerplate/cairo-boilerplate-getopt.c:215,1
    - Dst: increment_index
      Src: /src/cairo/boilerplate/cairo-boilerplate-getopt.c:226,1
    - Dst: increment_index
      Src: /src/cairo/boilerplate/cairo-boilerplate-getopt.c:204,1
    - Dst: increment_index
      Src: /src/cairo/boilerplate/cairo-boilerplate-getopt.c:185,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 96
    argCount: 3
    argNames:
    - argc
    - argv
    - optstr
    argTypes:
    - int
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 242
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 242
    functionName: _cairo_getopt
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-getopt.c
    functionUses: []
    functionsReached:
    - getenv
    - fprintf
    - permute_argv_once
    - strcmp
    - strchr
    - increment_index
    linkageType: ''
    returnType: int
    signature: 'int _cairo_getopt(int argc, char** argv, const char* optstr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/cairo/boilerplate/cairo-boilerplate-getopt.c:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 90
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 90
    functionName: permute_argv_once
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-getopt.c
    functionUses: []
    functionsReached:
    - memmove
    linkageType: ''
    returnType: int
    signature: 'static int permute_argv_once(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:53,1
    - Dst: fprintf
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:61,1
    - Dst: fprintf
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:67,1
    - Dst: xcb_poll_for_event
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:54,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:71,1
    - Dst: xcb_poll_for_event
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:74,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:75,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - xtc
    argTypes:
    - xcb_target_closure_t*
    constantsTouched: []
    func_position:
      end: 81
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 81
    functionName: _cairo_boilerplate_xcb_handle_errors
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-xcb.c
    functionUses: []
    functionsReached:
    - free
    - xcb_poll_for_event
    - fprintf
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_boilerplate_xcb_handle_errors (xcb_target_closure_t
      *xtc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_xcb_device_debug_set_precision
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:97,1
    - Dst: cairo_surface_get_device
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 99
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 99
    functionName: _cairo_boilerplate_xcb_setup_test_surface
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-xcb.c
    functionUses: []
    functionsReached:
    - cairo_xcb_device_debug_set_precision
    - cairo_surface_get_device
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_boilerplate_xcb_setup_test_surface (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:133,1
    - Dst: xcb_get_image
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:134,1
    - Dst: _cairo_boilerplate_xcb_handle_errors
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:138,1
    - Dst: assert
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:139,1
    - Dst: xcb_get_image_reply
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - closure
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 140
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 140
    functionName: _cairo_boilerplate_xcb_synchronize
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-xcb.c
    functionUses: []
    functionsReached:
    - free
    - assert
    - xcb_get_image_reply
    - xcb_get_image
    - _cairo_boilerplate_xcb_handle_errors
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_boilerplate_xcb_synchronize (void *closure) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: xcalloc
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:270,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:280,1
    - Dst: xcb_get_setup
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:284,1
    - Dst: xcb_disconnect
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:301,1
    - Dst: xcb_render_query_pict_formats_reply
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:318,1
    - Dst: xcb_disconnect
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:320,1
    - Dst: xcb_connect
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:277,1
    - Dst: xcb_setup_roots_iterator
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:284,1
    - Dst: xcb_generate_id
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:289,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:313,1
    - Dst: xcb_create_pixmap_checked
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:306,1
    - Dst: xcb_disconnect
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:312,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:302,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:322,1
    - Dst: assert
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:345,1
    - Dst: cairo_device_set_user_data
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:369,1
    - Dst: cairo_surface_get_device
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:373,1
    - Dst: cairo_boilerplate_surface_create_in_error
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:381,1
    - Dst: xcb_connection_has_error
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:278,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:279,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:321,1
    - Dst: xcb_render_query_pict_formats_formats_iterator
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:326,1
    - Dst: xcb_render_pictforminfo_next
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:328,1
    - Dst: cairo_surface_get_device
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:368,1
    - Dst: cairo_surface_get_device
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:369,1
    - Dst: cairo_surface_set_user_data
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:374,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:378,1
    - Dst: _cairo_boilerplate_xcb_cleanup
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:380,1
    - Dst: xmalloc
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:269,1
    - Dst: xcb_render_query_pict_formats
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:285,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:314,1
    - Dst: xcb_request_check
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:311,1
    - Dst: assert
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:346,1
    - Dst: assert
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:347,1
    - Dst: cairo_xcb_surface_create_with_xrender_format
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:364,1
    - Dst: cairo_device_set_user_data
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:368,1
    - Dst: _cairo_boilerplate_xcb_setup_test_surface
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:371,1
    - Dst: cairo_device_reference
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:373,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 89
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 382
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 382
    functionName: _cairo_boilerplate_xcb_create_surface
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-xcb.c
    functionUses: []
    functionsReached:
    - cairo_device_set_user_data
    - xcb_render_query_pict_formats
    - _cairo_boilerplate_xcb_setup_test_surface
    - cairo_surface_set_user_data
    - xcb_render_pictforminfo_next
    - xcb_get_setup
    - cairo_device_reference
    - xcalloc
    - _cairo_boilerplate_xcb_cleanup
    - xcb_render_query_pict_formats_reply
    - cairo_boilerplate_surface_create_in_error
    - xcb_create_pixmap_checked
    - xcb_disconnect
    - assert
    - cairo_xcb_surface_create_with_xrender_format
    - cairo_surface_get_device
    - xcb_generate_id
    - xcb_setup_roots_iterator
    - xmalloc
    - free
    - xcb_render_query_pict_formats_formats_iterator
    - cairo_surface_destroy
    - xcb_connect
    - xcb_request_check
    - xcb_connection_has_error
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_boilerplate_xcb_create_surface (const\
      \ char\t\t *name,\t\t\t\t cairo_content_t\t\t content,\t\t\t\t double\t\t\t\
      \ width,\t\t\t\t double\t\t\t height,\t\t\t\t double\t\t\t max_width,\t\t\t\t\
      \ double\t\t\t max_height,\t\t\t\t cairo_boilerplate_mode_t mode,\t\t\t\t void\t\
      \t\t**closure) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:438,1
    - Dst: xcb_generate_id
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:443,1
    - Dst: xcb_map_window
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:453,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:472,1
    - Dst: cairo_boilerplate_surface_create_in_error
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:475,1
    - Dst: xcb_setup_roots_iterator
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:435,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:429,1
    - Dst: xcb_connect
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:427,1
    - Dst: xcb_disconnect
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:457,1
    - Dst: cairo_surface_get_device
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:467,1
    - Dst: xmalloc
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:420,1
    - Dst: xcb_connection_has_error
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:428,1
    - Dst: xcb_disconnect
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:437,1
    - Dst: cairo_surface_set_user_data
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:468,1
    - Dst: xcb_get_setup
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:435,1
    - Dst: xcb_create_window_checked
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:444,1
    - Dst: xcb_request_check
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:456,1
    - Dst: cairo_xcb_surface_create
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:462,1
    - Dst: lookup_visual
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:464,1
    - Dst: cairo_device_reference
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:467,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:458,1
    - Dst: _cairo_boilerplate_xcb_cleanup
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:474,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 476
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 476
    functionName: _cairo_boilerplate_xcb_create_window
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-xcb.c
    functionUses: []
    functionsReached:
    - lookup_visual
    - xcb_create_window_checked
    - cairo_surface_set_user_data
    - xcb_get_setup
    - cairo_device_reference
    - _cairo_boilerplate_xcb_cleanup
    - xcb_map_window
    - cairo_boilerplate_surface_create_in_error
    - cairo_xcb_surface_create
    - xcb_disconnect
    - cairo_surface_get_device
    - xcb_generate_id
    - xcb_setup_roots_iterator
    - xmalloc
    - free
    - cairo_surface_destroy
    - xcb_connect
    - xcb_request_check
    - xcb_connection_has_error
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_boilerplate_xcb_create_window (const\
      \ char\t\t*name,\t\t\t\t cairo_content_t\t\t content,\t\t\t\t double\t\t\t width,\t\
      \t\t\t double\t\t\t height,\t\t\t\t double\t\t\t max_width,\t\t\t\t double\t\
      \t\t max_height,\t\t\t\t cairo_boilerplate_mode_t\t mode,\t\t\t\t void\t\t **closure) "
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:575,1
    - Dst: xcb_create_pixmap_checked
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:603,1
    - Dst: xcb_flush
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:621,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:626,1
    - Dst: xcb_disconnect
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:636,1
    - Dst: _cairo_boilerplate_xcb_cleanup
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:652,1
    - Dst: xcb_connect
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:582,1
    - Dst: xcb_setup_roots_iterator
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:588,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:584,1
    - Dst: xcb_generate_id
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:592,1
    - Dst: xcb_request_check
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:616,1
    - Dst: xcb_disconnect
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:617,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:634,1
    - Dst: cairo_surface_get_device
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:641,1
    - Dst: assert
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:644,1
    - Dst: cairo_surface_set_user_data
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:646,1
    - Dst: xcb_connection_has_error
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:583,1
    - Dst: xcb_create_pixmap_checked
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:596,1
    - Dst: xcb_disconnect
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:610,1
    - Dst: cairo_xcb_surface_create_with_xrender_format
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:630,1
    - Dst: xcb_disconnect
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:625,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:637,1
    - Dst: cairo_xcb_device_debug_cap_xrender_version
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:642,1
    - Dst: cairo_surface_get_device
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:644,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:650,1
    - Dst: xcb_get_setup
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:588,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:611,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:618,1
    - Dst: find_depth
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:623,1
    - Dst: cairo_surface_status
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:635,1
    - Dst: cairo_device_reference
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:641,1
    - Dst: cairo_boilerplate_surface_create_in_error
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:653,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 654
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 654
    functionName: _cairo_boilerplate_xcb_create_render_0_0
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-xcb.c
    functionUses: []
    functionsReached:
    - xcb_flush
    - find_depth
    - cairo_surface_set_user_data
    - xcb_get_setup
    - cairo_surface_status
    - cairo_device_reference
    - _cairo_boilerplate_xcb_cleanup
    - cairo_xcb_device_debug_cap_xrender_version
    - cairo_boilerplate_surface_create_in_error
    - xcb_create_pixmap_checked
    - xcb_disconnect
    - assert
    - cairo_xcb_surface_create_with_xrender_format
    - cairo_surface_get_device
    - xcb_generate_id
    - xcb_setup_roots_iterator
    - xmalloc
    - free
    - cairo_surface_destroy
    - xcb_connect
    - xcb_request_check
    - xcb_connection_has_error
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_boilerplate_xcb_create_render_0_0 (const\
      \ char\t\t *name,\t\t\t\t\t cairo_content_t\t content,\t\t\t\t\t double\t\t\
      \ width,\t\t\t\t\t double\t\t height,\t\t\t\t\t double\t\t max_width,\t\t\t\t\
      \t double\t\t max_height,\t\t\t\t\t cairo_boilerplate_mode_t mode,\t\t\t\t\t\
      \ void\t\t\t **closure) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_get_user_data
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:742,1
    - Dst: cairo_set_operator
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:751,1
    - Dst: cairo_create
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:749,1
    - Dst: cairo_paint
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:752,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:750,1
    - Dst: cairo_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:753,1
    - Dst: cairo_surface_flush
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:758,1
    - Dst: cairo_surface_status
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:759,1
    - Dst: cairo_surface_status
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:760,1
    - Dst: _cairo_boilerplate_xcb_sync_server
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:764,1
    - Dst: xcb_connection_has_error
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:769,1
    - Dst: _cairo_boilerplate_xcb_handle_errors
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:765,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 773
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 773
    functionName: _cairo_boilerplate_xcb_finish_surface
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-xcb.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_surface_flush
    - cairo_surface_status
    - cairo_create
    - xcb_connection_has_error
    - _cairo_boilerplate_xcb_handle_errors
    - cairo_set_operator
    - _cairo_boilerplate_xcb_sync_server
    - cairo_destroy
    - cairo_surface_get_user_data
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_boilerplate_xcb_finish_surface (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:86,1
    - Dst: xcb_get_input_focus
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:87,1
    - Dst: xcb_get_input_focus_reply
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - xtc
    argTypes:
    - xcb_target_closure_t*
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: _cairo_boilerplate_xcb_sync_server
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-xcb.c
    functionUses: []
    functionsReached:
    - xcb_get_input_focus
    - free
    - xcb_get_input_focus_reply
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_boilerplate_xcb_sync_server (xcb_target_closure_t
      *xtc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_finish
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:107,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:112,1
    - Dst: cairo_device_finish
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:114,1
    - Dst: xcb_free_pixmap
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:109,1
    - Dst: xcb_destroy_window
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:111,1
    - Dst: cairo_device_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:115,1
    - Dst: _cairo_boilerplate_xcb_sync_server
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:119,1
    - Dst: _cairo_boilerplate_xcb_handle_errors
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:120,1
    - Dst: assert
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:121,1
    - Dst: xcb_disconnect
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:123,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - closure
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 126
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 126
    functionName: _cairo_boilerplate_xcb_cleanup
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-xcb.c
    functionUses: []
    functionsReached:
    - xcb_free_pixmap
    - cairo_device_destroy
    - cairo_surface_finish
    - free
    - xcb_disconnect
    - cairo_surface_destroy
    - assert
    - _cairo_boilerplate_xcb_handle_errors
    - cairo_device_finish
    - _cairo_boilerplate_xcb_sync_server
    - xcb_destroy_window
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_boilerplate_xcb_cleanup (void *closure) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xcb_render_query_pict_formats
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:151,1
    - Dst: xcb_render_query_pict_formats_formats_iterator
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:158,1
    - Dst: xcb_flush
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:152,1
    - Dst: xcb_render_pictforminfo_next
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:160,1
    - Dst: xcb_render_query_pict_formats_reply
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:154,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:172,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 174
    functionName: find_depth
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-xcb.c
    functionUses: []
    functionsReached:
    - xcb_flush
    - xcb_render_pictforminfo_next
    - free
    - xcb_render_query_pict_formats_formats_iterator
    - xcb_render_query_pict_formats
    - xcb_render_query_pict_formats_reply
    linkageType: ''
    returnType: xcb_render_pictforminfo_t*
    signature: "static xcb_render_pictforminfo_t *find_depth (xcb_connection_t *connection,\t\
      \ int \t depth,\t void\t **formats_out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xcb_free_pixmap
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:188,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:189,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - closure
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: _destroy_similar
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-xcb.c
    functionUses: []
    functionsReached:
    - xcb_free_pixmap
    - free
    linkageType: ''
    returnType: void
    signature: 'static void _destroy_similar (void *closure) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_get_device
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:202,1
    - Dst: cairo_surface_get_device
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:229,1
    - Dst: cairo_xcb_device_get_connection
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:229,1
    - Dst: cairo_device_get_user_data
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:203,1
    - Dst: _cairo_malloc
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:210,1
    - Dst: xcb_generate_id
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:230,1
    - Dst: xcb_setup_roots_iterator
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:232,1
    - Dst: xcb_get_setup
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:232,1
    - Dst: xcb_create_pixmap
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:233,1
    - Dst: cairo_xcb_surface_create_with_xrender_format
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:237,1
    - Dst: cairo_surface_set_user_data
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:242,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 245
    functionName: _cairo_boilerplate_xcb_create_similar
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-xcb.c
    functionUses: []
    functionsReached:
    - _cairo_malloc
    - cairo_xcb_device_get_connection
    - xcb_setup_roots_iterator
    - cairo_device_get_user_data
    - cairo_surface_set_user_data
    - xcb_get_setup
    - xcb_create_pixmap
    - cairo_xcb_surface_create_with_xrender_format
    - cairo_surface_get_device
    - xcb_generate_id
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_boilerplate_xcb_create_similar (cairo_surface_t\
      \ *other,\t\t\t\t cairo_content_t content,\t\t\t\t int width, int height) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xcb_screen_allowed_depths_iterator
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:390,1
    - Dst: xcb_depth_visuals_iterator
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:392,1
    - Dst: xcb_visualtype_next
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:393,1
    - Dst: xcb_depth_next
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:391,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 400
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 400
    functionName: lookup_visual
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-xcb.c
    functionUses: []
    functionsReached:
    - xcb_depth_visuals_iterator
    - xcb_depth_next
    - xcb_screen_allowed_depths_iterator
    - xcb_visualtype_next
    linkageType: ''
    returnType: xcb_visualtype_t*
    signature: "static xcb_visualtype_t *lookup_visual (xcb_screen_t *s,\t xcb_visualid_t\
      \ visual) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: xcb_get_setup
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:511,1
    - Dst: xcb_generate_id
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:519,1
    - Dst: xcb_create_window_checked
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:520,1
    - Dst: lookup_visual
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:540,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:534,1
    - Dst: cairo_surface_get_device
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:544,1
    - Dst: xcb_request_check
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:532,1
    - Dst: _cairo_boilerplate_xcb_cleanup
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:551,1
    - Dst: xcb_map_window
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:529,1
    - Dst: cairo_xcb_surface_create
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:538,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:549,1
    - Dst: cairo_boilerplate_surface_create_in_error
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:552,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:505,1
    - Dst: xcb_setup_roots_iterator
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:511,1
    - Dst: xcb_connect
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:503,1
    - Dst: cairo_device_reference
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:544,1
    - Dst: xcb_disconnect
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:533,1
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:542,1
    - Dst: xmalloc
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:496,1
    - Dst: xcb_connection_has_error
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:504,1
    - Dst: xcb_disconnect
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:513,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:514,1
    - Dst: cairo_surface_set_user_data
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:545,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 553
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 553
    functionName: _cairo_boilerplate_xcb_create_window_db
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-xcb.c
    functionUses: []
    functionsReached:
    - lookup_visual
    - cairo_surface_create_similar
    - xcb_create_window_checked
    - cairo_surface_set_user_data
    - xcb_get_setup
    - cairo_device_reference
    - _cairo_boilerplate_xcb_cleanup
    - xcb_map_window
    - cairo_boilerplate_surface_create_in_error
    - cairo_xcb_surface_create
    - xcb_disconnect
    - cairo_surface_get_device
    - xcb_generate_id
    - xcb_setup_roots_iterator
    - xmalloc
    - free
    - cairo_surface_destroy
    - xcb_connect
    - xcb_request_check
    - xcb_connection_has_error
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_boilerplate_xcb_create_window_db (const\
      \ char\t\t *name,\t\t\t\t\t cairo_content_t\t content,\t\t\t\t\t double \t\t\
      \ width,\t\t\t\t\t double \t\t height,\t\t\t\t\t double \t\t max_width,\t\t\t\
      \t\t double \t\t max_height,\t\t\t\t\t cairo_boilerplate_mode_t mode,\t\t\t\t\
      \t void\t\t\t **closure) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: xcb_connection_has_error
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:682,1
    - Dst: xcb_generate_id
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:696,1
    - Dst: xcb_map_window
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:706,1
    - Dst: xcb_disconnect
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:720,1
    - Dst: cairo_xcb_device_debug_cap_xrender_version
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:725,1
    - Dst: cairo_device_reference
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:728,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:733,1
    - Dst: cairo_boilerplate_surface_create_in_error
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:736,1
    - Dst: xcb_connect
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:681,1
    - Dst: xcb_get_setup
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:687,1
    - Dst: xcb_disconnect
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:689,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:711,1
    - Dst: cairo_surface_status
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:719,1
    - Dst: lookup_visual
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:717,1
    - Dst: cairo_xcb_surface_create
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:715,1
    - Dst: xcb_disconnect
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:710,1
    - Dst: cairo_surface_get_device
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:728,1
    - Dst: xmalloc
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:674,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:721,1
    - Dst: cairo_surface_set_user_data
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:729,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:683,1
    - Dst: xcb_setup_roots_iterator
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:687,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:690,1
    - Dst: xcb_create_window_checked
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:697,1
    - Dst: xcb_request_check
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:709,1
    - Dst: cairo_surface_get_device
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:725,1
    - Dst: _cairo_boilerplate_xcb_cleanup
      Src: /src/cairo/boilerplate/cairo-boilerplate-xcb.c:735,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 737
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 737
    functionName: _cairo_boilerplate_xcb_create_fallback
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-xcb.c
    functionUses: []
    functionsReached:
    - lookup_visual
    - xcb_create_window_checked
    - cairo_surface_set_user_data
    - xcb_get_setup
    - cairo_surface_status
    - cairo_device_reference
    - _cairo_boilerplate_xcb_cleanup
    - xcb_map_window
    - cairo_xcb_device_debug_cap_xrender_version
    - cairo_boilerplate_surface_create_in_error
    - cairo_xcb_surface_create
    - xcb_disconnect
    - cairo_surface_get_device
    - xcb_generate_id
    - xcb_setup_roots_iterator
    - xmalloc
    - free
    - cairo_surface_destroy
    - xcb_connect
    - xcb_request_check
    - xcb_connection_has_error
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_boilerplate_xcb_create_fallback (const\
      \ char\t\t *name,\t\t\t\t\tcairo_content_t \t content,\t\t\t\t\tdouble\t\t\t\
      \ width,\t\t\t\t\tdouble\t\t\t height,\t\t\t\t\tdouble\t\t\t max_width,\t\t\t\
      \t\tdouble\t\t\t max_height,\t\t\t\t\tcairo_boilerplate_mode_t mode,\t\t\t\t\
      \tvoid\t\t\t **closure) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:74,1
    - Dst: xasprintf
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:79,1
    - Dst: xunlink
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:80,1
    - Dst: ceil
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:77,1
    - Dst: ceil
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:76,1
    - Dst: cairo_pdf_surface_create
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:82,1
    - Dst: cairo_surface_status
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:83,1
    - Dst: cairo_pdf_surface_set_metadata
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:86,1
    - Dst: cairo_surface_set_fallback_resolution
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:87,1
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:91,1
    - Dst: cairo_surface_set_user_data
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:100,1
    - Dst: cairo_boilerplate_surface_create_in_error
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:105,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:108,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:111,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:104,1
    - Dst: cairo_surface_status
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:94,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:110,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 113
    functionName: _cairo_boilerplate_pdf_create_surface
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-pdf.c
    functionUses: []
    functionsReached:
    - cairo_boilerplate_surface_create_in_error
    - cairo_surface_set_user_data
    - xmalloc
    - free
    - xasprintf
    - cairo_surface_status
    - cairo_surface_set_fallback_resolution
    - cairo_pdf_surface_create
    - cairo_surface_destroy
    - cairo_pdf_surface_set_metadata
    - xunlink
    - cairo_surface_create_similar
    - ceil
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_boilerplate_pdf_create_surface (const\
      \ char\t\t *name,\t\t\t\t cairo_content_t\t\t content,\t\t\t\t double\t\t\t\
      \ width,\t\t\t\t double\t\t\t height,\t\t\t\t double\t\t\t max_width,\t\t\t\t\
      \ double\t\t\t max_height,\t\t\t\t cairo_boilerplate_mode_t mode,\t\t\t\t void\t\
      \t\t**closure) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_get_user_data
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:169,1
    - Dst: system
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:176,1
    - Dst: raise
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:179,1
    - Dst: WIFSIGNALED
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:178,1
    - Dst: sprintf
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:173,1
    - Dst: WTERMSIG
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:179,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - surface
    - filename
    argTypes:
    - cairo_surface_t*
    - char*
    constantsTouched: []
    func_position:
      end: 185
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 185
    functionName: _cairo_boilerplate_pdf_surface_write_to_png
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-pdf.c
    functionUses: []
    functionsReached:
    - system
    - WTERMSIG
    - raise
    - cairo_surface_get_user_data
    - WIFSIGNALED
    - sprintf
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _cairo_boilerplate_pdf_surface_write_to_png\
      \ (cairo_surface_t *surface,\t\t\t\t\t const char *filename) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_boilerplate_pdf_convert_to_image
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:207,1
    - Dst: cairo_surface_get_device_scale
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:209,1
    - Dst: cairo_surface_set_device_scale
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:211,1
    - Dst: cairo_surface_get_device_offset
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:208,1
    - Dst: cairo_surface_set_device_offset
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:210,1
    - Dst: _cairo_boilerplate_get_image_surface
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:212,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:213,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 216
    functionName: _cairo_boilerplate_pdf_get_image_surface
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-pdf.c
    functionUses: []
    functionsReached:
    - cairo_surface_get_device_scale
    - cairo_surface_get_device_offset
    - cairo_surface_destroy
    - cairo_surface_set_device_scale
    - cairo_surface_set_device_offset
    - _cairo_boilerplate_pdf_convert_to_image
    - _cairo_boilerplate_get_image_surface
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_boilerplate_pdf_get_image_surface (cairo_surface_t\
      \ *surface,\t\t\t\t\t int\t\t page,\t\t\t\t\t int\t\t width,\t\t\t\t\t int\t\
      \t height) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_get_user_data
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:235,1
    - Dst: cairo_surface_set_fallback_resolution
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:247,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - abstract_surface
    - x_pixels_per_inch
    - y_pixels_per_inch
    argTypes:
    - cairo_surface_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 250
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 250
    functionName: _cairo_boilerplate_pdf_force_fallbacks
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-pdf.c
    functionUses: []
    functionsReached:
    - cairo_surface_set_fallback_resolution
    - cairo_surface_get_user_data
    linkageType: ''
    returnType: void
    signature: "static void _cairo_boilerplate_pdf_force_fallbacks (cairo_surface_t\
      \ *abstract_surface,\t\t\t\t double\t\t x_pixels_per_inch,\t\t\t\t double\t\t\
      \ y_pixels_per_inch) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_get_user_data
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:191,1
    - Dst: cairo_boilerplate_convert_to_image
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:194,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 195
    functionName: _cairo_boilerplate_pdf_convert_to_image
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-pdf.c
    functionUses: []
    functionsReached:
    - cairo_boilerplate_convert_to_image
    - cairo_surface_get_user_data
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_boilerplate_pdf_convert_to_image (cairo_surface_t\
      \ *surface,\t\t\t\t\t int\t\t page) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_get_user_data
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:118,1
    - Dst: cairo_surface_get_device_scale
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:133,1
    - Dst: cairo_surface_set_device_offset
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:134,1
    - Dst: cairo_surface_set_device_scale
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:135,1
    - Dst: cairo_surface_get_device_offset
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:132,1
    - Dst: cairo_create
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:137,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:138,1
    - Dst: cairo_paint
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:139,1
    - Dst: cairo_show_page
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:140,1
    - Dst: cairo_status
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:141,1
    - Dst: cairo_surface_set_device_scale
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:144,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:157,1
    - Dst: cairo_surface_status
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:150,1
    - Dst: cairo_surface_status
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:158,1
    - Dst: cairo_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:142,1
    - Dst: cairo_surface_finish
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:149,1
    - Dst: cairo_surface_set_device_offset
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:143,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 163
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 163
    functionName: _cairo_boilerplate_pdf_finish_surface
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-pdf.c
    functionUses: []
    functionsReached:
    - cairo_surface_get_device_scale
    - cairo_paint
    - cairo_show_page
    - cairo_surface_finish
    - cairo_surface_get_device_offset
    - cairo_surface_status
    - cairo_create
    - cairo_status
    - cairo_surface_set_device_scale
    - cairo_surface_set_device_offset
    - cairo_destroy
    - cairo_surface_get_user_data
    - cairo_set_source_surface
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t _cairo_boilerplate_pdf_finish_surface (cairo_surface_t
      *surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_finish
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:223,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:224,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:227,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-pdf.c:226,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - closure
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 228
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 228
    functionName: _cairo_boilerplate_pdf_cleanup
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-pdf.c
    functionUses: []
    functionsReached:
    - free
    - cairo_surface_finish
    - cairo_surface_destroy
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_boilerplate_pdf_cleanup (void *closure) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_xlib_device_debug_set_precision
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:93,1
    - Dst: cairo_surface_get_device
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 95
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 95
    functionName: _cairo_boilerplate_xlib_setup_test_surface
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-xlib.c
    functionUses: []
    functionsReached:
    - cairo_surface_get_device
    - cairo_xlib_device_debug_set_precision
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_boilerplate_xlib_setup_test_surface (cairo_surface_t
      *surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XGetImage
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:70,1
    - Dst: XDestroyImage
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:73,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - closure
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: _cairo_boilerplate_xlib_synchronize
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-xlib.c
    functionUses: []
    functionsReached:
    - XDestroyImage
    - XGetImage
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_boilerplate_xlib_synchronize (void *closure) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: XSynchronize
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:123,1
    - Dst: XRenderFindStandardFormat
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:135,1
    - Dst: CAIRO_BOILERPLATE_DEBUG
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:142,1
    - Dst: CAIRO_BOILERPLATE_DEBUG
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:146,1
    - Dst: XRenderFindStandardFormat
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:138,1
    - Dst: XCreatePixmap
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:150,1
    - Dst: DefaultRootWindow
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:150,1
    - Dst: cairo_xlib_surface_create_with_xrender_format
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:154,1
    - Dst: DefaultScreenOfDisplay
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:155,1
    - Dst: _cairo_boilerplate_xlib_setup_test_surface
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:159,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 162
    functionName: _cairo_boilerplate_xlib_test_create_surface
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-xlib.c
    functionUses: []
    functionsReached:
    - XCreatePixmap
    - XRenderFindStandardFormat
    - DefaultScreenOfDisplay
    - _cairo_boilerplate_xlib_setup_test_surface
    - XSynchronize
    - cairo_xlib_surface_create_with_xrender_format
    - DefaultRootWindow
    - CAIRO_BOILERPLATE_DEBUG
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_boilerplate_xlib_test_create_surface\
      \ (Display\t\t *dpy,\t\t\t\t\t cairo_content_t\t content,\t\t\t\t\t int\t\t\
      \ width,\t\t\t\t\t int\t\t height,\t\t\t\t\t xlib_target_closure_t *xtc) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XFreePixmap
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:232,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:233,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - closure
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 234
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 234
    functionName: _destroy_similar
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-xlib.c
    functionUses: []
    functionsReached:
    - free
    - XFreePixmap
    linkageType: ''
    returnType: void
    signature: 'static void _destroy_similar (void *closure) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: xcalloc
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:295,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:307,1
    - Dst: XOpenDisplay
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:305,1
    - Dst: ceil
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:301,1
    - Dst: ceil
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:297,1
    - Dst: CAIRO_BOILERPLATE_DEBUG
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:308,1
    - Dst: XDisplayName
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:308,1
    - Dst: _cairo_boilerplate_xlib_test_create_surface
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:313,1
    - Dst: _cairo_boilerplate_xlib_perf_create_surface
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:315,1
    - Dst: cairo_surface_status
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:317,1
    - Dst: _cairo_boilerplate_xlib_cleanup
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:318,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 321
    functionName: _cairo_boilerplate_xlib_create_surface
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-xlib.c
    functionUses: []
    functionsReached:
    - _cairo_boilerplate_xlib_test_create_surface
    - XOpenDisplay
    - free
    - cairo_surface_status
    - _cairo_boilerplate_xlib_cleanup
    - xcalloc
    - XDisplayName
    - _cairo_boilerplate_xlib_perf_create_surface
    - ceil
    - CAIRO_BOILERPLATE_DEBUG
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_boilerplate_xlib_create_surface (const\
      \ char\t\t *name,\t\t\t\t\tcairo_content_t\t\t content,\t\t\t\t\tdouble\t\t\t\
      \ width,\t\t\t\t\tdouble\t\t\t height,\t\t\t\t\tdouble\t\t\t max_width,\t\t\t\
      \t\tdouble\t\t\t max_height,\t\t\t\t\tcairo_boilerplate_mode_t mode,\t\t\t\t\
      \tvoid\t\t\t **closure) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: XSynchronize
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:517,1
    - Dst: DefaultScreen
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:519,1
    - Dst: _cairo_boilerplate_xlib_check_screen_size
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:520,1
    - Dst: cairo_surface_get_device
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:542,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:548,1
    - Dst: xmalloc
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:497,1
    - Dst: ceil
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:499,1
    - Dst: XOpenDisplay
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:507,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:524,1
    - Dst: CAIRO_BOILERPLATE_DEBUG
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:522,1
    - Dst: DefaultRootWindow
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:529,1
    - Dst: DefaultVisual
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:540,1
    - Dst: cairo_xlib_surface_create
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:545,1
    - Dst: _cairo_boilerplate_xlib_cleanup
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:550,1
    - Dst: CAIRO_BOILERPLATE_DEBUG
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:509,1
    - Dst: ceil
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:503,1
    - Dst: XCloseDisplay
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:523,1
    - Dst: XCreateWindow
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:529,1
    - Dst: DefaultVisual
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:534,1
    - Dst: cairo_surface_status
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:549,1
    - Dst: XDisplayName
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:509,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:510,1
    - Dst: DefaultDepth
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:532,1
    - Dst: XMapWindow
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:536,1
    - Dst: cairo_xlib_surface_create
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:539,1
    - Dst: cairo_xlib_device_debug_cap_xrender_version
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:542,1
    - Dst: DefaultVisual
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:546,1
    - Dst: _cairo_boilerplate_xlib_setup_test_surface
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:552,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 555
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 555
    functionName: _cairo_boilerplate_xlib_fallback_create_surface
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-xlib.c
    functionUses: []
    functionsReached:
    - XSynchronize
    - _cairo_boilerplate_xlib_cleanup
    - DefaultVisual
    - DefaultRootWindow
    - cairo_xlib_surface_create
    - XOpenDisplay
    - DefaultDepth
    - XCreateWindow
    - cairo_surface_status
    - XMapWindow
    - ceil
    - CAIRO_BOILERPLATE_DEBUG
    - XDisplayName
    - DefaultScreen
    - _cairo_boilerplate_xlib_check_screen_size
    - cairo_surface_get_device
    - cairo_xlib_device_debug_cap_xrender_version
    - XCloseDisplay
    - xmalloc
    - free
    - _cairo_boilerplate_xlib_setup_test_surface
    - cairo_surface_destroy
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_boilerplate_xlib_fallback_create_surface\
      \ (const char\t\t *name,\t\t\t\t\t\t cairo_content_t\t content,\t\t\t\t\t\t\
      \ double \t\t width,\t\t\t\t\t\t double \t\t height,\t\t\t\t\t\t double \t\t\
      \ max_width,\t\t\t\t\t\t double \t\t max_height,\t\t\t\t\t\t cairo_boilerplate_mode_t\
      \ mode,\t\t\t\t\t\t void\t\t\t **closure) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XFreePixmap
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:56,1
    - Dst: XDestroyWindow
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:58,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:61,1
    - Dst: XCloseDisplay
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:60,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - closure
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 62
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 62
    functionName: _cairo_boilerplate_xlib_cleanup
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-xlib.c
    functionUses: []
    functionsReached:
    - XDestroyWindow
    - XCloseDisplay
    - XFreePixmap
    - free
    linkageType: ''
    returnType: void
    signature: 'static void _cairo_boilerplate_xlib_cleanup (void *closure) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XScreenOfDisplay
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:82,1
    - Dst: WidthOfScreen
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:83,1
    - Dst: HeightOfScreen
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - dpy
    - screen
    - width
    - height
    argTypes:
    - Display*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 84
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 84
    functionName: _cairo_boilerplate_xlib_check_screen_size
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-xlib.c
    functionUses: []
    functionsReached:
    - HeightOfScreen
    - WidthOfScreen
    - XScreenOfDisplay
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _cairo_boilerplate_xlib_check_screen_size (Display\
      \ *dpy,\t\t\t\t\t int\t screen,\t\t\t\t\t int\t width,\t\t\t\t\t int\t height) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: XRenderFindStandardFormat
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:177,1
    - Dst: CAIRO_BOILERPLATE_DEBUG
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:179,1
    - Dst: _cairo_boilerplate_xlib_check_screen_size
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:189,1
    - Dst: DefaultRootWindow
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:183,1
    - Dst: XCreatePixmap
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:183,1
    - Dst: DefaultScreen
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:190,1
    - Dst: CAIRO_BOILERPLATE_DEBUG
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:192,1
    - Dst: DefaultVisual
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:196,1
    - Dst: DefaultScreen
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:196,1
    - Dst: XRenderFindVisualFormat
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:197,1
    - Dst: DefaultRootWindow
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:204,1
    - Dst: DefaultScreenOfDisplay
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:218,1
    - Dst: XCreateWindow
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:204,1
    - Dst: XMapWindow
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:207,1
    - Dst: CAIRO_BOILERPLATE_DEBUG
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:213,1
    - Dst: cairo_xlib_surface_create_with_xrender_format
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:217,1
    - Dst: CAIRO_BOILERPLATE_DEBUG
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:199,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 221
    functionName: _cairo_boilerplate_xlib_perf_create_surface
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-xlib.c
    functionUses: []
    functionsReached:
    - XCreatePixmap
    - XRenderFindStandardFormat
    - DefaultScreenOfDisplay
    - XCreateWindow
    - _cairo_boilerplate_xlib_check_screen_size
    - DefaultScreen
    - DefaultVisual
    - XRenderFindVisualFormat
    - cairo_xlib_surface_create_with_xrender_format
    - DefaultRootWindow
    - XMapWindow
    - CAIRO_BOILERPLATE_DEBUG
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_boilerplate_xlib_perf_create_surface\
      \ (Display\t\t *dpy,\t\t\t\t\t cairo_content_t\t content,\t\t\t\t\t int\t\t\
      \ width,\t\t\t\t\t int\t\t height,\t\t\t\t\t xlib_target_closure_t *xtc) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_malloc
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:247,1
    - Dst: XCreatePixmap
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:264,1
    - Dst: DefaultRootWindow
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:265,1
    - Dst: cairo_xlib_surface_get_display
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:248,1
    - Dst: XRenderFindStandardFormat
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:263,1
    - Dst: cairo_xlib_surface_create_with_xrender_format
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:270,1
    - Dst: DefaultScreenOfDisplay
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:272,1
    - Dst: cairo_surface_set_user_data
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:276,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 279
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 279
    functionName: _cairo_boilerplate_xlib_create_similar
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-xlib.c
    functionUses: []
    functionsReached:
    - XCreatePixmap
    - _cairo_malloc
    - cairo_surface_set_user_data
    - DefaultScreenOfDisplay
    - cairo_xlib_surface_get_display
    - cairo_xlib_surface_create_with_xrender_format
    - DefaultRootWindow
    - XRenderFindStandardFormat
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_boilerplate_xlib_create_similar (cairo_surface_t\t\
      \t*other,\t\t\t\t\tcairo_content_t\t\t content,\t\t\t\t\tint\t\t\t width,\t\t\
      \t\t\tint\t\t\t height) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: xcalloc
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:339,1
    - Dst: CAIRO_BOILERPLATE_DEBUG
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:352,1
    - Dst: DefaultRootWindow
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:358,1
    - Dst: _cairo_boilerplate_xlib_test_create_surface
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:367,1
    - Dst: XFreePixmap
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:372,1
    - Dst: _cairo_boilerplate_xlib_cleanup
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:375,1
    - Dst: XOpenDisplay
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:349,1
    - Dst: ceil
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:341,1
    - Dst: XDisplayName
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:352,1
    - Dst: XCreatePixmap
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:358,1
    - Dst: DefaultDepth
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:359,1
    - Dst: DefaultVisual
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:361,1
    - Dst: ceil
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:345,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:351,1
    - Dst: DefaultScreen
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:357,1
    - Dst: _cairo_boilerplate_xlib_perf_create_surface
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:369,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:371,1
    - Dst: cairo_surface_get_device
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:363,1
    - Dst: cairo_xlib_device_debug_cap_xrender_version
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:363,1
    - Dst: cairo_xlib_surface_create
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:360,1
    - Dst: cairo_surface_status
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:374,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 378
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 378
    functionName: _cairo_boilerplate_xlib_render_0_0_create_surface
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-xlib.c
    functionUses: []
    functionsReached:
    - _cairo_boilerplate_xlib_cleanup
    - DefaultVisual
    - DefaultRootWindow
    - cairo_xlib_surface_create
    - XOpenDisplay
    - DefaultDepth
    - cairo_surface_status
    - xcalloc
    - _cairo_boilerplate_xlib_perf_create_surface
    - ceil
    - XDisplayName
    - CAIRO_BOILERPLATE_DEBUG
    - DefaultScreen
    - XFreePixmap
    - cairo_surface_get_device
    - cairo_xlib_device_debug_cap_xrender_version
    - XCreatePixmap
    - _cairo_boilerplate_xlib_test_create_surface
    - free
    - cairo_surface_destroy
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_boilerplate_xlib_render_0_0_create_surface\
      \ (const char\t\t *name,\t\t\t\t\t\t cairo_content_t\t\t content,\t\t\t\t\t\t\
      \ double\t\t\t width,\t\t\t\t\t\t double\t\t\t height,\t\t\t\t\t\t double\t\t\
      \t max_width,\t\t\t\t\t\t double\t\t\t max_height,\t\t\t\t\t\t cairo_boilerplate_mode_t\
      \ mode,\t\t\t\t\t\t void\t\t\t **closure) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_BOILERPLATE_DEBUG
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:418,1
    - Dst: ceil
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:412,1
    - Dst: XSynchronize
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:426,1
    - Dst: DefaultScreen
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:428,1
    - Dst: _cairo_boilerplate_xlib_check_screen_size
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:429,1
    - Dst: XCloseDisplay
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:432,1
    - Dst: XCreateWindow
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:438,1
    - Dst: DefaultVisual
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:443,1
    - Dst: _cairo_boilerplate_xlib_setup_test_surface
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:454,1
    - Dst: XDisplayName
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:418,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:419,1
    - Dst: cairo_xlib_surface_create
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:448,1
    - Dst: CAIRO_BOILERPLATE_DEBUG
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:431,1
    - Dst: DefaultDepth
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:441,1
    - Dst: XMapWindow
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:445,1
    - Dst: cairo_surface_status
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:451,1
    - Dst: _cairo_boilerplate_xlib_cleanup
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:452,1
    - Dst: xmalloc
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:406,1
    - Dst: XOpenDisplay
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:416,1
    - Dst: ceil
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:408,1
    - Dst: DefaultRootWindow
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:438,1
    - Dst: free
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:433,1
    - Dst: DefaultVisual
      Src: /src/cairo/boilerplate/cairo-boilerplate-xlib.c:449,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 457
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 457
    functionName: _cairo_boilerplate_xlib_window_create_surface
    functionSourceFile: /src/cairo/boilerplate/cairo-boilerplate-xlib.c
    functionUses: []
    functionsReached:
    - XSynchronize
    - _cairo_boilerplate_xlib_cleanup
    - DefaultVisual
    - DefaultRootWindow
    - cairo_xlib_surface_create
    - XOpenDisplay
    - DefaultDepth
    - XCreateWindow
    - cairo_surface_status
    - XMapWindow
    - ceil
    - CAIRO_BOILERPLATE_DEBUG
    - XDisplayName
    - DefaultScreen
    - _cairo_boilerplate_xlib_check_screen_size
    - XCloseDisplay
    - xmalloc
    - free
    - _cairo_boilerplate_xlib_setup_test_surface
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_cairo_boilerplate_xlib_window_create_surface\
      \ (const char\t\t *name,\t\t\t\t\t cairo_content_t\t\t content,\t\t\t\t\t double\t\
      \t\t width,\t\t\t\t\t double\t\t\t height,\t\t\t\t\t double\t\t\t max_width,\t\
      \t\t\t\t double\t\t\t max_height,\t\t\t\t\t cairo_boilerplate_mode_t mode,\t\
      \t\t\t\t void\t\t\t**closure) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gtk_tree_model_iter_children
      Src: /src/cairo/perf/cairo-perf-graph-files.c:167,1
    - Dst: gtk_tree_model_iter_next
      Src: /src/cairo/perf/cairo-perf-graph-files.c:182,1
    - Dst: gtk_tree_model_get
      Src: /src/cairo/perf/cairo-perf-graph-files.c:170,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - model
    - parent
    argTypes:
    - GtkTreeModel*
    - GtkTreeIter*
    constantsTouched: []
    func_position:
      end: 185
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 185
    functionName: children_consistent
    functionSourceFile: /src/cairo/perf/cairo-perf-graph-files.c
    functionUses: []
    functionsReached:
    - gtk_tree_model_iter_next
    - gtk_tree_model_iter_children
    - gtk_tree_model_get
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean children_consistent (GtkTreeModel *model,\t\t GtkTreeIter\
      \ *parent) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gtk_cell_renderer_toggle_get_active
      Src: /src/cairo/perf/cairo-perf-graph-files.c:213,1
    - Dst: gtk_tree_path_free
      Src: /src/cairo/perf/cairo-perf-graph-files.c:219,1
    - Dst: GTK_TREE_MODEL
      Src: /src/cairo/perf/cairo-perf-graph-files.c:215,1
    - Dst: gtk_tree_model_get_iter
      Src: /src/cairo/perf/cairo-perf-graph-files.c:218,1
    - Dst: gtk_tree_path_new_from_string
      Src: /src/cairo/perf/cairo-perf-graph-files.c:217,1
    - Dst: gtk_tree_store_set
      Src: /src/cairo/perf/cairo-perf-graph-files.c:221,1
    - Dst: gtk_tree_model_get
      Src: /src/cairo/perf/cairo-perf-graph-files.c:225,1
    - Dst: recurse_set_shown
      Src: /src/cairo/perf/cairo-perf-graph-files.c:232,1
    - Dst: check_consistent
      Src: /src/cairo/perf/cairo-perf-graph-files.c:234,1
    - Dst: graph_view_update_visible
      Src: /src/cairo/perf/cairo-perf-graph-files.c:236,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - cell
    - str
    - app
    argTypes:
    - GtkCellRendererToggle*
    - gchar*
    - struct _app_data*
    constantsTouched: []
    func_position:
      end: 237
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 237
    functionName: show_case_toggled
    functionSourceFile: /src/cairo/perf/cairo-perf-graph-files.c
    functionUses: []
    functionsReached:
    - gtk_cell_renderer_toggle_get_active
    - check_consistent
    - recurse_set_shown
    - gtk_tree_model_get
    - gtk_tree_model_get_iter
    - gtk_tree_path_free
    - gtk_tree_path_new_from_string
    - GTK_TREE_MODEL
    - gtk_tree_store_set
    - graph_view_update_visible
    linkageType: ''
    returnType: void
    signature: "static void show_case_toggled (GtkCellRendererToggle *cell,\t\t gchar\t\
      \t *str,\t\t struct _app_data\t *app) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_io_channel_unix_get_fd
      Src: /src/cairo/perf/cairo-perf-graph-files.c:248,1
    - Dst: read
      Src: /src/cairo/perf/cairo-perf-graph-files.c:254,1
    - Dst: gtk_text_buffer_get_end_iter
      Src: /src/cairo/perf/cairo-perf-graph-files.c:268,1
    - Dst: gtk_text_buffer_insert
      Src: /src/cairo/perf/cairo-perf-graph-files.c:269,1
    - Dst: g_io_channel_unref
      Src: /src/cairo/perf/cairo-perf-graph-files.c:262,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 3
    argNames:
    - io
    - cond
    - app
    argTypes:
    - GIOChannel*
    - GIOCondition
    - struct _app_data*
    constantsTouched: []
    func_position:
      end: 271
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 271
    functionName: git_read
    functionSourceFile: /src/cairo/perf/cairo-perf-graph-files.c
    functionUses: []
    functionsReached:
    - read
    - gtk_text_buffer_insert
    - g_io_channel_unix_get_fd
    - gtk_text_buffer_get_end_iter
    - g_io_channel_unref
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean git_read (GIOChannel\t *io,\t GIOCondition\t cond,\t\
      \ struct _app_data *app) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/cairo/perf/cairo-perf-graph-files.c:323,1
    - Dst: memcpy
      Src: /src/cairo/perf/cairo-perf-graph-files.c:329,1
    - Dst: g_print
      Src: /src/cairo/perf/cairo-perf-graph-files.c:341,1
    - Dst: g_malloc
      Src: /src/cairo/perf/cairo-perf-graph-files.c:326,1
    - Dst: do_git
      Src: /src/cairo/perf/cairo-perf-graph-files.c:339,1
    - Dst: g_free
      Src: /src/cairo/perf/cairo-perf-graph-files.c:343,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - gv
    - i
    - app
    argTypes:
    - GraphView*
    - int
    - struct _app_data*
    constantsTouched: []
    func_position:
      end: 345
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 345
    functionName: gv_report_selected
    functionSourceFile: /src/cairo/perf/cairo-perf-graph-files.c
    functionUses: []
    functionsReached:
    - memcpy
    - do_git
    - g_malloc
    - strchr
    - g_print
    - g_free
    linkageType: ''
    returnType: void
    signature: "static void gv_report_selected (GraphView\t *gv,\t\t int \t i,\t\t\
      \ struct _app_data *app) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_str_hash
      Src: /src/cairo/perf/cairo-perf-graph-files.c:471,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - name
    - color
    argTypes:
    - char*
    - GdkColor*
    constantsTouched: []
    func_position:
      end: 476
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 476
    functionName: name_to_color
    functionSourceFile: /src/cairo/perf/cairo-perf-graph-files.c
    functionUses: []
    functionsReached:
    - g_str_hash
    linkageType: ''
    returnType: void
    signature: "static void name_to_color (const char *name,\t GdkColor *color) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/cairo/perf/cairo-perf-graph-files.c:46,1
    - Dst: g_printerr
      Src: /src/cairo/perf/cairo-perf-graph-files.c:48,1
    - Dst: g_printerr
      Src: /src/cairo/perf/cairo-perf-graph-files.c:49,1
    - Dst: exit
      Src: /src/cairo/perf/cairo-perf-graph-files.c:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - argv0
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: usage
    functionSourceFile: /src/cairo/perf/cairo-perf-graph-files.c
    functionUses: []
    functionsReached:
    - strrchr
    - g_printerr
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void usage (const char *argv0) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gtk_tree_model_iter_children
      Src: /src/cairo/perf/cairo-perf-graph-files.c:143,1
    - Dst: GTK_TREE_STORE
      Src: /src/cairo/perf/cairo-perf-graph-files.c:151,1
    - Dst: recurse_set_shown
      Src: /src/cairo/perf/cairo-perf-graph-files.c:148,1
    - Dst: gtk_tree_model_get
      Src: /src/cairo/perf/cairo-perf-graph-files.c:146,1
    - Dst: gtk_tree_store_set
      Src: /src/cairo/perf/cairo-perf-graph-files.c:151,1
    - Dst: gtk_tree_model_iter_next
      Src: /src/cairo/perf/cairo-perf-graph-files.c:156,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - model
    - parent
    - shown
    argTypes:
    - GtkTreeModel*
    - GtkTreeIter*
    - gboolean
    constantsTouched: []
    func_position:
      end: 157
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 157
    functionName: recurse_set_shown
    functionSourceFile: /src/cairo/perf/cairo-perf-graph-files.c
    functionUses: []
    functionsReached:
    - recurse_set_shown
    - gtk_tree_model_iter_children
    - gtk_tree_model_get
    - gtk_tree_model_iter_next
    - GTK_TREE_STORE
    - gtk_tree_store_set
    linkageType: ''
    returnType: void
    signature: "static void recurse_set_shown (GtkTreeModel *model,\t\t GtkTreeIter\t\
      *parent,\t\t gboolean\t shown) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gtk_tree_store_new
      Src: /src/cairo/perf/cairo-perf-graph-files.c:74,1
    - Dst: strcmp
      Src: /src/cairo/perf/cairo-perf-graph-files.c:95,1
    - Dst: gtk_tree_store_set
      Src: /src/cairo/perf/cairo-perf-graph-files.c:88,1
    - Dst: gtk_tree_store_append
      Src: /src/cairo/perf/cairo-perf-graph-files.c:87,1
    - Dst: strcmp
      Src: /src/cairo/perf/cairo-perf-graph-files.c:86,1
    - Dst: gtk_tree_store_append
      Src: /src/cairo/perf/cairo-perf-graph-files.c:96,1
    - Dst: gtk_tree_store_set
      Src: /src/cairo/perf/cairo-perf-graph-files.c:97,1
    - Dst: gtk_tree_store_append
      Src: /src/cairo/perf/cairo-perf-graph-files.c:105,1
    - Dst: gtk_tree_store_set
      Src: /src/cairo/perf/cairo-perf-graph-files.c:106,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 119
    functionName: cases_to_store
    functionSourceFile: /src/cairo/perf/cairo-perf-graph-files.c
    functionUses: []
    functionsReached:
    - gtk_tree_store_set
    - strcmp
    - gtk_tree_store_new
    - gtk_tree_store_append
    linkageType: ''
    returnType: GtkTreeStore*
    signature: 'static GtkTreeStore *cases_to_store (test_case_t *cases) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gtk_tree_model_iter_parent
      Src: /src/cairo/perf/cairo-perf-graph-files.c:193,1
    - Dst: gtk_tree_store_set
      Src: /src/cairo/perf/cairo-perf-graph-files.c:194,1
    - Dst: GTK_TREE_STORE
      Src: /src/cairo/perf/cairo-perf-graph-files.c:194,1
    - Dst: check_consistent
      Src: /src/cairo/perf/cairo-perf-graph-files.c:198,1
    - Dst: children_consistent
      Src: /src/cairo/perf/cairo-perf-graph-files.c:196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - model
    - child
    argTypes:
    - GtkTreeModel*
    - GtkTreeIter*
    constantsTouched: []
    func_position:
      end: 200
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 200
    functionName: check_consistent
    functionSourceFile: /src/cairo/perf/cairo-perf-graph-files.c
    functionUses: []
    functionsReached:
    - children_consistent
    - check_consistent
    - GTK_TREE_STORE
    - gtk_tree_model_iter_parent
    - gtk_tree_store_set
    linkageType: ''
    returnType: void
    signature: "static void check_consistent (GtkTreeModel *model,\t\t GtkTreeIter\
      \ *child) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_spawn_async_with_pipes
      Src: /src/cairo/perf/cairo-perf-graph-files.c:282,1
    - Dst: g_error
      Src: /src/cairo/perf/cairo-perf-graph-files.c:290,1
    - Dst: g_io_channel_unref
      Src: /src/cairo/perf/cairo-perf-graph-files.c:295,1
    - Dst: gtk_text_buffer_get_bounds
      Src: /src/cairo/perf/cairo-perf-graph-files.c:298,1
    - Dst: g_io_channel_shutdown
      Src: /src/cairo/perf/cairo-perf-graph-files.c:294,1
    - Dst: gtk_text_buffer_delete
      Src: /src/cairo/perf/cairo-perf-graph-files.c:299,1
    - Dst: fcntl
      Src: /src/cairo/perf/cairo-perf-graph-files.c:301,1
    - Dst: fcntl
      Src: /src/cairo/perf/cairo-perf-graph-files.c:303,1
    - Dst: g_io_channel_unix_new
      Src: /src/cairo/perf/cairo-perf-graph-files.c:305,1
    - Dst: g_io_add_watch
      Src: /src/cairo/perf/cairo-perf-graph-files.c:306,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - app
    - argv
    argTypes:
    - struct _app_data*
    - char**
    constantsTouched: []
    func_position:
      end: 307
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 307
    functionName: do_git
    functionSourceFile: /src/cairo/perf/cairo-perf-graph-files.c
    functionUses: []
    functionsReached:
    - g_io_channel_unix_new
    - g_io_add_watch
    - g_spawn_async_with_pipes
    - gtk_text_buffer_delete
    - g_io_channel_shutdown
    - gtk_text_buffer_get_bounds
    - fcntl
    - g_error
    - g_io_channel_unref
    linkageType: ''
    returnType: void
    signature: "static void do_git (struct _app_data *app,\tchar\t\t **argv) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTK_WINDOW
      Src: /src/cairo/perf/cairo-perf-graph-files.c:366,1
    - Dst: gtk_table_new
      Src: /src/cairo/perf/cairo-perf-graph-files.c:372,1
    - Dst: gtk_tree_view_new
      Src: /src/cairo/perf/cairo-perf-graph-files.c:375,1
    - Dst: gtk_tree_view_append_column
      Src: /src/cairo/perf/cairo-perf-graph-files.c:386,1
    - Dst: GTK_TREE_VIEW
      Src: /src/cairo/perf/cairo-perf-graph-files.c:386,1
    - Dst: gtk_cell_renderer_text_new
      Src: /src/cairo/perf/cairo-perf-graph-files.c:390,1
    - Dst: gtk_tree_view_column_new_with_attributes
      Src: /src/cairo/perf/cairo-perf-graph-files.c:398,1
    - Dst: gtk_cell_renderer_text_new
      Src: /src/cairo/perf/cairo-perf-graph-files.c:404,1
    - Dst: gtk_tree_view_append_column
      Src: /src/cairo/perf/cairo-perf-graph-files.c:410,1
    - Dst: GTK_TREE_VIEW
      Src: /src/cairo/perf/cairo-perf-graph-files.c:410,1
    - Dst: gtk_widget_show
      Src: /src/cairo/perf/cairo-perf-graph-files.c:427,1
    - Dst: GTK_TABLE
      Src: /src/cairo/perf/cairo-perf-graph-files.c:428,1
    - Dst: gtk_table_attach
      Src: /src/cairo/perf/cairo-perf-graph-files.c:440,1
    - Dst: GTK_CONTAINER
      Src: /src/cairo/perf/cairo-perf-graph-files.c:453,1
    - Dst: GTK_CONTAINER
      Src: /src/cairo/perf/cairo-perf-graph-files.c:461,1
    - Dst: gtk_table_attach
      Src: /src/cairo/perf/cairo-perf-graph-files.c:428,1
    - Dst: gtk_container_add
      Src: /src/cairo/perf/cairo-perf-graph-files.c:453,1
    - Dst: g_new0
      Src: /src/cairo/perf/cairo-perf-graph-files.c:360,1
    - Dst: g_object_set_data_full
      Src: /src/cairo/perf/cairo-perf-graph-files.c:367,1
    - Dst: gtk_window_new
      Src: /src/cairo/perf/cairo-perf-graph-files.c:365,1
    - Dst: G_OBJECT
      Src: /src/cairo/perf/cairo-perf-graph-files.c:367,1
    - Dst: gtk_tree_view_set_model
      Src: /src/cairo/perf/cairo-perf-graph-files.c:378,1
    - Dst: gtk_cell_renderer_toggle_new
      Src: /src/cairo/perf/cairo-perf-graph-files.c:380,1
    - Dst: gtk_tree_view_column_new_with_attributes
      Src: /src/cairo/perf/cairo-perf-graph-files.c:381,1
    - Dst: gtk_tree_view_append_column
      Src: /src/cairo/perf/cairo-perf-graph-files.c:402,1
    - Dst: GTK_TREE_VIEW
      Src: /src/cairo/perf/cairo-perf-graph-files.c:402,1
    - Dst: GTK_SCROLLED_WINDOW
      Src: /src/cairo/perf/cairo-perf-graph-files.c:423,1
    - Dst: gtk_text_view_new
      Src: /src/cairo/perf/cairo-perf-graph-files.c:447,1
    - Dst: gtk_text_view_get_buffer
      Src: /src/cairo/perf/cairo-perf-graph-files.c:448,1
    - Dst: gtk_scrolled_window_set_policy
      Src: /src/cairo/perf/cairo-perf-graph-files.c:450,1
    - Dst: gtk_container_add
      Src: /src/cairo/perf/cairo-perf-graph-files.c:461,1
    - Dst: graph_view_new
      Src: /src/cairo/perf/cairo-perf-graph-files.c:435,1
    - Dst: GTK_TREE_VIEW
      Src: /src/cairo/perf/cairo-perf-graph-files.c:378,1
    - Dst: GTK_TREE_MODEL
      Src: /src/cairo/perf/cairo-perf-graph-files.c:378,1
    - Dst: gtk_tree_view_column_new_with_attributes
      Src: /src/cairo/perf/cairo-perf-graph-files.c:391,1
    - Dst: gtk_cell_renderer_text_new
      Src: /src/cairo/perf/cairo-perf-graph-files.c:397,1
    - Dst: gtk_scrolled_window_new
      Src: /src/cairo/perf/cairo-perf-graph-files.c:422,1
    - Dst: GTK_TREE_VIEW
      Src: /src/cairo/perf/cairo-perf-graph-files.c:417,1
    - Dst: gtk_container_add
      Src: /src/cairo/perf/cairo-perf-graph-files.c:426,1
    - Dst: GTK_CONTAINER
      Src: /src/cairo/perf/cairo-perf-graph-files.c:426,1
    - Dst: g_signal_connect
      Src: /src/cairo/perf/cairo-perf-graph-files.c:437,1
    - Dst: graph_view_set_reports
      Src: /src/cairo/perf/cairo-perf-graph-files.c:439,1
    - Dst: gtk_scrolled_window_new
      Src: /src/cairo/perf/cairo-perf-graph-files.c:449,1
    - Dst: g_object_unref
      Src: /src/cairo/perf/cairo-perf-graph-files.c:420,1
    - Dst: gtk_tree_view_append_column
      Src: /src/cairo/perf/cairo-perf-graph-files.c:417,1
    - Dst: GTK_TABLE
      Src: /src/cairo/perf/cairo-perf-graph-files.c:440,1
    - Dst: GTK_SCROLLED_WINDOW
      Src: /src/cairo/perf/cairo-perf-graph-files.c:450,1
    - Dst: gtk_widget_show
      Src: /src/cairo/perf/cairo-perf-graph-files.c:459,1
    - Dst: gtk_table_attach
      Src: /src/cairo/perf/cairo-perf-graph-files.c:455,1
    - Dst: gtk_window_set_title
      Src: /src/cairo/perf/cairo-perf-graph-files.c:366,1
    - Dst: cases_to_store
      Src: /src/cairo/perf/cairo-perf-graph-files.c:376,1
    - Dst: G_CALLBACK
      Src: /src/cairo/perf/cairo-perf-graph-files.c:388,1
    - Dst: g_signal_connect
      Src: /src/cairo/perf/cairo-perf-graph-files.c:387,1
    - Dst: gtk_tree_view_append_column
      Src: /src/cairo/perf/cairo-perf-graph-files.c:395,1
    - Dst: GTK_TREE_VIEW
      Src: /src/cairo/perf/cairo-perf-graph-files.c:395,1
    - Dst: gtk_tree_view_column_new_with_attributes
      Src: /src/cairo/perf/cairo-perf-graph-files.c:405,1
    - Dst: gtk_cell_renderer_text_new
      Src: /src/cairo/perf/cairo-perf-graph-files.c:412,1
    - Dst: gtk_tree_view_column_new_with_attributes
      Src: /src/cairo/perf/cairo-perf-graph-files.c:413,1
    - Dst: GTK_TREE_VIEW
      Src: /src/cairo/perf/cairo-perf-graph-files.c:419,1
    - Dst: gtk_widget_show
      Src: /src/cairo/perf/cairo-perf-graph-files.c:444,1
    - Dst: GTK_TEXT_VIEW
      Src: /src/cairo/perf/cairo-perf-graph-files.c:448,1
    - Dst: gtk_tree_view_set_rules_hint
      Src: /src/cairo/perf/cairo-perf-graph-files.c:419,1
    - Dst: gtk_widget_show
      Src: /src/cairo/perf/cairo-perf-graph-files.c:432,1
    - Dst: gtk_widget_show
      Src: /src/cairo/perf/cairo-perf-graph-files.c:454,1
    - Dst: GTK_TABLE
      Src: /src/cairo/perf/cairo-perf-graph-files.c:455,1
    - Dst: gtk_widget_show
      Src: /src/cairo/perf/cairo-perf-graph-files.c:462,1
    - Dst: gtk_scrolled_window_set_policy
      Src: /src/cairo/perf/cairo-perf-graph-files.c:423,1
    - Dst: G_CALLBACK
      Src: /src/cairo/perf/cairo-perf-graph-files.c:438,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 98
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 465
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 465
    functionName: window_create
    functionSourceFile: /src/cairo/perf/cairo-perf-graph-files.c
    functionUses: []
    functionsReached:
    - gtk_scrolled_window_set_policy
    - gtk_table_attach
    - gtk_scrolled_window_new
    - gtk_tree_view_column_new_with_attributes
    - GTK_TREE_VIEW
    - gtk_text_view_new
    - gtk_tree_view_new
    - g_signal_connect
    - g_object_set_data_full
    - GTK_TABLE
    - g_object_unref
    - gtk_container_add
    - gtk_tree_view_append_column
    - gtk_cell_renderer_text_new
    - gtk_tree_view_set_model
    - gtk_text_view_get_buffer
    - GTK_WINDOW
    - gtk_window_new
    - cases_to_store
    - GTK_CONTAINER
    - graph_view_set_reports
    - GTK_TEXT_VIEW
    - gtk_widget_show
    - G_OBJECT
    - gtk_table_new
    - gtk_cell_renderer_toggle_new
    - G_CALLBACK
    - graph_view_new
    - GTK_TREE_MODEL
    - GTK_SCROLLED_WINDOW
    - gtk_tree_view_set_rules_hint
    - g_new0
    - gtk_window_set_title
    linkageType: ''
    returnType: GtkWidget*
    signature: "static GtkWidget *window_create (test_case_t\t *cases,\t cairo_perf_report_t\
      \ *reports,\t int\t\t num_reports) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: xcalloc
      Src: /src/cairo/perf/cairo-perf-graph-files.c:495,1
    - Dst: test_report_cmp_backend_then_name
      Src: /src/cairo/perf/cairo-perf-graph-files.c:530,1
    - Dst: test_report_cmp_backend_then_name
      Src: /src/cairo/perf/cairo-perf-graph-files.c:548,1
    - Dst: xmalloc
      Src: /src/cairo/perf/cairo-perf-graph-files.c:496,1
    - Dst: name_to_color
      Src: /src/cairo/perf/cairo-perf-graph-files.c:544,1
    - Dst: test_report_cmp_backend_then_name
      Src: /src/cairo/perf/cairo-perf-graph-files.c:557,1
    - Dst: free
      Src: /src/cairo/perf/cairo-perf-graph-files.c:570,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 573
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 573
    functionName: test_cases_from_reports
    functionSourceFile: /src/cairo/perf/cairo-perf-graph-files.c
    functionUses: []
    functionsReached:
    - test_report_cmp_backend_then_name
    - xmalloc
    - free
    - xcalloc
    - name_to_color
    linkageType: ''
    returnType: test_case_t*
    signature: "static test_case_t *test_cases_from_reports (cairo_perf_report_t *reports,\t\
      \t\t int\t\t num_reports) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gtk_init
      Src: /src/cairo/perf/cairo-perf-graph-files.c:584,1
    - Dst: usage
      Src: /src/cairo/perf/cairo-perf-graph-files.c:587,1
    - Dst: test_cases_from_reports
      Src: /src/cairo/perf/cairo-perf-graph-files.c:593,1
    - Dst: cairo_perf_report_load
      Src: /src/cairo/perf/cairo-perf-graph-files.c:591,1
    - Dst: xmalloc
      Src: /src/cairo/perf/cairo-perf-graph-files.c:589,1
    - Dst: window_create
      Src: /src/cairo/perf/cairo-perf-graph-files.c:595,1
    - Dst: g_signal_connect
      Src: /src/cairo/perf/cairo-perf-graph-files.c:596,1
    - Dst: G_CALLBACK
      Src: /src/cairo/perf/cairo-perf-graph-files.c:597,1
    - Dst: gtk_widget_show
      Src: /src/cairo/perf/cairo-perf-graph-files.c:598,1
    - Dst: gtk_main
      Src: /src/cairo/perf/cairo-perf-graph-files.c:600,1
    - Dst: free
      Src: /src/cairo/perf/cairo-perf-graph-files.c:608,1
    - Dst: free
      Src: /src/cairo/perf/cairo-perf-graph-files.c:603,1
    - Dst: free
      Src: /src/cairo/perf/cairo-perf-graph-files.c:611,1
    - Dst: free
      Src: /src/cairo/perf/cairo-perf-graph-files.c:613,1
    - Dst: free
      Src: /src/cairo/perf/cairo-perf-graph-files.c:606,1
    - Dst: free
      Src: /src/cairo/perf/cairo-perf-graph-files.c:610,1
    - Dst: free
      Src: /src/cairo/perf/cairo-perf-graph-files.c:607,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 616
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 616
    functionName: main
    functionSourceFile: /src/cairo/perf/cairo-perf-graph-files.c
    functionUses: []
    functionsReached:
    - usage
    - xmalloc
    - gtk_init
    - gtk_widget_show
    - free
    - G_CALLBACK
    - window_create
    - gtk_main
    - test_cases_from_reports
    - cairo_perf_report_load
    - g_signal_connect
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_create
      Src: /src/cairo/perf/cairo-perf-trace.c:173,1
    - Dst: cairo_set_operator
      Src: /src/cairo/perf/cairo-perf-trace.c:176,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/perf/cairo-perf-trace.c:175,1
    - Dst: cairo_destroy
      Src: /src/cairo/perf/cairo-perf-trace.c:178,1
    - Dst: cairo_paint
      Src: /src/cairo/perf/cairo-perf-trace.c:177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 179
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 179
    functionName: fill_surface
    functionSourceFile: /src/cairo/perf/cairo-perf-trace.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgba
    - cairo_create
    - cairo_set_operator
    - cairo_destroy
    linkageType: ''
    returnType: void
    signature: 'static void fill_surface (cairo_surface_t *surface) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-perf-trace.c:472,1
    - Dst: _cairo_getopt
      Src: /src/cairo/perf/cairo-perf-trace.c:460,1
    - Dst: exit
      Src: /src/cairo/perf/cairo-perf-trace.c:502,1
    - Dst: fileno
      Src: /src/cairo/perf/cairo-perf-trace.c:522,1
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-perf-trace.c:490,1
    - Dst: exit
      Src: /src/cairo/perf/cairo-perf-trace.c:510,1
    - Dst: usage
      Src: /src/cairo/perf/cairo-perf-trace.c:509,1
    - Dst: exit
      Src: /src/cairo/perf/cairo-perf-trace.c:516,1
    - Dst: strtol
      Src: /src/cairo/perf/cairo-perf-trace.c:443,1
    - Dst: exit
      Src: /src/cairo/perf/cairo-perf-trace.c:474,1
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-perf-trace.c:500,1
    - Dst: isatty
      Src: /src/cairo/perf/cairo-perf-trace.c:522,1
    - Dst: _cairo_hash_table_create
      Src: /src/cairo/perf/cairo-perf-trace.c:532,1
    - Dst: getenv
      Src: /src/cairo/perf/cairo-perf-trace.c:442,1
    - Dst: strtoul
      Src: /src/cairo/perf/cairo-perf-trace.c:470,1
    - Dst: strtoul
      Src: /src/cairo/perf/cairo-perf-trace.c:488,1
    - Dst: exit
      Src: /src/cairo/perf/cairo-perf-trace.c:492,1
    - Dst: read_excludes
      Src: /src/cairo/perf/cairo-perf-trace.c:499,1
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-perf-trace.c:515,1
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-perf-trace.c:506,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 68
    argCount: 3
    argNames:
    - perf
    - argc
    - argv
    argTypes:
    - cairo_perf_t*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 533
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 533
    functionName: parse_options
    functionSourceFile: /src/cairo/perf/cairo-perf-trace.c
    functionUses: []
    functionsReached:
    - fileno
    - read_excludes
    - getenv
    - usage
    - fprintf
    - isatty
    - strtol
    - _cairo_hash_table_create
    - exit
    - _cairo_getopt
    - strtoul
    linkageType: ''
    returnType: void
    signature: "static void parse_options (cairo_perf_t *perf,\t int\t argc,\t char\t\
      \ *argv[]) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_boilerplate_free_targets
      Src: /src/cairo/perf/cairo-perf-trace.c:538,1
    - Dst: cairo_debug_reset_static_data
      Src: /src/cairo/perf/cairo-perf-trace.c:542,1
    - Dst: cairo_boilerplate_fini
      Src: /src/cairo/perf/cairo-perf-trace.c:539,1
    - Dst: free
      Src: /src/cairo/perf/cairo-perf-trace.c:541,1
    - Dst: FcFini
      Src: /src/cairo/perf/cairo-perf-trace.c:544,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - perf
    argTypes:
    - cairo_perf_t*
    constantsTouched: []
    func_position:
      end: 546
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 546
    functionName: cairo_perf_fini
    functionSourceFile: /src/cairo/perf/cairo-perf-trace.c
    functionUses: []
    functionsReached:
    - cairo_debug_reset_static_data
    - cairo_boilerplate_fini
    - free
    - FcFini
    - cairo_boilerplate_free_targets
    linkageType: ''
    returnType: void
    signature: 'static void cairo_perf_fini (cairo_perf_t *perf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 2
    argNames:
    - A
    - B
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 197
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 197
    functionName: scache_equal
    functionSourceFile: /src/cairo/perf/cairo-perf-trace.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t scache_equal (const void *A,\t const void *B) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-perf-trace.c:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - argv0
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 386
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 386
    functionName: usage
    functionSourceFile: /src/cairo/perf/cairo-perf-trace.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'static void usage (const char *argv0) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-perf-trace.c:923,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - message
    - trace_dir
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 930
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 930
    functionName: warn_no_traces
    functionSourceFile: /src/cairo/perf/cairo-perf-trace.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: "static void warn_no_traces (const char *message,\t\tconst char *trace_dir) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _splitpath
      Src: /src/cairo/perf/cairo-perf-trace.c:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 66
    functionName: basename_no_ext
    functionSourceFile: /src/cairo/perf/cairo-perf-trace.c
    functionUses: []
    functionsReached:
    - _splitpath
    linkageType: ''
    returnType: char*
    signature: 'static char *basename_no_ext (char *path) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_reference
      Src: /src/cairo/perf/cairo-perf-trace.c:208,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/perf/cairo-perf-trace.c:209,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/perf/cairo-perf-trace.c:220,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 221
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 221
    functionName: scache_mark_active
    functionSourceFile: /src/cairo/perf/cairo-perf-trace.c
    functionUses: []
    functionsReached:
    - cairo_surface_reference
    - ARRAY_LENGTH
    - cairo_surface_destroy
    linkageType: ''
    returnType: void
    signature: 'static void scache_mark_active (cairo_surface_t *surface) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/cairo/perf/cairo-perf-trace.c:397,1
    - Dst: isspace
      Src: /src/cairo/perf/cairo-perf-trace.c:413,1
    - Dst: isspace
      Src: /src/cairo/perf/cairo-perf-trace.c:409,1
    - Dst: strchr
      Src: /src/cairo/perf/cairo-perf-trace.c:403,1
    - Dst: getline
      Src: /src/cairo/perf/cairo-perf-trace.c:401,1
    - Dst: xrealloc
      Src: /src/cairo/perf/cairo-perf-trace.c:418,1
    - Dst: strndup
      Src: /src/cairo/perf/cairo-perf-trace.c:420,1
    - Dst: free
      Src: /src/cairo/perf/cairo-perf-trace.c:424,1
    - Dst: fclose
      Src: /src/cairo/perf/cairo-perf-trace.c:426,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 2
    argNames:
    - perf
    - filename
    argTypes:
    - cairo_perf_t*
    - char*
    constantsTouched: []
    func_position:
      end: 429
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 429
    functionName: read_excludes
    functionSourceFile: /src/cairo/perf/cairo-perf-trace.c
    functionUses: []
    functionsReached:
    - getline
    - fclose
    - free
    - strndup
    - xrealloc
    - strchr
    - isspace
    - fopen
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t read_excludes (cairo_perf_t *perf,\t const char\
      \ *filename) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: opendir
      Src: /src/cairo/perf/cairo-perf-trace.c:943,1
    - Dst: cairo_perf_can_run
      Src: /src/cairo/perf/cairo-perf-trace.c:948,1
    - Dst: xasprintf
      Src: /src/cairo/perf/cairo-perf-trace.c:958,1
    - Dst: stat
      Src: /src/cairo/perf/cairo-perf-trace.c:959,1
    - Dst: readdir
      Src: /src/cairo/perf/cairo-perf-trace.c:951,1
    - Dst: S_ISDIR
      Src: /src/cairo/perf/cairo-perf-trace.c:962,1
    - Dst: cairo_perf_trace_dir
      Src: /src/cairo/perf/cairo-perf-trace.c:963,1
    - Dst: strrchr
      Src: /src/cairo/perf/cairo-perf-trace.c:967,1
    - Dst: strcmp
      Src: /src/cairo/perf/cairo-perf-trace.c:970,1
    - Dst: cairo_perf_can_run
      Src: /src/cairo/perf/cairo-perf-trace.c:974,1
    - Dst: cairo_perf_trace
      Src: /src/cairo/perf/cairo-perf-trace.c:977,1
    - Dst: free
      Src: /src/cairo/perf/cairo-perf-trace.c:980,1
    - Dst: closedir
      Src: /src/cairo/perf/cairo-perf-trace.c:983,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 31
    argCount: 3
    argNames:
    - perf
    - target
    - dirname
    argTypes:
    - cairo_perf_t*
    - cairo_boilerplate_target_t*
    - char*
    constantsTouched: []
    func_position:
      end: 986
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 986
    functionName: cairo_perf_trace_dir
    functionSourceFile: /src/cairo/perf/cairo-perf-trace.c
    functionUses: []
    functionsReached:
    - cairo_perf_trace
    - free
    - xasprintf
    - opendir
    - strrchr
    - strcmp
    - stat
    - readdir
    - cairo_perf_can_run
    - closedir
    - cairo_perf_trace_dir
    - S_ISDIR
    linkageType: ''
    returnType: int
    signature: "static int cairo_perf_trace_dir (cairo_perf_t\t\t *perf,\t\t const\
      \ cairo_boilerplate_target_t *target,\t\t const char\t\t *dirname) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: parse_options
      Src: /src/cairo/perf/cairo-perf-trace.c:997,1
    - Dst: cairo_boilerplate_get_targets
      Src: /src/cairo/perf/cairo-perf-trace.c:1004,1
    - Dst: getenv
      Src: /src/cairo/perf/cairo-perf-trace.c:1001,1
    - Dst: signal
      Src: /src/cairo/perf/cairo-perf-trace.c:999,1
    - Dst: getenv
      Src: /src/cairo/perf/cairo-perf-trace.c:1002,1
    - Dst: xmalloc
      Src: /src/cairo/perf/cairo-perf-trace.c:1005,1
    - Dst: have_trace_filenames
      Src: /src/cairo/perf/cairo-perf-trace.c:1008,1
    - Dst: stat
      Src: /src/cairo/perf/cairo-perf-trace.c:1024,1
    - Dst: S_ISDIR
      Src: /src/cairo/perf/cairo-perf-trace.c:1025,1
    - Dst: cairo_perf_trace_dir
      Src: /src/cairo/perf/cairo-perf-trace.c:1026,1
    - Dst: strchr
      Src: /src/cairo/perf/cairo-perf-trace.c:1038,1
    - Dst: cairo_perf_trace
      Src: /src/cairo/perf/cairo-perf-trace.c:1028,1
    - Dst: cairo_perf_trace_dir
      Src: /src/cairo/perf/cairo-perf-trace.c:1047,1
    - Dst: warn_no_traces
      Src: /src/cairo/perf/cairo-perf-trace.c:1052,1
    - Dst: cairo_perf_fini
      Src: /src/cairo/perf/cairo-perf-trace.c:1061,1
    - Dst: memcpy
      Src: /src/cairo/perf/cairo-perf-trace.c:1040,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 54
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1064
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 1064
    functionName: main
    functionSourceFile: /src/cairo/perf/cairo-perf-trace.c
    functionUses: []
    functionsReached:
    - signal
    - cairo_perf_trace
    - memcpy
    - getenv
    - xmalloc
    - parse_options
    - have_trace_filenames
    - warn_no_traces
    - stat
    - strchr
    - cairo_boilerplate_get_targets
    - cairo_perf_fini
    - S_ISDIR
    - cairo_perf_trace_dir
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_recording_surface_create
      Src: /src/cairo/perf/cairo-perf-trace.c:626,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/perf/cairo-perf-trace.c:629,1
    - Dst: cairo_surface_create_observer
      Src: /src/cairo/perf/cairo-perf-trace.c:627,1
    - Dst: cairo_surface_observer_add_finish_callback
      Src: /src/cairo/perf/cairo-perf-trace.c:631,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 636
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 636
    functionName: _tiling_surface_create
    functionSourceFile: /src/cairo/perf/cairo-perf-trace.c
    functionUses: []
    functionsReached:
    - cairo_surface_create_observer
    - cairo_recording_surface_create
    - cairo_surface_observer_add_finish_callback
    - cairo_surface_destroy
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_tiling_surface_create (void\t\t *closure,\t\
      \t\tcairo_content_t content,\t\t\tdouble\t\t width,\t\t\tdouble\t\t height,\t\
      \t\tlong\t\t uid) "
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: xstrdup
      Src: /src/cairo/perf/cairo-perf-trace.c:132,1
    - Dst: strstr
      Src: /src/cairo/perf/cairo-perf-trace.c:154,1
    - Dst: strrchr
      Src: /src/cairo/perf/cairo-perf-trace.c:133,1
    - Dst: strcmp
      Src: /src/cairo/perf/cairo-perf-trace.c:142,1
    - Dst: strstr
      Src: /src/cairo/perf/cairo-perf-trace.c:140,1
    - Dst: strcmp
      Src: /src/cairo/perf/cairo-perf-trace.c:156,1
    - Dst: free
      Src: /src/cairo/perf/cairo-perf-trace.c:165,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 34
    argCount: 3
    argNames:
    - perf
    - name
    - is_explicit
    argTypes:
    - cairo_perf_t*
    - char*
    - cairo_bool_t*
    constantsTouched: []
    func_position:
      end: 168
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 168
    functionName: cairo_perf_can_run
    functionSourceFile: /src/cairo/perf/cairo-perf-trace.c
    functionUses: []
    functionsReached:
    - xstrdup
    - free
    - strrchr
    - strcmp
    - strstr
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t cairo_perf_can_run (cairo_perf_t *perf,\t\t const char\t\
      \ *name,\t\t cairo_bool_t *is_explicit) "
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-trace.c:675,1
    - Dst: cairo_surface_create_observer
      Src: /src/cairo/perf/cairo-perf-trace.c:719,1
    - Dst: cairo_perf_timer_set_synchronize
      Src: /src/cairo/perf/cairo-perf-trace.c:731,1
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-perf-trace.c:725,1
    - Dst: cairo_perf_yield
      Src: /src/cairo/perf/cairo-perf-trace.c:749,1
    - Dst: cairo_script_interpreter_destroy
      Src: /src/cairo/perf/cairo-perf-trace.c:783,1
    - Dst: fflush
      Src: /src/cairo/perf/cairo-perf-trace.c:906,1
    - Dst: _cairo_stats_compute
      Src: /src/cairo/perf/cairo-perf-trace.c:840,1
    - Dst: _cairo_time_to_s
      Src: /src/cairo/perf/cairo-perf-trace.c:854,1
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-perf-trace.c:681,1
    - Dst: describe
      Src: /src/cairo/perf/cairo-perf-trace.c:734,1
    - Dst: cairo_device_observer_mask_elapsed
      Src: /src/cairo/perf/cairo-perf-trace.c:766,1
    - Dst: _cairo_time_from_s
      Src: /src/cairo/perf/cairo-perf-trace.c:769,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/cairo-perf-trace.c:772,1
    - Dst: _cairo_stats_compute
      Src: /src/cairo/perf/cairo-perf-trace.c:817,1
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-perf-trace.c:837,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/cairo-perf-trace.c:750,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-trace.c:801,1
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-perf-trace.c:825,1
    - Dst: _cairo_stats_compute
      Src: /src/cairo/perf/cairo-perf-trace.c:876,1
    - Dst: _cairo_stats_compute
      Src: /src/cairo/perf/cairo-perf-trace.c:880,1
    - Dst: _cairo_stats_compute
      Src: /src/cairo/perf/cairo-perf-trace.c:884,1
    - Dst: _cairo_stats_compute
      Src: /src/cairo/perf/cairo-perf-trace.c:888,1
    - Dst: _cairo_stats_compute
      Src: /src/cairo/perf/cairo-perf-trace.c:892,1
    - Dst: _cairo_time_to_s
      Src: /src/cairo/perf/cairo-perf-trace.c:846,1
    - Dst: cairo_surface_status
      Src: /src/cairo/perf/cairo-perf-trace.c:724,1
    - Dst: _cairo_stats_compute
      Src: /src/cairo/perf/cairo-perf-trace.c:864,1
    - Dst: fflush
      Src: /src/cairo/perf/cairo-perf-trace.c:802,1
    - Dst: _cairo_time_to_s
      Src: /src/cairo/perf/cairo-perf-trace.c:853,1
    - Dst: _cairo_time_to_s
      Src: /src/cairo/perf/cairo-perf-trace.c:878,1
    - Dst: _cairo_time_to_s
      Src: /src/cairo/perf/cairo-perf-trace.c:882,1
    - Dst: _cairo_time_to_s
      Src: /src/cairo/perf/cairo-perf-trace.c:886,1
    - Dst: _cairo_time_to_s
      Src: /src/cairo/perf/cairo-perf-trace.c:890,1
    - Dst: _cairo_time_to_s
      Src: /src/cairo/perf/cairo-perf-trace.c:874,1
    - Dst: _cairo_time_to_s
      Src: /src/cairo/perf/cairo-perf-trace.c:902,1
    - Dst: xstrdup
      Src: /src/cairo/perf/cairo-perf-trace.c:664,1
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-perf-trace.c:687,1
    - Dst: cairo_script_interpreter_get_line_number
      Src: /src/cairo/perf/cairo-perf-trace.c:754,1
    - Dst: _cairo_time_from_s
      Src: /src/cairo/perf/cairo-perf-trace.c:765,1
    - Dst: _cairo_time_to_s
      Src: /src/cairo/perf/cairo-perf-trace.c:842,1
    - Dst: scache_clear
      Src: /src/cairo/perf/cairo-perf-trace.c:776,1
    - Dst: _cairo_time_to_double
      Src: /src/cairo/perf/cairo-perf-trace.c:800,1
    - Dst: fill_surface
      Src: /src/cairo/perf/cairo-perf-trace.c:715,1
    - Dst: cairo_device_observer_stroke_elapsed
      Src: /src/cairo/perf/cairo-perf-trace.c:767,1
    - Dst: _cairo_time_to_s
      Src: /src/cairo/perf/cairo-perf-trace.c:894,1
    - Dst: fflush
      Src: /src/cairo/perf/cairo-perf-trace.c:912,1
    - Dst: _cairo_stats_compute
      Src: /src/cairo/perf/cairo-perf-trace.c:828,1
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-perf-trace.c:848,1
    - Dst: _cairo_time_to_s
      Src: /src/cairo/perf/cairo-perf-trace.c:834,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/perf/cairo-perf-trace.c:788,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-trace.c:795,1
    - Dst: _cairo_stats_compute
      Src: /src/cairo/perf/cairo-perf-trace.c:805,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-trace.c:668,1
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-perf-trace.c:736,1
    - Dst: cairo_script_interpreter_install_hooks
      Src: /src/cairo/perf/cairo-perf-trace.c:746,1
    - Dst: cairo_device_observer_elapsed
      Src: /src/cairo/perf/cairo-perf-trace.c:764,1
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-perf-trace.c:845,1
    - Dst: cairo_script_interpreter_run
      Src: /src/cairo/perf/cairo-perf-trace.c:753,1
    - Dst: cairo_surface_get_device
      Src: /src/cairo/perf/cairo-perf-trace.c:763,1
    - Dst: _cairo_time_from_s
      Src: /src/cairo/perf/cairo-perf-trace.c:764,1
    - Dst: cairo_device_observer_glyphs_elapsed
      Src: /src/cairo/perf/cairo-perf-trace.c:769,1
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-perf-trace.c:877,1
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-perf-trace.c:881,1
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-perf-trace.c:885,1
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-perf-trace.c:889,1
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-perf-trace.c:899,1
    - Dst: _cairo_time_to_s
      Src: /src/cairo/perf/cairo-perf-trace.c:830,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/cairo-perf-trace.c:773,1
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-perf-trace.c:841,1
    - Dst: _cairo_stats_compute
      Src: /src/cairo/perf/cairo-perf-trace.c:844,1
    - Dst: cairo_script_interpreter_finish
      Src: /src/cairo/perf/cairo-perf-trace.c:760,1
    - Dst: _cairo_time_from_s
      Src: /src/cairo/perf/cairo-perf-trace.c:766,1
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-perf-trace.c:851,1
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-perf-trace.c:893,1
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-perf-trace.c:833,1
    - Dst: fflush
      Src: /src/cairo/perf/cairo-perf-trace.c:858,1
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-perf-trace.c:786,1
    - Dst: cairo_script_interpreter_create
      Src: /src/cairo/perf/cairo-perf-trace.c:745,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/perf/cairo-perf-trace.c:721,1
    - Dst: cairo_device_observer_fill_elapsed
      Src: /src/cairo/perf/cairo-perf-trace.c:768,1
    - Dst: _cairo_stats_compute
      Src: /src/cairo/perf/cairo-perf-trace.c:836,1
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-perf-trace.c:873,1
    - Dst: fflush
      Src: /src/cairo/perf/cairo-perf-trace.c:741,1
    - Dst: _cairo_time_from_s
      Src: /src/cairo/perf/cairo-perf-trace.c:768,1
    - Dst: free
      Src: /src/cairo/perf/cairo-perf-trace.c:916,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/perf/cairo-perf-trace.c:778,1
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-perf-trace.c:829,1
    - Dst: basename_no_ext
      Src: /src/cairo/perf/cairo-perf-trace.c:665,1
    - Dst: _cairo_stats_compute
      Src: /src/cairo/perf/cairo-perf-trace.c:832,1
    - Dst: _cairo_time_to_s
      Src: /src/cairo/perf/cairo-perf-trace.c:838,1
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-perf-trace.c:819,1
    - Dst: free
      Src: /src/cairo/perf/cairo-perf-trace.c:669,1
    - Dst: _cairo_time_to_s
      Src: /src/cairo/perf/cairo-perf-trace.c:826,1
    - Dst: fill_surface
      Src: /src/cairo/perf/cairo-perf-trace.c:771,1
    - Dst: _cairo_time_from_s
      Src: /src/cairo/perf/cairo-perf-trace.c:800,1
    - Dst: cairo_device_observer_paint_elapsed
      Src: /src/cairo/perf/cairo-perf-trace.c:765,1
    - Dst: _cairo_time_from_s
      Src: /src/cairo/perf/cairo-perf-trace.c:767,1
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-perf-trace.c:866,1
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-perf-trace.c:896,1
    - Dst: _cairo_time_to_s
      Src: /src/cairo/perf/cairo-perf-trace.c:901,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-trace.c:911,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 195
    argCount: 3
    argNames:
    - perf
    - target
    - trace
    argTypes:
    - cairo_perf_t*
    - cairo_boilerplate_target_t*
    - char*
    constantsTouched: []
    func_position:
      end: 917
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 917
    functionName: cairo_perf_trace
    functionSourceFile: /src/cairo/perf/cairo-perf-trace.c
    functionUses: []
    functionsReached:
    - printf
    - fill_surface
    - cairo_device_observer_stroke_elapsed
    - cairo_script_interpreter_finish
    - cairo_script_interpreter_get_line_number
    - cairo_script_interpreter_create
    - cairo_script_interpreter_run
    - fflush
    - fprintf
    - cairo_device_observer_paint_elapsed
    - cairo_device_observer_glyphs_elapsed
    - cairo_surface_status
    - cairo_script_interpreter_destroy
    - scache_clear
    - cairo_script_interpreter_install_hooks
    - _cairo_time_from_s
    - xstrdup
    - basename_no_ext
    - _cairo_time_to_double
    - cairo_surface_create_observer
    - cairo_device_observer_mask_elapsed
    - cairo_perf_yield
    - cairo_perf_timer_set_synchronize
    - cairo_surface_get_device
    - cairo_perf_timer_elapsed
    - _cairo_time_to_s
    - cairo_perf_timer_stop
    - cairo_status_to_string
    - cairo_perf_timer_start
    - describe
    - free
    - cairo_surface_destroy
    - cairo_device_observer_elapsed
    - cairo_device_observer_fill_elapsed
    - _cairo_stats_compute
    linkageType: ''
    returnType: void
    signature: "static void cairo_perf_trace (cairo_perf_t\t\t\t *perf,\t\t const\
      \ cairo_boilerplate_target_t *target,\t\t const char\t\t\t *trace) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/perf/cairo-perf-trace.c:231,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/perf/cairo-perf-trace.c:232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 235
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 235
    functionName: scache_clear
    functionSourceFile: /src/cairo/perf/cairo-perf-trace.c
    functionUses: []
    functionsReached:
    - ARRAY_LENGTH
    - cairo_surface_destroy
    linkageType: ''
    returnType: void
    signature: 'static void scache_clear (void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/perf/cairo-perf-trace.c:256,1
    - Dst: _cairo_hash_table_lookup
      Src: /src/cairo/perf/cairo-perf-trace.c:263,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/perf/cairo-perf-trace.c:269,1
    - Dst: malloc
      Src: /src/cairo/perf/cairo-perf-trace.c:278,1
    - Dst: _cairo_hash_table_insert
      Src: /src/cairo/perf/cairo-perf-trace.c:287,1
    - Dst: free
      Src: /src/cairo/perf/cairo-perf-trace.c:288,1
    - Dst: cairo_surface_set_user_data
      Src: /src/cairo/perf/cairo-perf-trace.c:289,1
    - Dst: scache_remove
      Src: /src/cairo/perf/cairo-perf-trace.c:294,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 298
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 298
    functionName: _similar_surface_create
    functionSourceFile: /src/cairo/perf/cairo-perf-trace.c
    functionUses: []
    functionsReached:
    - malloc
    - cairo_surface_set_user_data
    - _cairo_hash_table_lookup
    - free
    - cairo_surface_reference
    - scache_remove
    - _cairo_hash_table_insert
    - cairo_surface_create_similar
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_similar_surface_create (void\t\t *closure,\t\
      \t\t cairo_content_t content,\t\t\t double\t\t width,\t\t\t double\t\t height,\t\
      \t\t long\t\t uid) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scache_mark_active
      Src: /src/cairo/perf/cairo-perf-trace.c:317,1
    - Dst: cairo_create
      Src: /src/cairo/perf/cairo-perf-trace.c:318,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 319
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 319
    functionName: _context_create
    functionSourceFile: /src/cairo/perf/cairo-perf-trace.c
    functionUses: []
    functionsReached:
    - scache_mark_active
    - cairo_create
    linkageType: ''
    returnType: cairo_t*
    signature: "static cairo_t *_context_create (void\t\t *closure,\t\t cairo_surface_t\
      \ *surface) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/cairo/perf/cairo-perf-trace.c:327,1
    - Dst: raise
      Src: /src/cairo/perf/cairo-perf-trace.c:328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 332
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 332
    functionName: interrupt
    functionSourceFile: /src/cairo/perf/cairo-perf-trace.c
    functionUses: []
    functionsReached:
    - signal
    - raise
    linkageType: ''
    returnType: void
    signature: 'static void interrupt (int sig) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: access
      Src: /src/cairo/perf/cairo-perf-trace.c:558,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - perf
    argTypes:
    - cairo_perf_t*
    constantsTouched: []
    func_position:
      end: 563
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 563
    functionName: have_trace_filenames
    functionSourceFile: /src/cairo/perf/cairo-perf-trace.c
    functionUses: []
    functionsReached:
    - access
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t have_trace_filenames (cairo_perf_t *perf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: basename
      Src: /src/cairo/perf/cairo-perf-trace.c:77,1
    - Dst: strrchr
      Src: /src/cairo/perf/cairo-perf-trace.c:79,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 84
    functionName: basename_no_ext
    functionSourceFile: /src/cairo/perf/cairo-perf-trace.c
    functionUses: []
    functionsReached:
    - strrchr
    - basename
    linkageType: ''
    returnType: char*
    signature: 'static char *basename_no_ext (char *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_hash_table_remove
      Src: /src/cairo/perf/cairo-perf-trace.c:240,1
    - Dst: free
      Src: /src/cairo/perf/cairo-perf-trace.c:241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - closure
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 242
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 242
    functionName: scache_remove
    functionSourceFile: /src/cairo/perf/cairo-perf-trace.c
    functionUses: []
    functionsReached:
    - _cairo_hash_table_remove
    - free
    linkageType: ''
    returnType: void
    signature: 'static void scache_remove (void *closure) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar_image
      Src: /src/cairo/perf/cairo-perf-trace.c:309,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 311
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 311
    functionName: _source_image_create
    functionSourceFile: /src/cairo/perf/cairo-perf-trace.c
    functionUses: []
    functionsReached:
    - cairo_surface_create_similar_image
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_source_image_create (void\t\t*closure,\t\t\
      \ cairo_format_t\t format,\t\t int\t\t width,\t\t int\t\t height,\t\t long\t\
      \t uid) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-trace.c:351,1
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-perf-trace.c:355,1
    - Dst: free
      Src: /src/cairo/perf/cairo-perf-trace.c:361,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 2
    argNames:
    - perf
    - closure
    argTypes:
    - cairo_perf_t*
    - void*
    constantsTouched: []
    func_position:
      end: 362
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 362
    functionName: describe
    functionSourceFile: /src/cairo/perf/cairo-perf-trace.c
    functionUses: []
    functionsReached:
    - printf
    - free
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'static void describe (cairo_perf_t *perf, void *closure) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_recording_surface_get_extents
      Src: /src/cairo/perf/cairo-perf-trace.c:577,1
    - Dst: cairo_create
      Src: /src/cairo/perf/cairo-perf-trace.c:601,1
    - Dst: cairo_set_operator
      Src: /src/cairo/perf/cairo-perf-trace.c:602,1
    - Dst: cairo_surface_get_content
      Src: /src/cairo/perf/cairo-perf-trace.c:581,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/perf/cairo-perf-trace.c:603,1
    - Dst: cairo_paint
      Src: /src/cairo/perf/cairo-perf-trace.c:604,1
    - Dst: cairo_destroy
      Src: /src/cairo/perf/cairo-perf-trace.c:605,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/perf/cairo-perf-trace.c:607,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 3
    argNames:
    - observer
    - target
    - closure
    argTypes:
    - cairo_surface_t*
    - cairo_surface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 610
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 610
    functionName: _tiling_surface_finish
    functionSourceFile: /src/cairo/perf/cairo-perf-trace.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_create
    - cairo_recording_surface_get_extents
    - cairo_surface_destroy
    - cairo_set_operator
    - cairo_surface_get_content
    - cairo_destroy
    - cairo_set_source_surface
    linkageType: ''
    returnType: void
    signature: "static void _tiling_surface_finish (cairo_surface_t *observer,\t\t\
      \tcairo_surface_t *target,\t\t\tvoid *closure) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/cairo/perf/dirent-win32.h:51,1
    - Dst: FindFirstFile
      Src: /src/cairo/perf/dirent-win32.h:55,1
    - Dst: unlikely
      Src: /src/cairo/perf/dirent-win32.h:57,1
    - Dst: free
      Src: /src/cairo/perf/dirent-win32.h:58,1
    - Dst: unlikely
      Src: /src/cairo/perf/dirent-win32.h:52,1
    - Dst: memcpy
      Src: /src/cairo/perf/dirent-win32.h:62,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 69
    functionName: opendir
    functionSourceFile: /src/cairo/perf/dirent-win32.h
    functionUses: []
    functionsReached:
    - malloc
    - memcpy
    - free
    - FindFirstFile
    - unlikely
    linkageType: ''
    returnType: DIR*
    signature: 'static DIR *opendir(const char *dirname) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindClose
      Src: /src/cairo/perf/dirent-win32.h:76,1
    - Dst: free
      Src: /src/cairo/perf/dirent-win32.h:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - dirp
    argTypes:
    - DIR*
    constantsTouched: []
    func_position:
      end: 83
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 83
    functionName: closedir
    functionSourceFile: /src/cairo/perf/dirent-win32.h
    functionUses: []
    functionsReached:
    - free
    - FindClose
    linkageType: ''
    returnType: int
    signature: 'static int closedir(DIR *dirp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cairo/perf/dirent-win32.h:93,1
    - Dst: FindNextFile
      Src: /src/cairo/perf/dirent-win32.h:97,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 100
    functionName: readdir
    functionSourceFile: /src/cairo/perf/dirent-win32.h
    functionUses: []
    functionsReached:
    - memcpy
    - FindNextFile
    linkageType: ''
    returnType: struct dirent*
    signature: 'static struct dirent *readdir(DIR *dirp) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fileno
      Src: /src/cairo/perf/cairo-perf-print.c:62,1
    - Dst: _cairo_histogram_compute
      Src: /src/cairo/perf/cairo-perf-print.c:93,1
    - Dst: ioctl
      Src: /src/cairo/perf/cairo-perf-print.c:66,1
    - Dst: isatty
      Src: /src/cairo/perf/cairo-perf-print.c:63,1
    - Dst: _cairo_histogram_init
      Src: /src/cairo/perf/cairo-perf-print.c:73,1
    - Dst: _cairo_histogram_printf
      Src: /src/cairo/perf/cairo-perf-print.c:94,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-print.c:98,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-print.c:102,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-print.c:104,1
    - Dst: _cairo_histogram_fini
      Src: /src/cairo/perf/cairo-perf-print.c:111,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 2
    argNames:
    - report
    - show_histogram
    argTypes:
    - cairo_perf_report_t*
    - int
    constantsTouched: []
    func_position:
      end: 112
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 112
    functionName: report_print
    functionSourceFile: /src/cairo/perf/cairo-perf-print.c
    functionUses: []
    functionsReached:
    - printf
    - fileno
    - _cairo_histogram_fini
    - _cairo_histogram_compute
    - ioctl
    - _cairo_histogram_printf
    - isatty
    - _cairo_histogram_init
    linkageType: ''
    returnType: void
    signature: "static void report_print (const cairo_perf_report_t *report,\t int\
      \ show_histogram) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cairo/perf/cairo-perf-print.c:124,1
    - Dst: cairo_perf_report_load
      Src: /src/cairo/perf/cairo-perf-print.c:134,1
    - Dst: report_print
      Src: /src/cairo/perf/cairo-perf-print.c:135,1
    - Dst: strcmp
      Src: /src/cairo/perf/cairo-perf-print.c:129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 139
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 139
    functionName: main
    functionSourceFile: /src/cairo/perf/cairo-perf-print.c
    functionUses: []
    functionsReached:
    - cairo_perf_report_load
    - strcmp
    - report_print
    linkageType: ''
    returnType: int
    signature: "int main (int\t argc, const char *argv[]) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/perf/cairo-stats.c:39,1
    - Dst: _cairo_time_add
      Src: /src/cairo/perf/cairo-stats.c:90,1
    - Dst: sqrt
      Src: /src/cairo/perf/cairo-stats.c:99,1
    - Dst: qsort
      Src: /src/cairo/perf/cairo-stats.c:62,1
    - Dst: assert
      Src: /src/cairo/perf/cairo-stats.c:79,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 67
    argCount: 3
    argNames:
    - stats
    - values
    - num_values
    argTypes:
    - cairo_stats_t*
    - cairo_time_t*
    - int
    constantsTouched: []
    func_position:
      end: 100
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 100
    functionName: _cairo_stats_compute
    functionSourceFile: /src/cairo/perf/cairo-stats.c
    functionUses: []
    functionsReached:
    - sqrt
    - _cairo_time_add
    - qsort
    - assert
    linkageType: ''
    returnType: void
    signature: "void _cairo_stats_compute (cairo_stats_t *stats,\t\t cairo_time_t\
      \ *values,\t\t int\t num_values) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cairo/perf/cairo-stats.c:142,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 3
    argNames:
    - h
    - values
    - num_values
    argTypes:
    - cairo_histogram_t*
    - cairo_time_t*
    - int
    constantsTouched: []
    func_position:
      end: 152
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 152
    functionName: _cairo_histogram_compute
    functionSourceFile: /src/cairo/perf/cairo-stats.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t _cairo_histogram_compute (cairo_histogram_t *h,\t\t\t\
      \ const cairo_time_t *values,\t\t\t int num_values) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/perf/cairo-stats.c:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - cairo_histogram_t*
    constantsTouched: []
    func_position:
      end: 181
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 181
    functionName: _cairo_histogram_fini
    functionSourceFile: /src/cairo/perf/cairo-stats.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void _cairo_histogram_fini (cairo_histogram_t *h) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-stats.c:165,1
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-stats.c:168,1
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-stats.c:173,1
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-stats.c:171,1
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-stats.c:167,1
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-stats.c:174,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - h
    - file
    argTypes:
    - cairo_histogram_t*
    - FILE*
    constantsTouched: []
    func_position:
      end: 175
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 175
    functionName: _cairo_histogram_printf
    functionSourceFile: /src/cairo/perf/cairo-stats.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void _cairo_histogram_printf (cairo_histogram_t *h,\t\t\t FILE *file) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/cairo/perf/cairo-stats.c:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - h
    - width
    - height
    argTypes:
    - cairo_histogram_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 115
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 115
    functionName: _cairo_histogram_init
    functionSourceFile: /src/cairo/perf/cairo-stats.c
    functionUses: []
    functionsReached:
    - malloc
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t _cairo_histogram_init (cairo_histogram_t *h,\t\t int\
      \ width, int height) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cairo/perf/cairo-perf-report.c:270,1
    - Dst: strcmp
      Src: /src/cairo/perf/cairo-perf-report.c:287,1
    - Dst: strcmp
      Src: /src/cairo/perf/cairo-perf-report.c:274,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 12
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 297
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 297
    functionName: test_report_cmp_backend_then_name
    functionSourceFile: /src/cairo/perf/cairo-perf-report.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int test_report_cmp_backend_then_name (const void *a,\t\t\t\t const\
      \ void *b) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cairo/perf/cairo-perf-report.c:317,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 327
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 327
    functionName: test_report_cmp_name
    functionSourceFile: /src/cairo/perf/cairo-perf-report.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int test_report_cmp_name (const void *a,\t\t const void *b) "
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: skip_char
      Src: /src/cairo/perf/cairo-perf-report.c:129,1
    - Dst: parse_int
      Src: /src/cairo/perf/cairo-perf-report.c:137,1
    - Dst: xstrdup
      Src: /src/cairo/perf/cairo-perf-report.c:149,1
    - Dst: parse_long_long
      Src: /src/cairo/perf/cairo-perf-report.c:178,1
    - Dst: atoi
      Src: /src/cairo/perf/cairo-perf-report.c:157,1
    - Dst: skip_space
      Src: /src/cairo/perf/cairo-perf-report.c:199,1
    - Dst: parse_double
      Src: /src/cairo/perf/cairo-perf-report.c:206,1
    - Dst: skip_char
      Src: /src/cairo/perf/cairo-perf-report.c:215,1
    - Dst: skip_space
      Src: /src/cairo/perf/cairo-perf-report.c:210,1
    - Dst: skip_space
      Src: /src/cairo/perf/cairo-perf-report.c:141,1
    - Dst: parse_string
      Src: /src/cairo/perf/cairo-perf-report.c:145,1
    - Dst: skip_space
      Src: /src/cairo/perf/cairo-perf-report.c:151,1
    - Dst: parse_string
      Src: /src/cairo/perf/cairo-perf-report.c:153,1
    - Dst: skip_space
      Src: /src/cairo/perf/cairo-perf-report.c:167,1
    - Dst: xmalloc
      Src: /src/cairo/perf/cairo-perf-report.c:170,1
    - Dst: skip_space
      Src: /src/cairo/perf/cairo-perf-report.c:188,1
    - Dst: parse_double
      Src: /src/cairo/perf/cairo-perf-report.c:193,1
    - Dst: parse_double
      Src: /src/cairo/perf/cairo-perf-report.c:196,1
    - Dst: skip_space
      Src: /src/cairo/perf/cairo-perf-report.c:204,1
    - Dst: skip_char
      Src: /src/cairo/perf/cairo-perf-report.c:139,1
    - Dst: skip_space
      Src: /src/cairo/perf/cairo-perf-report.c:159,1
    - Dst: skip_char
      Src: /src/cairo/perf/cairo-perf-report.c:191,1
    - Dst: parse_double
      Src: /src/cairo/perf/cairo-perf-report.c:201,1
    - Dst: skip_char
      Src: /src/cairo/perf/cairo-perf-report.c:208,1
    - Dst: parse_int
      Src: /src/cairo/perf/cairo-perf-report.c:212,1
    - Dst: skip_space
      Src: /src/cairo/perf/cairo-perf-report.c:130,1
    - Dst: strrchr
      Src: /src/cairo/perf/cairo-perf-report.c:146,1
    - Dst: parse_double
      Src: /src/cairo/perf/cairo-perf-report.c:166,1
    - Dst: strrchr
      Src: /src/cairo/perf/cairo-perf-report.c:154,1
    - Dst: xrealloc
      Src: /src/cairo/perf/cairo-perf-report.c:175,1
    - Dst: skip_space
      Src: /src/cairo/perf/cairo-perf-report.c:194,1
    - Dst: skip_space
      Src: /src/cairo/perf/cairo-perf-report.c:214,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 76
    argCount: 4
    argNames:
    - report
    - fileno
    - line
    - configuration
    argTypes:
    - test_report_t*
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 219
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 219
    functionName: test_report_parse
    functionSourceFile: /src/cairo/perf/cairo-perf-report.c
    functionUses: []
    functionsReached:
    - xstrdup
    - parse_double
    - parse_long_long
    - xmalloc
    - strrchr
    - parse_string
    - xrealloc
    - skip_space
    - skip_char
    - atoi
    - parse_int
    linkageType: ''
    returnType: test_report_status_t
    signature: "static test_report_status_t test_report_parse (test_report_t *report,\t\
      \t int fileno,\t\t char \t *line,\t\t char \t *configuration) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cairo/perf/cairo-perf-report.c:242,1
    - Dst: strrchr
      Src: /src/cairo/perf/cairo-perf-report.c:248,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 258
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 258
    functionName: basename
    functionSourceFile: /src/cairo/perf/cairo-perf-report.c
    functionUses: []
    functionsReached:
    - strrchr
    - strlen
    linkageType: ''
    returnType: char*
    signature: 'static char *basename (char *path) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/cairo/perf/cairo-perf-report.c:340,1
    - Dst: memcpy
      Src: /src/cairo/perf/cairo-perf-report.c:365,1
    - Dst: _cairo_stats_compute
      Src: /src/cairo/perf/cairo-perf-report.c:372,1
    - Dst: test_report_cmp_backend_then_name
      Src: /src/cairo/perf/cairo-perf-report.c:351,1
    - Dst: xrealloc
      Src: /src/cairo/perf/cairo-perf-report.c:361,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 39
    argCount: 2
    argNames:
    - report
    - (*cmp)
    argTypes:
    - cairo_perf_report_t*
    - int
    constantsTouched: []
    func_position:
      end: 375
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 375
    functionName: cairo_perf_report_sort_and_compute_stats
    functionSourceFile: /src/cairo/perf/cairo-perf-report.c
    functionUses: []
    functionsReached:
    - memcpy
    - test_report_cmp_backend_then_name
    - qsort
    - xrealloc
    - _cairo_stats_compute
    linkageType: ''
    returnType: void
    signature: "void cairo_perf_report_sort_and_compute_stats (cairo_perf_report_t\
      \ *report,\t\t\t\t\t int (*cmp) (const void*, const void*)) "
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: xstrdup
      Src: /src/cairo/perf/cairo-perf-report.c:396,1
    - Dst: strrchr
      Src: /src/cairo/perf/cairo-perf-report.c:401,1
    - Dst: xstrdup
      Src: /src/cairo/perf/cairo-perf-report.c:398,1
    - Dst: basename
      Src: /src/cairo/perf/cairo-perf-report.c:397,1
    - Dst: free
      Src: /src/cairo/perf/cairo-perf-report.c:399,1
    - Dst: xmalloc
      Src: /src/cairo/perf/cairo-perf-report.c:407,1
    - Dst: fopen
      Src: /src/cairo/perf/cairo-perf-report.c:414,1
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-perf-report.c:416,1
    - Dst: strerror
      Src: /src/cairo/perf/cairo-perf-report.c:417,1
    - Dst: exit
      Src: /src/cairo/perf/cairo-perf-report.c:418,1
    - Dst: xrealloc
      Src: /src/cairo/perf/cairo-perf-report.c:425,1
    - Dst: test_report_parse
      Src: /src/cairo/perf/cairo-perf-report.c:433,1
    - Dst: free
      Src: /src/cairo/perf/cairo-perf-report.c:443,1
    - Dst: cairo_perf_report_sort_and_compute_stats
      Src: /src/cairo/perf/cairo-perf-report.c:448,1
    - Dst: fclose
      Src: /src/cairo/perf/cairo-perf-report.c:446,1
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-perf-report.c:436,1
    - Dst: xrealloc
      Src: /src/cairo/perf/cairo-perf-report.c:453,1
    - Dst: getline
      Src: /src/cairo/perf/cairo-perf-report.c:430,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 57
    argCount: 4
    argNames:
    - report
    - filename
    - id
    - (*cmp)
    argTypes:
    - cairo_perf_report_t*
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 457
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 457
    functionName: cairo_perf_report_load
    functionSourceFile: /src/cairo/perf/cairo-perf-report.c
    functionUses: []
    functionsReached:
    - getline
    - xstrdup
    - cairo_perf_report_sort_and_compute_stats
    - fprintf
    - xmalloc
    - strerror
    - free
    - fclose
    - strrchr
    - basename
    - xrealloc
    - fopen
    - test_report_parse
    - exit
    linkageType: ''
    returnType: void
    signature: "void cairo_perf_report_load (cairo_perf_report_t *report,\t\t\tconst\
      \ char *filename, int id,\t\t\tint (*cmp) (const void *, const void *)) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _atoi64
      Src: /src/cairo/perf/cairo-perf-report.c:233,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - nptr
    - endptr
    - base
    argTypes:
    - char*
    - char**
    - int
    constantsTouched: []
    func_position:
      end: 234
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 234
    functionName: strtoll
    functionSourceFile: /src/cairo/perf/cairo-perf-report.c
    functionUses: []
    functionsReached:
    - _atoi64
    linkageType: ''
    returnType: long long
    signature: "long long strtoll (const char *nptr,\t char\t **endptr,\t int\t base) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - synchronize
    - closure
    argTypes:
    - cairo_perf_timer_synchronize_t
    - void*
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: cairo_perf_timer_set_synchronize
    functionSourceFile: /src/cairo/perf/cairo-perf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void cairo_perf_timer_set_synchronize (cairo_perf_timer_synchronize_t\
      \ synchronize,\t\t\t\t void\t\t\t\t *closure) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_timer_synchronize
      Src: /src/cairo/perf/cairo-perf.c:68,1
    - Dst: _cairo_time_get_delta
      Src: /src/cairo/perf/cairo-perf.c:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: cairo_perf_timer_stop
    functionSourceFile: /src/cairo/perf/cairo-perf.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_synchronize
    - _cairo_time_get_delta
    linkageType: ''
    returnType: void
    signature: 'void cairo_perf_timer_stop (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: cairo_perf_timer_elapsed
    functionSourceFile: /src/cairo/perf/cairo-perf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_time_t
    signature: 'cairo_time_t cairo_perf_timer_elapsed (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_time_get
      Src: /src/cairo/perf/cairo-perf.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: cairo_perf_timer_start
    functionSourceFile: /src/cairo/perf/cairo-perf.c
    functionUses: []
    functionsReached:
    - _cairo_time_get
    linkageType: ''
    returnType: void
    signature: 'void cairo_perf_timer_start (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SleepEx
      Src: /src/cairo/perf/cairo-perf.c:85,1
    - Dst: sleep
      Src: /src/cairo/perf/cairo-perf.c:89,1
    - Dst: sched_yield
      Src: /src/cairo/perf/cairo-perf.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 91
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 91
    functionName: cairo_perf_yield
    functionSourceFile: /src/cairo/perf/cairo-perf.c
    functionUses: []
    functionsReached:
    - sched_yield
    - SleepEx
    - sleep
    linkageType: ''
    returnType: void
    signature: 'void cairo_perf_yield (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:125,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:129,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:145,1
    - Dst: print_change_bar
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:144,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:136,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:148,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - diff
    - max_change
    - options
    argTypes:
    - test_diff_t*
    - double
    - cairo_perf_report_options_t*
    constantsTouched: []
    func_position:
      end: 149
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 149
    functionName: test_diff_print
    functionSourceFile: /src/cairo/perf/cairo-perf-compare-backends.c
    functionUses: []
    functionsReached:
    - printf
    - print_change_bar
    linkageType: ''
    returnType: void
    signature: "static void test_diff_print (test_diff_t\t\t *diff,\t\t double \t\t\
      \ max_change,\t\t cairo_perf_report_options_t *options) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:284,1
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:286,1
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:289,1
    - Dst: exit
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:308,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - argv0
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 309
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 309
    functionName: usage
    functionSourceFile: /src/cairo/perf/cairo-perf-compare-backends.c
    functionUses: []
    functionsReached:
    - strrchr
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void usage (const char *argv0) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 67
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 67
    functionName: test_diff_cmp
    functionSourceFile: /src/cairo/perf/cairo-perf-compare-backends.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "static int test_diff_cmp (const void *a,\t const void *b) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ceil
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:75,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:98,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:102,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:100,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:91,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:104,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:106,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:108,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:110,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:112,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 3
    argNames:
    - change
    - max_change
    - use_utf
    argTypes:
    - double
    - double
    - int
    constantsTouched: []
    func_position:
      end: 113
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 113
    functionName: print_change_bar
    functionSourceFile: /src/cairo/perf/cairo-perf-compare-backends.c
    functionUses: []
    functionsReached:
    - printf
    - ceil
    linkageType: ''
    returnType: void
    signature: "static void print_change_bar (double change,\t\t double max_change,\t\
      \t int\t use_utf) "
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:164,1
    - Dst: test_report_cmp_name
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:213,1
    - Dst: xmalloc
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:224,1
    - Dst: test_report_cmp_name
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:202,1
    - Dst: xmalloc
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:173,1
    - Dst: test_report_cmp_name
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:227,1
    - Dst: qsort
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:254,1
    - Dst: fabs
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:258,1
    - Dst: fabs
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:259,1
    - Dst: fabs
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:268,1
    - Dst: free
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:277,1
    - Dst: free
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:278,1
    - Dst: free
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:275,1
    - Dst: test_diff_print
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:271,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 95
    argCount: 3
    argNames:
    - reports
    - num_reports
    - options
    argTypes:
    - cairo_perf_report_t*
    - int
    - cairo_perf_report_options_t*
    constantsTouched: []
    func_position:
      end: 279
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 279
    functionName: cairo_perf_reports_compare
    functionSourceFile: /src/cairo/perf/cairo-perf-compare-backends.c
    functionUses: []
    functionsReached:
    - fabs
    - qsort
    - xmalloc
    - free
    - test_report_cmp_name
    - test_diff_print
    linkageType: ''
    returnType: void
    signature: "static void cairo_perf_reports_compare (cairo_perf_report_t \t*reports,\t\
      \t\t int \t\t\t num_reports,\t\t\t cairo_perf_report_options_t *options) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:319,1
    - Dst: strtod
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:330,1
    - Dst: strcmp
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:322,1
    - Dst: strcmp
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:325,1
    - Dst: usage
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:329,1
    - Dst: usage
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:335,1
    - Dst: xrealloc
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:341,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 3
    argNames:
    - argc
    - argv
    - args
    argTypes:
    - int
    - char**
    - cairo_perf_diff_files_args_t*
    constantsTouched: []
    func_position:
      end: 346
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 346
    functionName: parse_args
    functionSourceFile: /src/cairo/perf/cairo-perf-compare-backends.c
    functionUses: []
    functionsReached:
    - strtod
    - strcmp
    - usage
    - xrealloc
    linkageType: ''
    returnType: void
    signature: "static void parse_args (int \t\t\t argc,\t char const\t\t\t **argv,\t\
      \ cairo_perf_diff_files_args_t *args) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_args
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:365,1
    - Dst: cairo_perf_report_load
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:370,1
    - Dst: xcalloc
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:368,1
    - Dst: xcalloc
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:377,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:372,1
    - Dst: cairo_perf_report_load
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:378,1
    - Dst: cairo_perf_reports_compare
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:381,1
    - Dst: free
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:384,1
    - Dst: free
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:387,1
    - Dst: free
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:388,1
    - Dst: free
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:389,1
    - Dst: free
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:391,1
    - Dst: free
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:392,1
    - Dst: free
      Src: /src/cairo/perf/cairo-perf-compare-backends.c:394,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 397
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 397
    functionName: main
    functionSourceFile: /src/cairo/perf/cairo-perf-compare-backends.c
    functionUses: []
    functionsReached:
    - printf
    - cairo_perf_reports_compare
    - parse_args
    - free
    - xcalloc
    - cairo_perf_report_load
    linkageType: ''
    returnType: int
    signature: "int main (int\t argc, const char *argv[]) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/perf/cairo-analyse-trace.c:170,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 171
    functionName: surface_create
    functionSourceFile: /src/cairo/perf/cairo-analyse-trace.c
    functionUses: []
    functionsReached:
    - cairo_surface_create_similar
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *surface_create (void\t\t *closure,\t\tcairo_content_t\
      \ content,\t\tdouble\t\t width,\t\tdouble\t\t height,\t\tlong\t\t uid) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/cairo/perf/cairo-analyse-trace.c:179,1
    - Dst: raise
      Src: /src/cairo/perf/cairo-analyse-trace.c:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 184
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 184
    functionName: interrupt
    functionSourceFile: /src/cairo/perf/cairo-analyse-trace.c
    functionUses: []
    functionsReached:
    - signal
    - raise
    linkageType: ''
    returnType: void
    signature: 'static void interrupt (int sig) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xstrdup
      Src: /src/cairo/perf/cairo-analyse-trace.c:216,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-analyse-trace.c:220,1
    - Dst: basename_no_ext
      Src: /src/cairo/perf/cairo-analyse-trace.c:217,1
    - Dst: free
      Src: /src/cairo/perf/cairo-analyse-trace.c:221,1
    - Dst: describe
      Src: /src/cairo/perf/cairo-analyse-trace.c:225,1
    - Dst: cairo_script_interpreter_create
      Src: /src/cairo/perf/cairo-analyse-trace.c:232,1
    - Dst: cairo_script_interpreter_install_hooks
      Src: /src/cairo/perf/cairo-analyse-trace.c:233,1
    - Dst: cairo_script_interpreter_run
      Src: /src/cairo/perf/cairo-analyse-trace.c:235,1
    - Dst: cairo_script_interpreter_finish
      Src: /src/cairo/perf/cairo-analyse-trace.c:237,1
    - Dst: cairo_script_interpreter_get_line_number
      Src: /src/cairo/perf/cairo-analyse-trace.c:239,1
    - Dst: cairo_script_interpreter_destroy
      Src: /src/cairo/perf/cairo-analyse-trace.c:240,1
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-analyse-trace.c:243,1
    - Dst: free
      Src: /src/cairo/perf/cairo-analyse-trace.c:249,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/perf/cairo-analyse-trace.c:244,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 3
    argNames:
    - perf
    - args
    - trace
    argTypes:
    - cairo_perf_t*
    - struct trace*
    - char*
    constantsTouched: []
    func_position:
      end: 250
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 250
    functionName: execute
    functionSourceFile: /src/cairo/perf/cairo-analyse-trace.c
    functionUses: []
    functionsReached:
    - printf
    - xstrdup
    - basename_no_ext
    - describe
    - fprintf
    - free
    - cairo_script_interpreter_destroy
    - cairo_script_interpreter_finish
    - cairo_script_interpreter_install_hooks
    - cairo_script_interpreter_get_line_number
    - cairo_script_interpreter_create
    - cairo_script_interpreter_run
    - cairo_status_to_string
    linkageType: ''
    returnType: void
    signature: "static void execute (cairo_perf_t\t *perf,\t struct trace\t *args,\t\
      \ const char\t *trace) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/cairo/perf/cairo-analyse-trace.c:280,1
    - Dst: isspace
      Src: /src/cairo/perf/cairo-analyse-trace.c:292,1
    - Dst: isspace
      Src: /src/cairo/perf/cairo-analyse-trace.c:296,1
    - Dst: getline
      Src: /src/cairo/perf/cairo-analyse-trace.c:284,1
    - Dst: strchr
      Src: /src/cairo/perf/cairo-analyse-trace.c:286,1
    - Dst: xrealloc
      Src: /src/cairo/perf/cairo-analyse-trace.c:301,1
    - Dst: strndup
      Src: /src/cairo/perf/cairo-analyse-trace.c:303,1
    - Dst: free
      Src: /src/cairo/perf/cairo-analyse-trace.c:307,1
    - Dst: fclose
      Src: /src/cairo/perf/cairo-analyse-trace.c:309,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 2
    argNames:
    - perf
    - filename
    argTypes:
    - cairo_perf_t*
    - char*
    constantsTouched: []
    func_position:
      end: 312
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 312
    functionName: read_excludes
    functionSourceFile: /src/cairo/perf/cairo-analyse-trace.c
    functionUses: []
    functionsReached:
    - getline
    - fclose
    - free
    - strndup
    - xrealloc
    - strchr
    - isspace
    - fopen
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t read_excludes (cairo_perf_t *perf,\t const char\
      \ *filename) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_boilerplate_free_targets
      Src: /src/cairo/perf/cairo-analyse-trace.c:371,1
    - Dst: cairo_boilerplate_fini
      Src: /src/cairo/perf/cairo-analyse-trace.c:372,1
    - Dst: cairo_debug_reset_static_data
      Src: /src/cairo/perf/cairo-analyse-trace.c:374,1
    - Dst: FcFini
      Src: /src/cairo/perf/cairo-analyse-trace.c:376,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - perf
    argTypes:
    - cairo_perf_t*
    constantsTouched: []
    func_position:
      end: 378
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 378
    functionName: cairo_perf_fini
    functionSourceFile: /src/cairo/perf/cairo-analyse-trace.c
    functionUses: []
    functionsReached:
    - cairo_boilerplate_fini
    - FcFini
    - cairo_boilerplate_free_targets
    - cairo_debug_reset_static_data
    linkageType: ''
    returnType: void
    signature: 'static void cairo_perf_fini (cairo_perf_t *perf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/cairo/perf/cairo-analyse-trace.c:400,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - closure
    - data
    - length
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 402
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 402
    functionName: print
    functionSourceFile: /src/cairo/perf/cairo-analyse-trace.c
    functionUses: []
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t print (void *closure, const unsigned char *data,
      unsigned int length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-analyse-trace.c:450,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - message
    - trace_dir
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 457
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 457
    functionName: warn_no_traces
    functionSourceFile: /src/cairo/perf/cairo-analyse-trace.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: "static void warn_no_traces (const char *message,\t\tconst char *trace_dir) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _splitpath
      Src: /src/cairo/perf/cairo-analyse-trace.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 65
    functionName: basename_no_ext
    functionSourceFile: /src/cairo/perf/cairo-analyse-trace.c
    functionUses: []
    functionsReached:
    - _splitpath
    linkageType: ''
    returnType: char*
    signature: 'static char *basename_no_ext (char *path) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: basename
      Src: /src/cairo/perf/cairo-analyse-trace.c:76,1
    - Dst: strchr
      Src: /src/cairo/perf/cairo-analyse-trace.c:78,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 83
    functionName: basename_no_ext
    functionSourceFile: /src/cairo/perf/cairo-analyse-trace.c
    functionUses: []
    functionsReached:
    - strchr
    - basename
    linkageType: ''
    returnType: char*
    signature: 'static char *basename_no_ext (char *path) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: xstrdup
      Src: /src/cairo/perf/cairo-analyse-trace.c:124,1
    - Dst: strstr
      Src: /src/cairo/perf/cairo-analyse-trace.c:146,1
    - Dst: strstr
      Src: /src/cairo/perf/cairo-analyse-trace.c:132,1
    - Dst: strcmp
      Src: /src/cairo/perf/cairo-analyse-trace.c:134,1
    - Dst: strchr
      Src: /src/cairo/perf/cairo-analyse-trace.c:125,1
    - Dst: strcmp
      Src: /src/cairo/perf/cairo-analyse-trace.c:148,1
    - Dst: free
      Src: /src/cairo/perf/cairo-analyse-trace.c:157,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 34
    argCount: 3
    argNames:
    - perf
    - name
    - is_explicit
    argTypes:
    - cairo_perf_t*
    - char*
    - cairo_bool_t*
    constantsTouched: []
    func_position:
      end: 160
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 160
    functionName: cairo_perf_can_run
    functionSourceFile: /src/cairo/perf/cairo-analyse-trace.c
    functionUses: []
    functionsReached:
    - xstrdup
    - free
    - strcmp
    - strchr
    - strstr
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t cairo_perf_can_run (cairo_perf_t *perf,\t\t const char\t\
      \ *name,\t\t cairo_bool_t *is_explicit) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/perf/cairo-analyse-trace.c:202,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - perf
    - closure
    argTypes:
    - cairo_perf_t*
    - void*
    constantsTouched: []
    func_position:
      end: 203
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 203
    functionName: describe
    functionSourceFile: /src/cairo/perf/cairo-analyse-trace.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'static void describe (cairo_perf_t *perf, void *closure) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-analyse-trace.c:255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - argv0
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 269
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 269
    functionName: usage
    functionSourceFile: /src/cairo/perf/cairo-analyse-trace.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'static void usage (const char *argv0) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_getopt
      Src: /src/cairo/perf/cairo-analyse-trace.c:329,1
    - Dst: exit
      Src: /src/cairo/perf/cairo-analyse-trace.c:340,1
    - Dst: read_excludes
      Src: /src/cairo/perf/cairo-analyse-trace.c:347,1
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-analyse-trace.c:338,1
    - Dst: strtoul
      Src: /src/cairo/perf/cairo-analyse-trace.c:336,1
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-analyse-trace.c:348,1
    - Dst: exit
      Src: /src/cairo/perf/cairo-analyse-trace.c:350,1
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-analyse-trace.c:354,1
    - Dst: usage
      Src: /src/cairo/perf/cairo-analyse-trace.c:357,1
    - Dst: exit
      Src: /src/cairo/perf/cairo-analyse-trace.c:358,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 3
    argNames:
    - perf
    - argc
    - argv
    argTypes:
    - cairo_perf_t*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 366
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 366
    functionName: parse_options
    functionSourceFile: /src/cairo/perf/cairo-analyse-trace.c
    functionUses: []
    functionsReached:
    - read_excludes
    - usage
    - fprintf
    - _cairo_getopt
    - strtoul
    - exit
    linkageType: ''
    returnType: void
    signature: "static void parse_options (cairo_perf_t *perf,\t int\t argc,\t char\t\
      \ *argv[]) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: access
      Src: /src/cairo/perf/cairo-analyse-trace.c:390,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - perf
    argTypes:
    - cairo_perf_t*
    constantsTouched: []
    func_position:
      end: 395
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 395
    functionName: have_trace_filenames
    functionSourceFile: /src/cairo/perf/cairo-analyse-trace.c
    functionUses: []
    functionsReached:
    - access
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t have_trace_filenames (cairo_perf_t *perf) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_status
      Src: /src/cairo/perf/cairo-analyse-trace.c:423,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/perf/cairo-analyse-trace.c:422,1
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-analyse-trace.c:424,1
    - Dst: cairo_surface_create_observer
      Src: /src/cairo/perf/cairo-analyse-trace.c:420,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-analyse-trace.c:430,1
    - Dst: fflush
      Src: /src/cairo/perf/cairo-analyse-trace.c:431,1
    - Dst: execute
      Src: /src/cairo/perf/cairo-analyse-trace.c:433,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-analyse-trace.c:435,1
    - Dst: cairo_device_observer_print
      Src: /src/cairo/perf/cairo-analyse-trace.c:436,1
    - Dst: cairo_surface_get_device
      Src: /src/cairo/perf/cairo-analyse-trace.c:436,1
    - Dst: fflush
      Src: /src/cairo/perf/cairo-analyse-trace.c:438,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/perf/cairo-analyse-trace.c:440,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - perf
    - target
    - trace
    argTypes:
    - cairo_perf_t*
    - cairo_boilerplate_target_t*
    - char*
    constantsTouched: []
    func_position:
      end: 444
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 444
    functionName: cairo_perf_trace
    functionSourceFile: /src/cairo/perf/cairo-analyse-trace.c
    functionUses: []
    functionsReached:
    - printf
    - fflush
    - fprintf
    - cairo_surface_create_observer
    - cairo_surface_status
    - execute
    - cairo_surface_destroy
    - cairo_surface_get_device
    - cairo_device_observer_print
    linkageType: ''
    returnType: void
    signature: "static void cairo_perf_trace (cairo_perf_t\t\t\t *perf,\t\t const\
      \ cairo_boilerplate_target_t *target,\t\t const char\t\t\t *trace) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: opendir
      Src: /src/cairo/perf/cairo-analyse-trace.c:470,1
    - Dst: cairo_perf_can_run
      Src: /src/cairo/perf/cairo-analyse-trace.c:475,1
    - Dst: xasprintf
      Src: /src/cairo/perf/cairo-analyse-trace.c:485,1
    - Dst: readdir
      Src: /src/cairo/perf/cairo-analyse-trace.c:478,1
    - Dst: stat
      Src: /src/cairo/perf/cairo-analyse-trace.c:486,1
    - Dst: S_ISDIR
      Src: /src/cairo/perf/cairo-analyse-trace.c:489,1
    - Dst: cairo_perf_trace_dir
      Src: /src/cairo/perf/cairo-analyse-trace.c:490,1
    - Dst: strrchr
      Src: /src/cairo/perf/cairo-analyse-trace.c:494,1
    - Dst: strcmp
      Src: /src/cairo/perf/cairo-analyse-trace.c:497,1
    - Dst: cairo_perf_can_run
      Src: /src/cairo/perf/cairo-analyse-trace.c:501,1
    - Dst: cairo_perf_trace
      Src: /src/cairo/perf/cairo-analyse-trace.c:504,1
    - Dst: free
      Src: /src/cairo/perf/cairo-analyse-trace.c:507,1
    - Dst: closedir
      Src: /src/cairo/perf/cairo-analyse-trace.c:510,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 31
    argCount: 3
    argNames:
    - perf
    - target
    - dirname
    argTypes:
    - cairo_perf_t*
    - cairo_boilerplate_target_t*
    - char*
    constantsTouched: []
    func_position:
      end: 513
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 513
    functionName: cairo_perf_trace_dir
    functionSourceFile: /src/cairo/perf/cairo-analyse-trace.c
    functionUses: []
    functionsReached:
    - cairo_perf_trace
    - free
    - xasprintf
    - opendir
    - strrchr
    - strcmp
    - stat
    - readdir
    - cairo_perf_can_run
    - closedir
    - cairo_perf_trace_dir
    - S_ISDIR
    linkageType: ''
    returnType: int
    signature: "static int cairo_perf_trace_dir (cairo_perf_t\t\t *perf,\t\t const\
      \ cairo_boilerplate_target_t *target,\t\t const char\t\t *dirname) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: parse_options
      Src: /src/cairo/perf/cairo-analyse-trace.c:524,1
    - Dst: signal
      Src: /src/cairo/perf/cairo-analyse-trace.c:526,1
    - Dst: cairo_boilerplate_get_targets
      Src: /src/cairo/perf/cairo-analyse-trace.c:531,1
    - Dst: getenv
      Src: /src/cairo/perf/cairo-analyse-trace.c:528,1
    - Dst: getenv
      Src: /src/cairo/perf/cairo-analyse-trace.c:529,1
    - Dst: have_trace_filenames
      Src: /src/cairo/perf/cairo-analyse-trace.c:534,1
    - Dst: stat
      Src: /src/cairo/perf/cairo-analyse-trace.c:549,1
    - Dst: S_ISDIR
      Src: /src/cairo/perf/cairo-analyse-trace.c:550,1
    - Dst: cairo_perf_trace_dir
      Src: /src/cairo/perf/cairo-analyse-trace.c:551,1
    - Dst: cairo_perf_trace
      Src: /src/cairo/perf/cairo-analyse-trace.c:553,1
    - Dst: strchr
      Src: /src/cairo/perf/cairo-analyse-trace.c:563,1
    - Dst: cairo_perf_trace_dir
      Src: /src/cairo/perf/cairo-analyse-trace.c:572,1
    - Dst: cairo_perf_fini
      Src: /src/cairo/perf/cairo-analyse-trace.c:586,1
    - Dst: memcpy
      Src: /src/cairo/perf/cairo-analyse-trace.c:565,1
    - Dst: warn_no_traces
      Src: /src/cairo/perf/cairo-analyse-trace.c:577,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 49
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 589
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 589
    functionName: main
    functionSourceFile: /src/cairo/perf/cairo-analyse-trace.c
    functionUses: []
    functionsReached:
    - signal
    - cairo_perf_trace
    - memcpy
    - getenv
    - parse_options
    - have_trace_filenames
    - warn_no_traces
    - stat
    - strchr
    - cairo_boilerplate_get_targets
    - cairo_perf_fini
    - S_ISDIR
    - cairo_perf_trace_dir
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: perf_func
      Src: /src/cairo/perf/cairo-perf-micro.c:133,1
    - Dst: _cairo_time_from_s
      Src: /src/cairo/perf/cairo-perf-micro.c:136,1
    - Dst: _cairo_time_from_s
      Src: /src/cairo/perf/cairo-perf-micro.c:154,1
    - Dst: perf_func
      Src: /src/cairo/perf/cairo-perf-micro.c:139,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - perf
    - perf_func
    argTypes:
    - cairo_perf_t*
    - cairo_perf_func_t
    constantsTouched: []
    func_position:
      end: 160
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 160
    functionName: cairo_perf_calibrate
    functionSourceFile: /src/cairo/perf/cairo-perf-micro.c
    functionUses: []
    functionsReached:
    - perf_func
    - _cairo_time_from_s
    linkageType: ''
    returnType: unsigned
    signature: "static unsigned cairo_perf_calibrate (cairo_perf_t\t*perf,\t\t cairo_perf_func_t\
      \ perf_func) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/cairo/perf/cairo-perf-micro.c:90,1
    - Dst: cairo_get_target
      Src: /src/cairo/perf/cairo-perf-micro.c:94,1
    - Dst: cairo_surface_get_type
      Src: /src/cairo/perf/cairo-perf-micro.c:95,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - perf
    argTypes:
    - cairo_perf_t*
    constantsTouched: []
    func_position:
      end: 99
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 99
    functionName: cairo_perf_has_similar
    functionSourceFile: /src/cairo/perf/cairo-perf-micro.c
    functionUses: []
    functionsReached:
    - getenv
    - cairo_get_target
    - cairo_surface_get_type
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t cairo_perf_has_similar (cairo_perf_t *perf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-perf-micro.c:318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - argv0
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 333
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 333
    functionName: usage
    functionSourceFile: /src/cairo/perf/cairo-perf-micro.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'static void usage (const char *argv0) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sched_getaffinity
      Src: /src/cairo/perf/cairo-perf-micro.c:420,1
    - Dst: perror
      Src: /src/cairo/perf/cairo-perf-micro.c:421,1
    - Dst: fputs
      Src: /src/cairo/perf/cairo-perf-micro.c:431,1
    - Dst: fputs
      Src: /src/cairo/perf/cairo-perf-micro.c:439,1
    - Dst: CPU_ISSET
      Src: /src/cairo/perf/cairo-perf-micro.c:426,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 444
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 444
    functionName: check_cpu_affinity
    functionSourceFile: /src/cairo/perf/cairo-perf-micro.c
    functionUses: []
    functionsReached:
    - sched_getaffinity
    - CPU_ISSET
    - fputs
    - perror
    linkageType: ''
    returnType: int
    signature: 'static int check_cpu_affinity (void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-perf-micro.c:527,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/perf/cairo-perf-micro.c:532,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/perf/cairo-perf-micro.c:528,1
    - Dst: parse_options
      Src: /src/cairo/perf/cairo-perf-micro.c:468,1
    - Dst: fputs
      Src: /src/cairo/perf/cairo-perf-micro.c:471,1
    - Dst: cairo_boilerplate_get_targets
      Src: /src/cairo/perf/cairo-perf-micro.c:483,1
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-perf-micro.c:514,1
    - Dst: xmalloc
      Src: /src/cairo/perf/cairo-perf-micro.c:484,1
    - Dst: check_cpu_affinity
      Src: /src/cairo/perf/cairo-perf-micro.c:470,1
    - Dst: cairo_perf_timer_set_synchronize
      Src: /src/cairo/perf/cairo-perf-micro.c:520,1
    - Dst: cairo_create
      Src: /src/cairo/perf/cairo-perf-micro.c:522,1
    - Dst: cairo_status
      Src: /src/cairo/perf/cairo-perf-micro.c:526,1
    - Dst: cairo_perf_fini
      Src: /src/cairo/perf/cairo-perf-micro.c:540,1
    - Dst: cairo_destroy
      Src: /src/cairo/perf/cairo-perf-micro.c:531,1
    - Dst: cairo_status
      Src: /src/cairo/perf/cairo-perf-micro.c:528,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 543
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 543
    functionName: main
    functionSourceFile: /src/cairo/perf/cairo-perf-micro.c
    functionUses: []
    functionsReached:
    - fprintf
    - xmalloc
    - parse_options
    - cairo_create
    - cairo_surface_destroy
    - check_cpu_affinity
    - cairo_status
    - cairo_boilerplate_get_targets
    - cairo_perf_timer_set_synchronize
    - cairo_perf_fini
    - cairo_destroy
    - fputs
    - cairo_status_to_string
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 83
    functionName: _content_to_string
    functionSourceFile: /src/cairo/perf/cairo-perf-micro.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: "static const char *_content_to_string (cairo_content_t content,\t\t\
      \ cairo_bool_t similar) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/cairo/perf/cairo-perf-micro.c:115,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 3
    argNames:
    - perf
    - name
    - is_explicit
    argTypes:
    - cairo_perf_t*
    - char*
    - cairo_bool_t*
    constantsTouched: []
    func_position:
      end: 123
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 123
    functionName: cairo_perf_can_run
    functionSourceFile: /src/cairo/perf/cairo-perf-micro.c
    functionUses: []
    functionsReached:
    - strstr
    linkageType: ''
    returnType: cairo_bool_t
    signature: "cairo_bool_t cairo_perf_can_run (cairo_perf_t *perf,\t\t const char\t\
      \ *name,\t\t cairo_bool_t *is_explicit) "
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: perf_func
      Src: /src/cairo/perf/cairo-perf-micro.c:205,1
    - Dst: cairo_restore
      Src: /src/cairo/perf/cairo-perf-micro.c:206,1
    - Dst: cairo_perf_has_similar
      Src: /src/cairo/perf/cairo-perf-micro.c:217,1
    - Dst: _content_to_string
      Src: /src/cairo/perf/cairo-perf-micro.c:229,1
    - Dst: fflush
      Src: /src/cairo/perf/cairo-perf-micro.c:231,1
    - Dst: cairo_push_group_with_content
      Src: /src/cairo/perf/cairo-perf-micro.c:252,1
    - Dst: cairo_pop_group
      Src: /src/cairo/perf/cairo-perf-micro.c:258,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-micro.c:263,1
    - Dst: _content_to_string
      Src: /src/cairo/perf/cairo-perf-micro.c:265,1
    - Dst: _cairo_time_to_double
      Src: /src/cairo/perf/cairo-perf-micro.c:267,1
    - Dst: cairo_perf_yield
      Src: /src/cairo/perf/cairo-perf-micro.c:235,1
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-perf-micro.c:209,1
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-perf-micro.c:226,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/perf/cairo-perf-micro.c:210,1
    - Dst: cairo_boilerplate_content
      Src: /src/cairo/perf/cairo-perf-micro.c:238,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/perf/cairo-perf-micro.c:244,1
    - Dst: cairo_save
      Src: /src/cairo/perf/cairo-perf-micro.c:255,1
    - Dst: cairo_restore
      Src: /src/cairo/perf/cairo-perf-micro.c:260,1
    - Dst: count_func
      Src: /src/cairo/perf/cairo-perf-micro.c:290,1
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-perf-micro.c:291,1
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-perf-micro.c:300,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-micro.c:285,1
    - Dst: _cairo_time_to_s
      Src: /src/cairo/perf/cairo-perf-micro.c:305,1
    - Dst: _cairo_time_to_s
      Src: /src/cairo/perf/cairo-perf-micro.c:298,1
    - Dst: _cairo_stats_compute
      Src: /src/cairo/perf/cairo-perf-micro.c:271,1
    - Dst: _cairo_time_to_s
      Src: /src/cairo/perf/cairo-perf-micro.c:296,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-micro.c:175,1
    - Dst: xasprintf
      Src: /src/cairo/perf/cairo-perf-micro.c:200,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-micro.c:181,1
    - Dst: _content_to_string
      Src: /src/cairo/perf/cairo-perf-micro.c:202,1
    - Dst: cairo_save
      Src: /src/cairo/perf/cairo-perf-micro.c:204,1
    - Dst: free
      Src: /src/cairo/perf/cairo-perf-micro.c:214,1
    - Dst: cairo_push_group_with_content
      Src: /src/cairo/perf/cairo-perf-micro.c:237,1
    - Dst: cairo_perf_calibrate
      Src: /src/cairo/perf/cairo-perf-micro.c:242,1
    - Dst: cairo_restore
      Src: /src/cairo/perf/cairo-perf-micro.c:246,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/perf/cairo-perf-micro.c:258,1
    - Dst: _cairo_time_to_s
      Src: /src/cairo/perf/cairo-perf-micro.c:295,1
    - Dst: _cairo_stats_compute
      Src: /src/cairo/perf/cairo-perf-micro.c:288,1
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-perf-micro.c:186,1
    - Dst: getenv
      Src: /src/cairo/perf/cairo-perf-micro.c:196,1
    - Dst: cairo_surface_write_to_png
      Src: /src/cairo/perf/cairo-perf-micro.c:207,1
    - Dst: cairo_get_target
      Src: /src/cairo/perf/cairo-perf-micro.c:207,1
    - Dst: cairo_save
      Src: /src/cairo/perf/cairo-perf-micro.c:240,1
    - Dst: perf_func
      Src: /src/cairo/perf/cairo-perf-micro.c:241,1
    - Dst: cairo_pop_group
      Src: /src/cairo/perf/cairo-perf-micro.c:244,1
    - Dst: cairo_perf_yield
      Src: /src/cairo/perf/cairo-perf-micro.c:250,1
    - Dst: cairo_boilerplate_content
      Src: /src/cairo/perf/cairo-perf-micro.c:253,1
    - Dst: perf_func
      Src: /src/cairo/perf/cairo-perf-micro.c:256,1
    - Dst: fflush
      Src: /src/cairo/perf/cairo-perf-micro.c:308,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-micro.c:268,1
    - Dst: _cairo_time_from_s
      Src: /src/cairo/perf/cairo-perf-micro.c:267,1
    - Dst: _cairo_time_to_s
      Src: /src/cairo/perf/cairo-perf-micro.c:304,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 106
    argCount: 4
    argNames:
    - perf
    - name
    - perf_func
    - count_func
    argTypes:
    - cairo_perf_t*
    - char*
    - cairo_perf_func_t
    - cairo_count_func_t
    constantsTouched: []
    func_position:
      end: 313
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 313
    functionName: cairo_perf_run
    functionSourceFile: /src/cairo/perf/cairo-perf-micro.c
    functionUses: []
    functionsReached:
    - printf
    - cairo_push_group_with_content
    - _content_to_string
    - xasprintf
    - cairo_surface_write_to_png
    - count_func
    - cairo_get_target
    - fflush
    - fprintf
    - perf_func
    - cairo_save
    - _cairo_time_from_s
    - getenv
    - _cairo_time_to_double
    - cairo_perf_calibrate
    - cairo_restore
    - cairo_perf_yield
    - cairo_pattern_destroy
    - _cairo_time_to_s
    - cairo_status_to_string
    - cairo_perf_has_similar
    - cairo_pop_group
    - free
    - cairo_boilerplate_content
    - _cairo_stats_compute
    linkageType: ''
    returnType: void
    signature: "void cairo_perf_run (cairo_perf_t\t *perf,\t\tconst char\t *name,\t\
      \tcairo_perf_func_t perf_func,\t\tcairo_count_func_t count_func) "
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/cairo/perf/cairo-perf-micro.c:346,1
    - Dst: atof
      Src: /src/cairo/perf/cairo-perf-micro.c:355,1
    - Dst: getenv
      Src: /src/cairo/perf/cairo-perf-micro.c:354,1
    - Dst: _cairo_getopt
      Src: /src/cairo/perf/cairo-perf-micro.c:365,1
    - Dst: strtol
      Src: /src/cairo/perf/cairo-perf-micro.c:347,1
    - Dst: strtoul
      Src: /src/cairo/perf/cairo-perf-micro.c:377,1
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-perf-micro.c:379,1
    - Dst: exit
      Src: /src/cairo/perf/cairo-perf-micro.c:381,1
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-perf-micro.c:395,1
    - Dst: usage
      Src: /src/cairo/perf/cairo-perf-micro.c:398,1
    - Dst: exit
      Src: /src/cairo/perf/cairo-perf-micro.c:399,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 51
    argCount: 3
    argNames:
    - perf
    - argc
    - argv
    argTypes:
    - cairo_perf_t*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 410
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 410
    functionName: parse_options
    functionSourceFile: /src/cairo/perf/cairo-perf-micro.c
    functionUses: []
    functionsReached:
    - getenv
    - usage
    - fprintf
    - strtol
    - atof
    - exit
    - _cairo_getopt
    - strtoul
    linkageType: ''
    returnType: void
    signature: "static void parse_options (cairo_perf_t *perf,\t int\t argc,\t char\t\
      \ *argv[]) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_boilerplate_free_targets
      Src: /src/cairo/perf/cairo-perf-micro.c:449,1
    - Dst: cairo_boilerplate_fini
      Src: /src/cairo/perf/cairo-perf-micro.c:450,1
    - Dst: free
      Src: /src/cairo/perf/cairo-perf-micro.c:452,1
    - Dst: FcFini
      Src: /src/cairo/perf/cairo-perf-micro.c:455,1
    - Dst: cairo_debug_reset_static_data
      Src: /src/cairo/perf/cairo-perf-micro.c:453,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - perf
    argTypes:
    - cairo_perf_t*
    constantsTouched: []
    func_position:
      end: 457
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 457
    functionName: cairo_perf_fini
    functionSourceFile: /src/cairo/perf/cairo-perf-micro.c
    functionUses: []
    functionsReached:
    - cairo_debug_reset_static_data
    - cairo_boilerplate_fini
    - free
    - FcFini
    - cairo_boilerplate_free_targets
    linkageType: ''
    returnType: void
    signature: 'static void cairo_perf_fini (cairo_perf_t *perf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/perf/cairo-perf-chart.c:563,1
    - Dst: cairo_save
      Src: /src/cairo/perf/cairo-perf-chart.c:573,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/cairo-perf-chart.c:570,1
    - Dst: cairo_text_extents
      Src: /src/cairo/perf/cairo-perf-chart.c:568,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/perf/cairo-perf-chart.c:567,1
    - Dst: cairo_translate
      Src: /src/cairo/perf/cairo-perf-chart.c:574,1
    - Dst: cairo_rotate
      Src: /src/cairo/perf/cairo-perf-chart.c:575,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/cairo-perf-chart.c:576,1
    - Dst: cairo_show_text
      Src: /src/cairo/perf/cairo-perf-chart.c:577,1
    - Dst: cairo_restore
      Src: /src/cairo/perf/cairo-perf-chart.c:578,1
    - Dst: cairo_restore
      Src: /src/cairo/perf/cairo-perf-chart.c:585,1
    - Dst: cairo_restore
      Src: /src/cairo/perf/cairo-perf-chart.c:587,1
    - Dst: cairo_save
      Src: /src/cairo/perf/cairo-perf-chart.c:580,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/cairo-perf-chart.c:583,1
    - Dst: cairo_rotate
      Src: /src/cairo/perf/cairo-perf-chart.c:582,1
    - Dst: cairo_show_text
      Src: /src/cairo/perf/cairo-perf-chart.c:584,1
    - Dst: cairo_translate
      Src: /src/cairo/perf/cairo-perf-chart.c:581,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 40
    argCount: 3
    argNames:
    - c
    - test
    - label
    argTypes:
    - struct chart*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 588
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 588
    functionName: add_label
    functionSourceFile: /src/cairo/perf/cairo-perf-chart.c
    functionUses: []
    functionsReached:
    - cairo_show_text
    - cairo_set_source_rgb
    - cairo_set_font_size
    - cairo_save
    - cairo_restore
    - cairo_rotate
    - cairo_translate
    - cairo_text_extents
    - cairo_move_to
    linkageType: ''
    returnType: void
    signature: "static void add_label (struct chart *c,\t int\t\t test,\t const char\t\
      *label) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-chart.c:624,1
    - Dst: log
      Src: /src/cairo/perf/cairo-perf-chart.c:622,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/perf/cairo-perf-chart.c:643,1
    - Dst: cairo_text_extents
      Src: /src/cairo/perf/cairo-perf-chart.c:646,1
    - Dst: cairo_show_text
      Src: /src/cairo/perf/cairo-perf-chart.c:653,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-chart.c:658,1
    - Dst: pow
      Src: /src/cairo/perf/cairo-perf-chart.c:624,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/cairo-perf-chart.c:634,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/perf/cairo-perf-chart.c:648,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/perf/cairo-perf-chart.c:655,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-chart.c:652,1
    - Dst: ceil
      Src: /src/cairo/perf/cairo-perf-chart.c:657,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-chart.c:661,1
    - Dst: log
      Src: /src/cairo/perf/cairo-perf-chart.c:622,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/cairo-perf-chart.c:652,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-chart.c:649,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/cairo-perf-chart.c:656,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-chart.c:660,1
    - Dst: cairo_save
      Src: /src/cairo/perf/cairo-perf-chart.c:633,1
    - Dst: cairo_set_dash
      Src: /src/cairo/perf/cairo-perf-chart.c:635,1
    - Dst: sprintf
      Src: /src/cairo/perf/cairo-perf-chart.c:645,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/cairo-perf-chart.c:649,1
    - Dst: cairo_show_text
      Src: /src/cairo/perf/cairo-perf-chart.c:650,1
    - Dst: cairo_line_to
      Src: /src/cairo/perf/cairo-perf-chart.c:659,1
    - Dst: cairo_stroke
      Src: /src/cairo/perf/cairo-perf-chart.c:662,1
    - Dst: cairo_restore
      Src: /src/cairo/perf/cairo-perf-chart.c:665,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 68
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct chart*
    constantsTouched: []
    func_position:
      end: 666
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 666
    functionName: add_absolute_lines
    functionSourceFile: /src/cairo/perf/cairo-perf-chart.c
    functionUses: []
    functionsReached:
    - cairo_show_text
    - cairo_set_source_rgba
    - cairo_set_line_width
    - ceil
    - log
    - cairo_line_to
    - cairo_set_dash
    - pow
    - cairo_save
    - cairo_set_font_size
    - cairo_stroke
    - cairo_restore
    - cairo_text_extents
    - cairo_move_to
    - sprintf
    - floor
    linkageType: ''
    returnType: void
    signature: 'static void add_absolute_lines (struct chart *c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/perf/cairo-perf-chart.c:595,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/cairo-perf-chart.c:602,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/cairo-perf-chart.c:604,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/cairo-perf-chart.c:596,1
    - Dst: cairo_line_to
      Src: /src/cairo/perf/cairo-perf-chart.c:603,1
    - Dst: cairo_stroke
      Src: /src/cairo/perf/cairo-perf-chart.c:605,1
    - Dst: cairo_restore
      Src: /src/cairo/perf/cairo-perf-chart.c:606,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct chart*
    constantsTouched: []
    func_position:
      end: 607
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 607
    functionName: add_base_line
    functionSourceFile: /src/cairo/perf/cairo-perf-chart.c
    functionUses: []
    functionsReached:
    - cairo_set_line_width
    - cairo_line_to
    - cairo_save
    - cairo_stroke
    - cairo_restore
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: void
    signature: 'static void add_base_line (struct chart *c) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MAX
      Src: /src/cairo/perf/cairo-perf-chart.c:693,1
    - Dst: cairo_set_dash
      Src: /src/cairo/perf/cairo-perf-chart.c:697,1
    - Dst: cairo_save
      Src: /src/cairo/perf/cairo-perf-chart.c:695,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/perf/cairo-perf-chart.c:709,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/cairo-perf-chart.c:710,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/perf/cairo-perf-chart.c:716,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/cairo-perf-chart.c:717,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-chart.c:713,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/cairo-perf-chart.c:725,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-chart.c:730,1
    - Dst: cairo_restore
      Src: /src/cairo/perf/cairo-perf-chart.c:744,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/cairo-perf-chart.c:713,1
    - Dst: cairo_show_text
      Src: /src/cairo/perf/cairo-perf-chart.c:721,1
    - Dst: ceil
      Src: /src/cairo/perf/cairo-perf-chart.c:726,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-chart.c:738,1
    - Dst: cairo_stroke
      Src: /src/cairo/perf/cairo-perf-chart.c:740,1
    - Dst: ceil
      Src: /src/cairo/perf/cairo-perf-chart.c:739,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/cairo-perf-chart.c:696,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/perf/cairo-perf-chart.c:698,1
    - Dst: sprintf
      Src: /src/cairo/perf/cairo-perf-chart.c:706,1
    - Dst: cairo_show_text
      Src: /src/cairo/perf/cairo-perf-chart.c:718,1
    - Dst: cairo_show_text
      Src: /src/cairo/perf/cairo-perf-chart.c:711,1
    - Dst: ceil
      Src: /src/cairo/perf/cairo-perf-chart.c:720,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/perf/cairo-perf-chart.c:724,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-chart.c:727,1
    - Dst: cairo_line_to
      Src: /src/cairo/perf/cairo-perf-chart.c:728,1
    - Dst: cairo_stroke
      Src: /src/cairo/perf/cairo-perf-chart.c:731,1
    - Dst: cairo_line_to
      Src: /src/cairo/perf/cairo-perf-chart.c:737,1
    - Dst: ceil
      Src: /src/cairo/perf/cairo-perf-chart.c:736,1
    - Dst: MAX
      Src: /src/cairo/perf/cairo-perf-chart.c:680,1
    - Dst: cairo_text_extents
      Src: /src/cairo/perf/cairo-perf-chart.c:707,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-chart.c:710,1
    - Dst: ceil
      Src: /src/cairo/perf/cairo-perf-chart.c:717,1
    - Dst: cairo_show_text
      Src: /src/cairo/perf/cairo-perf-chart.c:714,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/cairo-perf-chart.c:720,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-chart.c:729,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/perf/cairo-perf-chart.c:733,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/cairo-perf-chart.c:734,1
    - Dst: ceil
      Src: /src/cairo/perf/cairo-perf-chart.c:735,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 109
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct chart*
    constantsTouched: []
    func_position:
      end: 745
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 745
    functionName: add_relative_lines
    functionSourceFile: /src/cairo/perf/cairo-perf-chart.c
    functionUses: []
    functionsReached:
    - cairo_show_text
    - cairo_set_source_rgba
    - cairo_set_line_width
    - ceil
    - cairo_line_to
    - cairo_set_dash
    - cairo_set_font_size
    - cairo_save
    - MAX
    - cairo_stroke
    - cairo_restore
    - cairo_text_extents
    - cairo_move_to
    - sprintf
    - floor
    linkageType: ''
    returnType: void
    signature: 'static void add_relative_lines (struct chart *c) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/cairo/perf/cairo-perf-chart.c:1045,1
    - Dst: strcmp
      Src: /src/cairo/perf/cairo-perf-chart.c:1053,1
    - Dst: strcmp
      Src: /src/cairo/perf/cairo-perf-chart.c:1054,1
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/cairo-perf-chart.c:1085,1
    - Dst: cairo_clip
      Src: /src/cairo/perf/cairo-perf-chart.c:1086,1
    - Dst: cairo_restore
      Src: /src/cairo/perf/cairo-perf-chart.c:1088,1
    - Dst: free
      Src: /src/cairo/perf/cairo-perf-chart.c:1101,1
    - Dst: free
      Src: /src/cairo/perf/cairo-perf-chart.c:1105,1
    - Dst: strncmp
      Src: /src/cairo/perf/cairo-perf-chart.c:1051,1
    - Dst: usage
      Src: /src/cairo/perf/cairo-perf-chart.c:1055,1
    - Dst: find_ranges
      Src: /src/cairo/perf/cairo-perf-chart.c:1074,1
    - Dst: cairo_perf_report_load
      Src: /src/cairo/perf/cairo-perf-chart.c:1058,1
    - Dst: test_background
      Src: /src/cairo/perf/cairo-perf-chart.c:1077,1
    - Dst: add_relative_lines
      Src: /src/cairo/perf/cairo-perf-chart.c:1079,1
    - Dst: add_slower_faster_guide
      Src: /src/cairo/perf/cairo-perf-chart.c:1080,1
    - Dst: cairo_save
      Src: /src/cairo/perf/cairo-perf-chart.c:1084,1
    - Dst: free
      Src: /src/cairo/perf/cairo-perf-chart.c:1102,1
    - Dst: free
      Src: /src/cairo/perf/cairo-perf-chart.c:1103,1
    - Dst: free
      Src: /src/cairo/perf/cairo-perf-chart.c:1106,1
    - Dst: xcalloc
      Src: /src/cairo/perf/cairo-perf-chart.c:1037,1
    - Dst: xcalloc
      Src: /src/cairo/perf/cairo-perf-chart.c:1038,1
    - Dst: strncmp
      Src: /src/cairo/perf/cairo-perf-chart.c:1046,1
    - Dst: strcmp
      Src: /src/cairo/perf/cairo-perf-chart.c:1048,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/perf/cairo-perf-chart.c:1065,1
    - Dst: cairo_create
      Src: /src/cairo/perf/cairo-perf-chart.c:1068,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/cairo-perf-chart.c:1071,1
    - Dst: cairo_paint
      Src: /src/cairo/perf/cairo-perf-chart.c:1072,1
    - Dst: cairo_perf_reports_compare
      Src: /src/cairo/perf/cairo-perf-chart.c:1087,1
    - Dst: add_legend
      Src: /src/cairo/perf/cairo-perf-chart.c:1091,1
    - Dst: strcmp
      Src: /src/cairo/perf/cairo-perf-chart.c:1042,1
    - Dst: strncmp
      Src: /src/cairo/perf/cairo-perf-chart.c:1044,1
    - Dst: atoi
      Src: /src/cairo/perf/cairo-perf-chart.c:1047,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/perf/cairo-perf-chart.c:1069,1
    - Dst: add_absolute_lines
      Src: /src/cairo/perf/cairo-perf-chart.c:1082,1
    - Dst: add_base_line
      Src: /src/cairo/perf/cairo-perf-chart.c:1090,1
    - Dst: cairo_surface_write_to_png
      Src: /src/cairo/perf/cairo-perf-chart.c:1093,1
    - Dst: cairo_destroy
      Src: /src/cairo/perf/cairo-perf-chart.c:1095,1
    - Dst: free
      Src: /src/cairo/perf/cairo-perf-chart.c:1108,1
    - Dst: free
      Src: /src/cairo/perf/cairo-perf-chart.c:1109,1
    - Dst: cairo_get_target
      Src: /src/cairo/perf/cairo-perf-chart.c:1093,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 95
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1112
      start: 1024
    functionDepth: 0
    functionLinenumber: 1024
    functionLinenumberEnd: 1112
    functionName: main
    functionSourceFile: /src/cairo/perf/cairo-perf-chart.c
    functionUses: []
    functionsReached:
    - strcmp
    - cairo_surface_write_to_png
    - cairo_get_target
    - cairo_rectangle
    - cairo_create
    - cairo_save
    - xcalloc
    - cairo_clip
    - add_base_line
    - find_ranges
    - usage
    - test_background
    - cairo_restore
    - cairo_destroy
    - cairo_perf_report_load
    - add_legend
    - cairo_paint
    - add_slower_faster_guide
    - add_absolute_lines
    - cairo_perf_reports_compare
    - free
    - cairo_surface_destroy
    - strncmp
    - cairo_image_surface_create
    - cairo_set_source_rgb
    - atoi
    - add_relative_lines
    linkageType: ''
    returnType: int
    signature: "int main (int\t argc, const char *argv[]) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/perf/cairo-perf-chart.c:752,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/perf/cairo-perf-chart.c:757,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/perf/cairo-perf-chart.c:754,1
    - Dst: cairo_text_extents
      Src: /src/cairo/perf/cairo-perf-chart.c:756,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/cairo-perf-chart.c:758,1
    - Dst: cairo_show_text
      Src: /src/cairo/perf/cairo-perf-chart.c:761,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/cairo-perf-chart.c:762,1
    - Dst: cairo_show_text
      Src: /src/cairo/perf/cairo-perf-chart.c:765,1
    - Dst: cairo_text_extents
      Src: /src/cairo/perf/cairo-perf-chart.c:767,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/perf/cairo-perf-chart.c:768,1
    - Dst: cairo_restore
      Src: /src/cairo/perf/cairo-perf-chart.c:778,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/cairo-perf-chart.c:769,1
    - Dst: cairo_show_text
      Src: /src/cairo/perf/cairo-perf-chart.c:772,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/cairo-perf-chart.c:773,1
    - Dst: cairo_show_text
      Src: /src/cairo/perf/cairo-perf-chart.c:776,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 38
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct chart*
    constantsTouched: []
    func_position:
      end: 779
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 779
    functionName: add_slower_faster_guide
    functionSourceFile: /src/cairo/perf/cairo-perf-chart.c
    functionUses: []
    functionsReached:
    - cairo_show_text
    - cairo_set_source_rgba
    - cairo_set_font_size
    - cairo_save
    - cairo_restore
    - cairo_text_extents
    - cairo_move_to
    linkageType: ''
    returnType: void
    signature: 'static void add_slower_faster_guide (struct chart *c) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/cairo/perf/cairo-perf-chart.c:791,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-chart.c:797,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-chart.c:802,1
    - Dst: add_label
      Src: /src/cairo/perf/cairo-perf-chart.c:834,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-chart.c:840,1
    - Dst: add_chart
      Src: /src/cairo/perf/cairo-perf-chart.c:915,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-chart.c:922,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-chart.c:924,1
    - Dst: free
      Src: /src/cairo/perf/cairo-perf-chart.c:935,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-chart.c:939,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-chart.c:798,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-chart.c:844,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-chart.c:895,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-chart.c:897,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-chart.c:941,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-chart.c:947,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-chart.c:837,1
    - Dst: test_report_cmp_name
      Src: /src/cairo/perf/cairo-perf-chart.c:880,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-chart.c:904,1
    - Dst: test_report_cmp_name
      Src: /src/cairo/perf/cairo-perf-chart.c:857,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-chart.c:900,1
    - Dst: add_average
      Src: /src/cairo/perf/cairo-perf-chart.c:933,1
    - Dst: to_factor
      Src: /src/cairo/perf/cairo-perf-chart.c:933,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-chart.c:800,1
    - Dst: test_report_cmp_name
      Src: /src/cairo/perf/cairo-perf-chart.c:830,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-chart.c:906,1
    - Dst: add_chart
      Src: /src/cairo/perf/cairo-perf-chart.c:912,1
    - Dst: to_factor
      Src: /src/cairo/perf/cairo-perf-chart.c:913,1
    - Dst: add_label
      Src: /src/cairo/perf/cairo-perf-chart.c:931,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-chart.c:944,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 126
    argCount: 2
    argNames:
    - chart
    - print
    argTypes:
    - struct chart*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 952
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 952
    functionName: cairo_perf_reports_compare
    functionSourceFile: /src/cairo/perf/cairo-perf-chart.c
    functionUses: []
    functionsReached:
    - printf
    - add_chart
    - add_label
    - xmalloc
    - free
    - add_average
    - test_report_cmp_name
    - to_factor
    linkageType: ''
    returnType: void
    signature: "static void cairo_perf_reports_compare (struct chart *chart,\t\t\t\
      \ cairo_bool_t print) "
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/cairo/perf/cairo-perf-chart.c:148,1
    - Dst: test_report_cmp_name
      Src: /src/cairo/perf/cairo-perf-chart.c:187,1
    - Dst: xmalloc
      Src: /src/cairo/perf/cairo-perf-chart.c:157,1
    - Dst: xmalloc
      Src: /src/cairo/perf/cairo-perf-chart.c:151,1
    - Dst: xmalloc
      Src: /src/cairo/perf/cairo-perf-chart.c:150,1
    - Dst: test_report_cmp_name
      Src: /src/cairo/perf/cairo-perf-chart.c:196,1
    - Dst: to_factor
      Src: /src/cairo/perf/cairo-perf-chart.c:216,1
    - Dst: xrealloc
      Src: /src/cairo/perf/cairo-perf-chart.c:219,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-chart.c:232,1
    - Dst: trim_outliers
      Src: /src/cairo/perf/cairo-perf-chart.c:252,1
    - Dst: free
      Src: /src/cairo/perf/cairo-perf-chart.c:257,1
    - Dst: free
      Src: /src/cairo/perf/cairo-perf-chart.c:258,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-chart.c:261,1
    - Dst: free
      Src: /src/cairo/perf/cairo-perf-chart.c:259,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 110
    argCount: 1
    argNames:
    - chart
    argTypes:
    - struct chart*
    constantsTouched: []
    func_position:
      end: 263
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 263
    functionName: find_ranges
    functionSourceFile: /src/cairo/perf/cairo-perf-chart.c
    functionUses: []
    functionsReached:
    - printf
    - xmalloc
    - free
    - trim_outliers
    - xrealloc
    - test_report_cmp_name
    - to_factor
    linkageType: ''
    returnType: void
    signature: 'static void find_ranges (struct chart *chart) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-chart.c:290,1
    - Dst: SET_COLOR
      Src: /src/cairo/perf/cairo-perf-chart.c:303,1
    - Dst: SET_COLOR
      Src: /src/cairo/perf/cairo-perf-chart.c:302,1
    - Dst: SET_COLOR
      Src: /src/cairo/perf/cairo-perf-chart.c:301,1
    - Dst: SET_COLOR
      Src: /src/cairo/perf/cairo-perf-chart.c:300,1
    - Dst: SET_COLOR
      Src: /src/cairo/perf/cairo-perf-chart.c:304,1
    - Dst: SET_COLOR
      Src: /src/cairo/perf/cairo-perf-chart.c:305,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 35
    argCount: 4
    argNames:
    - h
    - s
    - v
    - color
    argTypes:
    - double
    - double
    - double
    - struct color*
    constantsTouched: []
    func_position:
      end: 307
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 307
    functionName: hsv_to_rgb
    functionSourceFile: /src/cairo/perf/cairo-perf-chart.c
    functionUses: []
    functionsReached:
    - SET_COLOR
    - floor
    linkageType: ''
    returnType: void
    signature: "static void hsv_to_rgb (double\t h,\t double\t s,\t double\t v,\t\
      \ struct color *color) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hsv_to_rgb
      Src: /src/cairo/perf/cairo-perf-chart.c:323,1
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/perf/cairo-perf-chart.c:325,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/perf/cairo-perf-chart.c:329,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/perf/cairo-perf-chart.c:326,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/perf/cairo-perf-chart.c:332,1
    - Dst: cairo_set_source
      Src: /src/cairo/perf/cairo-perf-chart.c:335,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/perf/cairo-perf-chart.c:336,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 6
    argNames:
    - chart
    - report
    - x
    - y
    - w
    - h
    argTypes:
    - struct chart*
    - int
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 337
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 337
    functionName: set_report_gradient
    functionSourceFile: /src/cairo/perf/cairo-perf-chart.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_linear
    - hsv_to_rgb
    - cairo_set_source
    - cairo_pattern_add_color_stop_rgba
    - cairo_pattern_destroy
    linkageType: ''
    returnType: void
    signature: "static void set_report_gradient (struct chart *chart, int report,\t\
      \t\t\t double x, double y, double w, double h) "
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/cairo/perf/cairo-perf-chart.c:366,1
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/cairo-perf-chart.c:379,1
    - Dst: cairo_stroke
      Src: /src/cairo/perf/cairo-perf-chart.c:396,1
    - Dst: cairo_restore
      Src: /src/cairo/perf/cairo-perf-chart.c:397,1
    - Dst: sprintf
      Src: /src/cairo/perf/cairo-perf-chart.c:410,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-chart.c:431,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-chart.c:432,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/cairo-perf-chart.c:435,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-chart.c:449,1
    - Dst: set_report_color
      Src: /src/cairo/perf/cairo-perf-chart.c:453,1
    - Dst: cairo_save
      Src: /src/cairo/perf/cairo-perf-chart.c:461,1
    - Dst: cairo_stroke
      Src: /src/cairo/perf/cairo-perf-chart.c:464,1
    - Dst: cairo_fill
      Src: /src/cairo/perf/cairo-perf-chart.c:454,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-chart.c:457,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-chart.c:381,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-chart.c:381,1
    - Dst: ceil
      Src: /src/cairo/perf/cairo-perf-chart.c:382,1
    - Dst: cairo_fill
      Src: /src/cairo/perf/cairo-perf-chart.c:385,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-chart.c:388,1
    - Dst: fabs
      Src: /src/cairo/perf/cairo-perf-chart.c:401,1
    - Dst: sprintf
      Src: /src/cairo/perf/cairo-perf-chart.c:408,1
    - Dst: cairo_rotate
      Src: /src/cairo/perf/cairo-perf-chart.c:433,1
    - Dst: cairo_show_text
      Src: /src/cairo/perf/cairo-perf-chart.c:441,1
    - Dst: cairo_restore
      Src: /src/cairo/perf/cairo-perf-chart.c:442,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-chart.c:451,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-chart.c:459,1
    - Dst: set_report_gradient
      Src: /src/cairo/perf/cairo-perf-chart.c:456,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-chart.c:380,1
    - Dst: MAX
      Src: /src/cairo/perf/cairo-perf-chart.c:374,1
    - Dst: set_report_color
      Src: /src/cairo/perf/cairo-perf-chart.c:384,1
    - Dst: set_report_gradient
      Src: /src/cairo/perf/cairo-perf-chart.c:387,1
    - Dst: set_report_color
      Src: /src/cairo/perf/cairo-perf-chart.c:395,1
    - Dst: cairo_text_extents
      Src: /src/cairo/perf/cairo-perf-chart.c:412,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-chart.c:431,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-chart.c:431,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/cairo-perf-chart.c:437,1
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/cairo-perf-chart.c:448,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-chart.c:458,1
    - Dst: cairo_clip_preserve
      Src: /src/cairo/perf/cairo-perf-chart.c:462,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-chart.c:450,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/perf/cairo-perf-chart.c:460,1
    - Dst: ceil
      Src: /src/cairo/perf/cairo-perf-chart.c:390,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-chart.c:389,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/perf/cairo-perf-chart.c:392,1
    - Dst: cairo_save
      Src: /src/cairo/perf/cairo-perf-chart.c:393,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-chart.c:389,1
    - Dst: cairo_clip_preserve
      Src: /src/cairo/perf/cairo-perf-chart.c:394,1
    - Dst: cairo_save
      Src: /src/cairo/perf/cairo-perf-chart.c:404,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/perf/cairo-perf-chart.c:405,1
    - Dst: cairo_translate
      Src: /src/cairo/perf/cairo-perf-chart.c:430,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/cairo-perf-chart.c:440,1
    - Dst: set_report_color
      Src: /src/cairo/perf/cairo-perf-chart.c:463,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-chart.c:458,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-chart.c:450,1
    - Dst: cairo_restore
      Src: /src/cairo/perf/cairo-perf-chart.c:465,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 174
    argCount: 4
    argNames:
    - c
    - test
    - report
    - value
    argTypes:
    - struct chart*
    - int
    - int
    - double
    constantsTouched: []
    func_position:
      end: 468
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 468
    functionName: add_chart
    functionSourceFile: /src/cairo/perf/cairo-perf-chart.c
    functionUses: []
    functionsReached:
    - cairo_translate
    - set_report_gradient
    - cairo_fill_preserve
    - cairo_rectangle
    - floor
    - fabs
    - cairo_show_text
    - cairo_save
    - ceil
    - MAX
    - cairo_stroke
    - cairo_restore
    - cairo_fill
    - cairo_rotate
    - cairo_text_extents
    - set_report_color
    - sprintf
    - cairo_set_font_size
    - cairo_clip_preserve
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: void
    signature: "static void add_chart (struct chart *c,\t int\t\t test,\t int\t\t\
      \ report,\t double\t value) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_font_size
      Src: /src/cairo/perf/cairo-perf-chart.c:961,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/cairo-perf-chart.c:974,1
    - Dst: cairo_fill
      Src: /src/cairo/perf/cairo-perf-chart.c:972,1
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/cairo-perf-chart.c:971,1
    - Dst: set_report_color
      Src: /src/cairo/perf/cairo-perf-chart.c:969,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/cairo-perf-chart.c:975,1
    - Dst: cairo_text_extents
      Src: /src/cairo/perf/cairo-perf-chart.c:976,1
    - Dst: cairo_show_text
      Src: /src/cairo/perf/cairo-perf-chart.c:977,1
    - Dst: ceil
      Src: /src/cairo/perf/cairo-perf-chart.c:979,1
    - Dst: sprintf
      Src: /src/cairo/perf/cairo-perf-chart.c:988,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/cairo-perf-chart.c:991,1
    - Dst: cairo_text_extents
      Src: /src/cairo/perf/cairo-perf-chart.c:989,1
    - Dst: cairo_show_text
      Src: /src/cairo/perf/cairo-perf-chart.c:995,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/cairo-perf-chart.c:992,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 1
    argNames:
    - chart
    argTypes:
    - struct chart*
    constantsTouched: []
    func_position:
      end: 997
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 997
    functionName: add_legend
    functionSourceFile: /src/cairo/perf/cairo-perf-chart.c
    functionUses: []
    functionsReached:
    - cairo_show_text
    - ceil
    - cairo_set_font_size
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_text_extents
    - set_report_color
    - cairo_move_to
    - sprintf
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void add_legend (struct chart *chart) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log
      Src: /src/cairo/perf/cairo-perf-chart.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: to_factor
    functionSourceFile: /src/cairo/perf/cairo-perf-chart.c
    functionUses: []
    functionsReached:
    - log
    linkageType: ''
    returnType: double
    signature: 'static double to_factor (double x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hsv_to_rgb
      Src: /src/cairo/perf/cairo-perf-chart.c:313,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/cairo-perf-chart.c:314,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - chart
    - report
    argTypes:
    - struct chart*
    - int
    constantsTouched: []
    func_position:
      end: 315
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 315
    functionName: set_report_color
    functionSourceFile: /src/cairo/perf/cairo-perf-chart.c
    functionUses: []
    functionsReached:
    - cairo_set_source_rgb
    - hsv_to_rgb
    linkageType: ''
    returnType: void
    signature: 'static void set_report_color (struct chart *chart, int report) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/perf/cairo-perf-chart.c:349,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/perf/cairo-perf-chart.c:351,1
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/cairo-perf-chart.c:353,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-chart.c:354,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-chart.c:353,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-chart.c:354,1
    - Dst: cairo_fill
      Src: /src/cairo/perf/cairo-perf-chart.c:355,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - c
    - test
    argTypes:
    - struct chart*
    - int
    constantsTouched: []
    func_position:
      end: 356
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 356
    functionName: test_background
    functionSourceFile: /src/cairo/perf/cairo-perf-chart.c
    functionUses: []
    functionsReached:
    - floor
    - cairo_fill
    - cairo_set_source_rgba
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: "static void test_background (struct chart *c,\t\t int\t test) "
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-chart.c:499,1
    - Dst: ceil
      Src: /src/cairo/perf/cairo-perf-chart.c:500,1
    - Dst: cairo_clip_preserve
      Src: /src/cairo/perf/cairo-perf-chart.c:504,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/perf/cairo-perf-chart.c:502,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-chart.c:499,1
    - Dst: cairo_save
      Src: /src/cairo/perf/cairo-perf-chart.c:503,1
    - Dst: fabs
      Src: /src/cairo/perf/cairo-perf-chart.c:511,1
    - Dst: cairo_save
      Src: /src/cairo/perf/cairo-perf-chart.c:514,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/perf/cairo-perf-chart.c:515,1
    - Dst: cairo_translate
      Src: /src/cairo/perf/cairo-perf-chart.c:540,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-chart.c:490,1
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/cairo-perf-chart.c:489,1
    - Dst: set_report_color
      Src: /src/cairo/perf/cairo-perf-chart.c:505,1
    - Dst: sprintf
      Src: /src/cairo/perf/cairo-perf-chart.c:520,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-chart.c:542,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/cairo-perf-chart.c:545,1
    - Dst: fabs
      Src: /src/cairo/perf/cairo-perf-chart.c:481,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-chart.c:491,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-chart.c:491,1
    - Dst: ceil
      Src: /src/cairo/perf/cairo-perf-chart.c:492,1
    - Dst: cairo_fill
      Src: /src/cairo/perf/cairo-perf-chart.c:495,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-chart.c:498,1
    - Dst: sprintf
      Src: /src/cairo/perf/cairo-perf-chart.c:518,1
    - Dst: cairo_rotate
      Src: /src/cairo/perf/cairo-perf-chart.c:543,1
    - Dst: cairo_show_text
      Src: /src/cairo/perf/cairo-perf-chart.c:551,1
    - Dst: cairo_restore
      Src: /src/cairo/perf/cairo-perf-chart.c:552,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/cairo-perf-chart.c:550,1
    - Dst: MAX
      Src: /src/cairo/perf/cairo-perf-chart.c:484,1
    - Dst: set_report_color
      Src: /src/cairo/perf/cairo-perf-chart.c:494,1
    - Dst: set_report_gradient
      Src: /src/cairo/perf/cairo-perf-chart.c:497,1
    - Dst: cairo_stroke
      Src: /src/cairo/perf/cairo-perf-chart.c:506,1
    - Dst: cairo_restore
      Src: /src/cairo/perf/cairo-perf-chart.c:507,1
    - Dst: cairo_text_extents
      Src: /src/cairo/perf/cairo-perf-chart.c:522,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-chart.c:541,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-chart.c:541,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-chart.c:541,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/cairo-perf-chart.c:547,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 128
    argCount: 4
    argNames:
    - c
    - test
    - report
    - value
    argTypes:
    - struct chart*
    - int
    - int
    - double
    constantsTouched: []
    func_position:
      end: 553
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 553
    functionName: add_average
    functionSourceFile: /src/cairo/perf/cairo-perf-chart.c
    functionUses: []
    functionsReached:
    - cairo_translate
    - set_report_gradient
    - cairo_fill_preserve
    - cairo_rectangle
    - floor
    - fabs
    - cairo_show_text
    - cairo_save
    - ceil
    - MAX
    - cairo_stroke
    - cairo_restore
    - cairo_fill
    - cairo_rotate
    - cairo_text_extents
    - set_report_color
    - sprintf
    - cairo_set_font_size
    - cairo_clip_preserve
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: void
    signature: "static void add_average (struct chart *c,\t int\t\t test,\t int\t\t\
      \ report,\t double\t value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-chart.c:1002,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-chart.c:1004,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-chart.c:1005,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-chart.c:1006,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-chart.c:1003,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-chart.c:1007,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-chart.c:1008,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-chart.c:1009,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-chart.c:1010,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-chart.c:1012,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-chart.c:1018,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-chart.c:1019,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-chart.c:1020,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-chart.c:1014,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1022
      start: 999
    functionDepth: 0
    functionLinenumber: 999
    functionLinenumberEnd: 1022
    functionName: usage
    functionSourceFile: /src/cairo/perf/cairo-perf-chart.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'static void usage (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 84
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 84
    functionName: _double_cmp
    functionSourceFile: /src/cairo/perf/cairo-perf-chart.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "static int _double_cmp (const void *_a,\t const void *_b) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/cairo/perf/cairo-perf-chart.c:106,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 4
    argNames:
    - values
    - num_values
    - min
    - max
    argTypes:
    - double*
    - int
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 129
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 129
    functionName: trim_outliers
    functionSourceFile: /src/cairo/perf/cairo-perf-chart.c
    functionUses: []
    functionsReached:
    - qsort
    linkageType: ''
    returnType: void
    signature: "static void trim_outliers (double *values,\t int num_values,\t double\
      \ *min,\t double *max) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:347,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:350,1
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:349,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:353,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:353,1
    - Dst: cairo_save
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:374,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:383,1
    - Dst: draw_hline
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:388,1
    - Dst: ceil
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:399,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:404,1
    - Dst: ALIGN_X
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:413,1
    - Dst: ALIGN_Y
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:413,1
    - Dst: draw_rotated_label
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:422,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:433,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:421,1
    - Dst: cairo_restore
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:425,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:399,1
    - Dst: ceil
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:347,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:359,1
    - Dst: gdk_cairo_set_source_color
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:369,1
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:368,1
    - Dst: gdk_cairo_set_source_color
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:378,1
    - Dst: cairo_restore
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:371,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:386,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:395,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:405,1
    - Dst: draw_rotated_label
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:406,1
    - Dst: ceil
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:415,1
    - Dst: draw_baseline_performance
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:427,1
    - Dst: ALIGN_X
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:419,1
    - Dst: cairo_save
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:356,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:360,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:362,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:380,1
    - Dst: cairo_set_dash
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:384,1
    - Dst: ceil
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:386,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:391,1
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:393,1
    - Dst: cairo_set_source
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:396,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:397,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:410,1
    - Dst: ALIGN_Y
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:419,1
    - Dst: cairo_restore
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:436,1
    - Dst: cairo_set_dash
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:434,1
    - Dst: cairo_save
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:431,1
    - Dst: ALIGN_X
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:424,1
    - Dst: ALIGN_Y
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:424,1
    - Dst: ceil
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:363,1
    - Dst: cairo_fill
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:370,1
    - Dst: MIN
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:365,1
    - Dst: GTK_WIDGET_STATE
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:379,1
    - Dst: draw_hline
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:381,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:394,1
    - Dst: draw_label
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:401,1
    - Dst: ceil
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:420,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:409,1
    - Dst: ALIGN_X
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:408,1
    - Dst: draw_rotated_label
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:417,1
    - Dst: draw_hline
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:435,1
    - Dst: ALIGN_Y
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:408,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:432,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:416,1
    - Dst: draw_rotated_label
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:411,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 156
    argCount: 2
    argNames:
    - self
    - cr
    argTypes:
    - GraphView*
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 437
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 437
    functionName: graph_view_draw
    functionSourceFile: /src/cairo/perf/cairo-perf-graph-widget.c
    functionUses: []
    functionsReached:
    - ALIGN_X
    - cairo_set_line_width
    - cairo_set_dash
    - cairo_pattern_add_color_stop_rgb
    - cairo_set_source
    - cairo_rectangle
    - floor
    - cairo_matrix_translate
    - cairo_pattern_create_linear
    - cairo_save
    - ceil
    - cairo_matrix_scale
    - gdk_cairo_set_source_color
    - MIN
    - cairo_restore
    - cairo_fill
    - cairo_matrix_init_translate
    - cairo_pattern_destroy
    - GTK_WIDGET_STATE
    - draw_hline
    - draw_label
    - cairo_set_font_size
    - cairo_matrix_transform_point
    - cairo_set_source_rgb
    - draw_baseline_performance
    - ALIGN_Y
    - draw_rotated_label
    linkageType: ''
    returnType: void
    signature: "static void graph_view_draw (GraphView *self,\t\t cairo_t *cr) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cairo_text_extents
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:274,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:302,1
    - Dst: ALIGN_Y
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:301,1
    - Dst: ALIGN_X
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:301,1
    - Dst: ALIGN_X
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:312,1
    - Dst: ALIGN_Y
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:312,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:313,1
    - Dst: ALIGN_X
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:280,1
    - Dst: ALIGN_Y
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:280,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:281,1
    - Dst: ALIGN_X
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:285,1
    - Dst: ALIGN_Y
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:285,1
    - Dst: ALIGN_X
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:296,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:297,1
    - Dst: ALIGN_Y
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:296,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:307,1
    - Dst: cairo_restore
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:329,1
    - Dst: cairo_save
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:276,1
    - Dst: cairo_translate
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:277,1
    - Dst: ALIGN_X
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:290,1
    - Dst: ALIGN_Y
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:290,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:291,1
    - Dst: ALIGN_X
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:322,1
    - Dst: ALIGN_Y
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:322,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:323,1
    - Dst: cairo_rotate
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:278,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:286,1
    - Dst: ALIGN_X
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:306,1
    - Dst: ALIGN_Y
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:306,1
    - Dst: ALIGN_X
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:317,1
    - Dst: ALIGN_Y
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:317,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:318,1
    - Dst: cairo_show_text
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:328,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 81
    argCount: 6
    argNames:
    - cr
    - text
    - x
    - y
    - angle
    - align
    argTypes:
    - cairo_t*
    - char*
    - double
    - double
    - double
    - int
    constantsTouched: []
    func_position:
      end: 330
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 330
    functionName: draw_rotated_label
    functionSourceFile: /src/cairo/perf/cairo-perf-graph-widget.c
    functionUses: []
    functionsReached:
    - cairo_translate
    - ALIGN_X
    - cairo_show_text
    - cairo_save
    - cairo_restore
    - cairo_rotate
    - cairo_text_extents
    - cairo_move_to
    - ALIGN_Y
    linkageType: ''
    returnType: void
    signature: "static void draw_rotated_label (cairo_t *cr,\t\t const char *text,\t\
      \t double\tx,\t\t double\ty,\t\t double\tangle,\t\t int \talign) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fmod
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:216,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:219,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:220,1
    - Dst: cairo_get_line_width
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:216,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:220,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:220,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:223,1
    - Dst: cairo_line_to
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:224,1
    - Dst: ceil
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:224,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:224,1
    - Dst: cairo_stroke
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:226,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 5
    argNames:
    - cr
    - m
    - y0
    - xmin
    - xmax
    argTypes:
    - cairo_t*
    - cairo_matrix_t*
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 227
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 227
    functionName: draw_hline
    functionSourceFile: /src/cairo/perf/cairo-perf-graph-widget.c
    functionUses: []
    functionsReached:
    - cairo_get_line_width
    - ceil
    - cairo_line_to
    - cairo_stroke
    - cairo_matrix_transform_point
    - fmod
    - cairo_move_to
    - floor
    linkageType: ''
    returnType: void
    signature: "static void draw_hline (cairo_t\t\t *cr,\t const cairo_matrix_t *m,\t\
      \ double\t\t y0,\t double\t\t xmin,\t double\t\t xmax) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_init_translate
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:466,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:473,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:467,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:469,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:468,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:475,1
    - Dst: gtk_widget_queue_draw
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:481,1
    - Dst: g_signal_emit
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:483,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - w
    - ev
    argTypes:
    - GtkWidget*
    - GdkEventButton*
    constantsTouched: []
    func_position:
      end: 487
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 487
    functionName: graph_view_button_press
    functionSourceFile: /src/cairo/perf/cairo-perf-graph-widget.c
    functionUses: []
    functionsReached:
    - cairo_matrix_scale
    - cairo_matrix_translate
    - g_signal_emit
    - cairo_matrix_transform_point
    - cairo_matrix_init_translate
    - cairo_matrix_invert
    - gtk_widget_queue_draw
    - floor
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean graph_view_button_press (GtkWidget\t*w,\t\t\t GdkEventButton\
      \ *ev) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTK_WIDGET_SET_FLAGS
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:501,1
    - Dst: gdk_window_new
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:516,1
    - Dst: gtk_widget_get_events
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:511,1
    - Dst: gtk_widget_get_visual
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:509,1
    - Dst: gtk_widget_get_colormap
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:510,1
    - Dst: gtk_widget_get_parent_window
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:516,1
    - Dst: gdk_window_set_user_data
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:520,1
    - Dst: gtk_style_attach
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:522,1
    - Dst: gtk_style_set_background
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:523,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - widget
    argTypes:
    - GtkWidget*
    constantsTouched: []
    func_position:
      end: 524
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 524
    functionName: graph_view_realize
    functionSourceFile: /src/cairo/perf/cairo-perf-graph-widget.c
    functionUses: []
    functionsReached:
    - gtk_style_attach
    - gtk_widget_get_colormap
    - gtk_widget_get_visual
    - gtk_style_set_background
    - gtk_widget_get_parent_window
    - GTK_WIDGET_SET_FLAGS
    - gdk_window_new
    - gdk_window_set_user_data
    - gtk_widget_get_events
    linkageType: ''
    returnType: void
    signature: 'static void graph_view_realize (GtkWidget *widget) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_new
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:546,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:547,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GraphViewClass*
    constantsTouched: []
    func_position:
      end: 553
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 553
    functionName: graph_view_class_init
    functionSourceFile: /src/cairo/perf/cairo-perf-graph-widget.c
    functionUses: []
    functionsReached:
    - G_TYPE_FROM_CLASS
    - g_signal_new
    linkageType: ''
    returnType: void
    signature: 'static void graph_view_class_init (GraphViewClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:564,1
    - Dst: graph_view_get_type
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:564,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 565
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 565
    functionName: graph_view_new
    functionSourceFile: /src/cairo/perf/cairo-perf-graph-widget.c
    functionUses: []
    functionsReached:
    - g_object_new
    - graph_view_get_type
    linkageType: ''
    returnType: GtkWidget*
    signature: 'GtkWidget *graph_view_new (void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:71,1
    - Dst: test_report_cmp_backend_then_name
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:89,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:97,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:106,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:128,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:137,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:127,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:141,1
    - Dst: cairo_stroke
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:142,1
    - Dst: test_report_cmp_backend_then_name
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:147,1
    - Dst: cairo_close_path
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:156,1
    - Dst: gdk_cairo_set_source_color
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:98,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:107,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:108,1
    - Dst: cairo_line_to
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:138,1
    - Dst: test_report_cmp_backend_then_name
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:117,1
    - Dst: cairo_close_path
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:179,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:180,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:189,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:191,1
    - Dst: cairo_set_dash
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:195,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:197,1
    - Dst: cairo_save
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:96,1
    - Dst: test_report_cmp_backend_then_name
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:101,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:109,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:152,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:155,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:177,1
    - Dst: cairo_close_path
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:181,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:190,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:196,1
    - Dst: cairo_restore
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:199,1
    - Dst: free
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:203,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:126,1
    - Dst: cairo_line_to
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:130,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:136,1
    - Dst: cairo_line_to
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:129,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:153,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:154,1
    - Dst: test_report_cmp_backend_then_name
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:166,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:175,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:178,1
    - Dst: cairo_close_path
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:192,1
    - Dst: floor
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:176,1
    - Dst: cairo_stroke
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:198,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:194,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 127
    argCount: 5
    argNames:
    - cases
    - reports
    - num_reports
    - cr
    - m
    argTypes:
    - test_case_t*
    - cairo_perf_report_t*
    - int
    - cairo_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 204
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 204
    functionName: draw_baseline_performance
    functionSourceFile: /src/cairo/perf/cairo-perf-graph-widget.c
    functionUses: []
    functionsReached:
    - test_report_cmp_backend_then_name
    - gdk_cairo_set_source_color
    - cairo_set_line_width
    - xmalloc
    - cairo_line_to
    - cairo_set_source_rgba
    - cairo_set_dash
    - free
    - cairo_save
    - cairo_close_path
    - cairo_stroke
    - cairo_restore
    - cairo_matrix_transform_point
    - cairo_set_line_cap
    - cairo_move_to
    - floor
    linkageType: ''
    returnType: void
    signature: "static void draw_baseline_performance (test_case_t\t\t*cases,\t\t\t\
      \ cairo_perf_report_t\t*reports,\t\t\t int\t\t\t num_reports,\t\t\t cairo_t\t\
      \t*cr,\t\t\t const cairo_matrix_t *m) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:240,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:244,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:245,1
    - Dst: cairo_text_extents
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:241,1
    - Dst: fabs
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:240,1
    - Dst: cairo_show_text
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:248,1
    - Dst: snprintf
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:251,1
    - Dst: fabs
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:251,1
    - Dst: cairo_text_extents
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:252,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:255,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:256,1
    - Dst: cairo_show_text
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 5
    argNames:
    - cr
    - m
    - y0
    - xmin
    - xmax
    argTypes:
    - cairo_t*
    - cairo_matrix_t*
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 260
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 260
    functionName: draw_label
    functionSourceFile: /src/cairo/perf/cairo-perf-graph-widget.c
    functionUses: []
    functionsReached:
    - fabs
    - cairo_show_text
    - cairo_move_to
    - cairo_matrix_transform_point
    - cairo_text_extents
    - snprintf
    linkageType: ''
    returnType: void
    signature: "static void draw_label (cairo_t\t\t *cr,\t const cairo_matrix_t *m,\t\
      \ double\t\t y0,\t double\t\t xmin,\t double\t\t xmax) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gdk_cairo_create
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:446,1
    - Dst: GTK_WIDGET_STATE
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:447,1
    - Dst: graph_view_draw
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:450,1
    - Dst: gdk_cairo_set_source_color
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:447,1
    - Dst: cairo_paint
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:448,1
    - Dst: cairo_destroy
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:452,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - w
    - ev
    argTypes:
    - GtkWidget*
    - GdkEventExpose*
    constantsTouched: []
    func_position:
      end: 455
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 455
    functionName: graph_view_expose
    functionSourceFile: /src/cairo/perf/cairo-perf-graph-widget.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - gdk_cairo_create
    - gdk_cairo_set_source_color
    - graph_view_draw
    - cairo_destroy
    - GTK_WIDGET_STATE
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean graph_view_expose (GtkWidget\t *w,\t\t GdkEventExpose\
      \ *ev) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - w
    - ev
    argTypes:
    - GtkWidget*
    - GdkEventButton*
    constantsTouched: []
    func_position:
      end: 494
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 494
    functionName: graph_view_button_release
    functionSourceFile: /src/cairo/perf/cairo-perf-graph-widget.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean graph_view_button_release (GtkWidget\t *w,\t\t\t GdkEventButton\
      \ *ev) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:529,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 530
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 530
    functionName: graph_view_finalize
    functionSourceFile: /src/cairo/perf/cairo-perf-graph-widget.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void graph_view_finalize (GObject *obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - GraphView*
    constantsTouched: []
    func_position:
      end: 559
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 559
    functionName: graph_view_init
    functionSourceFile: /src/cairo/perf/cairo-perf-graph-widget.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void graph_view_init (GraphView *self) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gtk_widget_queue_draw
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:588,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - gv
    argTypes:
    - GraphView*
    constantsTouched: []
    func_position:
      end: 589
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 589
    functionName: graph_view_update_visible
    functionSourceFile: /src/cairo/perf/cairo-perf-graph-widget.c
    functionUses: []
    functionsReached:
    - gtk_widget_queue_draw
    linkageType: ''
    returnType: void
    signature: 'void graph_view_update_visible (GraphView *gv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: graph_view_update_visible
      Src: /src/cairo/perf/cairo-perf-graph-widget.c:602,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - gv
    - cases
    - reports
    - num_reports
    argTypes:
    - GraphView*
    - test_case_t*
    - cairo_perf_report_t*
    - int
    constantsTouched: []
    func_position:
      end: 603
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 603
    functionName: graph_view_set_reports
    functionSourceFile: /src/cairo/perf/cairo-perf-graph-widget.c
    functionUses: []
    functionsReached:
    - graph_view_update_visible
    linkageType: ''
    returnType: void
    signature: "void graph_view_set_reports (GraphView\t *gv,\t\t\ttest_case_t\t *cases,\t\
      \t\tcairo_perf_report_t *reports,\t\t\tint\t\t num_reports) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ceil
      Src: /src/cairo/perf/cairo-perf-diff-files.c:109,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-diff-files.c:136,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-diff-files.c:134,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-diff-files.c:132,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-diff-files.c:125,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-diff-files.c:138,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-diff-files.c:140,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-diff-files.c:142,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-diff-files.c:144,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-diff-files.c:146,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-diff-files.c:148,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 3
    argNames:
    - change
    - max_change
    - use_utf
    argTypes:
    - double
    - double
    - int
    constantsTouched: []
    func_position:
      end: 149
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 149
    functionName: print_change_bar
    functionSourceFile: /src/cairo/perf/cairo-perf-diff-files.c
    functionUses: []
    functionsReached:
    - printf
    - ceil
    linkageType: ''
    returnType: void
    signature: "static void print_change_bar (double change,\t\t double max_change,\t\
      \t int\t use_utf) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-diff-files.c:192,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-diff-files.c:208,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-diff-files.c:216,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-diff-files.c:198,1
    - Dst: print_change_bar
      Src: /src/cairo/perf/cairo-perf-diff-files.c:214,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-diff-files.c:219,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - diff
    - max_change
    - options
    argTypes:
    - test_diff_t*
    - double
    - cairo_perf_report_options_t*
    constantsTouched: []
    func_position:
      end: 220
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 220
    functionName: test_diff_print_multi
    functionSourceFile: /src/cairo/perf/cairo-perf-diff-files.c
    functionUses: []
    functionsReached:
    - printf
    - print_change_bar
    linkageType: ''
    returnType: void
    signature: "static void test_diff_print_multi (test_diff_t\t\t *diff,\t\t double\t\
      \t\t max_change,\t\t cairo_perf_report_options_t *options) "
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 101
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 101
    functionName: test_diff_cmp
    functionSourceFile: /src/cairo/perf/cairo-perf-diff-files.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "static int test_diff_cmp (const void *a,\t const void *b) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/cairo/perf/cairo-perf-diff-files.c:389,1
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-perf-diff-files.c:394,1
    - Dst: fprintf
      Src: /src/cairo/perf/cairo-perf-diff-files.c:391,1
    - Dst: exit
      Src: /src/cairo/perf/cairo-perf-diff-files.c:413,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - argv0
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 414
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 414
    functionName: usage
    functionSourceFile: /src/cairo/perf/cairo-perf-diff-files.c
    functionUses: []
    functionsReached:
    - strrchr
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void usage (const char *argv0) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 14
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 83
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 83
    functionName: test_diff_cmp_speedup_before_slowdown
    functionSourceFile: /src/cairo/perf/cairo-perf-diff-files.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "static int test_diff_cmp_speedup_before_slowdown (const void *a,\t\
      \t\t\t const void *b) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-diff-files.c:157,1
    - Dst: fabs
      Src: /src/cairo/perf/cairo-perf-diff-files.c:170,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-diff-files.c:173,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-diff-files.c:163,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-diff-files.c:161,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-diff-files.c:175,1
    - Dst: print_change_bar
      Src: /src/cairo/perf/cairo-perf-diff-files.c:178,1
    - Dst: fabs
      Src: /src/cairo/perf/cairo-perf-diff-files.c:178,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - diff
    - max_change
    - options
    argTypes:
    - test_diff_t*
    - double
    - cairo_perf_report_options_t*
    constantsTouched: []
    func_position:
      end: 180
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 180
    functionName: test_diff_print_binary
    functionSourceFile: /src/cairo/perf/cairo-perf-diff-files.c
    functionUses: []
    functionsReached:
    - printf
    - fabs
    - print_change_bar
    linkageType: ''
    returnType: void
    signature: "static void test_diff_print_binary (test_diff_t\t\t *diff,\t\t\tdouble\t\
      \t\t max_change,\t\t\tcairo_perf_report_options_t *options) "
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/cairo/perf/cairo-perf-diff-files.c:339,1
    - Dst: test_diff_print_binary
      Src: /src/cairo/perf/cairo-perf-diff-files.c:373,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-diff-files.c:348,1
    - Dst: free
      Src: /src/cairo/perf/cairo-perf-diff-files.c:383,1
    - Dst: assert
      Src: /src/cairo/perf/cairo-perf-diff-files.c:237,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-diff-files.c:312,1
    - Dst: fabs
      Src: /src/cairo/perf/cairo-perf-diff-files.c:343,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-diff-files.c:364,1
    - Dst: free
      Src: /src/cairo/perf/cairo-perf-diff-files.c:382,1
    - Dst: fabs
      Src: /src/cairo/perf/cairo-perf-diff-files.c:359,1
    - Dst: free
      Src: /src/cairo/perf/cairo-perf-diff-files.c:381,1
    - Dst: test_diff_print_multi
      Src: /src/cairo/perf/cairo-perf-diff-files.c:375,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-diff-files.c:369,1
    - Dst: test_report_cmp_backend_then_name
      Src: /src/cairo/perf/cairo-perf-diff-files.c:277,1
    - Dst: xmalloc
      Src: /src/cairo/perf/cairo-perf-diff-files.c:239,1
    - Dst: xmalloc
      Src: /src/cairo/perf/cairo-perf-diff-files.c:248,1
    - Dst: fabs
      Src: /src/cairo/perf/cairo-perf-diff-files.c:344,1
    - Dst: xmalloc
      Src: /src/cairo/perf/cairo-perf-diff-files.c:286,1
    - Dst: test_report_cmp_backend_then_name
      Src: /src/cairo/perf/cairo-perf-diff-files.c:289,1
    - Dst: qsort
      Src: /src/cairo/perf/cairo-perf-diff-files.c:336,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 124
    argCount: 3
    argNames:
    - reports
    - num_reports
    - options
    argTypes:
    - cairo_perf_report_t*
    - int
    - cairo_perf_report_options_t*
    constantsTouched: []
    func_position:
      end: 384
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 384
    functionName: cairo_perf_reports_compare
    functionSourceFile: /src/cairo/perf/cairo-perf-diff-files.c
    functionUses: []
    functionsReached:
    - printf
    - test_report_cmp_backend_then_name
    - fabs
    - xmalloc
    - qsort
    - free
    - assert
    - test_diff_print_multi
    - test_diff_print_binary
    linkageType: ''
    returnType: void
    signature: "static void cairo_perf_reports_compare (cairo_perf_report_t \t*reports,\t\
      \t\t int \t\t\t num_reports,\t\t\t cairo_perf_report_options_t *options) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cairo/perf/cairo-perf-diff-files.c:424,1
    - Dst: strcmp
      Src: /src/cairo/perf/cairo-perf-diff-files.c:427,1
    - Dst: strcmp
      Src: /src/cairo/perf/cairo-perf-diff-files.c:433,1
    - Dst: strcmp
      Src: /src/cairo/perf/cairo-perf-diff-files.c:436,1
    - Dst: strcmp
      Src: /src/cairo/perf/cairo-perf-diff-files.c:430,1
    - Dst: usage
      Src: /src/cairo/perf/cairo-perf-diff-files.c:440,1
    - Dst: strtod
      Src: /src/cairo/perf/cairo-perf-diff-files.c:441,1
    - Dst: usage
      Src: /src/cairo/perf/cairo-perf-diff-files.c:446,1
    - Dst: xrealloc
      Src: /src/cairo/perf/cairo-perf-diff-files.c:452,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 3
    argNames:
    - argc
    - argv
    - args
    argTypes:
    - int
    - char**
    - cairo_perf_diff_files_args_t*
    constantsTouched: []
    func_position:
      end: 457
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 457
    functionName: parse_args
    functionSourceFile: /src/cairo/perf/cairo-perf-diff-files.c
    functionUses: []
    functionsReached:
    - strtod
    - strcmp
    - usage
    - xrealloc
    linkageType: ''
    returnType: void
    signature: "static void parse_args (int \t\t\t argc,\t char const\t\t\t **argv,\t\
      \ cairo_perf_diff_files_args_t *args) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_args
      Src: /src/cairo/perf/cairo-perf-diff-files.c:476,1
    - Dst: usage
      Src: /src/cairo/perf/cairo-perf-diff-files.c:479,1
    - Dst: cairo_perf_report_load
      Src: /src/cairo/perf/cairo-perf-diff-files.c:484,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-diff-files.c:485,1
    - Dst: xmalloc
      Src: /src/cairo/perf/cairo-perf-diff-files.c:481,1
    - Dst: printf
      Src: /src/cairo/perf/cairo-perf-diff-files.c:487,1
    - Dst: cairo_perf_reports_compare
      Src: /src/cairo/perf/cairo-perf-diff-files.c:489,1
    - Dst: free
      Src: /src/cairo/perf/cairo-perf-diff-files.c:492,1
    - Dst: free
      Src: /src/cairo/perf/cairo-perf-diff-files.c:495,1
    - Dst: free
      Src: /src/cairo/perf/cairo-perf-diff-files.c:496,1
    - Dst: free
      Src: /src/cairo/perf/cairo-perf-diff-files.c:497,1
    - Dst: free
      Src: /src/cairo/perf/cairo-perf-diff-files.c:499,1
    - Dst: free
      Src: /src/cairo/perf/cairo-perf-diff-files.c:502,1
    - Dst: free
      Src: /src/cairo/perf/cairo-perf-diff-files.c:500,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 505
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 505
    functionName: main
    functionSourceFile: /src/cairo/perf/cairo-perf-diff-files.c
    functionUses: []
    functionsReached:
    - printf
    - usage
    - xmalloc
    - cairo_perf_reports_compare
    - parse_args
    - free
    - cairo_perf_report_load
    linkageType: ''
    returnType: int
    signature: "int main (int\t argc, const char *argv[]) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - minval
    - maxval
    argTypes:
    - double
    - double
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: uniform_random
    functionSourceFile: /src/cairo/perf/micro/many-curves.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: 'static double uniform_random (double minval, double maxval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/many-curves.c:90,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/many-curves.c:113,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/perf/micro/many-curves.c:111,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/many-curves.c:117,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/many-curves.c:94,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/many-curves.c:92,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/many-curves.c:96,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/many-curves.c:99,1
    - Dst: cairo_close_path
      Src: /src/cairo/perf/micro/many-curves.c:105,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/many-curves.c:101,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/many-curves.c:115,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/many-curves.c:93,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/many-curves.c:91,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/many-curves.c:95,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/many-curves.c:97,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/many-curves.c:98,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/many-curves.c:102,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/many-curves.c:108,1
    - Dst: cairo_curve_to
      Src: /src/cairo/perf/micro/many-curves.c:104,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/many-curves.c:100,1
    - Dst: cairo_curve_to
      Src: /src/cairo/perf/micro/many-curves.c:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 118
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 118
    functionName: do_many_curves_filled
    functionSourceFile: /src/cairo/perf/micro/many-curves.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - uniform_random
    - cairo_new_path
    - cairo_curve_to
    - cairo_close_path
    - cairo_fill_preserve
    - cairo_perf_timer_elapsed
    - cairo_move_to
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_many_curves_filled (cairo_t *cr, int width,
      int height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/micro/many-curves.c:72,1
    - Dst: do_many_curves_stroked
      Src: /src/cairo/perf/micro/many-curves.c:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: do_many_curves_hair_stroked
    functionSourceFile: /src/cairo/perf/micro/many-curves.c
    functionUses: []
    functionsReached:
    - do_many_curves_stroked
    - cairo_set_line_width
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_many_curves_hair_stroked (cairo_t *cr, int
      width, int height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/micro/many-curves.c:79,1
    - Dst: do_many_curves_stroked
      Src: /src/cairo/perf/micro/many-curves.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: do_many_curves_wide_stroked
    functionSourceFile: /src/cairo/perf/micro/many-curves.c
    functionUses: []
    functionsReached:
    - do_many_curves_stroked
    - cairo_set_line_width
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_many_curves_wide_stroked (cairo_t *cr, int
      width, int height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/many-curves.c:46,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/many-curves.c:49,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/many-curves.c:48,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/many-curves.c:46,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/many-curves.c:46,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/many-curves.c:50,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/many-curves.c:51,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/many-curves.c:52,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/many-curves.c:53,1
    - Dst: cairo_curve_to
      Src: /src/cairo/perf/micro/many-curves.c:54,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/many-curves.c:57,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/many-curves.c:64,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/many-curves.c:66,1
    - Dst: cairo_stroke_preserve
      Src: /src/cairo/perf/micro/many-curves.c:60,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/many-curves.c:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 67
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 67
    functionName: do_many_curves_stroked
    functionSourceFile: /src/cairo/perf/micro/many-curves.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - uniform_random
    - cairo_perf_timer_elapsed
    - cairo_new_path
    - cairo_curve_to
    - cairo_stroke_preserve
    - cairo_move_to
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_many_curves_stroked (cairo_t *cr, int width,
      int height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_can_run
      Src: /src/cairo/perf/micro/many-curves.c:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - perf
    argTypes:
    - cairo_perf_t*
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: many_curves_enabled
    functionSourceFile: /src/cairo/perf/micro/many-curves.c
    functionUses: []
    functionsReached:
    - cairo_perf_can_run
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t many_curves_enabled (cairo_perf_t *perf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/many-curves.c:129,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/many-curves.c:131,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/many-curves.c:133,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/many-curves.c:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - perf
    - cr
    - width
    - height
    argTypes:
    - cairo_perf_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 134
    functionName: many_curves
    functionSourceFile: /src/cairo/perf/micro/many-curves.c
    functionUses: []
    functionsReached:
    - cairo_perf_run
    - cairo_set_source_rgb
    linkageType: ''
    returnType: void
    signature: 'void many_curves (cairo_perf_t *perf, cairo_t *cr, int width, int
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/paint.c:30,1
    - Dst: cairo_paint
      Src: /src/cairo/perf/micro/paint.c:33,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/paint.c:37,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/paint.c:35,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 38
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 38
    functionName: do_paint
    functionSourceFile: /src/cairo/perf/micro/paint.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_elapsed
    - cairo_paint
    - cairo_perf_timer_start
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_paint (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_cover_sources_and_operators
      Src: /src/cairo/perf/micro/paint.c:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - perf
    - cr
    - width
    - height
    argTypes:
    - cairo_perf_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: paint
    functionSourceFile: /src/cairo/perf/micro/paint.c
    functionUses: []
    functionsReached:
    - cairo_perf_cover_sources_and_operators
    linkageType: ''
    returnType: void
    signature: 'void paint (cairo_perf_t *perf, cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: count_paint
    functionSourceFile: /src/cairo/perf/micro/paint.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: 'static double count_paint (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_can_run
      Src: /src/cairo/perf/micro/paint.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - perf
    argTypes:
    - cairo_perf_t*
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: paint_enabled
    functionSourceFile: /src/cairo/perf/micro/paint.c
    functionUses: []
    functionsReached:
    - cairo_perf_can_run
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t paint_enabled (cairo_perf_t *perf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/perf/micro/long-dashed-lines.c:35,1
    - Dst: cairo_paint
      Src: /src/cairo/perf/micro/long-dashed-lines.c:37,1
    - Dst: cairo_set_dash
      Src: /src/cairo/perf/micro/long-dashed-lines.c:40,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/long-dashed-lines.c:36,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/long-dashed-lines.c:39,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/long-dashed-lines.c:42,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/micro/long-dashed-lines.c:43,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/long-dashed-lines.c:47,1
    - Dst: cairo_line_to
      Src: /src/cairo/perf/micro/long-dashed-lines.c:48,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/long-dashed-lines.c:51,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/long-dashed-lines.c:56,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/long-dashed-lines.c:60,1
    - Dst: cairo_restore
      Src: /src/cairo/perf/micro/long-dashed-lines.c:58,1
    - Dst: cairo_stroke_preserve
      Src: /src/cairo/perf/micro/long-dashed-lines.c:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 61
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 61
    functionName: do_long_dashed_lines
    functionSourceFile: /src/cairo/perf/micro/long-dashed-lines.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_perf_timer_start
    - cairo_perf_timer_elapsed
    - cairo_new_path
    - cairo_set_line_width
    - cairo_line_to
    - cairo_set_dash
    - cairo_save
    - cairo_restore
    - cairo_set_source_rgb
    - cairo_stroke_preserve
    - cairo_move_to
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_long_dashed_lines (cairo_t *cr, int width,
      int height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_can_run
      Src: /src/cairo/perf/micro/long-dashed-lines.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - perf
    argTypes:
    - cairo_perf_t*
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: long_dashed_lines_enabled
    functionSourceFile: /src/cairo/perf/micro/long-dashed-lines.c
    functionUses: []
    functionsReached:
    - cairo_perf_can_run
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t long_dashed_lines_enabled (cairo_perf_t *perf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/long-dashed-lines.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - perf
    - cr
    - width
    - height
    argTypes:
    - cairo_perf_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: long_dashed_lines
    functionSourceFile: /src/cairo/perf/micro/long-dashed-lines.c
    functionUses: []
    functionsReached:
    - cairo_perf_run
    linkageType: ''
    returnType: void
    signature: 'void long_dashed_lines (cairo_perf_t *perf, cairo_t *cr, int width,
      int height) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_font_options_create
      Src: /src/cairo/perf/micro/glyphs.c:43,1
    - Dst: cairo_set_font_options
      Src: /src/cairo/perf/micro/glyphs.c:45,1
    - Dst: cairo_font_options_destroy
      Src: /src/cairo/perf/micro/glyphs.c:46,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/perf/micro/glyphs.c:48,1
    - Dst: cairo_font_options_set_antialias
      Src: /src/cairo/perf/micro/glyphs.c:44,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/perf/micro/glyphs.c:52,1
    - Dst: cairo_get_scaled_font
      Src: /src/cairo/perf/micro/glyphs.c:53,1
    - Dst: cairo_scaled_font_text_to_glyphs
      Src: /src/cairo/perf/micro/glyphs.c:54,1
    - Dst: cairo_glyph_allocate
      Src: /src/cairo/perf/micro/glyphs.c:62,1
    - Dst: cairo_glyph_free
      Src: /src/cairo/perf/micro/glyphs.c:64,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/glyphs.c:72,1
    - Dst: cairo_glyph_free
      Src: /src/cairo/perf/micro/glyphs.c:94,1
    - Dst: cairo_show_glyphs
      Src: /src/cairo/perf/micro/glyphs.c:84,1
    - Dst: cairo_glyph_free
      Src: /src/cairo/perf/micro/glyphs.c:95,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/glyphs.c:92,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/glyphs.c:97,1
    - Dst: cairo_scaled_font_glyph_extents
      Src: /src/cairo/perf/micro/glyphs.c:68,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 6
    argNames:
    - font_size
    - antialias
    - cr
    - width
    - height
    - loops
    argTypes:
    - double
    - cairo_antialias_t
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 98
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 98
    functionName: do_glyphs
    functionSourceFile: /src/cairo/perf/micro/glyphs.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - cairo_font_options_destroy
    - cairo_set_font_options
    - cairo_font_options_create
    - cairo_get_scaled_font
    - cairo_show_glyphs
    - cairo_scaled_font_glyph_extents
    - cairo_set_font_size
    - cairo_glyph_free
    - cairo_select_font_face
    - cairo_font_options_set_antialias
    - cairo_perf_timer_elapsed
    - cairo_scaled_font_text_to_glyphs
    - cairo_glyph_allocate
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: "static cairo_time_t do_glyphs (double font_size,\t cairo_antialias_t\
      \ antialias,\t cairo_t *cr, int width, int height, int loops) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_font_options_create
      Src: /src/cairo/perf/micro/glyphs.c:114,1
    - Dst: cairo_set_font_options
      Src: /src/cairo/perf/micro/glyphs.c:116,1
    - Dst: cairo_font_options_destroy
      Src: /src/cairo/perf/micro/glyphs.c:117,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/perf/micro/glyphs.c:119,1
    - Dst: cairo_font_options_set_antialias
      Src: /src/cairo/perf/micro/glyphs.c:115,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/perf/micro/glyphs.c:123,1
    - Dst: cairo_get_scaled_font
      Src: /src/cairo/perf/micro/glyphs.c:124,1
    - Dst: cairo_scaled_font_text_to_glyphs
      Src: /src/cairo/perf/micro/glyphs.c:125,1
    - Dst: cairo_scaled_font_glyph_extents
      Src: /src/cairo/perf/micro/glyphs.c:133,1
    - Dst: cairo_glyph_free
      Src: /src/cairo/perf/micro/glyphs.c:136,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 5
    argNames:
    - font_size
    - antialias
    - cr
    - width
    - height
    argTypes:
    - double
    - cairo_antialias_t
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 141
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 141
    functionName: count_glyphs
    functionSourceFile: /src/cairo/perf/micro/glyphs.c
    functionUses: []
    functionsReached:
    - cairo_font_options_destroy
    - cairo_set_font_options
    - cairo_font_options_create
    - cairo_get_scaled_font
    - cairo_scaled_font_glyph_extents
    - cairo_set_font_size
    - cairo_glyph_free
    - cairo_select_font_face
    - cairo_font_options_set_antialias
    - cairo_scaled_font_text_to_glyphs
    linkageType: ''
    returnType: double
    signature: "static double count_glyphs (double font_size,\t cairo_antialias_t\
      \ antialias,\t cairo_t *cr, int width, int height) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_cover_sources_and_operators
      Src: /src/cairo/perf/micro/glyphs.c:181,1
    - Dst: cairo_perf_cover_sources_and_operators
      Src: /src/cairo/perf/micro/glyphs.c:183,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/glyphs.c:186,1
    - Dst: cairo_set_operator
      Src: /src/cairo/perf/micro/glyphs.c:185,1
    - Dst: cairo_perf_cover_sources_and_operators
      Src: /src/cairo/perf/micro/glyphs.c:182,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/glyphs.c:188,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/glyphs.c:189,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/glyphs.c:190,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/glyphs.c:191,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/glyphs.c:192,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/glyphs.c:195,1
    - Dst: cairo_perf_cover_sources_and_operators
      Src: /src/cairo/perf/micro/glyphs.c:198,1
    - Dst: cairo_perf_cover_sources_and_operators
      Src: /src/cairo/perf/micro/glyphs.c:200,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/glyphs.c:193,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/glyphs.c:196,1
    - Dst: cairo_perf_cover_sources_and_operators
      Src: /src/cairo/perf/micro/glyphs.c:199,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/glyphs.c:194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - perf
    - cr
    - width
    - height
    argTypes:
    - cairo_perf_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 201
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 201
    functionName: glyphs
    functionSourceFile: /src/cairo/perf/micro/glyphs.c
    functionUses: []
    functionsReached:
    - cairo_set_operator
    - cairo_perf_run
    - cairo_perf_cover_sources_and_operators
    - cairo_set_source_rgb
    linkageType: ''
    returnType: void
    signature: 'void glyphs (cairo_perf_t *perf, cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_can_run
      Src: /src/cairo/perf/micro/glyphs.c:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - perf
    argTypes:
    - cairo_perf_t*
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: glyphs_enabled
    functionSourceFile: /src/cairo/perf/micro/glyphs.c
    functionUses: []
    functionsReached:
    - cairo_perf_can_run
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t glyphs_enabled (cairo_perf_t *perf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_world_map
      Src: /src/cairo/perf/micro/world-map.c:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: do_world_map_stroke
    functionSourceFile: /src/cairo/perf/micro/world-map.c
    functionUses: []
    functionsReached:
    - do_world_map
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_world_map_stroke (cairo_t *cr, int width, int
      height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_world_map
      Src: /src/cairo/perf/micro/world-map.c:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: do_world_map_both
    functionSourceFile: /src/cairo/perf/micro/world-map.c
    functionUses: []
    functionsReached:
    - do_world_map
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_world_map_both (cairo_t *cr, int width, int
      height, int loops) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/world-map.c:66,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/world-map.c:76,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/world-map.c:80,1
    - Dst: cairo_line_to
      Src: /src/cairo/perf/micro/world-map.c:99,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/world-map.c:110,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/micro/world-map.c:61,1
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/micro/world-map.c:67,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/perf/micro/world-map.c:77,1
    - Dst: cairo_stroke
      Src: /src/cairo/perf/micro/world-map.c:81,1
    - Dst: cairo_get_current_point
      Src: /src/cairo/perf/micro/world-map.c:98,1
    - Dst: cairo_line_to
      Src: /src/cairo/perf/micro/world-map.c:95,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/world-map.c:63,1
    - Dst: cairo_fill
      Src: /src/cairo/perf/micro/world-map.c:68,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/world-map.c:83,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/world-map.c:88,1
    - Dst: cairo_close_path
      Src: /src/cairo/perf/micro/world-map.c:87,1
    - Dst: cairo_get_current_point
      Src: /src/cairo/perf/micro/world-map.c:94,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/perf/micro/world-map.c:102,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/world-map.c:113,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/world-map.c:115,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/world-map.c:84,1
    - Dst: cairo_line_to
      Src: /src/cairo/perf/micro/world-map.c:91,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 5
    argNames:
    - cr
    - width
    - height
    - loops
    - mode
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 116
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 116
    functionName: do_world_map
    functionSourceFile: /src/cairo/perf/micro/world-map.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - cairo_perf_timer_elapsed
    - cairo_new_path
    - cairo_set_line_width
    - cairo_move_to
    - cairo_line_to
    - cairo_rel_line_to
    - cairo_perf_timer_stop
    - cairo_close_path
    - cairo_stroke
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_get_current_point
    - cairo_fill_preserve
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_world_map (cairo_t *cr, int width, int height,
      int loops, int mode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_can_run
      Src: /src/cairo/perf/micro/world-map.c:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - perf
    argTypes:
    - cairo_perf_t*
    constantsTouched: []
    func_position:
      end: 140
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 140
    functionName: world_map_enabled
    functionSourceFile: /src/cairo/perf/micro/world-map.c
    functionUses: []
    functionsReached:
    - cairo_perf_can_run
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t world_map_enabled (cairo_perf_t *perf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_world_map
      Src: /src/cairo/perf/micro/world-map.c:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: do_world_map_fill
    functionSourceFile: /src/cairo/perf/micro/world-map.c
    functionUses: []
    functionsReached:
    - do_world_map
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_world_map_fill (cairo_t *cr, int width, int
      height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/world-map.c:145,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/world-map.c:146,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/world-map.c:147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - perf
    - cr
    - width
    - height
    argTypes:
    - cairo_perf_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 148
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 148
    functionName: world_map
    functionSourceFile: /src/cairo/perf/micro/world-map.c
    functionUses: []
    functionsReached:
    - cairo_perf_run
    linkageType: ''
    returnType: void
    signature: 'void world_map (cairo_perf_t *perf, cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/cairo/perf/micro/wide-fills.c:102,1
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/micro/wide-fills.c:104,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/wide-fills.c:103,1
    - Dst: floor
      Src: /src/cairo/perf/micro/wide-fills.c:103,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/wide-fills.c:102,1
    - Dst: ceil
      Src: /src/cairo/perf/micro/wide-fills.c:104,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/wide-fills.c:104,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/wide-fills.c:107,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/perf/micro/wide-fills.c:110,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/wide-fills.c:112,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/wide-fills.c:114,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/wide-fills.c:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 117
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 117
    functionName: do_wide_fills_va
    functionSourceFile: /src/cairo/perf/micro/wide-fills.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - uniform_random
    - floor
    - cairo_new_path
    - cairo_perf_timer_stop
    - cairo_fill_preserve
    - cairo_perf_timer_elapsed
    - ceil
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_wide_fills_va (cairo_t *cr, int width, int
      height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/cairo/perf/micro/wide-fills.c:54,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/wide-fills.c:54,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/wide-fills.c:55,1
    - Dst: floor
      Src: /src/cairo/perf/micro/wide-fills.c:55,1
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/micro/wide-fills.c:56,1
    - Dst: ceil
      Src: /src/cairo/perf/micro/wide-fills.c:56,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/wide-fills.c:56,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/wide-fills.c:59,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/perf/micro/wide-fills.c:62,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/wide-fills.c:64,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/wide-fills.c:66,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/wide-fills.c:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 69
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 69
    functionName: do_wide_fills_ha
    functionSourceFile: /src/cairo/perf/micro/wide-fills.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - uniform_random
    - floor
    - cairo_new_path
    - cairo_perf_timer_stop
    - cairo_fill_preserve
    - cairo_perf_timer_elapsed
    - ceil
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_wide_fills_ha (cairo_t *cr, int width, int
      height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/perf/micro/wide-fills.c:151,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/wide-fills.c:154,1
    - Dst: cairo_rotate
      Src: /src/cairo/perf/micro/wide-fills.c:155,1
    - Dst: cairo_translate
      Src: /src/cairo/perf/micro/wide-fills.c:152,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/wide-fills.c:153,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/wide-fills.c:155,1
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/micro/wide-fills.c:156,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/wide-fills.c:156,1
    - Dst: cairo_restore
      Src: /src/cairo/perf/micro/wide-fills.c:157,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/wide-fills.c:160,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/wide-fills.c:167,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/perf/micro/wide-fills.c:163,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/wide-fills.c:169,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/wide-fills.c:165,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 170
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 170
    functionName: do_wide_fills
    functionSourceFile: /src/cairo/perf/micro/wide-fills.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - uniform_random
    - cairo_perf_timer_elapsed
    - cairo_new_path
    - cairo_save
    - cairo_perf_timer_stop
    - cairo_restore
    - cairo_rotate
    - cairo_translate
    - cairo_fill_preserve
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_wide_fills (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - minval
    - maxval
    argTypes:
    - double
    - double
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: uniform_random
    functionSourceFile: /src/cairo/perf/micro/wide-fills.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: 'static double uniform_random (double minval, double maxval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/wide-fills.c:78,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/wide-fills.c:80,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/wide-fills.c:79,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/wide-fills.c:83,1
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/micro/wide-fills.c:80,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/perf/micro/wide-fills.c:86,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/wide-fills.c:88,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/wide-fills.c:90,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/wide-fills.c:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 93
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 93
    functionName: do_wide_fills_h
    functionSourceFile: /src/cairo/perf/micro/wide-fills.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - uniform_random
    - cairo_new_path
    - cairo_rectangle
    - cairo_perf_timer_elapsed
    - cairo_fill_preserve
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_wide_fills_h (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/wide-fills.c:126,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/wide-fills.c:127,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/wide-fills.c:131,1
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/micro/wide-fills.c:128,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/wide-fills.c:128,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/perf/micro/wide-fills.c:134,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/wide-fills.c:136,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/wide-fills.c:138,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/wide-fills.c:140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 141
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 141
    functionName: do_wide_fills_v
    functionSourceFile: /src/cairo/perf/micro/wide-fills.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - uniform_random
    - cairo_new_path
    - cairo_rectangle
    - cairo_perf_timer_elapsed
    - cairo_fill_preserve
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_wide_fills_v (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_can_run
      Src: /src/cairo/perf/micro/wide-fills.c:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - perf
    argTypes:
    - cairo_perf_t*
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: wide_fills_enabled
    functionSourceFile: /src/cairo/perf/micro/wide-fills.c
    functionUses: []
    functionsReached:
    - cairo_perf_can_run
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t wide_fills_enabled (cairo_perf_t *perf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/wide-fills.c:181,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/wide-fills.c:185,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/wide-fills.c:182,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/wide-fills.c:183,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/wide-fills.c:184,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - perf
    - cr
    - width
    - height
    argTypes:
    - cairo_perf_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 186
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 186
    functionName: wide_fills
    functionSourceFile: /src/cairo/perf/micro/wide-fills.c
    functionUses: []
    functionsReached:
    - cairo_perf_run
    linkageType: ''
    returnType: void
    signature: 'void wide_fills (cairo_perf_t *perf, cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/composite-checker.c:59,1
    - Dst: cairo_paint
      Src: /src/cairo/perf/micro/composite-checker.c:65,1
    - Dst: cairo_identity_matrix
      Src: /src/cairo/perf/micro/composite-checker.c:63,1
    - Dst: cairo_scale
      Src: /src/cairo/perf/micro/composite-checker.c:68,1
    - Dst: cairo_set_source
      Src: /src/cairo/perf/micro/composite-checker.c:64,1
    - Dst: cairo_set_source
      Src: /src/cairo/perf/micro/composite-checker.c:69,1
    - Dst: cairo_paint
      Src: /src/cairo/perf/micro/composite-checker.c:70,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/composite-checker.c:73,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/composite-checker.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 75
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 75
    functionName: do_composite_checker
    functionSourceFile: /src/cairo/perf/micro/composite-checker.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_perf_timer_start
    - cairo_perf_timer_stop
    - cairo_set_source
    - cairo_scale
    - cairo_perf_timer_elapsed
    - cairo_identity_matrix
    linkageType: ''
    returnType: cairo_time_t
    signature: "static cairo_time_t do_composite_checker (cairo_t *cr, int width,\
      \ int height,\t\t int loops) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create
      Src: /src/cairo/perf/micro/composite-checker.c:94,1
    - Dst: cairo_pattern_create_for_surface
      Src: /src/cairo/perf/micro/composite-checker.c:97,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/perf/micro/composite-checker.c:100,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/perf/micro/composite-checker.c:99,1
    - Dst: cairo_pattern_set_filter
      Src: /src/cairo/perf/micro/composite-checker.c:98,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/perf/micro/composite-checker.c:105,1
    - Dst: cairo_pattern_create_for_surface
      Src: /src/cairo/perf/micro/composite-checker.c:108,1
    - Dst: cairo_pattern_set_filter
      Src: /src/cairo/perf/micro/composite-checker.c:109,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/perf/micro/composite-checker.c:110,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/composite-checker.c:112,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/perf/micro/composite-checker.c:114,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/perf/micro/composite-checker.c:115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - perf
    - cr
    - width
    - height
    argTypes:
    - cairo_perf_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 116
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 116
    functionName: composite_checker
    functionSourceFile: /src/cairo/perf/micro/composite-checker.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_for_surface
    - cairo_pattern_set_filter
    - cairo_perf_run
    - cairo_surface_destroy
    - cairo_pattern_set_extend
    - cairo_image_surface_create
    - cairo_pattern_destroy
    linkageType: ''
    returnType: void
    signature: 'void composite_checker (cairo_perf_t *perf, cairo_t *cr, int width,
      int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_can_run
      Src: /src/cairo/perf/micro/composite-checker.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - perf
    argTypes:
    - cairo_perf_t*
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: composite_checker_enabled
    functionSourceFile: /src/cairo/perf/micro/composite-checker.c
    functionUses: []
    functionsReached:
    - cairo_perf_can_run
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t composite_checker_enabled (cairo_perf_t *perf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/cairo/perf/micro/wide-strokes.c:99,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/wide-strokes.c:100,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/wide-strokes.c:99,1
    - Dst: floor
      Src: /src/cairo/perf/micro/wide-strokes.c:100,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/wide-strokes.c:100,1
    - Dst: cairo_line_to
      Src: /src/cairo/perf/micro/wide-strokes.c:101,1
    - Dst: ceil
      Src: /src/cairo/perf/micro/wide-strokes.c:101,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/wide-strokes.c:101,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/micro/wide-strokes.c:104,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/wide-strokes.c:106,1
    - Dst: cairo_stroke_preserve
      Src: /src/cairo/perf/micro/wide-strokes.c:109,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/wide-strokes.c:113,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/wide-strokes.c:115,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/wide-strokes.c:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 116
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 116
    functionName: do_wide_strokes_va
    functionSourceFile: /src/cairo/perf/micro/wide-strokes.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - uniform_random
    - cairo_perf_timer_elapsed
    - ceil
    - cairo_set_line_width
    - cairo_line_to
    - cairo_new_path
    - cairo_perf_timer_stop
    - cairo_stroke_preserve
    - cairo_move_to
    - floor
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_wide_strokes_va (cairo_t *cr, int width, int
      height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/cairo/perf/micro/wide-strokes.c:47,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/wide-strokes.c:47,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/wide-strokes.c:48,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/wide-strokes.c:48,1
    - Dst: floor
      Src: /src/cairo/perf/micro/wide-strokes.c:48,1
    - Dst: cairo_line_to
      Src: /src/cairo/perf/micro/wide-strokes.c:49,1
    - Dst: ceil
      Src: /src/cairo/perf/micro/wide-strokes.c:49,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/wide-strokes.c:49,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/micro/wide-strokes.c:52,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/wide-strokes.c:54,1
    - Dst: cairo_stroke_preserve
      Src: /src/cairo/perf/micro/wide-strokes.c:57,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/wide-strokes.c:61,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/wide-strokes.c:63,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/wide-strokes.c:59,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 64
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 64
    functionName: do_wide_strokes_ha
    functionSourceFile: /src/cairo/perf/micro/wide-strokes.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - uniform_random
    - cairo_perf_timer_elapsed
    - ceil
    - cairo_set_line_width
    - cairo_line_to
    - cairo_new_path
    - cairo_perf_timer_stop
    - cairo_stroke_preserve
    - cairo_move_to
    - floor
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_wide_strokes_ha (cairo_t *cr, int width, int
      height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_line_to
      Src: /src/cairo/perf/micro/wide-strokes.c:152,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/wide-strokes.c:159,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/micro/wide-strokes.c:157,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/wide-strokes.c:153,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/wide-strokes.c:154,1
    - Dst: cairo_stroke_preserve
      Src: /src/cairo/perf/micro/wide-strokes.c:162,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/wide-strokes.c:164,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/wide-strokes.c:166,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/wide-strokes.c:168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 169
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 169
    functionName: do_wide_strokes
    functionSourceFile: /src/cairo/perf/micro/wide-strokes.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - uniform_random
    - cairo_perf_timer_elapsed
    - cairo_new_path
    - cairo_set_line_width
    - cairo_line_to
    - cairo_stroke_preserve
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_wide_strokes (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - minval
    - maxval
    argTypes:
    - double
    - double
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: uniform_random
    functionSourceFile: /src/cairo/perf/micro/wide-strokes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: 'static double uniform_random (double minval, double maxval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/wide-strokes.c:125,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/wide-strokes.c:126,1
    - Dst: cairo_line_to
      Src: /src/cairo/perf/micro/wide-strokes.c:127,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/wide-strokes.c:127,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/wide-strokes.c:126,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/micro/wide-strokes.c:130,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/wide-strokes.c:132,1
    - Dst: cairo_stroke_preserve
      Src: /src/cairo/perf/micro/wide-strokes.c:135,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/wide-strokes.c:137,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/wide-strokes.c:139,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/wide-strokes.c:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 142
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 142
    functionName: do_wide_strokes_v
    functionSourceFile: /src/cairo/perf/micro/wide-strokes.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - uniform_random
    - cairo_perf_timer_elapsed
    - cairo_new_path
    - cairo_set_line_width
    - cairo_line_to
    - cairo_stroke_preserve
    - cairo_move_to
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_wide_strokes_v (cairo_t *cr, int width, int
      height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/wide-strokes.c:73,1
    - Dst: cairo_line_to
      Src: /src/cairo/perf/micro/wide-strokes.c:75,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/wide-strokes.c:74,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/wide-strokes.c:74,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/wide-strokes.c:75,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/micro/wide-strokes.c:78,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/wide-strokes.c:80,1
    - Dst: cairo_stroke_preserve
      Src: /src/cairo/perf/micro/wide-strokes.c:83,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/wide-strokes.c:85,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/wide-strokes.c:87,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/wide-strokes.c:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 90
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 90
    functionName: do_wide_strokes_h
    functionSourceFile: /src/cairo/perf/micro/wide-strokes.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - uniform_random
    - cairo_perf_timer_elapsed
    - cairo_new_path
    - cairo_set_line_width
    - cairo_line_to
    - cairo_stroke_preserve
    - cairo_move_to
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_wide_strokes_h (cairo_t *cr, int width, int
      height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_can_run
      Src: /src/cairo/perf/micro/wide-strokes.c:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - perf
    argTypes:
    - cairo_perf_t*
    constantsTouched: []
    func_position:
      end: 175
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 175
    functionName: wide_strokes_enabled
    functionSourceFile: /src/cairo/perf/micro/wide-strokes.c
    functionUses: []
    functionsReached:
    - cairo_perf_can_run
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t wide_strokes_enabled (cairo_perf_t *perf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/wide-strokes.c:180,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/wide-strokes.c:185,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/wide-strokes.c:182,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/wide-strokes.c:183,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/wide-strokes.c:184,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/wide-strokes.c:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - perf
    - cr
    - width
    - height
    argTypes:
    - cairo_perf_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 187
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 187
    functionName: wide_strokes
    functionSourceFile: /src/cairo/perf/micro/wide-strokes.c
    functionUses: []
    functionsReached:
    - cairo_perf_run
    - cairo_set_source_rgb
    linkageType: ''
    returnType: void
    signature: 'void wide_strokes (cairo_perf_t *perf, cairo_t *cr, int width, int
      height) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/perf/micro/long-lines.c:51,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/long-lines.c:58,1
    - Dst: cairo_line_to
      Src: /src/cairo/perf/micro/long-lines.c:77,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/long-lines.c:86,1
    - Dst: cairo_stroke
      Src: /src/cairo/perf/micro/long-lines.c:100,1
    - Dst: cairo_line_to
      Src: /src/cairo/perf/micro/long-lines.c:87,1
    - Dst: cairo_translate
      Src: /src/cairo/perf/micro/long-lines.c:53,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/long-lines.c:62,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/long-lines.c:76,1
    - Dst: cairo_stroke
      Src: /src/cairo/perf/micro/long-lines.c:79,1
    - Dst: cairo_stroke
      Src: /src/cairo/perf/micro/long-lines.c:94,1
    - Dst: cairo_stroke
      Src: /src/cairo/perf/micro/long-lines.c:89,1
    - Dst: cairo_restore
      Src: /src/cairo/perf/micro/long-lines.c:105,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/long-lines.c:72,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/long-lines.c:81,1
    - Dst: cairo_line_to
      Src: /src/cairo/perf/micro/long-lines.c:82,1
    - Dst: cairo_line_to
      Src: /src/cairo/perf/micro/long-lines.c:92,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/long-lines.c:91,1
    - Dst: cairo_stroke
      Src: /src/cairo/perf/micro/long-lines.c:84,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/long-lines.c:103,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/long-lines.c:107,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 64
    argCount: 5
    argNames:
    - cr
    - width
    - height
    - loops
    - crop
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    - long_lines_crop_t
    constantsTouched: []
    func_position:
      end: 108
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 108
    functionName: do_long_lines
    functionSourceFile: /src/cairo/perf/micro/long-lines.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - cairo_perf_timer_elapsed
    - cairo_line_to
    - cairo_save
    - cairo_stroke
    - cairo_restore
    - cairo_set_source_rgb
    - cairo_translate
    - cairo_move_to
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_long_lines (cairo_t *cr, int width, int height,
      int loops, long_lines_crop_t crop) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_long_lines
      Src: /src/cairo/perf/micro/long-lines.c:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: long_lines_uncropped_once
    functionSourceFile: /src/cairo/perf/micro/long-lines.c
    functionUses: []
    functionsReached:
    - do_long_lines
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t long_lines_uncropped_once (cairo_t *cr, int width,
      int height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_long_lines
      Src: /src/cairo/perf/micro/long-lines.c:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: long_lines_cropped_once
    functionSourceFile: /src/cairo/perf/micro/long-lines.c
    functionUses: []
    functionsReached:
    - do_long_lines
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t long_lines_cropped_once (cairo_t *cr, int width,
      int height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_long_lines
      Src: /src/cairo/perf/micro/long-lines.c:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: long_lines_uncropped
    functionSourceFile: /src/cairo/perf/micro/long-lines.c
    functionUses: []
    functionsReached:
    - do_long_lines
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t long_lines_uncropped (cairo_t *cr, int width,
      int height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_long_lines
      Src: /src/cairo/perf/micro/long-lines.c:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: long_lines_cropped
    functionSourceFile: /src/cairo/perf/micro/long-lines.c
    functionUses: []
    functionsReached:
    - do_long_lines
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t long_lines_cropped (cairo_t *cr, int width, int
      height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_can_run
      Src: /src/cairo/perf/micro/long-lines.c:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - perf
    argTypes:
    - cairo_perf_t*
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: long_lines_enabled
    functionSourceFile: /src/cairo/perf/micro/long-lines.c
    functionUses: []
    functionsReached:
    - cairo_perf_can_run
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t long_lines_enabled (cairo_perf_t *perf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/long-lines.c:143,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/long-lines.c:146,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/long-lines.c:145,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/long-lines.c:144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - perf
    - cr
    - width
    - height
    argTypes:
    - cairo_perf_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 147
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 147
    functionName: long_lines
    functionSourceFile: /src/cairo/perf/micro/long-lines.c
    functionUses: []
    functionsReached:
    - cairo_perf_run
    linkageType: ''
    returnType: void
    signature: 'void long_lines (cairo_perf_t *perf, cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/cairo/perf/micro/many-fills.c:54,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/many-fills.c:54,1
    - Dst: floor
      Src: /src/cairo/perf/micro/many-fills.c:55,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/many-fills.c:55,1
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/micro/many-fills.c:56,1
    - Dst: ceil
      Src: /src/cairo/perf/micro/many-fills.c:56,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/many-fills.c:56,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/many-fills.c:59,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/perf/micro/many-fills.c:62,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/many-fills.c:64,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/many-fills.c:68,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/many-fills.c:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 69
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 69
    functionName: do_many_fills_ha
    functionSourceFile: /src/cairo/perf/micro/many-fills.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - uniform_random
    - floor
    - cairo_new_path
    - cairo_perf_timer_stop
    - cairo_fill_preserve
    - cairo_perf_timer_elapsed
    - ceil
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_many_fills_ha (cairo_t *cr, int width, int
      height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/cairo/perf/micro/many-fills.c:102,1
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/micro/many-fills.c:104,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/many-fills.c:102,1
    - Dst: floor
      Src: /src/cairo/perf/micro/many-fills.c:103,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/many-fills.c:103,1
    - Dst: ceil
      Src: /src/cairo/perf/micro/many-fills.c:104,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/many-fills.c:104,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/many-fills.c:107,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/perf/micro/many-fills.c:110,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/many-fills.c:112,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/many-fills.c:114,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/many-fills.c:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 117
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 117
    functionName: do_many_fills_va
    functionSourceFile: /src/cairo/perf/micro/many-fills.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - uniform_random
    - floor
    - cairo_new_path
    - cairo_perf_timer_stop
    - cairo_fill_preserve
    - cairo_perf_timer_elapsed
    - ceil
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_many_fills_va (cairo_t *cr, int width, int
      height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/perf/micro/many-fills.c:151,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/many-fills.c:154,1
    - Dst: cairo_rotate
      Src: /src/cairo/perf/micro/many-fills.c:155,1
    - Dst: cairo_translate
      Src: /src/cairo/perf/micro/many-fills.c:152,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/many-fills.c:153,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/many-fills.c:155,1
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/micro/many-fills.c:156,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/many-fills.c:156,1
    - Dst: cairo_restore
      Src: /src/cairo/perf/micro/many-fills.c:157,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/many-fills.c:160,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/many-fills.c:165,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/many-fills.c:169,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/perf/micro/many-fills.c:163,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/many-fills.c:167,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 170
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 170
    functionName: do_many_fills
    functionSourceFile: /src/cairo/perf/micro/many-fills.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - uniform_random
    - cairo_perf_timer_elapsed
    - cairo_new_path
    - cairo_save
    - cairo_perf_timer_stop
    - cairo_restore
    - cairo_rotate
    - cairo_translate
    - cairo_fill_preserve
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_many_fills (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - minval
    - maxval
    argTypes:
    - double
    - double
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: uniform_random
    functionSourceFile: /src/cairo/perf/micro/many-fills.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: 'static double uniform_random (double minval, double maxval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/many-fills.c:78,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/many-fills.c:80,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/many-fills.c:83,1
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/micro/many-fills.c:80,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/many-fills.c:79,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/perf/micro/many-fills.c:86,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/many-fills.c:88,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/many-fills.c:90,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/many-fills.c:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 93
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 93
    functionName: do_many_fills_h
    functionSourceFile: /src/cairo/perf/micro/many-fills.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - uniform_random
    - cairo_new_path
    - cairo_rectangle
    - cairo_perf_timer_elapsed
    - cairo_fill_preserve
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_many_fills_h (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/many-fills.c:126,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/many-fills.c:127,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/many-fills.c:128,1
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/micro/many-fills.c:128,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/many-fills.c:131,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/perf/micro/many-fills.c:134,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/many-fills.c:136,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/many-fills.c:138,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/many-fills.c:140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 141
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 141
    functionName: do_many_fills_v
    functionSourceFile: /src/cairo/perf/micro/many-fills.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - uniform_random
    - cairo_new_path
    - cairo_rectangle
    - cairo_perf_timer_elapsed
    - cairo_fill_preserve
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_many_fills_v (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_can_run
      Src: /src/cairo/perf/micro/many-fills.c:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - perf
    argTypes:
    - cairo_perf_t*
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: many_fills_enabled
    functionSourceFile: /src/cairo/perf/micro/many-fills.c
    functionUses: []
    functionsReached:
    - cairo_perf_can_run
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t many_fills_enabled (cairo_perf_t *perf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/many-fills.c:181,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/many-fills.c:185,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/many-fills.c:183,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/many-fills.c:184,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/many-fills.c:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - perf
    - cr
    - width
    - height
    argTypes:
    - cairo_perf_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 186
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 186
    functionName: many_fills
    functionSourceFile: /src/cairo/perf/micro/many-fills.c
    functionUses: []
    functionsReached:
    - cairo_perf_run
    linkageType: ''
    returnType: void
    signature: 'void many_fills (cairo_perf_t *perf, cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_antialias
      Src: /src/cairo/perf/micro/fill.c:89,1
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/perf/micro/fill.c:90,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/perf/micro/fill.c:100,1
    - Dst: cairo_arc
      Src: /src/cairo/perf/micro/fill.c:92,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/fill.c:97,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/fill.c:102,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/fill.c:104,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/fill.c:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 107
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 107
    functionName: do_fill_eo_noaa
    functionSourceFile: /src/cairo/perf/micro/fill.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - cairo_perf_timer_elapsed
    - cairo_new_path
    - cairo_arc
    - cairo_set_fill_rule
    - cairo_fill_preserve
    - cairo_set_antialias
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_fill_eo_noaa (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_arc
      Src: /src/cairo/perf/micro/fill.c:30,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/fill.c:42,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/fill.c:35,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/fill.c:40,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/perf/micro/fill.c:38,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/fill.c:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 45
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 45
    functionName: do_fill
    functionSourceFile: /src/cairo/perf/micro/fill.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - cairo_new_path
    - cairo_arc
    - cairo_perf_timer_elapsed
    - cairo_fill_preserve
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_fill (cairo_t *cr, int width, int height, int
      loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_cover_sources_and_operators
      Src: /src/cairo/perf/micro/fill.c:118,1
    - Dst: cairo_perf_cover_sources_and_operators
      Src: /src/cairo/perf/micro/fill.c:119,1
    - Dst: cairo_perf_cover_sources_and_operators
      Src: /src/cairo/perf/micro/fill.c:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - perf
    - cr
    - width
    - height
    argTypes:
    - cairo_perf_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 121
    functionName: fill
    functionSourceFile: /src/cairo/perf/micro/fill.c
    functionUses: []
    functionsReached:
    - cairo_perf_cover_sources_and_operators
    linkageType: ''
    returnType: void
    signature: 'void fill (cairo_perf_t *perf, cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_can_run
      Src: /src/cairo/perf/micro/fill.c:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - perf
    argTypes:
    - cairo_perf_t*
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: fill_enabled
    functionSourceFile: /src/cairo/perf/micro/fill.c
    functionUses: []
    functionsReached:
    - cairo_perf_can_run
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t fill_enabled (cairo_perf_t *perf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_new_sub_path
      Src: /src/cairo/perf/micro/fill.c:50,1
    - Dst: cairo_arc
      Src: /src/cairo/perf/micro/fill.c:51,1
    - Dst: cairo_new_sub_path
      Src: /src/cairo/perf/micro/fill.c:62,1
    - Dst: cairo_arc_negative
      Src: /src/cairo/perf/micro/fill.c:57,1
    - Dst: cairo_new_sub_path
      Src: /src/cairo/perf/micro/fill.c:56,1
    - Dst: cairo_arc
      Src: /src/cairo/perf/micro/fill.c:63,1
    - Dst: cairo_new_sub_path
      Src: /src/cairo/perf/micro/fill.c:68,1
    - Dst: cairo_arc_negative
      Src: /src/cairo/perf/micro/fill.c:69,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/fill.c:74,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/perf/micro/fill.c:77,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/fill.c:83,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/fill.c:81,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/fill.c:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 84
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 84
    functionName: do_fill_annuli
    functionSourceFile: /src/cairo/perf/micro/fill.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - cairo_new_path
    - cairo_arc
    - cairo_new_sub_path
    - cairo_perf_timer_elapsed
    - cairo_arc_negative
    - cairo_fill_preserve
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_fill_annuli (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/fill-clip.c:38,1
    - Dst: cairo_paint
      Src: /src/cairo/perf/micro/fill-clip.c:44,1
    - Dst: cairo_reset_clip
      Src: /src/cairo/perf/micro/fill-clip.c:41,1
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/micro/fill-clip.c:42,1
    - Dst: cairo_clip
      Src: /src/cairo/perf/micro/fill-clip.c:43,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/fill-clip.c:47,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/fill-clip.c:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 50
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 50
    functionName: clip_paint
    functionSourceFile: /src/cairo/perf/micro/fill-clip.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_perf_timer_start
    - cairo_perf_timer_stop
    - cairo_perf_timer_elapsed
    - cairo_clip
    - cairo_reset_clip
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t clip_paint (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: cairo_get_target
      Src: /src/cairo/perf/micro/fill-clip.c:80,1
    - Dst: cairo_surface_map_to_image
      Src: /src/cairo/perf/micro/fill-clip.c:81,1
    - Dst: cairo_image_surface_get_format
      Src: /src/cairo/perf/micro/fill-clip.c:85,1
    - Dst: cairo_image_surface_get_data
      Src: /src/cairo/perf/micro/fill-clip.c:82,1
    - Dst: cairo_image_surface_get_stride
      Src: /src/cairo/perf/micro/fill-clip.c:83,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/fill-clip.c:98,1
    - Dst: pixman_fill
      Src: /src/cairo/perf/micro/fill-clip.c:101,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/fill-clip.c:106,1
    - Dst: cairo_surface_unmap_image
      Src: /src/cairo/perf/micro/fill-clip.c:108,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/fill-clip.c:110,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 28
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 111
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 111
    functionName: direct
    functionSourceFile: /src/cairo/perf/micro/fill-clip.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - cairo_image_surface_get_data
    - cairo_image_surface_get_format
    - pixman_fill
    - cairo_get_target
    - cairo_surface_unmap_image
    - cairo_perf_timer_elapsed
    - cairo_image_surface_get_stride
    - cairo_surface_map_to_image
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t direct (cairo_t *cr, int width, int height, int
      loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/fill-clip.c:122,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/fill-clip.c:125,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/fill-clip.c:124,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/fill-clip.c:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - perf
    - cr
    - width
    - height
    argTypes:
    - cairo_perf_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 127
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 127
    functionName: fill_clip
    functionSourceFile: /src/cairo/perf/micro/fill-clip.c
    functionUses: []
    functionsReached:
    - cairo_perf_run
    - cairo_set_source_rgb
    linkageType: ''
    returnType: void
    signature: 'void fill_clip (cairo_perf_t *perf, cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_can_run
      Src: /src/cairo/perf/micro/fill-clip.c:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - perf
    argTypes:
    - cairo_perf_t*
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: fill_clip_enabled
    functionSourceFile: /src/cairo/perf/micro/fill-clip.c
    functionUses: []
    functionsReached:
    - cairo_perf_can_run
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t fill_clip_enabled (cairo_perf_t *perf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/fill-clip.c:58,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/fill-clip.c:67,1
    - Dst: cairo_fill
      Src: /src/cairo/perf/micro/fill-clip.c:62,1
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/micro/fill-clip.c:61,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/fill-clip.c:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 68
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 68
    functionName: rect_fill
    functionSourceFile: /src/cairo/perf/micro/fill-clip.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - cairo_rectangle
    - cairo_fill
    - cairo_perf_timer_elapsed
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t rect_fill (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/box-outline.c:45,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/box-outline.c:52,1
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/micro/box-outline.c:48,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/micro/box-outline.c:51,1
    - Dst: cairo_paint
      Src: /src/cairo/perf/micro/box-outline.c:46,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/box-outline.c:54,1
    - Dst: cairo_stroke_preserve
      Src: /src/cairo/perf/micro/box-outline.c:57,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/box-outline.c:59,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/box-outline.c:61,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/box-outline.c:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 64
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 64
    functionName: box_outline_stroke
    functionSourceFile: /src/cairo/perf/micro/box-outline.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_perf_timer_start
    - cairo_perf_timer_elapsed
    - cairo_new_path
    - cairo_set_line_width
    - cairo_perf_timer_stop
    - cairo_set_source_rgb
    - cairo_stroke_preserve
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t box_outline_stroke (cairo_t *cr, int width, int
      height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/box-outline.c:69,1
    - Dst: cairo_paint
      Src: /src/cairo/perf/micro/box-outline.c:70,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/perf/micro/box-outline.c:76,1
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/micro/box-outline.c:72,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/micro/box-outline.c:75,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/box-outline.c:78,1
    - Dst: cairo_stroke_preserve
      Src: /src/cairo/perf/micro/box-outline.c:81,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/box-outline.c:83,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/box-outline.c:85,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/box-outline.c:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 88
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 88
    functionName: box_outline_alpha_stroke
    functionSourceFile: /src/cairo/perf/micro/box-outline.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_perf_timer_start
    - cairo_perf_timer_elapsed
    - cairo_set_source_rgba
    - cairo_set_line_width
    - cairo_new_path
    - cairo_perf_timer_stop
    - cairo_set_source_rgb
    - cairo_stroke_preserve
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t box_outline_alpha_stroke (cairo_t *cr, int width,
      int height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/box-outline.c:118,1
    - Dst: cairo_paint
      Src: /src/cairo/perf/micro/box-outline.c:119,1
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/micro/box-outline.c:124,1
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/perf/micro/box-outline.c:127,1
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/micro/box-outline.c:121,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/box-outline.c:128,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/box-outline.c:130,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/perf/micro/box-outline.c:133,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/box-outline.c:135,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/box-outline.c:137,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/box-outline.c:139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 140
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 140
    functionName: box_outline_fill
    functionSourceFile: /src/cairo/perf/micro/box-outline.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_perf_timer_start
    - cairo_perf_timer_elapsed
    - cairo_new_path
    - cairo_perf_timer_stop
    - cairo_set_source_rgb
    - cairo_set_fill_rule
    - cairo_fill_preserve
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t box_outline_fill (cairo_t *cr, int width, int
      height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/box-outline.c:172,1
    - Dst: cairo_translate
      Src: /src/cairo/perf/micro/box-outline.c:175,1
    - Dst: cairo_paint
      Src: /src/cairo/perf/micro/box-outline.c:173,1
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/micro/box-outline.c:176,1
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/micro/box-outline.c:179,1
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/perf/micro/box-outline.c:182,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/box-outline.c:183,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/box-outline.c:185,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/perf/micro/box-outline.c:188,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/box-outline.c:190,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/box-outline.c:192,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/box-outline.c:194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 195
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 195
    functionName: box_outline_aa_fill
    functionSourceFile: /src/cairo/perf/micro/box-outline.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_perf_timer_start
    - cairo_perf_timer_elapsed
    - cairo_new_path
    - cairo_set_source_rgb
    - cairo_perf_timer_stop
    - cairo_translate
    - cairo_set_fill_rule
    - cairo_fill_preserve
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t box_outline_aa_fill (cairo_t *cr, int width, int
      height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/box-outline.c:145,1
    - Dst: cairo_paint
      Src: /src/cairo/perf/micro/box-outline.c:146,1
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/perf/micro/box-outline.c:154,1
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/micro/box-outline.c:151,1
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/micro/box-outline.c:148,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/perf/micro/box-outline.c:155,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/box-outline.c:157,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/perf/micro/box-outline.c:160,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/box-outline.c:162,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/box-outline.c:164,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/box-outline.c:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 167
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 167
    functionName: box_outline_alpha_fill
    functionSourceFile: /src/cairo/perf/micro/box-outline.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_perf_timer_start
    - cairo_perf_timer_elapsed
    - cairo_set_source_rgba
    - cairo_new_path
    - cairo_perf_timer_stop
    - cairo_set_source_rgb
    - cairo_set_fill_rule
    - cairo_fill_preserve
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t box_outline_alpha_fill (cairo_t *cr, int width,
      int height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/box-outline.c:93,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/micro/box-outline.c:100,1
    - Dst: cairo_translate
      Src: /src/cairo/perf/micro/box-outline.c:96,1
    - Dst: cairo_paint
      Src: /src/cairo/perf/micro/box-outline.c:94,1
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/micro/box-outline.c:97,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/box-outline.c:101,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/box-outline.c:103,1
    - Dst: cairo_stroke_preserve
      Src: /src/cairo/perf/micro/box-outline.c:106,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/box-outline.c:108,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/box-outline.c:110,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/box-outline.c:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 113
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 113
    functionName: box_outline_aa_stroke
    functionSourceFile: /src/cairo/perf/micro/box-outline.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_perf_timer_start
    - cairo_perf_timer_elapsed
    - cairo_new_path
    - cairo_set_line_width
    - cairo_set_source_rgb
    - cairo_perf_timer_stop
    - cairo_translate
    - cairo_stroke_preserve
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t box_outline_aa_stroke (cairo_t *cr, int width,
      int height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_can_run
      Src: /src/cairo/perf/micro/box-outline.c:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - perf
    argTypes:
    - cairo_perf_t*
    constantsTouched: []
    func_position:
      end: 201
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 201
    functionName: box_outline_enabled
    functionSourceFile: /src/cairo/perf/micro/box-outline.c
    functionUses: []
    functionsReached:
    - cairo_perf_can_run
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t box_outline_enabled (cairo_perf_t *perf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/box-outline.c:206,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/box-outline.c:207,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/box-outline.c:210,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/box-outline.c:209,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/box-outline.c:212,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/box-outline.c:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - perf
    - cr
    - width
    - height
    argTypes:
    - cairo_perf_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 214
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 214
    functionName: box_outline
    functionSourceFile: /src/cairo/perf/micro/box-outline.c
    functionUses: []
    functionsReached:
    - cairo_perf_run
    linkageType: ''
    returnType: void
    signature: 'void box_outline (cairo_perf_t *perf, cairo_t *cr, int width, int
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/micro/line.c:85,1
    - Dst: nearly_horizontal
      Src: /src/cairo/perf/micro/line.c:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: nearly_horizontal_hair
    functionSourceFile: /src/cairo/perf/micro/line.c
    functionUses: []
    functionsReached:
    - nearly_horizontal
    - cairo_set_line_width
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t nearly_horizontal_hair (cairo_t *cr, int width,
      int height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/micro/line.c:58,1
    - Dst: horizontal
      Src: /src/cairo/perf/micro/line.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: horizontal_wide
    functionSourceFile: /src/cairo/perf/micro/line.c
    functionUses: []
    functionsReached:
    - horizontal
    - cairo_set_line_width
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t horizontal_wide (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/line.c:102,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/line.c:110,1
    - Dst: cairo_stroke_preserve
      Src: /src/cairo/perf/micro/line.c:108,1
    - Dst: cairo_line_to
      Src: /src/cairo/perf/micro/line.c:103,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/line.c:105,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/line.c:112,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/line.c:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 115
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 115
    functionName: vertical
    functionSourceFile: /src/cairo/perf/micro/line.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - cairo_perf_timer_elapsed
    - cairo_new_path
    - cairo_line_to
    - cairo_stroke_preserve
    - cairo_move_to
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t vertical (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/micro/line.c:127,1
    - Dst: vertical
      Src: /src/cairo/perf/micro/line.c:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 129
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 129
    functionName: vertical_wide
    functionSourceFile: /src/cairo/perf/micro/line.c
    functionUses: []
    functionsReached:
    - vertical
    - cairo_set_line_width
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t vertical_wide (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/micro/line.c:154,1
    - Dst: nearly_vertical
      Src: /src/cairo/perf/micro/line.c:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: nearly_vertical_hair
    functionSourceFile: /src/cairo/perf/micro/line.c
    functionUses: []
    functionsReached:
    - nearly_vertical
    - cairo_set_line_width
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t nearly_vertical_hair (cairo_t *cr, int width,
      int height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/line.c:169,1
    - Dst: cairo_stroke_preserve
      Src: /src/cairo/perf/micro/line.c:175,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/line.c:177,1
    - Dst: cairo_line_to
      Src: /src/cairo/perf/micro/line.c:170,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/line.c:172,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/line.c:179,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/line.c:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 182
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 182
    functionName: diagonal
    functionSourceFile: /src/cairo/perf/micro/line.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - cairo_perf_timer_elapsed
    - cairo_new_path
    - cairo_line_to
    - cairo_stroke_preserve
    - cairo_move_to
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t diagonal (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/micro/line.c:194,1
    - Dst: diagonal
      Src: /src/cairo/perf/micro/line.c:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 196
    functionName: diagonal_wide
    functionSourceFile: /src/cairo/perf/micro/line.c
    functionUses: []
    functionsReached:
    - diagonal
    - cairo_set_line_width
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t diagonal_wide (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/line.c:33,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/line.c:41,1
    - Dst: cairo_line_to
      Src: /src/cairo/perf/micro/line.c:34,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/line.c:36,1
    - Dst: cairo_stroke_preserve
      Src: /src/cairo/perf/micro/line.c:39,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/line.c:43,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/line.c:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 46
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 46
    functionName: horizontal
    functionSourceFile: /src/cairo/perf/micro/line.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - cairo_perf_timer_elapsed
    - cairo_new_path
    - cairo_line_to
    - cairo_stroke_preserve
    - cairo_move_to
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t horizontal (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/line.c:67,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/line.c:70,1
    - Dst: cairo_stroke_preserve
      Src: /src/cairo/perf/micro/line.c:73,1
    - Dst: cairo_line_to
      Src: /src/cairo/perf/micro/line.c:68,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/line.c:75,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/line.c:77,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/line.c:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 80
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 80
    functionName: nearly_horizontal
    functionSourceFile: /src/cairo/perf/micro/line.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - cairo_perf_timer_elapsed
    - cairo_new_path
    - cairo_line_to
    - cairo_stroke_preserve
    - cairo_move_to
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t nearly_horizontal (cairo_t *cr, int width, int
      height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/micro/line.c:51,1
    - Dst: horizontal
      Src: /src/cairo/perf/micro/line.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: horizontal_hair
    functionSourceFile: /src/cairo/perf/micro/line.c
    functionUses: []
    functionsReached:
    - horizontal
    - cairo_set_line_width
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t horizontal_hair (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/micro/line.c:92,1
    - Dst: nearly_horizontal
      Src: /src/cairo/perf/micro/line.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: nearly_horizontal_wide
    functionSourceFile: /src/cairo/perf/micro/line.c
    functionUses: []
    functionsReached:
    - nearly_horizontal
    - cairo_set_line_width
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t nearly_horizontal_wide (cairo_t *cr, int width,
      int height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/micro/line.c:120,1
    - Dst: vertical
      Src: /src/cairo/perf/micro/line.c:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: vertical_hair
    functionSourceFile: /src/cairo/perf/micro/line.c
    functionUses: []
    functionsReached:
    - vertical
    - cairo_set_line_width
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t vertical_hair (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/line.c:136,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/line.c:139,1
    - Dst: cairo_stroke_preserve
      Src: /src/cairo/perf/micro/line.c:142,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/line.c:144,1
    - Dst: cairo_line_to
      Src: /src/cairo/perf/micro/line.c:137,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/line.c:146,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/line.c:148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 149
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 149
    functionName: nearly_vertical
    functionSourceFile: /src/cairo/perf/micro/line.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - cairo_perf_timer_elapsed
    - cairo_new_path
    - cairo_line_to
    - cairo_stroke_preserve
    - cairo_move_to
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t nearly_vertical (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/micro/line.c:161,1
    - Dst: nearly_vertical
      Src: /src/cairo/perf/micro/line.c:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 163
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 163
    functionName: nearly_vertical_wide
    functionSourceFile: /src/cairo/perf/micro/line.c
    functionUses: []
    functionsReached:
    - nearly_vertical
    - cairo_set_line_width
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t nearly_vertical_wide (cairo_t *cr, int width,
      int height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/micro/line.c:187,1
    - Dst: diagonal
      Src: /src/cairo/perf/micro/line.c:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: diagonal_hair
    functionSourceFile: /src/cairo/perf/micro/line.c
    functionUses: []
    functionsReached:
    - diagonal
    - cairo_set_line_width
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t diagonal_hair (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_can_run
      Src: /src/cairo/perf/micro/line.c:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - perf
    argTypes:
    - cairo_perf_t*
    constantsTouched: []
    func_position:
      end: 202
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 202
    functionName: line_enabled
    functionSourceFile: /src/cairo/perf/micro/line.c
    functionUses: []
    functionsReached:
    - cairo_perf_can_run
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t line_enabled (cairo_perf_t *perf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/line.c:207,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/line.c:210,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/line.c:211,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/line.c:212,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/line.c:209,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/line.c:214,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/line.c:215,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/line.c:216,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/line.c:217,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/line.c:219,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/line.c:220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - perf
    - cr
    - width
    - height
    argTypes:
    - cairo_perf_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 221
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 221
    functionName: line
    functionSourceFile: /src/cairo/perf/micro/line.c
    functionUses: []
    functionsReached:
    - cairo_perf_run
    - cairo_set_source_rgb
    linkageType: ''
    returnType: void
    signature: 'void line (cairo_perf_t *perf, cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/cairo/perf/micro/many-strokes.c:47,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/many-strokes.c:47,1
    - Dst: floor
      Src: /src/cairo/perf/micro/many-strokes.c:48,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/many-strokes.c:48,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/many-strokes.c:48,1
    - Dst: cairo_line_to
      Src: /src/cairo/perf/micro/many-strokes.c:49,1
    - Dst: ceil
      Src: /src/cairo/perf/micro/many-strokes.c:49,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/many-strokes.c:49,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/micro/many-strokes.c:52,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/many-strokes.c:54,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/many-strokes.c:59,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/many-strokes.c:63,1
    - Dst: cairo_stroke_preserve
      Src: /src/cairo/perf/micro/many-strokes.c:57,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/many-strokes.c:61,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 64
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 64
    functionName: do_many_strokes_ha
    functionSourceFile: /src/cairo/perf/micro/many-strokes.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - uniform_random
    - cairo_perf_timer_elapsed
    - ceil
    - cairo_set_line_width
    - cairo_line_to
    - cairo_new_path
    - cairo_perf_timer_stop
    - cairo_stroke_preserve
    - cairo_move_to
    - floor
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_many_strokes_ha (cairo_t *cr, int width, int
      height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/cairo/perf/micro/many-strokes.c:99,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/many-strokes.c:100,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/many-strokes.c:100,1
    - Dst: floor
      Src: /src/cairo/perf/micro/many-strokes.c:100,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/many-strokes.c:99,1
    - Dst: cairo_line_to
      Src: /src/cairo/perf/micro/many-strokes.c:101,1
    - Dst: ceil
      Src: /src/cairo/perf/micro/many-strokes.c:101,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/many-strokes.c:101,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/micro/many-strokes.c:104,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/many-strokes.c:106,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/many-strokes.c:113,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/many-strokes.c:111,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/many-strokes.c:115,1
    - Dst: cairo_stroke_preserve
      Src: /src/cairo/perf/micro/many-strokes.c:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 116
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 116
    functionName: do_many_strokes_va
    functionSourceFile: /src/cairo/perf/micro/many-strokes.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - uniform_random
    - cairo_perf_timer_elapsed
    - ceil
    - cairo_set_line_width
    - cairo_line_to
    - cairo_new_path
    - cairo_perf_timer_stop
    - cairo_stroke_preserve
    - cairo_move_to
    - floor
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_many_strokes_va (cairo_t *cr, int width, int
      height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_line_to
      Src: /src/cairo/perf/micro/many-strokes.c:152,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/many-strokes.c:154,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/many-strokes.c:153,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/many-strokes.c:159,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/micro/many-strokes.c:157,1
    - Dst: cairo_stroke_preserve
      Src: /src/cairo/perf/micro/many-strokes.c:162,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/many-strokes.c:164,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/many-strokes.c:166,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/many-strokes.c:168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 169
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 169
    functionName: do_many_strokes
    functionSourceFile: /src/cairo/perf/micro/many-strokes.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - uniform_random
    - cairo_perf_timer_elapsed
    - cairo_new_path
    - cairo_set_line_width
    - cairo_line_to
    - cairo_stroke_preserve
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_many_strokes (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - minval
    - maxval
    argTypes:
    - double
    - double
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: uniform_random
    functionSourceFile: /src/cairo/perf/micro/many-strokes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: 'static double uniform_random (double minval, double maxval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/many-strokes.c:125,1
    - Dst: cairo_line_to
      Src: /src/cairo/perf/micro/many-strokes.c:127,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/many-strokes.c:126,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/many-strokes.c:127,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/many-strokes.c:126,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/micro/many-strokes.c:130,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/many-strokes.c:132,1
    - Dst: cairo_stroke_preserve
      Src: /src/cairo/perf/micro/many-strokes.c:135,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/many-strokes.c:137,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/many-strokes.c:139,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/many-strokes.c:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 142
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 142
    functionName: do_many_strokes_v
    functionSourceFile: /src/cairo/perf/micro/many-strokes.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - uniform_random
    - cairo_perf_timer_elapsed
    - cairo_new_path
    - cairo_set_line_width
    - cairo_line_to
    - cairo_stroke_preserve
    - cairo_move_to
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_many_strokes_v (cairo_t *cr, int width, int
      height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/many-strokes.c:73,1
    - Dst: cairo_line_to
      Src: /src/cairo/perf/micro/many-strokes.c:75,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/many-strokes.c:74,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/many-strokes.c:75,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/many-strokes.c:74,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/micro/many-strokes.c:78,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/many-strokes.c:80,1
    - Dst: cairo_stroke_preserve
      Src: /src/cairo/perf/micro/many-strokes.c:83,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/many-strokes.c:85,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/many-strokes.c:87,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/many-strokes.c:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 90
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 90
    functionName: do_many_strokes_h
    functionSourceFile: /src/cairo/perf/micro/many-strokes.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - uniform_random
    - cairo_perf_timer_elapsed
    - cairo_new_path
    - cairo_set_line_width
    - cairo_line_to
    - cairo_stroke_preserve
    - cairo_move_to
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_many_strokes_h (cairo_t *cr, int width, int
      height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_can_run
      Src: /src/cairo/perf/micro/many-strokes.c:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - perf
    argTypes:
    - cairo_perf_t*
    constantsTouched: []
    func_position:
      end: 175
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 175
    functionName: many_strokes_enabled
    functionSourceFile: /src/cairo/perf/micro/many-strokes.c
    functionUses: []
    functionsReached:
    - cairo_perf_can_run
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t many_strokes_enabled (cairo_perf_t *perf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/many-strokes.c:180,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/many-strokes.c:182,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/many-strokes.c:181,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/many-strokes.c:184,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/many-strokes.c:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - perf
    - cr
    - width
    - height
    argTypes:
    - cairo_perf_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 185
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 185
    functionName: many_strokes
    functionSourceFile: /src/cairo/perf/micro/many-strokes.c
    functionUses: []
    functionsReached:
    - cairo_perf_run
    linkageType: ''
    returnType: void
    signature: 'void many_strokes (cairo_perf_t *perf, cairo_t *cr, int width, int
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - iter
    - do_curves
    argTypes:
    - struct mosaic_region_iter*
    - int
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: mosaic_region_iter_init
    functionSourceFile: /src/cairo/perf/micro/mosaic.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void mosaic_region_iter_init (struct mosaic_region_iter *iter,
      int do_curves) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_identity_matrix
      Src: /src/cairo/perf/micro/mosaic.c:105,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/mosaic.c:108,1
    - Dst: cairo_scale
      Src: /src/cairo/perf/micro/mosaic.c:113,1
    - Dst: cairo_fill
      Src: /src/cairo/perf/micro/mosaic.c:110,1
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/micro/mosaic.c:109,1
    - Dst: cairo_translate
      Src: /src/cairo/perf/micro/mosaic.c:114,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/mosaic.c:119,1
    - Dst: mosaic_region_iter_init
      Src: /src/cairo/perf/micro/mosaic.c:121,1
    - Dst: mosaic_next_path
      Src: /src/cairo/perf/micro/mosaic.c:122,1
    - Dst: cairo_fill
      Src: /src/cairo/perf/micro/mosaic.c:124,1
    - Dst: cairo_get_current_point
      Src: /src/cairo/perf/micro/mosaic.c:128,1
    - Dst: cairo_in_fill
      Src: /src/cairo/perf/micro/mosaic.c:129,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/mosaic.c:135,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/mosaic.c:133,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 5
    argNames:
    - cr
    - flags
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - unsigned
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 136
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 136
    functionName: mosaic_perform
    functionSourceFile: /src/cairo/perf/micro/mosaic.c
    functionUses: []
    functionsReached:
    - cairo_identity_matrix
    - cairo_perf_timer_start
    - cairo_perf_timer_elapsed
    - mosaic_region_iter_init
    - cairo_perf_timer_stop
    - cairo_in_fill
    - cairo_scale
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_translate
    - mosaic_next_path
    - cairo_get_current_point
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t mosaic_perform(cairo_t *cr, unsigned flags, int
      width, int height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosaic_perform
      Src: /src/cairo/perf/micro/mosaic.c:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: mosaic_fill_lines
    functionSourceFile: /src/cairo/perf/micro/mosaic.c
    functionUses: []
    functionsReached:
    - mosaic_perform
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t mosaic_fill_lines (cairo_t *cr, int width, int
      height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosaic_perform
      Src: /src/cairo/perf/micro/mosaic.c:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: mosaic_tessellate_curves
    functionSourceFile: /src/cairo/perf/micro/mosaic.c
    functionUses: []
    functionsReached:
    - mosaic_perform
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t mosaic_tessellate_curves (cairo_t *cr, int width,
      int height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosaic_perform
      Src: /src/cairo/perf/micro/mosaic.c:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: mosaic_fill_curves
    functionSourceFile: /src/cairo/perf/micro/mosaic.c
    functionUses: []
    functionsReached:
    - mosaic_perform
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t mosaic_fill_curves (cairo_t *cr, int width, int
      height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosaic_perform
      Src: /src/cairo/perf/micro/mosaic.c:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: mosaic_tessellate_lines
    functionSourceFile: /src/cairo/perf/micro/mosaic.c
    functionUses: []
    functionsReached:
    - mosaic_perform
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t mosaic_tessellate_lines (cairo_t *cr, int width,
      int height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_can_run
      Src: /src/cairo/perf/micro/mosaic.c:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - perf
    argTypes:
    - cairo_perf_t*
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: mosaic_enabled
    functionSourceFile: /src/cairo/perf/micro/mosaic.c
    functionUses: []
    functionsReached:
    - cairo_perf_can_run
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t mosaic_enabled (cairo_perf_t *perf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/mosaic.c:171,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/mosaic.c:172,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/mosaic.c:174,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/mosaic.c:173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - perf
    - cr
    - width
    - height
    argTypes:
    - cairo_perf_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 175
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 175
    functionName: mosaic
    functionSourceFile: /src/cairo/perf/micro/mosaic.c
    functionUses: []
    functionsReached:
    - cairo_perf_run
    linkageType: ''
    returnType: void
    signature: 'void mosaic (cairo_perf_t *perf, cairo_t *cr, int width, int height) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/mosaic.c:65,1
    - Dst: cairo_line_to
      Src: /src/cairo/perf/micro/mosaic.c:76,1
    - Dst: cairo_curve_to
      Src: /src/cairo/perf/micro/mosaic.c:70,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/mosaic.c:66,1
    - Dst: cairo_close_path
      Src: /src/cairo/perf/micro/mosaic.c:80,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/mosaic.c:86,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - cr
    - iter
    argTypes:
    - cairo_t*
    - struct mosaic_region_iter*
    constantsTouched: []
    func_position:
      end: 92
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 92
    functionName: mosaic_next_path
    functionSourceFile: /src/cairo/perf/micro/mosaic.c
    functionUses: []
    functionsReached:
    - cairo_new_path
    - cairo_line_to
    - cairo_curve_to
    - cairo_close_path
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: int
    signature: 'static int mosaic_next_path (cairo_t *cr, struct mosaic_region_iter
      *iter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/sierpinski.c:33,1
    - Dst: cairo_line_to
      Src: /src/cairo/perf/micro/sierpinski.c:35,1
    - Dst: cairo_save
      Src: /src/cairo/perf/micro/sierpinski.c:40,1
    - Dst: cairo_line_to
      Src: /src/cairo/perf/micro/sierpinski.c:34,1
    - Dst: T
      Src: /src/cairo/perf/micro/sierpinski.c:39,1
    - Dst: cairo_translate
      Src: /src/cairo/perf/micro/sierpinski.c:41,1
    - Dst: T
      Src: /src/cairo/perf/micro/sierpinski.c:42,1
    - Dst: cairo_restore
      Src: /src/cairo/perf/micro/sierpinski.c:43,1
    - Dst: cairo_save
      Src: /src/cairo/perf/micro/sierpinski.c:44,1
    - Dst: cairo_translate
      Src: /src/cairo/perf/micro/sierpinski.c:45,1
    - Dst: T
      Src: /src/cairo/perf/micro/sierpinski.c:46,1
    - Dst: cairo_restore
      Src: /src/cairo/perf/micro/sierpinski.c:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - cr
    - size
    argTypes:
    - cairo_t*
    - int
    constantsTouched: []
    func_position:
      end: 49
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 49
    functionName: T
    functionSourceFile: /src/cairo/perf/micro/sierpinski.c
    functionUses: []
    functionsReached:
    - cairo_line_to
    - T
    - cairo_save
    - cairo_restore
    - cairo_translate
    - cairo_move_to
    linkageType: ''
    returnType: void
    signature: 'static void T (cairo_t *cr, int size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_can_run
      Src: /src/cairo/perf/micro/sierpinski.c:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - perf
    argTypes:
    - cairo_perf_t*
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: sierpinski_enabled
    functionSourceFile: /src/cairo/perf/micro/sierpinski.c
    functionUses: []
    functionsReached:
    - cairo_perf_can_run
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t sierpinski_enabled (cairo_perf_t *perf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/sierpinski.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - perf
    - cr
    - width
    - height
    argTypes:
    - cairo_perf_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: sierpinski
    functionSourceFile: /src/cairo/perf/micro/sierpinski.c
    functionUses: []
    functionsReached:
    - cairo_perf_run
    linkageType: ''
    returnType: void
    signature: 'void sierpinski (cairo_perf_t *perf, cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/sierpinski.c:57,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/sierpinski.c:60,1
    - Dst: cairo_paint
      Src: /src/cairo/perf/micro/sierpinski.c:58,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/sierpinski.c:63,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/micro/sierpinski.c:61,1
    - Dst: cairo_save
      Src: /src/cairo/perf/micro/sierpinski.c:66,1
    - Dst: T
      Src: /src/cairo/perf/micro/sierpinski.c:67,1
    - Dst: cairo_translate
      Src: /src/cairo/perf/micro/sierpinski.c:69,1
    - Dst: cairo_scale
      Src: /src/cairo/perf/micro/sierpinski.c:70,1
    - Dst: T
      Src: /src/cairo/perf/micro/sierpinski.c:72,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/sierpinski.c:80,1
    - Dst: cairo_restore
      Src: /src/cairo/perf/micro/sierpinski.c:75,1
    - Dst: cairo_stroke
      Src: /src/cairo/perf/micro/sierpinski.c:74,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/sierpinski.c:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 81
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 81
    functionName: draw
    functionSourceFile: /src/cairo/perf/micro/sierpinski.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_perf_timer_start
    - cairo_perf_timer_elapsed
    - cairo_set_line_width
    - T
    - cairo_save
    - cairo_scale
    - cairo_stroke
    - cairo_restore
    - cairo_set_source_rgb
    - cairo_translate
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t draw (cairo_t *cr, int width, int height, int
      loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/cairo/perf/micro/pattern_create_radial.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - min
    - max
    argTypes:
    - double
    - double
    constantsTouched: []
    func_position:
      end: 55
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 55
    functionName: generate_double_in_range
    functionSourceFile: /src/cairo/perf/micro/pattern_create_radial.c
    functionUses: []
    functionsReached:
    - rand
    linkageType: ''
    returnType: double
    signature: 'static double generate_double_in_range (double min, double max) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/cairo/perf/micro/pattern_create_radial.c:92,1
    - Dst: generate_double_in_range
      Src: /src/cairo/perf/micro/pattern_create_radial.c:96,1
    - Dst: time
      Src: /src/cairo/perf/micro/pattern_create_radial.c:92,1
    - Dst: generate_double_in_range
      Src: /src/cairo/perf/micro/pattern_create_radial.c:97,1
    - Dst: generate_double_in_range
      Src: /src/cairo/perf/micro/pattern_create_radial.c:95,1
    - Dst: generate_double_in_range
      Src: /src/cairo/perf/micro/pattern_create_radial.c:98,1
    - Dst: generate_double_in_range
      Src: /src/cairo/perf/micro/pattern_create_radial.c:99,1
    - Dst: generate_double_in_range
      Src: /src/cairo/perf/micro/pattern_create_radial.c:100,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/pattern_create_radial.c:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - perf
    - cr
    - width
    - height
    argTypes:
    - cairo_perf_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 105
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 105
    functionName: pattern_create_radial
    functionSourceFile: /src/cairo/perf/micro/pattern_create_radial.c
    functionUses: []
    functionsReached:
    - cairo_perf_run
    - generate_double_in_range
    - time
    - srand
    linkageType: ''
    returnType: void
    signature: 'void pattern_create_radial (cairo_perf_t *perf, cairo_t *cr, int width,
      int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_can_run
      Src: /src/cairo/perf/micro/pattern_create_radial.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - perf
    argTypes:
    - cairo_perf_t*
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: pattern_create_radial_enabled
    functionSourceFile: /src/cairo/perf/micro/pattern_create_radial.c
    functionUses: []
    functionsReached:
    - cairo_perf_can_run
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t pattern_create_radial_enabled (cairo_perf_t *perf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/pattern_create_radial.c:60,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/pattern_create_radial.c:78,1
    - Dst: cairo_pattern_create_radial
      Src: /src/cairo/perf/micro/pattern_create_radial.c:68,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/pattern_create_radial.c:76,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/perf/micro/pattern_create_radial.c:72,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 79
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 79
    functionName: do_pattern_create_radial
    functionSourceFile: /src/cairo/perf/micro/pattern_create_radial.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - cairo_pattern_create_radial
    - cairo_perf_timer_elapsed
    - cairo_pattern_destroy
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_pattern_create_radial (cairo_t *cr, int width,
      int height, int loops) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/twin.c:14,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/twin.c:16,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/twin.c:23,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/perf/micro/twin.c:18,1
    - Dst: cairo_paint
      Src: /src/cairo/perf/micro/twin.c:15,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/perf/micro/twin.c:28,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/twin.c:32,1
    - Dst: cairo_text_path
      Src: /src/cairo/perf/micro/twin.c:35,1
    - Dst: cairo_fill
      Src: /src/cairo/perf/micro/twin.c:38,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/twin.c:41,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/twin.c:42,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 43
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 43
    functionName: do_twin
    functionSourceFile: /src/cairo/perf/micro/twin.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_perf_timer_start
    - cairo_set_font_size
    - cairo_text_path
    - cairo_select_font_face
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_perf_timer_elapsed
    - cairo_move_to
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: "static cairo_time_t do_twin (cairo_t *cr,\t int width,\t int height,\t\
      \ int loops) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_can_run
      Src: /src/cairo/perf/micro/twin.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - perf
    argTypes:
    - cairo_perf_t*
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: twin_enabled
    functionSourceFile: /src/cairo/perf/micro/twin.c
    functionUses: []
    functionsReached:
    - cairo_perf_can_run
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t twin_enabled (cairo_perf_t *perf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/twin.c:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - perf
    - cr
    - width
    - height
    argTypes:
    - cairo_perf_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: twin
    functionSourceFile: /src/cairo/perf/micro/twin.c
    functionUses: []
    functionsReached:
    - cairo_perf_run
    linkageType: ''
    returnType: void
    signature: 'void twin (cairo_perf_t *perf, cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_init_identity
      Src: /src/cairo/perf/micro/hash-table.c:52,1
    - Dst: cairo_get_scaled_font
      Src: /src/cairo/perf/micro/hash-table.c:78,1
    - Dst: cairo_set_font_matrix
      Src: /src/cairo/perf/micro/hash-table.c:76,1
    - Dst: cairo_set_font_matrix
      Src: /src/cairo/perf/micro/hash-table.c:57,1
    - Dst: cairo_get_scaled_font
      Src: /src/cairo/perf/micro/hash-table.c:58,1
    - Dst: cairo_scaled_font_reference
      Src: /src/cairo/perf/micro/hash-table.c:79,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/hash-table.c:82,1
    - Dst: cairo_set_font_matrix
      Src: /src/cairo/perf/micro/hash-table.c:90,1
    - Dst: cairo_get_scaled_font
      Src: /src/cairo/perf/micro/hash-table.c:91,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/hash-table.c:95,1
    - Dst: cairo_scaled_font_destroy
      Src: /src/cairo/perf/micro/hash-table.c:98,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/hash-table.c:100,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 101
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 101
    functionName: do_hash_table
    functionSourceFile: /src/cairo/perf/micro/hash-table.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - cairo_scaled_font_destroy
    - cairo_get_scaled_font
    - cairo_perf_timer_stop
    - cairo_matrix_init_identity
    - cairo_set_font_matrix
    - cairo_perf_timer_elapsed
    - cairo_scaled_font_reference
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_hash_table (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_cover_sources_and_operators
      Src: /src/cairo/perf/micro/hash-table.c:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - perf
    - cr
    - width
    - height
    argTypes:
    - cairo_perf_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 114
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 114
    functionName: hash_table
    functionSourceFile: /src/cairo/perf/micro/hash-table.c
    functionUses: []
    functionsReached:
    - cairo_perf_cover_sources_and_operators
    linkageType: ''
    returnType: void
    signature: 'void hash_table (cairo_perf_t *perf, cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_can_run
      Src: /src/cairo/perf/micro/hash-table.c:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - perf
    argTypes:
    - cairo_perf_t*
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: hash_table_enabled
    functionSourceFile: /src/cairo/perf/micro/hash-table.c
    functionUses: []
    functionsReached:
    - cairo_perf_can_run
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t hash_table_enabled (cairo_perf_t *perf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - minval
    - maxval
    argTypes:
    - double
    - double
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: uniform_random
    functionSourceFile: /src/cairo/perf/micro/curve.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: 'static double uniform_random (double minval, double maxval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/curve.c:71,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/curve.c:94,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/curve.c:68,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/curve.c:74,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/curve.c:72,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/curve.c:76,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/curve.c:78,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/curve.c:82,1
    - Dst: cairo_curve_to
      Src: /src/cairo/perf/micro/curve.c:86,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/curve.c:92,1
    - Dst: cairo_curve_to
      Src: /src/cairo/perf/micro/curve.c:85,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/curve.c:80,1
    - Dst: cairo_fill
      Src: /src/cairo/perf/micro/curve.c:89,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/curve.c:73,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/curve.c:75,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/curve.c:77,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/curve.c:79,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/curve.c:81,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/curve.c:84,1
    - Dst: cairo_close_path
      Src: /src/cairo/perf/micro/curve.c:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 95
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 95
    functionName: do_curve_fill
    functionSourceFile: /src/cairo/perf/micro/curve.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - uniform_random
    - cairo_curve_to
    - cairo_close_path
    - cairo_fill
    - cairo_perf_timer_elapsed
    - cairo_move_to
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_curve_fill (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/curve.c:106,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/curve.c:108,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/curve.c:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - perf
    - cr
    - width
    - height
    argTypes:
    - cairo_perf_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 110
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 110
    functionName: curve
    functionSourceFile: /src/cairo/perf/micro/curve.c
    functionUses: []
    functionsReached:
    - cairo_perf_run
    - cairo_set_source_rgb
    linkageType: ''
    returnType: void
    signature: 'void curve (cairo_perf_t *perf, cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/micro/curve.c:44,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/curve.c:50,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/curve.c:48,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/curve.c:45,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/curve.c:49,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/curve.c:51,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/curve.c:52,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/curve.c:53,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/curve.c:54,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/curve.c:54,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/curve.c:59,1
    - Dst: cairo_stroke
      Src: /src/cairo/perf/micro/curve.c:56,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/curve.c:54,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/curve.c:61,1
    - Dst: cairo_curve_to
      Src: /src/cairo/perf/micro/curve.c:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 62
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 62
    functionName: do_curve_stroke
    functionSourceFile: /src/cairo/perf/micro/curve.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - uniform_random
    - cairo_set_line_width
    - cairo_curve_to
    - cairo_stroke
    - cairo_perf_timer_elapsed
    - cairo_move_to
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_curve_stroke (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_can_run
      Src: /src/cairo/perf/micro/curve.c:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - perf
    argTypes:
    - cairo_perf_t*
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: curve_enabled
    functionSourceFile: /src/cairo/perf/micro/curve.c
    functionUses: []
    functionsReached:
    - cairo_perf_can_run
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t curve_enabled (cairo_perf_t *perf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/micro/disjoint.c:35,1
    - Dst: cairo_rotate
      Src: /src/cairo/perf/micro/disjoint.c:39,1
    - Dst: cairo_translate
      Src: /src/cairo/perf/micro/disjoint.c:38,1
    - Dst: cairo_translate
      Src: /src/cairo/perf/micro/disjoint.c:40,1
    - Dst: cairo_clip
      Src: /src/cairo/perf/micro/disjoint.c:36,1
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/micro/disjoint.c:43,1
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/micro/disjoint.c:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 46
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 46
    functionName: path
    functionSourceFile: /src/cairo/perf/micro/disjoint.c
    functionUses: []
    functionsReached:
    - cairo_translate
    - cairo_clip
    - cairo_rotate
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void path (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/perf/micro/disjoint.c:67,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/disjoint.c:68,1
    - Dst: cairo_paint
      Src: /src/cairo/perf/micro/disjoint.c:69,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/disjoint.c:70,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/disjoint.c:72,1
    - Dst: cairo_save
      Src: /src/cairo/perf/micro/disjoint.c:74,1
    - Dst: clip
      Src: /src/cairo/perf/micro/disjoint.c:75,1
    - Dst: path
      Src: /src/cairo/perf/micro/disjoint.c:76,1
    - Dst: cairo_fill
      Src: /src/cairo/perf/micro/disjoint.c:77,1
    - Dst: cairo_restore
      Src: /src/cairo/perf/micro/disjoint.c:78,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/disjoint.c:84,1
    - Dst: cairo_restore
      Src: /src/cairo/perf/micro/disjoint.c:82,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/disjoint.c:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 85
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 85
    functionName: draw
    functionSourceFile: /src/cairo/perf/micro/disjoint.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_perf_timer_start
    - path
    - cairo_save
    - cairo_restore
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_perf_timer_elapsed
    - clip
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t draw (cairo_t *cr, int width, int height, int
      loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_can_run
      Src: /src/cairo/perf/micro/disjoint.c:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - perf
    argTypes:
    - cairo_perf_t*
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: disjoint_enabled
    functionSourceFile: /src/cairo/perf/micro/disjoint.c
    functionUses: []
    functionsReached:
    - cairo_perf_can_run
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t disjoint_enabled (cairo_perf_t *perf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/micro/disjoint.c:54,1
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/micro/disjoint.c:58,1
    - Dst: cairo_clip
      Src: /src/cairo/perf/micro/disjoint.c:61,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 62
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 62
    functionName: clip
    functionSourceFile: /src/cairo/perf/micro/disjoint.c
    functionUses: []
    functionsReached:
    - cairo_clip
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void clip (cairo_t *cr, int width, int height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_can_run
      Src: /src/cairo/perf/micro/disjoint.c:96,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/disjoint.c:99,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - perf
    - cr
    - width
    - height
    argTypes:
    - cairo_perf_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 100
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 100
    functionName: disjoint
    functionSourceFile: /src/cairo/perf/micro/disjoint.c
    functionUses: []
    functionsReached:
    - cairo_perf_can_run
    - cairo_perf_run
    linkageType: ''
    returnType: void
    signature: 'void disjoint (cairo_perf_t *perf, cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: set_source_solid_rgba
    functionSourceFile: /src/cairo/perf/micro/cairo-perf-cover.c
    functionUses: []
    functionsReached:
    - cairo_set_source_rgba
    linkageType: ''
    returnType: void
    signature: "static void set_source_solid_rgba (cairo_t\t*cr,\t\t int\t width,\t\
      \t int\t height) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:88,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:92,1
    - Dst: init_and_set_source_surface
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 93
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 93
    functionName: set_source_image_surface_rgba
    functionSourceFile: /src/cairo/perf/micro/cairo-perf-cover.c
    functionUses: []
    functionsReached:
    - init_and_set_source_surface
    - cairo_image_surface_create
    - cairo_surface_destroy
    linkageType: ''
    returnType: void
    signature: "static void set_source_image_surface_rgba (cairo_t\t*cr,\t\t\t int\t\
      \ width,\t\t\t int\t height) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:118,1
    - Dst: cairo_scale
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:122,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:124,1
    - Dst: init_and_set_source_surface
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:121,1
    - Dst: cairo_scale
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 125
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 125
    functionName: set_source_image_surface_rgba_min
    functionSourceFile: /src/cairo/perf/micro/cairo-perf-cover.c
    functionUses: []
    functionsReached:
    - cairo_scale
    - init_and_set_source_surface
    - cairo_image_surface_create
    - cairo_surface_destroy
    linkageType: ''
    returnType: void
    signature: "static void set_source_image_surface_rgba_min (cairo_t\t*cr,\t\t\t\
      \t int\t\twidth,\t\t\t\t int\t\theight) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:149,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:154,1
    - Dst: init_and_set_source_surface
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:152,1
    - Dst: cairo_get_group_target
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 155
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 155
    functionName: set_source_similar_surface_rgba
    functionSourceFile: /src/cairo/perf/micro/cairo-perf-cover.c
    functionUses: []
    functionsReached:
    - cairo_get_group_target
    - cairo_surface_create_similar
    - cairo_surface_destroy
    - init_and_set_source_surface
    linkageType: ''
    returnType: void
    signature: "static void set_source_similar_surface_rgba (cairo_t\t*cr,\t\t\t\t\
      \ int\t\t width,\t\t\t\t int\t\t height) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:181,1
    - Dst: init_and_set_source_surface
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:185,1
    - Dst: cairo_get_group_target
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:181,1
    - Dst: cairo_scale
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:184,1
    - Dst: cairo_scale
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:186,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 189
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 189
    functionName: set_source_similar_surface_rgba_min
    functionSourceFile: /src/cairo/perf/micro/cairo-perf-cover.c
    functionUses: []
    functionsReached:
    - cairo_get_group_target
    - init_and_set_source_surface
    - cairo_surface_destroy
    - cairo_scale
    - cairo_surface_create_similar
    linkageType: ''
    returnType: void
    signature: "static void set_source_similar_surface_rgba_min (cairo_t\t*cr,\t\t\
      \t\t int\twidth,\t\t\t\t int\theight) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:214,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:215,1
    - Dst: cairo_set_source
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:218,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:220,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 221
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 221
    functionName: set_source_linear_rgba
    functionSourceFile: /src/cairo/perf/micro/cairo-perf-cover.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_linear
    - cairo_set_source
    - cairo_pattern_destroy
    - cairo_pattern_add_color_stop_rgba
    linkageType: ''
    returnType: void
    signature: "static void set_source_linear_rgba (cairo_t *cr,\t\t\tint\twidth,\t\
      \t\tint\theight) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:247,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:249,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:248,1
    - Dst: cairo_set_source
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:252,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:250,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 255
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 255
    functionName: set_source_linear3_rgba
    functionSourceFile: /src/cairo/perf/micro/cairo-perf-cover.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_linear
    - cairo_set_source
    - cairo_pattern_destroy
    - cairo_pattern_add_color_stop_rgba
    linkageType: ''
    returnType: void
    signature: "static void set_source_linear3_rgba (cairo_t *cr,\t\t\tint\twidth,\t\
      \t\tint\theight) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pattern_create_radial
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:281,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:288,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:283,1
    - Dst: cairo_set_source
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:286,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:284,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 289
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 289
    functionName: set_source_radial_rgba
    functionSourceFile: /src/cairo/perf/micro/cairo-perf-cover.c
    functionUses: []
    functionsReached:
    - cairo_set_source
    - cairo_pattern_create_radial
    - cairo_pattern_destroy
    - cairo_pattern_add_color_stop_rgba
    linkageType: ''
    returnType: void
    signature: "static void set_source_radial_rgba (cairo_t *cr,\t\t\tint\twidth,\t\
      \t\tint\theight) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_create
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:36,1
    - Dst: cairo_set_operator
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:37,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:38,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:41,1
    - Dst: cairo_paint
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:39,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:42,1
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:43,1
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:44,1
    - Dst: cairo_fill
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:45,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:47,1
    - Dst: cairo_destroy
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:48,1
    - Dst: cairo_get_target
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:47,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - cr
    - source
    - width
    - height
    argTypes:
    - cairo_t*
    - cairo_surface_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 49
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 49
    functionName: init_and_set_source_surface
    functionSourceFile: /src/cairo/perf/micro/cairo-perf-cover.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgba
    - cairo_new_path
    - cairo_destroy
    - cairo_create
    - cairo_set_operator
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_get_target
    - cairo_set_source_surface
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: "static void init_and_set_source_surface (cairo_t\t\t*cr,\t\t\t cairo_surface_t\t\
      *source,\t\t\t int\t\t width,\t\t\t int\t\t height) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:74,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:78,1
    - Dst: init_and_set_source_surface
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 79
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 79
    functionName: set_source_image_surface_rgb
    functionSourceFile: /src/cairo/perf/micro/cairo-perf-cover.c
    functionUses: []
    functionsReached:
    - init_and_set_source_surface
    - cairo_image_surface_create
    - cairo_surface_destroy
    linkageType: ''
    returnType: void
    signature: "static void set_source_image_surface_rgb (cairo_t\t*cr,\t\t\t int\t\
      \ width,\t\t\t int\t height) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: set_source_solid_rgb
    functionSourceFile: /src/cairo/perf/micro/cairo-perf-cover.c
    functionUses: []
    functionsReached:
    - cairo_set_source_rgb
    linkageType: ''
    returnType: void
    signature: "static void set_source_solid_rgb (cairo_t\t*cr,\t\t int\t width,\t\
      \t int\t height) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:102,1
    - Dst: cairo_scale
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:106,1
    - Dst: cairo_scale
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:104,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:108,1
    - Dst: init_and_set_source_surface
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 109
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 109
    functionName: set_source_image_surface_rgba_mag
    functionSourceFile: /src/cairo/perf/micro/cairo-perf-cover.c
    functionUses: []
    functionsReached:
    - cairo_scale
    - init_and_set_source_surface
    - cairo_image_surface_create
    - cairo_surface_destroy
    linkageType: ''
    returnType: void
    signature: "static void set_source_image_surface_rgba_mag (cairo_t\t*cr,\t\t\t\
      \t int\t\twidth,\t\t\t\t int\t\theight) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:134,1
    - Dst: init_and_set_source_surface
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:137,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:139,1
    - Dst: cairo_get_group_target
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 140
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 140
    functionName: set_source_similar_surface_rgb
    functionSourceFile: /src/cairo/perf/micro/cairo-perf-cover.c
    functionUses: []
    functionsReached:
    - cairo_get_group_target
    - cairo_surface_create_similar
    - cairo_surface_destroy
    - init_and_set_source_surface
    linkageType: ''
    returnType: void
    signature: "static void set_source_similar_surface_rgb (cairo_t\t*cr,\t\t\t\t\
      int\t width,\t\t\t\tint\t height) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:164,1
    - Dst: cairo_get_group_target
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:164,1
    - Dst: cairo_scale
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:169,1
    - Dst: init_and_set_source_surface
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:168,1
    - Dst: cairo_scale
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:167,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:171,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 172
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 172
    functionName: set_source_similar_surface_rgba_mag
    functionSourceFile: /src/cairo/perf/micro/cairo-perf-cover.c
    functionUses: []
    functionsReached:
    - cairo_get_group_target
    - init_and_set_source_surface
    - cairo_surface_destroy
    - cairo_scale
    - cairo_surface_create_similar
    linkageType: ''
    returnType: void
    signature: "static void set_source_similar_surface_rgba_mag (cairo_t\t*cr,\t\t\
      \t\t int\twidth,\t\t\t\t int\theight) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:198,1
    - Dst: cairo_set_source
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:202,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:199,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:200,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:204,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 205
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 205
    functionName: set_source_linear_rgb
    functionSourceFile: /src/cairo/perf/micro/cairo-perf-cover.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_linear
    - cairo_set_source
    - cairo_pattern_destroy
    - cairo_pattern_add_color_stop_rgb
    linkageType: ''
    returnType: void
    signature: "static void set_source_linear_rgb (cairo_t *cr,\t\t int\twidth,\t\t\
      \ int\theight) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:230,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:233,1
    - Dst: cairo_set_source
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:235,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:232,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:231,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 238
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 238
    functionName: set_source_linear3_rgb
    functionSourceFile: /src/cairo/perf/micro/cairo-perf-cover.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_linear
    - cairo_set_source
    - cairo_pattern_destroy
    - cairo_pattern_add_color_stop_rgb
    linkageType: ''
    returnType: void
    signature: "static void set_source_linear3_rgb (cairo_t *cr,\t\t int\twidth,\t\
      \t int\theight) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pattern_create_radial
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:264,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:266,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:267,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:271,1
    - Dst: cairo_set_source
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 272
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 272
    functionName: set_source_radial_rgb
    functionSourceFile: /src/cairo/perf/micro/cairo-perf-cover.c
    functionUses: []
    functionsReached:
    - cairo_set_source
    - cairo_pattern_create_radial
    - cairo_pattern_destroy
    - cairo_pattern_add_color_stop_rgb
    linkageType: ''
    returnType: void
    signature: "static void set_source_radial_rgb (cairo_t *cr,\t\t int\twidth,\t\t\
      \ int\theight) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:326,1
    - Dst: cairo_set_operator
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:330,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:329,1
    - Dst: xasprintf
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:332,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:334,1
    - Dst: free
      Src: /src/cairo/perf/micro/cairo-perf-cover.c:335,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 4
    argNames:
    - perf
    - name
    - perf_func
    - count_func
    argTypes:
    - cairo_perf_t*
    - char*
    - cairo_perf_func_t
    - cairo_count_func_t
    constantsTouched: []
    func_position:
      end: 338
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 338
    functionName: cairo_perf_cover_sources_and_operators
    functionSourceFile: /src/cairo/perf/micro/cairo-perf-cover.c
    functionUses: []
    functionsReached:
    - cairo_perf_run
    - free
    - xasprintf
    - ARRAY_LENGTH
    - cairo_set_operator
    linkageType: ''
    returnType: void
    signature: "void cairo_perf_cover_sources_and_operators (cairo_perf_t\t\t*perf,\t\
      \t\t\t\tconst char\t\t*name,\t\t\t\t\tcairo_perf_func_t\t perf_func,\t\t\t\t\
      \tcairo_count_func_t\t count_func) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_line_to
      Src: /src/cairo/perf/micro/tessellate.c:106,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/tessellate.c:118,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/tessellate.c:108,1
    - Dst: cairo_in_fill
      Src: /src/cairo/perf/micro/tessellate.c:116,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/tessellate.c:120,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/tessellate.c:122,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - cr
    - num_points
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 123
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 123
    functionName: do_tessellate
    functionSourceFile: /src/cairo/perf/micro/tessellate.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - cairo_new_path
    - cairo_line_to
    - cairo_in_fill
    - cairo_perf_timer_elapsed
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_tessellate (cairo_t *cr, int num_points, int
      loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_can_run
      Src: /src/cairo/perf/micro/tessellate.c:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - perf
    argTypes:
    - cairo_perf_t*
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: tessellate_enabled
    functionSourceFile: /src/cairo/perf/micro/tessellate.c
    functionUses: []
    functionsReached:
    - cairo_perf_can_run
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t tessellate_enabled (cairo_perf_t *perf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_tessellate
      Src: /src/cairo/perf/micro/tessellate.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: tessellate_64
    functionSourceFile: /src/cairo/perf/micro/tessellate.c
    functionUses: []
    functionsReached:
    - do_tessellate
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t tessellate_64 (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/cairo/perf/micro/tessellate.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - range
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: rand_within
    functionSourceFile: /src/cairo/perf/micro/tessellate.c
    functionUses: []
    functionsReached:
    - rand
    linkageType: ''
    returnType: double
    signature: 'double rand_within (double range) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_tessellate
      Src: /src/cairo/perf/micro/tessellate.c:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: tessellate_256
    functionSourceFile: /src/cairo/perf/micro/tessellate.c
    functionUses: []
    functionsReached:
    - do_tessellate
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t tessellate_256 (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_tessellate
      Src: /src/cairo/perf/micro/tessellate.c:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: tessellate_16
    functionSourceFile: /src/cairo/perf/micro/tessellate.c
    functionUses: []
    functionsReached:
    - do_tessellate
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t tessellate_16 (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/tessellate.c:152,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/tessellate.c:153,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/tessellate.c:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - perf
    - cr
    - width
    - height
    argTypes:
    - cairo_perf_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 155
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 155
    functionName: tessellate
    functionSourceFile: /src/cairo/perf/micro/tessellate.c
    functionUses: []
    functionsReached:
    - cairo_perf_run
    linkageType: ''
    returnType: void
    signature: 'void tessellate (cairo_perf_t *perf, cairo_t *cr, int width, int height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cairo/perf/micro/tessellate.c:170,1
    - Dst: rand_within
      Src: /src/cairo/perf/micro/tessellate.c:173,1
    - Dst: printf
      Src: /src/cairo/perf/micro/tessellate.c:173,1
    - Dst: rand_within
      Src: /src/cairo/perf/micro/tessellate.c:173,1
    - Dst: printf
      Src: /src/cairo/perf/micro/tessellate.c:175,1
    - Dst: printf
      Src: /src/cairo/perf/micro/tessellate.c:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 179
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 179
    functionName: main
    functionSourceFile: /src/cairo/perf/micro/tessellate.c
    functionUses: []
    functionsReached:
    - printf
    - rand_within
    linkageType: ''
    returnType: int
    signature: 'int main (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/perf/micro/zrusin.c:40,1
    - Dst: cairo_line_to
      Src: /src/cairo/perf/micro/zrusin.c:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: zrusin_another_path
    functionSourceFile: /src/cairo/perf/micro/zrusin.c
    functionUses: []
    functionsReached:
    - cairo_line_to
    - ARRAY_LENGTH
    linkageType: ''
    returnType: void
    signature: 'static void zrusin_another_path (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: zrusin_another_path
      Src: /src/cairo/perf/micro/zrusin.c:69,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/perf/micro/zrusin.c:75,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/zrusin.c:72,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/zrusin.c:70,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/zrusin.c:77,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/zrusin.c:79,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/zrusin.c:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 82
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 82
    functionName: zrusin_another_fill
    functionSourceFile: /src/cairo/perf/micro/zrusin.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - cairo_new_path
    - zrusin_another_path
    - cairo_set_source_rgb
    - cairo_perf_timer_elapsed
    - cairo_fill_preserve
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t zrusin_another_fill (cairo_t *cr, int width, int
      height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_can_run
      Src: /src/cairo/perf/micro/zrusin.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - perf
    argTypes:
    - cairo_perf_t*
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: zrusin_enabled
    functionSourceFile: /src/cairo/perf/micro/zrusin.c
    functionUses: []
    functionsReached:
    - cairo_perf_can_run
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t zrusin_enabled (cairo_perf_t *perf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: zrusin_another_path
      Src: /src/cairo/perf/micro/zrusin.c:47,1
    - Dst: cairo_in_fill
      Src: /src/cairo/perf/micro/zrusin.c:57,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/zrusin.c:61,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/zrusin.c:49,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/zrusin.c:59,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/zrusin.c:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 64
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 64
    functionName: zrusin_another_tessellate
    functionSourceFile: /src/cairo/perf/micro/zrusin.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - cairo_new_path
    - zrusin_another_path
    - cairo_in_fill
    - cairo_perf_timer_elapsed
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t zrusin_another_tessellate (cairo_t *cr, int width,
      int height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/zrusin.c:94,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/zrusin.c:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 4
    argNames:
    - perf
    - cr
    - width
    - height
    argTypes:
    - cairo_perf_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: zrusin
    functionSourceFile: /src/cairo/perf/micro/zrusin.c
    functionUses: []
    functionsReached:
    - cairo_perf_run
    linkageType: ''
    returnType: void
    signature: 'void zrusin (cairo_perf_t *perf, cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/paint-with-alpha.c:30,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/paint-with-alpha.c:35,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/paint-with-alpha.c:37,1
    - Dst: cairo_paint_with_alpha
      Src: /src/cairo/perf/micro/paint-with-alpha.c:33,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 38
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 38
    functionName: do_paint_with_alpha
    functionSourceFile: /src/cairo/perf/micro/paint-with-alpha.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_elapsed
    - cairo_perf_timer_start
    - cairo_paint_with_alpha
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_paint_with_alpha (cairo_t *cr, int width, int
      height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: count_paint_with_alpha
    functionSourceFile: /src/cairo/perf/micro/paint-with-alpha.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: 'static double count_paint_with_alpha (cairo_t *cr, int width, int
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_cover_sources_and_operators
      Src: /src/cairo/perf/micro/paint-with-alpha.c:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - perf
    - cr
    - width
    - height
    argTypes:
    - cairo_perf_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: paint_with_alpha
    functionSourceFile: /src/cairo/perf/micro/paint-with-alpha.c
    functionUses: []
    functionsReached:
    - cairo_perf_cover_sources_and_operators
    linkageType: ''
    returnType: void
    signature: 'void paint_with_alpha (cairo_perf_t *perf, cairo_t *cr, int width,
      int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_can_run
      Src: /src/cairo/perf/micro/paint-with-alpha.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - perf
    argTypes:
    - cairo_perf_t*
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: paint_with_alpha_enabled
    functionSourceFile: /src/cairo/perf/micro/paint-with-alpha.c
    functionUses: []
    functionsReached:
    - cairo_perf_can_run
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t paint_with_alpha_enabled (cairo_perf_t *perf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/rounded-rectangles.c:65,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/rounded-rectangles.c:72,1
    - Dst: rounded_rectangle
      Src: /src/cairo/perf/micro/rounded-rectangles.c:68,1
    - Dst: cairo_fill
      Src: /src/cairo/perf/micro/rounded-rectangles.c:69,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/rounded-rectangles.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 75
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 75
    functionName: do_rectangle
    functionSourceFile: /src/cairo/perf/micro/rounded-rectangles.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - cairo_fill
    - cairo_perf_timer_elapsed
    - rounded_rectangle
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_rectangle (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/rounded-rectangles.c:104,1
    - Dst: cairo_fill
      Src: /src/cairo/perf/micro/rounded-rectangles.c:113,1
    - Dst: rounded_rectangle
      Src: /src/cairo/perf/micro/rounded-rectangles.c:108,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/rounded-rectangles.c:116,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/rounded-rectangles.c:118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 119
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 119
    functionName: do_rectangles_once
    functionSourceFile: /src/cairo/perf/micro/rounded-rectangles.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - cairo_fill
    - cairo_perf_timer_elapsed
    - rounded_rectangle
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_rectangles_once (cairo_t *cr, int width, int
      height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/rounded-rectangles.c:55,1
    - Dst: cairo_arc
      Src: /src/cairo/perf/micro/rounded-rectangles.c:59,1
    - Dst: cairo_arc
      Src: /src/cairo/perf/micro/rounded-rectangles.c:57,1
    - Dst: cairo_arc
      Src: /src/cairo/perf/micro/rounded-rectangles.c:58,1
    - Dst: cairo_arc
      Src: /src/cairo/perf/micro/rounded-rectangles.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 6
    argNames:
    - cr
    - x
    - y
    - w
    - h
    - radius
    argTypes:
    - cairo_t*
    - double
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 60
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 60
    functionName: rounded_rectangle
    functionSourceFile: /src/cairo/perf/micro/rounded-rectangles.c
    functionUses: []
    functionsReached:
    - cairo_arc
    - cairo_move_to
    linkageType: ''
    returnType: void
    signature: "static void rounded_rectangle (cairo_t *cr,\t\t double x, double y,\
      \ double w, double h,\t\t double radius) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/rounded-rectangles.c:82,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/rounded-rectangles.c:94,1
    - Dst: rounded_rectangle
      Src: /src/cairo/perf/micro/rounded-rectangles.c:86,1
    - Dst: cairo_fill
      Src: /src/cairo/perf/micro/rounded-rectangles.c:90,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/rounded-rectangles.c:96,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 97
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 97
    functionName: do_rectangles
    functionSourceFile: /src/cairo/perf/micro/rounded-rectangles.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - cairo_fill
    - cairo_perf_timer_elapsed
    - rounded_rectangle
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_rectangles (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_can_run
      Src: /src/cairo/perf/micro/rounded-rectangles.c:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - perf
    argTypes:
    - cairo_perf_t*
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: rounded_rectangles_enabled
    functionSourceFile: /src/cairo/perf/micro/rounded-rectangles.c
    functionUses: []
    functionsReached:
    - cairo_perf_can_run
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t rounded_rectangles_enabled (cairo_perf_t *perf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/cairo/perf/micro/rounded-rectangles.c:132,1
    - Dst: rand
      Src: /src/cairo/perf/micro/rounded-rectangles.c:135,1
    - Dst: rand
      Src: /src/cairo/perf/micro/rounded-rectangles.c:136,1
    - Dst: rand
      Src: /src/cairo/perf/micro/rounded-rectangles.c:137,1
    - Dst: rand
      Src: /src/cairo/perf/micro/rounded-rectangles.c:134,1
    - Dst: MODE
      Src: /src/cairo/perf/micro/rounded-rectangles.c:140,1
    - Dst: MODE
      Src: /src/cairo/perf/micro/rounded-rectangles.c:141,1
    - Dst: MODE
      Src: /src/cairo/perf/micro/rounded-rectangles.c:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 4
    argNames:
    - perf
    - cr
    - width
    - height
    argTypes:
    - cairo_perf_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 143
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 143
    functionName: rounded_rectangles
    functionSourceFile: /src/cairo/perf/micro/rounded-rectangles.c
    functionUses: []
    functionsReached:
    - MODE
    - srand
    - rand
    linkageType: ''
    returnType: void
    signature: 'void rounded_rectangles (cairo_perf_t *perf, cairo_t *cr, int width,
      int height) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/cairo/perf/micro/wave.c:35,1
    - Dst: rand
      Src: /src/cairo/perf/micro/wave.c:46,1
    - Dst: cairo_get_target
      Src: /src/cairo/perf/micro/wave.c:37,1
    - Dst: cairo_create
      Src: /src/cairo/perf/micro/wave.c:40,1
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/perf/micro/wave.c:37,1
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/micro/wave.c:51,1
    - Dst: cairo_fill
      Src: /src/cairo/perf/micro/wave.c:53,1
    - Dst: cairo_destroy
      Src: /src/cairo/perf/micro/wave.c:54,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 57
    functionName: generate_random_waveform
    functionSourceFile: /src/cairo/perf/micro/wave.c
    functionUses: []
    functionsReached:
    - cairo_create
    - cairo_rectangle
    - cairo_get_target
    - cairo_fill
    - cairo_destroy
    - cairo_surface_create_similar
    - srand
    - rand
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *generate_random_waveform(cairo_t *target,
      int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/wave.c:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - perf
    - cr
    - width
    - height
    argTypes:
    - cairo_perf_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: wave
    functionSourceFile: /src/cairo/perf/micro/wave.c
    functionUses: []
    functionsReached:
    - cairo_perf_run
    linkageType: ''
    returnType: void
    signature: 'void wave (cairo_perf_t *perf, cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: generate_random_waveform
      Src: /src/cairo/perf/micro/wave.c:65,1
    - Dst: cairo_push_group_with_content
      Src: /src/cairo/perf/micro/wave.c:76,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/perf/micro/wave.c:77,1
    - Dst: cairo_set_operator
      Src: /src/cairo/perf/micro/wave.c:79,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/perf/micro/wave.c:99,1
    - Dst: cairo_mask_surface
      Src: /src/cairo/perf/micro/wave.c:72,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/wave.c:71,1
    - Dst: cairo_paint
      Src: /src/cairo/perf/micro/wave.c:81,1
    - Dst: cairo_paint
      Src: /src/cairo/perf/micro/wave.c:85,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/perf/micro/wave.c:86,1
    - Dst: cairo_pop_group
      Src: /src/cairo/perf/micro/wave.c:88,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/perf/micro/wave.c:82,1
    - Dst: cairo_mask
      Src: /src/cairo/perf/micro/wave.c:92,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/wave.c:97,1
    - Dst: cairo_paint
      Src: /src/cairo/perf/micro/wave.c:78,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/wave.c:101,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/wave.c:67,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/perf/micro/wave.c:80,1
    - Dst: cairo_paint
      Src: /src/cairo/perf/micro/wave.c:83,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/perf/micro/wave.c:84,1
    - Dst: cairo_paint
      Src: /src/cairo/perf/micro/wave.c:87,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/wave.c:91,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/perf/micro/wave.c:94,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 102
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 102
    functionName: do_wave
    functionSourceFile: /src/cairo/perf/micro/wave.c
    functionUses: []
    functionsReached:
    - cairo_mask_surface
    - cairo_perf_timer_start
    - cairo_push_group_with_content
    - cairo_paint
    - cairo_pop_group
    - generate_random_waveform
    - cairo_mask
    - cairo_surface_destroy
    - cairo_set_operator
    - cairo_set_source_rgb
    - cairo_perf_timer_elapsed
    - cairo_pattern_destroy
    - cairo_set_source_surface
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_wave (cairo_t *cr, int width, int height, int
      loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_can_run
      Src: /src/cairo/perf/micro/wave.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - perf
    argTypes:
    - cairo_perf_t*
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: wave_enabled
    functionSourceFile: /src/cairo/perf/micro/wave.c
    functionUses: []
    functionsReached:
    - cairo_perf_can_run
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t wave_enabled (cairo_perf_t *perf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create
      Src: /src/cairo/perf/micro/mask.c:103,1
    - Dst: init_surface
      Src: /src/cairo/perf/micro/mask.c:104,1
    - Dst: cairo_pattern_create_for_surface
      Src: /src/cairo/perf/micro/mask.c:104,1
    - Dst: cairo_matrix_init_scale
      Src: /src/cairo/perf/micro/mask.c:108,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/perf/micro/mask.c:107,1
    - Dst: cairo_pattern_set_matrix
      Src: /src/cairo/perf/micro/mask.c:109,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/mask.c:111,1
    - Dst: cairo_mask
      Src: /src/cairo/perf/micro/mask.c:114,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/mask.c:116,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/perf/micro/mask.c:118,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/mask.c:120,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 121
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 121
    functionName: do_mask_image_half
    functionSourceFile: /src/cairo/perf/micro/mask.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_for_surface
    - cairo_perf_timer_start
    - cairo_matrix_init_scale
    - init_surface
    - cairo_surface_destroy
    - cairo_pattern_set_matrix
    - cairo_mask
    - cairo_image_surface_create
    - cairo_perf_timer_elapsed
    - cairo_pattern_destroy
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_mask_image_half (cairo_t *cr, int width, int
      height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_create
      Src: /src/cairo/perf/micro/mask.c:53,1
    - Dst: cairo_set_operator
      Src: /src/cairo/perf/micro/mask.c:56,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/perf/micro/mask.c:54,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/mask.c:57,1
    - Dst: cairo_paint
      Src: /src/cairo/perf/micro/mask.c:58,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/perf/micro/mask.c:60,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/mask.c:61,1
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/micro/mask.c:62,1
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/micro/mask.c:63,1
    - Dst: cairo_fill
      Src: /src/cairo/perf/micro/mask.c:64,1
    - Dst: cairo_destroy
      Src: /src/cairo/perf/micro/mask.c:67,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/perf/micro/mask.c:66,1
    - Dst: cairo_get_target
      Src: /src/cairo/perf/micro/mask.c:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 70
    functionName: init_surface
    functionSourceFile: /src/cairo/perf/micro/mask.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_set_source_rgba
    - cairo_new_path
    - cairo_destroy
    - cairo_surface_reference
    - cairo_create
    - cairo_surface_destroy
    - cairo_set_operator
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_get_target
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *init_surface (cairo_surface_t *surface, int
      width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/perf/micro/mask.c:156,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/perf/micro/mask.c:161,1
    - Dst: init_surface
      Src: /src/cairo/perf/micro/mask.c:158,1
    - Dst: cairo_get_group_target
      Src: /src/cairo/perf/micro/mask.c:156,1
    - Dst: cairo_pattern_create_for_surface
      Src: /src/cairo/perf/micro/mask.c:158,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/mask.c:163,1
    - Dst: cairo_mask
      Src: /src/cairo/perf/micro/mask.c:166,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/mask.c:168,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/perf/micro/mask.c:170,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/mask.c:172,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 173
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 173
    functionName: do_mask_similar
    functionSourceFile: /src/cairo/perf/micro/mask.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_for_surface
    - cairo_get_group_target
    - cairo_perf_timer_start
    - init_surface
    - cairo_surface_destroy
    - cairo_mask
    - cairo_perf_timer_elapsed
    - cairo_surface_create_similar
    - cairo_pattern_destroy
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_mask_similar (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/perf/micro/mask.c:210,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/perf/micro/mask.c:215,1
    - Dst: cairo_get_group_target
      Src: /src/cairo/perf/micro/mask.c:210,1
    - Dst: init_surface
      Src: /src/cairo/perf/micro/mask.c:212,1
    - Dst: cairo_pattern_create_for_surface
      Src: /src/cairo/perf/micro/mask.c:212,1
    - Dst: cairo_matrix_init_scale
      Src: /src/cairo/perf/micro/mask.c:216,1
    - Dst: cairo_pattern_set_matrix
      Src: /src/cairo/perf/micro/mask.c:217,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/mask.c:219,1
    - Dst: cairo_mask
      Src: /src/cairo/perf/micro/mask.c:222,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/mask.c:224,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/mask.c:228,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/perf/micro/mask.c:226,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 229
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 229
    functionName: do_mask_similar_double
    functionSourceFile: /src/cairo/perf/micro/mask.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_for_surface
    - cairo_get_group_target
    - cairo_perf_timer_start
    - cairo_matrix_init_scale
    - init_surface
    - cairo_surface_destroy
    - cairo_pattern_set_matrix
    - cairo_mask
    - cairo_perf_timer_elapsed
    - cairo_surface_create_similar
    - cairo_pattern_destroy
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_mask_similar_double (cairo_t *cr, int width,
      int height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pattern_create_radial
      Src: /src/cairo/perf/micro/mask.c:257,1
    - Dst: cairo_mask
      Src: /src/cairo/perf/micro/mask.c:265,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/perf/micro/mask.c:260,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/mask.c:262,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/perf/micro/mask.c:259,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/mask.c:267,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/perf/micro/mask.c:269,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/mask.c:271,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 272
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 272
    functionName: do_mask_radial
    functionSourceFile: /src/cairo/perf/micro/mask.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - cairo_mask
    - cairo_pattern_create_radial
    - cairo_pattern_add_color_stop_rgba
    - cairo_perf_timer_elapsed
    - cairo_pattern_destroy
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_mask_radial (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pattern_create_rgba
      Src: /src/cairo/perf/micro/mask.c:34,1
    - Dst: cairo_mask
      Src: /src/cairo/perf/micro/mask.c:39,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/mask.c:36,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/mask.c:41,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/perf/micro/mask.c:43,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/mask.c:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 46
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 46
    functionName: do_mask_solid
    functionSourceFile: /src/cairo/perf/micro/mask.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - cairo_pattern_create_rgba
    - cairo_mask
    - cairo_perf_timer_elapsed
    - cairo_pattern_destroy
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_mask_solid (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create
      Src: /src/cairo/perf/micro/mask.c:130,1
    - Dst: init_surface
      Src: /src/cairo/perf/micro/mask.c:131,1
    - Dst: cairo_matrix_init_scale
      Src: /src/cairo/perf/micro/mask.c:135,1
    - Dst: cairo_pattern_create_for_surface
      Src: /src/cairo/perf/micro/mask.c:131,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/perf/micro/mask.c:134,1
    - Dst: cairo_pattern_set_matrix
      Src: /src/cairo/perf/micro/mask.c:136,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/mask.c:138,1
    - Dst: cairo_mask
      Src: /src/cairo/perf/micro/mask.c:141,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/mask.c:143,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/perf/micro/mask.c:145,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/mask.c:147,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 148
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 148
    functionName: do_mask_image_double
    functionSourceFile: /src/cairo/perf/micro/mask.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_for_surface
    - cairo_perf_timer_start
    - cairo_matrix_init_scale
    - init_surface
    - cairo_surface_destroy
    - cairo_pattern_set_matrix
    - cairo_mask
    - cairo_image_surface_create
    - cairo_perf_timer_elapsed
    - cairo_pattern_destroy
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_mask_image_double (cairo_t *cr, int width,
      int height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create
      Src: /src/cairo/perf/micro/mask.c:78,1
    - Dst: cairo_pattern_create_for_surface
      Src: /src/cairo/perf/micro/mask.c:79,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/mask.c:84,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/perf/micro/mask.c:82,1
    - Dst: init_surface
      Src: /src/cairo/perf/micro/mask.c:79,1
    - Dst: cairo_mask
      Src: /src/cairo/perf/micro/mask.c:87,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/mask.c:89,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/perf/micro/mask.c:91,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/mask.c:93,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 94
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 94
    functionName: do_mask_image
    functionSourceFile: /src/cairo/perf/micro/mask.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_for_surface
    - cairo_perf_timer_start
    - init_surface
    - cairo_surface_destroy
    - cairo_mask
    - cairo_image_surface_create
    - cairo_perf_timer_elapsed
    - cairo_pattern_destroy
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_mask_image (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/perf/micro/mask.c:182,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/perf/micro/mask.c:187,1
    - Dst: cairo_get_group_target
      Src: /src/cairo/perf/micro/mask.c:182,1
    - Dst: init_surface
      Src: /src/cairo/perf/micro/mask.c:184,1
    - Dst: cairo_pattern_create_for_surface
      Src: /src/cairo/perf/micro/mask.c:184,1
    - Dst: cairo_matrix_init_scale
      Src: /src/cairo/perf/micro/mask.c:188,1
    - Dst: cairo_pattern_set_matrix
      Src: /src/cairo/perf/micro/mask.c:189,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/mask.c:191,1
    - Dst: cairo_mask
      Src: /src/cairo/perf/micro/mask.c:194,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/mask.c:196,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/perf/micro/mask.c:198,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/mask.c:200,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 201
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 201
    functionName: do_mask_similar_half
    functionSourceFile: /src/cairo/perf/micro/mask.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_for_surface
    - cairo_get_group_target
    - cairo_perf_timer_start
    - cairo_matrix_init_scale
    - init_surface
    - cairo_surface_destroy
    - cairo_pattern_set_matrix
    - cairo_mask
    - cairo_perf_timer_elapsed
    - cairo_surface_create_similar
    - cairo_pattern_destroy
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_mask_similar_half (cairo_t *cr, int width,
      int height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/perf/micro/mask.c:236,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/mask.c:240,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/perf/micro/mask.c:237,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/perf/micro/mask.c:238,1
    - Dst: cairo_mask
      Src: /src/cairo/perf/micro/mask.c:243,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/mask.c:245,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/perf/micro/mask.c:247,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/mask.c:249,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 250
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 250
    functionName: do_mask_linear
    functionSourceFile: /src/cairo/perf/micro/mask.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - cairo_pattern_create_linear
    - cairo_mask
    - cairo_pattern_add_color_stop_rgba
    - cairo_perf_timer_elapsed
    - cairo_pattern_destroy
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_mask_linear (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_can_run
      Src: /src/cairo/perf/micro/mask.c:277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - perf
    argTypes:
    - cairo_perf_t*
    constantsTouched: []
    func_position:
      end: 278
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 278
    functionName: mask_enabled
    functionSourceFile: /src/cairo/perf/micro/mask.c
    functionUses: []
    functionsReached:
    - cairo_perf_can_run
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t mask_enabled (cairo_perf_t *perf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_can_run
      Src: /src/cairo/perf/micro/mask.c:283,1
    - Dst: cairo_perf_cover_sources_and_operators
      Src: /src/cairo/perf/micro/mask.c:288,1
    - Dst: cairo_perf_cover_sources_and_operators
      Src: /src/cairo/perf/micro/mask.c:292,1
    - Dst: cairo_perf_cover_sources_and_operators
      Src: /src/cairo/perf/micro/mask.c:286,1
    - Dst: cairo_perf_cover_sources_and_operators
      Src: /src/cairo/perf/micro/mask.c:290,1
    - Dst: cairo_perf_cover_sources_and_operators
      Src: /src/cairo/perf/micro/mask.c:294,1
    - Dst: cairo_perf_cover_sources_and_operators
      Src: /src/cairo/perf/micro/mask.c:296,1
    - Dst: cairo_perf_cover_sources_and_operators
      Src: /src/cairo/perf/micro/mask.c:298,1
    - Dst: cairo_perf_cover_sources_and_operators
      Src: /src/cairo/perf/micro/mask.c:300,1
    - Dst: cairo_perf_cover_sources_and_operators
      Src: /src/cairo/perf/micro/mask.c:302,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - perf
    - cr
    - width
    - height
    argTypes:
    - cairo_perf_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 304
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 304
    functionName: mask
    functionSourceFile: /src/cairo/perf/micro/mask.c
    functionUses: []
    functionsReached:
    - cairo_perf_can_run
    - cairo_perf_cover_sources_and_operators
    linkageType: ''
    returnType: void
    signature: 'void mask (cairo_perf_t *perf, cairo_t *cr, int width, int height) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cairo_rel_line_to
      Src: /src/cairo/perf/micro/dragon.c:74,1
    - Dst: direction
      Src: /src/cairo/perf/micro/dragon.c:76,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 4
    argNames:
    - cr
    - step
    - dir
    - iterations
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 86
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 86
    functionName: path
    functionSourceFile: /src/cairo/perf/micro/dragon.c
    functionUses: []
    functionsReached:
    - cairo_rel_line_to
    - direction
    linkageType: ''
    returnType: void
    signature: 'static void path (cairo_t *cr, int step, int dir, int iterations) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_paint
      Src: /src/cairo/perf/micro/dragon.c:166,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/dragon.c:172,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/dragon.c:182,1
    - Dst: MAX
      Src: /src/cairo/perf/micro/dragon.c:160,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/dragon.c:165,1
    - Dst: cairo_stroke
      Src: /src/cairo/perf/micro/dragon.c:188,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/micro/dragon.c:168,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/dragon.c:170,1
    - Dst: cairo_stroke
      Src: /src/cairo/perf/micro/dragon.c:173,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/dragon.c:175,1
    - Dst: path
      Src: /src/cairo/perf/micro/dragon.c:176,1
    - Dst: path
      Src: /src/cairo/perf/micro/dragon.c:186,1
    - Dst: cairo_stroke
      Src: /src/cairo/perf/micro/dragon.c:183,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/dragon.c:185,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/dragon.c:162,1
    - Dst: path
      Src: /src/cairo/perf/micro/dragon.c:171,1
    - Dst: path
      Src: /src/cairo/perf/micro/dragon.c:181,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/dragon.c:180,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/dragon.c:177,1
    - Dst: cairo_stroke
      Src: /src/cairo/perf/micro/dragon.c:178,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/dragon.c:187,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/dragon.c:191,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/dragon.c:193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 194
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 194
    functionName: do_dragon_solid
    functionSourceFile: /src/cairo/perf/micro/dragon.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_perf_timer_start
    - path
    - cairo_set_line_width
    - MAX
    - cairo_stroke
    - cairo_set_source_rgb
    - cairo_perf_timer_elapsed
    - cairo_move_to
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_dragon_solid (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_reset_clip
      Src: /src/cairo/perf/micro/dragon.c:206,1
    - Dst: cairo_clip
      Src: /src/cairo/perf/micro/dragon.c:209,1
    - Dst: do_dragon_solid
      Src: /src/cairo/perf/micro/dragon.c:211,1
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/micro/dragon.c:208,1
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/micro/dragon.c:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 212
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 212
    functionName: do_dragon_solid_aligned_clip
    functionSourceFile: /src/cairo/perf/micro/dragon.c
    functionUses: []
    functionsReached:
    - cairo_clip
    - cairo_reset_clip
    - do_dragon_solid
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_dragon_solid_aligned_clip (cairo_t *cr, int
      width, int height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_reset_clip
      Src: /src/cairo/perf/micro/dragon.c:229,1
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/micro/dragon.c:230,1
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/micro/dragon.c:231,1
    - Dst: cairo_clip
      Src: /src/cairo/perf/micro/dragon.c:232,1
    - Dst: do_dragon_solid
      Src: /src/cairo/perf/micro/dragon.c:234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 235
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 235
    functionName: do_dragon_solid_unaligned_clip
    functionSourceFile: /src/cairo/perf/micro/dragon.c
    functionUses: []
    functionsReached:
    - cairo_clip
    - cairo_reset_clip
    - do_dragon_solid
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_dragon_solid_unaligned_clip (cairo_t *cr, int
      width, int height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_reset_clip
      Src: /src/cairo/perf/micro/dragon.c:252,1
    - Dst: do_dragon_solid
      Src: /src/cairo/perf/micro/dragon.c:256,1
    - Dst: MIN
      Src: /src/cairo/perf/micro/dragon.c:253,1
    - Dst: cairo_arc
      Src: /src/cairo/perf/micro/dragon.c:253,1
    - Dst: cairo_clip
      Src: /src/cairo/perf/micro/dragon.c:254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 257
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 257
    functionName: do_dragon_solid_circle_clip
    functionSourceFile: /src/cairo/perf/micro/dragon.c
    functionUses: []
    functionsReached:
    - cairo_arc
    - MIN
    - do_dragon_solid
    - cairo_clip
    - cairo_reset_clip
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_dragon_solid_circle_clip (cairo_t *cr, int
      width, int height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - v
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: next_pot
    functionSourceFile: /src/cairo/perf/micro/dragon.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int next_pot (int v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/dragon.c:97,1
    - Dst: cairo_pattern_create_radial
      Src: /src/cairo/perf/micro/dragon.c:100,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/perf/micro/dragon.c:102,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/perf/micro/dragon.c:104,1
    - Dst: cairo_pattern_create_radial
      Src: /src/cairo/perf/micro/dragon.c:115,1
    - Dst: cairo_paint
      Src: /src/cairo/perf/micro/dragon.c:107,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/dragon.c:113,1
    - Dst: cairo_set_source
      Src: /src/cairo/perf/micro/dragon.c:118,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/perf/micro/dragon.c:119,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/dragon.c:122,1
    - Dst: MIN
      Src: /src/cairo/perf/micro/dragon.c:95,1
    - Dst: path
      Src: /src/cairo/perf/micro/dragon.c:114,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/perf/micro/dragon.c:116,1
    - Dst: cairo_stroke
      Src: /src/cairo/perf/micro/dragon.c:120,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/perf/micro/dragon.c:126,1
    - Dst: cairo_stroke
      Src: /src/cairo/perf/micro/dragon.c:138,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/dragon.c:140,1
    - Dst: path
      Src: /src/cairo/perf/micro/dragon.c:141,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/perf/micro/dragon.c:143,1
    - Dst: cairo_stroke
      Src: /src/cairo/perf/micro/dragon.c:147,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/perf/micro/dragon.c:146,1
    - Dst: cairo_set_source
      Src: /src/cairo/perf/micro/dragon.c:136,1
    - Dst: MAX
      Src: /src/cairo/perf/micro/dragon.c:94,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/perf/micro/dragon.c:101,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/perf/micro/dragon.c:103,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/micro/dragon.c:111,1
    - Dst: cairo_pattern_create_radial
      Src: /src/cairo/perf/micro/dragon.c:124,1
    - Dst: cairo_set_source
      Src: /src/cairo/perf/micro/dragon.c:127,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/perf/micro/dragon.c:128,1
    - Dst: cairo_pattern_create_radial
      Src: /src/cairo/perf/micro/dragon.c:133,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/perf/micro/dragon.c:134,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/perf/micro/dragon.c:144,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/dragon.c:152,1
    - Dst: cairo_set_source
      Src: /src/cairo/perf/micro/dragon.c:105,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/perf/micro/dragon.c:106,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/perf/micro/dragon.c:109,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/perf/micro/dragon.c:117,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/perf/micro/dragon.c:110,1
    - Dst: path
      Src: /src/cairo/perf/micro/dragon.c:123,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/perf/micro/dragon.c:125,1
    - Dst: cairo_stroke
      Src: /src/cairo/perf/micro/dragon.c:129,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/dragon.c:131,1
    - Dst: path
      Src: /src/cairo/perf/micro/dragon.c:132,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/perf/micro/dragon.c:137,1
    - Dst: cairo_pattern_create_radial
      Src: /src/cairo/perf/micro/dragon.c:142,1
    - Dst: cairo_pattern_add_color_stop_rgb
      Src: /src/cairo/perf/micro/dragon.c:135,1
    - Dst: cairo_set_source
      Src: /src/cairo/perf/micro/dragon.c:145,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/dragon.c:150,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 60
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 153
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 153
    functionName: do_dragon
    functionSourceFile: /src/cairo/perf/micro/dragon.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_perf_timer_start
    - path
    - cairo_set_line_width
    - cairo_move_to
    - cairo_pattern_add_color_stop_rgb
    - MIN
    - MAX
    - cairo_set_source
    - cairo_set_line_join
    - cairo_pattern_create_radial
    - cairo_stroke
    - cairo_set_line_cap
    - cairo_perf_timer_elapsed
    - cairo_pattern_destroy
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_dragon (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: next_pot
      Src: /src/cairo/perf/micro/dragon.c:51,1
    - Dst: direction
      Src: /src/cairo/perf/micro/dragon.c:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 57
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 57
    functionName: direction
    functionSourceFile: /src/cairo/perf/micro/dragon.c
    functionUses: []
    functionsReached:
    - direction
    - next_pot
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t direction (int i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_translate
      Src: /src/cairo/perf/micro/dragon.c:199,1
    - Dst: do_dragon_solid
      Src: /src/cairo/perf/micro/dragon.c:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 201
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 201
    functionName: do_dragon_solid_unaligned
    functionSourceFile: /src/cairo/perf/micro/dragon.c
    functionUses: []
    functionsReached:
    - do_dragon_solid
    - cairo_translate
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_dragon_solid_unaligned (cairo_t *cr, int width,
      int height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_translate
      Src: /src/cairo/perf/micro/dragon.c:217,1
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/micro/dragon.c:220,1
    - Dst: cairo_reset_clip
      Src: /src/cairo/perf/micro/dragon.c:218,1
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/micro/dragon.c:219,1
    - Dst: cairo_clip
      Src: /src/cairo/perf/micro/dragon.c:221,1
    - Dst: do_dragon_solid
      Src: /src/cairo/perf/micro/dragon.c:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 224
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 224
    functionName: do_dragon_unaligned_solid_aligned_clip
    functionSourceFile: /src/cairo/perf/micro/dragon.c
    functionUses: []
    functionsReached:
    - do_dragon_solid
    - cairo_translate
    - cairo_clip
    - cairo_reset_clip
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_dragon_unaligned_solid_aligned_clip (cairo_t
      *cr, int width, int height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_translate
      Src: /src/cairo/perf/micro/dragon.c:240,1
    - Dst: cairo_clip
      Src: /src/cairo/perf/micro/dragon.c:244,1
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/micro/dragon.c:243,1
    - Dst: cairo_reset_clip
      Src: /src/cairo/perf/micro/dragon.c:241,1
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/micro/dragon.c:242,1
    - Dst: do_dragon_solid
      Src: /src/cairo/perf/micro/dragon.c:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 247
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 247
    functionName: do_dragon_unaligned_solid_unaligned_clip
    functionSourceFile: /src/cairo/perf/micro/dragon.c
    functionUses: []
    functionsReached:
    - do_dragon_solid
    - cairo_translate
    - cairo_clip
    - cairo_reset_clip
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_dragon_unaligned_solid_unaligned_clip (cairo_t
      *cr, int width, int height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_can_run
      Src: /src/cairo/perf/micro/dragon.c:262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - perf
    argTypes:
    - cairo_perf_t*
    constantsTouched: []
    func_position:
      end: 263
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 263
    functionName: dragon_enabled
    functionSourceFile: /src/cairo/perf/micro/dragon.c
    functionUses: []
    functionsReached:
    - cairo_perf_can_run
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t dragon_enabled (cairo_perf_t *perf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/dragon.c:268,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/dragon.c:272,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/dragon.c:270,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/dragon.c:271,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/dragon.c:269,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/dragon.c:273,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/dragon.c:274,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/dragon.c:275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - perf
    - cr
    - width
    - height
    argTypes:
    - cairo_perf_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 276
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 276
    functionName: dragon
    functionSourceFile: /src/cairo/perf/micro/dragon.c
    functionUses: []
    functionsReached:
    - cairo_perf_run
    linkageType: ''
    returnType: void
    signature: 'void dragon (cairo_perf_t *perf, cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/micro/a1-line.c:85,1
    - Dst: nearly_horizontal
      Src: /src/cairo/perf/micro/a1-line.c:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: nearly_horizontal_hair
    functionSourceFile: /src/cairo/perf/micro/a1-line.c
    functionUses: []
    functionsReached:
    - nearly_horizontal
    - cairo_set_line_width
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t nearly_horizontal_hair (cairo_t *cr, int width,
      int height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/micro/a1-line.c:58,1
    - Dst: horizontal
      Src: /src/cairo/perf/micro/a1-line.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: horizontal_wide
    functionSourceFile: /src/cairo/perf/micro/a1-line.c
    functionUses: []
    functionsReached:
    - horizontal
    - cairo_set_line_width
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t horizontal_wide (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/a1-line.c:102,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/a1-line.c:110,1
    - Dst: cairo_stroke_preserve
      Src: /src/cairo/perf/micro/a1-line.c:108,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/a1-line.c:105,1
    - Dst: cairo_line_to
      Src: /src/cairo/perf/micro/a1-line.c:103,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/a1-line.c:112,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/a1-line.c:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 115
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 115
    functionName: vertical
    functionSourceFile: /src/cairo/perf/micro/a1-line.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - cairo_perf_timer_elapsed
    - cairo_new_path
    - cairo_line_to
    - cairo_stroke_preserve
    - cairo_move_to
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t vertical (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/micro/a1-line.c:127,1
    - Dst: vertical
      Src: /src/cairo/perf/micro/a1-line.c:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 129
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 129
    functionName: vertical_wide
    functionSourceFile: /src/cairo/perf/micro/a1-line.c
    functionUses: []
    functionsReached:
    - vertical
    - cairo_set_line_width
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t vertical_wide (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/micro/a1-line.c:154,1
    - Dst: nearly_vertical
      Src: /src/cairo/perf/micro/a1-line.c:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: nearly_vertical_hair
    functionSourceFile: /src/cairo/perf/micro/a1-line.c
    functionUses: []
    functionsReached:
    - nearly_vertical
    - cairo_set_line_width
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t nearly_vertical_hair (cairo_t *cr, int width,
      int height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/a1-line.c:169,1
    - Dst: cairo_line_to
      Src: /src/cairo/perf/micro/a1-line.c:170,1
    - Dst: cairo_stroke_preserve
      Src: /src/cairo/perf/micro/a1-line.c:175,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/a1-line.c:172,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/a1-line.c:177,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/a1-line.c:179,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/a1-line.c:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 182
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 182
    functionName: diagonal
    functionSourceFile: /src/cairo/perf/micro/a1-line.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - cairo_perf_timer_elapsed
    - cairo_new_path
    - cairo_line_to
    - cairo_stroke_preserve
    - cairo_move_to
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t diagonal (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/micro/a1-line.c:194,1
    - Dst: diagonal
      Src: /src/cairo/perf/micro/a1-line.c:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 196
    functionName: diagonal_wide
    functionSourceFile: /src/cairo/perf/micro/a1-line.c
    functionUses: []
    functionsReached:
    - diagonal
    - cairo_set_line_width
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t diagonal_wide (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/a1-line.c:33,1
    - Dst: cairo_line_to
      Src: /src/cairo/perf/micro/a1-line.c:34,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/a1-line.c:41,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/a1-line.c:36,1
    - Dst: cairo_stroke_preserve
      Src: /src/cairo/perf/micro/a1-line.c:39,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/a1-line.c:43,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/a1-line.c:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 46
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 46
    functionName: horizontal
    functionSourceFile: /src/cairo/perf/micro/a1-line.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - cairo_perf_timer_elapsed
    - cairo_new_path
    - cairo_line_to
    - cairo_stroke_preserve
    - cairo_move_to
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t horizontal (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/a1-line.c:67,1
    - Dst: cairo_line_to
      Src: /src/cairo/perf/micro/a1-line.c:68,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/a1-line.c:70,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/a1-line.c:75,1
    - Dst: cairo_stroke_preserve
      Src: /src/cairo/perf/micro/a1-line.c:73,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/a1-line.c:77,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/a1-line.c:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 80
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 80
    functionName: nearly_horizontal
    functionSourceFile: /src/cairo/perf/micro/a1-line.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - cairo_perf_timer_elapsed
    - cairo_new_path
    - cairo_line_to
    - cairo_stroke_preserve
    - cairo_move_to
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t nearly_horizontal (cairo_t *cr, int width, int
      height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/micro/a1-line.c:51,1
    - Dst: horizontal
      Src: /src/cairo/perf/micro/a1-line.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: horizontal_hair
    functionSourceFile: /src/cairo/perf/micro/a1-line.c
    functionUses: []
    functionsReached:
    - horizontal
    - cairo_set_line_width
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t horizontal_hair (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/micro/a1-line.c:92,1
    - Dst: nearly_horizontal
      Src: /src/cairo/perf/micro/a1-line.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: nearly_horizontal_wide
    functionSourceFile: /src/cairo/perf/micro/a1-line.c
    functionUses: []
    functionsReached:
    - nearly_horizontal
    - cairo_set_line_width
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t nearly_horizontal_wide (cairo_t *cr, int width,
      int height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/micro/a1-line.c:120,1
    - Dst: vertical
      Src: /src/cairo/perf/micro/a1-line.c:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: vertical_hair
    functionSourceFile: /src/cairo/perf/micro/a1-line.c
    functionUses: []
    functionsReached:
    - vertical
    - cairo_set_line_width
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t vertical_hair (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/a1-line.c:136,1
    - Dst: cairo_stroke_preserve
      Src: /src/cairo/perf/micro/a1-line.c:142,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/a1-line.c:139,1
    - Dst: cairo_line_to
      Src: /src/cairo/perf/micro/a1-line.c:137,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/a1-line.c:144,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/a1-line.c:146,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/a1-line.c:148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 149
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 149
    functionName: nearly_vertical
    functionSourceFile: /src/cairo/perf/micro/a1-line.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - cairo_perf_timer_elapsed
    - cairo_new_path
    - cairo_line_to
    - cairo_stroke_preserve
    - cairo_move_to
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t nearly_vertical (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/micro/a1-line.c:161,1
    - Dst: nearly_vertical
      Src: /src/cairo/perf/micro/a1-line.c:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 163
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 163
    functionName: nearly_vertical_wide
    functionSourceFile: /src/cairo/perf/micro/a1-line.c
    functionUses: []
    functionsReached:
    - nearly_vertical
    - cairo_set_line_width
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t nearly_vertical_wide (cairo_t *cr, int width,
      int height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/micro/a1-line.c:187,1
    - Dst: diagonal
      Src: /src/cairo/perf/micro/a1-line.c:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: diagonal_hair
    functionSourceFile: /src/cairo/perf/micro/a1-line.c
    functionUses: []
    functionsReached:
    - diagonal
    - cairo_set_line_width
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t diagonal_hair (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_can_run
      Src: /src/cairo/perf/micro/a1-line.c:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - perf
    argTypes:
    - cairo_perf_t*
    constantsTouched: []
    func_position:
      end: 202
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 202
    functionName: a1_line_enabled
    functionSourceFile: /src/cairo/perf/micro/a1-line.c
    functionUses: []
    functionsReached:
    - cairo_perf_can_run
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t a1_line_enabled (cairo_perf_t *perf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/a1-line.c:207,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/a1-line.c:212,1
    - Dst: cairo_set_antialias
      Src: /src/cairo/perf/micro/a1-line.c:208,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/a1-line.c:210,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/a1-line.c:211,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/a1-line.c:213,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/a1-line.c:215,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/a1-line.c:216,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/a1-line.c:217,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/a1-line.c:218,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/a1-line.c:220,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/a1-line.c:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - perf
    - cr
    - width
    - height
    argTypes:
    - cairo_perf_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 222
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 222
    functionName: a1_line
    functionSourceFile: /src/cairo/perf/micro/a1-line.c
    functionUses: []
    functionsReached:
    - cairo_perf_run
    - cairo_set_antialias
    - cairo_set_source_rgb
    linkageType: ''
    returnType: void
    signature: 'void a1_line (cairo_perf_t *perf, cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: aligned
    functionSourceFile: /src/cairo/perf/micro/hatching.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void aligned (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_antialias
      Src: /src/cairo/perf/micro/hatching.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: aa
    functionSourceFile: /src/cairo/perf/micro/hatching.c
    functionUses: []
    functionsReached:
    - cairo_set_antialias
    linkageType: ''
    returnType: void
    signature: 'static void aa (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_translate
      Src: /src/cairo/perf/micro/hatching.c:65,1
    - Dst: cairo_translate
      Src: /src/cairo/perf/micro/hatching.c:67,1
    - Dst: cairo_rotate
      Src: /src/cairo/perf/micro/hatching.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: rotated
    functionSourceFile: /src/cairo/perf/micro/hatching.c
    functionUses: []
    functionsReached:
    - cairo_rotate
    - cairo_translate
    linkageType: ''
    returnType: void
    signature: 'static void rotated (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_clip
      Src: /src/cairo/perf/micro/hatching.c:78,1
    - Dst: cairo_paint_with_alpha
      Src: /src/cairo/perf/micro/hatching.c:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: clip_alpha
    functionSourceFile: /src/cairo/perf/micro/hatching.c
    functionUses: []
    functionsReached:
    - cairo_clip
    - cairo_paint_with_alpha
    linkageType: ''
    returnType: void
    signature: 'static void clip_alpha (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw
      Src: /src/cairo/perf/micro/hatching.c:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: draw_aligned_aa
    functionSourceFile: /src/cairo/perf/micro/hatching.c
    functionUses: []
    functionsReached:
    - draw
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t draw_aligned_aa (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw
      Src: /src/cairo/perf/micro/hatching.c:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 130
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 130
    functionName: draw_rotated_aa
    functionSourceFile: /src/cairo/perf/micro/hatching.c
    functionUses: []
    functionsReached:
    - draw
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t draw_rotated_aa (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw
      Src: /src/cairo/perf/micro/hatching.c:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: draw_misaligned_mono
    functionSourceFile: /src/cairo/perf/micro/hatching.c
    functionUses: []
    functionsReached:
    - draw
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t draw_misaligned_mono (cairo_t *cr, int width,
      int height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/micro/hatching.c:39,1
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/micro/hatching.c:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: path
    functionSourceFile: /src/cairo/perf/micro/hatching.c
    functionUses: []
    functionsReached:
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void path (cairo_t *cr, unsigned int width, unsigned int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_translate
      Src: /src/cairo/perf/micro/hatching.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - width
    - height
    argTypes:
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: misaligned
    functionSourceFile: /src/cairo/perf/micro/hatching.c
    functionUses: []
    functionsReached:
    - cairo_translate
    linkageType: ''
    returnType: void
    signature: 'static void misaligned (cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_antialias
      Src: /src/cairo/perf/micro/hatching.c:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: mono
    functionSourceFile: /src/cairo/perf/micro/hatching.c
    functionUses: []
    functionsReached:
    - cairo_set_antialias
    linkageType: ''
    returnType: void
    signature: 'static void mono (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_clip
      Src: /src/cairo/perf/micro/hatching.c:72,1
    - Dst: cairo_paint
      Src: /src/cairo/perf/micro/hatching.c:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: clip
    functionSourceFile: /src/cairo/perf/micro/hatching.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_clip
    linkageType: ''
    returnType: void
    signature: 'static void clip (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/perf/micro/hatching.c:89,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/hatching.c:90,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/hatching.c:92,1
    - Dst: prepare
      Src: /src/cairo/perf/micro/hatching.c:94,1
    - Dst: cairo_paint
      Src: /src/cairo/perf/micro/hatching.c:91,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/hatching.c:96,1
    - Dst: cairo_save
      Src: /src/cairo/perf/micro/hatching.c:98,1
    - Dst: transform
      Src: /src/cairo/perf/micro/hatching.c:99,1
    - Dst: path
      Src: /src/cairo/perf/micro/hatching.c:100,1
    - Dst: op
      Src: /src/cairo/perf/micro/hatching.c:101,1
    - Dst: cairo_restore
      Src: /src/cairo/perf/micro/hatching.c:102,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/hatching.c:104,1
    - Dst: cairo_restore
      Src: /src/cairo/perf/micro/hatching.c:106,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/hatching.c:108,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 7
    argNames:
    - cr
    - (*prepare)
    - (*transform)
    - (*op)
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - void
    - void
    - void
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 109
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 109
    functionName: draw
    functionSourceFile: /src/cairo/perf/micro/hatching.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_perf_timer_start
    - path
    - prepare
    - cairo_save
    - cairo_restore
    - op
    - cairo_set_source_rgb
    - cairo_perf_timer_elapsed
    - transform
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t draw (cairo_t *cr, void (*prepare) (cairo_t *cr),
      void (*transform) (cairo_t *cr, int width, int height), void (*op) (cairo_t
      *cr), int width, int height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw
      Src: /src/cairo/perf/micro/hatching.c:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 123
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 123
    functionName: draw_misaligned_aa
    functionSourceFile: /src/cairo/perf/micro/hatching.c
    functionUses: []
    functionsReached:
    - draw
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t draw_misaligned_aa (cairo_t *cr, int width, int
      height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw
      Src: /src/cairo/perf/micro/hatching.c:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: draw_aligned_mono
    functionSourceFile: /src/cairo/perf/micro/hatching.c
    functionUses: []
    functionsReached:
    - draw
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t draw_aligned_mono (cairo_t *cr, int width, int
      height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw
      Src: /src/cairo/perf/micro/hatching.c:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: draw_rotated_mono
    functionSourceFile: /src/cairo/perf/micro/hatching.c
    functionUses: []
    functionsReached:
    - draw
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t draw_rotated_mono (cairo_t *cr, int width, int
      height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_can_run
      Src: /src/cairo/perf/micro/hatching.c:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - perf
    argTypes:
    - cairo_perf_t*
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: hatching_enabled
    functionSourceFile: /src/cairo/perf/micro/hatching.c
    functionUses: []
    functionsReached:
    - cairo_perf_can_run
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t hatching_enabled (cairo_perf_t *perf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/hatching.c:181,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/hatching.c:183,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/hatching.c:182,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/hatching.c:185,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/hatching.c:184,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/hatching.c:186,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/hatching.c:188,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/hatching.c:189,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/hatching.c:190,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/hatching.c:191,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/hatching.c:197,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/hatching.c:200,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/hatching.c:195,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/hatching.c:198,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/hatching.c:192,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/hatching.c:196,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/hatching.c:199,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/hatching.c:193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - perf
    - cr
    - width
    - height
    argTypes:
    - cairo_perf_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 201
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 201
    functionName: hatching
    functionSourceFile: /src/cairo/perf/micro/hatching.c
    functionUses: []
    functionsReached:
    - cairo_perf_run
    linkageType: ''
    returnType: void
    signature: 'void hatching (cairo_perf_t *perf, cairo_t *cr, int width, int height) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: v
      Src: /src/cairo/perf/micro/spiral.c:68,1
    - Dst: cairo_save
      Src: /src/cairo/perf/micro/spiral.c:83,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/spiral.c:92,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/spiral.c:84,1
    - Dst: cairo_line_to
      Src: /src/cairo/perf/micro/spiral.c:94,1
    - Dst: cairo_close_path
      Src: /src/cairo/perf/micro/spiral.c:96,1
    - Dst: cairo_restore
      Src: /src/cairo/perf/micro/spiral.c:103,1
    - Dst: assert
      Src: /src/cairo/perf/micro/spiral.c:55,1
    - Dst: M
      Src: /src/cairo/perf/micro/spiral.c:64,1
    - Dst: M
      Src: /src/cairo/perf/micro/spiral.c:63,1
    - Dst: h
      Src: /src/cairo/perf/micro/spiral.c:69,1
    - Dst: v
      Src: /src/cairo/perf/micro/spiral.c:72,1
    - Dst: L
      Src: /src/cairo/perf/micro/spiral.c:77,1
    - Dst: cairo_translate
      Src: /src/cairo/perf/micro/spiral.c:87,1
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/perf/micro/spiral.c:88,1
    - Dst: cairo_paint
      Src: /src/cairo/perf/micro/spiral.c:85,1
    - Dst: assert
      Src: /src/cairo/perf/micro/spiral.c:81,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/spiral.c:98,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/perf/micro/spiral.c:100,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/spiral.c:101,1
    - Dst: v
      Src: /src/cairo/perf/micro/spiral.c:70,1
    - Dst: h
      Src: /src/cairo/perf/micro/spiral.c:71,1
    - Dst: L
      Src: /src/cairo/perf/micro/spiral.c:78,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/spiral.c:91,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/spiral.c:89,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/spiral.c:105,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 50
    argCount: 7
    argNames:
    - cr
    - fill_rule
    - align
    - close
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - cairo_fill_rule_t
    - align_t
    - close_t
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 106
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 106
    functionName: draw_spiral
    functionSourceFile: /src/cairo/perf/micro/spiral.c
    functionUses: []
    functionsReached:
    - cairo_close_path
    - v
    - cairo_translate
    - cairo_set_fill_rule
    - cairo_fill_preserve
    - cairo_save
    - h
    - L
    - cairo_line_to
    - assert
    - cairo_restore
    - cairo_perf_timer_elapsed
    - M
    - cairo_perf_timer_stop
    - cairo_paint
    - cairo_perf_timer_start
    - cairo_new_path
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t draw_spiral (cairo_t *cr, cairo_fill_rule_t fill_rule,
      align_t align, close_t close, int width, int height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw_spiral
      Src: /src/cairo/perf/micro/spiral.c:272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 277
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 277
    functionName: draw_spiral_nz_na_di
    functionSourceFile: /src/cairo/perf/micro/spiral.c
    functionUses: []
    functionsReached:
    - draw_spiral
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t draw_spiral_nz_na_di (cairo_t *cr, int width,
      int height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw_spiral_box
      Src: /src/cairo/perf/micro/spiral.c:290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 293
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 293
    functionName: draw_spiral_nz_na_box
    functionSourceFile: /src/cairo/perf/micro/spiral.c
    functionUses: []
    functionsReached:
    - draw_spiral_box
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t draw_spiral_nz_na_box (cairo_t *cr, int width,
      int height, int loops) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/perf/micro/spiral.c:117,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/spiral.c:121,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/spiral.c:118,1
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/perf/micro/spiral.c:122,1
    - Dst: cairo_paint
      Src: /src/cairo/perf/micro/spiral.c:119,1
    - Dst: cairo_translate
      Src: /src/cairo/perf/micro/spiral.c:123,1
    - Dst: cairo_translate
      Src: /src/cairo/perf/micro/spiral.c:125,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/spiral.c:127,1
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/micro/spiral.c:129,1
    - Dst: cairo_translate
      Src: /src/cairo/perf/micro/spiral.c:130,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/spiral.c:134,1
    - Dst: cairo_restore
      Src: /src/cairo/perf/micro/spiral.c:139,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/perf/micro/spiral.c:136,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/spiral.c:141,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/spiral.c:137,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 6
    argNames:
    - cr
    - fill_rule
    - align
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - cairo_fill_rule_t
    - align_t
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 142
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 142
    functionName: draw_spiral_box
    functionSourceFile: /src/cairo/perf/micro/spiral.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_perf_timer_start
    - cairo_perf_timer_elapsed
    - cairo_new_path
    - cairo_set_source_rgb
    - cairo_save
    - cairo_perf_timer_stop
    - cairo_restore
    - cairo_translate
    - cairo_set_fill_rule
    - cairo_fill_preserve
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_time_t
    signature: "static cairo_time_t draw_spiral_box (cairo_t *cr,\t\t cairo_fill_rule_t\
      \ fill_rule,\t\t align_t align,\t\t int width, int height, int loops) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw_spiral_box
      Src: /src/cairo/perf/micro/spiral.c:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 285
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 285
    functionName: draw_spiral_nz_pa_box
    functionSourceFile: /src/cairo/perf/micro/spiral.c
    functionUses: []
    functionsReached:
    - draw_spiral_box
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t draw_spiral_nz_pa_box (cairo_t *cr, int width,
      int height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw_spiral_box
      Src: /src/cairo/perf/micro/spiral.c:299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 302
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 302
    functionName: draw_spiral_eo_pa_box
    functionSourceFile: /src/cairo/perf/micro/spiral.c
    functionUses: []
    functionsReached:
    - draw_spiral_box
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t draw_spiral_eo_pa_box (cairo_t *cr, int width,
      int height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw_spiral
      Src: /src/cairo/perf/micro/spiral.c:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 237
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 237
    functionName: draw_spiral_nz_na_re
    functionSourceFile: /src/cairo/perf/micro/spiral.c
    functionUses: []
    functionsReached:
    - draw_spiral
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t draw_spiral_nz_na_re (cairo_t *cr, int width,
      int height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw_spiral
      Src: /src/cairo/perf/micro/spiral.c:252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 257
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 257
    functionName: draw_spiral_nz_pa_di
    functionSourceFile: /src/cairo/perf/micro/spiral.c
    functionUses: []
    functionsReached:
    - draw_spiral
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t draw_spiral_nz_pa_di (cairo_t *cr, int width,
      int height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw_spiral
      Src: /src/cairo/perf/micro/spiral.c:242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 247
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 247
    functionName: draw_spiral_eo_pa_di
    functionSourceFile: /src/cairo/perf/micro/spiral.c
    functionUses: []
    functionsReached:
    - draw_spiral
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t draw_spiral_eo_pa_di (cairo_t *cr, int width,
      int height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw_spiral
      Src: /src/cairo/perf/micro/spiral.c:262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 267
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 267
    functionName: draw_spiral_eo_na_di
    functionSourceFile: /src/cairo/perf/micro/spiral.c
    functionUses: []
    functionsReached:
    - draw_spiral
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t draw_spiral_eo_na_di (cairo_t *cr, int width,
      int height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/spiral.c:337,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/spiral.c:340,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/spiral.c:338,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/spiral.c:339,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/spiral.c:341,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/spiral.c:342,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/spiral.c:343,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/spiral.c:344,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/spiral.c:345,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/spiral.c:346,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/spiral.c:348,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/spiral.c:350,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/spiral.c:349,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/spiral.c:347,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - perf
    - cr
    - width
    - height
    argTypes:
    - cairo_perf_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 351
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 351
    functionName: spiral
    functionSourceFile: /src/cairo/perf/micro/spiral.c
    functionUses: []
    functionsReached:
    - cairo_perf_run
    linkageType: ''
    returnType: void
    signature: 'void spiral (cairo_perf_t *perf, cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw_spiral
      Src: /src/cairo/perf/micro/spiral.c:212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 217
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 217
    functionName: draw_spiral_nz_pa_re
    functionSourceFile: /src/cairo/perf/micro/spiral.c
    functionUses: []
    functionsReached:
    - draw_spiral
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t draw_spiral_nz_pa_re (cairo_t *cr, int width,
      int height, int loops) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/perf/micro/spiral.c:152,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/spiral.c:153,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/spiral.c:192,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/spiral.c:165,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/perf/micro/spiral.c:173,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/perf/micro/spiral.c:183,1
    - Dst: cairo_stroke_preserve
      Src: /src/cairo/perf/micro/spiral.c:191,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/spiral.c:196,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/micro/spiral.c:158,1
    - Dst: cairo_paint
      Src: /src/cairo/perf/micro/spiral.c:154,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/spiral.c:157,1
    - Dst: cairo_translate
      Src: /src/cairo/perf/micro/spiral.c:156,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/perf/micro/spiral.c:159,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/spiral.c:164,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/perf/micro/spiral.c:178,1
    - Dst: cairo_restore
      Src: /src/cairo/perf/micro/spiral.c:194,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/spiral.c:189,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/perf/micro/spiral.c:160,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/spiral.c:162,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/perf/micro/spiral.c:168,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 5
    argNames:
    - cr
    - align
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - align_t
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 197
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 197
    functionName: draw_spiral_stroke
    functionSourceFile: /src/cairo/perf/micro/spiral.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_perf_timer_start
    - cairo_perf_timer_elapsed
    - cairo_new_path
    - cairo_set_line_width
    - cairo_set_source_rgb
    - cairo_rel_line_to
    - cairo_save
    - cairo_set_line_join
    - cairo_restore
    - cairo_set_line_cap
    - cairo_translate
    - cairo_stroke_preserve
    - cairo_move_to
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: "static cairo_time_t draw_spiral_stroke (cairo_t *cr,\t\t align_t align,\t\
      \t int width, int height, int loops) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw_spiral_box
      Src: /src/cairo/perf/micro/spiral.c:307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 310
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 310
    functionName: draw_spiral_eo_na_box
    functionSourceFile: /src/cairo/perf/micro/spiral.c
    functionUses: []
    functionsReached:
    - draw_spiral_box
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t draw_spiral_eo_na_box (cairo_t *cr, int width,
      int height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw_spiral_stroke
      Src: /src/cairo/perf/micro/spiral.c:323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 326
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 326
    functionName: draw_spiral_stroke_na
    functionSourceFile: /src/cairo/perf/micro/spiral.c
    functionUses: []
    functionsReached:
    - draw_spiral_stroke
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t draw_spiral_stroke_na (cairo_t *cr, int width,
      int height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw_spiral
      Src: /src/cairo/perf/micro/spiral.c:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 207
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 207
    functionName: draw_spiral_eo_pa_re
    functionSourceFile: /src/cairo/perf/micro/spiral.c
    functionUses: []
    functionsReached:
    - draw_spiral
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t draw_spiral_eo_pa_re (cairo_t *cr, int width,
      int height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw_spiral
      Src: /src/cairo/perf/micro/spiral.c:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 227
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 227
    functionName: draw_spiral_eo_na_re
    functionSourceFile: /src/cairo/perf/micro/spiral.c
    functionUses: []
    functionsReached:
    - draw_spiral
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t draw_spiral_eo_na_re (cairo_t *cr, int width,
      int height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw_spiral_stroke
      Src: /src/cairo/perf/micro/spiral.c:315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 318
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 318
    functionName: draw_spiral_stroke_pa
    functionSourceFile: /src/cairo/perf/micro/spiral.c
    functionUses: []
    functionsReached:
    - draw_spiral_stroke
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t draw_spiral_stroke_pa (cairo_t *cr, int width,
      int height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_can_run
      Src: /src/cairo/perf/micro/spiral.c:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - perf
    argTypes:
    - cairo_perf_t*
    constantsTouched: []
    func_position:
      end: 332
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 332
    functionName: spiral_enabled
    functionSourceFile: /src/cairo/perf/micro/spiral.c
    functionUses: []
    functionsReached:
    - cairo_perf_can_run
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t spiral_enabled (cairo_perf_t *perf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/unaligned-clip.c:33,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/unaligned-clip.c:40,1
    - Dst: cairo_line_to
      Src: /src/cairo/perf/micro/unaligned-clip.c:42,1
    - Dst: cairo_save
      Src: /src/cairo/perf/micro/unaligned-clip.c:36,1
    - Dst: cairo_line_to
      Src: /src/cairo/perf/micro/unaligned-clip.c:41,1
    - Dst: cairo_close_path
      Src: /src/cairo/perf/micro/unaligned-clip.c:43,1
    - Dst: cairo_clip
      Src: /src/cairo/perf/micro/unaligned-clip.c:44,1
    - Dst: cairo_scale
      Src: /src/cairo/perf/micro/unaligned-clip.c:48,1
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/micro/unaligned-clip.c:49,1
    - Dst: cairo_clip
      Src: /src/cairo/perf/micro/unaligned-clip.c:50,1
    - Dst: cairo_restore
      Src: /src/cairo/perf/micro/unaligned-clip.c:55,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/unaligned-clip.c:59,1
    - Dst: cairo_paint
      Src: /src/cairo/perf/micro/unaligned-clip.c:53,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/unaligned-clip.c:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 60
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 60
    functionName: do_unaligned_clip
    functionSourceFile: /src/cairo/perf/micro/unaligned-clip.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_perf_timer_start
    - cairo_line_to
    - cairo_save
    - cairo_perf_timer_stop
    - cairo_close_path
    - cairo_scale
    - cairo_restore
    - cairo_perf_timer_elapsed
    - cairo_clip
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_unaligned_clip (cairo_t *cr, int width, int
      height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_can_run
      Src: /src/cairo/perf/micro/unaligned-clip.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - perf
    argTypes:
    - cairo_perf_t*
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: unaligned_clip_enabled
    functionSourceFile: /src/cairo/perf/micro/unaligned-clip.c
    functionUses: []
    functionsReached:
    - cairo_perf_can_run
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t unaligned_clip_enabled (cairo_perf_t *perf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/unaligned-clip.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - perf
    - cr
    - width
    - height
    argTypes:
    - cairo_perf_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: unaligned_clip
    functionSourceFile: /src/cairo/perf/micro/unaligned-clip.c
    functionUses: []
    functionsReached:
    - cairo_perf_run
    linkageType: ''
    returnType: void
    signature: 'void unaligned_clip (cairo_perf_t *perf, cairo_t *cr, int width, int
      height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cairo/perf/micro/text.c:31,1
    - Dst: cairo_show_text
      Src: /src/cairo/perf/micro/text.c:42,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/text.c:41,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/perf/micro/text.c:35,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/text.c:37,1
    - Dst: cairo_get_current_point
      Src: /src/cairo/perf/micro/text.c:43,1
    - Dst: cairo_status
      Src: /src/cairo/perf/micro/text.c:44,1
    - Dst: cairo_show_text
      Src: /src/cairo/perf/micro/text.c:45,1
    - Dst: cairo_get_current_point
      Src: /src/cairo/perf/micro/text.c:46,1
    - Dst: cairo_status
      Src: /src/cairo/perf/micro/text.c:50,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/text.c:55,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/text.c:53,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 56
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 56
    functionName: do_text
    functionSourceFile: /src/cairo/perf/micro/text.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - cairo_show_text
    - strlen
    - cairo_set_font_size
    - cairo_status
    - cairo_get_current_point
    - cairo_perf_timer_elapsed
    - cairo_move_to
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_text (cairo_t *cr, int width, int height, int
      loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_can_run
      Src: /src/cairo/perf/micro/text.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - perf
    argTypes:
    - cairo_perf_t*
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: text_enabled
    functionSourceFile: /src/cairo/perf/micro/text.c
    functionUses: []
    functionsReached:
    - cairo_perf_can_run
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t text_enabled (cairo_perf_t *perf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_cover_sources_and_operators
      Src: /src/cairo/perf/micro/text.c:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - perf
    - cr
    - width
    - height
    argTypes:
    - cairo_perf_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: text
    functionSourceFile: /src/cairo/perf/micro/text.c
    functionUses: []
    functionsReached:
    - cairo_perf_cover_sources_and_operators
    linkageType: ''
    returnType: void
    signature: 'void text (cairo_perf_t *perf, cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - minval
    - maxval
    argTypes:
    - double
    - double
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: uniform_random
    functionSourceFile: /src/cairo/perf/micro/a1-curve.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: 'static double uniform_random (double minval, double maxval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/a1-curve.c:68,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/a1-curve.c:74,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/a1-curve.c:72,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/a1-curve.c:76,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/a1-curve.c:78,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/a1-curve.c:80,1
    - Dst: cairo_curve_to
      Src: /src/cairo/perf/micro/a1-curve.c:85,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/a1-curve.c:92,1
    - Dst: cairo_curve_to
      Src: /src/cairo/perf/micro/a1-curve.c:86,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/a1-curve.c:84,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/a1-curve.c:71,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/a1-curve.c:94,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/a1-curve.c:73,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/a1-curve.c:75,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/a1-curve.c:77,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/a1-curve.c:79,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/a1-curve.c:81,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/a1-curve.c:82,1
    - Dst: cairo_close_path
      Src: /src/cairo/perf/micro/a1-curve.c:87,1
    - Dst: cairo_fill
      Src: /src/cairo/perf/micro/a1-curve.c:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 95
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 95
    functionName: do_curve_fill
    functionSourceFile: /src/cairo/perf/micro/a1-curve.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - uniform_random
    - cairo_curve_to
    - cairo_close_path
    - cairo_fill
    - cairo_perf_timer_elapsed
    - cairo_move_to
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_curve_fill (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/a1-curve.c:106,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/a1-curve.c:109,1
    - Dst: cairo_set_antialias
      Src: /src/cairo/perf/micro/a1-curve.c:107,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/a1-curve.c:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - perf
    - cr
    - width
    - height
    argTypes:
    - cairo_perf_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 111
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 111
    functionName: a1_curve
    functionSourceFile: /src/cairo/perf/micro/a1-curve.c
    functionUses: []
    functionsReached:
    - cairo_perf_run
    - cairo_set_antialias
    - cairo_set_source_rgb
    linkageType: ''
    returnType: void
    signature: 'void a1_curve (cairo_perf_t *perf, cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_can_run
      Src: /src/cairo/perf/micro/a1-curve.c:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - perf
    argTypes:
    - cairo_perf_t*
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: a1_curve_enabled
    functionSourceFile: /src/cairo/perf/micro/a1-curve.c
    functionUses: []
    functionsReached:
    - cairo_perf_can_run
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t a1_curve_enabled (cairo_perf_t *perf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/micro/a1-curve.c:44,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/a1-curve.c:49,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/a1-curve.c:45,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/a1-curve.c:50,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/a1-curve.c:48,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/a1-curve.c:51,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/a1-curve.c:52,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/a1-curve.c:53,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/a1-curve.c:54,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/a1-curve.c:54,1
    - Dst: cairo_curve_to
      Src: /src/cairo/perf/micro/a1-curve.c:55,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/a1-curve.c:59,1
    - Dst: cairo_stroke
      Src: /src/cairo/perf/micro/a1-curve.c:56,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/a1-curve.c:61,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/a1-curve.c:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 62
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 62
    functionName: do_curve_stroke
    functionSourceFile: /src/cairo/perf/micro/a1-curve.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - uniform_random
    - cairo_set_line_width
    - cairo_curve_to
    - cairo_stroke
    - cairo_perf_timer_elapsed
    - cairo_move_to
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_curve_stroke (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_get_current_point
      Src: /src/cairo/perf/micro/pythagoras-tree.c:37,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/perf/micro/pythagoras-tree.c:40,1
    - Dst: cairo_rel_move_to
      Src: /src/cairo/perf/micro/pythagoras-tree.c:39,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/perf/micro/pythagoras-tree.c:42,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/perf/micro/pythagoras-tree.c:41,1
    - Dst: cairo_close_path
      Src: /src/cairo/perf/micro/pythagoras-tree.c:43,1
    - Dst: cairo_save
      Src: /src/cairo/perf/micro/pythagoras-tree.c:45,1
    - Dst: cairo_translate
      Src: /src/cairo/perf/micro/pythagoras-tree.c:46,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/pythagoras-tree.c:47,1
    - Dst: cairo_rotate
      Src: /src/cairo/perf/micro/pythagoras-tree.c:48,1
    - Dst: cairo_restore
      Src: /src/cairo/perf/micro/pythagoras-tree.c:50,1
    - Dst: cairo_translate
      Src: /src/cairo/perf/micro/pythagoras-tree.c:53,1
    - Dst: add_rectangle
      Src: /src/cairo/perf/micro/pythagoras-tree.c:56,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/pythagoras-tree.c:54,1
    - Dst: cairo_save
      Src: /src/cairo/perf/micro/pythagoras-tree.c:52,1
    - Dst: add_rectangle
      Src: /src/cairo/perf/micro/pythagoras-tree.c:49,1
    - Dst: cairo_rotate
      Src: /src/cairo/perf/micro/pythagoras-tree.c:55,1
    - Dst: cairo_restore
      Src: /src/cairo/perf/micro/pythagoras-tree.c:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 2
    argNames:
    - cr
    - size
    argTypes:
    - cairo_t*
    - double
    constantsTouched: []
    func_position:
      end: 58
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 58
    functionName: add_rectangle
    functionSourceFile: /src/cairo/perf/micro/pythagoras-tree.c
    functionUses: []
    functionsReached:
    - cairo_move_to
    - cairo_rel_line_to
    - cairo_save
    - add_rectangle
    - cairo_close_path
    - cairo_restore
    - cairo_get_current_point
    - cairo_translate
    - cairo_rotate
    - cairo_rel_move_to
    linkageType: ''
    returnType: void
    signature: 'static void add_rectangle (cairo_t *cr, double size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/pythagoras-tree.c:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - perf
    - cr
    - width
    - height
    argTypes:
    - cairo_perf_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: pythagoras_tree
    functionSourceFile: /src/cairo/perf/micro/pythagoras-tree.c
    functionUses: []
    functionsReached:
    - cairo_perf_run
    linkageType: ''
    returnType: void
    signature: 'void pythagoras_tree (cairo_perf_t *perf, cairo_t *cr, int width,
      int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_can_run
      Src: /src/cairo/perf/micro/pythagoras-tree.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - perf
    argTypes:
    - cairo_perf_t*
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: pythagoras_tree_enabled
    functionSourceFile: /src/cairo/perf/micro/pythagoras-tree.c
    functionUses: []
    functionsReached:
    - cairo_perf_can_run
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t pythagoras_tree_enabled (cairo_perf_t *perf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/pythagoras-tree.c:65,1
    - Dst: cairo_save
      Src: /src/cairo/perf/micro/pythagoras-tree.c:68,1
    - Dst: cairo_translate
      Src: /src/cairo/perf/micro/pythagoras-tree.c:69,1
    - Dst: cairo_scale
      Src: /src/cairo/perf/micro/pythagoras-tree.c:70,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/pythagoras-tree.c:72,1
    - Dst: add_rectangle
      Src: /src/cairo/perf/micro/pythagoras-tree.c:73,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/pythagoras-tree.c:74,1
    - Dst: cairo_fill
      Src: /src/cairo/perf/micro/pythagoras-tree.c:75,1
    - Dst: cairo_restore
      Src: /src/cairo/perf/micro/pythagoras-tree.c:76,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/pythagoras-tree.c:79,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/pythagoras-tree.c:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 82
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 82
    functionName: do_pythagoras_tree
    functionSourceFile: /src/cairo/perf/micro/pythagoras-tree.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - cairo_set_source_rgb
    - cairo_save
    - add_rectangle
    - cairo_scale
    - cairo_restore
    - cairo_fill
    - cairo_translate
    - cairo_perf_timer_elapsed
    - cairo_move_to
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_pythagoras_tree (cairo_t *cr, int width, int
      height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/micro/subimage_copy.c:39,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/perf/micro/subimage_copy.c:45,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/subimage_copy.c:42,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/subimage_copy.c:47,1
    - Dst: cairo_set_operator
      Src: /src/cairo/perf/micro/subimage_copy.c:40,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/subimage_copy.c:49,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/subimage_copy.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 52
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 52
    functionName: do_subimage_copy
    functionSourceFile: /src/cairo/perf/micro/subimage_copy.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - cairo_new_path
    - cairo_rectangle
    - cairo_set_operator
    - cairo_perf_timer_elapsed
    - cairo_fill_preserve
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_subimage_copy (cairo_t *cr, int width, int
      height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/subimage_copy.c:66,1
    - Dst: cairo_paint
      Src: /src/cairo/perf/micro/subimage_copy.c:67,1
    - Dst: cairo_create
      Src: /src/cairo/perf/micro/subimage_copy.c:70,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/perf/micro/subimage_copy.c:69,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/subimage_copy.c:71,1
    - Dst: cairo_paint
      Src: /src/cairo/perf/micro/subimage_copy.c:72,1
    - Dst: cairo_destroy
      Src: /src/cairo/perf/micro/subimage_copy.c:73,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/perf/micro/subimage_copy.c:75,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/perf/micro/subimage_copy.c:76,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/subimage_copy.c:78,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - perf
    - cr
    - width
    - height
    argTypes:
    - cairo_perf_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 79
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 79
    functionName: subimage_copy
    functionSourceFile: /src/cairo/perf/micro/subimage_copy.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_perf_run
    - cairo_create
    - cairo_surface_destroy
    - cairo_image_surface_create
    - cairo_set_source_rgb
    - cairo_destroy
    - cairo_set_source_surface
    linkageType: ''
    returnType: void
    signature: 'void subimage_copy (cairo_perf_t *perf, cairo_t *cr, int width, int
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_can_run
      Src: /src/cairo/perf/micro/subimage_copy.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - perf
    argTypes:
    - cairo_perf_t*
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: subimage_copy_enabled
    functionSourceFile: /src/cairo/perf/micro/subimage_copy.c
    functionUses: []
    functionsReached:
    - cairo_perf_can_run
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t subimage_copy_enabled (cairo_perf_t *perf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - minval
    - maxval
    argTypes:
    - double
    - double
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: uniform_random
    functionSourceFile: /src/cairo/perf/micro/intersections.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: 'static double uniform_random (double minval, double maxval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/perf/micro/intersections.c:87,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/intersections.c:88,1
    - Dst: cairo_paint
      Src: /src/cairo/perf/micro/intersections.c:89,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/intersections.c:92,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/intersections.c:93,1
    - Dst: cairo_translate
      Src: /src/cairo/perf/micro/intersections.c:97,1
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/perf/micro/intersections.c:98,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/intersections.c:99,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/intersections.c:101,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/intersections.c:102,1
    - Dst: cairo_curve_to
      Src: /src/cairo/perf/micro/intersections.c:104,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/intersections.c:111,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/intersections.c:114,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/intersections.c:118,1
    - Dst: cairo_restore
      Src: /src/cairo/perf/micro/intersections.c:116,1
    - Dst: cairo_close_path
      Src: /src/cairo/perf/micro/intersections.c:109,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/perf/micro/intersections.c:113,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 42
    argCount: 5
    argNames:
    - cr
    - fill_rule
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - cairo_fill_rule_t
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 119
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 119
    functionName: draw_random_curve
    functionSourceFile: /src/cairo/perf/micro/intersections.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_perf_timer_start
    - uniform_random
    - cairo_perf_timer_elapsed
    - cairo_new_path
    - cairo_set_source_rgb
    - cairo_curve_to
    - cairo_save
    - cairo_close_path
    - cairo_restore
    - cairo_fill_preserve
    - cairo_translate
    - cairo_set_fill_rule
    - cairo_move_to
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: "static cairo_time_t draw_random_curve (cairo_t *cr, cairo_fill_rule_t\
      \ fill_rule,\t\t int width, int height, int loops) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw_random
      Src: /src/cairo/perf/micro/intersections.c:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: random_nz
    functionSourceFile: /src/cairo/perf/micro/intersections.c
    functionUses: []
    functionsReached:
    - draw_random
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t random_nz (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw_random_curve
      Src: /src/cairo/perf/micro/intersections.c:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: random_curve_nz
    functionSourceFile: /src/cairo/perf/micro/intersections.c
    functionUses: []
    functionsReached:
    - draw_random_curve
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t random_curve_nz (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/perf/micro/intersections.c:49,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/intersections.c:55,1
    - Dst: cairo_paint
      Src: /src/cairo/perf/micro/intersections.c:51,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/intersections.c:50,1
    - Dst: uniform_random
      Src: /src/cairo/perf/micro/intersections.c:54,1
    - Dst: cairo_translate
      Src: /src/cairo/perf/micro/intersections.c:59,1
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/perf/micro/intersections.c:60,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/intersections.c:61,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/intersections.c:63,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/intersections.c:64,1
    - Dst: cairo_line_to
      Src: /src/cairo/perf/micro/intersections.c:66,1
    - Dst: cairo_close_path
      Src: /src/cairo/perf/micro/intersections.c:67,1
    - Dst: cairo_restore
      Src: /src/cairo/perf/micro/intersections.c:74,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/intersections.c:76,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/perf/micro/intersections.c:71,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/intersections.c:72,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/intersections.c:69,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 5
    argNames:
    - cr
    - fill_rule
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - cairo_fill_rule_t
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 77
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 77
    functionName: draw_random
    functionSourceFile: /src/cairo/perf/micro/intersections.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_perf_timer_start
    - uniform_random
    - cairo_perf_timer_elapsed
    - cairo_new_path
    - cairo_set_source_rgb
    - cairo_line_to
    - cairo_save
    - cairo_close_path
    - cairo_restore
    - cairo_fill_preserve
    - cairo_translate
    - cairo_set_fill_rule
    - cairo_move_to
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: "static cairo_time_t draw_random (cairo_t *cr, cairo_fill_rule_t fill_rule,\t\
      \ int width, int height, int loops) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw_random
      Src: /src/cairo/perf/micro/intersections.c:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: random_eo
    functionSourceFile: /src/cairo/perf/micro/intersections.c
    functionUses: []
    functionsReached:
    - draw_random
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t random_eo (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw_random_curve
      Src: /src/cairo/perf/micro/intersections.c:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: random_curve_eo
    functionSourceFile: /src/cairo/perf/micro/intersections.c
    functionUses: []
    functionsReached:
    - draw_random_curve
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t random_curve_eo (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_can_run
      Src: /src/cairo/perf/micro/intersections.c:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - perf
    argTypes:
    - cairo_perf_t*
    constantsTouched: []
    func_position:
      end: 149
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 149
    functionName: intersections_enabled
    functionSourceFile: /src/cairo/perf/micro/intersections.c
    functionUses: []
    functionsReached:
    - cairo_perf_can_run
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t intersections_enabled (cairo_perf_t *perf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/intersections.c:154,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/intersections.c:158,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/intersections.c:155,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/intersections.c:157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - perf
    - cr
    - width
    - height
    argTypes:
    - cairo_perf_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: intersections
    functionSourceFile: /src/cairo/perf/micro/intersections.c
    functionUses: []
    functionsReached:
    - cairo_perf_run
    linkageType: ''
    returnType: void
    signature: 'void intersections (cairo_perf_t *perf, cairo_t *cr, int width, int
      height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/rectangles.c:46,1
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/micro/rectangles.c:50,1
    - Dst: cairo_fill
      Src: /src/cairo/perf/micro/rectangles.c:52,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/rectangles.c:58,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/rectangles.c:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 59
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 59
    functionName: do_rectangles
    functionSourceFile: /src/cairo/perf/micro/rectangles.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - cairo_rectangle
    - cairo_fill
    - cairo_perf_timer_elapsed
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_rectangles (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/rectangles.c:85,1
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/micro/rectangles.c:88,1
    - Dst: cairo_fill
      Src: /src/cairo/perf/micro/rectangles.c:89,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/rectangles.c:92,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/rectangles.c:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 95
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 95
    functionName: do_rectangle
    functionSourceFile: /src/cairo/perf/micro/rectangles.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - cairo_rectangle
    - cairo_fill
    - cairo_perf_timer_elapsed
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_rectangle (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/rectangles.c:66,1
    - Dst: cairo_fill
      Src: /src/cairo/perf/micro/rectangles.c:74,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/rectangles.c:77,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/rectangles.c:79,1
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/micro/rectangles.c:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 80
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 80
    functionName: do_rectangles_once
    functionSourceFile: /src/cairo/perf/micro/rectangles.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - cairo_rectangle
    - cairo_fill
    - cairo_perf_timer_elapsed
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_rectangles_once (cairo_t *cr, int width, int
      height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_can_run
      Src: /src/cairo/perf/micro/rectangles.c:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - perf
    argTypes:
    - cairo_perf_t*
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: rectangles_enabled
    functionSourceFile: /src/cairo/perf/micro/rectangles.c
    functionUses: []
    functionsReached:
    - cairo_perf_can_run
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t rectangles_enabled (cairo_perf_t *perf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/cairo/perf/micro/rectangles.c:108,1
    - Dst: rand
      Src: /src/cairo/perf/micro/rectangles.c:113,1
    - Dst: rand
      Src: /src/cairo/perf/micro/rectangles.c:111,1
    - Dst: rand
      Src: /src/cairo/perf/micro/rectangles.c:112,1
    - Dst: rand
      Src: /src/cairo/perf/micro/rectangles.c:114,1
    - Dst: MODE
      Src: /src/cairo/perf/micro/rectangles.c:117,1
    - Dst: MODE
      Src: /src/cairo/perf/micro/rectangles.c:118,1
    - Dst: MODE
      Src: /src/cairo/perf/micro/rectangles.c:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 4
    argNames:
    - perf
    - cr
    - width
    - height
    argTypes:
    - cairo_perf_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 120
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 120
    functionName: rectangles
    functionSourceFile: /src/cairo/perf/micro/rectangles.c
    functionUses: []
    functionsReached:
    - MODE
    - srand
    - rand
    linkageType: ''
    returnType: void
    signature: 'void rectangles (cairo_perf_t *perf, cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/pixel.c:111,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/pixel.c:114,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/pixel.c:119,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/perf/micro/pixel.c:117,1
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/micro/pixel.c:112,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/pixel.c:121,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/pixel.c:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 123
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 123
    functionName: pixel_rectangle
    functionSourceFile: /src/cairo/perf/micro/pixel.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - cairo_new_path
    - cairo_rectangle
    - cairo_perf_timer_elapsed
    - cairo_fill_preserve
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t pixel_rectangle (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/pixel.c:72,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/pixel.c:79,1
    - Dst: cairo_paint
      Src: /src/cairo/perf/micro/pixel.c:75,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/pixel.c:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 80
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 80
    functionName: pixel_paint
    functionSourceFile: /src/cairo/perf/micro/pixel.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_elapsed
    - cairo_paint
    - cairo_perf_timer_start
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t pixel_paint (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/pixel.c:145,1
    - Dst: cairo_line_to
      Src: /src/cairo/perf/micro/pixel.c:148,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/pixel.c:150,1
    - Dst: cairo_line_to
      Src: /src/cairo/perf/micro/pixel.c:147,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/pixel.c:146,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/perf/micro/pixel.c:153,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/pixel.c:155,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/pixel.c:157,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/pixel.c:158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 159
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 159
    functionName: pixel_triangle
    functionSourceFile: /src/cairo/perf/micro/pixel.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - cairo_new_path
    - cairo_line_to
    - cairo_fill_preserve
    - cairo_perf_timer_elapsed
    - cairo_move_to
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t pixel_triangle (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/micro/pixel.c:181,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/pixel.c:182,1
    - Dst: cairo_line_to
      Src: /src/cairo/perf/micro/pixel.c:184,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/pixel.c:183,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/pixel.c:186,1
    - Dst: cairo_stroke_preserve
      Src: /src/cairo/perf/micro/pixel.c:189,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/pixel.c:191,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/pixel.c:193,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/pixel.c:194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 195
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 195
    functionName: pixel_stroke
    functionSourceFile: /src/cairo/perf/micro/pixel.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - cairo_perf_timer_elapsed
    - cairo_new_path
    - cairo_set_line_width
    - cairo_line_to
    - cairo_stroke_preserve
    - cairo_move_to
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t pixel_stroke (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/pixel.c:206,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/pixel.c:210,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/pixel.c:208,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/pixel.c:211,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/pixel.c:209,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/pixel.c:212,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/pixel.c:213,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/pixel.c:214,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/pixel.c:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - perf
    - cr
    - width
    - height
    argTypes:
    - cairo_perf_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 216
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 216
    functionName: pixel
    functionSourceFile: /src/cairo/perf/micro/pixel.c
    functionUses: []
    functionsReached:
    - cairo_perf_run
    - cairo_set_source_rgb
    linkageType: ''
    returnType: void
    signature: 'void pixel (cairo_perf_t *perf, cairo_t *cr, int width, int height) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: cairo_get_target
      Src: /src/cairo/perf/micro/pixel.c:39,1
    - Dst: cairo_image_surface_get_stride
      Src: /src/cairo/perf/micro/pixel.c:42,1
    - Dst: cairo_surface_map_to_image
      Src: /src/cairo/perf/micro/pixel.c:40,1
    - Dst: cairo_image_surface_get_format
      Src: /src/cairo/perf/micro/pixel.c:44,1
    - Dst: cairo_image_surface_get_data
      Src: /src/cairo/perf/micro/pixel.c:41,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/pixel.c:57,1
    - Dst: pixman_fill
      Src: /src/cairo/perf/micro/pixel.c:60,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/pixel.c:62,1
    - Dst: cairo_surface_unmap_image
      Src: /src/cairo/perf/micro/pixel.c:64,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/pixel.c:66,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 23
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 67
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 67
    functionName: pixel_direct
    functionSourceFile: /src/cairo/perf/micro/pixel.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - cairo_image_surface_get_data
    - cairo_image_surface_get_format
    - pixman_fill
    - cairo_get_target
    - cairo_surface_unmap_image
    - cairo_perf_timer_elapsed
    - cairo_image_surface_get_stride
    - cairo_surface_map_to_image
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t pixel_direct (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/pixel.c:128,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/perf/micro/pixel.c:134,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/pixel.c:136,1
    - Dst: cairo_rectangle
      Src: /src/cairo/perf/micro/pixel.c:129,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/pixel.c:131,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/pixel.c:138,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/pixel.c:139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 140
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 140
    functionName: pixel_subrectangle
    functionSourceFile: /src/cairo/perf/micro/pixel.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - cairo_new_path
    - cairo_rectangle
    - cairo_perf_timer_elapsed
    - cairo_fill_preserve
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t pixel_subrectangle (cairo_t *cr, int width, int
      height, int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/perf/micro/pixel.c:88,1
    - Dst: cairo_get_target
      Src: /src/cairo/perf/micro/pixel.c:88,1
    - Dst: cairo_paint
      Src: /src/cairo/perf/micro/pixel.c:93,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/pixel.c:92,1
    - Dst: cairo_create
      Src: /src/cairo/perf/micro/pixel.c:91,1
    - Dst: cairo_destroy
      Src: /src/cairo/perf/micro/pixel.c:94,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/pixel.c:96,1
    - Dst: cairo_mask_surface
      Src: /src/cairo/perf/micro/pixel.c:99,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/pixel.c:101,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/perf/micro/pixel.c:103,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/pixel.c:105,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 106
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 106
    functionName: pixel_mask
    functionSourceFile: /src/cairo/perf/micro/pixel.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_perf_timer_start
    - cairo_mask_surface
    - cairo_perf_timer_elapsed
    - cairo_create
    - cairo_surface_destroy
    - cairo_get_target
    - cairo_set_source_rgb
    - cairo_destroy
    - cairo_surface_create_similar
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t pixel_mask (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/pixel.c:164,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/pixel.c:167,1
    - Dst: cairo_arc
      Src: /src/cairo/perf/micro/pixel.c:165,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/pixel.c:172,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/perf/micro/pixel.c:170,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/pixel.c:174,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/pixel.c:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 176
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 176
    functionName: pixel_circle
    functionSourceFile: /src/cairo/perf/micro/pixel.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - cairo_new_path
    - cairo_arc
    - cairo_perf_timer_elapsed
    - cairo_fill_preserve
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t pixel_circle (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_can_run
      Src: /src/cairo/perf/micro/pixel.c:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - perf
    argTypes:
    - cairo_perf_t*
    constantsTouched: []
    func_position:
      end: 201
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 201
    functionName: pixel_enabled
    functionSourceFile: /src/cairo/perf/micro/pixel.c
    functionUses: []
    functionsReached:
    - cairo_perf_can_run
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t pixel_enabled (cairo_perf_t *perf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_can_run
      Src: /src/cairo/perf/micro/pixel.c:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - perf
    argTypes:
    - cairo_perf_t*
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: a1_pixel_enabled
    functionSourceFile: /src/cairo/perf/micro/pixel.c
    functionUses: []
    functionsReached:
    - cairo_perf_can_run
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t a1_pixel_enabled (cairo_perf_t *perf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/perf/micro/pixel.c:227,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/pixel.c:231,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/pixel.c:232,1
    - Dst: cairo_set_antialias
      Src: /src/cairo/perf/micro/pixel.c:228,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/pixel.c:230,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/pixel.c:233,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/pixel.c:234,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/pixel.c:235,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/pixel.c:236,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/pixel.c:237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - perf
    - cr
    - width
    - height
    argTypes:
    - cairo_perf_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 238
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 238
    functionName: a1_pixel
    functionSourceFile: /src/cairo/perf/micro/pixel.c
    functionUses: []
    functionsReached:
    - cairo_perf_run
    - cairo_set_antialias
    - cairo_set_source_rgb
    linkageType: ''
    returnType: void
    signature: 'void a1_pixel (cairo_perf_t *perf, cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rounded_rectangle
      Src: /src/cairo/perf/micro/stroke.c:66,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/stroke.c:76,1
    - Dst: cairo_stroke_preserve
      Src: /src/cairo/perf/micro/stroke.c:79,1
    - Dst: rounded_rectangle
      Src: /src/cairo/perf/micro/stroke.c:69,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/micro/stroke.c:74,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/stroke.c:81,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/stroke.c:83,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/stroke.c:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 86
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 86
    functionName: do_strokes
    functionSourceFile: /src/cairo/perf/micro/stroke.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - cairo_perf_timer_elapsed
    - cairo_new_path
    - cairo_set_line_width
    - cairo_stroke_preserve
    - rounded_rectangle
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_strokes (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_arc
      Src: /src/cairo/perf/micro/stroke.c:30,1
    - Dst: cairo_stroke_preserve
      Src: /src/cairo/perf/micro/stroke.c:41,1
    - Dst: cairo_close_path
      Src: /src/cairo/perf/micro/stroke.c:34,1
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/stroke.c:38,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/perf/micro/stroke.c:36,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/stroke.c:43,1
    - Dst: cairo_new_path
      Src: /src/cairo/perf/micro/stroke.c:45,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/stroke.c:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 48
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 48
    functionName: do_stroke
    functionSourceFile: /src/cairo/perf/micro/stroke.c
    functionUses: []
    functionsReached:
    - cairo_perf_timer_start
    - cairo_perf_timer_elapsed
    - cairo_new_path
    - cairo_set_line_width
    - cairo_arc
    - cairo_close_path
    - cairo_stroke_preserve
    - cairo_perf_timer_stop
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_stroke (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/stroke.c:55,1
    - Dst: cairo_arc
      Src: /src/cairo/perf/micro/stroke.c:56,1
    - Dst: cairo_arc
      Src: /src/cairo/perf/micro/stroke.c:59,1
    - Dst: cairo_arc
      Src: /src/cairo/perf/micro/stroke.c:58,1
    - Dst: cairo_arc
      Src: /src/cairo/perf/micro/stroke.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 6
    argNames:
    - cr
    - x
    - y
    - w
    - h
    - radius
    argTypes:
    - cairo_t*
    - double
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 60
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 60
    functionName: rounded_rectangle
    functionSourceFile: /src/cairo/perf/micro/stroke.c
    functionUses: []
    functionsReached:
    - cairo_arc
    - cairo_move_to
    linkageType: ''
    returnType: void
    signature: "static void rounded_rectangle (cairo_t *cr,\t\t double x, double y,\
      \ double w, double h,\t\t double radius) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_can_run
      Src: /src/cairo/perf/micro/stroke.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - perf
    argTypes:
    - cairo_perf_t*
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: stroke_enabled
    functionSourceFile: /src/cairo/perf/micro/stroke.c
    functionUses: []
    functionsReached:
    - cairo_perf_can_run
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t stroke_enabled (cairo_perf_t *perf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_cover_sources_and_operators
      Src: /src/cairo/perf/micro/stroke.c:97,1
    - Dst: cairo_perf_cover_sources_and_operators
      Src: /src/cairo/perf/micro/stroke.c:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 4
    argNames:
    - perf
    - cr
    - width
    - height
    argTypes:
    - cairo_perf_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: stroke
    functionSourceFile: /src/cairo/perf/micro/stroke.c
    functionUses: []
    functionsReached:
    - cairo_perf_cover_sources_and_operators
    linkageType: ''
    returnType: void
    signature: 'void stroke (cairo_perf_t *perf, cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_antialias
      Src: /src/cairo/perf/micro/tiger.c:98,1
    - Dst: do_tiger
      Src: /src/cairo/perf/micro/tiger.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: do_best_tiger
    functionSourceFile: /src/cairo/perf/micro/tiger.c
    functionUses: []
    functionsReached:
    - do_tiger
    - cairo_set_antialias
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_best_tiger (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_antialias
      Src: /src/cairo/perf/micro/tiger.c:84,1
    - Dst: do_tiger
      Src: /src/cairo/perf/micro/tiger.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: do_mono_tiger
    functionSourceFile: /src/cairo/perf/micro/tiger.c
    functionUses: []
    functionsReached:
    - do_tiger
    - cairo_set_antialias
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_mono_tiger (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_timer_start
      Src: /src/cairo/perf/micro/tiger.c:39,1
    - Dst: cairo_identity_matrix
      Src: /src/cairo/perf/micro/tiger.c:42,1
    - Dst: cairo_set_operator
      Src: /src/cairo/perf/micro/tiger.c:44,1
    - Dst: cairo_paint
      Src: /src/cairo/perf/micro/tiger.c:46,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/perf/micro/tiger.c:45,1
    - Dst: cairo_set_operator
      Src: /src/cairo/perf/micro/tiger.c:47,1
    - Dst: cairo_translate
      Src: /src/cairo/perf/micro/tiger.c:49,1
    - Dst: cairo_scale
      Src: /src/cairo/perf/micro/tiger.c:50,1
    - Dst: cairo_move_to
      Src: /src/cairo/perf/micro/tiger.c:56,1
    - Dst: cairo_line_to
      Src: /src/cairo/perf/micro/tiger.c:59,1
    - Dst: cairo_perf_timer_elapsed
      Src: /src/cairo/perf/micro/tiger.c:78,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/perf/micro/tiger.c:68,1
    - Dst: cairo_perf_timer_stop
      Src: /src/cairo/perf/micro/tiger.c:76,1
    - Dst: cairo_fill
      Src: /src/cairo/perf/micro/tiger.c:70,1
    - Dst: cairo_curve_to
      Src: /src/cairo/perf/micro/tiger.c:62,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 79
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 79
    functionName: do_tiger
    functionSourceFile: /src/cairo/perf/micro/tiger.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_perf_timer_start
    - cairo_set_source_rgba
    - cairo_line_to
    - cairo_curve_to
    - cairo_perf_timer_stop
    - cairo_scale
    - cairo_set_operator
    - cairo_fill
    - cairo_translate
    - cairo_perf_timer_elapsed
    - cairo_move_to
    - cairo_identity_matrix
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_tiger (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_antialias
      Src: /src/cairo/perf/micro/tiger.c:91,1
    - Dst: do_tiger
      Src: /src/cairo/perf/micro/tiger.c:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 4
    argNames:
    - cr
    - width
    - height
    - loops
    argTypes:
    - cairo_t*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: do_fast_tiger
    functionSourceFile: /src/cairo/perf/micro/tiger.c
    functionUses: []
    functionsReached:
    - do_tiger
    - cairo_set_antialias
    linkageType: ''
    returnType: cairo_time_t
    signature: 'static cairo_time_t do_fast_tiger (cairo_t *cr, int width, int height,
      int loops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_can_run
      Src: /src/cairo/perf/micro/tiger.c:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - perf
    argTypes:
    - cairo_perf_t*
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: tiger_enabled
    functionSourceFile: /src/cairo/perf/micro/tiger.c
    functionUses: []
    functionsReached:
    - cairo_perf_can_run
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'cairo_bool_t tiger_enabled (cairo_perf_t *perf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/tiger.c:111,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/tiger.c:112,1
    - Dst: cairo_perf_run
      Src: /src/cairo/perf/micro/tiger.c:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - perf
    - cr
    - width
    - height
    argTypes:
    - cairo_perf_t*
    - cairo_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: tiger
    functionSourceFile: /src/cairo/perf/micro/tiger.c
    functionUses: []
    functionsReached:
    - cairo_perf_run
    linkageType: ''
    returnType: void
    signature: 'void tiger (cairo_perf_t *perf, cairo_t *cr, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTK_WIDGET_SET_FLAGS
      Src: /src/cairo/util/show-events.c:559,1
    - Dst: gtk_widget_get_visual
      Src: /src/cairo/util/show-events.c:567,1
    - Dst: gdk_window_new
      Src: /src/cairo/util/show-events.c:578,1
    - Dst: gtk_widget_get_events
      Src: /src/cairo/util/show-events.c:569,1
    - Dst: gtk_widget_get_colormap
      Src: /src/cairo/util/show-events.c:568,1
    - Dst: gtk_widget_get_parent_window
      Src: /src/cairo/util/show-events.c:578,1
    - Dst: gdk_window_set_user_data
      Src: /src/cairo/util/show-events.c:582,1
    - Dst: gtk_style_attach
      Src: /src/cairo/util/show-events.c:584,1
    - Dst: gtk_style_set_background
      Src: /src/cairo/util/show-events.c:585,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 1
    argNames:
    - widget
    argTypes:
    - GtkWidget*
    constantsTouched: []
    func_position:
      end: 586
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 586
    functionName: event_view_realize
    functionSourceFile: /src/cairo/util/show-events.c
    functionUses: []
    functionsReached:
    - gtk_style_attach
    - gtk_widget_get_colormap
    - gtk_widget_get_visual
    - gtk_style_set_background
    - gtk_widget_get_parent_window
    - GTK_WIDGET_SET_FLAGS
    - gdk_window_new
    - gdk_window_set_user_data
    - gtk_widget_get_events
    linkageType: ''
    returnType: void
    signature: 'static void event_view_realize (GtkWidget *widget) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/cairo/util/show-events.c:706,1
    - Dst: g_hash_table_new
      Src: /src/cairo/util/show-events.c:707,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 712
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 712
    functionName: edges_new
    functionSourceFile: /src/cairo/util/show-events.c
    functionUses: []
    functionsReached:
    - g_hash_table_new
    - g_malloc
    linkageType: ''
    returnType: edges_t*
    signature: 'static edges_t *edges_new (void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/cairo/util/show-events.c:780,1
    - Dst: _events_add_event
      Src: /src/cairo/util/show-events.c:799,1
    - Dst: g_str_has_prefix
      Src: /src/cairo/util/show-events.c:785,1
    - Dst: g_strstrip
      Src: /src/cairo/util/show-events.c:754,1
    - Dst: events_new
      Src: /src/cairo/util/show-events.c:752,1
    - Dst: _edges_add_edge
      Src: /src/cairo/util/show-events.c:772,1
    - Dst: g_str_has_prefix
      Src: /src/cairo/util/show-events.c:775,1
    - Dst: _events_add_event
      Src: /src/cairo/util/show-events.c:784,1
    - Dst: g_str_has_prefix
      Src: /src/cairo/util/show-events.c:792,1
    - Dst: events_new
      Src: /src/cairo/util/show-events.c:756,1
    - Dst: g_str_has_prefix
      Src: /src/cairo/util/show-events.c:759,1
    - Dst: sscanf
      Src: /src/cairo/util/show-events.c:762,1
    - Dst: fclose
      Src: /src/cairo/util/show-events.c:806,1
    - Dst: _events_add_event
      Src: /src/cairo/util/show-events.c:791,1
    - Dst: fopen
      Src: /src/cairo/util/show-events.c:746,1
    - Dst: getline
      Src: /src/cairo/util/show-events.c:753,1
    - Dst: sscanf
      Src: /src/cairo/util/show-events.c:796,1
    - Dst: sscanf
      Src: /src/cairo/util/show-events.c:789,1
    - Dst: free
      Src: /src/cairo/util/show-events.c:805,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 2
    argNames:
    - ev
    - filename
    argTypes:
    - EventView*
    - char*
    constantsTouched: []
    func_position:
      end: 808
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 808
    functionName: events_read
    functionSourceFile: /src/cairo/util/show-events.c
    functionUses: []
    functionsReached:
    - getline
    - _edges_add_edge
    - _events_add_event
    - fclose
    - free
    - sscanf
    - events_new
    - g_str_has_prefix
    - fopen
    - g_strstrip
    linkageType: ''
    returnType: void
    signature: 'static void events_read (EventView *ev, const char *filename) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_UINT
      Src: /src/cairo/util/show-events.c:95,1
    - Dst: g_hash_table_lookup
      Src: /src/cairo/util/show-events.c:95,1
    - Dst: GUINT_TO_POINTER
      Src: /src/cairo/util/show-events.c:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: edges_lookup
    functionSourceFile: /src/cairo/util/show-events.c
    functionUses: []
    functionsReached:
    - GUINT_TO_POINTER
    - GPOINTER_TO_UINT
    - g_hash_table_lookup
    linkageType: ''
    returnType: edge_t*
    signature: 'static edge_t *edges_lookup (edges_t *edges, gulong id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTK_WIDGET_CLASS
      Src: /src/cairo/util/show-events.c:593,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - w
    - r
    argTypes:
    - GtkWidget*
    - GdkRectangle*
    constantsTouched: []
    func_position:
      end: 597
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 597
    functionName: event_view_size_allocate
    functionSourceFile: /src/cairo/util/show-events.c
    functionUses: []
    functionsReached:
    - GTK_WIDGET_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void event_view_size_allocate (GtkWidget *w, GdkRectangle *r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/cairo/util/show-events.c:719,1
    - Dst: traps_new
      Src: /src/cairo/util/show-events.c:730,1
    - Dst: edges_new
      Src: /src/cairo/util/show-events.c:729,1
    - Dst: g_new
      Src: /src/cairo/util/show-events.c:724,1
    - Dst: traps_new
      Src: /src/cairo/util/show-events.c:731,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 739
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 739
    functionName: events_new
    functionSourceFile: /src/cairo/util/show-events.c
    functionUses: []
    functionsReached:
    - edges_new
    - traps_new
    - g_new
    - g_malloc
    linkageType: ''
    returnType: events_t*
    signature: 'static events_t *events_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_next
      Src: /src/cairo/util/show-events.c:813,1
    - Dst: gtk_widget_queue_draw
      Src: /src/cairo/util/show-events.c:814,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - EventView*
    constantsTouched: []
    func_position:
      end: 816
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 816
    functionName: timeout_advance
    functionSourceFile: /src/cairo/util/show-events.c
    functionUses: []
    functionsReached:
    - gtk_widget_queue_draw
    - event_next
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean timeout_advance (EventView *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - EventView*
    constantsTouched: []
    func_position:
      end: 626
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 626
    functionName: event_view_init
    functionSourceFile: /src/cairo/util/show-events.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void event_view_init (EventView *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/cairo/util/show-events.c:633,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 639
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 639
    functionName: traps_new
    functionSourceFile: /src/cairo/util/show-events.c
    functionUses: []
    functionsReached:
    - g_malloc
    linkageType: ''
    returnType: traps_t*
    signature: 'static traps_t *traps_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk_init
      Src: /src/cairo/util/show-events.c:824,1
    - Dst: event_view_get_type
      Src: /src/cairo/util/show-events.c:828,1
    - Dst: g_object_new
      Src: /src/cairo/util/show-events.c:828,1
    - Dst: gtk_hbox_new
      Src: /src/cairo/util/show-events.c:826,1
    - Dst: gtk_box_pack_start
      Src: /src/cairo/util/show-events.c:829,1
    - Dst: GTK_BOX
      Src: /src/cairo/util/show-events.c:829,1
    - Dst: gtk_widget_show
      Src: /src/cairo/util/show-events.c:830,1
    - Dst: events_read
      Src: /src/cairo/util/show-events.c:832,1
    - Dst: g_timeout_add
      Src: /src/cairo/util/show-events.c:833,1
    - Dst: gtk_window_new
      Src: /src/cairo/util/show-events.c:835,1
    - Dst: gtk_widget_set_size_request
      Src: /src/cairo/util/show-events.c:836,1
    - Dst: G_CALLBACK
      Src: /src/cairo/util/show-events.c:838,1
    - Dst: g_signal_connect
      Src: /src/cairo/util/show-events.c:837,1
    - Dst: GTK_CONTAINER
      Src: /src/cairo/util/show-events.c:839,1
    - Dst: gtk_widget_show
      Src: /src/cairo/util/show-events.c:841,1
    - Dst: gtk_main
      Src: /src/cairo/util/show-events.c:843,1
    - Dst: gtk_container_add
      Src: /src/cairo/util/show-events.c:839,1
    - Dst: gtk_widget_show
      Src: /src/cairo/util/show-events.c:840,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 845
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 845
    functionName: main
    functionSourceFile: /src/cairo/util/show-events.c
    functionUses: []
    functionsReached:
    - event_view_get_type
    - GTK_BOX
    - g_object_new
    - gtk_init
    - gtk_widget_show
    - gtk_window_new
    - gtk_container_add
    - gtk_widget_set_size_request
    - gtk_box_pack_start
    - G_CALLBACK
    - g_timeout_add
    - gtk_main
    - events_read
    - gtk_hbox_new
    - g_signal_connect
    - GTK_CONTAINER
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gdk_cairo_create
      Src: /src/cairo/util/show-events.c:391,1
    - Dst: event_view_draw_labels
      Src: /src/cairo/util/show-events.c:396,1
    - Dst: gdk_cairo_region
      Src: /src/cairo/util/show-events.c:392,1
    - Dst: cairo_clip
      Src: /src/cairo/util/show-events.c:393,1
    - Dst: event_view_draw
      Src: /src/cairo/util/show-events.c:395,1
    - Dst: cairo_destroy
      Src: /src/cairo/util/show-events.c:398,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - w
    - ev
    argTypes:
    - GtkWidget*
    - GdkEventExpose*
    constantsTouched: []
    func_position:
      end: 400
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 400
    functionName: event_view_expose
    functionSourceFile: /src/cairo/util/show-events.c
    functionUses: []
    functionsReached:
    - gdk_cairo_create
    - event_view_draw_labels
    - event_view_draw
    - cairo_destroy
    - cairo_clip
    - gdk_cairo_region
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean event_view_expose (GtkWidget *w, GdkEventExpose *ev) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-events.c:649,1
    - Dst: g_realloc
      Src: /src/cairo/util/show-events.c:664,1
    - Dst: GUINT_TO_POINTER
      Src: /src/cairo/util/show-events.c:669,1
    - Dst: g_hash_table_insert
      Src: /src/cairo/util/show-events.c:668,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-events.c:650,1
    - Dst: GUINT_TO_POINTER
      Src: /src/cairo/util/show-events.c:670,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 674
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 674
    functionName: _edges_add_edge
    functionSourceFile: /src/cairo/util/show-events.c
    functionUses: []
    functionsReached:
    - g_realloc
    - _compute_intersection_point
    - GUINT_TO_POINTER
    - g_hash_table_insert
    linkageType: ''
    returnType: edges_t*
    signature: 'static edges_t *_edges_add_edge (edges_t *edges, edge_t *e, box_t
      *extents) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - traps
    argTypes:
    - traps_t*
    constantsTouched: []
    func_position:
      end: 406
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 406
    functionName: traps_clear
    functionSourceFile: /src/cairo/util/show-events.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void traps_clear (traps_t *traps) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_renew
      Src: /src/cairo/util/show-events.c:688,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 6
    argNames:
    - events
    - type
    - x
    - y
    - e1
    - e2
    argTypes:
    - events_t*
    - int
    - int
    - int
    - gulong
    - gulong
    constantsTouched: []
    func_position:
      end: 699
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 699
    functionName: _events_add_event
    functionSourceFile: /src/cairo/util/show-events.c
    functionUses: []
    functionsReached:
    - g_renew
    linkageType: ''
    returnType: void
    signature: "static void _events_add_event (events_t *events,\t\t int type,\t\t\
      \ int x, int y,\t\t gulong e1, gulong e2) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/util/show-events.c:133,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/util/show-events.c:137,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-events.c:134,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-events.c:141,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-events.c:138,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-events.c:143,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - cr
    - m
    - e
    argTypes:
    - cairo_t*
    - cairo_matrix_t*
    - edge_t*
    constantsTouched: []
    func_position:
      end: 145
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 145
    functionName: _edge_path
    functionSourceFile: /src/cairo/util/show-events.c
    functionUses: []
    functionsReached:
    - cairo_line_to
    - cairo_move_to
    - cairo_matrix_transform_point
    - cairo_set_source_rgb
    linkageType: ''
    returnType: void
    signature: 'static void _edge_path (cairo_t *cr, const cairo_matrix_t *m, const
      edge_t *e) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - line
    - y
    argTypes:
    - line_t*
    - gdouble
    constantsTouched: []
    func_position:
      end: 117
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 117
    functionName: _compute_intersection_x_for_y
    functionSourceFile: /src/cairo/util/show-events.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gdouble
    signature: "static gdouble _compute_intersection_x_for_y (const line_t *line,\t\
      \t\t gdouble y) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_save
      Src: /src/cairo/util/show-events.c:303,1
    - Dst: cairo_paint
      Src: /src/cairo/util/show-events.c:305,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-events.c:304,1
    - Dst: cairo_matrix_init_scale
      Src: /src/cairo/util/show-events.c:331,1
    - Dst: _events_draw
      Src: /src/cairo/util/show-events.c:333,1
    - Dst: cairo_translate
      Src: /src/cairo/util/show-events.c:348,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-events.c:362,1
    - Dst: cairo_rectangle
      Src: /src/cairo/util/show-events.c:341,1
    - Dst: cairo_clip
      Src: /src/cairo/util/show-events.c:345,1
    - Dst: _events_draw
      Src: /src/cairo/util/show-events.c:352,1
    - Dst: cairo_matrix_init_scale
      Src: /src/cairo/util/show-events.c:350,1
    - Dst: fmod
      Src: /src/cairo/util/show-events.c:359,1
    - Dst: fmod
      Src: /src/cairo/util/show-events.c:360,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-events.c:363,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-events.c:365,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/util/show-events.c:368,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-events.c:369,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/util/show-events.c:332,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-events.c:336,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/util/show-events.c:344,1
    - Dst: cairo_stroke_preserve
      Src: /src/cairo/util/show-events.c:342,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-events.c:343,1
    - Dst: cairo_translate
      Src: /src/cairo/util/show-events.c:358,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/util/show-events.c:367,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-events.c:370,1
    - Dst: MIN
      Src: /src/cairo/util/show-events.c:320,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-events.c:306,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/util/show-events.c:351,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-events.c:355,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-events.c:364,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-events.c:371,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 125
    argCount: 2
    argNames:
    - self
    - cr
    argTypes:
    - EventView*
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 372
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 372
    functionName: event_view_draw
    functionSourceFile: /src/cairo/util/show-events.c
    functionUses: []
    functionsReached:
    - cairo_set_line_width
    - cairo_matrix_init_scale
    - cairo_translate
    - cairo_fill_preserve
    - cairo_rectangle
    - cairo_set_source_rgba
    - cairo_matrix_translate
    - cairo_save
    - cairo_stroke_preserve
    - cairo_clip
    - cairo_line_to
    - MIN
    - cairo_stroke
    - cairo_restore
    - _events_draw
    - cairo_paint
    - fmod
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: void
    signature: 'static void event_view_draw (EventView *self, cairo_t *cr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_realloc
      Src: /src/cairo/util/show-events.c:415,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 431
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 431
    functionName: traps_add
    functionSourceFile: /src/cairo/util/show-events.c
    functionUses: []
    functionsReached:
    - g_realloc
    linkageType: ''
    returnType: traps_t*
    signature: 'static traps_t *traps_add (traps_t *traps, int top, int bot, const
      edge_t *e1, const edge_t *e2) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: traps_clear
      Src: /src/cairo/util/show-events.c:461,1
    - Dst: edges_lookup
      Src: /src/cairo/util/show-events.c:477,1
    - Dst: traps_clear
      Src: /src/cairo/util/show-events.c:462,1
    - Dst: traps_add
      Src: /src/cairo/util/show-events.c:474,1
    - Dst: edges_lookup
      Src: /src/cairo/util/show-events.c:476,1
    - Dst: traps_remove
      Src: /src/cairo/util/show-events.c:480,1
    - Dst: edges_lookup
      Src: /src/cairo/util/show-events.c:482,1
    - Dst: edges_lookup
      Src: /src/cairo/util/show-events.c:483,1
    - Dst: traps_add
      Src: /src/cairo/util/show-events.c:484,1
    - Dst: edges_lookup
      Src: /src/cairo/util/show-events.c:486,1
    - Dst: edges_lookup
      Src: /src/cairo/util/show-events.c:487,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 1
    argNames:
    - self
    argTypes:
    - EventView*
    constantsTouched: []
    func_position:
      end: 490
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 490
    functionName: event_next
    functionSourceFile: /src/cairo/util/show-events.c
    functionUses: []
    functionsReached:
    - traps_remove
    - traps_clear
    - edges_lookup
    - traps_add
    linkageType: ''
    returnType: void
    signature: 'static void event_next (EventView *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - w
    - ev
    argTypes:
    - GtkWidget*
    - GdkEventButton*
    constantsTouched: []
    func_position:
      end: 525
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 525
    functionName: event_view_button_release
    functionSourceFile: /src/cairo/util/show-events.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean event_view_button_release (GtkWidget *w, GdkEventButton
      *ev) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/cairo/util/show-events.c:602,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 603
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 603
    functionName: event_view_finalize
    functionSourceFile: /src/cairo/util/show-events.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void event_view_finalize (GObject *obj) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-events.c:165,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-events.c:168,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-events.c:181,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-events.c:185,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-events.c:192,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/util/show-events.c:199,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-events.c:200,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-events.c:204,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/util/show-events.c:210,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/util/show-events.c:217,1
    - Dst: cairo_fill
      Src: /src/cairo/util/show-events.c:224,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-events.c:263,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-events.c:286,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-events.c:266,1
    - Dst: _edge_path
      Src: /src/cairo/util/show-events.c:285,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-events.c:260,1
    - Dst: _edge_path
      Src: /src/cairo/util/show-events.c:277,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-events.c:162,1
    - Dst: cairo_set_matrix
      Src: /src/cairo/util/show-events.c:156,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-events.c:167,1
    - Dst: cairo_fill
      Src: /src/cairo/util/show-events.c:171,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-events.c:178,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-events.c:183,1
    - Dst: cairo_fill
      Src: /src/cairo/util/show-events.c:187,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-events.c:189,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/util/show-events.c:193,1
    - Dst: cairo_set_dash
      Src: /src/cairo/util/show-events.c:208,1
    - Dst: edges_lookup
      Src: /src/cairo/util/show-events.c:285,1
    - Dst: edges_lookup
      Src: /src/cairo/util/show-events.c:277,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/util/show-events.c:274,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-events.c:244,1
    - Dst: _edge_path
      Src: /src/cairo/util/show-events.c:287,1
    - Dst: edges_lookup
      Src: /src/cairo/util/show-events.c:287,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-events.c:164,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-events.c:169,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-events.c:180,1
    - Dst: cairo_close_path
      Src: /src/cairo/util/show-events.c:170,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-events.c:184,1
    - Dst: cairo_close_path
      Src: /src/cairo/util/show-events.c:186,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/util/show-events.c:203,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/util/show-events.c:207,1
    - Dst: cairo_arc
      Src: /src/cairo/util/show-events.c:222,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-events.c:226,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-events.c:288,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-events.c:291,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-events.c:240,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/util/show-events.c:247,1
    - Dst: fmod
      Src: /src/cairo/util/show-events.c:208,1
    - Dst: cairo_arc
      Src: /src/cairo/util/show-events.c:252,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/util/show-events.c:221,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-events.c:278,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-events.c:155,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/util/show-events.c:158,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-events.c:163,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-events.c:166,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-events.c:179,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-events.c:182,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/util/show-events.c:174,1
    - Dst: cairo_set_dash
      Src: /src/cairo/util/show-events.c:211,1
    - Dst: fmod
      Src: /src/cairo/util/show-events.c:211,1
    - Dst: cairo_arc
      Src: /src/cairo/util/show-events.c:218,1
    - Dst: cairo_identity_matrix
      Src: /src/cairo/util/show-events.c:243,1
    - Dst: cairo_fill
      Src: /src/cairo/util/show-events.c:272,1
    - Dst: _edge_path
      Src: /src/cairo/util/show-events.c:281,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-events.c:282,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/util/show-events.c:235,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-events.c:229,1
    - Dst: cairo_set_matrix
      Src: /src/cairo/util/show-events.c:236,1
    - Dst: edges_lookup
      Src: /src/cairo/util/show-events.c:281,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-events.c:214,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-events.c:237,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 106
    argCount: 3
    argNames:
    - events
    - cr
    - m
    argTypes:
    - events_t*
    - cairo_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 292
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 292
    functionName: _events_draw
    functionSourceFile: /src/cairo/util/show-events.c
    functionUses: []
    functionsReached:
    - cairo_set_line_width
    - cairo_set_dash
    - cairo_close_path
    - cairo_set_source_rgba
    - _compute_intersection_point
    - cairo_save
    - cairo_set_matrix
    - edges_lookup
    - cairo_line_to
    - cairo_arc
    - cairo_stroke
    - cairo_restore
    - cairo_fill
    - cairo_identity_matrix
    - cairo_matrix_transform_point
    - fmod
    - cairo_set_source_rgb
    - _edge_path
    - cairo_move_to
    linkageType: ''
    returnType: void
    signature: 'static void _events_draw (events_t *events, cairo_t *cr, cairo_matrix_t
      *m) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _compute_intersection_x_for_y
      Src: /src/cairo/util/show-events.c:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - line
    - y
    - p
    argTypes:
    - line_t*
    - gdouble
    - point_t*
    constantsTouched: []
    func_position:
      end: 125
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 125
    functionName: _compute_intersection_point
    functionSourceFile: /src/cairo/util/show-events.c
    functionUses: []
    functionsReached:
    - _compute_intersection_x_for_y
    linkageType: ''
    returnType: void
    signature: "static void _compute_intersection_point (const line_t *line,\t\t\t\
      \ gdouble y,\t\t\t point_t *p) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - self
    - cr
    argTypes:
    - EventView*
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 383
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 383
    functionName: event_view_draw_labels
    functionSourceFile: /src/cairo/util/show-events.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void event_view_draw_labels (EventView *self, cairo_t *cr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_memmove
      Src: /src/cairo/util/show-events.c:444,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 4
    argNames:
    - traps
    - top
    - e1
    - e2
    argTypes:
    - traps_t*
    - int
    - edge_t*
    - edge_t*
    constantsTouched: []
    func_position:
      end: 449
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 449
    functionName: traps_remove
    functionSourceFile: /src/cairo/util/show-events.c
    functionUses: []
    functionsReached:
    - g_memmove
    linkageType: ''
    returnType: void
    signature: 'static void traps_remove (traps_t *traps, int top, const edge_t *e1,
      const edge_t *e2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: event_next
      Src: /src/cairo/util/show-events.c:503,1
    - Dst: gtk_widget_queue_draw
      Src: /src/cairo/util/show-events.c:504,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - w
    - ev
    argTypes:
    - GtkWidget*
    - GdkEventButton*
    constantsTouched: []
    func_position:
      end: 515
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 515
    functionName: event_view_button_press
    functionSourceFile: /src/cairo/util/show-events.c
    functionUses: []
    functionsReached:
    - gtk_widget_queue_draw
    - event_next
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean event_view_button_press (GtkWidget *w, GdkEventButton
      *ev) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gtk_widget_queue_draw
      Src: /src/cairo/util/show-events.c:536,1
    - Dst: gtk_widget_queue_draw
      Src: /src/cairo/util/show-events.c:548,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - w
    - ev
    argTypes:
    - GtkWidget*
    - GdkEventMotion*
    constantsTouched: []
    func_position:
      end: 552
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 552
    functionName: event_view_motion
    functionSourceFile: /src/cairo/util/show-events.c
    functionUses: []
    functionsReached:
    - gtk_widget_queue_draw
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean event_view_motion (GtkWidget *w, GdkEventMotion *ev) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - klass
    argTypes:
    - EventViewClass*
    constantsTouched: []
    func_position:
      end: 619
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 619
    functionName: event_view_class_init
    functionSourceFile: /src/cairo/util/show-events.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void event_view_class_init (EventViewClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hypot
      Src: /src/cairo/util/show-edges.c:593,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - edge_t*
    constantsTouched: []
    func_position:
      end: 594
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 594
    functionName: edge_length
    functionSourceFile: /src/cairo/util/show-edges.c
    functionUses: []
    functionsReached:
    - hypot
    linkageType: ''
    returnType: gdouble
    signature: 'static gdouble edge_length (const edge_t *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: edge_length
      Src: /src/cairo/util/show-edges.c:602,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - edges
    argTypes:
    - edges_t*
    constantsTouched: []
    func_position:
      end: 604
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 604
    functionName: edges_compute_total_length
    functionSourceFile: /src/cairo/util/show-edges.c
    functionUses: []
    functionsReached:
    - edge_length
    linkageType: ''
    returnType: gdouble
    signature: 'static gdouble edges_compute_total_length (const edges_t *edges) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gtk_hbox_new
      Src: /src/cairo/util/show-edges.c:1112,1
    - Dst: _edges_add_edge
      Src: /src/cairo/util/show-edges.c:1139,1
    - Dst: _traps_add_trapezoid
      Src: /src/cairo/util/show-edges.c:1174,1
    - Dst: g_print
      Src: /src/cairo/util/show-edges.c:1178,1
    - Dst: gtk_widget_show
      Src: /src/cairo/util/show-edges.c:1200,1
    - Dst: g_signal_connect
      Src: /src/cairo/util/show-edges.c:1212,1
    - Dst: G_CALLBACK
      Src: /src/cairo/util/show-edges.c:1213,1
    - Dst: gtk_widget_set_size_request
      Src: /src/cairo/util/show-edges.c:1214,1
    - Dst: gtk_widget_show
      Src: /src/cairo/util/show-edges.c:1216,1
    - Dst: gtk_widget_show
      Src: /src/cairo/util/show-edges.c:1217,1
    - Dst: gtk_init
      Src: /src/cairo/util/show-edges.c:1110,1
    - Dst: fopen
      Src: /src/cairo/util/show-edges.c:1127,1
    - Dst: edges_new
      Src: /src/cairo/util/show-edges.c:1129,1
    - Dst: getline
      Src: /src/cairo/util/show-edges.c:1130,1
    - Dst: sscanf
      Src: /src/cairo/util/show-edges.c:1133,1
    - Dst: fclose
      Src: /src/cairo/util/show-edges.c:1158,1
    - Dst: fopen
      Src: /src/cairo/util/show-edges.c:1161,1
    - Dst: g_print
      Src: /src/cairo/util/show-edges.c:1142,1
    - Dst: traps_new
      Src: /src/cairo/util/show-edges.c:1163,1
    - Dst: getline
      Src: /src/cairo/util/show-edges.c:1164,1
    - Dst: g_print
      Src: /src/cairo/util/show-edges.c:1187,1
    - Dst: sscanf
      Src: /src/cairo/util/show-edges.c:1167,1
    - Dst: g_object_new
      Src: /src/cairo/util/show-edges.c:1114,1
    - Dst: g_print
      Src: /src/cairo/util/show-edges.c:1143,1
    - Dst: g_print
      Src: /src/cairo/util/show-edges.c:1153,1
    - Dst: g_print
      Src: /src/cairo/util/show-edges.c:1188,1
    - Dst: g_object_new
      Src: /src/cairo/util/show-edges.c:1198,1
    - Dst: gtk_box_pack_start
      Src: /src/cairo/util/show-edges.c:1199,1
    - Dst: GTK_BOX
      Src: /src/cairo/util/show-edges.c:1199,1
    - Dst: gtk_container_add
      Src: /src/cairo/util/show-edges.c:1215,1
    - Dst: GTK_CONTAINER
      Src: /src/cairo/util/show-edges.c:1215,1
    - Dst: gtk_main
      Src: /src/cairo/util/show-edges.c:1219,1
    - Dst: fclose
      Src: /src/cairo/util/show-edges.c:1193,1
    - Dst: gtk_box_pack_start
      Src: /src/cairo/util/show-edges.c:1115,1
    - Dst: trap_view_get_type
      Src: /src/cairo/util/show-edges.c:1114,1
    - Dst: GTK_BOX
      Src: /src/cairo/util/show-edges.c:1115,1
    - Dst: gtk_widget_show
      Src: /src/cairo/util/show-edges.c:1116,1
    - Dst: edges_new
      Src: /src/cairo/util/show-edges.c:1146,1
    - Dst: g_print
      Src: /src/cairo/util/show-edges.c:1152,1
    - Dst: g_print
      Src: /src/cairo/util/show-edges.c:1177,1
    - Dst: free
      Src: /src/cairo/util/show-edges.c:1196,1
    - Dst: trap_view_get_type
      Src: /src/cairo/util/show-edges.c:1198,1
    - Dst: gtk_window_new
      Src: /src/cairo/util/show-edges.c:1211,1
    - Dst: traps_new
      Src: /src/cairo/util/show-edges.c:1181,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 89
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1221
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1221
    functionName: main
    functionSourceFile: /src/cairo/util/show-edges.c
    functionUses: []
    functionsReached:
    - getline
    - GTK_BOX
    - g_signal_connect
    - gtk_init
    - gtk_container_add
    - sscanf
    - _traps_add_trapezoid
    - gtk_main
    - g_print
    - gtk_hbox_new
    - _edges_add_edge
    - g_object_new
    - gtk_box_pack_start
    - traps_new
    - gtk_window_new
    - trap_view_get_type
    - GTK_CONTAINER
    - edges_new
    - gtk_widget_show
    - fclose
    - free
    - G_CALLBACK
    - gtk_widget_set_size_request
    - fopen
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _compute_intersection_x_for_y
      Src: /src/cairo/util/show-edges.c:615,1
    - Dst: _compute_intersection_x_for_y
      Src: /src/cairo/util/show-edges.c:623,1
    - Dst: _compute_intersection_x_for_y
      Src: /src/cairo/util/show-edges.c:616,1
    - Dst: _compute_intersection_x_for_y
      Src: /src/cairo/util/show-edges.c:624,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 1
    argNames:
    - t
    argTypes:
    - trapezoid_t*
    constantsTouched: []
    func_position:
      end: 649
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 649
    functionName: trapezoid_area
    functionSourceFile: /src/cairo/util/show-edges.c
    functionUses: []
    functionsReached:
    - _compute_intersection_x_for_y
    linkageType: ''
    returnType: gdouble
    signature: 'static gdouble trapezoid_area (const trapezoid_t *t) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/cairo/util/show-edges.c:671,1
    - Dst: edges_compute_total_length
      Src: /src/cairo/util/show-edges.c:686,1
    - Dst: traps_compute_total_area
      Src: /src/cairo/util/show-edges.c:676,1
    - Dst: g_string_append_printf
      Src: /src/cairo/util/show-edges.c:687,1
    - Dst: g_string_append_printf
      Src: /src/cairo/util/show-edges.c:677,1
    - Dst: g_string_free
      Src: /src/cairo/util/show-edges.c:694,1
    - Dst: gtk_widget_create_pango_layout
      Src: /src/cairo/util/show-edges.c:695,1
    - Dst: g_free
      Src: /src/cairo/util/show-edges.c:696,1
    - Dst: pango_layout_get_pixel_size
      Src: /src/cairo/util/show-edges.c:698,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-edges.c:700,1
    - Dst: pango_cairo_show_layout
      Src: /src/cairo/util/show-edges.c:701,1
    - Dst: g_object_unref
      Src: /src/cairo/util/show-edges.c:702,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - self
    - cr
    argTypes:
    - TrapView*
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 703
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 703
    functionName: trap_view_draw_labels
    functionSourceFile: /src/cairo/util/show-edges.c
    functionUses: []
    functionsReached:
    - traps_compute_total_area
    - edges_compute_total_length
    - g_object_unref
    - cairo_move_to
    - pango_cairo_show_layout
    - gtk_widget_create_pango_layout
    - g_string_free
    - g_string_new
    - g_string_append_printf
    - g_free
    - pango_layout_get_pixel_size
    linkageType: ''
    returnType: void
    signature: 'static void trap_view_draw_labels (TrapView *self, cairo_t *cr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gtk_widget_queue_draw
      Src: /src/cairo/util/show-edges.c:729,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - self
    argTypes:
    - TrapView*
    constantsTouched: []
    func_position:
      end: 730
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 730
    functionName: trap_view_advance
    functionSourceFile: /src/cairo/util/show-edges.c
    functionUses: []
    functionsReached:
    - gtk_widget_queue_draw
    linkageType: ''
    returnType: void
    signature: 'static void trap_view_advance (TrapView *self) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: trap_view_group_foreach
      Src: /src/cairo/util/show-edges.c:799,1
    - Dst: trap_view_group_foreach
      Src: /src/cairo/util/show-edges.c:803,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - w
    - ev
    argTypes:
    - GtkWidget*
    - GdkEventButton*
    constantsTouched: []
    func_position:
      end: 817
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 817
    functionName: trap_view_button_press
    functionSourceFile: /src/cairo/util/show-edges.c
    functionUses: []
    functionsReached:
    - trap_view_group_foreach
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean trap_view_button_press (GtkWidget *w, GdkEventButton
      *ev) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trapezoid_area
      Src: /src/cairo/util/show-edges.c:657,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - traps
    argTypes:
    - traps_t*
    constantsTouched: []
    func_position:
      end: 659
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 659
    functionName: traps_compute_total_area
    functionSourceFile: /src/cairo/util/show-edges.c
    functionUses: []
    functionsReached:
    - trapezoid_area
    linkageType: ''
    returnType: gdouble
    signature: 'static gdouble traps_compute_total_area (const traps_t *traps) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gdk_cairo_create
      Src: /src/cairo/util/show-edges.c:711,1
    - Dst: gdk_cairo_region
      Src: /src/cairo/util/show-edges.c:712,1
    - Dst: cairo_clip
      Src: /src/cairo/util/show-edges.c:713,1
    - Dst: trap_view_draw
      Src: /src/cairo/util/show-edges.c:715,1
    - Dst: trap_view_draw_labels
      Src: /src/cairo/util/show-edges.c:716,1
    - Dst: cairo_destroy
      Src: /src/cairo/util/show-edges.c:718,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - w
    - ev
    argTypes:
    - GtkWidget*
    - GdkEventExpose*
    constantsTouched: []
    func_position:
      end: 720
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 720
    functionName: trap_view_expose
    functionSourceFile: /src/cairo/util/show-edges.c
    functionUses: []
    functionsReached:
    - gdk_cairo_create
    - trap_view_draw_labels
    - trap_view_draw
    - cairo_destroy
    - cairo_clip
    - gdk_cairo_region
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean trap_view_expose (GtkWidget *w, GdkEventExpose *ev) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gtk_widget_queue_draw
      Src: /src/cairo/util/show-edges.c:739,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - self
    argTypes:
    - TrapView*
    constantsTouched: []
    func_position:
      end: 740
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 740
    functionName: trap_view_back
    functionSourceFile: /src/cairo/util/show-edges.c
    functionUses: []
    functionsReached:
    - gtk_widget_queue_draw
    linkageType: ''
    returnType: void
    signature: 'static void trap_view_back (TrapView *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - w
    - ev
    argTypes:
    - GtkWidget*
    - GdkEventButton*
    constantsTouched: []
    func_position:
      end: 827
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 827
    functionName: trap_view_button_release
    functionSourceFile: /src/cairo/util/show-edges.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean trap_view_button_release (GtkWidget *w, GdkEventButton
      *ev) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/cairo/util/show-edges.c:746,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - group
    - func
    - data
    argTypes:
    - TrapView*
    - GFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 749
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 749
    functionName: trap_view_group_foreach
    functionSourceFile: /src/cairo/util/show-edges.c
    functionUses: []
    functionsReached:
    - func
    linkageType: ''
    returnType: void
    signature: 'static void trap_view_group_foreach (TrapView *group, GFunc func,
      gpointer data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: trap_view_group_foreach
      Src: /src/cairo/util/show-edges.c:858,1
    - Dst: trap_view_group_foreach
      Src: /src/cairo/util/show-edges.c:869,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - w
    - ev
    argTypes:
    - GtkWidget*
    - GdkEventMotion*
    constantsTouched: []
    func_position:
      end: 875
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 875
    functionName: trap_view_motion
    functionSourceFile: /src/cairo/util/show-edges.c
    functionUses: []
    functionsReached:
    - trap_view_group_foreach
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean trap_view_motion (GtkWidget *w, GdkEventMotion *ev) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - klass
    argTypes:
    - TrapViewClass*
    constantsTouched: []
    func_position:
      end: 943
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 943
    functionName: trap_view_class_init
    functionSourceFile: /src/cairo/util/show-edges.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void trap_view_class_init (TrapViewClass *klass) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_realloc
      Src: /src/cairo/util/show-edges.c:976,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 998
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 998
    functionName: _traps_add_trapezoid
    functionSourceFile: /src/cairo/util/show-edges.c
    functionUses: []
    functionsReached:
    - g_realloc
    linkageType: ''
    returnType: traps_t*
    signature: 'static traps_t *_traps_add_trapezoid (TrapView *tv, traps_t *traps,
      const trapezoid_t *trap) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - line
    - y
    argTypes:
    - line_t*
    - gdouble
    constantsTouched: []
    func_position:
      end: 88
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 88
    functionName: _compute_intersection_x_for_y
    functionSourceFile: /src/cairo/util/show-edges.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gdouble
    signature: "static gdouble _compute_intersection_x_for_y (const line_t *line,\t\
      \t\t gdouble y) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: trap_view_group_foreach
      Src: /src/cairo/util/show-edges.c:758,1
    - Dst: trap_view_group_foreach
      Src: /src/cairo/util/show-edges.c:764,1
    - Dst: trap_view_group_foreach
      Src: /src/cairo/util/show-edges.c:770,1
    - Dst: gtk_main_quit
      Src: /src/cairo/util/show-edges.c:777,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    argCount: 2
    argNames:
    - w
    - ev
    argTypes:
    - GtkWidget*
    - GdkEventKey*
    constantsTouched: []
    func_position:
      end: 782
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 782
    functionName: trap_view_key_press
    functionSourceFile: /src/cairo/util/show-edges.c
    functionUses: []
    functionsReached:
    - trap_view_group_foreach
    - gtk_main_quit
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean trap_view_key_press (GtkWidget *w, GdkEventKey *ev) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTK_WIDGET_SET_FLAGS
      Src: /src/cairo/util/show-edges.c:882,1
    - Dst: gtk_widget_get_colormap
      Src: /src/cairo/util/show-edges.c:891,1
    - Dst: gdk_window_new
      Src: /src/cairo/util/show-edges.c:901,1
    - Dst: gtk_widget_get_visual
      Src: /src/cairo/util/show-edges.c:890,1
    - Dst: gtk_widget_get_events
      Src: /src/cairo/util/show-edges.c:892,1
    - Dst: gtk_widget_get_parent_window
      Src: /src/cairo/util/show-edges.c:901,1
    - Dst: gdk_window_set_user_data
      Src: /src/cairo/util/show-edges.c:905,1
    - Dst: gtk_style_attach
      Src: /src/cairo/util/show-edges.c:907,1
    - Dst: gtk_style_set_background
      Src: /src/cairo/util/show-edges.c:908,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 1
    argNames:
    - widget
    argTypes:
    - GtkWidget*
    constantsTouched: []
    func_position:
      end: 909
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 909
    functionName: trap_view_realize
    functionSourceFile: /src/cairo/util/show-edges.c
    functionUses: []
    functionsReached:
    - gtk_style_attach
    - gtk_widget_get_colormap
    - gtk_widget_get_visual
    - gtk_style_set_background
    - gtk_widget_get_parent_window
    - GTK_WIDGET_SET_FLAGS
    - gdk_window_new
    - gdk_window_set_user_data
    - gtk_widget_get_events
    linkageType: ''
    returnType: void
    signature: 'static void trap_view_realize (GtkWidget *widget) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTK_WIDGET_SET_FLAGS
      Src: /src/cairo/util/show-edges.c:951,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - self
    argTypes:
    - TrapView*
    constantsTouched: []
    func_position:
      end: 952
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 952
    functionName: trap_view_init
    functionSourceFile: /src/cairo/util/show-edges.c
    functionUses: []
    functionsReached:
    - GTK_WIDGET_SET_FLAGS
    linkageType: ''
    returnType: void
    signature: 'static void trap_view_init (TrapView *self) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/cairo/util/show-edges.c:1005,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 1000
    functionDepth: 0
    functionLinenumber: 1000
    functionLinenumberEnd: 1023
    functionName: traps_new
    functionSourceFile: /src/cairo/util/show-edges.c
    functionUses: []
    functionsReached:
    - g_malloc
    linkageType: ''
    returnType: traps_t*
    signature: 'static traps_t *traps_new (TrapView *tv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _compute_intersection_x_for_y
      Src: /src/cairo/util/show-edges.c:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - line
    - y
    - p
    argTypes:
    - line_t*
    - gdouble
    - point_t*
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: _compute_intersection_point
    functionSourceFile: /src/cairo/util/show-edges.c
    functionUses: []
    functionsReached:
    - _compute_intersection_x_for_y
    linkageType: ''
    returnType: void
    signature: "static void _compute_intersection_point (const line_t *line,\t\t\t\
      \ gdouble y,\t\t\t point_t *p) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk_widget_queue_draw
      Src: /src/cairo/util/show-edges.c:835,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - self
    - ev
    argTypes:
    - TrapView*
    - GdkEventMotion*
    constantsTouched: []
    func_position:
      end: 836
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 836
    functionName: trap_view_update_mouse
    functionSourceFile: /src/cairo/util/show-edges.c
    functionUses: []
    functionsReached:
    - gtk_widget_queue_draw
    linkageType: ''
    returnType: void
    signature: 'static void trap_view_update_mouse (TrapView *self, GdkEventMotion
      *ev) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTK_WIDGET_CLASS
      Src: /src/cairo/util/show-edges.c:916,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - w
    - r
    argTypes:
    - GtkWidget*
    - GdkRectangle*
    constantsTouched: []
    func_position:
      end: 920
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 920
    functionName: trap_view_size_allocate
    functionSourceFile: /src/cairo/util/show-edges.c
    functionUses: []
    functionsReached:
    - GTK_WIDGET_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void trap_view_size_allocate (GtkWidget *w, GdkRectangle *r) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-edges.c:1033,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-edges.c:1034,1
    - Dst: g_realloc
      Src: /src/cairo/util/show-edges.c:1050,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1025
    functionDepth: 0
    functionLinenumber: 1025
    functionLinenumberEnd: 1072
    functionName: _edges_add_edge
    functionSourceFile: /src/cairo/util/show-edges.c
    functionUses: []
    functionsReached:
    - g_realloc
    - _compute_intersection_point
    linkageType: ''
    returnType: edges_t*
    signature: 'static edges_t *_edges_add_edge (TrapView *tv, edges_t *edges, edge_t
      *e) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: fmod
      Src: /src/cairo/util/show-edges.c:206,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-edges.c:210,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-edges.c:266,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-edges.c:384,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-edges.c:510,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-edges.c:340,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-edges.c:505,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-edges.c:538,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/util/show-edges.c:228,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-edges.c:295,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-edges.c:377,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-edges.c:525,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/util/show-edges.c:559,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/util/show-edges.c:411,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-edges.c:208,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-edges.c:271,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-edges.c:314,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-edges.c:388,1
    - Dst: floor
      Src: /src/cairo/util/show-edges.c:417,1
    - Dst: cairo_set_dash
      Src: /src/cairo/util/show-edges.c:460,1
    - Dst: cairo_translate
      Src: /src/cairo/util/show-edges.c:435,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/util/show-edges.c:353,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/util/show-edges.c:188,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-edges.c:345,1
    - Dst: ceil
      Src: /src/cairo/util/show-edges.c:427,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-edges.c:487,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/util/show-edges.c:520,1
    - Dst: cairo_scale
      Src: /src/cairo/util/show-edges.c:449,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-edges.c:499,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/util/show-edges.c:443,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-edges.c:169,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-edges.c:223,1
    - Dst: ceil
      Src: /src/cairo/util/show-edges.c:200,1
    - Dst: cairo_scale
      Src: /src/cairo/util/show-edges.c:254,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-edges.c:493,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-edges.c:116,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/util/show-edges.c:209,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-edges.c:418,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-edges.c:114,1
    - Dst: cairo_close_path
      Src: /src/cairo/util/show-edges.c:303,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-edges.c:455,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-edges.c:518,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-edges.c:557,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-edges.c:577,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-edges.c:389,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-edges.c:432,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-edges.c:491,1
    - Dst: cairo_scale
      Src: /src/cairo/util/show-edges.c:159,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-edges.c:183,1
    - Dst: MIN
      Src: /src/cairo/util/show-edges.c:146,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-edges.c:231,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-edges.c:289,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-edges.c:582,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-edges.c:533,1
    - Dst: cairo_set_dash
      Src: /src/cairo/util/show-edges.c:332,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-edges.c:458,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-edges.c:165,1
    - Dst: floor
      Src: /src/cairo/util/show-edges.c:413,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-edges.c:203,1
    - Dst: cairo_set_dash
      Src: /src/cairo/util/show-edges.c:229,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-edges.c:278,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/util/show-edges.c:580,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/util/show-edges.c:338,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-edges.c:395,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-edges.c:513,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-edges.c:446,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-edges.c:508,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-edges.c:578,1
    - Dst: cairo_scale
      Src: /src/cairo/util/show-edges.c:531,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-edges.c:547,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-edges.c:385,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-edges.c:262,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-edges.c:298,1
    - Dst: cairo_close_path
      Src: /src/cairo/util/show-edges.c:306,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-edges.c:327,1
    - Dst: cairo_set_dash
      Src: /src/cairo/util/show-edges.c:423,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-edges.c:438,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/util/show-edges.c:312,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-edges.c:479,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-edges.c:217,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-edges.c:564,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-edges.c:583,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/util/show-edges.c:204,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-edges.c:249,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-edges.c:270,1
    - Dst: cairo_scale
      Src: /src/cairo/util/show-edges.c:481,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-edges.c:471,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/util/show-edges.c:405,1
    - Dst: cairo_set_dash
      Src: /src/cairo/util/show-edges.c:444,1
    - Dst: cairo_set_dash
      Src: /src/cairo/util/show-edges.c:539,1
    - Dst: cairo_close_path
      Src: /src/cairo/util/show-edges.c:173,1
    - Dst: cairo_scale
      Src: /src/cairo/util/show-edges.c:434,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-edges.c:465,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-edges.c:205,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-edges.c:244,1
    - Dst: cairo_close_path
      Src: /src/cairo/util/show-edges.c:348,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-edges.c:354,1
    - Dst: floor
      Src: /src/cairo/util/show-edges.c:412,1
    - Dst: floor
      Src: /src/cairo/util/show-edges.c:422,1
    - Dst: cairo_set_dash
      Src: /src/cairo/util/show-edges.c:196,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-edges.c:224,1
    - Dst: cairo_matrix_init_scale
      Src: /src/cairo/util/show-edges.c:185,1
    - Dst: cairo_translate
      Src: /src/cairo/util/show-edges.c:237,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-edges.c:568,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-edges.c:227,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-edges.c:461,1
    - Dst: cairo_translate
      Src: /src/cairo/util/show-edges.c:482,1
    - Dst: cairo_set_dash
      Src: /src/cairo/util/show-edges.c:558,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-edges.c:586,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-edges.c:427,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-edges.c:488,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-edges.c:308,1
    - Dst: cairo_close_path
      Src: /src/cairo/util/show-edges.c:346,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/util/show-edges.c:392,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-edges.c:425,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-edges.c:439,1
    - Dst: floor
      Src: /src/cairo/util/show-edges.c:210,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/util/show-edges.c:186,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/util/show-edges.c:402,1
    - Dst: cairo_set_dash
      Src: /src/cairo/util/show-edges.c:519,1
    - Dst: floor
      Src: /src/cairo/util/show-edges.c:195,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-edges.c:318,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-edges.c:442,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-edges.c:472,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-edges.c:241,1
    - Dst: cairo_scale
      Src: /src/cairo/util/show-edges.c:272,1
    - Dst: cairo_paint
      Src: /src/cairo/util/show-edges.c:115,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-edges.c:198,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-edges.c:523,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-edges.c:511,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-edges.c:530,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-edges.c:534,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-edges.c:211,1
    - Dst: cairo_translate
      Src: /src/cairo/util/show-edges.c:255,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-edges.c:279,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-edges.c:334,1
    - Dst: ceil
      Src: /src/cairo/util/show-edges.c:417,1
    - Dst: cairo_close_path
      Src: /src/cairo/util/show-edges.c:506,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/util/show-edges.c:426,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/util/show-edges.c:545,1
    - Dst: cairo_translate
      Src: /src/cairo/util/show-edges.c:551,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-edges.c:247,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-edges.c:296,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-edges.c:301,1
    - Dst: fmod
      Src: /src/cairo/util/show-edges.c:423,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-edges.c:176,1
    - Dst: cairo_scale
      Src: /src/cairo/util/show-edges.c:324,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-edges.c:166,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-edges.c:216,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/util/show-edges.c:199,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-edges.c:350,1
    - Dst: cairo_scale
      Src: /src/cairo/util/show-edges.c:378,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-edges.c:328,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-edges.c:288,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-edges.c:556,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-edges.c:517,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/util/show-edges.c:352,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-edges.c:313,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-edges.c:200,1
    - Dst: fmod
      Src: /src/cairo/util/show-edges.c:196,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-edges.c:113,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-edges.c:170,1
    - Dst: floor
      Src: /src/cairo/util/show-edges.c:205,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-edges.c:235,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-edges.c:299,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-edges.c:457,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-edges.c:304,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-edges.c:369,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-edges.c:490,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-edges.c:554,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-edges.c:541,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-edges.c:386,1
    - Dst: cairo_scale
      Src: /src/cairo/util/show-edges.c:343,1
    - Dst: cairo_rectangle
      Src: /src/cairo/util/show-edges.c:367,1
    - Dst: cairo_clip
      Src: /src/cairo/util/show-edges.c:371,1
    - Dst: cairo_translate
      Src: /src/cairo/util/show-edges.c:379,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-edges.c:485,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-edges.c:575,1
    - Dst: floor
      Src: /src/cairo/util/show-edges.c:206,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-edges.c:492,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-edges.c:390,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-edges.c:478,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/util/show-edges.c:264,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/util/show-edges.c:311,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-edges.c:464,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/util/show-edges.c:560,1
    - Dst: cairo_translate
      Src: /src/cairo/util/show-edges.c:571,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-edges.c:476,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-edges.c:171,1
    - Dst: cairo_scale
      Src: /src/cairo/util/show-edges.c:290,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-edges.c:357,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-edges.c:422,1
    - Dst: fmod
      Src: /src/cairo/util/show-edges.c:572,1
    - Dst: cairo_set_dash
      Src: /src/cairo/util/show-edges.c:413,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-edges.c:230,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/util/show-edges.c:189,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/util/show-edges.c:521,1
    - Dst: cairo_close_path
      Src: /src/cairo/util/show-edges.c:509,1
    - Dst: cairo_translate
      Src: /src/cairo/util/show-edges.c:501,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-edges.c:514,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-edges.c:259,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-edges.c:282,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-edges.c:399,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-edges.c:420,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-edges.c:448,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-edges.c:387,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-edges.c:323,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-edges.c:195,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-edges.c:362,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-edges.c:535,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-edges.c:309,1
    - Dst: floor
      Src: /src/cairo/util/show-edges.c:412,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-edges.c:445,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-edges.c:404,1
    - Dst: floor
      Src: /src/cairo/util/show-edges.c:427,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/util/show-edges.c:421,1
    - Dst: cairo_scale
      Src: /src/cairo/util/show-edges.c:218,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-edges.c:167,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-edges.c:193,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-edges.c:267,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-edges.c:284,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-edges.c:552,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-edges.c:415,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-edges.c:417,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-edges.c:158,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-edges.c:226,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-edges.c:280,1
    - Dst: cairo_translate
      Src: /src/cairo/util/show-edges.c:325,1
    - Dst: cairo_set_dash
      Src: /src/cairo/util/show-edges.c:335,1
    - Dst: cairo_translate
      Src: /src/cairo/util/show-edges.c:450,1
    - Dst: cairo_close_path
      Src: /src/cairo/util/show-edges.c:512,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-edges.c:504,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-edges.c:302,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-edges.c:342,1
    - Dst: floor
      Src: /src/cairo/util/show-edges.c:200,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-edges.c:248,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-edges.c:260,1
    - Dst: cairo_translate
      Src: /src/cairo/util/show-edges.c:273,1
    - Dst: cairo_close_path
      Src: /src/cairo/util/show-edges.c:297,1
    - Dst: cairo_scale
      Src: /src/cairo/util/show-edges.c:466,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-edges.c:383,1
    - Dst: ceil
      Src: /src/cairo/util/show-edges.c:210,1
    - Dst: cairo_set_dash
      Src: /src/cairo/util/show-edges.c:265,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-edges.c:428,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-edges.c:316,1
    - Dst: cairo_fill
      Src: /src/cairo/util/show-edges.c:393,1
    - Dst: cairo_scale
      Src: /src/cairo/util/show-edges.c:550,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/util/show-edges.c:194,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-edges.c:253,1
    - Dst: cairo_translate
      Src: /src/cairo/util/show-edges.c:160,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/util/show-edges.c:339,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-edges.c:201,1
    - Dst: cairo_translate
      Src: /src/cairo/util/show-edges.c:344,1
    - Dst: cairo_translate
      Src: /src/cairo/util/show-edges.c:467,1
    - Dst: cairo_matrix_init_scale
      Src: /src/cairo/util/show-edges.c:401,1
    - Dst: fmod
      Src: /src/cairo/util/show-edges.c:413,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-edges.c:112,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-edges.c:242,1
    - Dst: cairo_set_dash
      Src: /src/cairo/util/show-edges.c:351,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/util/show-edges.c:416,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-edges.c:473,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-edges.c:496,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-edges.c:246,1
    - Dst: cairo_set_dash
      Src: /src/cairo/util/show-edges.c:206,1
    - Dst: cairo_translate
      Src: /src/cairo/util/show-edges.c:291,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-edges.c:305,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/util/show-edges.c:370,1
    - Dst: cairo_close_path
      Src: /src/cairo/util/show-edges.c:391,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-edges.c:480,1
    - Dst: cairo_close_path
      Src: /src/cairo/util/show-edges.c:555,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-edges.c:561,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-edges.c:349,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-edges.c:433,1
    - Dst: floor
      Src: /src/cairo/util/show-edges.c:423,1
    - Dst: fmod
      Src: /src/cairo/util/show-edges.c:573,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-edges.c:441,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-edges.c:234,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-edges.c:180,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-edges.c:213,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-edges.c:263,1
    - Dst: cairo_translate
      Src: /src/cairo/util/show-edges.c:374,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-edges.c:430,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-edges.c:522,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/util/show-edges.c:459,1
    - Dst: floor
      Src: /src/cairo/util/show-edges.c:205,1
    - Dst: cairo_translate
      Src: /src/cairo/util/show-edges.c:219,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-edges.c:243,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-edges.c:347,1
    - Dst: cairo_stroke_preserve
      Src: /src/cairo/util/show-edges.c:368,1
    - Dst: cairo_scale
      Src: /src/cairo/util/show-edges.c:500,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-edges.c:454,1
    - Dst: cairo_close_path
      Src: /src/cairo/util/show-edges.c:515,1
    - Dst: floor
      Src: /src/cairo/util/show-edges.c:196,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-edges.c:283,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-edges.c:576,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/util/show-edges.c:581,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-edges.c:447,1
    - Dst: cairo_set_dash
      Src: /src/cairo/util/show-edges.c:542,1
    - Dst: cairo_translate
      Src: /src/cairo/util/show-edges.c:532,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-edges.c:277,1
    - Dst: cairo_close_path
      Src: /src/cairo/util/show-edges.c:300,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-edges.c:331,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/util/show-edges.c:406,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-edges.c:507,1
    - Dst: floor
      Src: /src/cairo/util/show-edges.c:422,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-edges.c:549,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-edges.c:486,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-edges.c:412,1
    - Dst: cairo_close_path
      Src: /src/cairo/util/show-edges.c:553,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-edges.c:475,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-edges.c:168,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-edges.c:252,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-edges.c:470,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/util/show-edges.c:546,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-edges.c:410,1
    - Dst: cairo_scale
      Src: /src/cairo/util/show-edges.c:236,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/util/show-edges.c:161,1
    - Dst: cairo_fill
      Src: /src/cairo/util/show-edges.c:174,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-edges.c:326,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-edges.c:477,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-edges.c:462,1
    - Dst: cairo_set_dash
      Src: /src/cairo/util/show-edges.c:310,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-edges.c:172,1
    - Dst: floor
      Src: /src/cairo/util/show-edges.c:195,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-edges.c:281,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 599
    argCount: 2
    argNames:
    - self
    - cr
    argTypes:
    - TrapView*
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 587
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 587
    functionName: trap_view_draw
    functionSourceFile: /src/cairo/util/show-edges.c
    functionUses: []
    functionsReached:
    - cairo_set_line_width
    - cairo_matrix_init_scale
    - cairo_set_dash
    - cairo_close_path
    - cairo_translate
    - cairo_fill_preserve
    - floor
    - cairo_rectangle
    - cairo_set_source_rgba
    - cairo_matrix_translate
    - _compute_intersection_point
    - cairo_save
    - cairo_stroke_preserve
    - cairo_clip
    - ceil
    - cairo_line_to
    - MIN
    - cairo_stroke
    - cairo_restore
    - cairo_fill
    - cairo_paint
    - cairo_scale
    - cairo_set_line_cap
    - cairo_matrix_transform_point
    - cairo_set_source_rgb
    - fmod
    - cairo_move_to
    linkageType: ''
    returnType: void
    signature: 'static void trap_view_draw (TrapView *self, cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk_widget_queue_draw
      Src: /src/cairo/util/show-edges.c:844,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - self
    - xy
    argTypes:
    - TrapView*
    - gint*
    constantsTouched: []
    func_position:
      end: 845
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 845
    functionName: trap_view_update_magnifier
    functionSourceFile: /src/cairo/util/show-edges.c
    functionUses: []
    functionsReached:
    - gtk_widget_queue_draw
    linkageType: ''
    returnType: void
    signature: 'static void trap_view_update_magnifier (TrapView *self, gint *xy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/cairo/util/show-edges.c:925,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 926
      start: 922
    functionDepth: 0
    functionLinenumber: 922
    functionLinenumberEnd: 926
    functionName: trap_view_finalize
    functionSourceFile: /src/cairo/util/show-edges.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void trap_view_finalize (GObject *obj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/cairo/util/show-edges.c:1079,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1097
    functionName: edges_new
    functionSourceFile: /src/cairo/util/show-edges.c
    functionUses: []
    functionsReached:
    - g_malloc
    linkageType: ''
    returnType: edges_t*
    signature: 'static edges_t *edges_new (TrapView *tv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gdk_cairo_create
      Src: /src/cairo/util/show-contour.c:378,1
    - Dst: gdk_cairo_region
      Src: /src/cairo/util/show-contour.c:379,1
    - Dst: cairo_clip
      Src: /src/cairo/util/show-contour.c:380,1
    - Dst: trap_view_draw
      Src: /src/cairo/util/show-contour.c:382,1
    - Dst: trap_view_draw_labels
      Src: /src/cairo/util/show-contour.c:383,1
    - Dst: cairo_destroy
      Src: /src/cairo/util/show-contour.c:385,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - w
    - ev
    argTypes:
    - GtkWidget*
    - GdkEventExpose*
    constantsTouched: []
    func_position:
      end: 387
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 387
    functionName: trap_view_expose
    functionSourceFile: /src/cairo/util/show-contour.c
    functionUses: []
    functionsReached:
    - gdk_cairo_create
    - trap_view_draw_labels
    - trap_view_draw
    - cairo_destroy
    - cairo_clip
    - gdk_cairo_region
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean trap_view_expose (GtkWidget *w, GdkEventExpose *ev) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - w
    - ev
    argTypes:
    - GtkWidget*
    - GdkEventButton*
    constantsTouched: []
    func_position:
      end: 421
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 421
    functionName: trap_view_button_press
    functionSourceFile: /src/cairo/util/show-contour.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean trap_view_button_press (GtkWidget *w, GdkEventButton
      *ev) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTK_WIDGET_CLASS
      Src: /src/cairo/util/show-contour.c:516,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - w
    - r
    argTypes:
    - GtkWidget*
    - GdkRectangle*
    constantsTouched: []
    func_position:
      end: 520
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 520
    functionName: trap_view_size_allocate
    functionSourceFile: /src/cairo/util/show-contour.c
    functionUses: []
    functionsReached:
    - GTK_WIDGET_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void trap_view_size_allocate (GtkWidget *w, GdkRectangle *r) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gtk_main_quit
      Src: /src/cairo/util/show-contour.c:395,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 2
    argNames:
    - w
    - ev
    argTypes:
    - GtkWidget*
    - GdkEventKey*
    constantsTouched: []
    func_position:
      end: 400
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 400
    functionName: trap_view_key_press
    functionSourceFile: /src/cairo/util/show-contour.c
    functionUses: []
    functionsReached:
    - gtk_main_quit
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean trap_view_key_press (GtkWidget *w, GdkEventKey *ev) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - w
    - ev
    argTypes:
    - GtkWidget*
    - GdkEventButton*
    constantsTouched: []
    func_position:
      end: 431
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 431
    functionName: trap_view_button_release
    functionSourceFile: /src/cairo/util/show-contour.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean trap_view_button_release (GtkWidget *w, GdkEventButton
      *ev) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/cairo/util/show-contour.c:525,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 526
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 526
    functionName: trap_view_finalize
    functionSourceFile: /src/cairo/util/show-contour.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void trap_view_finalize (GObject *obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: edge_length
      Src: /src/cairo/util/show-contour.c:319,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - contour
    argTypes:
    - contour_t*
    constantsTouched: []
    func_position:
      end: 321
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 321
    functionName: contour_compute_total_length
    functionSourceFile: /src/cairo/util/show-contour.c
    functionUses: []
    functionsReached:
    - edge_length
    linkageType: ''
    returnType: gdouble
    signature: 'static gdouble contour_compute_total_length (const contour_t *contour) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: trap_view_update_magnifier
      Src: /src/cairo/util/show-contour.c:462,1
    - Dst: trap_view_update_mouse
      Src: /src/cairo/util/show-contour.c:471,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - w
    - ev
    argTypes:
    - GtkWidget*
    - GdkEventMotion*
    constantsTouched: []
    func_position:
      end: 475
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 475
    functionName: trap_view_motion
    functionSourceFile: /src/cairo/util/show-contour.c
    functionUses: []
    functionsReached:
    - trap_view_update_mouse
    - trap_view_update_magnifier
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean trap_view_motion (GtkWidget *w, GdkEventMotion *ev) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_realloc
      Src: /src/cairo/util/show-contour.c:579,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 598
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 598
    functionName: _contour_add_point
    functionSourceFile: /src/cairo/util/show-contour.c
    functionUses: []
    functionsReached:
    - g_realloc
    linkageType: ''
    returnType: contour_t*
    signature: 'static contour_t *_contour_add_point (TrapView *tv, contour_t *contour,
      point_t *p) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: cairo_paint
      Src: /src/cairo/util/show-contour.c:63,1
    - Dst: cairo_create
      Src: /src/cairo/util/show-contour.c:54,1
    - Dst: cairo_destroy
      Src: /src/cairo/util/show-contour.c:66,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-contour.c:98,1
    - Dst: cairo_arc
      Src: /src/cairo/util/show-contour.c:109,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-contour.c:112,1
    - Dst: cairo_fill
      Src: /src/cairo/util/show-contour.c:118,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-contour.c:124,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-contour.c:131,1
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/util/show-contour.c:51,1
    - Dst: MIN
      Src: /src/cairo/util/show-contour.c:80,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-contour.c:104,1
    - Dst: cairo_identity_matrix
      Src: /src/cairo/util/show-contour.c:111,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-contour.c:101,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-contour.c:122,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/util/show-contour.c:137,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-contour.c:138,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-contour.c:62,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-contour.c:93,1
    - Dst: cairo_scale
      Src: /src/cairo/util/show-contour.c:94,1
    - Dst: cairo_translate
      Src: /src/cairo/util/show-contour.c:95,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-contour.c:110,1
    - Dst: cairo_arc
      Src: /src/cairo/util/show-contour.c:117,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-contour.c:134,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-contour.c:113,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-contour.c:128,1
    - Dst: cairo_destroy
      Src: /src/cairo/util/show-contour.c:141,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 94
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 143
    functionName: pixmap_create
    functionSourceFile: /src/cairo/util/show-contour.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_translate
    - cairo_set_line_width
    - cairo_line_to
    - cairo_arc
    - cairo_create
    - MIN
    - cairo_save
    - cairo_scale
    - cairo_stroke
    - cairo_restore
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_destroy
    - cairo_surface_create_similar
    - cairo_identity_matrix
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *pixmap_create (TrapView *self, cairo_surface_t
      *target) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: contour_compute_total_length
      Src: /src/cairo/util/show-contour.c:330,1
    - Dst: g_string_free
      Src: /src/cairo/util/show-contour.c:346,1
    - Dst: gtk_widget_create_pango_layout
      Src: /src/cairo/util/show-contour.c:347,1
    - Dst: g_string_new
      Src: /src/cairo/util/show-contour.c:339,1
    - Dst: g_string_append_printf
      Src: /src/cairo/util/show-contour.c:340,1
    - Dst: g_free
      Src: /src/cairo/util/show-contour.c:348,1
    - Dst: pango_layout_get_pixel_size
      Src: /src/cairo/util/show-contour.c:350,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-contour.c:354,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-contour.c:357,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-contour.c:360,1
    - Dst: g_object_unref
      Src: /src/cairo/util/show-contour.c:366,1
    - Dst: pango_cairo_show_layout
      Src: /src/cairo/util/show-contour.c:365,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-contour.c:364,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 2
    argNames:
    - self
    - cr
    argTypes:
    - TrapView*
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 370
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 370
    functionName: trap_view_draw_labels
    functionSourceFile: /src/cairo/util/show-contour.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - cairo_set_source_rgb
    - cairo_move_to
    - pango_cairo_show_layout
    - gtk_widget_create_pango_layout
    - g_string_free
    - contour_compute_total_length
    - g_string_new
    - g_string_append_printf
    - g_free
    - pango_layout_get_pixel_size
    linkageType: ''
    returnType: void
    signature: 'static void trap_view_draw_labels (TrapView *self, cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTK_WIDGET_SET_FLAGS
      Src: /src/cairo/util/show-contour.c:482,1
    - Dst: gtk_widget_get_events
      Src: /src/cairo/util/show-contour.c:492,1
    - Dst: gdk_window_new
      Src: /src/cairo/util/show-contour.c:501,1
    - Dst: gtk_widget_get_colormap
      Src: /src/cairo/util/show-contour.c:491,1
    - Dst: gtk_widget_get_visual
      Src: /src/cairo/util/show-contour.c:490,1
    - Dst: gtk_widget_get_parent_window
      Src: /src/cairo/util/show-contour.c:501,1
    - Dst: gdk_window_set_user_data
      Src: /src/cairo/util/show-contour.c:505,1
    - Dst: gtk_style_attach
      Src: /src/cairo/util/show-contour.c:507,1
    - Dst: gtk_style_set_background
      Src: /src/cairo/util/show-contour.c:508,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 1
    argNames:
    - widget
    argTypes:
    - GtkWidget*
    constantsTouched: []
    func_position:
      end: 509
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 509
    functionName: trap_view_realize
    functionSourceFile: /src/cairo/util/show-contour.c
    functionUses: []
    functionsReached:
    - gtk_style_attach
    - gtk_widget_get_colormap
    - gtk_widget_get_visual
    - gtk_style_set_background
    - gtk_widget_get_parent_window
    - GTK_WIDGET_SET_FLAGS
    - gdk_window_new
    - gdk_window_set_user_data
    - gtk_widget_get_events
    linkageType: ''
    returnType: void
    signature: 'static void trap_view_realize (GtkWidget *widget) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/cairo/util/show-contour.c:605,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 617
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 617
    functionName: contour_new
    functionSourceFile: /src/cairo/util/show-contour.c
    functionUses: []
    functionsReached:
    - g_malloc
    linkageType: ''
    returnType: contour_t*
    signature: 'static contour_t *contour_new (TrapView *tv, int direction) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: cairo_set_source_surface
      Src: /src/cairo/util/show-contour.c:183,1
    - Dst: cairo_clip
      Src: /src/cairo/util/show-contour.c:214,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-contour.c:232,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-contour.c:244,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-contour.c:259,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-contour.c:270,1
    - Dst: cairo_translate
      Src: /src/cairo/util/show-contour.c:276,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/util/show-contour.c:288,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-contour.c:289,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-contour.c:293,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-contour.c:265,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/util/show-contour.c:297,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-contour.c:282,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/util/show-contour.c:213,1
    - Dst: cairo_translate
      Src: /src/cairo/util/show-contour.c:217,1
    - Dst: cairo_arc
      Src: /src/cairo/util/show-contour.c:240,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-contour.c:243,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-contour.c:255,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-contour.c:262,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-contour.c:268,1
    - Dst: fmod
      Src: /src/cairo/util/show-contour.c:277,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-contour.c:283,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/util/show-contour.c:287,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-contour.c:302,1
    - Dst: cairo_fill
      Src: /src/cairo/util/show-contour.c:249,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-contour.c:299,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-contour.c:273,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-contour.c:292,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-contour.c:295,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-contour.c:300,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-contour.c:294,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-contour.c:284,1
    - Dst: MIN
      Src: /src/cairo/util/show-contour.c:165,1
    - Dst: pixmap_create
      Src: /src/cairo/util/show-contour.c:178,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/util/show-contour.c:177,1
    - Dst: cairo_paint
      Src: /src/cairo/util/show-contour.c:184,1
    - Dst: cairo_rectangle
      Src: /src/cairo/util/show-contour.c:210,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-contour.c:219,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-contour.c:235,1
    - Dst: cairo_identity_matrix
      Src: /src/cairo/util/show-contour.c:242,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-contour.c:253,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-contour.c:281,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/util/show-contour.c:298,1
    - Dst: fmod
      Src: /src/cairo/util/show-contour.c:278,1
    - Dst: cairo_get_target
      Src: /src/cairo/util/show-contour.c:178,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-contour.c:208,1
    - Dst: cairo_stroke_preserve
      Src: /src/cairo/util/show-contour.c:211,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-contour.c:212,1
    - Dst: cairo_translate
      Src: /src/cairo/util/show-contour.c:226,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-contour.c:229,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-contour.c:224,1
    - Dst: cairo_scale
      Src: /src/cairo/util/show-contour.c:225,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-contour.c:241,1
    - Dst: cairo_arc
      Src: /src/cairo/util/show-contour.c:248,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 213
    argCount: 2
    argNames:
    - self
    - cr
    argTypes:
    - TrapView*
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 304
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 304
    functionName: trap_view_draw
    functionSourceFile: /src/cairo/util/show-contour.c
    functionUses: []
    functionsReached:
    - pixmap_create
    - cairo_set_line_width
    - cairo_get_target
    - cairo_translate
    - cairo_fill_preserve
    - cairo_set_source_surface
    - cairo_rectangle
    - cairo_set_source_rgba
    - cairo_save
    - cairo_stroke_preserve
    - cairo_clip
    - cairo_line_to
    - cairo_arc
    - MIN
    - cairo_stroke
    - cairo_restore
    - cairo_fill
    - cairo_identity_matrix
    - cairo_paint
    - cairo_surface_destroy
    - cairo_scale
    - fmod
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: void
    signature: 'static void trap_view_draw (TrapView *self, cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk_widget_queue_draw
      Src: /src/cairo/util/show-contour.c:439,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - self
    - ev
    argTypes:
    - TrapView*
    - GdkEventMotion*
    constantsTouched: []
    func_position:
      end: 440
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 440
    functionName: trap_view_update_mouse
    functionSourceFile: /src/cairo/util/show-contour.c
    functionUses: []
    functionsReached:
    - gtk_widget_queue_draw
    linkageType: ''
    returnType: void
    signature: 'static void trap_view_update_mouse (TrapView *self, GdkEventMotion
      *ev) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hypot
      Src: /src/cairo/util/show-contour.c:310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - point_t*
    - point_t*
    constantsTouched: []
    func_position:
      end: 311
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 311
    functionName: edge_length
    functionSourceFile: /src/cairo/util/show-contour.c
    functionUses: []
    functionsReached:
    - hypot
    linkageType: ''
    returnType: gdouble
    signature: 'static gdouble edge_length (const point_t *p1, const point_t *p2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk_widget_queue_draw
      Src: /src/cairo/util/show-contour.c:448,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - self
    - xy
    argTypes:
    - TrapView*
    - gint*
    constantsTouched: []
    func_position:
      end: 449
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 449
    functionName: trap_view_update_magnifier
    functionSourceFile: /src/cairo/util/show-contour.c
    functionUses: []
    functionsReached:
    - gtk_widget_queue_draw
    linkageType: ''
    returnType: void
    signature: 'static void trap_view_update_magnifier (TrapView *self, gint *xy) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getline
      Src: /src/cairo/util/show-contour.c:635,1
    - Dst: contour_new
      Src: /src/cairo/util/show-contour.c:643,1
    - Dst: sscanf
      Src: /src/cairo/util/show-contour.c:644,1
    - Dst: g_print
      Src: /src/cairo/util/show-contour.c:652,1
    - Dst: GTK_CONTAINER
      Src: /src/cairo/util/show-contour.c:662,1
    - Dst: gtk_window_new
      Src: /src/cairo/util/show-contour.c:658,1
    - Dst: gtk_init
      Src: /src/cairo/util/show-contour.c:629,1
    - Dst: trap_view_get_type
      Src: /src/cairo/util/show-contour.c:631,1
    - Dst: sscanf
      Src: /src/cairo/util/show-contour.c:639,1
    - Dst: gtk_container_add
      Src: /src/cairo/util/show-contour.c:662,1
    - Dst: g_object_new
      Src: /src/cairo/util/show-contour.c:631,1
    - Dst: fclose
      Src: /src/cairo/util/show-contour.c:655,1
    - Dst: g_signal_connect
      Src: /src/cairo/util/show-contour.c:659,1
    - Dst: G_CALLBACK
      Src: /src/cairo/util/show-contour.c:660,1
    - Dst: gtk_widget_set_size_request
      Src: /src/cairo/util/show-contour.c:661,1
    - Dst: gtk_main
      Src: /src/cairo/util/show-contour.c:665,1
    - Dst: fopen
      Src: /src/cairo/util/show-contour.c:633,1
    - Dst: g_print
      Src: /src/cairo/util/show-contour.c:641,1
    - Dst: _contour_add_point
      Src: /src/cairo/util/show-contour.c:645,1
    - Dst: g_print
      Src: /src/cairo/util/show-contour.c:650,1
    - Dst: gtk_widget_show_all
      Src: /src/cairo/util/show-contour.c:663,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 667
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 667
    functionName: main
    functionSourceFile: /src/cairo/util/show-contour.c
    functionUses: []
    functionsReached:
    - getline
    - g_object_new
    - gtk_init
    - fclose
    - gtk_container_add
    - sscanf
    - gtk_widget_show_all
    - G_CALLBACK
    - gtk_widget_set_size_request
    - contour_new
    - fopen
    - gtk_main
    - g_print
    - gtk_window_new
    - _contour_add_point
    - g_signal_connect
    - trap_view_get_type
    - GTK_CONTAINER
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - klass
    argTypes:
    - TrapViewClass*
    constantsTouched: []
    func_position:
      end: 543
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 543
    functionName: trap_view_class_init
    functionSourceFile: /src/cairo/util/show-contour.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void trap_view_class_init (TrapViewClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTK_WIDGET_SET_FLAGS
      Src: /src/cairo/util/show-contour.c:556,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - self
    argTypes:
    - TrapView*
    constantsTouched: []
    func_position:
      end: 557
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 557
    functionName: trap_view_init
    functionSourceFile: /src/cairo/util/show-contour.c
    functionUses: []
    functionsReached:
    - GTK_WIDGET_SET_FLAGS
    linkageType: ''
    returnType: void
    signature: 'static void trap_view_init (TrapView *self) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cairo_fill
      Src: /src/cairo/util/show-polygon.c:79,1
    - Dst: cairo_arc
      Src: /src/cairo/util/show-polygon.c:77,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-polygon.c:122,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-polygon.c:100,1
    - Dst: cairo_identity_matrix
      Src: /src/cairo/util/show-polygon.c:125,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-polygon.c:128,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-polygon.c:59,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-polygon.c:99,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-polygon.c:103,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/util/show-polygon.c:126,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-polygon.c:127,1
    - Dst: cairo_arc
      Src: /src/cairo/util/show-polygon.c:78,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/util/show-polygon.c:85,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-polygon.c:96,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/util/show-polygon.c:98,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-polygon.c:61,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/util/show-polygon.c:83,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-polygon.c:93,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-polygon.c:94,1
    - Dst: cairo_identity_matrix
      Src: /src/cairo/util/show-polygon.c:97,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-polygon.c:105,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-polygon.c:121,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-polygon.c:124,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 73
    argCount: 4
    argNames:
    - cr
    - p
    - sf
    - dir
    argTypes:
    - cairo_t*
    - polygon_t*
    - gdouble
    - int
    constantsTouched: []
    func_position:
      end: 129
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 129
    functionName: draw_edges
    functionSourceFile: /src/cairo/util/show-polygon.c
    functionUses: []
    functionsReached:
    - cairo_set_source_rgba
    - cairo_set_line_width
    - cairo_line_to
    - cairo_arc
    - cairo_save
    - cairo_stroke
    - cairo_restore
    - cairo_fill
    - cairo_set_source_rgb
    - cairo_move_to
    - cairo_identity_matrix
    linkageType: ''
    returnType: void
    signature: 'static void draw_edges (cairo_t *cr, polygon_t *p, gdouble sf, int
      dir) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cairo_create
      Src: /src/cairo/util/show-polygon.c:145,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-polygon.c:192,1
    - Dst: cairo_destroy
      Src: /src/cairo/util/show-polygon.c:202,1
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/util/show-polygon.c:142,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-polygon.c:152,1
    - Dst: draw_polygon
      Src: /src/cairo/util/show-polygon.c:187,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/util/show-polygon.c:196,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-polygon.c:191,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-polygon.c:194,1
    - Dst: MIN
      Src: /src/cairo/util/show-polygon.c:170,1
    - Dst: cairo_identity_matrix
      Src: /src/cairo/util/show-polygon.c:195,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-polygon.c:197,1
    - Dst: cairo_destroy
      Src: /src/cairo/util/show-polygon.c:156,1
    - Dst: cairo_paint
      Src: /src/cairo/util/show-polygon.c:153,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-polygon.c:179,1
    - Dst: cairo_scale
      Src: /src/cairo/util/show-polygon.c:180,1
    - Dst: cairo_translate
      Src: /src/cairo/util/show-polygon.c:181,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-polygon.c:193,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-polygon.c:200,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-polygon.c:198,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 76
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 204
    functionName: pixmap_create
    functionSourceFile: /src/cairo/util/show-polygon.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - cairo_translate
    - draw_polygon
    - cairo_line_to
    - cairo_set_line_width
    - cairo_create
    - MIN
    - cairo_save
    - cairo_scale
    - cairo_stroke
    - cairo_restore
    - cairo_set_source_rgb
    - cairo_destroy
    - cairo_surface_create_similar
    - cairo_move_to
    - cairo_identity_matrix
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *pixmap_create (PolygonView *self, cairo_surface_t
      *target) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - w
    - ev
    argTypes:
    - GtkWidget*
    - GdkEventButton*
    constantsTouched: []
    func_position:
      end: 383
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 383
    functionName: polygon_view_button_press
    functionSourceFile: /src/cairo/util/show-polygon.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean polygon_view_button_press (GtkWidget *w, GdkEventButton
      *ev) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk_widget_queue_draw
      Src: /src/cairo/util/show-polygon.c:401,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - self
    - ev
    argTypes:
    - PolygonView*
    - GdkEventMotion*
    constantsTouched: []
    func_position:
      end: 402
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 402
    functionName: polygon_view_update_mouse
    functionSourceFile: /src/cairo/util/show-polygon.c
    functionUses: []
    functionsReached:
    - gtk_widget_queue_draw
    linkageType: ''
    returnType: void
    signature: 'static void polygon_view_update_mouse (PolygonView *self, GdkEventMotion
      *ev) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTK_WIDGET_CLASS
      Src: /src/cairo/util/show-polygon.c:478,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - w
    - r
    argTypes:
    - GtkWidget*
    - GdkRectangle*
    constantsTouched: []
    func_position:
      end: 482
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 482
    functionName: polygon_view_size_allocate
    functionSourceFile: /src/cairo/util/show-polygon.c
    functionUses: []
    functionsReached:
    - GTK_WIDGET_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void polygon_view_size_allocate (GtkWidget *w, GdkRectangle
      *r) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_realloc
      Src: /src/cairo/util/show-polygon.c:547,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 571
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 571
    functionName: _polygon_add_edge
    functionSourceFile: /src/cairo/util/show-polygon.c
    functionUses: []
    functionsReached:
    - g_realloc
    linkageType: ''
    returnType: polygon_t*
    signature: "static polygon_t *_polygon_add_edge (PolygonView *view, polygon_t\
      \ *polygon,\t\t point_t *p1, point_t *p2,\t\t gdouble top, gdouble bot, int\
      \ dir) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: draw_edges
      Src: /src/cairo/util/show-polygon.c:133,1
    - Dst: draw_edges
      Src: /src/cairo/util/show-polygon.c:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - cr
    - p
    - sf
    argTypes:
    - cairo_t*
    - polygon_t*
    - gdouble
    constantsTouched: []
    func_position:
      end: 136
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 136
    functionName: draw_polygon
    functionSourceFile: /src/cairo/util/show-polygon.c
    functionUses: []
    functionsReached:
    - draw_edges
    linkageType: ''
    returnType: void
    signature: 'static void draw_polygon (cairo_t *cr, polygon_t *p, gdouble sf) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cairo_stroke_preserve
      Src: /src/cairo/util/show-polygon.c:271,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-polygon.c:272,1
    - Dst: cairo_identity_matrix
      Src: /src/cairo/util/show-polygon.c:294,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-polygon.c:296,1
    - Dst: fmod
      Src: /src/cairo/util/show-polygon.c:306,1
    - Dst: fmod
      Src: /src/cairo/util/show-polygon.c:307,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-polygon.c:311,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-polygon.c:312,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/util/show-polygon.c:316,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-polygon.c:321,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-polygon.c:323,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-polygon.c:324,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/util/show-polygon.c:327,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-polygon.c:322,1
    - Dst: MIN
      Src: /src/cairo/util/show-polygon.c:225,1
    - Dst: cairo_paint
      Src: /src/cairo/util/show-polygon.c:244,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-polygon.c:279,1
    - Dst: cairo_translate
      Src: /src/cairo/util/show-polygon.c:281,1
    - Dst: cairo_scale
      Src: /src/cairo/util/show-polygon.c:280,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-polygon.c:292,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-polygon.c:297,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-polygon.c:299,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-polygon.c:310,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/util/show-polygon.c:317,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-polygon.c:318,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-polygon.c:331,1
    - Dst: cairo_get_target
      Src: /src/cairo/util/show-polygon.c:238,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-polygon.c:268,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/util/show-polygon.c:273,1
    - Dst: cairo_translate
      Src: /src/cairo/util/show-polygon.c:277,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-polygon.c:291,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-polygon.c:302,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-polygon.c:313,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-polygon.c:328,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-polygon.c:329,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/util/show-polygon.c:237,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/util/show-polygon.c:243,1
    - Dst: pixmap_create
      Src: /src/cairo/util/show-polygon.c:238,1
    - Dst: cairo_rectangle
      Src: /src/cairo/util/show-polygon.c:270,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-polygon.c:290,1
    - Dst: cairo_clip
      Src: /src/cairo/util/show-polygon.c:274,1
    - Dst: draw_polygon
      Src: /src/cairo/util/show-polygon.c:286,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-polygon.c:293,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/util/show-polygon.c:295,1
    - Dst: cairo_translate
      Src: /src/cairo/util/show-polygon.c:305,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/util/show-polygon.c:326,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 193
    argCount: 2
    argNames:
    - self
    - cr
    argTypes:
    - PolygonView*
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 333
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 333
    functionName: polygon_view_draw
    functionSourceFile: /src/cairo/util/show-polygon.c
    functionUses: []
    functionsReached:
    - pixmap_create
    - cairo_set_line_width
    - cairo_get_target
    - cairo_translate
    - cairo_fill_preserve
    - cairo_set_source_surface
    - cairo_rectangle
    - cairo_set_source_rgba
    - cairo_save
    - cairo_stroke_preserve
    - cairo_clip
    - draw_polygon
    - cairo_line_to
    - MIN
    - cairo_stroke
    - cairo_restore
    - cairo_identity_matrix
    - cairo_paint
    - cairo_surface_destroy
    - cairo_scale
    - fmod
    - cairo_set_source_rgb
    - cairo_move_to
    linkageType: ''
    returnType: void
    signature: 'static void polygon_view_draw (PolygonView *self, cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - w
    - ev
    argTypes:
    - GtkWidget*
    - GdkEventButton*
    constantsTouched: []
    func_position:
      end: 393
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 393
    functionName: polygon_view_button_release
    functionSourceFile: /src/cairo/util/show-polygon.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean polygon_view_button_release (GtkWidget *w, GdkEventButton
      *ev) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk_widget_queue_draw
      Src: /src/cairo/util/show-polygon.c:410,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - self
    - xy
    argTypes:
    - PolygonView*
    - gint*
    constantsTouched: []
    func_position:
      end: 411
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 411
    functionName: polygon_view_update_magnifier
    functionSourceFile: /src/cairo/util/show-polygon.c
    functionUses: []
    functionsReached:
    - gtk_widget_queue_draw
    linkageType: ''
    returnType: void
    signature: 'static void polygon_view_update_magnifier (PolygonView *self, gint
      *xy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/cairo/util/show-polygon.c:487,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 488
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 488
    functionName: polygon_view_finalize
    functionSourceFile: /src/cairo/util/show-polygon.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void polygon_view_finalize (GObject *obj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/cairo/util/show-polygon.c:578,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 589
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 589
    functionName: polygon_new
    functionSourceFile: /src/cairo/util/show-polygon.c
    functionUses: []
    functionsReached:
    - g_malloc
    linkageType: ''
    returnType: polygon_t*
    signature: 'static polygon_t *polygon_new (PolygonView *view) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: polygon_view_update_magnifier
      Src: /src/cairo/util/show-polygon.c:424,1
    - Dst: polygon_view_update_mouse
      Src: /src/cairo/util/show-polygon.c:433,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - w
    - ev
    argTypes:
    - GtkWidget*
    - GdkEventMotion*
    constantsTouched: []
    func_position:
      end: 437
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 437
    functionName: polygon_view_motion
    functionSourceFile: /src/cairo/util/show-polygon.c
    functionUses: []
    functionsReached:
    - polygon_view_update_mouse
    - polygon_view_update_magnifier
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean polygon_view_motion (GtkWidget *w, GdkEventMotion
      *ev) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - klass
    argTypes:
    - PolygonViewClass*
    constantsTouched: []
    func_position:
      end: 505
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 505
    functionName: polygon_view_class_init
    functionSourceFile: /src/cairo/util/show-polygon.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void polygon_view_class_init (PolygonViewClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTK_WIDGET_SET_FLAGS
      Src: /src/cairo/util/show-polygon.c:444,1
    - Dst: gtk_widget_get_events
      Src: /src/cairo/util/show-polygon.c:454,1
    - Dst: gdk_window_new
      Src: /src/cairo/util/show-polygon.c:463,1
    - Dst: gtk_widget_get_colormap
      Src: /src/cairo/util/show-polygon.c:453,1
    - Dst: gtk_widget_get_visual
      Src: /src/cairo/util/show-polygon.c:452,1
    - Dst: gtk_widget_get_parent_window
      Src: /src/cairo/util/show-polygon.c:463,1
    - Dst: gdk_window_set_user_data
      Src: /src/cairo/util/show-polygon.c:467,1
    - Dst: gtk_style_attach
      Src: /src/cairo/util/show-polygon.c:469,1
    - Dst: gtk_style_set_background
      Src: /src/cairo/util/show-polygon.c:470,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 1
    argNames:
    - widget
    argTypes:
    - GtkWidget*
    constantsTouched: []
    func_position:
      end: 471
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 471
    functionName: polygon_view_realize
    functionSourceFile: /src/cairo/util/show-polygon.c
    functionUses: []
    functionsReached:
    - gtk_style_attach
    - gtk_widget_get_colormap
    - gtk_widget_get_visual
    - gtk_style_set_background
    - gtk_widget_get_parent_window
    - GTK_WIDGET_SET_FLAGS
    - gdk_window_new
    - gdk_window_set_user_data
    - gtk_widget_get_events
    linkageType: ''
    returnType: void
    signature: 'static void polygon_view_realize (GtkWidget *widget) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTK_WIDGET_SET_FLAGS
      Src: /src/cairo/util/show-polygon.c:518,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - self
    argTypes:
    - PolygonView*
    constantsTouched: []
    func_position:
      end: 519
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 519
    functionName: polygon_view_init
    functionSourceFile: /src/cairo/util/show-polygon.c
    functionUses: []
    functionsReached:
    - GTK_WIDGET_SET_FLAGS
    linkageType: ''
    returnType: void
    signature: 'static void polygon_view_init (PolygonView *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gdk_cairo_create
      Src: /src/cairo/util/show-polygon.c:341,1
    - Dst: polygon_view_draw
      Src: /src/cairo/util/show-polygon.c:345,1
    - Dst: cairo_clip
      Src: /src/cairo/util/show-polygon.c:343,1
    - Dst: cairo_destroy
      Src: /src/cairo/util/show-polygon.c:347,1
    - Dst: gdk_cairo_region
      Src: /src/cairo/util/show-polygon.c:342,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - w
    - ev
    argTypes:
    - GtkWidget*
    - GdkEventExpose*
    constantsTouched: []
    func_position:
      end: 349
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 349
    functionName: polygon_view_expose
    functionSourceFile: /src/cairo/util/show-polygon.c
    functionUses: []
    functionsReached:
    - gdk_cairo_create
    - polygon_view_draw
    - cairo_destroy
    - cairo_clip
    - gdk_cairo_region
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean polygon_view_expose (GtkWidget *w, GdkEventExpose
      *ev) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gtk_main_quit
      Src: /src/cairo/util/show-polygon.c:357,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 2
    argNames:
    - w
    - ev
    argTypes:
    - GtkWidget*
    - GdkEventKey*
    constantsTouched: []
    func_position:
      end: 362
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 362
    functionName: polygon_view_key_press
    functionSourceFile: /src/cairo/util/show-polygon.c
    functionUses: []
    functionsReached:
    - gtk_main_quit
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean polygon_view_key_press (GtkWidget *w, GdkEventKey
      *ev) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gtk_init
      Src: /src/cairo/util/show-polygon.c:601,1
    - Dst: polygon_view_get_type
      Src: /src/cairo/util/show-polygon.c:603,1
    - Dst: strncmp
      Src: /src/cairo/util/show-polygon.c:612,1
    - Dst: g_print
      Src: /src/cairo/util/show-polygon.c:628,1
    - Dst: _polygon_add_edge
      Src: /src/cairo/util/show-polygon.c:620,1
    - Dst: GTK_CONTAINER
      Src: /src/cairo/util/show-polygon.c:641,1
    - Dst: getline
      Src: /src/cairo/util/show-polygon.c:607,1
    - Dst: g_print
      Src: /src/cairo/util/show-polygon.c:614,1
    - Dst: g_print
      Src: /src/cairo/util/show-polygon.c:626,1
    - Dst: gtk_window_new
      Src: /src/cairo/util/show-polygon.c:637,1
    - Dst: gtk_widget_show_all
      Src: /src/cairo/util/show-polygon.c:642,1
    - Dst: fopen
      Src: /src/cairo/util/show-polygon.c:605,1
    - Dst: polygon_new
      Src: /src/cairo/util/show-polygon.c:618,1
    - Dst: fclose
      Src: /src/cairo/util/show-polygon.c:631,1
    - Dst: G_CALLBACK
      Src: /src/cairo/util/show-polygon.c:639,1
    - Dst: atof
      Src: /src/cairo/util/show-polygon.c:635,1
    - Dst: gtk_widget_set_size_request
      Src: /src/cairo/util/show-polygon.c:640,1
    - Dst: g_signal_connect
      Src: /src/cairo/util/show-polygon.c:638,1
    - Dst: gtk_main
      Src: /src/cairo/util/show-polygon.c:644,1
    - Dst: g_object_new
      Src: /src/cairo/util/show-polygon.c:603,1
    - Dst: polygon_new
      Src: /src/cairo/util/show-polygon.c:616,1
    - Dst: sscanf
      Src: /src/cairo/util/show-polygon.c:619,1
    - Dst: gtk_container_add
      Src: /src/cairo/util/show-polygon.c:641,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 646
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 646
    functionName: main
    functionSourceFile: /src/cairo/util/show-polygon.c
    functionUses: []
    functionsReached:
    - getline
    - polygon_new
    - _polygon_add_edge
    - g_signal_connect
    - gtk_widget_show_all
    - gtk_init
    - gtk_container_add
    - sscanf
    - gtk_main
    - g_print
    - polygon_view_get_type
    - g_object_new
    - atof
    - gtk_window_new
    - GTK_CONTAINER
    - fclose
    - G_CALLBACK
    - gtk_widget_set_size_request
    - strncmp
    - fopen
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_select_font_face
      Src: /src/cairo/util/font-view.c:47,1
    - Dst: cairo_text_extents
      Src: /src/cairo/util/font-view.c:51,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/util/font-view.c:49,1
    - Dst: cairo_font_extents
      Src: /src/cairo/util/font-view.c:56,1
    - Dst: cairo_translate
      Src: /src/cairo/util/font-view.c:52,1
    - Dst: cairo_rectangle
      Src: /src/cairo/util/font-view.c:57,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/font-view.c:59,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/font-view.c:60,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/util/font-view.c:61,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/font-view.c:62,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/util/font-view.c:67,1
    - Dst: cairo_show_text
      Src: /src/cairo/util/font-view.c:72,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/font-view.c:71,1
    - Dst: cairo_rectangle
      Src: /src/cairo/util/font-view.c:64,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/font-view.c:68,1
    - Dst: cairo_fill
      Src: /src/cairo/util/font-view.c:73,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/font-view.c:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - cr
    - options
    argTypes:
    - cairo_t*
    - struct options*
    constantsTouched: []
    func_position:
      end: 74
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 74
    functionName: draw
    functionSourceFile: /src/cairo/util/font-view.c
    functionUses: []
    functionsReached:
    - cairo_show_text
    - cairo_set_source_rgba
    - cairo_set_source_rgb
    - cairo_line_to
    - cairo_font_extents
    - cairo_set_font_size
    - cairo_stroke
    - cairo_select_font_face
    - cairo_fill
    - cairo_translate
    - cairo_text_extents
    - cairo_move_to
    - cairo_rectangle
    linkageType: ''
    returnType: void
    signature: 'static void draw (cairo_t *cr, struct options *options) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gdk_cairo_create
      Src: /src/cairo/util/font-view.c:81,1
    - Dst: cairo_paint
      Src: /src/cairo/util/font-view.c:84,1
    - Dst: cairo_destroy
      Src: /src/cairo/util/font-view.c:88,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/font-view.c:83,1
    - Dst: draw
      Src: /src/cairo/util/font-view.c:86,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/util/font-view.c:93,1
    - Dst: cairo_create
      Src: /src/cairo/util/font-view.c:96,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/font-view.c:97,1
    - Dst: cairo_paint
      Src: /src/cairo/util/font-view.c:98,1
    - Dst: draw
      Src: /src/cairo/util/font-view.c:100,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/util/font-view.c:104,1
    - Dst: cairo_surface_write_to_png
      Src: /src/cairo/util/font-view.c:103,1
    - Dst: cairo_destroy
      Src: /src/cairo/util/font-view.c:102,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 3
    argNames:
    - w
    - ev
    - options
    argTypes:
    - GtkWidget*
    - GdkEventExpose*
    - struct options*
    constantsTouched: []
    func_position:
      end: 108
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 108
    functionName: expose_event
    functionSourceFile: /src/cairo/util/font-view.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - gdk_cairo_create
    - cairo_create
    - cairo_surface_write_to_png
    - cairo_surface_destroy
    - cairo_image_surface_create
    - cairo_set_source_rgb
    - cairo_destroy
    - draw
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean expose_event (GtkWidget *w, GdkEventExpose *ev, struct
      options *options) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gtk_init
      Src: /src/cairo/util/font-view.c:146,1
    - Dst: strcmp
      Src: /src/cairo/util/font-view.c:153,1
    - Dst: strcmp
      Src: /src/cairo/util/font-view.c:155,1
    - Dst: atoi
      Src: /src/cairo/util/font-view.c:158,1
    - Dst: strcmp
      Src: /src/cairo/util/font-view.c:161,1
    - Dst: atoi
      Src: /src/cairo/util/font-view.c:164,1
    - Dst: atof
      Src: /src/cairo/util/font-view.c:167,1
    - Dst: gtk_window_new
      Src: /src/cairo/util/font-view.c:173,1
    - Dst: g_signal_connect
      Src: /src/cairo/util/font-view.c:174,1
    - Dst: G_CALLBACK
      Src: /src/cairo/util/font-view.c:175,1
    - Dst: gtk_window_present
      Src: /src/cairo/util/font-view.c:181,1
    - Dst: gtk_main
      Src: /src/cairo/util/font-view.c:182,1
    - Dst: g_signal_connect
      Src: /src/cairo/util/font-view.c:178,1
    - Dst: GTK_WINDOW
      Src: /src/cairo/util/font-view.c:181,1
    - Dst: g_signal_connect
      Src: /src/cairo/util/font-view.c:176,1
    - Dst: G_CALLBACK
      Src: /src/cairo/util/font-view.c:177,1
    - Dst: G_CALLBACK
      Src: /src/cairo/util/font-view.c:179,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 185
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 185
    functionName: main
    functionSourceFile: /src/cairo/util/font-view.c
    functionUses: []
    functionsReached:
    - gtk_init
    - strcmp
    - atof
    - G_CALLBACK
    - GTK_WINDOW
    - gtk_window_present
    - gtk_main
    - gtk_window_new
    - atoi
    - g_signal_connect
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create
      Src: /src/cairo/util/font-view.c:117,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/util/font-view.c:119,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/util/font-view.c:123,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/util/font-view.c:121,1
    - Dst: cairo_create
      Src: /src/cairo/util/font-view.c:118,1
    - Dst: cairo_text_extents
      Src: /src/cairo/util/font-view.c:125,1
    - Dst: cairo_destroy
      Src: /src/cairo/util/font-view.c:126,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - w
    - req
    - options
    argTypes:
    - GtkWidget*
    - GtkRequisition*
    - struct options*
    constantsTouched: []
    func_position:
      end: 130
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 130
    functionName: size_request
    functionSourceFile: /src/cairo/util/font-view.c
    functionUses: []
    functionsReached:
    - cairo_destroy
    - cairo_create
    - cairo_set_font_size
    - cairo_surface_destroy
    - cairo_image_surface_create
    - cairo_select_font_face
    - cairo_text_extents
    linkageType: ''
    returnType: void
    signature: 'static void size_request (GtkWidget *w, GtkRequisition *req , struct
      options *options) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - line
    - y
    argTypes:
    - line_t*
    - gdouble
    constantsTouched: []
    func_position:
      end: 91
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 91
    functionName: _compute_intersection_x_for_y
    functionSourceFile: /src/cairo/util/show-traps.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gdouble
    signature: "static gdouble _compute_intersection_x_for_y (const line_t *line,\t\
      \t\t gdouble y) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: cairo_paint
      Src: /src/cairo/util/show-traps.c:155,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/util/show-traps.c:186,1
    - Dst: cairo_set_dash
      Src: /src/cairo/util/show-traps.c:194,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-traps.c:222,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-traps.c:244,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-traps.c:214,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/util/show-traps.c:262,1
    - Dst: cairo_translate
      Src: /src/cairo/util/show-traps.c:271,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-traps.c:324,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-traps.c:348,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-traps.c:242,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-traps.c:201,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-traps.c:206,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-traps.c:240,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-traps.c:269,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-traps.c:312,1
    - Dst: cairo_close_path
      Src: /src/cairo/util/show-traps.c:346,1
    - Dst: cairo_set_dash
      Src: /src/cairo/util/show-traps.c:349,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/util/show-traps.c:351,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-traps.c:352,1
    - Dst: cairo_translate
      Src: /src/cairo/util/show-traps.c:323,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/util/show-traps.c:197,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/util/show-traps.c:192,1
    - Dst: floor
      Src: /src/cairo/util/show-traps.c:193,1
    - Dst: floor
      Src: /src/cairo/util/show-traps.c:198,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-traps.c:215,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-traps.c:246,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-traps.c:250,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-traps.c:258,1
    - Dst: cairo_close_path
      Src: /src/cairo/util/show-traps.c:295,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-traps.c:300,1
    - Dst: cairo_set_dash
      Src: /src/cairo/util/show-traps.c:227,1
    - Dst: cairo_scale
      Src: /src/cairo/util/show-traps.c:234,1
    - Dst: cairo_scale
      Src: /src/cairo/util/show-traps.c:158,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-traps.c:164,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-traps.c:166,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-traps.c:168,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-traps.c:170,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-traps.c:224,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-traps.c:276,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-traps.c:278,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-traps.c:211,1
    - Dst: cairo_translate
      Src: /src/cairo/util/show-traps.c:159,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-traps.c:193,1
    - Dst: fmod
      Src: /src/cairo/util/show-traps.c:194,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-traps.c:198,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-traps.c:251,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-traps.c:279,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-traps.c:286,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/util/show-traps.c:310,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-traps.c:311,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-traps.c:314,1
    - Dst: floor
      Src: /src/cairo/util/show-traps.c:203,1
    - Dst: cairo_translate
      Src: /src/cairo/util/show-traps.c:217,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-traps.c:239,1
    - Dst: ceil
      Src: /src/cairo/util/show-traps.c:208,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-traps.c:260,1
    - Dst: cairo_set_dash
      Src: /src/cairo/util/show-traps.c:263,1
    - Dst: cairo_scale
      Src: /src/cairo/util/show-traps.c:270,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-traps.c:296,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-traps.c:326,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-traps.c:345,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-traps.c:229,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-traps.c:154,1
    - Dst: cairo_create
      Src: /src/cairo/util/show-traps.c:153,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-traps.c:191,1
    - Dst: floor
      Src: /src/cairo/util/show-traps.c:194,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-traps.c:196,1
    - Dst: cairo_scale
      Src: /src/cairo/util/show-traps.c:216,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-traps.c:281,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-traps.c:287,1
    - Dst: cairo_destroy
      Src: /src/cairo/util/show-traps.c:358,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-traps.c:340,1
    - Dst: cairo_close_path
      Src: /src/cairo/util/show-traps.c:304,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-traps.c:325,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-traps.c:241,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-traps.c:157,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-traps.c:181,1
    - Dst: cairo_translate
      Src: /src/cairo/util/show-traps.c:253,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-traps.c:275,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-traps.c:307,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-traps.c:321,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-traps.c:329,1
    - Dst: floor
      Src: /src/cairo/util/show-traps.c:203,1
    - Dst: cairo_set_dash
      Src: /src/cairo/util/show-traps.c:333,1
    - Dst: MIN
      Src: /src/cairo/util/show-traps.c:144,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-traps.c:245,1
    - Dst: cairo_scale
      Src: /src/cairo/util/show-traps.c:252,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-traps.c:265,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-traps.c:282,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-traps.c:294,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-traps.c:299,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-traps.c:306,1
    - Dst: cairo_close_path
      Src: /src/cairo/util/show-traps.c:344,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-traps.c:347,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-traps.c:338,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-traps.c:209,1
    - Dst: cairo_close_path
      Src: /src/cairo/util/show-traps.c:172,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-traps.c:277,1
    - Dst: cairo_translate
      Src: /src/cairo/util/show-traps.c:289,1
    - Dst: cairo_close_path
      Src: /src/cairo/util/show-traps.c:298,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-traps.c:303,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/util/show-traps.c:309,1
    - Dst: cairo_set_dash
      Src: /src/cairo/util/show-traps.c:330,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-traps.c:332,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/util/show-traps.c:336,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-traps.c:261,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-traps.c:221,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-traps.c:175,1
    - Dst: floor
      Src: /src/cairo/util/show-traps.c:193,1
    - Dst: ceil
      Src: /src/cairo/util/show-traps.c:198,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-traps.c:257,1
    - Dst: cairo_scale
      Src: /src/cairo/util/show-traps.c:288,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/util/show-traps.c:337,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-traps.c:355,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-traps.c:225,1
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/util/show-traps.c:104,1
    - Dst: cairo_set_dash
      Src: /src/cairo/util/show-traps.c:204,1
    - Dst: cairo_scale
      Src: /src/cairo/util/show-traps.c:322,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/util/show-traps.c:160,1
    - Dst: cairo_fill
      Src: /src/cairo/util/show-traps.c:173,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-traps.c:280,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-traps.c:293,1
    - Dst: cairo_close_path
      Src: /src/cairo/util/show-traps.c:301,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-traps.c:316,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-traps.c:232,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/util/show-traps.c:207,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-traps.c:169,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-traps.c:167,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-traps.c:171,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-traps.c:165,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-traps.c:178,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/util/show-traps.c:184,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/util/show-traps.c:187,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/util/show-traps.c:202,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-traps.c:228,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-traps.c:199,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/util/show-traps.c:226,1
    - Dst: cairo_translate
      Src: /src/cairo/util/show-traps.c:235,1
    - Dst: cairo_matrix_init_scale
      Src: /src/cairo/util/show-traps.c:183,1
    - Dst: cairo_scale
      Src: /src/cairo/util/show-traps.c:341,1
    - Dst: cairo_translate
      Src: /src/cairo/util/show-traps.c:342,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-traps.c:343,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/util/show-traps.c:350,1
    - Dst: floor
      Src: /src/cairo/util/show-traps.c:208,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-traps.c:208,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-traps.c:233,1
    - Dst: fmod
      Src: /src/cairo/util/show-traps.c:204,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-traps.c:203,1
    - Dst: floor
      Src: /src/cairo/util/show-traps.c:204,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-traps.c:247,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-traps.c:264,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-traps.c:268,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-traps.c:297,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-traps.c:302,1
    - Dst: cairo_set_dash
      Src: /src/cairo/util/show-traps.c:308,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 282
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 360
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 360
    functionName: pixmap_create
    functionSourceFile: /src/cairo/util/show-traps.c
    functionUses: []
    functionsReached:
    - cairo_set_line_width
    - cairo_matrix_init_scale
    - cairo_set_dash
    - cairo_close_path
    - cairo_translate
    - cairo_surface_create_similar
    - floor
    - cairo_set_source_rgba
    - cairo_matrix_translate
    - _compute_intersection_point
    - cairo_create
    - cairo_save
    - ceil
    - cairo_line_to
    - MIN
    - cairo_stroke
    - cairo_restore
    - cairo_fill
    - cairo_destroy
    - cairo_paint
    - cairo_scale
    - cairo_set_line_cap
    - cairo_matrix_transform_point
    - cairo_set_source_rgb
    - fmod
    - cairo_move_to
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *pixmap_create (TrapView *self, cairo_surface_t
      *target) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - klass
    argTypes:
    - TrapViewClass*
    constantsTouched: []
    func_position:
      end: 934
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 934
    functionName: trap_view_class_init
    functionSourceFile: /src/cairo/util/show-traps.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void trap_view_class_init (TrapViewClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _compute_intersection_x_for_y
      Src: /src/cairo/util/show-traps.c:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - line
    - y
    - p
    argTypes:
    - line_t*
    - gdouble
    - point_t*
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: _compute_intersection_point
    functionSourceFile: /src/cairo/util/show-traps.c
    functionUses: []
    functionsReached:
    - _compute_intersection_x_for_y
    linkageType: ''
    returnType: void
    signature: "static void _compute_intersection_point (const line_t *line,\t\t\t\
      \ gdouble y,\t\t\t point_t *p) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cairo_rectangle
      Src: /src/cairo/util/show-traps.c:433,1
    - Dst: cairo_close_path
      Src: /src/cairo/util/show-traps.c:456,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-traps.c:462,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-traps.c:473,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-traps.c:478,1
    - Dst: floor
      Src: /src/cairo/util/show-traps.c:476,1
    - Dst: cairo_set_dash
      Src: /src/cairo/util/show-traps.c:582,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/util/show-traps.c:584,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-traps.c:585,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-traps.c:589,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-traps.c:435,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-traps.c:496,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/util/show-traps.c:506,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-traps.c:539,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-traps.c:549,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-traps.c:551,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-traps.c:556,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-traps.c:550,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/util/show-traps.c:583,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-traps.c:576,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-traps.c:504,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-traps.c:442,1
    - Dst: cairo_set_dash
      Src: /src/cairo/util/show-traps.c:507,1
    - Dst: cairo_scale
      Src: /src/cairo/util/show-traps.c:544,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-traps.c:553,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-traps.c:568,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-traps.c:573,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-traps.c:599,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-traps.c:574,1
    - Dst: cairo_paint
      Src: /src/cairo/util/show-traps.c:386,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/util/show-traps.c:457,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-traps.c:491,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-traps.c:502,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-traps.c:511,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/util/show-traps.c:522,1
    - Dst: cairo_close_path
      Src: /src/cairo/util/show-traps.c:572,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/util/show-traps.c:601,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-traps.c:604,1
    - Dst: ceil
      Src: /src/cairo/util/show-traps.c:480,1
    - Dst: floor
      Src: /src/cairo/util/show-traps.c:475,1
    - Dst: cairo_translate
      Src: /src/cairo/util/show-traps.c:498,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-traps.c:520,1
    - Dst: cairo_set_dash
      Src: /src/cairo/util/show-traps.c:523,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-traps.c:534,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-traps.c:536,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-traps.c:541,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-traps.c:555,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-traps.c:559,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-traps.c:423,1
    - Dst: cairo_set_dash
      Src: /src/cairo/util/show-traps.c:486,1
    - Dst: cairo_scale
      Src: /src/cairo/util/show-traps.c:497,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-traps.c:518,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-traps.c:528,1
    - Dst: cairo_translate
      Src: /src/cairo/util/show-traps.c:530,1
    - Dst: cairo_translate
      Src: /src/cairo/util/show-traps.c:564,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-traps.c:577,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-traps.c:581,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-traps.c:596,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-traps.c:387,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-traps.c:449,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-traps.c:451,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-traps.c:453,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-traps.c:455,1
    - Dst: cairo_translate
      Src: /src/cairo/util/show-traps.c:513,1
    - Dst: cairo_close_path
      Src: /src/cairo/util/show-traps.c:575,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-traps.c:597,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/util/show-traps.c:602,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-traps.c:603,1
    - Dst: floor
      Src: /src/cairo/util/show-traps.c:490,1
    - Dst: floor
      Src: /src/cairo/util/show-traps.c:485,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-traps.c:493,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/util/show-traps.c:489,1
    - Dst: cairo_get_target
      Src: /src/cairo/util/show-traps.c:379,1
    - Dst: cairo_translate
      Src: /src/cairo/util/show-traps.c:444,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-traps.c:467,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/util/show-traps.c:469,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/util/show-traps.c:484,1
    - Dst: cairo_scale
      Src: /src/cairo/util/show-traps.c:512,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/util/show-traps.c:465,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-traps.c:481,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-traps.c:567,1
    - Dst: cairo_close_path
      Src: /src/cairo/util/show-traps.c:569,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/util/show-traps.c:385,1
    - Dst: cairo_stroke_preserve
      Src: /src/cairo/util/show-traps.c:434,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-traps.c:485,1
    - Dst: fmod
      Src: /src/cairo/util/show-traps.c:486,1
    - Dst: floor
      Src: /src/cairo/util/show-traps.c:486,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-traps.c:490,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-traps.c:509,1
    - Dst: cairo_scale
      Src: /src/cairo/util/show-traps.c:529,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-traps.c:538,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-traps.c:571,1
    - Dst: fmod
      Src: /src/cairo/util/show-traps.c:594,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-traps.c:495,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-traps.c:505,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/util/show-traps.c:378,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/util/show-traps.c:468,1
    - Dst: cairo_set_dash
      Src: /src/cairo/util/show-traps.c:476,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-traps.c:533,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-traps.c:535,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-traps.c:554,1
    - Dst: cairo_scale
      Src: /src/cairo/util/show-traps.c:563,1
    - Dst: fmod
      Src: /src/cairo/util/show-traps.c:593,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/show-traps.c:521,1
    - Dst: cairo_translate
      Src: /src/cairo/util/show-traps.c:545,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-traps.c:488,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-traps.c:430,1
    - Dst: cairo_fill_preserve
      Src: /src/cairo/util/show-traps.c:436,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-traps.c:483,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-traps.c:525,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-traps.c:540,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-traps.c:542,1
    - Dst: cairo_translate
      Src: /src/cairo/util/show-traps.c:592,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-traps.c:607,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-traps.c:598,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-traps.c:384,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-traps.c:448,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-traps.c:450,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-traps.c:452,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-traps.c:454,1
    - Dst: floor
      Src: /src/cairo/util/show-traps.c:480,1
    - Dst: floor
      Src: /src/cairo/util/show-traps.c:475,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/util/show-traps.c:479,1
    - Dst: cairo_matrix_transform_point
      Src: /src/cairo/util/show-traps.c:474,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-traps.c:508,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-traps.c:548,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-traps.c:562,1
    - Dst: cairo_translate
      Src: /src/cairo/util/show-traps.c:440,1
    - Dst: cairo_fill
      Src: /src/cairo/util/show-traps.c:458,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-traps.c:460,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-traps.c:501,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-traps.c:580,1
    - Dst: cairo_restore
      Src: /src/cairo/util/show-traps.c:586,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-traps.c:510,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-traps.c:543,1
    - Dst: cairo_matrix_init_scale
      Src: /src/cairo/util/show-traps.c:464,1
    - Dst: fmod
      Src: /src/cairo/util/show-traps.c:476,1
    - Dst: pixmap_create
      Src: /src/cairo/util/show-traps.c:379,1
    - Dst: MIN
      Src: /src/cairo/util/show-traps.c:414,1
    - Dst: cairo_clip
      Src: /src/cairo/util/show-traps.c:437,1
    - Dst: cairo_scale
      Src: /src/cairo/util/show-traps.c:443,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/show-traps.c:480,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-traps.c:475,1
    - Dst: cairo_stroke
      Src: /src/cairo/util/show-traps.c:524,1
    - Dst: cairo_save
      Src: /src/cairo/util/show-traps.c:527,1
    - Dst: ceil
      Src: /src/cairo/util/show-traps.c:490,1
    - Dst: floor
      Src: /src/cairo/util/show-traps.c:485,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-traps.c:517,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-traps.c:570,1
    - Dst: cairo_close_path
      Src: /src/cairo/util/show-traps.c:578,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 328
    argCount: 2
    argNames:
    - self
    - cr
    argTypes:
    - TrapView*
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 608
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 608
    functionName: trap_view_draw
    functionSourceFile: /src/cairo/util/show-traps.c
    functionUses: []
    functionsReached:
    - pixmap_create
    - cairo_set_line_width
    - cairo_matrix_init_scale
    - cairo_set_dash
    - cairo_close_path
    - cairo_get_target
    - cairo_translate
    - cairo_fill_preserve
    - cairo_set_source_surface
    - cairo_rectangle
    - floor
    - cairo_set_source_rgba
    - cairo_matrix_translate
    - _compute_intersection_point
    - cairo_save
    - cairo_stroke_preserve
    - cairo_clip
    - ceil
    - cairo_line_to
    - MIN
    - cairo_stroke
    - cairo_restore
    - cairo_fill
    - cairo_paint
    - cairo_surface_destroy
    - cairo_scale
    - cairo_set_line_cap
    - cairo_matrix_transform_point
    - cairo_set_source_rgb
    - fmod
    - cairo_move_to
    linkageType: ''
    returnType: void
    signature: 'static void trap_view_draw (TrapView *self, cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTK_WIDGET_SET_FLAGS
      Src: /src/cairo/util/show-traps.c:942,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - self
    argTypes:
    - TrapView*
    constantsTouched: []
    func_position:
      end: 943
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 943
    functionName: trap_view_init
    functionSourceFile: /src/cairo/util/show-traps.c
    functionUses: []
    functionsReached:
    - GTK_WIDGET_SET_FLAGS
    linkageType: ''
    returnType: void
    signature: 'static void trap_view_init (TrapView *self) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _compute_intersection_x_for_y
      Src: /src/cairo/util/show-traps.c:619,1
    - Dst: _compute_intersection_x_for_y
      Src: /src/cairo/util/show-traps.c:627,1
    - Dst: _compute_intersection_x_for_y
      Src: /src/cairo/util/show-traps.c:620,1
    - Dst: _compute_intersection_x_for_y
      Src: /src/cairo/util/show-traps.c:628,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 1
    argNames:
    - t
    argTypes:
    - trapezoid_t*
    constantsTouched: []
    func_position:
      end: 653
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 653
    functionName: trapezoid_area
    functionSourceFile: /src/cairo/util/show-traps.c
    functionUses: []
    functionsReached:
    - _compute_intersection_x_for_y
    linkageType: ''
    returnType: gdouble
    signature: 'static gdouble trapezoid_area (const trapezoid_t *t) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk_widget_queue_draw
      Src: /src/cairo/util/show-traps.c:826,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - self
    - ev
    argTypes:
    - TrapView*
    - GdkEventMotion*
    constantsTouched: []
    func_position:
      end: 827
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 827
    functionName: trap_view_update_mouse
    functionSourceFile: /src/cairo/util/show-traps.c
    functionUses: []
    functionsReached:
    - gtk_widget_queue_draw
    linkageType: ''
    returnType: void
    signature: 'static void trap_view_update_mouse (TrapView *self, GdkEventMotion
      *ev) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTK_WIDGET_CLASS
      Src: /src/cairo/util/show-traps.c:907,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - w
    - r
    argTypes:
    - GtkWidget*
    - GdkRectangle*
    constantsTouched: []
    func_position:
      end: 911
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 911
    functionName: trap_view_size_allocate
    functionSourceFile: /src/cairo/util/show-traps.c
    functionUses: []
    functionsReached:
    - GTK_WIDGET_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void trap_view_size_allocate (GtkWidget *w, GdkRectangle *r) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-traps.c:1024,1
    - Dst: _compute_intersection_point
      Src: /src/cairo/util/show-traps.c:1025,1
    - Dst: g_realloc
      Src: /src/cairo/util/show-traps.c:1041,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1016
    functionDepth: 0
    functionLinenumber: 1016
    functionLinenumberEnd: 1063
    functionName: _edges_add_edge
    functionSourceFile: /src/cairo/util/show-traps.c
    functionUses: []
    functionsReached:
    - g_realloc
    - _compute_intersection_point
    linkageType: ''
    returnType: edges_t*
    signature: 'static edges_t *_edges_add_edge (TrapView *tv, edges_t *edges, edge_t
      *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trapezoid_area
      Src: /src/cairo/util/show-traps.c:661,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - traps
    argTypes:
    - traps_t*
    constantsTouched: []
    func_position:
      end: 663
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 663
    functionName: traps_compute_total_area
    functionSourceFile: /src/cairo/util/show-traps.c
    functionUses: []
    functionsReached:
    - trapezoid_area
    linkageType: ''
    returnType: gdouble
    signature: 'static gdouble traps_compute_total_area (const traps_t *traps) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk_widget_queue_draw
      Src: /src/cairo/util/show-traps.c:835,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - self
    - xy
    argTypes:
    - TrapView*
    - gint*
    constantsTouched: []
    func_position:
      end: 836
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 836
    functionName: trap_view_update_magnifier
    functionSourceFile: /src/cairo/util/show-traps.c
    functionUses: []
    functionsReached:
    - gtk_widget_queue_draw
    linkageType: ''
    returnType: void
    signature: 'static void trap_view_update_magnifier (TrapView *self, gint *xy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/cairo/util/show-traps.c:916,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 917
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 917
    functionName: trap_view_finalize
    functionSourceFile: /src/cairo/util/show-traps.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void trap_view_finalize (GObject *obj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/cairo/util/show-traps.c:1070,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1088
    functionName: edges_new
    functionSourceFile: /src/cairo/util/show-traps.c
    functionUses: []
    functionsReached:
    - g_malloc
    linkageType: ''
    returnType: edges_t*
    signature: 'static edges_t *edges_new (TrapView *tv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/cairo/util/show-traps.c:737,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - group
    - func
    - data
    argTypes:
    - TrapView*
    - GFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 740
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 740
    functionName: trap_view_group_foreach
    functionSourceFile: /src/cairo/util/show-traps.c
    functionUses: []
    functionsReached:
    - func
    linkageType: ''
    returnType: void
    signature: 'static void trap_view_group_foreach (TrapView *group, GFunc func,
      gpointer data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: trap_view_group_foreach
      Src: /src/cairo/util/show-traps.c:849,1
    - Dst: trap_view_group_foreach
      Src: /src/cairo/util/show-traps.c:860,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - w
    - ev
    argTypes:
    - GtkWidget*
    - GdkEventMotion*
    constantsTouched: []
    func_position:
      end: 866
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 866
    functionName: trap_view_motion
    functionSourceFile: /src/cairo/util/show-traps.c
    functionUses: []
    functionsReached:
    - trap_view_group_foreach
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean trap_view_motion (GtkWidget *w, GdkEventMotion *ev) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_realloc
      Src: /src/cairo/util/show-traps.c:967,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 989
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 989
    functionName: _traps_add_trapezoid
    functionSourceFile: /src/cairo/util/show-traps.c
    functionUses: []
    functionsReached:
    - g_realloc
    linkageType: ''
    returnType: traps_t*
    signature: 'static traps_t *_traps_add_trapezoid (TrapView *tv, traps_t *traps,
      const trapezoid_t *trap) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: trap_view_group_foreach
      Src: /src/cairo/util/show-traps.c:749,1
    - Dst: gtk_main_quit
      Src: /src/cairo/util/show-traps.c:768,1
    - Dst: trap_view_group_foreach
      Src: /src/cairo/util/show-traps.c:755,1
    - Dst: trap_view_group_foreach
      Src: /src/cairo/util/show-traps.c:761,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    argCount: 2
    argNames:
    - w
    - ev
    argTypes:
    - GtkWidget*
    - GdkEventKey*
    constantsTouched: []
    func_position:
      end: 773
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 773
    functionName: trap_view_key_press
    functionSourceFile: /src/cairo/util/show-traps.c
    functionUses: []
    functionsReached:
    - trap_view_group_foreach
    - gtk_main_quit
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean trap_view_key_press (GtkWidget *w, GdkEventKey *ev) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTK_WIDGET_SET_FLAGS
      Src: /src/cairo/util/show-traps.c:873,1
    - Dst: gtk_widget_get_visual
      Src: /src/cairo/util/show-traps.c:881,1
    - Dst: gtk_widget_get_colormap
      Src: /src/cairo/util/show-traps.c:882,1
    - Dst: gtk_widget_get_events
      Src: /src/cairo/util/show-traps.c:883,1
    - Dst: gdk_window_new
      Src: /src/cairo/util/show-traps.c:892,1
    - Dst: gtk_widget_get_parent_window
      Src: /src/cairo/util/show-traps.c:892,1
    - Dst: gdk_window_set_user_data
      Src: /src/cairo/util/show-traps.c:896,1
    - Dst: gtk_style_attach
      Src: /src/cairo/util/show-traps.c:898,1
    - Dst: gtk_style_set_background
      Src: /src/cairo/util/show-traps.c:899,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 1
    argNames:
    - widget
    argTypes:
    - GtkWidget*
    constantsTouched: []
    func_position:
      end: 900
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 900
    functionName: trap_view_realize
    functionSourceFile: /src/cairo/util/show-traps.c
    functionUses: []
    functionsReached:
    - gtk_style_attach
    - gtk_widget_get_colormap
    - gtk_widget_get_visual
    - gtk_style_set_background
    - gtk_widget_get_parent_window
    - GTK_WIDGET_SET_FLAGS
    - gdk_window_new
    - gdk_window_set_user_data
    - gtk_widget_get_events
    linkageType: ''
    returnType: void
    signature: 'static void trap_view_realize (GtkWidget *widget) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/cairo/util/show-traps.c:996,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 1014
    functionName: traps_new
    functionSourceFile: /src/cairo/util/show-traps.c
    functionUses: []
    functionsReached:
    - g_malloc
    linkageType: ''
    returnType: traps_t*
    signature: 'static traps_t *traps_new (TrapView *tv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: traps_compute_total_area
      Src: /src/cairo/util/show-traps.c:679,1
    - Dst: g_free
      Src: /src/cairo/util/show-traps.c:685,1
    - Dst: gtk_widget_create_pango_layout
      Src: /src/cairo/util/show-traps.c:684,1
    - Dst: pango_layout_get_pixel_size
      Src: /src/cairo/util/show-traps.c:687,1
    - Dst: g_strdup_printf
      Src: /src/cairo/util/show-traps.c:680,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/show-traps.c:689,1
    - Dst: pango_cairo_show_layout
      Src: /src/cairo/util/show-traps.c:690,1
    - Dst: g_object_unref
      Src: /src/cairo/util/show-traps.c:691,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - self
    - cr
    argTypes:
    - TrapView*
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 692
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 692
    functionName: trap_view_draw_labels
    functionSourceFile: /src/cairo/util/show-traps.c
    functionUses: []
    functionsReached:
    - traps_compute_total_area
    - g_strdup_printf
    - g_object_unref
    - cairo_move_to
    - gtk_widget_create_pango_layout
    - pango_cairo_show_layout
    - g_free
    - pango_layout_get_pixel_size
    linkageType: ''
    returnType: void
    signature: 'static void trap_view_draw_labels (TrapView *self, cairo_t *cr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gtk_widget_queue_draw
      Src: /src/cairo/util/show-traps.c:719,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - self
    argTypes:
    - TrapView*
    constantsTouched: []
    func_position:
      end: 720
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 720
    functionName: trap_view_advance
    functionSourceFile: /src/cairo/util/show-traps.c
    functionUses: []
    functionsReached:
    - gtk_widget_queue_draw
    linkageType: ''
    returnType: void
    signature: 'static void trap_view_advance (TrapView *self) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: trap_view_group_foreach
      Src: /src/cairo/util/show-traps.c:790,1
    - Dst: trap_view_group_foreach
      Src: /src/cairo/util/show-traps.c:794,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - w
    - ev
    argTypes:
    - GtkWidget*
    - GdkEventButton*
    constantsTouched: []
    func_position:
      end: 808
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 808
    functionName: trap_view_button_press
    functionSourceFile: /src/cairo/util/show-traps.c
    functionUses: []
    functionsReached:
    - trap_view_group_foreach
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean trap_view_button_press (GtkWidget *w, GdkEventButton
      *ev) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gdk_cairo_create
      Src: /src/cairo/util/show-traps.c:700,1
    - Dst: gdk_cairo_region
      Src: /src/cairo/util/show-traps.c:701,1
    - Dst: cairo_clip
      Src: /src/cairo/util/show-traps.c:702,1
    - Dst: trap_view_draw
      Src: /src/cairo/util/show-traps.c:704,1
    - Dst: trap_view_draw_labels
      Src: /src/cairo/util/show-traps.c:705,1
    - Dst: cairo_destroy
      Src: /src/cairo/util/show-traps.c:707,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - w
    - ev
    argTypes:
    - GtkWidget*
    - GdkEventExpose*
    constantsTouched: []
    func_position:
      end: 709
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 709
    functionName: trap_view_expose
    functionSourceFile: /src/cairo/util/show-traps.c
    functionUses: []
    functionsReached:
    - gdk_cairo_create
    - trap_view_draw_labels
    - trap_view_draw
    - cairo_destroy
    - cairo_clip
    - gdk_cairo_region
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean trap_view_expose (GtkWidget *w, GdkEventExpose *ev) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gtk_widget_queue_draw
      Src: /src/cairo/util/show-traps.c:730,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - self
    argTypes:
    - TrapView*
    constantsTouched: []
    func_position:
      end: 731
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 731
    functionName: trap_view_back
    functionSourceFile: /src/cairo/util/show-traps.c
    functionUses: []
    functionsReached:
    - gtk_widget_queue_draw
    linkageType: ''
    returnType: void
    signature: 'static void trap_view_back (TrapView *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - w
    - ev
    argTypes:
    - GtkWidget*
    - GdkEventButton*
    constantsTouched: []
    func_position:
      end: 818
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 818
    functionName: trap_view_button_release
    functionSourceFile: /src/cairo/util/show-traps.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean trap_view_button_release (GtkWidget *w, GdkEventButton
      *ev) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/cairo/util/show-traps.c:1146,1
    - Dst: trap_view_get_type
      Src: /src/cairo/util/show-traps.c:1159,1
    - Dst: gtk_box_pack_start
      Src: /src/cairo/util/show-traps.c:1160,1
    - Dst: GTK_BOX
      Src: /src/cairo/util/show-traps.c:1160,1
    - Dst: getline
      Src: /src/cairo/util/show-traps.c:1173,1
    - Dst: sscanf
      Src: /src/cairo/util/show-traps.c:1176,1
    - Dst: traps_new
      Src: /src/cairo/util/show-traps.c:1190,1
    - Dst: free
      Src: /src/cairo/util/show-traps.c:1194,1
    - Dst: getline
      Src: /src/cairo/util/show-traps.c:1214,1
    - Dst: sscanf
      Src: /src/cairo/util/show-traps.c:1217,1
    - Dst: gtk_container_add
      Src: /src/cairo/util/show-traps.c:1305,1
    - Dst: trap_view_get_type
      Src: /src/cairo/util/show-traps.c:1253,1
    - Dst: g_print
      Src: /src/cairo/util/show-traps.c:1239,1
    - Dst: g_print
      Src: /src/cairo/util/show-traps.c:1186,1
    - Dst: fopen
      Src: /src/cairo/util/show-traps.c:1207,1
    - Dst: g_print
      Src: /src/cairo/util/show-traps.c:1238,1
    - Dst: traps_new
      Src: /src/cairo/util/show-traps.c:1284,1
    - Dst: gtk_widget_show
      Src: /src/cairo/util/show-traps.c:1255,1
    - Dst: gtk_widget_show
      Src: /src/cairo/util/show-traps.c:1306,1
    - Dst: g_object_new
      Src: /src/cairo/util/show-traps.c:1253,1
    - Dst: g_signal_connect
      Src: /src/cairo/util/show-traps.c:1302,1
    - Dst: traps_new
      Src: /src/cairo/util/show-traps.c:1120,1
    - Dst: fclose
      Src: /src/cairo/util/show-traps.c:1143,1
    - Dst: fopen
      Src: /src/cairo/util/show-traps.c:1153,1
    - Dst: g_object_new
      Src: /src/cairo/util/show-traps.c:1159,1
    - Dst: g_print
      Src: /src/cairo/util/show-traps.c:1187,1
    - Dst: g_print
      Src: /src/cairo/util/show-traps.c:1198,1
    - Dst: g_print
      Src: /src/cairo/util/show-traps.c:1199,1
    - Dst: edges_new
      Src: /src/cairo/util/show-traps.c:1213,1
    - Dst: _edges_add_edge
      Src: /src/cairo/util/show-traps.c:1223,1
    - Dst: g_print
      Src: /src/cairo/util/show-traps.c:1226,1
    - Dst: fopen
      Src: /src/cairo/util/show-traps.c:1247,1
    - Dst: gtk_widget_show
      Src: /src/cairo/util/show-traps.c:1161,1
    - Dst: free
      Src: /src/cairo/util/show-traps.c:1288,1
    - Dst: G_CALLBACK
      Src: /src/cairo/util/show-traps.c:1303,1
    - Dst: g_print
      Src: /src/cairo/util/show-traps.c:1281,1
    - Dst: _traps_add_trapezoid
      Src: /src/cairo/util/show-traps.c:1277,1
    - Dst: gtk_window_new
      Src: /src/cairo/util/show-traps.c:1301,1
    - Dst: GTK_BOX
      Src: /src/cairo/util/show-traps.c:1254,1
    - Dst: gtk_init
      Src: /src/cairo/util/show-traps.c:1097,1
    - Dst: gtk_hbox_new
      Src: /src/cairo/util/show-traps.c:1099,1
    - Dst: trap_view_get_type
      Src: /src/cairo/util/show-traps.c:1107,1
    - Dst: gtk_box_pack_start
      Src: /src/cairo/util/show-traps.c:1108,1
    - Dst: GTK_BOX
      Src: /src/cairo/util/show-traps.c:1108,1
    - Dst: gtk_widget_show
      Src: /src/cairo/util/show-traps.c:1109,1
    - Dst: getline
      Src: /src/cairo/util/show-traps.c:1121,1
    - Dst: free
      Src: /src/cairo/util/show-traps.c:1142,1
    - Dst: traps_new
      Src: /src/cairo/util/show-traps.c:1138,1
    - Dst: sscanf
      Src: /src/cairo/util/show-traps.c:1124,1
    - Dst: sscanf
      Src: /src/cairo/util/show-traps.c:1270,1
    - Dst: getline
      Src: /src/cairo/util/show-traps.c:1267,1
    - Dst: g_print
      Src: /src/cairo/util/show-traps.c:1293,1
    - Dst: g_print
      Src: /src/cairo/util/show-traps.c:1292,1
    - Dst: traps_new
      Src: /src/cairo/util/show-traps.c:1266,1
    - Dst: gtk_box_pack_start
      Src: /src/cairo/util/show-traps.c:1254,1
    - Dst: g_object_new
      Src: /src/cairo/util/show-traps.c:1107,1
    - Dst: fopen
      Src: /src/cairo/util/show-traps.c:1101,1
    - Dst: _traps_add_trapezoid
      Src: /src/cairo/util/show-traps.c:1131,1
    - Dst: g_print
      Src: /src/cairo/util/show-traps.c:1147,1
    - Dst: g_print
      Src: /src/cairo/util/show-traps.c:1135,1
    - Dst: traps_new
      Src: /src/cairo/util/show-traps.c:1172,1
    - Dst: _traps_add_trapezoid
      Src: /src/cairo/util/show-traps.c:1183,1
    - Dst: fclose
      Src: /src/cairo/util/show-traps.c:1195,1
    - Dst: g_print
      Src: /src/cairo/util/show-traps.c:1227,1
    - Dst: fclose
      Src: /src/cairo/util/show-traps.c:1235,1
    - Dst: gtk_widget_set_size_request
      Src: /src/cairo/util/show-traps.c:1304,1
    - Dst: GTK_CONTAINER
      Src: /src/cairo/util/show-traps.c:1305,1
    - Dst: free
      Src: /src/cairo/util/show-traps.c:1234,1
    - Dst: gtk_widget_show
      Src: /src/cairo/util/show-traps.c:1307,1
    - Dst: g_print
      Src: /src/cairo/util/show-traps.c:1280,1
    - Dst: gtk_main
      Src: /src/cairo/util/show-traps.c:1309,1
    - Dst: fclose
      Src: /src/cairo/util/show-traps.c:1289,1
    - Dst: g_print
      Src: /src/cairo/util/show-traps.c:1134,1
    - Dst: edges_new
      Src: /src/cairo/util/show-traps.c:1230,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 157
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1311
      start: 1090
    functionDepth: 0
    functionLinenumber: 1090
    functionLinenumberEnd: 1311
    functionName: main
    functionSourceFile: /src/cairo/util/show-traps.c
    functionUses: []
    functionsReached:
    - getline
    - GTK_BOX
    - g_signal_connect
    - gtk_init
    - gtk_container_add
    - sscanf
    - _traps_add_trapezoid
    - gtk_main
    - g_print
    - gtk_hbox_new
    - _edges_add_edge
    - g_object_new
    - gtk_box_pack_start
    - traps_new
    - gtk_window_new
    - trap_view_get_type
    - GTK_CONTAINER
    - edges_new
    - gtk_widget_show
    - fclose
    - free
    - G_CALLBACK
    - gtk_widget_set_size_request
    - fopen
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/cairo/util/cairo-missing/strndup.c:46,1
    - Dst: _cairo_malloc
      Src: /src/cairo/util/cairo-missing/strndup.c:52,1
    - Dst: memcpy
      Src: /src/cairo/util/cairo-missing/strndup.c:54,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 59
    functionName: strndup
    functionSourceFile: /src/cairo/util/cairo-missing/strndup.c
    functionUses: []
    functionsReached:
    - _cairo_malloc
    - memchr
    - memcpy
    linkageType: ''
    returnType: char*
    signature: "char *strndup (const char *s,\t size_t n) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_malloc
      Src: /src/cairo/util/cairo-missing/getline.c:54,1
    - Dst: free
      Src: /src/cairo/util/cairo-missing/getline.c:64,1
    - Dst: _cairo_realloc_ab
      Src: /src/cairo/util/cairo-missing/getline.c:61,1
    - Dst: unlikely
      Src: /src/cairo/util/cairo-missing/getline.c:62,1
    - Dst: unlikely
      Src: /src/cairo/util/cairo-missing/getline.c:55,1
    - Dst: getc
      Src: /src/cairo/util/cairo-missing/getline.c:71,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 3
    argNames:
    - lineptr
    - n
    - stream
    argTypes:
    - char**
    - size_t*
    - FILE*
    constantsTouched: []
    func_position:
      end: 87
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 87
    functionName: getline
    functionSourceFile: /src/cairo/util/cairo-missing/getline.c
    functionUses: []
    functionsReached:
    - _cairo_malloc
    - free
    - getc
    - _cairo_realloc_ab
    - unlikely
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t getline (char\t**lineptr,\t size_t *n,\t FILE\t *stream) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - csi_buffer_t*
    constantsTouched: []
    func_position:
      end: 232
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 232
    functionName: buffer_reset
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-scanner.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void buffer_reset (csi_buffer_t *buffer) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hex_add
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:583,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:589,1
    - Dst: csi_string_new
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:585,1
    - Dst: csi_array_append
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:593,1
    - Dst: longjmp
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:590,1
    - Dst: scan_push
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:597,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:598,1
    - Dst: longjmp
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:599,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - scan
    argTypes:
    - csi_t*
    - csi_scanner_t*
    constantsTouched: []
    func_position:
      end: 600
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 600
    functionName: hex_end
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-scanner.c
    functionUses: []
    functionsReached:
    - csi_string_new
    - csi_array_append
    - _csi_unlikely
    - hex_add
    - scan_push
    - longjmp
    linkageType: ''
    returnType: void
    signature: 'static void hex_end (csi_t *ctx, csi_scanner_t *scan) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 558
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 558
    functionName: hex_value
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-scanner.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int hex_value (int c) '
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 61
    argCount: 3
    argNames:
    - ctx
    - i
    - closure
    argTypes:
    - csi_t*
    - csi_integer_t
    - struct _translate_closure*
    constantsTouched: []
    func_position:
      end: 1552
      start: 1478
    functionDepth: 0
    functionLinenumber: 1478
    functionLinenumberEnd: 1552
    functionName: _translate_integer
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-scanner.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: csi_status_t
    signature: "static csi_status_t _translate_integer (csi_t *ctx,\t csi_integer_t\
      \ i,\t\t struct _translate_closure *closure) "
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1776,1
    - Dst: _translate_name
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1782,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1780,1
    - Dst: fprintf_obj
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1777,1
    - Dst: _translate_operator
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1785,1
    - Dst: _translate_integer
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1788,1
    - Dst: _translate_real
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1791,1
    - Dst: _translate_string
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1794,1
    - Dst: longjmp
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1808,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1808,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - csi_t*
    - csi_object_t*
    constantsTouched: []
    func_position:
      end: 1813
      start: 1770
    functionDepth: 0
    functionLinenumber: 1770
    functionLinenumberEnd: 1813
    functionName: _translate_execute
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-scanner.c
    functionUses: []
    functionsReached:
    - csi_object_get_type
    - _translate_real
    - fprintf
    - _translate_integer
    - _csi_error
    - _translate_operator
    - _translate_string
    - fprintf_obj
    - longjmp
    - _translate_name
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _translate_execute (csi_t *ctx, csi_object_t *obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buffer_reset
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - scan
    argTypes:
    - csi_scanner_t*
    constantsTouched: []
    func_position:
      end: 238
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 238
    functionName: token_start
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-scanner.c
    functionUses: []
    functionsReached:
    - buffer_reset
    linkageType: ''
    returnType: void
    signature: 'static void token_start (csi_scanner_t *scan) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hex_value
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:564,1
    - Dst: hex_value
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:567,1
    - Dst: buffer_check
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:568,1
    - Dst: buffer_add
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:569,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - ctx
    - scan
    - c
    argTypes:
    - csi_t*
    - csi_scanner_t*
    - int
    constantsTouched: []
    func_position:
      end: 574
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 574
    functionName: hex_add
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-scanner.c
    functionUses: []
    functionsReached:
    - hex_value
    - buffer_check
    - buffer_add
    linkageType: ''
    returnType: void
    signature: 'static void hex_add (csi_t *ctx, csi_scanner_t *scan, int c) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:606,1
    - Dst: longjmp
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:607,1
    - Dst: buffer_add
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:610,1
    - Dst: buffer_check
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:609,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:607,1
    - Dst: buffer_add
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:611,1
    - Dst: buffer_add
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:612,1
    - Dst: buffer_add
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:613,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:614,1
    - Dst: longjmp
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:615,1
    - Dst: buffer_add
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:621,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:615,1
    - Dst: buffer_add
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:622,1
    - Dst: buffer_check
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:619,1
    - Dst: buffer_add
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:620,1
    - Dst: buffer_add
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:623,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 3
    argNames:
    - ctx
    - scan
    - c
    argTypes:
    - csi_t*
    - csi_scanner_t*
    - int
    constantsTouched: []
    func_position:
      end: 629
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 629
    functionName: base85_add
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-scanner.c
    functionUses: []
    functionsReached:
    - _csi_unlikely
    - _csi_error
    - buffer_add
    - longjmp
    - buffer_check
    linkageType: ''
    returnType: void
    signature: 'static void base85_add (csi_t *ctx, csi_scanner_t *scan, int c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _translate_integer
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1562,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - real
    - closure
    argTypes:
    - csi_t*
    - csi_real_t
    - struct _translate_closure*
    constantsTouched: []
    func_position:
      end: 1573
      start: 1554
    functionDepth: 0
    functionLinenumber: 1554
    functionLinenumberEnd: 1573
    functionName: _translate_real
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-scanner.c
    functionUses: []
    functionsReached:
    - _translate_integer
    linkageType: ''
    returnType: csi_status_t
    signature: "static csi_status_t _translate_real (csi_t *ctx,\t csi_real_t real,\t\
      \t struct _translate_closure *closure) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: csi_dictionary_new
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1824,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1825,1
    - Dst: csi_dictionary_put
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1831,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1832,1
    - Dst: csi_integer_new
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1830,1
    - Dst: _csi_operators
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1835,1
    - Dst: _csi_hash_table_lookup
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1840,1
    - Dst: csi_integer_new
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1844,1
    - Dst: csi_dictionary_put
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1845,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1846,1
    - Dst: assert
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1852,1
    - Dst: csi_name_new_static
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1854,1
    - Dst: csi_integer_new
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1850,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1855,1
    - Dst: csi_dictionary_put
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1858,1
    - Dst: csi_dictionary_free
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1867,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1859,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 37
    argCount: 2
    argNames:
    - ctx
    - out
    argTypes:
    - csi_t*
    - csi_dictionary_t**
    constantsTouched: []
    func_position:
      end: 1869
      start: 1815
    functionDepth: 0
    functionLinenumber: 1815
    functionLinenumberEnd: 1869
    functionName: build_opcodes
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-scanner.c
    functionUses: []
    functionsReached:
    - csi_dictionary_free
    - csi_integer_new
    - _csi_unlikely
    - csi_name_new_static
    - assert
    - _csi_operators
    - csi_dictionary_put
    - csi_dictionary_new
    - _csi_hash_table_lookup
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t build_opcodes (csi_t *ctx, csi_dictionary_t **out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _csi_free
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - buffer
    argTypes:
    - csi_t*
    - csi_buffer_t*
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: buffer_fini
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-scanner.c
    functionUses: []
    functionsReached:
    - _csi_free
    linkageType: ''
    returnType: void
    signature: 'static void buffer_fini (csi_t *ctx, csi_buffer_t *buffer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - csi_t*
    - csi_object_t*
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: scan_execute
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-scanner.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: csi_status_t
    signature: 'static inline csi_status_t scan_execute (csi_t *ctx, csi_object_t
      *obj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:218,1
    - Dst: _buffer_grow
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:219,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - scan
    - count
    argTypes:
    - csi_t*
    - csi_scanner_t*
    - int
    constantsTouched: []
    func_position:
      end: 220
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 220
    functionName: buffer_check
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-scanner.c
    functionUses: []
    functionsReached:
    - _buffer_grow
    - _csi_unlikely
    linkageType: ''
    returnType: void
    signature: 'static inline void buffer_check (csi_t *ctx, csi_scanner_t *scan,
      int count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buffer_check
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:518,1
    - Dst: buffer_add
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:519,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - scan
    - c
    argTypes:
    - csi_t*
    - csi_scanner_t*
    - int
    constantsTouched: []
    func_position:
      end: 520
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 520
    functionName: string_add
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-scanner.c
    functionUses: []
    functionsReached:
    - buffer_check
    - buffer_add
    linkageType: ''
    returnType: void
    signature: 'static void string_add (csi_t *ctx, csi_scanner_t *scan, int c) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: base64_add
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:751,1
    - Dst: base64_add
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:757,1
    - Dst: base64_add
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:756,1
    - Dst: base64_add
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:752,1
    - Dst: base64_add
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:755,1
    - Dst: csi_string_new
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:761,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:765,1
    - Dst: longjmp
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:766,1
    - Dst: csi_array_append
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:769,1
    - Dst: scan_push
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:773,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:774,1
    - Dst: longjmp
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:775,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - ctx
    - scan
    argTypes:
    - csi_t*
    - csi_scanner_t*
    constantsTouched: []
    func_position:
      end: 776
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 776
    functionName: base64_end
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-scanner.c
    functionUses: []
    functionsReached:
    - csi_string_new
    - base64_add
    - csi_array_append
    - _csi_unlikely
    - scan_push
    - longjmp
    linkageType: ''
    returnType: void
    signature: 'static void base64_end (csi_t *ctx, csi_scanner_t *scan) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1362,1
    - Dst: _csi_stack_init
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1368,1
    - Dst: buffer_init
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1364,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - scanner
    argTypes:
    - csi_t*
    - csi_scanner_t*
    constantsTouched: []
    func_position:
      end: 1377
      start: 1357
    functionDepth: 0
    functionLinenumber: 1357
    functionLinenumberEnd: 1377
    functionName: _csi_scanner_init
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-scanner.c
    functionUses: []
    functionsReached:
    - _csi_stack_init
    - memset
    - buffer_init
    linkageType: ''
    returnType: csi_status_t
    signature: 'csi_status_t _csi_scanner_init (csi_t *ctx, csi_scanner_t *scanner) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1632,1
    - Dst: assert
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1647,1
    - Dst: to_be32
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1672,1
    - Dst: malloc
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1598,1
    - Dst: uncompress
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1622,1
    - Dst: free
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1657,1
    - Dst: assert
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1705,1
    - Dst: free
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1662,1
    - Dst: free
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1613,1
    - Dst: assert
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1625,1
    - Dst: malloc
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1631,1
    - Dst: lzo2a_999_compress
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1634,1
    - Dst: free
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1642,1
    - Dst: free
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1719,1
    - Dst: malloc
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1599,1
    - Dst: free
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1616,1
    - Dst: lzo2a_999_compress
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1601,1
    - Dst: malloc
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1621,1
    - Dst: free
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1652,1
    - Dst: to_be32
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1713,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 119
    argCount: 3
    argNames:
    - ctx
    - string
    - closure
    argTypes:
    - csi_t*
    - csi_string_t*
    - struct _translate_closure*
    constantsTouched: []
    func_position:
      end: 1722
      start: 1575
    functionDepth: 0
    functionLinenumber: 1575
    functionLinenumberEnd: 1722
    functionName: _translate_string
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-scanner.c
    functionUses: []
    functionsReached:
    - malloc
    - uncompress
    - free
    - to_be32
    - assert
    - lzo2a_999_compress
    linkageType: ''
    returnType: csi_status_t
    signature: "static csi_status_t _translate_string (csi_t *ctx,\t csi_string_t\
      \ *string,\t\t struct _translate_closure *closure) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _csi_alloc
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:175,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:177,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:176,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - buffer
    argTypes:
    - csi_t*
    - csi_buffer_t*
    constantsTouched: []
    func_position:
      end: 185
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 185
    functionName: buffer_init
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-scanner.c
    functionUses: []
    functionsReached:
    - _csi_alloc
    - _csi_unlikely
    - _csi_error
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t buffer_init (csi_t *ctx, csi_buffer_t *buffer) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:200,1
    - Dst: longjmp
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:201,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:201,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:206,1
    - Dst: _csi_realloc
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:205,1
    - Dst: longjmp
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:207,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:207,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - ctx
    - scan
    argTypes:
    - csi_t*
    - csi_scanner_t*
    constantsTouched: []
    func_position:
      end: 213
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 213
    functionName: _buffer_grow
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-scanner.c
    functionUses: []
    functionsReached:
    - longjmp
    - _csi_unlikely
    - _csi_realloc
    - _csi_error
    linkageType: ''
    returnType: void
    signature: 'static void _buffer_grow (csi_t *ctx, csi_scanner_t *scan) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - c
    argTypes:
    - csi_buffer_t*
    - int
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: buffer_add
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-scanner.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void buffer_add (csi_buffer_t *buffer, int c) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: csi_string_new
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:528,1
    - Dst: csi_array_append
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:536,1
    - Dst: scan_push
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:540,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:532,1
    - Dst: longjmp
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:533,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:541,1
    - Dst: longjmp
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:542,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - scan
    argTypes:
    - csi_t*
    - csi_scanner_t*
    constantsTouched: []
    func_position:
      end: 543
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 543
    functionName: string_end
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-scanner.c
    functionUses: []
    functionsReached:
    - csi_string_new
    - csi_array_append
    - _csi_unlikely
    - scan_push
    - longjmp
    linkageType: ''
    returnType: void
    signature: 'static void string_end (csi_t *ctx, csi_scanner_t *scan) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: csi_file_read
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:783,1
    - Dst: longjmp
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:785,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:788,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:784,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:785,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 4
    argNames:
    - scan
    - src
    - ptr
    - len
    argTypes:
    - csi_scanner_t*
    - csi_file_t*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 789
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 789
    functionName: scan_read
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-scanner.c
    functionUses: []
    functionsReached:
    - csi_file_read
    - _csi_unlikely
    - longjmp
    - _csi_error
    linkageType: ''
    returnType: void
    signature: 'static void scan_read (csi_scanner_t *scan, csi_file_t *src, void
      *ptr, int len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: buffer_fini
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1382,1
    - Dst: _csi_stack_fini
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1383,1
    - Dst: csi_object_free
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1385,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - scanner
    argTypes:
    - csi_t*
    - csi_scanner_t*
    constantsTouched: []
    func_position:
      end: 1386
      start: 1379
    functionDepth: 0
    functionLinenumber: 1379
    functionLinenumberEnd: 1386
    functionName: _csi_scanner_fini
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-scanner.c
    functionUses: []
    functionsReached:
    - buffer_fini
    - csi_object_free
    - _csi_stack_fini
    linkageType: ''
    returnType: void
    signature: 'void _csi_scanner_fini (csi_t *ctx, csi_scanner_t *scanner) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1730,1
    - Dst: _translate_operator
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1739,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1734,1
    - Dst: fprintf_obj
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1731,1
    - Dst: _translate_name
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1736,1
    - Dst: _translate_integer
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1742,1
    - Dst: _translate_real
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1745,1
    - Dst: _translate_string
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1748,1
    - Dst: longjmp
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1762,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1762,1
    - Dst: csi_object_free
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1766,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - csi_t*
    - csi_object_t*
    constantsTouched: []
    func_position:
      end: 1768
      start: 1724
    functionDepth: 0
    functionLinenumber: 1724
    functionLinenumberEnd: 1768
    functionName: _translate_push
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-scanner.c
    functionUses: []
    functionsReached:
    - csi_object_get_type
    - _translate_real
    - fprintf
    - _translate_integer
    - csi_object_free
    - _csi_error
    - _translate_operator
    - _translate_string
    - fprintf_obj
    - longjmp
    - _translate_name
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _translate_push (csi_t *ctx, csi_object_t *obj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1880,1
    - Dst: _scan_file
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1895,1
    - Dst: build_opcodes
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1883,1
    - Dst: csi_dictionary_free
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1901,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1884,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - ctx
    - file
    - write_func
    - closure
    argTypes:
    - csi_t*
    - csi_file_t*
    - cairo_write_func_t
    - void*
    constantsTouched: []
    func_position:
      end: 1904
      start: 1871
    functionDepth: 0
    functionLinenumber: 1871
    functionLinenumberEnd: 1904
    functionName: _csi_translate_file
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-scanner.c
    functionUses: []
    functionsReached:
    - csi_dictionary_free
    - _csi_unlikely
    - _scan_file
    - setjmp
    - build_opcodes
    linkageType: ''
    returnType: csi_status_t
    signature: "csi_status_t _csi_translate_file (csi_t *ctx,\t csi_file_t *file,\t\
      \t cairo_write_func_t write_func,\t\t void *closure) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - csi_t*
    - csi_object_t*
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: scan_push
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-scanner.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: csi_status_t
    signature: 'static inline csi_status_t scan_push (csi_t *ctx, csi_object_t *obj) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:87,1
    - Dst: fprintf
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:94,1
    - Dst: fprintf
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:89,1
    - Dst: fprintf
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:101,1
    - Dst: fprintf
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:98,1
    - Dst: fprintf
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:104,1
    - Dst: fprintf
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:107,1
    - Dst: fprintf
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:110,1
    - Dst: fprintf
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:115,1
    - Dst: fprintf
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:118,1
    - Dst: fprintf
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:142,1
    - Dst: fprintf
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:145,1
    - Dst: fprintf
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:148,1
    - Dst: fprintf
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:121,1
    - Dst: fprintf
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:139,1
    - Dst: fprintf
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:151,1
    - Dst: fprintf
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:124,1
    - Dst: fprintf
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:133,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 20
    argCount: 3
    argNames:
    - stream
    - ctx
    - obj
    argTypes:
    - FILE*
    - csi_t*
    - csi_object_t*
    constantsTouched: []
    func_position:
      end: 154
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 154
    functionName: fprintf_obj
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-scanner.c
    functionUses: []
    functionsReached:
    - csi_object_get_type
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'static void fprintf_obj (FILE *stream, csi_t *ctx, const csi_object_t
      *obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buffer_check
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:243,1
    - Dst: buffer_add
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - scan
    - c
    argTypes:
    - csi_t*
    - csi_scanner_t*
    - int
    constantsTouched: []
    func_position:
      end: 245
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 245
    functionName: token_add
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-scanner.c
    functionUses: []
    functionsReached:
    - buffer_check
    - buffer_add
    linkageType: ''
    returnType: void
    signature: 'static void token_add (csi_t *ctx, csi_scanner_t *scan, int c) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: csi_string_new
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:801,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:802,1
    - Dst: scan_read
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:807,1
    - Dst: longjmp
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:803,1
    - Dst: be32
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:808,1
    - Dst: _csi_likely
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:812,1
    - Dst: scan_read
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:813,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 6
    argNames:
    - ctx
    - scan
    - src
    - len
    - compressed
    - obj
    argTypes:
    - csi_t*
    - csi_scanner_t*
    - csi_file_t*
    - int
    - int
    - csi_object_t*
    constantsTouched: []
    func_position:
      end: 815
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 815
    functionName: string_read
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-scanner.c
    functionUses: []
    functionsReached:
    - csi_string_new
    - be32
    - _csi_likely
    - _csi_unlikely
    - longjmp
    - scan_read
    linkageType: ''
    returnType: void
    signature: "static void string_read (csi_t *ctx,\t csi_scanner_t *scan,\t csi_file_t\
      \ *src,\t int len,\t int compressed,\t csi_object_t *obj) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1341,1
    - Dst: _csi_push_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1344,1
    - Dst: fprintf_obj
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1342,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - csi_t*
    - csi_object_t*
    constantsTouched: []
    func_position:
      end: 1345
      start: 1337
    functionDepth: 0
    functionLinenumber: 1337
    functionLinenumberEnd: 1345
    functionName: _scan_push
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-scanner.c
    functionUses: []
    functionsReached:
    - fprintf_obj
    - _csi_push_ostack
    - fprintf
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _scan_push (csi_t *ctx, csi_object_t *obj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _csi_hash_table_lookup
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1435,1
    - Dst: be16
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1441,1
    - Dst: strlen
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1448,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - name
    - executable
    - closure
    argTypes:
    - csi_t*
    - csi_name_t
    - csi_boolean_t
    - struct _translate_closure*
    constantsTouched: []
    func_position:
      end: 1453
      start: 1422
    functionDepth: 0
    functionLinenumber: 1422
    functionLinenumberEnd: 1453
    functionName: _translate_name
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-scanner.c
    functionUses: []
    functionsReached:
    - be16
    - _csi_hash_table_lookup
    - strlen
    linkageType: ''
    returnType: csi_status_t
    signature: "static csi_status_t _translate_name (csi_t *ctx,\t csi_name_t name,\t\
      \t csi_boolean_t executable,\t\t struct _translate_closure *closure) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buffer_add
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - scan
    - c
    argTypes:
    - csi_scanner_t*
    - int
    constantsTouched: []
    func_position:
      end: 251
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 251
    functionName: token_add_unchecked
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-scanner.c
    functionUses: []
    functionsReached:
    - buffer_add
    linkageType: ''
    returnType: void
    signature: 'static void token_add_unchecked (csi_scanner_t *scan, int c) '
  - BBCount: 153
    BranchProfiles: []
    Callsites:
    - Dst: token_add_unchecked
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:859,1
    - Dst: scan_read
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:922,1
    - Dst: csi_integer_new
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:927,1
    - Dst: be32
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:952,1
    - Dst: string_read
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:980,1
    - Dst: token_end
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1075,1
    - Dst: token_start
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1092,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1232,1
    - Dst: buffer_reset
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1285,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1327,1
    - Dst: csi_real_new
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:958,1
    - Dst: token_add_unchecked
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:872,1
    - Dst: scan_read
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:979,1
    - Dst: token_start
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1027,1
    - Dst: csi_file_putc
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1098,1
    - Dst: string_add
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1150,1
    - Dst: csi_file_putc
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1202,1
    - Dst: longjmp
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1279,1
    - Dst: longjmp
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1327,1
    - Dst: csi_file_getc
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1318,1
    - Dst: hex_add
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1275,1
    - Dst: scan_read
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:969,1
    - Dst: csi_file_getc
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1022,1
    - Dst: string_read
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:985,1
    - Dst: be32
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1008,1
    - Dst: token_end
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:874,1
    - Dst: le32
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:931,1
    - Dst: csi_operator_new
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:996,1
    - Dst: token_add_unchecked
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1028,1
    - Dst: token_end
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1067,1
    - Dst: hex_value
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1106,1
    - Dst: csi_file_putc
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1301,1
    - Dst: scan_read
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:984,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1017,1
    - Dst: csi_operator_new
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1001,1
    - Dst: csi_file_putc
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:883,1
    - Dst: csi_integer_new
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:903,1
    - Dst: csi_integer_new
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:907,1
    - Dst: scan_push
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1043,1
    - Dst: token_start
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1083,1
    - Dst: token_end
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1094,1
    - Dst: csi_file_getc
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1105,1
    - Dst: scan_read
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:930,1
    - Dst: be16
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:975,1
    - Dst: csi_real_new
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:953,1
    - Dst: buffer_reset
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1312,1
    - Dst: base85_end
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1297,1
    - Dst: hex_value
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1023,1
    - Dst: csi_file_putc
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:867,1
    - Dst: scan_read
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:902,1
    - Dst: scan_read
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:906,1
    - Dst: scan_read
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:910,1
    - Dst: be16
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:911,1
    - Dst: scan_read
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:989,1
    - Dst: csi_file_getc
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1052,1
    - Dst: token_add_unchecked
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1085,1
    - Dst: token_end
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1099,1
    - Dst: token_add_unchecked
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:873,1
    - Dst: string_read
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:990,1
    - Dst: string_read
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1008,1
    - Dst: scan_read
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:956,1
    - Dst: le16
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:980,1
    - Dst: hex_value
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1023,1
    - Dst: string_add
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1141,1
    - Dst: string_add
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1159,1
    - Dst: csi_file_getc
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1173,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1279,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1309,1
    - Dst: csi_integer_new
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:915,1
    - Dst: be16
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:919,1
    - Dst: hex_value
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1106,1
    - Dst: token_add
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1110,1
    - Dst: string_add
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1147,1
    - Dst: csi_file_putc
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1184,1
    - Dst: csi_file_getc
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1195,1
    - Dst: csi_file_getc
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1238,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1334,1
    - Dst: csi_real_new
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:944,1
    - Dst: be32
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:985,1
    - Dst: le32
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:948,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1045,1
    - Dst: token_end
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1062,1
    - Dst: csi_file_getc
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1135,1
    - Dst: hex_end
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1250,1
    - Dst: csi_real_new
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:948,1
    - Dst: scan_read
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:918,1
    - Dst: csi_integer_new
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:923,1
    - Dst: be32
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:927,1
    - Dst: buffer_reset
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1235,1
    - Dst: string_add
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1228,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1282,1
    - Dst: scan_read
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1000,1
    - Dst: le32
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:990,1
    - Dst: longjmp
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1017,1
    - Dst: csi_real_new
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:936,1
    - Dst: le32
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:940,1
    - Dst: scan_read
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:947,1
    - Dst: string_read
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:970,1
    - Dst: token_end
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1082,1
    - Dst: token_add_unchecked
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1093,1
    - Dst: csi_file_getc
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1132,1
    - Dst: scan_read
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:926,1
    - Dst: csi_real_new
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:940,1
    - Dst: be32
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:944,1
    - Dst: token_end
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1071,1
    - Dst: token_end
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1091,1
    - Dst: csi_file_getc
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1119,1
    - Dst: longjmp
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1138,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1138,1
    - Dst: string_add
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1156,1
    - Dst: longjmp
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1232,1
    - Dst: token_end
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1114,1
    - Dst: csi_file_getc
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:835,1
    - Dst: token_start
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:871,1
    - Dst: csi_integer_new
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:911,1
    - Dst: le16
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:915,1
    - Dst: scan_read
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:939,1
    - Dst: csi_array_append
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1036,1
    - Dst: scan_execute
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1040,1
    - Dst: csi_file_getc
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1104,1
    - Dst: string_add
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1153,1
    - Dst: csi_file_getc
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1291,1
    - Dst: longjmp
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1282,1
    - Dst: string_add
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1144,1
    - Dst: base64_add
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1330,1
    - Dst: scan_read
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:974,1
    - Dst: scan_read
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:995,1
    - Dst: scan_read
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1007,1
    - Dst: csi_file_getc
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:864,1
    - Dst: token_end
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:860,1
    - Dst: be32
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:936,1
    - Dst: csi_integer_new
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:931,1
    - Dst: scan_read
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:951,1
    - Dst: le32
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:957,1
    - Dst: scan_read
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:943,1
    - Dst: string_add
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1162,1
    - Dst: longjmp
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1309,1
    - Dst: base64_end
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1324,1
    - Dst: scan_read
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:914,1
    - Dst: csi_integer_new
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:919,1
    - Dst: le16
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:923,1
    - Dst: string_read
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:975,1
    - Dst: string_add
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1189,1
    - Dst: csi_file_getc
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1288,1
    - Dst: longjmp
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1334,1
    - Dst: buffer_reset
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1130,1
    - Dst: csi_file_getc
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1021,1
    - Dst: token_start
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:858,1
    - Dst: scan_read
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:935,1
    - Dst: csi_object_free
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1041,1
    - Dst: longjmp
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1046,1
    - Dst: string_add
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1218,1
    - Dst: string_end
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1223,1
    - Dst: base85_add
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1305,1
    - Dst: csi_file_getc
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1315,1
    CyclomaticComplexity: 199
    EdgeCount: 199
    ICount: 259
    argCount: 2
    argNames:
    - ctx
    - src
    argTypes:
    - csi_t*
    - csi_file_t*
    constantsTouched: []
    func_position:
      end: 1335
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 1335
    functionName: _scan_file
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-scanner.c
    functionUses: []
    functionsReached:
    - le32
    - hex_end
    - csi_file_putc
    - csi_array_append
    - _csi_error
    - string_read
    - base85_add
    - buffer_reset
    - csi_operator_new
    - hex_value
    - scan_execute
    - csi_file_getc
    - csi_real_new
    - hex_add
    - le16
    - be16
    - longjmp
    - string_add
    - token_end
    - base64_add
    - csi_integer_new
    - base64_end
    - base85_end
    - string_end
    - scan_push
    - scan_read
    - token_start
    - token_add_unchecked
    - be32
    - _csi_unlikely
    - token_add
    - csi_object_free
    linkageType: ''
    returnType: void
    signature: 'static void _scan_file (csi_t *ctx, csi_file_t *src) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1351,1
    - Dst: fprintf_obj
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1352,1
    - Dst: csi_object_execute
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1354,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - csi_t*
    - csi_object_t*
    constantsTouched: []
    func_position:
      end: 1355
      start: 1347
    functionDepth: 0
    functionLinenumber: 1347
    functionLinenumberEnd: 1355
    functionName: _scan_execute
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-scanner.c
    functionUses: []
    functionsReached:
    - fprintf_obj
    - csi_object_execute
    - fprintf
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _scan_execute (csi_t *ctx, csi_object_t *obj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _csi_hash_table_lookup
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1464,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1467,1
    - Dst: be16
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1472,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - ctx
    - op
    - executable
    - closure
    argTypes:
    - csi_t*
    - csi_operator_t
    - csi_boolean_t
    - struct _translate_closure*
    constantsTouched: []
    func_position:
      end: 1476
      start: 1455
    functionDepth: 0
    functionLinenumber: 1455
    functionLinenumberEnd: 1476
    functionName: _translate_operator
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-scanner.c
    functionUses: []
    functionsReached:
    - be16
    - _csi_hash_table_lookup
    - _csi_error
    linkageType: ''
    returnType: csi_status_t
    signature: "static csi_status_t _translate_operator (csi_t *ctx,\t csi_operator_t\
      \ op,\t\t csi_boolean_t executable,\t\t struct _translate_closure *closure) "
  - BBCount: 60
    BranchProfiles: []
    Callsites:
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:291,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:300,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:293,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:295,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:302,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:304,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:310,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:316,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:331,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:343,1
    - Dst: pow
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:399,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:362,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:353,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 126
    argCount: 3
    argNames:
    - obj
    - s
    - len
    argTypes:
    - csi_object_t*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 412
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 412
    functionName: _csi_parse_number
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-scanner.c
    functionUses: []
    functionsReached:
    - _csi_unlikely
    - pow
    linkageType: ''
    returnType: csi_boolean_t
    signature: 'csi_boolean_t _csi_parse_number (csi_object_t *obj, const char *s,
      int len) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: longjmp
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:643,1
    - Dst: be32
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:664,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:678,1
    - Dst: buffer_check
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:637,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:643,1
    - Dst: buffer_add
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:652,1
    - Dst: buffer_add
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:657,1
    - Dst: csi_string_new
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:674,1
    - Dst: scan_push
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:687,1
    - Dst: buffer_add
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:653,1
    - Dst: buffer_add
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:658,1
    - Dst: csi_array_append
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:683,1
    - Dst: longjmp
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:672,1
    - Dst: longjmp
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:689,1
    - Dst: buffer_add
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:648,1
    - Dst: buffer_add
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:659,1
    - Dst: csi_string_deflate_new
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:667,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:671,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:688,1
    - Dst: longjmp
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:679,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 61
    argCount: 3
    argNames:
    - ctx
    - scan
    - deflate
    argTypes:
    - csi_t*
    - csi_scanner_t*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 690
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 690
    functionName: base85_end
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-scanner.c
    functionUses: []
    functionsReached:
    - csi_string_new
    - csi_string_deflate_new
    - be32
    - csi_array_append
    - _csi_unlikely
    - _csi_error
    - buffer_add
    - longjmp
    - scan_push
    - buffer_check
    linkageType: ''
    returnType: void
    signature: 'static void base85_end (csi_t *ctx, csi_scanner_t *scan, cairo_bool_t
      deflate) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1399,1
    - Dst: _scan_file
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:1408,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - src
    argTypes:
    - csi_t*
    - csi_file_t*
    constantsTouched: []
    func_position:
      end: 1414
      start: 1388
    functionDepth: 0
    functionLinenumber: 1388
    functionLinenumberEnd: 1414
    functionName: _csi_scan_file
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-scanner.c
    functionUses: []
    functionsReached:
    - _scan_file
    - setjmp
    linkageType: ''
    returnType: csi_status_t
    signature: 'csi_status_t _csi_scan_file (csi_t *ctx, csi_file_t *src) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:430,1
    - Dst: _csi_likely
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:436,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:442,1
    - Dst: longjmp
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:456,1
    - Dst: longjmp
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:482,1
    - Dst: csi_name_new
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:486,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:493,1
    - Dst: scan_execute
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:506,1
    - Dst: _csi_stack_push
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:439,1
    - Dst: csi_array_new
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:446,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:447,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:481,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:456,1
    - Dst: scan_push
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:468,1
    - Dst: _csi_name_lookup
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:484,1
    - Dst: longjmp
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:489,1
    - Dst: _csi_parse_number
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:491,1
    - Dst: csi_name_new
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:492,1
    - Dst: longjmp
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:448,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:453,1
    - Dst: csi_name_new
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:480,1
    - Dst: longjmp
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:472,1
    - Dst: _csi_stack_peek
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:462,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:488,1
    - Dst: csi_array_append
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:502,1
    - Dst: longjmp
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:512,1
    - Dst: longjmp
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:443,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:471,1
    - Dst: csi_array_append
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:463,1
    - Dst: longjmp
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:494,1
    - Dst: csi_object_free
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:507,1
    - Dst: scan_push
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:509,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:511,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 85
    argCount: 3
    argNames:
    - ctx
    - scan
    - src
    argTypes:
    - csi_t*
    - csi_scanner_t*
    - csi_file_t*
    constantsTouched: []
    func_position:
      end: 513
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 513
    functionName: token_end
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-scanner.c
    functionUses: []
    functionsReached:
    - scan_execute
    - csi_array_new
    - _csi_stack_push
    - _csi_likely
    - csi_array_append
    - _csi_unlikely
    - _csi_name_lookup
    - _csi_stack_peek
    - _csi_error
    - _csi_parse_number
    - csi_name_new
    - scan_push
    - longjmp
    - csi_object_free
    linkageType: ''
    returnType: void
    signature: 'static void token_end (csi_t *ctx, csi_scanner_t *scan, csi_file_t
      *src) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: buffer_check
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:711,1
    - Dst: buffer_add
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:727,1
    - Dst: buffer_add
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:717,1
    - Dst: buffer_add
      Src: /src/cairo/util/cairo-script/cairo-script-scanner.c:722,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 59
    argCount: 3
    argNames:
    - ctx
    - scan
    - c
    argTypes:
    - csi_t*
    - csi_scanner_t*
    - int
    constantsTouched: []
    func_position:
      end: 739
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 739
    functionName: base64_add
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-scanner.c
    functionUses: []
    functionsReached:
    - buffer_check
    - buffer_add
    linkageType: ''
    returnType: void
    signature: 'static void base64_add (csi_t *ctx, csi_scanner_t *scan, int c) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _csi_stack_fini
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:162,1
    - Dst: csi_object_free
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:168,1
    - Dst: _csi_stack_fini
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:178,1
    - Dst: _csi_slab_free
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:179,1
    - Dst: _csi_slab_free
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:163,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - ctx
    - array
    argTypes:
    - csi_t*
    - csi_array_t*
    constantsTouched: []
    func_position:
      end: 183
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 183
    functionName: csi_array_free
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-objects.c
    functionUses: []
    functionsReached:
    - _csi_slab_free
    - csi_object_free
    - _csi_stack_fini
    linkageType: ''
    returnType: void
    signature: 'void csi_array_free (csi_t *ctx, csi_array_t *array) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _csi_hash_table_lookup
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:277,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:287,1
    - Dst: _csi_slab_alloc
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:286,1
    - Dst: csi_object_free
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:281,1
    - Dst: csi_object_reference
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:282,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:288,1
    - Dst: _csi_hash_table_insert
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:291,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:292,1
    - Dst: _csi_slab_free
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:293,1
    - Dst: csi_object_reference
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:297,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - ctx
    - dict
    - name
    - value
    argTypes:
    - csi_t*
    - csi_dictionary_t*
    - csi_name_t
    - csi_object_t*
    constantsTouched: []
    func_position:
      end: 300
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 300
    functionName: csi_dictionary_put
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-objects.c
    functionUses: []
    functionsReached:
    - _csi_slab_free
    - _csi_slab_alloc
    - _csi_unlikely
    - _csi_error
    - csi_object_reference
    - _csi_hash_table_insert
    - _csi_hash_table_lookup
    - csi_object_free
    linkageType: ''
    returnType: csi_status_t
    signature: "csi_status_t csi_dictionary_put (csi_t *ctx,\t\t csi_dictionary_t\
      \ *dict,\t\t csi_name_t name,\t\t csi_object_t *value) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:749,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - a
    - alen
    - b
    - blen
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 755
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 755
    functionName: lexcmp
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-objects.c
    functionUses: []
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: "static int lexcmp (void const *a, size_t alen,\tvoid const *b, size_t\
      \ blen) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 189
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 189
    functionName: _dictionary_name_equal
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-objects.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _dictionary_name_equal (const void *_a, const
      void *_b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _csi_hash_table_lookup
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:310,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:313,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:312,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - dict
    - name
    - value
    argTypes:
    - csi_t*
    - csi_dictionary_t*
    - csi_name_t
    - csi_object_t*
    constantsTouched: []
    func_position:
      end: 317
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 317
    functionName: csi_dictionary_get
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-objects.c
    functionUses: []
    functionsReached:
    - _csi_unlikely
    - _csi_hash_table_lookup
    - _csi_error
    linkageType: ''
    returnType: csi_status_t
    signature: "csi_status_t csi_dictionary_get (csi_t *ctx,\t\t csi_dictionary_t\
      \ *dict,\t\t csi_name_t name,\t\t csi_object_t *value) "
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:761,1
    - Dst: lexcmp
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:775,1
    - Dst: strlen
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:825,1
    - Dst: lexcmp
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:822,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:762,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 37
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - csi_object_t*
    - csi_object_t*
    constantsTouched: []
    func_position:
      end: 834
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 834
    functionName: csi_object_eq
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-objects.c
    functionUses: []
    functionsReached:
    - lexcmp
    - csi_object_get_type
    - strlen
    linkageType: ''
    returnType: csi_boolean_t
    signature: "csi_boolean_t csi_object_eq (csi_object_t *a,\t csi_object_t *b) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:84,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:87,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:85,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:91,1
    - Dst: _csi_stack_grow
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:90,1
    - Dst: memset
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:94,1
    - Dst: csi_object_free
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:99,1
    - Dst: csi_object_reference
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:100,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - ctx
    - array
    - elem
    - value
    argTypes:
    - csi_t*
    - csi_array_t*
    - csi_integer_t
    - csi_object_t*
    constantsTouched: []
    func_position:
      end: 103
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 103
    functionName: csi_array_put
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-objects.c
    functionUses: []
    functionsReached:
    - _csi_stack_grow
    - _csi_unlikely
    - _csi_error
    - csi_object_reference
    - memset
    - csi_object_free
    linkageType: ''
    returnType: csi_status_t
    signature: "csi_status_t csi_array_put (csi_t *ctx,\t csi_array_t *array,\t csi_integer_t\
      \ elem,\t csi_object_t *value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _csi_hash_table_remove
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:239,1
    - Dst: csi_object_free
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:240,1
    - Dst: _csi_slab_free
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:241,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - entry
    - data
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 242
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 242
    functionName: _dictionary_entry_pluck
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-objects.c
    functionUses: []
    functionsReached:
    - _csi_slab_free
    - _csi_hash_table_remove
    - csi_object_free
    linkageType: ''
    returnType: void
    signature: 'static void _dictionary_entry_pluck (void *entry, void *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _csi_slab_alloc
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:349,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:350,1
    - Dst: cairo_matrix_init_identity
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:355,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:351,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - csi_t*
    - csi_object_t*
    constantsTouched: []
    func_position:
      end: 361
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 361
    functionName: csi_matrix_new
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-objects.c
    functionUses: []
    functionsReached:
    - cairo_matrix_init_identity
    - _csi_unlikely
    - _csi_slab_alloc
    - _csi_error
    linkageType: ''
    returnType: csi_status_t
    signature: "csi_status_t csi_matrix_new (csi_t *ctx,\t\tcsi_object_t *obj) "
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: CSI_OBJECT_IS_CAIRO
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:678,1
    - Dst: cairo_scaled_font_destroy
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:690,1
    - Dst: cairo_destroy
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:681,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:684,1
    - Dst: cairo_pattern_destroy
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:687,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:693,1
    - Dst: CSI_OBJECT_IS_COMPOUND
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:696,1
    - Dst: csi_array_free
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:702,1
    - Dst: csi_dictionary_free
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:705,1
    - Dst: _csi_file_free
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:708,1
    - Dst: csi_matrix_free
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:711,1
    - Dst: csi_string_free
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:714,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 19
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - csi_t*
    - csi_object_t*
    constantsTouched: []
    func_position:
      end: 720
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 720
    functionName: csi_object_free
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-objects.c
    functionUses: []
    functionsReached:
    - cairo_scaled_font_destroy
    - csi_dictionary_free
    - cairo_font_face_destroy
    - CSI_OBJECT_IS_CAIRO
    - csi_array_free
    - cairo_surface_destroy
    - CSI_OBJECT_IS_COMPOUND
    - _csi_file_free
    - cairo_destroy
    - csi_string_free
    - cairo_pattern_destroy
    - csi_matrix_free
    linkageType: ''
    returnType: void
    signature: "void csi_object_free (csi_t *ctx,\t\t csi_object_t *obj) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _csi_slab_alloc
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:54,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:55,1
    - Dst: _csi_stack_init
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:58,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:60,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:56,1
    - Dst: _csi_slab_free
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:61,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - ctx
    - initial_size
    - obj
    argTypes:
    - csi_t*
    - csi_integer_t
    - csi_object_t*
    constantsTouched: []
    func_position:
      end: 76
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 76
    functionName: csi_array_new
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-objects.c
    functionUses: []
    functionsReached:
    - _csi_slab_free
    - _csi_slab_alloc
    - _csi_unlikely
    - _csi_error
    - _csi_stack_init
    linkageType: ''
    returnType: csi_status_t
    signature: "csi_status_t csi_array_new (csi_t *ctx,\t csi_integer_t initial_size,\t\
      \ csi_object_t *obj) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:111,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:112,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:114,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:115,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - array
    - elem
    - value
    argTypes:
    - csi_t*
    - csi_array_t*
    - csi_integer_t
    - csi_object_t*
    constantsTouched: []
    func_position:
      end: 119
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 119
    functionName: csi_array_get
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-objects.c
    functionUses: []
    functionsReached:
    - _csi_unlikely
    - _csi_error
    linkageType: ''
    returnType: csi_status_t
    signature: "csi_status_t csi_array_get (csi_t *ctx,\t csi_array_t *array,\t csi_integer_t\
      \ elem,\t csi_object_t *value) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _csi_hash_table_foreach
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:252,1
    - Dst: _csi_hash_table_fini
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:261,1
    - Dst: _csi_slab_free
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:262,1
    - Dst: _csi_slab_free
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:258,1
    - Dst: _csi_hash_table_fini
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:257,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - dict
    argTypes:
    - csi_t*
    - csi_dictionary_t*
    constantsTouched: []
    func_position:
      end: 266
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 266
    functionName: csi_dictionary_free
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-objects.c
    functionUses: []
    functionsReached:
    - _csi_slab_free
    - _csi_hash_table_fini
    - _csi_hash_table_foreach
    linkageType: ''
    returnType: void
    signature: "void csi_dictionary_free (csi_t *ctx,\t\t csi_dictionary_t *dict) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:370,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:374,1
    - Dst: _csi_slab_alloc
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:373,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:375,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:371,1
    - Dst: cairo_matrix_init
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:379,1
    - Dst: csi_number_get_value
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:380,1
    - Dst: csi_number_get_value
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:381,1
    - Dst: csi_number_get_value
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:382,1
    - Dst: csi_number_get_value
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:383,1
    - Dst: csi_number_get_value
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:384,1
    - Dst: csi_number_get_value
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:385,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - ctx
    - obj
    - array
    argTypes:
    - csi_t*
    - csi_object_t*
    - csi_array_t*
    constantsTouched: []
    func_position:
      end: 391
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 391
    functionName: csi_matrix_new_from_array
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-objects.c
    functionUses: []
    functionsReached:
    - csi_number_get_value
    - _csi_slab_alloc
    - _csi_unlikely
    - _csi_error
    - cairo_matrix_init
    linkageType: ''
    returnType: csi_status_t
    signature: "csi_status_t csi_matrix_new_from_array (csi_t *ctx,\t\t\t csi_object_t\
      \ *obj,\t\t\t csi_array_t *array) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:727,1
    - Dst: csi_file_new_from_string
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:733,1
    - Dst: csi_object_reference
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:730,1
    - Dst: _csi_file_new_from_procedure
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:737,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:740,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - src
    - file
    argTypes:
    - csi_t*
    - csi_object_t*
    - csi_object_t*
    constantsTouched: []
    func_position:
      end: 742
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 742
    functionName: csi_object_as_file
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-objects.c
    functionUses: []
    functionsReached:
    - csi_file_new_from_string
    - csi_object_get_type
    - _csi_file_new_from_procedure
    - _csi_error
    - csi_object_reference
    linkageType: ''
    returnType: csi_status_t
    signature: "csi_status_t csi_object_as_file (csi_t *ctx,\t\t csi_object_t *src,\t\
      \t csi_object_t *file) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _csi_stack_push
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:126,1
    - Dst: csi_object_reference
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - array
    - obj
    argTypes:
    - csi_t*
    - csi_array_t*
    - csi_object_t*
    constantsTouched: []
    func_position:
      end: 127
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 127
    functionName: csi_array_append
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-objects.c
    functionUses: []
    functionsReached:
    - csi_object_reference
    - _csi_stack_push
    linkageType: ''
    returnType: csi_status_t
    signature: "csi_status_t csi_array_append (csi_t *ctx,\t\t csi_array_t *array,\t\
      \t csi_object_t *obj) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _csi_intern_string
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:468,1
    - Dst: strlen
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:468,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:469,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - obj
    - str
    argTypes:
    - csi_t*
    - csi_object_t*
    - char*
    constantsTouched: []
    func_position:
      end: 476
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 476
    functionName: csi_name_new_static
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-objects.c
    functionUses: []
    functionsReached:
    - _csi_intern_string
    - _csi_unlikely
    - strlen
    linkageType: ''
    returnType: csi_status_t
    signature: "csi_status_t csi_name_new_static (csi_t *ctx,\t\t csi_object_t *obj,\t\
      \t const char *str) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:579,1
    - Dst: csi_file_new_for_bytes
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:582,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:583,1
    - Dst: csi_object_free
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:587,1
    - Dst: _csi_scan_file
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:586,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - string
    argTypes:
    - csi_t*
    - csi_string_t*
    constantsTouched: []
    func_position:
      end: 590
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 590
    functionName: _csi_string_execute
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-objects.c
    functionUses: []
    functionsReached:
    - _csi_scan_file
    - _csi_unlikely
    - csi_file_new_for_bytes
    - csi_object_free
    linkageType: ''
    returnType: csi_status_t
    signature: 'static inline csi_status_t _csi_string_execute (csi_t *ctx, csi_string_t
      *string) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:135,1
    - Dst: _csi_push_ostack_copy
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:150,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:151,1
    - Dst: csi_object_execute
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:148,1
    - Dst: _csi_push_ostack_copy
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:145,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - ctx
    - array
    argTypes:
    - csi_t*
    - csi_array_t*
    constantsTouched: []
    func_position:
      end: 156
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 156
    functionName: _csi_array_execute
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-objects.c
    functionUses: []
    functionsReached:
    - csi_object_execute
    - _csi_unlikely
    - _csi_push_ostack_copy
    linkageType: ''
    returnType: csi_status_t
    signature: 'inline csi_status_t _csi_array_execute (csi_t *ctx, csi_array_t *array) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:487,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:489,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:493,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:488,1
    - Dst: _csi_slab_alloc
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:492,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:494,1
    - Dst: _csi_alloc
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:496,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:497,1
    - Dst: _csi_slab_free
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:498,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:499,1
    - Dst: memcpy
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:507,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 4
    argNames:
    - ctx
    - obj
    - str
    - len
    argTypes:
    - csi_t*
    - csi_object_t*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 521
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 521
    functionName: csi_string_new
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-objects.c
    functionUses: []
    functionsReached:
    - memcpy
    - _csi_alloc
    - _csi_slab_free
    - _csi_slab_alloc
    - strlen
    - _csi_unlikely
    - _csi_error
    linkageType: ''
    returnType: csi_status_t
    signature: "csi_status_t csi_string_new (csi_t *ctx,\t\tcsi_object_t *obj,\t\t\
      const char *str,\t\tint len) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _csi_free
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:596,1
    - Dst: _csi_slab_free
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:597,1
    - Dst: _csi_free
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:606,1
    - Dst: _csi_slab_free
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:607,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - string
    argTypes:
    - csi_t*
    - csi_string_t*
    constantsTouched: []
    func_position:
      end: 611
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 611
    functionName: csi_string_free
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-objects.c
    functionUses: []
    functionsReached:
    - _csi_slab_free
    - _csi_free
    linkageType: ''
    returnType: void
    signature: 'void csi_string_free (csi_t *ctx, csi_string_t *string) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:841,1
    - Dst: CMP
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:858,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:842,1
    - Dst: csi_object_eq
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:845,1
    - Dst: CMP
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:855,1
    - Dst: CMP
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:861,1
    - Dst: lexcmp
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:866,1
    - Dst: strlen
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:866,1
    - Dst: strlen
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:866,1
    - Dst: lexcmp
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:870,1
    - Dst: CMP
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:913,1
    - Dst: lexcmp
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:921,1
    - Dst: CMP
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:909,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:936,1
    - Dst: CMP
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:903,1
    - Dst: strlen
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:924,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 59
    argCount: 3
    argNames:
    - a
    - b
    - out
    argTypes:
    - csi_object_t*
    - csi_object_t*
    - int*
    constantsTouched: []
    func_position:
      end: 937
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 937
    functionName: csi_object_compare
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-objects.c
    functionUses: []
    functionsReached:
    - CMP
    - csi_object_get_type
    - strlen
    - csi_object_eq
    - _csi_error
    - lexcmp
    linkageType: ''
    returnType: csi_status_t
    signature: "csi_status_t csi_object_compare (csi_object_t *a,\t\t csi_object_t\
      \ *b,\t\t int *out) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _csi_slab_alloc
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:204,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:206,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:210,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:205,1
    - Dst: _csi_hash_table_init
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:208,1
    - Dst: _csi_slab_free
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:211,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - csi_t*
    - csi_object_t*
    constantsTouched: []
    func_position:
      end: 223
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 223
    functionName: csi_dictionary_new
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-objects.c
    functionUses: []
    functionsReached:
    - _csi_slab_free
    - _csi_slab_alloc
    - _csi_unlikely
    - _csi_error
    - _csi_hash_table_init
    linkageType: ''
    returnType: csi_status_t
    signature: "csi_status_t csi_dictionary_new (csi_t *ctx,\t\t csi_object_t *obj) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _csi_hash_table_lookup
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - dict
    - name
    argTypes:
    - csi_dictionary_t*
    - csi_name_t
    constantsTouched: []
    func_position:
      end: 325
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 325
    functionName: csi_dictionary_has
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-objects.c
    functionUses: []
    functionsReached:
    - _csi_hash_table_lookup
    linkageType: ''
    returnType: csi_boolean_t
    signature: "csi_boolean_t csi_dictionary_has (csi_dictionary_t *dict,\t\t csi_name_t\
      \ name) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _csi_slab_alloc
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:400,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:401,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:402,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - obj
    - m
    argTypes:
    - csi_t*
    - csi_object_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 412
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 412
    functionName: csi_matrix_new_from_matrix
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-objects.c
    functionUses: []
    functionsReached:
    - _csi_unlikely
    - _csi_slab_alloc
    - _csi_error
    linkageType: ''
    returnType: csi_status_t
    signature: "csi_status_t csi_matrix_new_from_matrix (csi_t *ctx,\t\t\t csi_object_t\
      \ *obj,\t\t\t const cairo_matrix_t *m) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _csi_slab_free
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:439,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - csi_t*
    - csi_matrix_t*
    constantsTouched: []
    func_position:
      end: 440
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 440
    functionName: csi_matrix_free
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-objects.c
    functionUses: []
    functionsReached:
    - _csi_slab_free
    linkageType: ''
    returnType: void
    signature: "void csi_matrix_free (csi_t *ctx,\t\t csi_matrix_t *obj) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: csi_string_new
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:533,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:534,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 5
    argNames:
    - ctx
    - obj
    - bytes
    - in_len
    - out_len
    argTypes:
    - csi_t*
    - csi_object_t*
    - void*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 542
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 542
    functionName: csi_string_deflate_new
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-objects.c
    functionUses: []
    functionsReached:
    - csi_string_new
    - _csi_unlikely
    linkageType: ''
    returnType: csi_status_t
    signature: "csi_status_t csi_string_deflate_new (csi_t *ctx,\t\t\tcsi_object_t\
      \ *obj,\t\t\tvoid *bytes,\t\t\tint in_len,\t\t\tint out_len) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _csi_name_lookup
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:622,1
    - Dst: _csi_push_ostack_copy
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:629,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:623,1
    - Dst: _csi_array_execute
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:635,1
    - Dst: _csi_file_execute
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:637,1
    - Dst: _csi_string_execute
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:639,1
    - Dst: _csi_push_ostack_copy
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:642,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - csi_t*
    - csi_object_t*
    constantsTouched: []
    func_position:
      end: 644
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 644
    functionName: csi_object_execute
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-objects.c
    functionUses: []
    functionsReached:
    - _csi_string_execute
    - _csi_name_lookup
    - _csi_push_ostack_copy
    - _csi_file_execute
    - _csi_unlikely
    - _csi_array_execute
    linkageType: ''
    returnType: csi_status_t
    signature: 'csi_status_t csi_object_execute (csi_t *ctx, csi_object_t *obj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _csi_hash_table_lookup
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:334,1
    - Dst: _csi_slab_free
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:339,1
    - Dst: _csi_hash_table_remove
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:337,1
    - Dst: csi_object_free
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:338,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - dict
    - name
    argTypes:
    - csi_t*
    - csi_dictionary_t*
    - csi_name_t
    constantsTouched: []
    func_position:
      end: 341
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 341
    functionName: csi_dictionary_remove
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-objects.c
    functionUses: []
    functionsReached:
    - _csi_slab_free
    - _csi_hash_table_remove
    - _csi_hash_table_lookup
    - csi_object_free
    linkageType: ''
    returnType: void
    signature: "void csi_dictionary_remove (csi_t *ctx,\t\t csi_dictionary_t *dict,\t\
      \t csi_name_t name) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _csi_slab_alloc
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:421,1
    - Dst: cairo_matrix_init
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:427,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:422,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:423,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - obj
    - v
    argTypes:
    - csi_t*
    - csi_object_t*
    - double
    constantsTouched: []
    func_position:
      end: 433
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 433
    functionName: csi_matrix_new_from_values
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-objects.c
    functionUses: []
    functionsReached:
    - cairo_matrix_init
    - _csi_unlikely
    - _csi_slab_alloc
    - _csi_error
    linkageType: ''
    returnType: csi_status_t
    signature: "csi_status_t csi_matrix_new_from_values (csi_t *ctx,\t\t\t csi_object_t\
      \ *obj,\t\t\t double v[6]) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _csi_intern_string
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:451,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:452,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - obj
    - str
    - len
    argTypes:
    - csi_t*
    - csi_object_t*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 459
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 459
    functionName: csi_name_new
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-objects.c
    functionUses: []
    functionsReached:
    - _csi_intern_string
    - _csi_unlikely
    linkageType: ''
    returnType: csi_status_t
    signature: "csi_status_t csi_name_new (csi_t *ctx,\t csi_object_t *obj,\t const\
      \ char *str,\t int len) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:552,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:553,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:557,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:556,1
    - Dst: _csi_slab_alloc
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:555,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - ctx
    - obj
    - bytes
    - len
    argTypes:
    - csi_t*
    - csi_object_t*
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 571
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 571
    functionName: csi_string_new_from_bytes
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-objects.c
    functionUses: []
    functionsReached:
    - _csi_unlikely
    - _csi_slab_alloc
    - _csi_error
    linkageType: ''
    returnType: csi_status_t
    signature: "csi_status_t csi_string_new_from_bytes (csi_t *ctx,\t csi_object_t\
      \ *obj,\t\t\t char *bytes,\t\t\t unsigned int len) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CSI_OBJECT_IS_CAIRO
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:649,1
    - Dst: cairo_scaled_font_reference
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:661,1
    - Dst: cairo_font_face_reference
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:655,1
    - Dst: cairo_reference
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:652,1
    - Dst: cairo_pattern_reference
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:658,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:664,1
    - Dst: CSI_OBJECT_IS_COMPOUND
      Src: /src/cairo/util/cairo-script/cairo-script-objects.c:667,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 672
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 672
    functionName: csi_object_reference
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-objects.c
    functionUses: []
    functionsReached:
    - CSI_OBJECT_IS_CAIRO
    - cairo_surface_reference
    - cairo_pattern_reference
    - cairo_reference
    - cairo_font_face_reference
    - CSI_OBJECT_IS_COMPOUND
    - cairo_scaled_font_reference
    linkageType: ''
    returnType: csi_object_t*
    signature: 'csi_object_t *csi_object_reference (csi_object_t *obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: csi_object_free
      Src: /src/cairo/util/cairo-script/cairo-script-stack.c:62,1
    - Dst: _csi_free
      Src: /src/cairo/util/cairo-script/cairo-script-stack.c:64,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - stack
    argTypes:
    - csi_t*
    - csi_stack_t*
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: _csi_stack_fini
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-stack.c
    functionUses: []
    functionsReached:
    - _csi_free
    - csi_object_free
    linkageType: ''
    returnType: void
    signature: 'void _csi_stack_fini (csi_t *ctx, csi_stack_t *stack) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _csi_likely
      Src: /src/cairo/util/cairo-script/cairo-script-stack.c:127,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-stack.c:130,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-stack.c:140,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-stack.c:129,1
    - Dst: _csi_realloc
      Src: /src/cairo/util/cairo-script/cairo-script-stack.c:137,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-stack.c:141,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - ctx
    - stack
    - cnt
    argTypes:
    - csi_t*
    - csi_stack_t*
    - csi_integer_t
    constantsTouched: []
    func_position:
      end: 147
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 147
    functionName: _csi_stack_grow
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-stack.c
    functionUses: []
    functionsReached:
    - _csi_likely
    - _csi_unlikely
    - _csi_realloc
    - _csi_error
    linkageType: ''
    returnType: csi_status_t
    signature: 'csi_status_t _csi_stack_grow (csi_t *ctx, csi_stack_t *stack, csi_integer_t
      cnt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-stack.c:166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 170
    functionName: _csi_stack_peek
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-stack.c
    functionUses: []
    functionsReached:
    - _csi_unlikely
    linkageType: ''
    returnType: csi_object_t*
    signature: 'csi_object_t *_csi_stack_peek (csi_stack_t *stack, csi_integer_t i) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _csi_alloc
      Src: /src/cairo/util/cairo-script/cairo-script-stack.c:49,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-stack.c:50,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-stack.c:51,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - stack
    - size
    argTypes:
    - csi_t*
    - csi_stack_t*
    - csi_integer_t
    constantsTouched: []
    func_position:
      end: 54
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 54
    functionName: _csi_stack_init
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-stack.c
    functionUses: []
    functionsReached:
    - _csi_alloc
    - _csi_unlikely
    - _csi_error
    linkageType: ''
    returnType: csi_status_t
    signature: 'csi_status_t _csi_stack_init (csi_t *ctx, csi_stack_t *stack, csi_integer_t
      size) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/util/cairo-script/cairo-script-stack.c:94,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-stack.c:99,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-stack.c:96,1
    - Dst: _csi_alloc
      Src: /src/cairo/util/cairo-script/cairo-script-stack.c:97,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-stack.c:95,1
    - Dst: memcpy
      Src: /src/cairo/util/cairo-script/cairo-script-stack.c:104,1
    - Dst: _csi_free
      Src: /src/cairo/util/cairo-script/cairo-script-stack.c:116,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 4
    argNames:
    - ctx
    - stack
    - mod
    - n
    argTypes:
    - csi_t*
    - csi_stack_t*
    - csi_integer_t
    - csi_integer_t
    constantsTouched: []
    func_position:
      end: 119
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 119
    functionName: _csi_stack_roll
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-stack.c
    functionUses: []
    functionsReached:
    - memcpy
    - _csi_alloc
    - ARRAY_LENGTH
    - _csi_unlikely
    - _csi_error
    - _csi_free
    linkageType: ''
    returnType: csi_status_t
    signature: "csi_status_t _csi_stack_roll (csi_t *ctx,\t\t csi_stack_t *stack,\t\
      \t csi_integer_t mod, csi_integer_t n) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _csi_stack_grow
      Src: /src/cairo/util/cairo-script/cairo-script-stack.c:155,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-stack.c:156,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - stack
    - obj
    argTypes:
    - csi_t*
    - csi_stack_t*
    - csi_object_t*
    constantsTouched: []
    func_position:
      end: 161
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 161
    functionName: _csi_stack_push_internal
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-stack.c
    functionUses: []
    functionsReached:
    - _csi_stack_grow
    - _csi_unlikely
    linkageType: ''
    returnType: csi_status_t
    signature: "csi_status_t _csi_stack_push_internal (csi_t *ctx, csi_stack_t *stack,\t\
      \t\t const csi_object_t *obj) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-stack.c:175,1
    - Dst: csi_object_free
      Src: /src/cairo/util/cairo-script/cairo-script-stack.c:179,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - stack
    - count
    argTypes:
    - csi_t*
    - csi_stack_t*
    - csi_integer_t
    constantsTouched: []
    func_position:
      end: 180
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 180
    functionName: _csi_stack_pop
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-stack.c
    functionUses: []
    functionsReached:
    - _csi_unlikely
    - csi_object_free
    linkageType: ''
    returnType: void
    signature: 'void _csi_stack_pop (csi_t *ctx, csi_stack_t *stack, csi_integer_t
      count) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-stack.c:188,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-stack.c:189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - stack
    argTypes:
    - csi_stack_t*
    constantsTouched: []
    func_position:
      end: 197
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 197
    functionName: _csi_stack_exch
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-stack.c
    functionUses: []
    functionsReached:
    - _csi_unlikely
    - _csi_error
    linkageType: ''
    returnType: csi_status_t
    signature: 'csi_status_t _csi_stack_exch (csi_stack_t *stack) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/cairo/util/cairo-script/csi-bind.c:47,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - closure
    - data
    - length
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: write_func
    functionSourceFile: /src/cairo/util/cairo-script/csi-bind.c
    functionUses: []
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t write_func (void *closure,\t const unsigned\
      \ char *data,\t unsigned int length) "
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cairo/util/cairo-script/csi-bind.c:61,1
    - Dst: fopen
      Src: /src/cairo/util/cairo-script/csi-bind.c:72,1
    - Dst: fprintf
      Src: /src/cairo/util/cairo-script/csi-bind.c:64,1
    - Dst: fprintf
      Src: /src/cairo/util/cairo-script/csi-bind.c:74,1
    - Dst: fopen
      Src: /src/cairo/util/cairo-script/csi-bind.c:62,1
    - Dst: cairo_script_interpreter_translate_stream
      Src: /src/cairo/util/cairo-script/csi-bind.c:78,1
    - Dst: fclose
      Src: /src/cairo/util/cairo-script/csi-bind.c:79,1
    - Dst: strcmp
      Src: /src/cairo/util/cairo-script/csi-bind.c:86,1
    - Dst: fopen
      Src: /src/cairo/util/cairo-script/csi-bind.c:87,1
    - Dst: fprintf
      Src: /src/cairo/util/cairo-script/csi-bind.c:89,1
    - Dst: cairo_script_interpreter_translate_stream
      Src: /src/cairo/util/cairo-script/csi-bind.c:95,1
    - Dst: fclose
      Src: /src/cairo/util/cairo-script/csi-bind.c:98,1
    - Dst: fprintf
      Src: /src/cairo/util/cairo-script/csi-bind.c:105,1
    - Dst: fclose
      Src: /src/cairo/util/cairo-script/csi-bind.c:102,1
    - Dst: cairo_status_to_string
      Src: /src/cairo/util/cairo-script/csi-bind.c:106,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 46
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 111
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 111
    functionName: main
    functionSourceFile: /src/cairo/util/cairo-script/csi-bind.c
    functionUses: []
    functionsReached:
    - fprintf
    - fclose
    - strcmp
    - fopen
    - cairo_script_interpreter_translate_stream
    - cairo_status_to_string
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:78,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: _csi_realloc
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-interpreter.c
    functionUses: []
    functionsReached:
    - realloc
    linkageType: ''
    returnType: void*
    signature: 'void *_csi_realloc (csi_t *ctx, void *ptr, int size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:167,1
    - Dst: free
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:171,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - ctx
    - ptr
    - size
    argTypes:
    - csi_t*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 180
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 180
    functionName: _csi_slab_free
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-interpreter.c
    functionUses: []
    functionsReached:
    - free
    - _csi_unlikely
    linkageType: ''
    returnType: void
    signature: 'void _csi_slab_free (csi_t *ctx, void *ptr, int size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _csi_free
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 201
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 201
    functionName: _csi_perm_fini
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-interpreter.c
    functionUses: []
    functionsReached:
    - _csi_free
    linkageType: ''
    returnType: void
    signature: 'static void _csi_perm_fini (csi_t *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: csi_name_new_static
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:226,1
    - Dst: csi_dictionary_put
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:232,1
    - Dst: csi_operator_new
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:230,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - dict
    - def
    argTypes:
    - csi_t*
    - csi_dictionary_t*
    - csi_operator_def_t*
    constantsTouched: []
    func_position:
      end: 233
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 233
    functionName: _add_operator
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-interpreter.c
    functionUses: []
    functionsReached:
    - csi_dictionary_put
    - csi_operator_new
    - csi_name_new_static
    linkageType: ''
    returnType: csi_status_t
    signature: "static csi_status_t _add_operator (csi_t *ctx,\t csi_dictionary_t\
      \ *dict,\t const csi_operator_def_t *def) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: csi_file_new
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:568,1
    - Dst: csi_object_execute
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:574,1
    - Dst: csi_object_free
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:575,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - filename
    argTypes:
    - csi_t*
    - char*
    constantsTouched: []
    func_position:
      end: 578
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 578
    functionName: cairo_script_interpreter_run
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-interpreter.c
    functionUses: []
    functionsReached:
    - csi_object_execute
    - csi_object_free
    - csi_file_new
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t cairo_script_interpreter_run (csi_t *ctx, const char
      *filename) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:84,1
    - Dst: free
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - ptr
    argTypes:
    - csi_t*
    - void*
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: _csi_free
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-interpreter.c
    functionUses: []
    functionsReached:
    - free
    - _csi_unlikely
    linkageType: ''
    returnType: void
    signature: 'void _csi_free (csi_t *ctx, void *ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:186,1
    - Dst: _csi_stack_push_internal
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:187,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - stack
    - obj
    argTypes:
    - csi_t*
    - csi_stack_t*
    - csi_object_t*
    constantsTouched: []
    func_position:
      end: 191
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 191
    functionName: _csi_stack_push
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-interpreter.c
    functionUses: []
    functionsReached:
    - _csi_unlikely
    - _csi_stack_push_internal
    linkageType: ''
    returnType: csi_status_t
    signature: "csi_status_t _csi_stack_push (csi_t *ctx, csi_stack_t *stack,\t\t\
      \ const csi_object_t *obj) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _csi_free
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:212,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 215
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 215
    functionName: _csi_slab_fini
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-interpreter.c
    functionUses: []
    functionsReached:
    - _csi_free
    linkageType: ''
    returnType: void
    signature: 'static void _csi_slab_fini (csi_t *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: csi_name_new_static
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:244,1
    - Dst: csi_dictionary_put
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:250,1
    - Dst: csi_integer_new
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:248,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - dict
    - def
    argTypes:
    - csi_t*
    - csi_dictionary_t*
    - csi_integer_constant_def_t*
    constantsTouched: []
    func_position:
      end: 251
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 251
    functionName: _add_integer_constant
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-interpreter.c
    functionUses: []
    functionsReached:
    - csi_dictionary_put
    - csi_integer_new
    - csi_name_new_static
    linkageType: ''
    returnType: csi_status_t
    signature: "static csi_status_t _add_integer_constant (csi_t *ctx,\t\t csi_dictionary_t\
      \ *dict,\t\t const csi_integer_constant_def_t *def) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: csi_file_new_for_stream
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:590,1
    - Dst: csi_object_free
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:597,1
    - Dst: csi_object_execute
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:596,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - stream
    argTypes:
    - csi_t*
    - FILE*
    constantsTouched: []
    func_position:
      end: 600
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 600
    functionName: cairo_script_interpreter_feed_stream
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-interpreter.c
    functionUses: []
    functionsReached:
    - csi_object_execute
    - csi_file_new_for_stream
    - csi_object_free
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t cairo_script_interpreter_feed_stream (csi_t *ctx, FILE
      *stream) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _csi_alloc
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:101,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:102,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 116
    functionName: _csi_perm_alloc
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-interpreter.c
    functionUses: []
    functionsReached:
    - _csi_alloc
    - _csi_unlikely
    linkageType: ''
    returnType: void*
    signature: 'void *_csi_perm_alloc (csi_t *ctx, int size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:539,1
    - Dst: _csi_init
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:543,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 546
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 546
    functionName: cairo_script_interpreter_create
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-interpreter.c
    functionUses: []
    functionsReached:
    - malloc
    - _csi_init
    linkageType: ''
    returnType: csi_t*
    signature: 'csi_t *cairo_script_interpreter_create (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:613,1
    - Dst: csi_object_execute
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:620,1
    - Dst: csi_object_free
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:621,1
    - Dst: csi_file_new_for_bytes
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:614,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - line
    - len
    argTypes:
    - csi_t*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 624
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 624
    functionName: cairo_script_interpreter_feed_string
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-interpreter.c
    functionUses: []
    functionsReached:
    - csi_object_free
    - csi_object_execute
    - csi_file_new_for_bytes
    - strlen
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t cairo_script_interpreter_feed_string (csi_t *ctx, const
      char *line, int len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:122,1
    - Dst: MAX
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:139,1
    - Dst: _csi_alloc
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:141,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:144,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 159
    functionName: _csi_slab_alloc
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-interpreter.c
    functionUses: []
    functionsReached:
    - malloc
    - _csi_alloc
    - _csi_unlikely
    - MAX
    linkageType: ''
    returnType: void*
    signature: 'void *_csi_slab_alloc (csi_t *ctx, int size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - hooks
    argTypes:
    - csi_t*
    - csi_hooks_t*
    constantsTouched: []
    func_position:
      end: 556
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 556
    functionName: cairo_script_interpreter_install_hooks
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-interpreter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void cairo_script_interpreter_install_hooks (csi_t *ctx,\t\t\t\t\t\
      const csi_hooks_t *hooks) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 630
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 630
    functionName: cairo_script_interpreter_get_line_number
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-interpreter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: 'unsigned int cairo_script_interpreter_get_line_number (csi_t *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: csi_name_new_static
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:262,1
    - Dst: csi_dictionary_put
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:268,1
    - Dst: csi_real_new
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:266,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - dict
    - def
    argTypes:
    - csi_t*
    - csi_dictionary_t*
    - csi_real_constant_def_t*
    constantsTouched: []
    func_position:
      end: 269
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 269
    functionName: _add_real_constant
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-interpreter.c
    functionUses: []
    functionsReached:
    - csi_dictionary_put
    - csi_name_new_static
    - csi_real_new
    linkageType: ''
    returnType: csi_status_t
    signature: "static csi_status_t _add_real_constant (csi_t *ctx,\t\t csi_dictionary_t\
      \ *dict,\t\t const csi_real_constant_def_t *def) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _csi_finish
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:659,1
    - Dst: _csi_slab_fini
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:668,1
    - Dst: csi_dictionary_free
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:664,1
    - Dst: csi_string_free
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:666,1
    - Dst: csi_array_free
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:662,1
    - Dst: _csi_perm_fini
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:669,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 670
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 670
    functionName: _csi_fini
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-interpreter.c
    functionUses: []
    functionsReached:
    - csi_dictionary_free
    - csi_array_free
    - _csi_slab_fini
    - _csi_finish
    - _csi_perm_fini
    - csi_string_free
    linkageType: ''
    returnType: void
    signature: 'static void _csi_fini (csi_t *ctx) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: csi_dictionary_new
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:300,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:301,1
    - Dst: _add_operator
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:315,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:335,1
    - Dst: _add_real_constant
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:339,1
    - Dst: _csi_stack_push
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:352,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:353,1
    - Dst: csi_dictionary_new
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:357,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:358,1
    - Dst: _csi_stack_push
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:294,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:295,1
    - Dst: assert
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:326,1
    - Dst: csi_dictionary_has
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:319,1
    - Dst: _add_integer_constant
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:334,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:350,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:291,1
    - Dst: csi_integer_new
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:307,1
    - Dst: _csi_operators
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:314,1
    - Dst: csi_dictionary_free
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:330,1
    - Dst: _csi_real_constants
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:338,1
    - Dst: csi_dictionary_new
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:349,1
    - Dst: _csi_stack_push
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:360,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:361,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:340,1
    - Dst: _csi_stack_init
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:285,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:286,1
    - Dst: csi_dictionary_new
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:290,1
    - Dst: csi_dictionary_put
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:308,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:316,1
    - Dst: csi_dictionary_put
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:321,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:309,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:323,1
    - Dst: csi_integer_new
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:320,1
    - Dst: _csi_integer_constants
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:333,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 67
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 365
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 365
    functionName: _init_dictionaries
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-interpreter.c
    functionUses: []
    functionsReached:
    - _add_integer_constant
    - _csi_stack_push
    - csi_dictionary_free
    - csi_dictionary_has
    - csi_integer_new
    - _csi_unlikely
    - assert
    - _csi_operators
    - _csi_stack_init
    - csi_dictionary_put
    - _csi_integer_constants
    - _csi_real_constants
    - _add_real_constant
    - csi_dictionary_new
    - _add_operator
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _init_dictionaries (csi_t *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 388
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 388
    functionName: _intern_string_hash
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-interpreter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: 'static unsigned long _intern_string_hash (const char *str, int len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _csi_fini
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:681,1
    - Dst: free
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:682,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 685
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 685
    functionName: cairo_script_interpreter_destroy
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-interpreter.c
    functionUses: []
    functionsReached:
    - _csi_fini
    - free
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t cairo_script_interpreter_destroy (csi_t *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _intern_string_hash
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:501,1
    - Dst: _csi_hash_table_insert
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:516,1
    - Dst: memcpy
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:513,1
    - Dst: _csi_perm_alloc
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:507,1
    - Dst: _csi_hash_table_lookup
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:505,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:518,1
    - Dst: _csi_free
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:519,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:523,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - ctx
    - str_inout
    - len
    argTypes:
    - csi_t*
    - char**
    - int
    constantsTouched: []
    func_position:
      end: 528
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 528
    functionName: _csi_intern_string
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-interpreter.c
    functionUses: []
    functionsReached:
    - memcpy
    - _csi_perm_alloc
    - _csi_unlikely
    - _csi_error
    - _intern_string_hash
    - _csi_hash_table_insert
    - _csi_hash_table_lookup
    - _csi_free
    linkageType: ''
    returnType: csi_status_t
    signature: 'csi_status_t _csi_intern_string (csi_t *ctx, const char **str_inout,
      int len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: _csi_alloc
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-interpreter.c
    functionUses: []
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void*
    signature: 'void *_csi_alloc (csi_t *ctx, int size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:399,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 400
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 400
    functionName: _intern_string_equal
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-interpreter.c
    functionUses: []
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _intern_string_equal (const void *_a, const void
      *_b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _csi_stack_fini
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:438,1
    - Dst: _csi_scanner_fini
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:440,1
    - Dst: _csi_stack_fini
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:439,1
    - Dst: _csi_hash_table_fini
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:442,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 443
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 443
    functionName: _csi_finish
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-interpreter.c
    functionUses: []
    functionsReached:
    - _csi_hash_table_fini
    - _csi_scanner_fini
    - _csi_stack_fini
    linkageType: ''
    returnType: void
    signature: 'static void _csi_finish (csi_t *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _csi_hash_table_lookup
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:464,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:472,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - name
    - obj
    argTypes:
    - csi_t*
    - csi_name_t
    - csi_object_t*
    constantsTouched: []
    func_position:
      end: 473
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 473
    functionName: _csi_name_lookup
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-interpreter.c
    functionUses: []
    functionsReached:
    - _csi_hash_table_lookup
    - _csi_error
    linkageType: ''
    returnType: csi_status_t
    signature: 'csi_status_t _csi_name_lookup (csi_t *ctx, csi_name_t name, csi_object_t
      *obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 637
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 637
    functionName: cairo_script_interpreter_reference
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-interpreter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: csi_t*
    signature: 'csi_t *cairo_script_interpreter_reference (csi_t *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - status
    argTypes:
    - csi_status_t
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: _csi_error
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-interpreter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: csi_status_t
    signature: 'csi_status_t _csi_error (csi_status_t status) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _csi_alloc
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:68,1
    - Dst: memset
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:70,1
    - Dst: _csi_likely
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:69,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 73
    functionName: _csi_alloc0
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-interpreter.c
    functionUses: []
    functionsReached:
    - _csi_likely
    - _csi_alloc
    - memset
    linkageType: ''
    returnType: void*
    signature: 'void *_csi_alloc0 (csi_t *ctx, int size) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:407,1
    - Dst: _csi_stack_init
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:417,1
    - Dst: _csi_scanner_init
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:424,1
    - Dst: _init_dictionaries
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:420,1
    - Dst: _csi_hash_table_init
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:413,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 433
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 433
    functionName: _csi_init
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-interpreter.c
    functionUses: []
    functionsReached:
    - memset
    - _csi_scanner_init
    - _csi_stack_init
    - _init_dictionaries
    - _csi_hash_table_init
    linkageType: ''
    returnType: void
    signature: 'static void _csi_init (csi_t *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: csi_dictionary_put
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:448,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - name
    - obj
    argTypes:
    - csi_t*
    - csi_name_t
    - csi_object_t*
    constantsTouched: []
    func_position:
      end: 452
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 452
    functionName: _csi_name_define
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-interpreter.c
    functionUses: []
    functionsReached:
    - csi_dictionary_put
    linkageType: ''
    returnType: csi_status_t
    signature: 'csi_status_t _csi_name_define (csi_t *ctx, csi_name_t name, csi_object_t
      *obj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: csi_dictionary_has
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:481,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:491,1
    - Dst: csi_dictionary_remove
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:484,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - csi_t*
    - csi_name_t
    constantsTouched: []
    func_position:
      end: 492
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 492
    functionName: _csi_name_undefine
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-interpreter.c
    functionUses: []
    functionsReached:
    - csi_dictionary_remove
    - _csi_error
    - csi_dictionary_has
    linkageType: ''
    returnType: csi_status_t
    signature: 'csi_status_t _csi_name_undefine (csi_t *ctx, csi_name_t name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _csi_finish
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:646,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 653
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 653
    functionName: cairo_script_interpreter_finish
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-interpreter.c
    functionUses: []
    functionsReached:
    - _csi_finish
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t cairo_script_interpreter_finish (csi_t *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _csi_init
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:696,1
    - Dst: _csi_translate_file
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:702,1
    - Dst: csi_object_free
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:705,1
    - Dst: _csi_fini
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:706,1
    - Dst: csi_file_new_for_stream
      Src: /src/cairo/util/cairo-script/cairo-script-interpreter.c:698,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - stream
    - write_func
    - closure
    argTypes:
    - FILE*
    - cairo_write_func_t
    - void*
    constantsTouched: []
    func_position:
      end: 709
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 709
    functionName: cairo_script_interpreter_translate_stream
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-interpreter.c
    functionUses: []
    functionsReached:
    - _csi_translate_file
    - _csi_fini
    - csi_file_new_for_stream
    - csi_object_free
    - _csi_init
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t cairo_script_interpreter_translate_stream (FILE *stream,\t\
      \ cairo_write_func_t write_func,\t\t\t\t\t void *closure) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/util/cairo-script/csi-replay.c:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: _similar_surface_create
    functionSourceFile: /src/cairo/util/cairo-script/csi-replay.c
    functionUses: []
    functionsReached:
    - cairo_surface_create_similar
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_similar_surface_create (void *closure,\t\t\
      \t cairo_content_t content,\t\t\t double width, double height,\t\t\t long uid) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XFlush
      Src: /src/cairo/util/cairo-script/csi-replay.c:122,1
    - Dst: _get_display
      Src: /src/cairo/util/cairo-script/csi-replay.c:123,1
    - Dst: XDestroyWindow
      Src: /src/cairo/util/cairo-script/csi-replay.c:123,1
    - Dst: _get_display
      Src: /src/cairo/util/cairo-script/csi-replay.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - closure
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: _destroy_window
    functionSourceFile: /src/cairo/util/cairo-script/csi-replay.c
    functionUses: []
    functionsReached:
    - XFlush
    - _get_display
    - XDestroyWindow
    linkageType: ''
    returnType: void
    signature: 'static void _destroy_window (void *closure) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_status
      Src: /src/cairo/util/cairo-script/csi-replay.c:83,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/util/cairo-script/csi-replay.c:85,1
    - Dst: cairo_paint
      Src: /src/cairo/util/cairo-script/csi-replay.c:86,1
    - Dst: cairo_create
      Src: /src/cairo/util/cairo-script/csi-replay.c:84,1
    - Dst: cairo_destroy
      Src: /src/cairo/util/cairo-script/csi-replay.c:87,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/util/cairo-script/csi-replay.c:90,1
    - Dst: free
      Src: /src/cairo/util/cairo-script/csi-replay.c:92,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 2
    argNames:
    - closure
    - ptr
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 97
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 97
    functionName: _context_destroy
    functionSourceFile: /src/cairo/util/cairo-script/csi-replay.c
    functionUses: []
    functionsReached:
    - cairo_paint
    - free
    - cairo_surface_status
    - cairo_create
    - cairo_surface_destroy
    - cairo_destroy
    - cairo_set_source_surface
    linkageType: ''
    returnType: void
    signature: 'static void _context_destroy (void *closure, void *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_create
      Src: /src/cairo/util/cairo-script/csi-replay.c:68,1
    - Dst: malloc
      Src: /src/cairo/util/cairo-script/csi-replay.c:69,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/util/cairo-script/csi-replay.c:72,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 75
    functionName: _context_create
    functionSourceFile: /src/cairo/util/cairo-script/csi-replay.c
    functionUses: []
    functionsReached:
    - malloc
    - cairo_surface_reference
    - cairo_create
    linkageType: ''
    returnType: cairo_t*
    signature: 'static cairo_t *_context_create (void *closure, cairo_surface_t *surface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XOpenDisplay
      Src: /src/cairo/util/cairo-script/csi-replay.c:110,1
    - Dst: fprintf
      Src: /src/cairo/util/cairo-script/csi-replay.c:112,1
    - Dst: exit
      Src: /src/cairo/util/cairo-script/csi-replay.c:113,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 117
    functionName: _get_display
    functionSourceFile: /src/cairo/util/cairo-script/csi-replay.c
    functionUses: []
    functionsReached:
    - exit
    - fprintf
    - XOpenDisplay
    linkageType: ''
    returnType: Display*
    signature: 'static Display *_get_display (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _get_display
      Src: /src/cairo/util/cairo-script/csi-replay.c:139,1
    - Dst: DefaultDepth
      Src: /src/cairo/util/cairo-script/csi-replay.c:142,1
    - Dst: DefaultScreen
      Src: /src/cairo/util/cairo-script/csi-replay.c:142,1
    - Dst: DefaultScreen
      Src: /src/cairo/util/cairo-script/csi-replay.c:141,1
    - Dst: DefaultVisual
      Src: /src/cairo/util/cairo-script/csi-replay.c:141,1
    - Dst: XCreateWindow
      Src: /src/cairo/util/cairo-script/csi-replay.c:144,1
    - Dst: DefaultRootWindow
      Src: /src/cairo/util/cairo-script/csi-replay.c:144,1
    - Dst: XMapWindow
      Src: /src/cairo/util/cairo-script/csi-replay.c:149,1
    - Dst: cairo_xlib_surface_create
      Src: /src/cairo/util/cairo-script/csi-replay.c:151,1
    - Dst: cairo_surface_set_user_data
      Src: /src/cairo/util/cairo-script/csi-replay.c:152,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 155
    functionName: _xlib_surface_create
    functionSourceFile: /src/cairo/util/cairo-script/csi-replay.c
    functionUses: []
    functionsReached:
    - DefaultDepth
    - cairo_surface_set_user_data
    - XCreateWindow
    - DefaultVisual
    - DefaultScreen
    - DefaultRootWindow
    - XMapWindow
    - cairo_xlib_surface_create
    - _get_display
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_xlib_surface_create (void *closure,\t\t cairo_content_t\
      \ content,\t\t double width, double height,\t\t long uid) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XFreePixmap
      Src: /src/cairo/util/cairo-script/csi-replay.c:163,1
    - Dst: _get_display
      Src: /src/cairo/util/cairo-script/csi-replay.c:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - closure
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: _destroy_pixmap
    functionSourceFile: /src/cairo/util/cairo-script/csi-replay.c
    functionUses: []
    functionsReached:
    - XFreePixmap
    - _get_display
    linkageType: ''
    returnType: void
    signature: 'static void _destroy_pixmap (void *closure) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _get_display
      Src: /src/cairo/util/cairo-script/csi-replay.c:177,1
    - Dst: XRenderFindStandardFormat
      Src: /src/cairo/util/cairo-script/csi-replay.c:183,1
    - Dst: XRenderFindStandardFormat
      Src: /src/cairo/util/cairo-script/csi-replay.c:190,1
    - Dst: XCreatePixmap
      Src: /src/cairo/util/cairo-script/csi-replay.c:193,1
    - Dst: XRenderFindStandardFormat
      Src: /src/cairo/util/cairo-script/csi-replay.c:186,1
    - Dst: DefaultRootWindow
      Src: /src/cairo/util/cairo-script/csi-replay.c:193,1
    - Dst: cairo_xlib_surface_create_with_xrender_format
      Src: /src/cairo/util/cairo-script/csi-replay.c:196,1
    - Dst: DefaultScreenOfDisplay
      Src: /src/cairo/util/cairo-script/csi-replay.c:197,1
    - Dst: cairo_surface_set_user_data
      Src: /src/cairo/util/cairo-script/csi-replay.c:200,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 204
    functionName: _xrender_surface_create
    functionSourceFile: /src/cairo/util/cairo-script/csi-replay.c
    functionUses: []
    functionsReached:
    - XCreatePixmap
    - cairo_surface_set_user_data
    - DefaultScreenOfDisplay
    - cairo_xlib_surface_create_with_xrender_format
    - DefaultRootWindow
    - _get_display
    - XRenderFindStandardFormat
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_xrender_surface_create (void *closure,\t\t\
      \t cairo_content_t content,\t\t\t double width, double height,\t\t\t long uid) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pdf_surface_create_for_stream
      Src: /src/cairo/util/cairo-script/csi-replay.c:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 217
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 217
    functionName: _pdf_surface_create
    functionSourceFile: /src/cairo/util/cairo-script/csi-replay.c
    functionUses: []
    functionsReached:
    - cairo_pdf_surface_create_for_stream
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_pdf_surface_create (void *closure,\t\t cairo_content_t\
      \ content,\t\t double width, double height,\t\t long uid) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_ps_surface_create_for_stream
      Src: /src/cairo/util/cairo-script/csi-replay.c:228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 229
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 229
    functionName: _ps_surface_create
    functionSourceFile: /src/cairo/util/cairo-script/csi-replay.c
    functionUses: []
    functionsReached:
    - cairo_ps_surface_create_for_stream
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_ps_surface_create (void *closure,\t\t cairo_content_t\
      \ content,\t\t double width, double height,\t\t long uid) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_svg_surface_create_for_stream
      Src: /src/cairo/util/cairo-script/csi-replay.c:240,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 241
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 241
    functionName: _svg_surface_create
    functionSourceFile: /src/cairo/util/cairo-script/csi-replay.c
    functionUses: []
    functionsReached:
    - cairo_svg_surface_create_for_stream
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_svg_surface_create (void *closure,\t\t cairo_content_t\
      \ content,\t\t double width, double height,\t\t long uid) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create
      Src: /src/cairo/util/cairo-script/csi-replay.c:250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 251
    functionName: _image_surface_create
    functionSourceFile: /src/cairo/util/cairo-script/csi-replay.c
    functionUses: []
    functionsReached:
    - cairo_image_surface_create
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_image_surface_create (void *closure,\t\t\
      \ cairo_content_t content,\t\t double width, double height,\t\t long uid) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cairo/util/cairo-script/csi-replay.c:315,1
    - Dst: cairo_script_interpreter_install_hooks
      Src: /src/cairo/util/cairo-script/csi-replay.c:309,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/util/cairo-script/csi-replay.c:317,1
    - Dst: cairo_script_interpreter_create
      Src: /src/cairo/util/cairo-script/csi-replay.c:308,1
    - Dst: cairo_script_interpreter_install_hooks
      Src: /src/cairo/util/cairo-script/csi-replay.c:325,1
    - Dst: cairo_script_interpreter_run
      Src: /src/cairo/util/cairo-script/csi-replay.c:331,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/util/cairo-script/csi-replay.c:333,1
    - Dst: cairo_script_interpreter_destroy
      Src: /src/cairo/util/cairo-script/csi-replay.c:335,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 336
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 336
    functionName: main
    functionSourceFile: /src/cairo/util/cairo-script/csi-replay.c
    functionUses: []
    functionsReached:
    - cairo_script_interpreter_create
    - strcmp
    - cairo_script_interpreter_destroy
    - cairo_surface_destroy
    - cairo_script_interpreter_install_hooks
    - cairo_script_interpreter_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_script_surface_create
      Src: /src/cairo/util/cairo-script/csi-trace.c:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: _script_surface_create
    functionSourceFile: /src/cairo/util/cairo-script/csi-trace.c
    functionUses: []
    functionsReached:
    - cairo_script_surface_create
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_script_surface_create (void *closure,\t\t\
      \t cairo_content_t content,\t\t\t double width, double height,\t\t\t long uid) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cairo_script_interpreter_create
      Src: /src/cairo/util/cairo-script/csi-trace.c:63,1
    - Dst: strcmp
      Src: /src/cairo/util/cairo-script/csi-trace.c:69,1
    - Dst: exit
      Src: /src/cairo/util/cairo-script/csi-trace.c:68,1
    - Dst: printf
      Src: /src/cairo/util/cairo-script/csi-trace.c:67,1
    - Dst: strcmp
      Src: /src/cairo/util/cairo-script/csi-trace.c:66,1
    - Dst: printf
      Src: /src/cairo/util/cairo-script/csi-trace.c:70,1
    - Dst: exit
      Src: /src/cairo/util/cairo-script/csi-trace.c:71,1
    - Dst: snprintf
      Src: /src/cairo/util/cairo-script/csi-trace.c:74,1
    - Dst: basename
      Src: /src/cairo/util/cairo-script/csi-trace.c:74,1
    - Dst: cairo_device_destroy
      Src: /src/cairo/util/cairo-script/csi-trace.c:75,1
    - Dst: cairo_script_interpreter_destroy
      Src: /src/cairo/util/cairo-script/csi-trace.c:82,1
    - Dst: cairo_script_create
      Src: /src/cairo/util/cairo-script/csi-trace.c:76,1
    - Dst: cairo_script_interpreter_install_hooks
      Src: /src/cairo/util/cairo-script/csi-trace.c:77,1
    - Dst: cairo_script_interpreter_run
      Src: /src/cairo/util/cairo-script/csi-trace.c:78,1
    - Dst: cairo_device_destroy
      Src: /src/cairo/util/cairo-script/csi-trace.c:80,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 83
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 83
    functionName: main
    functionSourceFile: /src/cairo/util/cairo-script/csi-trace.c
    functionUses: []
    functionsReached:
    - printf
    - cairo_script_interpreter_run
    - cairo_device_destroy
    - cairo_script_create
    - strcmp
    - basename
    - cairo_script_interpreter_destroy
    - cairo_script_interpreter_install_hooks
    - cairo_script_interpreter_create
    - snprintf
    - exit
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create
      Src: /src/cairo/util/cairo-script/csi-exec.c:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: _surface_create
    functionSourceFile: /src/cairo/util/cairo-script/csi-exec.c
    functionUses: []
    functionsReached:
    - cairo_image_surface_create
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "static cairo_surface_t *_surface_create (void *closure,\t\t cairo_content_t\
      \ content,\t\t double width, double height,\t\t long uid) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_script_interpreter_create
      Src: /src/cairo/util/cairo-script/csi-exec.c:63,1
    - Dst: cairo_script_interpreter_get_line_number
      Src: /src/cairo/util/cairo-script/csi-exec.c:66,1
    - Dst: cairo_script_interpreter_destroy
      Src: /src/cairo/util/cairo-script/csi-exec.c:67,1
    - Dst: cairo_script_interpreter_run
      Src: /src/cairo/util/cairo-script/csi-exec.c:65,1
    - Dst: cairo_script_interpreter_install_hooks
      Src: /src/cairo/util/cairo-script/csi-exec.c:64,1
    - Dst: fprintf
      Src: /src/cairo/util/cairo-script/csi-exec.c:69,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 76
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 76
    functionName: main
    functionSourceFile: /src/cairo/util/cairo-script/csi-exec.c
    functionUses: []
    functionsReached:
    - cairo_script_interpreter_create
    - fprintf
    - cairo_script_interpreter_destroy
    - cairo_script_interpreter_get_line_number
    - cairo_script_interpreter_install_hooks
    - cairo_script_interpreter_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/cairo/util/cairo-script/cairo-script-hash.c:132,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-hash.c:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - hash_table
    - keys_equal
    argTypes:
    - csi_hash_table_t*
    - csi_hash_keys_equal_func_t
    constantsTouched: []
    func_position:
      end: 142
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 142
    functionName: _csi_hash_table_init
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-hash.c
    functionUses: []
    functionsReached:
    - calloc
    - _csi_error
    linkageType: ''
    returnType: csi_status_t
    signature: "csi_status_t _csi_hash_table_init (csi_hash_table_t *hash_table,\t\
      \t csi_hash_keys_equal_func_t keys_equal) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ENTRY_IS_DEAD
      Src: /src/cairo/util/cairo-script/cairo-script-hash.c:240,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-hash.c:261,1
    - Dst: ENTRY_IS_LIVE
      Src: /src/cairo/util/cairo-script/cairo-script-hash.c:270,1
    - Dst: _csi_hash_table_lookup_unique_key
      Src: /src/cairo/util/cairo-script/cairo-script-hash.c:273,1
    - Dst: calloc
      Src: /src/cairo/util/cairo-script/cairo-script-hash.c:258,1
    - Dst: ENTRY_IS_FREE
      Src: /src/cairo/util/cairo-script/cairo-script-hash.c:274,1
    - Dst: free
      Src: /src/cairo/util/cairo-script/cairo-script-hash.c:282,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 1
    argNames:
    - hash_table
    argTypes:
    - csi_hash_table_t*
    constantsTouched: []
    func_position:
      end: 288
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 288
    functionName: _csi_hash_table_manage
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-hash.c
    functionUses: []
    functionsReached:
    - _csi_hash_table_lookup_unique_key
    - free
    - _csi_error
    - calloc
    - ENTRY_IS_DEAD
    - ENTRY_IS_FREE
    - ENTRY_IS_LIVE
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _csi_hash_table_manage (csi_hash_table_t *hash_table) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _csi_hash_table_manage
      Src: /src/cairo/util/cairo-script/cairo-script-hash.c:369,1
    - Dst: _csi_hash_table_lookup_unique_key
      Src: /src/cairo/util/cairo-script/cairo-script-hash.c:376,1
    - Dst: ENTRY_IS_FREE
      Src: /src/cairo/util/cairo-script/cairo-script-hash.c:378,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-hash.c:370,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - hash_table
    - key_and_value
    argTypes:
    - csi_hash_table_t*
    - csi_hash_entry_t*
    constantsTouched: []
    func_position:
      end: 383
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 383
    functionName: _csi_hash_table_insert
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-hash.c
    functionUses: []
    functionsReached:
    - _csi_hash_table_lookup_unique_key
    - _csi_unlikely
    - _csi_hash_table_manage
    - ENTRY_IS_FREE
    linkageType: ''
    returnType: csi_status_t
    signature: "csi_status_t _csi_hash_table_insert (csi_hash_table_t *hash_table,\t\
      \t\t csi_hash_entry_t *key_and_value) "
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 414
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 414
    functionName: _csi_hash_table_lookup_exact_key
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-hash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: csi_hash_entry_t**
    signature: "static csi_hash_entry_t **_csi_hash_table_lookup_exact_key (csi_hash_table_t\
      \ *hash_table,\t\t\t\t csi_hash_entry_t *key) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENTRY_IS_LIVE
      Src: /src/cairo/util/cairo-script/cairo-script-hash.c:471,1
    - Dst: _csi_hash_table_manage
      Src: /src/cairo/util/cairo-script/cairo-script-hash.c:481,1
    - Dst: hash_callback
      Src: /src/cairo/util/cairo-script/cairo-script-hash.c:472,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - hash_table
    - hash_callback
    - closure
    argTypes:
    - csi_hash_table_t*
    - csi_hash_callback_func_t
    - void*
    constantsTouched: []
    func_position:
      end: 483
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 483
    functionName: _csi_hash_table_foreach
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-hash.c
    functionUses: []
    functionsReached:
    - hash_callback
    - ENTRY_IS_LIVE
    - _csi_hash_table_manage
    linkageType: ''
    returnType: void
    signature: "void _csi_hash_table_foreach (csi_hash_table_t\t *hash_table,\t\t\t\
      \ csi_hash_callback_func_t hash_callback,\t\t\t void\t\t\t *closure) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ENTRY_IS_LIVE
      Src: /src/cairo/util/cairo-script/cairo-script-hash.c:312,1
    - Dst: ENTRY_IS_FREE
      Src: /src/cairo/util/cairo-script/cairo-script-hash.c:315,1
    - Dst: ENTRY_IS_LIVE
      Src: /src/cairo/util/cairo-script/cairo-script-hash.c:328,1
    - Dst: ENTRY_IS_FREE
      Src: /src/cairo/util/cairo-script/cairo-script-hash.c:334,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 339
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 339
    functionName: _csi_hash_table_lookup
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-hash.c
    functionUses: []
    functionsReached:
    - ENTRY_IS_FREE
    - ENTRY_IS_LIVE
    linkageType: ''
    returnType: void*
    signature: "void *_csi_hash_table_lookup (csi_hash_table_t *hash_table,\t\t\t\
      csi_hash_entry_t *key) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENTRY_IS_LIVE
      Src: /src/cairo/util/cairo-script/cairo-script-hash.c:178,1
    - Dst: ENTRY_IS_LIVE
      Src: /src/cairo/util/cairo-script/cairo-script-hash.c:191,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 196
    functionName: _csi_hash_table_lookup_unique_key
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-hash.c
    functionUses: []
    functionsReached:
    - ENTRY_IS_LIVE
    linkageType: ''
    returnType: csi_hash_entry_t**
    signature: "static csi_hash_entry_t **_csi_hash_table_lookup_unique_key (csi_hash_table_t\
      \ *hash_table,\t\t\t\t csi_hash_entry_t *key) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/util/cairo-script/cairo-script-hash.c:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - hash_table
    argTypes:
    - csi_hash_table_t*
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: _csi_hash_table_fini
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-hash.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void _csi_hash_table_fini (csi_hash_table_t *hash_table) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _csi_hash_table_lookup_exact_key
      Src: /src/cairo/util/cairo-script/cairo-script-hash.c:429,1
    - Dst: _csi_hash_table_manage
      Src: /src/cairo/util/cairo-script/cairo-script-hash.c:440,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - hash_table
    - key
    argTypes:
    - csi_hash_table_t*
    - csi_hash_entry_t*
    constantsTouched: []
    func_position:
      end: 442
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 442
    functionName: _csi_hash_table_remove
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-hash.c
    functionUses: []
    functionsReached:
    - _csi_hash_table_manage
    - _csi_hash_table_lookup_exact_key
    linkageType: ''
    returnType: void
    signature: "void _csi_hash_table_remove (csi_hash_table_t *hash_table,\t\t\t csi_hash_entry_t\
      \ *key) "
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _getc_skip_whitespace
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:337,1
    - Dst: _getc_skip_whitespace
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:358,1
    - Dst: _getc_skip_whitespace
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:344,1
    - Dst: _getc_skip_whitespace
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:356,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 92
    argCount: 1
    argNames:
    - file
    argTypes:
    - csi_file_t*
    constantsTouched: []
    func_position:
      end: 395
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 395
    functionName: _ascii85_decode
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-file.c
    functionUses: []
    functionsReached:
    - _getc_skip_whitespace
    linkageType: ''
    returnType: void
    signature: 'static void _ascii85_decode (csi_file_t *file) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _csi_alloc0
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:455,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:457,1
    - Dst: _csi_file_new_filter
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:459,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - obj
    - dict
    - src
    argTypes:
    - csi_t*
    - csi_object_t*
    - csi_dictionary_t*
    - csi_object_t*
    constantsTouched: []
    func_position:
      end: 460
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 460
    functionName: csi_file_new_ascii85_decode
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-file.c
    functionUses: []
    functionsReached:
    - _csi_error
    - _csi_file_new_filter
    - _csi_alloc0
    linkageType: ''
    returnType: csi_status_t
    signature: "csi_status_t csi_file_new_ascii85_decode (csi_t *ctx,\t\t\t csi_object_t\
      \ *obj,\t\t\t csi_dictionary_t *dict,\t\t\t csi_object_t *src) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _deflate_decode
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:512,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - file
    argTypes:
    - csi_file_t*
    constantsTouched: []
    func_position:
      end: 520
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 520
    functionName: _deflate_decode_getc
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-file.c
    functionUses: []
    functionsReached:
    - _deflate_decode
    linkageType: ''
    returnType: int
    signature: 'static int _deflate_decode_getc (csi_file_t *file) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _getc_skip_whitespace
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:757,1
    - Dst: hex_value
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:759,1
    - Dst: hex_value
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:759,1
    - Dst: _getc_skip_whitespace
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:758,1
    - Dst: csi_file_getc
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:761,1
    - Dst: _decrypt
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:766,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - file
    argTypes:
    - csi_file_t*
    constantsTouched: []
    func_position:
      end: 767
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 767
    functionName: _decrypt_getc
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-file.c
    functionUses: []
    functionsReached:
    - hex_value
    - _getc_skip_whitespace
    - csi_file_getc
    - _decrypt
    linkageType: ''
    returnType: int
    signature: 'static int _decrypt_getc (csi_file_t *file) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _csi_slab_alloc
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:131,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:133,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - obj
    - bytes
    - length
    argTypes:
    - csi_t*
    - csi_object_t*
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 147
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 147
    functionName: csi_file_new_for_bytes
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-file.c
    functionUses: []
    functionsReached:
    - _csi_slab_alloc
    - _csi_error
    linkageType: ''
    returnType: csi_status_t
    signature: "csi_status_t csi_file_new_for_bytes (csi_t *ctx,\t\t\tcsi_object_t\
      \ *obj,\t\t\tconst char *bytes,\t\t\tunsigned int length) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _ascii85_decode
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:403,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - file
    argTypes:
    - csi_file_t*
    constantsTouched: []
    func_position:
      end: 411
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 411
    functionName: _ascii85_decode_getc
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-file.c
    functionUses: []
    functionsReached:
    - _ascii85_decode
    linkageType: ''
    returnType: int
    signature: 'static int _ascii85_decode_getc (csi_file_t *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - file
    - c
    argTypes:
    - csi_file_t*
    - int
    constantsTouched: []
    func_position:
      end: 528
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 528
    functionName: _deflate_decode_putc
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-file.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _deflate_decode_putc (csi_file_t *file, int c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - file
    - c
    argTypes:
    - csi_file_t*
    - int
    constantsTouched: []
    func_position:
      end: 777
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 777
    functionName: _decrypt_putc
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-file.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _decrypt_putc (csi_file_t *file, int c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _csi_scan_file
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:817,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - csi_t*
    - csi_file_t*
    constantsTouched: []
    func_position:
      end: 818
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 818
    functionName: _csi_file_execute
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-file.c
    functionUses: []
    functionsReached:
    - _csi_scan_file
    linkageType: ''
    returnType: csi_status_t
    signature: 'csi_status_t _csi_file_execute (csi_t *ctx, csi_file_t *obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - R
    - cypher
    argTypes:
    - unsigned short*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 635
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 635
    functionName: _decrypt
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-file.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: 'static uint8_t _decrypt (unsigned short *R, uint8_t cypher) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 2
    argNames:
    - file
    - c
    argTypes:
    - csi_file_t*
    - int
    constantsTouched: []
    func_position:
      end: 980
      start: 962
    functionDepth: 0
    functionLinenumber: 962
    functionLinenumberEnd: 980
    functionName: csi_file_putc
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-file.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void csi_file_putc (csi_file_t *file, int c) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:1007,1
    - Dst: csi_string_free
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:1013,1
    - Dst: _csi_file_free
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:1020,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 17
    argCount: 2
    argNames:
    - ctx
    - file
    argTypes:
    - csi_t*
    - csi_file_t*
    constantsTouched: []
    func_position:
      end: 1028
      start: 998
    functionDepth: 0
    functionLinenumber: 998
    functionLinenumberEnd: 1028
    functionName: csi_file_close
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-file.c
    functionUses: []
    functionsReached:
    - csi_string_free
    - _csi_file_free
    - fclose
    linkageType: ''
    returnType: void
    signature: 'void csi_file_close (csi_t *ctx, csi_file_t *file) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: csi_file_getc
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:308,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 4
    argCount: 1
    argNames:
    - src
    argTypes:
    - csi_file_t*
    constantsTouched: []
    func_position:
      end: 322
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 322
    functionName: _getc_skip_whitespace
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-file.c
    functionUses: []
    functionsReached:
    - csi_file_getc
    linkageType: ''
    returnType: int
    signature: 'static int _getc_skip_whitespace (csi_file_t *src) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:488,1
    - Dst: csi_file_read
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:495,1
    - Dst: inflate
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:500,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - file
    argTypes:
    - csi_file_t*
    constantsTouched: []
    func_position:
      end: 504
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 504
    functionName: _deflate_decode
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-file.c
    functionUses: []
    functionsReached:
    - memmove
    - csi_file_read
    - inflate
    linkageType: ''
    returnType: void
    signature: 'static void _deflate_decode (csi_file_t *file) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: hex_value
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:683,1
    - Dst: _decrypt
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:687,1
    - Dst: hex_value
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:683,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 26
    argCount: 5
    argNames:
    - in
    - length
    - salt
    - binary
    - out
    argTypes:
    - uint8_t*
    - int
    - unsigned short
    - int
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 691
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 691
    functionName: csi_decrypt
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-file.c
    functionUses: []
    functionsReached:
    - hex_value
    - _decrypt
    linkageType: ''
    returnType: int
    signature: "int csi_decrypt (uint8_t *in, int length,\t unsigned short salt, int\
      \ binary,\t uint8_t *out) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _csi_alloc0
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:786,1
    - Dst: csi_file_getc
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:805,1
    - Dst: _csi_file_new_filter
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:792,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 811
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 811
    functionName: csi_file_new_decrypt
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-file.c
    functionUses: []
    functionsReached:
    - csi_file_getc
    - _csi_file_new_filter
    - _csi_alloc0
    linkageType: ''
    returnType: csi_object_t*
    signature: 'csi_object_t *csi_file_new_decrypt (csi_t *ctx, csi_object_t *src,
      int salt, int discard) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: csi_file_getc
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:990,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 1
    argNames:
    - file
    argTypes:
    - csi_file_t*
    constantsTouched: []
    func_position:
      end: 996
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 996
    functionName: csi_file_flush
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-file.c
    functionUses: []
    functionsReached:
    - csi_file_getc
    linkageType: ''
    returnType: void
    signature: 'void csi_file_flush (csi_file_t *file) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: csi_file_flush
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:1033,1
    - Dst: csi_file_close
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:1035,1
    - Dst: _csi_free
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:1046,1
    - Dst: csi_object_free
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:1042,1
    - Dst: _csi_slab_free
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:1055,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - file
    argTypes:
    - csi_t*
    - csi_file_t*
    constantsTouched: []
    func_position:
      end: 1056
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1056
    functionName: _csi_file_free
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-file.c
    functionUses: []
    functionsReached:
    - _csi_slab_free
    - csi_file_flush
    - csi_file_close
    - csi_object_free
    - _csi_free
    linkageType: ''
    returnType: void
    signature: 'void _csi_file_free (csi_t *ctx, csi_file_t *file) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _csi_object_new
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:261,1
    - Dst: _csi_alloc
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:267,1
    - Dst: csi_object_free
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:269,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:270,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:263,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - ctx
    - file
    - out
    argTypes:
    - csi_t*
    - FILE*
    - csi_object_t**
    constantsTouched: []
    func_position:
      end: 277
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 277
    functionName: csi_file_new_from_stream
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-file.c
    functionUses: []
    functionsReached:
    - _csi_object_new
    - _csi_alloc
    - csi_object_free
    - _csi_error
    linkageType: ''
    returnType: csi_status_t
    signature: "csi_status_t csi_file_new_from_stream (csi_t *ctx,\t\t\t FILE *file,\t\
      \t\t csi_object_t **out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - file
    - c
    argTypes:
    - csi_file_t*
    - int
    constantsTouched: []
    func_position:
      end: 419
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 419
    functionName: _ascii85_decode_putc
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-file.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _ascii85_decode_putc (csi_file_t *file, int c) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:825,1
    - Dst: fread
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:834,1
    - Dst: _csi_likely
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:830,1
    - Dst: csi_object_execute
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:852,1
    - Dst: _csi_likely
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:837,1
    - Dst: csi_pop_operand
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:856,1
    - Dst: csi_object_as_file
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:859,1
    - Dst: csi_object_free
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:860,1
    - Dst: csi_file_getc
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:864,1
    - Dst: csi_object_free
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:866,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 36
    argCount: 1
    argNames:
    - file
    argTypes:
    - csi_file_t*
    constantsTouched: []
    func_position:
      end: 885
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 885
    functionName: csi_file_getc
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-file.c
    functionUses: []
    functionsReached:
    - csi_object_execute
    - _csi_likely
    - _csi_unlikely
    - csi_file_getc
    - csi_object_as_file
    - csi_pop_operand
    - fread
    - csi_object_free
    linkageType: ''
    returnType: int
    signature: 'int csi_file_getc (csi_file_t *file) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _csi_object_new
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:284,1
    - Dst: csi_object_reference
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:289,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 293
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 293
    functionName: _csi_file_new_from_procedure
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-file.c
    functionUses: []
    functionsReached:
    - _csi_object_new
    - csi_object_reference
    linkageType: ''
    returnType: csi_object_t*
    signature: 'static csi_object_t *_csi_file_new_from_procedure (csi_t *ctx, csi_object_t
      *src) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _ascii85_decode
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:427,1
    - Dst: memcpy
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:435,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - file
    - buf
    - len
    argTypes:
    - csi_file_t*
    - uint8_t*
    - int
    constantsTouched: []
    func_position:
      end: 439
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 439
    functionName: _ascii85_decode_read
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-file.c
    functionUses: []
    functionsReached:
    - _ascii85_decode
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int _ascii85_decode_read (csi_file_t *file, uint8_t *buf, int
      len) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:901,1
    - Dst: fread
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:905,1
    - Dst: csi_pop_operand
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:931,1
    - Dst: csi_object_execute
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:927,1
    - Dst: memcpy
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:913,1
    - Dst: csi_object_as_file
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:934,1
    - Dst: csi_object_free
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:935,1
    - Dst: csi_file_read
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:939,1
    - Dst: csi_object_free
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:941,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 43
    argCount: 3
    argNames:
    - file
    - buf
    - len
    argTypes:
    - csi_file_t*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 960
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 960
    functionName: csi_file_read
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-file.c
    functionUses: []
    functionsReached:
    - csi_object_execute
    - memcpy
    - csi_file_read
    - csi_object_as_file
    - csi_pop_operand
    - fread
    - csi_object_free
    linkageType: ''
    returnType: int
    signature: 'int csi_file_read (csi_file_t *file, void *buf, int len) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _csi_alloc
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:1069,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:1086,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:1071,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:1087,1
    - Dst: csi_file_read
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:1077,1
    - Dst: _csi_realloc
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:1090,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:1091,1
    - Dst: _csi_free
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:1092,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:1093,1
    - Dst: csi_string_new_from_bytes
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:1101,1
    - Dst: _csi_free
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:1103,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 3
    argNames:
    - ctx
    - file
    - obj
    argTypes:
    - csi_t*
    - csi_file_t*
    - csi_object_t*
    constantsTouched: []
    func_position:
      end: 1108
      start: 1058
    functionDepth: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1108
    functionName: _csi_file_as_string
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-file.c
    functionUses: []
    functionsReached:
    - csi_file_read
    - _csi_alloc
    - _csi_unlikely
    - _csi_realloc
    - _csi_error
    - csi_string_new_from_bytes
    - _csi_free
    linkageType: ''
    returnType: csi_status_t
    signature: "csi_status_t _csi_file_as_string (csi_t *ctx,\t\t csi_file_t *file,\t\
      \t csi_object_t *obj) "
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 612
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 612
    functionName: hex_value
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-file.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int hex_value (int c) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _csi_slab_alloc
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:58,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:60,1
    - Dst: fopen
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:68,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:71,1
    - Dst: _csi_slab_free
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:70,1
    - Dst: _csi_alloc
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:74,1
    - Dst: _csi_slab_free
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:76,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:77,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 4
    argNames:
    - ctx
    - obj
    - path
    - mode
    argTypes:
    - csi_t*
    - csi_object_t*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 85
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 85
    functionName: csi_file_new
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-file.c
    functionUses: []
    functionsReached:
    - _csi_alloc
    - _csi_slab_free
    - _csi_slab_alloc
    - _csi_error
    - fopen
    linkageType: ''
    returnType: csi_status_t
    signature: "csi_status_t csi_file_new (csi_t *ctx,\t csi_object_t *obj,\t const\
      \ char *path, const char *mode) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _csi_slab_alloc
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:229,1
    - Dst: csi_object_free
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:244,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:231,1
    - Dst: csi_object_as_file
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:242,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 5
    argNames:
    - ctx
    - obj
    - src
    - funcs
    - data
    argTypes:
    - csi_t*
    - csi_object_t*
    - csi_object_t*
    - csi_filter_funcs_t*
    - void*
    constantsTouched: []
    func_position:
      end: 250
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 250
    functionName: _csi_file_new_filter
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-file.c
    functionUses: []
    functionsReached:
    - csi_object_free
    - _csi_slab_alloc
    - csi_object_as_file
    - _csi_error
    linkageType: ''
    returnType: csi_status_t
    signature: "static csi_status_t _csi_file_new_filter (csi_t *ctx,\t\t csi_object_t\
      \ *obj,\t\t csi_object_t *src,\t\t const csi_filter_funcs_t *funcs,\t\t void\
      \ *data) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _deflate_decode
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:536,1
    - Dst: memcpy
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:544,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - file
    - buf
    - len
    argTypes:
    - csi_file_t*
    - uint8_t*
    - int
    constantsTouched: []
    func_position:
      end: 548
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 548
    functionName: _deflate_decode_read
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-file.c
    functionUses: []
    functionsReached:
    - memcpy
    - _deflate_decode
    linkageType: ''
    returnType: int
    signature: 'static int _deflate_decode_read (csi_file_t *file, uint8_t *buf, int
      len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - R
    - plain
    argTypes:
    - unsigned short*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 705
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 705
    functionName: _encrypt
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-file.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: 'static uint8_t _encrypt (unsigned short *R, uint8_t plain) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _csi_slab_alloc
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:94,1
    - Dst: _csi_alloc
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:110,1
    - Dst: _csi_slab_free
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:106,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:107,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:96,1
    - Dst: _csi_slab_free
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:112,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:113,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - ctx
    - obj
    - stream
    argTypes:
    - csi_t*
    - csi_object_t*
    - FILE*
    constantsTouched: []
    func_position:
      end: 121
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 121
    functionName: csi_file_new_for_stream
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-file.c
    functionUses: []
    functionsReached:
    - _csi_alloc
    - _csi_slab_free
    - _csi_slab_alloc
    - _csi_error
    linkageType: ''
    returnType: csi_status_t
    signature: "csi_status_t csi_file_new_for_stream (csi_t *ctx,\t csi_object_t *obj,\t\
      \t\t FILE *stream) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inflateEnd
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:557,1
    - Dst: _csi_free
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:559,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - closure
    argTypes:
    - csi_t*
    - void*
    constantsTouched: []
    func_position:
      end: 560
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 560
    functionName: _deflate_destroy
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-file.c
    functionUses: []
    functionsReached:
    - inflateEnd
    - _csi_free
    linkageType: ''
    returnType: void
    signature: 'static void _deflate_destroy (csi_t *ctx, void *closure) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _csi_alloc
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:576,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:591,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:578,1
    - Dst: inflateInit
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:589,1
    - Dst: _csi_free
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:590,1
    - Dst: _csi_file_new_filter
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:594,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 4
    argNames:
    - ctx
    - obj
    - dict
    - src
    argTypes:
    - csi_t*
    - csi_object_t*
    - csi_dictionary_t*
    - csi_object_t*
    constantsTouched: []
    func_position:
      end: 595
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 595
    functionName: csi_file_new_deflate_decode
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-file.c
    functionUses: []
    functionsReached:
    - _csi_alloc
    - inflateInit
    - _csi_error
    - _csi_file_new_filter
    - _csi_free
    linkageType: ''
    returnType: csi_status_t
    signature: "csi_status_t csi_file_new_deflate_decode (csi_t *ctx,\t\t\t csi_object_t\
      \ *obj,\t\t\t csi_dictionary_t *dict,\t\t\t csi_object_t *src) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _encrypt
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:719,1
    - Dst: _encrypt
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:729,1
    - Dst: _encrypt
      Src: /src/cairo/util/cairo-script/cairo-script-file.c:723,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 6
    argNames:
    - in
    - length
    - salt
    - discard
    - binary
    - out
    argTypes:
    - uint8_t*
    - int
    - unsigned short
    - int
    - int
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 743
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 743
    functionName: csi_encrypt
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-file.c
    functionUses: []
    functionsReached:
    - _encrypt
    linkageType: ''
    returnType: int
    signature: "int csi_encrypt (uint8_t *in, int length,\t unsigned short salt, int\
      \ discard, int binary,\t uint8_t *out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - csi_object_t*
    constantsTouched: []
    func_position:
      end: 856
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 856
    functionName: csi_object_get_type
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: csi_object_type_t
    signature: 'static inline csi_object_type_t csi_object_get_type (const csi_object_t
      *obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - obj
    - v
    argTypes:
    - csi_object_t*
    - csi_real_t
    constantsTouched: []
    func_position:
      end: 743
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 743
    functionName: csi_real_new
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static inline void csi_real_new (csi_object_t *obj,\t csi_real_t v) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-private.h:867,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - csi_object_t*
    constantsTouched: []
    func_position:
      end: 876
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 876
    functionName: csi_object_is_number
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-private.h
    functionUses: []
    functionsReached:
    - csi_object_get_type
    linkageType: ''
    returnType: csi_boolean_t
    signature: 'static inline csi_boolean_t csi_object_is_number (const csi_object_t
      *obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 904
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 904
    functionName: _csi_peek_ostack
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: csi_object_t*
    signature: 'static inline csi_object_t *_csi_peek_ostack (csi_t *ctx, csi_integer_t
      i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _csi_stack_push
      Src: /src/cairo/util/cairo-script/cairo-script-private.h:917,1
    - Dst: csi_object_reference
      Src: /src/cairo/util/cairo-script/cairo-script-private.h:917,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - csi_t*
    - csi_object_t*
    constantsTouched: []
    func_position:
      end: 918
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 918
    functionName: _csi_push_ostack_copy
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-private.h
    functionUses: []
    functionsReached:
    - csi_object_reference
    - _csi_stack_push
    linkageType: ''
    returnType: csi_status_t
    signature: 'static inline csi_status_t _csi_push_ostack_copy (csi_t *ctx, csi_object_t
      *obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _csi_stack_push
      Src: /src/cairo/util/cairo-script/cairo-script-private.h:932,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - v
    argTypes:
    - csi_t*
    - csi_boolean_t
    constantsTouched: []
    func_position:
      end: 933
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 933
    functionName: _csi_push_ostack_boolean
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-private.h
    functionUses: []
    functionsReached:
    - _csi_stack_push
    linkageType: ''
    returnType: csi_status_t
    signature: 'static inline csi_status_t _csi_push_ostack_boolean (csi_t *ctx, csi_boolean_t
      v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _csi_stack_push
      Src: /src/cairo/util/cairo-script/cairo-script-private.h:947,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 948
      start: 942
    functionDepth: 0
    functionLinenumber: 942
    functionLinenumberEnd: 948
    functionName: _csi_push_ostack_mark
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-private.h
    functionUses: []
    functionsReached:
    - _csi_stack_push
    linkageType: ''
    returnType: csi_status_t
    signature: 'static inline csi_status_t _csi_push_ostack_mark (csi_t *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - obj
    - v
    argTypes:
    - csi_object_t*
    - csi_boolean_t
    constantsTouched: []
    func_position:
      end: 655
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 655
    functionName: csi_boolean_new
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static inline void csi_boolean_new (csi_object_t *obj,\t\t csi_boolean_t\
      \ v) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - obj
    - op
    argTypes:
    - csi_object_t*
    - csi_operator_t
    constantsTouched: []
    func_position:
      end: 735
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 735
    functionName: csi_operator_new
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static inline void csi_operator_new (csi_object_t *obj,\t\t csi_operator_t\
      \ op) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - obj
    - v
    argTypes:
    - csi_object_t*
    - csi_integer_t
    constantsTouched: []
    func_position:
      end: 692
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 692
    functionName: csi_integer_new
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static inline void csi_integer_new (csi_object_t *obj,\t\t csi_integer_t\
      \ v) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - csi_object_t*
    constantsTouched: []
    func_position:
      end: 862
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 862
    functionName: csi_object_is_procedure
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: csi_boolean_t
    signature: 'static inline csi_boolean_t csi_object_is_procedure (const csi_object_t
      *obj) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-private.h:881,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - csi_object_t*
    constantsTouched: []
    func_position:
      end: 888
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 888
    functionName: csi_number_get_value
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-private.h
    functionUses: []
    functionsReached:
    - csi_object_get_type
    linkageType: ''
    returnType: double
    signature: 'static inline double csi_number_get_value (const csi_object_t *obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - count
    argTypes:
    - csi_t*
    - csi_integer_t
    constantsTouched: []
    func_position:
      end: 898
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 898
    functionName: _csi_check_ostack
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: csi_boolean_t
    signature: 'static inline csi_boolean_t _csi_check_ostack (csi_t *ctx, csi_integer_t
      count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: csi_object_free
      Src: /src/cairo/util/cairo-script/cairo-script-private.h:910,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - count
    argTypes:
    - csi_t*
    - csi_integer_t
    constantsTouched: []
    func_position:
      end: 912
      start: 906
    functionDepth: 0
    functionLinenumber: 906
    functionLinenumberEnd: 912
    functionName: _csi_pop_ostack
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-private.h
    functionUses: []
    functionsReached:
    - csi_object_free
    linkageType: ''
    returnType: void
    signature: 'static inline void _csi_pop_ostack (csi_t *ctx, csi_integer_t count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _csi_stack_push
      Src: /src/cairo/util/cairo-script/cairo-script-private.h:923,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - csi_t*
    - csi_object_t*
    constantsTouched: []
    func_position:
      end: 924
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 924
    functionName: _csi_push_ostack
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-private.h
    functionUses: []
    functionsReached:
    - _csi_stack_push
    linkageType: ''
    returnType: csi_status_t
    signature: 'static inline csi_status_t _csi_push_ostack (csi_t *ctx, csi_object_t
      *obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _csi_stack_push
      Src: /src/cairo/util/cairo-script/cairo-script-private.h:940,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - v
    argTypes:
    - csi_t*
    - csi_integer_t
    constantsTouched: []
    func_position:
      end: 941
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 941
    functionName: _csi_push_ostack_integer
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-private.h
    functionUses: []
    functionsReached:
    - _csi_stack_push
    linkageType: ''
    returnType: csi_status_t
    signature: 'static inline csi_status_t _csi_push_ostack_integer (csi_t *ctx, csi_integer_t
      v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _csi_stack_push
      Src: /src/cairo/util/cairo-script/cairo-script-private.h:954,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 955
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 955
    functionName: _csi_push_ostack_null
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-private.h
    functionUses: []
    functionsReached:
    - _csi_stack_push
    linkageType: ''
    returnType: csi_status_t
    signature: 'static inline csi_status_t _csi_push_ostack_null (csi_t *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _csi_stack_push
      Src: /src/cairo/util/cairo-script/cairo-script-private.h:962,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - v
    argTypes:
    - csi_t*
    - csi_real_t
    constantsTouched: []
    func_position:
      end: 963
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 963
    functionName: _csi_push_ostack_real
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-private.h
    functionUses: []
    functionsReached:
    - _csi_stack_push
    linkageType: ''
    returnType: csi_status_t
    signature: 'static inline csi_status_t _csi_push_ostack_real (csi_t *ctx, csi_real_t
      v) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 205
    functionName: _csi_list_prepend
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: csi_list_t*
    signature: 'static csi_list_t *_csi_list_prepend (csi_list_t *head, csi_list_t
      *link) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:275,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:276,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:288,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - i
    - out
    argTypes:
    - csi_t*
    - unsigned int
    - double*
    constantsTouched: []
    func_position:
      end: 291
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 291
    functionName: _csi_ostack_get_number
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_peek_ostack
    - csi_object_get_type
    - _csi_error
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _csi_ostack_get_number (csi_t *ctx, unsigned int
      i, double *out) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: cairo_scaled_font_status
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2605,1
    - Dst: _csi_likely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2612,1
    - Dst: _csi_alloc
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2611,1
    - Dst: cairo_scaled_font_get_user_data
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2608,1
    - Dst: memset
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2614,1
    - Dst: cairo_scaled_font_set_user_data
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2617,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2621,1
    - Dst: _csi_free
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2622,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2628,1
    - Dst: memset
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2632,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2640,1
    - Dst: csi_number_get_value
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2709,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2713,1
    - Dst: csi_number_get_value
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2717,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2650,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2658,1
    - Dst: cairo_scaled_font_glyph_extents
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2662,1
    - Dst: cairo_scaled_font_glyph_extents
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2691,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 84
    argCount: 4
    argNames:
    - ctx
    - array
    - scaled_font
    - glyphs
    argTypes:
    - csi_t*
    - csi_array_t*
    - cairo_scaled_font_t*
    - cairo_glyph_t*
    constantsTouched: []
    func_position:
      end: 2729
      start: 2593
    functionDepth: 0
    functionLinenumber: 2593
    functionLinenumberEnd: 2729
    functionName: _glyph_string
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - csi_number_get_value
    - _csi_alloc
    - csi_object_get_type
    - cairo_scaled_font_status
    - _csi_likely
    - cairo_scaled_font_set_user_data
    - _csi_unlikely
    - cairo_scaled_font_get_user_data
    - ARRAY_LENGTH
    - cairo_scaled_font_glyph_extents
    - memset
    - _csi_free
    linkageType: ''
    returnType: int
    signature: "static int _glyph_string (csi_t *ctx,\t csi_array_t *array,\t cairo_scaled_font_t\
      \ *scaled_font,\t cairo_glyph_t *glyphs) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3491,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3494,1
    - Dst: cairo_matrix_invert
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3497,1
    - Dst: _csi_ostack_get_matrix
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3493,1
    - Dst: csi_matrix_new_from_matrix
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3499,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3500,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3503,1
    - Dst: push
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3505,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 3506
      start: 3484
    functionDepth: 0
    functionLinenumber: 3484
    functionLinenumberEnd: 3506
    functionName: _invert
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - csi_matrix_new_from_matrix
    - _csi_unlikely
    - pop
    - check
    - push
    - _csi_ostack_get_matrix
    - cairo_matrix_invert
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _invert (csi_t *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4157,1
    - Dst: _csi_ostack_get_context
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4163,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4160,1
    - Dst: _csi_ostack_get_integer
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4159,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4164,1
    - Dst: cairo_push_group_with_content
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4167,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4168,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 4170
      start: 4150
    functionDepth: 0
    functionLinenumber: 4150
    functionLinenumberEnd: 4170
    functionName: _push_group
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - cairo_push_group_with_content
    - _csi_ostack_get_integer
    - _csi_unlikely
    - pop
    - _csi_ostack_get_context
    - check
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _push_group (csi_t *ctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4507,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4512,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4510,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4509,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4513,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4516,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4517,1
    - Dst: cairo_scale
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4520,1
    - Dst: cairo_pattern_get_matrix
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4526,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4527,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4541,1
    - Dst: cairo_pattern_set_matrix
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4528,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4538,1
    - Dst: cairo_matrix_scale
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4534,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 4543
      start: 4499
    functionDepth: 0
    functionLinenumber: 4499
    functionLinenumberEnd: 4543
    functionName: _scale
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - csi_object_get_type
    - cairo_matrix_scale
    - cairo_pattern_get_matrix
    - _csi_ostack_get_number
    - _csi_peek_ostack
    - _csi_unlikely
    - cairo_pattern_set_matrix
    - _csi_error
    - pop
    - check
    - cairo_scale
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _scale (csi_t *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: predicate
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:213,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 219
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 219
    functionName: _csi_list_find
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - predicate
    linkageType: ''
    returnType: csi_list_t*
    signature: "static csi_list_t *_csi_list_find (csi_list_t *head,\t\tcsi_boolean_t\
      \ (*predicate) (const csi_list_t *link, void *data),\t\tvoid *data) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:298,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 1
    argNames:
    - obj
    argTypes:
    - csi_object_t*
    constantsTouched: []
    func_position:
      end: 309
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 309
    functionName: _csi_object_as_real
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - csi_object_get_type
    linkageType: ''
    returnType: double
    signature: 'static double _csi_object_as_real (csi_object_t *obj) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2740,1
    - Dst: _csi_ostack_get_array
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2742,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2746,1
    - Dst: _csi_ostack_get_context
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2745,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2743,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2753,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2764,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2768,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2769,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2770,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2774,1
    - Dst: cairo_get_scaled_font
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2778,1
    - Dst: cairo_glyph_path
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2779,1
    - Dst: _csi_free
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2782,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2784,1
    - Dst: _glyph_string
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2778,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2773,1
    - Dst: _csi_alloc
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2772,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 2786
      start: 2731
    functionDepth: 0
    functionLinenumber: 2731
    functionLinenumberEnd: 2786
    functionName: _glyph_path
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_alloc
    - csi_object_get_type
    - cairo_get_scaled_font
    - _csi_unlikely
    - ARRAY_LENGTH
    - pop
    - _csi_ostack_get_context
    - _csi_error
    - check
    - cairo_glyph_path
    - _csi_free
    - _csi_ostack_get_array
    - _glyph_string
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _glyph_path (csi_t *ctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2877,1
    - Dst: _csi_ostack_get_procedure
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2879,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2881,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2880,1
    - Dst: _csi_ostack_get_procedure
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2883,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2884,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2885,1
    - Dst: _csi_ostack_get_boolean
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2887,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2888,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2893,1
    - Dst: _csi_array_execute
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2896,1
    - Dst: csi_array_free
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2903,1
    - Dst: csi_array_free
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2901,1
    - Dst: _csi_array_execute
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2898,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 2906
      start: 2870
    functionDepth: 0
    functionLinenumber: 2870
    functionLinenumberEnd: 2906
    functionName: _ifelse
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - csi_array_free
    - _csi_unlikely
    - pop
    - _csi_error
    - _csi_array_execute
    - check
    - _csi_ostack_get_boolean
    - _csi_ostack_get_procedure
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _ifelse (csi_t *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3515,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3518,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3521,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3517,1
    - Dst: csi_object_compare
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3520,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3524,1
    - Dst: _csi_push_ostack_boolean
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3525,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 3526
      start: 3508
    functionDepth: 0
    functionLinenumber: 3508
    functionLinenumberEnd: 3526
    functionName: _le
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_push_ostack_boolean
    - _csi_peek_ostack
    - _csi_unlikely
    - pop
    - csi_object_compare
    - check
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _le (csi_t *ctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4179,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4185,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4181,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4182,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4184,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4187,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4188,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4190,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4191,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4193,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4194,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4197,1
    - Dst: cairo_pattern_create_radial
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4201,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4196,1
    - Dst: push
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4203,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4202,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 4204
      start: 4172
    functionDepth: 0
    functionLinenumber: 4172
    functionLinenumberEnd: 4204
    functionName: _radial
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_ostack_get_number
    - _csi_unlikely
    - pop
    - check
    - cairo_pattern_create_radial
    - push
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _radial (csi_t *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: csi_name_new_static
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4573,1
    - Dst: csi_dictionary_has
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4577,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4579,1
    - Dst: csi_dictionary_get
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4578,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4574,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4582,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4582,1
    - Dst: csi_object_free
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4585,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4586,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 18
    argCount: 3
    argNames:
    - ctx
    - dict
    - options
    argTypes:
    - csi_t*
    - csi_dictionary_t*
    - cairo_font_options_t*
    constantsTouched: []
    func_position:
      end: 4596
      start: 4545
    functionDepth: 0
    functionLinenumber: 4545
    functionLinenumberEnd: 4596
    functionName: _font_options_load_from_dictionary
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - csi_object_get_type
    - csi_dictionary_get
    - csi_dictionary_has
    - csi_name_new_static
    - _csi_unlikely
    - _csi_error
    - csi_object_free
    linkageType: ''
    returnType: csi_status_t
    signature: "static csi_status_t _font_options_load_from_dictionary (csi_t *ctx,\t\
      \t\t\t csi_dictionary_t *dict,\t\t\t\t cairo_font_options_t *options) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: csi_name_new_static
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2207,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2208,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2216,1
    - Dst: csi_dictionary_get
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2215,1
    - Dst: csi_dictionary_has
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2211,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2219,1
    - Dst: _csi_file_as_string
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2222,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2223,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2230,1
    - Dst: _ft_fallback_create_for_pattern
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2233,1
    - Dst: _select_font
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2239,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 19
    argCount: 3
    argNames:
    - ctx
    - font
    - font_face_out
    argTypes:
    - csi_t*
    - csi_dictionary_t*
    - cairo_font_face_t**
    constantsTouched: []
    func_position:
      end: 2241
      start: 2196
    functionDepth: 0
    functionLinenumber: 2196
    functionLinenumberEnd: 2241
    functionName: _ft_type42_fallback_create
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - csi_object_get_type
    - csi_dictionary_get
    - csi_dictionary_has
    - csi_name_new_static
    - _csi_unlikely
    - _ft_fallback_create_for_pattern
    - _csi_error
    - _select_font
    - _csi_file_as_string
    linkageType: ''
    returnType: csi_status_t
    signature: "static csi_status_t _ft_type42_fallback_create (csi_t *ctx,\t\t\t\
      \ csi_dictionary_t *font,\t\t\t cairo_font_face_t **font_face_out) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _ft_type42_create
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2248,1
    - Dst: _csi_likely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2249,1
    - Dst: _ft_type42_fallback_create
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2252,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - font
    - font_face
    argTypes:
    - csi_t*
    - csi_dictionary_t*
    - cairo_font_face_t**
    constantsTouched: []
    func_position:
      end: 2253
      start: 2243
    functionDepth: 0
    functionLinenumber: 2243
    functionLinenumberEnd: 2253
    functionName: _font_type42
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_likely
    - _ft_type42_create
    - _ft_type42_fallback_create
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _font_type42 (csi_t *ctx, csi_dictionary_t *font,
      cairo_font_face_t **font_face) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:227,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:240,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:228,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - ctx
    - i
    - out
    argTypes:
    - csi_t*
    - unsigned int
    - csi_boolean_t*
    constantsTouched: []
    func_position:
      end: 243
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 243
    functionName: _csi_ostack_get_boolean
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_peek_ostack
    - csi_object_get_type
    - _csi_error
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _csi_ostack_get_boolean (csi_t *ctx, unsigned
      int i, csi_boolean_t *out) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:637,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:639,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:639,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:649,1
    - Dst: csi_array_new
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:648,1
    - Dst: memcpy
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:656,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:657,1
    - Dst: push
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:663,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 664
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 664
    functionName: end_array_construction
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - memcpy
    - csi_array_new
    - csi_object_get_type
    - _csi_peek_ostack
    - _csi_unlikely
    - check
    - push
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t end_array_construction (csi_t *ctx) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5871,1
    - Dst: _csi_ostack_get_integer
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5866,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5867,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5876,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5878,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5880,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5881,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5899,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5898,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5896,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5942,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5947,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5948,1
    - Dst: _csi_alloc
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5879,1
    - Dst: _csi_alloc
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5897,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5895,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5910,1
    - Dst: _csi_alloc
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5946,1
    - Dst: _csi_ostack_get_array
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5913,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5927,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5914,1
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5864,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5870,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5894,1
    - Dst: _csi_ostack_get_context
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5919,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5920,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5944,1
    - Dst: _glyph_string
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5952,1
    - Dst: cairo_show_text_glyphs
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5953,1
    - Dst: _csi_free
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5960,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5877,1
    - Dst: csi_number_get_value
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5887,1
    - Dst: csi_number_get_value
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5886,1
    - Dst: _csi_ostack_get_string
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5916,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5917,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5938,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5943,1
    - Dst: cairo_get_scaled_font
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5952,1
    - Dst: _csi_free
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5962,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5964,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 110
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 5966
      start: 5849
    functionDepth: 0
    functionLinenumber: 5849
    functionLinenumberEnd: 5966
    functionName: _show_text_glyphs
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - csi_number_get_value
    - _csi_alloc
    - csi_object_get_type
    - cairo_get_scaled_font
    - cairo_show_text_glyphs
    - _csi_ostack_get_integer
    - _csi_peek_ostack
    - _csi_unlikely
    - ARRAY_LENGTH
    - pop
    - _csi_error
    - _csi_ostack_get_context
    - check
    - _csi_free
    - _csi_ostack_get_string
    - _csi_ostack_get_array
    - _glyph_string
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _show_text_glyphs (csi_t *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6814
      start: 6810
    functionDepth: 0
    functionLinenumber: 6810
    functionLinenumberEnd: 6814
    functionName: _csi_integer_constants
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: csi_integer_constant_def_t*
    signature: 'const csi_integer_constant_def_t *_csi_integer_constants (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:251,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:264,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:252,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - i
    - out
    argTypes:
    - csi_t*
    - unsigned int
    - csi_integer_t*
    constantsTouched: []
    func_position:
      end: 267
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 267
    functionName: _csi_ostack_get_integer
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_peek_ostack
    - csi_object_get_type
    - _csi_error
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _csi_ostack_get_integer (csi_t *ctx, unsigned
      int i, csi_integer_t *out) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:673,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:676,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:675,1
    - Dst: cairo_pattern_create_rgba
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:682,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:679,1
    - Dst: push
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:683,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 684
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 684
    functionName: _alpha
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_ostack_get_number
    - _csi_unlikely
    - cairo_pattern_create_rgba
    - pop
    - check
    - push
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _alpha (csi_t *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _csi_free
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2590,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - closure
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2591
      start: 2586
    functionDepth: 0
    functionLinenumber: 2586
    functionLinenumberEnd: 2591
    functionName: glyph_advance_cache_destroy
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_free
    linkageType: ''
    returnType: void
    signature: 'static void glyph_advance_cache_destroy (void *closure) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _do_cairo_op
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5971,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 5972
      start: 5968
    functionDepth: 0
    functionLinenumber: 5968
    functionLinenumberEnd: 5972
    functionName: _stroke
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _do_cairo_op
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _stroke (csi_t *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _csi_stack_exch
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1369,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 1370
      start: 1366
    functionDepth: 0
    functionLinenumber: 1366
    functionLinenumberEnd: 1370
    functionName: _exch
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_stack_exch
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _exch (csi_t *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2455,1
    - Dst: _csi_push_ostack_integer
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2459,1
    - Dst: cairo_pattern_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2456,1
    - Dst: strcmp
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2458,1
    - Dst: _csi_push_ostack_integer
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2456,1
    - Dst: cairo_pattern_get_filter
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2459,1
    - Dst: strcmp
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2461,1
    - Dst: _csi_push_ostack_integer
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2462,1
    - Dst: cairo_pattern_get_extend
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2462,1
    - Dst: strcmp
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2464,1
    - Dst: csi_matrix_new_from_matrix
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2469,1
    - Dst: cairo_pattern_get_user_data
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2476,1
    - Dst: _proxy_get
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2476,1
    - Dst: cairo_pattern_get_matrix
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2468,1
    - Dst: push
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2473,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2470,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - ctx
    - pattern
    - key
    argTypes:
    - csi_t*
    - cairo_pattern_t*
    - csi_name_t
    constantsTouched: []
    func_position:
      end: 2478
      start: 2448
    functionDepth: 0
    functionLinenumber: 2448
    functionLinenumberEnd: 2478
    functionName: _pattern_get
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - csi_matrix_new_from_matrix
    - _proxy_get
    - cairo_pattern_get_type
    - cairo_pattern_get_matrix
    - cairo_pattern_get_user_data
    - _csi_unlikely
    - strcmp
    - cairo_pattern_get_filter
    - _csi_push_ostack_integer
    - cairo_pattern_get_extend
    - push
    linkageType: ''
    returnType: csi_status_t
    signature: "static csi_status_t _pattern_get (csi_t *ctx,\t cairo_pattern_t *pattern,\t\
      \ csi_name_t key) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3863,1
    - Dst: cairo_mesh_pattern_end_patch
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3869,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3866,1
    - Dst: _csi_ostack_get_pattern
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3865,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 3871
      start: 3857
    functionDepth: 0
    functionLinenumber: 3857
    functionLinenumberEnd: 3871
    functionName: _mesh_end_patch
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - check
    - _csi_unlikely
    - _csi_ostack_get_pattern
    - cairo_mesh_pattern_end_patch
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _mesh_end_patch (csi_t *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4053,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4055,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4057,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4057,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4056,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4057,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4058,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4060,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4061,1
    - Dst: _csi_push_ostack_integer
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4064,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4070,1
    - Dst: _csi_push_ostack_boolean
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4067,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 4072
      start: 4047
    functionDepth: 0
    functionLinenumber: 4047
    functionLinenumberEnd: 4072
    functionName: _or
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_push_ostack_boolean
    - csi_object_get_type
    - _csi_peek_ostack
    - _csi_unlikely
    - pop
    - _csi_error
    - _csi_push_ostack_integer
    - check
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _or (csi_t *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _csi_push_ostack_boolean
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1375,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 1376
      start: 1372
    functionDepth: 0
    functionLinenumber: 1372
    functionLinenumberEnd: 1376
    functionName: _false
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_push_ostack_boolean
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _false (csi_t *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _proxy_get
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2485,1
    - Dst: cairo_scaled_font_get_user_data
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2485,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - font
    - key
    argTypes:
    - csi_t*
    - cairo_scaled_font_t*
    - csi_name_t
    constantsTouched: []
    func_position:
      end: 2487
      start: 2480
    functionDepth: 0
    functionLinenumber: 2480
    functionLinenumberEnd: 2487
    functionName: _scaled_font_get
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _proxy_get
    - cairo_scaled_font_get_user_data
    linkageType: ''
    returnType: csi_status_t
    signature: "static csi_status_t _scaled_font_get (csi_t *ctx,\t\t cairo_scaled_font_t\
      \ *font,\t\t csi_name_t key) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3881,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3883,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3884,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3887,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3886,1
    - Dst: _csi_ostack_get_integer
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3889,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3890,1
    - Dst: _csi_ostack_get_pattern
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3892,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3893,1
    - Dst: cairo_mesh_pattern_set_control_point
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3896,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3898,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 3900
      start: 3873
    functionDepth: 0
    functionLinenumber: 3873
    functionLinenumberEnd: 3900
    functionName: _mesh_set_control_point
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_ostack_get_number
    - _csi_ostack_get_integer
    - _csi_unlikely
    - pop
    - check
    - _csi_ostack_get_pattern
    - cairo_mesh_pattern_set_control_point
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _mesh_set_control_point (csi_t *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _do_cairo_op
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4077,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 4078
      start: 4074
    functionDepth: 0
    functionLinenumber: 4074
    functionLinenumberEnd: 4078
    functionName: _paint
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _do_cairo_op
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _paint (csi_t *ctx) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6443,1
    - Dst: fprintf
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6454,1
    - Dst: fprintf
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6474,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6489,1
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6421,1
    - Dst: fprintf
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6430,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6422,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6423,1
    - Dst: fprintf
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6437,1
    - Dst: fprintf
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6440,1
    - Dst: fprintf
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6477,1
    - Dst: fprintf
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6483,1
    - Dst: fprintf
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6451,1
    - Dst: fprintf
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6486,1
    - Dst: fprintf
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6425,1
    - Dst: fprintf
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6457,1
    - Dst: fprintf
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6469,1
    - Dst: fprintf
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6460,1
    - Dst: fprintf
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6434,1
    - Dst: fprintf
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6446,1
    - Dst: fprintf
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6480,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 24
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 6491
      start: 6416
    functionDepth: 0
    functionLinenumber: 6416
    functionLinenumberEnd: 6491
    functionName: _debug_print
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - csi_object_get_type
    - fprintf
    - _csi_peek_ostack
    - pop
    - check
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _debug_print (csi_t *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _csi_slab_alloc
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:113,1
    - Dst: cairo_script_interpreter_reference
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:117,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 126
    functionName: _csi_proxy_create
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_slab_alloc
    - cairo_script_interpreter_reference
    linkageType: ''
    returnType: csi_proxy_t*
    signature: "static csi_proxy_t *_csi_proxy_create (csi_t *ctx,\t\t void *ptr,\t\
      \t csi_dictionary_t *dictionary,\t\t csi_destroy_func_t destroy_func,\t\t void\
      \ *destroy_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1344,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1346,1
    - Dst: _csi_push_ostack_copy
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 1347
      start: 1341
    functionDepth: 0
    functionLinenumber: 1341
    functionLinenumberEnd: 1347
    functionName: _duplicate
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_peek_ostack
    - check
    - _csi_push_ostack_copy
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _duplicate (csi_t *ctx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2265,1
    - Dst: _csi_dictionary_get_integer
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2271,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2272,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2283,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2293,1
    - Dst: _font_type3
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2277,1
    - Dst: _csi_proxy_destroy
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2301,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2292,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2268,1
    - Dst: _csi_ostack_get_dictionary
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2267,1
    - Dst: _font_type42
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2280,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2287,1
    - Dst: cairo_font_face_set_user_data
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2297,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2309,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2300,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2312,1
    - Dst: _csi_proxy_create
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2291,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2294,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2302,1
    - Dst: push
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2310,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2311,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 2317
      start: 2255
    functionDepth: 0
    functionLinenumber: 2255
    functionLinenumberEnd: 2317
    functionName: _font
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - cairo_font_face_set_user_data
    - _csi_proxy_create
    - _font_type3
    - cairo_font_face_destroy
    - _csi_unlikely
    - pop
    - _csi_error
    - _csi_ostack_get_dictionary
    - check
    - push
    - _font_type42
    - _csi_dictionary_get_integer
    - _csi_proxy_destroy
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _font (csi_t *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_Done_Face
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1691,1
    - Dst: csi_string_free
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1697,1
    - Dst: munmap
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1700,1
    - Dst: _csi_free
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1705,1
    - Dst: _csi_list_unlink
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1693,1
    - Dst: _csi_slab_free
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1707,1
    - Dst: cairo_script_interpreter_destroy
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1709,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 1
    argNames:
    - closure
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1710
      start: 1682
    functionDepth: 0
    functionLinenumber: 1682
    functionLinenumberEnd: 1710
    functionName: _ft_done_face
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_slab_free
    - munmap
    - cairo_script_interpreter_destroy
    - _csi_list_unlink
    - FT_Done_Face
    - csi_string_free
    - _csi_free
    linkageType: ''
    returnType: void
    signature: 'static void _ft_done_face (void *closure) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4409,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4415,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4414,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4412,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4411,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4417,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4418,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4420,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4421,1
    - Dst: cairo_pattern_create_rgba
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4425,1
    - Dst: push
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4427,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4426,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 4428
      start: 4402
    functionDepth: 0
    functionLinenumber: 4402
    functionLinenumberEnd: 4428
    functionName: _rgba
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_ostack_get_number
    - _csi_unlikely
    - cairo_pattern_create_rgba
    - pop
    - check
    - push
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _rgba (csi_t *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5018,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5021,1
    - Dst: _csi_ostack_get_font_face
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5020,1
    - Dst: _csi_ostack_get_context
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5023,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5024,1
    - Dst: cairo_set_font_face
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5027,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5028,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 5030
      start: 5011
    functionDepth: 0
    functionLinenumber: 5011
    functionLinenumberEnd: 5030
    functionName: _set_font_face
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - cairo_set_font_face
    - _csi_unlikely
    - pop
    - _csi_ostack_get_context
    - check
    - _csi_ostack_get_font_face
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _set_font_face (csi_t *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6302,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6305,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6309,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6308,1
    - Dst: _csi_ostack_get_name
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6304,1
    - Dst: csi_dictionary_remove
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6312,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6317,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6320,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 6322
      start: 6294
    functionDepth: 0
    functionLinenumber: 6294
    functionLinenumberEnd: 6322
    functionName: _unset
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - csi_object_get_type
    - _csi_ostack_get_name
    - csi_dictionary_remove
    - _csi_peek_ostack
    - _csi_unlikely
    - pop
    - _csi_error
    - check
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _unset (csi_t *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: csi_dictionary_free
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:141,1
    - Dst: _csi_slab_free
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:143,1
    - Dst: cairo_script_interpreter_destroy
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:144,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - closure
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 145
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 145
    functionName: _csi_proxy_destroy
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - cairo_script_interpreter_destroy
    - _csi_slab_free
    - csi_dictionary_free
    linkageType: ''
    returnType: void
    signature: 'static void _csi_proxy_destroy (void *closure) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1355,1
    - Dst: csi_object_eq
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1360,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1358,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1362,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1357,1
    - Dst: _csi_push_ostack_boolean
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1363,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 1364
      start: 1349
    functionDepth: 0
    functionLinenumber: 1349
    functionLinenumberEnd: 1364
    functionName: _eq
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_push_ostack_boolean
    - csi_object_eq
    - _csi_peek_ostack
    - pop
    - check
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _eq (csi_t *ctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2326,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2329,1
    - Dst: _csi_ostack_get_integer
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2331,1
    - Dst: _csi_ostack_get_procedure
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2328,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2332,1
    - Dst: _csi_ostack_get_integer
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2334,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2335,1
    - Dst: _csi_ostack_get_integer
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2337,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2338,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2342,1
    - Dst: _csi_push_ostack_integer
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2345,1
    - Dst: csi_array_free
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2355,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2350,1
    - Dst: _csi_array_execute
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2349,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2346,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 2357
      start: 2319
    functionDepth: 0
    functionLinenumber: 2319
    functionLinenumberEnd: 2357
    functionName: _for
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_ostack_get_integer
    - csi_array_free
    - _csi_unlikely
    - pop
    - _csi_push_ostack_integer
    - _csi_array_execute
    - check
    - _csi_ostack_get_procedure
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _for (csi_t *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4436,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4439,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4442,1
    - Dst: _csi_ostack_get_integer
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4438,1
    - Dst: _csi_ostack_get_integer
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4441,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4445,1
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4446,1
    - Dst: _csi_stack_roll
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4447,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 4448
      start: 4430
    functionDepth: 0
    functionLinenumber: 4430
    functionLinenumberEnd: 4448
    functionName: _roll
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_ostack_get_integer
    - _csi_unlikely
    - pop
    - check
    - _csi_stack_roll
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _roll (csi_t *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5040,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5046,1
    - Dst: _csi_ostack_get_dictionary
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5042,1
    - Dst: _csi_ostack_get_context
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5045,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5043,1
    - Dst: cairo_font_options_create
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5049,1
    - Dst: _font_options_load_from_dictionary
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5050,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5051,1
    - Dst: cairo_set_font_options
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5054,1
    - Dst: cairo_font_options_destroy
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5055,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5056,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 5058
      start: 5032
    functionDepth: 0
    functionLinenumber: 5032
    functionLinenumberEnd: 5058
    functionName: _set_font_options
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - cairo_set_font_options
    - cairo_font_options_destroy
    - cairo_font_options_create
    - _csi_unlikely
    - pop
    - _csi_ostack_get_context
    - _csi_ostack_get_dictionary
    - check
    - _font_options_load_from_dictionary
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _set_font_options (csi_t *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6331,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6337,1
    - Dst: _csi_ostack_get_surface
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6336,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6334,1
    - Dst: _csi_ostack_get_string
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6333,1
    - Dst: cairo_surface_write_to_png
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6341,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6342,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6348,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 6350
      start: 6324
    functionDepth: 0
    functionLinenumber: 6324
    functionLinenumberEnd: 6350
    functionName: _write_to_png
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_unlikely
    - cairo_surface_write_to_png
    - pop
    - check
    - _csi_ostack_get_surface
    - _csi_ostack_get_string
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _write_to_png (csi_t *ctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:693,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:695,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:698,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:699,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:696,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:702,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:705,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:706,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:709,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:712,1
    - Dst: _csi_push_ostack_real
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:717,1
    - Dst: _csi_push_ostack_integer
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:723,1
    - Dst: _csi_push_ostack_real
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:740,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 742
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 742
    functionName: _add
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - csi_object_get_type
    - _csi_peek_ostack
    - _csi_unlikely
    - pop
    - _csi_error
    - _csi_push_ostack_integer
    - check
    - _csi_push_ostack_real
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _add (csi_t *ctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:849,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:855,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:851,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:854,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:852,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:857,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:858,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:860,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:861,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:863,1
    - Dst: _csi_ostack_get_context
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:866,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:867,1
    - Dst: cairo_arc_negative
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:872,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:873,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:864,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 875
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 875
    functionName: _arc_negative
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_ostack_get_number
    - _csi_unlikely
    - pop
    - _csi_ostack_get_context
    - check
    - cairo_arc_negative
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _arc_negative (csi_t *ctx) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _csi_blob_init
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1821,1
    - Dst: _csi_blob_hash
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1822,1
    - Dst: _csi_free
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1874,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1896,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1907,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1905,1
    - Dst: csi_container_of
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1827,1
    - Dst: csi_string_free
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1826,1
    - Dst: FT_Init_FreeType
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1834,1
    - Dst: cairo_script_interpreter_reference
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1864,1
    - Dst: _mmap_bytes
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1868,1
    - Dst: FT_New_Memory_Face
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1888,1
    - Dst: inflate_string
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1848,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1898,1
    - Dst: cairo_font_face_set_user_data
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1902,1
    - Dst: _ft_done_face
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1893,1
    - Dst: _ft_done_face
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1906,1
    - Dst: _csi_list_find
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1823,1
    - Dst: cairo_font_face_reference
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1828,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1835,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1836,1
    - Dst: _csi_slab_alloc
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1839,1
    - Dst: csi_string_free
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1871,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1849,1
    - Dst: _csi_list_prepend
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1863,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1850,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1892,1
    - Dst: cairo_ft_font_face_create_for_ft_face
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1901,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 83
    argCount: 5
    argNames:
    - ctx
    - source
    - index
    - load_flags
    - font_face_out
    argTypes:
    - csi_t*
    - csi_string_t*
    - int
    - int
    - cairo_font_face_t**
    constantsTouched: []
    func_position:
      end: 1914
      start: 1802
    functionDepth: 0
    functionLinenumber: 1802
    functionLinenumberEnd: 1914
    functionName: _ft_create_for_source
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_blob_init
    - _csi_error
    - _ft_done_face
    - _csi_blob_hash
    - _csi_slab_alloc
    - inflate_string
    - csi_string_free
    - _csi_list_prepend
    - FT_New_Memory_Face
    - cairo_script_interpreter_reference
    - cairo_font_face_set_user_data
    - _mmap_bytes
    - cairo_ft_font_face_create_for_ft_face
    - cairo_font_face_destroy
    - _csi_list_find
    - csi_container_of
    - _csi_free
    - FT_Init_FreeType
    - _csi_unlikely
    - cairo_font_face_reference
    linkageType: ''
    returnType: csi_status_t
    signature: "static csi_status_t _ft_create_for_source (csi_t *ctx,\t\t csi_string_t\
      \ *source,\t\t int index, int load_flags,\t\t cairo_font_face_t **font_face_out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_get_width
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3268,1
    - Dst: cairo_image_surface_get_height
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3271,1
    - Dst: _csi_blob_hash
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3272,1
    - Dst: cairo_image_surface_get_format
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3274,1
    - Dst: _csi_blob_hash
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3269,1
    - Dst: _csi_blob_hash
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - blob
    - surface
    argTypes:
    - csi_blob_t*
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 3276
      start: 3262
    functionDepth: 0
    functionLinenumber: 3262
    functionLinenumberEnd: 3276
    functionName: _image_hash
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - cairo_image_surface_get_width
    - cairo_image_surface_get_format
    - _csi_blob_hash
    - cairo_image_surface_get_height
    linkageType: ''
    returnType: void
    signature: "static void _image_hash (csi_blob_t *blob,\t cairo_surface_t *surface) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _do_cairo_op
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4374,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 4375
      start: 4371
    functionDepth: 0
    functionLinenumber: 4371
    functionLinenumberEnd: 4375
    functionName: _restore
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _do_cairo_op
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _restore (csi_t *ctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4683,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4686,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4684,1
    - Dst: cairo_set_source
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4688,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4684,1
    - Dst: strcmp
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4692,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4693,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4693,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4695,1
    - Dst: cairo_set_scaled_font
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4697,1
    - Dst: strcmp
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4701,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4702,1
    - Dst: cairo_set_font_face
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4706,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4704,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4711,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4702,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 4
    argNames:
    - ctx
    - cr
    - key
    - obj
    argTypes:
    - csi_t*
    - cairo_t*
    - csi_name_t
    - csi_object_t*
    constantsTouched: []
    func_position:
      end: 4712
      start: 4677
    functionDepth: 0
    functionLinenumber: 4677
    functionLinenumberEnd: 4712
    functionName: _context_set
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - cairo_set_font_face
    - csi_object_get_type
    - _csi_unlikely
    - strcmp
    - _csi_error
    - cairo_set_source
    - cairo_set_scaled_font
    linkageType: ''
    returnType: csi_status_t
    signature: "static csi_status_t _context_set (csi_t *ctx,\t cairo_t *cr,\t csi_name_t\
      \ key,\t csi_object_t *obj) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6359,1
    - Dst: _csi_ostack_get_surface
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6364,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6362,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6365,1
    - Dst: _csi_ostack_get_string
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6361,1
    - Dst: cairo_surface_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6368,1
    - Dst: cairo_script_create
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6375,1
    - Dst: cairo_script_from_recording_surface
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6376,1
    - Dst: cairo_device_destroy
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6377,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6378,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6385,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 6387
      start: 6352
    functionDepth: 0
    functionLinenumber: 6352
    functionLinenumberEnd: 6387
    functionName: _write_to_script
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - cairo_device_destroy
    - cairo_script_create
    - _csi_unlikely
    - pop
    - check
    - _csi_ostack_get_surface
    - _csi_ostack_get_string
    - cairo_script_from_recording_surface
    - cairo_surface_get_type
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _write_to_script (csi_t *ctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:751,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:754,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:757,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:756,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:753,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:759,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:760,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:762,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:763,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:765,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:766,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:769,1
    - Dst: cairo_pattern_add_color_stop_rgba
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:772,1
    - Dst: _csi_ostack_get_pattern
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:768,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:774,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 776
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 776
    functionName: _add_color_stop
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_ostack_get_number
    - _csi_unlikely
    - pop
    - check
    - _csi_ostack_get_pattern
    - cairo_pattern_add_color_stop_rgba
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _add_color_stop (csi_t *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: csi_array_new
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:883,1
    - Dst: push
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:887,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:884,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 888
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 888
    functionName: _array
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - csi_array_new
    - push
    - _csi_unlikely
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _array (csi_t *ctx) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: _csi_blob_hash
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1932,1
    - Dst: cairo_version
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1968,1
    - Dst: FcPatternGetString
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1986,1
    - Dst: _csi_slab_alloc
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1996,1
    - Dst: _mmap_bytes
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2006,1
    - Dst: csi_string_free
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2010,1
    - Dst: FcPatternDel
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1989,1
    - Dst: FcPatternDestroy
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1994,1
    - Dst: _csi_blob_init
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1931,1
    - Dst: csi_container_of
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1937,1
    - Dst: csi_string_free
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1936,1
    - Dst: FcPatternDestroy
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1972,1
    - Dst: _csi_free
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1964,1
    - Dst: FcFontMatch
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1970,1
    - Dst: FcNameParse
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1960,1
    - Dst: cairo_ft_font_face_create_for_pattern
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1977,1
    - Dst: cairo_font_face_set_user_data
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2020,1
    - Dst: csi_string_free
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2034,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2023,1
    - Dst: FcPatternDestroy
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1979,1
    - Dst: cairo_font_face_status
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1981,1
    - Dst: _csi_list_prepend
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1997,1
    - Dst: _ft_done_face
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2024,1
    - Dst: cairo_font_face_destroy
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2025,1
    - Dst: cairo_script_interpreter_reference
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1998,1
    - Dst: _csi_list_find
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1933,1
    - Dst: cairo_font_face_reference
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1938,1
    - Dst: inflate_string
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1943,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1944,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1945,1
    - Dst: FcNameParse
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1950,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1971,1
    - Dst: strstr
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1956,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1973,1
    - Dst: CAIRO_VERSION_ENCODE
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1968,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 89
    argCount: 3
    argNames:
    - ctx
    - string
    - font_face_out
    argTypes:
    - csi_t*
    - csi_string_t*
    - cairo_font_face_t**
    constantsTouched: []
    func_position:
      end: 2037
      start: 1916
    functionDepth: 0
    functionLinenumber: 1916
    functionLinenumberEnd: 2037
    functionName: _ft_create_for_pattern
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_blob_init
    - _csi_error
    - cairo_version
    - CAIRO_VERSION_ENCODE
    - _ft_done_face
    - FcPatternDestroy
    - _csi_blob_hash
    - FcPatternDel
    - _csi_slab_alloc
    - cairo_ft_font_face_create_for_pattern
    - inflate_string
    - csi_string_free
    - FcNameParse
    - _csi_list_prepend
    - cairo_script_interpreter_reference
    - _mmap_bytes
    - cairo_font_face_set_user_data
    - cairo_font_face_destroy
    - _csi_list_find
    - cairo_font_face_status
    - FcPatternGetString
    - csi_container_of
    - strstr
    - _csi_free
    - _csi_unlikely
    - cairo_font_face_reference
    - FcFontMatch
    linkageType: ''
    returnType: csi_status_t
    signature: "static csi_status_t _ft_create_for_pattern (csi_t *ctx,\t\t\tcsi_string_t\
      \ *string,\t\t\tcairo_font_face_t **font_face_out) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2135,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2142,1
    - Dst: memcpy
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2145,1
    - Dst: strlen
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2139,1
    - Dst: _csi_alloc
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2141,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2149
      start: 2129
    functionDepth: 0
    functionLinenumber: 2129
    functionLinenumberEnd: 2149
    functionName: _fc_strcpy
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - memcpy
    - _csi_alloc
    - strlen
    - _csi_unlikely
    - strchr
    linkageType: ''
    returnType: char*
    signature: 'static char *_fc_strcpy (csi_t *ctx, const char *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _csi_list_unlink
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3257,1
    - Dst: _csi_slab_free
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3258,1
    - Dst: cairo_script_interpreter_destroy
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3259,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - closure
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 3260
      start: 3251
    functionDepth: 0
    functionLinenumber: 3251
    functionLinenumberEnd: 3260
    functionName: _image_tag_done
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_list_unlink
    - _csi_slab_free
    - cairo_script_interpreter_destroy
    linkageType: ''
    returnType: void
    signature: 'static void _image_tag_done (void *closure) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_get_data
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3289,1
    - Dst: cairo_image_surface_get_stride
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3290,1
    - Dst: _csi_blob_init
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3292,1
    - Dst: cairo_image_surface_get_height
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3291,1
    - Dst: _image_hash
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3293,1
    - Dst: _csi_list_find
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3294,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3296,1
    - Dst: csi_container_of
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3297,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3298,1
    - Dst: _csi_slab_alloc
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3303,1
    - Dst: _image_tag_done
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3317,1
    - Dst: cairo_script_interpreter_reference
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3308,1
    - Dst: cairo_surface_set_user_data
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3314,1
    - Dst: _csi_list_prepend
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3307,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3321
      start: 3278
    functionDepth: 0
    functionLinenumber: 3278
    functionLinenumberEnd: 3321
    functionName: _image_cached
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - cairo_image_surface_get_data
    - _csi_slab_alloc
    - cairo_surface_set_user_data
    - _image_tag_done
    - cairo_surface_reference
    - _csi_blob_init
    - _image_hash
    - cairo_image_surface_get_height
    - cairo_surface_destroy
    - _csi_list_find
    - cairo_image_surface_get_stride
    - csi_container_of
    - _csi_list_prepend
    - cairo_script_interpreter_reference
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *_image_cached (csi_t *ctx, cairo_surface_t
      *surface) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4384,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4387,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4390,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4389,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4386,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4392,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4393,1
    - Dst: cairo_pattern_create_rgb
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4397,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4398,1
    - Dst: push
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4399,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 4400
      start: 4377
    functionDepth: 0
    functionLinenumber: 4377
    functionLinenumberEnd: 4400
    functionName: _rgb
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_ostack_get_number
    - _csi_unlikely
    - pop
    - check
    - cairo_pattern_create_rgb
    - push
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _rgb (csi_t *ctx) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4730,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4730,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4732,1
    - Dst: _context_set
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4755,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4724,1
    - Dst: csi_dictionary_put
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4734,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4740,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4742,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4740,1
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4721,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4767,1
    - Dst: csi_array_put
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4744,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4770,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4723,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4725,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4727,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4751,1
    - Dst: csi_string_put
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4763,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4751,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4753,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 4772
      start: 4714
    functionDepth: 0
    functionLinenumber: 4714
    functionLinenumberEnd: 4772
    functionName: _set
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - csi_object_get_type
    - _csi_peek_ostack
    - _csi_unlikely
    - csi_array_put
    - _csi_error
    - pop
    - check
    - csi_dictionary_put
    - _context_set
    - csi_string_put
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _set (csi_t *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6395,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6399,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6399,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6398,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6397,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6399,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6400,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6402,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6403,1
    - Dst: _csi_push_ostack_integer
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6406,1
    - Dst: _csi_push_ostack_boolean
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6409,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6412,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 6414
      start: 6389
    functionDepth: 0
    functionLinenumber: 6389
    functionLinenumberEnd: 6414
    functionName: _xor
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_push_ostack_boolean
    - csi_object_get_type
    - _csi_peek_ostack
    - _csi_unlikely
    - pop
    - _csi_error
    - _csi_push_ostack_integer
    - check
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _xor (csi_t *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - blob
    - bytes
    - len
    argTypes:
    - csi_blob_t*
    - uint8_t*
    - int
    constantsTouched: []
    func_position:
      end: 183
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 183
    functionName: _csi_blob_init
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _csi_blob_init (csi_blob_t *blob, uint8_t *bytes, int
      len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _do_cairo_op
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1002,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 1003
      start: 999
    functionDepth: 0
    functionLinenumber: 999
    functionLinenumberEnd: 1003
    functionName: _clip
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _do_cairo_op
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _clip (csi_t *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1067,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1070,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1072,1
    - Dst: csi_object_reference
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1069,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1069,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1080,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1081,1
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1082,1
    - Dst: _csi_push_ostack_copy
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1087,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1088,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1089,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1095,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 1099
      start: 1061
    functionDepth: 0
    functionLinenumber: 1061
    functionLinenumberEnd: 1099
    functionName: _copy
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - csi_object_get_type
    - _csi_peek_ostack
    - _csi_unlikely
    - _csi_push_ostack_copy
    - pop
    - _csi_error
    - check
    - csi_object_reference
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _copy (csi_t *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3448,1
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3456,1
    - Dst: _csi_ostack_get_integer
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3450,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3454,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3451,1
    - Dst: _csi_push_ostack_copy
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3457,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3457,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 3458
      start: 3442
    functionDepth: 0
    functionLinenumber: 3442
    functionLinenumberEnd: 3458
    functionName: _index
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_ostack_get_integer
    - _csi_peek_ostack
    - _csi_unlikely
    - _csi_push_ostack_copy
    - pop
    - check
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _index (csi_t *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3714,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3720,1
    - Dst: _csi_ostack_get_pattern
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3716,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3717,1
    - Dst: _csi_ostack_get_context
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3719,1
    - Dst: cairo_mask
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3723,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3724,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 3727
      start: 3707
    functionDepth: 0
    functionLinenumber: 3707
    functionLinenumberEnd: 3727
    functionName: _mask
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_unlikely
    - cairo_mask
    - _csi_ostack_get_context
    - pop
    - check
    - _csi_ostack_get_pattern
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _mask (csi_t *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3779,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3782,1
    - Dst: _csi_ostack_get_array
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3781,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3786,1
    - Dst: _csi_ostack_get_surface
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3785,1
    - Dst: floor
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3794,1
    - Dst: _csi_object_as_real
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3794,1
    - Dst: floor
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3795,1
    - Dst: _csi_object_as_real
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3795,1
    - Dst: ceil
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3796,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3801,1
    - Dst: _csi_object_as_real
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3797,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3805,1
    - Dst: push
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3807,1
    - Dst: ceil
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3797,1
    - Dst: _csi_object_as_real
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3796,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3806,1
    - Dst: cairo_surface_map_to_image
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3805,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 3808
      start: 3770
    functionDepth: 0
    functionLinenumber: 3770
    functionLinenumberEnd: 3808
    functionName: _map_to_image
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - cairo_surface_map_to_image
    - ceil
    - cairo_surface_reference
    - _csi_unlikely
    - pop
    - _csi_error
    - check
    - _csi_ostack_get_surface
    - _csi_object_as_real
    - push
    - _csi_ostack_get_array
    - floor
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _map_to_image (csi_t *ctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5584,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5590,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5586,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5587,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5589,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5593,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5594,1
    - Dst: cairo_translate
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5597,1
    - Dst: cairo_pattern_get_matrix
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5603,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5604,1
    - Dst: cairo_pattern_set_matrix
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5605,1
    - Dst: cairo_matrix_translate
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5611,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5615,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5618,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 5620
      start: 5576
    functionDepth: 0
    functionLinenumber: 5576
    functionLinenumberEnd: 5620
    functionName: _translate
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - csi_object_get_type
    - cairo_pattern_get_matrix
    - _csi_ostack_get_number
    - cairo_matrix_translate
    - _csi_peek_ostack
    - _csi_unlikely
    - cairo_pattern_set_matrix
    - _csi_error
    - pop
    - check
    - cairo_translate
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _translate (csi_t *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 195
    functionName: _csi_list_unlink
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: csi_list_t*
    signature: 'static csi_list_t *_csi_list_unlink (csi_list_t *head, csi_list_t
      *link) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _do_cairo_op
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1008,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 1009
      start: 1005
    functionDepth: 0
    functionLinenumber: 1005
    functionLinenumberEnd: 1009
    functionName: _clip_preserve
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _do_cairo_op
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _clip_preserve (csi_t *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1107,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1110,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1109,1
    - Dst: cairo_copy_page
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1113,1
    - Dst: cairo_surface_copy_page
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1118,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1122,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 1126
      start: 1101
    functionDepth: 0
    functionLinenumber: 1101
    functionLinenumberEnd: 1126
    functionName: _copy_page
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - csi_object_get_type
    - _csi_peek_ostack
    - cairo_copy_page
    - _csi_error
    - check
    - cairo_surface_copy_page
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _copy_page (csi_t *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3466,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3477,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3468,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3469,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 3482
      start: 3460
    functionDepth: 0
    functionLinenumber: 3460
    functionLinenumberEnd: 3482
    functionName: _integer
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_peek_ostack
    - check
    - csi_object_get_type
    - _csi_error
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _integer (csi_t *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3737,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3744,1
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3741,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3739,1
    - Dst: csi_object_is_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3740,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3745,1
    - Dst: csi_matrix_new_from_values
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3748,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3749,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3752,1
    - Dst: _csi_ostack_get_array
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3756,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3764,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3761,1
    - Dst: push
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3767,1
    - Dst: csi_matrix_new_from_array
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3760,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3757,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 3768
      start: 3729
    functionDepth: 0
    functionLinenumber: 3729
    functionLinenumberEnd: 3768
    functionName: _matrix
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_ostack_get_number
    - _csi_peek_ostack
    - _csi_unlikely
    - csi_object_is_number
    - csi_matrix_new_from_values
    - pop
    - check
    - csi_matrix_new_from_array
    - push
    - _csi_ostack_get_array
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _matrix (csi_t *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3816,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3822,1
    - Dst: _csi_ostack_get_surface
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3818,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3819,1
    - Dst: _csi_ostack_get_surface
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3821,1
    - Dst: cairo_surface_unmap_image
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3825,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3827,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 3829
      start: 3810
    functionDepth: 0
    functionLinenumber: 3810
    functionLinenumberEnd: 3829
    functionName: _unmap_image
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_unlikely
    - pop
    - check
    - _csi_ostack_get_surface
    - cairo_surface_unmap_image
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _unmap_image (csi_t *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _csi_push_ostack_boolean
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5625,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 5626
      start: 5622
    functionDepth: 0
    functionLinenumber: 5622
    functionLinenumberEnd: 5626
    functionName: _true
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_push_ostack_boolean
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _true (csi_t *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2366,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2369,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2368,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2372,1
    - Dst: csi_object_compare
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2371,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2375,1
    - Dst: _csi_push_ostack_boolean
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2376,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 2377
      start: 2359
    functionDepth: 0
    functionLinenumber: 2359
    functionLinenumberEnd: 2377
    functionName: _ge
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_push_ostack_boolean
    - _csi_peek_ostack
    - _csi_unlikely
    - pop
    - csi_object_compare
    - check
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _ge (csi_t *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - blob
    - data
    - len
    argTypes:
    - csi_blob_t*
    - uint32_t*
    - int
    constantsTouched: []
    func_position:
      end: 158
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 158
    functionName: _csi_blob_hash
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _csi_blob_hash (csi_blob_t *blob, const uint32_t *data,
      int len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:406,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:407,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:407,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:408,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - i
    - out
    argTypes:
    - csi_t*
    - unsigned int
    - csi_array_t**
    constantsTouched: []
    func_position:
      end: 412
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 412
    functionName: _csi_ostack_get_array
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_peek_ostack
    - _csi_unlikely
    - _csi_error
    - csi_object_get_type
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _csi_ostack_get_array (csi_t *ctx, unsigned int
      i, csi_array_t **out) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:369,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:371,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:370,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:373,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - i
    - out
    argTypes:
    - csi_t*
    - unsigned int
    - cairo_scaled_font_t**
    constantsTouched: []
    func_position:
      end: 378
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 378
    functionName: _csi_ostack_get_scaled_font
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_peek_ostack
    - _csi_unlikely
    - _csi_error
    - csi_object_get_type
    linkageType: ''
    returnType: csi_status_t
    signature: "static csi_status_t _csi_ostack_get_scaled_font (csi_t *ctx, unsigned\
      \ int i,\t\t\t cairo_scaled_font_t **out) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:577,1
    - Dst: op
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:583,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:580,1
    - Dst: _csi_ostack_get_context
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:579,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - (*op)
    argTypes:
    - csi_t*
    - void
    constantsTouched: []
    func_position:
      end: 585
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 585
    functionName: _do_cairo_op
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - check
    - _csi_unlikely
    - op
    - _csi_ostack_get_context
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _do_cairo_op (csi_t *ctx, void (*op) (cairo_t
      *)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _do_cairo_op
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1014,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 1015
      start: 1011
    functionDepth: 0
    functionLinenumber: 1011
    functionLinenumberEnd: 1015
    functionName: _close_path
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _do_cairo_op
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _close_path (csi_t *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3664,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3667,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3681,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3666,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 3685
      start: 3658
    functionDepth: 0
    functionLinenumber: 3658
    functionLinenumberEnd: 3685
    functionName: _not
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_peek_ostack
    - check
    - csi_object_get_type
    - _csi_error
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _not (csi_t *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_pattern_create_mesh
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3837,1
    - Dst: push
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3838,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 3839
      start: 3831
    functionDepth: 0
    functionLinenumber: 3831
    functionLinenumberEnd: 3839
    functionName: _mesh
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - push
    - cairo_pattern_create_mesh
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _mesh (csi_t *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2386,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2387,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2390,1
    - Dst: _csi_push_ostack_copy
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2393,1
    - Dst: csi_dictionary_get
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2389,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - proxy
    - key
    argTypes:
    - csi_proxy_t*
    - csi_name_t
    constantsTouched: []
    func_position:
      end: 2394
      start: 2379
    functionDepth: 0
    functionLinenumber: 2379
    functionLinenumberEnd: 2394
    functionName: _proxy_get
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_unlikely
    - _csi_push_ostack_copy
    - csi_dictionary_get
    - _csi_error
    linkageType: ''
    returnType: csi_status_t
    signature: "static csi_status_t _proxy_get (csi_proxy_t *proxy,\t csi_name_t key) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: csi_container_of
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:165,1
    - Dst: memcmp
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:174,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - link
    - data
    argTypes:
    - csi_list_t*
    - void*
    constantsTouched: []
    func_position:
      end: 175
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 175
    functionName: _csi_blob_equal
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - csi_container_of
    - memcmp
    linkageType: ''
    returnType: csi_boolean_t
    signature: 'static csi_boolean_t _csi_blob_equal (const csi_list_t *link, void
      *data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:386,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:387,1
    - Dst: cairo_get_target
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:390,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:396,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - i
    - out
    argTypes:
    - csi_t*
    - unsigned int
    - cairo_surface_t**
    constantsTouched: []
    func_position:
      end: 399
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 399
    functionName: _csi_ostack_get_surface
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_peek_ostack
    - csi_object_get_type
    - cairo_get_target
    - _csi_error
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _csi_ostack_get_surface (csi_t *ctx, unsigned
      int i, cairo_surface_t **out) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:419,1
    - Dst: csi_object_is_procedure
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:420,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:420,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:421,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - i
    - out
    argTypes:
    - csi_t*
    - unsigned int
    - csi_array_t**
    constantsTouched: []
    func_position:
      end: 425
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 425
    functionName: _csi_ostack_get_procedure
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_peek_ostack
    - _csi_unlikely
    - _csi_error
    - csi_object_is_procedure
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _csi_ostack_get_procedure (csi_t *ctx, unsigned
      int i, csi_array_t **out) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: csi_dictionary_new
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:594,1
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:602,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:605,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:604,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:595,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:606,1
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:610,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:612,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:613,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:614,1
    - Dst: csi_dictionary_put
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:619,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:620,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:616,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:623,1
    - Dst: push
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:626,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 627
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 627
    functionName: end_dict_construction
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - csi_object_get_type
    - _csi_peek_ostack
    - _csi_unlikely
    - pop
    - _csi_error
    - check
    - csi_dictionary_put
    - push
    - csi_dictionary_new
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t end_dict_construction (csi_t *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1027,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1030,1
    - Dst: cairo_create
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1037,1
    - Dst: hook
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1035,1
    - Dst: _csi_ostack_get_surface
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1029,1
    - Dst: _csi_proxy_create
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1039,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1042,1
    - Dst: cairo_destroy
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1043,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1044,1
    - Dst: cairo_set_user_data
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1047,1
    - Dst: cairo_destroy
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1051,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1055,1
    - Dst: _csi_proxy_destroy
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1050,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1049,1
    - Dst: push
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1058,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 1059
      start: 1017
    functionDepth: 0
    functionLinenumber: 1017
    functionLinenumberEnd: 1059
    functionName: _context
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_proxy_create
    - _csi_unlikely
    - cairo_create
    - pop
    - _csi_error
    - check
    - _csi_ostack_get_surface
    - _csi_proxy_destroy
    - push
    - cairo_destroy
    - cairo_set_user_data
    - hook
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _context (csi_t *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _do_cairo_op
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3691,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 3692
      start: 3687
    functionDepth: 0
    functionLinenumber: 3687
    functionLinenumberEnd: 3692
    functionName: _new_path
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _do_cairo_op
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _new_path (csi_t *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3847,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3850,1
    - Dst: cairo_mesh_pattern_begin_patch
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3853,1
    - Dst: _csi_ostack_get_pattern
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3849,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 3855
      start: 3841
    functionDepth: 0
    functionLinenumber: 3841
    functionLinenumberEnd: 3855
    functionName: _mesh_begin_patch
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - cairo_mesh_pattern_begin_patch
    - check
    - _csi_unlikely
    - _csi_ostack_get_pattern
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _mesh_begin_patch (csi_t *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5170,1
    - Dst: _csi_ostack_get_boolean
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5172,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5176,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5173,1
    - Dst: _csi_ostack_get_context
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5175,1
    - Dst: cairo_set_hairline
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5179,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5180,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 5182
      start: 5163
    functionDepth: 0
    functionLinenumber: 5163
    functionLinenumberEnd: 5182
    functionName: _set_hairline
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_unlikely
    - pop
    - _csi_ostack_get_context
    - check
    - cairo_set_hairline
    - _csi_ostack_get_boolean
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _set_hairline (csi_t *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6280,1
    - Dst: _csi_name_undefine
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6286,1
    - Dst: _csi_ostack_get_name
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6282,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6287,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6283,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6290,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 6292
      start: 6274
    functionDepth: 0
    functionLinenumber: 6274
    functionLinenumberEnd: 6292
    functionName: _undef
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_ostack_get_name
    - _csi_unlikely
    - pop
    - check
    - _csi_name_undefine
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _undef (csi_t *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: csi_matrix_new
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2834,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2835,1
    - Dst: push
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2838,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 2839
      start: 2828
    functionDepth: 0
    functionLinenumber: 2828
    functionLinenumberEnd: 2839
    functionName: _identity
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - csi_matrix_new
    - push
    - _csi_unlikely
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _identity (csi_t *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4458,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4465,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4464,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4460,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4461,1
    - Dst: cairo_rotate
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4468,1
    - Dst: cairo_pattern_get_matrix
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4474,1
    - Dst: cairo_matrix_rotate
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4475,1
    - Dst: cairo_pattern_set_matrix
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4476,1
    - Dst: cairo_matrix_rotate
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4482,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4489,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4486,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 4491
      start: 4450
    functionDepth: 0
    functionLinenumber: 4450
    functionLinenumberEnd: 4491
    functionName: _rotate
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - csi_object_get_type
    - cairo_pattern_get_matrix
    - _csi_ostack_get_number
    - _csi_peek_ostack
    - _csi_unlikely
    - cairo_pattern_set_matrix
    - _csi_error
    - pop
    - check
    - cairo_rotate
    - cairo_matrix_rotate
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _rotate (csi_t *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4781,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4787,1
    - Dst: _csi_ostack_get_integer
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4783,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4784,1
    - Dst: _csi_ostack_get_context
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4786,1
    - Dst: cairo_set_antialias
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4790,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4791,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 4793
      start: 4774
    functionDepth: 0
    functionLinenumber: 4774
    functionLinenumberEnd: 4793
    functionName: _set_antialias
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_ostack_get_integer
    - _csi_unlikely
    - pop
    - _csi_ostack_get_context
    - check
    - cairo_set_antialias
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _set_antialias (csi_t *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5067,1
    - Dst: _csi_ostack_get_context
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5072,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5070,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5073,1
    - Dst: _csi_ostack_get_matrix
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5069,1
    - Dst: cairo_set_font_matrix
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5076,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5077,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 5079
      start: 5060
    functionDepth: 0
    functionLinenumber: 5060
    functionLinenumberEnd: 5079
    functionName: _set_font_matrix
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_unlikely
    - pop
    - _csi_ostack_get_context
    - check
    - cairo_set_font_matrix
    - _csi_ostack_get_matrix
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _set_font_matrix (csi_t *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5192,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5198,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5199,1
    - Dst: _csi_ostack_get_matrix
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5194,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5195,1
    - Dst: cairo_set_matrix
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5202,1
    - Dst: cairo_pattern_set_matrix
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5205,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5211,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5214,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 5216
      start: 5184
    functionDepth: 0
    functionLinenumber: 5184
    functionLinenumberEnd: 5216
    functionName: _set_matrix
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - csi_object_get_type
    - _csi_peek_ostack
    - _csi_unlikely
    - cairo_pattern_set_matrix
    - _csi_error
    - pop
    - check
    - _csi_ostack_get_matrix
    - cairo_set_matrix
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _set_matrix (csi_t *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2848,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2855,1
    - Dst: _csi_ostack_get_boolean
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2854,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2851,1
    - Dst: _csi_ostack_get_procedure
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2850,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2859,1
    - Dst: _csi_array_execute
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2862,1
    - Dst: csi_array_free
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2865,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 2868
      start: 2841
    functionDepth: 0
    functionLinenumber: 2841
    functionLinenumberEnd: 2868
    functionName: _if
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - csi_array_free
    - _csi_unlikely
    - pop
    - _csi_array_execute
    - check
    - _csi_ostack_get_boolean
    - _csi_ostack_get_procedure
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _if (csi_t *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _do_cairo_op
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4496,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 4497
      start: 4493
    functionDepth: 0
    functionLinenumber: 4493
    functionLinenumberEnd: 4497
    functionName: _save
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _do_cairo_op
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _save (csi_t *ctx) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4828,1
    - Dst: csi_object_is_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4833,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4829,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4833,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4838,1
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4803,1
    - Dst: _csi_ostack_get_context
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4811,1
    - Dst: cairo_set_dash
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4816,1
    - Dst: _csi_alloc
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4827,1
    - Dst: _csi_free
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4837,1
    - Dst: cairo_set_dash
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4844,1
    - Dst: _csi_free
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4847,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4850,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4809,1
    - Dst: _csi_ostack_get_array
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4808,1
    - Dst: _csi_likely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4822,1
    - Dst: csi_number_get_value
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4841,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4805,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4806,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4812,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4822,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4825,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4826,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 4852
      start: 4795
    functionDepth: 0
    functionLinenumber: 4795
    functionLinenumberEnd: 4852
    functionName: _set_dash
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - csi_number_get_value
    - _csi_alloc
    - _csi_ostack_get_number
    - _csi_likely
    - _csi_unlikely
    - cairo_set_dash
    - ARRAY_LENGTH
    - csi_object_is_number
    - _csi_ostack_get_context
    - _csi_error
    - pop
    - check
    - _csi_ostack_get_array
    - _csi_free
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _set_dash (csi_t *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5088,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5091,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5094,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5090,1
    - Dst: _csi_ostack_get_context
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5093,1
    - Dst: cairo_set_font_size
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5097,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5098,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 5100
      start: 5081
    functionDepth: 0
    functionLinenumber: 5081
    functionLinenumberEnd: 5100
    functionName: _set_font_size
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_ostack_get_number
    - _csi_unlikely
    - cairo_set_font_size
    - pop
    - _csi_ostack_get_context
    - check
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _set_font_size (csi_t *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5716,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5721,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5722,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5718,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5719,1
    - Dst: _csi_ostack_get_integer
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5724,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5725,1
    - Dst: _csi_ostack_get_surface
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5727,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5728,1
    - Dst: cairo_surface_create_similar_image
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5732,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5735,1
    - Dst: push
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5736,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 5737
      start: 5707
    functionDepth: 0
    functionLinenumber: 5707
    functionLinenumberEnd: 5737
    functionName: _similar_image
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_ostack_get_number
    - _csi_ostack_get_integer
    - _csi_unlikely
    - pop
    - check
    - _csi_ostack_get_surface
    - push
    - cairo_surface_create_similar_image
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _similar_image (csi_t *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:432,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:436,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:434,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:433,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - i
    - out
    argTypes:
    - csi_t*
    - unsigned int
    - csi_dictionary_t**
    constantsTouched: []
    func_position:
      end: 441
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 441
    functionName: _csi_ostack_get_dictionary
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_peek_ostack
    - _csi_unlikely
    - _csi_error
    - csi_object_get_type
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _csi_ostack_get_dictionary (csi_t *ctx, unsigned
      int i, csi_dictionary_t **out) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2494,1
    - Dst: cairo_surface_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2495,1
    - Dst: _csi_push_ostack_integer
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2499,1
    - Dst: _csi_push_ostack_integer
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2495,1
    - Dst: strcmp
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2498,1
    - Dst: cairo_surface_get_content
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2500,1
    - Dst: _proxy_get
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2503,1
    - Dst: cairo_surface_get_user_data
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2503,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - ctx
    - surface
    - key
    argTypes:
    - csi_t*
    - cairo_surface_t*
    - csi_name_t
    constantsTouched: []
    func_position:
      end: 2505
      start: 2489
    functionDepth: 0
    functionLinenumber: 2489
    functionLinenumberEnd: 2505
    functionName: _surface_get
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _proxy_get
    - strcmp
    - _csi_push_ostack_integer
    - cairo_surface_get_content
    - cairo_surface_get_user_data
    - cairo_surface_get_type
    linkageType: ''
    returnType: csi_status_t
    signature: "static csi_status_t _surface_get (csi_t *ctx,\t cairo_surface_t *surface,\t\
      \ csi_name_t key) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _do_cairo_op
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3698,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 3699
      start: 3694
    functionDepth: 0
    functionLinenumber: 3694
    functionLinenumberEnd: 3699
    functionName: _new_sub_path
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _do_cairo_op
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _new_sub_path (csi_t *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4125,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 4129
      start: 4122
    functionDepth: 0
    functionLinenumber: 4122
    functionLinenumberEnd: 4129
    functionName: _pop
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - check
    - pop
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _pop (csi_t *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4965,1
    - Dst: _csi_ostack_get_integer
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4967,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4971,1
    - Dst: _csi_ostack_get_context
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4970,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4968,1
    - Dst: cairo_set_fill_rule
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4974,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4975,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 4977
      start: 4958
    functionDepth: 0
    functionLinenumber: 4958
    functionLinenumberEnd: 4977
    functionName: _set_fill_rule
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_ostack_get_integer
    - _csi_unlikely
    - pop
    - _csi_ostack_get_context
    - check
    - cairo_set_fill_rule
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _set_fill_rule (csi_t *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5109,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5112,1
    - Dst: _csi_ostack_get_context
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5114,1
    - Dst: _csi_ostack_get_integer
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5111,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5115,1
    - Dst: cairo_set_line_cap
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5118,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5119,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 5121
      start: 5102
    functionDepth: 0
    functionLinenumber: 5102
    functionLinenumberEnd: 5121
    functionName: _set_line_cap
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_ostack_get_integer
    - _csi_unlikely
    - pop
    - _csi_ostack_get_context
    - check
    - cairo_set_line_cap
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _set_line_cap (csi_t *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5464,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5470,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5467,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5466,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5469,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5472,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5473,1
    - Dst: _csi_ostack_get_context
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5475,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5476,1
    - Dst: cairo_set_source_rgb
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5479,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5480,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 5482
      start: 5457
    functionDepth: 0
    functionLinenumber: 5457
    functionLinenumberEnd: 5482
    functionName: _set_source_rgb
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_ostack_get_number
    - _csi_unlikely
    - pop
    - _csi_ostack_get_context
    - check
    - cairo_set_source_rgb
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _set_source_rgb (csi_t *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:449,1
    - Dst: cairo_matrix_init
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:458,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:450,1
    - Dst: csi_number_get_value
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:460,1
    - Dst: csi_number_get_value
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:459,1
    - Dst: csi_number_get_value
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:461,1
    - Dst: csi_number_get_value
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:462,1
    - Dst: csi_number_get_value
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:463,1
    - Dst: csi_number_get_value
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:464,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:469,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 3
    argNames:
    - ctx
    - i
    - out
    argTypes:
    - csi_t*
    - unsigned int
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 471
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 471
    functionName: _csi_ostack_get_matrix
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - csi_number_get_value
    - csi_object_get_type
    - _csi_peek_ostack
    - _csi_error
    - cairo_matrix_init
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _csi_ostack_get_matrix (csi_t *ctx, unsigned int
      i, cairo_matrix_t *out) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2516,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2522,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2522,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2523,1
    - Dst: _font_get
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2553,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2561,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2561,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2562,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2566,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2567,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2519,1
    - Dst: _context_get
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2548,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2556,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2556,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2557,1
    - Dst: _surface_get
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2568,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2566,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2517,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2518,1
    - Dst: csi_array_get
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2534,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2551,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2551,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2552,1
    - Dst: _scaled_font_get
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2563,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2571,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2574,1
    - Dst: _csi_push_ostack_copy
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2577,1
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2514,1
    - Dst: csi_dictionary_get
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2525,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2531,1
    - Dst: csi_string_get
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2541,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2546,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2532,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2547,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2546,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2531,1
    - Dst: _pattern_get
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2558,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 52
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 2578
      start: 2507
    functionDepth: 0
    functionLinenumber: 2507
    functionLinenumberEnd: 2578
    functionName: _get
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _pattern_get
    - csi_object_get_type
    - csi_string_get
    - _scaled_font_get
    - csi_dictionary_get
    - csi_array_get
    - _csi_peek_ostack
    - _csi_unlikely
    - _csi_push_ostack_copy
    - _font_get
    - pop
    - _csi_error
    - check
    - _surface_get
    - _context_get
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _get (csi_t *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _csi_push_ostack_null
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3704,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 3705
      start: 3701
    functionDepth: 0
    functionLinenumber: 3701
    functionLinenumberEnd: 3705
    functionName: _null
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_push_ostack_null
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _null (csi_t *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4138,1
    - Dst: _csi_ostack_get_context
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4140,1
    - Dst: cairo_pop_group
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4145,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4141,1
    - Dst: push
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 4148
      start: 4131
    functionDepth: 0
    functionLinenumber: 4131
    functionLinenumberEnd: 4148
    functionName: _pop_group
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - cairo_pop_group
    - _csi_unlikely
    - _csi_ostack_get_context
    - check
    - push
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _pop_group (csi_t *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4987,1
    - Dst: _csi_ostack_get_integer
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4989,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4990,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4993,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4994,1
    - Dst: cairo_pattern_set_filter
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4997,1
    - Dst: cairo_get_source
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4997,1
    - Dst: cairo_pattern_set_filter
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5001,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5004,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5007,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 5009
      start: 4979
    functionDepth: 0
    functionLinenumber: 4979
    functionLinenumberEnd: 5009
    functionName: _set_filter
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - csi_object_get_type
    - _csi_ostack_get_integer
    - cairo_pattern_set_filter
    - _csi_peek_ostack
    - _csi_unlikely
    - cairo_get_source
    - pop
    - _csi_error
    - check
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _set_filter (csi_t *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _csi_ostack_get_integer
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5130,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5134,1
    - Dst: _csi_ostack_get_context
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5133,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5131,1
    - Dst: cairo_set_line_join
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5137,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5138,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 5140
      start: 5123
    functionDepth: 0
    functionLinenumber: 5123
    functionLinenumberEnd: 5140
    functionName: _set_line_join
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_ostack_get_integer
    - _csi_unlikely
    - pop
    - _csi_ostack_get_context
    - cairo_set_line_join
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _set_line_join (csi_t *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5491,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5494,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5497,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5496,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5493,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5499,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5500,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5502,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5503,1
    - Dst: _csi_ostack_get_context
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5505,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5510,1
    - Dst: cairo_set_source_rgba
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5509,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5506,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 5512
      start: 5484
    functionDepth: 0
    functionLinenumber: 5484
    functionLinenumberEnd: 5512
    functionName: _set_source_rgba
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - cairo_set_source_rgba
    - _csi_ostack_get_number
    - _csi_unlikely
    - pop
    - _csi_ostack_get_context
    - check
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _set_source_rgba (csi_t *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: csi_dictionary_new
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1276,1
    - Dst: push
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1280,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 1281
      start: 1270
    functionDepth: 0
    functionLinenumber: 1270
    functionLinenumberEnd: 1281
    functionName: _dict
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - csi_dictionary_new
    - _csi_unlikely
    - push
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _dict (csi_t *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:784,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:788,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:787,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:788,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:786,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:788,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:789,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:791,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:792,1
    - Dst: _csi_push_ostack_integer
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:795,1
    - Dst: _csi_push_ostack_boolean
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:798,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:801,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 803
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 803
    functionName: _and
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_push_ostack_boolean
    - csi_object_get_type
    - _csi_peek_ostack
    - _csi_unlikely
    - pop
    - _csi_error
    - _csi_push_ostack_integer
    - check
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _and (csi_t *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _csi_hash_table_lookup
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:906,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:913,1
    - Dst: csi_object_is_procedure
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:911,1
    - Dst: _bind_substitute
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:912,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 2
    argNames:
    - ctx
    - array
    argTypes:
    - csi_t*
    - csi_array_t*
    constantsTouched: []
    func_position:
      end: 919
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 919
    functionName: _bind_substitute
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _bind_substitute
    - _csi_unlikely
    - _csi_hash_table_lookup
    - csi_object_is_procedure
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _bind_substitute (csi_t *ctx, csi_array_t *array) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3350,1
    - Dst: csi_dictionary_get
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3357,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3358,1
    - Dst: csi_dictionary_has
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3366,1
    - Dst: strcmp
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3387,1
    - Dst: _image_read_raw
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3396,1
    - Dst: csi_object_free
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3404,1
    - Dst: _csi_dictionary_get_integer
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3337,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3341,1
    - Dst: _csi_dictionary_get_integer
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3340,1
    - Dst: csi_dictionary_has
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3353,1
    - Dst: _image_read_png
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3403,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3407,1
    - Dst: _image_cached
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3410,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3400,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3372,1
    - Dst: cairo_image_surface_create
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3412,1
    - Dst: _csi_dictionary_get_integer
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3345,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3338,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3346,1
    - Dst: csi_name_new_static
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3349,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3362,1
    - Dst: csi_dictionary_get
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3371,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3375,1
    - Dst: csi_name_new_static
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3361,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3384,1
    - Dst: csi_object_as_file
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3399,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 52
    argCount: 3
    argNames:
    - ctx
    - dict
    - image_out
    argTypes:
    - csi_t*
    - csi_dictionary_t*
    - cairo_surface_t**
    constantsTouched: []
    func_position:
      end: 3416
      start: 3323
    functionDepth: 0
    functionLinenumber: 3323
    functionLinenumberEnd: 3416
    functionName: _image_load_from_dictionary
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - csi_object_get_type
    - csi_dictionary_get
    - csi_dictionary_has
    - _image_read_png
    - _image_cached
    - csi_name_new_static
    - _csi_unlikely
    - strcmp
    - csi_object_as_file
    - _csi_error
    - cairo_image_surface_create
    - _image_read_raw
    - _csi_dictionary_get_integer
    - csi_object_free
    linkageType: ''
    returnType: csi_status_t
    signature: "static csi_status_t _image_load_from_dictionary (csi_t *ctx,\t\t\t\
      \ csi_dictionary_t *dict,\t\t\t cairo_surface_t **image_out) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4608,1
    - Dst: cairo_font_options_destroy
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4622,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4627,1
    - Dst: cairo_font_options_destroy
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4634,1
    - Dst: _csi_ostack_get_matrix
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4626,1
    - Dst: cairo_font_options_destroy
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4643,1
    - Dst: _csi_ostack_get_dictionary
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4610,1
    - Dst: cairo_font_options_create
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4613,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4611,1
    - Dst: cairo_font_options_destroy
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4616,1
    - Dst: _csi_ostack_get_matrix
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4620,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4621,1
    - Dst: cairo_font_options_destroy
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4628,1
    - Dst: _csi_ostack_get_font_face
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4632,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4633,1
    - Dst: cairo_scaled_font_create
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4639,1
    - Dst: push
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4645,1
    - Dst: _font_options_load_from_dictionary
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4614,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4615,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4644,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 4646
      start: 4598
    functionDepth: 0
    functionLinenumber: 4598
    functionLinenumberEnd: 4646
    functionName: _scaled_font
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - cairo_font_options_destroy
    - cairo_font_options_create
    - cairo_scaled_font_create
    - _csi_unlikely
    - pop
    - _csi_ostack_get_dictionary
    - check
    - _font_options_load_from_dictionary
    - _csi_ostack_get_font_face
    - push
    - _csi_ostack_get_matrix
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _scaled_font (csi_t *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5303,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5309,1
    - Dst: _csi_ostack_get_context
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5308,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5305,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5306,1
    - Dst: cairo_set_miter_limit
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5312,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5313,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 5315
      start: 5296
    functionDepth: 0
    functionLinenumber: 5296
    functionLinenumberEnd: 5315
    functionName: _set_miter_limit
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_ostack_get_number
    - _csi_unlikely
    - pop
    - _csi_ostack_get_context
    - check
    - cairo_set_miter_limit
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _set_miter_limit (csi_t *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5345,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5351,1
    - Dst: _csi_ostack_get_context
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5350,1
    - Dst: _csi_ostack_get_scaled_font
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5347,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5348,1
    - Dst: cairo_set_scaled_font
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5354,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5355,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 5357
      start: 5338
    functionDepth: 0
    functionLinenumber: 5338
    functionLinenumberEnd: 5357
    functionName: _set_scaled_font
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_unlikely
    - pop
    - _csi_ostack_get_context
    - cairo_set_scaled_font
    - check
    - _csi_ostack_get_scaled_font
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _set_scaled_font (csi_t *ctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5385,1
    - Dst: cairo_image_surface_get_height
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5390,1
    - Dst: cairo_image_surface_get_width
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5393,1
    - Dst: cairo_surface_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5387,1
    - Dst: cairo_image_surface_get_height
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5390,1
    - Dst: cairo_image_surface_get_width
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5393,1
    - Dst: cairo_image_surface_get_format
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5396,1
    - Dst: cairo_image_surface_get_format
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5400,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cairo_surface_t*
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 5408
      start: 5380
    functionDepth: 0
    functionLinenumber: 5380
    functionLinenumberEnd: 5408
    functionName: _matching_images
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - cairo_image_surface_get_width
    - cairo_image_surface_get_format
    - cairo_image_surface_get_height
    - cairo_surface_get_type
    linkageType: ''
    returnType: csi_boolean_t
    signature: 'static csi_boolean_t _matching_images (cairo_surface_t *a, cairo_surface_t
      *b) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:813,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:816,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:819,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:818,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:815,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:821,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:822,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:824,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:825,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:827,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:831,1
    - Dst: cairo_arc
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:836,1
    - Dst: _csi_ostack_get_context
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:830,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:837,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:828,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 839
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 839
    functionName: _arc
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_ostack_get_number
    - cairo_arc
    - _csi_unlikely
    - pop
    - _csi_ostack_get_context
    - check
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _arc (csi_t *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: csi_object_is_procedure
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:938,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:940,1
    - Dst: _cairo_is_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:940,1
    - Dst: _idiom_substitute
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:939,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - array
    argTypes:
    - csi_t*
    - csi_array_t*
    constantsTouched: []
    func_position:
      end: 947
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 947
    functionName: _idiom_substitute
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_unlikely
    - _idiom_substitute
    - _cairo_is_error
    - csi_object_is_procedure
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _idiom_substitute (csi_t *ctx, csi_array_t *array) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1290,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1295,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1293,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1296,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1292,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1299,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1302,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1303,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1306,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1309,1
    - Dst: _csi_push_ostack_real
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1314,1
    - Dst: _csi_push_ostack_integer
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1320,1
    - Dst: _csi_push_ostack_real
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1337,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 1339
      start: 1283
    functionDepth: 0
    functionLinenumber: 1283
    functionLinenumberEnd: 1339
    functionName: _div
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - csi_object_get_type
    - _csi_peek_ostack
    - _csi_unlikely
    - pop
    - _csi_error
    - _csi_push_ostack_integer
    - check
    - _csi_push_ostack_real
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _div (csi_t *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3426,1
    - Dst: _image_load_from_dictionary
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3432,1
    - Dst: _csi_ostack_get_dictionary
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3428,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3429,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3433,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3436,1
    - Dst: push
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3439,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 3440
      start: 3418
    functionDepth: 0
    functionLinenumber: 3418
    functionLinenumberEnd: 3440
    functionName: _image
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_unlikely
    - pop
    - _csi_ostack_get_dictionary
    - check
    - push
    - _image_load_from_dictionary
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _image (csi_t *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4657,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4660,1
    - Dst: _csi_ostack_get_integer
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4662,1
    - Dst: _csi_ostack_get_integer
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4659,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4663,1
    - Dst: _csi_ostack_get_string
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4665,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4666,1
    - Dst: _csi_ostack_get_context
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4668,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4669,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4672,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4673,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 4675
      start: 4648
    functionDepth: 0
    functionLinenumber: 4648
    functionLinenumberEnd: 4675
    functionName: _select_font_face
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_ostack_get_integer
    - _csi_unlikely
    - pop
    - _csi_ostack_get_context
    - check
    - cairo_select_font_face
    - _csi_ostack_get_string
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _select_font_face (csi_t *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5324,1
    - Dst: _csi_ostack_get_integer
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5326,1
    - Dst: _csi_ostack_get_context
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5329,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5330,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5327,1
    - Dst: cairo_set_operator
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5333,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5334,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 5336
      start: 5317
    functionDepth: 0
    functionLinenumber: 5317
    functionLinenumberEnd: 5336
    functionName: _set_operator
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_ostack_get_integer
    - _csi_unlikely
    - pop
    - _csi_ostack_get_context
    - check
    - cairo_set_operator
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _set_operator (csi_t *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5366,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5372,1
    - Dst: _csi_ostack_get_context
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5371,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5369,1
    - Dst: _csi_ostack_get_pattern
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5368,1
    - Dst: cairo_set_source
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5375,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5376,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 5378
      start: 5359
    functionDepth: 0
    functionLinenumber: 5359
    functionLinenumberEnd: 5378
    functionName: _set_source
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_unlikely
    - pop
    - _csi_ostack_get_context
    - cairo_set_source
    - check
    - _csi_ostack_get_pattern
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _set_source (csi_t *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5420,1
    - Dst: _csi_ostack_get_surface
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5419,1
    - Dst: _csi_likely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5429,1
    - Dst: cairo_surface_get_reference_count
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5430,1
    - Dst: cairo_surface_get_reference_count
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5431,1
    - Dst: cairo_image_surface_get_data
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5440,1
    - Dst: cairo_image_surface_get_height
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5441,1
    - Dst: cairo_image_surface_get_data
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5439,1
    - Dst: cairo_create
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5447,1
    - Dst: cairo_destroy
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5450,1
    - Dst: memcpy
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5439,1
    - Dst: cairo_paint
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5449,1
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5417,1
    - Dst: _matching_images
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5429,1
    - Dst: cairo_surface_flush
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5438,1
    - Dst: cairo_surface_mark_dirty
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5442,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5434,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5423,1
    - Dst: _csi_ostack_get_surface
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5422,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5433,1
    - Dst: cairo_image_surface_get_stride
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5441,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5448,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5453,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 5455
      start: 5410
    functionDepth: 0
    functionLinenumber: 5410
    functionLinenumberEnd: 5455
    functionName: _set_source_image
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - memcpy
    - cairo_paint
    - cairo_surface_flush
    - cairo_image_surface_get_data
    - cairo_surface_mark_dirty
    - _csi_likely
    - _csi_peek_ostack
    - _csi_unlikely
    - cairo_create
    - pop
    - cairo_image_surface_get_height
    - check
    - _csi_ostack_get_surface
    - cairo_set_source_surface
    - cairo_destroy
    - cairo_image_surface_get_stride
    - cairo_surface_get_reference_count
    - _matching_images
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _set_source_image (csi_t *ctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6216,1
    - Dst: _csi_ostack_get_integer
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6222,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6223,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6219,1
    - Dst: _csi_ostack_get_array
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6218,1
    - Dst: _csi_object_as_real
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6232,1
    - Dst: _csi_object_as_real
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6233,1
    - Dst: _csi_object_as_real
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6237,1
    - Dst: _csi_object_as_real
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6238,1
    - Dst: _csi_object_as_real
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6239,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6244,1
    - Dst: push
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6250,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6249,1
    - Dst: _csi_object_as_real
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6240,1
    - Dst: cairo_recording_surface_create
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6248,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 6251
      start: 6206
    functionDepth: 0
    functionLinenumber: 6206
    functionLinenumberEnd: 6251
    functionName: _record
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_ostack_get_integer
    - _csi_unlikely
    - pop
    - _csi_error
    - check
    - _csi_object_as_real
    - push
    - cairo_recording_surface_create
    - _csi_ostack_get_array
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _record (csi_t *ctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cairo_scaled_font_get_font_face
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1512,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1514,1
    - Dst: cairo_font_face_get_user_data
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1513,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1521,1
    - Dst: csi_name_new_static
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1520,1
    - Dst: csi_dictionary_has
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1524,1
    - Dst: csi_dictionary_get
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1529,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1530,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1533,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1533,1
    - Dst: strcmp
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1545,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1542,1
    - Dst: snprintf
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1536,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    argCount: 3
    argNames:
    - scaled_font
    - unicode
    - glyph
    argTypes:
    - cairo_scaled_font_t*
    - unsigned long
    - unsigned long*
    constantsTouched: []
    func_position:
      end: 1552
      start: 1497
    functionDepth: 0
    functionLinenumber: 1497
    functionLinenumberEnd: 1552
    functionName: _type3_lookup
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - csi_object_get_type
    - csi_dictionary_get
    - csi_dictionary_has
    - csi_name_new_static
    - _csi_unlikely
    - strcmp
    - cairo_font_face_get_user_data
    - cairo_scaled_font_get_font_face
    - snprintf
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _type3_lookup (cairo_scaled_font_t *scaled_font,\t\
      \ unsigned long unicode,\t unsigned long *glyph) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1138,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1141,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1140,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1143,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1144,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1146,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1147,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1149,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1150,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1152,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1160,1
    - Dst: cairo_curve_to
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1163,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1153,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1159,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1156,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1172,1
    - Dst: cairo_mesh_pattern_curve_to
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1166,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1155,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 1174
      start: 1128
    functionDepth: 0
    functionLinenumber: 1128
    functionLinenumberEnd: 1174
    functionName: _curve_to
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - csi_object_get_type
    - _csi_ostack_get_number
    - cairo_curve_to
    - _csi_peek_ostack
    - _csi_unlikely
    - cairo_mesh_pattern_curve_to
    - pop
    - check
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _curve_to (csi_t *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _do_cairo_op
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1381,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 1382
      start: 1378
    functionDepth: 0
    functionLinenumber: 1378
    functionLinenumberEnd: 1382
    functionName: _fill
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _do_cairo_op
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _fill (csi_t *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3598,1
    - Dst: csi_object_compare
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3603,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3600,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3604,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3601,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3607,1
    - Dst: _csi_push_ostack_boolean
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3608,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 3609
      start: 3591
    functionDepth: 0
    functionLinenumber: 3591
    functionLinenumberEnd: 3609
    functionName: _lt
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_push_ostack_boolean
    - _csi_peek_ostack
    - _csi_unlikely
    - pop
    - csi_object_compare
    - check
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _lt (csi_t *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: csi_string_free
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5228,1
    - Dst: _csi_slab_free
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5230,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 1
    argNames:
    - closure
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 5231
      start: 5222
    functionDepth: 0
    functionLinenumber: 5222
    functionLinenumberEnd: 5231
    functionName: _mime_tag_destroy
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - csi_string_free
    - _csi_slab_free
    linkageType: ''
    returnType: void
    signature: 'static void _mime_tag_destroy (void *closure) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6701
      start: 6697
    functionDepth: 0
    functionLinenumber: 6697
    functionLinenumberEnd: 6701
    functionName: _csi_operators
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: csi_operator_def_t*
    signature: 'const csi_operator_def_t *_csi_operators (void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1182,1
    - Dst: _csi_push_ostack_integer
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1192,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1191,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1184,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1185,1
    - Dst: _csi_parse_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1195,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1199,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1202,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1203,1
    - Dst: push
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1204,1
    - Dst: _csi_push_ostack_integer
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1206,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1209,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 1211
      start: 1176
    functionDepth: 0
    functionLinenumber: 1176
    functionLinenumberEnd: 1211
    functionName: _cvi
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - csi_object_get_type
    - _csi_peek_ostack
    - pop
    - _csi_push_ostack_integer
    - _csi_error
    - _csi_parse_number
    - check
    - push
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _cvi (csi_t *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _do_cairo_op
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1387,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 1388
      start: 1384
    functionDepth: 0
    functionLinenumber: 1384
    functionLinenumberEnd: 1388
    functionName: _fill_preserve
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _do_cairo_op
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _fill_preserve (csi_t *ctx) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: csi_dictionary_get
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1606,1
    - Dst: csi_number_get_value
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1618,1
    - Dst: csi_number_get_value
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1622,1
    - Dst: csi_name_new_static
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1626,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1627,1
    - Dst: csi_dictionary_get
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1630,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1631,1
    - Dst: cairo_destroy
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1641,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1646,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1587,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1587,1
    - Dst: csi_name_new_static
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1598,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1615,1
    - Dst: csi_number_get_value
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1621,1
    - Dst: csi_number_get_value
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1623,1
    - Dst: push
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1639,1
    - Dst: csi_number_get_value
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1620,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1640,1
    - Dst: csi_object_execute
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1645,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1580,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1573,1
    - Dst: csi_name_new_static
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1579,1
    - Dst: csi_dictionary_get
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1583,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1584,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1595,1
    - Dst: csi_dictionary_has
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1603,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1610,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1595,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1610,1
    - Dst: cairo_scaled_font_get_font_face
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1571,1
    - Dst: cairo_font_face_get_user_data
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1572,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1592,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1599,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1607,1
    - Dst: csi_number_get_value
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1619,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1634,1
    - Dst: csi_object_is_procedure
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1634,1
    - Dst: cairo_reference
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1638,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 72
    argCount: 4
    argNames:
    - scaled_font
    - glyph_index
    - cr
    - metrics
    argTypes:
    - cairo_scaled_font_t*
    - unsigned long
    - cairo_t*
    - cairo_text_extents_t*
    constantsTouched: []
    func_position:
      end: 1648
      start: 1554
    functionDepth: 0
    functionLinenumber: 1554
    functionLinenumberEnd: 1648
    functionName: _type3_render
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - csi_number_get_value
    - csi_object_execute
    - csi_object_get_type
    - csi_dictionary_get
    - csi_dictionary_has
    - cairo_destroy
    - csi_name_new_static
    - _csi_unlikely
    - pop
    - csi_object_is_procedure
    - cairo_reference
    - cairo_font_face_get_user_data
    - push
    - cairo_scaled_font_get_font_face
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _type3_render (cairo_scaled_font_t *scaled_font,\t\
      \ unsigned long glyph_index,\t cairo_t *cr,\t cairo_text_extents_t *metrics) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _csi_push_ostack_mark
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3614,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 3615
      start: 3611
    functionDepth: 0
    functionLinenumber: 3611
    functionLinenumberEnd: 3615
    functionName: _mark
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_push_ostack_mark
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _mark (csi_t *ctx) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5251,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5287,1
    - Dst: cairo_surface_set_mime_data
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5281,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5275,1
    - Dst: cairo_script_interpreter_reference
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5277,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5276,1
    - Dst: _csi_ostack_get_surface
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5268,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5269,1
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5244,1
    - Dst: _csi_file_as_string
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5250,1
    - Dst: _csi_ostack_get_string_constant
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5264,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5265,1
    - Dst: _csi_slab_alloc
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5274,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5292,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5246,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5247,1
    - Dst: csi_object_reference
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5257,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5261,1
    - Dst: _mime_tag_destroy
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5288,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 5294
      start: 5233
    functionDepth: 0
    functionLinenumber: 5233
    functionLinenumberEnd: 5294
    functionName: _set_mime_data
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - cairo_surface_set_mime_data
    - csi_object_get_type
    - _csi_slab_alloc
    - _csi_ostack_get_string_constant
    - _csi_peek_ostack
    - _csi_unlikely
    - pop
    - _csi_error
    - check
    - _csi_ostack_get_surface
    - _mime_tag_destroy
    - _csi_file_as_string
    - csi_object_reference
    - cairo_script_interpreter_reference
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _set_mime_data (csi_t *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mkstemp
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1727,1
    - Dst: mmap
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1750,1
    - Dst: write
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1737,1
    - Dst: unlink
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1731,1
    - Dst: close
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1739,1
    - Dst: close
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1751,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1754
      start: 1719
    functionDepth: 0
    functionLinenumber: 1719
    functionLinenumberEnd: 1754
    functionName: _mmap_bytes
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - write
    - mmap
    - unlink
    - close
    - mkstemp
    linkageType: ''
    returnType: void*
    signature: 'static void *_mmap_bytes (const struct mmap_vec *vec, int count) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:316,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:318,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:317,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:317,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - i
    - out
    argTypes:
    - csi_t*
    - unsigned int
    - csi_name_t*
    constantsTouched: []
    func_position:
      end: 322
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 322
    functionName: _csi_ostack_get_name
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_peek_ostack
    - _csi_unlikely
    - _csi_error
    - csi_object_get_type
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _csi_ostack_get_name (csi_t *ctx, unsigned int
      i, csi_name_t *out) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: csi_name_new_static
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:484,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:485,1
    - Dst: csi_dictionary_has
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:488,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:492,1
    - Dst: csi_dictionary_get
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:491,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:495,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:507,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 17
    argCount: 5
    argNames:
    - ctx
    - dict
    - name
    - optional
    - value
    argTypes:
    - csi_t*
    - csi_dictionary_t*
    - char*
    - csi_boolean_t
    - long*
    constantsTouched: []
    func_position:
      end: 510
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 510
    functionName: _csi_dictionary_get_integer
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - csi_object_get_type
    - csi_dictionary_get
    - csi_dictionary_has
    - csi_name_new_static
    - _csi_unlikely
    - _csi_error
    linkageType: ''
    returnType: csi_status_t
    signature: "static csi_status_t _csi_dictionary_get_integer (csi_t *ctx,\t\t\t\
      \ csi_dictionary_t *dict,\t\t\t const char *name,\t\t\t csi_boolean_t optional,\t\
      \t\t long *value) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:542,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:543,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:544,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:543,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - i
    - out
    argTypes:
    - csi_t*
    - unsigned int
    - csi_string_t**
    constantsTouched: []
    func_position:
      end: 548
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 548
    functionName: _csi_ostack_get_string
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_peek_ostack
    - _csi_unlikely
    - _csi_error
    - csi_object_get_type
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _csi_ostack_get_string (csi_t *ctx, unsigned int
      i, csi_string_t **out) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:955,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:958,1
    - Dst: _bind_substitute
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:961,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:962,1
    - Dst: _csi_ostack_get_procedure
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:957,1
    - Dst: _idiom_substitute
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:965,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:966,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 970
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 970
    functionName: _bind
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_unlikely
    - _idiom_substitute
    - _bind_substitute
    - check
    - _csi_ostack_get_procedure
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _bind (csi_t *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2795,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2798,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2801,1
    - Dst: cairo_pattern_create_rgba
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2804,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2797,1
    - Dst: push
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2805,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 2806
      start: 2788
    functionDepth: 0
    functionLinenumber: 2788
    functionLinenumberEnd: 2806
    functionName: _gray
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_ostack_get_number
    - _csi_unlikely
    - cairo_pattern_create_rgba
    - pop
    - check
    - push
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _gray (csi_t *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3964,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3969,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3967,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3966,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3970,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3973,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3974,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3977,1
    - Dst: cairo_mesh_pattern_move_to
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3980,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3986,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 3988
      start: 3956
    functionDepth: 0
    functionLinenumber: 3956
    functionLinenumberEnd: 3988
    functionName: _move_to
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - cairo_mesh_pattern_move_to
    - csi_object_get_type
    - _csi_ostack_get_number
    - _csi_peek_ostack
    - _csi_unlikely
    - pop
    - check
    - cairo_move_to
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _move_to (csi_t *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4214,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4220,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4216,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4217,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4219,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4222,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4223,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4225,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4226,1
    - Dst: _csi_ostack_get_context
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4228,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4229,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4235,1
    - Dst: cairo_rectangle
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4234,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 4237
      start: 4206
    functionDepth: 0
    functionLinenumber: 4206
    functionLinenumberEnd: 4237
    functionName: _rectangle
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_ostack_get_number
    - _csi_unlikely
    - pop
    - _csi_ostack_get_context
    - check
    - cairo_rectangle
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _rectangle (csi_t *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4910,1
    - Dst: _csi_ostack_get_integer
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4912,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4917,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4916,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4913,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4920,1
    - Dst: cairo_get_source
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4920,1
    - Dst: cairo_pattern_set_extend
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4924,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4927,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4930,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 4932
      start: 4902
    functionDepth: 0
    functionLinenumber: 4902
    functionLinenumberEnd: 4932
    functionName: _set_extend
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - csi_object_get_type
    - _csi_ostack_get_integer
    - _csi_peek_ostack
    - _csi_unlikely
    - cairo_get_source
    - pop
    - _csi_error
    - cairo_pattern_set_extend
    - check
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _set_extend (csi_t *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:329,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:330,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:331,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:330,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - i
    - out
    argTypes:
    - csi_t*
    - unsigned int
    - cairo_t**
    constantsTouched: []
    func_position:
      end: 335
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 335
    functionName: _csi_ostack_get_context
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_peek_ostack
    - _csi_unlikely
    - _csi_error
    - csi_object_get_type
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _csi_ostack_get_context (csi_t *ctx, unsigned
      int i, cairo_t **out) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: csi_name_new_static
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:522,1
    - Dst: csi_dictionary_get
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:529,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:530,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:523,1
    - Dst: csi_dictionary_has
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:526,1
    - Dst: csi_number_get_value
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:533,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 5
    argNames:
    - ctx
    - dict
    - name
    - optional
    - value
    argTypes:
    - csi_t*
    - csi_dictionary_t*
    - char*
    - csi_boolean_t
    - double*
    constantsTouched: []
    func_position:
      end: 535
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 535
    functionName: _csi_dictionary_get_number
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - csi_number_get_value
    - csi_dictionary_get
    - csi_dictionary_has
    - csi_name_new_static
    - _csi_unlikely
    linkageType: ''
    returnType: csi_status_t
    signature: "static csi_status_t _csi_dictionary_get_number (csi_t *ctx,\t\t\t\
      \ csi_dictionary_t *dict,\t\t\t const char *name,\t\t\t csi_boolean_t optional,\t\
      \t\t double *value) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:556,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:557,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:566,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - i
    - out
    argTypes:
    - csi_t*
    - unsigned int
    - char**
    constantsTouched: []
    func_position:
      end: 569
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 569
    functionName: _csi_ostack_get_string_constant
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_peek_ostack
    - csi_object_get_type
    - _csi_error
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _csi_ostack_get_string_constant (csi_t *ctx, unsigned
      int i, const char **out) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:978,1
    - Dst: _csi_ostack_get_integer
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:983,1
    - Dst: _csi_ostack_get_integer
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:980,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:981,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:984,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:993,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:994,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 997
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 997
    functionName: _bitshift
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_ostack_get_integer
    - _csi_peek_ostack
    - _csi_unlikely
    - pop
    - check
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _bitshift (csi_t *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2815,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2818,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2817,1
    - Dst: csi_object_compare
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2820,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2821,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2824,1
    - Dst: _csi_push_ostack_boolean
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2825,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 2826
      start: 2808
    functionDepth: 0
    functionLinenumber: 2808
    functionLinenumberEnd: 2826
    functionName: _gt
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_push_ostack_boolean
    - _csi_peek_ostack
    - _csi_unlikely
    - pop
    - csi_object_compare
    - check
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _gt (csi_t *ctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3997,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4003,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4002,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4000,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3999,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4006,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4008,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4009,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4012,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4015,1
    - Dst: _csi_push_ostack_real
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4043,1
    - Dst: _csi_push_ostack_integer
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4026,1
    - Dst: _csi_push_ostack_real
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4020,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 4045
      start: 3990
    functionDepth: 0
    functionLinenumber: 3990
    functionLinenumberEnd: 4045
    functionName: _mul
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - csi_object_get_type
    - _csi_peek_ostack
    - _csi_unlikely
    - pop
    - _csi_error
    - _csi_push_ostack_integer
    - check
    - _csi_push_ostack_real
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _mul (csi_t *ctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4248,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4253,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4250,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4251,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4254,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4256,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4257,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4259,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4260,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4262,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4263,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4266,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4269,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4275,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4265,1
    - Dst: _csi_ostack_get_context
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4268,1
    - Dst: cairo_rel_curve_to
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4274,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 4277
      start: 4239
    functionDepth: 0
    functionLinenumber: 4239
    functionLinenumberEnd: 4277
    functionName: _rel_curve_to
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - cairo_rel_curve_to
    - _csi_ostack_get_number
    - _csi_unlikely
    - pop
    - _csi_ostack_get_context
    - check
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _rel_curve_to (csi_t *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4941,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4943,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4946,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4944,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4947,1
    - Dst: _csi_ostack_get_surface
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4949,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4950,1
    - Dst: cairo_surface_set_fallback_resolution
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4953,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4954,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 4956
      start: 4934
    functionDepth: 0
    functionLinenumber: 4934
    functionLinenumberEnd: 4956
    functionName: _set_fallback_resolution
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_ostack_get_number
    - cairo_surface_set_fallback_resolution
    - _csi_unlikely
    - pop
    - check
    - _csi_ostack_get_surface
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _set_fallback_resolution (csi_t *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5747,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5752,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5753,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5750,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5749,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5755,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5756,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5758,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5759,1
    - Dst: _csi_ostack_get_surface
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5761,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5762,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5767,1
    - Dst: push
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5768,1
    - Dst: cairo_surface_create_for_rectangle
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5766,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 5769
      start: 5739
    functionDepth: 0
    functionLinenumber: 5739
    functionLinenumberEnd: 5769
    functionName: _subsurface
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - cairo_surface_create_for_rectangle
    - _csi_ostack_get_number
    - _csi_unlikely
    - pop
    - check
    - _csi_ostack_get_surface
    - push
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _subsurface (csi_t *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6830
      start: 6826
    functionDepth: 0
    functionLinenumber: 6826
    functionLinenumberEnd: 6830
    functionName: _csi_real_constants
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: csi_real_constant_def_t*
    signature: 'const csi_real_constant_def_t *_csi_real_constants (void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1219,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1222,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1221,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1228,1
    - Dst: _csi_push_ostack_real
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1229,1
    - Dst: _csi_parse_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1232,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1236,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1239,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1240,1
    - Dst: push
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1241,1
    - Dst: _csi_push_ostack_real
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1243,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1246,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 1248
      start: 1213
    functionDepth: 0
    functionLinenumber: 1213
    functionLinenumberEnd: 1248
    functionName: _cvr
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - csi_object_get_type
    - _csi_peek_ostack
    - pop
    - _csi_error
    - _csi_parse_number
    - check
    - _csi_push_ostack_real
    - push
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _cvr (csi_t *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1415,1
    - Dst: _csi_ostack_get_string_constant
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1417,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1418,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1423,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1421,1
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1426,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1428,1
    - Dst: strcmp
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1433,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1437,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1440,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1445,1
    - Dst: push
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1441,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 1446
      start: 1390
    functionDepth: 0
    functionLinenumber: 1390
    functionLinenumberEnd: 1446
    functionName: _filter
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - csi_object_get_type
    - _csi_ostack_get_string_constant
    - _csi_peek_ostack
    - _csi_unlikely
    - strcmp
    - pop
    - _csi_error
    - check
    - push
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _filter (csi_t *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2159,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2161,1
    - Dst: cairo_select_font_face
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2163,1
    - Dst: cairo_create
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2160,1
    - Dst: cairo_font_face_reference
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2166,1
    - Dst: cairo_get_font_face
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2166,1
    - Dst: cairo_destroy
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2167,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2170
      start: 2151
    functionDepth: 0
    functionLinenumber: 2151
    functionLinenumberEnd: 2170
    functionName: _select_font
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - cairo_get_font_face
    - cairo_create
    - cairo_surface_destroy
    - cairo_font_face_reference
    - cairo_image_surface_create
    - cairo_select_font_face
    - cairo_destroy
    linkageType: ''
    returnType: cairo_font_face_t*
    signature: 'static cairo_font_face_t *_select_font (const char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: csi_file_read
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3227,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - closure
    - data
    - len
    argTypes:
    - void*
    - uint8_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3232
      start: 3222
    functionDepth: 0
    functionLinenumber: 3222
    functionLinenumberEnd: 3232
    functionName: png_read_func
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - csi_file_read
    linkageType: ''
    returnType: cairo_status_t
    signature: 'static cairo_status_t png_read_func (void *closure, uint8_t *data,
      unsigned int len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _do_cairo_op
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5977,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 5978
      start: 5974
    functionDepth: 0
    functionLinenumber: 5974
    functionLinenumberEnd: 5978
    functionName: _stroke_preserve
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _do_cairo_op
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _stroke_preserve (csi_t *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1256,1
    - Dst: _csi_ostack_get_name
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1258,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1259,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1262,1
    - Dst: _csi_name_define
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1262,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1263,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1266,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 1268
      start: 1250
    functionDepth: 0
    functionLinenumber: 1250
    functionLinenumberEnd: 1268
    functionName: _def
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_ostack_get_name
    - _csi_name_define
    - _csi_peek_ostack
    - _csi_unlikely
    - pop
    - check
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _def (csi_t *ctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cairo_scaled_font_get_font_face
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1462,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1471,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1464,1
    - Dst: cairo_font_face_get_user_data
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1463,1
    - Dst: csi_name_new_static
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1470,1
    - Dst: csi_dictionary_has
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1474,1
    - Dst: csi_dictionary_get
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1477,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1478,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1481,1
    - Dst: csi_number_get_value
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1488,1
    - Dst: csi_number_get_value
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1491,1
    - Dst: csi_number_get_value
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1489,1
    - Dst: csi_number_get_value
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1492,1
    - Dst: csi_number_get_value
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1490,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 3
    argNames:
    - scaled_font
    - cr
    - metrics
    argTypes:
    - cairo_scaled_font_t*
    - cairo_t*
    - cairo_font_extents_t*
    constantsTouched: []
    func_position:
      end: 1495
      start: 1448
    functionDepth: 0
    functionLinenumber: 1448
    functionLinenumberEnd: 1495
    functionName: _type3_init
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - csi_number_get_value
    - csi_object_get_type
    - csi_dictionary_get
    - csi_dictionary_has
    - csi_name_new_static
    - _csi_unlikely
    - cairo_font_face_get_user_data
    - cairo_scaled_font_get_font_face
    linkageType: ''
    returnType: cairo_status_t
    signature: "static cairo_status_t _type3_init (cairo_scaled_font_t *scaled_font,\t\
      \ cairo_t *cr,\t cairo_font_extents_t *metrics) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_user_font_face_create
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1657,1
    - Dst: cairo_user_font_face_set_unicode_to_glyph_func
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1659,1
    - Dst: cairo_user_font_face_set_init_func
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1658,1
    - Dst: cairo_user_font_face_set_render_glyph_func
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:1660,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - font
    - font_face_out
    argTypes:
    - csi_t*
    - csi_dictionary_t*
    - cairo_font_face_t**
    constantsTouched: []
    func_position:
      end: 1664
      start: 1650
    functionDepth: 0
    functionLinenumber: 1650
    functionLinenumberEnd: 1664
    functionName: _font_type3
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - cairo_user_font_face_set_init_func
    - cairo_user_font_face_set_render_glyph_func
    - cairo_user_font_face_create
    - cairo_user_font_face_set_unicode_to_glyph_func
    linkageType: ''
    returnType: csi_status_t
    signature: "static csi_status_t _font_type3 (csi_t *ctx,\t csi_dictionary_t *font,\t\
      \ cairo_font_face_t **font_face_out) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2181,1
    - Dst: _fc_strcpy
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2186,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2187,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2188,1
    - Dst: _select_font
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2190,1
    - Dst: _csi_free
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2191,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - ctx
    - string
    - font_face_out
    argTypes:
    - csi_t*
    - csi_string_t*
    - cairo_font_face_t**
    constantsTouched: []
    func_position:
      end: 2194
      start: 2172
    functionDepth: 0
    functionLinenumber: 2172
    functionLinenumberEnd: 2194
    functionName: _ft_fallback_create_for_pattern
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _fc_strcpy
    - _csi_unlikely
    - _csi_error
    - _select_font
    - strstr
    - _csi_free
    linkageType: ''
    returnType: csi_status_t
    signature: "static csi_status_t _ft_fallback_create_for_pattern (csi_t *ctx,\t\
      \t\t\t csi_string_t *string,\t\t\t\t cairo_font_face_t **font_face_out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create_from_png_stream
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3238,1
    - Dst: cairo_surface_status
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3239,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - src
    - out
    argTypes:
    - csi_file_t*
    - cairo_surface_t**
    constantsTouched: []
    func_position:
      end: 3243
      start: 3234
    functionDepth: 0
    functionLinenumber: 3234
    functionLinenumberEnd: 3243
    functionName: _image_read_png
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - cairo_surface_status
    - cairo_image_surface_create_from_png_stream
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _image_read_png (csi_file_t *src, cairo_surface_t
      **out) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5987,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5993,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5990,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5992,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5989,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5996,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5999,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6000,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6003,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6006,1
    - Dst: _csi_push_ostack_real
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6034,1
    - Dst: _csi_push_ostack_real
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6011,1
    - Dst: _csi_push_ostack_integer
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6017,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 6036
      start: 5980
    functionDepth: 0
    functionLinenumber: 5980
    functionLinenumberEnd: 6036
    functionName: _sub
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - csi_object_get_type
    - _csi_peek_ostack
    - _csi_unlikely
    - pop
    - _csi_error
    - _csi_push_ostack_integer
    - check
    - _csi_push_ostack_real
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _sub (csi_t *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:342,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:343,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:344,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:343,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - i
    - out
    argTypes:
    - csi_t*
    - unsigned int
    - cairo_font_face_t**
    constantsTouched: []
    func_position:
      end: 348
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 348
    functionName: _csi_ostack_get_font_face
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_peek_ostack
    - _csi_unlikely
    - _csi_error
    - csi_object_get_type
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _csi_ostack_get_font_face (csi_t *ctx, unsigned
      int i, cairo_font_face_t **out) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3535,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3537,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3540,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3541,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3538,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3543,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3544,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3546,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3547,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3550,1
    - Dst: push
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3554,1
    - Dst: cairo_pattern_create_linear
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3553,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 3555
      start: 3528
    functionDepth: 0
    functionLinenumber: 3528
    functionLinenumberEnd: 3555
    functionName: _linear
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_ostack_get_number
    - cairo_pattern_create_linear
    - _csi_unlikely
    - pop
    - check
    - push
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _linear (csi_t *ctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3910,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3913,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3916,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3915,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3912,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3918,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3919,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3921,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3922,1
    - Dst: _csi_ostack_get_integer
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3924,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3925,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3933,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3928,1
    - Dst: cairo_mesh_pattern_set_corner_color_rgba
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3931,1
    - Dst: _csi_ostack_get_pattern
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3927,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 3935
      start: 3902
    functionDepth: 0
    functionLinenumber: 3902
    functionLinenumberEnd: 3935
    functionName: _mesh_set_corner_color
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_ostack_get_number
    - _csi_ostack_get_integer
    - cairo_mesh_pattern_set_corner_color_rgba
    - _csi_unlikely
    - pop
    - check
    - _csi_ostack_get_pattern
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _mesh_set_corner_color (csi_t *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4087,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4089,1
    - Dst: _csi_ostack_get_context
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4093,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4090,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4094,1
    - Dst: cairo_paint_with_alpha
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4097,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4098,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 4100
      start: 4080
    functionDepth: 0
    functionLinenumber: 4080
    functionLinenumberEnd: 4100
    functionName: _paint_with_alpha
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - cairo_paint_with_alpha
    - _csi_ostack_get_number
    - _csi_unlikely
    - pop
    - _csi_ostack_get_context
    - check
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _paint_with_alpha (csi_t *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4286,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4288,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4291,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4289,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4292,1
    - Dst: _csi_ostack_get_context
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4294,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4295,1
    - Dst: cairo_rel_line_to
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4300,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4301,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 4303
      start: 4279
    functionDepth: 0
    functionLinenumber: 4279
    functionLinenumberEnd: 4303
    functionName: _rel_line_to
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_ostack_get_number
    - cairo_rel_line_to
    - _csi_unlikely
    - pop
    - _csi_ostack_get_context
    - check
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _rel_line_to (csi_t *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4337,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4344,1
    - Dst: _csi_ostack_get_procedure
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4339,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4340,1
    - Dst: _csi_ostack_get_integer
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4343,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4347,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4348,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4351,1
    - Dst: _csi_array_execute
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4354,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4355,1
    - Dst: csi_array_free
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4360,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 4363
      start: 4330
    functionDepth: 0
    functionLinenumber: 4330
    functionLinenumberEnd: 4363
    functionName: _repeat
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_ostack_get_integer
    - csi_array_free
    - _csi_unlikely
    - pop
    - _csi_error
    - _csi_array_execute
    - check
    - _csi_ostack_get_procedure
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _repeat (csi_t *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4861,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4867,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4863,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4864,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4866,1
    - Dst: _csi_ostack_get_surface
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4869,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4870,1
    - Dst: cairo_surface_set_device_offset
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4873,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4874,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 4876
      start: 4854
    functionDepth: 0
    functionLinenumber: 4854
    functionLinenumberEnd: 4876
    functionName: _set_device_offset
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_ostack_get_number
    - _csi_unlikely
    - pop
    - check
    - _csi_ostack_get_surface
    - cairo_surface_set_device_offset
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _set_device_offset (csi_t *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5521,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5523,1
    - Dst: _csi_ostack_get_context
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5526,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5524,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5527,1
    - Dst: cairo_set_tolerance
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5530,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5531,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 5533
      start: 5514
    functionDepth: 0
    functionLinenumber: 5514
    functionLinenumberEnd: 5533
    functionName: _set_tolerance
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - cairo_set_tolerance
    - _csi_ostack_get_number
    - _csi_unlikely
    - pop
    - _csi_ostack_get_context
    - check
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _set_tolerance (csi_t *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:355,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:356,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:357,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:356,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - i
    - out
    argTypes:
    - csi_t*
    - unsigned int
    - cairo_pattern_t**
    constantsTouched: []
    func_position:
      end: 361
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 361
    functionName: _csi_ostack_get_pattern
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_peek_ostack
    - _csi_unlikely
    - _csi_error
    - csi_object_get_type
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _csi_ostack_get_pattern (csi_t *ctx, unsigned
      int i, cairo_pattern_t **out) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2049,1
    - Dst: csi_dictionary_has
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2052,1
    - Dst: _csi_file_as_string
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2063,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2099,1
    - Dst: csi_dictionary_get
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2101,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2102,1
    - Dst: csi_name_new_static
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2048,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2060,1
    - Dst: _ft_create_for_pattern
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2074,1
    - Dst: _csi_file_as_string
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2107,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2115,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2064,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2071,1
    - Dst: _csi_dictionary_get_integer
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2094,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2095,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2080,1
    - Dst: csi_dictionary_has
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2083,1
    - Dst: csi_name_new_static
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2098,1
    - Dst: csi_name_new_static
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2079,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2104,1
    - Dst: _ft_create_for_source
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2118,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2057,1
    - Dst: csi_dictionary_get
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2056,1
    - Dst: _csi_dictionary_get_integer
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2089,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2090,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2108,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2123,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 45
    argCount: 3
    argNames:
    - ctx
    - font
    - font_face_out
    argTypes:
    - csi_t*
    - csi_dictionary_t*
    - cairo_font_face_t**
    constantsTouched: []
    func_position:
      end: 2124
      start: 2039
    functionDepth: 0
    functionLinenumber: 2039
    functionLinenumberEnd: 2124
    functionName: _ft_type42_create
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - csi_object_get_type
    - csi_dictionary_get
    - csi_dictionary_has
    - csi_name_new_static
    - _csi_unlikely
    - _csi_error
    - _ft_create_for_source
    - _csi_file_as_string
    - _ft_create_for_pattern
    - _csi_dictionary_get_integer
    linkageType: ''
    returnType: csi_status_t
    signature: "static csi_status_t _ft_type42_create (csi_t *ctx,\t\t csi_dictionary_t\
      \ *font,\t\t cairo_font_face_t **font_face_out) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3565,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3567,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3570,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3571,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3568,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3576,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3577,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3580,1
    - Dst: cairo_mesh_pattern_line_to
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3583,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3587,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 3589
      start: 3557
    functionDepth: 0
    functionLinenumber: 3557
    functionLinenumberEnd: 3589
    functionName: _line_to
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - csi_object_get_type
    - _csi_ostack_get_number
    - cairo_line_to
    - _csi_peek_ostack
    - _csi_unlikely
    - pop
    - check
    - cairo_mesh_pattern_line_to
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _line_to (csi_t *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3943,1
    - Dst: _csi_ostack_get_integer
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3945,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3949,1
    - Dst: _csi_ostack_get_integer
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3948,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3946,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3952,1
    - Dst: _csi_push_ostack_integer
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3953,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 3954
      start: 3937
    functionDepth: 0
    functionLinenumber: 3937
    functionLinenumberEnd: 3954
    functionName: _mod
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_ostack_get_integer
    - _csi_unlikely
    - pop
    - _csi_push_ostack_integer
    - check
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _mod (csi_t *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4109,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4112,1
    - Dst: _csi_ostack_get_surface
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4111,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4118,1
    - Dst: cairo_pattern_create_for_surface
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4116,1
    - Dst: push
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 4120
      start: 4102
    functionDepth: 0
    functionLinenumber: 4102
    functionLinenumberEnd: 4120
    functionName: _pattern
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - cairo_pattern_create_for_surface
    - _csi_unlikely
    - pop
    - check
    - _csi_ostack_get_surface
    - push
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _pattern (csi_t *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4312,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4318,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4314,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4317,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4315,1
    - Dst: _csi_ostack_get_context
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4320,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4321,1
    - Dst: cairo_rel_move_to
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4325,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4326,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 4328
      start: 4305
    functionDepth: 0
    functionLinenumber: 4305
    functionLinenumberEnd: 4328
    functionName: _rel_move_to
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_ostack_get_number
    - _csi_unlikely
    - pop
    - _csi_ostack_get_context
    - check
    - cairo_rel_move_to
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _rel_move_to (csi_t *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _do_cairo_op
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4368,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 4369
      start: 4365
    functionDepth: 0
    functionLinenumber: 4365
    functionLinenumberEnd: 4369
    functionName: _reset_clip
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _do_cairo_op
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _reset_clip (csi_t *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4885,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4890,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4891,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4888,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4887,1
    - Dst: _csi_ostack_get_surface
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4893,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4894,1
    - Dst: cairo_surface_set_device_scale
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4897,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:4898,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 4900
      start: 4878
    functionDepth: 0
    functionLinenumber: 4878
    functionLinenumberEnd: 4900
    functionName: _set_device_scale
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_ostack_get_number
    - _csi_unlikely
    - pop
    - check
    - cairo_surface_set_device_scale
    - _csi_ostack_get_surface
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _set_device_scale (csi_t *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5149,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5151,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5155,1
    - Dst: _csi_ostack_get_context
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5154,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5152,1
    - Dst: cairo_set_line_width
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5158,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5159,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 5161
      start: 5142
    functionDepth: 0
    functionLinenumber: 5142
    functionLinenumberEnd: 5161
    functionName: _set_line_width
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_ostack_get_number
    - cairo_set_line_width
    - _csi_unlikely
    - pop
    - _csi_ostack_get_context
    - check
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _set_line_width (csi_t *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5543,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5549,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5546,1
    - Dst: _csi_ostack_get_matrix
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5545,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5550,1
    - Dst: cairo_transform
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5553,1
    - Dst: cairo_pattern_get_matrix
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5558,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5559,1
    - Dst: cairo_pattern_set_matrix
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5560,1
    - Dst: cairo_matrix_multiply
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5564,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5572,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5569,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 5574
      start: 5535
    functionDepth: 0
    functionLinenumber: 5535
    functionLinenumberEnd: 5574
    functionName: _transform
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - csi_object_get_type
    - cairo_pattern_get_matrix
    - cairo_transform
    - _csi_peek_ostack
    - _csi_unlikely
    - cairo_pattern_set_matrix
    - _csi_error
    - pop
    - check
    - _csi_ostack_get_matrix
    - cairo_matrix_multiply
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _transform (csi_t *ctx) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _csi_push_ostack_real
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2409,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2410,1
    - Dst: cairo_get_source
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2419,1
    - Dst: strcmp
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2429,1
    - Dst: cairo_get_group_target
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2425,1
    - Dst: cairo_font_face_reference
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2431,1
    - Dst: strcmp
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2420,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2422,1
    - Dst: cairo_get_scaled_font
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2428,1
    - Dst: _csi_push_ostack_real
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2412,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2413,1
    - Dst: strcmp
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2417,1
    - Dst: cairo_pattern_reference
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2419,1
    - Dst: cairo_surface_reference
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2425,1
    - Dst: strcmp
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2423,1
    - Dst: cairo_get_font_face
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2431,1
    - Dst: _proxy_get
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2433,1
    - Dst: cairo_get_user_data
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2433,1
    - Dst: push
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2435,1
    - Dst: strcmp
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2404,1
    - Dst: cairo_get_current_point
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2407,1
    - Dst: cairo_scaled_font_reference
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2428,1
    - Dst: strcmp
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2426,1
    - Dst: cairo_get_target
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2422,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 3
    argNames:
    - ctx
    - cr
    - key
    argTypes:
    - csi_t*
    - cairo_t*
    - csi_name_t
    constantsTouched: []
    func_position:
      end: 2436
      start: 2396
    functionDepth: 0
    functionLinenumber: 2396
    functionLinenumberEnd: 2436
    functionName: _context_get
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - cairo_get_group_target
    - cairo_get_font_face
    - cairo_get_scaled_font
    - _proxy_get
    - cairo_get_source
    - _csi_unlikely
    - strcmp
    - cairo_pattern_reference
    - cairo_surface_reference
    - cairo_font_face_reference
    - _csi_push_ostack_real
    - cairo_get_target
    - cairo_get_current_point
    - push
    - cairo_get_user_data
    - cairo_scaled_font_reference
    linkageType: ''
    returnType: csi_status_t
    signature: "static csi_status_t _context_get (csi_t *ctx,\t cairo_t *cr,\t csi_name_t\
      \ key) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3623,1
    - Dst: csi_object_eq
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3628,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3626,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3630,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3625,1
    - Dst: _csi_push_ostack_boolean
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3631,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 3632
      start: 3617
    functionDepth: 0
    functionLinenumber: 3617
    functionLinenumberEnd: 3632
    functionName: _ne
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_push_ostack_boolean
    - csi_object_eq
    - _csi_peek_ostack
    - pop
    - check
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _ne (csi_t *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5634,1
    - Dst: cairo_show_page
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5640,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5636,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5637,1
    - Dst: cairo_surface_show_page
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5645,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5649,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 5653
      start: 5628
    functionDepth: 0
    functionLinenumber: 5628
    functionLinenumberEnd: 5653
    functionName: _show_page
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - csi_object_get_type
    - cairo_show_page
    - _csi_peek_ostack
    - _csi_error
    - check
    - cairo_surface_show_page
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _show_page (csi_t *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5778,1
    - Dst: _csi_ostack_get_string
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5780,1
    - Dst: _csi_ostack_get_context
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5783,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5784,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5781,1
    - Dst: cairo_show_text
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5787,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5788,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 5790
      start: 5771
    functionDepth: 0
    functionLinenumber: 5771
    functionLinenumberEnd: 5790
    functionName: _show_text
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - cairo_show_text
    - _csi_unlikely
    - pop
    - _csi_ostack_get_context
    - check
    - _csi_ostack_get_string
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _show_text (csi_t *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _proxy_get
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2443,1
    - Dst: cairo_font_face_get_user_data
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:2443,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - font_face
    - key
    argTypes:
    - csi_t*
    - cairo_font_face_t*
    - csi_name_t
    constantsTouched: []
    func_position:
      end: 2446
      start: 2438
    functionDepth: 0
    functionLinenumber: 2438
    functionLinenumberEnd: 2446
    functionName: _font_get
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _proxy_get
    - cairo_font_face_get_user_data
    linkageType: ''
    returnType: csi_status_t
    signature: "static csi_status_t _font_get (csi_t *ctx,\t cairo_font_face_t *font_face,\t\
      \ csi_name_t key) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3640,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3652,1
    - Dst: _csi_peek_ostack
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3642,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:3643,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 3656
      start: 3634
    functionDepth: 0
    functionLinenumber: 3634
    functionLinenumberEnd: 3656
    functionName: _neg
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_peek_ostack
    - check
    - csi_object_get_type
    - _csi_error
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _neg (csi_t *ctx) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5664,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5667,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5670,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5669,1
    - Dst: _csi_ostack_get_integer
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5666,1
    - Dst: _csi_ostack_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5672,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5673,1
    - Dst: _csi_ostack_get_surface
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5675,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5676,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5681,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5682,1
    - Dst: cairo_surface_create_similar
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5701,1
    - Dst: push
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5704,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5703,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 30
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 5705
      start: 5655
    functionDepth: 0
    functionLinenumber: 5655
    functionLinenumberEnd: 5705
    functionName: _similar
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_ostack_get_number
    - _csi_ostack_get_integer
    - _csi_unlikely
    - pop
    - _csi_error
    - check
    - _csi_ostack_get_surface
    - push
    - cairo_surface_create_similar
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _similar (csi_t *ctx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5801,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5807,1
    - Dst: _csi_ostack_get_context
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5806,1
    - Dst: _csi_ostack_get_array
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5803,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5804,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5814,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5825,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5829,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5830,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5831,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5835,1
    - Dst: cairo_get_scaled_font
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5839,1
    - Dst: _csi_free
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5843,1
    - Dst: _glyph_string
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5839,1
    - Dst: _csi_alloc
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5833,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5834,1
    - Dst: cairo_show_glyphs
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5840,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:5845,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 5847
      start: 5792
    functionDepth: 0
    functionLinenumber: 5792
    functionLinenumberEnd: 5847
    functionName: _show_glyphs
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_alloc
    - csi_object_get_type
    - cairo_get_scaled_font
    - cairo_show_glyphs
    - _csi_unlikely
    - ARRAY_LENGTH
    - pop
    - _csi_ostack_get_context
    - _csi_error
    - check
    - _csi_free
    - _csi_ostack_get_array
    - _glyph_string
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _show_glyphs (csi_t *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6260,1
    - Dst: _csi_ostack_get_context
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6265,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6266,1
    - Dst: _csi_ostack_get_string
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6262,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6263,1
    - Dst: cairo_text_path
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6269,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6270,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 6272
      start: 6253
    functionDepth: 0
    functionLinenumber: 6253
    functionLinenumberEnd: 6272
    functionName: _text_path
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - _csi_unlikely
    - cairo_text_path
    - _csi_ostack_get_context
    - pop
    - check
    - _csi_ostack_get_string
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _text_path (csi_t *ctx) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6052,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6059,1
    - Dst: _csi_dictionary_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6058,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6091,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6101,1
    - Dst: csi_name_new_static
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6105,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6113,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6116,1
    - Dst: csi_name_new_static
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6128,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6130,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6161,1
    - Dst: _csi_proxy_destroy
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6100,1
    - Dst: csi_name_new_static
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6154,1
    - Dst: csi_name_new_static
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6177,1
    - Dst: csi_dictionary_get
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6183,1
    - Dst: csi_dictionary_has
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6110,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6178,1
    - Dst: _csi_dictionary_get_integer
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6066,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6067,1
    - Dst: _csi_proxy_create
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6088,1
    - Dst: cairo_surface_set_user_data
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6096,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6107,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6112,1
    - Dst: cairo_surface_set_fallback_resolution
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6119,1
    - Dst: csi_number_get_value
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6122,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6129,1
    - Dst: csi_dictionary_has
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6133,1
    - Dst: cairo_paint
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6146,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6156,1
    - Dst: csi_dictionary_has
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6159,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6164,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6150,1
    - Dst: csi_number_get_value
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6169,1
    - Dst: csi_number_get_value
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6192,1
    - Dst: push
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6203,1
    - Dst: pop
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6202,1
    - Dst: csi_number_get_value
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6120,1
    - Dst: _csi_ostack_get_dictionary
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6054,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6055,1
    - Dst: _csi_dictionary_get_number
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6061,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6062,1
    - Dst: _csi_dictionary_get_integer
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6071,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6072,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6076,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6084,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6085,1
    - Dst: _csi_error
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6093,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6184,1
    - Dst: csi_dictionary_get
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6111,1
    - Dst: csi_dictionary_get
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6160,1
    - Dst: csi_dictionary_has
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6182,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6106,1
    - Dst: hook
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6083,1
    - Dst: assert
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6081,1
    - Dst: _csi_dictionary_get_integer
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6075,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6092,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6099,1
    - Dst: _image_load_from_dictionary
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6137,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6138,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6139,1
    - Dst: cairo_set_source_surface
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6144,1
    - Dst: cairo_destroy
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6148,1
    - Dst: _csi_unlikely
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6155,1
    - Dst: csi_number_get_value
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6194,1
    - Dst: csi_object_get_type
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6187,1
    - Dst: csi_number_get_value
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6171,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6145,1
    - Dst: cairo_surface_destroy
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6179,1
    - Dst: cairo_surface_set_device_scale
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6191,1
    - Dst: cairo_create
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6143,1
    - Dst: cairo_surface_set_device_offset
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6168,1
    - Dst: cairo_status
      Src: /src/cairo/util/cairo-script/cairo-script-operators.c:6147,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 127
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - csi_t*
    constantsTouched: []
    func_position:
      end: 6204
      start: 6038
    functionDepth: 0
    functionLinenumber: 6038
    functionLinenumberEnd: 6204
    functionName: _surface
    functionSourceFile: /src/cairo/util/cairo-script/cairo-script-operators.c
    functionUses: []
    functionsReached:
    - csi_dictionary_has
    - _csi_error
    - _csi_dictionary_get_number
    - hook
    - cairo_set_source_surface
    - cairo_surface_set_user_data
    - _csi_proxy_create
    - csi_name_new_static
    - cairo_create
    - cairo_status
    - cairo_surface_set_device_offset
    - push
    - _csi_dictionary_get_integer
    - _image_load_from_dictionary
    - csi_number_get_value
    - csi_dictionary_get
    - assert
    - cairo_surface_set_device_scale
    - cairo_destroy
    - cairo_paint
    - csi_object_get_type
    - cairo_surface_set_fallback_resolution
    - _csi_unlikely
    - pop
    - cairo_surface_destroy
    - _csi_ostack_get_dictionary
    - check
    - _csi_proxy_destroy
    linkageType: ''
    returnType: csi_status_t
    signature: 'static csi_status_t _surface (csi_t *ctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: bfd_openr
      Src: /src/cairo/util/cairo-trace/lookup-symbol.c:98,1
    - Dst: bfd_read_minisymbols
      Src: /src/cairo/util/cairo-trace/lookup-symbol.c:108,1
    - Dst: bfd_check_format
      Src: /src/cairo/util/cairo-trace/lookup-symbol.c:102,1
    - Dst: bfd_check_format_matches
      Src: /src/cairo/util/cairo-trace/lookup-symbol.c:105,1
    - Dst: bfd_read_minisymbols
      Src: /src/cairo/util/cairo-trace/lookup-symbol.c:110,1
    - Dst: bfd_get_file_flags
      Src: /src/cairo/util/cairo-trace/lookup-symbol.c:116,1
    - Dst: _symtab_fini
      Src: /src/cairo/util/cairo-trace/lookup-symbol.c:122,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 20
    argCount: 2
    argNames:
    - symtab
    - filename
    argTypes:
    - struct symtab*
    - char*
    constantsTouched: []
    func_position:
      end: 124
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 124
    functionName: _symtab_init
    functionSourceFile: /src/cairo/util/cairo-trace/lookup-symbol.c
    functionUses: []
    functionsReached:
    - bfd_get_file_flags
    - bfd_check_format_matches
    - bfd_openr
    - _symtab_fini
    - bfd_check_format
    - bfd_read_minisymbols
    linkageType: ''
    returnType: int
    signature: 'static int _symtab_init (struct symtab *symtab, const char *filename) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - symbol
    argTypes:
    - struct symbol*
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: _symbol_fini
    functionSourceFile: /src/cairo/util/cairo-trace/lookup-symbol.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _symbol_fini (struct symbol *symbol) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 3
    argNames:
    - info
    - size
    - data
    argTypes:
    - struct dl_phdr_info*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 241
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 241
    functionName: find_matching_file
    functionSourceFile: /src/cairo/util/cairo-trace/lookup-symbol.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int find_matching_file (struct dl_phdr_info *info, size_t size,
      void *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/util/cairo-trace/lookup-symbol.c:82,1
    - Dst: bfd_close
      Src: /src/cairo/util/cairo-trace/lookup-symbol.c:84,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - symtab
    argTypes:
    - struct symtab*
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: _symtab_fini
    functionSourceFile: /src/cairo/util/cairo-trace/lookup-symbol.c
    functionUses: []
    functionsReached:
    - free
    - bfd_close
    linkageType: ''
    returnType: void
    signature: 'static void _symtab_fini (struct symtab *symtab) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - symbol
    - symtab
    - addr
    argTypes:
    - struct symbol*
    - struct symtab*
    - bfd_vma
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: _symbol_init
    functionSourceFile: /src/cairo/util/cairo-trace/lookup-symbol.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _symbol_init (struct symbol *symbol, struct symtab *symtab,
      bfd_vma addr) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cairo/util/cairo-trace/lookup-symbol.c:189,1
    - Dst: snprintf
      Src: /src/cairo/util/cairo-trace/lookup-symbol.c:204,1
    - Dst: snprintf
      Src: /src/cairo/util/cairo-trace/lookup-symbol.c:201,1
    - Dst: readlink
      Src: /src/cairo/util/cairo-trace/lookup-symbol.c:190,1
    - Dst: strrchr
      Src: /src/cairo/util/cairo-trace/lookup-symbol.c:196,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 4
    argNames:
    - symbol
    - buf
    - buflen
    - filename
    argTypes:
    - struct symbol*
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 206
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 206
    functionName: _symbol_print
    functionSourceFile: /src/cairo/util/cairo-trace/lookup-symbol.c
    functionUses: []
    functionsReached:
    - snprintf
    - strrchr
    - strcmp
    - readlink
    linkageType: ''
    returnType: void
    signature: 'static void _symbol_print (struct symbol *symbol, char *buf, int buflen,
      const char *filename) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/cairo/util/cairo-trace/lookup-symbol.c:265,1
    - Dst: dl_iterate_phdr
      Src: /src/cairo/util/cairo-trace/lookup-symbol.c:289,1
    - Dst: pthread_mutex_unlock
      Src: /src/cairo/util/cairo-trace/lookup-symbol.c:281,1
    - Dst: pthread_mutex_unlock
      Src: /src/cairo/util/cairo-trace/lookup-symbol.c:285,1
    - Dst: snprintf
      Src: /src/cairo/util/cairo-trace/lookup-symbol.c:291,1
    - Dst: _symtab_init
      Src: /src/cairo/util/cairo-trace/lookup-symbol.c:298,1
    - Dst: _symbol_init
      Src: /src/cairo/util/cairo-trace/lookup-symbol.c:299,1
    - Dst: bfd_map_over_sections
      Src: /src/cairo/util/cairo-trace/lookup-symbol.c:300,1
    - Dst: _symbol_print
      Src: /src/cairo/util/cairo-trace/lookup-symbol.c:302,1
    - Dst: _symbol_fini
      Src: /src/cairo/util/cairo-trace/lookup-symbol.c:303,1
    - Dst: _symtab_fini
      Src: /src/cairo/util/cairo-trace/lookup-symbol.c:305,1
    - Dst: strlen
      Src: /src/cairo/util/cairo-trace/lookup-symbol.c:309,1
    - Dst: memcpy
      Src: /src/cairo/util/cairo-trace/lookup-symbol.c:313,1
    - Dst: pthread_mutex_lock
      Src: /src/cairo/util/cairo-trace/lookup-symbol.c:315,1
    - Dst: pthread_mutex_unlock
      Src: /src/cairo/util/cairo-trace/lookup-symbol.c:321,1
    - Dst: malloc
      Src: /src/cairo/util/cairo-trace/lookup-symbol.c:310,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 325
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 325
    functionName: lookup_symbol
    functionSourceFile: /src/cairo/util/cairo-trace/lookup-symbol.c
    functionUses: []
    functionsReached:
    - malloc
    - memcpy
    - strlen
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - _symtab_fini
    - _symtab_init
    - dl_iterate_phdr
    - _symbol_fini
    - bfd_map_over_sections
    - _symbol_print
    - snprintf
    - _symbol_init
    linkageType: ''
    returnType: char*
    signature: 'char *lookup_symbol (char *buf, int buflen, const void *ptr) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bfd_section_flags
      Src: /src/cairo/util/cairo-trace/lookup-symbol.c:142,1
    - Dst: bfd_find_nearest_line
      Src: /src/cairo/util/cairo-trace/lookup-symbol.c:153,1
    - Dst: bfd_section_size
      Src: /src/cairo/util/cairo-trace/lookup-symbol.c:149,1
    - Dst: bfd_section_vma
      Src: /src/cairo/util/cairo-trace/lookup-symbol.c:145,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 3
    argNames:
    - abfd
    - section
    - data
    argTypes:
    - bfd*
    - asection*
    - void*
    constantsTouched: []
    func_position:
      end: 159
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 159
    functionName: find_address_in_section
    functionSourceFile: /src/cairo/util/cairo-trace/lookup-symbol.c
    functionUses: []
    functionsReached:
    - bfd_section_flags
    - bfd_find_nearest_line
    - bfd_section_vma
    - bfd_section_size
    linkageType: ''
    returnType: void
    signature: "static void find_address_in_section (bfd *abfd,\t\t\t asection *section,\t\
      \t\t void *data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 375
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 375
    functionName: _get_type
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Type*
    signature: 'static Type *_get_type (enum operand_type type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _pop_operands_to_object
      Src: /src/cairo/util/cairo-trace/trace.c:1063,1
    - Dst: _get_object
      Src: /src/cairo/util/cairo-trace/trace.c:1063,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - t
    - ptr
    argTypes:
    - enum operand_type
    - void*
    constantsTouched: []
    func_position:
      end: 1064
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1064
    functionName: _pop_operands_to
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _pop_operands_to_object
    - _get_object
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _pop_operands_to (enum operand_type t, const void
      *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _get_id
      Src: /src/cairo/util/cairo-trace/trace.c:1324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1325
      start: 1321
    functionDepth: 0
    functionLinenumber: 1321
    functionLinenumberEnd: 1325
    functionName: _get_surface_id
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _get_id
    linkageType: ''
    returnType: long
    signature: 'static long _get_surface_id (cairo_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2041,1
    - Dst: _emit_cairo_op
      Src: /src/cairo/util/cairo-trace/trace.c:2043,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:2042,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2044,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2045,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 2046
      start: 2038
    functionDepth: 0
    functionLinenumber: 2038
    functionLinenumberEnd: 2046
    functionName: cairo_save
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_cairo_op
    - _exit_trace
    - _emit_line_info
    - DLCALL
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_save (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2665,1
    - Dst: _emit_cairo_op
      Src: /src/cairo/util/cairo-trace/trace.c:2666,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2667,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2668,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 7
    argNames:
    - cr
    - x1
    - y1
    - x2
    - y2
    - x3
    - y3
    argTypes:
    - cairo_t*
    - double
    - double
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 2669
      start: 2662
    functionDepth: 0
    functionLinenumber: 2662
    functionLinenumberEnd: 2669
    functionName: cairo_curve_to
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _exit_trace
    - _emit_cairo_op
    - _enter_trace
    - DLCALL
    linkageType: ''
    returnType: void
    signature: 'void cairo_curve_to (cairo_t *cr, double x1, double y1, double x2,
      double y2, double x3, double y3) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2974,1
    - Dst: _emit_cairo_op
      Src: /src/cairo/util/cairo-trace/trace.c:2979,1
    - Dst: _create_font_face_id
      Src: /src/cairo/util/cairo-trace/trace.c:2977,1
    - Dst: _push_operand
      Src: /src/cairo/util/cairo-trace/trace.c:2980,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2976,1
    - Dst: dump_stack
      Src: /src/cairo/util/cairo-trace/trace.c:2981,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2983,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2985
      start: 2968
    functionDepth: 0
    functionLinenumber: 2968
    functionLinenumberEnd: 2985
    functionName: cairo_get_font_face
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_cairo_op
    - _push_operand
    - _create_font_face_id
    - _exit_trace
    - dump_stack
    - DLCALL
    - _enter_trace
    linkageType: ''
    returnType: cairo_font_face_t*
    signature: 'cairo_font_face_t *cairo_get_font_face (cairo_t *cr) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3639,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3659,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:3675,1
    - Dst: _emit_image
      Src: /src/cairo/util/cairo-trace/trace.c:3667,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3678,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:3661,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:3644,1
    - Dst: _create_pattern_id
      Src: /src/cairo/util/cairo-trace/trace.c:3645,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:3663,1
    - Dst: _get_object
      Src: /src/cairo/util/cairo-trace/trace.c:3673,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:3665,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3669,1
    - Dst: dump_stack
      Src: /src/cairo/util/cairo-trace/trace.c:3674,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:3643,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:3641,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:3662,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:3664,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:3668,1
    - Dst: _push_operand
      Src: /src/cairo/util/cairo-trace/trace.c:3672,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3680
      start: 3634
    functionDepth: 0
    functionLinenumber: 3634
    functionLinenumberEnd: 3680
    functionName: cairo_pattern_create_raster_source
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _trace_printf
    - _push_operand
    - _exit_trace
    - dump_stack
    - _write_unlock
    - _emit_line_info
    - DLCALL
    - _get_object
    - _create_pattern_id
    - _write_lock
    - _enter_trace
    - _emit_image
    linkageType: ''
    returnType: cairo_pattern_t*
    signature: 'cairo_pattern_t *cairo_pattern_create_raster_source (void *data, cairo_content_t
      content, int width, int height) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3806,1
    - Dst: _get_object
      Src: /src/cairo/util/cairo-trace/trace.c:3811,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:3808,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:3809,1
    - Dst: _get_object
      Src: /src/cairo/util/cairo-trace/trace.c:3810,1
    - Dst: _pop_operands_to_depth
      Src: /src/cairo/util/cairo-trace/trace.c:3814,1
    - Dst: _emit_surface
      Src: /src/cairo/util/cairo-trace/trace.c:3815,1
    - Dst: _emit_surface
      Src: /src/cairo/util/cairo-trace/trace.c:3816,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3819,1
    - Dst: _consume_operand
      Src: /src/cairo/util/cairo-trace/trace.c:3820,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3826,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:3824,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:3821,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - surface
    - image
    argTypes:
    - cairo_surface_t*
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 3827
      start: 3802
    functionDepth: 0
    functionLinenumber: 3802
    functionLinenumberEnd: 3827
    functionName: cairo_surface_unmap_image
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _trace_printf
    - _emit_surface
    - _exit_trace
    - _pop_operands_to_depth
    - _consume_operand
    - _write_unlock
    - _emit_line_info
    - DLCALL
    - _get_object
    - _write_lock
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: "void cairo_surface_unmap_image (cairo_surface_t *surface,\t\t\t cairo_surface_t\
      \ *image) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/util/cairo-trace/trace.c:383,1
    - Dst: _object_destroy
      Src: /src/cairo/util/cairo-trace/trace.c:387,1
    - Dst: free
      Src: /src/cairo/util/cairo-trace/trace.c:400,1
    - Dst: free
      Src: /src/cairo/util/cairo-trace/trace.c:395,1
    - Dst: pthread_mutex_destroy
      Src: /src/cairo/util/cairo-trace/trace.c:399,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 1
    argNames:
    - t
    argTypes:
    - Type*
    constantsTouched: []
    func_position:
      end: 401
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 401
    functionName: _type_destroy
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _object_destroy
    - free
    - ARRAY_LENGTH
    - pthread_mutex_destroy
    linkageType: ''
    returnType: void
    signature: 'static void _type_destroy (Type *t) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - obj
    - depth
    argTypes:
    - Object*
    - int
    constantsTouched: []
    func_position:
      end: 1072
      start: 1066
    functionDepth: 0
    functionLinenumber: 1066
    functionLinenumberEnd: 1072
    functionName: _is_current_object
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _is_current_object (Object *obj, int depth) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - m
    argTypes:
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 1333
      start: 1327
    functionDepth: 0
    functionLinenumber: 1327
    functionLinenumberEnd: 1333
    functionName: _matrix_is_identity
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _matrix_is_identity (const cairo_matrix_t *m) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2051,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:2052,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2054,1
    - Dst: _emit_cairo_op
      Src: /src/cairo/util/cairo-trace/trace.c:2053,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2055,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 2056
      start: 2048
    functionDepth: 0
    functionLinenumber: 2048
    functionLinenumberEnd: 2056
    functionName: cairo_restore
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_cairo_op
    - _exit_trace
    - _emit_line_info
    - DLCALL
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_restore (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2674,1
    - Dst: _emit_cairo_op
      Src: /src/cairo/util/cairo-trace/trace.c:2675,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2677,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2676,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 6
    argNames:
    - cr
    - xc
    - yc
    - radius
    - angle1
    - angle2
    argTypes:
    - cairo_t*
    - double
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 2678
      start: 2671
    functionDepth: 0
    functionLinenumber: 2671
    functionLinenumberEnd: 2678
    functionName: cairo_arc
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _exit_trace
    - _emit_cairo_op
    - _enter_trace
    - DLCALL
    linkageType: ''
    returnType: void
    signature: 'void cairo_arc (cairo_t *cr, double xc, double yc, double radius,
      double angle1, double angle2) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2990,1
    - Dst: _is_current
      Src: /src/cairo/util/cairo-trace/trace.c:2994,1
    - Dst: _is_current
      Src: /src/cairo/util/cairo-trace/trace.c:2993,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:2991,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:2992,1
    - Dst: _consume_operand
      Src: /src/cairo/util/cairo-trace/trace.c:2996,1
    - Dst: _is_current
      Src: /src/cairo/util/cairo-trace/trace.c:2998,1
    - Dst: _is_current
      Src: /src/cairo/util/cairo-trace/trace.c:2999,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3001,1
    - Dst: _exch_operands
      Src: /src/cairo/util/cairo-trace/trace.c:3002,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3011,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:3012,1
    - Dst: _emit_context
      Src: /src/cairo/util/cairo-trace/trace.c:3007,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3016,1
    - Dst: _emit_font_face_id
      Src: /src/cairo/util/cairo-trace/trace.c:3008,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:3015,1
    - Dst: _consume_operand
      Src: /src/cairo/util/cairo-trace/trace.c:3003,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - cr
    - font_face
    argTypes:
    - cairo_t*
    - cairo_font_face_t*
    constantsTouched: []
    func_position:
      end: 3017
      start: 2987
    functionDepth: 0
    functionLinenumber: 2987
    functionLinenumberEnd: 3017
    functionName: cairo_set_font_face
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_context
    - _trace_printf
    - DLCALL
    - _exit_trace
    - _consume_operand
    - _write_unlock
    - _emit_line_info
    - _is_current
    - _exch_operands
    - _emit_font_face_id
    - _write_lock
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_set_font_face (cairo_t *cr, cairo_font_face_t *font_face) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3689,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:3694,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:3691,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:3693,1
    - Dst: _get_object
      Src: /src/cairo/util/cairo-trace/trace.c:3695,1
    - Dst: _create_surface
      Src: /src/cairo/util/cairo-trace/trace.c:3696,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3700,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3702,1
    - Dst: assert
      Src: /src/cairo/util/cairo-trace/trace.c:3705,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3706,1
    - Dst: _content_to_string
      Src: /src/cairo/util/cairo-trace/trace.c:3711,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:3720,1
    - Dst: _push_object
      Src: /src/cairo/util/cairo-trace/trace.c:3718,1
    - Dst: dump_stack
      Src: /src/cairo/util/cairo-trace/trace.c:3719,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3723,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3709,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3725
      start: 3682
    functionDepth: 0
    functionLinenumber: 3682
    functionLinenumberEnd: 3725
    functionName: cairo_surface_create_similar
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _trace_printf
    - _create_surface
    - _content_to_string
    - assert
    - _exit_trace
    - dump_stack
    - _write_unlock
    - _emit_line_info
    - DLCALL
    - _get_object
    - _push_object
    - _write_lock
    - _enter_trace
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *cairo_surface_create_similar (cairo_surface_t *other,\t\
      \t\t cairo_content_t content,\t\t\t int width, int height) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3836,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:3838,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:3841,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:3840,1
    - Dst: _get_object
      Src: /src/cairo/util/cairo-trace/trace.c:3842,1
    - Dst: _create_surface
      Src: /src/cairo/util/cairo-trace/trace.c:3843,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3846,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3848,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3850,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3851,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:3857,1
    - Dst: dump_stack
      Src: /src/cairo/util/cairo-trace/trace.c:3856,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3860,1
    - Dst: _push_object
      Src: /src/cairo/util/cairo-trace/trace.c:3855,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3862
      start: 3829
    functionDepth: 0
    functionLinenumber: 3829
    functionLinenumberEnd: 3862
    functionName: cairo_surface_create_for_rectangle
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _trace_printf
    - _create_surface
    - _exit_trace
    - dump_stack
    - _write_unlock
    - _emit_line_info
    - DLCALL
    - _get_object
    - _push_object
    - _write_lock
    - _enter_trace
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'cairo_surface_t *cairo_surface_create_for_rectangle (cairo_surface_t
      *target, double x, double y, double width, double height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3999,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4003,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:4000,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:4002,1
    - Dst: _emit_surface_op
      Src: /src/cairo/util/cairo-trace/trace.c:4001,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 4004
      start: 3996
    functionDepth: 0
    functionLinenumber: 3996
    functionLinenumberEnd: 4004
    functionName: cairo_surface_show_page
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_surface_op
    - _exit_trace
    - _emit_line_info
    - DLCALL
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_surface_show_page (cairo_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _content_to_string
      Src: /src/cairo/util/cairo-trace/trace.c:4924,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:4924,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4925
      start: 4921
    functionDepth: 0
    functionLinenumber: 4921
    functionLinenumberEnd: 4925
    functionName: _content_from_surface
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _content_to_string
    - DLCALL
    linkageType: ''
    returnType: char*
    signature: 'static const char *_content_from_surface (cairo_surface_t *surface) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _should_trace
      Src: /src/cairo/util/cairo-trace/trace.c:875,1
    - Dst: _init_logfile
      Src: /src/cairo/util/cairo-trace/trace.c:878,1
    - Dst: flockfile
      Src: /src/cairo/util/cairo-trace/trace.c:882,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 885
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 885
    functionName: _write_lock
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _should_trace
    - flockfile
    - _init_logfile
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _write_lock (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:940,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:945,1
    - Dst: fflush
      Src: /src/cairo/util/cairo-trace/trace.c:941,1
    - Dst: assert
      Src: /src/cairo/util/cairo-trace/trace.c:944,1
    - Dst: fflush
      Src: /src/cairo/util/cairo-trace/trace.c:948,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:950,1
    - Dst: fflush
      Src: /src/cairo/util/cairo-trace/trace.c:951,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - func
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 953
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 953
    functionName: dump_stack
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _trace_printf
    - fflush
    - assert
    linkageType: ''
    returnType: void
    signature: 'static void dump_stack(const char *func) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:1145,1
    - Dst: _object_destroy
      Src: /src/cairo/util/cairo-trace/trace.c:1156,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:1149,1
    - Dst: _object_remove
      Src: /src/cairo/util/cairo-trace/trace.c:1146,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:1153,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1157
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1157
    functionName: _object_undef
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _trace_printf
    - _write_unlock
    - _object_destroy
    - _write_lock
    - _object_remove
    linkageType: ''
    returnType: void
    signature: 'static void _object_undef (void *ptr) '
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: CAIRO_VERSION_ENCODE
      Src: /src/cairo/util/cairo-trace/trace.c:1651,1
    - Dst: va_end
      Src: /src/cairo/util/cairo-trace/trace.c:1648,1
    - Dst: _write_data_start
      Src: /src/cairo/util/cairo-trace/trace.c:1693,1
    - Dst: _write_data
      Src: /src/cairo/util/cairo-trace/trace.c:1738,1
    - Dst: bswap_16
      Src: /src/cairo/util/cairo-trace/trace.c:1754,1
    - Dst: _write_data_end
      Src: /src/cairo/util/cairo-trace/trace.c:1795,1
    - Dst: CAIRO_BITSWAP8
      Src: /src/cairo/util/cairo-trace/trace.c:1737,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:1631,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:1633,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:1635,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:1637,1
    - Dst: _format_to_string
      Src: /src/cairo/util/cairo-trace/trace.c:1642,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:1666,1
    - Dst: _write_base85_data_start
      Src: /src/cairo/util/cairo-trace/trace.c:1669,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:1672,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:1692,1
    - Dst: malloc
      Src: /src/cairo/util/cairo-trace/trace.c:1726,1
    - Dst: _write_data
      Src: /src/cairo/util/cairo-trace/trace.c:1755,1
    - Dst: bswap_32
      Src: /src/cairo/util/cairo-trace/trace.c:1782,1
    - Dst: _emit_image
      Src: /src/cairo/util/cairo-trace/trace.c:1611,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:1624,1
    - Dst: _status_to_string
      Src: /src/cairo/util/cairo-trace/trace.c:1627,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:1663,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:1651,1
    - Dst: _trace_vprintf
      Src: /src/cairo/util/cairo-trace/trace.c:1647,1
    - Dst: _write_base85_data_end
      Src: /src/cairo/util/cairo-trace/trace.c:1671,1
    - Dst: _write_data
      Src: /src/cairo/util/cairo-trace/trace.c:1702,1
    - Dst: _write_data
      Src: /src/cairo/util/cairo-trace/trace.c:1716,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/util/cairo-trace/trace.c:1725,1
    - Dst: free
      Src: /src/cairo/util/cairo-trace/trace.c:1792,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:1626,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:1632,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:1634,1
    - Dst: va_start
      Src: /src/cairo/util/cairo-trace/trace.c:1646,1
    - Dst: _write_base85_data
      Src: /src/cairo/util/cairo-trace/trace.c:1670,1
    - Dst: _write_data
      Src: /src/cairo/util/cairo-trace/trace.c:1744,1
    - Dst: _write_data
      Src: /src/cairo/util/cairo-trace/trace.c:1769,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:1797,1
    - Dst: _write_data
      Src: /src/cairo/util/cairo-trace/trace.c:1783,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 133
    argCount: 0
    argNames:
    - 2, 3
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1798
      start: 1610
    functionDepth: 0
    functionLinenumber: 1610
    functionLinenumberEnd: 1798
    functionName: CAIRO_PRINTF_FORMAT
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - bswap_16
    - CAIRO_VERSION_ENCODE
    - va_end
    - bswap_32
    - _write_base85_data
    - CAIRO_BITSWAP8
    - _write_base85_data_end
    - _emit_image
    - _trace_vprintf
    - _status_to_string
    - ARRAY_LENGTH
    - _format_to_string
    - _write_data
    - _write_base85_data_start
    - DLCALL
    - va_start
    - malloc
    - _trace_printf
    - free
    - _write_data_start
    - _write_data_end
    linkageType: ''
    returnType: void
    signature: "static void CAIRO_PRINTF_FORMAT(2, 3)_emit_image (cairo_surface_t\
      \ *image,\t const char *info,\t ...) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2555,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:2556,1
    - Dst: _emit_cairo_op
      Src: /src/cairo/util/cairo-trace/trace.c:2558,1
    - Dst: _matrix_is_identity
      Src: /src/cairo/util/cairo-trace/trace.c:2557,1
    - Dst: _emit_cairo_op
      Src: /src/cairo/util/cairo-trace/trace.c:2560,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2565,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2566,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - cr
    - matrix
    argTypes:
    - cairo_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 2567
      start: 2552
    functionDepth: 0
    functionLinenumber: 2552
    functionLinenumberEnd: 2567
    functionName: cairo_set_matrix
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_cairo_op
    - _matrix_is_identity
    - _exit_trace
    - _emit_line_info
    - DLCALL
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_set_matrix (cairo_t *cr, const cairo_matrix_t *matrix) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2858,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:2859,1
    - Dst: _emit_cairo_op
      Src: /src/cairo/util/cairo-trace/trace.c:2860,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2861,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2862,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 2863
      start: 2855
    functionDepth: 0
    functionLinenumber: 2855
    functionLinenumberEnd: 2863
    functionName: cairo_fill
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_cairo_op
    - _exit_trace
    - _emit_line_info
    - DLCALL
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_fill (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:3077,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:3078,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:3079,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3083
      start: 3072
    functionDepth: 0
    functionLinenumber: 3072
    functionLinenumberEnd: 3083
    functionName: _hint_metrics_to_string
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - f
    linkageType: ''
    returnType: char*
    signature: 'static const char *_hint_metrics_to_string (cairo_hint_metrics_t hint_metrics) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4129,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:4131,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:4135,1
    - Dst: _create_pattern_id
      Src: /src/cairo/util/cairo-trace/trace.c:4132,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:4134,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:4136,1
    - Dst: _get_object
      Src: /src/cairo/util/cairo-trace/trace.c:4138,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:4139,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4144
      start: 4123
    functionDepth: 0
    functionLinenumber: 4123
    functionLinenumberEnd: 4144
    functionName: cairo_pattern_create_rgba
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _trace_printf
    - _exit_trace
    - _write_unlock
    - _emit_line_info
    - DLCALL
    - _get_object
    - _create_pattern_id
    - _write_lock
    - _enter_trace
    linkageType: ''
    returnType: cairo_pattern_t*
    signature: 'cairo_pattern_t *cairo_pattern_create_rgba (double red, double green,
      double blue, double alpha) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cairo/util/cairo-trace/trace.c:1814,1
    - Dst: snprintf
      Src: /src/cairo/util/cairo-trace/trace.c:1864,1
    - Dst: _cairo_isprint
      Src: /src/cairo/util/cairo-trace/trace.c:1855,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 46
    argCount: 4
    argNames:
    - out
    - max
    - utf8
    - len
    argTypes:
    - char*
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1874
      start: 1800
    functionDepth: 0
    functionLinenumber: 1800
    functionLinenumberEnd: 1874
    functionName: _encode_string_literal
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - snprintf
    - _cairo_isprint
    - strlen
    linkageType: ''
    returnType: void
    signature: "static void _encode_string_literal (char *out, int max,\t\t\tconst\
      \ char *utf8, int len) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: funlockfile
      Src: /src/cairo/util/cairo-trace/trace.c:894,1
    - Dst: fflush
      Src: /src/cairo/util/cairo-trace/trace.c:898,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 899
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 899
    functionName: _write_unlock
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - funlockfile
    - fflush
    linkageType: ''
    returnType: void
    signature: 'static void _write_unlock (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cairo/util/cairo-trace/trace.c:961,1
    - Dst: fprintf
      Src: /src/cairo/util/cairo-trace/trace.c:965,1
    - Dst: abort
      Src: /src/cairo/util/cairo-trace/trace.c:969,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - num_operands
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 971
      start: 955
    functionDepth: 0
    functionLinenumber: 955
    functionLinenumberEnd: 971
    functionName: ensure_operands
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - abort
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'static void ensure_operands (int num_operands) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _get_object
      Src: /src/cairo/util/cairo-trace/trace.c:1164,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:1167,1
    - Dst: _type_object_create
      Src: /src/cairo/util/cairo-trace/trace.c:1166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 1172
      start: 1159
    functionDepth: 0
    functionLinenumber: 1159
    functionLinenumberEnd: 1172
    functionName: _create_context_id
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _get_object
    - DLCALL
    - _type_object_create
    linkageType: ''
    returnType: long
    signature: 'static long _create_context_id (cairo_t *cr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2574,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2588,1
    - Dst: _emit_cairo_op
      Src: /src/cairo/util/cairo-trace/trace.c:2581,1
    - Dst: _create_surface
      Src: /src/cairo/util/cairo-trace/trace.c:2578,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2576,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2590
      start: 2569
    functionDepth: 0
    functionLinenumber: 2569
    functionLinenumberEnd: 2590
    functionName: cairo_get_target
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_cairo_op
    - _create_surface
    - _exit_trace
    - DLCALL
    - _enter_trace
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'cairo_surface_t *cairo_get_target (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2868,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2872,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:2869,1
    - Dst: _emit_cairo_op
      Src: /src/cairo/util/cairo-trace/trace.c:2870,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2871,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 2873
      start: 2865
    functionDepth: 0
    functionLinenumber: 2865
    functionLinenumberEnd: 2873
    functionName: cairo_fill_preserve
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_cairo_op
    - _exit_trace
    - _emit_line_info
    - DLCALL
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_fill_preserve (cairo_t *cr) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3093,1
    - Dst: _antialias_to_string
      Src: /src/cairo/util/cairo-trace/trace.c:3098,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3097,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:3095,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:3101,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3103,1
    - Dst: _subpixel_order_to_string
      Src: /src/cairo/util/cairo-trace/trace.c:3104,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:3107,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3109,1
    - Dst: _hint_style_to_string
      Src: /src/cairo/util/cairo-trace/trace.c:3110,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3119,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:3113,1
    - Dst: _hint_metrics_to_string
      Src: /src/cairo/util/cairo-trace/trace.c:3116,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3115,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - options
    argTypes:
    - cairo_font_options_t*
    constantsTouched: []
    func_position:
      end: 3120
      start: 3085
    functionDepth: 0
    functionLinenumber: 3085
    functionLinenumberEnd: 3120
    functionName: _emit_font_options
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _trace_printf
    - _antialias_to_string
    - _hint_style_to_string
    - _subpixel_order_to_string
    - _hint_metrics_to_string
    - DLCALL
    linkageType: ''
    returnType: void
    signature: 'static void _emit_font_options (const cairo_font_options_t *options) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4153,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:4159,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:4158,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:4155,1
    - Dst: _create_pattern_id
      Src: /src/cairo/util/cairo-trace/trace.c:4156,1
    - Dst: _get_surface_id
      Src: /src/cairo/util/cairo-trace/trace.c:4160,1
    - Dst: _pop_operands_to
      Src: /src/cairo/util/cairo-trace/trace.c:4162,1
    - Dst: _consume_operand
      Src: /src/cairo/util/cairo-trace/trace.c:4163,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:4165,1
    - Dst: _get_object
      Src: /src/cairo/util/cairo-trace/trace.c:4168,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:4171,1
    - Dst: _push_operand
      Src: /src/cairo/util/cairo-trace/trace.c:4172,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:4174,1
    - Dst: _emit_source_image
      Src: /src/cairo/util/cairo-trace/trace.c:4169,1
    - Dst: dump_stack
      Src: /src/cairo/util/cairo-trace/trace.c:4173,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4177,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4179
      start: 4146
    functionDepth: 0
    functionLinenumber: 4146
    functionLinenumberEnd: 4179
    functionName: cairo_pattern_create_for_surface
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _trace_printf
    - _pop_operands_to
    - _push_operand
    - _exit_trace
    - dump_stack
    - _consume_operand
    - _write_unlock
    - _emit_line_info
    - DLCALL
    - _get_object
    - _create_pattern_id
    - _emit_source_image
    - _get_surface_id
    - _write_lock
    - _enter_trace
    linkageType: ''
    returnType: cairo_pattern_t*
    signature: 'cairo_pattern_t *cairo_pattern_create_for_surface (cairo_surface_t
      *surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4211,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:4219,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:4213,1
    - Dst: _create_pattern_id
      Src: /src/cairo/util/cairo-trace/trace.c:4216,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:4218,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:4220,1
    - Dst: _push_operand
      Src: /src/cairo/util/cairo-trace/trace.c:4223,1
    - Dst: dump_stack
      Src: /src/cairo/util/cairo-trace/trace.c:4224,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:4225,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4228,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4230
      start: 4205
    functionDepth: 0
    functionLinenumber: 4205
    functionLinenumberEnd: 4230
    functionName: cairo_pattern_create_radial
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _trace_printf
    - _push_operand
    - _exit_trace
    - dump_stack
    - _write_unlock
    - _emit_line_info
    - DLCALL
    - _create_pattern_id
    - _write_lock
    - _enter_trace
    linkageType: ''
    returnType: cairo_pattern_t*
    signature: 'cairo_pattern_t *cairo_pattern_create_radial (double cx0, double cy0,
      double radius0, double cx1, double cy1, double radius1) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:4279,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:4280,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:4281,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:4283,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:4282,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:4284,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4288
      start: 4274
    functionDepth: 0
    functionLinenumber: 4274
    functionLinenumberEnd: 4288
    functionName: _filter_to_string
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - f
    linkageType: ''
    returnType: char*
    signature: 'static const char *_filter_to_string (cairo_filter_t filter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_getspecific
      Src: /src/cairo/util/cairo-trace/trace.c:456,1
    - Dst: calloc
      Src: /src/cairo/util/cairo-trace/trace.c:458,1
    - Dst: pthread_setspecific
      Src: /src/cairo/util/cairo-trace/trace.c:459,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 462
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 462
    functionName: _get_counter
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - calloc
    - pthread_getspecific
    - pthread_setspecific
    linkageType: ''
    returnType: int*
    signature: 'static int *_get_counter (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deflateInit
      Src: /src/cairo/util/cairo-trace/trace.c:1351,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - stream
    argTypes:
    - struct _data_stream*
    constantsTouched: []
    func_position:
      end: 1357
      start: 1344
    functionDepth: 0
    functionLinenumber: 1344
    functionLinenumberEnd: 1357
    functionName: _write_zlib_data_start
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - deflateInit
    linkageType: ''
    returnType: void
    signature: 'static void _write_zlib_data_start (struct _data_stream *stream) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _get_object
      Src: /src/cairo/util/cairo-trace/trace.c:2223,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2232,1
    - Dst: _emit_source_image
      Src: /src/cairo/util/cairo-trace/trace.c:2228,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2236,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2237,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2238,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2239,1
    - Dst: _emit_image
      Src: /src/cairo/util/cairo-trace/trace.c:2241,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:2242,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2244,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 5
    argNames:
    - surface
    - x
    - y
    - width
    - height
    argTypes:
    - cairo_surface_t*
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2245
      start: 2214
    functionDepth: 0
    functionLinenumber: 2214
    functionLinenumberEnd: 2245
    functionName: _emit_source_image_rectangle
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _trace_printf
    - DLCALL
    - _get_object
    - _emit_source_image
    - _emit_image
    linkageType: ''
    returnType: void
    signature: "static void _emit_source_image_rectangle (cairo_surface_t *surface,\t\
      \t\t int x, int y,\t\t\t int width, int height) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2628,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:2629,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2631,1
    - Dst: _emit_cairo_op
      Src: /src/cairo/util/cairo-trace/trace.c:2630,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2632,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 2633
      start: 2625
    functionDepth: 0
    functionLinenumber: 2625
    functionLinenumberEnd: 2633
    functionName: cairo_new_path
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_cairo_op
    - _exit_trace
    - _emit_line_info
    - DLCALL
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_new_path (cairo_t *cr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3125,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:3126,1
    - Dst: _emit_font_options
      Src: /src/cairo/util/cairo-trace/trace.c:3129,1
    - Dst: _emit_context
      Src: /src/cairo/util/cairo-trace/trace.c:3128,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:3127,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3130,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:3131,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:3134,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3135,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - cr
    - options
    argTypes:
    - cairo_t*
    - cairo_font_options_t*
    constantsTouched: []
    func_position:
      end: 3136
      start: 3122
    functionDepth: 0
    functionLinenumber: 3122
    functionLinenumberEnd: 3136
    functionName: cairo_set_font_options
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_context
    - _trace_printf
    - _exit_trace
    - _emit_font_options
    - _write_unlock
    - _emit_line_info
    - DLCALL
    - _write_lock
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_set_font_options (cairo_t *cr, const cairo_font_options_t
      *options) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _consume_operand
      Src: /src/cairo/util/cairo-trace/trace.c:3170,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3172,1
    - Dst: _is_current
      Src: /src/cairo/util/cairo-trace/trace.c:3177,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:3197,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:3162,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:3161,1
    - Dst: _exch_operands
      Src: /src/cairo/util/cairo-trace/trace.c:3173,1
    - Dst: _exch_operands
      Src: /src/cairo/util/cairo-trace/trace.c:3182,1
    - Dst: _emit_context
      Src: /src/cairo/util/cairo-trace/trace.c:3189,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:3195,1
    - Dst: _consume_operand
      Src: /src/cairo/util/cairo-trace/trace.c:3183,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3198,1
    - Dst: _get_object
      Src: /src/cairo/util/cairo-trace/trace.c:3163,1
    - Dst: _is_current
      Src: /src/cairo/util/cairo-trace/trace.c:3167,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3193,1
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3160,1
    - Dst: _is_current
      Src: /src/cairo/util/cairo-trace/trace.c:3166,1
    - Dst: _emit_scaled_font_id
      Src: /src/cairo/util/cairo-trace/trace.c:3190,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3181,1
    - Dst: _is_current
      Src: /src/cairo/util/cairo-trace/trace.c:3178,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 2
    argNames:
    - cr
    - scaled_font
    argTypes:
    - cairo_t*
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 3199
      start: 3157
    functionDepth: 0
    functionLinenumber: 3157
    functionLinenumberEnd: 3199
    functionName: cairo_set_scaled_font
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_context
    - _trace_printf
    - DLCALL
    - _exch_operands
    - _exit_trace
    - _consume_operand
    - _write_unlock
    - _emit_scaled_font_id
    - _emit_line_info
    - _is_current
    - _get_object
    - _write_lock
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_set_scaled_font (cairo_t *cr, const cairo_scaled_font_t
      *scaled_font) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:5196,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:5201,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:5198,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:5200,1
    - Dst: _create_surface
      Src: /src/cairo/util/cairo-trace/trace.c:5202,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:5204,1
    - Dst: _content_to_string
      Src: /src/cairo/util/cairo-trace/trace.c:5210,1
    - Dst: _push_object
      Src: /src/cairo/util/cairo-trace/trace.c:5214,1
    - Dst: dump_stack
      Src: /src/cairo/util/cairo-trace/trace.c:5215,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:5216,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:5219,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5221
      start: 5191
    functionDepth: 0
    functionLinenumber: 5191
    functionLinenumberEnd: 5221
    functionName: _cairo_test_mask_compositor_surface_create
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _trace_printf
    - _create_surface
    - _content_to_string
    - _exit_trace
    - dump_stack
    - _write_unlock
    - _emit_line_info
    - DLCALL
    - _push_object
    - _write_lock
    - _enter_trace
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'cairo_surface_t *_cairo_test_mask_compositor_surface_create (cairo_content_t
      content, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INIT_TRACE_ONCE
      Src: /src/cairo/util/cairo-trace/trace.c:467,1
    - Dst: _get_counter
      Src: /src/cairo/util/cairo-trace/trace.c:468,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 469
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 469
    functionName: _enter_trace
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - INIT_TRACE_ONCE
    - _get_counter
    linkageType: ''
    returnType: void
    signature: 'static void _enter_trace (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - struct _data_stream*
    constantsTouched: []
    func_position:
      end: 1363
      start: 1359
    functionDepth: 0
    functionLinenumber: 1359
    functionLinenumberEnd: 1363
    functionName: _write_base85_data_start
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _write_base85_data_start (struct _data_stream *stream) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _get_object
      Src: /src/cairo/util/cairo-trace/trace.c:2253,1
    - Dst: _is_current
      Src: /src/cairo/util/cairo-trace/trace.c:2260,1
    - Dst: _exch_operands
      Src: /src/cairo/util/cairo-trace/trace.c:2265,1
    - Dst: _emit_context
      Src: /src/cairo/util/cairo-trace/trace.c:2268,1
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2250,1
    - Dst: _is_current
      Src: /src/cairo/util/cairo-trace/trace.c:2256,1
    - Dst: _consume_operand
      Src: /src/cairo/util/cairo-trace/trace.c:2258,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:2269,1
    - Dst: _emit_source_image
      Src: /src/cairo/util/cairo-trace/trace.c:2277,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:2283,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2287,1
    - Dst: _is_current
      Src: /src/cairo/util/cairo-trace/trace.c:2255,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:2264,1
    - Dst: _emit_context
      Src: /src/cairo/util/cairo-trace/trace.c:2271,1
    - Dst: _consume_operand
      Src: /src/cairo/util/cairo-trace/trace.c:2266,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:2284,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2288,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:2251,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:2252,1
    - Dst: _is_current
      Src: /src/cairo/util/cairo-trace/trace.c:2261,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:2279,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:2281,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:2272,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 4
    argNames:
    - cr
    - surface
    - x
    - y
    argTypes:
    - cairo_t*
    - cairo_surface_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 2289
      start: 2247
    functionDepth: 0
    functionLinenumber: 2247
    functionLinenumberEnd: 2289
    functionName: cairo_set_source_surface
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_context
    - _trace_printf
    - DLCALL
    - _exch_operands
    - _exit_trace
    - _consume_operand
    - _write_unlock
    - _emit_line_info
    - _is_current
    - _get_object
    - _emit_source_image
    - _write_lock
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_set_source_surface (cairo_t *cr, cairo_surface_t *surface,
      double x, double y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2638,1
    - Dst: _emit_cairo_op
      Src: /src/cairo/util/cairo-trace/trace.c:2639,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2640,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2641,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - cr
    - x
    - y
    argTypes:
    - cairo_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 2642
      start: 2635
    functionDepth: 0
    functionLinenumber: 2635
    functionLinenumberEnd: 2642
    functionName: cairo_move_to
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _exit_trace
    - _emit_cairo_op
    - _enter_trace
    - DLCALL
    linkageType: ''
    returnType: void
    signature: 'void cairo_move_to (cairo_t *cr, double x, double y) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3143,1
    - Dst: _has_scaled_font_id
      Src: /src/cairo/util/cairo-trace/trace.c:3147,1
    - Dst: _emit_cairo_op
      Src: /src/cairo/util/cairo-trace/trace.c:3148,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:3145,1
    - Dst: _create_scaled_font_id
      Src: /src/cairo/util/cairo-trace/trace.c:3149,1
    - Dst: _get_object
      Src: /src/cairo/util/cairo-trace/trace.c:3150,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3153,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3155
      start: 3138
    functionDepth: 0
    functionLinenumber: 3138
    functionLinenumberEnd: 3155
    functionName: cairo_get_scaled_font
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_cairo_op
    - _exit_trace
    - _has_scaled_font_id
    - DLCALL
    - _get_object
    - _create_scaled_font_id
    - _enter_trace
    linkageType: ''
    returnType: cairo_scaled_font_t*
    signature: 'cairo_scaled_font_t *cairo_get_scaled_font (cairo_t *cr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _matrix_is_identity
      Src: /src/cairo/util/cairo-trace/trace.c:3204,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3206,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - m
    argTypes:
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 3215
      start: 3201
    functionDepth: 0
    functionLinenumber: 3201
    functionLinenumberEnd: 3215
    functionName: _emit_matrix
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _trace_printf
    - _matrix_is_identity
    linkageType: ''
    returnType: void
    signature: 'static void _emit_matrix (const cairo_matrix_t *m) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4761,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:4766,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:4765,1
    - Dst: _create_surface
      Src: /src/cairo/util/cairo-trace/trace.c:4767,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:4763,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:4769,1
    - Dst: _emit_string_literal
      Src: /src/cairo/util/cairo-trace/trace.c:4772,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:4773,1
    - Dst: _push_object
      Src: /src/cairo/util/cairo-trace/trace.c:4782,1
    - Dst: dump_stack
      Src: /src/cairo/util/cairo-trace/trace.c:4783,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4787,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:4784,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4789
      start: 4756
    functionDepth: 0
    functionLinenumber: 4756
    functionLinenumberEnd: 4789
    functionName: cairo_svg_surface_create
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _trace_printf
    - _create_surface
    - _emit_string_literal
    - _exit_trace
    - dump_stack
    - _write_unlock
    - _emit_line_info
    - DLCALL
    - _push_object
    - _write_lock
    - _enter_trace
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'cairo_surface_t *cairo_svg_surface_create (const char *filename, double
      width, double height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_prog_name
      Src: /src/cairo/util/cairo-trace/trace.c:780,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:782,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 783
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 783
    functionName: _emit_header
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - get_prog_name
    - _trace_printf
    linkageType: ''
    returnType: void
    signature: 'static void _emit_header (void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2759,1
    - Dst: _get_object
      Src: /src/cairo/util/cairo-trace/trace.c:2762,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:2761,1
    - Dst: _is_current
      Src: /src/cairo/util/cairo-trace/trace.c:2765,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:2760,1
    - Dst: _is_current
      Src: /src/cairo/util/cairo-trace/trace.c:2766,1
    - Dst: _consume_operand
      Src: /src/cairo/util/cairo-trace/trace.c:2769,1
    - Dst: _is_current
      Src: /src/cairo/util/cairo-trace/trace.c:2773,1
    - Dst: _is_current
      Src: /src/cairo/util/cairo-trace/trace.c:2774,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:2777,1
    - Dst: _emit_pattern_id
      Src: /src/cairo/util/cairo-trace/trace.c:2786,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2792,1
    - Dst: _exch_operands
      Src: /src/cairo/util/cairo-trace/trace.c:2778,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:2789,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2793,1
    - Dst: _consume_operand
      Src: /src/cairo/util/cairo-trace/trace.c:2779,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:2790,1
    - Dst: _emit_context
      Src: /src/cairo/util/cairo-trace/trace.c:2785,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 2
    argNames:
    - cr
    - pattern
    argTypes:
    - cairo_t*
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 2794
      start: 2756
    functionDepth: 0
    functionLinenumber: 2756
    functionLinenumberEnd: 2794
    functionName: cairo_mask
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_context
    - _trace_printf
    - DLCALL
    - _emit_pattern_id
    - _exch_operands
    - _exit_trace
    - _consume_operand
    - _write_unlock
    - _emit_line_info
    - _is_current
    - _get_object
    - _write_lock
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_mask (cairo_t *cr, cairo_pattern_t *pattern) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cairo/util/cairo-trace/trace.c:750,1
    - Dst: fopen
      Src: /src/cairo/util/cairo-trace/trace.c:754,1
    - Dst: fclose
      Src: /src/cairo/util/cairo-trace/trace.c:757,1
    - Dst: getenv
      Src: /src/cairo/util/cairo-trace/trace.c:762,1
    - Dst: fgets
      Src: /src/cairo/util/cairo-trace/trace.c:756,1
    - Dst: strncpy
      Src: /src/cairo/util/cairo-trace/trace.c:764,1
    - Dst: strrchr
      Src: /src/cairo/util/cairo-trace/trace.c:768,1
    - Dst: strlen
      Src: /src/cairo/util/cairo-trace/trace.c:770,1
    - Dst: memmove
      Src: /src/cairo/util/cairo-trace/trace.c:771,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - buf
    - length
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 773
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 773
    functionName: get_prog_name
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - fgets
    - getenv
    - strlen
    - fclose
    - strncpy
    - memmove
    - strrchr
    - fopen
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void get_prog_name (char *buf, int length) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: get_prog_name
      Src: /src/cairo/util/cairo-trace/trace.c:837,1
    - Dst: getenv
      Src: /src/cairo/util/cairo-trace/trace.c:833,1
    - Dst: fprintf
      Src: /src/cairo/util/cairo-trace/trace.c:855,1
    - Dst: strerror
      Src: /src/cairo/util/cairo-trace/trace.c:856,1
    - Dst: _emit_header
      Src: /src/cairo/util/cairo-trace/trace.c:865,1
    - Dst: getenv
      Src: /src/cairo/util/cairo-trace/trace.c:798,1
    - Dst: atoi
      Src: /src/cairo/util/cairo-trace/trace.c:800,1
    - Dst: getenv
      Src: /src/cairo/util/cairo-trace/trace.c:812,1
    - Dst: fprintf
      Src: /src/cairo/util/cairo-trace/trace.c:820,1
    - Dst: strerror
      Src: /src/cairo/util/cairo-trace/trace.c:821,1
    - Dst: getpid
      Src: /src/cairo/util/cairo-trace/trace.c:842,1
    - Dst: getenv
      Src: /src/cairo/util/cairo-trace/trace.c:829,1
    - Dst: snprintf
      Src: /src/cairo/util/cairo-trace/trace.c:841,1
    - Dst: fopen
      Src: /src/cairo/util/cairo-trace/trace.c:853,1
    - Dst: fprintf
      Src: /src/cairo/util/cairo-trace/trace.c:860,1
    - Dst: getenv
      Src: /src/cairo/util/cairo-trace/trace.c:803,1
    - Dst: atoi
      Src: /src/cairo/util/cairo-trace/trace.c:805,1
    - Dst: atoi
      Src: /src/cairo/util/cairo-trace/trace.c:814,1
    - Dst: fdopen
      Src: /src/cairo/util/cairo-trace/trace.c:818,1
    - Dst: setenv
      Src: /src/cairo/util/cairo-trace/trace.c:825,1
    - Dst: strcpy
      Src: /src/cairo/util/cairo-trace/trace.c:839,1
    - Dst: setenv
      Src: /src/cairo/util/cairo-trace/trace.c:850,1
    - Dst: atexit
      Src: /src/cairo/util/cairo-trace/trace.c:864,1
    - Dst: getenv
      Src: /src/cairo/util/cairo-trace/trace.c:808,1
    - Dst: atoi
      Src: /src/cairo/util/cairo-trace/trace.c:810,1
    - Dst: fprintf
      Src: /src/cairo/util/cairo-trace/trace.c:844,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 61
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 867
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 867
    functionName: _init_logfile
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - atexit
    - getenv
    - fprintf
    - strerror
    - getpid
    - _emit_header
    - strcpy
    - fopen
    - fdopen
    - snprintf
    - setenv
    - atoi
    - get_prog_name
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _init_logfile (void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _get_object
      Src: /src/cairo/util/cairo-trace/trace.c:2802,1
    - Dst: _is_current
      Src: /src/cairo/util/cairo-trace/trace.c:2808,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:2825,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:2819,1
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2799,1
    - Dst: _is_current
      Src: /src/cairo/util/cairo-trace/trace.c:2804,1
    - Dst: _consume_operand
      Src: /src/cairo/util/cairo-trace/trace.c:2806,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:2811,1
    - Dst: _emit_context
      Src: /src/cairo/util/cairo-trace/trace.c:2815,1
    - Dst: _is_current
      Src: /src/cairo/util/cairo-trace/trace.c:2803,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:2827,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:2822,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:2816,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2831,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:2800,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:2801,1
    - Dst: _is_current
      Src: /src/cairo/util/cairo-trace/trace.c:2809,1
    - Dst: _exch_operands
      Src: /src/cairo/util/cairo-trace/trace.c:2812,1
    - Dst: _emit_context
      Src: /src/cairo/util/cairo-trace/trace.c:2818,1
    - Dst: _consume_operand
      Src: /src/cairo/util/cairo-trace/trace.c:2813,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:2828,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2832,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 4
    argNames:
    - cr
    - surface
    - x
    - y
    argTypes:
    - cairo_t*
    - cairo_surface_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 2833
      start: 2796
    functionDepth: 0
    functionLinenumber: 2796
    functionLinenumberEnd: 2833
    functionName: cairo_mask_surface
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_context
    - _trace_printf
    - DLCALL
    - _exch_operands
    - _exit_trace
    - _consume_operand
    - _write_unlock
    - _emit_line_info
    - _is_current
    - _get_object
    - _write_lock
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_mask_surface (cairo_t *cr, cairo_surface_t *surface, double
      x, double y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4565,1
    - Dst: _get_object
      Src: /src/cairo/util/cairo-trace/trace.c:4567,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4570,1
    - Dst: _object_destroy
      Src: /src/cairo/util/cairo-trace/trace.c:4567,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:4569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - face
    argTypes:
    - FT_Face
    constantsTouched: []
    func_position:
      end: 4572
      start: 4561
    functionDepth: 0
    functionLinenumber: 4561
    functionLinenumberEnd: 4572
    functionName: FT_Done_Face
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _get_object
    - _exit_trace
    - DLCALL
    - _object_destroy
    - _enter_trace
    linkageType: ''
    returnType: FT_Error
    signature: 'FT_Error FT_Done_Face (FT_Face face) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4666,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:4667,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:4668,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4669,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - surface
    - width_in_points
    - height_in_points
    argTypes:
    - cairo_surface_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 4670
      start: 4663
    functionDepth: 0
    functionLinenumber: 4663
    functionLinenumberEnd: 4670
    functionName: cairo_ps_surface_set_size
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _exit_trace
    - _emit_line_info
    - _enter_trace
    - DLCALL
    linkageType: ''
    returnType: void
    signature: 'void cairo_ps_surface_set_size (cairo_surface_t *surface, double width_in_points,
      double height_in_points) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4831,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:4835,1
    - Dst: _create_surface
      Src: /src/cairo/util/cairo-trace/trace.c:4837,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:4836,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:4833,1
    - Dst: _encode_string_literal
      Src: /src/cairo/util/cairo-trace/trace.c:4840,1
    - Dst: _emit_image
      Src: /src/cairo/util/cairo-trace/trace.c:4842,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:4843,1
    - Dst: _surface_object_set_size_from_surface
      Src: /src/cairo/util/cairo-trace/trace.c:4844,1
    - Dst: _push_object
      Src: /src/cairo/util/cairo-trace/trace.c:4846,1
    - Dst: dump_stack
      Src: /src/cairo/util/cairo-trace/trace.c:4847,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:4848,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4851,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4853
      start: 4826
    functionDepth: 0
    functionLinenumber: 4826
    functionLinenumberEnd: 4853
    functionName: cairo_image_surface_create_from_png
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _trace_printf
    - _create_surface
    - _encode_string_literal
    - _exit_trace
    - dump_stack
    - _write_unlock
    - _emit_line_info
    - DLCALL
    - _surface_object_set_size_from_surface
    - _push_object
    - _write_lock
    - _enter_trace
    - _emit_image
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'cairo_surface_t *cairo_image_surface_create_from_png (const char *filename) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:5068,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:5070,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:5073,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:5072,1
    - Dst: _create_surface
      Src: /src/cairo/util/cairo-trace/trace.c:5074,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:5076,1
    - Dst: _content_to_string
      Src: /src/cairo/util/cairo-trace/trace.c:5082,1
    - Dst: _push_object
      Src: /src/cairo/util/cairo-trace/trace.c:5088,1
    - Dst: dump_stack
      Src: /src/cairo/util/cairo-trace/trace.c:5089,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:5090,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:5093,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5095
      start: 5060
    functionDepth: 0
    functionLinenumber: 5060
    functionLinenumberEnd: 5095
    functionName: cairo_script_surface_create
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _trace_printf
    - _create_surface
    - _content_to_string
    - _exit_trace
    - dump_stack
    - _write_unlock
    - _emit_line_info
    - DLCALL
    - _push_object
    - _write_lock
    - _enter_trace
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *cairo_script_surface_create (cairo_device_t *device,\t\
      \t\t cairo_content_t content,\t\t\t double width,\t\t\t double height) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/cairo/util/cairo-trace/trace.c:502,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 505
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 505
    functionName: _close_trace
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - fclose
    linkageType: ''
    returnType: void
    signature: 'static void _close_trace (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ensure_operands
      Src: /src/cairo/util/cairo-trace/trace.c:978,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:981,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - discard
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 987
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 987
    functionName: _consume_operand
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - ensure_operands
    - _trace_printf
    linkageType: ''
    returnType: void
    signature: 'static void _consume_operand (bool discard) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _emit_current
      Src: /src/cairo/util/cairo-trace/trace.c:1977,1
    - Dst: _get_object
      Src: /src/cairo/util/cairo-trace/trace.c:1977,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pattern
    argTypes:
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 1978
      start: 1974
    functionDepth: 0
    functionLinenumber: 1974
    functionLinenumberEnd: 1978
    functionName: _emit_pattern
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_current
    - _get_object
    linkageType: ''
    returnType: void
    signature: 'static void _emit_pattern (cairo_pattern_t *pattern) '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1551
      start: 1532
    functionDepth: 0
    functionLinenumber: 1532
    functionLinenumberEnd: 1551
    functionName: _format_to_content_string
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *_format_to_content_string (cairo_format_t format) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2082,1
    - Dst: _content_to_string
      Src: /src/cairo/util/cairo-trace/trace.c:2084,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2085,1
    - Dst: _emit_cairo_op
      Src: /src/cairo/util/cairo-trace/trace.c:2084,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:2083,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2086,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - cr
    - content
    argTypes:
    - cairo_t*
    - cairo_content_t
    constantsTouched: []
    func_position:
      end: 2087
      start: 2079
    functionDepth: 0
    functionLinenumber: 2079
    functionLinenumberEnd: 2087
    functionName: cairo_push_group_with_content
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _content_to_string
    - _emit_cairo_op
    - _exit_trace
    - _emit_line_info
    - DLCALL
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_push_group_with_content (cairo_t *cr, cairo_content_t content) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:3047,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:3050,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:3051,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:3048,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:3049,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3055
      start: 3042
    functionDepth: 0
    functionLinenumber: 3042
    functionLinenumberEnd: 3055
    functionName: _subpixel_order_to_string
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - f
    linkageType: ''
    returnType: char*
    signature: 'static const char *_subpixel_order_to_string (cairo_subpixel_order_t
      subpixel_order) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/util/cairo-trace/trace.c:4390,1
    - Dst: free
      Src: /src/cairo/util/cairo-trace/trace.c:4391,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 4392
      start: 4386
    functionDepth: 0
    functionLinenumber: 4386
    functionLinenumberEnd: 4392
    functionName: _ft_face_data_destroy
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'static void _ft_face_data_destroy (void *arg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4527,1
    - Dst: _get_object
      Src: /src/cairo/util/cairo-trace/trace.c:4531,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:4529,1
    - Dst: malloc
      Src: /src/cairo/util/cairo-trace/trace.c:4535,1
    - Dst: malloc
      Src: /src/cairo/util/cairo-trace/trace.c:4539,1
    - Dst: memcpy
      Src: /src/cairo/util/cairo-trace/trace.c:4540,1
    - Dst: fprintf
      Src: /src/cairo/util/cairo-trace/trace.c:4542,1
    - Dst: abort
      Src: /src/cairo/util/cairo-trace/trace.c:4544,1
    - Dst: _ft_read_file
      Src: /src/cairo/util/cairo-trace/trace.c:4548,1
    - Dst: _type_object_create
      Src: /src/cairo/util/cairo-trace/trace.c:4551,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4557,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 4
    argNames:
    - library
    - args
    - index
    - face
    argTypes:
    - FT_Library
    - FT_Open_Args*
    - FT_Long
    - FT_Face*
    constantsTouched: []
    func_position:
      end: 4559
      start: 4522
    functionDepth: 0
    functionLinenumber: 4522
    functionLinenumberEnd: 4559
    functionName: FT_Open_Face
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - malloc
    - memcpy
    - fprintf
    - abort
    - _exit_trace
    - _ft_read_file
    - DLCALL
    - _get_object
    - _enter_trace
    - _type_object_create
    linkageType: ''
    returnType: FT_Error
    signature: 'FT_Error FT_Open_Face (FT_Library library, const FT_Open_Args *args,
      FT_Long index, FT_Face *face) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _close_trace
      Src: /src/cairo/util/cairo-trace/trace.c:512,1
    - Dst: pthread_mutex_destroy
      Src: /src/cairo/util/cairo-trace/trace.c:521,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/util/cairo-trace/trace.c:514,1
    - Dst: _type_destroy
      Src: /src/cairo/util/cairo-trace/trace.c:516,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 522
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 522
    functionName: _fini_trace
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - ARRAY_LENGTH
    - _close_trace
    - _type_destroy
    - pthread_mutex_destroy
    linkageType: ''
    returnType: void
    signature: 'static void __attribute__ ((destructor)) _fini_trace (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_operands
      Src: /src/cairo/util/cairo-trace/trace.c:994,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1001
      start: 989
    functionDepth: 0
    functionLinenumber: 989
    functionLinenumberEnd: 1001
    functionName: _exch_operands
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - ensure_operands
    linkageType: ''
    returnType: void
    signature: 'static void _exch_operands (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:1560,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:1564,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:1572,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:1576,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:1568,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:1580,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:1586,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:1590,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:1594,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:1597,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:1602,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:1589,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:1565,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:1573,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:1569,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:1577,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:1581,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:1587,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:1591,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:1595,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:1599,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:1600,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:1593,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:1598,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:1562,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:1566,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:1570,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:1574,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:1578,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:1582,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:1584,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:1588,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:1592,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:1596,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:1601,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:1558,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:1561,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:1559,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:1563,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:1567,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:1575,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:1571,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:1579,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:1583,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:1585,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1608
      start: 1553
    functionDepth: 0
    functionLinenumber: 1553
    functionLinenumberEnd: 1608
    functionName: _status_to_string
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - f
    linkageType: ''
    returnType: char*
    signature: 'static const char *_status_to_string (cairo_status_t status) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _emit_current
      Src: /src/cairo/util/cairo-trace/trace.c:1983,1
    - Dst: _get_object
      Src: /src/cairo/util/cairo-trace/trace.c:1983,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 1984
      start: 1980
    functionDepth: 0
    functionLinenumber: 1980
    functionLinenumberEnd: 1984
    functionName: _emit_surface
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_current
    - _get_object
    linkageType: ''
    returnType: void
    signature: 'static void _emit_surface (cairo_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2094,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:2098,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2096,1
    - Dst: _create_pattern_id
      Src: /src/cairo/util/cairo-trace/trace.c:2099,1
    - Dst: _emit_cairo_op
      Src: /src/cairo/util/cairo-trace/trace.c:2099,1
    - Dst: _push_operand
      Src: /src/cairo/util/cairo-trace/trace.c:2100,1
    - Dst: dump_stack
      Src: /src/cairo/util/cairo-trace/trace.c:2101,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2105
      start: 2089
    functionDepth: 0
    functionLinenumber: 2089
    functionLinenumberEnd: 2105
    functionName: cairo_pop_group
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_cairo_op
    - _push_operand
    - _exit_trace
    - dump_stack
    - _emit_line_info
    - DLCALL
    - _create_pattern_id
    - _enter_trace
    linkageType: ''
    returnType: cairo_pattern_t*
    signature: 'cairo_pattern_t *cairo_pop_group (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:3062,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:3063,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:3064,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:3065,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:3066,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3070
      start: 3057
    functionDepth: 0
    functionLinenumber: 3057
    functionLinenumberEnd: 3070
    functionName: _hint_style_to_string
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - f
    linkageType: ''
    returnType: char*
    signature: 'static const char *_hint_style_to_string (cairo_hint_style_t hint_style) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4402,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:4404,1
    - Dst: _get_object
      Src: /src/cairo/util/cairo-trace/trace.c:4412,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4408,1
    - Dst: _create_font_face_id
      Src: /src/cairo/util/cairo-trace/trace.c:4405,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4415,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:4419,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:4420,1
    - Dst: _get_object
      Src: /src/cairo/util/cairo-trace/trace.c:4421,1
    - Dst: _object_remove
      Src: /src/cairo/util/cairo-trace/trace.c:4423,1
    - Dst: dump_stack
      Src: /src/cairo/util/cairo-trace/trace.c:4430,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4434,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:4427,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:4431,1
    - Dst: _emit_data
      Src: /src/cairo/util/cairo-trace/trace.c:4426,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:4425,1
    - Dst: _push_operand
      Src: /src/cairo/util/cairo-trace/trace.c:4429,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4436
      start: 4394
    functionDepth: 0
    functionLinenumber: 4394
    functionLinenumberEnd: 4436
    functionName: cairo_ft_font_face_create_for_ft_face
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _trace_printf
    - _emit_data
    - _create_font_face_id
    - _push_operand
    - _exit_trace
    - dump_stack
    - _write_unlock
    - _emit_line_info
    - DLCALL
    - _get_object
    - _object_remove
    - _write_lock
    - _enter_trace
    linkageType: ''
    returnType: cairo_font_face_t*
    signature: 'cairo_font_face_t *cairo_ft_font_face_create_for_ft_face (FT_Face
      face, int load_flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4976,1
    - Dst: _create_surface
      Src: /src/cairo/util/cairo-trace/trace.c:4983,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:4981,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:4978,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:4982,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:4985,1
    - Dst: _content_from_surface
      Src: /src/cairo/util/cairo-trace/trace.c:4994,1
    - Dst: _push_object
      Src: /src/cairo/util/cairo-trace/trace.c:5001,1
    - Dst: dump_stack
      Src: /src/cairo/util/cairo-trace/trace.c:5002,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:5003,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:5006,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5008
      start: 4968
    functionDepth: 0
    functionLinenumber: 4968
    functionLinenumberEnd: 5008
    functionName: cairo_xlib_surface_create_for_bitmap
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _trace_printf
    - _create_surface
    - _exit_trace
    - dump_stack
    - _write_unlock
    - _emit_line_info
    - DLCALL
    - _push_object
    - _content_from_surface
    - _write_lock
    - _enter_trace
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *cairo_xlib_surface_create_for_bitmap (Display *dpy,\t\
      \t\t\t Pixmap bitmap,\t\t\t\t Screen *screen,\t\t\t\t int width, int height) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4497,1
    - Dst: malloc
      Src: /src/cairo/util/cairo-trace/trace.c:4502,1
    - Dst: malloc
      Src: /src/cairo/util/cairo-trace/trace.c:4505,1
    - Dst: _type_object_create
      Src: /src/cairo/util/cairo-trace/trace.c:4501,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:4499,1
    - Dst: memcpy
      Src: /src/cairo/util/cairo-trace/trace.c:4506,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4511,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 5
    argNames:
    - library
    - mem
    - size
    - index
    - face
    argTypes:
    - FT_Library
    - FT_Byte*
    - FT_Long
    - FT_Long
    - FT_Face*
    constantsTouched: []
    func_position:
      end: 4513
      start: 4492
    functionDepth: 0
    functionLinenumber: 4492
    functionLinenumberEnd: 4513
    functionName: FT_New_Memory_Face
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - memcpy
    - malloc
    - _exit_trace
    - DLCALL
    - _enter_trace
    - _type_object_create
    linkageType: ''
    returnType: FT_Error
    signature: 'FT_Error FT_New_Memory_Face (FT_Library library, const FT_Byte *mem,
      FT_Long size, FT_Long index, FT_Face *face) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4042,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:4045,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:4043,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:4044,1
    - Dst: _get_surface_id
      Src: /src/cairo/util/cairo-trace/trace.c:4045,1
    - Dst: _emit_string_literal
      Src: /src/cairo/util/cairo-trace/trace.c:4046,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:4047,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:4048,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:4050,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4051,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - surface
    - filename
    argTypes:
    - cairo_surface_t*
    - char*
    constantsTouched: []
    func_position:
      end: 4053
      start: 4038
    functionDepth: 0
    functionLinenumber: 4038
    functionLinenumberEnd: 4053
    functionName: cairo_surface_write_to_png
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _trace_printf
    - _emit_string_literal
    - _exit_trace
    - _write_unlock
    - _emit_line_info
    - DLCALL
    - _get_surface_id
    - _write_lock
    - _enter_trace
    linkageType: ''
    returnType: cairo_status_t
    signature: 'cairo_status_t cairo_surface_write_to_png (cairo_surface_t *surface,
      const char *filename) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4332,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:4334,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:4337,1
    - Dst: _create_font_face_id
      Src: /src/cairo/util/cairo-trace/trace.c:4335,1
    - Dst: _get_object
      Src: /src/cairo/util/cairo-trace/trace.c:4341,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:4349,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:4357,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4375,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:4338,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:4346,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:4350,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:4351,1
    - Dst: dump_stack
      Src: /src/cairo/util/cairo-trace/trace.c:4366,1
    - Dst: free
      Src: /src/cairo/util/cairo-trace/trace.c:4370,1
    - Dst: _push_operand
      Src: /src/cairo/util/cairo-trace/trace.c:4365,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:4369,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:4356,1
    - Dst: _emit_string_literal
      Src: /src/cairo/util/cairo-trace/trace.c:4360,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:4361,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:4372,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4377
      start: 4326
    functionDepth: 0
    functionLinenumber: 4326
    functionLinenumberEnd: 4377
    functionName: cairo_ft_font_face_create_for_pattern
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _trace_printf
    - free
    - _push_operand
    - _create_font_face_id
    - _emit_string_literal
    - _exit_trace
    - dump_stack
    - _write_unlock
    - _emit_line_info
    - DLCALL
    - _get_object
    - _write_lock
    - _enter_trace
    linkageType: ''
    returnType: cairo_font_face_t*
    signature: 'cairo_font_face_t *cairo_ft_font_face_create_for_pattern (FcPattern
      *pattern) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/util/cairo-trace/trace.c:1483,1
    - Dst: _should_trace
      Src: /src/cairo/util/cairo-trace/trace.c:1483,1
    - Dst: memset
      Src: /src/cairo/util/cairo-trace/trace.c:1486,1
    - Dst: fwrite
      Src: /src/cairo/util/cairo-trace/trace.c:1489,1
    - Dst: _expand_four_tuple_to_five
      Src: /src/cairo/util/cairo-trace/trace.c:1488,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - stream
    argTypes:
    - struct _data_stream*
    constantsTouched: []
    func_position:
      end: 1492
      start: 1477
    functionDepth: 0
    functionLinenumber: 1477
    functionLinenumberEnd: 1492
    functionName: _write_base85_data_end
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _should_trace
    - fwrite
    - assert
    - _expand_four_tuple_to_five
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void _write_base85_data_end (struct _data_stream *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _get_type
      Src: /src/cairo/util/cairo-trace/trace.c:908,1
    - Dst: _object_create
      Src: /src/cairo/util/cairo-trace/trace.c:911,1
    - Dst: pthread_mutex_lock
      Src: /src/cairo/util/cairo-trace/trace.c:910,1
    - Dst: pthread_mutex_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:912,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 915
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 915
    functionName: _type_object_create
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - pthread_mutex_unlock
    - _object_create
    - pthread_mutex_lock
    - _get_type
    linkageType: ''
    returnType: Object*
    signature: 'static Object *_type_object_create (enum operand_type op_type, const
      void *ptr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/util/cairo-trace/trace.c:1009,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:1027,1
    - Dst: assert
      Src: /src/cairo/util/cairo-trace/trace.c:1020,1
    - Dst: assert
      Src: /src/cairo/util/cairo-trace/trace.c:1019,1
    - Dst: ensure_operands
      Src: /src/cairo/util/cairo-trace/trace.c:1016,1
    - Dst: _exch_operands
      Src: /src/cairo/util/cairo-trace/trace.c:1032,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:1033,1
    - Dst: dump_stack
      Src: /src/cairo/util/cairo-trace/trace.c:1035,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - depth
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1037
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1037
    functionName: _pop_operands_to_depth
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _trace_printf
    - ensure_operands
    - assert
    - dump_stack
    - _exch_operands
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _pop_operands_to_depth (int depth) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _get_object
      Src: /src/cairo/util/cairo-trace/trace.c:1274,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:1281,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:1279,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:1276,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - scaled_font
    argTypes:
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 1285
      start: 1271
    functionDepth: 0
    functionLinenumber: 1271
    functionLinenumberEnd: 1285
    functionName: _emit_scaled_font_id
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _get_object
    - _trace_printf
    linkageType: ''
    returnType: void
    signature: 'static void _emit_scaled_font_id (const cairo_scaled_font_t *scaled_font) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _has_id
      Src: /src/cairo/util/cairo-trace/trace.c:1303,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - font
    argTypes:
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 1304
      start: 1300
    functionDepth: 0
    functionLinenumber: 1300
    functionLinenumberEnd: 1304
    functionName: _has_scaled_font_id
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _has_id
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _has_scaled_font_id (const cairo_scaled_font_t
      *font) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2647,1
    - Dst: _emit_cairo_op
      Src: /src/cairo/util/cairo-trace/trace.c:2648,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2650,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2649,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 2651
      start: 2644
    functionDepth: 0
    functionLinenumber: 2644
    functionLinenumberEnd: 2651
    functionName: cairo_new_sub_path
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _exit_trace
    - _emit_cairo_op
    - _enter_trace
    - DLCALL
    linkageType: ''
    returnType: void
    signature: 'void cairo_new_sub_path (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2739,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2742,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:2740,1
    - Dst: _emit_cairo_op
      Src: /src/cairo/util/cairo-trace/trace.c:2741,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2743,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 2744
      start: 2736
    functionDepth: 0
    functionLinenumber: 2736
    functionLinenumberEnd: 2744
    functionName: cairo_paint
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_cairo_op
    - _exit_trace
    - _emit_line_info
    - DLCALL
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_paint (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:3291,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - font
    - glyph
    - x
    - y
    argTypes:
    - cairo_scaled_font_t*
    - cairo_glyph_t*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 3294
      start: 3284
    functionDepth: 0
    functionLinenumber: 3284
    functionLinenumberEnd: 3294
    functionName: _glyph_advance
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - DLCALL
    linkageType: ''
    returnType: void
    signature: "static void _glyph_advance (cairo_scaled_font_t *font,\t\tconst cairo_glyph_t\
      \ *glyph,\t\tdouble *x, double *y) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _get_type
      Src: /src/cairo/util/cairo-trace/trace.c:923,1
    - Dst: pthread_mutex_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:926,1
    - Dst: _type_get_object
      Src: /src/cairo/util/cairo-trace/trace.c:925,1
    - Dst: pthread_mutex_lock
      Src: /src/cairo/util/cairo-trace/trace.c:924,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 929
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 929
    functionName: _get_object
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - pthread_mutex_unlock
    - _type_get_object
    - pthread_mutex_lock
    - _get_type
    linkageType: ''
    returnType: Object*
    signature: 'static Object *_get_object (enum operand_type op_type, const void
      *ptr) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _exch_operands
      Src: /src/cairo/util/cairo-trace/trace.c:1052,1
    - Dst: _pop_operands_to_depth
      Src: /src/cairo/util/cairo-trace/trace.c:1057,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:1053,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - obj
    argTypes:
    - Object*
    constantsTouched: []
    func_position:
      end: 1058
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1058
    functionName: _pop_operands_to_object
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _exch_operands
    - _trace_printf
    - _pop_operands_to_depth
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _pop_operands_to_object (Object *obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/util/cairo-trace/trace.c:1292,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:1294,1
    - Dst: _type_object_create
      Src: /src/cairo/util/cairo-trace/trace.c:1293,1
    - Dst: _get_object
      Src: /src/cairo/util/cairo-trace/trace.c:1292,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - font
    argTypes:
    - cairo_scaled_font_t*
    constantsTouched: []
    func_position:
      end: 1298
      start: 1287
    functionDepth: 0
    functionLinenumber: 1287
    functionLinenumberEnd: 1298
    functionName: _create_scaled_font_id
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _get_object
    - _type_object_create
    - DLCALL
    - assert
    linkageType: ''
    returnType: long
    signature: 'static long _create_scaled_font_id (cairo_scaled_font_t *font) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _write_zlib_data_end
      Src: /src/cairo/util/cairo-trace/trace.c:1497,1
    - Dst: _write_base85_data_end
      Src: /src/cairo/util/cairo-trace/trace.c:1498,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:1500,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - stream
    argTypes:
    - struct _data_stream*
    constantsTouched: []
    func_position:
      end: 1501
      start: 1494
    functionDepth: 0
    functionLinenumber: 1494
    functionLinenumberEnd: 1501
    functionName: _write_data_end
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _write_base85_data_end
    - _write_zlib_data_end
    - _trace_printf
    linkageType: ''
    returnType: void
    signature: 'static void _write_data_end (struct _data_stream *stream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _get_object
      Src: /src/cairo/util/cairo-trace/trace.c:1311,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:1314,1
    - Dst: _type_object_create
      Src: /src/cairo/util/cairo-trace/trace.c:1313,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1306
    functionDepth: 0
    functionLinenumber: 1306
    functionLinenumberEnd: 1319
    functionName: _create_surface
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _get_object
    - DLCALL
    - _type_object_create
    linkageType: ''
    returnType: Object*
    signature: 'static Object *_create_surface (cairo_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2656,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2659,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2658,1
    - Dst: _emit_cairo_op
      Src: /src/cairo/util/cairo-trace/trace.c:2657,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - cr
    - x
    - y
    argTypes:
    - cairo_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 2660
      start: 2653
    functionDepth: 0
    functionLinenumber: 2653
    functionLinenumberEnd: 2660
    functionName: cairo_line_to
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _exit_trace
    - _emit_cairo_op
    - _enter_trace
    - DLCALL
    linkageType: ''
    returnType: void
    signature: 'void cairo_line_to (cairo_t *cr, double x, double y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2749,1
    - Dst: _emit_cairo_op
      Src: /src/cairo/util/cairo-trace/trace.c:2751,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2753,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:2750,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2752,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - cr
    - alpha
    argTypes:
    - cairo_t*
    - double
    constantsTouched: []
    func_position:
      end: 2754
      start: 2746
    functionDepth: 0
    functionLinenumber: 2746
    functionLinenumberEnd: 2754
    functionName: cairo_paint_with_alpha
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_cairo_op
    - _exit_trace
    - _emit_line_info
    - DLCALL
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_paint_with_alpha (cairo_t *cr, double alpha) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4061,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:4062,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:4066,1
    - Dst: _get_surface_id
      Src: /src/cairo/util/cairo-trace/trace.c:4066,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:4063,1
    - Dst: lookup_symbol
      Src: /src/cairo/util/cairo-trace/trace.c:4068,1
    - Dst: _emit_string_literal
      Src: /src/cairo/util/cairo-trace/trace.c:4072,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:4073,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:4074,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:4076,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4078,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - surface
    - write_func
    - data
    argTypes:
    - cairo_surface_t*
    - cairo_write_func_t
    - void*
    constantsTouched: []
    func_position:
      end: 4080
      start: 4055
    functionDepth: 0
    functionLinenumber: 4055
    functionLinenumberEnd: 4080
    functionName: cairo_surface_write_to_png_stream
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _trace_printf
    - DLCALL
    - _emit_string_literal
    - _exit_trace
    - _write_unlock
    - _emit_line_info
    - lookup_symbol
    - _get_surface_id
    - _write_lock
    - _enter_trace
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t cairo_surface_write_to_png_stream (cairo_surface_t\
      \ *surface,\t\t\t\t cairo_write_func_t write_func,\t\t\t\t void *data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:5228,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:5230,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:5232,1
    - Dst: _create_surface
      Src: /src/cairo/util/cairo-trace/trace.c:5234,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:5233,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:5236,1
    - Dst: _content_to_string
      Src: /src/cairo/util/cairo-trace/trace.c:5242,1
    - Dst: _push_object
      Src: /src/cairo/util/cairo-trace/trace.c:5246,1
    - Dst: dump_stack
      Src: /src/cairo/util/cairo-trace/trace.c:5247,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:5248,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:5251,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5253
      start: 5223
    functionDepth: 0
    functionLinenumber: 5223
    functionLinenumberEnd: 5253
    functionName: _cairo_test_spans_compositor_surface_create
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _trace_printf
    - _create_surface
    - _content_to_string
    - _exit_trace
    - dump_stack
    - _write_unlock
    - _emit_line_info
    - DLCALL
    - _push_object
    - _write_lock
    - _enter_trace
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'cairo_surface_t *_cairo_test_spans_compositor_surface_create (cairo_content_t
      content, int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3989,1
    - Dst: _emit_surface_op
      Src: /src/cairo/util/cairo-trace/trace.c:3991,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:3990,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:3992,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3993,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 3994
      start: 3986
    functionDepth: 0
    functionLinenumber: 3986
    functionLinenumberEnd: 3994
    functionName: cairo_surface_copy_page
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_surface_op
    - _exit_trace
    - _emit_line_info
    - DLCALL
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_surface_copy_page (cairo_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_init
      Src: /src/cairo/util/cairo-trace/trace.c:487,1
    - Dst: _type_create
      Src: /src/cairo/util/cairo-trace/trace.c:492,1
    - Dst: _type_create
      Src: /src/cairo/util/cairo-trace/trace.c:491,1
    - Dst: pthread_key_create
      Src: /src/cairo/util/cairo-trace/trace.c:488,1
    - Dst: _type_create
      Src: /src/cairo/util/cairo-trace/trace.c:490,1
    - Dst: _type_create
      Src: /src/cairo/util/cairo-trace/trace.c:493,1
    - Dst: _type_create
      Src: /src/cairo/util/cairo-trace/trace.c:494,1
    - Dst: _type_create
      Src: /src/cairo/util/cairo-trace/trace.c:495,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 496
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 496
    functionName: _init_trace
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _type_create
    - pthread_mutex_init
    - pthread_key_create
    linkageType: ''
    returnType: void
    signature: 'static void _init_trace (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/cairo/util/cairo-trace/trace.c:739,1
    - Dst: _trace_vprintf
      Src: /src/cairo/util/cairo-trace/trace.c:740,1
    - Dst: va_end
      Src: /src/cairo/util/cairo-trace/trace.c:741,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames:
    - 1, 2
    argTypes: []
    constantsTouched: []
    func_position:
      end: 742
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 742
    functionName: CAIRO_PRINTF_FORMAT
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _trace_vprintf
    - va_start
    - va_end
    linkageType: ''
    returnType: void
    signature: 'static void CAIRO_PRINTF_FORMAT(1, 2) _trace_printf (const char *fmt,
      ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:2432,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:2433,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:2434,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2438
      start: 2427
    functionDepth: 0
    functionLinenumber: 2427
    functionLinenumberEnd: 2438
    functionName: _line_cap_to_string
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - f
    linkageType: ''
    returnType: char*
    signature: 'static const char *_line_cap_to_string (cairo_line_cap_t line_cap) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:2455,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:2457,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:2456,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2461
      start: 2450
    functionDepth: 0
    functionLinenumber: 2450
    functionLinenumberEnd: 2461
    functionName: _line_join_to_string
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - f
    linkageType: ''
    returnType: char*
    signature: 'static const char *_line_join_to_string (cairo_line_join_t line_join) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2597,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2599,1
    - Dst: _emit_cairo_op
      Src: /src/cairo/util/cairo-trace/trace.c:2604,1
    - Dst: _create_surface
      Src: /src/cairo/util/cairo-trace/trace.c:2601,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2611,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2613
      start: 2592
    functionDepth: 0
    functionLinenumber: 2592
    functionLinenumberEnd: 2613
    functionName: cairo_get_group_target
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_cairo_op
    - _create_surface
    - _exit_trace
    - DLCALL
    - _enter_trace
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'cairo_surface_t *cairo_get_group_target (cairo_t *cr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3893,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3896,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:3894,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:3895,1
    - Dst: _get_surface_id
      Src: /src/cairo/util/cairo-trace/trace.c:3896,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:3897,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:3899,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3900,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 3901
      start: 3890
    functionDepth: 0
    functionLinenumber: 3890
    functionLinenumberEnd: 3901
    functionName: cairo_surface_flush
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _trace_printf
    - _exit_trace
    - _write_unlock
    - _emit_line_info
    - DLCALL
    - _get_surface_id
    - _write_lock
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_surface_flush (cairo_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _get_counter
      Src: /src/cairo/util/cairo-trace/trace.c:474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: _exit_trace
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _get_counter
    linkageType: ''
    returnType: void
    signature: 'static void _exit_trace (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2443,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:2444,1
    - Dst: _line_cap_to_string
      Src: /src/cairo/util/cairo-trace/trace.c:2445,1
    - Dst: _emit_cairo_op
      Src: /src/cairo/util/cairo-trace/trace.c:2445,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2446,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2447,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - cr
    - line_cap
    argTypes:
    - cairo_t*
    - cairo_line_cap_t
    constantsTouched: []
    func_position:
      end: 2448
      start: 2440
    functionDepth: 0
    functionLinenumber: 2440
    functionLinenumberEnd: 2448
    functionName: cairo_set_line_cap
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _line_cap_to_string
    - _emit_cairo_op
    - _exit_trace
    - _emit_line_info
    - DLCALL
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_set_line_cap (cairo_t *cr, cairo_line_cap_t line_cap) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2466,1
    - Dst: _line_join_to_string
      Src: /src/cairo/util/cairo-trace/trace.c:2469,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2470,1
    - Dst: _emit_cairo_op
      Src: /src/cairo/util/cairo-trace/trace.c:2468,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:2467,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2471,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - cr
    - line_join
    argTypes:
    - cairo_t*
    - cairo_line_join_t
    constantsTouched: []
    func_position:
      end: 2472
      start: 2463
    functionDepth: 0
    functionLinenumber: 2463
    functionLinenumberEnd: 2472
    functionName: cairo_set_line_join
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_cairo_op
    - _exit_trace
    - _line_join_to_string
    - _emit_line_info
    - DLCALL
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_set_line_join (cairo_t *cr, cairo_line_join_t line_join) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2618,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2621,1
    - Dst: _emit_cairo_op
      Src: /src/cairo/util/cairo-trace/trace.c:2620,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:2619,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2622,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 2623
      start: 2615
    functionDepth: 0
    functionLinenumber: 2615
    functionLinenumberEnd: 2623
    functionName: cairo_identity_matrix
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_cairo_op
    - _exit_trace
    - _emit_line_info
    - DLCALL
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_identity_matrix (cairo_t *cr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3906,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:3912,1
    - Dst: _emit_surface
      Src: /src/cairo/util/cairo-trace/trace.c:3916,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:3914,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:3907,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3917,1
    - Dst: _emit_source_image
      Src: /src/cairo/util/cairo-trace/trace.c:3918,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3920,1
    - Dst: _get_surface_id
      Src: /src/cairo/util/cairo-trace/trace.c:3920,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:3921,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3923,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 3924
      start: 3903
    functionDepth: 0
    functionLinenumber: 3903
    functionLinenumberEnd: 3924
    functionName: cairo_surface_mark_dirty
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _trace_printf
    - _emit_surface
    - _exit_trace
    - _write_unlock
    - _emit_line_info
    - DLCALL
    - _emit_source_image
    - _get_surface_id
    - _write_lock
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_surface_mark_dirty (cairo_surface_t *surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4601,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:4603,1
    - Dst: _create_surface
      Src: /src/cairo/util/cairo-trace/trace.c:4607,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:4605,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:4606,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:4609,1
    - Dst: _emit_string_literal
      Src: /src/cairo/util/cairo-trace/trace.c:4612,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:4613,1
    - Dst: _push_object
      Src: /src/cairo/util/cairo-trace/trace.c:4622,1
    - Dst: dump_stack
      Src: /src/cairo/util/cairo-trace/trace.c:4623,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:4624,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4627,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4629
      start: 4596
    functionDepth: 0
    functionLinenumber: 4596
    functionLinenumberEnd: 4629
    functionName: cairo_ps_surface_create
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _trace_printf
    - _create_surface
    - _emit_string_literal
    - _exit_trace
    - dump_stack
    - _write_unlock
    - _emit_line_info
    - DLCALL
    - _push_object
    - _write_lock
    - _enter_trace
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'cairo_surface_t *cairo_ps_surface_create (const char *filename, double
      width_in_points, double height_in_points) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _push_object
      Src: /src/cairo/util/cairo-trace/trace.c:1106,1
    - Dst: _get_object
      Src: /src/cairo/util/cairo-trace/trace.c:1106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - t
    - ptr
    argTypes:
    - enum operand_type
    - void*
    constantsTouched: []
    func_position:
      end: 1107
      start: 1103
    functionDepth: 0
    functionLinenumber: 1103
    functionLinenumberEnd: 1107
    functionName: _push_operand
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _get_object
    - _push_object
    linkageType: ''
    returnType: void
    signature: 'static void _push_operand (enum operand_type t, const void *ptr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _get_object
      Src: /src/cairo/util/cairo-trace/trace.c:1179,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:1182,1
    - Dst: _get_type
      Src: /src/cairo/util/cairo-trace/trace.c:1183,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - op_type
    - ptr
    argTypes:
    - enum operand_type
    - void*
    constantsTouched: []
    func_position:
      end: 1190
      start: 1174
    functionDepth: 0
    functionLinenumber: 1174
    functionLinenumberEnd: 1190
    functionName: _get_id
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _get_object
    - _trace_printf
    - _get_type
    linkageType: ''
    returnType: long
    signature: 'static long _get_id (enum operand_type op_type, const void *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2110,1
    - Dst: _emit_cairo_op
      Src: /src/cairo/util/cairo-trace/trace.c:2112,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2114,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:2111,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 2115
      start: 2107
    functionDepth: 0
    functionLinenumber: 2107
    functionLinenumberEnd: 2115
    functionName: cairo_pop_group_to_source
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_cairo_op
    - _exit_trace
    - _emit_line_info
    - DLCALL
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_pop_group_to_source (cairo_t *cr) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2294,1
    - Dst: _is_current
      Src: /src/cairo/util/cairo-trace/trace.c:2300,1
    - Dst: _exch_operands
      Src: /src/cairo/util/cairo-trace/trace.c:2307,1
    - Dst: _exch_operands
      Src: /src/cairo/util/cairo-trace/trace.c:2316,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:2328,1
    - Dst: _emit_pattern_id
      Src: /src/cairo/util/cairo-trace/trace.c:2324,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:2327,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:2296,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:2295,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:2306,1
    - Dst: _emit_context
      Src: /src/cairo/util/cairo-trace/trace.c:2323,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:2315,1
    - Dst: _consume_operand
      Src: /src/cairo/util/cairo-trace/trace.c:2317,1
    - Dst: _is_current
      Src: /src/cairo/util/cairo-trace/trace.c:2312,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2331,1
    - Dst: _get_object
      Src: /src/cairo/util/cairo-trace/trace.c:2297,1
    - Dst: _is_current
      Src: /src/cairo/util/cairo-trace/trace.c:2301,1
    - Dst: _consume_operand
      Src: /src/cairo/util/cairo-trace/trace.c:2304,1
    - Dst: _is_current
      Src: /src/cairo/util/cairo-trace/trace.c:2311,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2332,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 2
    argNames:
    - cr
    - source
    argTypes:
    - cairo_t*
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 2333
      start: 2291
    functionDepth: 0
    functionLinenumber: 2291
    functionLinenumberEnd: 2333
    functionName: cairo_set_source
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_context
    - _trace_printf
    - DLCALL
    - _emit_pattern_id
    - _exch_operands
    - _exit_trace
    - _consume_operand
    - _write_unlock
    - _emit_line_info
    - _is_current
    - _get_object
    - _write_lock
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_set_source (cairo_t *cr, cairo_pattern_t *source) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2878,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2881,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2882,1
    - Dst: _emit_cairo_op
      Src: /src/cairo/util/cairo-trace/trace.c:2880,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:2879,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 2883
      start: 2875
    functionDepth: 0
    functionLinenumber: 2875
    functionLinenumberEnd: 2883
    functionName: cairo_copy_page
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_cairo_op
    - _exit_trace
    - _emit_line_info
    - DLCALL
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_copy_page (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4235,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:4240,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:4236,1
    - Dst: _emit_pattern_op
      Src: /src/cairo/util/cairo-trace/trace.c:4237,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - pattern
    - offset
    - red
    - green
    - blue
    argTypes:
    - cairo_pattern_t*
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 4242
      start: 4232
    functionDepth: 0
    functionLinenumber: 4232
    functionLinenumberEnd: 4242
    functionName: cairo_pattern_add_color_stop_rgb
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_pattern_op
    - _exit_trace
    - _emit_line_info
    - DLCALL
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_pattern_add_color_stop_rgb (cairo_pattern_t *pattern, double
      offset, double red, double green, double blue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4317,1
    - Dst: _extend_to_string
      Src: /src/cairo/util/cairo-trace/trace.c:4319,1
    - Dst: _emit_pattern_op
      Src: /src/cairo/util/cairo-trace/trace.c:4319,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:4318,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:4320,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pattern
    - extend
    argTypes:
    - cairo_pattern_t*
    - cairo_extend_t
    constantsTouched: []
    func_position:
      end: 4322
      start: 4314
    functionDepth: 0
    functionLinenumber: 4314
    functionLinenumberEnd: 4322
    functionName: cairo_pattern_set_extend
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _extend_to_string
    - _emit_pattern_op
    - _exit_trace
    - _emit_line_info
    - DLCALL
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_pattern_set_extend (cairo_pattern_t *pattern, cairo_extend_t
      extend) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ensure_operands
      Src: /src/cairo/util/cairo-trace/trace.c:1113,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:1115,1
    - Dst: _exch_operands
      Src: /src/cairo/util/cairo-trace/trace.c:1118,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:1124,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:1119,1
    - Dst: dump_stack
      Src: /src/cairo/util/cairo-trace/trace.c:1136,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - obj
    argTypes:
    - Object*
    constantsTouched: []
    func_position:
      end: 1138
      start: 1109
    functionDepth: 0
    functionLinenumber: 1109
    functionLinenumberEnd: 1138
    functionName: _object_remove
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - ensure_operands
    - dump_stack
    - _trace_printf
    - _exch_operands
    linkageType: ''
    returnType: void
    signature: 'static void _object_remove (Object *obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _get_object
      Src: /src/cairo/util/cairo-trace/trace.c:1195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - op_type
    - ptr
    argTypes:
    - enum operand_type
    - void*
    constantsTouched: []
    func_position:
      end: 1196
      start: 1192
    functionDepth: 0
    functionLinenumber: 1192
    functionLinenumberEnd: 1196
    functionName: _has_id
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _get_object
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _has_id (enum operand_type op_type, const void
      *ptr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:2122,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:2129,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:2133,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:2137,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:2139,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:2126,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:2130,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:2134,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:2140,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:2143,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:2145,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:2147,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:2149,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:2125,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:2123,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:2127,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:2131,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:2135,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:2124,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:2128,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:2132,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:2136,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:2138,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:2144,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:2146,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:2148,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:2150,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2154
      start: 2117
    functionDepth: 0
    functionLinenumber: 2117
    functionLinenumberEnd: 2154
    functionName: _operator_to_string
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - f
    linkageType: ''
    returnType: char*
    signature: 'static const char *_operator_to_string (cairo_operator_t op) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2340,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2342,1
    - Dst: _emit_cairo_op
      Src: /src/cairo/util/cairo-trace/trace.c:2345,1
    - Dst: _create_pattern_id
      Src: /src/cairo/util/cairo-trace/trace.c:2346,1
    - Dst: _has_pattern_id
      Src: /src/cairo/util/cairo-trace/trace.c:2344,1
    - Dst: _get_object
      Src: /src/cairo/util/cairo-trace/trace.c:2347,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2350,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2352
      start: 2335
    functionDepth: 0
    functionLinenumber: 2335
    functionLinenumberEnd: 2352
    functionName: cairo_get_source
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_cairo_op
    - _exit_trace
    - _has_pattern_id
    - DLCALL
    - _get_object
    - _create_pattern_id
    - _enter_trace
    linkageType: ''
    returnType: cairo_pattern_t*
    signature: 'cairo_pattern_t *cairo_get_source (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2888,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2892,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:2889,1
    - Dst: _emit_cairo_op
      Src: /src/cairo/util/cairo-trace/trace.c:2890,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2891,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 2893
      start: 2885
    functionDepth: 0
    functionLinenumber: 2885
    functionLinenumberEnd: 2893
    functionName: cairo_show_page
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_cairo_op
    - _exit_trace
    - _emit_line_info
    - DLCALL
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_show_page (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4247,1
    - Dst: _emit_pattern_op
      Src: /src/cairo/util/cairo-trace/trace.c:4249,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4253,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:4252,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:4248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 6
    argNames:
    - pattern
    - offset
    - red
    - green
    - blue
    - alpha
    argTypes:
    - cairo_pattern_t*
    - double
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 4254
      start: 4244
    functionDepth: 0
    functionLinenumber: 4244
    functionLinenumberEnd: 4254
    functionName: cairo_pattern_add_color_stop_rgba
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_pattern_op
    - _exit_trace
    - _emit_line_info
    - DLCALL
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_pattern_add_color_stop_rgba (cairo_pattern_t *pattern,
      double offset, double red, double green, double blue, double alpha) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4717,1
    - Dst: _create_surface
      Src: /src/cairo/util/cairo-trace/trace.c:4723,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:4722,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:4719,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:4721,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:4725,1
    - Dst: _push_object
      Src: /src/cairo/util/cairo-trace/trace.c:4735,1
    - Dst: dump_stack
      Src: /src/cairo/util/cairo-trace/trace.c:4736,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:4737,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4739,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4741
      start: 4712
    functionDepth: 0
    functionLinenumber: 4712
    functionLinenumberEnd: 4741
    functionName: cairo_pdf_surface_create_for_stream
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _trace_printf
    - _create_surface
    - _exit_trace
    - dump_stack
    - _write_unlock
    - _emit_line_info
    - DLCALL
    - _push_object
    - _write_lock
    - _enter_trace
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'cairo_surface_t *cairo_pdf_surface_create_for_stream (cairo_write_func_t
      write_func, void *closure, double width_in_points, double height_in_points) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:5295,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:5299,1
    - Dst: _create_surface
      Src: /src/cairo/util/cairo-trace/trace.c:5301,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:5297,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:5300,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:5304,1
    - Dst: _content_to_string
      Src: /src/cairo/util/cairo-trace/trace.c:5305,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:5312,1
    - Dst: _content_to_string
      Src: /src/cairo/util/cairo-trace/trace.c:5313,1
    - Dst: _push_object
      Src: /src/cairo/util/cairo-trace/trace.c:5317,1
    - Dst: dump_stack
      Src: /src/cairo/util/cairo-trace/trace.c:5318,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:5319,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:5322,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5324
      start: 5289
    functionDepth: 0
    functionLinenumber: 5289
    functionLinenumberEnd: 5324
    functionName: cairo_recording_surface_create
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _trace_printf
    - _create_surface
    - _content_to_string
    - _exit_trace
    - dump_stack
    - _write_unlock
    - _emit_line_info
    - DLCALL
    - _push_object
    - _write_lock
    - _enter_trace
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *cairo_recording_surface_create (cairo_content_t content,\t\
      \t\t\tconst cairo_rectangle_t *extents) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2159,1
    - Dst: _operator_to_string
      Src: /src/cairo/util/cairo-trace/trace.c:2161,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:2160,1
    - Dst: _emit_cairo_op
      Src: /src/cairo/util/cairo-trace/trace.c:2161,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2162,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - cr
    - op
    argTypes:
    - cairo_t*
    - cairo_operator_t
    constantsTouched: []
    func_position:
      end: 2164
      start: 2156
    functionDepth: 0
    functionLinenumber: 2156
    functionLinenumberEnd: 2164
    functionName: cairo_set_operator
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_cairo_op
    - _exit_trace
    - _operator_to_string
    - _emit_line_info
    - DLCALL
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_set_operator (cairo_t *cr, cairo_operator_t op) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2357,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2361,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:2358,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2360,1
    - Dst: _emit_cairo_op
      Src: /src/cairo/util/cairo-trace/trace.c:2359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - cr
    - tolerance
    argTypes:
    - cairo_t*
    - double
    constantsTouched: []
    func_position:
      end: 2362
      start: 2354
    functionDepth: 0
    functionLinenumber: 2354
    functionLinenumberEnd: 2362
    functionName: cairo_set_tolerance
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_cairo_op
    - _exit_trace
    - _emit_line_info
    - DLCALL
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_set_tolerance (cairo_t *cr, double tolerance) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2409,1
    - Dst: _fill_rule_to_string
      Src: /src/cairo/util/cairo-trace/trace.c:2412,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:2410,1
    - Dst: _emit_cairo_op
      Src: /src/cairo/util/cairo-trace/trace.c:2411,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2413,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2414,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - cr
    - fill_rule
    argTypes:
    - cairo_t*
    - cairo_fill_rule_t
    constantsTouched: []
    func_position:
      end: 2415
      start: 2406
    functionDepth: 0
    functionLinenumber: 2406
    functionLinenumberEnd: 2415
    functionName: cairo_set_fill_rule
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_cairo_op
    - _exit_trace
    - _fill_rule_to_string
    - _emit_line_info
    - DLCALL
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_set_fill_rule (cairo_t *cr, cairo_fill_rule_t fill_rule) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3493,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3498,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:3497,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:3495,1
    - Dst: cairo_move_to
      Src: /src/cairo/util/cairo-trace/trace.c:3507,1
    - Dst: cairo_line_to
      Src: /src/cairo/util/cairo-trace/trace.c:3511,1
    - Dst: cairo_curve_to
      Src: /src/cairo/util/cairo-trace/trace.c:3515,1
    - Dst: cairo_close_path
      Src: /src/cairo/util/cairo-trace/trace.c:3522,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3528,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 24
    argCount: 2
    argNames:
    - cr
    - path
    argTypes:
    - cairo_t*
    - cairo_path_t*
    constantsTouched: []
    func_position:
      end: 3529
      start: 3486
    functionDepth: 0
    functionLinenumber: 3486
    functionLinenumberEnd: 3529
    functionName: cairo_append_path
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - cairo_line_to
    - cairo_curve_to
    - cairo_close_path
    - _exit_trace
    - _emit_line_info
    - DLCALL
    - cairo_move_to
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_append_path (cairo_t *cr, const cairo_path_t *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _get_object
      Src: /src/cairo/util/cairo-trace/trace.c:4580,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - surface
    - width
    - height
    argTypes:
    - cairo_surface_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 4583
      start: 4575
    functionDepth: 0
    functionLinenumber: 4575
    functionLinenumberEnd: 4583
    functionName: _surface_object_set_size
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _get_object
    linkageType: ''
    returnType: void
    signature: 'static void _surface_object_set_size (cairo_surface_t *surface, int
      width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2169,1
    - Dst: _emit_cairo_op
      Src: /src/cairo/util/cairo-trace/trace.c:2171,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2172,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2173,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:2170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - cr
    - red
    - green
    - blue
    argTypes:
    - cairo_t*
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 2174
      start: 2166
    functionDepth: 0
    functionLinenumber: 2166
    functionLinenumberEnd: 2174
    functionName: cairo_set_source_rgb
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_cairo_op
    - _exit_trace
    - _emit_line_info
    - DLCALL
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_set_source_rgb (cairo_t *cr, double red, double green,
      double blue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:2369,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:2371,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:2372,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:2375,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:2373,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:2376,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:2377,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2381
      start: 2364
    functionDepth: 0
    functionLinenumber: 2364
    functionLinenumberEnd: 2381
    functionName: _antialias_to_string
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - f
    linkageType: ''
    returnType: char*
    signature: 'static const char *_antialias_to_string (cairo_antialias_t antialias) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2420,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:2421,1
    - Dst: _emit_cairo_op
      Src: /src/cairo/util/cairo-trace/trace.c:2422,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2424,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2423,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - cr
    - width
    argTypes:
    - cairo_t*
    - double
    constantsTouched: []
    func_position:
      end: 2425
      start: 2417
    functionDepth: 0
    functionLinenumber: 2417
    functionLinenumberEnd: 2425
    functionName: cairo_set_line_width
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_cairo_op
    - _exit_trace
    - _emit_line_info
    - DLCALL
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_set_line_width (cairo_t *cr, double width) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3536,1
    - Dst: _create_surface
      Src: /src/cairo/util/cairo-trace/trace.c:3542,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:3540,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:3541,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:3538,1
    - Dst: _format_to_string
      Src: /src/cairo/util/cairo-trace/trace.c:3543,1
    - Dst: _format_to_content_string
      Src: /src/cairo/util/cairo-trace/trace.c:3544,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3546,1
    - Dst: _push_object
      Src: /src/cairo/util/cairo-trace/trace.c:3556,1
    - Dst: dump_stack
      Src: /src/cairo/util/cairo-trace/trace.c:3557,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:3558,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3561,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3563
      start: 3531
    functionDepth: 0
    functionLinenumber: 3531
    functionLinenumberEnd: 3563
    functionName: cairo_image_surface_create
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _format_to_content_string
    - _trace_printf
    - _create_surface
    - _format_to_string
    - _exit_trace
    - dump_stack
    - _write_unlock
    - _emit_line_info
    - DLCALL
    - _push_object
    - _write_lock
    - _enter_trace
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'cairo_surface_t *cairo_image_surface_create (cairo_format_t format,
      int width, int height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _surface_object_set_size
      Src: /src/cairo/util/cairo-trace/trace.c:4588,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:4589,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:4590,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 4591
      start: 4585
    functionDepth: 0
    functionLinenumber: 4585
    functionLinenumberEnd: 4591
    functionName: _surface_object_set_size_from_surface
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _surface_object_set_size
    - DLCALL
    linkageType: ''
    returnType: void
    signature: 'static void _surface_object_set_size_from_surface (cairo_surface_t
      *surface) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: _cairo_isdigit
      Src: /src/cairo/util/cairo-trace/trace.c:655,1
    - Dst: _should_trace
      Src: /src/cairo/util/cairo-trace/trace.c:633,1
    - Dst: _trace_dtostr
      Src: /src/cairo/util/cairo-trace/trace.c:717,1
    - Dst: va_arg
      Src: /src/cairo/util/cairo-trace/trace.c:713,1
    - Dst: snprintf
      Src: /src/cairo/util/cairo-trace/trace.c:704,1
    - Dst: memcpy
      Src: /src/cairo/util/cairo-trace/trace.c:670,1
    - Dst: va_arg
      Src: /src/cairo/util/cairo-trace/trace.c:717,1
    - Dst: va_arg
      Src: /src/cairo/util/cairo-trace/trace.c:703,1
    - Dst: strlen
      Src: /src/cairo/util/cairo-trace/trace.c:726,1
    - Dst: fwrite
      Src: /src/cairo/util/cairo-trace/trace.c:730,1
    - Dst: assert
      Src: /src/cairo/util/cairo-trace/trace.c:633,1
    - Dst: fwrite
      Src: /src/cairo/util/cairo-trace/trace.c:674,1
    - Dst: snprintf
      Src: /src/cairo/util/cairo-trace/trace.c:691,1
    - Dst: va_arg
      Src: /src/cairo/util/cairo-trace/trace.c:692,1
    - Dst: va_arg
      Src: /src/cairo/util/cairo-trace/trace.c:708,1
    - Dst: va_arg
      Src: /src/cairo/util/cairo-trace/trace.c:705,1
    - Dst: snprintf
      Src: /src/cairo/util/cairo-trace/trace.c:707,1
    - Dst: va_arg
      Src: /src/cairo/util/cairo-trace/trace.c:720,1
    - Dst: va_arg
      Src: /src/cairo/util/cairo-trace/trace.c:690,1
    - Dst: snprintf
      Src: /src/cairo/util/cairo-trace/trace.c:694,1
    - Dst: va_arg
      Src: /src/cairo/util/cairo-trace/trace.c:694,1
    - Dst: snprintf
      Src: /src/cairo/util/cairo-trace/trace.c:712,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 67
    argCount: 0
    argNames:
    - 1, 0
    argTypes: []
    constantsTouched: []
    func_position:
      end: 732
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 732
    functionName: CAIRO_PRINTF_FORMAT
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _should_trace
    - memcpy
    - fwrite
    - strlen
    - _cairo_isdigit
    - assert
    - _trace_dtostr
    - va_arg
    - snprintf
    linkageType: ''
    returnType: void
    signature: 'static void CAIRO_PRINTF_FORMAT(1, 0) _trace_vprintf (const char *fmt,
      va_list ap) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _get_object
      Src: /src/cairo/util/cairo-trace/trace.c:1203,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:1206,1
    - Dst: _type_object_create
      Src: /src/cairo/util/cairo-trace/trace.c:1205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - font_face
    argTypes:
    - cairo_font_face_t*
    constantsTouched: []
    func_position:
      end: 1211
      start: 1198
    functionDepth: 0
    functionLinenumber: 1198
    functionLinenumberEnd: 1211
    functionName: _create_font_face_id
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _get_object
    - DLCALL
    - _type_object_create
    linkageType: ''
    returnType: long
    signature: 'static long _create_font_face_id (cairo_font_face_t *font_face) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _get_object
      Src: /src/cairo/util/cairo-trace/trace.c:1222,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:1227,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:1224,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:1229,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - font_face
    argTypes:
    - cairo_font_face_t*
    constantsTouched: []
    func_position:
      end: 1232
      start: 1219
    functionDepth: 0
    functionLinenumber: 1219
    functionLinenumberEnd: 1232
    functionName: _emit_font_face_id
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _get_object
    - _trace_printf
    linkageType: ''
    returnType: void
    signature: 'static void _emit_font_face_id (cairo_font_face_t *font_face) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - four_tuple
    - five_tuple
    argTypes:
    - unsigned char
    - unsigned char
    constantsTouched: []
    func_position:
      end: 1386
      start: 1365
    functionDepth: 0
    functionLinenumber: 1365
    functionLinenumberEnd: 1386
    functionName: _expand_four_tuple_to_five
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cairo_bool_t
    signature: "static cairo_bool_t _expand_four_tuple_to_five (unsigned char four_tuple[4],\t\
      \t\t unsigned char five_tuple[5]) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2532,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2536,1
    - Dst: _emit_cairo_op
      Src: /src/cairo/util/cairo-trace/trace.c:2534,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2535,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:2533,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - cr
    - angle
    argTypes:
    - cairo_t*
    - double
    constantsTouched: []
    func_position:
      end: 2537
      start: 2529
    functionDepth: 0
    functionLinenumber: 2529
    functionLinenumberEnd: 2537
    functionName: cairo_rotate
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_cairo_op
    - _exit_trace
    - _emit_line_info
    - DLCALL
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_rotate (cairo_t *cr, double angle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2838,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2842,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:2839,1
    - Dst: _emit_cairo_op
      Src: /src/cairo/util/cairo-trace/trace.c:2840,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2841,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 2843
      start: 2835
    functionDepth: 0
    functionLinenumber: 2835
    functionLinenumberEnd: 2843
    functionName: cairo_stroke
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_cairo_op
    - _exit_trace
    - _emit_line_info
    - DLCALL
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_stroke (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2918,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2922,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:2919,1
    - Dst: _emit_cairo_op
      Src: /src/cairo/util/cairo-trace/trace.c:2920,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2921,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 2923
      start: 2915
    functionDepth: 0
    functionLinenumber: 2915
    functionLinenumberEnd: 2923
    functionName: cairo_reset_clip
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_cairo_op
    - _exit_trace
    - _emit_line_info
    - DLCALL
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_reset_clip (cairo_t *cr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4259,1
    - Dst: _emit_pattern_op
      Src: /src/cairo/util/cairo-trace/trace.c:4264,1
    - Dst: _matrix_is_identity
      Src: /src/cairo/util/cairo-trace/trace.c:4261,1
    - Dst: _emit_pattern_op
      Src: /src/cairo/util/cairo-trace/trace.c:4262,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:4260,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:4270,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4271,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - pattern
    - matrix
    argTypes:
    - cairo_pattern_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 4272
      start: 4256
    functionDepth: 0
    functionLinenumber: 4256
    functionLinenumberEnd: 4272
    functionName: cairo_pattern_set_matrix
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_pattern_op
    - _matrix_is_identity
    - _exit_trace
    - _emit_line_info
    - DLCALL
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_pattern_set_matrix (cairo_pattern_t *pattern, const cairo_matrix_t
      *matrix) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/util/cairo-trace/trace.c:1396,1
    - Dst: fwrite
      Src: /src/cairo/util/cairo-trace/trace.c:1402,1
    - Dst: fwrite
      Src: /src/cairo/util/cairo-trace/trace.c:1404,1
    - Dst: _should_trace
      Src: /src/cairo/util/cairo-trace/trace.c:1396,1
    - Dst: _expand_four_tuple_to_five
      Src: /src/cairo/util/cairo-trace/trace.c:1401,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - stream
    - data
    - length
    argTypes:
    - struct _data_stream*
    - unsigned char*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 1409
      start: 1388
    functionDepth: 0
    functionLinenumber: 1388
    functionLinenumberEnd: 1409
    functionName: _write_base85_data
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _expand_four_tuple_to_five
    - _should_trace
    - fwrite
    - assert
    linkageType: ''
    returnType: void
    signature: "static void _write_base85_data (struct _data_stream *stream,\t\t const\
      \ unsigned char\t *data,\t\t unsigned long\t length) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _get_id
      Src: /src/cairo/util/cairo-trace/trace.c:1216,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - font_face
    argTypes:
    - cairo_font_face_t*
    constantsTouched: []
    func_position:
      end: 1217
      start: 1213
    functionDepth: 0
    functionLinenumber: 1213
    functionLinenumberEnd: 1217
    functionName: _get_font_face_id
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _get_id
    linkageType: ''
    returnType: long
    signature: 'static long _get_font_face_id (cairo_font_face_t *font_face) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _has_id
      Src: /src/cairo/util/cairo-trace/trace.c:1237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pattern
    argTypes:
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 1238
      start: 1234
    functionDepth: 0
    functionLinenumber: 1234
    functionLinenumberEnd: 1238
    functionName: _has_pattern_id
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _has_id
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _has_pattern_id (cairo_pattern_t *pattern) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2542,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2548,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:2543,1
    - Dst: _emit_cairo_op
      Src: /src/cairo/util/cairo-trace/trace.c:2544,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2549,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - cr
    - matrix
    argTypes:
    - cairo_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 2550
      start: 2539
    functionDepth: 0
    functionLinenumber: 2539
    functionLinenumberEnd: 2550
    functionName: cairo_transform
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_cairo_op
    - _exit_trace
    - _emit_line_info
    - DLCALL
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_transform (cairo_t *cr, const cairo_matrix_t *matrix) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2848,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2852,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:2849,1
    - Dst: _emit_cairo_op
      Src: /src/cairo/util/cairo-trace/trace.c:2850,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2851,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 2853
      start: 2845
    functionDepth: 0
    functionLinenumber: 2845
    functionLinenumberEnd: 2853
    functionName: cairo_stroke_preserve
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_cairo_op
    - _exit_trace
    - _emit_line_info
    - DLCALL
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_stroke_preserve (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:2931,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:2932,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:2933,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2937
      start: 2926
    functionDepth: 0
    functionLinenumber: 2926
    functionLinenumberEnd: 2937
    functionName: _slant_to_string
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - f
    linkageType: ''
    returnType: char*
    signature: 'static const char *_slant_to_string (cairo_font_slant_t font_slant) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4746,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:4748,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:4747,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4749,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - surface
    - width_in_points
    - height_in_points
    argTypes:
    - cairo_surface_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 4750
      start: 4743
    functionDepth: 0
    functionLinenumber: 4743
    functionLinenumberEnd: 4750
    functionName: cairo_pdf_surface_set_size
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _exit_trace
    - _emit_line_info
    - _enter_trace
    - DLCALL
    linkageType: ''
    returnType: void
    signature: 'void cairo_pdf_surface_set_size (cairo_surface_t *surface, double
      width_in_points, double height_in_points) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4860,1
    - Dst: _create_surface
      Src: /src/cairo/util/cairo-trace/trace.c:4866,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:4864,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:4862,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:4865,1
    - Dst: _emit_image
      Src: /src/cairo/util/cairo-trace/trace.c:4868,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:4869,1
    - Dst: _surface_object_set_size_from_surface
      Src: /src/cairo/util/cairo-trace/trace.c:4872,1
    - Dst: _push_object
      Src: /src/cairo/util/cairo-trace/trace.c:4874,1
    - Dst: dump_stack
      Src: /src/cairo/util/cairo-trace/trace.c:4875,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:4876,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4879,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4881
      start: 4855
    functionDepth: 0
    functionLinenumber: 4855
    functionLinenumberEnd: 4881
    functionName: cairo_image_surface_create_from_png_stream
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _trace_printf
    - _create_surface
    - _exit_trace
    - dump_stack
    - _write_unlock
    - _emit_line_info
    - DLCALL
    - _surface_object_set_size_from_surface
    - _push_object
    - _write_lock
    - _enter_trace
    - _emit_image
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'cairo_surface_t *cairo_image_surface_create_from_png_stream (cairo_read_func_t
      read_func, void *closure) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:5260,1
    - Dst: _create_surface
      Src: /src/cairo/util/cairo-trace/trace.c:5266,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:5264,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:5262,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:5265,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:5268,1
    - Dst: _content_to_string
      Src: /src/cairo/util/cairo-trace/trace.c:5274,1
    - Dst: _push_object
      Src: /src/cairo/util/cairo-trace/trace.c:5278,1
    - Dst: dump_stack
      Src: /src/cairo/util/cairo-trace/trace.c:5279,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:5280,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:5283,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5285
      start: 5255
    functionDepth: 0
    functionLinenumber: 5255
    functionLinenumberEnd: 5285
    functionName: _cairo_test_traps_compositor_surface_create
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _trace_printf
    - _create_surface
    - _content_to_string
    - _exit_trace
    - dump_stack
    - _write_unlock
    - _emit_line_info
    - DLCALL
    - _push_object
    - _write_lock
    - _enter_trace
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'cairo_surface_t *_cairo_test_traps_compositor_surface_create (cairo_content_t
      content, int width, int height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:1991,1
    - Dst: _trace_vprintf
      Src: /src/cairo/util/cairo-trace/trace.c:1997,1
    - Dst: _emit_context
      Src: /src/cairo/util/cairo-trace/trace.c:1994,1
    - Dst: va_start
      Src: /src/cairo/util/cairo-trace/trace.c:1996,1
    - Dst: va_end
      Src: /src/cairo/util/cairo-trace/trace.c:1998,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:2000,1
    - Dst: _emit_cairo_op
      Src: /src/cairo/util/cairo-trace/trace.c:1987,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames:
    - 2, 3
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2001
      start: 1986
    functionDepth: 0
    functionLinenumber: 1986
    functionLinenumberEnd: 2001
    functionName: CAIRO_PRINTF_FORMAT
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_context
    - _emit_cairo_op
    - _trace_vprintf
    - _write_unlock
    - va_end
    - _write_lock
    - va_start
    linkageType: ''
    returnType: void
    signature: 'static void CAIRO_PRINTF_FORMAT(2, 3)_emit_cairo_op (cairo_t *cr,
      const char *fmt, ...) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cairo/util/cairo-trace/trace.c:264,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - t
    - token
    argTypes:
    - Type*
    - unsigned long int
    constantsTouched: []
    func_position:
      end: 271
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 271
    functionName: _type_release_token
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'static void _type_release_token (Type *t, unsigned long int token) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/cairo/util/cairo-trace/trace.c:323,1
    - Dst: _type_release_token
      Src: /src/cairo/util/cairo-trace/trace.c:325,1
    - Dst: pthread_mutex_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:334,1
    - Dst: BUCKET
      Src: /src/cairo/util/cairo-trace/trace.c:324,1
    - Dst: free
      Src: /src/cairo/util/cairo-trace/trace.c:339,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - obj
    argTypes:
    - Object*
    constantsTouched: []
    func_position:
      end: 340
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 340
    functionName: _object_destroy
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - free
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - BUCKET
    - _type_release_token
    linkageType: ''
    returnType: void
    signature: 'static void _object_destroy (Object *obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2179,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2183,1
    - Dst: _emit_cairo_op
      Src: /src/cairo/util/cairo-trace/trace.c:2181,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:2180,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - cr
    - red
    - green
    - blue
    - alpha
    argTypes:
    - cairo_t*
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 2185
      start: 2176
    functionDepth: 0
    functionLinenumber: 2176
    functionLinenumberEnd: 2185
    functionName: cairo_set_source_rgba
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_cairo_op
    - _exit_trace
    - _emit_line_info
    - DLCALL
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_set_source_rgba (cairo_t *cr, double red, double green,
      double blue, double alpha) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:2944,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:2945,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2949
      start: 2939
    functionDepth: 0
    functionLinenumber: 2939
    functionLinenumberEnd: 2949
    functionName: _weight_to_string
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - f
    linkageType: ''
    returnType: char*
    signature: 'static const char *_weight_to_string (cairo_font_weight_t font_weight) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/cairo/util/cairo-trace/trace.c:3323,1
    - Dst: _write_base85_data_end
      Src: /src/cairo/util/cairo-trace/trace.c:3357,1
    - Dst: _write_base85_data_start
      Src: /src/cairo/util/cairo-trace/trace.c:3348,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3347,1
    - Dst: _write_base85_data_end
      Src: /src/cairo/util/cairo-trace/trace.c:3368,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3369,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3328,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3345,1
    - Dst: _write_base85_data
      Src: /src/cairo/util/cairo-trace/trace.c:3363,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3306,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3320,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3340,1
    - Dst: fabs
      Src: /src/cairo/util/cairo-trace/trace.c:3353,1
    - Dst: _write_base85_data_start
      Src: /src/cairo/util/cairo-trace/trace.c:3359,1
    - Dst: _glyph_advance
      Src: /src/cairo/util/cairo-trace/trace.c:3365,1
    - Dst: fabs
      Src: /src/cairo/util/cairo-trace/trace.c:3324,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3333,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3334,1
    - Dst: _glyph_advance
      Src: /src/cairo/util/cairo-trace/trace.c:3337,1
    - Dst: fabs
      Src: /src/cairo/util/cairo-trace/trace.c:3352,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3358,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 59
    argCount: 3
    argNames:
    - font
    - glyphs
    - num_glyphs
    argTypes:
    - cairo_scaled_font_t*
    - cairo_glyph_t*
    - int
    constantsTouched: []
    func_position:
      end: 3372
      start: 3297
    functionDepth: 0
    functionLinenumber: 3297
    functionLinenumberEnd: 3372
    functionName: _emit_glyphs
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _write_base85_data_end
    - fabs
    - _trace_printf
    - _write_base85_data_start
    - _glyph_advance
    - _write_base85_data
    linkageType: ''
    returnType: void
    signature: "static void _emit_glyphs (cairo_scaled_font_t *font,\t const cairo_glyph_t\
      \ *glyphs,\t int num_glyphs) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3966,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3971,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:3970,1
    - Dst: _emit_surface_op
      Src: /src/cairo/util/cairo-trace/trace.c:3968,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:3967,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - surface
    - x_offset
    - y_offset
    argTypes:
    - cairo_surface_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 3972
      start: 3963
    functionDepth: 0
    functionLinenumber: 3963
    functionLinenumberEnd: 3972
    functionName: cairo_surface_set_device_scale
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_surface_op
    - _exit_trace
    - _emit_line_info
    - DLCALL
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_surface_set_device_scale (cairo_surface_t *surface, double
      x_offset, double y_offset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4293,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:4296,1
    - Dst: _filter_to_string
      Src: /src/cairo/util/cairo-trace/trace.c:4295,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:4294,1
    - Dst: _emit_pattern_op
      Src: /src/cairo/util/cairo-trace/trace.c:4295,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pattern
    - filter
    argTypes:
    - cairo_pattern_t*
    - cairo_filter_t
    constantsTouched: []
    func_position:
      end: 4298
      start: 4290
    functionDepth: 0
    functionLinenumber: 4290
    functionLinenumberEnd: 4298
    functionName: cairo_pattern_set_filter
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_pattern_op
    - _filter_to_string
    - _exit_trace
    - _emit_line_info
    - DLCALL
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_pattern_set_filter (cairo_pattern_t *pattern, cairo_filter_t
      filter) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/util/cairo-trace/trace.c:286,1
    - Dst: malloc
      Src: /src/cairo/util/cairo-trace/trace.c:306,1
    - Dst: memset
      Src: /src/cairo/util/cairo-trace/trace.c:313,1
    - Dst: assert
      Src: /src/cairo/util/cairo-trace/trace.c:304,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 1
    argNames:
    - t
    argTypes:
    - Type*
    constantsTouched: []
    func_position:
      end: 316
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 316
    functionName: _type_next_token
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - malloc
    - ARRAY_LENGTH
    - memset
    - assert
    linkageType: ''
    returnType: unsigned long int
    signature: 'static unsigned long int _type_next_token (Type *t) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/cairo/util/cairo-trace/trace.c:349,1
    - Dst: pthread_mutex_init
      Src: /src/cairo/util/cairo-trace/trace.c:356,1
    - Dst: memset
      Src: /src/cairo/util/cairo-trace/trace.c:363,1
    - Dst: malloc
      Src: /src/cairo/util/cairo-trace/trace.c:351,1
    - Dst: memset
      Src: /src/cairo/util/cairo-trace/trace.c:360,1
    - Dst: pthread_mutex_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:368,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - typename
    - op_type
    - op_code
    argTypes:
    - char*
    - enum operand_type
    - char*
    constantsTouched: []
    func_position:
      end: 369
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 369
    functionName: _type_create
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - malloc
    - pthread_mutex_unlock
    - pthread_mutex_init
    - pthread_mutex_lock
    - memset
    linkageType: ''
    returnType: void
    signature: "static void _type_create (const char *typename,\t enum operand_type\
      \ op_type,\t const char *op_code) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2010,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:2016,1
    - Dst: _create_context_id
      Src: /src/cairo/util/cairo-trace/trace.c:2013,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:2015,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2012,1
    - Dst: _get_surface_id
      Src: /src/cairo/util/cairo-trace/trace.c:2017,1
    - Dst: _get_object
      Src: /src/cairo/util/cairo-trace/trace.c:2019,1
    - Dst: _pop_operands_to
      Src: /src/cairo/util/cairo-trace/trace.c:2022,1
    - Dst: _consume_operand
      Src: /src/cairo/util/cairo-trace/trace.c:2023,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:2025,1
    - Dst: _push_operand
      Src: /src/cairo/util/cairo-trace/trace.c:2028,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:2027,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2034,1
    - Dst: dump_stack
      Src: /src/cairo/util/cairo-trace/trace.c:2029,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:2031,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2036
      start: 2003
    functionDepth: 0
    functionLinenumber: 2003
    functionLinenumberEnd: 2036
    functionName: cairo_create
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _trace_printf
    - DLCALL
    - _pop_operands_to
    - _push_operand
    - _exit_trace
    - dump_stack
    - _consume_operand
    - _write_unlock
    - _emit_line_info
    - _create_context_id
    - _get_object
    - _get_surface_id
    - _write_lock
    - _enter_trace
    linkageType: ''
    returnType: cairo_t*
    signature: 'cairo_t *cairo_create (cairo_surface_t *target) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _get_object
      Src: /src/cairo/util/cairo-trace/trace.c:2194,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2202,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2203,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2204,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2198,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2205,1
    - Dst: _emit_image
      Src: /src/cairo/util/cairo-trace/trace.c:2207,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:2208,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2209,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 2212
      start: 2187
    functionDepth: 0
    functionLinenumber: 2187
    functionLinenumberEnd: 2212
    functionName: _emit_source_image
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _get_object
    - _trace_printf
    - _emit_image
    - DLCALL
    linkageType: ''
    returnType: void
    signature: 'static void _emit_source_image (cairo_surface_t *surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2954,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:2956,1
    - Dst: _emit_string_literal
      Src: /src/cairo/util/cairo-trace/trace.c:2958,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:2955,1
    - Dst: _emit_context
      Src: /src/cairo/util/cairo-trace/trace.c:2957,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:2959,1
    - Dst: _slant_to_string
      Src: /src/cairo/util/cairo-trace/trace.c:2960,1
    - Dst: _weight_to_string
      Src: /src/cairo/util/cairo-trace/trace.c:2961,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:2962,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2964,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2965,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - cr
    - family
    - slant
    - weight
    argTypes:
    - cairo_t*
    - char*
    - cairo_font_slant_t
    - cairo_font_weight_t
    constantsTouched: []
    func_position:
      end: 2966
      start: 2951
    functionDepth: 0
    functionLinenumber: 2951
    functionLinenumberEnd: 2966
    functionName: cairo_select_font_face
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_context
    - _trace_printf
    - DLCALL
    - _emit_string_literal
    - _exit_trace
    - _write_unlock
    - _emit_line_info
    - _slant_to_string
    - _write_lock
    - _enter_trace
    - _weight_to_string
    linkageType: ''
    returnType: void
    signature: 'void cairo_select_font_face (cairo_t *cr, const char *family, cairo_font_slant_t
      slant, cairo_font_weight_t weight) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3377,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:3379,1
    - Dst: _emit_context
      Src: /src/cairo/util/cairo-trace/trace.c:3382,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:3378,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:3383,1
    - Dst: _emit_glyphs
      Src: /src/cairo/util/cairo-trace/trace.c:3385,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3386,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:3387,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:3390,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3391,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - cr
    - glyphs
    - num_glyphs
    argTypes:
    - cairo_t*
    - cairo_glyph_t*
    - int
    constantsTouched: []
    func_position:
      end: 3392
      start: 3374
    functionDepth: 0
    functionLinenumber: 3374
    functionLinenumberEnd: 3392
    functionName: cairo_show_glyphs
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_context
    - _trace_printf
    - _emit_glyphs
    - _exit_trace
    - _write_unlock
    - _emit_line_info
    - DLCALL
    - _write_lock
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_show_glyphs (cairo_t *cr, const cairo_glyph_t *glyphs,
      int num_glyphs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3978,1
    - Dst: _emit_surface_op
      Src: /src/cairo/util/cairo-trace/trace.c:3980,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3983,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:3979,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:3982,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - surface
    - x_pixels_per_inch
    - y_pixels_per_inch
    argTypes:
    - cairo_surface_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 3984
      start: 3975
    functionDepth: 0
    functionLinenumber: 3975
    functionLinenumberEnd: 3984
    functionName: cairo_surface_set_fallback_resolution
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_surface_op
    - _exit_trace
    - _emit_line_info
    - DLCALL
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_surface_set_fallback_resolution (cairo_surface_t *surface,
      double x_pixels_per_inch, double y_pixels_per_inch) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:4305,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:4307,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:4306,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:4308,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4312
      start: 4300
    functionDepth: 0
    functionLinenumber: 4300
    functionLinenumberEnd: 4312
    functionName: _extend_to_string
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - f
    linkageType: ''
    returnType: char*
    signature: 'static const char *_extend_to_string (cairo_extend_t extend) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:5103,1
    - Dst: _create_surface
      Src: /src/cairo/util/cairo-trace/trace.c:5109,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:5107,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:5108,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:5105,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:5111,1
    - Dst: _push_object
      Src: /src/cairo/util/cairo-trace/trace.c:5116,1
    - Dst: dump_stack
      Src: /src/cairo/util/cairo-trace/trace.c:5117,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:5118,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:5121,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5123
      start: 5097
    functionDepth: 0
    functionLinenumber: 5097
    functionLinenumberEnd: 5123
    functionName: cairo_script_surface_create_for_target
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _trace_printf
    - _create_surface
    - _exit_trace
    - dump_stack
    - _write_unlock
    - _emit_line_info
    - DLCALL
    - _push_object
    - _write_lock
    - _enter_trace
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *cairo_script_surface_create_for_target (cairo_device_t\
      \ *device,\t\t\t\t\tcairo_surface_t *target) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:5133,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:5135,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:5138,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:5137,1
    - Dst: _create_surface
      Src: /src/cairo/util/cairo-trace/trace.c:5139,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:5142,1
    - Dst: _get_surface_id
      Src: /src/cairo/util/cairo-trace/trace.c:5146,1
    - Dst: _push_object
      Src: /src/cairo/util/cairo-trace/trace.c:5148,1
    - Dst: dump_stack
      Src: /src/cairo/util/cairo-trace/trace.c:5149,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:5150,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:5153,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5155
      start: 5128
    functionDepth: 0
    functionLinenumber: 5128
    functionLinenumberEnd: 5155
    functionName: _cairo_test_paginated_surface_create
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _trace_printf
    - _create_surface
    - _exit_trace
    - dump_stack
    - _write_unlock
    - _emit_line_info
    - DLCALL
    - _push_object
    - _get_surface_id
    - _write_lock
    - _enter_trace
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'cairo_surface_t *_cairo_test_paginated_surface_create (cairo_surface_t
      *surface) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: deflate
      Src: /src/cairo/util/cairo-trace/trace.c:1417,1
    - Dst: _write_base85_data
      Src: /src/cairo/util/cairo-trace/trace.c:1419,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - stream
    - flush
    argTypes:
    - struct _data_stream*
    - cairo_bool_t
    constantsTouched: []
    func_position:
      end: 1434
      start: 1411
    functionDepth: 0
    functionLinenumber: 1411
    functionLinenumberEnd: 1434
    functionName: _write_zlib_data
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - deflate
    - _write_base85_data
    linkageType: ''
    returnType: void
    signature: 'static void _write_zlib_data (struct _data_stream *stream, cairo_bool_t
      flush) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - value
    - buf
    - size
    argTypes:
    - int
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1883
      start: 1876
    functionDepth: 0
    functionLinenumber: 1876
    functionLinenumberEnd: 1883
    functionName: to_octal
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void to_octal (int value, char *buf, size_t size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2386,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2390,1
    - Dst: _emit_cairo_op
      Src: /src/cairo/util/cairo-trace/trace.c:2388,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:2387,1
    - Dst: _antialias_to_string
      Src: /src/cairo/util/cairo-trace/trace.c:2389,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2391,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - cr
    - antialias
    argTypes:
    - cairo_t*
    - cairo_antialias_t
    constantsTouched: []
    func_position:
      end: 2392
      start: 2383
    functionDepth: 0
    functionLinenumber: 2383
    functionLinenumberEnd: 2392
    functionName: cairo_set_antialias
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_cairo_op
    - _antialias_to_string
    - _exit_trace
    - _emit_line_info
    - DLCALL
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_set_antialias (cairo_t *cr, cairo_antialias_t antialias) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2702,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2704,1
    - Dst: _emit_cairo_op
      Src: /src/cairo/util/cairo-trace/trace.c:2703,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2705,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - cr
    - dx
    - dy
    argTypes:
    - cairo_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 2706
      start: 2699
    functionDepth: 0
    functionLinenumber: 2699
    functionLinenumberEnd: 2706
    functionName: cairo_rel_line_to
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _exit_trace
    - _emit_cairo_op
    - _enter_trace
    - DLCALL
    linkageType: ''
    returnType: void
    signature: 'void cairo_rel_line_to (cairo_t *cr, double dx, double dy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _emit_surface_op
      Src: /src/cairo/util/cairo-trace/trace.c:3865,1
    - Dst: _trace_vprintf
      Src: /src/cairo/util/cairo-trace/trace.c:3875,1
    - Dst: va_start
      Src: /src/cairo/util/cairo-trace/trace.c:3874,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:3869,1
    - Dst: _emit_surface
      Src: /src/cairo/util/cairo-trace/trace.c:3872,1
    - Dst: va_end
      Src: /src/cairo/util/cairo-trace/trace.c:3876,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:3878,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames:
    - 2, 3
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3879
      start: 3864
    functionDepth: 0
    functionLinenumber: 3864
    functionLinenumberEnd: 3879
    functionName: CAIRO_PRINTF_FORMAT
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_surface_op
    - _emit_surface
    - _trace_vprintf
    - _write_unlock
    - va_end
    - _write_lock
    - va_start
    linkageType: ''
    returnType: void
    signature: 'static void CAIRO_PRINTF_FORMAT(2, 3)_emit_surface_op (cairo_surface_t
      *surface, const char *fmt, ...) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/cairo/util/cairo-trace/trace.c:4444,1
    - Dst: memcpy
      Src: /src/cairo/util/cairo-trace/trace.c:4453,1
    - Dst: malloc
      Src: /src/cairo/util/cairo-trace/trace.c:4448,1
    - Dst: fread
      Src: /src/cairo/util/cairo-trace/trace.c:4450,1
    - Dst: realloc
      Src: /src/cairo/util/cairo-trace/trace.c:4460,1
    - Dst: fclose
      Src: /src/cairo/util/cairo-trace/trace.c:4463,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - data
    - path
    argTypes:
    - FtFaceData*
    - char*
    constantsTouched: []
    func_position:
      end: 4467
      start: 4438
    functionDepth: 0
    functionLinenumber: 4438
    functionLinenumberEnd: 4467
    functionName: _ft_read_file
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - malloc
    - memcpy
    - fclose
    - fopen
    - realloc
    - fread
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _ft_read_file (FtFaceData *data, const char *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _write_zlib_data_start
      Src: /src/cairo/util/cairo-trace/trace.c:1439,1
    - Dst: _write_base85_data_start
      Src: /src/cairo/util/cairo-trace/trace.c:1440,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:1442,1
    - Dst: to_be32
      Src: /src/cairo/util/cairo-trace/trace.c:1443,1
    - Dst: _write_base85_data
      Src: /src/cairo/util/cairo-trace/trace.c:1444,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - stream
    - len
    argTypes:
    - struct _data_stream*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1445
      start: 1436
    functionDepth: 0
    functionLinenumber: 1436
    functionLinenumberEnd: 1445
    functionName: _write_data_start
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _trace_printf
    - to_be32
    - _write_base85_data_start
    - _write_zlib_data_start
    - _write_base85_data
    linkageType: ''
    returnType: void
    signature: 'static void _write_data_start (struct _data_stream *stream, uint32_t
      len) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:1892,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:1922,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:1900,1
    - Dst: strlen
      Src: /src/cairo/util/cairo-trace/trace.c:1897,1
    - Dst: _cairo_isprint
      Src: /src/cairo/util/cairo-trace/trace.c:1925,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:1926,1
    - Dst: to_octal
      Src: /src/cairo/util/cairo-trace/trace.c:1931,1
    - Dst: fwrite
      Src: /src/cairo/util/cairo-trace/trace.c:1932,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:1938,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 29
    argCount: 2
    argNames:
    - utf8
    - len
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1939
      start: 1885
    functionDepth: 0
    functionLinenumber: 1885
    functionLinenumberEnd: 1939
    functionName: _emit_string_literal
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - to_octal
    - _trace_printf
    - fwrite
    - strlen
    - _cairo_isprint
    linkageType: ''
    returnType: void
    signature: 'static void _emit_string_literal (const char *utf8, int len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:2399,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:2400,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2404
      start: 2394
    functionDepth: 0
    functionLinenumber: 2394
    functionLinenumberEnd: 2404
    functionName: _fill_rule_to_string
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - f
    linkageType: ''
    returnType: char*
    signature: 'static const char *_fill_rule_to_string (cairo_fill_rule_t rule) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2711,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2714,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2715,1
    - Dst: _emit_cairo_op
      Src: /src/cairo/util/cairo-trace/trace.c:2712,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 7
    argNames:
    - cr
    - dx1
    - dy1
    - dx2
    - dy2
    - dx3
    - dy3
    argTypes:
    - cairo_t*
    - double
    - double
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 2716
      start: 2708
    functionDepth: 0
    functionLinenumber: 2708
    functionLinenumberEnd: 2716
    functionName: cairo_rel_curve_to
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _exit_trace
    - _emit_cairo_op
    - _enter_trace
    - DLCALL
    linkageType: ''
    returnType: void
    signature: 'void cairo_rel_curve_to (cairo_t *cr, double dx1, double dy1, double
      dx2, double dy2, double dx3, double dy3) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3884,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:3886,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:3885,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3887,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 3888
      start: 3881
    functionDepth: 0
    functionLinenumber: 3881
    functionLinenumberEnd: 3888
    functionName: cairo_surface_finish
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _exit_trace
    - _emit_line_info
    - _enter_trace
    - DLCALL
    linkageType: ''
    returnType: void
    signature: 'void cairo_surface_finish (cairo_surface_t *surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4474,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:4476,1
    - Dst: malloc
      Src: /src/cairo/util/cairo-trace/trace.c:4479,1
    - Dst: _ft_read_file
      Src: /src/cairo/util/cairo-trace/trace.c:4483,1
    - Dst: _type_object_create
      Src: /src/cairo/util/cairo-trace/trace.c:4478,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4488,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 4
    argNames:
    - library
    - pathname
    - index
    - face
    argTypes:
    - FT_Library
    - char*
    - FT_Long
    - FT_Face*
    constantsTouched: []
    func_position:
      end: 4490
      start: 4469
    functionDepth: 0
    functionLinenumber: 4469
    functionLinenumberEnd: 4490
    functionName: FT_New_Face
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - malloc
    - _exit_trace
    - _ft_read_file
    - DLCALL
    - _enter_trace
    - _type_object_create
    linkageType: ''
    returnType: FT_Error
    signature: 'FT_Error FT_New_Face (FT_Library library, const char *pathname, FT_Long
      index, FT_Face *face) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4892,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:4897,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:4896,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:4894,1
    - Dst: _create_surface
      Src: /src/cairo/util/cairo-trace/trace.c:4898,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:4900,1
    - Dst: _get_object
      Src: /src/cairo/util/cairo-trace/trace.c:4904,1
    - Dst: _push_object
      Src: /src/cairo/util/cairo-trace/trace.c:4907,1
    - Dst: dump_stack
      Src: /src/cairo/util/cairo-trace/trace.c:4908,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:4909,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4912,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4914
      start: 4887
    functionDepth: 0
    functionLinenumber: 4887
    functionLinenumberEnd: 4914
    functionName: cairo_tee_surface_create
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _trace_printf
    - _create_surface
    - _exit_trace
    - dump_stack
    - _write_unlock
    - _emit_line_info
    - DLCALL
    - _get_object
    - _push_object
    - _write_lock
    - _enter_trace
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'cairo_surface_t *cairo_tee_surface_create (cairo_surface_t *master) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4015,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:4016,1
    - Dst: _emit_string_literal
      Src: /src/cairo/util/cairo-trace/trace.c:4019,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:4017,1
    - Dst: _emit_surface
      Src: /src/cairo/util/cairo-trace/trace.c:4018,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:4020,1
    - Dst: _emit_data
      Src: /src/cairo/util/cairo-trace/trace.c:4021,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:4022,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:4024,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:4027,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4033,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 6
    argNames:
    - surface
    - mime_type
    - data
    - length
    - destroy
    - closure
    argTypes:
    - cairo_surface_t*
    - char*
    - unsigned char*
    - unsigned long
    - cairo_destroy_func_t
    - void*
    constantsTouched: []
    func_position:
      end: 4035
      start: 4006
    functionDepth: 0
    functionLinenumber: 4006
    functionLinenumberEnd: 4035
    functionName: cairo_surface_set_mime_data
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _trace_printf
    - _emit_surface
    - _emit_data
    - _emit_string_literal
    - _exit_trace
    - _write_unlock
    - _emit_line_info
    - DLCALL
    - _write_lock
    - _enter_trace
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t cairo_surface_set_mime_data (cairo_surface_t\t\t*surface,\
      \ const char\t\t\t*mime_type, const unsigned char\t*data, unsigned long\t\t\
      \ length,\t\t\t cairo_destroy_func_t\t destroy,\t\t\t void\t\t\t*closure) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4636,1
    - Dst: _create_surface
      Src: /src/cairo/util/cairo-trace/trace.c:4642,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:4640,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:4638,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:4641,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:4644,1
    - Dst: _push_object
      Src: /src/cairo/util/cairo-trace/trace.c:4654,1
    - Dst: dump_stack
      Src: /src/cairo/util/cairo-trace/trace.c:4655,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:4656,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4659,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4661
      start: 4631
    functionDepth: 0
    functionLinenumber: 4631
    functionLinenumberEnd: 4661
    functionName: cairo_ps_surface_create_for_stream
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _trace_printf
    - _create_surface
    - _exit_trace
    - dump_stack
    - _write_unlock
    - _emit_line_info
    - DLCALL
    - _push_object
    - _write_lock
    - _enter_trace
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'cairo_surface_t *cairo_ps_surface_create_for_stream (cairo_write_func_t
      write_func, void *closure, double width_in_points, double height_in_points) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BUCKET
      Src: /src/cairo/util/cairo-trace/trace.c:407,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 425
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 425
    functionName: _type_get_object
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - BUCKET
    linkageType: ''
    returnType: Object*
    signature: 'static Object *_type_get_object (Type *type, const void *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _write_data_start
      Src: /src/cairo/util/cairo-trace/trace.c:1508,1
    - Dst: _write_data_end
      Src: /src/cairo/util/cairo-trace/trace.c:1510,1
    - Dst: _write_data
      Src: /src/cairo/util/cairo-trace/trace.c:1509,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - data
    - length
    argTypes:
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1511
      start: 1503
    functionDepth: 0
    functionLinenumber: 1503
    functionLinenumberEnd: 1511
    functionName: _emit_data
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _write_data_start
    - _write_data_end
    - _write_data
    linkageType: ''
    returnType: void
    signature: 'static void _emit_data (const void *data, unsigned int length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2061,1
    - Dst: _emit_cairo_op
      Src: /src/cairo/util/cairo-trace/trace.c:2063,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:2062,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2064,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2065,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 2066
      start: 2058
    functionDepth: 0
    functionLinenumber: 2058
    functionLinenumberEnd: 2066
    functionName: cairo_push_group
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_cairo_op
    - _exit_trace
    - _emit_line_info
    - DLCALL
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_push_group (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2721,1
    - Dst: _emit_cairo_op
      Src: /src/cairo/util/cairo-trace/trace.c:2722,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2724,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2723,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - cr
    - x
    - y
    - width
    - height
    argTypes:
    - cairo_t*
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 2725
      start: 2718
    functionDepth: 0
    functionLinenumber: 2718
    functionLinenumberEnd: 2725
    functionName: cairo_rectangle
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _exit_trace
    - _emit_cairo_op
    - _enter_trace
    - DLCALL
    linkageType: ''
    returnType: void
    signature: 'void cairo_rectangle (cairo_t *cr, double x, double y, double width,
      double height) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3022,1
    - Dst: _emit_cairo_op
      Src: /src/cairo/util/cairo-trace/trace.c:3024,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3026,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:3023,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:3025,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - cr
    - size
    argTypes:
    - cairo_t*
    - double
    constantsTouched: []
    func_position:
      end: 3027
      start: 3019
    functionDepth: 0
    functionLinenumber: 3019
    functionLinenumberEnd: 3027
    functionName: cairo_set_font_size
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_cairo_op
    - _exit_trace
    - _emit_line_info
    - DLCALL
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_set_font_size (cairo_t *cr, double size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _type_object_create
      Src: /src/cairo/util/cairo-trace/trace.c:3240,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:3241,1
    - Dst: _emit_matrix
      Src: /src/cairo/util/cairo-trace/trace.c:3252,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:3236,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3250,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:3261,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:3227,1
    - Dst: _has_scaled_font_id
      Src: /src/cairo/util/cairo-trace/trace.c:3228,1
    - Dst: _get_font_face_id
      Src: /src/cairo/util/cairo-trace/trace.c:3247,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3253,1
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3225,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:3231,1
    - Dst: _pop_operands_to
      Src: /src/cairo/util/cairo-trace/trace.c:3244,1
    - Dst: _consume_operand
      Src: /src/cairo/util/cairo-trace/trace.c:3245,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3247,1
    - Dst: _emit_matrix
      Src: /src/cairo/util/cairo-trace/trace.c:3249,1
    - Dst: _emit_font_options
      Src: /src/cairo/util/cairo-trace/trace.c:3255,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3257,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3265,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3267
      start: 3217
    functionDepth: 0
    functionLinenumber: 3217
    functionLinenumberEnd: 3267
    functionName: cairo_scaled_font_create
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_matrix
    - _trace_printf
    - _pop_operands_to
    - _exit_trace
    - _get_font_face_id
    - _has_scaled_font_id
    - _consume_operand
    - _emit_font_options
    - _write_unlock
    - _emit_line_info
    - DLCALL
    - _write_lock
    - _enter_trace
    - _type_object_create
    linkageType: ''
    returnType: cairo_scaled_font_t*
    signature: "cairo_scaled_font_t *cairo_scaled_font_create (cairo_font_face_t *font_face,\t\
      \t\t const cairo_matrix_t *font_matrix,\t\t\t const cairo_matrix_t *ctm,\t\t\
      \t const cairo_font_options_t *options) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3570,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:3574,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:3572,1
    - Dst: _create_surface
      Src: /src/cairo/util/cairo-trace/trace.c:3576,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:3575,1
    - Dst: _emit_image
      Src: /src/cairo/util/cairo-trace/trace.c:3588,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3589,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3592,1
    - Dst: _format_to_string
      Src: /src/cairo/util/cairo-trace/trace.c:3598,1
    - Dst: _push_object
      Src: /src/cairo/util/cairo-trace/trace.c:3607,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:3609,1
    - Dst: dump_stack
      Src: /src/cairo/util/cairo-trace/trace.c:3608,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3612,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3614
      start: 3565
    functionDepth: 0
    functionLinenumber: 3565
    functionLinenumberEnd: 3614
    functionName: cairo_image_surface_create_for_data
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _trace_printf
    - _create_surface
    - _format_to_string
    - _exit_trace
    - dump_stack
    - _write_unlock
    - _emit_line_info
    - DLCALL
    - _push_object
    - _write_lock
    - _enter_trace
    - _emit_image
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'cairo_surface_t *cairo_image_surface_create_for_data (unsigned char
      *data, cairo_format_t format, int width, int height, int stride) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3930,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:3935,1
    - Dst: _emit_surface
      Src: /src/cairo/util/cairo-trace/trace.c:3940,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:3938,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:3937,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3941,1
    - Dst: _emit_source_image_rectangle
      Src: /src/cairo/util/cairo-trace/trace.c:3943,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3945,1
    - Dst: _get_surface_id
      Src: /src/cairo/util/cairo-trace/trace.c:3946,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:3947,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3949,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 5
    argNames:
    - surface
    - x
    - y
    - width
    - height
    argTypes:
    - cairo_surface_t*
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 3950
      start: 3926
    functionDepth: 0
    functionLinenumber: 3926
    functionLinenumberEnd: 3950
    functionName: cairo_surface_mark_dirty_rectangle
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _trace_printf
    - _emit_surface
    - _emit_source_image_rectangle
    - _exit_trace
    - _write_unlock
    - _emit_line_info
    - DLCALL
    - _get_surface_id
    - _write_lock
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: "void cairo_surface_mark_dirty_rectangle (cairo_surface_t *surface,\t\
      \t\t\t int x, int y, int width, int height) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BUCKET
      Src: /src/cairo/util/cairo-trace/trace.c:431,1
    - Dst: malloc
      Src: /src/cairo/util/cairo-trace/trace.c:433,1
    - Dst: _type_next_token
      Src: /src/cairo/util/cairo-trace/trace.c:440,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 450
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 450
    functionName: _object_create
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - malloc
    - _type_next_token
    - BUCKET
    linkageType: ''
    returnType: Object*
    signature: 'static Object *_object_create (Type *type, const void *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:1518,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:1522,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:1520,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:1521,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:1519,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:1523,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:1524,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:1525,1
    - Dst: f
      Src: /src/cairo/util/cairo-trace/trace.c:1526,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1530
      start: 1513
    functionDepth: 0
    functionLinenumber: 1513
    functionLinenumberEnd: 1530
    functionName: _format_to_string
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - f
    linkageType: ''
    returnType: char*
    signature: 'static const char *_format_to_string (cairo_format_t format) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2077
      start: 2068
    functionDepth: 0
    functionLinenumber: 2068
    functionLinenumberEnd: 2077
    functionName: _content_to_string
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *_content_to_string (cairo_content_t content) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2730,1
    - Dst: _emit_cairo_op
      Src: /src/cairo/util/cairo-trace/trace.c:2731,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2732,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2733,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 2734
      start: 2727
    functionDepth: 0
    functionLinenumber: 2727
    functionLinenumberEnd: 2734
    functionName: cairo_close_path
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _exit_trace
    - _emit_cairo_op
    - _enter_trace
    - DLCALL
    linkageType: ''
    returnType: void
    signature: 'void cairo_close_path (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3032,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3039,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:3038,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:3033,1
    - Dst: _emit_cairo_op
      Src: /src/cairo/util/cairo-trace/trace.c:3034,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - cr
    - matrix
    argTypes:
    - cairo_t*
    - cairo_matrix_t*
    constantsTouched: []
    func_position:
      end: 3040
      start: 3029
    functionDepth: 0
    functionLinenumber: 3029
    functionLinenumberEnd: 3040
    functionName: cairo_set_font_matrix
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_cairo_op
    - _exit_trace
    - _emit_line_info
    - DLCALL
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_set_font_matrix (cairo_t *cr, const cairo_matrix_t *matrix) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3272,1
    - Dst: _emit_string_literal
      Src: /src/cairo/util/cairo-trace/trace.c:3276,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:3273,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:3274,1
    - Dst: _emit_context
      Src: /src/cairo/util/cairo-trace/trace.c:3275,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3277,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:3278,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:3280,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3281,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - cr
    - utf8
    argTypes:
    - cairo_t*
    - char*
    constantsTouched: []
    func_position:
      end: 3282
      start: 3269
    functionDepth: 0
    functionLinenumber: 3269
    functionLinenumberEnd: 3282
    functionName: cairo_show_text
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_context
    - _trace_printf
    - _emit_string_literal
    - _exit_trace
    - _write_unlock
    - _emit_line_info
    - DLCALL
    - _write_lock
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_show_text (cairo_t *cr, const char *utf8) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3622,1
    - Dst: _get_surface_id
      Src: /src/cairo/util/cairo-trace/trace.c:3625,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3625,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:3623,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:3624,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:3626,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:3628,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3629,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3632
      start: 3616
    functionDepth: 0
    functionLinenumber: 3616
    functionLinenumberEnd: 3632
    functionName: cairo_image_surface_get_data
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _trace_printf
    - _exit_trace
    - _write_unlock
    - _emit_line_info
    - DLCALL
    - _get_surface_id
    - _write_lock
    - _enter_trace
    linkageType: ''
    returnType: unsigned char*
    signature: 'unsigned char *cairo_image_surface_get_data (cairo_surface_t *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3955,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:3956,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3960,1
    - Dst: _emit_surface_op
      Src: /src/cairo/util/cairo-trace/trace.c:3957,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:3959,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - surface
    - x_offset
    - y_offset
    argTypes:
    - cairo_surface_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 3961
      start: 3952
    functionDepth: 0
    functionLinenumber: 3952
    functionLinenumberEnd: 3961
    functionName: cairo_surface_set_device_offset
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_surface_op
    - _exit_trace
    - _emit_line_info
    - DLCALL
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_surface_set_device_offset (cairo_surface_t *surface, double
      x_offset, double y_offset) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4682,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:4684,1
    - Dst: _create_surface
      Src: /src/cairo/util/cairo-trace/trace.c:4688,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:4686,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:4687,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:4690,1
    - Dst: _emit_string_literal
      Src: /src/cairo/util/cairo-trace/trace.c:4693,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:4694,1
    - Dst: _push_object
      Src: /src/cairo/util/cairo-trace/trace.c:4703,1
    - Dst: dump_stack
      Src: /src/cairo/util/cairo-trace/trace.c:4704,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:4705,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4708,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4710
      start: 4677
    functionDepth: 0
    functionLinenumber: 4677
    functionLinenumberEnd: 4710
    functionName: cairo_pdf_surface_create
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _trace_printf
    - _create_surface
    - _emit_string_literal
    - _exit_trace
    - dump_stack
    - _write_unlock
    - _emit_line_info
    - DLCALL
    - _push_object
    - _write_lock
    - _enter_trace
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'cairo_surface_t *cairo_pdf_surface_create (const char *filename, double
      width_in_points, double height_in_points) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _is_current_object
      Src: /src/cairo/util/cairo-trace/trace.c:1077,1
    - Dst: _get_object
      Src: /src/cairo/util/cairo-trace/trace.c:1077,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - type
    - ptr
    - depth
    argTypes:
    - enum operand_type
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 1078
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1078
    functionName: _is_current
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _get_object
    - _is_current_object
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _is_current (enum operand_type type, const void
      *ptr, int depth) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2512,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2516,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2515,1
    - Dst: _emit_cairo_op
      Src: /src/cairo/util/cairo-trace/trace.c:2514,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:2513,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - cr
    - tx
    - ty
    argTypes:
    - cairo_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 2517
      start: 2509
    functionDepth: 0
    functionLinenumber: 2509
    functionLinenumberEnd: 2517
    functionName: cairo_translate
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_cairo_op
    - _exit_trace
    - _emit_line_info
    - DLCALL
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_translate (cairo_t *cr, double tx, double ty) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2898,1
    - Dst: _emit_cairo_op
      Src: /src/cairo/util/cairo-trace/trace.c:2900,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2902,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2901,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:2899,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 2903
      start: 2895
    functionDepth: 0
    functionLinenumber: 2895
    functionLinenumberEnd: 2903
    functionName: cairo_clip
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_cairo_op
    - _exit_trace
    - _emit_line_info
    - DLCALL
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_clip (cairo_t *cr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3734,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:3736,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:3739,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:3740,1
    - Dst: _get_object
      Src: /src/cairo/util/cairo-trace/trace.c:3741,1
    - Dst: _create_surface
      Src: /src/cairo/util/cairo-trace/trace.c:3742,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3745,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3747,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3749,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3751,1
    - Dst: _format_to_string
      Src: /src/cairo/util/cairo-trace/trace.c:3752,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:3760,1
    - Dst: dump_stack
      Src: /src/cairo/util/cairo-trace/trace.c:3759,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3763,1
    - Dst: _push_object
      Src: /src/cairo/util/cairo-trace/trace.c:3758,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3765
      start: 3727
    functionDepth: 0
    functionLinenumber: 3727
    functionLinenumberEnd: 3765
    functionName: cairo_surface_create_similar_image
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _trace_printf
    - _create_surface
    - _format_to_string
    - _exit_trace
    - dump_stack
    - _write_unlock
    - _emit_line_info
    - DLCALL
    - _get_object
    - _push_object
    - _write_lock
    - _enter_trace
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *cairo_surface_create_similar_image (cairo_surface_t\
      \ *other,\t\t\t\t cairo_format_t format,\t\t\t\t int width, int height) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _trace_vprintf
      Src: /src/cairo/util/cairo-trace/trace.c:4094,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:4088,1
    - Dst: va_start
      Src: /src/cairo/util/cairo-trace/trace.c:4093,1
    - Dst: _emit_pattern
      Src: /src/cairo/util/cairo-trace/trace.c:4091,1
    - Dst: va_end
      Src: /src/cairo/util/cairo-trace/trace.c:4095,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:4097,1
    - Dst: _emit_pattern_op
      Src: /src/cairo/util/cairo-trace/trace.c:4084,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames:
    - 2, 3
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4098
      start: 4083
    functionDepth: 0
    functionLinenumber: 4083
    functionLinenumberEnd: 4098
    functionName: CAIRO_PRINTF_FORMAT
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_pattern_op
    - _trace_vprintf
    - _write_unlock
    - va_end
    - _emit_pattern
    - _write_lock
    - va_start
    linkageType: ''
    returnType: void
    signature: 'static void CAIRO_PRINTF_FORMAT(2, 3)_emit_pattern_op (cairo_pattern_t
      *pattern, const char *fmt, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4187,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:4189,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:4193,1
    - Dst: _create_pattern_id
      Src: /src/cairo/util/cairo-trace/trace.c:4190,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:4192,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:4194,1
    - Dst: _push_operand
      Src: /src/cairo/util/cairo-trace/trace.c:4196,1
    - Dst: dump_stack
      Src: /src/cairo/util/cairo-trace/trace.c:4197,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:4198,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4201,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4203
      start: 4181
    functionDepth: 0
    functionLinenumber: 4181
    functionLinenumberEnd: 4203
    functionName: cairo_pattern_create_linear
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _trace_printf
    - _push_operand
    - _exit_trace
    - dump_stack
    - _write_unlock
    - _emit_line_info
    - DLCALL
    - _create_pattern_id
    - _write_lock
    - _enter_trace
    linkageType: ''
    returnType: cairo_pattern_t*
    signature: 'cairo_pattern_t *cairo_pattern_create_linear (double x0, double y0,
      double x1, double y1) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: localeconv
      Src: /src/cairo/util/cairo-trace/trace.c:545,1
    - Dst: fabs
      Src: /src/cairo/util/cairo-trace/trace.c:560,1
    - Dst: snprintf
      Src: /src/cairo/util/cairo-trace/trace.c:563,1
    - Dst: snprintf
      Src: /src/cairo/util/cairo-trace/trace.c:561,1
    - Dst: strlen
      Src: /src/cairo/util/cairo-trace/trace.c:547,1
    - Dst: _cairo_isdigit
      Src: /src/cairo/util/cairo-trace/trace.c:569,1
    - Dst: strncmp
      Src: /src/cairo/util/cairo-trace/trace.c:572,1
    - Dst: snprintf
      Src: /src/cairo/util/cairo-trace/trace.c:582,1
    - Dst: _cairo_isdigit
      Src: /src/cairo/util/cairo-trace/trace.c:589,1
    - Dst: strncmp
      Src: /src/cairo/util/cairo-trace/trace.c:592,1
    - Dst: strlen
      Src: /src/cairo/util/cairo-trace/trace.c:594,1
    - Dst: memmove
      Src: /src/cairo/util/cairo-trace/trace.c:595,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 52
    argCount: 3
    argNames:
    - buffer
    - size
    - d
    argTypes:
    - char*
    - size_t
    - double
    constantsTouched: []
    func_position:
      end: 607
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 607
    functionName: _trace_dtostr
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - fabs
    - strlen
    - memmove
    - _cairo_isdigit
    - localeconv
    - strncmp
    - snprintf
    linkageType: ''
    returnType: void
    signature: 'static void _trace_dtostr (char *buffer, size_t size, double d) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cairo/util/cairo-trace/trace.c:1083,1
    - Dst: fprintf
      Src: /src/cairo/util/cairo-trace/trace.c:1088,1
    - Dst: abort
      Src: /src/cairo/util/cairo-trace/trace.c:1096,1
    - Dst: fprintf
      Src: /src/cairo/util/cairo-trace/trace.c:1092,1
    - Dst: ARRAY_LENGTH
      Src: /src/cairo/util/cairo-trace/trace.c:1085,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - obj
    argTypes:
    - Object*
    constantsTouched: []
    func_position:
      end: 1101
      start: 1080
    functionDepth: 0
    functionLinenumber: 1080
    functionLinenumberEnd: 1101
    functionName: _push_object
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - abort
    - ARRAY_LENGTH
    - fprintf
    - assert
    linkageType: ''
    returnType: void
    signature: 'static void _push_object(Object *obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2522,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2526,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2525,1
    - Dst: _emit_cairo_op
      Src: /src/cairo/util/cairo-trace/trace.c:2524,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:2523,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - cr
    - sx
    - sy
    argTypes:
    - cairo_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 2527
      start: 2519
    functionDepth: 0
    functionLinenumber: 2519
    functionLinenumberEnd: 2527
    functionName: cairo_scale
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_cairo_op
    - _exit_trace
    - _emit_line_info
    - DLCALL
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_scale (cairo_t *cr, double sx, double sy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2908,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2912,1
    - Dst: _emit_cairo_op
      Src: /src/cairo/util/cairo-trace/trace.c:2910,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:2909,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2911,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 2913
      start: 2905
    functionDepth: 0
    functionLinenumber: 2905
    functionLinenumberEnd: 2913
    functionName: cairo_clip_preserve
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_cairo_op
    - _exit_trace
    - _emit_line_info
    - DLCALL
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_clip_preserve (cairo_t *cr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3773,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:3775,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:3778,1
    - Dst: _create_surface
      Src: /src/cairo/util/cairo-trace/trace.c:3779,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:3777,1
    - Dst: _emit_surface
      Src: /src/cairo/util/cairo-trace/trace.c:3781,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3783,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3790,1
    - Dst: _push_object
      Src: /src/cairo/util/cairo-trace/trace.c:3793,1
    - Dst: dump_stack
      Src: /src/cairo/util/cairo-trace/trace.c:3794,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3798,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:3795,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3800
      start: 3767
    functionDepth: 0
    functionLinenumber: 3767
    functionLinenumberEnd: 3800
    functionName: cairo_surface_map_to_image
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _trace_printf
    - _create_surface
    - _emit_surface
    - _exit_trace
    - dump_stack
    - _write_unlock
    - _emit_line_info
    - DLCALL
    - _push_object
    - _write_lock
    - _enter_trace
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *cairo_surface_map_to_image (cairo_surface_t *surface,\t\
      \t\t const cairo_rectangle_int_t *extents) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4106,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:4112,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:4111,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:4108,1
    - Dst: _create_pattern_id
      Src: /src/cairo/util/cairo-trace/trace.c:4109,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:4113,1
    - Dst: _get_object
      Src: /src/cairo/util/cairo-trace/trace.c:4115,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:4116,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4121
      start: 4100
    functionDepth: 0
    functionLinenumber: 4100
    functionLinenumberEnd: 4121
    functionName: cairo_pattern_create_rgb
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _trace_printf
    - _exit_trace
    - _write_unlock
    - _emit_line_info
    - DLCALL
    - _get_object
    - _create_pattern_id
    - _write_lock
    - _enter_trace
    linkageType: ''
    returnType: cairo_pattern_t*
    signature: 'cairo_pattern_t *cairo_pattern_create_rgb (double red, double green,
      double blue) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4796,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:4798,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:4801,1
    - Dst: _create_surface
      Src: /src/cairo/util/cairo-trace/trace.c:4802,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:4800,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:4804,1
    - Dst: _push_object
      Src: /src/cairo/util/cairo-trace/trace.c:4814,1
    - Dst: dump_stack
      Src: /src/cairo/util/cairo-trace/trace.c:4815,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:4816,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4819,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4821
      start: 4791
    functionDepth: 0
    functionLinenumber: 4791
    functionLinenumberEnd: 4821
    functionName: cairo_svg_surface_create_for_stream
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _trace_printf
    - _create_surface
    - _exit_trace
    - dump_stack
    - _write_unlock
    - _emit_line_info
    - DLCALL
    - _push_object
    - _write_lock
    - _enter_trace
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'cairo_surface_t *cairo_svg_surface_create_for_stream (cairo_write_func_t
      write_func, void *closure, double width, double height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:5021,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:5026,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:5027,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:5023,1
    - Dst: _create_surface
      Src: /src/cairo/util/cairo-trace/trace.c:5028,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:5030,1
    - Dst: _content_from_surface
      Src: /src/cairo/util/cairo-trace/trace.c:5039,1
    - Dst: _push_object
      Src: /src/cairo/util/cairo-trace/trace.c:5047,1
    - Dst: dump_stack
      Src: /src/cairo/util/cairo-trace/trace.c:5048,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:5049,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:5052,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5054
      start: 5012
    functionDepth: 0
    functionLinenumber: 5012
    functionLinenumberEnd: 5054
    functionName: cairo_xlib_surface_create_with_xrender_format
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _trace_printf
    - _create_surface
    - _exit_trace
    - dump_stack
    - _write_unlock
    - _emit_line_info
    - DLCALL
    - _push_object
    - _content_from_surface
    - _write_lock
    - _enter_trace
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *cairo_xlib_surface_create_with_xrender_format (Display\
      \ *dpy,\t\t\t\t\t Drawable drawable,\t\t\t\t\t Screen *screen,\t\t\t\t\t XRenderPictFormat\
      \ *format,\t\t\t\t\t int width, int height) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:5164,1
    - Dst: _create_surface
      Src: /src/cairo/util/cairo-trace/trace.c:5170,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:5168,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:5166,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:5169,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:5172,1
    - Dst: _content_to_string
      Src: /src/cairo/util/cairo-trace/trace.c:5178,1
    - Dst: _push_object
      Src: /src/cairo/util/cairo-trace/trace.c:5182,1
    - Dst: dump_stack
      Src: /src/cairo/util/cairo-trace/trace.c:5183,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:5184,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:5187,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5189
      start: 5159
    functionDepth: 0
    functionLinenumber: 5159
    functionLinenumberEnd: 5189
    functionName: _cairo_test_fallback_compositor_surface_create
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _trace_printf
    - _create_surface
    - _content_to_string
    - _exit_trace
    - dump_stack
    - _write_unlock
    - _emit_line_info
    - DLCALL
    - _push_object
    - _write_lock
    - _enter_trace
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'cairo_surface_t *_cairo_test_fallback_compositor_surface_create (cairo_content_t
      content, int width, int height) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _get_object
      Src: /src/cairo/util/cairo-trace/trace.c:1245,1
    - Dst: _type_object_create
      Src: /src/cairo/util/cairo-trace/trace.c:1247,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:1248,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - pattern
    argTypes:
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 1253
      start: 1240
    functionDepth: 0
    functionLinenumber: 1240
    functionLinenumberEnd: 1253
    functionName: _create_pattern_id
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _get_object
    - DLCALL
    - _type_object_create
    linkageType: ''
    returnType: long
    signature: 'static long _create_pattern_id (cairo_pattern_t *pattern) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3452,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:3454,1
    - Dst: _emit_context
      Src: /src/cairo/util/cairo-trace/trace.c:3455,1
    - Dst: _emit_string_literal
      Src: /src/cairo/util/cairo-trace/trace.c:3456,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:3453,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3457,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:3458,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:3460,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3461,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - cr
    - utf8
    argTypes:
    - cairo_t*
    - char*
    constantsTouched: []
    func_position:
      end: 3462
      start: 3449
    functionDepth: 0
    functionLinenumber: 3449
    functionLinenumberEnd: 3462
    functionName: cairo_text_path
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_context
    - _trace_printf
    - _emit_string_literal
    - _exit_trace
    - _write_unlock
    - _emit_line_info
    - DLCALL
    - _write_lock
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_text_path (cairo_t *cr, const char *utf8) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _get_object
      Src: /src/cairo/util/cairo-trace/trace.c:1258,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:1260,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:1263,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:1265,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - pattern
    argTypes:
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 1269
      start: 1255
    functionDepth: 0
    functionLinenumber: 1255
    functionLinenumberEnd: 1269
    functionName: _emit_pattern_id
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _get_object
    - _trace_printf
    linkageType: ''
    returnType: void
    signature: 'static void _emit_pattern_id (cairo_pattern_t *pattern) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3469,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:3474,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:3471,1
    - Dst: _emit_context
      Src: /src/cairo/util/cairo-trace/trace.c:3475,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:3473,1
    - Dst: _emit_glyphs
      Src: /src/cairo/util/cairo-trace/trace.c:3476,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3477,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:3479,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:3482,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3483,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - cr
    - glyphs
    - num_glyphs
    argTypes:
    - cairo_t*
    - cairo_glyph_t*
    - int
    constantsTouched: []
    func_position:
      end: 3484
      start: 3464
    functionDepth: 0
    functionLinenumber: 3464
    functionLinenumberEnd: 3484
    functionName: cairo_glyph_path
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_context
    - _trace_printf
    - _emit_glyphs
    - _exit_trace
    - _write_unlock
    - _emit_line_info
    - DLCALL
    - _write_lock
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_glyph_path (cairo_t *cr, const cairo_glyph_t *glyphs, int
      num_glyphs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cairo/util/cairo-trace/trace.c:1459,1
    - Dst: _write_zlib_data
      Src: /src/cairo/util/cairo-trace/trace.c:1465,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - stream
    - data
    - length
    argTypes:
    - struct _data_stream*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1467
      start: 1447
    functionDepth: 0
    functionLinenumber: 1447
    functionLinenumberEnd: 1467
    functionName: _write_data
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - memcpy
    - _write_zlib_data
    linkageType: ''
    returnType: void
    signature: "static void _write_data (struct _data_stream *stream,\t const void\
      \ *data,\t unsigned int length) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _pop_operands_to_object
      Src: /src/cairo/util/cairo-trace/trace.c:1944,1
    - Dst: _push_object
      Src: /src/cairo/util/cairo-trace/trace.c:1963,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:1960,1
    - Dst: assert
      Src: /src/cairo/util/cairo-trace/trace.c:1959,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:1948,1
    - Dst: dump_stack
      Src: /src/cairo/util/cairo-trace/trace.c:1964,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - obj
    argTypes:
    - Object*
    constantsTouched: []
    func_position:
      end: 1966
      start: 1941
    functionDepth: 0
    functionLinenumber: 1941
    functionLinenumberEnd: 1966
    functionName: _emit_current
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _trace_printf
    - assert
    - dump_stack
    - _push_object
    - _pop_operands_to_object
    linkageType: ''
    returnType: void
    signature: 'static void _emit_current (Object *obj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2477,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:2479,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:2484,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:2478,1
    - Dst: _emit_context
      Src: /src/cairo/util/cairo-trace/trace.c:2482,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:2487,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:2488,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:2490,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:2492,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2495,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2496,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - cr
    - dashes
    - num_dashes
    - offset
    argTypes:
    - cairo_t*
    - double*
    - int
    - double
    constantsTouched: []
    func_position:
      end: 2497
      start: 2474
    functionDepth: 0
    functionLinenumber: 2474
    functionLinenumberEnd: 2497
    functionName: cairo_set_dash
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_context
    - _trace_printf
    - _exit_trace
    - _write_unlock
    - _emit_line_info
    - DLCALL
    - _write_lock
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_set_dash (cairo_t *cr, const double *dashes, int num_dashes,
      double offset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2683,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2686,1
    - Dst: _emit_cairo_op
      Src: /src/cairo/util/cairo-trace/trace.c:2684,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2687,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 6
    argNames:
    - cr
    - xc
    - yc
    - radius
    - angle1
    - angle2
    argTypes:
    - cairo_t*
    - double
    - double
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 2688
      start: 2680
    functionDepth: 0
    functionLinenumber: 2680
    functionLinenumberEnd: 2688
    functionName: cairo_arc_negative
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _exit_trace
    - _emit_cairo_op
    - _enter_trace
    - DLCALL
    linkageType: ''
    returnType: void
    signature: 'void cairo_arc_negative (cairo_t *cr, double xc, double yc, double
      radius, double angle1, double angle2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3402
      start: 3394
    functionDepth: 0
    functionLinenumber: 3394
    functionLinenumberEnd: 3402
    functionName: _direction_to_string
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *_direction_to_string (cairo_bool_t backward) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _emit_current
      Src: /src/cairo/util/cairo-trace/trace.c:1971,1
    - Dst: _get_object
      Src: /src/cairo/util/cairo-trace/trace.c:1971,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 1972
      start: 1968
    functionDepth: 0
    functionLinenumber: 1968
    functionLinenumberEnd: 1972
    functionName: _emit_context
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_current
    - _get_object
    linkageType: ''
    returnType: void
    signature: 'static void _emit_context (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _get_counter
      Src: /src/cairo/util/cairo-trace/trace.c:480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 481
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 481
    functionName: _should_trace
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _get_counter
    linkageType: ''
    returnType: cairo_bool_t
    signature: 'static cairo_bool_t _should_trace (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _write_zlib_data
      Src: /src/cairo/util/cairo-trace/trace.c:1472,1
    - Dst: deflateEnd
      Src: /src/cairo/util/cairo-trace/trace.c:1473,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - struct _data_stream*
    constantsTouched: []
    func_position:
      end: 1475
      start: 1469
    functionDepth: 0
    functionLinenumber: 1469
    functionLinenumberEnd: 1475
    functionName: _write_zlib_data_end
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - deflateEnd
    - _write_zlib_data
    linkageType: ''
    returnType: void
    signature: 'static void _write_zlib_data_end (struct _data_stream *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2502,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2505,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2506,1
    - Dst: _emit_cairo_op
      Src: /src/cairo/util/cairo-trace/trace.c:2504,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:2503,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - cr
    - limit
    argTypes:
    - cairo_t*
    - double
    constantsTouched: []
    func_position:
      end: 2507
      start: 2499
    functionDepth: 0
    functionLinenumber: 2499
    functionLinenumberEnd: 2507
    functionName: cairo_set_miter_limit
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _emit_cairo_op
    - _exit_trace
    - _emit_line_info
    - DLCALL
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: 'void cairo_set_miter_limit (cairo_t *cr, double limit) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2693,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:2696,1
    - Dst: _emit_cairo_op
      Src: /src/cairo/util/cairo-trace/trace.c:2694,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:2695,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - cr
    - dx
    - dy
    argTypes:
    - cairo_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 2697
      start: 2690
    functionDepth: 0
    functionLinenumber: 2690
    functionLinenumberEnd: 2697
    functionName: cairo_rel_move_to
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _exit_trace
    - _emit_cairo_op
    - _enter_trace
    - DLCALL
    linkageType: ''
    returnType: void
    signature: 'void cairo_rel_move_to (cairo_t *cr, double dx, double dy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3416,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:3420,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:3418,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:3421,1
    - Dst: _emit_context
      Src: /src/cairo/util/cairo-trace/trace.c:3424,1
    - Dst: _emit_string_literal
      Src: /src/cairo/util/cairo-trace/trace.c:3426,1
    - Dst: _emit_glyphs
      Src: /src/cairo/util/cairo-trace/trace.c:3428,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3429,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3431,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:3435,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:3446,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:3441,1
    - Dst: _direction_to_string
      Src: /src/cairo/util/cairo-trace/trace.c:3436,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:3438,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 8
    argNames:
    - cr
    - utf8
    - utf8_len
    - glyphs
    - num_glyphs
    - clusters
    - num_clusters
    - backward
    argTypes:
    - cairo_t*
    - char*
    - int
    - cairo_glyph_t*
    - int
    - cairo_text_cluster_t*
    - int
    - cairo_text_cluster_flags_t
    constantsTouched: []
    func_position:
      end: 3447
      start: 3404
    functionDepth: 0
    functionLinenumber: 3404
    functionLinenumberEnd: 3447
    functionName: cairo_show_text_glyphs
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _direction_to_string
    - _emit_context
    - _trace_printf
    - _emit_string_literal
    - _emit_glyphs
    - _exit_trace
    - _write_unlock
    - _emit_line_info
    - DLCALL
    - _write_lock
    - _enter_trace
    linkageType: ''
    returnType: void
    signature: "void cairo_show_text_glyphs (cairo_t\t\t\t *cr,\t\t\tconst char\t\t\
      \ *utf8,\t\t\tint\t\t\t utf8_len,\t\t\tconst cairo_glyph_t\t *glyphs,\t\t\t\
      int\t\t\t num_glyphs,\t\t\tconst cairo_text_cluster_t *clusters,\t\t\tint\t\t\
      \t num_clusters,\t\t\tcairo_text_cluster_flags_t backward) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _enter_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4935,1
    - Dst: _write_lock
      Src: /src/cairo/util/cairo-trace/trace.c:4941,1
    - Dst: _emit_line_info
      Src: /src/cairo/util/cairo-trace/trace.c:4940,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-trace/trace.c:4937,1
    - Dst: _create_surface
      Src: /src/cairo/util/cairo-trace/trace.c:4942,1
    - Dst: _trace_printf
      Src: /src/cairo/util/cairo-trace/trace.c:4944,1
    - Dst: _content_from_surface
      Src: /src/cairo/util/cairo-trace/trace.c:4952,1
    - Dst: _push_object
      Src: /src/cairo/util/cairo-trace/trace.c:4959,1
    - Dst: dump_stack
      Src: /src/cairo/util/cairo-trace/trace.c:4960,1
    - Dst: _write_unlock
      Src: /src/cairo/util/cairo-trace/trace.c:4961,1
    - Dst: _exit_trace
      Src: /src/cairo/util/cairo-trace/trace.c:4964,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4966
      start: 4927
    functionDepth: 0
    functionLinenumber: 4927
    functionLinenumberEnd: 4966
    functionName: cairo_xlib_surface_create
    functionSourceFile: /src/cairo/util/cairo-trace/trace.c
    functionUses: []
    functionsReached:
    - _trace_printf
    - _create_surface
    - _exit_trace
    - dump_stack
    - _write_unlock
    - _emit_line_info
    - DLCALL
    - _push_object
    - _content_from_surface
    - _write_lock
    - _enter_trace
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *cairo_xlib_surface_create (Display *dpy,\t\t\t Drawable\
      \ drawable,\t\t\t Visual *visual,\t\t\t int width, int height) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:69,1
    - Dst: g_once_init_leave
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:78,1
    - Dst: g_intern_static_string
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:76,1
    - Dst: g_enum_register_static
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 81
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 81
    functionName: cairo_gobject_content_get_type
    functionSourceFile: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c
    functionUses: []
    functionsReached:
    - g_once_init_leave
    - g_once_init_enter
    - g_intern_static_string
    - g_enum_register_static
    linkageType: ''
    returnType: GType
    signature: 'GType cairo_gobject_content_get_type (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:131,1
    - Dst: g_enum_register_static
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:145,1
    - Dst: g_once_init_leave
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:147,1
    - Dst: g_intern_static_string
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 150
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 150
    functionName: cairo_gobject_antialias_get_type
    functionSourceFile: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c
    functionUses: []
    functionsReached:
    - g_once_init_leave
    - g_once_init_enter
    - g_intern_static_string
    - g_enum_register_static
    linkageType: ''
    returnType: GType
    signature: 'GType cairo_gobject_antialias_get_type (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:173,1
    - Dst: g_enum_register_static
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:180,1
    - Dst: g_once_init_leave
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:182,1
    - Dst: g_intern_static_string
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 185
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 185
    functionName: cairo_gobject_line_cap_get_type
    functionSourceFile: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c
    functionUses: []
    functionsReached:
    - g_once_init_leave
    - g_once_init_enter
    - g_intern_static_string
    - g_enum_register_static
    linkageType: ''
    returnType: GType
    signature: 'GType cairo_gobject_line_cap_get_type (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:209,1
    - Dst: g_enum_register_static
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:214,1
    - Dst: g_once_init_leave
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:216,1
    - Dst: g_intern_static_string
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 219
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 219
    functionName: cairo_gobject_text_cluster_flags_get_type
    functionSourceFile: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c
    functionUses: []
    functionsReached:
    - g_once_init_leave
    - g_once_init_enter
    - g_intern_static_string
    - g_enum_register_static
    linkageType: ''
    returnType: GType
    signature: 'GType cairo_gobject_text_cluster_flags_get_type (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:318,1
    - Dst: g_intern_static_string
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:327,1
    - Dst: g_once_init_leave
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:329,1
    - Dst: g_enum_register_static
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:327,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 332
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 332
    functionName: cairo_gobject_font_type_get_type
    functionSourceFile: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c
    functionUses: []
    functionsReached:
    - g_once_init_leave
    - g_once_init_enter
    - g_intern_static_string
    - g_enum_register_static
    linkageType: ''
    returnType: GType
    signature: 'GType cairo_gobject_font_type_get_type (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:416,1
    - Dst: g_enum_register_static
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:426,1
    - Dst: g_intern_static_string
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:426,1
    - Dst: g_once_init_leave
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:428,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 431
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 431
    functionName: cairo_gobject_format_get_type
    functionSourceFile: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c
    functionUses: []
    functionsReached:
    - g_once_init_leave
    - g_once_init_enter
    - g_intern_static_string
    - g_enum_register_static
    linkageType: ''
    returnType: GType
    signature: 'GType cairo_gobject_format_get_type (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:87,1
    - Dst: g_enum_register_static
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:120,1
    - Dst: g_intern_static_string
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:120,1
    - Dst: g_once_init_leave
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 125
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 125
    functionName: cairo_gobject_operator_get_type
    functionSourceFile: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c
    functionUses: []
    functionsReached:
    - g_once_init_leave
    - g_once_init_enter
    - g_intern_static_string
    - g_enum_register_static
    linkageType: ''
    returnType: GType
    signature: 'GType cairo_gobject_operator_get_type (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:156,1
    - Dst: g_enum_register_static
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:162,1
    - Dst: g_once_init_leave
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:164,1
    - Dst: g_intern_static_string
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 167
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 167
    functionName: cairo_gobject_fill_rule_get_type
    functionSourceFile: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c
    functionUses: []
    functionsReached:
    - g_once_init_leave
    - g_once_init_enter
    - g_intern_static_string
    - g_enum_register_static
    linkageType: ''
    returnType: GType
    signature: 'GType cairo_gobject_fill_rule_get_type (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:191,1
    - Dst: g_once_init_leave
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:200,1
    - Dst: g_intern_static_string
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:198,1
    - Dst: g_enum_register_static
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 203
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 203
    functionName: cairo_gobject_line_join_get_type
    functionSourceFile: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c
    functionUses: []
    functionsReached:
    - g_once_init_leave
    - g_once_init_enter
    - g_intern_static_string
    - g_enum_register_static
    linkageType: ''
    returnType: GType
    signature: 'GType cairo_gobject_line_join_get_type (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:225,1
    - Dst: g_once_init_leave
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:234,1
    - Dst: g_intern_static_string
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:232,1
    - Dst: g_enum_register_static
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 237
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 237
    functionName: cairo_gobject_font_slant_get_type
    functionSourceFile: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c
    functionUses: []
    functionsReached:
    - g_once_init_leave
    - g_once_init_enter
    - g_intern_static_string
    - g_enum_register_static
    linkageType: ''
    returnType: GType
    signature: 'GType cairo_gobject_font_slant_get_type (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:338,1
    - Dst: g_enum_register_static
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:346,1
    - Dst: g_once_init_leave
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:348,1
    - Dst: g_intern_static_string
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 351
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 351
    functionName: cairo_gobject_path_data_type_get_type
    functionSourceFile: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c
    functionUses: []
    functionsReached:
    - g_once_init_leave
    - g_once_init_enter
    - g_intern_static_string
    - g_enum_register_static
    linkageType: ''
    returnType: GType
    signature: 'GType cairo_gobject_path_data_type_get_type (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:437,1
    - Dst: g_enum_register_static
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:446,1
    - Dst: g_intern_static_string
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:446,1
    - Dst: g_once_init_leave
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:448,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 451
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 451
    functionName: cairo_gobject_pattern_type_get_type
    functionSourceFile: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c
    functionUses: []
    functionsReached:
    - g_once_init_leave
    - g_once_init_enter
    - g_intern_static_string
    - g_enum_register_static
    linkageType: ''
    returnType: GType
    signature: 'GType cairo_gobject_pattern_type_get_type (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:243,1
    - Dst: g_once_init_leave
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:251,1
    - Dst: g_intern_static_string
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:249,1
    - Dst: g_enum_register_static
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 254
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 254
    functionName: cairo_gobject_font_weight_get_type
    functionSourceFile: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c
    functionUses: []
    functionsReached:
    - g_once_init_leave
    - g_once_init_enter
    - g_intern_static_string
    - g_enum_register_static
    linkageType: ''
    returnType: GType
    signature: 'GType cairo_gobject_font_weight_get_type (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:280,1
    - Dst: g_enum_register_static
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:289,1
    - Dst: g_once_init_leave
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:291,1
    - Dst: g_intern_static_string
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 294
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 294
    functionName: cairo_gobject_hint_style_get_type
    functionSourceFile: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c
    functionUses: []
    functionsReached:
    - g_once_init_leave
    - g_once_init_enter
    - g_intern_static_string
    - g_enum_register_static
    linkageType: ''
    returnType: GType
    signature: 'GType cairo_gobject_hint_style_get_type (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:357,1
    - Dst: g_enum_register_static
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:367,1
    - Dst: g_once_init_leave
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:369,1
    - Dst: g_intern_static_string
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 372
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 372
    functionName: cairo_gobject_device_type_get_type
    functionSourceFile: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c
    functionUses: []
    functionsReached:
    - g_once_init_leave
    - g_once_init_enter
    - g_intern_static_string
    - g_enum_register_static
    linkageType: ''
    returnType: GType
    signature: 'GType cairo_gobject_device_type_get_type (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:457,1
    - Dst: g_enum_register_static
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:465,1
    - Dst: g_once_init_leave
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:467,1
    - Dst: g_intern_static_string
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:465,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 470
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 470
    functionName: cairo_gobject_extend_get_type
    functionSourceFile: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c
    functionUses: []
    functionsReached:
    - g_once_init_leave
    - g_once_init_enter
    - g_intern_static_string
    - g_enum_register_static
    linkageType: ''
    returnType: GType
    signature: 'GType cairo_gobject_extend_get_type (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:11,1
    - Dst: g_enum_register_static
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:58,1
    - Dst: g_intern_static_string
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:58,1
    - Dst: g_once_init_leave
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 63
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 63
    functionName: cairo_gobject_status_get_type
    functionSourceFile: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c
    functionUses: []
    functionsReached:
    - g_once_init_leave
    - g_once_init_enter
    - g_intern_static_string
    - g_enum_register_static
    linkageType: ''
    returnType: GType
    signature: 'GType cairo_gobject_status_get_type (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:260,1
    - Dst: g_enum_register_static
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:269,1
    - Dst: g_once_init_leave
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:271,1
    - Dst: g_intern_static_string
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 274
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 274
    functionName: cairo_gobject_subpixel_order_get_type
    functionSourceFile: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c
    functionUses: []
    functionsReached:
    - g_once_init_leave
    - g_once_init_enter
    - g_intern_static_string
    - g_enum_register_static
    linkageType: ''
    returnType: GType
    signature: 'GType cairo_gobject_subpixel_order_get_type (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:300,1
    - Dst: g_enum_register_static
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:307,1
    - Dst: g_once_init_leave
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:309,1
    - Dst: g_intern_static_string
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 312
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 312
    functionName: cairo_gobject_hint_metrics_get_type
    functionSourceFile: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c
    functionUses: []
    functionsReached:
    - g_once_init_leave
    - g_once_init_enter
    - g_intern_static_string
    - g_enum_register_static
    linkageType: ''
    returnType: GType
    signature: 'GType cairo_gobject_hint_metrics_get_type (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:378,1
    - Dst: g_enum_register_static
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:405,1
    - Dst: g_once_init_leave
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:407,1
    - Dst: g_intern_static_string
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:405,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 410
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 410
    functionName: cairo_gobject_surface_type_get_type
    functionSourceFile: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c
    functionUses: []
    functionsReached:
    - g_once_init_leave
    - g_once_init_enter
    - g_intern_static_string
    - g_enum_register_static
    linkageType: ''
    returnType: GType
    signature: 'GType cairo_gobject_surface_type_get_type (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:476,1
    - Dst: g_enum_register_static
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:486,1
    - Dst: g_intern_static_string
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:486,1
    - Dst: g_once_init_leave
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:488,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 491
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 491
    functionName: cairo_gobject_filter_get_type
    functionSourceFile: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c
    functionUses: []
    functionsReached:
    - g_once_init_leave
    - g_once_init_enter
    - g_intern_static_string
    - g_enum_register_static
    linkageType: ''
    returnType: GType
    signature: 'GType cairo_gobject_filter_get_type (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:497,1
    - Dst: g_once_init_leave
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:506,1
    - Dst: g_intern_static_string
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:504,1
    - Dst: g_enum_register_static
      Src: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c:504,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 509
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 509
    functionName: cairo_gobject_region_overlap_get_type
    functionSourceFile: /src/cairo/util/cairo-gobject/cairo-gobject-enums.c
    functionUses: []
    functionsReached:
    - g_once_init_leave
    - g_once_init_enter
    - g_intern_static_string
    - g_enum_register_static
    linkageType: ''
    returnType: GType
    signature: 'GType cairo_gobject_region_overlap_get_type (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-fdr/fdr.c:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: fdr_surface_get_tee
    functionSourceFile: /src/cairo/util/cairo-fdr/fdr.c
    functionUses: []
    functionsReached:
    - DLCALL
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *fdr_surface_get_tee (cairo_surface_t *surface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fdr_pending_signals
      Src: /src/cairo/util/cairo-fdr/fdr.c:160,1
    - Dst: fdr_get_extents
      Src: /src/cairo/util/cairo-fdr/fdr.c:167,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-fdr/fdr.c:170,1
    - Dst: fdr_surface_get_tee
      Src: /src/cairo/util/cairo-fdr/fdr.c:162,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-fdr/fdr.c:168,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-fdr/fdr.c:171,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-fdr/fdr.c:172,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-fdr/fdr.c:174,1
    - Dst: fdr_tee_surface_index
      Src: /src/cairo/util/cairo-fdr/fdr.c:179,1
    - Dst: fdr_surface_destroy
      Src: /src/cairo/util/cairo-fdr/fdr.c:190,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-fdr/fdr.c:194,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 195
    functionName: cairo_create
    functionSourceFile: /src/cairo/util/cairo-fdr/fdr.c
    functionUses: []
    functionsReached:
    - fdr_surface_destroy
    - fdr_surface_get_tee
    - fdr_get_extents
    - fdr_pending_signals
    - DLCALL
    - fdr_tee_surface_index
    linkageType: ''
    returnType: cairo_t*
    signature: 'cairo_t *cairo_create (cairo_surface_t *surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-fdr/fdr.c:210,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-fdr/fdr.c:211,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-fdr/fdr.c:213,1
    - Dst: fdr_tee_surface_index
      Src: /src/cairo/util/cairo-fdr/fdr.c:214,1
    - Dst: fdr_remove_tee
      Src: /src/cairo/util/cairo-fdr/fdr.c:214,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cairo_t*
    constantsTouched: []
    func_position:
      end: 215
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 215
    functionName: cairo_destroy
    functionSourceFile: /src/cairo/util/cairo-fdr/fdr.c
    functionUses: []
    functionsReached:
    - fdr_tee_surface_index
    - fdr_remove_tee
    - DLCALL
    linkageType: ''
    returnType: void
    signature: 'void cairo_destroy (cairo_t *cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-fdr/fdr.c:239,1
    - Dst: fdr_tee_surface_index
      Src: /src/cairo/util/cairo-fdr/fdr.c:240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 241
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 241
    functionName: cairo_get_target
    functionSourceFile: /src/cairo/util/cairo-fdr/fdr.c
    functionUses: []
    functionsReached:
    - fdr_tee_surface_index
    - DLCALL
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'cairo_surface_t *cairo_get_target (cairo_t *cr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fdr_surface_get_tee
      Src: /src/cairo/util/cairo-fdr/fdr.c:257,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-fdr/fdr.c:261,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 262
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 262
    functionName: cairo_pattern_create_for_surface
    functionSourceFile: /src/cairo/util/cairo-fdr/fdr.c
    functionUses: []
    functionsReached:
    - fdr_surface_get_tee
    - DLCALL
    linkageType: ''
    returnType: cairo_pattern_t*
    signature: 'cairo_pattern_t *cairo_pattern_create_for_surface (cairo_surface_t
      *surface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-fdr/fdr.c:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: fdr_tee_surface_index
    functionSourceFile: /src/cairo/util/cairo-fdr/fdr.c
    functionUses: []
    functionsReached:
    - DLCALL
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'static cairo_surface_t *fdr_tee_surface_index (cairo_surface_t *surface,
      int index) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fdr_surface_reference
      Src: /src/cairo/util/cairo-fdr/fdr.c:200,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-fdr/fdr.c:201,1
    - Dst: fdr_surface_destroy
      Src: /src/cairo/util/cairo-fdr/fdr.c:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - surface
    argTypes:
    - cairo_surface_t*
    constantsTouched: []
    func_position:
      end: 203
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 203
    functionName: fdr_remove_tee
    functionSourceFile: /src/cairo/util/cairo-fdr/fdr.c
    functionUses: []
    functionsReached:
    - fdr_surface_reference
    - fdr_surface_destroy
    - DLCALL
    linkageType: ''
    returnType: void
    signature: 'static void fdr_remove_tee (cairo_surface_t *surface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-fdr/fdr.c:220,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-fdr/fdr.c:225,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-fdr/fdr.c:223,1
    - Dst: fdr_remove_tee
      Src: /src/cairo/util/cairo-fdr/fdr.c:227,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-fdr/fdr.c:224,1
    - Dst: fdr_tee_surface_index
      Src: /src/cairo/util/cairo-fdr/fdr.c:227,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-fdr/fdr.c:231,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - pattern
    argTypes:
    - cairo_pattern_t*
    constantsTouched: []
    func_position:
      end: 232
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 232
    functionName: cairo_pattern_destroy
    functionSourceFile: /src/cairo/util/cairo-fdr/fdr.c
    functionUses: []
    functionsReached:
    - fdr_tee_surface_index
    - fdr_remove_tee
    - DLCALL
    linkageType: ''
    returnType: void
    signature: 'void cairo_pattern_destroy (cairo_pattern_t *pattern) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-fdr/fdr.c:248,1
    - Dst: fdr_tee_surface_index
      Src: /src/cairo/util/cairo-fdr/fdr.c:249,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 250
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 250
    functionName: cairo_get_group_target
    functionSourceFile: /src/cairo/util/cairo-fdr/fdr.c
    functionUses: []
    functionsReached:
    - fdr_tee_surface_index
    - DLCALL
    linkageType: ''
    returnType: cairo_surface_t*
    signature: 'cairo_surface_t *cairo_get_group_target (cairo_t *cr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-fdr/fdr.c:271,1
    - Dst: fdr_surface_get_tee
      Src: /src/cairo/util/cairo-fdr/fdr.c:275,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - pattern
    - surface
    argTypes:
    - cairo_pattern_t*
    - cairo_surface_t**
    constantsTouched: []
    func_position:
      end: 280
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 280
    functionName: cairo_pattern_get_surface
    functionSourceFile: /src/cairo/util/cairo-fdr/fdr.c
    functionUses: []
    functionsReached:
    - fdr_surface_get_tee
    - DLCALL
    linkageType: ''
    returnType: cairo_status_t
    signature: "cairo_status_t cairo_pattern_get_surface (cairo_pattern_t *pattern,\t\
      \t\t cairo_surface_t **surface) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/cairo/util/cairo-fdr/fdr.c:103,1
    - Dst: atexit
      Src: /src/cairo/util/cairo-fdr/fdr.c:107,1
    - Dst: fdr_dump_ringbuffer
      Src: /src/cairo/util/cairo-fdr/fdr.c:111,1
    - Dst: signal
      Src: /src/cairo/util/cairo-fdr/fdr.c:106,1
    - Dst: signal
      Src: /src/cairo/util/cairo-fdr/fdr.c:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 114
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 114
    functionName: fdr_pending_signals
    functionSourceFile: /src/cairo/util/cairo-fdr/fdr.c
    functionUses: []
    functionsReached:
    - signal
    - atexit
    - fdr_dump_ringbuffer
    linkageType: ''
    returnType: void
    signature: 'static void fdr_pending_signals (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-fdr/fdr.c:122,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-fdr/fdr.c:125,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-fdr/fdr.c:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - surface
    - extents
    argTypes:
    - cairo_surface_t*
    - cairo_rectangle_t*
    constantsTouched: []
    func_position:
      end: 129
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 129
    functionName: fdr_get_extents
    functionSourceFile: /src/cairo/util/cairo-fdr/fdr.c
    functionUses: []
    functionsReached:
    - DLCALL
    linkageType: ''
    returnType: void
    signature: "static void fdr_get_extents (cairo_surface_t *surface,\t\t cairo_rectangle_t\
      \ *extents) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fdr_surface_get_tee
      Src: /src/cairo/util/cairo-fdr/fdr.c:320,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-fdr/fdr.c:324,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 326
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 326
    functionName: cairo_surface_create_for_rectangle
    functionSourceFile: /src/cairo/util/cairo-fdr/fdr.c
    functionUses: []
    functionsReached:
    - fdr_surface_get_tee
    - DLCALL
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *cairo_surface_create_for_rectangle (cairo_surface_t\
      \ *surface, double\t\t x, double\t\t y, double\t\t width, double\t\t height) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-fdr/fdr.c:65,1
    - Dst: fdr_replay_to_script
      Src: /src/cairo/util/cairo-fdr/fdr.c:68,1
    - Dst: fdr_replay_to_script
      Src: /src/cairo/util/cairo-fdr/fdr.c:71,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-fdr/fdr.c:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 74
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 74
    functionName: fdr_dump_ringbuffer
    functionSourceFile: /src/cairo/util/cairo-fdr/fdr.c
    functionUses: []
    functionsReached:
    - fdr_replay_to_script
    - DLCALL
    linkageType: ''
    returnType: void
    signature: 'static void fdr_dump_ringbuffer (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: fdr_sighandler
    functionSourceFile: /src/cairo/util/cairo-fdr/fdr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void fdr_sighandler (int sig) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fdr_dump_ringbuffer
      Src: /src/cairo/util/cairo-fdr/fdr.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: fdr_urgent_sighandler
    functionSourceFile: /src/cairo/util/cairo-fdr/fdr.c
    functionUses: []
    functionsReached:
    - fdr_dump_ringbuffer
    linkageType: ''
    returnType: void
    signature: 'static void fdr_urgent_sighandler (int sig) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-fdr/fdr.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: fdr_surface_destroy
    functionSourceFile: /src/cairo/util/cairo-fdr/fdr.c
    functionUses: []
    functionsReached:
    - DLCALL
    linkageType: ''
    returnType: void
    signature: 'static void fdr_surface_destroy (void *surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fdr_surface_get_tee
      Src: /src/cairo/util/cairo-fdr/fdr.c:289,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-fdr/fdr.c:293,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - cr
    - surface
    - x
    - y
    argTypes:
    - cairo_t*
    - cairo_surface_t*
    - double
    - double
    constantsTouched: []
    func_position:
      end: 294
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 294
    functionName: cairo_set_source_surface
    functionSourceFile: /src/cairo/util/cairo-fdr/fdr.c
    functionUses: []
    functionsReached:
    - fdr_surface_get_tee
    - DLCALL
    linkageType: ''
    returnType: void
    signature: "void cairo_set_source_surface (cairo_t *cr,\t\t\t cairo_surface_t\
      \ *surface,\t\t\t double x, double y) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-fdr/fdr.c:54,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-fdr/fdr.c:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - recording
    - ctx
    argTypes:
    - cairo_surface_t*
    - cairo_device_t*
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: fdr_replay_to_script
    functionSourceFile: /src/cairo/util/cairo-fdr/fdr.c
    functionUses: []
    functionsReached:
    - DLCALL
    linkageType: ''
    returnType: void
    signature: 'static void fdr_replay_to_script (cairo_surface_t *recording, cairo_device_t
      *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fdr_dump_ringbuffer
      Src: /src/cairo/util/cairo-fdr/fdr.c:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: fdr_atexit
    functionSourceFile: /src/cairo/util/cairo-fdr/fdr.c
    functionUses: []
    functionsReached:
    - fdr_dump_ringbuffer
    linkageType: ''
    returnType: void
    signature: 'static void fdr_atexit (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-fdr/fdr.c:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: fdr_surface_reference
    functionSourceFile: /src/cairo/util/cairo-fdr/fdr.c
    functionUses: []
    functionsReached:
    - DLCALL
    linkageType: ''
    returnType: void
    signature: 'static void fdr_surface_reference (void *surface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fdr_surface_get_tee
      Src: /src/cairo/util/cairo-fdr/fdr.c:303,1
    - Dst: DLCALL
      Src: /src/cairo/util/cairo-fdr/fdr.c:307,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 309
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 309
    functionName: cairo_surface_create_similar
    functionSourceFile: /src/cairo/util/cairo-fdr/fdr.c
    functionUses: []
    functionsReached:
    - fdr_surface_get_tee
    - DLCALL
    linkageType: ''
    returnType: cairo_surface_t*
    signature: "cairo_surface_t *cairo_surface_create_similar (cairo_surface_t *surface,\t\
      \t\t cairo_content_t content,\t\t\t int width, int height) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_closure_invalidate
      Src: /src/glib/gobject/gsignalgroup.c:489,1
    - Dst: g_clear_pointer
      Src: /src/glib/gobject/gsignalgroup.c:494,1
    - Dst: g_slice_free
      Src: /src/glib/gobject/gsignalgroup.c:495,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 496
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 496
    functionName: signal_handler_free
    functionSourceFile: /src/glib/gobject/gsignalgroup.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_slice_free
    - g_closure_invalidate
    linkageType: ''
    returnType: void
    signature: 'static void signal_handler_free (gpointer data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/gsignalgroup.c:109,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignalgroup.c:110,1
    - Dst: G_TYPE_IS_INTERFACE
      Src: /src/glib/gobject/gsignalgroup.c:117,1
    - Dst: G_IS_SIGNAL_GROUP
      Src: /src/glib/gobject/gsignalgroup.c:109,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gsignalgroup.c:110,1
    - Dst: g_type_default_interface_peek
      Src: /src/glib/gobject/gsignalgroup.c:119,1
    - Dst: g_type_default_interface_unref
      Src: /src/glib/gobject/gsignalgroup.c:120,1
    - Dst: g_type_default_interface_ref
      Src: /src/glib/gobject/gsignalgroup.c:120,1
    - Dst: g_type_class_peek
      Src: /src/glib/gobject/gsignalgroup.c:124,1
    - Dst: g_type_class_unref
      Src: /src/glib/gobject/gsignalgroup.c:125,1
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/gsignalgroup.c:125,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - self
    - target_type
    argTypes:
    - GSignalGroup*
    - GType
    constantsTouched: []
    func_position:
      end: 127
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 127
    functionName: g_signal_group_set_target_type
    functionSourceFile: /src/glib/gobject/gsignalgroup.c
    functionUses: []
    functionsReached:
    - g_type_default_interface_peek
    - g_type_class_ref
    - g_assert
    - g_type_class_peek
    - G_IS_SIGNAL_GROUP
    - g_type_default_interface_ref
    - G_TYPE_IS_INTERFACE
    - g_type_is_a
    - g_type_default_interface_unref
    - g_type_class_unref
    linkageType: ''
    returnType: void
    signature: 'static void g_signal_group_set_target_type (GSignalGroup *self, GType
      target_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_rec_mutex_lock
      Src: /src/glib/gobject/gsignalgroup.c:504,1
    - Dst: g_signal_group_check_target_type
      Src: /src/glib/gobject/gsignalgroup.c:507,1
    - Dst: g_signal_group_set_target
      Src: /src/glib/gobject/gsignalgroup.c:508,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/gsignalgroup.c:506,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/gsignalgroup.c:510,1
    - Dst: g_clear_object
      Src: /src/glib/gobject/gsignalgroup.c:512,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gobject/gsignalgroup.c:514,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 515
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 515
    functionName: g_signal_group_constructed
    functionSourceFile: /src/glib/gobject/gsignalgroup.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_lock
    - g_weak_ref_get
    - g_signal_group_check_target_type
    - g_rec_mutex_unlock
    - g_signal_group_set_target
    - G_OBJECT_CLASS
    - g_clear_object
    linkageType: ''
    returnType: void
    signature: 'static void g_signal_group_constructed (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignalgroup.c:384,1
    - Dst: G_IS_SIGNAL_GROUP
      Src: /src/glib/gobject/gsignalgroup.c:384,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/gobject/gsignalgroup.c:387,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignalgroup.c:385,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/gsignalgroup.c:391,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gobject/gsignalgroup.c:397,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignalgroup.c:399,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignalgroup.c:400,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignalgroup.c:401,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignalgroup.c:402,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gsignalgroup.c:407,1
    - Dst: g_signal_handler_unblock
      Src: /src/glib/gobject/gsignalgroup.c:404,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gobject/gsignalgroup.c:410,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - self
    argTypes:
    - GSignalGroup*
    constantsTouched: []
    func_position:
      end: 411
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 411
    functionName: g_signal_group_unblock
    functionSourceFile: /src/glib/gobject/gsignalgroup.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_lock
    - g_weak_ref_get
    - g_object_unref
    - g_return_if_fail
    - g_assert
    - g_rec_mutex_unlock
    - G_IS_SIGNAL_GROUP
    - g_ptr_array_index
    - g_signal_handler_unblock
    linkageType: ''
    returnType: void
    signature: 'void g_signal_group_unblock (GSignalGroup *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/gsignalgroup.c:188,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignalgroup.c:189,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignalgroup.c:190,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gsignalgroup.c:189,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignalgroup.c:191,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignalgroup.c:192,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignalgroup.c:193,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignalgroup.c:194,1
    - Dst: g_signal_connect_closure_by_id
      Src: /src/glib/gobject/gsignalgroup.c:196,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignalgroup.c:202,1
    - Dst: g_signal_handler_block
      Src: /src/glib/gobject/gsignalgroup.c:205,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - self
    - handler
    - target
    argTypes:
    - GSignalGroup*
    - SignalHandler*
    - GObject*
    constantsTouched: []
    func_position:
      end: 206
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 206
    functionName: g_signal_group_bind_handler
    functionSourceFile: /src/glib/gobject/gsignalgroup.c
    functionUses: []
    functionsReached:
    - g_assert
    - G_IS_OBJECT
    - g_signal_connect_closure_by_id
    - g_signal_handler_block
    linkageType: ''
    returnType: void
    signature: 'static void g_signal_group_bind_handler (GSignalGroup *self, SignalHandler
      *handler, GObject *target) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignalgroup.c:248,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/gsignalgroup.c:250,1
    - Dst: g_weak_ref_set
      Src: /src/glib/gobject/gsignalgroup.c:260,1
    - Dst: g_object_weak_unref
      Src: /src/glib/gobject/gsignalgroup.c:266,1
    - Dst: G_IS_SIGNAL_GROUP
      Src: /src/glib/gobject/gsignalgroup.c:248,1
    - Dst: g_signal_group_gc_handlers
      Src: /src/glib/gobject/gsignalgroup.c:271,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gobject/gsignalgroup.c:278,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignalgroup.c:280,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignalgroup.c:281,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignalgroup.c:282,1
    - Dst: g_clear_object
      Src: /src/glib/gobject/gsignalgroup.c:299,1
    - Dst: g_signal_emit
      Src: /src/glib/gobject/gsignalgroup.c:297,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gobject/gsignalgroup.c:294,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - self
    argTypes:
    - GSignalGroup*
    constantsTouched: []
    func_position:
      end: 300
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 300
    functionName: g_signal_group_unbind
    functionSourceFile: /src/glib/gobject/gsignalgroup.c
    functionUses: []
    functionsReached:
    - g_weak_ref_get
    - g_signal_handler_disconnect
    - g_return_if_fail
    - g_weak_ref_set
    - g_assert
    - G_IS_SIGNAL_GROUP
    - g_signal_group_gc_handlers
    - g_signal_emit
    - g_clear_object
    - g_object_weak_unref
    - g_ptr_array_index
    linkageType: ''
    returnType: void
    signature: 'static void g_signal_group_unbind (GSignalGroup *self) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignalgroup.c:337,1
    - Dst: G_IS_SIGNAL_GROUP
      Src: /src/glib/gobject/gsignalgroup.c:337,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/gobject/gsignalgroup.c:340,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignalgroup.c:338,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/gsignalgroup.c:344,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gobject/gsignalgroup.c:351,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignalgroup.c:353,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignalgroup.c:354,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignalgroup.c:355,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignalgroup.c:356,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gsignalgroup.c:361,1
    - Dst: g_signal_handler_block
      Src: /src/glib/gobject/gsignalgroup.c:358,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gobject/gsignalgroup.c:364,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - self
    argTypes:
    - GSignalGroup*
    constantsTouched: []
    func_position:
      end: 365
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 365
    functionName: g_signal_group_block
    functionSourceFile: /src/glib/gobject/gsignalgroup.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_lock
    - g_weak_ref_get
    - g_object_unref
    - g_return_if_fail
    - g_assert
    - g_rec_mutex_unlock
    - G_IS_SIGNAL_GROUP
    - g_signal_handler_block
    - g_ptr_array_index
    linkageType: ''
    returnType: void
    signature: 'void g_signal_group_block (GSignalGroup *self) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignalgroup.c:458,1
    - Dst: G_IS_SIGNAL_GROUP
      Src: /src/glib/gobject/gsignalgroup.c:458,1
    - Dst: g_signal_group_check_target_type
      Src: /src/glib/gobject/gsignalgroup.c:467,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/gsignalgroup.c:462,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/gobject/gsignalgroup.c:460,1
    - Dst: g_signal_group_unbind
      Src: /src/glib/gobject/gsignalgroup.c:472,1
    - Dst: g_signal_group_bind
      Src: /src/glib/gobject/gsignalgroup.c:474,1
    - Dst: g_object_notify_by_pspec
      Src: /src/glib/gobject/gsignalgroup.c:476,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/gsignalgroup.c:476,1
    - Dst: g_clear_object
      Src: /src/glib/gobject/gsignalgroup.c:479,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gobject/gsignalgroup.c:480,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - self
    - target
    argTypes:
    - GSignalGroup*
    - gpointer
    constantsTouched: []
    func_position:
      end: 481
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 481
    functionName: g_signal_group_set_target
    functionSourceFile: /src/glib/gobject/gsignalgroup.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_lock
    - g_weak_ref_get
    - g_object_notify_by_pspec
    - g_return_if_fail
    - g_signal_group_check_target_type
    - g_rec_mutex_unlock
    - G_IS_SIGNAL_GROUP
    - G_OBJECT
    - g_clear_object
    - g_signal_group_unbind
    - g_signal_group_bind
    linkageType: ''
    returnType: void
    signature: 'void g_signal_group_set_target (GSignalGroup *self, gpointer target) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_rec_mutex_lock
      Src: /src/glib/gobject/gsignalgroup.c:522,1
    - Dst: g_signal_group_gc_handlers
      Src: /src/glib/gobject/gsignalgroup.c:524,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gobject/gsignalgroup.c:531,1
    - Dst: g_signal_group_unbind
      Src: /src/glib/gobject/gsignalgroup.c:527,1
    - Dst: g_clear_pointer
      Src: /src/glib/gobject/gsignalgroup.c:529,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/gsignalgroup.c:533,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 534
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 534
    functionName: g_signal_group_dispose
    functionSourceFile: /src/glib/gobject/gsignalgroup.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_lock
    - g_rec_mutex_unlock
    - g_signal_group_gc_handlers
    - G_OBJECT_CLASS
    - g_clear_pointer
    - g_signal_group_unbind
    linkageType: ''
    returnType: void
    signature: 'static void g_signal_group_dispose (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_group_connect_full
      Src: /src/glib/gobject/gsignalgroup.c:949,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - self
    - detailed_signal
    - c_handler
    - data
    argTypes:
    - GSignalGroup*
    - gchar*
    - GCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 951
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 951
    functionName: g_signal_group_connect_swapped
    functionSourceFile: /src/glib/gobject/gsignalgroup.c
    functionUses: []
    functionsReached:
    - g_signal_group_connect_full
    linkageType: ''
    returnType: void
    signature: 'void g_signal_group_connect_swapped (GSignalGroup *self, const gchar
      *detailed_signal, GCallback c_handler, gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/gsignalgroup.c:215,1
    - Dst: G_IS_SIGNAL_GROUP
      Src: /src/glib/gobject/gsignalgroup.c:215,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignalgroup.c:216,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gsignalgroup.c:216,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/gsignalgroup.c:223,1
    - Dst: g_weak_ref_set
      Src: /src/glib/gobject/gsignalgroup.c:225,1
    - Dst: g_object_weak_ref
      Src: /src/glib/gobject/gsignalgroup.c:226,1
    - Dst: g_signal_group_gc_handlers
      Src: /src/glib/gobject/gsignalgroup.c:228,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gobject/gsignalgroup.c:232,1
    - Dst: g_signal_group_bind_handler
      Src: /src/glib/gobject/gsignalgroup.c:234,1
    - Dst: g_signal_emit
      Src: /src/glib/gobject/gsignalgroup.c:237,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gsignalgroup.c:239,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - self
    - target
    argTypes:
    - GSignalGroup*
    - GObject*
    constantsTouched: []
    func_position:
      end: 240
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 240
    functionName: g_signal_group_bind
    functionSourceFile: /src/glib/gobject/gsignalgroup.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_assert
    - g_weak_ref_set
    - G_IS_OBJECT
    - g_object_weak_ref
    - G_IS_SIGNAL_GROUP
    - g_signal_group_gc_handlers
    - g_signal_emit
    - g_signal_group_bind_handler
    - g_object_ref
    - g_ptr_array_index
    linkageType: ''
    returnType: void
    signature: 'static void g_signal_group_bind (GSignalGroup *self, GObject *target) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gsignalgroup.c:307,1
    - Dst: G_OBJECT_TYPE
      Src: /src/glib/gobject/gsignalgroup.c:307,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/gsignalgroup.c:312,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gsignalgroup.c:311,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignalgroup.c:309,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - self
    - target
    argTypes:
    - GSignalGroup*
    - gpointer
    constantsTouched: []
    func_position:
      end: 317
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 317
    functionName: g_signal_group_check_target_type
    functionSourceFile: /src/glib/gobject/gsignalgroup.c
    functionUses: []
    functionsReached:
    - G_OBJECT_TYPE
    - G_OBJECT_TYPE_NAME
    - g_critical
    - g_type_is_a
    - g_type_name
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_signal_group_check_target_type (GSignalGroup *self,
      gpointer target) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_weak_ref_clear
      Src: /src/glib/gobject/gsignalgroup.c:541,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/gsignalgroup.c:544,1
    - Dst: g_rec_mutex_clear
      Src: /src/glib/gobject/gsignalgroup.c:542,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 545
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 545
    functionName: g_signal_group_finalize
    functionSourceFile: /src/glib/gobject/gsignalgroup.c
    functionUses: []
    functionsReached:
    - g_weak_ref_clear
    - g_rec_mutex_clear
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_signal_group_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignalgroup.c:428,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/gobject/gsignalgroup.c:430,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gobject/gsignalgroup.c:432,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/gsignalgroup.c:431,1
    - Dst: G_IS_SIGNAL_GROUP
      Src: /src/glib/gobject/gsignalgroup.c:428,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - self
    argTypes:
    - GSignalGroup*
    constantsTouched: []
    func_position:
      end: 435
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 435
    functionName: g_signal_group_dup_target
    functionSourceFile: /src/glib/gobject/gsignalgroup.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_lock
    - g_return_val_if_fail
    - g_weak_ref_get
    - g_rec_mutex_unlock
    - G_IS_SIGNAL_GROUP
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_signal_group_dup_target (GSignalGroup *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_group_connect_full
      Src: /src/glib/gobject/gsignalgroup.c:872,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 6
    argNames:
    - self
    - detailed_signal
    - c_handler
    - data
    - notify
    - flags
    argTypes:
    - GSignalGroup*
    - gchar*
    - GCallback
    - gpointer
    - GClosureNotify
    - GConnectFlags
    constantsTouched: []
    func_position:
      end: 874
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 874
    functionName: g_signal_group_connect_data
    functionSourceFile: /src/glib/gobject/gsignalgroup.c
    functionUses: []
    functionsReached:
    - g_signal_group_connect_full
    linkageType: ''
    returnType: void
    signature: 'void g_signal_group_connect_data (GSignalGroup *self, const gchar
      *detailed_signal, GCallback c_handler, gpointer data, GClosureNotify notify,
      GConnectFlags flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/gsignalgroup.c:134,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignalgroup.c:147,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gobject/gsignalgroup.c:144,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignalgroup.c:146,1
    - Dst: G_IS_SIGNAL_GROUP
      Src: /src/glib/gobject/gsignalgroup.c:134,1
    - Dst: g_ptr_array_remove_index
      Src: /src/glib/gobject/gsignalgroup.c:150,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - self
    argTypes:
    - GSignalGroup*
    constantsTouched: []
    func_position:
      end: 152
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 152
    functionName: g_signal_group_gc_handlers
    functionSourceFile: /src/glib/gobject/gsignalgroup.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_ptr_array_remove_index
    - g_ptr_array_index
    - G_IS_SIGNAL_GROUP
    linkageType: ''
    returnType: void
    signature: 'static void g_signal_group_gc_handlers (GSignalGroup *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/gsignalgroup.c:596,1
    - Dst: g_object_class_install_properties
      Src: /src/glib/gobject/gsignalgroup.c:628,1
    - Dst: g_param_spec_object
      Src: /src/glib/gobject/gsignalgroup.c:612,1
    - Dst: g_param_spec_gtype
      Src: /src/glib/gobject/gsignalgroup.c:624,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/gsignalgroup.c:643,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/gsignalgroup.c:644,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/gsignalgroup.c:665,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/gsignalgroup.c:666,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GSignalGroupClass*
    constantsTouched: []
    func_position:
      end: 672
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 672
    functionName: g_signal_group_class_init
    functionSourceFile: /src/glib/gobject/gsignalgroup.c
    functionUses: []
    functionsReached:
    - G_TYPE_FROM_CLASS
    - g_object_class_install_properties
    - g_param_spec_object
    - G_OBJECT_CLASS
    - g_signal_new
    - g_param_spec_gtype
    linkageType: ''
    returnType: void
    signature: 'static void g_signal_group_class_init (GSignalGroupClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignalgroup.c:695,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gsignalgroup.c:695,1
    - Dst: g_object_new
      Src: /src/glib/gobject/gsignalgroup.c:697,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 700
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 700
    functionName: g_signal_group_new
    functionSourceFile: /src/glib/gobject/gsignalgroup.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_object_new
    - g_type_is_a
    linkageType: ''
    returnType: GSignalGroup*
    signature: 'GSignalGroup *g_signal_group_new (GType target_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignalgroup.c:842,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gsignalgroup.c:842,1
    - Dst: g_signal_group_connect_full
      Src: /src/glib/gobject/gsignalgroup.c:844,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 5
    argNames:
    - self
    - detailed_signal
    - c_handler
    - object
    - flags
    argTypes:
    - GSignalGroup*
    - gchar*
    - GCallback
    - gpointer
    - GConnectFlags
    constantsTouched: []
    func_position:
      end: 846
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 846
    functionName: g_signal_group_connect_object
    functionSourceFile: /src/glib/gobject/gsignalgroup.c
    functionUses: []
    functionsReached:
    - G_IS_OBJECT
    - g_signal_group_connect_full
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_signal_group_connect_object (GSignalGroup *self, const gchar
      *detailed_signal, GCallback c_handler, gpointer object, GConnectFlags flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/gsignalgroup.c:161,1
    - Dst: g_weak_ref_set
      Src: /src/glib/gobject/gsignalgroup.c:166,1
    - Dst: G_IS_SIGNAL_GROUP
      Src: /src/glib/gobject/gsignalgroup.c:161,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/gobject/gsignalgroup.c:164,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignalgroup.c:162,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gobject/gsignalgroup.c:170,1
    - Dst: g_signal_emit
      Src: /src/glib/gobject/gsignalgroup.c:175,1
    - Dst: g_object_notify_by_pspec
      Src: /src/glib/gobject/gsignalgroup.c:176,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/gsignalgroup.c:176,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gobject/gsignalgroup.c:178,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - data
    - where_object_was
    argTypes:
    - gpointer
    - GObject*
    constantsTouched: []
    func_position:
      end: 179
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 179
    functionName: g_signal_group__target_weak_notify
    functionSourceFile: /src/glib/gobject/gsignalgroup.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_lock
    - g_object_notify_by_pspec
    - g_assert
    - g_weak_ref_set
    - g_rec_mutex_unlock
    - G_IS_SIGNAL_GROUP
    - g_signal_emit
    - G_OBJECT
    - g_ptr_array_index
    linkageType: ''
    returnType: void
    signature: 'static void g_signal_group__target_weak_notify (gpointer data, GObject
      *where_object_was) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rec_mutex_init
      Src: /src/glib/gobject/gsignalgroup.c:677,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/gobject/gsignalgroup.c:678,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - self
    argTypes:
    - GSignalGroup*
    constantsTouched: []
    func_position:
      end: 680
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 680
    functionName: g_signal_group_init
    functionSourceFile: /src/glib/gobject/gsignalgroup.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_init
    - g_ptr_array_new_with_free_func
    linkageType: ''
    returnType: void
    signature: 'static void g_signal_group_init (GSignalGroup *self) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignalgroup.c:713,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignalgroup.c:714,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignalgroup.c:715,1
    - Dst: G_IS_SIGNAL_GROUP
      Src: /src/glib/gobject/gsignalgroup.c:713,1
    - Dst: g_signal_parse_name
      Src: /src/glib/gobject/gsignalgroup.c:717,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignalgroup.c:720,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/gobject/gsignalgroup.c:724,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignalgroup.c:728,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gobject/gsignalgroup.c:729,1
    - Dst: g_slice_new0
      Src: /src/glib/gobject/gsignalgroup.c:733,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gobject/gsignalgroup.c:742,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gsignalgroup.c:749,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gobject/gsignalgroup.c:755,1
    - Dst: g_signal_group_bind_handler
      Src: /src/glib/gobject/gsignalgroup.c:748,1
    - Dst: g_closure_sink
      Src: /src/glib/gobject/gsignalgroup.c:740,1
    - Dst: g_signal_group_gc_handlers
      Src: /src/glib/gobject/gsignalgroup.c:753,1
    - Dst: g_closure_ref
      Src: /src/glib/gobject/gsignalgroup.c:737,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/gsignalgroup.c:744,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 4
    argNames:
    - self
    - detailed_signal
    - closure
    - after
    argTypes:
    - GSignalGroup*
    - gchar*
    - GClosure*
    - gboolean
    constantsTouched: []
    func_position:
      end: 757
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 757
    functionName: g_signal_group_connect_closure_
    functionSourceFile: /src/glib/gobject/gsignalgroup.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_lock
    - g_closure_sink
    - g_return_val_if_fail
    - g_closure_ref
    - g_weak_ref_get
    - g_slice_new0
    - g_object_unref
    - g_rec_mutex_unlock
    - G_IS_SIGNAL_GROUP
    - g_signal_group_gc_handlers
    - g_signal_parse_name
    - g_critical
    - g_signal_group_bind_handler
    - g_ptr_array_add
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_signal_group_connect_closure_ (GSignalGroup *self,
      const gchar *detailed_signal, GClosure *closure, gboolean after) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_group_connect_full
      Src: /src/glib/gobject/gsignalgroup.c:922,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - self
    - detailed_signal
    - c_handler
    - data
    argTypes:
    - GSignalGroup*
    - gchar*
    - GCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 924
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 924
    functionName: g_signal_group_connect_after
    functionSourceFile: /src/glib/gobject/gsignalgroup.c
    functionUses: []
    functionsReached:
    - g_signal_group_connect_full
    linkageType: ''
    returnType: void
    signature: 'void g_signal_group_connect_after (GSignalGroup *self, const gchar
      *detailed_signal, GCallback c_handler, gpointer data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_SIGNAL_GROUP
      Src: /src/glib/gobject/gsignalgroup.c:553,1
    - Dst: g_signal_group_dup_target
      Src: /src/glib/gobject/gsignalgroup.c:558,1
    - Dst: g_value_take_object
      Src: /src/glib/gobject/gsignalgroup.c:558,1
    - Dst: g_value_set_gtype
      Src: /src/glib/gobject/gsignalgroup.c:562,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/gsignalgroup.c:566,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 568
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 568
    functionName: g_signal_group_get_property
    functionSourceFile: /src/glib/gobject/gsignalgroup.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_gtype
    - g_value_take_object
    - g_signal_group_dup_target
    - G_SIGNAL_GROUP
    linkageType: ''
    returnType: void
    signature: 'static void g_signal_group_get_property (GObject *object, guint prop_id,
      GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_group_connect_closure_
      Src: /src/glib/gobject/gsignalgroup.c:779,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - self
    - detailed_signal
    - closure
    - after
    argTypes:
    - GSignalGroup*
    - gchar*
    - GClosure*
    - gboolean
    constantsTouched: []
    func_position:
      end: 780
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 780
    functionName: g_signal_group_connect_closure
    functionSourceFile: /src/glib/gobject/gsignalgroup.c
    functionUses: []
    functionsReached:
    - g_signal_group_connect_closure_
    linkageType: ''
    returnType: void
    signature: 'void g_signal_group_connect_closure (GSignalGroup *self, const gchar
      *detailed_signal, GClosure *closure, gboolean after) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_group_connect_full
      Src: /src/glib/gobject/gsignalgroup.c:896,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - self
    - detailed_signal
    - c_handler
    - data
    argTypes:
    - GSignalGroup*
    - gchar*
    - GCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 898
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 898
    functionName: g_signal_group_connect
    functionSourceFile: /src/glib/gobject/gsignalgroup.c
    functionUses: []
    functionsReached:
    - g_signal_group_connect_full
    linkageType: ''
    returnType: void
    signature: 'void g_signal_group_connect (GSignalGroup *self, const gchar *detailed_signal,
      GCallback c_handler, gpointer data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_SIGNAL_GROUP
      Src: /src/glib/gobject/gsignalgroup.c:576,1
    - Dst: g_value_get_gtype
      Src: /src/glib/gobject/gsignalgroup.c:585,1
    - Dst: g_signal_group_set_target_type
      Src: /src/glib/gobject/gsignalgroup.c:585,1
    - Dst: g_value_get_object
      Src: /src/glib/gobject/gsignalgroup.c:581,1
    - Dst: g_signal_group_set_target
      Src: /src/glib/gobject/gsignalgroup.c:581,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/gsignalgroup.c:589,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 591
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 591
    functionName: g_signal_group_set_property
    functionSourceFile: /src/glib/gobject/gsignalgroup.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_signal_group_set_target
    - g_value_get_gtype
    - g_value_get_object
    - g_signal_group_set_target_type
    - G_SIGNAL_GROUP
    linkageType: ''
    returnType: void
    signature: 'static void g_signal_group_set_property (GObject *object, guint prop_id,
      const GValue *value, GParamSpec *pspec) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignalgroup.c:793,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gsignalgroup.c:794,1
    - Dst: g_cclosure_new_swap
      Src: /src/glib/gobject/gsignalgroup.c:797,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignalgroup.c:794,1
    - Dst: g_cclosure_new
      Src: /src/glib/gobject/gsignalgroup.c:799,1
    - Dst: g_object_watch_closure
      Src: /src/glib/gobject/gsignalgroup.c:807,1
    - Dst: g_signal_group_connect_closure_
      Src: /src/glib/gobject/gsignalgroup.c:810,1
    - Dst: g_closure_unref
      Src: /src/glib/gobject/gsignalgroup.c:814,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 7
    argNames:
    - self
    - detailed_signal
    - c_handler
    - data
    - notify
    - flags
    - is_object
    argTypes:
    - GSignalGroup*
    - gchar*
    - GCallback
    - gpointer
    - GClosureNotify
    - GConnectFlags
    - gboolean
    constantsTouched: []
    func_position:
      end: 815
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 815
    functionName: g_signal_group_connect_full
    functionSourceFile: /src/glib/gobject/gsignalgroup.c
    functionUses: []
    functionsReached:
    - g_closure_unref
    - g_cclosure_new
    - g_object_watch_closure
    - g_return_if_fail
    - g_signal_group_connect_closure_
    - g_cclosure_new_swap
    - G_IS_OBJECT
    linkageType: ''
    returnType: void
    signature: 'static void g_signal_group_connect_full (GSignalGroup *self, const
      gchar *detailed_signal, GCallback c_handler, gpointer data, GClosureNotify notify,
      GConnectFlags flags, gboolean is_object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_UINT64
      Src: /src/glib/gobject/gparamspecs.c:411,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 416
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 416
    functionName: param_uint64_init
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_UINT64
    linkageType: ''
    returnType: void
    signature: 'static void param_uint64_init (GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_STRING
      Src: /src/glib/gobject/gparamspecs.c:726,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 734
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 734
    functionName: param_string_init
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_STRING
    linkageType: ''
    returnType: void
    signature: 'static void param_string_init (GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 858
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 858
    functionName: param_param_init
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void param_param_init (GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparamspecs.c:2105,1
    - Dst: g_param_spec_internal
      Src: /src/glib/gobject/gparamspecs.c:2107,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:2117,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2118
      start: 2094
    functionDepth: 0
    functionLinenumber: 2094
    functionLinenumberEnd: 2118
    functionName: g_param_spec_ulong
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_PARAM_SPEC
    - g_param_spec_internal
    linkageType: ''
    returnType: GParamSpec*
    signature: "GParamSpec *g_param_spec_ulong (const gchar *name,\t\t const gchar\
      \ *nick,\t\t const gchar *blurb,\t\t gulong\t minimum,\t\t gulong\t maximum,\t\
      \t gulong\t default_value,\t\t GParamFlags\t flags) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_UINT64
      Src: /src/glib/gobject/gparamspecs.c:422,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 423
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 423
    functionName: param_uint64_set_default
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_UINT64
    linkageType: ''
    returnType: void
    signature: "static void param_uint64_set_default (GParamSpec *pspec,\t\t\t GValue\
      \ *value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_STRING
      Src: /src/glib/gobject/gparamspecs.c:739,1
    - Dst: g_free
      Src: /src/glib/gobject/gparamspecs.c:742,1
    - Dst: g_type_parent
      Src: /src/glib/gobject/gparamspecs.c:740,1
    - Dst: g_free
      Src: /src/glib/gobject/gparamspecs.c:743,1
    - Dst: g_type_class_peek
      Src: /src/glib/gobject/gparamspecs.c:740,1
    - Dst: g_free
      Src: /src/glib/gobject/gparamspecs.c:744,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 750
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 750
    functionName: param_string_finalize
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_STRING
    - g_free
    - g_type_parent
    - g_type_class_peek
    linkageType: ''
    returnType: void
    signature: 'static void param_string_finalize (GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 865
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 865
    functionName: param_param_set_default
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void param_param_set_default (GParamSpec *pspec,\t\t\t GValue\
      \ *value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_CHAR
      Src: /src/glib/gobject/gparamspecs.c:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: param_char_init
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_CHAR
    linkageType: ''
    returnType: void
    signature: 'static void param_char_init (GParamSpec *pspec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - pspec
    - value1
    - value2
    argTypes:
    - GParamSpec*
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 356
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 356
    functionName: param_ulong_values_cmp
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint
    signature: "static gint param_ulong_values_cmp (GParamSpec *pspec,\t\t\tconst\
      \ GValue *value1,\t\t\tconst GValue *value2) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1104
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1104
    functionName: param_object_init
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void param_object_init (GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_OVERRIDE
      Src: /src/glib/gobject/gparamspecs.c:1208,1
    - Dst: g_param_values_cmp
      Src: /src/glib/gobject/gparamspecs.c:1210,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - pspec
    - value1
    - value2
    argTypes:
    - GParamSpec*
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 1211
      start: 1203
    functionDepth: 0
    functionLinenumber: 1203
    functionLinenumberEnd: 1211
    functionName: param_override_values_cmp
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_OVERRIDE
    - g_param_values_cmp
    linkageType: ''
    returnType: gint
    signature: "static gint param_override_values_cmp (GParamSpec *pspec,\t\t\t const\
      \ GValue *value1,\t\t\t const GValue *value2) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_CHAR
      Src: /src/glib/gobject/gparamspecs.c:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: param_char_set_default
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_CHAR
    linkageType: ''
    returnType: void
    signature: "static void param_char_set_default (GParamSpec *pspec,\t\t\tGValue\t\
      \ *value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_INT64
      Src: /src/glib/gobject/gparamspecs.c:361,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 366
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 366
    functionName: param_int64_init
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_INT64
    linkageType: ''
    returnType: void
    signature: 'static void param_int64_init (GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 1111
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1111
    functionName: param_object_set_default
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void param_object_set_default (GParamSpec *pspec,\t\t\t GValue\
      \ *value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1216
      start: 1213
    functionDepth: 0
    functionLinenumber: 1213
    functionLinenumberEnd: 1216
    functionName: param_gtype_init
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void param_gtype_init (GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparamspecs.c:2147,1
    - Dst: g_param_spec_internal
      Src: /src/glib/gobject/gparamspecs.c:2149,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:2159,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2160
      start: 2136
    functionDepth: 0
    functionLinenumber: 2136
    functionLinenumberEnd: 2160
    functionName: g_param_spec_int64
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_PARAM_SPEC
    - g_param_spec_internal
    linkageType: ''
    returnType: GParamSpec*
    signature: "GParamSpec *g_param_spec_int64 (const gchar *name,\t\t const gchar\
      \ *nick,\t\t const gchar *blurb,\t\t gint64\t minimum,\t\t gint64\t maximum,\t\
      \t gint64\t default_value,\t\t GParamFlags\t flags) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_value_type_compatible
      Src: /src/glib/gobject/gparamspecs.c:876,1
    - Dst: G_PARAM_SPEC_TYPE
      Src: /src/glib/gobject/gparamspecs.c:876,1
    - Dst: G_PARAM_SPEC_VALUE_TYPE
      Src: /src/glib/gobject/gparamspecs.c:876,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 877
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 877
    functionName: param_param_is_valid
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_VALUE_TYPE
    - g_value_type_compatible
    - G_PARAM_SPEC_TYPE
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean param_param_is_valid (GParamSpec *pspec, const GValue
      *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_ULONG
      Src: /src/glib/gobject/gparamspecs.c:329,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 333
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 333
    functionName: param_ulong_is_valid
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_ULONG
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean param_ulong_is_valid (GParamSpec *pspec, const GValue
      *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_unichar_validate
      Src: /src/glib/gobject/gparamspecs.c:487,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 494
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 494
    functionName: param_unichar_validate
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_unichar_validate
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean param_unichar_validate (GParamSpec *pspec,\t\t GValue\
      \ *value) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_value_type_compatible
      Src: /src/glib/gobject/gparamspecs.c:887,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/gparamspecs.c:889,1
    - Dst: G_PARAM_SPEC_VALUE_TYPE
      Src: /src/glib/gobject/gparamspecs.c:887,1
    - Dst: G_PARAM_SPEC_TYPE
      Src: /src/glib/gobject/gparamspecs.c:887,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 895
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 895
    functionName: param_param_validate
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_param_spec_unref
    - G_PARAM_SPEC_VALUE_TYPE
    - g_value_type_compatible
    - G_PARAM_SPEC_TYPE
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean param_param_validate (GParamSpec *pspec,\t\t GValue\
      \ *value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_ULONG
      Src: /src/glib/gobject/gparamspecs.c:339,1
    - Dst: CLAMP
      Src: /src/glib/gobject/gparamspecs.c:342,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 345
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 345
    functionName: param_ulong_validate
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - CLAMP
    - G_PARAM_SPEC_ULONG
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean param_ulong_validate (GParamSpec *pspec,\t\t GValue\
      \ *value) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - pspec
    - value1
    - value2
    argTypes:
    - GParamSpec*
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 505
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 505
    functionName: param_unichar_values_cmp
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint
    signature: "static gint param_unichar_values_cmp (GParamSpec *pspec,\t\t\tconst\
      \ GValue *value1,\t\t\tconst GValue *value2) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_DOUBLE
      Src: /src/glib/gobject/gparamspecs.c:702,1
    - Dst: CLAMP
      Src: /src/glib/gobject/gparamspecs.c:705,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 708
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 708
    functionName: param_double_validate
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_DOUBLE
    - CLAMP
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean param_double_validate (GParamSpec *pspec,\t\t GValue\
      \ *value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_FLOAT
      Src: /src/glib/gobject/gparamspecs.c:639,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 643
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 643
    functionName: param_float_is_valid
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_FLOAT
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean param_float_is_valid (GParamSpec *pspec, const GValue
      *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_BOOLEAN
      Src: /src/glib/gobject/gparamspecs.c:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: param_boolean_set_default
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_BOOLEAN
    linkageType: ''
    returnType: void
    signature: "static void param_boolean_set_default (GParamSpec *pspec,\t\t\t GValue\
      \ *value) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - pspec
    - value1
    - value2
    argTypes:
    - GParamSpec*
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 456
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 456
    functionName: param_uint64_values_cmp
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint
    signature: "static gint param_uint64_values_cmp (GParamSpec *pspec,\t\t\tconst\
      \ GValue *value1,\t\t\tconst GValue *value2) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 934
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 934
    functionName: param_pointer_set_default
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void param_pointer_set_default (GParamSpec *pspec,\t\t\t GValue\
      \ *value) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_OVERRIDE
      Src: /src/glib/gobject/gparamspecs.c:1164,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/gparamspecs.c:1169,1
    - Dst: g_type_parent
      Src: /src/glib/gobject/gparamspecs.c:1165,1
    - Dst: g_type_class_peek
      Src: /src/glib/gobject/gparamspecs.c:1165,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1174
      start: 1161
    functionDepth: 0
    functionLinenumber: 1161
    functionLinenumberEnd: 1174
    functionName: param_override_finalize
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_type_class_peek
    - g_param_spec_unref
    - g_type_parent
    - G_PARAM_SPEC_OVERRIDE
    linkageType: ''
    returnType: void
    signature: 'static void param_override_finalize (GParamSpec *pspec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_GTYPE
      Src: /src/glib/gobject/gparamspecs.c:1242,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gparamspecs.c:1246,1
    - Dst: GPOINTER_TO_TYPE
      Src: /src/glib/gobject/gparamspecs.c:1243,1
    - Dst: GTYPE_TO_POINTER
      Src: /src/glib/gobject/gparamspecs.c:1248,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 1253
      start: 1238
    functionDepth: 0
    functionLinenumber: 1238
    functionLinenumberEnd: 1253
    functionName: param_gtype_validate
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - GTYPE_TO_POINTER
    - G_PARAM_SPEC_GTYPE
    - GPOINTER_TO_TYPE
    - g_type_is_a
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean param_gtype_validate (GParamSpec *pspec,\t\t GValue\
      \ *value) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_equal
      Src: /src/glib/gobject/gparamspecs.c:1357,1
    - Dst: g_variant_get_type
      Src: /src/glib/gobject/gparamspecs.c:1357,1
    - Dst: variant_is_incomparable
      Src: /src/glib/gobject/gparamspecs.c:1359,1
    - Dst: variant_is_incomparable
      Src: /src/glib/gobject/gparamspecs.c:1358,1
    - Dst: g_variant_get_type
      Src: /src/glib/gobject/gparamspecs.c:1357,1
    - Dst: g_variant_equal
      Src: /src/glib/gobject/gparamspecs.c:1360,1
    - Dst: g_variant_compare
      Src: /src/glib/gobject/gparamspecs.c:1362,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 21
    argCount: 3
    argNames:
    - pspec
    - value1
    - value2
    argTypes:
    - GParamSpec*
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 1363
      start: 1342
    functionDepth: 0
    functionLinenumber: 1342
    functionLinenumberEnd: 1363
    functionName: param_variant_values_cmp
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_variant_type_equal
    - g_variant_equal
    - g_variant_compare
    - g_variant_get_type
    - variant_is_incomparable
    linkageType: ''
    returnType: gint
    signature: 'static gint param_variant_values_cmp (GParamSpec *pspec, const GValue
      *value1, const GValue *value2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_FLOAT
      Src: /src/glib/gobject/gparamspecs.c:649,1
    - Dst: CLAMP
      Src: /src/glib/gobject/gparamspecs.c:652,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 655
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 655
    functionName: param_float_validate
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - CLAMP
    - G_PARAM_SPEC_FLOAT
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean param_float_validate (GParamSpec *pspec,\t\t GValue\
      \ *value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 136
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 136
    functionName: param_boolean_is_valid
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean param_boolean_is_valid (GParamSpec *pspec, const GValue
      *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_UNICHAR
      Src: /src/glib/gobject/gparamspecs.c:461,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 464
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 464
    functionName: param_unichar_init
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_UNICHAR
    linkageType: ''
    returnType: void
    signature: 'static void param_unichar_init (GParamSpec *pspec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_DOUBLE
      Src: /src/glib/gobject/gparamspecs.c:715,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - pspec
    - value1
    - value2
    argTypes:
    - GParamSpec*
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 721
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 721
    functionName: param_double_values_cmp
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_DOUBLE
    linkageType: ''
    returnType: gint
    signature: "static gint param_double_values_cmp (GParamSpec *pspec,\t\t\t const\
      \ GValue *value1,\t\t\t const GValue *value2) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - pspec
    - value1
    - value2
    argTypes:
    - GParamSpec*
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 947
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 947
    functionName: param_pointer_values_cmp
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint
    signature: "static gint param_pointer_values_cmp (GParamSpec *pspec,\t\t\t const\
      \ GValue *value1,\t\t\t const GValue *value2) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_OVERRIDE
      Src: /src/glib/gobject/gparamspecs.c:1180,1
    - Dst: g_param_value_set_default
      Src: /src/glib/gobject/gparamspecs.c:1182,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 1183
      start: 1176
    functionDepth: 0
    functionLinenumber: 1176
    functionLinenumberEnd: 1183
    functionName: param_override_set_default
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_param_value_set_default
    - G_PARAM_SPEC_OVERRIDE
    linkageType: ''
    returnType: void
    signature: "static void param_override_set_default (GParamSpec *pspec,\t\t\t GValue\
      \ *value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_TYPE
      Src: /src/glib/gobject/gparamspecs.c:1260,1
    - Dst: GPOINTER_TO_TYPE
      Src: /src/glib/gobject/gparamspecs.c:1261,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - pspec
    - value1
    - value2
    argTypes:
    - GParamSpec*
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 1266
      start: 1255
    functionDepth: 0
    functionLinenumber: 1255
    functionLinenumberEnd: 1266
    functionName: param_gtype_values_cmp
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_TYPE
    linkageType: ''
    returnType: gint
    signature: "static gint param_gtype_values_cmp (GParamSpec *pspec,\t\t\tconst\
      \ GValue *value1,\t\t\tconst GValue *value2) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_ULONG
      Src: /src/glib/gobject/gparamspecs.c:307,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 316
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 316
    functionName: param_ulong_init
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_ULONG
    linkageType: ''
    returnType: void
    signature: 'static void param_ulong_init (GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - pspec
    - value1
    - value2
    argTypes:
    - GParamSpec*
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 1153
      start: 1142
    functionDepth: 0
    functionLinenumber: 1142
    functionLinenumberEnd: 1153
    functionName: param_object_values_cmp
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint
    signature: "static gint param_object_values_cmp (GParamSpec *pspec,\t\t\t const\
      \ GValue *value1,\t\t\t const GValue *value2) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparamspecs.c:2475,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:2485,1
    - Dst: G_TYPE_IS_PARAM
      Src: /src/glib/gobject/gparamspecs.c:2475,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:2483,1
    - Dst: g_param_spec_internal
      Src: /src/glib/gobject/gparamspecs.c:2477,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2486
      start: 2466
    functionDepth: 0
    functionLinenumber: 2466
    functionLinenumberEnd: 2486
    functionName: g_param_spec_param
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_param_spec_internal
    - G_TYPE_IS_PARAM
    - G_PARAM_SPEC
    linkageType: ''
    returnType: GParamSpec*
    signature: "GParamSpec *g_param_spec_param (const gchar *name,\t\t const gchar\
      \ *nick,\t\t const gchar *blurb,\t\t GType\t param_type,\t\t GParamFlags flags) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_ULONG
      Src: /src/glib/gobject/gparamspecs.c:322,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 323
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 323
    functionName: param_ulong_set_default
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_ULONG
    linkageType: ''
    returnType: void
    signature: "static void param_ulong_set_default (GParamSpec *pspec,\t\t\t GValue\
      \ *value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1159
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1159
    functionName: param_override_init
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void param_override_init (GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_param_spec_internal
      Src: /src/glib/gobject/gparamspecs.c:2439,1
    - Dst: g_free
      Src: /src/glib/gobject/gparamspecs.c:2445,1
    - Dst: g_strdup
      Src: /src/glib/gobject/gparamspecs.c:2446,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:2448,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2449
      start: 2432
    functionDepth: 0
    functionLinenumber: 2432
    functionLinenumberEnd: 2449
    functionName: g_param_spec_string
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_param_spec_internal
    - g_free
    - G_PARAM_SPEC
    - g_strdup
    linkageType: ''
    returnType: GParamSpec*
    signature: "GParamSpec *g_param_spec_string (const gchar *name,\t\t const gchar\
      \ *nick,\t\t const gchar *blurb,\t\t const gchar *default_value,\t\t GParamFlags\
      \ flags) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_UNICHAR
      Src: /src/glib/gobject/gparamspecs.c:470,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 471
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 471
    functionName: param_unichar_set_default
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_UNICHAR
    linkageType: ''
    returnType: void
    signature: "static void param_unichar_set_default (GParamSpec *pspec,\t\t\t GValue\
      \ *value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_FLAGS
      Src: /src/glib/gobject/gparamspecs.c:597,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 601
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 601
    functionName: param_flags_is_valid
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_FLAGS
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean param_flags_is_valid (GParamSpec *pspec, const GValue
      *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unichar_validate
      Src: /src/glib/gobject/gparamspecs.c:477,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 478
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 478
    functionName: param_unichar_is_valid
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_unichar_validate
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean param_unichar_is_valid (GParamSpec *pspec, const GValue
      *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_FLAGS
      Src: /src/glib/gobject/gparamspecs.c:606,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 615
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 615
    functionName: param_flags_validate
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_FLAGS
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean param_flags_validate (GParamSpec *pspec,\t\t GValue\
      \ *value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_DOUBLE
      Src: /src/glib/gobject/gparamspecs.c:685,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 686
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 686
    functionName: param_double_set_default
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_DOUBLE
    linkageType: ''
    returnType: void
    signature: "static void param_double_set_default (GParamSpec *pspec,\t\t\t GValue\
      \ *value) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_STRING
      Src: /src/glib/gobject/gparamspecs.c:822,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gparamspecs.c:830,1
    - Dst: g_value_copy
      Src: /src/glib/gobject/gparamspecs.c:831,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gparamspecs.c:830,1
    - Dst: param_string_validate
      Src: /src/glib/gobject/gparamspecs.c:833,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gparamspecs.c:835,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 839
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 839
    functionName: param_string_is_valid
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_STRING
    - param_string_validate
    - G_VALUE_TYPE
    - g_value_init
    - g_value_copy
    - g_value_unset
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean param_string_is_valid (GParamSpec *pspec, const GValue
      *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_UINT
      Src: /src/glib/gobject/gparamspecs.c:202,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 207
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 207
    functionName: param_uint_init
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_UINT
    linkageType: ''
    returnType: void
    signature: 'static void param_uint_init (GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparamspecs.c:2403,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:2415,1
    - Dst: g_param_spec_internal
      Src: /src/glib/gobject/gparamspecs.c:2405,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2416
      start: 2392
    functionDepth: 0
    functionLinenumber: 2392
    functionLinenumberEnd: 2416
    functionName: g_param_spec_double
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_PARAM_SPEC
    - g_param_spec_internal
    linkageType: ''
    returnType: GParamSpec*
    signature: "GParamSpec *g_param_spec_double (const gchar *name,\t\t const gchar\
      \ *nick,\t\t const gchar *blurb,\t\t gdouble\t minimum,\t\t gdouble\t maximum,\t\
      \t gdouble\t default_value,\t\t GParamFlags flags) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_UINT
      Src: /src/glib/gobject/gparamspecs.c:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 214
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 214
    functionName: param_uint_set_default
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_UINT
    linkageType: ''
    returnType: void
    signature: "static void param_uint_set_default (GParamSpec *pspec,\t\t\tGValue\
      \ *value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_DOUBLE
      Src: /src/glib/gobject/gparamspecs.c:692,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 696
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 696
    functionName: param_double_is_valid
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_DOUBLE
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean param_double_is_valid (GParamSpec *pspec, const GValue
      *value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gobject/gparamspecs.c:851,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - pspec
    - value1
    - value2
    argTypes:
    - GParamSpec*
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 852
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 852
    functionName: param_string_values_cmp
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: gint
    signature: "static gint param_string_values_cmp (GParamSpec *pspec,\t\t\t const\
      \ GValue *value1,\t\t\t const GValue *value2) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparamspecs.c:2360,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:2372,1
    - Dst: g_param_spec_internal
      Src: /src/glib/gobject/gparamspecs.c:2362,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2373
      start: 2349
    functionDepth: 0
    functionLinenumber: 2349
    functionLinenumberEnd: 2373
    functionName: g_param_spec_float
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_PARAM_SPEC
    - g_param_spec_internal
    linkageType: ''
    returnType: GParamSpec*
    signature: "GParamSpec *g_param_spec_float (const gchar *name,\t\t const gchar\
      \ *nick,\t\t const gchar *blurb,\t\t gfloat\t minimum,\t\t gfloat\t maximum,\t\
      \t gfloat\t default_value,\t\t GParamFlags\t flags) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_UCHAR
      Src: /src/glib/gobject/gparamspecs.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 91
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 91
    functionName: param_uchar_init
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_UCHAR
    linkageType: ''
    returnType: void
    signature: 'static void param_uchar_init (GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 147
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 147
    functionName: param_boolean_validate
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean param_boolean_validate (GParamSpec *pspec,\t\t\tGValue\
      \ *value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_ENUM
      Src: /src/glib/gobject/gparamspecs.c:510,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 514
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 514
    functionName: param_enum_init
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_ENUM
    linkageType: ''
    returnType: void
    signature: 'static void param_enum_init (GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_VALUE_ARRAY
      Src: /src/glib/gobject/gparamspecs.c:952,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 956
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 956
    functionName: param_value_array_init
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_VALUE_ARRAY
    linkageType: ''
    returnType: void
    signature: 'static void param_value_array_init (GParamSpec *pspec) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_VALUE_ARRAY
      Src: /src/glib/gobject/gparamspecs.c:1015,1
    - Dst: value_array_ensure_size
      Src: /src/glib/gobject/gparamspecs.c:1025,1
    - Dst: g_value_type_compatible
      Src: /src/glib/gobject/gparamspecs.c:1038,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gparamspecs.c:1038,1
    - Dst: g_value_array_new
      Src: /src/glib/gobject/gparamspecs.c:1020,1
    - Dst: G_PARAM_SPEC_VALUE_TYPE
      Src: /src/glib/gobject/gparamspecs.c:1038,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gparamspecs.c:1040,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gparamspecs.c:1041,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gparamspecs.c:1042,1
    - Dst: G_PARAM_SPEC_VALUE_TYPE
      Src: /src/glib/gobject/gparamspecs.c:1042,1
    - Dst: g_param_value_set_default
      Src: /src/glib/gobject/gparamspecs.c:1043,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/gparamspecs.c:1049,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 1056
      start: 1011
    functionDepth: 0
    functionLinenumber: 1011
    functionLinenumberEnd: 1056
    functionName: param_value_array_validate
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_value_array_new
    - value_array_ensure_size
    - G_VALUE_TYPE
    - g_value_init
    - g_param_value_validate
    - G_PARAM_SPEC_VALUE_ARRAY
    - G_PARAM_SPEC_VALUE_TYPE
    - g_value_type_compatible
    - g_param_value_set_default
    - g_value_unset
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean param_value_array_validate (GParamSpec *pspec,\t\t\
      \t GValue *value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_UCHAR
      Src: /src/glib/gobject/gparamspecs.c:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: param_uchar_set_default
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_UCHAR
    linkageType: ''
    returnType: void
    signature: "static void param_uchar_set_default (GParamSpec *pspec,\t\t\t GValue\t\
      \ *value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_INT
      Src: /src/glib/gobject/gparamspecs.c:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 157
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 157
    functionName: param_int_init
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_INT
    linkageType: ''
    returnType: void
    signature: 'static void param_int_init (GParamSpec *pspec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_ENUM
      Src: /src/glib/gobject/gparamspecs.c:519,1
    - Dst: g_type_class_unref
      Src: /src/glib/gobject/gparamspecs.c:524,1
    - Dst: g_type_parent
      Src: /src/glib/gobject/gparamspecs.c:520,1
    - Dst: g_type_class_peek
      Src: /src/glib/gobject/gparamspecs.c:520,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 529
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 529
    functionName: param_enum_finalize
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_type_class_peek
    - g_type_class_unref
    - g_type_parent
    - G_PARAM_SPEC_ENUM
    linkageType: ''
    returnType: void
    signature: 'static void param_enum_finalize (GParamSpec *pspec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_value_array_append
      Src: /src/glib/gobject/gparamspecs.c:968,1
    - Dst: g_value_array_remove
      Src: /src/glib/gobject/gparamspecs.c:973,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - value_array
    - fixed_n_elements
    argTypes:
    - GValueArray*
    - guint
    constantsTouched: []
    func_position:
      end: 978
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 978
    functionName: value_array_ensure_size
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_value_array_append
    - g_value_array_remove
    linkageType: ''
    returnType: guint
    signature: "static inline guint value_array_ensure_size (GValueArray *value_array,\t\
      \t\t guint fixed_n_elements) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_VALUE_ARRAY
      Src: /src/glib/gobject/gparamspecs.c:1063,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gparamspecs.c:1091,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gparamspecs.c:1091,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gparamspecs.c:1090,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gparamspecs.c:1090,1
    - Dst: g_param_values_cmp
      Src: /src/glib/gobject/gparamspecs.c:1092,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 26
    argCount: 3
    argNames:
    - pspec
    - value1
    - value2
    argTypes:
    - GParamSpec*
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 1098
      start: 1058
    functionDepth: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1098
    functionName: param_value_array_values_cmp
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_param_values_cmp
    - G_PARAM_SPEC_VALUE_ARRAY
    - G_VALUE_TYPE
    linkageType: ''
    returnType: gint
    signature: "static gint param_value_array_values_cmp (GParamSpec *pspec,\t\t\t\
      \ const GValue *value1,\t\t\t const GValue *value2) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_INT64
      Src: /src/glib/gobject/gparamspecs.c:389,1
    - Dst: CLAMP
      Src: /src/glib/gobject/gparamspecs.c:392,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 395
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 395
    functionName: param_int64_validate
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - CLAMP
    - G_PARAM_SPEC_INT64
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean param_int64_validate (GParamSpec *pspec,\t\t GValue\
      \ *value) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - pspec
    - value1
    - value2
    argTypes:
    - GParamSpec*
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 406
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 406
    functionName: param_int64_values_cmp
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint
    signature: "static gint param_int64_values_cmp (GParamSpec *pspec,\t\t const GValue\
      \ *value1,\t\t const GValue *value2) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_classify
      Src: /src/glib/gobject/gparamspecs.c:1332,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - v
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 1340
      start: 1329
    functionDepth: 0
    functionLinenumber: 1329
    functionLinenumberEnd: 1340
    functionName: variant_is_incomparable
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_variant_classify
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean variant_is_incomparable (GVariant *v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_CHAR
      Src: /src/glib/gobject/gparamspecs.c:65,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: param_char_is_valid
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_CHAR
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean param_char_is_valid (GParamSpec *pspec, const GValue
      *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_INT64
      Src: /src/glib/gobject/gparamspecs.c:372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 373
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 373
    functionName: param_int64_set_default
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_INT64
    linkageType: ''
    returnType: void
    signature: "static void param_int64_set_default (GParamSpec *pspec,\t\t\tGValue\
      \ *value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - pspec
    - value1
    - value2
    argTypes:
    - GParamSpec*
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 921
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 921
    functionName: param_boxed_values_cmp
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint
    signature: "static gint param_boxed_values_cmp (GParamSpec *pspec,\t\t\t const\
      \ GValue *value1,\t\t\t const GValue *value2) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_OBJECT
      Src: /src/glib/gobject/gparamspecs.c:1117,1
    - Dst: G_OBJECT_TYPE
      Src: /src/glib/gobject/gparamspecs.c:1121,1
    - Dst: g_value_type_compatible
      Src: /src/glib/gobject/gparamspecs.c:1121,1
    - Dst: G_PARAM_SPEC_VALUE_TYPE
      Src: /src/glib/gobject/gparamspecs.c:1121,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 1122
      start: 1113
    functionDepth: 0
    functionLinenumber: 1113
    functionLinenumberEnd: 1122
    functionName: param_object_is_valid
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_OBJECT_TYPE
    - G_PARAM_SPEC_VALUE_TYPE
    - g_value_type_compatible
    - G_PARAM_SPEC_OBJECT
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean param_object_is_valid (GParamSpec *pspec, const GValue
      *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_OVERRIDE
      Src: /src/glib/gobject/gparamspecs.c:1189,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/gparamspecs.c:1191,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 1192
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1192
    functionName: param_override_is_valid
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_param_value_is_valid
    - G_PARAM_SPEC_OVERRIDE
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean param_override_is_valid (GParamSpec *pspec,\t\t\t\
      \ const GValue *value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparamspecs.c:2190,1
    - Dst: g_param_spec_internal
      Src: /src/glib/gobject/gparamspecs.c:2192,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:2202,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2203
      start: 2179
    functionDepth: 0
    functionLinenumber: 2179
    functionLinenumberEnd: 2203
    functionName: g_param_spec_uint64
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_PARAM_SPEC
    - g_param_spec_internal
    linkageType: ''
    returnType: GParamSpec*
    signature: "GParamSpec *g_param_spec_uint64 (const gchar *name,\t\t const gchar\
      \ *nick,\t\t const gchar *blurb,\t\t guint64\t minimum,\t\t guint64\t maximum,\t\
      \t guint64\t default_value,\t\t GParamFlags flags) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_CHAR
      Src: /src/glib/gobject/gparamspecs.c:75,1
    - Dst: CLAMP
      Src: /src/glib/gobject/gparamspecs.c:78,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 81
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 81
    functionName: param_char_validate
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - CLAMP
    - G_PARAM_SPEC_CHAR
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean param_char_validate (GParamSpec *pspec,\t\t GValue\
      \ *value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_INT64
      Src: /src/glib/gobject/gparamspecs.c:379,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 383
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 383
    functionName: param_int64_is_valid
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_INT64
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean param_int64_is_valid (GParamSpec *pspec, const GValue
      *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 927
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 927
    functionName: param_pointer_init
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void param_pointer_init (GParamSpec *pspec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_OBJECT
      Src: /src/glib/gobject/gparamspecs.c:1128,1
    - Dst: G_PARAM_SPEC_VALUE_TYPE
      Src: /src/glib/gobject/gparamspecs.c:1132,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gparamspecs.c:1134,1
    - Dst: G_OBJECT_TYPE
      Src: /src/glib/gobject/gparamspecs.c:1132,1
    - Dst: g_value_type_compatible
      Src: /src/glib/gobject/gparamspecs.c:1132,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 1140
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1140
    functionName: param_object_validate
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_OBJECT_TYPE
    - g_object_unref
    - G_PARAM_SPEC_OBJECT
    - G_PARAM_SPEC_VALUE_TYPE
    - g_value_type_compatible
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean param_object_validate (GParamSpec *pspec,\t\t GValue\
      \ *value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_OVERRIDE
      Src: /src/glib/gobject/gparamspecs.c:1198,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/gparamspecs.c:1200,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 1201
      start: 1194
    functionDepth: 0
    functionLinenumber: 1194
    functionLinenumberEnd: 1201
    functionName: param_override_validate
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_param_value_validate
    - G_PARAM_SPEC_OVERRIDE
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean param_override_validate (GParamSpec *pspec,\t\t\t\
      \ GValue *value) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_ENUM
      Src: /src/glib/gobject/gparamspecs.c:552,1
    - Dst: g_enum_get_value
      Src: /src/glib/gobject/gparamspecs.c:556,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 560
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 560
    functionName: param_enum_validate
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_ENUM
    - g_enum_get_value
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean param_enum_validate (GParamSpec *pspec,\t\t GValue\
      \ *value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparamspecs.c:1938,1
    - Dst: g_param_spec_internal
      Src: /src/glib/gobject/gparamspecs.c:1940,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:1948,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1949
      start: 1929
    functionDepth: 0
    functionLinenumber: 1929
    functionLinenumberEnd: 1949
    functionName: g_param_spec_boolean
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_PARAM_SPEC
    - g_param_spec_internal
    linkageType: ''
    returnType: GParamSpec*
    signature: "GParamSpec *g_param_spec_boolean (const gchar *name,\t\t const gchar\
      \ *nick,\t\t const gchar *blurb,\t\t gboolean\t default_value,\t\t GParamFlags\
      \ flags) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparamspecs.c:2664,1
    - Dst: g_param_spec_internal
      Src: /src/glib/gobject/gparamspecs.c:2666,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gparamspecs.c:2664,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:2672,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:2674,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2675
      start: 2655
    functionDepth: 0
    functionLinenumber: 2655
    functionLinenumberEnd: 2675
    functionName: g_param_spec_object
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_param_spec_internal
    - g_type_is_a
    - G_PARAM_SPEC
    linkageType: ''
    returnType: GParamSpec*
    signature: "GParamSpec *g_param_spec_object (const gchar *name,\t\t const gchar\
      \ *nick,\t\t const gchar *blurb,\t\t GType\t object_type,\t\t GParamFlags flags) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_FLAGS
      Src: /src/glib/gobject/gparamspecs.c:565,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 569
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 569
    functionName: param_flags_init
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_FLAGS
    linkageType: ''
    returnType: void
    signature: 'static void param_flags_init (GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gparamspecs.c:1498,1
    - Dst: set_is_valid_vfunc
      Src: /src/glib/gobject/gparamspecs.c:1518,1
    - Dst: g_param_type_register_static
      Src: /src/glib/gobject/gparamspecs.c:1744,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gparamspecs.c:1650,1
    - Dst: g_assert
      Src: /src/glib/gobject/gparamspecs.c:1577,1
    - Dst: g_assert
      Src: /src/glib/gobject/gparamspecs.c:1727,1
    - Dst: set_is_valid_vfunc
      Src: /src/glib/gobject/gparamspecs.c:1821,1
    - Dst: g_assert
      Src: /src/glib/gobject/gparamspecs.c:1406,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gparamspecs.c:1422,1
    - Dst: g_assert
      Src: /src/glib/gobject/gparamspecs.c:1691,1
    - Dst: g_assert
      Src: /src/glib/gobject/gparamspecs.c:1634,1
    - Dst: g_assert
      Src: /src/glib/gobject/gparamspecs.c:1482,1
    - Dst: g_param_type_register_static
      Src: /src/glib/gobject/gparamspecs.c:1536,1
    - Dst: set_is_valid_vfunc
      Src: /src/glib/gobject/gparamspecs.c:1556,1
    - Dst: g_param_type_register_static
      Src: /src/glib/gobject/gparamspecs.c:1781,1
    - Dst: g_assert
      Src: /src/glib/gobject/gparamspecs.c:1709,1
    - Dst: g_param_type_register_static
      Src: /src/glib/gobject/gparamspecs.c:1593,1
    - Dst: g_assert
      Src: /src/glib/gobject/gparamspecs.c:1765,1
    - Dst: g_param_type_register_static
      Src: /src/glib/gobject/gparamspecs.c:1460,1
    - Dst: set_is_valid_vfunc
      Src: /src/glib/gobject/gparamspecs.c:1442,1
    - Dst: g_param_type_register_static
      Src: /src/glib/gobject/gparamspecs.c:1612,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gparamspecs.c:1707,1
    - Dst: set_is_valid_vfunc
      Src: /src/glib/gobject/gparamspecs.c:1575,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gparamspecs.c:1555,1
    - Dst: g_new0
      Src: /src/glib/gobject/gparamspecs.c:1384,1
    - Dst: set_is_valid_vfunc
      Src: /src/glib/gobject/gparamspecs.c:1404,1
    - Dst: g_assert
      Src: /src/glib/gobject/gparamspecs.c:1596,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gparamspecs.c:1725,1
    - Dst: g_param_type_register_static
      Src: /src/glib/gobject/gparamspecs.c:1669,1
    - Dst: g_param_type_register_static
      Src: /src/glib/gobject/gparamspecs.c:1801,1
    - Dst: g_assert
      Src: /src/glib/gobject/gparamspecs.c:1539,1
    - Dst: g_param_type_register_static
      Src: /src/glib/gobject/gparamspecs.c:1650,1
    - Dst: g_assert
      Src: /src/glib/gobject/gparamspecs.c:1444,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gparamspecs.c:1460,1
    - Dst: set_is_valid_vfunc
      Src: /src/glib/gobject/gparamspecs.c:1480,1
    - Dst: g_param_type_register_static
      Src: /src/glib/gobject/gparamspecs.c:1498,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gparamspecs.c:1612,1
    - Dst: set_is_valid_vfunc
      Src: /src/glib/gobject/gparamspecs.c:1632,1
    - Dst: g_assert
      Src: /src/glib/gobject/gparamspecs.c:1784,1
    - Dst: set_is_valid_vfunc
      Src: /src/glib/gobject/gparamspecs.c:1763,1
    - Dst: g_param_type_register_static
      Src: /src/glib/gobject/gparamspecs.c:1422,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gparamspecs.c:1669,1
    - Dst: set_is_valid_vfunc
      Src: /src/glib/gobject/gparamspecs.c:1689,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gparamspecs.c:1801,1
    - Dst: g_assert
      Src: /src/glib/gobject/gparamspecs.c:1463,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gparamspecs.c:1479,1
    - Dst: g_param_type_register_static
      Src: /src/glib/gobject/gparamspecs.c:1517,1
    - Dst: g_assert
      Src: /src/glib/gobject/gparamspecs.c:1615,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gparamspecs.c:1631,1
    - Dst: g_param_type_register_static
      Src: /src/glib/gobject/gparamspecs.c:1820,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gparamspecs.c:1688,1
    - Dst: g_assert
      Src: /src/glib/gobject/gparamspecs.c:1746,1
    - Dst: set_is_valid_vfunc
      Src: /src/glib/gobject/gparamspecs.c:1594,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gparamspecs.c:1762,1
    - Dst: g_assert
      Src: /src/glib/gobject/gparamspecs.c:1672,1
    - Dst: g_assert
      Src: /src/glib/gobject/gparamspecs.c:1804,1
    - Dst: g_param_type_register_static
      Src: /src/glib/gobject/gparamspecs.c:1555,1
    - Dst: set_is_valid_vfunc
      Src: /src/glib/gobject/gparamspecs.c:1537,1
    - Dst: g_assert
      Src: /src/glib/gobject/gparamspecs.c:1501,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gparamspecs.c:1517,1
    - Dst: g_assert
      Src: /src/glib/gobject/gparamspecs.c:1653,1
    - Dst: g_param_type_register_static
      Src: /src/glib/gobject/gparamspecs.c:1707,1
    - Dst: set_is_valid_vfunc
      Src: /src/glib/gobject/gparamspecs.c:1782,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gparamspecs.c:1820,1
    - Dst: g_param_type_register_static
      Src: /src/glib/gobject/gparamspecs.c:1725,1
    - Dst: g_assert
      Src: /src/glib/gobject/gparamspecs.c:1425,1
    - Dst: g_param_type_register_static
      Src: /src/glib/gobject/gparamspecs.c:1441,1
    - Dst: set_is_valid_vfunc
      Src: /src/glib/gobject/gparamspecs.c:1461,1
    - Dst: g_assert
      Src: /src/glib/gobject/gparamspecs.c:1520,1
    - Dst: g_param_type_register_static
      Src: /src/glib/gobject/gparamspecs.c:1574,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gparamspecs.c:1536,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gparamspecs.c:1744,1
    - Dst: set_is_valid_vfunc
      Src: /src/glib/gobject/gparamspecs.c:1613,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gparamspecs.c:1781,1
    - Dst: g_assert
      Src: /src/glib/gobject/gparamspecs.c:1823,1
    - Dst: g_param_type_register_static
      Src: /src/glib/gobject/gparamspecs.c:1403,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gparamspecs.c:1593,1
    - Dst: set_is_valid_vfunc
      Src: /src/glib/gobject/gparamspecs.c:1670,1
    - Dst: set_is_valid_vfunc
      Src: /src/glib/gobject/gparamspecs.c:1802,1
    - Dst: set_is_valid_vfunc
      Src: /src/glib/gobject/gparamspecs.c:1651,1
    - Dst: g_assert
      Src: /src/glib/gobject/gparamspecs.c:1558,1
    - Dst: g_param_type_register_static
      Src: /src/glib/gobject/gparamspecs.c:1479,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gparamspecs.c:1441,1
    - Dst: set_is_valid_vfunc
      Src: /src/glib/gobject/gparamspecs.c:1499,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gparamspecs.c:1574,1
    - Dst: g_param_type_register_static
      Src: /src/glib/gobject/gparamspecs.c:1631,1
    - Dst: g_assert
      Src: /src/glib/gobject/gparamspecs.c:1826,1
    - Dst: g_param_type_register_static
      Src: /src/glib/gobject/gparamspecs.c:1762,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gparamspecs.c:1403,1
    - Dst: set_is_valid_vfunc
      Src: /src/glib/gobject/gparamspecs.c:1423,1
    - Dst: g_param_type_register_static
      Src: /src/glib/gobject/gparamspecs.c:1688,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 191
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1827
      start: 1375
    functionDepth: 0
    functionLinenumber: 1375
    functionLinenumberEnd: 1827
    functionName: _g_param_spec_types_init
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_intern_static_string
    - set_is_valid_vfunc
    - g_param_type_register_static
    - g_new0
    linkageType: ''
    returnType: void
    signature: 'void _g_param_spec_types_init (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_FLOAT
      Src: /src/glib/gobject/gparamspecs.c:620,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 626
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 626
    functionName: param_float_init
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_FLOAT
    linkageType: ''
    returnType: void
    signature: 'static void param_float_init (GParamSpec *pspec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_FLAGS
      Src: /src/glib/gobject/gparamspecs.c:574,1
    - Dst: g_type_parent
      Src: /src/glib/gobject/gparamspecs.c:575,1
    - Dst: g_type_class_peek
      Src: /src/glib/gobject/gparamspecs.c:575,1
    - Dst: g_type_class_unref
      Src: /src/glib/gobject/gparamspecs.c:579,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 584
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 584
    functionName: param_flags_finalize
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_FLAGS
    - g_type_class_unref
    - g_type_parent
    - g_type_class_peek
    linkageType: ''
    returnType: void
    signature: 'static void param_flags_finalize (GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_GTYPE
      Src: /src/glib/gobject/gparamspecs.c:1222,1
    - Dst: GTYPE_TO_POINTER
      Src: /src/glib/gobject/gparamspecs.c:1224,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 1225
      start: 1218
    functionDepth: 0
    functionLinenumber: 1218
    functionLinenumberEnd: 1225
    functionName: param_gtype_set_default
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - GTYPE_TO_POINTER
    - G_PARAM_SPEC_GTYPE
    linkageType: ''
    returnType: void
    signature: "static void param_gtype_set_default (GParamSpec *pspec,\t\t\t GValue\
      \ *value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_VARIANT
      Src: /src/glib/gobject/gparamspecs.c:1271,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1275
      start: 1268
    functionDepth: 0
    functionLinenumber: 1268
    functionLinenumberEnd: 1275
    functionName: param_variant_init
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_VARIANT
    linkageType: ''
    returnType: void
    signature: 'static void param_variant_init (GParamSpec *pspec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_VARIANT
      Src: /src/glib/gobject/gparamspecs.c:1315,1
    - Dst: g_param_value_set_default
      Src: /src/glib/gobject/gparamspecs.c:1321,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gobject/gparamspecs.c:1319,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 1326
      start: 1311
    functionDepth: 0
    functionLinenumber: 1311
    functionLinenumberEnd: 1326
    functionName: param_variant_validate
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_VARIANT
    - g_param_value_set_default
    - g_variant_is_of_type
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean param_variant_validate (GParamSpec *pspec, GValue
      *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparamspecs.c:2751,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparamspecs.c:2752,1
    - Dst: g_variant_type_copy
      Src: /src/glib/gobject/gparamspecs.c:2761,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gobject/gparamspecs.c:2753,1
    - Dst: g_param_spec_internal
      Src: /src/glib/gobject/gparamspecs.c:2755,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gobject/gparamspecs.c:2763,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:2765,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2766
      start: 2741
    functionDepth: 0
    functionLinenumber: 2741
    functionLinenumberEnd: 2766
    functionName: g_param_spec_variant
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - g_return_val_if_fail
    - G_PARAM_SPEC
    - g_variant_is_of_type
    - g_variant_type_copy
    - g_param_spec_internal
    linkageType: ''
    returnType: GParamSpec*
    signature: 'GParamSpec *g_param_spec_variant (const gchar *name, const gchar *nick,
      const gchar *blurb, const GVariantType *type, GVariant *default_value, GParamFlags
      flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_FLAGS
      Src: /src/glib/gobject/gparamspecs.c:590,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 591
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 591
    functionName: param_flags_set_default
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_FLAGS
    linkageType: ''
    returnType: void
    signature: "static void param_flags_set_default (GParamSpec *pspec,\t\t\t GValue\
      \ *value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_FLOAT
      Src: /src/glib/gobject/gparamspecs.c:632,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 633
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 633
    functionName: param_float_set_default
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_FLOAT
    linkageType: ''
    returnType: void
    signature: "static void param_float_set_default (GParamSpec *pspec,\t\t\t GValue\
      \ *value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_GTYPE
      Src: /src/glib/gobject/gparamspecs.c:1231,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gparamspecs.c:1235,1
    - Dst: GPOINTER_TO_TYPE
      Src: /src/glib/gobject/gparamspecs.c:1232,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 1236
      start: 1227
    functionDepth: 0
    functionLinenumber: 1227
    functionLinenumberEnd: 1236
    functionName: param_gtype_is_valid
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_GTYPE
    - GPOINTER_TO_TYPE
    - g_type_is_a
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean param_gtype_is_valid (GParamSpec *pspec, const GValue
      *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_VARIANT
      Src: /src/glib/gobject/gparamspecs.c:1280,1
    - Dst: g_type_parent
      Src: /src/glib/gobject/gparamspecs.c:1281,1
    - Dst: g_type_class_peek
      Src: /src/glib/gobject/gparamspecs.c:1281,1
    - Dst: g_variant_type_free
      Src: /src/glib/gobject/gparamspecs.c:1285,1
    - Dst: g_variant_unref
      Src: /src/glib/gobject/gparamspecs.c:1284,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1288
      start: 1277
    functionDepth: 0
    functionLinenumber: 1277
    functionLinenumberEnd: 1288
    functionName: param_variant_finalize
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_variant_type_free
    - g_type_class_peek
    - G_PARAM_SPEC_VARIANT
    - g_variant_unref
    - g_type_parent
    linkageType: ''
    returnType: void
    signature: 'static void param_variant_finalize (GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparamspecs.c:1978,1
    - Dst: g_param_spec_internal
      Src: /src/glib/gobject/gparamspecs.c:1980,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:1990,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1991
      start: 1967
    functionDepth: 0
    functionLinenumber: 1967
    functionLinenumberEnd: 1991
    functionName: g_param_spec_int
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_PARAM_SPEC
    - g_param_spec_internal
    linkageType: ''
    returnType: GParamSpec*
    signature: "GParamSpec *g_param_spec_int (const gchar *name,\t\t const gchar *nick,\t\
      \t const gchar *blurb,\t\t gint\t minimum,\t\t gint\t maximum,\t\t gint\t default_value,\t\
      \t GParamFlags flags) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparamspecs.c:2696,1
    - Dst: G_IS_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:2697,1
    - Dst: g_param_spec_get_redirect_target
      Src: /src/glib/gobject/gparamspecs.c:2703,1
    - Dst: g_param_spec_internal
      Src: /src/glib/gobject/gparamspecs.c:2710,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparamspecs.c:2697,1
    - Dst: G_PARAM_SPEC_VALUE_TYPE
      Src: /src/glib/gobject/gparamspecs.c:2714,1
    - Dst: G_PARAM_SPEC_OVERRIDE
      Src: /src/glib/gobject/gparamspecs.c:2715,1
    - Dst: g_param_spec_ref
      Src: /src/glib/gobject/gparamspecs.c:2715,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2718
      start: 2690
    functionDepth: 0
    functionLinenumber: 2690
    functionLinenumberEnd: 2718
    functionName: g_param_spec_override
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_param_spec_ref
    - g_param_spec_internal
    - G_PARAM_SPEC_OVERRIDE
    - g_param_spec_get_redirect_target
    - G_PARAM_SPEC_VALUE_TYPE
    - G_IS_PARAM_SPEC
    linkageType: ''
    returnType: GParamSpec*
    signature: "GParamSpec *g_param_spec_override (const gchar *name,\t\t GParamSpec\
      \ *overridden) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_UINT
      Src: /src/glib/gobject/gparamspecs.c:220,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 224
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 224
    functionName: param_uint_is_valid
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_UINT
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean param_uint_is_valid (GParamSpec *pspec,\t\t const\
      \ GValue *value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_ENUM
      Src: /src/glib/gobject/gparamspecs.c:535,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 536
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 536
    functionName: param_enum_set_default
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_ENUM
    linkageType: ''
    returnType: void
    signature: "static void param_enum_set_default (GParamSpec *pspec,\t\t\tGValue\
      \ *value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 901
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 901
    functionName: param_boxed_init
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void param_boxed_init (GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_VARIANT
      Src: /src/glib/gobject/gparamspecs.c:1294,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 1296
      start: 1290
    functionDepth: 0
    functionLinenumber: 1290
    functionLinenumberEnd: 1296
    functionName: param_variant_set_default
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_VARIANT
    linkageType: ''
    returnType: void
    signature: 'static void param_variant_set_default (GParamSpec *pspec, GValue *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_param_spec_internal
      Src: /src/glib/gobject/gparamspecs.c:2585,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:2593,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2594
      start: 2576
    functionDepth: 0
    functionLinenumber: 2576
    functionLinenumberEnd: 2594
    functionName: g_param_spec_gtype
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_param_spec_internal
    - G_PARAM_SPEC
    linkageType: ''
    returnType: GParamSpec*
    signature: "GParamSpec *g_param_spec_gtype (const gchar *name,\t\t const gchar\
      \ *nick,\t\t const gchar *blurb,\t\t GType is_a_type,\t\t GParamFlags flags) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_UINT
      Src: /src/glib/gobject/gparamspecs.c:230,1
    - Dst: CLAMP
      Src: /src/glib/gobject/gparamspecs.c:233,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 236
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 236
    functionName: param_uint_validate
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - CLAMP
    - G_PARAM_SPEC_UINT
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean param_uint_validate (GParamSpec *pspec,\t\t GValue\
      \ *value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_ENUM
      Src: /src/glib/gobject/gparamspecs.c:542,1
    - Dst: g_enum_get_value
      Src: /src/glib/gobject/gparamspecs.c:545,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 546
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 546
    functionName: param_enum_is_valid
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_ENUM
    - g_enum_get_value
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean param_enum_is_valid (GParamSpec *pspec, const GValue
      *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 908
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 908
    functionName: param_boxed_set_default
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void param_boxed_set_default (GParamSpec *pspec,\t\t\t GValue\
      \ *value) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_VARIANT
      Src: /src/glib/gobject/gparamspecs.c:1302,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gobject/gparamspecs.c:1308,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 1309
      start: 1298
    functionDepth: 0
    functionLinenumber: 1298
    functionLinenumberEnd: 1309
    functionName: param_variant_is_valid
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_VARIANT
    - g_variant_is_of_type
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean param_variant_is_valid (GParamSpec *pspec, const GValue
      *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparamspecs.c:2062,1
    - Dst: g_param_spec_internal
      Src: /src/glib/gobject/gparamspecs.c:2064,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:2074,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2075
      start: 2051
    functionDepth: 0
    functionLinenumber: 2051
    functionLinenumberEnd: 2075
    functionName: g_param_spec_long
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_PARAM_SPEC
    - g_param_spec_internal
    linkageType: ''
    returnType: GParamSpec*
    signature: "GParamSpec *g_param_spec_long (const gchar *name,\t\t const gchar\
      \ *nick,\t\t const gchar *blurb,\t\t glong\tminimum,\t\t glong\tmaximum,\t\t\
      \ glong\tdefault_value,\t\t GParamFlags\tflags) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_param_spec_internal
      Src: /src/glib/gobject/gparamspecs.c:2549,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:2555,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2556
      start: 2541
    functionDepth: 0
    functionLinenumber: 2541
    functionLinenumberEnd: 2556
    functionName: g_param_spec_pointer
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_param_spec_internal
    - G_PARAM_SPEC
    linkageType: ''
    returnType: GParamSpec*
    signature: "GParamSpec *g_param_spec_pointer (const gchar *name,\t\t const gchar\
      \ *nick,\t\t const gchar *blurb,\t\t GParamFlags flags) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_UCHAR
      Src: /src/glib/gobject/gparamspecs.c:104,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 108
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 108
    functionName: param_uchar_is_valid
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_UCHAR
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean param_uchar_is_valid (GParamSpec *pspec,\t\t const\
      \ GValue *value) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_VALUE_ARRAY
      Src: /src/glib/gobject/gparamspecs.c:983,1
    - Dst: g_type_parent
      Src: /src/glib/gobject/gparamspecs.c:984,1
    - Dst: g_type_class_peek
      Src: /src/glib/gobject/gparamspecs.c:984,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/gparamspecs.c:988,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 993
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 993
    functionName: param_value_array_finalize
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_param_spec_unref
    - g_type_parent
    - g_type_class_peek
    - G_PARAM_SPEC_VALUE_ARRAY
    linkageType: ''
    returnType: void
    signature: 'static void param_value_array_finalize (GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparamspecs.c:2314,1
    - Dst: G_TYPE_IS_FLAGS
      Src: /src/glib/gobject/gparamspecs.c:2314,1
    - Dst: g_param_spec_internal
      Src: /src/glib/gobject/gparamspecs.c:2320,1
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/gparamspecs.c:2316,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparamspecs.c:2318,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:2328,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:2330,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2331
      start: 2303
    functionDepth: 0
    functionLinenumber: 2303
    functionLinenumberEnd: 2331
    functionName: g_param_spec_flags
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_type_class_ref
    - G_PARAM_SPEC
    - G_TYPE_IS_FLAGS
    - g_param_spec_internal
    linkageType: ''
    returnType: GParamSpec*
    signature: "GParamSpec *g_param_spec_flags (const gchar *name,\t\t const gchar\
      \ *nick,\t\t const gchar *blurb,\t\t GType\t flags_type,\t\t guint\t default_value,\t\
      \t GParamFlags\t flags) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_UCHAR
      Src: /src/glib/gobject/gparamspecs.c:114,1
    - Dst: CLAMP
      Src: /src/glib/gobject/gparamspecs.c:117,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 120
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 120
    functionName: param_uchar_validate
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - CLAMP
    - G_PARAM_SPEC_UCHAR
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean param_uchar_validate (GParamSpec *pspec,\t\t GValue\
      \ *value) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_VALUE_ARRAY
      Src: /src/glib/gobject/gparamspecs.c:999,1
    - Dst: value_array_ensure_size
      Src: /src/glib/gobject/gparamspecs.c:1007,1
    - Dst: g_value_array_new
      Src: /src/glib/gobject/gparamspecs.c:1002,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 1009
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 1009
    functionName: param_value_array_set_default
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_value_array_new
    - value_array_ensure_size
    - G_PARAM_SPEC_VALUE_ARRAY
    linkageType: ''
    returnType: void
    signature: "static void param_value_array_set_default (GParamSpec *pspec,\t\t\t\
      \ GValue *value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparamspecs.c:2268,1
    - Dst: G_TYPE_IS_ENUM
      Src: /src/glib/gobject/gparamspecs.c:2268,1
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/gparamspecs.c:2270,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparamspecs.c:2272,1
    - Dst: g_enum_get_value
      Src: /src/glib/gobject/gparamspecs.c:2272,1
    - Dst: g_param_spec_internal
      Src: /src/glib/gobject/gparamspecs.c:2274,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:2282,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:2284,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2285
      start: 2257
    functionDepth: 0
    functionLinenumber: 2257
    functionLinenumberEnd: 2285
    functionName: g_param_spec_enum
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_type_class_ref
    - G_PARAM_SPEC
    - g_enum_get_value
    - g_param_spec_internal
    - G_TYPE_IS_ENUM
    linkageType: ''
    returnType: GParamSpec*
    signature: "GParamSpec *g_param_spec_enum (const gchar *name,\t\t const gchar\
      \ *nick,\t\t const gchar *blurb,\t\t GType\tenum_type,\t\t gint\t\tdefault_value,\t\
      \t GParamFlags\tflags) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparamspecs.c:2623,1
    - Dst: G_IS_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:2623,1
    - Dst: g_param_spec_internal
      Src: /src/glib/gobject/gparamspecs.c:2625,1
    - Dst: g_param_spec_ref
      Src: /src/glib/gobject/gparamspecs.c:2633,1
    - Dst: g_param_spec_sink
      Src: /src/glib/gobject/gparamspecs.c:2634,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:2637,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2638
      start: 2614
    functionDepth: 0
    functionLinenumber: 2614
    functionLinenumberEnd: 2638
    functionName: g_param_spec_value_array
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_PARAM_SPEC
    - g_param_spec_sink
    - g_param_spec_internal
    - g_param_spec_ref
    - G_IS_PARAM_SPEC
    linkageType: ''
    returnType: GParamSpec*
    signature: "GParamSpec *g_param_spec_value_array (const gchar *name,\t\t\t const\
      \ gchar *nick,\t\t\t const gchar *blurb,\t\t\t GParamSpec *element_spec,\t\t\
      \t GParamFlags flags) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_INT
      Src: /src/glib/gobject/gparamspecs.c:180,1
    - Dst: CLAMP
      Src: /src/glib/gobject/gparamspecs.c:183,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 186
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 186
    functionName: param_int_validate
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - CLAMP
    - G_PARAM_SPEC_INT
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean param_int_validate (GParamSpec *pspec,\t\t GValue\
      \ *value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_LONG
      Src: /src/glib/gobject/gparamspecs.c:285,1
    - Dst: CLAMP
      Src: /src/glib/gobject/gparamspecs.c:288,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 291
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 291
    functionName: param_long_validate
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - CLAMP
    - G_PARAM_SPEC_LONG
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean param_long_validate (GParamSpec *pspec,\t\t GValue\
      \ *value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_UINT64
      Src: /src/glib/gobject/gparamspecs.c:429,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 433
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 433
    functionName: param_uint64_is_valid
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_UINT64
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean param_uint64_is_valid (GParamSpec *pspec, const GValue
      *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_FLOAT
      Src: /src/glib/gobject/gparamspecs.c:662,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - pspec
    - value1
    - value2
    argTypes:
    - GParamSpec*
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 668
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 668
    functionName: param_float_values_cmp
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_FLOAT
    linkageType: ''
    returnType: gint
    signature: "static gint param_float_values_cmp (GParamSpec *pspec,\t\t\tconst\
      \ GValue *value1,\t\t\tconst GValue *value2) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gobject/gparamspecs.c:756,1
    - Dst: G_PARAM_SPEC_STRING
      Src: /src/glib/gobject/gparamspecs.c:756,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 757
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 757
    functionName: param_string_set_default
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_STRING
    - g_strdup
    linkageType: ''
    returnType: void
    signature: "static void param_string_set_default (GParamSpec *pspec,\t\t\t GValue\
      \ *value) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - pspec
    - value1
    - value2
    argTypes:
    - GParamSpec*
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 197
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 197
    functionName: param_int_values_cmp
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint
    signature: "static gint param_int_values_cmp (GParamSpec *pspec,\t\t const GValue\
      \ *value1,\t\t const GValue *value2) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - pspec
    - value1
    - value2
    argTypes:
    - GParamSpec*
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 302
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 302
    functionName: param_long_values_cmp
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint
    signature: "static gint param_long_values_cmp (GParamSpec *pspec,\t\t const GValue\
      \ *value1,\t\t const GValue *value2) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_UINT64
      Src: /src/glib/gobject/gparamspecs.c:439,1
    - Dst: CLAMP
      Src: /src/glib/gobject/gparamspecs.c:442,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 445
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 445
    functionName: param_uint64_validate
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_UINT64
    - CLAMP
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean param_uint64_validate (GParamSpec *pspec,\t\t GValue\
      \ *value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_DOUBLE
      Src: /src/glib/gobject/gparamspecs.c:673,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 679
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 679
    functionName: param_double_init
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_DOUBLE
    linkageType: ''
    returnType: void
    signature: 'static void param_double_init (GParamSpec *pspec) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_STRING
      Src: /src/glib/gobject/gparamspecs.c:763,1
    - Dst: g_strdup
      Src: /src/glib/gobject/gparamspecs.c:775,1
    - Dst: strchr
      Src: /src/glib/gobject/gparamspecs.c:784,1
    - Dst: g_strdup
      Src: /src/glib/gobject/gparamspecs.c:788,1
    - Dst: strchr
      Src: /src/glib/gobject/gparamspecs.c:771,1
    - Dst: g_free
      Src: /src/glib/gobject/gparamspecs.c:800,1
    - Dst: g_strdup
      Src: /src/glib/gobject/gparamspecs.c:810,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 51
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 816
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 816
    functionName: param_string_validate
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_STRING
    - strchr
    - g_strdup
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean param_string_validate (GParamSpec *pspec,\t\t GValue\
      \ *value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_param_spec_internal
      Src: /src/glib/gobject/gparamspecs.c:2230,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:2238,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2239
      start: 2221
    functionDepth: 0
    functionLinenumber: 2221
    functionLinenumberEnd: 2239
    functionName: g_param_spec_unichar
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_param_spec_internal
    - G_PARAM_SPEC
    linkageType: ''
    returnType: GParamSpec*
    signature: "GParamSpec *g_param_spec_unichar (const gchar *name,\t\t const gchar\
      \ *nick,\t\t const gchar *blurb,\t\t gunichar\t default_value,\t\t GParamFlags\
      \ flags) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_INT
      Src: /src/glib/gobject/gparamspecs.c:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 164
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 164
    functionName: param_int_set_default
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_INT
    linkageType: ''
    returnType: void
    signature: "static void param_int_set_default (GParamSpec *pspec,\t\t GValue *value) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - pspec
    - value1
    - value2
    argTypes:
    - GParamSpec*
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 247
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 247
    functionName: param_uint_values_cmp
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint
    signature: "static gint param_uint_values_cmp (GParamSpec *pspec,\t\t const GValue\
      \ *value1,\t\t const GValue *value2) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_LONG
      Src: /src/glib/gobject/gparamspecs.c:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 269
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 269
    functionName: param_long_set_default
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_LONG
    linkageType: ''
    returnType: void
    signature: "static void param_long_set_default (GParamSpec *pspec,\t\t\tGValue\
      \ *value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparamspecs.c:1896,1
    - Dst: g_param_spec_internal
      Src: /src/glib/gobject/gparamspecs.c:1898,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:1908,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1909
      start: 1885
    functionDepth: 0
    functionLinenumber: 1885
    functionLinenumberEnd: 1909
    functionName: g_param_spec_uchar
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_PARAM_SPEC
    - g_param_spec_internal
    linkageType: ''
    returnType: GParamSpec*
    signature: "GParamSpec *g_param_spec_uchar (const gchar *name,\t\t const gchar\
      \ *nick,\t\t const gchar *blurb,\t\t guint8\t minimum,\t\t guint8\t maximum,\t\
      \t guint8\t default_value,\t\t GParamFlags\t flags) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparamspecs.c:2020,1
    - Dst: g_param_spec_internal
      Src: /src/glib/gobject/gparamspecs.c:2022,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:2032,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2033
      start: 2009
    functionDepth: 0
    functionLinenumber: 2009
    functionLinenumberEnd: 2033
    functionName: g_param_spec_uint
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_PARAM_SPEC
    - g_param_spec_internal
    linkageType: ''
    returnType: GParamSpec*
    signature: "GParamSpec *g_param_spec_uint (const gchar *name,\t\t const gchar\
      \ *nick,\t\t const gchar *blurb,\t\t guint\tminimum,\t\t guint\tmaximum,\t\t\
      \ guint\tdefault_value,\t\t GParamFlags\tflags) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparamspecs.c:2512,1
    - Dst: G_TYPE_IS_VALUE_TYPE
      Src: /src/glib/gobject/gparamspecs.c:2513,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparamspecs.c:2513,1
    - Dst: g_param_spec_internal
      Src: /src/glib/gobject/gparamspecs.c:2515,1
    - Dst: G_TYPE_IS_BOXED
      Src: /src/glib/gobject/gparamspecs.c:2512,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:2521,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:2523,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2524
      start: 2503
    functionDepth: 0
    functionLinenumber: 2503
    functionLinenumberEnd: 2524
    functionName: g_param_spec_boxed
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_TYPE_IS_BOXED
    - g_return_val_if_fail
    - G_TYPE_IS_VALUE_TYPE
    - G_PARAM_SPEC
    - g_param_spec_internal
    linkageType: ''
    returnType: GParamSpec*
    signature: "GParamSpec *g_param_spec_boxed (const gchar *name,\t\t const gchar\
      \ *nick,\t\t const gchar *blurb,\t\t GType\t boxed_type,\t\t GParamFlags flags) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_INT
      Src: /src/glib/gobject/gparamspecs.c:170,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 174
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 174
    functionName: param_int_is_valid
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_INT
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean param_int_is_valid (GParamSpec *pspec, const GValue
      *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_LONG
      Src: /src/glib/gobject/gparamspecs.c:252,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 262
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 262
    functionName: param_long_init
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_LONG
    linkageType: ''
    returnType: void
    signature: 'static void param_long_init (GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PARAM_SPEC_LONG
      Src: /src/glib/gobject/gparamspecs.c:275,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 279
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 279
    functionName: param_long_is_valid
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_LONG
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean param_long_is_valid (GParamSpec *pspec,\t\t const\
      \ GValue *value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparamspecs.c:1856,1
    - Dst: g_param_spec_internal
      Src: /src/glib/gobject/gparamspecs.c:1858,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/gparamspecs.c:1868,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1869
      start: 1845
    functionDepth: 0
    functionLinenumber: 1845
    functionLinenumberEnd: 1869
    functionName: g_param_spec_char
    functionSourceFile: /src/glib/gobject/gparamspecs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_PARAM_SPEC
    - g_param_spec_internal
    linkageType: ''
    returnType: GParamSpec*
    signature: "GParamSpec *g_param_spec_char (const gchar *name,\t\t const gchar\
      \ *nick,\t\t const gchar *blurb,\t\t gint8\tminimum,\t\t gint8\tmaximum,\t\t\
      \ gint8\tdefault_value,\t\t GParamFlags\tflags) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:390,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:393,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:394,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:391,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:392,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:395,1
    - Dst: g_renew
      Src: /src/glib/gobject/gclosure.c:397,1
    - Dst: CLOSURE_N_NOTIFIERS
      Src: /src/glib/gobject/gclosure.c:397,1
    - Dst: CLOSURE_N_MFUNCS
      Src: /src/glib/gobject/gclosure.c:399,1
    - Dst: CLOSURE_N_MFUNCS
      Src: /src/glib/gobject/gclosure.c:401,1
    - Dst: CLOSURE_N_MFUNCS
      Src: /src/glib/gobject/gclosure.c:404,1
    - Dst: CLOSURE_N_MFUNCS
      Src: /src/glib/gobject/gclosure.c:410,1
    - Dst: ATOMIC_INC
      Src: /src/glib/gobject/gclosure.c:422,1
    - Dst: CLOSURE_N_MFUNCS
      Src: /src/glib/gobject/gclosure.c:412,1
    - Dst: CLOSURE_N_MFUNCS
      Src: /src/glib/gobject/gclosure.c:406,1
    - Dst: CLOSURE_N_MFUNCS
      Src: /src/glib/gobject/gclosure.c:409,1
    - Dst: CLOSURE_N_MFUNCS
      Src: /src/glib/gobject/gclosure.c:413,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 56
    argCount: 5
    argNames:
    - closure
    - pre_marshal_data
    - pre_marshal_notify
    - post_marshal_data
    - post_marshal_notify
    argTypes:
    - GClosure*
    - gpointer
    - GClosureNotify
    - gpointer
    - GClosureNotify
    constantsTouched: []
    func_position:
      end: 423
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 423
    functionName: g_closure_add_marshal_guards
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - g_renew
    - g_return_if_fail
    - CLOSURE_N_MFUNCS
    - CLOSURE_N_NOTIFIERS
    - ATOMIC_INC
    linkageType: ''
    returnType: void
    signature: "void g_closure_add_marshal_guards (GClosure *closure,\t\t\t gpointer\
      \ pre_marshal_data,\t\t\t GClosureNotify pre_marshal_notify,\t\t\t gpointer\
      \ post_marshal_data,\t\t\t GClosureNotify post_marshal_notify) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:806,1
    - Dst: G_REAL_CLOSURE
      Src: /src/glib/gobject/gclosure.c:808,1
    - Dst: g_closure_ref
      Src: /src/glib/gobject/gclosure.c:810,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:817,1
    - Dst: ATOMIC_SET
      Src: /src/glib/gobject/gclosure.c:819,1
    - Dst: closure_invoke_notifiers
      Src: /src/glib/gobject/gclosure.c:831,1
    - Dst: marshal
      Src: /src/glib/gobject/gclosure.c:832,1
    - Dst: closure_invoke_notifiers
      Src: /src/glib/gobject/gclosure.c:838,1
    - Dst: ATOMIC_SET
      Src: /src/glib/gobject/gclosure.c:839,1
    - Dst: g_closure_unref
      Src: /src/glib/gobject/gclosure.c:841,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 5
    argNames:
    - closure
    - return_value
    - n_param_values
    - param_values
    - invocation_hint
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    constantsTouched: []
    func_position:
      end: 842
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 842
    functionName: g_closure_invoke
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - g_closure_unref
    - closure_invoke_notifiers
    - g_closure_ref
    - g_return_if_fail
    - ATOMIC_SET
    - marshal
    - G_REAL_CLOSURE
    linkageType: ''
    returnType: void
    signature: "void g_closure_invoke (GClosure *closure,\t\t GValue /*out*/ *return_value,\t\
      \t guint n_param_values,\t\t const GValue *param_values,\t\t gpointer invocation_hint) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gclosure.c:849,1
    - Dst: G_REAL_CLOSURE
      Src: /src/glib/gobject/gclosure.c:851,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - closure
    argTypes:
    - GClosure*
    constantsTouched: []
    func_position:
      end: 857
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 857
    functionName: _g_closure_supports_invoke_va
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_REAL_CLOSURE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _g_closure_supports_invoke_va (GClosure *closure) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gclosure.c:1173,1
    - Dst: G_TYPE_IS_CLASSED
      Src: /src/glib/gobject/gclosure.c:1173,1
    - Dst: G_TYPE_IS_INTERFACE
      Src: /src/glib/gobject/gclosure.c:1173,1
    - Dst: g_closure_new_simple
      Src: /src/glib/gobject/gclosure.c:1176,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gclosure.c:1174,1
    - Dst: GTYPE_TO_POINTER
      Src: /src/glib/gobject/gclosure.c:1176,1
    - Dst: G_TYPE_IS_INTERFACE
      Src: /src/glib/gobject/gclosure.c:1177,1
    - Dst: g_closure_set_meta_marshal
      Src: /src/glib/gobject/gclosure.c:1179,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gobject/gclosure.c:1179,1
    - Dst: g_closure_set_meta_va_marshal
      Src: /src/glib/gobject/gclosure.c:1180,1
    - Dst: g_closure_set_meta_va_marshal
      Src: /src/glib/gobject/gclosure.c:1185,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gobject/gclosure.c:1184,1
    - Dst: g_closure_set_meta_marshal
      Src: /src/glib/gobject/gclosure.c:1184,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1167
    functionDepth: 0
    functionLinenumber: 1167
    functionLinenumberEnd: 1188
    functionName: g_signal_type_cclosure_new
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - g_closure_new_simple
    - g_closure_set_meta_marshal
    - g_return_val_if_fail
    - GTYPE_TO_POINTER
    - GUINT_TO_POINTER
    - g_closure_set_meta_va_marshal
    - G_TYPE_IS_INTERFACE
    - G_TYPE_IS_CLASSED
    linkageType: ''
    returnType: GClosure*
    signature: "GClosure *g_signal_type_cclosure_new (GType itype,\t\t\t guint struct_offset) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:869,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:880,1
    - Dst: G_REAL_CLOSURE
      Src: /src/glib/gobject/gclosure.c:871,1
    - Dst: ATOMIC_SET
      Src: /src/glib/gobject/gclosure.c:882,1
    - Dst: g_closure_ref
      Src: /src/glib/gobject/gclosure.c:873,1
    - Dst: closure_invoke_notifiers
      Src: /src/glib/gobject/gclosure.c:894,1
    - Dst: marshal
      Src: /src/glib/gobject/gclosure.c:895,1
    - Dst: closure_invoke_notifiers
      Src: /src/glib/gobject/gclosure.c:901,1
    - Dst: ATOMIC_SET
      Src: /src/glib/gobject/gclosure.c:902,1
    - Dst: g_closure_unref
      Src: /src/glib/gobject/gclosure.c:904,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 6
    argNames:
    - closure
    - return_value
    - instance
    - args
    - n_params
    - param_types
    argTypes:
    - GClosure*
    - GValue*
    - gpointer
    - va_list
    - int
    - GType*
    constantsTouched: []
    func_position:
      end: 905
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 905
    functionName: _g_closure_invoke_va
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - g_closure_unref
    - closure_invoke_notifiers
    - g_closure_ref
    - g_return_if_fail
    - ATOMIC_SET
    - marshal
    - G_REAL_CLOSURE
    linkageType: ''
    returnType: void
    signature: "void _g_closure_invoke_va (GClosure *closure,\t\t GValue /*out*/ *return_value,\t\
      \t gpointer instance,\t\t va_list args,\t\t int n_params,\t\t GType *param_types) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:351,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:352,1
    - Dst: G_REAL_CLOSURE
      Src: /src/glib/gobject/gclosure.c:356,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:353,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:354,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:358,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - closure
    - marshal_data
    - meta_marshal
    argTypes:
    - GClosure*
    - gpointer
    - GClosureMarshal
    constantsTouched: []
    func_position:
      end: 362
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 362
    functionName: g_closure_set_meta_marshal
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - G_REAL_CLOSURE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_closure_set_meta_marshal (GClosure *closure,\t\t\t gpointer\
      \ marshal_data,\t\t\t GClosureMarshal meta_marshal) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:619,1
    - Dst: ATOMIC_DEC_ASSIGN
      Src: /src/glib/gobject/gclosure.c:626,1
    - Dst: closure_invoke_notifiers
      Src: /src/glib/gobject/gclosure.c:630,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:620,1
    - Dst: closure_invalidate_internal
      Src: /src/glib/gobject/gclosure.c:624,1
    - Dst: g_free
      Src: /src/glib/gobject/gclosure.c:631,1
    - Dst: G_REAL_CLOSURE
      Src: /src/glib/gobject/gclosure.c:639,1
    - Dst: g_free
      Src: /src/glib/gobject/gclosure.c:642,1
    - Dst: VALGRIND_FREELIKE_BLOCK
      Src: /src/glib/gobject/gclosure.c:644,1
    - Dst: VALGRIND_FREELIKE_BLOCK
      Src: /src/glib/gobject/gclosure.c:645,1
    - Dst: g_free
      Src: /src/glib/gobject/gclosure.c:649,1
    - Dst: G_REAL_CLOSURE
      Src: /src/glib/gobject/gclosure.c:649,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - closure
    argTypes:
    - GClosure*
    constantsTouched: []
    func_position:
      end: 651
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 651
    functionName: g_closure_unref
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - closure_invoke_notifiers
    - ATOMIC_DEC_ASSIGN
    - g_return_if_fail
    - VALGRIND_FREELIKE_BLOCK
    - g_free
    - closure_invalidate_internal
    - G_REAL_CLOSURE
    linkageType: ''
    returnType: void
    signature: 'void g_closure_unref (GClosure *closure) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:771,1
    - Dst: closure_try_remove_fnotify
      Src: /src/glib/gobject/gclosure.c:778,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:772,1
    - Dst: g_critical
      Src: /src/glib/gobject/gclosure.c:779,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - closure
    - notify_data
    - notify_func
    argTypes:
    - GClosure*
    - gpointer
    - GClosureNotify
    constantsTouched: []
    func_position:
      end: 781
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 781
    functionName: g_closure_remove_finalize_notifier
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - closure_try_remove_fnotify
    - g_critical
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_closure_remove_finalize_notifier (GClosure *closure,\t\t\t\t\
      \ gpointer notify_data,\t\t\t\t GClosureNotify notify_func) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gclosure.c:1006,1
    - Dst: ATOMIC_SET
      Src: /src/glib/gobject/gclosure.c:1012,1
    - Dst: g_closure_add_finalize_notifier
      Src: /src/glib/gobject/gclosure.c:1010,1
    - Dst: g_closure_new_simple
      Src: /src/glib/gobject/gclosure.c:1008,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 999
    functionDepth: 0
    functionLinenumber: 999
    functionLinenumberEnd: 1015
    functionName: g_cclosure_new_swap
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - g_closure_new_simple
    - g_return_val_if_fail
    - g_closure_add_finalize_notifier
    - ATOMIC_SET
    linkageType: ''
    returnType: GClosure*
    signature: "GClosure *g_cclosure_new_swap (GCallback callback_func,\t\t gpointer\
      \ user_data,\t\t GClosureNotify destroy_data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gobject/gclosure.c:1140,1
    - Dst: G_REAL_CLOSURE
      Src: /src/glib/gobject/gclosure.c:1142,1
    - Dst: G_STRUCT_MEMBER
      Src: /src/glib/gobject/gclosure.c:1145,1
    - Dst: G_TYPE_INSTANCE_GET_INTERFACE
      Src: /src/glib/gobject/gclosure.c:1144,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 7
    argNames:
    - closure
    - return_value
    - instance
    - args
    - marshal_data
    - n_params
    - param_types
    argTypes:
    - GClosure*
    - GValue*
    - gpointer
    - va_list
    - gpointer
    - int
    - GType*
    constantsTouched: []
    func_position:
      end: 1153
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1153
    functionName: g_type_iface_meta_marshalv
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - G_TYPE_INSTANCE_GET_INTERFACE
    - GPOINTER_TO_UINT
    - G_STRUCT_MEMBER
    - G_REAL_CLOSURE
    linkageType: ''
    returnType: void
    signature: "static void g_type_iface_meta_marshalv (GClosure *closure,\t\t\t GValue\
      \ *return_value,\t\t\t gpointer instance,\t\t\t va_list args,\t\t\t gpointer\
      \ marshal_data,\t\t\t int n_params,\t\t\t GType *param_types) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_alloca
      Src: /src/glib/gobject/gclosure.c:1484,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gclosure.c:1485,1
    - Dst: g_alloca
      Src: /src/glib/gobject/gclosure.c:1494,1
    - Dst: value_to_ffi_type
      Src: /src/glib/gobject/gclosure.c:1487,1
    - Dst: MAX
      Src: /src/glib/gobject/gclosure.c:1494,1
    - Dst: g_alloca
      Src: /src/glib/gobject/gclosure.c:1497,1
    - Dst: g_alloca
      Src: /src/glib/gobject/gclosure.c:1498,1
    - Dst: g_alloca
      Src: /src/glib/gobject/gclosure.c:1501,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gclosure.c:1503,1
    - Dst: value_to_ffi_type
      Src: /src/glib/gobject/gclosure.c:1505,1
    - Dst: value_to_ffi_type
      Src: /src/glib/gobject/gclosure.c:1514,1
    - Dst: g_alloca
      Src: /src/glib/gobject/gclosure.c:1525,1
    - Dst: value_to_ffi_type
      Src: /src/glib/gobject/gclosure.c:1527,1
    - Dst: value_from_ffi_type
      Src: /src/glib/gobject/gclosure.c:1539,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gclosure.c:1538,1
    - Dst: ffi_call
      Src: /src/glib/gobject/gclosure.c:1536,1
    - Dst: ffi_prep_cif
      Src: /src/glib/gobject/gclosure.c:1533,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 55
    argCount: 6
    argNames:
    - closure
    - return_gvalue
    - n_param_values
    - param_values
    - invocation_hint
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1540
      start: 1465
    functionDepth: 0
    functionLinenumber: 1465
    functionLinenumberEnd: 1540
    functionName: g_cclosure_marshal_generic
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - value_to_ffi_type
    - G_VALUE_TYPE
    - g_alloca
    - MAX
    - ffi_prep_cif
    - value_from_ffi_type
    - G_CCLOSURE_SWAP_DATA
    - ffi_call
    linkageType: ''
    returnType: void
    signature: 'void g_cclosure_marshal_generic (GClosure *closure, GValue *return_gvalue,
      guint n_param_values, const GValue *param_values, gpointer invocation_hint,
      gpointer marshal_data) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: value_to_ffi_type
      Src: /src/glib/gobject/gclosure.c:1588,1
    - Dst: g_alloca
      Src: /src/glib/gobject/gclosure.c:1598,1
    - Dst: g_alloca
      Src: /src/glib/gobject/gclosure.c:1585,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gclosure.c:1586,1
    - Dst: g_alloca
      Src: /src/glib/gobject/gclosure.c:1595,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/gclosure.c:1642,1
    - Dst: G_TYPE_FUNDAMENTAL
      Src: /src/glib/gobject/gclosure.c:1623,1
    - Dst: va_to_ffi_type
      Src: /src/glib/gobject/gclosure.c:1625,1
    - Dst: g_free
      Src: /src/glib/gobject/gclosure.c:1661,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/gclosure.c:1663,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gclosure.c:1670,1
    - Dst: value_from_ffi_type
      Src: /src/glib/gobject/gclosure.c:1674,1
    - Dst: g_alloca
      Src: /src/glib/gobject/gclosure.c:1600,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gclosure.c:1602,1
    - Dst: ffi_prep_cif
      Src: /src/glib/gobject/gclosure.c:1647,1
    - Dst: ffi_call
      Src: /src/glib/gobject/gclosure.c:1650,1
    - Dst: G_TYPE_FUNDAMENTAL
      Src: /src/glib/gobject/gclosure.c:1656,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gclosure.c:1673,1
    - Dst: MAX
      Src: /src/glib/gobject/gclosure.c:1595,1
    - Dst: g_alloca
      Src: /src/glib/gobject/gclosure.c:1599,1
    - Dst: va_copy
      Src: /src/glib/gobject/gclosure.c:1617,1
    - Dst: g_param_spec_ref
      Src: /src/glib/gobject/gclosure.c:1635,1
    - Dst: g_strdup
      Src: /src/glib/gobject/gclosure.c:1633,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gobject/gclosure.c:1639,1
    - Dst: g_boxed_copy
      Src: /src/glib/gobject/gclosure.c:1637,1
    - Dst: va_end
      Src: /src/glib/gobject/gclosure.c:1645,1
    - Dst: g_boxed_free
      Src: /src/glib/gobject/gclosure.c:1665,1
    - Dst: g_variant_unref
      Src: /src/glib/gobject/gclosure.c:1667,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 115
    argCount: 7
    argNames:
    - closure
    - return_value
    - instance
    - args_list
    - marshal_data
    - n_params
    - param_types
    argTypes:
    - GClosure*
    - GValue*
    - gpointer
    - va_list
    - gpointer
    - int
    - GType*
    constantsTouched: []
    func_position:
      end: 1675
      start: 1563
    functionDepth: 0
    functionLinenumber: 1563
    functionLinenumberEnd: 1675
    functionName: g_cclosure_marshal_generic_va
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - va_to_ffi_type
    - value_to_ffi_type
    - g_alloca
    - G_TYPE_FUNDAMENTAL
    - va_end
    - g_object_unref
    - G_VALUE_TYPE
    - ffi_prep_cif
    - g_variant_unref
    - g_boxed_free
    - g_param_spec_ref
    - g_strdup
    - MAX
    - g_boxed_copy
    - va_copy
    - value_from_ffi_type
    - G_CCLOSURE_SWAP_DATA
    - g_variant_ref_sink
    - g_param_spec_unref
    - g_object_ref
    - g_free
    - ffi_call
    linkageType: ''
    returnType: void
    signature: "void g_cclosure_marshal_generic_va (GClosure *closure,\t\t\t GValue\
      \ *return_value,\t\t\t gpointer instance,\t\t\t va_list args_list,\t\t\t gpointer\
      \ marshal_data,\t\t\t int n_params,\t\t\t GType *param_types) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:446,1
    - Dst: g_renew
      Src: /src/glib/gobject/gclosure.c:450,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:448,1
    - Dst: CLOSURE_N_NOTIFIERS
      Src: /src/glib/gobject/gclosure.c:450,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:447,1
    - Dst: CLOSURE_N_MFUNCS
      Src: /src/glib/gobject/gclosure.c:452,1
    - Dst: CLOSURE_N_MFUNCS
      Src: /src/glib/gobject/gclosure.c:454,1
    - Dst: CLOSURE_N_MFUNCS
      Src: /src/glib/gobject/gclosure.c:456,1
    - Dst: ATOMIC_INC
      Src: /src/glib/gobject/gclosure.c:459,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 3
    argNames:
    - closure
    - notify_data
    - notify_func
    argTypes:
    - GClosure*
    - gpointer
    - GClosureNotify
    constantsTouched: []
    func_position:
      end: 460
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 460
    functionName: g_closure_add_finalize_notifier
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - g_renew
    - g_return_if_fail
    - CLOSURE_N_MFUNCS
    - CLOSURE_N_NOTIFIERS
    - ATOMIC_INC
    linkageType: ''
    returnType: void
    signature: "void g_closure_add_finalize_notifier (GClosure *closure,\t\t\t\t gpointer\
      \ notify_data,\t\t\t\t GClosureNotify notify_func) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:709,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:710,1
    - Dst: g_closure_unref
      Src: /src/glib/gobject/gclosure.c:723,1
    - Dst: ATOMIC_SWAP
      Src: /src/glib/gobject/gclosure.c:720,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - closure
    argTypes:
    - GClosure*
    constantsTouched: []
    func_position:
      end: 725
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 725
    functionName: g_closure_sink
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - g_closure_unref
    - ATOMIC_SWAP
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_closure_sink (GClosure *closure) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gclosure.c:195,1
    - Dst: g_malloc0
      Src: /src/glib/gobject/gclosure.c:214,1
    - Dst: VALGRIND_MALLOCLIKE_BLOCK
      Src: /src/glib/gobject/gclosure.c:210,1
    - Dst: VALGRIND_MALLOCLIKE_BLOCK
      Src: /src/glib/gobject/gclosure.c:209,1
    - Dst: g_malloc0
      Src: /src/glib/gobject/gclosure.c:205,1
    - Dst: ATOMIC_SET
      Src: /src/glib/gobject/gclosure.c:218,1
    - Dst: ATOMIC_SET
      Src: /src/glib/gobject/gclosure.c:219,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 223
    functionName: g_closure_new_simple
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - VALGRIND_MALLOCLIKE_BLOCK
    - ATOMIC_SET
    - g_return_val_if_fail
    - g_malloc0
    linkageType: ''
    returnType: GClosure*
    signature: "GClosure *g_closure_new_simple (guint sizeof_closure,\t\t gpointer\
      \ data) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ATOMIC_DEC_ASSIGN
      Src: /src/glib/gobject/gclosure.c:254,1
    - Dst: ATOMIC_DEC_ASSIGN
      Src: /src/glib/gobject/gclosure.c:269,1
    - Dst: CLOSURE_N_MFUNCS
      Src: /src/glib/gobject/gclosure.c:256,1
    - Dst: ATOMIC_SET
      Src: /src/glib/gobject/gclosure.c:265,1
    - Dst: CLOSURE_N_MFUNCS
      Src: /src/glib/gobject/gclosure.c:271,1
    - Dst: ATOMIC_SET
      Src: /src/glib/gobject/gclosure.c:278,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 2
    argNames:
    - closure
    - notify_type
    argTypes:
    - GClosure*
    - guint
    constantsTouched: []
    func_position:
      end: 299
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 299
    functionName: closure_invoke_notifiers
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - CLOSURE_N_MFUNCS
    - ATOMIC_DEC_ASSIGN
    - ATOMIC_SET
    linkageType: ''
    returnType: void
    signature: "static inline void closure_invoke_notifiers (GClosure *closure,\t\t\
      \t guint notify_type) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CLOSURE_N_NOTIFIERS
      Src: /src/glib/gobject/gclosure.c:500,1
    - Dst: ATOMIC_DEC
      Src: /src/glib/gobject/gclosure.c:504,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - closure
    - notify_data
    - notify_func
    argTypes:
    - GClosure*
    - gpointer
    - GClosureNotify
    constantsTouched: []
    func_position:
      end: 511
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 511
    functionName: closure_try_remove_inotify
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - CLOSURE_N_NOTIFIERS
    - ATOMIC_DEC
    linkageType: ''
    returnType: gboolean
    signature: "static inline gboolean closure_try_remove_inotify (GClosure *closure,\t\
      \t\t gpointer notify_data,\t\t\t GClosureNotify notify_func) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:928,1
    - Dst: g_critical
      Src: /src/glib/gobject/gclosure.c:932,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:929,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - closure
    - marshal
    argTypes:
    - GClosure*
    - GClosureMarshal
    constantsTouched: []
    func_position:
      end: 936
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 936
    functionName: g_closure_set_marshal
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - g_critical
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_closure_set_marshal (GClosure *closure,\t\t GClosureMarshal\
      \ marshal) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gobject/gclosure.c:1028,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gclosure.c:1030,1
    - Dst: G_STRUCT_MEMBER
      Src: /src/glib/gobject/gclosure.c:1031,1
    - Dst: G_TYPE_INSTANCE_GET_CLASS
      Src: /src/glib/gobject/gclosure.c:1030,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 6
    argNames:
    - closure
    - return_value
    - n_param_values
    - param_values
    - invocation_hint
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1038
      start: 1017
    functionDepth: 0
    functionLinenumber: 1017
    functionLinenumberEnd: 1038
    functionName: g_type_class_meta_marshal
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - G_TYPE_INSTANCE_GET_CLASS
    - GPOINTER_TO_UINT
    - G_STRUCT_MEMBER
    - g_value_peek_pointer
    linkageType: ''
    returnType: void
    signature: "static void g_type_class_meta_marshal (GClosure *closure,\t\t\t GValue\
      \ /*out*/ *return_value,\t\t\t guint n_param_values,\t\t\t const GValue *param_values,\t\
      \t\t gpointer invocation_hint,\t\t\t gpointer marshal_data) "
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: g_value_set_schar
      Src: /src/glib/gobject/gclosure.c:1310,1
    - Dst: g_value_set_pointer
      Src: /src/glib/gobject/gclosure.c:1319,1
    - Dst: g_value_set_long
      Src: /src/glib/gobject/gclosure.c:1322,1
    - Dst: g_value_take_variant
      Src: /src/glib/gobject/gclosure.c:1349,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gclosure.c:1289,1
    - Dst: g_type_fundamental
      Src: /src/glib/gobject/gclosure.c:1292,1
    - Dst: g_value_set_float
      Src: /src/glib/gobject/gclosure.c:1298,1
    - Dst: g_value_set_uchar
      Src: /src/glib/gobject/gclosure.c:1313,1
    - Dst: g_value_take_boxed
      Src: /src/glib/gobject/gclosure.c:1334,1
    - Dst: g_value_set_ulong
      Src: /src/glib/gobject/gclosure.c:1325,1
    - Dst: g_value_set_enum
      Src: /src/glib/gobject/gclosure.c:1337,1
    - Dst: g_type_fundamental
      Src: /src/glib/gobject/gclosure.c:1358,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gclosure.c:1359,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/gclosure.c:1295,1
    - Dst: g_value_set_double
      Src: /src/glib/gobject/gclosure.c:1301,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gobject/gclosure.c:1304,1
    - Dst: g_value_take_string
      Src: /src/glib/gobject/gclosure.c:1307,1
    - Dst: g_value_set_uint
      Src: /src/glib/gobject/gclosure.c:1316,1
    - Dst: g_value_set_int64
      Src: /src/glib/gobject/gclosure.c:1328,1
    - Dst: g_value_set_flags
      Src: /src/glib/gobject/gclosure.c:1340,1
    - Dst: g_value_take_param
      Src: /src/glib/gobject/gclosure.c:1343,1
    - Dst: g_type_interface_instantiatable_prerequisite
      Src: /src/glib/gobject/gclosure.c:1352,1
    - Dst: g_value_set_uint64
      Src: /src/glib/gobject/gclosure.c:1331,1
    - Dst: g_value_take_object
      Src: /src/glib/gobject/gclosure.c:1346,1
    - Dst: g_critical
      Src: /src/glib/gobject/gclosure.c:1357,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gclosure.c:1358,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gclosure.c:1358,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gclosure.c:1359,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 43
    argCount: 2
    argNames:
    - gvalue
    - value
    argTypes:
    - GValue*
    - gpointer*
    constantsTouched: []
    func_position:
      end: 1361
      start: 1283
    functionDepth: 0
    functionLinenumber: 1283
    functionLinenumberEnd: 1361
    functionName: value_from_ffi_type
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - g_value_set_uint
    - g_value_set_int
    - g_value_set_float
    - g_value_set_uint64
    - g_value_set_int64
    - g_value_set_schar
    - g_value_take_boxed
    - g_value_take_string
    - g_value_set_enum
    - G_VALUE_TYPE
    - g_value_set_long
    - g_value_take_param
    - g_type_name
    - g_value_set_uchar
    - g_value_set_boolean
    - g_value_take_object
    - g_value_set_double
    - g_value_take_variant
    - g_value_set_flags
    - g_value_set_ulong
    - g_critical
    - g_type_fundamental
    - g_value_set_pointer
    - g_type_interface_instantiatable_prerequisite
    linkageType: ''
    returnType: void
    signature: 'static void value_from_ffi_type (GValue *gvalue, gpointer *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:307,1
    - Dst: G_REAL_CLOSURE
      Src: /src/glib/gobject/gclosure.c:312,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:309,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:308,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:310,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:314,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - closure
    - va_meta_marshal
    argTypes:
    - GClosure*
    - GVaClosureMarshal
    constantsTouched: []
    func_position:
      end: 317
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 317
    functionName: g_closure_set_meta_va_marshal
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - G_REAL_CLOSURE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "static void g_closure_set_meta_va_marshal (GClosure *closure,\t\t\t\
      \ GVaClosureMarshal va_meta_marshal) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CLOSURE_N_NOTIFIERS
      Src: /src/glib/gobject/gclosure.c:520,1
    - Dst: CLOSURE_N_MFUNCS
      Src: /src/glib/gobject/gclosure.c:529,1
    - Dst: ATOMIC_DEC
      Src: /src/glib/gobject/gclosure.c:524,1
    - Dst: CLOSURE_N_MFUNCS
      Src: /src/glib/gobject/gclosure.c:528,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - closure
    - notify_data
    - notify_func
    argTypes:
    - GClosure*
    - gpointer
    - GClosureNotify
    constantsTouched: []
    func_position:
      end: 535
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 535
    functionName: closure_try_remove_fnotify
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - CLOSURE_N_NOTIFIERS
    - CLOSURE_N_MFUNCS
    - ATOMIC_DEC
    linkageType: ''
    returnType: gboolean
    signature: "static inline gboolean closure_try_remove_fnotify (GClosure *closure,\t\
      \t\t gpointer notify_data,\t\t\t GClosureNotify notify_func) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:944,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:945,1
    - Dst: G_REAL_CLOSURE
      Src: /src/glib/gobject/gclosure.c:947,1
    - Dst: g_critical
      Src: /src/glib/gobject/gclosure.c:950,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - closure
    - marshal
    argTypes:
    - GClosure*
    - GVaClosureMarshal
    constantsTouched: []
    func_position:
      end: 954
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 954
    functionName: _g_closure_set_va_marshal
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - G_REAL_CLOSURE
    - g_critical
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void _g_closure_set_va_marshal (GClosure *closure,\t\t\t GVaClosureMarshal\
      \ marshal) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gobject/gclosure.c:1053,1
    - Dst: G_STRUCT_MEMBER
      Src: /src/glib/gobject/gclosure.c:1058,1
    - Dst: G_TYPE_INSTANCE_GET_CLASS
      Src: /src/glib/gobject/gclosure.c:1057,1
    - Dst: G_REAL_CLOSURE
      Src: /src/glib/gobject/gclosure.c:1055,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 7
    argNames:
    - closure
    - return_value
    - instance
    - args
    - marshal_data
    - n_params
    - param_types
    argTypes:
    - GClosure*
    - GValue*
    - gpointer
    - va_list
    - gpointer
    - int
    - GType*
    constantsTouched: []
    func_position:
      end: 1066
      start: 1040
    functionDepth: 0
    functionLinenumber: 1040
    functionLinenumberEnd: 1066
    functionName: g_type_class_meta_marshalv
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - G_TYPE_INSTANCE_GET_CLASS
    - GPOINTER_TO_UINT
    - G_STRUCT_MEMBER
    - G_REAL_CLOSURE
    linkageType: ''
    returnType: void
    signature: "static void g_type_class_meta_marshalv (GClosure *closure,\t\t\t GValue\
      \ *return_value,\t\t\t gpointer instance,\t\t\t va_list args,\t\t\t gpointer\
      \ marshal_data,\t\t\t int n_params,\t\t\t GType *param_types) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:481,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:483,1
    - Dst: g_renew
      Src: /src/glib/gobject/gclosure.c:486,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:484,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:482,1
    - Dst: CLOSURE_N_NOTIFIERS
      Src: /src/glib/gobject/gclosure.c:486,1
    - Dst: CLOSURE_N_MFUNCS
      Src: /src/glib/gobject/gclosure.c:487,1
    - Dst: ATOMIC_INC
      Src: /src/glib/gobject/gclosure.c:490,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - closure
    - notify_data
    - notify_func
    argTypes:
    - GClosure*
    - gpointer
    - GClosureNotify
    constantsTouched: []
    func_position:
      end: 491
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 491
    functionName: g_closure_add_invalidate_notifier
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - g_renew
    - g_return_if_fail
    - CLOSURE_N_MFUNCS
    - CLOSURE_N_NOTIFIERS
    - ATOMIC_INC
    linkageType: ''
    returnType: void
    signature: "void g_closure_add_invalidate_notifier (GClosure *closure,\t\t\t\t\
      \ gpointer notify_data,\t\t\t\t GClosureNotify notify_func) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:743,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:744,1
    - Dst: g_critical
      Src: /src/glib/gobject/gclosure.c:751,1
    - Dst: closure_try_remove_inotify
      Src: /src/glib/gobject/gclosure.c:750,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - closure
    - notify_data
    - notify_func
    argTypes:
    - GClosure*
    - gpointer
    - GClosureNotify
    constantsTouched: []
    func_position:
      end: 753
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 753
    functionName: g_closure_remove_invalidate_notifier
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - closure_try_remove_inotify
    - g_critical
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_closure_remove_invalidate_notifier (GClosure *closure,\t\t\t\
      \t gpointer notify_data,\t\t\t\t GClosureNotify notify_func) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gclosure.c:550,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gclosure.c:551,1
    - Dst: ATOMIC_INC_ASSIGN
      Src: /src/glib/gobject/gclosure.c:554,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gclosure.c:555,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gclosure.c:552,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 558
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 558
    functionName: g_closure_ref
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - ATOMIC_INC_ASSIGN
    - g_return_val_if_fail
    linkageType: ''
    returnType: GClosure*
    signature: 'GClosure *g_closure_ref (GClosure *closure) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gclosure.c:594,1
    - Dst: closure_invalidate_internal
      Src: /src/glib/gobject/gclosure.c:599,1
    - Dst: g_closure_ref
      Src: /src/glib/gobject/gclosure.c:598,1
    - Dst: g_closure_unref
      Src: /src/glib/gobject/gclosure.c:600,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - closure
    argTypes:
    - GClosure*
    constantsTouched: []
    func_position:
      end: 602
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 602
    functionName: g_closure_invalidate
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - g_closure_unref
    - g_closure_ref
    - closure_invalidate_internal
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_closure_invalidate (GClosure *closure) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gclosure.c:976,1
    - Dst: g_closure_new_simple
      Src: /src/glib/gobject/gclosure.c:978,1
    - Dst: g_closure_add_finalize_notifier
      Src: /src/glib/gobject/gclosure.c:980,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 984
      start: 969
    functionDepth: 0
    functionLinenumber: 969
    functionLinenumberEnd: 984
    functionName: g_cclosure_new
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - g_closure_new_simple
    - g_return_val_if_fail
    - g_closure_add_finalize_notifier
    linkageType: ''
    returnType: GClosure*
    signature: "GClosure *g_cclosure_new (GCallback callback_func,\t\tgpointer user_data,\t\
      \tGClosureNotify destroy_data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gobject/gclosure.c:1079,1
    - Dst: G_STRUCT_MEMBER
      Src: /src/glib/gobject/gclosure.c:1082,1
    - Dst: G_TYPE_INSTANCE_GET_INTERFACE
      Src: /src/glib/gobject/gclosure.c:1081,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gclosure.c:1081,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 6
    argNames:
    - closure
    - return_value
    - n_param_values
    - param_values
    - invocation_hint
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1089
      start: 1068
    functionDepth: 0
    functionLinenumber: 1068
    functionLinenumberEnd: 1089
    functionName: g_type_iface_meta_marshal
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - G_TYPE_INSTANCE_GET_INTERFACE
    - GPOINTER_TO_UINT
    - G_STRUCT_MEMBER
    - g_value_peek_pointer
    linkageType: ''
    returnType: void
    signature: "static void g_type_iface_meta_marshal (GClosure *closure,\t\t\t GValue\
      \ /*out*/ *return_value,\t\t\t guint n_param_values,\t\t\t const GValue *param_values,\t\
      \t\t gpointer invocation_hint,\t\t\t gpointer marshal_data) "
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: g_type_fundamental
      Src: /src/glib/gobject/gclosure.c:1381,1
    - Dst: va_arg
      Src: /src/glib/gobject/gclosure.c:1407,1
    - Dst: va_arg
      Src: /src/glib/gobject/gclosure.c:1397,1
    - Dst: g_assert
      Src: /src/glib/gobject/gclosure.c:1382,1
    - Dst: va_arg
      Src: /src/glib/gobject/gclosure.c:1391,1
    - Dst: va_arg
      Src: /src/glib/gobject/gclosure.c:1412,1
    - Dst: va_arg
      Src: /src/glib/gobject/gclosure.c:1416,1
    - Dst: va_arg
      Src: /src/glib/gobject/gclosure.c:1420,1
    - Dst: va_arg
      Src: /src/glib/gobject/gclosure.c:1424,1
    - Dst: va_arg
      Src: /src/glib/gobject/gclosure.c:1428,1
    - Dst: g_critical
      Src: /src/glib/gobject/gclosure.c:1437,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gclosure.c:1437,1
    - Dst: va_arg
      Src: /src/glib/gobject/gclosure.c:1432,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1375
    functionDepth: 0
    functionLinenumber: 1375
    functionLinenumberEnd: 1441
    functionName: va_to_ffi_type
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - g_assert
    - va_arg
    - g_critical
    - g_type_fundamental
    - g_type_name
    linkageType: ''
    returnType: ffi_type*
    signature: "static ffi_type *va_to_ffi_type (GType gtype,\t\tva_list *va,\t\t\
      va_arg_storage *storage) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ATOMIC_SWAP
      Src: /src/glib/gobject/gclosure.c:565,1
    - Dst: closure_invoke_notifiers
      Src: /src/glib/gobject/gclosure.c:568,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - closure
    argTypes:
    - GClosure*
    constantsTouched: []
    func_position:
      end: 569
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 569
    functionName: closure_invalidate_internal
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - closure_invoke_notifiers
    - ATOMIC_SWAP
    linkageType: ''
    returnType: void
    signature: 'static void closure_invalidate_internal (GClosure *closure) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_REAL_CLOSURE
      Src: /src/glib/gobject/gclosure.c:1104,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gobject/gclosure.c:1109,1
    - Dst: G_STRUCT_MEMBER
      Src: /src/glib/gobject/gclosure.c:1112,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gobject/gclosure.c:1117,1
    - Dst: G_TYPE_INSTANCE_GET_INTERFACE
      Src: /src/glib/gobject/gclosure.c:1111,1
    - Dst: G_TYPE_INSTANCE_GET_CLASS
      Src: /src/glib/gobject/gclosure.c:1119,1
    - Dst: G_STRUCT_MEMBER
      Src: /src/glib/gobject/gclosure.c:1120,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - closure
    - instance
    argTypes:
    - GClosure*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1125
      start: 1091
    functionDepth: 0
    functionLinenumber: 1091
    functionLinenumberEnd: 1125
    functionName: _g_closure_is_void
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - G_TYPE_INSTANCE_GET_CLASS
    - G_TYPE_INSTANCE_GET_INTERFACE
    - GPOINTER_TO_UINT
    - G_STRUCT_MEMBER
    - G_REAL_CLOSURE
    linkageType: ''
    returnType: gboolean
    signature: "gboolean _g_closure_is_void (GClosure *closure,\t\t gpointer instance) "
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: g_type_fundamental
      Src: /src/glib/gobject/gclosure.c:1198,1
    - Dst: g_assert
      Src: /src/glib/gobject/gclosure.c:1203,1
    - Dst: g_assert
      Src: /src/glib/gobject/gclosure.c:1222,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gclosure.c:1198,1
    - Dst: g_assert
      Src: /src/glib/gobject/gclosure.c:1199,1
    - Dst: g_value_get_enum
      Src: /src/glib/gobject/gclosure.c:1224,1
    - Dst: g_assert
      Src: /src/glib/gobject/gclosure.c:1229,1
    - Dst: g_value_get_flags
      Src: /src/glib/gobject/gclosure.c:1231,1
    - Dst: g_critical
      Src: /src/glib/gobject/gclosure.c:1277,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gclosure.c:1277,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1191
    functionDepth: 0
    functionLinenumber: 1191
    functionLinenumberEnd: 1281
    functionName: value_to_ffi_type
    functionSourceFile: /src/glib/gobject/gclosure.c
    functionUses: []
    functionsReached:
    - G_VALUE_TYPE
    - g_assert
    - g_critical
    - g_type_fundamental
    - g_value_get_flags
    - g_value_get_enum
    - g_type_name
    linkageType: ''
    returnType: ffi_type*
    signature: 'static ffi_type *value_to_ffi_type (const GValue *gvalue, gpointer
      *value, gint *enum_tmpval, gboolean *tmpval_used) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gobject/gatomicarray.c:132,1
    - Dst: freelist_alloc
      Src: /src/glib/gobject/gatomicarray.c:141,1
    - Dst: G_ATOMIC_ARRAY_DATA_SIZE
      Src: /src/glib/gobject/gatomicarray.c:136,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/gobject/gatomicarray.c:133,1
    - Dst: memcpy
      Src: /src/glib/gobject/gatomicarray.c:142,1
    - Dst: freelist_alloc
      Src: /src/glib/gobject/gatomicarray.c:147,1
    - Dst: G_UNLOCK
      Src: /src/glib/gobject/gatomicarray.c:151,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - array
    - header_size
    - additional_element_size
    argTypes:
    - GAtomicArray*
    - gsize
    - gsize
    constantsTouched: []
    func_position:
      end: 153
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 153
    functionName: _g_atomic_array_copy
    functionSourceFile: /src/glib/gobject/gatomicarray.c
    functionUses: []
    functionsReached:
    - freelist_alloc
    - memcpy
    - G_UNLOCK
    - g_atomic_pointer_get
    - G_ATOMIC_ARRAY_DATA_SIZE
    - G_LOCK
    linkageType: ''
    returnType: gpointer
    signature: "gpointer _g_atomic_array_copy (GAtomicArray *array,\t\t gsize header_size,\t\
      \t gsize additional_element_size) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: freelist_free
    functionSourceFile: /src/glib/gobject/gatomicarray.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void freelist_free (gpointer mem) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gobject/gatomicarray.c:165,1
    - Dst: G_ATOMIC_ARRAY_DATA_SIZE
      Src: /src/glib/gobject/gatomicarray.c:169,1
    - Dst: g_atomic_pointer_set
      Src: /src/glib/gobject/gatomicarray.c:171,1
    - Dst: G_ATOMIC_ARRAY_DATA_SIZE
      Src: /src/glib/gobject/gatomicarray.c:169,1
    - Dst: g_atomic_pointer_exchange
      Src: /src/glib/gobject/gatomicarray.c:166,1
    - Dst: g_return_if_reached
      Src: /src/glib/gobject/gatomicarray.c:172,1
    - Dst: g_assert
      Src: /src/glib/gobject/gatomicarray.c:175,1
    - Dst: G_ATOMIC_ARRAY_DATA_SIZE
      Src: /src/glib/gobject/gatomicarray.c:175,1
    - Dst: G_ATOMIC_ARRAY_DATA_SIZE
      Src: /src/glib/gobject/gatomicarray.c:175,1
    - Dst: freelist_free
      Src: /src/glib/gobject/gatomicarray.c:179,1
    - Dst: G_UNLOCK
      Src: /src/glib/gobject/gatomicarray.c:180,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - array
    - new_data
    argTypes:
    - GAtomicArray*
    - gpointer
    constantsTouched: []
    func_position:
      end: 181
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 181
    functionName: _g_atomic_array_update
    functionSourceFile: /src/glib/gobject/gatomicarray.c
    functionUses: []
    functionsReached:
    - g_return_if_reached
    - g_assert
    - G_UNLOCK
    - g_atomic_pointer_set
    - G_ATOMIC_ARRAY_DATA_SIZE
    - freelist_free
    - g_atomic_pointer_exchange
    - G_LOCK
    linkageType: ''
    returnType: void
    signature: "void _g_atomic_array_update (GAtomicArray *array,\t\t\tgpointer new_data) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_ATOMIC_ARRAY_DATA_SIZE
      Src: /src/glib/gobject/gatomicarray.c:70,1
    - Dst: G_ATOMIC_ARRAY_DATA_SIZE
      Src: /src/glib/gobject/gatomicarray.c:81,1
    - Dst: g_slice_alloc
      Src: /src/glib/gobject/gatomicarray.c:79,1
    - Dst: MAX
      Src: /src/glib/gobject/gatomicarray.c:78,1
    - Dst: VALGRIND_MALLOCLIKE_BLOCK
      Src: /src/glib/gobject/gatomicarray.c:84,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - size
    - reuse
    argTypes:
    - gsize
    - gboolean
    constantsTouched: []
    func_position:
      end: 89
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 89
    functionName: freelist_alloc
    functionSourceFile: /src/glib/gobject/gatomicarray.c
    functionUses: []
    functionsReached:
    - VALGRIND_MALLOCLIKE_BLOCK
    - G_ATOMIC_ARRAY_DATA_SIZE
    - MAX
    - g_slice_alloc
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer freelist_alloc (gsize size, gboolean reuse) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - array
    argTypes:
    - GAtomicArray*
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: _g_atomic_array_init
    functionSourceFile: /src/glib/gobject/gatomicarray.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void _g_atomic_array_init (GAtomicArray *array) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_warning
      Src: /src/glib/gobject/gobject.h:672,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/gobject.h:678,1
    - Dst: G_PARAM_SPEC_TYPE
      Src: /src/glib/gobject/gobject.h:677,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject.h:677,1
    - Dst: g_object_ref_sink
      Src: /src/glib/gobject/gobject.h:533,1
    CyclomaticComplexity: 133
    EdgeCount: 133
    ICount: 6
    argCount: 0
    argNames:
    - g_object_new_with_properties
    argTypes: []
    constantsTouched: []
    func_position:
      end: 679
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 679
    functionName: GOBJECT_DEPRECATED_IN_2_54_FOR
    functionSourceFile: /src/glib/gobject/gobject.h
    functionUses: []
    functionsReached:
    - g_warning
    - G_OBJECT_TYPE_NAME
    - g_type_name
    - g_object_ref_sink
    - G_PARAM_SPEC_TYPE
    linkageType: ''
    returnType: G_GNUC_BEGIN_IGNORE_DEPRECATIONS
    signature: "G_GNUC_BEGIN_IGNORE_DEPRECATIONS GOBJECT_DEPRECATED_IN_2_54_FOR(g_object_new_with_properties)\
      \ gpointer g_object_newv\t\t (GType object_type,\t\t\t\t\t guint\t n_parameters,\t\
      \t\t\t\t GParameter *parameters); G_GNUC_END_IGNORE_DEPRECATIONSGOBJECT_AVAILABLE_IN_ALL\
      \ GObject* g_object_new_valist (GType object_type,\t\t\t\t\t const gchar *first_property_name,\t\
      \t\t\t\t va_list var_args); GOBJECT_AVAILABLE_IN_ALLvoid\t g_object_set (gpointer\t\
      \ object,\t\t\t\t\t const gchar *first_property_name,\t\t\t\t\t ...) G_GNUC_NULL_TERMINATED;GOBJECT_AVAILABLE_IN_ALLvoid\
      \ g_object_get (gpointer object,\t\t\t\t\t const gchar *first_property_name,\t\
      \t\t\t\t ...) G_GNUC_NULL_TERMINATED;GOBJECT_AVAILABLE_IN_ALLgpointer g_object_connect\
      \ (gpointer\t object,\t\t\t\t\t const gchar *signal_spec,\t\t\t\t\t ...) G_GNUC_NULL_TERMINATED;GOBJECT_AVAILABLE_IN_ALLvoid\t\
      \ g_object_disconnect (gpointer\t object,\t\t\t\t\t const gchar *signal_spec,\t\
      \t\t\t\t ...) G_GNUC_NULL_TERMINATED;GOBJECT_AVAILABLE_IN_2_54void g_object_setv\
      \ (GObject *object, guint n_properties, const gchar *names[], const GValue values[]);\
      \ GOBJECT_AVAILABLE_IN_ALLvoid g_object_set_valist (GObject *object,\t\t\t\t\
      \t const gchar *first_property_name,\t\t\t\t\t va_list var_args); GOBJECT_AVAILABLE_IN_2_54void\
      \ g_object_getv (GObject *object, guint n_properties, const gchar *names[],\
      \ GValue values[]); GOBJECT_AVAILABLE_IN_ALLvoid g_object_get_valist (GObject\
      \ *object,\t\t\t\t\t const gchar *first_property_name,\t\t\t\t\t va_list var_args);\
      \ GOBJECT_AVAILABLE_IN_ALLvoid g_object_set_property (GObject *object,\t\t\t\
      \t\t const gchar *property_name,\t\t\t\t\t const GValue *value); GOBJECT_AVAILABLE_IN_ALLvoid\
      \ g_object_get_property (GObject *object,\t\t\t\t\t const gchar *property_name,\t\
      \t\t\t\t GValue *value); GOBJECT_AVAILABLE_IN_ALLvoid g_object_freeze_notify\
      \ (GObject *object); GOBJECT_AVAILABLE_IN_ALLvoid g_object_notify (GObject *object,\t\
      \t\t\t\t const gchar *property_name); GOBJECT_AVAILABLE_IN_ALLvoid g_object_notify_by_pspec\
      \ (GObject *object,\t\t\t\t\t GParamSpec *pspec); GOBJECT_AVAILABLE_IN_ALLvoid\
      \ g_object_thaw_notify (GObject *object); GOBJECT_AVAILABLE_IN_ALLgboolean g_object_is_floating\
      \ \t (gpointer object); GOBJECT_AVAILABLE_IN_ALLgpointer g_object_ref_sink \t\
      \ (gpointer\t object); GOBJECT_AVAILABLE_IN_2_70gpointer g_object_take_ref (gpointer\
      \ object); GOBJECT_AVAILABLE_IN_ALLgpointer g_object_ref (gpointer object);\
      \ GOBJECT_AVAILABLE_IN_ALLvoid g_object_unref (gpointer object); GOBJECT_AVAILABLE_IN_ALLvoid\t\
      \ g_object_weak_ref\t\t (GObject\t *object,\t\t\t\t\t GWeakNotify notify,\t\t\
      \t\t\t gpointer\t data); GOBJECT_AVAILABLE_IN_ALLvoid\t g_object_weak_unref\t\
      \t (GObject\t *object,\t\t\t\t\t GWeakNotify notify,\t\t\t\t\t gpointer\t data);\
      \ GOBJECT_AVAILABLE_IN_ALLvoid g_object_add_weak_pointer (GObject *object, gpointer\
      \ *weak_pointer_location); GOBJECT_AVAILABLE_IN_ALLvoid g_object_remove_weak_pointer\
      \ (GObject *object, gpointer *weak_pointer_location); #if defined(glib_typeof)\
      \ && GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_56/* Make reference APIs type\
      \ safe with macros */#define g_object_ref(Obj) ((glib_typeof (Obj)) (g_object_ref)\
      \ (Obj))#define g_object_ref_sink(Obj) ((glib_typeof (Obj)) (g_object_ref_sink)\
      \ (Obj))#endif/** * GToggleNotify: * @data: Callback data passed to g_object_add_toggle_ref()\
      \ * @object: The object on which g_object_add_toggle_ref() was called. * @is_last_ref:\
      \ %TRUE if the toggle reference is now the * last reference to the object. %FALSE\
      \ if the toggle * reference was the last reference and there are now other *\
      \ references. * * A callback function used for notification when the state *\
      \ of a toggle reference changes. * * See also: g_object_add_toggle_ref() */typedef\
      \ void (*GToggleNotify) (gpointer data,\t\t\t GObject *object,\t\t\t gboolean\
      \ is_last_ref); GOBJECT_AVAILABLE_IN_ALLvoid g_object_add_toggle_ref (GObject\
      \ *object,\t\t\t\t GToggleNotify notify,\t\t\t\t gpointer data); GOBJECT_AVAILABLE_IN_ALLvoid\
      \ g_object_remove_toggle_ref (GObject *object,\t\t\t\t GToggleNotify notify,\t\
      \t\t\t gpointer data); GOBJECT_AVAILABLE_IN_ALLgpointer g_object_get_qdata (GObject\
      \ *object,\t\t\t\t\t GQuark quark); GOBJECT_AVAILABLE_IN_ALLvoid g_object_set_qdata\
      \ (GObject *object,\t\t\t\t\t GQuark quark,\t\t\t\t\t gpointer data); GOBJECT_AVAILABLE_IN_ALLvoid\
      \ g_object_set_qdata_full (GObject *object,\t\t\t\t\t GQuark quark,\t\t\t\t\t\
      \ gpointer data,\t\t\t\t\t GDestroyNotify destroy); GOBJECT_AVAILABLE_IN_ALLgpointer\
      \ g_object_steal_qdata (GObject *object,\t\t\t\t\t GQuark quark); GOBJECT_AVAILABLE_IN_2_34gpointer\
      \ g_object_dup_qdata (GObject *object, GQuark quark, GDuplicateFunc dup_func,\t\
      \t\t\t\t gpointer user_data); GOBJECT_AVAILABLE_IN_2_34gboolean g_object_replace_qdata\
      \ (GObject *object, GQuark quark, gpointer oldval, gpointer newval, GDestroyNotify\
      \ destroy,\t\t\t\t\t GDestroyNotify *old_destroy); GOBJECT_AVAILABLE_IN_ALLgpointer\
      \ g_object_get_data (GObject *object,\t\t\t\t\t const gchar *key); GOBJECT_AVAILABLE_IN_ALLvoid\
      \ g_object_set_data (GObject *object,\t\t\t\t\t const gchar *key,\t\t\t\t\t\
      \ gpointer data); GOBJECT_AVAILABLE_IN_ALLvoid g_object_set_data_full (GObject\
      \ *object,\t\t\t\t\t const gchar *key,\t\t\t\t\t gpointer data,\t\t\t\t\t GDestroyNotify\
      \ destroy); GOBJECT_AVAILABLE_IN_ALLgpointer g_object_steal_data (GObject *object,\t\
      \t\t\t\t const gchar *key); GOBJECT_AVAILABLE_IN_2_34gpointer g_object_dup_data\
      \ (GObject *object, const gchar *key, GDuplicateFunc dup_func,\t\t\t\t\t gpointer\
      \ user_data); GOBJECT_AVAILABLE_IN_2_34gboolean g_object_replace_data (GObject\
      \ *object, const gchar *key, gpointer oldval, gpointer newval, GDestroyNotify\
      \ destroy,\t\t\t\t\t GDestroyNotify *old_destroy); GOBJECT_AVAILABLE_IN_ALLvoid\
      \ g_object_watch_closure (GObject *object,\t\t\t\t\t GClosure *closure); GOBJECT_AVAILABLE_IN_ALLGClosure*\
      \ g_cclosure_new_object (GCallback callback_func,\t\t\t\t\t GObject\t *object);\
      \ GOBJECT_AVAILABLE_IN_ALLGClosure* g_cclosure_new_object_swap (GCallback callback_func,\t\
      \t\t\t\t GObject\t *object); GOBJECT_AVAILABLE_IN_ALLGClosure* g_closure_new_object\
      \ (guint sizeof_closure,\t\t\t\t\t GObject *object); GOBJECT_AVAILABLE_IN_ALLvoid\
      \ g_value_set_object (GValue *value,\t\t\t\t\t gpointer v_object); GOBJECT_AVAILABLE_IN_ALLgpointer\
      \ g_value_get_object (const GValue *value); GOBJECT_AVAILABLE_IN_ALLgpointer\
      \ g_value_dup_object (const GValue *value); GOBJECT_AVAILABLE_IN_ALLgulong\t\
      \ g_signal_connect_object (gpointer\t instance,\t\t\t\t\t const gchar *detailed_signal,\t\
      \t\t\t\t GCallback c_handler,\t\t\t\t\t gpointer\t gobject,\t\t\t\t\t GConnectFlags\
      \ connect_flags); /*< protected >*/ GOBJECT_AVAILABLE_IN_ALLvoid g_object_force_floating\
      \ (GObject *object); GOBJECT_AVAILABLE_IN_ALLvoid g_object_run_dispose\t (GObject\t\
      \ *object); GOBJECT_AVAILABLE_IN_ALLvoid g_value_take_object (GValue *value,\t\
      \t\t\t\t gpointer v_object); GOBJECT_DEPRECATED_FOR(g_value_take_object)void\
      \ g_value_set_object_take_ownership (GValue *value, gpointer v_object); GOBJECT_DEPRECATEDgsize\t\
      \ g_object_compat_control\t (gsize\t what,\t\t\t\t\t gpointer\t data); /* ---\
      \ implementation macros --- */ #define G_OBJECT_WARN_INVALID_PSPEC(object, pname,\
      \ property_id, pspec) \\G_STMT_START "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_remove_weak_pointer
      Src: /src/glib/gobject/gobject.h:840,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - weak_pointer_location
    argTypes:
    - gpointer*
    constantsTouched: []
    func_position:
      end: 843
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 843
    functionName: (g_clear_weak_pointer)
    functionSourceFile: /src/glib/gobject/gobject.h
    functionUses: []
    functionsReached:
    - g_object_remove_weak_pointer
    linkageType: ''
    returnType: void
    signature: 'static inline void (g_clear_weak_pointer) (gpointer *weak_pointer_location) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_object_remove_weak_pointer
      Src: /src/glib/gobject/gobject.h:903,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/gobject.h:908,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - weak_pointer_location
    - new_object
    argTypes:
    - gpointer*
    - GObject*
    constantsTouched: []
    func_position:
      end: 911
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 911
    functionName: (g_set_weak_pointer)
    functionSourceFile: /src/glib/gobject/gobject.h
    functionUses: []
    functionsReached:
    - g_object_add_weak_pointer
    - g_object_remove_weak_pointer
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean (g_set_weak_pointer) (gpointer *weak_pointer_location,
      GObject *new_object) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_object_ref
      Src: /src/glib/gobject/gobject.h:748,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gobject.h:753,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 2
    argNames:
    - object_ptr
    - new_object
    argTypes:
    - GObject**
    - GObject*
    constantsTouched: []
    func_position:
      end: 756
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 756
    functionName: (g_set_object)
    functionSourceFile: /src/glib/gobject/gobject.h
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_object_ref
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean (g_set_object) (GObject **object_ptr, GObject
      *new_object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gobject/gobject.h:803,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.h:803,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gobject.h:805,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/gobject.h:806,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/gobject.h:804,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 807
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 807
    functionName: (g_assert_finalize_object)
    functionSourceFile: /src/glib/gobject/gobject.h
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_object_unref
    - g_assert_null
    - g_object_add_weak_pointer
    - G_IS_OBJECT
    linkageType: ''
    returnType: void
    signature: 'static inline void (g_assert_finalize_object) (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/glib/gobject/gvaluetransform.c:34,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - src_value
    - dest_value
    argTypes:
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: value_transform_memcpy_data0
    functionSourceFile: /src/glib/gobject/gvaluetransform.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'static void value_transform_memcpy_data0 (const GValue *src_value,
      GValue *dest_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/gobject/gvaluetransform.c:173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - src_value
    - dest_value
    argTypes:
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 176
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 176
    functionName: value_transform_bool_string
    functionSourceFile: /src/glib/gobject/gvaluetransform.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    linkageType: ''
    returnType: void
    signature: 'static void value_transform_bool_string (const GValue *src_value,
      GValue *dest_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_enum_to_string
      Src: /src/glib/gobject/gvaluetransform.c:188,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gvaluetransform.c:188,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - src_value
    - dest_value
    argTypes:
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 191
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 191
    functionName: value_transform_enum_string
    functionSourceFile: /src/glib/gobject/gvaluetransform.c
    functionUses: []
    functionsReached:
    - g_enum_to_string
    - G_VALUE_TYPE
    linkageType: ''
    returnType: void
    signature: 'static void value_transform_enum_string (const GValue *src_value,
      GValue *dest_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:357,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:421,1
    - Dst: SKIP____register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:394,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:376,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:360,1
    - Dst: SKIP____register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:397,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:291,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:252,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:256,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:260,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:287,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:283,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:318,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:314,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:264,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:310,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:379,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:363,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:400,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:384,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:403,1
    - Dst: SKIP____register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:387,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:339,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:424,1
    - Dst: SKIP____register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:408,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:406,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:390,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:342,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:428,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:272,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:307,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:299,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:303,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:295,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:249,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:268,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:276,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:326,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:330,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:411,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:393,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:345,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:414,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:366,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:348,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:332,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:417,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:369,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:353,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:381,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:309,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:255,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:263,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:259,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:294,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:290,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:286,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:282,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:321,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:317,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:356,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:372,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:375,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:359,1
    - Dst: SKIP____register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:396,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:358,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:380,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:335,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:378,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:362,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:399,1
    - Dst: SKIP____register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:383,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:279,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:275,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:271,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:306,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:302,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:298,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:248,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:267,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:325,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:329,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:402,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:386,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:338,1
    - Dst: SKIP____register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:423,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:405,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:389,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:341,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:426,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:410,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:392,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:344,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:328,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:413,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:365,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:316,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:312,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:254,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:262,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:258,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:293,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:289,1
    - Dst: SKIP____register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:285,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:281,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:320,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:347,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:331,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:416,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:368,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:352,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:420,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:350,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:334,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:419,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:371,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:355,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:374,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:278,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:274,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:270,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:305,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:247,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:251,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:266,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:301,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:297,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:324,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:395,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:377,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:361,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:313,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:398,1
    - Dst: SKIP____register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:382,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:364,1
    - Dst: SKIP____register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:401,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:385,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:337,1
    - Dst: SKIP____register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:422,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:404,1
    - Dst: SKIP____register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:284,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:280,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:319,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:253,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:261,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:315,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:265,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:311,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:257,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:292,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:340,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:388,1
    - Dst: SKIP____register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:409,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:425,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:322,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:407,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:391,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:343,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:245,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:327,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:412,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:346,1
    - Dst: SKIP____register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:415,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:367,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:351,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:304,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:300,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:296,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:273,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:277,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:246,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:250,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:269,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:308,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:323,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:333,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:349,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:370,1
    - Dst: SKIP____register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:373,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:418,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:354,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:336,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gvaluetransform.c:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 184
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 429
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 429
    functionName: _g_value_transforms_init
    functionSourceFile: /src/glib/gobject/gvaluetransform.c
    functionUses: []
    functionsReached:
    - g_value_register_transform_func
    - SKIP____register_transform_func
    linkageType: ''
    returnType: void
    signature: 'void _g_value_transforms_init (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/gvaluetransform.c:196,1
    - Dst: g_string_new
      Src: /src/glib/gobject/gvaluetransform.c:204,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gvaluetransform.c:196,1
    - Dst: g_flags_get_first_value
      Src: /src/glib/gobject/gvaluetransform.c:197,1
    - Dst: g_string_append
      Src: /src/glib/gobject/gvaluetransform.c:212,1
    - Dst: g_string_append
      Src: /src/glib/gobject/gvaluetransform.c:213,1
    - Dst: g_flags_get_first_value
      Src: /src/glib/gobject/gvaluetransform.c:214,1
    - Dst: g_strdup_printf
      Src: /src/glib/gobject/gvaluetransform.c:219,1
    - Dst: g_strdup
      Src: /src/glib/gobject/gvaluetransform.c:223,1
    - Dst: g_string_free
      Src: /src/glib/gobject/gvaluetransform.c:224,1
    - Dst: g_type_class_unref
      Src: /src/glib/gobject/gvaluetransform.c:229,1
    - Dst: g_strdup_printf
      Src: /src/glib/gobject/gvaluetransform.c:227,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 2
    argNames:
    - src_value
    - dest_value
    argTypes:
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 230
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 230
    functionName: value_transform_flags_string
    functionSourceFile: /src/glib/gobject/gvaluetransform.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_type_class_ref
    - g_strdup
    - G_VALUE_TYPE
    - g_flags_get_first_value
    - g_string_free
    - g_string_new
    - g_type_class_unref
    - g_string_append
    linkageType: ''
    returnType: void
    signature: 'static void value_transform_flags_string (const GValue *src_value,
      GValue *dest_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gobject/gvaluetransform.c:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - src_value
    - dest_value
    argTypes:
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 182
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 182
    functionName: value_transform_string_string
    functionSourceFile: /src/glib/gobject/gvaluetransform.c
    functionUses: []
    functionsReached:
    - g_strdup
    linkageType: ''
    returnType: void
    signature: 'static void value_transform_string_string (const GValue *src_value,
      GValue *dest_value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_type_register_static
      Src: /src/glib/gobject/gtypeplugin.c:99,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gtypeplugin.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 103
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 103
    functionName: g_type_plugin_get_type
    functionSourceFile: /src/glib/gobject/gtypeplugin.c
    functionUses: []
    functionsReached:
    - g_type_register_static
    - g_intern_static_string
    linkageType: ''
    returnType: GType
    signature: 'GType g_type_plugin_get_type (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtypeplugin.c:137,1
    - Dst: G_TYPE_PLUGIN_GET_CLASS
      Src: /src/glib/gobject/gtypeplugin.c:139,1
    - Dst: G_IS_TYPE_PLUGIN
      Src: /src/glib/gobject/gtypeplugin.c:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - plugin
    argTypes:
    - GTypePlugin*
    constantsTouched: []
    func_position:
      end: 141
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 141
    functionName: g_type_plugin_unuse
    functionSourceFile: /src/glib/gobject/gtypeplugin.c
    functionUses: []
    functionsReached:
    - G_IS_TYPE_PLUGIN
    - G_TYPE_PLUGIN_GET_CLASS
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_type_plugin_unuse (GTypePlugin *plugin) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtypeplugin.c:193,1
    - Dst: G_IS_TYPE_PLUGIN
      Src: /src/glib/gobject/gtypeplugin.c:193,1
    - Dst: G_TYPE_PLUGIN_GET_CLASS
      Src: /src/glib/gobject/gtypeplugin.c:196,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtypeplugin.c:194,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - plugin
    - instance_type
    - interface_type
    - info
    argTypes:
    - GTypePlugin*
    - GType
    - GType
    - GInterfaceInfo*
    constantsTouched: []
    func_position:
      end: 201
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 201
    functionName: g_type_plugin_complete_interface_info
    functionSourceFile: /src/glib/gobject/gtypeplugin.c
    functionUses: []
    functionsReached:
    - G_IS_TYPE_PLUGIN
    - G_TYPE_PLUGIN_GET_CLASS
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_type_plugin_complete_interface_info (GTypePlugin *plugin,\t\
      \t\t\t GType instance_type,\t\t\t\t GType interface_type,\t\t\t\t GInterfaceInfo\
      \ *info) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtypeplugin.c:118,1
    - Dst: G_TYPE_PLUGIN_GET_CLASS
      Src: /src/glib/gobject/gtypeplugin.c:120,1
    - Dst: G_IS_TYPE_PLUGIN
      Src: /src/glib/gobject/gtypeplugin.c:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - plugin
    argTypes:
    - GTypePlugin*
    constantsTouched: []
    func_position:
      end: 122
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 122
    functionName: g_type_plugin_use
    functionSourceFile: /src/glib/gobject/gtypeplugin.c
    functionUses: []
    functionsReached:
    - G_IS_TYPE_PLUGIN
    - G_TYPE_PLUGIN_GET_CLASS
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_type_plugin_use (GTypePlugin *plugin) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtypeplugin.c:162,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtypeplugin.c:164,1
    - Dst: G_TYPE_PLUGIN_GET_CLASS
      Src: /src/glib/gobject/gtypeplugin.c:166,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtypeplugin.c:163,1
    - Dst: G_IS_TYPE_PLUGIN
      Src: /src/glib/gobject/gtypeplugin.c:162,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - plugin
    - g_type
    - info
    - value_table
    argTypes:
    - GTypePlugin*
    - GType
    - GTypeInfo*
    - GTypeValueTable*
    constantsTouched: []
    func_position:
      end: 171
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 171
    functionName: g_type_plugin_complete_type_info
    functionSourceFile: /src/glib/gobject/gtypeplugin.c
    functionUses: []
    functionsReached:
    - G_IS_TYPE_PLUGIN
    - G_TYPE_PLUGIN_GET_CLASS
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_type_plugin_complete_type_info (GTypePlugin *plugin,\t\t\t\t\
      \ GType g_type,\t\t\t\t GTypeInfo *info,\t\t\t\t GTypeValueTable *value_table) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _g_type_boxed_free
      Src: /src/glib/gobject/gboxed.c:194,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gboxed.c:194,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: boxed_proxy_value_free
    functionSourceFile: /src/glib/gobject/gboxed.c
    functionUses: []
    functionsReached:
    - _g_type_boxed_free
    - G_VALUE_TYPE
    linkageType: ''
    returnType: void
    signature: 'static void boxed_proxy_value_free (GValue *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 211
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 211
    functionName: boxed_proxy_value_peek_pointer
    functionSourceFile: /src/glib/gobject/gboxed.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer boxed_proxy_value_peek_pointer (const GValue *value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gboxed.c:243,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gboxed.c:250,1
    - Dst: _g_type_boxed_copy
      Src: /src/glib/gobject/gboxed.c:250,1
    - Dst: G_VALUE_TYPE_NAME
      Src: /src/glib/gobject/gboxed.c:243,1
    - Dst: g_strdup_printf
      Src: /src/glib/gobject/gboxed.c:243,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 253
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 253
    functionName: boxed_proxy_lcopy_value
    functionSourceFile: /src/glib/gobject/gboxed.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_strdup_printf
    - G_VALUE_TYPE
    - _g_type_boxed_copy
    - G_VALUE_TYPE_NAME
    linkageType: ''
    returnType: gchar*
    signature: "static gchar *boxed_proxy_lcopy_value (const GValue *value,\t\t\t\
      \ guint n_collect_values,\t\t\t GTypeCValue *collect_values,\t\t\t guint collect_flags) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gboxed.c:333,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gboxed.c:335,1
    - Dst: G_TYPE_IS_BOXED
      Src: /src/glib/gobject/gboxed.c:333,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gboxed.c:334,1
    - Dst: G_TYPE_IS_ABSTRACT
      Src: /src/glib/gobject/gboxed.c:334,1
    - Dst: g_type_value_table_peek
      Src: /src/glib/gobject/gboxed.c:337,1
    - Dst: g_assert
      Src: /src/glib/gobject/gboxed.c:338,1
    - Dst: _g_type_boxed_copy
      Src: /src/glib/gobject/gboxed.c:342,1
    - Dst: value_meminit
      Src: /src/glib/gobject/gboxed.c:358,1
    - Dst: value_meminit
      Src: /src/glib/gobject/gboxed.c:363,1
    - Dst: g_warning
      Src: /src/glib/gobject/gboxed.c:368,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gboxed.c:369,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - boxed_type
    - src_boxed
    argTypes:
    - GType
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 375
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 375
    functionName: g_boxed_copy
    functionSourceFile: /src/glib/gobject/gboxed.c
    functionUses: []
    functionsReached:
    - G_TYPE_IS_BOXED
    - g_return_val_if_fail
    - g_warning
    - value_meminit
    - g_assert
    - _g_type_boxed_copy
    - G_TYPE_IS_ABSTRACT
    - g_type_value_table_peek
    - g_type_name
    linkageType: ''
    returnType: gpointer
    signature: "gpointer g_boxed_copy (GType boxed_type,\t gconstpointer src_boxed) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_take_boxed
      Src: /src/glib/gobject/gboxed.c:521,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - value
    - boxed
    argTypes:
    - GValue*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 522
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 522
    functionName: g_value_set_boxed_take_ownership
    functionSourceFile: /src/glib/gobject/gboxed.c
    functionUses: []
    functionsReached:
    - g_value_take_boxed
    linkageType: ''
    returnType: void
    signature: "void g_value_set_boxed_take_ownership (GValue *value,\t\t\t\t gconstpointer\
      \ boxed) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _g_type_boxed_copy
      Src: /src/glib/gobject/gboxed.c:202,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gboxed.c:202,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - src_value
    - dest_value
    argTypes:
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 205
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 205
    functionName: boxed_proxy_value_copy
    functionSourceFile: /src/glib/gobject/gboxed.c
    functionUses: []
    functionsReached:
    - _g_type_boxed_copy
    - G_VALUE_TYPE
    linkageType: ''
    returnType: void
    signature: "static void boxed_proxy_value_copy (const GValue *src_value,\t\t\t\
      GValue *dest_value) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _g_type_boxed_copy
      Src: /src/glib/gobject/gboxed.c:229,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gboxed.c:229,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 233
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 233
    functionName: boxed_proxy_collect_value
    functionSourceFile: /src/glib/gobject/gboxed.c
    functionUses: []
    functionsReached:
    - _g_type_boxed_copy
    - G_VALUE_TYPE
    linkageType: ''
    returnType: gchar*
    signature: "static gchar *boxed_proxy_collect_value (GValue *value,\t\t\t guint\
      \ n_collect_values,\t\t\t GTypeCValue *collect_values,\t\t\t guint collect_flags) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gboxed.c:502,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gboxed.c:503,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gboxed.c:503,1
    - Dst: G_TYPE_IS_VALUE
      Src: /src/glib/gobject/gboxed.c:503,1
    - Dst: G_VALUE_HOLDS_BOXED
      Src: /src/glib/gobject/gboxed.c:502,1
    - Dst: value_set_boxed_internal
      Src: /src/glib/gobject/gboxed.c:505,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - value
    - boxed
    argTypes:
    - GValue*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 506
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 506
    functionName: g_value_set_static_boxed
    functionSourceFile: /src/glib/gobject/gboxed.c
    functionUses: []
    functionsReached:
    - G_TYPE_IS_VALUE
    - G_VALUE_TYPE
    - g_return_if_fail
    - G_VALUE_HOLDS_BOXED
    - value_set_boxed_internal
    linkageType: ''
    returnType: void
    signature: "void g_value_set_static_boxed (GValue *value,\t\t\t gconstpointer\
      \ boxed) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/glib/gobject/gboxed.c:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - value
    - value_type
    argTypes:
    - GValue*
    - GType
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: value_meminit
    functionSourceFile: /src/glib/gobject/gboxed.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: "static inline void /* keep this function in sync with gvalue.c */\
      \ value_meminit (GValue *value,\t GType value_type) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gboxed.c:59,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gboxed.c:60,1
    - Dst: g_free
      Src: /src/glib/gobject/gboxed.c:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: value_free
    functionSourceFile: /src/glib/gobject/gboxed.c
    functionUses: []
    functionsReached:
    - g_value_unset
    - g_free
    - G_VALUE_TYPE
    linkageType: ''
    returnType: void
    signature: 'static void value_free (GValue *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_type_register_fundamental
      Src: /src/glib/gobject/gboxed.c:93,1
    - Dst: g_assert
      Src: /src/glib/gobject/gboxed.c:95,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gboxed.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 96
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 96
    functionName: _g_boxed_type_init
    functionSourceFile: /src/glib/gobject/gboxed.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_intern_static_string
    - g_type_register_fundamental
    linkageType: ''
    returnType: void
    signature: 'void _g_boxed_type_init (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: g_variant_get_gtype
    functionSourceFile: /src/glib/gobject/gboxed.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GType
    signature: 'GType g_variant_get_gtype (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gobject/gboxed.c:67,1
    - Dst: memcpy
      Src: /src/glib/gobject/gboxed.c:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: pollfd_copy
    functionSourceFile: /src/glib/gobject/gboxed.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_new0
    linkageType: ''
    returnType: GPollFD*
    signature: 'static GPollFD *pollfd_copy (GPollFD *src) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gobject/gboxed.c:46,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gboxed.c:48,1
    - Dst: g_value_copy
      Src: /src/glib/gobject/gboxed.c:51,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gboxed.c:50,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gboxed.c:50,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 54
    functionName: value_copy
    functionSourceFile: /src/glib/gobject/gboxed.c
    functionUses: []
    functionsReached:
    - g_value_init
    - g_new0
    - g_value_copy
    - G_VALUE_TYPE
    linkageType: ''
    returnType: GValue*
    signature: 'static GValue *value_copy (GValue *src_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new_len
      Src: /src/glib/gobject/gboxed.c:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: gstring_copy
    functionSourceFile: /src/glib/gobject/gboxed.c
    functionUses: []
    functionsReached:
    - g_string_new_len
    linkageType: ''
    returnType: GString*
    signature: 'static GString *gstring_copy (GString *src_gstring) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: boxed_proxy_value_init
    functionSourceFile: /src/glib/gobject/gboxed.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void boxed_proxy_value_init (GValue *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gboxed.c:442,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gboxed.c:443,1
    - Dst: G_TYPE_IS_VALUE
      Src: /src/glib/gobject/gboxed.c:443,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gboxed.c:443,1
    - Dst: G_VALUE_HOLDS_BOXED
      Src: /src/glib/gobject/gboxed.c:442,1
    - Dst: g_boxed_copy
      Src: /src/glib/gobject/gboxed.c:445,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gboxed.c:445,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 446
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 446
    functionName: g_value_dup_boxed
    functionSourceFile: /src/glib/gobject/gboxed.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_TYPE_IS_VALUE
    - G_VALUE_TYPE
    - G_VALUE_HOLDS_BOXED
    - g_boxed_copy
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_value_dup_boxed (const GValue *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gboxed.c:482,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gboxed.c:483,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gboxed.c:483,1
    - Dst: G_VALUE_HOLDS_BOXED
      Src: /src/glib/gobject/gboxed.c:482,1
    - Dst: G_TYPE_IS_VALUE
      Src: /src/glib/gobject/gboxed.c:483,1
    - Dst: value_set_boxed_internal
      Src: /src/glib/gobject/gboxed.c:485,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - value
    - boxed
    argTypes:
    - GValue*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 486
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 486
    functionName: g_value_set_boxed
    functionSourceFile: /src/glib/gobject/gboxed.c
    functionUses: []
    functionsReached:
    - G_TYPE_IS_VALUE
    - G_VALUE_TYPE
    - g_return_if_fail
    - G_VALUE_HOLDS_BOXED
    - value_set_boxed_internal
    linkageType: ''
    returnType: void
    signature: "void g_value_set_boxed (GValue *value,\t\t gconstpointer boxed) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_free
      Src: /src/glib/gobject/gboxed.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - gstring
    argTypes:
    - GString*
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: gstring_free
    functionSourceFile: /src/glib/gobject/gboxed.c
    functionUses: []
    functionsReached:
    - g_string_free
    linkageType: ''
    returnType: void
    signature: 'static void gstring_free (GString *gstring) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gboxed.c:422,1
    - Dst: G_TYPE_IS_VALUE
      Src: /src/glib/gobject/gboxed.c:423,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gboxed.c:423,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gboxed.c:423,1
    - Dst: G_VALUE_HOLDS_BOXED
      Src: /src/glib/gobject/gboxed.c:422,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 426
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 426
    functionName: g_value_get_boxed
    functionSourceFile: /src/glib/gobject/gboxed.c
    functionUses: []
    functionsReached:
    - G_VALUE_TYPE
    - g_return_val_if_fail
    - G_VALUE_HOLDS_BOXED
    - G_TYPE_IS_VALUE
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_value_get_boxed (const GValue *value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_value_reset
      Src: /src/glib/gobject/gboxed.c:461,1
    - Dst: g_boxed_free
      Src: /src/glib/gobject/gboxed.c:466,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gboxed.c:466,1
    - Dst: g_boxed_copy
      Src: /src/glib/gobject/gboxed.c:468,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gboxed.c:468,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - value
    - boxed
    - need_copy
    - need_free
    argTypes:
    - GValue*
    - gconstpointer
    - gboolean
    - gboolean
    constantsTouched: []
    func_position:
      end: 469
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 469
    functionName: value_set_boxed_internal
    functionSourceFile: /src/glib/gobject/gboxed.c
    functionUses: []
    functionsReached:
    - g_value_reset
    - G_VALUE_TYPE
    - g_boxed_copy
    - g_boxed_free
    linkageType: ''
    returnType: void
    signature: "static inline void value_set_boxed_internal (GValue *value,\t\t\t\
      \ gconstpointer boxed,\t\t\t gboolean need_copy,\t\t\t gboolean need_free) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gboxed.c:539,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gboxed.c:540,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gboxed.c:540,1
    - Dst: G_VALUE_HOLDS_BOXED
      Src: /src/glib/gobject/gboxed.c:539,1
    - Dst: G_TYPE_IS_VALUE
      Src: /src/glib/gobject/gboxed.c:540,1
    - Dst: value_set_boxed_internal
      Src: /src/glib/gobject/gboxed.c:542,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - value
    - boxed
    argTypes:
    - GValue*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 543
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 543
    functionName: g_value_take_boxed
    functionSourceFile: /src/glib/gobject/gboxed.c
    functionUses: []
    functionsReached:
    - G_TYPE_IS_VALUE
    - G_VALUE_TYPE
    - g_return_if_fail
    - G_VALUE_HOLDS_BOXED
    - value_set_boxed_internal
    linkageType: ''
    returnType: void
    signature: "void g_value_take_boxed (GValue *value,\t\t gconstpointer boxed) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter_pointer
      Src: /src/glib/gobject/gboxed.c:165,1
    - Dst: g_once_init_leave_pointer
      Src: /src/glib/gobject/gboxed.c:172,1
    - Dst: g_boxed_type_register_static
      Src: /src/glib/gobject/gboxed.c:168,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gboxed.c:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 176
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 176
    functionName: g_strv_get_type
    functionSourceFile: /src/glib/gobject/gboxed.c
    functionUses: []
    functionsReached:
    - g_once_init_leave_pointer
    - g_boxed_type_register_static
    - g_once_init_enter_pointer
    - g_intern_static_string
    linkageType: ''
    returnType: GType
    signature: 'GType g_strv_get_type (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gboxed.c:302,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gboxed.c:304,1
    - Dst: g_type_from_name
      Src: /src/glib/gobject/gboxed.c:305,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gboxed.c:303,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gboxed.c:305,1
    - Dst: g_type_register_static
      Src: /src/glib/gobject/gboxed.c:307,1
    - Dst: _g_type_boxed_init
      Src: /src/glib/gobject/gboxed.c:311,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - name
    - boxed_copy
    - boxed_free
    argTypes:
    - gchar*
    - GBoxedCopyFunc
    - GBoxedFreeFunc
    constantsTouched: []
    func_position:
      end: 314
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 314
    functionName: g_boxed_type_register_static
    functionSourceFile: /src/glib/gobject/gboxed.c
    functionUses: []
    functionsReached:
    - g_type_register_static
    - g_return_val_if_fail
    - _g_type_boxed_init
    - g_type_from_name
    linkageType: ''
    returnType: GType
    signature: "GType g_boxed_type_register_static (const gchar *name,\t\t\t GBoxedCopyFunc\
      \ boxed_copy,\t\t\t GBoxedFreeFunc boxed_free) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gboxed.c:390,1
    - Dst: G_TYPE_IS_ABSTRACT
      Src: /src/glib/gobject/gboxed.c:391,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gboxed.c:392,1
    - Dst: G_TYPE_IS_BOXED
      Src: /src/glib/gobject/gboxed.c:390,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gboxed.c:391,1
    - Dst: g_type_value_table_peek
      Src: /src/glib/gobject/gboxed.c:394,1
    - Dst: g_assert
      Src: /src/glib/gobject/gboxed.c:395,1
    - Dst: _g_type_boxed_free
      Src: /src/glib/gobject/gboxed.c:399,1
    - Dst: value_meminit
      Src: /src/glib/gobject/gboxed.c:405,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - boxed_type
    - boxed
    argTypes:
    - GType
    - gpointer
    constantsTouched: []
    func_position:
      end: 409
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 409
    functionName: g_boxed_free
    functionSourceFile: /src/glib/gobject/gboxed.c
    functionUses: []
    functionsReached:
    - G_TYPE_IS_BOXED
    - g_return_if_fail
    - g_assert
    - value_meminit
    - _g_type_boxed_free
    - G_TYPE_IS_ABSTRACT
    - g_type_value_table_peek
    linkageType: ''
    returnType: void
    signature: "void g_boxed_free (GType boxed_type,\t gpointer boxed) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: value_flags_enum_init
    functionSourceFile: /src/glib/gobject/genums.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void value_flags_enum_init (GValue *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_VALUE_HOLDS_ENUM
      Src: /src/glib/gobject/genums.c:119,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 125
    functionName: value_flags_enum_collect_value
    functionSourceFile: /src/glib/gobject/genums.c
    functionUses: []
    functionsReached:
    - G_VALUE_HOLDS_ENUM
    linkageType: ''
    returnType: gchar*
    signature: "static gchar *value_flags_enum_collect_value (GValue *value,\t\t\t\
      \tguint n_collect_values,\t\t\t\tGTypeCValue *collect_values,\t\t\t\tguint collect_flags) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/genums.c:558,1
    - Dst: g_strdup_printf
      Src: /src/glib/gobject/genums.c:564,1
    - Dst: g_enum_get_value
      Src: /src/glib/gobject/genums.c:566,1
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/genums.c:560,1
    - Dst: G_TYPE_IS_ENUM
      Src: /src/glib/gobject/genums.c:558,1
    - Dst: g_strdup_printf
      Src: /src/glib/gobject/genums.c:569,1
    - Dst: g_strdup
      Src: /src/glib/gobject/genums.c:571,1
    - Dst: g_type_class_unref
      Src: /src/glib/gobject/genums.c:573,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 575
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 575
    functionName: g_enum_to_string
    functionSourceFile: /src/glib/gobject/genums.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_return_val_if_fail
    - g_type_class_ref
    - g_strdup
    - g_enum_get_value
    - g_type_class_unref
    - G_TYPE_IS_ENUM
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_enum_to_string (GType g_enum_type, gint value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - src_value
    - dest_value
    argTypes:
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: value_flags_enum_copy_value
    functionSourceFile: /src/glib/gobject/genums.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void value_flags_enum_copy_value (const GValue *src_value,\t\
      \t\t GValue\t *dest_value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/genums.c:135,1
    - Dst: G_VALUE_TYPE_NAME
      Src: /src/glib/gobject/genums.c:135,1
    - Dst: g_strdup_printf
      Src: /src/glib/gobject/genums.c:135,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 140
    functionName: value_flags_enum_lcopy_value
    functionSourceFile: /src/glib/gobject/genums.c
    functionUses: []
    functionsReached:
    - G_VALUE_TYPE_NAME
    - g_return_val_if_fail
    - g_strdup_printf
    linkageType: ''
    returnType: gchar*
    signature: "static gchar *value_flags_enum_lcopy_value (const GValue *value,\t\
      \t\t guint n_collect_values,\t\t\t GTypeCValue *collect_values,\t\t\t guint\
      \ collect_flags) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/genums.c:397,1
    - Dst: strcmp
      Src: /src/glib/gobject/genums.c:405,1
    - Dst: G_IS_FLAGS_CLASS
      Src: /src/glib/gobject/genums.c:397,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/genums.c:398,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 410
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 410
    functionName: g_flags_get_value_by_name
    functionSourceFile: /src/glib/gobject/genums.c
    functionUses: []
    functionsReached:
    - G_IS_FLAGS_CLASS
    - g_return_val_if_fail
    - strcmp
    linkageType: ''
    returnType: GFlagsValue*
    signature: "GFlagsValue *g_flags_get_value_by_name (GFlagsClass *flags_class,\t\
      \t\t const gchar *name) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/genums.c:513,1
    - Dst: G_IS_FLAGS_CLASS
      Src: /src/glib/gobject/genums.c:513,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 534
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 534
    functionName: g_flags_get_first_value
    functionSourceFile: /src/glib/gobject/genums.c
    functionUses: []
    functionsReached:
    - G_IS_FLAGS_CLASS
    - g_return_val_if_fail
    linkageType: ''
    returnType: GFlagsValue*
    signature: "GFlagsValue *g_flags_get_first_value (GFlagsClass *flags_class,\t\t\
      \t guint\t value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/genums.c:674,1
    - Dst: G_VALUE_HOLDS_ENUM
      Src: /src/glib/gobject/genums.c:674,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - value
    - v_enum
    argTypes:
    - GValue*
    - gint
    constantsTouched: []
    func_position:
      end: 677
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 677
    functionName: g_value_set_enum
    functionSourceFile: /src/glib/gobject/genums.c
    functionUses: []
    functionsReached:
    - G_VALUE_HOLDS_ENUM
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_value_set_enum (GValue *value,\t\t gint v_enum) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/genums.c:485,1
    - Dst: G_IS_ENUM_CLASS
      Src: /src/glib/gobject/genums.c:485,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 497
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 497
    functionName: g_enum_get_value
    functionSourceFile: /src/glib/gobject/genums.c
    functionUses: []
    functionsReached:
    - G_IS_ENUM_CLASS
    - g_return_val_if_fail
    linkageType: ''
    returnType: GEnumValue*
    signature: "GEnumValue *g_enum_get_value (GEnumClass *enum_class,\t\t gint\t value) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/genums.c:599,1
    - Dst: G_IS_FLAGS_CLASS
      Src: /src/glib/gobject/genums.c:599,1
    - Dst: g_string_append
      Src: /src/glib/gobject/genums.c:607,1
    - Dst: g_flags_get_first_value
      Src: /src/glib/gobject/genums.c:604,1
    - Dst: g_string_new
      Src: /src/glib/gobject/genums.c:601,1
    - Dst: g_string_append
      Src: /src/glib/gobject/genums.c:609,1
    - Dst: g_string_append
      Src: /src/glib/gobject/genums.c:618,1
    - Dst: g_string_append_printf
      Src: /src/glib/gobject/genums.c:620,1
    - Dst: g_string_free
      Src: /src/glib/gobject/genums.c:623,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 624
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 624
    functionName: g_flags_get_value_string
    functionSourceFile: /src/glib/gobject/genums.c
    functionUses: []
    functionsReached:
    - G_IS_FLAGS_CLASS
    - g_return_val_if_fail
    - g_flags_get_first_value
    - g_string_free
    - g_string_new
    - g_string_append_printf
    - g_string_append
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *g_flags_get_value_string (GFlagsClass *flags_class,
      guint value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/genums.c:648,1
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/genums.c:650,1
    - Dst: g_flags_get_value_string
      Src: /src/glib/gobject/genums.c:656,1
    - Dst: G_TYPE_IS_FLAGS
      Src: /src/glib/gobject/genums.c:648,1
    - Dst: g_type_class_unref
      Src: /src/glib/gobject/genums.c:658,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 660
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 660
    functionName: g_flags_to_string
    functionSourceFile: /src/glib/gobject/genums.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_type_class_ref
    - G_TYPE_IS_FLAGS
    - g_flags_get_value_string
    - g_type_class_unref
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_flags_to_string (GType flags_type, guint value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/genums.c:82,1
    - Dst: g_assert
      Src: /src/glib/gobject/genums.c:90,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/genums.c:88,1
    - Dst: g_type_register_fundamental
      Src: /src/glib/gobject/genums.c:95,1
    - Dst: g_type_register_fundamental
      Src: /src/glib/gobject/genums.c:88,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/genums.c:95,1
    - Dst: g_assert
      Src: /src/glib/gobject/genums.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 98
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 98
    functionName: _g_enum_types_init
    functionSourceFile: /src/glib/gobject/genums.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_intern_static_string
    - g_type_register_fundamental
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void _g_enum_types_init (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/genums.c:176,1
    - Dst: g_type_register_static
      Src: /src/glib/gobject/genums.c:181,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/genums.c:177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - name
    - const_static_values
    argTypes:
    - gchar*
    - GEnumValue*
    constantsTouched: []
    func_position:
      end: 184
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 184
    functionName: g_enum_register_static
    functionSourceFile: /src/glib/gobject/genums.c
    functionUses: []
    functionsReached:
    - g_type_register_static
    - g_return_val_if_fail
    linkageType: ''
    returnType: GType
    signature: "GType g_enum_register_static (const gchar\t *name,\t\t\tconst GEnumValue\
      \ *const_static_values) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/genums.c:264,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/genums.c:266,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/genums.c:265,1
    - Dst: G_TYPE_IS_ENUM
      Src: /src/glib/gobject/genums.c:264,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - g_enum_type
    - info
    - const_values
    argTypes:
    - GType
    - GTypeInfo*
    - GEnumValue*
    constantsTouched: []
    func_position:
      end: 274
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 274
    functionName: g_enum_complete_type_info
    functionSourceFile: /src/glib/gobject/genums.c
    functionUses: []
    functionsReached:
    - G_TYPE_IS_ENUM
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_enum_complete_type_info (GType\t g_enum_type,\t\t\t GTypeInfo\t\
      \ *info,\t\t\t const GEnumValue *const_values) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/genums.c:309,1
    - Dst: MIN
      Src: /src/glib/gobject/genums.c:324,1
    - Dst: G_IS_ENUM_CLASS
      Src: /src/glib/gobject/genums.c:309,1
    - Dst: MAX
      Src: /src/glib/gobject/genums.c:325,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - class
    - class_data
    argTypes:
    - GEnumClass*
    - gpointer
    constantsTouched: []
    func_position:
      end: 329
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 329
    functionName: g_enum_class_init
    functionSourceFile: /src/glib/gobject/genums.c
    functionUses: []
    functionsReached:
    - G_IS_ENUM_CLASS
    - MIN
    - MAX
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "static void g_enum_class_init (GEnumClass *class,\t\t gpointer class_data) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/genums.c:427,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/genums.c:428,1
    - Dst: G_IS_ENUM_CLASS
      Src: /src/glib/gobject/genums.c:427,1
    - Dst: strcmp
      Src: /src/glib/gobject/genums.c:435,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 440
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 440
    functionName: g_enum_get_value_by_nick
    functionSourceFile: /src/glib/gobject/genums.c
    functionUses: []
    functionsReached:
    - G_IS_ENUM_CLASS
    - g_return_val_if_fail
    - strcmp
    linkageType: ''
    returnType: GEnumValue*
    signature: "GEnumValue *g_enum_get_value_by_nick (GEnumClass *enum_class,\t\t\t\
      \ const gchar *nick) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/genums.c:335,1
    - Dst: G_IS_FLAGS_CLASS
      Src: /src/glib/gobject/genums.c:335,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - class
    - class_data
    argTypes:
    - GFlagsClass*
    - gpointer
    constantsTouched: []
    func_position:
      end: 351
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 351
    functionName: g_flags_class_init
    functionSourceFile: /src/glib/gobject/genums.c
    functionUses: []
    functionsReached:
    - G_IS_FLAGS_CLASS
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "static void g_flags_class_init (GFlagsClass *class,\t\t gpointer\t\
      \ class_data) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/genums.c:368,1
    - Dst: G_IS_ENUM_CLASS
      Src: /src/glib/gobject/genums.c:368,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/genums.c:369,1
    - Dst: strcmp
      Src: /src/glib/gobject/genums.c:376,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 381
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 381
    functionName: g_enum_get_value_by_name
    functionSourceFile: /src/glib/gobject/genums.c
    functionUses: []
    functionsReached:
    - G_IS_ENUM_CLASS
    - g_return_val_if_fail
    - strcmp
    linkageType: ''
    returnType: GEnumValue*
    signature: "GEnumValue *g_enum_get_value_by_name (GEnumClass *enum_class,\t\t\t\
      \ const gchar *name) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/genums.c:706,1
    - Dst: G_VALUE_HOLDS_FLAGS
      Src: /src/glib/gobject/genums.c:706,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - value
    - v_flags
    argTypes:
    - GValue*
    - guint
    constantsTouched: []
    func_position:
      end: 709
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 709
    functionName: g_value_set_flags
    functionSourceFile: /src/glib/gobject/genums.c
    functionUses: []
    functionsReached:
    - G_VALUE_HOLDS_FLAGS
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_value_set_flags (GValue *value,\t\t guint v_flags) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/genums.c:722,1
    - Dst: G_VALUE_HOLDS_FLAGS
      Src: /src/glib/gobject/genums.c:722,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 725
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 725
    functionName: g_value_get_flags
    functionSourceFile: /src/glib/gobject/genums.c
    functionUses: []
    functionsReached:
    - G_VALUE_HOLDS_FLAGS
    - g_return_val_if_fail
    linkageType: ''
    returnType: guint
    signature: 'guint g_value_get_flags (const GValue *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/genums.c:220,1
    - Dst: g_type_register_static
      Src: /src/glib/gobject/genums.c:225,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/genums.c:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - name
    - const_static_values
    argTypes:
    - gchar*
    - GFlagsValue*
    constantsTouched: []
    func_position:
      end: 228
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 228
    functionName: g_flags_register_static
    functionSourceFile: /src/glib/gobject/genums.c
    functionUses: []
    functionsReached:
    - g_type_register_static
    - g_return_val_if_fail
    linkageType: ''
    returnType: GType
    signature: "GType g_flags_register_static (const gchar\t *name,\t\t\t const GFlagsValue\
      \ *const_static_values) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/genums.c:293,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/genums.c:295,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/genums.c:294,1
    - Dst: G_TYPE_IS_FLAGS
      Src: /src/glib/gobject/genums.c:293,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - g_flags_type
    - info
    - const_values
    argTypes:
    - GType
    - GTypeInfo*
    - GFlagsValue*
    constantsTouched: []
    func_position:
      end: 303
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 303
    functionName: g_flags_complete_type_info
    functionSourceFile: /src/glib/gobject/genums.c
    functionUses: []
    functionsReached:
    - G_TYPE_IS_FLAGS
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_flags_complete_type_info (GType\t g_flags_type,\t\t\t GTypeInfo\t\
      \ *info,\t\t\t const GFlagsValue *const_values) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/genums.c:456,1
    - Dst: strcmp
      Src: /src/glib/gobject/genums.c:464,1
    - Dst: G_IS_FLAGS_CLASS
      Src: /src/glib/gobject/genums.c:456,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/genums.c:457,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 469
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 469
    functionName: g_flags_get_value_by_nick
    functionSourceFile: /src/glib/gobject/genums.c
    functionUses: []
    functionsReached:
    - G_IS_FLAGS_CLASS
    - g_return_val_if_fail
    - strcmp
    linkageType: ''
    returnType: GFlagsValue*
    signature: "GFlagsValue *g_flags_get_value_by_nick (GFlagsClass *flags_class,\t\
      \t\t const gchar *nick) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/genums.c:690,1
    - Dst: G_VALUE_HOLDS_ENUM
      Src: /src/glib/gobject/genums.c:690,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 693
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 693
    functionName: g_value_get_enum
    functionSourceFile: /src/glib/gobject/genums.c
    functionUses: []
    functionsReached:
    - G_VALUE_HOLDS_ENUM
    - g_return_val_if_fail
    linkageType: ''
    returnType: gint
    signature: 'gint g_value_get_enum (const GValue *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_weak_ref_clear
      Src: /src/glib/gobject/gbinding.c:169,1
    - Dst: g_weak_ref_clear
      Src: /src/glib/gobject/gbinding.c:171,1
    - Dst: g_weak_ref_clear
      Src: /src/glib/gobject/gbinding.c:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - context
    argTypes:
    - BindingContext*
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: binding_context_clear
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - g_weak_ref_clear
    linkageType: ''
    returnType: void
    signature: 'static void binding_context_clear (BindingContext *context) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: G_BINDING
      Src: /src/glib/gobject/gbinding.c:760,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/gbinding.c:765,1
    - Dst: g_value_take_object
      Src: /src/glib/gobject/gbinding.c:765,1
    - Dst: g_value_set_interned_string
      Src: /src/glib/gobject/gbinding.c:770,1
    - Dst: g_value_take_object
      Src: /src/glib/gobject/gbinding.c:774,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/gbinding.c:774,1
    - Dst: g_value_set_interned_string
      Src: /src/glib/gobject/gbinding.c:779,1
    - Dst: g_value_set_flags
      Src: /src/glib/gobject/gbinding.c:783,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/gbinding.c:787,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 11
    argCount: 4
    argNames:
    - gobject
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 790
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 790
    functionName: g_binding_get_property
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - g_weak_ref_get
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_flags
    - g_value_set_interned_string
    - g_value_take_object
    - G_BINDING
    linkageType: ''
    returnType: void
    signature: 'static void g_binding_get_property (GObject *gobject, guint prop_id,
      GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gbinding.c:1102,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/gbinding.c:1104,1
    - Dst: G_IS_BINDING
      Src: /src/glib/gobject/gbinding.c:1102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1105
    functionName: g_binding_dup_target
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_weak_ref_get
    - G_IS_BINDING
    linkageType: ''
    returnType: GObject*
    signature: 'GObject *g_binding_dup_target (GBinding *binding) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gobject/gbinding.c:1491,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gbinding.c:1497,1
    - Dst: g_value_set_boxed
      Src: /src/glib/gobject/gbinding.c:1495,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gbinding.c:1494,1
    - Dst: g_value_set_object
      Src: /src/glib/gobject/gbinding.c:1492,1
    - Dst: g_value_set_boxed
      Src: /src/glib/gobject/gbinding.c:1498,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gbinding.c:1500,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gobject/gbinding.c:1501,1
    - Dst: g_closure_invoke
      Src: /src/glib/gobject/gbinding.c:1503,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gobject/gbinding.c:1505,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gbinding.c:1515,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gbinding.c:1516,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gbinding.c:1517,1
    - Dst: g_assert
      Src: /src/glib/gobject/gbinding.c:1510,1
    - Dst: g_value_copy
      Src: /src/glib/gobject/gbinding.c:1512,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gbinding.c:1518,1
    - Dst: g_value_get_boxed
      Src: /src/glib/gobject/gbinding.c:1508,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - binding
    - source
    - target
    - data
    argTypes:
    - GBinding*
    - GValue*
    - GValue*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1521
      start: 1480
    functionDepth: 0
    functionLinenumber: 1480
    functionLinenumberEnd: 1521
    functionName: bind_with_closures_transform_from
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - g_value_get_boolean
    - g_value_set_boolean
    - g_assert
    - g_closure_invoke
    - g_value_init
    - g_value_set_boxed
    - g_value_set_object
    - g_value_get_boxed
    - g_value_copy
    - g_value_unset
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean bind_with_closures_transform_from (GBinding *binding,
      const GValue *source, GValue *target, gpointer data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/gobject/gbinding.c:1574,1
    - Dst: g_closure_ref
      Src: /src/glib/gobject/gbinding.c:1581,1
    - Dst: G_CLOSURE_NEEDS_MARSHAL
      Src: /src/glib/gobject/gbinding.c:1578,1
    - Dst: g_closure_set_marshal
      Src: /src/glib/gobject/gbinding.c:1579,1
    - Dst: g_closure_sink
      Src: /src/glib/gobject/gbinding.c:1582,1
    - Dst: G_CLOSURE_NEEDS_MARSHAL
      Src: /src/glib/gobject/gbinding.c:1587,1
    - Dst: g_closure_set_marshal
      Src: /src/glib/gobject/gbinding.c:1588,1
    - Dst: g_closure_ref
      Src: /src/glib/gobject/gbinding.c:1590,1
    - Dst: g_closure_sink
      Src: /src/glib/gobject/gbinding.c:1591,1
    - Dst: g_object_bind_property_full
      Src: /src/glib/gobject/gbinding.c:1594,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1601
      start: 1563
    functionDepth: 0
    functionLinenumber: 1563
    functionLinenumberEnd: 1601
    functionName: g_object_bind_property_with_closures
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - g_closure_sink
    - g_closure_set_marshal
    - g_closure_ref
    - g_object_bind_property_full
    - g_slice_new0
    - G_CLOSURE_NEEDS_MARSHAL
    linkageType: ''
    returnType: GBinding*
    signature: 'GBinding *g_object_bind_property_with_closures (gpointer source, const
      gchar *source_property, gpointer target, const gchar *target_property, GBindingFlags
      flags, GClosure *transform_to, GClosure *transform_from) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_rc_box_release_full
      Src: /src/glib/gobject/gbinding.c:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - BindingContext*
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: binding_context_unref
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - g_atomic_rc_box_release_full
    linkageType: ''
    returnType: void
    signature: 'static void binding_context_unref (BindingContext *context) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_BINDING
      Src: /src/glib/gobject/gbinding.c:795,1
    - Dst: g_assert
      Src: /src/glib/gobject/gbinding.c:804,1
    - Dst: g_assert
      Src: /src/glib/gobject/gbinding.c:807,1
    - Dst: g_object_class_find_property
      Src: /src/glib/gobject/gbinding.c:814,1
    - Dst: g_quark_from_string
      Src: /src/glib/gobject/gbinding.c:825,1
    - Dst: g_assert
      Src: /src/glib/gobject/gbinding.c:815,1
    - Dst: transform_func_new
      Src: /src/glib/gobject/gbinding.c:823,1
    - Dst: g_object_weak_ref
      Src: /src/glib/gobject/gbinding.c:835,1
    - Dst: binding_context_ref
      Src: /src/glib/gobject/gbinding.c:835,1
    - Dst: g_cclosure_new
      Src: /src/glib/gobject/gbinding.c:843,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gobject/gbinding.c:814,1
    - Dst: g_cclosure_new
      Src: /src/glib/gobject/gbinding.c:826,1
    - Dst: g_signal_connect_closure_by_id
      Src: /src/glib/gobject/gbinding.c:829,1
    - Dst: binding_context_ref
      Src: /src/glib/gobject/gbinding.c:844,1
    - Dst: g_assert
      Src: /src/glib/gobject/gbinding.c:805,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/gbinding.c:802,1
    - Dst: g_object_class_find_property
      Src: /src/glib/gobject/gbinding.c:813,1
    - Dst: binding_context_ref
      Src: /src/glib/gobject/gbinding.c:827,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/gbinding.c:843,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gbinding.c:863,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/gbinding.c:803,1
    - Dst: g_assert
      Src: /src/glib/gobject/gbinding.c:806,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gobject/gbinding.c:813,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/gbinding.c:826,1
    - Dst: g_assert
      Src: /src/glib/gobject/gbinding.c:816,1
    - Dst: g_quark_from_string
      Src: /src/glib/gobject/gbinding.c:842,1
    - Dst: g_object_weak_ref
      Src: /src/glib/gobject/gbinding.c:855,1
    - Dst: binding_context_ref
      Src: /src/glib/gobject/gbinding.c:855,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gbinding.c:864,1
    - Dst: g_signal_connect_closure_by_id
      Src: /src/glib/gobject/gbinding.c:846,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 55
    argCount: 1
    argNames:
    - gobject
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 865
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 865
    functionName: g_binding_constructed
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - g_object_class_find_property
    - g_cclosure_new
    - g_weak_ref_get
    - g_object_unref
    - g_quark_from_string
    - g_assert
    - g_object_weak_ref
    - G_CALLBACK
    - transform_func_new
    - g_signal_connect_closure_by_id
    - G_OBJECT_GET_CLASS
    - binding_context_ref
    - G_BINDING
    linkageType: ''
    returnType: void
    signature: 'static void g_binding_constructed (GObject *gobject) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_closure_unref
      Src: /src/glib/gobject/gbinding.c:1529,1
    - Dst: g_slice_free
      Src: /src/glib/gobject/gbinding.c:1534,1
    - Dst: g_closure_unref
      Src: /src/glib/gobject/gbinding.c:1532,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1535
      start: 1523
    functionDepth: 0
    functionLinenumber: 1523
    functionLinenumberEnd: 1535
    functionName: bind_with_closures_free_func
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - g_closure_unref
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void bind_with_closures_free_func (gpointer data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/gbinding.c:374,1
    - Dst: g_mutex_lock
      Src: /src/glib/gobject/gbinding.c:382,1
    - Dst: g_steal_pointer
      Src: /src/glib/gobject/gbinding.c:384,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/gbinding.c:386,1
    - Dst: binding_context_unref
      Src: /src/glib/gobject/gbinding.c:378,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/gbinding.c:387,1
    - Dst: g_weak_ref_set
      Src: /src/glib/gobject/gbinding.c:405,1
    - Dst: g_clear_object
      Src: /src/glib/gobject/gbinding.c:406,1
    - Dst: g_weak_ref_set
      Src: /src/glib/gobject/gbinding.c:411,1
    - Dst: g_clear_object
      Src: /src/glib/gobject/gbinding.c:412,1
    - Dst: unbind_internal_locked
      Src: /src/glib/gobject/gbinding.c:415,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/gbinding.c:417,1
    - Dst: g_clear_object
      Src: /src/glib/gobject/gbinding.c:422,1
    - Dst: g_clear_pointer
      Src: /src/glib/gobject/gbinding.c:424,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gbinding.c:427,1
    - Dst: g_clear_object
      Src: /src/glib/gobject/gbinding.c:421,1
    - Dst: binding_context_unref
      Src: /src/glib/gobject/gbinding.c:434,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gbinding.c:431,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - user_data
    - where_the_object_was
    argTypes:
    - gpointer
    - GObject*
    constantsTouched: []
    func_position:
      end: 435
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 435
    functionName: weak_unbind
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_weak_ref_get
    - g_object_unref
    - g_mutex_unlock
    - g_mutex_lock
    - g_weak_ref_set
    - unbind_internal_locked
    - g_clear_pointer
    - binding_context_unref
    - g_clear_object
    linkageType: ''
    returnType: void
    signature: 'static void weak_unbind (gpointer user_data, GObject *where_the_object_was) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gbinding.c:1041,1
    - Dst: G_IS_BINDING
      Src: /src/glib/gobject/gbinding.c:1041,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/gbinding.c:1043,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1038
    functionDepth: 0
    functionLinenumber: 1038
    functionLinenumberEnd: 1044
    functionName: g_binding_dup_source
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_weak_ref_get
    - G_IS_BINDING
    linkageType: ''
    returnType: GObject*
    signature: 'GObject *g_binding_dup_source (GBinding *binding) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gbinding.c:1233,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gbinding.c:1237,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gbinding.c:1238,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/gbinding.c:1260,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/gbinding.c:1269,1
    - Dst: g_critical
      Src: /src/glib/gobject/gbinding.c:1242,1
    - Dst: g_strcmp0
      Src: /src/glib/gobject/gbinding.c:1240,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/gbinding.c:1279,1
    - Dst: g_critical
      Src: /src/glib/gobject/gbinding.c:1287,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gbinding.c:1292,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/gbinding.c:1320,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gbinding.c:1333,1
    - Dst: g_critical
      Src: /src/glib/gobject/gbinding.c:1328,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gbinding.c:1233,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gbinding.c:1236,1
    - Dst: g_object_class_find_property
      Src: /src/glib/gobject/gbinding.c:1255,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gobject/gbinding.c:1255,1
    - Dst: g_critical
      Src: /src/glib/gobject/gbinding.c:1267,1
    - Dst: g_critical
      Src: /src/glib/gobject/gbinding.c:1277,1
    - Dst: g_critical
      Src: /src/glib/gobject/gbinding.c:1258,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/gbinding.c:1310,1
    - Dst: g_critical
      Src: /src/glib/gobject/gbinding.c:1318,1
    - Dst: g_clear_pointer
      Src: /src/glib/gobject/gbinding.c:1354,1
    - Dst: g_critical
      Src: /src/glib/gobject/gbinding.c:1299,1
    - Dst: g_param_spec_is_valid_name
      Src: /src/glib/gobject/gbinding.c:1235,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gbinding.c:1236,1
    - Dst: G_PARAM_SPEC_VALUE_TYPE
      Src: /src/glib/gobject/gbinding.c:1285,1
    - Dst: G_PARAM_SPEC_VALUE_TYPE
      Src: /src/glib/gobject/gbinding.c:1292,1
    - Dst: g_object_class_find_property
      Src: /src/glib/gobject/gbinding.c:1296,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gobject/gbinding.c:1296,1
    - Dst: g_critical
      Src: /src/glib/gobject/gbinding.c:1308,1
    - Dst: G_PARAM_SPEC_VALUE_TYPE
      Src: /src/glib/gobject/gbinding.c:1326,1
    - Dst: G_PARAM_SPEC_VALUE_TYPE
      Src: /src/glib/gobject/gbinding.c:1333,1
    - Dst: on_source_notify
      Src: /src/glib/gobject/gbinding.c:1363,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gbinding.c:1235,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gbinding.c:1234,1
    - Dst: g_param_spec_is_valid_name
      Src: /src/glib/gobject/gbinding.c:1238,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/gbinding.c:1301,1
    - Dst: g_object_new
      Src: /src/glib/gobject/gbinding.c:1337,1
    - Dst: g_assert
      Src: /src/glib/gobject/gbinding.c:1345,1
    - Dst: transform_func_new
      Src: /src/glib/gobject/gbinding.c:1355,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 100
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1219
    functionDepth: 0
    functionLinenumber: 1219
    functionLinenumberEnd: 1366
    functionName: g_object_bind_property_full
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - g_object_class_find_property
    - g_return_val_if_fail
    - G_OBJECT_TYPE_NAME
    - g_object_new
    - g_assert
    - G_IS_OBJECT
    - on_source_notify
    - g_clear_pointer
    - g_critical
    - g_strcmp0
    - G_OBJECT_GET_CLASS
    - transform_func_new
    - G_PARAM_SPEC_VALUE_TYPE
    - g_param_spec_is_valid_name
    - g_type_name
    linkageType: ''
    returnType: GBinding*
    signature: 'GBinding *g_object_bind_property_full (gpointer source, const gchar
      *source_property, gpointer target, const gchar *target_property, GBindingFlags
      flags, GBindingTransformFunc transform_to, GBindingTransformFunc transform_from,
      gpointer user_data, GDestroyNotify notify) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gbinding.c:446,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gbinding.c:449,1
    - Dst: g_value_type_compatible
      Src: /src/glib/gobject/gbinding.c:449,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gbinding.c:446,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gbinding.c:446,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gbinding.c:450,1
    - Dst: g_value_copy
      Src: /src/glib/gobject/gbinding.c:452,1
    - Dst: g_value_type_transformable
      Src: /src/glib/gobject/gbinding.c:456,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gbinding.c:456,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gbinding.c:457,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gbinding.c:467,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gbinding.c:466,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gbinding.c:467,1
    - Dst: g_critical
      Src: /src/glib/gobject/gbinding.c:463,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gbinding.c:466,1
    - Dst: g_value_copy
      Src: /src/glib/gobject/gbinding.c:472,1
    - Dst: g_value_transform
      Src: /src/glib/gobject/gbinding.c:459,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 4
    argNames:
    - binding
    - value_a
    - value_b
    - G_GNUC_UNUSED
    argTypes:
    - GBinding*
    - GValue*
    - GValue*
    - gpointer
    constantsTouched: []
    func_position:
      end: 474
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 474
    functionName: default_transform
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - G_VALUE_TYPE
    - g_value_type_transformable
    - g_critical
    - g_type_is_a
    - g_value_transform
    - g_value_type_compatible
    - g_value_copy
    - g_type_name
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean default_transform (GBinding *binding, const GValue
      *value_a, GValue *value_b, gpointer user_data G_GNUC_UNUSED) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gbinding.c:1121,1
    - Dst: G_IS_BINDING
      Src: /src/glib/gobject/gbinding.c:1121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1118
    functionDepth: 0
    functionLinenumber: 1118
    functionLinenumberEnd: 1124
    functionName: g_binding_get_source_property
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_BINDING
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_binding_get_source_property (GBinding *binding) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_rc_box_release_full
      Src: /src/glib/gobject/gbinding.c:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - func
    argTypes:
    - TransformFunc*
    constantsTouched: []
    func_position:
      end: 227
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 227
    functionName: transform_func_unref
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - g_atomic_rc_box_release_full
    linkageType: ''
    returnType: void
    signature: 'static void transform_func_unref (TransformFunc *func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/glib/gobject/gbinding.c:697,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 698
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 698
    functionName: is_canonical
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - strchr
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_canonical (const gchar *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gbinding.c:980,1
    - Dst: G_IS_BINDING
      Src: /src/glib/gobject/gbinding.c:980,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - binding
    argTypes:
    - GBinding*
    constantsTouched: []
    func_position:
      end: 983
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 983
    functionName: g_binding_get_flags
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_BINDING
    linkageType: ''
    returnType: GBindingFlags
    signature: 'GBindingFlags g_binding_get_flags (GBinding *binding) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gbinding.c:1140,1
    - Dst: G_IS_BINDING
      Src: /src/glib/gobject/gbinding.c:1140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1137
    functionDepth: 0
    functionLinenumber: 1137
    functionLinenumberEnd: 1143
    functionName: g_binding_get_target_property
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_BINDING
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_binding_get_target_property (GBinding *binding) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter_pointer
      Src: /src/glib/gobject/gbinding.c:124,1
    - Dst: g_once_init_leave_pointer
      Src: /src/glib/gobject/gbinding.c:135,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gbinding.c:134,1
    - Dst: g_flags_register_static
      Src: /src/glib/gobject/gbinding.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 139
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 139
    functionName: g_binding_flags_get_type
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - g_once_init_leave_pointer
    - g_flags_register_static
    - g_once_init_enter_pointer
    - g_intern_static_string
    linkageType: ''
    returnType: GType
    signature: 'GType g_binding_flags_get_type (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_rc_box_acquire
      Src: /src/glib/gobject/gbinding.c:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: binding_context_ref
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - g_atomic_rc_box_acquire
    linkageType: ''
    returnType: BindingContext*
    signature: 'static BindingContext *binding_context_ref (BindingContext *context) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: G_BINDING
      Src: /src/glib/gobject/gbinding.c:706,1
    - Dst: g_value_get_object
      Src: /src/glib/gobject/gbinding.c:715,1
    - Dst: g_weak_ref_set
      Src: /src/glib/gobject/gbinding.c:715,1
    - Dst: g_value_get_object
      Src: /src/glib/gobject/gbinding.c:711,1
    - Dst: g_weak_ref_set
      Src: /src/glib/gobject/gbinding.c:711,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/gbinding.c:722,1
    - Dst: is_canonical
      Src: /src/glib/gobject/gbinding.c:726,1
    - Dst: g_value_dup_string
      Src: /src/glib/gobject/gbinding.c:728,1
    - Dst: canonicalize_key
      Src: /src/glib/gobject/gbinding.c:729,1
    - Dst: g_intern_string
      Src: /src/glib/gobject/gbinding.c:738,1
    - Dst: g_free
      Src: /src/glib/gobject/gbinding.c:740,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/gbinding.c:749,1
    - Dst: g_value_get_flags
      Src: /src/glib/gobject/gbinding.c:745,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 25
    argCount: 4
    argNames:
    - gobject
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 752
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 752
    functionName: g_binding_set_property
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - is_canonical
    - canonicalize_key
    - g_value_get_flags
    - g_value_dup_string
    - g_intern_string
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_weak_ref_set
    - g_value_get_string
    - g_value_get_object
    - g_free
    - G_BINDING
    linkageType: ''
    returnType: void
    signature: 'static void g_binding_set_property (GObject *gobject, guint prop_id,
      const GValue *value, GParamSpec *pspec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gobject/gbinding.c:1448,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gbinding.c:1454,1
    - Dst: g_value_set_boxed
      Src: /src/glib/gobject/gbinding.c:1452,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gbinding.c:1451,1
    - Dst: g_value_set_object
      Src: /src/glib/gobject/gbinding.c:1449,1
    - Dst: g_value_set_boxed
      Src: /src/glib/gobject/gbinding.c:1455,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gbinding.c:1457,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gobject/gbinding.c:1458,1
    - Dst: g_closure_invoke
      Src: /src/glib/gobject/gbinding.c:1460,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gobject/gbinding.c:1462,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gbinding.c:1472,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gbinding.c:1473,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gbinding.c:1474,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gbinding.c:1475,1
    - Dst: g_assert
      Src: /src/glib/gobject/gbinding.c:1467,1
    - Dst: g_value_copy
      Src: /src/glib/gobject/gbinding.c:1469,1
    - Dst: g_value_get_boxed
      Src: /src/glib/gobject/gbinding.c:1465,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - binding
    - source
    - target
    - data
    argTypes:
    - GBinding*
    - GValue*
    - GValue*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1478
      start: 1437
    functionDepth: 0
    functionLinenumber: 1437
    functionLinenumberEnd: 1478
    functionName: bind_with_closures_transform_to
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - g_value_get_boolean
    - g_value_set_boolean
    - g_assert
    - g_closure_invoke
    - g_value_init
    - g_value_set_boxed
    - g_value_set_object
    - g_value_get_boxed
    - g_value_copy
    - g_value_unset
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean bind_with_closures_transform_to (GBinding *binding,
      const GValue *source, GValue *target, gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gbinding.c:1073,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/gbinding.c:1075,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gbinding.c:1079,1
    - Dst: G_IS_BINDING
      Src: /src/glib/gobject/gbinding.c:1073,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1068
    functionDepth: 0
    functionLinenumber: 1068
    functionLinenumberEnd: 1082
    functionName: g_binding_get_target
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_weak_ref_get
    - g_object_unref
    - G_IS_BINDING
    linkageType: ''
    returnType: GObject*
    signature: 'GObject *g_binding_get_target (GBinding *binding) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_bind_property_full
      Src: /src/glib/gobject/gbinding.c:1423,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1414
    functionDepth: 0
    functionLinenumber: 1414
    functionLinenumberEnd: 1429
    functionName: g_object_bind_property
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - g_object_bind_property_full
    linkageType: ''
    returnType: GBinding*
    signature: 'GBinding *g_object_bind_property (gpointer source, const gchar *source_property,
      gpointer target, const gchar *target_property, GBindingFlags flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_rc_box_acquire
      Src: /src/glib/gobject/gbinding.c:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: transform_func_ref
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - g_atomic_rc_box_acquire
    linkageType: ''
    returnType: TransformFunc*
    signature: 'static TransformFunc *transform_func_ref (TransformFunc *func) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/gbinding.c:297,1
    - Dst: binding_context_unref
      Src: /src/glib/gobject/gbinding.c:317,1
    - Dst: g_object_weak_unref
      Src: /src/glib/gobject/gbinding.c:316,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gobject/gbinding.c:314,1
    - Dst: g_assert
      Src: /src/glib/gobject/gbinding.c:298,1
    - Dst: g_weak_ref_set
      Src: /src/glib/gobject/gbinding.c:321,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gobject/gbinding.c:334,1
    - Dst: g_weak_ref_set
      Src: /src/glib/gobject/gbinding.c:338,1
    - Dst: g_object_weak_unref
      Src: /src/glib/gobject/gbinding.c:343,1
    - Dst: binding_context_unref
      Src: /src/glib/gobject/gbinding.c:344,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 4
    argNames:
    - context
    - binding
    - source
    - target
    argTypes:
    - BindingContext*
    - GBinding*
    - GObject*
    - GObject*
    constantsTouched: []
    func_position:
      end: 358
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 358
    functionName: unbind_internal_locked
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - g_signal_handler_disconnect
    - g_assert
    - g_weak_ref_set
    - binding_context_unref
    - g_object_weak_unref
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean unbind_internal_locked (BindingContext *context, GBinding
      *binding, GObject *source, GObject *target) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/gbinding.c:484,1
    - Dst: G_VALUE_HOLDS_BOOLEAN
      Src: /src/glib/gobject/gbinding.c:485,1
    - Dst: G_VALUE_HOLDS_BOOLEAN
      Src: /src/glib/gobject/gbinding.c:484,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gobject/gbinding.c:487,1
    - Dst: g_assert
      Src: /src/glib/gobject/gbinding.c:485,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gobject/gbinding.c:490,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - binding
    - value_a
    - value_b
    - G_GNUC_UNUSED
    argTypes:
    - GBinding*
    - GValue*
    - GValue*
    - gpointer
    constantsTouched: []
    func_position:
      end: 493
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 493
    functionName: default_invert_boolean_transform
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_value_set_boolean
    - G_VALUE_HOLDS_BOOLEAN
    - g_value_get_boolean
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean default_invert_boolean_transform (GBinding *binding,
      const GValue *value_a, GValue *value_b, gpointer user_data G_GNUC_UNUSED) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: transform_func_ref
      Src: /src/glib/gobject/gbinding.c:601,1
    - Dst: G_PARAM_SPEC_VALUE_TYPE
      Src: /src/glib/gobject/gbinding.c:604,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gbinding.c:625,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/gbinding.c:576,1
    - Dst: g_mutex_lock
      Src: /src/glib/gobject/gbinding.c:594,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/gbinding.c:586,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gbinding.c:604,1
    - Dst: G_PARAM_SPEC_VALUE_TYPE
      Src: /src/glib/gobject/gbinding.c:605,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gbinding.c:628,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gbinding.c:589,1
    - Dst: transform_func_unref
      Src: /src/glib/gobject/gbinding.c:613,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gbinding.c:605,1
    - Dst: g_object_set_property
      Src: /src/glib/gobject/gbinding.c:620,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gbinding.c:629,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gbinding.c:582,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/gbinding.c:598,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/gbinding.c:602,1
    - Dst: g_object_get_property
      Src: /src/glib/gobject/gbinding.c:607,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gbinding.c:626,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/gbinding.c:619,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 3
    argNames:
    - target
    - pspec
    - context
    argTypes:
    - GObject*
    - GParamSpec*
    - BindingContext*
    constantsTouched: []
    func_position:
      end: 630
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 630
    functionName: on_target_notify
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - transform_func_ref
    - g_weak_ref_get
    - g_object_set_property
    - g_object_unref
    - g_mutex_unlock
    - g_mutex_lock
    - transform_func_unref
    - g_value_init
    - g_object_get_property
    - g_param_value_validate
    - G_PARAM_SPEC_VALUE_TYPE
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void on_target_notify (GObject *target, GParamSpec *pspec,
      BindingContext *context) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 691
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 691
    functionName: canonicalize_key
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void canonicalize_key (gchar *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/gbinding.c:870,1
    - Dst: g_signal_lookup
      Src: /src/glib/gobject/gbinding.c:872,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gobject/gbinding.c:887,1
    - Dst: g_param_spec_object
      Src: /src/glib/gobject/gbinding.c:888,1
    - Dst: g_assert
      Src: /src/glib/gobject/gbinding.c:873,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gobject/gbinding.c:900,1
    - Dst: g_param_spec_object
      Src: /src/glib/gobject/gbinding.c:901,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gobject/gbinding.c:917,1
    - Dst: g_param_spec_string
      Src: /src/glib/gobject/gbinding.c:918,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gobject/gbinding.c:934,1
    - Dst: g_param_spec_string
      Src: /src/glib/gobject/gbinding.c:935,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gobject/gbinding.c:947,1
    - Dst: g_param_spec_flags
      Src: /src/glib/gobject/gbinding.c:948,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GBindingClass*
    constantsTouched: []
    func_position:
      end: 954
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 954
    functionName: g_binding_class_init
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_param_spec_object
    - g_object_class_install_property
    - G_OBJECT_CLASS
    - g_signal_lookup
    - g_param_spec_string
    - g_param_spec_flags
    linkageType: ''
    returnType: void
    signature: 'static void g_binding_class_init (GBindingClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_rc_box_new0
      Src: /src/glib/gobject/gbinding.c:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 208
    functionName: transform_func_new
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - g_atomic_rc_box_new0
    linkageType: ''
    returnType: TransformFunc*
    signature: 'static TransformFunc *transform_func_new (GBindingTransformFunc transform_s2t,
      GBindingTransformFunc transform_t2s, gpointer transform_data, GDestroyNotify
      destroy_notify) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - func
    argTypes:
    - TransformFunc*
    constantsTouched: []
    func_position:
      end: 221
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 221
    functionName: transform_func_clear
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void transform_func_clear (TransformFunc *func) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_object_set_property
      Src: /src/glib/gobject/gbinding.c:552,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gbinding.c:561,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/gbinding.c:507,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gbinding.c:513,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gbinding.c:520,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/gbinding.c:529,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/gbinding.c:533,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gbinding.c:535,1
    - Dst: G_PARAM_SPEC_VALUE_TYPE
      Src: /src/glib/gobject/gbinding.c:535,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/gbinding.c:551,1
    - Dst: transform_func_unref
      Src: /src/glib/gobject/gbinding.c:545,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gbinding.c:558,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gbinding.c:557,1
    - Dst: g_mutex_lock
      Src: /src/glib/gobject/gbinding.c:525,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/gbinding.c:517,1
    - Dst: transform_func_ref
      Src: /src/glib/gobject/gbinding.c:532,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gbinding.c:536,1
    - Dst: g_object_get_property
      Src: /src/glib/gobject/gbinding.c:538,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gbinding.c:560,1
    - Dst: G_PARAM_SPEC_VALUE_TYPE
      Src: /src/glib/gobject/gbinding.c:536,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 3
    argNames:
    - source
    - pspec
    - context
    argTypes:
    - GObject*
    - GParamSpec*
    - BindingContext*
    constantsTouched: []
    func_position:
      end: 562
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 562
    functionName: on_source_notify
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - transform_func_ref
    - g_weak_ref_get
    - g_object_set_property
    - g_object_unref
    - g_mutex_unlock
    - g_mutex_lock
    - transform_func_unref
    - g_value_init
    - g_object_get_property
    - g_param_value_validate
    - G_PARAM_SPEC_VALUE_TYPE
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void on_source_notify (GObject *source, GParamSpec *pspec,
      BindingContext *context) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gobject/gbinding.c:641,1
    - Dst: unbind_internal_locked
      Src: /src/glib/gobject/gbinding.c:648,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/gbinding.c:646,1
    - Dst: g_steal_pointer
      Src: /src/glib/gobject/gbinding.c:643,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/gbinding.c:645,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/gbinding.c:650,1
    - Dst: g_clear_object
      Src: /src/glib/gobject/gbinding.c:654,1
    - Dst: g_clear_object
      Src: /src/glib/gobject/gbinding.c:655,1
    - Dst: g_clear_pointer
      Src: /src/glib/gobject/gbinding.c:657,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gbinding.c:660,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - binding
    - unref_binding
    argTypes:
    - GBinding*
    - gboolean
    constantsTouched: []
    func_position:
      end: 661
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 661
    functionName: g_binding_unbind_internal
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_weak_ref_get
    - g_object_unref
    - g_mutex_unlock
    - g_mutex_lock
    - unbind_internal_locked
    - g_clear_pointer
    - g_clear_object
    linkageType: ''
    returnType: void
    signature: 'static inline void g_binding_unbind_internal (GBinding *binding, gboolean
      unref_binding) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_init
      Src: /src/glib/gobject/gbinding.c:959,1
    - Dst: g_weak_ref_init
      Src: /src/glib/gobject/gbinding.c:963,1
    - Dst: g_atomic_rc_box_new0
      Src: /src/glib/gobject/gbinding.c:961,1
    - Dst: g_weak_ref_init
      Src: /src/glib/gobject/gbinding.c:964,1
    - Dst: g_weak_ref_init
      Src: /src/glib/gobject/gbinding.c:962,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - binding
    argTypes:
    - GBinding*
    constantsTouched: []
    func_position:
      end: 965
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 965
    functionName: g_binding_init
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - g_mutex_init
    - g_weak_ref_init
    - g_atomic_rc_box_new0
    linkageType: ''
    returnType: void
    signature: 'static void g_binding_init (GBinding *binding) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_BINDING
      Src: /src/glib/gobject/gbinding.c:666,1
    - Dst: binding_context_unref
      Src: /src/glib/gobject/gbinding.c:670,1
    - Dst: g_mutex_clear
      Src: /src/glib/gobject/gbinding.c:672,1
    - Dst: g_binding_unbind_internal
      Src: /src/glib/gobject/gbinding.c:668,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/gbinding.c:674,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - gobject
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 675
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 675
    functionName: g_binding_finalize
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - g_mutex_clear
    - G_OBJECT_CLASS
    - binding_context_unref
    - g_binding_unbind_internal
    - G_BINDING
    linkageType: ''
    returnType: void
    signature: 'static void g_binding_finalize (GObject *gobject) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gbinding.c:1012,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/gbinding.c:1014,1
    - Dst: G_IS_BINDING
      Src: /src/glib/gobject/gbinding.c:1012,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gbinding.c:1018,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1021
    functionName: g_binding_get_source
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_weak_ref_get
    - g_object_unref
    - G_IS_BINDING
    linkageType: ''
    returnType: GObject*
    signature: 'GObject *g_binding_get_source (GBinding *binding) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gbinding.c:1166,1
    - Dst: G_IS_BINDING
      Src: /src/glib/gobject/gbinding.c:1166,1
    - Dst: g_binding_unbind_internal
      Src: /src/glib/gobject/gbinding.c:1168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - binding
    argTypes:
    - GBinding*
    constantsTouched: []
    func_position:
      end: 1169
      start: 1163
    functionDepth: 0
    functionLinenumber: 1163
    functionLinenumberEnd: 1169
    functionName: g_binding_unbind
    functionSourceFile: /src/glib/gobject/gbinding.c
    functionUses: []
    functionsReached:
    - g_binding_unbind_internal
    - G_IS_BINDING
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_binding_unbind (GBinding *binding) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_get_instance_private
      Src: /src/glib/gobject/gobject.c:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 251
    functionName: object_get_optional_flags_p
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_object_get_instance_private
    linkageType: ''
    returnType: G_ALWAYS_INLINE*
    signature: 'G_ALWAYS_INLINE static inline guint *object_get_optional_flags_p (GObject
      *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gobject/gobject.c:667,1
    - Dst: g_datalist_id_set_data_full
      Src: /src/glib/gobject/gobject.c:673,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 677
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 677
    functionName: g_object_notify_queue_create_queue_frozen
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_datalist_id_set_data_full
    - g_new0
    linkageType: ''
    returnType: GObjectNotifyQueue*
    signature: 'static GObjectNotifyQueue *g_object_notify_queue_create_queue_frozen
      (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:879,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gobject.c:887,1
    - Dst: g_assert
      Src: /src/glib/gobject/gobject.c:886,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gobject.c:885,1
    - Dst: g_type_register_fundamental
      Src: /src/glib/gobject/gobject.c:885,1
    - Dst: g_hash_table_new
      Src: /src/glib/gobject/gobject.c:899,1
    - Dst: g_atexit
      Src: /src/glib/gobject/gobject.c:901,1
    - Dst: g_type_add_instance_private
      Src: /src/glib/gobject/gobject.c:908,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 910
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 910
    functionName: _g_object_type_init
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_value_register_transform_func
    - g_return_if_fail
    - g_assert
    - g_intern_static_string
    - g_atexit
    - g_hash_table_new
    - g_type_add_instance_private
    - g_type_register_fundamental
    linkageType: ''
    returnType: void
    signature: 'void _g_object_type_init (void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:3109,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:3109,1
    - Dst: g_object_notify_queue_freeze
      Src: /src/glib/gobject/gobject.c:3114,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/gobject.c:3111,1
    - Dst: _g_object_has_notify_handler
      Src: /src/glib/gobject/gobject.c:3113,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gobject/gobject.c:3116,1
    - Dst: find_pspec
      Src: /src/glib/gobject/gobject.c:3126,1
    - Dst: g_object_set_is_valid_property
      Src: /src/glib/gobject/gobject.c:3128,1
    - Dst: G_VALUE_COLLECT_INIT2
      Src: /src/glib/gobject/gobject.c:3131,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:3134,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gobject.c:3136,1
    - Dst: g_object_notify_queue_thaw
      Src: /src/glib/gobject/gobject.c:3152,1
    - Dst: object_set_property
      Src: /src/glib/gobject/gobject.c:3140,1
    - Dst: g_free
      Src: /src/glib/gobject/gobject.c:3135,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gobject.c:3154,1
    - Dst: va_arg
      Src: /src/glib/gobject/gobject.c:3148,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 3
    argNames:
    - object
    - first_property_name
    - var_args
    argTypes:
    - GObject*
    - gchar*
    - va_list
    constantsTouched: []
    func_position:
      end: 3155
      start: 3100
    functionDepth: 0
    functionLinenumber: 3100
    functionLinenumberEnd: 3155
    functionName: g_object_set_valist
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - object_set_property
    - G_VALUE_COLLECT_INIT2
    - g_object_notify_queue_thaw
    - g_object_unref
    - g_object_notify_queue_freeze
    - g_return_if_fail
    - G_IS_OBJECT
    - find_pspec
    - va_arg
    - g_critical
    - g_object_ref
    - G_OBJECT_GET_CLASS
    - _g_object_has_notify_handler
    - g_value_unset
    - g_free
    - g_object_set_is_valid_property
    linkageType: ''
    returnType: void
    signature: "void g_object_set_valist (GObject\t *object,\t\t const gchar *first_property_name,\t\
      \t va_list\t var_args) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:4732,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:4732,1
    - Dst: g_datalist_id_remove_no_notify
      Src: /src/glib/gobject/gobject.c:4735,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:4733,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - object
    - quark
    argTypes:
    - GObject*
    - GQuark
    constantsTouched: []
    func_position:
      end: 4736
      start: 4728
    functionDepth: 0
    functionLinenumber: 4728
    functionLinenumberEnd: 4736
    functionName: g_object_steal_qdata
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_datalist_id_remove_no_notify
    - G_IS_OBJECT
    linkageType: ''
    returnType: gpointer
    signature: "gpointer g_object_steal_qdata (GObject *object,\t\t GQuark quark) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: object_bit_lock
      Src: /src/glib/gobject/gobject.c:684,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/gobject.c:696,1
    - Dst: g_object_notify_queue_create_queue_frozen
      Src: /src/glib/gobject/gobject.c:688,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:693,1
    - Dst: g_datalist_id_get_data
      Src: /src/glib/gobject/gobject.c:685,1
    - Dst: object_bit_unlock
      Src: /src/glib/gobject/gobject.c:701,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 704
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 704
    functionName: g_object_notify_queue_freeze
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_object_notify_queue_create_queue_frozen
    - object_bit_lock
    - G_OBJECT_TYPE_NAME
    - g_critical
    - object_bit_unlock
    - g_datalist_id_get_data
    linkageType: ''
    returnType: GObjectNotifyQueue*
    signature: 'static GObjectNotifyQueue *g_object_notify_queue_freeze (GObject *object) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: object_in_construction
      Src: /src/glib/gobject/gobject.c:1782,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/gobject.c:1785,1
    - Dst: floating_check
      Src: /src/glib/gobject/gobject.c:1788,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:1790,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:1784,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/gobject.c:1794,1
    - Dst: g_datalist_clear
      Src: /src/glib/gobject/gobject.c:1798,1
    - Dst: GOBJECT_IF_DEBUG
      Src: /src/glib/gobject/gobject.c:1800,1
    - Dst: G_LOCK
      Src: /src/glib/gobject/gobject.c:1802,1
    - Dst: g_assert
      Src: /src/glib/gobject/gobject.c:1803,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gobject/gobject.c:1804,1
    - Dst: G_UNLOCK
      Src: /src/glib/gobject/gobject.c:1806,1
    - Dst: g_hash_table_contains
      Src: /src/glib/gobject/gobject.c:1803,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 1808
      start: 1778
    functionDepth: 0
    functionLinenumber: 1778
    functionLinenumberEnd: 1808
    functionName: g_object_finalize
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - floating_check
    - G_OBJECT_TYPE_NAME
    - g_hash_table_remove
    - g_assert
    - G_UNLOCK
    - g_datalist_clear
    - g_critical
    - object_in_construction
    - g_hash_table_contains
    - GOBJECT_IF_DEBUG
    - G_LOCK
    linkageType: ''
    returnType: void
    signature: 'static void g_object_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOBJECT_IF_DEBUG
      Src: /src/glib/gobject/gobject.c:838,1
    - Dst: g_message
      Src: /src/glib/gobject/gobject.c:841,1
    - Dst: G_UNLOCK
      Src: /src/glib/gobject/gobject.c:843,1
    - Dst: g_hash_table_foreach
      Src: /src/glib/gobject/gobject.c:842,1
    - Dst: G_LOCK
      Src: /src/glib/gobject/gobject.c:840,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 845
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 845
    functionName: debug_objects_atexit
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_message
    - G_UNLOCK
    - GOBJECT_IF_DEBUG
    - G_LOCK
    - g_hash_table_foreach
    linkageType: ''
    returnType: void
    signature: 'static void debug_objects_atexit (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:3063,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:3063,1
    - Dst: _g_object_has_notify_handler
      Src: /src/glib/gobject/gobject.c:3072,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/gobject.c:3068,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gobject/gobject.c:3070,1
    - Dst: g_object_notify_queue_freeze
      Src: /src/glib/gobject/gobject.c:3073,1
    - Dst: find_pspec
      Src: /src/glib/gobject/gobject.c:3077,1
    - Dst: g_object_set_is_valid_property
      Src: /src/glib/gobject/gobject.c:3079,1
    - Dst: object_set_property
      Src: /src/glib/gobject/gobject.c:3082,1
    - Dst: g_object_notify_queue_thaw
      Src: /src/glib/gobject/gobject.c:3086,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gobject.c:3088,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 4
    argNames:
    - object
    - n_properties
    - names
    - values
    argTypes:
    - GObject*
    - guint
    - gchar*
    - GValue
    constantsTouched: []
    func_position:
      end: 3089
      start: 3052
    functionDepth: 0
    functionLinenumber: 3052
    functionLinenumberEnd: 3089
    functionName: g_object_setv
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - object_set_property
    - g_object_notify_queue_thaw
    - g_object_unref
    - g_return_if_fail
    - g_object_notify_queue_freeze
    - G_IS_OBJECT
    - find_pspec
    - g_object_ref
    - G_OBJECT_GET_CLASS
    - _g_object_has_notify_handler
    - g_object_set_is_valid_property
    linkageType: ''
    returnType: void
    signature: 'void g_object_setv (GObject *object, guint n_properties, const gchar
      *names[], const GValue values[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:4678,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:4679,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:4678,1
    - Dst: g_datalist_id_set_data_full
      Src: /src/glib/gobject/gobject.c:4681,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - object
    - quark
    - data
    - destroy
    argTypes:
    - GObject*
    - GQuark
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 4683
      start: 4672
    functionDepth: 0
    functionLinenumber: 4672
    functionLinenumberEnd: 4683
    functionName: g_object_set_qdata_full
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_datalist_id_set_data_full
    - G_IS_OBJECT
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_object_set_qdata_full (GObject *object,\t\t\t GQuark\t\tquark,\t\
      \t\t gpointer\tdata,\t\t\t GDestroyNotify destroy) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: object_set_optional_flags
      Src: /src/glib/gobject/gobject.c:1674,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - object
    - signal_id
    argTypes:
    - GObject*
    - guint
    constantsTouched: []
    func_position:
      end: 1675
      start: 1667
    functionDepth: 0
    functionLinenumber: 1667
    functionLinenumberEnd: 1675
    functionName: _g_object_set_has_signal_handler
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - object_set_optional_flags
    linkageType: ''
    returnType: void
    signature: 'void _g_object_set_has_signal_handler (GObject *object, guint signal_id) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gobject.c:1764,1
    - Dst: g_getenv
      Src: /src/glib/gobject/gobject.c:1766,1
    - Dst: g_object_is_floating
      Src: /src/glib/gobject/gobject.c:1772,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 1775
      start: 1759
    functionDepth: 0
    functionLinenumber: 1759
    functionLinenumberEnd: 1775
    functionName: floating_check
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_getenv
    - g_object_is_floating
    - G_UNLIKELY
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean floating_check (GObject *object) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:3247,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gobject/gobject.c:3251,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/gobject.c:3249,1
    - Dst: find_pspec
      Src: /src/glib/gobject/gobject.c:3261,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:3247,1
    - Dst: g_object_get_is_valid_property
      Src: /src/glib/gobject/gobject.c:3263,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gobject.c:3266,1
    - Dst: object_get_property
      Src: /src/glib/gobject/gobject.c:3268,1
    - Dst: G_VALUE_LCOPY
      Src: /src/glib/gobject/gobject.c:3270,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:3273,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gobject.c:3279,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gobject.c:3275,1
    - Dst: va_arg
      Src: /src/glib/gobject/gobject.c:3281,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gobject.c:3284,1
    - Dst: g_free
      Src: /src/glib/gobject/gobject.c:3274,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - object
    - first_property_name
    - var_args
    argTypes:
    - GObject*
    - gchar*
    - va_list
    constantsTouched: []
    func_position:
      end: 3285
      start: 3239
    functionDepth: 0
    functionLinenumber: 3239
    functionLinenumberEnd: 3285
    functionName: g_object_get_valist
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_object_get_is_valid_property
    - g_object_unref
    - g_return_if_fail
    - object_get_property
    - G_IS_OBJECT
    - g_value_init
    - G_VALUE_LCOPY
    - find_pspec
    - va_arg
    - g_critical
    - g_object_ref
    - G_OBJECT_GET_CLASS
    - g_free
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: "void g_object_get_valist (GObject\t *object,\t\t const gchar *first_property_name,\t\
      \t va_list\t var_args) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:4868,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:4868,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:4869,1
    - Dst: g_quark_from_string
      Src: /src/glib/gobject/gobject.c:4872,1
    - Dst: g_datalist_id_replace_data
      Src: /src/glib/gobject/gobject.c:4871,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 6
    argNames:
    - object
    - key
    - oldval
    - newval
    - destroy
    - old_destroy
    argTypes:
    - GObject*
    - gchar*
    - gpointer
    - gpointer
    - GDestroyNotify
    - GDestroyNotify*
    constantsTouched: []
    func_position:
      end: 4875
      start: 4860
    functionDepth: 0
    functionLinenumber: 4860
    functionLinenumberEnd: 4875
    functionName: g_object_replace_data
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_datalist_id_replace_data
    - g_return_val_if_fail
    - g_quark_from_string
    - G_IS_OBJECT
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_object_replace_data (GObject *object, const gchar *key,
      gpointer oldval, gpointer newval, GDestroyNotify destroy, GDestroyNotify *old_destroy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:5115,1
    - Dst: G_VALUE_HOLDS_OBJECT
      Src: /src/glib/gobject/gobject.c:5115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 5118
      start: 5112
    functionDepth: 0
    functionLinenumber: 5112
    functionLinenumberEnd: 5118
    functionName: g_value_get_object
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - G_VALUE_HOLDS_OBJECT
    - g_return_val_if_fail
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_value_get_object (const GValue *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/gobject.c:627,1
    - Dst: object_get_optional_flags_p
      Src: /src/glib/gobject/gobject.c:632,1
    - Dst: g_bit_lock
      Src: /src/glib/gobject/gobject.c:632,1
    - Dst: g_assert
      Src: /src/glib/gobject/gobject.c:628,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - object
    - lock_bit
    argTypes:
    - GObject*
    - guint
    constantsTouched: []
    func_position:
      end: 633
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 633
    functionName: object_bit_lock
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_bit_lock
    - object_get_optional_flags_p
    linkageType: ''
    returnType: void
    signature: 'static void object_bit_lock (GObject *object, guint lock_bit) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: object_get_optional_flags
      Src: /src/glib/gobject/gobject.c:1680,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 1681
      start: 1677
    functionDepth: 0
    functionLinenumber: 1677
    functionLinenumberEnd: 1681
    functionName: object_in_construction
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - object_get_optional_flags
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean object_in_construction (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:4821,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:4821,1
    - Dst: g_quark_from_string
      Src: /src/glib/gobject/gobject.c:4825,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:4822,1
    - Dst: g_datalist_id_dup_data
      Src: /src/glib/gobject/gobject.c:4824,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - object
    - key
    - dup_func
    - user_data
    argTypes:
    - GObject*
    - gchar*
    - GDuplicateFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 4827
      start: 4815
    functionDepth: 0
    functionLinenumber: 4815
    functionLinenumberEnd: 4827
    functionName: g_object_dup_data
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_datalist_id_dup_data
    - g_quark_from_string
    - g_return_val_if_fail
    - G_IS_OBJECT
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_object_dup_data (GObject *object, const gchar *key, GDuplicateFunc
      dup_func, gpointer user_data) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CLASS_HAS_CUSTOM_CONSTRUCTOR
      Src: /src/glib/gobject/gobject.c:2602,1
    - Dst: g_object_new_with_custom_constructor
      Src: /src/glib/gobject/gobject.c:2603,1
    - Dst: g_type_create_instance
      Src: /src/glib/gobject/gobject.c:2605,1
    - Dst: g_object_is_aligned
      Src: /src/glib/gobject/gobject.c:2607,1
    - Dst: g_assert
      Src: /src/glib/gobject/gobject.c:2607,1
    - Dst: unset_object_in_construction
      Src: /src/glib/gobject/gobject.c:2609,1
    - Dst: CLASS_HAS_PROPS
      Src: /src/glib/gobject/gobject.c:2611,1
    - Dst: _g_object_has_notify_handler
      Src: /src/glib/gobject/gobject.c:2615,1
    - Dst: g_datalist_id_get_data
      Src: /src/glib/gobject/gobject.c:2620,1
    - Dst: g_object_notify_queue_freeze
      Src: /src/glib/gobject/gobject.c:2622,1
    - Dst: object_set_property
      Src: /src/glib/gobject/gobject.c:2663,1
    - Dst: object_set_property
      Src: /src/glib/gobject/gobject.c:2650,1
    - Dst: g_object_notify_queue_thaw
      Src: /src/glib/gobject/gobject.c:2666,1
    - Dst: CLASS_HAS_CUSTOM_CONSTRUCTED
      Src: /src/glib/gobject/gobject.c:2655,1
    - Dst: g_param_spec_get_default_value
      Src: /src/glib/gobject/gobject.c:2648,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 41
    argCount: 3
    argNames:
    - class
    - params
    - n_params
    argTypes:
    - GObjectClass*
    - GObjectConstructParam*
    - guint
    constantsTouched: []
    func_position:
      end: 2669
      start: 2593
    functionDepth: 0
    functionLinenumber: 2593
    functionLinenumberEnd: 2669
    functionName: g_object_new_internal
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - CLASS_HAS_CUSTOM_CONSTRUCTOR
    - g_datalist_id_get_data
    - object_set_property
    - g_object_notify_queue_freeze
    - g_assert
    - CLASS_HAS_CUSTOM_CONSTRUCTED
    - g_param_spec_get_default_value
    - g_object_new_with_custom_constructor
    - unset_object_in_construction
    - g_object_notify_queue_thaw
    - _g_object_has_notify_handler
    - CLASS_HAS_PROPS
    - g_type_create_instance
    - g_object_is_aligned
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer g_object_new_internal (GObjectClass *class, GObjectConstructParam
      *params, guint n_params) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:3784,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:3784,1
    - Dst: g_object_weak_unref
      Src: /src/glib/gobject/gobject.c:3787,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:3785,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - object
    - weak_pointer_location
    argTypes:
    - GObject*
    - gpointer*
    constantsTouched: []
    func_position:
      end: 3790
      start: 3780
    functionDepth: 0
    functionLinenumber: 3780
    functionLinenumberEnd: 3790
    functionName: g_object_remove_weak_pointer
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_object_weak_unref
    - G_IS_OBJECT
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_object_remove_weak_pointer (GObject *object, gpointer *weak_pointer_location) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gobject.c:2681,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject.c:2684,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:2683,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gobject.c:2688,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:2690,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject.c:2691,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gobject.c:2695,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gobject.c:2700,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:2702,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject.c:2703,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 5
    argNames:
    - object_type
    - pspec
    - name
    - params
    - n_params
    argTypes:
    - GType
    - GParamSpec*
    - char*
    - GObjectConstructParam*
    - guint
    constantsTouched: []
    func_position:
      end: 2708
      start: 2672
    functionDepth: 0
    functionLinenumber: 2672
    functionLinenumberEnd: 2708
    functionName: g_object_new_is_valid_property
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_critical
    - G_UNLIKELY
    - g_type_name
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean g_object_new_is_valid_property (GType object_type,
      GParamSpec *pspec, const char *name, GObjectConstructParam *params, guint n_params) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_pointer_get
      Src: /src/glib/gobject/gobject.c:3800,1
    - Dst: g_atomic_pointer_compare_and_exchange_full
      Src: /src/glib/gobject/gobject.c:3801,1
    - Dst: g_atomic_pointer_compare_and_exchange_full
      Src: /src/glib/gobject/gobject.c:3809,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/gobject/gobject.c:3816,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/gobject/gobject.c:3808,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - object
    - job
    argTypes:
    - GObject*
    - gint
    constantsTouched: []
    func_position:
      end: 3818
      start: 3792
    functionDepth: 0
    functionLinenumber: 3792
    functionLinenumberEnd: 3818
    functionName: object_floating_flag_handler
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_atomic_pointer_get
    - g_atomic_pointer_compare_and_exchange_full
    linkageType: ''
    returnType: guint
    signature: 'static guint object_floating_flag_handler (GObject *object, gint job) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new_with_properties
      Src: /src/glib/gobject/gobject.c:2414,1
    - Dst: g_object_new_valist
      Src: /src/glib/gobject/gobject.c:2417,1
    - Dst: va_start
      Src: /src/glib/gobject/gobject.c:2416,1
    - Dst: va_end
      Src: /src/glib/gobject/gobject.c:2418,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - object_type
    - first_property_name
    - '...'
    argTypes:
    - GType
    - gchar*
    constantsTouched: []
    func_position:
      end: 2421
      start: 2404
    functionDepth: 0
    functionLinenumber: 2404
    functionLinenumberEnd: 2421
    functionName: g_object_new
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_object_new_with_properties
    - g_object_new_valist
    - va_start
    - va_end
    linkageType: ''
    returnType: gpointer
    signature: "gpointer g_object_new (GType\t object_type,\t const gchar *first_property_name,\t\
      \ ...) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/gobject/gobject.c:3511,1
    - Dst: g_signal_connect_data
      Src: /src/glib/gobject/gobject.c:3518,1
    - Dst: strncmp
      Src: /src/glib/gobject/gobject.c:3521,1
    - Dst: strncmp
      Src: /src/glib/gobject/gobject.c:3522,1
    - Dst: strncmp
      Src: /src/glib/gobject/gobject.c:3527,1
    - Dst: strncmp
      Src: /src/glib/gobject/gobject.c:3531,1
    - Dst: strncmp
      Src: /src/glib/gobject/gobject.c:3526,1
    - Dst: g_signal_connect_object
      Src: /src/glib/gobject/gobject.c:3523,1
    - Dst: strncmp
      Src: /src/glib/gobject/gobject.c:3532,1
    - Dst: g_signal_connect_data
      Src: /src/glib/gobject/gobject.c:3528,1
    - Dst: va_arg
      Src: /src/glib/gobject/gobject.c:3561,1
    - Dst: va_arg
      Src: /src/glib/gobject/gobject.c:3514,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:3558,1
    - Dst: g_signal_connect_object
      Src: /src/glib/gobject/gobject.c:3553,1
    - Dst: g_signal_connect_data
      Src: /src/glib/gobject/gobject.c:3548,1
    - Dst: strncmp
      Src: /src/glib/gobject/gobject.c:3547,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:3508,1
    - Dst: va_arg
      Src: /src/glib/gobject/gobject.c:3515,1
    - Dst: strncmp
      Src: /src/glib/gobject/gobject.c:3537,1
    - Dst: strncmp
      Src: /src/glib/gobject/gobject.c:3536,1
    - Dst: g_signal_connect_object
      Src: /src/glib/gobject/gobject.c:3533,1
    - Dst: g_signal_connect_data
      Src: /src/glib/gobject/gobject.c:3538,1
    - Dst: strncmp
      Src: /src/glib/gobject/gobject.c:3541,1
    - Dst: strncmp
      Src: /src/glib/gobject/gobject.c:3542,1
    - Dst: g_signal_connect_object
      Src: /src/glib/gobject/gobject.c:3543,1
    - Dst: strncmp
      Src: /src/glib/gobject/gobject.c:3546,1
    - Dst: strncmp
      Src: /src/glib/gobject/gobject.c:3551,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:3508,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:3509,1
    - Dst: strncmp
      Src: /src/glib/gobject/gobject.c:3517,1
    - Dst: strncmp
      Src: /src/glib/gobject/gobject.c:3552,1
    - Dst: va_end
      Src: /src/glib/gobject/gobject.c:3563,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 69
    argCount: 2
    argNames:
    - _object
    - signal_spec
    - '...'
    argTypes:
    - gpointer
    - gchar*
    constantsTouched: []
    func_position:
      end: 3566
      start: 3500
    functionDepth: 0
    functionLinenumber: 3500
    functionLinenumberEnd: 3566
    functionName: g_object_connect
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_signal_connect_data
    - G_IS_OBJECT
    - g_signal_connect_object
    - strncmp
    - va_arg
    - g_critical
    - va_end
    - va_start
    linkageType: ''
    returnType: gpointer
    signature: "gpointer g_object_connect (gpointer _object,\t\t const gchar *signal_spec,\t\
      \t ...) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:3676,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/gobject.c:3678,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:3676,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:3677,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:3678,1
    - Dst: object_bit_lock
      Src: /src/glib/gobject/gobject.c:3680,1
    - Dst: g_datalist_id_remove_no_notify
      Src: /src/glib/gobject/gobject.c:3681,1
    - Dst: g_realloc
      Src: /src/glib/gobject/gobject.c:3685,1
    - Dst: g_renew
      Src: /src/glib/gobject/gobject.c:3689,1
    - Dst: g_datalist_id_set_data_full
      Src: /src/glib/gobject/gobject.c:3696,1
    - Dst: object_bit_unlock
      Src: /src/glib/gobject/gobject.c:3697,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 3
    argNames:
    - object
    - notify
    - data
    argTypes:
    - GObject*
    - GWeakNotify
    - gpointer
    constantsTouched: []
    func_position:
      end: 3698
      start: 3668
    functionDepth: 0
    functionLinenumber: 3668
    functionLinenumberEnd: 3698
    functionName: g_object_weak_ref
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_datalist_id_set_data_full
    - object_bit_lock
    - g_renew
    - g_atomic_int_get
    - g_return_if_fail
    - g_realloc
    - G_IS_OBJECT
    - object_bit_unlock
    - g_datalist_id_remove_no_notify
    linkageType: ''
    returnType: void
    signature: "void g_object_weak_ref (GObject *object,\t\t GWeakNotify notify,\t\
      \t gpointer data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_bit_lock
      Src: /src/glib/gobject/gobject.c:358,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - wrdata
    argTypes:
    - WeakRefData*
    constantsTouched: []
    func_position:
      end: 359
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 359
    functionName: weak_ref_data_lock
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_bit_lock
    linkageType: ''
    returnType: void
    signature: 'static void weak_ref_data_lock (WeakRefData *wrdata) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 3010
      start: 3006
    functionDepth: 0
    functionLinenumber: 3006
    functionLinenumberEnd: 3010
    functionName: g_object_constructed
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_object_constructed (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:5312,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:5313,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:5312,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/gobject.c:5313,1
    - Dst: g_closure_new_simple
      Src: /src/glib/gobject/gobject.c:5315,1
    - Dst: g_object_watch_closure
      Src: /src/glib/gobject/gobject.c:5316,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5319
      start: 5306
    functionDepth: 0
    functionLinenumber: 5306
    functionLinenumberEnd: 5319
    functionName: g_closure_new_object
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_closure_new_simple
    - g_object_watch_closure
    - g_return_val_if_fail
    - g_atomic_int_get
    - G_IS_OBJECT
    linkageType: ''
    returnType: GClosure*
    signature: "GClosure *g_closure_new_object (guint sizeof_closure,\t\t GObject\
      \ *object) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_bit_unlock
      Src: /src/glib/gobject/gobject.c:365,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - wrdata
    argTypes:
    - WeakRefData*
    constantsTouched: []
    func_position:
      end: 366
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 366
    functionName: weak_ref_data_unlock
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_bit_unlock
    linkageType: ''
    returnType: void
    signature: 'static void weak_ref_data_unlock (WeakRefData *wrdata) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1184
      start: 1176
    functionDepth: 0
    functionLinenumber: 1176
    functionLinenumberEnd: 1184
    functionName: compare_pspec_entry
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int compare_pspec_entry (const void *a, const void *b) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gobject.c:3017,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/gobject.c:3020,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:3019,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gobject.c:3023,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:3025,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/gobject.c:3026,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gobject.c:3029,1
    - Dst: object_in_construction
      Src: /src/glib/gobject/gobject.c:3029,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:3031,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/gobject.c:3032,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - object
    - pspec
    - property_name
    argTypes:
    - GObject*
    - GParamSpec*
    - char*
    constantsTouched: []
    func_position:
      end: 3036
      start: 3012
    functionDepth: 0
    functionLinenumber: 3012
    functionLinenumberEnd: 3036
    functionName: g_object_set_is_valid_property
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_critical
    - G_UNLIKELY
    - G_OBJECT_TYPE_NAME
    - object_in_construction
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean g_object_set_is_valid_property (GObject *object,
      GParamSpec *pspec, const char *property_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:5263,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:5266,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:5264,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:5263,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:5265,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:5267,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/gobject.c:5267,1
    - Dst: g_closure_add_invalidate_notifier
      Src: /src/glib/gobject/gobject.c:5269,1
    - Dst: g_closure_add_marshal_guards
      Src: /src/glib/gobject/gobject.c:5270,1
    - Dst: object_bit_lock
      Src: /src/glib/gobject/gobject.c:5273,1
    - Dst: g_realloc
      Src: /src/glib/gobject/gobject.c:5285,1
    - Dst: g_datalist_id_set_data_full
      Src: /src/glib/gobject/gobject.c:5288,1
    - Dst: g_datalist_id_remove_no_notify
      Src: /src/glib/gobject/gobject.c:5274,1
    - Dst: object_bit_unlock
      Src: /src/glib/gobject/gobject.c:5289,1
    - Dst: g_renew
      Src: /src/glib/gobject/gobject.c:5277,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 2
    argNames:
    - object
    - closure
    argTypes:
    - GObject*
    - GClosure*
    constantsTouched: []
    func_position:
      end: 5290
      start: 5256
    functionDepth: 0
    functionLinenumber: 5256
    functionLinenumberEnd: 5290
    functionName: g_object_watch_closure
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_datalist_id_set_data_full
    - object_bit_lock
    - g_renew
    - g_atomic_int_get
    - g_return_if_fail
    - g_datalist_id_remove_no_notify
    - g_realloc
    - G_IS_OBJECT
    - object_bit_unlock
    - g_closure_add_invalidate_notifier
    - g_closure_add_marshal_guards
    linkageType: ''
    returnType: void
    signature: "void g_object_watch_closure (GObject *object,\t\t\tGClosure *closure) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:1155,1
    - Dst: g_type_parent
      Src: /src/glib/gobject/gobject.c:1159,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:1156,1
    - Dst: G_IS_OBJECT_CLASS
      Src: /src/glib/gobject/gobject.c:1155,1
    - Dst: G_OBJECT_CLASS_TYPE
      Src: /src/glib/gobject/gobject.c:1158,1
    - Dst: CLASS_HAS_DERIVED_CLASS
      Src: /src/glib/gobject/gobject.c:1161,1
    - Dst: g_error
      Src: /src/glib/gobject/gobject.c:1162,1
    - Dst: G_OBJECT_CLASS_NAME
      Src: /src/glib/gobject/gobject.c:1162,1
    - Dst: validate_and_install_class_property
      Src: /src/glib/gobject/gobject.c:1164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - class
    - property_id
    - pspec
    argTypes:
    - GObjectClass*
    - guint
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1169
      start: 1148
    functionDepth: 0
    functionLinenumber: 1148
    functionLinenumberEnd: 1169
    functionName: g_object_class_install_property
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - G_OBJECT_CLASS_NAME
    - g_error
    - CLASS_HAS_DERIVED_CLASS
    - validate_and_install_class_property
    - g_type_parent
    - G_IS_OBJECT_CLASS
    - G_OBJECT_CLASS_TYPE
    linkageType: ''
    returnType: void
    signature: "void g_object_class_install_property (GObjectClass *class,\t\t\t\t\
      \ guint\t property_id,\t\t\t\t GParamSpec *pspec) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:4920,1
    - Dst: g_quark_try_string
      Src: /src/glib/gobject/gobject.c:4923,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:4921,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:4920,1
    - Dst: g_datalist_id_remove_no_notify
      Src: /src/glib/gobject/gobject.c:4925,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - object
    - key
    argTypes:
    - GObject*
    - gchar*
    constantsTouched: []
    func_position:
      end: 4926
      start: 4914
    functionDepth: 0
    functionLinenumber: 4914
    functionLinenumberEnd: 4926
    functionName: g_object_steal_data
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_quark_try_string
    - g_return_val_if_fail
    - g_datalist_id_remove_no_notify
    - G_IS_OBJECT
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_object_steal_data (GObject *object, const gchar *key) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: validate_pspec_to_install
      Src: /src/glib/gobject/gobject.c:1094,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/gobject.c:1097,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:1104,1
    - Dst: g_param_spec_ref_sink
      Src: /src/glib/gobject/gobject.c:1096,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:1102,1
    - Dst: install_property_internal
      Src: /src/glib/gobject/gobject.c:1107,1
    - Dst: g_slist_append
      Src: /src/glib/gobject/gobject.c:1111,1
    - Dst: g_param_spec_pool_lookup
      Src: /src/glib/gobject/gobject.c:1118,1
    - Dst: g_slist_remove
      Src: /src/glib/gobject/gobject.c:1121,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 5
    argNames:
    - class
    - oclass_type
    - parent_type
    - property_id
    - pspec
    argTypes:
    - GObjectClass*
    - GType
    - GType
    - guint
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1129
      start: 1087
    functionDepth: 0
    functionLinenumber: 1087
    functionLinenumberEnd: 1129
    functionName: validate_and_install_class_property
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_slist_remove
    - validate_pspec_to_install
    - g_param_spec_unref
    - g_param_spec_pool_lookup
    - g_param_spec_ref_sink
    - g_slist_append
    - install_property_internal
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean validate_and_install_class_property (GObjectClass
      *class, GType oclass_type, GType parent_type, guint property_id, GParamSpec
      *pspec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:3863,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:3864,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:3863,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/gobject.c:3865,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/gobject.c:3864,1
    - Dst: floating_flag_handler
      Src: /src/glib/gobject/gobject.c:3866,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gobject.c:3868,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - _object
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 3870
      start: 3858
    functionDepth: 0
    functionLinenumber: 3858
    functionLinenumberEnd: 3870
    functionName: (g_object_ref_sink)
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_object_unref
    - g_atomic_int_get
    - G_IS_OBJECT
    - g_object_ref
    - floating_flag_handler
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer (g_object_ref_sink) (gpointer _object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:4896,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:4896,1
    - Dst: g_datalist_id_set_data_full
      Src: /src/glib/gobject/gobject.c:4899,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:4897,1
    - Dst: g_quark_from_string
      Src: /src/glib/gobject/gobject.c:4899,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - object
    - key
    - data
    - destroy
    argTypes:
    - GObject*
    - gchar*
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 4901
      start: 4890
    functionDepth: 0
    functionLinenumber: 4890
    functionLinenumberEnd: 4901
    functionName: g_object_set_data_full
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_datalist_id_set_data_full
    - G_IS_OBJECT
    - g_quark_from_string
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_object_set_data_full (GObject *object, const gchar *key, gpointer
      data, GDestroyNotify destroy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:1478,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:1479,1
    - Dst: g_object_init_pspec_pool
      Src: /src/glib/gobject/gobject.c:1481,1
    - Dst: g_param_spec_pool_lookup
      Src: /src/glib/gobject/gobject.c:1483,1
    - Dst: G_TYPE_IS_INTERFACE
      Src: /src/glib/gobject/gobject.c:1478,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1472
    functionDepth: 0
    functionLinenumber: 1472
    functionLinenumberEnd: 1487
    functionName: g_object_interface_find_property
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_param_spec_pool_lookup
    - g_return_val_if_fail
    - G_TYPE_IS_INTERFACE
    - g_object_init_pspec_pool
    linkageType: ''
    returnType: GParamSpec*
    signature: "GParamSpec *g_object_interface_find_property (gpointer g_iface,\t\t\
      \t\t const gchar *property_name) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: param_spec_follow_override
      Src: /src/glib/gobject/gobject.c:2161,1
    - Dst: consider_issuing_property_deprecation_warning
      Src: /src/glib/gobject/gobject.c:2164,1
    - Dst: G_PARAM_SPEC_GET_CLASS
      Src: /src/glib/gobject/gobject.c:2166,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:2189,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject.c:2193,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gobject.c:2201,1
    - Dst: G_LIKELY
      Src: /src/glib/gobject/gobject.c:2154,1
    - Dst: g_assert
      Src: /src/glib/gobject/gobject.c:2159,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/gobject.c:2185,1
    - Dst: g_strdup_value_contents
      Src: /src/glib/gobject/gobject.c:2187,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject.c:2183,1
    - Dst: g_type_class_peek
      Src: /src/glib/gobject/gobject.c:2157,1
    - Dst: g_value_type_compatible
      Src: /src/glib/gobject/gobject.c:2167,1
    - Dst: g_value_transform
      Src: /src/glib/gobject/gobject.c:2180,1
    - Dst: g_free
      Src: /src/glib/gobject/gobject.c:2194,1
    - Dst: g_object_notify_queue_add
      Src: /src/glib/gobject/gobject.c:2206,1
    - Dst: PARAM_SPEC_PARAM_ID
      Src: /src/glib/gobject/gobject.c:2152,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gobject.c:2167,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gobject.c:2178,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:2181,1
    - Dst: G_VALUE_TYPE_NAME
      Src: /src/glib/gobject/gobject.c:2184,1
    - Dst: G_VALUE_TYPE_NAME
      Src: /src/glib/gobject/gobject.c:2191,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 49
    argCount: 5
    argNames:
    - object
    - pspec
    - value
    - nqueue
    - user_specified
    argTypes:
    - GObject*
    - GParamSpec*
    - GValue*
    - GObjectNotifyQueue*
    - gboolean
    constantsTouched: []
    func_position:
      end: 2207
      start: 2142
    functionDepth: 0
    functionLinenumber: 2142
    functionLinenumberEnd: 2207
    functionName: object_set_property
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_GET_CLASS
    - g_param_value_validate
    - g_value_transform
    - g_object_notify_queue_add
    - PARAM_SPEC_PARAM_ID
    - G_VALUE_TYPE
    - param_spec_follow_override
    - g_type_name
    - g_value_init
    - G_VALUE_TYPE_NAME
    - G_LIKELY
    - consider_issuing_property_deprecation_warning
    - g_assert
    - g_type_class_peek
    - g_strdup_value_contents
    - g_critical
    - g_value_type_compatible
    - g_free
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: "static inline void object_set_property (GObject *object,\t\t GParamSpec\
      \ *pspec,\t\t const GValue *value,\t\t GObjectNotifyQueue *nqueue,\t\t gboolean\
      \ user_specified) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2365
      start: 2361
    functionDepth: 0
    functionLinenumber: 2361
    functionLinenumberEnd: 2365
    functionName: g_object_get_type
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GType
    signature: 'GType g_object_get_type (void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gobject/gobject.c:3421,1
    - Dst: g_object_get_is_valid_property
      Src: /src/glib/gobject/gobject.c:3423,1
    - Dst: G_VALUE_TYPE_NAME
      Src: /src/glib/gobject/gobject.c:3444,1
    - Dst: g_value_type_transformable
      Src: /src/glib/gobject/gobject.c:3439,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:3441,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:3417,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gobject.c:3439,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gobject.c:3433,1
    - Dst: g_value_transform
      Src: /src/glib/gobject/gobject.c:3456,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:3415,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:3416,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/gobject.c:3419,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:3415,1
    - Dst: find_pspec
      Src: /src/glib/gobject/gobject.c:3421,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gobject.c:3427,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gobject.c:3450,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject.c:3443,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gobject.c:3430,1
    - Dst: g_value_reset
      Src: /src/glib/gobject/gobject.c:3436,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gobject.c:3445,1
    - Dst: object_get_property
      Src: /src/glib/gobject/gobject.c:3453,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gobject.c:3457,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gobject.c:3461,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 3
    argNames:
    - object
    - property_name
    - value
    argTypes:
    - GObject*
    - gchar*
    - GValue*
    constantsTouched: []
    func_position:
      end: 3462
      start: 3408
    functionDepth: 0
    functionLinenumber: 3408
    functionLinenumberEnd: 3462
    functionName: g_object_get_property
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_object_get_is_valid_property
    - g_object_unref
    - g_return_if_fail
    - G_VALUE_TYPE
    - g_value_reset
    - object_get_property
    - G_IS_OBJECT
    - g_value_init
    - g_value_type_transformable
    - find_pspec
    - G_VALUE_TYPE_NAME
    - g_critical
    - g_object_ref
    - G_OBJECT_GET_CLASS
    - g_value_transform
    - g_value_unset
    - g_type_name
    linkageType: ''
    returnType: void
    signature: "void g_object_get_property (GObject\t *object,\t\t const gchar *property_name,\t\
      \t GValue\t *value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gobject/gobject.c:3648,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 3649
      start: 3640
    functionDepth: 0
    functionLinenumber: 3640
    functionLinenumberEnd: 3649
    functionName: weak_refs_notify
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void weak_refs_notify (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:4780,1
    - Dst: g_datalist_id_set_data
      Src: /src/glib/gobject/gobject.c:4783,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:4781,1
    - Dst: g_quark_from_string
      Src: /src/glib/gobject/gobject.c:4783,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:4780,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - object
    - key
    - data
    argTypes:
    - GObject*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 4784
      start: 4775
    functionDepth: 0
    functionLinenumber: 4775
    functionLinenumberEnd: 4784
    functionName: g_object_set_data
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_datalist_id_set_data
    - G_IS_OBJECT
    - g_quark_from_string
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_object_set_data (GObject *object, const gchar *key, gpointer
      data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 4932
      start: 4928
    functionDepth: 0
    functionLinenumber: 4928
    functionLinenumberEnd: 4932
    functionName: g_value_object_init
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_value_object_init (GValue *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:5174,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:5176,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gobject.c:5174,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:5182,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:5175,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:5182,1
    - Dst: g_signal_connect_closure
      Src: /src/glib/gobject/gobject.c:5186,1
    - Dst: g_signal_connect_data
      Src: /src/glib/gobject/gobject.c:5189,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - instance
    - detailed_signal
    - c_handler
    - gobject
    - connect_flags
    argTypes:
    - gpointer
    - gchar*
    - GCallback
    - gpointer
    - GConnectFlags
    constantsTouched: []
    func_position:
      end: 5190
      start: 5167
    functionDepth: 0
    functionLinenumber: 5167
    functionLinenumberEnd: 5190
    functionName: g_signal_connect_object
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_signal_connect_data
    - G_IS_OBJECT
    - g_signal_connect_closure
    - G_TYPE_CHECK_INSTANCE
    linkageType: ''
    returnType: gulong
    signature: "gulong g_signal_connect_object (gpointer instance,\t\t\t const gchar\
      \ *detailed_signal,\t\t\t GCallback c_handler,\t\t\t gpointer gobject,\t\t\t\
      \ GConnectFlags connect_flags) "
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: g_param_spec_pool_lookup
      Src: /src/glib/gobject/gobject.c:2231,1
    - Dst: G_OBJECT_CLASS_TYPE
      Src: /src/glib/gobject/gobject.c:2233,1
    - Dst: G_OBJECT_CLASS_TYPE
      Src: /src/glib/gobject/gobject.c:2240,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject.c:2328,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject.c:2329,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:2335,1
    - Dst: G_OBJECT_CLASS_TYPE
      Src: /src/glib/gobject/gobject.c:2337,1
    - Dst: G_PARAM_SPEC_VALUE_TYPE
      Src: /src/glib/gobject/gobject.c:2338,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject.c:2338,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject.c:2346,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject.c:2347,1
    - Dst: g_type_class_unref
      Src: /src/glib/gobject/gobject.c:2358,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject.c:2346,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gobject/gobject.c:2351,1
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/gobject.c:2219,1
    - Dst: g_param_spec_pool_list
      Src: /src/glib/gobject/gobject.c:2227,1
    - Dst: G_IS_OBJECT_CLASS
      Src: /src/glib/gobject/gobject.c:2224,1
    - Dst: SUBSET
      Src: /src/glib/gobject/gobject.c:2266,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject.c:2270,1
    - Dst: G_OBJECT_CLASS_TYPE
      Src: /src/glib/gobject/gobject.c:2288,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject.c:2288,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:2286,1
    - Dst: SUBSET
      Src: /src/glib/gobject/gobject.c:2284,1
    - Dst: G_PARAM_SPEC_VALUE_TYPE
      Src: /src/glib/gobject/gobject.c:2328,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject.c:2240,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:2326,1
    - Dst: G_OBJECT_CLASS_TYPE
      Src: /src/glib/gobject/gobject.c:2328,1
    - Dst: G_PARAM_SPEC_VALUE_TYPE
      Src: /src/glib/gobject/gobject.c:2329,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject.c:2329,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gobject.c:2334,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject.c:2337,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject.c:2338,1
    - Dst: G_PARAM_SPEC_VALUE_TYPE
      Src: /src/glib/gobject/gobject.c:2346,1
    - Dst: G_PARAM_SPEC_VALUE_TYPE
      Src: /src/glib/gobject/gobject.c:2347,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject.c:2347,1
    - Dst: G_OBJECT_CLASS_TYPE
      Src: /src/glib/gobject/gobject.c:2346,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:2238,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject.c:2242,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:2268,1
    - Dst: G_OBJECT_CLASS_TYPE
      Src: /src/glib/gobject/gobject.c:2270,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject.c:2288,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject.c:2270,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject.c:2328,1
    - Dst: G_PARAM_SPEC_VALUE_TYPE
      Src: /src/glib/gobject/gobject.c:2337,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gobject.c:2343,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:2344,1
    - Dst: g_free
      Src: /src/glib/gobject/gobject.c:2355,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject.c:2337,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 70
    argCount: 2
    argNames:
    - check_data
    - g_iface
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 2359
      start: 2209
    functionDepth: 0
    functionLinenumber: 2209
    functionLinenumberEnd: 2359
    functionName: object_interface_check_properties
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_type_class_ref
    - SUBSET
    - g_assert_not_reached
    - g_type_class_unref
    - g_param_spec_pool_lookup
    - g_critical
    - g_type_is_a
    - G_PARAM_SPEC_VALUE_TYPE
    - g_type_name
    - g_param_spec_pool_list
    - g_free
    - G_IS_OBJECT_CLASS
    - G_OBJECT_CLASS_TYPE
    linkageType: ''
    returnType: void
    signature: "static void object_interface_check_properties (gpointer check_data,\t\
      \t\t\t gpointer g_iface) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_object
      Src: /src/glib/gobject/gobject.c:4937,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 4938
      start: 4934
    functionDepth: 0
    functionLinenumber: 4934
    functionLinenumberEnd: 4938
    functionName: g_value_object_free_value
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_clear_object
    linkageType: ''
    returnType: void
    signature: 'static void g_value_object_free_value (GValue *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:1443,1
    - Dst: G_IS_OBJECT_CLASS
      Src: /src/glib/gobject/gobject.c:1443,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:1444,1
    - Dst: find_pspec
      Src: /src/glib/gobject/gobject.c:1446,1
    - Dst: param_spec_follow_override
      Src: /src/glib/gobject/gobject.c:1449,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1452
      start: 1437
    functionDepth: 0
    functionLinenumber: 1437
    functionLinenumberEnd: 1452
    functionName: g_object_class_find_property
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - find_pspec
    - g_return_val_if_fail
    - param_spec_follow_override
    - G_IS_OBJECT_CLASS
    linkageType: ''
    returnType: GParamSpec*
    signature: "GParamSpec *g_object_class_find_property (GObjectClass *class,\t\t\
      \t const gchar *property_name) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:4752,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:4753,1
    - Dst: g_datalist_get_data
      Src: /src/glib/gobject/gobject.c:4755,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:4752,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - object
    - key
    argTypes:
    - GObject*
    - gchar*
    constantsTouched: []
    func_position:
      end: 4756
      start: 4748
    functionDepth: 0
    functionLinenumber: 4748
    functionLinenumberEnd: 4756
    functionName: g_object_get_data
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_datalist_get_data
    - g_return_val_if_fail
    - G_IS_OBJECT
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_object_get_data (GObject *object, const gchar *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:5340,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:5340,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:5341,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/gobject.c:5341,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:5342,1
    - Dst: g_cclosure_new
      Src: /src/glib/gobject/gobject.c:5344,1
    - Dst: g_object_watch_closure
      Src: /src/glib/gobject/gobject.c:5345,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5348
      start: 5334
    functionDepth: 0
    functionLinenumber: 5334
    functionLinenumberEnd: 5348
    functionName: g_cclosure_new_object
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_cclosure_new
    - g_object_watch_closure
    - g_return_val_if_fail
    - g_atomic_int_get
    - G_IS_OBJECT
    linkageType: ''
    returnType: GClosure*
    signature: "GClosure *g_cclosure_new_object (GCallback callback_func,\t\t GObject\
      \ *object) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: object_bit_lock
      Src: /src/glib/gobject/gobject.c:715,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gobject.c:724,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:727,1
    - Dst: object_bit_unlock
      Src: /src/glib/gobject/gobject.c:726,1
    - Dst: g_datalist_id_get_data
      Src: /src/glib/gobject/gobject.c:720,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/gobject.c:728,1
    - Dst: object_bit_unlock
      Src: /src/glib/gobject/gobject.c:735,1
    - Dst: g_new
      Src: /src/glib/gobject/gobject.c:739,1
    - Dst: g_datalist_id_set_data
      Src: /src/glib/gobject/gobject.c:745,1
    - Dst: object_bit_unlock
      Src: /src/glib/gobject/gobject.c:747,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gobject/gobject.c:754,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/gobject.c:752,1
    - Dst: g_free
      Src: /src/glib/gobject/gobject.c:759,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gobject.c:757,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 3
    argNames:
    - object
    - nqueue
    - take_ref
    argTypes:
    - GObject*
    - GObjectNotifyQueue*
    - gboolean
    constantsTouched: []
    func_position:
      end: 760
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 760
    functionName: g_object_notify_queue_thaw
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - object_bit_lock
    - g_object_unref
    - G_OBJECT_TYPE_NAME
    - g_new
    - g_datalist_id_set_data
    - G_OBJECT_GET_CLASS
    - g_critical
    - G_UNLIKELY
    - g_object_ref
    - object_bit_unlock
    - g_free
    - g_datalist_id_get_data
    linkageType: ''
    returnType: void
    signature: 'static void g_object_notify_queue_thaw (GObject *object, GObjectNotifyQueue
      *nqueue, gboolean take_ref) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_setv
      Src: /src/glib/gobject/gobject.c:3382,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - object
    - property_name
    - value
    argTypes:
    - GObject*
    - gchar*
    - GValue*
    constantsTouched: []
    func_position:
      end: 3383
      start: 3377
    functionDepth: 0
    functionLinenumber: 3377
    functionLinenumberEnd: 3383
    functionName: g_object_set_property
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_object_setv
    linkageType: ''
    returnType: void
    signature: "void g_object_set_property (GObject\t *object,\t\t const gchar *property_name,\t\
      \t const GValue *value) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:3716,1
    - Dst: object_bit_lock
      Src: /src/glib/gobject/gobject.c:3719,1
    - Dst: g_datalist_id_get_data
      Src: /src/glib/gobject/gobject.c:3720,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:3717,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:3716,1
    - Dst: object_bit_unlock
      Src: /src/glib/gobject/gobject.c:3737,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:3739,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - object
    - notify
    - data
    argTypes:
    - GObject*
    - GWeakNotify
    - gpointer
    constantsTouched: []
    func_position:
      end: 3740
      start: 3708
    functionDepth: 0
    functionLinenumber: 3708
    functionLinenumberEnd: 3740
    functionName: g_object_weak_unref
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - object_bit_lock
    - g_return_if_fail
    - G_IS_OBJECT
    - g_critical
    - object_bit_unlock
    - g_datalist_id_get_data
    linkageType: ''
    returnType: void
    signature: "void g_object_weak_unref (GObject *object,\t\t GWeakNotify notify,\t\
      \t gpointer data) "
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gobject.c:4341,1
    - Dst: TRACE
      Src: /src/glib/gobject/gobject.c:4356,1
    - Dst: toggle_notify
      Src: /src/glib/gobject/gobject.c:4378,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gobject/gobject.c:4414,1
    - Dst: g_datalist_id_set_data
      Src: /src/glib/gobject/gobject.c:4480,1
    - Dst: GOBJECT_IF_DEBUG
      Src: /src/glib/gobject/gobject.c:4488,1
    - Dst: G_LOCK
      Src: /src/glib/gobject/gobject.c:4493,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/gobject.c:4499,1
    - Dst: g_type_free_instance
      Src: /src/glib/gobject/gobject.c:4501,1
    - Dst: g_datalist_id_set_data
      Src: /src/glib/gobject/gobject.c:4482,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/gobject.c:4344,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:4326,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gobject.c:4382,1
    - Dst: _object_unref_clear_weak_locations
      Src: /src/glib/gobject/gobject.c:4391,1
    - Dst: g_object_notify_queue_freeze
      Src: /src/glib/gobject/gobject.c:4411,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gobject.c:4413,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:4386,1
    - Dst: GOBJECT_OBJECT_DISPOSE_END
      Src: /src/glib/gobject/gobject.c:4415,1
    - Dst: g_object_notify_queue_thaw
      Src: /src/glib/gobject/gobject.c:4429,1
    - Dst: GOBJECT_OBJECT_UNREF
      Src: /src/glib/gobject/gobject.c:4450,1
    - Dst: GOBJECT_OBJECT_UNREF
      Src: /src/glib/gobject/gobject.c:4465,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:4326,1
    - Dst: g_atomic_int_compare_and_exchange_full
      Src: /src/glib/gobject/gobject.c:4351,1
    - Dst: GOBJECT_OBJECT_UNREF
      Src: /src/glib/gobject/gobject.c:4376,1
    - Dst: TRACE
      Src: /src/glib/gobject/gobject.c:4413,1
    - Dst: GOBJECT_OBJECT_DISPOSE
      Src: /src/glib/gobject/gobject.c:4413,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gobject.c:4415,1
    - Dst: g_atomic_int_compare_and_exchange_full
      Src: /src/glib/gobject/gobject.c:4444,1
    - Dst: TRACE
      Src: /src/glib/gobject/gobject.c:4450,1
    - Dst: toggle_refs_check_and_ref_or_deref
      Src: /src/glib/gobject/gobject.c:4461,1
    - Dst: TRACE
      Src: /src/glib/gobject/gobject.c:4465,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gobject/gobject.c:4485,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:4498,1
    - Dst: GOBJECT_OBJECT_FINALIZE_END
      Src: /src/glib/gobject/gobject.c:4486,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gobject/gobject.c:4494,1
    - Dst: GOBJECT_OBJECT_UNREF
      Src: /src/glib/gobject/gobject.c:4356,1
    - Dst: toggle_refs_check_and_ref_or_deref
      Src: /src/glib/gobject/gobject.c:4372,1
    - Dst: TRACE
      Src: /src/glib/gobject/gobject.c:4376,1
    - Dst: TRACE
      Src: /src/glib/gobject/gobject.c:4415,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/gobject.c:4419,1
    - Dst: toggle_notify
      Src: /src/glib/gobject/gobject.c:4467,1
    - Dst: TRACE
      Src: /src/glib/gobject/gobject.c:4476,1
    - Dst: GOBJECT_OBJECT_FINALIZE
      Src: /src/glib/gobject/gobject.c:4484,1
    - Dst: TRACE
      Src: /src/glib/gobject/gobject.c:4486,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gobject.c:4486,1
    - Dst: G_UNLOCK
      Src: /src/glib/gobject/gobject.c:4495,1
    - Dst: GOBJECT_OBJECT_UNREF
      Src: /src/glib/gobject/gobject.c:4476,1
    - Dst: TRACE
      Src: /src/glib/gobject/gobject.c:4484,1
    - Dst: _object_unref_clear_weak_locations
      Src: /src/glib/gobject/gobject.c:4473,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gobject.c:4484,1
    - Dst: g_signal_handlers_destroy
      Src: /src/glib/gobject/gobject.c:4481,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 83
    argCount: 1
    argNames:
    - _object
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 4502
      start: 4316
    functionDepth: 0
    functionLinenumber: 4316
    functionLinenumberEnd: 4502
    functionName: g_object_unref
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - G_UNLIKELY
    - g_object_notify_queue_thaw
    - G_LOCK
    - _object_unref_clear_weak_locations
    - toggle_notify
    - G_UNLOCK
    - g_signal_handlers_destroy
    - GOBJECT_OBJECT_DISPOSE
    - g_hash_table_remove
    - G_OBJECT_TYPE_NAME
    - G_IS_OBJECT
    - G_OBJECT_GET_CLASS
    - GOBJECT_OBJECT_DISPOSE_END
    - g_atomic_int_compare_and_exchange_full
    - TRACE
    - g_return_if_fail
    - g_object_notify_queue_freeze
    - G_TYPE_FROM_INSTANCE
    - g_datalist_id_set_data
    - GOBJECT_OBJECT_FINALIZE_END
    - toggle_refs_check_and_ref_or_deref
    - g_critical
    - GOBJECT_OBJECT_UNREF
    - GOBJECT_OBJECT_FINALIZE
    - g_type_free_instance
    - GOBJECT_IF_DEBUG
    linkageType: ''
    returnType: void
    signature: 'void g_object_unref (gpointer _object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 4962
      start: 4958
    functionDepth: 0
    functionLinenumber: 4958
    functionLinenumberEnd: 4962
    functionName: g_value_object_peek_pointer
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer g_value_object_peek_pointer (const GValue *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_pointer_bit_lock_and_get
      Src: /src/glib/gobject/gobject.c:5461,1
    - Dst: g_pointer_bit_lock
      Src: /src/glib/gobject/gobject.c:5465,1
    - Dst: _weak_ref_clean_pointer
      Src: /src/glib/gobject/gobject.c:5462,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - weak_ref
    - out_object
    argTypes:
    - GWeakRef*
    - GObject**
    constantsTouched: []
    func_position:
      end: 5466
      start: 5451
    functionDepth: 0
    functionLinenumber: 5451
    functionLinenumberEnd: 5466
    functionName: _weak_ref_lock
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - _weak_ref_clean_pointer
    - g_pointer_bit_lock_and_get
    - g_pointer_bit_lock
    linkageType: ''
    returnType: void
    signature: 'static void _weak_ref_lock (GWeakRef *weak_ref, GObject **out_object) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: object_bit_lock
      Src: /src/glib/gobject/gobject.c:768,1
    - Dst: g_assert
      Src: /src/glib/gobject/gobject.c:797,1
    - Dst: object_bit_unlock
      Src: /src/glib/gobject/gobject.c:782,1
    - Dst: g_object_notify_queue_create_queue_frozen
      Src: /src/glib/gobject/gobject.c:793,1
    - Dst: g_datalist_id_get_data
      Src: /src/glib/gobject/gobject.c:774,1
    - Dst: g_slist_find
      Src: /src/glib/gobject/gobject.c:799,1
    - Dst: g_slist_prepend
      Src: /src/glib/gobject/gobject.c:801,1
    - Dst: object_bit_unlock
      Src: /src/glib/gobject/gobject.c:805,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - object
    - nqueue
    - pspec
    - in_init
    argTypes:
    - GObject*
    - GObjectNotifyQueue*
    - GParamSpec*
    - gboolean
    constantsTouched: []
    func_position:
      end: 808
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 808
    functionName: g_object_notify_queue_add
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_object_notify_queue_create_queue_frozen
    - object_bit_lock
    - g_slist_find
    - g_assert
    - object_bit_unlock
    - g_slist_prepend
    - g_datalist_id_get_data
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_object_notify_queue_add (GObject *object, GObjectNotifyQueue
      *nqueue, GParamSpec *pspec, gboolean in_init) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_strconcat
      Src: /src/glib/gobject/gobject.c:4975,1
    - Dst: g_value_type_compatible
      Src: /src/glib/gobject/gobject.c:4979,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gobject.c:4979,1
    - Dst: G_VALUE_TYPE_NAME
      Src: /src/glib/gobject/gobject.c:4976,1
    - Dst: G_OBJECT_TYPE
      Src: /src/glib/gobject/gobject.c:4979,1
    - Dst: g_strconcat
      Src: /src/glib/gobject/gobject.c:4980,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/gobject.c:4981,1
    - Dst: G_VALUE_TYPE_NAME
      Src: /src/glib/gobject/gobject.c:4983,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/gobject.c:4987,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4993
      start: 4964
    functionDepth: 0
    functionLinenumber: 4964
    functionLinenumberEnd: 4993
    functionName: g_value_object_collect_value
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - G_OBJECT_TYPE
    - g_strconcat
    - G_OBJECT_TYPE_NAME
    - G_VALUE_TYPE
    - G_VALUE_TYPE_NAME
    - g_object_ref
    - g_value_type_compatible
    linkageType: ''
    returnType: gchar*
    signature: "static gchar *g_value_object_collect_value (GValue\t *value,\t\t\t\
      \ guint n_collect_values,\t\t\t GTypeCValue *collect_values,\t\t\t guint collect_flags) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_pointer_bit_unlock
      Src: /src/glib/gobject/gobject.c:5471,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - weak_ref
    argTypes:
    - GWeakRef*
    constantsTouched: []
    func_position:
      end: 5472
      start: 5468
    functionDepth: 0
    functionLinenumber: 5468
    functionLinenumberEnd: 5472
    functionName: _weak_ref_unlock
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_pointer_bit_unlock
    linkageType: ''
    returnType: void
    signature: 'static void _weak_ref_unlock (GWeakRef *weak_ref) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_pointer_bit_unlock_and_set
      Src: /src/glib/gobject/gobject.c:5477,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - weak_ref
    - object
    argTypes:
    - GWeakRef*
    - GObject*
    constantsTouched: []
    func_position:
      end: 5478
      start: 5474
    functionDepth: 0
    functionLinenumber: 5474
    functionLinenumberEnd: 5478
    functionName: _weak_ref_unlock_and_set
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_pointer_bit_unlock_and_set
    linkageType: ''
    returnType: void
    signature: 'static void _weak_ref_unlock_and_set (GWeakRef *weak_ref, GObject
      *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:3362,1
    - Dst: va_end
      Src: /src/glib/gobject/gobject.c:3366,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:3362,1
    - Dst: va_start
      Src: /src/glib/gobject/gobject.c:3364,1
    - Dst: g_object_get_valist
      Src: /src/glib/gobject/gobject.c:3365,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - _object
    - first_property_name
    - '...'
    argTypes:
    - gpointer
    - gchar*
    constantsTouched: []
    func_position:
      end: 3367
      start: 3354
    functionDepth: 0
    functionLinenumber: 3354
    functionLinenumberEnd: 3367
    functionName: g_object_get
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - G_IS_OBJECT
    - va_end
    - va_start
    - g_object_get_valist
    linkageType: ''
    returnType: void
    signature: "void g_object_get (gpointer _object,\t const gchar *first_property_name,\t\
      \ ...) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: object_get_optional_flags
      Src: /src/glib/gobject/gobject.c:4256,1
    - Dst: weak_ref_data_get_surely
      Src: /src/glib/gobject/gobject.c:4280,1
    - Dst: g_atomic_int_compare_and_exchange
      Src: /src/glib/gobject/gobject.c:4267,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gobject/gobject.c:4270,1
    - Dst: weak_ref_data_lock
      Src: /src/glib/gobject/gobject.c:4282,1
    - Dst: g_atomic_int_compare_and_exchange_full
      Src: /src/glib/gobject/gobject.c:4286,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/gobject.c:4292,1
    - Dst: weak_ref_data_clear_list
      Src: /src/glib/gobject/gobject.c:4297,1
    - Dst: weak_ref_data_unlock
      Src: /src/glib/gobject/gobject.c:4299,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - object
    - p_old_ref
    - do_unref
    argTypes:
    - GObject*
    - gint*
    - gboolean
    constantsTouched: []
    func_position:
      end: 4302
      start: 4249
    functionDepth: 0
    functionLinenumber: 4249
    functionLinenumberEnd: 4302
    functionName: _object_unref_clear_weak_locations
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - object_get_optional_flags
    - g_atomic_int_compare_and_exchange_full
    - weak_ref_data_clear_list
    - g_atomic_int_get
    - g_atomic_int_compare_and_exchange
    - g_assert_not_reached
    - weak_ref_data_get_surely
    - weak_ref_data_lock
    - weak_ref_data_unlock
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _object_unref_clear_weak_locations (GObject *object,
      gint *p_old_ref, gboolean do_unref) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:5038,1
    - Dst: g_steal_pointer
      Src: /src/glib/gobject/gobject.c:5043,1
    - Dst: G_VALUE_HOLDS_OBJECT
      Src: /src/glib/gobject/gobject.c:5038,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:5047,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:5047,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:5048,1
    - Dst: g_value_type_compatible
      Src: /src/glib/gobject/gobject.c:5048,1
    - Dst: G_OBJECT_TYPE
      Src: /src/glib/gobject/gobject.c:5048,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gobject.c:5048,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/gobject.c:5050,1
    - Dst: g_clear_object
      Src: /src/glib/gobject/gobject.c:5053,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - value
    - v_object
    argTypes:
    - GValue*
    - gpointer
    constantsTouched: []
    func_position:
      end: 5054
      start: 5032
    functionDepth: 0
    functionLinenumber: 5032
    functionLinenumberEnd: 5054
    functionName: g_value_set_object
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - G_OBJECT_TYPE
    - g_steal_pointer
    - g_return_if_fail
    - G_VALUE_TYPE
    - G_IS_OBJECT
    - G_VALUE_HOLDS_OBJECT
    - g_clear_object
    - g_object_ref
    - g_value_type_compatible
    linkageType: ''
    returnType: void
    signature: "void g_value_set_object (GValue *value,\t\t gpointer v_object) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:5822,1
    - Dst: _weak_ref_set
      Src: /src/glib/gobject/gobject.c:5825,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:5823,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:5823,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - weak_ref
    - object
    argTypes:
    - GWeakRef*
    - gpointer
    constantsTouched: []
    func_position:
      end: 5826
      start: 5818
    functionDepth: 0
    functionLinenumber: 5818
    functionLinenumberEnd: 5826
    functionName: g_weak_ref_set
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - G_IS_OBJECT
    - _weak_ref_set
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_weak_ref_set (GWeakRef *weak_ref, gpointer object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gobject.c:2115,1
    - Dst: maybe_issue_property_deprecation_warning
      Src: /src/glib/gobject/gobject.c:2116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 2117
      start: 2112
    functionDepth: 0
    functionLinenumber: 2112
    functionLinenumberEnd: 2117
    functionName: consider_issuing_property_deprecation_warning
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - maybe_issue_property_deprecation_warning
    - G_UNLIKELY
    linkageType: ''
    returnType: void
    signature: 'static inline void consider_issuing_property_deprecation_warning (const
      GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: object_set_optional_flags
      Src: /src/glib/gobject/gobject.c:1686,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 1687
      start: 1683
    functionDepth: 0
    functionLinenumber: 1683
    functionLinenumberEnd: 1687
    functionName: set_object_in_construction
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - object_set_optional_flags
    linkageType: ''
    returnType: void
    signature: 'static inline void set_object_in_construction (GObject *object) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gobject.c:924,1
    - Dst: g_param_spec_pool_free
      Src: /src/glib/gobject/gobject.c:928,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/gobject/gobject.c:924,1
    - Dst: g_atomic_pointer_compare_and_exchange
      Src: /src/glib/gobject/gobject.c:927,1
    - Dst: g_param_spec_pool_new
      Src: /src/glib/gobject/gobject.c:926,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 930
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 930
    functionName: g_object_init_pspec_pool
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_param_spec_pool_new
    - g_param_spec_pool_free
    - g_atomic_pointer_get
    - g_atomic_pointer_compare_and_exchange
    - G_UNLIKELY
    linkageType: ''
    returnType: void
    signature: 'static inline void g_object_init_pspec_pool (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: object_get_optional_flags
      Src: /src/glib/gobject/gobject.c:1657,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 1658
      start: 1654
    functionDepth: 0
    functionLinenumber: 1654
    functionLinenumberEnd: 1658
    functionName: _g_object_has_signal_handler
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - object_get_optional_flags
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _g_object_has_signal_handler (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:3834,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:3834,1
    - Dst: floating_flag_handler
      Src: /src/glib/gobject/gobject.c:3835,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - _object
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 3836
      start: 3830
    functionDepth: 0
    functionLinenumber: 3830
    functionLinenumberEnd: 3836
    functionName: g_object_is_floating
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - floating_flag_handler
    - g_return_val_if_fail
    - G_IS_OBJECT
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_object_is_floating (gpointer _object) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - what
    - data
    argTypes:
    - gsize
    - gpointer
    constantsTouched: []
    func_position:
      end: 5398
      start: 5379
    functionDepth: 0
    functionLinenumber: 5379
    functionLinenumberEnd: 5398
    functionName: g_object_compat_control
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gsize
    signature: 'gsize g_object_compat_control (gsize what, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_force_floating
      Src: /src/glib/gobject/gobject.c:5405,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - GInitiallyUnowned*
    constantsTouched: []
    func_position:
      end: 5406
      start: 5402
    functionDepth: 0
    functionLinenumber: 5402
    functionLinenumberEnd: 5406
    functionName: g_initially_unowned_init
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_object_force_floating
    linkageType: ''
    returnType: void
    signature: 'static void g_initially_unowned_init (GInitiallyUnowned *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PARAM_SPEC_PARAM_ID
      Src: /src/glib/gobject/gobject.c:2126,1
    - Dst: g_type_class_peek
      Src: /src/glib/gobject/gobject.c:2131,1
    - Dst: G_LIKELY
      Src: /src/glib/gobject/gobject.c:2128,1
    - Dst: g_assert
      Src: /src/glib/gobject/gobject.c:2133,1
    - Dst: param_spec_follow_override
      Src: /src/glib/gobject/gobject.c:2135,1
    - Dst: consider_issuing_property_deprecation_warning
      Src: /src/glib/gobject/gobject.c:2137,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - object
    - pspec
    - value
    argTypes:
    - GObject*
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 2140
      start: 2119
    functionDepth: 0
    functionLinenumber: 2119
    functionLinenumberEnd: 2140
    functionName: object_get_property
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - PARAM_SPEC_PARAM_ID
    - g_assert
    - g_type_class_peek
    - G_LIKELY
    - consider_issuing_property_deprecation_warning
    - param_spec_follow_override
    linkageType: ''
    returnType: void
    signature: "static inline void object_get_property (GObject *object,\t\t GParamSpec\
      \ *pspec,\t\t GValue *value) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_type_class_peek_parent
      Src: /src/glib/gobject/gobject.c:935,1
    - Dst: g_slist_length
      Src: /src/glib/gobject/gobject.c:945,1
    - Dst: g_slist_copy
      Src: /src/glib/gobject/gobject.c:944,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - class
    argTypes:
    - GObjectClass*
    constantsTouched: []
    func_position:
      end: 950
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 950
    functionName: g_object_base_class_init
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_slist_length
    - g_type_class_peek_parent
    - g_slist_copy
    linkageType: ''
    returnType: void
    signature: 'static void g_object_base_class_init (GObjectClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLASS_NEEDS_NOTIFY
      Src: /src/glib/gobject/gobject.c:1663,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gobject/gobject.c:1663,1
    - Dst: object_get_optional_flags
      Src: /src/glib/gobject/gobject.c:1664,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 1665
      start: 1660
    functionDepth: 0
    functionLinenumber: 1660
    functionLinenumberEnd: 1665
    functionName: _g_object_has_notify_handler
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - object_get_optional_flags
    - CLASS_NEEDS_NOTIFY
    - G_OBJECT_GET_CLASS
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean _g_object_has_notify_handler (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: object_unset_optional_flags
      Src: /src/glib/gobject/gobject.c:1692,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 1693
      start: 1689
    functionDepth: 0
    functionLinenumber: 1689
    functionLinenumberEnd: 1693
    functionName: unset_object_in_construction
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - object_unset_optional_flags
    linkageType: ''
    returnType: void
    signature: 'static inline void unset_object_in_construction (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_pointer
      Src: /src/glib/gobject/gobject.c:4525,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - object_ptr
    argTypes:
    - GObject**
    constantsTouched: []
    func_position:
      end: 4526
      start: 4522
    functionDepth: 0
    functionLinenumber: 4522
    functionLinenumberEnd: 4526
    functionName: g_clear_object
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    linkageType: ''
    returnType: void
    signature: 'void g_clear_object (GObject **object_ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GInitiallyUnownedClass*
    constantsTouched: []
    func_position:
      end: 5411
      start: 5408
    functionDepth: 0
    functionLinenumber: 5408
    functionLinenumberEnd: 5411
    functionName: g_initially_unowned_class_init
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_initially_unowned_class_init (GInitiallyUnownedClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:3762,1
    - Dst: g_object_weak_ref
      Src: /src/glib/gobject/gobject.c:3765,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:3763,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:3762,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - object
    - weak_pointer_location
    argTypes:
    - GObject*
    - gpointer*
    constantsTouched: []
    func_position:
      end: 3768
      start: 3758
    functionDepth: 0
    functionLinenumber: 3758
    functionLinenumberEnd: 3768
    functionName: g_object_add_weak_pointer
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - G_IS_OBJECT
    - g_object_weak_ref
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_object_add_weak_pointer (GObject *object, gpointer *weak_pointer_location) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec**
    constantsTouched: []
    func_position:
      end: 1425
      start: 1420
    functionDepth: 0
    functionLinenumber: 1420
    functionLinenumberEnd: 1425
    functionName: param_spec_follow_override
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void param_spec_follow_override (GParamSpec **pspec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:4239,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:4239,1
    - Dst: object_ref
      Src: /src/glib/gobject/gobject.c:4241,1
    - Dst: toggle_notify
      Src: /src/glib/gobject/gobject.c:4244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - _object
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 4247
      start: 4232
    functionDepth: 0
    functionLinenumber: 4232
    functionLinenumberEnd: 4247
    functionName: (g_object_ref)
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - object_ref
    - G_IS_OBJECT
    - toggle_notify
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer (g_object_ref) (gpointer _object) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - wrdata
    - weak_ref
    argTypes:
    - WeakRefData*
    - GWeakRef*
    constantsTouched: []
    func_position:
      end: 461
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 461
    functionName: weak_ref_data_list_find
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint32
    signature: 'static gint32 weak_ref_data_list_find (WeakRefData *wrdata, GWeakRef
      *weak_ref) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_param_spec_ref_sink
      Src: /src/glib/gobject/gobject.c:1051,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:1057,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject.c:1058,1
    - Dst: g_param_spec_pool_lookup
      Src: /src/glib/gobject/gobject.c:1055,1
    - Dst: g_object_init_pspec_pool
      Src: /src/glib/gobject/gobject.c:1053,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/gobject.c:1060,1
    - Dst: PARAM_SPEC_SET_PARAM_ID
      Src: /src/glib/gobject/gobject.c:1064,1
    - Dst: g_param_spec_pool_insert
      Src: /src/glib/gobject/gobject.c:1065,1
    - Dst: g_steal_pointer
      Src: /src/glib/gobject/gobject.c:1065,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - g_type
    - property_id
    - pspec
    argTypes:
    - GType
    - guint
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1067
      start: 1046
    functionDepth: 0
    functionLinenumber: 1046
    functionLinenumberEnd: 1067
    functionName: install_property_internal
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - PARAM_SPEC_SET_PARAM_ID
    - g_steal_pointer
    - g_param_spec_pool_insert
    - g_param_spec_unref
    - g_param_spec_pool_lookup
    - g_object_init_pspec_pool
    - g_critical
    - g_param_spec_ref_sink
    - g_type_name
    linkageType: ''
    returnType: gboolean
    signature: "static inline gboolean install_property_internal (GType g_type,\t\t\
      \t guint property_id,\t\t\t GParamSpec *pspec) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:5003,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/gobject.c:5010,1
    - Dst: g_strdup_printf
      Src: /src/glib/gobject/gobject.c:5003,1
    - Dst: G_VALUE_TYPE_NAME
      Src: /src/glib/gobject/gobject.c:5003,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5013
      start: 4995
    functionDepth: 0
    functionLinenumber: 4995
    functionLinenumberEnd: 5013
    functionName: g_value_object_lcopy_value
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - G_VALUE_TYPE_NAME
    - g_return_val_if_fail
    - g_strdup_printf
    - g_object_ref
    linkageType: ''
    returnType: gchar*
    signature: "static gchar *g_value_object_lcopy_value (const GValue *value,\t\t\
      \t guint n_collect_values,\t\t\t GTypeCValue *collect_values,\t\t\t guint collect_flags) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/gobject/gobject.c:475,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gobject.c:483,1
    - Dst: g_renew
      Src: /src/glib/gobject/gobject.c:489,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - wrdata
    - weak_ref
    argTypes:
    - WeakRefData*
    - GWeakRef*
    constantsTouched: []
    func_position:
      end: 498
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 498
    functionName: weak_ref_data_list_add
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_renew
    - G_UNLIKELY
    - g_new
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean weak_ref_data_list_add (WeakRefData *wrdata, GWeakRef
      *weak_ref) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:1072,1
    - Dst: G_IS_PARAM_SPEC
      Src: /src/glib/gobject/gobject.c:1072,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:1073,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:1075,1
    - Dst: PARAM_SPEC_PARAM_ID
      Src: /src/glib/gobject/gobject.c:1073,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:1078,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:1081,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1084
      start: 1069
    functionDepth: 0
    functionLinenumber: 1069
    functionLinenumberEnd: 1084
    functionName: validate_pspec_to_install
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_PARAM_SPEC
    - PARAM_SPEC_PARAM_ID
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean validate_pspec_to_install (GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_free
      Src: /src/glib/gobject/gobject.c:658,1
    - Dst: g_free_sized
      Src: /src/glib/gobject/gobject.c:659,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 660
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 660
    functionName: g_object_notify_queue_free
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_slist_free
    - g_free_sized
    linkageType: ''
    returnType: void
    signature: 'static void g_object_notify_queue_free (gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_ref
      Src: /src/glib/gobject/gobject.c:1838,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:1835,1
    - Dst: TRACE
      Src: /src/glib/gobject/gobject.c:1840,1
    - Dst: GOBJECT_OBJECT_DISPOSE
      Src: /src/glib/gobject/gobject.c:1840,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gobject.c:1842,1
    - Dst: weak_ref_data_clear_list
      Src: /src/glib/gobject/gobject.c:1848,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gobject.c:1852,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:1835,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gobject.c:1840,1
    - Dst: GOBJECT_OBJECT_DISPOSE_END
      Src: /src/glib/gobject/gobject.c:1842,1
    - Dst: object_get_optional_flags
      Src: /src/glib/gobject/gobject.c:1844,1
    - Dst: TRACE
      Src: /src/glib/gobject/gobject.c:1842,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:1836,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/gobject.c:1836,1
    - Dst: weak_ref_data_get_surely
      Src: /src/glib/gobject/gobject.c:1846,1
    - Dst: weak_ref_data_lock
      Src: /src/glib/gobject/gobject.c:1847,1
    - Dst: weak_ref_data_unlock
      Src: /src/glib/gobject/gobject.c:1849,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gobject/gobject.c:1841,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 1853
      start: 1830
    functionDepth: 0
    functionLinenumber: 1830
    functionLinenumberEnd: 1853
    functionName: g_object_run_dispose
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - object_get_optional_flags
    - weak_ref_data_clear_list
    - g_object_unref
    - TRACE
    - g_atomic_int_get
    - g_return_if_fail
    - GOBJECT_OBJECT_DISPOSE
    - G_TYPE_FROM_INSTANCE
    - G_IS_OBJECT
    - weak_ref_data_get_surely
    - weak_ref_data_lock
    - g_object_ref
    - G_OBJECT_GET_CLASS
    - weak_ref_data_unlock
    - GOBJECT_OBJECT_DISPOSE_END
    linkageType: ''
    returnType: void
    signature: 'void g_object_run_dispose (GObject *object) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/gobject.c:2882,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/gobject.c:2906,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:2934,1
    - Dst: va_arg
      Src: /src/glib/gobject/gobject.c:2942,1
    - Dst: g_object_new_internal
      Src: /src/glib/gobject/gobject.c:2964,1
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/gobject.c:2876,1
    - Dst: G_TYPE_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:2868,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/gobject.c:2888,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gobject.c:2900,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/gobject.c:2904,1
    - Dst: g_realloc
      Src: /src/glib/gobject/gobject.c:2917,1
    - Dst: g_new
      Src: /src/glib/gobject/gobject.c:2907,1
    - Dst: G_VALUE_COLLECT_INIT2
      Src: /src/glib/gobject/gobject.c:2930,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/gobject.c:2955,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:2868,1
    - Dst: g_type_class_peek_static
      Src: /src/glib/gobject/gobject.c:2873,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/gobject.c:2881,1
    - Dst: g_object_new_is_valid_property
      Src: /src/glib/gobject/gobject.c:2897,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gobject.c:2955,1
    - Dst: g_free
      Src: /src/glib/gobject/gobject.c:2959,1
    - Dst: g_type_class_unref
      Src: /src/glib/gobject/gobject.c:2967,1
    - Dst: g_object_new_internal
      Src: /src/glib/gobject/gobject.c:2944,1
    - Dst: find_pspec
      Src: /src/glib/gobject/gobject.c:2895,1
    - Dst: g_new
      Src: /src/glib/gobject/gobject.c:2909,1
    - Dst: memcpy
      Src: /src/glib/gobject/gobject.c:2912,1
    - Dst: memcpy
      Src: /src/glib/gobject/gobject.c:2910,1
    - Dst: memcpy
      Src: /src/glib/gobject/gobject.c:2911,1
    - Dst: g_new
      Src: /src/glib/gobject/gobject.c:2908,1
    - Dst: g_realloc
      Src: /src/glib/gobject/gobject.c:2918,1
    - Dst: g_realloc
      Src: /src/glib/gobject/gobject.c:2919,1
    - Dst: memset
      Src: /src/glib/gobject/gobject.c:2928,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gobject.c:2935,1
    - Dst: g_free
      Src: /src/glib/gobject/gobject.c:2936,1
    - Dst: g_free
      Src: /src/glib/gobject/gobject.c:2957,1
    - Dst: g_free
      Src: /src/glib/gobject/gobject.c:2958,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 78
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2970
      start: 2844
    functionDepth: 0
    functionLinenumber: 2844
    functionLinenumberEnd: 2970
    functionName: g_object_new_valist
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_realloc
    - find_pspec
    - G_UNLIKELY
    - g_object_new_internal
    - G_N_ELEMENTS
    - G_TYPE_IS_OBJECT
    - g_type_class_unref
    - g_new
    - va_arg
    - memset
    - G_VALUE_COLLECT_INIT2
    - g_return_val_if_fail
    - g_type_class_ref
    - g_object_new_is_valid_property
    - g_critical
    - g_type_class_peek_static
    - g_free
    - g_value_unset
    linkageType: ''
    returnType: G_GNUC_END_IGNORE_DEPRECATIONS*
    signature: 'G_GNUC_END_IGNORE_DEPRECATIONS /** * g_object_new_valist: (skip) *
      @object_type: the type id of the #GObject subtype to instantiate * @first_property_name:
      the name of the first property * @var_args: the value of the first property,
      followed optionally by more * name/value pairs, followed by %NULL * * Creates
      a new instance of a #GObject subtype and sets its properties. * * Construction
      parameters (see %G_PARAM_CONSTRUCT, %G_PARAM_CONSTRUCT_ONLY) * which are not
      explicitly specified are set to their default values. * * Returns: a new instance
      of @object_type */ GObject *g_object_new_valist (GType object_type, const gchar
      *first_property_name, va_list var_args) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:3591,1
    - Dst: va_arg
      Src: /src/glib/gobject/gobject.c:3597,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:3591,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:3592,1
    - Dst: va_start
      Src: /src/glib/gobject/gobject.c:3594,1
    - Dst: va_arg
      Src: /src/glib/gobject/gobject.c:3598,1
    - Dst: strncmp
      Src: /src/glib/gobject/gobject.c:3601,1
    - Dst: strncmp
      Src: /src/glib/gobject/gobject.c:3602,1
    - Dst: strcmp
      Src: /src/glib/gobject/gobject.c:3607,1
    - Dst: strcmp
      Src: /src/glib/gobject/gobject.c:3608,1
    - Dst: va_end
      Src: /src/glib/gobject/gobject.c:3628,1
    - Dst: va_arg
      Src: /src/glib/gobject/gobject.c:3626,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:3625,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:3615,1
    - Dst: G_OBJECT_TYPE
      Src: /src/glib/gobject/gobject.c:3620,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:3621,1
    - Dst: g_signal_parse_name
      Src: /src/glib/gobject/gobject.c:3620,1
    - Dst: g_signal_handlers_disconnect_matched
      Src: /src/glib/gobject/gobject.c:3622,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 2
    argNames:
    - _object
    - signal_spec
    - '...'
    argTypes:
    - gpointer
    - gchar*
    constantsTouched: []
    func_position:
      end: 3629
      start: 3583
    functionDepth: 0
    functionLinenumber: 3583
    functionLinenumberEnd: 3629
    functionName: g_object_disconnect
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - G_OBJECT_TYPE
    - g_return_if_fail
    - G_IS_OBJECT
    - strcmp
    - strncmp
    - g_signal_parse_name
    - g_signal_handlers_disconnect_matched
    - va_arg
    - g_critical
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: "void g_object_disconnect (gpointer _object,\t\t const gchar *signal_spec,\t\
      \t ...) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_set_object
      Src: /src/glib/gobject/gobject.c:4944,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - src_value
    - dest_value
    argTypes:
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 4946
      start: 4940
    functionDepth: 0
    functionLinenumber: 4940
    functionLinenumberEnd: 4946
    functionName: g_value_object_copy_value
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_set_object
    linkageType: ''
    returnType: void
    signature: "static void g_value_object_copy_value (const GValue *src_value,\t\t\
      \t GValue\t*dest_value) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_type_create_instance
      Src: /src/glib/gobject/gobject.c:2980,1
    - Dst: object_set_property
      Src: /src/glib/gobject/gobject.c:2994,1
    - Dst: g_object_notify_queue_thaw
      Src: /src/glib/gobject/gobject.c:2996,1
    - Dst: g_object_notify_queue_freeze
      Src: /src/glib/gobject/gobject.c:2985,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3004
      start: 2972
    functionDepth: 0
    functionLinenumber: 2972
    functionLinenumberEnd: 3004
    functionName: g_object_constructor
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - object_set_property
    - g_type_create_instance
    - g_object_notify_queue_thaw
    - g_object_notify_queue_freeze
    linkageType: ''
    returnType: GObject*
    signature: "static GObject *g_object_constructor (GType type,\t\t guint n_construct_properties,\t\
      \t GObjectConstructParam *construct_params) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gobject.c:4952,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/gobject.c:4953,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gobject.c:4952,1
    - Dst: G_OBJECT_TYPE
      Src: /src/glib/gobject/gobject.c:4952,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - src_value
    - dest_value
    argTypes:
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 4956
      start: 4948
    functionDepth: 0
    functionLinenumber: 4948
    functionLinenumberEnd: 4956
    functionName: g_value_object_transform_value
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - G_OBJECT_TYPE
    - g_object_ref
    - g_type_is_a
    - G_VALUE_TYPE
    linkageType: ''
    returnType: void
    signature: "static void g_value_object_transform_value (const GValue *src_value,\t\
      \t\t\tGValue *dest_value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/gobject.c:641,1
    - Dst: g_assert
      Src: /src/glib/gobject/gobject.c:642,1
    - Dst: object_get_optional_flags_p
      Src: /src/glib/gobject/gobject.c:649,1
    - Dst: g_bit_unlock
      Src: /src/glib/gobject/gobject.c:649,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - object
    - lock_bit
    argTypes:
    - GObject*
    - guint
    constantsTouched: []
    func_position:
      end: 650
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 650
    functionName: object_bit_unlock
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_bit_unlock
    - object_get_optional_flags_p
    linkageType: ''
    returnType: void
    signature: 'static void object_bit_unlock (GObject *object, guint lock_bit) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_emit
      Src: /src/glib/gobject/gobject.c:1818,1
    - Dst: g_param_spec_get_name_quark
      Src: /src/glib/gobject/gobject.c:1818,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - object
    - n_pspecs
    - pspecs
    argTypes:
    - GObject*
    - guint
    - GParamSpec**
    constantsTouched: []
    func_position:
      end: 1819
      start: 1810
    functionDepth: 0
    functionLinenumber: 1810
    functionLinenumberEnd: 1819
    functionName: g_object_dispatch_properties_changed
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_param_spec_get_name_quark
    - g_signal_emit
    linkageType: ''
    returnType: void
    signature: "static void g_object_dispatch_properties_changed (GObject *object,\t\
      \t\t\t guint n_pspecs,\t\t\t\t GParamSpec **pspecs) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:4567,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:4567,1
    - Dst: g_datalist_id_set_data
      Src: /src/glib/gobject/gobject.c:4570,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:4568,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - object
    - quark
    - data
    argTypes:
    - GObject*
    - GQuark
    - gpointer
    constantsTouched: []
    func_position:
      end: 4571
      start: 4562
    functionDepth: 0
    functionLinenumber: 4562
    functionLinenumberEnd: 4571
    functionName: g_object_set_qdata
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_datalist_id_set_data
    - G_IS_OBJECT
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_object_set_qdata (GObject *object,\t\t GQuark quark,\t\t gpointer\
      \ data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MAX
      Src: /src/glib/gobject/gobject.c:2437,1
    - Dst: MAX
      Src: /src/glib/gobject/gobject.c:2438,1
    - Dst: MAX
      Src: /src/glib/gobject/gobject.c:2439,1
    - Dst: G_ALIGNOF
      Src: /src/glib/gobject/gobject.c:2437,1
    - Dst: G_ALIGNOF
      Src: /src/glib/gobject/gobject.c:2438,1
    - Dst: G_ALIGNOF
      Src: /src/glib/gobject/gobject.c:2439,1
    - Dst: G_ALIGNOF
      Src: /src/glib/gobject/gobject.c:2440,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 2441
      start: 2433
    functionDepth: 0
    functionLinenumber: 2433
    functionLinenumberEnd: 2441
    functionName: g_object_is_aligned
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - MAX
    - G_ALIGNOF
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean g_object_is_aligned (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:1406,1
    - Dst: validate_pspec_to_install
      Src: /src/glib/gobject/gobject.c:1409,1
    - Dst: G_TYPE_IS_INTERFACE
      Src: /src/glib/gobject/gobject.c:1406,1
    - Dst: G_IS_PARAM_SPEC_OVERRIDE
      Src: /src/glib/gobject/gobject.c:1407,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:1407,1
    - Dst: g_param_spec_ref_sink
      Src: /src/glib/gobject/gobject.c:1411,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/gobject.c:1412,1
    - Dst: install_property_internal
      Src: /src/glib/gobject/gobject.c:1416,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - g_iface
    - pspec
    argTypes:
    - gpointer
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1417
      start: 1400
    functionDepth: 0
    functionLinenumber: 1400
    functionLinenumberEnd: 1417
    functionName: g_object_interface_install_property
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - validate_pspec_to_install
    - G_IS_PARAM_SPEC_OVERRIDE
    - g_param_spec_unref
    - G_TYPE_IS_INTERFACE
    - g_param_spec_ref_sink
    - install_property_internal
    linkageType: ''
    returnType: void
    signature: "void g_object_interface_install_property (gpointer g_iface,\t\t\t\t\
      \ GParamSpec *pspec) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CLASS_HAS_PROPS
      Src: /src/glib/gobject/gobject.c:1702,1
    - Dst: CLASS_NEEDS_NOTIFY
      Src: /src/glib/gobject/gobject.c:1702,1
    - Dst: set_object_in_construction
      Src: /src/glib/gobject/gobject.c:1709,1
    - Dst: g_object_notify_queue_freeze
      Src: /src/glib/gobject/gobject.c:1705,1
    - Dst: GOBJECT_IF_DEBUG
      Src: /src/glib/gobject/gobject.c:1711,1
    - Dst: G_LOCK
      Src: /src/glib/gobject/gobject.c:1713,1
    - Dst: g_hash_table_add
      Src: /src/glib/gobject/gobject.c:1715,1
    - Dst: G_UNLOCK
      Src: /src/glib/gobject/gobject.c:1716,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - object
    - class
    argTypes:
    - GObject*
    - GObjectClass*
    constantsTouched: []
    func_position:
      end: 1718
      start: 1695
    functionDepth: 0
    functionLinenumber: 1695
    functionLinenumberEnd: 1718
    functionName: g_object_init
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_object_notify_queue_freeze
    - G_UNLOCK
    - CLASS_NEEDS_NOTIFY
    - set_object_in_construction
    - CLASS_HAS_PROPS
    - GOBJECT_IF_DEBUG
    - G_LOCK
    - g_hash_table_add
    linkageType: ''
    returnType: void
    signature: "static void g_object_init (GObject\t\t*object,\t GObjectClass\t*class) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/gobject.c:4183,1
    - Dst: g_atomic_int_compare_and_exchange_full
      Src: /src/glib/gobject/gobject.c:4192,1
    - Dst: TRACE
      Src: /src/glib/gobject/gobject.c:4212,1
    - Dst: toggle_refs_check_and_ref_or_deref
      Src: /src/glib/gobject/gobject.c:4199,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:4208,1
    - Dst: GOBJECT_OBJECT_REF
      Src: /src/glib/gobject/gobject.c:4212,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gobject.c:4212,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 3
    argNames:
    - object
    - out_toggle_notify
    - out_toggle_data
    argTypes:
    - GObject*
    - GToggleNotify*
    - gpointer*
    constantsTouched: []
    func_position:
      end: 4217
      start: 4174
    functionDepth: 0
    functionLinenumber: 4174
    functionLinenumberEnd: 4217
    functionName: object_ref
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_atomic_int_compare_and_exchange_full
    - g_return_val_if_fail
    - TRACE
    - g_atomic_int_get
    - G_TYPE_FROM_INSTANCE
    - toggle_refs_check_and_ref_or_deref
    - GOBJECT_OBJECT_REF
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer object_ref (GObject *object, GToggleNotify *out_toggle_notify,
      gpointer *out_toggle_data) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: g_newa0
      Src: /src/glib/gobject/gobject.c:2475,1
    - Dst: g_new0
      Src: /src/glib/gobject/gobject.c:2479,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:2547,1
    - Dst: g_free
      Src: /src/glib/gobject/gobject.c:2530,1
    - Dst: g_datalist_id_get_data
      Src: /src/glib/gobject/gobject.c:2571,1
    - Dst: object_set_property
      Src: /src/glib/gobject/gobject.c:2584,1
    - Dst: G_LIKELY
      Src: /src/glib/gobject/gobject.c:2472,1
    - Dst: consider_issuing_property_deprecation_warning
      Src: /src/glib/gobject/gobject.c:2505,1
    - Dst: G_OBJECT_CLASS_NAME
      Src: /src/glib/gobject/gobject.c:2541,1
    - Dst: g_object_is_aligned
      Src: /src/glib/gobject/gobject.c:2545,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:2540,1
    - Dst: g_new0
      Src: /src/glib/gobject/gobject.c:2480,1
    - Dst: g_newa0
      Src: /src/glib/gobject/gobject.c:2474,1
    - Dst: g_param_value_set_default
      Src: /src/glib/gobject/gobject.c:2514,1
    - Dst: g_free
      Src: /src/glib/gobject/gobject.c:2531,1
    - Dst: _g_object_has_notify_handler
      Src: /src/glib/gobject/gobject.c:2565,1
    - Dst: _g_object_has_notify_handler
      Src: /src/glib/gobject/gobject.c:2566,1
    - Dst: g_object_notify_queue_freeze
      Src: /src/glib/gobject/gobject.c:2573,1
    - Dst: g_object_notify_queue_thaw
      Src: /src/glib/gobject/gobject.c:2588,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gobject.c:2513,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gobject.c:2526,1
    - Dst: object_in_construction
      Src: /src/glib/gobject/gobject.c:2559,1
    - Dst: G_OBJECT_CLASS_NAME
      Src: /src/glib/gobject/gobject.c:2552,1
    - Dst: unset_object_in_construction
      Src: /src/glib/gobject/gobject.c:2561,1
    - Dst: CLASS_HAS_PROPS
      Src: /src/glib/gobject/gobject.c:2563,1
    - Dst: CLASS_HAS_CUSTOM_CONSTRUCTED
      Src: /src/glib/gobject/gobject.c:2578,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 74
    argCount: 3
    argNames:
    - class
    - params
    - n_params
    argTypes:
    - GObjectClass*
    - GObjectConstructParam*
    - guint
    constantsTouched: []
    func_position:
      end: 2591
      start: 2443
    functionDepth: 0
    functionLinenumber: 2443
    functionLinenumberEnd: 2591
    functionName: g_object_new_with_custom_constructor
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - object_set_property
    - G_OBJECT_CLASS_NAME
    - g_newa0
    - object_in_construction
    - g_object_notify_queue_thaw
    - g_object_is_aligned
    - unset_object_in_construction
    - _g_object_has_notify_handler
    - CLASS_HAS_PROPS
    - g_param_value_set_default
    - g_datalist_id_get_data
    - g_value_init
    - G_LIKELY
    - consider_issuing_property_deprecation_warning
    - g_object_notify_queue_freeze
    - g_critical
    - CLASS_HAS_CUSTOM_CONSTRUCTED
    - g_new0
    - g_free
    - g_value_unset
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer g_object_new_with_custom_constructor (GObjectClass
      *class, GObjectConstructParam *params, guint n_params) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/gobject.c:1729,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - object
    - property_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1732
      start: 1720
    functionDepth: 0
    functionLinenumber: 1720
    functionLinenumberEnd: 1732
    functionName: g_object_do_set_property
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: "static void g_object_do_set_property (GObject *object,\t\t\t guint\
      \ property_id,\t\t\t const GValue *value,\t\t\t GParamSpec *pspec) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_pointer_bit_lock_mask_ptr
      Src: /src/glib/gobject/gobject.c:5448,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5449
      start: 5444
    functionDepth: 0
    functionLinenumber: 5444
    functionLinenumberEnd: 5449
    functionName: _weak_ref_clean_pointer
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_pointer_bit_lock_mask_ptr
    linkageType: ''
    returnType: GObject*
    signature: 'static GObject *_weak_ref_clean_pointer (gpointer ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:1621,1
    - Dst: g_object_init_pspec_pool
      Src: /src/glib/gobject/gobject.c:1623,1
    - Dst: g_param_spec_pool_list
      Src: /src/glib/gobject/gobject.c:1625,1
    - Dst: G_TYPE_IS_INTERFACE
      Src: /src/glib/gobject/gobject.c:1621,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1632
      start: 1613
    functionDepth: 0
    functionLinenumber: 1613
    functionLinenumberEnd: 1632
    functionName: g_object_interface_list_properties
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_param_spec_pool_list
    - g_return_val_if_fail
    - G_TYPE_IS_INTERFACE
    - g_object_init_pspec_pool
    linkageType: ''
    returnType: GParamSpec**
    signature: "GParamSpec **g_object_interface_list_properties (gpointer g_iface,\t\
      \t\t\t guint *n_properties_p) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gobject.c:3162,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:3170,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:3164,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gobject.c:3168,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/gobject.c:3165,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/gobject.c:3171,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - object
    - pspec
    - property_name
    argTypes:
    - GObject*
    - GParamSpec*
    - char*
    constantsTouched: []
    func_position:
      end: 3175
      start: 3157
    functionDepth: 0
    functionLinenumber: 3157
    functionLinenumberEnd: 3175
    functionName: g_object_get_is_valid_property
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_critical
    - G_UNLIKELY
    - G_OBJECT_TYPE_NAME
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean g_object_get_is_valid_property (GObject *object,
      GParamSpec *pspec, const char *property_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_take_object
      Src: /src/glib/gobject/gobject.c:5069,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - value
    - v_object
    argTypes:
    - GValue*
    - gpointer
    constantsTouched: []
    func_position:
      end: 5070
      start: 5065
    functionDepth: 0
    functionLinenumber: 5065
    functionLinenumberEnd: 5070
    functionName: g_value_set_object_take_ownership
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_value_take_object
    linkageType: ''
    returnType: void
    signature: "void g_value_set_object_take_ownership (GValue *value,\t\t\t\t gpointer\
      \ v_object) "
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/gobject.c:5527,1
    - Dst: _weak_ref_unlock
      Src: /src/glib/gobject/gobject.c:5591,1
    - Dst: _weak_ref_lock
      Src: /src/glib/gobject/gobject.c:5579,1
    - Dst: weak_ref_data_list_remove
      Src: /src/glib/gobject/gobject.c:5608,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:5628,1
    - Dst: weak_ref_data_list_add
      Src: /src/glib/gobject/gobject.c:5626,1
    - Dst: object_get_optional_flags
      Src: /src/glib/gobject/gobject.c:5527,1
    - Dst: weak_ref_data_ref
      Src: /src/glib/gobject/gobject.c:5555,1
    - Dst: weak_ref_data_lock
      Src: /src/glib/gobject/gobject.c:5577,1
    - Dst: weak_ref_data_unlock
      Src: /src/glib/gobject/gobject.c:5589,1
    - Dst: weak_ref_data_lock
      Src: /src/glib/gobject/gobject.c:5571,1
    - Dst: weak_ref_data_unlock
      Src: /src/glib/gobject/gobject.c:5611,1
    - Dst: g_assert
      Src: /src/glib/gobject/gobject.c:5616,1
    - Dst: weak_ref_data_list_find
      Src: /src/glib/gobject/gobject.c:5617,1
    - Dst: weak_ref_data_unlock
      Src: /src/glib/gobject/gobject.c:5635,1
    - Dst: weak_ref_data_get_or_create
      Src: /src/glib/gobject/gobject.c:5524,1
    - Dst: _weak_ref_lock
      Src: /src/glib/gobject/gobject.c:5545,1
    - Dst: _weak_ref_unlock
      Src: /src/glib/gobject/gobject.c:5550,1
    - Dst: weak_ref_data_get
      Src: /src/glib/gobject/gobject.c:5555,1
    - Dst: g_assert
      Src: /src/glib/gobject/gobject.c:5617,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:5621,1
    - Dst: _weak_ref_unlock_and_set
      Src: /src/glib/gobject/gobject.c:5634,1
    - Dst: weak_ref_data_unref
      Src: /src/glib/gobject/gobject.c:5637,1
    - Dst: g_assert
      Src: /src/glib/gobject/gobject.c:5539,1
    - Dst: _weak_ref_unlock
      Src: /src/glib/gobject/gobject.c:5557,1
    - Dst: weak_ref_data_lock
      Src: /src/glib/gobject/gobject.c:5576,1
    - Dst: weak_ref_data_has
      Src: /src/glib/gobject/gobject.c:5581,1
    - Dst: weak_ref_data_unlock
      Src: /src/glib/gobject/gobject.c:5590,1
    - Dst: weak_ref_data_lock
      Src: /src/glib/gobject/gobject.c:5572,1
    - Dst: weak_ref_data_unref
      Src: /src/glib/gobject/gobject.c:5592,1
    - Dst: weak_ref_data_list_find
      Src: /src/glib/gobject/gobject.c:5604,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:5606,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/gobject.c:5619,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 66
    argCount: 3
    argNames:
    - weak_ref
    - new_object
    - called_by_init
    argTypes:
    - GWeakRef*
    - GObject*
    - gboolean
    constantsTouched: []
    func_position:
      end: 5638
      start: 5515
    functionDepth: 0
    functionLinenumber: 5515
    functionLinenumberEnd: 5638
    functionName: _weak_ref_set
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - object_get_optional_flags
    - _weak_ref_unlock
    - weak_ref_data_has
    - g_atomic_int_get
    - g_assert
    - weak_ref_data_ref
    - _weak_ref_unlock_and_set
    - weak_ref_data_get
    - weak_ref_data_unref
    - weak_ref_data_get_or_create
    - weak_ref_data_lock
    - weak_ref_data_list_remove
    - g_critical
    - weak_ref_data_unlock
    - weak_ref_data_list_add
    - weak_ref_data_list_find
    - _weak_ref_lock
    linkageType: ''
    returnType: void
    signature: 'static void _weak_ref_set (GWeakRef *weak_ref, GObject *new_object,
      gboolean called_by_init) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/gobject.c:1637,1
    - Dst: object_get_optional_flags_p
      Src: /src/glib/gobject/gobject.c:1637,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 1638
      start: 1634
    functionDepth: 0
    functionLinenumber: 1634
    functionLinenumberEnd: 1638
    functionName: object_get_optional_flags
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - object_get_optional_flags_p
    - g_atomic_int_get
    linkageType: ''
    returnType: guint
    signature: 'static inline guint object_get_optional_flags (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_STRUCT_MEMBER_P
      Src: /src/glib/gobject/gobject.c:239,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: g_object_get_instance_private
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - G_STRUCT_MEMBER_P
    linkageType: ''
    returnType: G_ALWAYS_INLINE*
    signature: 'G_ALWAYS_INLINE static inline GObjectPrivate *g_object_get_instance_private
      (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:1583,1
    - Dst: G_IS_OBJECT_CLASS
      Src: /src/glib/gobject/gobject.c:1583,1
    - Dst: g_param_spec_pool_list
      Src: /src/glib/gobject/gobject.c:1585,1
    - Dst: G_OBJECT_CLASS_TYPE
      Src: /src/glib/gobject/gobject.c:1586,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1592
      start: 1576
    functionDepth: 0
    functionLinenumber: 1576
    functionLinenumberEnd: 1592
    functionName: g_object_class_list_properties
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_param_spec_pool_list
    - G_IS_OBJECT_CLASS
    - G_OBJECT_CLASS_TYPE
    linkageType: ''
    returnType: GParamSpec**
    signature: "GParamSpec ** /* free result */g_object_class_list_properties (GObjectClass\
      \ *class,\t\t\t\tguint *n_properties_p) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:2026,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:2027,1
    - Dst: g_object_notify_by_spec_internal
      Src: /src/glib/gobject/gobject.c:2029,1
    - Dst: G_IS_PARAM_SPEC
      Src: /src/glib/gobject/gobject.c:2027,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:2026,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - object
    - pspec
    argTypes:
    - GObject*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 2030
      start: 2021
    functionDepth: 0
    functionLinenumber: 2021
    functionLinenumberEnd: 2030
    functionName: g_object_notify_by_pspec
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_object_notify_by_spec_internal
    - G_IS_OBJECT
    - G_IS_PARAM_SPEC
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_object_notify_by_pspec (GObject *object,\t\t\t GParamSpec *pspec) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:3942,1
    - Dst: floating_flag_handler
      Src: /src/glib/gobject/gobject.c:3945,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:3943,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:3942,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/gobject.c:3943,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 3946
      start: 3939
    functionDepth: 0
    functionLinenumber: 3939
    functionLinenumberEnd: 3946
    functionName: g_object_force_floating
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - floating_flag_handler
    - G_IS_OBJECT
    - g_atomic_int_get
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_object_force_floating (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:4542,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:4542,1
    - Dst: g_datalist_id_get_data
      Src: /src/glib/gobject/gobject.c:4544,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - object
    - quark
    argTypes:
    - GObject*
    - GQuark
    constantsTouched: []
    func_position:
      end: 4545
      start: 4538
    functionDepth: 0
    functionLinenumber: 4538
    functionLinenumberEnd: 4545
    functionName: g_object_get_qdata
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_OBJECT
    - g_datalist_id_get_data
    linkageType: ''
    returnType: gpointer
    signature: "gpointer g_object_get_qdata (GObject *object,\t\t GQuark quark) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:1524,1
    - Dst: g_type_parent
      Src: /src/glib/gobject/gobject.c:1530,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:1526,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:1525,1
    - Dst: G_IS_OBJECT_CLASS
      Src: /src/glib/gobject/gobject.c:1524,1
    - Dst: G_OBJECT_CLASS_TYPE
      Src: /src/glib/gobject/gobject.c:1530,1
    - Dst: g_param_spec_pool_lookup
      Src: /src/glib/gobject/gobject.c:1532,1
    - Dst: g_type_interfaces
      Src: /src/glib/gobject/gobject.c:1543,1
    - Dst: G_OBJECT_CLASS_TYPE
      Src: /src/glib/gobject/gobject.c:1543,1
    - Dst: g_param_spec_pool_lookup
      Src: /src/glib/gobject/gobject.c:1546,1
    - Dst: G_OBJECT_CLASS_NAME
      Src: /src/glib/gobject/gobject.c:1558,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gobject/gobject.c:1563,1
    - Dst: g_param_spec_override
      Src: /src/glib/gobject/gobject.c:1562,1
    - Dst: g_free
      Src: /src/glib/gobject/gobject.c:1552,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:1557,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 3
    argNames:
    - oclass
    - property_id
    - name
    argTypes:
    - GObjectClass*
    - guint
    - gchar*
    constantsTouched: []
    func_position:
      end: 1564
      start: 1515
    functionDepth: 0
    functionLinenumber: 1515
    functionLinenumberEnd: 1564
    functionName: g_object_class_override_property
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - G_OBJECT_CLASS_NAME
    - g_param_spec_override
    - g_free
    - g_object_class_install_property
    - g_param_spec_pool_lookup
    - g_type_interfaces
    - g_critical
    - g_type_parent
    - G_IS_OBJECT_CLASS
    - G_OBJECT_CLASS_TYPE
    linkageType: ''
    returnType: void
    signature: "void g_object_class_override_property (GObjectClass *oclass,\t\t\t\
      \t guint property_id,\t\t\t\t const gchar *name) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:1955,1
    - Dst: G_OBJECT_TYPE
      Src: /src/glib/gobject/gobject.c:1964,1
    - Dst: g_param_spec_pool_lookup
      Src: /src/glib/gobject/gobject.c:1962,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:1955,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:1956,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:1968,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/gobject.c:1970,1
    - Dst: g_object_notify_by_spec_internal
      Src: /src/glib/gobject/gobject.c:1973,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - object
    - property_name
    argTypes:
    - GObject*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1974
      start: 1949
    functionDepth: 0
    functionLinenumber: 1949
    functionLinenumberEnd: 1974
    functionName: g_object_notify
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - G_OBJECT_TYPE
    - g_object_notify_by_spec_internal
    - G_OBJECT_TYPE_NAME
    - g_return_if_fail
    - G_IS_OBJECT
    - g_param_spec_pool_lookup
    - g_critical
    linkageType: ''
    returnType: void
    signature: "void g_object_notify (GObject *object,\t\t const gchar *property_name) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:3201,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gobject/gobject.c:3208,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:3201,1
    - Dst: memset
      Src: /src/glib/gobject/gobject.c:3210,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/gobject.c:3206,1
    - Dst: find_pspec
      Src: /src/glib/gobject/gobject.c:3214,1
    - Dst: g_object_get_is_valid_property
      Src: /src/glib/gobject/gobject.c:3216,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gobject.c:3218,1
    - Dst: object_get_property
      Src: /src/glib/gobject/gobject.c:3219,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gobject.c:3221,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 4
    argNames:
    - object
    - n_properties
    - names
    - values
    argTypes:
    - GObject*
    - guint
    - gchar*
    - GValue
    constantsTouched: []
    func_position:
      end: 3222
      start: 3191
    functionDepth: 0
    functionLinenumber: 3191
    functionLinenumberEnd: 3222
    functionName: g_object_getv
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_object_get_is_valid_property
    - g_object_unref
    - g_return_if_fail
    - object_get_property
    - G_IS_OBJECT
    - g_value_init
    - find_pspec
    - g_object_ref
    - G_OBJECT_GET_CLASS
    - memset
    linkageType: ''
    returnType: void
    signature: 'void g_object_getv (GObject *object, guint n_properties, const gchar
      *names[], GValue values[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:3920,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:3921,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:3920,1
    - Dst: floating_flag_handler
      Src: /src/glib/gobject/gobject.c:3923,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/gobject.c:3921,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - _object
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 3926
      start: 3916
    functionDepth: 0
    functionLinenumber: 3916
    functionLinenumberEnd: 3926
    functionName: g_object_take_ref
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - floating_flag_handler
    - g_return_val_if_fail
    - G_IS_OBJECT
    - g_atomic_int_get
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_object_take_ref (gpointer _object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:5091,1
    - Dst: g_clear_object
      Src: /src/glib/gobject/gobject.c:5093,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:5097,1
    - Dst: G_VALUE_HOLDS_OBJECT
      Src: /src/glib/gobject/gobject.c:5091,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:5097,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:5098,1
    - Dst: g_value_type_compatible
      Src: /src/glib/gobject/gobject.c:5098,1
    - Dst: G_OBJECT_TYPE
      Src: /src/glib/gobject/gobject.c:5098,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gobject.c:5098,1
    - Dst: g_steal_pointer
      Src: /src/glib/gobject/gobject.c:5100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - value
    - v_object
    argTypes:
    - GValue*
    - gpointer
    constantsTouched: []
    func_position:
      end: 5102
      start: 5087
    functionDepth: 0
    functionLinenumber: 5087
    functionLinenumberEnd: 5102
    functionName: g_value_take_object
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - G_OBJECT_TYPE
    - g_steal_pointer
    - g_return_if_fail
    - G_VALUE_TYPE
    - G_IS_OBJECT
    - G_VALUE_HOLDS_OBJECT
    - g_clear_object
    - g_value_type_compatible
    linkageType: ''
    returnType: void
    signature: "void g_value_take_object (GValue *value,\t\t gpointer v_object) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:5661,1
    - Dst: _weak_ref_set
      Src: /src/glib/gobject/gobject.c:5670,1
    - Dst: g_atomic_pointer_set
      Src: /src/glib/gobject/gobject.c:5664,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:5662,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:5662,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - weak_ref
    - object
    argTypes:
    - GWeakRef*
    - gpointer
    constantsTouched: []
    func_position:
      end: 5672
      start: 5657
    functionDepth: 0
    functionLinenumber: 5657
    functionLinenumberEnd: 5672
    functionName: g_weak_ref_init
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - G_IS_OBJECT
    - g_atomic_pointer_set
    - _weak_ref_set
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_weak_ref_init (GWeakRef *weak_ref, gpointer object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:2049,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gobject.c:2052,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/gobject.c:2052,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:2054,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:2049,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/gobject.c:2056,1
    - Dst: g_object_notify_queue_thaw
      Src: /src/glib/gobject/gobject.c:2062,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 2063
      start: 2046
    functionDepth: 0
    functionLinenumber: 2046
    functionLinenumberEnd: 2063
    functionName: g_object_thaw_notify
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_return_if_fail
    - G_OBJECT_TYPE_NAME
    - G_IS_OBJECT
    - g_critical
    - G_UNLIKELY
    - g_object_notify_queue_thaw
    linkageType: ''
    returnType: void
    signature: 'void g_object_thaw_notify (GObject *object) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:2802,1
    - Dst: g_type_class_peek_static
      Src: /src/glib/gobject/gobject.c:2808,1
    - Dst: G_TYPE_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:2802,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:2803,1
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/gobject.c:2811,1
    - Dst: g_newa
      Src: /src/glib/gobject/gobject.c:2818,1
    - Dst: find_pspec
      Src: /src/glib/gobject/gobject.c:2823,1
    - Dst: g_object_new_is_valid_property
      Src: /src/glib/gobject/gobject.c:2825,1
    - Dst: g_object_new_internal
      Src: /src/glib/gobject/gobject.c:2833,1
    - Dst: g_object_new_internal
      Src: /src/glib/gobject/gobject.c:2837,1
    - Dst: g_type_class_unref
      Src: /src/glib/gobject/gobject.c:2840,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 3
    argNames:
    - object_type
    - n_parameters
    - parameters
    argTypes:
    - GType
    - guint
    - GParameter*
    constantsTouched: []
    func_position:
      end: 2843
      start: 2793
    functionDepth: 0
    functionLinenumber: 2793
    functionLinenumberEnd: 2843
    functionName: g_object_newv
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_type_class_ref
    - g_newa
    - g_object_new_is_valid_property
    - find_pspec
    - G_TYPE_IS_OBJECT
    - g_type_class_peek_static
    - g_type_class_unref
    - g_object_new_internal
    linkageType: ''
    returnType: G_GNUC_BEGIN_IGNORE_DEPRECATIONS
    signature: 'G_GNUC_BEGIN_IGNORE_DEPRECATIONS gpointer g_object_newv (GType object_type,
      guint n_parameters, GParameter *parameters) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/gobject/gobject.c:379,1
    - Dst: object_set_optional_flags
      Src: /src/glib/gobject/gobject.c:395,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 4
    argNames:
    - key_id
    - data
    - destroy_notify
    - user_data
    argTypes:
    - GQuark
    - gpointer*
    - GDestroyNotify*
    - gpointer
    constantsTouched: []
    func_position:
      end: 399
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 399
    functionName: weak_ref_data_get_or_create_cb
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - object_set_optional_flags
    - g_new
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer weak_ref_data_get_or_create_cb (GQuark key_id, gpointer
      *data, GDestroyNotify *destroy_notify, gpointer user_data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/gobject.c:506,1
    - Dst: g_renew
      Src: /src/glib/gobject/gobject.c:537,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gobject.c:530,1
    - Dst: g_free
      Src: /src/glib/gobject/gobject.c:523,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 543
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 543
    functionName: weak_ref_data_list_remove
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_free
    - G_UNLIKELY
    - g_renew
    linkageType: ''
    returnType: GWeakRef*
    signature: 'static GWeakRef *weak_ref_data_list_remove (WeakRefData *wrdata, guint16
      idx, gboolean allow_shrink) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_message
      Src: /src/glib/gobject/gobject.c:822,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/gobject.c:824,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - key
    - value
    - user_data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 826
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 826
    functionName: debug_objects_foreach
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_message
    - G_OBJECT_TYPE_NAME
    linkageType: ''
    returnType: void
    signature: "static void debug_objects_foreach (gpointer key,\t\t gpointer value,\t\
      \t gpointer user_data) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/gobject.c:1195,1
    - Dst: g_param_spec_pool_lookup
      Src: /src/glib/gobject/gobject.c:1234,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1188
    functionDepth: 0
    functionLinenumber: 1188
    functionLinenumberEnd: 1238
    functionName: find_pspec
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_param_spec_pool_lookup
    linkageType: ''
    returnType: GParamSpec*
    signature: 'static inline GParamSpec *find_pspec (GObjectClass *class, const char
      *property_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/gobject.c:1743,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - object
    - property_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1746
      start: 1734
    functionDepth: 0
    functionLinenumber: 1734
    functionLinenumberEnd: 1746
    functionName: g_object_do_get_property
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: "static void g_object_do_get_property (GObject *object,\t\t\t guint\
      \ property_id,\t\t\t GValue *value,\t\t\t GParamSpec *pspec) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:1872,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/gobject.c:1875,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gobject.c:1875,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:1877,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:1872,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/gobject.c:1879,1
    - Dst: g_object_notify_queue_freeze
      Src: /src/glib/gobject/gobject.c:1885,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 1886
      start: 1869
    functionDepth: 0
    functionLinenumber: 1869
    functionLinenumberEnd: 1886
    functionName: g_object_freeze_notify
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_return_if_fail
    - G_OBJECT_TYPE_NAME
    - g_object_notify_queue_freeze
    - G_IS_OBJECT
    - g_critical
    - G_UNLIKELY
    linkageType: ''
    returnType: void
    signature: 'void g_object_freeze_notify (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _g_datalist_id_update_atomic
      Src: /src/glib/gobject/gobject.c:407,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 411
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 411
    functionName: weak_ref_data_get_or_create
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - _g_datalist_id_update_atomic
    linkageType: ''
    returnType: WeakRefData*
    signature: 'static WeakRefData *weak_ref_data_get_or_create (GObject *object) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/gobject.c:574,1
    - Dst: weak_ref_data_get
      Src: /src/glib/gobject/gobject.c:587,1
    - Dst: weak_ref_data_get
      Src: /src/glib/gobject/gobject.c:591,1
    - Dst: weak_ref_data_ref
      Src: /src/glib/gobject/gobject.c:587,1
    - Dst: g_assert
      Src: /src/glib/gobject/gobject.c:589,1
    - Dst: weak_ref_data_get_surely
      Src: /src/glib/gobject/gobject.c:596,1
    - Dst: weak_ref_data_ref
      Src: /src/glib/gobject/gobject.c:606,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 3
    argNames:
    - object
    - wrdata
    - out_new_wrdata
    argTypes:
    - GObject*
    - WeakRefData*
    - WeakRefData**
    constantsTouched: []
    func_position:
      end: 608
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 608
    functionName: weak_ref_data_has
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_assert
    - weak_ref_data_ref
    - weak_ref_data_get_surely
    - weak_ref_data_get
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean weak_ref_data_has (GObject *object, WeakRefData *wrdata,
      WeakRefData **out_new_wrdata) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_handlers_destroy
      Src: /src/glib/gobject/gobject.c:1751,1
    - Dst: g_datalist_id_set_data
      Src: /src/glib/gobject/gobject.c:1754,1
    - Dst: g_datalist_id_set_data
      Src: /src/glib/gobject/gobject.c:1755,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 1756
      start: 1748
    functionDepth: 0
    functionLinenumber: 1748
    functionLinenumberEnd: 1756
    functionName: g_object_real_dispose
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_datalist_id_set_data
    - g_signal_handlers_destroy
    linkageType: ''
    returnType: void
    signature: 'static void g_object_real_dispose (GObject *object) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gobject.c:1896,1
    - Dst: CLASS_NEEDS_NOTIFY
      Src: /src/glib/gobject/gobject.c:1904,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gobject/gobject.c:1904,1
    - Dst: param_spec_follow_override
      Src: /src/glib/gobject/gobject.c:1899,1
    - Dst: object_get_optional_flags
      Src: /src/glib/gobject/gobject.c:1902,1
    - Dst: g_object_notify_queue_add
      Src: /src/glib/gobject/gobject.c:1909,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/gobject.c:1919,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gobject/gobject.c:1923,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gobject.c:1927,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - object
    - pspec
    argTypes:
    - GObject*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1931
      start: 1888
    functionDepth: 0
    functionLinenumber: 1888
    functionLinenumberEnd: 1931
    functionName: g_object_notify_by_spec_internal
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - object_get_optional_flags
    - g_object_unref
    - CLASS_NEEDS_NOTIFY
    - G_UNLIKELY
    - g_object_ref
    - G_OBJECT_GET_CLASS
    - g_object_notify_queue_add
    - param_spec_follow_override
    linkageType: ''
    returnType: void
    signature: 'static inline void g_object_notify_by_spec_internal (GObject *object,
      GParamSpec *pspec) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter_pointer
      Src: /src/glib/gobject/gobject.c:2073,1
    - Dst: g_hash_table_new
      Src: /src/glib/gobject/gobject.c:2098,1
    - Dst: g_getenv
      Src: /src/glib/gobject/gobject.c:2075,1
    - Dst: g_mutex_lock
      Src: /src/glib/gobject/gobject.c:2095,1
    - Dst: g_once_init_leave_pointer
      Src: /src/glib/gobject/gobject.c:2080,1
    - Dst: g_hash_table_contains
      Src: /src/glib/gobject/gobject.c:2100,1
    - Dst: g_hash_table_add
      Src: /src/glib/gobject/gobject.c:2102,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/gobject.c:2104,1
    - Dst: g_warning
      Src: /src/glib/gobject/gobject.c:2107,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject.c:2109,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 2110
      start: 2065
    functionDepth: 0
    functionLinenumber: 2065
    functionLinenumberEnd: 2110
    functionName: maybe_issue_property_deprecation_warning
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_once_init_leave_pointer
    - g_warning
    - g_mutex_unlock
    - g_mutex_lock
    - g_getenv
    - g_hash_table_new
    - g_once_init_enter_pointer
    - g_hash_table_contains
    - g_hash_table_add
    - g_type_name
    linkageType: ''
    returnType: void
    signature: 'static void maybe_issue_property_deprecation_warning (const GParamSpec
      *pspec) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/gobject.c:3968,1
    - Dst: OBJECT_HAS_TOGGLE_REF
      Src: /src/glib/gobject/gobject.c:3998,1
    - Dst: g_atomic_int_compare_and_exchange_full
      Src: /src/glib/gobject/gobject.c:3979,1
    - Dst: g_datalist_id_get_data
      Src: /src/glib/gobject/gobject.c:4002,1
    - Dst: object_bit_lock
      Src: /src/glib/gobject/gobject.c:3974,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:4006,1
    - Dst: object_bit_unlock
      Src: /src/glib/gobject/gobject.c:4015,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 5
    argNames:
    - object
    - is_ref
    - old_ref
    - toggle_notify
    - toggle_data
    argTypes:
    - GObject*
    - gboolean
    - gint*
    - GToggleNotify*
    - gpointer*
    constantsTouched: []
    func_position:
      end: 4018
      start: 3956
    functionDepth: 0
    functionLinenumber: 3956
    functionLinenumberEnd: 4018
    functionName: toggle_refs_check_and_ref_or_deref
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_atomic_int_compare_and_exchange_full
    - object_bit_lock
    - OBJECT_HAS_TOGGLE_REF
    - g_assert
    - g_critical
    - object_bit_unlock
    - g_datalist_id_get_data
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline gboolean toggle_refs_check_and_ref_or_deref
      (GObject *object, gboolean is_ref, gint *old_ref, GToggleNotify *toggle_notify,
      gpointer *toggle_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_closure_remove_invalidate_notifier
      Src: /src/glib/gobject/gobject.c:5235,1
    - Dst: g_free
      Src: /src/glib/gobject/gobject.c:5238,1
    - Dst: g_closure_invalidate
      Src: /src/glib/gobject/gobject.c:5236,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 5239
      start: 5221
    functionDepth: 0
    functionLinenumber: 5221
    functionLinenumberEnd: 5239
    functionName: destroy_closure_array
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_closure_invalidate
    - g_free
    - g_closure_remove_invalidate_notifier
    linkageType: ''
    returnType: void
    signature: 'static void destroy_closure_array (gpointer data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: weak_ref_data_list_remove
      Src: /src/glib/gobject/gobject.c:5490,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/gobject/gobject.c:5494,1
    - Dst: g_assert
      Src: /src/glib/gobject/gobject.c:5496,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:5496,1
    - Dst: _weak_ref_clean_pointer
      Src: /src/glib/gobject/gobject.c:5496,1
    - Dst: g_assert
      Src: /src/glib/gobject/gobject.c:5497,1
    - Dst: _weak_ref_clean_pointer
      Src: /src/glib/gobject/gobject.c:5497,1
    - Dst: G_LIKELY
      Src: /src/glib/gobject/gobject.c:5499,1
    - Dst: _weak_ref_clean_pointer
      Src: /src/glib/gobject/gobject.c:5499,1
    - Dst: g_atomic_pointer_compare_and_exchange
      Src: /src/glib/gobject/gobject.c:5502,1
    - Dst: _weak_ref_lock
      Src: /src/glib/gobject/gobject.c:5510,1
    - Dst: _weak_ref_unlock_and_set
      Src: /src/glib/gobject/gobject.c:5511,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - wrdata
    - object
    argTypes:
    - WeakRefData*
    - GObject*
    constantsTouched: []
    func_position:
      end: 5513
      start: 5480
    functionDepth: 0
    functionLinenumber: 5480
    functionLinenumberEnd: 5513
    functionName: weak_ref_data_clear_list
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - _weak_ref_unlock_and_set
    - g_assert
    - G_IS_OBJECT
    - g_atomic_pointer_get
    - weak_ref_data_list_remove
    - G_LIKELY
    - g_atomic_pointer_compare_and_exchange
    - _weak_ref_clean_pointer
    - _weak_ref_lock
    linkageType: ''
    returnType: void
    signature: 'static void weak_ref_data_clear_list (WeakRefData *wrdata, GObject
      *object) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:2739,1
    - Dst: G_TYPE_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:2739,1
    - Dst: g_type_class_peek_static
      Src: /src/glib/gobject/gobject.c:2744,1
    - Dst: g_newa
      Src: /src/glib/gobject/gobject.c:2754,1
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/gobject.c:2747,1
    - Dst: find_pspec
      Src: /src/glib/gobject/gobject.c:2757,1
    - Dst: g_object_new_is_valid_property
      Src: /src/glib/gobject/gobject.c:2759,1
    - Dst: g_object_new_internal
      Src: /src/glib/gobject/gobject.c:2765,1
    - Dst: g_object_new_internal
      Src: /src/glib/gobject/gobject.c:2768,1
    - Dst: g_type_class_unref
      Src: /src/glib/gobject/gobject.c:2771,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2774
      start: 2730
    functionDepth: 0
    functionLinenumber: 2730
    functionLinenumberEnd: 2774
    functionName: g_object_new_with_properties
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_type_class_ref
    - g_newa
    - g_object_new_is_valid_property
    - find_pspec
    - G_TYPE_IS_OBJECT
    - g_type_class_peek_static
    - g_type_class_unref
    - g_object_new_internal
    linkageType: ''
    returnType: GObject*
    signature: 'GObject *g_object_new_with_properties (GType object_type, guint n_properties,
      const char *names[], const GValue values[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:3313,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:3313,1
    - Dst: g_object_set_valist
      Src: /src/glib/gobject/gobject.c:3316,1
    - Dst: va_end
      Src: /src/glib/gobject/gobject.c:3317,1
    - Dst: va_start
      Src: /src/glib/gobject/gobject.c:3315,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - _object
    - first_property_name
    - '...'
    argTypes:
    - gpointer
    - gchar*
    constantsTouched: []
    func_position:
      end: 3318
      start: 3305
    functionDepth: 0
    functionLinenumber: 3305
    functionLinenumberEnd: 3318
    functionName: g_object_set
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_object_set_valist
    - g_return_if_fail
    - G_IS_OBJECT
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: "void g_object_set (gpointer _object,\t const gchar *first_property_name,\t\
      \ ...) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:5134,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/gobject.c:5136,1
    - Dst: G_VALUE_HOLDS_OBJECT
      Src: /src/glib/gobject/gobject.c:5134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 5137
      start: 5131
    functionDepth: 0
    functionLinenumber: 5131
    functionLinenumberEnd: 5137
    functionName: g_value_dup_object
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - G_VALUE_HOLDS_OBJECT
    - g_return_val_if_fail
    - g_object_ref
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_value_dup_object (const GValue *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:5369,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:5371,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:5369,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:5370,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/gobject.c:5370,1
    - Dst: g_cclosure_new_swap
      Src: /src/glib/gobject/gobject.c:5373,1
    - Dst: g_object_watch_closure
      Src: /src/glib/gobject/gobject.c:5374,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5377
      start: 5363
    functionDepth: 0
    functionLinenumber: 5363
    functionLinenumberEnd: 5377
    functionName: g_cclosure_new_object_swap
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_object_watch_closure
    - g_return_val_if_fail
    - g_atomic_int_get
    - g_cclosure_new_swap
    - G_IS_OBJECT
    linkageType: ''
    returnType: GClosure*
    signature: "GClosure *g_cclosure_new_object_swap (GCallback callback_func,\t\t\
      \t GObject *object) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/gobject.c:298,1
    - Dst: g_assert
      Src: /src/glib/gobject/gobject.c:309,1
    - Dst: g_assert
      Src: /src/glib/gobject/gobject.c:315,1
    - Dst: g_atomic_int_add
      Src: /src/glib/gobject/gobject.c:301,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 320
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 320
    functionName: weak_ref_data_ref
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_atomic_int_add
    linkageType: ''
    returnType: WeakRefData*
    signature: 'static WeakRefData *weak_ref_data_ref (WeakRefData *wrdata) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_datalist_id_get_data
      Src: /src/glib/gobject/gobject.c:416,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 417
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 417
    functionName: weak_ref_data_get
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_datalist_id_get_data
    linkageType: ''
    returnType: WeakRefData*
    signature: 'static WeakRefData *weak_ref_data_get (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_signals_destroy
      Src: /src/glib/gobject/gobject.c:957,1
    - Dst: G_OBJECT_CLASS_TYPE
      Src: /src/glib/gobject/gobject.c:962,1
    - Dst: g_param_spec_pool_list_owned
      Src: /src/glib/gobject/gobject.c:962,1
    - Dst: g_slist_free
      Src: /src/glib/gobject/gobject.c:959,1
    - Dst: G_OBJECT_CLASS_TYPE
      Src: /src/glib/gobject/gobject.c:957,1
    - Dst: g_param_spec_pool_remove
      Src: /src/glib/gobject/gobject.c:967,1
    - Dst: PARAM_SPEC_SET_PARAM_ID
      Src: /src/glib/gobject/gobject.c:968,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/gobject.c:969,1
    - Dst: g_list_free
      Src: /src/glib/gobject/gobject.c:971,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - class
    argTypes:
    - GObjectClass*
    constantsTouched: []
    func_position:
      end: 972
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 972
    functionName: g_object_base_class_finalize
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - PARAM_SPEC_SET_PARAM_ID
    - _g_signals_destroy
    - g_param_spec_pool_list_owned
    - g_param_spec_unref
    - g_list_free
    - g_param_spec_pool_remove
    - g_slist_free
    - G_OBJECT_CLASS_TYPE
    linkageType: ''
    returnType: void
    signature: 'static void g_object_base_class_finalize (GObjectClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_or
      Src: /src/glib/gobject/gobject.c:1644,1
    - Dst: object_get_optional_flags_p
      Src: /src/glib/gobject/gobject.c:1644,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - object
    - flags
    argTypes:
    - GObject*
    - guint
    constantsTouched: []
    func_position:
      end: 1645
      start: 1640
    functionDepth: 0
    functionLinenumber: 1640
    functionLinenumberEnd: 1645
    functionName: object_set_optional_flags
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - object_get_optional_flags_p
    - g_atomic_int_or
    linkageType: ''
    returnType: void
    signature: 'static inline void object_set_optional_flags (GObject *object, guint
      flags) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:4134,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:4134,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:4135,1
    - Dst: object_bit_lock
      Src: /src/glib/gobject/gobject.c:4137,1
    - Dst: g_datalist_id_get_data
      Src: /src/glib/gobject/gobject.c:4138,1
    - Dst: g_datalist_unset_flags
      Src: /src/glib/gobject/gobject.c:4154,1
    - Dst: g_datalist_id_set_data_full
      Src: /src/glib/gobject/gobject.c:4155,1
    - Dst: object_bit_unlock
      Src: /src/glib/gobject/gobject.c:4161,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gobject.c:4164,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobject.c:4166,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 3
    argNames:
    - object
    - notify
    - data
    argTypes:
    - GObject*
    - GToggleNotify
    - gpointer
    constantsTouched: []
    func_position:
      end: 4167
      start: 4126
    functionDepth: 0
    functionLinenumber: 4126
    functionLinenumberEnd: 4167
    functionName: g_object_remove_toggle_ref
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_datalist_id_set_data_full
    - object_bit_lock
    - g_object_unref
    - g_return_if_fail
    - G_IS_OBJECT
    - g_datalist_unset_flags
    - g_critical
    - object_bit_unlock
    - g_datalist_id_get_data
    linkageType: ''
    returnType: void
    signature: "void g_object_remove_toggle_ref (GObject *object,\t\t\t GToggleNotify\
      \ notify,\t\t\t gpointer data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:4650,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:4650,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:4651,1
    - Dst: g_datalist_id_replace_data
      Src: /src/glib/gobject/gobject.c:4653,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 6
    argNames:
    - object
    - quark
    - oldval
    - newval
    - destroy
    - old_destroy
    argTypes:
    - GObject*
    - GQuark
    - gpointer
    - gpointer
    - GDestroyNotify
    - GDestroyNotify*
    constantsTouched: []
    func_position:
      end: 4656
      start: 4642
    functionDepth: 0
    functionLinenumber: 4642
    functionLinenumberEnd: 4656
    functionName: g_object_replace_qdata
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_datalist_id_replace_data
    - g_return_val_if_fail
    - G_IS_OBJECT
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_object_replace_qdata (GObject *object, GQuark quark, gpointer
      oldval, gpointer newval, GDestroyNotify destroy, GDestroyNotify *old_destroy) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:5724,1
    - Dst: weak_ref_data_get
      Src: /src/glib/gobject/gobject.c:5740,1
    - Dst: _weak_ref_unlock
      Src: /src/glib/gobject/gobject.c:5742,1
    - Dst: _weak_ref_lock
      Src: /src/glib/gobject/gobject.c:5738,1
    - Dst: weak_ref_data_ref
      Src: /src/glib/gobject/gobject.c:5740,1
    - Dst: weak_ref_data_lock
      Src: /src/glib/gobject/gobject.c:5758,1
    - Dst: _weak_ref_lock
      Src: /src/glib/gobject/gobject.c:5759,1
    - Dst: weak_ref_data_has
      Src: /src/glib/gobject/gobject.c:5773,1
    - Dst: object_ref
      Src: /src/glib/gobject/gobject.c:5776,1
    - Dst: _weak_ref_unlock
      Src: /src/glib/gobject/gobject.c:5788,1
    - Dst: weak_ref_data_unref
      Src: /src/glib/gobject/gobject.c:5790,1
    - Dst: toggle_notify
      Src: /src/glib/gobject/gobject.c:5800,1
    - Dst: weak_ref_data_unlock
      Src: /src/glib/gobject/gobject.c:5789,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 1
    argNames:
    - weak_ref
    argTypes:
    - GWeakRef*
    constantsTouched: []
    func_position:
      end: 5803
      start: 5715
    functionDepth: 0
    functionLinenumber: 5715
    functionLinenumberEnd: 5803
    functionName: g_weak_ref_get
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - _weak_ref_unlock
    - weak_ref_data_has
    - toggle_notify
    - weak_ref_data_ref
    - weak_ref_data_get
    - weak_ref_data_unref
    - weak_ref_data_lock
    - weak_ref_data_unlock
    - object_ref
    - _weak_ref_lock
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_weak_ref_get (GWeakRef *weak_ref) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/gobject/gobject.c:337,1
    - Dst: g_assert
      Src: /src/glib/gobject/gobject.c:346,1
    - Dst: g_free_sized
      Src: /src/glib/gobject/gobject.c:349,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - wrdata
    argTypes:
    - WeakRefData*
    constantsTouched: []
    func_position:
      end: 350
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 350
    functionName: weak_ref_data_unref
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_atomic_int_dec_and_test
    - g_free_sized
    linkageType: ''
    returnType: void
    signature: 'static void weak_ref_data_unref (WeakRefData *wrdata) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: weak_ref_data_get
      Src: /src/glib/gobject/gobject.c:434,1
    - Dst: g_assert
      Src: /src/glib/gobject/gobject.c:436,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 439
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 439
    functionName: weak_ref_data_get_surely
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_assert
    - weak_ref_data_get
    linkageType: ''
    returnType: WeakRefData*
    signature: 'static WeakRefData *weak_ref_data_get_surely (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_quark_from_static_string
      Src: /src/glib/gobject/gobject.c:977,1
    - Dst: g_quark_from_static_string
      Src: /src/glib/gobject/gobject.c:979,1
    - Dst: g_quark_from_static_string
      Src: /src/glib/gobject/gobject.c:978,1
    - Dst: g_quark_from_static_string
      Src: /src/glib/gobject/gobject.c:981,1
    - Dst: g_quark_from_static_string
      Src: /src/glib/gobject/gobject.c:980,1
    - Dst: g_object_init_pspec_pool
      Src: /src/glib/gobject/gobject.c:983,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/gobject.c:1026,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gobject.c:1026,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/gobject.c:1027,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gobject/gobject.c:1029,1
    - Dst: g_type_class_adjust_private_offset
      Src: /src/glib/gobject/gobject.c:1041,1
    - Dst: g_type_add_interface_check
      Src: /src/glib/gobject/gobject.c:1038,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 1
    argNames:
    - class
    argTypes:
    - GObjectClass*
    constantsTouched: []
    func_position:
      end: 1043
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 1043
    functionName: g_object_do_class_init
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - G_STRUCT_OFFSET
    - g_type_add_interface_check
    - g_quark_from_static_string
    - G_TYPE_FROM_CLASS
    - g_type_class_adjust_private_offset
    - g_intern_static_string
    - g_object_init_pspec_pool
    - g_signal_new
    linkageType: ''
    returnType: void
    signature: 'static void g_object_do_class_init (GObjectClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_and
      Src: /src/glib/gobject/gobject.c:1651,1
    - Dst: object_get_optional_flags_p
      Src: /src/glib/gobject/gobject.c:1651,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - object
    - flags
    argTypes:
    - GObject*
    - guint
    constantsTouched: []
    func_position:
      end: 1652
      start: 1647
    functionDepth: 0
    functionLinenumber: 1647
    functionLinenumberEnd: 1652
    functionName: object_unset_optional_flags
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - object_get_optional_flags_p
    - g_atomic_int_and
    linkageType: ''
    returnType: void
    signature: 'static inline void object_unset_optional_flags (GObject *object, guint
      flags) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:1321,1
    - Dst: G_IS_OBJECT_CLASS
      Src: /src/glib/gobject/gobject.c:1321,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:1323,1
    - Dst: CLASS_HAS_DERIVED_CLASS
      Src: /src/glib/gobject/gobject.c:1325,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:1322,1
    - Dst: g_error
      Src: /src/glib/gobject/gobject.c:1326,1
    - Dst: G_OBJECT_CLASS_NAME
      Src: /src/glib/gobject/gobject.c:1327,1
    - Dst: G_OBJECT_CLASS_TYPE
      Src: /src/glib/gobject/gobject.c:1329,1
    - Dst: g_type_parent
      Src: /src/glib/gobject/gobject.c:1330,1
    - Dst: validate_and_install_class_property
      Src: /src/glib/gobject/gobject.c:1337,1
    - Dst: g_new
      Src: /src/glib/gobject/gobject.c:1359,1
    - Dst: qsort
      Src: /src/glib/gobject/gobject.c:1367,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 3
    argNames:
    - oclass
    - n_pspecs
    - pspecs
    argTypes:
    - GObjectClass*
    - guint
    - GParamSpec**
    constantsTouched: []
    func_position:
      end: 1372
      start: 1313
    functionDepth: 0
    functionLinenumber: 1313
    functionLinenumberEnd: 1372
    functionName: g_object_class_install_properties
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_new
    - g_return_if_fail
    - qsort
    - G_OBJECT_CLASS_NAME
    - g_error
    - CLASS_HAS_DERIVED_CLASS
    - validate_and_install_class_property
    - g_type_parent
    - G_IS_OBJECT_CLASS
    - G_OBJECT_CLASS_TYPE
    linkageType: ''
    returnType: void
    signature: 'void g_object_class_install_properties (GObjectClass *oclass, guint
      n_pspecs, GParamSpec **pspecs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:4074,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:4074,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:4075,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobject.c:4076,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/gobject.c:4076,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/gobject.c:4078,1
    - Dst: object_bit_lock
      Src: /src/glib/gobject/gobject.c:4080,1
    - Dst: g_datalist_id_remove_no_notify
      Src: /src/glib/gobject/gobject.c:4081,1
    - Dst: g_realloc
      Src: /src/glib/gobject/gobject.c:4087,1
    - Dst: g_renew
      Src: /src/glib/gobject/gobject.c:4091,1
    - Dst: g_datalist_set_flags
      Src: /src/glib/gobject/gobject.c:4098,1
    - Dst: g_datalist_id_set_data_full
      Src: /src/glib/gobject/gobject.c:4102,1
    - Dst: object_bit_unlock
      Src: /src/glib/gobject/gobject.c:4104,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 3
    argNames:
    - object
    - notify
    - data
    argTypes:
    - GObject*
    - GToggleNotify
    - gpointer
    constantsTouched: []
    func_position:
      end: 4105
      start: 4066
    functionDepth: 0
    functionLinenumber: 4066
    functionLinenumberEnd: 4105
    functionName: g_object_add_toggle_ref
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_datalist_id_set_data_full
    - object_bit_lock
    - g_renew
    - g_atomic_int_get
    - g_return_if_fail
    - g_realloc
    - G_IS_OBJECT
    - g_object_ref
    - object_bit_unlock
    - g_datalist_set_flags
    - g_datalist_id_remove_no_notify
    linkageType: ''
    returnType: void
    signature: "void g_object_add_toggle_ref (GObject *object,\t\t\t GToggleNotify\
      \ notify,\t\t\t gpointer data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:4608,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gobject.c:4608,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gobject.c:4609,1
    - Dst: g_datalist_id_dup_data
      Src: /src/glib/gobject/gobject.c:4611,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - object
    - quark
    - dup_func
    - user_data
    argTypes:
    - GObject*
    - GQuark
    - GDuplicateFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 4612
      start: 4602
    functionDepth: 0
    functionLinenumber: 4602
    functionLinenumberEnd: 4612
    functionName: g_object_dup_qdata
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_datalist_id_dup_data
    - g_return_val_if_fail
    - G_IS_OBJECT
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_object_dup_qdata (GObject *object, GQuark quark, GDuplicateFunc
      dup_func, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_weak_ref_set
      Src: /src/glib/gobject/gobject.c:5690,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - weak_ref
    argTypes:
    - GWeakRef*
    constantsTouched: []
    func_position:
      end: 5694
      start: 5687
    functionDepth: 0
    functionLinenumber: 5687
    functionLinenumberEnd: 5694
    functionName: g_weak_ref_clear
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - g_weak_ref_set
    linkageType: ''
    returnType: void
    signature: 'void g_weak_ref_clear (GWeakRef *weak_ref) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: object_bit_lock
      Src: /src/glib/gobject/gobject.c:5206,1
    - Dst: object_bit_unlock
      Src: /src/glib/gobject/gobject.c:5214,1
    - Dst: object_bit_unlock
      Src: /src/glib/gobject/gobject.c:5217,1
    - Dst: g_object_get_qdata
      Src: /src/glib/gobject/gobject.c:5207,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gobject/gobject.c:5218,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - data
    - closure
    argTypes:
    - gpointer
    - GClosure*
    constantsTouched: []
    func_position:
      end: 5219
      start: 5198
    functionDepth: 0
    functionLinenumber: 5198
    functionLinenumberEnd: 5219
    functionName: object_remove_closure
    functionSourceFile: /src/glib/gobject/gobject.c
    functionUses: []
    functionsReached:
    - object_bit_unlock
    - object_bit_lock
    - g_object_get_qdata
    - g_assert_not_reached
    linkageType: ''
    returnType: void
    signature: "static void object_remove_closure (gpointer data,\t\t GClosure *closure) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_TYPE_MODULE
      Src: /src/glib/gobject/gtypemodule.c:98,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtypemodule.c:102,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/gtypemodule.c:104,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/gtypemodule.c:107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 108
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 108
    functionName: g_type_module_dispose
    functionSourceFile: /src/glib/gobject/gtypemodule.c
    functionUses: []
    functionsReached:
    - G_TYPE_MODULE
    - g_critical
    - g_object_ref
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_type_module_dispose (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_type_register_static
      Src: /src/glib/gobject/gtypemodule.c:169,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gtypemodule.c:169,1
    - Dst: g_type_add_interface_static
      Src: /src/glib/gobject/gtypemodule.c:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 175
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 175
    functionName: g_type_module_get_type
    functionSourceFile: /src/glib/gobject/gtypemodule.c
    functionUses: []
    functionsReached:
    - g_type_register_static
    - g_type_add_interface_static
    - g_intern_static_string
    linkageType: ''
    returnType: GType
    signature: 'GType g_type_module_get_type (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/gtypemodule.c:127,1
    - Dst: g_type_class_peek_parent
      Src: /src/glib/gobject/gtypemodule.c:129,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/gtypemodule.c:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - class
    argTypes:
    - GTypeModuleClass*
    constantsTouched: []
    func_position:
      end: 133
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 133
    functionName: g_type_module_class_init
    functionSourceFile: /src/glib/gobject/gtypemodule.c
    functionUses: []
    functionsReached:
    - g_type_class_peek_parent
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_type_module_class_init (GTypeModuleClass *class) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 209
    functionName: g_type_module_find_type_info
    functionSourceFile: /src/glib/gobject/gtypemodule.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ModuleTypeInfo*
    signature: "static ModuleTypeInfo *g_type_module_find_type_info (GTypeModule *module,\t\
      \t\t GType type) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtypemodule.c:245,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtypemodule.c:264,1
    - Dst: G_IS_TYPE_MODULE
      Src: /src/glib/gobject/gtypemodule.c:245,1
    - Dst: G_TYPE_MODULE_GET_CLASS
      Src: /src/glib/gobject/gtypemodule.c:252,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gtypemodule.c:266,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - module
    argTypes:
    - GTypeModule*
    constantsTouched: []
    func_position:
      end: 276
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 276
    functionName: g_type_module_use
    functionSourceFile: /src/glib/gobject/gtypemodule.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_TYPE_MODULE_GET_CLASS
    - g_critical
    - G_IS_TYPE_MODULE
    - g_type_name
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_type_module_use (GTypeModule *module) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_TYPE_MODULE
      Src: /src/glib/gobject/gtypemodule.c:316,1
    - Dst: g_error
      Src: /src/glib/gobject/gtypemodule.c:320,1
    - Dst: g_type_module_use
      Src: /src/glib/gobject/gtypemodule.c:318,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - plugin
    argTypes:
    - GTypePlugin*
    constantsTouched: []
    func_position:
      end: 323
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 323
    functionName: g_type_module_use_plugin
    functionSourceFile: /src/glib/gobject/gtypemodule.c
    functionUses: []
    functionsReached:
    - G_TYPE_MODULE
    - g_error
    - g_type_module_use
    linkageType: ''
    returnType: void
    signature: 'static void g_type_module_use_plugin (GTypePlugin *plugin) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_TYPE_MODULE
      Src: /src/glib/gobject/gtypemodule.c:346,1
    - Dst: g_type_module_find_interface_info
      Src: /src/glib/gobject/gtypemodule.c:347,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - plugin
    - instance_type
    - interface_type
    - info
    argTypes:
    - GTypePlugin*
    - GType
    - GType
    - GInterfaceInfo*
    constantsTouched: []
    func_position:
      end: 350
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 350
    functionName: g_type_module_complete_interface_info
    functionSourceFile: /src/glib/gobject/gtypemodule.c
    functionUses: []
    functionsReached:
    - G_TYPE_MODULE
    - g_type_module_find_interface_info
    linkageType: ''
    returnType: void
    signature: "static void g_type_module_complete_interface_info (GTypePlugin *plugin,\t\
      \t\t\t GType instance_type,\t\t\t\t GType interface_type,\t\t\t\t GInterfaceInfo\
      \ *info) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtypemodule.c:554,1
    - Dst: G_IS_TYPE_MODULE
      Src: /src/glib/gobject/gtypemodule.c:554,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtypemodule.c:556,1
    - Dst: g_enum_complete_type_info
      Src: /src/glib/gobject/gtypemodule.c:558,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtypemodule.c:555,1
    - Dst: g_type_module_register_type
      Src: /src/glib/gobject/gtypemodule.c:561,1
    - Dst: G_TYPE_MODULE
      Src: /src/glib/gobject/gtypemodule.c:561,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - module
    - name
    - const_static_values
    argTypes:
    - GTypeModule*
    - gchar*
    - GEnumValue*
    constantsTouched: []
    func_position:
      end: 563
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 563
    functionName: g_type_module_register_enum
    functionSourceFile: /src/glib/gobject/gtypemodule.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_enum_complete_type_info
    - G_TYPE_MODULE
    - g_type_module_register_type
    - G_IS_TYPE_MODULE
    linkageType: ''
    returnType: GType
    signature: 'GType g_type_module_register_enum (GTypeModule *module, const gchar
      *name, const GEnumValue *const_static_values) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_TYPE_MODULE
      Src: /src/glib/gobject/gtypemodule.c:113,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtypemodule.c:118,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtypemodule.c:119,1
    - Dst: g_free
      Src: /src/glib/gobject/gtypemodule.c:115,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/gtypemodule.c:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 122
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 122
    functionName: g_type_module_finalize
    functionSourceFile: /src/glib/gobject/gtypemodule.c
    functionUses: []
    functionsReached:
    - G_TYPE_MODULE
    - g_assert
    - g_free
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_type_module_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GTypePluginClass*
    constantsTouched: []
    func_position:
      end: 142
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 142
    functionName: g_type_module_iface_init
    functionSourceFile: /src/glib/gobject/gtypemodule.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_type_module_iface_init (GTypePluginClass *iface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 228
    functionName: g_type_module_find_interface_info
    functionSourceFile: /src/glib/gobject/gtypemodule.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ModuleInterfaceInfo*
    signature: "static ModuleInterfaceInfo *g_type_module_find_interface_info (GTypeModule\
      \ *module,\t\t\t\t GType instance_type,\t\t\t\t GType interface_type) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_TYPE_MODULE
      Src: /src/glib/gobject/gtypemodule.c:331,1
    - Dst: g_type_module_find_type_info
      Src: /src/glib/gobject/gtypemodule.c:332,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 4
    argNames:
    - plugin
    - g_type
    - info
    - value_table
    argTypes:
    - GTypePlugin*
    - GType
    - GTypeInfo*
    - GTypeValueTable*
    constantsTouched: []
    func_position:
      end: 338
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 338
    functionName: g_type_module_complete_type_info
    functionSourceFile: /src/glib/gobject/gtypemodule.c
    functionUses: []
    functionsReached:
    - G_TYPE_MODULE
    - g_type_module_find_type_info
    linkageType: ''
    returnType: void
    signature: "static void g_type_module_complete_type_info (GTypePlugin *plugin,\t\
      \t\t\t GType g_type,\t\t\t\t GTypeInfo *info,\t\t\t\t GTypeValueTable *value_table) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtypemodule.c:188,1
    - Dst: G_IS_TYPE_MODULE
      Src: /src/glib/gobject/gtypemodule.c:188,1
    - Dst: g_free
      Src: /src/glib/gobject/gtypemodule.c:190,1
    - Dst: g_strdup
      Src: /src/glib/gobject/gtypemodule.c:191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - module
    - name
    argTypes:
    - GTypeModule*
    - gchar*
    constantsTouched: []
    func_position:
      end: 192
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 192
    functionName: g_type_module_set_name
    functionSourceFile: /src/glib/gobject/gtypemodule.c
    functionUses: []
    functionsReached:
    - G_IS_TYPE_MODULE
    - g_strdup
    - g_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_type_module_set_name (GTypeModule *module,\t\t\tconst gchar\
      \ *name) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtypemodule.c:291,1
    - Dst: G_IS_TYPE_MODULE
      Src: /src/glib/gobject/gtypemodule.c:291,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtypemodule.c:292,1
    - Dst: G_TYPE_MODULE_GET_CLASS
      Src: /src/glib/gobject/gtypemodule.c:300,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - module
    argTypes:
    - GTypeModule*
    constantsTouched: []
    func_position:
      end: 311
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 311
    functionName: g_type_module_unuse
    functionSourceFile: /src/glib/gobject/gtypemodule.c
    functionUses: []
    functionsReached:
    - G_IS_TYPE_MODULE
    - G_TYPE_MODULE_GET_CLASS
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_type_module_unuse (GTypeModule *module) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtypemodule.c:387,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtypemodule.c:388,1
    - Dst: g_type_from_name
      Src: /src/glib/gobject/gtypemodule.c:403,1
    - Dst: g_type_get_plugin
      Src: /src/glib/gobject/gtypemodule.c:406,1
    - Dst: g_type_register_static_simple
      Src: /src/glib/gobject/gtypemodule.c:394,1
    - Dst: G_TYPE_PLUGIN
      Src: /src/glib/gobject/gtypemodule.c:408,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtypemodule.c:410,1
    - Dst: g_type_module_find_type_info
      Src: /src/glib/gobject/gtypemodule.c:417,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gtypemodule.c:421,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtypemodule.c:423,1
    - Dst: g_free
      Src: /src/glib/gobject/gtypemodule.c:431,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gtypemodule.c:425,1
    - Dst: g_new
      Src: /src/glib/gobject/gtypemodule.c:435,1
    - Dst: G_TYPE_PLUGIN
      Src: /src/glib/gobject/gtypemodule.c:438,1
    - Dst: g_slist_prepend
      Src: /src/glib/gobject/gtypemodule.c:440,1
    - Dst: g_memdup2
      Src: /src/glib/gobject/gtypemodule.c:446,1
    - Dst: g_type_register_dynamic
      Src: /src/glib/gobject/gtypemodule.c:438,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 5
    argNames:
    - module
    - parent_type
    - type_name
    - type_info
    - flags
    argTypes:
    - GTypeModule*
    - GType
    - gchar*
    - GTypeInfo*
    - GTypeFlags
    constantsTouched: []
    func_position:
      end: 450
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 450
    functionName: g_type_module_register_type
    functionSourceFile: /src/glib/gobject/gtypemodule.c
    functionUses: []
    functionsReached:
    - g_type_register_dynamic
    - g_return_val_if_fail
    - g_new
    - g_type_get_plugin
    - G_TYPE_PLUGIN
    - g_type_register_static_simple
    - g_critical
    - g_slist_prepend
    - g_memdup2
    - g_free
    - g_type_from_name
    - g_type_module_find_type_info
    - g_type_name
    linkageType: ''
    returnType: GType
    signature: "GType g_type_module_register_type (GTypeModule *module,\t\t\t GType\
      \ parent_type,\t\t\t const gchar *type_name,\t\t\t const GTypeInfo *type_info,\t\
      \t\t GTypeFlags flags) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtypemodule.c:477,1
    - Dst: g_type_add_interface_static
      Src: /src/glib/gobject/gtypemodule.c:481,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gtypemodule.c:485,1
    - Dst: g_type_interface_get_plugin
      Src: /src/glib/gobject/gtypemodule.c:487,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtypemodule.c:492,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gtypemodule.c:493,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gtypemodule.c:493,1
    - Dst: G_TYPE_PLUGIN
      Src: /src/glib/gobject/gtypemodule.c:496,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtypemodule.c:498,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gtypemodule.c:499,1
    - Dst: g_new
      Src: /src/glib/gobject/gtypemodule.c:509,1
    - Dst: G_TYPE_PLUGIN
      Src: /src/glib/gobject/gtypemodule.c:514,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gtypemodule.c:499,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtypemodule.c:505,1
    - Dst: g_slist_prepend
      Src: /src/glib/gobject/gtypemodule.c:516,1
    - Dst: g_type_add_interface_dynamic
      Src: /src/glib/gobject/gtypemodule.c:514,1
    - Dst: g_type_module_find_interface_info
      Src: /src/glib/gobject/gtypemodule.c:503,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 4
    argNames:
    - module
    - instance_type
    - interface_type
    - interface_info
    argTypes:
    - GTypeModule*
    - GType
    - GType
    - GInterfaceInfo*
    constantsTouched: []
    func_position:
      end: 521
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 521
    functionName: g_type_module_add_interface
    functionSourceFile: /src/glib/gobject/gtypemodule.c
    functionUses: []
    functionsReached:
    - g_type_module_find_interface_info
    - g_new
    - g_return_if_fail
    - g_assert
    - g_type_add_interface_dynamic
    - g_type_interface_get_plugin
    - g_type_add_interface_static
    - g_critical
    - g_type_is_a
    - G_TYPE_PLUGIN
    - g_slist_prepend
    - g_type_name
    linkageType: ''
    returnType: void
    signature: "void g_type_module_add_interface (GTypeModule *module,\t\t\t GType\
      \ instance_type,\t\t\t GType interface_type,\t\t\t const GInterfaceInfo *interface_info) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtypemodule.c:596,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtypemodule.c:598,1
    - Dst: g_flags_complete_type_info
      Src: /src/glib/gobject/gtypemodule.c:600,1
    - Dst: G_IS_TYPE_MODULE
      Src: /src/glib/gobject/gtypemodule.c:596,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtypemodule.c:597,1
    - Dst: g_type_module_register_type
      Src: /src/glib/gobject/gtypemodule.c:603,1
    - Dst: G_TYPE_MODULE
      Src: /src/glib/gobject/gtypemodule.c:603,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - module
    - name
    - const_static_values
    argTypes:
    - GTypeModule*
    - gchar*
    - GFlagsValue*
    constantsTouched: []
    func_position:
      end: 605
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 605
    functionName: g_type_module_register_flags
    functionSourceFile: /src/glib/gobject/gtypemodule.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_flags_complete_type_info
    - G_TYPE_MODULE
    - g_type_module_register_type
    - G_IS_TYPE_MODULE
    linkageType: ''
    returnType: GType
    signature: 'GType g_type_module_register_flags (GTypeModule *module, const gchar
      *name, const GFlagsValue *const_static_values) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluearray.c:83,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluearray.c:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 87
    functionName: g_value_array_get_nth
    functionSourceFile: /src/glib/gobject/gvaluearray.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: GValue*
    signature: "GValue *g_value_array_get_nth (GValueArray *value_array,\t\t guint\
      \ index) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluearray.c:179,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gvaluearray.c:187,1
    - Dst: g_slice_new
      Src: /src/glib/gobject/gvaluearray.c:181,1
    - Dst: value_array_grow
      Src: /src/glib/gobject/gvaluearray.c:185,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gvaluearray.c:191,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gvaluearray.c:191,1
    - Dst: g_value_copy
      Src: /src/glib/gobject/gvaluearray.c:192,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 195
    functionName: g_value_array_copy
    functionSourceFile: /src/glib/gobject/gvaluearray.c
    functionUses: []
    functionsReached:
    - value_array_grow
    - g_return_val_if_fail
    - G_VALUE_TYPE
    - g_value_init
    - g_slice_new
    - g_value_copy
    linkageType: ''
    returnType: GValueArray*
    signature: 'GValueArray *g_value_array_copy (const GValueArray *value_array) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/gobject/gvaluearray.c:125,1
    - Dst: value_array_grow
      Src: /src/glib/gobject/gvaluearray.c:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 134
    functionName: g_value_array_new
    functionSourceFile: /src/glib/gobject/gvaluearray.c
    functionUses: []
    functionsReached:
    - value_array_grow
    - g_slice_new
    linkageType: ''
    returnType: GValueArray*
    signature: 'GValueArray *g_value_array_new (guint n_prealloced) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluearray.c:264,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluearray.c:265,1
    - Dst: value_array_grow
      Src: /src/glib/gobject/gvaluearray.c:268,1
    - Dst: memset
      Src: /src/glib/gobject/gvaluearray.c:272,1
    - Dst: memmove
      Src: /src/glib/gobject/gvaluearray.c:270,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gvaluearray.c:275,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gvaluearray.c:275,1
    - Dst: g_value_copy
      Src: /src/glib/gobject/gvaluearray.c:276,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 279
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 279
    functionName: g_value_array_insert
    functionSourceFile: /src/glib/gobject/gvaluearray.c
    functionUses: []
    functionsReached:
    - value_array_grow
    - g_return_val_if_fail
    - G_VALUE_TYPE
    - memmove
    - g_value_init
    - g_value_copy
    - memset
    linkageType: ''
    returnType: GValueArray*
    signature: "GValueArray *g_value_array_insert (GValueArray *value_array,\t\t guint\
      \ index,\t\t const GValue *value) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluearray.c:297,1
    - Dst: memmove
      Src: /src/glib/gobject/gvaluearray.c:304,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gvaluearray.c:300,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluearray.c:298,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gvaluearray.c:301,1
    - Dst: memset
      Src: /src/glib/gobject/gvaluearray.c:307,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 310
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 310
    functionName: g_value_array_remove
    functionSourceFile: /src/glib/gobject/gvaluearray.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_VALUE_TYPE
    - memmove
    - memset
    - g_value_unset
    linkageType: ''
    returnType: GValueArray*
    signature: "GValueArray *g_value_array_remove (GValueArray *value_array,\t\t guint\
      \ index) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvaluearray.c:94,1
    - Dst: memset
      Src: /src/glib/gobject/gvaluearray.c:105,1
    - Dst: g_renew
      Src: /src/glib/gobject/gvaluearray.c:102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - value_array
    - n_values
    - zero_init
    argTypes:
    - GValueArray*
    - guint
    - gboolean
    constantsTouched: []
    func_position:
      end: 108
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 108
    functionName: value_array_grow
    functionSourceFile: /src/glib/gobject/gvaluearray.c
    functionUses: []
    functionsReached:
    - memset
    - g_renew
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "static inline void value_array_grow (GValueArray *value_array,\t\t\
      \ guint n_values,\t\t gboolean zero_init) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvaluearray.c:149,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gvaluearray.c:155,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gvaluearray.c:156,1
    - Dst: g_slice_free
      Src: /src/glib/gobject/gvaluearray.c:159,1
    - Dst: g_free
      Src: /src/glib/gobject/gvaluearray.c:158,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - value_array
    argTypes:
    - GValueArray*
    constantsTouched: []
    func_position:
      end: 160
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 160
    functionName: g_value_array_free
    functionSourceFile: /src/glib/gobject/gvaluearray.c
    functionUses: []
    functionsReached:
    - G_VALUE_TYPE
    - g_return_if_fail
    - g_slice_free
    - g_free
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'void g_value_array_free (GValueArray *value_array) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluearray.c:214,1
    - Dst: g_value_array_insert
      Src: /src/glib/gobject/gvaluearray.c:217,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 219
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 219
    functionName: g_value_array_prepend
    functionSourceFile: /src/glib/gobject/gvaluearray.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_value_array_insert
    linkageType: ''
    returnType: GValueArray*
    signature: "GValueArray *g_value_array_prepend (GValueArray *value_array,\t\t\
      \ const GValue *value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluearray.c:237,1
    - Dst: g_value_array_insert
      Src: /src/glib/gobject/gvaluearray.c:240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 242
    functionName: g_value_array_append
    functionSourceFile: /src/glib/gobject/gvaluearray.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_value_array_insert
    linkageType: ''
    returnType: GValueArray*
    signature: "GValueArray *g_value_array_append (GValueArray *value_array,\t\t const\
      \ GValue *value) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluearray.c:331,1
    - Dst: qsort
      Src: /src/glib/gobject/gvaluearray.c:334,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 339
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 339
    functionName: g_value_array_sort
    functionSourceFile: /src/glib/gobject/gvaluearray.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - qsort
    linkageType: ''
    returnType: GValueArray*
    signature: "GValueArray *g_value_array_sort (GValueArray *value_array,\t\t GCompareFunc\
      \ compare_func) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluearray.c:362,1
    - Dst: g_sort_array
      Src: /src/glib/gobject/gvaluearray.c:366,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluearray.c:363,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 371
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 371
    functionName: g_value_array_sort_with_data
    functionSourceFile: /src/glib/gobject/gvaluearray.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_sort_array
    linkageType: ''
    returnType: GValueArray*
    signature: "GValueArray *g_value_array_sort_with_data (GValueArray *value_array,\t\
      \t\t GCompareDataFunc compare_func,\t\t\t gpointer user_data) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_ATOMIC_ARRAY_GET_LOCKED
      Src: /src/glib/gobject/gtype.c:1245,1
    - Dst: G_ATOMIC_ARRAY_DATA_SIZE
      Src: /src/glib/gobject/gtype.c:1249,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - iface_node
    - offset
    - for_index
    argTypes:
    - TypeNode*
    - gsize
    - int
    constantsTouched: []
    func_position:
      end: 1257
      start: 1238
    functionDepth: 0
    functionLinenumber: 1238
    functionLinenumberEnd: 1257
    functionName: iface_node_has_available_offset_L
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - G_ATOMIC_ARRAY_GET_LOCKED
    - G_ATOMIC_ARRAY_DATA_SIZE
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean iface_node_has_available_offset_L (TypeNode *iface_node,\t\
      \t\t\t gsize offset,\t\t\t\t int for_index) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:1677,1
    - Dst: IFACE_NODE_N_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:1685,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:1679,1
    - Dst: G_READ_LOCK
      Src: /src/glib/gobject/gtype.c:1683,1
    - Dst: G_TYPE_IS_INTERFACE
      Src: /src/glib/gobject/gtype.c:1677,1
    - Dst: IFACE_NODE_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:1687,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:1688,1
    - Dst: type_node_is_a_L
      Src: /src/glib/gobject/gtype.c:1691,1
    - Dst: G_READ_UNLOCK
      Src: /src/glib/gobject/gtype.c:1696,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:1699,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 1
    argNames:
    - interface_type
    argTypes:
    - GType
    constantsTouched: []
    func_position:
      end: 1702
      start: 1670
    functionDepth: 0
    functionLinenumber: 1670
    functionLinenumberEnd: 1702
    functionName: g_type_interface_instantiatable_prerequisite
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - type_node_is_a_L
    - g_return_val_if_fail
    - lookup_type_node_I
    - G_READ_LOCK
    - G_READ_UNLOCK
    - IFACE_NODE_PREREQUISITES
    - NODE_TYPE
    - G_TYPE_IS_INTERFACE
    - IFACE_NODE_N_PREREQUISITES
    linkageType: ''
    returnType: GType
    signature: 'GType g_type_interface_instantiatable_prerequisite (GType interface_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:3208,1
    - Dst: G_READ_UNLOCK
      Src: /src/glib/gobject/gtype.c:3212,1
    - Dst: GPOINTER_TO_TYPE
      Src: /src/glib/gobject/gtype.c:3211,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gobject/gtype.c:3211,1
    - Dst: G_READ_LOCK
      Src: /src/glib/gobject/gtype.c:3210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 3215
      start: 3203
    functionDepth: 0
    functionLinenumber: 3203
    functionLinenumberEnd: 3215
    functionName: g_type_from_name
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_hash_table_lookup
    - G_READ_UNLOCK
    - G_READ_LOCK
    - GPOINTER_TO_TYPE
    linkageType: ''
    returnType: GType
    signature: 'GType g_type_from_name (const gchar *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_type_system_initialized
      Src: /src/glib/gobject/gtype.c:4251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4252
      start: 4237
    functionDepth: 0
    functionLinenumber: 4237
    functionLinenumberEnd: 4252
    functionName: g_type_init
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_assert_type_system_initialized
    linkageType: ''
    returnType: G_GNUC_END_IGNORE_DEPRECATIONS
    signature: 'G_GNUC_END_IGNORE_DEPRECATIONS /** * g_type_init: * * This function
      used to initialise the type system. Since GLib 2.36, * the type system is initialised
      automatically and this function does * nothing. * * Deprecated: 2.36: the type
      system is now initialised automatically */ void g_type_init (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4745,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtype.c:4748,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:4753,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:4752,1
    - Dst: NODE_PARENT_TYPE
      Src: /src/glib/gobject/gtype.c:4757,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4759,1
    - Dst: NODE_PARENT_TYPE
      Src: /src/glib/gobject/gtype.c:4759,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:4762,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:4767,1
    - Dst: ALIGN_STRUCT
      Src: /src/glib/gobject/gtype.c:4769,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:4772,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - class_type
    - private_size
    argTypes:
    - GType
    - gsize
    constantsTouched: []
    func_position:
      end: 4773
      start: 4741
    functionDepth: 0
    functionLinenumber: 4741
    functionLinenumberEnd: 4773
    functionName: g_type_add_class_private
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - ALIGN_STRUCT
    - g_return_if_fail
    - type_descriptive_name_I
    - lookup_type_node_I
    - G_WRITE_LOCK
    - NODE_PARENT_TYPE
    - g_critical
    - G_WRITE_UNLOCK
    linkageType: ''
    returnType: void
    signature: "void g_type_add_class_private (GType class_type,\t\t\t gsize private_size) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IFACE_ENTRIES_N_ENTRIES
      Src: /src/glib/gobject/gtype.c:1268,1
    - Dst: iface_node_has_available_offset_L
      Src: /src/glib/gobject/gtype.c:1277,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:1275,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - entries
    argTypes:
    - IFaceEntries*
    constantsTouched: []
    func_position:
      end: 1287
      start: 1259
    functionDepth: 0
    functionLinenumber: 1259
    functionLinenumberEnd: 1287
    functionName: find_free_iface_offset_L
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - lookup_type_node_I
    - iface_node_has_available_offset_L
    - IFACE_ENTRIES_N_ENTRIES
    linkageType: ''
    returnType: gsize
    signature: 'static gsize find_free_iface_offset_L (IFaceEntries *entries) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:1710,1
    - Dst: iface_node_get_holders_L
      Src: /src/glib/gobject/gtype.c:1712,1
    - Dst: NODE_IS_IFACE
      Src: /src/glib/gobject/gtype.c:1710,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1704
    functionDepth: 0
    functionLinenumber: 1704
    functionLinenumberEnd: 1716
    functionName: type_iface_peek_holder_L
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_assert
    - iface_node_get_holders_L
    - NODE_IS_IFACE
    linkageType: ''
    returnType: IFaceHolder*
    signature: "static IFaceHolder *type_iface_peek_holder_L (TypeNode *iface,\t\t\
      \t GType instance_type) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_parse_debug_string
      Src: /src/glib/gobject/gtype.c:4279,1
    - Dst: g_getenv
      Src: /src/glib/gobject/gtype.c:4270,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/gtype.c:4279,1
    - Dst: g_quark_from_static_string
      Src: /src/glib/gobject/gtype.c:4283,1
    - Dst: g_quark_from_static_string
      Src: /src/glib/gobject/gtype.c:4284,1
    - Dst: g_quark_from_static_string
      Src: /src/glib/gobject/gtype.c:4285,1
    - Dst: g_hash_table_new
      Src: /src/glib/gobject/gtype.c:4288,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:4297,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gtype.c:4303,1
    - Dst: type_node_fundamental_new_W
      Src: /src/glib/gobject/gtype.c:4303,1
    - Dst: _g_signal_init
      Src: /src/glib/gobject/gtype.c:4346,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:4306,1
    - Dst: _g_value_types_init
      Src: /src/glib/gobject/gtype.c:4318,1
    - Dst: _g_param_type_init
      Src: /src/glib/gobject/gtype.c:4330,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gobject/gtype.c:4265,1
    - Dst: memset
      Src: /src/glib/gobject/gtype.c:4302,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:4304,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gtype.c:4296,1
    - Dst: type_node_fundamental_new_W
      Src: /src/glib/gobject/gtype.c:4296,1
    - Dst: type_data_make_W
      Src: /src/glib/gobject/gtype.c:4305,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:4308,1
    - Dst: _g_enum_types_init
      Src: /src/glib/gobject/gtype.c:4322,1
    - Dst: _g_boxed_type_init
      Src: /src/glib/gobject/gtype.c:4326,1
    - Dst: _g_param_spec_types_init
      Src: /src/glib/gobject/gtype.c:4338,1
    - Dst: g_type_plugin_get_type
      Src: /src/glib/gobject/gtype.c:4314,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:4267,1
    - Dst: _g_value_c_init
      Src: /src/glib/gobject/gtype.c:4310,1
    - Dst: _g_object_type_init
      Src: /src/glib/gobject/gtype.c:4334,1
    - Dst: _g_value_transforms_init
      Src: /src/glib/gobject/gtype.c:4342,1
    - Dst: g_type_ensure
      Src: /src/glib/gobject/gtype.c:4314,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:4298,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 48
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4347
      start: 4254
    functionDepth: 0
    functionLinenumber: 4254
    functionLinenumberEnd: 4347
    functionName: gobject_init
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - type_node_fundamental_new_W
    - _g_value_types_init
    - G_WRITE_LOCK
    - _g_param_spec_types_init
    - _g_value_c_init
    - GLIB_PRIVATE_CALL
    - _g_object_type_init
    - _g_signal_init
    - g_quark_from_static_string
    - G_N_ELEMENTS
    - g_type_ensure
    - g_intern_static_string
    - _g_value_transforms_init
    - G_WRITE_UNLOCK
    - g_getenv
    - _g_param_type_init
    - g_parse_debug_string
    - g_hash_table_new
    - _g_enum_types_init
    - g_assert
    - g_type_plugin_get_type
    - NODE_TYPE
    - type_data_make_W
    - memset
    - _g_boxed_type_init
    linkageType: ''
    returnType: void
    signature: 'static void gobject_init (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NODE_IS_ANCESTOR
      Src: /src/glib/gobject/gtype.c:4795,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:4798,1
    - Dst: NODE_PARENT_TYPE
      Src: /src/glib/gobject/gtype.c:4806,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:4784,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4786,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:4797,1
    - Dst: NODE_PARENT_TYPE
      Src: /src/glib/gobject/gtype.c:4804,1
    - Dst: ALIGN_STRUCT
      Src: /src/glib/gobject/gtype.c:4802,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:4790,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gtype.c:4787,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4794,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:4811,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:4807,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4806,1
    - Dst: ALIGN_STRUCT
      Src: /src/glib/gobject/gtype.c:4815,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:4789,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gtype.c:4795,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gtype.c:4809,1
    - Dst: G_STRUCT_MEMBER_P
      Src: /src/glib/gobject/gtype.c:4818,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 2
    argNames:
    - klass
    - private_type
    argTypes:
    - GTypeClass*
    - GType
    constantsTouched: []
    func_position:
      end: 4819
      start: 4775
    functionDepth: 0
    functionLinenumber: 4775
    functionLinenumberEnd: 4819
    functionName: g_type_class_get_private
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - ALIGN_STRUCT
    - g_return_val_if_fail
    - type_descriptive_name_I
    - lookup_type_node_I
    - g_assert
    - NODE_IS_ANCESTOR
    - G_STRUCT_MEMBER_P
    - NODE_PARENT_TYPE
    - g_critical
    - G_UNLIKELY
    linkageType: ''
    returnType: gpointer
    signature: "gpointer g_type_class_get_private (GTypeClass *klass,\t\t\t GType\
      \ private_type) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtype.c:2388,1
    - Dst: memmove
      Src: /src/glib/gobject/gtype.c:2396,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:2390,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:2403,1
    - Dst: g_renew
      Src: /src/glib/gobject/gtype.c:2399,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:2406,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - check_data
    - check_func
    argTypes:
    - gpointer
    - GTypeInterfaceCheckFunc
    constantsTouched: []
    func_position:
      end: 2408
      start: 2381
    functionDepth: 0
    functionLinenumber: 2381
    functionLinenumberEnd: 2408
    functionName: g_type_remove_interface_check
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_renew
    - g_return_if_fail
    - memmove
    - G_WRITE_LOCK
    - g_critical
    - G_WRITE_UNLOCK
    linkageType: ''
    returnType: void
    signature: "void g_type_remove_interface_check (gpointer check_data,\t\t\t GTypeInterfaceCheckFunc\
      \ check_func) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_type_system_initialized
      Src: /src/glib/gobject/gtype.c:3167,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3169,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:3171,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3172
      start: 3162
    functionDepth: 0
    functionLinenumber: 3162
    functionLinenumberEnd: 3172
    functionName: g_type_name
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - lookup_type_node_I
    - g_assert_type_system_initialized
    - NODE_NAME
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_type_name (GType type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - type
    argTypes:
    - GType
    constantsTouched: []
    func_position:
      end: 3190
      start: 3182
    functionDepth: 0
    functionLinenumber: 3182
    functionLinenumberEnd: 3190
    functionName: g_type_qname
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - lookup_type_node_I
    linkageType: ''
    returnType: GQuark
    signature: 'GQuark g_type_qname (GType type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:4699,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4702,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:4704,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:4705,1
    - Dst: NODE_PARENT_TYPE
      Src: /src/glib/gobject/gtype.c:4707,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4709,1
    - Dst: NODE_PARENT_TYPE
      Src: /src/glib/gobject/gtype.c:4709,1
    - Dst: g_error
      Src: /src/glib/gobject/gtype.c:4717,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gtype.c:4718,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - g_class
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 4721
      start: 4692
    functionDepth: 0
    functionLinenumber: 4692
    functionLinenumberEnd: 4721
    functionName: g_type_class_get_instance_private_offset
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_assert
    - lookup_type_node_I
    - NODE_PARENT_TYPE
    - g_error
    - g_type_name
    linkageType: ''
    returnType: gint
    signature: 'gint g_type_class_get_instance_private_offset (gpointer g_class) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3400,1
    - Dst: g_new
      Src: /src/glib/gobject/gtype.c:3406,1
    - Dst: G_READ_UNLOCK
      Src: /src/glib/gobject/gtype.c:3413,1
    - Dst: G_READ_LOCK
      Src: /src/glib/gobject/gtype.c:3405,1
    - Dst: memcpy
      Src: /src/glib/gobject/gtype.c:3408,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3424
      start: 3394
    functionDepth: 0
    functionLinenumber: 3394
    functionLinenumberEnd: 3424
    functionName: g_type_children
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_new
    - lookup_type_node_I
    - G_READ_UNLOCK
    - G_READ_LOCK
    linkageType: ''
    returnType: GType*
    signature: "GType *g_type_children (GType type,\t\t guint *n_children) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3277,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3280,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - type
    - base_type
    argTypes:
    - GType
    - GType
    constantsTouched: []
    func_position:
      end: 3292
      start: 3270
    functionDepth: 0
    functionLinenumber: 3270
    functionLinenumberEnd: 3292
    functionName: g_type_next_base
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - lookup_type_node_I
    linkageType: ''
    returnType: GType
    signature: "GType g_type_next_base (GType type,\t\t GType base_type) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: NODE_IS_ANCESTOR
      Src: /src/glib/gobject/gtype.c:3305,1
    - Dst: NODE_IS_IFACE
      Src: /src/glib/gobject/gtype.c:3308,1
    - Dst: type_lookup_iface_vtable_I
      Src: /src/glib/gobject/gtype.c:3320,1
    - Dst: type_lookup_iface_entry_L
      Src: /src/glib/gobject/gtype.c:3315,1
    - Dst: NODE_IS_IFACE
      Src: /src/glib/gobject/gtype.c:3309,1
    - Dst: G_READ_LOCK
      Src: /src/glib/gobject/gtype.c:3328,1
    - Dst: type_lookup_prerequisite_L
      Src: /src/glib/gobject/gtype.c:3329,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:3329,1
    - Dst: G_READ_UNLOCK
      Src: /src/glib/gobject/gtype.c:3332,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 28
    argCount: 5
    argNames:
    - node
    - iface_node
    - /*        support_inheritance */
    - support_interfaces
    - support_prerequisites
    - have_lock
    argTypes:
    - TypeNode*
    - TypeNode*
    - gboolean
    - gboolean
    - gboolean
    constantsTouched: []
    func_position:
      end: 3335
      start: 3294
    functionDepth: 0
    functionLinenumber: 3294
    functionLinenumberEnd: 3335
    functionName: type_node_check_conformities_UorL
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - type_lookup_prerequisite_L
    - type_lookup_iface_entry_L
    - G_READ_LOCK
    - G_READ_UNLOCK
    - NODE_IS_ANCESTOR
    - NODE_IS_IFACE
    - NODE_TYPE
    - type_lookup_iface_vtable_I
    linkageType: ''
    returnType: gboolean
    signature: "static inline gboolean type_node_check_conformities_UorL (TypeNode\
      \ *node,\t\t\t\t TypeNode *iface_node,\t\t\t\t /* support_inheritance */\t\t\
      \t\t gboolean support_interfaces,\t\t\t\t gboolean support_prerequisites,\t\t\
      \t\t gboolean have_lock) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3375,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3376,1
    - Dst: type_node_conforms_to_U
      Src: /src/glib/gobject/gtype.c:3377,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - type
    - iface_type
    argTypes:
    - GType
    - GType
    constantsTouched: []
    func_position:
      end: 3380
      start: 3365
    functionDepth: 0
    functionLinenumber: 3365
    functionLinenumberEnd: 3380
    functionName: (g_type_is_a)
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - lookup_type_node_I
    - type_node_conforms_to_U
    linkageType: ''
    returnType: gboolean
    signature: "gboolean (g_type_is_a) (GType type,\t GType iface_type) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:519,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:520,1
    - Dst: type_node_any_new_W
      Src: /src/glib/gobject/gtype.c:525,1
    - Dst: type_node_fundamental_info_I
      Src: /src/glib/gobject/gtype.c:527,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 531
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 531
    functionName: type_node_fundamental_new_W
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_assert
    - type_node_fundamental_info_I
    - type_node_any_new_W
    linkageType: ''
    returnType: TypeNode*
    signature: "static TypeNode *type_node_fundamental_new_W (GType ftype,\t\t\t const\
      \ gchar *name,\t\t\t GTypeFundamentalFlags type_flags) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:1614,1
    - Dst: G_TYPE_IS_INTERFACE
      Src: /src/glib/gobject/gtype.c:1614,1
    - Dst: g_new0
      Src: /src/glib/gobject/gtype.c:1624,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:1616,1
    - Dst: G_READ_LOCK
      Src: /src/glib/gobject/gtype.c:1623,1
    - Dst: IFACE_NODE_N_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:1624,1
    - Dst: IFACE_NODE_N_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:1625,1
    - Dst: IFACE_NODE_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:1627,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:1628,1
    - Dst: type_node_is_a_L
      Src: /src/glib/gobject/gtype.c:1631,1
    - Dst: G_READ_UNLOCK
      Src: /src/glib/gobject/gtype.c:1642,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:1638,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:1635,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1653
      start: 1608
    functionDepth: 0
    functionLinenumber: 1608
    functionLinenumberEnd: 1653
    functionName: g_type_interface_prerequisites
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - type_node_is_a_L
    - g_return_val_if_fail
    - lookup_type_node_I
    - G_READ_LOCK
    - G_READ_UNLOCK
    - IFACE_NODE_PREREQUISITES
    - NODE_TYPE
    - G_TYPE_IS_INTERFACE
    - IFACE_NODE_N_PREREQUISITES
    - g_new0
    linkageType: ''
    returnType: GType*
    signature: "GType *g_type_interface_prerequisites (GType interface_type,\t\t\t\
      \tguint *n_prerequisites) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:1827,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gtype.c:1834,1
    - Dst: VALGRIND_MALLOCLIKE_BLOCK
      Src: /src/glib/gobject/gtype.c:1878,1
    - Dst: maybe_issue_deprecation_warning
      Src: /src/glib/gobject/gtype.c:1841,1
    - Dst: ALIGN_STRUCT
      Src: /src/glib/gobject/gtype.c:1878,1
    - Dst: VALGRIND_MALLOCLIKE_BLOCK
      Src: /src/glib/gobject/gtype.c:1877,1
    - Dst: GOBJECT_OBJECT_NEW
      Src: /src/glib/gobject/gtype.c:1909,1
    - Dst: g_error
      Src: /src/glib/gobject/gtype.c:1830,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gtype.c:1828,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:1837,1
    - Dst: G_TYPE_IS_DEPRECATED
      Src: /src/glib/gobject/gtype.c:1839,1
    - Dst: g_type_class_get
      Src: /src/glib/gobject/gtype.c:1844,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gtype.c:1867,1
    - Dst: ALIGN_STRUCT
      Src: /src/glib/gobject/gtype.c:1869,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:1890,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gobject/gtype.c:1905,1
    - Dst: TRACE
      Src: /src/glib/gobject/gtype.c:1909,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:1831,1
    - Dst: g_error
      Src: /src/glib/gobject/gtype.c:1836,1
    - Dst: ALIGN_STRUCT
      Src: /src/glib/gobject/gtype.c:1878,1
    - Dst: g_malloc0
      Src: /src/glib/gobject/gtype.c:1882,1
    - Dst: G_TYPE_IS_ABSTRACT
      Src: /src/glib/gobject/gtype.c:1834,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gtype.c:1839,1
    - Dst: g_malloc0
      Src: /src/glib/gobject/gtype.c:1872,1
    - Dst: ALIGN_STRUCT
      Src: /src/glib/gobject/gtype.c:1874,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1912
      start: 1816
    functionDepth: 0
    functionLinenumber: 1816
    functionLinenumberEnd: 1912
    functionName: g_type_create_instance
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - maybe_issue_deprecation_warning
    - ALIGN_STRUCT
    - TRACE
    - g_malloc0
    - type_descriptive_name_I
    - lookup_type_node_I
    - G_TYPE_IS_DEPRECATED
    - g_atomic_int_inc
    - GOBJECT_OBJECT_NEW
    - g_type_class_get
    - VALGRIND_MALLOCLIKE_BLOCK
    - G_UNLIKELY
    - g_error
    - G_TYPE_IS_ABSTRACT
    linkageType: ''
    returnType: GTypeInstance*
    signature: 'GTypeInstance *g_type_create_instance (GType type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: type_lookup_iface_entry_L
      Src: /src/glib/gobject/gtype.c:2077,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:2083,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:2078,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:2084,1
    - Dst: type_iface_peek_holder_L
      Src: /src/glib/gobject/gtype.c:2078,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:2092,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:2095,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:2103,1
    - Dst: check_func
      Src: /src/glib/gobject/gtype.c:2104,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:2105,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 2
    argNames:
    - iface
    - node
    argTypes:
    - TypeNode*
    - TypeNode*
    constantsTouched: []
    func_position:
      end: 2107
      start: 2073
    functionDepth: 0
    functionLinenumber: 2073
    functionLinenumberEnd: 2107
    functionName: type_iface_vtable_iface_init_Wm
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - check_func
    - g_assert
    - type_lookup_iface_entry_L
    - type_iface_peek_holder_L
    - G_WRITE_LOCK
    - NODE_TYPE
    - G_WRITE_UNLOCK
    linkageType: ''
    returnType: void
    signature: "static void type_iface_vtable_iface_init_Wm (TypeNode *iface,\t\t\t\
      \t TypeNode *node) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtype.c:2647,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtype.c:2648,1
    - Dst: G_TYPE_IS_INSTANTIATABLE
      Src: /src/glib/gobject/gtype.c:2647,1
    - Dst: g_type_parent
      Src: /src/glib/gobject/gtype.c:2648,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/gobject/gtype.c:2654,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:2655,1
    - Dst: check_add_interface_L
      Src: /src/glib/gobject/gtype.c:2656,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:2658,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:2659,1
    - Dst: check_interface_info_I
      Src: /src/glib/gobject/gtype.c:2660,1
    - Dst: type_add_interface_Wm
      Src: /src/glib/gobject/gtype.c:2661,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gobject/gtype.c:2664,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:2663,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:2660,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - instance_type
    - interface_type
    - info
    argTypes:
    - GType
    - GType
    - GInterfaceInfo*
    constantsTouched: []
    func_position:
      end: 2665
      start: 2641
    functionDepth: 0
    functionLinenumber: 2641
    functionLinenumberEnd: 2665
    functionName: g_type_add_interface_static
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_lock
    - g_return_if_fail
    - lookup_type_node_I
    - g_rec_mutex_unlock
    - G_WRITE_LOCK
    - check_interface_info_I
    - NODE_TYPE
    - G_TYPE_IS_INSTANTIATABLE
    - g_type_parent
    - check_add_interface_L
    - type_add_interface_Wm
    - G_WRITE_UNLOCK
    linkageType: ''
    returnType: void
    signature: "void g_type_add_interface_static (GType instance_type,\t\t\t GType\
      \ interface_type,\t\t\t const GInterfaceInfo *info) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:2730,1
    - Dst: G_LIKELY
      Src: /src/glib/gobject/gtype.c:2740,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:2734,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:2733,1
    - Dst: G_LIKELY
      Src: /src/glib/gobject/gtype.c:2738,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/gtype.c:2740,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/gobject/gtype.c:2749,1
    - Dst: NODE_PARENT_TYPE
      Src: /src/glib/gobject/gtype.c:2752,1
    - Dst: g_type_class_get
      Src: /src/glib/gobject/gtype.c:2753,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:2755,1
    - Dst: type_data_ref_Wm
      Src: /src/glib/gobject/gtype.c:2757,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gobject/gtype.c:2764,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:2762,1
    - Dst: type_class_init_Wm
      Src: /src/glib/gobject/gtype.c:2760,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - type
    argTypes:
    - GType
    constantsTouched: []
    func_position:
      end: 2767
      start: 2722
    functionDepth: 0
    functionLinenumber: 2722
    functionLinenumberEnd: 2767
    functionName: g_type_class_get
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_lock
    - g_atomic_int_get
    - type_descriptive_name_I
    - lookup_type_node_I
    - g_rec_mutex_unlock
    - G_WRITE_LOCK
    - g_type_class_get
    - type_data_ref_Wm
    - G_LIKELY
    - g_critical
    - NODE_PARENT_TYPE
    - type_class_init_Wm
    - G_WRITE_UNLOCK
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_type_class_get (GType type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3231,1
    - Dst: NODE_PARENT_TYPE
      Src: /src/glib/gobject/gtype.c:3233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - type
    argTypes:
    - GType
    constantsTouched: []
    func_position:
      end: 3234
      start: 3226
    functionDepth: 0
    functionLinenumber: 3226
    functionLinenumberEnd: 3234
    functionName: g_type_parent
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - lookup_type_node_I
    - NODE_PARENT_TYPE
    linkageType: ''
    returnType: GType
    signature: 'GType g_type_parent (GType type) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4612,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtype.c:4615,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:4628,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:4629,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtype.c:4622,1
    - Dst: NODE_PARENT_TYPE
      Src: /src/glib/gobject/gtype.c:4634,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4636,1
    - Dst: NODE_PARENT_TYPE
      Src: /src/glib/gobject/gtype.c:4636,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:4639,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:4645,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:4653,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:4648,1
    - Dst: ALIGN_STRUCT
      Src: /src/glib/gobject/gtype.c:4647,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 2
    argNames:
    - g_class
    - private_size_or_offset
    argTypes:
    - gpointer
    - gint*
    constantsTouched: []
    func_position:
      end: 4654
      start: 4607
    functionDepth: 0
    functionLinenumber: 4607
    functionLinenumberEnd: 4654
    functionName: g_type_class_adjust_private_offset
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - ALIGN_STRUCT
    - g_return_if_fail
    - type_descriptive_name_I
    - lookup_type_node_I
    - g_assert
    - G_WRITE_LOCK
    - NODE_PARENT_TYPE
    - g_critical
    - G_WRITE_UNLOCK
    linkageType: ''
    returnType: void
    signature: 'void g_type_class_adjust_private_offset (gpointer g_class, gint *private_size_or_offset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:539,1
    - Dst: NODE_FUNDAMENTAL_TYPE
      Src: /src/glib/gobject/gtype.c:543,1
    - Dst: type_node_any_new_W
      Src: /src/glib/gobject/gtype.c:543,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:540,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:541,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 544
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 544
    functionName: type_node_new_W
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_assert
    - type_node_any_new_W
    - NODE_FUNDAMENTAL_TYPE
    linkageType: ''
    returnType: TypeNode*
    signature: "static TypeNode *type_node_new_W (TypeNode *pnode,\t\t const gchar\
      \ *name,\t\t GTypePlugin *plugin) "
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc0
      Src: /src/glib/gobject/gtype.c:2128,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:2136,1
    - Dst: g_slist_prepend
      Src: /src/glib/gobject/gtype.c:2159,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:2150,1
    - Dst: ALIGN_STRUCT
      Src: /src/glib/gobject/gtype.c:2139,1
    - Dst: g_slist_free
      Src: /src/glib/gobject/gtype.c:2166,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:2168,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gobject/gtype.c:2170,1
    - Dst: NODE_PARENT_TYPE
      Src: /src/glib/gobject/gtype.c:2175,1
    - Dst: IFACE_ENTRIES_N_ENTRIES
      Src: /src/glib/gobject/gtype.c:2179,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gobject/gtype.c:2235,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:2192,1
    - Dst: type_iface_vtable_iface_init_Wm
      Src: /src/glib/gobject/gtype.c:2257,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gobject/gtype.c:2266,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:2233,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:2200,1
    - Dst: IFACE_ENTRIES_N_ENTRIES
      Src: /src/glib/gobject/gtype.c:2247,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:2123,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gobject/gtype.c:2132,1
    - Dst: memcpy
      Src: /src/glib/gobject/gtype.c:2138,1
    - Dst: G_STRUCT_MEMBER_P
      Src: /src/glib/gobject/gtype.c:2139,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:2157,1
    - Dst: IFACE_ENTRIES_N_ENTRIES
      Src: /src/glib/gobject/gtype.c:2189,1
    - Dst: CLASSED_NODE_IFACES_ENTRIES_LOCKED
      Src: /src/glib/gobject/gtype.c:2195,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:2257,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/gtype.c:2126,1
    - Dst: g_malloc0
      Src: /src/glib/gobject/gtype.c:2130,1
    - Dst: memcpy
      Src: /src/glib/gobject/gtype.c:2139,1
    - Dst: class_init_base
      Src: /src/glib/gobject/gtype.c:2164,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:2152,1
    - Dst: ALIGN_STRUCT
      Src: /src/glib/gobject/gtype.c:2139,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:2175,1
    - Dst: CLASSED_NODE_IFACES_ENTRIES_LOCKED
      Src: /src/glib/gobject/gtype.c:2178,1
    - Dst: IFACE_ENTRIES_N_ENTRIES
      Src: /src/glib/gobject/gtype.c:2182,1
    - Dst: type_iface_vtable_base_init_Wm
      Src: /src/glib/gobject/gtype.c:2192,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:2214,1
    - Dst: ALIGN_STRUCT
      Src: /src/glib/gobject/gtype.c:2128,1
    - Dst: G_STRUCT_MEMBER_P
      Src: /src/glib/gobject/gtype.c:2139,1
    - Dst: NODE_PARENT_TYPE
      Src: /src/glib/gobject/gtype.c:2157,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gobject/gtype.c:2226,1
    - Dst: CLASSED_NODE_IFACES_ENTRIES_LOCKED
      Src: /src/glib/gobject/gtype.c:2244,1
    - Dst: IFACE_ENTRIES_N_ENTRIES
      Src: /src/glib/gobject/gtype.c:2254,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:2228,1
    - Dst: IFACE_ENTRIES_N_ENTRIES
      Src: /src/glib/gobject/gtype.c:2203,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 101
    argCount: 2
    argNames:
    - node
    - pclass
    argTypes:
    - TypeNode*
    - GTypeClass*
    constantsTouched: []
    func_position:
      end: 2267
      start: 2109
    functionDepth: 0
    functionLinenumber: 2109
    functionLinenumberEnd: 2267
    functionName: type_class_init_Wm
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_atomic_int_get
    - G_WRITE_LOCK
    - NODE_PARENT_TYPE
    - class_init_base
    - G_STRUCT_MEMBER_P
    - g_atomic_int_set
    - g_slist_free
    - g_slist_prepend
    - G_WRITE_UNLOCK
    - ALIGN_STRUCT
    - lookup_type_node_I
    - IFACE_ENTRIES_N_ENTRIES
    - type_iface_vtable_base_init_Wm
    - g_malloc0
    - g_assert
    - CLASSED_NODE_IFACES_ENTRIES_LOCKED
    - type_iface_vtable_iface_init_Wm
    - NODE_TYPE
    linkageType: ''
    returnType: void
    signature: "static void type_class_init_Wm (TypeNode *node,\t\t GTypeClass *pclass) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtype.c:1526,1
    - Dst: NODE_IS_IFACE
      Src: /src/glib/gobject/gtype.c:1532,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:1544,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:1545,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:1547,1
    - Dst: iface_node_get_holders_L
      Src: /src/glib/gobject/gtype.c:1540,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:1562,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:1565,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:1572,1
    - Dst: NODE_IS_IFACE
      Src: /src/glib/gobject/gtype.c:1574,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gtype.c:1528,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:1534,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:1536,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:1543,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:1561,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:1564,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:1571,1
    - Dst: type_iface_add_prerequisite_W
      Src: /src/glib/gobject/gtype.c:1581,1
    - Dst: type_iface_add_prerequisite_W
      Src: /src/glib/gobject/gtype.c:1582,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:1590,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gtype.c:1527,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtype.c:1528,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtype.c:1527,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:1535,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:1557,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:1563,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:1565,1
    - Dst: type_iface_add_prerequisite_W
      Src: /src/glib/gobject/gtype.c:1571,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:1583,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:1588,1
    - Dst: IFACE_NODE_N_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:1580,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:1587,1
    - Dst: G_TYPE_IS_INTERFACE
      Src: /src/glib/gobject/gtype.c:1526,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:1530,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:1531,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:1539,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:1546,1
    - Dst: IFACE_NODE_N_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:1555,1
    - Dst: IFACE_NODE_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:1557,1
    - Dst: IFACE_NODE_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:1579,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:1589,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:1581,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 68
    argCount: 2
    argNames:
    - interface_type
    - prerequisite_type
    argTypes:
    - GType
    - GType
    constantsTouched: []
    func_position:
      end: 1592
      start: 1519
    functionDepth: 0
    functionLinenumber: 1519
    functionLinenumberEnd: 1592
    functionName: g_type_interface_add_prerequisite
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - type_iface_add_prerequisite_W
    - iface_node_get_holders_L
    - g_return_if_fail
    - type_descriptive_name_I
    - lookup_type_node_I
    - G_WRITE_LOCK
    - NODE_IS_IFACE
    - IFACE_NODE_PREREQUISITES
    - NODE_TYPE
    - G_TYPE_IS_INTERFACE
    - g_critical
    - g_type_is_a
    - IFACE_NODE_N_PREREQUISITES
    - G_WRITE_UNLOCK
    linkageType: ''
    returnType: void
    signature: "void g_type_interface_add_prerequisite (GType interface_type,\t\t\t\
      \t GType prerequisite_type) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4554,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:4556,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:4561,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:4557,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:4562,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:4568,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:4569,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - class_gtype
    - private_size
    argTypes:
    - GType
    - gsize
    constantsTouched: []
    func_position:
      end: 4604
      start: 4550
    functionDepth: 0
    functionLinenumber: 4550
    functionLinenumberEnd: 4604
    functionName: g_type_add_instance_private
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - type_descriptive_name_I
    - lookup_type_node_I
    - g_return_val_if_fail
    - g_critical
    linkageType: ''
    returnType: gint
    signature: 'gint g_type_add_instance_private (GType class_gtype, gsize private_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type_node_check_conformities_UorL
      Src: /src/glib/gobject/gtype.c:3341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - node
    - iface_node
    argTypes:
    - TypeNode*
    - TypeNode*
    constantsTouched: []
    func_position:
      end: 3342
      start: 3337
    functionDepth: 0
    functionLinenumber: 3337
    functionLinenumberEnd: 3342
    functionName: type_node_is_a_L
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - type_node_check_conformities_UorL
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean type_node_is_a_L (TypeNode *node,\t\t TypeNode *iface_node) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:2879,1
    - Dst: G_LIKELY
      Src: /src/glib/gobject/gtype.c:2889,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/gtype.c:2889,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - type
    argTypes:
    - GType
    constantsTouched: []
    func_position:
      end: 2894
      start: 2874
    functionDepth: 0
    functionLinenumber: 2874
    functionLinenumberEnd: 2894
    functionName: g_type_class_peek_static
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - lookup_type_node_I
    - G_LIKELY
    - g_atomic_int_get
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_type_class_peek_static (GType type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3547,1
    - Dst: G_READ_UNLOCK
      Src: /src/glib/gobject/gtype.c:3552,1
    - Dst: G_READ_LOCK
      Src: /src/glib/gobject/gtype.c:3550,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:3556,1
    - Dst: type_get_qdata_L
      Src: /src/glib/gobject/gtype.c:3551,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - type
    - quark
    argTypes:
    - GType
    - GQuark
    constantsTouched: []
    func_position:
      end: 3560
      start: 3540
    functionDepth: 0
    functionLinenumber: 3540
    functionLinenumberEnd: 3560
    functionName: g_type_get_qdata
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - lookup_type_node_I
    - G_READ_UNLOCK
    - G_READ_LOCK
    - type_get_qdata_L
    linkageType: ''
    returnType: gpointer
    signature: "gpointer g_type_get_qdata (GType type,\t\t GQuark quark) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type_node_check_conformities_UorL
      Src: /src/glib/gobject/gtype.c:3350,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - node
    - iface_node
    - support_interfaces
    - support_prerequisites
    argTypes:
    - TypeNode*
    - TypeNode*
    - gboolean
    - gboolean
    constantsTouched: []
    func_position:
      end: 3351
      start: 3344
    functionDepth: 0
    functionLinenumber: 3344
    functionLinenumberEnd: 3351
    functionName: type_node_conforms_to_U
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - type_node_check_conformities_UorL
    linkageType: ''
    returnType: gboolean
    signature: "static inline gboolean type_node_conforms_to_U (TypeNode *node,\t\t\
      \t TypeNode *iface_node,\t\t\t gboolean support_interfaces,\t\t\t gboolean support_prerequisites) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gobject_win32_init
      Src: /src/glib/gobject/gtype.c:4379,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - hinstDLL
    - fdwReason
    - lpvReserved
    argTypes:
    - HINSTANCE
    - DWORD
    - LPVOID
    constantsTouched: []
    func_position:
      end: 4388
      start: 4371
    functionDepth: 0
    functionLinenumber: 4371
    functionLinenumberEnd: 4388
    functionName: DllMain
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - gobject_win32_init
    linkageType: ''
    returnType: BOOL
    signature: 'BOOL WINAPI DllMain (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:1940,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:1936,1
    - Dst: g_free_sized
      Src: /src/glib/gobject/gtype.c:1972,1
    - Dst: g_atomic_int_add
      Src: /src/glib/gobject/gtype.c:1984,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:1944,1
    - Dst: ALIGN_STRUCT
      Src: /src/glib/gobject/gtype.c:1967,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtype.c:1933,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:1939,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gtype.c:1944,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:1947,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gtype.c:1964,1
    - Dst: g_free_sized
      Src: /src/glib/gobject/gtype.c:1979,1
    - Dst: ALIGN_STRUCT
      Src: /src/glib/gobject/gtype.c:1966,1
    - Dst: VALGRIND_FREELIKE_BLOCK
      Src: /src/glib/gobject/gtype.c:1974,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gtype.c:1937,1
    - Dst: G_TYPE_IS_ABSTRACT
      Src: /src/glib/gobject/gtype.c:1944,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:1946,1
    - Dst: ALIGN_STRUCT
      Src: /src/glib/gobject/gtype.c:1974,1
    - Dst: memset
      Src: /src/glib/gobject/gtype.c:1957,1
    - Dst: VALGRIND_FREELIKE_BLOCK
      Src: /src/glib/gobject/gtype.c:1975,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 1
    argNames:
    - instance
    argTypes:
    - GTypeInstance*
    constantsTouched: []
    func_position:
      end: 1987
      start: 1924
    functionDepth: 0
    functionLinenumber: 1924
    functionLinenumberEnd: 1987
    functionName: g_type_free_instance
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - ALIGN_STRUCT
    - NODE_NAME
    - g_return_if_fail
    - type_descriptive_name_I
    - lookup_type_node_I
    - VALGRIND_FREELIKE_BLOCK
    - g_free_sized
    - g_atomic_int_add
    - NODE_TYPE
    - g_critical
    - G_UNLIKELY
    - G_TYPE_IS_ABSTRACT
    - memset
    linkageType: ''
    returnType: void
    signature: 'void g_type_free_instance (GTypeInstance *instance) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtype.c:2684,1
    - Dst: g_type_parent
      Src: /src/glib/gobject/gtype.c:2685,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtype.c:2685,1
    - Dst: G_TYPE_IS_INSTANTIATABLE
      Src: /src/glib/gobject/gtype.c:2684,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:2687,1
    - Dst: check_plugin_U
      Src: /src/glib/gobject/gtype.c:2688,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:2688,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/gobject/gtype.c:2692,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:2693,1
    - Dst: check_add_interface_L
      Src: /src/glib/gobject/gtype.c:2694,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:2696,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:2699,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gobject/gtype.c:2700,1
    - Dst: type_add_interface_Wm
      Src: /src/glib/gobject/gtype.c:2697,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - instance_type
    - interface_type
    - plugin
    argTypes:
    - GType
    - GType
    - GTypePlugin*
    constantsTouched: []
    func_position:
      end: 2701
      start: 2677
    functionDepth: 0
    functionLinenumber: 2677
    functionLinenumberEnd: 2701
    functionName: g_type_add_interface_dynamic
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_lock
    - NODE_NAME
    - g_return_if_fail
    - check_plugin_U
    - lookup_type_node_I
    - g_rec_mutex_unlock
    - G_WRITE_LOCK
    - G_TYPE_IS_INSTANTIATABLE
    - g_type_parent
    - check_add_interface_L
    - type_add_interface_Wm
    - G_WRITE_UNLOCK
    linkageType: ''
    returnType: void
    signature: "void g_type_add_interface_dynamic (GType instance_type,\t\t\t GType\
      \ interface_type,\t\t\t GTypePlugin *plugin) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_type_class_get
      Src: /src/glib/gobject/gtype.c:2786,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - GType
    constantsTouched: []
    func_position:
      end: 2787
      start: 2783
    functionDepth: 0
    functionLinenumber: 2783
    functionLinenumberEnd: 2787
    functionName: g_type_class_ref
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_type_class_get
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_type_class_ref (GType type) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:2848,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/gtype.c:2854,1
    - Dst: G_LIKELY
      Src: /src/glib/gobject/gtype.c:2854,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - type
    argTypes:
    - GType
    constantsTouched: []
    func_position:
      end: 2859
      start: 2843
    functionDepth: 0
    functionLinenumber: 2843
    functionLinenumberEnd: 2859
    functionName: g_type_class_peek
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - lookup_type_node_I
    - G_LIKELY
    - g_atomic_int_get
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_type_class_peek (GType type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - type
    argTypes:
    - GType
    constantsTouched: []
    func_position:
      end: 3253
      start: 3245
    functionDepth: 0
    functionLinenumber: 3245
    functionLinenumberEnd: 3253
    functionName: g_type_depth
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - lookup_type_node_I
    linkageType: ''
    returnType: guint
    signature: 'guint g_type_depth (GType type) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 2
    argNames:
    - node
    - quark
    argTypes:
    - TypeNode*
    - GQuark
    constantsTouched: []
    func_position:
      end: 3524
      start: 3493
    functionDepth: 0
    functionLinenumber: 3493
    functionLinenumberEnd: 3524
    functionName: type_get_qdata_L
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gpointer
    signature: "static inline gpointer type_get_qdata_L (TypeNode *node,\t\t GQuark\
      \ quark) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_type_name_from_class
      Src: /src/glib/gobject/gtype.c:4172,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4173
      start: 4166
    functionDepth: 0
    functionLinenumber: 4166
    functionLinenumberEnd: 4173
    functionName: g_type_name_from_instance
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_type_name_from_class
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_type_name_from_instance (GTypeInstance *instance) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_type_name
      Src: /src/glib/gobject/gtype.c:4181,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4182
      start: 4175
    functionDepth: 0
    functionLinenumber: 4175
    functionLinenumberEnd: 4182
    functionName: g_type_name_from_class
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_type_name
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_type_name_from_class (GTypeClass *g_class) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NODE_IS_IFACE
      Src: /src/glib/gobject/gtype.c:607,1
    - Dst: lookup_iface_entry_I
      Src: /src/glib/gobject/gtype.c:617,1
    - Dst: CLASSED_NODE_IFACES_ENTRIES
      Src: /src/glib/gobject/gtype.c:615,1
    - Dst: G_ATOMIC_ARRAY_DO_TRANSACTION
      Src: /src/glib/gobject/gtype.c:614,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - node
    - iface_node
    - vtable_ptr
    argTypes:
    - TypeNode*
    - TypeNode*
    - gpointer*
    constantsTouched: []
    func_position:
      end: 629
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 629
    functionName: type_lookup_iface_vtable_I
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - NODE_IS_IFACE
    - G_ATOMIC_ARRAY_DO_TRANSACTION
    - lookup_iface_entry_I
    - CLASSED_NODE_IFACES_ENTRIES
    linkageType: ''
    returnType: gboolean
    signature: "static inline gboolean type_lookup_iface_vtable_I (TypeNode *node,\t\
      \t\t TypeNode *iface_node,\t\t\t gpointer *vtable_ptr) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:721,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:738,1
    - Dst: g_type_from_name
      Src: /src/glib/gobject/gtype.c:736,1
    - Dst: strchr
      Src: /src/glib/gobject/gtype.c:730,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:733,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 40
    argCount: 1
    argNames:
    - type_name
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 743
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 743
    functionName: check_type_name_I
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - strchr
    - g_type_from_name
    - g_critical
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean check_type_name_I (const gchar *type_name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:3070,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:3075,1
    - Dst: NODE_IS_IFACE
      Src: /src/glib/gobject/gtype.c:3073,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:3076,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3072,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:3077,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:3083,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/gobject/gtype.c:3084,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:3085,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3086,1
    - Dst: type_iface_ensure_dflt_vtable_Wm
      Src: /src/glib/gobject/gtype.c:3088,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:3093,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gobject/gtype.c:3089,1
    - Dst: type_data_ref_Wm
      Src: /src/glib/gobject/gtype.c:3087,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - g_type
    argTypes:
    - GType
    constantsTouched: []
    func_position:
      end: 3096
      start: 3064
    functionDepth: 0
    functionLinenumber: 3064
    functionLinenumberEnd: 3096
    functionName: g_type_default_interface_get
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_lock
    - type_descriptive_name_I
    - lookup_type_node_I
    - g_rec_mutex_unlock
    - G_WRITE_LOCK
    - type_data_ref_Wm
    - type_iface_ensure_dflt_vtable_Wm
    - NODE_IS_IFACE
    - g_critical
    - G_WRITE_UNLOCK
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_type_default_interface_get (GType g_type) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3444,1
    - Dst: G_READ_LOCK
      Src: /src/glib/gobject/gtype.c:3451,1
    - Dst: g_new
      Src: /src/glib/gobject/gtype.c:3455,1
    - Dst: CLASSED_NODE_IFACES_ENTRIES_LOCKED
      Src: /src/glib/gobject/gtype.c:3452,1
    - Dst: IFACE_ENTRIES_N_ENTRIES
      Src: /src/glib/gobject/gtype.c:3455,1
    - Dst: IFACE_ENTRIES_N_ENTRIES
      Src: /src/glib/gobject/gtype.c:3456,1
    - Dst: g_new
      Src: /src/glib/gobject/gtype.c:3461,1
    - Dst: G_READ_UNLOCK
      Src: /src/glib/gobject/gtype.c:3468,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3479
      start: 3438
    functionDepth: 0
    functionLinenumber: 3438
    functionLinenumberEnd: 3479
    functionName: g_type_interfaces
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_new
    - lookup_type_node_I
    - CLASSED_NODE_IFACES_ENTRIES_LOCKED
    - G_READ_LOCK
    - G_READ_UNLOCK
    - IFACE_ENTRIES_N_ENTRIES
    linkageType: ''
    returnType: GType*
    signature: "GType *g_type_interfaces (GType type,\t\t guint *n_interfaces) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_READ_LOCK
      Src: /src/glib/gobject/gtype.c:3866,1
    - Dst: G_TYPE_MAKE_FUNDAMENTAL
      Src: /src/glib/gobject/gtype.c:3869,1
    - Dst: G_READ_UNLOCK
      Src: /src/glib/gobject/gtype.c:3868,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3871
      start: 3861
    functionDepth: 0
    functionLinenumber: 3861
    functionLinenumberEnd: 3871
    functionName: g_type_fundamental_next
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - G_TYPE_MAKE_FUNDAMENTAL
    - G_READ_UNLOCK
    - G_READ_LOCK
    linkageType: ''
    returnType: GType
    signature: 'GType g_type_fundamental_next (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - type
    - copy_func
    - free_func
    argTypes:
    - GType
    - GBoxedCopyFunc
    - GBoxedFreeFunc
    constantsTouched: []
    func_position:
      end: 4211
      start: 4202
    functionDepth: 0
    functionLinenumber: 4202
    functionLinenumberEnd: 4211
    functionName: _g_type_boxed_init
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - lookup_type_node_I
    linkageType: ''
    returnType: void
    signature: 'void _g_type_boxed_init (GType type, GBoxedCopyFunc copy_func, GBoxedFreeFunc
      free_func) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NODE_IS_IFACE
      Src: /src/glib/gobject/gtype.c:635,1
    - Dst: IFACE_NODE_N_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:638,1
    - Dst: IFACE_NODE_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:637,1
    - Dst: IFACE_NODE_N_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:635,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - iface
    - prerequisite_type
    argTypes:
    - TypeNode*
    - GType
    constantsTouched: []
    func_position:
      end: 660
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 660
    functionName: type_lookup_prerequisite_L
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - NODE_IS_IFACE
    - IFACE_NODE_PREREQUISITES
    - IFACE_NODE_N_PREREQUISITES
    linkageType: ''
    returnType: gboolean
    signature: "static inline gboolean type_lookup_prerequisite_L (TypeNode *iface,\t\
      \t\t GType prerequisite_type) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:752,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:757,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:762,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:755,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:764,1
    - Dst: type_node_fundamental_info_I
      Src: /src/glib/gobject/gtype.c:767,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:771,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:773,1
    - Dst: NODE_FUNDAMENTAL_TYPE
      Src: /src/glib/gobject/gtype.c:777,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:780,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:782,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - parent_type
    - type_name
    argTypes:
    - GType
    - gchar*
    constantsTouched: []
    func_position:
      end: 787
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 787
    functionName: check_derivation_I
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - NODE_NAME
    - type_descriptive_name_I
    - lookup_type_node_I
    - g_critical
    - NODE_FUNDAMENTAL_TYPE
    - type_node_fundamental_info_I
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean check_derivation_I (GType parent_type,\t\t const gchar\
      \ *type_name) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:3821,1
    - Dst: G_READ_LOCK
      Src: /src/glib/gobject/gtype.c:3830,1
    - Dst: G_TYPE_IS_INTERFACE
      Src: /src/glib/gobject/gtype.c:3821,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3824,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3823,1
    - Dst: iface_node_get_holders_L
      Src: /src/glib/gobject/gtype.c:3832,1
    - Dst: G_READ_UNLOCK
      Src: /src/glib/gobject/gtype.c:3837,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:3842,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:3843,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:3845,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3848
      start: 3814
    functionDepth: 0
    functionLinenumber: 3814
    functionLinenumberEnd: 3848
    functionName: g_type_interface_get_plugin
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - iface_node_get_holders_L
    - lookup_type_node_I
    - G_READ_LOCK
    - G_READ_UNLOCK
    - G_TYPE_IS_INTERFACE
    - g_critical
    linkageType: ''
    returnType: GTypePlugin*
    signature: "GTypePlugin *g_type_interface_get_plugin (GType instance_type,\t\t\
      \t GType interface_type) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: type_iface_retrieve_holder_info_Wm
      Src: /src/glib/gobject/gtype.c:2032,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:2040,1
    - Dst: type_lookup_iface_entry_L
      Src: /src/glib/gobject/gtype.c:2038,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:2032,1
    - Dst: type_iface_ensure_dflt_vtable_Wm
      Src: /src/glib/gobject/gtype.c:2036,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:2044,1
    - Dst: NODE_PARENT_TYPE
      Src: /src/glib/gobject/gtype.c:2044,1
    - Dst: type_lookup_iface_entry_L
      Src: /src/glib/gobject/gtype.c:2047,1
    - Dst: g_memdup2
      Src: /src/glib/gobject/gtype.c:2050,1
    - Dst: g_memdup2
      Src: /src/glib/gobject/gtype.c:2053,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:2056,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:2062,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:2055,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:2060,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    argCount: 2
    argNames:
    - iface
    - node
    argTypes:
    - TypeNode*
    - TypeNode*
    constantsTouched: []
    func_position:
      end: 2065
      start: 2022
    functionDepth: 0
    functionLinenumber: 2022
    functionLinenumberEnd: 2065
    functionName: type_iface_vtable_base_init_Wm
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_assert
    - lookup_type_node_I
    - type_lookup_iface_entry_L
    - type_iface_ensure_dflt_vtable_Wm
    - G_WRITE_LOCK
    - NODE_TYPE
    - NODE_PARENT_TYPE
    - g_memdup2
    - type_iface_retrieve_holder_info_Wm
    - G_WRITE_UNLOCK
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean type_iface_vtable_base_init_Wm (TypeNode *iface,\t\
      \t\t\tTypeNode *node) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gobject/gtype.c:3573,1
    - Dst: memmove
      Src: /src/glib/gobject/gtype.c:3592,1
    - Dst: g_renew
      Src: /src/glib/gobject/gtype.c:3587,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - node
    - quark
    - data
    argTypes:
    - TypeNode*
    - GQuark
    - gpointer
    constantsTouched: []
    func_position:
      end: 3595
      start: 3562
    functionDepth: 0
    functionLinenumber: 3562
    functionLinenumberEnd: 3595
    functionName: type_set_qdata_W
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - memmove
    - g_new0
    - g_renew
    linkageType: ''
    returnType: void
    signature: "static inline void type_set_qdata_W (TypeNode *node,\t\t GQuark quark,\t\
      \t gpointer data) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3725,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gobject/gtype.c:3763,1
    - Dst: type_get_qdata_L
      Src: /src/glib/gobject/gtype.c:3763,1
    - Dst: G_READ_LOCK
      Src: /src/glib/gobject/gtype.c:3762,1
    - Dst: type_node_fundamental_info_I
      Src: /src/glib/gobject/gtype.c:3753,1
    - Dst: G_READ_UNLOCK
      Src: /src/glib/gobject/gtype.c:3764,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 42
    argCount: 2
    argNames:
    - type
    - flags
    argTypes:
    - GType
    - guint
    constantsTouched: []
    func_position:
      end: 3773
      start: 3718
    functionDepth: 0
    functionLinenumber: 3718
    functionLinenumberEnd: 3773
    functionName: _g_type_test_flags
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - lookup_type_node_I
    - GPOINTER_TO_UINT
    - G_READ_LOCK
    - G_READ_UNLOCK
    - type_get_qdata_L
    - type_node_fundamental_info_I
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean _g_type_test_flags (GType type, guint flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - type
    - value
    argTypes:
    - GType
    - gpointer
    constantsTouched: []
    func_position:
      end: 4192
      start: 4186
    functionDepth: 0
    functionLinenumber: 4186
    functionLinenumberEnd: 4192
    functionName: _g_type_boxed_copy
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - lookup_type_node_I
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer _g_type_boxed_copy (GType type, gpointer value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - type
    - value
    argTypes:
    - GType
    - gpointer
    constantsTouched: []
    func_position:
      end: 4200
      start: 4194
    functionDepth: 0
    functionLinenumber: 4194
    functionLinenumberEnd: 4200
    functionName: _g_type_boxed_free
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - lookup_type_node_I
    linkageType: ''
    returnType: void
    signature: 'void _g_type_boxed_free (GType type, gpointer value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glib_win32_init
      Src: /src/glib/gobject/gtype.c:4414,1
    - Dst: gobject_win32_init
      Src: /src/glib/gobject/gtype.c:4415,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4416
      start: 4397
    functionDepth: 0
    functionLinenumber: 4397
    functionLinenumberEnd: 4416
    functionName: gobject_init_ctor
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - gobject_win32_init
    - glib_win32_init
    linkageType: ''
    returnType: G_DEFINE_CONSTRUCTOR(gobject_init_ctor)
    signature: 'G_DEFINE_CONSTRUCTOR(gobject_init_ctor) static void gobject_init_ctor
      (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:1992,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:1998,1
    - Dst: g_malloc0
      Src: /src/glib/gobject/gtype.c:1996,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:2003,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:2008,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - iface
    argTypes:
    - TypeNode*
    constantsTouched: []
    func_position:
      end: 2011
      start: 1989
    functionDepth: 0
    functionLinenumber: 1989
    functionLinenumberEnd: 2011
    functionName: type_iface_ensure_dflt_vtable_Wm
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_malloc0
    - g_assert
    - G_WRITE_LOCK
    - NODE_TYPE
    - G_WRITE_UNLOCK
    linkageType: ''
    returnType: void
    signature: 'static void type_iface_ensure_dflt_vtable_Wm (TypeNode *iface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3117,1
    - Dst: NODE_IS_IFACE
      Src: /src/glib/gobject/gtype.c:3118,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - g_type
    argTypes:
    - GType
    constantsTouched: []
    func_position:
      end: 3124
      start: 3111
    functionDepth: 0
    functionLinenumber: 3111
    functionLinenumberEnd: 3124
    functionName: g_type_default_interface_peek
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - NODE_IS_IFACE
    - lookup_type_node_I
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_type_default_interface_peek (GType g_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3708,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/gtype.c:3711,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:3709,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - GType
    constantsTouched: []
    func_position:
      end: 3715
      start: 3702
    functionDepth: 0
    functionLinenumber: 3702
    functionLinenumberEnd: 3715
    functionName: g_type_get_instance_count
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - lookup_type_node_I
    - g_return_val_if_fail
    - g_atomic_int_get
    linkageType: ''
    returnType: int
    signature: 'int g_type_get_instance_count (GType type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gtype.c:4847,1
    - Dst: g_error
      Src: /src/glib/gobject/gtype.c:4848,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - type
    argTypes:
    - GType
    constantsTouched: []
    func_position:
      end: 4849
      start: 4840
    functionDepth: 0
    functionLinenumber: 4840
    functionLinenumberEnd: 4849
    functionName: g_type_ensure
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_error
    - G_UNLIKELY
    linkageType: ''
    returnType: void
    signature: 'void g_type_ensure (GType type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_type_system_initialized
      Src: /src/glib/gobject/gtype.c:4232,1
    - Dst: g_message
      Src: /src/glib/gobject/gtype.c:4235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - debug_flags
    argTypes:
    - GTypeDebugFlags
    constantsTouched: []
    func_position:
      end: 4236
      start: 4228
    functionDepth: 0
    functionLinenumber: 4228
    functionLinenumberEnd: 4236
    functionName: g_type_init_with_debug_flags
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_assert_type_system_initialized
    - g_message
    linkageType: ''
    returnType: G_GNUC_BEGIN_IGNORE_DEPRECATIONS
    signature: 'G_GNUC_BEGIN_IGNORE_DEPRECATIONS void g_type_init_with_debug_flags
      (GTypeDebugFlags debug_flags) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: NODE_PARENT_TYPE
      Src: /src/glib/gobject/gtype.c:1100,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:1125,1
    - Dst: NODE_IS_IFACE
      Src: /src/glib/gobject/gtype.c:1142,1
    - Dst: G_STRUCT_MEMBER_P
      Src: /src/glib/gobject/gtype.c:1146,1
    - Dst: G_STRUCT_MEMBER_P
      Src: /src/glib/gobject/gtype.c:1159,1
    - Dst: G_STRUCT_MEMBER_P
      Src: /src/glib/gobject/gtype.c:1165,1
    - Dst: strlen
      Src: /src/glib/gobject/gtype.c:1185,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:1195,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:1200,1
    - Dst: NODE_PARENT_TYPE
      Src: /src/glib/gobject/gtype.c:1075,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:1100,1
    - Dst: G_STRUCT_MEMBER_P
      Src: /src/glib/gobject/gtype.c:1129,1
    - Dst: g_malloc0
      Src: /src/glib/gobject/gtype.c:1157,1
    - Dst: g_malloc0
      Src: /src/glib/gobject/gtype.c:1163,1
    - Dst: strcat
      Src: /src/glib/gobject/gtype.c:1184,1
    - Dst: strcat
      Src: /src/glib/gobject/gtype.c:1191,1
    - Dst: type_get_qdata_L
      Src: /src/glib/gobject/gtype.c:1198,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:1075,1
    - Dst: G_STRUCT_MEMBER_P
      Src: /src/glib/gobject/gtype.c:1104,1
    - Dst: g_malloc0
      Src: /src/glib/gobject/gtype.c:1127,1
    - Dst: NODE_IS_BOXED
      Src: /src/glib/gobject/gtype.c:1155,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:1071,1
    - Dst: strlen
      Src: /src/glib/gobject/gtype.c:1092,1
    - Dst: strlen
      Src: /src/glib/gobject/gtype.c:1094,1
    - Dst: g_malloc0
      Src: /src/glib/gobject/gtype.c:1102,1
    - Dst: g_malloc0
      Src: /src/glib/gobject/gtype.c:1144,1
    - Dst: NODE_PARENT_TYPE
      Src: /src/glib/gobject/gtype.c:1125,1
    - Dst: G_STRUCT_MEMBER_P
      Src: /src/glib/gobject/gtype.c:1179,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gobject/gtype.c:1198,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 112
    argCount: 3
    argNames:
    - node
    - info
    - value_table
    argTypes:
    - TypeNode*
    - GTypeInfo*
    - GTypeValueTable*
    constantsTouched: []
    func_position:
      end: 1201
      start: 1062
    functionDepth: 0
    functionLinenumber: 1062
    functionLinenumberEnd: 1201
    functionName: type_data_make_W
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - strcat
    - strlen
    - g_malloc0
    - g_assert
    - lookup_type_node_I
    - GPOINTER_TO_UINT
    - G_STRUCT_MEMBER_P
    - NODE_IS_IFACE
    - NODE_PARENT_TYPE
    - type_get_qdata_L
    - NODE_IS_BOXED
    linkageType: ''
    returnType: void
    signature: "static void type_data_make_W (TypeNode *node,\t\t const GTypeInfo\
      \ *info,\t\t const GTypeValueTable *value_table) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3885,1
    - Dst: NODE_FUNDAMENTAL_TYPE
      Src: /src/glib/gobject/gtype.c:3887,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - type_id
    argTypes:
    - GType
    constantsTouched: []
    func_position:
      end: 3888
      start: 3882
    functionDepth: 0
    functionLinenumber: 3882
    functionLinenumberEnd: 3888
    functionName: g_type_fundamental
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - lookup_type_node_I
    - NODE_FUNDAMENTAL_TYPE
    linkageType: ''
    returnType: GType
    signature: 'GType g_type_fundamental (GType type_id) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:1208,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:1224,1
    - Dst: g_type_plugin_use
      Src: /src/glib/gobject/gtype.c:1225,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:1227,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:1212,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:1229,1
    - Dst: NODE_FUNDAMENTAL_TYPE
      Src: /src/glib/gobject/gtype.c:1231,1
    - Dst: INVALID_RECURSION
      Src: /src/glib/gobject/gtype.c:1229,1
    - Dst: type_data_make_W
      Src: /src/glib/gobject/gtype.c:1232,1
    - Dst: check_type_info_I
      Src: /src/glib/gobject/gtype.c:1231,1
    - Dst: g_type_plugin_complete_type_info
      Src: /src/glib/gobject/gtype.c:1226,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:1233,1
    - Dst: type_data_ref_Wm
      Src: /src/glib/gobject/gtype.c:1216,1
    - Dst: memset
      Src: /src/glib/gobject/gtype.c:1222,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:1226,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:1231,1
    - Dst: NODE_PARENT_TYPE
      Src: /src/glib/gobject/gtype.c:1208,1
    - Dst: INVALID_RECURSION
      Src: /src/glib/gobject/gtype.c:1218,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:1218,1
    - Dst: memset
      Src: /src/glib/gobject/gtype.c:1221,1
    - Dst: check_value_table_I
      Src: /src/glib/gobject/gtype.c:1233,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - node
    argTypes:
    - TypeNode*
    constantsTouched: []
    func_position:
      end: 1236
      start: 1203
    functionDepth: 0
    functionLinenumber: 1203
    functionLinenumberEnd: 1236
    functionName: type_data_ref_Wm
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_type_plugin_complete_type_info
    - NODE_NAME
    - g_assert
    - lookup_type_node_I
    - G_WRITE_LOCK
    - type_data_ref_Wm
    - g_type_plugin_use
    - NODE_TYPE
    - INVALID_RECURSION
    - NODE_PARENT_TYPE
    - NODE_FUNDAMENTAL_TYPE
    - type_data_make_W
    - check_type_info_I
    - memset
    - G_WRITE_UNLOCK
    - check_value_table_I
    linkageType: ''
    returnType: void
    signature: 'static inline void type_data_ref_Wm (TypeNode *node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3900,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3904,1
    - Dst: type_node_conforms_to_U
      Src: /src/glib/gobject/gtype.c:3905,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 2
    argNames:
    - type_instance
    - iface_type
    argTypes:
    - GTypeInstance*
    - GType
    constantsTouched: []
    func_position:
      end: 3908
      start: 3890
    functionDepth: 0
    functionLinenumber: 3890
    functionLinenumberEnd: 3908
    functionName: g_type_check_instance_is_a
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - lookup_type_node_I
    - type_node_conforms_to_U
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_type_check_instance_is_a (GTypeInstance *type_instance,\t\
      \t\t GType iface_type) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtype.c:3612,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:3619,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:3617,1
    - Dst: type_set_qdata_W
      Src: /src/glib/gobject/gtype.c:3618,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3614,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtype.c:3622,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - type
    - quark
    - data
    argTypes:
    - GType
    - GQuark
    - gpointer
    constantsTouched: []
    func_position:
      end: 3623
      start: 3605
    functionDepth: 0
    functionLinenumber: 3605
    functionLinenumberEnd: 3623
    functionName: g_type_set_qdata
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - lookup_type_node_I
    - type_set_qdata_W
    - G_WRITE_LOCK
    - G_WRITE_UNLOCK
    linkageType: ''
    returnType: void
    signature: "void g_type_set_qdata (GType type,\t\t GQuark quark,\t\t gpointer\
      \ data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_add
      Src: /src/glib/gobject/gtype.c:1984,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1985
      start: 1982
    functionDepth: 0
    functionLinenumber: 1982
    functionLinenumberEnd: 1985
    functionName: (INSTANCE_COUNT)
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_atomic_int_add
    linkageType: ''
    returnType: IF_DEBUG
    signature: 'IF_DEBUG (INSTANCE_COUNT) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtype.c:2314,1
    - Dst: g_renew
      Src: /src/glib/gobject/gtype.c:2325,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:2316,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:2329,1
    - Dst: memmove
      Src: /src/glib/gobject/gtype.c:2322,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:2332,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - cache_data
    - cache_func
    argTypes:
    - gpointer
    - GTypeClassCacheFunc
    constantsTouched: []
    func_position:
      end: 2334
      start: 2307
    functionDepth: 0
    functionLinenumber: 2307
    functionLinenumberEnd: 2334
    functionName: g_type_remove_class_cache_func
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_renew
    - g_return_if_fail
    - memmove
    - G_WRITE_LOCK
    - g_critical
    - G_WRITE_UNLOCK
    linkageType: ''
    returnType: void
    signature: "void g_type_remove_class_cache_func (gpointer cache_data,\t\t\t\t\
      GTypeClassCacheFunc cache_func) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtype.c:3668,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:3679,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:3680,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3672,1
    - Dst: G_READ_LOCK
      Src: /src/glib/gobject/gtype.c:3676,1
    - Dst: G_READ_UNLOCK
      Src: /src/glib/gobject/gtype.c:3684,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - type
    - query
    argTypes:
    - GType
    - GTypeQuery*
    constantsTouched: []
    func_position:
      end: 3686
      start: 3662
    functionDepth: 0
    functionLinenumber: 3662
    functionLinenumberEnd: 3686
    functionName: g_type_query
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - NODE_NAME
    - g_return_if_fail
    - lookup_type_node_I
    - G_READ_LOCK
    - G_READ_UNLOCK
    - NODE_TYPE
    linkageType: ''
    returnType: void
    signature: "void g_type_query (GType type,\t GTypeQuery *query) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type_check_is_value_type_U
      Src: /src/glib/gobject/gtype.c:4084,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - GType
    constantsTouched: []
    func_position:
      end: 4085
      start: 4081
    functionDepth: 0
    functionLinenumber: 4081
    functionLinenumberEnd: 4085
    functionName: g_type_check_is_value_type
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - type_check_is_value_type_U
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_type_check_is_value_type (GType type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type_check_is_value_type_U
      Src: /src/glib/gobject/gtype.c:4090,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 4091
      start: 4087
    functionDepth: 0
    functionLinenumber: 4087
    functionLinenumberEnd: 4091
    functionName: g_type_check_value
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - type_check_is_value_type_U
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_type_check_value (const GValue *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gobject_init
      Src: /src/glib/gobject/gtype.c:4361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4363
      start: 4353
    functionDepth: 0
    functionLinenumber: 4353
    functionLinenumberEnd: 4363
    functionName: gobject_win32_init
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - gobject_init
    linkageType: ''
    returnType: void
    signature: 'void gobject_win32_init (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gobject_init
      Src: /src/glib/gobject/gtype.c:4433,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4434
      start: 4428
    functionDepth: 0
    functionLinenumber: 4428
    functionLinenumberEnd: 4434
    functionName: gobject_init_ctor
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - gobject_init
    linkageType: ''
    returnType: G_DEFINE_CONSTRUCTOR (gobject_init_ctor)
    signature: 'G_DEFINE_CONSTRUCTOR (gobject_init_ctor) static void gobject_init_ctor
      (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtype.c:2288,1
    - Dst: g_renew
      Src: /src/glib/gobject/gtype.c:2292,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:2295,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:2290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - cache_data
    - cache_func
    argTypes:
    - gpointer
    - GTypeClassCacheFunc
    constantsTouched: []
    func_position:
      end: 2296
      start: 2282
    functionDepth: 0
    functionLinenumber: 2282
    functionLinenumberEnd: 2296
    functionName: g_type_add_class_cache_func
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_renew
    - G_WRITE_LOCK
    - G_WRITE_UNLOCK
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_type_add_class_cache_func (gpointer cache_data,\t\t\t GTypeClassCacheFunc\
      \ cache_func) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtype.c:3631,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:3635,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtype.c:3632,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gobject/gtype.c:3636,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:3635,1
    - Dst: type_get_qdata_L
      Src: /src/glib/gobject/gtype.c:3636,1
    - Dst: type_set_qdata_W
      Src: /src/glib/gobject/gtype.c:3638,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gobject/gtype.c:3638,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - node
    - flags
    argTypes:
    - TypeNode*
    - GTypeFlags
    constantsTouched: []
    func_position:
      end: 3643
      start: 3625
    functionDepth: 0
    functionLinenumber: 3625
    functionLinenumberEnd: 3643
    functionName: type_add_flags_W
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - NODE_NAME
    - g_return_if_fail
    - type_set_qdata_W
    - GPOINTER_TO_UINT
    - GUINT_TO_POINTER
    - g_critical
    - type_get_qdata_L
    linkageType: ''
    returnType: void
    signature: "static void type_add_flags_W (TypeNode *node,\t\t GTypeFlags flags) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/glib/gobject/gtype.c:798,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - collect_format
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 801
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 801
    functionName: check_collect_format_I
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - strchr
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean check_collect_format_I (const gchar *collect_format) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:815,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:842,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:830,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:836,1
    - Dst: check_collect_format_I
      Src: /src/glib/gobject/gtype.c:840,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:850,1
    - Dst: check_collect_format_I
      Src: /src/glib/gobject/gtype.c:854,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:856,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 41
    argCount: 2
    argNames:
    - type_name
    - value_table
    argTypes:
    - gchar*
    - GTypeValueTable*
    constantsTouched: []
    func_position:
      end: 863
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 863
    functionName: check_value_table_I
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - check_collect_format_I
    - g_critical
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean check_value_table_I (const gchar *type_name,\t\t const\
      \ GTypeValueTable *value_table) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_type_test_flags
      Src: /src/glib/gobject/gtype.c:3779,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - type
    - flags
    argTypes:
    - GType
    - guint
    constantsTouched: []
    func_position:
      end: 3780
      start: 3775
    functionDepth: 0
    functionLinenumber: 3775
    functionLinenumberEnd: 3780
    functionName: (g_type_test_flags)
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - _g_type_test_flags
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean (g_type_test_flags) (GType type, guint flags) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4023,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:4029,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:4028,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:4035,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:4032,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - type_instance
    argTypes:
    - GTypeInstance*
    constantsTouched: []
    func_position:
      end: 4038
      start: 4013
    functionDepth: 0
    functionLinenumber: 4013
    functionLinenumberEnd: 4038
    functionName: g_type_check_instance
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - type_descriptive_name_I
    - lookup_type_node_I
    - g_critical
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_type_check_instance (GTypeInstance *type_instance) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4047,1
    - Dst: NODE_IS_IFACE
      Src: /src/glib/gobject/gtype.c:4058,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gobject/gtype.c:4057,1
    - Dst: G_READ_LOCK
      Src: /src/glib/gobject/gtype.c:4051,1
    - Dst: type_get_qdata_L
      Src: /src/glib/gobject/gtype.c:4057,1
    - Dst: IFACE_NODE_N_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:4062,1
    - Dst: IFACE_NODE_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:4064,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4065,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4070,1
    - Dst: G_READ_UNLOCK
      Src: /src/glib/gobject/gtype.c:4076,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 1
    argNames:
    - type
    argTypes:
    - GType
    constantsTouched: []
    func_position:
      end: 4079
      start: 4040
    functionDepth: 0
    functionLinenumber: 4040
    functionLinenumberEnd: 4079
    functionName: type_check_is_value_type_U
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - lookup_type_node_I
    - GPOINTER_TO_UINT
    - G_READ_LOCK
    - G_READ_UNLOCK
    - NODE_IS_IFACE
    - IFACE_NODE_PREREQUISITES
    - IFACE_NODE_N_PREREQUISITES
    - type_get_qdata_L
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean type_check_is_value_type_U (GType type) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4518,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:4526,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:4525,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtype.c:4520,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtype.c:4521,1
    - Dst: NODE_PARENT_TYPE
      Src: /src/glib/gobject/gtype.c:4530,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4532,1
    - Dst: NODE_PARENT_TYPE
      Src: /src/glib/gobject/gtype.c:4532,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:4535,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:4540,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:4546,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:4543,1
    - Dst: ALIGN_STRUCT
      Src: /src/glib/gobject/gtype.c:4542,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - g_class
    - private_size
    argTypes:
    - gpointer
    - gsize
    constantsTouched: []
    func_position:
      end: 4547
      start: 4513
    functionDepth: 0
    functionLinenumber: 4513
    functionLinenumberEnd: 4547
    functionName: g_type_class_add_private
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - ALIGN_STRUCT
    - g_return_if_fail
    - type_descriptive_name_I
    - lookup_type_node_I
    - g_assert
    - G_WRITE_LOCK
    - NODE_PARENT_TYPE
    - g_critical
    - G_WRITE_UNLOCK
    linkageType: ''
    returnType: void
    signature: "void g_type_class_add_private (gpointer g_class,\t\t\t gsize private_size) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_ATOMIC_ARRAY_DO_TRANSACTION
      Src: /src/glib/gobject/gtype.c:559,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:577,1
    - Dst: IFACE_ENTRIES_N_ENTRIES
      Src: /src/glib/gobject/gtype.c:574,1
    - Dst: G_ATOMIC_ARRAY_DATA_SIZE
      Src: /src/glib/gobject/gtype.c:566,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 585
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 585
    functionName: lookup_iface_entry_I
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - G_ATOMIC_ARRAY_DO_TRANSACTION
    - G_ATOMIC_ARRAY_DATA_SIZE
    - NODE_TYPE
    - IFACE_ENTRIES_N_ENTRIES
    linkageType: ''
    returnType: IFaceEntry*
    signature: 'static inline IFaceEntry *lookup_iface_entry_I (IFaceEntries *entries,
      TypeNode *iface_node) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: type_node_fundamental_info_I
      Src: /src/glib/gobject/gtype.c:871,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:881,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:874,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:883,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:871,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:885,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:895,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:897,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:899,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:906,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:924,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:933,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:921,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:942,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:915,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:939,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 54
    argCount: 4
    argNames:
    - pnode
    - ftype
    - type_name
    - info
    argTypes:
    - TypeNode*
    - GType
    - gchar*
    - GTypeInfo*
    constantsTouched: []
    func_position:
      end: 948
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 948
    functionName: check_type_info_I
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - NODE_NAME
    - g_assert
    - lookup_type_node_I
    - g_critical
    - type_node_fundamental_info_I
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean check_type_info_I (TypeNode *pnode,\t\t GType ftype,\t\
      \t const gchar *type_name,\t\t const GTypeInfo *info) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gobject/gtype.c:1427,1
    - Dst: iface_node_set_holders_W
      Src: /src/glib/gobject/gtype.c:1434,1
    - Dst: NODE_IS_IFACE
      Src: /src/glib/gobject/gtype.c:1431,1
    - Dst: iface_node_get_holders_L
      Src: /src/glib/gobject/gtype.c:1433,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:1431,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:1435,1
    - Dst: g_memdup2
      Src: /src/glib/gobject/gtype.c:1436,1
    - Dst: type_node_add_iface_entry_W
      Src: /src/glib/gobject/gtype.c:1440,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:1440,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/gtype.c:1447,1
    - Dst: type_iface_vtable_base_init_Wm
      Src: /src/glib/gobject/gtype.c:1450,1
    - Dst: type_iface_vtable_iface_init_Wm
      Src: /src/glib/gobject/gtype.c:1453,1
    - Dst: type_node_add_iface_entry_W
      Src: /src/glib/gobject/gtype.c:1459,1
    - Dst: type_lookup_iface_entry_L
      Src: /src/glib/gobject/gtype.c:1457,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:1459,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:1459,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 4
    argNames:
    - node
    - iface
    - info
    - plugin
    argTypes:
    - TypeNode*
    - TypeNode*
    - GInterfaceInfo*
    - GTypePlugin*
    constantsTouched: []
    func_position:
      end: 1460
      start: 1421
    functionDepth: 0
    functionLinenumber: 1421
    functionLinenumberEnd: 1460
    functionName: type_add_interface_Wm
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - iface_node_get_holders_L
    - g_atomic_int_get
    - type_iface_vtable_base_init_Wm
    - g_assert
    - lookup_type_node_I
    - type_lookup_iface_entry_L
    - type_node_add_iface_entry_W
    - type_iface_vtable_iface_init_Wm
    - NODE_IS_IFACE
    - iface_node_set_holders_W
    - NODE_TYPE
    - g_new0
    - g_memdup2
    linkageType: ''
    returnType: void
    signature: 'static void type_add_interface_Wm (TypeNode *node, TypeNode *iface,
      const GInterfaceInfo *info, GTypePlugin *plugin) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3949,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:3957,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:3958,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3951,1
    - Dst: type_node_conforms_to_U
      Src: /src/glib/gobject/gtype.c:3952,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:3959,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:3961,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:3962,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:3963,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:3966,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:3967,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3971
      start: 3938
    functionDepth: 0
    functionLinenumber: 3938
    functionLinenumberEnd: 3971
    functionName: g_type_check_instance_cast
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - type_descriptive_name_I
    - lookup_type_node_I
    - g_critical
    - type_node_conforms_to_U
    linkageType: ''
    returnType: GTypeInstance*
    signature: "GTypeInstance *g_type_check_instance_cast (GTypeInstance *type_instance,\t\
      \t\t GType iface_type) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NODE_IS_IFACE
      Src: /src/glib/gobject/gtype.c:591,1
    - Dst: lookup_iface_entry_I
      Src: /src/glib/gobject/gtype.c:594,1
    - Dst: CLASSED_NODE_IFACES_ENTRIES_LOCKED
      Src: /src/glib/gobject/gtype.c:594,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 596
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 596
    functionName: type_lookup_iface_entry_L
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - NODE_IS_IFACE
    - lookup_iface_entry_I
    - CLASSED_NODE_IFACES_ENTRIES_LOCKED
    linkageType: ''
    returnType: IFaceEntry*
    signature: "static inline IFaceEntry *type_lookup_iface_entry_L (TypeNode *node,\t\
      \t\t TypeNode *iface_node) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: type_lookup_iface_entry_L
      Src: /src/glib/gobject/gtype.c:957,1
    - Dst: find_conforming_child_type_L
      Src: /src/glib/gobject/gtype.c:961,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:961,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 964
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 964
    functionName: find_conforming_child_type_L
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - lookup_type_node_I
    - type_lookup_iface_entry_L
    - find_conforming_child_type_L
    linkageType: ''
    returnType: TypeNode*
    signature: "static TypeNode *find_conforming_child_type_L (TypeNode *pnode,\t\t\
      \t TypeNode *iface) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NODE_IS_IFACE
      Src: /src/glib/gobject/gtype.c:1470,1
    - Dst: IFACE_NODE_N_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:1475,1
    - Dst: g_renew
      Src: /src/glib/gobject/gtype.c:1495,1
    - Dst: iface_node_get_dependants_array_L
      Src: /src/glib/gobject/gtype.c:1502,1
    - Dst: type_iface_add_prerequisite_W
      Src: /src/glib/gobject/gtype.c:1505,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:1505,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:1466,1
    - Dst: IFACE_NODE_N_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:1471,1
    - Dst: IFACE_NODE_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:1481,1
    - Dst: g_renew
      Src: /src/glib/gobject/gtype.c:1481,1
    - Dst: IFACE_NODE_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:1484,1
    - Dst: NODE_IS_IFACE
      Src: /src/glib/gobject/gtype.c:1490,1
    - Dst: IFACE_NODE_N_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:1486,1
    - Dst: iface_node_get_dependants_array_L
      Src: /src/glib/gobject/gtype.c:1492,1
    - Dst: memmove
      Src: /src/glib/gobject/gtype.c:1485,1
    - Dst: IFACE_NODE_N_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:1480,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:1470,1
    - Dst: IFACE_NODE_N_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:1483,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:1496,1
    - Dst: NODE_IS_IFACE
      Src: /src/glib/gobject/gtype.c:1472,1
    - Dst: IFACE_NODE_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:1474,1
    - Dst: IFACE_NODE_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:1482,1
    - Dst: iface_node_set_dependants_array_W
      Src: /src/glib/gobject/gtype.c:1498,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 55
    argCount: 2
    argNames:
    - iface
    - prerequisite_node
    argTypes:
    - TypeNode*
    - TypeNode*
    constantsTouched: []
    func_position:
      end: 1506
      start: 1462
    functionDepth: 0
    functionLinenumber: 1462
    functionLinenumberEnd: 1506
    functionName: type_iface_add_prerequisite_W
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - iface_node_get_dependants_array_L
    - type_iface_add_prerequisite_W
    - g_renew
    - g_assert
    - memmove
    - iface_node_set_dependants_array_W
    - lookup_type_node_I
    - NODE_IS_IFACE
    - IFACE_NODE_PREREQUISITES
    - NODE_TYPE
    - IFACE_NODE_N_PREREQUISITES
    linkageType: ''
    returnType: void
    signature: "static void type_iface_add_prerequisite_W (TypeNode *iface,\t\t\t\
      \ TypeNode *prerequisite_node) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3982,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:3990,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:3991,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3984,1
    - Dst: type_node_conforms_to_U
      Src: /src/glib/gobject/gtype.c:3985,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:3992,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:3994,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:3995,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:3996,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:3999,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:4000,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4002
      start: 3973
    functionDepth: 0
    functionLinenumber: 3973
    functionLinenumberEnd: 4002
    functionName: g_type_check_class_cast
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - type_descriptive_name_I
    - lookup_type_node_I
    - g_critical
    - type_node_conforms_to_U
    linkageType: ''
    returnType: GTypeClass*
    signature: "GTypeClass *g_type_check_class_cast (GTypeClass *type_class,\t\t\t\
      \ GType is_a_type) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3796,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3799
      start: 3791
    functionDepth: 0
    functionLinenumber: 3791
    functionLinenumberEnd: 3799
    functionName: g_type_get_plugin
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - lookup_type_node_I
    linkageType: ''
    returnType: GTypePlugin*
    signature: 'GTypePlugin *g_type_get_plugin (GType type) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: G_STRUCT_MEMBER_P
      Src: /src/glib/gobject/gtype.c:409,1
    - Dst: g_malloc0
      Src: /src/glib/gobject/gtype.c:406,1
    - Dst: NODE_IS_IFACE
      Src: /src/glib/gobject/gtype.c:433,1
    - Dst: memcpy
      Src: /src/glib/gobject/gtype.c:444,1
    - Dst: IFACE_ENTRIES_N_ENTRIES
      Src: /src/glib/gobject/gtype.c:468,1
    - Dst: _g_atomic_array_copy
      Src: /src/glib/gobject/gtype.c:463,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gobject/gtype.c:491,1
    - Dst: GTYPE_TO_POINTER
      Src: /src/glib/gobject/gtype.c:493,1
    - Dst: IFACE_NODE_N_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:435,1
    - Dst: IFACE_NODE_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:456,1
    - Dst: IFACE_NODE_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:436,1
    - Dst: CLASSED_NODE_IFACES_ENTRIES
      Src: /src/glib/gobject/gtype.c:439,1
    - Dst: _g_atomic_array_update
      Src: /src/glib/gobject/gtype.c:473,1
    - Dst: CLASSED_NODE_IFACES_ENTRIES
      Src: /src/glib/gobject/gtype.c:473,1
    - Dst: TRACE
      Src: /src/glib/gobject/gtype.c:483,1
    - Dst: SIZEOF_BASE_TYPE_NODE
      Src: /src/glib/gobject/gtype.c:404,1
    - Dst: VALGRIND_MALLOCLIKE_BLOCK
      Src: /src/glib/gobject/gtype.c:414,1
    - Dst: GPOINTER_TO_TYPE
      Src: /src/glib/gobject/gtype.c:418,1
    - Dst: NODE_IS_IFACE
      Src: /src/glib/gobject/gtype.c:453,1
    - Dst: IFACE_NODE_N_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:455,1
    - Dst: GOBJECT_TYPE_NEW
      Src: /src/glib/gobject/gtype.c:483,1
    - Dst: g_quark_from_string
      Src: /src/glib/gobject/gtype.c:489,1
    - Dst: g_quark_to_string
      Src: /src/glib/gobject/gtype.c:492,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gobject/gtype.c:495,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:420,1
    - Dst: _g_atomic_array_init
      Src: /src/glib/gobject/gtype.c:439,1
    - Dst: CLASSED_NODE_IFACES_ENTRIES
      Src: /src/glib/gobject/gtype.c:463,1
    - Dst: g_renew
      Src: /src/glib/gobject/gtype.c:479,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 104
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 498
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 498
    functionName: type_node_any_new_W
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - memcpy
    - GPOINTER_TO_TYPE
    - IFACE_NODE_N_PREREQUISITES
    - G_STRUCT_MEMBER_P
    - g_hash_table_insert
    - g_quark_to_string
    - GOBJECT_TYPE_NEW
    - CLASSED_NODE_IFACES_ENTRIES
    - g_atomic_int_inc
    - g_renew
    - g_quark_from_string
    - GTYPE_TO_POINTER
    - NODE_IS_IFACE
    - VALGRIND_MALLOCLIKE_BLOCK
    - IFACE_NODE_PREREQUISITES
    - _g_atomic_array_init
    - IFACE_ENTRIES_N_ENTRIES
    - TRACE
    - g_malloc0
    - g_assert
    - SIZEOF_BASE_TYPE_NODE
    - _g_atomic_array_update
    - _g_atomic_array_copy
    linkageType: ''
    returnType: TypeNode*
    signature: "static TypeNode *type_node_any_new_W (TypeNode *pnode,\t\t GType ftype,\t\
      \t const gchar *name,\t\t GTypePlugin *plugin,\t\t GTypeFundamentalFlags type_flags) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:667,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:669,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 673
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 673
    functionName: type_descriptive_name_I
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - lookup_type_node_I
    - NODE_NAME
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *type_descriptive_name_I (GType type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_inc
      Src: /src/glib/gobject/gtype.c:1905,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1906
      start: 1903
    functionDepth: 0
    functionLinenumber: 1903
    functionLinenumberEnd: 1906
    functionName: (INSTANCE_COUNT)
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_atomic_int_inc
    linkageType: ''
    returnType: IF_DEBUG
    signature: 'IF_DEBUG (INSTANCE_COUNT) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - g_class
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 2824
      start: 2821
    functionDepth: 0
    functionLinenumber: 2821
    functionLinenumberEnd: 2824
    functionName: g_type_class_unref_uncached
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void g_type_class_unref_uncached (gpointer g_class) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:2963,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:2965,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:2970,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:2966,1
    - Dst: type_lookup_iface_vtable_I
      Src: /src/glib/gobject/gtype.c:2968,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - instance_class
    - iface_type
    argTypes:
    - gpointer
    - GType
    constantsTouched: []
    func_position:
      end: 2973
      start: 2954
    functionDepth: 0
    functionLinenumber: 2954
    functionLinenumberEnd: 2973
    functionName: g_type_interface_peek
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - type_lookup_iface_vtable_I
    - lookup_type_node_I
    - g_return_val_if_fail
    - g_critical
    linkageType: ''
    returnType: gpointer
    signature: "gpointer g_type_interface_peek (gpointer instance_class,\t\t GType\
      \ iface_type) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:2998,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3003,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3000,1
    - Dst: NODE_PARENT_TYPE
      Src: /src/glib/gobject/gtype.c:3003,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3001,1
    - Dst: type_lookup_iface_vtable_I
      Src: /src/glib/gobject/gtype.c:3005,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:3007,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 1
    argNames:
    - g_iface
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 3010
      start: 2990
    functionDepth: 0
    functionLinenumber: 2990
    functionLinenumberEnd: 3010
    functionName: g_type_interface_peek_parent
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - lookup_type_node_I
    - NODE_PARENT_TYPE
    - g_critical
    - type_lookup_iface_vtable_I
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_type_interface_peek_parent (gpointer g_iface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3917,1
    - Dst: NODE_FUNDAMENTAL_TYPE
      Src: /src/glib/gobject/gtype.c:3918,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - type_instance
    - fundamental_type
    argTypes:
    - GTypeInstance*
    - GType
    constantsTouched: []
    func_position:
      end: 3919
      start: 3910
    functionDepth: 0
    functionLinenumber: 3910
    functionLinenumberEnd: 3919
    functionName: g_type_check_instance_is_fundamentally_a
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - lookup_type_node_I
    - NODE_FUNDAMENTAL_TYPE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_type_check_instance_is_fundamentally_a (GTypeInstance *type_instance,
      GType fundamental_type) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4118,1
    - Dst: G_READ_LOCK
      Src: /src/glib/gobject/gtype.c:4124,1
    - Dst: IFACE_NODE_N_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:4137,1
    - Dst: IFACE_NODE_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:4139,1
    - Dst: NODE_IS_IFACE
      Src: /src/glib/gobject/gtype.c:4133,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4140,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4145,1
    - Dst: G_READ_UNLOCK
      Src: /src/glib/gobject/gtype.c:4152,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:4158,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:4160,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:4161,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4164
      start: 4114
    functionDepth: 0
    functionLinenumber: 4114
    functionLinenumberEnd: 4164
    functionName: g_type_value_table_peek
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - type_descriptive_name_I
    - lookup_type_node_I
    - G_READ_LOCK
    - G_READ_UNLOCK
    - NODE_IS_IFACE
    - IFACE_NODE_PREREQUISITES
    - IFACE_NODE_N_PREREQUISITES
    - g_critical
    linkageType: ''
    returnType: GTypeValueTable*
    signature: 'GTypeValueTable *g_type_value_table_peek (GType type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NODE_FUNDAMENTAL_TYPE
      Src: /src/glib/gobject/gtype.c:503,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:505,1
    - Dst: G_STRUCT_MEMBER_P
      Src: /src/glib/gobject/gtype.c:508,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:506,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 509
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 509
    functionName: type_node_fundamental_info_I
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - lookup_type_node_I
    - NODE_TYPE
    - NODE_FUNDAMENTAL_TYPE
    - G_STRUCT_MEMBER_P
    linkageType: ''
    returnType: GTypeFundamentalInfo*
    signature: 'static inline GTypeFundamentalInfo *type_node_fundamental_info_I (TypeNode
      *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3931,1
    - Dst: type_node_conforms_to_U
      Src: /src/glib/gobject/gtype.c:3933,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:3932,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - type_class
    - is_a_type
    argTypes:
    - GTypeClass*
    - GType
    constantsTouched: []
    func_position:
      end: 3936
      start: 3921
    functionDepth: 0
    functionLinenumber: 3921
    functionLinenumberEnd: 3936
    functionName: g_type_check_class_is_a
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - lookup_type_node_I
    - type_node_conforms_to_U
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_type_check_class_is_a (GTypeClass *type_class,\t\t\t GType\
      \ is_a_type) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - g_class
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 2805
      start: 2802
    functionDepth: 0
    functionLinenumber: 2802
    functionLinenumberEnd: 2805
    functionName: g_type_class_unref
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void g_type_class_unref (gpointer g_class) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:2921,1
    - Dst: NODE_PARENT_TYPE
      Src: /src/glib/gobject/gtype.c:2931,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:2923,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/gtype.c:2923,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:2925,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:2933,1
    - Dst: NODE_PARENT_TYPE
      Src: /src/glib/gobject/gtype.c:2933,1
    - Dst: NODE_PARENT_TYPE
      Src: /src/glib/gobject/gtype.c:2936,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:2937,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - g_class
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 2940
      start: 2915
    functionDepth: 0
    functionLinenumber: 2915
    functionLinenumberEnd: 2940
    functionName: g_type_class_peek_parent
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_TYPE_FROM_CLASS
    - lookup_type_node_I
    - NODE_PARENT_TYPE
    - g_critical
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_type_class_peek_parent (gpointer g_class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type_check_is_value_type_U
      Src: /src/glib/gobject/gtype.c:4097,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gtype.c:4097,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - value
    - type
    argTypes:
    - GValue*
    - GType
    constantsTouched: []
    func_position:
      end: 4098
      start: 4093
    functionDepth: 0
    functionLinenumber: 4093
    functionLinenumberEnd: 4098
    functionName: g_type_check_value_holds
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_type_is_a
    - type_check_is_value_type_U
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_type_check_value_holds (const GValue *value,\t\t\t GType\
      \ type) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:4662,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gtype.c:4665,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:4664,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:4668,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:4667,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - instance
    - private_type
    argTypes:
    - GTypeInstance*
    - GType
    constantsTouched: []
    func_position:
      end: 4673
      start: 4656
    functionDepth: 0
    functionLinenumber: 4656
    functionLinenumberEnd: 4673
    functionName: g_type_instance_get_private
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - type_descriptive_name_I
    - lookup_type_node_I
    - g_critical
    - G_UNLIKELY
    linkageType: ''
    returnType: gpointer
    signature: "gpointer g_type_instance_get_private (GTypeInstance *instance,\t\t\
      \t GType private_type) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/gtype.c:385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 386
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 386
    functionName: g_type_get_type_registration_serial
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    linkageType: ''
    returnType: guint
    signature: 'guint g_type_get_type_registration_serial (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_type_system_initialized
      Src: /src/glib/gobject/gtype.c:2610,1
    - Dst: check_type_name_I
      Src: /src/glib/gobject/gtype.c:2615,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:2611,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:2613,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:2612,1
    - Dst: check_derivation_I
      Src: /src/glib/gobject/gtype.c:2616,1
    - Dst: check_plugin_U
      Src: /src/glib/gobject/gtype.c:2617,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:2620,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:2621,1
    - Dst: type_node_new_W
      Src: /src/glib/gobject/gtype.c:2622,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:2625,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:2624,1
    - Dst: type_add_flags_W
      Src: /src/glib/gobject/gtype.c:2623,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 4
    argNames:
    - parent_type
    - type_name
    - plugin
    - flags
    argTypes:
    - GType
    - gchar*
    - GTypePlugin*
    - GTypeFlags
    constantsTouched: []
    func_position:
      end: 2628
      start: 2601
    functionDepth: 0
    functionLinenumber: 2601
    functionLinenumberEnd: 2628
    functionName: g_type_register_dynamic
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - check_derivation_I
    - g_return_val_if_fail
    - check_plugin_U
    - lookup_type_node_I
    - type_node_new_W
    - g_assert_type_system_initialized
    - G_WRITE_LOCK
    - NODE_TYPE
    - type_add_flags_W
    - check_type_name_I
    - G_WRITE_UNLOCK
    linkageType: ''
    returnType: GType
    signature: "GType g_type_register_dynamic (GType parent_type,\t\t\t const gchar\
      \ *type_name,\t\t\t GTypePlugin *plugin,\t\t\t GTypeFlags flags) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 367
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 367
    functionName: lookup_type_node_I
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: TypeNode*
    signature: 'static inline TypeNode *lookup_type_node_I (GType utype) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:687,1
    - Dst: G_IS_TYPE_PLUGIN
      Src: /src/glib/gobject/gtype.c:691,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:699,1
    - Dst: G_TYPE_PLUGIN_GET_CLASS
      Src: /src/glib/gobject/gtype.c:697,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:693,1
    - Dst: G_TYPE_PLUGIN_GET_CLASS
      Src: /src/glib/gobject/gtype.c:703,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:705,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 4
    argNames:
    - plugin
    - need_complete_type_info
    - need_complete_interface_info
    - type_name
    argTypes:
    - GTypePlugin*
    - gboolean
    - gboolean
    - gchar*
    constantsTouched: []
    func_position:
      end: 710
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 710
    functionName: check_plugin_U
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - G_IS_TYPE_PLUGIN
    - G_TYPE_PLUGIN_GET_CLASS
    - g_critical
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean check_plugin_U (GTypePlugin *plugin,\t\tgboolean need_complete_type_info,\t\
      \tgboolean need_complete_interface_info,\t\tconst gchar *type_name) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_type_system_initialized
      Src: /src/glib/gobject/gtype.c:2555,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:2558,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:2556,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:2557,1
    - Dst: check_type_name_I
      Src: /src/glib/gobject/gtype.c:2560,1
    - Dst: check_derivation_I
      Src: /src/glib/gobject/gtype.c:2561,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:2565,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:2570,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:2571,1
    - Dst: type_data_ref_Wm
      Src: /src/glib/gobject/gtype.c:2572,1
    - Dst: type_add_flags_W
      Src: /src/glib/gobject/gtype.c:2576,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:2577,1
    - Dst: type_data_make_W
      Src: /src/glib/gobject/gtype.c:2578,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:2581,1
    - Dst: check_value_table_I
      Src: /src/glib/gobject/gtype.c:2579,1
    - Dst: check_type_info_I
      Src: /src/glib/gobject/gtype.c:2573,1
    - Dst: type_node_new_W
      Src: /src/glib/gobject/gtype.c:2575,1
    - Dst: NODE_FUNDAMENTAL_TYPE
      Src: /src/glib/gobject/gtype.c:2573,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 4
    argNames:
    - parent_type
    - type_name
    - info
    - flags
    argTypes:
    - GType
    - gchar*
    - GTypeInfo*
    - GTypeFlags
    constantsTouched: []
    func_position:
      end: 2584
      start: 2546
    functionDepth: 0
    functionLinenumber: 2546
    functionLinenumberEnd: 2584
    functionName: g_type_register_static
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - check_derivation_I
    - g_return_val_if_fail
    - type_node_new_W
    - lookup_type_node_I
    - g_assert_type_system_initialized
    - G_WRITE_LOCK
    - type_data_ref_Wm
    - NODE_TYPE
    - g_critical
    - NODE_FUNDAMENTAL_TYPE
    - type_add_flags_W
    - type_data_make_W
    - check_type_info_I
    - check_type_name_I
    - G_WRITE_UNLOCK
    - check_value_table_I
    linkageType: ''
    returnType: GType
    signature: "GType g_type_register_static (GType parent_type,\t\t\tconst gchar\
      \ *type_name,\t\t\tconst GTypeInfo *info,\t\t\tGTypeFlags\t flags) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_type_default_interface_get
      Src: /src/glib/gobject/gtype.c:3038,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - g_type
    argTypes:
    - GType
    constantsTouched: []
    func_position:
      end: 3039
      start: 3035
    functionDepth: 0
    functionLinenumber: 3035
    functionLinenumberEnd: 3039
    functionName: g_type_default_interface_ref
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_type_default_interface_get
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_type_default_interface_ref (GType g_type) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: type_iface_peek_holder_L
      Src: /src/glib/gobject/gtype.c:1723,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:1733,1
    - Dst: type_data_ref_Wm
      Src: /src/glib/gobject/gtype.c:1731,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:1729,1
    - Dst: INVALID_RECURSION
      Src: /src/glib/gobject/gtype.c:1733,1
    - Dst: memset
      Src: /src/glib/gobject/gtype.c:1735,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:1737,1
    - Dst: g_type_plugin_use
      Src: /src/glib/gobject/gtype.c:1738,1
    - Dst: g_type_plugin_complete_interface_info
      Src: /src/glib/gobject/gtype.c:1739,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:1739,1
    - Dst: INVALID_RECURSION
      Src: /src/glib/gobject/gtype.c:1742,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:1740,1
    - Dst: check_interface_info_I
      Src: /src/glib/gobject/gtype.c:1744,1
    - Dst: g_memdup2
      Src: /src/glib/gobject/gtype.c:1745,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:1742,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1749
      start: 1718
    functionDepth: 0
    functionLinenumber: 1718
    functionLinenumberEnd: 1749
    functionName: type_iface_retrieve_holder_info_Wm
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - NODE_NAME
    - g_assert
    - type_iface_peek_holder_L
    - G_WRITE_LOCK
    - type_data_ref_Wm
    - g_type_plugin_use
    - check_interface_info_I
    - g_type_plugin_complete_interface_info
    - NODE_TYPE
    - INVALID_RECURSION
    - g_memdup2
    - memset
    - G_WRITE_UNLOCK
    linkageType: ''
    returnType: IFaceHolder*
    signature: "static IFaceHolder *type_iface_retrieve_holder_info_Wm (TypeNode *iface,\t\
      \t\t\t GType instance_type,\t\t\t\t gboolean need_info) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: check_type_name_I
      Src: /src/glib/gobject/gtype.c:2444,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:2439,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:2441,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:2440,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:2463,1
    - Dst: check_type_info_I
      Src: /src/glib/gobject/gtype.c:2473,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:2476,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:2449,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:2457,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:2461,1
    - Dst: type_add_flags_W
      Src: /src/glib/gobject/gtype.c:2471,1
    - Dst: check_value_table_I
      Src: /src/glib/gobject/gtype.c:2475,1
    - Dst: NODE_FUNDAMENTAL_TYPE
      Src: /src/glib/gobject/gtype.c:2473,1
    - Dst: type_node_fundamental_new_W
      Src: /src/glib/gobject/gtype.c:2470,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:2478,1
    - Dst: g_assert_type_system_initialized
      Src: /src/glib/gobject/gtype.c:2438,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:2442,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:2469,1
    - Dst: type_data_make_W
      Src: /src/glib/gobject/gtype.c:2474,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:2464,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 5
    argNames:
    - type_id
    - type_name
    - info
    - finfo
    - flags
    argTypes:
    - GType
    - gchar*
    - GTypeInfo*
    - GTypeFundamentalInfo*
    - GTypeFlags
    constantsTouched: []
    func_position:
      end: 2479
      start: 2429
    functionDepth: 0
    functionLinenumber: 2429
    functionLinenumberEnd: 2479
    functionName: g_type_register_fundamental
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - type_node_fundamental_new_W
    - type_descriptive_name_I
    - lookup_type_node_I
    - g_assert_type_system_initialized
    - G_WRITE_LOCK
    - NODE_TYPE
    - g_critical
    - type_add_flags_W
    - NODE_FUNDAMENTAL_TYPE
    - type_data_make_W
    - check_type_info_I
    - check_type_name_I
    - G_WRITE_UNLOCK
    - check_value_table_I
    linkageType: ''
    returnType: GType
    signature: "GType g_type_register_fundamental (GType type_id,\t\t\t const gchar\
      \ *type_name,\t\t\t const GTypeInfo *info,\t\t\t const GTypeFundamentalInfo\
      \ *finfo,\t\t\t GTypeFlags\t\t\t flags) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter_pointer
      Src: /src/glib/gobject/gtype.c:1760,1
    - Dst: g_hash_table_new
      Src: /src/glib/gobject/gtype.c:1776,1
    - Dst: g_once_init_leave_pointer
      Src: /src/glib/gobject/gtype.c:1767,1
    - Dst: g_mutex_lock
      Src: /src/glib/gobject/gtype.c:1773,1
    - Dst: g_getenv
      Src: /src/glib/gobject/gtype.c:1762,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gtype.c:1778,1
    - Dst: g_hash_table_contains
      Src: /src/glib/gobject/gtype.c:1780,1
    - Dst: g_hash_table_add
      Src: /src/glib/gobject/gtype.c:1782,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/gtype.c:1784,1
    - Dst: g_warning
      Src: /src/glib/gobject/gtype.c:1787,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 1
    argNames:
    - type
    argTypes:
    - GType
    constantsTouched: []
    func_position:
      end: 1790
      start: 1751
    functionDepth: 0
    functionLinenumber: 1751
    functionLinenumberEnd: 1790
    functionName: maybe_issue_deprecation_warning
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_once_init_leave_pointer
    - g_warning
    - g_mutex_unlock
    - g_mutex_lock
    - g_getenv
    - g_hash_table_new
    - g_once_init_enter_pointer
    - g_hash_table_contains
    - g_hash_table_add
    - g_type_name
    linkageType: ''
    returnType: void
    signature: 'static void maybe_issue_deprecation_warning (GType type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - g_iface
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 3147
      start: 3144
    functionDepth: 0
    functionLinenumber: 3144
    functionLinenumberEnd: 3147
    functionName: g_type_default_interface_unref
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void g_type_default_interface_unref (gpointer g_iface) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:970,1
    - Dst: NODE_IS_IFACE
      Src: /src/glib/gobject/gtype.c:984,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:1004,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:1001,1
    - Dst: type_lookup_iface_entry_L
      Src: /src/glib/gobject/gtype.c:1008,1
    - Dst: NODE_TYPE
      Src: /src/glib/gobject/gtype.c:1009,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:1024,1
    - Dst: type_node_is_a_L
      Src: /src/glib/gobject/gtype.c:1033,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:1035,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:1038,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:971,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:986,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:988,1
    - Dst: type_lookup_iface_entry_L
      Src: /src/glib/gobject/gtype.c:998,1
    - Dst: NODE_PARENT_TYPE
      Src: /src/glib/gobject/gtype.c:997,1
    - Dst: type_iface_peek_holder_L
      Src: /src/glib/gobject/gtype.c:1009,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:1023,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:1026,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:1032,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:981,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:987,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:993,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:994,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:1003,1
    - Dst: IFACE_NODE_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:1029,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:1037,1
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:980,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:994,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:1002,1
    - Dst: NODE_PARENT_TYPE
      Src: /src/glib/gobject/gtype.c:998,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:997,1
    - Dst: find_conforming_child_type_L
      Src: /src/glib/gobject/gtype.c:1020,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:1025,1
    - Dst: IFACE_NODE_N_PREREQUISITES
      Src: /src/glib/gobject/gtype.c:1030,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:1036,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 65
    argCount: 2
    argNames:
    - instance_type
    - iface_type
    argTypes:
    - GType
    - GType
    constantsTouched: []
    func_position:
      end: 1043
      start: 966
    functionDepth: 0
    functionLinenumber: 966
    functionLinenumberEnd: 1043
    functionName: check_add_interface_L
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - type_node_is_a_L
    - NODE_NAME
    - type_descriptive_name_I
    - lookup_type_node_I
    - type_lookup_iface_entry_L
    - type_iface_peek_holder_L
    - NODE_IS_IFACE
    - IFACE_NODE_PREREQUISITES
    - NODE_TYPE
    - NODE_PARENT_TYPE
    - g_critical
    - find_conforming_child_type_L
    - IFACE_NODE_N_PREREQUISITES
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean check_add_interface_L (GType instance_type,\t\t GType\
      \ iface_type) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_ATOMIC_ARRAY_GET_LOCKED
      Src: /src/glib/gobject/gtype.c:1298,1
    - Dst: _g_atomic_array_copy
      Src: /src/glib/gobject/gtype.c:1310,1
    - Dst: _g_atomic_array_update
      Src: /src/glib/gobject/gtype.c:1319,1
    - Dst: G_ATOMIC_ARRAY_DATA_SIZE
      Src: /src/glib/gobject/gtype.c:1303,1
    - Dst: MAX
      Src: /src/glib/gobject/gtype.c:1308,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - iface_node
    - offset
    - index
    argTypes:
    - TypeNode*
    - gsize
    - int
    constantsTouched: []
    func_position:
      end: 1320
      start: 1289
    functionDepth: 0
    functionLinenumber: 1289
    functionLinenumberEnd: 1320
    functionName: iface_node_set_offset_L
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - MAX
    - G_ATOMIC_ARRAY_GET_LOCKED
    - G_ATOMIC_ARRAY_DATA_SIZE
    - _g_atomic_array_update
    - _g_atomic_array_copy
    linkageType: ''
    returnType: void
    signature: "static void iface_node_set_offset_L (TypeNode *iface_node,\t\t\t gsize\
      \ offset,\t\t\t int index) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gtype.c:2361,1
    - Dst: G_WRITE_UNLOCK
      Src: /src/glib/gobject/gtype.c:2368,1
    - Dst: G_WRITE_LOCK
      Src: /src/glib/gobject/gtype.c:2363,1
    - Dst: g_renew
      Src: /src/glib/gobject/gtype.c:2365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - check_data
    - check_func
    argTypes:
    - gpointer
    - GTypeInterfaceCheckFunc
    constantsTouched: []
    func_position:
      end: 2369
      start: 2355
    functionDepth: 0
    functionLinenumber: 2355
    functionLinenumberEnd: 2369
    functionName: g_type_add_interface_check
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_renew
    - G_WRITE_LOCK
    - G_WRITE_UNLOCK
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_type_add_interface_check (gpointer\t check_data,\t\t\t GTypeInterfaceCheckFunc\
      \ check_func) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_critical
      Src: /src/glib/gobject/gtype.c:1052,1
    - Dst: type_descriptive_name_I
      Src: /src/glib/gobject/gtype.c:1054,1
    - Dst: NODE_NAME
      Src: /src/glib/gobject/gtype.c:1053,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - iface
    - instance_type
    - info
    argTypes:
    - TypeNode*
    - GType
    - GInterfaceInfo*
    constantsTouched: []
    func_position:
      end: 1059
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1059
    functionName: check_interface_info_I
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - type_descriptive_name_I
    - NODE_NAME
    - g_critical
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean check_interface_info_I (TypeNode *iface,\t\t\tGType\
      \ instance_type,\t\t\tconst GInterfaceInfo *info) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: IFACE_ENTRIES_N_ENTRIES
      Src: /src/glib/gobject/gtype.c:1371,1
    - Dst: iface_node_has_available_offset_L
      Src: /src/glib/gobject/gtype.c:1391,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:1406,1
    - Dst: IFACE_ENTRIES_N_ENTRIES
      Src: /src/glib/gobject/gtype.c:1402,1
    - Dst: _g_atomic_array_copy
      Src: /src/glib/gobject/gtype.c:1368,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:1389,1
    - Dst: _g_atomic_array_update
      Src: /src/glib/gobject/gtype.c:1412,1
    - Dst: CLASSED_NODE_IFACES_ENTRIES
      Src: /src/glib/gobject/gtype.c:1412,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:1333,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:1356,1
    - Dst: g_assert
      Src: /src/glib/gobject/gtype.c:1340,1
    - Dst: CLASSED_NODE_IFACES_ENTRIES
      Src: /src/glib/gobject/gtype.c:1368,1
    - Dst: iface_node_set_offset_L
      Src: /src/glib/gobject/gtype.c:1395,1
    - Dst: iface_node_set_offset_L
      Src: /src/glib/gobject/gtype.c:1407,1
    - Dst: type_node_add_iface_entry_W
      Src: /src/glib/gobject/gtype.c:1417,1
    - Dst: find_free_iface_offset_L
      Src: /src/glib/gobject/gtype.c:1401,1
    - Dst: lookup_type_node_I
      Src: /src/glib/gobject/gtype.c:1417,1
    - Dst: CLASSED_NODE_IFACES_ENTRIES_LOCKED
      Src: /src/glib/gobject/gtype.c:1335,1
    - Dst: IFACE_ENTRIES_N_ENTRIES
      Src: /src/glib/gobject/gtype.c:1338,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/gtype.c:1381,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 64
    argCount: 3
    argNames:
    - node
    - iface_type
    - parent_entry
    argTypes:
    - TypeNode*
    - GType
    - IFaceEntry*
    constantsTouched: []
    func_position:
      end: 1419
      start: 1322
    functionDepth: 0
    functionLinenumber: 1322
    functionLinenumberEnd: 1419
    functionName: type_node_add_iface_entry_W
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_assert
    - lookup_type_node_I
    - CLASSED_NODE_IFACES_ENTRIES_LOCKED
    - find_free_iface_offset_L
    - type_node_add_iface_entry_W
    - iface_node_has_available_offset_L
    - _g_atomic_array_update
    - IFACE_ENTRIES_N_ENTRIES
    - CLASSED_NODE_IFACES_ENTRIES
    - _g_atomic_array_copy
    - iface_node_set_offset_L
    linkageType: ''
    returnType: void
    signature: "static void type_node_add_iface_entry_W (TypeNode *node,\t\t\t GType\
      \ iface_type, IFaceEntry *parent_entry) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:2514,1
    - Dst: g_type_register_static
      Src: /src/glib/gobject/gtype.c:2528,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gtype.c:2515,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 7
    argNames:
    - parent_type
    - type_name
    - class_size
    - class_init
    - instance_size
    - instance_init
    - flags
    argTypes:
    - GType
    - gchar*
    - guint
    - GClassInitFunc
    - guint
    - GInstanceInitFunc
    - GTypeFlags
    constantsTouched: []
    func_position:
      end: 2529
      start: 2500
    functionDepth: 0
    functionLinenumber: 2500
    functionLinenumberEnd: 2529
    functionName: g_type_register_static_simple
    functionSourceFile: /src/glib/gobject/gtype.c
    functionUses: []
    functionsReached:
    - g_type_register_static
    - g_return_val_if_fail
    linkageType: ''
    returnType: GType
    signature: "GType g_type_register_static_simple (GType parent_type,\t\t\t const\
      \ gchar *type_name,\t\t\t guint class_size,\t\t\t GClassInitFunc class_init,\t\
      \t\t guint instance_size,\t\t\t GInstanceInitFunc instance_init,\t\t\t GTypeFlags\t\
      \ flags) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_free
      Src: /src/glib/gobject/gobjectnotifyqueue.c:66,1
    - Dst: g_slice_free
      Src: /src/glib/gobject/gobjectnotifyqueue.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: g_object_notify_queue_free
    functionSourceFile: /src/glib/gobject/gobjectnotifyqueue.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_slist_free
    linkageType: ''
    returnType: void
    signature: 'static void g_object_notify_queue_free (gpointer data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobjectnotifyqueue.c:107,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobjectnotifyqueue.c:108,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gobjectnotifyqueue.c:113,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/gobjectnotifyqueue.c:108,1
    - Dst: G_LOCK
      Src: /src/glib/gobject/gobjectnotifyqueue.c:110,1
    - Dst: G_UNLOCK
      Src: /src/glib/gobject/gobjectnotifyqueue.c:114,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobjectnotifyqueue.c:115,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/gobjectnotifyqueue.c:116,1
    - Dst: G_UNLOCK
      Src: /src/glib/gobject/gobjectnotifyqueue.c:122,1
    - Dst: g_new
      Src: /src/glib/gobject/gobjectnotifyqueue.c:126,1
    - Dst: g_datalist_id_set_data
      Src: /src/glib/gobject/gobjectnotifyqueue.c:132,1
    - Dst: g_free
      Src: /src/glib/gobject/gobjectnotifyqueue.c:138,1
    - Dst: G_UNLOCK
      Src: /src/glib/gobject/gobjectnotifyqueue.c:134,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 2
    argNames:
    - object
    - nqueue
    argTypes:
    - GObject*
    - GObjectNotifyQueue*
    constantsTouched: []
    func_position:
      end: 139
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 139
    functionName: g_object_notify_queue_thaw
    functionSourceFile: /src/glib/gobject/gobjectnotifyqueue.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_return_if_fail
    - G_UNLOCK
    - G_OBJECT_TYPE_NAME
    - g_new
    - g_datalist_id_set_data
    - g_free
    - G_UNLIKELY
    - g_critical
    - G_LOCK
    linkageType: ''
    returnType: void
    signature: "static inline void g_object_notify_queue_thaw (GObject *object,\t\t\
      \t GObjectNotifyQueue *nqueue) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_datalist_id_get_data
      Src: /src/glib/gobject/gobjectnotifyqueue.c:193,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 194
    functionName: g_object_notify_queue_from_object
    functionSourceFile: /src/glib/gobject/gobjectnotifyqueue.c
    functionUses: []
    functionsReached:
    - g_datalist_id_get_data
    linkageType: ''
    returnType: GObjectNotifyQueue*
    signature: 'static inline GObjectNotifyQueue *g_object_notify_queue_from_object
      (GObject *object, GObjectNotifyContext *context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobjectnotifyqueue.c:145,1
    - Dst: G_UNLOCK
      Src: /src/glib/gobject/gobjectnotifyqueue.c:153,1
    - Dst: G_LOCK
      Src: /src/glib/gobject/gobjectnotifyqueue.c:147,1
    - Dst: g_slist_free
      Src: /src/glib/gobject/gobjectnotifyqueue.c:149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - G_GNUC_UNUSED
    - nqueue
    argTypes:
    - GObject*
    - GObjectNotifyQueue*
    constantsTouched: []
    func_position:
      end: 154
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 154
    functionName: g_object_notify_queue_clear
    functionSourceFile: /src/glib/gobject/gobjectnotifyqueue.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - G_LOCK
    - g_slist_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "static inline void g_object_notify_queue_clear (GObject *object G_GNUC_UNUSED,\t\
      \t\t GObjectNotifyQueue *nqueue) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gobject/gobjectnotifyqueue.c:76,1
    - Dst: g_datalist_id_set_data_full
      Src: /src/glib/gobject/gobjectnotifyqueue.c:82,1
    - Dst: g_datalist_id_get_data
      Src: /src/glib/gobject/gobjectnotifyqueue.c:77,1
    - Dst: g_critical
      Src: /src/glib/gobject/gobjectnotifyqueue.c:87,1
    - Dst: g_slice_new0
      Src: /src/glib/gobject/gobjectnotifyqueue.c:80,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/gobjectnotifyqueue.c:90,1
    - Dst: G_UNLOCK
      Src: /src/glib/gobject/gobjectnotifyqueue.c:93,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 96
    functionName: g_object_notify_queue_freeze
    functionSourceFile: /src/glib/gobject/gobjectnotifyqueue.c
    functionUses: []
    functionsReached:
    - g_datalist_id_set_data_full
    - g_slice_new0
    - G_OBJECT_TYPE_NAME
    - G_UNLOCK
    - g_critical
    - G_LOCK
    - g_datalist_id_get_data
    linkageType: ''
    returnType: GObjectNotifyQueue*
    signature: "static inline GObjectNotifyQueue *g_object_notify_queue_freeze (GObject\t\
      \t *object,\t\t\t GObjectNotifyContext *context) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gobject/gobjectnotifyqueue.c:165,1
    - Dst: g_slist_find
      Src: /src/glib/gobject/gobjectnotifyqueue.c:174,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gobjectnotifyqueue.c:167,1
    - Dst: g_param_spec_get_redirect_target
      Src: /src/glib/gobject/gobjectnotifyqueue.c:169,1
    - Dst: g_slist_prepend
      Src: /src/glib/gobject/gobjectnotifyqueue.c:176,1
    - Dst: G_UNLOCK
      Src: /src/glib/gobject/gobjectnotifyqueue.c:180,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - G_GNUC_UNUSED
    - nqueue
    - pspec
    argTypes:
    - GObject*
    - GObjectNotifyQueue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 182
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 182
    functionName: g_object_notify_queue_add
    functionSourceFile: /src/glib/gobject/gobjectnotifyqueue.c
    functionUses: []
    functionsReached:
    - g_slist_find
    - g_return_if_fail
    - G_UNLOCK
    - g_param_spec_get_redirect_target
    - G_LOCK
    - g_slist_prepend
    linkageType: ''
    returnType: void
    signature: "static inline void g_object_notify_queue_add (GObject *object G_GNUC_UNUSED,\t\
      \t\t GObjectNotifyQueue *nqueue,\t\t\t GParamSpec\t *pspec) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_datalist_set_flags
      Src: /src/glib/gobject/gparam.c:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pspec
    - class
    argTypes:
    - GParamSpec*
    - GParamSpecClass*
    constantsTouched: []
    func_position:
      end: 182
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 182
    functionName: g_param_spec_init
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_datalist_set_flags
    linkageType: ''
    returnType: void
    signature: "static void g_param_spec_init (GParamSpec *pspec,\t\t GParamSpecClass\
      \ *class) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gparam.c:562,1
    - Dst: G_IS_PARAM_SPEC
      Src: /src/glib/gobject/gparam.c:562,1
    - Dst: g_datalist_id_set_data_full
      Src: /src/glib/gobject/gparam.c:565,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gparam.c:563,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - pspec
    - quark
    - data
    - destroy
    argTypes:
    - GParamSpec*
    - GQuark
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 566
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 566
    functionName: g_param_spec_set_qdata_full
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_datalist_id_set_data_full
    - G_IS_PARAM_SPEC
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_param_spec_set_qdata_full (GParamSpec *pspec,\t\t\t GQuark\
      \ quark,\t\t\t gpointer data,\t\t\t GDestroyNotify destroy) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 846
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 846
    functionName: value_param_init
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void value_param_init (GValue *value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/glib/gobject/gparam.c:1041,1
    - Dst: g_mutex_lock
      Src: /src/glib/gobject/gparam.c:1047,1
    - Dst: g_critical
      Src: /src/glib/gobject/gparam.c:1043,1
    - Dst: g_hash_table_add
      Src: /src/glib/gobject/gparam.c:1050,1
    - Dst: g_param_spec_ref
      Src: /src/glib/gobject/gparam.c:1049,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/gparam.c:1051,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gparam.c:1055,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gparam.c:1056,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gparam.c:1057,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gparam.c:1058,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 3
    argNames:
    - pool
    - pspec
    - owner_type
    argTypes:
    - GParamSpecPool*
    - GParamSpec*
    - GType
    constantsTouched: []
    func_position:
      end: 1060
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1060
    functionName: g_param_spec_pool_insert
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_mutex_lock
    - g_return_if_fail
    - strchr
    - g_critical
    - g_param_spec_ref
    - g_hash_table_add
    linkageType: ''
    returnType: void
    signature: "void g_param_spec_pool_insert (GParamSpecPool *pool,\t\t\t GParamSpec\
      \ *pspec,\t\t\t GType owner_type) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_list_prepend
      Src: /src/glib/gobject/gparam.c:1229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - key
    - value
    - user_data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1230
      start: 1219
    functionDepth: 0
    functionLinenumber: 1219
    functionLinenumberEnd: 1230
    functionName: pool_list
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_list_prepend
    linkageType: ''
    returnType: void
    signature: "static void pool_list (gpointer key,\t gpointer value,\t gpointer\
      \ user_data) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gobject/gparam.c:1274,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1275
      start: 1262
    functionDepth: 0
    functionLinenumber: 1262
    functionLinenumberEnd: 1275
    functionName: pspec_compare_id
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: gint
    signature: "static gint pspec_compare_id (gconstpointer a,\t\t gconstpointer b) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_take_param
      Src: /src/glib/gobject/gparam.c:1559,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - value
    - param
    argTypes:
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1560
      start: 1555
    functionDepth: 0
    functionLinenumber: 1555
    functionLinenumberEnd: 1560
    functionName: g_value_set_param_take_ownership
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_value_take_param
    linkageType: ''
    returnType: void
    signature: "void g_value_set_param_take_ownership (GValue *value,\t\t\t\t GParamSpec\
      \ *param) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_param_spec_get_private
      Src: /src/glib/gobject/gparam.c:187,1
    - Dst: g_value_reset
      Src: /src/glib/gobject/gparam.c:190,1
    - Dst: g_datalist_clear
      Src: /src/glib/gobject/gparam.c:192,1
    - Dst: g_free
      Src: /src/glib/gobject/gparam.c:195,1
    - Dst: g_free
      Src: /src/glib/gobject/gparam.c:198,1
    - Dst: g_type_free_instance
      Src: /src/glib/gobject/gparam.c:200,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 201
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 201
    functionName: g_param_spec_finalize
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_value_reset
    - g_param_spec_get_private
    - g_datalist_clear
    - g_type_free_instance
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void g_param_spec_finalize (GParamSpec *pspec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/gparam.c:852,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 853
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 853
    functionName: value_param_free_value
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_param_spec_unref
    linkageType: ''
    returnType: void
    signature: 'static void value_param_free_value (GValue *value) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_param_spec_get_redirect_target
      Src: /src/glib/gobject/gparam.c:1289,1
    - Dst: g_param_spec_get_redirect_target
      Src: /src/glib/gobject/gparam.c:1295,1
    - Dst: param_spec_ht_lookup
      Src: /src/glib/gobject/gparam.c:1292,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 3
    argNames:
    - pspec
    - owner_type
    - ht
    argTypes:
    - GParamSpec*
    - GType
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 1301
      start: 1277
    functionDepth: 0
    functionLinenumber: 1277
    functionLinenumberEnd: 1301
    functionName: should_list_pspec
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - param_spec_ht_lookup
    - g_param_spec_get_redirect_target
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean should_list_pspec (GParamSpec *pspec, GType
      owner_type, GHashTable *ht) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:317,1
    - Dst: g_param_spec_get_redirect_target
      Src: /src/glib/gobject/gparam.c:325,1
    - Dst: G_IS_PARAM_SPEC
      Src: /src/glib/gobject/gparam.c:317,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 331
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 331
    functionName: g_param_spec_get_nick
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_PARAM_SPEC
    - g_param_spec_get_redirect_target
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_param_spec_get_nick (GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gparam.c:536,1
    - Dst: G_IS_PARAM_SPEC
      Src: /src/glib/gobject/gparam.c:536,1
    - Dst: g_datalist_id_set_data
      Src: /src/glib/gobject/gparam.c:539,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gparam.c:537,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - pspec
    - quark
    - data
    argTypes:
    - GParamSpec*
    - GQuark
    - gpointer
    constantsTouched: []
    func_position:
      end: 540
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 540
    functionName: g_param_spec_set_qdata
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_datalist_id_set_data
    - G_IS_PARAM_SPEC
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_param_spec_set_qdata (GParamSpec *pspec,\t\t\tGQuark quark,\t\
      \t\tgpointer data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 616
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 616
    functionName: g_param_spec_get_redirect_target
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GParamSpec*
    signature: 'GParamSpec *g_param_spec_get_redirect_target (GParamSpec *pspec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: should_list_pspec
      Src: /src/glib/gobject/gparam.c:1355,1
    - Dst: g_slist_prepend
      Src: /src/glib/gobject/gparam.c:1357,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 3
    argNames:
    - key
    - value
    - user_data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1360
      start: 1342
    functionDepth: 0
    functionLinenumber: 1342
    functionLinenumberEnd: 1360
    functionName: pool_depth_list_for_interface
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - should_list_pspec
    - g_slist_prepend
    linkageType: ''
    returnType: void
    signature: "static void pool_depth_list_for_interface (gpointer key,\t\t\t gpointer\
      \ value,\t\t\t gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:1386,1
    - Dst: g_mutex_lock
      Src: /src/glib/gobject/gparam.c:1390,1
    - Dst: g_type_depth
      Src: /src/glib/gobject/gparam.c:1391,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:1387,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:1388,1
    - Dst: g_new0
      Src: /src/glib/gobject/gparam.c:1392,1
    - Dst: GTYPE_TO_POINTER
      Src: /src/glib/gobject/gparam.c:1394,1
    - Dst: g_hash_table_foreach
      Src: /src/glib/gobject/gparam.c:1398,1
    - Dst: G_TYPE_IS_INTERFACE
      Src: /src/glib/gobject/gparam.c:1399,1
    - Dst: g_new
      Src: /src/glib/gobject/gparam.c:1404,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/gparam.c:1415,1
    - Dst: g_free
      Src: /src/glib/gobject/gparam.c:1414,1
    - Dst: g_slist_free
      Src: /src/glib/gobject/gparam.c:1411,1
    - Dst: g_slist_sort
      Src: /src/glib/gobject/gparam.c:1408,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1420
      start: 1375
    functionDepth: 0
    functionLinenumber: 1375
    functionLinenumberEnd: 1420
    functionName: g_param_spec_pool_list
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_new
    - g_mutex_lock
    - g_mutex_unlock
    - GTYPE_TO_POINTER
    - g_free
    - G_TYPE_IS_INTERFACE
    - g_slist_sort
    - g_new0
    - g_type_depth
    - g_slist_free
    - g_hash_table_foreach
    linkageType: ''
    returnType: GParamSpec**
    signature: "GParamSpec **g_param_spec_pool_list (GParamSpecPool *pool,\t\t\tGType\
      \ owner_type,\t\t\tguint *n_pspecs_p) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gparam.c:1535,1
    - Dst: G_IS_PARAM_SPEC
      Src: /src/glib/gobject/gparam.c:1537,1
    - Dst: G_VALUE_HOLDS_PARAM
      Src: /src/glib/gobject/gparam.c:1535,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/gparam.c:1540,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gparam.c:1537,1
    - Dst: g_param_spec_ref
      Src: /src/glib/gobject/gparam.c:1543,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - value
    - param
    argTypes:
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1544
      start: 1531
    functionDepth: 0
    functionLinenumber: 1531
    functionLinenumberEnd: 1544
    functionName: g_value_set_param
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - G_VALUE_HOLDS_PARAM
    - g_return_if_fail
    - g_param_spec_unref
    - g_param_spec_ref
    - G_IS_PARAM_SPEC
    linkageType: ''
    returnType: void
    signature: "void g_value_set_param (GValue *value,\t\t GParamSpec *param) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:1597,1
    - Dst: G_VALUE_HOLDS_PARAM
      Src: /src/glib/gobject/gparam.c:1597,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1600
      start: 1594
    functionDepth: 0
    functionLinenumber: 1594
    functionLinenumberEnd: 1600
    functionName: g_value_get_param
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - G_VALUE_HOLDS_PARAM
    - g_return_val_if_fail
    linkageType: ''
    returnType: GParamSpec*
    signature: 'GParamSpec *g_value_get_param (const GValue *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_STRUCT_MEMBER
      Src: /src/glib/gobject/gparam.c:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: g_param_spec_get_private
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - G_STRUCT_MEMBER
    linkageType: ''
    returnType: GParamSpecPrivate*
    signature: 'static inline GParamSpecPrivate *g_param_spec_get_private (GParamSpec
      *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - class
    argTypes:
    - GParamSpecClass*
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: g_param_spec_class_base_finalize
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_param_spec_class_base_finalize (GParamSpecClass *class) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gparam.c:232,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gparam.c:236,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/gobject/gparam.c:234,1
    - Dst: G_IS_PARAM_SPEC
      Src: /src/glib/gobject/gparam.c:232,1
    - Dst: G_PARAM_SPEC_GET_CLASS
      Src: /src/glib/gobject/gparam.c:238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 240
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 240
    functionName: g_param_spec_unref
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_atomic_int_dec_and_test
    - g_return_if_fail
    - G_PARAM_SPEC_GET_CLASS
    - G_UNLIKELY
    - G_IS_PARAM_SPEC
    linkageType: ''
    returnType: void
    signature: 'void g_param_spec_unref (GParamSpec *pspec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:278,1
    - Dst: g_param_spec_ref
      Src: /src/glib/gobject/gparam.c:282,1
    - Dst: G_IS_PARAM_SPEC
      Src: /src/glib/gobject/gparam.c:278,1
    - Dst: g_atomic_pointer_and
      Src: /src/glib/gobject/gparam.c:280,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 285
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 285
    functionName: g_param_spec_ref_sink
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_param_spec_ref
    - g_return_val_if_fail
    - G_IS_PARAM_SPEC
    - g_atomic_pointer_and
    linkageType: ''
    returnType: GParamSpec*
    signature: 'GParamSpec *g_param_spec_ref_sink (GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:301,1
    - Dst: G_IS_PARAM_SPEC
      Src: /src/glib/gobject/gparam.c:301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 304
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 304
    functionName: g_param_spec_get_name
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_PARAM_SPEC
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_param_spec_get_name (GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:584,1
    - Dst: G_IS_PARAM_SPEC
      Src: /src/glib/gobject/gparam.c:584,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:585,1
    - Dst: g_datalist_id_remove_no_notify
      Src: /src/glib/gobject/gparam.c:587,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pspec
    - quark
    argTypes:
    - GParamSpec*
    - GQuark
    constantsTouched: []
    func_position:
      end: 588
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 588
    functionName: g_param_spec_steal_qdata
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_datalist_id_remove_no_notify
    - G_IS_PARAM_SPEC
    linkageType: ''
    returnType: gpointer
    signature: "gpointer g_param_spec_steal_qdata (GParamSpec *pspec,\t\t\t GQuark\
      \ quark) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_param_spec_ref
      Src: /src/glib/gobject/gparam.c:860,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - src_value
    - dest_value
    argTypes:
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 863
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 863
    functionName: value_param_copy_value
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_param_spec_ref
    linkageType: ''
    returnType: void
    signature: "static void value_param_copy_value (const GValue *src_value,\t\t\t\
      GValue *dest_value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gobject/gparam.c:1015,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/gparam.c:1017,1
    - Dst: g_free
      Src: /src/glib/gobject/gparam.c:1019,1
    - Dst: g_mutex_clear
      Src: /src/glib/gobject/gparam.c:1018,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gobject/gparam.c:1016,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pool
    argTypes:
    - GParamSpecPool*
    constantsTouched: []
    func_position:
      end: 1020
      start: 1012
    functionDepth: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1020
    functionName: g_param_spec_pool_free
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_hash_table_unref
    - g_mutex_clear
    - g_mutex_lock
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_param_spec_pool_free (GParamSpecPool *pool) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_type_class_adjust_private_offset
      Src: /src/glib/gobject/gparam.c:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - class
    - class_data
    argTypes:
    - GParamSpecClass*
    - gpointer
    constantsTouched: []
    func_position:
      end: 166
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 166
    functionName: g_param_spec_class_init
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_type_class_adjust_private_offset
    linkageType: ''
    returnType: void
    signature: "static void g_param_spec_class_init (GParamSpecClass *class,\t\t\t\
      \ gpointer class_data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gparam.c:870,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gparam.c:870,1
    - Dst: g_param_spec_ref
      Src: /src/glib/gobject/gparam.c:871,1
    - Dst: G_PARAM_SPEC_TYPE
      Src: /src/glib/gobject/gparam.c:870,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - src_value
    - dest_value
    argTypes:
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 874
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 874
    functionName: value_param_transform_value
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - G_VALUE_TYPE
    - g_param_spec_ref
    - g_type_is_a
    - G_PARAM_SPEC_TYPE
    linkageType: ''
    returnType: void
    signature: "static void value_param_transform_value (const GValue *src_value,\t\
      \t\t GValue *dest_value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 1459
      start: 1454
    functionDepth: 0
    functionLinenumber: 1454
    functionLinenumberEnd: 1459
    functionName: default_value_set_default
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void default_value_set_default (GParamSpec *pspec,\t\t\t GValue\
      \ *value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:214,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gobject/gparam.c:216,1
    - Dst: G_IS_PARAM_SPEC
      Src: /src/glib/gobject/gparam.c:214,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 219
    functionName: g_param_spec_ref
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_atomic_int_inc
    - g_return_val_if_fail
    - G_IS_PARAM_SPEC
    linkageType: ''
    returnType: GParamSpec*
    signature: 'GParamSpec *g_param_spec_ref (GParamSpec *pspec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gparam.c:258,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/gparam.c:262,1
    - Dst: g_atomic_pointer_and
      Src: /src/glib/gobject/gparam.c:260,1
    - Dst: G_IS_PARAM_SPEC
      Src: /src/glib/gobject/gparam.c:258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 263
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 263
    functionName: g_param_spec_sink
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_param_spec_unref
    - g_atomic_pointer_and
    - G_IS_PARAM_SPEC
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_param_spec_sink (GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:513,1
    - Dst: g_datalist_id_get_data
      Src: /src/glib/gobject/gparam.c:515,1
    - Dst: G_IS_PARAM_SPEC
      Src: /src/glib/gobject/gparam.c:513,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pspec
    - quark
    argTypes:
    - GParamSpec*
    - GQuark
    constantsTouched: []
    func_position:
      end: 516
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 516
    functionName: g_param_spec_get_qdata
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_PARAM_SPEC
    - g_datalist_id_get_data
    linkageType: ''
    returnType: gpointer
    signature: "gpointer g_param_spec_get_qdata (GParamSpec *pspec,\t\t\tGQuark quark) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/gobject/gparam.c:992,1
    - Dst: memcpy
      Src: /src/glib/gobject/gparam.c:994,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gobject/gparam.c:996,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 1002
    functionName: g_param_spec_pool_new
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_hash_table_new_full
    - g_new
    linkageType: ''
    returnType: GParamSpecPool*
    signature: 'GParamSpecPool *g_param_spec_pool_new (gboolean type_prefixing) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:1501,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:1504,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:1502,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:1503,1
    - Dst: g_type_from_name
      Src: /src/glib/gobject/gparam.c:1503,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:1505,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gparam.c:1505,1
    - Dst: g_new
      Src: /src/glib/gobject/gparam.c:1513,1
    - Dst: g_type_register_static
      Src: /src/glib/gobject/gparam.c:1521,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - name
    - pspec_info
    argTypes:
    - gchar*
    - GParamSpecTypeInfo*
    constantsTouched: []
    func_position:
      end: 1522
      start: 1483
    functionDepth: 0
    functionLinenumber: 1483
    functionLinenumberEnd: 1522
    functionName: g_param_type_register_static
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_new
    - g_type_register_static
    - g_type_from_name
    - g_type_name
    linkageType: ''
    returnType: GType
    signature: "GType g_param_type_register_static (const gchar *name,\t\t\t const\
      \ GParamSpecTypeInfo *pspec_info) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_type_register_fundamental
      Src: /src/glib/gobject/gparam.c:139,1
    - Dst: g_assert
      Src: /src/glib/gobject/gparam.c:140,1
    - Dst: g_type_add_instance_private
      Src: /src/glib/gobject/gparam.c:141,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gparam.c:139,1
    - Dst: g_value_register_transform_func
      Src: /src/glib/gobject/gparam.c:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 143
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 143
    functionName: _g_param_type_init
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_value_register_transform_func
    - g_assert
    - g_intern_static_string
    - g_type_add_instance_private
    - g_type_register_fundamental
    linkageType: ''
    returnType: void
    signature: 'void _g_param_type_init (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 26
    argCount: 1
    argNames:
    - name
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 419
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 419
    functionName: g_param_spec_is_valid_name
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_param_spec_is_valid_name (const gchar *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gparam.c:465,1
    - Dst: g_free
      Src: /src/glib/gobject/gparam.c:478,1
    - Dst: is_canonical
      Src: /src/glib/gobject/gparam.c:471,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:456,1
    - Dst: is_canonical
      Src: /src/glib/gobject/gparam.c:458,1
    - Dst: is_canonical
      Src: /src/glib/gobject/gparam.c:466,1
    - Dst: g_intern_string
      Src: /src/glib/gobject/gparam.c:472,1
    - Dst: g_quark_from_string
      Src: /src/glib/gobject/gparam.c:483,1
    - Dst: g_strdup
      Src: /src/glib/gobject/gparam.c:493,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:457,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:458,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:455,1
    - Dst: g_param_spec_is_valid_name
      Src: /src/glib/gobject/gparam.c:457,1
    - Dst: G_TYPE_IS_PARAM
      Src: /src/glib/gobject/gparam.c:455,1
    - Dst: g_type_create_instance
      Src: /src/glib/gobject/gparam.c:460,1
    - Dst: g_param_spec_get_private
      Src: /src/glib/gobject/gparam.c:482,1
    - Dst: g_strdup
      Src: /src/glib/gobject/gparam.c:475,1
    - Dst: canonicalize_key
      Src: /src/glib/gobject/gparam.c:476,1
    - Dst: g_intern_string
      Src: /src/glib/gobject/gparam.c:477,1
    - Dst: g_warning
      Src: /src/glib/gobject/gparam.c:467,1
    - Dst: g_strdup
      Src: /src/glib/gobject/gparam.c:488,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 5
    argNames:
    - param_type
    - name
    - nick
    - blurb
    - flags
    argTypes:
    - GType
    - gchar*
    - gchar*
    - gchar*
    - GParamFlags
    constantsTouched: []
    func_position:
      end: 498
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 498
    functionName: g_param_spec_internal
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - is_canonical
    - canonicalize_key
    - g_return_val_if_fail
    - g_strdup
    - g_warning
    - g_intern_string
    - g_quark_from_string
    - g_intern_static_string
    - g_param_spec_get_private
    - g_type_create_instance
    - g_free
    - g_param_spec_is_valid_name
    - G_TYPE_IS_PARAM
    linkageType: ''
    returnType: gpointer
    signature: "gpointer g_param_spec_internal (GType param_type,\t\t const gchar\
      \ *name,\t\t const gchar *nick,\t\t const gchar *blurb,\t\t GParamFlags flags) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 880
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 880
    functionName: value_param_peek_pointer
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer value_param_peek_pointer (const GValue *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - key_spec
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 961
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 961
    functionName: param_spec_pool_hash
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint
    signature: 'static guint param_spec_pool_hash (gconstpointer key_spec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/glib/gobject/gparam.c:1466,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - pspec
    - value1
    - value2
    argTypes:
    - GParamSpec*
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 1467
      start: 1461
    functionDepth: 0
    functionLinenumber: 1461
    functionLinenumberEnd: 1467
    functionName: default_values_cmp
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: gint
    signature: "static gint default_values_cmp (GParamSpec *pspec,\t\t const GValue\
      \ *value1,\t\t const GValue *value2) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_param_spec_get_private
      Src: /src/glib/gobject/gparam.c:1679,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1687
      start: 1676
    functionDepth: 0
    functionLinenumber: 1676
    functionLinenumberEnd: 1687
    functionName: g_param_spec_get_name_quark
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_param_spec_get_private
    linkageType: ''
    returnType: GQuark
    signature: 'GQuark g_param_spec_get_name_quark (GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - class
    argTypes:
    - GParamSpecClass*
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: g_param_spec_class_base_init
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_param_spec_class_base_init (GParamSpecClass *class) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_strconcat
      Src: /src/glib/gobject/gparam.c:893,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gparam.c:897,1
    - Dst: g_value_type_compatible
      Src: /src/glib/gobject/gparam.c:897,1
    - Dst: G_PARAM_SPEC_TYPE
      Src: /src/glib/gobject/gparam.c:897,1
    - Dst: G_VALUE_TYPE_NAME
      Src: /src/glib/gobject/gparam.c:894,1
    - Dst: g_strconcat
      Src: /src/glib/gobject/gparam.c:898,1
    - Dst: G_PARAM_SPEC_TYPE_NAME
      Src: /src/glib/gobject/gparam.c:899,1
    - Dst: G_VALUE_TYPE_NAME
      Src: /src/glib/gobject/gparam.c:901,1
    - Dst: g_param_spec_ref
      Src: /src/glib/gobject/gparam.c:904,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 910
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 910
    functionName: value_param_collect_value
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_strconcat
    - G_VALUE_TYPE
    - G_PARAM_SPEC_TYPE_NAME
    - G_VALUE_TYPE_NAME
    - g_param_spec_ref
    - g_value_type_compatible
    - G_PARAM_SPEC_TYPE
    linkageType: ''
    returnType: gchar*
    signature: "static gchar *value_param_collect_value (GValue *value,\t\t\t guint\
      \ n_collect_values,\t\t\t GTypeCValue *collect_values,\t\t\t guint collect_flags) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gobject/gparam.c:972,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - key_spec_1
    - key_spec_2
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 973
      start: 963
    functionDepth: 0
    functionLinenumber: 963
    functionLinenumberEnd: 973
    functionName: param_spec_pool_equals
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean param_spec_pool_equals (gconstpointer key_spec_1,\t\
      \t\tgconstpointer key_spec_2) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gobject/gparam.c:1451,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - g_class
    - class_data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1452
      start: 1437
    functionDepth: 0
    functionLinenumber: 1437
    functionLinenumberEnd: 1452
    functionName: param_spec_generic_class_init
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: "static void param_spec_generic_class_init (gpointer g_class,\t\t\t\
      \ gpointer class_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/glib/gobject/gparam.c:380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 381
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 381
    functionName: is_canonical
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - strchr
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_canonical (const gchar *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:662,1
    - Dst: G_IS_PARAM_SPEC
      Src: /src/glib/gobject/gparam.c:662,1
    - Dst: G_IS_VALUE
      Src: /src/glib/gobject/gparam.c:663,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:664,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:663,1
    - Dst: PSPEC_APPLIES_TO_VALUE
      Src: /src/glib/gobject/gparam.c:664,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gparam.c:666,1
    - Dst: G_PARAM_SPEC_VALUE_TYPE
      Src: /src/glib/gobject/gparam.c:666,1
    - Dst: G_PARAM_SPEC_GET_CLASS
      Src: /src/glib/gobject/gparam.c:667,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gparam.c:669,1
    - Dst: G_PARAM_SPEC_GET_CLASS
      Src: /src/glib/gobject/gparam.c:668,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 672
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 672
    functionName: g_param_value_defaults
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_VALUE
    - PSPEC_APPLIES_TO_VALUE
    - g_value_init
    - G_PARAM_SPEC_GET_CLASS
    - G_PARAM_SPEC_VALUE_TYPE
    - G_IS_PARAM_SPEC
    - g_value_unset
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_param_value_defaults (GParamSpec *pspec,\t\t\tconst GValue\
      \ *value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:831,1
    - Dst: G_IS_VALUE
      Src: /src/glib/gobject/gparam.c:832,1
    - Dst: G_IS_PARAM_SPEC
      Src: /src/glib/gobject/gparam.c:831,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:833,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:832,1
    - Dst: G_IS_VALUE
      Src: /src/glib/gobject/gparam.c:833,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:834,1
    - Dst: PSPEC_APPLIES_TO_VALUE
      Src: /src/glib/gobject/gparam.c:834,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:835,1
    - Dst: PSPEC_APPLIES_TO_VALUE
      Src: /src/glib/gobject/gparam.c:835,1
    - Dst: CLAMP
      Src: /src/glib/gobject/gparam.c:839,1
    - Dst: G_PARAM_SPEC_GET_CLASS
      Src: /src/glib/gobject/gparam.c:837,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - pspec
    - value1
    - value2
    argTypes:
    - GParamSpec*
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 840
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 840
    functionName: g_param_values_cmp
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - CLAMP
    - g_return_val_if_fail
    - G_IS_VALUE
    - PSPEC_APPLIES_TO_VALUE
    - G_PARAM_SPEC_GET_CLASS
    - G_IS_PARAM_SPEC
    linkageType: ''
    returnType: gint
    signature: "gint g_param_values_cmp (GParamSpec *pspec,\t\t const GValue *value1,\t\
      \t const GValue *value2) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 374
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 374
    functionName: canonicalize_key
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void canonicalize_key (gchar *key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gparam.c:630,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gparam.c:632,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gparam.c:634,1
    - Dst: G_IS_PARAM_SPEC
      Src: /src/glib/gobject/gparam.c:630,1
    - Dst: G_PARAM_SPEC_VALUE_TYPE
      Src: /src/glib/gobject/gparam.c:634,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gparam.c:638,1
    - Dst: G_IS_VALUE
      Src: /src/glib/gobject/gparam.c:638,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gparam.c:639,1
    - Dst: PSPEC_APPLIES_TO_VALUE
      Src: /src/glib/gobject/gparam.c:639,1
    - Dst: g_value_reset
      Src: /src/glib/gobject/gparam.c:640,1
    - Dst: G_PARAM_SPEC_GET_CLASS
      Src: /src/glib/gobject/gparam.c:643,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 644
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 644
    functionName: g_param_value_set_default
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - G_VALUE_TYPE
    - g_return_if_fail
    - g_value_reset
    - G_IS_VALUE
    - PSPEC_APPLIES_TO_VALUE
    - g_value_init
    - G_PARAM_SPEC_GET_CLASS
    - G_PARAM_SPEC_VALUE_TYPE
    - G_IS_PARAM_SPEC
    linkageType: ''
    returnType: void
    signature: "void g_param_value_set_default (GParamSpec *pspec,\t\t\t GValue *value) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:727,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:729,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:728,1
    - Dst: G_IS_VALUE
      Src: /src/glib/gobject/gparam.c:728,1
    - Dst: G_IS_PARAM_SPEC
      Src: /src/glib/gobject/gparam.c:727,1
    - Dst: PSPEC_APPLIES_TO_VALUE
      Src: /src/glib/gobject/gparam.c:729,1
    - Dst: G_PARAM_SPEC_GET_CLASS
      Src: /src/glib/gobject/gparam.c:731,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gparam.c:740,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gparam.c:740,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gparam.c:745,1
    - Dst: g_value_copy
      Src: /src/glib/gobject/gparam.c:741,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 751
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 751
    functionName: g_param_value_is_valid
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_VALUE_TYPE
    - G_IS_VALUE
    - PSPEC_APPLIES_TO_VALUE
    - g_value_init
    - G_PARAM_SPEC_GET_CLASS
    - g_value_copy
    - G_IS_PARAM_SPEC
    - g_value_unset
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_param_value_is_valid (GParamSpec *pspec, const GValue *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:780,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:782,1
    - Dst: G_IS_PARAM_SPEC
      Src: /src/glib/gobject/gparam.c:780,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:781,1
    - Dst: G_IS_VALUE
      Src: /src/glib/gobject/gparam.c:781,1
    - Dst: G_IS_VALUE
      Src: /src/glib/gobject/gparam.c:782,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:783,1
    - Dst: PSPEC_APPLIES_TO_VALUE
      Src: /src/glib/gobject/gparam.c:783,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gparam.c:787,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gparam.c:787,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gparam.c:791,1
    - Dst: memcpy
      Src: /src/glib/gobject/gparam.c:794,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gparam.c:800,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/gparam.c:789,1
    - Dst: g_value_transform
      Src: /src/glib/gobject/gparam.c:788,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - pspec
    - src_value
    - dest_value
    - strict_validation
    argTypes:
    - GParamSpec*
    - GValue*
    - GValue*
    - gboolean
    constantsTouched: []
    func_position:
      end: 804
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 804
    functionName: g_param_value_convert
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_return_val_if_fail
    - G_VALUE_TYPE
    - G_IS_VALUE
    - PSPEC_APPLIES_TO_VALUE
    - g_value_init
    - g_param_value_validate
    - g_value_transform
    - G_IS_PARAM_SPEC
    - g_value_unset
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_param_value_convert (GParamSpec *pspec,\t\t const GValue\
      \ *src_value,\t\t GValue *dest_value,\t\t gboolean\t strict_validation) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:1162,1
    - Dst: param_spec_ht_lookup
      Src: /src/glib/gobject/gparam.c:1168,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:1163,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/gparam.c:1171,1
    - Dst: g_mutex_lock
      Src: /src/glib/gobject/gparam.c:1165,1
    - Dst: strchr
      Src: /src/glib/gobject/gparam.c:1179,1
    - Dst: g_new
      Src: /src/glib/gobject/gparam.c:1185,1
    - Dst: strncpy
      Src: /src/glib/gobject/gparam.c:1188,1
    - Dst: g_type_from_name
      Src: /src/glib/gobject/gparam.c:1190,1
    - Dst: g_free
      Src: /src/glib/gobject/gparam.c:1192,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/gparam.c:1205,1
    - Dst: param_spec_ht_lookup
      Src: /src/glib/gobject/gparam.c:1204,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gparam.c:1196,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/gparam.c:1214,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/gparam.c:1198,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1217
    functionName: g_param_spec_pool_lookup
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_mutex_unlock
    - param_spec_ht_lookup
    - g_mutex_lock
    - g_new
    - strncpy
    - strchr
    - g_type_is_a
    - g_free
    - g_type_from_name
    linkageType: ''
    returnType: GParamSpec*
    signature: "GParamSpec *g_param_spec_pool_lookup (GParamSpecPool *pool,\t\t\t\
      \ const gchar *param_name,\t\t\t GType owner_type,\t\t\t gboolean walk_ancestors) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_param_spec_get_private
      Src: /src/glib/gobject/gparam.c:1635,1
    - Dst: memcpy
      Src: /src/glib/gobject/gparam.c:1658,1
    - Dst: g_once_init_enter_pointer
      Src: /src/glib/gobject/gparam.c:1650,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gparam.c:1654,1
    - Dst: g_param_value_set_default
      Src: /src/glib/gobject/gparam.c:1655,1
    - Dst: g_once_init_leave_pointer
      Src: /src/glib/gobject/gparam.c:1660,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1664
      start: 1632
    functionDepth: 0
    functionLinenumber: 1632
    functionLinenumberEnd: 1664
    functionName: g_param_spec_get_default_value
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_once_init_leave_pointer
    - g_param_spec_get_private
    - g_value_init
    - g_once_init_enter_pointer
    - g_param_value_set_default
    linkageType: ''
    returnType: GValue*
    signature: 'const GValue *g_param_spec_get_default_value (GParamSpec *pspec) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gparam.c:1315,1
    - Dst: g_slist_prepend
      Src: /src/glib/gobject/gparam.c:1320,1
    - Dst: G_TYPE_IS_INTERFACE
      Src: /src/glib/gobject/gparam.c:1318,1
    - Dst: should_list_pspec
      Src: /src/glib/gobject/gparam.c:1316,1
    - Dst: g_type_depth
      Src: /src/glib/gobject/gparam.c:1325,1
    - Dst: g_slist_prepend
      Src: /src/glib/gobject/gparam.c:1327,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - key
    - value
    - user_data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1331
      start: 1303
    functionDepth: 0
    functionLinenumber: 1303
    functionLinenumberEnd: 1331
    functionName: pool_depth_list
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - should_list_pspec
    - G_TYPE_IS_INTERFACE
    - g_type_is_a
    - g_type_depth
    - g_slist_prepend
    linkageType: ''
    returnType: void
    signature: "static void pool_depth_list (gpointer key,\t\t gpointer value,\t\t\
      \ gpointer user_data) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gparam.c:1577,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/gparam.c:1582,1
    - Dst: G_IS_PARAM_SPEC
      Src: /src/glib/gobject/gparam.c:1579,1
    - Dst: G_VALUE_HOLDS_PARAM
      Src: /src/glib/gobject/gparam.c:1577,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gparam.c:1579,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - value
    - param
    argTypes:
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1584
      start: 1573
    functionDepth: 0
    functionLinenumber: 1573
    functionLinenumberEnd: 1584
    functionName: g_value_take_param
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_param_spec_unref
    - G_VALUE_HOLDS_PARAM
    - G_IS_PARAM_SPEC
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_value_take_param (GValue *value,\t\t GParamSpec *param) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:344,1
    - Dst: g_param_spec_get_redirect_target
      Src: /src/glib/gobject/gparam.c:352,1
    - Dst: G_IS_PARAM_SPEC
      Src: /src/glib/gobject/gparam.c:344,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 358
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 358
    functionName: g_param_spec_get_blurb
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_PARAM_SPEC
    - g_param_spec_get_redirect_target
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_param_spec_get_blurb (GParamSpec *pspec) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:692,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:693,1
    - Dst: G_IS_PARAM_SPEC
      Src: /src/glib/gobject/gparam.c:692,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:694,1
    - Dst: G_IS_VALUE
      Src: /src/glib/gobject/gparam.c:693,1
    - Dst: PSPEC_APPLIES_TO_VALUE
      Src: /src/glib/gobject/gparam.c:694,1
    - Dst: G_PARAM_SPEC_GET_CLASS
      Src: /src/glib/gobject/gparam.c:696,1
    - Dst: G_PARAM_SPEC_GET_CLASS
      Src: /src/glib/gobject/gparam.c:700,1
    - Dst: memcmp
      Src: /src/glib/gobject/gparam.c:701,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 706
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 706
    functionName: g_param_value_validate
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_VALUE
    - PSPEC_APPLIES_TO_VALUE
    - G_PARAM_SPEC_GET_CLASS
    - G_IS_PARAM_SPEC
    - memcmp
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_param_value_validate (GParamSpec *pspec,\t\t\tGValue *value) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:920,1
    - Dst: g_param_spec_ref
      Src: /src/glib/gobject/gparam.c:927,1
    - Dst: g_strdup_printf
      Src: /src/glib/gobject/gparam.c:920,1
    - Dst: G_VALUE_TYPE_NAME
      Src: /src/glib/gobject/gparam.c:920,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 930
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 930
    functionName: value_param_lcopy_value
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_param_spec_ref
    - G_VALUE_TYPE_NAME
    - g_return_val_if_fail
    - g_strdup_printf
    linkageType: ''
    returnType: gchar*
    signature: "static gchar *value_param_lcopy_value (const GValue *value,\t\t\t\
      \ guint n_collect_values,\t\t\t GTypeCValue *collect_values,\t\t\t guint collect_flags) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gobject/gparam.c:1075,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gparam.c:1082,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gobject/gparam.c:1076,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/gparam.c:1078,1
    - Dst: g_critical
      Src: /src/glib/gobject/gparam.c:1077,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gparam.c:1083,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - pool
    - pspec
    argTypes:
    - GParamSpecPool*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1085
      start: 1069
    functionDepth: 0
    functionLinenumber: 1069
    functionLinenumberEnd: 1085
    functionName: g_param_spec_pool_remove
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_return_if_fail
    - g_hash_table_remove
    - g_mutex_lock
    - g_critical
    linkageType: ''
    returnType: void
    signature: "void g_param_spec_pool_remove (GParamSpecPool *pool,\t\t\t GParamSpec\
      \ *pspec) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gobject/gparam.c:1100,1
    - Dst: g_strdup
      Src: /src/glib/gobject/gparam.c:1113,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gobject/gparam.c:1107,1
    - Dst: g_type_parent
      Src: /src/glib/gobject/gparam.c:1103,1
    - Dst: is_canonical
      Src: /src/glib/gobject/gparam.c:1109,1
    - Dst: canonicalize_key
      Src: /src/glib/gobject/gparam.c:1114,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gobject/gparam.c:1123,1
    - Dst: g_free
      Src: /src/glib/gobject/gparam.c:1126,1
    - Dst: g_type_parent
      Src: /src/glib/gobject/gparam.c:1129,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gobject/gparam.c:1133,1
    - Dst: g_free
      Src: /src/glib/gobject/gparam.c:1135,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1087
    functionDepth: 0
    functionLinenumber: 1087
    functionLinenumberEnd: 1139
    functionName: param_spec_ht_lookup
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - is_canonical
    - canonicalize_key
    - g_strdup
    - g_hash_table_lookup
    - g_free
    - g_type_parent
    linkageType: ''
    returnType: GParamSpec*
    signature: "static inline GParamSpec *param_spec_ht_lookup (GHashTable *hash_table,\t\
      \t const gchar *param_name,\t\t GType owner_type,\t\t gboolean walk_ancestors) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:1250,1
    - Dst: g_mutex_lock
      Src: /src/glib/gobject/gparam.c:1253,1
    - Dst: g_hash_table_foreach
      Src: /src/glib/gobject/gparam.c:1256,1
    - Dst: GTYPE_TO_POINTER
      Src: /src/glib/gobject/gparam.c:1255,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:1251,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/gparam.c:1257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1260
      start: 1244
    functionDepth: 0
    functionLinenumber: 1244
    functionLinenumberEnd: 1260
    functionName: g_param_spec_pool_list_owned
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_mutex_unlock
    - g_mutex_lock
    - GTYPE_TO_POINTER
    - g_hash_table_foreach
    linkageType: ''
    returnType: GList*
    signature: "GList *g_param_spec_pool_list_owned (GParamSpecPool *pool,\t\t\t GType\
      \ owner_type) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gparam.c:1615,1
    - Dst: g_param_spec_ref
      Src: /src/glib/gobject/gparam.c:1617,1
    - Dst: G_VALUE_HOLDS_PARAM
      Src: /src/glib/gobject/gparam.c:1615,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1618
      start: 1612
    functionDepth: 0
    functionLinenumber: 1612
    functionLinenumberEnd: 1618
    functionName: g_value_dup_param
    functionSourceFile: /src/glib/gobject/gparam.c
    functionUses: []
    functionsReached:
    - g_param_spec_ref
    - G_VALUE_HOLDS_PARAM
    - g_return_val_if_fail
    linkageType: ''
    returnType: GParamSpec*
    signature: 'GParamSpec *g_value_dup_param (const GValue *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1456
      start: 1443
    functionDepth: 0
    functionLinenumber: 1443
    functionLinenumberEnd: 1456
    functionName: _GTypeValueTable
    functionSourceFile: /src/glib/gobject/gtype.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: G_GNUC_BEGIN_IGNORE_DEPRECATIONS
    signature: 'G_GNUC_BEGIN_IGNORE_DEPRECATIONS struct _GTypeValueTable '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/glib/gobject/gmarshal.c:255,1
    - Dst: va_arg
      Src: /src/glib/gobject/gmarshal.c:256,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:259,1
    - Dst: va_end
      Src: /src/glib/gobject/gmarshal.c:257,1
    - Dst: callback
      Src: /src/glib/gobject/gmarshal.c:271,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 7
    argNames:
    - closure
    - return_value
    - instance
    - args
    - marshal_data
    - n_params
    - param_types
    argTypes:
    - GClosure*
    - GValue*
    - gpointer
    - va_list
    - gpointer
    - int
    - GType*
    constantsTouched: []
    func_position:
      end: 274
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 274
    functionName: g_cclosure_marshal_VOID__BOOLEANv
    functionSourceFile: /src/glib/gobject/gmarshal.c
    functionUses: []
    functionsReached:
    - callback
    - va_arg
    - va_end
    - va_copy
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void g_cclosure_marshal_VOID__BOOLEANv (GClosure *closure, GValue
      *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params,
      GType *param_types) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gmarshal.c:2236,1
    - Dst: va_arg
      Src: /src/glib/gobject/gmarshal.c:2239,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:2242,1
    - Dst: va_copy
      Src: /src/glib/gobject/gmarshal.c:2238,1
    - Dst: va_end
      Src: /src/glib/gobject/gmarshal.c:2240,1
    - Dst: callback
      Src: /src/glib/gobject/gmarshal.c:2254,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gobject/gmarshal.c:2258,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 7
    argNames:
    - closure
    - return_value
    - instance
    - args
    - marshal_data
    - n_params
    - param_types
    argTypes:
    - GClosure*
    - GValue*
    - gpointer
    - va_list
    - gpointer
    - int
    - GType*
    constantsTouched: []
    func_position:
      end: 2259
      start: 2217
    functionDepth: 0
    functionLinenumber: 2217
    functionLinenumberEnd: 2259
    functionName: g_cclosure_marshal_BOOLEAN__FLAGSv
    functionSourceFile: /src/glib/gobject/gmarshal.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - g_value_set_boolean
    - callback
    - va_arg
    - va_end
    - va_copy
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void g_cclosure_marshal_BOOLEAN__FLAGSv (GClosure *closure, GValue
      *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params,
      GType *param_types) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gmarshal.c:201,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:203,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:206,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:210,1
    - Dst: callback
      Src: /src/glib/gobject/gmarshal.c:215,1
    - Dst: g_marshal_value_peek_boolean
      Src: /src/glib/gobject/gmarshal.c:216,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 6
    argNames:
    - closure
    - G_GNUC_UNUSED
    - n_param_values
    - param_values
    - invocation_hint
    - G_GNUC_UNUSED
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 218
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 218
    functionName: g_cclosure_marshal_VOID__BOOLEAN
    functionSourceFile: /src/glib/gobject/gmarshal.c
    functionUses: []
    functionsReached:
    - g_value_peek_pointer
    - g_return_if_fail
    - g_marshal_value_peek_boolean
    - callback
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void g_cclosure_marshal_VOID__BOOLEAN (GClosure *closure, GValue *return_value
      G_GNUC_UNUSED, guint n_param_values, const GValue *param_values, gpointer invocation_hint
      G_GNUC_UNUSED, gpointer marshal_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gmarshal.c:417,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:419,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:422,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:426,1
    - Dst: callback
      Src: /src/glib/gobject/gmarshal.c:431,1
    - Dst: g_marshal_value_peek_uchar
      Src: /src/glib/gobject/gmarshal.c:432,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 6
    argNames:
    - closure
    - G_GNUC_UNUSED
    - n_param_values
    - param_values
    - invocation_hint
    - G_GNUC_UNUSED
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 434
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 434
    functionName: g_cclosure_marshal_VOID__UCHAR
    functionSourceFile: /src/glib/gobject/gmarshal.c
    functionUses: []
    functionsReached:
    - g_marshal_value_peek_uchar
    - g_value_peek_pointer
    - g_return_if_fail
    - callback
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void g_cclosure_marshal_VOID__UCHAR (GClosure *closure, GValue *return_value
      G_GNUC_UNUSED, guint n_param_values, const GValue *param_values, gpointer invocation_hint
      G_GNUC_UNUSED, gpointer marshal_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gmarshal.c:525,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:527,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:530,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:534,1
    - Dst: callback
      Src: /src/glib/gobject/gmarshal.c:539,1
    - Dst: g_marshal_value_peek_int
      Src: /src/glib/gobject/gmarshal.c:540,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 6
    argNames:
    - closure
    - G_GNUC_UNUSED
    - n_param_values
    - param_values
    - invocation_hint
    - G_GNUC_UNUSED
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 542
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 542
    functionName: g_cclosure_marshal_VOID__INT
    functionSourceFile: /src/glib/gobject/gmarshal.c
    functionUses: []
    functionsReached:
    - g_value_peek_pointer
    - g_return_if_fail
    - callback
    - g_marshal_value_peek_int
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void g_cclosure_marshal_VOID__INT (GClosure *closure, GValue *return_value
      G_GNUC_UNUSED, guint n_param_values, const GValue *param_values, gpointer invocation_hint
      G_GNUC_UNUSED, gpointer marshal_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gmarshal.c:1613,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:1615,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:1618,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:1622,1
    - Dst: callback
      Src: /src/glib/gobject/gmarshal.c:1627,1
    - Dst: g_marshal_value_peek_boxed
      Src: /src/glib/gobject/gmarshal.c:1628,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 6
    argNames:
    - closure
    - G_GNUC_UNUSED
    - n_param_values
    - param_values
    - invocation_hint
    - G_GNUC_UNUSED
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1630
      start: 1598
    functionDepth: 0
    functionLinenumber: 1598
    functionLinenumberEnd: 1630
    functionName: g_cclosure_marshal_VOID__BOXED
    functionSourceFile: /src/glib/gobject/gmarshal.c
    functionUses: []
    functionsReached:
    - g_value_peek_pointer
    - g_return_if_fail
    - callback
    - g_marshal_value_peek_boxed
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void g_cclosure_marshal_VOID__BOXED (GClosure *closure, GValue *return_value
      G_GNUC_UNUSED, guint n_param_values, const GValue *param_values, gpointer invocation_hint
      G_GNUC_UNUSED, gpointer marshal_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:152,1
    - Dst: callback
      Src: /src/glib/gobject/gmarshal.c:164,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 7
    argNames:
    - closure
    - return_value
    - instance
    - args
    - marshal_data
    - n_params
    - param_types
    argTypes:
    - GClosure*
    - GValue*
    - gpointer
    - va_list
    - gpointer
    - int
    - GType*
    constantsTouched: []
    func_position:
      end: 166
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 166
    functionName: g_cclosure_marshal_VOID__VOIDv
    functionSourceFile: /src/glib/gobject/gmarshal.c
    functionUses: []
    functionsReached:
    - G_CCLOSURE_SWAP_DATA
    - callback
    linkageType: ''
    returnType: void
    signature: 'void g_cclosure_marshal_VOID__VOIDv (GClosure *closure, GValue *return_value,
      gpointer instance, va_list args, gpointer marshal_data, int n_params, GType
      *param_types) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/glib/gobject/gmarshal.c:363,1
    - Dst: va_end
      Src: /src/glib/gobject/gmarshal.c:365,1
    - Dst: va_arg
      Src: /src/glib/gobject/gmarshal.c:364,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:367,1
    - Dst: callback
      Src: /src/glib/gobject/gmarshal.c:379,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 7
    argNames:
    - closure
    - return_value
    - instance
    - args
    - marshal_data
    - n_params
    - param_types
    argTypes:
    - GClosure*
    - GValue*
    - gpointer
    - va_list
    - gpointer
    - int
    - GType*
    constantsTouched: []
    func_position:
      end: 382
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 382
    functionName: g_cclosure_marshal_VOID__CHARv
    functionSourceFile: /src/glib/gobject/gmarshal.c
    functionUses: []
    functionsReached:
    - callback
    - va_arg
    - va_end
    - va_copy
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void g_cclosure_marshal_VOID__CHARv (GClosure *closure, GValue *return_value,
      gpointer instance, va_list args, gpointer marshal_data, int n_params, GType
      *param_types) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/glib/gobject/gmarshal.c:471,1
    - Dst: va_end
      Src: /src/glib/gobject/gmarshal.c:473,1
    - Dst: va_arg
      Src: /src/glib/gobject/gmarshal.c:472,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:475,1
    - Dst: callback
      Src: /src/glib/gobject/gmarshal.c:487,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 7
    argNames:
    - closure
    - return_value
    - instance
    - args
    - marshal_data
    - n_params
    - param_types
    argTypes:
    - GClosure*
    - GValue*
    - gpointer
    - va_list
    - gpointer
    - int
    - GType*
    constantsTouched: []
    func_position:
      end: 490
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 490
    functionName: g_cclosure_marshal_VOID__UCHARv
    functionSourceFile: /src/glib/gobject/gmarshal.c
    functionUses: []
    functionsReached:
    - callback
    - va_arg
    - va_end
    - va_copy
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void g_cclosure_marshal_VOID__UCHARv (GClosure *closure, GValue *return_value,
      gpointer instance, va_list args, gpointer marshal_data, int n_params, GType
      *param_types) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/glib/gobject/gmarshal.c:1555,1
    - Dst: va_end
      Src: /src/glib/gobject/gmarshal.c:1559,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:1561,1
    - Dst: va_arg
      Src: /src/glib/gobject/gmarshal.c:1556,1
    - Dst: g_param_spec_ref
      Src: /src/glib/gobject/gmarshal.c:1558,1
    - Dst: callback
      Src: /src/glib/gobject/gmarshal.c:1573,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/gmarshal.c:1577,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 7
    argNames:
    - closure
    - return_value
    - instance
    - args
    - marshal_data
    - n_params
    - param_types
    argTypes:
    - GClosure*
    - GValue*
    - gpointer
    - va_list
    - gpointer
    - int
    - GType*
    constantsTouched: []
    func_position:
      end: 1578
      start: 1537
    functionDepth: 0
    functionLinenumber: 1537
    functionLinenumberEnd: 1578
    functionName: g_cclosure_marshal_VOID__PARAMv
    functionSourceFile: /src/glib/gobject/gmarshal.c
    functionUses: []
    functionsReached:
    - g_param_spec_ref
    - callback
    - g_param_spec_unref
    - va_arg
    - va_end
    - va_copy
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void g_cclosure_marshal_VOID__PARAMv (GClosure *closure, GValue *return_value,
      gpointer instance, va_list args, gpointer marshal_data, int n_params, GType
      *param_types) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gmarshal.c:741,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:750,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:743,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:746,1
    - Dst: callback
      Src: /src/glib/gobject/gmarshal.c:755,1
    - Dst: g_marshal_value_peek_long
      Src: /src/glib/gobject/gmarshal.c:756,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 6
    argNames:
    - closure
    - G_GNUC_UNUSED
    - n_param_values
    - param_values
    - invocation_hint
    - G_GNUC_UNUSED
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 758
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 758
    functionName: g_cclosure_marshal_VOID__LONG
    functionSourceFile: /src/glib/gobject/gmarshal.c
    functionUses: []
    functionsReached:
    - g_marshal_value_peek_long
    - g_value_peek_pointer
    - g_return_if_fail
    - callback
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void g_cclosure_marshal_VOID__LONG (GClosure *closure, GValue *return_value
      G_GNUC_UNUSED, guint n_param_values, const GValue *param_values, gpointer invocation_hint
      G_GNUC_UNUSED, gpointer marshal_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gmarshal.c:633,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:638,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:635,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:642,1
    - Dst: callback
      Src: /src/glib/gobject/gmarshal.c:647,1
    - Dst: g_marshal_value_peek_uint
      Src: /src/glib/gobject/gmarshal.c:648,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 6
    argNames:
    - closure
    - G_GNUC_UNUSED
    - n_param_values
    - param_values
    - invocation_hint
    - G_GNUC_UNUSED
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 650
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 650
    functionName: g_cclosure_marshal_VOID__UINT
    functionSourceFile: /src/glib/gobject/gmarshal.c
    functionUses: []
    functionsReached:
    - g_value_peek_pointer
    - g_return_if_fail
    - g_marshal_value_peek_uint
    - callback
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void g_cclosure_marshal_VOID__UINT (GClosure *closure, GValue *return_value
      G_GNUC_UNUSED, guint n_param_values, const GValue *param_values, gpointer invocation_hint
      G_GNUC_UNUSED, gpointer marshal_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gmarshal.c:2178,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:2188,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:2181,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gmarshal.c:2179,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:2184,1
    - Dst: callback
      Src: /src/glib/gobject/gmarshal.c:2193,1
    - Dst: g_marshal_value_peek_flags
      Src: /src/glib/gobject/gmarshal.c:2194,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gobject/gmarshal.c:2197,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 6
    argNames:
    - closure
    - G_GNUC_UNUSED
    - n_param_values
    - param_values
    - invocation_hint
    - G_GNUC_UNUSED
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 2198
      start: 2162
    functionDepth: 0
    functionLinenumber: 2162
    functionLinenumberEnd: 2198
    functionName: g_cclosure_marshal_BOOLEAN__FLAGS
    functionSourceFile: /src/glib/gobject/gmarshal.c
    functionUses: []
    functionsReached:
    - g_value_peek_pointer
    - g_return_if_fail
    - g_value_set_boolean
    - callback
    - g_marshal_value_peek_flags
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void g_cclosure_marshal_BOOLEAN__FLAGS (GClosure *closure, GValue
      *return_value G_GNUC_UNUSED, guint n_param_values, const GValue *param_values,
      gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gmarshal.c:102,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:111,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:107,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:104,1
    - Dst: callback
      Src: /src/glib/gobject/gmarshal.c:116,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 6
    argNames:
    - closure
    - G_GNUC_UNUSED
    - n_param_values
    - param_values
    - invocation_hint
    - G_GNUC_UNUSED
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 118
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 118
    functionName: g_cclosure_marshal_VOID__VOID
    functionSourceFile: /src/glib/gobject/gmarshal.c
    functionUses: []
    functionsReached:
    - g_value_peek_pointer
    - G_CCLOSURE_SWAP_DATA
    - callback
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_cclosure_marshal_VOID__VOID (GClosure *closure, GValue *return_value
      G_GNUC_UNUSED, guint n_param_values, const GValue *param_values, gpointer invocation_hint
      G_GNUC_UNUSED, gpointer marshal_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/glib/gobject/gmarshal.c:579,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:583,1
    - Dst: va_end
      Src: /src/glib/gobject/gmarshal.c:581,1
    - Dst: va_arg
      Src: /src/glib/gobject/gmarshal.c:580,1
    - Dst: callback
      Src: /src/glib/gobject/gmarshal.c:595,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 7
    argNames:
    - closure
    - return_value
    - instance
    - args
    - marshal_data
    - n_params
    - param_types
    argTypes:
    - GClosure*
    - GValue*
    - gpointer
    - va_list
    - gpointer
    - int
    - GType*
    constantsTouched: []
    func_position:
      end: 598
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 598
    functionName: g_cclosure_marshal_VOID__INTv
    functionSourceFile: /src/glib/gobject/gmarshal.c
    functionUses: []
    functionsReached:
    - callback
    - va_arg
    - va_end
    - va_copy
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void g_cclosure_marshal_VOID__INTv (GClosure *closure, GValue *return_value,
      gpointer instance, va_list args, gpointer marshal_data, int n_params, GType
      *param_types) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/glib/gobject/gmarshal.c:687,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:691,1
    - Dst: va_end
      Src: /src/glib/gobject/gmarshal.c:689,1
    - Dst: va_arg
      Src: /src/glib/gobject/gmarshal.c:688,1
    - Dst: callback
      Src: /src/glib/gobject/gmarshal.c:703,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 7
    argNames:
    - closure
    - return_value
    - instance
    - args
    - marshal_data
    - n_params
    - param_types
    argTypes:
    - GClosure*
    - GValue*
    - gpointer
    - va_list
    - gpointer
    - int
    - GType*
    constantsTouched: []
    func_position:
      end: 706
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 706
    functionName: g_cclosure_marshal_VOID__UINTv
    functionSourceFile: /src/glib/gobject/gmarshal.c
    functionUses: []
    functionsReached:
    - callback
    - va_arg
    - va_end
    - va_copy
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void g_cclosure_marshal_VOID__UINTv (GClosure *closure, GValue *return_value,
      gpointer instance, va_list args, gpointer marshal_data, int n_params, GType
      *param_types) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/glib/gobject/gmarshal.c:2119,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:2124,1
    - Dst: va_end
      Src: /src/glib/gobject/gmarshal.c:2122,1
    - Dst: va_arg
      Src: /src/glib/gobject/gmarshal.c:2120,1
    - Dst: va_arg
      Src: /src/glib/gobject/gmarshal.c:2121,1
    - Dst: callback
      Src: /src/glib/gobject/gmarshal.c:2136,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 7
    argNames:
    - closure
    - return_value
    - instance
    - args
    - marshal_data
    - n_params
    - param_types
    argTypes:
    - GClosure*
    - GValue*
    - gpointer
    - va_list
    - gpointer
    - int
    - GType*
    constantsTouched: []
    func_position:
      end: 2140
      start: 2099
    functionDepth: 0
    functionLinenumber: 2099
    functionLinenumberEnd: 2140
    functionName: g_cclosure_marshal_VOID__UINT_POINTERv
    functionSourceFile: /src/glib/gobject/gmarshal.c
    functionUses: []
    functionsReached:
    - callback
    - va_arg
    - va_end
    - va_copy
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void g_cclosure_marshal_VOID__UINT_POINTERv (GClosure *closure, GValue
      *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params,
      GType *param_types) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gmarshal.c:957,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:959,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:962,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:966,1
    - Dst: callback
      Src: /src/glib/gobject/gmarshal.c:971,1
    - Dst: g_marshal_value_peek_enum
      Src: /src/glib/gobject/gmarshal.c:972,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 6
    argNames:
    - closure
    - G_GNUC_UNUSED
    - n_param_values
    - param_values
    - invocation_hint
    - G_GNUC_UNUSED
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 974
      start: 942
    functionDepth: 0
    functionLinenumber: 942
    functionLinenumberEnd: 974
    functionName: g_cclosure_marshal_VOID__ENUM
    functionSourceFile: /src/glib/gobject/gmarshal.c
    functionUses: []
    functionsReached:
    - g_value_peek_pointer
    - g_return_if_fail
    - callback
    - g_marshal_value_peek_enum
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void g_cclosure_marshal_VOID__ENUM (GClosure *closure, GValue *return_value
      G_GNUC_UNUSED, guint n_param_values, const GValue *param_values, gpointer invocation_hint
      G_GNUC_UNUSED, gpointer marshal_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gmarshal.c:1729,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:1738,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:1734,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:1731,1
    - Dst: callback
      Src: /src/glib/gobject/gmarshal.c:1743,1
    - Dst: g_marshal_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:1744,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 6
    argNames:
    - closure
    - G_GNUC_UNUSED
    - n_param_values
    - param_values
    - invocation_hint
    - G_GNUC_UNUSED
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1746
      start: 1714
    functionDepth: 0
    functionLinenumber: 1714
    functionLinenumberEnd: 1746
    functionName: g_cclosure_marshal_VOID__POINTER
    functionSourceFile: /src/glib/gobject/gmarshal.c
    functionUses: []
    functionsReached:
    - g_value_peek_pointer
    - g_return_if_fail
    - callback
    - g_marshal_value_peek_pointer
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void g_cclosure_marshal_VOID__POINTER (GClosure *closure, GValue *return_value
      G_GNUC_UNUSED, guint n_param_values, const GValue *param_values, gpointer invocation_hint
      G_GNUC_UNUSED, gpointer marshal_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gmarshal.c:1949,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:1954,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:1958,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:1951,1
    - Dst: callback
      Src: /src/glib/gobject/gmarshal.c:1963,1
    - Dst: g_marshal_value_peek_variant
      Src: /src/glib/gobject/gmarshal.c:1964,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 6
    argNames:
    - closure
    - G_GNUC_UNUSED
    - n_param_values
    - param_values
    - invocation_hint
    - G_GNUC_UNUSED
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1966
      start: 1934
    functionDepth: 0
    functionLinenumber: 1934
    functionLinenumberEnd: 1966
    functionName: g_cclosure_marshal_VOID__VARIANT
    functionSourceFile: /src/glib/gobject/gmarshal.c
    functionUses: []
    functionsReached:
    - g_value_peek_pointer
    - g_return_if_fail
    - callback
    - g_marshal_value_peek_variant
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void g_cclosure_marshal_VOID__VARIANT (GClosure *closure, GValue *return_value
      G_GNUC_UNUSED, guint n_param_values, const GValue *param_values, gpointer invocation_hint
      G_GNUC_UNUSED, gpointer marshal_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gmarshal.c:2426,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:2436,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:2432,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:2429,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gmarshal.c:2427,1
    - Dst: callback
      Src: /src/glib/gobject/gmarshal.c:2441,1
    - Dst: g_marshal_value_peek_boxed
      Src: /src/glib/gobject/gmarshal.c:2442,1
    - Dst: g_marshal_value_peek_boxed
      Src: /src/glib/gobject/gmarshal.c:2443,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gobject/gmarshal.c:2446,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 6
    argNames:
    - closure
    - G_GNUC_UNUSED
    - n_param_values
    - param_values
    - invocation_hint
    - G_GNUC_UNUSED
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 2447
      start: 2409
    functionDepth: 0
    functionLinenumber: 2409
    functionLinenumberEnd: 2447
    functionName: g_cclosure_marshal_BOOLEAN__BOXED_BOXED
    functionSourceFile: /src/glib/gobject/gmarshal.c
    functionUses: []
    functionsReached:
    - g_value_peek_pointer
    - g_return_if_fail
    - g_value_set_boolean
    - callback
    - g_marshal_value_peek_boxed
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void g_cclosure_marshal_BOOLEAN__BOXED_BOXED (GClosure *closure, GValue
      *return_value G_GNUC_UNUSED, guint n_param_values, const GValue *param_values,
      gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/glib/gobject/gmarshal.c:903,1
    - Dst: va_end
      Src: /src/glib/gobject/gmarshal.c:905,1
    - Dst: va_arg
      Src: /src/glib/gobject/gmarshal.c:904,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:907,1
    - Dst: callback
      Src: /src/glib/gobject/gmarshal.c:919,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 7
    argNames:
    - closure
    - return_value
    - instance
    - args
    - marshal_data
    - n_params
    - param_types
    argTypes:
    - GClosure*
    - GValue*
    - gpointer
    - va_list
    - gpointer
    - int
    - GType*
    constantsTouched: []
    func_position:
      end: 922
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 922
    functionName: g_cclosure_marshal_VOID__ULONGv
    functionSourceFile: /src/glib/gobject/gmarshal.c
    functionUses: []
    functionsReached:
    - callback
    - va_arg
    - va_end
    - va_copy
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void g_cclosure_marshal_VOID__ULONGv (GClosure *closure, GValue *return_value,
      gpointer instance, va_list args, gpointer marshal_data, int n_params, GType
      *param_types) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/glib/gobject/gmarshal.c:1667,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:1673,1
    - Dst: va_arg
      Src: /src/glib/gobject/gmarshal.c:1668,1
    - Dst: va_end
      Src: /src/glib/gobject/gmarshal.c:1671,1
    - Dst: g_boxed_copy
      Src: /src/glib/gobject/gmarshal.c:1670,1
    - Dst: callback
      Src: /src/glib/gobject/gmarshal.c:1685,1
    - Dst: g_boxed_free
      Src: /src/glib/gobject/gmarshal.c:1689,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 7
    argNames:
    - closure
    - return_value
    - instance
    - args
    - marshal_data
    - n_params
    - param_types
    argTypes:
    - GClosure*
    - GValue*
    - gpointer
    - va_list
    - gpointer
    - int
    - GType*
    constantsTouched: []
    func_position:
      end: 1690
      start: 1649
    functionDepth: 0
    functionLinenumber: 1649
    functionLinenumberEnd: 1690
    functionName: g_cclosure_marshal_VOID__BOXEDv
    functionSourceFile: /src/glib/gobject/gmarshal.c
    functionUses: []
    functionsReached:
    - callback
    - g_boxed_copy
    - va_arg
    - va_end
    - g_boxed_free
    - va_copy
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void g_cclosure_marshal_VOID__BOXEDv (GClosure *closure, GValue *return_value,
      gpointer instance, va_list args, gpointer marshal_data, int n_params, GType
      *param_types) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/glib/gobject/gmarshal.c:1891,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/gmarshal.c:1894,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:1897,1
    - Dst: va_end
      Src: /src/glib/gobject/gmarshal.c:1895,1
    - Dst: va_arg
      Src: /src/glib/gobject/gmarshal.c:1892,1
    - Dst: callback
      Src: /src/glib/gobject/gmarshal.c:1909,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gmarshal.c:1913,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 7
    argNames:
    - closure
    - return_value
    - instance
    - args
    - marshal_data
    - n_params
    - param_types
    argTypes:
    - GClosure*
    - GValue*
    - gpointer
    - va_list
    - gpointer
    - int
    - GType*
    constantsTouched: []
    func_position:
      end: 1914
      start: 1873
    functionDepth: 0
    functionLinenumber: 1873
    functionLinenumberEnd: 1914
    functionName: g_cclosure_marshal_VOID__OBJECTv
    functionSourceFile: /src/glib/gobject/gmarshal.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - callback
    - va_arg
    - va_end
    - g_object_ref
    - va_copy
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void g_cclosure_marshal_VOID__OBJECTv (GClosure *closure, GValue *return_value,
      gpointer instance, va_list args, gpointer marshal_data, int n_params, GType
      *param_types) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gmarshal.c:2358,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/gmarshal.c:2363,1
    - Dst: va_arg
      Src: /src/glib/gobject/gmarshal.c:2361,1
    - Dst: va_arg
      Src: /src/glib/gobject/gmarshal.c:2364,1
    - Dst: va_copy
      Src: /src/glib/gobject/gmarshal.c:2360,1
    - Dst: va_end
      Src: /src/glib/gobject/gmarshal.c:2365,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:2367,1
    - Dst: callback
      Src: /src/glib/gobject/gmarshal.c:2379,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gmarshal.c:2384,1
    - Dst: g_value_take_string
      Src: /src/glib/gobject/gmarshal.c:2386,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 7
    argNames:
    - closure
    - return_value
    - instance
    - args
    - marshal_data
    - n_params
    - param_types
    argTypes:
    - GClosure*
    - GValue*
    - gpointer
    - va_list
    - gpointer
    - int
    - GType*
    constantsTouched: []
    func_position:
      end: 2387
      start: 2337
    functionDepth: 0
    functionLinenumber: 2337
    functionLinenumberEnd: 2387
    functionName: g_cclosure_marshal_STRING__OBJECT_POINTERv
    functionSourceFile: /src/glib/gobject/gmarshal.c
    functionUses: []
    functionsReached:
    - g_value_take_string
    - g_object_unref
    - g_return_if_fail
    - callback
    - va_arg
    - va_end
    - g_object_ref
    - va_copy
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void g_cclosure_marshal_STRING__OBJECT_POINTERv (GClosure *closure,
      GValue *return_value, gpointer instance, va_list args, gpointer marshal_data,
      int n_params, GType *param_types) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gmarshal.c:2487,1
    - Dst: va_arg
      Src: /src/glib/gobject/gmarshal.c:2490,1
    - Dst: va_arg
      Src: /src/glib/gobject/gmarshal.c:2493,1
    - Dst: va_copy
      Src: /src/glib/gobject/gmarshal.c:2489,1
    - Dst: g_boxed_copy
      Src: /src/glib/gobject/gmarshal.c:2492,1
    - Dst: g_boxed_copy
      Src: /src/glib/gobject/gmarshal.c:2495,1
    - Dst: va_end
      Src: /src/glib/gobject/gmarshal.c:2496,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:2498,1
    - Dst: callback
      Src: /src/glib/gobject/gmarshal.c:2510,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gobject/gmarshal.c:2519,1
    - Dst: g_boxed_free
      Src: /src/glib/gobject/gmarshal.c:2517,1
    - Dst: g_boxed_free
      Src: /src/glib/gobject/gmarshal.c:2515,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 7
    argNames:
    - closure
    - return_value
    - instance
    - args
    - marshal_data
    - n_params
    - param_types
    argTypes:
    - GClosure*
    - GValue*
    - gpointer
    - va_list
    - gpointer
    - int
    - GType*
    constantsTouched: []
    func_position:
      end: 2520
      start: 2466
    functionDepth: 0
    functionLinenumber: 2466
    functionLinenumberEnd: 2520
    functionName: g_cclosure_marshal_BOOLEAN__BOXED_BOXEDv
    functionSourceFile: /src/glib/gobject/gmarshal.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - g_value_set_boolean
    - G_CCLOSURE_SWAP_DATA
    - callback
    - va_arg
    - va_end
    - g_boxed_free
    - va_copy
    - g_boxed_copy
    linkageType: ''
    returnType: void
    signature: 'void g_cclosure_marshal_BOOLEAN__BOXED_BOXEDv (GClosure *closure,
      GValue *return_value, gpointer instance, va_list args, gpointer marshal_data,
      int n_params, GType *param_types) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gmarshal.c:849,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:851,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:858,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:854,1
    - Dst: callback
      Src: /src/glib/gobject/gmarshal.c:863,1
    - Dst: g_marshal_value_peek_ulong
      Src: /src/glib/gobject/gmarshal.c:864,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 6
    argNames:
    - closure
    - G_GNUC_UNUSED
    - n_param_values
    - param_values
    - invocation_hint
    - G_GNUC_UNUSED
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 866
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 866
    functionName: g_cclosure_marshal_VOID__ULONG
    functionSourceFile: /src/glib/gobject/gmarshal.c
    functionUses: []
    functionsReached:
    - g_value_peek_pointer
    - g_return_if_fail
    - callback
    - g_marshal_value_peek_ulong
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void g_cclosure_marshal_VOID__ULONG (GClosure *closure, GValue *return_value
      G_GNUC_UNUSED, guint n_param_values, const GValue *param_values, gpointer invocation_hint
      G_GNUC_UNUSED, gpointer marshal_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gmarshal.c:1173,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:1182,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:1175,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:1178,1
    - Dst: callback
      Src: /src/glib/gobject/gmarshal.c:1187,1
    - Dst: g_marshal_value_peek_float
      Src: /src/glib/gobject/gmarshal.c:1188,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 6
    argNames:
    - closure
    - G_GNUC_UNUSED
    - n_param_values
    - param_values
    - invocation_hint
    - G_GNUC_UNUSED
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1190
      start: 1158
    functionDepth: 0
    functionLinenumber: 1158
    functionLinenumberEnd: 1190
    functionName: g_cclosure_marshal_VOID__FLOAT
    functionSourceFile: /src/glib/gobject/gmarshal.c
    functionUses: []
    functionsReached:
    - g_value_peek_pointer
    - g_return_if_fail
    - callback
    - G_CCLOSURE_SWAP_DATA
    - g_marshal_value_peek_float
    linkageType: ''
    returnType: void
    signature: 'void g_cclosure_marshal_VOID__FLOAT (GClosure *closure, GValue *return_value
      G_GNUC_UNUSED, guint n_param_values, const GValue *param_values, gpointer invocation_hint
      G_GNUC_UNUSED, gpointer marshal_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gmarshal.c:1281,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:1286,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:1283,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:1290,1
    - Dst: callback
      Src: /src/glib/gobject/gmarshal.c:1295,1
    - Dst: g_marshal_value_peek_double
      Src: /src/glib/gobject/gmarshal.c:1296,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 6
    argNames:
    - closure
    - G_GNUC_UNUSED
    - n_param_values
    - param_values
    - invocation_hint
    - G_GNUC_UNUSED
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1298
      start: 1266
    functionDepth: 0
    functionLinenumber: 1266
    functionLinenumberEnd: 1298
    functionName: g_cclosure_marshal_VOID__DOUBLE
    functionSourceFile: /src/glib/gobject/gmarshal.c
    functionUses: []
    functionsReached:
    - g_value_peek_pointer
    - g_return_if_fail
    - callback
    - g_marshal_value_peek_double
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void g_cclosure_marshal_VOID__DOUBLE (GClosure *closure, GValue *return_value
      G_GNUC_UNUSED, guint n_param_values, const GValue *param_values, gpointer invocation_hint
      G_GNUC_UNUSED, gpointer marshal_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gmarshal.c:1837,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:1839,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:1842,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:1846,1
    - Dst: callback
      Src: /src/glib/gobject/gmarshal.c:1851,1
    - Dst: g_marshal_value_peek_object
      Src: /src/glib/gobject/gmarshal.c:1852,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 6
    argNames:
    - closure
    - G_GNUC_UNUSED
    - n_param_values
    - param_values
    - invocation_hint
    - G_GNUC_UNUSED
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1854
      start: 1822
    functionDepth: 0
    functionLinenumber: 1822
    functionLinenumberEnd: 1854
    functionName: g_cclosure_marshal_VOID__OBJECT
    functionSourceFile: /src/glib/gobject/gmarshal.c
    functionUses: []
    functionsReached:
    - g_value_peek_pointer
    - g_return_if_fail
    - callback
    - g_marshal_value_peek_object
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void g_cclosure_marshal_VOID__OBJECT (GClosure *closure, GValue *return_value
      G_GNUC_UNUSED, guint n_param_values, const GValue *param_values, gpointer invocation_hint
      G_GNUC_UNUSED, gpointer marshal_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gmarshal.c:2062,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:2071,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:2064,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:2067,1
    - Dst: callback
      Src: /src/glib/gobject/gmarshal.c:2076,1
    - Dst: g_marshal_value_peek_uint
      Src: /src/glib/gobject/gmarshal.c:2077,1
    - Dst: g_marshal_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:2078,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 6
    argNames:
    - closure
    - G_GNUC_UNUSED
    - n_param_values
    - param_values
    - invocation_hint
    - G_GNUC_UNUSED
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 2080
      start: 2046
    functionDepth: 0
    functionLinenumber: 2046
    functionLinenumberEnd: 2080
    functionName: g_cclosure_marshal_VOID__UINT_POINTER
    functionSourceFile: /src/glib/gobject/gmarshal.c
    functionUses: []
    functionsReached:
    - g_value_peek_pointer
    - g_return_if_fail
    - g_marshal_value_peek_uint
    - callback
    - g_marshal_value_peek_pointer
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void g_cclosure_marshal_VOID__UINT_POINTER (GClosure *closure, GValue
      *return_value G_GNUC_UNUSED, guint n_param_values, const GValue *param_values,
      gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/glib/gobject/gmarshal.c:795,1
    - Dst: va_arg
      Src: /src/glib/gobject/gmarshal.c:796,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:799,1
    - Dst: va_end
      Src: /src/glib/gobject/gmarshal.c:797,1
    - Dst: callback
      Src: /src/glib/gobject/gmarshal.c:811,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 7
    argNames:
    - closure
    - return_value
    - instance
    - args
    - marshal_data
    - n_params
    - param_types
    argTypes:
    - GClosure*
    - GValue*
    - gpointer
    - va_list
    - gpointer
    - int
    - GType*
    constantsTouched: []
    func_position:
      end: 814
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 814
    functionName: g_cclosure_marshal_VOID__LONGv
    functionSourceFile: /src/glib/gobject/gmarshal.c
    functionUses: []
    functionsReached:
    - callback
    - va_arg
    - va_end
    - va_copy
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void g_cclosure_marshal_VOID__LONGv (GClosure *closure, GValue *return_value,
      gpointer instance, va_list args, gpointer marshal_data, int n_params, GType
      *param_types) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/glib/gobject/gmarshal.c:1119,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:1123,1
    - Dst: va_end
      Src: /src/glib/gobject/gmarshal.c:1121,1
    - Dst: va_arg
      Src: /src/glib/gobject/gmarshal.c:1120,1
    - Dst: callback
      Src: /src/glib/gobject/gmarshal.c:1135,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 7
    argNames:
    - closure
    - return_value
    - instance
    - args
    - marshal_data
    - n_params
    - param_types
    argTypes:
    - GClosure*
    - GValue*
    - gpointer
    - va_list
    - gpointer
    - int
    - GType*
    constantsTouched: []
    func_position:
      end: 1138
      start: 1101
    functionDepth: 0
    functionLinenumber: 1101
    functionLinenumberEnd: 1138
    functionName: g_cclosure_marshal_VOID__FLAGSv
    functionSourceFile: /src/glib/gobject/gmarshal.c
    functionUses: []
    functionsReached:
    - callback
    - va_arg
    - va_end
    - va_copy
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void g_cclosure_marshal_VOID__FLAGSv (GClosure *closure, GValue *return_value,
      gpointer instance, va_list args, gpointer marshal_data, int n_params, GType
      *param_types) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/glib/gobject/gmarshal.c:1227,1
    - Dst: va_arg
      Src: /src/glib/gobject/gmarshal.c:1228,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:1231,1
    - Dst: va_end
      Src: /src/glib/gobject/gmarshal.c:1229,1
    - Dst: callback
      Src: /src/glib/gobject/gmarshal.c:1243,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 7
    argNames:
    - closure
    - return_value
    - instance
    - args
    - marshal_data
    - n_params
    - param_types
    argTypes:
    - GClosure*
    - GValue*
    - gpointer
    - va_list
    - gpointer
    - int
    - GType*
    constantsTouched: []
    func_position:
      end: 1246
      start: 1209
    functionDepth: 0
    functionLinenumber: 1209
    functionLinenumberEnd: 1246
    functionName: g_cclosure_marshal_VOID__FLOATv
    functionSourceFile: /src/glib/gobject/gmarshal.c
    functionUses: []
    functionsReached:
    - callback
    - va_arg
    - va_end
    - va_copy
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void g_cclosure_marshal_VOID__FLOATv (GClosure *closure, GValue *return_value,
      gpointer instance, va_list args, gpointer marshal_data, int n_params, GType
      *param_types) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/glib/gobject/gmarshal.c:1783,1
    - Dst: va_end
      Src: /src/glib/gobject/gmarshal.c:1785,1
    - Dst: va_arg
      Src: /src/glib/gobject/gmarshal.c:1784,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:1787,1
    - Dst: callback
      Src: /src/glib/gobject/gmarshal.c:1799,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 7
    argNames:
    - closure
    - return_value
    - instance
    - args
    - marshal_data
    - n_params
    - param_types
    argTypes:
    - GClosure*
    - GValue*
    - gpointer
    - va_list
    - gpointer
    - int
    - GType*
    constantsTouched: []
    func_position:
      end: 1802
      start: 1765
    functionDepth: 0
    functionLinenumber: 1765
    functionLinenumberEnd: 1802
    functionName: g_cclosure_marshal_VOID__POINTERv
    functionSourceFile: /src/glib/gobject/gmarshal.c
    functionUses: []
    functionsReached:
    - callback
    - va_arg
    - va_end
    - va_copy
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void g_cclosure_marshal_VOID__POINTERv (GClosure *closure, GValue
      *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params,
      GType *param_types) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/glib/gobject/gmarshal.c:2003,1
    - Dst: va_end
      Src: /src/glib/gobject/gmarshal.c:2007,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:2009,1
    - Dst: va_arg
      Src: /src/glib/gobject/gmarshal.c:2004,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gobject/gmarshal.c:2006,1
    - Dst: callback
      Src: /src/glib/gobject/gmarshal.c:2021,1
    - Dst: g_variant_unref
      Src: /src/glib/gobject/gmarshal.c:2025,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 7
    argNames:
    - closure
    - return_value
    - instance
    - args
    - marshal_data
    - n_params
    - param_types
    argTypes:
    - GClosure*
    - GValue*
    - gpointer
    - va_list
    - gpointer
    - int
    - GType*
    constantsTouched: []
    func_position:
      end: 2026
      start: 1985
    functionDepth: 0
    functionLinenumber: 1985
    functionLinenumberEnd: 2026
    functionName: g_cclosure_marshal_VOID__VARIANTv
    functionSourceFile: /src/glib/gobject/gmarshal.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - callback
    - g_variant_unref
    - va_arg
    - va_end
    - va_copy
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void g_cclosure_marshal_VOID__VARIANTv (GClosure *closure, GValue
      *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params,
      GType *param_types) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gmarshal.c:1065,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:1067,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:1070,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:1074,1
    - Dst: callback
      Src: /src/glib/gobject/gmarshal.c:1079,1
    - Dst: g_marshal_value_peek_flags
      Src: /src/glib/gobject/gmarshal.c:1080,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 6
    argNames:
    - closure
    - G_GNUC_UNUSED
    - n_param_values
    - param_values
    - invocation_hint
    - G_GNUC_UNUSED
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1082
      start: 1050
    functionDepth: 0
    functionLinenumber: 1050
    functionLinenumberEnd: 1082
    functionName: g_cclosure_marshal_VOID__FLAGS
    functionSourceFile: /src/glib/gobject/gmarshal.c
    functionUses: []
    functionsReached:
    - g_value_peek_pointer
    - g_return_if_fail
    - callback
    - g_marshal_value_peek_flags
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void g_cclosure_marshal_VOID__FLAGS (GClosure *closure, GValue *return_value
      G_GNUC_UNUSED, guint n_param_values, const GValue *param_values, gpointer invocation_hint
      G_GNUC_UNUSED, gpointer marshal_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gmarshal.c:1389,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:1391,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:1394,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:1398,1
    - Dst: callback
      Src: /src/glib/gobject/gmarshal.c:1403,1
    - Dst: g_marshal_value_peek_string
      Src: /src/glib/gobject/gmarshal.c:1404,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 6
    argNames:
    - closure
    - G_GNUC_UNUSED
    - n_param_values
    - param_values
    - invocation_hint
    - G_GNUC_UNUSED
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1406
      start: 1374
    functionDepth: 0
    functionLinenumber: 1374
    functionLinenumberEnd: 1406
    functionName: g_cclosure_marshal_VOID__STRING
    functionSourceFile: /src/glib/gobject/gmarshal.c
    functionUses: []
    functionsReached:
    - g_value_peek_pointer
    - g_return_if_fail
    - callback
    - g_marshal_value_peek_string
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void g_cclosure_marshal_VOID__STRING (GClosure *closure, GValue *return_value
      G_GNUC_UNUSED, guint n_param_values, const GValue *param_values, gpointer invocation_hint
      G_GNUC_UNUSED, gpointer marshal_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gmarshal.c:1501,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:1503,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:1506,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:1510,1
    - Dst: callback
      Src: /src/glib/gobject/gmarshal.c:1515,1
    - Dst: g_marshal_value_peek_param
      Src: /src/glib/gobject/gmarshal.c:1516,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 6
    argNames:
    - closure
    - G_GNUC_UNUSED
    - n_param_values
    - param_values
    - invocation_hint
    - G_GNUC_UNUSED
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1518
      start: 1486
    functionDepth: 0
    functionLinenumber: 1486
    functionLinenumberEnd: 1518
    functionName: g_cclosure_marshal_VOID__PARAM
    functionSourceFile: /src/glib/gobject/gmarshal.c
    functionUses: []
    functionsReached:
    - g_value_peek_pointer
    - g_return_if_fail
    - g_marshal_value_peek_param
    - callback
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void g_cclosure_marshal_VOID__PARAM (GClosure *closure, GValue *return_value
      G_GNUC_UNUSED, guint n_param_values, const GValue *param_values, gpointer invocation_hint
      G_GNUC_UNUSED, gpointer marshal_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/glib/gobject/gmarshal.c:1011,1
    - Dst: va_end
      Src: /src/glib/gobject/gmarshal.c:1013,1
    - Dst: va_arg
      Src: /src/glib/gobject/gmarshal.c:1012,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:1015,1
    - Dst: callback
      Src: /src/glib/gobject/gmarshal.c:1027,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 7
    argNames:
    - closure
    - return_value
    - instance
    - args
    - marshal_data
    - n_params
    - param_types
    argTypes:
    - GClosure*
    - GValue*
    - gpointer
    - va_list
    - gpointer
    - int
    - GType*
    constantsTouched: []
    func_position:
      end: 1030
      start: 993
    functionDepth: 0
    functionLinenumber: 993
    functionLinenumberEnd: 1030
    functionName: g_cclosure_marshal_VOID__ENUMv
    functionSourceFile: /src/glib/gobject/gmarshal.c
    functionUses: []
    functionsReached:
    - callback
    - va_arg
    - va_end
    - va_copy
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void g_cclosure_marshal_VOID__ENUMv (GClosure *closure, GValue *return_value,
      gpointer instance, va_list args, gpointer marshal_data, int n_params, GType
      *param_types) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/glib/gobject/gmarshal.c:1335,1
    - Dst: va_arg
      Src: /src/glib/gobject/gmarshal.c:1336,1
    - Dst: va_end
      Src: /src/glib/gobject/gmarshal.c:1337,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:1339,1
    - Dst: callback
      Src: /src/glib/gobject/gmarshal.c:1351,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 7
    argNames:
    - closure
    - return_value
    - instance
    - args
    - marshal_data
    - n_params
    - param_types
    argTypes:
    - GClosure*
    - GValue*
    - gpointer
    - va_list
    - gpointer
    - int
    - GType*
    constantsTouched: []
    func_position:
      end: 1354
      start: 1317
    functionDepth: 0
    functionLinenumber: 1317
    functionLinenumberEnd: 1354
    functionName: g_cclosure_marshal_VOID__DOUBLEv
    functionSourceFile: /src/glib/gobject/gmarshal.c
    functionUses: []
    functionsReached:
    - callback
    - va_arg
    - va_end
    - va_copy
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void g_cclosure_marshal_VOID__DOUBLEv (GClosure *closure, GValue *return_value,
      gpointer instance, va_list args, gpointer marshal_data, int n_params, GType
      *param_types) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/glib/gobject/gmarshal.c:1443,1
    - Dst: va_arg
      Src: /src/glib/gobject/gmarshal.c:1444,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:1449,1
    - Dst: va_end
      Src: /src/glib/gobject/gmarshal.c:1447,1
    - Dst: g_strdup
      Src: /src/glib/gobject/gmarshal.c:1446,1
    - Dst: callback
      Src: /src/glib/gobject/gmarshal.c:1461,1
    - Dst: g_free
      Src: /src/glib/gobject/gmarshal.c:1465,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 7
    argNames:
    - closure
    - return_value
    - instance
    - args
    - marshal_data
    - n_params
    - param_types
    argTypes:
    - GClosure*
    - GValue*
    - gpointer
    - va_list
    - gpointer
    - int
    - GType*
    constantsTouched: []
    func_position:
      end: 1466
      start: 1425
    functionDepth: 0
    functionLinenumber: 1425
    functionLinenumberEnd: 1466
    functionName: g_cclosure_marshal_VOID__STRINGv
    functionSourceFile: /src/glib/gobject/gmarshal.c
    functionUses: []
    functionsReached:
    - g_strdup
    - callback
    - g_free
    - va_arg
    - va_end
    - va_copy
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void g_cclosure_marshal_VOID__STRINGv (GClosure *closure, GValue *return_value,
      gpointer instance, va_list args, gpointer marshal_data, int n_params, GType
      *param_types) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gmarshal.c:2297,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:2303,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:2300,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:2307,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gmarshal.c:2298,1
    - Dst: callback
      Src: /src/glib/gobject/gmarshal.c:2312,1
    - Dst: g_marshal_value_peek_object
      Src: /src/glib/gobject/gmarshal.c:2313,1
    - Dst: g_marshal_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:2314,1
    - Dst: g_value_take_string
      Src: /src/glib/gobject/gmarshal.c:2317,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 6
    argNames:
    - closure
    - G_GNUC_UNUSED
    - n_param_values
    - param_values
    - invocation_hint
    - G_GNUC_UNUSED
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 2318
      start: 2280
    functionDepth: 0
    functionLinenumber: 2280
    functionLinenumberEnd: 2318
    functionName: g_cclosure_marshal_STRING__OBJECT_POINTER
    functionSourceFile: /src/glib/gobject/gmarshal.c
    functionUses: []
    functionsReached:
    - g_value_take_string
    - g_value_peek_pointer
    - g_return_if_fail
    - callback
    - g_marshal_value_peek_object
    - g_marshal_value_peek_pointer
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void g_cclosure_marshal_STRING__OBJECT_POINTER (GClosure *closure,
      GValue *return_value G_GNUC_UNUSED, guint n_param_values, const GValue *param_values,
      gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gmarshal.c:309,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:314,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gmarshal.c:318,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/gmarshal.c:311,1
    - Dst: callback
      Src: /src/glib/gobject/gmarshal.c:323,1
    - Dst: g_marshal_value_peek_char
      Src: /src/glib/gobject/gmarshal.c:324,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 6
    argNames:
    - closure
    - G_GNUC_UNUSED
    - n_param_values
    - param_values
    - invocation_hint
    - G_GNUC_UNUSED
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 326
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 326
    functionName: g_cclosure_marshal_VOID__CHAR
    functionSourceFile: /src/glib/gobject/gmarshal.c
    functionUses: []
    functionsReached:
    - g_value_peek_pointer
    - g_return_if_fail
    - callback
    - g_marshal_value_peek_char
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void g_cclosure_marshal_VOID__CHAR (GClosure *closure, GValue *return_value
      G_GNUC_UNUSED, guint n_param_values, const GValue *param_values, gpointer invocation_hint
      G_GNUC_UNUSED, gpointer marshal_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - src_value
    - dest_value
    argTypes:
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: value_copy_int64
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void value_copy_int64 (const GValue *src_value,\t\t GValue\
      \ *dest_value) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:1121,1
    - Dst: g_free
      Src: /src/glib/gobject/gvaluetypes.c:1126,1
    - Dst: G_VALUE_HOLDS_STRING
      Src: /src/glib/gobject/gvaluetypes.c:1121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - value
    - v_string
    argTypes:
    - GValue*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1128
      start: 1117
    functionDepth: 0
    functionLinenumber: 1117
    functionLinenumberEnd: 1128
    functionName: g_value_take_string
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - G_VALUE_HOLDS_STRING
    - g_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_value_take_string (GValue *value,\t\t gchar *v_string) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 156
    functionName: value_collect_int64
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: "static gchar *value_collect_int64 (GValue *value,\t\t guint n_collect_values,\t\
      \t GTypeCValue *collect_values,\t\t guint collect_flags) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:951,1
    - Dst: G_VALUE_HOLDS_UINT64
      Src: /src/glib/gobject/gvaluetypes.c:951,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 954
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 954
    functionName: g_value_get_uint64
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - G_VALUE_HOLDS_UINT64
    - g_return_val_if_fail
    linkageType: ''
    returnType: guint64
    signature: 'guint64 g_value_get_uint64 (const GValue *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:887,1
    - Dst: G_VALUE_HOLDS_ULONG
      Src: /src/glib/gobject/gvaluetypes.c:887,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 890
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 890
    functionName: g_value_get_ulong
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - G_VALUE_HOLDS_ULONG
    - g_return_val_if_fail
    linkageType: ''
    returnType: gulong
    signature: 'gulong g_value_get_ulong (const GValue *value) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:1397,1
    - Dst: g_strescape
      Src: /src/glib/gobject/gvaluetypes.c:1407,1
    - Dst: g_value_transform
      Src: /src/glib/gobject/gvaluetypes.c:1419,1
    - Dst: G_VALUE_HOLDS_ENUM
      Src: /src/glib/gobject/gvaluetypes.c:1422,1
    - Dst: G_VALUE_HOLDS
      Src: /src/glib/gobject/gvaluetypes.c:1440,1
    - Dst: g_string_new
      Src: /src/glib/gobject/gvaluetypes.c:1443,1
    - Dst: g_string_append
      Src: /src/glib/gobject/gvaluetypes.c:1456,1
    - Dst: g_string_free
      Src: /src/glib/gobject/gvaluetypes.c:1457,1
    - Dst: G_VALUE_HOLDS_POINTER
      Src: /src/glib/gobject/gvaluetypes.c:1461,1
    - Dst: g_strdup_printf
      Src: /src/glib/gobject/gvaluetypes.c:1462,1
    - Dst: g_strdup
      Src: /src/glib/gobject/gvaluetypes.c:1467,1
    - Dst: g_strdup
      Src: /src/glib/gobject/gvaluetypes.c:1464,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/gvaluetypes.c:1401,1
    - Dst: G_IS_VALUE
      Src: /src/glib/gobject/gvaluetypes.c:1397,1
    - Dst: g_free
      Src: /src/glib/gobject/gvaluetypes.c:1410,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gvaluetypes.c:1418,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gvaluetypes.c:1421,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gvaluetypes.c:1424,1
    - Dst: g_value_fits_pointer
      Src: /src/glib/gobject/gvaluetypes.c:1430,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/gvaluetypes.c:1437,1
    - Dst: G_PARAM_SPEC_TYPE_NAME
      Src: /src/glib/gobject/gvaluetypes.c:1439,1
    - Dst: g_strescape
      Src: /src/glib/gobject/gvaluetypes.c:1447,1
    - Dst: g_strdup_printf
      Src: /src/glib/gobject/gvaluetypes.c:1460,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gvaluetypes.c:1460,1
    - Dst: g_string_append
      Src: /src/glib/gobject/gvaluetypes.c:1453,1
    - Dst: G_VALUE_HOLDS_STRING
      Src: /src/glib/gobject/gvaluetypes.c:1399,1
    - Dst: g_strdup
      Src: /src/glib/gobject/gvaluetypes.c:1404,1
    - Dst: g_strdup_printf
      Src: /src/glib/gobject/gvaluetypes.c:1409,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gvaluetypes.c:1413,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/gvaluetypes.c:1420,1
    - Dst: G_VALUE_HOLDS_FLAGS
      Src: /src/glib/gobject/gvaluetypes.c:1422,1
    - Dst: g_strdup
      Src: /src/glib/gobject/gvaluetypes.c:1427,1
    - Dst: G_VALUE_HOLDS_OBJECT
      Src: /src/glib/gobject/gvaluetypes.c:1436,1
    - Dst: G_VALUE_HOLDS_PARAM
      Src: /src/glib/gobject/gvaluetypes.c:1438,1
    - Dst: g_string_append_printf
      Src: /src/glib/gobject/gvaluetypes.c:1449,1
    - Dst: G_VALUE_HOLDS_BOXED
      Src: /src/glib/gobject/gvaluetypes.c:1459,1
    - Dst: g_value_type_transformable
      Src: /src/glib/gobject/gvaluetypes.c:1413,1
    - Dst: g_strescape
      Src: /src/glib/gobject/gvaluetypes.c:1420,1
    - Dst: g_strdup_printf
      Src: /src/glib/gobject/gvaluetypes.c:1423,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gvaluetypes.c:1424,1
    - Dst: g_free
      Src: /src/glib/gobject/gvaluetypes.c:1428,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gvaluetypes.c:1432,1
    - Dst: g_strdup
      Src: /src/glib/gobject/gvaluetypes.c:1435,1
    - Dst: g_strdup_printf
      Src: /src/glib/gobject/gvaluetypes.c:1437,1
    - Dst: g_strdup_printf
      Src: /src/glib/gobject/gvaluetypes.c:1439,1
    - Dst: g_value_get_boxed
      Src: /src/glib/gobject/gvaluetypes.c:1442,1
    - Dst: g_free
      Src: /src/glib/gobject/gvaluetypes.c:1450,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gvaluetypes.c:1460,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 74
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1391
    functionDepth: 0
    functionLinenumber: 1391
    functionLinenumberEnd: 1470
    functionName: g_strdup_value_contents
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_value_fits_pointer
    - G_VALUE_HOLDS_BOXED
    - G_VALUE_HOLDS_STRING
    - g_value_type_transformable
    - g_value_transform
    - G_VALUE_TYPE
    - G_VALUE_HOLDS_ENUM
    - G_VALUE_HOLDS_OBJECT
    - g_strdup
    - G_OBJECT_TYPE_NAME
    - G_VALUE_HOLDS_POINTER
    - g_value_init
    - G_VALUE_HOLDS_FLAGS
    - G_PARAM_SPEC_TYPE_NAME
    - g_string_new
    - g_string_append_printf
    - g_string_append
    - G_VALUE_HOLDS_PARAM
    - g_return_val_if_fail
    - G_VALUE_HOLDS
    - g_value_peek_pointer
    - g_value_get_string
    - G_IS_VALUE
    - g_value_get_boxed
    - g_string_free
    - g_strescape
    - g_value_unset
    - g_free
    - g_type_name
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_strdup_value_contents (const GValue *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:935,1
    - Dst: G_VALUE_HOLDS_UINT64
      Src: /src/glib/gobject/gvaluetypes.c:935,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - value
    - v_uint64
    argTypes:
    - GValue*
    - guint64
    constantsTouched: []
    func_position:
      end: 938
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 938
    functionName: g_value_set_uint64
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - G_VALUE_HOLDS_UINT64
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_value_set_uint64 (GValue *value,\t\t guint64 v_uint64) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:871,1
    - Dst: G_VALUE_HOLDS_ULONG
      Src: /src/glib/gobject/gvaluetypes.c:871,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - value
    - v_ulong
    argTypes:
    - GValue*
    - gulong
    constantsTouched: []
    func_position:
      end: 874
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 874
    functionName: g_value_set_ulong
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - G_VALUE_HOLDS_ULONG
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_value_set_ulong (GValue *value,\t\t gulong v_ulong) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:1371,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gobject/gvaluetypes.c:1375,1
    - Dst: G_VALUE_HOLDS_VARIANT
      Src: /src/glib/gobject/gvaluetypes.c:1371,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1378
      start: 1366
    functionDepth: 0
    functionLinenumber: 1366
    functionLinenumberEnd: 1378
    functionName: g_value_dup_variant
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - G_VALUE_HOLDS_VARIANT
    - g_return_val_if_fail
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_value_dup_variant (const GValue *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_ref_sink
      Src: /src/glib/gobject/gvaluetypes.c:378,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - src_value
    - dest_value
    argTypes:
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 381
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 381
    functionName: value_copy_variant
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    linkageType: ''
    returnType: void
    signature: "static void value_copy_variant (const GValue *src_value,\t\t GValue\t\
      *dest_value) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_ref_sink
      Src: /src/glib/gobject/gvaluetypes.c:393,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 396
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 396
    functionName: value_collect_variant
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    linkageType: ''
    returnType: gchar*
    signature: "static gchar *value_collect_variant (GValue\t *value,\t\t guint n_collect_values,\t\
      \t GTypeCValue *collect_values,\t\t guint collect_flags) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:727,1
    - Dst: G_VALUE_HOLDS_UCHAR
      Src: /src/glib/gobject/gvaluetypes.c:727,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 730
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 730
    functionName: g_value_get_uchar
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - G_VALUE_HOLDS_UCHAR
    - g_return_val_if_fail
    linkageType: ''
    returnType: guchar
    signature: 'guchar g_value_get_uchar (const GValue *value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:1284,1
    - Dst: G_VALUE_HOLDS_VARIANT
      Src: /src/glib/gobject/gvaluetypes.c:1284,1
    - Dst: g_variant_unref
      Src: /src/glib/gobject/gvaluetypes.c:1294,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gobject/gvaluetypes.c:1289,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - value
    - variant
    argTypes:
    - GValue*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 1295
      start: 1278
    functionDepth: 0
    functionLinenumber: 1278
    functionLinenumberEnd: 1295
    functionName: g_value_set_variant
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - G_VALUE_HOLDS_VARIANT
    - g_variant_unref
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_value_set_variant (GValue *value, GVariant *variant) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:711,1
    - Dst: G_VALUE_HOLDS_UCHAR
      Src: /src/glib/gobject/gvaluetypes.c:711,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - value
    - v_uchar
    argTypes:
    - GValue*
    - guchar
    constantsTouched: []
    func_position:
      end: 714
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 714
    functionName: g_value_set_uchar
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - G_VALUE_HOLDS_UCHAR
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_value_set_uchar (GValue *value,\t\t guchar v_uchar) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:791,1
    - Dst: G_VALUE_HOLDS_INT
      Src: /src/glib/gobject/gvaluetypes.c:791,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 794
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 794
    functionName: g_value_get_int
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_VALUE_HOLDS_INT
    linkageType: ''
    returnType: gint
    signature: 'gint g_value_get_int (const GValue *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:1263,1
    - Dst: G_VALUE_HOLDS_GTYPE
      Src: /src/glib/gobject/gvaluetypes.c:1263,1
    - Dst: GPOINTER_TO_TYPE
      Src: /src/glib/gobject/gvaluetypes.c:1265,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 1266
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1266
    functionName: g_value_get_gtype
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - GPOINTER_TO_TYPE
    - G_VALUE_HOLDS_GTYPE
    linkageType: ''
    returnType: GType
    signature: 'GType g_value_get_gtype (const GValue *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:775,1
    - Dst: G_VALUE_HOLDS_INT
      Src: /src/glib/gobject/gvaluetypes.c:775,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - value
    - v_int
    argTypes:
    - GValue*
    - gint
    constantsTouched: []
    func_position:
      end: 778
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 778
    functionName: g_value_set_int
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - G_VALUE_HOLDS_INT
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_value_set_int (GValue *value,\t\t gint\t v_int) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 337
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 337
    functionName: value_peek_pointer0
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer value_peek_pointer0 (const GValue *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 348
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 348
    functionName: value_collect_pointer
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: "static gchar *value_collect_pointer (GValue *value,\t\t guint n_collect_values,\t\
      \t GTypeCValue *collect_values,\t\t guint collect_flags) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:1015,1
    - Dst: G_VALUE_HOLDS_DOUBLE
      Src: /src/glib/gobject/gvaluetypes.c:1015,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 1018
      start: 1012
    functionDepth: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1018
    functionName: g_value_get_double
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - G_VALUE_HOLDS_DOUBLE
    - g_return_val_if_fail
    linkageType: ''
    returnType: gdouble
    signature: 'gdouble g_value_get_double (const GValue *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:75,1
    - Dst: g_strdup_printf
      Src: /src/glib/gobject/gvaluetypes.c:75,1
    - Dst: G_VALUE_TYPE_NAME
      Src: /src/glib/gobject/gvaluetypes.c:75,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 80
    functionName: value_lcopy_boolean
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - G_VALUE_TYPE_NAME
    - g_return_val_if_fail
    - g_strdup_printf
    linkageType: ''
    returnType: gchar*
    signature: "static gchar *value_lcopy_boolean (const GValue *value,\t\t guint\
      \ n_collect_values,\t\t GTypeCValue *collect_values,\t\t guint collect_flags) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:245,1
    - Dst: g_strdup_printf
      Src: /src/glib/gobject/gvaluetypes.c:245,1
    - Dst: G_VALUE_TYPE_NAME
      Src: /src/glib/gobject/gvaluetypes.c:245,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 250
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 250
    functionName: value_lcopy_double
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - G_VALUE_TYPE_NAME
    - g_return_val_if_fail
    - g_strdup_printf
    linkageType: ''
    returnType: gchar*
    signature: "static gchar *value_lcopy_double (const GValue *value,\t\t guint n_collect_values,\t\
      \t GTypeCValue *collect_values,\t\t guint collect_flags) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gobject/gvaluetypes.c:262,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 263
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 263
    functionName: value_free_string
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void value_free_string (GValue *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 324
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 324
    functionName: value_init_pointer
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void value_init_pointer (GValue *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:1186,1
    - Dst: g_strdup
      Src: /src/glib/gobject/gvaluetypes.c:1192,1
    - Dst: G_VALUE_HOLDS_STRING
      Src: /src/glib/gobject/gvaluetypes.c:1186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1181
    functionDepth: 0
    functionLinenumber: 1181
    functionLinenumberEnd: 1195
    functionName: g_value_steal_string
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_strdup
    - G_VALUE_HOLDS_STRING
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_value_steal_string (GValue *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:999,1
    - Dst: G_VALUE_HOLDS_DOUBLE
      Src: /src/glib/gobject/gvaluetypes.c:999,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - value
    - v_double
    argTypes:
    - GValue*
    - gdouble
    constantsTouched: []
    func_position:
      end: 1002
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 1002
    functionName: g_value_set_double
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - G_VALUE_HOLDS_DOUBLE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_value_set_double (GValue *value,\t\t gdouble v_double) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 91
    functionName: value_collect_int
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: "static gchar *value_collect_int (GValue *value,\t\t guint n_collect_values,\t\
      \t GTypeCValue *collect_values,\t\t guint collect_flags) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 256
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 256
    functionName: value_init_string
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void value_init_string (GValue *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gobject/gvaluetypes.c:276,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - src_value
    - dest_value
    argTypes:
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 279
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 279
    functionName: value_copy_string
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - g_strdup
    linkageType: ''
    returnType: void
    signature: "static void value_copy_string (const GValue *src_value,\t\t GValue\t\
      *dest_value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - src_value
    - dest_value
    argTypes:
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 331
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 331
    functionName: value_copy_pointer
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void value_copy_pointer (const GValue *src_value,\t\t GValue\
      \ *dest_value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:1157,1
    - Dst: G_VALUE_HOLDS_STRING
      Src: /src/glib/gobject/gvaluetypes.c:1157,1
    - Dst: g_strdup
      Src: /src/glib/gobject/gvaluetypes.c:1159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1160
    functionName: g_value_dup_string
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_strdup
    - G_VALUE_HOLDS_STRING
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_value_dup_string (const GValue *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:127,1
    - Dst: G_VALUE_TYPE_NAME
      Src: /src/glib/gobject/gvaluetypes.c:127,1
    - Dst: g_strdup_printf
      Src: /src/glib/gobject/gvaluetypes.c:127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 132
    functionName: value_lcopy_long
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - G_VALUE_TYPE_NAME
    - g_return_val_if_fail
    - g_strdup_printf
    linkageType: ''
    returnType: gchar*
    signature: "static gchar *value_lcopy_long (const GValue *value,\t\t guint n_collect_values,\t\
      \t GTypeCValue *collect_values,\t\t guint collect_flags) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: value_init_int64
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void value_init_int64 (GValue *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:919,1
    - Dst: G_VALUE_HOLDS_INT64
      Src: /src/glib/gobject/gvaluetypes.c:919,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 922
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 922
    functionName: g_value_get_int64
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_VALUE_HOLDS_INT64
    linkageType: ''
    returnType: gint64
    signature: 'gint64 g_value_get_int64 (const GValue *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_take_string
      Src: /src/glib/gobject/gvaluetypes.c:1105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - value
    - v_string
    argTypes:
    - GValue*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1106
      start: 1101
    functionDepth: 0
    functionLinenumber: 1101
    functionLinenumberEnd: 1106
    functionName: g_value_set_string_take_ownership
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - g_value_take_string
    linkageType: ''
    returnType: void
    signature: "void g_value_set_string_take_ownership (GValue *value,\t\t\t\t gchar\
      \ *v_string) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:904,1
    - Dst: G_VALUE_HOLDS_INT64
      Src: /src/glib/gobject/gvaluetypes.c:904,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - value
    - v_int64
    argTypes:
    - GValue*
    - gint64
    constantsTouched: []
    func_position:
      end: 907
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 907
    functionName: g_value_set_int64
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - G_VALUE_HOLDS_INT64
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_value_set_int64 (GValue *value,\t\t gint64 v_int64) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:1084,1
    - Dst: G_VALUE_HOLDS_STRING
      Src: /src/glib/gobject/gvaluetypes.c:1084,1
    - Dst: g_free
      Src: /src/glib/gobject/gvaluetypes.c:1087,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - value
    - v_string
    argTypes:
    - GValue*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1090
      start: 1080
    functionDepth: 0
    functionLinenumber: 1080
    functionLinenumberEnd: 1090
    functionName: g_value_set_interned_string
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - G_VALUE_HOLDS_STRING
    - g_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_value_set_interned_string (GValue *value, const gchar *v_string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:101,1
    - Dst: g_strdup_printf
      Src: /src/glib/gobject/gvaluetypes.c:101,1
    - Dst: G_VALUE_TYPE_NAME
      Src: /src/glib/gobject/gvaluetypes.c:101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 106
    functionName: value_lcopy_int
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - G_VALUE_TYPE_NAME
    - g_return_val_if_fail
    - g_strdup_printf
    linkageType: ''
    returnType: gchar*
    signature: "static gchar *value_lcopy_int (const GValue *value,\t\t guint n_collect_values,\t\
      \t GTypeCValue *collect_values,\t\t guint collect_flags) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - src_value
    - dest_value
    argTypes:
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 224
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 224
    functionName: value_copy_double
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void value_copy_double (const GValue *src_value,\t\t GValue\t\
      *dest_value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:855,1
    - Dst: G_VALUE_HOLDS_LONG
      Src: /src/glib/gobject/gvaluetypes.c:855,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 858
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 858
    functionName: g_value_get_long
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_VALUE_HOLDS_LONG
    linkageType: ''
    returnType: glong
    signature: 'glong g_value_get_long (const GValue *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 117
    functionName: value_collect_long
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: "static gchar *value_collect_long (GValue *value,\t\t guint n_collect_values,\t\
      \t GTypeCValue *collect_values,\t\t guint collect_flags) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 235
    functionName: value_collect_double
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: "static gchar *value_collect_double (GValue\t *value,\t\t guint n_collect_values,\t\
      \t GTypeCValue *collect_values,\t\t guint collect_flags) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:839,1
    - Dst: G_VALUE_HOLDS_LONG
      Src: /src/glib/gobject/gvaluetypes.c:839,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - value
    - v_long
    argTypes:
    - GValue*
    - glong
    constantsTouched: []
    func_position:
      end: 842
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 842
    functionName: g_value_set_long
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - G_VALUE_HOLDS_LONG
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_value_set_long (GValue *value,\t\t glong\t v_long) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:1349,1
    - Dst: G_VALUE_HOLDS_VARIANT
      Src: /src/glib/gobject/gvaluetypes.c:1349,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1352
      start: 1346
    functionDepth: 0
    functionLinenumber: 1346
    functionLinenumberEnd: 1352
    functionName: g_value_get_variant
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - G_VALUE_HOLDS_VARIANT
    - g_return_val_if_fail
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_value_get_variant (const GValue *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:695,1
    - Dst: G_VALUE_HOLDS_CHAR
      Src: /src/glib/gobject/gvaluetypes.c:695,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 698
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 698
    functionName: g_value_get_schar
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_VALUE_HOLDS_CHAR
    linkageType: ''
    returnType: gint8
    signature: 'gint8 g_value_get_schar (const GValue *value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:1323,1
    - Dst: g_variant_take_ref
      Src: /src/glib/gobject/gvaluetypes.c:1328,1
    - Dst: g_variant_unref
      Src: /src/glib/gobject/gvaluetypes.c:1333,1
    - Dst: G_VALUE_HOLDS_VARIANT
      Src: /src/glib/gobject/gvaluetypes.c:1323,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - value
    - variant
    argTypes:
    - GValue*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 1334
      start: 1317
    functionDepth: 0
    functionLinenumber: 1317
    functionLinenumberEnd: 1334
    functionName: g_value_take_variant
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - G_VALUE_HOLDS_VARIANT
    - g_variant_take_ref
    - g_variant_unref
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_value_take_variant (GValue *value, GVariant *variant) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - src_value
    - dest_value
    argTypes:
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: value_copy_long0
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void value_copy_long0 (const GValue *src_value,\t\t GValue\
      \ *dest_value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:678,1
    - Dst: G_VALUE_HOLDS_CHAR
      Src: /src/glib/gobject/gvaluetypes.c:678,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - value
    - v_char
    argTypes:
    - GValue*
    - gint8
    constantsTouched: []
    func_position:
      end: 681
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 681
    functionName: g_value_set_schar
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - G_VALUE_HOLDS_CHAR
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_value_set_schar (GValue *value,\t\t gint8 v_char) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:759,1
    - Dst: G_VALUE_HOLDS_BOOLEAN
      Src: /src/glib/gobject/gvaluetypes.c:759,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 762
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 762
    functionName: g_value_get_boolean
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_VALUE_HOLDS_BOOLEAN
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_value_get_boolean (const GValue *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:60,1
    - Dst: g_strdup_printf
      Src: /src/glib/gobject/gvaluetypes.c:60,1
    - Dst: G_VALUE_TYPE_NAME
      Src: /src/glib/gobject/gvaluetypes.c:60,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 65
    functionName: value_lcopy_char
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - G_VALUE_TYPE_NAME
    - g_return_val_if_fail
    - g_strdup_printf
    linkageType: ''
    returnType: gchar*
    signature: "static gchar *value_lcopy_char (const GValue *value,\t\t guint n_collect_values,\t\
      \t GTypeCValue *collect_values,\t\t guint collect_flags) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:743,1
    - Dst: G_VALUE_HOLDS_BOOLEAN
      Src: /src/glib/gobject/gvaluetypes.c:743,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - value
    - v_boolean
    argTypes:
    - GValue*
    - gboolean
    constantsTouched: []
    func_position:
      end: 746
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 746
    functionName: g_value_set_boolean
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - G_VALUE_HOLDS_BOOLEAN
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_value_set_boolean (GValue *value,\t\t gboolean v_boolean) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gobject/gvaluetypes.c:295,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 298
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 298
    functionName: value_collect_string
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - g_strdup
    linkageType: ''
    returnType: gchar*
    signature: "static gchar *value_collect_string (GValue\t *value,\t\t guint n_collect_values,\t\
      \t GTypeCValue *collect_values,\t\t guint collect_flags) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:358,1
    - Dst: G_VALUE_TYPE_NAME
      Src: /src/glib/gobject/gvaluetypes.c:358,1
    - Dst: g_strdup_printf
      Src: /src/glib/gobject/gvaluetypes.c:358,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 363
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 363
    functionName: value_lcopy_pointer
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - G_VALUE_TYPE_NAME
    - g_return_val_if_fail
    - g_strdup_printf
    linkageType: ''
    returnType: gchar*
    signature: "static gchar *value_lcopy_pointer (const GValue *value,\t\t guint\
      \ n_collect_values,\t\t GTypeCValue *collect_values,\t\t guint collect_flags) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:308,1
    - Dst: g_strdup
      Src: /src/glib/gobject/gvaluetypes.c:315,1
    - Dst: g_strdup_printf
      Src: /src/glib/gobject/gvaluetypes.c:308,1
    - Dst: G_VALUE_TYPE_NAME
      Src: /src/glib/gobject/gvaluetypes.c:308,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 318
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 318
    functionName: value_lcopy_string
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - G_VALUE_TYPE_NAME
    - g_return_val_if_fail
    - g_strdup_printf
    - g_strdup
    linkageType: ''
    returnType: gchar*
    signature: "static gchar *value_lcopy_string (const GValue *value,\t\t guint n_collect_values,\t\
      \t GTypeCValue *collect_values,\t\t guint collect_flags) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_unref
      Src: /src/glib/gobject/gvaluetypes.c:370,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 371
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 371
    functionName: value_free_variant
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - g_variant_unref
    linkageType: ''
    returnType: void
    signature: 'static void value_free_variant (GValue *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:983,1
    - Dst: G_VALUE_HOLDS_FLOAT
      Src: /src/glib/gobject/gvaluetypes.c:983,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 986
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 986
    functionName: g_value_get_float
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - G_VALUE_HOLDS_FLOAT
    - g_return_val_if_fail
    linkageType: ''
    returnType: gfloat
    signature: 'gfloat g_value_get_float (const GValue *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:967,1
    - Dst: G_VALUE_HOLDS_FLOAT
      Src: /src/glib/gobject/gvaluetypes.c:967,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - value
    - v_float
    argTypes:
    - GValue*
    - gfloat
    constantsTouched: []
    func_position:
      end: 970
      start: 963
    functionDepth: 0
    functionLinenumber: 963
    functionLinenumberEnd: 970
    functionName: g_value_set_float
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - G_VALUE_HOLDS_FLOAT
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_value_set_float (GValue *value,\t\t gfloat v_float) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:1061,1
    - Dst: G_VALUE_HOLDS_STRING
      Src: /src/glib/gobject/gvaluetypes.c:1061,1
    - Dst: g_free
      Src: /src/glib/gobject/gvaluetypes.c:1064,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - value
    - v_string
    argTypes:
    - GValue*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1067
      start: 1057
    functionDepth: 0
    functionLinenumber: 1057
    functionLinenumberEnd: 1067
    functionName: g_value_set_static_string
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - G_VALUE_HOLDS_STRING
    - g_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_value_set_static_string (GValue *value,\t\t\t const gchar *v_string) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:1033,1
    - Dst: g_strdup
      Src: /src/glib/gobject/gvaluetypes.c:1035,1
    - Dst: g_free
      Src: /src/glib/gobject/gvaluetypes.c:1040,1
    - Dst: G_VALUE_HOLDS_STRING
      Src: /src/glib/gobject/gvaluetypes.c:1033,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - value
    - v_string
    argTypes:
    - GValue*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1043
      start: 1027
    functionDepth: 0
    functionLinenumber: 1027
    functionLinenumberEnd: 1043
    functionName: g_value_set_string
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - G_VALUE_HOLDS_STRING
    - g_strdup
    - g_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_value_set_string (GValue\t*value,\t\t const gchar *v_string) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: value_init_long0
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void value_init_long0 (GValue *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/gvaluetypes.c:512,1
    - Dst: g_assert
      Src: /src/glib/gobject/gvaluetypes.c:550,1
    - Dst: g_type_register_fundamental
      Src: /src/glib/gobject/gvaluetypes.c:585,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gvaluetypes.c:585,1
    - Dst: g_assert
      Src: /src/glib/gobject/gvaluetypes.c:604,1
    - Dst: g_assert
      Src: /src/glib/gobject/gvaluetypes.c:532,1
    - Dst: g_assert
      Src: /src/glib/gobject/gvaluetypes.c:622,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gvaluetypes.c:531,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gvaluetypes.c:621,1
    - Dst: g_type_register_fundamental
      Src: /src/glib/gobject/gvaluetypes.c:489,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gvaluetypes.c:491,1
    - Dst: g_type_register_fundamental
      Src: /src/glib/gobject/gvaluetypes.c:509,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gvaluetypes.c:509,1
    - Dst: g_type_register_fundamental
      Src: /src/glib/gobject/gvaluetypes.c:491,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gvaluetypes.c:489,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gvaluetypes.c:511,1
    - Dst: g_type_register_fundamental
      Src: /src/glib/gobject/gvaluetypes.c:529,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gvaluetypes.c:529,1
    - Dst: g_type_register_fundamental
      Src: /src/glib/gobject/gvaluetypes.c:531,1
    - Dst: g_type_register_fundamental
      Src: /src/glib/gobject/gvaluetypes.c:511,1
    - Dst: g_type_register_fundamental
      Src: /src/glib/gobject/gvaluetypes.c:549,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gvaluetypes.c:549,1
    - Dst: g_assert
      Src: /src/glib/gobject/gvaluetypes.c:586,1
    - Dst: g_type_register_fundamental
      Src: /src/glib/gobject/gvaluetypes.c:603,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gvaluetypes.c:603,1
    - Dst: g_type_register_fundamental
      Src: /src/glib/gobject/gvaluetypes.c:567,1
    - Dst: g_type_register_fundamental
      Src: /src/glib/gobject/gvaluetypes.c:451,1
    - Dst: g_type_register_fundamental
      Src: /src/glib/gobject/gvaluetypes.c:453,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gvaluetypes.c:451,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gvaluetypes.c:453,1
    - Dst: g_assert
      Src: /src/glib/gobject/gvaluetypes.c:452,1
    - Dst: g_assert
      Src: /src/glib/gobject/gvaluetypes.c:454,1
    - Dst: g_type_register_fundamental
      Src: /src/glib/gobject/gvaluetypes.c:471,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gvaluetypes.c:471,1
    - Dst: g_assert
      Src: /src/glib/gobject/gvaluetypes.c:472,1
    - Dst: g_assert
      Src: /src/glib/gobject/gvaluetypes.c:492,1
    - Dst: g_assert
      Src: /src/glib/gobject/gvaluetypes.c:530,1
    - Dst: g_type_register_fundamental
      Src: /src/glib/gobject/gvaluetypes.c:621,1
    - Dst: g_assert
      Src: /src/glib/gobject/gvaluetypes.c:568,1
    - Dst: g_assert
      Src: /src/glib/gobject/gvaluetypes.c:510,1
    - Dst: g_assert
      Src: /src/glib/gobject/gvaluetypes.c:490,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/gvaluetypes.c:567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 91
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 624
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 624
    functionName: _g_value_types_init
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_intern_static_string
    - g_type_register_fundamental
    linkageType: ''
    returnType: void
    signature: 'void _g_value_types_init (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:406,1
    - Dst: G_VALUE_TYPE_NAME
      Src: /src/glib/gobject/gvaluetypes.c:406,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gobject/gvaluetypes.c:413,1
    - Dst: g_strdup_printf
      Src: /src/glib/gobject/gvaluetypes.c:406,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 416
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 416
    functionName: value_lcopy_variant
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - G_VALUE_TYPE_NAME
    - g_return_val_if_fail
    - g_strdup_printf
    linkageType: ''
    returnType: gchar*
    signature: "static gchar *value_lcopy_variant (const GValue *value,\t\t guint\
      \ n_collect_values,\t\t GTypeCValue *collect_values,\t\t guint collect_flags) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:1498,1
    - Dst: g_type_from_name
      Src: /src/glib/gobject/gvaluetypes.c:1499,1
    - Dst: g_type_register_static
      Src: /src/glib/gobject/gvaluetypes.c:1501,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:1499,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1504
      start: 1481
    functionDepth: 0
    functionLinenumber: 1481
    functionLinenumberEnd: 1504
    functionName: g_pointer_type_register_static
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - g_type_register_static
    - g_return_val_if_fail
    - g_type_from_name
    linkageType: ''
    returnType: GType
    signature: 'GType g_pointer_type_register_static (const gchar *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:823,1
    - Dst: G_VALUE_HOLDS_UINT
      Src: /src/glib/gobject/gvaluetypes.c:823,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 826
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 826
    functionName: g_value_get_uint
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_VALUE_HOLDS_UINT
    linkageType: ''
    returnType: guint
    signature: 'guint g_value_get_uint (const GValue *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:1244,1
    - Dst: G_VALUE_HOLDS_GTYPE
      Src: /src/glib/gobject/gvaluetypes.c:1244,1
    - Dst: GTYPE_TO_POINTER
      Src: /src/glib/gobject/gvaluetypes.c:1246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - value
    - v_gtype
    argTypes:
    - GValue*
    - GType
    constantsTouched: []
    func_position:
      end: 1248
      start: 1240
    functionDepth: 0
    functionLinenumber: 1240
    functionLinenumberEnd: 1248
    functionName: g_value_set_gtype
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - GTYPE_TO_POINTER
    - G_VALUE_HOLDS_GTYPE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_value_set_gtype (GValue *value,\t\t GType v_gtype) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:807,1
    - Dst: G_VALUE_HOLDS_UINT
      Src: /src/glib/gobject/gvaluetypes.c:807,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - value
    - v_uint
    argTypes:
    - GValue*
    - guint
    constantsTouched: []
    func_position:
      end: 810
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 810
    functionName: g_value_set_uint
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - G_VALUE_HOLDS_UINT
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_value_set_uint (GValue *value,\t\t guint\t v_uint) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - src_value
    - dest_value
    argTypes:
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: value_copy_float
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void value_copy_float (const GValue *src_value,\t\t GValue\
      \ *dest_value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 196
    functionName: value_collect_float
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: "static gchar *value_collect_float (GValue *value,\t\t guint n_collect_values,\t\
      \t GTypeCValue *collect_values,\t\t guint collect_flags) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:660,1
    - Dst: G_VALUE_HOLDS_CHAR
      Src: /src/glib/gobject/gvaluetypes.c:660,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 663
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 663
    functionName: g_value_get_char
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_VALUE_HOLDS_CHAR
    linkageType: ''
    returnType: gchar
    signature: 'gchar g_value_get_char (const GValue *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:1224,1
    - Dst: G_VALUE_HOLDS_POINTER
      Src: /src/glib/gobject/gvaluetypes.c:1224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 1227
      start: 1221
    functionDepth: 0
    functionLinenumber: 1221
    functionLinenumberEnd: 1227
    functionName: g_value_get_pointer
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_VALUE_HOLDS_POINTER
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_value_get_pointer (const GValue *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:166,1
    - Dst: g_strdup_printf
      Src: /src/glib/gobject/gvaluetypes.c:166,1
    - Dst: G_VALUE_TYPE_NAME
      Src: /src/glib/gobject/gvaluetypes.c:166,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 171
    functionName: value_lcopy_int64
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - G_VALUE_TYPE_NAME
    - g_return_val_if_fail
    - g_strdup_printf
    linkageType: ''
    returnType: gchar*
    signature: "static gchar *value_lcopy_int64 (const GValue *value,\t\t guint n_collect_values,\t\
      \t GTypeCValue *collect_values,\t\t guint collect_flags) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:206,1
    - Dst: g_strdup_printf
      Src: /src/glib/gobject/gvaluetypes.c:206,1
    - Dst: G_VALUE_TYPE_NAME
      Src: /src/glib/gobject/gvaluetypes.c:206,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 211
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 211
    functionName: value_lcopy_float
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - G_VALUE_TYPE_NAME
    - g_return_val_if_fail
    - g_strdup_printf
    linkageType: ''
    returnType: gchar*
    signature: "static gchar *value_lcopy_float (const GValue *value,\t\t guint n_collect_values,\t\
      \t GTypeCValue *collect_values,\t\t guint collect_flags) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:640,1
    - Dst: G_VALUE_HOLDS_CHAR
      Src: /src/glib/gobject/gvaluetypes.c:640,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - value
    - v_char
    argTypes:
    - GValue*
    - gchar
    constantsTouched: []
    func_position:
      end: 643
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 643
    functionName: g_value_set_char
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - G_VALUE_HOLDS_CHAR
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_value_set_char (GValue *value,\t\t gchar\t v_char) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: value_init_float
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void value_init_float (GValue *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 217
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 217
    functionName: value_init_double
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void value_init_double (GValue *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:1141,1
    - Dst: G_VALUE_HOLDS_STRING
      Src: /src/glib/gobject/gvaluetypes.c:1141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1138
    functionDepth: 0
    functionLinenumber: 1138
    functionLinenumberEnd: 1144
    functionName: g_value_get_string
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_VALUE_HOLDS_STRING
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_value_get_string (const GValue *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvaluetypes.c:1208,1
    - Dst: G_VALUE_HOLDS_POINTER
      Src: /src/glib/gobject/gvaluetypes.c:1208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - value
    - v_pointer
    argTypes:
    - GValue*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1211
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1211
    functionName: g_value_set_pointer
    functionSourceFile: /src/glib/gobject/gvaluetypes.c
    functionUses: []
    functionsReached:
    - G_VALUE_HOLDS_POINTER
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_value_set_pointer (GValue *value,\t\t gpointer v_pointer) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1738,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1740,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1742,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1744,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1746,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1748,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1750,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1739,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1741,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1743,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1745,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1747,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1749,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1751,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1752,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 0
    argNames:
    - c_marshaller
    - == NULL
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1767
      start: 1736
    functionDepth: 0
    functionLinenumber: 1736
    functionLinenumberEnd: 1767
    functionName: ADD_CHECK
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - ADD_CHECK
    linkageType: ''
    returnType: ADD_CHECK (BOOLEAN)
    signature: 'ADD_CHECK (BOOLEAN) ADD_CHECK (CHAR) ADD_CHECK (UCHAR) ADD_CHECK (INT)
      ADD_CHECK (UINT) ADD_CHECK (LONG) ADD_CHECK (ULONG) ADD_CHECK (ENUM) ADD_CHECK
      (FLAGS) ADD_CHECK (FLOAT) ADD_CHECK (DOUBLE) ADD_CHECK (STRING) ADD_CHECK (PARAM)
      ADD_CHECK (BOXED) ADD_CHECK (POINTER) ADD_CHECK (OBJECT) ADD_CHECK (VARIANT)
      } if (c_marshaller == NULL) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2396,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2397,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2396,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2401,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gsignal.c:2409,1
    - Dst: g_closure_ref
      Src: /src/glib/gobject/gsignal.c:2421,1
    - Dst: G_TYPE_IS_OBJECT
      Src: /src/glib/gobject/gsignal.c:2416,1
    - Dst: g_closure_set_marshal
      Src: /src/glib/gobject/gsignal.c:2427,1
    - Dst: _g_closure_set_va_marshal
      Src: /src/glib/gobject/gsignal.c:2429,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:2405,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2408,1
    - Dst: g_closure_sink
      Src: /src/glib/gobject/gsignal.c:2422,1
    - Dst: _g_object_set_has_signal_handler
      Src: /src/glib/gobject/gsignal.c:2417,1
    - Dst: G_CLOSURE_NEEDS_MARSHAL
      Src: /src/glib/gobject/gsignal.c:2425,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2398,1
    - Dst: signal_parse_name
      Src: /src/glib/gobject/gsignal.c:2402,1
    - Dst: handler_new
      Src: /src/glib/gobject/gsignal.c:2414,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2436,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2400,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gsignal.c:2411,1
    - Dst: handler_insert
      Src: /src/glib/gobject/gsignal.c:2424,1
    - Dst: add_invalid_closure_notify
      Src: /src/glib/gobject/gsignal.c:2423,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2410,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2434,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gsignal.c:2435,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 4
    argNames:
    - instance
    - detailed_signal
    - closure
    - after
    argTypes:
    - gpointer
    - gchar*
    - GClosure*
    - gboolean
    constantsTouched: []
    func_position:
      end: 2439
      start: 2385
    functionDepth: 0
    functionLinenumber: 2385
    functionLinenumberEnd: 2439
    functionName: g_signal_connect_closure
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - handler_new
    - g_type_is_a
    - SIGNAL_UNLOCK
    - _g_closure_set_va_marshal
    - add_invalid_closure_notify
    - LOOKUP_SIGNAL_NODE
    - g_closure_ref
    - handler_insert
    - G_TYPE_IS_OBJECT
    - G_TYPE_CHECK_INSTANCE
    - signal_parse_name
    - g_closure_sink
    - g_closure_set_marshal
    - g_return_val_if_fail
    - G_TYPE_FROM_INSTANCE
    - _g_object_set_has_signal_handler
    - g_critical
    - G_CLOSURE_NEEDS_MARSHAL
    - SIGNAL_LOCK
    - g_type_name
    linkageType: ''
    returnType: gulong
    signature: "gulong g_signal_connect_closure (gpointer instance,\t\t\t const gchar\
      \ *detailed_signal,\t\t\t GClosure *closure,\t\t\t gboolean after) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gsignal.c:2446,1
    - Dst: g_getenv
      Src: /src/glib/gobject/gsignal.c:2448,1
    - Dst: type_debug_name
      Src: /src/glib/gobject/gsignal.c:2459,1
    - Dst: g_warning
      Src: /src/glib/gobject/gsignal.c:2457,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - node
    argTypes:
    - SignalNode*
    constantsTouched: []
    func_position:
      end: 2462
      start: 2441
    functionDepth: 0
    functionLinenumber: 2441
    functionLinenumberEnd: 2462
    functionName: node_check_deprecated
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_getenv
    - type_debug_name
    - G_UNLIKELY
    - g_warning
    linkageType: ''
    returnType: void
    signature: 'static void node_check_deprecated (const SignalNode *node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:1972,1
    - Dst: node_check_deprecated
      Src: /src/glib/gobject/gsignal.c:1977,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:1973,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:1976,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:1975,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gsignal.c:1978,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:1979,1
    - Dst: type_debug_name
      Src: /src/glib/gobject/gsignal.c:1979,1
    - Dst: signal_find_class_closure
      Src: /src/glib/gobject/gsignal.c:1982,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:1985,1
    - Dst: type_debug_name
      Src: /src/glib/gobject/gsignal.c:1985,1
    - Dst: signal_add_class_closure
      Src: /src/glib/gobject/gsignal.c:1987,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:1989,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - signal_id
    - instance_type
    - class_closure
    argTypes:
    - guint
    - GType
    - GClosure*
    constantsTouched: []
    func_position:
      end: 1990
      start: 1965
    functionDepth: 0
    functionLinenumber: 1965
    functionLinenumberEnd: 1990
    functionName: g_signal_override_class_closure
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - signal_find_class_closure
    - signal_add_class_closure
    - LOOKUP_SIGNAL_NODE
    - type_debug_name
    - g_return_if_fail
    - node_check_deprecated
    - g_critical
    - g_type_is_a
    - SIGNAL_UNLOCK
    - SIGNAL_LOCK
    linkageType: ''
    returnType: void
    signature: "void g_signal_override_class_closure (guint signal_id,\t\t\t\t GType\
      \ instance_type,\t\t\t\t GClosure *class_closure) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2740,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2742,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gobject/gsignal.c:2749,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2740,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gobject/gsignal.c:2743,1
    - Dst: g_bsearch_array_get_nth
      Src: /src/glib/gobject/gsignal.c:2753,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gobject/gsignal.c:2767,1
    - Dst: remove_invalid_closure_notify
      Src: /src/glib/gobject/gsignal.c:2768,1
    - Dst: handler_unref_R
      Src: /src/glib/gobject/gsignal.c:2770,1
    - Dst: g_bsearch_array_free
      Src: /src/glib/gobject/gsignal.c:2774,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2776,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - instance
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 2777
      start: 2735
    functionDepth: 0
    functionLinenumber: 2735
    functionLinenumberEnd: 2777
    functionName: g_signal_handlers_destroy
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - handler_unref_R
    - remove_invalid_closure_notify
    - g_hash_table_remove
    - g_return_if_fail
    - g_hash_table_lookup
    - g_bsearch_array_get_nth
    - g_bsearch_array_free
    - G_TYPE_CHECK_INSTANCE
    - SIGNAL_UNLOCK
    - SIGNAL_LOCK
    linkageType: ''
    returnType: void
    signature: 'void g_signal_handlers_destroy (gpointer instance) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:3624,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:3627,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:3625,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:3629,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:3624,1
    - Dst: signal_parse_name
      Src: /src/glib/gobject/gsignal.c:3630,1
    - Dst: va_start
      Src: /src/glib/gobject/gsignal.c:3636,1
    - Dst: signal_emit_valist_unlocked
      Src: /src/glib/gobject/gsignal.c:3637,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3638,1
    - Dst: va_end
      Src: /src/glib/gobject/gsignal.c:3639,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3643,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:3645,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gsignal.c:3646,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - instance
    - detailed_signal
    - '...'
    argTypes:
    - gpointer
    - gchar*
    constantsTouched: []
    func_position:
      end: 3648
      start: 3615
    functionDepth: 0
    functionLinenumber: 3615
    functionLinenumberEnd: 3648
    functionName: g_signal_emit_by_name
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - signal_emit_valist_unlocked
    - signal_parse_name
    - g_return_if_fail
    - G_TYPE_FROM_INSTANCE
    - SIGNAL_UNLOCK
    - va_end
    - g_critical
    - G_TYPE_CHECK_INSTANCE
    - va_start
    - SIGNAL_LOCK
    - g_type_name
    linkageType: ''
    returnType: void
    signature: "void g_signal_emit_by_name (gpointer instance,\t\t const gchar *detailed_signal,\t\
      \t ...) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2717,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2722,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2719,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2717,1
    - Dst: handler_lookup
      Src: /src/glib/gobject/gsignal.c:2720,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - instance
    - handler_id
    argTypes:
    - gpointer
    - gulong
    constantsTouched: []
    func_position:
      end: 2725
      start: 2710
    functionDepth: 0
    functionLinenumber: 2710
    functionLinenumberEnd: 2725
    functionName: g_signal_handler_is_connected
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_TYPE_CHECK_INSTANCE
    - SIGNAL_UNLOCK
    - SIGNAL_LOCK
    - handler_lookup
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_signal_handler_is_connected (gpointer instance,\t\t\t gulong\
      \ handler_id) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/gobject/gsignal.c:3595,1
    - Dst: g_signal_emit_valist
      Src: /src/glib/gobject/gsignal.c:3596,1
    - Dst: va_end
      Src: /src/glib/gobject/gsignal.c:3597,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - instance
    - signal_id
    - detail
    - '...'
    argTypes:
    - gpointer
    - guint
    - GQuark
    constantsTouched: []
    func_position:
      end: 3598
      start: 3587
    functionDepth: 0
    functionLinenumber: 3587
    functionLinenumberEnd: 3598
    functionName: g_signal_emit
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - va_start
    - va_end
    - g_signal_emit_valist
    linkageType: ''
    returnType: void
    signature: "void g_signal_emit (gpointer instance,\t guint signal_id,\t GQuark\
      \ detail,\t ...) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2809,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2810,1
    - Dst: handlers_find
      Src: /src/glib/gobject/gsignal.c:2817,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2816,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2809,1
    - Dst: handler_match_free1_R
      Src: /src/glib/gobject/gsignal.c:2821,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2823,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 7
    argNames:
    - instance
    - mask
    - signal_id
    - detail
    - closure
    - func
    - data
    argTypes:
    - gpointer
    - GSignalMatchType
    - guint
    - GQuark
    - GClosure*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 2827
      start: 2798
    functionDepth: 0
    functionLinenumber: 2798
    functionLinenumberEnd: 2827
    functionName: g_signal_handler_find
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - handler_match_free1_R
    - G_TYPE_CHECK_INSTANCE
    - SIGNAL_UNLOCK
    - SIGNAL_LOCK
    - handlers_find
    linkageType: ''
    returnType: gulong
    signature: "gulong g_signal_handler_find (gpointer instance, GSignalMatchType\
      \ mask, guint signal_id,\t\t GQuark\t\tdetail, GClosure *closure, gpointer func,\
      \ gpointer data) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:1154,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:1154,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:1158,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:1155,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:1157,1
    - Dst: signal_parse_name
      Src: /src/glib/gobject/gsignal.c:1159,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:1162,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:1165,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gsignal.c:1166,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:1167,1
    - Dst: emission_find
      Src: /src/glib/gobject/gsignal.c:1171,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:1182,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gsignal.c:1188,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:1189,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gsignal.c:1168,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:1187,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:1176,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 2
    argNames:
    - instance
    - detailed_signal
    argTypes:
    - gpointer
    - gchar*
    constantsTouched: []
    func_position:
      end: 1190
      start: 1146
    functionDepth: 0
    functionLinenumber: 1146
    functionLinenumberEnd: 1190
    functionName: g_signal_stop_emission_by_name
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - LOOKUP_SIGNAL_NODE
    - signal_parse_name
    - g_return_if_fail
    - G_TYPE_FROM_INSTANCE
    - emission_find
    - g_critical
    - g_type_is_a
    - G_TYPE_CHECK_INSTANCE
    - SIGNAL_UNLOCK
    - SIGNAL_LOCK
    - g_type_name
    linkageType: ''
    returnType: void
    signature: "void g_signal_stop_emission_by_name (gpointer instance,\t\t\t\tconst\
      \ gchar *detailed_signal) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gobject/gsignal.c:442,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gobject/gsignal.c:446,1
    - Dst: g_bsearch_array_get_nth
      Src: /src/glib/gobject/gsignal.c:454,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 469
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 469
    functionName: handler_lookup
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_bsearch_array_get_nth
    - g_hash_table_lookup
    linkageType: ''
    returnType: Handler*
    signature: "static Handler *handler_lookup (gpointer instance,\t\tgulong handler_id,\t\
      \tGClosure *closure,\t\tguint *signal_id_p) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:959,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:966,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:960,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:962,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:963,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:967,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:972,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:973,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:978,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:979,1
    - Dst: node_check_deprecated
      Src: /src/glib/gobject/gsignal.c:990,1
    - Dst: SIGNAL_HOOK
      Src: /src/glib/gobject/gsignal.c:996,1
    - Dst: g_new
      Src: /src/glib/gobject/gsignal.c:985,1
    - Dst: g_hook_alloc
      Src: /src/glib/gobject/gsignal.c:992,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:1002,1
    - Dst: g_hook_append
      Src: /src/glib/gobject/gsignal.c:999,1
    - Dst: g_hook_list_init
      Src: /src/glib/gobject/gsignal.c:986,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 5
    argNames:
    - signal_id
    - detail
    - hook_func
    - hook_data
    - data_destroy
    argTypes:
    - guint
    - GQuark
    - GSignalEmissionHook
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 1005
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 1005
    functionName: g_signal_add_emission_hook
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - LOOKUP_SIGNAL_NODE
    - g_new
    - g_hook_append
    - SIGNAL_HOOK
    - g_hook_list_init
    - node_check_deprecated
    - g_hook_alloc
    - g_critical
    - SIGNAL_UNLOCK
    - SIGNAL_LOCK
    linkageType: ''
    returnType: gulong
    signature: "gulong g_signal_add_emission_hook (guint signal_id,\t\t\t GQuark detail,\t\
      \t\t GSignalEmissionHook hook_func,\t\t\t gpointer hook_data,\t\t\t GDestroyNotify\
      \ data_destroy) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/gobject/gsignal.c:478,1
    - Dst: handler_ref
      Src: /src/glib/gobject/gsignal.c:482,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 485
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 485
    functionName: handler_match_prepend
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - handler_ref
    - g_slice_new
    linkageType: ''
    returnType: HandlerMatch*
    signature: "static inline HandlerMatch *handler_match_prepend (HandlerMatch *list,\t\
      \t Handler *handler,\t\t guint\t signal_id) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2017,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2018,1
    - Dst: g_signal_lookup
      Src: /src/glib/gobject/gsignal.c:2021,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2019,1
    - Dst: g_signal_override_class_closure
      Src: /src/glib/gobject/gsignal.c:2024,1
    - Dst: g_cclosure_new
      Src: /src/glib/gobject/gsignal.c:2025,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2027,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - signal_name
    - instance_type
    - class_handler
    argTypes:
    - gchar*
    - GType
    - GCallback
    constantsTouched: []
    func_position:
      end: 2030
      start: 2010
    functionDepth: 0
    functionLinenumber: 2010
    functionLinenumberEnd: 2030
    functionName: g_signal_override_class_handler
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_cclosure_new
    - g_signal_override_class_closure
    - g_return_if_fail
    - g_signal_lookup
    - g_critical
    linkageType: ''
    returnType: void
    signature: "void g_signal_override_class_handler (const gchar *signal_name,\t\t\
      \t\t GType instance_type,\t\t\t\t GCallback class_handler) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:1331,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:1347,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:1333,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:1334,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - signal_id
    - query
    argTypes:
    - guint
    - GSignalQuery*
    constantsTouched: []
    func_position:
      end: 1348
      start: 1325
    functionDepth: 0
    functionLinenumber: 1325
    functionLinenumberEnd: 1348
    functionName: g_signal_query
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - LOOKUP_SIGNAL_NODE
    - SIGNAL_UNLOCK
    - SIGNAL_LOCK
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_signal_query (guint signal_id,\t\tGSignalQuery *query) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:1021,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:1022,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:1025,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:1024,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:1028,1
    - Dst: g_hook_destroy
      Src: /src/glib/gobject/gsignal.c:1031,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:1032,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:1037,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - signal_id
    - hook_id
    argTypes:
    - guint
    - gulong
    constantsTouched: []
    func_position:
      end: 1038
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1038
    functionName: g_signal_remove_emission_hook
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - LOOKUP_SIGNAL_NODE
    - g_return_if_fail
    - g_hook_destroy
    - g_critical
    - SIGNAL_UNLOCK
    - SIGNAL_LOCK
    linkageType: ''
    returnType: void
    signature: "void g_signal_remove_emission_hook (guint signal_id,\t\t\t gulong\
      \ hook_id) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:1216,1
    - Dst: G_TYPE_IS_INTERFACE
      Src: /src/glib/gobject/gsignal.c:1217,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:1219,1
    - Dst: G_TYPE_IS_INSTANTIATABLE
      Src: /src/glib/gobject/gsignal.c:1217,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:1217,1
    - Dst: signal_id_lookup
      Src: /src/glib/gobject/gsignal.c:1220,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:1221,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gsignal.c:1225,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:1226,1
    - Dst: g_signal_is_valid_name
      Src: /src/glib/gobject/gsignal.c:1228,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gsignal.c:1230,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:1229,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - name
    - itype
    argTypes:
    - gchar*
    - GType
    constantsTouched: []
    func_position:
      end: 1234
      start: 1211
    functionDepth: 0
    functionLinenumber: 1211
    functionLinenumberEnd: 1234
    functionName: g_signal_lookup
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - signal_id_lookup
    - G_TYPE_IS_INTERFACE
    - g_critical
    - G_TYPE_IS_INSTANTIATABLE
    - g_signal_is_valid_name
    - SIGNAL_UNLOCK
    - SIGNAL_LOCK
    - g_type_name
    linkageType: ''
    returnType: guint
    signature: 'guint g_signal_lookup (const gchar *name, GType itype) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_type_name
      Src: /src/glib/gobject/gsignal.c:1274,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:1275,1
    - Dst: G_TYPE_IS_INTERFACE
      Src: /src/glib/gobject/gsignal.c:1277,1
    - Dst: G_TYPE_IS_INSTANTIATABLE
      Src: /src/glib/gobject/gsignal.c:1256,1
    - Dst: g_bsearch_array_get_nth
      Src: /src/glib/gobject/gsignal.c:1260,1
    - Dst: g_bsearch_array_get_n_nodes
      Src: /src/glib/gobject/gsignal.c:1261,1
    - Dst: g_type_class_peek
      Src: /src/glib/gobject/gsignal.c:1280,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gsignal.c:1282,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:1257,1
    - Dst: G_TYPE_IS_INTERFACE
      Src: /src/glib/gobject/gsignal.c:1256,1
    - Dst: g_array_new
      Src: /src/glib/gobject/gsignal.c:1262,1
    - Dst: g_array_append_val
      Src: /src/glib/gobject/gsignal.c:1267,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:1270,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gsignal.c:1279,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:1281,1
    - Dst: G_TYPE_IS_INSTANTIATABLE
      Src: /src/glib/gobject/gsignal.c:1277,1
    - Dst: g_array_free
      Src: /src/glib/gobject/gsignal.c:1285,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:1256,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:1259,1
    - Dst: G_TYPE_IS_INTERFACE
      Src: /src/glib/gobject/gsignal.c:1280,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:1278,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1247
    functionDepth: 0
    functionLinenumber: 1247
    functionLinenumberEnd: 1286
    functionName: g_signal_list_ids
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_array_free
    - g_return_val_if_fail
    - g_bsearch_array_get_n_nodes
    - g_array_append_val
    - g_type_class_peek
    - g_bsearch_array_get_nth
    - G_TYPE_IS_INTERFACE
    - g_array_new
    - g_critical
    - G_TYPE_IS_INSTANTIATABLE
    - SIGNAL_UNLOCK
    - SIGNAL_LOCK
    - g_type_name
    linkageType: ''
    returnType: guint*
    signature: "guint *g_signal_list_ids (GType itype,\t\t guint *n_ids) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2131,1
    - Dst: emission_find_innermost
      Src: /src/glib/gobject/gsignal.c:2132,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:2135,1
    - Dst: signal_find_class_closure
      Src: /src/glib/gobject/gsignal.c:2143,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignal.c:2145,1
    - Dst: signal_find_class_closure
      Src: /src/glib/gobject/gsignal.c:2149,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2160,1
    - Dst: g_newa0
      Src: /src/glib/gobject/gsignal.c:2173,1
    - Dst: G_VALUE_COLLECT_INIT
      Src: /src/glib/gobject/gsignal.c:2183,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2189,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2204,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2129,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2182,1
    - Dst: g_value_init_from_instance
      Src: /src/glib/gobject/gsignal.c:2205,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gsignal.c:2226,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsignal.c:2255,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2259,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsignal.c:2254,1
    - Dst: va_end
      Src: /src/glib/gobject/gsignal.c:2198,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsignal.c:2240,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2129,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignal.c:2137,1
    - Dst: g_closure_invoke
      Src: /src/glib/gobject/gsignal.c:2228,1
    - Dst: g_free
      Src: /src/glib/gobject/gsignal.c:2245,1
    - Dst: va_end
      Src: /src/glib/gobject/gsignal.c:2257,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2262,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2206,1
    - Dst: G_VALUE_LCOPY
      Src: /src/glib/gobject/gsignal.c:2234,1
    - Dst: g_closure_invoke
      Src: /src/glib/gobject/gsignal.c:2213,1
    - Dst: g_type_parent
      Src: /src/glib/gobject/gsignal.c:2149,1
    - Dst: va_start
      Src: /src/glib/gobject/gsignal.c:2170,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsignal.c:2196,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2157,1
    - Dst: g_free
      Src: /src/glib/gobject/gsignal.c:2190,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2201,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2209,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2244,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 84
    argCount: 1
    argNames:
    - instance
    - '...'
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 2263
      start: 2119
    functionDepth: 0
    functionLinenumber: 2119
    functionLinenumberEnd: 2263
    functionName: g_signal_chain_from_overridden_handler
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_newa0
    - G_VALUE_LCOPY
    - va_end
    - SIGNAL_UNLOCK
    - signal_find_class_closure
    - LOOKUP_SIGNAL_NODE
    - g_closure_invoke
    - G_TYPE_CHECK_INSTANCE
    - G_VALUE_COLLECT_INIT
    - g_value_init
    - emission_find_innermost
    - g_type_parent
    - va_start
    - g_return_if_fail
    - g_assert
    - g_value_init_from_instance
    - g_critical
    - g_free
    - SIGNAL_LOCK
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'void g_signal_chain_from_overridden_handler (gpointer instance, ...) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2054,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gsignal.c:2055,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2056,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2056,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2058,1
    - Dst: emission_find_innermost
      Src: /src/glib/gobject/gsignal.c:2059,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:2062,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignal.c:2064,1
    - Dst: signal_find_class_closure
      Src: /src/glib/gobject/gsignal.c:2070,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignal.c:2072,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2087,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2098,1
    - Dst: signal_find_class_closure
      Src: /src/glib/gobject/gsignal.c:2076,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2101,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2084,1
    - Dst: g_type_parent
      Src: /src/glib/gobject/gsignal.c:2076,1
    - Dst: g_closure_invoke
      Src: /src/glib/gobject/gsignal.c:2093,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2092,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 2
    argNames:
    - instance_and_params
    - return_value
    argTypes:
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 2102
      start: 2044
    functionDepth: 0
    functionLinenumber: 2044
    functionLinenumberEnd: 2102
    functionName: g_signal_chain_from_overridden
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - signal_find_class_closure
    - LOOKUP_SIGNAL_NODE
    - g_value_peek_pointer
    - g_return_if_fail
    - g_assert
    - g_closure_invoke
    - g_critical
    - emission_find_innermost
    - G_TYPE_CHECK_INSTANCE
    - g_type_parent
    - SIGNAL_UNLOCK
    - SIGNAL_LOCK
    linkageType: ''
    returnType: void
    signature: "void g_signal_chain_from_overridden (const GValue *instance_and_params,\t\
      \t\t\tGValue *return_value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_BSEARCH_ARRAY_CMP
      Src: /src/glib/gobject/gsignal.c:370,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - node1
    - node2
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 371
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 371
    functionName: class_closures_cmp
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - G_BSEARCH_ARRAY_CMP
    linkageType: ''
    returnType: gint
    signature: "static gint class_closures_cmp (gconstpointer node1,\t\t gconstpointer\
      \ node2) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/gobject/gsignal.c:585,1
    - Dst: g_error
      Src: /src/glib/gobject/gsignal.c:588,1
    - Dst: g_hash_table_add
      Src: /src/glib/gobject/gsignal.c:603,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 606
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 606
    functionName: handler_new
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_error
    - g_slice_new
    - g_hash_table_add
    linkageType: ''
    returnType: Handler*
    signature: 'static inline Handler *handler_new (guint signal_id, gpointer instance,
      gboolean after) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: signal_find_class_closure
      Src: /src/glib/gobject/gsignal.c:1535,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:1535,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1537
      start: 1529
    functionDepth: 0
    functionLinenumber: 1529
    functionLinenumberEnd: 1537
    functionName: signal_lookup_closure
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - signal_find_class_closure
    - G_TYPE_FROM_INSTANCE
    linkageType: ''
    returnType: GClosure*
    signature: "static inline GClosure *signal_lookup_closure (SignalNode *node,\t\
      \t GTypeInstance *instance) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_BSEARCH_ARRAY_CMP
      Src: /src/glib/gobject/gsignal.c:379,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - node1
    - node2
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 380
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 380
    functionName: handler_lists_cmp
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - G_BSEARCH_ARRAY_CMP
    linkageType: ''
    returnType: gint
    signature: 'static gint handler_lists_cmp (gconstpointer node1, gconstpointer
      node2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:611,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - handler
    argTypes:
    - Handler*
    constantsTouched: []
    func_position:
      end: 614
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 614
    functionName: handler_ref
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static inline void handler_ref (Handler *handler) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_bsearch_array_create
      Src: /src/glib/gobject/gsignal.c:1549,1
    - Dst: g_closure_ref
      Src: /src/glib/gobject/gsignal.c:1551,1
    - Dst: g_bsearch_array_insert
      Src: /src/glib/gobject/gsignal.c:1552,1
    - Dst: g_closure_sink
      Src: /src/glib/gobject/gsignal.c:1555,1
    - Dst: G_CLOSURE_NEEDS_MARSHAL
      Src: /src/glib/gobject/gsignal.c:1556,1
    - Dst: g_closure_set_marshal
      Src: /src/glib/gobject/gsignal.c:1558,1
    - Dst: _g_closure_set_va_marshal
      Src: /src/glib/gobject/gsignal.c:1560,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - node
    - itype
    - closure
    argTypes:
    - SignalNode*
    - GType
    - GClosure*
    constantsTouched: []
    func_position:
      end: 1562
      start: 1539
    functionDepth: 0
    functionLinenumber: 1539
    functionLinenumberEnd: 1562
    functionName: signal_add_class_closure
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_closure_sink
    - g_bsearch_array_insert
    - g_closure_set_marshal
    - _g_closure_set_va_marshal
    - g_closure_ref
    - g_bsearch_array_create
    - G_CLOSURE_NEEDS_MARSHAL
    linkageType: ''
    returnType: void
    signature: "static void signal_add_class_closure (SignalNode *node,\t\t\t GType\
      \ itype,\t\t\t GClosure *closure) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:1304,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:1305,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:1307,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1298
    functionDepth: 0
    functionLinenumber: 1298
    functionLinenumberEnd: 1310
    functionName: g_signal_name
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - LOOKUP_SIGNAL_NODE
    - SIGNAL_UNLOCK
    - SIGNAL_LOCK
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_signal_name (guint signal_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2574,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2575,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2574,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2577,1
    - Dst: signal_handler_block_unlocked
      Src: /src/glib/gobject/gsignal.c:2578,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2579,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - instance
    - handler_id
    argTypes:
    - gpointer
    - gulong
    constantsTouched: []
    func_position:
      end: 2580
      start: 2570
    functionDepth: 0
    functionLinenumber: 2570
    functionLinenumberEnd: 2580
    functionName: g_signal_handler_block
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - signal_handler_block_unlocked
    - G_TYPE_CHECK_INSTANCE
    - SIGNAL_UNLOCK
    - SIGNAL_LOCK
    linkageType: ''
    returnType: void
    signature: 'void g_signal_handler_block (gpointer instance, gulong handler_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gobject/gsignal.c:386,1
    - Dst: g_bsearch_array_create
      Src: /src/glib/gobject/gsignal.c:395,1
    - Dst: g_bsearch_array_insert
      Src: /src/glib/gobject/gsignal.c:397,1
    - Dst: g_bsearch_array_lookup
      Src: /src/glib/gobject/gsignal.c:399,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gobject/gsignal.c:398,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 400
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 400
    functionName: handler_list_ensure
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_bsearch_array_insert
    - g_bsearch_array_lookup
    - g_hash_table_lookup
    - g_hash_table_insert
    - g_bsearch_array_create
    linkageType: ''
    returnType: HandlerList*
    signature: "static inline HandlerList *handler_list_ensure (guint signal_id,\t\
      \t gpointer instance) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_TYPE_IS_OBJECT
      Src: /src/glib/gobject/gsignal.c:726,1
    - Dst: g_bsearch_array_get_nth
      Src: /src/glib/gobject/gsignal.c:740,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 1
    argNames:
    - node
    argTypes:
    - SignalNode*
    constantsTouched: []
    func_position:
      end: 758
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 758
    functionName: node_update_single_va_closure
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - G_TYPE_IS_OBJECT
    - g_bsearch_array_get_nth
    linkageType: ''
    returnType: void
    signature: 'static void node_update_single_va_closure (SignalNode *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:4193,1
    - Dst: g_clear_signal_handler
      Src: /src/glib/gobject/gsignal.c:4199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - handler_id_ptr
    - instance
    argTypes:
    - gulong*
    - gpointer
    constantsTouched: []
    func_position:
      end: 4200
      start: 4189
    functionDepth: 0
    functionLinenumber: 4189
    functionLinenumberEnd: 4200
    functionName: (g_clear_signal_handler)
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_clear_signal_handler
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void (g_clear_signal_handler) (gulong *handler_id_ptr, gpointer instance) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gobject/gsignal.c:406,1
    - Dst: g_bsearch_array_lookup
      Src: /src/glib/gobject/gsignal.c:411,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 412
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 412
    functionName: handler_list_lookup
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_bsearch_array_lookup
    - g_hash_table_lookup
    linkageType: ''
    returnType: HandlerList*
    signature: "static inline HandlerList *handler_list_lookup (guint signal_id,\t\
      \t gpointer instance) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - emission
    argTypes:
    - Emission*
    constantsTouched: []
    func_position:
      end: 765
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 765
    functionName: emission_push
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void emission_push (Emission *emission) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: handler_lookup
      Src: /src/glib/gobject/gsignal.c:2588,1
    - Dst: g_error
      Src: /src/glib/gobject/gsignal.c:2593,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2598,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - instance
    - handler_id
    argTypes:
    - gpointer
    - gulong
    constantsTouched: []
    func_position:
      end: 2599
      start: 2582
    functionDepth: 0
    functionLinenumber: 2582
    functionLinenumberEnd: 2599
    functionName: signal_handler_block_unlocked
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_error
    - g_critical
    - handler_lookup
    linkageType: ''
    returnType: void
    signature: 'static void signal_handler_block_unlocked (gpointer instance, gulong
      handler_id) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:886,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:887,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:886,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:889,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:890,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:893,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:894,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gsignal.c:897,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:897,1
    - Dst: emission_find
      Src: /src/glib/gobject/gsignal.c:899,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:904,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:914,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:910,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:915,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 3
    argNames:
    - instance
    - signal_id
    - detail
    argTypes:
    - gpointer
    - guint
    - GQuark
    constantsTouched: []
    func_position:
      end: 916
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 916
    functionName: g_signal_stop_emission
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - LOOKUP_SIGNAL_NODE
    - g_return_if_fail
    - G_TYPE_FROM_INSTANCE
    - emission_find
    - g_critical
    - g_type_is_a
    - G_TYPE_CHECK_INSTANCE
    - SIGNAL_UNLOCK
    - SIGNAL_LOCK
    linkageType: ''
    returnType: void
    signature: "void g_signal_stop_emission (gpointer instance, guint signal_id,\t\
      \t\tGQuark detail) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:927,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:929,1
    - Dst: destroy
      Src: /src/glib/gobject/gsignal.c:928,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - hook_list
    - hook
    argTypes:
    - GHookList*
    - GHook*
    constantsTouched: []
    func_position:
      end: 931
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 931
    functionName: signal_finalize_hook
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - SIGNAL_LOCK
    - SIGNAL_UNLOCK
    - destroy
    linkageType: ''
    returnType: void
    signature: "static void signal_finalize_hook (GHookList *hook_list,\t\t GHook\
      \ *hook) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:826,1
    - Dst: g_renew
      Src: /src/glib/gobject/gsignal.c:835,1
    - Dst: g_hash_table_new
      Src: /src/glib/gobject/gsignal.c:830,1
    - Dst: g_bsearch_array_create
      Src: /src/glib/gobject/gsignal.c:831,1
    - Dst: g_hash_table_new
      Src: /src/glib/gobject/gsignal.c:837,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:839,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 840
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 840
    functionName: _g_signal_init
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_renew
    - g_hash_table_new
    - g_bsearch_array_create
    - SIGNAL_UNLOCK
    - SIGNAL_LOCK
    linkageType: ''
    returnType: void
    signature: 'void _g_signal_init (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_value_reset
      Src: /src/glib/gobject/gsignal.c:3240,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - ihint
    - return_accu
    - handler_return
    - accumulator
    argTypes:
    - GSignalInvocationHint*
    - GValue*
    - GValue*
    - SignalAccumulator*
    constantsTouched: []
    func_position:
      end: 3245
      start: 3228
    functionDepth: 0
    functionLinenumber: 3228
    functionLinenumberEnd: 3245
    functionName: accumulate
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_value_reset
    linkageType: ''
    returnType: gboolean
    signature: "static inline gboolean accumulate (GSignalInvocationHint *ihint,\t\
      \ GValue *return_accu,\t GValue\t *handler_return,\t SignalAccumulator *accumulator) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 251
    functionName: LOOKUP_SIGNAL_NODE
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SignalNode*
    signature: 'static inline SignalNode *LOOKUP_SIGNAL_NODE (guint signal_id) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:847,1
    - Dst: type_debug_name
      Src: /src/glib/gobject/gsignal.c:857,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:855,1
    - Dst: signal_destroy_R
      Src: /src/glib/gobject/gsignal.c:859,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:862,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - itype
    argTypes:
    - GType
    constantsTouched: []
    func_position:
      end: 863
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 863
    functionName: _g_signals_destroy
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - type_debug_name
    - g_critical
    - signal_destroy_R
    - SIGNAL_UNLOCK
    - SIGNAL_LOCK
    linkageType: ''
    returnType: void
    signature: 'void _g_signals_destroy (GType itype) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:2327,1
    - Dst: _g_object_set_has_signal_handler
      Src: /src/glib/gobject/gsignal.c:2339,1
    - Dst: g_closure_sink
      Src: /src/glib/gobject/gsignal.c:2344,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2356,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2323,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2331,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gsignal.c:2332,1
    - Dst: handler_new
      Src: /src/glib/gobject/gsignal.c:2336,1
    - Dst: G_CLOSURE_NEEDS_MARSHAL
      Src: /src/glib/gobject/gsignal.c:2347,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2324,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2332,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2333,1
    - Dst: add_invalid_closure_notify
      Src: /src/glib/gobject/gsignal.c:2345,1
    - Dst: handler_insert
      Src: /src/glib/gobject/gsignal.c:2346,1
    - Dst: _g_closure_set_va_marshal
      Src: /src/glib/gobject/gsignal.c:2351,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2322,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2326,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2322,1
    - Dst: g_closure_set_marshal
      Src: /src/glib/gobject/gsignal.c:2349,1
    - Dst: g_closure_ref
      Src: /src/glib/gobject/gsignal.c:2343,1
    - Dst: G_TYPE_IS_OBJECT
      Src: /src/glib/gobject/gsignal.c:2338,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2357,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 5
    argNames:
    - instance
    - signal_id
    - detail
    - closure
    - after
    argTypes:
    - gpointer
    - guint
    - GQuark
    - GClosure*
    - gboolean
    constantsTouched: []
    func_position:
      end: 2360
      start: 2312
    functionDepth: 0
    functionLinenumber: 2312
    functionLinenumberEnd: 2360
    functionName: g_signal_connect_closure_by_id
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_closure_sink
    - _g_closure_set_va_marshal
    - add_invalid_closure_notify
    - g_return_val_if_fail
    - LOOKUP_SIGNAL_NODE
    - g_closure_ref
    - g_closure_set_marshal
    - handler_new
    - G_TYPE_FROM_INSTANCE
    - handler_insert
    - G_TYPE_IS_OBJECT
    - SIGNAL_UNLOCK
    - _g_object_set_has_signal_handler
    - g_critical
    - g_type_is_a
    - G_TYPE_CHECK_INSTANCE
    - G_CLOSURE_NEEDS_MARSHAL
    - SIGNAL_LOCK
    linkageType: ''
    returnType: gulong
    signature: "gulong g_signal_connect_closure_by_id (gpointer instance,\t\t\t\t\
      guint signal_id,\t\t\t\tGQuark detail,\t\t\t\tGClosure *closure,\t\t\t\tgboolean\
      \ after) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2951,1
    - Dst: signal_handlers_foreach_matched_unlocked_R
      Src: /src/glib/gobject/gsignal.c:2958,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2952,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2956,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2951,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2961,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 7
    argNames:
    - instance
    - mask
    - signal_id
    - detail
    - closure
    - func
    - data
    argTypes:
    - gpointer
    - GSignalMatchType
    - guint
    - GQuark
    - GClosure*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 2965
      start: 2940
    functionDepth: 0
    functionLinenumber: 2940
    functionLinenumberEnd: 2965
    functionName: g_signal_handlers_unblock_matched
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_TYPE_CHECK_INSTANCE
    - signal_handlers_foreach_matched_unlocked_R
    - SIGNAL_UNLOCK
    - SIGNAL_LOCK
    linkageType: ''
    returnType: guint
    signature: "guint g_signal_handlers_unblock_matched (gpointer instance,\t\t\t\t\
      \ GSignalMatchType mask,\t\t\t\t guint signal_id,\t\t\t\t GQuark detail,\t\t\
      \t\t GClosure *closure,\t\t\t\t gpointer func,\t\t\t\t gpointer data) "
  - BBCount: 166
    BranchProfiles: []
    Callsites:
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:1808,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2098,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2160,1
    - Dst: G_VALUE_COLLECT_INIT
      Src: /src/glib/gobject/gsignal.c:2183,1
    - Dst: handler_lookup
      Src: /src/glib/gobject/gsignal.c:2588,1
    - Dst: handler_unref_R
      Src: /src/glib/gobject/gsignal.c:2695,1
    - Dst: g_closure_set_marshal
      Src: /src/glib/gobject/gsignal.c:2538,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2396,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2742,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3499,1
    - Dst: g_quark_from_string
      Src: /src/glib/gobject/gsignal.c:1693,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2129,1
    - Dst: G_CLOSURE_NEEDS_MARSHAL
      Src: /src/glib/gobject/gsignal.c:2425,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gobject/gsignal.c:2749,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2951,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:3151,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:3160,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:3178,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:3300,1
    - Dst: handler_unref_R
      Src: /src/glib/gobject/gsignal.c:3455,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:1621,1
    - Dst: type_debug_name
      Src: /src/glib/gobject/gsignal.c:1655,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2262,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2675,1
    - Dst: add_invalid_closure_notify
      Src: /src/glib/gobject/gsignal.c:2345,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:3275,1
    - Dst: _g_closure_supports_invoke_va
      Src: /src/glib/gobject/gsignal.c:3363,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gsignal.c:3422,1
    - Dst: va_start
      Src: /src/glib/gobject/gsignal.c:3636,1
    - Dst: va_arg
      Src: /src/glib/gobject/gsignal.c:1884,1
    - Dst: g_closure_unref
      Src: /src/glib/gobject/gsignal.c:1937,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:1976,1
    - Dst: signal_find_class_closure
      Src: /src/glib/gobject/gsignal.c:2070,1
    - Dst: type_debug_name
      Src: /src/glib/gobject/gsignal.c:2459,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2326,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2522,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2717,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1752,1
    - Dst: G_VALUE_TYPE_NAME
      Src: /src/glib/gobject/gsignal.c:3171,1
    - Dst: handler_new
      Src: /src/glib/gobject/gsignal.c:2526,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:1822,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2204,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gsignal.c:3543,1
    - Dst: handler_lookup
      Src: /src/glib/gobject/gsignal.c:4080,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2648,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2579,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsignal.c:2255,1
    - Dst: handlers_find
      Src: /src/glib/gobject/gsignal.c:2817,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2900,1
    - Dst: hook_func
      Src: /src/glib/gobject/gsignal.c:3850,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:4090,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2332,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3534,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/gsignal.c:3798,1
    - Dst: maybe_init_accumulator_unlocked
      Src: /src/glib/gobject/gsignal.c:3900,1
    - Dst: handler_unref_R
      Src: /src/glib/gobject/gsignal.c:3919,1
    - Dst: handler_unref_R
      Src: /src/glib/gobject/gsignal.c:4041,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3972,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsignal.c:3523,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gsignal.c:2435,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2810,1
    - Dst: g_atomic_int_or
      Src: /src/glib/gobject/gsignal.c:3849,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:3949,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2740,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2895,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:3062,1
    - Dst: signal_emitv_unlocked
      Src: /src/glib/gobject/gsignal.c:3125,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:3144,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3277,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:3627,1
    - Dst: g_free
      Src: /src/glib/gobject/gsignal.c:1941,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2087,1
    - Dst: handler_unref_R
      Src: /src/glib/gobject/gsignal.c:2770,1
    - Dst: g_closure_sink
      Src: /src/glib/gobject/gsignal.c:2422,1
    - Dst: emission_push
      Src: /src/glib/gobject/gsignal.c:3410,1
    - Dst: handler_ref
      Src: /src/glib/gobject/gsignal.c:3723,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2333,1
    - Dst: remove_invalid_closure_notify
      Src: /src/glib/gobject/gsignal.c:2768,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2961,1
    - Dst: g_value_reset
      Src: /src/glib/gobject/gsignal.c:3240,1
    - Dst: g_free
      Src: /src/glib/gobject/gsignal.c:3480,1
    - Dst: g_hook_destroy_link
      Src: /src/glib/gobject/gsignal.c:3872,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsignal.c:4045,1
    - Dst: g_hook_next_valid
      Src: /src/glib/gobject/gsignal.c:3783,1
    - Dst: signal_emit_unlocked_R
      Src: /src/glib/gobject/gsignal.c:3546,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:3742,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2322,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gsignal.c:2546,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2816,1
    - Dst: G_TYPE_IS_INSTANTIATABLE
      Src: /src/glib/gobject/gsignal.c:1616,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:1664,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2511,1
    - Dst: _g_object_set_has_signal_handler
      Src: /src/glib/gobject/gsignal.c:2529,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2577,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2629,1
    - Dst: TRACE
      Src: /src/glib/gobject/gsignal.c:3417,1
    - Dst: is_canonical
      Src: /src/glib/gobject/gsignal.c:1626,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2056,1
    - Dst: _g_object_set_has_signal_handler
      Src: /src/glib/gobject/gsignal.c:2339,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3090,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gsignal.c:3425,1
    - Dst: G_VALUE_COLLECT_INIT
      Src: /src/glib/gobject/gsignal.c:3510,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:3557,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:4014,1
    - Dst: maybe_init_accumulator_unlocked
      Src: /src/glib/gobject/gsignal.c:3940,1
    - Dst: g_bsearch_array_free
      Src: /src/glib/gobject/gsignal.c:2774,1
    - Dst: signal_id_lookup
      Src: /src/glib/gobject/gsignal.c:1639,1
    - Dst: g_new
      Src: /src/glib/gobject/gsignal.c:1879,1
    - Dst: g_signal_newv
      Src: /src/glib/gobject/gsignal.c:1887,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:2062,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2182,1
    - Dst: handler_new
      Src: /src/glib/gobject/gsignal.c:2336,1
    - Dst: va_end
      Src: /src/glib/gobject/gsignal.c:3597,1
    - Dst: signal_emit_valist_unlocked
      Src: /src/glib/gobject/gsignal.c:3637,1
    - Dst: g_closure_invoke
      Src: /src/glib/gobject/gsignal.c:3974,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsignal.c:4030,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2398,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:3007,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gsignal.c:3492,1
    - Dst: g_clear_signal_handler
      Src: /src/glib/gobject/gsignal.c:4199,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gobject/gsignal.c:4134,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gsignal.c:2523,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2717,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1750,1
    - Dst: signal_handlers_foreach_matched_unlocked_R
      Src: /src/glib/gobject/gsignal.c:3013,1
    - Dst: handlers_find
      Src: /src/glib/gobject/gsignal.c:3074,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gsignal.c:3152,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/gsignal.c:3435,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:3909,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1751,1
    - Dst: canonicalize_key
      Src: /src/glib/gobject/gsignal.c:1629,1
    - Dst: node_check_deprecated
      Src: /src/glib/gobject/gsignal.c:1977,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:1985,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:3645,1
    - Dst: handler_ref
      Src: /src/glib/gobject/gsignal.c:3413,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:1672,1
    - Dst: signal_parse_name
      Src: /src/glib/gobject/gsignal.c:2512,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2575,1
    - Dst: accumulate
      Src: /src/glib/gobject/gsignal.c:3979,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:1623,1
    - Dst: handler_insert
      Src: /src/glib/gobject/gsignal.c:2346,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2101,1
    - Dst: GOBJECT_SIGNAL_EMIT_END
      Src: /src/glib/gobject/gsignal.c:3487,1
    - Dst: g_hook_ref
      Src: /src/glib/gobject/gsignal.c:3777,1
    - Dst: g_free
      Src: /src/glib/gobject/gsignal.c:1928,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2244,1
    - Dst: add_invalid_closure_notify
      Src: /src/glib/gobject/gsignal.c:2423,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2651,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2698,1
    - Dst: type_debug_name
      Src: /src/glib/gobject/gsignal.c:3188,1
    - Dst: handler_ref
      Src: /src/glib/gobject/gsignal.c:3991,1
    - Dst: G_TYPE_IS_INTERFACE
      Src: /src/glib/gobject/gsignal.c:1646,1
    - Dst: g_new
      Src: /src/glib/gobject/gsignal.c:1685,1
    - Dst: g_free
      Src: /src/glib/gobject/gsignal.c:1945,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignal.c:2145,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2206,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2598,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2189,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gsignal.c:2409,1
    - Dst: signal_emit_valist_unlocked
      Src: /src/glib/gobject/gsignal.c:3276,1
    - Dst: handler_list_lookup
      Src: /src/glib/gobject/gsignal.c:3354,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:3300,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2674,1
    - Dst: handler_lookup
      Src: /src/glib/gobject/gsignal.c:2720,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2809,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:3532,1
    - Dst: g_hook_ref
      Src: /src/glib/gobject/gsignal.c:3828,1
    - Dst: g_free
      Src: /src/glib/gobject/gsignal.c:1647,1
    - Dst: g_renew
      Src: /src/glib/gobject/gsignal.c:1687,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:1975,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:1989,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2324,1
    - Dst: node_update_single_va_closure
      Src: /src/glib/gobject/gsignal.c:3200,1
    - Dst: va_end
      Src: /src/glib/gobject/gsignal.c:3639,1
    - Dst: handler_unref_R
      Src: /src/glib/gobject/gsignal.c:3892,1
    - Dst: maybe_init_accumulator_unlocked
      Src: /src/glib/gobject/gsignal.c:3973,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1744,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:1616,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1738,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:1979,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gsignal.c:2055,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2357,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsignal.c:3476,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsignal.c:3567,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1739,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1745,1
    - Dst: g_free
      Src: /src/glib/gobject/gsignal.c:3517,1
    - Dst: accumulate
      Src: /src/glib/gobject/gsignal.c:4026,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:4047,1
    - Dst: signal_handler_disconnect_unlocked
      Src: /src/glib/gobject/gsignal.c:2678,1
    - Dst: callback
      Src: /src/glib/gobject/gsignal.c:2849,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:1648,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:1777,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:2135,1
    - Dst: G_VALUE_LCOPY
      Src: /src/glib/gobject/gsignal.c:2234,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2397,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:3152,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3547,1
    - Dst: handler_unref_R
      Src: /src/glib/gobject/gsignal.c:3992,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3838,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2331,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2503,1
    - Dst: handlers_find
      Src: /src/glib/gobject/gsignal.c:2844,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2018,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2520,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:3011,1
    - Dst: type_debug_name
      Src: /src/glib/gobject/gsignal.c:3180,1
    - Dst: _g_closure_is_void
      Src: /src/glib/gobject/gsignal.c:3204,1
    - Dst: signal_emit_unlocked_R
      Src: /src/glib/gobject/gsignal.c:3533,1
    - Dst: g_hook_first_valid
      Src: /src/glib/gobject/gsignal.c:3767,1
    - Dst: accumulate
      Src: /src/glib/gobject/gsignal.c:3906,1
    - Dst: handler_match_free1_R
      Src: /src/glib/gobject/gsignal.c:2821,1
    - Dst: g_signal_override_class_closure
      Src: /src/glib/gobject/gsignal.c:2024,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3070,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:3731,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2410,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:1807,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:1615,1
    - Dst: g_closure_invoke
      Src: /src/glib/gobject/gsignal.c:2093,1
    - Dst: _g_object_has_signal_handler
      Src: /src/glib/gobject/gsignal.c:3209,1
    - Dst: accumulate
      Src: /src/glib/gobject/gsignal.c:3443,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:3629,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3732,1
    - Dst: g_newa
      Src: /src/glib/gobject/gsignal.c:3805,1
    - Dst: GOBJECT_SIGNAL_EMIT_END
      Src: /src/glib/gobject/gsignal.c:4047,1
    - Dst: TRACE
      Src: /src/glib/gobject/gsignal.c:1696,1
    - Dst: g_closure_invoke
      Src: /src/glib/gobject/gsignal.c:2213,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:2515,1
    - Dst: _g_closure_set_va_marshal
      Src: /src/glib/gobject/gsignal.c:2540,1
    - Dst: g_bsearch_array_get_nth
      Src: /src/glib/gobject/gsignal.c:2753,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:3006,1
    - Dst: G_TYPE_CHECK_VALUE_TYPE
      Src: /src/glib/gobject/gsignal.c:3184,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:3312,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:3448,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gsignal.c:3646,1
    - Dst: handler_list_lookup
      Src: /src/glib/gobject/gsignal.c:3720,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:3863,1
    - Dst: G_CLOSURE_NEEDS_MARSHAL
      Src: /src/glib/gobject/gsignal.c:2536,1
    - Dst: g_bsearch_array_get_nth
      Src: /src/glib/gobject/gsignal.c:1935,1
    - Dst: _g_object_set_has_signal_handler
      Src: /src/glib/gobject/gsignal.c:2417,1
    - Dst: signal_find_class_closure
      Src: /src/glib/gobject/gsignal.c:3084,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:3303,1
    - Dst: g_newa0
      Src: /src/glib/gobject/gsignal.c:3501,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2628,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2895,1
    - Dst: handler_new
      Src: /src/glib/gobject/gsignal.c:2414,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2510,1
    - Dst: type_debug_name
      Src: /src/glib/gobject/gsignal.c:1665,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2092,1
    - Dst: g_closure_invoke
      Src: /src/glib/gobject/gsignal.c:2228,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2436,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:3060,1
    - Dst: _g_closure_supports_invoke_va
      Src: /src/glib/gobject/gsignal.c:3340,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3939,1
    - Dst: GOBJECT_SIGNAL_EMIT
      Src: /src/glib/gobject/gsignal.c:3417,1
    - Dst: g_error
      Src: /src/glib/gobject/gsignal.c:2593,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignal.c:2072,1
    - Dst: g_bsearch_array_insert
      Src: /src/glib/gobject/gsignal.c:1694,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:3154,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:3982,1
    - Dst: g_closure_add_invalidate_notifier
      Src: /src/glib/gobject/gsignal.c:4056,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2131,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2401,1
    - Dst: g_getenv
      Src: /src/glib/gobject/gsignal.c:2448,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:3059,1
    - Dst: handler_match_free1_R
      Src: /src/glib/gobject/gsignal.c:3080,1
    - Dst: G_TYPE_CHECK_VALUE_TYPE
      Src: /src/glib/gobject/gsignal.c:3164,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:3516,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gsignal.c:3660,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gsignal.c:4098,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2809,1
    - Dst: signal_handler_unblock_unlocked
      Src: /src/glib/gobject/gsignal.c:2632,1
    - Dst: g_newa
      Src: /src/glib/gobject/gsignal.c:3806,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignal.c:3824,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:4193,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/gsignal.c:3774,1
    - Dst: g_free
      Src: /src/glib/gobject/gsignal.c:1666,1
    - Dst: g_bsearch_array_get_nth
      Src: /src/glib/gobject/gsignal.c:1814,1
    - Dst: g_free
      Src: /src/glib/gobject/gsignal.c:1890,1
    - Dst: g_signal_lookup
      Src: /src/glib/gobject/gsignal.c:2021,1
    - Dst: emission_find_innermost
      Src: /src/glib/gobject/gsignal.c:2059,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gobject/gsignal.c:2767,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2547,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2719,1
    - Dst: signal_handlers_foreach_matched_unlocked_R
      Src: /src/glib/gobject/gsignal.c:2958,1
    - Dst: SIGNAL_HOOK
      Src: /src/glib/gobject/gsignal.c:3817,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignal.c:4082,1
    - Dst: va_start
      Src: /src/glib/gobject/gsignal.c:2170,1
    - Dst: handler_insert
      Src: /src/glib/gobject/gsignal.c:2424,1
    - Dst: G_TYPE_IS_VALUE
      Src: /src/glib/gobject/gsignal.c:1670,1
    - Dst: g_new
      Src: /src/glib/gobject/gsignal.c:1709,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gsignal.c:1877,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:1653,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2283,1
    - Dst: g_closure_sink
      Src: /src/glib/gobject/gsignal.c:2534,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2740,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2905,1
    - Dst: g_newa0
      Src: /src/glib/gobject/gsignal.c:2173,1
    - Dst: g_closure_set_marshal
      Src: /src/glib/gobject/gsignal.c:2427,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:1667,1
    - Dst: type_debug_name
      Src: /src/glib/gobject/gsignal.c:1673,1
    - Dst: signal_find_class_closure
      Src: /src/glib/gobject/gsignal.c:2149,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2574,1
    - Dst: emission_pop
      Src: /src/glib/gobject/gsignal.c:4043,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3899,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2503,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2722,1
    - Dst: g_signal_is_valid_name
      Src: /src/glib/gobject/gsignal.c:1615,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2027,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gobject/gsignal.c:2691,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:3186,1
    - Dst: G_VALUE_COLLECT_SKIP
      Src: /src/glib/gobject/gsignal.c:3465,1
    - Dst: GOBJECT_SIGNAL_EMIT
      Src: /src/glib/gobject/gsignal.c:3686,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignal.c:3835,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:1927,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gsignal.c:1978,1
    - Dst: g_cclosure_new
      Src: /src/glib/gobject/gsignal.c:2025,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gsignal.c:3143,1
    - Dst: signal_parse_name
      Src: /src/glib/gobject/gsignal.c:3630,1
    - Dst: g_closure_set_marshal
      Src: /src/glib/gobject/gsignal.c:2349,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1740,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1748,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:1624,1
    - Dst: signal_find_class_closure
      Src: /src/glib/gobject/gsignal.c:1982,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsignal.c:2196,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2279,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gsignal.c:2411,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1741,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1749,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3638,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:4031,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2674,1
    - Dst: g_free
      Src: /src/glib/gobject/gsignal.c:1674,1
    - Dst: _g_closure_set_va_marshal
      Src: /src/glib/gobject/gsignal.c:1816,1
    - Dst: g_bsearch_array_free
      Src: /src/glib/gobject/gsignal.c:1939,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:2327,1
    - Dst: g_warning
      Src: /src/glib/gobject/gsignal.c:2457,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:3006,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:3069,1
    - Dst: va_start
      Src: /src/glib/gobject/gsignal.c:3595,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/gsignal.c:3794,1
    - Dst: signal_lookup_closure
      Src: /src/glib/gobject/gsignal.c:3713,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:1614,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:1618,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:1973,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignal.c:2064,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gsignal.c:2226,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:3084,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3457,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:3624,1
    - Dst: g_closure_invoke
      Src: /src/glib/gobject/gsignal.c:3734,1
    - Dst: SIGNAL_HOOK
      Src: /src/glib/gobject/gsignal.c:3770,1
    - Dst: TRACE
      Src: /src/glib/gobject/gsignal.c:4047,1
    - Dst: handler_ref
      Src: /src/glib/gobject/gsignal.c:3885,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:1637,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/gsignal.c:1877,1
    - Dst: type_debug_name
      Src: /src/glib/gobject/gsignal.c:1979,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2054,1
    - Dst: g_free
      Src: /src/glib/gobject/gsignal.c:2245,1
    - Dst: G_TYPE_IS_OBJECT
      Src: /src/glib/gobject/gsignal.c:2528,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gsignal.c:3304,1
    - Dst: emission_pop
      Src: /src/glib/gobject/gsignal.c:3452,1
    - Dst: TRACE
      Src: /src/glib/gobject/gsignal.c:3686,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gobject/gsignal.c:4085,1
    - Dst: g_steal_pointer
      Src: /src/glib/gobject/gsignal.c:3823,1
    - Dst: _g_closure_invoke_va
      Src: /src/glib/gobject/gsignal.c:3437,1
    - Dst: g_closure_ref
      Src: /src/glib/gobject/gsignal.c:2343,1
    - Dst: G_TYPE_IS_VALUE
      Src: /src/glib/gobject/gsignal.c:1662,1
    - Dst: type_debug_name
      Src: /src/glib/gobject/gsignal.c:1985,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2201,1
    - Dst: g_free
      Src: /src/glib/gobject/gsignal.c:3558,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gobject/gsignal.c:2743,1
    - Dst: type_debug_name
      Src: /src/glib/gobject/gsignal.c:1665,1
    - Dst: emission_find_innermost
      Src: /src/glib/gobject/gsignal.c:2132,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2356,1
    - Dst: node_check_deprecated
      Src: /src/glib/gobject/gsignal.c:2517,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2956,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:3059,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:3145,1
    - Dst: node_update_single_va_closure
      Src: /src/glib/gobject/gsignal.c:3318,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsignal.c:3566,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3643,1
    - Dst: accumulate
      Src: /src/glib/gobject/gsignal.c:3739,1
    - Dst: signal_parse_name
      Src: /src/glib/gobject/gsignal.c:2402,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:1805,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2129,1
    - Dst: type_debug_name
      Src: /src/glib/gobject/gsignal.c:3168,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3419,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gsignal.c:4018,1
    - Dst: handler_unref_R
      Src: /src/glib/gobject/gsignal.c:4088,1
    - Dst: g_hook_list_clear
      Src: /src/glib/gobject/gsignal.c:1944,1
    - Dst: signal_handler_block_unlocked
      Src: /src/glib/gobject/gsignal.c:2578,1
    - Dst: signal_find_class_closure
      Src: /src/glib/gobject/gsignal.c:2076,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1742,1
    - Dst: type_debug_name
      Src: /src/glib/gobject/gsignal.c:1645,1
    - Dst: type_debug_name
      Src: /src/glib/gobject/gsignal.c:1656,1
    - Dst: _g_object_has_signal_handler
      Src: /src/glib/gobject/gsignal.c:3353,1
    - Dst: maybe_init_accumulator_unlocked
      Src: /src/glib/gobject/gsignal.c:3733,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1743,1
    - Dst: g_hook_next_valid
      Src: /src/glib/gobject/gsignal.c:3815,1
    - Dst: signal_add_class_closure
      Src: /src/glib/gobject/gsignal.c:1775,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsignal.c:2254,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsignal.c:3554,1
    - Dst: handler_unref_R
      Src: /src/glib/gobject/gsignal.c:3718,1
    - Dst: g_closure_invoke
      Src: /src/glib/gobject/gsignal.c:3941,1
    - Dst: g_memdup2
      Src: /src/glib/gobject/gsignal.c:1704,1
    - Dst: signal_add_class_closure
      Src: /src/glib/gobject/gsignal.c:1987,1
    - Dst: g_value_init_from_instance
      Src: /src/glib/gobject/gsignal.c:2205,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2279,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2408,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gsignal.c:2446,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2628,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3016,1
    - Dst: G_VALUE_TYPE_NAME
      Src: /src/glib/gobject/gsignal.c:3190,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:3545,1
    - Dst: g_free
      Src: /src/glib/gobject/gsignal.c:1779,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:1675,1
    - Dst: va_end
      Src: /src/glib/gobject/gsignal.c:2257,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:3144,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2157,1
    - Dst: g_free
      Src: /src/glib/gobject/gsignal.c:2190,1
    - Dst: G_TYPE_IS_OBJECT
      Src: /src/glib/gobject/gsignal.c:2338,1
    - Dst: remove_invalid_closure_notify
      Src: /src/glib/gobject/gsignal.c:2694,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2058,1
    - Dst: g_type_parent
      Src: /src/glib/gobject/gsignal.c:2149,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2505,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2776,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2209,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:3301,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2677,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:1920,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2084,1
    - Dst: va_end
      Src: /src/glib/gobject/gsignal.c:2198,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsignal.c:2240,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2396,1
    - Dst: g_closure_ref
      Src: /src/glib/gobject/gsignal.c:2421,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsignal.c:3446,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:1640,1
    - Dst: type_debug_name
      Src: /src/glib/gobject/gsignal.c:1673,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2281,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2323,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gsignal.c:2332,1
    - Dst: G_CLOSURE_NEEDS_MARSHAL
      Src: /src/glib/gobject/gsignal.c:2347,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2951,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:3064,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3126,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:3938,1
    - Dst: G_TYPE_IS_INTERFACE
      Src: /src/glib/gobject/gsignal.c:1616,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2017,1
    - Dst: g_type_parent
      Src: /src/glib/gobject/gsignal.c:2076,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2679,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2823,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:3124,1
    - Dst: handler_list_lookup
      Src: /src/glib/gobject/gsignal.c:3210,1
    - Dst: _g_closure_is_void
      Src: /src/glib/gobject/gsignal.c:3338,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:4015,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gobject/gsignal.c:4133,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:3479,1
    - Dst: g_hook_unref
      Src: /src/glib/gobject/gsignal.c:3869,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:3166,1
    - Dst: signal_find_class_closure
      Src: /src/glib/gobject/gsignal.c:2143,1
    - Dst: g_closure_sink
      Src: /src/glib/gobject/gsignal.c:2344,1
    - Dst: g_closure_ref
      Src: /src/glib/gobject/gsignal.c:2533,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:3686,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:4078,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:3625,1
    - Dst: G_VALUE_LCOPY
      Src: /src/glib/gobject/gsignal.c:3549,1
    - Dst: GOBJECT_SIGNAL_NEW
      Src: /src/glib/gobject/gsignal.c:1696,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2259,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:2405,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:3142,1
    - Dst: TRACE
      Src: /src/glib/gobject/gsignal.c:3487,1
    - Dst: accumulate
      Src: /src/glib/gobject/gsignal.c:3946,1
    - Dst: handler_lookup
      Src: /src/glib/gobject/gsignal.c:2642,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2896,1
    - Dst: g_free
      Src: /src/glib/gobject/gsignal.c:1657,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:1947,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:1972,1
    - Dst: signal_emit_unlocked_R
      Src: /src/glib/gobject/gsignal.c:3225,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:3306,1
    - Dst: handler_ref
      Src: /src/glib/gobject/gsignal.c:3918,1
    - Dst: g_closure_remove_invalidate_notifier
      Src: /src/glib/gobject/gsignal.c:4066,1
    - Dst: emission_push
      Src: /src/glib/gobject/gsignal.c:3712,1
    - Dst: handler_ref
      Src: /src/glib/gobject/gsignal.c:3964,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2434,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2400,1
    - Dst: g_intern_string
      Src: /src/glib/gobject/gsignal.c:1692,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2056,1
    - Dst: handler_lookup
      Src: /src/glib/gobject/gsignal.c:2688,1
    - Dst: signal_handlers_foreach_matched_unlocked_R
      Src: /src/glib/gobject/gsignal.c:2902,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:3304,1
    - Dst: G_VALUE_LCOPY
      Src: /src/glib/gobject/gsignal.c:3471,1
    - Dst: g_signal_emit_valist
      Src: /src/glib/gobject/gsignal.c:3596,1
    - Dst: emission_find
      Src: /src/glib/gobject/gsignal.c:3697,1
    - Dst: G_TYPE_IS_OBJECT
      Src: /src/glib/gobject/gsignal.c:2416,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gsignal.c:2521,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:1658,1
    - Dst: _g_closure_set_va_marshal
      Src: /src/glib/gobject/gsignal.c:2429,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gsignal.c:3469,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:3624,1
    - Dst: g_atomic_int_compare_and_exchange
      Src: /src/glib/gobject/gsignal.c:3855,1
    - Dst: g_value_copy
      Src: /src/glib/gobject/gsignal.c:4168,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2631,1
    - Dst: emission_find_innermost
      Src: /src/glib/gobject/gsignal.c:2282,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2504,1
    - Dst: g_closure_invoke
      Src: /src/glib/gobject/gsignal.c:3901,1
    - Dst: g_closure_invoke
      Src: /src/glib/gobject/gsignal.c:4021,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignal.c:4083,1
    - Dst: handler_match_free1_R
      Src: /src/glib/gobject/gsignal.c:2851,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:1619,1
    - Dst: g_strdup
      Src: /src/glib/gobject/gsignal.c:1628,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignal.c:2137,1
    - Dst: _g_closure_set_va_marshal
      Src: /src/glib/gobject/gsignal.c:2351,1
    - Dst: g_value_init_from_instance
      Src: /src/glib/gobject/gsignal.c:3529,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2952,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:3392,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/gsignal.c:3821,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2019,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2545,1
    - Dst: handler_insert
      Src: /src/glib/gobject/gsignal.c:2535,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2633,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2322,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2574,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:1643,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1746,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:1804,1
    - Dst: ADD_CHECK
      Src: /src/glib/gobject/gsignal.c:1747,1
    - Dst: g_hook_first_valid
      Src: /src/glib/gobject/gsignal.c:3813,1
    CyclomaticComplexity: 426
    EdgeCount: 426
    ICount: 1289
    argCount: 10
    argNames:
    - signal_name
    - itype
    - signal_flags
    - class_closure
    - accumulator
    - accu_data
    - c_marshaller
    - return_type
    - n_params
    - param_types
    argTypes:
    - gchar*
    - GType
    - GSignalFlags
    - GClosure*
    - GSignalAccumulator
    - gpointer
    - GSignalCMarshaller
    - GType
    - guint
    - GType*
    constantsTouched: []
    func_position:
      end: 4200
      start: 1594
    functionDepth: 0
    functionLinenumber: 1594
    functionLinenumberEnd: 4200
    functionName: g_signal_newv
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - canonicalize_key
    - g_steal_pointer
    - GOBJECT_SIGNAL_NEW
    - handler_match_free1_R
    - G_UNLIKELY
    - signal_handlers_foreach_matched_unlocked_R
    - SIGNAL_UNLOCK
    - is_canonical
    - g_closure_unref
    - signal_find_class_closure
    - hook_func
    - G_N_ELEMENTS
    - handler_insert
    - SIGNAL_HOOK
    - callback
    - signal_id_lookup
    - _g_closure_invoke_va
    - signal_add_class_closure
    - G_VALUE_COLLECT_INIT
    - g_renew
    - signal_parse_name
    - g_quark_from_string
    - handler_list_lookup
    - _g_closure_is_void
    - G_VALUE_TYPE_NAME
    - emission_find_innermost
    - signal_emit_unlocked_R
    - g_closure_set_marshal
    - g_return_if_fail
    - G_TYPE_FROM_INSTANCE
    - emission_push
    - g_type_name
    - g_signal_newv
    - remove_invalid_closure_notify
    - G_VALUE_LCOPY
    - G_TYPE_IS_INTERFACE
    - va_end
    - g_memdup2
    - LOOKUP_SIGNAL_NODE
    - g_intern_string
    - g_warning
    - g_closure_invoke
    - g_bsearch_array_get_nth
    - g_signal_lookup
    - G_TYPE_CHECK_INSTANCE
    - signal_emitv_unlocked
    - type_debug_name
    - g_new
    - g_hook_list_clear
    - g_value_init
    - g_closure_add_invalidate_notifier
    - GOBJECT_SIGNAL_EMIT
    - handler_lookup
    - g_cclosure_new
    - node_update_single_va_closure
    - TRACE
    - g_value_peek_pointer
    - g_hook_next_valid
    - g_object_ref
    - _g_object_has_signal_handler
    - handler_new
    - g_value_reset
    - node_check_deprecated
    - g_type_is_a
    - g_newa
    - _g_closure_set_va_marshal
    - accumulate
    - emission_pop
    - g_object_unref
    - g_hash_table_lookup
    - G_TYPE_IS_OBJECT
    - g_hook_first_valid
    - handlers_find
    - signal_emit_valist_unlocked
    - G_TYPE_IS_VALUE
    - _g_closure_supports_invoke_va
    - g_hook_ref
    - signal_handler_unblock_unlocked
    - g_value_set_boolean
    - va_arg
    - G_TYPE_IS_INSTANTIATABLE
    - g_signal_is_valid_name
    - g_closure_sink
    - g_closure_remove_invalidate_notifier
    - g_assert
    - g_value_get_boolean
    - g_value_init_from_instance
    - signal_handler_block_unlocked
    - g_hook_unref
    - GOBJECT_SIGNAL_EMIT_END
    - G_VALUE_COLLECT_SKIP
    - handler_ref
    - signal_handler_disconnect_unlocked
    - g_newa0
    - emission_find
    - ADD_CHECK
    - g_error
    - signal_lookup_closure
    - g_value_copy
    - add_invalid_closure_notify
    - g_clear_signal_handler
    - g_closure_ref
    - g_bsearch_array_free
    - maybe_init_accumulator_unlocked
    - handler_unref_R
    - g_bsearch_array_insert
    - g_strdup
    - g_signal_override_class_closure
    - g_hash_table_remove
    - g_getenv
    - g_hook_destroy_link
    - G_TYPE_CHECK_VALUE_TYPE
    - g_type_parent
    - va_start
    - g_signal_emit_valist
    - g_return_val_if_fail
    - g_atomic_int_or
    - g_atomic_int_compare_and_exchange
    - _g_object_set_has_signal_handler
    - g_critical
    - g_free
    - G_CLOSURE_NEEDS_MARSHAL
    - SIGNAL_LOCK
    - g_value_unset
    linkageType: ''
    returnType: guint
    signature: "guint g_signal_newv (const gchar *signal_name, GType itype, GSignalFlags\
      \ signal_flags, GClosure *class_closure, GSignalAccumulator accumulator,\t gpointer\t\
      \t accu_data, GSignalCMarshaller c_marshaller, GType\t\t return_type, guint\
      \ n_params, GType\t\t *param_types) "
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:621,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignal.c:636,1
    - Dst: handler_list_lookup
      Src: /src/glib/gobject/gsignal.c:635,1
    - Dst: handler_list_lookup
      Src: /src/glib/gobject/gsignal.c:646,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gsignal.c:625,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignal.c:649,1
    - Dst: handler_list_lookup
      Src: /src/glib/gobject/gsignal.c:658,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignal.c:661,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:667,1
    - Dst: g_closure_unref
      Src: /src/glib/gobject/gsignal.c:668,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:669,1
    - Dst: g_slice_free
      Src: /src/glib/gobject/gsignal.c:670,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 3
    argNames:
    - signal_id
    - instance
    - handler
    argTypes:
    - guint
    - gpointer
    - Handler*
    constantsTouched: []
    func_position:
      end: 672
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 672
    functionName: handler_unref_R
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_closure_unref
    - g_return_if_fail
    - g_assert
    - handler_list_lookup
    - G_UNLIKELY
    - g_slice_free
    - SIGNAL_UNLOCK
    - SIGNAL_LOCK
    linkageType: ''
    returnType: void
    signature: "static inline void handler_unref_R (guint signal_id,\t\t gpointer\
      \ instance,\t\t Handler *handler) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/glib/gobject/gsignal.c:781,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - emission
    argTypes:
    - Emission*
    constantsTouched: []
    func_position:
      end: 782
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 782
    functionName: emission_pop
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    linkageType: ''
    returnType: void
    signature: 'static inline void emission_pop (Emission *emission) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_closure_add_invalidate_notifier
      Src: /src/glib/gobject/gsignal.c:4056,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - handler
    - instance
    argTypes:
    - Handler*
    - gpointer
    constantsTouched: []
    func_position:
      end: 4058
      start: 4052
    functionDepth: 0
    functionLinenumber: 4052
    functionLinenumberEnd: 4058
    functionName: add_invalid_closure_notify
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_closure_add_invalidate_notifier
    linkageType: ''
    returnType: void
    signature: "static void add_invalid_closure_notify (Handler *handler,\t\t\t gpointer\
      \ instance) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:4078,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignal.c:4082,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gobject/gsignal.c:4085,1
    - Dst: handler_lookup
      Src: /src/glib/gobject/gsignal.c:4080,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignal.c:4083,1
    - Dst: handler_unref_R
      Src: /src/glib/gobject/gsignal.c:4088,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:4090,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - instance
    - closure
    argTypes:
    - gpointer
    - GClosure*
    constantsTouched: []
    func_position:
      end: 4091
      start: 4071
    functionDepth: 0
    functionLinenumber: 4071
    functionLinenumberEnd: 4091
    functionName: invalid_closure_notify
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - handler_unref_R
    - g_hash_table_remove
    - g_assert
    - SIGNAL_UNLOCK
    - SIGNAL_LOCK
    - handler_lookup
    linkageType: ''
    returnType: void
    signature: "static void invalid_closure_notify (gpointer instance,\t\t GClosure\
      \ *closure) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/gsignal.c:681,1
    - Dst: handler_list_ensure
      Src: /src/glib/gobject/gsignal.c:683,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 3
    argNames:
    - signal_id
    - instance
    - handler
    argTypes:
    - guint
    - gpointer
    - Handler*
    constantsTouched: []
    func_position:
      end: 717
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 717
    functionName: handler_insert
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_assert
    - handler_list_ensure
    linkageType: ''
    returnType: void
    signature: "static void handler_insert (guint signal_id,\t\tgpointer instance,\t\
      \tHandler *handler) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 797
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 797
    functionName: emission_find
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Emission*
    signature: "static inline Emission *emission_find (guint signal_id,\t GQuark detail,\t\
      \ gpointer instance) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_closure_remove_invalidate_notifier
      Src: /src/glib/gobject/gsignal.c:4066,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - handler
    - instance
    argTypes:
    - Handler*
    - gpointer
    constantsTouched: []
    func_position:
      end: 4069
      start: 4060
    functionDepth: 0
    functionLinenumber: 4060
    functionLinenumberEnd: 4069
    functionName: remove_invalid_closure_notify
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_closure_remove_invalidate_notifier
    linkageType: ''
    returnType: void
    signature: "static void remove_invalid_closure_notify (Handler *handler,\t\t\t\
      \ gpointer instance) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_type_name
      Src: /src/glib/gobject/gsignal.c:4098,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4103
      start: 4093
    functionDepth: 0
    functionLinenumber: 4093
    functionLinenumberEnd: 4103
    functionName: type_debug_name
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_type_name
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *type_debug_name (GType type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:3006,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:3011,1
    - Dst: signal_handlers_foreach_matched_unlocked_R
      Src: /src/glib/gobject/gsignal.c:3013,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:3006,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:3007,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3016,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 7
    argNames:
    - instance
    - mask
    - signal_id
    - detail
    - closure
    - func
    - data
    argTypes:
    - gpointer
    - GSignalMatchType
    - guint
    - GQuark
    - GClosure*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 3020
      start: 2995
    functionDepth: 0
    functionLinenumber: 2995
    functionLinenumberEnd: 3020
    functionName: g_signal_handlers_disconnect_matched
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_TYPE_CHECK_INSTANCE
    - signal_handlers_foreach_matched_unlocked_R
    - SIGNAL_UNLOCK
    - SIGNAL_LOCK
    linkageType: ''
    returnType: guint
    signature: "guint g_signal_handlers_disconnect_matched (gpointer instance,\t\t\
      \t\t GSignalMatchType mask,\t\t\t\t guint signal_id,\t\t\t\t GQuark detail,\t\
      \t\t\t GClosure *closure,\t\t\t\t gpointer func,\t\t\t\t gpointer data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:1482,1
    - Dst: g_signal_new_valist
      Src: /src/glib/gobject/gsignal.c:1486,1
    - Dst: va_end
      Src: /src/glib/gobject/gsignal.c:1491,1
    - Dst: g_cclosure_new
      Src: /src/glib/gobject/gsignal.c:1487,1
    - Dst: va_start
      Src: /src/glib/gobject/gsignal.c:1484,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 9
    argNames:
    - signal_name
    - itype
    - signal_flags
    - class_handler
    - accumulator
    - accu_data
    - c_marshaller
    - return_type
    - n_params
    - '...'
    argTypes:
    - gchar*
    - GType
    - GSignalFlags
    - GCallback
    - GSignalAccumulator
    - gpointer
    - GSignalCMarshaller
    - GType
    - guint
    constantsTouched: []
    func_position:
      end: 1494
      start: 1467
    functionDepth: 0
    functionLinenumber: 1467
    functionLinenumberEnd: 1494
    functionName: g_signal_new_class_handler
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_cclosure_new
    - g_signal_new_valist
    - g_return_val_if_fail
    - va_end
    - va_start
    linkageType: ''
    returnType: guint
    signature: 'guint g_signal_new_class_handler (const gchar *signal_name, GType
      itype, GSignalFlags signal_flags, GCallback class_handler, GSignalAccumulator
      accumulator, gpointer accu_data, GSignalCMarshaller c_marshaller, GType return_type,
      guint n_params, ...) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:3312,1
    - Dst: node_update_single_va_closure
      Src: /src/glib/gobject/gsignal.c:3318,1
    - Dst: handler_list_lookup
      Src: /src/glib/gobject/gsignal.c:3354,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gsignal.c:3425,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsignal.c:3446,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:3448,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gsignal.c:3469,1
    - Dst: G_VALUE_COLLECT_INIT
      Src: /src/glib/gobject/gsignal.c:3510,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3499,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:3516,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3534,1
    - Dst: g_free
      Src: /src/glib/gobject/gsignal.c:3480,1
    - Dst: g_free
      Src: /src/glib/gobject/gsignal.c:3558,1
    - Dst: GOBJECT_SIGNAL_EMIT_END
      Src: /src/glib/gobject/gsignal.c:3487,1
    - Dst: G_VALUE_LCOPY
      Src: /src/glib/gobject/gsignal.c:3549,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:3300,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:3303,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:3300,1
    - Dst: handler_unref_R
      Src: /src/glib/gobject/gsignal.c:3455,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3457,1
    - Dst: G_VALUE_COLLECT_SKIP
      Src: /src/glib/gobject/gsignal.c:3465,1
    - Dst: TRACE
      Src: /src/glib/gobject/gsignal.c:3487,1
    - Dst: g_newa0
      Src: /src/glib/gobject/gsignal.c:3501,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:3532,1
    - Dst: signal_emit_unlocked_R
      Src: /src/glib/gobject/gsignal.c:3533,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gsignal.c:3304,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:3306,1
    - Dst: _g_closure_is_void
      Src: /src/glib/gobject/gsignal.c:3338,1
    - Dst: _g_closure_supports_invoke_va
      Src: /src/glib/gobject/gsignal.c:3363,1
    - Dst: GOBJECT_SIGNAL_EMIT
      Src: /src/glib/gobject/gsignal.c:3417,1
    - Dst: _g_closure_supports_invoke_va
      Src: /src/glib/gobject/gsignal.c:3340,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3419,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gsignal.c:3422,1
    - Dst: _g_closure_invoke_va
      Src: /src/glib/gobject/gsignal.c:3437,1
    - Dst: emission_pop
      Src: /src/glib/gobject/gsignal.c:3452,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gsignal.c:3543,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:3557,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/gsignal.c:3492,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:3545,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:3479,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsignal.c:3523,1
    - Dst: signal_emit_unlocked_R
      Src: /src/glib/gobject/gsignal.c:3546,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3547,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:3301,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:3304,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:3392,1
    - Dst: handler_ref
      Src: /src/glib/gobject/gsignal.c:3413,1
    - Dst: TRACE
      Src: /src/glib/gobject/gsignal.c:3417,1
    - Dst: emission_push
      Src: /src/glib/gobject/gsignal.c:3410,1
    - Dst: _g_object_has_signal_handler
      Src: /src/glib/gobject/gsignal.c:3353,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/gsignal.c:3435,1
    - Dst: accumulate
      Src: /src/glib/gobject/gsignal.c:3443,1
    - Dst: G_VALUE_LCOPY
      Src: /src/glib/gobject/gsignal.c:3471,1
    - Dst: g_free
      Src: /src/glib/gobject/gsignal.c:3517,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsignal.c:3567,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsignal.c:3566,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsignal.c:3554,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsignal.c:3476,1
    - Dst: g_value_init_from_instance
      Src: /src/glib/gobject/gsignal.c:3529,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 168
    argCount: 4
    argNames:
    - instance
    - signal_id
    - detail
    - var_args
    argTypes:
    - gpointer
    - guint
    - GQuark
    - va_list
    constantsTouched: []
    func_position:
      end: 3570
      start: 3289
    functionDepth: 0
    functionLinenumber: 3289
    functionLinenumberEnd: 3570
    functionName: signal_emit_valist_unlocked
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - handler_ref
    - _g_object_has_signal_handler
    - g_newa0
    - G_VALUE_LCOPY
    - g_type_is_a
    - SIGNAL_UNLOCK
    - accumulate
    - LOOKUP_SIGNAL_NODE
    - emission_pop
    - g_object_unref
    - _g_closure_invoke_va
    - G_TYPE_CHECK_INSTANCE
    - handler_unref_R
    - _g_closure_supports_invoke_va
    - G_VALUE_COLLECT_INIT
    - handler_list_lookup
    - _g_closure_is_void
    - g_value_init
    - signal_emit_unlocked_R
    - GOBJECT_SIGNAL_EMIT
    - g_return_val_if_fail
    - node_update_single_va_closure
    - TRACE
    - G_TYPE_FROM_INSTANCE
    - g_value_init_from_instance
    - emission_push
    - GOBJECT_SIGNAL_EMIT_END
    - g_critical
    - g_object_ref
    - g_free
    - G_VALUE_COLLECT_SKIP
    - SIGNAL_LOCK
    - g_value_unset
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean signal_emit_valist_unlocked (gpointer instance, guint
      signal_id, GQuark detail, va_list var_args) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_copy
      Src: /src/glib/gobject/gsignal.c:4168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - ihint
    - return_accu
    - handler_return
    - dummy
    argTypes:
    - GSignalInvocationHint*
    - GValue*
    - GValue*
    - gpointer
    constantsTouched: []
    func_position:
      end: 4170
      start: 4162
    functionDepth: 0
    functionLinenumber: 4162
    functionLinenumberEnd: 4170
    functionName: g_signal_accumulator_first_wins
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_value_copy
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_signal_accumulator_first_wins (GSignalInvocationHint *ihint,
      GValue *return_accu, const GValue *handler_return, gpointer dummy) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_bsearch_array_get_n_nodes
      Src: /src/glib/gobject/gsignal.c:1509,1
    - Dst: g_type_parent
      Src: /src/glib/gobject/gsignal.c:1520,1
    - Dst: g_bsearch_array_lookup
      Src: /src/glib/gobject/gsignal.c:1521,1
    - Dst: g_bsearch_array_lookup
      Src: /src/glib/gobject/gsignal.c:1517,1
    - Dst: g_bsearch_array_get_nth
      Src: /src/glib/gobject/gsignal.c:1511,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1527
      start: 1496
    functionDepth: 0
    functionLinenumber: 1496
    functionLinenumberEnd: 1527
    functionName: signal_find_class_closure
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_bsearch_array_lookup
    - g_bsearch_array_get_nth
    - g_type_parent
    - g_bsearch_array_get_n_nodes
    linkageType: ''
    returnType: ClassClosure*
    signature: "static inline ClassClosure *signal_find_class_closure (SignalNode\
      \ *node,\t\t\t GType itype) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:3275,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3277,1
    - Dst: signal_emit_valist_unlocked
      Src: /src/glib/gobject/gsignal.c:3276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - instance
    - signal_id
    - detail
    - var_args
    argTypes:
    - gpointer
    - guint
    - GQuark
    - va_list
    constantsTouched: []
    func_position:
      end: 3278
      start: 3269
    functionDepth: 0
    functionLinenumber: 3269
    functionLinenumberEnd: 3278
    functionName: g_signal_emit_valist
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - signal_emit_valist_unlocked
    - SIGNAL_UNLOCK
    - SIGNAL_LOCK
    linkageType: ''
    returnType: void
    signature: "void g_signal_emit_valist (gpointer instance,\t\t guint signal_id,\t\
      \t GQuark detail,\t\t va_list var_args) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_get_boolean
      Src: /src/glib/gobject/gsignal.c:4133,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gobject/gsignal.c:4134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - ihint
    - return_accu
    - handler_return
    - dummy
    argTypes:
    - GSignalInvocationHint*
    - GValue*
    - GValue*
    - gpointer
    constantsTouched: []
    func_position:
      end: 4138
      start: 4124
    functionDepth: 0
    functionLinenumber: 4124
    functionLinenumberEnd: 4138
    functionName: g_signal_accumulator_true_handled
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_value_get_boolean
    - g_value_set_boolean
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_signal_accumulator_true_handled (GSignalInvocationHint\
      \ *ihint,\t\t\t\t GValue *return_accu,\t\t\t\t const GValue *handler_return,\t\
      \t\t\t gpointer dummy) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 809
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 809
    functionName: emission_find_innermost
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Emission*
    signature: 'static inline Emission *emission_find_innermost (gpointer instance) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:2515,1
    - Dst: node_check_deprecated
      Src: /src/glib/gobject/gsignal.c:2517,1
    - Dst: handler_new
      Src: /src/glib/gobject/gsignal.c:2526,1
    - Dst: g_closure_ref
      Src: /src/glib/gobject/gsignal.c:2533,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gsignal.c:2521,1
    - Dst: g_closure_set_marshal
      Src: /src/glib/gobject/gsignal.c:2538,1
    - Dst: _g_closure_set_va_marshal
      Src: /src/glib/gobject/gsignal.c:2540,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2503,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2503,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2504,1
    - Dst: signal_parse_name
      Src: /src/glib/gobject/gsignal.c:2512,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2520,1
    - Dst: G_CLOSURE_NEEDS_MARSHAL
      Src: /src/glib/gobject/gsignal.c:2536,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2510,1
    - Dst: G_TYPE_IS_OBJECT
      Src: /src/glib/gobject/gsignal.c:2528,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2547,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2505,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2511,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2522,1
    - Dst: _g_object_set_has_signal_handler
      Src: /src/glib/gobject/gsignal.c:2529,1
    - Dst: g_closure_sink
      Src: /src/glib/gobject/gsignal.c:2534,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gsignal.c:2523,1
    - Dst: handler_insert
      Src: /src/glib/gobject/gsignal.c:2535,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2545,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gsignal.c:2546,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 6
    argNames:
    - instance
    - detailed_signal
    - c_handler
    - data
    - destroy_data
    - connect_flags
    argTypes:
    - gpointer
    - gchar*
    - GCallback
    - gpointer
    - GClosureNotify
    - GConnectFlags
    constantsTouched: []
    func_position:
      end: 2550
      start: 2489
    functionDepth: 0
    functionLinenumber: 2489
    functionLinenumberEnd: 2550
    functionName: g_signal_connect_data
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - handler_new
    - node_check_deprecated
    - g_type_is_a
    - SIGNAL_UNLOCK
    - _g_closure_set_va_marshal
    - LOOKUP_SIGNAL_NODE
    - g_closure_ref
    - handler_insert
    - G_TYPE_IS_OBJECT
    - G_TYPE_CHECK_INSTANCE
    - signal_parse_name
    - g_closure_sink
    - g_closure_set_marshal
    - g_return_val_if_fail
    - G_TYPE_FROM_INSTANCE
    - _g_object_set_has_signal_handler
    - g_critical
    - G_CLOSURE_NEEDS_MARSHAL
    - SIGNAL_LOCK
    - g_type_name
    linkageType: ''
    returnType: gulong
    signature: "gulong g_signal_connect_data (gpointer instance,\t\t const gchar *detailed_signal,\t\
      \t GCallback c_handler,\t\t gpointer data,\t\t GClosureNotify destroy_data,\t\
      \t GConnectFlags connect_flags) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2895,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2895,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2896,1
    - Dst: signal_handlers_foreach_matched_unlocked_R
      Src: /src/glib/gobject/gsignal.c:2902,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2900,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2905,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 7
    argNames:
    - instance
    - mask
    - signal_id
    - detail
    - closure
    - func
    - data
    argTypes:
    - gpointer
    - GSignalMatchType
    - guint
    - GQuark
    - GClosure*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 2909
      start: 2884
    functionDepth: 0
    functionLinenumber: 2884
    functionLinenumberEnd: 2909
    functionName: g_signal_handlers_block_matched
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_TYPE_CHECK_INSTANCE
    - signal_handlers_foreach_matched_unlocked_R
    - SIGNAL_UNLOCK
    - SIGNAL_LOCK
    linkageType: ''
    returnType: guint
    signature: "guint g_signal_handlers_block_matched (gpointer instance,\t\t\t\t\
      \ GSignalMatchType mask,\t\t\t\t guint signal_id,\t\t\t\t GQuark detail,\t\t\
      \t\t GClosure *closure,\t\t\t\t gpointer func,\t\t\t\t gpointer data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_BSEARCH_ARRAY_CMP
      Src: /src/glib/gobject/gsignal.c:818,1
    - Dst: G_BSEARCH_ARRAY_CMP
      Src: /src/glib/gobject/gsignal.c:820,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - node1
    - node2
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 821
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 821
    functionName: signal_key_cmp
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - G_BSEARCH_ARRAY_CMP
    linkageType: ''
    returnType: gint
    signature: 'static gint signal_key_cmp (gconstpointer node1, gconstpointer node2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:1412,1
    - Dst: g_signal_type_cclosure_new
      Src: /src/glib/gobject/gsignal.c:1417,1
    - Dst: g_signal_new_valist
      Src: /src/glib/gobject/gsignal.c:1416,1
    - Dst: va_end
      Src: /src/glib/gobject/gsignal.c:1421,1
    - Dst: va_start
      Src: /src/glib/gobject/gsignal.c:1414,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 9
    argNames:
    - signal_name
    - itype
    - signal_flags
    - class_offset
    - accumulator
    - accu_data
    - c_marshaller
    - return_type
    - n_params
    - '...'
    argTypes:
    - gchar*
    - GType
    - GSignalFlags
    - guint
    - GSignalAccumulator
    - gpointer
    - GSignalCMarshaller
    - GType
    - guint
    constantsTouched: []
    func_position:
      end: 1424
      start: 1397
    functionDepth: 0
    functionLinenumber: 1397
    functionLinenumberEnd: 1424
    functionName: g_signal_new
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_signal_new_valist
    - g_return_val_if_fail
    - va_end
    - g_signal_type_cclosure_new
    - va_start
    linkageType: ''
    returnType: guint
    signature: "guint g_signal_new (const gchar\t *signal_name,\t GType\t\t itype,\t\
      \ GSignalFlags\t signal_flags,\t guint class_offset,\t GSignalAccumulator accumulator,\t\
      \ gpointer\t\t accu_data,\t GSignalCMarshaller c_marshaller,\t GType\t\t return_type,\t\
      \ guint\t\t n_params,\t ...) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: handlers_find
      Src: /src/glib/gobject/gsignal.c:2844,1
    - Dst: callback
      Src: /src/glib/gobject/gsignal.c:2849,1
    - Dst: handler_match_free1_R
      Src: /src/glib/gobject/gsignal.c:2851,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 8
    argNames:
    - instance
    - mask
    - signal_id
    - detail
    - closure
    - func
    - data
    - callback
    argTypes:
    - gpointer
    - GSignalMatchType
    - guint
    - GQuark
    - GClosure*
    - gpointer
    - gpointer
    - CallbackHandlerFunc
    constantsTouched: []
    func_position:
      end: 2855
      start: 2831
    functionDepth: 0
    functionLinenumber: 2831
    functionLinenumberEnd: 2855
    functionName: signal_handlers_foreach_matched_unlocked_R
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - handler_match_free1_R
    - callback
    - handlers_find
    linkageType: ''
    returnType: guint
    signature: 'static guint signal_handlers_foreach_matched_unlocked_R (gpointer
      instance, GSignalMatchType mask, guint signal_id, GQuark detail, GClosure *closure,
      gpointer func, gpointer data, CallbackHandlerFunc callback) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handler_unref_R
      Src: /src/glib/gobject/gsignal.c:492,1
    - Dst: g_slice_free
      Src: /src/glib/gobject/gsignal.c:493,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 496
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 496
    functionName: handler_match_free1_R
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - handler_unref_R
    - g_slice_free
    linkageType: ''
    returnType: HandlerMatch*
    signature: "static inline HandlerMatch *handler_match_free1_R (HandlerMatch *node,\t\
      \t gpointer instance) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:1111,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:1112,1
    - Dst: G_TYPE_IS_INTERFACE
      Src: /src/glib/gobject/gsignal.c:1112,1
    - Dst: G_TYPE_IS_INSTANTIATABLE
      Src: /src/glib/gobject/gsignal.c:1112,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:1114,1
    - Dst: signal_parse_name
      Src: /src/glib/gobject/gsignal.c:1115,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:1117,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:1122,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:1126,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 5
    argNames:
    - detailed_signal
    - itype
    - signal_id_p
    - detail_p
    - force_detail_quark
    argTypes:
    - gchar*
    - GType
    - guint*
    - GQuark*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1134
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1134
    functionName: g_signal_parse_name
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - LOOKUP_SIGNAL_NODE
    - signal_parse_name
    - G_TYPE_IS_INTERFACE
    - G_TYPE_IS_INSTANTIATABLE
    - SIGNAL_UNLOCK
    - SIGNAL_LOCK
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_signal_parse_name (const gchar *detailed_signal,\t\t GType\
      \ itype,\t\t guint *signal_id_p,\t\t GQuark *detail_p,\t\t gboolean\t force_detail_quark) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: handler_lookup
      Src: /src/glib/gobject/gsignal.c:2642,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2651,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2648,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - instance
    - handler_id
    argTypes:
    - gpointer
    - gulong
    constantsTouched: []
    func_position:
      end: 2652
      start: 2636
    functionDepth: 0
    functionLinenumber: 2636
    functionLinenumberEnd: 2652
    functionName: signal_handler_unblock_unlocked
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_critical
    - handler_lookup
    linkageType: ''
    returnType: void
    signature: 'static void signal_handler_unblock_unlocked (gpointer instance, gulong
      handler_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2674,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2674,1
    - Dst: signal_handler_disconnect_unlocked
      Src: /src/glib/gobject/gsignal.c:2678,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2675,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2677,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2679,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - instance
    - handler_id
    argTypes:
    - gpointer
    - gulong
    constantsTouched: []
    func_position:
      end: 2680
      start: 2670
    functionDepth: 0
    functionLinenumber: 2670
    functionLinenumberEnd: 2680
    functionName: g_signal_handler_disconnect
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - signal_handler_disconnect_unlocked
    - g_return_if_fail
    - G_TYPE_CHECK_INSTANCE
    - SIGNAL_UNLOCK
    - SIGNAL_LOCK
    linkageType: ''
    returnType: void
    signature: 'void g_signal_handler_disconnect (gpointer instance, gulong handler_id) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:3059,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:3059,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:3062,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:3064,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:3060,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:3069,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3070,1
    - Dst: handlers_find
      Src: /src/glib/gobject/gsignal.c:3074,1
    - Dst: handler_match_free1_R
      Src: /src/glib/gobject/gsignal.c:3080,1
    - Dst: signal_find_class_closure
      Src: /src/glib/gobject/gsignal.c:3084,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:3084,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3090,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 4
    argNames:
    - instance
    - signal_id
    - detail
    - may_be_blocked
    argTypes:
    - gpointer
    - guint
    - GQuark
    - gboolean
    constantsTouched: []
    func_position:
      end: 3093
      start: 3049
    functionDepth: 0
    functionLinenumber: 3049
    functionLinenumberEnd: 3093
    functionName: g_signal_has_handler_pending
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - signal_find_class_closure
    - g_return_val_if_fail
    - LOOKUP_SIGNAL_NODE
    - G_TYPE_FROM_INSTANCE
    - handler_match_free1_R
    - g_critical
    - G_TYPE_CHECK_INSTANCE
    - SIGNAL_UNLOCK
    - SIGNAL_LOCK
    - handlers_find
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_signal_has_handler_pending (gpointer instance,\t\t\t guint\
      \ signal_id,\t\t\t GQuark detail,\t\t\t gboolean may_be_blocked) "
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: handler_list_lookup
      Src: /src/glib/gobject/gsignal.c:512,1
    - Dst: handler_match_prepend
      Src: /src/glib/gobject/gsignal.c:534,1
    - Dst: G_REAL_CLOSURE
      Src: /src/glib/gobject/gsignal.c:531,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:518,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gobject/gsignal.c:541,1
    - Dst: g_bsearch_array_get_nth
      Src: /src/glib/gobject/gsignal.c:550,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:556,1
    - Dst: G_REAL_CLOSURE
      Src: /src/glib/gobject/gsignal.c:568,1
    - Dst: handler_match_prepend
      Src: /src/glib/gobject/gsignal.c:571,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 88
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 580
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 580
    functionName: handlers_find
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - LOOKUP_SIGNAL_NODE
    - handler_list_lookup
    - g_hash_table_lookup
    - g_bsearch_array_get_nth
    - handler_match_prepend
    - G_REAL_CLOSURE
    linkageType: ''
    returnType: HandlerMatch*
    signature: "static HandlerMatch *handlers_find (gpointer instance,\t GSignalMatchType\
      \ mask,\t guint signal_id,\t GQuark detail,\t GClosure *closure,\t gpointer\
      \ func,\t gpointer data,\t gboolean one_and_only) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: handler_lookup
      Src: /src/glib/gobject/gsignal.c:2688,1
    - Dst: handler_unref_R
      Src: /src/glib/gobject/gsignal.c:2695,1
    - Dst: remove_invalid_closure_notify
      Src: /src/glib/gobject/gsignal.c:2694,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:2698,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gobject/gsignal.c:2691,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - instance
    - handler_id
    argTypes:
    - gpointer
    - gulong
    constantsTouched: []
    func_position:
      end: 2699
      start: 2682
    functionDepth: 0
    functionLinenumber: 2682
    functionLinenumberEnd: 2699
    functionName: signal_handler_disconnect_unlocked
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - handler_unref_R
    - remove_invalid_closure_notify
    - g_hash_table_remove
    - g_critical
    - handler_lookup
    linkageType: ''
    returnType: void
    signature: 'static void signal_handler_disconnect_unlocked (gpointer instance,
      gulong handler_id) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/glib/gobject/gsignal.c:1046,1
    - Dst: signal_id_lookup
      Src: /src/glib/gobject/gsignal.c:1067,1
    - Dst: signal_id_lookup
      Src: /src/glib/gobject/gsignal.c:1051,1
    - Dst: memcpy
      Src: /src/glib/gobject/gsignal.c:1065,1
    - Dst: g_new
      Src: /src/glib/gobject/gsignal.c:1071,1
    - Dst: memcpy
      Src: /src/glib/gobject/gsignal.c:1073,1
    - Dst: signal_id_lookup
      Src: /src/glib/gobject/gsignal.c:1075,1
    - Dst: g_free
      Src: /src/glib/gobject/gsignal.c:1076,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 4
    argNames:
    - name
    - itype
    - detail_p
    - force_quark
    argTypes:
    - gchar*
    - GType
    - GQuark*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1085
      start: 1040
    functionDepth: 0
    functionLinenumber: 1040
    functionLinenumberEnd: 1085
    functionName: signal_parse_name
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_new
    - strchr
    - signal_id_lookup
    - g_free
    linkageType: ''
    returnType: guint
    signature: "static inline guint signal_parse_name (const gchar *name,\t\t GType\
      \ itype,\t\t GQuark *detail_p,\t\t gboolean force_quark) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2628,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2628,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:2629,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2631,1
    - Dst: signal_handler_unblock_unlocked
      Src: /src/glib/gobject/gsignal.c:2632,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2633,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - instance
    - handler_id
    argTypes:
    - gpointer
    - gulong
    constantsTouched: []
    func_position:
      end: 2634
      start: 2624
    functionDepth: 0
    functionLinenumber: 2624
    functionLinenumberEnd: 2634
    functionName: g_signal_handler_unblock
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - signal_handler_unblock_unlocked
    - g_return_if_fail
    - G_TYPE_CHECK_INSTANCE
    - SIGNAL_UNLOCK
    - SIGNAL_LOCK
    linkageType: ''
    returnType: void
    signature: 'void g_signal_handler_unblock (gpointer instance, gulong handler_id) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/gsignal.c:1877,1
    - Dst: g_signal_newv
      Src: /src/glib/gobject/gsignal.c:1887,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/gsignal.c:1877,1
    - Dst: va_arg
      Src: /src/glib/gobject/gsignal.c:1884,1
    - Dst: g_new
      Src: /src/glib/gobject/gsignal.c:1879,1
    - Dst: g_free
      Src: /src/glib/gobject/gsignal.c:1890,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 10
    argNames:
    - signal_name
    - itype
    - signal_flags
    - class_closure
    - accumulator
    - accu_data
    - c_marshaller
    - return_type
    - n_params
    - args
    argTypes:
    - gchar*
    - GType
    - GSignalFlags
    - GClosure*
    - GSignalAccumulator
    - gpointer
    - GSignalCMarshaller
    - GType
    - guint
    - va_list
    constantsTouched: []
    func_position:
      end: 1893
      start: 1853
    functionDepth: 0
    functionLinenumber: 1853
    functionLinenumberEnd: 1893
    functionName: g_signal_new_valist
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_signal_newv
    - g_new
    - G_N_ELEMENTS
    - va_arg
    - G_UNLIKELY
    - g_free
    linkageType: ''
    returnType: guint
    signature: 'guint g_signal_new_valist (const gchar *signal_name, GType itype,
      GSignalFlags signal_flags, GClosure *class_closure, GSignalAccumulator accumulator,
      gpointer accu_data, GSignalCMarshaller c_marshaller, GType return_type, guint
      n_params, va_list args) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_str_equal
      Src: /src/glib/gobject/gsignal.c:296,1
    - Dst: g_param_spec_is_valid_name
      Src: /src/glib/gobject/gsignal.c:299,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 300
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 300
    functionName: g_signal_is_valid_name
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_param_spec_is_valid_name
    - g_str_equal
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_signal_is_valid_name (const gchar *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 269
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 269
    functionName: canonicalize_key
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void canonicalize_key (gchar *key) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:1804,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:1808,1
    - Dst: g_bsearch_array_get_nth
      Src: /src/glib/gobject/gsignal.c:1814,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:1807,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:1805,1
    - Dst: _g_closure_set_va_marshal
      Src: /src/glib/gobject/gsignal.c:1816,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:1822,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - signal_id
    - instance_type
    - va_marshaller
    argTypes:
    - guint
    - GType
    - GSignalCVaMarshaller
    constantsTouched: []
    func_position:
      end: 1823
      start: 1797
    functionDepth: 0
    functionLinenumber: 1797
    functionLinenumberEnd: 1823
    functionName: g_signal_set_va_marshaller
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - _g_closure_set_va_marshal
    - LOOKUP_SIGNAL_NODE
    - g_return_if_fail
    - g_bsearch_array_get_nth
    - SIGNAL_UNLOCK
    - SIGNAL_LOCK
    linkageType: ''
    returnType: void
    signature: "void g_signal_set_va_marshaller (guint signal_id,\t\t\t GType instance_type,\t\
      \t\t GSignalCVaMarshaller va_marshaller) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:3124,1
    - Dst: signal_emitv_unlocked
      Src: /src/glib/gobject/gsignal.c:3125,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - instance_and_params
    - signal_id
    - detail
    - return_value
    argTypes:
    - GValue*
    - guint
    - GQuark
    - GValue*
    constantsTouched: []
    func_position:
      end: 3127
      start: 3118
    functionDepth: 0
    functionLinenumber: 3118
    functionLinenumberEnd: 3127
    functionName: g_signal_emitv
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - signal_emitv_unlocked
    - SIGNAL_UNLOCK
    - SIGNAL_LOCK
    linkageType: ''
    returnType: void
    signature: "void g_signal_emitv (const GValue *instance_and_params,\t\tguint signal_id,\t\
      \tGQuark\t detail,\t\tGValue *return_value) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gobject/gsignal.c:3660,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3666
      start: 3650
    functionDepth: 0
    functionLinenumber: 3650
    functionLinenumberEnd: 3666
    functionName: maybe_init_accumulator_unlocked
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_value_init
    linkageType: ''
    returnType: G_ALWAYS_INLINE*
    signature: 'G_ALWAYS_INLINE static inline GValue *maybe_init_accumulator_unlocked
      (SignalNode *node, GValue *emission_return, GValue *accumulator_value) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:3144,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:3145,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:3152,1
    - Dst: G_TYPE_CHECK_VALUE_TYPE
      Src: /src/glib/gobject/gsignal.c:3164,1
    - Dst: G_TYPE_CHECK_VALUE_TYPE
      Src: /src/glib/gobject/gsignal.c:3184,1
    - Dst: handler_list_lookup
      Src: /src/glib/gobject/gsignal.c:3210,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsignal.c:3142,1
    - Dst: LOOKUP_SIGNAL_NODE
      Src: /src/glib/gobject/gsignal.c:3151,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:3160,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:3186,1
    - Dst: type_debug_name
      Src: /src/glib/gobject/gsignal.c:3180,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:3178,1
    - Dst: G_VALUE_TYPE_NAME
      Src: /src/glib/gobject/gsignal.c:3190,1
    - Dst: _g_closure_is_void
      Src: /src/glib/gobject/gsignal.c:3204,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/gsignal.c:3143,1
    - Dst: type_debug_name
      Src: /src/glib/gobject/gsignal.c:3168,1
    - Dst: node_update_single_va_closure
      Src: /src/glib/gobject/gsignal.c:3200,1
    - Dst: signal_emit_unlocked_R
      Src: /src/glib/gobject/gsignal.c:3225,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:3144,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gsignal.c:3152,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:3154,1
    - Dst: G_VALUE_TYPE_NAME
      Src: /src/glib/gobject/gsignal.c:3171,1
    - Dst: type_debug_name
      Src: /src/glib/gobject/gsignal.c:3188,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:3166,1
    - Dst: _g_object_has_signal_handler
      Src: /src/glib/gobject/gsignal.c:3209,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 71
    argCount: 4
    argNames:
    - instance_and_params
    - signal_id
    - detail
    - return_value
    argTypes:
    - GValue*
    - guint
    - GQuark
    - GValue*
    constantsTouched: []
    func_position:
      end: 3226
      start: 3129
    functionDepth: 0
    functionLinenumber: 3129
    functionLinenumberEnd: 3226
    functionName: signal_emitv_unlocked
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - LOOKUP_SIGNAL_NODE
    - type_debug_name
    - node_update_single_va_closure
    - g_value_peek_pointer
    - g_return_if_fail
    - G_TYPE_FROM_INSTANCE
    - _g_object_has_signal_handler
    - handler_list_lookup
    - _g_closure_is_void
    - G_VALUE_TYPE_NAME
    - g_critical
    - g_type_is_a
    - G_TYPE_CHECK_VALUE_TYPE
    - G_TYPE_CHECK_INSTANCE
    - signal_emit_unlocked_R
    linkageType: ''
    returnType: void
    signature: 'static void signal_emitv_unlocked (const GValue *instance_and_params,
      guint signal_id, GQuark detail, GValue *return_value) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_quark_try_string
      Src: /src/glib/gobject/gsignal.c:311,1
    - Dst: g_bsearch_array_lookup
      Src: /src/glib/gobject/gsignal.c:320,1
    - Dst: g_type_parent
      Src: /src/glib/gobject/gsignal.c:325,1
    - Dst: g_bsearch_array_lookup
      Src: /src/glib/gobject/gsignal.c:336,1
    - Dst: g_type_interfaces
      Src: /src/glib/gobject/gsignal.c:330,1
    - Dst: g_free
      Src: /src/glib/gobject/gsignal.c:340,1
    - Dst: g_free
      Src: /src/glib/gobject/gsignal.c:344,1
    - Dst: is_canonical
      Src: /src/glib/gobject/gsignal.c:348,1
    - Dst: g_strdup
      Src: /src/glib/gobject/gsignal.c:351,1
    - Dst: canonicalize_key
      Src: /src/glib/gobject/gsignal.c:352,1
    - Dst: signal_id_lookup
      Src: /src/glib/gobject/gsignal.c:354,1
    - Dst: g_free
      Src: /src/glib/gobject/gsignal.c:356,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 2
    argNames:
    - name
    - itype
    argTypes:
    - gchar*
    - GType
    constantsTouched: []
    func_position:
      end: 362
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 362
    functionName: signal_id_lookup
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - is_canonical
    - canonicalize_key
    - g_strdup
    - g_bsearch_array_lookup
    - g_quark_try_string
    - signal_id_lookup
    - g_type_interfaces
    - g_type_parent
    - g_free
    linkageType: ''
    returnType: guint
    signature: 'static inline guint signal_id_lookup (const gchar *name, GType itype) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_critical
      Src: /src/glib/gobject/gsignal.c:1920,1
    - Dst: g_closure_unref
      Src: /src/glib/gobject/gsignal.c:1937,1
    - Dst: g_free
      Src: /src/glib/gobject/gsignal.c:1928,1
    - Dst: g_bsearch_array_get_nth
      Src: /src/glib/gobject/gsignal.c:1935,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:1927,1
    - Dst: g_bsearch_array_free
      Src: /src/glib/gobject/gsignal.c:1939,1
    - Dst: g_free
      Src: /src/glib/gobject/gsignal.c:1941,1
    - Dst: g_hook_list_clear
      Src: /src/glib/gobject/gsignal.c:1944,1
    - Dst: g_free
      Src: /src/glib/gobject/gsignal.c:1945,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:1947,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 1
    argNames:
    - signal_node
    argTypes:
    - SignalNode*
    constantsTouched: []
    func_position:
      end: 1948
      start: 1895
    functionDepth: 0
    functionLinenumber: 1895
    functionLinenumberEnd: 1948
    functionName: signal_destroy_R
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_closure_unref
    - g_hook_list_clear
    - g_bsearch_array_get_nth
    - g_critical
    - g_bsearch_array_free
    - g_free
    - SIGNAL_UNLOCK
    - SIGNAL_LOCK
    linkageType: ''
    returnType: void
    signature: 'static void signal_destroy_R (SignalNode *signal_node) '
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:3686,1
    - Dst: GOBJECT_SIGNAL_EMIT
      Src: /src/glib/gobject/gsignal.c:3686,1
    - Dst: handler_unref_R
      Src: /src/glib/gobject/gsignal.c:3718,1
    - Dst: handler_list_lookup
      Src: /src/glib/gobject/gsignal.c:3720,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/gsignal.c:3774,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/gsignal.c:3794,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignal.c:3835,1
    - Dst: g_atomic_int_compare_and_exchange
      Src: /src/glib/gobject/gsignal.c:3855,1
    - Dst: handler_ref
      Src: /src/glib/gobject/gsignal.c:3964,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:3982,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsignal.c:4030,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsignal.c:4045,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3899,1
    - Dst: g_closure_invoke
      Src: /src/glib/gobject/gsignal.c:3941,1
    - Dst: maybe_init_accumulator_unlocked
      Src: /src/glib/gobject/gsignal.c:3973,1
    - Dst: handler_unref_R
      Src: /src/glib/gobject/gsignal.c:3992,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:3863,1
    - Dst: maybe_init_accumulator_unlocked
      Src: /src/glib/gobject/gsignal.c:3940,1
    - Dst: g_closure_invoke
      Src: /src/glib/gobject/gsignal.c:4021,1
    - Dst: handler_ref
      Src: /src/glib/gobject/gsignal.c:3723,1
    - Dst: g_closure_invoke
      Src: /src/glib/gobject/gsignal.c:3734,1
    - Dst: SIGNAL_HOOK
      Src: /src/glib/gobject/gsignal.c:3770,1
    - Dst: accumulate
      Src: /src/glib/gobject/gsignal.c:3739,1
    - Dst: g_hook_first_valid
      Src: /src/glib/gobject/gsignal.c:3767,1
    - Dst: g_newa
      Src: /src/glib/gobject/gsignal.c:3806,1
    - Dst: g_steal_pointer
      Src: /src/glib/gobject/gsignal.c:3823,1
    - Dst: g_assert
      Src: /src/glib/gobject/gsignal.c:3824,1
    - Dst: g_hook_ref
      Src: /src/glib/gobject/gsignal.c:3828,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3838,1
    - Dst: hook_func
      Src: /src/glib/gobject/gsignal.c:3850,1
    - Dst: accumulate
      Src: /src/glib/gobject/gsignal.c:3906,1
    - Dst: handler_ref
      Src: /src/glib/gobject/gsignal.c:3885,1
    - Dst: g_closure_invoke
      Src: /src/glib/gobject/gsignal.c:3974,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gsignal.c:4018,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:3909,1
    - Dst: handler_ref
      Src: /src/glib/gobject/gsignal.c:3991,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:3938,1
    - Dst: TRACE
      Src: /src/glib/gobject/gsignal.c:3686,1
    - Dst: signal_lookup_closure
      Src: /src/glib/gobject/gsignal.c:3713,1
    - Dst: g_hook_ref
      Src: /src/glib/gobject/gsignal.c:3777,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/gsignal.c:3798,1
    - Dst: SIGNAL_HOOK
      Src: /src/glib/gobject/gsignal.c:3817,1
    - Dst: g_hook_destroy_link
      Src: /src/glib/gobject/gsignal.c:3872,1
    - Dst: handler_unref_R
      Src: /src/glib/gobject/gsignal.c:3892,1
    - Dst: maybe_init_accumulator_unlocked
      Src: /src/glib/gobject/gsignal.c:3900,1
    - Dst: handler_ref
      Src: /src/glib/gobject/gsignal.c:3918,1
    - Dst: handler_unref_R
      Src: /src/glib/gobject/gsignal.c:3919,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3939,1
    - Dst: handler_unref_R
      Src: /src/glib/gobject/gsignal.c:4041,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3972,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:4014,1
    - Dst: TRACE
      Src: /src/glib/gobject/gsignal.c:4047,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/gsignal.c:3821,1
    - Dst: g_hook_unref
      Src: /src/glib/gobject/gsignal.c:3869,1
    - Dst: accumulate
      Src: /src/glib/gobject/gsignal.c:3946,1
    - Dst: g_closure_invoke
      Src: /src/glib/gobject/gsignal.c:3901,1
    - Dst: emission_find
      Src: /src/glib/gobject/gsignal.c:3697,1
    - Dst: emission_push
      Src: /src/glib/gobject/gsignal.c:3712,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:3731,1
    - Dst: maybe_init_accumulator_unlocked
      Src: /src/glib/gobject/gsignal.c:3733,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:3742,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:3732,1
    - Dst: g_hook_next_valid
      Src: /src/glib/gobject/gsignal.c:3783,1
    - Dst: g_newa
      Src: /src/glib/gobject/gsignal.c:3805,1
    - Dst: g_hook_first_valid
      Src: /src/glib/gobject/gsignal.c:3813,1
    - Dst: g_hook_next_valid
      Src: /src/glib/gobject/gsignal.c:3815,1
    - Dst: g_atomic_int_or
      Src: /src/glib/gobject/gsignal.c:3849,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:3949,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:4031,1
    - Dst: emission_pop
      Src: /src/glib/gobject/gsignal.c:4043,1
    - Dst: GOBJECT_SIGNAL_EMIT_END
      Src: /src/glib/gobject/gsignal.c:4047,1
    - Dst: accumulate
      Src: /src/glib/gobject/gsignal.c:3979,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:4015,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gsignal.c:4047,1
    - Dst: accumulate
      Src: /src/glib/gobject/gsignal.c:4026,1
    CyclomaticComplexity: 97
    EdgeCount: 97
    ICount: 260
    argCount: 5
    argNames:
    - node
    - detail
    - instance
    - emission_return
    - instance_and_params
    argTypes:
    - SignalNode*
    - GQuark
    - gpointer
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 4050
      start: 3668
    functionDepth: 0
    functionLinenumber: 3668
    functionLinenumberEnd: 4050
    functionName: signal_emit_unlocked_R
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - handler_ref
    - emission_find
    - g_newa
    - signal_lookup_closure
    - SIGNAL_UNLOCK
    - accumulate
    - hook_func
    - emission_pop
    - G_N_ELEMENTS
    - SIGNAL_HOOK
    - g_closure_invoke
    - maybe_init_accumulator_unlocked
    - g_hook_first_valid
    - handler_unref_R
    - g_hook_ref
    - handler_list_lookup
    - g_value_init
    - g_hook_destroy_link
    - GOBJECT_SIGNAL_EMIT
    - g_atomic_int_or
    - TRACE
    - g_assert
    - G_TYPE_FROM_INSTANCE
    - g_atomic_int_compare_and_exchange
    - emission_push
    - g_hook_unref
    - GOBJECT_SIGNAL_EMIT_END
    - g_hook_next_valid
    - SIGNAL_LOCK
    - g_value_unset
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean signal_emit_unlocked_R (SignalNode *node,\t\t\tGQuark\t\
      \ detail,\t\t\tgpointer instance,\t\t\tGValue\t *emission_return,\t\t\tconst\
      \ GValue *instance_and_params) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 418
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 418
    functionName: handler_hash
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint
    signature: 'static guint handler_hash (gconstpointer key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gsignal.c:2279,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gsignal.c:2279,1
    - Dst: emission_find_innermost
      Src: /src/glib/gobject/gsignal.c:2282,1
    - Dst: SIGNAL_UNLOCK
      Src: /src/glib/gobject/gsignal.c:2283,1
    - Dst: SIGNAL_LOCK
      Src: /src/glib/gobject/gsignal.c:2281,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2286
      start: 2274
    functionDepth: 0
    functionLinenumber: 2274
    functionLinenumberEnd: 2286
    functionName: g_signal_get_invocation_hint
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - emission_find_innermost
    - G_TYPE_CHECK_INSTANCE
    - SIGNAL_UNLOCK
    - SIGNAL_LOCK
    linkageType: ''
    returnType: GSignalInvocationHint*
    signature: 'GSignalInvocationHint *g_signal_get_invocation_hint (gpointer instance) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 427
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 427
    functionName: handler_equal
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean handler_equal (gconstpointer a, gconstpointer b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/glib/gobject/gsignal.c:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 276
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 276
    functionName: is_canonical
    functionSourceFile: /src/glib/gobject/gsignal.c
    functionUses: []
    functionsReached:
    - strchr
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_canonical (const gchar *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gbindinggroup.c:391,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/gbindinggroup.c:394,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/gbindinggroup.c:395,1
    - Dst: g_mutex_lock
      Src: /src/glib/gobject/gbindinggroup.c:393,1
    - Dst: G_IS_BINDING_GROUP
      Src: /src/glib/gobject/gbindinggroup.c:391,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - self
    argTypes:
    - GBindingGroup*
    constantsTouched: []
    func_position:
      end: 398
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 398
    functionName: g_binding_group_dup_source
    functionSourceFile: /src/glib/gobject/gbindinggroup.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_mutex_unlock
    - g_mutex_lock
    - g_object_ref
    - G_IS_BINDING_GROUP
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_binding_group_dup_source (GBindingGroup *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/gbindinggroup.c:406,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gbindinggroup.c:407,1
    - Dst: G_IS_BINDING_GROUP
      Src: /src/glib/gobject/gbindinggroup.c:406,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gobject/gbindinggroup.c:411,1
    - Dst: g_assert
      Src: /src/glib/gobject/gbindinggroup.c:407,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gbindinggroup.c:413,1
    - Dst: g_object_class_find_property
      Src: /src/glib/gobject/gbindinggroup.c:413,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gobject/gbindinggroup.c:413,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - self
    - source
    argTypes:
    - GBindingGroup*
    - gpointer
    constantsTouched: []
    func_position:
      end: 419
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 419
    functionName: g_binding_group_check_source
    functionSourceFile: /src/glib/gobject/gbindinggroup.c
    functionUses: []
    functionsReached:
    - g_object_class_find_property
    - g_return_val_if_fail
    - g_assert
    - G_IS_OBJECT
    - G_IS_BINDING_GROUP
    - G_OBJECT_GET_CLASS
    - g_ptr_array_index
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_binding_group_check_source (GBindingGroup *self,
      gpointer source) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_binding_group_bind_helper
      Src: /src/glib/gobject/gbindinggroup.c:667,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 7
    argNames:
    - self
    - source_property
    - target
    - target_property
    - flags
    - transform_to
    - transform_from
    argTypes:
    - GBindingGroup*
    - gchar*
    - gpointer
    - gchar*
    - GBindingFlags
    - GClosure*
    - GClosure*
    constantsTouched: []
    func_position:
      end: 673
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 673
    functionName: g_binding_group_bind_with_closures
    functionSourceFile: /src/glib/gobject/gbindinggroup.c
    functionUses: []
    functionsReached:
    - g_binding_group_bind_helper
    linkageType: ''
    returnType: void
    signature: 'void g_binding_group_bind_with_closures (GBindingGroup *self, const
      gchar *source_property, gpointer target, const gchar *target_property, GBindingFlags
      flags, GClosure *transform_to, GClosure *transform_from) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/gbindinggroup.c:92,1
    - Dst: g_assert
      Src: /src/glib/gobject/gbindinggroup.c:94,1
    - Dst: g_assert
      Src: /src/glib/gobject/gbindinggroup.c:95,1
    - Dst: g_assert
      Src: /src/glib/gobject/gbindinggroup.c:93,1
    - Dst: G_IS_BINDING_GROUP
      Src: /src/glib/gobject/gbindinggroup.c:92,1
    - Dst: g_assert
      Src: /src/glib/gobject/gbindinggroup.c:96,1
    - Dst: g_assert
      Src: /src/glib/gobject/gbindinggroup.c:97,1
    - Dst: g_assert
      Src: /src/glib/gobject/gbindinggroup.c:98,1
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/gbindinggroup.c:105,1
    - Dst: g_flags_to_string
      Src: /src/glib/gobject/gbindinggroup.c:106,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/gbindinggroup.c:109,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/gbindinggroup.c:112,1
    - Dst: g_type_class_unref
      Src: /src/glib/gobject/gbindinggroup.c:117,1
    - Dst: g_object_bind_property_with_closures
      Src: /src/glib/gobject/gbindinggroup.c:132,1
    - Dst: g_print
      Src: /src/glib/gobject/gbindinggroup.c:108,1
    - Dst: g_object_bind_property_full
      Src: /src/glib/gobject/gbindinggroup.c:122,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - self
    - lazy_binding
    argTypes:
    - GBindingGroup*
    - LazyBinding*
    constantsTouched: []
    func_position:
      end: 141
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 141
    functionName: g_binding_group_connect
    functionSourceFile: /src/glib/gobject/gbindinggroup.c
    functionUses: []
    functionsReached:
    - g_type_class_ref
    - g_object_bind_property_full
    - G_OBJECT_TYPE_NAME
    - g_assert
    - g_flags_to_string
    - G_IS_BINDING_GROUP
    - g_print
    - g_type_class_unref
    - g_object_bind_property_with_closures
    linkageType: ''
    returnType: void
    signature: 'static void g_binding_group_connect (GBindingGroup *self, LazyBinding
      *lazy_binding) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/gbindinggroup.c:162,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/gbindinggroup.c:175,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gobject/gbindinggroup.c:170,1
    - Dst: g_mutex_lock
      Src: /src/glib/gobject/gbindinggroup.c:164,1
    - Dst: G_IS_BINDING_GROUP
      Src: /src/glib/gobject/gbindinggroup.c:162,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - data
    - where_object_was
    argTypes:
    - gpointer
    - GObject*
    constantsTouched: []
    func_position:
      end: 176
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 176
    functionName: g_binding_group__source_weak_notify
    functionSourceFile: /src/glib/gobject/gbindinggroup.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_mutex_lock
    - g_assert
    - G_IS_BINDING_GROUP
    - g_ptr_array_index
    linkageType: ''
    returnType: void
    signature: 'static void g_binding_group__source_weak_notify (gpointer data, GObject
      *where_object_was) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gbindinggroup.c:441,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gbindinggroup.c:443,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gbindinggroup.c:442,1
    - Dst: G_IS_BINDING_GROUP
      Src: /src/glib/gobject/gbindinggroup.c:441,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gbindinggroup.c:442,1
    - Dst: g_mutex_lock
      Src: /src/glib/gobject/gbindinggroup.c:445,1
    - Dst: g_object_weak_unref
      Src: /src/glib/gobject/gbindinggroup.c:454,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gobject/gbindinggroup.c:461,1
    - Dst: g_binding_group_disconnect
      Src: /src/glib/gobject/gbindinggroup.c:463,1
    - Dst: g_binding_group_check_source
      Src: /src/glib/gobject/gbindinggroup.c:467,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/gbindinggroup.c:491,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/gbindinggroup.c:488,1
    - Dst: g_object_weak_ref
      Src: /src/glib/gobject/gbindinggroup.c:472,1
    - Dst: g_binding_group_connect
      Src: /src/glib/gobject/gbindinggroup.c:481,1
    - Dst: g_object_notify_by_pspec
      Src: /src/glib/gobject/gbindinggroup.c:491,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gobject/gbindinggroup.c:480,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 2
    argNames:
    - self
    - source
    argTypes:
    - GBindingGroup*
    - gpointer
    constantsTouched: []
    func_position:
      end: 492
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 492
    functionName: g_binding_group_set_source
    functionSourceFile: /src/glib/gobject/gbindinggroup.c
    functionUses: []
    functionsReached:
    - g_binding_group_connect
    - g_mutex_unlock
    - g_mutex_lock
    - g_return_if_fail
    - g_object_notify_by_pspec
    - G_IS_OBJECT
    - g_binding_group_check_source
    - g_object_weak_ref
    - G_OBJECT
    - G_IS_BINDING_GROUP
    - g_object_weak_unref
    - g_ptr_array_index
    - g_binding_group_disconnect
    linkageType: ''
    returnType: void
    signature: 'void g_binding_group_set_source (GBindingGroup *self, gpointer source) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/gbindinggroup.c:146,1
    - Dst: g_binding_unbind
      Src: /src/glib/gobject/gbindinggroup.c:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - lazy_binding
    argTypes:
    - LazyBinding*
    constantsTouched: []
    func_position:
      end: 153
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 153
    functionName: g_binding_group_disconnect
    functionSourceFile: /src/glib/gobject/gbindinggroup.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_binding_unbind
    linkageType: ''
    returnType: void
    signature: 'static void g_binding_group_disconnect (LazyBinding *lazy_binding) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/gbindinggroup.c:186,1
    - Dst: g_ptr_array_steal_index_fast
      Src: /src/glib/gobject/gbindinggroup.c:199,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gobject/gbindinggroup.c:192,1
    - Dst: g_mutex_lock
      Src: /src/glib/gobject/gbindinggroup.c:188,1
    - Dst: G_IS_BINDING_GROUP
      Src: /src/glib/gobject/gbindinggroup.c:186,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/gbindinggroup.c:204,1
    - Dst: lazy_binding_free
      Src: /src/glib/gobject/gbindinggroup.c:207,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - data
    - where_object_was
    argTypes:
    - gpointer
    - GObject*
    constantsTouched: []
    func_position:
      end: 208
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 208
    functionName: g_binding_group__target_weak_notify
    functionSourceFile: /src/glib/gobject/gbindinggroup.c
    functionUses: []
    functionsReached:
    - g_ptr_array_steal_index_fast
    - g_mutex_unlock
    - g_mutex_lock
    - g_assert
    - lazy_binding_free
    - G_IS_BINDING_GROUP
    - g_ptr_array_index
    linkageType: ''
    returnType: void
    signature: 'static void g_binding_group__target_weak_notify (gpointer data, GObject
      *where_object_was) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gbindinggroup.c:510,1
    - Dst: g_object_class_find_property
      Src: /src/glib/gobject/gbindinggroup.c:515,1
    - Dst: strcmp
      Src: /src/glib/gobject/gbindinggroup.c:518,1
    - Dst: g_closure_sink
      Src: /src/glib/gobject/gbindinggroup.c:541,1
    - Dst: g_object_weak_ref
      Src: /src/glib/gobject/gbindinggroup.c:544,1
    - Dst: g_binding_group_connect
      Src: /src/glib/gobject/gbindinggroup.c:551,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gbindinggroup.c:509,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gbindinggroup.c:514,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gobject/gbindinggroup.c:515,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gbindinggroup.c:517,1
    - Dst: g_closure_ref
      Src: /src/glib/gobject/gbindinggroup.c:538,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/gbindinggroup.c:553,1
    - Dst: g_object_class_find_property
      Src: /src/glib/gobject/gbindinggroup.c:511,1
    - Dst: G_IS_BINDING_GROUP
      Src: /src/glib/gobject/gbindinggroup.c:508,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gbindinggroup.c:513,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gbindinggroup.c:515,1
    - Dst: g_slice_new0
      Src: /src/glib/gobject/gbindinggroup.c:522,1
    - Dst: g_intern_string
      Src: /src/glib/gobject/gbindinggroup.c:525,1
    - Dst: g_closure_ref
      Src: /src/glib/gobject/gbindinggroup.c:541,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gobject/gbindinggroup.c:548,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gbindinggroup.c:508,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gobject/gbindinggroup.c:511,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gbindinggroup.c:513,1
    - Dst: g_closure_sink
      Src: /src/glib/gobject/gbindinggroup.c:538,1
    - Dst: g_intern_string
      Src: /src/glib/gobject/gbindinggroup.c:524,1
    - Dst: g_mutex_lock
      Src: /src/glib/gobject/gbindinggroup.c:520,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 52
    argCount: 10
    argNames:
    - self
    - source_property
    - target
    - target_property
    - flags
    - transform_to
    - transform_from
    - user_data
    - user_data_destroy
    - using_closures
    argTypes:
    - GBindingGroup*
    - gchar*
    - gpointer
    - gchar*
    - GBindingFlags
    - gpointer
    - gpointer
    - gpointer
    - GDestroyNotify
    - gboolean
    constantsTouched: []
    func_position:
      end: 554
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 554
    functionName: g_binding_group_bind_helper
    functionSourceFile: /src/glib/gobject/gbindinggroup.c
    functionUses: []
    functionsReached:
    - g_object_class_find_property
    - g_closure_sink
    - g_closure_ref
    - g_intern_string
    - g_slice_new0
    - g_return_if_fail
    - g_mutex_lock
    - g_binding_group_connect
    - g_mutex_unlock
    - G_IS_OBJECT
    - strcmp
    - g_object_weak_ref
    - G_IS_BINDING_GROUP
    - G_OBJECT_GET_CLASS
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void g_binding_group_bind_helper (GBindingGroup *self, const
      gchar *source_property, gpointer target, const gchar *target_property, GBindingFlags
      flags, gpointer transform_to, gpointer transform_from, gpointer user_data, GDestroyNotify
      user_data_destroy, gboolean using_closures) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_object_weak_unref
      Src: /src/glib/gobject/gbindinggroup.c:217,1
    - Dst: g_clear_pointer
      Src: /src/glib/gobject/gbindinggroup.c:234,1
    - Dst: g_binding_group_disconnect
      Src: /src/glib/gobject/gbindinggroup.c:223,1
    - Dst: g_clear_pointer
      Src: /src/glib/gobject/gbindinggroup.c:235,1
    - Dst: g_slice_free
      Src: /src/glib/gobject/gbindinggroup.c:238,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 239
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 239
    functionName: lazy_binding_free
    functionSourceFile: /src/glib/gobject/gbindinggroup.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_slice_free
    - g_object_weak_unref
    - g_binding_group_disconnect
    linkageType: ''
    returnType: void
    signature: 'static void lazy_binding_free (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/gbindinggroup.c:282,1
    - Dst: g_assert
      Src: /src/glib/gobject/gbindinggroup.c:283,1
    - Dst: g_mutex_clear
      Src: /src/glib/gobject/gbindinggroup.c:286,1
    - Dst: g_clear_pointer
      Src: /src/glib/gobject/gbindinggroup.c:285,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/gbindinggroup.c:288,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 289
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 289
    functionName: g_binding_group_finalize
    functionSourceFile: /src/glib/gobject/gbindinggroup.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_clear_pointer
    - G_OBJECT_CLASS
    - g_mutex_clear
    linkageType: ''
    returnType: void
    signature: 'static void g_binding_group_finalize (GObject *object) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_BINDING_GROUP
      Src: /src/glib/gobject/gbindinggroup.c:316,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/gbindinggroup.c:325,1
    - Dst: g_binding_group_set_source
      Src: /src/glib/gobject/gbindinggroup.c:321,1
    - Dst: g_value_get_object
      Src: /src/glib/gobject/gbindinggroup.c:321,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 327
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 327
    functionName: g_binding_group_set_property
    functionSourceFile: /src/glib/gobject/gbindinggroup.c
    functionUses: []
    functionsReached:
    - g_binding_group_set_source
    - G_BINDING_GROUP
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_get_object
    linkageType: ''
    returnType: void
    signature: 'static void g_binding_group_set_property (GObject *object, guint prop_id,
      const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/gbindinggroup.c:373,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 374
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 374
    functionName: g_binding_group_new
    functionSourceFile: /src/glib/gobject/gbindinggroup.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: GBindingGroup*
    signature: 'GBindingGroup *g_binding_group_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_binding_group_bind_helper
      Src: /src/glib/gobject/gbindinggroup.c:623,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 9
    argNames:
    - self
    - source_property
    - target
    - target_property
    - flags
    - transform_to
    - transform_from
    - user_data
    - user_data_destroy
    argTypes:
    - GBindingGroup*
    - gchar*
    - gpointer
    - gchar*
    - GBindingFlags
    - GBindingTransformFunc
    - GBindingTransformFunc
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 629
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 629
    functionName: g_binding_group_bind_full
    functionSourceFile: /src/glib/gobject/gbindinggroup.c
    functionUses: []
    functionsReached:
    - g_binding_group_bind_helper
    linkageType: ''
    returnType: void
    signature: 'void g_binding_group_bind_full (GBindingGroup *self, const gchar *source_property,
      gpointer target, const gchar *target_property, GBindingFlags flags, GBindingTransformFunc
      transform_to, GBindingTransformFunc transform_from, gpointer user_data, GDestroyNotify
      user_data_destroy) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/gbindinggroup.c:249,1
    - Dst: g_mutex_lock
      Src: /src/glib/gobject/gbindinggroup.c:251,1
    - Dst: g_object_weak_unref
      Src: /src/glib/gobject/gbindinggroup.c:255,1
    - Dst: G_IS_BINDING_GROUP
      Src: /src/glib/gobject/gbindinggroup.c:249,1
    - Dst: g_ptr_array_steal
      Src: /src/glib/gobject/gbindinggroup.c:262,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/gbindinggroup.c:264,1
    - Dst: lazy_binding_free
      Src: /src/glib/gobject/gbindinggroup.c:271,1
    - Dst: g_free
      Src: /src/glib/gobject/gbindinggroup.c:272,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/gbindinggroup.c:274,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 275
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 275
    functionName: g_binding_group_dispose
    functionSourceFile: /src/glib/gobject/gbindinggroup.c
    functionUses: []
    functionsReached:
    - g_ptr_array_steal
    - g_mutex_lock
    - g_assert
    - g_mutex_unlock
    - lazy_binding_free
    - G_OBJECT_CLASS
    - G_IS_BINDING_GROUP
    - g_object_weak_unref
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void g_binding_group_dispose (GObject *object) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_BINDING_GROUP
      Src: /src/glib/gobject/gbindinggroup.c:297,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/gbindinggroup.c:306,1
    - Dst: g_value_take_object
      Src: /src/glib/gobject/gbindinggroup.c:302,1
    - Dst: g_binding_group_dup_source
      Src: /src/glib/gobject/gbindinggroup.c:302,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 308
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 308
    functionName: g_binding_group_get_property
    functionSourceFile: /src/glib/gobject/gbindinggroup.c
    functionUses: []
    functionsReached:
    - G_BINDING_GROUP
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_take_object
    - g_binding_group_dup_source
    linkageType: ''
    returnType: void
    signature: 'static void g_binding_group_get_property (GObject *object, guint prop_id,
      GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/gbindinggroup.c:332,1
    - Dst: g_param_spec_object
      Src: /src/glib/gobject/gbindinggroup.c:347,1
    - Dst: g_object_class_install_properties
      Src: /src/glib/gobject/gbindinggroup.c:351,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GBindingGroupClass*
    constantsTouched: []
    func_position:
      end: 352
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 352
    functionName: g_binding_group_class_init
    functionSourceFile: /src/glib/gobject/gbindinggroup.c
    functionUses: []
    functionsReached:
    - g_object_class_install_properties
    - g_param_spec_object
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_binding_group_class_init (GBindingGroupClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_init
      Src: /src/glib/gobject/gbindinggroup.c:357,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/gobject/gbindinggroup.c:358,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - self
    argTypes:
    - GBindingGroup*
    constantsTouched: []
    func_position:
      end: 359
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 359
    functionName: g_binding_group_init
    functionSourceFile: /src/glib/gobject/gbindinggroup.c
    functionUses: []
    functionsReached:
    - g_ptr_array_new_with_free_func
    - g_mutex_init
    linkageType: ''
    returnType: void
    signature: 'static void g_binding_group_init (GBindingGroup *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_binding_group_bind_full
      Src: /src/glib/gobject/gbindinggroup.c:580,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - self
    - source_property
    - target
    - target_property
    - flags
    argTypes:
    - GBindingGroup*
    - gchar*
    - gpointer
    - gchar*
    - GBindingFlags
    constantsTouched: []
    func_position:
      end: 585
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 585
    functionName: g_binding_group_bind
    functionSourceFile: /src/glib/gobject/gbindinggroup.c
    functionUses: []
    functionsReached:
    - g_binding_group_bind_full
    linkageType: ''
    returnType: void
    signature: 'void g_binding_group_bind (GBindingGroup *self, const gchar *source_property,
      gpointer target, const gchar *target_property, GBindingFlags flags) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/glib/gobject/gvaluecollector.h:121,1
    - Dst: va_arg
      Src: /src/glib/gobject/gvaluecollector.h:127,1
    - Dst: va_arg
      Src: /src/glib/gobject/gvaluecollector.h:130,1
    - Dst: va_arg
      Src: /src/glib/gobject/gvaluecollector.h:133,1
    - Dst: va_arg
      Src: /src/glib/gobject/gvaluecollector.h:124,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gobject/gvaluecollector.h:136,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 143
    functionName: enum
    functionSourceFile: /src/glib/gobject/gvaluecollector.h
    functionUses: []
    functionsReached:
    - va_arg
    - g_assert_not_reached
    linkageType: ''
    returnType: G_BEGIN_DECLS
    signature: 'G_BEGIN_DECLS /* we may want to add aggregate types here some day,
      if requested * by users. the basic C types are covered already, everything *
      smaller than an int is promoted to an integer and floats are * always promoted
      to doubles for varargs call constructions. */ enum /*< skip >*/ '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsourceclosure.c:70,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gobject/gsourceclosure.c:77,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsourceclosure.c:71,1
    - Dst: callback
      Src: /src/glib/gobject/gsourceclosure.c:75,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 6
    argNames:
    - closure
    - return_value
    - n_param_values
    - param_values
    - invocation_hint
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 78
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 78
    functionName: source_closure_marshal_BOOLEAN__VOID
    functionSourceFile: /src/glib/gobject/gsourceclosure.c
    functionUses: []
    functionsReached:
    - g_value_set_boolean
    - callback
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "static void source_closure_marshal_BOOLEAN__VOID (GClosure *closure,\t\
      \t\t\t GValue *return_value,\t\t\t\t guint n_param_values,\t\t\t\t const GValue\
      \ *param_values,\t\t\t\t gpointer invocation_hint,\t\t\t\t gpointer marshal_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gobject/gsourceclosure.c:119,1
    - Dst: g_value_set_pointer
      Src: /src/glib/gobject/gsourceclosure.c:127,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gsourceclosure.c:122,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gsourceclosure.c:126,1
    - Dst: g_value_set_ulong
      Src: /src/glib/gobject/gsourceclosure.c:123,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gsourceclosure.c:130,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/gsourceclosure.c:131,1
    - Dst: g_closure_invoke
      Src: /src/glib/gobject/gsourceclosure.c:133,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gobject/gsourceclosure.c:135,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsourceclosure.c:136,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsourceclosure.c:138,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsourceclosure.c:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - pid
    - status
    - data
    argTypes:
    - GPid
    - gint
    - gpointer
    constantsTouched: []
    func_position:
      end: 141
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 141
    functionName: g_child_watch_closure_callback
    functionSourceFile: /src/glib/gobject/gsourceclosure.c
    functionUses: []
    functionsReached:
    - g_value_get_boolean
    - g_value_set_int
    - g_closure_invoke
    - g_value_set_ulong
    - g_value_init
    - g_value_set_pointer
    - g_value_unset
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_child_watch_closure_callback (GPid pid, gint status,
      gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gobject/gsourceclosure.c:181,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gobject/gsourceclosure.c:185,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsourceclosure.c:186,1
    - Dst: g_closure_invoke
      Src: /src/glib/gobject/gsourceclosure.c:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 189
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 189
    functionName: source_closure_callback
    functionSourceFile: /src/glib/gobject/gsourceclosure.c
    functionUses: []
    functionsReached:
    - g_value_get_boolean
    - g_value_unset
    - g_closure_invoke
    - g_value_init
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean source_closure_callback (gpointer data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsourceclosure.c:249,1
    - Dst: g_closure_sink
      Src: /src/glib/gobject/gsourceclosure.c:267,1
    - Dst: g_critical
      Src: /src/glib/gobject/gsourceclosure.c:262,1
    - Dst: g_closure_ref
      Src: /src/glib/gobject/gsourceclosure.c:266,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gsourceclosure.c:250,1
    - Dst: g_source_set_callback_indirect
      Src: /src/glib/gobject/gsourceclosure.c:268,1
    - Dst: g_closure_add_invalidate_notifier
      Src: /src/glib/gobject/gsourceclosure.c:270,1
    - Dst: G_CLOSURE_NEEDS_MARSHAL
      Src: /src/glib/gobject/gsourceclosure.c:272,1
    - Dst: g_closure_set_marshal
      Src: /src/glib/gobject/gsourceclosure.c:276,1
    - Dst: g_closure_set_marshal
      Src: /src/glib/gobject/gsourceclosure.c:282,1
    - Dst: g_closure_set_marshal
      Src: /src/glib/gobject/gsourceclosure.c:284,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 2
    argNames:
    - source
    - closure
    argTypes:
    - GSource*
    - GClosure*
    constantsTouched: []
    func_position:
      end: 286
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 286
    functionName: g_source_set_closure
    functionSourceFile: /src/glib/gobject/gsourceclosure.c
    functionUses: []
    functionsReached:
    - g_closure_sink
    - g_closure_set_marshal
    - g_closure_ref
    - g_return_if_fail
    - g_source_set_callback_indirect
    - g_critical
    - g_closure_add_invalidate_notifier
    - G_CLOSURE_NEEDS_MARSHAL
    linkageType: ''
    returnType: void
    signature: "void g_source_set_closure (GSource *source,\t\t GClosure *closure) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_closure_new_simple
      Src: /src/glib/gobject/gsourceclosure.c:320,1
    - Dst: g_closure_set_meta_marshal
      Src: /src/glib/gobject/gsourceclosure.c:321,1
    - Dst: g_source_set_closure
      Src: /src/glib/gobject/gsourceclosure.c:322,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 323
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 323
    functionName: g_source_set_dummy_callback
    functionSourceFile: /src/glib/gobject/gsourceclosure.c
    functionUses: []
    functionsReached:
    - g_closure_new_simple
    - g_closure_set_meta_marshal
    - g_source_set_closure
    linkageType: ''
    returnType: void
    signature: 'void g_source_set_dummy_callback (GSource *source) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter_pointer
      Src: /src/glib/gobject/gsourceclosure.c:38,1
    - Dst: g_flags_register_static
      Src: /src/glib/gobject/gsourceclosure.c:49,1
    - Dst: g_once_init_leave_pointer
      Src: /src/glib/gobject/gsourceclosure.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 53
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 53
    functionName: g_io_condition_get_type
    functionSourceFile: /src/glib/gobject/gsourceclosure.c
    functionUses: []
    functionsReached:
    - g_once_init_leave_pointer
    - g_flags_register_static
    - g_once_init_enter_pointer
    linkageType: ''
    returnType: GType
    signature: 'GType g_io_condition_get_type (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gobject/gsourceclosure.c:91,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gsourceclosure.c:95,1
    - Dst: g_value_set_boxed
      Src: /src/glib/gobject/gsourceclosure.c:93,1
    - Dst: g_value_set_flags
      Src: /src/glib/gobject/gsourceclosure.c:96,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gsourceclosure.c:92,1
    - Dst: g_closure_invoke
      Src: /src/glib/gobject/gsourceclosure.c:98,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gobject/gsourceclosure.c:100,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsourceclosure.c:101,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsourceclosure.c:102,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsourceclosure.c:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - channel
    - condition
    - data
    argTypes:
    - GIOChannel*
    - GIOCondition
    - gpointer
    constantsTouched: []
    func_position:
      end: 106
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 106
    functionName: io_watch_closure_callback
    functionSourceFile: /src/glib/gobject/gsourceclosure.c
    functionUses: []
    functionsReached:
    - g_value_get_boolean
    - g_value_set_flags
    - g_closure_invoke
    - g_value_init
    - g_value_set_boxed
    - g_value_unset
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean io_watch_closure_callback (GIOChannel *channel,\t\t\
      \t GIOCondition condition,\t\t\t gpointer data) "
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 9
    argCount: 4
    argNames:
    - cb_data
    - source
    - func
    - data
    argTypes:
    - gpointer
    - GSource*
    - GSourceFunc*
    - gpointer*
    constantsTouched: []
    func_position:
      end: 219
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 219
    functionName: closure_callback_get
    functionSourceFile: /src/glib/gobject/gsourceclosure.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void closure_callback_get (gpointer cb_data,\t\t GSource *source,\t\
      \t GSourceFunc *func,\t\t gpointer *data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_source_destroy
      Src: /src/glib/gobject/gsourceclosure.c:231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - user_data
    - closure
    argTypes:
    - gpointer
    - GClosure*
    constantsTouched: []
    func_position:
      end: 232
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 232
    functionName: closure_invalidated
    functionSourceFile: /src/glib/gobject/gsourceclosure.c
    functionUses: []
    functionsReached:
    - g_source_destroy
    linkageType: ''
    returnType: void
    signature: 'static void closure_invalidated (gpointer user_data, GClosure *closure) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_VALUE_HOLDS_BOOLEAN
      Src: /src/glib/gobject/gsourceclosure.c:296,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gobject/gsourceclosure.c:297,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 6
    argNames:
    - closure
    - return_value
    - n_param_values
    - param_values
    - invocation_hint
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 298
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 298
    functionName: dummy_closure_marshal
    functionSourceFile: /src/glib/gobject/gsourceclosure.c
    functionUses: []
    functionsReached:
    - g_value_set_boolean
    - G_VALUE_HOLDS_BOOLEAN
    linkageType: ''
    returnType: void
    signature: "static void dummy_closure_marshal (GClosure *closure,\t\t GValue *return_value,\t\
      \t guint n_param_values,\t\t const GValue *param_values,\t\t gpointer invocation_hint,\t\
      \t gpointer marshal_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gobject/gsourceclosure.c:155,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gsourceclosure.c:160,1
    - Dst: g_value_set_flags
      Src: /src/glib/gobject/gsourceclosure.c:161,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/gsourceclosure.c:158,1
    - Dst: g_value_init
      Src: /src/glib/gobject/gsourceclosure.c:157,1
    - Dst: g_closure_invoke
      Src: /src/glib/gobject/gsourceclosure.c:163,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gobject/gsourceclosure.c:165,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsourceclosure.c:166,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsourceclosure.c:167,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gsourceclosure.c:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - fd
    - condition
    - data
    argTypes:
    - int
    - GIOCondition
    - gpointer
    constantsTouched: []
    func_position:
      end: 171
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 171
    functionName: g_unix_fd_source_closure_callback
    functionSourceFile: /src/glib/gobject/gsourceclosure.c
    functionUses: []
    functionsReached:
    - g_value_get_boolean
    - g_value_set_flags
    - g_value_set_int
    - g_closure_invoke
    - g_value_init
    - g_value_unset
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_unix_fd_source_closure_callback (int fd, GIOCondition
      condition, gpointer data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_type_children
      Src: /src/glib/gobject/gobject-query.c:54,1
    - Dst: g_fprintf
      Src: /src/glib/gobject/gobject-query.c:56,1
    - Dst: strlen
      Src: /src/glib/gobject/gobject-query.c:62,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject-query.c:60,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject-query.c:62,1
    - Dst: strlen
      Src: /src/glib/gobject/gobject-query.c:62,1
    - Dst: fputs
      Src: /src/glib/gobject/gobject-query.c:63,1
    - Dst: fputc
      Src: /src/glib/gobject/gobject-query.c:65,1
    - Dst: g_strconcat
      Src: /src/glib/gobject/gobject-query.c:73,1
    - Dst: g_strconcat
      Src: /src/glib/gobject/gobject-query.c:75,1
    - Dst: g_free
      Src: /src/glib/gobject/gobject-query.c:80,1
    - Dst: g_free
      Src: /src/glib/gobject/gobject-query.c:83,1
    - Dst: show_nodes
      Src: /src/glib/gobject/gobject-query.c:78,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 3
    argNames:
    - type
    - sibling
    - indent
    argTypes:
    - GType
    - GType
    - gchar*
    constantsTouched: []
    func_position:
      end: 84
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 84
    functionName: show_nodes
    functionSourceFile: /src/glib/gobject/gobject-query.c
    functionUses: []
    functionsReached:
    - show_nodes
    - g_strconcat
    - strlen
    - g_fprintf
    - g_type_children
    - fputc
    - fputs
    - g_free
    - g_type_name
    linkageType: ''
    returnType: void
    signature: "static void show_nodes (GType type,\t GType sibling,\t const gchar\
      \ *indent) "
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gobject/gobject-query.c:129,1
    - Dst: strlen
      Src: /src/glib/gobject/gobject-query.c:141,1
    - Dst: strcmp
      Src: /src/glib/gobject/gobject-query.c:150,1
    - Dst: g_print
      Src: /src/glib/gobject/gobject-query.c:176,1
    - Dst: help
      Src: /src/glib/gobject/gobject-query.c:189,1
    - Dst: strlen
      Src: /src/glib/gobject/gobject-query.c:193,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject-query.c:205,1
    - Dst: G_TYPE_MAKE_FUNDAMENTAL
      Src: /src/glib/gobject/gobject-query.c:206,1
    - Dst: atoi
      Src: /src/glib/gobject/gobject-query.c:127,1
    - Dst: strcmp
      Src: /src/glib/gobject/gobject-query.c:123,1
    - Dst: strcmp
      Src: /src/glib/gobject/gobject-query.c:166,1
    - Dst: strcmp
      Src: /src/glib/gobject/gobject-query.c:174,1
    - Dst: strcmp
      Src: /src/glib/gobject/gobject-query.c:162,1
    - Dst: strcmp
      Src: /src/glib/gobject/gobject-query.c:170,1
    - Dst: g_new
      Src: /src/glib/gobject/gobject-query.c:193,1
    - Dst: show_nodes
      Src: /src/glib/gobject/gobject-query.c:199,1
    - Dst: G_TYPE_MAKE_FUNDAMENTAL
      Src: /src/glib/gobject/gobject-query.c:203,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gobject-query.c:208,1
    - Dst: g_new
      Src: /src/glib/gobject/gobject-query.c:141,1
    - Dst: strcmp
      Src: /src/glib/gobject/gobject-query.c:156,1
    - Dst: help
      Src: /src/glib/gobject/gobject-query.c:182,1
    - Dst: strcmp
      Src: /src/glib/gobject/gobject-query.c:180,1
    - Dst: g_type_from_name
      Src: /src/glib/gobject/gobject-query.c:160,1
    - Dst: help
      Src: /src/glib/gobject/gobject-query.c:185,1
    - Dst: g_log_set_always_fatal
      Src: /src/glib/gobject/gobject-query.c:115,1
    - Dst: g_log_set_always_fatal
      Src: /src/glib/gobject/gobject-query.c:117,1
    - Dst: strcpy
      Src: /src/glib/gobject/gobject-query.c:146,1
    - Dst: strcmp
      Src: /src/glib/gobject/gobject-query.c:179,1
    - Dst: strcpy
      Src: /src/glib/gobject/gobject-query.c:195,1
    - Dst: show_nodes
      Src: /src/glib/gobject/gobject-query.c:212,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 100
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - gint
    - gchar*
    constantsTouched: []
    func_position:
      end: 217
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 217
    functionName: main
    functionSourceFile: /src/glib/gobject/gobject-query.c
    functionUses: []
    functionsReached:
    - show_nodes
    - G_TYPE_MAKE_FUNDAMENTAL
    - strlen
    - g_new
    - g_log_set_always_fatal
    - strcmp
    - help
    - strcpy
    - g_print
    - atoi
    - g_type_from_name
    - g_type_name
    linkageType: ''
    returnType: int
    signature: 'int main (gint argc, gchar *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_fprintf
      Src: /src/glib/gobject/gobject-query.c:89,1
    - Dst: g_fprintf
      Src: /src/glib/gobject/gobject-query.c:93,1
    - Dst: g_fprintf
      Src: /src/glib/gobject/gobject-query.c:92,1
    - Dst: g_fprintf
      Src: /src/glib/gobject/gobject-query.c:91,1
    - Dst: g_fprintf
      Src: /src/glib/gobject/gobject-query.c:90,1
    - Dst: g_fprintf
      Src: /src/glib/gobject/gobject-query.c:94,1
    - Dst: g_fprintf
      Src: /src/glib/gobject/gobject-query.c:95,1
    - Dst: g_fprintf
      Src: /src/glib/gobject/gobject-query.c:96,1
    - Dst: g_fprintf
      Src: /src/glib/gobject/gobject-query.c:97,1
    - Dst: g_fprintf
      Src: /src/glib/gobject/gobject-query.c:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - arg
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 101
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 101
    functionName: help
    functionSourceFile: /src/glib/gobject/gobject-query.c
    functionUses: []
    functionsReached:
    - g_fprintf
    linkageType: ''
    returnType: gint
    signature: 'static gint help (const gchar *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bsearch_array_create
      Src: /src/glib/gobject/gvalue.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: _g_value_c_init
    functionSourceFile: /src/glib/gobject/gvalue.c
    functionUses: []
    functionsReached:
    - g_bsearch_array_create
    linkageType: ''
    returnType: void
    signature: 'void _g_value_c_init (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvalue.c:85,1
    - Dst: g_type_value_table_peek
      Src: /src/glib/gobject/gvalue.c:88,1
    - Dst: value_meminit
      Src: /src/glib/gobject/gvalue.c:93,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gvalue.c:90,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gvalue.c:96,1
    - Dst: g_critical
      Src: /src/glib/gobject/gvalue.c:97,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gvalue.c:99,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gvalue.c:100,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gvalue.c:100,1
    - Dst: g_critical
      Src: /src/glib/gobject/gvalue.c:102,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gvalue.c:104,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 107
    functionName: g_value_init
    functionSourceFile: /src/glib/gobject/gvalue.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - value_meminit
    - G_VALUE_TYPE
    - g_critical
    - g_type_value_table_peek
    - g_type_name
    linkageType: ''
    returnType: GValue*
    signature: "GValue *g_value_init (GValue *value,\t GType g_type) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvalue.c:190,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gvalue.c:192,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvalue.c:193,1
    - Dst: g_type_value_table_peek
      Src: /src/glib/gobject/gvalue.c:192,1
    - Dst: memset
      Src: /src/glib/gobject/gvalue.c:197,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 198
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 198
    functionName: g_value_unset
    functionSourceFile: /src/glib/gobject/gvalue.c
    functionUses: []
    functionsReached:
    - G_VALUE_TYPE
    - g_type_value_table_peek
    - memset
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_value_unset (GValue *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvalue.c:237,1
    - Dst: g_type_value_table_peek
      Src: /src/glib/gobject/gvalue.c:239,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvalue.c:244,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gvalue.c:239,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvalue.c:240,1
    - Dst: g_value_fits_pointer
      Src: /src/glib/gobject/gvalue.c:244,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 249
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 249
    functionName: g_value_peek_pointer
    functionSourceFile: /src/glib/gobject/gvalue.c
    functionUses: []
    functionsReached:
    - G_VALUE_TYPE
    - g_return_val_if_fail
    - g_value_fits_pointer
    - g_type_value_table_peek
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_value_peek_pointer (const GValue *value) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvalue.c:276,1
    - Dst: g_critical
      Src: /src/glib/gobject/gvalue.c:293,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvalue.c:279,1
    - Dst: memset
      Src: /src/glib/gobject/gvalue.c:281,1
    - Dst: g_type_value_table_peek
      Src: /src/glib/gobject/gvalue.c:270,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gvalue.c:269,1
    - Dst: strcmp
      Src: /src/glib/gobject/gvalue.c:279,1
    - Dst: value_meminit
      Src: /src/glib/gobject/gvalue.c:299,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvalue.c:271,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gvalue.c:275,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gvalue.c:276,1
    - Dst: value_meminit
      Src: /src/glib/gobject/gvalue.c:289,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvalue.c:268,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvalue.c:275,1
    - Dst: g_value_type_compatible
      Src: /src/glib/gobject/gvalue.c:276,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gvalue.c:276,1
    - Dst: g_free
      Src: /src/glib/gobject/gvalue.c:294,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - value
    - instance
    argTypes:
    - GValue*
    - gpointer
    constantsTouched: []
    func_position:
      end: 302
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 302
    functionName: g_value_set_instance
    functionSourceFile: /src/glib/gobject/gvalue.c
    functionUses: []
    functionsReached:
    - G_VALUE_TYPE
    - g_return_if_fail
    - G_TYPE_FROM_INSTANCE
    - value_meminit
    - strcmp
    - g_free
    - g_critical
    - G_TYPE_CHECK_INSTANCE
    - g_value_type_compatible
    - g_type_value_table_peek
    - memset
    linkageType: ''
    returnType: void
    signature: "void g_value_set_instance (GValue *value,\t\t gpointer instance) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_type_fundamental
      Src: /src/glib/gobject/gvalue.c:372,1
    - Dst: g_type_interface_instantiatable_prerequisite
      Src: /src/glib/gobject/gvalue.c:373,1
    - Dst: g_type_parent
      Src: /src/glib/gobject/gvalue.c:375,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - type
    argTypes:
    - GType
    constantsTouched: []
    func_position:
      end: 376
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 376
    functionName: transform_lookup_get_parent_type
    functionSourceFile: /src/glib/gobject/gvalue.c
    functionUses: []
    functionsReached:
    - g_type_parent
    - g_type_interface_instantiatable_prerequisite
    - g_type_fundamental
    linkageType: ''
    returnType: GType
    signature: 'static GType transform_lookup_get_parent_type (GType type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvalue.c:447,1
    - Dst: g_bsearch_array_lookup
      Src: /src/glib/gobject/gvalue.c:453,1
    - Dst: g_warning
      Src: /src/glib/gobject/gvalue.c:454,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gvalue.c:456,1
    - Dst: g_type_name
      Src: /src/glib/gobject/gvalue.c:457,1
    - Dst: g_bsearch_array_replace
      Src: /src/glib/gobject/gvalue.c:461,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - src_type
    - dest_type
    - transform_func
    argTypes:
    - GType
    - GType
    - GValueTransform
    constantsTouched: []
    func_position:
      end: 462
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 462
    functionName: g_value_register_transform_func
    functionSourceFile: /src/glib/gobject/gvalue.c
    functionUses: []
    functionsReached:
    - g_warning
    - g_return_if_fail
    - g_bsearch_array_lookup
    - g_bsearch_array_replace
    - g_type_name
    linkageType: ''
    returnType: void
    signature: "void g_value_register_transform_func (GType src_type,\t\t\t\t GType\
      \ dest_type,\t\t\t\t GValueTransform transform_func) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvalue.c:480,1
    - Dst: transform_func_lookup
      Src: /src/glib/gobject/gvalue.c:484,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvalue.c:481,1
    - Dst: g_value_type_compatible
      Src: /src/glib/gobject/gvalue.c:483,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - src_type
    - dest_type
    argTypes:
    - GType
    - GType
    constantsTouched: []
    func_position:
      end: 485
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 485
    functionName: g_value_type_transformable
    functionSourceFile: /src/glib/gobject/gvalue.c
    functionUses: []
    functionsReached:
    - g_value_type_compatible
    - g_return_val_if_fail
    - transform_func_lookup
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_value_type_transformable (GType src_type,\t\t\t GType dest_type) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/glib/gobject/gvalue.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - value
    - value_type
    argTypes:
    - GValue*
    - GType
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: value_meminit
    functionSourceFile: /src/glib/gobject/gvalue.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: "static inline void /* keep this function in sync with gvaluecollector.h\
      \ and gboxed.c */ value_meminit (GValue *value,\t GType value_type) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_bsearch_array_lookup
      Src: /src/glib/gobject/gvalue.c:392,1
    - Dst: g_type_value_table_peek
      Src: /src/glib/gobject/gvalue.c:396,1
    - Dst: g_type_value_table_peek
      Src: /src/glib/gobject/gvalue.c:397,1
    - Dst: g_type_value_table_peek
      Src: /src/glib/gobject/gvalue.c:396,1
    - Dst: g_type_value_table_peek
      Src: /src/glib/gobject/gvalue.c:397,1
    - Dst: transform_lookup_get_parent_type
      Src: /src/glib/gobject/gvalue.c:400,1
    - Dst: transform_lookup_get_parent_type
      Src: /src/glib/gobject/gvalue.c:404,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - src_type
    - dest_type
    argTypes:
    - GType
    - GType
    constantsTouched: []
    func_position:
      end: 409
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 409
    functionName: transform_func_lookup
    functionSourceFile: /src/glib/gobject/gvalue.c
    functionUses: []
    functionsReached:
    - g_bsearch_array_lookup
    - g_type_value_table_peek
    - transform_lookup_get_parent_type
    linkageType: ''
    returnType: GValueTransform
    signature: "static GValueTransform transform_func_lookup (GType src_type,\t\t\
      \ GType dest_type) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvalue.c:156,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvalue.c:160,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gvalue.c:157,1
    - Dst: g_type_value_table_peek
      Src: /src/glib/gobject/gvalue.c:159,1
    - Dst: value_meminit
      Src: /src/glib/gobject/gvalue.c:167,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 171
    functionName: g_value_reset
    functionSourceFile: /src/glib/gobject/gvalue.c
    functionUses: []
    functionsReached:
    - value_meminit
    - g_return_val_if_fail
    - g_type_value_table_peek
    - G_VALUE_TYPE
    linkageType: ''
    returnType: GValue*
    signature: 'GValue *g_value_reset (GValue *value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvalue.c:120,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gvalue.c:122,1
    - Dst: g_value_type_compatible
      Src: /src/glib/gobject/gvalue.c:122,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvalue.c:122,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvalue.c:121,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gvalue.c:122,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gvalue.c:126,1
    - Dst: g_type_value_table_peek
      Src: /src/glib/gobject/gvalue.c:127,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvalue.c:129,1
    - Dst: value_meminit
      Src: /src/glib/gobject/gvalue.c:136,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - src_value
    - dest_value
    argTypes:
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 139
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 139
    functionName: g_value_copy
    functionSourceFile: /src/glib/gobject/gvalue.c
    functionUses: []
    functionsReached:
    - value_meminit
    - G_VALUE_TYPE
    - g_return_if_fail
    - g_value_type_compatible
    - g_type_value_table_peek
    linkageType: ''
    returnType: void
    signature: "void g_value_copy (const GValue *src_value,\t GValue *dest_value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvalue.c:214,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gvalue.c:216,1
    - Dst: g_type_value_table_peek
      Src: /src/glib/gobject/gvalue.c:216,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvalue.c:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 220
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 220
    functionName: g_value_fits_pointer
    functionSourceFile: /src/glib/gobject/gvalue.c
    functionUses: []
    functionsReached:
    - G_VALUE_TYPE
    - g_return_val_if_fail
    - g_type_value_table_peek
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_value_fits_pointer (const GValue *value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvalue.c:323,1
    - Dst: G_TYPE_CHECK_INSTANCE
      Src: /src/glib/gobject/gvalue.c:342,1
    - Dst: strcmp
      Src: /src/glib/gobject/gvalue.c:346,1
    - Dst: memset
      Src: /src/glib/gobject/gvalue.c:348,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvalue.c:346,1
    - Dst: value_meminit
      Src: /src/glib/gobject/gvalue.c:332,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gvalue.c:323,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/gvalue.c:342,1
    - Dst: g_free
      Src: /src/glib/gobject/gvalue.c:358,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gvalue.c:332,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/gvalue.c:325,1
    - Dst: g_type_value_table_peek
      Src: /src/glib/gobject/gvalue.c:345,1
    - Dst: g_critical
      Src: /src/glib/gobject/gvalue.c:357,1
    - Dst: value_meminit
      Src: /src/glib/gobject/gvalue.c:352,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/gvalue.c:333,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gobject/gvalue.c:344,1
    - Dst: value_meminit
      Src: /src/glib/gobject/gvalue.c:363,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 2
    argNames:
    - value
    - instance
    argTypes:
    - GValue*
    - gpointer
    constantsTouched: []
    func_position:
      end: 367
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 367
    functionName: g_value_init_from_instance
    functionSourceFile: /src/glib/gobject/gvalue.c
    functionUses: []
    functionsReached:
    - value_meminit
    - G_VALUE_TYPE
    - G_TYPE_FROM_INSTANCE
    - g_return_if_fail
    - G_IS_OBJECT
    - strcmp
    - g_free
    - g_critical
    - g_object_ref
    - G_TYPE_CHECK_INSTANCE
    - g_type_value_table_peek
    - memset
    linkageType: ''
    returnType: void
    signature: 'void g_value_init_from_instance (GValue *value, gpointer instance) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_BSEARCH_ARRAY_CMP
      Src: /src/glib/gobject/gvalue.c:417,1
    - Dst: G_BSEARCH_ARRAY_CMP
      Src: /src/glib/gobject/gvalue.c:422,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - bsearch_node1
    - bsearch_node2
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 423
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 423
    functionName: transform_entries_cmp
    functionSourceFile: /src/glib/gobject/gvalue.c
    functionUses: []
    functionsReached:
    - G_BSEARCH_ARRAY_CMP
    linkageType: ''
    returnType: gint
    signature: "static gint transform_entries_cmp (gconstpointer bsearch_node1,\t\t\
      \ gconstpointer bsearch_node2) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvalue.c:501,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvalue.c:502,1
    - Dst: g_type_value_table_peek
      Src: /src/glib/gobject/gvalue.c:509,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/gvalue.c:508,1
    - Dst: g_type_value_table_peek
      Src: /src/glib/gobject/gvalue.c:509,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - src_type
    - dest_type
    argTypes:
    - GType
    - GType
    constantsTouched: []
    func_position:
      end: 510
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 510
    functionName: g_value_type_compatible
    functionSourceFile: /src/glib/gobject/gvalue.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_type_is_a
    - g_type_value_table_peek
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_value_type_compatible (GType src_type,\t\t\t GType dest_type) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvalue.c:534,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gvalue.c:537,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gvalue.c:538,1
    - Dst: g_value_type_compatible
      Src: /src/glib/gobject/gvalue.c:538,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/gvalue.c:535,1
    - Dst: g_value_copy
      Src: /src/glib/gobject/gvalue.c:540,1
    - Dst: transform_func_lookup
      Src: /src/glib/gobject/gvalue.c:546,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/gvalue.c:546,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/gvalue.c:550,1
    - Dst: value_meminit
      Src: /src/glib/gobject/gvalue.c:553,1
    - Dst: transform
      Src: /src/glib/gobject/gvalue.c:554,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - src_value
    - dest_value
    argTypes:
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 560
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 560
    functionName: g_value_transform
    functionSourceFile: /src/glib/gobject/gvalue.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - transform_func_lookup
    - G_VALUE_TYPE
    - value_meminit
    - g_value_type_compatible
    - g_value_copy
    - transform
    - g_value_unset
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_value_transform (const GValue *src_value,\t\t GValue *dest_value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signalgroup.c:122,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signalgroup.c:124,1
    - Dst: G_IS_SIGNAL_GROUP
      Src: /src/glib/gobject/tests/signalgroup.c:124,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signalgroup.c:125,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signalgroup.c:123,1
    - Dst: TEST_IS_SIGNAL_TARGET
      Src: /src/glib/gobject/tests/signalgroup.c:125,1
    - Dst: g_signal_group_dup_target
      Src: /src/glib/gobject/tests/signalgroup.c:127,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signalgroup.c:128,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signalgroup.c:129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - signal_calls
    - group
    - target
    argTypes:
    - gint*
    - GSignalGroup*
    - SignalTarget*
    constantsTouched: []
    func_position:
      end: 132
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 132
    functionName: connect_swapped_cb
    functionSourceFile: /src/glib/gobject/tests/signalgroup.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_object_unref
    - TEST_IS_SIGNAL_TARGET
    - G_IS_SIGNAL_GROUP
    - g_signal_group_dup_target
    linkageType: ''
    returnType: void
    signature: 'static void connect_swapped_cb (gint *signal_calls, GSignalGroup *group,
      SignalTarget *target) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/signalgroup.c:176,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/signalgroup.c:178,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/signalgroup.c:180,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signalgroup.c:177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - weak_notify_called
    - closure
    argTypes:
    - gboolean*
    - GClosure*
    constantsTouched: []
    func_position:
      end: 182
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 182
    functionName: connect_data_notify_cb
    functionSourceFile: /src/glib/gobject/tests/signalgroup.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_assert_nonnull
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void connect_data_notify_cb (gboolean *weak_notify_called,
      GClosure *closure) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 283
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 283
    functionName: dummy_handler
    functionSourceFile: /src/glib/gobject/tests/signalgroup.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void dummy_handler (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_group_dup_target
      Src: /src/glib/gobject/tests/signalgroup.c:353,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signalgroup.c:357,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signalgroup.c:363,1
    - Dst: connect_all_signals
      Src: /src/glib/gobject/tests/signalgroup.c:364,1
    - Dst: signal_target_get_type
      Src: /src/glib/gobject/tests/signalgroup.c:362,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gobject/tests/signalgroup.c:367,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signalgroup.c:352,1
    - Dst: signal_target_get_type
      Src: /src/glib/gobject/tests/signalgroup.c:351,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gobject/tests/signalgroup.c:358,1
    - Dst: g_signal_group_new
      Src: /src/glib/gobject/tests/signalgroup.c:362,1
    - Dst: g_signal_group_set_target
      Src: /src/glib/gobject/tests/signalgroup.c:365,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gobject/tests/signalgroup.c:368,1
    - Dst: signal_target_get_type
      Src: /src/glib/gobject/tests/signalgroup.c:352,1
    - Dst: g_signal_group_set_target
      Src: /src/glib/gobject/tests/signalgroup.c:354,1
    - Dst: g_signal_group_dup_target
      Src: /src/glib/gobject/tests/signalgroup.c:355,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signalgroup.c:356,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gobject/tests/signalgroup.c:360,1
    - Dst: assert_signals
      Src: /src/glib/gobject/tests/signalgroup.c:359,1
    - Dst: assert_signals
      Src: /src/glib/gobject/tests/signalgroup.c:366,1
    - Dst: g_signal_group_new
      Src: /src/glib/gobject/tests/signalgroup.c:351,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/signalgroup.c:353,1
    - Dst: signal_target_get_type
      Src: /src/glib/gobject/tests/signalgroup.c:363,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 369
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 369
    functionName: test_signal_group_simple
    functionSourceFile: /src/glib/gobject/tests/signalgroup.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - signal_target_get_type
    - g_object_new
    - g_assert_null
    - g_object_unref
    - g_signal_group_set_target
    - g_signal_group_new
    - assert_signals
    - g_assert_finalize_object
    - g_signal_group_dup_target
    - connect_all_signals
    linkageType: ''
    returnType: void
    signature: 'static void test_signal_group_simple (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signalgroup.c:142,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signalgroup.c:143,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signalgroup.c:144,1
    - Dst: TEST_IS_SIGNAL_TARGET
      Src: /src/glib/gobject/tests/signalgroup.c:142,1
    - Dst: G_IS_SIGNAL_GROUP
      Src: /src/glib/gobject/tests/signalgroup.c:143,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/tests/signalgroup.c:144,1
    - Dst: g_signal_group_dup_target
      Src: /src/glib/gobject/tests/signalgroup.c:146,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signalgroup.c:147,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signalgroup.c:148,1
    - Dst: g_object_get_data
      Src: /src/glib/gobject/tests/signalgroup.c:150,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signalgroup.c:152,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/signalgroup.c:151,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - target
    - group
    - object
    argTypes:
    - SignalTarget*
    - GSignalGroup*
    - GObject*
    constantsTouched: []
    func_position:
      end: 155
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 155
    functionName: connect_object_cb
    functionSourceFile: /src/glib/gobject/tests/signalgroup.c
    functionUses: []
    functionsReached:
    - g_object_get_data
    - g_assert_true
    - g_object_unref
    - TEST_IS_SIGNAL_TARGET
    - G_IS_OBJECT
    - g_assert_nonnull
    - G_IS_SIGNAL_GROUP
    - g_signal_group_dup_target
    linkageType: ''
    returnType: void
    signature: 'static void connect_object_cb (SignalTarget *target, GSignalGroup
      *group, GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/signalgroup.c:188,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signalgroup.c:192,1
    - Dst: G_IS_SIGNAL_GROUP
      Src: /src/glib/gobject/tests/signalgroup.c:190,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signalgroup.c:189,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signalgroup.c:190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - weak_notify_called
    - group
    argTypes:
    - gboolean*
    - GSignalGroup*
    constantsTouched: []
    func_position:
      end: 193
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 193
    functionName: connect_data_weak_notify_cb
    functionSourceFile: /src/glib/gobject/tests/signalgroup.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_assert_true
    - G_IS_SIGNAL_GROUP
    linkageType: ''
    returnType: void
    signature: 'static void connect_data_weak_notify_cb (gboolean *weak_notify_called,
      GSignalGroup *group) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_group_new
      Src: /src/glib/gobject/tests/signalgroup.c:290,1
    - Dst: g_signal_group_set_target
      Src: /src/glib/gobject/tests/signalgroup.c:301,1
    - Dst: g_signal_group_new
      Src: /src/glib/gobject/tests/signalgroup.c:308,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gobject/tests/signalgroup.c:302,1
    - Dst: signal_target_get_type
      Src: /src/glib/gobject/tests/signalgroup.c:319,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gobject/tests/signalgroup.c:324,1
    - Dst: g_test_expect_message
      Src: /src/glib/gobject/tests/signalgroup.c:328,1
    - Dst: g_test_expect_message
      Src: /src/glib/gobject/tests/signalgroup.c:293,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gobject/tests/signalgroup.c:296,1
    - Dst: g_test_expect_message
      Src: /src/glib/gobject/tests/signalgroup.c:299,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gobject/tests/signalgroup.c:314,1
    - Dst: g_signal_group_connect
      Src: /src/glib/gobject/tests/signalgroup.c:309,1
    - Dst: signal_target_get_type
      Src: /src/glib/gobject/tests/signalgroup.c:308,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signalgroup.c:311,1
    - Dst: g_signal_group_new
      Src: /src/glib/gobject/tests/signalgroup.c:319,1
    - Dst: g_signal_group_connect
      Src: /src/glib/gobject/tests/signalgroup.c:332,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gobject/tests/signalgroup.c:337,1
    - Dst: g_signal_group_new
      Src: /src/glib/gobject/tests/signalgroup.c:295,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gobject/tests/signalgroup.c:313,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gobject/tests/signalgroup.c:303,1
    - Dst: g_test_expect_message
      Src: /src/glib/gobject/tests/signalgroup.c:317,1
    - Dst: signal_target_get_type
      Src: /src/glib/gobject/tests/signalgroup.c:330,1
    - Dst: g_signal_group_set_target
      Src: /src/glib/gobject/tests/signalgroup.c:331,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gobject/tests/signalgroup.c:336,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gobject/tests/signalgroup.c:339,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gobject/tests/signalgroup.c:340,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signalgroup.c:288,1
    - Dst: signal_target_get_type
      Src: /src/glib/gobject/tests/signalgroup.c:289,1
    - Dst: signal_target_get_type
      Src: /src/glib/gobject/tests/signalgroup.c:290,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signalgroup.c:289,1
    - Dst: g_test_expect_message
      Src: /src/glib/gobject/tests/signalgroup.c:306,1
    - Dst: g_signal_group_connect
      Src: /src/glib/gobject/tests/signalgroup.c:320,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signalgroup.c:322,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gobject/tests/signalgroup.c:325,1
    - Dst: g_signal_group_new
      Src: /src/glib/gobject/tests/signalgroup.c:330,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signalgroup.c:334,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 40
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 341
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 341
    functionName: test_signal_group_invalid
    functionSourceFile: /src/glib/gobject/tests/signalgroup.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - signal_target_get_type
    - g_object_new
    - g_signal_group_connect
    - g_signal_group_set_target
    - G_CALLBACK
    - g_signal_group_new
    - g_test_expect_message
    - g_assert_finalize_object
    linkageType: ''
    returnType: void
    signature: 'static void test_signal_group_invalid (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/signalgroup.c:379,1
    - Dst: signal_target_get_type
      Src: /src/glib/gobject/tests/signalgroup.c:382,1
    - Dst: g_signal_group_set_target
      Src: /src/glib/gobject/tests/signalgroup.c:394,1
    - Dst: assert_signals
      Src: /src/glib/gobject/tests/signalgroup.c:388,1
    - Dst: signal_target_get_type
      Src: /src/glib/gobject/tests/signalgroup.c:403,1
    - Dst: assert_signals
      Src: /src/glib/gobject/tests/signalgroup.c:413,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gobject/tests/signalgroup.c:415,1
    - Dst: g_signal_group_dup_target
      Src: /src/glib/gobject/tests/signalgroup.c:409,1
    - Dst: g_signal_group_new
      Src: /src/glib/gobject/tests/signalgroup.c:375,1
    - Dst: g_signal_group_dup_target
      Src: /src/glib/gobject/tests/signalgroup.c:379,1
    - Dst: g_signal_group_set_target
      Src: /src/glib/gobject/tests/signalgroup.c:383,1
    - Dst: g_signal_group_dup_target
      Src: /src/glib/gobject/tests/signalgroup.c:384,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signalgroup.c:385,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signalgroup.c:392,1
    - Dst: g_signal_group_dup_target
      Src: /src/glib/gobject/tests/signalgroup.c:391,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signalgroup.c:398,1
    - Dst: g_signal_group_dup_target
      Src: /src/glib/gobject/tests/signalgroup.c:404,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signalgroup.c:405,1
    - Dst: connect_all_signals
      Src: /src/glib/gobject/tests/signalgroup.c:378,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signalgroup.c:382,1
    - Dst: assert_signals
      Src: /src/glib/gobject/tests/signalgroup.c:400,1
    - Dst: g_signal_group_set_target
      Src: /src/glib/gobject/tests/signalgroup.c:408,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gobject/tests/signalgroup.c:416,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signalgroup.c:410,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signalgroup.c:406,1
    - Dst: signal_target_get_type
      Src: /src/glib/gobject/tests/signalgroup.c:375,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signalgroup.c:386,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signalgroup.c:393,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signalgroup.c:397,1
    - Dst: g_signal_group_dup_target
      Src: /src/glib/gobject/tests/signalgroup.c:396,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signalgroup.c:403,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signalgroup.c:411,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gobject/tests/signalgroup.c:417,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 46
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 418
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 418
    functionName: test_signal_group_changing_target
    functionSourceFile: /src/glib/gobject/tests/signalgroup.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - signal_target_get_type
    - g_object_new
    - g_assert_null
    - g_object_unref
    - g_signal_group_set_target
    - g_signal_group_new
    - assert_signals
    - g_assert_finalize_object
    - g_signal_group_dup_target
    - connect_all_signals
    linkageType: ''
    returnType: void
    signature: 'static void test_signal_group_changing_target (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signalgroup.c:83,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signalgroup.c:84,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/signalgroup.c:85,1
    - Dst: TEST_IS_SIGNAL_TARGET
      Src: /src/glib/gobject/tests/signalgroup.c:83,1
    - Dst: G_IS_SIGNAL_GROUP
      Src: /src/glib/gobject/tests/signalgroup.c:84,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signalgroup.c:86,1
    - Dst: g_signal_group_dup_target
      Src: /src/glib/gobject/tests/signalgroup.c:88,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signalgroup.c:89,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signalgroup.c:90,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - target
    - group
    - signal_calls
    argTypes:
    - SignalTarget*
    - GSignalGroup*
    - gint*
    constantsTouched: []
    func_position:
      end: 93
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 93
    functionName: connect_before_cb
    functionSourceFile: /src/glib/gobject/tests/signalgroup.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_object_unref
    - TEST_IS_SIGNAL_TARGET
    - g_assert_nonnull
    - G_IS_SIGNAL_GROUP
    - g_signal_group_dup_target
    linkageType: ''
    returnType: void
    signature: 'static void connect_before_cb (SignalTarget *target, GSignalGroup
      *group, gint *signal_calls) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_signals
      Src: /src/glib/gobject/tests/signalgroup.c:427,1
    - Dst: assert_signals
      Src: /src/glib/gobject/tests/signalgroup.c:439,1
    - Dst: g_signal_group_unblock
      Src: /src/glib/gobject/tests/signalgroup.c:440,1
    - Dst: assert_signals
      Src: /src/glib/gobject/tests/signalgroup.c:433,1
    - Dst: g_signal_group_block
      Src: /src/glib/gobject/tests/signalgroup.c:432,1
    - Dst: assert_signals
      Src: /src/glib/gobject/tests/signalgroup.c:443,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - target
    - group
    - count
    argTypes:
    - SignalTarget*
    - GSignalGroup*
    - gint
    constantsTouched: []
    func_position:
      end: 444
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 444
    functionName: assert_blocking
    functionSourceFile: /src/glib/gobject/tests/signalgroup.c
    functionUses: []
    functionsReached:
    - g_signal_group_unblock
    - assert_signals
    - g_signal_group_block
    linkageType: ''
    returnType: void
    signature: 'static void assert_blocking (SignalTarget *target, GSignalGroup *group,
      gint count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signalgroup.c:102,1
    - Dst: TEST_IS_SIGNAL_TARGET
      Src: /src/glib/gobject/tests/signalgroup.c:102,1
    - Dst: G_IS_SIGNAL_GROUP
      Src: /src/glib/gobject/tests/signalgroup.c:103,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signalgroup.c:103,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/signalgroup.c:104,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signalgroup.c:105,1
    - Dst: g_signal_group_dup_target
      Src: /src/glib/gobject/tests/signalgroup.c:107,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signalgroup.c:108,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signalgroup.c:109,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signalgroup.c:111,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - target
    - group
    - signal_calls
    argTypes:
    - SignalTarget*
    - GSignalGroup*
    - gint*
    constantsTouched: []
    func_position:
      end: 113
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 113
    functionName: connect_after_cb
    functionSourceFile: /src/glib/gobject/tests/signalgroup.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_object_unref
    - TEST_IS_SIGNAL_TARGET
    - g_assert_nonnull
    - G_IS_SIGNAL_GROUP
    - g_signal_group_dup_target
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void connect_after_cb (SignalTarget *target, GSignalGroup *group,
      gint *signal_calls) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_group_new
      Src: /src/glib/gobject/tests/signalgroup.c:450,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signalgroup.c:459,1
    - Dst: g_signal_group_dup_target
      Src: /src/glib/gobject/tests/signalgroup.c:461,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signalgroup.c:462,1
    - Dst: signal_target_get_type
      Src: /src/glib/gobject/tests/signalgroup.c:474,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signalgroup.c:477,1
    - Dst: g_signal_group_dup_target
      Src: /src/glib/gobject/tests/signalgroup.c:479,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signalgroup.c:480,1
    - Dst: g_signal_group_unblock
      Src: /src/glib/gobject/tests/signalgroup.c:486,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gobject/tests/signalgroup.c:489,1
    - Dst: g_signal_group_unblock
      Src: /src/glib/gobject/tests/signalgroup.c:454,1
    - Dst: g_signal_group_block
      Src: /src/glib/gobject/tests/signalgroup.c:453,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/signalgroup.c:457,1
    - Dst: signal_target_get_type
      Src: /src/glib/gobject/tests/signalgroup.c:459,1
    - Dst: g_signal_group_set_target
      Src: /src/glib/gobject/tests/signalgroup.c:460,1
    - Dst: g_signal_group_set_target
      Src: /src/glib/gobject/tests/signalgroup.c:478,1
    - Dst: assert_signals
      Src: /src/glib/gobject/tests/signalgroup.c:487,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gobject/tests/signalgroup.c:491,1
    - Dst: signal_target_get_type
      Src: /src/glib/gobject/tests/signalgroup.c:450,1
    - Dst: g_signal_group_dup_target
      Src: /src/glib/gobject/tests/signalgroup.c:457,1
    - Dst: g_signal_group_block
      Src: /src/glib/gobject/tests/signalgroup.c:470,1
    - Dst: g_signal_group_block
      Src: /src/glib/gobject/tests/signalgroup.c:471,1
    - Dst: assert_blocking
      Src: /src/glib/gobject/tests/signalgroup.c:466,1
    - Dst: assert_blocking
      Src: /src/glib/gobject/tests/signalgroup.c:467,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signalgroup.c:463,1
    - Dst: g_signal_group_dup_target
      Src: /src/glib/gobject/tests/signalgroup.c:475,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signalgroup.c:476,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signalgroup.c:481,1
    - Dst: assert_signals
      Src: /src/glib/gobject/tests/signalgroup.c:483,1
    - Dst: connect_all_signals
      Src: /src/glib/gobject/tests/signalgroup.c:456,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signalgroup.c:474,1
    - Dst: assert_blocking
      Src: /src/glib/gobject/tests/signalgroup.c:465,1
    - Dst: assert_signals
      Src: /src/glib/gobject/tests/signalgroup.c:485,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gobject/tests/signalgroup.c:490,1
    - Dst: g_signal_group_unblock
      Src: /src/glib/gobject/tests/signalgroup.c:484,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 44
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 492
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 492
    functionName: test_signal_group_blocking
    functionSourceFile: /src/glib/gobject/tests/signalgroup.c
    functionUses: []
    functionsReached:
    - g_signal_group_unblock
    - g_signal_group_block
    - g_assert_true
    - signal_target_get_type
    - g_object_new
    - g_assert_null
    - g_object_unref
    - g_signal_group_set_target
    - assert_blocking
    - g_signal_group_new
    - assert_signals
    - g_assert_finalize_object
    - g_signal_group_dup_target
    - connect_all_signals
    linkageType: ''
    returnType: void
    signature: 'static void test_signal_group_blocking (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/signalgroup.c:622,1
    - Dst: G_TYPE_FROM_INTERFACE
      Src: /src/glib/gobject/tests/signalgroup.c:623,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gobject/tests/signalgroup.c:625,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - iface
    argTypes:
    - SignalThingInterface*
    constantsTouched: []
    func_position:
      end: 628
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 628
    functionName: signal_thing_default_init
    functionSourceFile: /src/glib/gobject/tests/signalgroup.c
    functionUses: []
    functionsReached:
    - G_STRUCT_OFFSET
    - G_TYPE_FROM_INTERFACE
    - g_signal_new
    linkageType: ''
    returnType: void
    signature: 'static void signal_thing_default_init (SignalThingInterface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/signalgroup.c:654,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signalgroup.c:656,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signalgroup.c:658,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signalgroup.c:657,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signalgroup.c:655,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signalgroup.c:659,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signalgroup.c:660,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signalgroup.c:661,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signalgroup.c:662,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signalgroup.c:663,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/signalgroup.c:665,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signalgroup.c:664,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - gint
    - gchar*
    constantsTouched: []
    func_position:
      end: 666
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 666
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/signalgroup.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: gint
    signature: 'gint main (gint argc, gchar *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_error
      Src: /src/glib/gobject/tests/signalgroup.c:162,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - target
    - group
    - object
    argTypes:
    - SignalTarget*
    - GSignalGroup*
    - GObject*
    constantsTouched: []
    func_position:
      end: 163
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 163
    functionName: connect_bad_detail_cb
    functionSourceFile: /src/glib/gobject/tests/signalgroup.c
    functionUses: []
    functionsReached:
    - g_error
    linkageType: ''
    returnType: void
    signature: 'static void connect_bad_detail_cb (SignalTarget *target, GSignalGroup
      *group, GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_group_connect
      Src: /src/glib/gobject/tests/signalgroup.c:202,1
    - Dst: g_signal_group_connect_after
      Src: /src/glib/gobject/tests/signalgroup.c:206,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signalgroup.c:214,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signalgroup.c:218,1
    - Dst: g_signal_group_connect_object
      Src: /src/glib/gobject/tests/signalgroup.c:220,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signalgroup.c:243,1
    - Dst: g_object_weak_ref
      Src: /src/glib/gobject/tests/signalgroup.c:247,1
    - Dst: g_cclosure_new
      Src: /src/glib/gobject/tests/signalgroup.c:253,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signalgroup.c:259,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signalgroup.c:204,1
    - Dst: g_object_weak_ref
      Src: /src/glib/gobject/tests/signalgroup.c:225,1
    - Dst: g_signal_group_connect
      Src: /src/glib/gobject/tests/signalgroup.c:230,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/signalgroup.c:247,1
    - Dst: g_cclosure_new
      Src: /src/glib/gobject/tests/signalgroup.c:259,1
    - Dst: g_signal_group_connect_swapped
      Src: /src/glib/gobject/tests/signalgroup.c:212,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signalgroup.c:208,1
    - Dst: g_object_set_data
      Src: /src/glib/gobject/tests/signalgroup.c:219,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signalgroup.c:222,1
    - Dst: g_signal_group_connect_data
      Src: /src/glib/gobject/tests/signalgroup.c:241,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signalgroup.c:236,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signalgroup.c:253,1
    - Dst: g_signal_group_connect_closure
      Src: /src/glib/gobject/tests/signalgroup.c:263,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signalgroup.c:232,1
    - Dst: g_signal_group_connect
      Src: /src/glib/gobject/tests/signalgroup.c:234,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/signalgroup.c:225,1
    - Dst: g_signal_group_connect_closure
      Src: /src/glib/gobject/tests/signalgroup.c:256,1
    - Dst: g_closure_invalidate
      Src: /src/glib/gobject/tests/signalgroup.c:262,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 1
    argNames:
    - group
    argTypes:
    - GSignalGroup*
    constantsTouched: []
    func_position:
      end: 264
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 264
    functionName: connect_all_signals
    functionSourceFile: /src/glib/gobject/tests/signalgroup.c
    functionUses: []
    functionsReached:
    - g_cclosure_new
    - g_object_new
    - g_signal_group_connect
    - g_object_weak_ref
    - G_OBJECT
    - G_CALLBACK
    - g_signal_group_connect_data
    - g_signal_group_connect_closure
    - g_closure_invalidate
    - g_object_set_data
    - g_signal_group_connect_after
    - g_signal_group_connect_swapped
    - g_signal_group_connect_object
    linkageType: ''
    returnType: void
    signature: 'static void connect_all_signals (GSignalGroup *group) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signalgroup.c:497,1
    - Dst: g_signal_group_new
      Src: /src/glib/gobject/tests/signalgroup.c:498,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/signalgroup.c:501,1
    - Dst: signal_target_get_type
      Src: /src/glib/gobject/tests/signalgroup.c:497,1
    - Dst: signal_target_get_type
      Src: /src/glib/gobject/tests/signalgroup.c:498,1
    - Dst: g_signal_group_dup_target
      Src: /src/glib/gobject/tests/signalgroup.c:501,1
    - Dst: g_signal_group_set_target
      Src: /src/glib/gobject/tests/signalgroup.c:502,1
    - Dst: g_signal_group_dup_target
      Src: /src/glib/gobject/tests/signalgroup.c:503,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signalgroup.c:504,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signalgroup.c:505,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/signalgroup.c:508,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gobject/tests/signalgroup.c:509,1
    - Dst: g_signal_group_dup_target
      Src: /src/glib/gobject/tests/signalgroup.c:508,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gobject/tests/signalgroup.c:507,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 510
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 510
    functionName: test_signal_group_weak_ref_target
    functionSourceFile: /src/glib/gobject/tests/signalgroup.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - signal_target_get_type
    - g_object_new
    - g_assert_null
    - g_object_unref
    - g_signal_group_set_target
    - g_signal_group_new
    - g_assert_finalize_object
    - g_signal_group_dup_target
    linkageType: ''
    returnType: void
    signature: 'static void test_signal_group_weak_ref_target (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/glib/gobject/tests/signalgroup.c:634,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - thing
    - G_GNUC_UNUSED
    argTypes:
    - SignalThing*
    - gpointer
    constantsTouched: []
    func_position:
      end: 635
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 635
    functionName: thing_changed_cb
    functionSourceFile: /src/glib/gobject/tests/signalgroup.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    linkageType: ''
    returnType: G_GNUC_NORETURN
    signature: 'G_GNUC_NORETURN static void thing_changed_cb (SignalThing *thing,
      gpointer user_data G_GNUC_UNUSED) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_error
      Src: /src/glib/gobject/tests/signalgroup.c:169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - target
    - weak_notify_called
    argTypes:
    - SignalTarget*
    - gboolean*
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: connect_never_emitted_cb
    functionSourceFile: /src/glib/gobject/tests/signalgroup.c
    functionUses: []
    functionsReached:
    - g_error
    linkageType: ''
    returnType: void
    signature: 'static void connect_never_emitted_cb (SignalTarget *target, gboolean
      *weak_notify_called) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/tests/signalgroup.c:271,1
    - Dst: G_IS_SIGNAL_GROUP
      Src: /src/glib/gobject/tests/signalgroup.c:272,1
    - Dst: g_signal_emit
      Src: /src/glib/gobject/tests/signalgroup.c:275,1
    - Dst: TEST_IS_SIGNAL_TARGET
      Src: /src/glib/gobject/tests/signalgroup.c:271,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/signalgroup.c:272,1
    - Dst: signal_detail_quark
      Src: /src/glib/gobject/tests/signalgroup.c:276,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signalgroup.c:277,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - target
    - group
    - success
    argTypes:
    - SignalTarget*
    - GSignalGroup*
    - gboolean
    constantsTouched: []
    func_position:
      end: 278
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 278
    functionName: assert_signals
    functionSourceFile: /src/glib/gobject/tests/signalgroup.c
    functionUses: []
    functionsReached:
    - TEST_IS_SIGNAL_TARGET
    - g_assert
    - G_IS_SIGNAL_GROUP
    - g_signal_emit
    - signal_detail_quark
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void assert_signals (SignalTarget *target, GSignalGroup *group,
      gboolean success) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_group_connect_object
      Src: /src/glib/gobject/tests/signalgroup.c:523,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signalgroup.c:525,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signalgroup.c:532,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gobject/tests/signalgroup.c:535,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/signalgroup.c:541,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signalgroup.c:544,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signalgroup.c:516,1
    - Dst: signal_target_get_type
      Src: /src/glib/gobject/tests/signalgroup.c:517,1
    - Dst: g_signal_group_dup_target
      Src: /src/glib/gobject/tests/signalgroup.c:529,1
    - Dst: g_signal_group_dup_target
      Src: /src/glib/gobject/tests/signalgroup.c:531,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gobject/tests/signalgroup.c:548,1
    - Dst: g_signal_group_new
      Src: /src/glib/gobject/tests/signalgroup.c:517,1
    - Dst: g_signal_group_set_target
      Src: /src/glib/gobject/tests/signalgroup.c:530,1
    - Dst: g_signal_group_dup_target
      Src: /src/glib/gobject/tests/signalgroup.c:541,1
    - Dst: g_signal_group_set_target
      Src: /src/glib/gobject/tests/signalgroup.c:542,1
    - Dst: g_signal_group_dup_target
      Src: /src/glib/gobject/tests/signalgroup.c:543,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signalgroup.c:545,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signalgroup.c:515,1
    - Dst: signal_target_get_type
      Src: /src/glib/gobject/tests/signalgroup.c:516,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/signalgroup.c:529,1
    - Dst: g_signal_group_set_target
      Src: /src/glib/gobject/tests/signalgroup.c:540,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signalgroup.c:533,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gobject/tests/signalgroup.c:547,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 549
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 549
    functionName: test_signal_group_connect_object
    functionSourceFile: /src/glib/gobject/tests/signalgroup.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - signal_target_get_type
    - g_object_new
    - g_assert_null
    - g_object_unref
    - g_signal_group_set_target
    - G_CALLBACK
    - g_signal_group_new
    - g_assert_finalize_object
    - g_signal_group_dup_target
    - g_signal_group_connect_object
    linkageType: ''
    returnType: void
    signature: 'static void test_signal_group_connect_object (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_group_new
      Src: /src/glib/gobject/tests/signalgroup.c:642,1
    - Dst: signal_thing_get_type
      Src: /src/glib/gobject/tests/signalgroup.c:642,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gobject/tests/signalgroup.c:647,1
    - Dst: g_signal_group_connect
      Src: /src/glib/gobject/tests/signalgroup.c:643,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signalgroup.c:645,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 648
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 648
    functionName: test_signal_group_interface
    functionSourceFile: /src/glib/gobject/tests/signalgroup.c
    functionUses: []
    functionsReached:
    - g_signal_group_connect
    - G_CALLBACK
    - g_signal_group_new
    - signal_thing_get_type
    - g_assert_finalize_object
    linkageType: ''
    returnType: void
    signature: 'static void test_signal_group_interface (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/signalgroup.c:48,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/signalgroup.c:59,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/signalgroup.c:58,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/signalgroup.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - klass
    argTypes:
    - SignalTargetClass*
    constantsTouched: []
    func_position:
      end: 66
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 66
    functionName: signal_target_class_init
    functionSourceFile: /src/glib/gobject/tests/signalgroup.c
    functionUses: []
    functionsReached:
    - G_TYPE_FROM_CLASS
    - g_signal_new
    linkageType: ''
    returnType: void
    signature: 'static void signal_target_class_init (SignalTargetClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gobject/tests/signalgroup.c:554,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/gobject/tests/signalgroup.c:556,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gobject/tests/signalgroup.c:557,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 558
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 558
    functionName: test_signal_group_signal_parsing
    functionSourceFile: /src/glib/gobject/tests/signalgroup.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_passed
    - g_test_trap_subprocess
    - g_test_trap_assert_stderr
    linkageType: ''
    returnType: void
    signature: 'static void test_signal_group_signal_parsing (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_group_new
      Src: /src/glib/gobject/tests/signalgroup.c:587,1
    - Dst: signal_target_get_type
      Src: /src/glib/gobject/tests/signalgroup.c:587,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signalgroup.c:592,1
    - Dst: signal_target_get_type
      Src: /src/glib/gobject/tests/signalgroup.c:592,1
    - Dst: g_object_get
      Src: /src/glib/gobject/tests/signalgroup.c:588,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/signalgroup.c:593,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signalgroup.c:595,1
    - Dst: signal_target_get_type
      Src: /src/glib/gobject/tests/signalgroup.c:595,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/signalgroup.c:596,1
    - Dst: g_object_get
      Src: /src/glib/gobject/tests/signalgroup.c:597,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signalgroup.c:598,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gobject/tests/signalgroup.c:603,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/signalgroup.c:602,1
    - Dst: g_signal_group_dup_target
      Src: /src/glib/gobject/tests/signalgroup.c:602,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signalgroup.c:599,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gobject/tests/signalgroup.c:601,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 604
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 604
    functionName: test_signal_group_properties
    functionSourceFile: /src/glib/gobject/tests/signalgroup.c
    functionUses: []
    functionsReached:
    - g_object_set
    - g_object_get
    - g_assert_true
    - signal_target_get_type
    - g_object_new
    - g_assert_null
    - g_object_unref
    - g_signal_group_new
    - g_assert_finalize_object
    - g_signal_group_dup_target
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_signal_group_properties (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - SignalTarget*
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: signal_target_init
    functionSourceFile: /src/glib/gobject/tests/signalgroup.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void signal_target_init (SignalTarget *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/signalgroup.c:569,1
    - Dst: g_signal_group_new
      Src: /src/glib/gobject/tests/signalgroup.c:571,1
    - Dst: signal_target_get_type
      Src: /src/glib/gobject/tests/signalgroup.c:571,1
    - Dst: g_type_class_peek
      Src: /src/glib/gobject/tests/signalgroup.c:569,1
    - Dst: signal_target_get_type
      Src: /src/glib/gobject/tests/signalgroup.c:569,1
    - Dst: g_signal_group_connect
      Src: /src/glib/gobject/tests/signalgroup.c:572,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signalgroup.c:574,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gobject/tests/signalgroup.c:577,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 578
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 578
    functionName: test_signal_group_signal_parsing_subprocess
    functionSourceFile: /src/glib/gobject/tests/signalgroup.c
    functionUses: []
    functionsReached:
    - signal_target_get_type
    - g_assert_null
    - g_signal_group_connect
    - g_type_class_peek
    - G_CALLBACK
    - g_signal_group_new
    - g_assert_finalize_object
    linkageType: ''
    returnType: void
    signature: 'static void test_signal_group_signal_parsing_subprocess (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/tests/objects-refcount1.c:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GTestClass*
    constantsTouched: []
    func_position:
      end: 87
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 87
    functionName: my_test_class_init
    functionSourceFile: /src/glib/gobject/tests/objects-refcount1.c
    functionUses: []
    functionsReached:
    - g_type_class_ref
    linkageType: ''
    returnType: void
    signature: 'static void my_test_class_init (GTestClass * klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MY_TEST
      Src: /src/glib/gobject/tests/objects-refcount1.c:100,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/objects-refcount1.c:104,1
    - Dst: g_test_message
      Src: /src/glib/gobject/tests/objects-refcount1.c:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 105
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 105
    functionName: my_test_dispose
    functionSourceFile: /src/glib/gobject/tests/objects-refcount1.c
    functionUses: []
    functionsReached:
    - MY_TEST
    - G_OBJECT_CLASS
    - g_test_message
    linkageType: ''
    returnType: void
    signature: 'static void my_test_dispose (GObject * object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/tests/objects-refcount1.c:119,1
    - Dst: my_test_do_refcount
      Src: /src/glib/gobject/tests/objects-refcount1.c:120,1
    - Dst: g_thread_yield
      Src: /src/glib/gobject/tests/objects-refcount1.c:122,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - test
    argTypes:
    - GTest*
    constantsTouched: []
    func_position:
      end: 127
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 127
    functionName: run_thread
    functionSourceFile: /src/glib/gobject/tests/objects-refcount1.c
    functionUses: []
    functionsReached:
    - g_thread_yield
    - g_atomic_int_get
    - my_test_do_refcount
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer run_thread (GTest * test) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_type_register_static
      Src: /src/glib/gobject/tests/objects-refcount1.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 76
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 76
    functionName: my_test_get_type
    functionSourceFile: /src/glib/gobject/tests/objects-refcount1.c
    functionUses: []
    functionsReached:
    - g_type_register_static
    linkageType: ''
    returnType: GType
    signature: 'static GType my_test_get_type (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_ref
      Src: /src/glib/gobject/tests/objects-refcount1.c:110,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/objects-refcount1.c:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - test
    argTypes:
    - GTest*
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: my_test_do_refcount
    functionSourceFile: /src/glib/gobject/tests/objects-refcount1.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_object_ref
    linkageType: ''
    returnType: void
    signature: 'static void my_test_do_refcount (GTest * test) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_message
      Src: /src/glib/gobject/tests/objects-refcount1.c:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - test
    argTypes:
    - GTest*
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: my_test_init
    functionSourceFile: /src/glib/gobject/tests/objects-refcount1.c
    functionUses: []
    functionsReached:
    - g_test_message
    linkageType: ''
    returnType: void
    signature: 'static void my_test_init (GTest * test) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/objects-refcount1.c:137,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/objects-refcount1.c:138,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gobject/tests/objects-refcount1.c:142,1
    - Dst: g_array_new
      Src: /src/glib/gobject/tests/objects-refcount1.c:140,1
    - Dst: g_thread_new
      Src: /src/glib/gobject/tests/objects-refcount1.c:147,1
    - Dst: g_array_append_val
      Src: /src/glib/gobject/tests/objects-refcount1.c:148,1
    - Dst: g_thread_new
      Src: /src/glib/gobject/tests/objects-refcount1.c:150,1
    - Dst: g_array_append_val
      Src: /src/glib/gobject/tests/objects-refcount1.c:151,1
    - Dst: g_usleep
      Src: /src/glib/gobject/tests/objects-refcount1.c:154,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gobject/tests/objects-refcount1.c:155,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/objects-refcount1.c:165,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/objects-refcount1.c:166,1
    - Dst: g_array_unref
      Src: /src/glib/gobject/tests/objects-refcount1.c:167,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/objects-refcount1.c:161,1
    - Dst: g_thread_join
      Src: /src/glib/gobject/tests/objects-refcount1.c:162,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 168
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 168
    functionName: test_refcount_object_basics
    functionSourceFile: /src/glib/gobject/tests/objects-refcount1.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_object_new
    - g_array_append_val
    - g_array_index
    - g_thread_new
    - g_usleep
    - g_atomic_int_set
    - g_array_new
    - g_thread_join
    - g_array_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_refcount_object_basics (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_log_set_always_fatal
      Src: /src/glib/gobject/tests/objects-refcount1.c:173,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/objects-refcount1.c:179,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/objects-refcount1.c:181,1
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/objects-refcount1.c:177,1
    - Dst: g_log_set_always_fatal
      Src: /src/glib/gobject/tests/objects-refcount1.c:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - gchar*
    constantsTouched: []
    func_position:
      end: 182
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 182
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/objects-refcount1.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_log_set_always_fatal
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, gchar *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - klass
    argTypes:
    - TestObjectClass*
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: test_object_class_init
    functionSourceFile: /src/glib/gobject/tests/private.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_object_class_init (TestObjectClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_object_get_instance_private
      Src: /src/glib/gobject/tests/private.c:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - TestObject*
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: test_object_get_dummy_0
    functionSourceFile: /src/glib/gobject/tests/private.c
    functionUses: []
    functionsReached:
    - test_object_get_instance_private
    linkageType: ''
    returnType: int
    signature: 'static int test_object_get_dummy_0 (TestObject *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/private.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - klass
    argTypes:
    - TestDerivedClass*
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: test_derived_class_init
    functionSourceFile: /src/glib/gobject/tests/private.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void test_derived_class_init (TestDerivedClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_derived_get_instance_private
      Src: /src/glib/gobject/tests/private.c:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: test_derived_get_dummy_2
    functionSourceFile: /src/glib/gobject/tests/private.c
    functionUses: []
    functionsReached:
    - test_derived_get_instance_private
    linkageType: ''
    returnType: char*
    signature: 'static const char *test_derived_get_dummy_2 (TestDerived *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - klass
    argTypes:
    - TestMixedClass*
    constantsTouched: []
    func_position:
      end: 138
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 138
    functionName: test_mixed_class_init
    functionSourceFile: /src/glib/gobject/tests/private.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_mixed_class_init (TestMixedClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_TYPE_INSTANCE_GET_PRIVATE
      Src: /src/glib/gobject/tests/private.c:157,1
    - Dst: test_mixed_get_type
      Src: /src/glib/gobject/tests/private.c:157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - TestMixed*
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: test_mixed_get_dummy_3
    functionSourceFile: /src/glib/gobject/tests/private.c
    functionUses: []
    functionsReached:
    - test_mixed_get_type
    - G_TYPE_INSTANCE_GET_PRIVATE
    linkageType: ''
    returnType: gint
    signature: 'static gint test_mixed_get_dummy_3 (TestMixed *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - klass
    argTypes:
    - TestMixedDerivedClass*
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: test_mixed_derived_class_init
    functionSourceFile: /src/glib/gobject/tests/private.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_mixed_derived_class_init (TestMixedDerivedClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mixed_derived_get_instance_private
      Src: /src/glib/gobject/tests/private.c:201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - TestMixedDerived*
    constantsTouched: []
    func_position:
      end: 204
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 204
    functionName: test_mixed_derived_get_dummy_4
    functionSourceFile: /src/glib/gobject/tests/private.c
    functionUses: []
    functionsReached:
    - test_mixed_derived_get_instance_private
    linkageType: ''
    returnType: gint64
    signature: 'static gint64 test_mixed_derived_get_dummy_4 (TestMixedDerived *self) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_object_get_instance_private
      Src: /src/glib/gobject/tests/private.c:33,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/tests/private.c:38,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/tests/private.c:37,1
    - Dst: g_test_verbose
      Src: /src/glib/gobject/tests/private.c:35,1
    - Dst: g_printerr
      Src: /src/glib/gobject/tests/private.c:36,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - self
    argTypes:
    - TestObject*
    constantsTouched: []
    func_position:
      end: 43
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 43
    functionName: test_object_init
    functionSourceFile: /src/glib/gobject/tests/private.c
    functionUses: []
    functionsReached:
    - g_test_verbose
    - g_printerr
    - test_object_get_instance_private
    - G_OBJECT_TYPE_NAME
    linkageType: ''
    returnType: void
    signature: 'static void test_object_init (TestObject *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_derived_get_instance_private
      Src: /src/glib/gobject/tests/private.c:81,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/private.c:83,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/private.c:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - obj
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: test_derived_finalize
    functionSourceFile: /src/glib/gobject/tests/private.c
    functionUses: []
    functionsReached:
    - test_derived_get_instance_private
    - g_free
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void test_derived_finalize (GObject *obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_object_get_instance_private
      Src: /src/glib/gobject/tests/private.c:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - TestObject*
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: test_object_get_dummy_1
    functionSourceFile: /src/glib/gobject/tests/private.c
    functionUses: []
    functionsReached:
    - test_object_get_instance_private
    linkageType: ''
    returnType: float
    signature: 'static float test_object_get_dummy_1 (TestObject *self) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_derived_get_instance_private
      Src: /src/glib/gobject/tests/private.c:97,1
    - Dst: g_test_verbose
      Src: /src/glib/gobject/tests/private.c:99,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/tests/private.c:102,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/tests/private.c:101,1
    - Dst: g_printerr
      Src: /src/glib/gobject/tests/private.c:100,1
    - Dst: g_strdup
      Src: /src/glib/gobject/tests/private.c:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - self
    argTypes:
    - TestDerived*
    constantsTouched: []
    func_position:
      end: 106
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 106
    functionName: test_derived_init
    functionSourceFile: /src/glib/gobject/tests/private.c
    functionUses: []
    functionsReached:
    - g_printerr
    - g_strdup
    - G_OBJECT_TYPE_NAME
    - g_test_verbose
    - test_derived_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void test_derived_init (TestDerived *self) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_TYPE_INSTANCE_GET_PRIVATE
      Src: /src/glib/gobject/tests/private.c:143,1
    - Dst: test_mixed_get_type
      Src: /src/glib/gobject/tests/private.c:143,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/tests/private.c:147,1
    - Dst: g_printerr
      Src: /src/glib/gobject/tests/private.c:146,1
    - Dst: g_test_verbose
      Src: /src/glib/gobject/tests/private.c:145,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/tests/private.c:148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - self
    argTypes:
    - TestMixed*
    constantsTouched: []
    func_position:
      end: 152
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 152
    functionName: test_mixed_init
    functionSourceFile: /src/glib/gobject/tests/private.c
    functionUses: []
    functionsReached:
    - g_printerr
    - G_OBJECT_TYPE_NAME
    - g_test_verbose
    - test_mixed_get_type
    - G_TYPE_INSTANCE_GET_PRIVATE
    linkageType: ''
    returnType: void
    signature: 'static void test_mixed_init (TestMixed *self) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_mixed_derived_get_instance_private
      Src: /src/glib/gobject/tests/private.c:187,1
    - Dst: g_test_verbose
      Src: /src/glib/gobject/tests/private.c:189,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/tests/private.c:192,1
    - Dst: g_printerr
      Src: /src/glib/gobject/tests/private.c:190,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gobject/tests/private.c:191,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gobject/tests/private.c:195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - self
    argTypes:
    - TestMixedDerived*
    constantsTouched: []
    func_position:
      end: 196
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 196
    functionName: test_mixed_derived_init
    functionSourceFile: /src/glib/gobject/tests/private.c
    functionUses: []
    functionsReached:
    - g_printerr
    - G_OBJECT_TYPE_NAME
    - g_test_verbose
    - test_mixed_derived_get_instance_private
    - g_get_monotonic_time
    linkageType: ''
    returnType: void
    signature: 'static void test_mixed_derived_init (TestMixedDerived *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/private.c:209,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/gobject/tests/private.c:214,1
    - Dst: test_object_get_dummy_0
      Src: /src/glib/gobject/tests/private.c:213,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/private.c:213,1
    - Dst: test_object_get_type
      Src: /src/glib/gobject/tests/private.c:209,1
    - Dst: test_object_get_dummy_1
      Src: /src/glib/gobject/tests/private.c:214,1
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/tests/private.c:216,1
    - Dst: test_object_get_type
      Src: /src/glib/gobject/tests/private.c:216,1
    - Dst: g_type_class_get_instance_private_offset
      Src: /src/glib/gobject/tests/private.c:217,1
    - Dst: g_type_class_unref
      Src: /src/glib/gobject/tests/private.c:218,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/private.c:222,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/private.c:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 223
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 223
    functionName: private_instance
    functionSourceFile: /src/glib/gobject/tests/private.c
    functionUses: []
    functionsReached:
    - g_type_class_ref
    - g_object_unref
    - g_object_new
    - g_assert
    - g_assert_cmpfloat
    - test_object_get_dummy_0
    - test_object_get_dummy_1
    - test_object_get_type
    - g_type_class_unref
    - g_type_class_get_instance_private_offset
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void private_instance (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/private.c:228,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/private.c:230,1
    - Dst: test_derived_get_type
      Src: /src/glib/gobject/tests/private.c:228,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/private.c:231,1
    - Dst: test_derived_get_dummy_2
      Src: /src/glib/gobject/tests/private.c:230,1
    - Dst: test_object_get_dummy_0
      Src: /src/glib/gobject/tests/private.c:231,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/private.c:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 234
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 234
    functionName: private_derived_instance
    functionSourceFile: /src/glib/gobject/tests/private.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_object_new
    - g_assert_cmpstr
    - test_object_get_dummy_0
    - test_derived_get_dummy_2
    - test_derived_get_type
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void private_derived_instance (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/private.c:239,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/private.c:240,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/private.c:242,1
    - Dst: test_mixed_derived_get_type
      Src: /src/glib/gobject/tests/private.c:239,1
    - Dst: test_mixed_get_type
      Src: /src/glib/gobject/tests/private.c:240,1
    - Dst: test_mixed_get_dummy_3
      Src: /src/glib/gobject/tests/private.c:242,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/private.c:243,1
    - Dst: test_mixed_derived_get_dummy_4
      Src: /src/glib/gobject/tests/private.c:243,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gobject/tests/private.c:243,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/private.c:245,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/private.c:246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 247
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 247
    functionName: private_mixed_derived_instance
    functionSourceFile: /src/glib/gobject/tests/private.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_object_new
    - g_assert
    - test_mixed_get_dummy_3
    - test_mixed_derived_get_dummy_4
    - g_get_monotonic_time
    - test_mixed_get_type
    - test_mixed_derived_get_type
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void private_mixed_derived_instance (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/private.c:253,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/private.c:257,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/private.c:255,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/private.c:259,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/private.c:256,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 260
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 260
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/private.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/properties-refcount4.c:72,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/properties-refcount4.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - MyBadger*
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: my_badger_init
    functionSourceFile: /src/glib/gobject/tests/properties-refcount4.c
    functionUses: []
    functionsReached:
    - g_signal_connect
    - G_CALLBACK
    linkageType: ''
    returnType: void
    signature: 'static void my_badger_init (MyBadger * self) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MY_BADGER
      Src: /src/glib/gobject/tests/properties-refcount4.c:100,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/tests/properties-refcount4.c:108,1
    - Dst: g_value_set_object
      Src: /src/glib/gobject/tests/properties-refcount4.c:105,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 111
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 111
    functionName: my_badger_get_property
    functionSourceFile: /src/glib/gobject/tests/properties-refcount4.c
    functionUses: []
    functionsReached:
    - g_value_set_object
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - MY_BADGER
    linkageType: ''
    returnType: void
    signature: "static void my_badger_get_property (GObject *object,\t\t\tguint prop_id,\t\
      \t\tGValue *value,\t\t\tGParamSpec *pspec) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MY_BADGER
      Src: /src/glib/gobject/tests/properties-refcount4.c:144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - object
    - pspec
    argTypes:
    - GObject*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 146
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 146
    functionName: my_badger_mama_notify
    functionSourceFile: /src/glib/gobject/tests/properties-refcount4.c
    functionUses: []
    functionsReached:
    - MY_BADGER
    linkageType: ''
    returnType: void
    signature: 'static void my_badger_mama_notify (GObject *object, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_class_install_property
      Src: /src/glib/gobject/tests/properties-refcount4.c:60,1
    - Dst: g_param_spec_object
      Src: /src/glib/gobject/tests/properties-refcount4.c:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - klass
    argTypes:
    - MyBadgerClass*
    constantsTouched: []
    func_position:
      end: 67
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 67
    functionName: my_badger_class_init
    functionSourceFile: /src/glib/gobject/tests/properties-refcount4.c
    functionUses: []
    functionsReached:
    - g_param_spec_object
    - g_object_class_install_property
    linkageType: ''
    returnType: void
    signature: 'static void my_badger_class_init (MyBadgerClass * klass) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MY_BADGER
      Src: /src/glib/gobject/tests/properties-refcount4.c:81,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/properties-refcount4.c:89,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/properties-refcount4.c:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 90
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 90
    functionName: my_badger_dispose
    functionSourceFile: /src/glib/gobject/tests/properties-refcount4.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - MY_BADGER
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void my_badger_dispose (GObject * object) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MY_BADGER
      Src: /src/glib/gobject/tests/properties-refcount4.c:121,1
    - Dst: g_value_dup_object
      Src: /src/glib/gobject/tests/properties-refcount4.c:128,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/properties-refcount4.c:130,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/tests/properties-refcount4.c:133,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/properties-refcount4.c:127,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 136
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 136
    functionName: my_badger_set_property
    functionSourceFile: /src/glib/gobject/tests/properties-refcount4.c
    functionUses: []
    functionsReached:
    - g_object_set
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_object_unref
    - MY_BADGER
    - g_value_dup_object
    linkageType: ''
    returnType: void
    signature: "static void my_badger_set_property (GObject *object,\t\t\tguint prop_id,\t\
      \t\tconst GValue *value,\t\t\tGParamSpec *pspec) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/properties-refcount4.c:154,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/properties-refcount4.c:157,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/properties-refcount4.c:158,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/properties-refcount4.c:155,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/properties-refcount4.c:159,1
    - Dst: g_object_get
      Src: /src/glib/gobject/tests/properties-refcount4.c:160,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/gobject/tests/properties-refcount4.c:161,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/properties-refcount4.c:162,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/properties-refcount4.c:164,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/properties-refcount4.c:165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 166
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 166
    functionName: test_refcount_properties_4
    functionSourceFile: /src/glib/gobject/tests/properties-refcount4.c
    functionUses: []
    functionsReached:
    - g_object_set
    - g_object_get
    - g_object_unref
    - g_object_new
    - g_assert_cmpuint
    - g_assert_cmpmem
    linkageType: ''
    returnType: void
    signature: 'static void test_refcount_properties_4 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_log_set_always_fatal
      Src: /src/glib/gobject/tests/properties-refcount4.c:171,1
    - Dst: g_log_set_always_fatal
      Src: /src/glib/gobject/tests/properties-refcount4.c:173,1
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/properties-refcount4.c:175,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/properties-refcount4.c:177,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/properties-refcount4.c:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - gchar*
    constantsTouched: []
    func_position:
      end: 180
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 180
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/properties-refcount4.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_log_set_always_fatal
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, gchar *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/object.c:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - klass
    argTypes:
    - MySingletonObjectClass*
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: my_singleton_object_class_init
    functionSourceFile: /src/glib/gobject/tests/object.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void my_singleton_object_class_init (MySingletonObjectClass
      *klass) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_ref
      Src: /src/glib/gobject/tests/object.c:27,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/object.c:29,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 34
    functionName: my_singleton_object_constructor
    functionSourceFile: /src/glib/gobject/tests/object.c
    functionUses: []
    functionsReached:
    - g_object_ref
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: GObject*
    signature: 'static GObject *my_singleton_object_constructor (GType type, guint
      n_construct_properties, GObjectConstructParam *construct_params) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - obj
    argTypes:
    - MyInfanticideObject*
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: my_infanticide_object_init
    functionSourceFile: /src/glib/gobject/tests/object.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void my_infanticide_object_init (MyInfanticideObject *obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/object.c:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - klass
    argTypes:
    - MyInfanticideObjectClass*
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: my_infanticide_object_class_init
    functionSourceFile: /src/glib/gobject/tests/object.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void my_infanticide_object_class_init (MyInfanticideObjectClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/object.c:148,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/object.c:150,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/object.c:151,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/object.c:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 154
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 154
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/object.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - obj
    argTypes:
    - MySingletonObject*
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: my_singleton_object_init
    functionSourceFile: /src/glib/gobject/tests/object.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void my_singleton_object_init (MySingletonObject *obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/object.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - obj
    argTypes:
    - MySingletonObject*
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: my_singleton_object_finalize
    functionSourceFile: /src/glib/gobject/tests/object.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void my_singleton_object_finalize (MySingletonObject *obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/object.c:58,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/object.c:61,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/object.c:62,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/object.c:63,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/object.c:67,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/object.c:72,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/object.c:67,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/object.c:77,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/object.c:59,1
    - Dst: my_singleton_object_get_type
      Src: /src/glib/gobject/tests/object.c:61,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/object.c:63,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/object.c:65,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/object.c:75,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/object.c:59,1
    - Dst: my_singleton_object_get_type
      Src: /src/glib/gobject/tests/object.c:65,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/object.c:74,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/object.c:69,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/object.c:69,1
    - Dst: my_singleton_object_get_type
      Src: /src/glib/gobject/tests/object.c:58,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/object.c:66,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/object.c:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 78
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 78
    functionName: test_object_constructor_singleton
    functionSourceFile: /src/glib/gobject/tests/object.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_object_new
    - g_assert
    - g_object_add_weak_pointer
    - my_singleton_object_get_type
    - G_OBJECT
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_object_constructor_singleton (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/object.c:105,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/object.c:102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 108
    functionName: my_infanticide_object_constructor
    functionSourceFile: /src/glib/gobject/tests/object.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: GObject*
    signature: 'static GObject *my_infanticide_object_constructor (GType type, guint
      n_construct_properties, GObjectConstructParam *construct_params) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/gobject/tests/object.c:125,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/object.c:137,1
    - Dst: g_test_expect_message
      Src: /src/glib/gobject/tests/object.c:133,1
    - Dst: g_test_expect_message
      Src: /src/glib/gobject/tests/object.c:135,1
    - Dst: g_test_bug
      Src: /src/glib/gobject/tests/object.c:129,1
    - Dst: my_infanticide_object_get_type
      Src: /src/glib/gobject/tests/object.c:137,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/object.c:138,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gobject/tests/object.c:139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 141
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 141
    functionName: test_object_constructor_infanticide
    functionSourceFile: /src/glib/gobject/tests/object.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - my_infanticide_object_get_type
    - g_object_new
    - g_assert_null
    - g_test_bug
    - g_test_expect_message
    - g_test_skip
    linkageType: ''
    returnType: void
    signature: 'static void test_object_constructor_infanticide (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/glib/gobject/tests/signals.c:1628,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - instance
    - data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1629
      start: 1625
    functionDepth: 0
    functionLinenumber: 1625
    functionLinenumberEnd: 1629
    functionName: dont_reach
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    linkageType: ''
    returnType: void
    signature: 'static void dont_reach (gpointer instance, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signals.c:1637,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1637,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:1638,1
    - Dst: g_signal_connect_after
      Src: /src/glib/gobject/tests/signals.c:1639,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals.c:1638,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:1639,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1641,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gobject/tests/signals.c:1643,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals.c:1644,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:1644,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signals.c:1648,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1646,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1649
      start: 1631
    functionDepth: 0
    functionLinenumber: 1631
    functionLinenumberEnd: 1649
    functionName: test_stop_emission
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - test_get_type
    - g_object_new
    - g_signal_handler_disconnect
    - g_signal_connect_after
    - G_CALLBACK
    - g_signal_emit_by_name
    - g_signal_connect
    linkageType: ''
    returnType: void
    signature: 'static void test_stop_emission (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/tests/signals.c:46,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/tests/signals.c:51,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gobject/tests/signals.c:48,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gobject/tests/signals.c:55,1
    - Dst: callback
      Src: /src/glib/gobject/tests/signals.c:60,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 6
    argNames:
    - closure
    - G_GNUC_UNUSED
    - n_param_values
    - param_values
    - invocation_hint
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 63
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 63
    functionName: custom_marshal_VOID__INVOCATIONHINT
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - g_value_peek_pointer
    - G_CCLOSURE_SWAP_DATA
    - callback
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void custom_marshal_VOID__INVOCATIONHINT (GClosure *closure,
      GValue *return_value G_GNUC_UNUSED, guint n_param_values, const GValue *param_values,
      gpointer invocation_hint, gpointer marshal_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - obj
    argTypes:
    - Test*
    constantsTouched: []
    func_position:
      end: 752
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 752
    functionName: on_generic_marshaller_int_return_signed_2
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint
    signature: 'static gint on_generic_marshaller_int_return_signed_2 (Test *obj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter_pointer
      Src: /src/glib/gobject/tests/signals.c:70,1
    - Dst: g_once_init_leave_pointer
      Src: /src/glib/gobject/tests/signals.c:81,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/tests/signals.c:80,1
    - Dst: g_enum_register_static
      Src: /src/glib/gobject/tests/signals.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 85
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 85
    functionName: test_enum_get_type
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - g_once_init_leave_pointer
    - g_once_init_enter_pointer
    - g_intern_static_string
    - g_enum_register_static
    linkageType: ''
    returnType: GType
    signature: 'static GType test_enum_get_type (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signals.c:761,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:768,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:769,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:790,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gobject/tests/signals.c:780,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gobject/tests/signals.c:791,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals.c:785,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gobject/tests/signals.c:801,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:761,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gobject/tests/signals.c:770,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals.c:795,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:789,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:787,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:799,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:766,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals.c:764,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals.c:774,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:776,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:778,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:797,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:779,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:800,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signals.c:803,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 804
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 804
    functionName: test_generic_marshaller_signal_int_return
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - test_get_type
    - g_object_new
    - g_signal_handler_disconnect
    - G_CALLBACK
    - g_signal_emit_by_name
    - g_signal_connect
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_generic_marshaller_signal_int_return (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gobject/tests/signals.c:1404,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1405
      start: 1401
    functionDepth: 0
    functionLinenumber: 1401
    functionLinenumberEnd: 1405
    functionName: accumulator_class
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - g_strdup
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *accumulator_class (Test *test) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - instance
    - data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1523
      start: 1517
    functionDepth: 0
    functionLinenumber: 1517
    functionLinenumberEnd: 1523
    functionName: test_handler
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_handler (gpointer instance, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/signals.c:1423,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals.c:1432,1
    - Dst: g_test_message
      Src: /src/glib/gobject/tests/signals.c:1428,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signals.c:1430,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1430,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:1432,1
    - Dst: g_signal_connect_after
      Src: /src/glib/gobject/tests/signals.c:1433,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:1433,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1434,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/signals.c:1436,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/signals.c:1437,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signals.c:1439,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1441
      start: 1407
    functionDepth: 0
    functionLinenumber: 1407
    functionLinenumberEnd: 1441
    functionName: test_accumulator_class
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - test_get_type
    - g_object_new
    - G_N_ELEMENTS
    - g_test_message
    - g_signal_connect_after
    - g_assert_cmpstr
    - G_CALLBACK
    - g_signal_emit_by_name
    - g_free
    - g_signal_connect
    linkageType: ''
    returnType: void
    signature: 'static void test_accumulator_class (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1534,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1533,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1546,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1554,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1557,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1558,1
    - Dst: g_signal_handler_unblock
      Src: /src/glib/gobject/tests/signals.c:1560,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1562,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1563,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/signals.c:1568,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/signals.c:1588,1
    - Dst: g_signal_handlers_block_matched
      Src: /src/glib/gobject/tests/signals.c:1592,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/signals.c:1580,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/signals.c:1592,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:1536,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals.c:1537,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:1537,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1544,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1543,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1566,1
    - Dst: g_signal_handlers_block_matched
      Src: /src/glib/gobject/tests/signals.c:1569,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1574,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1586,1
    - Dst: g_signal_handlers_unblock_matched
      Src: /src/glib/gobject/tests/signals.c:1588,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signals.c:1610,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signals.c:1609,1
    - Dst: g_signal_handler_find
      Src: /src/glib/gobject/tests/signals.c:1602,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1549,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1550,1
    - Dst: g_signal_handler_block
      Src: /src/glib/gobject/tests/signals.c:1552,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1565,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1575,1
    - Dst: g_signal_handlers_unblock_matched
      Src: /src/glib/gobject/tests/signals.c:1577,1
    - Dst: g_signal_handlers_block_matched
      Src: /src/glib/gobject/tests/signals.c:1580,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1585,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/signals.c:1591,1
    - Dst: g_signal_handlers_block_matched
      Src: /src/glib/gobject/tests/signals.c:1591,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/signals.c:1593,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/signals.c:1602,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/signals.c:1596,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signals.c:1533,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signals.c:1534,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals.c:1536,1
    - Dst: g_signal_handler_find
      Src: /src/glib/gobject/tests/signals.c:1539,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signals.c:1541,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1555,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1547,1
    - Dst: g_signal_handlers_block_matched
      Src: /src/glib/gobject/tests/signals.c:1568,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1571,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1572,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1582,1
    - Dst: g_signal_handlers_disconnect_matched
      Src: /src/glib/gobject/tests/signals.c:1596,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1583,1
    - Dst: g_signal_handlers_unblock_matched
      Src: /src/glib/gobject/tests/signals.c:1593,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/signals.c:1569,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 64
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1611
      start: 1525
    functionDepth: 0
    functionLinenumber: 1525
    functionLinenumberEnd: 1611
    functionName: test_block_handler
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_object_unref
    - test_get_type
    - g_object_new
    - g_assert_cmpuint
    - G_CALLBACK
    - g_signal_emit_by_name
    - g_signal_handler_block
    - g_signal_handlers_block_matched
    - g_signal_handlers_unblock_matched
    - g_signal_handlers_disconnect_matched
    - g_signal_handler_find
    - g_signal_connect
    - g_signal_handler_unblock
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_block_handler (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signals.c:1921,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals.c:1937,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/signals.c:1945,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals.c:1946,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals.c:1967,1
    - Dst: g_value_set_string
      Src: /src/glib/gobject/tests/signals.c:1971,1
    - Dst: g_value_set_float
      Src: /src/glib/gobject/tests/signals.c:1965,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals.c:1978,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals.c:1961,1
    - Dst: g_value_take_param
      Src: /src/glib/gobject/tests/signals.c:1974,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals.c:1997,1
    - Dst: g_signal_emitv
      Src: /src/glib/gobject/tests/signals.c:2023,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals.c:1995,1
    - Dst: g_value_set_enum
      Src: /src/glib/gobject/tests/signals.c:1958,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/signals.c:1964,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals.c:1977,1
    - Dst: g_param_spec_long
      Src: /src/glib/gobject/tests/signals.c:1975,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals.c:1936,1
    - Dst: g_value_set_schar
      Src: /src/glib/gobject/tests/signals.c:1943,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals.c:1960,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals.c:1973,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/signals.c:1984,1
    - Dst: g_variant_new_uint16
      Src: /src/glib/gobject/tests/signals.c:1989,1
    - Dst: g_value_set_uint64
      Src: /src/glib/gobject/tests/signals.c:1995,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/signals.c:2022,1
    - Dst: g_signal_add_emission_hook
      Src: /src/glib/gobject/tests/signals.c:2002,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1932,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals.c:1992,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals.c:1988,1
    - Dst: g_array_set_size
      Src: /src/glib/gobject/tests/signals.c:1926,1
    - Dst: g_signal_emitv
      Src: /src/glib/gobject/tests/signals.c:1931,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/signals.c:1942,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals.c:1945,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals.c:1965,1
    - Dst: g_value_set_flags
      Src: /src/glib/gobject/tests/signals.c:1961,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/signals.c:1954,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/signals.c:1981,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/signals.c:1957,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals.c:1985,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/signals.c:1994,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/signals.c:1927,1
    - Dst: g_signal_remove_emission_hook
      Src: /src/glib/gobject/tests/signals.c:1933,1
    - Dst: g_signal_add_emission_hook
      Src: /src/glib/gobject/tests/signals.c:2020,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gobject/tests/signals.c:2040,1
    - Dst: g_value_set_int64
      Src: /src/glib/gobject/tests/signals.c:1992,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals.c:1955,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals.c:1982,1
    - Dst: g_value_set_ulong
      Src: /src/glib/gobject/tests/signals.c:1955,1
    - Dst: g_value_set_pointer
      Src: /src/glib/gobject/tests/signals.c:1982,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gobject/tests/signals.c:1940,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals.c:1943,1
    - Dst: g_value_set_long
      Src: /src/glib/gobject/tests/signals.c:1952,1
    - Dst: g_value_take_boxed
      Src: /src/glib/gobject/tests/signals.c:1978,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals.c:1958,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals.c:1964,1
    - Dst: g_test_expect_message
      Src: /src/glib/gobject/tests/signals.c:2037,1
    - Dst: g_signal_remove_emission_hook
      Src: /src/glib/gobject/tests/signals.c:2026,1
    - Dst: g_clear_signal_handler
      Src: /src/glib/gobject/tests/signals.c:2007,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals.c:1927,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1984,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1998,1
    - Dst: g_test_expect_message
      Src: /src/glib/gobject/tests/signals.c:2030,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gobject/tests/signals.c:2033,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/signals.c:2036,1
    - Dst: g_signal_emitv
      Src: /src/glib/gobject/tests/signals.c:2039,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals.c:1994,1
    - Dst: g_value_set_object
      Src: /src/glib/gobject/tests/signals.c:1985,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/signals.c:1991,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals.c:1942,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/signals.c:1970,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals.c:1957,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals.c:1954,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals.c:1981,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals.c:1984,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gobject/tests/signals.c:1989,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals.c:1991,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:2005,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/signals.c:2025,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals.c:2014,1
    - Dst: g_array_set_clear_func
      Src: /src/glib/gobject/tests/signals.c:1924,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals.c:1987,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/signals.c:1999,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signals.c:2043,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals.c:1971,1
    - Dst: g_bytes_new_static
      Src: /src/glib/gobject/tests/signals.c:1979,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1930,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/signals.c:1939,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals.c:1940,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/signals.c:1948,1
    - Dst: g_value_set_double
      Src: /src/glib/gobject/tests/signals.c:1968,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/signals.c:1951,1
    - Dst: g_clear_signal_handler
      Src: /src/glib/gobject/tests/signals.c:2027,1
    - Dst: g_signal_emitv
      Src: /src/glib/gobject/tests/signals.c:2032,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:2003,1
    - Dst: g_signal_emitv
      Src: /src/glib/gobject/tests/signals.c:2004,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:2021,1
    - Dst: g_array_unref
      Src: /src/glib/gobject/tests/signals.c:2044,1
    - Dst: g_value_set_object
      Src: /src/glib/gobject/tests/signals.c:1928,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/signals.c:1937,1
    - Dst: g_value_set_uint
      Src: /src/glib/gobject/tests/signals.c:1949,1
    - Dst: g_value_set_uchar
      Src: /src/glib/gobject/tests/signals.c:1946,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/signals.c:1967,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals.c:1952,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals.c:1970,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals.c:1949,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/signals.c:1987,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:1997,1
    - Dst: g_signal_remove_emission_hook
      Src: /src/glib/gobject/tests/signals.c:2006,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:2025,1
    - Dst: g_array_set_size
      Src: /src/glib/gobject/tests/signals.c:2012,1
    - Dst: g_signal_add_emission_hook
      Src: /src/glib/gobject/tests/signals.c:1929,1
    - Dst: g_array_set_size
      Src: /src/glib/gobject/tests/signals.c:1935,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/signals.c:2035,1
    - Dst: g_value_take_variant
      Src: /src/glib/gobject/tests/signals.c:1988,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/signals.c:2011,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/signals.c:1960,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals.c:1974,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals.c:1948,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals.c:1968,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/signals.c:1973,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/signals.c:1977,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals.c:1951,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals.c:1928,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/signals.c:1936,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals.c:1939,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:2016,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:2024,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1921,1
    - Dst: g_array_new
      Src: /src/glib/gobject/tests/signals.c:1923,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:2010,1
    - Dst: g_signal_lookup
      Src: /src/glib/gobject/tests/signals.c:1998,1
    - Dst: g_signal_lookup
      Src: /src/glib/gobject/tests/signals.c:2010,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 150
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2045
      start: 1910
    functionDepth: 0
    functionLinenumber: 1910
    functionLinenumberEnd: 2045
    functionName: test_emitv
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - g_value_set_uint
    - g_value_set_int
    - g_array_index
    - g_value_set_float
    - g_bytes_new_static
    - g_value_set_uint64
    - g_value_set_schar
    - g_value_set_int64
    - g_value_take_boxed
    - g_value_get_int
    - g_signal_connect
    - g_array_unref
    - g_test_assert_expected_messages
    - g_value_set_enum
    - g_clear_signal_handler
    - g_object_unref
    - g_value_set_long
    - g_value_set_object
    - g_signal_lookup
    - g_value_take_param
    - g_assert_cmpint
    - g_value_set_pointer
    - g_object_new
    - g_array_set_size
    - g_value_set_uchar
    - g_value_set_boolean
    - g_value_set_string
    - g_assert_cmpuint
    - g_value_init
    - g_test_expect_message
    - g_signal_emitv
    - g_value_set_double
    - g_variant_ref_sink
    - g_signal_add_emission_hook
    - g_value_take_variant
    - test_get_type
    - g_value_set_flags
    - g_value_set_ulong
    - G_CALLBACK
    - g_variant_new_uint16
    - g_signal_remove_emission_hook
    - g_array_new
    - g_param_spec_long
    - g_array_set_clear_func
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void test_emitv (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - test
    argTypes:
    - Test2*
    constantsTouched: []
    func_position:
      end: 555
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 555
    functionName: test2_init
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test2_init (Test2 *test) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - obj
    argTypes:
    - Test*
    constantsTouched: []
    func_position:
      end: 810
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 810
    functionName: on_generic_marshaller_uint_return_1
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint
    signature: 'static guint on_generic_marshaller_uint_return_1 (Test *obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals.c:827,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:829,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:831,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:840,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:857,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gobject/tests/signals.c:842,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:860,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signals.c:863,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gobject/tests/signals.c:833,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:838,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:851,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:841,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gobject/tests/signals.c:861,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signals.c:825,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals.c:836,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals.c:855,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gobject/tests/signals.c:852,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:850,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:859,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:825,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:832,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:848,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals.c:846,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 864
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 864
    functionName: test_generic_marshaller_signal_uint_return
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - test_get_type
    - g_object_new
    - g_signal_handler_disconnect
    - G_CALLBACK
    - g_signal_emit_by_name
    - g_signal_connect
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_generic_marshaller_signal_uint_return (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - klass
    argTypes:
    - Test2Class*
    constantsTouched: []
    func_position:
      end: 560
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 560
    functionName: test2_class_init
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test2_class_init (Test2Class *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - obj
    argTypes:
    - Test*
    constantsTouched: []
    func_position:
      end: 816
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 816
    functionName: on_generic_marshaller_uint_return_2
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint
    signature: 'static guint on_generic_marshaller_uint_return_2 (Test *obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signals.c:869,1
    - Dst: baa_get_type
      Src: /src/glib/gobject/tests/signals.c:869,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - test
    argTypes:
    - Test*
    constantsTouched: []
    func_position:
      end: 870
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 870
    functionName: on_generic_marshaller_interface_return
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - baa_get_type
    - g_object_new
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer on_generic_marshaller_interface_return (Test *test) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - obj
    argTypes:
    - Test*
    constantsTouched: []
    func_position:
      end: 746
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 746
    functionName: on_generic_marshaller_int_return_signed_1
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint
    signature: 'static gint on_generic_marshaller_int_return_signed_1 (Test *obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - instance
    - data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1330
      start: 1326
    functionDepth: 0
    functionLinenumber: 1326
    functionLinenumberEnd: 1330
    functionName: simple_accumulator_1_cb
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint
    signature: 'static gint simple_accumulator_1_cb (gpointer instance, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gobject/tests/signals.c:1392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1393
      start: 1389
    functionDepth: 0
    functionLinenumber: 1389
    functionLinenumberEnd: 1393
    functionName: accumulator_class_before_cb
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - g_strdup
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *accumulator_class_before_cb (gpointer instance, gpointer
      data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - instance
    - data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1336
      start: 1332
    functionDepth: 0
    functionLinenumber: 1332
    functionLinenumberEnd: 1336
    functionName: simple_accumulator_2_cb
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint
    signature: 'static gint simple_accumulator_2_cb (gpointer instance, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gobject/tests/signals.c:1398,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1395
    functionDepth: 0
    functionLinenumber: 1395
    functionLinenumberEnd: 1399
    functionName: accumulator_class_after_cb
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - g_strdup
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *accumulator_class_after_cb (gpointer instance, gpointer
      data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signals.c:716,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:721,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:723,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:716,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals.c:719,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:724,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gobject/tests/signals.c:725,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals.c:729,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:731,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:733,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gobject/tests/signals.c:735,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:734,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signals.c:737,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 738
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 738
    functionName: test_generic_marshaller_signal_enum_return_unsigned
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - test_get_type
    - g_object_new
    - g_signal_handler_disconnect
    - G_CALLBACK
    - g_signal_emit_by_name
    - g_signal_connect
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_generic_marshaller_signal_enum_return_unsigned (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - obj
    argTypes:
    - Test*
    constantsTouched: []
    func_position:
      end: 701
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 701
    functionName: on_generic_marshaller_enum_return_unsigned_1
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: TestUnsignedEnum
    signature: 'static TestUnsignedEnum on_generic_marshaller_enum_return_unsigned_1
      (Test *obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_stop_emission
      Src: /src/glib/gobject/tests/signals.c:1616,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - instance
    - data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1617
      start: 1613
    functionDepth: 0
    functionLinenumber: 1613
    functionLinenumberEnd: 1617
    functionName: stop_emission
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - g_signal_stop_emission
    linkageType: ''
    returnType: void
    signature: 'static void stop_emission (gpointer instance, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/gobject/tests/signals.c:1724,1
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/tests/signals.c:1726,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1728,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1726,1
    - Dst: g_signal_lookup
      Src: /src/glib/gobject/tests/signals.c:1728,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1729,1
    - Dst: g_signal_lookup
      Src: /src/glib/gobject/tests/signals.c:1734,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1734,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1735,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1738,1
    - Dst: g_type_class_unref
      Src: /src/glib/gobject/tests/signals.c:1740,1
    - Dst: g_signal_lookup
      Src: /src/glib/gobject/tests/signals.c:1738,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1738,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1741
      start: 1718
    functionDepth: 0
    functionLinenumber: 1718
    functionLinenumberEnd: 1741
    functionName: test_lookup
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - g_type_class_ref
    - g_test_summary
    - test_get_type
    - g_signal_lookup
    - g_type_class_unref
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_lookup (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - obj
    argTypes:
    - Test*
    constantsTouched: []
    func_position:
      end: 707
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 707
    functionName: on_generic_marshaller_enum_return_unsigned_2
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: TestUnsignedEnum
    signature: 'static TestUnsignedEnum on_generic_marshaller_enum_return_unsigned_2
      (Test *obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_stop_emission_by_name
      Src: /src/glib/gobject/tests/signals.c:1622,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - instance
    - data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1623
      start: 1619
    functionDepth: 0
    functionLinenumber: 1619
    functionLinenumberEnd: 1623
    functionName: stop_emission_by_name
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - g_signal_stop_emission_by_name
    linkageType: ''
    returnType: void
    signature: 'static void stop_emission_by_name (gpointer instance, gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/gobject/tests/signals.c:1746,1
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/tests/signals.c:1753,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1753,1
    - Dst: g_test_subprocess
      Src: /src/glib/gobject/tests/signals.c:1748,1
    - Dst: g_signal_lookup
      Src: /src/glib/gobject/tests/signals.c:1755,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1755,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1756,1
    - Dst: g_type_class_unref
      Src: /src/glib/gobject/tests/signals.c:1758,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gobject/tests/signals.c:1762,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gobject/tests/signals.c:1763,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gobject/tests/signals.c:1764,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1765
      start: 1743
    functionDepth: 0
    functionLinenumber: 1743
    functionLinenumberEnd: 1765
    functionName: test_lookup_invalid
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_failed
    - g_type_class_ref
    - g_test_summary
    - test_get_type
    - g_test_trap_assert_stderr
    - g_signal_lookup
    - g_test_trap_subprocess
    - g_test_subprocess
    - g_type_class_unref
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_lookup_invalid (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2095,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2093,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2099,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2107,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2105,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2112,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2115,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2117,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gobject/tests/signals.c:2119,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/signals.c:2125,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gobject/tests/signals.c:2120,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2097,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2103,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2102,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2113,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gobject/tests/signals.c:2121,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2123,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2118,1
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/signals.c:2091,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2096,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2094,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2098,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2100,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2104,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2108,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2109,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2110,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2114,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2101,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2106,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2111,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2122,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals.c:2116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 2126
      start: 2087
    functionDepth: 0
    functionLinenumber: 2087
    functionLinenumberEnd: 2126
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_run
    - g_test_init
    - g_test_add_data_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - FooInterface*
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: foo_default_init
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void foo_default_init (FooInterface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - obj
    argTypes:
    - Test*
    constantsTouched: []
    func_position:
      end: 664
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 664
    functionName: on_generic_marshaller_enum_return_signed_2
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: TestEnum
    signature: 'static TestEnum on_generic_marshaller_enum_return_signed_2 (Test *obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signals.c:1062,1
    - Dst: g_object_connect
      Src: /src/glib/gobject/tests/signals.c:1064,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:1069,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:1066,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1062,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1072,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1073,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1074,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1075,1
    - Dst: g_object_disconnect
      Src: /src/glib/gobject/tests/signals.c:1077,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:1079,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:1082,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signals.c:1086,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1087
      start: 1056
    functionDepth: 0
    functionLinenumber: 1056
    functionLinenumberEnd: 1087
    functionName: test_connect
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - test_get_type
    - g_object_new
    - G_CALLBACK
    - g_signal_emit_by_name
    - g_object_connect
    - g_object_disconnect
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_connect (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test2_get_type
      Src: /src/glib/gobject/tests/signals.c:1660,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals.c:1662,1
    - Dst: g_test_expect_message
      Src: /src/glib/gobject/tests/signals.c:1674,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signals.c:1682,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signals.c:1658,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1658,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signals.c:1660,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gobject/tests/signals.c:1670,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1659,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:1664,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signals.c:1683,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signals.c:1684,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signals.c:1680,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gobject/tests/signals.c:1671,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gobject/tests/signals.c:1676,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signals.c:1659,1
    - Dst: g_test_expect_message
      Src: /src/glib/gobject/tests/signals.c:1668,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gobject/tests/signals.c:1677,1
    - Dst: g_signal_handler_is_connected
      Src: /src/glib/gobject/tests/signals.c:1680,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1685
      start: 1651
    functionDepth: 0
    functionLinenumber: 1651
    functionLinenumberEnd: 1685
    functionName: test_signal_disconnect_wrong_object
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_assert_true
    - g_object_unref
    - test_get_type
    - g_object_new
    - g_signal_handler_disconnect
    - g_signal_handler_is_connected
    - G_CALLBACK
    - g_test_expect_message
    - test2_get_type
    - g_signal_connect
    linkageType: ''
    returnType: void
    signature: 'static void test_signal_disconnect_wrong_object (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signals.c:673,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:673,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals.c:676,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:678,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:680,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:681,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gobject/tests/signals.c:682,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals.c:686,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:688,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:690,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:691,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gobject/tests/signals.c:692,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signals.c:694,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 695
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 695
    functionName: test_generic_marshaller_signal_enum_return_signed
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - test_get_type
    - g_object_new
    - g_signal_handler_disconnect
    - G_CALLBACK
    - g_signal_emit_by_name
    - g_signal_connect
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_generic_marshaller_signal_enum_return_signed (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signals.c:1093,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - sender
    - target
    argTypes:
    - GObject*
    - GObject*
    constantsTouched: []
    func_position:
      end: 1094
      start: 1089
    functionDepth: 0
    functionLinenumber: 1089
    functionLinenumberEnd: 1094
    functionName: simple_handler1
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void simple_handler1 (GObject *sender, GObject *target) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signals.c:1693,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/signals.c:1696,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals.c:1695,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:1695,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1693,1
    - Dst: g_clear_signal_handler
      Src: /src/glib/gobject/tests/signals.c:1698,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/signals.c:1699,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1701,1
    - Dst: g_clear_signal_handler
      Src: /src/glib/gobject/tests/signals.c:1703,1
    - Dst: g_test_undefined
      Src: /src/glib/gobject/tests/signals.c:1705,1
    - Dst: g_test_expect_message
      Src: /src/glib/gobject/tests/signals.c:1708,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signals.c:1715,1
    - Dst: g_clear_signal_handler
      Src: /src/glib/gobject/tests/signals.c:1710,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/signals.c:1711,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gobject/tests/signals.c:1712,1
    - Dst: g_random_int_range
      Src: /src/glib/gobject/tests/signals.c:1707,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1716
      start: 1687
    functionDepth: 0
    functionLinenumber: 1687
    functionLinenumberEnd: 1716
    functionName: test_clear_signal_handler
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_clear_signal_handler
    - g_object_unref
    - test_get_type
    - g_object_new
    - g_test_undefined
    - g_assert_cmpuint
    - G_CALLBACK
    - g_signal_emit_by_name
    - g_test_expect_message
    - g_random_int_range
    - g_signal_connect
    linkageType: ''
    returnType: void
    signature: 'static void test_clear_signal_handler (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - test
    argTypes:
    - Test*
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: test_init
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_init (Test *test) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 4
    argNames:
    - ihint
    - n_params
    - params
    - data
    argTypes:
    - GSignalInvocationHint*
    - guint
    - GValue*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1130
      start: 1119
    functionDepth: 0
    functionLinenumber: 1119
    functionLinenumberEnd: 1130
    functionName: hook_func
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean hook_func (GSignalInvocationHint *ihint, guint n_params,
      const GValue *params, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/signals.c:245,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:429,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/signals.c:460,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gobject/tests/signals.c:400,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/signals.c:361,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/signals.c:351,1
    - Dst: g_flags_register_static
      Src: /src/glib/gobject/tests/signals.c:215,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/signals.c:228,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/signals.c:389,1
    - Dst: g_enum_register_static
      Src: /src/glib/gobject/tests/signals.c:214,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/signals.c:254,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/signals.c:293,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/signals.c:370,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/signals.c:238,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gobject/tests/signals.c:296,1
    - Dst: test_enum_get_type
      Src: /src/glib/gobject/tests/signals.c:325,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/signals.c:517,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gobject/tests/signals.c:256,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gobject/tests/signals.c:288,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/signals.c:301,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/signals.c:302,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/signals.c:398,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gobject/tests/signals.c:377,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/signals.c:369,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/signals.c:463,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/signals.c:327,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/signals.c:388,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/signals.c:490,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/signals.c:253,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/signals.c:285,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/signals.c:335,1
    - Dst: foo_get_type
      Src: /src/glib/gobject/tests/signals.c:367,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/signals.c:310,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/signals.c:311,1
    - Dst: test_enum_get_type
      Src: /src/glib/gobject/tests/signals.c:318,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/signals.c:336,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/signals.c:380,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/signals.c:491,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/signals.c:262,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/signals.c:294,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/signals.c:344,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/signals.c:518,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/signals.c:261,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/signals.c:320,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gobject/tests/signals.c:460,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/signals.c:433,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/signals.c:397,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gobject/tests/signals.c:493,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gobject/tests/signals.c:264,1
    - Dst: test_unsigned_enum_get_type
      Src: /src/glib/gobject/tests/signals.c:333,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/signals.c:343,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gobject/tests/signals.c:351,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/signals.c:406,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/signals.c:353,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/signals.c:229,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/signals.c:270,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/signals.c:407,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/signals.c:362,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/signals.c:464,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:540,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/signals.c:434,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/signals.c:220,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gobject/tests/signals.c:280,1
    - Dst: test_unsigned_enum_get_type
      Src: /src/glib/gobject/tests/signals.c:318,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/signals.c:354,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:486,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/signals.c:221,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/signals.c:237,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gobject/tests/signals.c:272,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/signals.c:277,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gobject/tests/signals.c:409,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gobject/tests/signals.c:466,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/signals.c:377,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:513,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gobject/tests/signals.c:436,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/signals.c:269,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/signals.c:319,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/signals.c:246,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/signals.c:286,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/signals.c:328,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:456,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/signals.c:379,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/signals.c:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 101
    argCount: 1
    argNames:
    - klass
    argTypes:
    - TestClass*
    constantsTouched: []
    func_position:
      end: 544
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 544
    functionName: test_class_init
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - G_STRUCT_OFFSET
    - g_flags_register_static
    - test_get_type
    - G_TYPE_FROM_CLASS
    - test_enum_get_type
    - g_signal_set_va_marshaller
    - test_unsigned_enum_get_type
    - foo_get_type
    - g_signal_new
    - g_enum_register_static
    linkageType: ''
    returnType: void
    signature: 'static void test_class_init (TestClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/signals.c:943,1
    - Dst: g_assert_cmpflags
      Src: /src/glib/gobject/tests/signals.c:945,1
    - Dst: g_variant_get_uint16
      Src: /src/glib/gobject/tests/signals.c:952,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:953,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:937,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:938,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/signals.c:941,1
    - Dst: g_assert_cmpenum
      Src: /src/glib/gobject/tests/signals.c:944,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/gobject/tests/signals.c:946,1
    - Dst: g_param_spec_get_nick
      Src: /src/glib/gobject/tests/signals.c:949,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/signals.c:949,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/signals.c:948,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/gobject/tests/signals.c:947,1
    - Dst: g_bytes_get_data
      Src: /src/glib/gobject/tests/signals.c:950,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signals.c:951,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/signals.c:954,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:939,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/signals.c:940,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:942,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/signals.c:952,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/signals.c:950,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 20
    argNames:
    - test
    - i
    - b
    - c
    - uc
    - ui
    - l
    - ul
    - e
    - f
    - fl
    - db
    - str
    - param
    - bytes
    - ptr
    - obj
    - var
    - i64
    - ui64
    argTypes:
    - Test*
    - int
    - gboolean
    - char
    - guchar
    - guint
    - glong
    - gulong
    - MyEnum
    - MyFlags
    - float
    - double
    - char*
    - GParamSpec*
    - GBytes*
    - gpointer
    - Test*
    - GVariant*
    - gint64
    - guint64
    constantsTouched: []
    func_position:
      end: 955
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 955
    functionName: all_types_handler
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_param_spec_get_nick
    - g_assert_cmpenum
    - g_assert_cmpfloat
    - g_assert_cmpuint
    - g_assert_cmpstr
    - g_assert_cmpflags
    - g_variant_get_uint16
    - g_bytes_get_data
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void all_types_handler (Test *test, int i, gboolean b, char
      c, guchar uc, guint ui, glong l, gulong ul, MyEnum e, MyFlags f, float fl, double
      db, char *str, GParamSpec *param, GBytes *bytes, gpointer ptr, Test *obj, GVariant
      *var, gint64 i64, guint64 ui64) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 4
    argNames:
    - ihint
    - n_params
    - params
    - data
    argTypes:
    - GSignalInvocationHint*
    - guint
    - GValue*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1143
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1143
    functionName: hook_func_removal
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean hook_func_removal (GSignalInvocationHint *ihint, guint
      n_params, const GValue *params, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - baa
    argTypes:
    - Baa*
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: baa_init
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void baa_init (Baa *baa) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signals.c:1100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - sender
    - target
    argTypes:
    - GObject*
    - GObject*
    constantsTouched: []
    func_position:
      end: 1101
      start: 1096
    functionDepth: 0
    functionLinenumber: 1096
    functionLinenumberEnd: 1101
    functionName: simple_handler2
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void simple_handler2 (GObject *sender, GObject *target) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_remove_emission_hook
      Src: /src/glib/gobject/tests/signals.c:1151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - sender
    - data
    argTypes:
    - GObject*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1152
      start: 1145
    functionDepth: 0
    functionLinenumber: 1145
    functionLinenumberEnd: 1152
    functionName: simple_handler_remove_hook
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - g_signal_remove_emission_hook
    linkageType: ''
    returnType: void
    signature: 'static void simple_handler_remove_hook (GObject *sender, gpointer
      data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - class
    argTypes:
    - BaaClass*
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: baa_class_init
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void baa_class_init (BaaClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signals.c:1108,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1109,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signals.c:1109,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signals.c:1110,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1108,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1110,1
    - Dst: g_signal_connect_object
      Src: /src/glib/gobject/tests/signals.c:1111,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:1111,1
    - Dst: g_signal_connect_object
      Src: /src/glib/gobject/tests/signals.c:1113,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:1113,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1115,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signals.c:1116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1117
      start: 1103
    functionDepth: 0
    functionLinenumber: 1103
    functionLinenumberEnd: 1117
    functionName: test_destroy_target_object
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - test_get_type
    - g_object_new
    - G_CALLBACK
    - g_signal_emit_by_name
    - g_signal_connect_object
    linkageType: ''
    returnType: void
    signature: 'static void test_destroy_target_object (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1162,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1163,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1166,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1169,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1170,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1179,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1181,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1178,1
    - Dst: g_test_expect_message
      Src: /src/glib/gobject/tests/signals.c:1183,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gobject/tests/signals.c:1186,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1195,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signals.c:1242,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1168,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1180,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1173,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1177,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1193,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1194,1
    - Dst: g_signal_remove_emission_hook
      Src: /src/glib/gobject/tests/signals.c:1200,1
    - Dst: g_clear_signal_handler
      Src: /src/glib/gobject/tests/signals.c:1203,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1211,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1213,1
    - Dst: g_signal_add_emission_hook
      Src: /src/glib/gobject/tests/signals.c:1226,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals.c:1190,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1215,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1214,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signals.c:1243,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/signals.c:1234,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1167,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1172,1
    - Dst: g_signal_add_emission_hook
      Src: /src/glib/gobject/tests/signals.c:1189,1
    - Dst: g_signal_remove_emission_hook
      Src: /src/glib/gobject/tests/signals.c:1218,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1221,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1228,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1229,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1230,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1231,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1232,1
    - Dst: g_test_expect_message
      Src: /src/glib/gobject/tests/signals.c:1236,1
    - Dst: g_signal_add_emission_hook
      Src: /src/glib/gobject/tests/signals.c:1209,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1196,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signals.c:1162,1
    - Dst: g_signal_add_emission_hook
      Src: /src/glib/gobject/tests/signals.c:1165,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signals.c:1163,1
    - Dst: g_signal_remove_emission_hook
      Src: /src/glib/gobject/tests/signals.c:1171,1
    - Dst: g_signal_add_emission_hook
      Src: /src/glib/gobject/tests/signals.c:1176,1
    - Dst: g_signal_remove_emission_hook
      Src: /src/glib/gobject/tests/signals.c:1185,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:1191,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1192,1
    - Dst: g_test_expect_message
      Src: /src/glib/gobject/tests/signals.c:1198,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gobject/tests/signals.c:1201,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/signals.c:1217,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1220,1
    - Dst: g_signal_remove_emission_hook
      Src: /src/glib/gobject/tests/signals.c:1238,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gobject/tests/signals.c:1239,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1212,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/signals.c:1208,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/signals.c:1225,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 76
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1244
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1244
    functionName: test_emission_hook
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_clear_signal_handler
    - g_signal_add_emission_hook
    - g_object_unref
    - test_get_type
    - g_object_new
    - G_N_ELEMENTS
    - G_CALLBACK
    - g_signal_emit_by_name
    - g_test_expect_message
    - g_signal_remove_emission_hook
    - g_signal_connect
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_emission_hook (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signals.c:576,1
    - Dst: g_variant_ref
      Src: /src/glib/gobject/tests/signals.c:575,1
    - Dst: g_variant_ref
      Src: /src/glib/gobject/tests/signals.c:582,1
    - Dst: g_variant_unref
      Src: /src/glib/gobject/tests/signals.c:586,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signals.c:572,1
    - Dst: g_variant_new_boolean
      Src: /src/glib/gobject/tests/signals.c:574,1
    - Dst: g_variant_is_floating
      Src: /src/glib/gobject/tests/signals.c:576,1
    - Dst: g_variant_unref
      Src: /src/glib/gobject/tests/signals.c:579,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/signals.c:585,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signals.c:588,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:572,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/signals.c:578,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signals.c:583,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:584,1
    - Dst: g_variant_is_floating
      Src: /src/glib/gobject/tests/signals.c:585,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:577,1
    - Dst: g_variant_is_floating
      Src: /src/glib/gobject/tests/signals.c:578,1
    - Dst: g_variant_new_boolean
      Src: /src/glib/gobject/tests/signals.c:581,1
    - Dst: g_variant_is_floating
      Src: /src/glib/gobject/tests/signals.c:583,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 589
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 589
    functionName: test_variant_signal
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - g_variant_new_boolean
    - g_assert_true
    - g_object_unref
    - test_get_type
    - g_object_new
    - g_signal_emit_by_name
    - g_variant_unref
    - g_variant_is_floating
    - g_assert_false
    - g_variant_ref
    linkageType: ''
    returnType: void
    signature: 'static void test_variant_signal (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signals.c:960,1
    - Dst: all_types_handler
      Src: /src/glib/gobject/tests/signals.c:961,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 21
    argNames:
    - test
    - i
    - b
    - c
    - uc
    - ui
    - l
    - ul
    - e
    - f
    - fl
    - db
    - str
    - param
    - bytes
    - ptr
    - obj
    - var
    - i64
    - ui64
    - user_data
    argTypes:
    - Test*
    - int
    - gboolean
    - char
    - guchar
    - guint
    - glong
    - gulong
    - MyEnum
    - guint
    - float
    - double
    - char*
    - GParamSpec*
    - GBytes*
    - gpointer
    - Test*
    - GVariant*
    - gint64
    - guint64
    - gpointer
    constantsTouched: []
    func_position:
      end: 962
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 962
    functionName: all_types_handler_cb
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - all_types_handler
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void all_types_handler_cb (Test *test, int i, gboolean b, char
      c, guchar uc, guint ui, glong l, gulong ul, MyEnum e, guint f, float fl, double
      db, char *str, GParamSpec *param, GBytes *bytes, gpointer ptr, Test *obj, GVariant
      *var, gint64 i64, guint64 ui64, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - FooInterface*
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: baa_init_foo
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void baa_init_foo (FooInterface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:602,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/signals.c:606,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:603,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:605,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:604,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/gobject/tests/signals.c:607,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/gobject/tests/signals.c:608,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/gobject/tests/signals.c:609,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/gobject/tests/signals.c:610,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 9
    argNames:
    - obj
    - v_schar
    - v_uchar
    - v_int
    - v_long
    - v_pointer
    - v_double
    - v_float
    - user_data
    argTypes:
    - Test*
    - gint8
    - guint8
    - gint
    - glong
    - gpointer
    - gdouble
    - gfloat
    - gpointer
    constantsTouched: []
    func_position:
      end: 611
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 611
    functionName: on_generic_marshaller_1
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - g_assert_null
    - g_assert_cmpfloat
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: "static void on_generic_marshaller_1 (Test *obj,\t\t\t gint8 v_schar,\t\
      \t\t guint8 v_uchar,\t\t\t gint v_int,\t\t\t glong v_long,\t\t\t gpointer v_pointer,\t\
      \t\t gdouble v_double,\t\t\t gfloat v_float,\t\t\t gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_ref_sink
      Src: /src/glib/gobject/tests/signals.c:987,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:999,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1001,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1003,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1006,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals.c:1014,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1022,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1024,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:1031,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:1035,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1037,1
    - Dst: g_param_spec_long
      Src: /src/glib/gobject/tests/signals.c:981,1
    - Dst: g_variant_new_uint16
      Src: /src/glib/gobject/tests/signals.c:984,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals.c:1013,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:1013,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1018,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1020,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals.c:1033,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1039,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1041,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1043,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1045,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1048,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signals.c:991,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:995,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:997,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1027,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals.c:1032,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:1033,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals.c:1034,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:1034,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals.c:1035,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/signals.c:1051,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals.c:1031,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signals.c:1050,1
    - Dst: g_bytes_new_static
      Src: /src/glib/gobject/tests/signals.c:982,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:991,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:1010,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:1011,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals.c:1012,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:1012,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals.c:1011,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals.c:1010,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:1014,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1016,1
    - Dst: g_variant_unref
      Src: /src/glib/gobject/tests/signals.c:1053,1
    - Dst: g_bytes_unref
      Src: /src/glib/gobject/tests/signals.c:1052,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:1032,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 64
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1054
      start: 964
    functionDepth: 0
    functionLinenumber: 964
    functionLinenumberEnd: 1054
    functionName: test_all_types
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - g_object_unref
    - g_object_new
    - test_get_type
    - g_bytes_new_static
    - g_bytes_unref
    - G_CALLBACK
    - g_signal_emit_by_name
    - g_variant_new_uint16
    - g_param_spec_unref
    - g_variant_unref
    - g_param_spec_long
    - g_signal_connect
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_all_types (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signals.c:879,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:879,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:886,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:884,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals.c:882,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signals.c:887,1
    - Dst: g_type_check_instance_is_a
      Src: /src/glib/gobject/tests/signals.c:887,1
    - Dst: foo_get_type
      Src: /src/glib/gobject/tests/signals.c:887,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signals.c:888,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gobject/tests/signals.c:890,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signals.c:892,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 893
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 893
    functionName: test_generic_marshaller_signal_interface_return
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_type_check_instance_is_a
    - g_object_unref
    - test_get_type
    - g_object_new
    - g_signal_handler_disconnect
    - G_CALLBACK
    - g_signal_emit_by_name
    - foo_get_type
    - g_signal_connect
    linkageType: ''
    returnType: void
    signature: 'static void test_generic_marshaller_signal_interface_return (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter_pointer
      Src: /src/glib/gobject/tests/signals.c:92,1
    - Dst: g_enum_register_static
      Src: /src/glib/gobject/tests/signals.c:100,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/tests/signals.c:100,1
    - Dst: g_once_init_leave_pointer
      Src: /src/glib/gobject/tests/signals.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 105
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 105
    functionName: test_unsigned_enum_get_type
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - g_once_init_leave_pointer
    - g_once_init_enter_pointer
    - g_intern_static_string
    - g_enum_register_static
    linkageType: ''
    returnType: GType
    signature: 'static GType test_unsigned_enum_get_type (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signals.c:1356,1
    - Dst: g_signal_connect_after
      Src: /src/glib/gobject/tests/signals.c:1362,1
    - Dst: g_signal_connect_after
      Src: /src/glib/gobject/tests/signals.c:1361,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1356,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:1361,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:1362,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals.c:1363,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:1363,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals.c:1364,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:1364,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1368,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1365,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signals.c:1370,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1371
      start: 1350
    functionDepth: 0
    functionLinenumber: 1350
    functionLinenumberEnd: 1371
    functionName: test_accumulator
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - test_get_type
    - g_object_new
    - g_signal_connect_after
    - G_CALLBACK
    - g_signal_emit_by_name
    - g_signal_connect
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_accumulator (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/signals.c:1376,1
    - Dst: g_value_take_string
      Src: /src/glib/gobject/tests/signals.c:1384,1
    - Dst: g_value_set_string
      Src: /src/glib/gobject/tests/signals.c:1382,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/signals.c:1377,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/signals.c:1379,1
    - Dst: g_strconcat
      Src: /src/glib/gobject/tests/signals.c:1384,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 4
    argNames:
    - ihint
    - return_accu
    - handler_return
    - data
    argTypes:
    - GSignalInvocationHint*
    - GValue*
    - GValue*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1387
      start: 1373
    functionDepth: 0
    functionLinenumber: 1373
    functionLinenumberEnd: 1387
    functionName: accumulator_concat_string
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - g_value_take_string
    - g_strconcat
    - g_value_set_string
    - g_value_get_string
    - g_assert_nonnull
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean accumulator_concat_string (GSignalInvocationHint *ihint,
      GValue *return_accu, const GValue *handler_return, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - instance
    - data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1342
      start: 1338
    functionDepth: 0
    functionLinenumber: 1338
    functionLinenumberEnd: 1342
    functionName: simple_accumulator_3_cb
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint
    signature: 'static gint simple_accumulator_3_cb (gpointer instance, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signals.c:1781,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1790,1
    - Dst: g_signal_parse_name
      Src: /src/glib/gobject/tests/signals.c:1802,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1796,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1799,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1810,1
    - Dst: g_signal_parse_name
      Src: /src/glib/gobject/tests/signals.c:1814,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signals.c:1815,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1816,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1820,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1777,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1783,1
    - Dst: g_signal_parse_name
      Src: /src/glib/gobject/tests/signals.c:1788,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1798,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1791,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signals.c:1809,1
    - Dst: g_test_summary
      Src: /src/glib/gobject/tests/signals.c:1775,1
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/tests/signals.c:1777,1
    - Dst: g_signal_parse_name
      Src: /src/glib/gobject/tests/signals.c:1780,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1782,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1788,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signals.c:1789,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signals.c:1797,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signals.c:1803,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1804,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1811,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1814,1
    - Dst: g_signal_parse_name
      Src: /src/glib/gobject/tests/signals.c:1820,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1780,1
    - Dst: g_signal_parse_name
      Src: /src/glib/gobject/tests/signals.c:1796,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1802,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1805,1
    - Dst: g_signal_parse_name
      Src: /src/glib/gobject/tests/signals.c:1808,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1808,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1817,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/signals.c:1821,1
    - Dst: g_type_class_unref
      Src: /src/glib/gobject/tests/signals.c:1823,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 51
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1824
      start: 1767
    functionDepth: 0
    functionLinenumber: 1767
    functionLinenumberEnd: 1824
    functionName: test_parse_name
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_type_class_ref
    - g_test_summary
    - test_get_type
    - g_signal_parse_name
    - g_assert_false
    - g_type_class_unref
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_parse_name (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - instance
    - data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1348
      start: 1344
    functionDepth: 0
    functionLinenumber: 1344
    functionLinenumberEnd: 1348
    functionName: simple_accumulator_4_cb
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint
    signature: 'static gint simple_accumulator_4_cb (gpointer instance, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/gobject/tests/signals.c:1846,1
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/tests/signals.c:1848,1
    - Dst: g_test_message
      Src: /src/glib/gobject/tests/signals.c:1852,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/signals.c:1850,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1848,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/signals.c:1853,1
    - Dst: g_signal_parse_name
      Src: /src/glib/gobject/tests/signals.c:1853,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1853,1
    - Dst: g_type_class_unref
      Src: /src/glib/gobject/tests/signals.c:1856,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1857
      start: 1826
    functionDepth: 0
    functionLinenumber: 1826
    functionLinenumberEnd: 1857
    functionName: test_parse_name_invalid
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - g_type_class_ref
    - g_test_summary
    - test_get_type
    - G_N_ELEMENTS
    - g_test_message
    - g_signal_parse_name
    - g_assert_false
    - g_type_class_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_parse_name_invalid (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signals.c:617,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals.c:619,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:619,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:617,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:621,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signals.c:623,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 624
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 624
    functionName: test_generic_marshaller_signal_1
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - test_get_type
    - g_object_new
    - G_CALLBACK
    - g_signal_emit_by_name
    - g_signal_connect
    linkageType: ''
    returnType: void
    signature: 'static void test_generic_marshaller_signal_1 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_get_invocation_hint
      Src: /src/glib/gobject/tests/signals.c:1251,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1255,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/signals.c:1253,1
    - Dst: g_signal_name
      Src: /src/glib/gobject/tests/signals.c:1253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - instance
    - data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1256
      start: 1246
    functionDepth: 0
    functionLinenumber: 1246
    functionLinenumberEnd: 1256
    functionName: simple_cb
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - g_signal_emit_by_name
    - g_signal_get_invocation_hint
    - g_signal_name
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void simple_cb (gpointer instance, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:634,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:637,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:636,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:635,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:638,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 6
    argNames:
    - obj
    - v_int1
    - v_enum
    - v_int2
    - v_uenum
    - v_int3
    argTypes:
    - Test*
    - gint
    - TestEnum
    - gint
    - TestUnsignedEnum
    - gint
    constantsTouched: []
    func_position:
      end: 639
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 639
    functionName: on_generic_marshaller_2
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: "static void on_generic_marshaller_2 (Test *obj,\t\t\t gint v_int1,\t\
      \t\t TestEnum v_enum,\t\t\t gint v_int2,\t\t\t TestUnsignedEnum v_uenum,\t\t\
      \t gint v_int3) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_get_invocation_hint
      Src: /src/glib/gobject/tests/signals.c:1263,1
    - Dst: g_signal_name
      Src: /src/glib/gobject/tests/signals.c:1265,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/signals.c:1265,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - instance
    - data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1266
      start: 1258
    functionDepth: 0
    functionLinenumber: 1258
    functionLinenumberEnd: 1266
    functionName: simple2_cb
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - g_signal_get_invocation_hint
    - g_signal_name
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void simple2_cb (gpointer instance, gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/gobject/tests/signals.c:1864,1
    - Dst: g_test_subprocess
      Src: /src/glib/gobject/tests/signals.c:1866,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gobject/tests/signals.c:1879,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1869,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/signals.c:1868,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gobject/tests/signals.c:1880,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gobject/tests/signals.c:1881,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1882
      start: 1859
    functionDepth: 0
    functionLinenumber: 1859
    functionLinenumberEnd: 1882
    functionName: test_signals_invalid_name
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_failed
    - g_test_summary
    - test_get_type
    - g_test_trap_assert_stderr
    - g_test_trap_subprocess
    - g_signal_new
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_signals_invalid_name (gconstpointer test_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gobject/tests/signals.c:1451,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - s
    - set
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1456
      start: 1443
    functionDepth: 0
    functionLinenumber: 1443
    functionLinenumberEnd: 1456
    functionName: in_set
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean in_set (const gchar *s, const gchar *set[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signals.c:645,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:645,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals.c:647,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:647,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:649,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signals.c:651,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 652
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 652
    functionName: test_generic_marshaller_signal_2
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - test_get_type
    - g_object_new
    - G_CALLBACK
    - g_signal_emit_by_name
    - g_signal_connect
    linkageType: ''
    returnType: void
    signature: 'static void test_generic_marshaller_signal_2 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signals.c:904,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/signals.c:909,1
    - Dst: g_signal_get_invocation_hint
      Src: /src/glib/gobject/tests/signals.c:906,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/signals.c:908,1
    - Dst: g_assert_cmpflags
      Src: /src/glib/gobject/tests/signals.c:910,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - test
    - hint
    - unused
    argTypes:
    - Test*
    - GSignalInvocationHint*
    - gpointer
    constantsTouched: []
    func_position:
      end: 911
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 911
    functionName: custom_marshaller_callback
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - g_assert_cmpflags
    - g_signal_get_invocation_hint
    - g_assert_true
    - g_assert_cmpuint
    linkageType: ''
    returnType: void
    signature: 'static void custom_marshaller_callback (Test *test, GSignalInvocationHint
      *hint, gpointer unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signals.c:1273,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals.c:1275,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1273,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals.c:1276,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:1275,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:1276,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:1277,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signals.c:1279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1280
      start: 1268
    functionDepth: 0
    functionLinenumber: 1268
    functionLinenumberEnd: 1280
    functionName: test_invocation_hint
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - test_get_type
    - g_object_new
    - G_CALLBACK
    - g_signal_emit_by_name
    - g_signal_connect
    linkageType: ''
    returnType: void
    signature: 'static void test_invocation_hint (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/signals.c:2058,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/tests/signals.c:2058,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - data
    - where_object_was
    argTypes:
    - gpointer
    - GObject*
    constantsTouched: []
    func_position:
      end: 2060
      start: 2053
    functionDepth: 0
    functionLinenumber: 2053
    functionLinenumberEnd: 2060
    functionName: weak_ref_disconnect_notify
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - g_weak_ref_get
    - g_assert_null
    linkageType: ''
    returnType: void
    signature: 'static void weak_ref_disconnect_notify (gpointer data, GObject *where_object_was) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signals.c:2068,1
    - Dst: g_signal_connect_data
      Src: /src/glib/gobject/tests/signals.c:2070,1
    - Dst: g_weak_ref_init
      Src: /src/glib/gobject/tests/signals.c:2069,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:2072,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:2068,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:2076,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signals.c:2078,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:2080,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/signals.c:2081,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/tests/signals.c:2081,1
    - Dst: g_weak_ref_clear
      Src: /src/glib/gobject/tests/signals.c:2082,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2083
      start: 2062
    functionDepth: 0
    functionLinenumber: 2062
    functionLinenumberEnd: 2083
    functionName: test_weak_ref_disconnect
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - g_weak_ref_get
    - g_signal_connect_data
    - test_get_type
    - g_object_new
    - g_object_unref
    - g_assert_null
    - G_CALLBACK
    - g_weak_ref_clear
    - g_weak_ref_init
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_weak_ref_disconnect (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - obj
    argTypes:
    - Test*
    constantsTouched: []
    func_position:
      end: 658
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 658
    functionName: on_generic_marshaller_enum_return_signed_1
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: TestEnum
    signature: 'static TestEnum on_generic_marshaller_enum_return_signed_1 (Test *obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signals.c:918,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/signals.c:925,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals.c:920,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:918,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals.c:922,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signals.c:927,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 928
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 928
    functionName: test_custom_marshaller
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - test_get_type
    - g_object_new
    - G_CALLBACK
    - g_signal_emit_by_name
    - g_signal_connect
    linkageType: ''
    returnType: void
    signature: 'static void test_custom_marshaller (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/signals.c:1288,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1291,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/signals.c:1289,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1296,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1295,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signals.c:1297,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/signals.c:1298,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1303,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1304,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/signals.c:1305,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/signals.c:1319,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/signals.c:1312,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1310,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gobject/tests/signals.c:1316,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1311,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 4
    argNames:
    - ihint
    - return_accu
    - handler_return
    - data
    argTypes:
    - GSignalInvocationHint*
    - GValue*
    - GValue*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1324
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1324
    functionName: accumulator_sum
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_value_set_int
    - g_assert_not_reached
    - g_assert_false
    - g_value_get_int
    - g_assert_cmpint
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean accumulator_sum (GSignalInvocationHint *ihint, GValue
      *return_accu, const GValue *handler_return, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_list_ids
      Src: /src/glib/gobject/tests/signals.c:1497,1
    - Dst: g_signal_name
      Src: /src/glib/gobject/tests/signals.c:1502,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/signals.c:1498,1
    - Dst: g_strv_length
      Src: /src/glib/gobject/tests/signals.c:1498,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1497,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signals.c:1503,1
    - Dst: in_set
      Src: /src/glib/gobject/tests/signals.c:1503,1
    - Dst: g_signal_query
      Src: /src/glib/gobject/tests/signals.c:1506,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/signals.c:1507,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/signals.c:1508,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/signals.c:1512,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/signals.c:1514,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signals.c:1509,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1510,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals.c:1511,1
    - Dst: test_get_type
      Src: /src/glib/gobject/tests/signals.c:1509,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1515
      start: 1458
    functionDepth: 0
    functionLinenumber: 1458
    functionLinenumberEnd: 1515
    functionName: test_introspection
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_strv_length
    - test_get_type
    - in_set
    - g_assert_cmpuint
    - g_assert_cmpstr
    - g_signal_list_ids
    - g_signal_name
    - g_free
    - g_signal_query
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_introspection (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/signals.c:1903,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/signals.c:1907,1
    - Dst: g_signal_is_valid_name
      Src: /src/glib/gobject/tests/signals.c:1904,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/signals.c:1906,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/signals.c:1904,1
    - Dst: g_signal_is_valid_name
      Src: /src/glib/gobject/tests/signals.c:1907,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1908
      start: 1884
    functionDepth: 0
    functionLinenumber: 1884
    functionLinenumberEnd: 1908
    functionName: test_signal_is_valid_name
    functionSourceFile: /src/glib/gobject/tests/signals.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - g_signal_is_valid_name
    - g_assert_true
    - g_assert_false
    linkageType: ''
    returnType: void
    signature: 'static void test_signal_is_valid_name (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_debug
      Src: /src/glib/gobject/tests/max-version.c:36,1
    - Dst: g_type_name
      Src: /src/glib/gobject/tests/max-version.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: nothing
    functionSourceFile: /src/glib/gobject/tests/max-version.c
    functionUses: []
    functionsReached:
    - g_debug
    - g_type_name
    linkageType: ''
    returnType: void
    signature: 'static void nothing (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/max-version.c:43,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/max-version.c:45,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/max-version.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/max-version.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/bindinggroup.c:304,1
    - Dst: g_binding_group_set_source
      Src: /src/glib/gobject/tests/bindinggroup.c:314,1
    - Dst: g_binding_group_set_source
      Src: /src/glib/gobject/tests/bindinggroup.c:319,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gobject/tests/bindinggroup.c:334,1
    - Dst: g_binding_group_set_source
      Src: /src/glib/gobject/tests/bindinggroup.c:325,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/bindinggroup.c:337,1
    - Dst: g_test_expect_message
      Src: /src/glib/gobject/tests/bindinggroup.c:328,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/bindinggroup.c:336,1
    - Dst: g_binding_group_new
      Src: /src/glib/gobject/tests/bindinggroup.c:302,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/bindinggroup.c:303,1
    - Dst: binding_source_get_type
      Src: /src/glib/gobject/tests/bindinggroup.c:303,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gobject/tests/bindinggroup.c:312,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gobject/tests/bindinggroup.c:323,1
    - Dst: g_binding_group_set_source
      Src: /src/glib/gobject/tests/bindinggroup.c:333,1
    - Dst: binding_target_get_type
      Src: /src/glib/gobject/tests/bindinggroup.c:304,1
    - Dst: g_test_expect_message
      Src: /src/glib/gobject/tests/bindinggroup.c:307,1
    - Dst: g_binding_group_bind
      Src: /src/glib/gobject/tests/bindinggroup.c:309,1
    - Dst: g_test_expect_message
      Src: /src/glib/gobject/tests/bindinggroup.c:317,1
    - Dst: g_binding_group_bind
      Src: /src/glib/gobject/tests/bindinggroup.c:320,1
    - Dst: g_binding_group_bind
      Src: /src/glib/gobject/tests/bindinggroup.c:330,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/bindinggroup.c:338,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 339
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 339
    functionName: test_binding_group_invalid
    functionSourceFile: /src/glib/gobject/tests/bindinggroup.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_object_unref
    - g_object_new
    - g_binding_group_new
    - g_binding_group_set_source
    - binding_source_get_type
    - g_test_expect_message
    - binding_target_get_type
    - g_binding_group_bind
    linkageType: ''
    returnType: void
    signature: 'static void test_binding_group_invalid (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/bindinggroup.c:352,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/bindinggroup.c:350,1
    - Dst: g_binding_group_dup_source
      Src: /src/glib/gobject/tests/bindinggroup.c:358,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/bindinggroup.c:371,1
    - Dst: g_binding_group_dup_source
      Src: /src/glib/gobject/tests/bindinggroup.c:360,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/bindinggroup.c:379,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/bindinggroup.c:386,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/bindinggroup.c:389,1
    - Dst: g_binding_group_set_source
      Src: /src/glib/gobject/tests/bindinggroup.c:376,1
    - Dst: g_binding_group_new
      Src: /src/glib/gobject/tests/bindinggroup.c:345,1
    - Dst: binding_source_get_type
      Src: /src/glib/gobject/tests/bindinggroup.c:346,1
    - Dst: binding_target_get_type
      Src: /src/glib/gobject/tests/bindinggroup.c:352,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/bindinggroup.c:358,1
    - Dst: g_binding_group_set_source
      Src: /src/glib/gobject/tests/bindinggroup.c:359,1
    - Dst: g_binding_group_set_source
      Src: /src/glib/gobject/tests/bindinggroup.c:374,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/bindinggroup.c:366,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/bindinggroup.c:361,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/bindinggroup.c:362,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/bindinggroup.c:367,1
    - Dst: g_binding_group_dup_source
      Src: /src/glib/gobject/tests/bindinggroup.c:377,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/bindinggroup.c:382,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/bindinggroup.c:368,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/bindinggroup.c:346,1
    - Dst: g_binding_group_bind
      Src: /src/glib/gobject/tests/bindinggroup.c:353,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/bindinggroup.c:370,1
    - Dst: g_binding_group_dup_source
      Src: /src/glib/gobject/tests/bindinggroup.c:375,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/bindinggroup.c:378,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/bindinggroup.c:384,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/bindinggroup.c:388,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/bindinggroup.c:375,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/bindinggroup.c:385,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/bindinggroup.c:390,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 52
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 391
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 391
    functionName: test_binding_group_default
    functionSourceFile: /src/glib/gobject/tests/bindinggroup.c
    functionUses: []
    functionsReached:
    - g_object_set
    - g_assert_true
    - g_object_unref
    - g_object_new
    - g_binding_group_new
    - G_N_ELEMENTS
    - g_assert_null
    - g_binding_group_set_source
    - binding_source_get_type
    - binding_target_get_type
    - g_binding_group_dup_source
    - g_binding_group_bind
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_binding_group_default (void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/bindinggroup.c:94,1
    - Dst: g_value_set_double
      Src: /src/glib/gobject/tests/bindinggroup.c:102,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/bindinggroup.c:98,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gobject/tests/bindinggroup.c:106,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/tests/bindinggroup.c:110,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 7
    argCount: 4
    argNames:
    - gobject
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 112
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 112
    functionName: binding_source_get_property
    functionSourceFile: /src/glib/gobject/tests/bindinggroup.c
    functionUses: []
    functionsReached:
    - g_value_set_boolean
    - g_value_set_int
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_double
    linkageType: ''
    returnType: void
    signature: 'static void binding_source_get_property (GObject *gobject, guint prop_id,
      GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - BindingSource*
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: binding_source_init
    functionSourceFile: /src/glib/gobject/tests/bindinggroup.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void binding_source_init (BindingSource *self) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/bindinggroup.c:183,1
    - Dst: g_value_get_double
      Src: /src/glib/gobject/tests/bindinggroup.c:187,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/tests/bindinggroup.c:195,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gobject/tests/bindinggroup.c:191,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 4
    argNames:
    - gobject
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 197
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 197
    functionName: binding_target_set_property
    functionSourceFile: /src/glib/gobject/tests/bindinggroup.c
    functionUses: []
    functionsReached:
    - g_value_get_boolean
    - g_value_get_double
    - g_value_get_int
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: 'static void binding_target_set_property (GObject *gobject, guint prop_id,
      const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/bindinggroup.c:229,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gobject/tests/bindinggroup.c:239,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/bindinggroup.c:235,1
    - Dst: g_param_spec_double
      Src: /src/glib/gobject/tests/bindinggroup.c:240,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gobject/tests/bindinggroup.c:234,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gobject/tests/bindinggroup.c:244,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gobject/tests/bindinggroup.c:245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - klass
    argTypes:
    - BindingTargetClass*
    constantsTouched: []
    func_position:
      end: 248
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 248
    functionName: binding_target_class_init
    functionSourceFile: /src/glib/gobject/tests/bindinggroup.c
    functionUses: []
    functionsReached:
    - g_param_spec_boolean
    - g_param_spec_double
    - g_param_spec_int
    - g_object_class_install_property
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void binding_target_class_init (BindingTargetClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_binding_group_new
      Src: /src/glib/gobject/tests/bindinggroup.c:600,1
    - Dst: binding_source_get_type
      Src: /src/glib/gobject/tests/bindinggroup.c:601,1
    - Dst: binding_target_get_type
      Src: /src/glib/gobject/tests/bindinggroup.c:602,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/bindinggroup.c:602,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/bindinggroup.c:601,1
    - Dst: g_binding_group_set_source
      Src: /src/glib/gobject/tests/bindinggroup.c:604,1
    - Dst: g_binding_group_bind
      Src: /src/glib/gobject/tests/bindinggroup.c:605,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/bindinggroup.c:609,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/gobject/tests/bindinggroup.c:610,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/bindinggroup.c:612,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/bindinggroup.c:613,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/bindinggroup.c:619,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/bindinggroup.c:614,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/bindinggroup.c:612,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/bindinggroup.c:617,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/bindinggroup.c:620,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 621
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 621
    functionName: test_binding_group_weak_ref_target
    functionSourceFile: /src/glib/gobject/tests/bindinggroup.c
    functionUses: []
    functionsReached:
    - g_object_set
    - g_object_unref
    - g_object_new
    - g_binding_group_new
    - g_assert_null
    - g_binding_group_set_source
    - g_object_add_weak_pointer
    - g_assert_cmpfloat
    - binding_source_get_type
    - G_OBJECT
    - binding_target_get_type
    - g_binding_group_bind
    linkageType: ''
    returnType: void
    signature: 'static void test_binding_group_weak_ref_target (void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/bindinggroup.c:63,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/bindinggroup.c:67,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/tests/bindinggroup.c:79,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gobject/tests/bindinggroup.c:75,1
    - Dst: g_value_get_double
      Src: /src/glib/gobject/tests/bindinggroup.c:71,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    argCount: 4
    argNames:
    - gobject
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 81
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 81
    functionName: binding_source_set_property
    functionSourceFile: /src/glib/gobject/tests/bindinggroup.c
    functionUses: []
    functionsReached:
    - g_value_get_boolean
    - g_value_get_double
    - g_value_get_int
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: 'static void binding_source_set_property (GObject *gobject, guint prop_id,
      const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/bindinggroup.c:117,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/bindinggroup.c:123,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/bindinggroup.c:128,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gobject/tests/bindinggroup.c:122,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gobject/tests/bindinggroup.c:127,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gobject/tests/bindinggroup.c:132,1
    - Dst: g_param_spec_double
      Src: /src/glib/gobject/tests/bindinggroup.c:133,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gobject/tests/bindinggroup.c:137,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gobject/tests/bindinggroup.c:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - klass
    argTypes:
    - BindingSourceClass*
    constantsTouched: []
    func_position:
      end: 141
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 141
    functionName: binding_source_class_init
    functionSourceFile: /src/glib/gobject/tests/bindinggroup.c
    functionUses: []
    functionsReached:
    - g_param_spec_boolean
    - g_param_spec_double
    - g_param_spec_int
    - g_object_class_install_property
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void binding_source_class_init (BindingSourceClass *klass) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/bindinggroup.c:210,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gobject/tests/bindinggroup.c:218,1
    - Dst: g_value_set_double
      Src: /src/glib/gobject/tests/bindinggroup.c:214,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/tests/bindinggroup.c:222,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    argCount: 4
    argNames:
    - gobject
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 224
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 224
    functionName: binding_target_get_property
    functionSourceFile: /src/glib/gobject/tests/bindinggroup.c
    functionUses: []
    functionsReached:
    - g_value_set_boolean
    - g_value_set_int
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_double
    linkageType: ''
    returnType: void
    signature: 'static void binding_target_get_property (GObject *gobject, guint prop_id,
      GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - BindingTarget*
    constantsTouched: []
    func_position:
      end: 253
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 253
    functionName: binding_target_init
    functionSourceFile: /src/glib/gobject/tests/bindinggroup.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void binding_target_init (BindingTarget *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_binding_group_bind
      Src: /src/glib/gobject/tests/bindinggroup.c:632,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/bindinggroup.c:637,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/bindinggroup.c:645,1
    - Dst: g_object_get
      Src: /src/glib/gobject/tests/bindinggroup.c:641,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/bindinggroup.c:648,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/bindinggroup.c:627,1
    - Dst: g_object_get
      Src: /src/glib/gobject/tests/bindinggroup.c:636,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/bindinggroup.c:649,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/bindinggroup.c:644,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/bindinggroup.c:646,1
    - Dst: g_binding_group_new
      Src: /src/glib/gobject/tests/bindinggroup.c:626,1
    - Dst: binding_target_get_type
      Src: /src/glib/gobject/tests/bindinggroup.c:628,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/bindinggroup.c:628,1
    - Dst: g_binding_group_set_source
      Src: /src/glib/gobject/tests/bindinggroup.c:631,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/bindinggroup.c:638,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/bindinggroup.c:642,1
    - Dst: binding_source_get_type
      Src: /src/glib/gobject/tests/bindinggroup.c:627,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/bindinggroup.c:644,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/bindinggroup.c:640,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 650
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 650
    functionName: test_binding_group_properties
    functionSourceFile: /src/glib/gobject/tests/bindinggroup.c
    functionUses: []
    functionsReached:
    - g_object_set
    - g_object_get
    - g_assert_true
    - g_object_unref
    - g_object_new
    - g_binding_group_new
    - g_assert_null
    - g_binding_group_set_source
    - g_object_add_weak_pointer
    - binding_source_get_type
    - G_OBJECT
    - binding_target_get_type
    - g_binding_group_bind
    linkageType: ''
    returnType: void
    signature: 'static void test_binding_group_properties (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/bindinggroup.c:263,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/bindinggroup.c:264,1
    - Dst: g_value_get_double
      Src: /src/glib/gobject/tests/bindinggroup.c:266,1
    - Dst: G_VALUE_HOLDS
      Src: /src/glib/gobject/tests/bindinggroup.c:264,1
    - Dst: G_VALUE_HOLDS
      Src: /src/glib/gobject/tests/bindinggroup.c:263,1
    - Dst: g_test_verbose
      Src: /src/glib/gobject/tests/bindinggroup.c:269,1
    - Dst: g_printerr
      Src: /src/glib/gobject/tests/bindinggroup.c:270,1
    - Dst: g_value_set_double
      Src: /src/glib/gobject/tests/bindinggroup.c:272,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - binding
    - from_value
    - to_value
    - G_GNUC_UNUSED
    argTypes:
    - GBinding*
    - GValue*
    - GValue*
    - gpointer
    constantsTouched: []
    func_position:
      end: 275
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 275
    functionName: celsius_to_fahrenheit
    functionSourceFile: /src/glib/gobject/tests/bindinggroup.c
    functionUses: []
    functionsReached:
    - g_printerr
    - g_assert_true
    - G_VALUE_HOLDS
    - g_test_verbose
    - g_value_get_double
    - g_value_set_double
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean celsius_to_fahrenheit (GBinding *binding, const GValue
      *from_value, GValue *to_value, gpointer user_data G_GNUC_UNUSED) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_binding_group_new
      Src: /src/glib/gobject/tests/bindinggroup.c:456,1
    - Dst: binding_source_get_type
      Src: /src/glib/gobject/tests/bindinggroup.c:457,1
    - Dst: binding_target_get_type
      Src: /src/glib/gobject/tests/bindinggroup.c:458,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/bindinggroup.c:457,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/bindinggroup.c:458,1
    - Dst: g_binding_group_set_source
      Src: /src/glib/gobject/tests/bindinggroup.c:460,1
    - Dst: g_binding_group_bind_full
      Src: /src/glib/gobject/tests/bindinggroup.c:461,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/bindinggroup.c:469,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/gobject/tests/bindinggroup.c:470,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/bindinggroup.c:472,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/gobject/tests/bindinggroup.c:473,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/bindinggroup.c:479,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/bindinggroup.c:481,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/bindinggroup.c:482,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/bindinggroup.c:485,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/bindinggroup.c:484,1
    - Dst: g_binding_group_set_source
      Src: /src/glib/gobject/tests/bindinggroup.c:478,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 486
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 486
    functionName: test_binding_group_transform
    functionSourceFile: /src/glib/gobject/tests/bindinggroup.c
    functionUses: []
    functionsReached:
    - g_object_set
    - g_assert_true
    - g_object_unref
    - g_object_new
    - g_binding_group_new
    - g_binding_group_bind_full
    - g_binding_group_set_source
    - g_assert_cmpfloat
    - binding_source_get_type
    - binding_target_get_type
    - g_assert_false
    linkageType: ''
    returnType: void
    signature: 'static void test_binding_group_transform (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/bindinggroup.c:285,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/bindinggroup.c:286,1
    - Dst: G_VALUE_HOLDS
      Src: /src/glib/gobject/tests/bindinggroup.c:286,1
    - Dst: G_VALUE_HOLDS
      Src: /src/glib/gobject/tests/bindinggroup.c:285,1
    - Dst: g_value_get_double
      Src: /src/glib/gobject/tests/bindinggroup.c:288,1
    - Dst: g_test_verbose
      Src: /src/glib/gobject/tests/bindinggroup.c:291,1
    - Dst: g_printerr
      Src: /src/glib/gobject/tests/bindinggroup.c:292,1
    - Dst: g_value_set_double
      Src: /src/glib/gobject/tests/bindinggroup.c:294,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - binding
    - from_value
    - to_value
    - G_GNUC_UNUSED
    argTypes:
    - GBinding*
    - GValue*
    - GValue*
    - gpointer
    constantsTouched: []
    func_position:
      end: 297
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 297
    functionName: fahrenheit_to_celsius
    functionSourceFile: /src/glib/gobject/tests/bindinggroup.c
    functionUses: []
    functionsReached:
    - g_printerr
    - g_assert_true
    - G_VALUE_HOLDS
    - g_test_verbose
    - g_value_get_double
    - g_value_set_double
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean fahrenheit_to_celsius (GBinding *binding, const GValue
      *from_value, GValue *to_value, gpointer user_data G_GNUC_UNUSED) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_cclosure_new
      Src: /src/glib/gobject/tests/bindinggroup.c:498,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/bindinggroup.c:498,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/gobject/tests/bindinggroup.c:516,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/bindinggroup.c:525,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/bindinggroup.c:529,1
    - Dst: g_binding_group_new
      Src: /src/glib/gobject/tests/bindinggroup.c:493,1
    - Dst: binding_target_get_type
      Src: /src/glib/gobject/tests/bindinggroup.c:495,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/bindinggroup.c:494,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/bindinggroup.c:495,1
    - Dst: binding_source_get_type
      Src: /src/glib/gobject/tests/bindinggroup.c:494,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/bindinggroup.c:515,1
    - Dst: g_cclosure_new
      Src: /src/glib/gobject/tests/bindinggroup.c:501,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/bindinggroup.c:501,1
    - Dst: g_binding_group_bind_with_closures
      Src: /src/glib/gobject/tests/bindinggroup.c:506,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/bindinggroup.c:523,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/gobject/tests/bindinggroup.c:513,1
    - Dst: g_binding_group_set_source
      Src: /src/glib/gobject/tests/bindinggroup.c:521,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/bindinggroup.c:512,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/bindinggroup.c:522,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/bindinggroup.c:527,1
    - Dst: g_binding_group_set_source
      Src: /src/glib/gobject/tests/bindinggroup.c:505,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/bindinggroup.c:526,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/bindinggroup.c:530,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 531
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 531
    functionName: test_binding_group_transform_closures
    functionSourceFile: /src/glib/gobject/tests/bindinggroup.c
    functionUses: []
    functionsReached:
    - g_object_set
    - g_cclosure_new
    - g_assert_true
    - g_object_unref
    - g_object_new
    - g_binding_group_new
    - g_binding_group_set_source
    - g_assert_cmpfloat
    - binding_source_get_type
    - G_CALLBACK
    - binding_target_get_type
    - g_assert_false
    - g_binding_group_bind_with_closures
    linkageType: ''
    returnType: void
    signature: 'static void test_binding_group_transform_closures (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/bindinggroup.c:682,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/bindinggroup.c:685,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/bindinggroup.c:684,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/bindinggroup.c:683,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/bindinggroup.c:686,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/bindinggroup.c:687,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/bindinggroup.c:688,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/bindinggroup.c:689,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/bindinggroup.c:690,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/bindinggroup.c:691,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/bindinggroup.c:694,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/bindinggroup.c:693,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/bindinggroup.c:692,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - gint
    - gchar*
    constantsTouched: []
    func_position:
      end: 695
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 695
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/bindinggroup.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: gint
    signature: 'gint main (gint argc, gchar *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binding_source_get_type
      Src: /src/glib/gobject/tests/bindinggroup.c:398,1
    - Dst: binding_target_get_type
      Src: /src/glib/gobject/tests/bindinggroup.c:404,1
    - Dst: g_binding_group_dup_source
      Src: /src/glib/gobject/tests/bindinggroup.c:410,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/bindinggroup.c:413,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/bindinggroup.c:418,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/gobject/tests/bindinggroup.c:423,1
    - Dst: g_binding_group_dup_source
      Src: /src/glib/gobject/tests/bindinggroup.c:427,1
    - Dst: g_binding_group_set_source
      Src: /src/glib/gobject/tests/bindinggroup.c:428,1
    - Dst: g_binding_group_dup_source
      Src: /src/glib/gobject/tests/bindinggroup.c:429,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/bindinggroup.c:430,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/bindinggroup.c:436,1
    - Dst: g_binding_group_new
      Src: /src/glib/gobject/tests/bindinggroup.c:397,1
    - Dst: g_binding_group_bind
      Src: /src/glib/gobject/tests/bindinggroup.c:405,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/bindinggroup.c:410,1
    - Dst: g_binding_group_set_source
      Src: /src/glib/gobject/tests/bindinggroup.c:426,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/bindinggroup.c:427,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/bindinggroup.c:398,1
    - Dst: g_binding_group_dup_source
      Src: /src/glib/gobject/tests/bindinggroup.c:412,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/bindinggroup.c:414,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/bindinggroup.c:431,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/bindinggroup.c:434,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/bindinggroup.c:402,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/bindinggroup.c:404,1
    - Dst: g_binding_group_set_source
      Src: /src/glib/gobject/tests/bindinggroup.c:411,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/gobject/tests/bindinggroup.c:420,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/bindinggroup.c:419,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/bindinggroup.c:422,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/gobject/tests/bindinggroup.c:437,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/bindinggroup.c:439,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/bindinggroup.c:440,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/bindinggroup.c:441,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 48
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 442
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 442
    functionName: test_binding_group_bidirectional
    functionSourceFile: /src/glib/gobject/tests/bindinggroup.c
    functionUses: []
    functionsReached:
    - g_object_set
    - g_assert_true
    - g_object_unref
    - g_object_new
    - g_binding_group_new
    - G_N_ELEMENTS
    - g_assert_null
    - g_binding_group_set_source
    - g_assert_cmpfloat
    - binding_source_get_type
    - binding_target_get_type
    - g_binding_group_dup_source
    - g_binding_group_bind
    linkageType: ''
    returnType: void
    signature: 'static void test_binding_group_bidirectional (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_binding_group_new
      Src: /src/glib/gobject/tests/bindinggroup.c:537,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/bindinggroup.c:538,1
    - Dst: g_binding_group_bind
      Src: /src/glib/gobject/tests/bindinggroup.c:544,1
    - Dst: g_binding_group_set_source
      Src: /src/glib/gobject/tests/bindinggroup.c:543,1
    - Dst: binding_source_get_type
      Src: /src/glib/gobject/tests/bindinggroup.c:538,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/bindinggroup.c:550,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/bindinggroup.c:551,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/bindinggroup.c:552,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/bindinggroup.c:554,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/bindinggroup.c:555,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/bindinggroup.c:565,1
    - Dst: g_binding_group_set_source
      Src: /src/glib/gobject/tests/bindinggroup.c:561,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/bindinggroup.c:566,1
    - Dst: g_binding_group_set_source
      Src: /src/glib/gobject/tests/bindinggroup.c:562,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/bindinggroup.c:556,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 567
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 567
    functionName: test_binding_group_same_object
    functionSourceFile: /src/glib/gobject/tests/bindinggroup.c
    functionUses: []
    functionsReached:
    - g_object_set
    - g_object_unref
    - g_object_new
    - g_binding_group_new
    - g_binding_group_set_source
    - binding_source_get_type
    - g_binding_group_bind
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_binding_group_same_object (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_binding_group_new
      Src: /src/glib/gobject/tests/bindinggroup.c:655,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gobject/tests/bindinggroup.c:659,1
    - Dst: binding_source_get_type
      Src: /src/glib/gobject/tests/bindinggroup.c:656,1
    - Dst: g_binding_group_set_source
      Src: /src/glib/gobject/tests/bindinggroup.c:658,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/bindinggroup.c:656,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gobject/tests/bindinggroup.c:660,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 661
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 661
    functionName: test_binding_group_weak_notify_no_bindings
    functionSourceFile: /src/glib/gobject/tests/bindinggroup.c
    functionUses: []
    functionsReached:
    - g_object_new
    - g_binding_group_new
    - g_binding_group_set_source
    - binding_source_get_type
    - g_assert_finalize_object
    linkageType: ''
    returnType: void
    signature: 'static void test_binding_group_weak_notify_no_bindings (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 450
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 450
    functionName: transform_destroy_notify
    functionSourceFile: /src/glib/gobject/tests/bindinggroup.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void transform_destroy_notify (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/bindinggroup.c:574,1
    - Dst: g_binding_group_dup_source
      Src: /src/glib/gobject/tests/bindinggroup.c:583,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/bindinggroup.c:585,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/bindinggroup.c:586,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/bindinggroup.c:594,1
    - Dst: g_binding_group_dup_source
      Src: /src/glib/gobject/tests/bindinggroup.c:588,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/bindinggroup.c:588,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/bindinggroup.c:591,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/bindinggroup.c:593,1
    - Dst: g_binding_group_new
      Src: /src/glib/gobject/tests/bindinggroup.c:572,1
    - Dst: binding_source_get_type
      Src: /src/glib/gobject/tests/bindinggroup.c:573,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/bindinggroup.c:573,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/bindinggroup.c:582,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/bindinggroup.c:587,1
    - Dst: binding_target_get_type
      Src: /src/glib/gobject/tests/bindinggroup.c:574,1
    - Dst: g_binding_group_set_source
      Src: /src/glib/gobject/tests/bindinggroup.c:577,1
    - Dst: g_binding_group_bind
      Src: /src/glib/gobject/tests/bindinggroup.c:578,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/bindinggroup.c:582,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/bindinggroup.c:584,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 595
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 595
    functionName: test_binding_group_weak_ref_source
    functionSourceFile: /src/glib/gobject/tests/bindinggroup.c
    functionUses: []
    functionsReached:
    - g_object_set
    - g_assert_true
    - g_object_unref
    - g_object_new
    - g_binding_group_new
    - g_assert_null
    - g_binding_group_set_source
    - g_object_add_weak_pointer
    - binding_source_get_type
    - G_OBJECT
    - binding_target_get_type
    - g_binding_group_dup_source
    - g_binding_group_bind
    linkageType: ''
    returnType: void
    signature: 'static void test_binding_group_weak_ref_source (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_binding_group_new
      Src: /src/glib/gobject/tests/bindinggroup.c:666,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/bindinggroup.c:668,1
    - Dst: binding_source_get_type
      Src: /src/glib/gobject/tests/bindinggroup.c:667,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/bindinggroup.c:667,1
    - Dst: binding_target_get_type
      Src: /src/glib/gobject/tests/bindinggroup.c:668,1
    - Dst: g_binding_group_bind_full
      Src: /src/glib/gobject/tests/bindinggroup.c:670,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gobject/tests/bindinggroup.c:673,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gobject/tests/bindinggroup.c:674,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gobject/tests/bindinggroup.c:675,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 676
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 676
    functionName: test_binding_group_empty_closures
    functionSourceFile: /src/glib/gobject/tests/bindinggroup.c
    functionUses: []
    functionsReached:
    - g_object_new
    - g_binding_group_new
    - g_binding_group_bind_full
    - binding_source_get_type
    - binding_target_get_type
    - g_assert_finalize_object
    linkageType: ''
    returnType: void
    signature: 'static void test_binding_group_empty_closures (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - class
    argTypes:
    - TestAutoCleanupBaseClass*
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: test_base_auto_cleanup_class_init
    functionSourceFile: /src/glib/gobject/tests/autoptr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_base_auto_cleanup_class_init (TestAutoCleanupBaseClass
      *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - tac
    argTypes:
    - TestAutoCleanup*
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: test_auto_cleanup_init
    functionSourceFile: /src/glib/gobject/tests/autoptr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_auto_cleanup_init (TestAutoCleanup *tac) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_auto_cleanup_new
      Src: /src/glib/gobject/tests/autoptr.c:94,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/autoptr.c:101,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/autoptr.c:97,1
    - Dst: g_steal_pointer
      Src: /src/glib/gobject/tests/autoptr.c:100,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/autoptr.c:97,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/autoptr.c:102,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/autoptr.c:103,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/autoptr.c:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 108
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 108
    functionName: test_autoptr_steal
    functionSourceFile: /src/glib/gobject/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_assert_true
    - g_assert_null
    - g_object_add_weak_pointer
    - g_assert_nonnull
    - G_OBJECT
    - test_auto_cleanup_new
    linkageType: ''
    returnType: void
    signature: 'static void test_autoptr_steal (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_auto_cleanup_new
      Src: /src/glib/gobject/tests/autoptr.c:117,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/autoptr.c:121,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/autoptr.c:121,1
    - Dst: test_auto_cleanup_new
      Src: /src/glib/gobject/tests/autoptr.c:118,1
    - Dst: test_auto_cleanup_new
      Src: /src/glib/gobject/tests/autoptr.c:119,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/autoptr.c:122,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/autoptr.c:122,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/autoptr.c:123,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/autoptr.c:123,1
    - Dst: g_list_prepend
      Src: /src/glib/gobject/tests/autoptr.c:128,1
    - Dst: g_list_prepend
      Src: /src/glib/gobject/tests/autoptr.c:129,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/autoptr.c:137,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/autoptr.c:143,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/autoptr.c:140,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/autoptr.c:138,1
    - Dst: g_clear_object
      Src: /src/glib/gobject/tests/autoptr.c:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 144
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 144
    functionName: test_autolist
    functionSourceFile: /src/glib/gobject/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_null
    - g_object_add_weak_pointer
    - g_assert_nonnull
    - G_OBJECT
    - g_clear_object
    - g_list_prepend
    - test_auto_cleanup_new
    linkageType: ''
    returnType: void
    signature: 'static void test_autolist (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_auto_cleanup_new
      Src: /src/glib/gobject/tests/autoptr.c:186,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/autoptr.c:190,1
    - Dst: test_auto_cleanup_new
      Src: /src/glib/gobject/tests/autoptr.c:187,1
    - Dst: test_auto_cleanup_new
      Src: /src/glib/gobject/tests/autoptr.c:188,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/autoptr.c:190,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/autoptr.c:191,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/autoptr.c:191,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/autoptr.c:192,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/autoptr.c:192,1
    - Dst: g_queue_new
      Src: /src/glib/gobject/tests/autoptr.c:195,1
    - Dst: g_queue_push_head
      Src: /src/glib/gobject/tests/autoptr.c:197,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/autoptr.c:209,1
    - Dst: g_clear_object
      Src: /src/glib/gobject/tests/autoptr.c:208,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/autoptr.c:206,1
    - Dst: g_queue_push_tail
      Src: /src/glib/gobject/tests/autoptr.c:198,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/autoptr.c:204,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/autoptr.c:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 210
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 210
    functionName: test_autoqueue
    functionSourceFile: /src/glib/gobject/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_queue_push_head
    - g_assert_null
    - g_object_add_weak_pointer
    - g_queue_push_tail
    - g_assert_nonnull
    - G_OBJECT
    - g_queue_new
    - g_clear_object
    - test_auto_cleanup_new
    linkageType: ''
    returnType: void
    signature: 'static void test_autoqueue (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - tac
    argTypes:
    - TestAutoCleanupBase*
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: test_base_auto_cleanup_init
    functionSourceFile: /src/glib/gobject/tests/autoptr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_base_auto_cleanup_init (TestAutoCleanupBase *tac) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - class
    argTypes:
    - TestAutoCleanupClass*
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: test_auto_cleanup_class_init
    functionSourceFile: /src/glib/gobject/tests/autoptr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_auto_cleanup_class_init (TestAutoCleanupClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/autoptr.c:67,1
    - Dst: test_auto_cleanup_get_type
      Src: /src/glib/gobject/tests/autoptr.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: test_auto_cleanup_new
    functionSourceFile: /src/glib/gobject/tests/autoptr.c
    functionUses: []
    functionsReached:
    - test_auto_cleanup_get_type
    - g_object_new
    linkageType: ''
    returnType: TestAutoCleanup*
    signature: 'static TestAutoCleanup *test_auto_cleanup_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/tests/autoptr.c:218,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/autoptr.c:221,1
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/tests/autoptr.c:219,1
    - Dst: test_auto_cleanup_get_type
      Src: /src/glib/gobject/tests/autoptr.c:219,1
    - Dst: test_base_auto_cleanup_get_type
      Src: /src/glib/gobject/tests/autoptr.c:218,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/autoptr.c:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 223
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 223
    functionName: test_autoclass
    functionSourceFile: /src/glib/gobject/tests/autoptr.c
    functionUses: []
    functionsReached:
    - test_base_auto_cleanup_get_type
    - g_assert_nonnull
    - g_type_class_ref
    - test_auto_cleanup_get_type
    linkageType: ''
    returnType: void
    signature: 'static void test_autoclass (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/autoptr.c:228,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/autoptr.c:230,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/autoptr.c:233,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/autoptr.c:232,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/autoptr.c:231,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/autoptr.c:234,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/autoptr.c:235,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/autoptr.c:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - gchar*
    constantsTouched: []
    func_position:
      end: 238
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 238
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, gchar *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_auto_cleanup_new
      Src: /src/glib/gobject/tests/autoptr.c:76,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/autoptr.c:77,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/autoptr.c:77,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/autoptr.c:81,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/autoptr.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 86
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 86
    functionName: test_autoptr
    functionSourceFile: /src/glib/gobject/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_null
    - g_assert_nonnull
    - g_object_add_weak_pointer
    - G_OBJECT
    - test_auto_cleanup_new
    linkageType: ''
    returnType: void
    signature: 'static void test_autoptr (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_auto_cleanup_new
      Src: /src/glib/gobject/tests/autoptr.c:153,1
    - Dst: test_auto_cleanup_new
      Src: /src/glib/gobject/tests/autoptr.c:154,1
    - Dst: test_auto_cleanup_new
      Src: /src/glib/gobject/tests/autoptr.c:155,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/autoptr.c:157,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/autoptr.c:157,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/autoptr.c:158,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/autoptr.c:158,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/autoptr.c:159,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/autoptr.c:159,1
    - Dst: g_slist_prepend
      Src: /src/glib/gobject/tests/autoptr.c:164,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/autoptr.c:176,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/autoptr.c:173,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/autoptr.c:171,1
    - Dst: g_slist_prepend
      Src: /src/glib/gobject/tests/autoptr.c:165,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/autoptr.c:170,1
    - Dst: g_clear_object
      Src: /src/glib/gobject/tests/autoptr.c:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 177
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 177
    functionName: test_autoslist
    functionSourceFile: /src/glib/gobject/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_null
    - g_object_add_weak_pointer
    - g_assert_nonnull
    - G_OBJECT
    - g_clear_object
    - test_auto_cleanup_new
    - g_slist_prepend
    linkageType: ''
    returnType: void
    signature: 'static void test_autoslist (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_array_new
      Src: /src/glib/gobject/tests/value.c:632,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:634,1
    - Dst: g_value_array_prepend
      Src: /src/glib/gobject/tests/value.c:651,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/value.c:656,1
    - Dst: g_value_array_copy
      Src: /src/glib/gobject/tests/value.c:658,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/value.c:656,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/value.c:660,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/value.c:660,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/value.c:660,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/value.c:637,1
    - Dst: g_value_array_get_nth
      Src: /src/glib/gobject/tests/value.c:642,1
    - Dst: g_value_array_remove
      Src: /src/glib/gobject/tests/value.c:646,1
    - Dst: g_value_array_free
      Src: /src/glib/gobject/tests/value.c:662,1
    - Dst: g_value_array_free
      Src: /src/glib/gobject/tests/value.c:663,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/value.c:643,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/value.c:650,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/value.c:656,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/value.c:641,1
    - Dst: g_value_array_append
      Src: /src/glib/gobject/tests/value.c:638,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/value.c:643,1
    - Dst: g_value_array_sort
      Src: /src/glib/gobject/tests/value.c:654,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 664
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 664
    functionName: test_valuearray_basic
    functionSourceFile: /src/glib/gobject/tests/value.c
    functionUses: []
    functionsReached:
    - g_value_array_new
    - g_value_array_get_nth
    - g_value_array_remove
    - g_value_array_sort
    - g_value_set_int
    - g_value_array_copy
    - g_value_init
    - g_value_array_free
    - g_value_array_append
    - g_value_array_prepend
    - g_value_get_int
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_valuearray_basic (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - TestInterfaceInterface*
    constantsTouched: []
    func_position:
      end: 728
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 728
    functionName: test_interface_default_init
    functionSourceFile: /src/glib/gobject/tests/value.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_interface_default_init (TestInterfaceInterface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - class
    argTypes:
    - TestObjectBClass*
    constantsTouched: []
    func_position:
      end: 741
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 741
    functionName: test_object_b_class_init
    functionSourceFile: /src/glib/gobject/tests/value.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_object_b_class_init (TestObjectBClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/value.c:674,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/value.c:676,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/value.c:676,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gobject/tests/value.c:674,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - a
    - b
    - user_data
    argTypes:
    - gconstpointer
    - gconstpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 677
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 677
    functionName: cmpint_with_data
    functionSourceFile: /src/glib/gobject/tests/value.c
    functionUses: []
    functionsReached:
    - g_value_get_int
    - g_assert_cmpuint
    - GPOINTER_TO_UINT
    linkageType: ''
    returnType: gint
    signature: 'static gint cmpint_with_data (gconstpointer a, gconstpointer b, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - b
    argTypes:
    - TestObjectB*
    constantsTouched: []
    func_position:
      end: 742
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 742
    functionName: test_object_b_init
    functionSourceFile: /src/glib/gobject/tests/value.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_object_b_init (TestObjectB *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/gobject/tests/value.c:130,1
    - Dst: va_end
      Src: /src/glib/gobject/tests/value.c:132,1
    - Dst: G_VALUE_LCOPY
      Src: /src/glib/gobject/tests/value.c:131,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 135
    functionName: lcopy
    functionSourceFile: /src/glib/gobject/tests/value.c
    functionUses: []
    functionsReached:
    - G_VALUE_LCOPY
    - va_start
    - va_end
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *lcopy (GValue *value, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lcopy
      Src: /src/glib/gobject/tests/value.c:253,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:262,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/value.c:365,1
    - Dst: g_variant_new_uint32
      Src: /src/glib/gobject/tests/value.c:374,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/value.c:354,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/value.c:342,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:362,1
    - Dst: g_value_set_ulong
      Src: /src/glib/gobject/tests/value.c:296,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:306,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/value.c:379,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/value.c:244,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/value.c:332,1
    - Dst: g_variant_get_uint32
      Src: /src/glib/gobject/tests/value.c:379,1
    - Dst: lcopy
      Src: /src/glib/gobject/tests/value.c:308,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:350,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/value.c:243,1
    - Dst: lcopy
      Src: /src/glib/gobject/tests/value.c:275,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:284,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/value.c:298,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:316,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:361,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/value.c:310,1
    - Dst: lcopy
      Src: /src/glib/gobject/tests/value.c:375,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gobject/tests/value.c:378,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/value.c:277,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:240,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/value.c:266,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:261,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/value.c:265,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:339,1
    - Dst: lcopy
      Src: /src/glib/gobject/tests/value.c:341,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/value.c:353,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:373,1
    - Dst: g_value_set_long
      Src: /src/glib/gobject/tests/value.c:285,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:372,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:272,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/value.c:343,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/value.c:376,1
    - Dst: g_variant_unref
      Src: /src/glib/gobject/tests/value.c:380,1
    - Dst: lcopy
      Src: /src/glib/gobject/tests/value.c:297,1
    - Dst: g_value_set_double
      Src: /src/glib/gobject/tests/value.c:340,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/value.c:355,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:295,1
    - Dst: lcopy
      Src: /src/glib/gobject/tests/value.c:242,1
    - Dst: g_value_set_char
      Src: /src/glib/gobject/tests/value.c:241,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/value.c:287,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:305,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/value.c:299,1
    - Dst: g_value_set_uchar
      Src: /src/glib/gobject/tests/value.c:252,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:273,1
    - Dst: lcopy
      Src: /src/glib/gobject/tests/value.c:264,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:328,1
    - Dst: lcopy
      Src: /src/glib/gobject/tests/value.c:364,1
    - Dst: lcopy
      Src: /src/glib/gobject/tests/value.c:330,1
    - Dst: lcopy
      Src: /src/glib/gobject/tests/value.c:352,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/value.c:378,1
    - Dst: g_value_set_float
      Src: /src/glib/gobject/tests/value.c:329,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/value.c:320,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:338,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/value.c:263,1
    - Dst: lcopy
      Src: /src/glib/gobject/tests/value.c:286,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:349,1
    - Dst: g_value_set_string
      Src: /src/glib/gobject/tests/value.c:351,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/value.c:331,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:250,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/value.c:255,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/value.c:288,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/value.c:377,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/value.c:254,1
    - Dst: g_value_set_uint
      Src: /src/glib/gobject/tests/value.c:274,1
    - Dst: g_value_set_int64
      Src: /src/glib/gobject/tests/value.c:307,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:317,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:366,1
    - Dst: g_value_set_variant
      Src: /src/glib/gobject/tests/value.c:374,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:381,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:294,1
    - Dst: g_value_set_gtype
      Src: /src/glib/gobject/tests/value.c:363,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/value.c:309,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:327,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:251,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/value.c:276,1
    - Dst: g_value_set_uint64
      Src: /src/glib/gobject/tests/value.c:318,1
    - Dst: lcopy
      Src: /src/glib/gobject/tests/value.c:319,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gobject/tests/value.c:378,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:283,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/value.c:321,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 120
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 383
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 383
    functionName: test_copying
    functionSourceFile: /src/glib/gobject/tests/value.c
    functionUses: []
    functionsReached:
    - g_value_set_uint
    - lcopy
    - g_assert_null
    - g_value_set_int
    - g_value_set_float
    - g_value_set_uint64
    - g_value_set_int64
    - g_value_set_variant
    - g_variant_new_uint32
    - g_assert_true
    - g_variant_is_of_type
    - g_value_set_long
    - g_assert_nonnull
    - g_variant_unref
    - g_assert_cmpint
    - g_value_set_uchar
    - g_value_set_gtype
    - g_value_set_string
    - g_assert_cmpuint
    - g_value_init
    - g_value_set_double
    - G_VARIANT_TYPE
    - g_variant_get_uint32
    - g_value_set_char
    - g_assert
    - g_value_set_ulong
    - g_assert_cmpstr
    - g_free
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void test_copying (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - TestObjectA*
    constantsTouched: []
    func_position:
      end: 734
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 734
    functionName: test_object_a_init
    functionSourceFile: /src/glib/gobject/tests/value.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_object_a_init (TestObjectA *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: collect
      Src: /src/glib/gobject/tests/value.c:180,1
    - Dst: collect
      Src: /src/glib/gobject/tests/value.c:186,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/value.c:205,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/value.c:199,1
    - Dst: collect
      Src: /src/glib/gobject/tests/value.c:210,1
    - Dst: g_variant_get_uint32
      Src: /src/glib/gobject/tests/value.c:226,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/value.c:151,1
    - Dst: collect
      Src: /src/glib/gobject/tests/value.c:156,1
    - Dst: g_value_get_float
      Src: /src/glib/gobject/tests/value.c:200,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/value.c:212,1
    - Dst: collect
      Src: /src/glib/gobject/tests/value.c:216,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:208,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/value.c:212,1
    - Dst: g_value_get_long
      Src: /src/glib/gobject/tests/value.c:176,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/value.c:193,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:202,1
    - Dst: g_value_get_int64
      Src: /src/glib/gobject/tests/value.c:188,1
    - Dst: g_value_get_char
      Src: /src/glib/gobject/tests/value.c:146,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:154,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/value.c:157,1
    - Dst: collect
      Src: /src/glib/gobject/tests/value.c:162,1
    - Dst: collect
      Src: /src/glib/gobject/tests/value.c:174,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:185,1
    - Dst: g_value_get_variant
      Src: /src/glib/gobject/tests/value.c:224,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/value.c:164,1
    - Dst: collect
      Src: /src/glib/gobject/tests/value.c:198,1
    - Dst: g_value_get_ulong
      Src: /src/glib/gobject/tests/value.c:182,1
    - Dst: collect
      Src: /src/glib/gobject/tests/value.c:204,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:224,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:149,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:155,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:161,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/value.c:194,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/value.c:176,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/value.c:188,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:191,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:221,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gobject/tests/value.c:225,1
    - Dst: g_value_get_gtype
      Src: /src/glib/gobject/tests/value.c:218,1
    - Dst: g_value_get_uint
      Src: /src/glib/gobject/tests/value.c:170,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:173,1
    - Dst: collect
      Src: /src/glib/gobject/tests/value.c:192,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/value.c:223,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:179,1
    - Dst: g_value_get_double
      Src: /src/glib/gobject/tests/value.c:206,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/value.c:152,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/value.c:182,1
    - Dst: g_variant_new_uint32
      Src: /src/glib/gobject/tests/value.c:222,1
    - Dst: g_value_get_uchar
      Src: /src/glib/gobject/tests/value.c:152,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/value.c:170,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:203,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/value.c:146,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:148,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/value.c:158,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:160,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:215,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/value.c:169,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/gobject/tests/value.c:206,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:209,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:214,1
    - Dst: g_value_get_uint64
      Src: /src/glib/gobject/tests/value.c:194,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/value.c:145,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:228,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:197,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/value.c:163,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/gobject/tests/value.c:200,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:143,1
    - Dst: collect
      Src: /src/glib/gobject/tests/value.c:150,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/value.c:164,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:172,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:178,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/value.c:187,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:196,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/value.c:211,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/value.c:181,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/value.c:226,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:218,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:166,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/value.c:217,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:220,1
    - Dst: collect
      Src: /src/glib/gobject/tests/value.c:144,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/value.c:175,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:184,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:190,1
    - Dst: collect
      Src: /src/glib/gobject/tests/value.c:222,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gobject/tests/value.c:224,1
    - Dst: g_value_get_variant
      Src: /src/glib/gobject/tests/value.c:226,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gobject/tests/value.c:158,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:167,1
    - Dst: collect
      Src: /src/glib/gobject/tests/value.c:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 106
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 229
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 229
    functionName: test_collection
    functionSourceFile: /src/glib/gobject/tests/value.c
    functionUses: []
    functionsReached:
    - g_assert_null
    - g_value_get_char
    - g_value_get_uint64
    - g_variant_new_uint32
    - g_value_get_int
    - g_value_get_variant
    - g_assert_true
    - g_variant_is_of_type
    - g_value_get_uint
    - collect
    - g_value_get_float
    - g_assert_cmpint
    - g_value_get_ulong
    - g_value_get_double
    - g_assert_cmpuint
    - g_value_init
    - G_VARIANT_TYPE
    - g_value_get_long
    - g_value_get_int64
    - g_variant_get_uint32
    - g_value_get_boolean
    - g_value_get_string
    - g_assert_cmpfloat
    - g_assert_cmpstr
    - g_value_get_uchar
    - g_value_get_gtype
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void test_collection (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_VALUE_HOLDS_INT
      Src: /src/glib/gobject/tests/value.c:391,1
    - Dst: G_IS_VALUE
      Src: /src/glib/gobject/tests/value.c:390,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/value.c:393,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/value.c:394,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:397,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/value.c:400,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:398,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/value.c:400,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/value.c:403,1
    - Dst: G_IS_VALUE
      Src: /src/glib/gobject/tests/value.c:406,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/value.c:408,1
    - Dst: G_IS_VALUE
      Src: /src/glib/gobject/tests/value.c:397,1
    - Dst: G_VALUE_HOLDS_UINT
      Src: /src/glib/gobject/tests/value.c:399,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:410,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/value.c:411,1
    - Dst: G_VALUE_HOLDS_INT
      Src: /src/glib/gobject/tests/value.c:412,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/value.c:391,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:392,1
    - Dst: G_VALUE_HOLDS_INT
      Src: /src/glib/gobject/tests/value.c:394,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:396,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/value.c:402,1
    - Dst: G_VALUE_HOLDS_INT
      Src: /src/glib/gobject/tests/value.c:398,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:406,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:407,1
    - Dst: G_IS_VALUE
      Src: /src/glib/gobject/tests/value.c:411,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/value.c:390,1
    - Dst: G_IS_VALUE
      Src: /src/glib/gobject/tests/value.c:393,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/value.c:399,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/value.c:403,1
    - Dst: g_value_reset
      Src: /src/glib/gobject/tests/value.c:405,1
    - Dst: G_VALUE_HOLDS_INT
      Src: /src/glib/gobject/tests/value.c:407,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/value.c:408,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/value.c:412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 34
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 413
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 413
    functionName: test_value_basic
    functionSourceFile: /src/glib/gobject/tests/value.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_assert_cmpint
    - g_value_reset
    - G_IS_VALUE
    - g_value_set_int
    - G_VALUE_HOLDS_UINT
    - g_value_init
    - G_VALUE_HOLDS_INT
    - g_assert_false
    - g_value_get_int
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void test_value_basic (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - class
    argTypes:
    - TestObjectA2Class*
    constantsTouched: []
    func_position:
      end: 755
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 755
    functionName: test_object_a2_class_init
    functionSourceFile: /src/glib/gobject/tests/value.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_object_a2_class_init (TestObjectA2Class *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_array_new
      Src: /src/glib/gobject/tests/value.c:685,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gobject/tests/value.c:688,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:690,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/value.c:689,1
    - Dst: g_value_array_sort_with_data
      Src: /src/glib/gobject/tests/value.c:688,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:693,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/value.c:696,1
    - Dst: g_value_array_append
      Src: /src/glib/gobject/tests/value.c:697,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/value.c:700,1
    - Dst: g_value_array_sort_with_data
      Src: /src/glib/gobject/tests/value.c:702,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gobject/tests/value.c:702,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/value.c:705,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/value.c:705,1
    - Dst: g_value_array_free
      Src: /src/glib/gobject/tests/value.c:709,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:707,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/value.c:705,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 710
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 710
    functionName: test_value_array_sort_with_data
    functionSourceFile: /src/glib/gobject/tests/value.c
    functionUses: []
    functionsReached:
    - g_value_array_new
    - g_assert_true
    - g_value_array_sort_with_data
    - g_value_set_int
    - g_assert_cmpuint
    - GUINT_TO_POINTER
    - g_value_init
    - g_value_array_free
    - g_value_array_append
    - g_value_get_int
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_value_array_sort_with_data (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - class
    argTypes:
    - TestObjectAClass*
    constantsTouched: []
    func_position:
      end: 733
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 733
    functionName: test_object_a_class_init
    functionSourceFile: /src/glib/gobject/tests/value.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_object_a_class_init (TestObjectAClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/value.c:809,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/value.c:813,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/value.c:814,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/value.c:812,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/value.c:811,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/value.c:815,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/value.c:816,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/value.c:817,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/value.c:818,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/value.c:819,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/value.c:821,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 822
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 822
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/value.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:95,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:99,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:101,1
    - Dst: g_value_get_gtype
      Src: /src/glib/gobject/tests/value.c:98,1
    - Dst: g_value_set_gtype
      Src: /src/glib/gobject/tests/value.c:97,1
    - Dst: g_value_copy
      Src: /src/glib/gobject/tests/value.c:102,1
    - Dst: g_value_get_gtype
      Src: /src/glib/gobject/tests/value.c:103,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 105
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 105
    functionName: test_gtype_value
    functionSourceFile: /src/glib/gobject/tests/value.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_value_set_gtype
    - g_value_init
    - g_value_get_gtype
    - g_value_copy
    linkageType: ''
    returnType: void
    signature: 'static void test_gtype_value (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:433,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:452,1
    - Dst: g_value_dup_string
      Src: /src/glib/gobject/tests/value.c:532,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:538,1
    - Dst: g_value_copy
      Src: /src/glib/gobject/tests/value.c:539,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:434,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:443,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/value.c:444,1
    - Dst: g_value_set_static_string
      Src: /src/glib/gobject/tests/value.c:468,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:495,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/value.c:496,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:548,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:584,1
    - Dst: g_value_set_string
      Src: /src/glib/gobject/tests/value.c:440,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:554,1
    - Dst: G_VALUE_IS_INTERNED_STRING
      Src: /src/glib/gobject/tests/value.c:568,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/value.c:576,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/value.c:583,1
    - Dst: g_value_set_string
      Src: /src/glib/gobject/tests/value.c:509,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:541,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:480,1
    - Dst: g_value_steal_string
      Src: /src/glib/gobject/tests/value.c:553,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/value.c:556,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/value.c:570,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/tests/value.c:588,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/value.c:519,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/value.c:437,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/value.c:476,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:518,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/value.c:529,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:580,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:582,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:590,1
    - Dst: g_test_summary
      Src: /src/glib/gobject/tests/value.c:426,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/value.c:449,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:447,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/value.c:454,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/value.c:469,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/tests/value.c:564,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:566,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/value.c:448,1
    - Dst: g_value_set_string
      Src: /src/glib/gobject/tests/value.c:460,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:463,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/value.c:471,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:512,1
    - Dst: g_value_set_static_string
      Src: /src/glib/gobject/tests/value.c:527,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:571,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/value.c:607,1
    - Dst: G_VALUE_HOLDS_STRING
      Src: /src/glib/gobject/tests/value.c:526,1
    - Dst: g_value_take_string
      Src: /src/glib/gobject/tests/value.c:489,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/value.c:497,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/value.c:549,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/value.c:597,1
    - Dst: g_value_steal_string
      Src: /src/glib/gobject/tests/value.c:605,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/value.c:608,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/value.c:557,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/value.c:456,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:477,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/value.c:505,1
    - Dst: G_VALUE_HOLDS_STRING
      Src: /src/glib/gobject/tests/value.c:566,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:568,1
    - Dst: g_value_copy
      Src: /src/glib/gobject/tests/value.c:581,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/value.c:599,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/value.c:609,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:455,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:501,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:542,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:504,1
    - Dst: g_value_dup_string
      Src: /src/glib/gobject/tests/value.c:573,1
    - Dst: g_value_set_string
      Src: /src/glib/gobject/tests/value.c:596,1
    - Dst: G_VALUE_IS_INTERNED_STRING
      Src: /src/glib/gobject/tests/value.c:597,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:600,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/value.c:601,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:611,1
    - Dst: G_VALUE_HOLDS_STRING
      Src: /src/glib/gobject/tests/value.c:487,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:438,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/value.c:517,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:559,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:585,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/value.c:520,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:533,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/value.c:535,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/value.c:513,1
    - Dst: g_value_set_static_string
      Src: /src/glib/gobject/tests/value.c:545,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:492,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/value.c:491,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/value.c:503,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/value.c:534,1
    - Dst: G_VALUE_HOLDS_STRING
      Src: /src/glib/gobject/tests/value.c:434,1
    - Dst: g_value_take_string
      Src: /src/glib/gobject/tests/value.c:475,1
    - Dst: g_value_set_interned_string
      Src: /src/glib/gobject/tests/value.c:567,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:574,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/value.c:575,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/value.c:547,1
    - Dst: g_value_steal_string
      Src: /src/glib/gobject/tests/value.c:516,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/value.c:517,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:526,1
    - Dst: g_value_copy
      Src: /src/glib/gobject/tests/value.c:453,1
    - Dst: g_strdup
      Src: /src/glib/gobject/tests/value.c:474,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:525,1
    - Dst: g_value_copy
      Src: /src/glib/gobject/tests/value.c:502,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:530,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:606,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/value.c:442,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/value.c:462,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/value.c:478,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:486,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:487,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/value.c:511,1
    - Dst: g_value_dup_string
      Src: /src/glib/gobject/tests/value.c:494,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/value.c:556,1
    - Dst: G_VALUE_IS_INTERNED_STRING
      Src: /src/glib/gobject/tests/value.c:582,1
    - Dst: g_value_set_interned_string
      Src: /src/glib/gobject/tests/value.c:589,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/value.c:464,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:565,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:506,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/value.c:540,1
    - Dst: g_value_dup_string
      Src: /src/glib/gobject/tests/value.c:446,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:457,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:470,1
    - Dst: g_strdup
      Src: /src/glib/gobject/tests/value.c:488,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/value.c:555,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/value.c:592,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/value.c:593,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/value.c:608,1
    - Dst: G_VALUE_IS_INTERNED_STRING
      Src: /src/glib/gobject/tests/value.c:590,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 175
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 612
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 612
    functionName: test_value_string
    functionSourceFile: /src/glib/gobject/tests/value.c
    functionUses: []
    functionsReached:
    - g_value_set_static_string
    - g_assert_null
    - G_VALUE_HOLDS_STRING
    - G_VALUE_IS_INTERNED_STRING
    - g_value_copy
    - g_value_take_string
    - g_assert_true
    - g_intern_static_string
    - g_assert_false
    - g_strdup
    - g_value_dup_string
    - g_value_set_string
    - g_value_init
    - g_test_summary
    - g_value_get_string
    - g_value_set_interned_string
    - g_assert_cmpstr
    - g_free
    - g_value_steal_string
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void test_value_string (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - TestInterfaceInterface*
    constantsTouched: []
    func_position:
      end: 738
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 738
    functionName: test_object_b_iface_init
    functionSourceFile: /src/glib/gobject/tests/value.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_object_b_iface_init (TestInterfaceInterface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - class
    argTypes:
    - TestObjectA1Class*
    constantsTouched: []
    func_position:
      end: 747
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 747
    functionName: test_object_a1_class_init
    functionSourceFile: /src/glib/gobject/tests/value.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_object_a1_class_init (TestObjectA1Class *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - b
    argTypes:
    - TestObjectA2*
    constantsTouched: []
    func_position:
      end: 756
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 756
    functionName: test_object_a2_init
    functionSourceFile: /src/glib/gobject/tests/value.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_object_a2_init (TestObjectA2 *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_set_enum
      Src: /src/glib/gobject/tests/value.c:43,1
    - Dst: memset
      Src: /src/glib/gobject/tests/value.c:45,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/value.c:48,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/value.c:49,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/value.c:59,1
    - Dst: memset
      Src: /src/glib/gobject/tests/value.c:61,1
    - Dst: memset
      Src: /src/glib/gobject/tests/value.c:66,1
    - Dst: memset
      Src: /src/glib/gobject/tests/value.c:71,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/value.c:79,1
    - Dst: g_value_get_int64
      Src: /src/glib/gobject/tests/value.c:79,1
    - Dst: g_value_transform
      Src: /src/glib/gobject/tests/value.c:73,1
    - Dst: g_value_transform
      Src: /src/glib/gobject/tests/value.c:47,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/value.c:54,1
    - Dst: g_value_transform
      Src: /src/glib/gobject/tests/value.c:58,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:52,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/value.c:59,1
    - Dst: g_value_transform
      Src: /src/glib/gobject/tests/value.c:63,1
    - Dst: g_value_transform
      Src: /src/glib/gobject/tests/value.c:68,1
    - Dst: g_value_get_long
      Src: /src/glib/gobject/tests/value.c:69,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:72,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/value.c:74,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:82,1
    - Dst: g_value_transform
      Src: /src/glib/gobject/tests/value.c:83,1
    - Dst: g_value_get_ulong
      Src: /src/glib/gobject/tests/value.c:74,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:46,1
    - Dst: g_value_get_schar
      Src: /src/glib/gobject/tests/value.c:49,1
    - Dst: memset
      Src: /src/glib/gobject/tests/value.c:56,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/value.c:64,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/value.c:69,1
    - Dst: memset
      Src: /src/glib/gobject/tests/value.c:76,1
    - Dst: memset
      Src: /src/glib/gobject/tests/value.c:81,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/value.c:84,1
    - Dst: g_enum_register_static
      Src: /src/glib/gobject/tests/value.c:40,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:42,1
    - Dst: g_value_get_char
      Src: /src/glib/gobject/tests/value.c:48,1
    - Dst: memset
      Src: /src/glib/gobject/tests/value.c:51,1
    - Dst: g_value_transform
      Src: /src/glib/gobject/tests/value.c:53,1
    - Dst: g_value_get_uchar
      Src: /src/glib/gobject/tests/value.c:54,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:57,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:62,1
    - Dst: g_value_get_uint
      Src: /src/glib/gobject/tests/value.c:64,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:67,1
    - Dst: g_value_get_uint64
      Src: /src/glib/gobject/tests/value.c:84,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:77,1
    - Dst: g_value_transform
      Src: /src/glib/gobject/tests/value.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 47
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 85
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 85
    functionName: test_enum_transformation
    functionSourceFile: /src/glib/gobject/tests/value.c
    functionUses: []
    functionsReached:
    - g_value_get_int64
    - g_value_set_enum
    - g_value_get_char
    - g_value_get_ulong
    - g_value_get_long
    - g_value_init
    - g_value_get_uint
    - g_value_get_uchar
    - g_enum_register_static
    - g_value_transform
    - g_value_get_int
    - g_value_get_uint64
    - memset
    - g_value_get_schar
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_enum_transformation (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/gobject/tests/value.c:115,1
    - Dst: va_end
      Src: /src/glib/gobject/tests/value.c:117,1
    - Dst: G_VALUE_COLLECT
      Src: /src/glib/gobject/tests/value.c:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 120
    functionName: collect
    functionSourceFile: /src/glib/gobject/tests/value.c
    functionUses: []
    functionsReached:
    - va_start
    - va_end
    - G_VALUE_COLLECT
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *collect (GValue *value, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/value.c:620,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/value.c:620,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 621
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 621
    functionName: cmpint
    functionSourceFile: /src/glib/gobject/tests/value.c
    functionUses: []
    functionsReached:
    - g_value_get_int
    linkageType: ''
    returnType: gint
    signature: 'static gint cmpint (gconstpointer a, gconstpointer b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - c
    argTypes:
    - TestObjectA1*
    constantsTouched: []
    func_position:
      end: 748
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 748
    functionName: test_object_a1_init
    functionSourceFile: /src/glib/gobject/tests/value.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_object_a1_init (TestObjectA1 *c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - TestInterfaceInterface*
    constantsTouched: []
    func_position:
      end: 752
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 752
    functionName: test_object_a2_iface_init
    functionSourceFile: /src/glib/gobject/tests/value.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_object_a2_iface_init (TestInterfaceInterface *iface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_object_a1_get_type
      Src: /src/glib/gobject/tests/value.c:770,1
    - Dst: test_object_a_get_type
      Src: /src/glib/gobject/tests/value.c:768,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/value.c:774,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/value.c:779,1
    - Dst: g_value_get_object
      Src: /src/glib/gobject/tests/value.c:788,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:786,1
    - Dst: g_value_type_transformable
      Src: /src/glib/gobject/tests/value.c:793,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/value.c:794,1
    - Dst: g_value_transform
      Src: /src/glib/gobject/tests/value.c:795,1
    - Dst: G_TYPE_CHECK_INSTANCE_TYPE
      Src: /src/glib/gobject/tests/value.c:796,1
    - Dst: test_interface_get_type
      Src: /src/glib/gobject/tests/value.c:767,1
    - Dst: g_value_set_object
      Src: /src/glib/gobject/tests/value.c:788,1
    - Dst: g_value_set_object
      Src: /src/glib/gobject/tests/value.c:787,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:793,1
    - Dst: g_value_get_object
      Src: /src/glib/gobject/tests/value.c:796,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:797,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/value.c:799,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/value.c:802,1
    - Dst: test_object_a2_get_type
      Src: /src/glib/gobject/tests/value.c:771,1
    - Dst: test_object_b_get_type
      Src: /src/glib/gobject/tests/value.c:769,1
    - Dst: G_TYPE_IS_CLASSED
      Src: /src/glib/gobject/tests/value.c:776,1
    - Dst: g_type_name
      Src: /src/glib/gobject/tests/value.c:792,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/value.c:781,1
    - Dst: G_TYPE_CHECK_INSTANCE_TYPE
      Src: /src/glib/gobject/tests/value.c:783,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/value.c:790,1
    - Dst: g_test_message
      Src: /src/glib/gobject/tests/value.c:792,1
    - Dst: g_type_name
      Src: /src/glib/gobject/tests/value.c:792,1
    - Dst: g_type_name
      Src: /src/glib/gobject/tests/value.c:792,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/value.c:795,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/value.c:796,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 44
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 804
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 804
    functionName: test_value_transform_object
    functionSourceFile: /src/glib/gobject/tests/value.c
    functionUses: []
    functionsReached:
    - test_object_a1_get_type
    - test_object_b_get_type
    - g_value_type_transformable
    - test_interface_get_type
    - g_value_transform
    - g_assert_true
    - g_object_unref
    - G_N_ELEMENTS
    - g_value_set_object
    - g_value_get_object
    - g_assert_cmpint
    - g_type_name
    - test_object_a_get_type
    - G_TYPE_IS_CLASSED
    - g_object_new
    - g_test_message
    - g_value_init
    - G_TYPE_CHECK_INSTANCE_TYPE
    - test_object_a2_get_type
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void test_value_transform_object (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 4
    argNames:
    - object
    - property_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: prop_tester_set_property
    functionSourceFile: /src/glib/gobject/tests/threadtests.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void prop_tester_set_property (GObject *object, guint property_id,
      const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/threadtests.c:478,1
    - Dst: g_test_thorough
      Src: /src/glib/gobject/tests/threadtests.c:482,1
    - Dst: g_test_summary
      Src: /src/glib/gobject/tests/threadtests.c:485,1
    - Dst: g_object_add_toggle_ref
      Src: /src/glib/gobject/tests/threadtests.c:489,1
    - Dst: g_test_bug
      Src: /src/glib/gobject/tests/threadtests.c:484,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/threadtests.c:490,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/threadtests.c:492,1
    - Dst: g_thread_new
      Src: /src/glib/gobject/tests/threadtests.c:493,1
    - Dst: g_thread_new
      Src: /src/glib/gobject/tests/threadtests.c:494,1
    - Dst: g_thread_new
      Src: /src/glib/gobject/tests/threadtests.c:495,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/threadtests.c:508,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/tests/threadtests.c:501,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gobject/tests/threadtests.c:503,1
    - Dst: g_clear_object
      Src: /src/glib/gobject/tests/threadtests.c:509,1
    - Dst: g_thread_join
      Src: /src/glib/gobject/tests/threadtests.c:506,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/threadtests.c:505,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 510
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 510
    functionName: test_threaded_toggle_notify
    functionSourceFile: /src/glib/gobject/tests/threadtests.c
    functionUses: []
    functionsReached:
    - g_test_summary
    - g_object_unref
    - g_test_thorough
    - g_object_new
    - g_atomic_int_get
    - G_N_ELEMENTS
    - g_test_bug
    - g_thread_new
    - g_atomic_int_set
    - g_object_add_toggle_ref
    - g_clear_object
    - g_thread_join
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_threaded_toggle_notify (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - t
    argTypes:
    - MyTester2*
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: my_tester2_init
    functionSourceFile: /src/glib/gobject/tests/threadtests.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void my_tester2_init (MyTester2*t) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/threadtests.c:176,1
    - Dst: g_cond_signal
      Src: /src/glib/gobject/tests/threadtests.c:181,1
    - Dst: g_thread_yield
      Src: /src/glib/gobject/tests/threadtests.c:185,1
    - Dst: g_mutex_lock
      Src: /src/glib/gobject/tests/threadtests.c:180,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/tests/threadtests.c:182,1
    - Dst: call_counter_init
      Src: /src/glib/gobject/tests/threadtests.c:187,1
    - Dst: g_param_spec_string
      Src: /src/glib/gobject/tests/threadtests.c:188,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gobject/tests/threadtests.c:194,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - c
    argTypes:
    - PropTesterClass*
    constantsTouched: []
    func_position:
      end: 195
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 195
    functionName: prop_tester_class_init
    functionSourceFile: /src/glib/gobject/tests/threadtests.c
    functionUses: []
    functionsReached:
    - g_thread_yield
    - g_mutex_unlock
    - g_mutex_lock
    - g_object_class_install_property
    - g_cond_signal
    - G_OBJECT_CLASS
    - call_counter_init
    - g_param_spec_string
    linkageType: ''
    returnType: void
    signature: 'static void prop_tester_class_init (PropTesterClass *c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/threadtests.c:526,1
    - Dst: g_pointer_bit_lock_mask_ptr
      Src: /src/glib/gobject/tests/threadtests.c:537,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/threadtests.c:537,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/threadtests.c:538,1
    - Dst: g_atomic_pointer_and
      Src: /src/glib/gobject/tests/threadtests.c:541,1
    - Dst: g_pointer_bit_lock
      Src: /src/glib/gobject/tests/threadtests.c:546,1
    - Dst: g_pointer_bit_lock_and_get
      Src: /src/glib/gobject/tests/threadtests.c:552,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/threadtests.c:553,1
    - Dst: g_atomic_pointer_set
      Src: /src/glib/gobject/tests/threadtests.c:555,1
    - Dst: g_pointer_bit_lock
      Src: /src/glib/gobject/tests/threadtests.c:575,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/threadtests.c:582,1
    - Dst: g_pointer_bit_lock
      Src: /src/glib/gobject/tests/threadtests.c:568,1
    - Dst: g_pointer_bit_lock_and_get
      Src: /src/glib/gobject/tests/threadtests.c:560,1
    - Dst: G_STATIC_ASSERT
      Src: /src/glib/gobject/tests/threadtests.c:523,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/threadtests.c:528,1
    - Dst: g_pointer_bit_lock_mask_ptr
      Src: /src/glib/gobject/tests/threadtests.c:529,1
    - Dst: g_pointer_bit_lock_mask_ptr
      Src: /src/glib/gobject/tests/threadtests.c:540,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/threadtests.c:542,1
    - Dst: g_pointer_bit_lock_mask_ptr
      Src: /src/glib/gobject/tests/threadtests.c:542,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/threadtests.c:549,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/threadtests.c:561,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/threadtests.c:581,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/threadtests.c:564,1
    - Dst: g_pointer_bit_unlock_and_set
      Src: /src/glib/gobject/tests/threadtests.c:563,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/threadtests.c:565,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gobject/tests/threadtests.c:580,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/threadtests.c:529,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/threadtests.c:530,1
    - Dst: g_pointer_bit_lock_mask_ptr
      Src: /src/glib/gobject/tests/threadtests.c:530,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/threadtests.c:533,1
    - Dst: g_pointer_bit_lock_mask_ptr
      Src: /src/glib/gobject/tests/threadtests.c:533,1
    - Dst: g_atomic_pointer_and
      Src: /src/glib/gobject/tests/threadtests.c:535,1
    - Dst: g_pointer_bit_lock_mask_ptr
      Src: /src/glib/gobject/tests/threadtests.c:539,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/threadtests.c:540,1
    - Dst: g_atomic_pointer_or
      Src: /src/glib/gobject/tests/threadtests.c:543,1
    - Dst: g_pointer_bit_unlock_and_set
      Src: /src/glib/gobject/tests/threadtests.c:548,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/threadtests.c:571,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/threadtests.c:557,1
    - Dst: g_pointer_bit_unlock_and_set
      Src: /src/glib/gobject/tests/threadtests.c:556,1
    - Dst: g_atomic_pointer_set
      Src: /src/glib/gobject/tests/threadtests.c:562,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/threadtests.c:584,1
    - Dst: g_pointer_bit_lock_mask_ptr
      Src: /src/glib/gobject/tests/threadtests.c:528,1
    - Dst: g_pointer_bit_lock_mask_ptr
      Src: /src/glib/gobject/tests/threadtests.c:538,1
    - Dst: g_atomic_pointer_or
      Src: /src/glib/gobject/tests/threadtests.c:536,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/threadtests.c:534,1
    - Dst: g_pointer_bit_lock_mask_ptr
      Src: /src/glib/gobject/tests/threadtests.c:534,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/threadtests.c:539,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/threadtests.c:547,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/threadtests.c:554,1
    - Dst: g_pointer_bit_unlock_and_set
      Src: /src/glib/gobject/tests/threadtests.c:570,1
    - Dst: g_test_expect_message
      Src: /src/glib/gobject/tests/threadtests.c:577,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/threadtests.c:569,1
    - Dst: g_pointer_bit_unlock_and_set
      Src: /src/glib/gobject/tests/threadtests.c:579,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/threadtests.c:576,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 99
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 585
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 585
    functionName: test_threaded_g_pointer_bit_unlock_and_set
    functionSourceFile: /src/glib/gobject/tests/threadtests.c
    functionUses: []
    functionsReached:
    - G_STATIC_ASSERT
    - g_test_assert_expected_messages
    - g_assert_true
    - g_object_unref
    - g_object_new
    - g_pointer_bit_lock_mask_ptr
    - g_atomic_pointer_set
    - g_pointer_bit_unlock_and_set
    - g_test_expect_message
    - g_atomic_pointer_or
    - g_pointer_bit_lock_and_get
    - g_atomic_pointer_and
    - g_pointer_bit_lock
    linkageType: ''
    returnType: void
    signature: 'static void test_threaded_g_pointer_bit_unlock_and_set (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/threadtests.c:591,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/threadtests.c:598,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/threadtests.c:594,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/threadtests.c:596,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/threadtests.c:595,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/threadtests.c:600,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/threadtests.c:603,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 604
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 604
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/threadtests.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: call_counter_init
      Src: /src/glib/gobject/tests/threadtests.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - MyFace0Interface*
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: my_face0_default_init
    functionSourceFile: /src/glib/gobject/tests/threadtests.c
    functionUses: []
    functionsReached:
    - call_counter_init
    linkageType: ''
    returnType: void
    signature: 'static void my_face0_default_init (MyFace0Interface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: call_counter_init
      Src: /src/glib/gobject/tests/threadtests.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: interface_per_class_init
    functionSourceFile: /src/glib/gobject/tests/threadtests.c
    functionUses: []
    functionsReached:
    - call_counter_init
    linkageType: ''
    returnType: void
    signature: 'static void interface_per_class_init (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: call_counter_init
      Src: /src/glib/gobject/tests/threadtests.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - MyFace2Interface*
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: my_face2_default_init
    functionSourceFile: /src/glib/gobject/tests/threadtests.c
    functionUses: []
    functionsReached:
    - call_counter_init
    linkageType: ''
    returnType: void
    signature: 'static void my_face2_default_init (MyFace2Interface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/threadtests.c:200,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/threadtests.c:201,1
    - Dst: prop_tester_get_type
      Src: /src/glib/gobject/tests/threadtests.c:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 203
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 203
    functionName: object_create
    functionSourceFile: /src/glib/gobject/tests/threadtests.c
    functionUses: []
    functionsReached:
    - prop_tester_get_type
    - g_object_unref
    - g_object_new
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer object_create (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_set
      Src: /src/glib/gobject/tests/threadtests.c:381,1
    - Dst: g_weak_ref_set
      Src: /src/glib/gobject/tests/threadtests.c:388,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/tests/threadtests.c:384,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/threadtests.c:389,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/tests/threadtests.c:387,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/threadtests.c:391,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gobject/tests/threadtests.c:392,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 395
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 395
    functionName: on_other_thread_weak_ref
    functionSourceFile: /src/glib/gobject/tests/threadtests.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_atomic_int_get
    - g_weak_ref_set
    - g_atomic_int_set
    - g_object_ref
    - g_assert_cmpint
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer on_other_thread_weak_ref (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_add
      Src: /src/glib/gobject/tests/threadtests.c:45,1
    - Dst: g_thread_yield
      Src: /src/glib/gobject/tests/threadtests.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - tclass
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 49
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 49
    functionName: call_counter_init
    functionSourceFile: /src/glib/gobject/tests/threadtests.c
    functionUses: []
    functionsReached:
    - g_atomic_int_add
    - g_thread_yield
    linkageType: ''
    returnType: void
    signature: 'static void call_counter_init (gpointer tclass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - t
    argTypes:
    - MyTester0*
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: my_tester0_init
    functionSourceFile: /src/glib/gobject/tests/threadtests.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void my_tester0_init (MyTester0*t) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - t
    argTypes:
    - MyTester1*
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: my_tester1_init
    functionSourceFile: /src/glib/gobject/tests/threadtests.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void my_tester1_init (MyTester1*t) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: my_tester1_get_type
      Src: /src/glib/gobject/tests/threadtests.c:129,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/tests/threadtests.c:133,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/threadtests.c:143,1
    - Dst: g_thread_join
      Src: /src/glib/gobject/tests/threadtests.c:145,1
    - Dst: g_mutex_lock
      Src: /src/glib/gobject/tests/threadtests.c:125,1
    - Dst: g_thread_create
      Src: /src/glib/gobject/tests/threadtests.c:129,1
    - Dst: my_tester2_get_type
      Src: /src/glib/gobject/tests/threadtests.c:130,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/tests/threadtests.c:137,1
    - Dst: g_usleep
      Src: /src/glib/gobject/tests/threadtests.c:138,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/tests/threadtests.c:141,1
    - Dst: my_tester0_get_type
      Src: /src/glib/gobject/tests/threadtests.c:128,1
    - Dst: g_thread_create
      Src: /src/glib/gobject/tests/threadtests.c:130,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/tests/threadtests.c:134,1
    - Dst: g_printerr
      Src: /src/glib/gobject/tests/threadtests.c:137,1
    - Dst: g_printerr
      Src: /src/glib/gobject/tests/threadtests.c:141,1
    - Dst: g_thread_join
      Src: /src/glib/gobject/tests/threadtests.c:147,1
    - Dst: g_thread_create
      Src: /src/glib/gobject/tests/threadtests.c:128,1
    - Dst: g_test_verbose
      Src: /src/glib/gobject/tests/threadtests.c:136,1
    - Dst: g_test_verbose
      Src: /src/glib/gobject/tests/threadtests.c:140,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/tests/threadtests.c:143,1
    - Dst: g_thread_join
      Src: /src/glib/gobject/tests/threadtests.c:146,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 148
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 148
    functionName: test_threaded_class_init
    functionSourceFile: /src/glib/gobject/tests/threadtests.c
    functionUses: []
    functionsReached:
    - g_printerr
    - g_thread_create
    - g_mutex_unlock
    - my_tester1_get_type
    - g_mutex_lock
    - g_atomic_int_get
    - g_test_verbose
    - g_usleep
    - my_tester2_get_type
    - g_thread_join
    - my_tester0_get_type
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_threaded_class_init (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gobject/tests/threadtests.c:209,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/tests/threadtests.c:216,1
    - Dst: g_thread_create
      Src: /src/glib/gobject/tests/threadtests.c:211,1
    - Dst: g_cond_wait
      Src: /src/glib/gobject/tests/threadtests.c:213,1
    - Dst: object_create
      Src: /src/glib/gobject/tests/threadtests.c:215,1
    - Dst: g_thread_join
      Src: /src/glib/gobject/tests/threadtests.c:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 219
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 219
    functionName: test_threaded_object_init
    functionSourceFile: /src/glib/gobject/tests/threadtests.c
    functionUses: []
    functionsReached:
    - g_thread_create
    - g_mutex_unlock
    - object_create
    - g_mutex_lock
    - g_thread_join
    - g_cond_wait
    linkageType: ''
    returnType: void
    signature: 'static void test_threaded_object_init (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_usleep
      Src: /src/glib/gobject/tests/threadtests.c:231,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/threadtests.c:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 235
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 235
    functionName: unref_in_thread
    functionSourceFile: /src/glib/gobject/tests/threadtests.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_usleep
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer unref_in_thread (gpointer p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/threadtests.c:400,1
    - Dst: g_weak_ref_init
      Src: /src/glib/gobject/tests/threadtests.c:412,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gobject/tests/threadtests.c:401,1
    - Dst: g_test_bug
      Src: /src/glib/gobject/tests/threadtests.c:406,1
    - Dst: g_test_summary
      Src: /src/glib/gobject/tests/threadtests.c:407,1
    - Dst: g_object_weak_ref
      Src: /src/glib/gobject/tests/threadtests.c:413,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/threadtests.c:415,1
    - Dst: g_thread_unref
      Src: /src/glib/gobject/tests/threadtests.c:416,1
    - Dst: g_thread_new
      Src: /src/glib/gobject/tests/threadtests.c:416,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/threadtests.c:419,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/tests/threadtests.c:423,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/threadtests.c:423,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 424
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 424
    functionName: test_threaded_weak_ref_finalization
    functionSourceFile: /src/glib/gobject/tests/threadtests.c
    functionUses: []
    functionsReached:
    - g_weak_ref_get
    - g_test_summary
    - g_object_unref
    - g_object_new
    - g_assert_null
    - GUINT_TO_POINTER
    - g_test_bug
    - g_object_weak_ref
    - g_thread_unref
    - g_thread_new
    - g_weak_ref_init
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_threaded_weak_ref_finalization (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: call_counter_init
      Src: /src/glib/gobject/tests/threadtests.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - MyFace1Interface*
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: my_face1_default_init
    functionSourceFile: /src/glib/gobject/tests/threadtests.c
    functionUses: []
    functionsReached:
    - call_counter_init
    linkageType: ''
    returnType: void
    signature: 'static void my_face1_default_init (MyFace1Interface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: call_counter_init
      Src: /src/glib/gobject/tests/threadtests.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - MyTester0Class*
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: my_tester0_class_init
    functionSourceFile: /src/glib/gobject/tests/threadtests.c
    functionUses: []
    functionsReached:
    - call_counter_init
    linkageType: ''
    returnType: void
    signature: 'static void my_tester0_class_init (MyTester0Class*c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: call_counter_init
      Src: /src/glib/gobject/tests/threadtests.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - MyTester1Class*
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: my_tester1_class_init
    functionSourceFile: /src/glib/gobject/tests/threadtests.c
    functionUses: []
    functionsReached:
    - call_counter_init
    linkageType: ''
    returnType: void
    signature: 'static void my_tester1_class_init (MyTester1Class*c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/tests/threadtests.c:438,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/threadtests.c:441,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/tests/threadtests.c:440,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 445
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 445
    functionName: on_reffer_thread
    functionSourceFile: /src/glib/gobject/tests/threadtests.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_atomic_int_get
    - g_object_ref
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer on_reffer_thread (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: call_counter_init
      Src: /src/glib/gobject/tests/threadtests.c:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - MyTester2Class*
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: my_tester2_class_init
    functionSourceFile: /src/glib/gobject/tests/threadtests.c
    functionUses: []
    functionsReached:
    - call_counter_init
    linkageType: ''
    returnType: void
    signature: 'static void my_tester2_class_init (MyTester2Class*c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 3
    argNames:
    - data
    - object
    - is_last_ref
    argTypes:
    - gpointer
    - GObject*
    - gboolean
    constantsTouched: []
    func_position:
      end: 456
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 456
    functionName: on_toggle_notify
    functionSourceFile: /src/glib/gobject/tests/threadtests.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void on_toggle_notify (gpointer data, GObject *object, gboolean
      is_last_ref) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gobject/tests/threadtests.c:106,1
    - Dst: my_face0_get_type
      Src: /src/glib/gobject/tests/threadtests.c:109,1
    - Dst: g_type_default_interface_ref
      Src: /src/glib/gobject/tests/threadtests.c:109,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/tests/threadtests.c:107,1
    - Dst: g_type_default_interface_unref
      Src: /src/glib/gobject/tests/threadtests.c:109,1
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/tests/threadtests.c:111,1
    - Dst: g_type_add_interface_static
      Src: /src/glib/gobject/tests/threadtests.c:113,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/threadtests.c:113,1
    - Dst: my_face2_get_type
      Src: /src/glib/gobject/tests/threadtests.c:113,1
    - Dst: g_type_class_unref
      Src: /src/glib/gobject/tests/threadtests.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 117
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 117
    functionName: tester_init_thread
    functionSourceFile: /src/glib/gobject/tests/threadtests.c
    functionUses: []
    functionsReached:
    - g_type_class_ref
    - g_mutex_unlock
    - g_mutex_lock
    - G_TYPE_FROM_CLASS
    - g_type_default_interface_ref
    - g_type_add_interface_static
    - g_type_default_interface_unref
    - my_face0_get_type
    - my_face2_get_type
    - g_type_class_unref
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer tester_init_thread (gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - PropTester*
    constantsTouched: []
    func_position:
      end: 164
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 164
    functionName: prop_tester_init
    functionSourceFile: /src/glib/gobject/tests/threadtests.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void prop_tester_init (PropTester* t) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: my_tester0_get_type
      Src: /src/glib/gobject/tests/threadtests.c:279,1
    - Dst: g_random_int_range
      Src: /src/glib/gobject/tests/threadtests.c:293,1
    - Dst: g_thread_create
      Src: /src/glib/gobject/tests/threadtests.c:296,1
    - Dst: g_thread_join
      Src: /src/glib/gobject/tests/threadtests.c:321,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/tests/threadtests.c:305,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/threadtests.c:327,1
    - Dst: g_printerr
      Src: /src/glib/gobject/tests/threadtests.c:343,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/threadtests.c:285,1
    - Dst: g_random_int_range
      Src: /src/glib/gobject/tests/threadtests.c:292,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/tests/threadtests.c:318,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/tests/threadtests.c:326,1
    - Dst: g_object_remove_weak_pointer
      Src: /src/glib/gobject/tests/threadtests.c:338,1
    - Dst: g_printerr
      Src: /src/glib/gobject/tests/threadtests.c:276,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/threadtests.c:326,1
    - Dst: g_assert_no_error
      Src: /src/glib/gobject/tests/threadtests.c:297,1
    - Dst: g_test_thorough
      Src: /src/glib/gobject/tests/threadtests.c:250,1
    - Dst: g_test_verbose
      Src: /src/glib/gobject/tests/threadtests.c:275,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/threadtests.c:279,1
    - Dst: g_weak_ref_init
      Src: /src/glib/gobject/tests/threadtests.c:282,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/tests/threadtests.c:314,1
    - Dst: g_usleep
      Src: /src/glib/gobject/tests/threadtests.c:302,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/threadtests.c:318,1
    - Dst: g_weak_ref_clear
      Src: /src/glib/gobject/tests/threadtests.c:335,1
    - Dst: g_test_verbose
      Src: /src/glib/gobject/tests/threadtests.c:342,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 345
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 345
    functionName: test_threaded_weak_ref
    functionSourceFile: /src/glib/gobject/tests/threadtests.c
    functionUses: []
    functionsReached:
    - g_printerr
    - g_weak_ref_get
    - g_object_add_weak_pointer
    - g_usleep
    - g_weak_ref_init
    - my_tester0_get_type
    - g_object_remove_weak_pointer
    - g_object_unref
    - g_object_new
    - g_test_thorough
    - G_IS_OBJECT
    - g_assert_no_error
    - g_random_int_range
    - g_thread_create
    - g_assert
    - g_test_verbose
    - g_object_ref
    - g_thread_join
    - g_weak_ref_clear
    linkageType: ''
    returnType: void
    signature: 'static void test_threaded_weak_ref (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/tests/threadtests.c:363,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/tests/threadtests.c:369,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gobject/tests/threadtests.c:366,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gobject/tests/threadtests.c:372,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - data
    - gobj
    argTypes:
    - gpointer
    - GObject*
    constantsTouched: []
    func_position:
      end: 373
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 373
    functionName: on_weak_ref_disposed
    functionSourceFile: /src/glib/gobject/tests/threadtests.c
    functionUses: []
    functionsReached:
    - g_atomic_int_set
    - g_atomic_int_get
    linkageType: ''
    returnType: void
    signature: 'static void on_weak_ref_disposed (gpointer data, GObject *gobj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/tests/threadtests.c:463,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/tests/threadtests.c:465,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/threadtests.c:468,1
    - Dst: g_object_add_toggle_ref
      Src: /src/glib/gobject/tests/threadtests.c:467,1
    - Dst: g_object_remove_toggle_ref
      Src: /src/glib/gobject/tests/threadtests.c:466,1
    - Dst: g_atomic_int_add
      Src: /src/glib/gobject/tests/threadtests.c:469,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 473
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 473
    functionName: on_toggler_thread
    functionSourceFile: /src/glib/gobject/tests/threadtests.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_atomic_int_get
    - g_object_remove_toggle_ref
    - g_atomic_int_add
    - g_object_add_toggle_ref
    - g_object_ref
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer on_toggler_thread (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - TestObject*
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: test_object_real_signal
    functionSourceFile: /src/glib/gobject/tests/basic-signals.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_object_real_signal (TestObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/basic-signals.c:93,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gobject/tests/basic-signals.c:96,1
    - Dst: G_OBJECT_CLASS_TYPE
      Src: /src/glib/gobject/tests/basic-signals.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - class
    argTypes:
    - TestObjectClass*
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: test_object_class_init
    functionSourceFile: /src/glib/gobject/tests/basic-signals.c
    functionUses: []
    functionsReached:
    - G_STRUCT_OFFSET
    - g_signal_new
    - G_OBJECT_CLASS_TYPE
    linkageType: ''
    returnType: void
    signature: 'static void test_object_class_init (TestObjectClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - object
    - data
    argTypes:
    - TestObject*
    - gpointer
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: test_object_signal_callback2
    functionSourceFile: /src/glib/gobject/tests/basic-signals.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_object_signal_callback2 (TestObject *object, gpointer
      data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_handlers_disconnect_by_func
      Src: /src/glib/gobject/tests/basic-signals.c:81,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/basic-signals.c:85,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/basic-signals.c:81,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/basic-signals.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - object
    - data
    argTypes:
    - TestObject*
    - gpointer
    constantsTouched: []
    func_position:
      end: 86
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 86
    functionName: test_object_signal_callback1
    functionSourceFile: /src/glib/gobject/tests/basic-signals.c
    functionUses: []
    functionsReached:
    - g_signal_handlers_disconnect_by_func
    - g_signal_connect
    - G_OBJECT
    - G_CALLBACK
    linkageType: ''
    returnType: void
    signature: 'static void test_object_signal_callback1 (TestObject *object, gpointer
      data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - object
    - data
    argTypes:
    - TestObject*
    - gpointer
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: test_object_signal_callback3
    functionSourceFile: /src/glib/gobject/tests/basic-signals.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_object_signal_callback3 (TestObject *object, gpointer
      data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/basic-signals.c:109,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/basic-signals.c:114,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/basic-signals.c:113,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/basic-signals.c:111,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/basic-signals.c:112,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/basic-signals.c:115,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/basic-signals.c:117,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/basic-signals.c:118,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/basic-signals.c:119,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/basic-signals.c:120,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/basic-signals.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 123
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 123
    functionName: test_basic_signals
    functionSourceFile: /src/glib/gobject/tests/basic-signals.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_object_unref
    - g_object_new
    - G_CALLBACK
    - g_signal_emit_by_name
    - g_assert_false
    - g_signal_connect
    linkageType: ''
    returnType: "DEFINE_TYPE(TestObject, test_object,\n                   test_object_class_init,\
      \ NULL, NULL,\n                   G_TYPE_OBJECT)"
    signature: 'static DEFINE_TYPE(TestObject, test_object, test_object_class_init,
      NULL, NULL, G_TYPE_OBJECT) static void test_basic_signals (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_log_set_always_fatal
      Src: /src/glib/gobject/tests/basic-signals.c:129,1
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/basic-signals.c:133,1
    - Dst: g_log_set_always_fatal
      Src: /src/glib/gobject/tests/basic-signals.c:129,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/basic-signals.c:137,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/basic-signals.c:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 138
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 138
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/basic-signals.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_log_set_always_fatal
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - TestInterfaceInterface*
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: test_interface_default_init
    functionSourceFile: /src/glib/gobject/tests/type-flags.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_interface_default_init (TestInterfaceInterface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - TestFinal*
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: test_final_init
    functionSourceFile: /src/glib/gobject/tests/type-flags.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_final_init (TestFinal *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - klass
    argTypes:
    - TestFinal2Class*
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: test_final2_class_init
    functionSourceFile: /src/glib/gobject/tests/type-flags.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_final2_class_init (TestFinal2Class *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/type-flags.c:101,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/type-flags.c:102,1
    - Dst: G_TYPE_IS_INSTANTIATABLE
      Src: /src/glib/gobject/tests/type-flags.c:103,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/type-flags.c:109,1
    - Dst: g_type_test_flags
      Src: /src/glib/gobject/tests/type-flags.c:102,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/type-flags.c:99,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/type-flags.c:100,1
    - Dst: G_TYPE_IS_CLASSED
      Src: /src/glib/gobject/tests/type-flags.c:101,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/type-flags.c:103,1
    - Dst: g_type_test_flags
      Src: /src/glib/gobject/tests/type-flags.c:105,1
    - Dst: g_test_expect_message
      Src: /src/glib/gobject/tests/type-flags.c:122,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/type-flags.c:104,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gobject/tests/type-flags.c:128,1
    - Dst: g_type_test_flags
      Src: /src/glib/gobject/tests/type-flags.c:100,1
    - Dst: G_TYPE_IS_FINAL
      Src: /src/glib/gobject/tests/type-flags.c:99,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/type-flags.c:105,1
    - Dst: g_test_expect_message
      Src: /src/glib/gobject/tests/type-flags.c:116,1
    - Dst: g_type_test_flags
      Src: /src/glib/gobject/tests/type-flags.c:109,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/type-flags.c:126,1
    - Dst: g_type_test_flags
      Src: /src/glib/gobject/tests/type-flags.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 129
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 129
    functionName: test_type_flags_final
    functionSourceFile: /src/glib/gobject/tests/type-flags.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_assert_true
    - G_TYPE_IS_FINAL
    - g_test_expect_message
    - g_type_test_flags
    - g_assert_false
    - G_TYPE_IS_INSTANTIATABLE
    - G_TYPE_IS_CLASSED
    linkageType: ''
    returnType: void
    signature: 'static void test_type_flags_final (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - klass
    argTypes:
    - TestDeprecatedClass*
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: test_deprecated_class_init
    functionSourceFile: /src/glib/gobject/tests/type-flags.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_deprecated_class_init (TestDeprecatedClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/type-flags.c:161,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/type-flags.c:162,1
    - Dst: g_type_check_instance_is_a
      Src: /src/glib/gobject/tests/type-flags.c:164,1
    - Dst: g_type_check_instance_is_a
      Src: /src/glib/gobject/tests/type-flags.c:162,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/type-flags.c:164,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/type-flags.c:166,1
    - Dst: g_type_check_instance_is_a
      Src: /src/glib/gobject/tests/type-flags.c:166,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/type-flags.c:168,1
    - Dst: g_type_check_instance_is_a
      Src: /src/glib/gobject/tests/type-flags.c:168,1
    - Dst: g_clear_object
      Src: /src/glib/gobject/tests/type-flags.c:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 172
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 172
    functionName: test_type_flags_final_instance_check
    functionSourceFile: /src/glib/gobject/tests/type-flags.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_type_check_instance_is_a
    - g_object_new
    - g_clear_object
    - g_assert_false
    linkageType: ''
    returnType: void
    signature: 'static void test_type_flags_final_instance_check (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - klass
    argTypes:
    - TestFinalClass*
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: test_final_class_init
    functionSourceFile: /src/glib/gobject/tests/type-flags.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_final_class_init (TestFinalClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_TYPE_IS_DEEP_DERIVABLE
      Src: /src/glib/gobject/tests/type-flags.c:28,1
    - Dst: g_type_test_flags
      Src: /src/glib/gobject/tests/type-flags.c:32,1
    - Dst: g_type_test_flags
      Src: /src/glib/gobject/tests/type-flags.c:38,1
    - Dst: G_TYPE_IS_DERIVABLE
      Src: /src/glib/gobject/tests/type-flags.c:31,1
    - Dst: G_TYPE_IS_INSTANTIATABLE
      Src: /src/glib/gobject/tests/type-flags.c:37,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/type-flags.c:22,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/type-flags.c:25,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/type-flags.c:23,1
    - Dst: G_TYPE_IS_ABSTRACT
      Src: /src/glib/gobject/tests/type-flags.c:22,1
    - Dst: G_TYPE_IS_CLASSED
      Src: /src/glib/gobject/tests/type-flags.c:25,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/type-flags.c:26,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/type-flags.c:28,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/type-flags.c:35,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/type-flags.c:29,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/type-flags.c:34,1
    - Dst: g_type_test_flags
      Src: /src/glib/gobject/tests/type-flags.c:23,1
    - Dst: g_type_test_flags
      Src: /src/glib/gobject/tests/type-flags.c:29,1
    - Dst: g_type_test_flags
      Src: /src/glib/gobject/tests/type-flags.c:35,1
    - Dst: g_type_test_flags
      Src: /src/glib/gobject/tests/type-flags.c:26,1
    - Dst: G_TYPE_IS_FINAL
      Src: /src/glib/gobject/tests/type-flags.c:34,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/type-flags.c:32,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/type-flags.c:31,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/type-flags.c:37,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/type-flags.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 39
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 39
    functionName: test_type_flags_interface
    functionSourceFile: /src/glib/gobject/tests/type-flags.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - G_TYPE_IS_DEEP_DERIVABLE
    - G_TYPE_IS_FINAL
    - g_type_test_flags
    - g_assert_false
    - G_TYPE_IS_INSTANTIATABLE
    - G_TYPE_IS_ABSTRACT
    - G_TYPE_IS_DERIVABLE
    - G_TYPE_IS_CLASSED
    linkageType: ''
    returnType: void
    signature: 'static void test_type_flags_interface (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - TestFinal2*
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: test_final2_init
    functionSourceFile: /src/glib/gobject/tests/type-flags.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_final2_init (TestFinal2 *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - TestDeprecated*
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: test_deprecated_init
    functionSourceFile: /src/glib/gobject/tests/type-flags.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_deprecated_init (TestDeprecated *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_TYPE_IS_DEPRECATED
      Src: /src/glib/gobject/tests/type-flags.c:189,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gobject/tests/type-flags.c:210,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/type-flags.c:199,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/type-flags.c:212,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/type-flags.c:220,1
    - Dst: g_type_check_instance_is_a
      Src: /src/glib/gobject/tests/type-flags.c:220,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/type-flags.c:191,1
    - Dst: G_TYPE_IS_FINAL
      Src: /src/glib/gobject/tests/type-flags.c:191,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/type-flags.c:192,1
    - Dst: g_type_test_flags
      Src: /src/glib/gobject/tests/type-flags.c:199,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/type-flags.c:216,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/type-flags.c:222,1
    - Dst: g_type_check_instance_is_a
      Src: /src/glib/gobject/tests/type-flags.c:222,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gobject/tests/type-flags.c:227,1
    - Dst: g_test_expect_message
      Src: /src/glib/gobject/tests/type-flags.c:183,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/type-flags.c:188,1
    - Dst: g_type_test_flags
      Src: /src/glib/gobject/tests/type-flags.c:192,1
    - Dst: g_type_test_flags
      Src: /src/glib/gobject/tests/type-flags.c:194,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/type-flags.c:208,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/type-flags.c:215,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/type-flags.c:207,1
    - Dst: g_type_check_instance_is_a
      Src: /src/glib/gobject/tests/type-flags.c:218,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/type-flags.c:224,1
    - Dst: g_type_check_instance_is_a
      Src: /src/glib/gobject/tests/type-flags.c:224,1
    - Dst: g_test_summary
      Src: /src/glib/gobject/tests/type-flags.c:180,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/type-flags.c:189,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/type-flags.c:194,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/type-flags.c:218,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/type-flags.c:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 41
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 230
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 230
    functionName: test_type_flags_deprecated
    functionSourceFile: /src/glib/gobject/tests/type-flags.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_assert_true
    - g_test_summary
    - g_object_unref
    - g_object_new
    - g_type_check_instance_is_a
    - G_TYPE_IS_DEPRECATED
    - g_assert_nonnull
    - G_TYPE_IS_FINAL
    - g_test_expect_message
    - g_type_test_flags
    - g_assert_false
    linkageType: ''
    returnType: void
    signature: 'static void test_type_flags_deprecated (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/type-flags.c:235,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/type-flags.c:241,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/type-flags.c:239,1
    - Dst: g_setenv
      Src: /src/glib/gobject/tests/type-flags.c:237,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/type-flags.c:240,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/type-flags.c:242,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/type-flags.c:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 245
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 245
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/type-flags.c
    functionUses: []
    functionsReached:
    - g_setenv
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gobject/tests/basics-gobject.c:356,1
    - Dst: g_type_add_interface_static
      Src: /src/glib/gobject/tests/basics-gobject.c:359,1
    - Dst: g_type_add_instance_private
      Src: /src/glib/gobject/tests/basics-gobject.c:361,1
    - Dst: g_type_register_static
      Src: /src/glib/gobject/tests/basics-gobject.c:358,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 365
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 365
    functionName: derived_object_get_type
    functionSourceFile: /src/glib/gobject/tests/basics-gobject.c
    functionUses: []
    functionsReached:
    - g_type_register_static
    - g_type_add_interface_static
    - GUINT_TO_POINTER
    - g_type_add_instance_private
    linkageType: ''
    returnType: GType
    signature: 'static GType derived_object_get_type (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_type_class_adjust_private_offset
      Src: /src/glib/gobject/tests/basics-gobject.c:369,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - class
    argTypes:
    - DerivedObjectClass*
    constantsTouched: []
    func_position:
      end: 370
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 370
    functionName: derived_object_class_init
    functionSourceFile: /src/glib/gobject/tests/basics-gobject.c
    functionUses: []
    functionsReached:
    - g_type_class_adjust_private_offset
    linkageType: ''
    returnType: void
    signature: 'static void derived_object_class_init (DerivedObjectClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/basics-gobject.c:439,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/basics-gobject.c:443,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/basics-gobject.c:441,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 444
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 444
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/basics-gobject.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/tests/basics-gobject.c:116,1
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/tests/basics-gobject.c:117,1
    - Dst: TEST_IS_IFACE
      Src: /src/glib/gobject/tests/basics-gobject.c:116,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/tests/basics-gobject.c:117,1
    - Dst: TEST_IFACE_GET_CLASS
      Src: /src/glib/gobject/tests/basics-gobject.c:119,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/tests/basics-gobject.c:120,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/basics-gobject.c:122,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - tiobj
    - string
    argTypes:
    - TestIface*
    - gchar*
    constantsTouched: []
    func_position:
      end: 123
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 123
    functionName: iface_print_string
    functionSourceFile: /src/glib/gobject/tests/basics-gobject.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_return_if_fail
    - G_IS_OBJECT
    - TEST_IFACE_GET_CLASS
    - g_object_ref
    - TEST_IS_IFACE
    linkageType: ''
    returnType: void
    signature: 'static void iface_print_string (TestIface *tiobj, const gchar *string) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gobject/tests/basics-gobject.c:190,1
    - Dst: g_type_register_static
      Src: /src/glib/gobject/tests/basics-gobject.c:192,1
    - Dst: g_type_add_instance_private
      Src: /src/glib/gobject/tests/basics-gobject.c:196,1
    - Dst: g_type_add_interface_static
      Src: /src/glib/gobject/tests/basics-gobject.c:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 200
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 200
    functionName: test_object_get_type
    functionSourceFile: /src/glib/gobject/tests/basics-gobject.c
    functionUses: []
    functionsReached:
    - g_type_register_static
    - g_type_add_interface_static
    - GUINT_TO_POINTER
    - g_type_add_instance_private
    linkageType: ''
    returnType: GType
    signature: 'static GType test_object_get_type (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_STRUCT_MEMBER_P
      Src: /src/glib/gobject/tests/basics-gobject.c:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - TestObject*
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: test_object_get_instance_private
    functionSourceFile: /src/glib/gobject/tests/basics-gobject.c
    functionUses: []
    functionsReached:
    - G_STRUCT_MEMBER_P
    linkageType: ''
    returnType: gpointer
    signature: 'static inline gpointer test_object_get_instance_private (TestObject
      *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_type_class_adjust_private_offset
      Src: /src/glib/gobject/tests/basics-gobject.c:205,1
    - Dst: G_OBJECT_CLASS_TYPE
      Src: /src/glib/gobject/tests/basics-gobject.c:210,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/basics-gobject.c:209,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gobject/tests/basics-gobject.c:212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - class
    argTypes:
    - TestObjectClass*
    constantsTouched: []
    func_position:
      end: 216
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 216
    functionName: test_object_class_init
    functionSourceFile: /src/glib/gobject/tests/basics-gobject.c
    functionUses: []
    functionsReached:
    - G_STRUCT_OFFSET
    - g_type_class_adjust_private_offset
    - g_signal_new
    - G_OBJECT_CLASS_TYPE
    linkageType: ''
    returnType: void
    signature: 'static void test_object_class_init (TestObjectClass *class) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_type_register_static
      Src: /src/glib/gobject/tests/basics-gobject.c:62,1
    - Dst: g_type_interface_add_prerequisite
      Src: /src/glib/gobject/tests/basics-gobject.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 67
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 67
    functionName: test_iface_get_type
    functionSourceFile: /src/glib/gobject/tests/basics-gobject.c
    functionUses: []
    functionsReached:
    - g_type_register_static
    - g_type_interface_add_prerequisite
    linkageType: ''
    returnType: GType
    signature: 'static GType test_iface_get_type (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_message
      Src: /src/glib/gobject/tests/basics-gobject.c:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - tiobj
    - string
    argTypes:
    - TestIface*
    - gchar*
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: print_foo
    functionSourceFile: /src/glib/gobject/tests/basics-gobject.c
    functionUses: []
    functionsReached:
    - g_test_message
    linkageType: ''
    returnType: void
    signature: 'static void print_foo (TestIface *tiobj, const gchar *string) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - iface
    argTypes:
    - TestIfaceClass*
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: iface_base_init
    functionSourceFile: /src/glib/gobject/tests/basics-gobject.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void iface_base_init (TestIfaceClass *iface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gobject/tests/basics-gobject.c:277,1
    - Dst: g_test_message
      Src: /src/glib/gobject/tests/basics-gobject.c:281,1
    - Dst: TEST_IS_IFACE
      Src: /src/glib/gobject/tests/basics-gobject.c:277,1
    - Dst: g_type_interface_peek_parent
      Src: /src/glib/gobject/tests/basics-gobject.c:284,1
    - Dst: g_test_message
      Src: /src/glib/gobject/tests/basics-gobject.c:283,1
    - Dst: TEST_IFACE_GET_CLASS
      Src: /src/glib/gobject/tests/basics-gobject.c:284,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/basics-gobject.c:287,1
    - Dst: g_type_interface_peek_parent
      Src: /src/glib/gobject/tests/basics-gobject.c:287,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - tiobj
    - string
    argTypes:
    - TestIface*
    - gchar*
    constantsTouched: []
    func_position:
      end: 288
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 288
    functionName: print_bar
    functionSourceFile: /src/glib/gobject/tests/basics-gobject.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - g_test_message
    - g_assert_null
    - TEST_IFACE_GET_CLASS
    - g_type_interface_peek_parent
    - TEST_IS_IFACE
    linkageType: ''
    returnType: void
    signature: 'static void print_bar (TestIface *tiobj, const gchar *string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: derived_object_get_instance_private
      Src: /src/glib/gobject/tests/basics-gobject.c:377,1
    - Dst: TEST_OBJECT
      Src: /src/glib/gobject/tests/basics-gobject.c:380,1
    - Dst: test_object_get_instance_private
      Src: /src/glib/gobject/tests/basics-gobject.c:380,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/basics-gobject.c:381,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/basics-gobject.c:378,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - dobject
    argTypes:
    - DerivedObject*
    constantsTouched: []
    func_position:
      end: 382
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 382
    functionName: derived_object_init
    functionSourceFile: /src/glib/gobject/tests/basics-gobject.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - test_object_get_instance_private
    - derived_object_get_instance_private
    - TEST_OBJECT
    linkageType: ''
    returnType: void
    signature: 'static void derived_object_init (DerivedObject *dobject) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - iface
    argTypes:
    - TestIfaceClass*
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: iface_base_finalize
    functionSourceFile: /src/glib/gobject/tests/basics-gobject.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void iface_base_finalize (TestIfaceClass *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/tests/basics-gobject.c:101,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gobject/tests/basics-gobject.c:101,1
    - Dst: G_TYPE_FROM_INTERFACE
      Src: /src/glib/gobject/tests/basics-gobject.c:102,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/basics-gobject.c:102,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/basics-gobject.c:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - giface
    - iface_data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 109
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 109
    functionName: test_object_test_iface_init
    functionSourceFile: /src/glib/gobject/tests/basics-gobject.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_assert_cmpuint
    - GUINT_TO_POINTER
    - G_TYPE_FROM_INTERFACE
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_object_test_iface_init (gpointer giface, gpointer
      iface_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/tests/basics-gobject.c:296,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gobject/tests/basics-gobject.c:296,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/basics-gobject.c:297,1
    - Dst: G_TYPE_FROM_INTERFACE
      Src: /src/glib/gobject/tests/basics-gobject.c:297,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/basics-gobject.c:300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - giface
    - iface_data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 304
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 304
    functionName: derived_object_test_iface_init
    functionSourceFile: /src/glib/gobject/tests/basics-gobject.c
    functionUses: []
    functionsReached:
    - g_assert
    - G_TYPE_FROM_INTERFACE
    - GUINT_TO_POINTER
    linkageType: ''
    returnType: void
    signature: 'static void derived_object_test_iface_init (gpointer giface, gpointer
      iface_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_STRUCT_MEMBER_P
      Src: /src/glib/gobject/tests/basics-gobject.c:334,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - DerivedObject*
    constantsTouched: []
    func_position:
      end: 335
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 335
    functionName: derived_object_get_instance_private
    functionSourceFile: /src/glib/gobject/tests/basics-gobject.c
    functionUses: []
    functionsReached:
    - G_STRUCT_MEMBER_P
    linkageType: ''
    returnType: gpointer
    signature: 'static inline gpointer derived_object_get_instance_private (DerivedObject
      *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_TYPE_MAKE_FUNDAMENTAL
      Src: /src/glib/gobject/tests/basics-gobject.c:400,1
    - Dst: g_type_register_fundamental
      Src: /src/glib/gobject/tests/basics-gobject.c:401,1
    - Dst: G_TYPE_MAKE_FUNDAMENTAL
      Src: /src/glib/gobject/tests/basics-gobject.c:402,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/basics-gobject.c:403,1
    - Dst: g_type_fundamental_next
      Src: /src/glib/gobject/tests/basics-gobject.c:404,1
    - Dst: G_TYPE_MAKE_FUNDAMENTAL
      Src: /src/glib/gobject/tests/basics-gobject.c:406,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/basics-gobject.c:408,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/basics-gobject.c:416,1
    - Dst: g_test_message
      Src: /src/glib/gobject/tests/basics-gobject.c:418,1
    - Dst: g_test_message
      Src: /src/glib/gobject/tests/basics-gobject.c:424,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/basics-gobject.c:433,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/basics-gobject.c:419,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/basics-gobject.c:432,1
    - Dst: g_type_fundamental_next
      Src: /src/glib/gobject/tests/basics-gobject.c:403,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/basics-gobject.c:405,1
    - Dst: G_TYPE_MAKE_FUNDAMENTAL
      Src: /src/glib/gobject/tests/basics-gobject.c:408,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/basics-gobject.c:421,1
    - Dst: iface_print_string
      Src: /src/glib/gobject/tests/basics-gobject.c:425,1
    - Dst: iface_print_string
      Src: /src/glib/gobject/tests/basics-gobject.c:426,1
    - Dst: test_object_get_instance_private
      Src: /src/glib/gobject/tests/basics-gobject.c:428,1
    - Dst: g_test_message
      Src: /src/glib/gobject/tests/basics-gobject.c:429,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/basics-gobject.c:430,1
    - Dst: TEST_IFACE
      Src: /src/glib/gobject/tests/basics-gobject.c:426,1
    - Dst: g_log_set_always_fatal
      Src: /src/glib/gobject/tests/basics-gobject.c:395,1
    - Dst: g_type_fundamental_next
      Src: /src/glib/gobject/tests/basics-gobject.c:401,1
    - Dst: g_type_register_fundamental
      Src: /src/glib/gobject/tests/basics-gobject.c:404,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/basics-gobject.c:406,1
    - Dst: G_TYPE_MAKE_FUNDAMENTAL
      Src: /src/glib/gobject/tests/basics-gobject.c:403,1
    - Dst: G_TYPE_MAKE_FUNDAMENTAL
      Src: /src/glib/gobject/tests/basics-gobject.c:405,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/basics-gobject.c:407,1
    - Dst: g_type_from_name
      Src: /src/glib/gobject/tests/basics-gobject.c:407,1
    - Dst: g_type_from_name
      Src: /src/glib/gobject/tests/basics-gobject.c:408,1
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/tests/basics-gobject.c:411,1
    - Dst: test_object_check_private_init
      Src: /src/glib/gobject/tests/basics-gobject.c:414,1
    - Dst: g_log_set_always_fatal
      Src: /src/glib/gobject/tests/basics-gobject.c:395,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/basics-gobject.c:400,1
    - Dst: g_type_fundamental_next
      Src: /src/glib/gobject/tests/basics-gobject.c:400,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/basics-gobject.c:402,1
    - Dst: g_type_fundamental_next
      Src: /src/glib/gobject/tests/basics-gobject.c:406,1
    - Dst: G_TYPE_MAKE_FUNDAMENTAL
      Src: /src/glib/gobject/tests/basics-gobject.c:407,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/basics-gobject.c:413,1
    - Dst: TEST_OBJECT
      Src: /src/glib/gobject/tests/basics-gobject.c:414,1
    - Dst: g_test_message
      Src: /src/glib/gobject/tests/basics-gobject.c:420,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/basics-gobject.c:422,1
    - Dst: TEST_OBJECT
      Src: /src/glib/gobject/tests/basics-gobject.c:428,1
    - Dst: TEST_IFACE
      Src: /src/glib/gobject/tests/basics-gobject.c:425,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 65
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 434
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 434
    functionName: test_gobject_basics
    functionSourceFile: /src/glib/gobject/tests/basics-gobject.c
    functionUses: []
    functionsReached:
    - test_object_check_private_init
    - test_object_get_instance_private
    - g_signal_emit_by_name
    - g_type_register_fundamental
    - g_object_unref
    - g_log_set_always_fatal
    - g_assert_cmpint
    - g_type_fundamental_next
    - g_object_new
    - g_test_message
    - TEST_OBJECT
    - g_type_class_ref
    - G_TYPE_MAKE_FUNDAMENTAL
    - g_assert
    - g_assert_cmpstr
    - iface_print_string
    - g_free
    - g_type_from_name
    - TEST_IFACE
    linkageType: ''
    returnType: void
    signature: 'static void test_gobject_basics (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_object_get_instance_private
      Src: /src/glib/gobject/tests/basics-gobject.c:231,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/basics-gobject.c:234,1
    - Dst: g_test_message
      Src: /src/glib/gobject/tests/basics-gobject.c:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - tobject
    argTypes:
    - TestObject*
    constantsTouched: []
    func_position:
      end: 235
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 235
    functionName: test_object_check_private_init
    functionSourceFile: /src/glib/gobject/tests/basics-gobject.c
    functionUses: []
    functionsReached:
    - g_test_message
    - test_object_get_instance_private
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_object_check_private_init (TestObject *tobject) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/basics-gobject.c:242,1
    - Dst: g_strconcat
      Src: /src/glib/gobject/tests/basics-gobject.c:247,1
    - Dst: g_strdup
      Src: /src/glib/gobject/tests/basics-gobject.c:249,1
    - Dst: g_value_take_string
      Src: /src/glib/gobject/tests/basics-gobject.c:253,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/basics-gobject.c:243,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 4
    argNames:
    - ihint
    - return_accu
    - handler_return
    - data
    argTypes:
    - GSignalInvocationHint*
    - GValue*
    - GValue*
    - gpointer
    constantsTouched: []
    func_position:
      end: 256
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 256
    functionName: test_signal_accumulator
    functionSourceFile: /src/glib/gobject/tests/basics-gobject.c
    functionUses: []
    functionsReached:
    - g_value_take_string
    - g_value_get_string
    - g_strdup
    - g_strconcat
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean test_signal_accumulator (GSignalInvocationHint *ihint,
      GValue *return_accu, const GValue *handler_return, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_message
      Src: /src/glib/gobject/tests/basics-gobject.c:262,1
    - Dst: TEST_IS_IFACE
      Src: /src/glib/gobject/tests/basics-gobject.c:264,1
    - Dst: g_strdup
      Src: /src/glib/gobject/tests/basics-gobject.c:266,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/tests/basics-gobject.c:264,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 267
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 267
    functionName: test_object_test_signal
    functionSourceFile: /src/glib/gobject/tests/basics-gobject.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_return_val_if_fail
    - g_strdup
    - TEST_IS_IFACE
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *test_object_test_signal (TestObject *tobject, TestIface
      *iface_object, gpointer tdata) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_object_get_instance_private
      Src: /src/glib/gobject/tests/basics-gobject.c:220,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/basics-gobject.c:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - tobject
    argTypes:
    - TestObject*
    constantsTouched: []
    func_position:
      end: 224
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 224
    functionName: test_object_init
    functionSourceFile: /src/glib/gobject/tests/basics-gobject.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - test_object_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void test_object_init (TestObject *tobject) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/boxed.c:112,1
    - Dst: G_VALUE_HOLDS_BOXED
      Src: /src/glib/gobject/tests/boxed.c:113,1
    - Dst: g_cclosure_new
      Src: /src/glib/gobject/tests/boxed.c:115,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:113,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/boxed.c:115,1
    - Dst: g_value_take_boxed
      Src: /src/glib/gobject/tests/boxed.c:116,1
    - Dst: g_value_get_boxed
      Src: /src/glib/gobject/tests/boxed.c:118,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:119,1
    - Dst: g_value_dup_boxed
      Src: /src/glib/gobject/tests/boxed.c:121,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:122,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/boxed.c:126,1
    - Dst: g_closure_unref
      Src: /src/glib/gobject/tests/boxed.c:123,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/boxed.c:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 127
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 127
    functionName: test_boxed_closure
    functionSourceFile: /src/glib/gobject/tests/boxed.c
    functionUses: []
    functionsReached:
    - g_closure_unref
    - g_cclosure_new
    - g_assert_cmpint
    - g_assert
    - g_value_dup_boxed
    - G_VALUE_HOLDS_BOXED
    - G_CALLBACK
    - g_value_init
    - g_value_get_boxed
    - g_value_take_boxed
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void test_boxed_closure (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/boxed.c:160,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/boxed.c:163,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:161,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/boxed.c:164,1
    - Dst: G_VALUE_HOLDS_BOXED
      Src: /src/glib/gobject/tests/boxed.c:161,1
    - Dst: g_value_set_static_boxed
      Src: /src/glib/gobject/tests/boxed.c:166,1
    - Dst: g_value_get_boxed
      Src: /src/glib/gobject/tests/boxed.c:168,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:169,1
    - Dst: g_value_dup_boxed
      Src: /src/glib/gobject/tests/boxed.c:171,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:172,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:173,1
    - Dst: G_VALUE_HOLDS_INT
      Src: /src/glib/gobject/tests/boxed.c:173,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/boxed.c:177,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/boxed.c:174,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/boxed.c:174,1
    - Dst: g_boxed_free
      Src: /src/glib/gobject/tests/boxed.c:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 178
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 178
    functionName: test_boxed_value
    functionSourceFile: /src/glib/gobject/tests/boxed.c
    functionUses: []
    functionsReached:
    - g_value_set_static_boxed
    - g_assert
    - g_value_dup_boxed
    - G_VALUE_HOLDS_BOXED
    - g_value_set_int
    - g_value_init
    - G_VALUE_HOLDS_INT
    - g_value_get_boxed
    - g_boxed_free
    - g_value_unset
    - g_value_get_int
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_boxed_value (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/boxed.c:304,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:305,1
    - Dst: g_regex_new
      Src: /src/glib/gobject/tests/boxed.c:307,1
    - Dst: G_VALUE_HOLDS_BOXED
      Src: /src/glib/gobject/tests/boxed.c:305,1
    - Dst: g_regex_match
      Src: /src/glib/gobject/tests/boxed.c:308,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:309,1
    - Dst: g_value_take_boxed
      Src: /src/glib/gobject/tests/boxed.c:310,1
    - Dst: g_value_get_boxed
      Src: /src/glib/gobject/tests/boxed.c:312,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:313,1
    - Dst: g_value_dup_boxed
      Src: /src/glib/gobject/tests/boxed.c:315,1
    - Dst: g_match_info_unref
      Src: /src/glib/gobject/tests/boxed.c:317,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/boxed.c:319,1
    - Dst: g_regex_unref
      Src: /src/glib/gobject/tests/boxed.c:320,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:316,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 321
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 321
    functionName: test_boxed_matchinfo
    functionSourceFile: /src/glib/gobject/tests/boxed.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_regex_new
    - g_value_dup_boxed
    - G_VALUE_HOLDS_BOXED
    - g_regex_match
    - g_value_init
    - g_value_get_boxed
    - g_regex_unref
    - g_value_take_boxed
    - g_match_info_unref
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void test_boxed_matchinfo (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/boxed.c:536,1
    - Dst: G_VALUE_HOLDS_BOXED
      Src: /src/glib/gobject/tests/boxed.c:537,1
    - Dst: g_value_take_boxed
      Src: /src/glib/gobject/tests/boxed.c:540,1
    - Dst: g_new
      Src: /src/glib/gobject/tests/boxed.c:539,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:537,1
    - Dst: g_value_get_boxed
      Src: /src/glib/gobject/tests/boxed.c:542,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:543,1
    - Dst: g_value_dup_boxed
      Src: /src/glib/gobject/tests/boxed.c:545,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:546,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/boxed.c:547,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/boxed.c:549,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 550
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 550
    functionName: test_boxed_pollfd
    functionSourceFile: /src/glib/gobject/tests/boxed.c
    functionUses: []
    functionsReached:
    - g_new
    - g_assert
    - g_value_dup_boxed
    - G_VALUE_HOLDS_BOXED
    - g_value_init
    - g_value_get_boxed
    - g_value_take_boxed
    - g_free
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void test_boxed_pollfd (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/boxed.c:581,1
    - Dst: g_value_set_boxed
      Src: /src/glib/gobject/tests/boxed.c:585,1
    - Dst: g_thread_self
      Src: /src/glib/gobject/tests/boxed.c:584,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:582,1
    - Dst: G_VALUE_HOLDS_BOXED
      Src: /src/glib/gobject/tests/boxed.c:582,1
    - Dst: g_value_get_boxed
      Src: /src/glib/gobject/tests/boxed.c:587,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:588,1
    - Dst: g_value_dup_boxed
      Src: /src/glib/gobject/tests/boxed.c:590,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:591,1
    - Dst: g_thread_unref
      Src: /src/glib/gobject/tests/boxed.c:592,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/boxed.c:594,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 595
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 595
    functionName: test_boxed_thread
    functionSourceFile: /src/glib/gobject/tests/boxed.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_value_dup_boxed
    - G_VALUE_HOLDS_BOXED
    - g_thread_unref
    - g_value_init
    - g_value_set_boxed
    - g_value_get_boxed
    - g_thread_self
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void test_boxed_thread (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gobject/tests/boxed.c:34,1
    - Dst: g_slice_free
      Src: /src/glib/gobject/tests/boxed.c:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - orig
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 38
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 38
    functionName: my_boxed_free
    functionSourceFile: /src/glib/gobject/tests/boxed.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void my_boxed_free (gpointer orig) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/boxed.c:136,1
    - Dst: g_date_new_dmy
      Src: /src/glib/gobject/tests/boxed.c:139,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:137,1
    - Dst: g_value_take_boxed
      Src: /src/glib/gobject/tests/boxed.c:140,1
    - Dst: G_VALUE_HOLDS_BOXED
      Src: /src/glib/gobject/tests/boxed.c:137,1
    - Dst: g_value_get_boxed
      Src: /src/glib/gobject/tests/boxed.c:142,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:143,1
    - Dst: g_value_dup_boxed
      Src: /src/glib/gobject/tests/boxed.c:145,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:146,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:147,1
    - Dst: g_date_compare
      Src: /src/glib/gobject/tests/boxed.c:147,1
    - Dst: g_date_free
      Src: /src/glib/gobject/tests/boxed.c:148,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/boxed.c:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 151
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 151
    functionName: test_boxed_date
    functionSourceFile: /src/glib/gobject/tests/boxed.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_value_dup_boxed
    - G_VALUE_HOLDS_BOXED
    - g_value_init
    - g_value_get_boxed
    - g_date_new_dmy
    - g_date_compare
    - g_value_take_boxed
    - g_date_free
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void test_boxed_date (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/boxed.c:187,1
    - Dst: g_string_new
      Src: /src/glib/gobject/tests/boxed.c:190,1
    - Dst: G_VALUE_HOLDS_BOXED
      Src: /src/glib/gobject/tests/boxed.c:188,1
    - Dst: g_value_take_boxed
      Src: /src/glib/gobject/tests/boxed.c:191,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:188,1
    - Dst: g_value_get_boxed
      Src: /src/glib/gobject/tests/boxed.c:193,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:194,1
    - Dst: g_value_dup_boxed
      Src: /src/glib/gobject/tests/boxed.c:196,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:197,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:198,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/boxed.c:201,1
    - Dst: g_string_free
      Src: /src/glib/gobject/tests/boxed.c:199,1
    - Dst: g_string_equal
      Src: /src/glib/gobject/tests/boxed.c:198,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 202
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 202
    functionName: test_boxed_string
    functionSourceFile: /src/glib/gobject/tests/boxed.c
    functionUses: []
    functionsReached:
    - g_string_equal
    - g_assert
    - g_value_dup_boxed
    - G_VALUE_HOLDS_BOXED
    - g_value_init
    - g_value_get_boxed
    - g_string_free
    - g_string_new
    - g_value_take_boxed
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void test_boxed_string (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/boxed.c:330,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:331,1
    - Dst: G_VALUE_HOLDS_BOXED
      Src: /src/glib/gobject/tests/boxed.c:331,1
    - Dst: g_value_take_boxed
      Src: /src/glib/gobject/tests/boxed.c:334,1
    - Dst: g_variant_type_new
      Src: /src/glib/gobject/tests/boxed.c:333,1
    - Dst: g_value_get_boxed
      Src: /src/glib/gobject/tests/boxed.c:336,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:337,1
    - Dst: g_value_dup_boxed
      Src: /src/glib/gobject/tests/boxed.c:339,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:340,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/boxed.c:341,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/boxed.c:344,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/gobject/tests/boxed.c:341,1
    - Dst: g_variant_type_free
      Src: /src/glib/gobject/tests/boxed.c:342,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/gobject/tests/boxed.c:341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 345
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 345
    functionName: test_boxed_varianttype
    functionSourceFile: /src/glib/gobject/tests/boxed.c
    functionUses: []
    functionsReached:
    - g_variant_type_free
    - g_assert
    - g_value_dup_boxed
    - G_VALUE_HOLDS_BOXED
    - g_variant_type_peek_string
    - g_assert_cmpstr
    - g_value_init
    - g_value_get_boxed
    - g_variant_type_new
    - g_value_take_boxed
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void test_boxed_varianttype (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/boxed.c:559,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:560,1
    - Dst: G_VALUE_HOLDS_BOXED
      Src: /src/glib/gobject/tests/boxed.c:560,1
    - Dst: g_markup_parse_context_new
      Src: /src/glib/gobject/tests/boxed.c:562,1
    - Dst: g_value_take_boxed
      Src: /src/glib/gobject/tests/boxed.c:563,1
    - Dst: g_value_get_boxed
      Src: /src/glib/gobject/tests/boxed.c:565,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:566,1
    - Dst: g_value_dup_boxed
      Src: /src/glib/gobject/tests/boxed.c:568,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:569,1
    - Dst: g_markup_parse_context_unref
      Src: /src/glib/gobject/tests/boxed.c:570,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/boxed.c:572,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 573
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 573
    functionName: test_boxed_markup
    functionSourceFile: /src/glib/gobject/tests/boxed.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_value_dup_boxed
    - G_VALUE_HOLDS_BOXED
    - g_markup_parse_context_unref
    - g_value_init
    - g_value_get_boxed
    - g_markup_parse_context_new
    - g_value_take_boxed
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void test_boxed_markup (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/boxed.c:603,1
    - Dst: G_VALUE_HOLDS_BOXED
      Src: /src/glib/gobject/tests/boxed.c:604,1
    - Dst: g_value_take_boxed
      Src: /src/glib/gobject/tests/boxed.c:607,1
    - Dst: g_checksum_new
      Src: /src/glib/gobject/tests/boxed.c:606,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:604,1
    - Dst: g_value_get_boxed
      Src: /src/glib/gobject/tests/boxed.c:609,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:610,1
    - Dst: g_value_dup_boxed
      Src: /src/glib/gobject/tests/boxed.c:612,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:613,1
    - Dst: g_checksum_free
      Src: /src/glib/gobject/tests/boxed.c:614,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/boxed.c:616,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 617
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 617
    functionName: test_boxed_checksum
    functionSourceFile: /src/glib/gobject/tests/boxed.c
    functionUses: []
    functionsReached:
    - g_checksum_free
    - g_assert
    - g_value_dup_boxed
    - G_VALUE_HOLDS_BOXED
    - g_checksum_new
    - g_value_init
    - g_value_get_boxed
    - g_value_take_boxed
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void test_boxed_checksum (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/boxed.c:404,1
    - Dst: g_value_take_boxed
      Src: /src/glib/gobject/tests/boxed.c:408,1
    - Dst: G_VALUE_HOLDS_BOXED
      Src: /src/glib/gobject/tests/boxed.c:405,1
    - Dst: g_key_file_new
      Src: /src/glib/gobject/tests/boxed.c:407,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:405,1
    - Dst: g_value_get_boxed
      Src: /src/glib/gobject/tests/boxed.c:410,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:411,1
    - Dst: g_value_dup_boxed
      Src: /src/glib/gobject/tests/boxed.c:413,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:414,1
    - Dst: g_key_file_unref
      Src: /src/glib/gobject/tests/boxed.c:415,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/boxed.c:417,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 418
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 418
    functionName: test_boxed_keyfile
    functionSourceFile: /src/glib/gobject/tests/boxed.c
    functionUses: []
    functionsReached:
    - g_key_file_new
    - g_assert
    - g_value_dup_boxed
    - G_VALUE_HOLDS_BOXED
    - g_value_init
    - g_value_get_boxed
    - g_key_file_unref
    - g_value_take_boxed
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void test_boxed_keyfile (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/boxed.c:448,1
    - Dst: g_value_take_boxed
      Src: /src/glib/gobject/tests/boxed.c:452,1
    - Dst: g_main_context_new
      Src: /src/glib/gobject/tests/boxed.c:451,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:449,1
    - Dst: G_VALUE_HOLDS_BOXED
      Src: /src/glib/gobject/tests/boxed.c:449,1
    - Dst: g_value_get_boxed
      Src: /src/glib/gobject/tests/boxed.c:454,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:455,1
    - Dst: g_value_dup_boxed
      Src: /src/glib/gobject/tests/boxed.c:457,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:458,1
    - Dst: g_main_context_unref
      Src: /src/glib/gobject/tests/boxed.c:459,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/boxed.c:461,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 462
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 462
    functionName: test_boxed_maincontext
    functionSourceFile: /src/glib/gobject/tests/boxed.c
    functionUses: []
    functionsReached:
    - g_main_context_unref
    - g_assert
    - g_value_dup_boxed
    - G_VALUE_HOLDS_BOXED
    - g_main_context_new
    - g_value_init
    - g_value_get_boxed
    - g_value_take_boxed
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void test_boxed_maincontext (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/gobject/tests/boxed.c:20,1
    - Dst: g_strdup
      Src: /src/glib/gobject/tests/boxed.c:22,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - orig
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 25
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 25
    functionName: my_boxed_copy
    functionSourceFile: /src/glib/gobject/tests/boxed.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_slice_new
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer my_boxed_copy (gpointer orig) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - user_data
    - closure
    argTypes:
    - gpointer
    - GClosure*
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: my_closure_notify
    functionSourceFile: /src/glib/gobject/tests/boxed.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void my_closure_notify (gpointer user_data, GClosure *closure) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/boxed.c:426,1
    - Dst: g_value_take_boxed
      Src: /src/glib/gobject/tests/boxed.c:430,1
    - Dst: g_main_loop_new
      Src: /src/glib/gobject/tests/boxed.c:429,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:427,1
    - Dst: G_VALUE_HOLDS_BOXED
      Src: /src/glib/gobject/tests/boxed.c:427,1
    - Dst: g_value_get_boxed
      Src: /src/glib/gobject/tests/boxed.c:432,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:433,1
    - Dst: g_value_dup_boxed
      Src: /src/glib/gobject/tests/boxed.c:435,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:436,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gobject/tests/boxed.c:437,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/boxed.c:439,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 440
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 440
    functionName: test_boxed_mainloop
    functionSourceFile: /src/glib/gobject/tests/boxed.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_value_dup_boxed
    - G_VALUE_HOLDS_BOXED
    - g_main_loop_unref
    - g_value_init
    - g_main_loop_new
    - g_value_get_boxed
    - g_value_take_boxed
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void test_boxed_mainloop (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/boxed.c:470,1
    - Dst: g_idle_source_new
      Src: /src/glib/gobject/tests/boxed.c:473,1
    - Dst: g_value_take_boxed
      Src: /src/glib/gobject/tests/boxed.c:474,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:471,1
    - Dst: G_VALUE_HOLDS_BOXED
      Src: /src/glib/gobject/tests/boxed.c:471,1
    - Dst: g_value_get_boxed
      Src: /src/glib/gobject/tests/boxed.c:476,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:477,1
    - Dst: g_value_dup_boxed
      Src: /src/glib/gobject/tests/boxed.c:479,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:480,1
    - Dst: g_source_unref
      Src: /src/glib/gobject/tests/boxed.c:481,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/boxed.c:483,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 484
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 484
    functionName: test_boxed_source
    functionSourceFile: /src/glib/gobject/tests/boxed.c
    functionUses: []
    functionsReached:
    - g_idle_source_new
    - g_assert
    - g_value_dup_boxed
    - G_VALUE_HOLDS_BOXED
    - g_value_init
    - g_value_get_boxed
    - g_source_unref
    - g_value_take_boxed
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void test_boxed_source (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/boxed.c:70,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/boxed.c:77,1
    - Dst: g_value_set_boxed_take_ownership
      Src: /src/glib/gobject/tests/boxed.c:79,1
    - Dst: g_value_reset
      Src: /src/glib/gobject/tests/boxed.c:75,1
    - Dst: g_value_set_static_boxed
      Src: /src/glib/gobject/tests/boxed.c:74,1
    - Dst: g_boxed_copy
      Src: /src/glib/gobject/tests/boxed.c:79,1
    - Dst: g_value_reset
      Src: /src/glib/gobject/tests/boxed.c:80,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/boxed.c:81,1
    - Dst: g_value_take_boxed
      Src: /src/glib/gobject/tests/boxed.c:83,1
    - Dst: g_boxed_copy
      Src: /src/glib/gobject/tests/boxed.c:83,1
    - Dst: g_value_reset
      Src: /src/glib/gobject/tests/boxed.c:84,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/boxed.c:85,1
    - Dst: g_value_reset
      Src: /src/glib/gobject/tests/boxed.c:88,1
    - Dst: g_value_set_boxed
      Src: /src/glib/gobject/tests/boxed.c:87,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/boxed.c:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 90
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 90
    functionName: test_boxed_ownership
    functionSourceFile: /src/glib/gobject/tests/boxed.c
    functionUses: []
    functionsReached:
    - g_value_set_static_boxed
    - g_value_reset
    - g_value_init
    - g_value_set_boxed
    - g_value_set_boxed_take_ownership
    - g_boxed_copy
    - g_value_take_boxed
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_boxed_ownership (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/boxed.c:211,1
    - Dst: g_hash_table_new
      Src: /src/glib/gobject/tests/boxed.c:214,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:212,1
    - Dst: g_value_take_boxed
      Src: /src/glib/gobject/tests/boxed.c:215,1
    - Dst: G_VALUE_HOLDS_BOXED
      Src: /src/glib/gobject/tests/boxed.c:212,1
    - Dst: g_value_get_boxed
      Src: /src/glib/gobject/tests/boxed.c:217,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:218,1
    - Dst: g_value_dup_boxed
      Src: /src/glib/gobject/tests/boxed.c:220,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:221,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gobject/tests/boxed.c:222,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/boxed.c:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 225
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 225
    functionName: test_boxed_hashtable
    functionSourceFile: /src/glib/gobject/tests/boxed.c
    functionUses: []
    functionsReached:
    - g_hash_table_unref
    - g_assert
    - g_value_dup_boxed
    - G_VALUE_HOLDS_BOXED
    - g_value_init
    - g_value_get_boxed
    - g_hash_table_new
    - g_value_take_boxed
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void test_boxed_hashtable (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/boxed.c:257,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gobject/tests/boxed.c:260,1
    - Dst: G_VALUE_HOLDS_BOXED
      Src: /src/glib/gobject/tests/boxed.c:258,1
    - Dst: g_value_take_boxed
      Src: /src/glib/gobject/tests/boxed.c:261,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:258,1
    - Dst: g_value_get_boxed
      Src: /src/glib/gobject/tests/boxed.c:263,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:264,1
    - Dst: g_value_dup_boxed
      Src: /src/glib/gobject/tests/boxed.c:266,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:267,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gobject/tests/boxed.c:268,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/boxed.c:270,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 271
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 271
    functionName: test_boxed_ptrarray
    functionSourceFile: /src/glib/gobject/tests/boxed.c
    functionUses: []
    functionsReached:
    - g_ptr_array_unref
    - g_assert
    - g_value_dup_boxed
    - G_VALUE_HOLDS_BOXED
    - g_value_init
    - g_value_get_boxed
    - g_value_take_boxed
    - g_ptr_array_new
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void test_boxed_ptrarray (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: my_callback
    functionSourceFile: /src/glib/gobject/tests/boxed.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void my_callback (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gobject/tests/boxed.c:52,1
    - Dst: g_boxed_free
      Src: /src/glib/gobject/tests/boxed.c:59,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/boxed.c:56,1
    - Dst: g_boxed_copy
      Src: /src/glib/gobject/tests/boxed.c:54,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/boxed.c:57,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/boxed.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 62
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 62
    functionName: test_define_boxed
    functionSourceFile: /src/glib/gobject/tests/boxed.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_assert_cmpstr
    - g_boxed_free
    - g_boxed_copy
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_define_boxed (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/boxed.c:234,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:235,1
    - Dst: g_value_take_boxed
      Src: /src/glib/gobject/tests/boxed.c:238,1
    - Dst: G_VALUE_HOLDS_BOXED
      Src: /src/glib/gobject/tests/boxed.c:235,1
    - Dst: g_array_new
      Src: /src/glib/gobject/tests/boxed.c:237,1
    - Dst: g_value_get_boxed
      Src: /src/glib/gobject/tests/boxed.c:240,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:241,1
    - Dst: g_value_dup_boxed
      Src: /src/glib/gobject/tests/boxed.c:243,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:244,1
    - Dst: g_array_unref
      Src: /src/glib/gobject/tests/boxed.c:245,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/boxed.c:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 248
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 248
    functionName: test_boxed_array
    functionSourceFile: /src/glib/gobject/tests/boxed.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_value_dup_boxed
    - G_VALUE_HOLDS_BOXED
    - g_value_init
    - g_value_get_boxed
    - g_array_new
    - g_array_unref
    - g_value_take_boxed
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void test_boxed_array (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/boxed.c:280,1
    - Dst: G_VALUE_HOLDS_BOXED
      Src: /src/glib/gobject/tests/boxed.c:281,1
    - Dst: g_value_take_boxed
      Src: /src/glib/gobject/tests/boxed.c:284,1
    - Dst: g_regex_new
      Src: /src/glib/gobject/tests/boxed.c:283,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:281,1
    - Dst: g_value_get_boxed
      Src: /src/glib/gobject/tests/boxed.c:286,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:287,1
    - Dst: g_value_dup_boxed
      Src: /src/glib/gobject/tests/boxed.c:289,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:290,1
    - Dst: g_regex_unref
      Src: /src/glib/gobject/tests/boxed.c:291,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/boxed.c:293,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 294
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 294
    functionName: test_boxed_regex
    functionSourceFile: /src/glib/gobject/tests/boxed.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_regex_new
    - g_value_dup_boxed
    - G_VALUE_HOLDS_BOXED
    - g_value_init
    - g_value_get_boxed
    - g_regex_unref
    - g_value_take_boxed
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void test_boxed_regex (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/boxed.c:697,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/boxed.c:699,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/boxed.c:701,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/boxed.c:704,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/boxed.c:714,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/boxed.c:710,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/boxed.c:712,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/boxed.c:706,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/boxed.c:708,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/boxed.c:716,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/boxed.c:717,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/boxed.c:723,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/boxed.c:718,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/boxed.c:720,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/boxed.c:700,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/boxed.c:698,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/boxed.c:702,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/boxed.c:703,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/boxed.c:705,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/boxed.c:713,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/boxed.c:709,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/boxed.c:711,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/boxed.c:707,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/boxed.c:715,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/boxed.c:719,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/boxed.c:721,1
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/boxed.c:695,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/boxed.c:725,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/boxed.c:722,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 726
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 726
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/boxed.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/boxed.c:354,1
    - Dst: G_VALUE_HOLDS_BOXED
      Src: /src/glib/gobject/tests/boxed.c:355,1
    - Dst: g_value_take_boxed
      Src: /src/glib/gobject/tests/boxed.c:358,1
    - Dst: g_date_time_new_now_local
      Src: /src/glib/gobject/tests/boxed.c:357,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:355,1
    - Dst: g_value_get_boxed
      Src: /src/glib/gobject/tests/boxed.c:360,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:361,1
    - Dst: g_value_dup_boxed
      Src: /src/glib/gobject/tests/boxed.c:363,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:364,1
    - Dst: g_date_time_unref
      Src: /src/glib/gobject/tests/boxed.c:365,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/boxed.c:367,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 368
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 368
    functionName: test_boxed_datetime
    functionSourceFile: /src/glib/gobject/tests/boxed.c
    functionUses: []
    functionsReached:
    - g_date_time_unref
    - g_assert
    - g_value_dup_boxed
    - G_VALUE_HOLDS_BOXED
    - g_date_time_new_now_local
    - g_value_init
    - g_value_get_boxed
    - g_value_take_boxed
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void test_boxed_datetime (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/boxed.c:492,1
    - Dst: g_variant_builder_new
      Src: /src/glib/gobject/tests/boxed.c:495,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:493,1
    - Dst: G_VALUE_HOLDS_BOXED
      Src: /src/glib/gobject/tests/boxed.c:493,1
    - Dst: g_value_take_boxed
      Src: /src/glib/gobject/tests/boxed.c:496,1
    - Dst: g_value_get_boxed
      Src: /src/glib/gobject/tests/boxed.c:498,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:499,1
    - Dst: g_value_dup_boxed
      Src: /src/glib/gobject/tests/boxed.c:501,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:502,1
    - Dst: g_variant_builder_unref
      Src: /src/glib/gobject/tests/boxed.c:503,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/boxed.c:505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 506
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 506
    functionName: test_boxed_variantbuilder
    functionSourceFile: /src/glib/gobject/tests/boxed.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_value_dup_boxed
    - G_VALUE_HOLDS_BOXED
    - g_variant_builder_new
    - g_variant_builder_unref
    - g_value_init
    - g_value_get_boxed
    - g_value_take_boxed
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void test_boxed_variantbuilder (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 623
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 623
    functionName: treecmp
    functionSourceFile: /src/glib/gobject/tests/boxed.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint
    signature: 'static gint treecmp (gconstpointer a, gconstpointer b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/boxed.c:653,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/boxed.c:654,1
    - Dst: G_VALUE_HOLDS_BOXED
      Src: /src/glib/gobject/tests/boxed.c:654,1
    - Dst: g_pattern_spec_new
      Src: /src/glib/gobject/tests/boxed.c:656,1
    - Dst: g_value_take_boxed
      Src: /src/glib/gobject/tests/boxed.c:657,1
    - Dst: g_value_get_boxed
      Src: /src/glib/gobject/tests/boxed.c:659,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/boxed.c:660,1
    - Dst: g_value_dup_boxed
      Src: /src/glib/gobject/tests/boxed.c:662,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/boxed.c:663,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/boxed.c:664,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/boxed.c:667,1
    - Dst: g_pattern_spec_free
      Src: /src/glib/gobject/tests/boxed.c:665,1
    - Dst: g_pattern_spec_equal
      Src: /src/glib/gobject/tests/boxed.c:664,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 668
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 668
    functionName: test_boxed_pattern_spec
    functionSourceFile: /src/glib/gobject/tests/boxed.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_pattern_spec_new
    - g_value_dup_boxed
    - G_VALUE_HOLDS_BOXED
    - g_value_init
    - g_value_get_boxed
    - g_value_unset
    - g_pattern_spec_free
    - g_value_take_boxed
    - g_pattern_spec_equal
    linkageType: ''
    returnType: void
    signature: 'static void test_boxed_pattern_spec (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/boxed.c:377,1
    - Dst: G_VALUE_HOLDS_BOXED
      Src: /src/glib/gobject/tests/boxed.c:378,1
    - Dst: g_error_new_literal
      Src: /src/glib/gobject/tests/boxed.c:380,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:378,1
    - Dst: g_value_take_boxed
      Src: /src/glib/gobject/tests/boxed.c:383,1
    - Dst: g_value_get_boxed
      Src: /src/glib/gobject/tests/boxed.c:385,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:386,1
    - Dst: g_value_dup_boxed
      Src: /src/glib/gobject/tests/boxed.c:388,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:389,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/boxed.c:390,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/boxed.c:391,1
    - Dst: g_error_free
      Src: /src/glib/gobject/tests/boxed.c:393,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/boxed.c:395,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/boxed.c:392,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 396
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 396
    functionName: test_boxed_error
    functionSourceFile: /src/glib/gobject/tests/boxed.c
    functionUses: []
    functionsReached:
    - g_error_new_literal
    - g_assert
    - g_value_dup_boxed
    - G_VALUE_HOLDS_BOXED
    - g_assert_cmpstr
    - g_value_init
    - g_value_get_boxed
    - g_error_free
    - g_value_unset
    - g_value_take_boxed
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_boxed_error (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/boxed.c:514,1
    - Dst: g_value_take_boxed
      Src: /src/glib/gobject/tests/boxed.c:518,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:515,1
    - Dst: G_VALUE_HOLDS_BOXED
      Src: /src/glib/gobject/tests/boxed.c:515,1
    - Dst: g_time_zone_new_utc
      Src: /src/glib/gobject/tests/boxed.c:517,1
    - Dst: g_value_get_boxed
      Src: /src/glib/gobject/tests/boxed.c:520,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:521,1
    - Dst: g_value_dup_boxed
      Src: /src/glib/gobject/tests/boxed.c:523,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/boxed.c:524,1
    - Dst: g_time_zone_unref
      Src: /src/glib/gobject/tests/boxed.c:525,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/boxed.c:527,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 528
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 528
    functionName: test_boxed_timezone
    functionSourceFile: /src/glib/gobject/tests/boxed.c
    functionUses: []
    functionsReached:
    - g_time_zone_unref
    - g_assert
    - g_time_zone_new_utc
    - g_value_dup_boxed
    - G_VALUE_HOLDS_BOXED
    - g_value_init
    - g_value_get_boxed
    - g_value_take_boxed
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void test_boxed_timezone (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/boxed.c:631,1
    - Dst: g_value_take_boxed
      Src: /src/glib/gobject/tests/boxed.c:635,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/boxed.c:632,1
    - Dst: G_VALUE_HOLDS_BOXED
      Src: /src/glib/gobject/tests/boxed.c:632,1
    - Dst: g_tree_new
      Src: /src/glib/gobject/tests/boxed.c:634,1
    - Dst: g_value_get_boxed
      Src: /src/glib/gobject/tests/boxed.c:637,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/boxed.c:638,1
    - Dst: g_value_dup_boxed
      Src: /src/glib/gobject/tests/boxed.c:640,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/boxed.c:641,1
    - Dst: g_tree_unref
      Src: /src/glib/gobject/tests/boxed.c:642,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/boxed.c:644,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 645
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 645
    functionName: test_boxed_tree
    functionSourceFile: /src/glib/gobject/tests/boxed.c
    functionUses: []
    functionsReached:
    - g_tree_new
    - g_assert_true
    - g_value_dup_boxed
    - G_VALUE_HOLDS_BOXED
    - g_tree_unref
    - g_value_init
    - g_value_get_boxed
    - g_value_take_boxed
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void test_boxed_tree (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/boxed.c:676,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/boxed.c:677,1
    - Dst: g_value_take_boxed
      Src: /src/glib/gobject/tests/boxed.c:680,1
    - Dst: G_VALUE_HOLDS_BOXED
      Src: /src/glib/gobject/tests/boxed.c:677,1
    - Dst: g_rand_new
      Src: /src/glib/gobject/tests/boxed.c:679,1
    - Dst: g_value_get_boxed
      Src: /src/glib/gobject/tests/boxed.c:682,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/boxed.c:683,1
    - Dst: g_value_dup_boxed
      Src: /src/glib/gobject/tests/boxed.c:685,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/boxed.c:686,1
    - Dst: g_rand_free
      Src: /src/glib/gobject/tests/boxed.c:687,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/boxed.c:689,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 690
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 690
    functionName: test_boxed_rand
    functionSourceFile: /src/glib/gobject/tests/boxed.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_value_dup_boxed
    - G_VALUE_HOLDS_BOXED
    - g_value_init
    - g_value_get_boxed
    - g_rand_free
    - g_value_take_boxed
    - g_rand_new
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void test_boxed_rand (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/gobject/tests/flags.c:74,1
    - Dst: g_flags_register_static
      Src: /src/glib/gobject/tests/flags.c:82,1
    - Dst: g_intern_static_string
      Src: /src/glib/gobject/tests/flags.c:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 85
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 85
    functionName: my_test_flags_get_type
    functionSourceFile: /src/glib/gobject/tests/flags.c
    functionUses: []
    functionsReached:
    - g_flags_register_static
    - G_UNLIKELY
    - g_intern_static_string
    linkageType: ''
    returnType: GType
    signature: 'static GType my_test_flags_get_type (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MY_TEST
      Src: /src/glib/gobject/tests/flags.c:132,1
    - Dst: g_value_get_flags
      Src: /src/glib/gobject/tests/flags.c:137,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/tests/flags.c:140,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 143
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 143
    functionName: my_test_set_property
    functionSourceFile: /src/glib/gobject/tests/flags.c
    functionUses: []
    functionsReached:
    - MY_TEST
    - g_value_get_flags
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: "static void my_test_set_property (GObject *object,\t\t guint prop_id,\t\
      \t const GValue *value,\t\t GParamSpec *pspec) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - test
    argTypes:
    - GTest*
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: my_test_init
    functionSourceFile: /src/glib/gobject/tests/flags.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void my_test_init (GTest *test) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MY_TEST
      Src: /src/glib/gobject/tests/flags.c:113,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/tests/flags.c:121,1
    - Dst: g_value_set_flags
      Src: /src/glib/gobject/tests/flags.c:118,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 124
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 124
    functionName: my_test_get_property
    functionSourceFile: /src/glib/gobject/tests/flags.c
    functionUses: []
    functionsReached:
    - MY_TEST
    - g_value_set_flags
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: "static void my_test_get_property (GObject *object,\t\t guint prop_id,\t\
      \t GValue *value,\t\t GParamSpec *pspec) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/flags.c:90,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gobject/tests/flags.c:95,1
    - Dst: my_test_flags_get_type
      Src: /src/glib/gobject/tests/flags.c:99,1
    - Dst: g_param_spec_flags
      Src: /src/glib/gobject/tests/flags.c:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GTestClass*
    constantsTouched: []
    func_position:
      end: 101
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 101
    functionName: my_test_class_init
    functionSourceFile: /src/glib/gobject/tests/flags.c
    functionUses: []
    functionsReached:
    - my_test_flags_get_type
    - g_param_spec_flags
    - g_object_class_install_property
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void my_test_class_init (GTestClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/flags.c:157,1
    - Dst: g_object_get
      Src: /src/glib/gobject/tests/flags.c:164,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/flags.c:170,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/flags.c:160,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/flags.c:168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 172
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 172
    functionName: check_flags_validation
    functionSourceFile: /src/glib/gobject/tests/flags.c
    functionUses: []
    functionsReached:
    - g_object_get
    - g_object_unref
    - g_object_new
    - G_N_ELEMENTS
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void check_flags_validation (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/flags.c:177,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/flags.c:178,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/flags.c:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 180
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 180
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/flags.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_interface_install_property
      Src: /src/glib/gobject/tests/properties-introspection.c:25,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/properties-introspection.c:26,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - iface
    argTypes:
    - MyTestableInterface*
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: my_testable_default_init
    functionSourceFile: /src/glib/gobject/tests/properties-introspection.c
    functionUses: []
    functionsReached:
    - g_param_spec_int
    - g_object_interface_install_property
    linkageType: ''
    returnType: void
    signature: 'static void my_testable_default_init (MyTestableInterface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_type_default_interface_ref
      Src: /src/glib/gobject/tests/properties-introspection.c:59,1
    - Dst: my_testable_get_type
      Src: /src/glib/gobject/tests/properties-introspection.c:59,1
    - Dst: g_type_default_interface_unref
      Src: /src/glib/gobject/tests/properties-introspection.c:70,1
    - Dst: g_object_interface_find_property
      Src: /src/glib/gobject/tests/properties-introspection.c:66,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gobject/tests/properties-introspection.c:72,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 75
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 75
    functionName: inspect_func
    functionSourceFile: /src/glib/gobject/tests/properties-introspection.c
    functionUses: []
    functionsReached:
    - g_atomic_int_inc
    - g_type_default_interface_ref
    - g_type_default_interface_unref
    - my_testable_get_type
    - g_object_interface_find_property
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer inspect_func (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/gobject/tests/properties-introspection.c:85,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/properties-introspection.c:92,1
    - Dst: g_strdup_printf
      Src: /src/glib/gobject/tests/properties-introspection.c:89,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/properties-introspection.c:91,1
    - Dst: g_thread_new
      Src: /src/glib/gobject/tests/properties-introspection.c:90,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/tests/properties-introspection.c:95,1
    - Dst: g_usleep
      Src: /src/glib/gobject/tests/properties-introspection.c:96,1
    - Dst: g_thread_join
      Src: /src/glib/gobject/tests/properties-introspection.c:99,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 100
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 100
    functionName: properties_collision
    functionSourceFile: /src/glib/gobject/tests/properties-introspection.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_test_summary
    - g_atomic_int_get
    - g_assert_nonnull
    - g_thread_new
    - g_usleep
    - g_thread_join
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void properties_collision (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/gobject/tests/properties-introspection.c:32,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/properties-introspection.c:37,1
    - Dst: my_testable_get_type
      Src: /src/glib/gobject/tests/properties-introspection.c:36,1
    - Dst: g_type_default_interface_ref
      Src: /src/glib/gobject/tests/properties-introspection.c:36,1
    - Dst: g_test_subprocess
      Src: /src/glib/gobject/tests/properties-introspection.c:34,1
    - Dst: g_object_interface_find_property
      Src: /src/glib/gobject/tests/properties-introspection.c:39,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/properties-introspection.c:40,1
    - Dst: g_type_default_interface_unref
      Src: /src/glib/gobject/tests/properties-introspection.c:42,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gobject/tests/properties-introspection.c:46,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/gobject/tests/properties-introspection.c:47,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gobject/tests/properties-introspection.c:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 49
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 49
    functionName: properties_introspection
    functionSourceFile: /src/glib/gobject/tests/properties-introspection.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_passed
    - g_test_summary
    - g_object_interface_find_property
    - g_assert_nonnull
    - g_test_trap_assert_stderr
    - g_type_default_interface_ref
    - g_test_trap_subprocess
    - g_type_default_interface_unref
    - my_testable_get_type
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void properties_introspection (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/properties-introspection.c:107,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/properties-introspection.c:112,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/properties-introspection.c:110,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/properties-introspection.c:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 113
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 113
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/properties-introspection.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_ref
      Src: /src/glib/gobject/tests/singleton.c:41,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/singleton.c:43,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/singleton.c:41,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: my_singleton_constructor
    functionSourceFile: /src/glib/gobject/tests/singleton.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_ref
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: GObject*
    signature: 'static GObject *my_singleton_constructor (GType type, guint n_construct_properties,
      GObjectConstructParam *construct_properties) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/singleton.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - MySingleton*
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: my_singleton_init
    functionSourceFile: /src/glib/gobject/tests/singleton.c
    functionUses: []
    functionsReached:
    - g_assert_null
    linkageType: ''
    returnType: void
    signature: 'static void my_singleton_init (MySingleton *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/tests/singleton.c:83,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/singleton.c:85,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - gobject
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 86
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 86
    functionName: my_singleton_get_property
    functionSourceFile: /src/glib/gobject/tests/singleton.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_value_set_int
    linkageType: ''
    returnType: void
    signature: 'static void my_singleton_get_property (GObject *gobject, guint prop_id,
      GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/singleton.c:110,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/singleton.c:116,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/singleton.c:115,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/singleton.c:111,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/singleton.c:114,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/singleton.c:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 120
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 120
    functionName: test_singleton_construction
    functionSourceFile: /src/glib/gobject/tests/singleton.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_assert_nonnull
    - g_assert_true
    - g_object_new
    linkageType: ''
    returnType: void
    signature: 'static void test_singleton_construction (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/tests/singleton.c:49,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/singleton.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: my_singleton_finalize
    functionSourceFile: /src/glib/gobject/tests/singleton.c
    functionUses: []
    functionsReached:
    - g_assert
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void my_singleton_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/tests/singleton.c:70,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/singleton.c:72,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - gobject
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: my_singleton_set_property
    functionSourceFile: /src/glib/gobject/tests/singleton.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_value_get_int
    linkageType: ''
    returnType: void
    signature: 'static void my_singleton_set_property (GObject *gobject, guint prop_id,
      const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/singleton.c:91,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/singleton.c:99,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/singleton.c:98,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gobject/tests/singleton.c:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - klass
    argTypes:
    - MySingletonClass*
    constantsTouched: []
    func_position:
      end: 102
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 102
    functionName: my_singleton_class_init
    functionSourceFile: /src/glib/gobject/tests/singleton.c
    functionUses: []
    functionsReached:
    - g_param_spec_int
    - g_object_class_install_property
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void my_singleton_class_init (MySingletonClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/gobject/tests/singleton.c:127,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/singleton.c:132,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/singleton.c:135,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/singleton.c:131,1
    - Dst: g_test_bug
      Src: /src/glib/gobject/tests/singleton.c:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 136
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 136
    functionName: test_singleton_construct_property
    functionSourceFile: /src/glib/gobject/tests/singleton.c
    functionUses: []
    functionsReached:
    - g_test_summary
    - g_object_unref
    - g_object_new
    - g_assert_nonnull
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_singleton_construct_property (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/singleton.c:142,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/singleton.c:144,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/singleton.c:145,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/singleton.c:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 148
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 148
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/singleton.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_string_append_c
      Src: /src/glib/gobject/tests/override.c:349,1
    - Dst: g_string_append
      Src: /src/glib/gobject/tests/override.c:350,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 351
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 351
    functionName: record
    functionSourceFile: /src/glib/gobject/tests/override.c
    functionUses: []
    functionsReached:
    - g_string_append_c
    - g_string_append
    linkageType: ''
    returnType: void
    signature: 'static void record (const gchar *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/override.c:124,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/override.c:136,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gobject/tests/override.c:127,1
    - Dst: g_signal_new_class_handler
      Src: /src/glib/gobject/tests/override.c:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - class
    argTypes:
    - TestAClass*
    constantsTouched: []
    func_position:
      end: 142
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 142
    functionName: test_a_class_init
    functionSourceFile: /src/glib/gobject/tests/override.c
    functionUses: []
    functionsReached:
    - G_STRUCT_OFFSET
    - g_signal_new_class_handler
    - g_signal_new
    - G_CALLBACK
    linkageType: ''
    returnType: void
    signature: 'static void test_a_class_init (TestAClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_override_class_closure
      Src: /src/glib/gobject/tests/override.c:147,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/override.c:149,1
    - Dst: g_cclosure_new
      Src: /src/glib/gobject/tests/override.c:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - iface
    argTypes:
    - TestIClass*
    constantsTouched: []
    func_position:
      end: 151
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 151
    functionName: test_a_interface_init
    functionSourceFile: /src/glib/gobject/tests/override.c
    functionUses: []
    functionsReached:
    - g_cclosure_new
    - g_signal_override_class_closure
    - G_CALLBACK
    linkageType: ''
    returnType: void
    signature: 'static void test_a_interface_init (TestIClass *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record
      Src: /src/glib/gobject/tests/override.c:175,1
    - Dst: g_signal_get_invocation_hint
      Src: /src/glib/gobject/tests/override.c:180,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/override.c:177,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/override.c:180,1
    - Dst: g_value_set_object
      Src: /src/glib/gobject/tests/override.c:178,1
    - Dst: g_signal_chain_from_overridden
      Src: /src/glib/gobject/tests/override.c:183,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/override.c:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - self
    argTypes:
    - TestI*
    constantsTouched: []
    func_position:
      end: 186
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 186
    functionName: test_b_foo
    functionSourceFile: /src/glib/gobject/tests/override.c
    functionUses: []
    functionsReached:
    - g_signal_get_invocation_hint
    - g_value_init
    - record
    - g_value_set_object
    - g_signal_chain_from_overridden
    - g_value_unset
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_b_foo (TestI *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record
      Src: /src/glib/gobject/tests/override.c:267,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/override.c:272,1
    - Dst: g_value_set_object
      Src: /src/glib/gobject/tests/override.c:270,1
    - Dst: g_signal_get_invocation_hint
      Src: /src/glib/gobject/tests/override.c:272,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/override.c:269,1
    - Dst: g_signal_chain_from_overridden
      Src: /src/glib/gobject/tests/override.c:275,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/override.c:277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - self
    argTypes:
    - TestI*
    constantsTouched: []
    func_position:
      end: 278
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 278
    functionName: test_c_foo
    functionSourceFile: /src/glib/gobject/tests/override.c
    functionUses: []
    functionsReached:
    - g_signal_get_invocation_hint
    - g_value_init
    - record
    - g_value_set_object
    - g_signal_chain_from_overridden
    - g_value_unset
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_c_foo (TestI *self) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: record
      Src: /src/glib/gobject/tests/override.c:305,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gobject/tests/override.c:308,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/override.c:307,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/override.c:308,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/override.c:307,1
    - Dst: g_signal_chain_from_overridden_handler
      Src: /src/glib/gobject/tests/override.c:310,1
    - Dst: g_strconcat
      Src: /src/glib/gobject/tests/override.c:314,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/override.c:315,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 320
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 320
    functionName: test_c_baz
    functionSourceFile: /src/glib/gobject/tests/override.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_assert_true
    - g_strconcat
    - G_OBJECT
    - record
    - g_signal_chain_from_overridden_handler
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *test_c_baz (TestA *self, GObject *object, gpointer pointer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/override.c:359,1
    - Dst: g_string_new
      Src: /src/glib/gobject/tests/override.c:361,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/override.c:365,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/override.c:371,1
    - Dst: strcmp
      Src: /src/glib/gobject/tests/override.c:363,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gobject/tests/override.c:371,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/override.c:372,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/override.c:374,1
    - Dst: g_test_message
      Src: /src/glib/gobject/tests/override.c:377,1
    - Dst: g_type_name
      Src: /src/glib/gobject/tests/override.c:380,1
    - Dst: g_string_free
      Src: /src/glib/gobject/tests/override.c:386,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/override.c:384,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/override.c:387,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - type
    - signal
    - expected
    - expected_retval
    argTypes:
    - GType
    - gchar*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 388
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 388
    functionName: test
    functionSourceFile: /src/glib/gobject/tests/override.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_object_new
    - g_test_message
    - strcmp
    - g_assert_cmpstr
    - g_signal_emit_by_name
    - g_string_free
    - GINT_TO_POINTER
    - g_string_new
    - g_free
    - g_type_name
    linkageType: ''
    returnType: void
    signature: 'static void test (GType type, const gchar *signal, const gchar *expected,
      const gchar *expected_retval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record
      Src: /src/glib/gobject/tests/override.c:285,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/override.c:287,1
    - Dst: g_signal_get_invocation_hint
      Src: /src/glib/gobject/tests/override.c:290,1
    - Dst: g_value_set_object
      Src: /src/glib/gobject/tests/override.c:288,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/override.c:290,1
    - Dst: g_signal_chain_from_overridden
      Src: /src/glib/gobject/tests/override.c:293,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/override.c:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - self
    argTypes:
    - TestA*
    constantsTouched: []
    func_position:
      end: 296
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 296
    functionName: test_c_bar
    functionSourceFile: /src/glib/gobject/tests/override.c
    functionUses: []
    functionsReached:
    - g_signal_get_invocation_hint
    - g_value_init
    - record
    - g_value_set_object
    - g_signal_chain_from_overridden
    - g_value_unset
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_c_bar (TestA *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_override_class_closure
      Src: /src/glib/gobject/tests/override.c:325,1
    - Dst: g_signal_override_class_closure
      Src: /src/glib/gobject/tests/override.c:329,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/override.c:327,1
    - Dst: g_cclosure_new
      Src: /src/glib/gobject/tests/override.c:327,1
    - Dst: g_cclosure_new
      Src: /src/glib/gobject/tests/override.c:331,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/override.c:331,1
    - Dst: g_signal_override_class_handler
      Src: /src/glib/gobject/tests/override.c:333,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/override.c:335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - class
    argTypes:
    - TestBClass*
    constantsTouched: []
    func_position:
      end: 336
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 336
    functionName: test_c_class_init
    functionSourceFile: /src/glib/gobject/tests/override.c
    functionUses: []
    functionsReached:
    - g_cclosure_new
    - g_signal_override_class_closure
    - g_signal_override_class_handler
    - G_CALLBACK
    linkageType: ''
    returnType: void
    signature: 'static void test_c_class_init (TestBClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/glib/gobject/tests/override.c:393,1
    - Dst: test
      Src: /src/glib/gobject/tests/override.c:397,1
    - Dst: test
      Src: /src/glib/gobject/tests/override.c:398,1
    - Dst: test
      Src: /src/glib/gobject/tests/override.c:395,1
    - Dst: test
      Src: /src/glib/gobject/tests/override.c:394,1
    - Dst: test
      Src: /src/glib/gobject/tests/override.c:399,1
    - Dst: test
      Src: /src/glib/gobject/tests/override.c:401,1
    - Dst: test
      Src: /src/glib/gobject/tests/override.c:402,1
    - Dst: test
      Src: /src/glib/gobject/tests/override.c:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 404
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 404
    functionName: test_override
    functionSourceFile: /src/glib/gobject/tests/override.c
    functionUses: []
    functionsReached:
    - test
    linkageType: ''
    returnType: void
    signature: 'static void test_override (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record
      Src: /src/glib/gobject/tests/override.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - TestI*
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: test_i_foo
    functionSourceFile: /src/glib/gobject/tests/override.c
    functionUses: []
    functionsReached:
    - record
    linkageType: ''
    returnType: void
    signature: 'static void test_i_foo (TestI *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record
      Src: /src/glib/gobject/tests/override.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - TestA*
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: test_a_bar
    functionSourceFile: /src/glib/gobject/tests/override.c
    functionUses: []
    functionsReached:
    - record
    linkageType: ''
    returnType: void
    signature: 'static void test_a_bar (TestA *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record
      Src: /src/glib/gobject/tests/override.c:193,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/override.c:198,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/override.c:195,1
    - Dst: g_value_set_object
      Src: /src/glib/gobject/tests/override.c:196,1
    - Dst: g_signal_get_invocation_hint
      Src: /src/glib/gobject/tests/override.c:198,1
    - Dst: g_signal_chain_from_overridden
      Src: /src/glib/gobject/tests/override.c:201,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/override.c:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - self
    argTypes:
    - TestA*
    constantsTouched: []
    func_position:
      end: 204
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 204
    functionName: test_b_bar
    functionSourceFile: /src/glib/gobject/tests/override.c
    functionUses: []
    functionsReached:
    - g_signal_get_invocation_hint
    - g_value_init
    - record
    - g_value_set_object
    - g_signal_chain_from_overridden
    - g_value_unset
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_b_bar (TestA *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_override_class_closure
      Src: /src/glib/gobject/tests/override.c:233,1
    - Dst: g_cclosure_new
      Src: /src/glib/gobject/tests/override.c:239,1
    - Dst: g_cclosure_new
      Src: /src/glib/gobject/tests/override.c:235,1
    - Dst: g_signal_override_class_closure
      Src: /src/glib/gobject/tests/override.c:237,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/override.c:235,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/override.c:239,1
    - Dst: g_signal_override_class_handler
      Src: /src/glib/gobject/tests/override.c:241,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/override.c:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - class
    argTypes:
    - TestBClass*
    constantsTouched: []
    func_position:
      end: 244
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 244
    functionName: test_b_class_init
    functionSourceFile: /src/glib/gobject/tests/override.c
    functionUses: []
    functionsReached:
    - g_cclosure_new
    - g_signal_override_class_closure
    - g_signal_override_class_handler
    - G_CALLBACK
    linkageType: ''
    returnType: void
    signature: 'static void test_b_class_init (TestBClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record
      Src: /src/glib/gobject/tests/override.c:111,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/override.c:113,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gobject/tests/override.c:114,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/override.c:114,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/override.c:113,1
    - Dst: g_strdup
      Src: /src/glib/gobject/tests/override.c:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 117
    functionName: test_a_baz
    functionSourceFile: /src/glib/gobject/tests/override.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_assert_true
    - g_strdup
    - G_OBJECT
    - record
    - g_assert_cmpint
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *test_a_baz (TestA *self, GObject *object, gpointer pointer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_newv
      Src: /src/glib/gobject/tests/override.c:56,1
    - Dst: g_cclosure_new
      Src: /src/glib/gobject/tests/override.c:59,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/override.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - g_class
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 64
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 64
    functionName: test_i_default_init
    functionSourceFile: /src/glib/gobject/tests/override.c
    functionUses: []
    functionsReached:
    - g_signal_newv
    - g_cclosure_new
    - G_CALLBACK
    linkageType: ''
    returnType: void
    signature: 'static void test_i_default_init (gpointer g_class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: record
      Src: /src/glib/gobject/tests/override.c:87,1
    - Dst: g_signal_get_invocation_hint
      Src: /src/glib/gobject/tests/override.c:92,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/override.c:92,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/override.c:89,1
    - Dst: g_value_set_object
      Src: /src/glib/gobject/tests/override.c:90,1
    - Dst: g_signal_chain_from_overridden
      Src: /src/glib/gobject/tests/override.c:95,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/override.c:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - self
    argTypes:
    - TestI*
    constantsTouched: []
    func_position:
      end: 98
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 98
    functionName: test_a_foo
    functionSourceFile: /src/glib/gobject/tests/override.c
    functionUses: []
    functionsReached:
    - g_signal_get_invocation_hint
    - g_value_init
    - record
    - g_value_set_object
    - g_signal_chain_from_overridden
    - g_value_unset
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_a_foo (TestI *self) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: record
      Src: /src/glib/gobject/tests/override.c:213,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/override.c:215,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gobject/tests/override.c:216,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/override.c:216,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/override.c:215,1
    - Dst: g_signal_chain_from_overridden_handler
      Src: /src/glib/gobject/tests/override.c:218,1
    - Dst: g_strconcat
      Src: /src/glib/gobject/tests/override.c:222,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/override.c:223,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 228
    functionName: test_b_baz
    functionSourceFile: /src/glib/gobject/tests/override.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_assert_true
    - g_strconcat
    - G_OBJECT
    - record
    - g_signal_chain_from_overridden_handler
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *test_b_baz (TestA *self, GObject *object, gpointer pointer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_log_set_always_fatal
      Src: /src/glib/gobject/tests/override.c:410,1
    - Dst: g_log_set_always_fatal
      Src: /src/glib/gobject/tests/override.c:410,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/override.c:416,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/override.c:418,1
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/override.c:414,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 419
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 419
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/override.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_log_set_always_fatal
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_class_install_property
      Src: /src/glib/gobject/tests/properties-refcount3.c:57,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/properties-refcount3.c:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GTestClass*
    constantsTouched: []
    func_position:
      end: 64
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 64
    functionName: my_test_class_init
    functionSourceFile: /src/glib/gobject/tests/properties-refcount3.c
    functionUses: []
    functionsReached:
    - g_param_spec_int
    - g_object_class_install_property
    linkageType: ''
    returnType: void
    signature: 'static void my_test_class_init (GTestClass * klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MY_TEST
      Src: /src/glib/gobject/tests/properties-refcount3.c:121,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gobject/tests/properties-refcount3.c:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - object
    - pspec
    argTypes:
    - GObject*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: dummy_notify
    functionSourceFile: /src/glib/gobject/tests/properties-refcount3.c
    functionUses: []
    functionsReached:
    - MY_TEST
    - g_atomic_int_inc
    linkageType: ''
    returnType: void
    signature: "static void dummy_notify (GObject *object,\t GParamSpec *pspec) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MY_TEST
      Src: /src/glib/gobject/tests/properties-refcount3.c:81,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/properties-refcount3.c:86,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/tests/properties-refcount3.c:86,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/tests/properties-refcount3.c:89,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 92
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 92
    functionName: my_test_get_property
    functionSourceFile: /src/glib/gobject/tests/properties-refcount3.c
    functionUses: []
    functionsReached:
    - MY_TEST
    - g_value_set_int
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_atomic_int_get
    linkageType: ''
    returnType: void
    signature: "static void my_test_get_property (GObject *object,\t\t guint prop_id,\t\
      \t GValue *value,\t\t GParamSpec *pspec) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/tests/properties-refcount3.c:142,1
    - Dst: my_test_do_property
      Src: /src/glib/gobject/tests/properties-refcount3.c:143,1
    - Dst: g_thread_yield
      Src: /src/glib/gobject/tests/properties-refcount3.c:146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - test
    argTypes:
    - GTest*
    constantsTouched: []
    func_position:
      end: 151
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 151
    functionName: run_thread
    functionSourceFile: /src/glib/gobject/tests/properties-refcount3.c
    functionUses: []
    functionsReached:
    - g_thread_yield
    - my_test_do_property
    - g_atomic_int_get
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer run_thread (GTest * test) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MY_TEST
      Src: /src/glib/gobject/tests/properties-refcount3.c:102,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/tests/properties-refcount3.c:110,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gobject/tests/properties-refcount3.c:107,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/properties-refcount3.c:107,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 113
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 113
    functionName: my_test_set_property
    functionSourceFile: /src/glib/gobject/tests/properties-refcount3.c
    functionUses: []
    functionsReached:
    - MY_TEST
    - g_atomic_int_set
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_get_int
    linkageType: ''
    returnType: void
    signature: "static void my_test_set_property (GObject *object,\t\t guint prop_id,\t\
      \t const GValue *value,\t\t GParamSpec *pspec) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - test
    argTypes:
    - GTest*
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: my_test_init
    functionSourceFile: /src/glib/gobject/tests/properties-refcount3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void my_test_init (GTest * test) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_inc
      Src: /src/glib/gobject/tests/properties-refcount3.c:131,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/properties-refcount3.c:134,1
    - Dst: g_object_get
      Src: /src/glib/gobject/tests/properties-refcount3.c:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - test
    argTypes:
    - GTest*
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: my_test_do_property
    functionSourceFile: /src/glib/gobject/tests/properties-refcount3.c
    functionUses: []
    functionsReached:
    - g_object_set
    - g_atomic_int_inc
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void my_test_do_property (GTest * test) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/properties-refcount3.c:161,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/properties-refcount3.c:163,1
    - Dst: g_array_new
      Src: /src/glib/gobject/tests/properties-refcount3.c:166,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/properties-refcount3.c:164,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/properties-refcount3.c:164,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gobject/tests/properties-refcount3.c:168,1
    - Dst: g_thread_new
      Src: /src/glib/gobject/tests/properties-refcount3.c:173,1
    - Dst: g_array_append_val
      Src: /src/glib/gobject/tests/properties-refcount3.c:174,1
    - Dst: g_usleep
      Src: /src/glib/gobject/tests/properties-refcount3.c:176,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gobject/tests/properties-refcount3.c:178,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/properties-refcount3.c:185,1
    - Dst: g_array_free
      Src: /src/glib/gobject/tests/properties-refcount3.c:192,1
    - Dst: g_test_message
      Src: /src/glib/gobject/tests/properties-refcount3.c:190,1
    - Dst: g_test_message
      Src: /src/glib/gobject/tests/properties-refcount3.c:189,1
    - Dst: g_test_message
      Src: /src/glib/gobject/tests/properties-refcount3.c:179,1
    - Dst: g_thread_join
      Src: /src/glib/gobject/tests/properties-refcount3.c:186,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/properties-refcount3.c:193,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 194
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 194
    functionName: test_refcount_properties_3
    functionSourceFile: /src/glib/gobject/tests/properties-refcount3.c
    functionUses: []
    functionsReached:
    - g_array_free
    - g_object_unref
    - g_object_new
    - g_array_append_val
    - g_test_message
    - g_array_index
    - g_thread_new
    - G_CALLBACK
    - g_usleep
    - g_atomic_int_set
    - g_array_new
    - g_thread_join
    - g_signal_connect
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_refcount_properties_3 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_log_set_always_fatal
      Src: /src/glib/gobject/tests/properties-refcount3.c:199,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/properties-refcount3.c:207,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/properties-refcount3.c:205,1
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/properties-refcount3.c:203,1
    - Dst: g_log_set_always_fatal
      Src: /src/glib/gobject/tests/properties-refcount3.c:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - gchar*
    constantsTouched: []
    func_position:
      end: 208
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 208
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/properties-refcount3.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_log_set_always_fatal
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, gchar *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_type_register_static
      Src: /src/glib/gobject/tests/properties-refcount2.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 73
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 73
    functionName: my_test_get_type
    functionSourceFile: /src/glib/gobject/tests/properties-refcount2.c
    functionUses: []
    functionsReached:
    - g_type_register_static
    linkageType: ''
    returnType: GType
    signature: 'static GType my_test_get_type (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_message
      Src: /src/glib/gobject/tests/properties-refcount2.c:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - test
    argTypes:
    - GTest*
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: my_test_init
    functionSourceFile: /src/glib/gobject/tests/properties-refcount2.c
    functionUses: []
    functionsReached:
    - g_test_message
    linkageType: ''
    returnType: void
    signature: 'static void my_test_init (GTest * test) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MY_TEST
      Src: /src/glib/gobject/tests/properties-refcount2.c:123,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/properties-refcount2.c:128,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/tests/properties-refcount2.c:131,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 134
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 134
    functionName: my_test_get_property
    functionSourceFile: /src/glib/gobject/tests/properties-refcount2.c
    functionUses: []
    functionsReached:
    - MY_TEST
    - g_value_set_int
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: 'static void my_test_get_property (GObject *object, guint prop_id,
      GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_get
      Src: /src/glib/gobject/tests/properties-refcount2.c:173,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/properties-refcount2.c:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - test
    argTypes:
    - GTest*
    constantsTouched: []
    func_position:
      end: 175
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 175
    functionName: my_test_do_property
    functionSourceFile: /src/glib/gobject/tests/properties-refcount2.c
    functionUses: []
    functionsReached:
    - g_object_set
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void my_test_do_property (GTest * test) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/tests/properties-refcount2.c:82,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/properties-refcount2.c:90,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gobject/tests/properties-refcount2.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GTestClass*
    constantsTouched: []
    func_position:
      end: 95
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 95
    functionName: my_test_class_init
    functionSourceFile: /src/glib/gobject/tests/properties-refcount2.c
    functionUses: []
    functionsReached:
    - g_param_spec_int
    - g_type_class_ref
    - g_object_class_install_property
    linkageType: ''
    returnType: void
    signature: 'static void my_test_class_init (GTestClass * klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MY_TEST
      Src: /src/glib/gobject/tests/properties-refcount2.c:108,1
    - Dst: g_test_message
      Src: /src/glib/gobject/tests/properties-refcount2.c:110,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/properties-refcount2.c:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 113
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 113
    functionName: my_test_dispose
    functionSourceFile: /src/glib/gobject/tests/properties-refcount2.c
    functionUses: []
    functionsReached:
    - MY_TEST
    - G_OBJECT_CLASS
    - g_test_message
    linkageType: ''
    returnType: void
    signature: 'static void my_test_dispose (GObject * object) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MY_TEST
      Src: /src/glib/gobject/tests/properties-refcount2.c:144,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/properties-refcount2.c:149,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/tests/properties-refcount2.c:152,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 155
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 155
    functionName: my_test_set_property
    functionSourceFile: /src/glib/gobject/tests/properties-refcount2.c
    functionUses: []
    functionsReached:
    - MY_TEST
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_get_int
    linkageType: ''
    returnType: void
    signature: 'static void my_test_set_property (GObject *object, guint prop_id,
      const GValue *value, GParamSpec *pspec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_message
      Src: /src/glib/gobject/tests/properties-refcount2.c:165,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - object
    - pspec
    argTypes:
    - GObject*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 166
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 166
    functionName: dummy_notify
    functionSourceFile: /src/glib/gobject/tests/properties-refcount2.c
    functionUses: []
    functionsReached:
    - g_test_message
    linkageType: ''
    returnType: void
    signature: 'static void dummy_notify (GObject *object, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/properties-refcount2.c:183,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/properties-refcount2.c:185,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/properties-refcount2.c:185,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/properties-refcount2.c:186,1
    - Dst: my_test_do_property
      Src: /src/glib/gobject/tests/properties-refcount2.c:190,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/properties-refcount2.c:192,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/properties-refcount2.c:194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 195
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 195
    functionName: test_refcount_properties_2
    functionSourceFile: /src/glib/gobject/tests/properties-refcount2.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_object_new
    - G_CALLBACK
    - my_test_do_property
    - g_signal_connect
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_refcount_properties_2 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_log_set_always_fatal
      Src: /src/glib/gobject/tests/properties-refcount2.c:200,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/properties-refcount2.c:206,1
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/properties-refcount2.c:204,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/properties-refcount2.c:208,1
    - Dst: g_log_set_always_fatal
      Src: /src/glib/gobject/tests/properties-refcount2.c:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - gchar*
    constantsTouched: []
    func_position:
      end: 209
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 209
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/properties-refcount2.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_log_set_always_fatal
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, gchar *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/tests/ifaceproperties.c:271,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - object
    - pspec
    argTypes:
    - GObject*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 275
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 275
    functionName: base_object_notify
    functionSourceFile: /src/glib/gobject/tests/ifaceproperties.c
    functionUses: []
    functionsReached:
    - g_assert
    linkageType: ''
    returnType: void
    signature: 'static void base_object_notify (GObject *object, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/ifaceproperties.c:280,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gobject/tests/ifaceproperties.c:289,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/ifaceproperties.c:295,1
    - Dst: g_type_class_peek_parent
      Src: /src/glib/gobject/tests/ifaceproperties.c:282,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gobject/tests/ifaceproperties.c:302,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gobject/tests/ifaceproperties.c:304,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/ifaceproperties.c:306,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gobject/tests/ifaceproperties.c:313,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - class
    argTypes:
    - BaseObjectClass*
    constantsTouched: []
    func_position:
      end: 314
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 314
    functionName: base_object_class_init
    functionSourceFile: /src/glib/gobject/tests/ifaceproperties.c
    functionUses: []
    functionsReached:
    - g_type_class_peek_parent
    - g_param_spec_int
    - g_object_class_install_property
    - G_OBJECT_CLASS
    - g_object_class_override_property
    linkageType: ''
    returnType: void
    signature: 'static void base_object_class_init (BaseObjectClass *class) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BASE_OBJECT
      Src: /src/glib/gobject/tests/ifaceproperties.c:357,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/ifaceproperties.c:367,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/ifaceproperties.c:362,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/ifaceproperties.c:366,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/ifaceproperties.c:363,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/tests/ifaceproperties.c:370,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 373
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 373
    functionName: derived_object_get_property
    functionSourceFile: /src/glib/gobject/tests/ifaceproperties.c
    functionUses: []
    functionsReached:
    - g_assert
    - BASE_OBJECT
    - g_value_set_int
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: 'static void derived_object_get_property (GObject *object, guint prop_id,
      GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_type_default_interface_peek
      Src: /src/glib/gobject/tests/ifaceproperties.c:499,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/ifaceproperties.c:502,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/ifaceproperties.c:501,1
    - Dst: g_object_interface_find_property
      Src: /src/glib/gobject/tests/ifaceproperties.c:501,1
    - Dst: g_object_interface_find_property
      Src: /src/glib/gobject/tests/ifaceproperties.c:502,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/ifaceproperties.c:503,1
    - Dst: g_object_interface_find_property
      Src: /src/glib/gobject/tests/ifaceproperties.c:503,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 504
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 504
    functionName: test_find_interface
    functionSourceFile: /src/glib/gobject/tests/ifaceproperties.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_type_default_interface_peek
    - g_object_interface_find_property
    linkageType: ''
    returnType: void
    signature: 'static void test_find_interface (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/tests/ifaceproperties.c:592,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 595
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 595
    functionName: base2_object_set_property
    functionSourceFile: /src/glib/gobject/tests/ifaceproperties.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: 'static void base2_object_set_property (GObject *object, guint prop_id,
      const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/ifaceproperties.c:378,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gobject/tests/ifaceproperties.c:387,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gobject/tests/ifaceproperties.c:384,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - class
    argTypes:
    - DerivedObjectClass*
    constantsTouched: []
    func_position:
      end: 388
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 388
    functionName: derived_object_class_init
    functionSourceFile: /src/glib/gobject/tests/ifaceproperties.c
    functionUses: []
    functionsReached:
    - g_object_class_override_property
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void derived_object_class_init (DerivedObjectClass *class) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/ifaceproperties.c:568,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/ifaceproperties.c:571,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/tests/ifaceproperties.c:574,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 577
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 577
    functionName: base2_object_get_property
    functionSourceFile: /src/glib/gobject/tests/ifaceproperties.c
    functionUses: []
    functionsReached:
    - g_value_set_int
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: 'static void base2_object_get_property (GObject *object, guint prop_id,
      GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/ifaceproperties.c:600,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gobject/tests/ifaceproperties.c:605,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gobject/tests/ifaceproperties.c:606,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - class
    argTypes:
    - Base2ObjectClass*
    constantsTouched: []
    func_position:
      end: 607
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 607
    functionName: base2_object_class_init
    functionSourceFile: /src/glib/gobject/tests/ifaceproperties.c
    functionUses: []
    functionsReached:
    - g_object_class_override_property
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void base2_object_class_init (Base2ObjectClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_type_class_peek
      Src: /src/glib/gobject/tests/ifaceproperties.c:482,1
    - Dst: assert_in_properties
      Src: /src/glib/gobject/tests/ifaceproperties.c:486,1
    - Dst: assert_in_properties
      Src: /src/glib/gobject/tests/ifaceproperties.c:487,1
    - Dst: g_object_class_list_properties
      Src: /src/glib/gobject/tests/ifaceproperties.c:484,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/ifaceproperties.c:485,1
    - Dst: assert_in_properties
      Src: /src/glib/gobject/tests/ifaceproperties.c:488,1
    - Dst: assert_in_properties
      Src: /src/glib/gobject/tests/ifaceproperties.c:489,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/ifaceproperties.c:490,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 491
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 491
    functionName: test_list_overridden
    functionSourceFile: /src/glib/gobject/tests/ifaceproperties.c
    functionUses: []
    functionsReached:
    - g_object_class_list_properties
    - g_assert
    - g_type_class_peek
    - assert_in_properties
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_list_overridden (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/ifaceproperties.c:117,1
    - Dst: g_object_interface_install_property
      Src: /src/glib/gobject/tests/ifaceproperties.c:124,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/ifaceproperties.c:126,1
    - Dst: g_object_interface_install_property
      Src: /src/glib/gobject/tests/ifaceproperties.c:133,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/ifaceproperties.c:135,1
    - Dst: g_object_interface_install_property
      Src: /src/glib/gobject/tests/ifaceproperties.c:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - iface_vtable
    argTypes:
    - TestIfaceClass*
    constantsTouched: []
    func_position:
      end: 143
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 143
    functionName: test_iface_default_init
    functionSourceFile: /src/glib/gobject/tests/ifaceproperties.c
    functionUses: []
    functionsReached:
    - g_object_interface_install_property
    - g_param_spec_int
    linkageType: ''
    returnType: void
    signature: 'static void test_iface_default_init (TestIfaceClass *iface_vtable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/ifaceproperties.c:419,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/ifaceproperties.c:435,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/ifaceproperties.c:434,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/ifaceproperties.c:421,1
    - Dst: g_object_get
      Src: /src/glib/gobject/tests/ifaceproperties.c:427,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/ifaceproperties.c:436,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/ifaceproperties.c:437,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/ifaceproperties.c:439,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 440
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 440
    functionName: test_set
    functionSourceFile: /src/glib/gobject/tests/ifaceproperties.c
    functionUses: []
    functionsReached:
    - g_object_set
    - g_object_get
    - g_object_unref
    - g_object_new
    - g_assert
    linkageType: ''
    returnType: void
    signature: 'static void test_set (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/tests/ifaceproperties.c:168,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/ifaceproperties.c:167,1
    - Dst: g_param_spec_get_blurb
      Src: /src/glib/gobject/tests/ifaceproperties.c:174,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/ifaceproperties.c:192,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/ifaceproperties.c:194,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/ifaceproperties.c:193,1
    - Dst: g_param_spec_get_redirect_target
      Src: /src/glib/gobject/tests/ifaceproperties.c:169,1
    - Dst: g_param_spec_get_nick
      Src: /src/glib/gobject/tests/ifaceproperties.c:173,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/ifaceproperties.c:178,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/ifaceproperties.c:179,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/ifaceproperties.c:182,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/ifaceproperties.c:182,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/ifaceproperties.c:185,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/ifaceproperties.c:186,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/ifaceproperties.c:187,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/ifaceproperties.c:187,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/ifaceproperties.c:188,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/ifaceproperties.c:196,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/ifaceproperties.c:166,1
    - Dst: strcmp
      Src: /src/glib/gobject/tests/ifaceproperties.c:168,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/ifaceproperties.c:169,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/ifaceproperties.c:173,1
    - Dst: strcmp
      Src: /src/glib/gobject/tests/ifaceproperties.c:173,1
    - Dst: g_value_reset
      Src: /src/glib/gobject/tests/ifaceproperties.c:184,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/ifaceproperties.c:186,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/ifaceproperties.c:188,1
    - Dst: g_value_reset
      Src: /src/glib/gobject/tests/ifaceproperties.c:190,1
    - Dst: g_param_values_cmp
      Src: /src/glib/gobject/tests/ifaceproperties.c:193,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/ifaceproperties.c:197,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/ifaceproperties.c:160,1
    - Dst: G_IS_PARAM_SPEC_OVERRIDE
      Src: /src/glib/gobject/tests/ifaceproperties.c:166,1
    - Dst: g_param_spec_get_name
      Src: /src/glib/gobject/tests/ifaceproperties.c:168,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/ifaceproperties.c:174,1
    - Dst: strcmp
      Src: /src/glib/gobject/tests/ifaceproperties.c:174,1
    - Dst: g_param_value_set_default
      Src: /src/glib/gobject/tests/ifaceproperties.c:181,1
    - Dst: g_param_values_cmp
      Src: /src/glib/gobject/tests/ifaceproperties.c:194,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/ifaceproperties.c:191,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 202
    functionName: base_object_constructor
    functionSourceFile: /src/glib/gobject/tests/ifaceproperties.c
    functionUses: []
    functionsReached:
    - g_param_spec_get_name
    - g_param_spec_get_nick
    - g_assert
    - g_value_reset
    - g_value_set_int
    - strcmp
    - G_IS_PARAM_SPEC_OVERRIDE
    - g_value_init
    - g_param_value_validate
    - g_param_values_cmp
    - g_param_spec_get_redirect_target
    - g_param_spec_get_blurb
    - g_param_value_set_default
    - g_value_get_int
    - g_value_unset
    linkageType: ''
    returnType: DEFINE_IFACE (TestIface, test_iface, NULL, test_iface_default_init)*
    signature: 'static DEFINE_IFACE (TestIface, test_iface, NULL, test_iface_default_init)
      static GObject *base_object_constructor (GType type, guint n_construct_properties,
      GObjectConstructParam *construct_properties) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - TestIfaceClass*
    constantsTouched: []
    func_position:
      end: 536
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 536
    functionName: base2_object_test_iface_init
    functionSourceFile: /src/glib/gobject/tests/ifaceproperties.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void base2_object_test_iface_init (TestIfaceClass *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/ifaceproperties.c:635,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/ifaceproperties.c:637,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/ifaceproperties.c:638,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/ifaceproperties.c:639,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/ifaceproperties.c:640,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/ifaceproperties.c:641,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/ifaceproperties.c:642,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/ifaceproperties.c:643,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/ifaceproperties.c:645,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 646
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 646
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/ifaceproperties.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/tests/ifaceproperties.c:409,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - param_spec
    - properties
    - n_properties
    argTypes:
    - GParamSpec*
    - GParamSpec**
    - gint
    constantsTouched: []
    func_position:
      end: 410
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 410
    functionName: assert_in_properties
    functionSourceFile: /src/glib/gobject/tests/ifaceproperties.c
    functionUses: []
    functionsReached:
    - g_assert
    linkageType: ''
    returnType: "DEFINE_TYPE (DerivedObject, derived_object,\n                   \
      \ derived_object_class_init, NULL, NULL,\n                    BASE_TYPE_OBJECT)"
    signature: 'static DEFINE_TYPE (DerivedObject, derived_object, derived_object_class_init,
      NULL, NULL, BASE_TYPE_OBJECT) /* Helper function for testing ...list_properties()
      */ static void assert_in_properties (GParamSpec *param_spec, GParamSpec **properties,
      gint n_properties) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BASE_OBJECT
      Src: /src/glib/gobject/tests/ifaceproperties.c:210,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/ifaceproperties.c:220,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/ifaceproperties.c:216,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/ifaceproperties.c:219,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/ifaceproperties.c:215,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gobject/tests/ifaceproperties.c:223,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gobject/tests/ifaceproperties.c:226,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/tests/ifaceproperties.c:229,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 232
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 232
    functionName: base_object_set_property
    functionSourceFile: /src/glib/gobject/tests/ifaceproperties.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_assert
    - BASE_OBJECT
    - g_assert_not_reached
    - g_value_get_int
    linkageType: ''
    returnType: void
    signature: 'static void base_object_set_property (GObject *object, guint prop_id,
      const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - base_object
    argTypes:
    - BaseObject*
    constantsTouched: []
    func_position:
      end: 320
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 320
    functionName: base_object_init
    functionSourceFile: /src/glib/gobject/tests/ifaceproperties.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void base_object_init (BaseObject *base_object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_type_class_peek
      Src: /src/glib/gobject/tests/ifaceproperties.c:466,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/ifaceproperties.c:468,1
    - Dst: g_object_class_find_property
      Src: /src/glib/gobject/tests/ifaceproperties.c:469,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/ifaceproperties.c:469,1
    - Dst: g_object_class_find_property
      Src: /src/glib/gobject/tests/ifaceproperties.c:468,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/ifaceproperties.c:470,1
    - Dst: g_object_class_find_property
      Src: /src/glib/gobject/tests/ifaceproperties.c:470,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/ifaceproperties.c:471,1
    - Dst: g_object_class_find_property
      Src: /src/glib/gobject/tests/ifaceproperties.c:471,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 472
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 472
    functionName: test_find_overridden
    functionSourceFile: /src/glib/gobject/tests/ifaceproperties.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_type_class_peek
    - g_object_class_find_property
    linkageType: ''
    returnType: void
    signature: 'static void test_find_overridden (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_type_default_interface_peek
      Src: /src/glib/gobject/tests/ifaceproperties.c:514,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/ifaceproperties.c:517,1
    - Dst: assert_in_properties
      Src: /src/glib/gobject/tests/ifaceproperties.c:519,1
    - Dst: g_object_interface_list_properties
      Src: /src/glib/gobject/tests/ifaceproperties.c:516,1
    - Dst: assert_in_properties
      Src: /src/glib/gobject/tests/ifaceproperties.c:518,1
    - Dst: assert_in_properties
      Src: /src/glib/gobject/tests/ifaceproperties.c:520,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/ifaceproperties.c:521,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 522
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 522
    functionName: test_list_interface
    functionSourceFile: /src/glib/gobject/tests/ifaceproperties.c
    functionUses: []
    functionsReached:
    - g_type_default_interface_peek
    - g_assert
    - g_object_interface_list_properties
    - assert_in_properties
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_list_interface (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - object
    argTypes:
    - Base2Object*
    constantsTouched: []
    func_position:
      end: 612
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 612
    functionName: base2_object_init
    functionSourceFile: /src/glib/gobject/tests/ifaceproperties.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void base2_object_init (Base2Object *object) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BASE_OBJECT
      Src: /src/glib/gobject/tests/ifaceproperties.c:240,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/ifaceproperties.c:250,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/ifaceproperties.c:249,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/ifaceproperties.c:246,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/ifaceproperties.c:245,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gobject/tests/ifaceproperties.c:253,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gobject/tests/ifaceproperties.c:256,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/tests/ifaceproperties.c:259,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 262
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 262
    functionName: base_object_get_property
    functionSourceFile: /src/glib/gobject/tests/ifaceproperties.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_assert
    - BASE_OBJECT
    - g_value_set_int
    - g_assert_not_reached
    linkageType: ''
    returnType: void
    signature: 'static void base_object_get_property (GObject *object, guint prop_id,
      GValue *value, GParamSpec *pspec) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BASE_OBJECT
      Src: /src/glib/gobject/tests/ifaceproperties.c:333,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/ifaceproperties.c:338,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/ifaceproperties.c:343,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/ifaceproperties.c:342,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/ifaceproperties.c:339,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/tests/ifaceproperties.c:346,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 349
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 349
    functionName: derived_object_set_property
    functionSourceFile: /src/glib/gobject/tests/ifaceproperties.c
    functionUses: []
    functionsReached:
    - g_assert
    - BASE_OBJECT
    - g_value_get_int
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: "DEFINE_TYPE_FULL (BaseObject, base_object,\n                    \
      \     base_object_class_init, NULL, base_object_init,\n                    \
      \     G_TYPE_OBJECT,\n                         INTERFACE (NULL, TEST_TYPE_IFACE))"
    signature: 'static DEFINE_TYPE_FULL (BaseObject, base_object, base_object_class_init,
      NULL, base_object_init, G_TYPE_OBJECT, INTERFACE (NULL, TEST_TYPE_IFACE)) static
      void derived_object_set_property (GObject *object, guint prop_id, const GValue
      *value, GParamSpec *pspec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/gobject/tests/ifaceproperties.c:619,1
    - Dst: g_test_expect_message
      Src: /src/glib/gobject/tests/ifaceproperties.c:624,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/ifaceproperties.c:626,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gobject/tests/ifaceproperties.c:627,1
    - Dst: g_test_bug
      Src: /src/glib/gobject/tests/ifaceproperties.c:622,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/ifaceproperties.c:629,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 630
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 630
    functionName: test_not_overridden
    functionSourceFile: /src/glib/gobject/tests/ifaceproperties.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_object_unref
    - g_object_new
    - g_test_undefined
    - g_test_bug
    - g_test_expect_message
    linkageType: ''
    returnType: void
    signature: 'static void test_not_overridden (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/ifaceproperties.c:448,1
    - Dst: g_object_freeze_notify
      Src: /src/glib/gobject/tests/ifaceproperties.c:450,1
    - Dst: g_object_notify
      Src: /src/glib/gobject/tests/ifaceproperties.c:451,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/ifaceproperties.c:451,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/ifaceproperties.c:450,1
    - Dst: g_object_notify
      Src: /src/glib/gobject/tests/ifaceproperties.c:452,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/ifaceproperties.c:452,1
    - Dst: g_object_notify
      Src: /src/glib/gobject/tests/ifaceproperties.c:453,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/ifaceproperties.c:453,1
    - Dst: g_object_notify
      Src: /src/glib/gobject/tests/ifaceproperties.c:454,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/ifaceproperties.c:457,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/ifaceproperties.c:454,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/ifaceproperties.c:455,1
    - Dst: g_object_thaw_notify
      Src: /src/glib/gobject/tests/ifaceproperties.c:455,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 458
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 458
    functionName: test_notify
    functionSourceFile: /src/glib/gobject/tests/ifaceproperties.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_object_new
    - g_object_notify
    - g_object_freeze_notify
    - G_OBJECT
    - g_object_thaw_notify
    linkageType: ''
    returnType: void
    signature: 'static void test_notify (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_message
      Src: /src/glib/gobject/tests/closure-refcount.c:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - test
    argTypes:
    - GTest*
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: my_test_init
    functionSourceFile: /src/glib/gobject/tests/closure-refcount.c
    functionUses: []
    functionsReached:
    - g_test_message
    linkageType: ''
    returnType: void
    signature: 'static void my_test_init (GTest * test) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MY_TEST
      Src: /src/glib/gobject/tests/closure-refcount.c:114,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/closure-refcount.c:118,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/tests/closure-refcount.c:121,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 124
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 124
    functionName: my_test_get_property
    functionSourceFile: /src/glib/gobject/tests/closure-refcount.c
    functionUses: []
    functionsReached:
    - MY_TEST
    - g_value_set_int
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: 'static void my_test_get_property (GObject *object, guint prop_id,
      GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_emit
      Src: /src/glib/gobject/tests/closure-refcount.c:136,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/closure-refcount.c:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - test
    - vint
    argTypes:
    - GTest*
    - gint
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: my_test_emit_test_signal1
    functionSourceFile: /src/glib/gobject/tests/closure-refcount.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_signal_emit
    linkageType: ''
    returnType: void
    signature: 'static void my_test_emit_test_signal1 (GTest *test, gint vint) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/closure-refcount.c:149,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gobject/tests/closure-refcount.c:156,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/closure-refcount.c:159,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/closure-refcount.c:155,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/closure-refcount.c:155,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/closure-refcount.c:159,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gobject/tests/closure-refcount.c:160,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gobject/tests/closure-refcount.c:163,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/closure-refcount.c:163,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/closure-refcount.c:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GTestClass*
    constantsTouched: []
    func_position:
      end: 167
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 167
    functionName: my_test_class_init
    functionSourceFile: /src/glib/gobject/tests/closure-refcount.c
    functionUses: []
    functionsReached:
    - G_STRUCT_OFFSET
    - G_TYPE_FROM_CLASS
    - g_param_spec_int
    - g_object_class_install_property
    - G_OBJECT_CLASS
    - g_signal_new
    linkageType: ''
    returnType: void
    signature: 'static void my_test_class_init (GTestClass *klass) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/tests/closure-refcount.c:187,1
    - Dst: test_closure
      Src: /src/glib/gobject/tests/closure-refcount.c:189,1
    - Dst: g_thread_yield
      Src: /src/glib/gobject/tests/closure-refcount.c:193,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gobject/tests/closure-refcount.c:194,1
    - Dst: g_test_message
      Src: /src/glib/gobject/tests/closure-refcount.c:192,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 198
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 198
    functionName: thread1_main
    functionSourceFile: /src/glib/gobject/tests/closure-refcount.c
    functionUses: []
    functionsReached:
    - g_thread_yield
    - g_atomic_int_get
    - g_test_message
    - g_atomic_int_set
    - test_closure
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer thread1_main (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/closure-refcount.c:226,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - test
    - vint
    - user_data
    argTypes:
    - GTest*
    - gint
    - gpointer
    constantsTouched: []
    func_position:
      end: 231
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 231
    functionName: test_signal_handler
    functionSourceFile: /src/glib/gobject/tests/closure-refcount.c
    functionUses: []
    functionsReached:
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_signal_handler (GTest *test, gint vint, gpointer
      user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_connect_closure
      Src: /src/glib/gobject/tests/closure-refcount.c:267,1
    - Dst: g_signal_connect_closure
      Src: /src/glib/gobject/tests/closure-refcount.c:268,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/closure-refcount.c:265,1
    - Dst: g_thread_new
      Src: /src/glib/gobject/tests/closure-refcount.c:273,1
    - Dst: g_thread_new
      Src: /src/glib/gobject/tests/closure-refcount.c:274,1
    - Dst: g_test_message
      Src: /src/glib/gobject/tests/closure-refcount.c:304,1
    - Dst: g_test_message
      Src: /src/glib/gobject/tests/closure-refcount.c:319,1
    - Dst: g_thread_join
      Src: /src/glib/gobject/tests/closure-refcount.c:314,1
    - Dst: g_thread_join
      Src: /src/glib/gobject/tests/closure-refcount.c:313,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/closure-refcount.c:324,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/closure-refcount.c:326,1
    - Dst: g_thread_yield
      Src: /src/glib/gobject/tests/closure-refcount.c:305,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/tests/closure-refcount.c:321,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/closure-refcount.c:325,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/closure-refcount.c:264,1
    - Dst: g_cclosure_new
      Src: /src/glib/gobject/tests/closure-refcount.c:265,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/tests/closure-refcount.c:297,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/tests/closure-refcount.c:298,1
    - Dst: test_emissions
      Src: /src/glib/gobject/tests/closure-refcount.c:301,1
    - Dst: g_test_message
      Src: /src/glib/gobject/tests/closure-refcount.c:310,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/closure-refcount.c:321,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gobject/tests/closure-refcount.c:309,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/closure-refcount.c:322,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/closure-refcount.c:323,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/closure-refcount.c:317,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/tests/closure-refcount.c:322,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 327
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 327
    functionName: test_closure_refcount
    functionSourceFile: /src/glib/gobject/tests/closure-refcount.c
    functionUses: []
    functionsReached:
    - g_thread_yield
    - g_cclosure_new
    - g_assert_true
    - g_object_unref
    - g_object_new
    - g_atomic_int_get
    - test_emissions
    - g_test_message
    - g_thread_new
    - G_CALLBACK
    - g_atomic_int_set
    - g_signal_connect_closure
    - g_thread_join
    linkageType: ''
    returnType: void
    signature: 'static void test_closure_refcount (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MY_TEST
      Src: /src/glib/gobject/tests/closure-refcount.c:96,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/closure-refcount.c:100,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/tests/closure-refcount.c:103,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 106
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 106
    functionName: my_test_set_property
    functionSourceFile: /src/glib/gobject/tests/closure-refcount.c
    functionUses: []
    functionsReached:
    - MY_TEST
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_get_int
    linkageType: ''
    returnType: void
    signature: 'static void my_test_set_property (GObject *object, guint prop_id,
      const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test
    - an_int
    argTypes:
    - GTest*
    - gint
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: my_test_test_signal2
    functionSourceFile: /src/glib/gobject/tests/closure-refcount.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void my_test_test_signal2 (GTest *test, gint an_int) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_emit
      Src: /src/glib/gobject/tests/closure-refcount.c:143,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/closure-refcount.c:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - test
    - vint
    argTypes:
    - GTest*
    - gint
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: my_test_emit_test_signal2
    functionSourceFile: /src/glib/gobject/tests/closure-refcount.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_signal_emit
    linkageType: ''
    returnType: void
    signature: 'static void my_test_emit_test_signal2 (GTest *test, gint vint) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_random_int
      Src: /src/glib/gobject/tests/closure-refcount.c:173,1
    - Dst: g_closure_ref
      Src: /src/glib/gobject/tests/closure-refcount.c:175,1
    - Dst: g_closure_unref
      Src: /src/glib/gobject/tests/closure-refcount.c:178,1
    - Dst: g_closure_sink
      Src: /src/glib/gobject/tests/closure-refcount.c:176,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - closure
    argTypes:
    - GClosure*
    constantsTouched: []
    func_position:
      end: 179
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 179
    functionName: test_closure
    functionSourceFile: /src/glib/gobject/tests/closure-refcount.c
    functionUses: []
    functionsReached:
    - g_closure_sink
    - g_closure_unref
    - g_random_int
    - g_closure_ref
    linkageType: ''
    returnType: void
    signature: 'static void test_closure (GClosure *closure) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/tests/closure-refcount.c:206,1
    - Dst: g_test_message
      Src: /src/glib/gobject/tests/closure-refcount.c:211,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gobject/tests/closure-refcount.c:213,1
    - Dst: test_closure
      Src: /src/glib/gobject/tests/closure-refcount.c:208,1
    - Dst: g_thread_yield
      Src: /src/glib/gobject/tests/closure-refcount.c:212,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 217
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 217
    functionName: thread2_main
    functionSourceFile: /src/glib/gobject/tests/closure-refcount.c
    functionUses: []
    functionsReached:
    - g_thread_yield
    - g_atomic_int_get
    - g_test_message
    - g_atomic_int_set
    - test_closure
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer thread2_main (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/closure-refcount.c:240,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/closure-refcount.c:241,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - user_data
    - closure
    argTypes:
    - gpointer
    - GClosure*
    constantsTouched: []
    func_position:
      end: 242
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 242
    functionName: destroy_data
    functionSourceFile: /src/glib/gobject/tests/closure-refcount.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void destroy_data (gpointer user_data, GClosure *closure) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/closure-refcount.c:333,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/closure-refcount.c:337,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/closure-refcount.c:335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 338
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 338
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/closure-refcount.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: my_test_emit_test_signal1
      Src: /src/glib/gobject/tests/closure-refcount.c:247,1
    - Dst: my_test_emit_test_signal2
      Src: /src/glib/gobject/tests/closure-refcount.c:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - test
    argTypes:
    - GTest*
    constantsTouched: []
    func_position:
      end: 249
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 249
    functionName: test_emissions
    functionSourceFile: /src/glib/gobject/tests/closure-refcount.c
    functionUses: []
    functionsReached:
    - my_test_emit_test_signal2
    - my_test_emit_test_signal1
    linkageType: ''
    returnType: void
    signature: 'static void test_emissions (GTest *test) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - connector
    argTypes:
    - WeakReffedObject*
    constantsTouched: []
    func_position:
      end: 624
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 624
    functionName: weak_reffed_object_init
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void weak_reffed_object_init (WeakReffedObject *connector) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gobject/tests/reference.c:638,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/reference.c:645,1
    - Dst: g_test_bug
      Src: /src/glib/gobject/tests/reference.c:640,1
    - Dst: g_test_summary
      Src: /src/glib/gobject/tests/reference.c:641,1
    - Dst: g_weak_ref_init
      Src: /src/glib/gobject/tests/reference.c:643,1
    - Dst: weak_reffed_object_get_type
      Src: /src/glib/gobject/tests/reference.c:645,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:648,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/reference.c:648,1
    - Dst: g_clear_object
      Src: /src/glib/gobject/tests/reference.c:649,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/reference.c:651,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/tests/reference.c:651,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 652
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 652
    functionName: test_weak_ref_on_dispose
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - g_weak_ref_get
    - g_test_summary
    - g_object_new
    - g_assert_null
    - GUINT_TO_POINTER
    - g_test_bug
    - G_OBJECT
    - g_clear_object
    - weak_reffed_object_get_type
    - g_weak_ref_init
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_weak_ref_on_dispose (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gobject/tests/reference.c:945,1
    - Dst: g_test_rand_int
      Src: /src/glib/gobject/tests/reference.c:962,1
    - Dst: g_test_rand_int
      Src: /src/glib/gobject/tests/reference.c:963,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/reference.c:957,1
    - Dst: g_test_rand_int
      Src: /src/glib/gobject/tests/reference.c:964,1
    - Dst: g_rand_new_with_seed_array
      Src: /src/glib/gobject/tests/reference.c:971,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/reference.c:971,1
    - Dst: g_thread_new
      Src: /src/glib/gobject/tests/reference.c:973,1
    - Dst: g_thread_join
      Src: /src/glib/gobject/tests/reference.c:980,1
    - Dst: g_steal_pointer
      Src: /src/glib/gobject/tests/reference.c:980,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gobject/tests/reference.c:981,1
    - Dst: g_steal_pointer
      Src: /src/glib/gobject/tests/reference.c:987,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:985,1
    - Dst: g_rand_free
      Src: /src/glib/gobject/tests/reference.c:987,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:981,1
    - Dst: g_steal_pointer
      Src: /src/glib/gobject/tests/reference.c:985,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 1
    argNames:
    - testdata
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 988
      start: 942
    functionDepth: 0
    functionLinenumber: 942
    functionLinenumberEnd: 988
    functionName: test_weak_ref_concurrent
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - GPOINTER_TO_INT
    - g_object_unref
    - g_object_new
    - g_test_rand_int
    - G_N_ELEMENTS
    - g_thread_new
    - g_thread_join
    - g_rand_free
    - g_rand_new_with_seed_array
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_weak_ref_concurrent (gconstpointer testdata) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DISPOSE_REFFING_OBJECT
      Src: /src/glib/gobject/tests/reference.c:1104,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1107,1
    - Dst: g_object_add_toggle_ref
      Src: /src/glib/gobject/tests/reference.c:1113,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/tests/reference.c:1118,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1106,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1119,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/reference.c:1125,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/reference.c:1131,1
    - Dst: g_signal_handler_find
      Src: /src/glib/gobject/tests/reference.c:1131,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/reference.c:1134,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1147,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/reference.c:1134,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1141,1
    - Dst: g_object_notify
      Src: /src/glib/gobject/tests/reference.c:1143,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/reference.c:1144,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 1148
      start: 1101
    functionDepth: 0
    functionLinenumber: 1101
    functionLinenumberEnd: 1148
    functionName: dispose_reffing_object_dispose
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - g_object_notify
    - g_assert_cmpuint
    - G_OBJECT_CLASS
    - G_CALLBACK
    - g_object_add_toggle_ref
    - DISPOSE_REFFING_OBJECT
    - g_object_ref
    - g_signal_handler_find
    - g_signal_connect
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void dispose_reffing_object_dispose (GObject *object) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DISPOSE_REFFING_OBJECT
      Src: /src/glib/gobject/tests/reference.c:1161,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/tests/reference.c:1169,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/reference.c:1166,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - object
    - property_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1172
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1172
    functionName: dispose_reffing_object_set_property
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - g_value_get_int
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - DISPOSE_REFFING_OBJECT
    linkageType: ''
    returnType: void
    signature: 'static void dispose_reffing_object_set_property (GObject *object,
      guint property_id, const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/reference.c:1381,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/reference.c:1394,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/reference.c:1399,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/reference.c:1407,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:1408,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/reference.c:1413,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/reference.c:1421,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/reference.c:1422,1
    - Dst: g_clear_object
      Src: /src/glib/gobject/tests/reference.c:1432,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/reference.c:1413,1
    - Dst: g_object_remove_toggle_ref
      Src: /src/glib/gobject/tests/reference.c:1422,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/reference.c:1428,1
    - Dst: g_object_add_toggle_ref
      Src: /src/glib/gobject/tests/reference.c:1366,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/reference.c:1363,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/reference.c:1366,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1371,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/reference.c:1375,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/reference.c:1380,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1382,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/reference.c:1375,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1395,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/reference.c:1399,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/reference.c:1428,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/reference.c:1363,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1367,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:1370,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/reference.c:1386,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/reference.c:1393,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:1425,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/reference.c:1433,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/reference.c:1424,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/reference.c:1361,1
    - Dst: dispose_reffing_object_get_type
      Src: /src/glib/gobject/tests/reference.c:1361,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/reference.c:1369,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/reference.c:1372,1
    - Dst: g_object_remove_toggle_ref
      Src: /src/glib/gobject/tests/reference.c:1381,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/reference.c:1383,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/reference.c:1386,1
    - Dst: g_object_remove_toggle_ref
      Src: /src/glib/gobject/tests/reference.c:1394,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/reference.c:1396,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1409,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1423,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/reference.c:1410,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 68
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1434
      start: 1349
    functionDepth: 0
    functionLinenumber: 1349
    functionLinenumberEnd: 1434
    functionName: test_toggle_ref_and_notify_on_dispose
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - dispose_reffing_object_get_type
    - g_object_new
    - g_object_unref
    - g_assert_null
    - g_object_add_weak_pointer
    - g_assert_cmpuint
    - g_object_remove_toggle_ref
    - G_OBJECT
    - G_CALLBACK
    - g_clear_object
    - g_object_add_toggle_ref
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_toggle_ref_and_notify_on_dispose (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 2
    argNames:
    - value
    - user_data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1509
      start: 1496
    functionDepth: 0
    functionLinenumber: 1496
    functionLinenumberEnd: 1509
    functionName: ref_value
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer ref_value (gpointer value, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:5,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:8,1
    - Dst: G_TYPE_IS_FUNDAMENTAL
      Src: /src/glib/gobject/tests/reference.c:10,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:16,1
    - Dst: G_TYPE_IS_FUNDAMENTAL
      Src: /src/glib/gobject/tests/reference.c:16,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:20,1
    - Dst: G_TYPE_IS_FUNDAMENTAL
      Src: /src/glib/gobject/tests/reference.c:21,1
    - Dst: G_TYPE_IS_FUNDAMENTAL
      Src: /src/glib/gobject/tests/reference.c:22,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:23,1
    - Dst: G_TYPE_IS_FUNDAMENTAL
      Src: /src/glib/gobject/tests/reference.c:23,1
    - Dst: G_TYPE_IS_FUNDAMENTAL
      Src: /src/glib/gobject/tests/reference.c:19,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:29,1
    - Dst: g_object_get_type
      Src: /src/glib/gobject/tests/reference.c:25,1
    - Dst: G_TYPE_IS_FUNDAMENTAL
      Src: /src/glib/gobject/tests/reference.c:6,1
    - Dst: G_TYPE_IS_FUNDAMENTAL
      Src: /src/glib/gobject/tests/reference.c:5,1
    - Dst: G_TYPE_IS_FUNDAMENTAL
      Src: /src/glib/gobject/tests/reference.c:7,1
    - Dst: G_TYPE_IS_FUNDAMENTAL
      Src: /src/glib/gobject/tests/reference.c:8,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:11,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:12,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:10,1
    - Dst: G_TYPE_IS_FUNDAMENTAL
      Src: /src/glib/gobject/tests/reference.c:14,1
    - Dst: G_TYPE_IS_FUNDAMENTAL
      Src: /src/glib/gobject/tests/reference.c:17,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:18,1
    - Dst: g_type_fundamental_next
      Src: /src/glib/gobject/tests/reference.c:29,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:14,1
    - Dst: G_TYPE_IS_FUNDAMENTAL
      Src: /src/glib/gobject/tests/reference.c:15,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:21,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:22,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:24,1
    - Dst: G_TYPE_IS_FUNDAMENTAL
      Src: /src/glib/gobject/tests/reference.c:24,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:26,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:19,1
    - Dst: G_TYPE_IS_FUNDAMENTAL
      Src: /src/glib/gobject/tests/reference.c:26,1
    - Dst: G_TYPE_IS_DERIVED
      Src: /src/glib/gobject/tests/reference.c:27,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:6,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:7,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:9,1
    - Dst: G_TYPE_IS_FUNDAMENTAL
      Src: /src/glib/gobject/tests/reference.c:9,1
    - Dst: G_TYPE_IS_FUNDAMENTAL
      Src: /src/glib/gobject/tests/reference.c:11,1
    - Dst: G_TYPE_IS_FUNDAMENTAL
      Src: /src/glib/gobject/tests/reference.c:13,1
    - Dst: G_TYPE_IS_FUNDAMENTAL
      Src: /src/glib/gobject/tests/reference.c:12,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:13,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:15,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:17,1
    - Dst: G_TYPE_IS_FUNDAMENTAL
      Src: /src/glib/gobject/tests/reference.c:20,1
    - Dst: G_TYPE_IS_FUNDAMENTAL
      Src: /src/glib/gobject/tests/reference.c:18,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:27,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:25,1
    - Dst: G_TYPE_MAKE_FUNDAMENTAL
      Src: /src/glib/gobject/tests/reference.c:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 52
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 30
      start: 2
    functionDepth: 0
    functionLinenumber: 2
    functionLinenumberEnd: 30
    functionName: test_fundamentals
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - G_TYPE_MAKE_FUNDAMENTAL
    - g_assert
    - G_TYPE_IS_FUNDAMENTAL
    - g_object_get_type
    - G_TYPE_IS_DERIVED
    - g_type_fundamental_next
    linkageType: ''
    returnType: void
    signature: 'static void test_fundamentals (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/reference.c:629,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - klass
    argTypes:
    - WeakReffedObjectClass*
    constantsTouched: []
    func_position:
      end: 632
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 632
    functionName: weak_reffed_object_class_init
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void weak_reffed_object_class_init (WeakReffedObjectClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gobject/tests/reference.c:658,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/reference.c:663,1
    - Dst: g_test_summary
      Src: /src/glib/gobject/tests/reference.c:661,1
    - Dst: g_weak_ref_init
      Src: /src/glib/gobject/tests/reference.c:664,1
    - Dst: g_test_bug
      Src: /src/glib/gobject/tests/reference.c:660,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/reference.c:666,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/tests/reference.c:666,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:667,1
    - Dst: g_object_run_dispose
      Src: /src/glib/gobject/tests/reference.c:669,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/reference.c:670,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/tests/reference.c:670,1
    - Dst: g_clear_object
      Src: /src/glib/gobject/tests/reference.c:674,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/tests/reference.c:675,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/reference.c:675,1
    - Dst: g_weak_ref_set
      Src: /src/glib/gobject/tests/reference.c:672,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 676
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 676
    functionName: test_weak_ref_on_run_dispose
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_test_summary
    - g_weak_ref_get
    - g_object_new
    - g_object_unref
    - g_object_run_dispose
    - g_assert_null
    - g_weak_ref_set
    - GUINT_TO_POINTER
    - g_test_bug
    - g_clear_object
    - g_weak_ref_init
    linkageType: ''
    returnType: void
    signature: 'static void test_weak_ref_on_run_dispose (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - connector
    argTypes:
    - DisposeReffingObject*
    constantsTouched: []
    func_position:
      end: 1153
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1153
    functionName: dispose_reffing_object_init
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void dispose_reffing_object_init (DisposeReffingObject *connector) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DISPOSE_REFFING_OBJECT
      Src: /src/glib/gobject/tests/reference.c:1180,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/tests/reference.c:1188,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/reference.c:1185,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - object
    - property_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1191
      start: 1174
    functionDepth: 0
    functionLinenumber: 1174
    functionLinenumberEnd: 1191
    functionName: dispose_reffing_object_get_property
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - g_value_set_int
    - DISPOSE_REFFING_OBJECT
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: 'static void dispose_reffing_object_get_property (GObject *object,
      guint property_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gobject/tests/reference.c:1518,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1519
      start: 1511
    functionDepth: 0
    functionLinenumber: 1511
    functionLinenumberEnd: 1519
    functionName: unref_value
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void unref_value (gpointer value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/reference.c:165,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:177,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:181,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:160,1
    - Dst: g_set_object
      Src: /src/glib/gobject/tests/reference.c:160,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/reference.c:163,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:161,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:166,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:176,1
    - Dst: g_set_object
      Src: /src/glib/gobject/tests/reference.c:181,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/reference.c:179,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:178,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:182,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:168,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:170,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:172,1
    - Dst: g_set_object
      Src: /src/glib/gobject/tests/reference.c:168,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:169,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:173,1
    - Dst: g_set_object
      Src: /src/glib/gobject/tests/reference.c:176,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/reference.c:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 184
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 184
    functionName: test_set
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_object_new
    - g_assert_null
    - g_assert
    - g_set_object
    - g_object_add_weak_pointer
    - g_assert_nonnull
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_set (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/gobject/tests/reference.c:226,1
    - Dst: g_set_object
      Src: /src/glib/gobject/tests/reference.c:229,1
    - Dst: g_clear_object
      Src: /src/glib/gobject/tests/reference.c:245,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/reference.c:229,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/reference.c:230,1
    - Dst: my_object_get_type
      Src: /src/glib/gobject/tests/reference.c:235,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/reference.c:237,1
    - Dst: g_set_object
      Src: /src/glib/gobject/tests/reference.c:240,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:243,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/reference.c:238,1
    - Dst: g_set_object
      Src: /src/glib/gobject/tests/reference.c:237,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/reference.c:232,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/reference.c:233,1
    - Dst: g_clear_object
      Src: /src/glib/gobject/tests/reference.c:244,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/reference.c:238,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/reference.c:240,1
    - Dst: g_set_object
      Src: /src/glib/gobject/tests/reference.c:232,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/reference.c:235,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/reference.c:237,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/reference.c:241,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 246
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 246
    functionName: test_set_derived_type
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_test_summary
    - g_object_unref
    - g_object_new
    - g_assert_null
    - g_set_object
    - G_OBJECT
    - my_object_get_type
    - g_clear_object
    - g_assert_false
    linkageType: ''
    returnType: void
    signature: 'static void test_set_derived_type (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_weak_ref_set
      Src: /src/glib/gobject/tests/reference.c:686,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - data
    - object
    - is_last_ref
    argTypes:
    - gpointer
    - GObject*
    - gboolean
    constantsTouched: []
    func_position:
      end: 687
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 687
    functionName: on_weak_ref_toggle_notify
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - g_weak_ref_set
    linkageType: ''
    returnType: void
    signature: 'static void on_weak_ref_toggle_notify (gpointer data, GObject *object,
      gboolean is_last_ref) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gobject/tests/reference.c:703,1
    - Dst: g_test_summary
      Src: /src/glib/gobject/tests/reference.c:706,1
    - Dst: g_weak_ref_init
      Src: /src/glib/gobject/tests/reference.c:708,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/reference.c:710,1
    - Dst: g_test_bug
      Src: /src/glib/gobject/tests/reference.c:705,1
    - Dst: g_object_add_toggle_ref
      Src: /src/glib/gobject/tests/reference.c:711,1
    - Dst: g_object_weak_ref
      Src: /src/glib/gobject/tests/reference.c:712,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:713,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:715,1
    - Dst: g_clear_object
      Src: /src/glib/gobject/tests/reference.c:716,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/tests/reference.c:718,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/reference.c:718,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 719
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 719
    functionName: test_weak_ref_on_toggle_notify
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - g_weak_ref_get
    - g_test_summary
    - g_object_unref
    - g_object_new
    - g_assert_null
    - GUINT_TO_POINTER
    - g_test_bug
    - g_object_weak_ref
    - g_clear_object
    - g_object_add_toggle_ref
    - g_weak_ref_init
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_weak_ref_on_toggle_notify (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:1005,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1010,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/tests/reference.c:1008,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/tests/reference.c:1010,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1008,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - data
    - obj
    - is_last
    argTypes:
    - gpointer
    - GObject*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1013
      start: 998
    functionDepth: 0
    functionLinenumber: 998
    functionLinenumberEnd: 1013
    functionName: toggle_notify
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_atomic_int_get
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void toggle_notify (gpointer data, GObject *obj, gboolean is_last) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/reference.c:1196,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/reference.c:1199,1
    - Dst: g_object_class_install_properties
      Src: /src/glib/gobject/tests/reference.c:1208,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - klass
    argTypes:
    - DisposeReffingObjectClass*
    constantsTouched: []
    func_position:
      end: 1210
      start: 1193
    functionDepth: 0
    functionLinenumber: 1193
    functionLinenumberEnd: 1210
    functionName: dispose_reffing_object_class_init
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - g_param_spec_int
    - g_object_class_install_properties
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void dispose_reffing_object_class_init (DisposeReffingObjectClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DISPOSE_REFFING_OBJECT
      Src: /src/glib/gobject/tests/reference.c:1327,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:1332,1
    - Dst: g_object_add_toggle_ref
      Src: /src/glib/gobject/tests/reference.c:1331,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - object
    - pspec
    - data
    argTypes:
    - GObject*
    - GParamSpec*
    - void*
    constantsTouched: []
    func_position:
      end: 1333
      start: 1322
    functionDepth: 0
    functionLinenumber: 1322
    functionLinenumberEnd: 1333
    functionName: on_object_notify_switch_to_toggle_ref
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - g_object_add_toggle_ref
    - DISPOSE_REFFING_OBJECT
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void on_object_notify_switch_to_toggle_ref (GObject *object,
      GParamSpec *pspec, void *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_type_set_qdata
      Src: /src/glib/gobject/tests/reference.c:37,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/reference.c:39,1
    - Dst: g_type_get_qdata
      Src: /src/glib/gobject/tests/reference.c:38,1
    - Dst: g_quark_from_string
      Src: /src/glib/gobject/tests/reference.c:37,1
    - Dst: g_quark_from_string
      Src: /src/glib/gobject/tests/reference.c:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: test_type_qdata
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - g_type_set_qdata
    - g_assert_cmpstr
    - g_type_get_qdata
    - g_quark_from_string
    linkageType: ''
    returnType: void
    signature: 'static void test_type_qdata (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:193,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/reference.c:198,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:209,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:205,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:194,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:199,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:201,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:210,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:214,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:215,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/reference.c:216,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/reference.c:196,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:202,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:203,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:206,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:211,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/reference.c:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 217
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 217
    functionName: test_set_function
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_object_new
    - g_assert_null
    - g_assert
    - g_object_add_weak_pointer
    - g_assert_nonnull
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_set_function (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - data
    - obj
    - is_last
    argTypes:
    - gpointer
    - GObject*
    - gboolean
    constantsTouched: []
    func_position:
      end: 254
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 254
    functionName: toggle_cb
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void toggle_cb (gpointer data, GObject *obj, gboolean is_last) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:693,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:696,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/tests/reference.c:695,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - data
    - object
    argTypes:
    - gpointer
    - GObject*
    constantsTouched: []
    func_position:
      end: 697
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 697
    functionName: on_weak_ref_toggle_notify_disposed
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_object_ref
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void on_weak_ref_toggle_notify_disposed (gpointer data, GObject
      *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_weak_ref_init
      Src: /src/glib/gobject/tests/reference.c:737,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/reference.c:738,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/tests/reference.c:738,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/reference.c:741,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:739,1
    - Dst: g_weak_ref_set
      Src: /src/glib/gobject/tests/reference.c:742,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:743,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/reference.c:745,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/tests/reference.c:745,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - data
    - object
    - is_last_ref
    argTypes:
    - gpointer
    - GObject*
    - gboolean
    constantsTouched: []
    func_position:
      end: 746
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 746
    functionName: weak_ref_in_toggle_notify_toggle_cb
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - g_weak_ref_get
    - g_assert_true
    - g_object_unref
    - g_object_new
    - g_assert_null
    - g_weak_ref_set
    - g_weak_ref_init
    linkageType: ''
    returnType: void
    signature: 'static void weak_ref_in_toggle_notify_toggle_cb (gpointer data, GObject
      *object, gboolean is_last_ref) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/reference.c:1021,1
    - Dst: g_object_add_toggle_ref
      Src: /src/glib/gobject/tests/reference.c:1024,1
    - Dst: g_object_add_toggle_ref
      Src: /src/glib/gobject/tests/reference.c:1023,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:1029,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1031,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1032,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/tests/reference.c:1034,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1036,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1037,1
    - Dst: g_object_remove_toggle_ref
      Src: /src/glib/gobject/tests/reference.c:1039,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:1041,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1049,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1055,1
    - Dst: g_object_remove_toggle_ref
      Src: /src/glib/gobject/tests/reference.c:1057,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:1053,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/tests/reference.c:1047,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1043,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1058
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1058
    functionName: test_toggle_ref
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_object_new
    - g_object_remove_toggle_ref
    - g_object_add_toggle_ref
    - g_object_ref
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_toggle_ref (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/reference.c:1225,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/reference.c:1228,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/reference.c:1227,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/reference.c:1244,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/reference.c:1246,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/reference.c:1248,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/reference.c:1249,1
    - Dst: g_object_remove_toggle_ref
      Src: /src/glib/gobject/tests/reference.c:1262,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/reference.c:1272,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/reference.c:1272,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/reference.c:1286,1
    - Dst: g_clear_object
      Src: /src/glib/gobject/tests/reference.c:1291,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/reference.c:1228,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1249,1
    - Dst: g_object_remove_toggle_ref
      Src: /src/glib/gobject/tests/reference.c:1244,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1237,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/reference.c:1254,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/reference.c:1267,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/reference.c:1268,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1278,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/reference.c:1278,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1279,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1280,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1287,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/reference.c:1292,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/reference.c:1277,1
    - Dst: dispose_reffing_object_get_type
      Src: /src/glib/gobject/tests/reference.c:1225,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/reference.c:1231,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1232,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/reference.c:1235,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:1236,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1245,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/reference.c:1238,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/reference.c:1261,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/reference.c:1262,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1263,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/reference.c:1287,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1264,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:1276,1
    - Dst: g_object_add_toggle_ref
      Src: /src/glib/gobject/tests/reference.c:1231,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/tests/reference.c:1249,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/reference.c:1254,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1268,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/tests/reference.c:1278,1
    - Dst: g_object_remove_toggle_ref
      Src: /src/glib/gobject/tests/reference.c:1285,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/reference.c:1285,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/tests/reference.c:1287,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1288,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/tests/reference.c:1268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 68
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1293
      start: 1212
    functionDepth: 0
    functionLinenumber: 1212
    functionLinenumberEnd: 1293
    functionName: test_toggle_ref_on_dispose
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - dispose_reffing_object_get_type
    - g_object_new
    - g_object_unref
    - g_assert_null
    - g_atomic_int_get
    - g_object_add_weak_pointer
    - g_assert_cmpuint
    - g_object_remove_toggle_ref
    - G_OBJECT
    - G_CALLBACK
    - g_assert_nonnull
    - g_clear_object
    - g_object_add_toggle_ref
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_toggle_ref_on_dispose (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DISPOSE_REFFING_OBJECT
      Src: /src/glib/gobject/tests/reference.c:1340,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1346,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/tests/reference.c:1345,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - object
    - pspec
    - data
    argTypes:
    - GObject*
    - GParamSpec*
    - void*
    constantsTouched: []
    func_position:
      end: 1347
      start: 1335
    functionDepth: 0
    functionLinenumber: 1335
    functionLinenumberEnd: 1347
    functionName: on_object_notify_add_ref
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - DISPOSE_REFFING_OBJECT
    - g_object_ref
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void on_object_notify_add_ref (GObject *object, GParamSpec
      *pspec, void *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_type_query
      Src: /src/glib/gobject/tests/reference.c:47,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:50,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:51,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/reference.c:49,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: test_type_query
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - g_assert_cmpstr
    - g_type_query
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_type_query (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_object
      Src: /src/glib/gobject/tests/reference.c:115,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/tests/reference.c:120,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/reference.c:118,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:119,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:116,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:121,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:123,1
    - Dst: g_clear_object
      Src: /src/glib/gobject/tests/reference.c:124,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:125,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:126,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 129
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 129
    functionName: test_clear
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_object_new
    - g_assert
    - g_clear_object
    - g_object_ref
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_clear (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/reference.c:264,1
    - Dst: g_value_take_object
      Src: /src/glib/gobject/tests/reference.c:269,1
    - Dst: g_value_get_object
      Src: /src/glib/gobject/tests/reference.c:271,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/reference.c:266,1
    - Dst: g_object_add_toggle_ref
      Src: /src/glib/gobject/tests/reference.c:267,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:272,1
    - Dst: g_value_dup_object
      Src: /src/glib/gobject/tests/reference.c:274,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:275,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:276,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:278,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:280,1
    - Dst: g_object_remove_toggle_ref
      Src: /src/glib/gobject/tests/reference.c:295,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/reference.c:292,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/reference.c:283,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/reference.c:279,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/tests/reference.c:285,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:293,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 296
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 296
    functionName: test_object_value
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_object_new
    - g_assert
    - g_object_remove_toggle_ref
    - g_value_init
    - g_object_add_toggle_ref
    - g_value_take_object
    - g_value_dup_object
    - g_object_ref
    - g_value_get_object
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void test_object_value (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/reference.c:361,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/reference.c:364,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:366,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:362,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/reference.c:365,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:367,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:368,1
    - Dst: g_object_remove_weak_pointer
      Src: /src/glib/gobject/tests/reference.c:370,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:371,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:372,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:373,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:377,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:376,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:375,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 378
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 378
    functionName: test_weak_pointer
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_object_new
    - g_object_unref
    - g_assert
    - g_object_add_weak_pointer
    - g_object_remove_weak_pointer
    linkageType: ''
    returnType: void
    signature: 'static void test_weak_pointer (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:413,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/reference.c:410,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/reference.c:415,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/reference.c:412,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:416,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/reference.c:417,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:420,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/reference.c:421,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:423,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 424
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 424
    functionName: test_weak_pointer_clear_function
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_object_unref
    - g_object_new
    - g_assert_null
    - g_object_add_weak_pointer
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_weak_pointer_clear_function (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_set_data_full
      Src: /src/glib/gobject/tests/reference.c:1461,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gobject/tests/reference.c:1461,1
    - Dst: g_object_steal_data
      Src: /src/glib/gobject/tests/reference.c:1465,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1474,1
    - Dst: g_quark_from_string
      Src: /src/glib/gobject/tests/reference.c:1471,1
    - Dst: g_object_get_qdata
      Src: /src/glib/gobject/tests/reference.c:1473,1
    - Dst: g_object_set_qdata_full
      Src: /src/glib/gobject/tests/reference.c:1475,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:1481,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gobject/tests/reference.c:1483,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:1488,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gobject/tests/reference.c:1458,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1460,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:1462,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:1467,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gobject/tests/reference.c:1472,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1466,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gobject/tests/reference.c:1474,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gobject/tests/reference.c:1475,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:1476,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gobject/tests/reference.c:1460,1
    - Dst: g_object_set_qdata_full
      Src: /src/glib/gobject/tests/reference.c:1472,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1480,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gobject/tests/reference.c:1480,1
    - Dst: g_object_set_qdata_full
      Src: /src/glib/gobject/tests/reference.c:1483,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/reference.c:1454,1
    - Dst: g_object_set_data_full
      Src: /src/glib/gobject/tests/reference.c:1458,1
    - Dst: g_object_get_data
      Src: /src/glib/gobject/tests/reference.c:1459,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gobject/tests/reference.c:1466,1
    - Dst: g_object_steal_qdata
      Src: /src/glib/gobject/tests/reference.c:1479,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:1486,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 49
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1489
      start: 1447
    functionDepth: 0
    functionLinenumber: 1447
    functionLinenumberEnd: 1489
    functionName: test_object_qdata
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - g_object_steal_qdata
    - GPOINTER_TO_INT
    - g_object_get_qdata
    - g_object_unref
    - g_object_new
    - g_quark_from_string
    - g_assert
    - g_object_set_qdata_full
    - g_object_steal_data
    - GINT_TO_POINTER
    - g_object_get_data
    - g_object_set_data_full
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_object_qdata (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - MyObject*
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: my_object_init
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void my_object_init (MyObject *obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/reference.c:140,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:141,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:138,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/tests/reference.c:142,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:143,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:145,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:147,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:148,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 151
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 151
    functionName: test_clear_function
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_object_new
    - g_assert
    - g_object_ref
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_clear_function (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/reference.c:303,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:309,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:312,1
    - Dst: g_object_is_floating
      Src: /src/glib/gobject/tests/reference.c:312,1
    - Dst: g_object_ref_sink
      Src: /src/glib/gobject/tests/reference.c:322,1
    - Dst: g_object_is_floating
      Src: /src/glib/gobject/tests/reference.c:319,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:320,1
    - Dst: g_object_is_floating
      Src: /src/glib/gobject/tests/reference.c:326,1
    - Dst: g_object_take_ref
      Src: /src/glib/gobject/tests/reference.c:329,1
    - Dst: g_object_is_floating
      Src: /src/glib/gobject/tests/reference.c:334,1
    - Dst: g_object_ref_sink
      Src: /src/glib/gobject/tests/reference.c:307,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:304,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:316,1
    - Dst: g_object_force_floating
      Src: /src/glib/gobject/tests/reference.c:318,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/reference.c:325,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:327,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/reference.c:330,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:337,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/reference.c:341,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:347,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:305,1
    - Dst: g_object_is_floating
      Src: /src/glib/gobject/tests/reference.c:304,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:308,1
    - Dst: g_object_is_floating
      Src: /src/glib/gobject/tests/reference.c:308,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:313,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:323,1
    - Dst: g_object_is_floating
      Src: /src/glib/gobject/tests/reference.c:330,1
    - Dst: g_object_take_ref
      Src: /src/glib/gobject/tests/reference.c:333,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gobject/tests/reference.c:349,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:335,1
    - Dst: g_object_ref_sink
      Src: /src/glib/gobject/tests/reference.c:311,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:315,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:319,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/reference.c:326,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:331,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/reference.c:334,1
    - Dst: g_test_expect_message
      Src: /src/glib/gobject/tests/reference.c:344,1
    - Dst: g_test_undefined
      Src: /src/glib/gobject/tests/reference.c:339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 45
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 352
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 352
    functionName: test_initially_unowned
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_object_is_floating
    - g_assert_true
    - g_object_unref
    - g_object_new
    - g_assert
    - g_test_undefined
    - g_test_expect_message
    - g_object_force_floating
    - g_object_take_ref
    - g_assert_false
    - g_object_ref_sink
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_initially_unowned (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_weak_pointer
      Src: /src/glib/gobject/tests/reference.c:386,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/reference.c:387,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:390,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/reference.c:392,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/reference.c:389,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:393,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/reference.c:394,1
    - Dst: g_clear_weak_pointer
      Src: /src/glib/gobject/tests/reference.c:396,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:397,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/reference.c:398,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 401
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 401
    functionName: test_weak_pointer_clear
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_object_unref
    - g_object_new
    - g_assert_null
    - g_object_add_weak_pointer
    - g_clear_weak_pointer
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_weak_pointer_clear (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/reference.c:440,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/reference.c:451,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/reference.c:432,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/reference.c:433,1
    - Dst: g_set_weak_pointer
      Src: /src/glib/gobject/tests/reference.c:438,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:443,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:447,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/reference.c:448,1
    - Dst: g_set_weak_pointer
      Src: /src/glib/gobject/tests/reference.c:446,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/reference.c:435,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:439,1
    - Dst: g_set_weak_pointer
      Src: /src/glib/gobject/tests/reference.c:442,1
    - Dst: g_set_weak_pointer
      Src: /src/glib/gobject/tests/reference.c:432,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:436,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/reference.c:438,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/reference.c:442,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/reference.c:444,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/reference.c:446,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:450,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 452
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 452
    functionName: test_weak_pointer_set
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_object_unref
    - g_object_new
    - g_assert_null
    - g_assert_false
    - g_set_weak_pointer
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_weak_pointer_set (void) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/reference.c:872,1
    - Dst: g_rand_boolean
      Src: /src/glib/gobject/tests/reference.c:868,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:907,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/tests/reference.c:920,1
    - Dst: g_clear_object
      Src: /src/glib/gobject/tests/reference.c:913,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gobject/tests/reference.c:938,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:877,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:885,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:905,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/tests/reference.c:877,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gobject/tests/reference.c:885,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:903,1
    - Dst: g_clear_object
      Src: /src/glib/gobject/tests/reference.c:914,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gobject/tests/reference.c:921,1
    - Dst: g_atomic_int_add
      Src: /src/glib/gobject/tests/reference.c:923,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/tests/reference.c:931,1
    - Dst: g_rand_int
      Src: /src/glib/gobject/tests/reference.c:863,1
    - Dst: g_rand_int
      Src: /src/glib/gobject/tests/reference.c:864,1
    - Dst: g_weak_ref_set
      Src: /src/glib/gobject/tests/reference.c:879,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/tests/reference.c:883,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:901,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:888,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 68
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 940
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 940
    functionName: _test_weak_ref_concurrent_thread_cb
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - g_rand_int
    - g_weak_ref_get
    - g_object_new
    - g_atomic_int_get
    - g_assert
    - g_weak_ref_set
    - G_IS_OBJECT
    - g_rand_boolean
    - g_atomic_int_add
    - g_clear_object
    - g_atomic_int_set
    - GINT_TO_POINTER
    - g_assert_cmpint
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer _test_weak_ref_concurrent_thread_cb (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DISPOSE_REFFING_OBJECT
      Src: /src/glib/gobject/tests/reference.c:1096,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - object
    - pspec
    - data
    argTypes:
    - GObject*
    - GParamSpec*
    - void*
    constantsTouched: []
    func_position:
      end: 1099
      start: 1091
    functionDepth: 0
    functionLinenumber: 1091
    functionLinenumberEnd: 1099
    functionName: on_object_notify
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - DISPOSE_REFFING_OBJECT
    linkageType: ''
    returnType: void
    signature: 'static void on_object_notify (GObject *object, GParamSpec *pspec,
      void *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1442,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gobject/tests/reference.c:1442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1445
      start: 1439
    functionDepth: 0
    functionLinenumber: 1439
    functionLinenumberEnd: 1445
    functionName: data_destroy
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void data_destroy (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/gobject/tests/reference.c:492,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:515,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:526,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:527,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:533,1
    - Dst: g_weak_ref_set
      Src: /src/glib/gobject/tests/reference.c:546,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:547,1
    - Dst: g_weak_ref_clear
      Src: /src/glib/gobject/tests/reference.c:548,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/tests/reference.c:552,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:556,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:558,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:554,1
    - Dst: g_weak_ref_clear
      Src: /src/glib/gobject/tests/reference.c:572,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/reference.c:576,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/tests/reference.c:580,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:583,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/reference.c:591,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:540,1
    - Dst: g_weak_ref_clear
      Src: /src/glib/gobject/tests/reference.c:587,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/tests/reference.c:576,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/tests/reference.c:562,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gobject/tests/reference.c:489,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gobject/tests/reference.c:491,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gobject/tests/reference.c:490,1
    - Dst: g_weak_ref_init
      Src: /src/glib/gobject/tests/reference.c:499,1
    - Dst: g_weak_ref_set
      Src: /src/glib/gobject/tests/reference.c:513,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/reference.c:505,1
    - Dst: g_weak_ref_set
      Src: /src/glib/gobject/tests/reference.c:512,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:520,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:522,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/tests/reference.c:530,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:568,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:570,1
    - Dst: g_weak_ref_set
      Src: /src/glib/gobject/tests/reference.c:575,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:539,1
    - Dst: g_weak_ref_set
      Src: /src/glib/gobject/tests/reference.c:551,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:538,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/tests/reference.c:496,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:500,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/tests/reference.c:500,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/reference.c:502,1
    - Dst: g_weak_ref_init
      Src: /src/glib/gobject/tests/reference.c:510,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:521,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:525,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:531,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:532,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/tests/reference.c:536,1
    - Dst: g_weak_ref_clear
      Src: /src/glib/gobject/tests/reference.c:543,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:562,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/tests/reference.c:547,1
    - Dst: g_weak_ref_set
      Src: /src/glib/gobject/tests/reference.c:565,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:555,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:567,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:590,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:561,1
    - Dst: g_weak_ref_set
      Src: /src/glib/gobject/tests/reference.c:579,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/reference.c:581,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:584,1
    - Dst: g_weak_ref_init
      Src: /src/glib/gobject/tests/reference.c:495,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:496,1
    - Dst: g_weak_ref_init
      Src: /src/glib/gobject/tests/reference.c:509,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:503,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:506,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/tests/reference.c:518,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:519,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/tests/reference.c:524,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:528,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:534,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:537,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:553,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:569,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:582,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/tests/reference.c:566,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 94
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 592
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 592
    functionName: test_weak_ref
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - g_weak_ref_get
    - g_assert_true
    - g_object_unref
    - g_new
    - g_object_new
    - g_assert
    - g_weak_ref_set
    - g_assert_null
    - GUINT_TO_POINTER
    - g_free
    - g_weak_ref_clear
    - g_weak_ref_init
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_weak_ref (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - klass
    argTypes:
    - MyObjectClass*
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: my_object_class_init
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void my_object_class_init (MyObjectClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/reference.c:463,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/reference.c:466,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:467,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/reference.c:472,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/reference.c:474,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/reference.c:460,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/reference.c:461,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/reference.c:468,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:471,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:478,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:464,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/reference.c:479,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/reference.c:470,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:475,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/reference.c:476,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 480
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 480
    functionName: test_weak_pointer_set_function
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_object_unref
    - g_object_new
    - g_assert_null
    - g_assert_false
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_weak_pointer_set_function (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gobject/tests/reference.c:752,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:756,1
    - Dst: g_weak_ref_init
      Src: /src/glib/gobject/tests/reference.c:758,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/reference.c:754,1
    - Dst: g_object_add_toggle_ref
      Src: /src/glib/gobject/tests/reference.c:755,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/reference.c:761,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/tests/reference.c:761,1
    - Dst: g_object_remove_toggle_ref
      Src: /src/glib/gobject/tests/reference.c:763,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:764,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/reference.c:766,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/tests/reference.c:766,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 767
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 767
    functionName: test_weak_ref_in_toggle_notify
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_weak_ref_get
    - g_object_unref
    - g_object_new
    - g_assert_null
    - GUINT_TO_POINTER
    - g_object_remove_toggle_ref
    - g_object_add_toggle_ref
    - g_weak_ref_init
    linkageType: ''
    returnType: void
    signature: 'static void test_weak_ref_in_toggle_notify (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1304,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/tests/reference.c:1306,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/tests/reference.c:1304,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1306,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - data
    - obj
    - is_last
    argTypes:
    - gpointer
    - GObject*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1307
      start: 1295
    functionDepth: 0
    functionLinenumber: 1295
    functionLinenumberEnd: 1307
    functionName: toggle_notify_counter
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void toggle_notify_counter (gpointer data, GObject *obj, gboolean
      is_last) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/gobject/tests/reference.c:1527,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1532
      start: 1521
    functionDepth: 0
    functionLinenumber: 1521
    functionLinenumberEnd: 1532
    functionName: new_value
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - g_new
    linkageType: ''
    returnType: Value*
    signature: 'static Value *new_value (const gchar *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/reference.c:97,1
    - Dst: G_TYPE_CLASS_GET_PRIVATE
      Src: /src/glib/gobject/tests/reference.c:100,1
    - Dst: my_object_get_type
      Src: /src/glib/gobject/tests/reference.c:97,1
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/tests/reference.c:99,1
    - Dst: my_object_get_type
      Src: /src/glib/gobject/tests/reference.c:99,1
    - Dst: my_object_get_type
      Src: /src/glib/gobject/tests/reference.c:100,1
    - Dst: g_type_class_unref
      Src: /src/glib/gobject/tests/reference.c:102,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:104,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:106,1
    - Dst: g_type_qname
      Src: /src/glib/gobject/tests/reference.c:106,1
    - Dst: my_object_get_type
      Src: /src/glib/gobject/tests/reference.c:106,1
    - Dst: g_quark_from_string
      Src: /src/glib/gobject/tests/reference.c:106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 107
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 107
    functionName: test_class_private
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - g_type_class_ref
    - g_object_unref
    - g_object_new
    - g_quark_from_string
    - g_type_qname
    - G_TYPE_CLASS_GET_PRIVATE
    - my_object_get_type
    - g_type_class_unref
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_class_private (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WEAK_REFFED_OBJECT
      Src: /src/glib/gobject/tests/reference.c:609,1
    - Dst: g_weak_ref_set
      Src: /src/glib/gobject/tests/reference.c:613,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/reference.c:615,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:611,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/reference.c:617,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/tests/reference.c:617,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:618,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 619
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 619
    functionName: weak_reffed_object_dispose
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_weak_ref_get
    - g_object_unref
    - g_weak_ref_set
    - G_OBJECT_CLASS
    - WEAK_REFFED_OBJECT
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void weak_reffed_object_dispose (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_slow
      Src: /src/glib/gobject/tests/reference.c:772,1
    - Dst: g_new
      Src: /src/glib/gobject/tests/reference.c:785,1
    - Dst: g_weak_ref_init
      Src: /src/glib/gobject/tests/reference.c:794,1
    - Dst: g_test_rand_int
      Src: /src/glib/gobject/tests/reference.c:790,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/reference.c:783,1
    - Dst: g_test_expect_message
      Src: /src/glib/gobject/tests/reference.c:799,1
    - Dst: g_weak_ref_init
      Src: /src/glib/gobject/tests/reference.c:800,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gobject/tests/reference.c:801,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/reference.c:802,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/tests/reference.c:802,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/reference.c:812,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/tests/reference.c:812,1
    - Dst: g_test_rand_int
      Src: /src/glib/gobject/tests/reference.c:805,1
    - Dst: g_weak_ref_set
      Src: /src/glib/gobject/tests/reference.c:807,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/reference.c:819,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:809,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 820
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 820
    functionName: test_weak_ref_many
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_weak_ref_get
    - g_object_unref
    - g_new
    - g_test_rand_int
    - g_object_new
    - g_test_slow
    - g_assert_null
    - g_weak_ref_set
    - g_free
    - g_test_expect_message
    - g_weak_ref_init
    linkageType: ''
    returnType: void
    signature: 'static void test_weak_ref_many (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DISPOSE_REFFING_OBJECT
      Src: /src/glib/gobject/tests/reference.c:1314,1
    - Dst: g_object_remove_toggle_ref
      Src: /src/glib/gobject/tests/reference.c:1319,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/tests/reference.c:1318,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - object
    - pspec
    - data
    argTypes:
    - GObject*
    - GParamSpec*
    - void*
    constantsTouched: []
    func_position:
      end: 1320
      start: 1309
    functionDepth: 0
    functionLinenumber: 1309
    functionLinenumberEnd: 1320
    functionName: on_object_notify_switch_to_normal_ref
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - DISPOSE_REFFING_OBJECT
    - g_object_remove_toggle_ref
    - g_object_ref
    linkageType: ''
    returnType: void
    signature: 'static void on_object_notify_switch_to_normal_ref (GObject *object,
      GParamSpec *pspec, void *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1550,1
    - Dst: g_object_replace_data
      Src: /src/glib/gobject/tests/reference.c:1564,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/reference.c:1567,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1572,1
    - Dst: new_value
      Src: /src/glib/gobject/tests/reference.c:1574,1
    - Dst: g_object_replace_data
      Src: /src/glib/gobject/tests/reference.c:1575,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:1576,1
    - Dst: unref_value
      Src: /src/glib/gobject/tests/reference.c:1580,1
    - Dst: g_object_replace_data
      Src: /src/glib/gobject/tests/reference.c:1582,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:1583,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1605,1
    - Dst: g_object_get_data
      Src: /src/glib/gobject/tests/reference.c:1595,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/reference.c:1542,1
    - Dst: g_object_set_data_full
      Src: /src/glib/gobject/tests/reference.c:1546,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/reference.c:1549,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/reference.c:1554,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1555,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:1565,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/reference.c:1584,1
    - Dst: g_object_replace_data
      Src: /src/glib/gobject/tests/reference.c:1587,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:1588,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:1599,1
    - Dst: g_object_get_data
      Src: /src/glib/gobject/tests/reference.c:1601,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:1553,1
    - Dst: g_object_dup_data
      Src: /src/glib/gobject/tests/reference.c:1558,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:1560,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:1559,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:1566,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1568,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/reference.c:1571,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/reference.c:1577,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1578,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:1596,1
    - Dst: unref_value
      Src: /src/glib/gobject/tests/reference.c:1593,1
    - Dst: new_value
      Src: /src/glib/gobject/tests/reference.c:1544,1
    - Dst: g_object_get_data
      Src: /src/glib/gobject/tests/reference.c:1548,1
    - Dst: g_object_dup_data
      Src: /src/glib/gobject/tests/reference.c:1552,1
    - Dst: unref_value
      Src: /src/glib/gobject/tests/reference.c:1556,1
    - Dst: new_value
      Src: /src/glib/gobject/tests/reference.c:1562,1
    - Dst: g_object_get_data
      Src: /src/glib/gobject/tests/reference.c:1570,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1585,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:1589,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/reference.c:1590,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1591,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/reference.c:1602,1
    - Dst: ref_value
      Src: /src/glib/gobject/tests/reference.c:1604,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/reference.c:1607,1
    - Dst: g_object_replace_data
      Src: /src/glib/gobject/tests/reference.c:1598,1
    - Dst: unref_value
      Src: /src/glib/gobject/tests/reference.c:1608,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/reference.c:1606,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 78
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1609
      start: 1534
    functionDepth: 0
    functionLinenumber: 1534
    functionLinenumberEnd: 1609
    functionName: test_object_qdata2
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - ref_value
    - g_assert_cmpint
    - g_object_new
    - g_object_unref
    - g_assert
    - g_assert_cmpstr
    - g_object_replace_data
    - new_value
    - g_object_dup_data
    - unref_value
    - g_object_get_data
    - g_object_set_data_full
    linkageType: ''
    returnType: void
    signature: 'static void test_object_qdata2 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/reference.c:1614,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/reference.c:1620,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/reference.c:1621,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/reference.c:1622,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/reference.c:1623,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/reference.c:1624,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/reference.c:1625,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/reference.c:1627,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/reference.c:1628,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/reference.c:1626,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gobject/tests/reference.c:1640,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/reference.c:1644,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/reference.c:1645,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/reference.c:1642,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/reference.c:1639,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/reference.c:1618,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/reference.c:1619,1
    - Dst: g_setenv
      Src: /src/glib/gobject/tests/reference.c:1616,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/reference.c:1633,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/reference.c:1634,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/reference.c:1631,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/reference.c:1632,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/reference.c:1629,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/reference.c:1630,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/reference.c:1635,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/reference.c:1636,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/reference.c:1637,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gobject/tests/reference.c:1641,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/reference.c:1648,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/reference.c:1646,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gobject/tests/reference.c:1640,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/reference.c:1643,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/reference.c:1638,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gobject/tests/reference.c:1641,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1649
      start: 1611
    functionDepth: 0
    functionLinenumber: 1611
    functionLinenumberEnd: 1649
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/reference.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_add_data_func
    - g_setenv
    - g_test_run
    - GINT_TO_POINTER
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gobject/tests/properties.c:56,1
    - Dst: g_strdup
      Src: /src/glib/gobject/tests/properties.c:59,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/properties.c:58,1
    - Dst: g_object_notify_by_pspec
      Src: /src/glib/gobject/tests/properties.c:62,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/properties.c:61,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/properties.c:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - obj
    - baz
    argTypes:
    - TestObject*
    - gchar*
    constantsTouched: []
    func_position:
      end: 64
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 64
    functionName: test_object_set_baz
    functionSourceFile: /src/glib/gobject/tests/properties.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_object_notify_by_pspec
    - g_assert
    - G_OBJECT
    - g_strcmp0
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_object_set_baz (TestObject *obj, const gchar *baz) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/properties.c:199,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/properties.c:201,1
    - Dst: g_param_spec_string
      Src: /src/glib/gobject/tests/properties.c:208,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gobject/tests/properties.c:205,1
    - Dst: g_param_spec_variant
      Src: /src/glib/gobject/tests/properties.c:211,1
    - Dst: g_object_class_install_properties
      Src: /src/glib/gobject/tests/properties.c:219,1
    - Dst: g_param_spec_string
      Src: /src/glib/gobject/tests/properties.c:225,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gobject/tests/properties.c:229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - klass
    argTypes:
    - TestObjectClass*
    constantsTouched: []
    func_position:
      end: 230
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 230
    functionName: test_object_class_init
    functionSourceFile: /src/glib/gobject/tests/properties.c
    functionUses: []
    functionsReached:
    - g_param_spec_boolean
    - g_param_spec_int
    - g_object_class_install_properties
    - g_object_class_install_property
    - G_OBJECT_CLASS
    - g_param_spec_string
    - g_param_spec_variant
    linkageType: ''
    returnType: void
    signature: 'static void test_object_class_init (TestObjectClass *klass) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/properties.c:311,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/tests/properties.c:313,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 314
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 314
    functionName: set_prop
    functionSourceFile: /src/glib/gobject/tests/properties.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_get_int
    linkageType: ''
    returnType: void
    signature: 'static void set_prop (GObject *object, guint prop_id, const GValue
      *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/tests/properties.c:387,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/properties.c:388,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - gobject
    - pspec
    - closure
    argTypes:
    - GObject*
    - GParamSpec*
    - TestNotifyClosure*
    constantsTouched: []
    func_position:
      end: 390
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 390
    functionName: on_notify
    functionSourceFile: /src/glib/gobject/tests/properties.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void on_notify (GObject *gobject, GParamSpec *pspec, TestNotifyClosure
      *closure) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/gobject/tests/properties.c:604,1
    - Dst: g_object_new_with_properties
      Src: /src/glib/gobject/tests/properties.c:613,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/properties.c:610,1
    - Dst: test_object_get_type
      Src: /src/glib/gobject/tests/properties.c:614,1
    - Dst: g_value_set_string
      Src: /src/glib/gobject/tests/properties.c:611,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/properties.c:617,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gobject/tests/properties.c:619,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gobject/tests/properties.c:620,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gobject/tests/properties.c:621,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 622
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 622
    functionName: properties_testv_with_invalid_property_type
    functionSourceFile: /src/glib/gobject/tests/properties.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_failed
    - g_object_unref
    - g_value_set_string
    - g_test_trap_assert_stderr
    - g_value_init
    - g_object_new_with_properties
    - g_test_trap_subprocess
    - test_object_get_type
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void properties_testv_with_invalid_property_type (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/gobject/tests/properties.c:756,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/properties.c:758,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/properties.c:761,1
    - Dst: g_variant_new_string
      Src: /src/glib/gobject/tests/properties.c:760,1
    - Dst: test_object_get_type
      Src: /src/glib/gobject/tests/properties.c:758,1
    - Dst: g_variant_is_floating
      Src: /src/glib/gobject/tests/properties.c:761,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/properties.c:763,1
    - Dst: g_steal_pointer
      Src: /src/glib/gobject/tests/properties.c:763,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/properties.c:766,1
    - Dst: g_variant_is_floating
      Src: /src/glib/gobject/tests/properties.c:766,1
    - Dst: g_object_get
      Src: /src/glib/gobject/tests/properties.c:768,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/properties.c:769,1
    - Dst: g_variant_is_floating
      Src: /src/glib/gobject/tests/properties.c:769,1
    - Dst: g_variant_unref
      Src: /src/glib/gobject/tests/properties.c:772,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/properties.c:773,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/gobject/tests/properties.c:770,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 774
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 774
    functionName: properties_set_property_variant_floating
    functionSourceFile: /src/glib/gobject/tests/properties.c
    functionUses: []
    functionsReached:
    - g_object_set
    - g_steal_pointer
    - g_object_get
    - g_assert_true
    - g_test_summary
    - g_assert_cmpvariant
    - g_object_new
    - g_object_unref
    - g_variant_new_string
    - g_variant_unref
    - g_variant_is_floating
    - g_assert_false
    - test_object_get_type
    linkageType: ''
    returnType: void
    signature: 'static void properties_set_property_variant_floating (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_equal
      Src: /src/glib/gobject/tests/properties.c:73,1
    - Dst: g_clear_pointer
      Src: /src/glib/gobject/tests/properties.c:79,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/properties.c:82,1
    - Dst: g_steal_pointer
      Src: /src/glib/gobject/tests/properties.c:80,1
    - Dst: g_variant_ref
      Src: /src/glib/gobject/tests/properties.c:78,1
    - Dst: g_object_notify_by_pspec
      Src: /src/glib/gobject/tests/properties.c:83,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/properties.c:83,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - obj
    - var
    argTypes:
    - TestObject*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 85
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 85
    functionName: test_object_set_var
    functionSourceFile: /src/glib/gobject/tests/properties.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_variant_equal
    - g_object_notify_by_pspec
    - g_assert
    - G_OBJECT
    - g_clear_pointer
    - g_variant_ref
    linkageType: ''
    returnType: void
    signature: 'static void test_object_set_var (TestObject *obj, GVariant *var) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gobject/tests/properties.c:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - self
    argTypes:
    - TestObject*
    constantsTouched: []
    func_position:
      end: 239
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 239
    functionName: test_object_init
    functionSourceFile: /src/glib/gobject/tests/properties.c
    functionUses: []
    functionsReached:
    - g_strdup
    linkageType: ''
    returnType: void
    signature: 'static void test_object_init (TestObject *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/properties.c:319,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/properties.c:322,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/properties.c:325,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/properties.c:320,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/properties.c:328,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/properties.c:331,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/properties.c:334,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/properties.c:337,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/properties.c:340,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/properties.c:343,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/properties.c:355,1
    - Dst: g_object_class_install_properties
      Src: /src/glib/gobject/tests/properties.c:358,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/properties.c:352,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/properties.c:346,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/properties.c:358,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/properties.c:349,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 43
    argCount: 1
    argNames:
    - class
    argTypes:
    - ManyPropsClass*
    constantsTouched: []
    func_position:
      end: 359
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 359
    functionName: many_props_class_init
    functionSourceFile: /src/glib/gobject/tests/properties.c
    functionUses: []
    functionsReached:
    - g_param_spec_int
    - g_object_class_install_properties
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void many_props_class_init (ManyPropsClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/properties.c:395,1
    - Dst: test_object_get_type
      Src: /src/glib/gobject/tests/properties.c:395,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/properties.c:400,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/properties.c:399,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/properties.c:398,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/properties.c:400,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/properties.c:406,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/properties.c:407,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/properties.c:413,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/properties.c:414,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/properties.c:418,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/properties.c:432,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/properties.c:419,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/properties.c:426,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/properties.c:431,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/properties.c:435,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/properties.c:427,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 436
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 436
    functionName: properties_notify
    functionSourceFile: /src/glib/gobject/tests/properties.c
    functionUses: []
    functionsReached:
    - g_object_set
    - g_object_unref
    - g_object_new
    - g_assert
    - G_CALLBACK
    - test_object_get_type
    - g_signal_connect
    linkageType: ''
    returnType: void
    signature: 'static void properties_notify (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/tests/properties.c:448,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - gobject
    - pspec
    - n
    argTypes:
    - GObject*
    - GParamSpec*
    - Notifys*
    constantsTouched: []
    func_position:
      end: 450
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 450
    functionName: on_notify2
    functionSourceFile: /src/glib/gobject/tests/properties.c
    functionUses: []
    functionsReached:
    - g_assert
    linkageType: ''
    returnType: void
    signature: 'static void on_notify2 (GObject *gobject, GParamSpec *pspec, Notifys
      *n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/gobject/tests/properties.c:628,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/properties.c:635,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gobject/tests/properties.c:638,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/properties.c:634,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/properties.c:637,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/properties.c:640,1
    - Dst: g_value_set_string
      Src: /src/glib/gobject/tests/properties.c:641,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/properties.c:643,1
    - Dst: g_value_set_string
      Src: /src/glib/gobject/tests/properties.c:644,1
    - Dst: g_object_new_with_properties
      Src: /src/glib/gobject/tests/properties.c:646,1
    - Dst: test_object_get_type
      Src: /src/glib/gobject/tests/properties.c:647,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/properties.c:654,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gobject/tests/properties.c:657,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gobject/tests/properties.c:659,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gobject/tests/properties.c:658,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 660
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 660
    functionName: properties_testv_with_invalid_property_names
    functionSourceFile: /src/glib/gobject/tests/properties.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_failed
    - g_object_unref
    - g_value_set_string
    - g_value_set_boolean
    - g_value_set_int
    - g_test_trap_assert_stderr
    - g_value_init
    - g_object_new_with_properties
    - g_test_trap_subprocess
    - test_object_get_type
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void properties_testv_with_invalid_property_names (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/properties.c:788,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gobject/tests/properties.c:789,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/properties.c:791,1
    - Dst: g_value_set_string
      Src: /src/glib/gobject/tests/properties.c:792,1
    - Dst: g_object_new_with_properties
      Src: /src/glib/gobject/tests/properties.c:795,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/properties.c:805,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/properties.c:812,1
    - Dst: g_object_setv
      Src: /src/glib/gobject/tests/properties.c:813,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/properties.c:815,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/properties.c:819,1
    - Dst: test_object_get_type
      Src: /src/glib/gobject/tests/properties.c:796,1
    - Dst: g_object_setv
      Src: /src/glib/gobject/tests/properties.c:809,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/properties.c:807,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/properties.c:816,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/properties.c:785,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/properties.c:786,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/properties.c:798,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/properties.c:805,1
    - Dst: g_object_freeze_notify
      Src: /src/glib/gobject/tests/properties.c:807,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/properties.c:813,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/properties.c:820,1
    - Dst: g_object_thaw_notify
      Src: /src/glib/gobject/tests/properties.c:815,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/properties.c:809,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 821
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 821
    functionName: properties_testv_notify_queue
    functionSourceFile: /src/glib/gobject/tests/properties.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_value_set_string
    - g_value_set_boolean
    - g_value_set_int
    - g_assert_nonnull
    - g_object_freeze_notify
    - G_OBJECT
    - g_value_init
    - G_CALLBACK
    - g_object_setv
    - g_object_new_with_properties
    - g_object_thaw_notify
    - test_object_get_type
    - g_value_unset
    - g_signal_connect
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void properties_testv_notify_queue (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gobject/tests/properties.c:91,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/properties.c:96,1
    - Dst: g_strdup
      Src: /src/glib/gobject/tests/properties.c:94,1
    - Dst: g_object_notify_by_pspec
      Src: /src/glib/gobject/tests/properties.c:97,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/properties.c:93,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/properties.c:97,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - obj
    - quux
    argTypes:
    - TestObject*
    - gchar*
    constantsTouched: []
    func_position:
      end: 99
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 99
    functionName: test_object_set_quux
    functionSourceFile: /src/glib/gobject/tests/properties.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_object_notify_by_pspec
    - g_assert
    - G_OBJECT
    - g_strcmp0
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_object_set_quux (TestObject *obj, const gchar *quux) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_class_find_property
      Src: /src/glib/gobject/tests/properties.c:250,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/properties.c:248,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/properties.c:251,1
    - Dst: g_strdup
      Src: /src/glib/gobject/tests/properties.c:253,1
    - Dst: g_object_class_find_property
      Src: /src/glib/gobject/tests/properties.c:258,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/properties.c:244,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gobject/tests/properties.c:250,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/properties.c:256,1
    - Dst: g_object_class_find_property
      Src: /src/glib/gobject/tests/properties.c:264,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/properties.c:265,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/properties.c:262,1
    - Dst: g_object_class_find_property
      Src: /src/glib/gobject/tests/properties.c:261,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gobject/tests/properties.c:264,1
    - Dst: test_object_get_type
      Src: /src/glib/gobject/tests/properties.c:244,1
    - Dst: g_object_class_find_property
      Src: /src/glib/gobject/tests/properties.c:254,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gobject/tests/properties.c:254,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/properties.c:255,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/properties.c:259,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gobject/tests/properties.c:261,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gobject/tests/properties.c:258,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/properties.c:267,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 268
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 268
    functionName: properties_install
    functionSourceFile: /src/glib/gobject/tests/properties.c
    functionUses: []
    functionsReached:
    - g_object_class_find_property
    - g_strdup
    - g_object_unref
    - g_object_new
    - g_assert
    - G_OBJECT_GET_CLASS
    - test_object_get_type
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void properties_install (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/properties.c:364,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gobject/tests/properties.c:367,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/properties.c:368,1
    - Dst: many_props_get_type
      Src: /src/glib/gobject/tests/properties.c:364,1
    - Dst: g_object_class_find_property
      Src: /src/glib/gobject/tests/properties.c:367,1
    - Dst: g_object_class_find_property
      Src: /src/glib/gobject/tests/properties.c:370,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gobject/tests/properties.c:370,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/properties.c:371,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/properties.c:373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 374
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 374
    functionName: properties_install_many
    functionSourceFile: /src/glib/gobject/tests/properties.c
    functionUses: []
    functionsReached:
    - g_object_class_find_property
    - g_object_unref
    - g_object_new
    - g_assert
    - G_OBJECT_GET_CLASS
    - many_props_get_type
    linkageType: ''
    returnType: void
    signature: 'static void properties_install_many (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/properties.c:682,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/properties.c:684,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/properties.c:690,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/properties.c:692,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/properties.c:697,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/properties.c:693,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/properties.c:692,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/properties.c:674,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/properties.c:673,1
    - Dst: g_object_new_with_properties
      Src: /src/glib/gobject/tests/properties.c:676,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/properties.c:672,1
    - Dst: g_object_getv
      Src: /src/glib/gobject/tests/properties.c:680,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/properties.c:685,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/properties.c:684,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/properties.c:685,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/properties.c:690,1
    - Dst: g_object_getv
      Src: /src/glib/gobject/tests/properties.c:688,1
    - Dst: test_object_get_type
      Src: /src/glib/gobject/tests/properties.c:677,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/properties.c:680,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/properties.c:682,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gobject/tests/properties.c:683,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/properties.c:683,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/properties.c:691,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/properties.c:698,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/properties.c:671,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/properties.c:688,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gobject/tests/properties.c:691,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/properties.c:693,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/properties.c:700,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 701
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 701
    functionName: properties_testv_getv
    functionSourceFile: /src/glib/gobject/tests/properties.c
    functionUses: []
    functionsReached:
    - g_object_getv
    - g_assert_true
    - g_object_unref
    - g_value_get_boolean
    - g_value_get_string
    - G_OBJECT
    - g_value_init
    - g_assert_cmpstr
    - g_object_new_with_properties
    - test_object_get_type
    - g_value_unset
    - g_value_get_int
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void properties_testv_getv (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gobject/tests/properties.c:106,1
    - Dst: g_clear_pointer
      Src: /src/glib/gobject/tests/properties.c:107,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/properties.c:108,1
    - Dst: g_object_notify_by_pspec
      Src: /src/glib/gobject/tests/properties.c:115,1
    - Dst: g_object_notify
      Src: /src/glib/gobject/tests/properties.c:114,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/properties.c:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - gobject
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 118
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 118
    functionName: test_object_finalize
    functionSourceFile: /src/glib/gobject/tests/properties.c
    functionUses: []
    functionsReached:
    - g_object_notify_by_pspec
    - g_object_notify
    - G_OBJECT_CLASS
    - g_clear_pointer
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_object_finalize (GObject *gobject) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_object_get_type
      Src: /src/glib/gobject/tests/properties.c:727,1
    - Dst: g_object_new_with_properties
      Src: /src/glib/gobject/tests/properties.c:727,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/properties.c:739,1
    - Dst: g_test_message
      Src: /src/glib/gobject/tests/properties.c:737,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/properties.c:743,1
    - Dst: g_test_summary
      Src: /src/glib/gobject/tests/properties.c:718,1
    - Dst: g_object_get_property
      Src: /src/glib/gobject/tests/properties.c:730,1
    - Dst: g_object_get_property
      Src: /src/glib/gobject/tests/properties.c:734,1
    - Dst: g_object_get_property
      Src: /src/glib/gobject/tests/properties.c:738,1
    - Dst: g_test_message
      Src: /src/glib/gobject/tests/properties.c:733,1
    - Dst: G_VALUE_HOLDS_STRING
      Src: /src/glib/gobject/tests/properties.c:739,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/properties.c:740,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/properties.c:724,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/properties.c:721,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/properties.c:730,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/properties.c:731,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/properties.c:734,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/properties.c:738,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/properties.c:740,1
    - Dst: g_test_message
      Src: /src/glib/gobject/tests/properties.c:729,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/properties.c:731,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gobject/tests/properties.c:735,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/properties.c:735,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/properties.c:742,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/properties.c:745,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 746
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 746
    functionName: properties_get_property
    functionSourceFile: /src/glib/gobject/tests/properties.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_test_summary
    - g_object_unref
    - G_N_ELEMENTS
    - g_test_message
    - g_value_get_boolean
    - g_value_get_string
    - G_OBJECT
    - g_value_init
    - G_VALUE_HOLDS_STRING
    - g_object_get_property
    - g_object_new_with_properties
    - g_assert_cmpstr
    - test_object_get_type
    - g_value_unset
    - g_value_get_int
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void properties_get_property (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/tests/properties.c:32,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/properties.c:33,1
    - Dst: g_object_notify_by_pspec
      Src: /src/glib/gobject/tests/properties.c:33,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - obj
    - foo
    argTypes:
    - TestObject*
    - gint
    constantsTouched: []
    func_position:
      end: 35
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 35
    functionName: test_object_set_foo
    functionSourceFile: /src/glib/gobject/tests/properties.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_object_notify_by_pspec
    - G_OBJECT
    linkageType: ''
    returnType: void
    signature: 'static void test_object_set_foo (TestObject *obj, gint foo) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/properties.c:128,1
    - Dst: test_object_set_foo
      Src: /src/glib/gobject/tests/properties.c:134,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/properties.c:129,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/properties.c:134,1
    - Dst: test_object_set_bar
      Src: /src/glib/gobject/tests/properties.c:138,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gobject/tests/properties.c:138,1
    - Dst: test_object_set_baz
      Src: /src/glib/gobject/tests/properties.c:142,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/properties.c:142,1
    - Dst: test_object_set_var
      Src: /src/glib/gobject/tests/properties.c:146,1
    - Dst: g_value_get_variant
      Src: /src/glib/gobject/tests/properties.c:146,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/properties.c:150,1
    - Dst: test_object_set_quux
      Src: /src/glib/gobject/tests/properties.c:150,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gobject/tests/properties.c:154,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 19
    argCount: 4
    argNames:
    - gobject
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 156
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 156
    functionName: test_object_set_property
    functionSourceFile: /src/glib/gobject/tests/properties.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - test_object_set_foo
    - g_value_get_boolean
    - g_value_get_string
    - g_assert_not_reached
    - test_object_set_bar
    - test_object_set_baz
    - test_object_set_quux
    - test_object_set_var
    - g_value_get_int
    - g_value_get_variant
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_object_set_property (GObject *gobject, guint prop_id,
      const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: many_props_init
      Src: /src/glib/gobject/tests/properties.c:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - ManyProps
    - many_props
    - G_TYPE_OBJECT
    argTypes:
    - ManyProps
    - many_props
    - G_TYPE_OBJECT
    constantsTouched: []
    func_position:
      end: 286
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 286
    functionName: G_DEFINE_TYPE
    functionSourceFile: /src/glib/gobject/tests/properties.c
    functionUses: []
    functionsReached:
    - many_props_init
    linkageType: ''
    returnType: GType
    signature: 'GType many_props_get_type (void) G_GNUC_CONST; G_DEFINE_TYPE(ManyProps,
      many_props, G_TYPE_OBJECT)static voidmany_props_init (ManyProps *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new_with_properties
      Src: /src/glib/gobject/tests/properties.c:530,1
    - Dst: g_object_getv
      Src: /src/glib/gobject/tests/properties.c:532,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/properties.c:535,1
    - Dst: test_object_get_type
      Src: /src/glib/gobject/tests/properties.c:531,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/properties.c:532,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/properties.c:535,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/properties.c:536,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gobject/tests/properties.c:536,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/properties.c:537,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/properties.c:537,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/properties.c:541,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/properties.c:542,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/properties.c:538,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/properties.c:538,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 543
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 543
    functionName: properties_testv_with_no_properties
    functionSourceFile: /src/glib/gobject/tests/properties.c
    functionUses: []
    functionsReached:
    - g_object_getv
    - g_assert_true
    - g_object_unref
    - g_value_get_boolean
    - g_value_get_string
    - G_OBJECT
    - g_assert_cmpstr
    - g_object_new_with_properties
    - test_object_get_type
    - g_value_unset
    - g_value_get_int
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void properties_testv_with_no_properties (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/tests/properties.c:47,1
    - Dst: g_object_notify_by_pspec
      Src: /src/glib/gobject/tests/properties.c:48,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/properties.c:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - obj
    - bar
    argTypes:
    - TestObject*
    - gboolean
    constantsTouched: []
    func_position:
      end: 50
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 50
    functionName: test_object_set_bar
    functionSourceFile: /src/glib/gobject/tests/properties.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_object_notify_by_pspec
    - G_OBJECT
    linkageType: ''
    returnType: void
    signature: 'static void test_object_set_bar (TestObject *obj, gboolean bar) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/properties.c:166,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/properties.c:172,1
    - Dst: g_value_set_string
      Src: /src/glib/gobject/tests/properties.c:180,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gobject/tests/properties.c:176,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/properties.c:167,1
    - Dst: g_value_set_variant
      Src: /src/glib/gobject/tests/properties.c:184,1
    - Dst: g_value_set_string
      Src: /src/glib/gobject/tests/properties.c:188,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gobject/tests/properties.c:192,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 14
    argCount: 4
    argNames:
    - gobject
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 194
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 194
    functionName: test_object_get_property
    functionSourceFile: /src/glib/gobject/tests/properties.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_value_set_string
    - g_value_set_boolean
    - g_value_set_int
    - g_assert_not_reached
    - g_value_set_variant
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_object_get_property (GObject *gobject, guint prop_id,
      GValue *value, GParamSpec *pspec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/properties.c:297,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/tests/properties.c:299,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 300
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 300
    functionName: get_prop
    functionSourceFile: /src/glib/gobject/tests/properties.c
    functionUses: []
    functionsReached:
    - g_value_set_int
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: 'static void get_prop (GObject *object, guint prop_id, GValue *value,
      GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/properties.c:555,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/properties.c:558,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gobject/tests/properties.c:559,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/properties.c:572,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/properties.c:570,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/properties.c:574,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/properties.c:574,1
    - Dst: g_value_set_string
      Src: /src/glib/gobject/tests/properties.c:581,1
    - Dst: g_object_setv
      Src: /src/glib/gobject/tests/properties.c:583,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/properties.c:583,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/properties.c:588,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/properties.c:595,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/properties.c:598,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/properties.c:596,1
    - Dst: g_value_set_string
      Src: /src/glib/gobject/tests/properties.c:565,1
    - Dst: g_object_new_with_properties
      Src: /src/glib/gobject/tests/properties.c:568,1
    - Dst: test_object_get_type
      Src: /src/glib/gobject/tests/properties.c:569,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/properties.c:575,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gobject/tests/properties.c:573,1
    - Dst: g_object_getv
      Src: /src/glib/gobject/tests/properties.c:570,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/properties.c:575,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/properties.c:587,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/properties.c:590,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/properties.c:590,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/properties.c:594,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/properties.c:585,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/properties.c:591,1
    - Dst: g_value_set_string
      Src: /src/glib/gobject/tests/properties.c:562,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gobject/tests/properties.c:588,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/properties.c:591,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/properties.c:593,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/properties.c:556,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/properties.c:561,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/properties.c:564,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/properties.c:573,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/properties.c:572,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/properties.c:577,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/properties.c:578,1
    - Dst: g_value_set_string
      Src: /src/glib/gobject/tests/properties.c:582,1
    - Dst: g_object_getv
      Src: /src/glib/gobject/tests/properties.c:585,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/properties.c:587,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 49
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 599
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 599
    functionName: properties_testv_with_valid_properties
    functionSourceFile: /src/glib/gobject/tests/properties.c
    functionUses: []
    functionsReached:
    - g_object_getv
    - g_assert_true
    - g_object_unref
    - g_value_set_string
    - g_value_set_boolean
    - g_value_get_boolean
    - g_value_set_int
    - g_value_get_string
    - G_N_ELEMENTS
    - G_OBJECT
    - g_value_init
    - g_assert_cmpstr
    - g_object_setv
    - g_object_new_with_properties
    - test_object_get_type
    - g_value_unset
    - g_value_get_int
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void properties_testv_with_valid_properties (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/properties.c:826,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/properties.c:828,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/properties.c:829,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/properties.c:831,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/properties.c:830,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/properties.c:832,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/properties.c:833,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/properties.c:834,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/properties.c:836,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/properties.c:838,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/properties.c:844,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/properties.c:845,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/properties.c:848,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/properties.c:840,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/properties.c:842,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 849
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 849
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/properties.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/properties.c:455,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/properties.c:465,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/properties.c:465,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/properties.c:458,1
    - Dst: test_object_get_type
      Src: /src/glib/gobject/tests/properties.c:455,1
    - Dst: g_object_freeze_notify
      Src: /src/glib/gobject/tests/properties.c:467,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/properties.c:467,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/properties.c:468,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/properties.c:469,1
    - Dst: g_object_thaw_notify
      Src: /src/glib/gobject/tests/properties.c:470,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/properties.c:473,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/properties.c:470,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/properties.c:471,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 474
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 474
    functionName: properties_notify_queue
    functionSourceFile: /src/glib/gobject/tests/properties.c
    functionUses: []
    functionsReached:
    - g_object_set
    - g_object_unref
    - g_object_new
    - g_assert
    - g_object_freeze_notify
    - G_OBJECT
    - G_CALLBACK
    - g_object_thaw_notify
    - test_object_get_type
    - g_signal_connect
    linkageType: ''
    returnType: void
    signature: 'static void properties_notify_queue (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/gobject/tests/properties.c:484,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/properties.c:487,1
    - Dst: g_object_get
      Src: /src/glib/gobject/tests/properties.c:510,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/properties.c:511,1
    - Dst: test_object_get_type
      Src: /src/glib/gobject/tests/properties.c:487,1
    - Dst: g_object_get
      Src: /src/glib/gobject/tests/properties.c:512,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/properties.c:513,1
    - Dst: g_object_get
      Src: /src/glib/gobject/tests/properties.c:514,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/properties.c:515,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/properties.c:516,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/properties.c:518,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 519
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 519
    functionName: properties_construct
    functionSourceFile: /src/glib/gobject/tests/properties.c
    functionUses: []
    functionsReached:
    - g_object_get
    - g_object_unref
    - g_object_new
    - g_assert
    - g_test_bug
    - g_assert_cmpstr
    - test_object_get_type
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void properties_construct (void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/deprecated-properties.c:54,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gobject/tests/deprecated-properties.c:72,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/deprecated-properties.c:66,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/deprecated-properties.c:58,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/deprecated-properties.c:62,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 11
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - param_spec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 74
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 74
    functionName: my_object_set_property
    functionSourceFile: /src/glib/gobject/tests/deprecated-properties.c
    functionUses: []
    functionsReached:
    - g_value_get_int
    - g_assert_not_reached
    linkageType: ''
    returnType: void
    signature: 'static void my_object_set_property (GObject *object, guint prop_id,
      const GValue *value, GParamSpec *param_spec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/deprecated-properties.c:112,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/deprecated-properties.c:118,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/deprecated-properties.c:123,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/deprecated-properties.c:114,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/deprecated-properties.c:128,1
    - Dst: g_object_class_install_properties
      Src: /src/glib/gobject/tests/deprecated-properties.c:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - cls
    argTypes:
    - MyObjectClass*
    constantsTouched: []
    func_position:
      end: 137
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 137
    functionName: my_object_class_init
    functionSourceFile: /src/glib/gobject/tests/deprecated-properties.c
    functionUses: []
    functionsReached:
    - g_param_spec_int
    - g_object_class_install_properties
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void my_object_class_init (MyObjectClass *cls) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/gobject/tests/deprecated-properties.c:175,1
    - Dst: g_log_set_fatal_mask
      Src: /src/glib/gobject/tests/deprecated-properties.c:181,1
    - Dst: my_object_get_type
      Src: /src/glib/gobject/tests/deprecated-properties.c:183,1
    - Dst: g_log_set_always_fatal
      Src: /src/glib/gobject/tests/deprecated-properties.c:180,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/deprecated-properties.c:183,1
    - Dst: g_printerr
      Src: /src/glib/gobject/tests/deprecated-properties.c:185,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/deprecated-properties.c:186,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/deprecated-properties.c:187,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/deprecated-properties.c:188,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/deprecated-properties.c:189,1
    - Dst: g_test_bug
      Src: /src/glib/gobject/tests/deprecated-properties.c:194,1
    - Dst: g_test_trap_assert_stderr_unmatched
      Src: /src/glib/gobject/tests/deprecated-properties.c:196,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/gobject/tests/deprecated-properties.c:198,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gobject/tests/deprecated-properties.c:195,1
    - Dst: g_clear_object
      Src: /src/glib/gobject/tests/deprecated-properties.c:190,1
    - Dst: g_test_trap_assert_stderr_unmatched
      Src: /src/glib/gobject/tests/deprecated-properties.c:197,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 199
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 199
    functionName: test_def_construct
    functionSourceFile: /src/glib/gobject/tests/deprecated-properties.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_passed
    - g_printerr
    - g_object_new
    - g_log_set_always_fatal
    - g_test_bug
    - g_log_set_fatal_mask
    - g_test_trap_assert_stderr_unmatched
    - my_object_get_type
    - g_clear_object
    - g_test_trap_subprocess
    - g_test_subprocess
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_def_construct (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - MyObject*
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: my_object_init
    functionSourceFile: /src/glib/gobject/tests/deprecated-properties.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void my_object_init (MyObject *self) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/gobject/tests/deprecated-properties.c:142,1
    - Dst: my_object_get_type
      Src: /src/glib/gobject/tests/deprecated-properties.c:150,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/deprecated-properties.c:150,1
    - Dst: g_log_set_always_fatal
      Src: /src/glib/gobject/tests/deprecated-properties.c:147,1
    - Dst: g_log_set_fatal_mask
      Src: /src/glib/gobject/tests/deprecated-properties.c:148,1
    - Dst: g_printerr
      Src: /src/glib/gobject/tests/deprecated-properties.c:156,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/deprecated-properties.c:157,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/deprecated-properties.c:158,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/deprecated-properties.c:159,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/deprecated-properties.c:160,1
    - Dst: g_clear_object
      Src: /src/glib/gobject/tests/deprecated-properties.c:161,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gobject/tests/deprecated-properties.c:167,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gobject/tests/deprecated-properties.c:166,1
    - Dst: g_test_trap_assert_stderr_unmatched
      Src: /src/glib/gobject/tests/deprecated-properties.c:168,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/gobject/tests/deprecated-properties.c:169,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gobject/tests/deprecated-properties.c:165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 170
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 170
    functionName: test_construct
    functionSourceFile: /src/glib/gobject/tests/deprecated-properties.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_passed
    - g_printerr
    - g_object_new
    - g_log_set_always_fatal
    - g_test_trap_assert_stderr
    - g_log_set_fatal_mask
    - g_test_trap_assert_stderr_unmatched
    - my_object_get_type
    - g_clear_object
    - g_test_trap_subprocess
    - g_test_subprocess
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_construct (void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/deprecated-properties.c:87,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/deprecated-properties.c:91,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gobject/tests/deprecated-properties.c:105,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/deprecated-properties.c:99,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/deprecated-properties.c:95,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 7
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - param_spec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 107
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 107
    functionName: my_object_get_property
    functionSourceFile: /src/glib/gobject/tests/deprecated-properties.c
    functionUses: []
    functionsReached:
    - g_value_set_int
    - g_assert_not_reached
    linkageType: ''
    returnType: void
    signature: 'static void my_object_get_property (GObject *object, guint prop_id,
      GValue *value, GParamSpec *param_spec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_log_set_fatal_mask
      Src: /src/glib/gobject/tests/deprecated-properties.c:210,1
    - Dst: g_printerr
      Src: /src/glib/gobject/tests/deprecated-properties.c:214,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/deprecated-properties.c:217,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/gobject/tests/deprecated-properties.c:241,1
    - Dst: my_object_get_type
      Src: /src/glib/gobject/tests/deprecated-properties.c:212,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/deprecated-properties.c:218,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/deprecated-properties.c:228,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/deprecated-properties.c:227,1
    - Dst: g_test_bug
      Src: /src/glib/gobject/tests/deprecated-properties.c:236,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gobject/tests/deprecated-properties.c:238,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gobject/tests/deprecated-properties.c:239,1
    - Dst: g_test_trap_assert_stderr_unmatched
      Src: /src/glib/gobject/tests/deprecated-properties.c:240,1
    - Dst: g_log_set_always_fatal
      Src: /src/glib/gobject/tests/deprecated-properties.c:209,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/deprecated-properties.c:212,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/deprecated-properties.c:216,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/deprecated-properties.c:229,1
    - Dst: g_test_subprocess
      Src: /src/glib/gobject/tests/deprecated-properties.c:204,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/deprecated-properties.c:215,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gobject/tests/deprecated-properties.c:237,1
    - Dst: g_printerr
      Src: /src/glib/gobject/tests/deprecated-properties.c:226,1
    - Dst: g_clear_object
      Src: /src/glib/gobject/tests/deprecated-properties.c:232,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/deprecated-properties.c:230,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/deprecated-properties.c:220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 242
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 242
    functionName: test_set
    functionSourceFile: /src/glib/gobject/tests/deprecated-properties.c
    functionUses: []
    functionsReached:
    - g_object_set
    - g_test_trap_assert_passed
    - g_printerr
    - g_object_new
    - g_log_set_always_fatal
    - g_test_trap_assert_stderr
    - g_test_bug
    - g_log_set_fatal_mask
    - g_test_trap_assert_stderr_unmatched
    - my_object_get_type
    - g_clear_object
    - g_test_trap_subprocess
    - g_test_subprocess
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_set (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/deprecated-properties.c:247,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/deprecated-properties.c:253,1
    - Dst: g_setenv
      Src: /src/glib/gobject/tests/deprecated-properties.c:249,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/deprecated-properties.c:252,1
    - Dst: g_test_set_nonfatal_assertions
      Src: /src/glib/gobject/tests/deprecated-properties.c:251,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/deprecated-properties.c:254,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/deprecated-properties.c:255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 256
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 256
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/deprecated-properties.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_set_nonfatal_assertions
    - g_setenv
    - g_test_run
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/tests/custom-dispatch.c:52,1
    - Dst: g_object_notify_by_pspec
      Src: /src/glib/gobject/tests/custom-dispatch.c:53,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/custom-dispatch.c:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - obj
    - foo
    argTypes:
    - TestObject*
    - gint
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: test_object_set_foo
    functionSourceFile: /src/glib/gobject/tests/custom-dispatch.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_object_notify_by_pspec
    - G_OBJECT
    linkageType: ''
    returnType: void
    signature: 'static void test_object_set_foo (TestObject *obj, gint foo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/custom-dispatch.c:87,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gobject/tests/custom-dispatch.c:91,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 4
    argNames:
    - gobject
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 93
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 93
    functionName: test_object_get_property
    functionSourceFile: /src/glib/gobject/tests/custom-dispatch.c
    functionUses: []
    functionsReached:
    - g_value_set_int
    - g_assert_not_reached
    linkageType: ''
    returnType: void
    signature: 'static void test_object_get_property (GObject *gobject, guint prop_id,
      GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/custom-dispatch.c:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - object
    - n_pspecs
    - pspecs
    argTypes:
    - GObject*
    - guint
    - GParamSpec**
    constantsTouched: []
    func_position:
      end: 105
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 105
    functionName: test_object_dispatch_properties_changed
    functionSourceFile: /src/glib/gobject/tests/custom-dispatch.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void test_object_dispatch_properties_changed (GObject *object,
      guint n_pspecs, GParamSpec **pspecs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - TestObject*
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: test_object_init
    functionSourceFile: /src/glib/gobject/tests/custom-dispatch.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_object_init (TestObject *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/gobject/tests/custom-dispatch.c:172,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/custom-dispatch.c:175,1
    - Dst: test_object_get_type
      Src: /src/glib/gobject/tests/custom-dispatch.c:175,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/custom-dispatch.c:177,1
    - Dst: object_has_notify_signal_handlers
      Src: /src/glib/gobject/tests/custom-dispatch.c:177,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/custom-dispatch.c:179,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/custom-dispatch.c:180,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/custom-dispatch.c:181,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/custom-dispatch.c:182,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/custom-dispatch.c:183,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/custom-dispatch.c:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 186
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 186
    functionName: test_custom_dispatch_set
    functionSourceFile: /src/glib/gobject/tests/custom-dispatch.c
    functionUses: []
    functionsReached:
    - object_has_notify_signal_handlers
    - g_object_set
    - g_test_summary
    - g_object_unref
    - g_object_new
    - g_assert_false
    - test_object_get_type
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_custom_dispatch_set (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_object_set_foo
      Src: /src/glib/gobject/tests/custom-dispatch.c:68,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/custom-dispatch.c:68,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gobject/tests/custom-dispatch.c:72,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - gobject
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 74
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 74
    functionName: test_object_set_property
    functionSourceFile: /src/glib/gobject/tests/custom-dispatch.c
    functionUses: []
    functionsReached:
    - g_value_get_int
    - g_assert_not_reached
    - test_object_set_foo
    linkageType: ''
    returnType: void
    signature: 'static void test_object_set_property (GObject *gobject, guint prop_id,
      const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/custom-dispatch.c:111,1
    - Dst: g_object_class_install_properties
      Src: /src/glib/gobject/tests/custom-dispatch.c:124,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/custom-dispatch.c:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - klass
    argTypes:
    - TestObjectClass*
    constantsTouched: []
    func_position:
      end: 125
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 125
    functionName: test_object_class_init
    functionSourceFile: /src/glib/gobject/tests/custom-dispatch.c
    functionUses: []
    functionsReached:
    - g_param_spec_int
    - g_object_class_install_properties
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void test_object_class_init (TestObjectClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_lookup
      Src: /src/glib/gobject/tests/custom-dispatch.c:136,1
    - Dst: g_signal_handler_find
      Src: /src/glib/gobject/tests/custom-dispatch.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - instance
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: object_has_notify_signal_handlers
    functionSourceFile: /src/glib/gobject/tests/custom-dispatch.c
    functionUses: []
    functionsReached:
    - g_signal_lookup
    - g_signal_handler_find
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean object_has_notify_signal_handlers (gpointer instance) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/custom-dispatch.c:191,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/custom-dispatch.c:196,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/custom-dispatch.c:194,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/custom-dispatch.c:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 197
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 197
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/custom-dispatch.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/gobject/tests/custom-dispatch.c:146,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/custom-dispatch.c:150,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/custom-dispatch.c:152,1
    - Dst: object_has_notify_signal_handlers
      Src: /src/glib/gobject/tests/custom-dispatch.c:152,1
    - Dst: test_object_get_type
      Src: /src/glib/gobject/tests/custom-dispatch.c:150,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/custom-dispatch.c:154,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/custom-dispatch.c:155,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/custom-dispatch.c:156,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/custom-dispatch.c:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 159
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 159
    functionName: test_custom_dispatch_init
    functionSourceFile: /src/glib/gobject/tests/custom-dispatch.c
    functionUses: []
    functionsReached:
    - object_has_notify_signal_handlers
    - g_object_set
    - g_test_summary
    - g_object_unref
    - g_object_new
    - g_assert_false
    - test_object_get_type
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_custom_dispatch_init (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - BarInterface*
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: bar_default_init
    functionSourceFile: /src/glib/gobject/tests/type.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void bar_default_init (BarInterface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - BooInterface*
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: boo_default_init
    functionSourceFile: /src/glib/gobject/tests/type.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void boo_default_init (BooInterface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - FooInterface*
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: foo_default_init
    functionSourceFile: /src/glib/gobject/tests/type.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void foo_default_init (FooInterface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - BaaInterface*
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: baa_default_init
    functionSourceFile: /src/glib/gobject/tests/type.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void baa_default_init (BaaInterface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - BibiInterface*
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: bibi_default_init
    functionSourceFile: /src/glib/gobject/tests/type.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void bibi_default_init (BibiInterface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - BozoInterface*
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: bozo_default_init
    functionSourceFile: /src/glib/gobject/tests/type.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void bozo_default_init (BozoInterface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - c
    argTypes:
    - BazoClass*
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: bazo_class_init
    functionSourceFile: /src/glib/gobject/tests/type.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void bazo_class_init (BazoClass *c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_type_add_interface_check
      Src: /src/glib/gobject/tests/type.c:186,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/type.c:188,1
    - Dst: g_object_ref_sink
      Src: /src/glib/gobject/tests/type.c:187,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/type.c:187,1
    - Dst: bazo_get_type
      Src: /src/glib/gobject/tests/type.c:187,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/type.c:189,1
    - Dst: g_type_remove_interface_check
      Src: /src/glib/gobject/tests/type.c:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 191
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 191
    functionName: test_interface_check
    functionSourceFile: /src/glib/gobject/tests/type.c
    functionUses: []
    functionsReached:
    - g_type_add_interface_check
    - g_object_unref
    - g_object_new
    - g_type_remove_interface_check
    - bazo_get_type
    - g_object_ref_sink
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_interface_check (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_type_get_type_registration_serial
      Src: /src/glib/gobject/tests/type.c:7,1
    - Dst: g_pointer_type_register_static
      Src: /src/glib/gobject/tests/type.c:8,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/type.c:10,1
    - Dst: g_type_get_type_registration_serial
      Src: /src/glib/gobject/tests/type.c:9,1
    - Dst: g_type_get_type_registration_serial
      Src: /src/glib/gobject/tests/type.c:11,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/type.c:12,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 13
      start: 2
    functionDepth: 0
    functionLinenumber: 2
    functionLinenumberEnd: 13
    functionName: test_registration_serial
    functionSourceFile: /src/glib/gobject/tests/type.c
    functionUses: []
    functionsReached:
    - g_type_get_type_registration_serial
    - g_pointer_type_register_static
    - g_assert
    linkageType: ''
    returnType: void
    signature: 'static void test_registration_serial (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/type.c:108,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/type.c:110,1
    - Dst: g_type_interface_peek_parent
      Src: /src/glib/gobject/tests/type.c:114,1
    - Dst: g_type_default_interface_unref
      Src: /src/glib/gobject/tests/type.c:116,1
    - Dst: g_type_interface_instantiatable_prerequisite
      Src: /src/glib/gobject/tests/type.c:120,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/type.c:115,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/type.c:118,1
    - Dst: g_type_interface_instantiatable_prerequisite
      Src: /src/glib/gobject/tests/type.c:121,1
    - Dst: boo_get_type
      Src: /src/glib/gobject/tests/type.c:121,1
    - Dst: g_type_interface_instantiatable_prerequisite
      Src: /src/glib/gobject/tests/type.c:123,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/type.c:109,1
    - Dst: foo_get_type
      Src: /src/glib/gobject/tests/type.c:107,1
    - Dst: foo_get_type
      Src: /src/glib/gobject/tests/type.c:111,1
    - Dst: g_type_default_interface_ref
      Src: /src/glib/gobject/tests/type.c:113,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/type.c:120,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/type.c:121,1
    - Dst: baa_get_type
      Src: /src/glib/gobject/tests/type.c:120,1
    - Dst: bozo_get_type
      Src: /src/glib/gobject/tests/type.c:123,1
    - Dst: bar_get_type
      Src: /src/glib/gobject/tests/type.c:109,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/type.c:111,1
    - Dst: foo_get_type
      Src: /src/glib/gobject/tests/type.c:113,1
    - Dst: g_type_interface_prerequisites
      Src: /src/glib/gobject/tests/type.c:107,1
    - Dst: g_type_interface_instantiatable_prerequisite
      Src: /src/glib/gobject/tests/type.c:111,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/type.c:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 124
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 124
    functionName: test_interface_prerequisite
    functionSourceFile: /src/glib/gobject/tests/type.c
    functionUses: []
    functionsReached:
    - g_type_interface_instantiatable_prerequisite
    - g_assert
    - g_type_default_interface_ref
    - baa_get_type
    - foo_get_type
    - bozo_get_type
    - g_type_interface_peek_parent
    - g_type_interface_prerequisites
    - g_type_default_interface_unref
    - boo_get_type
    - g_free
    - bar_get_type
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_interface_prerequisite (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - BazInterface*
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: baz_default_init
    functionSourceFile: /src/glib/gobject/tests/type.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void baz_default_init (BazInterface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - b
    argTypes:
    - Bazo*
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: bazo_init
    functionSourceFile: /src/glib/gobject/tests/type.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void bazo_init (Bazo *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - i
    argTypes:
    - BazInterface*
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: bazo_iface_init
    functionSourceFile: /src/glib/gobject/tests/type.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void bazo_iface_init (BazInterface *i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/tests/type.c:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - check_data
    - g_iface
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 178
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 178
    functionName: check_func
    functionSourceFile: /src/glib/gobject/tests/type.c
    functionUses: []
    functionsReached:
    - g_assert
    linkageType: ''
    returnType: void
    signature: 'static void check_func (gpointer check_data, gpointer g_iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_type_next_base
      Src: /src/glib/gobject/tests/type.c:198,1
    - Dst: bazo_get_type
      Src: /src/glib/gobject/tests/type.c:198,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/type.c:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 201
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 201
    functionName: test_next_base
    functionSourceFile: /src/glib/gobject/tests/type.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_type_next_base
    - bazo_get_type
    linkageType: ''
    returnType: void
    signature: 'static void test_next_base (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_message
      Src: /src/glib/gobject/tests/type.c:222,1
    - Dst: g_type_query
      Src: /src/glib/gobject/tests/type.c:223,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/type.c:224,1
    - Dst: g_test_message
      Src: /src/glib/gobject/tests/type.c:226,1
    - Dst: g_type_query
      Src: /src/glib/gobject/tests/type.c:227,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/type.c:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 229
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 229
    functionName: test_query
    functionSourceFile: /src/glib/gobject/tests/type.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_assert_cmpuint
    - g_type_query
    linkageType: ''
    returnType: void
    signature: 'static void test_query (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/type.c:209,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/tests/type.c:209,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/type.c:210,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/type.c:211,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/tests/type.c:211,1
    - Dst: bar_get_type
      Src: /src/glib/gobject/tests/type.c:211,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/type.c:212,1
    - Dst: bar_get_type
      Src: /src/glib/gobject/tests/type.c:212,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/type.c:213,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/tests/type.c:213,1
    - Dst: bar_get_type
      Src: /src/glib/gobject/tests/type.c:213,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/type.c:214,1
    - Dst: bar_get_type
      Src: /src/glib/gobject/tests/type.c:214,1
    - Dst: bibi_get_type
      Src: /src/glib/gobject/tests/type.c:214,1
    - Dst: bibi_get_type
      Src: /src/glib/gobject/tests/type.c:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 215
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 215
    functionName: test_is_a
    functionSourceFile: /src/glib/gobject/tests/type.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - bibi_get_type
    - g_type_is_a
    - g_assert_false
    - bar_get_type
    linkageType: ''
    returnType: void
    signature: 'static void test_is_a (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/type.c:234,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/type.c:238,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/type.c:239,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/type.c:237,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/type.c:236,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/type.c:240,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/type.c:241,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/type.c:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 244
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 244
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/type.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_TYPE_MODULE_CLASS
      Src: /src/glib/gobject/tests/testmodule.c:29,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - class
    argTypes:
    - TestModuleClass*
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: test_module_class_init
    functionSourceFile: /src/glib/gobject/tests/testmodule.c
    functionUses: []
    functionsReached:
    - G_TYPE_MODULE_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void test_module_class_init (TestModuleClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/testmodule.c:57,1
    - Dst: g_type_module_use
      Src: /src/glib/gobject/tests/testmodule.c:63,1
    - Dst: G_TYPE_MODULE
      Src: /src/glib/gobject/tests/testmodule.c:66,1
    - Dst: G_TYPE_MODULE
      Src: /src/glib/gobject/tests/testmodule.c:58,1
    - Dst: g_type_module_unuse
      Src: /src/glib/gobject/tests/testmodule.c:64,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 67
    functionName: test_module_new
    functionSourceFile: /src/glib/gobject/tests/testmodule.c
    functionUses: []
    functionsReached:
    - G_TYPE_MODULE
    - g_type_module_unuse
    - g_type_module_use
    - g_object_new
    linkageType: ''
    returnType: GTypeModule*
    signature: 'GTypeModule *test_module_new (TestModuleRegisterFunc register_func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - module
    argTypes:
    - GTypeModule*
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: test_module_unload
    functionSourceFile: /src/glib/gobject/tests/testmodule.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_module_unload (GTypeModule *module) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_MODULE
      Src: /src/glib/gobject/tests/testmodule.c:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - module
    argTypes:
    - GTypeModule*
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: test_module_load
    functionSourceFile: /src/glib/gobject/tests/testmodule.c
    functionUses: []
    functionsReached:
    - TEST_MODULE
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean test_module_load (GTypeModule *module) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/accumulator.c:61,1
    - Dst: g_strdup
      Src: /src/glib/gobject/tests/accumulator.c:68,1
    - Dst: g_strconcat
      Src: /src/glib/gobject/tests/accumulator.c:66,1
    - Dst: g_value_take_string
      Src: /src/glib/gobject/tests/accumulator.c:72,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/accumulator.c:62,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 4
    argNames:
    - ihint
    - return_accu
    - handler_return
    - data
    argTypes:
    - GSignalInvocationHint*
    - GValue*
    - GValue*
    - gpointer
    constantsTouched: []
    func_position:
      end: 75
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 75
    functionName: test_signal1_accumulator
    functionSourceFile: /src/glib/gobject/tests/accumulator.c
    functionUses: []
    functionsReached:
    - g_value_take_string
    - g_value_get_string
    - g_strdup
    - g_strconcat
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean test_signal1_accumulator (GSignalInvocationHint *ihint,
      GValue *return_accu, const GValue *handler_return, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gobject/tests/accumulator.c:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: test_object_real_signal1
    functionSourceFile: /src/glib/gobject/tests/accumulator.c
    functionUses: []
    functionsReached:
    - g_strdup
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *test_object_real_signal1 (TestObject *tobject, gint
      param) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/glib/gobject/tests/accumulator.c:112,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 2
    argNames:
    - tobject
    - param
    argTypes:
    - TestObject*
    - gint
    constantsTouched: []
    func_position:
      end: 114
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 114
    functionName: test_object_signal2_callback_before
    functionSourceFile: /src/glib/gobject/tests/accumulator.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean test_object_signal2_callback_before (TestObject *tobject,
      gint param) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/glib/gobject/tests/accumulator.c:138,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gobject/tests/accumulator.c:144,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gobject/tests/accumulator.c:139,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - tobject
    - param
    argTypes:
    - TestObject*
    - gint
    constantsTouched: []
    func_position:
      end: 146
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 146
    functionName: test_object_signal2_callback_after
    functionSourceFile: /src/glib/gobject/tests/accumulator.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean test_object_signal2_callback_after (TestObject *tobject,
      gint param) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_ref_sink
      Src: /src/glib/gobject/tests/accumulator.c:189,1
    - Dst: g_variant_new_uint32
      Src: /src/glib/gobject/tests/accumulator.c:189,1
    - Dst: g_malloc
      Src: /src/glib/gobject/tests/accumulator.c:193,1
    - Dst: g_variant_get_size
      Src: /src/glib/gobject/tests/accumulator.c:192,1
    - Dst: g_slice_new
      Src: /src/glib/gobject/tests/accumulator.c:190,1
    - Dst: g_variant_store
      Src: /src/glib/gobject/tests/accumulator.c:194,1
    - Dst: g_variant_unref
      Src: /src/glib/gobject/tests/accumulator.c:195,1
    - Dst: g_variant_new_from_data
      Src: /src/glib/gobject/tests/accumulator.c:197,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gobject/tests/accumulator.c:197,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gobject/tests/accumulator.c:203,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 204
    functionName: test_object_real_signal3
    functionSourceFile: /src/glib/gobject/tests/accumulator.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - g_variant_new_from_data
    - g_variant_get_size
    - g_malloc
    - g_variant_unref
    - g_slice_new
    - g_variant_store
    - g_variant_new_uint32
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *test_object_real_signal3 (TestObject *tobject, gboolean
      *weak_ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gobject/tests/accumulator.c:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: test_object_signal1_callback_before
    functionSourceFile: /src/glib/gobject/tests/accumulator.c
    functionUses: []
    functionsReached:
    - g_strdup
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *test_object_signal1_callback_before (TestObject *tobject,
      gint param, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gobject/tests/accumulator.c:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: test_object_signal1_callback_after
    functionSourceFile: /src/glib/gobject/tests/accumulator.c
    functionUses: []
    functionsReached:
    - g_strdup
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *test_object_signal1_callback_after (TestObject *tobject,
      gint param, gpointer data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/glib/gobject/tests/accumulator.c:122,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gobject/tests/accumulator.c:128,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 2
    argNames:
    - tobject
    - param
    argTypes:
    - TestObject*
    - gint
    constantsTouched: []
    func_position:
      end: 130
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 130
    functionName: test_object_real_signal2
    functionSourceFile: /src/glib/gobject/tests/accumulator.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean test_object_real_signal2 (TestObject *tobject, gint
      param) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_get_variant
      Src: /src/glib/gobject/tests/accumulator.c:156,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/accumulator.c:157,1
    - Dst: g_variant_is_floating
      Src: /src/glib/gobject/tests/accumulator.c:157,1
    - Dst: g_value_set_variant
      Src: /src/glib/gobject/tests/accumulator.c:159,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - ihint
    - return_accu
    - handler_return
    - data
    argTypes:
    - GSignalInvocationHint*
    - GValue*
    - GValue*
    - gpointer
    constantsTouched: []
    func_position:
      end: 162
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 162
    functionName: test_signal3_accumulator
    functionSourceFile: /src/glib/gobject/tests/accumulator.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_value_set_variant
    - g_value_get_variant
    - g_variant_is_floating
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean test_signal3_accumulator (GSignalInvocationHint *ihint,
      GValue *return_accu, const GValue *handler_return, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gobject/tests/accumulator.c:178,1
    - Dst: g_slice_free
      Src: /src/glib/gobject/tests/accumulator.c:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - VariantData*
    constantsTouched: []
    func_position:
      end: 180
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 180
    functionName: free_data
    functionSourceFile: /src/glib/gobject/tests/accumulator.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void free_data (VariantData *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/accumulator.c:213,1
    - Dst: G_OBJECT_CLASS_TYPE
      Src: /src/glib/gobject/tests/accumulator.c:214,1
    - Dst: G_OBJECT_CLASS_TYPE
      Src: /src/glib/gobject/tests/accumulator.c:221,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/accumulator.c:220,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gobject/tests/accumulator.c:216,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gobject/tests/accumulator.c:223,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/accumulator.c:227,1
    - Dst: G_OBJECT_CLASS_TYPE
      Src: /src/glib/gobject/tests/accumulator.c:228,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gobject/tests/accumulator.c:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - class
    argTypes:
    - TestObjectClass*
    constantsTouched: []
    func_position:
      end: 234
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 234
    functionName: test_object_class_init
    functionSourceFile: /src/glib/gobject/tests/accumulator.c
    functionUses: []
    functionsReached:
    - G_STRUCT_OFFSET
    - g_signal_new
    - G_OBJECT_CLASS_TYPE
    linkageType: ''
    returnType: void
    signature: 'static void test_object_class_init (TestObjectClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/accumulator.c:261,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/accumulator.c:285,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/accumulator.c:287,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/accumulator.c:289,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/accumulator.c:256,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/accumulator.c:266,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/accumulator.c:270,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/accumulator.c:273,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/accumulator.c:276,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/accumulator.c:280,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/accumulator.c:282,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/accumulator.c:267,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/accumulator.c:281,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/accumulator.c:249,1
    - Dst: g_variant_is_floating
      Src: /src/glib/gobject/tests/accumulator.c:282,1
    - Dst: g_variant_unref
      Src: /src/glib/gobject/tests/accumulator.c:286,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/accumulator.c:272,1
    - Dst: g_signal_connect_after
      Src: /src/glib/gobject/tests/accumulator.c:262,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/accumulator.c:252,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/accumulator.c:251,1
    - Dst: g_signal_connect_after
      Src: /src/glib/gobject/tests/accumulator.c:253,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/accumulator.c:254,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/accumulator.c:257,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/accumulator.c:258,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/accumulator.c:260,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/accumulator.c:263,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/accumulator.c:275,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gobject/tests/accumulator.c:269,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 290
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 290
    functionName: test_accumulator
    functionSourceFile: /src/glib/gobject/tests/accumulator.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_object_unref
    - g_object_new
    - g_signal_connect_after
    - g_assert_nonnull
    - g_assert_cmpstr
    - G_CALLBACK
    - g_signal_emit_by_name
    - g_variant_unref
    - g_variant_is_floating
    - g_assert_false
    - g_free
    - g_signal_connect
    linkageType: ''
    returnType: void
    signature: 'static void test_accumulator (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_log_set_always_fatal
      Src: /src/glib/gobject/tests/accumulator.c:296,1
    - Dst: g_log_set_always_fatal
      Src: /src/glib/gobject/tests/accumulator.c:296,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/accumulator.c:304,1
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/accumulator.c:300,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/accumulator.c:302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 305
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 305
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/accumulator.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_log_set_always_fatal
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/binding.c:110,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/binding.c:114,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gobject/tests/binding.c:122,1
    - Dst: g_value_get_double
      Src: /src/glib/gobject/tests/binding.c:118,1
    - Dst: g_value_get_object
      Src: /src/glib/gobject/tests/binding.c:126,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/tests/binding.c:130,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 13
    argCount: 4
    argNames:
    - gobject
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 132
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 132
    functionName: binding_source_set_property
    functionSourceFile: /src/glib/gobject/tests/binding.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_get_boolean
    - g_value_get_double
    - g_value_get_object
    - g_value_get_int
    linkageType: ''
    returnType: void
    signature: 'static void binding_source_set_property (GObject *gobject, guint prop_id,
      const GValue *value, GParamSpec *pspec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/binding.c:360,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/binding.c:361,1
    - Dst: g_value_get_double
      Src: /src/glib/gobject/tests/binding.c:363,1
    - Dst: G_VALUE_HOLDS
      Src: /src/glib/gobject/tests/binding.c:361,1
    - Dst: G_VALUE_HOLDS
      Src: /src/glib/gobject/tests/binding.c:360,1
    - Dst: g_test_verbose
      Src: /src/glib/gobject/tests/binding.c:366,1
    - Dst: g_printerr
      Src: /src/glib/gobject/tests/binding.c:367,1
    - Dst: g_value_set_double
      Src: /src/glib/gobject/tests/binding.c:369,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - binding
    - from_value
    - to_value
    - G_GNUC_UNUSED
    argTypes:
    - GBinding*
    - GValue*
    - GValue*
    - gpointer
    constantsTouched: []
    func_position:
      end: 372
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 372
    functionName: fahrenheit_to_celsius
    functionSourceFile: /src/glib/gobject/tests/binding.c
    functionUses: []
    functionsReached:
    - g_printerr
    - g_assert_true
    - G_VALUE_HOLDS
    - g_test_verbose
    - g_value_get_double
    - g_value_set_double
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean fahrenheit_to_celsius (GBinding *binding, const GValue
      *from_value, GValue *to_value, gpointer user_data G_GNUC_UNUSED) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binding_source_get_type
      Src: /src/glib/gobject/tests/binding.c:586,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/binding.c:586,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/binding.c:594,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/binding.c:597,1
    - Dst: g_object_bind_property
      Src: /src/glib/gobject/tests/binding.c:611,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/binding.c:614,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/binding.c:615,1
    - Dst: g_test_bug
      Src: /src/glib/gobject/tests/binding.c:590,1
    - Dst: g_object_bind_property
      Src: /src/glib/gobject/tests/binding.c:593,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/binding.c:594,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:605,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:607,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/binding.c:601,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:619,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:620,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/binding.c:585,1
    - Dst: binding_source_get_type
      Src: /src/glib/gobject/tests/binding.c:585,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/binding.c:587,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/binding.c:600,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/binding.c:602,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/binding.c:616,1
    - Dst: binding_source_get_type
      Src: /src/glib/gobject/tests/binding.c:587,1
    - Dst: g_object_bind_property
      Src: /src/glib/gobject/tests/binding.c:596,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/binding.c:597,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/binding.c:606,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/binding.c:608,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:618,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 621
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 621
    functionName: binding_chain
    functionSourceFile: /src/glib/gobject/tests/binding.c
    functionUses: []
    functionsReached:
    - g_object_set
    - g_object_unref
    - g_object_new
    - g_assert_null
    - g_object_add_weak_pointer
    - g_test_bug
    - binding_source_get_type
    - g_object_bind_property
    - G_OBJECT
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void binding_chain (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/binding.c:1095,1
    - Dst: binding_target_get_type
      Src: /src/glib/gobject/tests/binding.c:1096,1
    - Dst: binding_source_get_type
      Src: /src/glib/gobject/tests/binding.c:1095,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/binding.c:1096,1
    - Dst: g_test_bug
      Src: /src/glib/gobject/tests/binding.c:1099,1
    - Dst: g_object_bind_property
      Src: /src/glib/gobject/tests/binding.c:1101,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/binding.c:1105,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/binding.c:1105,1
    - Dst: g_object_run_dispose
      Src: /src/glib/gobject/tests/binding.c:1107,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/binding.c:1107,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:1110,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:1111,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/binding.c:1108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1112
      start: 1091
    functionDepth: 0
    functionLinenumber: 1091
    functionLinenumberEnd: 1112
    functionName: binding_dispose_source
    functionSourceFile: /src/glib/gobject/tests/binding.c
    functionUses: []
    functionsReached:
    - g_object_run_dispose
    - g_object_unref
    - g_object_new
    - g_assert_null
    - g_object_add_weak_pointer
    - g_test_bug
    - binding_source_get_type
    - g_object_bind_property
    - G_OBJECT
    - binding_target_get_type
    linkageType: ''
    returnType: void
    signature: 'static void binding_dispose_source (void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/binding.c:145,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gobject/tests/binding.c:157,1
    - Dst: g_value_set_object
      Src: /src/glib/gobject/tests/binding.c:161,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/binding.c:149,1
    - Dst: g_value_set_double
      Src: /src/glib/gobject/tests/binding.c:153,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/tests/binding.c:165,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 8
    argCount: 4
    argNames:
    - gobject
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 167
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 167
    functionName: binding_source_get_property
    functionSourceFile: /src/glib/gobject/tests/binding.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_boolean
    - g_value_set_int
    - g_value_set_object
    - g_value_set_double
    linkageType: ''
    returnType: void
    signature: 'static void binding_source_get_property (GObject *gobject, guint prop_id,
      GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/binding.c:395,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:400,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/binding.c:402,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/binding.c:407,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/binding.c:392,1
    - Dst: binding_target_get_type
      Src: /src/glib/gobject/tests/binding.c:378,1
    - Dst: assert_cmptarget
      Src: /src/glib/gobject/tests/binding.c:388,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/binding.c:390,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/binding.c:397,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/binding.c:394,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:406,1
    - Dst: g_object_bind_property
      Src: /src/glib/gobject/tests/binding.c:381,1
    - Dst: g_binding_get_target_property
      Src: /src/glib/gobject/tests/binding.c:391,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/binding.c:377,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/binding.c:378,1
    - Dst: binding_source_get_type
      Src: /src/glib/gobject/tests/binding.c:377,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/binding.c:385,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/binding.c:385,1
    - Dst: assert_cmpsource
      Src: /src/glib/gobject/tests/binding.c:387,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/binding.c:391,1
    - Dst: g_binding_get_source_property
      Src: /src/glib/gobject/tests/binding.c:390,1
    - Dst: g_binding_get_flags
      Src: /src/glib/gobject/tests/binding.c:392,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/binding.c:398,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/binding.c:403,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:405,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 408
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 408
    functionName: binding_default
    functionSourceFile: /src/glib/gobject/tests/binding.c
    functionUses: []
    functionsReached:
    - g_object_set
    - assert_cmpsource
    - g_object_unref
    - g_object_new
    - assert_cmptarget
    - g_binding_get_target_property
    - g_assert_null
    - g_object_add_weak_pointer
    - binding_source_get_type
    - g_object_bind_property
    - G_OBJECT
    - binding_target_get_type
    - g_assert_cmpstr
    - g_binding_get_source_property
    - g_binding_get_flags
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void binding_default (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/binding.c:626,1
    - Dst: binding_source_get_type
      Src: /src/glib/gobject/tests/binding.c:626,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/binding.c:629,1
    - Dst: g_object_bind_property
      Src: /src/glib/gobject/tests/binding.c:634,1
    - Dst: binding_target_get_type
      Src: /src/glib/gobject/tests/binding.c:629,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/binding.c:638,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/binding.c:639,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/binding.c:641,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/binding.c:642,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:644,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/binding.c:646,1
    - Dst: g_object_bind_property
      Src: /src/glib/gobject/tests/binding.c:648,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/binding.c:651,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:654,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/binding.c:652,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:655,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 656
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 656
    functionName: binding_sync_create
    functionSourceFile: /src/glib/gobject/tests/binding.c
    functionUses: []
    functionsReached:
    - g_object_set
    - g_object_unref
    - g_object_new
    - binding_source_get_type
    - g_object_bind_property
    - binding_target_get_type
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void binding_sync_create (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/binding.c:1118,1
    - Dst: binding_target_get_type
      Src: /src/glib/gobject/tests/binding.c:1119,1
    - Dst: g_test_bug
      Src: /src/glib/gobject/tests/binding.c:1122,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/binding.c:1119,1
    - Dst: binding_source_get_type
      Src: /src/glib/gobject/tests/binding.c:1118,1
    - Dst: g_object_bind_property
      Src: /src/glib/gobject/tests/binding.c:1124,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/binding.c:1128,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/binding.c:1128,1
    - Dst: g_object_run_dispose
      Src: /src/glib/gobject/tests/binding.c:1130,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/binding.c:1130,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:1134,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/binding.c:1131,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:1133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1135
      start: 1114
    functionDepth: 0
    functionLinenumber: 1114
    functionLinenumberEnd: 1135
    functionName: binding_dispose_target
    functionSourceFile: /src/glib/gobject/tests/binding.c
    functionUses: []
    functionsReached:
    - g_object_run_dispose
    - g_object_unref
    - g_object_new
    - g_assert_null
    - g_object_add_weak_pointer
    - g_test_bug
    - binding_source_get_type
    - g_object_bind_property
    - G_OBJECT
    - binding_target_get_type
    linkageType: ''
    returnType: void
    signature: 'static void binding_dispose_target (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/binding.c:1142,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/binding.c:1144,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/binding.c:1146,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/binding.c:1148,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/binding.c:1150,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/binding.c:1156,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/binding.c:1152,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/binding.c:1157,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/binding.c:1154,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/binding.c:1159,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/binding.c:1162,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/binding.c:1145,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/binding.c:1143,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/binding.c:1147,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/binding.c:1149,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/binding.c:1153,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/binding.c:1155,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/binding.c:1151,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/binding.c:1158,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/binding.c:1160,1
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/binding.c:1140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1163
      start: 1137
    functionDepth: 0
    functionLinenumber: 1137
    functionLinenumberEnd: 1163
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/binding.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - class
    argTypes:
    - BaaClass*
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: baa_class_init
    functionSourceFile: /src/glib/gobject/tests/binding.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void baa_class_init (BaaClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - BindingTarget*
    constantsTouched: []
    func_position:
      end: 328
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 328
    functionName: binding_target_init
    functionSourceFile: /src/glib/gobject/tests/binding.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void binding_target_init (BindingTarget *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/binding.c:413,1
    - Dst: assert_cmptarget
      Src: /src/glib/gobject/tests/binding.c:426,1
    - Dst: g_binding_get_flags
      Src: /src/glib/gobject/tests/binding.c:430,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:439,1
    - Dst: binding_target_get_type
      Src: /src/glib/gobject/tests/binding.c:414,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/binding.c:423,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/binding.c:428,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:438,1
    - Dst: binding_source_get_type
      Src: /src/glib/gobject/tests/binding.c:413,1
    - Dst: g_test_summary
      Src: /src/glib/gobject/tests/binding.c:417,1
    - Dst: g_object_bind_property
      Src: /src/glib/gobject/tests/binding.c:419,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/binding.c:423,1
    - Dst: assert_cmpsource
      Src: /src/glib/gobject/tests/binding.c:425,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/binding.c:429,1
    - Dst: g_binding_get_target_property
      Src: /src/glib/gobject/tests/binding.c:429,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/binding.c:414,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/gobject/tests/binding.c:433,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/binding.c:435,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/binding.c:432,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/binding.c:430,1
    - Dst: g_binding_get_source_property
      Src: /src/glib/gobject/tests/binding.c:428,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/gobject/tests/binding.c:436,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/binding.c:440,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 441
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 441
    functionName: binding_canonicalisation
    functionSourceFile: /src/glib/gobject/tests/binding.c
    functionUses: []
    functionsReached:
    - g_object_set
    - assert_cmpsource
    - g_test_summary
    - g_object_unref
    - g_object_new
    - assert_cmptarget
    - g_binding_get_target_property
    - g_assert_null
    - g_object_add_weak_pointer
    - g_assert_cmpfloat
    - binding_source_get_type
    - g_object_bind_property
    - G_OBJECT
    - binding_target_get_type
    - g_assert_cmpstr
    - g_binding_get_source_property
    - g_binding_get_flags
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void binding_canonicalisation (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - FooInterface*
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: foo_default_init
    functionSourceFile: /src/glib/gobject/tests/binding.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void foo_default_init (FooInterface *iface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/binding.c:338,1
    - Dst: g_value_get_double
      Src: /src/glib/gobject/tests/binding.c:341,1
    - Dst: G_VALUE_HOLDS
      Src: /src/glib/gobject/tests/binding.c:339,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/binding.c:339,1
    - Dst: G_VALUE_HOLDS
      Src: /src/glib/gobject/tests/binding.c:338,1
    - Dst: g_test_verbose
      Src: /src/glib/gobject/tests/binding.c:344,1
    - Dst: g_printerr
      Src: /src/glib/gobject/tests/binding.c:345,1
    - Dst: g_value_set_double
      Src: /src/glib/gobject/tests/binding.c:347,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - binding
    - from_value
    - to_value
    - G_GNUC_UNUSED
    argTypes:
    - GBinding*
    - GValue*
    - GValue*
    - gpointer
    constantsTouched: []
    func_position:
      end: 350
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 350
    functionName: celsius_to_fahrenheit
    functionSourceFile: /src/glib/gobject/tests/binding.c
    functionUses: []
    functionsReached:
    - g_printerr
    - g_assert_true
    - G_VALUE_HOLDS
    - g_test_verbose
    - g_value_get_double
    - g_value_set_double
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean celsius_to_fahrenheit (GBinding *binding, const GValue
      *from_value, GValue *to_value, gpointer user_data G_GNUC_UNUSED) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/binding.c:446,1
    - Dst: binding_target_get_type
      Src: /src/glib/gobject/tests/binding.c:447,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/binding.c:447,1
    - Dst: g_object_bind_property
      Src: /src/glib/gobject/tests/binding.c:450,1
    - Dst: binding_source_get_type
      Src: /src/glib/gobject/tests/binding.c:446,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/binding.c:453,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/binding.c:453,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/binding.c:455,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/binding.c:456,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/binding.c:458,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/binding.c:464,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:466,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:467,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/binding.c:468,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/binding.c:459,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:461,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/binding.c:463,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 469
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 469
    functionName: binding_bidirectional
    functionSourceFile: /src/glib/gobject/tests/binding.c
    functionUses: []
    functionsReached:
    - g_object_set
    - g_object_unref
    - g_object_new
    - g_assert_null
    - g_object_add_weak_pointer
    - binding_source_get_type
    - g_object_bind_property
    - G_OBJECT
    - binding_target_get_type
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void binding_bidirectional (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gobject/tests/binding.c:929,1
    - Dst: g_cond_wait
      Src: /src/glib/gobject/tests/binding.c:932,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/tests/binding.c:933,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gobject/tests/binding.c:930,1
    - Dst: g_binding_unbind
      Src: /src/glib/gobject/tests/binding.c:934,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:935,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 938
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 938
    functionName: concurrent_unbind_func
    functionSourceFile: /src/glib/gobject/tests/binding.c
    functionUses: []
    functionsReached:
    - g_binding_unbind
    - g_object_unref
    - g_mutex_unlock
    - g_mutex_lock
    - g_atomic_int_inc
    - g_cond_wait
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer concurrent_unbind_func (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/binding.c:172,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gobject/tests/binding.c:182,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gobject/tests/binding.c:177,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/binding.c:183,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/binding.c:178,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gobject/tests/binding.c:187,1
    - Dst: g_param_spec_double
      Src: /src/glib/gobject/tests/binding.c:188,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gobject/tests/binding.c:192,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gobject/tests/binding.c:193,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gobject/tests/binding.c:196,1
    - Dst: g_param_spec_object
      Src: /src/glib/gobject/tests/binding.c:197,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - klass
    argTypes:
    - BindingSourceClass*
    constantsTouched: []
    func_position:
      end: 200
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 200
    functionName: binding_source_class_init
    functionSourceFile: /src/glib/gobject/tests/binding.c
    functionUses: []
    functionsReached:
    - g_param_spec_boolean
    - g_param_spec_double
    - g_param_spec_int
    - g_param_spec_object
    - g_object_class_install_property
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void binding_source_class_init (BindingSourceClass *klass) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/binding.c:277,1
    - Dst: g_value_set_double
      Src: /src/glib/gobject/tests/binding.c:281,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/tests/binding.c:293,1
    - Dst: g_value_set_object
      Src: /src/glib/gobject/tests/binding.c:289,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gobject/tests/binding.c:285,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 7
    argCount: 4
    argNames:
    - gobject
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 295
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 295
    functionName: binding_target_get_property
    functionSourceFile: /src/glib/gobject/tests/binding.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_boolean
    - g_value_set_int
    - g_value_set_object
    - g_value_set_double
    linkageType: ''
    returnType: void
    signature: 'static void binding_target_get_property (GObject *gobject, guint prop_id,
      GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 477
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 477
    functionName: data_free
    functionSourceFile: /src/glib/gobject/tests/binding.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void data_free (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/binding.c:661,1
    - Dst: g_object_bind_property
      Src: /src/glib/gobject/tests/binding.c:669,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/binding.c:664,1
    - Dst: binding_target_get_type
      Src: /src/glib/gobject/tests/binding.c:664,1
    - Dst: binding_source_get_type
      Src: /src/glib/gobject/tests/binding.c:661,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/binding.c:673,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/binding.c:674,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/binding.c:676,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/binding.c:677,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/binding.c:678,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/binding.c:682,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:685,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/binding.c:681,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/binding.c:680,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:686,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:684,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 687
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 687
    functionName: binding_invert_boolean
    functionSourceFile: /src/glib/gobject/tests/binding.c
    functionUses: []
    functionsReached:
    - g_object_set
    - g_assert_true
    - g_object_unref
    - g_object_new
    - binding_source_get_type
    - g_object_bind_property
    - binding_target_get_type
    - g_assert_false
    linkageType: ''
    returnType: void
    signature: 'static void binding_invert_boolean (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/binding.c:804,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/binding.c:805,1
    - Dst: g_test_bug
      Src: /src/glib/gobject/tests/binding.c:809,1
    - Dst: binding_target_get_type
      Src: /src/glib/gobject/tests/binding.c:805,1
    - Dst: binding_source_get_type
      Src: /src/glib/gobject/tests/binding.c:804,1
    - Dst: g_object_bind_property
      Src: /src/glib/gobject/tests/binding.c:811,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/tests/binding.c:814,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/binding.c:815,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/binding.c:815,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/binding.c:816,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/binding.c:822,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/binding.c:826,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:829,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:825,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:828,1
    - Dst: g_binding_unbind
      Src: /src/glib/gobject/tests/binding.c:821,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 830
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 830
    functionName: binding_unbind_multiple
    functionSourceFile: /src/glib/gobject/tests/binding.c
    functionUses: []
    functionsReached:
    - g_binding_unbind
    - g_object_unref
    - g_object_new
    - g_assert_null
    - g_object_add_weak_pointer
    - g_assert_nonnull
    - g_test_bug
    - binding_source_get_type
    - g_object_bind_property
    - G_OBJECT
    - binding_target_get_type
    - g_object_ref
    linkageType: ''
    returnType: void
    signature: 'static void binding_unbind_multiple (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - BindingSource*
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 205
    functionName: binding_source_init
    functionSourceFile: /src/glib/gobject/tests/binding.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void binding_source_init (BindingSource *self) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/binding.c:246,1
    - Dst: g_value_get_object
      Src: /src/glib/gobject/tests/binding.c:258,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gobject/tests/binding.c:254,1
    - Dst: g_value_get_double
      Src: /src/glib/gobject/tests/binding.c:250,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/tests/binding.c:262,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    argCount: 4
    argNames:
    - gobject
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 264
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 264
    functionName: binding_target_set_property
    functionSourceFile: /src/glib/gobject/tests/binding.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_get_boolean
    - g_value_get_double
    - g_value_get_object
    - g_value_get_int
    linkageType: ''
    returnType: void
    signature: 'static void binding_target_set_property (GObject *gobject, guint prop_id,
      const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/binding.c:300,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gobject/tests/binding.c:305,1
    - Dst: g_param_spec_double
      Src: /src/glib/gobject/tests/binding.c:311,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/binding.c:306,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gobject/tests/binding.c:310,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gobject/tests/binding.c:315,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gobject/tests/binding.c:316,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gobject/tests/binding.c:319,1
    - Dst: g_param_spec_object
      Src: /src/glib/gobject/tests/binding.c:320,1
    - Dst: foo_get_type
      Src: /src/glib/gobject/tests/binding.c:321,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - klass
    argTypes:
    - BindingTargetClass*
    constantsTouched: []
    func_position:
      end: 323
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 323
    functionName: binding_target_class_init
    functionSourceFile: /src/glib/gobject/tests/binding.c
    functionUses: []
    functionsReached:
    - g_param_spec_boolean
    - g_param_spec_double
    - g_param_spec_int
    - g_param_spec_object
    - g_object_class_install_property
    - G_OBJECT_CLASS
    - foo_get_type
    linkageType: ''
    returnType: void
    signature: 'static void binding_target_class_init (BindingTargetClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binding_target_get_type
      Src: /src/glib/gobject/tests/binding.c:483,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/binding.c:493,1
    - Dst: g_object_get
      Src: /src/glib/gobject/tests/binding.c:495,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/binding.c:512,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/binding.c:504,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:507,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:518,1
    - Dst: binding_source_get_type
      Src: /src/glib/gobject/tests/binding.c:482,1
    - Dst: g_object_bind_property
      Src: /src/glib/gobject/tests/binding.c:489,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/binding.c:493,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/binding.c:502,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/binding.c:506,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/binding.c:505,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:508,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/gobject/tests/binding.c:513,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/binding.c:516,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:519,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/binding.c:483,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/binding.c:503,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/binding.c:510,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/binding.c:520,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/binding.c:482,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/binding.c:509,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/binding.c:515,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 521
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 521
    functionName: binding_transform_default
    functionSourceFile: /src/glib/gobject/tests/binding.c
    functionUses: []
    functionsReached:
    - g_object_set
    - g_object_get
    - g_assert_true
    - g_object_unref
    - g_object_new
    - g_assert_null
    - g_object_add_weak_pointer
    - g_assert_cmpfloat
    - binding_source_get_type
    - g_object_bind_property
    - G_OBJECT
    - binding_target_get_type
    - g_assert_cmpstr
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void binding_transform_default (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/binding.c:692,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/binding.c:701,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/binding.c:701,1
    - Dst: g_object_bind_property
      Src: /src/glib/gobject/tests/binding.c:698,1
    - Dst: binding_source_get_type
      Src: /src/glib/gobject/tests/binding.c:692,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/binding.c:703,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/binding.c:704,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/binding.c:705,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/binding.c:706,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/binding.c:707,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:710,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/binding.c:708,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/binding.c:711,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 712
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 712
    functionName: binding_same_object
    functionSourceFile: /src/glib/gobject/tests/binding.c
    functionUses: []
    functionsReached:
    - g_object_set
    - g_object_unref
    - g_object_new
    - g_assert_null
    - g_object_add_weak_pointer
    - binding_source_get_type
    - G_OBJECT
    - g_object_bind_property
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void binding_same_object (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/binding.c:835,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/binding.c:836,1
    - Dst: g_object_bind_property
      Src: /src/glib/gobject/tests/binding.c:840,1
    - Dst: binding_source_get_type
      Src: /src/glib/gobject/tests/binding.c:835,1
    - Dst: binding_target_get_type
      Src: /src/glib/gobject/tests/binding.c:836,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/binding.c:843,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/binding.c:843,1
    - Dst: g_test_expect_message
      Src: /src/glib/gobject/tests/binding.c:845,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/binding.c:847,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gobject/tests/binding.c:848,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:851,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:850,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/binding.c:852,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 853
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 853
    functionName: binding_fail
    functionSourceFile: /src/glib/gobject/tests/binding.c
    functionUses: []
    functionsReached:
    - g_object_set
    - g_test_assert_expected_messages
    - g_object_unref
    - g_object_new
    - g_assert_null
    - g_object_add_weak_pointer
    - binding_source_get_type
    - g_object_bind_property
    - G_OBJECT
    - binding_target_get_type
    - g_test_expect_message
    linkageType: ''
    returnType: void
    signature: 'static void binding_fail (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binding_source_get_type
      Src: /src/glib/gobject/tests/binding.c:764,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:771,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/binding.c:777,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:773,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:784,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/binding.c:764,1
    - Dst: binding_target_get_type
      Src: /src/glib/gobject/tests/binding.c:765,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/binding.c:770,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/binding.c:772,1
    - Dst: binding_source_get_type
      Src: /src/glib/gobject/tests/binding.c:777,1
    - Dst: binding_target_get_type
      Src: /src/glib/gobject/tests/binding.c:778,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/binding.c:783,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/binding.c:787,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/binding.c:794,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/binding.c:797,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/binding.c:765,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/binding.c:769,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/binding.c:778,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/binding.c:782,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:786,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/binding.c:790,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/binding.c:794,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:796,1
    - Dst: g_object_bind_property
      Src: /src/glib/gobject/tests/binding.c:766,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/binding.c:769,1
    - Dst: g_object_bind_property
      Src: /src/glib/gobject/tests/binding.c:779,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/binding.c:774,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/binding.c:782,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/binding.c:785,1
    - Dst: binding_source_get_type
      Src: /src/glib/gobject/tests/binding.c:790,1
    - Dst: g_object_bind_property
      Src: /src/glib/gobject/tests/binding.c:791,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/binding.c:795,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 41
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 798
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 798
    functionName: binding_unbind_weak
    functionSourceFile: /src/glib/gobject/tests/binding.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_object_new
    - g_assert_null
    - g_object_add_weak_pointer
    - g_assert_nonnull
    - binding_source_get_type
    - g_object_bind_property
    - G_OBJECT
    - binding_target_get_type
    linkageType: ''
    returnType: void
    signature: 'static void binding_unbind_weak (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - FooInterface*
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: baa_init_foo
    functionSourceFile: /src/glib/gobject/tests/binding.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void baa_init_foo (FooInterface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/binding.c:526,1
    - Dst: binding_target_get_type
      Src: /src/glib/gobject/tests/binding.c:527,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/binding.c:527,1
    - Dst: binding_source_get_type
      Src: /src/glib/gobject/tests/binding.c:526,1
    - Dst: g_object_bind_property_full
      Src: /src/glib/gobject/tests/binding.c:531,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/binding.c:538,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/gobject/tests/binding.c:539,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/binding.c:541,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/gobject/tests/binding.c:542,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:544,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:545,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/binding.c:547,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 548
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 548
    functionName: binding_transform
    functionSourceFile: /src/glib/gobject/tests/binding.c
    functionUses: []
    functionsReached:
    - g_object_set
    - g_assert_true
    - g_object_bind_property_full
    - g_object_new
    - g_object_unref
    - g_assert_cmpfloat
    - binding_source_get_type
    - binding_target_get_type
    linkageType: ''
    returnType: void
    signature: 'static void binding_transform (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/binding.c:718,1
    - Dst: g_object_bind_property
      Src: /src/glib/gobject/tests/binding.c:721,1
    - Dst: binding_target_get_type
      Src: /src/glib/gobject/tests/binding.c:718,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/binding.c:724,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/binding.c:726,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:739,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/binding.c:730,1
    - Dst: g_object_bind_property
      Src: /src/glib/gobject/tests/binding.c:744,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gobject/tests/binding.c:747,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:752,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/binding.c:717,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/binding.c:727,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/binding.c:729,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/binding.c:733,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/binding.c:743,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/binding.c:750,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/binding.c:724,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/binding.c:735,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:738,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/binding.c:736,1
    - Dst: binding_source_get_type
      Src: /src/glib/gobject/tests/binding.c:743,1
    - Dst: g_binding_unbind
      Src: /src/glib/gobject/tests/binding.c:749,1
    - Dst: binding_source_get_type
      Src: /src/glib/gobject/tests/binding.c:717,1
    - Dst: g_binding_unbind
      Src: /src/glib/gobject/tests/binding.c:732,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/binding.c:747,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 753
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 753
    functionName: binding_unbind
    functionSourceFile: /src/glib/gobject/tests/binding.c
    functionUses: []
    functionsReached:
    - g_object_set
    - g_binding_unbind
    - g_object_unref
    - g_object_new
    - g_assert_null
    - g_object_add_weak_pointer
    - binding_source_get_type
    - g_object_bind_property
    - G_OBJECT
    - binding_target_get_type
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void binding_unbind (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_value_type_compatible
      Src: /src/glib/gobject/tests/binding.c:861,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/tests/binding.c:861,1
    - Dst: g_value_copy
      Src: /src/glib/gobject/tests/binding.c:863,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/tests/binding.c:861,1
    - Dst: g_value_type_transformable
      Src: /src/glib/gobject/tests/binding.c:867,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/tests/binding.c:867,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/tests/binding.c:867,1
    - Dst: g_value_transform
      Src: /src/glib/gobject/tests/binding.c:869,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - binding
    - value_a
    - value_b
    - user_data
    argTypes:
    - GBinding*
    - GValue*
    - GValue*
    - gpointer
    constantsTouched: []
    func_position:
      end: 874
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 874
    functionName: transform_to_func
    functionSourceFile: /src/glib/gobject/tests/binding.c
    functionUses: []
    functionsReached:
    - G_VALUE_TYPE
    - g_value_type_transformable
    - g_value_transform
    - g_value_type_compatible
    - g_value_copy
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean transform_to_func (GBinding *binding, const GValue
      *value_a, GValue *value_b, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/gobject/tests/binding.c:945,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/binding.c:950,1
    - Dst: g_mutex_init
      Src: /src/glib/gobject/tests/binding.c:959,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/tests/binding.c:965,1
    - Dst: g_cond_broadcast
      Src: /src/glib/gobject/tests/binding.c:987,1
    - Dst: g_cond_clear
      Src: /src/glib/gobject/tests/binding.c:997,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:1001,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/binding.c:949,1
    - Dst: g_cond_init
      Src: /src/glib/gobject/tests/binding.c:960,1
    - Dst: g_object_bind_property
      Src: /src/glib/gobject/tests/binding.c:962,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/tests/binding.c:988,1
    - Dst: g_queue_push_tail
      Src: /src/glib/gobject/tests/binding.c:978,1
    - Dst: g_thread_new
      Src: /src/glib/gobject/tests/binding.c:977,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/tests/binding.c:982,1
    - Dst: g_thread_join
      Src: /src/glib/gobject/tests/binding.c:992,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:1000,1
    - Dst: binding_target_get_type
      Src: /src/glib/gobject/tests/binding.c:950,1
    - Dst: g_new0
      Src: /src/glib/gobject/tests/binding.c:969,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/tests/binding.c:971,1
    - Dst: g_mutex_lock
      Src: /src/glib/gobject/tests/binding.c:985,1
    - Dst: g_queue_pop_head
      Src: /src/glib/gobject/tests/binding.c:990,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/binding.c:993,1
    - Dst: g_mutex_clear
      Src: /src/glib/gobject/tests/binding.c:996,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:999,1
    - Dst: binding_source_get_type
      Src: /src/glib/gobject/tests/binding.c:949,1
    - Dst: g_thread_yield
      Src: /src/glib/gobject/tests/binding.c:983,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1003
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 1003
    functionName: binding_concurrent_unbind
    functionSourceFile: /src/glib/gobject/tests/binding.c
    functionUses: []
    functionsReached:
    - g_queue_pop_head
    - g_atomic_int_get
    - g_queue_push_tail
    - g_thread_new
    - binding_target_get_type
    - g_thread_yield
    - g_object_unref
    - g_mutex_unlock
    - binding_source_get_type
    - g_cond_clear
    - g_mutex_init
    - g_object_new
    - g_cond_init
    - g_mutex_lock
    - g_cond_broadcast
    - g_mutex_clear
    - g_test_summary
    - g_object_bind_property
    - g_object_ref
    - g_thread_join
    - g_new0
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void binding_concurrent_unbind (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gobject/tests/binding.c:1018,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gobject/tests/binding.c:1019,1
    - Dst: g_cond_wait
      Src: /src/glib/gobject/tests/binding.c:1021,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/tests/binding.c:1022,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:1023,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/binding.c:1024,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1027
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1027
    functionName: concurrent_finalize_func
    functionSourceFile: /src/glib/gobject/tests/binding.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_mutex_unlock
    - g_mutex_lock
    - g_atomic_int_inc
    - g_free
    - g_cond_wait
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer concurrent_finalize_func (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - baa
    argTypes:
    - Baa*
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: baa_init
    functionSourceFile: /src/glib/gobject/tests/binding.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void baa_init (Baa *baa) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/binding.c:553,1
    - Dst: binding_target_get_type
      Src: /src/glib/gobject/tests/binding.c:554,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/binding.c:554,1
    - Dst: g_cclosure_new
      Src: /src/glib/gobject/tests/binding.c:559,1
    - Dst: binding_source_get_type
      Src: /src/glib/gobject/tests/binding.c:553,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/binding.c:559,1
    - Dst: g_cclosure_new
      Src: /src/glib/gobject/tests/binding.c:561,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/binding.c:561,1
    - Dst: g_object_bind_property_with_closures
      Src: /src/glib/gobject/tests/binding.c:563,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/binding.c:569,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/gobject/tests/binding.c:573,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:575,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:576,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/binding.c:579,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/binding.c:578,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/binding.c:572,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/gobject/tests/binding.c:570,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 580
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 580
    functionName: binding_transform_closure
    functionSourceFile: /src/glib/gobject/tests/binding.c
    functionUses: []
    functionsReached:
    - g_object_set
    - g_cclosure_new
    - g_assert_true
    - g_object_unref
    - g_object_new
    - g_assert_cmpfloat
    - binding_source_get_type
    - G_CALLBACK
    - binding_target_get_type
    - g_object_bind_property_with_closures
    linkageType: ''
    returnType: void
    signature: 'static void binding_transform_closure (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binding_target_get_type
      Src: /src/glib/gobject/tests/binding.c:880,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/binding.c:890,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/binding.c:891,1
    - Dst: g_binding_unbind
      Src: /src/glib/gobject/tests/binding.c:909,1
    - Dst: baa_get_type
      Src: /src/glib/gobject/tests/binding.c:905,1
    - Dst: binding_source_get_type
      Src: /src/glib/gobject/tests/binding.c:879,1
    - Dst: g_binding_unbind
      Src: /src/glib/gobject/tests/binding.c:894,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/binding.c:905,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:907,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/binding.c:880,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:892,1
    - Dst: g_closure_set_marshal
      Src: /src/glib/gobject/tests/binding.c:898,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:912,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/binding.c:879,1
    - Dst: g_object_bind_property
      Src: /src/glib/gobject/tests/binding.c:886,1
    - Dst: baa_get_type
      Src: /src/glib/gobject/tests/binding.c:890,1
    - Dst: g_object_bind_property_with_closures
      Src: /src/glib/gobject/tests/binding.c:899,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/binding.c:906,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/binding.c:897,1
    - Dst: g_cclosure_new
      Src: /src/glib/gobject/tests/binding.c:897,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:911,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 913
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 913
    functionName: binding_interface
    functionSourceFile: /src/glib/gobject/tests/binding.c
    functionUses: []
    functionsReached:
    - g_object_set
    - g_binding_unbind
    - g_cclosure_new
    - g_closure_set_marshal
    - g_object_unref
    - g_object_new
    - binding_source_get_type
    - g_object_bind_property
    - baa_get_type
    - binding_target_get_type
    - G_CALLBACK
    - g_object_bind_property_with_closures
    linkageType: ''
    returnType: void
    signature: 'static void binding_interface (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binding_target_get_type
      Src: /src/glib/gobject/tests/binding.c:1039,1
    - Dst: g_object_bind_property
      Src: /src/glib/gobject/tests/binding.c:1051,1
    - Dst: g_new0
      Src: /src/glib/gobject/tests/binding.c:1056,1
    - Dst: g_mutex_lock
      Src: /src/glib/gobject/tests/binding.c:1076,1
    - Dst: g_new0
      Src: /src/glib/gobject/tests/binding.c:1064,1
    - Dst: g_thread_join
      Src: /src/glib/gobject/tests/binding.c:1082,1
    - Dst: binding_source_get_type
      Src: /src/glib/gobject/tests/binding.c:1038,1
    - Dst: g_thread_yield
      Src: /src/glib/gobject/tests/binding.c:1074,1
    - Dst: g_thread_new
      Src: /src/glib/gobject/tests/binding.c:1070,1
    - Dst: g_thread_join
      Src: /src/glib/gobject/tests/binding.c:1081,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/binding.c:1087,1
    - Dst: g_test_summary
      Src: /src/glib/gobject/tests/binding.c:1034,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/binding.c:1039,1
    - Dst: g_mutex_init
      Src: /src/glib/gobject/tests/binding.c:1048,1
    - Dst: g_cond_init
      Src: /src/glib/gobject/tests/binding.c:1049,1
    - Dst: g_thread_new
      Src: /src/glib/gobject/tests/binding.c:1062,1
    - Dst: g_cond_broadcast
      Src: /src/glib/gobject/tests/binding.c:1078,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/binding.c:1038,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/tests/binding.c:1054,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/tests/binding.c:1079,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/tests/binding.c:1073,1
    - Dst: g_mutex_clear
      Src: /src/glib/gobject/tests/binding.c:1084,1
    - Dst: g_cond_clear
      Src: /src/glib/gobject/tests/binding.c:1085,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1089
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1089
    functionName: binding_concurrent_finalizing
    functionSourceFile: /src/glib/gobject/tests/binding.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_thread_new
    - binding_target_get_type
    - g_thread_yield
    - g_object_unref
    - g_mutex_unlock
    - binding_source_get_type
    - g_cond_clear
    - g_mutex_init
    - g_object_new
    - g_cond_init
    - g_mutex_lock
    - g_cond_broadcast
    - g_mutex_clear
    - g_test_summary
    - g_object_bind_property
    - g_object_ref
    - g_thread_join
    - g_new0
    linkageType: ''
    returnType: void
    signature: 'static void binding_concurrent_finalizing (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gobject/tests/qdata.c:26,1
    - Dst: g_random_int_range
      Src: /src/glib/gobject/tests/qdata.c:34,1
    - Dst: g_object_get_data
      Src: /src/glib/gobject/tests/qdata.c:37,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gobject/tests/qdata.c:37,1
    - Dst: g_object_set_data
      Src: /src/glib/gobject/tests/qdata.c:40,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gobject/tests/qdata.c:40,1
    - Dst: g_object_replace_data
      Src: /src/glib/gobject/tests/qdata.c:43,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gobject/tests/qdata.c:44,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gobject/tests/qdata.c:45,1
    - Dst: g_thread_yield
      Src: /src/glib/gobject/tests/qdata.c:49,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 53
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 53
    functionName: thread_func
    functionSourceFile: /src/glib/gobject/tests/qdata.c
    functionUses: []
    functionsReached:
    - g_thread_yield
    - GPOINTER_TO_INT
    - g_object_replace_data
    - g_object_set_data
    - GINT_TO_POINTER
    - g_random_int_range
    - g_object_get_data
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer thread_func (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/qdata.c:116,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/qdata.c:123,1
    - Dst: g_getenv
      Src: /src/glib/gobject/tests/qdata.c:118,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/qdata.c:121,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/qdata.c:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 124
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 124
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/qdata.c
    functionUses: []
    functionsReached:
    - g_getenv
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/qdata.c:63,1
    - Dst: g_object_set_data
      Src: /src/glib/gobject/tests/qdata.c:64,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gobject/tests/qdata.c:70,1
    - Dst: g_thread_new
      Src: /src/glib/gobject/tests/qdata.c:70,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gobject/tests/qdata.c:64,1
    - Dst: g_thread_join
      Src: /src/glib/gobject/tests/qdata.c:73,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gobject/tests/qdata.c:79,1
    - Dst: g_object_get_data
      Src: /src/glib/gobject/tests/qdata.c:79,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/qdata.c:81,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/qdata.c:83,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 84
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 84
    functionName: test_qdata_threaded
    functionSourceFile: /src/glib/gobject/tests/qdata.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_object_unref
    - g_object_new
    - g_thread_new
    - g_object_set_data
    - GINT_TO_POINTER
    - g_thread_join
    - g_object_get_data
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_qdata_threaded (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_quark_from_static_string
      Src: /src/glib/gobject/tests/qdata.c:93,1
    - Dst: g_object_set_qdata_full
      Src: /src/glib/gobject/tests/qdata.c:96,1
    - Dst: g_object_dup_qdata
      Src: /src/glib/gobject/tests/qdata.c:98,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/qdata.c:94,1
    - Dst: g_strdup
      Src: /src/glib/gobject/tests/qdata.c:95,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/qdata.c:100,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/qdata.c:101,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/qdata.c:103,1
    - Dst: g_object_replace_qdata
      Src: /src/glib/gobject/tests/qdata.c:105,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/qdata.c:106,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/qdata.c:108,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/qdata.c:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 111
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 111
    functionName: test_qdata_dup
    functionSourceFile: /src/glib/gobject/tests/qdata.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_quark_from_static_string
    - g_object_unref
    - g_object_new
    - g_assert
    - g_object_set_qdata_full
    - g_object_dup_qdata
    - g_assert_cmpstr
    - g_object_replace_qdata
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_qdata_dup (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gobject/tests/notify-init.c:98,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/notify-init.c:100,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/notify-init.c:103,1
    - Dst: g_strdup
      Src: /src/glib/gobject/tests/notify-init.c:101,1
    - Dst: g_object_notify_by_pspec
      Src: /src/glib/gobject/tests/notify-init.c:104,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/notify-init.c:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - obj
    - quux
    argTypes:
    - TestObject*
    - gchar*
    constantsTouched: []
    func_position:
      end: 106
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 106
    functionName: test_object_set_quux
    functionSourceFile: /src/glib/gobject/tests/notify-init.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_object_notify_by_pspec
    - g_assert
    - G_OBJECT
    - g_strcmp0
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_object_set_quux (TestObject *obj, const gchar *quux) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/tests/notify-init.c:75,1
    - Dst: g_object_notify_by_pspec
      Src: /src/glib/gobject/tests/notify-init.c:76,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/notify-init.c:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - obj
    - bar
    argTypes:
    - TestObject*
    - gboolean
    constantsTouched: []
    func_position:
      end: 78
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 78
    functionName: test_object_set_bar
    functionSourceFile: /src/glib/gobject/tests/notify-init.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_object_notify_by_pspec
    - G_OBJECT
    linkageType: ''
    returnType: void
    signature: 'static void test_object_set_bar (TestObject *obj, gboolean bar) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/notify-init.c:127,1
    - Dst: test_object_set_foo
      Src: /src/glib/gobject/tests/notify-init.c:133,1
    - Dst: test_object_set_bar
      Src: /src/glib/gobject/tests/notify-init.c:137,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/notify-init.c:128,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/notify-init.c:133,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gobject/tests/notify-init.c:137,1
    - Dst: test_object_set_baz
      Src: /src/glib/gobject/tests/notify-init.c:141,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/notify-init.c:141,1
    - Dst: test_object_set_quux
      Src: /src/glib/gobject/tests/notify-init.c:145,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/notify-init.c:145,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gobject/tests/notify-init.c:149,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 4
    argNames:
    - gobject
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 151
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 151
    functionName: test_object_set_property
    functionSourceFile: /src/glib/gobject/tests/notify-init.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - test_object_set_foo
    - g_value_get_boolean
    - g_value_get_string
    - g_assert_not_reached
    - test_object_set_bar
    - test_object_set_baz
    - test_object_set_quux
    - g_value_get_int
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_object_set_property (GObject *gobject, guint prop_id,
      const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/notify-init.c:190,1
    - Dst: g_param_spec_string
      Src: /src/glib/gobject/tests/notify-init.c:199,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gobject/tests/notify-init.c:196,1
    - Dst: g_param_spec_string
      Src: /src/glib/gobject/tests/notify-init.c:203,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/notify-init.c:192,1
    - Dst: g_object_class_install_properties
      Src: /src/glib/gobject/tests/notify-init.c:211,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - klass
    argTypes:
    - TestObjectClass*
    constantsTouched: []
    func_position:
      end: 212
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 212
    functionName: test_object_class_init
    functionSourceFile: /src/glib/gobject/tests/notify-init.c
    functionUses: []
    functionsReached:
    - g_param_spec_boolean
    - g_param_spec_int
    - g_object_class_install_properties
    - G_OBJECT_CLASS
    - g_param_spec_string
    linkageType: ''
    returnType: void
    signature: 'static void test_object_class_init (TestObjectClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/notify-init.c:237,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/notify-init.c:237,1
    - Dst: g_strdup
      Src: /src/glib/gobject/tests/notify-init.c:243,1
    - Dst: test_object_set_quux
      Src: /src/glib/gobject/tests/notify-init.c:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - self
    argTypes:
    - TestObject*
    constantsTouched: []
    func_position:
      end: 244
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 244
    functionName: test_object_init
    functionSourceFile: /src/glib/gobject/tests/notify-init.c
    functionUses: []
    functionsReached:
    - test_object_set_quux
    - g_signal_connect
    - g_strdup
    - G_CALLBACK
    linkageType: ''
    returnType: void
    signature: 'static void test_object_init (TestObject *self) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/tests/notify-init.c:60,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/notify-init.c:61,1
    - Dst: g_object_notify_by_pspec
      Src: /src/glib/gobject/tests/notify-init.c:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - obj
    - foo
    argTypes:
    - TestObject*
    - gint
    constantsTouched: []
    func_position:
      end: 63
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 63
    functionName: test_object_set_foo
    functionSourceFile: /src/glib/gobject/tests/notify-init.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_object_notify_by_pspec
    - G_OBJECT
    linkageType: ''
    returnType: void
    signature: 'static void test_object_set_foo (TestObject *obj, gint foo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gobject/tests/notify-init.c:84,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/notify-init.c:86,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/notify-init.c:89,1
    - Dst: g_object_notify_by_pspec
      Src: /src/glib/gobject/tests/notify-init.c:90,1
    - Dst: g_strdup
      Src: /src/glib/gobject/tests/notify-init.c:87,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/notify-init.c:90,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - obj
    - baz
    argTypes:
    - TestObject*
    - gchar*
    constantsTouched: []
    func_position:
      end: 92
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 92
    functionName: test_object_set_baz
    functionSourceFile: /src/glib/gobject/tests/notify-init.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_object_notify_by_pspec
    - g_assert
    - G_OBJECT
    - g_strcmp0
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_object_set_baz (TestObject *obj, const gchar *baz) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gobject/tests/notify-init.c:113,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/notify-init.c:116,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/notify-init.c:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - gobject
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 117
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 117
    functionName: test_object_finalize
    functionSourceFile: /src/glib/gobject/tests/notify-init.c
    functionUses: []
    functionsReached:
    - g_free
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void test_object_finalize (GObject *gobject) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/notify-init.c:161,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gobject/tests/notify-init.c:171,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/notify-init.c:167,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/notify-init.c:162,1
    - Dst: g_value_set_string
      Src: /src/glib/gobject/tests/notify-init.c:175,1
    - Dst: g_value_set_string
      Src: /src/glib/gobject/tests/notify-init.c:179,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gobject/tests/notify-init.c:183,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 13
    argCount: 4
    argNames:
    - gobject
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 185
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 185
    functionName: test_object_get_property
    functionSourceFile: /src/glib/gobject/tests/notify-init.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_value_set_string
    - g_value_set_boolean
    - g_value_set_int
    - g_assert_not_reached
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_object_get_property (GObject *gobject, guint prop_id,
      GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/tests/notify-init.c:219,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - self
    - pspec
    - data
    argTypes:
    - TestObject*
    - GParamSpec*
    - gpointer
    constantsTouched: []
    func_position:
      end: 220
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 220
    functionName: quux_changed
    functionSourceFile: /src/glib/gobject/tests/notify-init.c
    functionUses: []
    functionsReached:
    - g_assert
    linkageType: ''
    returnType: void
    signature: 'static void quux_changed (TestObject *self, GParamSpec *pspec, gpointer
      data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/gobject/tests/notify-init.c:251,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/notify-init.c:254,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/notify-init.c:256,1
    - Dst: g_test_bug
      Src: /src/glib/gobject/tests/notify-init.c:252,1
    - Dst: test_object_get_type
      Src: /src/glib/gobject/tests/notify-init.c:254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 257
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 257
    functionName: test_notify_in_init
    functionSourceFile: /src/glib/gobject/tests/notify-init.c
    functionUses: []
    functionsReached:
    - g_test_summary
    - g_object_unref
    - g_object_new
    - g_test_bug
    - test_object_get_type
    linkageType: ''
    returnType: void
    signature: 'static void test_notify_in_init (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/notify-init.c:262,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/notify-init.c:266,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/notify-init.c:264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 267
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 267
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/notify-init.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_param_spec_char
      Src: /src/glib/gobject/tests/param.c:39,1
    - Dst: g_value_set_char
      Src: /src/glib/gobject/tests/param.c:51,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:57,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:58,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:67,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:68,1
    - Dst: g_value_set_char
      Src: /src/glib/gobject/tests/param.c:66,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:72,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:64,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:73,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:82,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:88,1
    - Dst: g_value_get_schar
      Src: /src/glib/gobject/tests/param.c:89,1
    - Dst: g_value_set_schar
      Src: /src/glib/gobject/tests/param.c:81,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:79,1
    - Dst: g_value_get_schar
      Src: /src/glib/gobject/tests/param.c:84,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:78,1
    - Dst: g_param_spec_get_name
      Src: /src/glib/gobject/tests/param.c:42,1
    - Dst: g_param_spec_get_blurb
      Src: /src/glib/gobject/tests/param.c:44,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:49,1
    - Dst: g_param_value_defaults
      Src: /src/glib/gobject/tests/param.c:49,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:53,1
    - Dst: g_value_set_char
      Src: /src/glib/gobject/tests/param.c:56,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:59,1
    - Dst: g_value_get_char
      Src: /src/glib/gobject/tests/param.c:59,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:62,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:63,1
    - Dst: g_value_get_schar
      Src: /src/glib/gobject/tests/param.c:79,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:87,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:72,1
    - Dst: g_value_get_schar
      Src: /src/glib/gobject/tests/param.c:74,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:88,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/param.c:42,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/param.c:44,1
    - Dst: g_value_set_char
      Src: /src/glib/gobject/tests/param.c:47,1
    - Dst: g_value_get_char
      Src: /src/glib/gobject/tests/param.c:54,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:62,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:63,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:77,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:77,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:78,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:84,1
    - Dst: g_value_set_schar
      Src: /src/glib/gobject/tests/param.c:86,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:91,1
    - Dst: g_value_get_char
      Src: /src/glib/gobject/tests/param.c:64,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:83,1
    - Dst: g_param_spec_get_nick
      Src: /src/glib/gobject/tests/param.c:43,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/param.c:43,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/param.c:46,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:53,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:52,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:52,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:54,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:57,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:58,1
    - Dst: g_value_set_char
      Src: /src/glib/gobject/tests/param.c:61,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:73,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:74,1
    - Dst: g_value_set_schar
      Src: /src/glib/gobject/tests/param.c:76,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:82,1
    - Dst: g_value_get_char
      Src: /src/glib/gobject/tests/param.c:69,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:83,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:87,1
    - Dst: g_value_set_schar
      Src: /src/glib/gobject/tests/param.c:71,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:69,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:68,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:67,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 70
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 92
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 92
    functionName: test_param_spec_char
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - g_param_spec_char
    - g_param_spec_get_name
    - g_assert_true
    - g_param_value_defaults
    - g_param_spec_get_nick
    - g_value_set_char
    - g_assert_cmpstr
    - g_value_init
    - g_param_value_is_valid
    - g_param_spec_unref
    - g_param_value_validate
    - g_value_get_char
    - g_assert_false
    - g_value_set_schar
    - g_param_spec_get_blurb
    - g_value_get_schar
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_param_spec_char (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_param_spec_long
      Src: /src/glib/gobject/tests/param.c:170,1
    - Dst: g_param_value_set_default
      Src: /src/glib/gobject/tests/param.c:173,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:174,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:175,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/tests/param.c:174,1
    - Dst: g_value_get_long
      Src: /src/glib/gobject/tests/param.c:175,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:176,1
    - Dst: g_param_value_defaults
      Src: /src/glib/gobject/tests/param.c:176,1
    - Dst: g_value_set_long
      Src: /src/glib/gobject/tests/param.c:178,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:179,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:179,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:180,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:183,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:180,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:181,1
    - Dst: g_value_get_long
      Src: /src/glib/gobject/tests/param.c:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 184
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 184
    functionName: test_param_spec_long
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - g_param_value_defaults
    - g_assert_true
    - G_VALUE_TYPE
    - g_value_get_long
    - g_value_set_long
    - g_param_value_is_valid
    - g_param_spec_unref
    - g_assert_false
    - g_param_value_validate
    - g_param_spec_long
    - g_param_value_set_default
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_param_spec_long (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_param_spec_param
      Src: /src/glib/gobject/tests/param.c:371,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/param.c:376,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:377,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/param.c:374,1
    - Dst: g_param_spec_get_name
      Src: /src/glib/gobject/tests/param.c:374,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:377,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:378,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:378,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/param.c:380,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:381,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 382
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 382
    functionName: test_param_spec_null_param
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - g_param_spec_get_name
    - g_assert_cmpstr
    - g_value_init
    - g_param_value_is_valid
    - g_param_spec_unref
    - g_assert_false
    - g_param_value_validate
    - g_param_spec_param
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void test_param_spec_null_param (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/param.c:672,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:673,1
    - Dst: G_VALUE_HOLDS_PARAM
      Src: /src/glib/gobject/tests/param.c:673,1
    - Dst: g_value_take_param
      Src: /src/glib/gobject/tests/param.c:677,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/param.c:675,1
    - Dst: g_value_get_param
      Src: /src/glib/gobject/tests/param.c:678,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:679,1
    - Dst: g_param_spec_uint
      Src: /src/glib/gobject/tests/param.c:681,1
    - Dst: g_value_set_param
      Src: /src/glib/gobject/tests/param.c:682,1
    - Dst: g_value_dup_param
      Src: /src/glib/gobject/tests/param.c:684,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:689,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:685,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:686,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/param.c:688,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 690
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 690
    functionName: test_param_value
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - G_VALUE_HOLDS_PARAM
    - g_assert_true
    - g_param_spec_int
    - g_value_dup_param
    - g_value_init
    - g_value_set_param
    - g_param_spec_unref
    - g_param_spec_uint
    - g_value_take_param
    - g_value_get_param
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void test_param_value (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_int32
      Src: /src/glib/gobject/tests/param.c:546,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gobject/tests/param.c:545,1
    - Dst: g_variant_new_int32
      Src: /src/glib/gobject/tests/param.c:550,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/param.c:552,1
    - Dst: g_value_set_variant
      Src: /src/glib/gobject/tests/param.c:553,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/param.c:555,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:564,1
    - Dst: g_value_set_variant
      Src: /src/glib/gobject/tests/param.c:559,1
    - Dst: g_value_set_variant
      Src: /src/glib/gobject/tests/param.c:556,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:565,1
    - Dst: g_value_set_variant
      Src: /src/glib/gobject/tests/param.c:574,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/param.c:579,1
    - Dst: g_variant_get_int32
      Src: /src/glib/gobject/tests/param.c:578,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/param.c:582,1
    - Dst: g_param_value_defaults
      Src: /src/glib/gobject/tests/param.c:564,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:576,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:576,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:577,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/param.c:581,1
    - Dst: g_param_value_defaults
      Src: /src/glib/gobject/tests/param.c:568,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:575,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:570,1
    - Dst: g_param_value_defaults
      Src: /src/glib/gobject/tests/param.c:566,1
    - Dst: g_variant_new_uint32
      Src: /src/glib/gobject/tests/param.c:574,1
    - Dst: g_param_spec_variant
      Src: /src/glib/gobject/tests/param.c:544,1
    - Dst: g_value_set_variant
      Src: /src/glib/gobject/tests/param.c:550,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/param.c:549,1
    - Dst: g_variant_new_int32
      Src: /src/glib/gobject/tests/param.c:553,1
    - Dst: g_variant_new_int16
      Src: /src/glib/gobject/tests/param.c:556,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/param.c:558,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/gobject/tests/param.c:559,1
    - Dst: g_value_set_variant
      Src: /src/glib/gobject/tests/param.c:562,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/param.c:561,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:567,1
    - Dst: g_param_value_defaults
      Src: /src/glib/gobject/tests/param.c:567,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:568,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:571,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:586,1
    - Dst: g_param_value_defaults
      Src: /src/glib/gobject/tests/param.c:565,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:570,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:571,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:575,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:577,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:578,1
    - Dst: g_value_get_variant
      Src: /src/glib/gobject/tests/param.c:578,1
    - Dst: g_value_reset
      Src: /src/glib/gobject/tests/param.c:573,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:566,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/param.c:584,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/param.c:583,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 51
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 587
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 587
    functionName: test_param_spec_variant
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - g_value_reset
    - g_param_value_validate
    - g_variant_new_parsed
    - g_variant_new_uint32
    - g_value_set_variant
    - g_value_get_variant
    - g_assert_true
    - g_variant_new_int32
    - g_assert_false
    - g_assert_cmpint
    - g_param_value_defaults
    - g_variant_get_int32
    - g_value_init
    - g_param_value_is_valid
    - g_param_spec_variant
    - G_VARIANT_TYPE
    - g_variant_new_int16
    - g_param_spec_unref
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void test_param_spec_variant (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - pspec
    - value1
    - value2
    argTypes:
    - GParamSpec*
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 1580
      start: 1571
    functionDepth: 0
    functionLinenumber: 1571
    functionLinenumberEnd: 1580
    functionName: param_int_values_cmp
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int param_int_values_cmp (GParamSpec *pspec, const GValue *value1,
      const GValue *value2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_param_type_register_static
      Src: /src/glib/gobject/tests/param.c:1601,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1602
      start: 1587
    functionDepth: 0
    functionLinenumber: 1587
    functionLinenumberEnd: 1602
    functionName: register_custom_pspec
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - g_param_type_register_static
    linkageType: ''
    returnType: void
    signature: 'static void register_custom_pspec (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_custom_pspec
      Src: /src/glib/gobject/tests/param.c:1632,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/param.c:1636,1
    - Dst: g_param_spec_custom
      Src: /src/glib/gobject/tests/param.c:1634,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:1640,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/param.c:1638,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:1640,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:1641,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/param.c:1641,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:1643,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1644
      start: 1626
    functionDepth: 0
    functionLinenumber: 1626
    functionLinenumberEnd: 1644
    functionName: test_param_spec_custom
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - register_custom_pspec
    - g_param_spec_custom
    - g_value_set_int
    - g_value_init
    - g_param_value_is_valid
    - g_param_spec_unref
    - g_assert_false
    - g_value_get_int
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_param_spec_custom (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:108,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:113,1
    - Dst: g_value_set_uchar
      Src: /src/glib/gobject/tests/param.c:107,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:108,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:109,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:114,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:117,1
    - Dst: g_param_spec_get_name
      Src: /src/glib/gobject/tests/param.c:103,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:110,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:113,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:114,1
    - Dst: g_param_spec_uchar
      Src: /src/glib/gobject/tests/param.c:100,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/param.c:105,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/param.c:103,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:109,1
    - Dst: g_value_get_uchar
      Src: /src/glib/gobject/tests/param.c:110,1
    - Dst: g_value_get_uchar
      Src: /src/glib/gobject/tests/param.c:115,1
    - Dst: g_value_set_uchar
      Src: /src/glib/gobject/tests/param.c:112,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 118
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 118
    functionName: test_param_spec_uchar
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - g_param_spec_get_name
    - g_assert_true
    - g_value_set_uchar
    - g_assert_cmpstr
    - g_value_init
    - g_param_value_is_valid
    - g_param_spec_unref
    - g_param_value_validate
    - g_value_get_uchar
    - g_assert_false
    - g_param_spec_uchar
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_param_spec_uchar (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_param_spec_ulong
      Src: /src/glib/gobject/tests/param.c:192,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:197,1
    - Dst: g_param_value_set_default
      Src: /src/glib/gobject/tests/param.c:195,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/tests/param.c:196,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:196,1
    - Dst: g_value_get_ulong
      Src: /src/glib/gobject/tests/param.c:197,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:198,1
    - Dst: g_param_value_defaults
      Src: /src/glib/gobject/tests/param.c:198,1
    - Dst: g_value_set_ulong
      Src: /src/glib/gobject/tests/param.c:200,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:201,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:201,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:202,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:205,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:202,1
    - Dst: g_value_get_ulong
      Src: /src/glib/gobject/tests/param.c:203,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 206
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 206
    functionName: test_param_spec_ulong
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - g_param_spec_ulong
    - g_assert_true
    - g_param_value_defaults
    - G_VALUE_TYPE
    - g_value_get_ulong
    - g_value_set_ulong
    - g_param_value_is_valid
    - g_param_spec_unref
    - g_param_value_validate
    - g_assert_false
    - g_param_value_set_default
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_param_spec_ulong (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:396,1
    - Dst: G_PARAM_SPEC_STRING
      Src: /src/glib/gobject/tests/param.c:405,1
    - Dst: g_value_set_string
      Src: /src/glib/gobject/tests/param.c:407,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:400,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/param.c:401,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:408,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/param.c:410,1
    - Dst: G_PARAM_SPEC_STRING
      Src: /src/glib/gobject/tests/param.c:412,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:420,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/param.c:421,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:441,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:443,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:456,1
    - Dst: g_strdup
      Src: /src/glib/gobject/tests/param.c:432,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:460,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/param.c:452,1
    - Dst: G_PARAM_SPEC_STRING
      Src: /src/glib/gobject/tests/param.c:432,1
    - Dst: g_value_set_string
      Src: /src/glib/gobject/tests/param.c:449,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:396,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:399,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:409,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:419,1
    - Dst: g_value_set_static_string
      Src: /src/glib/gobject/tests/param.c:423,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:424,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:425,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/param.c:426,1
    - Dst: g_value_set_string
      Src: /src/glib/gobject/tests/param.c:435,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:436,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:438,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:442,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:451,1
    - Dst: g_value_set_static_string
      Src: /src/glib/gobject/tests/param.c:440,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:437,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:455,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:450,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:395,1
    - Dst: g_value_set_string
      Src: /src/glib/gobject/tests/param.c:398,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:399,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/param.c:401,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:409,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/param.c:410,1
    - Dst: g_value_set_string
      Src: /src/glib/gobject/tests/param.c:418,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:419,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/param.c:421,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:424,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:436,1
    - Dst: G_PARAM_SPEC_STRING
      Src: /src/glib/gobject/tests/param.c:447,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:452,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/param.c:459,1
    - Dst: g_value_set_static_string
      Src: /src/glib/gobject/tests/param.c:454,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:456,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:441,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:457,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/param.c:457,1
    - Dst: g_strdup
      Src: /src/glib/gobject/tests/param.c:447,1
    - Dst: g_param_spec_string
      Src: /src/glib/gobject/tests/param.c:390,1
    - Dst: g_value_set_string
      Src: /src/glib/gobject/tests/param.c:394,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/param.c:392,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:395,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:400,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:408,1
    - Dst: G_PARAM_SPEC_STRING
      Src: /src/glib/gobject/tests/param.c:416,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:420,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/param.c:426,1
    - Dst: G_PARAM_SPEC_STRING
      Src: /src/glib/gobject/tests/param.c:428,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:437,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:451,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/param.c:438,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:455,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:450,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/param.c:443,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:425,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:442,1
    - Dst: G_PARAM_SPEC_STRING
      Src: /src/glib/gobject/tests/param.c:433,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 83
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 461
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 461
    functionName: test_param_spec_string
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - G_PARAM_SPEC_STRING
    - g_assert_true
    - g_strdup
    - g_assert_null
    - g_value_set_string
    - g_value_get_string
    - g_value_set_static_string
    - g_assert_nonnull
    - g_value_init
    - g_param_spec_unref
    - g_assert_false
    - g_param_value_validate
    - g_param_spec_string
    - g_param_value_is_valid
    - g_value_unset
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_param_spec_string (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/tests/param.c:1392,1
    - Dst: g_type_default_interface_ref
      Src: /src/glib/gobject/tests/param.c:1395,1
    - Dst: test_implementation_get_type
      Src: /src/glib/gobject/tests/param.c:1405,1
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/tests/param.c:1405,1
    - Dst: test_interface_get_type
      Src: /src/glib/gobject/tests/param.c:1395,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1406
      start: 1384
    functionDepth: 0
    functionLinenumber: 1384
    functionLinenumberEnd: 1406
    functionName: test_param_implement_child
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - test_interface_get_type
    - g_type_class_ref
    - test_implementation_get_type
    - g_type_default_interface_ref
    linkageType: ''
    returnType: void
    signature: 'static void test_param_implement_child (gconstpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gobject/tests/param.c:1613,1
    - Dst: G_PARAM_SPEC
      Src: /src/glib/gobject/tests/param.c:1623,1
    - Dst: g_param_spec_internal
      Src: /src/glib/gobject/tests/param.c:1615,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1624
      start: 1604
    functionDepth: 0
    functionLinenumber: 1604
    functionLinenumberEnd: 1624
    functionName: g_param_spec_custom
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_PARAM_SPEC
    - g_param_spec_internal
    linkageType: ''
    returnType: GParamSpec*
    signature: 'static GParamSpec *g_param_spec_custom (const char *name, int minimum,
      int maximum, int default_value, GParamFlags flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_param_spec_pool_new
      Src: /src/glib/gobject/tests/param.c:1649,1
    - Dst: g_param_spec_pool_lookup
      Src: /src/glib/gobject/tests/param.c:1654,1
    - Dst: g_param_spec_ref_sink
      Src: /src/glib/gobject/tests/param.c:1650,1
    - Dst: g_param_spec_pool_insert
      Src: /src/glib/gobject/tests/param.c:1653,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/param.c:1650,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:1655,1
    - Dst: g_param_spec_pool_remove
      Src: /src/glib/gobject/tests/param.c:1657,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/param.c:1658,1
    - Dst: g_param_spec_pool_lookup
      Src: /src/glib/gobject/tests/param.c:1658,1
    - Dst: g_param_spec_pool_free
      Src: /src/glib/gobject/tests/param.c:1660,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:1661,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1662
      start: 1646
    functionDepth: 0
    functionLinenumber: 1646
    functionLinenumberEnd: 1662
    functionName: test_param_spec_pool
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - g_param_spec_pool_new
    - g_assert_true
    - g_param_spec_pool_free
    - g_param_spec_pool_insert
    - g_assert_null
    - g_param_spec_int
    - g_param_spec_unref
    - g_param_spec_pool_lookup
    - g_param_spec_ref_sink
    - g_param_spec_pool_remove
    linkageType: ''
    returnType: void
    signature: 'static void test_param_spec_pool (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_param_spec_float
      Src: /src/glib/gobject/tests/param.c:258,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/gobject/tests/param.c:263,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/tests/param.c:262,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:262,1
    - Dst: g_param_value_set_default
      Src: /src/glib/gobject/tests/param.c:261,1
    - Dst: g_value_get_float
      Src: /src/glib/gobject/tests/param.c:263,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:264,1
    - Dst: g_param_value_defaults
      Src: /src/glib/gobject/tests/param.c:264,1
    - Dst: g_value_set_float
      Src: /src/glib/gobject/tests/param.c:266,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:267,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/gobject/tests/param.c:269,1
    - Dst: g_value_get_float
      Src: /src/glib/gobject/tests/param.c:269,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:268,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:268,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:267,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 272
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 272
    functionName: test_param_spec_float
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - g_param_spec_float
    - g_param_value_defaults
    - g_assert_true
    - G_VALUE_TYPE
    - g_assert_cmpfloat
    - g_value_set_float
    - g_param_value_is_valid
    - g_param_spec_unref
    - g_param_value_validate
    - g_value_get_float
    - g_assert_false
    - g_param_value_set_default
    linkageType: ''
    returnType: void
    signature: 'static void test_param_spec_float (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/param.c:476,1
    - Dst: g_param_value_defaults
      Src: /src/glib/gobject/tests/param.c:481,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:484,1
    - Dst: g_value_set_char
      Src: /src/glib/gobject/tests/param.c:488,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:491,1
    - Dst: g_value_get_char
      Src: /src/glib/gobject/tests/param.c:491,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:494,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:495,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:495,1
    - Dst: g_value_set_char
      Src: /src/glib/gobject/tests/param.c:498,1
    - Dst: g_param_spec_char
      Src: /src/glib/gobject/tests/param.c:469,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/param.c:474,1
    - Dst: g_param_spec_get_nick
      Src: /src/glib/gobject/tests/param.c:475,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/param.c:478,1
    - Dst: g_value_set_char
      Src: /src/glib/gobject/tests/param.c:479,1
    - Dst: g_value_set_char
      Src: /src/glib/gobject/tests/param.c:483,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:485,1
    - Dst: g_value_get_char
      Src: /src/glib/gobject/tests/param.c:486,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:481,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:494,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:501,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:503,1
    - Dst: g_param_spec_get_name
      Src: /src/glib/gobject/tests/param.c:474,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/param.c:475,1
    - Dst: g_param_spec_get_blurb
      Src: /src/glib/gobject/tests/param.c:476,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:486,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:489,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:490,1
    - Dst: g_value_set_char
      Src: /src/glib/gobject/tests/param.c:493,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:496,1
    - Dst: g_value_get_char
      Src: /src/glib/gobject/tests/param.c:496,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:499,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:500,1
    - Dst: g_param_spec_override
      Src: /src/glib/gobject/tests/param.c:472,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:484,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:485,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:489,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:490,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:499,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:500,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:504,1
    - Dst: g_value_get_char
      Src: /src/glib/gobject/tests/param.c:501,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 45
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 505
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 505
    functionName: test_param_spec_override
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - g_param_spec_char
    - g_param_spec_get_name
    - g_assert_true
    - g_param_value_defaults
    - g_param_spec_get_nick
    - g_value_set_char
    - g_param_spec_override
    - g_assert_cmpstr
    - g_value_init
    - g_param_value_is_valid
    - g_param_spec_unref
    - g_param_value_validate
    - g_value_get_char
    - g_assert_false
    - g_param_spec_get_blurb
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_param_spec_override (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/gobject/tests/param.c:777,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:783,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gobject/tests/param.c:787,1
    - Dst: g_test_subprocess
      Src: /src/glib/gobject/tests/param.c:779,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/param.c:782,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gobject/tests/param.c:788,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gobject/tests/param.c:789,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 790
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 790
    functionName: test_param_invalid_name
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_failed
    - g_test_summary
    - g_param_spec_int
    - g_test_trap_assert_stderr
    - g_param_spec_unref
    - g_test_trap_subprocess
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_param_invalid_name (gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - b
    argTypes:
    - TestObjectB*
    constantsTouched: []
    func_position:
      end: 1101
      start: 1101
    functionDepth: 0
    functionLinenumber: 1101
    functionLinenumberEnd: 1101
    functionName: test_object_b_init
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_object_b_init (TestObjectB *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - c
    argTypes:
    - TestObjectC*
    constantsTouched: []
    func_position:
      end: 1107
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1107
    functionName: test_object_c_init
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_object_c_init (TestObjectC *c) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_object_a_get_type
      Src: /src/glib/gobject/tests/param.c:1151,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/param.c:1154,1
    - Dst: test_object_c_get_type
      Src: /src/glib/gobject/tests/param.c:1151,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/param.c:1155,1
    - Dst: test_object_b_get_type
      Src: /src/glib/gobject/tests/param.c:1151,1
    - Dst: g_test_undefined
      Src: /src/glib/gobject/tests/param.c:1162,1
    - Dst: g_param_spec_object
      Src: /src/glib/gobject/tests/param.c:1166,1
    - Dst: g_test_expect_message
      Src: /src/glib/gobject/tests/param.c:1168,1
    - Dst: g_object_interface_install_property
      Src: /src/glib/gobject/tests/param.c:1170,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gobject/tests/param.c:1171,1
    - Dst: g_snprintf
      Src: /src/glib/gobject/tests/param.c:1177,1
    - Dst: g_param_spec_object
      Src: /src/glib/gobject/tests/param.c:1178,1
    - Dst: g_object_interface_install_property
      Src: /src/glib/gobject/tests/param.c:1179,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - iface
    argTypes:
    - TestInterfaceInterface*
    constantsTouched: []
    func_position:
      end: 1181
      start: 1143
    functionDepth: 0
    functionLinenumber: 1143
    functionLinenumberEnd: 1181
    functionName: test_interface_default_init
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - test_object_a_get_type
    - g_test_assert_expected_messages
    - G_N_ELEMENTS
    - g_object_interface_install_property
    - g_test_undefined
    - g_param_spec_object
    - test_object_b_get_type
    - g_test_expect_message
    - g_snprintf
    - test_object_c_get_type
    linkageType: ''
    returnType: void
    signature: 'static void test_interface_default_init (TestInterfaceInterface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - TestInterfaceInterface*
    constantsTouched: []
    func_position:
      end: 1329
      start: 1329
    functionDepth: 0
    functionLinenumber: 1329
    functionLinenumberEnd: 1329
    functionName: test_implementation_iface_init
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_implementation_iface_init (TestInterfaceInterface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_param_value_set_default
      Src: /src/glib/gobject/tests/param.c:283,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:289,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:289,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:303,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:307,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/gobject/tests/param.c:285,1
    - Dst: g_param_value_defaults
      Src: /src/glib/gobject/tests/param.c:286,1
    - Dst: g_param_value_set_default
      Src: /src/glib/gobject/tests/param.c:302,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:290,1
    - Dst: g_param_spec_double
      Src: /src/glib/gobject/tests/param.c:299,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:290,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:293,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:304,1
    - Dst: g_param_spec_double
      Src: /src/glib/gobject/tests/param.c:280,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/tests/param.c:284,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:284,1
    - Dst: g_value_get_double
      Src: /src/glib/gobject/tests/param.c:291,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:304,1
    - Dst: g_value_get_double
      Src: /src/glib/gobject/tests/param.c:305,1
    - Dst: g_value_get_double
      Src: /src/glib/gobject/tests/param.c:285,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:286,1
    - Dst: g_value_set_double
      Src: /src/glib/gobject/tests/param.c:288,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/gobject/tests/param.c:291,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:303,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/gobject/tests/param.c:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 308
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 308
    functionName: test_param_spec_double
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - g_param_value_defaults
    - g_assert_true
    - g_param_spec_double
    - G_VALUE_TYPE
    - g_value_get_double
    - g_assert_cmpfloat
    - g_param_value_is_valid
    - g_param_spec_unref
    - g_param_value_validate
    - g_value_set_double
    - g_assert_false
    - g_param_value_set_default
    linkageType: ''
    returnType: void
    signature: 'static void test_param_spec_double (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_param_spec_gtype
      Src: /src/glib/gobject/tests/param.c:513,1
    - Dst: g_value_set_gtype
      Src: /src/glib/gobject/tests/param.c:517,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/param.c:516,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:523,1
    - Dst: g_value_get_gtype
      Src: /src/glib/gobject/tests/param.c:529,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:528,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:529,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:522,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:519,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:522,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:527,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:528,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:527,1
    - Dst: g_value_set_gtype
      Src: /src/glib/gobject/tests/param.c:526,1
    - Dst: g_value_get_gtype
      Src: /src/glib/gobject/tests/param.c:524,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:531,1
    - Dst: g_param_value_defaults
      Src: /src/glib/gobject/tests/param.c:519,1
    - Dst: g_value_set_gtype
      Src: /src/glib/gobject/tests/param.c:521,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:523,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:524,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 532
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 532
    functionName: test_param_spec_gtype
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - g_param_value_defaults
    - g_assert_true
    - g_value_set_gtype
    - g_value_init
    - g_param_value_is_valid
    - g_param_spec_unref
    - g_param_value_validate
    - g_value_get_gtype
    - g_assert_false
    - g_param_spec_gtype
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_param_spec_gtype (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/param.c:799,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/param.c:804,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/param.c:803,1
    - Dst: g_value_set_uint
      Src: /src/glib/gobject/tests/param.c:801,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/param.c:800,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:806,1
    - Dst: g_param_value_convert
      Src: /src/glib/gobject/tests/param.c:806,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:807,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/param.c:807,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:809,1
    - Dst: g_param_value_convert
      Src: /src/glib/gobject/tests/param.c:809,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:810,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:812,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/param.c:810,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 813
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 813
    functionName: test_param_convert
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_value_set_uint
    - g_param_spec_int
    - g_value_set_int
    - g_value_init
    - g_param_spec_unref
    - g_param_value_convert
    - g_assert_false
    - g_value_get_int
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_param_convert (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - class
    argTypes:
    - TestObjectAClass*
    constantsTouched: []
    func_position:
      end: 1094
      start: 1094
    functionDepth: 0
    functionLinenumber: 1094
    functionLinenumberEnd: 1094
    functionName: test_object_a_class_init
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_object_a_class_init (TestObjectAClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - class
    argTypes:
    - TestObjectBClass*
    constantsTouched: []
    func_position:
      end: 1100
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1100
    functionName: test_object_b_class_init
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_object_b_class_init (TestObjectBClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - impl
    argTypes:
    - TestImplementation*
    constantsTouched: []
    func_position:
      end: 1328
      start: 1328
    functionDepth: 0
    functionLinenumber: 1328
    functionLinenumberEnd: 1328
    functionName: test_implementation_init
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_implementation_init (TestImplementation *impl) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_object_a_get_type
      Src: /src/glib/gobject/tests/param.c:1342,1
    - Dst: test_object_c_get_type
      Src: /src/glib/gobject/tests/param.c:1343,1
    - Dst: test_object_b_get_type
      Src: /src/glib/gobject/tests/param.c:1342,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gobject/tests/param.c:1349,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gobject/tests/param.c:1348,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/param.c:1355,1
    - Dst: g_snprintf
      Src: /src/glib/gobject/tests/param.c:1363,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gobject/tests/param.c:1364,1
    - Dst: g_error
      Src: /src/glib/gobject/tests/param.c:1370,1
    - Dst: g_snprintf
      Src: /src/glib/gobject/tests/param.c:1372,1
    - Dst: g_param_spec_object
      Src: /src/glib/gobject/tests/param.c:1373,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gobject/tests/param.c:1374,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - class
    argTypes:
    - TestImplementationClass*
    constantsTouched: []
    func_position:
      end: 1375
      start: 1335
    functionDepth: 0
    functionLinenumber: 1335
    functionLinenumberEnd: 1375
    functionName: test_implementation_class_init
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - test_object_a_get_type
    - G_N_ELEMENTS
    - g_param_spec_object
    - test_object_b_get_type
    - g_object_class_install_property
    - g_snprintf
    - GINT_TO_POINTER
    - g_object_class_override_property
    - g_error
    - test_object_c_get_type
    linkageType: ''
    returnType: void
    signature: 'static void test_implementation_class_init (TestImplementationClass
      *class) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gobject/tests/param.c:608,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gobject/tests/param.c:611,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gobject/tests/param.c:613,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gobject/tests/param.c:614,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gobject/tests/param.c:616,1
    - Dst: g_value_set_variant
      Src: /src/glib/gobject/tests/param.c:634,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/gobject/tests/param.c:636,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:650,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:653,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:661,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/param.c:638,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/gobject/tests/param.c:641,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gobject/tests/param.c:656,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gobject/tests/param.c:610,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gobject/tests/param.c:612,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gobject/tests/param.c:609,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gobject/tests/param.c:615,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gobject/tests/param.c:617,1
    - Dst: g_param_spec_variant
      Src: /src/glib/gobject/tests/param.c:628,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/param.c:633,1
    - Dst: g_value_set_variant
      Src: /src/glib/gobject/tests/param.c:639,1
    - Dst: g_param_values_cmp
      Src: /src/glib/gobject/tests/param.c:643,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/param.c:621,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/param.c:659,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/param.c:660,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 663
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 663
    functionName: test_param_spec_variant_cmp
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - g_assert_not_reached
    - g_value_init
    - g_param_spec_unref
    - g_value_unset
    - g_param_values_cmp
    - g_variant_new_parsed
    - g_value_set_variant
    - g_param_spec_variant
    - G_VARIANT_TYPE
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_param_spec_variant_cmp (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/param.c:126,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:131,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:130,1
    - Dst: g_param_value_set_default
      Src: /src/glib/gobject/tests/param.c:129,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/tests/param.c:130,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/param.c:131,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:132,1
    - Dst: g_param_value_defaults
      Src: /src/glib/gobject/tests/param.c:132,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/param.c:134,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:135,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:139,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:136,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:135,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:136,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/param.c:137,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 140
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 140
    functionName: test_param_spec_int
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - g_param_value_defaults
    - g_assert_true
    - G_VALUE_TYPE
    - g_param_spec_int
    - g_value_set_int
    - g_param_value_is_valid
    - g_param_spec_unref
    - g_param_value_validate
    - g_assert_false
    - g_param_value_set_default
    - g_value_get_int
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_param_spec_int (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_param_spec_int64
      Src: /src/glib/gobject/tests/param.c:214,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/tests/param.c:218,1
    - Dst: g_param_value_set_default
      Src: /src/glib/gobject/tests/param.c:217,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:218,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:219,1
    - Dst: g_value_get_int64
      Src: /src/glib/gobject/tests/param.c:219,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:220,1
    - Dst: g_param_value_defaults
      Src: /src/glib/gobject/tests/param.c:220,1
    - Dst: g_value_set_int64
      Src: /src/glib/gobject/tests/param.c:222,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:223,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:224,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:225,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:227,1
    - Dst: g_value_get_int64
      Src: /src/glib/gobject/tests/param.c:225,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:224,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 228
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 228
    functionName: test_param_spec_int64
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - g_value_get_int64
    - g_param_value_defaults
    - g_assert_true
    - g_param_spec_int64
    - G_VALUE_TYPE
    - g_param_value_is_valid
    - g_param_spec_unref
    - g_param_value_validate
    - g_assert_false
    - g_value_set_int64
    - g_param_value_set_default
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_param_spec_int64 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/param.c:319,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:327,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:331,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:332,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:331,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:335,1
    - Dst: g_param_spec_unichar
      Src: /src/glib/gobject/tests/param.c:316,1
    - Dst: g_value_set_uint
      Src: /src/glib/gobject/tests/param.c:325,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:326,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:326,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:332,1
    - Dst: g_param_spec_get_name
      Src: /src/glib/gobject/tests/param.c:319,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:328,1
    - Dst: g_value_get_uint
      Src: /src/glib/gobject/tests/param.c:328,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:333,1
    - Dst: g_value_set_uint
      Src: /src/glib/gobject/tests/param.c:330,1
    - Dst: g_value_get_uint
      Src: /src/glib/gobject/tests/param.c:333,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/param.c:321,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:327,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 336
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 336
    functionName: test_param_spec_unichar
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - g_param_spec_get_name
    - g_assert_true
    - g_value_set_uint
    - g_param_spec_unichar
    - g_assert_cmpstr
    - g_value_init
    - g_param_value_is_valid
    - g_value_get_uint
    - g_param_spec_unref
    - g_param_value_validate
    - g_assert_false
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_param_spec_unichar (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 698
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 698
    functionName: my_destroy
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void my_destroy (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - TestObjectA*
    constantsTouched: []
    func_position:
      end: 1095
      start: 1095
    functionDepth: 0
    functionLinenumber: 1095
    functionLinenumberEnd: 1095
    functionName: test_object_a_init
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_object_a_init (TestObjectA *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/param.c:1535,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:1539,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/param.c:1538,1
    - Dst: g_param_spec_is_valid_name
      Src: /src/glib/gobject/tests/param.c:1536,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:1536,1
    - Dst: g_param_spec_is_valid_name
      Src: /src/glib/gobject/tests/param.c:1539,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1540
      start: 1516
    functionDepth: 0
    functionLinenumber: 1516
    functionLinenumberEnd: 1540
    functionName: test_param_is_valid_name
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - g_assert_false
    - g_assert_true
    - g_param_spec_is_valid_name
    linkageType: ''
    returnType: void
    signature: 'static void test_param_is_valid_name (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 1557
      start: 1552
    functionDepth: 0
    functionLinenumber: 1552
    functionLinenumberEnd: 1557
    functionName: param_int_set_default
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void param_int_set_default (GParamSpec *pspec, GValue *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_param_spec_uint
      Src: /src/glib/gobject/tests/param.c:148,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:153,1
    - Dst: g_param_value_set_default
      Src: /src/glib/gobject/tests/param.c:151,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/tests/param.c:152,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:152,1
    - Dst: g_value_get_uint
      Src: /src/glib/gobject/tests/param.c:153,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:154,1
    - Dst: g_param_value_defaults
      Src: /src/glib/gobject/tests/param.c:154,1
    - Dst: g_value_set_uint
      Src: /src/glib/gobject/tests/param.c:156,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:157,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:157,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:158,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:158,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:161,1
    - Dst: g_value_get_uint
      Src: /src/glib/gobject/tests/param.c:159,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 162
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 162
    functionName: test_param_spec_uint
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - g_param_value_defaults
    - g_assert_true
    - g_value_set_uint
    - G_VALUE_TYPE
    - g_param_value_is_valid
    - g_param_spec_unref
    - g_value_get_uint
    - g_param_value_validate
    - g_assert_false
    - g_param_spec_uint
    - g_param_value_set_default
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_param_spec_uint (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_param_spec_uint64
      Src: /src/glib/gobject/tests/param.c:236,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:240,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:241,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gobject/tests/param.c:240,1
    - Dst: g_param_value_set_default
      Src: /src/glib/gobject/tests/param.c:239,1
    - Dst: g_value_get_uint64
      Src: /src/glib/gobject/tests/param.c:241,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:242,1
    - Dst: g_param_value_defaults
      Src: /src/glib/gobject/tests/param.c:242,1
    - Dst: g_value_set_uint64
      Src: /src/glib/gobject/tests/param.c:244,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:245,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:246,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:247,1
    - Dst: g_value_get_uint64
      Src: /src/glib/gobject/tests/param.c:247,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:246,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:249,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:245,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 250
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 250
    functionName: test_param_spec_uint64
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - g_param_value_defaults
    - g_assert_true
    - G_VALUE_TYPE
    - g_param_spec_uint64
    - g_param_value_is_valid
    - g_param_spec_unref
    - g_value_set_uint64
    - g_param_value_validate
    - g_assert_false
    - g_value_get_uint64
    - g_param_value_set_default
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_param_spec_uint64 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_param_spec_uint
      Src: /src/glib/gobject/tests/param.c:345,1
    - Dst: g_param_spec_param
      Src: /src/glib/gobject/tests/param.c:348,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/param.c:353,1
    - Dst: g_param_spec_get_name
      Src: /src/glib/gobject/tests/param.c:351,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/param.c:351,1
    - Dst: g_value_set_param
      Src: /src/glib/gobject/tests/param.c:355,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:356,1
    - Dst: g_param_value_is_valid
      Src: /src/glib/gobject/tests/param.c:356,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:357,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:357,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/param.c:360,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:358,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:362,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:361,1
    - Dst: g_value_get_param
      Src: /src/glib/gobject/tests/param.c:358,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 363
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 363
    functionName: test_param_spec_param
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - g_param_spec_get_name
    - g_assert_true
    - g_assert_cmpstr
    - g_value_init
    - g_value_set_param
    - g_param_value_is_valid
    - g_assert_false
    - g_param_value_validate
    - g_param_spec_unref
    - g_param_spec_param
    - g_param_spec_uint
    - g_value_get_param
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void test_param_spec_param (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_quark_from_string
      Src: /src/glib/gobject/tests/param.c:707,1
    - Dst: g_param_spec_set_qdata
      Src: /src/glib/gobject/tests/param.c:710,1
    - Dst: g_param_spec_get_qdata
      Src: /src/glib/gobject/tests/param.c:711,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/param.c:709,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/param.c:712,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:714,1
    - Dst: g_param_spec_set_qdata_full
      Src: /src/glib/gobject/tests/param.c:715,1
    - Dst: g_param_spec_set_qdata_full
      Src: /src/glib/gobject/tests/param.c:716,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:717,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/param.c:718,1
    - Dst: g_param_spec_steal_qdata
      Src: /src/glib/gobject/tests/param.c:718,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:719,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/param.c:720,1
    - Dst: g_param_spec_get_qdata
      Src: /src/glib/gobject/tests/param.c:720,1
    - Dst: g_param_spec_ref_sink
      Src: /src/glib/gobject/tests/param.c:722,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:724,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 725
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 725
    functionName: test_param_qdata
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - g_quark_from_string
    - g_assert_null
    - g_param_spec_int
    - g_assert_cmpstr
    - g_param_spec_unref
    - g_param_spec_set_qdata
    - g_param_spec_get_qdata
    - g_param_spec_ref_sink
    - g_param_spec_steal_qdata
    - g_param_spec_set_qdata_full
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_param_qdata (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1550
      start: 1542
    functionDepth: 0
    functionLinenumber: 1542
    functionLinenumberEnd: 1550
    functionName: param_int_init
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void param_int_init (GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLAMP
      Src: /src/glib/gobject/tests/param.c:1566,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - pspec
    - value
    argTypes:
    - GParamSpec*
    - GValue*
    constantsTouched: []
    func_position:
      end: 1569
      start: 1559
    functionDepth: 0
    functionLinenumber: 1559
    functionLinenumberEnd: 1569
    functionName: param_int_validate
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - CLAMP
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean param_int_validate (GParamSpec *pspec, GValue *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/param.c:733,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:737,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/param.c:735,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/param.c:736,1
    - Dst: g_param_value_defaults
      Src: /src/glib/gobject/tests/param.c:737,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:738,1
    - Dst: g_param_value_validate
      Src: /src/glib/gobject/tests/param.c:738,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:739,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/param.c:739,1
    - Dst: g_param_value_set_default
      Src: /src/glib/gobject/tests/param.c:741,1
    - Dst: g_param_value_defaults
      Src: /src/glib/gobject/tests/param.c:742,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:742,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/param.c:743,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:743,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:745,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 746
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 746
    functionName: test_param_validate
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - g_param_value_defaults
    - g_assert_true
    - g_param_spec_int
    - g_value_set_int
    - g_value_init
    - g_param_spec_unref
    - g_param_value_validate
    - g_assert_false
    - g_param_value_set_default
    - g_value_get_int
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_param_validate (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_INT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:836,1
    - Dst: CHECK_INT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:841,1
    - Dst: CHECK_FLOAT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:993,1
    - Dst: CHECK_UINT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:970,1
    - Dst: CHECK_DOUBLE_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1025,1
    - Dst: CHECK_INT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:847,1
    - Dst: CHECK_UINT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:864,1
    - Dst: CHECK_UINT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:870,1
    - Dst: CHECK_LONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:893,1
    - Dst: CHECK_ULONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:916,1
    - Dst: CHECK_INT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:939,1
    - Dst: CHECK_UINT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:968,1
    - Dst: CHECK_FLOAT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:991,1
    - Dst: CHECK_DOUBLE_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1014,1
    - Dst: CHECK_STRING_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1061,1
    - Dst: CHECK_DOUBLE_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1016,1
    - Dst: CHECK_DOUBLE_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1018,1
    - Dst: CHECK_DOUBLE_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1017,1
    - Dst: CHECK_ULONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:917,1
    - Dst: CHECK_UINT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:963,1
    - Dst: CHECK_INT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:839,1
    - Dst: CHECK_INT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:848,1
    - Dst: CHECK_UINT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:865,1
    - Dst: CHECK_UINT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:871,1
    - Dst: CHECK_LONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:888,1
    - Dst: CHECK_INT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:946,1
    - Dst: CHECK_LONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:894,1
    - Dst: CHECK_INT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:940,1
    - Dst: CHECK_INT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:951,1
    - Dst: CHECK_LONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:899,1
    - Dst: CHECK_INT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:945,1
    - Dst: CHECK_ULONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:922,1
    - Dst: CHECK_INT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:840,1
    - Dst: CHECK_UINT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:876,1
    - Dst: CHECK_UINT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:974,1
    - Dst: CHECK_FLOAT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:997,1
    - Dst: CHECK_DOUBLE_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1020,1
    - Dst: CHECK_DOUBLE_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1026,1
    - Dst: g_value_type_transformable
      Src: /src/glib/gobject/tests/param.c:1067,1
    - Dst: CHECK_UINT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:863,1
    - Dst: CHECK_UINT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:869,1
    - Dst: CHECK_LONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:892,1
    - Dst: CHECK_INT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:938,1
    - Dst: CHECK_ULONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:915,1
    - Dst: CHECK_FLOAT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:990,1
    - Dst: CHECK_DOUBLE_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1013,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/param.c:1068,1
    - Dst: CHECK_UINT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:966,1
    - Dst: CHECK_INT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:851,1
    - Dst: CHECK_UINT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:874,1
    - Dst: CHECK_LONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:897,1
    - Dst: CHECK_INT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:949,1
    - Dst: CHECK_INT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:943,1
    - Dst: CHECK_ULONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:920,1
    - Dst: CHECK_ULONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:926,1
    - Dst: CHECK_UINT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:972,1
    - Dst: CHECK_FLOAT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:995,1
    - Dst: CHECK_LONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:898,1
    - Dst: CHECK_UINT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:967,1
    - Dst: CHECK_INT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:944,1
    - Dst: CHECK_INT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:950,1
    - Dst: CHECK_INT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:838,1
    - Dst: CHECK_INT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:844,1
    - Dst: CHECK_INT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:846,1
    - Dst: CHECK_UINT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:875,1
    - Dst: CHECK_ULONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:921,1
    - Dst: CHECK_UINT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:973,1
    - Dst: CHECK_BOOLEAN_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1044,1
    - Dst: CHECK_BOOLEAN_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1041,1
    - Dst: CHECK_FLOAT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:996,1
    - Dst: CHECK_BOOLEAN_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1042,1
    - Dst: CHECK_BOOLEAN_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1046,1
    - Dst: CHECK_STRING_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1058,1
    - Dst: CHECK_FLOAT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:988,1
    - Dst: CHECK_INT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:850,1
    - Dst: CHECK_UINT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:867,1
    - Dst: CHECK_UINT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:873,1
    - Dst: CHECK_LONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:896,1
    - Dst: CHECK_UINT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:965,1
    - Dst: CHECK_INT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:948,1
    - Dst: CHECK_INT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:942,1
    - Dst: CHECK_ULONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:919,1
    - Dst: CHECK_ULONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:925,1
    - Dst: CHECK_UINT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:971,1
    - Dst: CHECK_DOUBLE_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1019,1
    - Dst: CHECK_DOUBLE_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1023,1
    - Dst: CHECK_LONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:901,1
    - Dst: CHECK_UINT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:976,1
    - Dst: CHECK_FLOAT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:999,1
    - Dst: CHECK_DOUBLE_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1022,1
    - Dst: CHECK_BOOLEAN_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1045,1
    - Dst: CHECK_STRING_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1063,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:1067,1
    - Dst: g_value_set_static_string
      Src: /src/glib/gobject/tests/param.c:1070,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/param.c:1075,1
    - Dst: CHECK_STRING_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1065,1
    - Dst: CHECK_FLOAT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1000,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/param.c:1074,1
    - Dst: CHECK_FLOAT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1001,1
    - Dst: CHECK_ULONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:914,1
    - Dst: CHECK_INT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:845,1
    - Dst: CHECK_UINT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:868,1
    - Dst: CHECK_LONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:891,1
    - Dst: CHECK_FLOAT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:989,1
    - Dst: CHECK_BOOLEAN_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1043,1
    - Dst: CHECK_STRING_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1059,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/param.c:1072,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:1073,1
    - Dst: g_value_get_schar
      Src: /src/glib/gobject/tests/param.c:1073,1
    - Dst: CHECK_ULONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:923,1
    - Dst: CHECK_LONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:900,1
    - Dst: CHECK_UINT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:975,1
    - Dst: CHECK_FLOAT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:998,1
    - Dst: CHECK_DOUBLE_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1021,1
    - Dst: CHECK_DOUBLE_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1024,1
    - Dst: CHECK_STRING_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1062,1
    - Dst: CHECK_STRING_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1060,1
    - Dst: CHECK_STRING_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1064,1
    - Dst: g_value_set_schar
      Src: /src/glib/gobject/tests/param.c:1071,1
    - Dst: CHECK_UINT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:969,1
    - Dst: CHECK_INT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:842,1
    - Dst: CHECK_INT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:843,1
    - Dst: CHECK_ULONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:913,1
    - Dst: CHECK_LONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:890,1
    - Dst: g_value_transform
      Src: /src/glib/gobject/tests/param.c:1072,1
    - Dst: CHECK_FLOAT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:994,1
    - Dst: CHECK_DOUBLE_CONVERSION
      Src: /src/glib/gobject/tests/param.c:1015,1
    - Dst: CHECK_ULONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:918,1
    - Dst: CHECK_UINT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:964,1
    - Dst: CHECK_INT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:941,1
    - Dst: CHECK_INT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:849,1
    - Dst: CHECK_UINT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:866,1
    - Dst: CHECK_UINT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:872,1
    - Dst: CHECK_LONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:889,1
    - Dst: CHECK_LONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:895,1
    - Dst: CHECK_INT64_CONVERSION
      Src: /src/glib/gobject/tests/param.c:947,1
    - Dst: CHECK_ULONG_CONVERSION
      Src: /src/glib/gobject/tests/param.c:924,1
    - Dst: CHECK_FLOAT_CONVERSION
      Src: /src/glib/gobject/tests/param.c:992,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/param.c:1069,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 140
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1076
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 1076
    functionName: test_value_transform
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - g_value_set_static_string
    - g_value_type_transformable
    - g_value_transform
    - g_value_set_schar
    - CHECK_INT64_CONVERSION
    - CHECK_LONG_CONVERSION
    - CHECK_UINT_CONVERSION
    - g_assert_false
    - g_value_get_schar
    - g_assert_cmpint
    - CHECK_UINT64_CONVERSION
    - g_value_init
    - CHECK_INT_CONVERSION
    - CHECK_STRING_CONVERSION
    - CHECK_DOUBLE_CONVERSION
    - CHECK_BOOLEAN_CONVERSION
    - CHECK_ULONG_CONVERSION
    - CHECK_FLOAT_CONVERSION
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void test_value_transform (void) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/gobject/tests/param.c:1416,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/param.c:1440,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gobject/tests/param.c:1479,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gobject/tests/param.c:1458,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gobject/tests/param.c:1489,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/gobject/tests/param.c:1497,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gobject/tests/param.c:1449,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gobject/tests/param.c:1454,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gobject/tests/param.c:1485,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gobject/tests/param.c:1438,1
    - Dst: g_test_undefined
      Src: /src/glib/gobject/tests/param.c:1425,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gobject/tests/param.c:1448,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gobject/tests/param.c:1453,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gobject/tests/param.c:1476,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gobject/tests/param.c:1463,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gobject/tests/param.c:1484,1
    - Dst: g_test_slow
      Src: /src/glib/gobject/tests/param.c:1414,1
    - Dst: g_strdup_printf
      Src: /src/glib/gobject/tests/param.c:1435,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:1447,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gobject/tests/param.c:1464,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gobject/tests/param.c:1480,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gobject/tests/param.c:1459,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gobject/tests/param.c:1490,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 48
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1499
      start: 1408
    functionDepth: 0
    functionLinenumber: 1408
    functionLinenumberEnd: 1499
    functionName: test_param_implement
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_passed
    - g_test_trap_assert_failed
    - g_strdup_printf
    - g_test_slow
    - g_test_undefined
    - g_test_trap_assert_stderr
    - g_assert_not_reached
    - g_test_trap_subprocess
    - g_test_skip
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_param_implement (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/param.c:754,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/param.c:756,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/param.c:757,1
    - Dst: g_param_spec_get_nick
      Src: /src/glib/gobject/tests/param.c:757,1
    - Dst: g_param_spec_get_name
      Src: /src/glib/gobject/tests/param.c:756,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/param.c:758,1
    - Dst: g_param_spec_get_blurb
      Src: /src/glib/gobject/tests/param.c:758,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:760,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/param.c:763,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/param.c:765,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/param.c:767,1
    - Dst: g_param_spec_get_blurb
      Src: /src/glib/gobject/tests/param.c:767,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:769,1
    - Dst: g_param_spec_get_name
      Src: /src/glib/gobject/tests/param.c:765,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/param.c:766,1
    - Dst: g_param_spec_get_nick
      Src: /src/glib/gobject/tests/param.c:766,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 770
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 770
    functionName: test_param_strings
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - g_param_spec_get_name
    - g_param_spec_get_nick
    - g_assert_null
    - g_param_spec_int
    - g_assert_cmpstr
    - g_param_spec_unref
    - g_param_spec_get_blurb
    linkageType: ''
    returnType: void
    signature: 'static void test_param_strings (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - class
    argTypes:
    - TestObjectCClass*
    constantsTouched: []
    func_position:
      end: 1106
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1106
    functionName: test_object_c_class_init
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_object_c_class_init (TestObjectCClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/param.c:1507,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/param.c:1511,1
    - Dst: G_VALUE_HOLDS
      Src: /src/glib/gobject/tests/param.c:1510,1
    - Dst: g_param_spec_get_default_value
      Src: /src/glib/gobject/tests/param.c:1508,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/param.c:1510,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/param.c:1511,1
    - Dst: g_param_spec_unref
      Src: /src/glib/gobject/tests/param.c:1513,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1514
      start: 1501
    functionDepth: 0
    functionLinenumber: 1501
    functionLinenumberEnd: 1514
    functionName: test_param_default
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - G_VALUE_HOLDS
    - g_param_spec_int
    - g_param_spec_get_default_value
    - g_param_spec_unref
    - g_value_get_int
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_param_default (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_add_data_func
      Src: /src/glib/gobject/tests/param.c:1675,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/param.c:1698,1
    - Dst: g_strdup_printf
      Src: /src/glib/gobject/tests/param.c:1688,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/param.c:1702,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/param.c:1703,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/param.c:1720,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/param.c:1717,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gobject/tests/param.c:1674,1
    - Dst: g_steal_pointer
      Src: /src/glib/gobject/tests/param.c:1692,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/param.c:1696,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/param.c:1699,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/param.c:1700,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/param.c:1704,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/param.c:1709,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/param.c:1711,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/param.c:1713,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/param.c:1714,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/param.c:1718,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/param.c:1710,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/param.c:1672,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/param.c:1677,1
    - Dst: g_memdup2
      Src: /src/glib/gobject/tests/param.c:1691,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/param.c:1693,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/param.c:1701,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/param.c:1705,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/param.c:1708,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/param.c:1715,1
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/param.c:1670,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/param.c:1673,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gobject/tests/param.c:1676,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/param.c:1678,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/param.c:1679,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/param.c:1681,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/param.c:1697,1
    - Dst: g_test_add_data_func_full
      Src: /src/glib/gobject/tests/param.c:1692,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/param.c:1706,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/param.c:1707,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/param.c:1712,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/param.c:1716,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 51
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1721
      start: 1664
    functionDepth: 0
    functionLinenumber: 1664
    functionLinenumberEnd: 1721
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/param.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_test_add_func
    - g_strdup_printf
    - g_test_add_data_func
    - g_test_add_data_func_full
    - g_free
    - g_test_run
    - g_memdup2
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_perf
      Src: /src/glib/gobject/tests/signal-handler.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: choose_n_handlers
    functionSourceFile: /src/glib/gobject/tests/signal-handler.c
    functionUses: []
    functionsReached:
    - g_test_perf
    linkageType: ''
    returnType: guint
    signature: 'static guint choose_n_handlers (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/signal-handler.c:31,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/signal-handler.c:37,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/signal-handler.c:36,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/signal-handler.c:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - class
    argTypes:
    - MyObjClass*
    constantsTouched: []
    func_position:
      end: 40
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 40
    functionName: my_obj_class_init
    functionSourceFile: /src/glib/gobject/tests/signal-handler.c
    functionUses: []
    functionsReached:
    - G_TYPE_FROM_CLASS
    - g_signal_new
    linkageType: ''
    returnType: void
    signature: 'static void my_obj_class_init (MyObjClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: choose_n_handlers
      Src: /src/glib/gobject/tests/signal-handler.c:82,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signal-handler.c:88,1
    - Dst: my_obj_get_type
      Src: /src/glib/gobject/tests/signal-handler.c:85,1
    - Dst: g_malloc_n
      Src: /src/glib/gobject/tests/signal-handler.c:84,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signal-handler.c:85,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signal-handler.c:88,1
    - Dst: g_test_timer_start
      Src: /src/glib/gobject/tests/signal-handler.c:90,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gobject/tests/signal-handler.c:93,1
    - Dst: g_test_timer_elapsed
      Src: /src/glib/gobject/tests/signal-handler.c:95,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signal-handler.c:97,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/signal-handler.c:98,1
    - Dst: g_test_minimized_result
      Src: /src/glib/gobject/tests/signal-handler.c:100,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 101
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 101
    functionName: test_disconnect_many_ordered
    functionSourceFile: /src/glib/gobject/tests/signal-handler.c
    functionUses: []
    functionsReached:
    - g_malloc_n
    - g_object_unref
    - g_object_new
    - g_signal_handler_disconnect
    - my_obj_get_type
    - g_test_timer_start
    - G_CALLBACK
    - g_test_timer_elapsed
    - choose_n_handlers
    - g_test_minimized_result
    - g_free
    - g_signal_connect
    linkageType: ''
    returnType: void
    signature: 'static void test_disconnect_many_ordered (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: choose_n_handlers
      Src: /src/glib/gobject/tests/signal-handler.c:139,1
    - Dst: g_malloc_n
      Src: /src/glib/gobject/tests/signal-handler.c:141,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signal-handler.c:142,1
    - Dst: my_obj_get_type
      Src: /src/glib/gobject/tests/signal-handler.c:142,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signal-handler.c:145,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signal-handler.c:145,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/gobject/tests/signal-handler.c:149,1
    - Dst: g_test_timer_start
      Src: /src/glib/gobject/tests/signal-handler.c:155,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gobject/tests/signal-handler.c:158,1
    - Dst: g_test_timer_elapsed
      Src: /src/glib/gobject/tests/signal-handler.c:160,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signal-handler.c:162,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/signal-handler.c:163,1
    - Dst: g_test_minimized_result
      Src: /src/glib/gobject/tests/signal-handler.c:165,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 166
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 166
    functionName: test_disconnect_many_random
    functionSourceFile: /src/glib/gobject/tests/signal-handler.c
    functionUses: []
    functionsReached:
    - g_malloc_n
    - g_object_unref
    - g_object_new
    - g_signal_handler_disconnect
    - my_obj_get_type
    - g_test_rand_int_range
    - g_test_timer_start
    - G_CALLBACK
    - g_test_timer_elapsed
    - choose_n_handlers
    - g_test_minimized_result
    - g_free
    - g_signal_connect
    linkageType: ''
    returnType: void
    signature: 'static void test_disconnect_many_random (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc_n
      Src: /src/glib/gobject/tests/signal-handler.c:222,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signal-handler.c:223,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signal-handler.c:235,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signal-handler.c:235,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signal-handler.c:258,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signal-handler.c:259,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signal-handler.c:224,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signal-handler.c:230,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signal-handler.c:230,1
    - Dst: g_test_timer_start
      Src: /src/glib/gobject/tests/signal-handler.c:251,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/gobject/tests/signal-handler.c:242,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/signal-handler.c:260,1
    - Dst: g_test_minimized_result
      Src: /src/glib/gobject/tests/signal-handler.c:263,1
    - Dst: choose_n_handlers
      Src: /src/glib/gobject/tests/signal-handler.c:219,1
    - Dst: my_obj_get_type
      Src: /src/glib/gobject/tests/signal-handler.c:223,1
    - Dst: g_malloc_n
      Src: /src/glib/gobject/tests/signal-handler.c:221,1
    - Dst: my_obj_get_type
      Src: /src/glib/gobject/tests/signal-handler.c:224,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gobject/tests/signal-handler.c:254,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/signal-handler.c:261,1
    - Dst: g_test_timer_elapsed
      Src: /src/glib/gobject/tests/signal-handler.c:256,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 264
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 264
    functionName: test_disconnect_2_objects
    functionSourceFile: /src/glib/gobject/tests/signal-handler.c
    functionUses: []
    functionsReached:
    - g_malloc_n
    - g_object_unref
    - g_object_new
    - g_signal_handler_disconnect
    - my_obj_get_type
    - g_test_rand_int_range
    - g_test_timer_start
    - G_CALLBACK
    - g_test_timer_elapsed
    - choose_n_handlers
    - g_test_minimized_result
    - g_free
    - g_signal_connect
    linkageType: ''
    returnType: void
    signature: 'static void test_disconnect_2_objects (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - o
    argTypes:
    - MyObj*
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: my_obj_init
    functionSourceFile: /src/glib/gobject/tests/signal-handler.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void my_obj_init (MyObj *o) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: choose_n_handlers
      Src: /src/glib/gobject/tests/signal-handler.c:59,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signal-handler.c:66,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signal-handler.c:61,1
    - Dst: my_obj_get_type
      Src: /src/glib/gobject/tests/signal-handler.c:61,1
    - Dst: g_test_timer_start
      Src: /src/glib/gobject/tests/signal-handler.c:63,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signal-handler.c:66,1
    - Dst: g_test_timer_elapsed
      Src: /src/glib/gobject/tests/signal-handler.c:68,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signal-handler.c:70,1
    - Dst: g_test_minimized_result
      Src: /src/glib/gobject/tests/signal-handler.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 73
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 73
    functionName: test_connect_many
    functionSourceFile: /src/glib/gobject/tests/signal-handler.c
    functionUses: []
    functionsReached:
    - choose_n_handlers
    - g_object_unref
    - g_object_new
    - my_obj_get_type
    - G_CALLBACK
    - g_test_timer_elapsed
    - g_test_timer_start
    - g_test_minimized_result
    - g_signal_connect
    linkageType: ''
    returnType: void
    signature: 'static void test_connect_many (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: nop
    functionSourceFile: /src/glib/gobject/tests/signal-handler.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void nop (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: choose_n_handlers
      Src: /src/glib/gobject/tests/signal-handler.c:110,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signal-handler.c:116,1
    - Dst: g_malloc_n
      Src: /src/glib/gobject/tests/signal-handler.c:112,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signal-handler.c:113,1
    - Dst: my_obj_get_type
      Src: /src/glib/gobject/tests/signal-handler.c:113,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signal-handler.c:116,1
    - Dst: g_test_timer_start
      Src: /src/glib/gobject/tests/signal-handler.c:118,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gobject/tests/signal-handler.c:121,1
    - Dst: g_test_timer_elapsed
      Src: /src/glib/gobject/tests/signal-handler.c:123,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signal-handler.c:125,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/signal-handler.c:126,1
    - Dst: g_test_minimized_result
      Src: /src/glib/gobject/tests/signal-handler.c:128,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 129
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 129
    functionName: test_disconnect_many_inverse
    functionSourceFile: /src/glib/gobject/tests/signal-handler.c
    functionUses: []
    functionsReached:
    - g_malloc_n
    - g_object_unref
    - g_object_new
    - g_signal_handler_disconnect
    - my_obj_get_type
    - g_test_timer_start
    - G_CALLBACK
    - g_test_timer_elapsed
    - choose_n_handlers
    - g_test_minimized_result
    - g_free
    - g_signal_connect
    linkageType: ''
    returnType: void
    signature: 'static void test_disconnect_many_inverse (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: choose_n_handlers
      Src: /src/glib/gobject/tests/signal-handler.c:176,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signal-handler.c:184,1
    - Dst: g_malloc_n
      Src: /src/glib/gobject/tests/signal-handler.c:178,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signal-handler.c:179,1
    - Dst: my_obj_get_type
      Src: /src/glib/gobject/tests/signal-handler.c:179,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signal-handler.c:184,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signal-handler.c:186,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signal-handler.c:186,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/gobject/tests/signal-handler.c:191,1
    - Dst: g_test_timer_start
      Src: /src/glib/gobject/tests/signal-handler.c:197,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gobject/tests/signal-handler.c:200,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signal-handler.c:204,1
    - Dst: g_test_timer_elapsed
      Src: /src/glib/gobject/tests/signal-handler.c:202,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/signal-handler.c:205,1
    - Dst: g_test_minimized_result
      Src: /src/glib/gobject/tests/signal-handler.c:207,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 208
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 208
    functionName: test_disconnect_2_signals
    functionSourceFile: /src/glib/gobject/tests/signal-handler.c
    functionUses: []
    functionsReached:
    - g_malloc_n
    - g_object_unref
    - g_object_new
    - g_signal_handler_disconnect
    - my_obj_get_type
    - g_test_rand_int_range
    - g_test_timer_start
    - G_CALLBACK
    - g_test_timer_elapsed
    - choose_n_handlers
    - g_test_minimized_result
    - g_free
    - g_signal_connect
    linkageType: ''
    returnType: void
    signature: 'static void test_disconnect_2_signals (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: choose_n_handlers
      Src: /src/glib/gobject/tests/signal-handler.c:274,1
    - Dst: g_malloc_n
      Src: /src/glib/gobject/tests/signal-handler.c:276,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signal-handler.c:280,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signal-handler.c:277,1
    - Dst: my_obj_get_type
      Src: /src/glib/gobject/tests/signal-handler.c:277,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signal-handler.c:280,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/gobject/tests/signal-handler.c:284,1
    - Dst: g_test_timer_start
      Src: /src/glib/gobject/tests/signal-handler.c:290,1
    - Dst: g_signal_handler_block
      Src: /src/glib/gobject/tests/signal-handler.c:293,1
    - Dst: g_signal_handler_unblock
      Src: /src/glib/gobject/tests/signal-handler.c:296,1
    - Dst: g_test_timer_elapsed
      Src: /src/glib/gobject/tests/signal-handler.c:298,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/signal-handler.c:301,1
    - Dst: g_test_minimized_result
      Src: /src/glib/gobject/tests/signal-handler.c:303,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signal-handler.c:300,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 304
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 304
    functionName: test_block_many
    functionSourceFile: /src/glib/gobject/tests/signal-handler.c
    functionUses: []
    functionsReached:
    - g_malloc_n
    - g_object_unref
    - g_object_new
    - my_obj_get_type
    - g_test_rand_int_range
    - g_test_timer_start
    - G_CALLBACK
    - g_signal_handler_block
    - g_test_timer_elapsed
    - choose_n_handlers
    - g_test_minimized_result
    - g_free
    - g_signal_connect
    - g_signal_handler_unblock
    linkageType: ''
    returnType: void
    signature: 'static void test_block_many (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/signal-handler.c:309,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signal-handler.c:312,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signal-handler.c:311,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signal-handler.c:313,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signal-handler.c:314,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signal-handler.c:315,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signal-handler.c:316,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signal-handler.c:317,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/signal-handler.c:319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 320
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 320
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/signal-handler.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gobject/tests/notify-init2.c:98,1
    - Dst: g_strdup
      Src: /src/glib/gobject/tests/notify-init2.c:101,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/notify-init2.c:103,1
    - Dst: g_object_notify_by_pspec
      Src: /src/glib/gobject/tests/notify-init2.c:104,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/notify-init2.c:100,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/notify-init2.c:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - obj
    - quux
    argTypes:
    - TestObject*
    - gchar*
    constantsTouched: []
    func_position:
      end: 106
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 106
    functionName: test_object_set_quux
    functionSourceFile: /src/glib/gobject/tests/notify-init2.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_object_notify_by_pspec
    - g_assert
    - G_OBJECT
    - g_strcmp0
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_object_set_quux (TestObject *obj, const gchar *quux) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/tests/notify-init2.c:75,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/notify-init2.c:76,1
    - Dst: g_object_notify_by_pspec
      Src: /src/glib/gobject/tests/notify-init2.c:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - obj
    - bar
    argTypes:
    - TestObject*
    - gboolean
    constantsTouched: []
    func_position:
      end: 78
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 78
    functionName: test_object_set_bar
    functionSourceFile: /src/glib/gobject/tests/notify-init2.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_object_notify_by_pspec
    - G_OBJECT
    linkageType: ''
    returnType: void
    signature: 'static void test_object_set_bar (TestObject *obj, gboolean bar) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/notify-init2.c:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 125
    functionName: test_object_constructor
    functionSourceFile: /src/glib/gobject/tests/notify-init2.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: GObject*
    signature: 'static GObject *test_object_constructor (GType type, guint n_construct_properties,
      GObjectConstructParam *construct_properties) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/notify-init2.c:169,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/notify-init2.c:170,1
    - Dst: g_value_set_string
      Src: /src/glib/gobject/tests/notify-init2.c:183,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gobject/tests/notify-init2.c:179,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/notify-init2.c:175,1
    - Dst: g_value_set_string
      Src: /src/glib/gobject/tests/notify-init2.c:187,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gobject/tests/notify-init2.c:191,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 13
    argCount: 4
    argNames:
    - gobject
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 193
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 193
    functionName: test_object_get_property
    functionSourceFile: /src/glib/gobject/tests/notify-init2.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_value_set_string
    - g_value_set_boolean
    - g_value_set_int
    - g_assert_not_reached
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_object_get_property (GObject *gobject, guint prop_id,
      GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gobject/tests/notify-init2.c:228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - self
    argTypes:
    - TestObject*
    constantsTouched: []
    func_position:
      end: 229
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 229
    functionName: test_object_init
    functionSourceFile: /src/glib/gobject/tests/notify-init2.c
    functionUses: []
    functionsReached:
    - g_strdup
    linkageType: ''
    returnType: void
    signature: 'static void test_object_init (TestObject *self) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/tests/notify-init2.c:60,1
    - Dst: g_object_notify_by_pspec
      Src: /src/glib/gobject/tests/notify-init2.c:61,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/notify-init2.c:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - obj
    - foo
    argTypes:
    - TestObject*
    - gint
    constantsTouched: []
    func_position:
      end: 63
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 63
    functionName: test_object_set_foo
    functionSourceFile: /src/glib/gobject/tests/notify-init2.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_object_notify_by_pspec
    - G_OBJECT
    linkageType: ''
    returnType: void
    signature: 'static void test_object_set_foo (TestObject *obj, gint foo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gobject/tests/notify-init2.c:84,1
    - Dst: g_object_notify_by_pspec
      Src: /src/glib/gobject/tests/notify-init2.c:90,1
    - Dst: g_strdup
      Src: /src/glib/gobject/tests/notify-init2.c:87,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/notify-init2.c:89,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/notify-init2.c:86,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/notify-init2.c:90,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - obj
    - baz
    argTypes:
    - TestObject*
    - gchar*
    constantsTouched: []
    func_position:
      end: 92
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 92
    functionName: test_object_set_baz
    functionSourceFile: /src/glib/gobject/tests/notify-init2.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_object_notify_by_pspec
    - g_assert
    - G_OBJECT
    - g_strcmp0
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_object_set_baz (TestObject *obj, const gchar *baz) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gobject/tests/notify-init2.c:113,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/notify-init2.c:114,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/notify-init2.c:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - gobject
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 117
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 117
    functionName: test_object_finalize
    functionSourceFile: /src/glib/gobject/tests/notify-init2.c
    functionUses: []
    functionsReached:
    - g_free
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void test_object_finalize (GObject *gobject) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/notify-init2.c:135,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/notify-init2.c:136,1
    - Dst: test_object_set_bar
      Src: /src/glib/gobject/tests/notify-init2.c:145,1
    - Dst: test_object_set_foo
      Src: /src/glib/gobject/tests/notify-init2.c:141,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/notify-init2.c:141,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gobject/tests/notify-init2.c:145,1
    - Dst: test_object_set_baz
      Src: /src/glib/gobject/tests/notify-init2.c:149,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/notify-init2.c:149,1
    - Dst: test_object_set_quux
      Src: /src/glib/gobject/tests/notify-init2.c:153,1
    - Dst: g_value_get_string
      Src: /src/glib/gobject/tests/notify-init2.c:153,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gobject/tests/notify-init2.c:157,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 4
    argNames:
    - gobject
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 159
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 159
    functionName: test_object_set_property
    functionSourceFile: /src/glib/gobject/tests/notify-init2.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - test_object_set_foo
    - g_value_get_boolean
    - g_value_get_string
    - g_assert_not_reached
    - test_object_set_bar
    - test_object_set_baz
    - test_object_set_quux
    - g_value_get_int
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_object_set_property (GObject *gobject, guint prop_id,
      const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/notify-init2.c:198,1
    - Dst: g_param_spec_string
      Src: /src/glib/gobject/tests/notify-init2.c:211,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/notify-init2.c:200,1
    - Dst: g_param_spec_string
      Src: /src/glib/gobject/tests/notify-init2.c:207,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gobject/tests/notify-init2.c:204,1
    - Dst: g_object_class_install_properties
      Src: /src/glib/gobject/tests/notify-init2.c:220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - klass
    argTypes:
    - TestObjectClass*
    constantsTouched: []
    func_position:
      end: 221
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 221
    functionName: test_object_class_init
    functionSourceFile: /src/glib/gobject/tests/notify-init2.c
    functionUses: []
    functionsReached:
    - g_param_spec_boolean
    - g_param_spec_int
    - g_object_class_install_properties
    - G_OBJECT_CLASS
    - g_param_spec_string
    linkageType: ''
    returnType: void
    signature: 'static void test_object_class_init (TestObjectClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/gobject/tests/notify-init2.c:236,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/notify-init2.c:241,1
    - Dst: g_test_bug
      Src: /src/glib/gobject/tests/notify-init2.c:237,1
    - Dst: test_object_get_type
      Src: /src/glib/gobject/tests/notify-init2.c:239,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/notify-init2.c:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 242
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 242
    functionName: test_notify_in_init
    functionSourceFile: /src/glib/gobject/tests/notify-init2.c
    functionUses: []
    functionsReached:
    - g_test_summary
    - g_object_unref
    - g_object_new
    - g_test_bug
    - test_object_get_type
    linkageType: ''
    returnType: void
    signature: 'static void test_notify_in_init (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/notify-init2.c:247,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/notify-init2.c:249,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/notify-init2.c:251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 252
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 252
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/notify-init2.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_new
      Src: /src/glib/gobject/tests/closure.c:17,1
    - Dst: g_main_loop_run
      Src: /src/glib/gobject/tests/closure.c:23,1
    - Dst: g_source_attach
      Src: /src/glib/gobject/tests/closure.c:22,1
    - Dst: g_cclosure_new
      Src: /src/glib/gobject/tests/closure.c:19,1
    - Dst: g_source_set_closure
      Src: /src/glib/gobject/tests/closure.c:20,1
    - Dst: g_source_destroy
      Src: /src/glib/gobject/tests/closure.c:25,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gobject/tests/closure.c:26,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - one
    - quit_callback
    argTypes:
    - GSource*
    - GCallback
    constantsTouched: []
    func_position:
      end: 27
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 27
    functionName: test_source
    functionSourceFile: /src/glib/gobject/tests/closure.c
    functionUses: []
    functionsReached:
    - g_cclosure_new
    - g_main_loop_run
    - g_source_set_closure
    - g_source_attach
    - g_source_destroy
    - g_main_loop_unref
    - g_main_loop_new
    linkageType: ''
    returnType: void
    signature: 'static void test_source (GSource *one, GCallback quit_callback) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_idle_source_new
      Src: /src/glib/gobject/tests/closure.c:44,1
    - Dst: test_source
      Src: /src/glib/gobject/tests/closure.c:45,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/closure.c:45,1
    - Dst: g_source_unref
      Src: /src/glib/gobject/tests/closure.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: test_closure_idle
    functionSourceFile: /src/glib/gobject/tests/closure.c
    functionUses: []
    functionsReached:
    - g_source_unref
    - G_CALLBACK
    - test_source
    - g_idle_source_new
    linkageType: ''
    returnType: void
    signature: 'static void test_closure_idle (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_quit
      Src: /src/glib/gobject/tests/closure.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - channel
    - cond
    - user_data
    argTypes:
    - GIOChannel*
    - GIOCondition
    - gpointer
    constantsTouched: []
    func_position:
      end: 69
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 69
    functionName: iochannel_quit_callback
    functionSourceFile: /src/glib/gobject/tests/closure.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean iochannel_quit_callback (GIOChannel *channel, GIOCondition
      cond, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/tests/closure.c:106,1
    - Dst: g_path_is_absolute
      Src: /src/glib/gobject/tests/closure.c:109,1
    - Dst: g_getenv
      Src: /src/glib/gobject/tests/closure.c:106,1
    - Dst: g_get_prgname
      Src: /src/glib/gobject/tests/closure.c:109,1
    - Dst: g_setenv
      Src: /src/glib/gobject/tests/closure.c:107,1
    - Dst: g_strdup
      Src: /src/glib/gobject/tests/closure.c:110,1
    - Dst: g_get_prgname
      Src: /src/glib/gobject/tests/closure.c:110,1
    - Dst: g_test_build_filename
      Src: /src/glib/gobject/tests/closure.c:113,1
    - Dst: g_get_prgname
      Src: /src/glib/gobject/tests/closure.c:114,1
    - Dst: g_spawn_async
      Src: /src/glib/gobject/tests/closure.c:120,1
    - Dst: g_child_watch_source_new
      Src: /src/glib/gobject/tests/closure.c:130,1
    - Dst: g_source_unref
      Src: /src/glib/gobject/tests/closure.c:132,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/closure.c:131,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/closure.c:128,1
    - Dst: test_source
      Src: /src/glib/gobject/tests/closure.c:131,1
    - Dst: g_assert_no_error
      Src: /src/glib/gobject/tests/closure.c:126,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 133
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 133
    functionName: test_closure_child
    functionSourceFile: /src/glib/gobject/tests/closure.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_test_build_filename
    - g_child_watch_source_new
    - g_assert
    - g_setenv
    - g_getenv
    - G_CALLBACK
    - g_assert_no_error
    - g_source_unref
    - g_spawn_async
    - g_get_prgname
    - g_free
    - test_source
    - g_path_is_absolute
    linkageType: ''
    returnType: void
    signature: 'static void test_closure_child (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_quit
      Src: /src/glib/gobject/tests/closure.c:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - condition
    - user_data
    argTypes:
    - gint
    - GIOCondition
    - gpointer
    constantsTouched: []
    func_position:
      end: 146
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 146
    functionName: fd_quit_callback
    functionSourceFile: /src/glib/gobject/tests/closure.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean fd_quit_callback (gint fd, GIOCondition condition,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: kill
      Src: /src/glib/gobject/tests/closure.c:167,1
    - Dst: getpid
      Src: /src/glib/gobject/tests/closure.c:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 169
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 169
    functionName: send_usr1
    functionSourceFile: /src/glib/gobject/tests/closure.c
    functionUses: []
    functionsReached:
    - getpid
    - kill
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean send_usr1 (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_timeout_source_new
      Src: /src/glib/gobject/tests/closure.c:54,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/closure.c:55,1
    - Dst: g_source_unref
      Src: /src/glib/gobject/tests/closure.c:56,1
    - Dst: test_source
      Src: /src/glib/gobject/tests/closure.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: test_closure_timeout
    functionSourceFile: /src/glib/gobject/tests/closure.c
    functionUses: []
    functionsReached:
    - g_timeout_source_new
    - g_source_unref
    - test_source
    - G_CALLBACK
    linkageType: ''
    returnType: void
    signature: 'static void test_closure_timeout (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_quit
      Src: /src/glib/gobject/tests/closure.c:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 37
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 37
    functionName: simple_quit_callback
    functionSourceFile: /src/glib/gobject/tests/closure.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean simple_quit_callback (gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_path_is_absolute
      Src: /src/glib/gobject/tests/closure.c:79,1
    - Dst: g_get_prgname
      Src: /src/glib/gobject/tests/closure.c:80,1
    - Dst: g_strdup
      Src: /src/glib/gobject/tests/closure.c:80,1
    - Dst: g_get_prgname
      Src: /src/glib/gobject/tests/closure.c:79,1
    - Dst: g_test_build_filename
      Src: /src/glib/gobject/tests/closure.c:83,1
    - Dst: g_get_prgname
      Src: /src/glib/gobject/tests/closure.c:84,1
    - Dst: g_io_channel_new_file
      Src: /src/glib/gobject/tests/closure.c:87,1
    - Dst: g_assert_no_error
      Src: /src/glib/gobject/tests/closure.c:88,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/closure.c:89,1
    - Dst: g_io_create_watch
      Src: /src/glib/gobject/tests/closure.c:91,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/closure.c:92,1
    - Dst: g_source_unref
      Src: /src/glib/gobject/tests/closure.c:93,1
    - Dst: g_io_channel_unref
      Src: /src/glib/gobject/tests/closure.c:95,1
    - Dst: test_source
      Src: /src/glib/gobject/tests/closure.c:92,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 96
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 96
    functionName: test_closure_iochannel
    functionSourceFile: /src/glib/gobject/tests/closure.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_test_build_filename
    - g_io_channel_new_file
    - g_io_create_watch
    - g_io_channel_unref
    - G_CALLBACK
    - g_assert_no_error
    - g_source_unref
    - g_get_prgname
    - g_free
    - test_source
    - g_path_is_absolute
    linkageType: ''
    returnType: void
    signature: 'static void test_closure_iochannel (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/glib/gobject/tests/closure.c:154,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/closure.c:155,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/closure.c:158,1
    - Dst: test_source
      Src: /src/glib/gobject/tests/closure.c:158,1
    - Dst: g_unix_fd_source_new
      Src: /src/glib/gobject/tests/closure.c:157,1
    - Dst: g_source_unref
      Src: /src/glib/gobject/tests/closure.c:159,1
    - Dst: close
      Src: /src/glib/gobject/tests/closure.c:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 162
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 162
    functionName: test_closure_fd
    functionSourceFile: /src/glib/gobject/tests/closure.c
    functionUses: []
    functionsReached:
    - g_assert
    - G_CALLBACK
    - g_unix_fd_source_new
    - close
    - g_source_unref
    - open
    - test_source
    linkageType: ''
    returnType: void
    signature: 'static void test_closure_fd (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_quit
      Src: /src/glib/gobject/tests/closure.c:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 179
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 179
    functionName: closure_quit_callback
    functionSourceFile: /src/glib/gobject/tests/closure.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean closure_quit_callback (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_idle_add_full
      Src: /src/glib/gobject/tests/closure.c:186,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/closure.c:189,1
    - Dst: g_source_unref
      Src: /src/glib/gobject/tests/closure.c:190,1
    - Dst: test_source
      Src: /src/glib/gobject/tests/closure.c:189,1
    - Dst: g_unix_signal_source_new
      Src: /src/glib/gobject/tests/closure.c:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 191
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 191
    functionName: test_closure_signal
    functionSourceFile: /src/glib/gobject/tests/closure.c
    functionUses: []
    functionsReached:
    - G_CALLBACK
    - g_source_unref
    - g_idle_add_full
    - g_unix_signal_source_new
    - test_source
    linkageType: ''
    returnType: void
    signature: 'static void test_closure_signal (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sigemptyset
      Src: /src/glib/gobject/tests/closure.c:201,1
    - Dst: sigaddset
      Src: /src/glib/gobject/tests/closure.c:202,1
    - Dst: sigprocmask
      Src: /src/glib/gobject/tests/closure.c:203,1
    - Dst: g_message
      Src: /src/glib/gobject/tests/closure.c:206,1
    - Dst: sigismember
      Src: /src/glib/gobject/tests/closure.c:205,1
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/closure.c:210,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/closure.c:212,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/closure.c:213,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/closure.c:214,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/closure.c:215,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/closure.c:217,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/closure.c:218,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/closure.c:221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 222
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 222
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/closure.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_message
    - g_test_init
    - sigprocmask
    - g_test_run
    - sigemptyset
    - sigaddset
    - sigismember
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - TestStaticIfaceClass*
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: test_dynamic_iface_default_finalize
    functionSourceFile: /src/glib/gobject/tests/defaultiface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_dynamic_iface_default_finalize (TestStaticIfaceClass
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_dynamic_iface_register
      Src: /src/glib/gobject/tests/defaultiface.c:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - module
    argTypes:
    - GTypeModule*
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: module_register
    functionSourceFile: /src/glib/gobject/tests/defaultiface.c
    functionUses: []
    functionsReached:
    - test_dynamic_iface_register
    linkageType: ''
    returnType: void
    signature: 'static void module_register (GTypeModule *module) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - TestStaticIfaceClass*
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: test_static_iface_default_init
    functionSourceFile: /src/glib/gobject/tests/defaultiface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_static_iface_default_init (TestStaticIfaceClass *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - iface
    argTypes:
    - TestStaticIfaceClass*
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: test_dynamic_iface_default_init
    functionSourceFile: /src/glib/gobject/tests/defaultiface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_dynamic_iface_default_init (TestStaticIfaceClass
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_type_default_interface_peek
      Src: /src/glib/gobject/tests/defaultiface.c:61,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/defaultiface.c:66,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/defaultiface.c:62,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/defaultiface.c:67,1
    - Dst: g_type_default_interface_ref
      Src: /src/glib/gobject/tests/defaultiface.c:65,1
    - Dst: g_type_default_interface_peek
      Src: /src/glib/gobject/tests/defaultiface.c:70,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/defaultiface.c:71,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/defaultiface.c:72,1
    - Dst: g_type_default_interface_unref
      Src: /src/glib/gobject/tests/defaultiface.c:75,1
    - Dst: g_type_default_interface_peek
      Src: /src/glib/gobject/tests/defaultiface.c:78,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/defaultiface.c:80,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/defaultiface.c:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 81
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 81
    functionName: test_static_iface
    functionSourceFile: /src/glib/gobject/tests/defaultiface.c
    functionUses: []
    functionsReached:
    - g_type_default_interface_peek
    - g_assert_null
    - g_assert_nonnull
    - g_type_default_interface_ref
    - g_type_default_interface_unref
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_static_iface (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_type_module_register_type
      Src: /src/glib/gobject/tests/defaultiface.c:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - module
    argTypes:
    - GTypeModule*
    constantsTouched: []
    func_position:
      end: 133
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 133
    functionName: test_dynamic_iface_register
    functionSourceFile: /src/glib/gobject/tests/defaultiface.c
    functionUses: []
    functionsReached:
    - g_type_module_register_type
    linkageType: ''
    returnType: void
    signature: 'static void test_dynamic_iface_register (GTypeModule *module) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_module_new
      Src: /src/glib/gobject/tests/defaultiface.c:146,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/defaultiface.c:161,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/defaultiface.c:182,1
    - Dst: g_type_default_interface_unref
      Src: /src/glib/gobject/tests/defaultiface.c:186,1
    - Dst: g_type_default_interface_peek
      Src: /src/glib/gobject/tests/defaultiface.c:172,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/defaultiface.c:190,1
    - Dst: g_type_default_interface_peek
      Src: /src/glib/gobject/tests/defaultiface.c:149,1
    - Dst: g_type_default_interface_peek
      Src: /src/glib/gobject/tests/defaultiface.c:159,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/defaultiface.c:160,1
    - Dst: g_type_default_interface_unref
      Src: /src/glib/gobject/tests/defaultiface.c:164,1
    - Dst: g_type_default_interface_ref
      Src: /src/glib/gobject/tests/defaultiface.c:180,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/defaultiface.c:150,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/defaultiface.c:154,1
    - Dst: g_type_default_interface_ref
      Src: /src/glib/gobject/tests/defaultiface.c:153,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/defaultiface.c:176,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/defaultiface.c:183,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/defaultiface.c:168,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/defaultiface.c:155,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/defaultiface.c:156,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/defaultiface.c:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 192
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 192
    functionName: test_dynamic_iface
    functionSourceFile: /src/glib/gobject/tests/defaultiface.c
    functionUses: []
    functionsReached:
    - g_type_default_interface_peek
    - g_assert_true
    - g_assert_null
    - g_assert_nonnull
    - g_type_default_interface_ref
    - test_module_new
    - g_type_default_interface_unref
    - g_assert_false
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_dynamic_iface (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_log_set_always_fatal
      Src: /src/glib/gobject/tests/defaultiface.c:198,1
    - Dst: g_log_set_always_fatal
      Src: /src/glib/gobject/tests/defaultiface.c:198,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/defaultiface.c:205,1
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/defaultiface.c:202,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/defaultiface.c:204,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/defaultiface.c:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 208
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 208
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/defaultiface.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_log_set_always_fatal
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/testing.c:38,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gobject/tests/testing.c:42,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/testing.c:44,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/tests/testing.c:39,1
    - Dst: exit
      Src: /src/glib/gobject/tests/testing.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 47
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 47
    functionName: test_assert_finalize_object_subprocess_bad
    functionSourceFile: /src/glib/gobject/tests/testing.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_object_new
    - g_object_ref
    - g_assert_finalize_object
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void test_assert_finalize_object_subprocess_bad (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/testing.c:52,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gobject/tests/testing.c:58,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gobject/tests/testing.c:56,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gobject/tests/testing.c:59,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gobject/tests/testing.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: test_assert_finalize_object
    functionSourceFile: /src/glib/gobject/tests/testing.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_failed
    - g_object_new
    - g_test_trap_assert_stderr
    - g_test_trap_subprocess
    - g_assert_finalize_object
    linkageType: ''
    returnType: void
    signature: 'static void test_assert_finalize_object (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/testing.c:66,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/testing.c:68,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/testing.c:72,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/testing.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/testing.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_type_register_static
      Src: /src/glib/gobject/tests/properties-refcount1.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 75
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 75
    functionName: my_test_get_type
    functionSourceFile: /src/glib/gobject/tests/properties-refcount1.c
    functionUses: []
    functionsReached:
    - g_type_register_static
    linkageType: ''
    returnType: GType
    signature: 'static GType my_test_get_type (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MY_TEST
      Src: /src/glib/gobject/tests/properties-refcount1.c:120,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/properties-refcount1.c:125,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/tests/properties-refcount1.c:128,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 131
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 131
    functionName: my_test_get_property
    functionSourceFile: /src/glib/gobject/tests/properties-refcount1.c
    functionUses: []
    functionsReached:
    - MY_TEST
    - g_value_set_int
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: 'static void my_test_get_property (GObject *object, guint prop_id,
      GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - test
    argTypes:
    - GTest*
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: my_test_init
    functionSourceFile: /src/glib/gobject/tests/properties-refcount1.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void my_test_init (GTest * test) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MY_TEST
      Src: /src/glib/gobject/tests/properties-refcount1.c:160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - object
    - pspec
    argTypes:
    - GObject*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 163
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 163
    functionName: dummy_notify
    functionSourceFile: /src/glib/gobject/tests/properties-refcount1.c
    functionUses: []
    functionsReached:
    - MY_TEST
    linkageType: ''
    returnType: void
    signature: 'static void dummy_notify (GObject *object, GParamSpec *pspec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/tests/properties-refcount1.c:179,1
    - Dst: my_test_do_property
      Src: /src/glib/gobject/tests/properties-refcount1.c:180,1
    - Dst: g_thread_yield
      Src: /src/glib/gobject/tests/properties-refcount1.c:184,1
    - Dst: g_test_message
      Src: /src/glib/gobject/tests/properties-refcount1.c:183,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - test
    argTypes:
    - GTest*
    constantsTouched: []
    func_position:
      end: 189
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 189
    functionName: run_thread
    functionSourceFile: /src/glib/gobject/tests/properties-refcount1.c
    functionUses: []
    functionsReached:
    - g_test_message
    - my_test_do_property
    - g_thread_yield
    - g_atomic_int_get
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer run_thread (GTest * test) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/properties-refcount1.c:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: my_test_dispose
    functionSourceFile: /src/glib/gobject/tests/properties-refcount1.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void my_test_dispose (GObject * object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/tests/properties-refcount1.c:84,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/properties-refcount1.c:92,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gobject/tests/properties-refcount1.c:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GTestClass*
    constantsTouched: []
    func_position:
      end: 97
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 97
    functionName: my_test_class_init
    functionSourceFile: /src/glib/gobject/tests/properties-refcount1.c
    functionUses: []
    functionsReached:
    - g_param_spec_int
    - g_type_class_ref
    - g_object_class_install_property
    linkageType: ''
    returnType: void
    signature: 'static void my_test_class_init (GTestClass * klass) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MY_TEST
      Src: /src/glib/gobject/tests/properties-refcount1.c:141,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/tests/properties-refcount1.c:149,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/properties-refcount1.c:146,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 152
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 152
    functionName: my_test_set_property
    functionSourceFile: /src/glib/gobject/tests/properties-refcount1.c
    functionUses: []
    functionsReached:
    - MY_TEST
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_get_int
    linkageType: ''
    returnType: void
    signature: 'static void my_test_set_property (GObject *object, guint prop_id,
      const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_get
      Src: /src/glib/gobject/tests/properties-refcount1.c:170,1
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/properties-refcount1.c:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - test
    argTypes:
    - GTest*
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: my_test_do_property
    functionSourceFile: /src/glib/gobject/tests/properties-refcount1.c
    functionUses: []
    functionsReached:
    - g_object_set
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void my_test_do_property (GTest * test) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/properties-refcount1.c:202,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/properties-refcount1.c:206,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gobject/tests/properties-refcount1.c:209,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/properties-refcount1.c:205,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/properties-refcount1.c:206,1
    - Dst: g_thread_new
      Src: /src/glib/gobject/tests/properties-refcount1.c:212,1
    - Dst: g_usleep
      Src: /src/glib/gobject/tests/properties-refcount1.c:214,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gobject/tests/properties-refcount1.c:216,1
    - Dst: g_thread_join
      Src: /src/glib/gobject/tests/properties-refcount1.c:220,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/properties-refcount1.c:225,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/properties-refcount1.c:226,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 228
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 228
    functionName: test_refcount_properties_1
    functionSourceFile: /src/glib/gobject/tests/properties-refcount1.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_object_new
    - g_thread_new
    - G_CALLBACK
    - g_usleep
    - g_atomic_int_set
    - g_thread_join
    - g_signal_connect
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_refcount_properties_1 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_log_set_always_fatal
      Src: /src/glib/gobject/tests/properties-refcount1.c:233,1
    - Dst: g_log_set_always_fatal
      Src: /src/glib/gobject/tests/properties-refcount1.c:235,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/properties-refcount1.c:241,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/properties-refcount1.c:239,1
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/properties-refcount1.c:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - gchar*
    constantsTouched: []
    func_position:
      end: 242
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 242
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/properties-refcount1.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_log_set_always_fatal
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, gchar *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_type_register_static
      Src: /src/glib/gobject/tests/objects-refcount2.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 58
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 58
    functionName: my_test_get_type
    functionSourceFile: /src/glib/gobject/tests/objects-refcount2.c
    functionUses: []
    functionsReached:
    - g_type_register_static
    linkageType: ''
    returnType: GType
    signature: 'static GType my_test_get_type (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_message
      Src: /src/glib/gobject/tests/objects-refcount2.c:96,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/tests/objects-refcount2.c:98,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/objects-refcount2.c:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - test
    argTypes:
    - GTest*
    constantsTouched: []
    func_position:
      end: 100
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 100
    functionName: my_test_do_refcount
    functionSourceFile: /src/glib/gobject/tests/objects-refcount2.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_object_unref
    - g_object_ref
    linkageType: ''
    returnType: void
    signature: 'static void my_test_do_refcount (GTest * test) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_message
      Src: /src/glib/gobject/tests/objects-refcount2.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - test
    argTypes:
    - GTest*
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: my_test_init
    functionSourceFile: /src/glib/gobject/tests/objects-refcount2.c
    functionUses: []
    functionsReached:
    - g_test_message
    linkageType: ''
    returnType: void
    signature: 'static void my_test_init (GTest * test) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/tests/objects-refcount2.c:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GTestClass*
    constantsTouched: []
    func_position:
      end: 70
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 70
    functionName: my_test_class_init
    functionSourceFile: /src/glib/gobject/tests/objects-refcount2.c
    functionUses: []
    functionsReached:
    - g_type_class_ref
    linkageType: ''
    returnType: void
    signature: 'static void my_test_class_init (GTestClass * klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MY_TEST
      Src: /src/glib/gobject/tests/objects-refcount2.c:83,1
    - Dst: g_test_message
      Src: /src/glib/gobject/tests/objects-refcount2.c:85,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/objects-refcount2.c:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: my_test_dispose
    functionSourceFile: /src/glib/gobject/tests/objects-refcount2.c
    functionUses: []
    functionsReached:
    - MY_TEST
    - G_OBJECT_CLASS
    - g_test_message
    linkageType: ''
    returnType: void
    signature: 'static void my_test_dispose (GObject * object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/objects-refcount2.c:108,1
    - Dst: my_test_do_refcount
      Src: /src/glib/gobject/tests/objects-refcount2.c:112,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/objects-refcount2.c:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 116
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 116
    functionName: test_refcount_object_advanced
    functionSourceFile: /src/glib/gobject/tests/objects-refcount2.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_object_new
    - my_test_do_refcount
    linkageType: ''
    returnType: void
    signature: 'static void test_refcount_object_advanced (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_log_set_always_fatal
      Src: /src/glib/gobject/tests/objects-refcount2.c:121,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/objects-refcount2.c:129,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/objects-refcount2.c:127,1
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/objects-refcount2.c:125,1
    - Dst: g_log_set_always_fatal
      Src: /src/glib/gobject/tests/objects-refcount2.c:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 130
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 130
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/objects-refcount2.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_log_set_always_fatal
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - iface
    - class_data
    argTypes:
    - TestIfaceClass*
    - gpointer
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: test_iface_default_init
    functionSourceFile: /src/glib/gobject/tests/dynamictype.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DEFINE_IFACE(TestIface, test_iface, test_iface_base_init, test_iface_default_init)
    signature: 'static DEFINE_IFACE(TestIface, test_iface, test_iface_base_init, test_iface_default_init)
      static void test_iface_default_init (TestIfaceClass *iface, gpointer class_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - class
    argTypes:
    - DynamicObjectClass*
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: dynamic_object_class_finalize
    functionSourceFile: /src/glib/gobject/tests/dynamictype.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void dynamic_object_class_finalize (DynamicObjectClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - dynamic_object
    argTypes:
    - DynamicObject*
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: dynamic_object_init
    functionSourceFile: /src/glib/gobject/tests/dynamictype.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void dynamic_object_init (DynamicObject *dynamic_object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_type_class_peek
      Src: /src/glib/gobject/tests/dynamictype.c:112,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/dynamictype.c:114,1
    - Dst: g_type_class_peek
      Src: /src/glib/gobject/tests/dynamictype.c:127,1
    - Dst: g_type_class_peek
      Src: /src/glib/gobject/tests/dynamictype.c:140,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/tests/dynamictype.c:117,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/dynamictype.c:124,1
    - Dst: g_type_class_unref
      Src: /src/glib/gobject/tests/dynamictype.c:137,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/dynamictype.c:130,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/dynamictype.c:133,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/dynamictype.c:144,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/dynamictype.c:128,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/dynamictype.c:150,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/dynamictype.c:152,1
    - Dst: g_type_class_peek
      Src: /src/glib/gobject/tests/dynamictype.c:156,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/dynamictype.c:117,1
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/tests/dynamictype.c:121,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/dynamictype.c:122,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/dynamictype.c:129,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/tests/dynamictype.c:133,1
    - Dst: g_type_class_unref
      Src: /src/glib/gobject/tests/dynamictype.c:155,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/dynamictype.c:160,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/dynamictype.c:113,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/dynamictype.c:123,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/dynamictype.c:145,1
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/tests/dynamictype.c:149,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/dynamictype.c:151,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/dynamictype.c:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 163
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 163
    functionName: test_dynamic_type
    functionSourceFile: /src/glib/gobject/tests/dynamictype.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_type_class_ref
    - g_assert_null
    - g_assert_nonnull
    - g_type_class_peek
    - g_type_is_a
    - g_assert_false
    - g_type_class_unref
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_dynamic_type (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - class
    argTypes:
    - DynamicObjectClass*
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: dynamic_object_class_init
    functionSourceFile: /src/glib/gobject/tests/dynamictype.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void dynamic_object_class_init (DynamicObjectClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - TestIface*
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: dynamic_object_iface_init
    functionSourceFile: /src/glib/gobject/tests/dynamictype.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void dynamic_object_iface_init (TestIface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - TestIfaceClass*
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: test_iface_base_init
    functionSourceFile: /src/glib/gobject/tests/dynamictype.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_iface_base_init (TestIfaceClass *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_object_register_type
      Src: /src/glib/gobject/tests/dynamictype.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - module
    argTypes:
    - GTypeModule*
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: module_register
    functionSourceFile: /src/glib/gobject/tests/dynamictype.c
    functionUses: []
    functionsReached:
    - dynamic_object_register_type
    linkageType: ''
    returnType: void
    signature: 'static void module_register (GTypeModule *module) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/gobject/tests/dynamictype.c:171,1
    - Dst: g_type_query
      Src: /src/glib/gobject/tests/dynamictype.c:176,1
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/tests/dynamictype.c:173,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/dynamictype.c:178,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/dynamictype.c:174,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/dynamictype.c:179,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/dynamictype.c:180,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/dynamictype.c:181,1
    - Dst: g_type_class_unref
      Src: /src/glib/gobject/tests/dynamictype.c:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 184
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 184
    functionName: test_dynamic_type_query
    functionSourceFile: /src/glib/gobject/tests/dynamictype.c
    functionUses: []
    functionsReached:
    - g_type_class_ref
    - g_type_query
    - g_assert_nonnull
    - g_assert_cmpuint
    - g_test_bug
    - g_assert_cmpstr
    - g_type_class_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_dynamic_type_query (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_log_set_always_fatal
      Src: /src/glib/gobject/tests/dynamictype.c:190,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/dynamictype.c:198,1
    - Dst: g_log_set_always_fatal
      Src: /src/glib/gobject/tests/dynamictype.c:190,1
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/dynamictype.c:194,1
    - Dst: test_module_new
      Src: /src/glib/gobject/tests/dynamictype.c:196,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/dynamictype.c:199,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/dynamictype.c:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 202
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 202
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/dynamictype.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_log_set_always_fatal
    - g_test_run
    - test_module_new
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - TypeName*
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: type_name_init
    functionSourceFile: /src/glib/gobject/tests/deftype.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void type_name_init (TypeName *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - klass
    argTypes:
    - TypeNameClass*
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: type_name_class_init
    functionSourceFile: /src/glib/gobject/tests/deftype.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void type_name_class_init (TypeNameClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/deftype.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int main (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_MODULE
      Src: /src/glib/gobject/tests/dynamictests.c:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - module
    argTypes:
    - GTypeModule*
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: test_module_load
    functionSourceFile: /src/glib/gobject/tests/dynamictests.c
    functionUses: []
    functionsReached:
    - TEST_MODULE
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean test_module_load (GTypeModule *module) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/dynamictests.c:323,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gobject/tests/dynamictests.c:328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - class
    argTypes:
    - DynObjClass*
    constantsTouched: []
    func_position:
      end: 329
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 329
    functionName: dyn_obj_class_init
    functionSourceFile: /src/glib/gobject/tests/dynamictests.c
    functionUses: []
    functionsReached:
    - g_object_class_override_property
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void dyn_obj_class_init (DynObjClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - module
    argTypes:
    - GTypeModule*
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: test_module_unload
    functionSourceFile: /src/glib/gobject/tests/dynamictests.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_module_unload (GTypeModule *module) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_test_verbose
      Src: /src/glib/gobject/tests/dynamictests.c:173,1
    - Dst: g_printerr
      Src: /src/glib/gobject/tests/dynamictests.c:174,1
    - Dst: g_mutex_lock
      Src: /src/glib/gobject/tests/dynamictests.c:175,1
    - Dst: g_test_verbose
      Src: /src/glib/gobject/tests/dynamictests.c:177,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/tests/dynamictests.c:176,1
    - Dst: g_printerr
      Src: /src/glib/gobject/tests/dynamictests.c:178,1
    - Dst: g_test_verbose
      Src: /src/glib/gobject/tests/dynamictests.c:182,1
    - Dst: g_printerr
      Src: /src/glib/gobject/tests/dynamictests.c:184,1
    - Dst: g_type_class_unref
      Src: /src/glib/gobject/tests/dynamictests.c:185,1
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/tests/dynamictests.c:185,1
    - Dst: g_test_verbose
      Src: /src/glib/gobject/tests/dynamictests.c:188,1
    - Dst: g_printerr
      Src: /src/glib/gobject/tests/dynamictests.c:189,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 192
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 192
    functionName: ref_unref_thread
    functionSourceFile: /src/glib/gobject/tests/dynamictests.c
    functionUses: []
    functionsReached:
    - g_printerr
    - g_type_class_ref
    - g_mutex_unlock
    - g_mutex_lock
    - g_test_verbose
    - g_type_class_unref
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer ref_unref_thread (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - class
    argTypes:
    - DynObjClass*
    constantsTouched: []
    func_position:
      end: 334
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 334
    functionName: dyn_obj_class_finalize
    functionSourceFile: /src/glib/gobject/tests/dynamictests.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void dyn_obj_class_finalize (DynObjClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_TYPE_MODULE_CLASS
      Src: /src/glib/gobject/tests/dynamictests.c:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - class
    argTypes:
    - TestModuleClass*
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: test_module_class_init
    functionSourceFile: /src/glib/gobject/tests/dynamictests.c
    functionUses: []
    functionsReached:
    - G_TYPE_MODULE_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void test_module_class_init (TestModuleClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_module_new
      Src: /src/glib/gobject/tests/dynamictests.c:203,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/dynamictests.c:208,1
    - Dst: g_type_class_peek
      Src: /src/glib/gobject/tests/dynamictests.c:207,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/dynamictests.c:209,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/dynamictests.c:204,1
    - Dst: g_mutex_lock
      Src: /src/glib/gobject/tests/dynamictests.c:212,1
    - Dst: g_thread_new
      Src: /src/glib/gobject/tests/dynamictests.c:216,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gobject/tests/dynamictests.c:220,1
    - Dst: g_thread_join
      Src: /src/glib/gobject/tests/dynamictests.c:223,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 225
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 225
    functionName: test_multithreaded_dynamic_type_init
    functionSourceFile: /src/glib/gobject/tests/dynamictests.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_mutex_lock
    - g_assert
    - g_type_class_peek
    - g_thread_new
    - test_module_new
    - g_thread_join
    linkageType: ''
    returnType: void
    signature: 'static void test_multithreaded_dynamic_type_init (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dyn_obj_register_type
      Src: /src/glib/gobject/tests/dynamictests.c:339,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - module
    argTypes:
    - GTypeModule*
    constantsTouched: []
    func_position:
      end: 340
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 340
    functionName: mod_register
    functionSourceFile: /src/glib/gobject/tests/dynamictests.c
    functionUses: []
    functionsReached:
    - dyn_obj_register_type
    linkageType: ''
    returnType: void
    signature: 'static void mod_register (GTypeModule *module) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_type_register_static
      Src: /src/glib/gobject/tests/dynamictests.c:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 103
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 103
    functionName: test_module_get_type
    functionSourceFile: /src/glib/gobject/tests/dynamictests.c
    functionUses: []
    functionsReached:
    - g_type_register_static
    linkageType: ''
    returnType: GType
    signature: 'static GType test_module_get_type (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_interface_install_property
      Src: /src/glib/gobject/tests/dynamictests.c:267,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/dynamictests.c:268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - iface
    argTypes:
    - DynIfaceInterface*
    constantsTouched: []
    func_position:
      end: 269
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 269
    functionName: dyn_iface_default_init
    functionSourceFile: /src/glib/gobject/tests/dynamictests.c
    functionUses: []
    functionsReached:
    - g_param_spec_int
    - g_object_interface_install_property
    linkageType: ''
    returnType: void
    signature: 'static void dyn_iface_default_init (DynIfaceInterface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_module_new
      Src: /src/glib/gobject/tests/dynamictests.c:349,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/dynamictests.c:350,1
    - Dst: dyn_obj_get_type
      Src: /src/glib/gobject/tests/dynamictests.c:352,1
    - Dst: g_object_get
      Src: /src/glib/gobject/tests/dynamictests.c:353,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/dynamictests.c:352,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/dynamictests.c:354,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/dynamictests.c:356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 357
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 357
    functionName: test_dynamic_interface_properties
    functionSourceFile: /src/glib/gobject/tests/dynamictests.c
    functionUses: []
    functionsReached:
    - g_object_get
    - g_object_unref
    - g_object_new
    - g_assert
    - dyn_obj_get_type
    - test_module_new
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_dynamic_interface_properties (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/dynamictests.c:363,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/dynamictests.c:368,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/dynamictests.c:366,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/dynamictests.c:365,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 369
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 369
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/dynamictests.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/dynamictests.c:293,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/tests/dynamictests.c:296,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 299
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 299
    functionName: set_prop
    functionSourceFile: /src/glib/gobject/tests/dynamictests.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_get_int
    linkageType: ''
    returnType: void
    signature: 'static void set_prop (GObject *object, guint prop_id, const GValue
      *value, GParamSpec *pspec) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/dynamictests.c:312,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/tests/dynamictests.c:315,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 318
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 318
    functionName: get_prop
    functionSourceFile: /src/glib/gobject/tests/dynamictests.c
    functionUses: []
    functionsReached:
    - g_value_set_int
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: 'static void get_prop (GObject *object, guint prop_id, GValue *value,
      GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/dynamictests.c:109,1
    - Dst: g_type_module_unuse
      Src: /src/glib/gobject/tests/dynamictests.c:116,1
    - Dst: G_TYPE_MODULE
      Src: /src/glib/gobject/tests/dynamictests.c:110,1
    - Dst: G_TYPE_MODULE
      Src: /src/glib/gobject/tests/dynamictests.c:118,1
    - Dst: g_type_module_use
      Src: /src/glib/gobject/tests/dynamictests.c:115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 119
    functionName: test_module_new
    functionSourceFile: /src/glib/gobject/tests/dynamictests.c
    functionUses: []
    functionsReached:
    - G_TYPE_MODULE
    - g_type_module_unuse
    - g_type_module_use
    - g_object_new
    linkageType: ''
    returnType: GTypeModule*
    signature: 'static GTypeModule *test_module_new (TestModuleRegisterFunc register_func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/tests/dynamictests.c:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - class
    argTypes:
    - DynamicObjectClass*
    constantsTouched: []
    func_position:
      end: 150
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 150
    functionName: dynamic_object_class_finalize
    functionSourceFile: /src/glib/gobject/tests/dynamictests.c
    functionUses: []
    functionsReached:
    - g_assert
    linkageType: ''
    returnType: void
    signature: 'static void dynamic_object_class_finalize (DynamicObjectClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_object_register_type
      Src: /src/glib/gobject/tests/dynamictests.c:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - module
    argTypes:
    - GTypeModule*
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: module_register
    functionSourceFile: /src/glib/gobject/tests/dynamictests.c
    functionUses: []
    functionsReached:
    - dynamic_object_register_type
    linkageType: ''
    returnType: void
    signature: 'static void module_register (GTypeModule *module) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - DynIfaceInterface*
    constantsTouched: []
    func_position:
      end: 274
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 274
    functionName: dyn_obj_iface_init
    functionSourceFile: /src/glib/gobject/tests/dynamictests.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void dyn_obj_iface_init (DynIfaceInterface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/tests/dynamictests.c:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - class
    argTypes:
    - DynamicObjectClass*
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: dynamic_object_class_init
    functionSourceFile: /src/glib/gobject/tests/dynamictests.c
    functionUses: []
    functionsReached:
    - g_assert
    linkageType: ''
    returnType: void
    signature: 'static void dynamic_object_class_init (DynamicObjectClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - dynamic_object
    argTypes:
    - DynamicObject*
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: dynamic_object_init
    functionSourceFile: /src/glib/gobject/tests/dynamictests.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void dynamic_object_init (DynamicObject *dynamic_object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - DynObj*
    constantsTouched: []
    func_position:
      end: 280
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 280
    functionName: dyn_obj_init
    functionSourceFile: /src/glib/gobject/tests/dynamictests.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void dyn_obj_init (DynObj *obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MY_TEST
      Src: /src/glib/gobject/tests/signals-refcount.c:140,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/signals-refcount.c:144,1
    - Dst: g_test_message
      Src: /src/glib/gobject/tests/signals-refcount.c:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 145
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 145
    functionName: my_test_dispose
    functionSourceFile: /src/glib/gobject/tests/signals-refcount.c
    functionUses: []
    functionsReached:
    - MY_TEST
    - G_OBJECT_CLASS
    - g_test_message
    linkageType: ''
    returnType: void
    signature: 'static void my_test_dispose (GObject * object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/tests/signals-refcount.c:100,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gobject/tests/signals-refcount.c:108,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/signals-refcount.c:107,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/signals-refcount.c:107,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/signals-refcount.c:111,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/signals-refcount.c:111,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gobject/tests/signals-refcount.c:112,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/signals-refcount.c:115,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/signals-refcount.c:115,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gobject/tests/signals-refcount.c:116,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/signals-refcount.c:119,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/signals-refcount.c:120,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gobject/tests/signals-refcount.c:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GTestClass*
    constantsTouched: []
    func_position:
      end: 125
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 125
    functionName: my_test_class_init
    functionSourceFile: /src/glib/gobject/tests/signals-refcount.c
    functionUses: []
    functionsReached:
    - G_STRUCT_OFFSET
    - g_type_class_ref
    - G_TYPE_FROM_CLASS
    - g_param_spec_int
    - g_object_class_install_property
    - G_OBJECT_CLASS
    - g_signal_new
    linkageType: ''
    returnType: void
    signature: 'static void my_test_class_init (GTestClass * klass) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MY_TEST
      Src: /src/glib/gobject/tests/signals-refcount.c:171,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/tests/signals-refcount.c:178,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/signals-refcount.c:175,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 181
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 181
    functionName: my_test_get_property
    functionSourceFile: /src/glib/gobject/tests/signals-refcount.c
    functionUses: []
    functionsReached:
    - MY_TEST
    - g_value_set_int
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: 'static void my_test_get_property (GObject * object, guint prop_id,
      GValue * value, GParamSpec * pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test
    - anint
    argTypes:
    - GTest*
    - gint
    constantsTouched: []
    func_position:
      end: 192
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 192
    functionName: signal2_handler
    functionSourceFile: /src/glib/gobject/tests/signals-refcount.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void signal2_handler (GTest * test, gint anint) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gobject/tests/signals-refcount.c:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 204
    functionName: signal3_handler
    functionSourceFile: /src/glib/gobject/tests/signals-refcount.c
    functionUses: []
    functionsReached:
    - g_strdup
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *signal3_handler (GTest * test, gint anint) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_random_int
      Src: /src/glib/gobject/tests/signals-refcount.c:219,1
    - Dst: g_object_notify
      Src: /src/glib/gobject/tests/signals-refcount.c:220,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/signals-refcount.c:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - test
    argTypes:
    - GTest*
    constantsTouched: []
    func_position:
      end: 221
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 221
    functionName: my_test_do_prop
    functionSourceFile: /src/glib/gobject/tests/signals-refcount.c
    functionUses: []
    functionsReached:
    - g_object_notify
    - g_random_int
    - G_OBJECT
    linkageType: ''
    returnType: void
    signature: 'static void my_test_do_prop (GTest * test) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_get
      Src: /src/glib/gobject/tests/signals-refcount.c:250,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/signals-refcount.c:252,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - object
    - spec
    - user_data
    argTypes:
    - GObject*
    - GParamSpec*
    - gpointer
    constantsTouched: []
    func_position:
      end: 253
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 253
    functionName: notify
    functionSourceFile: /src/glib/gobject/tests/signals-refcount.c
    functionUses: []
    functionsReached:
    - g_object_get
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void notify (GObject *object, GParamSpec *spec, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_type_register_static
      Src: /src/glib/gobject/tests/signals-refcount.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 91
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 91
    functionName: my_test_get_type
    functionSourceFile: /src/glib/gobject/tests/signals-refcount.c
    functionUses: []
    functionsReached:
    - g_type_register_static
    linkageType: ''
    returnType: GType
    signature: 'static GType my_test_get_type (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_message
      Src: /src/glib/gobject/tests/signals-refcount.c:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - test
    argTypes:
    - GTest*
    constantsTouched: []
    func_position:
      end: 133
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 133
    functionName: my_test_init
    functionSourceFile: /src/glib/gobject/tests/signals-refcount.c
    functionUses: []
    functionsReached:
    - g_test_message
    linkageType: ''
    returnType: void
    signature: 'static void my_test_init (GTest * test) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MY_TEST
      Src: /src/glib/gobject/tests/signals-refcount.c:153,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/tests/signals-refcount.c:160,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/signals-refcount.c:157,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 163
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 163
    functionName: my_test_set_property
    functionSourceFile: /src/glib/gobject/tests/signals-refcount.c
    functionUses: []
    functionsReached:
    - MY_TEST
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_get_int
    linkageType: ''
    returnType: void
    signature: 'static void my_test_set_property (GObject * object, guint prop_id,
      const GValue * value, GParamSpec * pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_emit
      Src: /src/glib/gobject/tests/signals-refcount.c:186,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/signals-refcount.c:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - test
    argTypes:
    - GTest*
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: my_test_do_signal1
    functionSourceFile: /src/glib/gobject/tests/signals-refcount.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_signal_emit
    linkageType: ''
    returnType: void
    signature: 'static void my_test_do_signal1 (GTest * test) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_emit
      Src: /src/glib/gobject/tests/signals-refcount.c:197,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/signals-refcount.c:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - test
    argTypes:
    - GTest*
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: my_test_do_signal2
    functionSourceFile: /src/glib/gobject/tests/signals-refcount.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_signal_emit
    linkageType: ''
    returnType: void
    signature: 'static void my_test_do_signal2 (GTest * test) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_emit
      Src: /src/glib/gobject/tests/signals-refcount.c:211,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/signals-refcount.c:213,1
    - Dst: G_OBJECT
      Src: /src/glib/gobject/tests/signals-refcount.c:211,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/signals-refcount.c:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - test
    argTypes:
    - GTest*
    constantsTouched: []
    func_position:
      end: 214
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 214
    functionName: my_test_do_signal3
    functionSourceFile: /src/glib/gobject/tests/signals-refcount.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_free
    - G_OBJECT
    - g_signal_emit
    linkageType: ''
    returnType: void
    signature: 'static void my_test_do_signal3 (GTest * test) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/gobject/tests/signals-refcount.c:228,1
    - Dst: my_test_do_signal2
      Src: /src/glib/gobject/tests/signals-refcount.c:232,1
    - Dst: my_test_do_signal1
      Src: /src/glib/gobject/tests/signals-refcount.c:230,1
    - Dst: my_test_do_prop
      Src: /src/glib/gobject/tests/signals-refcount.c:234,1
    - Dst: my_test_do_signal3
      Src: /src/glib/gobject/tests/signals-refcount.c:236,1
    - Dst: g_thread_yield
      Src: /src/glib/gobject/tests/signals-refcount.c:238,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - test
    argTypes:
    - GTest*
    constantsTouched: []
    func_position:
      end: 243
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 243
    functionName: run_thread
    functionSourceFile: /src/glib/gobject/tests/signals-refcount.c
    functionUses: []
    functionsReached:
    - g_thread_yield
    - my_test_do_signal1
    - g_atomic_int_get
    - my_test_do_signal3
    - my_test_do_signal2
    - my_test_do_prop
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer run_thread (GTest * test) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signals-refcount.c:264,1
    - Dst: g_array_new
      Src: /src/glib/gobject/tests/signals-refcount.c:270,1
    - Dst: g_thread_new
      Src: /src/glib/gobject/tests/signals-refcount.c:277,1
    - Dst: g_array_append_val
      Src: /src/glib/gobject/tests/signals-refcount.c:278,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signals-refcount.c:297,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/signals-refcount.c:291,1
    - Dst: g_array_free
      Src: /src/glib/gobject/tests/signals-refcount.c:295,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/signals-refcount.c:263,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals-refcount.c:267,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals-refcount.c:266,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals-refcount.c:266,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals-refcount.c:267,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/signals-refcount.c:268,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/signals-refcount.c:268,1
    - Dst: g_thread_new
      Src: /src/glib/gobject/tests/signals-refcount.c:280,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gobject/tests/signals-refcount.c:285,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/signals-refcount.c:296,1
    - Dst: g_usleep
      Src: /src/glib/gobject/tests/signals-refcount.c:283,1
    - Dst: g_thread_join
      Src: /src/glib/gobject/tests/signals-refcount.c:292,1
    - Dst: g_array_append_val
      Src: /src/glib/gobject/tests/signals-refcount.c:281,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 298
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 298
    functionName: test_refcount_signals
    functionSourceFile: /src/glib/gobject/tests/signals-refcount.c
    functionUses: []
    functionsReached:
    - g_array_free
    - g_object_unref
    - g_object_new
    - g_array_append_val
    - g_array_index
    - g_thread_new
    - G_CALLBACK
    - g_usleep
    - g_atomic_int_set
    - g_array_new
    - g_thread_join
    - g_signal_connect
    linkageType: ''
    returnType: void
    signature: 'static void test_refcount_signals (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_log_set_always_fatal
      Src: /src/glib/gobject/tests/signals-refcount.c:303,1
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/signals-refcount.c:307,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/signals-refcount.c:309,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/signals-refcount.c:311,1
    - Dst: g_log_set_always_fatal
      Src: /src/glib/gobject/tests/signals-refcount.c:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - gchar*
    constantsTouched: []
    func_position:
      end: 312
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 312
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/signals-refcount.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_log_set_always_fatal
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, gchar *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/references.c:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - class
    argTypes:
    - TestObjectClass*
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: test_object_class_init
    functionSourceFile: /src/glib/gobject/tests/references.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void test_object_class_init (TestObjectClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 85
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 85
    functionName: clear_flags
    functionSourceFile: /src/glib/gobject/tests/references.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void clear_flags (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/references.c:101,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/references.c:102,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gobject/tests/references.c:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - data
    - object
    argTypes:
    - gpointer
    - GObject*
    constantsTouched: []
    func_position:
      end: 105
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 105
    functionName: weak_ref2
    functionSourceFile: /src/glib/gobject/tests/references.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_assert_true
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void weak_ref2 (gpointer data, GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/references.c:123,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gobject/tests/references.c:124,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/references.c:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - data
    - object
    - is_last_ref
    argTypes:
    - gpointer
    - GObject*
    - gboolean
    constantsTouched: []
    func_position:
      end: 130
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 130
    functionName: toggle_ref1
    functionSourceFile: /src/glib/gobject/tests/references.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_assert_true
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void toggle_ref1 (gpointer data, GObject *object, gboolean
      is_last_ref) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/references.c:151,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gobject/tests/references.c:152,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/references.c:152,1
    - Dst: g_object_remove_toggle_ref
      Src: /src/glib/gobject/tests/references.c:157,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gobject/tests/references.c:157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - data
    - object
    - is_last_ref
    argTypes:
    - gpointer
    - GObject*
    - gboolean
    constantsTouched: []
    func_position:
      end: 161
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 161
    functionName: toggle_ref3
    functionSourceFile: /src/glib/gobject/tests/references.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_assert_true
    - GUINT_TO_POINTER
    - g_object_remove_toggle_ref
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void toggle_ref3 (gpointer data, GObject *object, gboolean
      is_last_ref) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/references.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: test_object_finalize
    functionSourceFile: /src/glib/gobject/tests/references.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void test_object_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/references.c:91,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/references.c:92,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gobject/tests/references.c:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - data
    - object
    argTypes:
    - gpointer
    - GObject*
    constantsTouched: []
    func_position:
      end: 95
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 95
    functionName: weak_ref1
    functionSourceFile: /src/glib/gobject/tests/references.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_assert_true
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void weak_ref1 (gpointer data, GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - test_object
    argTypes:
    - TestObject*
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: test_object_init
    functionSourceFile: /src/glib/gobject/tests/references.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_object_init (TestObject *test_object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/references.c:113,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/tests/references.c:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - data
    - object
    argTypes:
    - gpointer
    - GObject*
    constantsTouched: []
    func_position:
      end: 116
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 116
    functionName: weak_ref3
    functionSourceFile: /src/glib/gobject/tests/references.c
    functionUses: []
    functionsReached:
    - g_weak_ref_get
    - g_assert_null
    linkageType: ''
    returnType: void
    signature: 'static void weak_ref3 (gpointer data, GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/references.c:137,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gobject/tests/references.c:138,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/references.c:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - data
    - object
    - is_last_ref
    argTypes:
    - gpointer
    - GObject*
    - gboolean
    constantsTouched: []
    func_position:
      end: 144
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 144
    functionName: toggle_ref2
    functionSourceFile: /src/glib/gobject/tests/references.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_assert_true
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void toggle_ref2 (gpointer data, GObject *object, gboolean
      is_last_ref) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gobject/tests/references.c:183,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/references.c:200,1
    - Dst: g_object_weak_ref
      Src: /src/glib/gobject/tests/references.c:210,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/references.c:253,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/references.c:278,1
    - Dst: clear_flags
      Src: /src/glib/gobject/tests/references.c:174,1
    - Dst: clear_flags
      Src: /src/glib/gobject/tests/references.c:186,1
    - Dst: g_weak_ref_clear
      Src: /src/glib/gobject/tests/references.c:214,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/references.c:233,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/references.c:250,1
    - Dst: g_object_add_toggle_ref
      Src: /src/glib/gobject/tests/references.c:219,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/references.c:181,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/references.c:217,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gobject/tests/references.c:245,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/references.c:225,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/references.c:239,1
    - Dst: clear_flags
      Src: /src/glib/gobject/tests/references.c:255,1
    - Dst: g_object_remove_toggle_ref
      Src: /src/glib/gobject/tests/references.c:265,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gobject/tests/references.c:275,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/references.c:223,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/references.c:267,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/references.c:170,1
    - Dst: g_object_weak_ref
      Src: /src/glib/gobject/tests/references.c:172,1
    - Dst: g_object_weak_ref
      Src: /src/glib/gobject/tests/references.c:195,1
    - Dst: g_object_weak_ref
      Src: /src/glib/gobject/tests/references.c:184,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/references.c:190,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gobject/tests/references.c:196,1
    - Dst: clear_flags
      Src: /src/glib/gobject/tests/references.c:227,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/references.c:237,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/references.c:248,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/references.c:259,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/references.c:176,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/references.c:188,1
    - Dst: clear_flags
      Src: /src/glib/gobject/tests/references.c:199,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/references.c:229,1
    - Dst: g_object_remove_toggle_ref
      Src: /src/glib/gobject/tests/references.c:236,1
    - Dst: g_object_add_toggle_ref
      Src: /src/glib/gobject/tests/references.c:244,1
    - Dst: g_object_remove_toggle_ref
      Src: /src/glib/gobject/tests/references.c:256,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/references.c:177,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/references.c:203,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/references.c:230,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/references.c:257,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/references.c:252,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/references.c:269,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/references.c:212,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/references.c:280,1
    - Dst: clear_flags
      Src: /src/glib/gobject/tests/references.c:235,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/references.c:193,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/references.c:231,1
    - Dst: g_object_weak_unref
      Src: /src/glib/gobject/tests/references.c:197,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/references.c:224,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gobject/tests/references.c:219,1
    - Dst: g_weak_ref_init
      Src: /src/glib/gobject/tests/references.c:208,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/references.c:261,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/references.c:268,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/references.c:270,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/references.c:201,1
    - Dst: clear_flags
      Src: /src/glib/gobject/tests/references.c:247,1
    - Dst: clear_flags
      Src: /src/glib/gobject/tests/references.c:277,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/references.c:222,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gobject/tests/references.c:172,1
    - Dst: g_object_weak_ref
      Src: /src/glib/gobject/tests/references.c:183,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gobject/tests/references.c:184,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/references.c:189,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gobject/tests/references.c:195,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gobject/tests/references.c:209,1
    - Dst: clear_flags
      Src: /src/glib/gobject/tests/references.c:263,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/references.c:266,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/references.c:273,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/references.c:281,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/references.c:175,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/references.c:187,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gobject/tests/references.c:236,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/references.c:213,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/tests/references.c:228,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gobject/tests/references.c:244,1
    - Dst: g_object_add_toggle_ref
      Src: /src/glib/gobject/tests/references.c:245,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gobject/tests/references.c:256,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/references.c:209,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/references.c:251,1
    - Dst: g_object_add_toggle_ref
      Src: /src/glib/gobject/tests/references.c:275,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/references.c:207,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/references.c:238,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/references.c:249,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/references.c:279,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/references.c:241,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/references.c:260,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/references.c:211,1
    - Dst: g_object_weak_ref
      Src: /src/glib/gobject/tests/references.c:196,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gobject/tests/references.c:197,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/references.c:202,1
    - Dst: clear_flags
      Src: /src/glib/gobject/tests/references.c:221,1
    - Dst: g_assert_false
      Src: /src/glib/gobject/tests/references.c:258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 109
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 282
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 282
    functionName: test_references
    functionSourceFile: /src/glib/gobject/tests/references.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_weak_ref_get
    - g_object_unref
    - g_object_new
    - GUINT_TO_POINTER
    - g_object_weak_ref
    - g_weak_ref_clear
    - g_object_remove_toggle_ref
    - clear_flags
    - g_object_add_toggle_ref
    - g_object_ref
    - g_assert_false
    - g_object_weak_unref
    - g_weak_ref_init
    linkageType: ''
    returnType: void
    signature: 'static void test_references (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_log_set_always_fatal
      Src: /src/glib/gobject/tests/references.c:288,1
    - Dst: g_log_set_always_fatal
      Src: /src/glib/gobject/tests/references.c:288,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/references.c:296,1
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/references.c:292,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/references.c:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 297
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 297
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/references.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_log_set_always_fatal
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/enums.c:83,1
    - Dst: g_value_transform
      Src: /src/glib/gobject/tests/enums.c:84,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/enums.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: test_flags_transform_to_string
    functionSourceFile: /src/glib/gobject/tests/enums.c
    functionUses: []
    functionsReached:
    - g_value_transform
    - g_value_unset
    - g_value_init
    linkageType: ''
    returnType: void
    signature: 'static void test_flags_transform_to_string (const GValue *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/enums.c:21,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/enums.c:22,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/enums.c:25,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/enums.c:41,1
    - Dst: g_enum_get_value_by_name
      Src: /src/glib/gobject/tests/enums.c:40,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/enums.c:42,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/enums.c:47,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/enums.c:48,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/enums.c:50,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/enums.c:54,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/enums.c:26,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/enums.c:36,1
    - Dst: g_enum_get_value
      Src: /src/glib/gobject/tests/enums.c:37,1
    - Dst: g_enum_get_value_by_name
      Src: /src/glib/gobject/tests/enums.c:43,1
    - Dst: g_enum_get_value_by_nick
      Src: /src/glib/gobject/tests/enums.c:49,1
    - Dst: g_enum_to_string
      Src: /src/glib/gobject/tests/enums.c:56,1
    - Dst: g_type_class_unref
      Src: /src/glib/gobject/tests/enums.c:60,1
    - Dst: g_value_set_enum
      Src: /src/glib/gobject/tests/enums.c:24,1
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/tests/enums.c:28,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/enums.c:32,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/enums.c:35,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/enums.c:44,1
    - Dst: g_enum_get_value_by_nick
      Src: /src/glib/gobject/tests/enums.c:46,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/enums.c:53,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/enums.c:58,1
    - Dst: g_enum_register_static
      Src: /src/glib/gobject/tests/enums.c:19,1
    - Dst: G_VALUE_HOLDS_ENUM
      Src: /src/glib/gobject/tests/enums.c:22,1
    - Dst: g_value_get_enum
      Src: /src/glib/gobject/tests/enums.c:25,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/enums.c:30,1
    - Dst: g_enum_get_value
      Src: /src/glib/gobject/tests/enums.c:34,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/enums.c:38,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/enums.c:31,1
    - Dst: g_enum_to_string
      Src: /src/glib/gobject/tests/enums.c:52,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/enums.c:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 45
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 61
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 61
    functionName: test_enum_basic
    functionSourceFile: /src/glib/gobject/tests/enums.c
    functionUses: []
    functionsReached:
    - g_enum_get_value_by_name
    - g_value_set_enum
    - g_assert_true
    - g_type_class_ref
    - g_enum_get_value_by_nick
    - g_enum_to_string
    - g_assert_null
    - g_assert_nonnull
    - g_enum_get_value
    - g_assert_cmpstr
    - g_value_init
    - G_VALUE_HOLDS_ENUM
    - g_type_class_unref
    - g_enum_register_static
    - g_value_unset
    - g_free
    - g_value_get_enum
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_enum_basic (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/tests/enums.c:210,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/enums.c:215,1
    - Dst: g_flags_get_first_value
      Src: /src/glib/gobject/tests/enums.c:217,1
    - Dst: test_flags_get_type
      Src: /src/glib/gobject/tests/enums.c:210,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/enums.c:214,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/enums.c:218,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/enums.c:219,1
    - Dst: g_flags_get_first_value
      Src: /src/glib/gobject/tests/enums.c:221,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/enums.c:222,1
    - Dst: g_flags_to_string
      Src: /src/glib/gobject/tests/enums.c:224,1
    - Dst: test_flags_get_type
      Src: /src/glib/gobject/tests/enums.c:224,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/enums.c:225,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/enums.c:226,1
    - Dst: g_type_class_unref
      Src: /src/glib/gobject/tests/enums.c:228,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 229
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 229
    functionName: test_flags_define_type
    functionSourceFile: /src/glib/gobject/tests/enums.c
    functionUses: []
    functionsReached:
    - g_type_class_ref
    - test_flags_get_type
    - g_assert_null
    - g_flags_to_string
    - g_assert_nonnull
    - g_flags_get_first_value
    - g_assert_cmpstr
    - g_type_class_unref
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_flags_define_type (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/tests/enums.c:176,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/enums.c:179,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/enums.c:180,1
    - Dst: test_enum_get_type
      Src: /src/glib/gobject/tests/enums.c:176,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/enums.c:181,1
    - Dst: g_enum_get_value
      Src: /src/glib/gobject/tests/enums.c:183,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/enums.c:184,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/enums.c:185,1
    - Dst: g_enum_get_value
      Src: /src/glib/gobject/tests/enums.c:186,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/enums.c:187,1
    - Dst: g_type_class_unref
      Src: /src/glib/gobject/tests/enums.c:189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 190
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 190
    functionName: test_enum_define_type
    functionSourceFile: /src/glib/gobject/tests/enums.c
    functionUses: []
    functionsReached:
    - g_type_class_ref
    - g_assert_null
    - g_assert_nonnull
    - g_enum_get_value
    - g_assert_cmpstr
    - test_enum_get_type
    - g_type_class_unref
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_enum_define_type (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_flags_register_static
      Src: /src/glib/gobject/tests/enums.c:97,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/enums.c:119,1
    - Dst: g_flags_get_value_by_name
      Src: /src/glib/gobject/tests/enums.c:118,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/enums.c:110,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/enums.c:113,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/enums.c:122,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gobject/tests/enums.c:125,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/enums.c:126,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/enums.c:128,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/enums.c:134,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/enums.c:139,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/enums.c:146,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/enums.c:155,1
    - Dst: g_flags_to_string
      Src: /src/glib/gobject/tests/enums.c:137,1
    - Dst: g_assert_true
      Src: /src/glib/gobject/tests/enums.c:102,1
    - Dst: g_flags_get_first_value
      Src: /src/glib/gobject/tests/enums.c:115,1
    - Dst: g_value_unset
      Src: /src/glib/gobject/tests/enums.c:131,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/enums.c:138,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/enums.c:150,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/enums.c:151,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/enums.c:154,1
    - Dst: g_flags_to_string
      Src: /src/glib/gobject/tests/enums.c:149,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/enums.c:142,1
    - Dst: g_flags_to_string
      Src: /src/glib/gobject/tests/enums.c:145,1
    - Dst: g_flags_register_static
      Src: /src/glib/gobject/tests/enums.c:98,1
    - Dst: g_value_init
      Src: /src/glib/gobject/tests/enums.c:101,1
    - Dst: g_value_set_flags
      Src: /src/glib/gobject/tests/enums.c:104,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/enums.c:105,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/enums.c:109,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gobject/tests/enums.c:114,1
    - Dst: g_assert_null
      Src: /src/glib/gobject/tests/enums.c:116,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gobject/tests/enums.c:120,1
    - Dst: g_flags_to_string
      Src: /src/glib/gobject/tests/enums.c:141,1
    - Dst: g_flags_to_string
      Src: /src/glib/gobject/tests/enums.c:153,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/enums.c:147,1
    - Dst: G_VALUE_HOLDS_FLAGS
      Src: /src/glib/gobject/tests/enums.c:102,1
    - Dst: g_value_get_flags
      Src: /src/glib/gobject/tests/enums.c:105,1
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/tests/enums.c:107,1
    - Dst: g_flags_get_first_value
      Src: /src/glib/gobject/tests/enums.c:112,1
    - Dst: g_flags_get_value_by_name
      Src: /src/glib/gobject/tests/enums.c:121,1
    - Dst: g_flags_get_value_by_nick
      Src: /src/glib/gobject/tests/enums.c:124,1
    - Dst: g_flags_get_value_by_nick
      Src: /src/glib/gobject/tests/enums.c:127,1
    - Dst: test_flags_transform_to_string
      Src: /src/glib/gobject/tests/enums.c:130,1
    - Dst: g_flags_to_string
      Src: /src/glib/gobject/tests/enums.c:133,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/enums.c:135,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/enums.c:143,1
    - Dst: g_type_class_unref
      Src: /src/glib/gobject/tests/enums.c:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 70
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 158
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 158
    functionName: test_flags_basic
    functionSourceFile: /src/glib/gobject/tests/enums.c
    functionUses: []
    functionsReached:
    - test_flags_transform_to_string
    - g_assert_null
    - g_flags_to_string
    - g_assert_true
    - g_flags_register_static
    - g_assert_nonnull
    - g_flags_get_first_value
    - g_value_get_flags
    - g_type_class_unref
    - g_flags_get_value_by_name
    - g_assert_cmpint
    - g_flags_get_value_by_nick
    - g_value_init
    - G_VALUE_HOLDS_FLAGS
    - g_type_class_ref
    - g_value_set_flags
    - g_assert_cmpstr
    - g_free
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void test_flags_basic (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gobject/tests/enums.c:234,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/enums.c:236,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/enums.c:238,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/enums.c:237,1
    - Dst: g_test_add_func
      Src: /src/glib/gobject/tests/enums.c:239,1
    - Dst: g_test_run
      Src: /src/glib/gobject/tests/enums.c:241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 242
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 242
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/enums.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - obj
    - pspec
    - data
    argTypes:
    - ComplexObject*
    - GParamSpec*
    - void*
    constantsTouched: []
    func_position:
      end: 1047
      start: 1044
    functionDepth: 0
    functionLinenumber: 1044
    functionLinenumberEnd: 1047
    functionName: test_notify_handled_handler
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_notify_handled_handler (ComplexObject *obj, GParamSpec
      *pspec, void *data) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/glib/gobject/tests/performance/performance.c:161,1
    - Dst: g_timer_start
      Src: /src/glib/gobject/tests/performance/performance.c:183,1
    - Dst: g_timer_elapsed
      Src: /src/glib/gobject/tests/performance/performance.c:194,1
    - Dst: MAX
      Src: /src/glib/gobject/tests/performance/performance.c:197,1
    - Dst: g_timer_start
      Src: /src/glib/gobject/tests/performance/performance.c:89,1
    - Dst: g_clear_pointer
      Src: /src/glib/gobject/tests/performance/performance.c:116,1
    - Dst: g_timer_start
      Src: /src/glib/gobject/tests/performance/performance.c:152,1
    - Dst: g_timer_elapsed
      Src: /src/glib/gobject/tests/performance/performance.c:132,1
    - Dst: g_print
      Src: /src/glib/gobject/tests/performance/performance.c:168,1
    - Dst: g_timer_stop
      Src: /src/glib/gobject/tests/performance/performance.c:185,1
    - Dst: g_print
      Src: /src/glib/gobject/tests/performance/performance.c:208,1
    - Dst: g_print
      Src: /src/glib/gobject/tests/performance/performance.c:87,1
    - Dst: g_timer_elapsed
      Src: /src/glib/gobject/tests/performance/performance.c:122,1
    - Dst: g_timer_stop
      Src: /src/glib/gobject/tests/performance/performance.c:154,1
    - Dst: MIN
      Src: /src/glib/gobject/tests/performance/performance.c:196,1
    - Dst: g_print
      Src: /src/glib/gobject/tests/performance/performance.c:206,1
    - Dst: g_print
      Src: /src/glib/gobject/tests/performance/performance.c:207,1
    - Dst: g_print
      Src: /src/glib/gobject/tests/performance/performance.c:212,1
    - Dst: g_timer_destroy
      Src: /src/glib/gobject/tests/performance/performance.c:217,1
    - Dst: g_print
      Src: /src/glib/gobject/tests/performance/performance.c:80,1
    - Dst: g_timer_new
      Src: /src/glib/gobject/tests/performance/performance.c:83,1
    - Dst: g_timer_elapsed
      Src: /src/glib/gobject/tests/performance/performance.c:107,1
    - Dst: g_timer_stop
      Src: /src/glib/gobject/tests/performance/performance.c:131,1
    - Dst: g_print
      Src: /src/glib/gobject/tests/performance/performance.c:137,1
    - Dst: g_print
      Src: /src/glib/gobject/tests/performance/performance.c:136,1
    - Dst: g_timer_elapsed
      Src: /src/glib/gobject/tests/performance/performance.c:157,1
    - Dst: g_print
      Src: /src/glib/gobject/tests/performance/performance.c:174,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 98
    argCount: 1
    argNames:
    - test
    argTypes:
    - PerformanceTest*
    constantsTouched: []
    func_position:
      end: 218
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 218
    functionName: run_test
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_timer_start
    - MIN
    - MAX
    - g_clear_pointer
    - g_timer_elapsed
    - g_timer_stop
    - g_print
    - g_timer_new
    - g_timer_destroy
    linkageType: ''
    returnType: void
    signature: 'static void run_test (PerformanceTest *test) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_notify
      Src: /src/glib/gobject/tests/performance/performance.c:975,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - void*
    constantsTouched: []
    func_position:
      end: 976
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 976
    functionName: test_notify_run
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_object_notify
    linkageType: ''
    returnType: void
    signature: 'static void test_notify_run (PerformanceTest *test, void *_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gobject/tests/performance/performance.c:1054,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/performance/performance.c:1059,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/performance/performance.c:1055,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/performance/performance.c:1058,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/performance/performance.c:1057,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/performance/performance.c:1060,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1049
    functionDepth: 0
    functionLinenumber: 1049
    functionLinenumberEnd: 1063
    functionName: test_notify_handled_setup
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_new0
    - g_signal_connect
    - g_object_new
    - G_CALLBACK
    linkageType: ''
    returnType: void*
    signature: 'static void *test_notify_handled_setup (PerformanceTest *test) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test
    - data
    argTypes:
    - PerformanceTest*
    - gpointer
    constantsTouched: []
    func_position:
      end: 933
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 933
    functionName: test_emission_handled_finish
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_emission_handled_finish (PerformanceTest *test, gpointer
      data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/performance/performance.c:952,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/performance/performance.c:953,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - gpointer
    constantsTouched: []
    func_position:
      end: 954
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 954
    functionName: test_emission_handled_teardown
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_free
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_emission_handled_teardown (PerformanceTest *test,
      gpointer _data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gobject/tests/performance/performance.c:942,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - test
    - _data
    - time
    argTypes:
    - PerformanceTest*
    - gpointer
    - double
    constantsTouched: []
    func_position:
      end: 944
      start: 935
    functionDepth: 0
    functionLinenumber: 935
    functionLinenumberEnd: 944
    functionName: test_emission_handled_print_result
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void test_emission_handled_print_result (PerformanceTest *test,
      gpointer _data, double time) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - test
    - _data
    - factor
    argTypes:
    - PerformanceTest*
    - void*
    - double
    constantsTouched: []
    func_position:
      end: 1153
      start: 1145
    functionDepth: 0
    functionLinenumber: 1145
    functionLinenumberEnd: 1153
    functionName: test_set_init
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_set_init (PerformanceTest *test, void *_data, double
      factor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gobject/tests/performance/performance.c:1088,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - test
    - _data
    - time
    argTypes:
    - PerformanceTest*
    - void*
    - double
    constantsTouched: []
    func_position:
      end: 1090
      start: 1081
    functionDepth: 0
    functionLinenumber: 1081
    functionLinenumberEnd: 1090
    functionName: test_notify_handled_print_result
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void test_notify_handled_print_result (PerformanceTest *test,
      void *_data, double time) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/performance/performance.c:252,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - class
    argTypes:
    - SimpleObjectClass*
    constantsTouched: []
    func_position:
      end: 255
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 255
    functionName: simple_object_class_init
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void simple_object_class_init (SimpleObjectClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_free
      Src: /src/glib/gobject/tests/performance/performance.c:632,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - gpointer
    constantsTouched: []
    func_position:
      end: 633
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 633
    functionName: test_construction_finish1
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: "static void test_construction_finish1 (PerformanceTest *test,\t\t\t\
      \ gpointer _data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_ref
      Src: /src/glib/gobject/tests/performance/performance.c:1340,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/performance/performance.c:1341,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1343
      start: 1331
    functionDepth: 0
    functionLinenumber: 1331
    functionLinenumberEnd: 1343
    functionName: test_refcount_1_run
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_object_ref
    linkageType: ''
    returnType: void
    signature: 'static void test_refcount_1_run (PerformanceTest *test, gpointer _data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - simple_object
    argTypes:
    - SimpleObject*
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 261
    functionName: simple_object_init
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void simple_object_init (SimpleObject *simple_object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gobject/tests/performance/performance.c:640,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/performance/performance.c:641,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - gpointer
    constantsTouched: []
    func_position:
      end: 642
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 642
    functionName: test_construction_teardown
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: "static void test_construction_teardown (PerformanceTest *test,\t\t\
      \t gpointer _data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - test
    - data
    argTypes:
    - PerformanceTest*
    - void*
    constantsTouched: []
    func_position:
      end: 1159
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1159
    functionName: test_set_finish
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_set_finish (PerformanceTest *test, void *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpuint
      Src: /src/glib/gobject/tests/performance/performance.c:1098,1
    - Dst: g_signal_handlers_disconnect_by_func
      Src: /src/glib/gobject/tests/performance/performance.c:1099,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/performance/performance.c:1102,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/performance/performance.c:1103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - void*
    constantsTouched: []
    func_position:
      end: 1104
      start: 1092
    functionDepth: 0
    functionLinenumber: 1092
    functionLinenumberEnd: 1104
    functionName: test_notify_handled_teardown
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_free
    - g_signal_handlers_disconnect_by_func
    - g_assert_cmpuint
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_notify_handled_teardown (PerformanceTest *test, void
      *_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1349
      start: 1345
    functionDepth: 0
    functionLinenumber: 1345
    functionLinenumberEnd: 1349
    functionName: test_refcount_finish
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_refcount_finish (PerformanceTest *test, gpointer
      _data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gobject/tests/performance/performance.c:1246,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - test
    - _data
    - time
    argTypes:
    - PerformanceTest*
    - void*
    - double
    constantsTouched: []
    func_position:
      end: 1248
      start: 1239
    functionDepth: 0
    functionLinenumber: 1239
    functionLinenumberEnd: 1248
    functionName: test_get_print_result
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void test_get_print_result (PerformanceTest *test, void *_data,
      double time) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gobject/tests/performance/performance.c:897,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gobject/tests/performance/performance.c:899,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/performance/performance.c:900,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/performance/performance.c:898,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/performance/performance.c:901,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/performance/performance.c:903,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/performance/performance.c:904,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/performance/performance.c:906,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/performance/performance.c:907,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/performance/performance.c:909,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/performance/performance.c:910,1
    - Dst: G_CALLBACK
      Src: /src/glib/gobject/tests/performance/performance.c:913,1
    - Dst: g_signal_connect
      Src: /src/glib/gobject/tests/performance/performance.c:912,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - test
    argTypes:
    - PerformanceTest*
    constantsTouched: []
    func_position:
      end: 917
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 917
    functionName: test_emission_handled_setup
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_object_new
    - GPOINTER_TO_UINT
    - G_CALLBACK
    - g_new0
    - g_signal_connect
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer test_emission_handled_setup (PerformanceTest *test) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_set
      Src: /src/glib/gobject/tests/performance/performance.c:1125,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - void*
    constantsTouched: []
    func_position:
      end: 1126
      start: 1117
    functionDepth: 0
    functionLinenumber: 1117
    functionLinenumberEnd: 1126
    functionName: test_set_run
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_object_set
    linkageType: ''
    returnType: void
    signature: 'static void test_set_run (PerformanceTest *test, void *_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - test
    - _data
    - factor
    argTypes:
    - PerformanceTest*
    - gpointer
    - double
    constantsTouched: []
    func_position:
      end: 927
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 927
    functionName: test_emission_handled_init
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_emission_handled_init (PerformanceTest *test, gpointer
      _data, double factor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gobject/tests/performance/performance.c:1133,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/performance/performance.c:1134,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/tests/performance/performance.c:1140,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1128
    functionDepth: 0
    functionLinenumber: 1128
    functionLinenumberEnd: 1143
    functionName: test_set_setup
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_new0
    - g_object_new
    - g_object_ref
    linkageType: ''
    returnType: void*
    signature: 'static void *test_set_setup (PerformanceTest *test) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/performance/performance.c:1256,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/performance/performance.c:1257,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/performance/performance.c:1258,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1259
      start: 1250
    functionDepth: 0
    functionLinenumber: 1250
    functionLinenumberEnd: 1259
    functionName: test_get_teardown
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_free
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_get_teardown (PerformanceTest *test, gpointer _data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - test
    - _data
    - factor
    argTypes:
    - PerformanceTest*
    - void*
    - double
    constantsTouched: []
    func_position:
      end: 1231
      start: 1223
    functionDepth: 0
    functionLinenumber: 1223
    functionLinenumberEnd: 1231
    functionName: test_get_init
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_get_init (PerformanceTest *test, void *_data, double
      factor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - test
    - data
    argTypes:
    - PerformanceTest*
    - void*
    constantsTouched: []
    func_position:
      end: 1237
      start: 1233
    functionDepth: 0
    functionLinenumber: 1233
    functionLinenumberEnd: 1237
    functionName: test_get_finish
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_get_finish (PerformanceTest *test, void *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gobject/tests/performance/performance.c:1026,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - test
    - _data
    - time
    argTypes:
    - PerformanceTest*
    - void*
    - double
    constantsTouched: []
    func_position:
      end: 1028
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1028
    functionName: test_notify_unhandled_print_result
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void test_notify_unhandled_print_result (PerformanceTest *test,
      void *_data, double time) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/performance/performance.c:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 247
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 247
    functionName: simple_object_finalize
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void simple_object_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/performance/performance.c:1036,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/performance/performance.c:1037,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - void*
    constantsTouched: []
    func_position:
      end: 1038
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1038
    functionName: test_notify_unhandled_teardown
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_free
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_notify_unhandled_teardown (PerformanceTest *test,
      void *_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COMPLEX_OBJECT
      Src: /src/glib/gobject/tests/performance/performance.c:356,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/performance/performance.c:360,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/performance/performance.c:358,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 361
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 361
    functionName: complex_object_finalize
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_free
    - COMPLEX_OBJECT
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void complex_object_finalize (GObject *object) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: COMPLEX_OBJECT
      Src: /src/glib/gobject/tests/performance/performance.c:392,1
    - Dst: g_value_set_int
      Src: /src/glib/gobject/tests/performance/performance.c:397,1
    - Dst: g_value_set_string
      Src: /src/glib/gobject/tests/performance/performance.c:400,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/tests/performance/performance.c:403,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 406
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 406
    functionName: complex_object_get_property
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_value_set_string
    - g_value_set_int
    - COMPLEX_OBJECT
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: "static void complex_object_get_property (GObject *object,\t\t\t guint\
      \ prop_id,\t\t\t GValue *value,\t\t\t GParamSpec *pspec) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gobject/tests/performance/performance.c:516,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - test
    argTypes:
    - PerformanceTest*
    constantsTouched: []
    func_position:
      end: 520
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 520
    functionName: test_construction_setup
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_new0
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer test_construction_setup (PerformanceTest *test) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_emit
      Src: /src/glib/gobject/tests/performance/performance.c:817,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - gpointer
    constantsTouched: []
    func_position:
      end: 818
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 818
    functionName: test_emission_run
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_signal_emit
    linkageType: ''
    returnType: void
    signature: 'static void test_emission_run (PerformanceTest *test, gpointer _data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: COMPLEX_OBJECT
      Src: /src/glib/gobject/tests/performance/performance.c:369,1
    - Dst: g_value_get_int
      Src: /src/glib/gobject/tests/performance/performance.c:374,1
    - Dst: g_value_dup_string
      Src: /src/glib/gobject/tests/performance/performance.c:378,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/performance/performance.c:377,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gobject/tests/performance/performance.c:381,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 384
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 384
    functionName: complex_object_set_property
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_dup_string
    - g_value_get_int
    - g_free
    - COMPLEX_OBJECT
    linkageType: ''
    returnType: void
    signature: "static void complex_object_set_property (GObject *object,\t\t\t guint\
      \ prop_id,\t\t\t const GValue *value,\t\t\t GParamSpec *pspec) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - obj
    argTypes:
    - ComplexObject*
    constantsTouched: []
    func_position:
      end: 411
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 411
    functionName: complex_object_real_signal
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void complex_object_real_signal (ComplexObject *obj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_renew
      Src: /src/glib/gobject/tests/performance/performance.c:534,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - test
    - _data
    - count_factor
    argTypes:
    - PerformanceTest*
    - gpointer
    - double
    constantsTouched: []
    func_position:
      end: 536
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 536
    functionName: test_construction_init
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_renew
    linkageType: ''
    returnType: void
    signature: "static void test_construction_init (PerformanceTest *test,\t\t\tgpointer\
      \ _data,\t\t\tdouble count_factor) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_emit
      Src: /src/glib/gobject/tests/performance/performance.c:828,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - gpointer
    constantsTouched: []
    func_position:
      end: 829
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 829
    functionName: test_emission_run_args
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_signal_emit
    linkageType: ''
    returnType: void
    signature: 'static void test_emission_run_args (PerformanceTest *test, gpointer
      _data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFINE_IFACE
      Src: /src/glib/gobject/tests/performance/performance.c:291,1
    - Dst: DEFINE_IFACE
      Src: /src/glib/gobject/tests/performance/performance.c:293,1
    - Dst: DEFINE_IFACE
      Src: /src/glib/gobject/tests/performance/performance.c:292,1
    - Dst: complex_object_get_type
      Src: /src/glib/gobject/tests/performance/performance.c:300,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ()
    argTypes:
    - complex_object_get_type
    constantsTouched: []
    func_position:
      end: 310
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 310
    functionName: DEFINE_IFACE
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - complex_object_get_type
    - DEFINE_IFACE
    linkageType: ''
    returnType: DEFINE_IFACE (TestIface1, test_iface1,  NULL, NULL)
    signature: 'static DEFINE_IFACE (TestIface1, test_iface1, NULL, NULL) static DEFINE_IFACE
      (TestIface2, test_iface2, NULL, NULL)static DEFINE_IFACE (TestIface3, test_iface3,
      NULL, NULL)static DEFINE_IFACE (TestIface4, test_iface4, NULL, NULL)static DEFINE_IFACE
      (TestIface5, test_iface5, NULL, NULL)/*************************************************************
      * Complex object is a GObject subclass with a properties, * construct properties,
      signals and implementing an interface. *************************************************************/static
      GType complex_object_get_type (void);#define COMPLEX_TYPE_OBJECT (complex_object_get_type
      ())typedef struct _ComplexObject ComplexObject ;typedef struct _ComplexObjectClass
      ComplexObjectClass;struct _ComplexObject '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gobject/tests/performance/performance.c:428,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gobject/tests/performance/performance.c:437,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gobject/tests/performance/performance.c:446,1
    - Dst: g_param_spec_string
      Src: /src/glib/gobject/tests/performance/performance.c:471,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gobject/tests/performance/performance.c:463,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/performance/performance.c:425,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/performance/performance.c:434,1
    - Dst: g_param_spec_int
      Src: /src/glib/gobject/tests/performance/performance.c:468,1
    - Dst: g_object_class_install_properties
      Src: /src/glib/gobject/tests/performance/performance.c:475,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gobject/tests/performance/performance.c:454,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/performance/performance.c:451,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gobject/tests/performance/performance.c:416,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/performance/performance.c:426,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/performance/performance.c:435,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/performance/performance.c:443,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/performance/performance.c:444,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/performance/performance.c:461,1
    - Dst: g_signal_new
      Src: /src/glib/gobject/tests/performance/performance.c:460,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gobject/tests/performance/performance.c:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 1
    argNames:
    - class
    argTypes:
    - ComplexObjectClass*
    constantsTouched: []
    func_position:
      end: 476
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 476
    functionName: complex_object_class_init
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - G_STRUCT_OFFSET
    - G_TYPE_FROM_CLASS
    - g_param_spec_int
    - g_object_class_install_properties
    - G_OBJECT_CLASS
    - g_signal_new
    - g_param_spec_string
    linkageType: ''
    returnType: void
    signature: 'static void complex_object_class_init (ComplexObjectClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COMPLEX_OBJECT
      Src: /src/glib/gobject/tests/performance/performance.c:481,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - TestIface*
    constantsTouched: []
    func_position:
      end: 483
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 483
    functionName: complex_object_iface_method
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - COMPLEX_OBJECT
    linkageType: ''
    returnType: void
    signature: 'static void complex_object_iface_method (TestIface *obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/performance/performance.c:611,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - gpointer
    constantsTouched: []
    func_position:
      end: 613
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 613
    functionName: test_complex_construction_run2
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: void
    signature: 'static void test_complex_construction_run2 (PerformanceTest *test,
      gpointer _data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - gpointer
    constantsTouched: []
    func_position:
      end: 684
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 684
    functionName: test_finalization_finish
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void test_finalization_finish (PerformanceTest *test,\t\t\t\
      \ gpointer _data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - test
    - _data
    - factor
    argTypes:
    - PerformanceTest*
    - void*
    - double
    constantsTouched: []
    func_position:
      end: 1073
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1073
    functionName: test_notify_handled_init
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_notify_handled_init (PerformanceTest *test, void
      *_data, double factor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/performance/performance.c:622,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - gpointer
    constantsTouched: []
    func_position:
      end: 623
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 623
    functionName: test_construction_finish
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: "static void test_construction_finish (PerformanceTest *test,\t\t\t\
      \ gpointer _data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gobject/tests/performance/performance.c:693,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - test
    - _data
    - time
    argTypes:
    - PerformanceTest*
    - gpointer
    - double
    constantsTouched: []
    func_position:
      end: 695
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 695
    functionName: test_construction_print_result
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_print
    linkageType: ''
    returnType: void
    signature: "static void test_construction_print_result (PerformanceTest *test,\t\
      \t\t\tgpointer _data,\t\t\t\tdouble time) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - test
    - data
    argTypes:
    - PerformanceTest*
    - void*
    constantsTouched: []
    func_position:
      end: 1079
      start: 1075
    functionDepth: 0
    functionLinenumber: 1075
    functionLinenumberEnd: 1079
    functionName: test_notify_handled_finish
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_notify_handled_finish (PerformanceTest *test, void
      *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gobject/tests/performance/performance.c:840,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/performance/performance.c:841,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gobject/tests/performance/performance.c:842,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - test
    argTypes:
    - PerformanceTest*
    constantsTouched: []
    func_position:
      end: 844
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 844
    functionName: test_emission_unhandled_setup
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_new0
    - GPOINTER_TO_UINT
    - g_object_new
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer test_emission_unhandled_setup (PerformanceTest *test) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - test
    - _data
    - factor
    argTypes:
    - PerformanceTest*
    - gpointer
    - double
    constantsTouched: []
    func_position:
      end: 854
      start: 846
    functionDepth: 0
    functionLinenumber: 846
    functionLinenumberEnd: 854
    functionName: test_emission_unhandled_init
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_emission_unhandled_init (PerformanceTest *test, gpointer
      _data, double factor) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/performance/performance.c:1645,1
    - Dst: strcmp
      Src: /src/glib/gobject/tests/performance/performance.c:1647,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1651
      start: 1642
    functionDepth: 0
    functionLinenumber: 1642
    functionLinenumberEnd: 1651
    functionName: find_test
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - strcmp
    linkageType: ''
    returnType: PerformanceTest*
    signature: 'static PerformanceTest *find_test (const char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_getenv
      Src: /src/glib/gobject/tests/performance/performance.c:1661,1
    - Dst: g_strtod
      Src: /src/glib/gobject/tests/performance/performance.c:1663,1
    - Dst: g_option_context_parse
      Src: /src/glib/gobject/tests/performance/performance.c:1668,1
    - Dst: g_option_context_new
      Src: /src/glib/gobject/tests/performance/performance.c:1666,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/gobject/tests/performance/performance.c:1667,1
    - Dst: g_printerr
      Src: /src/glib/gobject/tests/performance/performance.c:1670,1
    - Dst: g_printerr
      Src: /src/glib/gobject/tests/performance/performance.c:1676,1
    - Dst: g_timer_new
      Src: /src/glib/gobject/tests/performance/performance.c:1680,1
    - Dst: find_test
      Src: /src/glib/gobject/tests/performance/performance.c:1686,1
    - Dst: run_test
      Src: /src/glib/gobject/tests/performance/performance.c:1688,1
    - Dst: g_option_context_free
      Src: /src/glib/gobject/tests/performance/performance.c:1697,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/performance/performance.c:1693,1
    - Dst: run_test
      Src: /src/glib/gobject/tests/performance/performance.c:1694,1
    - Dst: g_clear_pointer
      Src: /src/glib/gobject/tests/performance/performance.c:1698,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1700
      start: 1652
    functionDepth: 0
    functionLinenumber: 1652
    functionLinenumberEnd: 1700
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_printerr
    - g_option_context_free
    - run_test
    - g_option_context_new
    - g_getenv
    - G_N_ELEMENTS
    - find_test
    - g_clear_pointer
    - g_strtod
    - g_timer_new
    - g_option_context_parse
    - g_option_context_add_main_entries
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 3
    argNames:
    - data
    - object
    - is_last_ref
    argTypes:
    - gpointer
    - GObject*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1278
      start: 1273
    functionDepth: 0
    functionLinenumber: 1273
    functionLinenumberEnd: 1278
    functionName: test_refcount_toggle_ref_cb
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_refcount_toggle_ref_cb (gpointer data, GObject *object,
      gboolean is_last_ref) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_notify_by_pspec
      Src: /src/glib/gobject/tests/performance/performance.c:986,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - void*
    constantsTouched: []
    func_position:
      end: 987
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 987
    functionName: test_notify_by_pspec_run
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_object_notify_by_pspec
    linkageType: ''
    returnType: void
    signature: 'static void test_notify_by_pspec_run (PerformanceTest *test, void
      *_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gobject/tests/performance/performance.c:724,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/performance/performance.c:725,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - test
    argTypes:
    - PerformanceTest*
    constantsTouched: []
    func_position:
      end: 728
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 728
    functionName: test_type_check_setup
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_new0
    - g_object_new
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer test_type_check_setup (PerformanceTest *test) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gobject/tests/performance/performance.c:1285,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/performance/performance.c:1286,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/performance/performance.c:1291,1
    - Dst: g_str_equal
      Src: /src/glib/gobject/tests/performance/performance.c:1288,1
    - Dst: g_object_add_toggle_ref
      Src: /src/glib/gobject/tests/performance/performance.c:1290,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - test
    argTypes:
    - PerformanceTest*
    constantsTouched: []
    func_position:
      end: 1296
      start: 1280
    functionDepth: 0
    functionLinenumber: 1280
    functionLinenumberEnd: 1296
    functionName: test_refcount_setup
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_object_new
    - g_object_add_toggle_ref
    - g_new0
    - g_str_equal
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer test_refcount_setup (PerformanceTest *test) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test
    - data
    argTypes:
    - PerformanceTest*
    - gpointer
    constantsTouched: []
    func_position:
      end: 860
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 860
    functionName: test_emission_unhandled_finish
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_emission_unhandled_finish (PerformanceTest *test,
      gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gobject/tests/performance/performance.c:1168,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - test
    - _data
    - time
    argTypes:
    - PerformanceTest*
    - void*
    - double
    constantsTouched: []
    func_position:
      end: 1170
      start: 1161
    functionDepth: 0
    functionLinenumber: 1161
    functionLinenumberEnd: 1170
    functionName: test_set_print_result
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void test_set_print_result (PerformanceTest *test, void *_data,
      double time) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gobject/tests/performance/performance.c:1357,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - test
    - _data
    - time
    argTypes:
    - PerformanceTest*
    - gpointer
    - double
    constantsTouched: []
    func_position:
      end: 1359
      start: 1351
    functionDepth: 0
    functionLinenumber: 1351
    functionLinenumberEnd: 1359
    functionName: test_refcount_print_result
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_print
    linkageType: ''
    returnType: void
    signature: "static void test_refcount_print_result (PerformanceTest *test,\t\t\
      \t gpointer _data,\t\t\t double time) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gobject/tests/performance/performance.c:869,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - test
    - _data
    - time
    argTypes:
    - PerformanceTest*
    - gpointer
    - double
    constantsTouched: []
    func_position:
      end: 871
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 871
    functionName: test_emission_unhandled_print_result
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void test_emission_unhandled_print_result (PerformanceTest
      *test, gpointer _data, double time) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/performance/performance.c:1178,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/performance/performance.c:1180,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/performance/performance.c:1179,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - void*
    constantsTouched: []
    func_position:
      end: 1181
      start: 1172
    functionDepth: 0
    functionLinenumber: 1172
    functionLinenumberEnd: 1181
    functionName: test_set_teardown
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_free
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_set_teardown (PerformanceTest *test, void *_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_remove_toggle_ref
      Src: /src/glib/gobject/tests/performance/performance.c:1368,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/performance/performance.c:1370,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/performance/performance.c:1372,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1373
      start: 1361
    functionDepth: 0
    functionLinenumber: 1361
    functionLinenumberEnd: 1373
    functionName: test_refcount_teardown
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_free
    - g_object_remove_toggle_ref
    linkageType: ''
    returnType: void
    signature: "static void test_refcount_teardown (PerformanceTest *test,\t\t\t gpointer\
      \ _data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/performance/performance.c:549,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - gpointer
    constantsTouched: []
    func_position:
      end: 550
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 550
    functionName: test_construction_run
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: void
    signature: "static void test_construction_run (PerformanceTest *test,\t\t gpointer\
      \ _data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gobject/tests/performance/performance.c:704,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - test
    - _data
    - time
    argTypes:
    - PerformanceTest*
    - gpointer
    - double
    constantsTouched: []
    func_position:
      end: 706
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 706
    functionName: test_finalization_print_result
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_print
    linkageType: ''
    returnType: void
    signature: "static void test_finalization_print_result (PerformanceTest *test,\t\
      \t\t\tgpointer _data,\t\t\t\tdouble time) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_iface1_get_type
      Src: /src/glib/gobject/tests/performance/performance.c:754,1
    - Dst: test_iface3_get_type
      Src: /src/glib/gobject/tests/performance/performance.c:756,1
    - Dst: test_iface2_get_type
      Src: /src/glib/gobject/tests/performance/performance.c:755,1
    - Dst: test_iface5_get_type
      Src: /src/glib/gobject/tests/performance/performance.c:758,1
    - Dst: test_iface4_get_type
      Src: /src/glib/gobject/tests/performance/performance.c:757,1
    - Dst: my_type_check_instance_is_a
      Src: /src/glib/gobject/tests/performance/performance.c:765,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - gpointer
    constantsTouched: []
    func_position:
      end: 769
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 769
    functionName: test_type_check_run
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - test_iface2_get_type
    - test_iface1_get_type
    - test_iface5_get_type
    - test_iface4_get_type
    - my_type_check_instance_is_a
    - test_iface3_get_type
    linkageType: ''
    returnType: void
    signature: "static void test_type_check_run (PerformanceTest *test,\t\t gpointer\
      \ _data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - test
    - _data
    - factor
    argTypes:
    - PerformanceTest*
    - void*
    - double
    constantsTouched: []
    func_position:
      end: 1011
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1011
    functionName: test_notify_unhandled_init
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_notify_unhandled_init (PerformanceTest *test, void
      *_data, double factor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/gobject/tests/performance/performance.c:562,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - gpointer
    constantsTouched: []
    func_position:
      end: 563
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 563
    functionName: test_construction_run1
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_slice_new0
    linkageType: ''
    returnType: void
    signature: "static void test_construction_run1 (PerformanceTest *test,\t\t gpointer\
      \ _data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test
    - data
    argTypes:
    - PerformanceTest*
    - gpointer
    constantsTouched: []
    func_position:
      end: 775
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 775
    functionName: test_type_check_finish
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void test_type_check_finish (PerformanceTest *test,\t\t\tgpointer\
      \ data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - test
    - data
    argTypes:
    - PerformanceTest*
    - void*
    constantsTouched: []
    func_position:
      end: 1017
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1017
    functionName: test_notify_unhandled_finish
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_notify_unhandled_finish (PerformanceTest *test, void
      *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_renew
      Src: /src/glib/gobject/tests/performance/performance.c:656,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/performance/performance.c:661,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - test
    - _data
    - count_factor
    argTypes:
    - PerformanceTest*
    - gpointer
    - double
    constantsTouched: []
    func_position:
      end: 663
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 663
    functionName: test_finalization_init
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_renew
    - g_object_new
    linkageType: ''
    returnType: void
    signature: "static void test_finalization_init (PerformanceTest *test,\t\t\tgpointer\
      \ _data,\t\t\tdouble count_factor) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gobject/tests/performance/performance.c:783,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - test
    - _data
    - time
    argTypes:
    - PerformanceTest*
    - gpointer
    - double
    constantsTouched: []
    func_position:
      end: 785
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 785
    functionName: test_type_check_print_result
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_print
    linkageType: ''
    returnType: void
    signature: "static void test_type_check_print_result (PerformanceTest *test,\t\
      \t\t gpointer _data,\t\t\t double time) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/performance/performance.c:676,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - gpointer
    constantsTouched: []
    func_position:
      end: 678
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 678
    functionName: test_finalization_run
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: "static void test_finalization_run (PerformanceTest *test,\t\t gpointer\
      \ _data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/performance/performance.c:793,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/performance/performance.c:794,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - gpointer
    constantsTouched: []
    func_position:
      end: 795
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 795
    functionName: test_type_check_teardown
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_free
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: "static void test_type_check_teardown (PerformanceTest *test,\t\t\t\
      \ gpointer _data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - test
    - _data
    - factor
    argTypes:
    - PerformanceTest*
    - gpointer
    - double
    constantsTouched: []
    func_position:
      end: 738
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 738
    functionName: test_type_check_init
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void test_type_check_init (PerformanceTest *test,\t\t gpointer\
      \ _data,\t\t double factor) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gobject/tests/performance/performance.c:998,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/performance/performance.c:999,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 993
    functionDepth: 0
    functionLinenumber: 993
    functionLinenumberEnd: 1001
    functionName: test_notify_unhandled_setup
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_new0
    - g_object_new
    linkageType: ''
    returnType: void*
    signature: 'static void *test_notify_unhandled_setup (PerformanceTest *test) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - g_iface
    - iface_data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 491
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 491
    functionName: complex_test_iface_init
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void complex_test_iface_init (gpointer g_iface,\t\t\t gpointer\
      \ iface_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/performance/performance.c:576,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - gpointer
    constantsTouched: []
    func_position:
      end: 577
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 577
    functionName: test_complex_construction_run
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: void
    signature: 'static void test_complex_construction_run (PerformanceTest *test,
      gpointer _data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - test
    - _data
    - factor
    argTypes:
    - PerformanceTest*
    - gpointer
    - double
    constantsTouched: []
    func_position:
      end: 1306
      start: 1298
    functionDepth: 0
    functionLinenumber: 1298
    functionLinenumberEnd: 1306
    functionName: test_refcount_init
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_refcount_init (PerformanceTest *test, gpointer _data,
      double factor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - complex_object
    argTypes:
    - ComplexObject*
    constantsTouched: []
    func_position:
      end: 497
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 497
    functionName: complex_object_init
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void complex_object_init (ComplexObject *complex_object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/performance/performance.c:592,1
    - Dst: g_strdup
      Src: /src/glib/gobject/tests/performance/performance.c:594,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - gpointer
    constantsTouched: []
    func_position:
      end: 597
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 597
    functionName: test_complex_construction_run1
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_object_new
    linkageType: ''
    returnType: void
    signature: 'static void test_complex_construction_run1 (PerformanceTest *test,
      gpointer _data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_ref
      Src: /src/glib/gobject/tests/performance/performance.c:1317,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/performance/performance.c:1320,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/tests/performance/performance.c:1318,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/tests/performance/performance.c:1319,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/performance/performance.c:1321,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/tests/performance/performance.c:1323,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/tests/performance/performance.c:1324,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/performance/performance.c:1325,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/performance/performance.c:1326,1
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/performance/performance.c:1327,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1329
      start: 1308
    functionDepth: 0
    functionLinenumber: 1308
    functionLinenumberEnd: 1329
    functionName: test_refcount_run
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_object_ref
    linkageType: ''
    returnType: void
    signature: 'static void test_refcount_run (PerformanceTest *test, gpointer _data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - obj
    - data
    argTypes:
    - ComplexObject*
    - gpointer
    constantsTouched: []
    func_position:
      end: 890
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 890
    functionName: test_emission_handled_handler
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_emission_handled_handler (ComplexObject *obj, gpointer
      data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gobject/tests/performance/performance.c:879,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/performance/performance.c:880,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - gpointer
    constantsTouched: []
    func_position:
      end: 881
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 881
    functionName: test_emission_unhandled_teardown
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_free
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_emission_unhandled_teardown (PerformanceTest *test,
      gpointer _data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_get
      Src: /src/glib/gobject/tests/performance/performance.c:1203,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 2
    argNames:
    - test
    - _data
    argTypes:
    - PerformanceTest*
    - void*
    constantsTouched: []
    func_position:
      end: 1204
      start: 1194
    functionDepth: 0
    functionLinenumber: 1194
    functionLinenumberEnd: 1204
    functionName: test_get_run
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_object_get
    linkageType: ''
    returnType: void
    signature: 'static void test_get_run (PerformanceTest *test, void *_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gobject/tests/performance/performance.c:1211,1
    - Dst: g_object_new
      Src: /src/glib/gobject/tests/performance/performance.c:1212,1
    - Dst: g_object_ref
      Src: /src/glib/gobject/tests/performance/performance.c:1218,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1206
    functionDepth: 0
    functionLinenumber: 1206
    functionLinenumberEnd: 1221
    functionName: test_get_setup
    functionSourceFile: /src/glib/gobject/tests/performance/performance.c
    functionUses: []
    functionsReached:
    - g_new0
    - g_object_new
    - g_object_ref
    linkageType: ''
    returnType: void*
    signature: 'static void *test_get_setup (PerformanceTest *test) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:31,1
    - Dst: g_type_add_interface_static
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:39,1
    - Dst: va_arg
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:36,1
    - Dst: va_end
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:41,1
    - Dst: g_type_register_static_simple
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:32,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - name
    - parent
    - '...'
    argTypes:
    - char*
    - GType
    constantsTouched: []
    func_position:
      end: 44
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 44
    functionName: simple_register_class
    functionSourceFile: /src/glib/gobject/tests/performance/performance-threaded.c
    functionUses: []
    functionsReached:
    - g_type_add_interface_static
    - va_arg
    - g_type_register_static_simple
    - va_end
    - va_start
    linkageType: ''
    returnType: GType
    signature: 'static GType simple_register_class (const char *name, GType parent,
      ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:80,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:81,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:80,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:82,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:81,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:82,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:83,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:83,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:84,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:84,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:85,1
    - Dst: g_type_is_a
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 87
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 87
    functionName: liststore_is_a_run
    functionSourceFile: /src/glib/gobject/tests/performance/performance-threaded.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_type_is_a
    linkageType: ''
    returnType: void
    signature: 'static void liststore_is_a_run (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_type_interface_peek
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:104,1
    - Dst: g_type_interface_peek
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:108,1
    - Dst: g_type_interface_peek
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:106,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:107,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:105,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:109,1
    - Dst: g_type_interface_peek
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:110,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:111,1
    - Dst: g_type_interface_peek
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:112,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - klass
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 115
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 115
    functionName: liststore_interface_peek_run
    functionSourceFile: /src/glib/gobject/tests/performance/performance-threaded.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_type_interface_peek
    linkageType: ''
    returnType: void
    signature: 'static void liststore_interface_peek_run (gpointer klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: no_setup
    functionSourceFile: /src/glib/gobject/tests/performance/performance-threaded.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer no_setup (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: no_teardown
    functionSourceFile: /src/glib/gobject/tests/performance/performance-threaded.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void no_teardown (gpointer data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 263
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 263
    functionName: compare_doubles
    functionSourceFile: /src/glib/gobject/tests/performance/performance-threaded.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int compare_doubles (gconstpointer a, gconstpointer b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:292,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:304,1
    - Dst: g_thread_new
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:303,1
    - Dst: g_new
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:301,1
    - Dst: run_test_thread
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:295,1
    - Dst: g_array_new
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:307,1
    - Dst: g_thread_join
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:309,1
    - Dst: g_array_append_vals
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:310,1
    - Dst: g_array_free
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:311,1
    - Dst: g_free
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:313,1
    - Dst: print_results
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:316,1
    - Dst: g_array_free
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:317,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - test
    argTypes:
    - PerformanceTest*
    constantsTouched: []
    func_position:
      end: 318
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 318
    functionName: run_test
    functionSourceFile: /src/glib/gobject/tests/performance/performance-threaded.c
    functionUses: []
    functionsReached:
    - g_array_free
    - g_new
    - run_test_thread
    - g_assert
    - g_thread_new
    - g_array_new
    - g_print
    - g_thread_join
    - g_array_append_vals
    - g_free
    - print_results
    linkageType: ''
    returnType: void
    signature: 'static void run_test (const PerformanceTest *test) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_types
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:92,1
    - Dst: g_type_class_ref
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: liststore_get_class
    functionSourceFile: /src/glib/gobject/tests/performance/performance-threaded.c
    functionUses: []
    functionsReached:
    - g_type_class_ref
    - register_types
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer liststore_get_class (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:55,1
    - Dst: simple_register_class
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:58,1
    - Dst: simple_register_class
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:59,1
    - Dst: simple_register_class
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:57,1
    - Dst: simple_register_class
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:60,1
    - Dst: simple_register_class
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:61,1
    - Dst: simple_register_class
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:62,1
    - Dst: simple_register_class
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:64,1
    - Dst: g_once_init_leave
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 71
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 71
    functionName: register_types
    functionSourceFile: /src/glib/gobject/tests/performance/performance-threaded.c
    functionUses: []
    functionsReached:
    - g_once_init_leave
    - g_once_init_enter
    - simple_register_class
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer register_types (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_type_interface_peek
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:125,1
    - Dst: g_type_interface_peek
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:129,1
    - Dst: g_type_interface_peek
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:127,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:126,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:128,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:130,1
    - Dst: g_type_interface_peek
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:131,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:132,1
    - Dst: g_type_interface_peek
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:133,1
    - Dst: g_assert
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - klass
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 136
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 136
    functionName: liststore_interface_peek_same_run
    functionSourceFile: /src/glib/gobject/tests/performance/performance-threaded.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_type_interface_peek
    linkageType: ''
    returnType: void
    signature: 'static void liststore_interface_peek_same_run (gpointer klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: no_run
    functionSourceFile: /src/glib/gobject/tests/performance/performance-threaded.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void no_run (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: no_reset
    functionSourceFile: /src/glib/gobject/tests/performance/performance-threaded.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void no_reset (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_timer_new
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:224,1
    - Dst: g_timer_new
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:228,1
    - Dst: g_timer_start
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:225,1
    - Dst: g_array_new
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:230,1
    - Dst: g_timer_reset
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:235,1
    - Dst: g_timer_start
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:236,1
    - Dst: g_timer_stop
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:238,1
    - Dst: g_timer_elapsed
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:239,1
    - Dst: g_array_append_val
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:240,1
    - Dst: g_timer_destroy
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:247,1
    - Dst: g_timer_elapsed
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:243,1
    - Dst: g_timer_destroy
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:248,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 251
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 251
    functionName: run_test_thread
    functionSourceFile: /src/glib/gobject/tests/performance/performance-threaded.c
    functionUses: []
    functionsReached:
    - g_timer_reset
    - g_array_append_val
    - g_timer_start
    - g_timer_elapsed
    - g_timer_stop
    - g_array_new
    - g_timer_new
    - g_timer_destroy
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer run_test_thread (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_array_sort
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:271,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:276,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:280,1
    - Dst: g_array_index
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:275,1
    - Dst: g_print
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:284,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - array
    argTypes:
    - GArray*
    constantsTouched: []
    func_position:
      end: 285
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 285
    functionName: print_results
    functionSourceFile: /src/glib/gobject/tests/performance/performance-threaded.c
    functionUses: []
    functionsReached:
    - g_array_sort
    - g_array_index
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void print_results (GArray *array) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:324,1
    - Dst: strcmp
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:326,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 330
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 330
    functionName: find_test
    functionSourceFile: /src/glib/gobject/tests/performance/performance-threaded.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - strcmp
    linkageType: ''
    returnType: PerformanceTest*
    signature: 'static const PerformanceTest *find_test (const char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:341,1
    - Dst: g_printerr
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:345,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:351,1
    - Dst: g_option_context_parse
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:343,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:342,1
    - Dst: g_print
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:353,1
    - Dst: find_test
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:363,1
    - Dst: run_test
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:365,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:370,1
    - Dst: run_test
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:371,1
    - Dst: g_option_context_free
      Src: /src/glib/gobject/tests/performance/performance-threaded.c:374,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 376
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 376
    functionName: main
    functionSourceFile: /src/glib/gobject/tests/performance/performance-threaded.c
    functionUses: []
    functionsReached:
    - g_printerr
    - g_option_context_free
    - run_test
    - g_option_context_new
    - G_N_ELEMENTS
    - find_test
    - g_print
    - g_option_context_parse
    - g_option_context_add_main_entries
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_warning
      Src: /src/glib/gthread/gthread-impl.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - init
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: g_thread_init
    functionSourceFile: /src/glib/gthread/gthread-impl.c
    functionUses: []
    functionsReached:
    - g_warning
    linkageType: ''
    returnType: void
    signature: 'void g_thread_init (gpointer init) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gthread/gthread-impl.c:47,1
    - Dst: g_warning
      Src: /src/glib/gthread/gthread-impl.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - vtable
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: g_thread_init_with_errorcheck_mutexes
    functionSourceFile: /src/glib/gthread/gthread-impl.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_warning
    linkageType: ''
    returnType: void
    signature: 'void g_thread_init_with_errorcheck_mutexes (gpointer vtable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_init
      Src: /src/glib/gthread/tests/init.c:42,1
    - Dst: g_thread_init
      Src: /src/glib/gthread/tests/init.c:47,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gthread/tests/init.c:48,1
    - Dst: g_test_expect_message
      Src: /src/glib/gthread/tests/init.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 49
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 49
    functionName: test_thread_deprecated_init
    functionSourceFile: /src/glib/gthread/tests/init.c
    functionUses: []
    functionsReached:
    - g_test_expect_message
    - g_test_assert_expected_messages
    - g_thread_init
    linkageType: ''
    returnType: G_GNUC_BEGIN_IGNORE_DEPRECATIONS
    signature: 'G_GNUC_BEGIN_IGNORE_DEPRECATIONS static void test_thread_deprecated_init
      (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_expect_message
      Src: /src/glib/gthread/tests/init.c:55,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gthread/tests/init.c:58,1
    - Dst: g_thread_init_with_errorcheck_mutexes
      Src: /src/glib/gthread/tests/init.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: test_thread_deprecated_init_with_errorcheck_mutexes
    functionSourceFile: /src/glib/gthread/tests/init.c
    functionUses: []
    functionsReached:
    - g_test_expect_message
    - g_thread_init_with_errorcheck_mutexes
    - g_test_assert_expected_messages
    linkageType: ''
    returnType: void
    signature: 'static void test_thread_deprecated_init_with_errorcheck_mutexes (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/glib/gthread/tests/init.c:65,1
    - Dst: g_test_run
      Src: /src/glib/gthread/tests/init.c:71,1
    - Dst: g_test_init
      Src: /src/glib/gthread/tests/init.c:66,1
    - Dst: g_test_add_func
      Src: /src/glib/gthread/tests/init.c:68,1
    - Dst: g_test_add_func
      Src: /src/glib/gthread/tests/init.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 72
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 72
    functionName: main
    functionSourceFile: /src/glib/gthread/tests/init.c
    functionUses: []
    functionsReached:
    - setlocale
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_GINT64_CONSTANT
      Src: /src/glib/glib/gdatetime.c:762,1
    - Dst: g_date_time_alloc
      Src: /src/glib/glib/gdatetime.c:765,1
    - Dst: g_time_zone_find_interval
      Src: /src/glib/glib/gdatetime.c:766,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/gdatetime.c:769,1
    - Dst: INSTANT_TO_UNIX
      Src: /src/glib/glib/gdatetime.c:768,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/gdatetime.c:779,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 784
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 784
    functionName: g_date_time_from_instant
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_alloc
    - g_date_time_unref
    - g_time_zone_get_offset
    - G_GINT64_CONSTANT
    - INSTANT_TO_UNIX
    - g_time_zone_find_interval
    linkageType: ''
    returnType: GDateTime*
    signature: 'static GDateTime *g_date_time_from_instant (GTimeZone *tz, gint64
      instant) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_new_from_unix_local_usec
      Src: /src/glib/glib/gdatetime.c:1038,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1031
    functionDepth: 0
    functionLinenumber: 1031
    functionLinenumberEnd: 1039
    functionName: g_date_time_new_from_unix_local
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_new_from_unix_local_usec
    linkageType: ''
    returnType: GDateTime*
    signature: 'GDateTime *g_date_time_new_from_unix_local (gint64 t) '
  - BBCount: 86
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/glib/gdatetime.c:3316,1
    - Dst: g_date_time_get_year
      Src: /src/glib/glib/gdatetime.c:3392,1
    - Dst: format_number
      Src: /src/glib/glib/gdatetime.c:3417,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gdatetime.c:3423,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gdatetime.c:3545,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gdatetime.c:3548,1
    - Dst: g_date_time_get_year
      Src: /src/glib/glib/gdatetime.c:3598,1
    - Dst: MONTH_ABBR_WITH_DAY
      Src: /src/glib/glib/gdatetime.c:3422,1
    - Dst: g_date_time_get_day_of_month
      Src: /src/glib/glib/gdatetime.c:3396,1
    - Dst: format_number
      Src: /src/glib/glib/gdatetime.c:3399,1
    - Dst: format_number
      Src: /src/glib/glib/gdatetime.c:3413,1
    - Dst: format_number
      Src: /src/glib/glib/gdatetime.c:3443,1
    - Dst: g_date_time_format_locale
      Src: /src/glib/glib/gdatetime.c:3487,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/gdatetime.c:3452,1
    - Dst: format_number
      Src: /src/glib/glib/gdatetime.c:3435,1
    - Dst: string_append
      Src: /src/glib/glib/gdatetime.c:3430,1
    - Dst: WEEKDAY_ABBR
      Src: /src/glib/glib/gdatetime.c:3315,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gdatetime.c:3327,1
    - Dst: MONTH_FULL_WITH_DAY
      Src: /src/glib/glib/gdatetime.c:3352,1
    - Dst: date_time_lookup_era
      Src: /src/glib/glib/gdatetime.c:3382,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gdatetime.c:3498,1
    - Dst: format_number
      Src: /src/glib/glib/gdatetime.c:3455,1
    - Dst: g_utf8_strdown
      Src: /src/glib/glib/gdatetime.c:3611,1
    - Dst: format_ampm
      Src: /src/glib/glib/gdatetime.c:3472,1
    - Dst: format_number
      Src: /src/glib/glib/gdatetime.c:3514,1
    - Dst: g_date_time_get_day_of_week
      Src: /src/glib/glib/gdatetime.c:3523,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gdatetime.c:3613,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gdatetime.c:3311,1
    - Dst: WEEKDAY_FULL
      Src: /src/glib/glib/gdatetime.c:3326,1
    - Dst: g_date_time_format_locale
      Src: /src/glib/glib/gdatetime.c:3374,1
    - Dst: format_number
      Src: /src/glib/glib/gdatetime.c:3391,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gdatetime.c:3463,1
    - Dst: g_date_time_get_week_numbering_year
      Src: /src/glib/glib/gdatetime.c:3418,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gdatetime.c:3505,1
    - Dst: g_date_time_format_locale
      Src: /src/glib/glib/gdatetime.c:3535,1
    - Dst: date_time_lookup_era
      Src: /src/glib/glib/gdatetime.c:3558,1
    - Dst: g_date_time_get_year
      Src: /src/glib/glib/gdatetime.c:3561,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gdatetime.c:3353,1
    - Dst: g_date_time_get_day_of_month
      Src: /src/glib/glib/gdatetime.c:3400,1
    - Dst: g_date_time_get_day_of_year
      Src: /src/glib/glib/gdatetime.c:3444,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gdatetime.c:3473,1
    - Dst: MONTH_ABBR_STANDALONE
      Src: /src/glib/glib/gdatetime.c:3421,1
    - Dst: format_number
      Src: /src/glib/glib/gdatetime.c:3522,1
    - Dst: format_number
      Src: /src/glib/glib/gdatetime.c:3501,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/gdatetime.c:3436,1
    - Dst: format_number
      Src: /src/glib/glib/gdatetime.c:3459,1
    - Dst: g_date_time_to_unix
      Src: /src/glib/glib/gdatetime.c:3498,1
    - Dst: MONTH_FULL_STANDALONE
      Src: /src/glib/glib/gdatetime.c:3351,1
    - Dst: MONTH_ABBR_WITH_DAY
      Src: /src/glib/glib/gdatetime.c:3338,1
    - Dst: g_date_time_get_month
      Src: /src/glib/glib/gdatetime.c:3456,1
    - Dst: g_date_time_format_locale
      Src: /src/glib/glib/gdatetime.c:3550,1
    - Dst: _g_era_description_segment_unref
      Src: /src/glib/glib/gdatetime.c:3588,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/gdatetime.c:3603,1
    - Dst: format_number
      Src: /src/glib/glib/gdatetime.c:3447,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gdatetime.c:3407,1
    - Dst: g_date_time_get_year
      Src: /src/glib/glib/gdatetime.c:3408,1
    - Dst: g_date_time_get_day_of_week
      Src: /src/glib/glib/gdatetime.c:3515,1
    - Dst: format_number
      Src: /src/glib/glib/gdatetime.c:3518,1
    - Dst: g_date_time_get_year
      Src: /src/glib/glib/gdatetime.c:3577,1
    - Dst: _g_era_description_segment_unref
      Src: /src/glib/glib/gdatetime.c:3592,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gdatetime.c:3403,1
    - Dst: strcspn
      Src: /src/glib/glib/gdatetime.c:3290,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gdatetime.c:3339,1
    - Dst: string_append
      Src: /src/glib/glib/gdatetime.c:3360,1
    - Dst: g_date_time_get_month
      Src: /src/glib/glib/gdatetime.c:3409,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/gdatetime.c:3509,1
    - Dst: format_number
      Src: /src/glib/glib/gdatetime.c:3576,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gdatetime.c:3610,1
    - Dst: g_date_time_get_second
      Src: /src/glib/glib/gdatetime.c:3502,1
    - Dst: g_date_time_get_minute
      Src: /src/glib/glib/gdatetime.c:3460,1
    - Dst: MONTH_ABBR_STANDALONE
      Src: /src/glib/glib/gdatetime.c:3337,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gdatetime.c:3616,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gdatetime.c:3493,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/gdatetime.c:3448,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gdatetime.c:3508,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/gdatetime.c:3310,1
    - Dst: string_append
      Src: /src/glib/glib/gdatetime.c:3346,1
    - Dst: _g_era_description_segment_unref
      Src: /src/glib/glib/gdatetime.c:3386,1
    - Dst: g_date_time_get_day_of_month
      Src: /src/glib/glib/gdatetime.c:3410,1
    - Dst: format_ampm
      Src: /src/glib/glib/gdatetime.c:3478,1
    - Dst: g_date_time_get_week_of_year
      Src: /src/glib/glib/gdatetime.c:3519,1
    - Dst: g_date_time_get_timezone_abbreviation
      Src: /src/glib/glib/gdatetime.c:3609,1
    - Dst: g_assert
      Src: /src/glib/glib/gdatetime.c:3298,1
    - Dst: g_string_append
      Src: /src/glib/glib/gdatetime.c:3385,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/gdatetime.c:3440,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gdatetime.c:3485,1
    - Dst: format_number
      Src: /src/glib/glib/gdatetime.c:3597,1
    - Dst: format_z
      Src: /src/glib/glib/gdatetime.c:3604,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gdatetime.c:3479,1
    - Dst: format_number
      Src: /src/glib/glib/gdatetime.c:3395,1
    - Dst: g_date_time_get_minute
      Src: /src/glib/glib/gdatetime.c:3510,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/gdatetime.c:3494,1
    - Dst: format_number
      Src: /src/glib/glib/gdatetime.c:3439,1
    - Dst: date_time_lookup_era
      Src: /src/glib/glib/gdatetime.c:3582,1
    - Dst: format_number
      Src: /src/glib/glib/gdatetime.c:3451,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gdatetime.c:3292,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gdatetime.c:3369,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gdatetime.c:3372,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gdatetime.c:3530,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gdatetime.c:3533,1
    - Dst: g_date_time_get_year
      Src: /src/glib/glib/gdatetime.c:3566,1
    - Dst: _g_era_description_segment_unref
      Src: /src/glib/glib/gdatetime.c:3571,1
    - Dst: format_number
      Src: /src/glib/glib/gdatetime.c:3569,1
    - Dst: g_date_time_get_minute
      Src: /src/glib/glib/gdatetime.c:3495,1
    - Dst: g_date_time_get_second
      Src: /src/glib/glib/gdatetime.c:3511,1
    - Dst: string_append
      Src: /src/glib/glib/gdatetime.c:3321,1
    - Dst: string_append
      Src: /src/glib/glib/gdatetime.c:3332,1
    - Dst: g_date_time_get_week_numbering_year
      Src: /src/glib/glib/gdatetime.c:3414,1
    - Dst: g_date_time_format_utf8
      Src: /src/glib/glib/gdatetime.c:3585,1
    - Dst: g_string_append
      Src: /src/glib/glib/gdatetime.c:3612,1
    CyclomaticComplexity: 132
    EdgeCount: 132
    ICount: 251
    argCount: 4
    argNames:
    - datetime
    - utf8_format
    - outstr
    - locale_is_utf8
    argTypes:
    - GDateTime*
    - gchar*
    - GString*
    - gboolean
    constantsTouched: []
    func_position:
      end: 3650
      start: 3268
    functionDepth: 0
    functionLinenumber: 3268
    functionLinenumberEnd: 3650
    functionName: g_date_time_format_utf8
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_utf8_next_char
    - string_append
    - g_date_time_get_year
    - g_date_time_get_timezone_abbreviation
    - g_date_time_get_day_of_week
    - g_date_time_get_month
    - format_number
    - g_date_time_get_week_numbering_year
    - g_date_time_get_hour
    - WEEKDAY_FULL
    - g_date_time_to_unix
    - g_date_time_get_second
    - g_clear_pointer
    - strcspn
    - g_date_time_get_minute
    - _g_era_description_segment_unref
    - g_date_time_format_utf8
    - g_utf8_strdown
    - g_string_append_len
    - g_date_time_get_week_of_year
    - g_date_time_get_utc_offset
    - g_strcmp0
    - MONTH_FULL_STANDALONE
    - format_z
    - g_date_time_format_locale
    - g_string_append_printf
    - g_string_append
    - g_date_time_get_day_of_year
    - date_time_lookup_era
    - WEEKDAY_ABBR
    - format_ampm
    - g_assert
    - g_string_append_c
    - g_utf8_get_char
    - MONTH_ABBR_WITH_DAY
    - g_date_time_get_day_of_month
    - MONTH_FULL_WITH_DAY
    - MONTH_ABBR_STANDALONE
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_date_time_format_utf8 (GDateTime *datetime,\t\t\t\
      \ const gchar *utf8_format,\t\t\t GString *outstr,\t\t\t gboolean locale_is_utf8) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/gdatetime.c:740,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - datetime
    argTypes:
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 744
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 744
    functionName: g_date_time_to_instant
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_time_zone_get_offset
    linkageType: ''
    returnType: gint64
    signature: 'static gint64 g_date_time_to_instant (GDateTime *datetime) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdatetime.c:711,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdatetime.c:712,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gdatetime.c:717,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/gdatetime.c:716,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/glib/gdatetime.c:714,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - datetime
    argTypes:
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 719
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 719
    functionName: g_date_time_unref
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_time_zone_unref
    - g_atomic_int_dec_and_test
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_date_time_unref (GDateTime *datetime) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNIX_TO_INSTANT_IS_VALID
      Src: /src/glib/glib/gdatetime.c:891,1
    - Dst: g_date_time_from_instant
      Src: /src/glib/glib/gdatetime.c:894,1
    - Dst: UNIX_TO_INSTANT
      Src: /src/glib/glib/gdatetime.c:895,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 896
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 896
    functionName: g_date_time_new_from_timeval
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_from_instant
    - UNIX_TO_INSTANT_IS_VALID
    - UNIX_TO_INSTANT
    linkageType: ''
    returnType: G_GNUC_BEGIN_IGNORE_DEPRECATIONS*
    signature: 'G_GNUC_BEGIN_IGNORE_DEPRECATIONS /*< internal > * g_date_time_new_from_timeval:
      * @tz: a #GTimeZone * @tv: a #GTimeVal * * Creates a #GDateTime corresponding
      to the given #GTimeVal @tv in the * given time zone @tz. * * The time contained
      in a #GTimeVal is always stored in the form of * seconds elapsed since 1970-01-01
      00:00:00 UTC, regardless of the * given time zone. * * This call can fail (returning
      %NULL) if @tv represents a time outside * of the supported range of #GDateTime.
      * * You should release the return value by calling g_date_time_unref() * when
      you are done with it. * * Returns: a new #GDateTime, or %NULL * * Since: 2.26
      **/ static GDateTime *g_date_time_new_from_timeval (GTimeZone *tz, const GTimeVal
      *tv) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 43
    argCount: 3
    argNames:
    - text
    - length
    - value
    argTypes:
    - gchar*
    - gsize
    - gdouble*
    constantsTouched: []
    func_position:
      end: 1273
      start: 1232
    functionDepth: 0
    functionLinenumber: 1232
    functionLinenumberEnd: 1273
    functionName: get_iso8601_seconds
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean get_iso8601_seconds (const gchar *text, gsize length,
      gdouble *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:2677,1
    - Dst: INSTANT_TO_UNIX
      Src: /src/glib/glib/gdatetime.c:2679,1
    - Dst: g_date_time_to_instant
      Src: /src/glib/glib/gdatetime.c:2679,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - datetime
    - tv
    argTypes:
    - GDateTime*
    - GTimeVal*
    constantsTouched: []
    func_position:
      end: 2683
      start: 2672
    functionDepth: 0
    functionLinenumber: 2672
    functionLinenumberEnd: 2683
    functionName: g_date_time_to_timeval
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - INSTANT_TO_UNIX
    - g_date_time_to_instant
    - g_return_val_if_fail
    linkageType: ''
    returnType: G_GNUC_BEGIN_IGNORE_DEPRECATIONS
    signature: 'G_GNUC_BEGIN_IGNORE_DEPRECATIONS gboolean g_date_time_to_timeval (GDateTime
      *datetime, GTimeVal *tv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GREGORIAN_LEAP
      Src: /src/glib/glib/gdatetime.c:1280,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/gdatetime.c:1283,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1275
    functionDepth: 0
    functionLinenumber: 1275
    functionLinenumberEnd: 1289
    functionName: g_date_time_new_ordinal
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - GREGORIAN_LEAP
    - g_date_time_new
    linkageType: ''
    returnType: GDateTime*
    signature: 'static GDateTime *g_date_time_new_ordinal (GTimeZone *tz, gint year,
      gint ordinal_day, gint hour, gint minute, gdouble seconds) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:2710,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/gdatetime.c:2712,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - datetime
    argTypes:
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 2715
      start: 2684
    functionDepth: 0
    functionLinenumber: 2684
    functionLinenumberEnd: 2715
    functionName: g_date_time_get_utc_offset
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_time_zone_get_offset
    - g_return_val_if_fail
    linkageType: ''
    returnType: G_GNUC_END_IGNORE_DEPRECATIONS
    signature: 'G_GNUC_END_IGNORE_DEPRECATIONS /* Timezone queries {{{1 */ /** * g_date_time_get_utc_offset:
      * @datetime: a #GDateTime * * Determines the offset to UTC in effect at the
      time and in the time * zone of @datetime. * * The offset is the number of microseconds
      that you add to UTC time to * arrive at local time for the time zone (ie: negative
      numbers for time * zones west of GMT, positive numbers for east). * * If @datetime
      represents UTC time, then the offset is always zero. * * Returns: the number
      of microseconds that should be added to UTC to * get the local time * * Since:
      2.26 **/ GTimeSpan g_date_time_get_utc_offset (GDateTime *datetime) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_alloc
      Src: /src/glib/glib/gdatetime.c:846,1
    - Dst: g_date_time_deal_with_date_change
      Src: /src/glib/glib/gdatetime.c:851,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/gdatetime.c:853,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 858
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 858
    functionName: g_date_time_replace_days
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_unref
    - g_date_time_alloc
    - g_date_time_deal_with_date_change
    linkageType: ''
    returnType: GDateTime*
    signature: 'static GDateTime *g_date_time_replace_days (GDateTime *datetime, gint
      days) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_time_zone_new_utc
      Src: /src/glib/glib/gdatetime.c:1757,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/gdatetime.c:1759,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/gdatetime.c:1758,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1762
      start: 1746
    functionDepth: 0
    functionLinenumber: 1746
    functionLinenumberEnd: 1762
    functionName: g_date_time_new_utc
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_time_zone_new_utc
    - g_time_zone_unref
    - g_date_time_new
    linkageType: ''
    returnType: GDateTime*
    signature: 'GDateTime *g_date_time_new_utc (gint year, gint month, gint day, gint
      hour, gint minute, gdouble seconds) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GREGORIAN_LEAP
      Src: /src/glib/glib/gdatetime.c:604,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - year
    - month
    - day
    argTypes:
    - gint
    - gint
    - gint
    constantsTouched: []
    func_position:
      end: 610
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 610
    functionName: ymd_to_days
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - GREGORIAN_LEAP
    linkageType: ''
    returnType: gint
    signature: 'static inline gint ymd_to_days (gint year, gint month, gint day) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:2579,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - datetime
    argTypes:
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 2582
      start: 2576
    functionDepth: 0
    functionLinenumber: 2576
    functionLinenumberEnd: 2582
    functionName: g_date_time_get_microsecond
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gint
    signature: 'gint g_date_time_get_microsecond (GDateTime *datetime) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_get_ymd
      Src: /src/glib/glib/gdatetime.c:620,1
    - Dst: g_date_time_get_year
      Src: /src/glib/glib/gdatetime.c:624,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 85
    argCount: 4
    argNames:
    - datetime
    - week_number
    - day_of_week
    - day_of_year
    argTypes:
    - GDateTime*
    - gint*
    - gint*
    - gint*
    constantsTouched: []
    func_position:
      end: 660
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 660
    functionName: g_date_time_get_week_number
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_get_year
    - g_date_time_get_ymd
    linkageType: ''
    returnType: void
    signature: 'static void g_date_time_get_week_number (GDateTime *datetime, gint
      *week_number, gint *day_of_week, gint *day_of_year) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:2152,1
    - Dst: g_date_time_to_instant
      Src: /src/glib/glib/gdatetime.c:2154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - datetime
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2155
      start: 2149
    functionDepth: 0
    functionLinenumber: 2149
    functionLinenumberEnd: 2155
    functionName: g_date_time_hash
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_to_instant
    - g_return_val_if_fail
    linkageType: ''
    returnType: guint
    signature: 'guint g_date_time_hash (gconstpointer datetime) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:2642,1
    - Dst: g_date_time_to_instant
      Src: /src/glib/glib/gdatetime.c:2644,1
    - Dst: INSTANT_TO_UNIX_USECS
      Src: /src/glib/glib/gdatetime.c:2644,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - datetime
    argTypes:
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 2645
      start: 2639
    functionDepth: 0
    functionLinenumber: 2639
    functionLinenumberEnd: 2645
    functionName: g_date_time_to_unix_usec
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_to_instant
    - g_return_val_if_fail
    - INSTANT_TO_UNIX_USECS
    linkageType: ''
    returnType: gint64
    signature: 'gint64 g_date_time_to_unix_usec (GDateTime *datetime) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:3844,1
    - Dst: g_date_time_format
      Src: /src/glib/glib/gdatetime.c:3852,1
    - Dst: g_free
      Src: /src/glib/glib/gdatetime.c:3854,1
    - Dst: g_string_new
      Src: /src/glib/glib/gdatetime.c:3853,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/gdatetime.c:3858,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gdatetime.c:3862,1
    - Dst: g_date_time_format
      Src: /src/glib/glib/gdatetime.c:3866,1
    - Dst: g_string_append
      Src: /src/glib/glib/gdatetime.c:3867,1
    - Dst: g_free
      Src: /src/glib/glib/gdatetime.c:3868,1
    - Dst: g_string_free
      Src: /src/glib/glib/gdatetime.c:3871,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3872
      start: 3836
    functionDepth: 0
    functionLinenumber: 3836
    functionLinenumberEnd: 3872
    functionName: g_date_time_format_iso8601
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_date_time_format
    - g_string_append_c
    - g_string_free
    - g_date_time_get_utc_offset
    - g_string_new
    - g_free
    - g_string_append
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_date_time_format_iso8601 (GDateTime *datetime) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:1644,1
    - Dst: g_date_time_alloc
      Src: /src/glib/glib/gdatetime.c:1655,1
    - Dst: GREGORIAN_LEAP
      Src: /src/glib/glib/gdatetime.c:1648,1
    - Dst: g_isnan
      Src: /src/glib/glib/gdatetime.c:1651,1
    - Dst: ymd_to_days
      Src: /src/glib/glib/gdatetime.c:1656,1
    - Dst: ymd_to_days
      Src: /src/glib/glib/gdatetime.c:1662,1
    - Dst: g_time_zone_adjust_time
      Src: /src/glib/glib/gdatetime.c:1667,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1688
      start: 1627
    functionDepth: 0
    functionLinenumber: 1627
    functionLinenumberEnd: 1688
    functionName: g_date_time_new
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_date_time_alloc
    - GREGORIAN_LEAP
    - g_time_zone_adjust_time
    - ymd_to_days
    - g_isnan
    linkageType: ''
    returnType: GDateTime*
    signature: 'GDateTime *g_date_time_new (GTimeZone *tz, gint year, gint month,
      gint day, gint hour, gint minute, gdouble seconds) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:1553,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/gdatetime.c:1578,1
    - Dst: parse_iso8601_date
      Src: /src/glib/glib/gdatetime.c:1574,1
    - Dst: parse_iso8601_time
      Src: /src/glib/glib/gdatetime.c:1568,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1580
      start: 1543
    functionDepth: 0
    functionLinenumber: 1543
    functionLinenumberEnd: 1580
    functionName: g_date_time_new_from_iso8601
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_time_zone_unref
    - g_return_val_if_fail
    - parse_iso8601_date
    - parse_iso8601_time
    linkageType: ''
    returnType: GDateTime*
    signature: 'GDateTime *g_date_time_new_from_iso8601 (const gchar *text, GTimeZone
      *default_tz) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:2132,1
    - Dst: g_date_time_to_instant
      Src: /src/glib/glib/gdatetime.c:2136,1
    - Dst: g_date_time_to_instant
      Src: /src/glib/glib/gdatetime.c:2135,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:2133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - end
    - begin
    argTypes:
    - GDateTime*
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 2137
      start: 2128
    functionDepth: 0
    functionLinenumber: 2128
    functionLinenumberEnd: 2137
    functionName: g_date_time_difference
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_to_instant
    - g_return_val_if_fail
    linkageType: ''
    returnType: GTimeSpan
    signature: 'GTimeSpan g_date_time_difference (GDateTime *end, GDateTime *begin) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ABS
      Src: /src/glib/glib/gdatetime.c:2875,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gdatetime.c:2883,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gdatetime.c:2905,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gdatetime.c:2890,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gdatetime.c:2897,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gdatetime.c:2909,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gdatetime.c:2912,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 3
    argNames:
    - outstr
    - offset
    - colons
    argTypes:
    - GString*
    - gint
    - guint
    constantsTouched: []
    func_position:
      end: 2921
      start: 2865
    functionDepth: 0
    functionLinenumber: 2865
    functionLinenumberEnd: 2921
    functionName: format_z
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - ABS
    - g_string_append_printf
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean format_z (GString *outstr, gint offset, guint colons) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:2621,1
    - Dst: g_date_time_to_instant
      Src: /src/glib/glib/gdatetime.c:2623,1
    - Dst: INSTANT_TO_UNIX
      Src: /src/glib/glib/gdatetime.c:2623,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - datetime
    argTypes:
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 2624
      start: 2618
    functionDepth: 0
    functionLinenumber: 2618
    functionLinenumberEnd: 2624
    functionName: g_date_time_to_unix
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - INSTANT_TO_UNIX
    - g_date_time_to_instant
    - g_return_val_if_fail
    linkageType: ''
    returnType: gint64
    signature: 'gint64 g_date_time_to_unix (GDateTime *datetime) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_time_zone_is_dst
      Src: /src/glib/glib/gdatetime.c:816,1
    - Dst: g_time_zone_adjust_time
      Src: /src/glib/glib/gdatetime.c:825,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - datetime
    argTypes:
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 838
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 838
    functionName: g_date_time_deal_with_date_change
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_time_zone_adjust_time
    - g_time_zone_is_dst
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_date_time_deal_with_date_change (GDateTime *datetime) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_time_zone_new_local
      Src: /src/glib/glib/gdatetime.c:1067,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/gdatetime.c:1069,1
    - Dst: g_date_time_new_from_unix
      Src: /src/glib/glib/gdatetime.c:1068,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1061
    functionDepth: 0
    functionLinenumber: 1061
    functionLinenumberEnd: 1072
    functionName: g_date_time_new_from_unix_local_usec
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_time_zone_unref
    - g_date_time_new_from_unix
    - g_time_zone_new_local
    linkageType: ''
    returnType: GDateTime*
    signature: 'GDateTime *g_date_time_new_from_unix_local_usec (gint64 usecs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _g_get_time_charset
      Src: /src/glib/glib/gdatetime.c:3800,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gdatetime.c:3802,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:3805,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gdatetime.c:3801,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:3804,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:3806,1
    - Dst: g_utf8_validate
      Src: /src/glib/glib/gdatetime.c:3806,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gdatetime.c:3808,1
    - Dst: strlen
      Src: /src/glib/glib/gdatetime.c:3808,1
    - Dst: g_date_time_format_utf8
      Src: /src/glib/glib/gdatetime.c:3810,1
    - Dst: g_string_free
      Src: /src/glib/glib/gdatetime.c:3817,1
    - Dst: g_string_free
      Src: /src/glib/glib/gdatetime.c:3813,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3818
      start: 3790
    functionDepth: 0
    functionLinenumber: 3790
    functionLinenumberEnd: 3818
    functionName: g_date_time_format
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_format_utf8
    - g_return_val_if_fail
    - strlen
    - g_string_free
    - g_strcmp0
    - g_string_sized_new
    - g_utf8_validate
    - _g_get_time_charset
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_date_time_format (GDateTime *datetime, const gchar *format) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:296,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:300,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:298,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:304,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:302,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:306,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:308,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:310,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:312,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:314,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:316,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:318,1
    - Dst: g_warning
      Src: /src/glib/glib/gdatetime.c:321,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 325
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 325
    functionName: get_month_name_abbr_standalone
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_warning
    - C_
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *get_month_name_abbr_standalone (gint month) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_time_zone_new_local
      Src: /src/glib/glib/gdatetime.c:2828,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/gdatetime.c:2830,1
    - Dst: g_date_time_to_timezone
      Src: /src/glib/glib/gdatetime.c:2829,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2833
      start: 2822
    functionDepth: 0
    functionLinenumber: 2822
    functionLinenumberEnd: 2833
    functionName: g_date_time_to_local
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_to_timezone
    - g_time_zone_unref
    - g_time_zone_new_local
    linkageType: ''
    returnType: GDateTime*
    signature: 'GDateTime *g_date_time_to_local (GDateTime *datetime) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_format_utf8
      Src: /src/glib/glib/gdatetime.c:3217,1
    - Dst: g_date_time_format_utf8
      Src: /src/glib/glib/gdatetime.c:3223,1
    - Dst: g_free
      Src: /src/glib/glib/gdatetime.c:3225,1
    - Dst: _g_time_locale_to_utf8
      Src: /src/glib/glib/gdatetime.c:3219,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 4
    argNames:
    - datetime
    - locale_format
    - outstr
    - locale_is_utf8
    argTypes:
    - GDateTime*
    - gchar*
    - GString*
    - gboolean
    constantsTouched: []
    func_position:
      end: 3227
      start: 3207
    functionDepth: 0
    functionLinenumber: 3207
    functionLinenumberEnd: 3227
    functionName: g_date_time_format_locale
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_format_utf8
    - g_free
    - _g_time_locale_to_utf8
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_date_time_format_locale (GDateTime *datetime,\t\t\
      \t const gchar *locale_format,\t\t\t GString *outstr,\t\t\t gboolean locale_is_utf8) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:333,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:337,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:335,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:341,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:339,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:343,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:345,1
    - Dst: g_warning
      Src: /src/glib/glib/gdatetime.c:348,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 352
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 352
    functionName: get_weekday_name
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_warning
    - C_
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *get_weekday_name (gint day) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_strup
      Src: /src/glib/glib/gdatetime.c:3242,1
    - Dst: g_utf8_strup
      Src: /src/glib/glib/gdatetime.c:3252,1
    - Dst: _g_time_locale_to_utf8
      Src: /src/glib/glib/gdatetime.c:3247,1
    - Dst: g_free
      Src: /src/glib/glib/gdatetime.c:3253,1
    - Dst: g_string_append
      Src: /src/glib/glib/gdatetime.c:3243,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gdatetime.c:3254,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gdatetime.c:3256,1
    - Dst: g_free
      Src: /src/glib/glib/gdatetime.c:3257,1
    - Dst: g_free
      Src: /src/glib/glib/gdatetime.c:3260,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 4
    argNames:
    - string
    - s
    - do_strup
    - s_is_utf8
    argTypes:
    - GString*
    - gchar*
    - gboolean
    - gboolean
    constantsTouched: []
    func_position:
      end: 3263
      start: 3229
    functionDepth: 0
    functionLinenumber: 3229
    functionLinenumberEnd: 3263
    functionName: string_append
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_utf8_strup
    - g_steal_pointer
    - g_string_append_len
    - _g_time_locale_to_utf8
    - g_free
    - g_string_append
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean string_append (GString *string, const gchar
      *s, gboolean do_strup, gboolean s_is_utf8) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:587,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:590,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 591
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 591
    functionName: get_fallback_ampm
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - C_
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *get_fallback_ampm (gint hour) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:2598,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - datetime
    argTypes:
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 2601
      start: 2595
    functionDepth: 0
    functionLinenumber: 2595
    functionLinenumberEnd: 2601
    functionName: g_date_time_get_seconds
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gdouble
    signature: 'gdouble g_date_time_get_seconds (GDateTime *datetime) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_add
      Src: /src/glib/glib/gdatetime.c:1938,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1939
      start: 1934
    functionDepth: 0
    functionLinenumber: 1934
    functionLinenumberEnd: 1939
    functionName: g_date_time_add_hours
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_add
    linkageType: ''
    returnType: GDateTime*
    signature: 'GDateTime *g_date_time_add_hours (GDateTime *datetime, gint hours) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:2482,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - datetime
    argTypes:
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 2485
      start: 2479
    functionDepth: 0
    functionLinenumber: 2479
    functionLinenumberEnd: 2485
    functionName: g_date_time_get_day_of_week
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gint
    signature: 'gint g_date_time_get_day_of_week (GDateTime *datetime) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_time_zone_new_utc
      Src: /src/glib/glib/gdatetime.c:1004,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/gdatetime.c:1006,1
    - Dst: g_date_time_new_now
      Src: /src/glib/glib/gdatetime.c:1005,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 998
    functionDepth: 0
    functionLinenumber: 998
    functionLinenumberEnd: 1009
    functionName: g_date_time_new_now_utc
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_new_now
    - g_time_zone_new_utc
    - g_time_zone_unref
    linkageType: ''
    returnType: GDateTime*
    signature: 'GDateTime *g_date_time_new_now_utc (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:1891,1
    - Dst: g_date_time_add_days
      Src: /src/glib/glib/gdatetime.c:1893,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1894
      start: 1887
    functionDepth: 0
    functionLinenumber: 1887
    functionLinenumberEnd: 1894
    functionName: g_date_time_add_weeks
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_add_days
    - g_return_val_if_fail
    linkageType: ''
    returnType: GDateTime*
    signature: 'GDateTime *g_date_time_add_weeks (GDateTime *datetime, gint weeks) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:1913,1
    - Dst: g_date_time_replace_days
      Src: /src/glib/glib/gdatetime.c:1918,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1919
      start: 1909
    functionDepth: 0
    functionLinenumber: 1909
    functionLinenumberEnd: 1919
    functionName: g_date_time_add_days
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_date_time_replace_days
    linkageType: ''
    returnType: GDateTime*
    signature: 'GDateTime *g_date_time_add_days (GDateTime *datetime, gint days) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:2461,1
    - Dst: g_date_time_get_week_number
      Src: /src/glib/glib/gdatetime.c:2463,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - datetime
    argTypes:
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 2466
      start: 2456
    functionDepth: 0
    functionLinenumber: 2456
    functionLinenumberEnd: 2466
    functionName: g_date_time_get_week_of_year
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_get_week_number
    - g_return_val_if_fail
    linkageType: ''
    returnType: gint
    signature: 'gint g_date_time_get_week_of_year (GDateTime *datetime) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_time_zone_new_local
      Src: /src/glib/glib/gdatetime.c:979,1
    - Dst: g_date_time_new_now
      Src: /src/glib/glib/gdatetime.c:980,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/gdatetime.c:981,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 984
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 984
    functionName: g_date_time_new_now_local
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_new_now
    - g_time_zone_unref
    - g_time_zone_new_local
    linkageType: ''
    returnType: GDateTime*
    signature: 'GDateTime *g_date_time_new_now_local (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:1850,1
    - Dst: g_date_time_replace_days
      Src: /src/glib/glib/gdatetime.c:1871,1
    - Dst: g_date_time_get_ymd
      Src: /src/glib/glib/gdatetime.c:1851,1
    - Dst: GREGORIAN_LEAP
      Src: /src/glib/glib/gdatetime.c:1869,1
    - Dst: MIN
      Src: /src/glib/glib/gdatetime.c:1869,1
    - Dst: ymd_to_days
      Src: /src/glib/glib/gdatetime.c:1871,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1872
      start: 1844
    functionDepth: 0
    functionLinenumber: 1844
    functionLinenumberEnd: 1872
    functionName: g_date_time_add_months
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_date_time_get_ymd
    - GREGORIAN_LEAP
    - g_date_time_replace_days
    - MIN
    - ymd_to_days
    linkageType: ''
    returnType: GDateTime*
    signature: 'GDateTime *g_date_time_add_months (GDateTime *datetime, gint months) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_AMPM
      Src: /src/glib/glib/gdatetime.c:3175,1
    - Dst: get_fallback_ampm
      Src: /src/glib/glib/gdatetime.c:3178,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/gdatetime.c:3178,1
    - Dst: g_locale_to_utf8
      Src: /src/glib/glib/gdatetime.c:3183,1
    - Dst: g_utf8_strup
      Src: /src/glib/glib/gdatetime.c:3188,1
    - Dst: g_utf8_strdown
      Src: /src/glib/glib/gdatetime.c:3190,1
    - Dst: g_free
      Src: /src/glib/glib/gdatetime.c:3191,1
    - Dst: g_string_append
      Src: /src/glib/glib/gdatetime.c:3193,1
    - Dst: g_free
      Src: /src/glib/glib/gdatetime.c:3194,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 4
    argNames:
    - datetime
    - outstr
    - locale_is_utf8
    - uppercase
    argTypes:
    - GDateTime*
    - GString*
    - gboolean
    - gboolean
    constantsTouched: []
    func_position:
      end: 3197
      start: 3166
    functionDepth: 0
    functionLinenumber: 3166
    functionLinenumberEnd: 3197
    functionName: format_ampm
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_utf8_strup
    - g_utf8_strdown
    - g_date_time_get_hour
    - get_fallback_ampm
    - GET_AMPM
    - g_locale_to_utf8
    - g_free
    - g_string_append
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean format_ampm (GDateTime *datetime, GString *outstr,
      gboolean locale_is_utf8, gboolean uppercase) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:436,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:442,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:440,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:438,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:444,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:446,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:448,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:450,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:452,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:454,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:458,1
    - Dst: g_warning
      Src: /src/glib/glib/gdatetime.c:461,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:456,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 465
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 465
    functionName: get_month_name_with_day
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_warning
    - C_
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *get_month_name_with_day (gint month) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_time_zone_new_utc
      Src: /src/glib/glib/gdatetime.c:2856,1
    - Dst: g_date_time_to_timezone
      Src: /src/glib/glib/gdatetime.c:2857,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/gdatetime.c:2858,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2861
      start: 2850
    functionDepth: 0
    functionLinenumber: 2850
    functionLinenumberEnd: 2861
    functionName: g_date_time_to_utc
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_time_zone_new_utc
    - g_date_time_to_timezone
    - g_time_zone_unref
    linkageType: ''
    returnType: GDateTime*
    signature: 'GDateTime *g_date_time_to_utc (GDateTime *datetime) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNIX_USECS_TO_INSTANT_IS_VALID
      Src: /src/glib/glib/gdatetime.c:924,1
    - Dst: g_date_time_from_instant
      Src: /src/glib/glib/gdatetime.c:927,1
    - Dst: UNIX_USECS_TO_INSTANT
      Src: /src/glib/glib/gdatetime.c:927,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 928
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 928
    functionName: g_date_time_new_from_unix
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_from_instant
    - UNIX_USECS_TO_INSTANT_IS_VALID
    - UNIX_USECS_TO_INSTANT
    linkageType: ''
    returnType: G_GNUC_END_IGNORE_DEPRECATIONS*
    signature: 'G_GNUC_END_IGNORE_DEPRECATIONS /*< internal > * g_date_time_new_from_unix:
      * @tz: a #GTimeZone * @usecs: the Unix time, in microseconds since the epoch
      * * Creates a #GDateTime corresponding to the given Unix time @t_us in the *
      given time zone @tz. * * Unix time is the number of seconds that have elapsed
      since 1970-01-01 * 00:00:00 UTC, regardless of the time zone given. * * This
      call can fail (returning %NULL) if @t represents a time outside * of the supported
      range of #GDateTime. * * You should release the return value by calling g_date_time_unref()
      * when you are done with it. * * Returns: a new #GDateTime, or %NULL * * Since:
      2.26 **/ static GDateTime *g_date_time_new_from_unix (GTimeZone *tz, gint64
      usecs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:1810,1
    - Dst: GREGORIAN_LEAP
      Src: /src/glib/glib/gdatetime.c:1820,1
    - Dst: g_date_time_get_ymd
      Src: /src/glib/glib/gdatetime.c:1815,1
    - Dst: g_date_time_replace_days
      Src: /src/glib/glib/gdatetime.c:1823,1
    - Dst: ymd_to_days
      Src: /src/glib/glib/gdatetime.c:1823,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1824
      start: 1804
    functionDepth: 0
    functionLinenumber: 1804
    functionLinenumberEnd: 1824
    functionName: g_date_time_add_years
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_date_time_get_ymd
    - GREGORIAN_LEAP
    - g_date_time_replace_days
    - ymd_to_days
    linkageType: ''
    returnType: GDateTime*
    signature: 'GDateTime *g_date_time_add_years (GDateTime *datetime, gint years) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_difference
      Src: /src/glib/glib/gdatetime.c:2102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - dt1
    - dt2
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2112
      start: 2096
    functionDepth: 0
    functionLinenumber: 2096
    functionLinenumberEnd: 2112
    functionName: g_date_time_compare
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_difference
    linkageType: ''
    returnType: gint
    signature: 'gint g_date_time_compare (gconstpointer dt1, gconstpointer dt2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_get_ymd
      Src: /src/glib/glib/gdatetime.c:2401,1
    - Dst: g_date_time_get_day_of_week
      Src: /src/glib/glib/gdatetime.c:2402,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - datetime
    argTypes:
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 2430
      start: 2396
    functionDepth: 0
    functionLinenumber: 2396
    functionLinenumberEnd: 2430
    functionName: g_date_time_get_week_numbering_year
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_get_day_of_week
    - g_date_time_get_ymd
    linkageType: ''
    returnType: gint
    signature: 'gint g_date_time_get_week_numbering_year (GDateTime *datetime) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:1782,1
    - Dst: g_date_time_from_instant
      Src: /src/glib/glib/gdatetime.c:1784,1
    - Dst: g_date_time_to_instant
      Src: /src/glib/glib/gdatetime.c:1785,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1786
      start: 1778
    functionDepth: 0
    functionLinenumber: 1778
    functionLinenumberEnd: 1786
    functionName: g_date_time_add
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_from_instant
    - g_date_time_to_instant
    - g_return_val_if_fail
    linkageType: ''
    returnType: GDateTime*
    signature: 'GDateTime *g_date_time_add (GDateTime *datetime, GTimeSpan timespan) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:2014,1
    - Dst: g_date_time_get_ymd
      Src: /src/glib/glib/gdatetime.c:2015,1
    - Dst: GREGORIAN_LEAP
      Src: /src/glib/glib/gdatetime.c:2038,1
    - Dst: MIN
      Src: /src/glib/glib/gdatetime.c:2038,1
    - Dst: ymd_to_days
      Src: /src/glib/glib/gdatetime.c:2042,1
    - Dst: g_time_zone_adjust_time
      Src: /src/glib/glib/gdatetime.c:2044,1
    - Dst: g_time_zone_is_dst
      Src: /src/glib/glib/gdatetime.c:2045,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/gdatetime.c:2050,1
    - Dst: g_time_zone_find_interval
      Src: /src/glib/glib/gdatetime.c:2063,1
    - Dst: INSTANT_TO_UNIX
      Src: /src/glib/glib/gdatetime.c:2065,1
    - Dst: g_date_time_alloc
      Src: /src/glib/glib/gdatetime.c:2072,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/gdatetime.c:2069,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2080
      start: 2000
    functionDepth: 0
    functionLinenumber: 2000
    functionLinenumberEnd: 2080
    functionName: g_date_time_add_full
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_date_time_alloc
    - g_date_time_get_ymd
    - g_time_zone_get_offset
    - GREGORIAN_LEAP
    - g_time_zone_adjust_time
    - MIN
    - INSTANT_TO_UNIX
    - ymd_to_days
    - g_time_zone_is_dst
    - g_time_zone_find_interval
    linkageType: ''
    returnType: GDateTime*
    signature: 'GDateTime *g_date_time_add_full (GDateTime *datetime, gint years,
      gint months, gint days, gint hours, gint minutes, gdouble seconds) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:2339,1
    - Dst: g_date_time_get_week_number
      Src: /src/glib/glib/gdatetime.c:2342,1
    - Dst: GREGORIAN_LEAP
      Src: /src/glib/glib/gdatetime.c:2341,1
    - Dst: g_date_time_get_year
      Src: /src/glib/glib/gdatetime.c:2341,1
    - Dst: g_warn_if_reached
      Src: /src/glib/glib/gdatetime.c:2351,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - datetime
    argTypes:
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 2353
      start: 2331
    functionDepth: 0
    functionLinenumber: 2331
    functionLinenumberEnd: 2353
    functionName: g_date_time_get_day_of_month
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_warn_if_reached
    - GREGORIAN_LEAP
    - g_date_time_get_year
    - g_date_time_get_week_number
    linkageType: ''
    returnType: gint
    signature: 'gint g_date_time_get_day_of_month (GDateTime *datetime) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:2801,1
    - Dst: g_date_time_to_instant
      Src: /src/glib/glib/gdatetime.c:2804,1
    - Dst: g_date_time_from_instant
      Src: /src/glib/glib/gdatetime.c:2804,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:2802,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2805
      start: 2797
    functionDepth: 0
    functionLinenumber: 2797
    functionLinenumberEnd: 2805
    functionName: g_date_time_to_timezone
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_from_instant
    - g_date_time_to_instant
    - g_return_val_if_fail
    linkageType: ''
    returnType: GDateTime*
    signature: 'GDateTime *g_date_time_to_timezone (GDateTime *datetime, GTimeZone
      *tz) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:2774,1
    - Dst: g_time_zone_is_dst
      Src: /src/glib/glib/gdatetime.c:2776,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - datetime
    argTypes:
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 2777
      start: 2771
    functionDepth: 0
    functionLinenumber: 2771
    functionLinenumberEnd: 2777
    functionName: g_date_time_is_daylight_savings
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_time_zone_is_dst
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_date_time_is_daylight_savings (GDateTime *datetime) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:360,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:368,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:362,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:366,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:364,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:370,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:372,1
    - Dst: g_warning
      Src: /src/glib/glib/gdatetime.c:375,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 379
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 379
    functionName: get_weekday_name_abbr
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_warning
    - C_
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *get_weekday_name_abbr (gint day) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:2755,1
    - Dst: g_time_zone_get_abbreviation
      Src: /src/glib/glib/gdatetime.c:2757,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2758
      start: 2752
    functionDepth: 0
    functionLinenumber: 2752
    functionLinenumberEnd: 2758
    functionName: g_date_time_get_timezone_abbreviation
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_time_zone_get_abbreviation
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_date_time_get_timezone_abbreviation (GDateTime *datetime) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:2729,1
    - Dst: g_assert
      Src: /src/glib/glib/gdatetime.c:2731,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2733
      start: 2726
    functionDepth: 0
    functionLinenumber: 2726
    functionLinenumberEnd: 2733
    functionName: g_date_time_get_timezone
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_return_val_if_fail
    linkageType: ''
    returnType: GTimeZone*
    signature: 'GTimeZone *g_date_time_get_timezone (GDateTime *datetime) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_time_zone_new_local
      Src: /src/glib/glib/gdatetime.c:1165,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/gdatetime.c:1167,1
    - Dst: g_date_time_new_from_timeval
      Src: /src/glib/glib/gdatetime.c:1166,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1158
    functionDepth: 0
    functionLinenumber: 1158
    functionLinenumberEnd: 1170
    functionName: g_date_time_new_from_timeval_local
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_time_zone_unref
    - g_date_time_new_from_timeval
    - g_time_zone_new_local
    linkageType: ''
    returnType: G_GNUC_BEGIN_IGNORE_DEPRECATIONS*
    signature: 'G_GNUC_BEGIN_IGNORE_DEPRECATIONS GDateTime *g_date_time_new_from_timeval_local
      (const GTimeVal *tv) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_time_zone_new_utc
      Src: /src/glib/glib/gdatetime.c:1406,1
    - Dst: get_iso8601_int
      Src: /src/glib/glib/gdatetime.c:1430,1
    - Dst: get_iso8601_int
      Src: /src/glib/glib/gdatetime.c:1423,1
    - Dst: get_iso8601_int
      Src: /src/glib/glib/gdatetime.c:1431,1
    - Dst: get_iso8601_int
      Src: /src/glib/glib/gdatetime.c:1424,1
    - Dst: get_iso8601_int
      Src: /src/glib/glib/gdatetime.c:1437,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/gdatetime.c:1445,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/gdatetime.c:1451,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gdatetime.c:1453,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 64
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1458
      start: 1393
    functionDepth: 0
    functionLinenumber: 1393
    functionLinenumberEnd: 1458
    functionName: parse_iso8601_timezone
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - get_iso8601_int
    - g_time_zone_get_offset
    - g_time_zone_new_utc
    - g_clear_pointer
    - g_time_zone_new_identifier
    linkageType: ''
    returnType: GTimeZone*
    signature: 'static GTimeZone *parse_iso8601_timezone (const gchar *text, gsize
      length, size_t *tz_offset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:2561,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - datetime
    argTypes:
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 2564
      start: 2558
    functionDepth: 0
    functionLinenumber: 2558
    functionLinenumberEnd: 2564
    functionName: g_date_time_get_second
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gint
    signature: 'gint g_date_time_get_second (GDateTime *datetime) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parse_iso8601_timezone
      Src: /src/glib/glib/gdatetime.c:1467,1
    - Dst: get_iso8601_int
      Src: /src/glib/glib/gdatetime.c:1481,1
    - Dst: get_iso8601_int
      Src: /src/glib/glib/gdatetime.c:1475,1
    - Dst: get_iso8601_seconds
      Src: /src/glib/glib/gdatetime.c:1476,1
    - Dst: get_iso8601_int
      Src: /src/glib/glib/gdatetime.c:1474,1
    - Dst: get_iso8601_int
      Src: /src/glib/glib/gdatetime.c:1482,1
    - Dst: get_iso8601_seconds
      Src: /src/glib/glib/gdatetime.c:1483,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 6
    argNames:
    - text
    - length
    - hour
    - minute
    - seconds
    - tz
    argTypes:
    - gchar*
    - gsize
    - gint*
    - gint*
    - gdouble*
    - GTimeZone**
    constantsTouched: []
    func_position:
      end: 1487
      start: 1460
    functionDepth: 0
    functionLinenumber: 1460
    functionLinenumberEnd: 1487
    functionName: parse_iso8601_time
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - get_iso8601_seconds
    - get_iso8601_int
    - parse_iso8601_timezone
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean parse_iso8601_time (const gchar *text, gsize length,
      gint *hour, gint *minute, gdouble *seconds, GTimeZone **tz) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:953,1
    - Dst: g_get_real_time
      Src: /src/glib/glib/gdatetime.c:955,1
    - Dst: g_date_time_new_from_unix
      Src: /src/glib/glib/gdatetime.c:957,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 958
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 958
    functionName: g_date_time_new_now
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_get_real_time
    - g_date_time_new_from_unix
    linkageType: ''
    returnType: GDateTime*
    signature: 'GDateTime *g_date_time_new_now (GTimeZone *tz) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:2543,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - datetime
    argTypes:
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 2546
      start: 2540
    functionDepth: 0
    functionLinenumber: 2540
    functionLinenumberEnd: 2546
    functionName: g_date_time_get_minute
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gint
    signature: 'gint g_date_time_get_minute (GDateTime *datetime) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nl_langinfo
      Src: /src/glib/glib/gdatetime.c:2948,1
    - Dst: _g_ctype_locale_to_utf8
      Src: /src/glib/glib/gdatetime.c:2953,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gdatetime.c:2950,1
    - Dst: g_assert
      Src: /src/glib/glib/gdatetime.c:2957,1
    - Dst: g_stpcpy
      Src: /src/glib/glib/gdatetime.c:2960,1
    - Dst: g_free
      Src: /src/glib/glib/gdatetime.c:2964,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2968
      start: 2931
    functionDepth: 0
    functionLinenumber: 2931
    functionLinenumberEnd: 2968
    functionName: initialize_alt_digits
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_stpcpy
    - g_assert
    - _g_ctype_locale_to_utf8
    - g_strcmp0
    - g_free
    - nl_langinfo
    linkageType: ''
    returnType: gchar**
    signature: 'static const gchar * const *initialize_alt_digits (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/glib/gdatetime.c:669,1
    - Dst: g_time_zone_ref
      Src: /src/glib/glib/gdatetime.c:670,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 674
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 674
    functionName: g_date_time_alloc
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_time_zone_ref
    - g_slice_new0
    linkageType: ''
    returnType: GDateTime*
    signature: 'static GDateTime *g_date_time_alloc (GTimeZone *tz) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:2525,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - datetime
    argTypes:
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 2528
      start: 2522
    functionDepth: 0
    functionLinenumber: 2522
    functionLinenumberEnd: 2528
    functionName: g_date_time_get_hour
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gint
    signature: 'gint g_date_time_get_hour (GDateTime *datetime) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_time_zone_new_utc
      Src: /src/glib/glib/gdatetime.c:1128,1
    - Dst: g_date_time_new_from_unix
      Src: /src/glib/glib/gdatetime.c:1129,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/gdatetime.c:1130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1133
    functionName: g_date_time_new_from_unix_utc_usec
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_time_zone_new_utc
    - g_time_zone_unref
    - g_date_time_new_from_unix
    linkageType: ''
    returnType: GDateTime*
    signature: 'GDateTime *g_date_time_new_from_unix_utc_usec (gint64 usecs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:2504,1
    - Dst: g_date_time_get_week_number
      Src: /src/glib/glib/gdatetime.c:2506,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - datetime
    argTypes:
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 2508
      start: 2499
    functionDepth: 0
    functionLinenumber: 2499
    functionLinenumberEnd: 2508
    functionName: g_date_time_get_day_of_year
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_get_week_number
    - g_return_val_if_fail
    linkageType: ''
    returnType: gint
    signature: 'gint g_date_time_get_day_of_year (GDateTime *datetime) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_new_from_unix_utc_usec
      Src: /src/glib/glib/gdatetime.c:1100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1093
    functionDepth: 0
    functionLinenumber: 1093
    functionLinenumberEnd: 1101
    functionName: g_date_time_new_from_unix_utc
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_new_from_unix_utc_usec
    linkageType: ''
    returnType: GDateTime*
    signature: 'GDateTime *g_date_time_new_from_unix_utc (gint64 t) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gdatetime.c:2988,1
    - Dst: g_locale_to_utf8
      Src: /src/glib/glib/gdatetime.c:3042,1
    - Dst: g_free
      Src: /src/glib/glib/gdatetime.c:3043,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gdatetime.c:3047,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gdatetime.c:3056,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gdatetime.c:3071,1
    - Dst: setlocale
      Src: /src/glib/glib/gdatetime.c:2984,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gdatetime.c:3044,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gdatetime.c:3066,1
    - Dst: g_date_time_get_year
      Src: /src/glib/glib/gdatetime.c:3075,1
    - Dst: g_free
      Src: /src/glib/glib/gdatetime.c:3059,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/gdatetime.c:3081,1
    - Dst: _g_era_date_compare
      Src: /src/glib/glib/gdatetime.c:3083,1
    - Dst: _g_era_date_compare
      Src: /src/glib/glib/gdatetime.c:3085,1
    - Dst: _g_era_description_segment_ref
      Src: /src/glib/glib/gdatetime.c:3090,1
    - Dst: strlen
      Src: /src/glib/glib/gdatetime.c:3020,1
    - Dst: g_ptr_array_ref
      Src: /src/glib/glib/gdatetime.c:3070,1
    - Dst: g_date_time_get_month
      Src: /src/glib/glib/gdatetime.c:3076,1
    - Dst: _g_era_date_compare
      Src: /src/glib/glib/gdatetime.c:3084,1
    - Dst: _g_era_date_compare
      Src: /src/glib/glib/gdatetime.c:3086,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/gdatetime.c:3089,1
    - Dst: strchr
      Src: /src/glib/glib/gdatetime.c:3012,1
    - Dst: strchr
      Src: /src/glib/glib/gdatetime.c:3011,1
    - Dst: g_memdup2
      Src: /src/glib/glib/gdatetime.c:3023,1
    - Dst: strchr
      Src: /src/glib/glib/gdatetime.c:3028,1
    - Dst: _g_era_description_parse
      Src: /src/glib/glib/gdatetime.c:3050,1
    - Dst: g_warning
      Src: /src/glib/glib/gdatetime.c:3052,1
    - Dst: g_date_time_get_day_of_month
      Src: /src/glib/glib/gdatetime.c:3077,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/gdatetime.c:3094,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 87
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3097
      start: 2977
    functionDepth: 0
    functionLinenumber: 2977
    functionLinenumberEnd: 3097
    functionName: date_time_lookup_era
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - _g_era_date_compare
    - g_date_time_get_year
    - g_date_time_get_month
    - g_memdup2
    - g_ptr_array_ref
    - g_warning
    - g_mutex_unlock
    - _g_era_description_parse
    - g_locale_to_utf8
    - setlocale
    - g_clear_pointer
    - g_ptr_array_unref
    - strlen
    - g_mutex_lock
    - g_ptr_array_index
    - _g_era_description_segment_ref
    - strchr
    - g_date_time_get_day_of_month
    - g_free
    linkageType: ''
    returnType: GEraDescriptionSegment*
    signature: 'static GEraDescriptionSegment *date_time_lookup_era (GDateTime *datetime,
      gboolean locale_is_utf8) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:242,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:246,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:244,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:250,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:248,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:252,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:254,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:256,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:258,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:260,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:262,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:264,1
    - Dst: g_warning
      Src: /src/glib/glib/gdatetime.c:267,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 271
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 271
    functionName: get_month_name_standalone
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_warning
    - C_
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *get_month_name_standalone (gint month) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdatetime.c:3116,1
    - Dst: setlocale
      Src: /src/glib/glib/gdatetime.c:3123,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gdatetime.c:3127,1
    - Dst: initialize_alt_digits
      Src: /src/glib/glib/gdatetime.c:3131,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gdatetime.c:3129,1
    - Dst: g_free
      Src: /src/glib/glib/gdatetime.c:3136,1
    - Dst: g_strdup
      Src: /src/glib/glib/gdatetime.c:3137,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gdatetime.c:3156,1
    - Dst: g_assert
      Src: /src/glib/glib/gdatetime.c:3160,1
    - Dst: g_string_append
      Src: /src/glib/glib/gdatetime.c:3163,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 29
    argCount: 5
    argNames:
    - str
    - use_alt_digits
    - pad
    - width
    - number
    argTypes:
    - GString*
    - gboolean
    - gchar*
    - gint
    - guint32
    constantsTouched: []
    func_position:
      end: 3164
      start: 3099
    functionDepth: 0
    functionLinenumber: 3099
    functionLinenumberEnd: 3164
    functionName: format_number
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_strdup
    - initialize_alt_digits
    - g_mutex_unlock
    - g_mutex_lock
    - g_return_if_fail
    - g_assert
    - setlocale
    - g_strcmp0
    - g_free
    - g_string_append
    linkageType: ''
    returnType: void
    signature: 'static void format_number (GString *str, gboolean use_alt_digits,
      const gchar *pad, gint width, guint32 number) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_time_zone_new_utc
      Src: /src/glib/glib/gdatetime.c:1201,1
    - Dst: g_date_time_new_from_timeval
      Src: /src/glib/glib/gdatetime.c:1202,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/gdatetime.c:1203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1195
    functionDepth: 0
    functionLinenumber: 1195
    functionLinenumberEnd: 1206
    functionName: g_date_time_new_from_timeval_utc
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_time_zone_new_utc
    - g_date_time_new_from_timeval
    - g_time_zone_unref
    linkageType: ''
    returnType: GDateTime*
    signature: 'GDateTime *g_date_time_new_from_timeval_utc (const GTimeVal *tv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_new
      Src: /src/glib/glib/gdatetime.c:1304,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/gdatetime.c:1308,1
    - Dst: g_date_time_get_week_number
      Src: /src/glib/glib/gdatetime.c:1307,1
    - Dst: GREGORIAN_LEAP
      Src: /src/glib/glib/gdatetime.c:1316,1
    - Dst: GREGORIAN_LEAP
      Src: /src/glib/glib/gdatetime.c:1314,1
    - Dst: GREGORIAN_LEAP
      Src: /src/glib/glib/gdatetime.c:1318,1
    - Dst: g_date_time_new_ordinal
      Src: /src/glib/glib/gdatetime.c:1322,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1291
    functionDepth: 0
    functionLinenumber: 1291
    functionLinenumberEnd: 1323
    functionName: g_date_time_new_week
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_new_ordinal
    - g_date_time_unref
    - GREGORIAN_LEAP
    - g_date_time_new
    - g_date_time_get_week_number
    linkageType: ''
    returnType: GDateTime*
    signature: 'static GDateTime *g_date_time_new_week (GTimeZone *tz, gint year,
      gint week, gint week_day, gint hour, gint minute, gdouble seconds) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_time_zone_new_local
      Src: /src/glib/glib/gdatetime.c:1720,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/gdatetime.c:1722,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/gdatetime.c:1721,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1725
      start: 1709
    functionDepth: 0
    functionLinenumber: 1709
    functionLinenumberEnd: 1725
    functionName: g_date_time_new_local
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_time_zone_unref
    - g_time_zone_new_local
    - g_date_time_new
    linkageType: ''
    returnType: GDateTime*
    signature: 'GDateTime *g_date_time_new_local (gint year, gint month, gint day,
      gint hour, gint minute, gdouble seconds) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_add
      Src: /src/glib/glib/gdatetime.c:1979,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1980
      start: 1975
    functionDepth: 0
    functionLinenumber: 1975
    functionLinenumberEnd: 1980
    functionName: g_date_time_add_seconds
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_add
    linkageType: ''
    returnType: GDateTime*
    signature: 'GDateTime *g_date_time_add_seconds (GDateTime *datetime, gdouble seconds) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - text
    - length
    - value
    argTypes:
    - gchar*
    - gsize
    - gint*
    constantsTouched: []
    func_position:
      end: 1229
      start: 1207
    functionDepth: 0
    functionLinenumber: 1207
    functionLinenumberEnd: 1229
    functionName: get_iso8601_int
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: G_GNUC_END_IGNORE_DEPRECATIONS
    signature: 'G_GNUC_END_IGNORE_DEPRECATIONS /* Parse integers in the form d (week
      days), dd (hours etc), ddd (ordinal days) or dddd (years) */ static gboolean
      get_iso8601_int (const gchar *text, gsize length, gint *value) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: get_iso8601_int
      Src: /src/glib/glib/gdatetime.c:1344,1
    - Dst: get_iso8601_int
      Src: /src/glib/glib/gdatetime.c:1353,1
    - Dst: get_iso8601_int
      Src: /src/glib/glib/gdatetime.c:1354,1
    - Dst: g_date_time_new_ordinal
      Src: /src/glib/glib/gdatetime.c:1385,1
    - Dst: get_iso8601_int
      Src: /src/glib/glib/gdatetime.c:1343,1
    - Dst: get_iso8601_int
      Src: /src/glib/glib/gdatetime.c:1352,1
    - Dst: get_iso8601_int
      Src: /src/glib/glib/gdatetime.c:1364,1
    - Dst: get_iso8601_int
      Src: /src/glib/glib/gdatetime.c:1363,1
    - Dst: g_date_time_new_week
      Src: /src/glib/glib/gdatetime.c:1356,1
    - Dst: get_iso8601_int
      Src: /src/glib/glib/gdatetime.c:1334,1
    - Dst: get_iso8601_int
      Src: /src/glib/glib/gdatetime.c:1335,1
    - Dst: g_date_time_new_ordinal
      Src: /src/glib/glib/gdatetime.c:1346,1
    - Dst: get_iso8601_int
      Src: /src/glib/glib/gdatetime.c:1362,1
    - Dst: g_date_time_new_week
      Src: /src/glib/glib/gdatetime.c:1366,1
    - Dst: get_iso8601_int
      Src: /src/glib/glib/gdatetime.c:1373,1
    - Dst: get_iso8601_int
      Src: /src/glib/glib/gdatetime.c:1374,1
    - Dst: get_iso8601_int
      Src: /src/glib/glib/gdatetime.c:1383,1
    - Dst: get_iso8601_int
      Src: /src/glib/glib/gdatetime.c:1333,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/gdatetime.c:1337,1
    - Dst: get_iso8601_int
      Src: /src/glib/glib/gdatetime.c:1372,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/gdatetime.c:1376,1
    - Dst: get_iso8601_int
      Src: /src/glib/glib/gdatetime.c:1382,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 85
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1325
    functionDepth: 0
    functionLinenumber: 1325
    functionLinenumberEnd: 1389
    functionName: parse_iso8601_date
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_new_ordinal
    - g_date_time_new_week
    - get_iso8601_int
    - g_date_time_new
    linkageType: ''
    returnType: GDateTime*
    signature: 'static GDateTime *parse_iso8601_date (const gchar *text, gsize length,
      gint hour, gint minute, gdouble seconds, GTimeZone *tz) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdatetime.c:2206,1
    - Dst: GREGORIAN_LEAP
      Src: /src/glib/glib/gdatetime.c:2249,1
    - Dst: g_assert
      Src: /src/glib/glib/gdatetime.c:2236,1
    - Dst: g_assert
      Src: /src/glib/glib/gdatetime.c:2262,1
    - Dst: g_assert
      Src: /src/glib/glib/gdatetime.c:2249,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 64
    argCount: 4
    argNames:
    - datetime
    - year
    - month
    - day
    argTypes:
    - GDateTime*
    - gint*
    - gint*
    - gint*
    constantsTouched: []
    func_position:
      end: 2273
      start: 2190
    functionDepth: 0
    functionLinenumber: 2190
    functionLinenumberEnd: 2273
    functionName: g_date_time_get_ymd
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_assert
    - GREGORIAN_LEAP
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_date_time_get_ymd (GDateTime *datetime, gint *year, gint *month,
      gint *day) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_add
      Src: /src/glib/glib/gdatetime.c:1958,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1959
      start: 1954
    functionDepth: 0
    functionLinenumber: 1954
    functionLinenumberEnd: 1959
    functionName: g_date_time_add_minutes
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_add
    linkageType: ''
    returnType: GDateTime*
    signature: 'GDateTime *g_date_time_add_minutes (GDateTime *datetime, gint minutes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_difference
      Src: /src/glib/glib/gdatetime.c:2175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - dt1
    - dt2
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2176
      start: 2171
    functionDepth: 0
    functionLinenumber: 2171
    functionLinenumberEnd: 2176
    functionName: g_date_time_equal
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_difference
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_date_time_equal (gconstpointer dt1, gconstpointer dt2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:2313,1
    - Dst: g_date_time_get_ymd
      Src: /src/glib/glib/gdatetime.c:2315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - datetime
    argTypes:
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 2318
      start: 2308
    functionDepth: 0
    functionLinenumber: 2308
    functionLinenumberEnd: 2318
    functionName: g_date_time_get_month
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_date_time_get_ymd
    linkageType: ''
    returnType: gint
    signature: 'gint g_date_time_get_month (GDateTime *datetime) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:523,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:531,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:529,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:525,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:527,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:533,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:535,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:537,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:539,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:541,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:545,1
    - Dst: g_warning
      Src: /src/glib/glib/gdatetime.c:548,1
    - Dst: C_
      Src: /src/glib/glib/gdatetime.c:543,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 552
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 552
    functionName: get_month_name_abbr_with_day
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_warning
    - C_
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *get_month_name_abbr_with_day (gint month) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:689,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:690,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gdatetime.c:692,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 695
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 695
    functionName: g_date_time_ref
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_atomic_int_inc
    - g_return_val_if_fail
    linkageType: ''
    returnType: GDateTime*
    signature: 'GDateTime *g_date_time_ref (GDateTime *datetime) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdatetime.c:2290,1
    - Dst: g_date_time_get_ymd
      Src: /src/glib/glib/gdatetime.c:2292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - datetime
    argTypes:
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 2295
      start: 2285
    functionDepth: 0
    functionLinenumber: 2285
    functionLinenumberEnd: 2295
    functionName: g_date_time_get_year
    functionSourceFile: /src/glib/glib/gdatetime.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_date_time_get_ymd
    linkageType: ''
    returnType: gint
    signature: 'gint g_date_time_get_year (GDateTime *datetime) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_alias_hash
      Src: /src/glib/glib/gcharset.c:104,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/gcharset.c:106,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: _g_charset_get_aliases
    functionSourceFile: /src/glib/glib/gcharset.c
    functionUses: []
    functionsReached:
    - get_alias_hash
    - g_hash_table_lookup
    linkageType: ''
    returnType: char**
    signature: 'const char **_g_charset_get_aliases (const char *canonical_name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_getenv
      Src: /src/glib/glib/gcharset.c:119,1
    - Dst: G_LOCK
      Src: /src/glib/glib/gcharset.c:135,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gcharset.c:137,1
    - Dst: strstr
      Src: /src/glib/glib/gcharset.c:125,1
    - Dst: _g_locale_charset_unalias
      Src: /src/glib/glib/gcharset.c:136,1
    - Dst: strstr
      Src: /src/glib/glib/gcharset.c:143,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 2
    argNames:
    - raw_data
    - a
    argTypes:
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 153
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 153
    functionName: g_utf8_get_charset_internal
    functionSourceFile: /src/glib/glib/gcharset.c
    functionUses: []
    functionsReached:
    - g_getenv
    - G_UNLOCK
    - _g_locale_charset_unalias
    - G_LOCK
    - strstr
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_utf8_get_charset_internal (const char *raw_data,
      const char **a) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_PRIVATE_INIT
      Src: /src/glib/glib/gcharset.c:241,1
    - Dst: g_private_set_alloc0
      Src: /src/glib/glib/gcharset.c:246,1
    - Dst: nl_langinfo
      Src: /src/glib/glib/gcharset.c:249,1
    - Dst: g_private_get
      Src: /src/glib/glib/gcharset.c:242,1
    - Dst: G_LOCK
      Src: /src/glib/glib/gcharset.c:251,1
    - Dst: _g_locale_charset_raw
      Src: /src/glib/glib/gcharset.c:252,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gcharset.c:253,1
    - Dst: strcmp
      Src: /src/glib/glib/gcharset.c:256,1
    - Dst: g_free
      Src: /src/glib/glib/gcharset.c:260,1
    - Dst: g_free
      Src: /src/glib/glib/gcharset.c:261,1
    - Dst: g_strdup
      Src: /src/glib/glib/gcharset.c:262,1
    - Dst: g_strdup
      Src: /src/glib/glib/gcharset.c:264,1
    - Dst: g_utf8_get_charset_internal
      Src: /src/glib/glib/gcharset.c:263,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 1
    argNames:
    - charset
    argTypes:
    - char**
    constantsTouched: []
    func_position:
      end: 271
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 271
    functionName: _g_get_time_charset
    functionSourceFile: /src/glib/glib/gcharset.c
    functionUses: []
    functionsReached:
    - g_strdup
    - G_UNLOCK
    - strcmp
    - g_free
    - g_utf8_get_charset_internal
    - g_private_get
    - G_PRIVATE_INIT
    - g_private_set_alloc0
    - _g_locale_charset_raw
    - G_LOCK
    - nl_langinfo
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _g_get_time_charset (const char **charset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_charset
      Src: /src/glib/glib/gcharset.c:326,1
    - Dst: g_strdup
      Src: /src/glib/glib/gcharset.c:328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 329
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 329
    functionName: g_get_codeset
    functionSourceFile: /src/glib/glib/gcharset.c
    functionUses: []
    functionsReached:
    - g_get_charset
    - g_strdup
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_get_codeset (void) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_private_get
      Src: /src/glib/glib/gcharset.c:363,1
    - Dst: g_getenv
      Src: /src/glib/glib/gcharset.c:373,1
    - Dst: sprintf
      Src: /src/glib/glib/gcharset.c:402,1
    - Dst: strcmp
      Src: /src/glib/glib/gcharset.c:417,1
    - Dst: GetLastError
      Src: /src/glib/glib/gcharset.c:405,1
    - Dst: g_strdup
      Src: /src/glib/glib/gcharset.c:425,1
    - Dst: strchr
      Src: /src/glib/glib/gcharset.c:385,1
    - Dst: g_free
      Src: /src/glib/glib/gcharset.c:410,1
    - Dst: g_utf8_get_charset_internal
      Src: /src/glib/glib/gcharset.c:424,1
    - Dst: g_get_charset
      Src: /src/glib/glib/gcharset.c:434,1
    - Dst: G_PRIVATE_INIT
      Src: /src/glib/glib/gcharset.c:362,1
    - Dst: g_private_set_alloc0
      Src: /src/glib/glib/gcharset.c:370,1
    - Dst: GetConsoleOutputCP
      Src: /src/glib/glib/gcharset.c:399,1
    - Dst: GetLastError
      Src: /src/glib/glib/gcharset.c:407,1
    - Dst: g_strdup
      Src: /src/glib/glib/gcharset.c:423,1
    - Dst: g_free
      Src: /src/glib/glib/gcharset.c:422,1
    - Dst: g_free
      Src: /src/glib/glib/gcharset.c:421,1
    - Dst: strchr
      Src: /src/glib/glib/gcharset.c:377,1
    - Dst: memcpy
      Src: /src/glib/glib/gcharset.c:390,1
    - Dst: g_win32_error_message
      Src: /src/glib/glib/gcharset.c:407,1
    - Dst: g_warning
      Src: /src/glib/glib/gcharset.c:408,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 61
    argCount: 1
    argNames:
    - charset
    argTypes:
    - char**
    constantsTouched: []
    func_position:
      end: 436
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 436
    functionName: g_get_console_charset
    functionSourceFile: /src/glib/glib/gcharset.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_strdup
    - g_warning
    - g_win32_error_message
    - g_getenv
    - strcmp
    - GetConsoleOutputCP
    - g_utf8_get_charset_internal
    - strchr
    - g_private_get
    - GetLastError
    - G_PRIVATE_INIT
    - g_private_set_alloc0
    - g_get_charset
    - g_free
    - sprintf
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_get_console_charset (const char **charset) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter_pointer
      Src: /src/glib/glib/gcharset.c:502,1
    - Dst: g_hash_table_new
      Src: /src/glib/glib/gcharset.c:504,1
    - Dst: g_once_init_leave_pointer
      Src: /src/glib/glib/gcharset.c:506,1
    - Dst: read_aliases
      Src: /src/glib/glib/gcharset.c:505,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/gcharset.c:510,1
    - Dst: strcmp
      Src: /src/glib/glib/gcharset.c:510,1
    - Dst: g_warning
      Src: /src/glib/glib/gcharset.c:517,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 525
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 525
    functionName: unalias_lang
    functionSourceFile: /src/glib/glib/gcharset.c
    functionUses: []
    functionsReached:
    - g_once_init_leave_pointer
    - g_warning
    - g_hash_table_lookup
    - strcmp
    - g_hash_table_new
    - read_aliases
    - g_once_init_enter_pointer
    linkageType: ''
    returnType: char*
    signature: 'static char *unalias_lang (char *lang) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/glib/glib/gcharset.c:552,1
    - Dst: strchr
      Src: /src/glib/glib/gcharset.c:553,1
    - Dst: strlen
      Src: /src/glib/glib/gcharset.c:562,1
    - Dst: strchr
      Src: /src/glib/glib/gcharset.c:554,1
    - Dst: g_strdup
      Src: /src/glib/glib/gcharset.c:559,1
    - Dst: g_strndup
      Src: /src/glib/glib/gcharset.c:567,1
    - Dst: g_strndup
      Src: /src/glib/glib/gcharset.c:575,1
    - Dst: g_strndup
      Src: /src/glib/glib/gcharset.c:580,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 5
    argNames:
    - locale
    - language
    - territory
    - codeset
    - modifier
    argTypes:
    - gchar*
    - gchar**
    - gchar**
    - gchar**
    - gchar**
    constantsTouched: []
    func_position:
      end: 583
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 583
    functionName: explode_locale
    functionSourceFile: /src/glib/glib/gcharset.c
    functionUses: []
    functionsReached:
    - strchr
    - g_strndup
    - g_strdup
    - strlen
    linkageType: ''
    returnType: guint
    signature: 'static guint explode_locale (const gchar *locale, gchar **language,
      gchar **territory, gchar **codeset, gchar **modifier) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_getenv
      Src: /src/glib/glib/gcharset.c:690,1
    - Dst: g_win32_getlocale
      Src: /src/glib/glib/gcharset.c:721,1
    - Dst: g_getenv
      Src: /src/glib/glib/gcharset.c:704,1
    - Dst: g_getenv
      Src: /src/glib/glib/gcharset.c:709,1
    - Dst: g_getenv
      Src: /src/glib/glib/gcharset.c:699,1
    - Dst: g_intern_string
      Src: /src/glib/glib/gcharset.c:722,1
    - Dst: g_free
      Src: /src/glib/glib/gcharset.c:723,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 729
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 729
    functionName: guess_category_value
    functionSourceFile: /src/glib/glib/gcharset.c
    functionUses: []
    functionsReached:
    - g_getenv
    - g_free
    - g_win32_getlocale
    - g_intern_string
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *guess_category_value (const gchar *category_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/gcharset.c:167,1
    - Dst: g_free
      Src: /src/glib/glib/gcharset.c:169,1
    - Dst: g_free
      Src: /src/glib/glib/gcharset.c:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 170
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 170
    functionName: charset_cache_free
    functionSourceFile: /src/glib/glib/gcharset.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void charset_cache_free (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/gcharset.c:742,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gcharset.c:743,1
    - Dst: g_free
      Src: /src/glib/glib/gcharset.c:744,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 745
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 745
    functionName: language_names_cache_free
    functionSourceFile: /src/glib/glib/gcharset.c
    functionUses: []
    functionsReached:
    - g_strfreev
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void language_names_cache_free (gpointer data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/gcharset.c:59,1
    - Dst: strlen
      Src: /src/glib/glib/gcharset.c:76,1
    - Dst: _g_locale_get_charset_aliases
      Src: /src/glib/glib/gcharset.c:65,1
    - Dst: strlen
      Src: /src/glib/glib/gcharset.c:74,1
    - Dst: g_hash_table_new
      Src: /src/glib/glib/gcharset.c:63,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/gcharset.c:78,1
    - Dst: g_renew
      Src: /src/glib/glib/gcharset.c:85,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/gcharset.c:89,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gcharset.c:93,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 96
    functionName: get_alias_hash
    functionSourceFile: /src/glib/glib/gcharset.c
    functionUses: []
    functionsReached:
    - g_renew
    - strlen
    - G_UNLOCK
    - g_hash_table_lookup
    - g_hash_table_insert
    - g_hash_table_new
    - _g_locale_get_charset_aliases
    - G_LOCK
    linkageType: ''
    returnType: GHashTable*
    signature: 'static GHashTable *get_alias_hash (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_PRIVATE_INIT
      Src: /src/glib/glib/gcharset.c:204,1
    - Dst: _g_locale_charset_raw
      Src: /src/glib/glib/gcharset.c:212,1
    - Dst: g_private_set_alloc0
      Src: /src/glib/glib/gcharset.c:209,1
    - Dst: g_private_get
      Src: /src/glib/glib/gcharset.c:205,1
    - Dst: G_LOCK
      Src: /src/glib/glib/gcharset.c:211,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gcharset.c:213,1
    - Dst: strcmp
      Src: /src/glib/glib/gcharset.c:215,1
    - Dst: g_free
      Src: /src/glib/glib/gcharset.c:219,1
    - Dst: g_free
      Src: /src/glib/glib/gcharset.c:220,1
    - Dst: g_strdup
      Src: /src/glib/glib/gcharset.c:221,1
    - Dst: g_strdup
      Src: /src/glib/glib/gcharset.c:223,1
    - Dst: g_utf8_get_charset_internal
      Src: /src/glib/glib/gcharset.c:222,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 1
    argNames:
    - charset
    argTypes:
    - char**
    constantsTouched: []
    func_position:
      end: 230
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 230
    functionName: g_get_charset
    functionSourceFile: /src/glib/glib/gcharset.c
    functionUses: []
    functionsReached:
    - g_strdup
    - G_UNLOCK
    - strcmp
    - g_free
    - g_utf8_get_charset_internal
    - g_private_get
    - G_PRIVATE_INIT
    - g_private_set_alloc0
    - _g_locale_charset_raw
    - G_LOCK
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_get_charset (const char **charset) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_PRIVATE_INIT
      Src: /src/glib/glib/gcharset.c:281,1
    - Dst: nl_langinfo
      Src: /src/glib/glib/gcharset.c:289,1
    - Dst: g_private_set_alloc0
      Src: /src/glib/glib/gcharset.c:286,1
    - Dst: g_private_get
      Src: /src/glib/glib/gcharset.c:282,1
    - Dst: G_LOCK
      Src: /src/glib/glib/gcharset.c:291,1
    - Dst: _g_locale_charset_raw
      Src: /src/glib/glib/gcharset.c:292,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gcharset.c:293,1
    - Dst: strcmp
      Src: /src/glib/glib/gcharset.c:296,1
    - Dst: g_free
      Src: /src/glib/glib/gcharset.c:300,1
    - Dst: g_free
      Src: /src/glib/glib/gcharset.c:301,1
    - Dst: g_strdup
      Src: /src/glib/glib/gcharset.c:302,1
    - Dst: g_strdup
      Src: /src/glib/glib/gcharset.c:304,1
    - Dst: g_utf8_get_charset_internal
      Src: /src/glib/glib/gcharset.c:303,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 1
    argNames:
    - charset
    argTypes:
    - char**
    constantsTouched: []
    func_position:
      end: 311
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 311
    functionName: _g_get_ctype_charset
    functionSourceFile: /src/glib/glib/gcharset.c
    functionUses: []
    functionsReached:
    - g_strdup
    - G_UNLOCK
    - strcmp
    - g_free
    - g_utf8_get_charset_internal
    - g_private_get
    - G_PRIVATE_INIT
    - g_private_set_alloc0
    - _g_locale_charset_raw
    - G_LOCK
    - nl_langinfo
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _g_get_ctype_charset (const char **charset) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gcharset.c:609,1
    - Dst: g_free
      Src: /src/glib/glib/gcharset.c:631,1
    - Dst: g_strconcat
      Src: /src/glib/glib/gcharset.c:622,1
    - Dst: explode_locale
      Src: /src/glib/glib/gcharset.c:611,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/gcharset.c:627,1
    - Dst: g_free
      Src: /src/glib/glib/gcharset.c:633,1
    - Dst: g_free
      Src: /src/glib/glib/gcharset.c:635,1
    - Dst: g_free
      Src: /src/glib/glib/gcharset.c:637,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 2
    argNames:
    - array
    - locale
    argTypes:
    - GPtrArray*
    - gchar*
    constantsTouched: []
    func_position:
      end: 638
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 638
    functionName: append_locale_variants
    functionSourceFile: /src/glib/glib/gcharset.c
    functionUses: []
    functionsReached:
    - explode_locale
    - g_strconcat
    - g_return_if_fail
    - g_free
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void append_locale_variants (GPtrArray *array, const gchar
      *locale) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gcharset.c:671,1
    - Dst: append_locale_variants
      Src: /src/glib/glib/gcharset.c:674,1
    - Dst: g_ptr_array_sized_new
      Src: /src/glib/glib/gcharset.c:673,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/gcharset.c:677,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/gcharset.c:675,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 678
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 678
    functionName: g_get_locale_variants
    functionSourceFile: /src/glib/glib/gcharset.c
    functionUses: []
    functionsReached:
    - g_ptr_array_sized_new
    - g_return_val_if_fail
    - append_locale_variants
    - g_ptr_array_free
    - g_ptr_array_add
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **g_get_locale_variants (const gchar *locale) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_language_names_with_category
      Src: /src/glib/glib/gcharset.c:770,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 771
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 771
    functionName: g_get_language_names
    functionSourceFile: /src/glib/glib/gcharset.c
    functionUses: []
    functionsReached:
    - g_get_language_names_with_category
    linkageType: ''
    returnType: gchar**
    signature: 'const gchar * const *g_get_language_names (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_PRIVATE_INIT
      Src: /src/glib/glib/gcharset.c:797,1
    - Dst: g_private_set
      Src: /src/glib/glib/gcharset.c:808,1
    - Dst: g_hash_table_remove
      Src: /src/glib/glib/gcharset.c:822,1
    - Dst: g_strdup
      Src: /src/glib/glib/gcharset.c:834,1
    - Dst: unalias_lang
      Src: /src/glib/glib/gcharset.c:828,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/gcharset.c:831,1
    - Dst: g_strsplit
      Src: /src/glib/glib/gcharset.c:826,1
    - Dst: g_strdup
      Src: /src/glib/glib/gcharset.c:830,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gcharset.c:802,1
    - Dst: g_new0
      Src: /src/glib/glib/gcharset.c:833,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/gcharset.c:830,1
    - Dst: append_locale_variants
      Src: /src/glib/glib/gcharset.c:828,1
    - Dst: g_private_get
      Src: /src/glib/glib/gcharset.c:798,1
    - Dst: guess_category_value
      Src: /src/glib/glib/gcharset.c:811,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/gcharset.c:815,1
    - Dst: strcmp
      Src: /src/glib/glib/gcharset.c:817,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gcharset.c:829,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/gcharset.c:836,1
    - Dst: g_strdup
      Src: /src/glib/glib/gcharset.c:836,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/gcharset.c:806,1
    - Dst: g_ptr_array_sized_new
      Src: /src/glib/glib/gcharset.c:824,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/gcharset.c:835,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 840
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 840
    functionName: g_get_language_names_with_category
    functionSourceFile: /src/glib/glib/gcharset.c
    functionUses: []
    functionsReached:
    - g_ptr_array_sized_new
    - strcmp
    - g_hash_table_new_full
    - g_strsplit
    - g_private_set
    - g_hash_table_lookup
    - g_hash_table_insert
    - g_strfreev
    - g_private_get
    - append_locale_variants
    - g_ptr_array_add
    - g_strdup
    - g_hash_table_remove
    - G_PRIVATE_INIT
    - g_ptr_array_free
    - guess_category_value
    - g_return_val_if_fail
    - unalias_lang
    - g_new0
    linkageType: ''
    returnType: gchar**
    signature: 'const gchar * const *g_get_language_names_with_category (const gchar
      *category_name) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/glib/glib/gcharset.c:448,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/gcharset.c:486,1
    - Dst: g_strstrip
      Src: /src/glib/glib/gcharset.c:455,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/gcharset.c:485,1
    - Dst: fgets
      Src: /src/glib/glib/gcharset.c:451,1
    - Dst: g_strdup
      Src: /src/glib/glib/gcharset.c:486,1
    - Dst: g_strdup
      Src: /src/glib/glib/gcharset.c:486,1
    - Dst: fclose
      Src: /src/glib/glib/gcharset.c:489,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 43
    argCount: 2
    argNames:
    - file
    - alias_table
    argTypes:
    - gchar*
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 490
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 490
    functionName: read_aliases
    functionSourceFile: /src/glib/glib/gcharset.c
    functionUses: []
    functionsReached:
    - fgets
    - g_strdup
    - fclose
    - g_hash_table_lookup
    - g_hash_table_insert
    - fopen
    - g_strstrip
    linkageType: ''
    returnType: void
    signature: 'static void read_aliases (const gchar *file, GHashTable *alias_table) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gpathbuf.c:103,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gpathbuf.c:104,1
    - Dst: g_path_buf_push
      Src: /src/glib/glib/gpathbuf.c:111,1
    - Dst: g_path_buf_init
      Src: /src/glib/glib/gpathbuf.c:106,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 112
    functionName: g_path_buf_init_from_path
    functionSourceFile: /src/glib/glib/gpathbuf.c
    functionUses: []
    functionsReached:
    - g_path_buf_init
    - g_return_val_if_fail
    - g_path_buf_push
    linkageType: ''
    returnType: GPathBuf*
    signature: 'GPathBuf *g_path_buf_init_from_path (GPathBuf *buf, const char *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PATH_BUF
      Src: /src/glib/glib/gpathbuf.c:129,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gpathbuf.c:131,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gpathbuf.c:134,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gpathbuf.c:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GPathBuf*
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: g_path_buf_clear
    functionSourceFile: /src/glib/glib/gpathbuf.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - PATH_BUF
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_path_buf_clear (GPathBuf *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_path_buf_init_from_path
      Src: /src/glib/glib/gpathbuf.c:192,1
    - Dst: g_new
      Src: /src/glib/glib/gpathbuf.c:192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: g_path_buf_new_from_path
    functionSourceFile: /src/glib/glib/gpathbuf.c
    functionUses: []
    functionsReached:
    - g_path_buf_init_from_path
    - g_new
    linkageType: ''
    returnType: GPathBuf*
    signature: 'GPathBuf *g_path_buf_new_from_path (const char *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gpathbuf.c:232,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gpathbuf.c:237,1
    - Dst: g_path_buf_clear_to_path
      Src: /src/glib/glib/gpathbuf.c:234,1
    - Dst: g_path_buf_free
      Src: /src/glib/glib/gpathbuf.c:235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 238
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 238
    functionName: g_path_buf_free_to_path
    functionSourceFile: /src/glib/glib/gpathbuf.c
    functionUses: []
    functionsReached:
    - g_path_buf_clear_to_path
    - g_return_val_if_fail
    - g_path_buf_free
    - g_steal_pointer
    linkageType: ''
    returnType: char*
    signature: 'char *g_path_buf_free_to_path (GPathBuf *buf) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PATH_BUF
      Src: /src/glib/glib/gpathbuf.c:253,1
    - Dst: g_path_buf_new
      Src: /src/glib/glib/gpathbuf.c:259,1
    - Dst: PATH_BUF
      Src: /src/glib/glib/gpathbuf.c:260,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gpathbuf.c:257,1
    - Dst: g_ptr_array_new_null_terminated
      Src: /src/glib/glib/gpathbuf.c:264,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/gpathbuf.c:267,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/gpathbuf.c:270,1
    - Dst: g_strdup
      Src: /src/glib/glib/gpathbuf.c:270,1
    - Dst: g_strdup
      Src: /src/glib/glib/gpathbuf.c:274,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 277
    functionName: g_path_buf_copy
    functionSourceFile: /src/glib/glib/gpathbuf.c
    functionUses: []
    functionsReached:
    - PATH_BUF
    - g_return_val_if_fail
    - g_strdup
    - g_ptr_array_new_null_terminated
    - g_path_buf_new
    - g_ptr_array_index
    - g_ptr_array_add
    linkageType: ''
    returnType: GPathBuf*
    signature: 'GPathBuf *g_path_buf_copy (GPathBuf *buf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gpathbuf.c:475,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gpathbuf.c:476,1
    - Dst: PATH_BUF
      Src: /src/glib/glib/gpathbuf.c:478,1
    - Dst: g_path_buf_pop
      Src: /src/glib/glib/gpathbuf.c:481,1
    - Dst: g_path_buf_push
      Src: /src/glib/glib/gpathbuf.c:482,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - buf
    - file_name
    argTypes:
    - GPathBuf*
    - char*
    constantsTouched: []
    func_position:
      end: 485
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 485
    functionName: g_path_buf_set_filename
    functionSourceFile: /src/glib/glib/gpathbuf.c
    functionUses: []
    functionsReached:
    - PATH_BUF
    - g_return_val_if_fail
    - g_path_buf_pop
    - g_path_buf_push
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_path_buf_set_filename (GPathBuf *buf, const char *file_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PATH_BUF
      Src: /src/glib/glib/gpathbuf.c:507,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gpathbuf.c:509,1
    - Dst: g_set_str
      Src: /src/glib/glib/gpathbuf.c:512,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - buf
    - extension
    argTypes:
    - GPathBuf*
    - char*
    constantsTouched: []
    func_position:
      end: 515
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 515
    functionName: g_path_buf_set_extension
    functionSourceFile: /src/glib/glib/gpathbuf.c
    functionUses: []
    functionsReached:
    - PATH_BUF
    - g_return_val_if_fail
    - g_set_str
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_path_buf_set_extension (GPathBuf *buf, const char *extension) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PATH_BUF
      Src: /src/glib/glib/gpathbuf.c:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: g_path_buf_init
    functionSourceFile: /src/glib/glib/gpathbuf.c
    functionUses: []
    functionsReached:
    - PATH_BUF
    linkageType: ''
    returnType: GPathBuf*
    signature: 'GPathBuf *g_path_buf_init (GPathBuf *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_path_buf_init
      Src: /src/glib/glib/gpathbuf.c:176,1
    - Dst: g_new
      Src: /src/glib/glib/gpathbuf.c:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: g_path_buf_new
    functionSourceFile: /src/glib/glib/gpathbuf.c
    functionUses: []
    functionsReached:
    - g_path_buf_init
    - g_new
    linkageType: ''
    returnType: GPathBuf*
    signature: 'GPathBuf *g_path_buf_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gpathbuf.c:156,1
    - Dst: g_path_buf_clear
      Src: /src/glib/glib/gpathbuf.c:159,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gpathbuf.c:161,1
    - Dst: g_path_buf_to_path
      Src: /src/glib/glib/gpathbuf.c:158,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 162
    functionName: g_path_buf_clear_to_path
    functionSourceFile: /src/glib/glib/gpathbuf.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_return_val_if_fail
    - g_path_buf_clear
    - g_path_buf_to_path
    linkageType: ''
    returnType: char*
    signature: 'char *g_path_buf_clear_to_path (GPathBuf *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gpathbuf.c:206,1
    - Dst: g_free
      Src: /src/glib/glib/gpathbuf.c:209,1
    - Dst: g_path_buf_clear
      Src: /src/glib/glib/gpathbuf.c:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GPathBuf*
    constantsTouched: []
    func_position:
      end: 210
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 210
    functionName: g_path_buf_free
    functionSourceFile: /src/glib/glib/gpathbuf.c
    functionUses: []
    functionsReached:
    - g_free
    - g_path_buf_clear
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_path_buf_free (GPathBuf *buf) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gpathbuf.c:322,1
    - Dst: g_strv_length
      Src: /src/glib/glib/gpathbuf.c:346,1
    - Dst: PATH_BUF
      Src: /src/glib/glib/gpathbuf.c:320,1
    - Dst: g_path_is_absolute
      Src: /src/glib/glib/gpathbuf.c:325,1
    - Dst: g_strsplit
      Src: /src/glib/glib/gpathbuf.c:330,1
    - Dst: g_strdup
      Src: /src/glib/glib/gpathbuf.c:342,1
    - Dst: g_free
      Src: /src/glib/glib/gpathbuf.c:354,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/gpathbuf.c:352,1
    - Dst: g_ptr_array_new_null_terminated
      Src: /src/glib/glib/gpathbuf.c:364,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gpathbuf.c:323,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gpathbuf.c:345,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gpathbuf.c:352,1
    - Dst: g_strv_length
      Src: /src/glib/glib/gpathbuf.c:364,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/gpathbuf.c:370,1
    - Dst: g_free
      Src: /src/glib/glib/gpathbuf.c:357,1
    - Dst: g_free
      Src: /src/glib/glib/gpathbuf.c:372,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/gpathbuf.c:328,1
    - Dst: g_free
      Src: /src/glib/glib/gpathbuf.c:341,1
    - Dst: g_ptr_array_new_null_terminated
      Src: /src/glib/glib/gpathbuf.c:346,1
    - Dst: g_strsplit
      Src: /src/glib/glib/gpathbuf.c:361,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gpathbuf.c:370,1
    - Dst: g_free
      Src: /src/glib/glib/gpathbuf.c:375,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 379
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 379
    functionName: g_path_buf_push
    functionSourceFile: /src/glib/glib/gpathbuf.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - PATH_BUF
    - g_return_val_if_fail
    - g_strdup
    - g_strv_length
    - g_clear_pointer
    - g_ptr_array_new_null_terminated
    - g_strsplit
    - g_strsplit_set
    - g_free
    - g_ptr_array_add
    - g_path_is_absolute
    linkageType: ''
    returnType: GPathBuf*
    signature: 'GPathBuf *g_path_buf_push (GPathBuf *buf, const char *path) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PATH_BUF
      Src: /src/glib/glib/gpathbuf.c:416,1
    - Dst: g_ptr_array_remove_index
      Src: /src/glib/glib/gpathbuf.c:424,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gpathbuf.c:418,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gpathbuf.c:419,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GPathBuf*
    constantsTouched: []
    func_position:
      end: 429
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 429
    functionName: g_path_buf_pop
    functionSourceFile: /src/glib/glib/gpathbuf.c
    functionUses: []
    functionsReached:
    - g_ptr_array_remove_index
    - PATH_BUF
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_path_buf_pop (GPathBuf *buf) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PATH_BUF
      Src: /src/glib/glib/gpathbuf.c:535,1
    - Dst: g_free
      Src: /src/glib/glib/gpathbuf.c:547,1
    - Dst: g_strconcat
      Src: /src/glib/glib/gpathbuf.c:545,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gpathbuf.c:538,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/gpathbuf.c:541,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gpathbuf.c:548,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 552
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 552
    functionName: g_path_buf_to_path
    functionSourceFile: /src/glib/glib/gpathbuf.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - PATH_BUF
    - g_return_val_if_fail
    - g_strconcat
    - g_build_filenamev
    - g_free
    linkageType: ''
    returnType: char*
    signature: 'char *g_path_buf_to_path (GPathBuf *buf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_path_buf_to_path
      Src: /src/glib/glib/gpathbuf.c:584,1
    - Dst: g_free
      Src: /src/glib/glib/gpathbuf.c:591,1
    - Dst: g_str_equal
      Src: /src/glib/glib/gpathbuf.c:588,1
    - Dst: g_path_buf_to_path
      Src: /src/glib/glib/gpathbuf.c:585,1
    - Dst: g_free
      Src: /src/glib/glib/gpathbuf.c:592,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 595
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 595
    functionName: g_path_buf_equal
    functionSourceFile: /src/glib/glib/gpathbuf.c
    functionUses: []
    functionsReached:
    - g_str_equal
    - g_free
    - g_path_buf_to_path
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_path_buf_equal (gconstpointer v1, gconstpointer v2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:355,1
    - Dst: g_variant_type_string_scan
      Src: /src/glib/glib/gvarianttype.c:357,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - type_string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 361
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 361
    functionName: g_variant_type_string_is_valid
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - g_variant_type_string_scan
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_variant_type_string_is_valid (const gchar *type_string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:688,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/glib/gvarianttype.c:690,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:688,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - type
    argTypes:
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 691
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 691
    functionName: g_variant_type_is_array
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - g_variant_type_check
    - g_return_val_if_fail
    - g_variant_type_peek_string
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_variant_type_is_array (const GVariantType *type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:327,1
    - Dst: variant_type_string_scan_internal
      Src: /src/glib/glib/gvarianttype.c:329,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - type_string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 335
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 335
    functionName: g_variant_type_string_get_depth_
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - variant_type_string_scan_internal
    - g_return_val_if_fail
    linkageType: ''
    returnType: gsize
    signature: 'gsize g_variant_type_string_get_depth_ (const gchar *type_string) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:454,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:454,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 1
    argNames:
    - type
    argTypes:
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 472
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 472
    functionName: g_variant_type_get_string_length
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - g_variant_type_check
    - g_return_val_if_fail
    linkageType: ''
    returnType: gsize
    signature: 'gsize g_variant_type_get_string_length (const GVariantType *type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:546,1
    - Dst: g_variant_type_get_string_length
      Src: /src/glib/glib/gvarianttype.c:548,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:546,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/glib/gvarianttype.c:549,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - type
    argTypes:
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 558
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 558
    functionName: g_variant_type_is_definite
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - g_variant_type_check
    - g_return_val_if_fail
    - g_variant_type_peek_string
    - g_variant_type_get_string_length
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_variant_type_is_definite (const GVariantType *type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:738,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/glib/gvarianttype.c:740,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:738,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - type
    argTypes:
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 741
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 741
    functionName: g_variant_type_is_dict_entry
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - g_variant_type_check
    - g_return_val_if_fail
    - g_variant_type_peek_string
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_variant_type_is_dict_entry (const GVariantType *type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:804,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:804,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:805,1
    - Dst: _g_variant_type_equal
      Src: /src/glib/glib/gvarianttype.c:807,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:805,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - type1
    - type2
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 808
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 808
    functionName: g_variant_type_equal
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - g_variant_type_check
    - _g_variant_type_equal
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_variant_type_equal (gconstpointer type1, gconstpointer
      type2) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:832,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/glib/gvarianttype.c:835,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:833,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:832,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:833,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/glib/gvarianttype.c:836,1
    - Dst: g_variant_type_get_string_length
      Src: /src/glib/glib/gvarianttype.c:857,1
    - Dst: g_variant_type_is_tuple
      Src: /src/glib/glib/gvarianttype.c:879,1
    - Dst: g_variant_type_is_basic
      Src: /src/glib/glib/gvarianttype.c:887,1
    - Dst: g_variant_type_get_string_length
      Src: /src/glib/glib/gvarianttype.c:895,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 27
    argCount: 2
    argNames:
    - type
    - supertype
    argTypes:
    - GVariantType*
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 900
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 900
    functionName: g_variant_type_is_subtype_of
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_variant_type_get_string_length
    - g_variant_type_is_tuple
    - g_variant_type_peek_string
    - g_variant_type_is_basic
    - g_variant_type_check
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_variant_type_is_subtype_of (const GVariantType *type, const
      GVariantType *supertype) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:955,1
    - Dst: g_assert
      Src: /src/glib/glib/gvarianttype.c:958,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:955,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/glib/gvarianttype.c:957,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 964
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 964
    functionName: g_variant_type_first
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - g_variant_type_check
    - g_return_val_if_fail
    - g_variant_type_peek_string
    - g_assert
    linkageType: ''
    returnType: GVariantType*
    signature: 'const GVariantType *g_variant_type_first (const GVariantType *type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:714,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/glib/gvarianttype.c:716,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:714,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - type
    argTypes:
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 718
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 718
    functionName: g_variant_type_is_tuple
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - g_variant_type_check
    - g_return_val_if_fail
    - g_variant_type_peek_string
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_variant_type_is_tuple (const GVariantType *type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:776,1
    - Dst: _g_variant_type_hash
      Src: /src/glib/glib/gvarianttype.c:778,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:776,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - type
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 779
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 779
    functionName: g_variant_type_hash
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - g_variant_type_check
    - g_return_val_if_fail
    - _g_variant_type_hash
    linkageType: ''
    returnType: guint
    signature: 'guint g_variant_type_hash (gconstpointer type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:401,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:401,1
    - Dst: g_variant_type_get_string_length
      Src: /src/glib/glib/gvarianttype.c:403,1
    - Dst: g_malloc
      Src: /src/glib/glib/gvarianttype.c:404,1
    - Dst: memcpy
      Src: /src/glib/glib/gvarianttype.c:406,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 410
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 410
    functionName: g_variant_type_copy
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_return_val_if_fail
    - g_variant_type_get_string_length
    - g_malloc
    - g_variant_type_check
    linkageType: ''
    returnType: GVariantType*
    signature: 'GVariantType *g_variant_type_copy (const GVariantType *type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:515,1
    - Dst: g_strndup
      Src: /src/glib/glib/gvarianttype.c:517,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/glib/gvarianttype.c:517,1
    - Dst: g_variant_type_get_string_length
      Src: /src/glib/glib/gvarianttype.c:518,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:515,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 519
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 519
    functionName: g_variant_type_dup_string
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_variant_type_get_string_length
    - g_strndup
    - g_variant_type_peek_string
    - g_variant_type_check
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_variant_type_dup_string (const GVariantType *type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:665,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/glib/gvarianttype.c:667,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:665,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - type
    argTypes:
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 668
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 668
    functionName: g_variant_type_is_maybe
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - g_variant_type_check
    - g_return_val_if_fail
    - g_variant_type_peek_string
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_variant_type_is_maybe (const GVariantType *type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:1024,1
    - Dst: g_variant_type_next
      Src: /src/glib/glib/gvarianttype.c:1028,1
    - Dst: g_variant_type_first
      Src: /src/glib/glib/gvarianttype.c:1026,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:1024,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - type
    argTypes:
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 1032
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1032
    functionName: g_variant_type_n_items
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - g_variant_type_check
    - g_variant_type_next
    - g_return_val_if_fail
    - g_variant_type_first
    linkageType: ''
    returnType: gsize
    signature: 'gsize g_variant_type_n_items (const GVariantType *type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:1078,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/glib/gvarianttype.c:1081,1
    - Dst: g_variant_type_next
      Src: /src/glib/glib/gvarianttype.c:1085,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:1078,1
    - Dst: g_assert
      Src: /src/glib/glib/gvarianttype.c:1082,1
    - Dst: g_variant_type_key
      Src: /src/glib/glib/gvarianttype.c:1085,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1071
    functionDepth: 0
    functionLinenumber: 1071
    functionLinenumberEnd: 1086
    functionName: g_variant_type_value
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_assert
    - g_variant_type_key
    - g_variant_type_peek_string
    - g_variant_type_next
    - g_variant_type_check
    linkageType: ''
    returnType: GVariantType*
    signature: 'const GVariantType *g_variant_type_value (const GVariantType *type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:1191,1
    - Dst: g_malloc
      Src: /src/glib/glib/gvarianttype.c:1194,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:1191,1
    - Dst: memcpy
      Src: /src/glib/glib/gvarianttype.c:1197,1
    - Dst: g_variant_type_get_string_length
      Src: /src/glib/glib/gvarianttype.c:1193,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1200
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1200
    functionName: g_variant_type_new_array
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_return_val_if_fail
    - g_variant_type_get_string_length
    - g_malloc
    - g_variant_type_check
    linkageType: ''
    returnType: GVariantType*
    signature: 'GVariantType *g_variant_type_new_array (const GVariantType *element) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gvarianttype.c:378,1
    - Dst: g_free
      Src: /src/glib/glib/gvarianttype.c:380,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:378,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 381
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 381
    functionName: g_variant_type_free
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - g_variant_type_check
    - g_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_variant_type_free (GVariantType *type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:495,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:495,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 498
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 498
    functionName: g_variant_type_peek_string
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - g_variant_type_check
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_variant_type_peek_string (const GVariantType *type) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:581,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/glib/gvarianttype.c:583,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:581,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 597
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 597
    functionName: g_variant_type_is_container
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - g_variant_type_check
    - g_return_val_if_fail
    - g_variant_type_peek_string
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_variant_type_is_container (const GVariantType *type) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:621,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/glib/gvarianttype.c:623,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:621,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 645
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 645
    functionName: g_variant_type_is_basic
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - g_variant_type_check
    - g_return_val_if_fail
    - g_variant_type_peek_string
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_variant_type_is_basic (const GVariantType *type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:755,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:755,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/glib/gvarianttype.c:757,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - type
    argTypes:
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 758
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 758
    functionName: g_variant_type_is_variant
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - g_variant_type_check
    - g_return_val_if_fail
    - g_variant_type_peek_string
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_variant_type_is_variant (const GVariantType *type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:918,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/glib/gvarianttype.c:920,1
    - Dst: g_assert
      Src: /src/glib/glib/gvarianttype.c:922,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:918,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 925
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 925
    functionName: g_variant_type_element
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - g_variant_type_check
    - g_return_val_if_fail
    - g_variant_type_peek_string
    - g_assert
    linkageType: ''
    returnType: GVariantType*
    signature: 'const GVariantType *g_variant_type_element (const GVariantType *type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:991,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:991,1
    - Dst: g_variant_type_get_string_length
      Src: /src/glib/glib/gvarianttype.c:994,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/glib/gvarianttype.c:993,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 986
    functionDepth: 0
    functionLinenumber: 986
    functionLinenumberEnd: 1000
    functionName: g_variant_type_next
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - g_variant_type_check
    - g_return_val_if_fail
    - g_variant_type_peek_string
    - g_variant_type_get_string_length
    linkageType: ''
    returnType: GVariantType*
    signature: 'const GVariantType *g_variant_type_next (const GVariantType *type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:1140,1
    - Dst: g_variant_type_new_tuple_slow
      Src: /src/glib/glib/gvarianttype.c:1161,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:1155,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:1155,1
    - Dst: g_variant_type_get_string_length
      Src: /src/glib/glib/gvarianttype.c:1158,1
    - Dst: memcpy
      Src: /src/glib/glib/gvarianttype.c:1163,1
    - Dst: g_assert
      Src: /src/glib/glib/gvarianttype.c:1167,1
    - Dst: g_memdup2
      Src: /src/glib/glib/gvarianttype.c:1170,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1131
    functionDepth: 0
    functionLinenumber: 1131
    functionLinenumberEnd: 1171
    functionName: g_variant_type_new_tuple
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_return_val_if_fail
    - g_variant_type_get_string_length
    - g_assert
    - g_variant_type_new_tuple_slow
    - g_memdup2
    - g_variant_type_check
    linkageType: ''
    returnType: GVariantType*
    signature: 'GVariantType *g_variant_type_new_tuple (const GVariantType * const
      *items, gint length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_string_scan
      Src: /src/glib/glib/gvarianttype.c:199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - type
    argTypes:
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 203
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 203
    functionName: g_variant_type_check
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - g_variant_type_string_scan
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_variant_type_check (const GVariantType *type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: variant_type_string_scan_internal
      Src: /src/glib/glib/gvarianttype.c:304,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - string
    - limit
    - endptr
    argTypes:
    - gchar*
    - gchar*
    - gchar**
    constantsTouched: []
    func_position:
      end: 306
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 306
    functionName: g_variant_type_string_scan
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - variant_type_string_scan_internal
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_variant_type_string_scan (const gchar *string, const gchar
      *limit, const gchar **endptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:430,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/gvarianttype.c:432,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/gvarianttype.c:432,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 433
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 433
    functionName: g_variant_type_new
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - g_variant_type_copy
    - g_return_val_if_fail
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: GVariantType*
    signature: 'GVariantType *g_variant_type_new (const gchar *type_string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:1251,1
    - Dst: g_variant_type_get_string_length
      Src: /src/glib/glib/gvarianttype.c:1254,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:1252,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:1251,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:1252,1
    - Dst: g_variant_type_get_string_length
      Src: /src/glib/glib/gvarianttype.c:1255,1
    - Dst: g_malloc
      Src: /src/glib/glib/gvarianttype.c:1257,1
    - Dst: memcpy
      Src: /src/glib/glib/gvarianttype.c:1260,1
    - Dst: memcpy
      Src: /src/glib/glib/gvarianttype.c:1261,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1244
    functionDepth: 0
    functionLinenumber: 1244
    functionLinenumberEnd: 1265
    functionName: g_variant_type_new_dict_entry
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_return_val_if_fail
    - g_variant_type_get_string_length
    - g_malloc
    - g_variant_type_check
    linkageType: ''
    returnType: GVariantType*
    signature: 'GVariantType *g_variant_type_new_dict_entry (const GVariantType *key,
      const GVariantType *value) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:214,1
    - Dst: MAX
      Src: /src/glib/glib/gvarianttype.c:230,1
    - Dst: strchr
      Src: /src/glib/glib/gvarianttype.c:239,1
    - Dst: variant_type_string_scan_internal
      Src: /src/glib/glib/gvarianttype.c:240,1
    - Dst: variant_type_string_scan_internal
      Src: /src/glib/glib/gvarianttype.c:225,1
    - Dst: MAX
      Src: /src/glib/glib/gvarianttype.c:245,1
    - Dst: variant_type_string_scan_internal
      Src: /src/glib/glib/gvarianttype.c:250,1
    - Dst: MAX
      Src: /src/glib/glib/gvarianttype.c:254,1
    - Dst: MAX
      Src: /src/glib/glib/gvarianttype.c:260,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 52
    argCount: 5
    argNames:
    - string
    - limit
    - endptr
    - depth
    - depth_limit
    argTypes:
    - gchar*
    - gchar*
    - gchar**
    - gsize*
    - gsize
    constantsTouched: []
    func_position:
      end: 273
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 273
    functionName: variant_type_string_scan_internal
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - variant_type_string_scan_internal
    - strchr
    - g_return_val_if_fail
    - MAX
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean variant_type_string_scan_internal (const gchar *string,
      const gchar *limit, const gchar **endptr, gsize *depth, gsize depth_limit) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:1052,1
    - Dst: g_assert
      Src: /src/glib/glib/gvarianttype.c:1055,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:1052,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/glib/gvarianttype.c:1054,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1047
    functionDepth: 0
    functionLinenumber: 1047
    functionLinenumberEnd: 1058
    functionName: g_variant_type_key
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - g_variant_type_check
    - g_return_val_if_fail
    - g_variant_type_peek_string
    - g_assert
    linkageType: ''
    returnType: GVariantType*
    signature: 'const GVariantType *g_variant_type_key (const GVariantType *type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/gvarianttype.c:1114,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:1120,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:1120,1
    - Dst: g_variant_type_get_string_length
      Src: /src/glib/glib/gvarianttype.c:1123,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gvarianttype.c:1124,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gvarianttype.c:1126,1
    - Dst: g_string_free
      Src: /src/glib/glib/gvarianttype.c:1128,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1103
    functionDepth: 0
    functionLinenumber: 1103
    functionLinenumberEnd: 1129
    functionName: g_variant_type_new_tuple_slow
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_string_append_len
    - g_variant_type_get_string_length
    - g_string_append_c
    - g_string_free
    - g_string_new
    - g_variant_type_check
    linkageType: ''
    returnType: GVariantType*
    signature: 'static GVariantType *g_variant_type_new_tuple_slow (const GVariantType
      * const *items, gint length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:1220,1
    - Dst: g_variant_type_check
      Src: /src/glib/glib/gvarianttype.c:1220,1
    - Dst: g_malloc
      Src: /src/glib/glib/gvarianttype.c:1223,1
    - Dst: memcpy
      Src: /src/glib/glib/gvarianttype.c:1226,1
    - Dst: g_variant_type_get_string_length
      Src: /src/glib/glib/gvarianttype.c:1222,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 1214
    functionDepth: 0
    functionLinenumber: 1214
    functionLinenumberEnd: 1229
    functionName: g_variant_type_new_maybe
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_return_val_if_fail
    - g_variant_type_get_string_length
    - g_malloc
    - g_variant_type_check
    linkageType: ''
    returnType: GVariantType*
    signature: 'GVariantType *g_variant_type_new_maybe (const GVariantType *element) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvarianttype.c:1271,1
    - Dst: g_variant_type_string_is_valid
      Src: /src/glib/glib/gvarianttype.c:1271,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1268
    functionDepth: 0
    functionLinenumber: 1268
    functionLinenumberEnd: 1273
    functionName: g_variant_type_checked_
    functionSourceFile: /src/glib/glib/gvarianttype.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_variant_type_string_is_valid
    linkageType: ''
    returnType: GVariantType*
    signature: 'const GVariantType *g_variant_type_checked_ (const gchar *type_string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/glib/gqueue.c:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: g_queue_new
    functionSourceFile: /src/glib/glib/gqueue.c
    functionUses: []
    functionsReached:
    - g_slice_new0
    linkageType: ''
    returnType: GQueue*
    signature: 'GQueue *g_queue_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gqueue.c:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - queue
    argTypes:
    - GQueue*
    constantsTouched: []
    func_position:
      end: 179
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 179
    functionName: g_queue_get_length
    functionSourceFile: /src/glib/glib/gqueue.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: guint
    signature: 'guint g_queue_get_length (GQueue *queue) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:343,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/gqueue.c:345,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - queue
    - data
    argTypes:
    - GQueue*
    - gpointer
    constantsTouched: []
    func_position:
      end: 349
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 349
    functionName: g_queue_push_head
    functionSourceFile: /src/glib/glib/gqueue.c
    functionUses: []
    functionsReached:
    - g_list_prepend
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_queue_push_head (GQueue *queue, gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:436,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:439,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:437,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:438,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - queue
    - link
    argTypes:
    - GQueue*
    - GList*
    constantsTouched: []
    func_position:
      end: 448
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 448
    functionName: g_queue_push_tail_link
    functionSourceFile: /src/glib/glib/gqueue.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_queue_push_tail_link (GQueue *queue, GList *link) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:1008,1
    - Dst: g_list_insert_before
      Src: /src/glib/glib/gqueue.c:1020,1
    - Dst: g_queue_push_tail
      Src: /src/glib/glib/gqueue.c:1016,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - queue
    - sibling
    - data
    argTypes:
    - GQueue*
    - GList*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1023
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1023
    functionName: g_queue_insert_before
    functionSourceFile: /src/glib/glib/gqueue.c
    functionUses: []
    functionsReached:
    - g_queue_push_tail
    - g_list_insert_before
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_queue_insert_before (GQueue *queue, GList *sibling, gpointer
      data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gqueue.c:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - queue
    argTypes:
    - GQueue*
    constantsTouched: []
    func_position:
      end: 161
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 161
    functionName: g_queue_is_empty
    functionSourceFile: /src/glib/glib/gqueue.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_queue_is_empty (GQueue *queue) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:415,1
    - Dst: g_list_append
      Src: /src/glib/glib/gqueue.c:417,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - queue
    - data
    argTypes:
    - GQueue*
    - gpointer
    constantsTouched: []
    func_position:
      end: 423
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 423
    functionName: g_queue_push_tail
    functionSourceFile: /src/glib/glib/gqueue.c
    functionUses: []
    functionsReached:
    - g_list_append
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_queue_push_tail (GQueue *queue, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gqueue.c:790,1
    - Dst: g_list_position
      Src: /src/glib/glib/gqueue.c:792,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - queue
    - link_
    argTypes:
    - GQueue*
    - GList*
    constantsTouched: []
    func_position:
      end: 793
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 793
    functionName: g_queue_link_index
    functionSourceFile: /src/glib/glib/gqueue.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_list_position
    linkageType: ''
    returnType: gint
    signature: 'gint g_queue_link_index (GQueue *queue, GList *link_) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gqueue.c:216,1
    - Dst: g_queue_push_tail
      Src: /src/glib/glib/gqueue.c:221,1
    - Dst: g_queue_new
      Src: /src/glib/glib/gqueue.c:218,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 224
    functionName: g_queue_copy
    functionSourceFile: /src/glib/glib/gqueue.c
    functionUses: []
    functionsReached:
    - g_queue_new
    - g_return_val_if_fail
    - g_queue_push_tail
    linkageType: ''
    returnType: GQueue*
    signature: 'GQueue *g_queue_copy (GQueue *queue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gqueue.c:301,1
    - Dst: g_list_find_custom
      Src: /src/glib/glib/gqueue.c:304,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gqueue.c:302,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 305
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 305
    functionName: g_queue_find_custom
    functionSourceFile: /src/glib/glib/gqueue.c
    functionUses: []
    functionsReached:
    - g_list_find_custom
    - g_return_val_if_fail
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_queue_find_custom (GQueue *queue, gconstpointer data, GCompareFunc
      func) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gqueue.c:618,1
    - Dst: g_list_free_1
      Src: /src/glib/glib/gqueue.c:631,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - queue
    argTypes:
    - GQueue*
    constantsTouched: []
    func_position:
      end: 637
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 637
    functionName: g_queue_pop_tail
    functionSourceFile: /src/glib/glib/gqueue.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_list_free_1
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_queue_pop_tail (GQueue *queue) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:811,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:812,1
    - Dst: g_list_remove_link
      Src: /src/glib/glib/gqueue.c:817,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - queue
    - link_
    argTypes:
    - GQueue*
    - GList*
    constantsTouched: []
    func_position:
      end: 819
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 819
    functionName: g_queue_unlink
    functionSourceFile: /src/glib/glib/gqueue.c
    functionUses: []
    functionsReached:
    - g_list_remove_link
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_queue_unlink (GQueue *queue, GList *link_) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gqueue.c:971,1
    - Dst: g_queue_delete_link
      Src: /src/glib/glib/gqueue.c:981,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - queue
    - data
    argTypes:
    - GQueue*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 987
      start: 964
    functionDepth: 0
    functionLinenumber: 964
    functionLinenumberEnd: 987
    functionName: g_queue_remove_all
    functionSourceFile: /src/glib/glib/gqueue.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_queue_delete_link
    linkageType: ''
    returnType: guint
    signature: 'guint g_queue_remove_all (GQueue *queue, gconstpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:1082,1
    - Dst: g_queue_insert_before
      Src: /src/glib/glib/gqueue.c:1087,1
    - Dst: g_queue_push_head
      Src: /src/glib/glib/gqueue.c:1085,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - queue
    - sibling
    - data
    argTypes:
    - GQueue*
    - GList*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1088
      start: 1077
    functionDepth: 0
    functionLinenumber: 1077
    functionLinenumberEnd: 1088
    functionName: g_queue_insert_after
    functionSourceFile: /src/glib/glib/gqueue.c
    functionUses: []
    functionsReached:
    - g_queue_insert_before
    - g_queue_push_head
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_queue_insert_after (GQueue *queue, GList *sibling, gpointer
      data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:60,1
    - Dst: g_list_free
      Src: /src/glib/glib/gqueue.c:62,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gqueue.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - queue
    argTypes:
    - GQueue*
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: g_queue_free
    functionSourceFile: /src/glib/glib/gqueue.c
    functionUses: []
    functionsReached:
    - g_list_free
    - g_slice_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_queue_free (GQueue *queue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:192,1
    - Dst: g_list_reverse
      Src: /src/glib/glib/gqueue.c:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - queue
    argTypes:
    - GQueue*
    constantsTouched: []
    func_position:
      end: 196
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 196
    functionName: g_queue_reverse
    functionSourceFile: /src/glib/glib/gqueue.c
    functionUses: []
    functionsReached:
    - g_list_reverse
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_queue_reverse (GQueue *queue) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:368,1
    - Dst: g_queue_push_tail
      Src: /src/glib/glib/gqueue.c:372,1
    - Dst: g_queue_insert_before
      Src: /src/glib/glib/gqueue.c:376,1
    - Dst: g_queue_peek_nth_link
      Src: /src/glib/glib/gqueue.c:376,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - queue
    - data
    - n
    argTypes:
    - GQueue*
    - gpointer
    - gint
    constantsTouched: []
    func_position:
      end: 377
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 377
    functionName: g_queue_push_nth
    functionSourceFile: /src/glib/glib/gqueue.c
    functionUses: []
    functionsReached:
    - g_queue_insert_before
    - g_queue_peek_nth_link
    - g_queue_push_tail
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_queue_push_nth (GQueue *queue, gpointer data, gint n) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:470,1
    - Dst: g_queue_push_tail_link
      Src: /src/glib/glib/gqueue.c:475,1
    - Dst: g_assert
      Src: /src/glib/glib/gqueue.c:479,1
    - Dst: g_assert
      Src: /src/glib/glib/gqueue.c:480,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:471,1
    - Dst: g_queue_peek_nth_link
      Src: /src/glib/glib/gqueue.c:482,1
    - Dst: g_assert
      Src: /src/glib/glib/gqueue.c:498,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - queue
    - n
    - link_
    argTypes:
    - GQueue*
    - gint
    - GList*
    constantsTouched: []
    func_position:
      end: 501
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 501
    functionName: g_queue_push_nth_link
    functionSourceFile: /src/glib/glib/gqueue.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_queue_peek_nth_link
    - g_queue_push_tail_link
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_queue_push_nth_link (GQueue *queue, gint n, GList *link_) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gqueue.c:943,1
    - Dst: g_list_find
      Src: /src/glib/glib/gqueue.c:945,1
    - Dst: g_queue_delete_link
      Src: /src/glib/glib/gqueue.c:948,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - queue
    - data
    argTypes:
    - GQueue*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 951
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 951
    functionName: g_queue_remove
    functionSourceFile: /src/glib/glib/gqueue.c
    functionUses: []
    functionsReached:
    - g_queue_delete_link
    - g_return_val_if_fail
    - g_list_find
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_queue_remove (GQueue *queue, gconstpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:1043,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:1045,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:1046,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:1044,1
    - Dst: g_queue_push_tail_link
      Src: /src/glib/glib/gqueue.c:1054,1
    - Dst: g_list_insert_before_link
      Src: /src/glib/glib/gqueue.c:1058,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - queue
    - sibling
    - link_
    argTypes:
    - GQueue*
    - GList*
    - GList*
    constantsTouched: []
    func_position:
      end: 1061
      start: 1038
    functionDepth: 0
    functionLinenumber: 1038
    functionLinenumberEnd: 1061
    functionName: g_queue_insert_before_link
    functionSourceFile: /src/glib/glib/gqueue.c
    functionUses: []
    functionsReached:
    - g_list_insert_before_link
    - g_queue_push_tail_link
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_queue_insert_before_link (GQueue *queue, GList *sibling, GList
      *link_) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:1142,1
    - Dst: func
      Src: /src/glib/glib/gqueue.c:1145,1
    - Dst: g_queue_insert_before
      Src: /src/glib/glib/gqueue.c:1148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - queue
    - data
    - func
    - user_data
    argTypes:
    - GQueue*
    - gpointer
    - GCompareDataFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 1149
      start: 1134
    functionDepth: 0
    functionLinenumber: 1134
    functionLinenumberEnd: 1149
    functionName: g_queue_insert_sorted
    functionSourceFile: /src/glib/glib/gqueue.c
    functionUses: []
    functionsReached:
    - g_queue_insert_before
    - func
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_queue_insert_sorted (GQueue *queue, gpointer data, GCompareDataFunc
      func, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:139,1
    - Dst: g_queue_foreach
      Src: /src/glib/glib/gqueue.c:142,1
    - Dst: g_queue_clear
      Src: /src/glib/glib/gqueue.c:144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - queue
    - free_func
    argTypes:
    - GQueue*
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 145
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 145
    functionName: g_queue_clear_full
    functionSourceFile: /src/glib/glib/gqueue.c
    functionUses: []
    functionsReached:
    - g_queue_clear
    - g_queue_foreach
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_queue_clear_full (GQueue *queue, GDestroyNotify free_func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:247,1
    - Dst: func
      Src: /src/glib/glib/gqueue.c:254,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:248,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - queue
    - func
    - user_data
    argTypes:
    - GQueue*
    - GFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 257
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 257
    functionName: g_queue_foreach
    functionSourceFile: /src/glib/glib/gqueue.c
    functionUses: []
    functionsReached:
    - func
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_queue_foreach (GQueue *queue, GFunc func, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gqueue.c:548,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 568
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 568
    functionName: g_queue_pop_head_link
    functionSourceFile: /src/glib/glib/gqueue.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_queue_pop_head_link (GQueue *queue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gqueue.c:601,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 604
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 604
    functionName: g_queue_peek_tail_link
    functionSourceFile: /src/glib/glib/gqueue.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_queue_peek_tail_link (GQueue *queue) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gqueue.c:682,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 702
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 702
    functionName: g_queue_pop_tail_link
    functionSourceFile: /src/glib/glib/gqueue.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_queue_pop_tail_link (GQueue *queue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gqueue.c:855,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - queue
    argTypes:
    - GQueue*
    constantsTouched: []
    func_position:
      end: 858
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 858
    functionName: g_queue_peek_head
    functionSourceFile: /src/glib/glib/gqueue.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_queue_peek_head (GQueue *queue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:119,1
    - Dst: g_list_free
      Src: /src/glib/glib/gqueue.c:121,1
    - Dst: g_queue_init
      Src: /src/glib/glib/gqueue.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - queue
    argTypes:
    - GQueue*
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: g_queue_clear
    functionSourceFile: /src/glib/glib/gqueue.c
    functionUses: []
    functionsReached:
    - g_list_free
    - g_queue_init
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_queue_clear (GQueue *queue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:325,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:326,1
    - Dst: g_list_sort_with_data
      Src: /src/glib/glib/gqueue.c:328,1
    - Dst: g_list_last
      Src: /src/glib/glib/gqueue.c:329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - queue
    - compare_func
    - user_data
    argTypes:
    - GQueue*
    - GCompareDataFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 330
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 330
    functionName: g_queue_sort
    functionSourceFile: /src/glib/glib/gqueue.c
    functionUses: []
    functionsReached:
    - g_list_last
    - g_list_sort_with_data
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_queue_sort (GQueue *queue, GCompareDataFunc compare_func, gpointer
      user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gqueue.c:515,1
    - Dst: g_list_free_1
      Src: /src/glib/glib/gqueue.c:527,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - queue
    argTypes:
    - GQueue*
    constantsTouched: []
    func_position:
      end: 534
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 534
    functionName: g_queue_pop_head
    functionSourceFile: /src/glib/glib/gqueue.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_list_free_1
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_queue_pop_head (GQueue *queue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gqueue.c:583,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 586
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 586
    functionName: g_queue_peek_head_link
    functionSourceFile: /src/glib/glib/gqueue.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_queue_peek_head_link (GQueue *queue) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gqueue.c:657,1
    - Dst: g_queue_peek_nth_link
      Src: /src/glib/glib/gqueue.c:662,1
    - Dst: g_queue_delete_link
      Src: /src/glib/glib/gqueue.c:665,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - queue
    - n
    argTypes:
    - GQueue*
    - guint
    constantsTouched: []
    func_position:
      end: 668
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 668
    functionName: g_queue_pop_nth
    functionSourceFile: /src/glib/glib/gqueue.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_queue_delete_link
    - g_queue_peek_nth_link
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_queue_pop_nth (GQueue *queue, guint n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:836,1
    - Dst: g_list_free
      Src: /src/glib/glib/gqueue.c:840,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:837,1
    - Dst: g_queue_unlink
      Src: /src/glib/glib/gqueue.c:839,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - queue
    - link_
    argTypes:
    - GQueue*
    - GList*
    constantsTouched: []
    func_position:
      end: 841
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 841
    functionName: g_queue_delete_link
    functionSourceFile: /src/glib/glib/gqueue.c
    functionUses: []
    functionsReached:
    - g_queue_unlink
    - g_list_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_queue_delete_link (GQueue *queue, GList *link_) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:1108,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:1111,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:1109,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:1110,1
    - Dst: g_queue_push_head_link
      Src: /src/glib/glib/gqueue.c:1114,1
    - Dst: g_queue_insert_before_link
      Src: /src/glib/glib/gqueue.c:1116,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - queue
    - sibling
    - link_
    argTypes:
    - GQueue*
    - GList*
    - GList*
    constantsTouched: []
    func_position:
      end: 1117
      start: 1103
    functionDepth: 0
    functionLinenumber: 1103
    functionLinenumberEnd: 1117
    functionName: g_queue_insert_after_link
    functionSourceFile: /src/glib/glib/gqueue.c
    functionUses: []
    functionsReached:
    - g_queue_insert_before_link
    - g_queue_push_head_link
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_queue_insert_after_link (GQueue *queue, GList *sibling, GList
      *link_) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - queue
    argTypes:
    - GQueue*
    constantsTouched: []
    func_position:
      end: 105
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 105
    functionName: g_queue_init
    functionSourceFile: /src/glib/glib/gqueue.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_queue_init (GQueue *queue) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:390,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:392,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:393,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gqueue.c:391,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - queue
    - link
    argTypes:
    - GQueue*
    - GList*
    constantsTouched: []
    func_position:
      end: 402
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 402
    functionName: g_queue_push_head_link
    functionSourceFile: /src/glib/glib/gqueue.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_queue_push_head_link (GQueue *queue, GList *link) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gqueue.c:751,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 772
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 772
    functionName: g_queue_peek_nth_link
    functionSourceFile: /src/glib/glib/gqueue.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_queue_peek_nth_link (GQueue *queue, guint n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gqueue.c:921,1
    - Dst: g_list_index
      Src: /src/glib/glib/gqueue.c:923,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - queue
    - data
    argTypes:
    - GQueue*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 924
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 924
    functionName: g_queue_index
    functionSourceFile: /src/glib/glib/gqueue.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_list_index
    linkageType: ''
    returnType: gint
    signature: 'gint g_queue_index (GQueue *queue, gconstpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_queue_foreach
      Src: /src/glib/glib/gqueue.c:83,1
    - Dst: g_queue_free
      Src: /src/glib/glib/gqueue.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - queue
    - free_func
    argTypes:
    - GQueue*
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: g_queue_free_full
    functionSourceFile: /src/glib/glib/gqueue.c
    functionUses: []
    functionsReached:
    - g_queue_free
    - g_queue_foreach
    linkageType: ''
    returnType: void
    signature: 'void g_queue_free_full (GQueue *queue, GDestroyNotify free_func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gqueue.c:274,1
    - Dst: g_list_find
      Src: /src/glib/glib/gqueue.c:276,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 277
    functionName: g_queue_find
    functionSourceFile: /src/glib/glib/gqueue.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_list_find
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_queue_find (GQueue *queue, gconstpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gqueue.c:721,1
    - Dst: g_queue_peek_nth_link
      Src: /src/glib/glib/gqueue.c:726,1
    - Dst: g_queue_unlink
      Src: /src/glib/glib/gqueue.c:727,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 730
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 730
    functionName: g_queue_pop_nth_link
    functionSourceFile: /src/glib/glib/gqueue.c
    functionUses: []
    functionsReached:
    - g_queue_unlink
    - g_return_val_if_fail
    - g_queue_peek_nth_link
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_queue_pop_nth_link (GQueue *queue, guint n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gqueue.c:872,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - queue
    argTypes:
    - GQueue*
    constantsTouched: []
    func_position:
      end: 875
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 875
    functionName: g_queue_peek_tail
    functionSourceFile: /src/glib/glib/gqueue.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_queue_peek_tail (GQueue *queue) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gqueue.c:895,1
    - Dst: g_queue_peek_nth_link
      Src: /src/glib/glib/gqueue.c:897,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - queue
    - n
    argTypes:
    - GQueue*
    - guint
    constantsTouched: []
    func_position:
      end: 903
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 903
    functionName: g_queue_peek_nth
    functionSourceFile: /src/glib/glib/gqueue.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_queue_peek_nth_link
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_queue_peek_nth (GQueue *queue, guint n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/glib/glib/gtester.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: sindent
    functionSourceFile: /src/glib/glib/gtester.c
    functionUses: []
    functionsReached:
    - MIN
    linkageType: ''
    returnType: char*
    signature: 'static const char *sindent (guint n) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_io_channel_read_chars
      Src: /src/glib/glib/gtester.c:221,1
    - Dst: test_log_msg
      Src: /src/glib/glib/gtester.c:239,1
    - Dst: g_test_log_buffer_pop
      Src: /src/glib/glib/gtester.c:236,1
    - Dst: g_test_log_buffer_push
      Src: /src/glib/glib/gtester.c:233,1
    - Dst: g_test_log_msg_free
      Src: /src/glib/glib/gtester.c:240,1
    - Dst: g_clear_error
      Src: /src/glib/glib/gtester.c:245,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 3
    argNames:
    - source
    - condition
    - data
    argTypes:
    - GIOChannel*
    - GIOCondition
    - gpointer
    constantsTouched: []
    func_position:
      end: 260
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 260
    functionName: child_report_cb
    functionSourceFile: /src/glib/glib/gtester.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_test_log_buffer_push
    - g_test_log_buffer_pop
    - g_io_channel_read_chars
    - g_test_log_msg_free
    - test_log_msg
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean child_report_cb (GIOChannel *source, GIOCondition
      condition, gpointer data) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtester.c:109,1
    - Dst: test_log_printfe
      Src: /src/glib/glib/gtester.c:112,1
    - Dst: sindent
      Src: /src/glib/glib/gtester.c:110,1
    - Dst: sindent
      Src: /src/glib/glib/gtester.c:113,1
    - Dst: test_log_printfe
      Src: /src/glib/glib/gtester.c:110,1
    - Dst: test_log_printfe
      Src: /src/glib/glib/gtester.c:116,1
    - Dst: sindent
      Src: /src/glib/glib/gtester.c:116,1
    - Dst: g_print
      Src: /src/glib/glib/gtester.c:123,1
    - Dst: g_print
      Src: /src/glib/glib/gtester.c:126,1
    - Dst: g_print
      Src: /src/glib/glib/gtester.c:129,1
    - Dst: g_print
      Src: /src/glib/glib/gtester.c:134,1
    - Dst: terminate
      Src: /src/glib/glib/gtester.c:138,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 3
    argNames:
    - duration
    - exit_status
    - n_forks
    argTypes:
    - long double
    - gint
    - guint
    constantsTouched: []
    func_position:
      end: 139
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 139
    functionName: testcase_close
    functionSourceFile: /src/glib/glib/gtester.c
    functionUses: []
    functionsReached:
    - sindent
    - g_return_if_fail
    - test_log_printfe
    - g_print
    - terminate
    linkageType: ''
    returnType: void
    signature: 'static void testcase_close (long double duration, gint exit_status,
      guint n_forks) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_markup_vprintf_escaped
      Src: /src/glib/glib/gtester.c:87,1
    - Dst: kill
      Src: /src/glib/glib/gtester.c:98,1
    - Dst: strlen
      Src: /src/glib/glib/gtester.c:90,1
    - Dst: getpid
      Src: /src/glib/glib/gtester.c:98,1
    - Dst: write
      Src: /src/glib/glib/gtester.c:90,1
    - Dst: g_abort
      Src: /src/glib/glib/gtester.c:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames:
    - 1, 2
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 100
    functionName: G_GNUC_PRINTF
    functionSourceFile: /src/glib/glib/gtester.c
    functionUses: []
    functionsReached:
    - write
    - strlen
    - g_abort
    - getpid
    - kill
    - g_markup_vprintf_escaped
    linkageType: ''
    returnType: void
    signature: 'static void G_GNUC_PRINTF (1, 2) test_log_printfe (const char *format,
      ...){ char *result; int r; va_list args; va_start (args, format); result = g_markup_vprintf_escaped
      (format, args); va_end (args); do r = write (log_fd, result, strlen (result));
      while (r < 0 && errno == EINTR); g_free (result); }static voidterminate (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gtester.c:279,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 281
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 281
    functionName: queue_gfree
    functionSourceFile: /src/glib/glib/gtester.c
    functionUses: []
    functionsReached:
    - g_slist_prepend
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *queue_gfree (GSList **slistp, gchar *string) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/glib/glib/gtester.c:346,1
    - Dst: g_clear_error
      Src: /src/glib/glib/gtester.c:313,1
    - Dst: queue_gfree
      Src: /src/glib/glib/gtester.c:368,1
    - Dst: queue_gfree
      Src: /src/glib/glib/gtester.c:371,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gtester.c:373,1
    - Dst: queue_gfree
      Src: /src/glib/glib/gtester.c:375,1
    - Dst: close
      Src: /src/glib/glib/gtester.c:398,1
    - Dst: g_free
      Src: /src/glib/glib/gtester.c:407,1
    - Dst: g_io_channel_set_encoding
      Src: /src/glib/glib/gtester.c:416,1
    - Dst: g_io_channel_unref
      Src: /src/glib/glib/gtester.c:419,1
    - Dst: g_child_watch_add_full
      Src: /src/glib/glib/gtester.c:421,1
    - Dst: close
      Src: /src/glib/glib/gtester.c:441,1
    - Dst: g_main_context_pending
      Src: /src/glib/glib/gtester.c:435,1
    - Dst: g_main_context_iteration
      Src: /src/glib/glib/gtester.c:434,1
    - Dst: g_error
      Src: /src/glib/glib/gtester.c:310,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gtester.c:368,1
    - Dst: queue_gfree
      Src: /src/glib/glib/gtester.c:369,1
    - Dst: g_spawn_async_with_pipes
      Src: /src/glib/glib/gtester.c:378,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gtester.c:371,1
    - Dst: g_slist_foreach
      Src: /src/glib/glib/gtester.c:388,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gtester.c:375,1
    - Dst: g_io_channel_unix_new
      Src: /src/glib/glib/gtester.c:414,1
    - Dst: g_io_add_watch_full
      Src: /src/glib/glib/gtester.c:418,1
    - Dst: g_main_context_pending
      Src: /src/glib/glib/gtester.c:423,1
    - Dst: g_source_remove
      Src: /src/glib/glib/gtester.c:439,1
    - Dst: g_warning
      Src: /src/glib/glib/gtester.c:312,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gtester.c:369,1
    - Dst: close
      Src: /src/glib/glib/gtester.c:391,1
    - Dst: g_print
      Src: /src/glib/glib/gtester.c:394,1
    - Dst: g_warning
      Src: /src/glib/glib/gtester.c:402,1
    - Dst: g_test_log_buffer_new
      Src: /src/glib/glib/gtester.c:411,1
    - Dst: g_io_channel_set_flags
      Src: /src/glib/glib/gtester.c:415,1
    - Dst: g_unix_open_pipe
      Src: /src/glib/glib/gtester.c:307,1
    - Dst: queue_gfree
      Src: /src/glib/glib/gtester.c:373,1
    - Dst: g_slist_free
      Src: /src/glib/glib/gtester.c:389,1
    - Dst: g_error
      Src: /src/glib/glib/gtester.c:400,1
    - Dst: g_clear_error
      Src: /src/glib/glib/gtester.c:403,1
    - Dst: g_free
      Src: /src/glib/glib/gtester.c:404,1
    - Dst: g_io_channel_set_buffered
      Src: /src/glib/glib/gtester.c:417,1
    - Dst: g_test_log_buffer_free
      Src: /src/glib/glib/gtester.c:442,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 101
    argCount: 2
    argNames:
    - binary
    - skip_tests
    argTypes:
    - char*
    - guint
    constantsTouched: []
    func_position:
      end: 445
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 445
    functionName: launch_test_binary
    functionSourceFile: /src/glib/glib/gtester.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_malloc
    - g_error
    - g_slist_foreach
    - g_io_channel_unref
    - g_io_channel_unix_new
    - g_warning
    - g_child_watch_add_full
    - queue_gfree
    - g_print
    - g_source_remove
    - g_slist_free
    - g_test_log_buffer_free
    - g_io_add_watch_full
    - g_io_channel_set_flags
    - g_io_channel_set_buffered
    - g_spawn_async_with_pipes
    - g_main_context_pending
    - g_io_channel_set_encoding
    - g_clear_error
    - g_test_log_buffer_new
    - g_unix_open_pipe
    - close
    - g_main_context_iteration
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean launch_test_binary (const char *binary, guint skip_tests) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/glib/gtester.c:496,1
    - Dst: g_print
      Src: /src/glib/glib/gtester.c:503,1
    - Dst: g_print
      Src: /src/glib/glib/gtester.c:499,1
    - Dst: g_print
      Src: /src/glib/glib/gtester.c:500,1
    - Dst: g_print
      Src: /src/glib/glib/gtester.c:502,1
    - Dst: g_print
      Src: /src/glib/glib/gtester.c:504,1
    - Dst: g_print
      Src: /src/glib/glib/gtester.c:505,1
    - Dst: g_print
      Src: /src/glib/glib/gtester.c:506,1
    - Dst: g_print
      Src: /src/glib/glib/gtester.c:507,1
    - Dst: g_print
      Src: /src/glib/glib/gtester.c:508,1
    - Dst: g_print
      Src: /src/glib/glib/gtester.c:513,1
    - Dst: g_print
      Src: /src/glib/glib/gtester.c:514,1
    - Dst: g_print
      Src: /src/glib/glib/gtester.c:515,1
    - Dst: g_print
      Src: /src/glib/glib/gtester.c:509,1
    - Dst: g_print
      Src: /src/glib/glib/gtester.c:516,1
    - Dst: g_print
      Src: /src/glib/glib/gtester.c:510,1
    - Dst: g_print
      Src: /src/glib/glib/gtester.c:511,1
    - Dst: g_print
      Src: /src/glib/glib/gtester.c:512,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - just_version
    argTypes:
    - gboolean
    constantsTouched: []
    func_position:
      end: 517
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 517
    functionName: usage
    functionSourceFile: /src/glib/glib/gtester.c
    functionUses: []
    functionsReached:
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void usage (gboolean just_version) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_set_prgname
      Src: /src/glib/glib/gtester.c:689,1
    - Dst: parse_args
      Src: /src/glib/glib/gtester.c:690,1
    - Dst: g_warning
      Src: /src/glib/glib/gtester.c:701,1
    - Dst: main_selftest
      Src: /src/glib/glib/gtester.c:692,1
    - Dst: usage
      Src: /src/glib/glib/gtester.c:696,1
    - Dst: g_open
      Src: /src/glib/glib/gtester.c:707,1
    - Dst: g_error
      Src: /src/glib/glib/gtester.c:710,1
    - Dst: g_strerror
      Src: /src/glib/glib/gtester.c:710,1
    - Dst: test_log_printfe
      Src: /src/glib/glib/gtester.c:713,1
    - Dst: test_log_printfe
      Src: /src/glib/glib/gtester.c:714,1
    - Dst: test_log_printfe
      Src: /src/glib/glib/gtester.c:716,1
    - Dst: close
      Src: /src/glib/glib/gtester.c:727,1
    - Dst: test_log_printfe
      Src: /src/glib/glib/gtester.c:725,1
    - Dst: sindent
      Src: /src/glib/glib/gtester.c:716,1
    - Dst: sindent
      Src: /src/glib/glib/gtester.c:725,1
    - Dst: launch_test
      Src: /src/glib/glib/gtester.c:721,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 730
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 730
    functionName: main
    functionSourceFile: /src/glib/glib/gtester.c
    functionUses: []
    functionsReached:
    - sindent
    - usage
    - g_warning
    - main_selftest
    - parse_args
    - g_set_prgname
    - g_strerror
    - test_log_printfe
    - close
    - launch_test
    - g_open
    - g_error
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: test_log_printfe
      Src: /src/glib/glib/gtester.c:155,1
    - Dst: sindent
      Src: /src/glib/glib/gtester.c:155,1
    - Dst: test_log_printfe
      Src: /src/glib/glib/gtester.c:161,1
    - Dst: g_strconcat
      Src: /src/glib/glib/gtester.c:184,1
    - Dst: g_print
      Src: /src/glib/glib/gtester.c:173,1
    - Dst: g_free
      Src: /src/glib/glib/gtester.c:174,1
    - Dst: test_log_printfe
      Src: /src/glib/glib/gtester.c:178,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gtester.c:185,1
    - Dst: sindent
      Src: /src/glib/glib/gtester.c:190,1
    - Dst: test_log_printfe
      Src: /src/glib/glib/gtester.c:197,1
    - Dst: sindent
      Src: /src/glib/glib/gtester.c:203,1
    - Dst: g_strconcat
      Src: /src/glib/glib/gtester.c:170,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gtester.c:171,1
    - Dst: g_free
      Src: /src/glib/glib/gtester.c:172,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtester.c:176,1
    - Dst: test_log_printfe
      Src: /src/glib/glib/gtester.c:190,1
    - Dst: test_log_printfe
      Src: /src/glib/glib/gtester.c:199,1
    - Dst: test_log_printfe
      Src: /src/glib/glib/gtester.c:200,1
    - Dst: g_strsplit
      Src: /src/glib/glib/gtester.c:153,1
    - Dst: sindent
      Src: /src/glib/glib/gtester.c:159,1
    - Dst: sindent
      Src: /src/glib/glib/gtester.c:161,1
    - Dst: g_print
      Src: /src/glib/glib/gtester.c:164,1
    - Dst: g_free
      Src: /src/glib/glib/gtester.c:186,1
    - Dst: g_print
      Src: /src/glib/glib/gtester.c:187,1
    - Dst: testcase_close
      Src: /src/glib/glib/gtester.c:193,1
    - Dst: sindent
      Src: /src/glib/glib/gtester.c:200,1
    - Dst: test_log_printfe
      Src: /src/glib/glib/gtester.c:159,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gtester.c:156,1
    - Dst: g_strdup
      Src: /src/glib/glib/gtester.c:160,1
    - Dst: sindent
      Src: /src/glib/glib/gtester.c:178,1
    - Dst: g_free
      Src: /src/glib/glib/gtester.c:188,1
    - Dst: sindent
      Src: /src/glib/glib/gtester.c:198,1
    - Dst: sindent
      Src: /src/glib/glib/gtester.c:199,1
    - Dst: test_log_printfe
      Src: /src/glib/glib/gtester.c:203,1
    - Dst: sindent
      Src: /src/glib/glib/gtester.c:203,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 48
    argCount: 1
    argNames:
    - msg
    argTypes:
    - GTestLogMsg*
    constantsTouched: []
    func_position:
      end: 206
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 206
    functionName: test_log_msg
    functionSourceFile: /src/glib/glib/gtester.c
    functionUses: []
    functionsReached:
    - sindent
    - g_strdup
    - g_strconcat
    - g_strdup_printf
    - g_return_if_fail
    - g_strfreev
    - test_log_printfe
    - g_strsplit
    - g_print
    - testcase_close
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_log_msg (GTestLogMsg *msg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_spawn_close_pid
      Src: /src/glib/glib/gtester.c:267,1
    - Dst: WEXITSTATUS
      Src: /src/glib/glib/gtester.c:269,1
    - Dst: WIFEXITED
      Src: /src/glib/glib/gtester.c:268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - pid
    - status
    - data
    argTypes:
    - GPid
    - gint
    - gpointer
    constantsTouched: []
    func_position:
      end: 273
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 273
    functionName: child_watch_cb
    functionSourceFile: /src/glib/glib/gtester.c
    functionUses: []
    functionsReached:
    - WIFEXITED
    - WEXITSTATUS
    - g_spawn_close_pid
    linkageType: ''
    returnType: void
    signature: "static void child_watch_cb (GPid pid,\t\tgint status,\t\tgpointer\
      \ data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/glib/glib/gtester.c:288,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - fdp_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 290
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 290
    functionName: unset_cloexec_fdp
    functionSourceFile: /src/glib/glib/gtester.c
    functionUses: []
    functionsReached:
    - fcntl
    linkageType: ''
    returnType: void
    signature: 'static void unset_cloexec_fdp (gpointer fdp_data) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_timer_new
      Src: /src/glib/glib/gtester.c:451,1
    - Dst: sindent
      Src: /src/glib/glib/gtester.c:459,1
    - Dst: g_print
      Src: /src/glib/glib/gtester.c:456,1
    - Dst: g_timer_start
      Src: /src/glib/glib/gtester.c:461,1
    - Dst: test_log_printfe
      Src: /src/glib/glib/gtester.c:459,1
    - Dst: launch_test_binary
      Src: /src/glib/glib/gtester.c:463,1
    - Dst: testcase_close
      Src: /src/glib/glib/gtester.c:467,1
    - Dst: g_timer_stop
      Src: /src/glib/glib/gtester.c:468,1
    - Dst: test_log_printfe
      Src: /src/glib/glib/gtester.c:469,1
    - Dst: sindent
      Src: /src/glib/glib/gtester.c:469,1
    - Dst: g_print
      Src: /src/glib/glib/gtester.c:485,1
    - Dst: terminate
      Src: /src/glib/glib/gtester.c:488,1
    - Dst: test_log_printfe
      Src: /src/glib/glib/gtester.c:471,1
    - Dst: g_timer_elapsed
      Src: /src/glib/glib/gtester.c:469,1
    - Dst: sindent
      Src: /src/glib/glib/gtester.c:471,1
    - Dst: g_timer_destroy
      Src: /src/glib/glib/gtester.c:486,1
    - Dst: g_free
      Src: /src/glib/glib/gtester.c:472,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 1
    argNames:
    - binary
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 489
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 489
    functionName: launch_test
    functionSourceFile: /src/glib/glib/gtester.c
    functionUses: []
    functionsReached:
    - sindent
    - terminate
    - g_timer_start
    - launch_test_binary
    - test_log_printfe
    - g_timer_stop
    - g_timer_elapsed
    - g_print
    - g_timer_new
    - testcase_close
    - g_free
    - g_timer_destroy
    linkageType: ''
    returnType: void
    signature: 'static void launch_test (const char *binary) '
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: g_log_set_always_fatal
      Src: /src/glib/glib/gtester.c:533,1
    - Dst: strcmp
      Src: /src/glib/glib/gtester.c:542,1
    - Dst: usage
      Src: /src/glib/glib/gtester.c:544,1
    - Dst: strcmp
      Src: /src/glib/glib/gtester.c:548,1
    - Dst: strcmp
      Src: /src/glib/glib/gtester.c:555,1
    - Dst: exit
      Src: /src/glib/glib/gtester.c:551,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gtester.c:568,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gtester.c:580,1
    - Dst: strcmp
      Src: /src/glib/glib/gtester.c:621,1
    - Dst: strncmp
      Src: /src/glib/glib/gtester.c:653,1
    - Dst: strcmp
      Src: /src/glib/glib/gtester.c:636,1
    - Dst: strcmp
      Src: /src/glib/glib/gtester.c:529,1
    - Dst: strcmp
      Src: /src/glib/glib/gtester.c:542,1
    - Dst: usage
      Src: /src/glib/glib/gtester.c:550,1
    - Dst: strcmp
      Src: /src/glib/glib/gtester.c:554,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gtester.c:564,1
    - Dst: strcmp
      Src: /src/glib/glib/gtester.c:560,1
    - Dst: strncmp
      Src: /src/glib/glib/gtester.c:572,1
    - Dst: strncmp
      Src: /src/glib/glib/gtester.c:584,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gtester.c:588,1
    - Dst: strcmp
      Src: /src/glib/glib/gtester.c:596,1
    - Dst: strcmp
      Src: /src/glib/glib/gtester.c:536,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gtester.c:592,1
    - Dst: strcmp
      Src: /src/glib/glib/gtester.c:619,1
    - Dst: strcmp
      Src: /src/glib/glib/gtester.c:623,1
    - Dst: strcmp
      Src: /src/glib/glib/gtester.c:630,1
    - Dst: g_error
      Src: /src/glib/glib/gtester.c:633,1
    - Dst: strcmp
      Src: /src/glib/glib/gtester.c:636,1
    - Dst: strcmp
      Src: /src/glib/glib/gtester.c:648,1
    - Dst: strcmp
      Src: /src/glib/glib/gtester.c:653,1
    - Dst: strcmp
      Src: /src/glib/glib/gtester.c:628,1
    - Dst: strncmp
      Src: /src/glib/glib/gtester.c:608,1
    - Dst: g_log_set_always_fatal
      Src: /src/glib/glib/gtester.c:531,1
    - Dst: exit
      Src: /src/glib/glib/gtester.c:545,1
    - Dst: strcmp
      Src: /src/glib/glib/gtester.c:548,1
    - Dst: strncmp
      Src: /src/glib/glib/gtester.c:560,1
    - Dst: strcmp
      Src: /src/glib/glib/gtester.c:572,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gtester.c:576,1
    - Dst: strcmp
      Src: /src/glib/glib/gtester.c:584,1
    - Dst: strncmp
      Src: /src/glib/glib/gtester.c:596,1
    - Dst: strcmp
      Src: /src/glib/glib/gtester.c:608,1
    - Dst: strcmp
      Src: /src/glib/glib/gtester.c:621,1
    - Dst: strcmp
      Src: /src/glib/glib/gtester.c:642,1
    - Dst: strcmp
      Src: /src/glib/glib/gtester.c:665,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 201
    argCount: 2
    argNames:
    - argc_p
    - argv_p
    argTypes:
    - gint*
    - gchar***
    constantsTouched: []
    func_position:
      end: 681
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 681
    functionName: parse_args
    functionSourceFile: /src/glib/glib/gtester.c
    functionUses: []
    functionsReached:
    - usage
    - g_log_set_always_fatal
    - strcmp
    - strncmp
    - g_error
    - g_slist_prepend
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void parse_args (gint *argc_p, gchar ***argv_p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/gtester.c:736,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - fix
    - test_data
    argTypes:
    - guint*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 738
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 738
    functionName: fixture_setup
    functionSourceFile: /src/glib/glib/gtester.c
    functionUses: []
    functionsReached:
    - g_assert_cmphex
    linkageType: ''
    returnType: void
    signature: 'static void fixture_setup (guint *fix, gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/gtester.c:743,1
    - Dst: g_test_bug_base
      Src: /src/glib/glib/gtester.c:745,1
    - Dst: g_test_bug
      Src: /src/glib/glib/gtester.c:746,1
    - Dst: g_test_message
      Src: /src/glib/glib/gtester.c:744,1
    - Dst: g_test_bug_base
      Src: /src/glib/glib/gtester.c:747,1
    - Dst: g_test_bug
      Src: /src/glib/glib/gtester.c:748,1
    - Dst: g_test_bug
      Src: /src/glib/glib/gtester.c:749,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - fix
    - test_data
    argTypes:
    - guint*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 750
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 750
    functionName: fixture_test
    functionSourceFile: /src/glib/glib/gtester.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_assert_cmphex
    - g_test_bug
    - g_test_bug_base
    linkageType: ''
    returnType: void
    signature: 'static void fixture_test (guint *fix, gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/gtester.c:755,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - fix
    - test_data
    argTypes:
    - guint*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 756
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 756
    functionName: fixture_teardown
    functionSourceFile: /src/glib/glib/gtester.c
    functionUses: []
    functionsReached:
    - g_assert_cmphex
    linkageType: ''
    returnType: void
    signature: 'static void fixture_teardown (guint *fix, gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/gtester.c:763,1
    - Dst: g_test_add
      Src: /src/glib/glib/gtester.c:764,1
    - Dst: g_test_run
      Src: /src/glib/glib/gtester.c:765,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 766
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 766
    functionName: main_selftest
    functionSourceFile: /src/glib/glib/gtester.c
    functionUses: []
    functionsReached:
    - g_test_add
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'static int main_selftest (int argc, char **argv) '
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 2
    argCount: 1
    argNames:
    - en
    argTypes:
    - gint
    constantsTouched: []
    func_position:
      end: 149
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 149
    functionName: _g_spawn_exec_err_to_g_error
    functionSourceFile: /src/glib/glib/gspawn-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint
    signature: 'static inline gint _g_spawn_exec_err_to_g_error (gint en) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn-private.h:162,1
    - Dst: _
      Src: /src/glib/glib/gspawn-private.h:165,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - fd
    - source_fds
    - n_fds
    - error
    argTypes:
    - gint
    - gint*
    - gsize
    - GError**
    constantsTouched: []
    func_position:
      end: 170
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 170
    functionName: _g_spawn_invalid_source_fd
    functionSourceFile: /src/glib/glib/gspawn-private.h
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean _g_spawn_invalid_source_fd (gint fd, const
      gint *source_fds, gsize n_fds, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:309,1
    - Dst: g_hook_unref
      Src: /src/glib/glib/ghook.c:316,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:310,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - hook_list
    - hook
    argTypes:
    - GHookList*
    - GHook*
    constantsTouched: []
    func_position:
      end: 318
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 318
    functionName: g_hook_destroy_link
    functionSourceFile: /src/glib/glib/ghook.c
    functionUses: []
    functionsReached:
    - g_hook_unref
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_hook_destroy_link (GHookList *hook_list,\t\t GHook *hook) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghook.c:901,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghook.c:902,1
    - Dst: G_HOOK_ACTIVE
      Src: /src/glib/glib/ghook.c:910,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 917
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 917
    functionName: g_hook_find_func
    functionSourceFile: /src/glib/glib/ghook.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_HOOK_ACTIVE
    linkageType: ''
    returnType: GHook*
    signature: "GHook *g_hook_find_func (GHookList *hook_list,\t\t gboolean need_valids,\t\
      \t gpointer func) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:985,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:986,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:988,1
    - Dst: G_HOOK_IS_UNLINKED
      Src: /src/glib/glib/ghook.c:988,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:987,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:989,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:990,1
    - Dst: g_hook_ref
      Src: /src/glib/glib/ghook.c:1001,1
    - Dst: func
      Src: /src/glib/glib/ghook.c:1002,1
    - Dst: g_hook_unref
      Src: /src/glib/glib/ghook.c:1004,1
    - Dst: g_hook_insert_before
      Src: /src/glib/glib/ghook.c:1018,1
    - Dst: g_hook_unref
      Src: /src/glib/glib/ghook.c:1013,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 3
    argNames:
    - hook_list
    - hook
    - func
    argTypes:
    - GHookList*
    - GHook*
    - GHookCompareFunc
    constantsTouched: []
    func_position:
      end: 1019
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 1019
    functionName: g_hook_insert_sorted
    functionSourceFile: /src/glib/glib/ghook.c
    functionUses: []
    functionsReached:
    - g_hook_ref
    - func
    - g_return_if_fail
    - g_hook_insert_before
    - g_hook_unref
    - G_HOOK_IS_UNLINKED
    linkageType: ''
    returnType: void
    signature: "void g_hook_insert_sorted (GHookList\t *hook_list,\t\t GHook\t *hook,\t\
      \t GHookCompareFunc func) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghook.c:865,1
    - Dst: G_HOOK_ACTIVE
      Src: /src/glib/glib/ghook.c:873,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 880
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 880
    functionName: g_hook_find_data
    functionSourceFile: /src/glib/glib/ghook.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_HOOK_ACTIVE
    linkageType: ''
    returnType: GHook*
    signature: "GHook *g_hook_find_data (GHookList *hook_list,\t\t gboolean need_valids,\t\
      \t gpointer data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:286,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:289,1
    - Dst: G_HOOK_IS_UNLINKED
      Src: /src/glib/glib/ghook.c:289,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:287,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:288,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:290,1
    - Dst: G_HOOK_IN_CALL
      Src: /src/glib/glib/ghook.c:290,1
    - Dst: g_slice_free1
      Src: /src/glib/glib/ghook.c:294,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - hook_list
    - hook
    argTypes:
    - GHookList*
    - GHook*
    constantsTouched: []
    func_position:
      end: 295
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 295
    functionName: g_hook_free
    functionSourceFile: /src/glib/glib/ghook.c
    functionUses: []
    functionsReached:
    - G_HOOK_IN_CALL
    - G_HOOK_IS_UNLINKED
    - g_slice_free1
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_hook_free (GHookList *hook_list,\t GHook *hook) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:361,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:362,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:369,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:363,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:368,1
    - Dst: G_HOOK_IN_CALL
      Src: /src/glib/glib/ghook.c:369,1
    - Dst: g_hook_free
      Src: /src/glib/glib/ghook.c:385,1
    - Dst: g_hook_free
      Src: /src/glib/glib/ghook.c:394,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - hook_list
    - hook
    argTypes:
    - GHookList*
    - GHook*
    constantsTouched: []
    func_position:
      end: 396
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 396
    functionName: g_hook_unref
    functionSourceFile: /src/glib/glib/ghook.c
    functionUses: []
    functionsReached:
    - g_hook_free
    - G_HOOK_IN_CALL
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_hook_unref (GHookList *hook_list,\t GHook\t*hook) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:549,1
    - Dst: func
      Src: /src/glib/glib/ghook.c:563,1
    - Dst: G_HOOK_IN_CALL
      Src: /src/glib/glib/ghook.c:561,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:550,1
    - Dst: g_hook_first_valid
      Src: /src/glib/glib/ghook.c:552,1
    - Dst: g_hook_destroy_link
      Src: /src/glib/glib/ghook.c:567,1
    - Dst: g_hook_next_valid
      Src: /src/glib/glib/ghook.c:569,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - hook_list
    - may_recurse
    argTypes:
    - GHookList*
    - gboolean
    constantsTouched: []
    func_position:
      end: 571
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 571
    functionName: g_hook_list_invoke_check
    functionSourceFile: /src/glib/glib/ghook.c
    functionUses: []
    functionsReached:
    - func
    - g_return_if_fail
    - G_HOOK_IN_CALL
    - g_hook_next_valid
    - g_hook_destroy_link
    - g_hook_first_valid
    linkageType: ''
    returnType: void
    signature: "void g_hook_list_invoke_check (GHookList *hook_list,\t\t\t gboolean\
      \ may_recurse) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghook.c:689,1
    - Dst: G_HOOK_IS_VALID
      Src: /src/glib/glib/ghook.c:699,1
    - Dst: g_hook_next_valid
      Src: /src/glib/glib/ghook.c:702,1
    - Dst: g_hook_ref
      Src: /src/glib/glib/ghook.c:698,1
    - Dst: G_HOOK_IN_CALL
      Src: /src/glib/glib/ghook.c:699,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 707
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 707
    functionName: g_hook_first_valid
    functionSourceFile: /src/glib/glib/ghook.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_hook_ref
    - G_HOOK_IN_CALL
    - g_hook_next_valid
    - G_HOOK_IS_VALID
    linkageType: ''
    returnType: GHook*
    signature: "GHook *g_hook_first_valid (GHookList *hook_list,\t\t gboolean may_be_in_call) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: destroy
      Src: /src/glib/glib/ghook.c:179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - hook_list
    - hook
    argTypes:
    - GHookList*
    - GHook*
    constantsTouched: []
    func_position:
      end: 181
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 181
    functionName: default_finalize_hook
    functionSourceFile: /src/glib/glib/ghook.c
    functionUses: []
    functionsReached:
    - destroy
    linkageType: ''
    returnType: void
    signature: "static void default_finalize_hook (GHookList *hook_list,\t\t GHook\
      \ *hook) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghook.c:259,1
    - Dst: g_slice_alloc0
      Src: /src/glib/glib/ghook.c:262,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghook.c:260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 273
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 273
    functionName: g_hook_alloc
    functionSourceFile: /src/glib/glib/ghook.c
    functionUses: []
    functionsReached:
    - g_slice_alloc0
    - g_return_val_if_fail
    linkageType: ''
    returnType: GHook*
    signature: 'GHook *g_hook_alloc (GHookList *hook_list) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghook.c:335,1
    - Dst: g_hook_get
      Src: /src/glib/glib/ghook.c:338,1
    - Dst: g_hook_destroy_link
      Src: /src/glib/glib/ghook.c:341,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghook.c:336,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - hook_list
    - hook_id
    argTypes:
    - GHookList*
    - gulong
    constantsTouched: []
    func_position:
      end: 346
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 346
    functionName: g_hook_destroy
    functionSourceFile: /src/glib/glib/ghook.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_hook_destroy_link
    - g_hook_get
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_hook_destroy (GHookList *hook_list,\t\tgulong\t hook_id) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:512,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:513,1
    - Dst: g_hook_first_valid
      Src: /src/glib/glib/ghook.c:515,1
    - Dst: G_HOOK_IN_CALL
      Src: /src/glib/glib/ghook.c:523,1
    - Dst: func
      Src: /src/glib/glib/ghook.c:525,1
    - Dst: g_hook_next_valid
      Src: /src/glib/glib/ghook.c:529,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - hook_list
    - may_recurse
    argTypes:
    - GHookList*
    - gboolean
    constantsTouched: []
    func_position:
      end: 531
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 531
    functionName: g_hook_list_invoke
    functionSourceFile: /src/glib/glib/ghook.c
    functionUses: []
    functionsReached:
    - func
    - g_return_if_fail
    - G_HOOK_IN_CALL
    - g_hook_next_valid
    - g_hook_first_valid
    linkageType: ''
    returnType: void
    signature: "void g_hook_list_invoke (GHookList *hook_list,\t\t gboolean may_recurse) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:439,1
    - Dst: g_hook_insert_before
      Src: /src/glib/glib/ghook.c:441,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - hook_list
    - hook
    argTypes:
    - GHookList*
    - GHook*
    constantsTouched: []
    func_position:
      end: 442
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 442
    functionName: g_hook_prepend
    functionSourceFile: /src/glib/glib/ghook.c
    functionUses: []
    functionsReached:
    - g_hook_insert_before
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_hook_prepend (GHookList *hook_list,\t\tGHook\t *hook) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghook.c:768,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghook.c:769,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 780
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 780
    functionName: g_hook_get
    functionSourceFile: /src/glib/glib/ghook.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: GHook*
    signature: "GHook *g_hook_get (GHookList *hook_list,\t gulong hook_id) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghook.c:940,1
    - Dst: G_HOOK_ACTIVE
      Src: /src/glib/glib/ghook.c:950,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghook.c:941,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 957
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 957
    functionName: g_hook_find_func_data
    functionSourceFile: /src/glib/glib/ghook.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_HOOK_ACTIVE
    linkageType: ''
    returnType: GHook*
    signature: "GHook *g_hook_find_func_data (GHookList *hook_list,\t\t gboolean\t\
      \ need_valids,\t\t gpointer\t func,\t\t gpointer\t data) "
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - new_hook
    - sibling
    argTypes:
    - GHook*
    - GHook*
    constantsTouched: []
    func_position:
      end: 1041
      start: 1031
    functionDepth: 0
    functionLinenumber: 1031
    functionLinenumberEnd: 1041
    functionName: g_hook_compare_ids
    functionSourceFile: /src/glib/glib/ghook.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint
    signature: "gint g_hook_compare_ids (GHook *new_hook,\t\t GHook *sibling) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghook.c:411,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghook.c:413,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghook.c:412,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 418
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 418
    functionName: g_hook_ref
    functionSourceFile: /src/glib/glib/ghook.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: GHook*
    signature: "GHook *g_hook_ref (GHookList *hook_list,\t GHook *hook) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghook.c:731,1
    - Dst: G_HOOK_IN_CALL
      Src: /src/glib/glib/ghook.c:739,1
    - Dst: G_HOOK_IS_VALID
      Src: /src/glib/glib/ghook.c:739,1
    - Dst: g_hook_ref
      Src: /src/glib/glib/ghook.c:741,1
    - Dst: g_hook_unref
      Src: /src/glib/glib/ghook.c:742,1
    - Dst: g_hook_unref
      Src: /src/glib/glib/ghook.c:748,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 751
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 751
    functionName: g_hook_next_valid
    functionSourceFile: /src/glib/glib/ghook.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_hook_ref
    - g_hook_unref
    - G_HOOK_IN_CALL
    - G_HOOK_IS_VALID
    linkageType: ''
    returnType: GHook*
    signature: "GHook *g_hook_next_valid (GHookList *hook_list,\t\t GHook *hook,\t\
      \t gboolean may_be_in_call) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:218,1
    - Dst: g_hook_unref
      Src: /src/glib/glib/ghook.c:239,1
    - Dst: g_hook_destroy_link
      Src: /src/glib/glib/ghook.c:237,1
    - Dst: g_hook_ref
      Src: /src/glib/glib/ghook.c:236,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - hook_list
    argTypes:
    - GHookList*
    constantsTouched: []
    func_position:
      end: 244
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 244
    functionName: g_hook_list_clear
    functionSourceFile: /src/glib/glib/ghook.c
    functionUses: []
    functionsReached:
    - g_hook_unref
    - g_hook_ref
    - g_hook_destroy_link
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_hook_list_clear (GHookList *hook_list) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:652,1
    - Dst: G_HOOK_IN_CALL
      Src: /src/glib/glib/ghook.c:661,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:653,1
    - Dst: g_hook_first_valid
      Src: /src/glib/glib/ghook.c:656,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:654,1
    - Dst: marshaller
      Src: /src/glib/glib/ghook.c:663,1
    - Dst: g_hook_next_valid
      Src: /src/glib/glib/ghook.c:667,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - hook_list
    - may_recurse
    - marshaller
    - data
    argTypes:
    - GHookList*
    - gboolean
    - GHookMarshaller
    - gpointer
    constantsTouched: []
    func_position:
      end: 669
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 669
    functionName: g_hook_list_marshal
    functionSourceFile: /src/glib/glib/ghook.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - G_HOOK_IN_CALL
    - g_hook_next_valid
    - marshaller
    - g_hook_first_valid
    linkageType: ''
    returnType: void
    signature: "void g_hook_list_marshal (GHookList\t\t *hook_list,\t\t gboolean\t\
      \t may_recurse,\t\t GHookMarshaller\t marshaller,\t\t gpointer\t\t data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:196,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - hook_list
    - hook_size
    argTypes:
    - GHookList*
    - guint
    constantsTouched: []
    func_position:
      end: 207
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 207
    functionName: g_hook_list_init
    functionSourceFile: /src/glib/glib/ghook.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_hook_list_init (GHookList *hook_list,\t\t guint\t hook_size) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:457,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:459,1
    - Dst: G_HOOK_IS_UNLINKED
      Src: /src/glib/glib/ghook.c:460,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:458,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:460,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:461,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - hook_list
    - sibling
    - hook
    argTypes:
    - GHookList*
    - GHook*
    - GHook*
    constantsTouched: []
    func_position:
      end: 495
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 495
    functionName: g_hook_insert_before
    functionSourceFile: /src/glib/glib/ghook.c
    functionUses: []
    functionsReached:
    - G_HOOK_IS_UNLINKED
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_hook_insert_before (GHookList *hook_list,\t\t GHook\t*sibling,\t\
      \t GHook\t*hook) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:603,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:605,1
    - Dst: g_hook_first_valid
      Src: /src/glib/glib/ghook.c:607,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghook.c:604,1
    - Dst: G_HOOK_IN_CALL
      Src: /src/glib/glib/ghook.c:613,1
    - Dst: marshaller
      Src: /src/glib/glib/ghook.c:615,1
    - Dst: g_hook_destroy_link
      Src: /src/glib/glib/ghook.c:619,1
    - Dst: g_hook_next_valid
      Src: /src/glib/glib/ghook.c:621,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - hook_list
    - may_recurse
    - marshaller
    - data
    argTypes:
    - GHookList*
    - gboolean
    - GHookCheckMarshaller
    - gpointer
    constantsTouched: []
    func_position:
      end: 623
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 623
    functionName: g_hook_list_marshal_check
    functionSourceFile: /src/glib/glib/ghook.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - G_HOOK_IN_CALL
    - marshaller
    - g_hook_next_valid
    - g_hook_destroy_link
    - g_hook_first_valid
    linkageType: ''
    returnType: void
    signature: "void g_hook_list_marshal_check (GHookList\t *hook_list,\t\t\t gboolean\t\
      \tmay_recurse,\t\t\t GHookCheckMarshaller marshaller,\t\t\t gpointer\t\tdata) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghook.c:814,1
    - Dst: G_HOOK_ACTIVE
      Src: /src/glib/glib/ghook.c:831,1
    - Dst: g_hook_ref
      Src: /src/glib/glib/ghook.c:829,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghook.c:815,1
    - Dst: func
      Src: /src/glib/glib/ghook.c:831,1
    - Dst: g_hook_unref
      Src: /src/glib/glib/ghook.c:833,1
    - Dst: g_hook_unref
      Src: /src/glib/glib/ghook.c:839,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 844
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 844
    functionName: g_hook_find
    functionSourceFile: /src/glib/glib/ghook.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_hook_ref
    - func
    - g_hook_unref
    - G_HOOK_ACTIVE
    linkageType: ''
    returnType: GHook*
    signature: "GHook *g_hook_find (GHookList\t *hook_list,\t gboolean\t need_valids,\t\
      \ GHookFindFunc func,\t gpointer\t data) "
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: get_C_locale
      Src: /src/glib/glib/gstrfuncs.c:695,1
    - Dst: strtod_l
      Src: /src/glib/glib/gstrfuncs.c:698,1
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:720,1
    - Dst: g_ascii_isxdigit
      Src: /src/glib/glib/gstrfuncs.c:755,1
    - Dst: g_ascii_isdigit
      Src: /src/glib/glib/gstrfuncs.c:769,1
    - Dst: g_ascii_isdigit
      Src: /src/glib/glib/gstrfuncs.c:782,1
    - Dst: g_ascii_isdigit
      Src: /src/glib/glib/gstrfuncs.c:767,1
    - Dst: g_malloc
      Src: /src/glib/glib/gstrfuncs.c:795,1
    - Dst: strtod
      Src: /src/glib/glib/gstrfuncs.c:830,1
    - Dst: localeconv
      Src: /src/glib/glib/gstrfuncs.c:718,1
    - Dst: g_ascii_isxdigit
      Src: /src/glib/glib/gstrfuncs.c:749,1
    - Dst: memcpy
      Src: /src/glib/glib/gstrfuncs.c:798,1
    - Dst: strtod
      Src: /src/glib/glib/gstrfuncs.c:807,1
    - Dst: g_free
      Src: /src/glib/glib/gstrfuncs.c:818,1
    - Dst: g_malloc
      Src: /src/glib/glib/gstrfuncs.c:825,1
    - Dst: strtod
      Src: /src/glib/glib/gstrfuncs.c:843,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:713,1
    - Dst: g_assert
      Src: /src/glib/glib/gstrfuncs.c:726,1
    - Dst: g_ascii_isspace
      Src: /src/glib/glib/gstrfuncs.c:736,1
    - Dst: memcpy
      Src: /src/glib/glib/gstrfuncs.c:800,1
    - Dst: memcpy
      Src: /src/glib/glib/gstrfuncs.c:802,1
    - Dst: memcpy
      Src: /src/glib/glib/gstrfuncs.c:826,1
    - Dst: g_free
      Src: /src/glib/glib/gstrfuncs.c:838,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:693,1
    - Dst: g_ascii_isdigit
      Src: /src/glib/glib/gstrfuncs.c:762,1
    - Dst: g_ascii_isdigit
      Src: /src/glib/glib/gstrfuncs.c:775,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 130
    argCount: 2
    argNames:
    - nptr
    - endptr
    argTypes:
    - gchar*
    - gchar**
    constantsTouched: []
    func_position:
      end: 854
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 854
    functionName: g_ascii_strtod
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_ascii_isspace
    - memcpy
    - strtod_l
    - g_return_val_if_fail
    - strtod
    - strlen
    - g_assert
    - g_malloc
    - get_C_locale
    - localeconv
    - g_ascii_isxdigit
    - g_ascii_isdigit
    - g_free
    linkageType: ''
    returnType: gdouble
    signature: 'gdouble g_ascii_strtod (const gchar *nptr, gchar **endptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:1684,1
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:1691,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1706
      start: 1681
    functionDepth: 0
    functionLinenumber: 1681
    functionLinenumberEnd: 1706
    functionName: g_strreverse
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - strlen
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_strreverse (gchar *string) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/glib/glib/gstrfuncs.c:1974,1
    - Dst: isupper
      Src: /src/glib/glib/gstrfuncs.c:1987,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:1978,1
    - Dst: tolower
      Src: /src/glib/glib/gstrfuncs.c:1987,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:1979,1
    - Dst: isupper
      Src: /src/glib/glib/gstrfuncs.c:1988,1
    - Dst: tolower
      Src: /src/glib/glib/gstrfuncs.c:1988,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - gchar*
    - gchar*
    - guint
    constantsTouched: []
    func_position:
      end: 1999
      start: 1968
    functionDepth: 0
    functionLinenumber: 1968
    functionLinenumberEnd: 1999
    functionName: g_strncasecmp
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - tolower
    - isupper
    - strncasecmp
    - g_return_val_if_fail
    linkageType: ''
    returnType: gint
    signature: 'gint g_strncasecmp (const gchar *s1, const gchar *s2, guint n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:2347,1
    - Dst: g_ascii_isspace
      Src: /src/glib/glib/gstrfuncs.c:2352,1
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:2349,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2359
      start: 2342
    functionDepth: 0
    functionLinenumber: 2342
    functionLinenumberEnd: 2359
    functionName: g_strchomp
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_ascii_isspace
    - g_return_val_if_fail
    - strlen
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_strchomp (gchar *string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:2943,1
    - Dst: strncmp
      Src: /src/glib/glib/gstrfuncs.c:2946,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:2944,1
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:2946,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - str
    - prefix
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2947
      start: 2940
    functionDepth: 0
    functionLinenumber: 2940
    functionLinenumberEnd: 2947
    functionName: (g_str_has_prefix)
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - strncmp
    - g_return_val_if_fail
    - strlen
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean (g_str_has_prefix) (const gchar *str, const gchar *prefix) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_normalize
      Src: /src/glib/glib/gstrfuncs.c:2979,1
    - Dst: strstr
      Src: /src/glib/glib/gstrfuncs.c:2982,1
    - Dst: g_string_new
      Src: /src/glib/glib/gstrfuncs.c:2987,1
    - Dst: strstr
      Src: /src/glib/glib/gstrfuncs.c:2982,1
    - Dst: strstr
      Src: /src/glib/glib/gstrfuncs.c:2993,1
    - Dst: strstr
      Src: /src/glib/glib/gstrfuncs.c:2994,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gstrfuncs.c:3007,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gstrfuncs.c:3008,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gstrfuncs.c:3009,1
    - Dst: g_string_append
      Src: /src/glib/glib/gstrfuncs.c:3012,1
    - Dst: g_utf8_casefold
      Src: /src/glib/glib/gstrfuncs.c:3017,1
    - Dst: g_free
      Src: /src/glib/glib/gstrfuncs.c:3018,1
    - Dst: g_string_free
      Src: /src/glib/glib/gstrfuncs.c:3014,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/gstrfuncs.c:3017,1
    - Dst: g_free
      Src: /src/glib/glib/gstrfuncs.c:3013,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 39
    argCount: 3
    argNames:
    - array
    - start
    - end
    argTypes:
    - GPtrArray*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 3019
      start: 2972
    functionDepth: 0
    functionLinenumber: 2972
    functionLinenumberEnd: 3019
    functionName: index_add_folded
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_ptr_array_add
    - g_utf8_next_char
    - g_string_append_len
    - g_string_append_c
    - g_utf8_casefold
    - g_free
    - g_string_free
    - g_string_new
    - g_utf8_normalize
    - g_string_append
    - strstr
    linkageType: ''
    returnType: void
    signature: 'static void index_add_folded (GPtrArray *array, const gchar *start,
      const gchar *end) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:3270,1
    - Dst: g_str_equal
      Src: /src/glib/glib/gstrfuncs.c:3278,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:3271,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 2
    argNames:
    - strv1
    - strv2
    argTypes:
    - gchar**
    - gchar**
    constantsTouched: []
    func_position:
      end: 3283
      start: 3266
    functionDepth: 0
    functionLinenumber: 3266
    functionLinenumberEnd: 3283
    functionName: g_strv_equal
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_str_equal
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_strv_equal (const gchar * const *strv1, const gchar * const
      *strv2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 3289
      start: 3285
    functionDepth: 0
    functionLinenumber: 3285
    functionLinenumberEnd: 3289
    functionName: str_has_sign
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean str_has_sign (const gchar *str) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/glib/gstrfuncs.c:2588,1
    - Dst: g_strdup
      Src: /src/glib/glib/gstrfuncs.c:2593,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2602
      start: 2576
    functionDepth: 0
    functionLinenumber: 2576
    functionLinenumberEnd: 2602
    functionName: g_strdupv
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_new
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **g_strdupv (gchar **str_array) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/gstrfuncs.c:3028,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gstrfuncs.c:3030,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/gstrfuncs.c:3032,1
    - Dst: g_unichar_isalnum
      Src: /src/glib/glib/gstrfuncs.c:3036,1
    - Dst: g_unichar_ismark
      Src: /src/glib/glib/gstrfuncs.c:3036,1
    - Dst: g_unichar_isalnum
      Src: /src/glib/glib/gstrfuncs.c:3041,1
    - Dst: g_unichar_ismark
      Src: /src/glib/glib/gstrfuncs.c:3041,1
    - Dst: index_add_folded
      Src: /src/glib/glib/gstrfuncs.c:3043,1
    - Dst: index_add_folded
      Src: /src/glib/glib/gstrfuncs.c:3050,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/gstrfuncs.c:3052,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/gstrfuncs.c:3054,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3055
      start: 3021
    functionDepth: 0
    functionLinenumber: 3021
    functionLinenumberEnd: 3055
    functionName: split_words
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_unichar_ismark
    - g_unichar_isalnum
    - g_utf8_next_char
    - g_utf8_get_char
    - index_add_folded
    - g_ptr_array_free
    - g_ptr_array_new
    - g_ptr_array_add
    linkageType: ''
    returnType: gchar**
    signature: 'static gchar **split_words (const gchar *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_tolower
      Src: /src/glib/glib/gstrfuncs.c:3294,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 3295
      start: 3291
    functionDepth: 0
    functionLinenumber: 3291
    functionLinenumberEnd: 3295
    functionName: str_has_hex_prefix
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_ascii_tolower
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean str_has_hex_prefix (const gchar *str) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:630,1
    - Dst: g_ascii_strtod
      Src: /src/glib/glib/gstrfuncs.c:638,1
    - Dst: strtod
      Src: /src/glib/glib/gstrfuncs.c:635,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 2
    argNames:
    - nptr
    - endptr
    argTypes:
    - gchar*
    - gchar**
    constantsTouched: []
    func_position:
      end: 652
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 652
    functionName: g_strtod
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - strtod
    - g_ascii_strtod
    - g_return_val_if_fail
    linkageType: ''
    returnType: gdouble
    signature: 'gdouble g_strtod (const gchar *nptr, gchar **endptr) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:918,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:939,1
    - Dst: strpbrk
      Src: /src/glib/glib/gstrfuncs.c:939,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:943,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gstrfuncs.c:959,1
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:941,1
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:964,1
    - Dst: strpbrk
      Src: /src/glib/glib/gstrfuncs.c:920,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:920,1
    - Dst: get_C_locale
      Src: /src/glib/glib/gstrfuncs.c:922,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gstrfuncs.c:923,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:938,1
    - Dst: localeconv
      Src: /src/glib/glib/gstrfuncs.c:962,1
    - Dst: isdigit
      Src: /src/glib/glib/gstrfuncs.c:983,1
    - Dst: memmove
      Src: /src/glib/glib/gstrfuncs.c:993,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:919,1
    - Dst: strpbrk
      Src: /src/glib/glib/gstrfuncs.c:951,1
    - Dst: g_assert
      Src: /src/glib/glib/gstrfuncs.c:970,1
    - Dst: g_ascii_isspace
      Src: /src/glib/glib/gstrfuncs.c:977,1
    - Dst: strncmp
      Src: /src/glib/glib/gstrfuncs.c:986,1
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:992,1
    - Dst: uselocale
      Src: /src/glib/glib/gstrfuncs.c:922,1
    - Dst: uselocale
      Src: /src/glib/glib/gstrfuncs.c:924,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:937,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 87
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 1001
    functionName: g_ascii_formatd
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_ascii_isspace
    - g_return_val_if_fail
    - strlen
    - g_assert
    - memmove
    - strpbrk
    - get_C_locale
    - localeconv
    - strncmp
    - uselocale
    - isdigit
    - _g_snprintf
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_ascii_formatd (gchar *buffer, gint buf_len, const gchar *format,
      gdouble d) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strsignal
      Src: /src/glib/glib/gstrfuncs.c:1379,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gstrfuncs.c:1385,1
    - Dst: g_get_console_charset
      Src: /src/glib/glib/gstrfuncs.c:1380,1
    - Dst: g_locale_to_utf8
      Src: /src/glib/glib/gstrfuncs.c:1381,1
    - Dst: g_intern_string
      Src: /src/glib/glib/gstrfuncs.c:1386,1
    - Dst: g_free
      Src: /src/glib/glib/gstrfuncs.c:1387,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1369
    functionDepth: 0
    functionLinenumber: 1369
    functionLinenumberEnd: 1390
    functionName: g_strsignal
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_get_console_charset
    - g_intern_string
    - g_locale_to_utf8
    - strsignal
    - g_free
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_strsignal (gint signum) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:1654,1
    - Dst: islower
      Src: /src/glib/glib/gstrfuncs.c:1660,1
    - Dst: toupper
      Src: /src/glib/glib/gstrfuncs.c:1661,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1666
      start: 1649
    functionDepth: 0
    functionLinenumber: 1649
    functionLinenumberEnd: 1666
    functionName: g_strup
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - islower
    - g_return_val_if_fail
    - toupper
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_strup (gchar *string) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:1913,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:1920,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:1921,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:1914,1
    - Dst: strcasecmp
      Src: /src/glib/glib/gstrfuncs.c:1916,1
    - Dst: isupper
      Src: /src/glib/glib/gstrfuncs.c:1928,1
    - Dst: tolower
      Src: /src/glib/glib/gstrfuncs.c:1928,1
    - Dst: isupper
      Src: /src/glib/glib/gstrfuncs.c:1929,1
    - Dst: tolower
      Src: /src/glib/glib/gstrfuncs.c:1929,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1937
      start: 1908
    functionDepth: 0
    functionLinenumber: 1908
    functionLinenumberEnd: 1937
    functionName: g_strcasecmp
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - strcasecmp
    - tolower
    - isupper
    - g_return_val_if_fail
    linkageType: ''
    returnType: gint
    signature: 'gint g_strcasecmp (const gchar *s1, const gchar *s2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:2080,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:2081,1
    - Dst: strchr
      Src: /src/glib/glib/gstrfuncs.c:2085,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2090
      start: 2073
    functionDepth: 0
    functionLinenumber: 2073
    functionLinenumberEnd: 2090
    functionName: g_strcanon
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - strchr
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_strcanon (gchar *string, const gchar *valid_chars, gchar
      substitutor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:2316,1
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:2321,1
    - Dst: g_ascii_isspace
      Src: /src/glib/glib/gstrfuncs.c:2318,1
    - Dst: memmove
      Src: /src/glib/glib/gstrfuncs.c:2321,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2324
      start: 2311
    functionDepth: 0
    functionLinenumber: 2311
    functionLinenumberEnd: 2324
    functionName: g_strchug
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_ascii_isspace
    - memmove
    - g_return_val_if_fail
    - strlen
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_strchug (gchar *string) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:2683,1
    - Dst: va_start
      Src: /src/glib/glib/gstrfuncs.c:2685,1
    - Dst: va_arg
      Src: /src/glib/glib/gstrfuncs.c:2687,1
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:2692,1
    - Dst: va_arg
      Src: /src/glib/glib/gstrfuncs.c:2694,1
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:2697,1
    - Dst: va_arg
      Src: /src/glib/glib/gstrfuncs.c:2698,1
    - Dst: va_end
      Src: /src/glib/glib/gstrfuncs.c:2700,1
    - Dst: g_new
      Src: /src/glib/glib/gstrfuncs.c:2703,1
    - Dst: va_start
      Src: /src/glib/glib/gstrfuncs.c:2705,1
    - Dst: va_arg
      Src: /src/glib/glib/gstrfuncs.c:2707,1
    - Dst: va_arg
      Src: /src/glib/glib/gstrfuncs.c:2710,1
    - Dst: g_stpcpy
      Src: /src/glib/glib/gstrfuncs.c:2714,1
    - Dst: g_stpcpy
      Src: /src/glib/glib/gstrfuncs.c:2713,1
    - Dst: va_arg
      Src: /src/glib/glib/gstrfuncs.c:2715,1
    - Dst: g_strdup
      Src: /src/glib/glib/gstrfuncs.c:2719,1
    - Dst: g_stpcpy
      Src: /src/glib/glib/gstrfuncs.c:2708,1
    - Dst: va_end
      Src: /src/glib/glib/gstrfuncs.c:2721,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2724
      start: 2670
    functionDepth: 0
    functionLinenumber: 2670
    functionLinenumberEnd: 2724
    functionName: g_strjoin
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_stpcpy
    - g_strdup
    - g_new
    - strlen
    - va_arg
    - va_end
    - va_start
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_strjoin (const gchar *separator, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:3236,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:3237,1
    - Dst: g_str_equal
      Src: /src/glib/glib/gstrfuncs.c:3241,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - strv
    - str
    argTypes:
    - gchar**
    - gchar*
    constantsTouched: []
    func_position:
      end: 3246
      start: 3232
    functionDepth: 0
    functionLinenumber: 3232
    functionLinenumberEnd: 3246
    functionName: g_strv_contains
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_str_equal
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_strv_contains (const gchar * const *strv, const gchar *str) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/glib/glib/gstrfuncs.c:353,1
    - Dst: memcpy
      Src: /src/glib/glib/gstrfuncs.c:354,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - mem
    - byte_size
    argTypes:
    - gconstpointer
    - guint
    constantsTouched: []
    func_position:
      end: 360
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 360
    functionName: g_memdup
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_malloc
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_memdup (gconstpointer mem, guint byte_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gstrfuncs.c:539,1
    - Dst: va_end
      Src: /src/glib/glib/gstrfuncs.c:541,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/glib/gstrfuncs.c:540,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 544
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 544
    functionName: g_strdup_printf
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_strdup_vprintf
    - va_start
    - va_end
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_strdup_printf (const gchar *format, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:1593,1
    - Dst: g_ascii_toupper
      Src: /src/glib/glib/gstrfuncs.c:1601,1
    - Dst: g_strdup
      Src: /src/glib/glib/gstrfuncs.c:1596,1
    - Dst: g_strndup
      Src: /src/glib/glib/gstrfuncs.c:1598,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1604
      start: 1587
    functionDepth: 0
    functionLinenumber: 1587
    functionLinenumberEnd: 1604
    functionName: g_ascii_strup
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_strndup
    - g_return_val_if_fail
    - g_ascii_toupper
    - g_strdup
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_ascii_strup (const gchar *str, gssize len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:2812,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:2813,1
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:2816,1
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:2815,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2839
      start: 2803
    functionDepth: 0
    functionLinenumber: 2803
    functionLinenumberEnd: 2839
    functionName: g_strrstr
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - strlen
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_strrstr (const gchar *haystack, const gchar *needle) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:2917,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:2918,1
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:2921,1
    - Dst: strcmp
      Src: /src/glib/glib/gstrfuncs.c:2926,1
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:2920,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - str
    - suffix
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2927
      start: 2911
    functionDepth: 0
    functionLinenumber: 2911
    functionLinenumberEnd: 2927
    functionName: (g_str_has_suffix)
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - strcmp
    - strlen
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean (g_str_has_suffix) (const gchar *str, const gchar *suffix) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:2752,1
    - Dst: strstr
      Src: /src/glib/glib/gstrfuncs.c:2756,1
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:2760,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:2753,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2787
      start: 2747
    functionDepth: 0
    functionLinenumber: 2747
    functionLinenumberEnd: 2787
    functionName: g_strstr_len
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - strstr
    - strlen
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_strstr_len (const gchar *haystack, gssize haystack_len, const
      gchar *needle) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:2863,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:2864,1
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:2870,1
    - Dst: g_strrstr
      Src: /src/glib/glib/gstrfuncs.c:2867,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2897
      start: 2858
    functionDepth: 0
    functionLinenumber: 2858
    functionLinenumberEnd: 2897
    functionName: g_strrstr_len
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_strrstr
    - g_return_val_if_fail
    - strlen
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_strrstr_len (const gchar *haystack, gssize haystack_len,
      const gchar *needle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:2964,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - str_array
    argTypes:
    - gchar**
    constantsTouched: []
    func_position:
      end: 2970
      start: 2959
    functionDepth: 0
    functionLinenumber: 2959
    functionLinenumberEnd: 2970
    functionName: g_strv_length
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: guint
    signature: 'guint g_strv_length (gchar **str_array) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:1562,1
    - Dst: g_ascii_tolower
      Src: /src/glib/glib/gstrfuncs.c:1570,1
    - Dst: g_strndup
      Src: /src/glib/glib/gstrfuncs.c:1567,1
    - Dst: g_strdup
      Src: /src/glib/glib/gstrfuncs.c:1565,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1573
      start: 1556
    functionDepth: 0
    functionLinenumber: 1556
    functionLinenumberEnd: 1573
    functionName: g_ascii_strdown
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_ascii_tolower
    - g_strndup
    - g_return_val_if_fail
    - g_strdup
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_ascii_strdown (const gchar *str, gssize len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/glib/gstrfuncs.c:295,1
    - Dst: newlocale
      Src: /src/glib/glib/gstrfuncs.c:297,1
    - Dst: g_once_init_leave
      Src: /src/glib/glib/gstrfuncs.c:298,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 302
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 302
    functionName: get_C_locale
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_once_init_leave
    - newlocale
    - g_once_init_enter
    linkageType: ''
    returnType: locale_t
    signature: 'static locale_t get_C_locale (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_vasprintf
      Src: /src/glib/glib/gstrfuncs.c:510,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 513
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 513
    functionName: g_strdup_vprintf
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_vasprintf
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_strdup_vprintf (const gchar *format, va_list args) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:1455,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:1456,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 3
    argNames:
    - dest
    - src
    - dest_size
    argTypes:
    - gchar*
    - gchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 1480
      start: 1446
    functionDepth: 0
    functionLinenumber: 1446
    functionLinenumberEnd: 1480
    functionName: g_strlcpy
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gsize
    signature: 'gsize g_strlcpy (gchar *dest, const gchar *src, gsize dest_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_islower
      Src: /src/glib/glib/gstrfuncs.c:1751,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - gchar
    constantsTouched: []
    func_position:
      end: 1752
      start: 1748
    functionDepth: 0
    functionLinenumber: 1748
    functionLinenumberEnd: 1752
    functionName: g_ascii_toupper
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_ascii_islower
    linkageType: ''
    returnType: gchar
    signature: 'gchar g_ascii_toupper (gchar c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_isdigit
      Src: /src/glib/glib/gstrfuncs.c:1770,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - gchar
    constantsTouched: []
    func_position:
      end: 1773
      start: 1767
    functionDepth: 0
    functionLinenumber: 1767
    functionLinenumberEnd: 1773
    functionName: g_ascii_digit_value
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_ascii_isdigit
    linkageType: ''
    returnType: int
    signature: 'int g_ascii_digit_value (gchar c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:1831,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:1832,1
    - Dst: TOLOWER
      Src: /src/glib/glib/gstrfuncs.c:1837,1
    - Dst: TOLOWER
      Src: /src/glib/glib/gstrfuncs.c:1836,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1844
      start: 1825
    functionDepth: 0
    functionLinenumber: 1825
    functionLinenumberEnd: 1844
    functionName: g_ascii_strcasecmp
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - TOLOWER
    - g_return_val_if_fail
    linkageType: ''
    returnType: gint
    signature: 'gint g_ascii_strcasecmp (const gchar *s1, const gchar *s2) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:2121,1
    - Dst: g_malloc
      Src: /src/glib/glib/gstrfuncs.c:2123,1
    - Dst: g_warning
      Src: /src/glib/glib/gstrfuncs.c:2134,1
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:2123,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2179
      start: 2114
    functionDepth: 0
    functionLinenumber: 2114
    functionLinenumberEnd: 2179
    functionName: g_strcompress
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - strlen
    - g_malloc
    - g_warning
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_strcompress (const gchar *source) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:3446,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:3447,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:3448,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:3449,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gstrfuncs.c:3453,1
    - Dst: _
      Src: /src/glib/glib/gstrfuncs.c:3455,1
    - Dst: g_ascii_strtoull
      Src: /src/glib/glib/gstrfuncs.c:3460,1
    - Dst: g_ascii_isspace
      Src: /src/glib/glib/gstrfuncs.c:3467,1
    - Dst: str_has_sign
      Src: /src/glib/glib/gstrfuncs.c:3470,1
    - Dst: str_has_hex_prefix
      Src: /src/glib/glib/gstrfuncs.c:3474,1
    - Dst: g_set_error
      Src: /src/glib/glib/gstrfuncs.c:3479,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gstrfuncs.c:3486,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gstrfuncs.c:3487,1
    - Dst: _
      Src: /src/glib/glib/gstrfuncs.c:3491,1
    - Dst: g_free
      Src: /src/glib/glib/gstrfuncs.c:3494,1
    - Dst: g_set_error
      Src: /src/glib/glib/gstrfuncs.c:3489,1
    - Dst: _
      Src: /src/glib/glib/gstrfuncs.c:3481,1
    - Dst: g_free
      Src: /src/glib/glib/gstrfuncs.c:3493,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 53
    argCount: 6
    argNames:
    - str
    - base
    - min
    - max
    - out_num
    - error
    argTypes:
    - gchar*
    - guint
    - guint64
    - guint64
    - guint64*
    - GError**
    constantsTouched: []
    func_position:
      end: 3500
      start: 3434
    functionDepth: 0
    functionLinenumber: 3434
    functionLinenumberEnd: 3500
    functionName: g_ascii_string_to_unsigned
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_ascii_isspace
    - str_has_sign
    - g_set_error
    - g_return_val_if_fail
    - g_strdup_printf
    - g_ascii_strtoull
    - g_set_error_literal
    - _
    - str_has_hex_prefix
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_ascii_string_to_unsigned (const gchar *str, guint base,
      guint64 min, guint64 max, guint64 *out_num, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:3187,1
    - Dst: g_str_tokenize_and_fold
      Src: /src/glib/glib/gstrfuncs.c:3191,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:3188,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/gstrfuncs.c:3198,1
    - Dst: g_str_tokenize_and_fold
      Src: /src/glib/glib/gstrfuncs.c:3190,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/gstrfuncs.c:3203,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gstrfuncs.c:3213,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gstrfuncs.c:3214,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gstrfuncs.c:3215,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 20
    argCount: 3
    argNames:
    - search_term
    - potential_hit
    - accept_alternates
    argTypes:
    - gchar*
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 3218
      start: 3176
    functionDepth: 0
    functionLinenumber: 3176
    functionLinenumberEnd: 3218
    functionName: g_str_match_string
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_str_has_prefix
    - g_strfreev
    - g_return_val_if_fail
    - g_str_tokenize_and_fold
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_str_match_string (const gchar *search_term, const gchar
      *potential_hit, gboolean accept_alternates) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/glib/glib/gstrfuncs.c:385,1
    - Dst: memcpy
      Src: /src/glib/glib/gstrfuncs.c:386,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - mem
    - byte_size
    argTypes:
    - gconstpointer
    - gsize
    constantsTouched: []
    func_position:
      end: 392
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 392
    functionName: g_memdup2
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_malloc
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_memdup2 (gconstpointer mem, gsize byte_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:467,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:468,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:474,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:475,1
    - Dst: stpcpy
      Src: /src/glib/glib/gstrfuncs.c:469,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 482
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 482
    functionName: g_stpcpy
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - stpcpy
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_stpcpy (gchar *dest, const gchar *src) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:574,1
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:579,1
    - Dst: va_arg
      Src: /src/glib/glib/gstrfuncs.c:580,1
    - Dst: va_arg
      Src: /src/glib/glib/gstrfuncs.c:576,1
    - Dst: va_start
      Src: /src/glib/glib/gstrfuncs.c:575,1
    - Dst: va_end
      Src: /src/glib/glib/gstrfuncs.c:582,1
    - Dst: g_new
      Src: /src/glib/glib/gstrfuncs.c:584,1
    - Dst: g_stpcpy
      Src: /src/glib/glib/gstrfuncs.c:587,1
    - Dst: va_start
      Src: /src/glib/glib/gstrfuncs.c:588,1
    - Dst: va_arg
      Src: /src/glib/glib/gstrfuncs.c:589,1
    - Dst: g_stpcpy
      Src: /src/glib/glib/gstrfuncs.c:592,1
    - Dst: va_end
      Src: /src/glib/glib/gstrfuncs.c:595,1
    - Dst: va_arg
      Src: /src/glib/glib/gstrfuncs.c:593,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 598
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 598
    functionName: g_strconcat
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_stpcpy
    - g_new
    - strlen
    - va_arg
    - va_end
    - va_start
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_strconcat (const gchar *string1, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:1623,1
    - Dst: isupper
      Src: /src/glib/glib/gstrfuncs.c:1629,1
    - Dst: tolower
      Src: /src/glib/glib/gstrfuncs.c:1630,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1635
      start: 1618
    functionDepth: 0
    functionLinenumber: 1618
    functionLinenumberEnd: 1635
    functionName: g_strdown
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - tolower
    - isupper
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_strdown (gchar *string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_isupper
      Src: /src/glib/glib/gstrfuncs.c:1728,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - gchar
    constantsTouched: []
    func_position:
      end: 1729
      start: 1725
    functionDepth: 0
    functionLinenumber: 1725
    functionLinenumberEnd: 1729
    functionName: g_ascii_tolower
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_ascii_isupper
    linkageType: ''
    returnType: gchar
    signature: 'gchar g_ascii_tolower (gchar c) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:2626,1
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:2641,1
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:2637,1
    - Dst: g_new
      Src: /src/glib/glib/gstrfuncs.c:2645,1
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:2639,1
    - Dst: g_stpcpy
      Src: /src/glib/glib/gstrfuncs.c:2646,1
    - Dst: g_stpcpy
      Src: /src/glib/glib/gstrfuncs.c:2649,1
    - Dst: g_stpcpy
      Src: /src/glib/glib/gstrfuncs.c:2650,1
    - Dst: g_strdup
      Src: /src/glib/glib/gstrfuncs.c:2654,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2657
      start: 2619
    functionDepth: 0
    functionLinenumber: 2619
    functionLinenumberEnd: 2657
    functionName: g_strjoinv
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_stpcpy
    - g_strdup
    - g_return_val_if_fail
    - g_new
    - strlen
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_strjoinv (const gchar *separator, gchar **str_array) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:1033,1
    - Dst: ISSPACE
      Src: /src/glib/glib/gstrfuncs.c:1047,1
    - Dst: TOUPPER
      Src: /src/glib/glib/gstrfuncs.c:1065,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gstrfuncs.c:1050,1
    - Dst: ISALPHA
      Src: /src/glib/glib/gstrfuncs.c:1088,1
    - Dst: TOUPPER
      Src: /src/glib/glib/gstrfuncs.c:1089,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gstrfuncs.c:1113,1
    - Dst: TOUPPER
      Src: /src/glib/glib/gstrfuncs.c:1128,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 78
    argCount: 4
    argNames:
    - nptr
    - endptr
    - base
    - negative
    argTypes:
    - gchar*
    - gchar**
    - guint
    - gboolean*
    constantsTouched: []
    func_position:
      end: 1136
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1136
    functionName: g_parse_long_long
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - ISALPHA
    - ISSPACE
    - G_UNLIKELY
    - TOUPPER
    linkageType: ''
    returnType: guint64
    signature: 'static guint64 g_parse_long_long (const gchar *nptr, const gchar **endptr,
      guint base, gboolean *negative) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:321,1
    - Dst: memcpy
      Src: /src/glib/glib/gstrfuncs.c:323,1
    - Dst: g_new
      Src: /src/glib/glib/gstrfuncs.c:322,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 329
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 329
    functionName: (g_strdup)
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_new
    - strlen
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *(g_strdup) (const gchar *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:321,1
    - Dst: memcpy
      Src: /src/glib/glib/gstrfuncs.c:323,1
    - Dst: g_new
      Src: /src/glib/glib/gstrfuncs.c:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 324
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 324
    functionName: (str)
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_new
    - strlen
    linkageType: ''
    returnType: G_LIKELY
    signature: 'G_LIKELY (str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/glib/gstrfuncs.c:443,1
    - Dst: memset
      Src: /src/glib/glib/gstrfuncs.c:444,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 448
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 448
    functionName: g_strnfill
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - memset
    - g_new
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_strnfill (gsize length, gchar fill_char) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_formatd
      Src: /src/glib/glib/gstrfuncs.c:880,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 881
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 881
    functionName: g_ascii_dtostr
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_ascii_formatd
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_ascii_dtostr (gchar *buffer, gint buf_len, gdouble d) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_C_locale
      Src: /src/glib/glib/gstrfuncs.c:1231,1
    - Dst: strtoll_l
      Src: /src/glib/glib/gstrfuncs.c:1234,1
    - Dst: g_parse_long_long
      Src: /src/glib/glib/gstrfuncs.c:1239,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 3
    argNames:
    - nptr
    - endptr
    - base
    argTypes:
    - gchar*
    - gchar**
    - guint
    constantsTouched: []
    func_position:
      end: 1256
      start: 1225
    functionDepth: 0
    functionLinenumber: 1225
    functionLinenumberEnd: 1256
    functionName: g_ascii_strtoll
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - strtoll_l
    - get_C_locale
    - g_parse_long_long
    linkageType: ''
    returnType: gint64
    signature: 'gint64 g_ascii_strtoll (const gchar *nptr, gchar **endptr, guint base) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/gstrfuncs.c:1296,1
    - Dst: g_strlcpy
      Src: /src/glib/glib/gstrfuncs.c:1324,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gstrfuncs.c:1330,1
    - Dst: g_get_console_charset
      Src: /src/glib/glib/gstrfuncs.c:1336,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gstrfuncs.c:1350,1
    - Dst: G_LOCK_DEFINE_STATIC
      Src: /src/glib/glib/gstrfuncs.c:1290,1
    - Dst: g_hash_table_new
      Src: /src/glib/glib/gstrfuncs.c:1299,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/gstrfuncs.c:1296,1
    - Dst: strerror_r
      Src: /src/glib/glib/gstrfuncs.c:1317,1
    - Dst: g_strdup
      Src: /src/glib/glib/gstrfuncs.c:1346,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/gstrfuncs.c:1348,1
    - Dst: g_error_free
      Src: /src/glib/glib/gstrfuncs.c:1342,1
    - Dst: G_LOCK
      Src: /src/glib/glib/gstrfuncs.c:1294,1
    - Dst: strerror_r
      Src: /src/glib/glib/gstrfuncs.c:1319,1
    - Dst: strerror
      Src: /src/glib/glib/gstrfuncs.c:1324,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/gstrfuncs.c:1348,1
    - Dst: g_print
      Src: /src/glib/glib/gstrfuncs.c:1341,1
    - Dst: strerror_s
      Src: /src/glib/glib/gstrfuncs.c:1312,1
    - Dst: g_locale_to_utf8
      Src: /src/glib/glib/gstrfuncs.c:1338,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1354
      start: 1286
    functionDepth: 0
    functionLinenumber: 1286
    functionLinenumberEnd: 1354
    functionName: g_strerror
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - G_LOCK_DEFINE_STATIC
    - g_get_console_charset
    - strerror_s
    - g_strlcpy
    - strerror
    - g_strdup
    - G_UNLOCK
    - g_hash_table_lookup
    - g_locale_to_utf8
    - g_hash_table_insert
    - g_error_free
    - g_hash_table_new
    - GINT_TO_POINTER
    - strerror_r
    - g_print
    - G_LOCK
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_strerror (gint errnum) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:1405,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:1406,1
    - Dst: strlcpy
      Src: /src/glib/glib/gstrfuncs.c:1408,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - dest
    - src
    - dest_size
    argTypes:
    - gchar*
    - gchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 1409
      start: 1400
    functionDepth: 0
    functionLinenumber: 1400
    functionLinenumberEnd: 1409
    functionName: g_strlcpy
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - strlcpy
    linkageType: ''
    returnType: gsize
    signature: 'gsize g_strlcpy (gchar *dest, const gchar *src, gsize dest_size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:2035,1
    - Dst: strchr
      Src: /src/glib/glib/gstrfuncs.c:2042,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2047
      start: 2028
    functionDepth: 0
    functionLinenumber: 2028
    functionLinenumberEnd: 2047
    functionName: g_strdelimit
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - strchr
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_strdelimit (gchar *string, const gchar *delimiters, gchar
      new_delim) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:1416,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:1417,1
    - Dst: strlcat
      Src: /src/glib/glib/gstrfuncs.c:1419,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - dest
    - src
    - dest_size
    argTypes:
    - gchar*
    - gchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 1420
      start: 1411
    functionDepth: 0
    functionLinenumber: 1411
    functionLinenumberEnd: 1420
    functionName: g_strlcat
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - strlcat
    linkageType: ''
    returnType: gsize
    signature: 'gsize g_strlcat (gchar *dest, const gchar *src, gsize dest_size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:2481,1
    - Dst: memset
      Src: /src/glib/glib/gstrfuncs.c:2497,1
    - Dst: g_strndup
      Src: /src/glib/glib/gstrfuncs.c:2509,1
    - Dst: g_new
      Src: /src/glib/glib/gstrfuncs.c:2489,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:2482,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gstrfuncs.c:2510,1
    - Dst: g_strndup
      Src: /src/glib/glib/gstrfuncs.c:2519,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gstrfuncs.c:2520,1
    - Dst: g_new
      Src: /src/glib/glib/gstrfuncs.c:2523,1
    - Dst: g_slist_free
      Src: /src/glib/glib/gstrfuncs.c:2529,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2532
      start: 2468
    functionDepth: 0
    functionLinenumber: 2468
    functionLinenumberEnd: 2532
    functionName: g_strsplit_set
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - memset
    - g_return_val_if_fail
    - g_new
    - g_strndup
    - g_slist_free
    - g_slist_prepend
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **g_strsplit_set (const gchar *string, const gchar *delimiters,
      gint max_tokens) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/glib/gstrfuncs.c:418,1
    - Dst: strncpy
      Src: /src/glib/glib/gstrfuncs.c:419,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 426
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 426
    functionName: g_strndup
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - strncpy
    - g_new
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_strndup (const gchar *str, gsize n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_C_locale
      Src: /src/glib/glib/gstrfuncs.c:1180,1
    - Dst: strtoull_l
      Src: /src/glib/glib/gstrfuncs.c:1183,1
    - Dst: g_parse_long_long
      Src: /src/glib/glib/gstrfuncs.c:1188,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - nptr
    - endptr
    - base
    argTypes:
    - gchar*
    - gchar**
    - guint
    constantsTouched: []
    func_position:
      end: 1193
      start: 1174
    functionDepth: 0
    functionLinenumber: 1174
    functionLinenumberEnd: 1193
    functionName: g_ascii_strtoull
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - get_C_locale
    - strtoull_l
    - g_parse_long_long
    linkageType: ''
    returnType: guint64
    signature: 'guint64 g_ascii_strtoull (const gchar *nptr, gchar **endptr, guint
      base) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:1517,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:1518,1
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:1527,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - dest
    - src
    - dest_size
    argTypes:
    - gchar*
    - gchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 1541
      start: 1507
    functionDepth: 0
    functionLinenumber: 1507
    functionLinenumberEnd: 1541
    functionName: g_strlcat
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - strlen
    linkageType: ''
    returnType: gsize
    signature: 'gsize g_strlcat (gchar *dest, const gchar *src, gsize dest_size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_digit_value
      Src: /src/glib/glib/gstrfuncs.c:1798,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - c
    argTypes:
    - gchar
    constantsTouched: []
    func_position:
      end: 1799
      start: 1791
    functionDepth: 0
    functionLinenumber: 1791
    functionLinenumberEnd: 1799
    functionName: g_ascii_xdigit_value
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_ascii_digit_value
    linkageType: ''
    returnType: int
    signature: 'int g_ascii_xdigit_value (gchar c) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:1875,1
    - Dst: TOLOWER
      Src: /src/glib/glib/gstrfuncs.c:1881,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:1876,1
    - Dst: TOLOWER
      Src: /src/glib/glib/gstrfuncs.c:1882,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - gchar*
    - gchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 1892
      start: 1868
    functionDepth: 0
    functionLinenumber: 1868
    functionLinenumberEnd: 1892
    functionName: g_ascii_strncasecmp
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - TOLOWER
    - g_return_val_if_fail
    linkageType: ''
    returnType: gint
    signature: 'gint g_ascii_strncasecmp (const gchar *s1, const gchar *s2, gsize
      n) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:2217,1
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:2221,1
    - Dst: g_malloc
      Src: /src/glib/glib/gstrfuncs.c:2221,1
    - Dst: memset
      Src: /src/glib/glib/gstrfuncs.c:2223,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2292
      start: 2208
    functionDepth: 0
    functionLinenumber: 2208
    functionLinenumberEnd: 2292
    functionName: g_strescape
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - memset
    - strlen
    - g_malloc
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_strescape (const gchar *source, const gchar *exceptions) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:2396,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:2397,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:2398,1
    - Dst: g_ptr_array_new_full
      Src: /src/glib/glib/gstrfuncs.c:2407,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/gstrfuncs.c:2403,1
    - Dst: strstr
      Src: /src/glib/glib/gstrfuncs.c:2411,1
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.c:2414,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/gstrfuncs.c:2421,1
    - Dst: g_strndup
      Src: /src/glib/glib/gstrfuncs.c:2421,1
    - Dst: strstr
      Src: /src/glib/glib/gstrfuncs.c:2423,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/gstrfuncs.c:2431,1
    - Dst: g_strdup
      Src: /src/glib/glib/gstrfuncs.c:2427,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/gstrfuncs.c:2427,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/gstrfuncs.c:2429,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2432
      start: 2387
    functionDepth: 0
    functionLinenumber: 2387
    functionLinenumberEnd: 2432
    functionName: g_strsplit
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_ptr_array_add
    - g_strdup
    - strlen
    - g_ptr_array_new_full
    - g_strndup
    - g_ptr_array_free
    - g_ptr_array_new
    - strstr
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **g_strsplit (const gchar *string, const gchar *delimiter, gint
      max_tokens) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/gstrfuncs.c:2558,1
    - Dst: g_free
      Src: /src/glib/glib/gstrfuncs.c:2560,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - str_array
    argTypes:
    - gchar**
    constantsTouched: []
    func_position:
      end: 2562
      start: 2550
    functionDepth: 0
    functionLinenumber: 2550
    functionLinenumberEnd: 2562
    functionName: g_strfreev
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_strfreev (gchar **str_array) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:3092,1
    - Dst: g_strv_length
      Src: /src/glib/glib/gstrfuncs.c:3106,1
    - Dst: g_str_is_ascii
      Src: /src/glib/glib/gstrfuncs.c:3094,1
    - Dst: split_words
      Src: /src/glib/glib/gstrfuncs.c:3100,1
    - Dst: g_new0
      Src: /src/glib/glib/gstrfuncs.c:3096,1
    - Dst: g_new
      Src: /src/glib/glib/gstrfuncs.c:3107,1
    - Dst: g_str_is_ascii
      Src: /src/glib/glib/gstrfuncs.c:3112,1
    - Dst: g_utf8_normalize
      Src: /src/glib/glib/gstrfuncs.c:3118,1
    - Dst: g_str_to_ascii
      Src: /src/glib/glib/gstrfuncs.c:3120,1
    - Dst: g_ascii_isalnum
      Src: /src/glib/glib/gstrfuncs.c:3124,1
    - Dst: g_free
      Src: /src/glib/glib/gstrfuncs.c:3131,1
    - Dst: g_free
      Src: /src/glib/glib/gstrfuncs.c:3133,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3141
      start: 3085
    functionDepth: 0
    functionLinenumber: 3085
    functionLinenumberEnd: 3141
    functionName: g_str_tokenize_and_fold
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_strv_length
    - g_str_is_ascii
    - g_new
    - split_words
    - g_ascii_isalnum
    - g_utf8_normalize
    - g_str_to_ascii
    - g_new0
    - g_free
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **g_str_tokenize_and_fold (const gchar *string, const gchar
      *translit_locale, gchar ***ascii_alternates) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gstrfuncs.c:3351,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:3347,1
    - Dst: _
      Src: /src/glib/glib/gstrfuncs.c:3353,1
    - Dst: g_free
      Src: /src/glib/glib/gstrfuncs.c:3389,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:3344,1
    - Dst: g_ascii_strtoll
      Src: /src/glib/glib/gstrfuncs.c:3358,1
    - Dst: str_has_sign
      Src: /src/glib/glib/gstrfuncs.c:3370,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gstrfuncs.c:3383,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gstrfuncs.c:3382,1
    - Dst: g_free
      Src: /src/glib/glib/gstrfuncs.c:3390,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:3345,1
    - Dst: g_ascii_isspace
      Src: /src/glib/glib/gstrfuncs.c:3365,1
    - Dst: str_has_hex_prefix
      Src: /src/glib/glib/gstrfuncs.c:3370,1
    - Dst: _
      Src: /src/glib/glib/gstrfuncs.c:3387,1
    - Dst: _
      Src: /src/glib/glib/gstrfuncs.c:3377,1
    - Dst: g_set_error
      Src: /src/glib/glib/gstrfuncs.c:3385,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstrfuncs.c:3346,1
    - Dst: str_has_hex_prefix
      Src: /src/glib/glib/gstrfuncs.c:3370,1
    - Dst: g_set_error
      Src: /src/glib/glib/gstrfuncs.c:3375,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 54
    argCount: 6
    argNames:
    - str
    - base
    - min
    - max
    - out_num
    - error
    argTypes:
    - gchar*
    - guint
    - gint64
    - gint64
    - gint64*
    - GError**
    constantsTouched: []
    func_position:
      end: 3396
      start: 3332
    functionDepth: 0
    functionLinenumber: 3332
    functionLinenumberEnd: 3396
    functionName: g_ascii_string_to_signed
    functionSourceFile: /src/glib/glib/gstrfuncs.c
    functionUses: []
    functionsReached:
    - g_ascii_isspace
    - str_has_sign
    - g_set_error
    - g_return_val_if_fail
    - g_strdup_printf
    - g_set_error_literal
    - g_ascii_strtoll
    - _
    - str_has_hex_prefix
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_ascii_string_to_signed (const gchar *str, guint base, gint64
      min, gint64 max, gint64 *out_num, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_dir_open_with_errno
      Src: /src/glib/glib/gdir.c:156,1
    - Dst: g_filename_to_utf8
      Src: /src/glib/glib/gdir.c:164,1
    - Dst: g_set_error
      Src: /src/glib/glib/gdir.c:166,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/gdir.c:166,1
    - Dst: _
      Src: /src/glib/glib/gdir.c:167,1
    - Dst: g_strerror
      Src: /src/glib/glib/gdir.c:167,1
    - Dst: g_free
      Src: /src/glib/glib/gdir.c:168,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 172
    functionName: g_dir_open
    functionSourceFile: /src/glib/glib/gdir.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_dir_open_with_errno
    - g_filename_to_utf8
    - g_strerror
    - g_file_error_from_errno
    - _
    - g_free
    linkageType: ''
    returnType: GDir*
    signature: 'GDir *g_dir_open (const gchar *path, guint flags, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdir.c:243,1
    - Dst: wcscmp
      Src: /src/glib/glib/gdir.c:251,1
    - Dst: _wreaddir
      Src: /src/glib/glib/gdir.c:248,1
    - Dst: wcscmp
      Src: /src/glib/glib/gdir.c:250,1
    - Dst: _wreaddir
      Src: /src/glib/glib/gdir.c:252,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/gdir.c:257,1
    - Dst: strcpy
      Src: /src/glib/glib/gdir.c:262,1
    - Dst: g_free
      Src: /src/glib/glib/gdir.c:263,1
    - Dst: readdir
      Src: /src/glib/glib/gdir.c:268,1
    - Dst: strcmp
      Src: /src/glib/glib/gdir.c:270,1
    - Dst: strcmp
      Src: /src/glib/glib/gdir.c:271,1
    - Dst: readdir
      Src: /src/glib/glib/gdir.c:272,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 279
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 279
    functionName: g_dir_read_name
    functionSourceFile: /src/glib/glib/gdir.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - wcscmp
    - strcmp
    - strcpy
    - readdir
    - _wreaddir
    - g_free
    - g_utf16_to_utf8
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_dir_read_name (GDir *dir) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gdir.c:304,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gdir.c:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - dir
    argTypes:
    - GDir*
    constantsTouched: []
    func_position:
      end: 308
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 308
    functionName: g_dir_actually_close
    functionSourceFile: /src/glib/glib/gdir.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    linkageType: ''
    returnType: void
    signature: 'static void g_dir_actually_close (GDir *dir) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdir.c:344,1
    - Dst: g_atomic_ref_count_inc
      Src: /src/glib/glib/gdir.c:346,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 348
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 348
    functionName: g_dir_ref
    functionSourceFile: /src/glib/glib/gdir.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_atomic_ref_count_inc
    linkageType: ''
    returnType: GDir*
    signature: 'GDir *g_dir_ref (GDir *dir) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dir_open
      Src: /src/glib/glib/gdir.c:394,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 395
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 395
    functionName: g_dir_open_utf8
    functionSourceFile: /src/glib/glib/gdir.c
    functionUses: []
    functionsReached:
    - g_dir_open
    linkageType: ''
    returnType: GDir*
    signature: 'GDir *g_dir_open_utf8 (const gchar *path, guint flags, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dir_read_name
      Src: /src/glib/glib/gdir.c:400,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 401
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 401
    functionName: g_dir_read_name_utf8
    functionSourceFile: /src/glib/glib/gdir.c
    functionUses: []
    functionsReached:
    - g_dir_read_name
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_dir_read_name_utf8 (GDir *dir) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdir.c:101,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/gdir.c:104,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdir.c:106,1
    - Dst: g_free
      Src: /src/glib/glib/gdir.c:110,1
    - Dst: _wopendir
      Src: /src/glib/glib/gdir.c:108,1
    - Dst: g_new0
      Src: /src/glib/glib/gdir.c:116,1
    - Dst: g_atomic_ref_count_init
      Src: /src/glib/glib/gdir.c:117,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gdir.c:120,1
    - Dst: opendir
      Src: /src/glib/glib/gdir.c:122,1
    - Dst: g_dir_new_from_dirp
      Src: /src/glib/glib/gdir.c:127,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 129
    functionName: g_dir_open_with_errno
    functionSourceFile: /src/glib/glib/gdir.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_return_val_if_fail
    - g_utf8_to_utf16
    - opendir
    - _wopendir
    - g_atomic_ref_count_init
    - g_new0
    - g_free
    - g_dir_new_from_dirp
    linkageType: ''
    returnType: GDir*
    signature: 'GDir *g_dir_open_with_errno (const gchar *path, guint flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdir.c:197,1
    - Dst: g_new0
      Src: /src/glib/glib/gdir.c:199,1
    - Dst: g_atomic_ref_count_init
      Src: /src/glib/glib/gdir.c:200,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gdir.c:205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 209
    functionName: g_dir_new_from_dirp
    functionSourceFile: /src/glib/glib/gdir.c
    functionUses: []
    functionsReached:
    - g_new0
    - g_return_val_if_fail
    - g_assert_not_reached
    - g_atomic_ref_count_init
    linkageType: ''
    returnType: GDir*
    signature: 'GDir *g_dir_new_from_dirp (gpointer dirp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdir.c:291,1
    - Dst: rewinddir
      Src: /src/glib/glib/gdir.c:296,1
    - Dst: _wrewinddir
      Src: /src/glib/glib/gdir.c:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - dir
    argTypes:
    - GDir*
    constantsTouched: []
    func_position:
      end: 298
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 298
    functionName: g_dir_rewind
    functionSourceFile: /src/glib/glib/gdir.c
    functionUses: []
    functionsReached:
    - rewinddir
    - _wrewinddir
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dir_rewind (GDir *dir) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdir.c:326,1
    - Dst: g_dir_unref
      Src: /src/glib/glib/gdir.c:329,1
    - Dst: g_dir_actually_close
      Src: /src/glib/glib/gdir.c:328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - dir
    argTypes:
    - GDir*
    constantsTouched: []
    func_position:
      end: 330
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 330
    functionName: g_dir_close
    functionSourceFile: /src/glib/glib/gdir.c
    functionUses: []
    functionsReached:
    - g_dir_unref
    - g_dir_actually_close
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dir_close (GDir *dir) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdir.c:371,1
    - Dst: g_free
      Src: /src/glib/glib/gdir.c:376,1
    - Dst: g_atomic_ref_count_dec
      Src: /src/glib/glib/gdir.c:373,1
    - Dst: g_dir_actually_close
      Src: /src/glib/glib/gdir.c:375,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - dir
    argTypes:
    - GDir*
    constantsTouched: []
    func_position:
      end: 378
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 378
    functionName: g_dir_unref
    functionSourceFile: /src/glib/glib/gdir.c
    functionUses: []
    functionsReached:
    - g_atomic_ref_count_dec
    - g_free
    - g_dir_actually_close
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dir_unref (GDir *dir) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/glib/glib-unix.c:87,1
    - Dst: g_strerror
      Src: /src/glib/glib/glib-unix.c:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - error
    - saved_errno
    argTypes:
    - GError**
    - gint
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 93
    functionName: g_unix_set_error_from_errno
    functionSourceFile: /src/glib/glib/glib-unix.c
    functionUses: []
    functionsReached:
    - g_set_error_literal
    - g_strerror
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_unix_set_error_from_errno (GError **error, gint
      saved_errno) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_signal_source_new
      Src: /src/glib/glib/glib-unix.c:254,1
    - Dst: g_source_set_priority
      Src: /src/glib/glib/glib-unix.c:257,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/glib-unix.c:259,1
    - Dst: g_source_unref
      Src: /src/glib/glib/glib-unix.c:261,1
    - Dst: g_source_attach
      Src: /src/glib/glib/glib-unix.c:260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - priority
    - signum
    - handler
    - user_data
    - notify
    argTypes:
    - int
    - int
    - GSourceFunc
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 264
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 264
    functionName: g_unix_signal_add_full
    functionSourceFile: /src/glib/glib/glib-unix.c
    functionUses: []
    functionsReached:
    - g_source_set_priority
    - g_source_set_callback
    - g_source_attach
    - g_source_unref
    - g_unix_signal_source_new
    linkageType: ''
    returnType: guint
    signature: 'guint g_unix_signal_add_full (int priority, int signum, GSourceFunc
      handler, gpointer user_data, GDestroyNotify notify) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/glib-unix.c:220,1
    - Dst: _g_main_create_unix_signal_watch
      Src: /src/glib/glib/glib-unix.c:224,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 225
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 225
    functionName: g_unix_signal_source_new
    functionSourceFile: /src/glib/glib/glib-unix.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - _g_main_create_unix_signal_watch
    linkageType: ''
    returnType: GSource*
    signature: 'GSource *g_unix_signal_source_new (int signum) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_source_new
      Src: /src/glib/glib/glib-unix.c:342,1
    - Dst: g_source_add_unix_fd
      Src: /src/glib/glib/glib-unix.c:346,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 349
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 349
    functionName: g_unix_fd_source_new
    functionSourceFile: /src/glib/glib/glib-unix.c
    functionUses: []
    functionsReached:
    - g_source_add_unix_fd
    - g_source_new
    linkageType: ''
    returnType: GSource*
    signature: 'GSource *g_unix_fd_source_new (gint fd, GIOCondition condition) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/glib-unix.c:382,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/glib-unix.c:389,1
    - Dst: g_unix_fd_source_new
      Src: /src/glib/glib/glib-unix.c:384,1
    - Dst: g_source_set_priority
      Src: /src/glib/glib/glib-unix.c:387,1
    - Dst: g_source_attach
      Src: /src/glib/glib/glib-unix.c:390,1
    - Dst: g_source_unref
      Src: /src/glib/glib/glib-unix.c:391,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 6
    argNames:
    - priority
    - fd
    - condition
    - function
    - user_data
    - notify
    argTypes:
    - gint
    - gint
    - GIOCondition
    - GUnixFDSourceFunc
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 394
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 394
    functionName: g_unix_fd_add_full
    functionSourceFile: /src/glib/glib/glib-unix.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_source_set_priority
    - g_source_set_callback
    - g_source_attach
    - g_unix_fd_source_new
    - g_source_unref
    linkageType: ''
    returnType: guint
    signature: 'guint g_unix_fd_add_full (gint priority, gint fd, GIOCondition condition,
      GUnixFDSourceFunc function, gpointer user_data, GDestroyNotify notify) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/glib-unix.c:464,1
    - Dst: g_malloc0
      Src: /src/glib/glib/glib-unix.c:490,1
    - Dst: sysconf
      Src: /src/glib/glib/glib-unix.c:470,1
    - Dst: g_free
      Src: /src/glib/glib/glib-unix.c:484,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/glib-unix.c:465,1
    - Dst: getpwnam_r
      Src: /src/glib/glib/glib-unix.c:492,1
    - Dst: g_unix_set_error_from_errno
      Src: /src/glib/glib/glib-unix.c:509,1
    - Dst: g_unix_set_error_from_errno
      Src: /src/glib/glib/glib-unix.c:517,1
    - Dst: g_unix_set_error_from_errno
      Src: /src/glib/glib/glib-unix.c:526,1
    - Dst: g_assert
      Src: /src/glib/glib/glib-unix.c:532,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/glib-unix.c:542,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/glib-unix.c:538,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/glib-unix.c:539,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/glib-unix.c:539,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 543
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 543
    functionName: g_unix_get_passwd_entry
    functionSourceFile: /src/glib/glib/glib-unix.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_steal_pointer
    - g_return_val_if_fail
    - g_malloc0
    - g_assert
    - getpwnam_r
    - g_clear_pointer
    - g_unix_set_error_from_errno
    - sysconf
    - g_free
    linkageType: ''
    returnType: struct passwd*
    signature: 'struct passwd *g_unix_get_passwd_entry (const gchar *user_name, GError
      **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/glib-unix.c:579,1
    - Dst: close
      Src: /src/glib/glib/glib-unix.c:580,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - data
    - fd
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 583
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 583
    functionName: close_func_with_invalid_fds
    functionSourceFile: /src/glib/glib/glib-unix.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - close
    linkageType: ''
    returnType: G_GNUC_UNUSED
    signature: 'G_GNUC_UNUSED static int close_func_with_invalid_fds (void *data,
      int fd) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fdwalk
      Src: /src/glib/glib/glib-unix.c:639,1
    - Dst: syscall
      Src: /src/glib/glib/glib-unix.c:665,1
    - Dst: open
      Src: /src/glib/glib/glib-unix.c:651,1
    - Dst: cb
      Src: /src/glib/glib/glib-unix.c:675,1
    - Dst: filename_to_fd
      Src: /src/glib/glib/glib-unix.c:671,1
    - Dst: g_close
      Src: /src/glib/glib/glib-unix.c:680,1
    - Dst: fcntl
      Src: /src/glib/glib/glib-unix.c:705,1
    - Dst: fcntl
      Src: /src/glib/glib/glib-unix.c:709,1
    - Dst: cb
      Src: /src/glib/glib/glib-unix.c:710,1
    - Dst: safe_fdwalk_with_invalid_fds
      Src: /src/glib/glib/glib-unix.c:716,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 40
    argCount: 2
    argNames:
    - (*cb)
    - data
    argTypes:
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 718
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 718
    functionName: safe_fdwalk
    functionSourceFile: /src/glib/glib/glib-unix.c
    functionUses: []
    functionsReached:
    - safe_fdwalk_with_invalid_fds
    - syscall
    - fdwalk
    - g_close
    - open
    - cb
    - fcntl
    - filename_to_fd
    linkageType: ''
    returnType: int
    signature: 'static int safe_fdwalk (int (*cb)(void *data, int fd), void *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_warning
      Src: /src/glib/glib/glib-unix.c:306,1
    - Dst: g_source_query_unix_fd
      Src: /src/glib/glib/glib-unix.c:311,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - source
    - callback
    - user_data
    argTypes:
    - GSource*
    - GSourceFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 312
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 312
    functionName: g_unix_fd_source_dispatch
    functionSourceFile: /src/glib/glib/glib-unix.c
    functionUses: []
    functionsReached:
    - g_warning
    - g_source_query_unix_fd
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_unix_fd_source_dispatch (GSource *source, GSourceFunc
      callback, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/glib-unix.c:829,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/glib-unix.c:847,1
    - Dst: close_range
      Src: /src/glib/glib/glib-unix.c:842,1
    - Dst: safe_fdwalk
      Src: /src/glib/glib/glib-unix.c:847,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - lowfd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 850
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 850
    functionName: g_fdwalk_set_cloexec
    functionSourceFile: /src/glib/glib/glib-unix.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - GINT_TO_POINTER
    - close_range
    - safe_fdwalk
    linkageType: ''
    returnType: int
    signature: 'int g_fdwalk_set_cloexec (int lowfd) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/glib-unix.c:131,1
    - Dst: g_unix_set_error_from_errno
      Src: /src/glib/glib/glib-unix.c:141,1
    - Dst: g_debug
      Src: /src/glib/glib/glib-unix.c:135,1
    - Dst: g_unix_open_pipe_internal
      Src: /src/glib/glib/glib-unix.c:138,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - fds
    - flags
    - error
    argTypes:
    - int*
    - int
    - GError**
    constantsTouched: []
    func_position:
      end: 144
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 144
    functionName: g_unix_open_pipe
    functionSourceFile: /src/glib/glib/glib-unix.c
    functionUses: []
    functionsReached:
    - g_unix_set_error_from_errno
    - g_return_val_if_fail
    - g_unix_open_pipe_internal
    - g_debug
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unix_open_pipe (int *fds, int flags, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/glib/glib/glib-unix.c:167,1
    - Dst: g_unix_set_error_from_errno
      Src: /src/glib/glib/glib-unix.c:170,1
    - Dst: g_unix_set_error_from_errno
      Src: /src/glib/glib/glib-unix.c:181,1
    - Dst: fcntl
      Src: /src/glib/glib/glib-unix.c:177,1
    - Dst: g_unix_set_error_from_errno
      Src: /src/glib/glib/glib-unix.c:178,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - fd
    - nonblock
    - error
    argTypes:
    - gint
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 183
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 183
    functionName: g_unix_set_fd_nonblocking
    functionSourceFile: /src/glib/glib/glib-unix.c
    functionUses: []
    functionsReached:
    - g_unix_set_error_from_errno
    - fcntl
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unix_set_fd_nonblocking (gint fd, gboolean nonblock, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_signal_add_full
      Src: /src/glib/glib/glib-unix.c:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - signum
    - handler
    - user_data
    argTypes:
    - int
    - GSourceFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 286
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 286
    functionName: g_unix_signal_add
    functionSourceFile: /src/glib/glib/glib-unix.c
    functionUses: []
    functionsReached:
    - g_unix_signal_add_full
    linkageType: ''
    returnType: guint
    signature: 'guint g_unix_signal_add (int signum, GSourceFunc handler, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_fd_add_full
      Src: /src/glib/glib/glib-unix.c:427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 4
    argNames:
    - fd
    - condition
    - function
    - user_data
    argTypes:
    - gint
    - GIOCondition
    - GUnixFDSourceFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 428
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 428
    functionName: g_unix_fd_add
    functionSourceFile: /src/glib/glib/glib-unix.c
    functionUses: []
    functionsReached:
    - g_unix_fd_add_full
    linkageType: ''
    returnType: guint
    signature: 'guint g_unix_fd_add (gint fd, GIOCondition condition, GUnixFDSourceFunc
      function, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/glib-unix.c:550,1
    - Dst: fcntl
      Src: /src/glib/glib/glib-unix.c:551,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - data
    - fd
    argTypes:
    - void*
    - gint
    constantsTouched: []
    func_position:
      end: 554
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 554
    functionName: set_cloexec
    functionSourceFile: /src/glib/glib/glib-unix.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - fcntl
    linkageType: ''
    returnType: int
    signature: 'static int set_cloexec (void *data, gint fd) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 622
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 622
    functionName: filename_to_fd
    functionSourceFile: /src/glib/glib/glib-unix.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint
    signature: 'static gint filename_to_fd (const char *p) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getrlimit
      Src: /src/glib/glib/glib-unix.c:742,1
    - Dst: getpid
      Src: /src/glib/glib/glib-unix.c:777,1
    - Dst: sysconf
      Src: /src/glib/glib/glib-unix.c:759,1
    - Dst: cb
      Src: /src/glib/glib/glib-unix.c:787,1
    - Dst: proc_pidinfo
      Src: /src/glib/glib/glib-unix.c:777,1
    - Dst: cb
      Src: /src/glib/glib/glib-unix.c:796,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 37
    argCount: 2
    argNames:
    - (*cb)
    - data
    argTypes:
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 800
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 800
    functionName: safe_fdwalk_with_invalid_fds
    functionSourceFile: /src/glib/glib/glib-unix.c
    functionUses: []
    functionsReached:
    - getrlimit
    - getpid
    - cb
    - sysconf
    - proc_pidinfo
    linkageType: ''
    returnType: int
    signature: 'static int safe_fdwalk_with_invalid_fds (int (*cb)(void *data, int
      fd), void *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/glib-unix.c:880,1
    - Dst: syscall
      Src: /src/glib/glib/glib-unix.c:916,1
    - Dst: close_range
      Src: /src/glib/glib/glib-unix.c:889,1
    - Dst: closefrom
      Src: /src/glib/glib/glib-unix.c:908,1
    - Dst: fcntl
      Src: /src/glib/glib/glib-unix.c:923,1
    - Dst: safe_fdwalk
      Src: /src/glib/glib/glib-unix.c:925,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/glib-unix.c:925,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - lowfd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 929
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 929
    functionName: g_closefrom
    functionSourceFile: /src/glib/glib/glib-unix.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - closefrom
    - close_range
    - syscall
    - safe_fdwalk
    - GINT_TO_POINTER
    - fcntl
    linkageType: ''
    returnType: int
    signature: 'int g_closefrom (int lowfd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_trap_assert_stdout_unmatched
      Src: /src/glib/glib/gtestutils.h:562,1
    - Dst: g_test_trap_assert_stderr_unmatched
      Src: /src/glib/glib/gtestutils.h:564,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/gtestutils.h:563,1
    - Dst: g_test_rand_int
      Src: /src/glib/glib/gtestutils.h:569,1
    - Dst: g_test_trap_assertions
      Src: /src/glib/glib/gtestutils.h:563,1
    - Dst: g_test_trap_assertions
      Src: /src/glib/glib/gtestutils.h:562,1
    - Dst: g_test_trap_assertions
      Src: /src/glib/glib/gtestutils.h:564,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/glib/gtestutils.h:571,1
    - Dst: g_test_rand_bit
      Src: /src/glib/glib/gtestutils.h:567,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 13
    argCount: 0
    argNames:
    - g_test_trap_subprocess
    argTypes: []
    constantsTouched: []
    func_position:
      end: 692
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 692
    functionName: GLIB_DEPRECATED_IN_2_38_FOR
    functionSourceFile: /src/glib/glib/gtestutils.h
    functionUses: []
    functionsReached:
    - g_test_rand_int
    - g_test_trap_assert_stdout_unmatched
    - g_test_trap_assert_stderr
    - g_test_rand_bit
    - g_test_trap_assert_stderr_unmatched
    - g_test_rand_int_range
    - g_test_trap_assertions
    linkageType: ''
    returnType: G_GNUC_BEGIN_IGNORE_DEPRECATIONS
    signature: 'G_GNUC_BEGIN_IGNORE_DEPRECATIONS GLIB_DEPRECATED_IN_2_38_FOR (g_test_trap_subprocess)
      gboolean g_test_trap_fork (guint64 usec_timeout, GTestTrapFlags test_trap_flags);
      G_GNUC_END_IGNORE_DEPRECATIONStypedef enum { G_TEST_SUBPROCESS_DEFAULT GLIB_AVAILABLE_ENUMERATOR_IN_2_74
      = 0, G_TEST_SUBPROCESS_INHERIT_STDIN = 1 << 0, G_TEST_SUBPROCESS_INHERIT_STDOUT
      = 1 << 1, G_TEST_SUBPROCESS_INHERIT_STDERR = 1 << 2} GTestSubprocessFlags; GLIB_AVAILABLE_IN_2_38void
      g_test_trap_subprocess (const char *test_path, guint64 usec_timeout, GTestSubprocessFlags
      test_flags); GLIB_AVAILABLE_IN_2_80void g_test_trap_subprocess_with_envp (const
      char *test_path, const char * const *envp, guint64 usec_timeout, GTestSubprocessFlags
      test_flags); GLIB_AVAILABLE_IN_ALLgboolean g_test_trap_has_passed (void); GLIB_AVAILABLE_IN_ALLgboolean
      g_test_trap_reached_timeout (void); #define g_test_trap_assert_passed() g_test_trap_assertions
      (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, 0, 0)#define g_test_trap_assert_failed()
      g_test_trap_assertions (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, 1, 0)#define
      g_test_trap_assert_stdout(soutpattern) g_test_trap_assertions (G_LOG_DOMAIN,
      __FILE__, __LINE__, G_STRFUNC, 2, soutpattern)#define g_test_trap_assert_stdout_unmatched(soutpattern)
      g_test_trap_assertions (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, 3, soutpattern)#define
      g_test_trap_assert_stderr(serrpattern) g_test_trap_assertions (G_LOG_DOMAIN,
      __FILE__, __LINE__, G_STRFUNC, 4, serrpattern)#define g_test_trap_assert_stderr_unmatched(serrpattern)
      g_test_trap_assertions (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, 5, serrpattern)/*
      provide seed-able random numbers for tests */#define g_test_rand_bit() (0 !=
      (g_test_rand_int() & (1 << 15)))GLIB_AVAILABLE_IN_ALLgint32 g_test_rand_int
      (void);GLIB_AVAILABLE_IN_ALLgint32 g_test_rand_int_range (gint32 begin, gint32
      end);GLIB_AVAILABLE_IN_ALLdouble g_test_rand_double (void);GLIB_AVAILABLE_IN_ALLdouble
      g_test_rand_double_range (double range_start, double range_end);/* * semi-internal
      API: non-documented symbols with stable ABI. You * should use the non-internal
      helper macros instead. However, for * compatibility reason, you may use this
      semi-internal API. */GLIB_AVAILABLE_IN_ALLGTestCase* g_test_create_case (const
      char *test_name, gsize data_size, gconstpointer test_data, GTestFixtureFunc
      data_setup, GTestFixtureFunc data_test, GTestFixtureFunc data_teardown);GLIB_AVAILABLE_IN_ALLGTestSuite*
      g_test_create_suite (const char *suite_name);GLIB_AVAILABLE_IN_ALLGTestSuite*
      g_test_get_root (void);GLIB_AVAILABLE_IN_ALLvoid g_test_suite_add (GTestSuite
      *suite, GTestCase *test_case);GLIB_AVAILABLE_IN_ALLvoid g_test_suite_add_suite
      (GTestSuite *suite, GTestSuite *nestedsuite);GLIB_AVAILABLE_IN_ALLint g_test_run_suite
      (GTestSuite *suite);GLIB_AVAILABLE_IN_2_70void g_test_case_free (GTestCase *test_case);GLIB_AVAILABLE_IN_2_70void
      g_test_suite_free (GTestSuite *suite);GLIB_AVAILABLE_IN_ALLvoid g_test_trap_assertions
      (const char *domain, const char *file, int line, const char *func, guint64 assertion_flags,
      /* 0-pass, 1-fail, 2-outpattern, 4-errpattern */ const char *pattern);GLIB_AVAILABLE_IN_ALLvoid
      g_assertion_message (const char *domain, const char *file, int line, const char
      *func, const char *message) G_ANALYZER_NORETURN; G_NORETURNGLIB_AVAILABLE_IN_ALL
      void g_assertion_message_expr (const char *domain, const char *file, int line,
      const char *func, const char *expr); GLIB_AVAILABLE_IN_ALLvoid g_assertion_message_cmpstr
      (const char *domain, const char *file, int line, const char *func, const char
      *expr, const char *arg1, const char *cmp, const char *arg2) G_ANALYZER_NORETURN;GLIB_AVAILABLE_IN_2_68void
      g_assertion_message_cmpstrv (const char *domain, const char *file, int line,
      const char *func, const char *expr, const char * const *arg1, const char * const
      *arg2, gsize first_wrong_idx) G_ANALYZER_NORETURN;GLIB_AVAILABLE_IN_2_78void
      g_assertion_message_cmpint (const char *domain, const char *file, int line,
      const char *func, const char *expr, guint64 arg1, const char *cmp, guint64 arg2,
      char numtype) G_ANALYZER_NORETURN;GLIB_AVAILABLE_IN_ALLvoid g_assertion_message_cmpnum
      (const char *domain, const char *file, int line, const char *func, const char
      *expr, long double arg1, const char *cmp, long double arg2, char numtype) G_ANALYZER_NORETURN;GLIB_AVAILABLE_IN_ALLvoid
      g_assertion_message_error (const char *domain, const char *file, int line, const
      char *func, const char *expr, const GError *error, GQuark error_domain, int
      error_code) G_ANALYZER_NORETURN;GLIB_AVAILABLE_IN_ALLvoid g_test_add_vtable
      (const char *testpath, gsize data_size, gconstpointer test_data, GTestFixtureFunc
      data_setup, GTestFixtureFunc data_test, GTestFixtureFunc data_teardown); typedef
      struct '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gshell.c:206,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gshell.c:221,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gshell.c:227,1
    - Dst: g_string_new
      Src: /src/glib/glib/gshell.c:208,1
    - Dst: g_string_append
      Src: /src/glib/glib/gshell.c:219,1
    - Dst: g_string_free
      Src: /src/glib/glib/gshell.c:229,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 230
    functionName: g_shell_quote
    functionSourceFile: /src/glib/glib/gshell.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_string_append_c
    - g_string_free
    - g_string_new
    - g_string_append
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_shell_quote (const gchar *unquoted_string) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gshell.c:424,1
    - Dst: g_string_free
      Src: /src/glib/glib/gshell.c:424,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - token
    - retval
    argTypes:
    - GString**
    - GSList**
    constantsTouched: []
    func_position:
      end: 427
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 427
    functionName: delimit_token
    functionSourceFile: /src/glib/glib/gshell.c
    functionUses: []
    functionsReached:
    - g_string_free
    - g_slist_prepend
    linkageType: ''
    returnType: void
    signature: 'static void delimit_token (GString **token, GSList **retval) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gshell.c:276,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gshell.c:311,1
    - Dst: g_string_new
      Src: /src/glib/glib/gshell.c:282,1
    - Dst: g_strdup
      Src: /src/glib/glib/gshell.c:278,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gshell.c:305,1
    - Dst: unquote_string_inplace
      Src: /src/glib/glib/gshell.c:318,1
    - Dst: g_string_append
      Src: /src/glib/glib/gshell.c:324,1
    - Dst: g_free
      Src: /src/glib/glib/gshell.c:330,1
    - Dst: g_string_free
      Src: /src/glib/glib/gshell.c:331,1
    - Dst: g_assert
      Src: /src/glib/glib/gshell.c:334,1
    - Dst: g_free
      Src: /src/glib/glib/gshell.c:336,1
    - Dst: g_string_free
      Src: /src/glib/glib/gshell.c:337,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 339
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 339
    functionName: g_shell_unquote
    functionSourceFile: /src/glib/glib/gshell.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_strdup
    - g_string_append_c
    - g_assert
    - unquote_string_inplace
    - g_string_free
    - g_string_new
    - g_free
    - g_string_append
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_shell_unquote (const gchar *quoted_string, GError **error) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: ensure_token
      Src: /src/glib/glib/gshell.c:488,1
    - Dst: delimit_token
      Src: /src/glib/glib/gshell.c:496,1
    - Dst: delimit_token
      Src: /src/glib/glib/gshell.c:508,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gshell.c:523,1
    - Dst: ensure_token
      Src: /src/glib/glib/gshell.c:456,1
    - Dst: ensure_token
      Src: /src/glib/glib/gshell.c:522,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gshell.c:555,1
    - Dst: _
      Src: /src/glib/glib/gshell.c:586,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gshell.c:545,1
    - Dst: g_assert
      Src: /src/glib/glib/gshell.c:609,1
    - Dst: g_slist_free_full
      Src: /src/glib/glib/gshell.c:611,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gshell.c:458,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gshell.c:489,1
    - Dst: ensure_token
      Src: /src/glib/glib/gshell.c:544,1
    - Dst: _
      Src: /src/glib/glib/gshell.c:579,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gshell.c:595,1
    - Dst: ensure_token
      Src: /src/glib/glib/gshell.c:554,1
    - Dst: _
      Src: /src/glib/glib/gshell.c:598,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gshell.c:457,1
    - Dst: g_set_error
      Src: /src/glib/glib/gshell.c:583,1
    - Dst: delimit_token
      Src: /src/glib/glib/gshell.c:571,1
    - Dst: g_set_error
      Src: /src/glib/glib/gshell.c:576,1
    - Dst: g_slist_reverse
      Src: /src/glib/glib/gshell.c:604,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 72
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 614
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 614
    functionName: tokenize_command_line
    functionSourceFile: /src/glib/glib/gshell.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_slist_free_full
    - g_string_append_c
    - g_slist_reverse
    - g_assert
    - ensure_token
    - g_set_error_literal
    - _
    - delimit_token
    linkageType: ''
    returnType: GSList*
    signature: 'static GSList *tokenize_command_line (const gchar *command_line, GError
      **error) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gshell.c:70,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gshell.c:80,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gshell.c:72,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gshell.c:71,1
    - Dst: _
      Src: /src/glib/glib/gshell.c:83,1
    - Dst: g_assert
      Src: /src/glib/glib/gshell.c:95,1
    - Dst: g_assert
      Src: /src/glib/glib/gshell.c:138,1
    - Dst: g_assert
      Src: /src/glib/glib/gshell.c:145,1
    - Dst: g_assert
      Src: /src/glib/glib/gshell.c:162,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gshell.c:170,1
    - Dst: _
      Src: /src/glib/glib/gshell.c:173,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 50
    argCount: 3
    argNames:
    - str
    - end
    - err
    argTypes:
    - gchar*
    - gchar**
    - GError**
    constantsTouched: []
    func_position:
      end: 176
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 176
    functionName: unquote_string_inplace
    functionSourceFile: /src/glib/glib/gshell.c
    functionUses: []
    functionsReached:
    - _
    - g_set_error_literal
    - g_return_val_if_fail
    - g_assert
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean unquote_string_inplace (gchar* str, gchar** end, GError**
      err) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/gshell.c:414,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - token
    argTypes:
    - GString**
    constantsTouched: []
    func_position:
      end: 415
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 415
    functionName: ensure_token
    functionSourceFile: /src/glib/glib/gshell.c
    functionUses: []
    functionsReached:
    - g_string_new
    linkageType: ''
    returnType: void
    signature: 'static inline void ensure_token (GString **token) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gshell.c:658,1
    - Dst: g_slist_length
      Src: /src/glib/glib/gshell.c:678,1
    - Dst: g_new0
      Src: /src/glib/glib/gshell.c:679,1
    - Dst: g_shell_unquote
      Src: /src/glib/glib/gshell.c:684,1
    - Dst: tokenize_command_line
      Src: /src/glib/glib/gshell.c:660,1
    - Dst: g_slist_next
      Src: /src/glib/glib/gshell.c:692,1
    - Dst: g_slist_free_full
      Src: /src/glib/glib/gshell.c:696,1
    - Dst: g_assert
      Src: /src/glib/glib/gshell.c:698,1
    - Dst: g_assert
      Src: /src/glib/glib/gshell.c:699,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gshell.c:707,1
    - Dst: g_slist_free_full
      Src: /src/glib/glib/gshell.c:715,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gshell.c:714,1
    - Dst: g_assert
      Src: /src/glib/glib/gshell.c:713,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 36
    argCount: 4
    argNames:
    - command_line
    - argcp
    - argvp
    - error
    argTypes:
    - gchar*
    - gint*
    - gchar***
    - GError**
    constantsTouched: []
    func_position:
      end: 718
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 718
    functionName: g_shell_parse_argv
    functionSourceFile: /src/glib/glib/gshell.c
    functionUses: []
    functionsReached:
    - g_slist_free_full
    - g_return_val_if_fail
    - g_assert
    - g_slist_length
    - g_shell_unquote
    - g_slist_next
    - g_strfreev
    - tokenize_command_line
    - g_new0
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_shell_parse_argv (const gchar *command_line, gint *argcp,
      gchar ***argvp, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:301,1
    - Dst: G_NODE_IS_ROOT
      Src: /src/glib/glib/gnode.c:303,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:303,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:305,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:302,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 330
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 330
    functionName: g_node_insert_after
    functionSourceFile: /src/glib/glib/gnode.c
    functionUses: []
    functionsReached:
    - G_NODE_IS_ROOT
    - g_return_val_if_fail
    linkageType: ''
    returnType: GNode*
    signature: "GNode *g_node_insert_after (GNode *parent,\t\t GNode *sibling,\t\t\
      \ GNode *node) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_node_depth_traverse_post_order
      Src: /src/glib/glib/gnode.c:608,1
    - Dst: func
      Src: /src/glib/glib/gnode.c:619,1
    - Dst: func
      Src: /src/glib/glib/gnode.c:614,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 5
    argNames:
    - node
    - flags
    - depth
    - func
    - data
    argTypes:
    - GNode*
    - GTraverseFlags
    - guint
    - GNodeTraverseFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 623
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 623
    functionName: g_node_depth_traverse_post_order
    functionSourceFile: /src/glib/glib/gnode.c
    functionUses: []
    functionsReached:
    - g_node_depth_traverse_post_order
    - func
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_node_depth_traverse_post_order (GNode\t\t *node,\t\
      \t\t\t GTraverseFlags flags,\t\t\t\t guint\t\t depth,\t\t\t\t GNodeTraverseFunc\
      \ func,\t\t\t\t gpointer\t data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - node
    - data
    argTypes:
    - GNode*
    - gpointer
    constantsTouched: []
    func_position:
      end: 916
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 916
    functionName: g_node_find_func
    functionSourceFile: /src/glib/glib/gnode.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_node_find_func (GNode\t *node,\t\t gpointer data) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_node_traverse_in_order
      Src: /src/glib/glib/gnode.c:640,1
    - Dst: func
      Src: /src/glib/glib/gnode.c:644,1
    - Dst: g_node_traverse_in_order
      Src: /src/glib/glib/gnode.c:651,1
    - Dst: func
      Src: /src/glib/glib/gnode.c:656,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 4
    argNames:
    - node
    - flags
    - func
    - data
    argTypes:
    - GNode*
    - GTraverseFlags
    - GNodeTraverseFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 660
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 660
    functionName: g_node_traverse_in_order
    functionSourceFile: /src/glib/glib/gnode.c
    functionUses: []
    functionsReached:
    - g_node_traverse_in_order
    - func
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_node_traverse_in_order (GNode\t\t *node,\t\t\t GTraverseFlags\
      \ flags,\t\t\t GNodeTraverseFunc func,\t\t\t gpointer\t data) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gnode.c:872,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gnode.c:873,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gnode.c:876,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gnode.c:875,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gnode.c:874,1
    - Dst: g_node_traverse_pre_order
      Src: /src/glib/glib/gnode.c:882,1
    - Dst: g_node_depth_traverse_pre_order
      Src: /src/glib/glib/gnode.c:884,1
    - Dst: g_node_traverse_post_order
      Src: /src/glib/glib/gnode.c:888,1
    - Dst: g_node_depth_traverse_post_order
      Src: /src/glib/glib/gnode.c:890,1
    - Dst: g_node_traverse_in_order
      Src: /src/glib/glib/gnode.c:894,1
    - Dst: g_node_depth_traverse_in_order
      Src: /src/glib/glib/gnode.c:896,1
    - Dst: g_node_depth_traverse_level
      Src: /src/glib/glib/gnode.c:899,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 6
    argNames:
    - root
    - order
    - flags
    - depth
    - func
    - data
    argTypes:
    - GNode*
    - GTraverseType
    - GTraverseFlags
    - gint
    - GNodeTraverseFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 902
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 902
    functionName: g_node_traverse
    functionSourceFile: /src/glib/glib/gnode.c
    functionUses: []
    functionsReached:
    - g_node_depth_traverse_level
    - g_return_if_fail
    - g_node_traverse_in_order
    - g_node_traverse_post_order
    - g_node_depth_traverse_in_order
    - g_node_depth_traverse_post_order
    - g_node_traverse_pre_order
    - g_node_depth_traverse_pre_order
    linkageType: ''
    returnType: void
    signature: "void g_node_traverse (GNode\t\t *root,\t\t GTraverseType\t order,\t\
      \t GTraverseFlags\t flags,\t\t gint\t\t depth,\t\t GNodeTraverseFunc func,\t\
      \t gpointer\t data) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gnode.c:117,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - node
    argTypes:
    - GNode*
    constantsTouched: []
    func_position:
      end: 130
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 130
    functionName: g_node_unlink
    functionSourceFile: /src/glib/glib/gnode.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_node_unlink (GNode *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_node_new
      Src: /src/glib/glib/gnode.c:189,1
    - Dst: g_node_last_child
      Src: /src/glib/glib/gnode.c:191,1
    - Dst: g_node_prepend
      Src: /src/glib/glib/gnode.c:192,1
    - Dst: g_node_copy
      Src: /src/glib/glib/gnode.c:192,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 196
    functionName: g_node_copy
    functionSourceFile: /src/glib/glib/gnode.c
    functionUses: []
    functionsReached:
    - g_node_copy
    - g_node_last_child
    - g_node_prepend
    - g_node_new
    linkageType: ''
    returnType: GNode*
    signature: 'GNode *g_node_copy (GNode *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gnode.c:436,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - node
    argTypes:
    - GNode*
    constantsTouched: []
    func_position:
      end: 448
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 448
    functionName: g_node_reverse_children
    functionSourceFile: /src/glib/glib/gnode.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_node_reverse_children (GNode *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:1209,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1206
    functionDepth: 0
    functionLinenumber: 1206
    functionLinenumberEnd: 1215
    functionName: g_node_last_sibling
    functionSourceFile: /src/glib/glib/gnode.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: GNode*
    signature: 'GNode *g_node_last_sibling (GNode *node) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gnode.c:1244,1
    - Dst: G_NODE_IS_LEAF
      Src: /src/glib/glib/gnode.c:1255,1
    - Dst: func
      Src: /src/glib/glib/gnode.c:1258,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gnode.c:1245,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gnode.c:1246,1
    - Dst: func
      Src: /src/glib/glib/gnode.c:1263,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - node
    - flags
    - func
    - data
    argTypes:
    - GNode*
    - GTraverseFlags
    - GNodeForeachFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 1266
      start: 1238
    functionDepth: 0
    functionLinenumber: 1238
    functionLinenumberEnd: 1266
    functionName: g_node_children_foreach
    functionSourceFile: /src/glib/glib/gnode.c
    functionUses: []
    functionsReached:
    - G_NODE_IS_LEAF
    - func
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_node_children_foreach (GNode\t\t *node,\t\t\t GTraverseFlags\t\
      \ flags,\t\t\t GNodeForeachFunc func,\t\t\t gpointer\t data) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:244,1
    - Dst: G_NODE_IS_ROOT
      Src: /src/glib/glib/gnode.c:246,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:248,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:245,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:246,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 283
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 283
    functionName: g_node_insert_before
    functionSourceFile: /src/glib/glib/gnode.c
    functionUses: []
    functionsReached:
    - G_NODE_IS_ROOT
    - g_return_val_if_fail
    linkageType: ''
    returnType: GNode*
    signature: "GNode *g_node_insert_before (GNode *parent,\t\t GNode *sibling,\t\t\
      \ GNode *node) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:384,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:385,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - node
    - descendant
    argTypes:
    - GNode*
    - GNode*
    constantsTouched: []
    func_position:
      end: 396
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 396
    functionName: g_node_is_ancestor
    functionSourceFile: /src/glib/glib/gnode.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_node_is_ancestor (GNode *node,\t\t GNode *descendant) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_node_max_height
      Src: /src/glib/glib/gnode.c:476,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - root
    argTypes:
    - GNode*
    constantsTouched: []
    func_position:
      end: 483
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 483
    functionName: g_node_max_height
    functionSourceFile: /src/glib/glib/gnode.c
    functionUses: []
    functionsReached:
    - g_node_max_height
    linkageType: ''
    returnType: guint
    signature: 'guint g_node_max_height (GNode *root) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:1085,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:1086,1
    - Dst: G_NODE_IS_LEAF
      Src: /src/glib/glib/gnode.c:1093,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1080
    functionDepth: 0
    functionLinenumber: 1080
    functionLinenumberEnd: 1108
    functionName: g_node_find_child
    functionSourceFile: /src/glib/glib/gnode.c
    functionUses: []
    functionsReached:
    - G_NODE_IS_LEAF
    - g_return_val_if_fail
    linkageType: ''
    returnType: GNode*
    signature: "GNode *g_node_find_child (GNode\t *node,\t\t GTraverseFlags flags,\t\
      \t gpointer\t data) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/glib/glib/gnode.c:496,1
    - Dst: g_node_traverse_pre_order
      Src: /src/glib/glib/gnode.c:506,1
    - Dst: func
      Src: /src/glib/glib/gnode.c:511,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 4
    argNames:
    - node
    - flags
    - func
    - data
    argTypes:
    - GNode*
    - GTraverseFlags
    - GNodeTraverseFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 515
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 515
    functionName: g_node_traverse_pre_order
    functionSourceFile: /src/glib/glib/gnode.c
    functionUses: []
    functionsReached:
    - g_node_traverse_pre_order
    - func
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_node_traverse_pre_order (GNode\t *node,\t\t\t GTraverseFlags\
      \ flags,\t\t\t GNodeTraverseFunc func,\t\t\t gpointer\t data) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:214,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:215,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:216,1
    - Dst: G_NODE_IS_ROOT
      Src: /src/glib/glib/gnode.c:216,1
    - Dst: g_node_insert_before
      Src: /src/glib/glib/gnode.c:219,1
    - Dst: g_node_nth_child
      Src: /src/glib/glib/gnode.c:220,1
    - Dst: g_node_prepend
      Src: /src/glib/glib/gnode.c:223,1
    - Dst: g_node_append
      Src: /src/glib/glib/gnode.c:225,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 226
    functionName: g_node_insert
    functionSourceFile: /src/glib/glib/gnode.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_node_nth_child
    - g_node_append
    - g_node_prepend
    - G_NODE_IS_ROOT
    - g_node_insert_before
    linkageType: ''
    returnType: GNode*
    signature: "GNode *g_node_insert (GNode *parent,\t gint position,\t GNode *node) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:345,1
    - Dst: g_node_insert_before
      Src: /src/glib/glib/gnode.c:347,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 348
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 348
    functionName: g_node_prepend
    functionSourceFile: /src/glib/glib/gnode.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_node_insert_before
    linkageType: ''
    returnType: GNode*
    signature: "GNode *g_node_prepend (GNode *parent,\t\tGNode *node) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:361,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 367
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 367
    functionName: g_node_get_root
    functionSourceFile: /src/glib/glib/gnode.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: GNode*
    signature: 'GNode *g_node_get_root (GNode *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:939,1
    - Dst: g_node_traverse
      Src: /src/glib/glib/gnode.c:946,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:940,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:941,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 949
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 949
    functionName: g_node_find
    functionSourceFile: /src/glib/glib/gnode.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_node_traverse
    linkageType: ''
    returnType: GNode*
    signature: "GNode *g_node_find (GNode\t *root,\t GTraverseType order,\t GTraverseFlags\
      \ flags,\t gpointer data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:1057,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - GNode*
    constantsTouched: []
    func_position:
      end: 1067
      start: 1052
    functionDepth: 0
    functionLinenumber: 1052
    functionLinenumberEnd: 1067
    functionName: g_node_n_children
    functionSourceFile: /src/glib/glib/gnode.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: guint
    signature: 'guint g_node_n_children (GNode *node) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_node_depth_traverse_in_order
      Src: /src/glib/glib/gnode.c:681,1
    - Dst: func
      Src: /src/glib/glib/gnode.c:697,1
    - Dst: g_node_depth_traverse_in_order
      Src: /src/glib/glib/gnode.c:692,1
    - Dst: func
      Src: /src/glib/glib/gnode.c:685,1
    - Dst: func
      Src: /src/glib/glib/gnode.c:701,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 20
    argCount: 5
    argNames:
    - node
    - flags
    - depth
    - func
    - data
    argTypes:
    - GNode*
    - GTraverseFlags
    - guint
    - GNodeTraverseFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 705
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 705
    functionName: g_node_depth_traverse_in_order
    functionSourceFile: /src/glib/glib/gnode.c
    functionUses: []
    functionsReached:
    - g_node_depth_traverse_in_order
    - func
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_node_depth_traverse_in_order (GNode\t\t *node,\t\
      \t\t\tGTraverseFlags\t flags,\t\t\t\tguint\t\t depth,\t\t\t\tGNodeTraverseFunc\
      \ func,\t\t\t\tgpointer\t data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:1034,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1042
    functionName: g_node_nth_child
    functionSourceFile: /src/glib/glib/gnode.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: GNode*
    signature: "GNode *g_node_nth_child (GNode *node,\t\t guint\t n) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:1127,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:1129,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:1128,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - node
    - child
    argTypes:
    - GNode*
    - GNode*
    constantsTouched: []
    func_position:
      end: 1141
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1141
    functionName: g_node_child_position
    functionSourceFile: /src/glib/glib/gnode.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gint
    signature: "gint g_node_child_position (GNode *node,\t\t GNode *child) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/glib/glib/gnode.c:720,1
    - Dst: func
      Src: /src/glib/glib/gnode.c:724,1
    - Dst: g_node_traverse_level
      Src: /src/glib/glib/gnode.c:733,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 6
    argNames:
    - node
    - flags
    - level
    - func
    - data
    - more_levels
    argTypes:
    - GNode*
    - GTraverseFlags
    - guint
    - GNodeTraverseFunc
    - gpointer
    - gboolean*
    constantsTouched: []
    func_position:
      end: 741
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 741
    functionName: g_node_traverse_level
    functionSourceFile: /src/glib/glib/gnode.c
    functionUses: []
    functionsReached:
    - func
    - g_node_traverse_level
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_node_traverse_level (GNode\t\t *node,\t\t GTraverseFlags\t\
      \ flags,\t\t guint\t\t level,\t\t GNodeTraverseFunc func,\t\t gpointer\t data,\t\
      \t gboolean *more_levels) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:1009,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 1006
    functionDepth: 0
    functionLinenumber: 1006
    functionLinenumberEnd: 1017
    functionName: g_node_last_child
    functionSourceFile: /src/glib/glib/gnode.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: GNode*
    signature: 'GNode *g_node_last_child (GNode *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_node_alloc0
      Src: /src/glib/glib/gnode.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: g_node_new
    functionSourceFile: /src/glib/glib/gnode.c
    functionUses: []
    functionsReached:
    - g_node_alloc0
    linkageType: ''
    returnType: GNode*
    signature: 'GNode *g_node_new (gpointer data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_node_copy
      Src: /src/glib/glib/gnode.c:153,1
    - Dst: g_node_new
      Src: /src/glib/glib/gnode.c:159,1
    - Dst: copy_func
      Src: /src/glib/glib/gnode.c:159,1
    - Dst: g_node_last_child
      Src: /src/glib/glib/gnode.c:161,1
    - Dst: g_node_copy_deep
      Src: /src/glib/glib/gnode.c:163,1
    - Dst: g_node_prepend
      Src: /src/glib/glib/gnode.c:164,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 169
    functionName: g_node_copy_deep
    functionSourceFile: /src/glib/glib/gnode.c
    functionUses: []
    functionsReached:
    - g_node_copy_deep
    - g_node_last_child
    - g_node_new
    - g_node_prepend
    - copy_func
    - g_node_copy
    linkageType: ''
    returnType: GNode*
    signature: "GNode *g_node_copy_deep (GNode *node, \t\t GCopyFunc copy_func,\t\t\
      \ gpointer data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gnode.c:100,1
    - Dst: g_nodes_free
      Src: /src/glib/glib/gnode.c:105,1
    - Dst: G_NODE_IS_ROOT
      Src: /src/glib/glib/gnode.c:102,1
    - Dst: g_node_unlink
      Src: /src/glib/glib/gnode.c:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - root
    argTypes:
    - GNode*
    constantsTouched: []
    func_position:
      end: 106
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 106
    functionName: g_node_destroy
    functionSourceFile: /src/glib/glib/gnode.c
    functionUses: []
    functionsReached:
    - g_node_unlink
    - G_NODE_IS_ROOT
    - g_nodes_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_node_destroy (GNode *root) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GNode*
    constantsTouched: []
    func_position:
      end: 421
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 421
    functionName: g_node_depth
    functionSourceFile: /src/glib/glib/gnode.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint
    signature: 'guint g_node_depth (GNode *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/glib/glib/gnode.c:529,1
    - Dst: g_node_depth_traverse_pre_order
      Src: /src/glib/glib/gnode.c:543,1
    - Dst: func
      Src: /src/glib/glib/gnode.c:548,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 5
    argNames:
    - node
    - flags
    - depth
    - func
    - data
    argTypes:
    - GNode*
    - GTraverseFlags
    - guint
    - GNodeTraverseFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 552
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 552
    functionName: g_node_depth_traverse_pre_order
    functionSourceFile: /src/glib/glib/gnode.c
    functionUses: []
    functionsReached:
    - func
    - g_node_depth_traverse_pre_order
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_node_depth_traverse_pre_order (GNode\t\t *node,\t\
      \t\t\t GTraverseFlags\t flags,\t\t\t\t guint\t\t depth,\t\t\t\t GNodeTraverseFunc\
      \ func,\t\t\t\t gpointer\t data) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_node_traverse_level
      Src: /src/glib/glib/gnode.c:757,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 5
    argNames:
    - node
    - flags
    - depth
    - func
    - data
    argTypes:
    - GNode*
    - GTraverseFlags
    - gint
    - GNodeTraverseFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 764
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 764
    functionName: g_node_depth_traverse_level
    functionSourceFile: /src/glib/glib/gnode.c
    functionUses: []
    functionsReached:
    - g_node_traverse_level
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_node_depth_traverse_level (GNode *node,\t\t\t GTraverseFlags\t\
      flags,\t\t\t gint\t\tdepth,\t\t\t GNodeTraverseFunc func,\t\t\t gpointer\t data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:990,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:991,1
    - Dst: g_node_count_func
      Src: /src/glib/glib/gnode.c:993,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - root
    - flags
    argTypes:
    - GNode*
    - GTraverseFlags
    constantsTouched: []
    func_position:
      end: 996
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 996
    functionName: g_node_n_nodes
    functionSourceFile: /src/glib/glib/gnode.c
    functionUses: []
    functionsReached:
    - g_node_count_func
    - g_return_val_if_fail
    linkageType: ''
    returnType: guint
    signature: "guint g_node_n_nodes (GNode\t *root,\t\tGTraverseFlags flags) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:1186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1183
    functionDepth: 0
    functionLinenumber: 1183
    functionLinenumberEnd: 1195
    functionName: g_node_first_sibling
    functionSourceFile: /src/glib/glib/gnode.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: GNode*
    signature: 'GNode *g_node_first_sibling (GNode *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_nodes_free
      Src: /src/glib/glib/gnode.c:84,1
    - Dst: g_node_free
      Src: /src/glib/glib/gnode.c:85,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - GNode*
    constantsTouched: []
    func_position:
      end: 88
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 88
    functionName: g_nodes_free
    functionSourceFile: /src/glib/glib/gnode.c
    functionUses: []
    functionsReached:
    - g_node_free
    - g_nodes_free
    linkageType: ''
    returnType: void
    signature: 'static void g_nodes_free (GNode *node) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_node_traverse_post_order
      Src: /src/glib/glib/gnode.c:571,1
    - Dst: func
      Src: /src/glib/glib/gnode.c:581,1
    - Dst: func
      Src: /src/glib/glib/gnode.c:576,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 4
    argNames:
    - node
    - flags
    - func
    - data
    argTypes:
    - GNode*
    - GTraverseFlags
    - GNodeTraverseFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 585
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 585
    functionName: g_node_traverse_post_order
    functionSourceFile: /src/glib/glib/gnode.c
    functionUses: []
    functionsReached:
    - g_node_traverse_post_order
    - func
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_node_traverse_post_order (GNode\t *node,\t\t\t GTraverseFlags\
      \ flags,\t\t\t GNodeTraverseFunc func,\t\t\t gpointer\t data) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_node_count_func
      Src: /src/glib/glib/gnode.c:966,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 3
    argNames:
    - node
    - flags
    - n
    argTypes:
    - GNode*
    - GTraverseFlags
    - guint*
    constantsTouched: []
    func_position:
      end: 972
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 972
    functionName: g_node_count_func
    functionSourceFile: /src/glib/glib/gnode.c
    functionUses: []
    functionsReached:
    - g_node_count_func
    linkageType: ''
    returnType: void
    signature: "static void g_node_count_func (GNode\t *node,\t\t GTraverseFlags flags,\t\
      \t guint\t *n) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gnode.c:1160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - node
    - data
    argTypes:
    - GNode*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1172
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1172
    functionName: g_node_child_index
    functionSourceFile: /src/glib/glib/gnode.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gint
    signature: "gint g_node_child_index (GNode *node,\t\t gpointer data) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:1117,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:1118,1
    - Dst: g_utf8_strchr
      Src: /src/glib/glib/gbookmarkfile.c:1132,1
    - Dst: g_strndup
      Src: /src/glib/glib/gbookmarkfile.c:1135,1
    - Dst: strcmp
      Src: /src/glib/glib/gbookmarkfile.c:1125,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gbookmarkfile.c:1136,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:1140,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/gbookmarkfile.c:1144,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:1148,1
    - Dst: strcmp
      Src: /src/glib/glib/gbookmarkfile.c:1150,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:1156,1
    - Dst: strcmp
      Src: /src/glib/glib/gbookmarkfile.c:1153,1
    - Dst: strcmp
      Src: /src/glib/glib/gbookmarkfile.c:1154,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 5
    argNames:
    - parse_data
    - element_full
    - namespace
    - element
    - sep
    argTypes:
    - ParseData*
    - gchar*
    - gchar*
    - gchar*
    - gchar
    constantsTouched: []
    func_position:
      end: 1159
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1159
    functionName: is_element_full
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_warn_if_fail
    - g_utf8_next_char
    - g_strndup
    - strcmp
    - g_hash_table_lookup
    - g_utf8_strchr
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_element_full (ParseData *parse_data, const gchar
      *element_full, const gchar *namespace, const gchar *element, const gchar sep) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gbookmarkfile.c:1197,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1164
    functionDepth: 0
    functionLinenumber: 1164
    functionLinenumberEnd: 1199
    functionName: parser_state_to_element_name
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *parser_state_to_element_name (ParserState state) '
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:1238,1
    - Dst: IS_ELEMENT
      Src: /src/glib/glib/gbookmarkfile.c:1244,1
    - Dst: parse_bookmark_element
      Src: /src/glib/glib/gbookmarkfile.c:1252,1
    - Dst: IS_ELEMENT
      Src: /src/glib/glib/gbookmarkfile.c:1268,1
    - Dst: IS_ELEMENT
      Src: /src/glib/glib/gbookmarkfile.c:1282,1
    - Dst: IS_ELEMENT
      Src: /src/glib/glib/gbookmarkfile.c:1272,1
    - Dst: IS_ATTRIBUTE
      Src: /src/glib/glib/gbookmarkfile.c:1290,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:1301,1
    - Dst: IS_ELEMENT_NS
      Src: /src/glib/glib/gbookmarkfile.c:1308,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gbookmarkfile.c:1340,1
    - Dst: map_namespace_to_name
      Src: /src/glib/glib/gbookmarkfile.c:1217,1
    - Dst: strcmp
      Src: /src/glib/glib/gbookmarkfile.c:1231,1
    - Dst: IS_ELEMENT
      Src: /src/glib/glib/gbookmarkfile.c:1222,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:1275,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:1261,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:1263,1
    - Dst: parse_icon_element
      Src: /src/glib/glib/gbookmarkfile.c:1320,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:1343,1
    - Dst: IS_ELEMENT_NS
      Src: /src/glib/glib/gbookmarkfile.c:1350,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gbookmarkfile.c:1362,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:1389,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:1236,1
    - Dst: IS_ELEMENT
      Src: /src/glib/glib/gbookmarkfile.c:1242,1
    - Dst: IS_ELEMENT
      Src: /src/glib/glib/gbookmarkfile.c:1246,1
    - Dst: IS_ELEMENT
      Src: /src/glib/glib/gbookmarkfile.c:1270,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gbookmarkfile.c:1258,1
    - Dst: strcmp
      Src: /src/glib/glib/gbookmarkfile.c:1291,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:1303,1
    - Dst: IS_ELEMENT_NS
      Src: /src/glib/glib/gbookmarkfile.c:1312,1
    - Dst: IS_ELEMENT_NS
      Src: /src/glib/glib/gbookmarkfile.c:1328,1
    - Dst: parse_mime_type_element
      Src: /src/glib/glib/gbookmarkfile.c:1334,1
    - Dst: IS_ELEMENT_NS
      Src: /src/glib/glib/gbookmarkfile.c:1372,1
    - Dst: parser_state_to_element_name
      Src: /src/glib/glib/gbookmarkfile.c:1393,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:1375,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:1367,1
    - Dst: IS_ATTRIBUTE
      Src: /src/glib/glib/gbookmarkfile.c:1230,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:1277,1
    - Dst: bookmark_metadata_new
      Src: /src/glib/glib/gbookmarkfile.c:1296,1
    - Dst: IS_ELEMENT_NS
      Src: /src/glib/glib/gbookmarkfile.c:1310,1
    - Dst: IS_ELEMENT_NS
      Src: /src/glib/glib/gbookmarkfile.c:1314,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gbookmarkfile.c:1326,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:1345,1
    - Dst: parse_application_element
      Src: /src/glib/glib/gbookmarkfile.c:1356,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:1377,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:1391,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gbookmarkfile.c:1397,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:1365,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 85
    argCount: 6
    argNames:
    - context
    - element_name
    - attribute_names
    - attribute_values
    - user_data
    - error
    argTypes:
    - GMarkupParseContext*
    - gchar*
    - gchar**
    - gchar**
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 1400
      start: 1201
    functionDepth: 0
    functionLinenumber: 1201
    functionLinenumberEnd: 1400
    functionName: start_element_raw_cb
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_propagate_error
    - parse_application_element
    - parse_bookmark_element
    - parse_mime_type_element
    - strcmp
    - g_assert_not_reached
    - parser_state_to_element_name
    - map_namespace_to_name
    - IS_ATTRIBUTE
    - _
    - IS_ELEMENT_NS
    - parse_icon_element
    - IS_ELEMENT
    - bookmark_metadata_new
    linkageType: ''
    returnType: void
    signature: 'static void start_element_raw_cb (GMarkupParseContext *context, const
      gchar *element_name, const gchar **attribute_names, const gchar **attribute_values,
      gpointer user_data, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:1071,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:1090,1
    - Dst: g_utf8_strchr
      Src: /src/glib/glib/gbookmarkfile.c:1084,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gbookmarkfile.c:1086,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/gbookmarkfile.c:1079,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:1091,1
    - Dst: g_hash_table_replace
      Src: /src/glib/glib/gbookmarkfile.c:1093,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 22
    argCount: 3
    argNames:
    - parse_data
    - attribute_names
    - attribute_values
    argTypes:
    - ParseData*
    - gchar**
    - gchar**
    constantsTouched: []
    func_position:
      end: 1098
      start: 1063
    functionDepth: 0
    functionLinenumber: 1063
    functionLinenumberEnd: 1098
    functionName: map_namespace_to_name
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_warn_if_fail
    - g_utf8_next_char
    - g_hash_table_replace
    - g_str_has_prefix
    - g_utf8_strchr
    linkageType: ''
    returnType: void
    signature: "static void map_namespace_to_name (ParseData *parse_data, const gchar\
      \ **attribute_names,\t\t const gchar **attribute_values) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_new_from_unix_utc
      Src: /src/glib/glib/gbookmarkfile.c:2868,1
    - Dst: g_bookmark_file_set_visited_date_time
      Src: /src/glib/glib/gbookmarkfile.c:2869,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/gbookmarkfile.c:2870,1
    - Dst: g_date_time_new_now_utc
      Src: /src/glib/glib/gbookmarkfile.c:2868,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - bookmark
    - uri
    - visited
    argTypes:
    - GBookmarkFile*
    - gchar*
    - time_t
    constantsTouched: []
    func_position:
      end: 2871
      start: 2863
    functionDepth: 0
    functionLinenumber: 2863
    functionLinenumberEnd: 2871
    functionName: g_bookmark_file_set_visited
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_bookmark_file_set_visited_date_time
    - g_date_time_unref
    - g_date_time_new_now_utc
    - g_date_time_new_from_unix_utc
    linkageType: ''
    returnType: void
    signature: "void g_bookmark_file_set_visited (GBookmarkFile *bookmark,\t\t\t const\
      \ gchar *uri,\t\t\t time_t visited) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: timestamp_from_iso8601
      Src: /src/glib/glib/gbookmarkfile.c:848,1
    - Dst: bookmark_item_free
      Src: /src/glib/glib/gbookmarkfile.c:838,1
    - Dst: IS_ATTRIBUTE
      Src: /src/glib/glib/gbookmarkfile.c:799,1
    - Dst: IS_ATTRIBUTE
      Src: /src/glib/glib/gbookmarkfile.c:803,1
    - Dst: IS_ATTRIBUTE
      Src: /src/glib/glib/gbookmarkfile.c:801,1
    - Dst: IS_ATTRIBUTE
      Src: /src/glib/glib/gbookmarkfile.c:805,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:813,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:824,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:832,1
    - Dst: bookmark_item_free
      Src: /src/glib/glib/gbookmarkfile.c:844,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:793,1
    - Dst: bookmark_item_new
      Src: /src/glib/glib/gbookmarkfile.c:834,1
    - Dst: timestamp_from_iso8601
      Src: /src/glib/glib/gbookmarkfile.c:836,1
    - Dst: bookmark_item_free
      Src: /src/glib/glib/gbookmarkfile.c:850,1
    - Dst: bookmark_item_free
      Src: /src/glib/glib/gbookmarkfile.c:860,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:815,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:826,1
    - Dst: timestamp_from_iso8601
      Src: /src/glib/glib/gbookmarkfile.c:842,1
    - Dst: g_bookmark_file_add_item
      Src: /src/glib/glib/gbookmarkfile.c:855,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gbookmarkfile.c:862,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 57
    argCount: 5
    argNames:
    - context
    - parse_data
    - attribute_names
    - attribute_values
    - error
    argTypes:
    - GMarkupParseContext*
    - ParseData*
    - gchar**
    - gchar**
    - GError**
    constantsTouched: []
    func_position:
      end: 868
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 868
    functionName: parse_bookmark_element
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_propagate_error
    - g_warn_if_fail
    - g_bookmark_file_add_item
    - bookmark_item_new
    - IS_ATTRIBUTE
    - _
    - bookmark_item_free
    - timestamp_from_iso8601
    linkageType: ''
    returnType: void
    signature: "static void parse_bookmark_element (GMarkupParseContext *context,\t\
      \t\tParseData *parse_data,\t\t\tconst gchar **attribute_names,\t\t\tconst gchar\
      \ **attribute_values,\t\t\tGError **error) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gbookmarkfile.c:3637,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:3661,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gbookmarkfile.c:3642,1
    - Dst: g_filename_from_uri
      Src: /src/glib/glib/gbookmarkfile.c:3658,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:3653,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:3662,1
    - Dst: g_string_free
      Src: /src/glib/glib/gbookmarkfile.c:3666,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gbookmarkfile.c:3673,1
    - Dst: g_string_free
      Src: /src/glib/glib/gbookmarkfile.c:3679,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3680
      start: 3630
    functionDepth: 0
    functionLinenumber: 3630
    functionLinenumberEnd: 3680
    functionName: expand_exec_line
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_filename_from_uri
    - g_string_append_c
    - g_string_free
    - g_string_sized_new
    - g_free
    - g_string_append
    linkageType: ''
    returnType: gchar*
    signature: "static gchar *expand_exec_line (const gchar *exec_fmt,\t\t const gchar\
      \ *uri) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:4073,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:4074,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:4076,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:4081,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:4079,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:4090,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:4093,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 18
    argCount: 5
    argNames:
    - bookmark
    - uri
    - href
    - mime_type
    - error
    argTypes:
    - GBookmarkFile*
    - gchar*
    - gchar**
    - gchar**
    - GError**
    constantsTouched: []
    func_position:
      end: 4096
      start: 4064
    functionDepth: 0
    functionLinenumber: 4064
    functionLinenumberEnd: 4096
    functionName: g_bookmark_file_get_icon
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_return_val_if_fail
    - g_strdup
    - g_bookmark_file_lookup_item
    - _
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_bookmark_file_get_icon (GBookmarkFile *bookmark,\t\t\t\
      \ const gchar *uri,\t\t\t gchar **href,\t\t\t gchar **mime_type,\t\t\t GError\
      \ **error) "
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:883,1
    - Dst: IS_ATTRIBUTE
      Src: /src/glib/glib/gbookmarkfile.c:893,1
    - Dst: IS_ATTRIBUTE
      Src: /src/glib/glib/gbookmarkfile.c:895,1
    - Dst: IS_ATTRIBUTE
      Src: /src/glib/glib/gbookmarkfile.c:891,1
    - Dst: IS_ATTRIBUTE
      Src: /src/glib/glib/gbookmarkfile.c:897,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:904,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:914,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:922,1
    - Dst: bookmark_metadata_new
      Src: /src/glib/glib/gbookmarkfile.c:931,1
    - Dst: atoi
      Src: /src/glib/glib/gbookmarkfile.c:941,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gbookmarkfile.c:945,1
    - Dst: atol
      Src: /src/glib/glib/gbookmarkfile.c:957,1
    - Dst: IS_ATTRIBUTE
      Src: /src/glib/glib/gbookmarkfile.c:889,1
    - Dst: g_hash_table_replace
      Src: /src/glib/glib/gbookmarkfile.c:934,1
    - Dst: bookmark_item_lookup_app_info
      Src: /src/glib/glib/gbookmarkfile.c:925,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/gbookmarkfile.c:933,1
    - Dst: timestamp_from_iso8601
      Src: /src/glib/glib/gbookmarkfile.c:948,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:906,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:916,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:937,1
    - Dst: bookmark_app_info_new
      Src: /src/glib/glib/gbookmarkfile.c:928,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:938,1
    - Dst: g_date_time_new_from_unix_utc
      Src: /src/glib/glib/gbookmarkfile.c:957,1
    - Dst: g_date_time_new_now_utc
      Src: /src/glib/glib/gbookmarkfile.c:959,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 65
    argCount: 5
    argNames:
    - context
    - parse_data
    - attribute_names
    - attribute_values
    - error
    argTypes:
    - GMarkupParseContext*
    - ParseData*
    - gchar**
    - gchar**
    - GError**
    constantsTouched: []
    func_position:
      end: 961
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 961
    functionName: parse_application_element
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - atol
    - g_strdup
    - g_warn_if_fail
    - g_date_time_new_from_unix_utc
    - g_hash_table_replace
    - g_list_prepend
    - atoi
    - g_clear_pointer
    - bookmark_metadata_new
    - IS_ATTRIBUTE
    - _
    - bookmark_item_lookup_app_info
    - g_date_time_new_now_utc
    - g_free
    - timestamp_from_iso8601
    - bookmark_app_info_new
    linkageType: ''
    returnType: void
    signature: "static void parse_application_element (GMarkupParseContext *context,\t\
      \t\t ParseData *parse_data,\t\t\t const gchar **attribute_names,\t\t\t const\
      \ gchar **attribute_values,\t\t\t GError **error) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:3565,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/gbookmarkfile.c:3595,1
    - Dst: bookmark_metadata_new
      Src: /src/glib/glib/gbookmarkfile.c:3577,1
    - Dst: g_hash_table_replace
      Src: /src/glib/glib/gbookmarkfile.c:3596,1
    - Dst: bookmark_app_info_free
      Src: /src/glib/glib/gbookmarkfile.c:3604,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:3563,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:3586,1
    - Dst: bookmark_item_lookup_app_info
      Src: /src/glib/glib/gbookmarkfile.c:3579,1
    - Dst: bookmark_app_info_new
      Src: /src/glib/glib/gbookmarkfile.c:3593,1
    - Dst: bookmark_item_touch_modified
      Src: /src/glib/glib/gbookmarkfile.c:3606,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3555,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3553,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3554,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3552,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:3558,1
    - Dst: g_bookmark_file_add_item
      Src: /src/glib/glib/gbookmarkfile.c:3572,1
    - Dst: g_list_remove
      Src: /src/glib/glib/gbookmarkfile.c:3602,1
    - Dst: g_hash_table_remove
      Src: /src/glib/glib/gbookmarkfile.c:3603,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gbookmarkfile.c:3615,1
    - Dst: g_date_time_ref
      Src: /src/glib/glib/gbookmarkfile.c:3616,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:3620,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3551,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3556,1
    - Dst: bookmark_item_new
      Src: /src/glib/glib/gbookmarkfile.c:3571,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:3584,1
    - Dst: g_shell_quote
      Src: /src/glib/glib/gbookmarkfile.c:3621,1
    - Dst: bookmark_item_touch_modified
      Src: /src/glib/glib/gbookmarkfile.c:3624,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 66
    argCount: 7
    argNames:
    - bookmark
    - uri
    - name
    - exec
    - count
    - stamp
    - error
    argTypes:
    - GBookmarkFile*
    - char*
    - char*
    - char*
    - int
    - GDateTime*
    - GError**
    constantsTouched: []
    func_position:
      end: 3627
      start: 3539
    functionDepth: 0
    functionLinenumber: 3539
    functionLinenumberEnd: 3627
    functionName: g_bookmark_file_set_application_info
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_bookmark_file_add_item
    - g_hash_table_replace
    - g_list_remove
    - bookmark_item_touch_modified
    - g_list_prepend
    - g_clear_pointer
    - bookmark_item_lookup_app_info
    - bookmark_app_info_free
    - g_set_error
    - g_date_time_ref
    - g_hash_table_remove
    - _
    - bookmark_metadata_new
    - g_return_val_if_fail
    - g_bookmark_file_lookup_item
    - bookmark_item_new
    - g_shell_quote
    - g_free
    - bookmark_app_info_new
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_bookmark_file_set_application_info (GBookmarkFile *bookmark,
      const char *uri, const char *name, const char *exec, int count, GDateTime *stamp,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bookmark_metadata_new
      Src: /src/glib/glib/gbookmarkfile.c:366,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:368,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:369,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:370,1
    - Dst: g_list_copy_deep
      Src: /src/glib/glib/gbookmarkfile.c:372,1
    - Dst: g_list_copy_deep
      Src: /src/glib/glib/gbookmarkfile.c:374,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/gbookmarkfile.c:379,1
    - Dst: g_assert
      Src: /src/glib/glib/gbookmarkfile.c:382,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/gbookmarkfile.c:382,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/gbookmarkfile.c:383,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 386
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 386
    functionName: bookmark_metadata_copy
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_list_copy_deep
    - g_assert
    - g_hash_table_insert
    - g_hash_table_size
    - bookmark_metadata_new
    linkageType: ''
    returnType: BookmarkMetadata*
    signature: 'static BookmarkMetadata *bookmark_metadata_copy (BookmarkMetadata
      *metadata) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2475,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2476,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:2478,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:2483,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:2481,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:2490,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:2492,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:2497,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2498
      start: 2468
    functionDepth: 0
    functionLinenumber: 2468
    functionLinenumberEnd: 2498
    functionName: g_bookmark_file_get_mime_type
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_return_val_if_fail
    - g_strdup
    - g_bookmark_file_lookup_item
    - _
    linkageType: ''
    returnType: gchar*
    signature: "gchar *g_bookmark_file_get_mime_type (GBookmarkFile *bookmark,\t\t\
      \t const gchar *uri,\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bookmark_file_get_modified_date_time
      Src: /src/glib/glib/gbookmarkfile.c:2800,1
    - Dst: g_date_time_to_unix
      Src: /src/glib/glib/gbookmarkfile.c:2801,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - bookmark
    - uri
    - error
    argTypes:
    - GBookmarkFile*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 2802
      start: 2795
    functionDepth: 0
    functionLinenumber: 2795
    functionLinenumberEnd: 2802
    functionName: g_bookmark_file_get_modified
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_date_time_to_unix
    - g_bookmark_file_get_modified_date_time
    linkageType: ''
    returnType: time_t
    signature: "time_t g_bookmark_file_get_modified (GBookmarkFile *bookmark,\t\t\t\
      \ const gchar *uri,\t\t\t GError **error) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:400,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:421,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:455,1
    - Dst: bookmark_app_info_dump
      Src: /src/glib/glib/gbookmarkfile.c:467,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:440,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:502,1
    - Dst: g_strconcat
      Src: /src/glib/glib/gbookmarkfile.c:408,1
    - Dst: g_markup_escape_text
      Src: /src/glib/glib/gbookmarkfile.c:430,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:471,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:508,1
    - Dst: g_string_free
      Src: /src/glib/glib/gbookmarkfile.c:512,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gbookmarkfile.c:397,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:412,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:413,1
    - Dst: g_list_last
      Src: /src/glib/glib/gbookmarkfile.c:460,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:465,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:488,1
    - Dst: g_strconcat
      Src: /src/glib/glib/gbookmarkfile.c:490,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:495,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:497,1
    - Dst: g_list_last
      Src: /src/glib/glib/gbookmarkfile.c:426,1
    - Dst: g_strconcat
      Src: /src/glib/glib/gbookmarkfile.c:431,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:437,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:439,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:473,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:444,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:478,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 513
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 513
    functionName: bookmark_metadata_dump
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_strconcat
    - g_warn_if_fail
    - g_list_last
    - bookmark_app_info_dump
    - g_string_free
    - g_markup_escape_text
    - g_string_sized_new
    - g_free
    - g_string_append
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *bookmark_metadata_dump (BookmarkMetadata *metadata) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_bookmark_file_clear
      Src: /src/glib/glib/gbookmarkfile.c:1760,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:1762,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - bookmark
    argTypes:
    - GBookmarkFile*
    constantsTouched: []
    func_position:
      end: 1763
      start: 1754
    functionDepth: 0
    functionLinenumber: 1754
    functionLinenumberEnd: 1763
    functionName: g_bookmark_file_free
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_free
    - g_bookmark_file_clear
    linkageType: ''
    returnType: void
    signature: 'void g_bookmark_file_free (GBookmarkFile *bookmark) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2763,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2765,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2764,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:2767,1
    - Dst: bookmark_item_new
      Src: /src/glib/glib/gbookmarkfile.c:2770,1
    - Dst: g_bookmark_file_add_item
      Src: /src/glib/glib/gbookmarkfile.c:2771,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gbookmarkfile.c:2774,1
    - Dst: g_date_time_ref
      Src: /src/glib/glib/gbookmarkfile.c:2775,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - bookmark
    - uri
    - modified
    argTypes:
    - GBookmarkFile*
    - char*
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 2776
      start: 2756
    functionDepth: 0
    functionLinenumber: 2756
    functionLinenumberEnd: 2776
    functionName: g_bookmark_file_set_modified_date_time
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_date_time_ref
    - g_bookmark_file_add_item
    - g_return_if_fail
    - g_bookmark_file_lookup_item
    - bookmark_item_new
    - g_clear_pointer
    linkageType: ''
    returnType: void
    signature: 'void g_bookmark_file_set_modified_date_time (GBookmarkFile *bookmark,
      const char *uri, GDateTime *modified) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2826,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:2830,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2827,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:2833,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2828,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:2835,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2841
      start: 2819
    functionDepth: 0
    functionLinenumber: 2819
    functionLinenumberEnd: 2841
    functionName: g_bookmark_file_get_modified_date_time
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_bookmark_file_lookup_item
    - g_return_val_if_fail
    - _
    linkageType: ''
    returnType: GDateTime*
    signature: 'GDateTime *g_bookmark_file_get_modified_date_time (GBookmarkFile *bookmark,
      const char *uri, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:525,1
    - Dst: g_slice_new
      Src: /src/glib/glib/gbookmarkfile.c:527,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:528,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 540
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 540
    functionName: bookmark_item_new
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_warn_if_fail
    - g_slice_new
    linkageType: ''
    returnType: BookmarkItem*
    signature: 'static BookmarkItem *bookmark_item_new (const gchar *uri) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_warning
      Src: /src/glib/glib/gbookmarkfile.c:605,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gbookmarkfile.c:609,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:615,1
    - Dst: g_markup_escape_text
      Src: /src/glib/glib/gbookmarkfile.c:613,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:611,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:617,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:629,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:638,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:651,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:663,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:616,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:640,1
    - Dst: g_date_time_format_iso8601
      Src: /src/glib/glib/gbookmarkfile.c:636,1
    - Dst: g_markup_escape_text
      Src: /src/glib/glib/gbookmarkfile.c:662,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:664,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:675,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:676,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:690,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:691,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:619,1
    - Dst: g_date_time_format_iso8601
      Src: /src/glib/glib/gbookmarkfile.c:625,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:626,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:628,1
    - Dst: g_date_time_format_iso8601
      Src: /src/glib/glib/gbookmarkfile.c:647,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:648,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:650,1
    - Dst: g_markup_escape_text
      Src: /src/glib/glib/gbookmarkfile.c:674,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:689,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:693,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:697,1
    - Dst: g_string_free
      Src: /src/glib/glib/gbookmarkfile.c:699,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:667,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:627,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:637,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:639,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:649,1
    - Dst: g_string_truncate
      Src: /src/glib/glib/gbookmarkfile.c:655,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:656,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:665,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:677,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:679,1
    - Dst: bookmark_metadata_dump
      Src: /src/glib/glib/gbookmarkfile.c:686,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 65
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 700
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 700
    functionName: bookmark_item_dump
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - bookmark_metadata_dump
    - g_date_time_format_iso8601
    - g_warning
    - g_string_free
    - g_markup_escape_text
    - g_string_sized_new
    - g_free
    - g_string_append
    - g_string_truncate
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *bookmark_item_dump (BookmarkItem *item) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/gbookmarkfile.c:1667,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:1670,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:1671,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gbookmarkfile.c:1675,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 3
    argNames:
    - iso_date
    - out_date_time
    - error
    argTypes:
    - gchar*
    - GDateTime**
    - GError**
    constantsTouched: []
    func_position:
      end: 1677
      start: 1662
    functionDepth: 0
    functionLinenumber: 1662
    functionLinenumberEnd: 1677
    functionName: timestamp_from_iso8601
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_steal_pointer
    - g_date_time_new_from_iso8601
    - _
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean timestamp_from_iso8601 (const gchar *iso_date, GDateTime
      **out_date_time, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2058,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2059,1
    - Dst: g_file_set_contents
      Src: /src/glib/glib/gbookmarkfile.c:2071,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gbookmarkfile.c:2065,1
    - Dst: g_bookmark_file_to_data
      Src: /src/glib/glib/gbookmarkfile.c:2062,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gbookmarkfile.c:2074,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:2081,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 3
    argNames:
    - bookmark
    - filename
    - error
    argTypes:
    - GBookmarkFile*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 2084
      start: 2048
    functionDepth: 0
    functionLinenumber: 2048
    functionLinenumberEnd: 2084
    functionName: g_bookmark_file_to_file
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_return_val_if_fail
    - g_file_set_contents
    - g_bookmark_file_to_data
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_bookmark_file_to_file (GBookmarkFile *bookmark,\t\t\t const\
      \ gchar *filename,\t\t\t GError **error) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:548,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:549,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gbookmarkfile.c:555,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:550,1
    - Dst: bookmark_metadata_free
      Src: /src/glib/glib/gbookmarkfile.c:553,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gbookmarkfile.c:556,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gbookmarkfile.c:557,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gbookmarkfile.c:559,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - item
    argTypes:
    - BookmarkItem*
    constantsTouched: []
    func_position:
      end: 560
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 560
    functionName: bookmark_item_free
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_slice_free
    - g_free
    - bookmark_metadata_free
    linkageType: ''
    returnType: void
    signature: 'static void bookmark_item_free (BookmarkItem *item) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:706,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/gbookmarkfile.c:711,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 712
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 712
    functionName: bookmark_item_lookup_app_info
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_warn_if_fail
    - g_hash_table_lookup
    linkageType: ''
    returnType: BookmarkAppInfo*
    signature: "static BookmarkAppInfo *bookmark_item_lookup_app_info (BookmarkItem\
      \ *item,\t\t\t const gchar *app_name) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gbookmarkfile.c:1580,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:1608,1
    - Dst: g_strconcat
      Src: /src/glib/glib/gbookmarkfile.c:1617,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:1621,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:1650,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:1644,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:1623,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:1582,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:1605,1
    - Dst: g_strconcat
      Src: /src/glib/glib/gbookmarkfile.c:1600,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:1624,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:1646,1
    - Dst: g_markup_escape_text
      Src: /src/glib/glib/gbookmarkfile.c:1615,1
    - Dst: g_string_append
      Src: /src/glib/glib/gbookmarkfile.c:1630,1
    - Dst: g_markup_escape_text
      Src: /src/glib/glib/gbookmarkfile.c:1598,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:1607,1
    - Dst: g_list_last
      Src: /src/glib/glib/gbookmarkfile.c:1633,1
    - Dst: g_string_free
      Src: /src/glib/glib/gbookmarkfile.c:1655,1
    - Dst: bookmark_item_dump
      Src: /src/glib/glib/gbookmarkfile.c:1640,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1656
      start: 1571
    functionDepth: 0
    functionLinenumber: 1571
    functionLinenumberEnd: 1656
    functionName: g_bookmark_file_dump
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_strconcat
    - g_list_last
    - bookmark_item_dump
    - g_string_free
    - g_markup_escape_text
    - g_string_sized_new
    - g_free
    - g_string_append
    linkageType: ''
    returnType: gchar*
    signature: "static gchar *g_bookmark_file_dump (GBookmarkFile *bookmark,\t\t gsize\
      \ *length,\t\t GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2022,1
    - Dst: g_bookmark_file_dump
      Src: /src/glib/glib/gbookmarkfile.c:2024,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gbookmarkfile.c:2027,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2033
      start: 2014
    functionDepth: 0
    functionLinenumber: 2014
    functionLinenumberEnd: 2033
    functionName: g_bookmark_file_to_data
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_return_val_if_fail
    - g_bookmark_file_dump
    linkageType: ''
    returnType: gchar*
    signature: "gchar *g_bookmark_file_to_data (GBookmarkFile *bookmark,\t\t\t gsize\
      \ *length,\t\t\t GError **error) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2519,1
    - Dst: bookmark_item_new
      Src: /src/glib/glib/gbookmarkfile.c:2525,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:2522,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2520,1
    - Dst: g_bookmark_file_add_item
      Src: /src/glib/glib/gbookmarkfile.c:2526,1
    - Dst: bookmark_metadata_new
      Src: /src/glib/glib/gbookmarkfile.c:2530,1
    - Dst: bookmark_item_touch_modified
      Src: /src/glib/glib/gbookmarkfile.c:2533,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - bookmark
    - uri
    - is_private
    argTypes:
    - GBookmarkFile*
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 2534
      start: 2512
    functionDepth: 0
    functionLinenumber: 2512
    functionLinenumberEnd: 2534
    functionName: g_bookmark_file_set_is_private
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_bookmark_file_add_item
    - g_return_if_fail
    - g_bookmark_file_lookup_item
    - bookmark_item_touch_modified
    - bookmark_item_new
    - bookmark_metadata_new
    linkageType: ''
    returnType: void
    signature: "void g_bookmark_file_set_is_private (GBookmarkFile *bookmark,\t\t\t\
      \tconst gchar *uri,\t\t\t\tgboolean is_private) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/gbookmarkfile.c:725,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - bookmark
    argTypes:
    - GBookmarkFile*
    constantsTouched: []
    func_position:
      end: 729
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 729
    functionName: g_bookmark_file_init
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_hash_table_new_full
    linkageType: ''
    returnType: void
    signature: 'static void g_bookmark_file_init (GBookmarkFile *bookmark) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: IS_ELEMENT
      Src: /src/glib/glib/gbookmarkfile.c:1410,1
    - Dst: IS_ELEMENT
      Src: /src/glib/glib/gbookmarkfile.c:1420,1
    - Dst: IS_ELEMENT
      Src: /src/glib/glib/gbookmarkfile.c:1412,1
    - Dst: IS_ELEMENT
      Src: /src/glib/glib/gbookmarkfile.c:1418,1
    - Dst: IS_ELEMENT
      Src: /src/glib/glib/gbookmarkfile.c:1419,1
    - Dst: IS_ELEMENT
      Src: /src/glib/glib/gbookmarkfile.c:1427,1
    - Dst: IS_ELEMENT_NS
      Src: /src/glib/glib/gbookmarkfile.c:1429,1
    - Dst: IS_ELEMENT_NS
      Src: /src/glib/glib/gbookmarkfile.c:1433,1
    - Dst: IS_ELEMENT_NS
      Src: /src/glib/glib/gbookmarkfile.c:1437,1
    - Dst: IS_ELEMENT_NS
      Src: /src/glib/glib/gbookmarkfile.c:1438,1
    - Dst: IS_ELEMENT_NS
      Src: /src/glib/glib/gbookmarkfile.c:1440,1
    - Dst: IS_ELEMENT_NS
      Src: /src/glib/glib/gbookmarkfile.c:1439,1
    - Dst: IS_ELEMENT_NS
      Src: /src/glib/glib/gbookmarkfile.c:1441,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 31
    argCount: 4
    argNames:
    - context
    - element_name
    - user_data
    - error
    argTypes:
    - GMarkupParseContext*
    - gchar*
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 1443
      start: 1402
    functionDepth: 0
    functionLinenumber: 1402
    functionLinenumberEnd: 1443
    functionName: end_element_raw_cb
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - IS_ELEMENT_NS
    - IS_ELEMENT
    linkageType: ''
    returnType: void
    signature: 'static void end_element_raw_cb (GMarkupParseContext *context, const
      gchar *element_name, gpointer user_data, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2101,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:2109,1
    - Dst: g_bookmark_file_has_item
      Src: /src/glib/glib/gbookmarkfile.c:2107,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gbookmarkfile.c:2107,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2102,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:2111,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/gbookmarkfile.c:2116,1
    - Dst: g_hash_table_replace
      Src: /src/glib/glib/gbookmarkfile.c:2118,1
    - Dst: g_date_time_new_now_utc
      Src: /src/glib/glib/gbookmarkfile.c:2123,1
    - Dst: g_date_time_new_now_utc
      Src: /src/glib/glib/gbookmarkfile.c:2126,1
    - Dst: g_date_time_new_now_utc
      Src: /src/glib/glib/gbookmarkfile.c:2129,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - bookmark
    - item
    - error
    argTypes:
    - GBookmarkFile*
    - BookmarkItem*
    - GError**
    constantsTouched: []
    func_position:
      end: 2130
      start: 2096
    functionDepth: 0
    functionLinenumber: 2096
    functionLinenumberEnd: 2130
    functionName: g_bookmark_file_add_item
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_warn_if_fail
    - g_hash_table_replace
    - g_bookmark_file_has_item
    - G_UNLIKELY
    - g_list_prepend
    - _
    - g_date_time_new_now_utc
    linkageType: ''
    returnType: void
    signature: "static void g_bookmark_file_add_item (GBookmarkFile *bookmark,\t\t\
      \t BookmarkItem *item,\t\t\t GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2693,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:2697,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2695,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2694,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:2700,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:2702,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2708
      start: 2686
    functionDepth: 0
    functionLinenumber: 2686
    functionLinenumberEnd: 2708
    functionName: g_bookmark_file_get_added_date_time
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_bookmark_file_lookup_item
    - g_return_val_if_fail
    - _
    linkageType: ''
    returnType: GDateTime*
    signature: 'GDateTime *g_bookmark_file_get_added_date_time (GBookmarkFile *bookmark,
      const char *uri, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:734,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:735,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gbookmarkfile.c:740,1
    - Dst: g_list_free_full
      Src: /src/glib/glib/gbookmarkfile.c:737,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - bookmark
    argTypes:
    - GBookmarkFile*
    constantsTouched: []
    func_position:
      end: 741
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 741
    functionName: g_bookmark_file_clear
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_free
    - g_list_free_full
    linkageType: ''
    returnType: void
    signature: 'static void g_bookmark_file_clear (GBookmarkFile *bookmark) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: g_strndup
      Src: /src/glib/glib/gbookmarkfile.c:1455,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:1463,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:1467,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:1462,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:1468,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:1474,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:1475,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:1479,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:1480,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:1487,1
    - Dst: bookmark_metadata_new
      Src: /src/glib/glib/gbookmarkfile.c:1490,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:1511,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/gbookmarkfile.c:1493,1
    - Dst: g_warn_if_reached
      Src: /src/glib/glib/gbookmarkfile.c:1507,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:1493,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 32
    argCount: 5
    argNames:
    - context
    - text
    - length
    - user_data
    - error
    argTypes:
    - GMarkupParseContext*
    - gchar*
    - gsize
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 1512
      start: 1445
    functionDepth: 0
    functionLinenumber: 1445
    functionLinenumberEnd: 1512
    functionName: text_raw_cb
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_warn_if_fail
    - g_warn_if_reached
    - g_strndup
    - g_list_prepend
    - g_free
    - bookmark_metadata_new
    linkageType: ''
    returnType: void
    signature: 'static void text_raw_cb (GMarkupParseContext *context, const gchar
      *text, gsize length, gpointer user_data, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2090,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/gbookmarkfile.c:2092,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2093
      start: 2086
    functionDepth: 0
    functionLinenumber: 2086
    functionLinenumberEnd: 2093
    functionName: g_bookmark_file_lookup_item
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_warn_if_fail
    - g_hash_table_lookup
    linkageType: ''
    returnType: BookmarkItem*
    signature: "static BookmarkItem *g_bookmark_file_lookup_item (GBookmarkFile *bookmark,\t\
      \t\t const gchar *uri) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bookmark_app_info_new
      Src: /src/glib/glib/gbookmarkfile.c:252,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:254,1
    - Dst: g_date_time_ref
      Src: /src/glib/glib/gbookmarkfile.c:257,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 260
    functionName: bookmark_app_info_copy
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_date_time_ref
    - g_strdup
    - bookmark_app_info_new
    linkageType: ''
    returnType: BookmarkAppInfo*
    signature: 'static BookmarkAppInfo *bookmark_app_info_copy (BookmarkAppInfo *app_info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:1727,1
    - Dst: g_bookmark_file_new
      Src: /src/glib/glib/gbookmarkfile.c:1729,1
    - Dst: g_list_copy_deep
      Src: /src/glib/glib/gbookmarkfile.c:1732,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:1730,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:1731,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/gbookmarkfile.c:1737,1
    - Dst: g_assert
      Src: /src/glib/glib/gbookmarkfile.c:1740,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/gbookmarkfile.c:1740,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/gbookmarkfile.c:1741,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1744
      start: 1721
    functionDepth: 0
    functionLinenumber: 1721
    functionLinenumberEnd: 1744
    functionName: g_bookmark_file_copy
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_list_copy_deep
    - g_strdup
    - g_assert
    - g_hash_table_insert
    - g_bookmark_file_new
    - g_hash_table_size
    linkageType: ''
    returnType: GBookmarkFile*
    signature: 'GBookmarkFile *g_bookmark_file_copy (GBookmarkFile *bookmark) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:268,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gbookmarkfile.c:275,1
    - Dst: g_markup_escape_text
      Src: /src/glib/glib/gbookmarkfile.c:274,1
    - Dst: g_markup_escape_text
      Src: /src/glib/glib/gbookmarkfile.c:273,1
    - Dst: g_date_time_format_iso8601
      Src: /src/glib/glib/gbookmarkfile.c:281,1
    - Dst: g_strconcat
      Src: /src/glib/glib/gbookmarkfile.c:282,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:284,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:288,1
    - Dst: g_strconcat
      Src: /src/glib/glib/gbookmarkfile.c:291,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:299,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:300,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:301,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:302,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 305
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 305
    functionName: bookmark_app_info_dump
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_date_time_format_iso8601
    - g_strdup_printf
    - g_strconcat
    - g_warn_if_fail
    - g_strdup
    - g_markup_escape_text
    - g_free
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *bookmark_app_info_dump (BookmarkAppInfo *app_info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/glib/gbookmarkfile.c:758,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/gbookmarkfile.c:761,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 768
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 768
    functionName: parse_data_new
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_hash_table_new_full
    - g_new
    linkageType: ''
    returnType: ParseData*
    signature: 'static ParseData *parse_data_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_new_from_unix_utc
      Src: /src/glib/glib/gbookmarkfile.c:2734,1
    - Dst: g_bookmark_file_set_modified_date_time
      Src: /src/glib/glib/gbookmarkfile.c:2735,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/gbookmarkfile.c:2736,1
    - Dst: g_date_time_new_now_utc
      Src: /src/glib/glib/gbookmarkfile.c:2734,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - bookmark
    - uri
    - modified
    argTypes:
    - GBookmarkFile*
    - gchar*
    - time_t
    constantsTouched: []
    func_position:
      end: 2737
      start: 2729
    functionDepth: 0
    functionLinenumber: 2729
    functionLinenumberEnd: 2737
    functionName: g_bookmark_file_set_modified
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_bookmark_file_set_modified_date_time
    - g_date_time_unref
    - g_date_time_new_now_utc
    - g_date_time_new_from_unix_utc
    linkageType: ''
    returnType: void
    signature: "void g_bookmark_file_set_modified (GBookmarkFile *bookmark,\t\t\t\
      \ const gchar *uri,\t\t\t time_t modified) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3101,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3102,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:3104,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:3109,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:3107,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:3116,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:3118,1
    - Dst: strcmp
      Src: /src/glib/glib/gbookmarkfile.c:3125,1
    - Dst: g_list_remove_link
      Src: /src/glib/glib/gbookmarkfile.c:3127,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:3128,1
    - Dst: g_list_free_1
      Src: /src/glib/glib/gbookmarkfile.c:3129,1
    - Dst: bookmark_item_touch_modified
      Src: /src/glib/glib/gbookmarkfile.c:3131,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 4
    argNames:
    - bookmark
    - uri
    - group
    - error
    argTypes:
    - GBookmarkFile*
    - gchar*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 3138
      start: 3092
    functionDepth: 0
    functionLinenumber: 3092
    functionLinenumberEnd: 3138
    functionName: g_bookmark_file_remove_group
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_return_val_if_fail
    - g_list_remove_link
    - g_bookmark_file_lookup_item
    - bookmark_item_touch_modified
    - strcmp
    - _
    - g_free
    - g_list_free_1
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_bookmark_file_remove_group (GBookmarkFile *bookmark,\t\t\
      \t const gchar *uri,\t\t\t const gchar *group,\t\t\t GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3369,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3370,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gbookmarkfile.c:3382,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3371,1
    - Dst: g_bookmark_file_set_application_info
      Src: /src/glib/glib/gbookmarkfile.c:3374,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 4
    argNames:
    - bookmark
    - uri
    - name
    - error
    argTypes:
    - GBookmarkFile*
    - gchar*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 3388
      start: 3360
    functionDepth: 0
    functionLinenumber: 3360
    functionLinenumberEnd: 3388
    functionName: g_bookmark_file_remove_application
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_return_val_if_fail
    - g_bookmark_file_set_application_info
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_bookmark_file_remove_application (GBookmarkFile *bookmark,\t\
      \t\t\t const gchar *uri,\t\t\t\t const gchar *name,\t\t\t\t GError **error) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3050,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:3054,1
    - Dst: bookmark_item_new
      Src: /src/glib/glib/gbookmarkfile.c:3057,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3052,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3051,1
    - Dst: g_bookmark_file_add_item
      Src: /src/glib/glib/gbookmarkfile.c:3058,1
    - Dst: bookmark_metadata_new
      Src: /src/glib/glib/gbookmarkfile.c:3062,1
    - Dst: g_bookmark_file_has_group
      Src: /src/glib/glib/gbookmarkfile.c:3064,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/gbookmarkfile.c:3066,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:3067,1
    - Dst: bookmark_item_touch_modified
      Src: /src/glib/glib/gbookmarkfile.c:3069,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 3
    argNames:
    - bookmark
    - uri
    - group
    argTypes:
    - GBookmarkFile*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 3071
      start: 3043
    functionDepth: 0
    functionLinenumber: 3043
    functionLinenumberEnd: 3071
    functionName: g_bookmark_file_add_group
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_bookmark_file_add_item
    - g_return_if_fail
    - g_bookmark_file_lookup_item
    - bookmark_item_touch_modified
    - bookmark_item_new
    - g_list_prepend
    - g_bookmark_file_has_group
    - bookmark_metadata_new
    linkageType: ''
    returnType: void
    signature: "void g_bookmark_file_add_group (GBookmarkFile *bookmark,\t\t\t const\
      \ gchar *uri,\t\t\t const gchar *group) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3306,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:3309,1
    - Dst: g_bookmark_file_add_item
      Src: /src/glib/glib/gbookmarkfile.c:3313,1
    - Dst: bookmark_item_new
      Src: /src/glib/glib/gbookmarkfile.c:3312,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3307,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:3317,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:3319,1
    - Dst: g_get_application_name
      Src: /src/glib/glib/gbookmarkfile.c:3319,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:3322,1
    - Dst: g_strjoin
      Src: /src/glib/glib/gbookmarkfile.c:3324,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:3337,1
    - Dst: g_get_prgname
      Src: /src/glib/glib/gbookmarkfile.c:3324,1
    - Dst: g_date_time_new_now_utc
      Src: /src/glib/glib/gbookmarkfile.c:3326,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/gbookmarkfile.c:3335,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:3336,1
    - Dst: g_bookmark_file_set_application_info
      Src: /src/glib/glib/gbookmarkfile.c:3328,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 4
    argNames:
    - bookmark
    - uri
    - name
    - exec
    argTypes:
    - GBookmarkFile*
    - gchar*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 3338
      start: 3296
    functionDepth: 0
    functionLinenumber: 3296
    functionLinenumberEnd: 3338
    functionName: g_bookmark_file_add_application
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_get_application_name
    - g_strdup
    - g_date_time_unref
    - g_bookmark_file_add_item
    - g_return_if_fail
    - g_bookmark_file_lookup_item
    - g_strjoin
    - bookmark_item_new
    - g_get_prgname
    - g_date_time_new_now_utc
    - g_free
    - g_bookmark_file_set_application_info
    linkageType: ''
    returnType: void
    signature: "void g_bookmark_file_add_application (GBookmarkFile *bookmark,\t\t\
      \t\t const gchar *uri,\t\t\t\t const gchar *name,\t\t\t\t const gchar *exec) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bookmark_file_get_added_date_time
      Src: /src/glib/glib/gbookmarkfile.c:2667,1
    - Dst: g_date_time_to_unix
      Src: /src/glib/glib/gbookmarkfile.c:2668,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - bookmark
    - uri
    - error
    argTypes:
    - GBookmarkFile*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 2669
      start: 2662
    functionDepth: 0
    functionLinenumber: 2662
    functionLinenumberEnd: 2669
    functionName: g_bookmark_file_get_added
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_date_time_to_unix
    - g_bookmark_file_get_added_date_time
    linkageType: ''
    returnType: time_t
    signature: "time_t g_bookmark_file_get_added (GBookmarkFile *bookmark,\t\t\t const\
      \ gchar *uri,\t\t\t GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2628,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2630,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:2632,1
    - Dst: bookmark_item_new
      Src: /src/glib/glib/gbookmarkfile.c:2635,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2629,1
    - Dst: g_bookmark_file_add_item
      Src: /src/glib/glib/gbookmarkfile.c:2636,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gbookmarkfile.c:2639,1
    - Dst: g_date_time_ref
      Src: /src/glib/glib/gbookmarkfile.c:2640,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gbookmarkfile.c:2641,1
    - Dst: g_date_time_ref
      Src: /src/glib/glib/gbookmarkfile.c:2642,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - bookmark
    - uri
    - added
    argTypes:
    - GBookmarkFile*
    - char*
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 2643
      start: 2621
    functionDepth: 0
    functionLinenumber: 2621
    functionLinenumberEnd: 2643
    functionName: g_bookmark_file_set_added_date_time
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_date_time_ref
    - g_bookmark_file_add_item
    - g_return_if_fail
    - g_bookmark_file_lookup_item
    - bookmark_item_new
    - g_clear_pointer
    linkageType: ''
    returnType: void
    signature: 'void g_bookmark_file_set_added_date_time (GBookmarkFile *bookmark,
      const char *uri, GDateTime *added) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_destroy
      Src: /src/glib/glib/gbookmarkfile.c:773,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:775,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - parse_data
    argTypes:
    - ParseData*
    constantsTouched: []
    func_position:
      end: 776
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 776
    functionName: parse_data_free
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_free
    - g_hash_table_destroy
    linkageType: ''
    returnType: void
    signature: 'static void parse_data_free (ParseData *parse_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2188,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/gbookmarkfile.c:2191,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - bookmark
    - uri
    argTypes:
    - GBookmarkFile*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2192
      start: 2184
    functionDepth: 0
    functionLinenumber: 2184
    functionLinenumberEnd: 2192
    functionName: g_bookmark_file_has_item
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_hash_table_lookup
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_bookmark_file_has_item (GBookmarkFile *bookmark,\t\t\t\
      \ const gchar *uri) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2151,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2152,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:2154,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:2160,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:2158,1
    - Dst: g_list_remove
      Src: /src/glib/glib/gbookmarkfile.c:2165,1
    - Dst: g_hash_table_remove
      Src: /src/glib/glib/gbookmarkfile.c:2166,1
    - Dst: bookmark_item_free
      Src: /src/glib/glib/gbookmarkfile.c:2168,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - bookmark
    - uri
    - error
    argTypes:
    - GBookmarkFile*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 2171
      start: 2144
    functionDepth: 0
    functionLinenumber: 2144
    functionLinenumberEnd: 2171
    functionName: g_bookmark_file_remove_item
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_return_val_if_fail
    - g_hash_table_remove
    - g_bookmark_file_lookup_item
    - g_list_remove
    - _
    - bookmark_item_free
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_bookmark_file_remove_item (GBookmarkFile *bookmark,\t\t\
      \t const gchar *uri,\t\t\t GError **error) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bookmark_item_new
      Src: /src/glib/glib/gbookmarkfile.c:570,1
    - Dst: bookmark_metadata_copy
      Src: /src/glib/glib/gbookmarkfile.c:575,1
    - Dst: g_date_time_ref
      Src: /src/glib/glib/gbookmarkfile.c:578,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:572,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:573,1
    - Dst: g_date_time_ref
      Src: /src/glib/glib/gbookmarkfile.c:580,1
    - Dst: g_date_time_ref
      Src: /src/glib/glib/gbookmarkfile.c:582,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 585
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 585
    functionName: bookmark_item_copy
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - bookmark_item_new
    - g_strdup
    - bookmark_metadata_copy
    - g_date_time_ref
    linkageType: ''
    returnType: BookmarkItem*
    signature: 'static BookmarkItem *bookmark_item_copy (BookmarkItem *item) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2258,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:2263,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:2269,1
    - Dst: bookmark_item_new
      Src: /src/glib/glib/gbookmarkfile.c:2272,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:2262,1
    - Dst: g_bookmark_file_add_item
      Src: /src/glib/glib/gbookmarkfile.c:2273,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:2276,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:2277,1
    - Dst: bookmark_item_touch_modified
      Src: /src/glib/glib/gbookmarkfile.c:2279,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - bookmark
    - uri
    - title
    argTypes:
    - GBookmarkFile*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2281
      start: 2253
    functionDepth: 0
    functionLinenumber: 2253
    functionLinenumberEnd: 2281
    functionName: g_bookmark_file_set_title
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_return_if_fail
    - g_bookmark_file_add_item
    - g_bookmark_file_lookup_item
    - bookmark_item_touch_modified
    - bookmark_item_new
    - g_free
    linkageType: ''
    returnType: void
    signature: "void g_bookmark_file_set_title (GBookmarkFile *bookmark,\t\t\t const\
      \ gchar *uri,\t\t\t const gchar *title) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gbookmarkfile.c:590,1
    - Dst: g_date_time_new_now_utc
      Src: /src/glib/glib/gbookmarkfile.c:591,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - item
    argTypes:
    - BookmarkItem*
    constantsTouched: []
    func_position:
      end: 592
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 592
    functionName: bookmark_item_touch_modified
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_date_time_new_now_utc
    linkageType: ''
    returnType: void
    signature: 'static void bookmark_item_touch_modified (BookmarkItem *item) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2216,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2226,1
    - Dst: g_list_last
      Src: /src/glib/glib/gbookmarkfile.c:2222,1
    - Dst: g_list_length
      Src: /src/glib/glib/gbookmarkfile.c:2218,1
    - Dst: g_new0
      Src: /src/glib/glib/gbookmarkfile.c:2219,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:2228,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2236
      start: 2208
    functionDepth: 0
    functionLinenumber: 2208
    functionLinenumberEnd: 2236
    functionName: g_bookmark_file_get_uris
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_warn_if_fail
    - g_strdup
    - g_list_length
    - g_list_last
    - g_new0
    linkageType: ''
    returnType: gchar**
    signature: "gchar **g_bookmark_file_get_uris (GBookmarkFile *bookmark,\t\t\t gsize\
      \ *length) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/glib/gbookmarkfile.c:318,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/gbookmarkfile.c:325,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 336
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 336
    functionName: bookmark_metadata_new
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_hash_table_new_full
    - g_slice_new
    linkageType: ''
    returnType: BookmarkMetadata*
    signature: 'static BookmarkMetadata *bookmark_metadata_new (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:1834,1
    - Dst: g_bookmark_file_load_from_data
      Src: /src/glib/glib/gbookmarkfile.c:1840,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/gbookmarkfile.c:1837,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:1845,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:1835,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 3
    argNames:
    - bookmark
    - filename
    - error
    argTypes:
    - GBookmarkFile*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 1847
      start: 1825
    functionDepth: 0
    functionLinenumber: 1825
    functionLinenumberEnd: 1847
    functionName: g_bookmark_file_load_from_file
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_file_get_contents
    - g_return_val_if_fail
    - g_free
    - g_bookmark_file_load_from_data
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_bookmark_file_load_from_file (GBookmarkFile *bookmark,\t\
      \t\t\tconst gchar *filename,\t\t\t\tGError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_new_from_unix_utc
      Src: /src/glib/glib/gbookmarkfile.c:3487,1
    - Dst: g_bookmark_file_set_application_info
      Src: /src/glib/glib/gbookmarkfile.c:3489,1
    - Dst: g_date_time_new_now_utc
      Src: /src/glib/glib/gbookmarkfile.c:3487,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/gbookmarkfile.c:3491,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 7
    argNames:
    - bookmark
    - uri
    - name
    - exec
    - count
    - stamp
    - error
    argTypes:
    - GBookmarkFile*
    - gchar*
    - gchar*
    - gchar*
    - gint
    - time_t
    - GError**
    constantsTouched: []
    func_position:
      end: 3493
      start: 3478
    functionDepth: 0
    functionLinenumber: 3478
    functionLinenumberEnd: 3493
    functionName: g_bookmark_file_set_app_info
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_date_time_unref
    - g_date_time_new_now_utc
    - g_date_time_new_from_unix_utc
    - g_bookmark_file_set_application_info
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_bookmark_file_set_app_info (GBookmarkFile *bookmark,\t\t\
      \t const gchar *uri,\t\t\t const gchar *name,\t\t\t const gchar *exec,\t\t\t\
      \ gint count,\t\t\t time_t stamp,\t\t\t GError **error) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3774,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3777,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3776,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3775,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:3779,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:3782,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:3784,1
    - Dst: bookmark_item_lookup_app_info
      Src: /src/glib/glib/gbookmarkfile.c:3789,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:3792,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:3794,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:3815,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gbookmarkfile.c:3808,1
    - Dst: g_shell_unquote
      Src: /src/glib/glib/gbookmarkfile.c:3805,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:3819,1
    - Dst: expand_exec_line
      Src: /src/glib/glib/gbookmarkfile.c:3812,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:3824,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:3817,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 38
    argCount: 7
    argNames:
    - bookmark
    - uri
    - name
    - exec
    - count
    - stamp
    - error
    argTypes:
    - GBookmarkFile*
    - char*
    - char*
    - char**
    - unsigned int*
    - GDateTime**
    - GError**
    constantsTouched: []
    func_position:
      end: 3834
      start: 3762
    functionDepth: 0
    functionLinenumber: 3762
    functionLinenumberEnd: 3834
    functionName: g_bookmark_file_get_application_info
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_propagate_error
    - expand_exec_line
    - g_return_val_if_fail
    - g_bookmark_file_lookup_item
    - g_shell_unquote
    - _
    - bookmark_item_lookup_app_info
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_bookmark_file_get_application_info (GBookmarkFile *bookmark,
      const char *uri, const char *name, char **exec, unsigned int *count, GDateTime
      **stamp, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:4020,1
    - Dst: g_bookmark_file_add_item
      Src: /src/glib/glib/gbookmarkfile.c:4027,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:4021,1
    - Dst: bookmark_item_new
      Src: /src/glib/glib/gbookmarkfile.c:4026,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:4023,1
    - Dst: bookmark_metadata_new
      Src: /src/glib/glib/gbookmarkfile.c:4031,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:4033,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:4034,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:4036,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:4039,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:4041,1
    - Dst: bookmark_item_touch_modified
      Src: /src/glib/glib/gbookmarkfile.c:4043,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 4
    argNames:
    - bookmark
    - uri
    - href
    - mime_type
    argTypes:
    - GBookmarkFile*
    - gchar*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 4044
      start: 4012
    functionDepth: 0
    functionLinenumber: 4012
    functionLinenumberEnd: 4044
    functionName: g_bookmark_file_set_icon
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_bookmark_file_add_item
    - g_return_if_fail
    - g_bookmark_file_lookup_item
    - bookmark_item_touch_modified
    - bookmark_item_new
    - g_free
    - bookmark_metadata_new
    linkageType: ''
    returnType: void
    signature: "void g_bookmark_file_set_icon (GBookmarkFile *bookmark,\t\t\t const\
      \ gchar *uri,\t\t\t const gchar *href,\t\t\t const gchar *mime_type) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:344,1
    - Dst: g_list_free_full
      Src: /src/glib/glib/gbookmarkfile.c:346,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:351,1
    - Dst: g_list_free_full
      Src: /src/glib/glib/gbookmarkfile.c:347,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/glib/gbookmarkfile.c:349,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:352,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gbookmarkfile.c:354,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - metadata
    argTypes:
    - BookmarkMetadata*
    constantsTouched: []
    func_position:
      end: 355
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 355
    functionName: bookmark_metadata_free
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_free
    - g_hash_table_destroy
    - g_list_free_full
    linkageType: ''
    returnType: void
    signature: 'static void bookmark_metadata_free (BookmarkMetadata *metadata) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/glib/gbookmarkfile.c:1703,1
    - Dst: g_bookmark_file_init
      Src: /src/glib/glib/gbookmarkfile.c:1705,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1708
      start: 1698
    functionDepth: 0
    functionLinenumber: 1698
    functionLinenumberEnd: 1708
    functionName: g_bookmark_file_new
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_bookmark_file_init
    - g_new
    linkageType: ''
    returnType: GBookmarkFile*
    signature: 'GBookmarkFile *g_bookmark_file_new (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:1790,1
    - Dst: strlen
      Src: /src/glib/glib/gbookmarkfile.c:1793,1
    - Dst: g_bookmark_file_init
      Src: /src/glib/glib/gbookmarkfile.c:1798,1
    - Dst: g_bookmark_file_clear
      Src: /src/glib/glib/gbookmarkfile.c:1797,1
    - Dst: g_bookmark_file_parse
      Src: /src/glib/glib/gbookmarkfile.c:1802,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gbookmarkfile.c:1805,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 4
    argNames:
    - bookmark
    - data
    - length
    - error
    argTypes:
    - GBookmarkFile*
    - gchar*
    - gsize
    - GError**
    constantsTouched: []
    func_position:
      end: 1808
      start: 1781
    functionDepth: 0
    functionLinenumber: 1781
    functionLinenumberEnd: 1808
    functionName: g_bookmark_file_load_from_data
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_return_val_if_fail
    - g_bookmark_file_parse
    - strlen
    - g_bookmark_file_clear
    - g_bookmark_file_init
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_bookmark_file_load_from_data (GBookmarkFile *bookmark,\t\
      \t\t\tconst gchar *data,\t\t\t\tgsize length,\t\t\t\tGError **error) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2345,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:2356,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:2350,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:2349,1
    - Dst: bookmark_item_new
      Src: /src/glib/glib/gbookmarkfile.c:2359,1
    - Dst: g_bookmark_file_add_item
      Src: /src/glib/glib/gbookmarkfile.c:2360,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:2363,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:2364,1
    - Dst: bookmark_item_touch_modified
      Src: /src/glib/glib/gbookmarkfile.c:2366,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - bookmark
    - uri
    - description
    argTypes:
    - GBookmarkFile*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2368
      start: 2340
    functionDepth: 0
    functionLinenumber: 2340
    functionLinenumberEnd: 2368
    functionName: g_bookmark_file_set_description
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_return_if_fail
    - g_bookmark_file_add_item
    - g_bookmark_file_lookup_item
    - bookmark_item_touch_modified
    - bookmark_item_new
    - g_free
    linkageType: ''
    returnType: void
    signature: "void g_bookmark_file_set_description (GBookmarkFile *bookmark,\t\t\
      \t\t const gchar *uri,\t\t\t\t const gchar *description) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bookmark_file_get_visited_date_time
      Src: /src/glib/glib/gbookmarkfile.c:2935,1
    - Dst: g_date_time_to_unix
      Src: /src/glib/glib/gbookmarkfile.c:2936,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - bookmark
    - uri
    - error
    argTypes:
    - GBookmarkFile*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 2937
      start: 2930
    functionDepth: 0
    functionLinenumber: 2930
    functionLinenumberEnd: 2937
    functionName: g_bookmark_file_get_visited
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_bookmark_file_get_visited_date_time
    - g_date_time_to_unix
    linkageType: ''
    returnType: time_t
    signature: "time_t g_bookmark_file_get_visited (GBookmarkFile *bookmark,\t\t\t\
      \ const gchar *uri,\t\t\t GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3415,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:3419,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3416,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:3422,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3417,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:3424,1
    - Dst: bookmark_item_lookup_app_info
      Src: /src/glib/glib/gbookmarkfile.c:3429,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - bookmark
    - uri
    - name
    - error
    argTypes:
    - GBookmarkFile*
    - gchar*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 3430
      start: 3407
    functionDepth: 0
    functionLinenumber: 3407
    functionLinenumberEnd: 3430
    functionName: g_bookmark_file_has_application
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_return_val_if_fail
    - g_bookmark_file_lookup_item
    - _
    - bookmark_item_lookup_app_info
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_bookmark_file_has_application (GBookmarkFile *bookmark,\t\
      \t\t\t const gchar *uri,\t\t\t\t const gchar *name,\t\t\t\t GError **error) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_bookmark_file_get_application_info
      Src: /src/glib/glib/gbookmarkfile.c:3724,1
    - Dst: g_date_time_to_unix
      Src: /src/glib/glib/gbookmarkfile.c:3729,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 7
    argCount: 7
    argNames:
    - bookmark
    - uri
    - name
    - exec
    - count
    - stamp
    - error
    argTypes:
    - GBookmarkFile*
    - gchar*
    - gchar*
    - gchar**
    - guint*
    - time_t*
    - GError**
    constantsTouched: []
    func_position:
      end: 3732
      start: 3712
    functionDepth: 0
    functionLinenumber: 3712
    functionLinenumberEnd: 3732
    functionName: g_bookmark_file_get_app_info
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_date_time_to_unix
    - g_bookmark_file_get_application_info
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_bookmark_file_get_app_info (GBookmarkFile *bookmark,\t\t\
      \t const gchar *uri,\t\t\t const gchar *name,\t\t\t gchar **exec,\t\t\t guint\
      \ *count,\t\t\t time_t *stamp,\t\t\t GError **error) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3954,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:3957,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:3960,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3955,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:3962,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gbookmarkfile.c:3969,1
    - Dst: g_bookmark_file_has_item
      Src: /src/glib/glib/gbookmarkfile.c:3972,1
    - Dst: g_bookmark_file_remove_item
      Src: /src/glib/glib/gbookmarkfile.c:3974,1
    - Dst: g_hash_table_steal
      Src: /src/glib/glib/gbookmarkfile.c:3978,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:3980,1
    - Dst: g_hash_table_replace
      Src: /src/glib/glib/gbookmarkfile.c:3984,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:3981,1
    - Dst: bookmark_item_touch_modified
      Src: /src/glib/glib/gbookmarkfile.c:3982,1
    - Dst: g_bookmark_file_remove_item
      Src: /src/glib/glib/gbookmarkfile.c:3990,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 4
    argNames:
    - bookmark
    - old_uri
    - new_uri
    - error
    argTypes:
    - GBookmarkFile*
    - gchar*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 3995
      start: 3946
    functionDepth: 0
    functionLinenumber: 3946
    functionLinenumberEnd: 3995
    functionName: g_bookmark_file_move_item
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_return_val_if_fail
    - g_strdup
    - g_hash_table_replace
    - g_bookmark_file_lookup_item
    - g_hash_table_steal
    - bookmark_item_touch_modified
    - g_bookmark_file_remove_item
    - g_bookmark_file_has_item
    - g_strcmp0
    - _
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_bookmark_file_move_item (GBookmarkFile *bookmark,\t\t\t\
      \ const gchar *old_uri,\t\t\t const gchar *new_uri,\t\t\t GError **error) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:975,1
    - Dst: IS_ATTRIBUTE
      Src: /src/glib/glib/gbookmarkfile.c:981,1
    - Dst: bookmark_metadata_new
      Src: /src/glib/glib/gbookmarkfile.c:992,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:994,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:988,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:995,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 24
    argCount: 5
    argNames:
    - context
    - parse_data
    - attribute_names
    - attribute_values
    - error
    argTypes:
    - GMarkupParseContext*
    - ParseData*
    - gchar**
    - gchar**
    - GError**
    constantsTouched: []
    func_position:
      end: 996
      start: 963
    functionDepth: 0
    functionLinenumber: 963
    functionLinenumberEnd: 996
    functionName: parse_mime_type_element
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_warn_if_fail
    - IS_ATTRIBUTE
    - g_free
    - bookmark_metadata_new
    linkageType: ''
    returnType: void
    signature: "static void parse_mime_type_element (GMarkupParseContext *context,\t\
      \t\t ParseData *parse_data,\t\t\t const gchar **attribute_names,\t\t\t const\
      \ gchar **attribute_values,\t\t\t GError **error) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:1011,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:1029,1
    - Dst: IS_ATTRIBUTE
      Src: /src/glib/glib/gbookmarkfile.c:1020,1
    - Dst: IS_ATTRIBUTE
      Src: /src/glib/glib/gbookmarkfile.c:1018,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:1027,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:1038,1
    - Dst: bookmark_metadata_new
      Src: /src/glib/glib/gbookmarkfile.c:1042,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:1044,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:1045,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:1046,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:1047,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 34
    argCount: 5
    argNames:
    - context
    - parse_data
    - attribute_names
    - attribute_values
    - error
    argTypes:
    - GMarkupParseContext*
    - ParseData*
    - gchar**
    - gchar**
    - GError**
    constantsTouched: []
    func_position:
      end: 1048
      start: 998
    functionDepth: 0
    functionLinenumber: 998
    functionLinenumberEnd: 1048
    functionName: parse_icon_element
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_strdup
    - g_warn_if_fail
    - IS_ATTRIBUTE
    - _
    - g_free
    - bookmark_metadata_new
    linkageType: ''
    returnType: void
    signature: "static void parse_icon_element (GMarkupParseContext *context,\t\t\
      \ ParseData *parse_data,\t\t const gchar **attribute_names,\t\t const gchar\
      \ **attribute_values,\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:219,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:223,1
    - Dst: g_slice_new
      Src: /src/glib/glib/gbookmarkfile.c:221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 229
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 229
    functionName: bookmark_app_info_new
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_warn_if_fail
    - g_slice_new
    linkageType: ''
    returnType: BookmarkAppInfo*
    signature: 'static BookmarkAppInfo *bookmark_app_info_new (const gchar *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:237,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:238,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gbookmarkfile.c:239,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gbookmarkfile.c:241,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - app_info
    argTypes:
    - BookmarkAppInfo*
    constantsTouched: []
    func_position:
      end: 242
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 242
    functionName: bookmark_app_info_free
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_slice_free
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void bookmark_app_info_free (BookmarkAppInfo *app_info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2430,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2431,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2432,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:2434,1
    - Dst: bookmark_item_new
      Src: /src/glib/glib/gbookmarkfile.c:2437,1
    - Dst: g_bookmark_file_add_item
      Src: /src/glib/glib/gbookmarkfile.c:2438,1
    - Dst: bookmark_metadata_new
      Src: /src/glib/glib/gbookmarkfile.c:2442,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:2444,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:2446,1
    - Dst: bookmark_item_touch_modified
      Src: /src/glib/glib/gbookmarkfile.c:2447,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - bookmark
    - uri
    - mime_type
    argTypes:
    - GBookmarkFile*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2448
      start: 2423
    functionDepth: 0
    functionLinenumber: 2423
    functionLinenumberEnd: 2448
    functionName: g_bookmark_file_set_mime_type
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_bookmark_file_add_item
    - g_return_if_fail
    - g_bookmark_file_lookup_item
    - bookmark_item_touch_modified
    - bookmark_item_new
    - g_free
    - bookmark_metadata_new
    linkageType: ''
    returnType: void
    signature: "void g_bookmark_file_set_mime_type (GBookmarkFile *bookmark,\t\t\t\
      \ const gchar *uri,\t\t\t const gchar *mime_type) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_new_from_unix_utc
      Src: /src/glib/glib/gbookmarkfile.c:2604,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/gbookmarkfile.c:2606,1
    - Dst: g_date_time_new_now_utc
      Src: /src/glib/glib/gbookmarkfile.c:2604,1
    - Dst: g_bookmark_file_set_added_date_time
      Src: /src/glib/glib/gbookmarkfile.c:2605,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - bookmark
    - uri
    - added
    argTypes:
    - GBookmarkFile*
    - gchar*
    - time_t
    constantsTouched: []
    func_position:
      end: 2607
      start: 2599
    functionDepth: 0
    functionLinenumber: 2599
    functionLinenumberEnd: 2607
    functionName: g_bookmark_file_set_added
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_date_time_unref
    - g_bookmark_file_set_added_date_time
    - g_date_time_new_now_utc
    - g_date_time_new_from_unix_utc
    linkageType: ''
    returnType: void
    signature: "void g_bookmark_file_set_added (GBookmarkFile *bookmark,\t\t\t const\
      \ gchar *uri,\t\t\t time_t added) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3004,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:3007,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3005,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:3012,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:3010,1
    - Dst: strcmp
      Src: /src/glib/glib/gbookmarkfile.c:3022,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 4
    argNames:
    - bookmark
    - uri
    - group
    - error
    argTypes:
    - GBookmarkFile*
    - gchar*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 3028
      start: 2995
    functionDepth: 0
    functionLinenumber: 2995
    functionLinenumberEnd: 3028
    functionName: g_bookmark_file_has_group
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_return_val_if_fail
    - g_bookmark_file_lookup_item
    - strcmp
    - _
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_bookmark_file_has_group (GBookmarkFile *bookmark,\t\t\t\
      \ const gchar *uri,\t\t\t const gchar *group,\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3923,1
    - Dst: g_list_length
      Src: /src/glib/glib/gbookmarkfile.c:3925,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - bookmark
    argTypes:
    - GBookmarkFile*
    constantsTouched: []
    func_position:
      end: 3926
      start: 3920
    functionDepth: 0
    functionLinenumber: 3920
    functionLinenumberEnd: 3926
    functionName: g_bookmark_file_get_size
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_list_length
    - g_return_val_if_fail
    linkageType: ''
    returnType: gint
    signature: 'gint g_bookmark_file_get_size (GBookmarkFile *bookmark) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3222,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:3228,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:3225,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:3230,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3223,1
    - Dst: g_list_length
      Src: /src/glib/glib/gbookmarkfile.c:3243,1
    - Dst: g_new0
      Src: /src/glib/glib/gbookmarkfile.c:3244,1
    - Dst: g_list_last
      Src: /src/glib/glib/gbookmarkfile.c:3245,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3251,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:3253,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3261
      start: 3211
    functionDepth: 0
    functionLinenumber: 3211
    functionLinenumberEnd: 3261
    functionName: g_bookmark_file_get_groups
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_return_val_if_fail
    - g_warn_if_fail
    - g_strdup
    - g_bookmark_file_lookup_item
    - g_list_length
    - g_list_last
    - _
    - g_new0
    linkageType: ''
    returnType: gchar**
    signature: "gchar **g_bookmark_file_get_groups (GBookmarkFile *bookmark,\t\t\t\
      \ const gchar *uri,\t\t\t gsize *length,\t\t\t GError **error) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:1951,1
    - Dst: g_get_system_data_dirs
      Src: /src/glib/glib/gbookmarkfile.c:1955,1
    - Dst: g_get_user_data_dir
      Src: /src/glib/glib/gbookmarkfile.c:1954,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:1952,1
    - Dst: g_path_is_absolute
      Src: /src/glib/glib/gbookmarkfile.c:1952,1
    - Dst: g_new0
      Src: /src/glib/glib/gbookmarkfile.c:1956,1
    - Dst: g_strv_length
      Src: /src/glib/glib/gbookmarkfile.c:1956,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:1959,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:1963,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:1970,1
    - Dst: find_file_in_data_dirs
      Src: /src/glib/glib/gbookmarkfile.c:1972,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gbookmarkfile.c:1976,1
    - Dst: g_bookmark_file_load_from_file
      Src: /src/glib/glib/gbookmarkfile.c:1980,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gbookmarkfile.c:1985,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gbookmarkfile.c:1995,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:1993,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 42
    argCount: 4
    argNames:
    - bookmark
    - file
    - full_path
    - error
    argTypes:
    - GBookmarkFile*
    - gchar*
    - gchar**
    - GError**
    constantsTouched: []
    func_position:
      end: 1998
      start: 1937
    functionDepth: 0
    functionLinenumber: 1937
    functionLinenumberEnd: 1998
    functionName: g_bookmark_file_load_from_data_dirs
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_return_val_if_fail
    - g_get_system_data_dirs
    - g_strv_length
    - g_strdup
    - g_get_user_data_dir
    - g_strfreev
    - g_bookmark_file_load_from_file
    - find_file_in_data_dirs
    - g_new0
    - g_free
    - g_path_is_absolute
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_bookmark_file_load_from_data_dirs (GBookmarkFile *bookmark,\t\
      \t\t\t const gchar *file,\t\t\t\t gchar **full_path,\t\t\t\t GError **error) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2308,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:2318,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:2316,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:2313,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:2311,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:2323,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2324
      start: 2301
    functionDepth: 0
    functionLinenumber: 2301
    functionLinenumberEnd: 2324
    functionName: g_bookmark_file_get_title
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_return_val_if_fail
    - g_strdup
    - g_bookmark_file_lookup_item
    - _
    linkageType: ''
    returnType: gchar*
    signature: "gchar *g_bookmark_file_get_title (GBookmarkFile *bookmark,\t\t\t const\
      \ gchar *uri,\t\t\t GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2898,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2900,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:2902,1
    - Dst: bookmark_item_new
      Src: /src/glib/glib/gbookmarkfile.c:2905,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2899,1
    - Dst: g_bookmark_file_add_item
      Src: /src/glib/glib/gbookmarkfile.c:2906,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gbookmarkfile.c:2909,1
    - Dst: g_date_time_ref
      Src: /src/glib/glib/gbookmarkfile.c:2910,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - bookmark
    - uri
    - visited
    argTypes:
    - GBookmarkFile*
    - char*
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 2911
      start: 2891
    functionDepth: 0
    functionLinenumber: 2891
    functionLinenumberEnd: 2911
    functionName: g_bookmark_file_set_visited_date_time
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_date_time_ref
    - g_bookmark_file_add_item
    - g_return_if_fail
    - g_bookmark_file_lookup_item
    - bookmark_item_new
    - g_clear_pointer
    linkageType: ''
    returnType: void
    signature: 'void g_bookmark_file_set_visited_date_time (GBookmarkFile *bookmark,
      const char *uri, GDateTime *visited) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:1876,1
    - Dst: strchr
      Src: /src/glib/glib/gbookmarkfile.c:1884,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gbookmarkfile.c:1881,1
    - Dst: g_strndup
      Src: /src/glib/glib/gbookmarkfile.c:1892,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:1891,1
    - Dst: g_free
      Src: /src/glib/glib/gbookmarkfile.c:1900,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gbookmarkfile.c:1908,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:1910,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1916
      start: 1857
    functionDepth: 0
    functionLinenumber: 1857
    functionLinenumberEnd: 1916
    functionName: find_file_in_data_dirs
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_strndup
    - strchr
    - g_set_error_literal
    - g_build_filename
    - _
    - g_free
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *find_file_in_data_dirs (const gchar *file, gchar ***dirs,
      GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3164,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3165,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3166,1
    - Dst: bookmark_item_new
      Src: /src/glib/glib/gbookmarkfile.c:3171,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:3168,1
    - Dst: g_bookmark_file_add_item
      Src: /src/glib/glib/gbookmarkfile.c:3172,1
    - Dst: bookmark_metadata_new
      Src: /src/glib/glib/gbookmarkfile.c:3176,1
    - Dst: g_list_free_full
      Src: /src/glib/glib/gbookmarkfile.c:3178,1
    - Dst: g_list_append
      Src: /src/glib/glib/gbookmarkfile.c:3184,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:3185,1
    - Dst: bookmark_item_touch_modified
      Src: /src/glib/glib/gbookmarkfile.c:3188,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 4
    argNames:
    - bookmark
    - uri
    - groups
    - length
    argTypes:
    - GBookmarkFile*
    - gchar*
    - gchar**
    - gsize
    constantsTouched: []
    func_position:
      end: 3189
      start: 3155
    functionDepth: 0
    functionLinenumber: 3155
    functionLinenumberEnd: 3189
    functionName: g_bookmark_file_set_groups
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_list_append
    - g_strdup
    - g_bookmark_file_add_item
    - g_return_if_fail
    - g_bookmark_file_lookup_item
    - g_list_free_full
    - bookmark_item_touch_modified
    - bookmark_item_new
    - bookmark_metadata_new
    linkageType: ''
    returnType: void
    signature: "void g_bookmark_file_set_groups (GBookmarkFile *bookmark,\t\t\t const\
      \ gchar *uri,\t\t\t const gchar **groups,\t\t\t gsize length) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:1534,1
    - Dst: g_markup_parse_context_new
      Src: /src/glib/glib/gbookmarkfile.c:1548,1
    - Dst: g_markup_parse_context_parse
      Src: /src/glib/glib/gbookmarkfile.c:1553,1
    - Dst: parse_data_new
      Src: /src/glib/glib/gbookmarkfile.c:1545,1
    - Dst: strlen
      Src: /src/glib/glib/gbookmarkfile.c:1543,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gbookmarkfile.c:1558,1
    - Dst: g_markup_parse_context_end_parse
      Src: /src/glib/glib/gbookmarkfile.c:1561,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gbookmarkfile.c:1563,1
    - Dst: g_markup_parse_context_free
      Src: /src/glib/glib/gbookmarkfile.c:1566,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 4
    argNames:
    - bookmark
    - buffer
    - length
    - error
    argTypes:
    - GBookmarkFile*
    - gchar*
    - gsize
    - GError**
    constantsTouched: []
    func_position:
      end: 1569
      start: 1523
    functionDepth: 0
    functionLinenumber: 1523
    functionLinenumberEnd: 1569
    functionName: g_bookmark_file_parse
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_warn_if_fail
    - g_markup_parse_context_end_parse
    - strlen
    - g_markup_parse_context_new
    - parse_data_new
    - g_markup_parse_context_parse
    - g_markup_parse_context_free
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_bookmark_file_parse (GBookmarkFile *bookmark,\t\t\
      \t const gchar *buffer,\t\t\t gsize length,\t\t\t GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2961,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2962,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2963,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:2968,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:2965,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:2970,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2976
      start: 2954
    functionDepth: 0
    functionLinenumber: 2954
    functionLinenumberEnd: 2976
    functionName: g_bookmark_file_get_visited_date_time
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_bookmark_file_lookup_item
    - g_return_val_if_fail
    - _
    linkageType: ''
    returnType: GDateTime*
    signature: 'GDateTime *g_bookmark_file_get_visited_date_time (GBookmarkFile *bookmark,
      const char *uri, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2393,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:2403,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:2398,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:2396,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:2401,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:2408,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2409
      start: 2386
    functionDepth: 0
    functionLinenumber: 2386
    functionLinenumberEnd: 2409
    functionName: g_bookmark_file_get_description
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_return_val_if_fail
    - g_strdup
    - g_bookmark_file_lookup_item
    - _
    linkageType: ''
    returnType: gchar*
    signature: "gchar *g_bookmark_file_get_description (GBookmarkFile *bookmark,\t\
      \t\t\t const gchar *uri,\t\t\t\t GError **error) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2560,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:2563,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:2568,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:2566,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:2561,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:2575,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:2577,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - bookmark
    - uri
    - error
    argTypes:
    - GBookmarkFile*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 2583
      start: 2553
    functionDepth: 0
    functionLinenumber: 2553
    functionLinenumberEnd: 2583
    functionName: g_bookmark_file_get_is_private
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_bookmark_file_lookup_item
    - g_return_val_if_fail
    - _
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_bookmark_file_get_is_private (GBookmarkFile *bookmark,\t\
      \t\t\tconst gchar *uri,\t\t\t\tGError **error) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3865,1
    - Dst: g_set_error
      Src: /src/glib/glib/gbookmarkfile.c:3871,1
    - Dst: _
      Src: /src/glib/glib/gbookmarkfile.c:3873,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3866,1
    - Dst: g_bookmark_file_lookup_item
      Src: /src/glib/glib/gbookmarkfile.c:3868,1
    - Dst: g_list_length
      Src: /src/glib/glib/gbookmarkfile.c:3886,1
    - Dst: g_new0
      Src: /src/glib/glib/gbookmarkfile.c:3887,1
    - Dst: g_list_last
      Src: /src/glib/glib/gbookmarkfile.c:3889,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3897,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gbookmarkfile.c:3898,1
    - Dst: g_strdup
      Src: /src/glib/glib/gbookmarkfile.c:3900,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3908
      start: 3854
    functionDepth: 0
    functionLinenumber: 3854
    functionLinenumberEnd: 3908
    functionName: g_bookmark_file_get_applications
    functionSourceFile: /src/glib/glib/gbookmarkfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_return_val_if_fail
    - g_warn_if_fail
    - g_strdup
    - g_bookmark_file_lookup_item
    - g_list_length
    - g_list_last
    - _
    - g_new0
    linkageType: ''
    returnType: gchar**
    signature: "gchar **g_bookmark_file_get_applications (GBookmarkFile *bookmark,\t\
      \t\t\t const gchar *uri,\t\t\t\t gsize *length,\t\t\t\t GError **error) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/giochannel.c:223,1
    - Dst: g_io_channel_shutdown
      Src: /src/glib/glib/giochannel.c:230,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/giochannel.c:227,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/glib/giochannel.c:225,1
    - Dst: g_io_channel_purge
      Src: /src/glib/glib/giochannel.c:232,1
    - Dst: g_free
      Src: /src/glib/glib/giochannel.c:233,1
    - Dst: g_iconv_close
      Src: /src/glib/glib/giochannel.c:235,1
    - Dst: g_iconv_close
      Src: /src/glib/glib/giochannel.c:237,1
    - Dst: g_free
      Src: /src/glib/glib/giochannel.c:238,1
    - Dst: g_string_free
      Src: /src/glib/glib/giochannel.c:240,1
    - Dst: g_string_free
      Src: /src/glib/glib/giochannel.c:242,1
    - Dst: g_string_free
      Src: /src/glib/glib/giochannel.c:244,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - channel
    argTypes:
    - GIOChannel*
    constantsTouched: []
    func_position:
      end: 247
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 247
    functionName: g_io_channel_unref
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - g_atomic_int_dec_and_test
    - g_return_if_fail
    - g_io_channel_purge
    - g_io_channel_shutdown
    - g_iconv_close
    - g_string_free
    - G_UNLIKELY
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_io_channel_unref (GIOChannel *channel) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:301,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:311,1
    - Dst: g_io_error_get_from_g_error
      Src: /src/glib/glib/giochannel.c:315,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:302,1
    - Dst: g_error_free
      Src: /src/glib/glib/giochannel.c:318,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - channel
    - buf
    - count
    - bytes_read
    argTypes:
    - GIOChannel*
    - gchar*
    - gsize
    - gsize*
    constantsTouched: []
    func_position:
      end: 321
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 321
    functionName: g_io_channel_read
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_io_error_get_from_g_error
    - g_error_free
    linkageType: ''
    returnType: GIOError
    signature: "GIOError g_io_channel_read (GIOChannel *channel, \t\t gchar *buf,\
      \ \t\t gsize count,\t\t gsize *bytes_read) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/giochannel.c:879,1
    - Dst: memcpy
      Src: /src/glib/glib/giochannel.c:893,1
    - Dst: g_free
      Src: /src/glib/glib/giochannel.c:882,1
    - Dst: g_malloc0
      Src: /src/glib/glib/giochannel.c:892,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/giochannel.c:880,1
    - Dst: strlen
      Src: /src/glib/glib/giochannel.c:899,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/giochannel.c:900,1
    - Dst: g_strdup
      Src: /src/glib/glib/giochannel.c:901,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - channel
    - line_term
    - length
    argTypes:
    - GIOChannel*
    - gchar*
    - gint
    constantsTouched: []
    func_position:
      end: 904
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 904
    functionName: g_io_channel_set_line_term
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_strdup
    - strlen
    - g_malloc0
    - g_return_if_fail
    - g_free
    linkageType: ''
    returnType: void
    signature: "void g_io_channel_set_line_term (GIOChannel\t*channel, const gchar\t\
      *line_term,\t\t\t gint length) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/giochannel.c:1037,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - channel
    - do_close
    argTypes:
    - GIOChannel*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1040
      start: 1033
    functionDepth: 0
    functionLinenumber: 1033
    functionLinenumberEnd: 1040
    functionName: g_io_channel_set_close_on_unref
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_io_channel_set_close_on_unref\t(GIOChannel *channel,\t\t\t\t\
      \ gboolean do_close) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:1269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - channel
    argTypes:
    - GIOChannel*
    constantsTouched: []
    func_position:
      end: 1272
      start: 1266
    functionDepth: 0
    functionLinenumber: 1266
    functionLinenumberEnd: 1272
    functionName: g_io_channel_get_buffered
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_io_channel_get_buffered (GIOChannel *channel) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:1459,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1456
    functionDepth: 0
    functionLinenumber: 1456
    functionLinenumberEnd: 1462
    functionName: g_io_channel_get_encoding
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_io_channel_get_encoding (GIOChannel *channel) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: BUF_LEN
      Src: /src/glib/glib/giochannel.c:1776,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:1874,1
    - Dst: strncmp
      Src: /src/glib/glib/giochannel.c:1856,1
    - Dst: memcmp
      Src: /src/glib/glib/giochannel.c:1830,1
    - Dst: g_io_channel_fill_buffer
      Src: /src/glib/glib/giochannel.c:1779,1
    - Dst: BUF_LEN
      Src: /src/glib/glib/giochannel.c:1793,1
    - Dst: USE_BUF
      Src: /src/glib/glib/giochannel.c:1817,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/giochannel.c:1882,1
    - Dst: _
      Src: /src/glib/glib/giochannel.c:1883,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/giochannel.c:1754,1
    - Dst: _
      Src: /src/glib/glib/giochannel.c:1755,1
    - Dst: BUF_LEN
      Src: /src/glib/glib/giochannel.c:1783,1
    - Dst: USE_BUF
      Src: /src/glib/glib/giochannel.c:1783,1
    - Dst: BUF_LEN
      Src: /src/glib/glib/giochannel.c:1817,1
    - Dst: USE_BUF
      Src: /src/glib/glib/giochannel.c:1819,1
    - Dst: USE_BUF
      Src: /src/glib/glib/giochannel.c:1776,1
    - Dst: USE_BUF
      Src: /src/glib/glib/giochannel.c:1793,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/giochannel.c:1800,1
    - Dst: _
      Src: /src/glib/glib/giochannel.c:1802,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:1817,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/giochannel.c:1826,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 107
    argCount: 4
    argNames:
    - channel
    - length
    - terminator_pos
    - error
    argTypes:
    - GIOChannel*
    - gsize*
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 1906
      start: 1741
    functionDepth: 0
    functionLinenumber: 1741
    functionLinenumberEnd: 1906
    functionName: g_io_channel_read_line_backend
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - g_io_channel_fill_buffer
    - g_utf8_next_char
    - g_assert
    - USE_BUF
    - BUF_LEN
    - g_set_error_literal
    - strncmp
    - _
    - memcmp
    linkageType: ''
    returnType: GIOStatus
    signature: 'static GIOStatus g_io_channel_read_line_backend (GIOChannel *channel,
      gsize *length, gsize *terminator_pos, GError **error) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:261,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/giochannel.c:273,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 7
    argCount: 2
    argNames:
    - status
    - err
    argTypes:
    - GIOStatus
    - GError*
    constantsTouched: []
    func_position:
      end: 275
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 275
    functionName: g_io_error_get_from_g_error
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_assert_not_reached
    linkageType: ''
    returnType: GIOError
    signature: "static GIOError g_io_error_get_from_g_error (GIOStatus status,\t\t\
      \t GError *err) "
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:1493,1
    - Dst: g_string_truncate
      Src: /src/glib/glib/giochannel.c:1495,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:1501,1
    - Dst: MAX
      Src: /src/glib/glib/giochannel.c:1526,1
    - Dst: g_string_erase
      Src: /src/glib/glib/giochannel.c:1543,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:1575,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:1581,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:1588,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/giochannel.c:1627,1
    - Dst: g_string_set_size
      Src: /src/glib/glib/giochannel.c:1488,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/giochannel.c:1484,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/giochannel.c:1509,1
    - Dst: g_string_set_size
      Src: /src/glib/glib/giochannel.c:1529,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:1561,1
    - Dst: g_iconv
      Src: /src/glib/glib/giochannel.c:1534,1
    - Dst: _
      Src: /src/glib/glib/giochannel.c:1577,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/giochannel.c:1610,1
    - Dst: _
      Src: /src/glib/glib/giochannel.c:1612,1
    - Dst: g_string_erase
      Src: /src/glib/glib/giochannel.c:1629,1
    - Dst: g_warning
      Src: /src/glib/glib/giochannel.c:1479,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:1538,1
    - Dst: MAX
      Src: /src/glib/glib/giochannel.c:1523,1
    - Dst: g_string_truncate
      Src: /src/glib/glib/giochannel.c:1545,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/giochannel.c:1618,1
    - Dst: g_io_channel_flush
      Src: /src/glib/glib/giochannel.c:1473,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:1518,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:1540,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/giochannel.c:1568,1
    - Dst: _
      Src: /src/glib/glib/giochannel.c:1570,1
    - Dst: g_set_error
      Src: /src/glib/glib/giochannel.c:1576,1
    - Dst: g_strerror
      Src: /src/glib/glib/giochannel.c:1577,1
    - Dst: g_utf8_get_char_validated
      Src: /src/glib/glib/giochannel.c:1597,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 121
    argCount: 2
    argNames:
    - channel
    - err
    argTypes:
    - GIOChannel*
    - GError**
    constantsTouched: []
    func_position:
      end: 1634
      start: 1464
    functionDepth: 0
    functionLinenumber: 1464
    functionLinenumberEnd: 1634
    functionName: g_io_channel_fill_buffer
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_warning
    - g_iconv
    - g_utf8_next_char
    - g_assert
    - g_string_append_len
    - g_strerror
    - MAX
    - g_set_error_literal
    - g_utf8_get_char_validated
    - g_string_erase
    - g_string_sized_new
    - _
    - g_io_channel_flush
    - g_string_set_size
    - g_string_truncate
    linkageType: ''
    returnType: GIOStatus
    signature: 'static GIOStatus g_io_channel_fill_buffer (GIOChannel *channel, GError
      **err) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:855,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - channel
    argTypes:
    - GIOChannel*
    constantsTouched: []
    func_position:
      end: 858
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 858
    functionName: g_io_channel_get_buffer_size
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gsize
    signature: 'gsize g_io_channel_get_buffer_size (GIOChannel *channel) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:1004,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - channel
    argTypes:
    - GIOChannel*
    constantsTouched: []
    func_position:
      end: 1018
      start: 999
    functionDepth: 0
    functionLinenumber: 999
    functionLinenumberEnd: 1018
    functionName: g_io_channel_get_flags
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: GIOFlags
    signature: 'GIOFlags g_io_channel_get_flags (GIOChannel *channel) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/giochannel.c:1243,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/giochannel.c:1253,1
    - Dst: g_warning
      Src: /src/glib/glib/giochannel.c:1247,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/giochannel.c:1252,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - channel
    - buffered
    argTypes:
    - GIOChannel*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1256
      start: 1239
    functionDepth: 0
    functionLinenumber: 1239
    functionLinenumberEnd: 1256
    functionName: g_io_channel_set_buffered
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - g_warning
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_io_channel_set_buffered (GIOChannel *channel, gboolean buffered) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/giochannel.c:443,1
    - Dst: g_warning
      Src: /src/glib/glib/giochannel.c:451,1
    - Dst: g_error_free
      Src: /src/glib/glib/giochannel.c:452,1
    - Dst: g_io_channel_purge
      Src: /src/glib/glib/giochannel.c:445,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - channel
    argTypes:
    - GIOChannel*
    constantsTouched: []
    func_position:
      end: 459
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 459
    functionName: g_io_channel_close
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - g_error_free
    - g_warning
    - g_io_channel_purge
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_io_channel_close (GIOChannel *channel) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/giochannel.c:541,1
    - Dst: g_io_channel_flush
      Src: /src/glib/glib/giochannel.c:552,1
    - Dst: g_io_channel_set_flags
      Src: /src/glib/glib/giochannel.c:550,1
    - Dst: g_io_channel_get_flags
      Src: /src/glib/glib/giochannel.c:549,1
    - Dst: g_warning
      Src: /src/glib/glib/giochannel.c:556,1
    - Dst: g_error_free
      Src: /src/glib/glib/giochannel.c:557,1
    - Dst: g_string_truncate
      Src: /src/glib/glib/giochannel.c:564,1
    - Dst: g_string_truncate
      Src: /src/glib/glib/giochannel.c:566,1
    - Dst: g_string_truncate
      Src: /src/glib/glib/giochannel.c:570,1
    - Dst: g_warning
      Src: /src/glib/glib/giochannel.c:574,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 1
    argNames:
    - channel
    argTypes:
    - GIOChannel*
    constantsTouched: []
    func_position:
      end: 578
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 578
    functionName: g_io_channel_purge
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - g_warning
    - g_io_channel_set_flags
    - g_io_channel_get_flags
    - g_return_if_fail
    - g_error_free
    - g_io_channel_flush
    - g_string_truncate
    linkageType: ''
    returnType: void
    signature: 'static void g_io_channel_purge (GIOChannel *channel) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:1190,1
    - Dst: g_string_erase
      Src: /src/glib/glib/giochannel.c:1209,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:1198,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:1191,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - channel
    - error
    argTypes:
    - GIOChannel*
    - GError**
    constantsTouched: []
    func_position:
      end: 1212
      start: 1183
    functionDepth: 0
    functionLinenumber: 1183
    functionLinenumberEnd: 1212
    functionName: g_io_channel_flush
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_return_val_if_fail
    - g_string_erase
    linkageType: ''
    returnType: GIOStatus
    signature: "GIOStatus g_io_channel_flush (GIOChannel\t*channel,\t\t GError **error) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:2128,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:2129,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:2130,1
    - Dst: BUF_LEN
      Src: /src/glib/glib/giochannel.c:2134,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:2132,1
    - Dst: g_io_channel_fill_buffer
      Src: /src/glib/glib/giochannel.c:2135,1
    - Dst: BUF_LEN
      Src: /src/glib/glib/giochannel.c:2139,1
    - Dst: USE_BUF
      Src: /src/glib/glib/giochannel.c:2139,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:2141,1
    - Dst: BUF_LEN
      Src: /src/glib/glib/giochannel.c:2143,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/giochannel.c:2145,1
    - Dst: g_clear_error
      Src: /src/glib/glib/giochannel.c:2158,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/giochannel.c:2161,1
    - Dst: g_string_erase
      Src: /src/glib/glib/giochannel.c:2163,1
    - Dst: _
      Src: /src/glib/glib/giochannel.c:2147,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/giochannel.c:2164,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 3
    argNames:
    - channel
    - thechar
    - error
    argTypes:
    - GIOChannel*
    - gunichar*
    - GError**
    constantsTouched: []
    func_position:
      end: 2168
      start: 2121
    functionDepth: 0
    functionLinenumber: 2121
    functionLinenumberEnd: 2168
    functionName: g_io_channel_read_unichar
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_return_val_if_fail
    - g_io_channel_fill_buffer
    - g_utf8_next_char
    - g_assert
    - USE_BUF
    - BUF_LEN
    - g_utf8_get_char
    - g_set_error_literal
    - g_string_erase
    - _
    linkageType: ''
    returnType: GIOStatus
    signature: "GIOStatus g_io_channel_read_unichar (GIOChannel *channel,\t\t\t gunichar\
      \ *thechar,\t\t\t GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:2540,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:2541,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:2542,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:2544,1
    - Dst: g_unichar_to_utf8
      Src: /src/glib/glib/giochannel.c:2546,1
    - Dst: g_warning
      Src: /src/glib/glib/giochannel.c:2550,1
    - Dst: g_io_channel_write_chars
      Src: /src/glib/glib/giochannel.c:2554,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:2559,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - channel
    - thechar
    - error
    argTypes:
    - GIOChannel*
    - gunichar
    - GError**
    constantsTouched: []
    func_position:
      end: 2562
      start: 2531
    functionDepth: 0
    functionLinenumber: 2531
    functionLinenumberEnd: 2562
    functionName: g_io_channel_write_unichar
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_warning
    - g_assert
    - g_unichar_to_utf8
    - g_io_channel_write_chars
    linkageType: ''
    returnType: GIOStatus
    signature: "GIOStatus g_io_channel_write_unichar (GIOChannel *channel,\t\t\t gunichar\
      \ thechar,\t\t\t GError **error) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:481,1
    - Dst: g_io_channel_flush
      Src: /src/glib/glib/giochannel.c:496,1
    - Dst: g_io_channel_set_flags
      Src: /src/glib/glib/giochannel.c:494,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:482,1
    - Dst: g_io_channel_get_flags
      Src: /src/glib/glib/giochannel.c:492,1
    - Dst: g_string_truncate
      Src: /src/glib/glib/giochannel.c:501,1
    - Dst: g_warning
      Src: /src/glib/glib/giochannel.c:509,1
    - Dst: g_clear_error
      Src: /src/glib/glib/giochannel.c:522,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/giochannel.c:527,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 3
    argNames:
    - channel
    - flush
    - err
    argTypes:
    - GIOChannel*
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 532
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 532
    functionName: g_io_channel_shutdown
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_propagate_error
    - g_return_val_if_fail
    - g_io_channel_set_flags
    - g_io_channel_get_flags
    - g_warning
    - g_io_channel_flush
    - g_string_truncate
    linkageType: ''
    returnType: GIOStatus
    signature: "GIOStatus g_io_channel_shutdown (GIOChannel *channel,\t\t gboolean\
      \ flush,\t\t GError **err) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/giochannel.c:833,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - channel
    - size
    argTypes:
    - GIOChannel*
    - gsize
    constantsTouched: []
    func_position:
      end: 842
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 842
    functionName: g_io_channel_set_buffer_size
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_io_channel_set_buffer_size (GIOChannel *channel, gsize size) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:2034,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:2019,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:2075,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:2090,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:2097,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:2028,1
    - Dst: BUF_LEN
      Src: /src/glib/glib/giochannel.c:2046,1
    - Dst: g_io_channel_fill_buffer
      Src: /src/glib/glib/giochannel.c:2047,1
    - Dst: BUF_LEN
      Src: /src/glib/glib/giochannel.c:2051,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/giochannel.c:2058,1
    - Dst: _
      Src: /src/glib/glib/giochannel.c:2060,1
    - Dst: USE_BUF
      Src: /src/glib/glib/giochannel.c:2073,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:2053,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:2020,1
    - Dst: BUF_LEN
      Src: /src/glib/glib/giochannel.c:2056,1
    - Dst: MIN
      Src: /src/glib/glib/giochannel.c:2073,1
    - Dst: g_clear_error
      Src: /src/glib/glib/giochannel.c:2071,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:2082,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/giochannel.c:2089,1
    - Dst: USE_BUF
      Src: /src/glib/glib/giochannel.c:2100,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:2018,1
    - Dst: USE_BUF
      Src: /src/glib/glib/giochannel.c:2046,1
    - Dst: USE_BUF
      Src: /src/glib/glib/giochannel.c:2051,1
    - Dst: BUF_LEN
      Src: /src/glib/glib/giochannel.c:2073,1
    - Dst: USE_BUF
      Src: /src/glib/glib/giochannel.c:2082,1
    - Dst: memcpy
      Src: /src/glib/glib/giochannel.c:2100,1
    - Dst: g_string_erase
      Src: /src/glib/glib/giochannel.c:2101,1
    - Dst: USE_BUF
      Src: /src/glib/glib/giochannel.c:2101,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 80
    argCount: 5
    argNames:
    - channel
    - buf
    - count
    - bytes_read
    - error
    argTypes:
    - GIOChannel*
    - gchar*
    - gsize
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 2107
      start: 2008
    functionDepth: 0
    functionLinenumber: 2008
    functionLinenumberEnd: 2107
    functionName: g_io_channel_read_chars
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - memcpy
    - g_return_val_if_fail
    - g_io_channel_fill_buffer
    - g_utf8_next_char
    - g_assert
    - USE_BUF
    - BUF_LEN
    - MIN
    - g_set_error_literal
    - g_string_erase
    - _
    linkageType: ''
    returnType: GIOStatus
    signature: 'GIOStatus g_io_channel_read_chars (GIOChannel *channel, gchar *buf,
      gsize count, gsize *bytes_read, GError **error) '
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:2204,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:2205,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:2222,1
    - Dst: g_string_erase
      Src: /src/glib/glib/giochannel.c:2288,1
    - Dst: MAX
      Src: /src/glib/glib/giochannel.c:2300,1
    - Dst: g_io_channel_seek_position
      Src: /src/glib/glib/giochannel.c:2252,1
    - Dst: MIN
      Src: /src/glib/glib/giochannel.c:2334,1
    - Dst: memcpy
      Src: /src/glib/glib/giochannel.c:2336,1
    - Dst: g_utf8_get_char_validated
      Src: /src/glib/glib/giochannel.c:2362,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:2367,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:2444,1
    - Dst: g_string_truncate
      Src: /src/glib/glib/giochannel.c:2414,1
    - Dst: g_strerror
      Src: /src/glib/glib/giochannel.c:2487,1
    - Dst: g_warning
      Src: /src/glib/glib/giochannel.c:2474,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:2208,1
    - Dst: g_warning
      Src: /src/glib/glib/giochannel.c:2249,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/giochannel.c:2262,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/giochannel.c:2316,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:2333,1
    - Dst: g_warning
      Src: /src/glib/glib/giochannel.c:2380,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/giochannel.c:2398,1
    - Dst: g_string_set_size
      Src: /src/glib/glib/giochannel.c:2407,1
    - Dst: _
      Src: /src/glib/glib/giochannel.c:2472,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/giochannel.c:2470,1
    - Dst: g_set_error
      Src: /src/glib/glib/giochannel.c:2486,1
    - Dst: BUF_LEN
      Src: /src/glib/glib/giochannel.c:2244,1
    - Dst: BUF_LEN
      Src: /src/glib/glib/giochannel.c:2245,1
    - Dst: MIN
      Src: /src/glib/glib/giochannel.c:2286,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:2306,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:2329,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:2423,1
    - Dst: memcpy
      Src: /src/glib/glib/giochannel.c:2429,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:2454,1
    - Dst: _
      Src: /src/glib/glib/giochannel.c:2487,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/giochannel.c:2386,1
    - Dst: strlen
      Src: /src/glib/glib/giochannel.c:2211,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:2206,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:2230,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:2231,1
    - Dst: BUF_LEN
      Src: /src/glib/glib/giochannel.c:2247,1
    - Dst: MIN
      Src: /src/glib/glib/giochannel.c:2310,1
    - Dst: strlen
      Src: /src/glib/glib/giochannel.c:2332,1
    - Dst: MIN
      Src: /src/glib/glib/giochannel.c:2351,1
    - Dst: g_utf8_validate_len
      Src: /src/glib/glib/giochannel.c:2355,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:2478,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:2497,1
    - Dst: g_iconv
      Src: /src/glib/glib/giochannel.c:2411,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 227
    argCount: 5
    argNames:
    - channel
    - buf
    - count
    - bytes_written
    - error
    argTypes:
    - GIOChannel*
    - gchar*
    - gssize
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 2517
      start: 2193
    functionDepth: 0
    functionLinenumber: 2193
    functionLinenumberEnd: 2517
    functionName: g_io_channel_write_chars
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_iconv
    - g_strerror
    - BUF_LEN
    - g_set_error_literal
    - g_string_truncate
    - g_warning
    - g_string_sized_new
    - g_utf8_get_char_validated
    - g_set_error
    - g_utf8_validate_len
    - strlen
    - g_string_append_len
    - MIN
    - MAX
    - g_assert_not_reached
    - g_string_erase
    - g_io_channel_seek_position
    - _
    - g_return_val_if_fail
    - g_assert
    - g_string_set_size
    linkageType: ''
    returnType: GIOStatus
    signature: "GIOStatus g_io_channel_write_chars (GIOChannel *channel, const gchar\
      \ *buf, gssize count,\t\t\t gsize *bytes_written, GError **error) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:384,1
    - Dst: g_warning
      Src: /src/glib/glib/giochannel.c:394,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:385,1
    - Dst: g_io_error_get_from_g_error
      Src: /src/glib/glib/giochannel.c:400,1
    - Dst: g_error_free
      Src: /src/glib/glib/giochannel.c:403,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 3
    argNames:
    - channel
    - offset
    - type
    argTypes:
    - GIOChannel*
    - gint64
    - GSeekType
    constantsTouched: []
    func_position:
      end: 406
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 406
    functionName: g_io_channel_seek
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_io_error_get_from_g_error
    - g_warning
    - g_error_free
    linkageType: ''
    returnType: GIOError
    signature: "GIOError g_io_channel_seek (GIOChannel *channel,\t\t gint64 offset,\
      \ \t\t GSeekType type) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:640,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/giochannel.c:646,1
    - Dst: g_source_attach
      Src: /src/glib/glib/giochannel.c:648,1
    - Dst: g_io_create_watch
      Src: /src/glib/glib/giochannel.c:642,1
    - Dst: g_source_set_priority
      Src: /src/glib/glib/giochannel.c:645,1
    - Dst: g_source_unref
      Src: /src/glib/glib/giochannel.c:649,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 6
    argNames:
    - channel
    - priority
    - condition
    - func
    - user_data
    - notify
    argTypes:
    - GIOChannel*
    - gint
    - GIOCondition
    - GIOFunc
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 652
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 652
    functionName: g_io_add_watch_full
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_source_set_priority
    - g_source_set_callback
    - g_source_attach
    - g_io_create_watch
    - g_source_unref
    linkageType: ''
    returnType: guint
    signature: "guint g_io_add_watch_full (GIOChannel *channel,\t\t gint priority,\t\
      \t GIOCondition condition,\t\t GIOFunc func,\t\t gpointer user_data,\t\t GDestroyNotify\
      \ notify) "
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:746,1
    - Dst: g_warning
      Src: /src/glib/glib/giochannel.c:753,1
    - Dst: g_warning
      Src: /src/glib/glib/giochannel.c:759,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 7
    argCount: 1
    argNames:
    - en
    argTypes:
    - gint
    constantsTouched: []
    func_position:
      end: 820
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 820
    functionName: g_io_channel_error_from_errno
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_warning
    linkageType: ''
    returnType: GIOChannelError
    signature: 'GIOChannelError g_io_channel_error_from_errno (gint en) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:1719,1
    - Dst: g_string_truncate
      Src: /src/glib/glib/giochannel.c:1726,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:1723,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:1720,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:1721,1
    - Dst: g_io_channel_read_line_backend
      Src: /src/glib/glib/giochannel.c:1728,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:1732,1
    - Dst: USE_BUF
      Src: /src/glib/glib/giochannel.c:1732,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/giochannel.c:1733,1
    - Dst: USE_BUF
      Src: /src/glib/glib/giochannel.c:1733,1
    - Dst: USE_BUF
      Src: /src/glib/glib/giochannel.c:1734,1
    - Dst: g_string_erase
      Src: /src/glib/glib/giochannel.c:1734,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - channel
    - buffer
    - terminator_pos
    - error
    argTypes:
    - GIOChannel*
    - GString*
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 1738
      start: 1710
    functionDepth: 0
    functionLinenumber: 1710
    functionLinenumberEnd: 1738
    functionName: g_io_channel_read_line_string
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_string_append_len
    - g_assert
    - USE_BUF
    - g_string_erase
    - g_io_channel_read_line_backend
    - g_string_truncate
    linkageType: ''
    returnType: GIOStatus
    signature: "GIOStatus g_io_channel_read_line_string (GIOChannel *channel, GString\t\
      \ *buffer,\t\t\t gsize *terminator_pos, GError\t **error) "
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:1096,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:1117,1
    - Dst: g_warning
      Src: /src/glib/glib/giochannel.c:1109,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:1097,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:1099,1
    - Dst: g_warning
      Src: /src/glib/glib/giochannel.c:1132,1
    - Dst: g_io_channel_flush
      Src: /src/glib/glib/giochannel.c:1138,1
    - Dst: g_string_truncate
      Src: /src/glib/glib/giochannel.c:1148,1
    - Dst: g_iconv
      Src: /src/glib/glib/giochannel.c:1152,1
    - Dst: g_string_truncate
      Src: /src/glib/glib/giochannel.c:1159,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:1158,1
    - Dst: g_iconv
      Src: /src/glib/glib/giochannel.c:1154,1
    - Dst: g_warning
      Src: /src/glib/glib/giochannel.c:1164,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 49
    argCount: 4
    argNames:
    - channel
    - offset
    - type
    - error
    argTypes:
    - GIOChannel*
    - gint64
    - GSeekType
    - GError**
    constantsTouched: []
    func_position:
      end: 1170
      start: 1084
    functionDepth: 0
    functionLinenumber: 1084
    functionLinenumberEnd: 1170
    functionName: g_io_channel_seek_position
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_warning
    - g_iconv
    - g_assert
    - g_io_channel_flush
    - g_string_truncate
    linkageType: ''
    returnType: GIOStatus
    signature: 'GIOStatus g_io_channel_seek_position (GIOChannel *channel, gint64
      offset, GSeekType type, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:205,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/giochannel.c:207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 210
    functionName: g_io_channel_ref
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - g_atomic_int_inc
    - g_return_val_if_fail
    linkageType: ''
    returnType: GIOChannel*
    signature: 'GIOChannel *g_io_channel_ref (GIOChannel *channel) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:606,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 609
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 609
    functionName: g_io_create_watch
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: GSource*
    signature: "GSource *g_io_create_watch (GIOChannel *channel,\t\t GIOCondition\
      \ condition) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:1056,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - channel
    argTypes:
    - GIOChannel*
    constantsTouched: []
    func_position:
      end: 1059
      start: 1053
    functionDepth: 0
    functionLinenumber: 1053
    functionLinenumberEnd: 1059
    functionName: g_io_channel_get_close_on_unref
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_io_channel_get_close_on_unref\t(GIOChannel *channel) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:1665,1
    - Dst: g_io_channel_read_line_backend
      Src: /src/glib/glib/giochannel.c:1671,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:1666,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:1667,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:1669,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:1684,1
    - Dst: USE_BUF
      Src: /src/glib/glib/giochannel.c:1684,1
    - Dst: g_memdup2
      Src: /src/glib/glib/giochannel.c:1685,1
    - Dst: USE_BUF
      Src: /src/glib/glib/giochannel.c:1685,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/giochannel.c:1687,1
    - Dst: USE_BUF
      Src: /src/glib/glib/giochannel.c:1688,1
    - Dst: g_string_erase
      Src: /src/glib/glib/giochannel.c:1688,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 5
    argNames:
    - channel
    - str_return
    - length
    - terminator_pos
    - error
    argTypes:
    - GIOChannel*
    - gchar**
    - gsize*
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 1694
      start: 1655
    functionDepth: 0
    functionLinenumber: 1655
    functionLinenumberEnd: 1694
    functionName: g_io_channel_read_line
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_return_val_if_fail
    - g_assert
    - USE_BUF
    - g_string_erase
    - g_io_channel_read_line_backend
    - g_memdup2
    linkageType: ''
    returnType: GIOStatus
    signature: "GIOStatus g_io_channel_read_line (GIOChannel *channel, gchar **str_return,\
      \ gsize *length,\t\t\tgsize *terminator_pos,\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/giochannel.c:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - channel
    argTypes:
    - GIOChannel*
    constantsTouched: []
    func_position:
      end: 192
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 192
    functionName: g_io_channel_init
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - g_strdup
    linkageType: ''
    returnType: void
    signature: 'void g_io_channel_init (GIOChannel *channel) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 1
    argNames:
    - channel
    argTypes:
    - GIOChannel*
    constantsTouched: []
    func_position:
      end: 731
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 731
    functionName: g_io_channel_get_buffer_condition
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GIOCondition
    signature: 'GIOCondition g_io_channel_get_buffer_condition (GIOChannel *channel) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:974,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:975,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - channel
    - flags
    - error
    argTypes:
    - GIOChannel*
    - GIOFlags
    - GError**
    constantsTouched: []
    func_position:
      end: 981
      start: 969
    functionDepth: 0
    functionLinenumber: 969
    functionLinenumberEnd: 981
    functionName: g_io_channel_set_flags
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: GIOStatus
    signature: 'GIOStatus g_io_channel_set_flags (GIOChannel *channel, GIOFlags flags,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:346,1
    - Dst: g_error_free
      Src: /src/glib/glib/giochannel.c:354,1
    - Dst: g_io_error_get_from_g_error
      Src: /src/glib/glib/giochannel.c:351,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:347,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 4
    argNames:
    - channel
    - buf
    - count
    - bytes_written
    argTypes:
    - GIOChannel*
    - gchar*
    - gsize
    - gsize*
    constantsTouched: []
    func_position:
      end: 357
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 357
    functionName: g_io_channel_write
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_io_error_get_from_g_error
    - g_error_free
    linkageType: ''
    returnType: GIOError
    signature: "GIOError g_io_channel_write (GIOChannel *channel, \t\t const gchar\
      \ *buf, \t\t gsize count,\t\t gsize *bytes_written) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_io_add_watch_full
      Src: /src/glib/glib/giochannel.c:698,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - channel
    - condition
    - func
    - user_data
    argTypes:
    - GIOChannel*
    - GIOCondition
    - GIOFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 699
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 699
    functionName: g_io_add_watch
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - g_io_add_watch_full
    linkageType: ''
    returnType: guint
    signature: "guint g_io_add_watch (GIOChannel *channel,\t\tGIOCondition condition,\t\
      \tGIOFunc func,\t\tgpointer user_data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:923,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 929
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 929
    functionName: g_io_channel_get_line_term
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: "const gchar *g_io_channel_get_line_term (GIOChannel *channel,\t\t\t\
      \ gint *length) "
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:1327,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:1332,1
    - Dst: g_warning
      Src: /src/glib/glib/giochannel.c:1338,1
    - Dst: strcmp
      Src: /src/glib/glib/giochannel.c:1353,1
    - Dst: g_iconv_open
      Src: /src/glib/glib/giochannel.c:1365,1
    - Dst: g_set_error
      Src: /src/glib/glib/giochannel.c:1397,1
    - Dst: g_iconv_close
      Src: /src/glib/glib/giochannel.c:1421,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:1328,1
    - Dst: g_warning
      Src: /src/glib/glib/giochannel.c:1337,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:1393,1
    - Dst: g_iconv_close
      Src: /src/glib/glib/giochannel.c:1406,1
    - Dst: strcmp
      Src: /src/glib/glib/giochannel.c:1353,1
    - Dst: _
      Src: /src/glib/glib/giochannel.c:1402,1
    - Dst: g_strerror
      Src: /src/glib/glib/giochannel.c:1403,1
    - Dst: g_set_error
      Src: /src/glib/glib/giochannel.c:1401,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:1425,1
    - Dst: g_string_prepend_len
      Src: /src/glib/glib/giochannel.c:1431,1
    - Dst: g_free
      Src: /src/glib/glib/giochannel.c:1439,1
    - Dst: g_strdup
      Src: /src/glib/glib/giochannel.c:1440,1
    - Dst: g_warning
      Src: /src/glib/glib/giochannel.c:1345,1
    - Dst: g_iconv_open
      Src: /src/glib/glib/giochannel.c:1379,1
    - Dst: _
      Src: /src/glib/glib/giochannel.c:1398,1
    - Dst: g_iconv_close
      Src: /src/glib/glib/giochannel.c:1408,1
    - Dst: g_assert
      Src: /src/glib/glib/giochannel.c:1394,1
    - Dst: g_iconv_close
      Src: /src/glib/glib/giochannel.c:1419,1
    - Dst: g_string_truncate
      Src: /src/glib/glib/giochannel.c:1433,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 95
    argCount: 3
    argNames:
    - channel
    - encoding
    - error
    argTypes:
    - GIOChannel*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 1443
      start: 1317
    functionDepth: 0
    functionLinenumber: 1317
    functionLinenumberEnd: 1443
    functionName: g_io_channel_set_encoding
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_return_val_if_fail
    - g_iconv_open
    - g_warning
    - g_strdup
    - g_assert
    - g_strerror
    - strcmp
    - g_free
    - g_iconv_close
    - _
    - g_string_prepend_len
    - g_string_truncate
    linkageType: ''
    returnType: GIOStatus
    signature: "GIOStatus g_io_channel_set_encoding (GIOChannel\t*channel, const gchar\t\
      *encoding,\t\t\t GError **error) "
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:1933,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:1934,1
    - Dst: _
      Src: /src/glib/glib/giochannel.c:1946,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giochannel.c:1936,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/giochannel.c:1945,1
    - Dst: g_io_channel_fill_buffer
      Src: /src/glib/glib/giochannel.c:1951,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/giochannel.c:1959,1
    - Dst: _
      Src: /src/glib/glib/giochannel.c:1960,1
    - Dst: USE_BUF
      Src: /src/glib/glib/giochannel.c:1964,1
    - Dst: g_strdup
      Src: /src/glib/glib/giochannel.c:1968,1
    - Dst: USE_BUF
      Src: /src/glib/glib/giochannel.c:1973,1
    - Dst: USE_BUF
      Src: /src/glib/glib/giochannel.c:1976,1
    - Dst: USE_BUF
      Src: /src/glib/glib/giochannel.c:1978,1
    - Dst: g_string_free
      Src: /src/glib/glib/giochannel.c:1976,1
    - Dst: g_string_free
      Src: /src/glib/glib/giochannel.c:1978,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 38
    argCount: 4
    argNames:
    - channel
    - str_return
    - length
    - error
    argTypes:
    - GIOChannel*
    - gchar**
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 1987
      start: 1925
    functionDepth: 0
    functionLinenumber: 1925
    functionLinenumberEnd: 1987
    functionName: g_io_channel_read_to_end
    functionSourceFile: /src/glib/glib/giochannel.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_strdup
    - g_io_channel_fill_buffer
    - USE_BUF
    - g_set_error_literal
    - g_string_free
    - _
    linkageType: ''
    returnType: GIOStatus
    signature: "GIOStatus g_io_channel_read_to_end (GIOChannel *channel, gchar **str_return,\
      \ gsize\t *length, GError **error) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wcslen
      Src: /src/glib/glib/gstdio-private.c:36,1
    - Dst: wcslen
      Src: /src/glib/glib/gstdio-private.c:40,1
    - Dst: iswalpha
      Src: /src/glib/glib/gstdio-private.c:51,1
    - Dst: iswascii
      Src: /src/glib/glib/gstdio-private.c:50,1
    - Dst: memcmp
      Src: /src/glib/glib/gstdio-private.c:47,1
    - Dst: memcmp
      Src: /src/glib/glib/gstdio-private.c:58,1
    - Dst: iswascii
      Src: /src/glib/glib/gstdio-private.c:61,1
    - Dst: iswalpha
      Src: /src/glib/glib/gstdio-private.c:62,1
    - Dst: memmove
      Src: /src/glib/glib/gstdio-private.c:72,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 2
    argNames:
    - str
    - str_size
    argTypes:
    - gunichar2*
    - gsize*
    constantsTouched: []
    func_position:
      end: 78
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 78
    functionName: _g_win32_strip_extended_ntobjm_prefix
    functionSourceFile: /src/glib/glib/gstdio-private.c
    functionUses: []
    functionsReached:
    - wcslen
    - memmove
    - memcmp
    - iswalpha
    - iswascii
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _g_win32_strip_extended_ntobjm_prefix (gunichar2 *str,
      gsize *str_size) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/glib/glib/gstdio-private.c:113,1
    - Dst: g_malloc
      Src: /src/glib/glib/gstdio-private.c:120,1
    - Dst: memcpy
      Src: /src/glib/glib/gstdio-private.c:121,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 57
    argCount: 6
    argNames:
    - data
    - in_to_copy
    - buf
    - buf_size
    - alloc_buf
    - terminate
    argTypes:
    - guchar*
    - gsize
    - gunichar2*
    - gsize
    - gunichar2**
    - gboolean
    constantsTouched: []
    func_position:
      end: 167
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 167
    functionName: _g_win32_copy_and_maybe_terminate
    functionSourceFile: /src/glib/glib/gstdio-private.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_malloc
    linkageType: ''
    returnType: int
    signature: 'static int _g_win32_copy_and_maybe_terminate (const guchar *data,
      gsize in_to_copy, gunichar2 *buf, gsize buf_size, gunichar2 **alloc_buf, gboolean
      terminate) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_GNUC_PRINTF
      Src: /src/glib/glib/gscanner.h:276,1
    - Dst: g_scanner_scope_add_symbol
      Src: /src/glib/glib/gscanner.h:284,1
    - Dst: G_GNUC_PRINTF
      Src: /src/glib/glib/gscanner.h:280,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 3
    argNames:
    - scanner
    - symbol
    - value
    argTypes:
    - scanner
    - symbol
    - value
    constantsTouched: []
    func_position:
      end: 285
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 285
    functionName: g_scanner_add_symbol
    functionSourceFile: /src/glib/glib/gscanner.h
    functionUses: []
    functionsReached:
    - g_scanner_scope_add_symbol
    - G_GNUC_PRINTF
    linkageType: ''
    returnType: GLIB_AVAILABLE_IN_ALL
    signature: "GLIB_AVAILABLE_IN_ALL void\t\tg_scanner_error\t\t\t(GScanner\t*scanner,\t\
      \t\t\t\t\t const gchar\t*format,\t\t\t\t\t\t ...) G_GNUC_PRINTF (2,3);GLIB_AVAILABLE_IN_ALLvoid\t\
      \tg_scanner_warn\t\t\t(GScanner\t*scanner,\t\t\t\t\t\t const gchar\t*format,\t\
      \t\t\t\t\t ...) G_GNUC_PRINTF (2,3);/* keep downward source compatibility */#define\
      \ g_scanner_add_symbol( scanner, symbol, value )\tG_STMT_START "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - com_obj
    argTypes:
    - com_interface**
    constantsTouched: []
    func_position:
      end: 193
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 193
    functionName: g_win32_clear_com
    functionSourceFile: /src/glib/glib/gwin32.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'inline void g_win32_clear_com (com_interface **com_obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/glib/gstrvbuilder.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: g_strv_builder_new
    functionSourceFile: /src/glib/glib/gstrvbuilder.c
    functionUses: []
    functionsReached:
    - g_ptr_array_new_with_free_func
    linkageType: ''
    returnType: GStrvBuilder*
    signature: 'GStrvBuilder *g_strv_builder_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_ref
      Src: /src/glib/glib/gstrvbuilder.c:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: g_strv_builder_ref
    functionSourceFile: /src/glib/glib/gstrvbuilder.c
    functionUses: []
    functionsReached:
    - g_ptr_array_ref
    linkageType: ''
    returnType: GStrvBuilder*
    signature: 'GStrvBuilder *g_strv_builder_ref (GStrvBuilder *builder) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/gstrvbuilder.c:153,1
    - Dst: g_strdup
      Src: /src/glib/glib/gstrvbuilder.c:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - builder
    - value
    argTypes:
    - GStrvBuilder*
    - char*
    constantsTouched: []
    func_position:
      end: 154
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 154
    functionName: g_strv_builder_add
    functionSourceFile: /src/glib/glib/gstrvbuilder.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'void g_strv_builder_add (GStrvBuilder *builder, const char *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/gstrvbuilder.c:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - builder
    - value
    argTypes:
    - GStrvBuilder*
    - char*
    constantsTouched: []
    func_position:
      end: 214
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 214
    functionName: g_strv_builder_take
    functionSourceFile: /src/glib/glib/gstrvbuilder.c
    functionUses: []
    functionsReached:
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'void g_strv_builder_take (GStrvBuilder *builder, char *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/gstrvbuilder.c:232,1
    - Dst: g_ptr_array_steal
      Src: /src/glib/glib/gstrvbuilder.c:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - builder
    argTypes:
    - GStrvBuilder*
    constantsTouched: []
    func_position:
      end: 234
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 234
    functionName: g_strv_builder_end
    functionSourceFile: /src/glib/glib/gstrvbuilder.c
    functionUses: []
    functionsReached:
    - g_ptr_array_add
    - g_ptr_array_steal
    linkageType: ''
    returnType: GStrv
    signature: 'GStrv g_strv_builder_end (GStrvBuilder *builder) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/gstrvbuilder.c:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - builder
    argTypes:
    - GStrvBuilder*
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: g_strv_builder_unref
    functionSourceFile: /src/glib/glib/gstrvbuilder.c
    functionUses: []
    functionsReached:
    - g_ptr_array_unref
    linkageType: ''
    returnType: void
    signature: 'void g_strv_builder_unref (GStrvBuilder *builder) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strv_builder_end
      Src: /src/glib/glib/gstrvbuilder.c:116,1
    - Dst: g_strv_builder_unref
      Src: /src/glib/glib/gstrvbuilder.c:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - builder
    argTypes:
    - GStrvBuilder*
    constantsTouched: []
    func_position:
      end: 121
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 121
    functionName: g_strv_builder_unref_to_strv
    functionSourceFile: /src/glib/glib/gstrvbuilder.c
    functionUses: []
    functionsReached:
    - g_strv_builder_end
    - g_strv_builder_unref
    linkageType: ''
    returnType: GStrv
    signature: 'GStrv g_strv_builder_unref_to_strv (GStrvBuilder *builder) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gstrvbuilder.c:170,1
    - Dst: g_strv_builder_add
      Src: /src/glib/glib/gstrvbuilder.c:173,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gstrvbuilder.c:171,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - builder
    - value
    argTypes:
    - GStrvBuilder*
    - char**
    constantsTouched: []
    func_position:
      end: 174
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 174
    functionName: g_strv_builder_addv
    functionSourceFile: /src/glib/glib/gstrvbuilder.c
    functionUses: []
    functionsReached:
    - g_strv_builder_add
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_strv_builder_addv (GStrvBuilder *builder, const char **value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gstrvbuilder.c:191,1
    - Dst: g_strv_builder_add
      Src: /src/glib/glib/gstrvbuilder.c:194,1
    - Dst: va_end
      Src: /src/glib/glib/gstrvbuilder.c:195,1
    - Dst: va_start
      Src: /src/glib/glib/gstrvbuilder.c:192,1
    - Dst: va_arg
      Src: /src/glib/glib/gstrvbuilder.c:193,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - builder
    - '...'
    argTypes:
    - GStrvBuilder*
    constantsTouched: []
    func_position:
      end: 196
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 196
    functionName: g_strv_builder_add_many
    functionSourceFile: /src/glib/glib/gstrvbuilder.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - va_arg
    - va_end
    - g_strv_builder_add
    - va_start
    linkageType: ''
    returnType: void
    signature: 'void g_strv_builder_add_many (GStrvBuilder *builder, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/glib-autocleanups.h:31,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: g_autoptr_cleanup_generic_gfree
    functionSourceFile: /src/glib/glib/glib-autocleanups.h
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static inline void g_autoptr_cleanup_generic_gfree (void *p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_string_free
      Src: /src/glib/glib/glib-autocleanups.h:38,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - string
    argTypes:
    - GString*
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: g_autoptr_cleanup_gstring_free
    functionSourceFile: /src/glib/glib/glib-autocleanups.h
    functionUses: []
    functionsReached:
    - g_string_free
    linkageType: ''
    returnType: void
    signature: 'static inline void g_autoptr_cleanup_gstring_free (GString *string) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: msort_with_tmp
      Src: /src/glib/glib/gqsort.c:86,1
    - Dst: msort_with_tmp
      Src: /src/glib/glib/gqsort.c:87,1
    - Dst: memcpy
      Src: /src/glib/glib/gqsort.c:173,1
    - Dst: memcpy
      Src: /src/glib/glib/gqsort.c:180,1
    - Dst: memcpy
      Src: /src/glib/glib/gqsort.c:190,1
    - Dst: memcpy
      Src: /src/glib/glib/gqsort.c:191,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 87
    argCount: 3
    argNames:
    - p
    - b
    - n
    argTypes:
    - struct msort_param*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 192
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 192
    functionName: msort_with_tmp
    functionSourceFile: /src/glib/glib/gqsort.c
    functionUses: []
    functionsReached:
    - memcpy
    - msort_with_tmp
    linkageType: ''
    returnType: void
    signature: 'static void msort_with_tmp (const struct msort_param *p, void *b,
      size_t n) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_alloca
      Src: /src/glib/glib/gqsort.c:208,1
    - Dst: memcpy
      Src: /src/glib/glib/gqsort.c:253,1
    - Dst: g_malloc
      Src: /src/glib/glib/gqsort.c:212,1
    - Dst: msort_with_tmp
      Src: /src/glib/glib/gqsort.c:238,1
    - Dst: memcpy
      Src: /src/glib/glib/gqsort.c:247,1
    - Dst: memcpy
      Src: /src/glib/glib/gqsort.c:261,1
    - Dst: G_ALIGNOF
      Src: /src/glib/glib/gqsort.c:267,1
    - Dst: G_ALIGNOF
      Src: /src/glib/glib/gqsort.c:272,1
    - Dst: G_ALIGNOF
      Src: /src/glib/glib/gqsort.c:275,1
    - Dst: msort_with_tmp
      Src: /src/glib/glib/gqsort.c:278,1
    - Dst: g_free
      Src: /src/glib/glib/gqsort.c:280,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 79
    argCount: 5
    argNames:
    - b
    - n
    - s
    - cmp
    - arg
    argTypes:
    - void*
    - size_t
    - size_t
    - GCompareDataFunc
    - void*
    constantsTouched: []
    func_position:
      end: 281
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 281
    functionName: msort_r
    functionSourceFile: /src/glib/glib/gqsort.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_alloca
    - msort_with_tmp
    - g_malloc
    - G_ALIGNOF
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void msort_r (void *b, size_t n, size_t s, GCompareDataFunc
      cmp, void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_sort_array
      Src: /src/glib/glib/gqsort.c:307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 5
    argNames:
    - pbase
    - total_elems
    - size
    - compare_func
    - user_data
    argTypes:
    - gconstpointer
    - gint
    - gsize
    - GCompareDataFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 308
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 308
    functionName: g_qsort_with_data
    functionSourceFile: /src/glib/glib/gqsort.c
    functionUses: []
    functionsReached:
    - g_sort_array
    linkageType: ''
    returnType: void
    signature: 'void g_qsort_with_data (gconstpointer pbase, gint total_elems, gsize
      size, GCompareDataFunc compare_func, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msort_r
      Src: /src/glib/glib/gqsort.c:333,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 5
    argNames:
    - array
    - n_elements
    - element_size
    - compare_func
    - user_data
    argTypes:
    - void*
    - size_t
    - size_t
    - GCompareDataFunc
    - void*
    constantsTouched: []
    func_position:
      end: 334
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 334
    functionName: g_sort_array
    functionSourceFile: /src/glib/glib/gqsort.c
    functionUses: []
    functionsReached:
    - msort_r
    linkageType: ''
    returnType: void
    signature: 'void g_sort_array (const void *array, size_t n_elements, size_t element_size,
      GCompareDataFunc compare_func, void *user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gmessages.h:438,1
    - Dst: g_logv
      Src: /src/glib/glib/gmessages.h:439,1
    - Dst: va_end
      Src: /src/glib/glib/gmessages.h:440,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - format
    - '...'
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 441
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 441
    functionName: g_message
    functionSourceFile: /src/glib/glib/gmessages.h
    functionUses: []
    functionsReached:
    - g_logv
    - va_start
    - va_end
    linkageType: ''
    returnType: void
    signature: 'static inline void g_message (const gchar *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gmessages.h:456,1
    - Dst: g_logv
      Src: /src/glib/glib/gmessages.h:457,1
    - Dst: va_end
      Src: /src/glib/glib/gmessages.h:458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - format
    - '...'
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 459
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 459
    functionName: g_warning
    functionSourceFile: /src/glib/glib/gmessages.h
    functionUses: []
    functionsReached:
    - g_logv
    - va_start
    - va_end
    linkageType: ''
    returnType: void
    signature: 'static inline void g_warning (const gchar *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gmessages.h:427,1
    - Dst: va_end
      Src: /src/glib/glib/gmessages.h:429,1
    - Dst: g_logv
      Src: /src/glib/glib/gmessages.h:428,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - format
    - '...'
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 432
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 432
    functionName: g_error
    functionSourceFile: /src/glib/glib/gmessages.h
    functionUses: []
    functionsReached:
    - g_logv
    - va_start
    - va_end
    linkageType: ''
    returnType: void
    signature: 'static inline void g_error (const gchar *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gmessages.h:447,1
    - Dst: va_end
      Src: /src/glib/glib/gmessages.h:449,1
    - Dst: g_logv
      Src: /src/glib/glib/gmessages.h:448,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - format
    - '...'
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 450
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 450
    functionName: g_critical
    functionSourceFile: /src/glib/glib/gmessages.h
    functionUses: []
    functionsReached:
    - g_logv
    - va_start
    - va_end
    linkageType: ''
    returnType: void
    signature: 'static inline void g_critical (const gchar *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gmessages.h:465,1
    - Dst: va_end
      Src: /src/glib/glib/gmessages.h:467,1
    - Dst: g_logv
      Src: /src/glib/glib/gmessages.h:466,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - format
    - '...'
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 468
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 468
    functionName: g_info
    functionSourceFile: /src/glib/glib/gmessages.h
    functionUses: []
    functionsReached:
    - g_logv
    - va_start
    - va_end
    linkageType: ''
    returnType: void
    signature: 'static inline void g_info (const gchar *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gmessages.h:474,1
    - Dst: g_logv
      Src: /src/glib/glib/gmessages.h:475,1
    - Dst: va_end
      Src: /src/glib/glib/gmessages.h:476,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - format
    - '...'
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 477
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 477
    functionName: g_debug
    functionSourceFile: /src/glib/glib/gmessages.h
    functionUses: []
    functionsReached:
    - g_logv
    - va_start
    - va_end
    linkageType: ''
    returnType: void
    signature: 'static inline void g_debug (const gchar *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/glib/glib/gspawn-win32-helper.c:38,1
    - Dst: _exit
      Src: /src/glib/glib/gspawn-win32-helper.c:41,1
    - Dst: write
      Src: /src/glib/glib/gspawn-win32-helper.c:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - fd
    - msg
    argTypes:
    - gint
    - gintptr
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: write_err_and_exit
    functionSourceFile: /src/glib/glib/gspawn-win32-helper.c
    functionUses: []
    functionsReached:
    - write
    - _exit
    linkageType: ''
    returnType: void
    signature: "static void write_err_and_exit (gint fd,\t\t gintptr msg) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dup2
      Src: /src/glib/glib/gspawn-win32-helper.c:150,1
    - Dst: write_err_and_exit
      Src: /src/glib/glib/gspawn-win32-helper.c:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - oldfd
    - newfd
    - report_fd
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 154
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 154
    functionName: checked_dup2
    functionSourceFile: /src/glib/glib/gspawn-win32-helper.c
    functionUses: []
    functionsReached:
    - write_err_and_exit
    - dup2
    linkageType: ''
    returnType: int
    signature: 'static int checked_dup2 (int oldfd, int newfd, int report_fd) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/glib/gspawn-win32-helper.c:65,1
    - Dst: g_new
      Src: /src/glib/glib/gspawn-win32-helper.c:97,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 41
    argCount: 3
    argNames:
    - argc
    - wargv
    - new_wargv
    argTypes:
    - gint
    - wchar_t**
    - wchar_t***
    constantsTouched: []
    func_position:
      end: 142
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 142
    functionName: protect_wargv
    functionSourceFile: /src/glib/glib/gspawn-win32-helper.c
    functionUses: []
    functionsReached:
    - g_new
    linkageType: ''
    returnType: gint
    signature: "static gint protect_wargv (gint argc,\t wchar_t **wargv,\t wchar_t\
      \ ***new_wargv) "
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/glib/glib/gspawn-win32-helper.c:216,1
    - Dst: checked_dup2
      Src: /src/glib/glib/gspawn-win32-helper.c:229,1
    - Dst: checked_dup2
      Src: /src/glib/glib/gspawn-win32-helper.c:270,1
    - Dst: checked_dup2
      Src: /src/glib/glib/gspawn-win32-helper.c:316,1
    - Dst: close
      Src: /src/glib/glib/gspawn-win32-helper.c:358,1
    - Dst: g_new
      Src: /src/glib/glib/gspawn-win32-helper.c:192,1
    - Dst: g_hash_table_new
      Src: /src/glib/glib/gspawn-win32-helper.c:282,1
    - Dst: MAX
      Src: /src/glib/glib/gspawn-win32-helper.c:305,1
    - Dst: dup2
      Src: /src/glib/glib/gspawn-win32-helper.c:402,1
    - Dst: write
      Src: /src/glib/glib/gspawn-win32-helper.c:413,1
    - Dst: open
      Src: /src/glib/glib/gspawn-win32-helper.c:241,1
    - Dst: _wchdir
      Src: /src/glib/glib/gspawn-win32-helper.c:279,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/gspawn-win32-helper.c:356,1
    - Dst: MAX
      Src: /src/glib/glib/gspawn-win32-helper.c:304,1
    - Dst: checked_dup2
      Src: /src/glib/glib/gspawn-win32-helper.c:247,1
    - Dst: LocalFree
      Src: /src/glib/glib/gspawn-win32-helper.c:417,1
    - Dst: g_assert
      Src: /src/glib/glib/gspawn-win32-helper.c:189,1
    - Dst: write_err_and_exit
      Src: /src/glib/glib/gspawn-win32-helper.c:256,1
    - Dst: protect_wargv
      Src: /src/glib/glib/gspawn-win32-helper.c:388,1
    - Dst: _wspawnv
      Src: /src/glib/glib/gspawn-win32-helper.c:393,1
    - Dst: g_hash_table_add
      Src: /src/glib/glib/gspawn-win32-helper.c:345,1
    - Dst: open
      Src: /src/glib/glib/gspawn-win32-helper.c:228,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/glib/gspawn-win32-helper.c:340,1
    - Dst: checked_dup2
      Src: /src/glib/glib/gspawn-win32-helper.c:336,1
    - Dst: _wspawnvp
      Src: /src/glib/glib/gspawn-win32-helper.c:391,1
    - Dst: g_hash_table_add
      Src: /src/glib/glib/gspawn-win32-helper.c:348,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/gspawn-win32-helper.c:342,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/glib/gspawn-win32-helper.c:327,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/gspawn-win32-helper.c:336,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/glib/gspawn-win32-helper.c:364,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/glib/gspawn-win32-helper.c:353,1
    - Dst: atoi
      Src: /src/glib/glib/gspawn-win32-helper.c:200,1
    - Dst: g_assert
      Src: /src/glib/glib/gspawn-win32-helper.c:295,1
    - Dst: g_assert
      Src: /src/glib/glib/gspawn-win32-helper.c:297,1
    - Dst: g_assert
      Src: /src/glib/glib/gspawn-win32-helper.c:301,1
    - Dst: GetCommandLineW
      Src: /src/glib/glib/gspawn-win32-helper.c:187,1
    - Dst: MAX
      Src: /src/glib/glib/gspawn-win32-helper.c:217,1
    - Dst: checked_dup2
      Src: /src/glib/glib/gspawn-win32-helper.c:234,1
    - Dst: g_assert
      Src: /src/glib/glib/gspawn-win32-helper.c:298,1
    - Dst: g_ascii_strtoll
      Src: /src/glib/glib/gspawn-win32-helper.c:299,1
    - Dst: g_assert
      Src: /src/glib/glib/gspawn-win32-helper.c:302,1
    - Dst: dup
      Src: /src/glib/glib/gspawn-win32-helper.c:254,1
    - Dst: MAX
      Src: /src/glib/glib/gspawn-win32-helper.c:259,1
    - Dst: g_ascii_strtoll
      Src: /src/glib/glib/gspawn-win32-helper.c:294,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/gspawn-win32-helper.c:307,1
    - Dst: checked_dup2
      Src: /src/glib/glib/gspawn-win32-helper.c:342,1
    - Dst: write_err_and_exit
      Src: /src/glib/glib/gspawn-win32-helper.c:369,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gspawn-win32-helper.c:418,1
    - Dst: g_hash_table_add
      Src: /src/glib/glib/gspawn-win32-helper.c:346,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/gspawn-win32-helper.c:307,1
    - Dst: strlen
      Src: /src/glib/glib/gspawn-win32-helper.c:207,1
    - Dst: checked_dup2
      Src: /src/glib/glib/gspawn-win32-helper.c:242,1
    - Dst: open
      Src: /src/glib/glib/gspawn-win32-helper.c:264,1
    - Dst: write_err_and_exit
      Src: /src/glib/glib/gspawn-win32-helper.c:280,1
    - Dst: g_strsplit
      Src: /src/glib/glib/gspawn-win32-helper.c:285,1
    - Dst: read
      Src: /src/glib/glib/gspawn-win32-helper.c:415,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/gspawn-win32-helper.c:342,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/glib/gspawn-win32-helper.c:359,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/gspawn-win32-helper.c:346,1
    - Dst: _fileno
      Src: /src/glib/glib/gspawn-win32-helper.c:251,1
    - Dst: write_err_and_exit
      Src: /src/glib/glib/gspawn-win32-helper.c:409,1
    - Dst: checked_dup2
      Src: /src/glib/glib/gspawn-win32-helper.c:314,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/gspawn-win32-helper.c:345,1
    - Dst: MAX
      Src: /src/glib/glib/gspawn-win32-helper.c:201,1
    - Dst: atoi
      Src: /src/glib/glib/gspawn-win32-helper.c:269,1
    - Dst: g_hash_table_iter_replace
      Src: /src/glib/glib/gspawn-win32-helper.c:337,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/glib/gspawn-win32-helper.c:341,1
    - Dst: g_hash_table_contains
      Src: /src/glib/glib/gspawn-win32-helper.c:356,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/gspawn-win32-helper.c:194,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/glib/gspawn-win32-helper.c:253,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/glib/gspawn-win32-helper.c:328,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gspawn-win32-helper.c:310,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/gspawn-win32-helper.c:337,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/gspawn-win32-helper.c:307,1
    - Dst: atoi
      Src: /src/glib/glib/gspawn-win32-helper.c:246,1
    - Dst: checked_dup2
      Src: /src/glib/glib/gspawn-win32-helper.c:265,1
    - Dst: _get_osfhandle
      Src: /src/glib/glib/gspawn-win32-helper.c:357,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/gspawn-win32-helper.c:348,1
    - Dst: write
      Src: /src/glib/glib/gspawn-win32-helper.c:412,1
    - Dst: g_hash_table_unref
      Src: /src/glib/glib/gspawn-win32-helper.c:419,1
    - Dst: CommandLineToArgvW
      Src: /src/glib/glib/gspawn-win32-helper.c:187,1
    - Dst: atoi
      Src: /src/glib/glib/gspawn-win32-helper.c:233,1
    - Dst: checked_dup2
      Src: /src/glib/glib/gspawn-win32-helper.c:320,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/glib/gspawn-win32-helper.c:366,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 180
    argCount: 2
    argNames:
    - ignored_argc
    - ignored_argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 422
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 422
    functionName: main
    functionSourceFile: /src/glib/glib/gspawn-win32-helper.c
    functionUses: []
    functionsReached:
    - protect_wargv
    - GLIB_PRIVATE_CALL
    - g_strsplit
    - g_utf16_to_utf8
    - _wspawnv
    - g_hash_table_insert
    - g_strfreev
    - GetCommandLineW
    - dup2
    - write
    - GPOINTER_TO_INT
    - _wchdir
    - g_new
    - strlen
    - dup
    - g_hash_table_unref
    - MAX
    - _fileno
    - checked_dup2
    - _get_osfhandle
    - g_hash_table_new
    - GINT_TO_POINTER
    - g_ascii_strtoll
    - g_hash_table_iter_replace
    - g_hash_table_contains
    - write_err_and_exit
    - read
    - g_hash_table_iter_next
    - g_hash_table_add
    - g_hash_table_iter_init
    - g_assert
    - CommandLineToArgvW
    - _wspawnvp
    - LocalFree
    - close
    - open
    - atoi
    linkageType: ''
    returnType: int
    signature: 'int main (int ignored_argc, char **ignored_argv) #endif '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gsequence.c:275,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gsequence.c:276,1
    - Dst: node_get_next
      Src: /src/glib/glib/gsequence.c:286,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gsequence.c:277,1
    - Dst: get_sequence
      Src: /src/glib/glib/gsequence.c:279,1
    - Dst: func
      Src: /src/glib/glib/gsequence.c:288,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - begin
    - end
    - func
    - user_data
    argTypes:
    - GSequenceIter*
    - GSequenceIter*
    - GFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 294
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 294
    functionName: g_sequence_foreach_range
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - get_sequence
    - node_get_next
    - func
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_sequence_foreach_range (GSequenceIter *begin, GSequenceIter
      *end, GFunc func, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gsequence.c:381,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gsequence.c:386,1
    - Dst: get_sequence
      Src: /src/glib/glib/gsequence.c:384,1
    - Dst: get_sequence
      Src: /src/glib/glib/gsequence.c:385,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gsequence.c:382,1
    - Dst: check_seq_access
      Src: /src/glib/glib/gsequence.c:388,1
    - Dst: check_seq_access
      Src: /src/glib/glib/gsequence.c:389,1
    - Dst: node_get_pos
      Src: /src/glib/glib/gsequence.c:391,1
    - Dst: node_get_pos
      Src: /src/glib/glib/gsequence.c:392,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - GSequenceIter*
    - GSequenceIter*
    constantsTouched: []
    func_position:
      end: 400
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 400
    functionName: g_sequence_iter_compare
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - node_get_pos
    - check_seq_access
    - get_sequence
    linkageType: ''
    returnType: gint
    signature: 'gint g_sequence_iter_compare (GSequenceIter *a, GSequenceIter *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gsequence.c:505,1
    - Dst: check_seq_access
      Src: /src/glib/glib/gsequence.c:510,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gsequence.c:508,1
    - Dst: get_sequence
      Src: /src/glib/glib/gsequence.c:507,1
    - Dst: seq_is_end
      Src: /src/glib/glib/gsequence.c:508,1
    - Dst: node_unlink
      Src: /src/glib/glib/gsequence.c:512,1
    - Dst: node_free
      Src: /src/glib/glib/gsequence.c:513,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GSequenceIter*
    constantsTouched: []
    func_position:
      end: 514
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 514
    functionName: g_sequence_remove
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - node_unlink
    - check_seq_access
    - g_return_if_fail
    - seq_is_end
    - node_free
    - get_sequence
    linkageType: ''
    returnType: void
    signature: 'void g_sequence_remove (GSequenceIter *iter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gsequence.c:774,1
    - Dst: check_seq_access
      Src: /src/glib/glib/gsequence.c:779,1
    - Dst: g_sequence_search_iter
      Src: /src/glib/glib/gsequence.c:781,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 782
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 782
    functionName: g_sequence_search
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_sequence_search_iter
    - check_seq_access
    linkageType: ''
    returnType: GSequenceIter*
    signature: 'GSequenceIter *g_sequence_search (GSequence *seq, gpointer data, GCompareDataFunc
      cmp_func, gpointer cmp_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node_get_length
      Src: /src/glib/glib/gsequence.c:1223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - seq
    argTypes:
    - GSequence*
    constantsTouched: []
    func_position:
      end: 1224
      start: 1220
    functionDepth: 0
    functionLinenumber: 1220
    functionLinenumberEnd: 1224
    functionName: g_sequence_get_length
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - node_get_length
    linkageType: ''
    returnType: gint
    signature: 'gint g_sequence_get_length (GSequence *seq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gsequence.c:1277,1
    - Dst: node_get_first
      Src: /src/glib/glib/gsequence.c:1279,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1274
    functionDepth: 0
    functionLinenumber: 1274
    functionLinenumberEnd: 1280
    functionName: g_sequence_get_begin_iter
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - node_get_first
    - g_return_val_if_fail
    linkageType: ''
    returnType: GSequenceIter*
    signature: 'GSequenceIter *g_sequence_get_begin_iter (GSequence *seq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gsequence.c:1360,1
    - Dst: is_end
      Src: /src/glib/glib/gsequence.c:1362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GSequenceIter*
    constantsTouched: []
    func_position:
      end: 1363
      start: 1357
    functionDepth: 0
    functionLinenumber: 1357
    functionLinenumberEnd: 1363
    functionName: g_sequence_iter_is_end
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - is_end
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_sequence_iter_is_end (GSequenceIter *iter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gsequence.c:1396,1
    - Dst: node_get_pos
      Src: /src/glib/glib/gsequence.c:1398,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GSequenceIter*
    constantsTouched: []
    func_position:
      end: 1399
      start: 1393
    functionDepth: 0
    functionLinenumber: 1393
    functionLinenumberEnd: 1399
    functionName: g_sequence_iter_get_position
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - node_get_pos
    linkageType: ''
    returnType: gint
    signature: 'gint g_sequence_iter_get_position (GSequenceIter *iter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_sequence_get_length
      Src: /src/glib/glib/gsequence.c:1286,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - seq
    - pos
    argTypes:
    - GSequence*
    - int
    constantsTouched: []
    func_position:
      end: 1292
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1292
    functionName: clamp_position
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - g_sequence_get_length
    linkageType: ''
    returnType: int
    signature: 'static int clamp_position (GSequence *seq, int pos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gsequence.c:1435,1
    - Dst: node_get_prev
      Src: /src/glib/glib/gsequence.c:1437,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1432
    functionDepth: 0
    functionLinenumber: 1432
    functionLinenumberEnd: 1438
    functionName: g_sequence_iter_prev
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - node_get_prev
    linkageType: ''
    returnType: GSequenceIter*
    signature: 'GSequenceIter *g_sequence_iter_prev (GSequenceIter *iter) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find_root
      Src: /src/glib/glib/gsequence.c:1749,1
    - Dst: iter_cmp
      Src: /src/glib/glib/gsequence.c:1759,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1772
      start: 1740
    functionDepth: 0
    functionLinenumber: 1740
    functionLinenumberEnd: 1772
    functionName: node_find
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - iter_cmp
    - find_root
    linkageType: ''
    returnType: GSequenceNode*
    signature: 'static GSequenceNode *node_find (GSequenceNode *haystack, GSequenceNode
      *needle, GSequenceNode *end, GSequenceIterCompareFunc iter_cmp, gpointer cmp_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_priority
      Src: /src/glib/glib/gsequence.c:1942,1
    - Dst: get_priority
      Src: /src/glib/glib/gsequence.c:1952,1
    - Dst: get_priority
      Src: /src/glib/glib/gsequence.c:1943,1
    - Dst: node_rotate
      Src: /src/glib/glib/gsequence.c:1948,1
    - Dst: node_rotate
      Src: /src/glib/glib/gsequence.c:1950,1
    - Dst: get_priority
      Src: /src/glib/glib/gsequence.c:1953,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - node
    - priority
    argTypes:
    - GSequenceNode*
    - guint
    constantsTouched: []
    func_position:
      end: 1955
      start: 1936
    functionDepth: 0
    functionLinenumber: 1936
    functionLinenumberEnd: 1955
    functionName: rotate_down
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - node_rotate
    - get_priority
    linkageType: ''
    returnType: void
    signature: 'static void rotate_down (GSequenceNode *node, guint priority) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gsequence.c:244,1
    - Dst: g_free
      Src: /src/glib/glib/gsequence.c:250,1
    - Dst: check_seq_access
      Src: /src/glib/glib/gsequence.c:246,1
    - Dst: node_free
      Src: /src/glib/glib/gsequence.c:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - seq
    argTypes:
    - GSequence*
    constantsTouched: []
    func_position:
      end: 251
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 251
    functionName: g_sequence_free
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - node_free
    - check_seq_access
    - g_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_sequence_free (GSequence *seq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gsequence.c:345,1
    - Dst: get_sequence
      Src: /src/glib/glib/gsequence.c:347,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gsequence.c:346,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gsequence.c:347,1
    - Dst: get_sequence
      Src: /src/glib/glib/gsequence.c:347,1
    - Dst: node_get_pos
      Src: /src/glib/glib/gsequence.c:349,1
    - Dst: node_get_pos
      Src: /src/glib/glib/gsequence.c:350,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gsequence.c:352,1
    - Dst: node_get_by_pos
      Src: /src/glib/glib/gsequence.c:356,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 357
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 357
    functionName: g_sequence_range_get_midpoint
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - node_get_by_pos
    - g_return_val_if_fail
    - node_get_pos
    - get_sequence
    linkageType: ''
    returnType: GSequenceIter*
    signature: 'GSequenceIter *g_sequence_range_get_midpoint (GSequenceIter *begin,
      GSequenceIter *end) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gsequence.c:476,1
    - Dst: get_sequence
      Src: /src/glib/glib/gsequence.c:478,1
    - Dst: node_insert_before
      Src: /src/glib/glib/gsequence.c:483,1
    - Dst: check_seq_access
      Src: /src/glib/glib/gsequence.c:479,1
    - Dst: node_new
      Src: /src/glib/glib/gsequence.c:481,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 486
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 486
    functionName: g_sequence_insert_before
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - node_insert_before
    - g_return_val_if_fail
    - node_new
    - check_seq_access
    - get_sequence
    linkageType: ''
    returnType: GSequenceIter*
    signature: 'GSequenceIter *g_sequence_insert_before (GSequenceIter *iter, gpointer
      data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gsequence.c:727,1
    - Dst: g_sequence_sort_changed_iter
      Src: /src/glib/glib/gsequence.c:737,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gsequence.c:731,1
    - Dst: seq_is_end
      Src: /src/glib/glib/gsequence.c:731,1
    - Dst: get_sequence
      Src: /src/glib/glib/gsequence.c:729,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - iter
    - cmp_func
    - cmp_data
    argTypes:
    - GSequenceIter*
    - GCompareDataFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 738
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 738
    functionName: g_sequence_sort_changed
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - get_sequence
    - seq_is_end
    - g_sequence_sort_changed_iter
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_sequence_sort_changed (GSequenceIter *iter, GCompareDataFunc
      cmp_func, gpointer cmp_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gsequence.c:1188,1
    - Dst: seq_is_end
      Src: /src/glib/glib/gsequence.c:1191,1
    - Dst: get_sequence
      Src: /src/glib/glib/gsequence.c:1190,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gsequence.c:1191,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - iter
    - data
    argTypes:
    - GSequenceIter*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1206
      start: 1182
    functionDepth: 0
    functionLinenumber: 1182
    functionLinenumberEnd: 1206
    functionName: g_sequence_set
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - get_sequence
    - seq_is_end
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_sequence_set (GSequenceIter *iter, gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: node_update_fields
      Src: /src/glib/glib/gsequence.c:1930,1
    - Dst: node_update_fields_deep
      Src: /src/glib/glib/gsequence.c:1932,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - GSequenceNode*
    constantsTouched: []
    func_position:
      end: 1934
      start: 1925
    functionDepth: 0
    functionLinenumber: 1925
    functionLinenumberEnd: 1934
    functionName: node_update_fields_deep
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - node_update_fields
    - node_update_fields_deep
    linkageType: ''
    returnType: void
    signature: 'static void node_update_fields_deep (GSequenceNode *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gsequence.c:853,1
    - Dst: check_seq_access
      Src: /src/glib/glib/gsequence.c:856,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gsequence.c:854,1
    - Dst: g_sequence_get_end_iter
      Src: /src/glib/glib/gsequence.c:859,1
    - Dst: g_sequence_get_begin_iter
      Src: /src/glib/glib/gsequence.c:858,1
    - Dst: g_sequence_new
      Src: /src/glib/glib/gsequence.c:861,1
    - Dst: g_sequence_move_range
      Src: /src/glib/glib/gsequence.c:864,1
    - Dst: g_sequence_get_begin_iter
      Src: /src/glib/glib/gsequence.c:864,1
    - Dst: g_sequence_is_empty
      Src: /src/glib/glib/gsequence.c:869,1
    - Dst: g_sequence_get_begin_iter
      Src: /src/glib/glib/gsequence.c:871,1
    - Dst: node_insert_sorted
      Src: /src/glib/glib/gsequence.c:873,1
    - Dst: g_sequence_free
      Src: /src/glib/glib/gsequence.c:880,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - seq
    - cmp_func
    - cmp_data
    argTypes:
    - GSequence*
    - GSequenceIterCompareFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 881
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 881
    functionName: g_sequence_sort_iter
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - g_sequence_new
    - check_seq_access
    - g_sequence_get_end_iter
    - g_return_if_fail
    - g_sequence_get_begin_iter
    - g_sequence_free
    - g_sequence_is_empty
    - node_insert_sorted
    - g_sequence_move_range
    linkageType: ''
    returnType: void
    signature: 'void g_sequence_sort_iter (GSequence *seq, GSequenceIterCompareFunc
      cmp_func, gpointer cmp_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gsequence.c:1106,1
    - Dst: g_sequence_new
      Src: /src/glib/glib/gsequence.c:1112,1
    - Dst: g_sequence_append
      Src: /src/glib/glib/gsequence.c:1115,1
    - Dst: check_seq_access
      Src: /src/glib/glib/gsequence.c:1108,1
    - Dst: node_find
      Src: /src/glib/glib/gsequence.c:1117,1
    - Dst: g_sequence_free
      Src: /src/glib/glib/gsequence.c:1120,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1096
    functionDepth: 0
    functionLinenumber: 1096
    functionLinenumberEnd: 1125
    functionName: g_sequence_lookup_iter
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - g_sequence_append
    - g_return_val_if_fail
    - g_sequence_new
    - check_seq_access
    - g_sequence_free
    - node_find
    linkageType: ''
    returnType: GSequenceIter*
    signature: 'GSequenceIter *g_sequence_lookup_iter (GSequence *seq, gpointer data,
      GSequenceIterCompareFunc iter_cmp, gpointer cmp_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - seq
    argTypes:
    - GSequence*
    constantsTouched: []
    func_position:
      end: 1244
      start: 1240
    functionDepth: 0
    functionLinenumber: 1240
    functionLinenumberEnd: 1244
    functionName: g_sequence_is_empty
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_sequence_is_empty (GSequence *seq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gsequence.c:1310,1
    - Dst: clamp_position
      Src: /src/glib/glib/gsequence.c:1312,1
    - Dst: node_get_by_pos
      Src: /src/glib/glib/gsequence.c:1314,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1306
    functionDepth: 0
    functionLinenumber: 1306
    functionLinenumberEnd: 1315
    functionName: g_sequence_get_iter_at_pos
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - node_get_by_pos
    - clamp_position
    linkageType: ''
    returnType: GSequenceIter*
    signature: 'GSequenceIter *g_sequence_get_iter_at_pos (GSequence *seq, gint pos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - key
    argTypes:
    - guint32
    constantsTouched: []
    func_position:
      end: 1546
      start: 1529
    functionDepth: 0
    functionLinenumber: 1529
    functionLinenumberEnd: 1546
    functionName: hash_uint32
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint32
    signature: 'static guint32 hash_uint32 (guint32 key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - node
    argTypes:
    - GSequenceNode*
    constantsTouched: []
    func_position:
      end: 1552
      start: 1548
    functionDepth: 0
    functionLinenumber: 1548
    functionLinenumberEnd: 1552
    functionName: get_priority
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint
    signature: 'static inline guint get_priority (GSequenceNode *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_root
      Src: /src/glib/glib/gsequence.c:1622,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1628
      start: 1619
    functionDepth: 0
    functionLinenumber: 1619
    functionLinenumberEnd: 1628
    functionName: node_get_first
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - find_root
    linkageType: ''
    returnType: GSequenceNode*
    signature: 'static GSequenceNode *node_get_first (GSequenceNode *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: node_rotate
      Src: /src/glib/glib/gsequence.c:1961,1
    - Dst: get_priority
      Src: /src/glib/glib/gsequence.c:1969,1
    - Dst: node_update_fields
      Src: /src/glib/glib/gsequence.c:1967,1
    - Dst: rotate_down
      Src: /src/glib/glib/gsequence.c:1969,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - node
    argTypes:
    - GSequenceNode*
    constantsTouched: []
    func_position:
      end: 1970
      start: 1957
    functionDepth: 0
    functionLinenumber: 1957
    functionLinenumberEnd: 1970
    functionName: node_cut
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - node_update_fields
    - rotate_down
    - node_rotate
    - get_priority
    linkageType: ''
    returnType: void
    signature: 'static void node_cut (GSequenceNode *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_uint32
      Src: /src/glib/glib/gsequence.c:1557,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - guint32
    constantsTouched: []
    func_position:
      end: 1561
      start: 1554
    functionDepth: 0
    functionLinenumber: 1554
    functionLinenumberEnd: 1561
    functionName: make_priority
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - hash_uint32
    linkageType: ''
    returnType: guint
    signature: 'static guint make_priority (guint32 key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_root
      Src: /src/glib/glib/gsequence.c:1633,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1639
      start: 1630
    functionDepth: 0
    functionLinenumber: 1630
    functionLinenumberEnd: 1639
    functionName: node_get_last
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - find_root
    linkageType: ''
    returnType: GSequenceNode*
    signature: 'static GSequenceNode *node_get_last (GSequenceNode *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node_new
      Src: /src/glib/glib/gsequence.c:1976,1
    - Dst: node_unlink
      Src: /src/glib/glib/gsequence.c:1985,1
    - Dst: find_root
      Src: /src/glib/glib/gsequence.c:1978,1
    - Dst: find_root
      Src: /src/glib/glib/gsequence.c:1979,1
    - Dst: node_update_fields
      Src: /src/glib/glib/gsequence.c:1983,1
    - Dst: node_free
      Src: /src/glib/glib/gsequence.c:1987,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - left
    - right
    argTypes:
    - GSequenceNode*
    - GSequenceNode*
    constantsTouched: []
    func_position:
      end: 1988
      start: 1972
    functionDepth: 0
    functionLinenumber: 1972
    functionLinenumberEnd: 1988
    functionName: node_join
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - node_unlink
    - node_new
    - node_update_fields
    - find_root
    - node_free
    linkageType: ''
    returnType: void
    signature: 'static void node_join (GSequenceNode *left, GSequenceNode *right) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_seq_access
      Src: /src/glib/glib/gsequence.c:314,1
    - Dst: g_sequence_get_begin_iter
      Src: /src/glib/glib/gsequence.c:316,1
    - Dst: g_sequence_get_end_iter
      Src: /src/glib/glib/gsequence.c:317,1
    - Dst: g_sequence_foreach_range
      Src: /src/glib/glib/gsequence.c:319,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - seq
    - func
    - user_data
    argTypes:
    - GSequence*
    - GFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 320
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 320
    functionName: g_sequence_foreach
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - g_sequence_foreach_range
    - g_sequence_get_begin_iter
    - g_sequence_get_end_iter
    - check_seq_access
    linkageType: ''
    returnType: void
    signature: 'void g_sequence_foreach (GSequence *seq, GFunc func, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gsequence.c:819,1
    - Dst: check_seq_access
      Src: /src/glib/glib/gsequence.c:824,1
    - Dst: g_sequence_lookup_iter
      Src: /src/glib/glib/gsequence.c:826,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 827
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 827
    functionName: g_sequence_lookup
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_sequence_lookup_iter
    - check_seq_access
    linkageType: ''
    returnType: GSequenceIter*
    signature: 'GSequenceIter *g_sequence_lookup (GSequence *seq, gpointer data, GCompareDataFunc
      cmp_func, gpointer cmp_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gsequence.c:1051,1
    - Dst: node_find_closest
      Src: /src/glib/glib/gsequence.c:1062,1
    - Dst: check_seq_access
      Src: /src/glib/glib/gsequence.c:1053,1
    - Dst: g_sequence_new
      Src: /src/glib/glib/gsequence.c:1057,1
    - Dst: g_sequence_append
      Src: /src/glib/glib/gsequence.c:1060,1
    - Dst: g_sequence_free
      Src: /src/glib/glib/gsequence.c:1065,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1041
    functionDepth: 0
    functionLinenumber: 1041
    functionLinenumberEnd: 1070
    functionName: g_sequence_search_iter
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - g_sequence_append
    - g_return_val_if_fail
    - g_sequence_new
    - check_seq_access
    - g_sequence_free
    - node_find_closest
    linkageType: ''
    returnType: GSequenceIter*
    signature: 'GSequenceIter *g_sequence_search_iter (GSequence *seq, gpointer data,
      GSequenceIterCompareFunc iter_cmp, gpointer cmp_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gsequence.c:1378,1
    - Dst: node_get_prev
      Src: /src/glib/glib/gsequence.c:1380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GSequenceIter*
    constantsTouched: []
    func_position:
      end: 1381
      start: 1375
    functionDepth: 0
    functionLinenumber: 1375
    functionLinenumberEnd: 1381
    functionName: g_sequence_iter_is_begin
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - node_get_prev
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_sequence_iter_is_begin (GSequenceIter *iter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gsequence.c:1415,1
    - Dst: node_get_next
      Src: /src/glib/glib/gsequence.c:1417,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1418
      start: 1412
    functionDepth: 0
    functionLinenumber: 1412
    functionLinenumberEnd: 1418
    functionName: g_sequence_iter_next
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - node_get_next
    linkageType: ''
    returnType: GSequenceIter*
    signature: 'GSequenceIter *g_sequence_iter_next (GSequenceIter *iter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gsequence.c:1462,1
    - Dst: g_sequence_get_length
      Src: /src/glib/glib/gsequence.c:1464,1
    - Dst: node_get_pos
      Src: /src/glib/glib/gsequence.c:1466,1
    - Dst: node_get_by_pos
      Src: /src/glib/glib/gsequence.c:1473,1
    - Dst: get_sequence
      Src: /src/glib/glib/gsequence.c:1464,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1474
      start: 1455
    functionDepth: 0
    functionLinenumber: 1455
    functionLinenumberEnd: 1474
    functionName: g_sequence_iter_move
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_sequence_get_length
    - node_get_by_pos
    - node_get_pos
    - get_sequence
    linkageType: ''
    returnType: GSequenceIter*
    signature: 'GSequenceIter *g_sequence_iter_move (GSequenceIter *iter, gint delta) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gsequence.c:1493,1
    - Dst: g_sequence_iter_is_end
      Src: /src/glib/glib/gsequence.c:1494,1
    - Dst: g_sequence_iter_is_end
      Src: /src/glib/glib/gsequence.c:1493,1
    - Dst: g_sequence_iter_get_position
      Src: /src/glib/glib/gsequence.c:1499,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gsequence.c:1494,1
    - Dst: g_sequence_iter_get_position
      Src: /src/glib/glib/gsequence.c:1500,1
    - Dst: node_get_next
      Src: /src/glib/glib/gsequence.c:1513,1
    - Dst: g_sequence_move
      Src: /src/glib/glib/gsequence.c:1520,1
    - Dst: g_sequence_move
      Src: /src/glib/glib/gsequence.c:1521,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - GSequenceIter*
    - GSequenceIter*
    constantsTouched: []
    func_position:
      end: 1522
      start: 1486
    functionDepth: 0
    functionLinenumber: 1486
    functionLinenumberEnd: 1522
    functionName: g_sequence_swap
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - g_sequence_iter_get_position
    - node_get_next
    - g_sequence_iter_is_end
    - g_sequence_move
    linkageType: ''
    returnType: void
    signature: 'void g_sequence_swap (GSequenceIter *a, GSequenceIter *b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find_root
      Src: /src/glib/glib/gsequence.c:1721,1
    - Dst: g_assert
      Src: /src/glib/glib/gsequence.c:1734,1
    - Dst: N_NODES
      Src: /src/glib/glib/gsequence.c:1723,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1738
      start: 1715
    functionDepth: 0
    functionLinenumber: 1715
    functionLinenumberEnd: 1738
    functionName: node_get_by_pos
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - g_assert
    - N_NODES
    - find_root
    linkageType: ''
    returnType: GSequenceNode*
    signature: 'static GSequenceNode *node_get_by_pos (GSequenceNode *node, gint pos) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - node1
    - node2
    - data
    argTypes:
    - GSequenceIter*
    - GSequenceIter*
    - gpointer
    constantsTouched: []
    func_position:
      end: 198
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 198
    functionName: iter_compare
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint
    signature: 'static gint iter_compare (GSequenceIter *node1, GSequenceIter *node2,
      gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gsequence.c:419,1
    - Dst: check_seq_access
      Src: /src/glib/glib/gsequence.c:421,1
    - Dst: node_insert_before
      Src: /src/glib/glib/gsequence.c:424,1
    - Dst: node_new
      Src: /src/glib/glib/gsequence.c:423,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 427
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 427
    functionName: g_sequence_append
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - node_insert_before
    - g_return_val_if_fail
    - node_new
    - check_seq_access
    linkageType: ''
    returnType: GSequenceIter*
    signature: 'GSequenceIter *g_sequence_append (GSequence *seq, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gsequence.c:1165,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gsequence.c:1166,1
    - Dst: is_end
      Src: /src/glib/glib/gsequence.c:1166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GSequenceIter*
    constantsTouched: []
    func_position:
      end: 1169
      start: 1162
    functionDepth: 0
    functionLinenumber: 1162
    functionLinenumberEnd: 1169
    functionName: g_sequence_get
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - is_end
    - g_return_val_if_fail
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_sequence_get (GSequenceIter *iter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NODE_RIGHT_CHILD
      Src: /src/glib/glib/gsequence.c:1657,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1667
      start: 1644
    functionDepth: 0
    functionLinenumber: 1644
    functionLinenumberEnd: 1667
    functionName: node_get_next
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - NODE_RIGHT_CHILD
    linkageType: ''
    returnType: GSequenceNode*
    signature: 'static GSequenceNode *node_get_next (GSequenceNode *node) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find_root
      Src: /src/glib/glib/gsequence.c:1784,1
    - Dst: node_get_next
      Src: /src/glib/glib/gsequence.c:1813,1
    - Dst: iter_cmp
      Src: /src/glib/glib/gsequence.c:1796,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1816
      start: 1774
    functionDepth: 0
    functionLinenumber: 1774
    functionLinenumberEnd: 1816
    functionName: node_find_closest
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - iter_cmp
    - node_get_next
    - find_root
    linkageType: ''
    returnType: GSequenceNode*
    signature: 'static GSequenceNode *node_find_closest (GSequenceNode *haystack,
      GSequenceNode *needle, GSequenceNode *end, GSequenceIterCompareFunc iter_cmp,
      gpointer cmp_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: real_node_free
      Src: /src/glib/glib/gsequence.c:1832,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gsequence.c:1838,1
    - Dst: real_node_free
      Src: /src/glib/glib/gsequence.c:1833,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - node
    - seq
    argTypes:
    - GSequenceNode*
    - GSequence*
    constantsTouched: []
    func_position:
      end: 1840
      start: 1826
    functionDepth: 0
    functionLinenumber: 1826
    functionLinenumberEnd: 1840
    functionName: real_node_free
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - real_node_free
    linkageType: ''
    returnType: void
    signature: 'static void real_node_free (GSequenceNode *node, GSequence *seq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: N_NODES
      Src: /src/glib/glib/gsequence.c:1856,1
    - Dst: N_NODES
      Src: /src/glib/glib/gsequence.c:1857,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - GSequenceNode*
    constantsTouched: []
    func_position:
      end: 1860
      start: 1851
    functionDepth: 0
    functionLinenumber: 1851
    functionLinenumberEnd: 1860
    functionName: node_update_fields
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - N_NODES
    linkageType: ''
    returnType: void
    signature: 'static void node_update_fields (GSequenceNode *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: node_update_fields_deep
      Src: /src/glib/glib/gsequence.c:2001,1
    - Dst: get_priority
      Src: /src/glib/glib/gsequence.c:2003,1
    - Dst: rotate_down
      Src: /src/glib/glib/gsequence.c:2006,1
    - Dst: get_priority
      Src: /src/glib/glib/gsequence.c:2003,1
    - Dst: node_rotate
      Src: /src/glib/glib/gsequence.c:2004,1
    - Dst: get_priority
      Src: /src/glib/glib/gsequence.c:2006,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - node
    - new
    argTypes:
    - GSequenceNode*
    - GSequenceNode*
    constantsTouched: []
    func_position:
      end: 2007
      start: 1990
    functionDepth: 0
    functionLinenumber: 1990
    functionLinenumberEnd: 2007
    functionName: node_insert_before
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - node_update_fields_deep
    - rotate_down
    - node_rotate
    - get_priority
    linkageType: ''
    returnType: void
    signature: 'static void node_insert_before (GSequenceNode *node, GSequenceNode
      *new) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NODE_LEFT_CHILD
      Src: /src/glib/glib/gsequence.c:1682,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1692
      start: 1669
    functionDepth: 0
    functionLinenumber: 1669
    functionLinenumberEnd: 1692
    functionName: node_get_prev
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - NODE_LEFT_CHILD
    linkageType: ''
    returnType: GSequenceNode*
    signature: 'static GSequenceNode *node_get_prev (GSequenceNode *node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NODE_RIGHT_CHILD
      Src: /src/glib/glib/gsequence.c:1706,1
    - Dst: N_NODES
      Src: /src/glib/glib/gsequence.c:1707,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - node
    argTypes:
    - GSequenceNode*
    constantsTouched: []
    func_position:
      end: 1713
      start: 1696
    functionDepth: 0
    functionLinenumber: 1696
    functionLinenumberEnd: 1713
    functionName: node_get_pos
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - NODE_RIGHT_CHILD
    - N_NODES
    linkageType: ''
    returnType: gint
    signature: 'static gint node_get_pos (GSequenceNode *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_root
      Src: /src/glib/glib/gsequence.c:1821,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GSequenceNode*
    constantsTouched: []
    func_position:
      end: 1824
      start: 1818
    functionDepth: 0
    functionLinenumber: 1818
    functionLinenumberEnd: 1824
    functionName: node_get_length
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - find_root
    linkageType: ''
    returnType: gint
    signature: 'static gint node_get_length (GSequenceNode *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_root
      Src: /src/glib/glib/gsequence.c:1846,1
    - Dst: real_node_free
      Src: /src/glib/glib/gsequence.c:1848,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - node
    - seq
    argTypes:
    - GSequenceNode*
    - GSequence*
    constantsTouched: []
    func_position:
      end: 1849
      start: 1842
    functionDepth: 0
    functionLinenumber: 1842
    functionLinenumberEnd: 1849
    functionName: node_free
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - real_node_free
    - find_root
    linkageType: ''
    returnType: void
    signature: 'static void node_free (GSequenceNode *node, GSequence *seq) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gsequence.c:1867,1
    - Dst: g_assert
      Src: /src/glib/glib/gsequence.c:1885,1
    - Dst: g_assert
      Src: /src/glib/glib/gsequence.c:1910,1
    - Dst: g_assert
      Src: /src/glib/glib/gsequence.c:1868,1
    - Dst: NODE_LEFT_CHILD
      Src: /src/glib/glib/gsequence.c:1870,1
    - Dst: node_update_fields
      Src: /src/glib/glib/gsequence.c:1921,1
    - Dst: node_update_fields
      Src: /src/glib/glib/gsequence.c:1922,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 1
    argNames:
    - node
    argTypes:
    - GSequenceNode*
    constantsTouched: []
    func_position:
      end: 1923
      start: 1862
    functionDepth: 0
    functionLinenumber: 1862
    functionLinenumberEnd: 1923
    functionName: node_rotate
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - g_assert
    - NODE_LEFT_CHILD
    - node_update_fields
    linkageType: ''
    returnType: void
    signature: 'static void node_rotate (GSequenceNode *node) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rotate_down
      Src: /src/glib/glib/gsequence.c:2012,1
    - Dst: NODE_LEFT_CHILD
      Src: /src/glib/glib/gsequence.c:2016,1
    - Dst: node_update_fields_deep
      Src: /src/glib/glib/gsequence.c:2020,1
    - Dst: NODE_RIGHT_CHILD
      Src: /src/glib/glib/gsequence.c:2014,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - node
    argTypes:
    - GSequenceNode*
    constantsTouched: []
    func_position:
      end: 2023
      start: 2009
    functionDepth: 0
    functionLinenumber: 2009
    functionLinenumberEnd: 2023
    functionName: node_unlink
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - rotate_down
    - NODE_LEFT_CHILD
    - NODE_RIGHT_CHILD
    - node_update_fields_deep
    linkageType: ''
    returnType: void
    signature: 'static void node_unlink (GSequenceNode *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gsequence.c:1142,1
    - Dst: get_sequence
      Src: /src/glib/glib/gsequence.c:1144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1137
    functionDepth: 0
    functionLinenumber: 1137
    functionLinenumberEnd: 1150
    functionName: g_sequence_iter_get_sequence
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - get_sequence
    linkageType: ''
    returnType: GSequence*
    signature: 'GSequence *g_sequence_iter_get_sequence (GSequenceIter *iter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gsequence.c:1259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1262
    functionName: g_sequence_get_end_iter
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: GSequenceIter*
    signature: 'GSequenceIter *g_sequence_get_end_iter (GSequence *seq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gsequence.c:1334,1
    - Dst: node_unlink
      Src: /src/glib/glib/gsequence.c:1341,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gsequence.c:1336,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gsequence.c:1335,1
    - Dst: is_end
      Src: /src/glib/glib/gsequence.c:1336,1
    - Dst: node_insert_before
      Src: /src/glib/glib/gsequence.c:1342,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - GSequenceIter*
    - GSequenceIter*
    constantsTouched: []
    func_position:
      end: 1343
      start: 1330
    functionDepth: 0
    functionLinenumber: 1330
    functionLinenumberEnd: 1343
    functionName: g_sequence_move
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - is_end
    - node_unlink
    - node_insert_before
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_sequence_move (GSequenceIter *src, GSequenceIter *dest) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gsequence.c:128,1
    - Dst: g_warning
      Src: /src/glib/glib/gsequence.c:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - seq
    argTypes:
    - GSequence*
    constantsTouched: []
    func_position:
      end: 133
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 133
    functionName: check_seq_access
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - G_UNLIKELY
    - g_warning
    linkageType: ''
    returnType: void
    signature: 'static void check_seq_access (GSequence *seq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - seq
    - iter
    argTypes:
    - GSequence*
    - GSequenceIter*
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: seq_is_end
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean seq_is_end (GSequence *seq, GSequenceIter *iter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/glib/gsequence.c:219,1
    - Dst: node_new
      Src: /src/glib/glib/gsequence.c:222,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 229
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 229
    functionName: g_sequence_new
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - node_new
    - g_new
    linkageType: ''
    returnType: GSequence*
    signature: 'GSequence *g_sequence_new (GDestroyNotify data_destroy) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: check_seq_access
      Src: /src/glib/glib/gsequence.c:571,1
    - Dst: node_get_first
      Src: /src/glib/glib/gsequence.c:600,1
    - Dst: node_get_first
      Src: /src/glib/glib/gsequence.c:611,1
    - Dst: node_join
      Src: /src/glib/glib/gsequence.c:615,1
    - Dst: node_join
      Src: /src/glib/glib/gsequence.c:618,1
    - Dst: check_seq_access
      Src: /src/glib/glib/gsequence.c:574,1
    - Dst: node_cut
      Src: /src/glib/glib/gsequence.c:602,1
    - Dst: get_sequence
      Src: /src/glib/glib/gsequence.c:573,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gsequence.c:568,1
    - Dst: check_seq_access
      Src: /src/glib/glib/gsequence.c:579,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gsequence.c:582,1
    - Dst: g_sequence_iter_compare
      Src: /src/glib/glib/gsequence.c:589,1
    - Dst: g_sequence_iter_compare
      Src: /src/glib/glib/gsequence.c:594,1
    - Dst: node_cut
      Src: /src/glib/glib/gsequence.c:604,1
    - Dst: node_join
      Src: /src/glib/glib/gsequence.c:607,1
    - Dst: node_cut
      Src: /src/glib/glib/gsequence.c:613,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gsequence.c:567,1
    - Dst: get_sequence
      Src: /src/glib/glib/gsequence.c:570,1
    - Dst: get_sequence
      Src: /src/glib/glib/gsequence.c:578,1
    - Dst: g_sequence_iter_compare
      Src: /src/glib/glib/gsequence.c:595,1
    - Dst: node_free
      Src: /src/glib/glib/gsequence.c:622,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 3
    argNames:
    - dest
    - begin
    - end
    argTypes:
    - GSequenceIter*
    - GSequenceIter*
    - GSequenceIter*
    constantsTouched: []
    func_position:
      end: 624
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 624
    functionName: g_sequence_move_range
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - check_seq_access
    - g_return_if_fail
    - g_sequence_iter_compare
    - node_cut
    - node_get_first
    - node_join
    - node_free
    - get_sequence
    linkageType: ''
    returnType: void
    signature: 'void g_sequence_move_range (GSequenceIter *dest, GSequenceIter *begin,
      GSequenceIter *end) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gsequence.c:689,1
    - Dst: check_seq_access
      Src: /src/glib/glib/gsequence.c:695,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gsequence.c:690,1
    - Dst: g_sequence_insert_sorted_iter
      Src: /src/glib/glib/gsequence.c:697,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 698
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 698
    functionName: g_sequence_insert_sorted
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - g_sequence_insert_sorted_iter
    - g_return_val_if_fail
    - check_seq_access
    linkageType: ''
    returnType: GSequenceIter*
    signature: 'GSequenceIter *g_sequence_insert_sorted (GSequence *seq, gpointer
      data, GCompareDataFunc cmp_func, gpointer cmp_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gsequence.c:980,1
    - Dst: g_sequence_new
      Src: /src/glib/glib/gsequence.c:999,1
    - Dst: check_seq_access
      Src: /src/glib/glib/gsequence.c:983,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gsequence.c:981,1
    - Dst: g_sequence_append
      Src: /src/glib/glib/gsequence.c:1002,1
    - Dst: node_insert_sorted
      Src: /src/glib/glib/gsequence.c:1004,1
    - Dst: g_sequence_free
      Src: /src/glib/glib/gsequence.c:1007,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 1012
    functionName: g_sequence_insert_sorted_iter
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - g_sequence_append
    - g_return_val_if_fail
    - g_sequence_new
    - check_seq_access
    - g_sequence_free
    - node_insert_sorted
    linkageType: ''
    returnType: GSequenceIter*
    signature: 'GSequenceIter *g_sequence_insert_sorted_iter (GSequence *seq, gpointer
      data, GSequenceIterCompareFunc iter_cmp, gpointer cmp_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1570
      start: 1563
    functionDepth: 0
    functionLinenumber: 1563
    functionLinenumberEnd: 1570
    functionName: find_root
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GSequenceNode*
    signature: 'static GSequenceNode *find_root (GSequenceNode *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node_get_last
      Src: /src/glib/glib/gsequence.c:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: get_sequence
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - node_get_last
    linkageType: ''
    returnType: GSequence*
    signature: 'static GSequence *get_sequence (GSequenceNode *node) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GSequenceIter*
    constantsTouched: []
    func_position:
      end: 169
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 169
    functionName: is_end
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_end (GSequenceIter *iter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/glib/gsequence.c:1575,1
    - Dst: make_priority
      Src: /src/glib/glib/gsequence.c:1610,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/gsequence.c:1605,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1617
      start: 1572
    functionDepth: 0
    functionLinenumber: 1572
    functionLinenumberEnd: 1617
    functionName: node_new
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - make_priority
    - GPOINTER_TO_UINT
    - g_slice_new0
    linkageType: ''
    returnType: GSequenceNode*
    signature: 'static GSequenceNode *node_new (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node_find_closest
      Src: /src/glib/glib/gsequence.c:2034,1
    - Dst: node_unlink
      Src: /src/glib/glib/gsequence.c:2036,1
    - Dst: node_insert_before
      Src: /src/glib/glib/gsequence.c:2038,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 5
    argNames:
    - node
    - new
    - end
    - iter_cmp
    - cmp_data
    argTypes:
    - GSequenceNode*
    - GSequenceNode*
    - GSequenceNode*
    - GSequenceIterCompareFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 2039
      start: 2025
    functionDepth: 0
    functionLinenumber: 2025
    functionLinenumberEnd: 2039
    functionName: node_insert_sorted
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - node_unlink
    - node_insert_before
    - node_find_closest
    linkageType: ''
    returnType: void
    signature: 'static void node_insert_sorted (GSequenceNode *node, GSequenceNode
      *new, GSequenceNode *end, GSequenceIterCompareFunc iter_cmp, gpointer cmp_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gsequence.c:446,1
    - Dst: node_insert_before
      Src: /src/glib/glib/gsequence.c:453,1
    - Dst: node_new
      Src: /src/glib/glib/gsequence.c:450,1
    - Dst: node_get_first
      Src: /src/glib/glib/gsequence.c:451,1
    - Dst: check_seq_access
      Src: /src/glib/glib/gsequence.c:448,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 456
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 456
    functionName: g_sequence_prepend
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - node_insert_before
    - g_return_val_if_fail
    - node_new
    - check_seq_access
    - node_get_first
    linkageType: ''
    returnType: GSequenceIter*
    signature: 'GSequenceIter *g_sequence_prepend (GSequence *seq, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_sequence
      Src: /src/glib/glib/gsequence.c:534,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gsequence.c:536,1
    - Dst: g_sequence_move_range
      Src: /src/glib/glib/gsequence.c:539,1
    - Dst: get_sequence
      Src: /src/glib/glib/gsequence.c:535,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - GSequenceIter*
    - GSequenceIter*
    constantsTouched: []
    func_position:
      end: 540
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 540
    functionName: g_sequence_remove_range
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - g_sequence_move_range
    - get_sequence
    linkageType: ''
    returnType: void
    signature: 'void g_sequence_remove_range (GSequenceIter *begin, GSequenceIter
      *end) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_seq_access
      Src: /src/glib/glib/gsequence.c:652,1
    - Dst: g_sequence_sort_iter
      Src: /src/glib/glib/gsequence.c:654,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - seq
    - cmp_func
    - cmp_data
    argTypes:
    - GSequence*
    - GCompareDataFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 655
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 655
    functionName: g_sequence_sort
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - g_sequence_sort_iter
    - check_seq_access
    linkageType: ''
    returnType: void
    signature: 'void g_sequence_sort (GSequence *seq, GCompareDataFunc cmp_func, gpointer
      cmp_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gsequence.c:909,1
    - Dst: seq_is_end
      Src: /src/glib/glib/gsequence.c:913,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gsequence.c:913,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gsequence.c:910,1
    - Dst: get_sequence
      Src: /src/glib/glib/gsequence.c:912,1
    - Dst: check_seq_access
      Src: /src/glib/glib/gsequence.c:915,1
    - Dst: node_get_next
      Src: /src/glib/glib/gsequence.c:922,1
    - Dst: node_get_prev
      Src: /src/glib/glib/gsequence.c:923,1
    - Dst: iter_cmp
      Src: /src/glib/glib/gsequence.c:925,1
    - Dst: is_end
      Src: /src/glib/glib/gsequence.c:928,1
    - Dst: g_sequence_new
      Src: /src/glib/glib/gsequence.c:933,1
    - Dst: node_unlink
      Src: /src/glib/glib/gsequence.c:936,1
    - Dst: iter_cmp
      Src: /src/glib/glib/gsequence.c:928,1
    - Dst: node_insert_sorted
      Src: /src/glib/glib/gsequence.c:939,1
    - Dst: g_sequence_free
      Src: /src/glib/glib/gsequence.c:942,1
    - Dst: node_insert_before
      Src: /src/glib/glib/gsequence.c:937,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 3
    argNames:
    - iter
    - iter_cmp
    - cmp_data
    argTypes:
    - GSequenceIter*
    - GSequenceIterCompareFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 945
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 945
    functionName: g_sequence_sort_changed_iter
    functionSourceFile: /src/glib/glib/gsequence.c
    functionUses: []
    functionsReached:
    - node_unlink
    - node_insert_before
    - g_sequence_new
    - check_seq_access
    - g_return_if_fail
    - node_get_prev
    - is_end
    - seq_is_end
    - g_sequence_free
    - iter_cmp
    - node_get_next
    - node_insert_sorted
    - get_sequence
    linkageType: ''
    returnType: void
    signature: 'void g_sequence_sort_changed_iter (GSequenceIter *iter, GSequenceIterCompareFunc
      iter_cmp, gpointer cmp_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_LIKELY
      Src: /src/glib/glib/gmem.c:95,1
    - Dst: TRACE
      Src: /src/glib/glib/gmem.c:100,1
    - Dst: malloc
      Src: /src/glib/glib/gmem.c:99,1
    - Dst: g_error
      Src: /src/glib/glib/gmem.c:104,1
    - Dst: GLIB_MEM_ALLOC
      Src: /src/glib/glib/gmem.c:100,1
    - Dst: TRACE
      Src: /src/glib/glib/gmem.c:108,1
    - Dst: GLIB_MEM_ALLOC
      Src: /src/glib/glib/gmem.c:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - n_bytes
    argTypes:
    - gsize
    constantsTouched: []
    func_position:
      end: 111
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 111
    functionName: g_malloc
    functionSourceFile: /src/glib/glib/gmem.c
    functionUses: []
    functionsReached:
    - malloc
    - TRACE
    - GLIB_MEM_ALLOC
    - G_LIKELY
    - g_error
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_malloc (gsize n_bytes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_sized
      Src: /src/glib/glib/gmem.c:235,1
    - Dst: free
      Src: /src/glib/glib/gmem.c:237,1
    - Dst: GLIB_MEM_FREE
      Src: /src/glib/glib/gmem.c:239,1
    - Dst: TRACE
      Src: /src/glib/glib/gmem.c:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - mem
    - size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 240
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 240
    functionName: g_free_sized
    functionSourceFile: /src/glib/glib/gmem.c
    functionUses: []
    functionsReached:
    - free_sized
    - free
    - GLIB_MEM_FREE
    - TRACE
    linkageType: ''
    returnType: void
    signature: 'void g_free_sized (void *mem, size_t size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LIKELY
      Src: /src/glib/glib/gmem.c:369,1
    - Dst: GLIB_MEM_REALLOC
      Src: /src/glib/glib/gmem.c:377,1
    - Dst: free
      Src: /src/glib/glib/gmem.c:374,1
    - Dst: realloc
      Src: /src/glib/glib/gmem.c:370,1
    - Dst: TRACE
      Src: /src/glib/glib/gmem.c:377,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - mem
    - n_bytes
    argTypes:
    - gpointer
    - gsize
    constantsTouched: []
    func_position:
      end: 380
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 380
    functionName: g_try_realloc
    functionSourceFile: /src/glib/glib/gmem.c
    functionUses: []
    functionsReached:
    - GLIB_MEM_REALLOC
    - TRACE
    - free
    - G_LIKELY
    - realloc
    linkageType: ''
    returnType: gpointer
    signature: "gpointer g_try_realloc (gpointer mem,\t gsize n_bytes) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SIZE_OVERFLOWS
      Src: /src/glib/glib/gmem.c:483,1
    - Dst: g_try_malloc
      Src: /src/glib/glib/gmem.c:486,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - n_blocks
    - n_block_bytes
    argTypes:
    - gsize
    - gsize
    constantsTouched: []
    func_position:
      end: 487
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 487
    functionName: g_try_malloc_n
    functionSourceFile: /src/glib/glib/gmem.c
    functionUses: []
    functionsReached:
    - SIZE_OVERFLOWS
    - g_try_malloc
    linkageType: ''
    returnType: gpointer
    signature: "gpointer g_try_malloc_n (gsize n_blocks,\t\tgsize n_block_bytes) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_warning
      Src: /src/glib/glib/gmem.c:568,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - vtable
    argTypes:
    - GMemVTable*
    constantsTouched: []
    func_position:
      end: 569
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 569
    functionName: g_mem_set_vtable
    functionSourceFile: /src/glib/glib/gmem.c
    functionUses: []
    functionsReached:
    - g_warning
    linkageType: ''
    returnType: void
    signature: 'void g_mem_set_vtable (GMemVTable *vtable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LIKELY
      Src: /src/glib/glib/gmem.c:317,1
    - Dst: GLIB_MEM_ALLOC
      Src: /src/glib/glib/gmem.c:322,1
    - Dst: TRACE
      Src: /src/glib/glib/gmem.c:322,1
    - Dst: malloc
      Src: /src/glib/glib/gmem.c:318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - n_bytes
    argTypes:
    - gsize
    constantsTouched: []
    func_position:
      end: 325
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 325
    functionName: g_try_malloc
    functionSourceFile: /src/glib/glib/gmem.c
    functionUses: []
    functionsReached:
    - GLIB_MEM_ALLOC
    - malloc
    - G_LIKELY
    - TRACE
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_try_malloc (gsize n_bytes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LIKELY
      Src: /src/glib/glib/gmem.c:342,1
    - Dst: calloc
      Src: /src/glib/glib/gmem.c:343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - n_bytes
    argTypes:
    - gsize
    constantsTouched: []
    func_position:
      end: 348
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 348
    functionName: g_try_malloc0
    functionSourceFile: /src/glib/glib/gmem.c
    functionUses: []
    functionsReached:
    - calloc
    - G_LIKELY
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_try_malloc0 (gsize n_bytes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SIZE_OVERFLOWS
      Src: /src/glib/glib/gmem.c:403,1
    - Dst: g_error
      Src: /src/glib/glib/gmem.c:405,1
    - Dst: g_malloc
      Src: /src/glib/glib/gmem.c:409,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - n_blocks
    - n_block_bytes
    argTypes:
    - gsize
    - gsize
    constantsTouched: []
    func_position:
      end: 410
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 410
    functionName: g_malloc_n
    functionSourceFile: /src/glib/glib/gmem.c
    functionUses: []
    functionsReached:
    - g_error
    - SIZE_OVERFLOWS
    - g_malloc
    linkageType: ''
    returnType: gpointer
    signature: "gpointer g_malloc_n (gsize n_blocks,\t gsize n_block_bytes) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SIZE_OVERFLOWS
      Src: /src/glib/glib/gmem.c:459,1
    - Dst: g_realloc
      Src: /src/glib/glib/gmem.c:465,1
    - Dst: g_error
      Src: /src/glib/glib/gmem.c:461,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - mem
    - n_blocks
    - n_block_bytes
    argTypes:
    - gpointer
    - gsize
    - gsize
    constantsTouched: []
    func_position:
      end: 466
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 466
    functionName: g_realloc_n
    functionSourceFile: /src/glib/glib/gmem.c
    functionUses: []
    functionsReached:
    - g_error
    - SIZE_OVERFLOWS
    - g_realloc
    linkageType: ''
    returnType: gpointer
    signature: "gpointer g_realloc_n (gpointer mem,\t gsize n_blocks,\t gsize n_block_bytes) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gmem.c:627,1
    - Dst: SIZE_OVERFLOWS
      Src: /src/glib/glib/gmem.c:639,1
    - Dst: g_error
      Src: /src/glib/glib/gmem.c:635,1
    - Dst: g_error
      Src: /src/glib/glib/gmem.c:629,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gmem.c:633,1
    - Dst: g_error
      Src: /src/glib/glib/gmem.c:641,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gmem.c:647,1
    - Dst: TRACE
      Src: /src/glib/glib/gmem.c:649,1
    - Dst: GLIB_MEM_ALLOC
      Src: /src/glib/glib/gmem.c:649,1
    - Dst: posix_memalign
      Src: /src/glib/glib/gmem.c:664,1
    - Dst: memalign
      Src: /src/glib/glib/gmem.c:682,1
    - Dst: g_error
      Src: /src/glib/glib/gmem.c:673,1
    - Dst: aligned_alloc
      Src: /src/glib/glib/gmem.c:680,1
    - Dst: g_error
      Src: /src/glib/glib/gmem.c:691,1
    - Dst: GLIB_MEM_ALLOC
      Src: /src/glib/glib/gmem.c:687,1
    - Dst: TRACE
      Src: /src/glib/glib/gmem.c:687,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 3
    argNames:
    - n_blocks
    - n_block_bytes
    - alignment
    argTypes:
    - gsize
    - gsize
    - gsize
    constantsTouched: []
    func_position:
      end: 695
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 695
    functionName: g_aligned_alloc
    functionSourceFile: /src/glib/glib/gmem.c
    functionUses: []
    functionsReached:
    - TRACE
    - aligned_alloc
    - GLIB_MEM_ALLOC
    - memalign
    - SIZE_OVERFLOWS
    - G_UNLIKELY
    - g_error
    - posix_memalign
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_aligned_alloc (gsize n_blocks, gsize n_block_bytes, gsize
      alignment) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/glib/glib/gmem.c:207,1
    - Dst: GLIB_MEM_FREE
      Src: /src/glib/glib/gmem.c:208,1
    - Dst: TRACE
      Src: /src/glib/glib/gmem.c:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 209
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 209
    functionName: (g_free)
    functionSourceFile: /src/glib/glib/gmem.c
    functionUses: []
    functionsReached:
    - free
    - GLIB_MEM_FREE
    - TRACE
    linkageType: ''
    returnType: void
    signature: 'void (g_free) (gpointer mem) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: destroy
      Src: /src/glib/glib/gmem.c:299,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pp
    - destroy
    argTypes:
    - gpointer*
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 301
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 301
    functionName: g_clear_pointer
    functionSourceFile: /src/glib/glib/gmem.c
    functionUses: []
    functionsReached:
    - destroy
    linkageType: ''
    returnType: void
    signature: 'void g_clear_pointer (gpointer *pp, GDestroyNotify destroy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SIZE_OVERFLOWS
      Src: /src/glib/glib/gmem.c:430,1
    - Dst: g_error
      Src: /src/glib/glib/gmem.c:432,1
    - Dst: g_malloc0
      Src: /src/glib/glib/gmem.c:436,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - n_blocks
    - n_block_bytes
    argTypes:
    - gsize
    - gsize
    constantsTouched: []
    func_position:
      end: 437
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 437
    functionName: g_malloc0_n
    functionSourceFile: /src/glib/glib/gmem.c
    functionUses: []
    functionsReached:
    - g_error
    - SIZE_OVERFLOWS
    - g_malloc0
    linkageType: ''
    returnType: gpointer
    signature: "gpointer g_malloc0_n (gsize n_blocks,\t gsize n_block_bytes) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_warning
      Src: /src/glib/glib/gmem.c:594,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 595
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 595
    functionName: g_mem_profile
    functionSourceFile: /src/glib/glib/gmem.c
    functionUses: []
    functionsReached:
    - g_warning
    linkageType: ''
    returnType: void
    signature: 'void g_mem_profile (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aligned_free
      Src: /src/glib/glib/gmem.c:735,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 736
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 736
    functionName: g_aligned_free
    functionSourceFile: /src/glib/glib/gmem.c
    functionUses: []
    functionsReached:
    - aligned_free
    linkageType: ''
    returnType: void
    signature: 'void g_aligned_free (gpointer mem) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_LIKELY
      Src: /src/glib/glib/gmem.c:168,1
    - Dst: realloc
      Src: /src/glib/glib/gmem.c:170,1
    - Dst: GLIB_MEM_REALLOC
      Src: /src/glib/glib/gmem.c:171,1
    - Dst: TRACE
      Src: /src/glib/glib/gmem.c:171,1
    - Dst: g_error
      Src: /src/glib/glib/gmem.c:175,1
    - Dst: free
      Src: /src/glib/glib/gmem.c:179,1
    - Dst: TRACE
      Src: /src/glib/glib/gmem.c:181,1
    - Dst: GLIB_MEM_REALLOC
      Src: /src/glib/glib/gmem.c:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - mem
    - n_bytes
    argTypes:
    - gpointer
    - gsize
    constantsTouched: []
    func_position:
      end: 184
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 184
    functionName: g_realloc
    functionSourceFile: /src/glib/glib/gmem.c
    functionUses: []
    functionsReached:
    - GLIB_MEM_REALLOC
    - TRACE
    - free
    - G_LIKELY
    - realloc
    - g_error
    linkageType: ''
    returnType: gpointer
    signature: "gpointer g_realloc (gpointer mem,\t gsize n_bytes) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_aligned_alloc
      Src: /src/glib/glib/gmem.c:716,1
    - Dst: memset
      Src: /src/glib/glib/gmem.c:719,1
    - Dst: G_LIKELY
      Src: /src/glib/glib/gmem.c:718,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - n_blocks
    - n_block_bytes
    - alignment
    argTypes:
    - gsize
    - gsize
    - gsize
    constantsTouched: []
    func_position:
      end: 722
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 722
    functionName: g_aligned_alloc0
    functionSourceFile: /src/glib/glib/gmem.c
    functionUses: []
    functionsReached:
    - g_aligned_alloc
    - memset
    - G_LIKELY
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_aligned_alloc0 (gsize n_blocks, gsize n_block_bytes, gsize
      alignment) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_aligned_sized
      Src: /src/glib/glib/gmem.c:762,1
    - Dst: aligned_free
      Src: /src/glib/glib/gmem.c:764,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - mem
    - alignment
    - size
    argTypes:
    - void*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 766
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 766
    functionName: g_aligned_free_sized
    functionSourceFile: /src/glib/glib/gmem.c
    functionUses: []
    functionsReached:
    - aligned_free
    - free_aligned_sized
    linkageType: ''
    returnType: void
    signature: 'void g_aligned_free_sized (void *mem, size_t alignment, size_t size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 551
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 551
    functionName: g_mem_is_system_malloc
    functionSourceFile: /src/glib/glib/gmem.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_mem_is_system_malloc (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_LIKELY
      Src: /src/glib/glib/gmem.c:128,1
    - Dst: g_error
      Src: /src/glib/glib/gmem.c:137,1
    - Dst: GLIB_MEM_ALLOC
      Src: /src/glib/glib/gmem.c:133,1
    - Dst: calloc
      Src: /src/glib/glib/gmem.c:132,1
    - Dst: TRACE
      Src: /src/glib/glib/gmem.c:133,1
    - Dst: TRACE
      Src: /src/glib/glib/gmem.c:141,1
    - Dst: GLIB_MEM_ALLOC
      Src: /src/glib/glib/gmem.c:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - n_bytes
    argTypes:
    - gsize
    constantsTouched: []
    func_position:
      end: 144
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 144
    functionName: g_malloc0
    functionSourceFile: /src/glib/glib/gmem.c
    functionUses: []
    functionsReached:
    - TRACE
    - GLIB_MEM_ALLOC
    - calloc
    - G_LIKELY
    - g_error
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_malloc0 (gsize n_bytes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SIZE_OVERFLOWS
      Src: /src/glib/glib/gmem.c:504,1
    - Dst: g_try_malloc0
      Src: /src/glib/glib/gmem.c:507,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - n_blocks
    - n_block_bytes
    argTypes:
    - gsize
    - gsize
    constantsTouched: []
    func_position:
      end: 508
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 508
    functionName: g_try_malloc0_n
    functionSourceFile: /src/glib/glib/gmem.c
    functionUses: []
    functionsReached:
    - SIZE_OVERFLOWS
    - g_try_malloc0
    linkageType: ''
    returnType: gpointer
    signature: "gpointer g_try_malloc0_n (gsize n_blocks,\t\t gsize n_block_bytes) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SIZE_OVERFLOWS
      Src: /src/glib/glib/gmem.c:527,1
    - Dst: g_try_realloc
      Src: /src/glib/glib/gmem.c:530,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - mem
    - n_blocks
    - n_block_bytes
    argTypes:
    - gpointer
    - gsize
    - gsize
    constantsTouched: []
    func_position:
      end: 531
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 531
    functionName: g_try_realloc_n
    functionSourceFile: /src/glib/glib/gmem.c
    functionUses: []
    functionsReached:
    - g_try_realloc
    - SIZE_OVERFLOWS
    linkageType: ''
    returnType: gpointer
    signature: "gpointer g_try_realloc_n (gpointer mem,\t\t gsize n_blocks,\t\t gsize\
      \ n_block_bytes) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_win32_get_package_installation_directory_of_module
      Src: /src/glib/glib/ggettext.c:63,1
    - Dst: g_free
      Src: /src/glib/glib/ggettext.c:81,1
    - Dst: g_build_filename
      Src: /src/glib/glib/ggettext.c:77,1
    - Dst: strlen
      Src: /src/glib/glib/ggettext.c:71,1
    - Dst: g_win32_locale_filename_from_utf8
      Src: /src/glib/glib/ggettext.c:79,1
    - Dst: g_free
      Src: /src/glib/glib/ggettext.c:82,1
    - Dst: g_strdup
      Src: /src/glib/glib/ggettext.c:88,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 89
    functionName: _glib_get_locale_dir
    functionSourceFile: /src/glib/glib/ggettext.c
    functionUses: []
    functionsReached:
    - g_strdup
    - strlen
    - g_win32_locale_filename_from_utf8
    - g_build_filename
    - g_win32_get_package_installation_directory_of_module
    - g_free
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *_glib_get_locale_dir (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_gettext_initialized
      Src: /src/glib/glib/ggettext.c:154,1
    - Dst: g_dpgettext
      Src: /src/glib/glib/ggettext.c:156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 157
    functionName: glib_pgettext
    functionSourceFile: /src/glib/glib/ggettext.c
    functionUses: []
    functionsReached:
    - ensure_gettext_initialized
    - g_dpgettext
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *glib_pgettext (const gchar *msgctxtid, gsize msgidoffset) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_dgettext
      Src: /src/glib/glib/ggettext.c:220,1
    - Dst: strchr
      Src: /src/glib/glib/ggettext.c:226,1
    - Dst: strlen
      Src: /src/glib/glib/ggettext.c:233,1
    - Dst: g_alloca
      Src: /src/glib/glib/ggettext.c:233,1
    - Dst: strcpy
      Src: /src/glib/glib/ggettext.c:234,1
    - Dst: g_dgettext
      Src: /src/glib/glib/ggettext.c:237,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 249
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 249
    functionName: g_dpgettext
    functionSourceFile: /src/glib/glib/ggettext.c
    functionUses: []
    functionsReached:
    - strlen
    - g_alloca
    - strcpy
    - g_dgettext
    - strchr
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_dpgettext (const gchar *domain, const gchar *msgctxtid,
      gsize msgidoffset) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/glib/ggettext.c:281,1
    - Dst: memcpy
      Src: /src/glib/glib/ggettext.c:288,1
    - Dst: strlen
      Src: /src/glib/glib/ggettext.c:282,1
    - Dst: g_alloca
      Src: /src/glib/glib/ggettext.c:286,1
    - Dst: memcpy
      Src: /src/glib/glib/ggettext.c:290,1
    - Dst: g_dgettext
      Src: /src/glib/glib/ggettext.c:292,1
    - Dst: g_dgettext
      Src: /src/glib/glib/ggettext.c:298,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 309
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 309
    functionName: g_dpgettext2
    functionSourceFile: /src/glib/glib/ggettext.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_alloca
    - strlen
    - g_dgettext
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_dpgettext2 (const gchar *domain, const gchar *msgctxt,
      const gchar *msgid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/ggettext.c:408,1
    - Dst: dgettext
      Src: /src/glib/glib/ggettext.c:411,1
    - Dst: _g_dgettext_should_translate
      Src: /src/glib/glib/ggettext.c:408,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 412
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 412
    functionName: g_dgettext
    functionSourceFile: /src/glib/glib/ggettext.c
    functionUses: []
    functionsReached:
    - dgettext
    - _g_dgettext_should_translate
    - G_UNLIKELY
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_dgettext (const gchar *domain, const gchar *msgid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/ggettext.c:320,1
    - Dst: textdomain
      Src: /src/glib/glib/ggettext.c:324,1
    - Dst: gettext
      Src: /src/glib/glib/ggettext.c:325,1
    - Dst: setlocale
      Src: /src/glib/glib/ggettext.c:327,1
    - Dst: g_once_init_enter
      Src: /src/glib/glib/ggettext.c:320,1
    - Dst: g_win32_getlocale
      Src: /src/glib/glib/ggettext.c:329,1
    - Dst: strcmp
      Src: /src/glib/glib/ggettext.c:346,1
    - Dst: strncmp
      Src: /src/glib/glib/ggettext.c:348,1
    - Dst: strcmp
      Src: /src/glib/glib/ggettext.c:349,1
    - Dst: g_once_init_leave
      Src: /src/glib/glib/ggettext.c:352,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 359
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 359
    functionName: _g_dgettext_should_translate
    functionSourceFile: /src/glib/glib/ggettext.c
    functionUses: []
    functionsReached:
    - g_once_init_leave
    - textdomain
    - g_once_init_enter
    - strcmp
    - setlocale
    - strncmp
    - g_win32_getlocale
    - G_UNLIKELY
    - gettext
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _g_dgettext_should_translate (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/glib/ggettext.c:101,1
    - Dst: bindtextdomain
      Src: /src/glib/glib/ggettext.c:105,1
    - Dst: _glib_get_locale_dir
      Src: /src/glib/glib/ggettext.c:104,1
    - Dst: g_free
      Src: /src/glib/glib/ggettext.c:106,1
    - Dst: bindtextdomain
      Src: /src/glib/glib/ggettext.c:108,1
    - Dst: bind_textdomain_codeset
      Src: /src/glib/glib/ggettext.c:111,1
    - Dst: g_once_init_leave
      Src: /src/glib/glib/ggettext.c:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 115
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 115
    functionName: ensure_gettext_initialized
    functionSourceFile: /src/glib/glib/ggettext.c
    functionUses: []
    functionsReached:
    - g_once_init_leave
    - g_once_init_enter
    - _glib_get_locale_dir
    - bind_textdomain_codeset
    - g_free
    - bindtextdomain
    linkageType: ''
    returnType: void
    signature: 'static void ensure_gettext_initialized (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/glib/glib/ggettext.c:178,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 184
    functionName: g_strip_context
    functionSourceFile: /src/glib/glib/ggettext.c
    functionUses: []
    functionsReached:
    - strchr
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_strip_context (const gchar *msgid, const gchar *msgval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_gettext_initialized
      Src: /src/glib/glib/ggettext.c:130,1
    - Dst: g_dgettext
      Src: /src/glib/glib/ggettext.c:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 133
    functionName: glib_gettext
    functionSourceFile: /src/glib/glib/ggettext.c
    functionUses: []
    functionsReached:
    - ensure_gettext_initialized
    - g_dgettext
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *glib_gettext (const gchar *str) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/ggettext.c:435,1
    - Dst: dcgettext
      Src: /src/glib/glib/ggettext.c:438,1
    - Dst: _g_dgettext_should_translate
      Src: /src/glib/glib/ggettext.c:435,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 439
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 439
    functionName: g_dcgettext
    functionSourceFile: /src/glib/glib/ggettext.c
    functionUses: []
    functionsReached:
    - dcgettext
    - _g_dgettext_should_translate
    - G_UNLIKELY
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_dcgettext (const gchar *domain, const gchar *msgid,
      gint category) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/ggettext.c:466,1
    - Dst: _g_dgettext_should_translate
      Src: /src/glib/glib/ggettext.c:466,1
    - Dst: dngettext
      Src: /src/glib/glib/ggettext.c:469,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 470
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 470
    functionName: g_dngettext
    functionSourceFile: /src/glib/glib/ggettext.c
    functionUses: []
    functionsReached:
    - dngettext
    - _g_dgettext_should_translate
    - G_UNLIKELY
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_dngettext (const gchar *domain, const gchar *msgid,
      const gchar *msgid_plural, gulong n) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: G_STATIC_ASSERT
      Src: /src/glib/glib/gtranslit.c:72,1
    - Dst: get_src_char
      Src: /src/glib/glib/gtranslit.c:85,1
    - Dst: get_length
      Src: /src/glib/glib/gtranslit.c:81,1
    - Dst: get_src_char
      Src: /src/glib/glib/gtranslit.c:74,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 2
    argNames:
    - user_data
    - data
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 96
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 96
    functionName: compare_mapping_entry
    functionSourceFile: /src/glib/glib/gtranslit.c
    functionUses: []
    functionsReached:
    - G_STATIC_ASSERT
    - get_length
    - get_src_char
    linkageType: ''
    returnType: gint
    signature: 'static gint compare_mapping_entry (gconstpointer user_data, gconstpointer
      data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/glib/gtranslit.c:166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - user_data
    - data
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 167
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 167
    functionName: compare_locale_entry
    functionSourceFile: /src/glib/glib/gtranslit.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: gint
    signature: 'static gint compare_locale_entry (gconstpointer user_data, gconstpointer
      data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lookup_in_item
      Src: /src/glib/glib/gtranslit.c:128,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 137
    functionName: lookup_in_chain
    functionSourceFile: /src/glib/glib/gtranslit.c
    functionUses: []
    functionsReached:
    - lookup_in_item
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *lookup_in_chain (const guint8 *chain, const gunichar
      *key, gint *result_len, gint *key_consumed) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcspn
      Src: /src/glib/glib/gtranslit.c:202,1
    - Dst: memcpy
      Src: /src/glib/glib/gtranslit.c:251,1
    - Dst: strcspn
      Src: /src/glib/glib/gtranslit.c:208,1
    - Dst: strcspn
      Src: /src/glib/glib/gtranslit.c:225,1
    - Dst: strcspn
      Src: /src/glib/glib/gtranslit.c:218,1
    - Dst: memcpy
      Src: /src/glib/glib/gtranslit.c:252,1
    - Dst: lookup_item_id_for_one_locale
      Src: /src/glib/glib/gtranslit.c:255,1
    - Dst: memcpy
      Src: /src/glib/glib/gtranslit.c:262,1
    - Dst: memcpy
      Src: /src/glib/glib/gtranslit.c:263,1
    - Dst: lookup_item_id_for_one_locale
      Src: /src/glib/glib/gtranslit.c:266,1
    - Dst: lookup_item_id_for_one_locale
      Src: /src/glib/glib/gtranslit.c:276,1
    - Dst: memcpy
      Src: /src/glib/glib/gtranslit.c:273,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 61
    argCount: 1
    argNames:
    - locale
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 281
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 281
    functionName: lookup_item_id_for_locale
    functionSourceFile: /src/glib/glib/gtranslit.c
    functionUses: []
    functionsReached:
    - lookup_item_id_for_one_locale
    - memcpy
    - strcspn
    linkageType: ''
    returnType: guint
    signature: 'static guint lookup_item_id_for_locale (const gchar *locale) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bsearch
      Src: /src/glib/glib/gtranslit.c:107,1
    - Dst: get_length
      Src: /src/glib/glib/gtranslit.c:113,1
    - Dst: get_ascii_item
      Src: /src/glib/glib/gtranslit.c:115,1
    - Dst: get_length
      Src: /src/glib/glib/gtranslit.c:112,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 116
    functionName: lookup_in_mapping
    functionSourceFile: /src/glib/glib/gtranslit.c
    functionUses: []
    functionsReached:
    - get_length
    - get_ascii_item
    - bsearch
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *lookup_in_mapping (const struct mapping_entry
      *mapping, gint mapping_size, const gunichar *key, gint *result_len, gint *key_consumed) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lookup_in_chain
      Src: /src/glib/glib/gtranslit.c:149,1
    - Dst: lookup_in_mapping
      Src: /src/glib/glib/gtranslit.c:155,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 157
    functionName: lookup_in_item
    functionSourceFile: /src/glib/glib/gtranslit.c
    functionUses: []
    functionsReached:
    - lookup_in_chain
    - lookup_in_mapping
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *lookup_in_item (guint item_id, const gunichar
      *key, gint *result_len, gint *key_consumed) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bsearch
      Src: /src/glib/glib/gtranslit.c:175,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gtranslit.c:175,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - key
    - item_id
    argTypes:
    - gchar*
    - guint*
    constantsTouched: []
    func_position:
      end: 182
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 182
    functionName: lookup_item_id_for_one_locale
    functionSourceFile: /src/glib/glib/gtranslit.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - bsearch
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean lookup_item_id_for_one_locale (const gchar *key, guint
      *item_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/glib/glib/gtranslit.c:294,1
    - Dst: lookup_item_id_for_locale
      Src: /src/glib/glib/gtranslit.c:295,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 300
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 300
    functionName: get_default_item_id
    functionSourceFile: /src/glib/glib/gtranslit.c
    functionUses: []
    functionsReached:
    - setlocale
    - lookup_item_id_for_locale
    linkageType: ''
    returnType: guint
    signature: 'static guint get_default_item_id (void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtranslit.c:337,1
    - Dst: lookup_item_id_for_locale
      Src: /src/glib/glib/gtranslit.c:343,1
    - Dst: g_str_is_ascii
      Src: /src/glib/glib/gtranslit.c:339,1
    - Dst: g_strdup
      Src: /src/glib/glib/gtranslit.c:340,1
    - Dst: get_default_item_id
      Src: /src/glib/glib/gtranslit.c:345,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gtranslit.c:347,1
    - Dst: strlen
      Src: /src/glib/glib/gtranslit.c:347,1
    - Dst: G_STATIC_ASSERT
      Src: /src/glib/glib/gtranslit.c:360,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/gtranslit.c:362,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gtranslit.c:369,1
    - Dst: lookup_in_item
      Src: /src/glib/glib/gtranslit.c:377,1
    - Dst: lookup_in_item
      Src: /src/glib/glib/gtranslit.c:391,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gtranslit.c:396,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gtranslit.c:399,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gtranslit.c:402,1
    - Dst: g_string_free
      Src: /src/glib/glib/gtranslit.c:408,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/gtranslit.c:373,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gtranslit.c:405,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 409
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 409
    functionName: g_str_to_ascii
    functionSourceFile: /src/glib/glib/gtranslit.c
    functionUses: []
    functionsReached:
    - G_STATIC_ASSERT
    - g_strdup
    - g_return_val_if_fail
    - g_utf8_next_char
    - g_str_is_ascii
    - strlen
    - g_string_append_len
    - g_string_append_c
    - g_utf8_get_char
    - lookup_in_item
    - g_string_free
    - lookup_item_id_for_locale
    - g_string_sized_new
    - get_default_item_id
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_str_to_ascii (const gchar *str, const gchar *from_locale) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gunidecomp.c:159,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 196
    functionName: find_decomposition
    functionSourceFile: /src/glib/glib/gunidecomp.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    linkageType: ''
    returnType: gchar*
    signature: "static const gchar *find_decomposition (gunichar ch,\t\t gboolean\
      \ compat) "
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 3
    argNames:
    - a
    - b
    - result
    argTypes:
    - gunichar
    - gunichar
    - gunichar*
    constantsTouched: []
    func_position:
      end: 274
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 274
    functionName: combine_hangul
    functionSourceFile: /src/glib/glib/gunidecomp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean combine_hangul (gunichar a, gunichar b, gunichar *result) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: combine_hangul
      Src: /src/glib/glib/gunidecomp.c:291,1
    - Dst: COMPOSE_INDEX
      Src: /src/glib/glib/gunidecomp.c:307,1
    - Dst: COMPOSE_INDEX
      Src: /src/glib/glib/gunidecomp.c:294,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 3
    argNames:
    - a
    - b
    - result
    argTypes:
    - gunichar
    - gunichar
    - gunichar*
    constantsTouched: []
    func_position:
      end: 345
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 345
    functionName: combine
    functionSourceFile: /src/glib/glib/gunidecomp.c
    functionUses: []
    functionsReached:
    - COMPOSE_INDEX
    - combine_hangul
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean combine (gunichar a,\t gunichar b,\t gunichar *result) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _g_utf8_normalize_wc
      Src: /src/glib/glib/gunidecomp.c:553,1
    - Dst: G_LIKELY
      Src: /src/glib/glib/gunidecomp.c:556,1
    - Dst: g_ucs4_to_utf8
      Src: /src/glib/glib/gunidecomp.c:558,1
    - Dst: g_free
      Src: /src/glib/glib/gunidecomp.c:559,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 563
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 563
    functionName: g_utf8_normalize
    functionSourceFile: /src/glib/glib/gunidecomp.c
    functionUses: []
    functionsReached:
    - g_ucs4_to_utf8
    - g_free
    - G_LIKELY
    - _g_utf8_normalize_wc
    linkageType: ''
    returnType: gchar*
    signature: "gchar *g_utf8_normalize (const gchar *str,\t\t gssize len,\t\t GNormalizeMode\
      \ mode) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gunidecomp.c:634,1
    - Dst: decompose_hangul_step
      Src: /src/glib/glib/gunidecomp.c:636,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 3
    argNames:
    - ch
    - a
    - b
    argTypes:
    - gunichar
    - gunichar*
    - gunichar*
    constantsTouched: []
    func_position:
      end: 666
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 666
    functionName: g_unichar_decompose
    functionSourceFile: /src/glib/glib/gunidecomp.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - decompose_hangul_step
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unichar_decompose (gunichar ch, gunichar *a, gunichar *b) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: decompose_hangul
      Src: /src/glib/glib/gunidecomp.c:752,1
    - Dst: find_decomposition
      Src: /src/glib/glib/gunidecomp.c:758,1
    - Dst: g_utf8_strlen
      Src: /src/glib/glib/gunidecomp.c:763,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/gunidecomp.c:766,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gunidecomp.c:765,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 4
    argNames:
    - ch
    - compat
    - result
    - result_len
    argTypes:
    - gunichar
    - gboolean
    - gunichar*
    - gsize
    constantsTouched: []
    func_position:
      end: 775
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 775
    functionName: g_unichar_fully_decompose
    functionSourceFile: /src/glib/glib/gunidecomp.c
    functionUses: []
    functionsReached:
    - decompose_hangul
    - g_utf8_next_char
    - g_utf8_get_char
    - g_utf8_strlen
    - find_decomposition
    linkageType: ''
    returnType: gsize
    signature: "gsize g_unichar_fully_decompose (gunichar ch,\t\t\t gboolean compat,\t\
      \t\t gunichar *result,\t\t\t gsize result_len) "
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gunidecomp.c:379,1
    - Dst: find_decomposition
      Src: /src/glib/glib/gunidecomp.c:402,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gunidecomp.c:440,1
    - Dst: COMBINING_CLASS
      Src: /src/glib/glib/gunidecomp.c:450,1
    - Dst: g_assert
      Src: /src/glib/glib/gunidecomp.c:448,1
    - Dst: COMBINING_CLASS
      Src: /src/glib/glib/gunidecomp.c:495,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gunidecomp.c:385,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gunidecomp.c:390,1
    - Dst: g_new
      Src: /src/glib/glib/gunidecomp.c:414,1
    - Dst: find_decomposition
      Src: /src/glib/glib/gunidecomp.c:435,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gunidecomp.c:458,1
    - Dst: g_unicode_canonical_ordering
      Src: /src/glib/glib/gunidecomp.c:463,1
    - Dst: combine
      Src: /src/glib/glib/gunidecomp.c:484,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/gunidecomp.c:388,1
    - Dst: g_utf8_strlen
      Src: /src/glib/glib/gunidecomp.c:405,1
    - Dst: decompose_hangul
      Src: /src/glib/glib/gunidecomp.c:430,1
    - Dst: COMBINING_CLASS
      Src: /src/glib/glib/gunidecomp.c:480,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gunidecomp.c:371,1
    - Dst: decompose_hangul
      Src: /src/glib/glib/gunidecomp.c:397,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/gunidecomp.c:422,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/gunidecomp.c:441,1
    - Dst: g_unicode_canonical_ordering
      Src: /src/glib/glib/gunidecomp.c:454,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 128
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 510
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 510
    functionName: _g_utf8_normalize_wc
    functionSourceFile: /src/glib/glib/gunidecomp.c
    functionUses: []
    functionsReached:
    - decompose_hangul
    - COMBINING_CLASS
    - g_utf8_next_char
    - g_new
    - g_assert
    - g_utf8_get_char
    - G_UNLIKELY
    - g_utf8_strlen
    - combine
    - find_decomposition
    - g_unicode_canonical_ordering
    linkageType: ''
    returnType: gunichar*
    signature: "gunichar *_g_utf8_normalize_wc (const gchar *str,\t\t gssize max_len,\t\
      \t GNormalizeMode mode) "
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - ch
    - a
    - b
    argTypes:
    - gunichar
    - gunichar*
    - gunichar*
    constantsTouched: []
    func_position:
      end: 592
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 592
    functionName: decompose_hangul_step
    functionSourceFile: /src/glib/glib/gunidecomp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean decompose_hangul_step (gunichar ch, gunichar *a, gunichar
      *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COMBINING_CLASS
      Src: /src/glib/glib/gunidecomp.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - uc
    argTypes:
    - gunichar
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: g_unichar_combining_class
    functionSourceFile: /src/glib/glib/gunidecomp.c
    functionUses: []
    functionsReached:
    - COMBINING_CLASS
    linkageType: ''
    returnType: gint
    signature: 'gint g_unichar_combining_class (gunichar uc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decompose_hangul
      Src: /src/glib/glib/gunidecomp.c:222,1
    - Dst: g_malloc
      Src: /src/glib/glib/gunidecomp.c:223,1
    - Dst: find_decomposition
      Src: /src/glib/glib/gunidecomp.c:226,1
    - Dst: decompose_hangul
      Src: /src/glib/glib/gunidecomp.c:224,1
    - Dst: g_utf8_strlen
      Src: /src/glib/glib/gunidecomp.c:231,1
    - Dst: g_malloc
      Src: /src/glib/glib/gunidecomp.c:232,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gunidecomp.c:234,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/gunidecomp.c:235,1
    - Dst: g_malloc
      Src: /src/glib/glib/gunidecomp.c:240,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 246
    functionName: g_unicode_canonical_decomposition
    functionSourceFile: /src/glib/glib/gunidecomp.c
    functionUses: []
    functionsReached:
    - decompose_hangul
    - g_utf8_next_char
    - g_malloc
    - g_utf8_get_char
    - g_utf8_strlen
    - find_decomposition
    linkageType: ''
    returnType: gunichar*
    signature: "gunichar *g_unicode_canonical_decomposition (gunichar ch,\t\t\t\t\
      \ gsize *result_len) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: COMBINING_CLASS
      Src: /src/glib/glib/gunidecomp.c:98,1
    - Dst: COMBINING_CLASS
      Src: /src/glib/glib/gunidecomp.c:109,1
    - Dst: COMBINING_CLASS
      Src: /src/glib/glib/gunidecomp.c:101,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - string
    - len
    argTypes:
    - gunichar*
    - gsize
    constantsTouched: []
    func_position:
      end: 123
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 123
    functionName: g_unicode_canonical_ordering
    functionSourceFile: /src/glib/glib/gunidecomp.c
    functionUses: []
    functionsReached:
    - COMBINING_CLASS
    linkageType: ''
    returnType: void
    signature: "void g_unicode_canonical_ordering (gunichar *string,\t\t\t gsize len) "
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - s
    - r
    - result_len
    argTypes:
    - gunichar
    - gunichar*
    - gsize*
    constantsTouched: []
    func_position:
      end: 151
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 151
    functionName: decompose_hangul
    functionSourceFile: /src/glib/glib/gunidecomp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void decompose_hangul (gunichar s, gunichar *r, gsize *result_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: combine
      Src: /src/glib/glib/gunidecomp.c:700,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - a
    - b
    - ch
    argTypes:
    - gunichar
    - gunichar
    - gunichar*
    constantsTouched: []
    func_position:
      end: 705
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 705
    functionName: g_unichar_compose
    functionSourceFile: /src/glib/glib/gunidecomp.c
    functionUses: []
    functionsReached:
    - combine
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unichar_compose (gunichar a, gunichar b, gunichar *ch) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gvs_variable_sized_array_get_frame_offsets
      Src: /src/glib/glib/gvariant-serialiser.c:710,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariantSerialised
    constantsTouched: []
    func_position:
      end: 711
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 711
    functionName: gvs_variable_sized_array_n_children
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - gvs_variable_sized_array_get_frame_offsets
    linkageType: ''
    returnType: gsize
    signature: 'static gsize gvs_variable_sized_array_n_children (GVariantSerialised
      value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DISPATCH_CASES
      Src: /src/glib/glib/gvariant-serialiser.c:1663,1
    - Dst: _needed_size
      Src: /src/glib/glib/gvariant-serialiser.c:1665,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gvariant-serialiser.c:1669,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - type_info
    - gvs_filler
    - children
    - n_children
    argTypes:
    - GVariantTypeInfo*
    - GVariantSerialisedFiller
    - gpointer*
    - gsize
    constantsTouched: []
    func_position:
      end: 1670
      start: 1657
    functionDepth: 0
    functionLinenumber: 1657
    functionLinenumberEnd: 1670
    functionName: g_variant_serialiser_needed_size
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - _needed_size
    - DISPATCH_CASES
    - g_assert_not_reached
    linkageType: ''
    returnType: gsize
    signature: 'gsize g_variant_serialiser_needed_size (GVariantTypeInfo *type_info,
      GVariantSerialisedFiller gvs_filler, const gpointer *children, gsize n_children) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_validate_len
      Src: /src/glib/glib/gvariant-serialiser.c:1844,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - gconstpointer
    - gsize
    constantsTouched: []
    func_position:
      end: 1847
      start: 1828
    functionDepth: 0
    functionLinenumber: 1828
    functionLinenumberEnd: 1847
    functionName: g_variant_serialiser_is_string
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - g_utf8_validate_len
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_variant_serialiser_is_string (gconstpointer data, gsize
      size) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gvs_variable_sized_array_get_frame_offsets
      Src: /src/glib/glib/gvariant-serialiser.c:748,1
    - Dst: find_unordered_guint16
      Src: /src/glib/glib/gvariant-serialiser.c:778,1
    - Dst: find_unordered_guint8
      Src: /src/glib/glib/gvariant-serialiser.c:772,1
    - Dst: g_variant_type_info_element
      Src: /src/glib/glib/gvariant-serialiser.c:753,1
    - Dst: g_variant_type_info_ref
      Src: /src/glib/glib/gvariant-serialiser.c:754,1
    - Dst: find_unordered_guint32
      Src: /src/glib/glib/gvariant-serialiser.c:784,1
    - Dst: find_unordered_guint64
      Src: /src/glib/glib/gvariant-serialiser.c:790,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gvariant-serialiser.c:796,1
    - Dst: gvs_offsets_get_offset_n
      Src: /src/glib/glib/gvariant-serialiser.c:812,1
    - Dst: g_variant_type_info_query
      Src: /src/glib/glib/gvariant-serialiser.c:814,1
    - Dst: gvs_offsets_get_offset_n
      Src: /src/glib/glib/gvariant-serialiser.c:820,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 2
    argNames:
    - value
    - index_
    argTypes:
    - GVariantSerialised
    - gsize
    constantsTouched: []
    func_position:
      end: 829
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 829
    functionName: gvs_variable_sized_array_get_child
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - gvs_variable_sized_array_get_frame_offsets
    - find_unordered_guint8
    - find_unordered_guint64
    - find_unordered_guint16
    - g_variant_type_info_ref
    - g_assert_not_reached
    - g_variant_type_info_query
    - gvs_offsets_get_offset_n
    - find_unordered_guint32
    - g_variant_type_info_element
    linkageType: ''
    returnType: GVariantSerialised
    signature: 'static GVariantSerialised gvs_variable_sized_array_get_child (GVariantSerialised
      value, gsize index_) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-serialiser.c:1632,1
    - Dst: g_variant_serialised_check
      Src: /src/glib/glib/gvariant-serialiser.c:1632,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gvariant-serialiser.c:1641,1
    - Dst: _serialise
      Src: /src/glib/glib/gvariant-serialiser.c:1636,1
    - Dst: DISPATCH_CASES
      Src: /src/glib/glib/gvariant-serialiser.c:1634,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - serialised
    - gvs_filler
    - children
    - n_children
    argTypes:
    - GVariantSerialised
    - GVariantSerialisedFiller
    - gpointer*
    - gsize
    constantsTouched: []
    func_position:
      end: 1642
      start: 1626
    functionDepth: 0
    functionLinenumber: 1626
    functionLinenumberEnd: 1642
    functionName: g_variant_serialiser_serialise
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_variant_serialised_check
    - g_assert_not_reached
    - _serialise
    - DISPATCH_CASES
    linkageType: ''
    returnType: void
    signature: 'void g_variant_serialiser_serialise (GVariantSerialised serialised,
      GVariantSerialisedFiller gvs_filler, const gpointer *children, gsize n_children) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_info_member_info
      Src: /src/glib/glib/gvariant-serialiser.c:987,1
    - Dst: gvs_read_unaligned_le
      Src: /src/glib/glib/gvariant-serialiser.c:1015,1
    - Dst: g_variant_type_info_query
      Src: /src/glib/glib/gvariant-serialiser.c:1009,1
    - Dst: gvs_read_unaligned_le
      Src: /src/glib/glib/gvariant-serialiser.c:991,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 5
    argNames:
    - value
    - index_
    - offset_size
    - out_member_start
    - out_member_end
    argTypes:
    - GVariantSerialised
    - gsize
    - gsize
    - gsize*
    - gsize*
    constantsTouched: []
    func_position:
      end: 1026
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 1026
    functionName: gvs_tuple_get_member_bounds
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - g_variant_type_info_member_info
    - g_variant_type_info_query
    - gvs_read_unaligned_le
    linkageType: ''
    returnType: void
    signature: 'static void gvs_tuple_get_member_bounds (GVariantSerialised value,
      gsize index_, gsize offset_size, gsize *out_member_start, gsize *out_member_end) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_info_query_element
      Src: /src/glib/glib/gvariant-serialiser.c:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariantSerialised
    constantsTouched: []
    func_position:
      end: 262
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 262
    functionName: gvs_fixed_sized_maybe_n_children
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - g_variant_type_info_query_element
    linkageType: ''
    returnType: gsize
    signature: 'static gsize gvs_fixed_sized_maybe_n_children (GVariantSerialised
      value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariantSerialised
    constantsTouched: []
    func_position:
      end: 356
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 356
    functionName: gvs_variable_sized_maybe_n_children
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gsize
    signature: 'static gsize gvs_variable_sized_maybe_n_children (GVariantSerialised
      value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_info_query_element
      Src: /src/glib/glib/gvariant-serialiser.c:457,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariantSerialised
    constantsTouched: []
    func_position:
      end: 464
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 464
    functionName: gvs_fixed_sized_array_n_children
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - g_variant_type_info_query_element
    linkageType: ''
    returnType: gsize
    signature: 'static gsize gvs_fixed_sized_array_n_children (GVariantSerialised
      value) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - body_size
    - offsets
    argTypes:
    - gsize
    - gsize
    constantsTouched: []
    func_position:
      end: 649
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 649
    functionName: gvs_calculate_total_size
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gsize
    signature: 'static gsize gvs_calculate_total_size (gsize body_size, gsize offsets) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gvs_variable_sized_array_get_frame_offsets
      Src: /src/glib/glib/gvariant-serialiser.c:898,1
    - Dst: g_variant_type_info_query
      Src: /src/glib/glib/gvariant-serialiser.c:909,1
    - Dst: g_variant_type_info_element
      Src: /src/glib/glib/gvariant-serialiser.c:908,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-serialiser.c:906,1
    - Dst: gvs_read_unaligned_le
      Src: /src/glib/glib/gvariant-serialiser.c:917,1
    - Dst: g_variant_serialised_is_normal
      Src: /src/glib/glib/gvariant-serialiser.c:936,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-serialiser.c:942,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariantSerialised
    constantsTouched: []
    func_position:
      end: 949
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 949
    functionName: gvs_variable_sized_array_is_normal
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - gvs_variable_sized_array_get_frame_offsets
    - g_assert
    - g_variant_serialised_is_normal
    - g_variant_type_info_query
    - gvs_read_unaligned_le
    - g_variant_type_info_element
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean gvs_variable_sized_array_is_normal (GVariantSerialised
      value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_info_query
      Src: /src/glib/glib/gvariant-serialiser.c:1142,1
    - Dst: gvs_filler
      Src: /src/glib/glib/gvariant-serialiser.c:1168,1
    - Dst: g_variant_type_info_member_info
      Src: /src/glib/glib/gvariant-serialiser.c:1157,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-serialiser.c:1151,1
    - Dst: g_variant_type_info_query
      Src: /src/glib/glib/gvariant-serialiser.c:1158,1
    - Dst: gvs_calculate_total_size
      Src: /src/glib/glib/gvariant-serialiser.c:1173,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - type_info
    - gvs_filler
    - children
    - n_children
    argTypes:
    - GVariantTypeInfo*
    - GVariantSerialisedFiller
    - gpointer*
    - gsize
    constantsTouched: []
    func_position:
      end: 1174
      start: 1131
    functionDepth: 0
    functionLinenumber: 1131
    functionLinenumberEnd: 1174
    functionName: gvs_tuple_needed_size
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - gvs_calculate_total_size
    - g_assert
    - g_variant_type_info_query
    - g_variant_type_info_member_info
    - gvs_filler
    linkageType: ''
    returnType: gsize
    signature: 'static gsize gvs_tuple_needed_size (GVariantTypeInfo *type_info, GVariantSerialisedFiller
      gvs_filler, const gpointer *children, gsize n_children) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gvs_filler
      Src: /src/glib/glib/gvariant-serialiser.c:1449,1
    - Dst: strlen
      Src: /src/glib/glib/gvariant-serialiser.c:1452,1
    - Dst: memcpy
      Src: /src/glib/glib/gvariant-serialiser.c:1452,1
    - Dst: g_variant_type_info_get_type_string
      Src: /src/glib/glib/gvariant-serialiser.c:1450,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - value
    - gvs_filler
    - children
    - n_children
    argTypes:
    - GVariantSerialised
    - GVariantSerialisedFiller
    - gpointer*
    - gsize
    constantsTouched: []
    func_position:
      end: 1453
      start: 1438
    functionDepth: 0
    functionLinenumber: 1438
    functionLinenumberEnd: 1453
    functionName: gvs_variant_serialise
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - memcpy
    - gvs_filler
    - strlen
    - g_variant_type_info_get_type_string
    linkageType: ''
    returnType: void
    signature: 'static inline void gvs_variant_serialise (GVariantSerialised value,
      GVariantSerialisedFiller gvs_filler, const gpointer *children, gsize n_children) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_serialiser_is_string
      Src: /src/glib/glib/gvariant-serialiser.c:1920,1
    - Dst: strspn
      Src: /src/glib/glib/gvariant-serialiser.c:1924,1
    - Dst: g_variant_type_string_scan
      Src: /src/glib/glib/gvariant-serialiser.c:1930,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - gconstpointer
    - gsize
    constantsTouched: []
    func_position:
      end: 1934
      start: 1913
    functionDepth: 0
    functionLinenumber: 1913
    functionLinenumberEnd: 1934
    functionName: g_variant_serialiser_is_signature
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - g_variant_type_string_scan
    - strspn
    - g_variant_serialiser_is_string
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_variant_serialiser_is_signature (gconstpointer data, gsize
      size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_info_element
      Src: /src/glib/glib/gvariant-serialiser.c:271,1
    - Dst: g_variant_type_info_ref
      Src: /src/glib/glib/gvariant-serialiser.c:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - value
    - index_
    argTypes:
    - GVariantSerialised
    - gsize
    constantsTouched: []
    func_position:
      end: 278
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 278
    functionName: gvs_fixed_sized_maybe_get_child
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - g_variant_type_info_element
    - g_variant_type_info_ref
    linkageType: ''
    returnType: GVariantSerialised
    signature: 'static GVariantSerialised gvs_fixed_sized_maybe_get_child (GVariantSerialised
      value, gsize index_) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_info_element
      Src: /src/glib/glib/gvariant-serialiser.c:472,1
    - Dst: g_variant_type_info_query
      Src: /src/glib/glib/gvariant-serialiser.c:473,1
    - Dst: g_variant_type_info_ref
      Src: /src/glib/glib/gvariant-serialiser.c:475,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - value
    - index_
    argTypes:
    - GVariantSerialised
    - gsize
    constantsTouched: []
    func_position:
      end: 479
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 479
    functionName: gvs_fixed_sized_array_get_child
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - g_variant_type_info_element
    - g_variant_type_info_query
    - g_variant_type_info_ref
    linkageType: ''
    returnType: GVariantSerialised
    signature: 'static GVariantSerialised gvs_fixed_sized_array_get_child (GVariantSerialised
      value, gsize index_) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gvs_get_offset_size
      Src: /src/glib/glib/gvariant-serialiser.c:1186,1
    - Dst: g_variant_type_info_member_info
      Src: /src/glib/glib/gvariant-serialiser.c:1195,1
    - Dst: gvs_filler
      Src: /src/glib/glib/gvariant-serialiser.c:1202,1
    - Dst: gvs_write_unaligned_le
      Src: /src/glib/glib/gvariant-serialiser.c:1208,1
    - Dst: g_variant_type_info_query
      Src: /src/glib/glib/gvariant-serialiser.c:1196,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - value
    - gvs_filler
    - children
    - n_children
    argTypes:
    - GVariantSerialised
    - GVariantSerialisedFiller
    - gpointer*
    - gsize
    constantsTouched: []
    func_position:
      end: 1215
      start: 1176
    functionDepth: 0
    functionLinenumber: 1176
    functionLinenumberEnd: 1215
    functionName: gvs_tuple_serialise
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - g_variant_type_info_query
    - gvs_get_offset_size
    - g_variant_type_info_member_info
    - gvs_filler
    - gvs_write_unaligned_le
    linkageType: ''
    returnType: void
    signature: 'static void gvs_tuple_serialise (GVariantSerialised value, GVariantSerialisedFiller
      gvs_filler, const gpointer *children, gsize n_children) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gvs_variant_get_child
      Src: /src/glib/glib/gvariant-serialiser.c:1462,1
    - Dst: g_variant_type_info_unref
      Src: /src/glib/glib/gvariant-serialiser.c:1469,1
    - Dst: g_variant_serialised_is_normal
      Src: /src/glib/glib/gvariant-serialiser.c:1467,1
    - Dst: g_variant_type_info_query_depth
      Src: /src/glib/glib/gvariant-serialiser.c:1463,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariantSerialised
    constantsTouched: []
    func_position:
      end: 1472
      start: 1455
    functionDepth: 0
    functionLinenumber: 1455
    functionLinenumberEnd: 1472
    functionName: gvs_variant_is_normal
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - gvs_variant_get_child
    - g_variant_serialised_is_normal
    - g_variant_type_info_query_depth
    - g_variant_type_info_unref
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean gvs_variant_is_normal (GVariantSerialised value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_info_query_element
      Src: /src/glib/glib/gvariant-serialiser.c:320,1
    - Dst: g_variant_type_info_element
      Src: /src/glib/glib/gvariant-serialiser.c:327,1
    - Dst: g_variant_serialised_is_normal
      Src: /src/glib/glib/gvariant-serialiser.c:332,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariantSerialised
    constantsTouched: []
    func_position:
      end: 337
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 337
    functionName: gvs_fixed_sized_maybe_is_normal
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - g_variant_serialised_is_normal
    - g_variant_type_info_query_element
    - g_variant_type_info_element
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean gvs_fixed_sized_maybe_is_normal (GVariantSerialised
      value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_info_query_element
      Src: /src/glib/glib/gvariant-serialiser.c:290,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - type_info
    - gvs_filler
    - children
    - n_children
    argTypes:
    - GVariantTypeInfo*
    - GVariantSerialisedFiller
    - gpointer*
    - gsize
    constantsTouched: []
    func_position:
      end: 297
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 297
    functionName: gvs_fixed_sized_maybe_needed_size
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - g_variant_type_info_query_element
    linkageType: ''
    returnType: gsize
    signature: 'static gsize gvs_fixed_sized_maybe_needed_size (GVariantTypeInfo *type_info,
      GVariantSerialisedFiller gvs_filler, const gpointer *children, gsize n_children) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_info_element
      Src: /src/glib/glib/gvariant-serialiser.c:363,1
    - Dst: g_variant_type_info_ref
      Src: /src/glib/glib/gvariant-serialiser.c:364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - value
    - index_
    argTypes:
    - GVariantSerialised
    - gsize
    constantsTouched: []
    func_position:
      end: 376
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 376
    functionName: gvs_variable_sized_maybe_get_child
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - g_variant_type_info_element
    - g_variant_type_info_ref
    linkageType: ''
    returnType: GVariantSerialised
    signature: 'static GVariantSerialised gvs_variable_sized_maybe_get_child (GVariantSerialised
      value, gsize index_) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gvs_filler
      Src: /src/glib/glib/gvariant-serialiser.c:407,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - value
    - gvs_filler
    - children
    - n_children
    argTypes:
    - GVariantSerialised
    - GVariantSerialisedFiller
    - gpointer*
    - gsize
    constantsTouched: []
    func_position:
      end: 410
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 410
    functionName: gvs_variable_sized_maybe_serialise
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - gvs_filler
    linkageType: ''
    returnType: void
    signature: 'static void gvs_variable_sized_maybe_serialise (GVariantSerialised
      value, GVariantSerialisedFiller gvs_filler, const gpointer *children, gsize
      n_children) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gvs_read_unaligned_le
      Src: /src/glib/glib/gvariant-serialiser.c:666,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - offsets
    - n
    argTypes:
    - struct Offsets*
    - gsize
    constantsTouched: []
    func_position:
      end: 668
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 668
    functionName: gvs_offsets_get_offset_n
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - gvs_read_unaligned_le
    linkageType: ''
    returnType: gsize
    signature: 'static gsize gvs_offsets_get_offset_n (struct Offsets *offsets, gsize
      n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_info_query
      Src: /src/glib/glib/gvariant-serialiser.c:841,1
    - Dst: gvs_filler
      Src: /src/glib/glib/gvariant-serialiser.c:849,1
    - Dst: gvs_calculate_total_size
      Src: /src/glib/glib/gvariant-serialiser.c:853,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - type_info
    - gvs_filler
    - children
    - n_children
    argTypes:
    - GVariantTypeInfo*
    - GVariantSerialisedFiller
    - gpointer*
    - gsize
    constantsTouched: []
    func_position:
      end: 854
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 854
    functionName: gvs_variable_sized_array_needed_size
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - gvs_calculate_total_size
    - gvs_filler
    - g_variant_type_info_query
    linkageType: ''
    returnType: gsize
    signature: 'static gsize gvs_variable_sized_array_needed_size (GVariantTypeInfo
      *type_info, GVariantSerialisedFiller gvs_filler, const gpointer *children, gsize
      n_children) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_string_scan
      Src: /src/glib/glib/gvariant-serialiser.c:1384,1
    - Dst: g_variant_type_info_get
      Src: /src/glib/glib/gvariant-serialiser.c:1394,1
    - Dst: g_variant_type_info_query
      Src: /src/glib/glib/gvariant-serialiser.c:1401,1
    - Dst: g_variant_type_info_query_depth
      Src: /src/glib/glib/gvariant-serialiser.c:1403,1
    - Dst: g_variant_type_is_definite
      Src: /src/glib/glib/gvariant-serialiser.c:1389,1
    - Dst: g_variant_type_info_unref
      Src: /src/glib/glib/gvariant-serialiser.c:1409,1
    - Dst: g_variant_type_info_get
      Src: /src/glib/glib/gvariant-serialiser.c:1415,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 2
    argNames:
    - value
    - index_
    argTypes:
    - GVariantSerialised
    - gsize
    constantsTouched: []
    func_position:
      end: 1421
      start: 1363
    functionDepth: 0
    functionLinenumber: 1363
    functionLinenumberEnd: 1421
    functionName: gvs_variant_get_child
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - g_variant_type_string_scan
    - g_variant_type_is_definite
    - g_variant_type_info_query
    - g_variant_type_info_query_depth
    - g_variant_type_info_unref
    - g_variant_type_info_get
    linkageType: ''
    returnType: GVariantSerialised
    signature: 'static inline GVariantSerialised gvs_variant_get_child (GVariantSerialised
      value, gsize index_) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-serialiser.c:1583,1
    - Dst: _get_child
      Src: /src/glib/glib/gvariant-serialiser.c:1589,1
    - Dst: g_variant_serialised_n_children
      Src: /src/glib/glib/gvariant-serialiser.c:1585,1
    - Dst: DISPATCH_CASES
      Src: /src/glib/glib/gvariant-serialiser.c:1587,1
    - Dst: g_variant_serialised_check
      Src: /src/glib/glib/gvariant-serialiser.c:1583,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-serialiser.c:1590,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-serialiser.c:1591,1
    - Dst: g_variant_serialised_check
      Src: /src/glib/glib/gvariant-serialiser.c:1591,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gvariant-serialiser.c:1595,1
    - Dst: g_error
      Src: /src/glib/glib/gvariant-serialiser.c:1598,1
    - Dst: g_variant_serialised_n_children
      Src: /src/glib/glib/gvariant-serialiser.c:1600,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - serialised
    - index_
    argTypes:
    - GVariantSerialised
    - gsize
    constantsTouched: []
    func_position:
      end: 1601
      start: 1577
    functionDepth: 0
    functionLinenumber: 1577
    functionLinenumberEnd: 1601
    functionName: g_variant_serialised_get_child
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_variant_serialised_check
    - g_variant_serialised_n_children
    - g_assert_not_reached
    - g_error
    - DISPATCH_CASES
    - _get_child
    linkageType: ''
    returnType: GVariantSerialised
    signature: 'GVariantSerialised g_variant_serialised_get_child (GVariantSerialised
      serialised, gsize index_) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gvs_filler
      Src: /src/glib/glib/gvariant-serialiser.c:309,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - value
    - gvs_filler
    - children
    - n_children
    argTypes:
    - GVariantSerialised
    - GVariantSerialisedFiller
    - gpointer*
    - gsize
    constantsTouched: []
    func_position:
      end: 311
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 311
    functionName: gvs_fixed_sized_maybe_serialise
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - gvs_filler
    linkageType: ''
    returnType: void
    signature: 'static void gvs_fixed_sized_maybe_serialise (GVariantSerialised value,
      GVariantSerialisedFiller gvs_filler, const gpointer *children, gsize n_children) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gvs_filler
      Src: /src/glib/glib/gvariant-serialiser.c:388,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - type_info
    - gvs_filler
    - children
    - n_children
    argTypes:
    - GVariantTypeInfo*
    - GVariantSerialisedFiller
    - gpointer*
    - gsize
    constantsTouched: []
    func_position:
      end: 394
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 394
    functionName: gvs_variable_sized_maybe_needed_size
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - gvs_filler
    linkageType: ''
    returnType: gsize
    signature: 'static gsize gvs_variable_sized_maybe_needed_size (GVariantTypeInfo
      *type_info, GVariantSerialisedFiller gvs_filler, const gpointer *children, gsize
      n_children) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_info_element
      Src: /src/glib/glib/gvariant-serialiser.c:421,1
    - Dst: g_variant_serialised_is_normal
      Src: /src/glib/glib/gvariant-serialiser.c:427,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariantSerialised
    constantsTouched: []
    func_position:
      end: 428
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 428
    functionName: gvs_variable_sized_maybe_is_normal
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - g_variant_serialised_is_normal
    - g_variant_type_info_element
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean gvs_variable_sized_maybe_is_normal (GVariantSerialised
      value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/glib/glib/gvariant-serialiser.c:597,1
    - Dst: GSIZE_FROM_LE
      Src: /src/glib/glib/gvariant-serialiser.c:599,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - bytes
    - size
    argTypes:
    - guchar*
    - guint
    constantsTouched: []
    func_position:
      end: 600
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 600
    functionName: gvs_read_unaligned_le
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - memcpy
    - GSIZE_FROM_LE
    linkageType: ''
    returnType: gsize
    signature: 'static inline gsize gvs_read_unaligned_le (guchar *bytes, guint size) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gvs_get_offset_size
      Src: /src/glib/glib/gvariant-serialiser.c:683,1
    - Dst: gvs_read_unaligned_le
      Src: /src/glib/glib/gvariant-serialiser.c:684,1
    - Dst: gvs_calculate_total_size
      Src: /src/glib/glib/gvariant-serialiser.c:699,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariantSerialised
    constantsTouched: []
    func_position:
      end: 705
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 705
    functionName: gvs_variable_sized_array_get_frame_offsets
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - gvs_calculate_total_size
    - gvs_get_offset_size
    - gvs_read_unaligned_le
    linkageType: ''
    returnType: struct Offsets
    signature: 'static struct Offsets gvs_variable_sized_array_get_frame_offsets (GVariantSerialised
      value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_info_query
      Src: /src/glib/glib/gvariant-serialiser.c:868,1
    - Dst: gvs_write_unaligned_le
      Src: /src/glib/glib/gvariant-serialiser.c:885,1
    - Dst: gvs_get_offset_size
      Src: /src/glib/glib/gvariant-serialiser.c:869,1
    - Dst: gvs_filler
      Src: /src/glib/glib/gvariant-serialiser.c:882,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - value
    - gvs_filler
    - children
    - n_children
    argTypes:
    - GVariantSerialised
    - GVariantSerialisedFiller
    - gpointer*
    - gsize
    constantsTouched: []
    func_position:
      end: 888
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 888
    functionName: gvs_variable_sized_array_serialise
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - gvs_get_offset_size
    - gvs_filler
    - g_variant_type_info_query
    - gvs_write_unaligned_le
    linkageType: ''
    returnType: void
    signature: 'static void gvs_variable_sized_array_serialise (GVariantSerialised
      value, GVariantSerialisedFiller gvs_filler, const gpointer *children, gsize
      n_children) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gvs_filler
      Src: /src/glib/glib/gvariant-serialiser.c:1432,1
    - Dst: g_variant_type_info_get_type_string
      Src: /src/glib/glib/gvariant-serialiser.c:1433,1
    - Dst: strlen
      Src: /src/glib/glib/gvariant-serialiser.c:1435,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - type_info
    - gvs_filler
    - children
    - n_children
    argTypes:
    - GVariantTypeInfo*
    - GVariantSerialisedFiller
    - gpointer*
    - gsize
    constantsTouched: []
    func_position:
      end: 1436
      start: 1423
    functionDepth: 0
    functionLinenumber: 1423
    functionLinenumberEnd: 1436
    functionName: gvs_variant_needed_size
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - gvs_filler
    - strlen
    - g_variant_type_info_get_type_string
    linkageType: ''
    returnType: gsize
    signature: 'static inline gsize gvs_variant_needed_size (GVariantTypeInfo *type_info,
      GVariantSerialisedFiller gvs_filler, const gpointer *children, gsize n_children) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_info_element
      Src: /src/glib/glib/gvariant-serialiser.c:520,1
    - Dst: g_variant_serialised_is_normal
      Src: /src/glib/glib/gvariant-serialiser.c:531,1
    - Dst: g_variant_type_info_query
      Src: /src/glib/glib/gvariant-serialiser.c:521,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariantSerialised
    constantsTouched: []
    func_position:
      end: 536
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 536
    functionName: gvs_fixed_sized_array_is_normal
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - g_variant_serialised_is_normal
    - g_variant_type_info_element
    - g_variant_type_info_query
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean gvs_fixed_sized_array_is_normal (GVariantSerialised
      value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariantSerialised
    constantsTouched: []
    func_position:
      end: 1361
      start: 1357
    functionDepth: 0
    functionLinenumber: 1357
    functionLinenumberEnd: 1361
    functionName: gvs_variant_n_children
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gsize
    signature: 'static inline gsize gvs_variant_n_children (GVariantSerialised value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-serialiser.c:1546,1
    - Dst: g_variant_serialised_check
      Src: /src/glib/glib/gvariant-serialiser.c:1546,1
    - Dst: _n_children
      Src: /src/glib/glib/gvariant-serialiser.c:1550,1
    - Dst: DISPATCH_CASES
      Src: /src/glib/glib/gvariant-serialiser.c:1548,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gvariant-serialiser.c:1553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - serialised
    argTypes:
    - GVariantSerialised
    constantsTouched: []
    func_position:
      end: 1554
      start: 1543
    functionDepth: 0
    functionLinenumber: 1543
    functionLinenumberEnd: 1554
    functionName: g_variant_serialised_n_children
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_variant_serialised_check
    - g_assert_not_reached
    - _n_children
    - DISPATCH_CASES
    linkageType: ''
    returnType: gsize
    signature: 'gsize g_variant_serialised_n_children (GVariantSerialised serialised) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DISPATCH_CASES
      Src: /src/glib/glib/gvariant-serialiser.c:1779,1
    - Dst: _is_normal
      Src: /src/glib/glib/gvariant-serialiser.c:1781,1
    - Dst: g_variant_serialiser_is_object_path
      Src: /src/glib/glib/gvariant-serialiser.c:1799,1
    - Dst: g_variant_type_info_get_type_char
      Src: /src/glib/glib/gvariant-serialiser.c:1789,1
    - Dst: g_variant_serialiser_is_string
      Src: /src/glib/glib/gvariant-serialiser.c:1795,1
    - Dst: g_variant_serialiser_is_signature
      Src: /src/glib/glib/gvariant-serialiser.c:1803,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 1
    argNames:
    - serialised
    argTypes:
    - GVariantSerialised
    constantsTouched: []
    func_position:
      end: 1813
      start: 1773
    functionDepth: 0
    functionLinenumber: 1773
    functionLinenumberEnd: 1813
    functionName: g_variant_serialised_is_normal
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - g_variant_serialiser_is_string
    - g_variant_serialiser_is_signature
    - g_variant_type_info_get_type_char
    - _is_normal
    - g_variant_serialiser_is_object_path
    - DISPATCH_CASES
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_variant_serialised_is_normal (GVariantSerialised serialised) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_info_query
      Src: /src/glib/glib/gvariant-serialiser.c:145,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 1
    argNames:
    - serialised
    argTypes:
    - GVariantSerialised
    constantsTouched: []
    func_position:
      end: 183
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 183
    functionName: g_variant_serialised_check
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - g_variant_type_info_query
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_variant_serialised_check (GVariantSerialised serialised) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_info_query_element
      Src: /src/glib/glib/gvariant-serialiser.c:489,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 4
    argNames:
    - type_info
    - gvs_filler
    - children
    - n_children
    argTypes:
    - GVariantTypeInfo*
    - GVariantSerialisedFiller
    - gpointer*
    - gsize
    constantsTouched: []
    func_position:
      end: 492
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 492
    functionName: gvs_fixed_sized_array_needed_size
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - g_variant_type_info_query_element
    linkageType: ''
    returnType: gsize
    signature: 'static gsize gvs_fixed_sized_array_needed_size (GVariantTypeInfo *type_info,
      GVariantSerialisedFiller gvs_filler, const gpointer *children, gsize n_children) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GSIZE_TO_LE
      Src: /src/glib/glib/gvariant-serialiser.c:613,1
    - Dst: memcpy
      Src: /src/glib/glib/gvariant-serialiser.c:614,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - bytes
    - value
    - size
    argTypes:
    - guchar*
    - gsize
    - guint
    constantsTouched: []
    func_position:
      end: 615
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 615
    functionName: gvs_write_unaligned_le
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - memcpy
    - GSIZE_TO_LE
    linkageType: ''
    returnType: void
    signature: 'static inline void gvs_write_unaligned_le (guchar *bytes, gsize value,
      guint size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_info_n_members
      Src: /src/glib/glib/gvariant-serialiser.c:1031,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariantSerialised
    constantsTouched: []
    func_position:
      end: 1032
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1032
    functionName: gvs_tuple_n_children
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - g_variant_type_info_n_members
    linkageType: ''
    returnType: gsize
    signature: 'static gsize gvs_tuple_n_children (GVariantSerialised value) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gvs_get_offset_size
      Src: /src/glib/glib/gvariant-serialiser.c:1231,1
    - Dst: g_variant_type_info_query
      Src: /src/glib/glib/gvariant-serialiser.c:1248,1
    - Dst: g_variant_type_info_member_info
      Src: /src/glib/glib/gvariant-serialiser.c:1244,1
    - Dst: gvs_read_unaligned_le
      Src: /src/glib/glib/gvariant-serialiser.c:1278,1
    - Dst: g_variant_type_info_n_members
      Src: /src/glib/glib/gvariant-serialiser.c:1232,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gvariant-serialiser.c:1282,1
    - Dst: g_variant_serialised_is_normal
      Src: /src/glib/glib/gvariant-serialiser.c:1293,1
    - Dst: g_variant_type_info_query
      Src: /src/glib/glib/gvariant-serialiser.c:1307,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-serialiser.c:1311,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-serialiser.c:1312,1
    - Dst: gvs_calculate_total_size
      Src: /src/glib/glib/gvariant-serialiser.c:1339,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-serialiser.c:1326,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 72
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariantSerialised
    constantsTouched: []
    func_position:
      end: 1343
      start: 1217
    functionDepth: 0
    functionLinenumber: 1217
    functionLinenumberEnd: 1343
    functionName: gvs_tuple_is_normal
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - gvs_calculate_total_size
    - g_assert
    - g_variant_serialised_is_normal
    - g_assert_not_reached
    - g_variant_type_info_query
    - g_variant_type_info_n_members
    - gvs_get_offset_size
    - gvs_read_unaligned_le
    - g_variant_type_info_member_info
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean gvs_tuple_is_normal (GVariantSerialised value) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-serialiser.c:1687,1
    - Dst: GUINT16_SWAP_LE_BE
      Src: /src/glib/glib/gvariant-serialiser.c:1713,1
    - Dst: g_variant_type_info_query
      Src: /src/glib/glib/gvariant-serialiser.c:1695,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/gvariant-serialiser.c:1712,1
    - Dst: g_variant_serialised_check
      Src: /src/glib/glib/gvariant-serialiser.c:1687,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/gvariant-serialiser.c:1721,1
    - Dst: GUINT32_SWAP_LE_BE
      Src: /src/glib/glib/gvariant-serialiser.c:1722,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/gvariant-serialiser.c:1730,1
    - Dst: GUINT64_SWAP_LE_BE
      Src: /src/glib/glib/gvariant-serialiser.c:1731,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gvariant-serialiser.c:1736,1
    - Dst: g_variant_type_info_unref
      Src: /src/glib/glib/gvariant-serialiser.c:1754,1
    - Dst: g_variant_serialised_get_child
      Src: /src/glib/glib/gvariant-serialiser.c:1752,1
    - Dst: g_variant_serialised_n_children
      Src: /src/glib/glib/gvariant-serialiser.c:1747,1
    - Dst: g_variant_serialised_byteswap
      Src: /src/glib/glib/gvariant-serialiser.c:1753,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 1
    argNames:
    - serialised
    argTypes:
    - GVariantSerialised
    constantsTouched: []
    func_position:
      end: 1757
      start: 1681
    functionDepth: 0
    functionLinenumber: 1681
    functionLinenumberEnd: 1757
    functionName: g_variant_serialised_byteswap
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - GUINT64_SWAP_LE_BE
    - GUINT16_SWAP_LE_BE
    - g_assert
    - g_variant_serialised_check
    - g_variant_serialised_byteswap
    - g_assert_not_reached
    - g_variant_type_info_query
    - g_variant_serialised_n_children
    - g_variant_serialised_get_child
    - g_variant_type_info_unref
    - GUINT32_SWAP_LE_BE
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'void g_variant_serialised_byteswap (GVariantSerialised serialised) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_info_element
      Src: /src/glib/glib/gvariant-serialiser.c:503,1
    - Dst: g_variant_type_info_query
      Src: /src/glib/glib/gvariant-serialiser.c:504,1
    - Dst: gvs_filler
      Src: /src/glib/glib/gvariant-serialiser.c:510,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - value
    - gvs_filler
    - children
    - n_children
    argTypes:
    - GVariantSerialised
    - GVariantSerialisedFiller
    - gpointer*
    - gsize
    constantsTouched: []
    func_position:
      end: 513
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 513
    functionName: gvs_fixed_sized_array_serialise
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - g_variant_type_info_element
    - gvs_filler
    - g_variant_type_info_query
    linkageType: ''
    returnType: void
    signature: 'static void gvs_fixed_sized_array_serialise (GVariantSerialised value,
      GVariantSerialisedFiller gvs_filler, const gpointer *children, gsize n_children) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - size
    argTypes:
    - gsize
    constantsTouched: []
    func_position:
      end: 633
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 633
    functionName: gvs_get_offset_size
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint
    signature: 'static guint gvs_get_offset_size (gsize size) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_info_member_info
      Src: /src/glib/glib/gvariant-serialiser.c:1043,1
    - Dst: gvs_get_offset_size
      Src: /src/glib/glib/gvariant-serialiser.c:1046,1
    - Dst: g_variant_type_info_ref
      Src: /src/glib/glib/gvariant-serialiser.c:1044,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-serialiser.c:1063,1
    - Dst: g_variant_type_info_query
      Src: /src/glib/glib/gvariant-serialiser.c:1052,1
    - Dst: gvs_tuple_get_member_bounds
      Src: /src/glib/glib/gvariant-serialiser.c:1083,1
    - Dst: gvs_tuple_get_member_bounds
      Src: /src/glib/glib/gvariant-serialiser.c:1089,1
    - Dst: gvs_tuple_get_member_bounds
      Src: /src/glib/glib/gvariant-serialiser.c:1119,1
    - Dst: gvs_tuple_get_member_bounds
      Src: /src/glib/glib/gvariant-serialiser.c:1120,1
    - Dst: g_variant_type_info_n_members
      Src: /src/glib/glib/gvariant-serialiser.c:1120,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 63
    argCount: 2
    argNames:
    - value
    - index_
    argTypes:
    - GVariantSerialised
    - gsize
    constantsTouched: []
    func_position:
      end: 1129
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1129
    functionName: gvs_tuple_get_child
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - g_variant_type_info_ref
    - g_assert
    - g_variant_type_info_query
    - gvs_tuple_get_member_bounds
    - g_variant_type_info_n_members
    - gvs_get_offset_size
    - g_variant_type_info_member_info
    linkageType: ''
    returnType: GVariantSerialised
    signature: 'static GVariantSerialised gvs_tuple_get_child (GVariantSerialised
      value, gsize index_) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_serialiser_is_string
      Src: /src/glib/glib/gvariant-serialiser.c:1866,1
    - Dst: g_ascii_isalnum
      Src: /src/glib/glib/gvariant-serialiser.c:1877,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - gconstpointer
    - gsize
    constantsTouched: []
    func_position:
      end: 1899
      start: 1859
    functionDepth: 0
    functionLinenumber: 1859
    functionLinenumberEnd: 1899
    functionName: g_variant_serialiser_is_object_path
    functionSourceFile: /src/glib/glib/gvariant-serialiser.c
    functionUses: []
    functionsReached:
    - g_variant_serialiser_is_string
    - g_ascii_isalnum
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_variant_serialiser_is_object_path (gconstpointer data,
      gsize size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/glib/gatomic.c:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - atomic
    argTypes:
    - gint*
    constantsTouched: []
    func_position:
      end: 144
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 144
    functionName: (g_atomic_int_dec_and_test)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - g_atomic_int_dec_and_test
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean (g_atomic_int_dec_and_test) (volatile gint *atomic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_xor
      Src: /src/glib/glib/gatomic.c:342,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - guint*
    - guint
    constantsTouched: []
    func_position:
      end: 343
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 343
    functionName: (g_atomic_int_xor)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - g_atomic_int_xor
    linkageType: ''
    returnType: guint
    signature: 'guint (g_atomic_int_xor) (volatile guint *atomic, guint val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_pointer_get
      Src: /src/glib/glib/gatomic.c:365,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - atomic
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 366
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 366
    functionName: (g_atomic_pointer_get)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - g_atomic_pointer_get
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer (g_atomic_pointer_get) (const volatile void *atomic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_pointer_compare_and_exchange_full
      Src: /src/glib/glib/gatomic.c:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - atomic
    - oldval
    - newval
    - preval
    argTypes:
    - void*
    - gpointer
    - gpointer
    - void*
    constantsTouched: []
    func_position:
      end: 455
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 455
    functionName: (g_atomic_pointer_compare_and_exchange_full)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - g_atomic_pointer_compare_and_exchange_full
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean (g_atomic_pointer_compare_and_exchange_full) (void *atomic,
      gpointer oldval, gpointer newval, void *preval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_pointer_add
      Src: /src/glib/glib/gatomic.c:509,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - void*
    - gssize
    constantsTouched: []
    func_position:
      end: 510
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 510
    functionName: (g_atomic_pointer_add)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - g_atomic_pointer_add
    linkageType: ''
    returnType: gintptr
    signature: 'gintptr (g_atomic_pointer_add) (volatile void *atomic, gssize val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_pointer_or
      Src: /src/glib/glib/gatomic.c:571,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - void*
    - gsize
    constantsTouched: []
    func_position:
      end: 572
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 572
    functionName: (g_atomic_pointer_or)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - g_atomic_pointer_or
    linkageType: ''
    returnType: guintptr
    signature: 'guintptr (g_atomic_pointer_or) (volatile void *atomic, gsize val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_pointer_xor
      Src: /src/glib/glib/gatomic.c:602,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - void*
    - gsize
    constantsTouched: []
    func_position:
      end: 603
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 603
    functionName: (g_atomic_pointer_xor)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - g_atomic_pointer_xor
    linkageType: ''
    returnType: guintptr
    signature: 'guintptr (g_atomic_pointer_xor) (volatile void *atomic, gsize val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedDecrement
      Src: /src/glib/glib/gatomic.c:691,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - atomic
    argTypes:
    - gint*
    constantsTouched: []
    func_position:
      end: 692
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 692
    functionName: (g_atomic_int_dec_and_test)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - InterlockedDecrement
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean (g_atomic_int_dec_and_test) (volatile gint *atomic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedCompareExchange
      Src: /src/glib/glib/gatomic.c:699,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - atomic
    - oldval
    - newval
    argTypes:
    - gint*
    - gint
    - gint
    constantsTouched: []
    func_position:
      end: 700
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 700
    functionName: (g_atomic_int_compare_and_exchange)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - InterlockedCompareExchange
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean (g_atomic_int_compare_and_exchange) (volatile gint *atomic,
      gint oldval, gint newval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedCompareExchange
      Src: /src/glib/glib/gatomic.c:708,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - atomic
    - oldval
    - newval
    - preval
    argTypes:
    - gint*
    - gint
    - gint
    - gint*
    constantsTouched: []
    func_position:
      end: 710
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 710
    functionName: (g_atomic_int_compare_and_exchange_full)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - InterlockedCompareExchange
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean (g_atomic_int_compare_and_exchange_full) (gint *atomic, gint
      oldval, gint newval, gint *preval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedExchange
      Src: /src/glib/glib/gatomic.c:716,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - atomic
    - newval
    argTypes:
    - gint*
    - gint
    constantsTouched: []
    func_position:
      end: 717
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 717
    functionName: (g_atomic_int_exchange)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - InterlockedExchange
    linkageType: ''
    returnType: gint
    signature: 'gint (g_atomic_int_exchange) (gint *atomic, gint newval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedAnd
      Src: /src/glib/glib/gatomic.c:730,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - guint*
    - guint
    constantsTouched: []
    func_position:
      end: 731
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 731
    functionName: (g_atomic_int_and)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - InterlockedAnd
    linkageType: ''
    returnType: guint
    signature: 'guint (g_atomic_int_and) (volatile guint *atomic, guint val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedXor
      Src: /src/glib/glib/gatomic.c:744,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - guint*
    - guint
    constantsTouched: []
    func_position:
      end: 745
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 745
    functionName: (g_atomic_int_xor)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - InterlockedXor
    linkageType: ''
    returnType: guint
    signature: 'guint (g_atomic_int_xor) (volatile guint *atomic, guint val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemoryBarrier
      Src: /src/glib/glib/gatomic.c:753,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - atomic
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 755
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 755
    functionName: (g_atomic_pointer_get)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - MemoryBarrier
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer (g_atomic_pointer_get) (const volatile void *atomic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemoryBarrier
      Src: /src/glib/glib/gatomic.c:764,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - atomic
    - newval
    argTypes:
    - void*
    - gpointer
    constantsTouched: []
    func_position:
      end: 765
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 765
    functionName: (g_atomic_pointer_set)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - MemoryBarrier
    linkageType: ''
    returnType: void
    signature: 'void (g_atomic_pointer_set) (volatile void *atomic, gpointer newval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedXor64
      Src: /src/glib/glib/gatomic.c:833,1
    - Dst: InterlockedXor
      Src: /src/glib/glib/gatomic.c:835,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - void*
    - gsize
    constantsTouched: []
    func_position:
      end: 837
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 837
    functionName: (g_atomic_pointer_xor)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - InterlockedXor64
    - InterlockedXor
    linkageType: ''
    returnType: guintptr
    signature: 'guintptr (g_atomic_pointer_xor) (volatile void *atomic, gsize val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_or
      Src: /src/glib/glib/gatomic.c:315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - guint*
    - guint
    constantsTouched: []
    func_position:
      end: 316
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 316
    functionName: (g_atomic_int_or)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - g_atomic_int_or
    linkageType: ''
    returnType: guint
    signature: 'guint (g_atomic_int_or) (volatile guint *atomic, guint val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_pointer_compare_and_exchange
      Src: /src/glib/glib/gatomic.c:418,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - atomic
    - oldval
    - newval
    argTypes:
    - void*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 420
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 420
    functionName: (g_atomic_pointer_compare_and_exchange)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - g_atomic_pointer_compare_and_exchange
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean (g_atomic_pointer_compare_and_exchange) (volatile void *atomic,
      gpointer oldval, gpointer newval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_pointer_exchange
      Src: /src/glib/glib/gatomic.c:479,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - atomic
    - newval
    argTypes:
    - void*
    - gpointer
    constantsTouched: []
    func_position:
      end: 480
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 480
    functionName: (g_atomic_pointer_exchange)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - g_atomic_pointer_exchange
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer (g_atomic_pointer_exchange) (void *atomic, gpointer newval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_pointer_and
      Src: /src/glib/glib/gatomic.c:540,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - void*
    - gsize
    constantsTouched: []
    func_position:
      end: 541
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 541
    functionName: (g_atomic_pointer_and)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - g_atomic_pointer_and
    linkageType: ''
    returnType: guintptr
    signature: 'guintptr (g_atomic_pointer_and) (volatile void *atomic, gsize val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedCompareExchange
      Src: /src/glib/glib/gatomic.c:626,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - guint*
    - guint
    constantsTouched: []
    func_position:
      end: 630
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 630
    functionName: _gInterlockedAnd
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - InterlockedCompareExchange
    linkageType: ''
    returnType: LONG
    signature: 'static LONG _gInterlockedAnd (volatile guint *atomic, guint val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - gint*
    - gint
    constantsTouched: []
    func_position:
      end: 1167
      start: 1162
    functionDepth: 0
    functionLinenumber: 1162
    functionLinenumberEnd: 1167
    functionName: g_atomic_int_exchange_and_add
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint
    signature: 'gint g_atomic_int_exchange_and_add (volatile gint *atomic, gint val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gatomic.c:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - atomic
    argTypes:
    - gint*
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: (g_atomic_int_inc)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - g_atomic_int_inc
    linkageType: ''
    returnType: void
    signature: 'void (g_atomic_int_inc) (volatile gint *atomic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemoryBarrier
      Src: /src/glib/glib/gatomic.c:679,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - atomic
    - newval
    argTypes:
    - gint*
    - gint
    constantsTouched: []
    func_position:
      end: 680
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 680
    functionName: (g_atomic_int_set)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - MemoryBarrier
    linkageType: ''
    returnType: void
    signature: 'void (g_atomic_int_set) (volatile gint *atomic, gint newval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedExchangePointer
      Src: /src/glib/glib/gatomic.c:792,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - atomic
    - newval
    argTypes:
    - void*
    - gpointer
    constantsTouched: []
    func_position:
      end: 793
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 793
    functionName: (g_atomic_pointer_exchange)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - InterlockedExchangePointer
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer (g_atomic_pointer_exchange) (void *atomic, gpointer newval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/glib/glib/gatomic.c:893,1
    - Dst: pthread_mutex_unlock
      Src: /src/glib/glib/gatomic.c:895,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - atomic
    argTypes:
    - gint*
    constantsTouched: []
    func_position:
      end: 898
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 898
    functionName: (g_atomic_int_dec_and_test)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean (g_atomic_int_dec_and_test) (volatile gint *atomic) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/glib/glib/gatomic.c:925,1
    - Dst: pthread_mutex_unlock
      Src: /src/glib/glib/gatomic.c:932,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - atomic
    - oldval
    - newval
    - preval
    argTypes:
    - gint*
    - gint
    - gint
    - gint*
    constantsTouched: []
    func_position:
      end: 935
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 935
    functionName: (g_atomic_int_compare_and_exchange_full)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean (g_atomic_int_compare_and_exchange_full) (gint *atomic, gint
      oldval, gint newval, gint *preval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedOr
      Src: /src/glib/glib/gatomic.c:737,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - guint*
    - guint
    constantsTouched: []
    func_position:
      end: 738
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 738
    functionName: (g_atomic_int_or)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - InterlockedOr
    linkageType: ''
    returnType: guint
    signature: 'guint (g_atomic_int_or) (volatile guint *atomic, guint val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/glib/glib/gatomic.c:958,1
    - Dst: pthread_mutex_unlock
      Src: /src/glib/glib/gatomic.c:961,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - gint*
    - gint
    constantsTouched: []
    func_position:
      end: 964
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 964
    functionName: (g_atomic_int_add)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: gint
    signature: 'gint (g_atomic_int_add) (volatile gint *atomic, gint val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/glib/glib/gatomic.c:986,1
    - Dst: pthread_mutex_unlock
      Src: /src/glib/glib/gatomic.c:989,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - guint*
    - guint
    constantsTouched: []
    func_position:
      end: 992
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 992
    functionName: (g_atomic_int_or)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: guint
    signature: 'guint (g_atomic_int_or) (volatile guint *atomic, guint val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedCompareExchange
      Src: /src/glib/glib/gatomic.c:656,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - guint*
    - guint
    constantsTouched: []
    func_position:
      end: 660
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 660
    functionName: _gInterlockedXor
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - InterlockedCompareExchange
    linkageType: ''
    returnType: LONG
    signature: 'static LONG _gInterlockedXor (volatile guint *atomic, guint val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedIncrement
      Src: /src/glib/glib/gatomic.c:685,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - atomic
    argTypes:
    - gint*
    constantsTouched: []
    func_position:
      end: 686
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 686
    functionName: (g_atomic_int_inc)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - InterlockedIncrement
    linkageType: ''
    returnType: void
    signature: 'void (g_atomic_int_inc) (volatile gint *atomic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedExchangeAdd
      Src: /src/glib/glib/gatomic.c:723,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - gint*
    - gint
    constantsTouched: []
    func_position:
      end: 724
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 724
    functionName: (g_atomic_int_add)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - InterlockedExchangeAdd
    linkageType: ''
    returnType: gint
    signature: 'gint (g_atomic_int_add) (volatile gint *atomic, gint val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedExchangeAdd64
      Src: /src/glib/glib/gatomic.c:800,1
    - Dst: InterlockedExchangeAdd
      Src: /src/glib/glib/gatomic.c:802,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - void*
    - gssize
    constantsTouched: []
    func_position:
      end: 804
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 804
    functionName: (g_atomic_pointer_add)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - InterlockedExchangeAdd64
    - InterlockedExchangeAdd
    linkageType: ''
    returnType: gintptr
    signature: 'gintptr (g_atomic_pointer_add) (volatile void *atomic, gssize val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/glib/glib/gatomic.c:907,1
    - Dst: pthread_mutex_unlock
      Src: /src/glib/glib/gatomic.c:912,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - atomic
    - oldval
    - newval
    argTypes:
    - gint*
    - gint
    - gint
    constantsTouched: []
    func_position:
      end: 915
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 915
    functionName: (g_atomic_int_compare_and_exchange)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean (g_atomic_int_compare_and_exchange) (volatile gint *atomic,
      gint oldval, gint newval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/glib/glib/gatomic.c:944,1
    - Dst: pthread_mutex_unlock
      Src: /src/glib/glib/gatomic.c:947,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - atomic
    - newval
    argTypes:
    - gint*
    - gint
    constantsTouched: []
    func_position:
      end: 950
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 950
    functionName: (g_atomic_int_exchange)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: gint
    signature: 'gint (g_atomic_int_exchange) (gint *atomic, gint newval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/glib/glib/gatomic.c:972,1
    - Dst: pthread_mutex_unlock
      Src: /src/glib/glib/gatomic.c:975,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - guint*
    - guint
    constantsTouched: []
    func_position:
      end: 978
      start: 966
    functionDepth: 0
    functionLinenumber: 966
    functionLinenumberEnd: 978
    functionName: (g_atomic_int_and)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: guint
    signature: 'guint (g_atomic_int_and) (volatile guint *atomic, guint val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/glib/glib/gatomic.c:1000,1
    - Dst: pthread_mutex_unlock
      Src: /src/glib/glib/gatomic.c:1003,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - guint*
    - guint
    constantsTouched: []
    func_position:
      end: 1006
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 1006
    functionName: (g_atomic_int_xor)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: guint
    signature: 'guint (g_atomic_int_xor) (volatile guint *atomic, guint val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_compare_and_exchange
      Src: /src/glib/glib/gatomic.c:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - atomic
    - oldval
    - newval
    argTypes:
    - gint*
    - gint
    - gint
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 175
    functionName: (g_atomic_int_compare_and_exchange)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - g_atomic_int_compare_and_exchange
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean (g_atomic_int_compare_and_exchange) (volatile gint *atomic,
      gint oldval, gint newval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_pointer_set
      Src: /src/glib/glib/gatomic.c:387,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - atomic
    - newval
    argTypes:
    - void*
    - gpointer
    constantsTouched: []
    func_position:
      end: 388
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 388
    functionName: (g_atomic_pointer_set)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - g_atomic_pointer_set
    linkageType: ''
    returnType: void
    signature: 'void (g_atomic_pointer_set) (volatile void *atomic, gpointer newval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/glib/glib/gatomic.c:1139,1
    - Dst: pthread_mutex_unlock
      Src: /src/glib/glib/gatomic.c:1142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - void*
    - gsize
    constantsTouched: []
    func_position:
      end: 1145
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1145
    functionName: (g_atomic_pointer_xor)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: guintptr
    signature: 'guintptr (g_atomic_pointer_xor) (volatile void *atomic, gsize val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/glib/glib/gatomic.c:1015,1
    - Dst: pthread_mutex_unlock
      Src: /src/glib/glib/gatomic.c:1017,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - atomic
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1020
      start: 1009
    functionDepth: 0
    functionLinenumber: 1009
    functionLinenumberEnd: 1020
    functionName: (g_atomic_pointer_get)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer (g_atomic_pointer_get) (const volatile void *atomic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/glib/glib/gatomic.c:1079,1
    - Dst: pthread_mutex_unlock
      Src: /src/glib/glib/gatomic.c:1082,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - atomic
    - newval
    argTypes:
    - void*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1085
      start: 1072
    functionDepth: 0
    functionLinenumber: 1072
    functionLinenumberEnd: 1085
    functionName: (g_atomic_pointer_exchange)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer (g_atomic_pointer_exchange) (void *atomic, gpointer newval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_exchange
      Src: /src/glib/glib/gatomic.c:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - atomic
    - newval
    argTypes:
    - gint*
    - gint
    constantsTouched: []
    func_position:
      end: 233
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 233
    functionName: (g_atomic_int_exchange)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - g_atomic_int_exchange
    linkageType: ''
    returnType: gint
    signature: 'gint (g_atomic_int_exchange) (gint *atomic, gint newval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/glib/glib/gatomic.c:875,1
    - Dst: pthread_mutex_unlock
      Src: /src/glib/glib/gatomic.c:877,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - atomic
    - value
    argTypes:
    - gint*
    - gint
    constantsTouched: []
    func_position:
      end: 878
      start: 871
    functionDepth: 0
    functionLinenumber: 871
    functionLinenumberEnd: 878
    functionName: (g_atomic_int_set)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'void (g_atomic_int_set) (volatile gint *atomic, gint value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/glib/glib/gatomic.c:1109,1
    - Dst: pthread_mutex_unlock
      Src: /src/glib/glib/gatomic.c:1112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - void*
    - gsize
    constantsTouched: []
    func_position:
      end: 1115
      start: 1102
    functionDepth: 0
    functionLinenumber: 1102
    functionLinenumberEnd: 1115
    functionName: (g_atomic_pointer_and)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: guintptr
    signature: 'guintptr (g_atomic_pointer_and) (volatile void *atomic, gsize val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedCompareExchange
      Src: /src/glib/glib/gatomic.c:641,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - guint*
    - guint
    constantsTouched: []
    func_position:
      end: 645
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 645
    functionName: _gInterlockedOr
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - InterlockedCompareExchange
    linkageType: ''
    returnType: LONG
    signature: 'static LONG _gInterlockedOr (volatile guint *atomic, guint val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/glib/glib/gatomic.c:883,1
    - Dst: pthread_mutex_unlock
      Src: /src/glib/glib/gatomic.c:885,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - atomic
    argTypes:
    - gint*
    constantsTouched: []
    func_position:
      end: 886
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 886
    functionName: (g_atomic_int_inc)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'void (g_atomic_int_inc) (volatile gint *atomic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/glib/glib/gatomic.c:1124,1
    - Dst: pthread_mutex_unlock
      Src: /src/glib/glib/gatomic.c:1127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - void*
    - gsize
    constantsTouched: []
    func_position:
      end: 1130
      start: 1117
    functionDepth: 0
    functionLinenumber: 1117
    functionLinenumberEnd: 1130
    functionName: (g_atomic_pointer_or)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: guintptr
    signature: 'guintptr (g_atomic_pointer_or) (volatile void *atomic, gsize val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_compare_and_exchange_full
      Src: /src/glib/glib/gatomic.c:207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - atomic
    - oldval
    - newval
    - preval
    argTypes:
    - gint*
    - gint
    - gint
    - gint*
    constantsTouched: []
    func_position:
      end: 208
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 208
    functionName: (g_atomic_int_compare_and_exchange_full)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - g_atomic_int_compare_and_exchange_full
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean (g_atomic_int_compare_and_exchange_full) (gint *atomic, gint
      oldval, gint newval, gint *preval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_set
      Src: /src/glib/glib/gatomic.c:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - atomic
    - newval
    argTypes:
    - gint*
    - gint
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: (g_atomic_int_set)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - g_atomic_int_set
    linkageType: ''
    returnType: void
    signature: 'void (g_atomic_int_set) (volatile gint *atomic, gint newval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_and
      Src: /src/glib/glib/gatomic.c:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - guint*
    - guint
    constantsTouched: []
    func_position:
      end: 289
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 289
    functionName: (g_atomic_int_and)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - g_atomic_int_and
    linkageType: ''
    returnType: guint
    signature: 'guint (g_atomic_int_and) (volatile guint *atomic, guint val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedCompareExchangePointer
      Src: /src/glib/glib/gatomic.c:772,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - atomic
    - oldval
    - newval
    argTypes:
    - void*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 773
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 773
    functionName: (g_atomic_pointer_compare_and_exchange)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - InterlockedCompareExchangePointer
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean (g_atomic_pointer_compare_and_exchange) (volatile void *atomic,
      gpointer oldval, gpointer newval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedAnd64
      Src: /src/glib/glib/gatomic.c:811,1
    - Dst: InterlockedAnd
      Src: /src/glib/glib/gatomic.c:813,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - void*
    - gsize
    constantsTouched: []
    func_position:
      end: 815
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 815
    functionName: (g_atomic_pointer_and)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - InterlockedAnd64
    - InterlockedAnd
    linkageType: ''
    returnType: guintptr
    signature: 'guintptr (g_atomic_pointer_and) (volatile void *atomic, gsize val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/glib/glib/gatomic.c:1028,1
    - Dst: pthread_mutex_unlock
      Src: /src/glib/glib/gatomic.c:1030,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - atomic
    - newval
    argTypes:
    - void*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1031
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1031
    functionName: (g_atomic_pointer_set)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'void (g_atomic_pointer_set) (volatile void *atomic, gpointer newval) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/glib/glib/gatomic.c:1041,1
    - Dst: pthread_mutex_unlock
      Src: /src/glib/glib/gatomic.c:1046,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - atomic
    - oldval
    - newval
    argTypes:
    - void*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1049
      start: 1033
    functionDepth: 0
    functionLinenumber: 1033
    functionLinenumberEnd: 1049
    functionName: (g_atomic_pointer_compare_and_exchange)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean (g_atomic_pointer_compare_and_exchange) (volatile void *atomic,
      gpointer oldval, gpointer newval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/glib/glib/gatomic.c:1094,1
    - Dst: pthread_mutex_unlock
      Src: /src/glib/glib/gatomic.c:1097,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - void*
    - gssize
    constantsTouched: []
    func_position:
      end: 1100
      start: 1087
    functionDepth: 0
    functionLinenumber: 1087
    functionLinenumberEnd: 1100
    functionName: (g_atomic_pointer_add)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: gintptr
    signature: 'gintptr (g_atomic_pointer_add) (volatile void *atomic, gssize val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedCompareExchangePointer
      Src: /src/glib/glib/gatomic.c:783,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - atomic
    - oldval
    - newval
    - preval
    argTypes:
    - void*
    - gpointer
    - gpointer
    - void*
    constantsTouched: []
    func_position:
      end: 786
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 786
    functionName: (g_atomic_pointer_compare_and_exchange_full)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - InterlockedCompareExchangePointer
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean (g_atomic_pointer_compare_and_exchange_full) (void *atomic,
      gpointer oldval, gpointer newval, void *preval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedOr64
      Src: /src/glib/glib/gatomic.c:822,1
    - Dst: InterlockedOr
      Src: /src/glib/glib/gatomic.c:824,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - void*
    - gsize
    constantsTouched: []
    func_position:
      end: 826
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 826
    functionName: (g_atomic_pointer_or)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - InterlockedOr
    - InterlockedOr64
    linkageType: ''
    returnType: guintptr
    signature: 'guintptr (g_atomic_pointer_or) (volatile void *atomic, gsize val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/glib/glib/gatomic.c:864,1
    - Dst: pthread_mutex_unlock
      Src: /src/glib/glib/gatomic.c:866,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - atomic
    argTypes:
    - gint*
    constantsTouched: []
    func_position:
      end: 869
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 869
    functionName: (g_atomic_int_get)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: gint
    signature: 'gint (g_atomic_int_get) (const volatile gint *atomic) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/glib/glib/gatomic.c:1061,1
    - Dst: pthread_mutex_unlock
      Src: /src/glib/glib/gatomic.c:1067,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - atomic
    - oldval
    - newval
    - preval
    argTypes:
    - void*
    - gpointer
    - gpointer
    - void*
    constantsTouched: []
    func_position:
      end: 1070
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1070
    functionName: (g_atomic_pointer_compare_and_exchange_full)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean (g_atomic_pointer_compare_and_exchange_full) (void *atomic,
      gpointer oldval, gpointer newval, void *preval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gatomic.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - atomic
    argTypes:
    - gint*
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: (g_atomic_int_get)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    linkageType: ''
    returnType: gint
    signature: 'gint (g_atomic_int_get) (const volatile gint *atomic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_add
      Src: /src/glib/glib/gatomic.c:261,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - atomic
    - val
    argTypes:
    - gint*
    - gint
    constantsTouched: []
    func_position:
      end: 262
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 262
    functionName: (g_atomic_int_add)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - g_atomic_int_add
    linkageType: ''
    returnType: gint
    signature: 'gint (g_atomic_int_add) (volatile gint *atomic, gint val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemoryBarrier
      Src: /src/glib/glib/gatomic.c:670,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - atomic
    argTypes:
    - gint*
    constantsTouched: []
    func_position:
      end: 672
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 672
    functionName: (g_atomic_int_get)
    functionSourceFile: /src/glib/glib/gatomic.c
    functionUses: []
    functionsReached:
    - MemoryBarrier
    linkageType: ''
    returnType: gint
    signature: 'gint (g_atomic_int_get) (const volatile gint *atomic) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/glib/glib/gbacktrace.c:338,1
    - Dst: snprintf
      Src: /src/glib/glib/gbacktrace.c:346,1
    - Dst: get_strerror
      Src: /src/glib/glib/gbacktrace.c:345,1
    - Dst: perror
      Src: /src/glib/glib/gbacktrace.c:347,1
    - Dst: _exit
      Src: /src/glib/glib/gbacktrace.c:348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - fd
    - buf
    - n
    argTypes:
    - int
    - gconstpointer
    - gsize
    constantsTouched: []
    func_position:
      end: 352
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 352
    functionName: checked_write
    functionSourceFile: /src/glib/glib/gbacktrace.c
    functionUses: []
    functionsReached:
    - write
    - get_strerror
    - perror
    - snprintf
    - _exit
    linkageType: ''
    returnType: gssize
    signature: 'static gssize checked_write (int fd, gconstpointer buf, gsize n) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _g_snprintf
      Src: /src/glib/glib/gbacktrace.c:259,1
    - Dst: getpid
      Src: /src/glib/glib/gbacktrace.c:259,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gbacktrace.c:263,1
    - Dst: getpid
      Src: /src/glib/glib/gbacktrace.c:263,1
    - Dst: fork
      Src: /src/glib/glib/gbacktrace.c:274,1
    - Dst: stack_trace
      Src: /src/glib/glib/gbacktrace.c:277,1
    - Dst: _exit
      Src: /src/glib/glib/gbacktrace.c:278,1
    - Dst: perror
      Src: /src/glib/glib/gbacktrace.c:282,1
    - Dst: waitpid
      Src: /src/glib/glib/gbacktrace.c:291,1
    - Dst: WIFEXITED
      Src: /src/glib/glib/gbacktrace.c:292,1
    - Dst: IsDebuggerPresent
      Src: /src/glib/glib/gbacktrace.c:296,1
    - Dst: g_abort
      Src: /src/glib/glib/gbacktrace.c:299,1
    - Dst: WIFSIGNALED
      Src: /src/glib/glib/gbacktrace.c:292,1
    - Dst: G_BREAKPOINT
      Src: /src/glib/glib/gbacktrace.c:297,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 1
    argNames:
    - prg_name
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 301
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 301
    functionName: g_on_error_stack_trace
    functionSourceFile: /src/glib/glib/gbacktrace.c
    functionUses: []
    functionsReached:
    - stack_trace
    - IsDebuggerPresent
    - WIFEXITED
    - getpid
    - fork
    - waitpid
    - G_BREAKPOINT
    - perror
    - _g_snprintf
    - WIFSIGNALED
    - g_abort
    - _exit
    linkageType: ''
    returnType: void
    signature: 'void g_on_error_stack_trace (const gchar *prg_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - signum
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 311
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 311
    functionName: stack_trace_sigchld
    functionSourceFile: /src/glib/glib/gbacktrace.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void stack_trace_sigchld (int signum) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strerror_r
      Src: /src/glib/glib/gbacktrace.c:319,1
    - Dst: strerror
      Src: /src/glib/glib/gbacktrace.c:326,1
    - Dst: strncpy
      Src: /src/glib/glib/gbacktrace.c:330,1
    - Dst: strerror_r
      Src: /src/glib/glib/gbacktrace.c:321,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 333
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 333
    functionName: get_strerror
    functionSourceFile: /src/glib/glib/gbacktrace.c
    functionUses: []
    functionsReached:
    - strncpy
    - strerror_r
    - strerror
    linkageType: ''
    returnType: char*
    signature: 'static inline const char *get_strerror (char *buffer, gsize n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dup
      Src: /src/glib/glib/gbacktrace.c:357,1
    - Dst: _exit
      Src: /src/glib/glib/gbacktrace.c:367,1
    - Dst: get_strerror
      Src: /src/glib/glib/gbacktrace.c:364,1
    - Dst: perror
      Src: /src/glib/glib/gbacktrace.c:366,1
    - Dst: snprintf
      Src: /src/glib/glib/gbacktrace.c:365,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 371
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 371
    functionName: checked_dup
    functionSourceFile: /src/glib/glib/gbacktrace.c
    functionUses: []
    functionsReached:
    - dup
    - get_strerror
    - perror
    - snprintf
    - _exit
    linkageType: ''
    returnType: int
    signature: 'static int checked_dup (int fd) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_open_pipe_internal
      Src: /src/glib/glib/gbacktrace.c:392,1
    - Dst: execvp
      Src: /src/glib/glib/gbacktrace.c:418,1
    - Dst: close
      Src: /src/glib/glib/gbacktrace.c:413,1
    - Dst: perror
      Src: /src/glib/glib/gbacktrace.c:427,1
    - Dst: _exit
      Src: /src/glib/glib/gbacktrace.c:433,1
    - Dst: checked_write
      Src: /src/glib/glib/gbacktrace.c:441,1
    - Dst: checked_write
      Src: /src/glib/glib/gbacktrace.c:442,1
    - Dst: select
      Src: /src/glib/glib/gbacktrace.c:466,1
    - Dst: checked_write
      Src: /src/glib/glib/gbacktrace.c:448,1
    - Dst: _g_fprintf
      Src: /src/glib/glib/gbacktrace.c:498,1
    - Dst: _exit
      Src: /src/glib/glib/gbacktrace.c:519,1
    - Dst: checked_write
      Src: /src/glib/glib/gbacktrace.c:451,1
    - Dst: perror
      Src: /src/glib/glib/gbacktrace.c:395,1
    - Dst: g_unix_open_pipe_internal
      Src: /src/glib/glib/gbacktrace.c:393,1
    - Dst: fork
      Src: /src/glib/glib/gbacktrace.c:399,1
    - Dst: close
      Src: /src/glib/glib/gbacktrace.c:415,1
    - Dst: _exit
      Src: /src/glib/glib/gbacktrace.c:428,1
    - Dst: close
      Src: /src/glib/glib/gbacktrace.c:515,1
    - Dst: close
      Src: /src/glib/glib/gbacktrace.c:517,1
    - Dst: close
      Src: /src/glib/glib/gbacktrace.c:516,1
    - Dst: checked_write
      Src: /src/glib/glib/gbacktrace.c:449,1
    - Dst: signal
      Src: /src/glib/glib/gbacktrace.c:390,1
    - Dst: checked_dup
      Src: /src/glib/glib/gbacktrace.c:414,1
    - Dst: perror
      Src: /src/glib/glib/gbacktrace.c:432,1
    - Dst: FD_ZERO
      Src: /src/glib/glib/gbacktrace.c:436,1
    - Dst: checked_write
      Src: /src/glib/glib/gbacktrace.c:443,1
    - Dst: checked_write
      Src: /src/glib/glib/gbacktrace.c:446,1
    - Dst: FD_ISSET
      Src: /src/glib/glib/gbacktrace.c:470,1
    - Dst: read
      Src: /src/glib/glib/gbacktrace.c:472,1
    - Dst: checked_write
      Src: /src/glib/glib/gbacktrace.c:447,1
    - Dst: _exit
      Src: /src/glib/glib/gbacktrace.c:396,1
    - Dst: dup
      Src: /src/glib/glib/gbacktrace.c:403,1
    - Dst: fcntl
      Src: /src/glib/glib/gbacktrace.c:406,1
    - Dst: fcntl
      Src: /src/glib/glib/gbacktrace.c:408,1
    - Dst: close
      Src: /src/glib/glib/gbacktrace.c:411,1
    - Dst: close
      Src: /src/glib/glib/gbacktrace.c:423,1
    - Dst: dup
      Src: /src/glib/glib/gbacktrace.c:425,1
    - Dst: checked_dup
      Src: /src/glib/glib/gbacktrace.c:412,1
    - Dst: checked_dup
      Src: /src/glib/glib/gbacktrace.c:416,1
    - Dst: FD_SET
      Src: /src/glib/glib/gbacktrace.c:437,1
    - Dst: checked_write
      Src: /src/glib/glib/gbacktrace.c:440,1
    - Dst: checked_write
      Src: /src/glib/glib/gbacktrace.c:450,1
    - Dst: close
      Src: /src/glib/glib/gbacktrace.c:518,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 97
    argCount: 1
    argNames:
    - args
    argTypes:
    - char**
    constantsTouched: []
    func_position:
      end: 520
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 520
    functionName: stack_trace
    functionSourceFile: /src/glib/glib/gbacktrace.c
    functionUses: []
    functionsReached:
    - signal
    - fcntl
    - FD_ZERO
    - dup
    - FD_ISSET
    - checked_write
    - fork
    - _g_fprintf
    - checked_dup
    - close
    - execvp
    - FD_SET
    - perror
    - read
    - g_unix_open_pipe_internal
    - select
    - _exit
    linkageType: ''
    returnType: void
    signature: 'static void stack_trace (const char * const *args) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_get_prgname
      Src: /src/glib/glib/gbacktrace.c:155,1
    - Dst: _g_fprintf
      Src: /src/glib/glib/gbacktrace.c:159,1
    - Dst: getpid
      Src: /src/glib/glib/gbacktrace.c:161,1
    - Dst: isatty
      Src: /src/glib/glib/gbacktrace.c:167,1
    - Dst: fflush
      Src: /src/glib/glib/gbacktrace.c:165,1
    - Dst: isatty
      Src: /src/glib/glib/gbacktrace.c:167,1
    - Dst: fgets
      Src: /src/glib/glib/gbacktrace.c:169,1
    - Dst: _exit
      Src: /src/glib/glib/gbacktrace.c:170,1
    - Dst: strcpy
      Src: /src/glib/glib/gbacktrace.c:174,1
    - Dst: _exit
      Src: /src/glib/glib/gbacktrace.c:179,1
    - Dst: _exit
      Src: /src/glib/glib/gbacktrace.c:224,1
    - Dst: g_free
      Src: /src/glib/glib/gbacktrace.c:218,1
    - Dst: g_on_error_stack_trace
      Src: /src/glib/glib/gbacktrace.c:186,1
    - Dst: printf
      Src: /src/glib/glib/gbacktrace.c:221,1
    - Dst: g_get_prgname
      Src: /src/glib/glib/gbacktrace.c:201,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/gbacktrace.c:211,1
    - Dst: MessageBoxW
      Src: /src/glib/glib/gbacktrace.c:214,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 57
    argCount: 1
    argNames:
    - prg_name
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 226
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 226
    functionName: g_on_error_query
    functionSourceFile: /src/glib/glib/gbacktrace.c
    functionUses: []
    functionsReached:
    - g_on_error_stack_trace
    - printf
    - fgets
    - fflush
    - g_utf8_to_utf16
    - isatty
    - getpid
    - strcpy
    - _g_fprintf
    - MessageBoxW
    - g_get_prgname
    - g_free
    - _exit
    linkageType: ''
    returnType: void
    signature: 'void g_on_error_query (const gchar *prg_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gvarianttypeinfo.c:300,1
    - Dst: g_variant_type_info_unref
      Src: /src/glib/glib/gvarianttypeinfo.c:303,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gvarianttypeinfo.c:304,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - info
    argTypes:
    - GVariantTypeInfo*
    constantsTouched: []
    func_position:
      end: 305
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 305
    functionName: array_info_free
    functionSourceFile: /src/glib/glib/gvarianttypeinfo.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_slice_free
    - g_variant_type_info_unref
    linkageType: ''
    returnType: void
    signature: 'static void array_info_free (GVariantTypeInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_info_check
      Src: /src/glib/glib/gvarianttypeinfo.c:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 293
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 293
    functionName: GV_ARRAY_INFO
    functionSourceFile: /src/glib/glib/gvarianttypeinfo.c
    functionUses: []
    functionsReached:
    - g_variant_type_info_check
    linkageType: ''
    returnType: ArrayInfo*
    signature: 'static ArrayInfo *GV_ARRAY_INFO (GVariantTypeInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/glib/gvarianttypeinfo.c:312,1
    - Dst: g_variant_type_info_get
      Src: /src/glib/glib/gvarianttypeinfo.c:315,1
    - Dst: g_variant_type_element
      Src: /src/glib/glib/gvarianttypeinfo.c:315,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 320
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 320
    functionName: array_info_new
    functionSourceFile: /src/glib/glib/gvarianttypeinfo.c
    functionUses: []
    functionsReached:
    - g_variant_type_info_get
    - g_slice_new
    - g_variant_type_element
    linkageType: ''
    returnType: ContainerInfo*
    signature: 'static ContainerInfo *array_info_new (const GVariantType *type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tuple_get_item
      Src: /src/glib/glib/gvarianttypeinfo.c:593,1
    - Dst: tuple_align
      Src: /src/glib/glib/gvarianttypeinfo.c:597,1
    - Dst: tuple_table_append
      Src: /src/glib/glib/gvarianttypeinfo.c:604,1
    - Dst: tuple_align
      Src: /src/glib/glib/gvarianttypeinfo.c:599,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - info
    argTypes:
    - TupleInfo*
    constantsTouched: []
    func_position:
      end: 619
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 619
    functionName: tuple_generate_table
    functionSourceFile: /src/glib/glib/gvarianttypeinfo.c
    functionUses: []
    functionsReached:
    - tuple_get_item
    - tuple_align
    - tuple_table_append
    linkageType: ''
    returnType: void
    signature: 'static void tuple_generate_table (TupleInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GV_TUPLE_INFO
      Src: /src/glib/glib/gvarianttypeinfo.c:732,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 738
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 738
    functionName: g_variant_type_info_member_info
    functionSourceFile: /src/glib/glib/gvarianttypeinfo.c
    functionUses: []
    functionsReached:
    - GV_TUPLE_INFO
    linkageType: ''
    returnType: GVariantMemberInfo*
    signature: 'const GVariantMemberInfo *g_variant_type_info_member_info (GVariantTypeInfo
      *info, gsize index) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_info_check
      Src: /src/glib/glib/gvarianttypeinfo.c:206,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 226
    functionName: g_variant_type_info_get_type_string
    functionSourceFile: /src/glib/glib/gvarianttypeinfo.c
    functionUses: []
    functionsReached:
    - g_variant_type_info_check
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_variant_type_info_get_type_string (GVariantTypeInfo
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GV_ARRAY_INFO
      Src: /src/glib/glib/gvarianttypeinfo.c:332,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 333
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 333
    functionName: g_variant_type_info_element
    functionSourceFile: /src/glib/glib/gvarianttypeinfo.c
    functionUses: []
    functionsReached:
    - GV_ARRAY_INFO
    linkageType: ''
    returnType: GVariantTypeInfo*
    signature: 'GVariantTypeInfo *g_variant_type_info_element (GVariantTypeInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 4
    argNames:
    - info
    - item
    - d
    - e
    argTypes:
    - TupleInfo*
    - GVariantMemberInfo*
    - gsize*
    - gsize*
    constantsTouched: []
    func_position:
      end: 427
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 427
    functionName: tuple_get_item
    functionSourceFile: /src/glib/glib/gvarianttypeinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean tuple_get_item (TupleInfo *info, GVariantMemberInfo
      *item, gsize *d, gsize *e) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tuple_align
      Src: /src/glib/glib/gvarianttypeinfo.c:656,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - info
    argTypes:
    - TupleInfo*
    constantsTouched: []
    func_position:
      end: 686
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 686
    functionName: tuple_set_base_info
    functionSourceFile: /src/glib/glib/gvarianttypeinfo.c
    functionUses: []
    functionsReached:
    - tuple_align
    linkageType: ''
    returnType: void
    signature: 'static void tuple_set_base_info (TupleInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/glib/gvarianttypeinfo.c:693,1
    - Dst: tuple_set_base_info
      Src: /src/glib/glib/gvarianttypeinfo.c:698,1
    - Dst: tuple_allocate_members
      Src: /src/glib/glib/gvarianttypeinfo.c:696,1
    - Dst: tuple_generate_table
      Src: /src/glib/glib/gvarianttypeinfo.c:697,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 701
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 701
    functionName: tuple_info_new
    functionSourceFile: /src/glib/glib/gvarianttypeinfo.c
    functionUses: []
    functionsReached:
    - tuple_allocate_members
    - tuple_set_base_info
    - tuple_generate_table
    - g_slice_new
    linkageType: ''
    returnType: ContainerInfo*
    signature: 'static ContainerInfo *tuple_info_new (const GVariantType *type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gvarianttypeinfo.c:166,1
    - Dst: g_assert
      Src: /src/glib/glib/gvarianttypeinfo.c:169,1
    - Dst: g_assert
      Src: /src/glib/glib/gvarianttypeinfo.c:177,1
    - Dst: g_assert
      Src: /src/glib/glib/gvarianttypeinfo.c:178,1
    - Dst: g_atomic_ref_count_compare
      Src: /src/glib/glib/gvarianttypeinfo.c:177,1
    - Dst: g_assert
      Src: /src/glib/glib/gvarianttypeinfo.c:189,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gvarianttypeinfo.c:189,1
    - Dst: g_assert
      Src: /src/glib/glib/gvarianttypeinfo.c:190,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gvarianttypeinfo.c:190,1
    - Dst: g_assert
      Src: /src/glib/glib/gvarianttypeinfo.c:191,1
    - Dst: g_assert
      Src: /src/glib/glib/gvarianttypeinfo.c:192,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - info
    - container_class
    argTypes:
    - GVariantTypeInfo*
    - char
    constantsTouched: []
    func_position:
      end: 195
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 195
    functionName: g_variant_type_info_check
    functionSourceFile: /src/glib/glib/gvarianttypeinfo.c
    functionUses: []
    functionsReached:
    - g_assert
    - G_N_ELEMENTS
    - g_atomic_ref_count_compare
    linkageType: ''
    returnType: void
    signature: 'static void g_variant_type_info_check (const GVariantTypeInfo *info,
      char container_class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gvarianttypeinfo.c:370,1
    - Dst: g_variant_type_info_unref
      Src: /src/glib/glib/gvarianttypeinfo.c:374,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gvarianttypeinfo.c:378,1
    - Dst: g_slice_free1
      Src: /src/glib/glib/gvarianttypeinfo.c:376,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - info
    argTypes:
    - GVariantTypeInfo*
    constantsTouched: []
    func_position:
      end: 379
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 379
    functionName: tuple_info_free
    functionSourceFile: /src/glib/glib/gvarianttypeinfo.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_slice_free
    - g_slice_free1
    - g_variant_type_info_unref
    linkageType: ''
    returnType: void
    signature: 'static void tuple_info_free (GVariantTypeInfo *info) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_steal_index_fast
      Src: /src/glib/glib/gvarianttypeinfo.c:752,1
    - Dst: GLIB_VARIANT_TYPE_INFO_FREE
      Src: /src/glib/glib/gvarianttypeinfo.c:757,1
    - Dst: g_hash_table_remove
      Src: /src/glib/glib/gvarianttypeinfo.c:759,1
    - Dst: TRACE
      Src: /src/glib/glib/gvarianttypeinfo.c:757,1
    - Dst: g_atomic_ref_count_dec
      Src: /src/glib/glib/gvarianttypeinfo.c:755,1
    - Dst: g_free
      Src: /src/glib/glib/gvarianttypeinfo.c:762,1
    - Dst: array_info_free
      Src: /src/glib/glib/gvarianttypeinfo.c:765,1
    - Dst: tuple_info_free
      Src: /src/glib/glib/gvarianttypeinfo.c:767,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gvarianttypeinfo.c:769,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 772
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 772
    functionName: gc_while_locked
    functionSourceFile: /src/glib/glib/gvarianttypeinfo.c
    functionUses: []
    functionsReached:
    - g_ptr_array_steal_index_fast
    - TRACE
    - g_hash_table_remove
    - g_atomic_ref_count_dec
    - GLIB_VARIANT_TYPE_INFO_FREE
    - array_info_free
    - g_assert_not_reached
    - tuple_info_free
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void gc_while_locked (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_n_items
      Src: /src/glib/glib/gvarianttypeinfo.c:389,1
    - Dst: g_variant_type_first
      Src: /src/glib/glib/gvarianttypeinfo.c:392,1
    - Dst: g_variant_type_info_get
      Src: /src/glib/glib/gvarianttypeinfo.c:397,1
    - Dst: g_variant_type_next
      Src: /src/glib/glib/gvarianttypeinfo.c:398,1
    - Dst: g_slice_alloc
      Src: /src/glib/glib/gvarianttypeinfo.c:390,1
    - Dst: g_assert
      Src: /src/glib/glib/gvarianttypeinfo.c:408,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - type
    - members
    - n_members
    argTypes:
    - GVariantType*
    - GVariantMemberInfo**
    - gsize*
    constantsTouched: []
    func_position:
      end: 409
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 409
    functionName: tuple_allocate_members
    functionSourceFile: /src/glib/glib/gvarianttypeinfo.c
    functionUses: []
    functionsReached:
    - g_variant_type_n_items
    - g_assert
    - g_variant_type_first
    - g_variant_type_next
    - g_variant_type_info_get
    - g_slice_alloc
    linkageType: ''
    returnType: void
    signature: 'static void tuple_allocate_members (const GVariantType *type, GVariantMemberInfo
      **members, gsize *n_members) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_rec_mutex_lock
      Src: /src/glib/glib/gvarianttypeinfo.c:924,1
    - Dst: gc_while_locked
      Src: /src/glib/glib/gvarianttypeinfo.c:926,1
    - Dst: g_assert
      Src: /src/glib/glib/gvarianttypeinfo.c:931,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/glib/gvarianttypeinfo.c:929,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/gvarianttypeinfo.c:928,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 932
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 932
    functionName: g_variant_type_info_assert_no_infos
    functionSourceFile: /src/glib/glib/gvarianttypeinfo.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_lock
    - gc_while_locked
    - g_assert
    - g_rec_mutex_unlock
    - g_hash_table_size
    linkageType: ''
    returnType: void
    signature: 'void g_variant_type_info_assert_no_infos (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_info_query
      Src: /src/glib/glib/gvarianttypeinfo.c:350,1
    - Dst: GV_ARRAY_INFO
      Src: /src/glib/glib/gvarianttypeinfo.c:350,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - info
    - alignment
    - fixed_size
    argTypes:
    - GVariantTypeInfo*
    - guint*
    - gsize*
    constantsTouched: []
    func_position:
      end: 352
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 352
    functionName: g_variant_type_info_query_element
    functionSourceFile: /src/glib/glib/gvarianttypeinfo.c
    functionUses: []
    functionsReached:
    - GV_ARRAY_INFO
    - g_variant_type_info_query
    linkageType: ''
    returnType: void
    signature: 'void g_variant_type_info_query_element (GVariantTypeInfo *info, guint
      *alignment, gsize *fixed_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - items
    - i
    - a
    - b
    - c
    argTypes:
    - GVariantMemberInfo**
    - gsize
    - gsize
    - gsize
    - gsize
    constantsTouched: []
    func_position:
      end: 538
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 538
    functionName: tuple_table_append
    functionSourceFile: /src/glib/glib/gvarianttypeinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void tuple_table_append (GVariantMemberInfo **items, gsize
      i, gsize a, gsize b, gsize c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_info_check
      Src: /src/glib/glib/gvarianttypeinfo.c:274,1
    - Dst: g_variant_type_string_get_depth_
      Src: /src/glib/glib/gvarianttypeinfo.c:279,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - info
    argTypes:
    - GVariantTypeInfo*
    constantsTouched: []
    func_position:
      end: 283
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 283
    functionName: g_variant_type_info_query_depth
    functionSourceFile: /src/glib/glib/gvarianttypeinfo.c
    functionUses: []
    functionsReached:
    - g_variant_type_info_check
    - g_variant_type_string_get_depth_
    linkageType: ''
    returnType: gsize
    signature: 'gsize g_variant_type_info_query_depth (GVariantTypeInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - offset
    - alignment
    argTypes:
    - gsize
    - guint
    constantsTouched: []
    func_position:
      end: 545
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 545
    functionName: tuple_align
    functionSourceFile: /src/glib/glib/gvarianttypeinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gsize
    signature: 'static gsize tuple_align (gsize offset, guint alignment) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GV_TUPLE_INFO
      Src: /src/glib/glib/gvarianttypeinfo.c:713,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - info
    argTypes:
    - GVariantTypeInfo*
    constantsTouched: []
    func_position:
      end: 714
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 714
    functionName: g_variant_type_info_n_members
    functionSourceFile: /src/glib/glib/gvarianttypeinfo.c
    functionUses: []
    functionsReached:
    - GV_TUPLE_INFO
    linkageType: ''
    returnType: gsize
    signature: 'gsize g_variant_type_info_n_members (GVariantTypeInfo *info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_info_check
      Src: /src/glib/glib/gvarianttypeinfo.c:891,1
    - Dst: g_atomic_ref_count_dec
      Src: /src/glib/glib/gvarianttypeinfo.c:898,1
    - Dst: g_ignore_leak
      Src: /src/glib/glib/gvarianttypeinfo.c:903,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/gvarianttypeinfo.c:902,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/glib/gvarianttypeinfo.c:897,1
    - Dst: g_atomic_ref_count_init
      Src: /src/glib/glib/gvarianttypeinfo.c:909,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/gvarianttypeinfo.c:910,1
    - Dst: gc_while_locked
      Src: /src/glib/glib/gvarianttypeinfo.c:913,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/glib/gvarianttypeinfo.c:915,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - info
    argTypes:
    - GVariantTypeInfo*
    constantsTouched: []
    func_position:
      end: 917
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 917
    functionName: g_variant_type_info_unref
    functionSourceFile: /src/glib/glib/gvarianttypeinfo.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_lock
    - gc_while_locked
    - g_atomic_ref_count_dec
    - g_variant_type_info_check
    - g_rec_mutex_unlock
    - g_atomic_ref_count_init
    - g_ignore_leak
    - g_ptr_array_new
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'void g_variant_type_info_unref (GVariantTypeInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_info_check
      Src: /src/glib/glib/gvarianttypeinfo.c:359,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 362
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 362
    functionName: GV_TUPLE_INFO
    functionSourceFile: /src/glib/glib/gvarianttypeinfo.c
    functionUses: []
    functionsReached:
    - g_variant_type_info_check
    linkageType: ''
    returnType: TupleInfo*
    signature: 'static TupleInfo *GV_TUPLE_INFO (GVariantTypeInfo *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - info
    - alignment
    - fixed_size
    argTypes:
    - GVariantTypeInfo*
    - guint*
    - gsize*
    constantsTouched: []
    func_position:
      end: 258
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 258
    functionName: g_variant_type_info_query
    functionSourceFile: /src/glib/glib/gvarianttypeinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void g_variant_type_info_query (GVariantTypeInfo *info, guint *alignment,
      gsize *fixed_size) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_ref_count_init
      Src: /src/glib/glib/gvarianttypeinfo.c:826,1
    - Dst: g_variant_type_info_check
      Src: /src/glib/glib/gvarianttypeinfo.c:837,1
    - Dst: g_assert
      Src: /src/glib/glib/gvarianttypeinfo.c:847,1
    - Dst: GLIB_VARIANT_TYPE_INFO_NEW
      Src: /src/glib/glib/gvarianttypeinfo.c:854,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/gvarianttypeinfo.c:808,1
    - Dst: g_ignore_leak
      Src: /src/glib/glib/gvarianttypeinfo.c:806,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/glib/gvarianttypeinfo.c:800,1
    - Dst: GLIB_VARIANT_TYPE_INFO_NEW
      Src: /src/glib/glib/gvarianttypeinfo.c:828,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/gvarianttypeinfo.c:848,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/glib/gvarianttypeinfo.c:790,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/gvarianttypeinfo.c:849,1
    - Dst: g_hash_table_replace
      Src: /src/glib/glib/gvarianttypeinfo.c:830,1
    - Dst: g_variant_type_info_ref
      Src: /src/glib/glib/gvarianttypeinfo.c:834,1
    - Dst: g_variant_type_info_check
      Src: /src/glib/glib/gvarianttypeinfo.c:852,1
    - Dst: g_hash_table_new
      Src: /src/glib/glib/gvarianttypeinfo.c:804,1
    - Dst: array_info_new
      Src: /src/glib/glib/gvarianttypeinfo.c:817,1
    - Dst: tuple_info_new
      Src: /src/glib/glib/gvarianttypeinfo.c:821,1
    - Dst: g_variant_type_dup_string
      Src: /src/glib/glib/gvarianttypeinfo.c:825,1
    - Dst: TRACE
      Src: /src/glib/glib/gvarianttypeinfo.c:828,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gvarianttypeinfo.c:847,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/glib/gvarianttypeinfo.c:836,1
    - Dst: TRACE
      Src: /src/glib/glib/gvarianttypeinfo.c:854,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 858
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 858
    functionName: g_variant_type_info_get
    functionSourceFile: /src/glib/glib/gvarianttypeinfo.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_lock
    - TRACE
    - g_hash_table_replace
    - g_variant_type_info_ref
    - g_rec_mutex_unlock
    - g_variant_type_info_check
    - g_assert
    - g_variant_type_peek_string
    - g_hash_table_lookup
    - GLIB_VARIANT_TYPE_INFO_NEW
    - G_N_ELEMENTS
    - g_variant_type_dup_string
    - g_hash_table_new
    - g_atomic_ref_count_init
    - array_info_new
    - g_ignore_leak
    - tuple_info_new
    - g_assert_cmpint
    linkageType: ''
    returnType: GVariantTypeInfo*
    signature: 'GVariantTypeInfo *g_variant_type_info_get (const GVariantType *type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_info_check
      Src: /src/glib/glib/gvarianttypeinfo.c:869,1
    - Dst: g_atomic_ref_count_inc
      Src: /src/glib/glib/gvarianttypeinfo.c:875,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 879
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 879
    functionName: g_variant_type_info_ref
    functionSourceFile: /src/glib/glib/gvarianttypeinfo.c
    functionUses: []
    functionsReached:
    - g_variant_type_info_check
    - g_atomic_ref_count_inc
    linkageType: ''
    returnType: GVariantTypeInfo*
    signature: 'GVariantTypeInfo *g_variant_type_info_ref (GVariantTypeInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_pop_thread_default
      Src: /src/glib/glib/gmain.h:668,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pusher
    argTypes:
    - GMainContextPusher*
    constantsTouched: []
    func_position:
      end: 669
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 669
    functionName: g_main_context_pusher_free
    functionSourceFile: /src/glib/glib/gmain.h
    functionUses: []
    functionsReached:
    - g_main_context_pop_thread_default
    linkageType: ''
    returnType: GLIB_AVAILABLE_STATIC_INLINE_IN_2_64
    signature: 'GLIB_AVAILABLE_STATIC_INLINE_IN_2_64 static inline void g_main_context_pusher_free
      (GMainContextPusher *pusher) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_get_current_time
      Src: /src/glib/glib/gmain.h:824,1
    - Dst: clear_func
      Src: /src/glib/glib/gmain.h:869,1
    - Dst: G_STATIC_ASSERT
      Src: /src/glib/glib/gmain.h:861,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 10
    argCount: 0
    argNames:
    - g_source_get_time
    argTypes: []
    constantsTouched: []
    func_position:
      end: 871
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 871
    functionName: GLIB_DEPRECATED_IN_2_28_FOR
    functionSourceFile: /src/glib/glib/gmain.h
    functionUses: []
    functionsReached:
    - clear_func
    - G_STATIC_ASSERT
    - g_get_current_time
    linkageType: ''
    returnType: G_GNUC_BEGIN_IGNORE_DEPRECATIONS
    signature: 'G_GNUC_BEGIN_IGNORE_DEPRECATIONS GLIB_DEPRECATED_IN_2_28_FOR(g_source_get_time)
      void g_source_get_current_time (GSource *source, GTimeVal *timeval); G_GNUC_END_IGNORE_DEPRECATIONSGLIB_AVAILABLE_IN_ALL
      gint64 g_source_get_time (GSource *source); /* void g_source_connect_closure
      (GSource *source, GClosure *closure); */ /* Specific source types */ GLIB_AVAILABLE_IN_ALLGSource
      *g_idle_source_new (void); GLIB_AVAILABLE_IN_ALLGSource *g_child_watch_source_new
      (GPid pid); GLIB_AVAILABLE_IN_ALLGSource *g_timeout_source_new (guint interval);
      GLIB_AVAILABLE_IN_ALLGSource *g_timeout_source_new_seconds (guint interval);
      /* Miscellaneous functions */ G_GNUC_BEGIN_IGNORE_DEPRECATIONSGLIB_DEPRECATED_IN_2_62_FOR(g_get_real_time)void
      g_get_current_time (GTimeVal *result);G_GNUC_END_IGNORE_DEPRECATIONSGLIB_AVAILABLE_IN_ALLgint64
      g_get_monotonic_time (void); GLIB_AVAILABLE_IN_ALLgint64 g_get_real_time (void);
      /* Source manipulation by ID */ GLIB_AVAILABLE_IN_ALLgboolean g_source_remove
      (guint tag); GLIB_AVAILABLE_IN_ALLgboolean g_source_remove_by_user_data (gpointer
      user_data); GLIB_AVAILABLE_IN_ALLgboolean g_source_remove_by_funcs_user_data
      (GSourceFuncs *funcs, gpointer user_data); /** * GClearHandleFunc: * @handle_id:
      the handle ID to clear * * Specifies the type of function passed to [func@GLib.clear_handle_id]
      The * implementation is expected to free the resource identified by @handle_id;
      * for instance, if @handle_id is a [struct@GLib.Source] ID, * [func@GLib.Source.remove]
      can be used. * * Since: 2.56 */ typedef void (* GClearHandleFunc) (guint handle_id);
      GLIB_AVAILABLE_IN_2_56void g_clear_handle_id (guint *tag_ptr, GClearHandleFunc
      clear_func); #define g_clear_handle_id(tag_ptr, clear_func) \ G_STMT_START '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_push_thread_default
      Src: /src/glib/glib/gmain.h:643,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 645
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 645
    functionName: g_main_context_pusher_new
    functionSourceFile: /src/glib/glib/gmain.h
    functionUses: []
    functionsReached:
    - g_main_context_push_thread_default
    linkageType: ''
    returnType: GLIB_AVAILABLE_STATIC_INLINE_IN_2_64*
    signature: 'GLIB_AVAILABLE_STATIC_INLINE_IN_2_64 static inline GMainContextPusher
      *g_main_context_pusher_new (GMainContext *main_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - fd_ptr
    argTypes:
    - int*
    constantsTouched: []
    func_position:
      end: 1017
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1017
    functionName: g_steal_fd
    functionSourceFile: /src/glib/glib/gmain.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GLIB_AVAILABLE_STATIC_INLINE_IN_2_70
    signature: 'GLIB_AVAILABLE_STATIC_INLINE_IN_2_70 static inline int g_steal_fd
      (int *fd_ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - handle_pointer
    argTypes:
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 920
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 920
    functionName: g_steal_handle_id
    functionSourceFile: /src/glib/glib/gmain.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int g_steal_handle_id (unsigned int *handle_pointer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/glib/grand.c:152,1
    - Dst: g_rand_set_seed_array
      Src: /src/glib/glib/grand.c:153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: g_rand_new_with_seed_array
    functionSourceFile: /src/glib/glib/grand.c
    functionUses: []
    functionsReached:
    - g_rand_set_seed_array
    - g_new0
    linkageType: ''
    returnType: GRand*
    signature: 'GRand *g_rand_new_with_seed_array (const guint32 *seed, guint seed_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/grand.c:270,1
    - Dst: g_new0
      Src: /src/glib/glib/grand.c:272,1
    - Dst: memcpy
      Src: /src/glib/glib/grand.c:273,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 276
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 276
    functionName: g_rand_copy
    functionSourceFile: /src/glib/glib/grand.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_new0
    - g_return_val_if_fail
    linkageType: ''
    returnType: GRand*
    signature: 'GRand *g_rand_copy (GRand *rand) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/grand.c:343,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/grand.c:344,1
    - Dst: g_rand_set_seed
      Src: /src/glib/glib/grand.c:346,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 3
    argNames:
    - rand
    - seed
    - seed_length
    argTypes:
    - GRand*
    - guint32*
    - guint
    constantsTouched: []
    func_position:
      end: 380
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 380
    functionName: g_rand_set_seed_array
    functionSourceFile: /src/glib/glib/grand.c
    functionUses: []
    functionsReached:
    - g_rand_set_seed
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_rand_set_seed_array (GRand *rand, const guint32 *seed, guint
      seed_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_rand_int
      Src: /src/glib/glib/grand.c:536,1
    - Dst: g_rand_double
      Src: /src/glib/glib/grand.c:542,1
    - Dst: g_rand_int
      Src: /src/glib/glib/grand.c:537,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - rand
    argTypes:
    - GRand*
    constantsTouched: []
    func_position:
      end: 545
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 545
    functionName: g_rand_double
    functionSourceFile: /src/glib/glib/grand.c
    functionUses: []
    functionsReached:
    - g_rand_int
    - g_rand_double
    linkageType: ''
    returnType: gdouble
    signature: 'gdouble g_rand_double (GRand *rand) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rand_double
      Src: /src/glib/glib/grand.c:565,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - rand
    - begin
    - end
    argTypes:
    - GRand*
    - gdouble
    - gdouble
    constantsTouched: []
    func_position:
      end: 568
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 568
    functionName: g_rand_double_range
    functionSourceFile: /src/glib/glib/grand.c
    functionUses: []
    functionsReached:
    - g_rand_double
    linkageType: ''
    returnType: gdouble
    signature: 'gdouble g_rand_double_range (GRand *rand, gdouble begin, gdouble end) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/grand.c:602,1
    - Dst: g_rand_int
      Src: /src/glib/glib/grand.c:603,1
    - Dst: get_global_random
      Src: /src/glib/glib/grand.c:603,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/grand.c:604,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 606
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 606
    functionName: g_random_int
    functionSourceFile: /src/glib/glib/grand.c
    functionUses: []
    functionsReached:
    - g_rand_int
    - G_UNLOCK
    - G_LOCK
    - get_global_random
    linkageType: ''
    returnType: guint32
    signature: 'guint32 g_random_int (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/grand.c:640,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/grand.c:642,1
    - Dst: g_rand_double
      Src: /src/glib/glib/grand.c:641,1
    - Dst: get_global_random
      Src: /src/glib/glib/grand.c:641,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 644
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 644
    functionName: g_random_double
    functionSourceFile: /src/glib/glib/grand.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - g_rand_double
    - G_LOCK
    - get_global_random
    linkageType: ''
    returnType: gdouble
    signature: 'gdouble g_random_double (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/glib/grand.c:94,1
    - Dst: g_warning
      Src: /src/glib/glib/grand.c:104,1
    - Dst: g_getenv
      Src: /src/glib/glib/grand.c:96,1
    - Dst: strcmp
      Src: /src/glib/glib/grand.c:100,1
    - Dst: strcmp
      Src: /src/glib/glib/grand.c:98,1
    - Dst: g_once_init_leave
      Src: /src/glib/glib/grand.c:108,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 112
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 112
    functionName: get_random_version
    functionSourceFile: /src/glib/glib/grand.c
    functionUses: []
    functionsReached:
    - g_once_init_leave
    - g_warning
    - g_getenv
    - g_once_init_enter
    - strcmp
    linkageType: ''
    returnType: guint
    signature: 'static guint get_random_version (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_rand_new
      Src: /src/glib/glib/grand.c:577,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 580
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 580
    functionName: get_global_random
    functionSourceFile: /src/glib/glib/grand.c
    functionUses: []
    functionsReached:
    - g_rand_new
    linkageType: ''
    returnType: GRand*
    signature: 'static GRand *get_global_random (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/glib/grand.c:131,1
    - Dst: g_rand_set_seed
      Src: /src/glib/glib/grand.c:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 134
    functionName: g_rand_new_with_seed
    functionSourceFile: /src/glib/glib/grand.c
    functionUses: []
    functionsReached:
    - g_rand_set_seed
    - g_new0
    linkageType: ''
    returnType: GRand*
    signature: 'GRand *g_rand_new_with_seed (guint32 seed) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/glib/glib/grand.c:181,1
    - Dst: fread
      Src: /src/glib/glib/grand.c:193,1
    - Dst: fclose
      Src: /src/glib/glib/grand.c:200,1
    - Dst: g_get_real_time
      Src: /src/glib/glib/grand.c:208,1
    - Dst: setvbuf
      Src: /src/glib/glib/grand.c:189,1
    - Dst: getpid
      Src: /src/glib/glib/grand.c:211,1
    - Dst: getppid
      Src: /src/glib/glib/grand.c:212,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/grand.c:221,1
    - Dst: rand_s
      Src: /src/glib/glib/grand.c:222,1
    - Dst: g_get_current_time
      Src: /src/glib/glib/grand.c:227,1
    - Dst: g_rand_new_with_seed_array
      Src: /src/glib/glib/grand.c:236,1
    - Dst: getpid
      Src: /src/glib/glib/grand.c:230,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 237
    functionName: g_rand_new
    functionSourceFile: /src/glib/glib/grand.c
    functionUses: []
    functionsReached:
    - g_rand_new_with_seed_array
    - fclose
    - G_N_ELEMENTS
    - rand_s
    - getpid
    - fopen
    - setvbuf
    - getppid
    - fread
    - g_get_current_time
    - g_get_real_time
    linkageType: ''
    returnType: GRand*
    signature: 'GRand * g_rand_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/grand.c:248,1
    - Dst: g_free
      Src: /src/glib/glib/grand.c:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - rand
    argTypes:
    - GRand*
    constantsTouched: []
    func_position:
      end: 251
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 251
    functionName: g_rand_free
    functionSourceFile: /src/glib/glib/grand.c
    functionUses: []
    functionsReached:
    - g_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_rand_free (GRand *rand) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/grand.c:289,1
    - Dst: get_random_version
      Src: /src/glib/glib/grand.c:291,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/grand.c:318,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - rand
    - seed
    argTypes:
    - GRand*
    - guint32
    constantsTouched: []
    func_position:
      end: 320
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 320
    functionName: g_rand_set_seed
    functionSourceFile: /src/glib/glib/grand.c
    functionUses: []
    functionsReached:
    - get_random_version
    - g_assert_not_reached
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_rand_set_seed (GRand *rand, guint32 seed) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/grand.c:407,1
    - Dst: TEMPERING_SHIFT_S
      Src: /src/glib/glib/grand.c:428,1
    - Dst: TEMPERING_SHIFT_L
      Src: /src/glib/glib/grand.c:430,1
    - Dst: TEMPERING_SHIFT_T
      Src: /src/glib/glib/grand.c:429,1
    - Dst: TEMPERING_SHIFT_U
      Src: /src/glib/glib/grand.c:427,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 59
    argCount: 1
    argNames:
    - rand
    argTypes:
    - GRand*
    constantsTouched: []
    func_position:
      end: 433
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 433
    functionName: g_rand_int
    functionSourceFile: /src/glib/glib/grand.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - TEMPERING_SHIFT_S
    - TEMPERING_SHIFT_U
    - TEMPERING_SHIFT_T
    - TEMPERING_SHIFT_L
    linkageType: ''
    returnType: guint32
    signature: 'guint32 g_rand_int (GRand *rand) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/grand.c:457,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/grand.c:458,1
    - Dst: get_random_version
      Src: /src/glib/glib/grand.c:460,1
    - Dst: g_rand_int
      Src: /src/glib/glib/grand.c:474,1
    - Dst: g_rand_double_range
      Src: /src/glib/glib/grand.c:486,1
    - Dst: g_rand_int
      Src: /src/glib/glib/grand.c:509,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/grand.c:516,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 3
    argNames:
    - rand
    - begin
    - end
    argTypes:
    - GRand*
    - gint32
    - gint32
    constantsTouched: []
    func_position:
      end: 520
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 520
    functionName: g_rand_int_range
    functionSourceFile: /src/glib/glib/grand.c
    functionUses: []
    functionsReached:
    - g_rand_int
    - g_return_val_if_fail
    - g_assert_not_reached
    - g_rand_double_range
    - get_random_version
    linkageType: ''
    returnType: gint32
    signature: 'gint32 g_rand_int_range (GRand *rand, gint32 begin, gint32 end) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/grand.c:623,1
    - Dst: g_rand_int_range
      Src: /src/glib/glib/grand.c:624,1
    - Dst: get_global_random
      Src: /src/glib/glib/grand.c:624,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/grand.c:625,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - gint32
    - gint32
    constantsTouched: []
    func_position:
      end: 627
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 627
    functionName: g_random_int_range
    functionSourceFile: /src/glib/glib/grand.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - g_rand_int_range
    - G_LOCK
    - get_global_random
    linkageType: ''
    returnType: gint32
    signature: 'gint32 g_random_int_range (gint32 begin, gint32 end) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/grand.c:661,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/grand.c:663,1
    - Dst: get_global_random
      Src: /src/glib/glib/grand.c:662,1
    - Dst: g_rand_double_range
      Src: /src/glib/glib/grand.c:662,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - gdouble
    - gdouble
    constantsTouched: []
    func_position:
      end: 665
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 665
    functionName: g_random_double_range
    functionSourceFile: /src/glib/glib/grand.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - get_global_random
    - G_LOCK
    - g_rand_double_range
    linkageType: ''
    returnType: gdouble
    signature: 'gdouble g_random_double_range (gdouble begin, gdouble end) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/grand.c:677,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/grand.c:679,1
    - Dst: g_rand_set_seed
      Src: /src/glib/glib/grand.c:678,1
    - Dst: get_global_random
      Src: /src/glib/glib/grand.c:678,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - seed
    argTypes:
    - guint32
    constantsTouched: []
    func_position:
      end: 680
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 680
    functionName: g_random_set_seed
    functionSourceFile: /src/glib/glib/grand.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - g_rand_set_seed
    - G_LOCK
    - get_global_random
    linkageType: ''
    returnType: void
    signature: 'void g_random_set_seed (guint32 seed) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garcbox.c:57,1
    - Dst: g_rc_box_alloc_full
      Src: /src/glib/glib/garcbox.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - block_size
    argTypes:
    - gsize
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: g_atomic_rc_box_alloc
    functionSourceFile: /src/glib/glib/garcbox.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_rc_box_alloc_full
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_atomic_rc_box_alloc (gsize block_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garcbox.c:144,1
    - Dst: memcpy
      Src: /src/glib/glib/garcbox.c:148,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garcbox.c:145,1
    - Dst: g_rc_box_alloc_full
      Src: /src/glib/glib/garcbox.c:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - block_size
    - mem_block
    argTypes:
    - gsize
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 151
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 151
    functionName: (g_atomic_rc_box_dup)
    functionSourceFile: /src/glib/glib/garcbox.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_return_val_if_fail
    - g_rc_box_alloc_full
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer (g_atomic_rc_box_dup) (gsize block_size, gconstpointer mem_block) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_rc_box_release_full
      Src: /src/glib/glib/garcbox.c:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - mem_block
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: g_atomic_rc_box_release
    functionSourceFile: /src/glib/glib/garcbox.c
    functionUses: []
    functionsReached:
    - g_atomic_rc_box_release_full
    linkageType: ''
    returnType: void
    signature: 'void g_atomic_rc_box_release (gpointer mem_block) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garcbox.c:84,1
    - Dst: g_rc_box_alloc_full
      Src: /src/glib/glib/garcbox.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - block_size
    argTypes:
    - gsize
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: g_atomic_rc_box_alloc0
    functionSourceFile: /src/glib/glib/garcbox.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_rc_box_alloc_full
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_atomic_rc_box_alloc0 (gsize block_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_ARC_BOX
      Src: /src/glib/glib/garcbox.c:167,1
    - Dst: TRACE
      Src: /src/glib/glib/garcbox.c:176,1
    - Dst: g_atomic_ref_count_inc
      Src: /src/glib/glib/garcbox.c:174,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garcbox.c:171,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garcbox.c:169,1
    - Dst: GLIB_RCBOX_ACQUIRE
      Src: /src/glib/glib/garcbox.c:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - mem_block
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 179
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 179
    functionName: (g_atomic_rc_box_acquire)
    functionSourceFile: /src/glib/glib/garcbox.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - TRACE
    - g_atomic_ref_count_inc
    - G_ARC_BOX
    - GLIB_RCBOX_ACQUIRE
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer (g_atomic_rc_box_acquire) (gpointer mem_block) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_ARC_BOX
      Src: /src/glib/glib/garcbox.c:220,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/garcbox.c:222,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/garcbox.c:224,1
    - Dst: g_atomic_ref_count_dec
      Src: /src/glib/glib/garcbox.c:227,1
    - Dst: TRACE
      Src: /src/glib/glib/garcbox.c:231,1
    - Dst: GLIB_RCBOX_RELEASE
      Src: /src/glib/glib/garcbox.c:231,1
    - Dst: clear_func
      Src: /src/glib/glib/garcbox.c:234,1
    - Dst: TRACE
      Src: /src/glib/glib/garcbox.c:236,1
    - Dst: GLIB_RCBOX_FREE
      Src: /src/glib/glib/garcbox.c:236,1
    - Dst: g_free
      Src: /src/glib/glib/garcbox.c:237,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - mem_block
    - clear_func
    argTypes:
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 239
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 239
    functionName: g_atomic_rc_box_release_full
    functionSourceFile: /src/glib/glib/garcbox.c
    functionUses: []
    functionsReached:
    - GLIB_RCBOX_FREE
    - TRACE
    - g_atomic_ref_count_dec
    - g_return_if_fail
    - G_ARC_BOX
    - GLIB_RCBOX_RELEASE
    - clear_func
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_atomic_rc_box_release_full (gpointer mem_block, GDestroyNotify
      clear_func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_ARC_BOX
      Src: /src/glib/glib/garcbox.c:254,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garcbox.c:258,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garcbox.c:256,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - mem_block
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 262
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 262
    functionName: g_atomic_rc_box_get_size
    functionSourceFile: /src/glib/glib/garcbox.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_ARC_BOX
    linkageType: ''
    returnType: gsize
    signature: 'gsize g_atomic_rc_box_get_size (gpointer mem_block) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 82
    functionName: glib__private__
    functionSourceFile: /src/glib/glib/glib-private.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GLibPrivateVTable*
    signature: 'const GLibPrivateVTable *glib__private__ (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _set_thread_local_invalid_parameter_handler
      Src: /src/glib/glib/glib-private.c:125,1
    - Dst: _CrtSetReportMode
      Src: /src/glib/glib/glib-private.c:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - handler
    argTypes:
    - GWin32InvalidParameterHandler*
    constantsTouched: []
    func_position:
      end: 131
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 131
    functionName: g_win32_push_empty_invalid_parameter_handler
    functionSourceFile: /src/glib/glib/glib-private.c
    functionUses: []
    functionsReached:
    - _CrtSetReportMode
    - _set_thread_local_invalid_parameter_handler
    linkageType: ''
    returnType: void
    signature: 'void g_win32_push_empty_invalid_parameter_handler (GWin32InvalidParameterHandler
      *handler) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _set_thread_local_invalid_parameter_handler
      Src: /src/glib/glib/glib-private.c:146,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/glib-private.c:151,1
    - Dst: _CrtSetReportMode
      Src: /src/glib/glib/glib-private.c:150,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/glib-private.c:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - handler
    argTypes:
    - GWin32InvalidParameterHandler*
    constantsTouched: []
    func_position:
      end: 153
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 153
    functionName: g_win32_pop_invalid_parameter_handler
    functionSourceFile: /src/glib/glib/glib-private.c
    functionUses: []
    functionsReached:
    - _CrtSetReportMode
    - _set_thread_local_invalid_parameter_handler
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_win32_pop_invalid_parameter_handler (GWin32InvalidParameterHandler
      *handler) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 5
    argNames:
    - expression
    - function
    - file
    - line
    - pReserved
    argTypes:
    - wchar_t*
    - wchar_t*
    - wchar_t*
    - unsigned int
    - uintptr_t
    constantsTouched: []
    func_position:
      end: 107
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 107
    functionName: empty_invalid_parameter_handler
    functionSourceFile: /src/glib/glib/glib-private.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void empty_invalid_parameter_handler (const wchar_t *expression,
      const wchar_t *function, const wchar_t *file, unsigned int line, uintptr_t pReserved) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghmac.c:192,1
    - Dst: g_slice_new
      Src: /src/glib/glib/ghmac.c:194,1
    - Dst: g_checksum_copy
      Src: /src/glib/glib/ghmac.c:197,1
    - Dst: g_checksum_copy
      Src: /src/glib/glib/ghmac.c:198,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 201
    functionName: g_hmac_copy
    functionSourceFile: /src/glib/glib/ghmac.c
    functionUses: []
    functionsReached:
    - g_checksum_copy
    - g_return_val_if_fail
    - g_slice_new
    linkageType: ''
    returnType: GHmac*
    signature: 'GHmac *g_hmac_copy (const GHmac *hmac) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghmac.c:241,1
    - Dst: g_checksum_free
      Src: /src/glib/glib/ghmac.c:246,1
    - Dst: g_slice_free
      Src: /src/glib/glib/ghmac.c:247,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/glib/ghmac.c:243,1
    - Dst: g_checksum_free
      Src: /src/glib/glib/ghmac.c:245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - hmac
    argTypes:
    - GHmac*
    constantsTouched: []
    func_position:
      end: 249
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 249
    functionName: g_hmac_unref
    functionSourceFile: /src/glib/glib/ghmac.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_atomic_int_dec_and_test
    - g_checksum_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_hmac_unref (GHmac *hmac) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghmac.c:340,1
    - Dst: g_checksum_type_get_length
      Src: /src/glib/glib/ghmac.c:344,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghmac.c:349,1
    - Dst: g_checksum_get_digest
      Src: /src/glib/glib/ghmac.c:352,1
    - Dst: g_assert
      Src: /src/glib/glib/ghmac.c:345,1
    - Dst: g_assert
      Src: /src/glib/glib/ghmac.c:353,1
    - Dst: g_checksum_update
      Src: /src/glib/glib/ghmac.c:355,1
    - Dst: g_checksum_get_digest
      Src: /src/glib/glib/ghmac.c:356,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - hmac
    - buffer
    - digest_len
    argTypes:
    - GHmac*
    - guint8*
    - gsize*
    constantsTouched: []
    func_position:
      end: 357
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 357
    functionName: g_hmac_get_digest
    functionSourceFile: /src/glib/glib/ghmac.c
    functionUses: []
    functionsReached:
    - g_checksum_get_digest
    - g_return_if_fail
    - g_assert
    - g_checksum_update
    - g_checksum_type_get_length
    linkageType: ''
    returnType: void
    signature: 'void g_hmac_get_digest (GHmac *hmac, guint8 *buffer, gsize *digest_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghmac.c:388,1
    - Dst: g_hmac_get_string
      Src: /src/glib/glib/ghmac.c:395,1
    - Dst: g_strdup
      Src: /src/glib/glib/ghmac.c:395,1
    - Dst: g_hmac_new
      Src: /src/glib/glib/ghmac.c:390,1
    - Dst: g_hmac_update
      Src: /src/glib/glib/ghmac.c:394,1
    - Dst: g_hmac_unref
      Src: /src/glib/glib/ghmac.c:396,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 399
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 399
    functionName: g_compute_hmac_for_data
    functionSourceFile: /src/glib/glib/ghmac.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_hmac_new
    - g_strdup
    - g_hmac_get_string
    - g_hmac_update
    - g_hmac_unref
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_compute_hmac_for_data (GChecksumType digest_type, const guchar
      *key, gsize key_len, const guchar *data, gsize length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghmac.c:462,1
    - Dst: g_compute_hmac_for_data
      Src: /src/glib/glib/ghmac.c:467,1
    - Dst: strlen
      Src: /src/glib/glib/ghmac.c:465,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 469
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 469
    functionName: g_compute_hmac_for_string
    functionSourceFile: /src/glib/glib/ghmac.c
    functionUses: []
    functionsReached:
    - g_compute_hmac_for_data
    - g_return_val_if_fail
    - strlen
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_compute_hmac_for_string (GChecksumType digest_type, const
      guchar *key, gsize key_len, const gchar *str, gssize length) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghmac.c:109,1
    - Dst: g_checksum_new
      Src: /src/glib/glib/ghmac.c:111,1
    - Dst: g_return_val_if_reached
      Src: /src/glib/glib/ghmac.c:128,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghmac.c:112,1
    - Dst: g_slice_new0
      Src: /src/glib/glib/ghmac.c:131,1
    - Dst: g_checksum_new
      Src: /src/glib/glib/ghmac.c:135,1
    - Dst: g_alloca0
      Src: /src/glib/glib/ghmac.c:137,1
    - Dst: g_alloca
      Src: /src/glib/glib/ghmac.c:138,1
    - Dst: g_assert
      Src: /src/glib/glib/ghmac.c:144,1
    - Dst: g_checksum_update
      Src: /src/glib/glib/ghmac.c:146,1
    - Dst: g_checksum_update
      Src: /src/glib/glib/ghmac.c:164,1
    - Dst: g_assert
      Src: /src/glib/glib/ghmac.c:158,1
    - Dst: g_checksum_update
      Src: /src/glib/glib/ghmac.c:169,1
    - Dst: g_checksum_reset
      Src: /src/glib/glib/ghmac.c:148,1
    - Dst: g_checksum_get_digest
      Src: /src/glib/glib/ghmac.c:147,1
    - Dst: memcpy
      Src: /src/glib/glib/ghmac.c:154,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 172
    functionName: g_hmac_new
    functionSourceFile: /src/glib/glib/ghmac.c
    functionUses: []
    functionsReached:
    - g_checksum_get_digest
    - memcpy
    - g_return_val_if_reached
    - g_return_val_if_fail
    - g_slice_new0
    - g_assert
    - g_checksum_update
    - g_alloca0
    - g_alloca
    - g_checksum_new
    - g_checksum_reset
    linkageType: ''
    returnType: GHmac*
    signature: 'GHmac *g_hmac_new (GChecksumType digest_type, const guchar *key, gsize
      key_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghmac.c:218,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/ghmac.c:220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 223
    functionName: g_hmac_ref
    functionSourceFile: /src/glib/glib/ghmac.c
    functionUses: []
    functionsReached:
    - g_atomic_int_inc
    - g_return_val_if_fail
    linkageType: ''
    returnType: GHmac*
    signature: 'GHmac *g_hmac_ref (GHmac *hmac) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghmac.c:269,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghmac.c:270,1
    - Dst: g_checksum_update
      Src: /src/glib/glib/ghmac.c:272,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - hmac
    - data
    - length
    argTypes:
    - GHmac*
    - guchar*
    - gssize
    constantsTouched: []
    func_position:
      end: 273
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 273
    functionName: g_hmac_update
    functionSourceFile: /src/glib/glib/ghmac.c
    functionUses: []
    functionsReached:
    - g_checksum_update
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_hmac_update (GHmac *hmac, const guchar *data, gssize length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghmac.c:299,1
    - Dst: g_hmac_get_digest
      Src: /src/glib/glib/ghmac.c:310,1
    - Dst: g_assert
      Src: /src/glib/glib/ghmac.c:304,1
    - Dst: g_alloca
      Src: /src/glib/glib/ghmac.c:307,1
    - Dst: g_checksum_type_get_length
      Src: /src/glib/glib/ghmac.c:303,1
    - Dst: g_checksum_get_string
      Src: /src/glib/glib/ghmac.c:314,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 315
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 315
    functionName: g_hmac_get_string
    functionSourceFile: /src/glib/glib/ghmac.c
    functionUses: []
    functionsReached:
    - g_hmac_get_digest
    - g_return_val_if_fail
    - g_assert
    - g_alloca
    - g_checksum_type_get_length
    - g_checksum_get_string
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_hmac_get_string (GHmac *hmac) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghmac.c:428,1
    - Dst: g_compute_hmac_for_data
      Src: /src/glib/glib/ghmac.c:433,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/ghmac.c:431,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghmac.c:429,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/ghmac.c:432,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 434
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 434
    functionName: g_compute_hmac_for_bytes
    functionSourceFile: /src/glib/glib/ghmac.c
    functionUses: []
    functionsReached:
    - g_compute_hmac_for_data
    - g_return_val_if_fail
    - g_bytes_get_data
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_compute_hmac_for_bytes (GChecksumType digest_type, GBytes
      *key, GBytes *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gscanner.c:943,1
    - Dst: g_scanner_get_token_i
      Src: /src/glib/glib/gscanner.c:949,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - scanner
    argTypes:
    - GScanner*
    constantsTouched: []
    func_position:
      end: 957
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 957
    functionName: g_scanner_peek_next_token
    functionSourceFile: /src/glib/glib/gscanner.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_scanner_get_token_i
    linkageType: ''
    returnType: GTokenType
    signature: "GTokenType g_scanner_peek_next_token (GScanner\t*scanner) "
  - BBCount: 61
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gscanner.c:1333,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1365,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1420,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1424,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1435,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1458,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1468,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1480,1
    - Dst: strchr
      Src: /src/glib/glib/gscanner.c:1506,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1510,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1546,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1551,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1569,1
    - Dst: g_new
      Src: /src/glib/glib/gscanner.c:1348,1
    - Dst: strchr
      Src: /src/glib/glib/gscanner.c:1362,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1370,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1400,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1456,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1508,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1523,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1531,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1560,1
    - Dst: msg_handler
      Src: /src/glib/glib/gscanner.c:1600,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1515,1
    - Dst: msg_handler
      Src: /src/glib/glib/gscanner.c:1631,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1541,1
    - Dst: g_new
      Src: /src/glib/glib/gscanner.c:1346,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1363,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1429,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1408,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1416,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1412,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1404,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1443,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gscanner.c:1490,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1500,1
    - Dst: msg_handler
      Src: /src/glib/glib/gscanner.c:1615,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1536,1
    - Dst: g_free
      Src: /src/glib/glib/gscanner.c:1639,1
    - Dst: strchr
      Src: /src/glib/glib/gscanner.c:1361,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1354,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1380,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1387,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1462,1
    - Dst: strchr
      Src: /src/glib/glib/gscanner.c:1507,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1556,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1577,1
    - Dst: msg_handler
      Src: /src/glib/glib/gscanner.c:1624,1
    - Dst: g_free
      Src: /src/glib/glib/gscanner.c:1640,1
    - Dst: _g_snprintf
      Src: /src/glib/glib/gscanner.c:1582,1
    - Dst: msg_handler
      Src: /src/glib/glib/gscanner.c:1609,1
    CyclomaticComplexity: 90
    EdgeCount: 90
    ICount: 146
    argCount: 7
    argNames:
    - scanner
    - expected_token
    - identifier_spec
    - symbol_spec
    - symbol_name
    - message
    - is_error
    argTypes:
    - GScanner*
    - GTokenType
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - gint
    constantsTouched: []
    func_position:
      end: 1641
      start: 1316
    functionDepth: 0
    functionLinenumber: 1316
    functionLinenumberEnd: 1641
    functionName: g_scanner_unexp_token
    functionSourceFile: /src/glib/glib/gscanner.c
    functionUses: []
    functionsReached:
    - msg_handler
    - g_new
    - g_return_if_fail
    - g_assert_not_reached
    - strchr
    - _g_snprintf
    - g_free
    linkageType: ''
    returnType: void
    signature: "void g_scanner_unexp_token (GScanner\t\t*scanner,\t\t GTokenType\t\
      \ expected_token,\t\t const gchar\t*identifier_spec,\t\t const gchar\t*symbol_spec,\t\
      \t const gchar\t*symbol_name,\t\t const gchar\t*message,\t\t gint\t\t is_error) "
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_scanner_free_value
      Src: /src/glib/glib/gscanner.c:1652,1
    - Dst: strchr
      Src: /src/glib/glib/gscanner.c:1658,1
    - Dst: strchr
      Src: /src/glib/glib/gscanner.c:1656,1
    - Dst: g_scanner_get_token_ll
      Src: /src/glib/glib/gscanner.c:1653,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 33
    argCount: 5
    argNames:
    - scanner
    - token_p
    - value_p
    - line_p
    - position_p
    argTypes:
    - GScanner*
    - GTokenType*
    - GTokenValue*
    - guint*
    - guint*
    constantsTouched: []
    func_position:
      end: 1707
      start: 1643
    functionDepth: 0
    functionLinenumber: 1643
    functionLinenumberEnd: 1707
    functionName: g_scanner_get_token_i
    functionSourceFile: /src/glib/glib/gscanner.c
    functionUses: []
    functionsReached:
    - strchr
    - g_scanner_free_value
    - g_scanner_get_token_ll
    linkageType: ''
    returnType: void
    signature: "static void g_scanner_get_token_i (GScanner\t*scanner,\t\t GTokenType\t\
      *token_p,\t\t GTokenValue\t*value_p,\t\t guint\t\t*line_p,\t\t guint\t\t*position_p) "
  - BBCount: 106
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/glib/glib/gscanner.c:1756,1
    - Dst: g_scanner_get_char
      Src: /src/glib/glib/gscanner.c:1771,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gscanner.c:1847,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gscanner.c:1803,1
    - Dst: g_scanner_peek_next_char
      Src: /src/glib/glib/gscanner.c:1872,1
    - Dst: g_scanner_get_char
      Src: /src/glib/glib/gscanner.c:1875,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gscanner.c:1883,1
    - Dst: g_scanner_get_char
      Src: /src/glib/glib/gscanner.c:1899,1
    - Dst: g_scanner_get_char
      Src: /src/glib/glib/gscanner.c:1919,1
    - Dst: g_scanner_char_2_num
      Src: /src/glib/glib/gscanner.c:1947,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gscanner.c:2049,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gscanner.c:2004,1
    - Dst: g_string_free
      Src: /src/glib/glib/gscanner.c:2203,1
    - Dst: g_scanner_peek_next_char
      Src: /src/glib/glib/gscanner.c:2154,1
    - Dst: g_string_new
      Src: /src/glib/glib/gscanner.c:1774,1
    - Dst: g_scanner_peek_next_char
      Src: /src/glib/glib/gscanner.c:1769,1
    - Dst: g_scanner_get_char
      Src: /src/glib/glib/gscanner.c:1775,1
    - Dst: g_string_new
      Src: /src/glib/glib/gscanner.c:1794,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gscanner.c:1843,1
    - Dst: g_scanner_get_char
      Src: /src/glib/glib/gscanner.c:1795,1
    - Dst: g_scanner_peek_next_char
      Src: /src/glib/glib/gscanner.c:1867,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gscanner.c:1879,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gscanner.c:1888,1
    - Dst: g_scanner_peek_next_char
      Src: /src/glib/glib/gscanner.c:1914,1
    - Dst: g_scanner_get_char
      Src: /src/glib/glib/gscanner.c:1990,1
    - Dst: g_strtod
      Src: /src/glib/glib/gscanner.c:2072,1
    - Dst: g_string_free
      Src: /src/glib/glib/gscanner.c:2105,1
    - Dst: g_scanner_char_2_num
      Src: /src/glib/glib/gscanner.c:1986,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gscanner.c:2018,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gscanner.c:2130,1
    - Dst: g_ascii_strtoull
      Src: /src/glib/glib/gscanner.c:2085,1
    - Dst: g_scanner_get_char
      Src: /src/glib/glib/gscanner.c:2131,1
    - Dst: g_scanner_lookup_internal
      Src: /src/glib/glib/gscanner.c:2217,1
    - Dst: g_scanner_get_char
      Src: /src/glib/glib/gscanner.c:1746,1
    - Dst: g_scanner_peek_next_char
      Src: /src/glib/glib/gscanner.c:1777,1
    - Dst: g_scanner_get_char
      Src: /src/glib/glib/gscanner.c:1779,1
    - Dst: g_scanner_get_char
      Src: /src/glib/glib/gscanner.c:1814,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gscanner.c:1839,1
    - Dst: g_string_new
      Src: /src/glib/glib/gscanner.c:1813,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gscanner.c:1855,1
    - Dst: g_scanner_get_char
      Src: /src/glib/glib/gscanner.c:1870,1
    - Dst: g_scanner_get_char
      Src: /src/glib/glib/gscanner.c:1918,1
    - Dst: g_scanner_char_2_num
      Src: /src/glib/glib/gscanner.c:1927,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gscanner.c:2149,1
    - Dst: g_scanner_get_char
      Src: /src/glib/glib/gscanner.c:2152,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gscanner.c:2153,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gscanner.c:2061,1
    - Dst: g_scanner_peek_next_char
      Src: /src/glib/glib/gscanner.c:1984,1
    - Dst: g_scanner_get_char
      Src: /src/glib/glib/gscanner.c:2120,1
    - Dst: g_scanner_lookup_internal
      Src: /src/glib/glib/gscanner.c:2215,1
    - Dst: strlen
      Src: /src/glib/glib/gscanner.c:2229,1
    - Dst: g_scanner_get_char
      Src: /src/glib/glib/gscanner.c:1938,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gscanner.c:2030,1
    - Dst: strchr
      Src: /src/glib/glib/gscanner.c:2139,1
    - Dst: g_assert
      Src: /src/glib/glib/gscanner.c:2181,1
    - Dst: g_ascii_strtoull
      Src: /src/glib/glib/gscanner.c:2082,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gscanner.c:1784,1
    - Dst: g_scanner_get_char
      Src: /src/glib/glib/gscanner.c:1825,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gscanner.c:1835,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gscanner.c:1851,1
    - Dst: g_scanner_get_char
      Src: /src/glib/glib/gscanner.c:1906,1
    - Dst: g_string_new
      Src: /src/glib/glib/gscanner.c:1975,1
    - Dst: g_ascii_strtoull
      Src: /src/glib/glib/gscanner.c:2079,1
    - Dst: g_ascii_strtoull
      Src: /src/glib/glib/gscanner.c:2088,1
    - Dst: g_string_new
      Src: /src/glib/glib/gscanner.c:2119,1
    - Dst: strchr
      Src: /src/glib/glib/gscanner.c:2144,1
    - Dst: g_string_new
      Src: /src/glib/glib/gscanner.c:2148,1
    - Dst: strchr
      Src: /src/glib/glib/gscanner.c:2156,1
    - Dst: g_new0
      Src: /src/glib/glib/gscanner.c:2162,1
    - Dst: g_string_free
      Src: /src/glib/glib/gscanner.c:2191,1
    - Dst: g_free
      Src: /src/glib/glib/gscanner.c:2221,1
    - Dst: g_scanner_get_char
      Src: /src/glib/glib/gscanner.c:1939,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gscanner.c:1976,1
    - Dst: g_scanner_peek_next_char
      Src: /src/glib/glib/gscanner.c:2145,1
    CyclomaticComplexity: 189
    EdgeCount: 189
    ICount: 412
    argCount: 5
    argNames:
    - scanner
    - token_p
    - value_p
    - line_p
    - position_p
    argTypes:
    - GScanner*
    - GTokenType*
    - GTokenValue*
    - guint*
    - guint*
    constantsTouched: []
    func_position:
      end: 2259
      start: 1709
    functionDepth: 0
    functionLinenumber: 1709
    functionLinenumberEnd: 2259
    functionName: g_scanner_get_token_ll
    functionSourceFile: /src/glib/glib/gscanner.c
    functionUses: []
    functionsReached:
    - strlen
    - g_scanner_get_char
    - g_string_append_c
    - g_ascii_strtoull
    - g_assert
    - strchr
    - g_scanner_peek_next_char
    - g_strtod
    - g_string_free
    - g_string_new
    - g_scanner_char_2_num
    - g_scanner_lookup_internal
    - g_free
    - g_new0
    linkageType: ''
    returnType: void
    signature: "static void g_scanner_get_token_ll\t(GScanner\t*scanner,\t\t\t GTokenType\t\
      *token_p,\t\t\t GTokenValue\t*value_p,\t\t\t guint\t\t*line_p,\t\t\t guint\t\
      \t*position_p) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gscanner.c:686,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gscanner.c:687,1
    - Dst: g_new
      Src: /src/glib/glib/gscanner.c:693,1
    - Dst: g_scanner_lookup_internal
      Src: /src/glib/glib/gscanner.c:689,1
    - Dst: g_strdup
      Src: /src/glib/glib/gscanner.c:695,1
    - Dst: to_lower
      Src: /src/glib/glib/gscanner.c:704,1
    - Dst: g_hash_table_add
      Src: /src/glib/glib/gscanner.c:708,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 4
    argNames:
    - scanner
    - scope_id
    - symbol
    - value
    argTypes:
    - GScanner*
    - guint
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 712
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 712
    functionName: g_scanner_scope_add_symbol
    functionSourceFile: /src/glib/glib/gscanner.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_new
    - g_return_if_fail
    - to_lower
    - g_scanner_lookup_internal
    - g_hash_table_add
    linkageType: ''
    returnType: void
    signature: "void g_scanner_scope_add_symbol (GScanner\t*scanner,\t\t\t guint\t\
      \ scope_id,\t\t\t const gchar\t*symbol,\t\t\t gpointer\t value) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/gscanner.c:481,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 4
    argCount: 2
    argNames:
    - token_p
    - value_p
    argTypes:
    - GTokenType*
    - GTokenValue*
    constantsTouched: []
    func_position:
      end: 489
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 489
    functionName: g_scanner_free_value
    functionSourceFile: /src/glib/glib/gscanner.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: "static inline void g_scanner_free_value (GTokenType *token_p,\t\t\
      \ GTokenValue *value_p) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gscanner.c:585,1
    - Dst: va_start
      Src: /src/glib/glib/gscanner.c:593,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/glib/gscanner.c:594,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gscanner.c:586,1
    - Dst: va_end
      Src: /src/glib/glib/gscanner.c:595,1
    - Dst: g_free
      Src: /src/glib/glib/gscanner.c:599,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - scanner
    - format
    - '...'
    argTypes:
    - GScanner*
    - gchar*
    constantsTouched: []
    func_position:
      end: 601
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 601
    functionName: g_scanner_warn
    functionSourceFile: /src/glib/glib/gscanner.c
    functionUses: []
    functionsReached:
    - g_strdup_vprintf
    - g_return_if_fail
    - va_end
    - g_free
    - va_start
    linkageType: ''
    returnType: void
    signature: "void g_scanner_warn (GScanner *scanner,\t\tconst gchar *format,\t\t\
      ...) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/glib/gscanner.c:610,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 611
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 611
    functionName: g_scanner_key_equal
    functionSourceFile: /src/glib/glib/gscanner.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_scanner_key_equal (gconstpointer v1,\t\t gconstpointer\
      \ v2) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gscanner.c:739,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gscanner.c:740,1
    - Dst: g_scanner_lookup_internal
      Src: /src/glib/glib/gscanner.c:742,1
    - Dst: g_free
      Src: /src/glib/glib/gscanner.c:747,1
    - Dst: g_hash_table_remove
      Src: /src/glib/glib/gscanner.c:746,1
    - Dst: g_free
      Src: /src/glib/glib/gscanner.c:748,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - scanner
    - scope_id
    - symbol
    argTypes:
    - GScanner*
    - guint
    - gchar*
    constantsTouched: []
    func_position:
      end: 750
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 750
    functionName: g_scanner_scope_remove_symbol
    functionSourceFile: /src/glib/glib/gscanner.c
    functionUses: []
    functionsReached:
    - g_hash_table_remove
    - g_scanner_lookup_internal
    - g_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_scanner_scope_remove_symbol (GScanner\t *scanner,\t\t\t guint\t\
      \ scope_id,\t\t\t const gchar *symbol) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/gscanner.c:498,1
    - Dst: g_free
      Src: /src/glib/glib/gscanner.c:499,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - _key
    - _value
    - _data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 500
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 500
    functionName: g_scanner_destroy_symbol_table_entry
    functionSourceFile: /src/glib/glib/gscanner.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: "static void g_scanner_destroy_symbol_table_entry (gpointer _key,\t\
      \t\t\t gpointer _value,\t\t\t\t gpointer _data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - v
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 625
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 625
    functionName: g_scanner_key_hash
    functionSourceFile: /src/glib/glib/gscanner.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint
    signature: 'static guint g_scanner_key_hash (gconstpointer v) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gscanner.c:552,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/glib/gscanner.c:563,1
    - Dst: va_start
      Src: /src/glib/glib/gscanner.c:562,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gscanner.c:553,1
    - Dst: va_end
      Src: /src/glib/glib/gscanner.c:564,1
    - Dst: g_free
      Src: /src/glib/glib/gscanner.c:568,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - scanner
    - format
    - '...'
    argTypes:
    - GScanner*
    - gchar*
    constantsTouched: []
    func_position:
      end: 570
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 570
    functionName: g_scanner_error
    functionSourceFile: /src/glib/glib/gscanner.c
    functionUses: []
    functionsReached:
    - g_strdup_vprintf
    - g_return_if_fail
    - va_end
    - g_free
    - va_start
    linkageType: ''
    returnType: void
    signature: "void g_scanner_error (GScanner\t*scanner,\t\t const gchar\t*format,\t\
      \t ...) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gscanner.c:973,1
    - Dst: g_scanner_free_value
      Src: /src/glib/glib/gscanner.c:977,1
    - Dst: g_scanner_get_token_i
      Src: /src/glib/glib/gscanner.c:986,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - scanner
    argTypes:
    - GScanner*
    constantsTouched: []
    func_position:
      end: 993
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 993
    functionName: g_scanner_get_next_token
    functionSourceFile: /src/glib/glib/gscanner.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_scanner_get_token_i
    - g_scanner_free_value
    linkageType: ''
    returnType: GTokenType
    signature: "GTokenType g_scanner_get_next_token (GScanner\t*scanner) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gscanner.c:511,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/glib/gscanner.c:516,1
    - Dst: g_datalist_clear
      Src: /src/glib/glib/gscanner.c:513,1
    - Dst: g_scanner_free_value
      Src: /src/glib/glib/gscanner.c:517,1
    - Dst: g_hash_table_foreach
      Src: /src/glib/glib/gscanner.c:514,1
    - Dst: g_scanner_free_value
      Src: /src/glib/glib/gscanner.c:518,1
    - Dst: g_free
      Src: /src/glib/glib/gscanner.c:519,1
    - Dst: g_free
      Src: /src/glib/glib/gscanner.c:520,1
    - Dst: g_free
      Src: /src/glib/glib/gscanner.c:521,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - scanner
    argTypes:
    - GScanner*
    constantsTouched: []
    func_position:
      end: 522
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 522
    functionName: g_scanner_destroy
    functionSourceFile: /src/glib/glib/gscanner.c
    functionUses: []
    functionsReached:
    - g_scanner_free_value
    - g_return_if_fail
    - g_datalist_clear
    - g_free
    - g_hash_table_foreach
    - g_hash_table_destroy
    linkageType: ''
    returnType: void
    signature: 'void g_scanner_destroy (GScanner *scanner) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/glib/gscanner.c:409,1
    - Dst: g_datalist_init
      Src: /src/glib/glib/gscanner.c:415,1
    - Dst: g_hash_table_new
      Src: /src/glib/glib/gscanner.c:458,1
    - Dst: g_new0
      Src: /src/glib/glib/gscanner.c:417,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 468
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 468
    functionName: g_scanner_new
    functionSourceFile: /src/glib/glib/gscanner.c
    functionUses: []
    functionsReached:
    - g_new0
    - g_datalist_init
    - g_hash_table_new
    linkageType: ''
    returnType: GScanner*
    signature: 'GScanner *g_scanner_new (const GScannerConfig *config_templ) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gscanner.c:789,1
    - Dst: g_scanner_lookup_internal
      Src: /src/glib/glib/gscanner.c:797,1
    - Dst: g_scanner_lookup_internal
      Src: /src/glib/glib/gscanner.c:795,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - scanner
    - symbol
    argTypes:
    - GScanner*
    - gchar*
    constantsTouched: []
    func_position:
      end: 803
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 803
    functionName: g_scanner_lookup_symbol
    functionSourceFile: /src/glib/glib/gscanner.c
    functionUses: []
    functionsReached:
    - g_scanner_lookup_internal
    - g_return_val_if_fail
    linkageType: ''
    returnType: gpointer
    signature: "gpointer g_scanner_lookup_symbol (GScanner\t*scanner,\t\t\t const\
      \ gchar\t*symbol) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gscanner.c:825,1
    - Dst: g_scanner_lookup_internal
      Src: /src/glib/glib/gscanner.c:830,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - scanner
    - scope_id
    - symbol
    argTypes:
    - GScanner*
    - guint
    - gchar*
    constantsTouched: []
    func_position:
      end: 836
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 836
    functionName: g_scanner_scope_lookup_symbol
    functionSourceFile: /src/glib/glib/gscanner.c
    functionUses: []
    functionsReached:
    - g_scanner_lookup_internal
    - g_return_val_if_fail
    linkageType: ''
    returnType: gpointer
    signature: "gpointer g_scanner_scope_lookup_symbol (GScanner\t *scanner,\t\t\t\
      \ guint\t scope_id,\t\t\t const gchar *symbol) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gscanner.c:1028,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - scanner
    argTypes:
    - GScanner*
    constantsTouched: []
    func_position:
      end: 1035
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1035
    functionName: g_scanner_cur_value
    functionSourceFile: /src/glib/glib/gscanner.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: GTokenValue
    signature: 'GTokenValue g_scanner_cur_value (GScanner *scanner) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gscanner.c:1050,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - scanner
    argTypes:
    - GScanner*
    constantsTouched: []
    func_position:
      end: 1053
      start: 1047
    functionDepth: 0
    functionLinenumber: 1047
    functionLinenumberEnd: 1053
    functionName: g_scanner_cur_line
    functionSourceFile: /src/glib/glib/gscanner.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: guint
    signature: 'guint g_scanner_cur_line (GScanner *scanner) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gscanner.c:1102,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gscanner.c:1103,1
    - Dst: g_scanner_sync_file_offset
      Src: /src/glib/glib/gscanner.c:1106,1
    - Dst: g_new
      Src: /src/glib/glib/gscanner.c:1119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - scanner
    - input_fd
    argTypes:
    - GScanner*
    - gint
    constantsTouched: []
    func_position:
      end: 1120
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1120
    functionName: g_scanner_input_file
    functionSourceFile: /src/glib/glib/gscanner.c
    functionUses: []
    functionsReached:
    - g_scanner_sync_file_offset
    - g_new
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_scanner_input_file (GScanner *scanner,\t\t gint\tinput_fd) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gscanner.c:1135,1
    - Dst: g_free
      Src: /src/glib/glib/gscanner.c:1156,1
    - Dst: g_scanner_sync_file_offset
      Src: /src/glib/glib/gscanner.c:1142,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gscanner.c:1137,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - scanner
    - text
    - text_len
    argTypes:
    - GScanner*
    - gchar*
    - guint
    constantsTouched: []
    func_position:
      end: 1159
      start: 1130
    functionDepth: 0
    functionLinenumber: 1130
    functionLinenumberEnd: 1159
    functionName: g_scanner_input_text
    functionSourceFile: /src/glib/glib/gscanner.c
    functionUses: []
    functionsReached:
    - g_scanner_sync_file_offset
    - g_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_scanner_input_text (GScanner\t *scanner,\t\t const gchar *text,\t\
      \t guint\t text_len) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gscanner.c:529,1
    - Dst: _g_fprintf
      Src: /src/glib/glib/gscanner.c:531,1
    - Dst: _g_fprintf
      Src: /src/glib/glib/gscanner.c:535,1
    - Dst: _g_fprintf
      Src: /src/glib/glib/gscanner.c:536,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - scanner
    - message
    - is_error
    argTypes:
    - GScanner*
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 537
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 537
    functionName: g_scanner_msg_handler
    functionSourceFile: /src/glib/glib/gscanner.c
    functionUses: []
    functionsReached:
    - _g_fprintf
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "static void g_scanner_msg_handler (GScanner\t\t*scanner,\t\t gchar\t\
      \t*message,\t\t gboolean\t\tis_error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gscanner.c:913,1
    - Dst: g_hash_table_foreach
      Src: /src/glib/glib/gscanner.c:919,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - scanner
    - scope_id
    - func
    - user_data
    argTypes:
    - GScanner*
    - guint
    - GHFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 920
      start: 905
    functionDepth: 0
    functionLinenumber: 905
    functionLinenumberEnd: 920
    functionName: g_scanner_scope_foreach_symbol
    functionSourceFile: /src/glib/glib/gscanner.c
    functionUses: []
    functionsReached:
    - g_hash_table_foreach
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_scanner_scope_foreach_symbol (GScanner *scanner,\t\t\t\tguint\t\
      \tscope_id,\t\t\t\tGHFunc\t\tfunc,\t\t\t\tgpointer\tuser_data) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/glib/glib/gscanner.c:1176,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - scanner
    argTypes:
    - GScanner*
    constantsTouched: []
    func_position:
      end: 1196
      start: 1161
    functionDepth: 0
    functionLinenumber: 1161
    functionLinenumberEnd: 1196
    functionName: g_scanner_peek_next_char
    functionSourceFile: /src/glib/glib/gscanner.c
    functionUses: []
    functionsReached:
    - read
    linkageType: ''
    returnType: guchar
    signature: 'static guchar g_scanner_peek_next_char (GScanner *scanner) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/glib/glib/gscanner.c:1251,1
    - Dst: g_scanner_sync_file_offset
      Src: /src/glib/glib/gscanner.c:1267,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 3
    argNames:
    - scanner
    - line_p
    - position_p
    argTypes:
    - GScanner*
    - guint*
    - guint*
    constantsTouched: []
    func_position:
      end: 1287
      start: 1234
    functionDepth: 0
    functionLinenumber: 1234
    functionLinenumberEnd: 1287
    functionName: g_scanner_get_char
    functionSourceFile: /src/glib/glib/gscanner.c
    functionUses: []
    functionsReached:
    - g_scanner_sync_file_offset
    - read
    linkageType: ''
    returnType: guchar
    signature: "static guchar g_scanner_get_char (GScanner\t*scanner,\t\t guint\t\
      *line_p,\t\t guint\t*position_p) "
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - c
    - base
    argTypes:
    - guchar
    - guchar
    constantsTouched: []
    func_position:
      end: 386
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 386
    functionName: g_scanner_char_2_num
    functionSourceFile: /src/glib/glib/gscanner.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint
    signature: "static inline gint g_scanner_char_2_num (guchar\tc,\t\t guchar\tbase) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/glib/glib/gscanner.c:879,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - _key
    - _value
    - _user_data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 880
      start: 861
    functionDepth: 0
    functionLinenumber: 861
    functionLinenumberEnd: 880
    functionName: g_scanner_foreach_internal
    functionSourceFile: /src/glib/glib/gscanner.c
    functionUses: []
    functionsReached:
    - func
    linkageType: ''
    returnType: void
    signature: "static void g_scanner_foreach_internal (gpointer _key,\t\t\t gpointer\
      \ _value,\t\t\t gpointer _user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gscanner.c:1007,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - scanner
    argTypes:
    - GScanner*
    constantsTouched: []
    func_position:
      end: 1010
      start: 1004
    functionDepth: 0
    functionLinenumber: 1004
    functionLinenumberEnd: 1010
    functionName: g_scanner_cur_token
    functionSourceFile: /src/glib/glib/gscanner.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: GTokenType
    signature: 'GTokenType g_scanner_cur_token (GScanner *scanner) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gscanner.c:1086,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - scanner
    argTypes:
    - GScanner*
    constantsTouched: []
    func_position:
      end: 1089
      start: 1083
    functionDepth: 0
    functionLinenumber: 1083
    functionLinenumberEnd: 1089
    functionName: g_scanner_eof
    functionSourceFile: /src/glib/glib/gscanner.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_scanner_eof (GScanner\t*scanner) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/glib/gscanner.c:642,1
    - Dst: strlen
      Src: /src/glib/glib/gscanner.c:642,1
    - Dst: g_free
      Src: /src/glib/glib/gscanner.c:647,1
    - Dst: to_lower
      Src: /src/glib/glib/gscanner.c:644,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/gscanner.c:646,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/gscanner.c:652,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 656
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 656
    functionName: g_scanner_lookup_internal
    functionSourceFile: /src/glib/glib/gscanner.c
    functionUses: []
    functionsReached:
    - strlen
    - g_new
    - g_hash_table_lookup
    - to_lower
    - g_free
    linkageType: ''
    returnType: GScannerKey*
    signature: "static inline GScannerKey *g_scanner_lookup_internal (GScanner\t*scanner,\t\
      \t\t guint\t scope_id,\t\t\t const gchar\t*symbol) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gscanner.c:1210,1
    - Dst: lseek
      Src: /src/glib/glib/gscanner.c:1223,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - scanner
    argTypes:
    - GScanner*
    constantsTouched: []
    func_position:
      end: 1232
      start: 1207
    functionDepth: 0
    functionLinenumber: 1207
    functionLinenumberEnd: 1232
    functionName: g_scanner_sync_file_offset
    functionSourceFile: /src/glib/glib/gscanner.c
    functionUses: []
    functionsReached:
    - lseek
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_scanner_sync_file_offset (GScanner *scanner) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gscanner.c:853,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - scanner
    - scope_id
    argTypes:
    - GScanner*
    - guint
    constantsTouched: []
    func_position:
      end: 859
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 859
    functionName: g_scanner_set_scope
    functionSourceFile: /src/glib/glib/gscanner.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: guint
    signature: "guint g_scanner_set_scope (GScanner\t *scanner,\t\t guint\t scope_id) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gscanner.c:1068,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - scanner
    argTypes:
    - GScanner*
    constantsTouched: []
    func_position:
      end: 1071
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1071
    functionName: g_scanner_cur_position
    functionSourceFile: /src/glib/glib/gscanner.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: guint
    signature: 'guint g_scanner_cur_position (GScanner *scanner) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_spawn_async_with_pipes
      Src: /src/glib/glib/gspawn.c:78,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 8
    argNames:
    - working_directory
    - argv
    - envp
    - flags
    - child_setup
    - user_data
    - child_pid
    - error
    argTypes:
    - gchar*
    - gchar**
    - gchar**
    - GSpawnFlags
    - GSpawnChildSetupFunc
    - gpointer
    - GPid*
    - GError**
    constantsTouched: []
    func_position:
      end: 86
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 86
    functionName: g_spawn_async
    functionSourceFile: /src/glib/glib/gspawn.c
    functionUses: []
    functionsReached:
    - g_spawn_async_with_pipes
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_spawn_async (const gchar *working_directory, gchar **argv,
      gchar **envp, GSpawnFlags flags, GSpawnChildSetupFunc child_setup, gpointer
      user_data, GPid *child_pid, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn.c:511,1
    - Dst: g_spawn_async_with_pipes_and_fds
      Src: /src/glib/glib/gspawn.c:519,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn.c:513,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn.c:516,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 11
    argNames:
    - working_directory
    - argv
    - envp
    - flags
    - child_setup
    - user_data
    - child_pid
    - stdin_fd
    - stdout_fd
    - stderr_fd
    - error
    argTypes:
    - gchar*
    - gchar**
    - gchar**
    - GSpawnFlags
    - GSpawnChildSetupFunc
    - gpointer
    - GPid*
    - gint
    - gint
    - gint
    - GError**
    constantsTouched: []
    func_position:
      end: 528
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 528
    functionName: g_spawn_async_with_fds
    functionSourceFile: /src/glib/glib/gspawn.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_spawn_async_with_pipes_and_fds
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_spawn_async_with_fds (const gchar *working_directory, gchar
      **argv, gchar **envp, GSpawnFlags flags, GSpawnChildSetupFunc child_setup, gpointer
      user_data, GPid *child_pid, gint stdin_fd, gint stdout_fd, gint stderr_fd, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn.c:143,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn.c:144,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn.c:145,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn.c:146,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn.c:148,1
    - Dst: g_spawn_sync_impl
      Src: /src/glib/glib/gspawn.c:151,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 19
    argCount: 10
    argNames:
    - working_directory
    - argv
    - envp
    - flags
    - child_setup
    - user_data
    - standard_output
    - standard_error
    - wait_status
    - error
    argTypes:
    - gchar*
    - gchar**
    - gchar**
    - GSpawnFlags
    - GSpawnChildSetupFunc
    - gpointer
    - gchar**
    - gchar**
    - gint*
    - GError**
    constantsTouched: []
    func_position:
      end: 154
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 154
    functionName: g_spawn_sync
    functionSourceFile: /src/glib/glib/gspawn.c
    functionUses: []
    functionsReached:
    - g_spawn_sync_impl
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_spawn_sync (const gchar *working_directory, gchar **argv,
      gchar **envp, GSpawnFlags flags, GSpawnChildSetupFunc child_setup, gpointer
      user_data, gchar **standard_output, gchar **standard_error, gint *wait_status,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn.c:628,1
    - Dst: g_shell_parse_argv
      Src: /src/glib/glib/gspawn.c:631,1
    - Dst: g_spawn_async
      Src: /src/glib/glib/gspawn.c:636,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gspawn.c:644,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - command_line
    - error
    argTypes:
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 647
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 647
    functionName: g_spawn_command_line_async
    functionSourceFile: /src/glib/glib/gspawn.c
    functionUses: []
    functionsReached:
    - g_strfreev
    - g_shell_parse_argv
    - g_return_val_if_fail
    - g_spawn_async
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_spawn_command_line_async (const gchar *command_line, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/gspawn.c:731,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - wait_status
    - error
    argTypes:
    - gint
    - GError**
    constantsTouched: []
    func_position:
      end: 732
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 732
    functionName: g_spawn_check_exit_status
    functionSourceFile: /src/glib/glib/gspawn.c
    functionUses: []
    functionsReached:
    - g_spawn_check_wait_status
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_spawn_check_exit_status (gint wait_status, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn.c:452,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn.c:455,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn.c:457,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn.c:456,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn.c:453,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn.c:459,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn.c:460,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn.c:461,1
    - Dst: g_spawn_async_with_pipes_and_fds_impl
      Src: /src/glib/glib/gspawn.c:463,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 27
    argCount: 17
    argNames:
    - working_directory
    - argv
    - envp
    - flags
    - child_setup
    - user_data
    - stdin_fd
    - stdout_fd
    - stderr_fd
    - source_fds
    - target_fds
    - n_fds
    - child_pid_out
    - stdin_pipe_out
    - stdout_pipe_out
    - stderr_pipe_out
    - error
    argTypes:
    - gchar*
    - gchar**
    - gchar**
    - GSpawnFlags
    - GSpawnChildSetupFunc
    - gpointer
    - gint
    - gint
    - gint
    - gint*
    - gint*
    - gsize
    - GPid*
    - gint*
    - gint*
    - gint*
    - GError**
    constantsTouched: []
    func_position:
      end: 471
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 471
    functionName: g_spawn_async_with_pipes_and_fds
    functionSourceFile: /src/glib/glib/gspawn.c
    functionUses: []
    functionsReached:
    - g_spawn_async_with_pipes_and_fds_impl
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_spawn_async_with_pipes_and_fds (const gchar *working_directory,
      const gchar * const *argv, const gchar * const *envp, GSpawnFlags flags, GSpawnChildSetupFunc
      child_setup, gpointer user_data, gint stdin_fd, gint stdout_fd, gint stderr_fd,
      const gint *source_fds, const gint *target_fds, gsize n_fds, GPid *child_pid_out,
      gint *stdin_pipe_out, gint *stdout_pipe_out, gint *stderr_pipe_out, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_spawn_async_with_pipes_and_fds
      Src: /src/glib/glib/gspawn.c:193,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 2
    argCount: 11
    argNames:
    - working_directory
    - argv
    - envp
    - flags
    - child_setup
    - user_data
    - child_pid
    - standard_input
    - standard_output
    - standard_error
    - error
    argTypes:
    - gchar*
    - gchar**
    - gchar**
    - GSpawnFlags
    - GSpawnChildSetupFunc
    - gpointer
    - GPid*
    - gint*
    - gint*
    - gint*
    - GError**
    constantsTouched: []
    func_position:
      end: 205
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 205
    functionName: g_spawn_async_with_pipes
    functionSourceFile: /src/glib/glib/gspawn.c
    functionUses: []
    functionsReached:
    - g_spawn_async_with_pipes_and_fds
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_spawn_async_with_pipes (const gchar *working_directory,
      gchar **argv, gchar **envp, GSpawnFlags flags, GSpawnChildSetupFunc child_setup,
      gpointer user_data, GPid *child_pid, gint *standard_input, gint *standard_output,
      gint *standard_error, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn.c:580,1
    - Dst: g_shell_parse_argv
      Src: /src/glib/glib/gspawn.c:583,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gspawn.c:598,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/gspawn.c:588,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 8
    argCount: 5
    argNames:
    - command_line
    - standard_output
    - standard_error
    - wait_status
    - error
    argTypes:
    - gchar*
    - gchar**
    - gchar**
    - gint*
    - GError**
    constantsTouched: []
    func_position:
      end: 601
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 601
    functionName: g_spawn_command_line_sync
    functionSourceFile: /src/glib/glib/gspawn.c
    functionUses: []
    functionsReached:
    - g_strfreev
    - g_shell_parse_argv
    - g_return_val_if_fail
    - g_spawn_sync
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_spawn_command_line_sync (const gchar *command_line, gchar
      **standard_output, gchar **standard_error, gint *wait_status, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_spawn_check_wait_status_impl
      Src: /src/glib/glib/gspawn.c:703,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - wait_status
    - error
    argTypes:
    - gint
    - GError**
    constantsTouched: []
    func_position:
      end: 704
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 704
    functionName: g_spawn_check_wait_status
    functionSourceFile: /src/glib/glib/gspawn.c
    functionUses: []
    functionsReached:
    - g_spawn_check_wait_status_impl
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_spawn_check_wait_status (gint wait_status,\t\t\t GError\
      \ **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_spawn_close_pid_impl
      Src: /src/glib/glib/gspawn.c:746,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GPid
    constantsTouched: []
    func_position:
      end: 747
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 747
    functionName: g_spawn_close_pid
    functionSourceFile: /src/glib/glib/gspawn.c
    functionUses: []
    functionsReached:
    - g_spawn_close_pid_impl
    linkageType: ''
    returnType: void
    signature: 'void g_spawn_close_pid (GPid pid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/genviron.c:141,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/genviron.c:142,1
    - Dst: g_environ_find
      Src: /src/glib/glib/genviron.c:145,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/genviron.c:143,1
    - Dst: strchr
      Src: /src/glib/glib/genviron.c:142,1
    - Dst: g_free
      Src: /src/glib/glib/genviron.c:150,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/genviron.c:151,1
    - Dst: g_strv_length
      Src: /src/glib/glib/genviron.c:158,1
    - Dst: g_renew
      Src: /src/glib/glib/genviron.c:159,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/genviron.c:160,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 165
    functionName: g_environ_setenv
    functionSourceFile: /src/glib/glib/genviron.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_return_val_if_fail
    - g_strv_length
    - g_renew
    - strchr
    - g_environ_find
    - g_free
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **g_environ_setenv (gchar **envp, const gchar *variable, const
      gchar *value, gboolean overwrite) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/glib/genviron.c:175,1
    - Dst: g_free
      Src: /src/glib/glib/genviron.c:191,1
    - Dst: g_environ_matches
      Src: /src/glib/glib/genviron.c:183,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 199
    functionName: g_environ_unsetenv_internal
    functionSourceFile: /src/glib/glib/genviron.c
    functionUses: []
    functionsReached:
    - g_free
    - g_environ_matches
    - strlen
    linkageType: ''
    returnType: gchar**
    signature: 'static gchar **g_environ_unsetenv_internal (gchar **envp, const gchar
      *variable, gboolean free_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetEnvironmentStringsW
      Src: /src/glib/glib/genviron.c:651,1
    - Dst: g_new
      Src: /src/glib/glib/genviron.c:655,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/genviron.c:658,1
    - Dst: wcslen
      Src: /src/glib/glib/genviron.c:659,1
    - Dst: wcslen
      Src: /src/glib/glib/genviron.c:653,1
    - Dst: FreeEnvironmentStringsW
      Src: /src/glib/glib/genviron.c:661,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 665
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 665
    functionName: g_get_environ
    functionSourceFile: /src/glib/glib/genviron.c
    functionUses: []
    functionsReached:
    - GetEnvironmentStringsW
    - g_new
    - wcslen
    - FreeEnvironmentStringsW
    - g_utf16_to_utf8
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **g_get_environ (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/genviron.c:105,1
    - Dst: g_environ_find
      Src: /src/glib/glib/genviron.c:107,1
    - Dst: strlen
      Src: /src/glib/glib/genviron.c:109,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 112
    functionName: g_environ_getenv
    functionSourceFile: /src/glib/glib/genviron.c
    functionUses: []
    functionsReached:
    - g_environ_find
    - g_return_val_if_fail
    - strlen
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_environ_getenv (gchar **envp, const gchar *variable) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/genviron.c:300,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/genviron.c:302,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/genviron.c:301,1
    - Dst: g_thread_n_created
      Src: /src/glib/glib/genviron.c:307,1
    - Dst: strchr
      Src: /src/glib/glib/genviron.c:301,1
    - Dst: g_debug
      Src: /src/glib/glib/genviron.c:308,1
    - Dst: setenv
      Src: /src/glib/glib/genviron.c:312,1
    - Dst: getenv
      Src: /src/glib/glib/genviron.c:314,1
    - Dst: g_strconcat
      Src: /src/glib/glib/genviron.c:321,1
    - Dst: putenv
      Src: /src/glib/glib/genviron.c:322,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - variable
    - value
    - overwrite
    argTypes:
    - gchar*
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 325
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 325
    functionName: g_setenv
    functionSourceFile: /src/glib/glib/genviron.c
    functionUses: []
    functionsReached:
    - putenv
    - g_return_val_if_fail
    - getenv
    - g_strconcat
    - g_debug
    - strchr
    - g_thread_n_created
    - setenv
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_setenv (const gchar *variable, const gchar *value, gboolean
      overwrite) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdupv
      Src: /src/glib/glib/genviron.c:446,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 447
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 447
    functionName: g_get_environ
    functionSourceFile: /src/glib/glib/genviron.c
    functionUses: []
    functionsReached:
    - g_strdupv
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **g_get_environ (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/genviron.c:222,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/genviron.c:223,1
    - Dst: strchr
      Src: /src/glib/glib/genviron.c:223,1
    - Dst: g_environ_unsetenv_internal
      Src: /src/glib/glib/genviron.c:228,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 229
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 229
    functionName: g_environ_unsetenv
    functionSourceFile: /src/glib/glib/genviron.c
    functionUses: []
    functionsReached:
    - strchr
    - g_environ_unsetenv_internal
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **g_environ_unsetenv (gchar **envp, const gchar *variable) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_validate
      Src: /src/glib/glib/genviron.c:461,1
    - Dst: GetEnvironmentVariableW
      Src: /src/glib/glib/genviron.c:475,1
    - Dst: g_free
      Src: /src/glib/glib/genviron.c:494,1
    - Dst: g_new
      Src: /src/glib/glib/genviron.c:506,1
    - Dst: ExpandEnvironmentStringsW
      Src: /src/glib/glib/genviron.c:508,1
    - Dst: g_free
      Src: /src/glib/glib/genviron.c:520,1
    - Dst: g_quark_from_string
      Src: /src/glib/glib/genviron.c:523,1
    - Dst: g_quark_to_string
      Src: /src/glib/glib/genviron.c:526,1
    - Dst: GetLastError
      Src: /src/glib/glib/genviron.c:480,1
    - Dst: wcschr
      Src: /src/glib/glib/genviron.c:498,1
    - Dst: GetEnvironmentVariableW
      Src: /src/glib/glib/genviron.c:491,1
    - Dst: g_free
      Src: /src/glib/glib/genviron.c:521,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/genviron.c:473,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/genviron.c:461,1
    - Dst: g_free
      Src: /src/glib/glib/genviron.c:479,1
    - Dst: g_new
      Src: /src/glib/glib/genviron.c:489,1
    - Dst: g_free
      Src: /src/glib/glib/genviron.c:493,1
    - Dst: g_free
      Src: /src/glib/glib/genviron.c:524,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/genviron.c:460,1
    - Dst: g_quark_from_static_string
      Src: /src/glib/glib/genviron.c:483,1
    - Dst: g_quark_to_string
      Src: /src/glib/glib/genviron.c:484,1
    - Dst: g_free
      Src: /src/glib/glib/genviron.c:514,1
    - Dst: ExpandEnvironmentStringsW
      Src: /src/glib/glib/genviron.c:502,1
    - Dst: g_free
      Src: /src/glib/glib/genviron.c:510,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/genviron.c:518,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 527
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 527
    functionName: g_getenv
    functionSourceFile: /src/glib/glib/genviron.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_quark_from_static_string
    - g_new
    - g_quark_from_string
    - g_utf8_to_utf16
    - GetEnvironmentVariableW
    - g_quark_to_string
    - GetLastError
    - wcschr
    - ExpandEnvironmentStringsW
    - g_utf8_validate
    - g_free
    - g_utf16_to_utf8
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_getenv (const gchar *variable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/genviron.c:540,1
    - Dst: g_utf8_validate
      Src: /src/glib/glib/genviron.c:542,1
    - Dst: g_getenv
      Src: /src/glib/glib/genviron.c:544,1
    - Dst: g_free
      Src: /src/glib/glib/genviron.c:568,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/genviron.c:538,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/genviron.c:541,1
    - Dst: g_utf8_validate
      Src: /src/glib/glib/genviron.c:541,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/genviron.c:564,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/genviron.c:562,1
    - Dst: strchr
      Src: /src/glib/glib/genviron.c:539,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/genviron.c:561,1
    - Dst: SetEnvironmentVariableW
      Src: /src/glib/glib/genviron.c:570,1
    - Dst: g_free
      Src: /src/glib/glib/genviron.c:572,1
    - Dst: g_free
      Src: /src/glib/glib/genviron.c:566,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/genviron.c:539,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/genviron.c:542,1
    - Dst: g_strconcat
      Src: /src/glib/glib/genviron.c:563,1
    - Dst: g_free
      Src: /src/glib/glib/genviron.c:573,1
    - Dst: _wputenv
      Src: /src/glib/glib/genviron.c:567,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 3
    argNames:
    - variable
    - value
    - overwrite
    argTypes:
    - gchar*
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 576
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 576
    functionName: g_setenv
    functionSourceFile: /src/glib/glib/genviron.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_strconcat
    - SetEnvironmentVariableW
    - g_getenv
    - g_utf8_to_utf16
    - _wputenv
    - strchr
    - g_utf8_validate
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_setenv (const gchar *variable, const gchar *value, gboolean
      overwrite) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/glib/genviron.c:71,1
    - Dst: g_environ_matches
      Src: /src/glib/glib/genviron.c:75,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - envp
    - variable
    argTypes:
    - gchar**
    - gchar*
    constantsTouched: []
    func_position:
      end: 80
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 80
    functionName: g_environ_find
    functionSourceFile: /src/glib/glib/genviron.c
    functionUses: []
    functionsReached:
    - g_environ_matches
    - strlen
    linkageType: ''
    returnType: gint
    signature: 'static gint g_environ_find (gchar **envp, const gchar *variable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/genviron.c:254,1
    - Dst: getenv
      Src: /src/glib/glib/genviron.c:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 257
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 257
    functionName: g_getenv
    functionSourceFile: /src/glib/glib/genviron.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - getenv
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_getenv (const gchar *variable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strv_length
      Src: /src/glib/glib/genviron.c:408,1
    - Dst: strchr
      Src: /src/glib/glib/genviron.c:414,1
    - Dst: g_new0
      Src: /src/glib/glib/genviron.c:409,1
    - Dst: g_strndup
      Src: /src/glib/glib/genviron.c:416,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 422
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 422
    functionName: g_listenv
    functionSourceFile: /src/glib/glib/genviron.c
    functionUses: []
    functionsReached:
    - strchr
    - g_new0
    - g_strv_length
    - g_strndup
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **g_listenv (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/genviron.c:584,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/genviron.c:586,1
    - Dst: g_utf8_validate
      Src: /src/glib/glib/genviron.c:586,1
    - Dst: strchr
      Src: /src/glib/glib/genviron.c:585,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/genviron.c:585,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/genviron.c:588,1
    - Dst: g_strconcat
      Src: /src/glib/glib/genviron.c:589,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/genviron.c:590,1
    - Dst: g_free
      Src: /src/glib/glib/genviron.c:592,1
    - Dst: _wputenv
      Src: /src/glib/glib/genviron.c:593,1
    - Dst: g_free
      Src: /src/glib/glib/genviron.c:594,1
    - Dst: SetEnvironmentVariableW
      Src: /src/glib/glib/genviron.c:596,1
    - Dst: g_free
      Src: /src/glib/glib/genviron.c:598,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - variable
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 599
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 599
    functionName: g_unsetenv
    functionSourceFile: /src/glib/glib/genviron.c
    functionUses: []
    functionsReached:
    - g_strconcat
    - SetEnvironmentVariableW
    - g_return_if_fail
    - g_utf8_to_utf16
    - _wputenv
    - strchr
    - g_utf8_validate
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_unsetenv (const gchar *variable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_getenv
      Src: /src/glib/glib/genviron.c:682,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 683
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 683
    functionName: g_getenv_utf8
    functionSourceFile: /src/glib/glib/genviron.c
    functionUses: []
    functionsReached:
    - g_getenv
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_getenv_utf8 (const gchar *variable) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetEnvironmentStringsW
      Src: /src/glib/glib/genviron.c:608,1
    - Dst: strchr
      Src: /src/glib/glib/genviron.c:627,1
    - Dst: wcslen
      Src: /src/glib/glib/genviron.c:614,1
    - Dst: g_new0
      Src: /src/glib/glib/genviron.c:618,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/genviron.c:624,1
    - Dst: g_free
      Src: /src/glib/glib/genviron.c:634,1
    - Dst: wcslen
      Src: /src/glib/glib/genviron.c:636,1
    - Dst: FreeEnvironmentStringsW
      Src: /src/glib/glib/genviron.c:639,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 642
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 642
    functionName: g_listenv
    functionSourceFile: /src/glib/glib/genviron.c
    functionUses: []
    functionsReached:
    - GetEnvironmentStringsW
    - wcslen
    - FreeEnvironmentStringsW
    - strchr
    - g_new0
    - g_free
    - g_utf16_to_utf8
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **g_listenv (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_setenv
      Src: /src/glib/glib/genviron.c:690,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - variable
    - value
    - overwrite
    argTypes:
    - gchar*
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 691
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 691
    functionName: g_setenv_utf8
    functionSourceFile: /src/glib/glib/genviron.c
    functionUses: []
    functionsReached:
    - g_setenv
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_setenv_utf8 (const gchar *variable, const gchar *value,
      gboolean overwrite) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unsetenv
      Src: /src/glib/glib/genviron.c:696,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - variable
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 697
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 697
    functionName: g_unsetenv_utf8
    functionSourceFile: /src/glib/glib/genviron.c
    functionUses: []
    functionsReached:
    - g_unsetenv
    linkageType: ''
    returnType: void
    signature: 'void g_unsetenv_utf8 (const gchar *variable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_strncasecmp
      Src: /src/glib/glib/genviron.c:55,1
    - Dst: strncmp
      Src: /src/glib/glib/genviron.c:57,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - env
    - variable
    - len
    argTypes:
    - gchar*
    - gchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: g_environ_matches
    functionSourceFile: /src/glib/glib/genviron.c
    functionUses: []
    functionsReached:
    - strncmp
    - g_ascii_strncasecmp
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_environ_matches (const gchar *env, const gchar *variable,
      gsize len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/genviron.c:364,1
    - Dst: strchr
      Src: /src/glib/glib/genviron.c:365,1
    - Dst: g_thread_n_created
      Src: /src/glib/glib/genviron.c:370,1
    - Dst: g_debug
      Src: /src/glib/glib/genviron.c:371,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/genviron.c:365,1
    - Dst: unsetenv
      Src: /src/glib/glib/genviron.c:375,1
    - Dst: g_environ_unsetenv_internal
      Src: /src/glib/glib/genviron.c:380,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - variable
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 382
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 382
    functionName: g_unsetenv
    functionSourceFile: /src/glib/glib/genviron.c
    functionUses: []
    functionsReached:
    - unsetenv
    - g_return_if_fail
    - g_environ_unsetenv_internal
    - g_debug
    - strchr
    - g_thread_n_created
    linkageType: ''
    returnType: void
    signature: 'void g_unsetenv (const gchar *variable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gthread.c:606,1
    - Dst: g_cond_wait
      Src: /src/glib/glib/gthread.c:609,1
    - Dst: func
      Src: /src/glib/glib/gthread.c:618,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gthread.c:620,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gthread.c:616,1
    - Dst: __atomic_store_n
      Src: /src/glib/glib/gthread.c:627,1
    - Dst: g_cond_broadcast
      Src: /src/glib/glib/gthread.c:632,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gthread.c:635,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - once
    - func
    - arg
    argTypes:
    - GOnce*
    - GThreadFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 638
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 638
    functionName: g_once_impl
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - func
    - g_mutex_unlock
    - g_mutex_lock
    - g_cond_broadcast
    - __atomic_store_n
    - g_cond_wait
    linkageType: ''
    returnType: gpointer
    signature: "gpointer g_once_impl (GOnce *once,\t GThreadFunc func,\t gpointer\
      \ arg) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gthread.c:806,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gthread.c:809,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gthread.c:812,1
    - Dst: g_atomic_pointer_exchange
      Src: /src/glib/glib/gthread.c:808,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gthread.c:811,1
    - Dst: g_slist_remove
      Src: /src/glib/glib/gthread.c:813,1
    - Dst: g_cond_broadcast
      Src: /src/glib/glib/gthread.c:814,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gthread.c:815,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - location
    - result
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 816
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 816
    functionName: (g_once_init_leave_pointer)
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - g_slist_remove
    - g_cond_broadcast
    - g_mutex_lock
    - g_return_if_fail
    - g_mutex_unlock
    - g_atomic_pointer_exchange
    linkageType: ''
    returnType: void
    signature: 'void (g_once_init_leave_pointer) (gpointer location, gpointer result) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/glib/gthread.c:858,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gthread.c:863,1
    - Dst: g_system_thread_free
      Src: /src/glib/glib/gthread.c:861,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - thread
    argTypes:
    - GThread*
    constantsTouched: []
    func_position:
      end: 865
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 865
    functionName: g_thread_unref
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_system_thread_free
    - g_atomic_int_dec_and_test
    linkageType: ''
    returnType: void
    signature: 'void g_thread_unref (GThread *thread) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_unref
      Src: /src/glib/glib/gthread.c:870,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 871
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 871
    functionName: g_thread_cleanup
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - g_thread_unref
    linkageType: ''
    returnType: void
    signature: 'static void g_thread_cleanup (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_init_impl
      Src: /src/glib/glib/gthread.c:1240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GMutex*
    constantsTouched: []
    func_position:
      end: 1241
      start: 1237
    functionDepth: 0
    functionLinenumber: 1237
    functionLinenumberEnd: 1241
    functionName: g_mutex_init
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - g_mutex_init_impl
    linkageType: ''
    returnType: void
    signature: 'void g_mutex_init (GMutex *mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_unlock_impl
      Src: /src/glib/glib/gthread.c:1295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GMutex*
    constantsTouched: []
    func_position:
      end: 1296
      start: 1292
    functionDepth: 0
    functionLinenumber: 1292
    functionLinenumberEnd: 1296
    functionName: g_mutex_unlock
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock_impl
    linkageType: ''
    returnType: void
    signature: 'void g_mutex_unlock (GMutex *mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rec_mutex_unlock_impl
      Src: /src/glib/glib/gthread.c:1414,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - rec_mutex
    argTypes:
    - GRecMutex*
    constantsTouched: []
    func_position:
      end: 1415
      start: 1411
    functionDepth: 0
    functionLinenumber: 1411
    functionLinenumberEnd: 1415
    functionName: g_rec_mutex_unlock
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_unlock_impl
    linkageType: ''
    returnType: void
    signature: 'void g_rec_mutex_unlock (GRecMutex *rec_mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_cond_broadcast_impl
      Src: /src/glib/glib/gthread.c:1712,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - GCond*
    constantsTouched: []
    func_position:
      end: 1713
      start: 1709
    functionDepth: 0
    functionLinenumber: 1709
    functionLinenumberEnd: 1713
    functionName: g_cond_broadcast
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - g_cond_broadcast_impl
    linkageType: ''
    returnType: void
    signature: 'void g_cond_broadcast (GCond *cond) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gthread.c:878,1
    - Dst: g_system_thread_set_name
      Src: /src/glib/glib/gthread.c:885,1
    - Dst: TRACE
      Src: /src/glib/glib/gthread.c:881,1
    - Dst: g_private_set
      Src: /src/glib/glib/gthread.c:879,1
    - Dst: GLIB_THREAD_SPAWNED
      Src: /src/glib/glib/gthread.c:881,1
    - Dst: g_system_thread_get_name
      Src: /src/glib/glib/gthread.c:887,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 892
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 892
    functionName: g_thread_proxy
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - g_system_thread_get_name
    - TRACE
    - g_assert
    - g_private_set
    - g_system_thread_set_name
    - GLIB_THREAD_SPAWNED
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_thread_proxy (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_private_replace_impl
      Src: /src/glib/glib/gthread.c:1913,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - GPrivate*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1914
      start: 1909
    functionDepth: 0
    functionLinenumber: 1909
    functionLinenumberEnd: 1914
    functionName: g_private_replace
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - g_private_replace_impl
    linkageType: ''
    returnType: void
    signature: 'void g_private_replace (GPrivate *key, gpointer value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gthread.c:770,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gthread.c:776,1
    - Dst: g_atomic_pointer_exchange
      Src: /src/glib/glib/gthread.c:772,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gthread.c:773,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gthread.c:775,1
    - Dst: g_slist_remove
      Src: /src/glib/glib/gthread.c:777,1
    - Dst: g_cond_broadcast
      Src: /src/glib/glib/gthread.c:778,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gthread.c:779,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - location
    - result
    argTypes:
    - void*
    - gsize
    constantsTouched: []
    func_position:
      end: 780
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 780
    functionName: (g_once_init_leave)
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - g_slist_remove
    - g_cond_broadcast
    - g_mutex_lock
    - g_return_if_fail
    - g_mutex_unlock
    - g_atomic_pointer_exchange
    linkageType: ''
    returnType: void
    signature: 'void (g_once_init_leave) (volatile void *location, gsize result) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gthread.c:729,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gthread.c:735,1
    - Dst: g_slist_find
      Src: /src/glib/glib/gthread.c:732,1
    - Dst: g_cond_wait
      Src: /src/glib/glib/gthread.c:739,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/glib/gthread.c:730,1
    - Dst: g_slist_find
      Src: /src/glib/glib/gthread.c:740,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gthread.c:742,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - location
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 744
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 744
    functionName: (g_once_init_enter_pointer)
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - g_slist_find
    - g_mutex_unlock
    - g_mutex_lock
    - g_atomic_pointer_get
    - g_slist_prepend
    - g_cond_wait
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean (g_once_init_enter_pointer) (gpointer location) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gthread.c:835,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 838
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 838
    functionName: g_thread_ref
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - g_atomic_int_inc
    linkageType: ''
    returnType: GThread*
    signature: 'GThread *g_thread_ref (GThread *thread) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GetNativeSystemInfo
      Src: /src/glib/glib/gthread.c:1148,1
    - Dst: MIN
      Src: /src/glib/glib/gthread.c:1169,1
    - Dst: GetCurrentProcess
      Src: /src/glib/glib/gthread.c:1151,1
    - Dst: GetProcessAffinityMask
      Src: /src/glib/glib/gthread.c:1151,1
    - Dst: sysconf
      Src: /src/glib/glib/gthread.c:1169,1
    - Dst: CPU_ZERO
      Src: /src/glib/glib/gthread.c:1171,1
    - Dst: pthread_getaffinity_np
      Src: /src/glib/glib/gthread.c:1174,1
    - Dst: pthread_self
      Src: /src/glib/glib/gthread.c:1174,1
    - Dst: CPU_COUNT
      Src: /src/glib/glib/gthread.c:1176,1
    - Dst: sysconf
      Src: /src/glib/glib/gthread.c:1185,1
    - Dst: sysctl
      Src: /src/glib/glib/gthread.c:1198,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1204
      start: 1138
    functionDepth: 0
    functionLinenumber: 1138
    functionLinenumberEnd: 1204
    functionName: g_get_num_processors
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - GetProcessAffinityMask
    - pthread_self
    - CPU_ZERO
    - MIN
    - pthread_getaffinity_np
    - GetCurrentProcess
    - sysctl
    - sysconf
    - GetNativeSystemInfo
    - CPU_COUNT
    linkageType: ''
    returnType: guint
    signature: 'guint g_get_num_processors (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock_impl
      Src: /src/glib/glib/gthread.c:1279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GMutex*
    constantsTouched: []
    func_position:
      end: 1280
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1280
    functionName: g_mutex_lock
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - g_mutex_lock_impl
    linkageType: ''
    returnType: void
    signature: 'void g_mutex_lock (GMutex *mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rec_mutex_lock_impl
      Src: /src/glib/glib/gthread.c:1395,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GRecMutex*
    constantsTouched: []
    func_position:
      end: 1396
      start: 1392
    functionDepth: 0
    functionLinenumber: 1392
    functionLinenumberEnd: 1396
    functionName: g_rec_mutex_lock
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_lock_impl
    linkageType: ''
    returnType: void
    signature: 'void g_rec_mutex_lock (GRecMutex *mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rw_lock_writer_unlock_impl
      Src: /src/glib/glib/gthread.c:1546,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - rw_lock
    argTypes:
    - GRWLock*
    constantsTouched: []
    func_position:
      end: 1547
      start: 1543
    functionDepth: 0
    functionLinenumber: 1543
    functionLinenumberEnd: 1547
    functionName: g_rw_lock_writer_unlock
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - g_rw_lock_writer_unlock_impl
    linkageType: ''
    returnType: void
    signature: 'void g_rw_lock_writer_unlock (GRWLock *rw_lock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_cond_wait_impl
      Src: /src/glib/glib/gthread.c:1682,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - cond
    - mutex
    argTypes:
    - GCond*
    - GMutex*
    constantsTouched: []
    func_position:
      end: 1683
      start: 1678
    functionDepth: 0
    functionLinenumber: 1678
    functionLinenumberEnd: 1683
    functionName: g_cond_wait
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - g_cond_wait_impl
    linkageType: ''
    returnType: void
    signature: 'void g_cond_wait (GCond *cond, GMutex *mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_cond_signal_impl
      Src: /src/glib/glib/gthread.c:1697,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - GCond*
    constantsTouched: []
    func_position:
      end: 1698
      start: 1694
    functionDepth: 0
    functionLinenumber: 1694
    functionLinenumberEnd: 1698
    functionName: g_cond_signal
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - g_cond_signal_impl
    linkageType: ''
    returnType: void
    signature: 'void g_cond_signal (GCond *cond) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_private_set_impl
      Src: /src/glib/glib/gthread.c:1892,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - GPrivate*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1893
      start: 1888
    functionDepth: 0
    functionLinenumber: 1888
    functionLinenumberEnd: 1893
    functionName: g_private_set
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - g_private_set_impl
    linkageType: ''
    returnType: void
    signature: 'void g_private_set (GPrivate *key, gpointer value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_new_internal
      Src: /src/glib/glib/gthread.c:946,1
    - Dst: g_error
      Src: /src/glib/glib/gthread.c:949,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 952
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 952
    functionName: g_thread_new
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - g_error
    - g_thread_new_internal
    linkageType: ''
    returnType: GThread*
    signature: 'GThread *g_thread_new (const gchar *name, GThreadFunc func, gpointer
      data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_new_internal
      Src: /src/glib/glib/gthread.c:977,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 978
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 978
    functionName: g_thread_try_new
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - g_thread_new_internal
    linkageType: ''
    returnType: GThread*
    signature: 'GThread *g_thread_try_new (const gchar *name, GThreadFunc func, gpointer
      data, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rec_mutex_clear_impl
      Src: /src/glib/glib/gthread.c:1376,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - rec_mutex
    argTypes:
    - GRecMutex*
    constantsTouched: []
    func_position:
      end: 1377
      start: 1373
    functionDepth: 0
    functionLinenumber: 1373
    functionLinenumberEnd: 1377
    functionName: g_rec_mutex_clear
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_clear_impl
    linkageType: ''
    returnType: void
    signature: 'void g_rec_mutex_clear (GRecMutex *rec_mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rw_lock_clear_impl
      Src: /src/glib/glib/gthread.c:1491,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - rw_lock
    argTypes:
    - GRWLock*
    constantsTouched: []
    func_position:
      end: 1492
      start: 1488
    functionDepth: 0
    functionLinenumber: 1488
    functionLinenumberEnd: 1492
    functionName: g_rw_lock_clear
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - g_rw_lock_clear_impl
    linkageType: ''
    returnType: void
    signature: 'void g_rw_lock_clear (GRWLock *rw_lock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rw_lock_reader_trylock_impl
      Src: /src/glib/glib/gthread.c:1592,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - rw_lock
    argTypes:
    - GRWLock*
    constantsTouched: []
    func_position:
      end: 1593
      start: 1589
    functionDepth: 0
    functionLinenumber: 1589
    functionLinenumberEnd: 1593
    functionName: g_rw_lock_reader_trylock
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - g_rw_lock_reader_trylock_impl
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_rw_lock_reader_trylock (GRWLock *rw_lock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rw_lock_reader_unlock_impl
      Src: /src/glib/glib/gthread.c:1609,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - rw_lock
    argTypes:
    - GRWLock*
    constantsTouched: []
    func_position:
      end: 1610
      start: 1606
    functionDepth: 0
    functionLinenumber: 1606
    functionLinenumberEnd: 1610
    functionName: g_rw_lock_reader_unlock
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - g_rw_lock_reader_unlock_impl
    linkageType: ''
    returnType: void
    signature: 'void g_rw_lock_reader_unlock (GRWLock *rw_lock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_cond_wait_until_impl
      Src: /src/glib/glib/gthread.c:1778,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - cond
    - mutex
    - end_time
    argTypes:
    - GCond*
    - GMutex*
    - gint64
    constantsTouched: []
    func_position:
      end: 1779
      start: 1773
    functionDepth: 0
    functionLinenumber: 1773
    functionLinenumberEnd: 1779
    functionName: g_cond_wait_until
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - g_cond_wait_until_impl
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_cond_wait_until (GCond *cond, GMutex *mutex, gint64 end_time) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gthread.c:988,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gthread.c:990,1
    - Dst: g_system_thread_new
      Src: /src/glib/glib/gthread.c:993,1
    - Dst: g_trace_mark
      Src: /src/glib/glib/gthread.c:992,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 994
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 994
    functionName: g_thread_new_internal
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - g_atomic_int_inc
    - g_return_val_if_fail
    - g_system_thread_new
    - g_trace_mark
    linkageType: ''
    returnType: GThread*
    signature: 'GThread *g_thread_new_internal (const gchar *name, GThreadFunc proxy,
      GThreadFunc func, gpointer data, gsize stack_size, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gthread.c:897,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 898
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 898
    functionName: g_thread_n_created
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    linkageType: ''
    returnType: guint
    signature: 'guint g_thread_n_created (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_trylock_impl
      Src: /src/glib/glib/gthread.c:1316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GMutex*
    constantsTouched: []
    func_position:
      end: 1317
      start: 1313
    functionDepth: 0
    functionLinenumber: 1313
    functionLinenumberEnd: 1317
    functionName: g_mutex_trylock
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - g_mutex_trylock_impl
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_mutex_trylock (GMutex *mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rec_mutex_init_impl
      Src: /src/glib/glib/gthread.c:1355,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - rec_mutex
    argTypes:
    - GRecMutex*
    constantsTouched: []
    func_position:
      end: 1356
      start: 1352
    functionDepth: 0
    functionLinenumber: 1352
    functionLinenumberEnd: 1356
    functionName: g_rec_mutex_init
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_init_impl
    linkageType: ''
    returnType: void
    signature: 'void g_rec_mutex_init (GRecMutex *rec_mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rw_lock_reader_lock_impl
      Src: /src/glib/glib/gthread.c:1574,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - rw_lock
    argTypes:
    - GRWLock*
    constantsTouched: []
    func_position:
      end: 1575
      start: 1571
    functionDepth: 0
    functionLinenumber: 1571
    functionLinenumberEnd: 1575
    functionName: g_rw_lock_reader_lock
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - g_rw_lock_reader_lock_impl
    linkageType: ''
    returnType: void
    signature: 'void g_rw_lock_reader_lock (GRWLock *rw_lock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_self
      Src: /src/glib/glib/gthread.c:1017,1
    - Dst: g_error
      Src: /src/glib/glib/gthread.c:1020,1
    - Dst: g_system_thread_exit
      Src: /src/glib/glib/gthread.c:1024,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - retval
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1025
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1025
    functionName: g_thread_exit
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - g_error
    - g_system_thread_exit
    - g_thread_self
    linkageType: ''
    returnType: void
    signature: 'void g_thread_exit (gpointer retval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rw_lock_init_impl
      Src: /src/glib/glib/gthread.c:1471,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - rw_lock
    argTypes:
    - GRWLock*
    constantsTouched: []
    func_position:
      end: 1472
      start: 1468
    functionDepth: 0
    functionLinenumber: 1468
    functionLinenumberEnd: 1472
    functionName: g_rw_lock_init
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - g_rw_lock_init_impl
    linkageType: ''
    returnType: void
    signature: 'void g_rw_lock_init (GRWLock *rw_lock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_private_get_impl
      Src: /src/glib/glib/gthread.c:1874,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - GPrivate*
    constantsTouched: []
    func_position:
      end: 1875
      start: 1871
    functionDepth: 0
    functionLinenumber: 1871
    functionLinenumberEnd: 1875
    functionName: g_private_get
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - g_private_get_impl
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_private_get (GPrivate *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_yield_impl
      Src: /src/glib/glib/gthread.c:1929,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1930
      start: 1926
    functionDepth: 0
    functionLinenumber: 1926
    functionLinenumberEnd: 1930
    functionName: g_thread_yield
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - g_thread_yield_impl
    linkageType: ''
    returnType: void
    signature: 'void g_thread_yield (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rec_mutex_trylock_impl
      Src: /src/glib/glib/gthread.c:1432,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - rec_mutex
    argTypes:
    - GRecMutex*
    constantsTouched: []
    func_position:
      end: 1433
      start: 1429
    functionDepth: 0
    functionLinenumber: 1429
    functionLinenumberEnd: 1433
    functionName: g_rec_mutex_trylock
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_trylock_impl
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_rec_mutex_trylock (GRecMutex *rec_mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rw_lock_writer_lock_impl
      Src: /src/glib/glib/gthread.c:1510,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - rw_lock
    argTypes:
    - GRWLock*
    constantsTouched: []
    func_position:
      end: 1511
      start: 1507
    functionDepth: 0
    functionLinenumber: 1507
    functionLinenumberEnd: 1511
    functionName: g_rw_lock_writer_lock
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - g_rw_lock_writer_lock_impl
    linkageType: ''
    returnType: void
    signature: 'void g_rw_lock_writer_lock (GRWLock *rw_lock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_cond_init_impl
      Src: /src/glib/glib/gthread.c:1635,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - GCond*
    constantsTouched: []
    func_position:
      end: 1636
      start: 1632
    functionDepth: 0
    functionLinenumber: 1632
    functionLinenumberEnd: 1636
    functionName: g_cond_init
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - g_cond_init_impl
    linkageType: ''
    returnType: void
    signature: 'void g_cond_init (GCond *cond) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gthread.c:681,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gthread.c:687,1
    - Dst: g_cond_wait
      Src: /src/glib/glib/gthread.c:691,1
    - Dst: g_slist_find
      Src: /src/glib/glib/gthread.c:684,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/glib/gthread.c:682,1
    - Dst: g_slist_find
      Src: /src/glib/glib/gthread.c:692,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gthread.c:694,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - location
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 696
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 696
    functionName: (g_once_init_enter)
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - g_slist_find
    - g_mutex_unlock
    - g_mutex_lock
    - g_atomic_pointer_get
    - g_slist_prepend
    - g_cond_wait
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean (g_once_init_enter) (volatile void *location) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1118
    functionDepth: 0
    functionLinenumber: 1118
    functionLinenumberEnd: 1124
    functionName: g_thread_get_name
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *g_thread_get_name (GThread *thread) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_clear_impl
      Src: /src/glib/glib/gthread.c:1260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GMutex*
    constantsTouched: []
    func_position:
      end: 1261
      start: 1257
    functionDepth: 0
    functionLinenumber: 1257
    functionLinenumberEnd: 1261
    functionName: g_mutex_clear
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - g_mutex_clear_impl
    linkageType: ''
    returnType: void
    signature: 'void g_mutex_clear (GMutex *mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rw_lock_writer_trylock_impl
      Src: /src/glib/glib/gthread.c:1529,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - rw_lock
    argTypes:
    - GRWLock*
    constantsTouched: []
    func_position:
      end: 1530
      start: 1526
    functionDepth: 0
    functionLinenumber: 1526
    functionLinenumberEnd: 1530
    functionName: g_rw_lock_writer_trylock
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - g_rw_lock_writer_trylock_impl
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_rw_lock_writer_trylock (GRWLock *rw_lock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_cond_clear_impl
      Src: /src/glib/glib/gthread.c:1655,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - GCond*
    constantsTouched: []
    func_position:
      end: 1656
      start: 1652
    functionDepth: 0
    functionLinenumber: 1652
    functionLinenumberEnd: 1656
    functionName: g_cond_clear
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - g_cond_clear_impl
    linkageType: ''
    returnType: void
    signature: 'void g_cond_clear (GCond *cond) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc0
      Src: /src/glib/glib/gthread.c:520,1
    - Dst: g_private_set
      Src: /src/glib/glib/gthread.c:522,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gthread.c:524,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - key
    - size
    argTypes:
    - GPrivate*
    - gsize
    constantsTouched: []
    func_position:
      end: 525
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 525
    functionName: g_private_set_alloc0
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_private_set
    - g_malloc0
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_private_set_alloc0 (GPrivate *key, gsize size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gthread.c:1056,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gthread.c:1057,1
    - Dst: g_system_thread_wait
      Src: /src/glib/glib/gthread.c:1059,1
    - Dst: g_thread_unref
      Src: /src/glib/glib/gthread.c:1066,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - thread
    argTypes:
    - GThread*
    constantsTouched: []
    func_position:
      end: 1069
      start: 1050
    functionDepth: 0
    functionLinenumber: 1050
    functionLinenumberEnd: 1069
    functionName: g_thread_join
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - g_system_thread_wait
    - g_return_val_if_fail
    - g_thread_unref
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_thread_join (GThread *thread) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_private_get
      Src: /src/glib/glib/gthread.c:1089,1
    - Dst: g_private_set
      Src: /src/glib/glib/gthread.c:1100,1
    - Dst: g_slice_new0
      Src: /src/glib/glib/gthread.c:1097,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1104
    functionName: g_thread_self
    functionSourceFile: /src/glib/glib/gthread.c
    functionUses: []
    functionsReached:
    - g_private_get
    - g_private_set
    - g_slice_new0
    linkageType: ''
    returnType: GThread*
    signature: 'GThread *g_thread_self (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IS
      Src: /src/glib/glib/guniprop.c:186,1
    - Dst: OR
      Src: /src/glib/glib/guniprop.c:189,1
    - Dst: OR
      Src: /src/glib/glib/guniprop.c:188,1
    - Dst: TYPE
      Src: /src/glib/glib/guniprop.c:186,1
    - Dst: OR
      Src: /src/glib/glib/guniprop.c:187,1
    - Dst: OR
      Src: /src/glib/glib/guniprop.c:190,1
    - Dst: OR
      Src: /src/glib/glib/guniprop.c:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - gunichar
    constantsTouched: []
    func_position:
      end: 193
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 193
    functionName: g_unichar_isgraph
    functionSourceFile: /src/glib/glib/guniprop.c
    functionUses: []
    functionsReached:
    - TYPE
    - IS
    - OR
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unichar_isgraph (gunichar c) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TYPE
      Src: /src/glib/glib/guniprop.c:609,1
    - Dst: ATTTABLE
      Src: /src/glib/glib/guniprop.c:612,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/guniprop.c:616,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/guniprop.c:628,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - c
    argTypes:
    - gunichar
    constantsTouched: []
    func_position:
      end: 635
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 635
    functionName: g_unichar_tolower
    functionSourceFile: /src/glib/glib/guniprop.c
    functionUses: []
    functionsReached:
    - TYPE
    - G_N_ELEMENTS
    - ATTTABLE
    - g_utf8_get_char
    linkageType: ''
    returnType: gunichar
    signature: 'gunichar g_unichar_tolower (gunichar c) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/guniprop.c:784,1
    - Dst: g_unichar_to_utf8
      Src: /src/glib/glib/guniprop.c:789,1
    - Dst: TYPE
      Src: /src/glib/glib/guniprop.c:786,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/guniprop.c:790,1
    - Dst: ISMARK
      Src: /src/glib/glib/guniprop.c:786,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - p_inout
    - out_buffer
    - remove_dot
    argTypes:
    - char**
    - char*
    - gboolean
    constantsTouched: []
    func_position:
      end: 798
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 798
    functionName: output_marks
    functionSourceFile: /src/glib/glib/guniprop.c
    functionUses: []
    functionsReached:
    - g_utf8_next_char
    - g_unichar_to_utf8
    - g_utf8_get_char
    - ISMARK
    - TYPE
    linkageType: ''
    returnType: gint
    signature: "static gint output_marks (const char **p_inout,\t char *out_buffer,\t\
      \ gboolean remove_dot) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GLIB_GET_MIRRORING
      Src: /src/glib/glib/guniprop.c:1261,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ch
    - mirrored_ch
    argTypes:
    - gunichar
    - gunichar*
    constantsTouched: []
    func_position:
      end: 1269
      start: 1254
    functionDepth: 0
    functionLinenumber: 1254
    functionLinenumberEnd: 1269
    functionName: g_unichar_get_mirror_char
    functionSourceFile: /src/glib/glib/guniprop.c
    functionUses: []
    functionsReached:
    - GLIB_GET_MIRRORING
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unichar_get_mirror_char (gunichar ch, gunichar *mirrored_ch) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/guniprop.c:1277,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ch
    argTypes:
    - gunichar
    constantsTouched: []
    func_position:
      end: 1296
      start: 1273
    functionDepth: 0
    functionLinenumber: 1273
    functionLinenumberEnd: 1296
    functionName: g_unichar_get_script_bsearch
    functionSourceFile: /src/glib/glib/guniprop.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    linkageType: ''
    returnType: GUnicodeScript
    signature: 'static inline GUnicodeScript g_unichar_get_script_bsearch (gunichar
      ch) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/guniprop.c:1564,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/guniprop.c:1567,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/guniprop.c:1567,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - script
    argTypes:
    - GUnicodeScript
    constantsTouched: []
    func_position:
      end: 1571
      start: 1561
    functionDepth: 0
    functionLinenumber: 1561
    functionLinenumberEnd: 1571
    functionName: g_unicode_script_to_iso15924
    functionSourceFile: /src/glib/glib/guniprop.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - G_UNLIKELY
    linkageType: ''
    returnType: guint32
    signature: 'guint32 g_unicode_script_to_iso15924 (GUnicodeScript script) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/guniprop.c:810,1
    - Dst: strlen
      Src: /src/glib/glib/guniprop.c:813,1
    - Dst: strlen
      Src: /src/glib/glib/guniprop.c:815,1
    - Dst: memcpy
      Src: /src/glib/glib/guniprop.c:817,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - out_buffer
    - offset
    - type
    - which
    argTypes:
    - gchar*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 820
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 820
    functionName: output_special_case
    functionSourceFile: /src/glib/glib/guniprop.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_utf8_next_char
    - strlen
    linkageType: ''
    returnType: gint
    signature: "static gint output_special_case (gchar *out_buffer,\t\t int offset,\t\
      \t int type,\t\t int which) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TYPE
      Src: /src/glib/glib/guniprop.c:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - gunichar
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: g_unichar_isdigit
    functionSourceFile: /src/glib/glib/guniprop.c
    functionUses: []
    functionsReached:
    - TYPE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unichar_isdigit (gunichar c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IS
      Src: /src/glib/glib/guniprop.c:226,1
    - Dst: TYPE
      Src: /src/glib/glib/guniprop.c:226,1
    - Dst: OR
      Src: /src/glib/glib/guniprop.c:227,1
    - Dst: OR
      Src: /src/glib/glib/guniprop.c:229,1
    - Dst: OR
      Src: /src/glib/glib/guniprop.c:228,1
    - Dst: OR
      Src: /src/glib/glib/guniprop.c:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - c
    argTypes:
    - gunichar
    constantsTouched: []
    func_position:
      end: 232
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 232
    functionName: g_unichar_isprint
    functionSourceFile: /src/glib/glib/guniprop.c
    functionUses: []
    functionsReached:
    - TYPE
    - IS
    - OR
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unichar_isprint (gunichar c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TYPE
      Src: /src/glib/glib/guniprop.c:336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - gunichar
    constantsTouched: []
    func_position:
      end: 337
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 337
    functionName: g_unichar_isupper
    functionSourceFile: /src/glib/glib/guniprop.c
    functionUses: []
    functionsReached:
    - TYPE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unichar_isupper (gunichar c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TYPE
      Src: /src/glib/glib/guniprop.c:377,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - c
    argTypes:
    - gunichar
    constantsTouched: []
    func_position:
      end: 378
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 378
    functionName: g_unichar_isxdigit
    functionSourceFile: /src/glib/glib/guniprop.c
    functionUses: []
    functionsReached:
    - TYPE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unichar_isxdigit (gunichar c) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/guniprop.c:419,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/guniprop.c:422,1
    - Dst: ISZEROWIDTHTYPE
      Src: /src/glib/glib/guniprop.c:422,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/guniprop.c:431,1
    - Dst: TYPE
      Src: /src/glib/glib/guniprop.c:422,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - c
    argTypes:
    - gunichar
    constantsTouched: []
    func_position:
      end: 437
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 437
    functionName: g_unichar_iszerowidth
    functionSourceFile: /src/glib/glib/guniprop.c
    functionUses: []
    functionsReached:
    - TYPE
    - ISZEROWIDTHTYPE
    - G_UNLIKELY
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unichar_iszerowidth (gunichar c) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_unichar_iswide
      Src: /src/glib/glib/guniprop.c:537,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/guniprop.c:547,1
    - Dst: bsearch
      Src: /src/glib/glib/guniprop.c:545,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/guniprop.c:545,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - gunichar
    constantsTouched: []
    func_position:
      end: 553
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 553
    functionName: g_unichar_iswide_cjk
    functionSourceFile: /src/glib/glib/guniprop.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - GUINT_TO_POINTER
    - g_unichar_iswide
    - bsearch
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unichar_iswide_cjk (gunichar c) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TYPE
      Src: /src/glib/glib/guniprop.c:569,1
    - Dst: ATTTABLE
      Src: /src/glib/glib/guniprop.c:572,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/guniprop.c:576,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/guniprop.c:587,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - c
    argTypes:
    - gunichar
    constantsTouched: []
    func_position:
      end: 594
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 594
    functionName: g_unichar_toupper
    functionSourceFile: /src/glib/glib/guniprop.c
    functionUses: []
    functionsReached:
    - TYPE
    - G_N_ELEMENTS
    - ATTTABLE
    - g_utf8_get_char
    linkageType: ''
    returnType: gunichar
    signature: 'gunichar g_unichar_toupper (gunichar c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISALPHA
      Src: /src/glib/glib/guniprop.c:134,1
    - Dst: TYPE
      Src: /src/glib/glib/guniprop.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - gunichar
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: g_unichar_isalpha
    functionSourceFile: /src/glib/glib/guniprop.c
    functionUses: []
    functionsReached:
    - TYPE
    - ISALPHA
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unichar_isalpha (gunichar c) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/guniprop.c:442,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 2
    argNames:
    - key
    - elt
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 451
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 451
    functionName: interval_compare
    functionSourceFile: /src/glib/glib/guniprop.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_UINT
    linkageType: ''
    returnType: int
    signature: 'static int interval_compare (const void *key, const void *elt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/guniprop.c:459,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ch
    argTypes:
    - gunichar
    constantsTouched: []
    func_position:
      end: 477
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 477
    functionName: g_unichar_iswide_bsearch
    functionSourceFile: /src/glib/glib/guniprop.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean g_unichar_iswide_bsearch (gunichar ch) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISALDIGIT
      Src: /src/glib/glib/guniprop.c:118,1
    - Dst: TYPE
      Src: /src/glib/glib/guniprop.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - gunichar
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: g_unichar_isalnum
    functionSourceFile: /src/glib/glib/guniprop.c
    functionUses: []
    functionsReached:
    - TYPE
    - ISALDIGIT
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unichar_isalnum (gunichar c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_unichar_get_script_bsearch
      Src: /src/glib/glib/guniprop.c:1320,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ch
    argTypes:
    - gunichar
    constantsTouched: []
    func_position:
      end: 1321
      start: 1314
    functionDepth: 0
    functionLinenumber: 1314
    functionLinenumberEnd: 1321
    functionName: g_unichar_get_script
    functionSourceFile: /src/glib/glib/guniprop.c
    functionUses: []
    functionsReached:
    - g_unichar_get_script_bsearch
    linkageType: ''
    returnType: GUnicodeScript
    signature: 'GUnicodeScript g_unichar_get_script (gunichar ch) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IS
      Src: /src/glib/glib/guniprop.c:247,1
    - Dst: OR
      Src: /src/glib/glib/guniprop.c:250,1
    - Dst: OR
      Src: /src/glib/glib/guniprop.c:249,1
    - Dst: TYPE
      Src: /src/glib/glib/guniprop.c:247,1
    - Dst: OR
      Src: /src/glib/glib/guniprop.c:248,1
    - Dst: OR
      Src: /src/glib/glib/guniprop.c:251,1
    - Dst: OR
      Src: /src/glib/glib/guniprop.c:252,1
    - Dst: OR
      Src: /src/glib/glib/guniprop.c:253,1
    - Dst: OR
      Src: /src/glib/glib/guniprop.c:254,1
    - Dst: OR
      Src: /src/glib/glib/guniprop.c:255,1
    - Dst: OR
      Src: /src/glib/glib/guniprop.c:256,1
    - Dst: OR
      Src: /src/glib/glib/guniprop.c:258,1
    - Dst: OR
      Src: /src/glib/glib/guniprop.c:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - c
    argTypes:
    - gunichar
    constantsTouched: []
    func_position:
      end: 260
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 260
    functionName: g_unichar_ispunct
    functionSourceFile: /src/glib/glib/guniprop.c
    functionUses: []
    functionsReached:
    - TYPE
    - IS
    - OR
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unichar_ispunct (gunichar c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guniprop.c:959,1
    - Dst: real_toupper
      Src: /src/glib/glib/guniprop.c:966,1
    - Dst: real_toupper
      Src: /src/glib/glib/guniprop.c:968,1
    - Dst: g_malloc
      Src: /src/glib/glib/guniprop.c:967,1
    - Dst: get_locale_type
      Src: /src/glib/glib/guniprop.c:961,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 972
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 972
    functionName: g_utf8_strup
    functionSourceFile: /src/glib/glib/guniprop.c
    functionUses: []
    functionsReached:
    - real_toupper
    - g_return_val_if_fail
    - get_locale_type
    - g_malloc
    linkageType: ''
    returnType: gchar*
    signature: "gchar *g_utf8_strup (const gchar *str,\t gssize len) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_unichar_combining_class
      Src: /src/glib/glib/guniprop.c:984,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/guniprop.c:990,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/guniprop.c:984,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - str
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 994
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 994
    functionName: has_more_above
    functionSourceFile: /src/glib/glib/guniprop.c
    functionUses: []
    functionsReached:
    - g_unichar_combining_class
    - g_utf8_next_char
    - g_utf8_get_char
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean has_more_above (const gchar *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guniprop.c:1153,1
    - Dst: get_locale_type
      Src: /src/glib/glib/guniprop.c:1155,1
    - Dst: real_tolower
      Src: /src/glib/glib/guniprop.c:1160,1
    - Dst: real_tolower
      Src: /src/glib/glib/guniprop.c:1162,1
    - Dst: g_malloc
      Src: /src/glib/glib/guniprop.c:1161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1145
    functionDepth: 0
    functionLinenumber: 1145
    functionLinenumberEnd: 1166
    functionName: g_utf8_strdown
    functionSourceFile: /src/glib/glib/guniprop.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - get_locale_type
    - g_malloc
    - real_tolower
    linkageType: ''
    returnType: gchar*
    signature: "gchar *g_utf8_strdown (const gchar *str,\t\tgssize len) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_win32_getlocale
      Src: /src/glib/glib/guniprop.c:742,1
    - Dst: g_free
      Src: /src/glib/glib/guniprop.c:747,1
    - Dst: setlocale
      Src: /src/glib/glib/guniprop.c:749,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 772
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 772
    functionName: get_locale_type
    functionSourceFile: /src/glib/glib/guniprop.c
    functionUses: []
    functionsReached:
    - setlocale
    - g_free
    - g_win32_getlocale
    linkageType: ''
    returnType: LocaleType
    signature: 'static LocaleType get_locale_type (void) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: g_unichar_to_utf8
      Src: /src/glib/glib/guniprop.c:1045,1
    - Dst: g_unichar_to_utf8
      Src: /src/glib/glib/guniprop.c:1060,1
    - Dst: g_unichar_to_utf8
      Src: /src/glib/glib/guniprop.c:1048,1
    - Dst: ISALPHA
      Src: /src/glib/glib/guniprop.c:1076,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/guniprop.c:1067,1
    - Dst: has_more_above
      Src: /src/glib/glib/guniprop.c:1058,1
    - Dst: OR
      Src: /src/glib/glib/guniprop.c:1087,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/guniprop.c:1008,1
    - Dst: g_unichar_to_utf8
      Src: /src/glib/glib/guniprop.c:1031,1
    - Dst: g_unichar_to_utf8
      Src: /src/glib/glib/guniprop.c:1039,1
    - Dst: g_unichar_to_utf8
      Src: /src/glib/glib/guniprop.c:1051,1
    - Dst: TYPE
      Src: /src/glib/glib/guniprop.c:1068,1
    - Dst: g_unichar_to_utf8
      Src: /src/glib/glib/guniprop.c:1061,1
    - Dst: IS
      Src: /src/glib/glib/guniprop.c:1086,1
    - Dst: output_special_case
      Src: /src/glib/glib/guniprop.c:1095,1
    - Dst: TYPE
      Src: /src/glib/glib/guniprop.c:1009,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/guniprop.c:1013,1
    - Dst: g_unichar_to_utf8
      Src: /src/glib/glib/guniprop.c:1040,1
    - Dst: g_unichar_tolower
      Src: /src/glib/glib/guniprop.c:1060,1
    - Dst: memcpy
      Src: /src/glib/glib/guniprop.c:1122,1
    - Dst: g_unichar_to_utf8
      Src: /src/glib/glib/guniprop.c:1024,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/guniprop.c:1019,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/guniprop.c:1026,1
    - Dst: g_unichar_to_utf8
      Src: /src/glib/glib/guniprop.c:1084,1
    - Dst: OR
      Src: /src/glib/glib/guniprop.c:1088,1
    - Dst: ATTTABLE
      Src: /src/glib/glib/guniprop.c:1091,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/guniprop.c:1102,1
    - Dst: g_unichar_to_utf8
      Src: /src/glib/glib/guniprop.c:1114,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 131
    argCount: 4
    argNames:
    - str
    - max_len
    - out_buffer
    - locale_type
    argTypes:
    - gchar*
    - gssize
    - gchar*
    - LocaleType
    constantsTouched: []
    func_position:
      end: 1130
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 1130
    functionName: real_tolower
    functionSourceFile: /src/glib/glib/guniprop.c
    functionUses: []
    functionsReached:
    - OR
    - memcpy
    - g_utf8_next_char
    - ISALPHA
    - G_N_ELEMENTS
    - g_unichar_to_utf8
    - output_special_case
    - g_unichar_tolower
    - g_utf8_get_char
    - IS
    - TYPE
    - has_more_above
    - ATTTABLE
    linkageType: ''
    returnType: gsize
    signature: "static gsize real_tolower (const gchar *str,\t gssize max_len,\t gchar\
      \ *out_buffer,\t LocaleType locale_type) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TYPE
      Src: /src/glib/glib/guniprop.c:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - gunichar
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: g_unichar_iscntrl
    functionSourceFile: /src/glib/glib/guniprop.c
    functionUses: []
    functionsReached:
    - TYPE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unichar_iscntrl (gunichar c) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TYPE
      Src: /src/glib/glib/guniprop.c:836,1
    - Dst: g_unichar_to_utf8
      Src: /src/glib/glib/guniprop.c:887,1
    - Dst: IS
      Src: /src/glib/glib/guniprop.c:889,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/guniprop.c:857,1
    - Dst: g_unichar_fully_decompose
      Src: /src/glib/glib/guniprop.c:857,1
    - Dst: g_unichar_toupper
      Src: /src/glib/glib/guniprop.c:861,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/guniprop.c:906,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/guniprop.c:840,1
    - Dst: ISMARK
      Src: /src/glib/glib/guniprop.c:869,1
    - Dst: OR
      Src: /src/glib/glib/guniprop.c:891,1
    - Dst: ATTTABLE
      Src: /src/glib/glib/guniprop.c:894,1
    - Dst: memcpy
      Src: /src/glib/glib/guniprop.c:927,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/guniprop.c:835,1
    - Dst: g_unichar_to_utf8
      Src: /src/glib/glib/guniprop.c:861,1
    - Dst: output_marks
      Src: /src/glib/glib/guniprop.c:864,1
    - Dst: g_unichar_to_utf8
      Src: /src/glib/glib/guniprop.c:877,1
    - Dst: g_unichar_to_utf8
      Src: /src/glib/glib/guniprop.c:919,1
    - Dst: output_special_case
      Src: /src/glib/glib/guniprop.c:898,1
    - Dst: OR
      Src: /src/glib/glib/guniprop.c:890,1
    - Dst: output_marks
      Src: /src/glib/glib/guniprop.c:884,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 82
    argCount: 4
    argNames:
    - str
    - max_len
    - out_buffer
    - locale_type
    argTypes:
    - gchar*
    - gssize
    - gchar*
    - LocaleType
    constantsTouched: []
    func_position:
      end: 935
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 935
    functionName: real_toupper
    functionSourceFile: /src/glib/glib/guniprop.c
    functionUses: []
    functionsReached:
    - OR
    - memcpy
    - g_utf8_next_char
    - G_N_ELEMENTS
    - g_unichar_to_utf8
    - output_special_case
    - output_marks
    - g_utf8_get_char
    - ATTTABLE
    - IS
    - ISMARK
    - TYPE
    - g_unichar_fully_decompose
    - g_unichar_toupper
    linkageType: ''
    returnType: gsize
    signature: "static gsize real_toupper (const gchar *str,\t gssize max_len,\t gchar\
      \ *out_buffer,\t LocaleType locale_type) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TYPE
      Src: /src/glib/glib/guniprop.c:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - gunichar
    constantsTouched: []
    func_position:
      end: 209
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionName: g_unichar_islower
    functionSourceFile: /src/glib/glib/guniprop.c
    functionUses: []
    functionsReached:
    - TYPE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unichar_islower (gunichar c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISMARK
      Src: /src/glib/glib/guniprop.c:322,1
    - Dst: TYPE
      Src: /src/glib/glib/guniprop.c:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - gunichar
    constantsTouched: []
    func_position:
      end: 323
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 323
    functionName: g_unichar_ismark
    functionSourceFile: /src/glib/glib/guniprop.c
    functionUses: []
    functionsReached:
    - TYPE
    - ISMARK
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unichar_ismark (gunichar c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/guniprop.c:356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - c
    argTypes:
    - gunichar
    constantsTouched: []
    func_position:
      end: 360
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 360
    functionName: g_unichar_istitle
    functionSourceFile: /src/glib/glib/guniprop.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unichar_istitle (gunichar c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IS
      Src: /src/glib/glib/guniprop.c:392,1
    - Dst: OR
      Src: /src/glib/glib/guniprop.c:394,1
    - Dst: TYPE
      Src: /src/glib/glib/guniprop.c:392,1
    - Dst: OR
      Src: /src/glib/glib/guniprop.c:393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - gunichar
    constantsTouched: []
    func_position:
      end: 396
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 396
    functionName: g_unichar_isdefined
    functionSourceFile: /src/glib/glib/guniprop.c
    functionUses: []
    functionsReached:
    - TYPE
    - IS
    - OR
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unichar_isdefined (gunichar c) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_unichar_iswide_bsearch
      Src: /src/glib/glib/guniprop.c:501,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/guniprop.c:506,1
    - Dst: g_unichar_type
      Src: /src/glib/glib/guniprop.c:503,1
    - Dst: bsearch
      Src: /src/glib/glib/guniprop.c:504,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/guniprop.c:504,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - gunichar
    constantsTouched: []
    func_position:
      end: 512
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 512
    functionName: g_unichar_iswide
    functionSourceFile: /src/glib/glib/guniprop.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - g_unichar_iswide_bsearch
    - GUINT_TO_POINTER
    - g_unichar_type
    - bsearch
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unichar_iswide (gunichar c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TYPE
      Src: /src/glib/glib/guniprop.c:683,1
    - Dst: ATTTABLE
      Src: /src/glib/glib/guniprop.c:684,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - gunichar
    constantsTouched: []
    func_position:
      end: 686
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 686
    functionName: g_unichar_digit_value
    functionSourceFile: /src/glib/glib/guniprop.c
    functionUses: []
    functionsReached:
    - TYPE
    - ATTTABLE
    linkageType: ''
    returnType: int
    signature: 'int g_unichar_digit_value (gunichar c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TYPE
      Src: /src/glib/glib/guniprop.c:725,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - gunichar
    constantsTouched: []
    func_position:
      end: 726
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 726
    functionName: g_unichar_type
    functionSourceFile: /src/glib/glib/guniprop.c
    functionUses: []
    functionsReached:
    - TYPE
    linkageType: ''
    returnType: GUnicodeType
    signature: 'GUnicodeType g_unichar_type (gunichar c) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/guniprop.c:1601,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - iso15924
    argTypes:
    - guint32
    constantsTouched: []
    func_position:
      end: 1606
      start: 1593
    functionDepth: 0
    functionLinenumber: 1593
    functionLinenumberEnd: 1606
    functionName: g_unicode_script_from_iso15924
    functionSourceFile: /src/glib/glib/guniprop.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    linkageType: ''
    returnType: GUnicodeScript
    signature: 'GUnicodeScript g_unicode_script_from_iso15924 (guint32 iso15924) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IS
      Src: /src/glib/glib/guniprop.c:291,1
    - Dst: OR
      Src: /src/glib/glib/guniprop.c:293,1
    - Dst: TYPE
      Src: /src/glib/glib/guniprop.c:291,1
    - Dst: OR
      Src: /src/glib/glib/guniprop.c:294,1
    - Dst: OR
      Src: /src/glib/glib/guniprop.c:292,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 1
    argNames:
    - c
    argTypes:
    - gunichar
    constantsTouched: []
    func_position:
      end: 299
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 299
    functionName: g_unichar_isspace
    functionSourceFile: /src/glib/glib/guniprop.c
    functionUses: []
    functionsReached:
    - TYPE
    - IS
    - OR
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unichar_isspace (gunichar c) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/guniprop.c:657,1
    - Dst: TYPE
      Src: /src/glib/glib/guniprop.c:664,1
    - Dst: g_unichar_toupper
      Src: /src/glib/glib/guniprop.c:665,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - c
    argTypes:
    - gunichar
    constantsTouched: []
    func_position:
      end: 668
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 668
    functionName: g_unichar_totitle
    functionSourceFile: /src/glib/glib/guniprop.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - TYPE
    - g_unichar_toupper
    linkageType: ''
    returnType: gunichar
    signature: 'gunichar g_unichar_totitle (gunichar c) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TYPE
      Src: /src/glib/glib/guniprop.c:709,1
    - Dst: ATTTABLE
      Src: /src/glib/glib/guniprop.c:710,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 1
    argNames:
    - c
    argTypes:
    - gunichar
    constantsTouched: []
    func_position:
      end: 712
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 712
    functionName: g_unichar_xdigit_value
    functionSourceFile: /src/glib/glib/guniprop.c
    functionUses: []
    functionsReached:
    - TYPE
    - ATTTABLE
    linkageType: ''
    returnType: int
    signature: 'int g_unichar_xdigit_value (gunichar c) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guniprop.c:1195,1
    - Dst: g_string_new
      Src: /src/glib/glib/guniprop.c:1197,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/guniprop.c:1204,1
    - Dst: g_string_append
      Src: /src/glib/glib/guniprop.c:1214,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/guniprop.c:1201,1
    - Dst: g_string_append_unichar
      Src: /src/glib/glib/guniprop.c:1226,1
    - Dst: g_unichar_tolower
      Src: /src/glib/glib/guniprop.c:1226,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/guniprop.c:1229,1
    - Dst: g_string_free
      Src: /src/glib/glib/guniprop.c:1232,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1188
    functionDepth: 0
    functionLinenumber: 1188
    functionLinenumberEnd: 1233
    functionName: g_utf8_casefold
    functionSourceFile: /src/glib/glib/guniprop.c
    functionUses: []
    functionsReached:
    - g_string_append_unichar
    - g_return_val_if_fail
    - g_utf8_next_char
    - G_N_ELEMENTS
    - g_unichar_tolower
    - g_utf8_get_char
    - g_string_free
    - g_string_new
    - g_string_append
    linkageType: ''
    returnType: gchar*
    signature: "gchar *g_utf8_casefold (const gchar *str,\t\t gssize len) "
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 15
    argCount: 2
    argNames:
    - type1
    - type2
    argTypes:
    - GVariantType*
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 64
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 64
    functionName: _g_variant_type_equal
    functionSourceFile: /src/glib/glib/gvarianttype-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: G_BEGIN_DECLS
    signature: 'G_BEGIN_DECLS static inline gboolean _g_variant_type_equal (const
      GVariantType *type1, const GVariantType *type2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - type
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 96
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 96
    functionName: _g_variant_type_hash
    functionSourceFile: /src/glib/glib/gvarianttype-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint
    signature: 'static inline guint _g_variant_type_hash (gconstpointer type) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _snwprintf_s
      Src: /src/glib/glib/gwin32-private.c:44,1
    - Dst: wcslen
      Src: /src/glib/glib/gwin32-private.c:46,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gwin32-private.c:45,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gwin32-private.c:44,1
    - Dst: _snwprintf_s
      Src: /src/glib/glib/gwin32-private.c:47,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gwin32-private.c:47,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gwin32-private.c:48,1
    - Dst: wcslen
      Src: /src/glib/glib/gwin32-private.c:49,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 5
    argNames:
    - local_debugger
    - debugger_size
    - cmdline
    - pid
    - event
    argTypes:
    - wchar_t*
    - gsize
    - wchar_t*
    - DWORD
    - guintptr
    constantsTouched: []
    func_position:
      end: 79
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 79
    functionName: _g_win32_subst_pid_and_event_w
    functionSourceFile: /src/glib/glib/gwin32-private.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - _snwprintf_s
    - wcslen
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _g_win32_subst_pid_and_event_w (wchar_t *local_debugger,
      gsize debugger_size, const wchar_t *cmdline, DWORD pid, guintptr event) '
  - BBCount: 19
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 64
    argCount: 3
    argNames:
    - time_
    - offset
    - rfc8536
    argTypes:
    - gchar*
    - gint32*
    - gboolean
    constantsTouched: []
    func_position:
      end: 376
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 376
    functionName: parse_time
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean parse_time (const gchar *time_, gint32 *offset, gboolean
      rfc8536) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/gtimezone.c:846,1
    - Dst: copy_windows_systemtime
      Src: /src/glib/glib/gtimezone.c:864,1
    - Dst: copy_windows_systemtime
      Src: /src/glib/glib/gtimezone.c:862,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/gtimezone.c:850,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:853,1
    - Dst: strncpy
      Src: /src/glib/glib/gtimezone.c:872,1
    - Dst: strncpy
      Src: /src/glib/glib/gtimezone.c:873,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:875,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:876,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - rule
    - tzi
    argTypes:
    - TimeZoneRule*
    - TIME_ZONE_INFORMATION*
    constantsTouched: []
    func_position:
      end: 879
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 879
    functionName: rule_from_windows_time_zone_info
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - strncpy
    - copy_windows_systemtime
    - g_free
    - g_utf16_to_utf8
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean rule_from_windows_time_zone_info (TimeZoneRule *rule,
      TIME_ZONE_INFORMATION *tzi) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strndup
      Src: /src/glib/glib/gtimezone.c:1567,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:1569,1
    - Dst: parse_tz_boundary
      Src: /src/glib/glib/gtimezone.c:1568,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - pos
    - target
    argTypes:
    - gchar**
    - TimeZoneDate*
    constantsTouched: []
    func_position:
      end: 1572
      start: 1558
    functionDepth: 0
    functionLinenumber: 1558
    functionLinenumberEnd: 1572
    functionName: parse_identifier_boundary
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - g_strndup
    - g_free
    - parse_tz_boundary
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean parse_identifier_boundary (gchar **pos, TimeZoneDate
      *target) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtimezone.c:2116,1
    - Dst: TRANSITION_INFO
      Src: /src/glib/glib/gtimezone.c:2130,1
    - Dst: TRANSITION_INFO
      Src: /src/glib/glib/gtimezone.c:2123,1
    - Dst: TRANSITION
      Src: /src/glib/glib/gtimezone.c:2118,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2131
      start: 2111
    functionDepth: 0
    functionLinenumber: 2111
    functionLinenumberEnd: 2131
    functionName: interval_info
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - TRANSITION_INFO
    - TRANSITION
    linkageType: ''
    returnType: TransitionInfo*
    signature: 'inline static const TransitionInfo *interval_info (GTimeZone *tz,
      guint interval) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: interval_end
      Src: /src/glib/glib/gtimezone.c:2349,1
    - Dst: interval_local_end
      Src: /src/glib/glib/gtimezone.c:2357,1
    - Dst: interval_local_start
      Src: /src/glib/glib/gtimezone.c:2355,1
    - Dst: interval_local_end
      Src: /src/glib/glib/gtimezone.c:2361,1
    - Dst: interval_local_start
      Src: /src/glib/glib/gtimezone.c:2363,1
    - Dst: interval_isdst
      Src: /src/glib/glib/gtimezone.c:2369,1
    - Dst: interval_local_end
      Src: /src/glib/glib/gtimezone.c:2373,1
    - Dst: interval_local_start
      Src: /src/glib/glib/gtimezone.c:2376,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 37
    argCount: 3
    argNames:
    - tz
    - type
    - time_
    argTypes:
    - GTimeZone*
    - GTimeType
    - gint64
    constantsTouched: []
    func_position:
      end: 2382
      start: 2337
    functionDepth: 0
    functionLinenumber: 2337
    functionLinenumberEnd: 2382
    functionName: g_time_zone_find_interval
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - interval_isdst
    - interval_local_end
    - interval_local_start
    - interval_end
    linkageType: ''
    returnType: gint
    signature: 'gint g_time_zone_find_interval (GTimeZone *tz, GTimeType type, gint64
      time_) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/glib/glib/gtimezone.c:103,1
    - Dst: GUINT32_FROM_BE
      Src: /src/glib/glib/gtimezone.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - be
    argTypes:
    - guint32_be
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: guint32_from_be
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - memcpy
    - GUINT32_FROM_BE
    linkageType: ''
    returnType: guint32
    signature: 'static inline guint32 guint32_from_be (const guint32_be be) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/glib/gtimezone.c:385,1
    - Dst: parse_time
      Src: /src/glib/glib/gtimezone.c:402,1
    - Dst: parse_time
      Src: /src/glib/glib/gtimezone.c:392,1
    - Dst: parse_time
      Src: /src/glib/glib/gtimezone.c:405,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 3
    argNames:
    - name
    - offset
    - rfc8536
    argTypes:
    - gchar*
    - gint32*
    - gboolean
    constantsTouched: []
    func_position:
      end: 416
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 416
    functionName: parse_constant_offset
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    - parse_time
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean parse_constant_offset (const gchar *name, gint32 *offset,
      gboolean rfc8536) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: guint32_from_be
      Src: /src/glib/glib/gtimezone.c:715,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtimezone.c:738,1
    - Dst: guint32_from_be
      Src: /src/glib/glib/gtimezone.c:730,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtimezone.c:736,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtimezone.c:743,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gtimezone.c:754,1
    - Dst: g_array_sized_new
      Src: /src/glib/glib/gtimezone.c:757,1
    - Dst: gint32_from_be
      Src: /src/glib/glib/gtimezone.c:764,1
    - Dst: gint64_from_be
      Src: /src/glib/glib/gtimezone.c:774,1
    - Dst: gint32_from_be
      Src: /src/glib/glib/gtimezone.c:776,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/gtimezone.c:811,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtimezone.c:704,1
    - Dst: guint32_from_be
      Src: /src/glib/glib/gtimezone.c:716,1
    - Dst: guint32_from_be
      Src: /src/glib/glib/gtimezone.c:717,1
    - Dst: guint32_from_be
      Src: /src/glib/glib/gtimezone.c:718,1
    - Dst: guint32_from_be
      Src: /src/glib/glib/gtimezone.c:728,1
    - Dst: guint32_from_be
      Src: /src/glib/glib/gtimezone.c:733,1
    - Dst: g_strdup
      Src: /src/glib/glib/gtimezone.c:766,1
    - Dst: g_assert
      Src: /src/glib/glib/gtimezone.c:779,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/gtimezone.c:796,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gtimezone.c:795,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/gtimezone.c:697,1
    - Dst: memcmp
      Src: /src/glib/glib/gtimezone.c:705,1
    - Dst: guint32_from_be
      Src: /src/glib/glib/gtimezone.c:714,1
    - Dst: guint32_from_be
      Src: /src/glib/glib/gtimezone.c:719,1
    - Dst: parse_footertz
      Src: /src/glib/glib/gtimezone.c:742,1
    - Dst: guint32_from_be
      Src: /src/glib/glib/gtimezone.c:723,1
    - Dst: g_array_sized_new
      Src: /src/glib/glib/gtimezone.c:755,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/gtimezone.c:767,1
    - Dst: g_assert
      Src: /src/glib/glib/gtimezone.c:780,1
    - Dst: g_array_index
      Src: /src/glib/glib/gtimezone.c:792,1
    - Dst: g_array_index
      Src: /src/glib/glib/gtimezone.c:804,1
    - Dst: guint32_from_be
      Src: /src/glib/glib/gtimezone.c:722,1
    - Dst: guint32_from_be
      Src: /src/glib/glib/gtimezone.c:729,1
    - Dst: memchr
      Src: /src/glib/glib/gtimezone.c:737,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/gtimezone.c:815,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/gtimezone.c:781,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 135
    argCount: 3
    argNames:
    - gtz
    - zoneinfo
    - identifier
    - /* (transfer full) */
    argTypes:
    - GTimeZone*
    - GBytes*
    - gchar*
    constantsTouched: []
    func_position:
      end: 817
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 817
    functionName: init_zone_from_iana_info
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_strdup
    - g_time_zone_unref
    - g_return_if_fail
    - parse_footertz
    - g_array_append_val
    - g_array_sized_new
    - g_assert
    - g_array_index
    - g_bytes_get_data
    - gint32_from_be
    - memchr
    - guint32_from_be
    - gint64_from_be
    - memcmp
    linkageType: ''
    returnType: void
    signature: 'static void init_zone_from_iana_info (GTimeZone *gtz, GBytes *zoneinfo,
      gchar *identifier /* (transfer full) */) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gtimezone.c:1581,1
    - Dst: g_ascii_isalnum
      Src: /src/glib/glib/gtimezone.c:1588,1
    - Dst: g_ascii_isalpha
      Src: /src/glib/glib/gtimezone.c:1593,1
    - Dst: memset
      Src: /src/glib/glib/gtimezone.c:1602,1
    - Dst: strncpy
      Src: /src/glib/glib/gtimezone.c:1605,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 3
    argNames:
    - pos
    - buffer
    - size
    argTypes:
    - gchar**
    - gchar*
    - guint
    constantsTouched: []
    func_position:
      end: 1608
      start: 1574
    functionDepth: 0
    functionLinenumber: 1574
    functionLinenumberEnd: 1608
    functionName: set_tz_name
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - g_ascii_isalpha
    - g_ascii_isalnum
    - g_assert
    - strncpy
    - memset
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean set_tz_name (gchar **pos, gchar *buffer, guint size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TRANSITION
      Src: /src/glib/glib/gtimezone.c:2141,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - tz
    - interval
    argTypes:
    - GTimeZone*
    - guint
    constantsTouched: []
    func_position:
      end: 2142
      start: 2133
    functionDepth: 0
    functionLinenumber: 2133
    functionLinenumberEnd: 2142
    functionName: interval_start
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - TRANSITION
    linkageType: ''
    returnType: gint64
    signature: 'inline static gint64 interval_start (GTimeZone *tz, guint interval) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - s_time
    - tzdate
    argTypes:
    - SYSTEMTIME*
    - TimeZoneDate*
    constantsTouched: []
    func_position:
      end: 837
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 837
    functionName: copy_windows_systemtime
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void copy_windows_systemtime (SYSTEMTIME *s_time, TimeZoneDate
      *tzdate) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/glib/gtimezone.c:2000,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/gtimezone.c:2002,1
    - Dst: g_once_init_leave
      Src: /src/glib/glib/gtimezone.c:2004,1
    - Dst: g_time_zone_ref
      Src: /src/glib/glib/gtimezone.c:2007,1
    - Dst: g_assert
      Src: /src/glib/glib/gtimezone.c:2003,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2008
      start: 1994
    functionDepth: 0
    functionLinenumber: 1994
    functionLinenumberEnd: 2008
    functionName: g_time_zone_new_utc
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - g_once_init_leave
    - g_assert
    - g_time_zone_ref
    - g_once_init_enter
    - g_time_zone_new_identifier
    linkageType: ''
    returnType: GTimeZone*
    signature: 'GTimeZone *g_time_zone_new_utc (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/glib/glib/gtimezone.c:95,1
    - Dst: GINT64_FROM_BE
      Src: /src/glib/glib/gtimezone.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - be
    argTypes:
    - gint64_be
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: gint64_from_be
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - memcpy
    - GINT64_FROM_BE
    linkageType: ''
    returnType: gint64
    signature: 'static inline gint64 gint64_from_be (const gint64_be be) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtimezone.c:280,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gtimezone.c:283,1
    - Dst: g_assert
      Src: /src/glib/glib/gtimezone.c:281,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 286
    functionName: g_time_zone_ref
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_atomic_int_inc
    - g_return_val_if_fail
    linkageType: ''
    returnType: GTimeZone*
    signature: 'GTimeZone *g_time_zone_ref (GTimeZone *tz) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_constant_offset
      Src: /src/glib/glib/gtimezone.c:424,1
    - Dst: g_strdup
      Src: /src/glib/glib/gtimezone.c:429,1
    - Dst: g_strdup
      Src: /src/glib/glib/gtimezone.c:431,1
    - Dst: g_array_sized_new
      Src: /src/glib/glib/gtimezone.c:432,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/gtimezone.c:433,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - gtz
    - name
    argTypes:
    - GTimeZone*
    - gchar*
    constantsTouched: []
    func_position:
      end: 437
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 437
    functionName: zone_for_constant_offset
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - g_array_append_val
    - g_array_sized_new
    - parse_constant_offset
    - g_strdup
    linkageType: ''
    returnType: void
    signature: 'static void zone_for_constant_offset (GTimeZone *gtz, const gchar
      *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_file_test
      Src: /src/glib/glib/gtimezone.c:512,1
    - Dst: g_file_test
      Src: /src/glib/glib/gtimezone.c:514,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 519
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 519
    functionName: zone_info_base_dir
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - g_file_test
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *zone_info_base_dir (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RegOpenKeyExW
      Src: /src/glib/glib/gtimezone.c:889,1
    - Dst: RegQueryValueExW
      Src: /src/glib/glib/gtimezone.c:899,1
    - Dst: RegQueryValueExW
      Src: /src/glib/glib/gtimezone.c:893,1
    - Dst: g_malloc
      Src: /src/glib/glib/gtimezone.c:896,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:902,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/gtimezone.c:906,1
    - Dst: RegCloseKey
      Src: /src/glib/glib/gtimezone.c:908,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 911
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 911
    functionName: windows_default_tzname
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - RegQueryValueExW
    - g_malloc
    - RegOpenKeyExW
    - RegCloseKey
    - g_free
    - g_utf16_to_utf8
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *windows_default_tzname (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gtimezone.c:2081,1
    - Dst: ABS
      Src: /src/glib/glib/gtimezone.c:2085,1
    - Dst: ABS
      Src: /src/glib/glib/gtimezone.c:2084,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/gtimezone.c:2086,1
    - Dst: ABS
      Src: /src/glib/glib/gtimezone.c:2083,1
    - Dst: g_time_zone_new_utc
      Src: /src/glib/glib/gtimezone.c:2089,1
    - Dst: g_assert
      Src: /src/glib/glib/gtimezone.c:2091,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/gtimezone.c:2091,1
    - Dst: g_assert
      Src: /src/glib/glib/gtimezone.c:2093,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:2094,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2097
      start: 2070
    functionDepth: 0
    functionLinenumber: 2070
    functionLinenumberEnd: 2097
    functionName: g_time_zone_new_offset
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_assert
    - g_time_zone_new_utc
    - g_time_zone_get_offset
    - ABS
    - g_time_zone_new_identifier
    - g_free
    linkageType: ''
    returnType: GTimeZone*
    signature: 'GTimeZone *g_time_zone_new_offset (gint32 seconds) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TRANSITION
      Src: /src/glib/glib/gtimezone.c:2150,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - tz
    - interval
    argTypes:
    - GTimeZone*
    - guint
    constantsTouched: []
    func_position:
      end: 2154
      start: 2144
    functionDepth: 0
    functionLinenumber: 2144
    functionLinenumberEnd: 2154
    functionName: interval_end
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - TRANSITION
    linkageType: ''
    returnType: gint64
    signature: 'inline static gint64 interval_end (GTimeZone *tz, guint interval) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtimezone.c:2453,1
    - Dst: interval_valid
      Src: /src/glib/glib/gtimezone.c:2453,1
    - Dst: interval_isdst
      Src: /src/glib/glib/gtimezone.c:2458,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - tz
    - interval
    argTypes:
    - GTimeZone*
    - gint
    constantsTouched: []
    func_position:
      end: 2459
      start: 2449
    functionDepth: 0
    functionLinenumber: 2449
    functionLinenumberEnd: 2459
    functionName: g_time_zone_is_dst
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - interval_isdst
    - g_return_val_if_fail
    - interval_valid
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_time_zone_is_dst (GTimeZone *tz, gint interval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/glib/glib/gtimezone.c:99,1
    - Dst: GINT32_FROM_BE
      Src: /src/glib/glib/gtimezone.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - be
    argTypes:
    - gint32_be
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: gint32_from_be
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - memcpy
    - GINT32_FROM_BE
    linkageType: ''
    returnType: gint32
    signature: 'static inline gint32 gint32_from_be (const gint32_be be) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_path_is_absolute
      Src: /src/glib/glib/gtimezone.c:537,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gtimezone.c:560,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/gtimezone.c:582,1
    - Dst: g_canonicalize_filename
      Src: /src/glib/glib/gtimezone.c:604,1
    - Dst: g_strchomp
      Src: /src/glib/glib/gtimezone.c:593,1
    - Dst: g_clear_error
      Src: /src/glib/glib/gtimezone.c:568,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/gtimezone.c:585,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gtimezone.c:606,1
    - Dst: defined
      Src: /src/glib/glib/gtimezone.c:588,1
    - Dst: memmove
      Src: /src/glib/glib/gtimezone.c:622,1
    - Dst: strlen
      Src: /src/glib/glib/gtimezone.c:623,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gtimezone.c:541,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gtimezone.c:554,1
    - Dst: g_error_matches
      Src: /src/glib/glib/gtimezone.c:565,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:605,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/gtimezone.c:614,1
    - Dst: strlen
      Src: /src/glib/glib/gtimezone.c:616,1
    - Dst: g_assert
      Src: /src/glib/glib/gtimezone.c:625,1
    - Dst: g_file_read_link
      Src: /src/glib/glib/gtimezone.c:533,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gtimezone.c:539,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:540,1
    - Dst: g_lstat
      Src: /src/glib/glib/gtimezone.c:544,1
    - Dst: g_assert
      Src: /src/glib/glib/gtimezone.c:597,1
    - Dst: zone_identifier_illumos
      Src: /src/glib/glib/gtimezone.c:590,1
    - Dst: g_getenv
      Src: /src/glib/glib/gtimezone.c:609,1
    - Dst: zone_info_base_dir
      Src: /src/glib/glib/gtimezone.c:611,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:628,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 631
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 631
    functionName: zone_identifier_unix
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - memmove
    - g_file_get_contents
    - g_canonicalize_filename
    - g_clear_pointer
    - g_build_filename
    - strlen
    - g_getenv
    - zone_info_base_dir
    - zone_identifier_illumos
    - g_clear_error
    - g_assert
    - defined
    - g_file_read_link
    - g_error_matches
    - g_str_has_prefix
    - g_lstat
    - g_strchomp
    - g_free
    - g_path_is_absolute
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *zone_identifier_unix (void) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gtimezone.c:973,1
    - Dst: g_strconcat
      Src: /src/glib/glib/gtimezone.c:986,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/gtimezone.c:987,1
    - Dst: RegQueryValueExW
      Src: /src/glib/glib/gtimezone.c:1008,1
    - Dst: g_new0
      Src: /src/glib/glib/gtimezone.c:1044,1
    - Dst: register_tzi_to_tzi
      Src: /src/glib/glib/gtimezone.c:1071,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:1075,1
    - Dst: RegCloseKey
      Src: /src/glib/glib/gtimezone.c:1106,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:1111,1
    - Dst: GetSystemDirectoryW
      Src: /src/glib/glib/gtimezone.c:970,1
    - Dst: g_strconcat
      Src: /src/glib/glib/gtimezone.c:991,1
    - Dst: RegLoadMUIStringW
      Src: /src/glib/glib/gtimezone.c:1004,1
    - Dst: RegQueryValueExW
      Src: /src/glib/glib/gtimezone.c:1021,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:1061,1
    - Dst: RegQueryValueExW
      Src: /src/glib/glib/gtimezone.c:1054,1
    - Dst: RegOpenKeyExW
      Src: /src/glib/glib/gtimezone.c:1088,1
    - Dst: register_tzi_to_tzi
      Src: /src/glib/glib/gtimezone.c:1097,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:1101,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:1112,1
    - Dst: RegLoadMUIStringW
      Src: /src/glib/glib/gtimezone.c:1017,1
    - Dst: RegQueryValueExW
      Src: /src/glib/glib/gtimezone.c:1034,1
    - Dst: swprintf_s
      Src: /src/glib/glib/gtimezone.c:1049,1
    - Dst: RegOpenKeyExW
      Src: /src/glib/glib/gtimezone.c:1027,1
    - Dst: RegQueryValueExW
      Src: /src/glib/glib/gtimezone.c:1039,1
    - Dst: rule_from_windows_time_zone_info
      Src: /src/glib/glib/gtimezone.c:1073,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:1113,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/gtimezone.c:992,1
    - Dst: RegOpenKeyExW
      Src: /src/glib/glib/gtimezone.c:996,1
    - Dst: RegCloseKey
      Src: /src/glib/glib/gtimezone.c:1026,1
    - Dst: memcmp
      Src: /src/glib/glib/gtimezone.c:1066,1
    - Dst: memcpy
      Src: /src/glib/glib/gtimezone.c:1069,1
    - Dst: RegCloseKey
      Src: /src/glib/glib/gtimezone.c:1086,1
    - Dst: RegQueryValueExW
      Src: /src/glib/glib/gtimezone.c:1092,1
    - Dst: g_new0
      Src: /src/glib/glib/gtimezone.c:1096,1
    - Dst: rule_from_windows_time_zone_info
      Src: /src/glib/glib/gtimezone.c:1099,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:1110,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 121
    argCount: 3
    argNames:
    - identifier
    - resolved_identifier
    - rules
    argTypes:
    - gchar*
    - gchar*
    - TimeZoneRule**
    constantsTouched: []
    func_position:
      end: 1127
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 1127
    functionName: rules_from_windows_time_zone
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - memcpy
    - GetSystemDirectoryW
    - g_strconcat
    - RegLoadMUIStringW
    - g_assert
    - g_utf8_to_utf16
    - RegQueryValueExW
    - swprintf_s
    - g_free
    - register_tzi_to_tzi
    - rule_from_windows_time_zone_info
    - RegCloseKey
    - g_new0
    - RegOpenKeyExW
    - memcmp
    linkageType: ''
    returnType: guint
    signature: 'static guint rules_from_windows_time_zone (const gchar *identifier,
      const gchar *resolved_identifier, TimeZoneRule **rules) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_date_clear
      Src: /src/glib/glib/gtimezone.c:1136,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/gtimezone.c:1142,1
    - Dst: g_date_add_days
      Src: /src/glib/glib/gtimezone.c:1144,1
    - Dst: g_date_add_days
      Src: /src/glib/glib/gtimezone.c:1146,1
    - Dst: g_date_is_leap_year
      Src: /src/glib/glib/gtimezone.c:1143,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/gtimezone.c:1147,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/gtimezone.c:1148,1
    - Dst: g_date_get_days_in_month
      Src: /src/glib/glib/gtimezone.c:1154,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/gtimezone.c:1157,1
    - Dst: g_date_get_weekday
      Src: /src/glib/glib/gtimezone.c:1158,1
    - Dst: g_date_add_days
      Src: /src/glib/glib/gtimezone.c:1172,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/gtimezone.c:1174,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - TimeZoneDate*
    constantsTouched: []
    func_position:
      end: 1176
      start: 1131
    functionDepth: 0
    functionLinenumber: 1131
    functionLinenumberEnd: 1176
    functionName: find_relative_date
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - g_date_get_day
    - g_date_clear
    - g_date_get_days_in_month
    - g_date_set_dmy
    - g_date_get_month
    - g_date_get_weekday
    - g_date_is_leap_year
    - g_date_add_days
    linkageType: ''
    returnType: void
    signature: 'static void find_relative_date (TimeZoneDate *buffer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtimezone.c:2160,1
    - Dst: interval_info
      Src: /src/glib/glib/gtimezone.c:2161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - tz
    - interval
    argTypes:
    - GTimeZone*
    - guint
    constantsTouched: []
    func_position:
      end: 2162
      start: 2156
    functionDepth: 0
    functionLinenumber: 2156
    functionLinenumberEnd: 2162
    functionName: interval_offset
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - interval_info
    linkageType: ''
    returnType: gint32
    signature: 'inline static gint32 interval_offset (GTimeZone *tz, guint interval) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: interval_end
      Src: /src/glib/glib/gtimezone.c:2255,1
    - Dst: interval_end
      Src: /src/glib/glib/gtimezone.c:2258,1
    - Dst: interval_start
      Src: /src/glib/glib/gtimezone.c:2258,1
    - Dst: g_assert
      Src: /src/glib/glib/gtimezone.c:2258,1
    - Dst: interval_local_start
      Src: /src/glib/glib/gtimezone.c:2262,1
    - Dst: interval_local_end
      Src: /src/glib/glib/gtimezone.c:2268,1
    - Dst: interval_local_start
      Src: /src/glib/glib/gtimezone.c:2272,1
    - Dst: interval_local_end
      Src: /src/glib/glib/gtimezone.c:2276,1
    - Dst: interval_local_start
      Src: /src/glib/glib/gtimezone.c:2282,1
    - Dst: interval_local_start
      Src: /src/glib/glib/gtimezone.c:2284,1
    - Dst: interval_isdst
      Src: /src/glib/glib/gtimezone.c:2289,1
    - Dst: interval_local_start
      Src: /src/glib/glib/gtimezone.c:2299,1
    - Dst: interval_local_end
      Src: /src/glib/glib/gtimezone.c:2295,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 49
    argCount: 3
    argNames:
    - tz
    - type
    - time_
    argTypes:
    - GTimeZone*
    - GTimeType
    - gint64*
    constantsTouched: []
    func_position:
      end: 2306
      start: 2239
    functionDepth: 0
    functionLinenumber: 2239
    functionLinenumberEnd: 2306
    functionName: g_time_zone_adjust_time
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - g_assert
    - interval_start
    - interval_local_start
    - interval_end
    - interval_isdst
    - interval_local_end
    linkageType: ''
    returnType: gint
    signature: 'gint g_time_zone_adjust_time (GTimeZone *tz, GTimeType type, gint64
      *time_) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gtimezone.c:222,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gtimezone.c:235,1
    - Dst: g_assert
      Src: /src/glib/glib/gtimezone.c:224,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gtimezone.c:233,1
    - Dst: G_LOCK
      Src: /src/glib/glib/gtimezone.c:230,1
    - Dst: g_hash_table_remove
      Src: /src/glib/glib/gtimezone.c:240,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gtimezone.c:241,1
    - Dst: g_array_index
      Src: /src/glib/glib/gtimezone.c:249,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:250,1
    - Dst: g_array_free
      Src: /src/glib/glib/gtimezone.c:252,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:256,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gtimezone.c:258,1
    - Dst: g_atomic_int_compare_and_exchange
      Src: /src/glib/glib/gtimezone.c:261,1
    - Dst: g_array_free
      Src: /src/glib/glib/gtimezone.c:255,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 1
    argNames:
    - tz
    argTypes:
    - GTimeZone*
    constantsTouched: []
    func_position:
      end: 265
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 265
    functionName: g_time_zone_unref
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - g_array_free
    - g_atomic_int_get
    - g_hash_table_remove
    - g_assert
    - G_UNLOCK
    - g_atomic_int_compare_and_exchange
    - g_array_index
    - g_free
    - g_slice_free
    - G_LOCK
    linkageType: ''
    returnType: void
    signature: 'void g_time_zone_unref (GTimeZone *tz) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strndup
      Src: /src/glib/glib/gtimezone.c:1701,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:1711,1
    - Dst: g_slice_new0
      Src: /src/glib/glib/gtimezone.c:1714,1
    - Dst: rules_from_identifier
      Src: /src/glib/glib/gtimezone.c:1709,1
    - Dst: init_zone_from_rules
      Src: /src/glib/glib/gtimezone.c:1715,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:1718,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1720
      start: 1698
    functionDepth: 0
    functionLinenumber: 1698
    functionLinenumberEnd: 1720
    functionName: parse_footertz
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - rules_from_identifier
    - g_slice_new0
    - g_strndup
    - init_zone_from_rules
    - g_free
    linkageType: ''
    returnType: GTimeZone*
    signature: 'static GTimeZone *parse_footertz (const gchar *footer, size_t footerlen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_getenv
      Src: /src/glib/glib/gtimezone.c:2030,1
    - Dst: G_LOCK
      Src: /src/glib/glib/gtimezone.c:2033,1
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/gtimezone.c:2036,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gtimezone.c:2037,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gtimezone.c:2036,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/gtimezone.c:2040,1
    - Dst: g_time_zone_new_utc
      Src: /src/glib/glib/gtimezone.c:2042,1
    - Dst: g_time_zone_ref
      Src: /src/glib/glib/gtimezone.c:2044,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gtimezone.c:2046,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2049
      start: 2027
    functionDepth: 0
    functionLinenumber: 2027
    functionLinenumberEnd: 2049
    functionName: g_time_zone_new_local
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - g_getenv
    - g_time_zone_new_utc
    - g_time_zone_ref
    - g_time_zone_get_identifier
    - G_UNLOCK
    - g_clear_pointer
    - g_time_zone_new_identifier
    - g_strcmp0
    - G_LOCK
    linkageType: ''
    returnType: GTimeZone*
    signature: 'GTimeZone *g_time_zone_new_local (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - tz
    - interval
    argTypes:
    - GTimeZone*
    - guint
    constantsTouched: []
    func_position:
      end: 2208
      start: 2201
    functionDepth: 0
    functionLinenumber: 2201
    functionLinenumberEnd: 2208
    functionName: interval_valid
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean interval_valid (GTimeZone *tz, guint interval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtimezone.c:2432,1
    - Dst: interval_offset
      Src: /src/glib/glib/gtimezone.c:2434,1
    - Dst: interval_valid
      Src: /src/glib/glib/gtimezone.c:2432,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - tz
    - interval
    argTypes:
    - GTimeZone*
    - gint
    constantsTouched: []
    func_position:
      end: 2435
      start: 2428
    functionDepth: 0
    functionLinenumber: 2428
    functionLinenumberEnd: 2435
    functionName: g_time_zone_get_offset
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - interval_offset
    - g_return_val_if_fail
    - interval_valid
    linkageType: ''
    returnType: gint32
    signature: 'gint32 g_time_zone_get_offset (GTimeZone *tz, gint interval) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/gtimezone.c:1744,1
    - Dst: g_time_zone_new_utc
      Src: /src/glib/glib/gtimezone.c:1748,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gtimezone.c:1752,1
    - Dst: g_assert
      Src: /src/glib/glib/gtimezone.c:1750,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1753
      start: 1741
    functionDepth: 0
    functionLinenumber: 1741
    functionLinenumberEnd: 1753
    functionName: g_time_zone_new
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_time_zone_new_utc
    - g_time_zone_new_identifier
    - g_steal_pointer
    linkageType: ''
    returnType: GTimeZone*
    signature: 'GTimeZone *g_time_zone_new (const gchar *identifier) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtimezone.c:2406,1
    - Dst: interval_valid
      Src: /src/glib/glib/gtimezone.c:2406,1
    - Dst: interval_abbrev
      Src: /src/glib/glib/gtimezone.c:2408,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2409
      start: 2402
    functionDepth: 0
    functionLinenumber: 2402
    functionLinenumberEnd: 2409
    functionName: g_time_zone_get_abbreviation
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - interval_abbrev
    - g_return_val_if_fail
    - interval_valid
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_time_zone_get_abbreviation (GTimeZone *tz, gint interval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtimezone.c:2480,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2483
      start: 2477
    functionDepth: 0
    functionLinenumber: 2477
    functionLinenumberEnd: 2483
    functionName: g_time_zone_get_identifier
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_time_zone_get_identifier (GTimeZone *tz) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_file_get_contents
      Src: /src/glib/glib/gtimezone.c:453,1
    - Dst: strstr
      Src: /src/glib/glib/gtimezone.c:465,1
    - Dst: g_strndup
      Src: /src/glib/glib/gtimezone.c:495,1
    - Dst: strncmp
      Src: /src/glib/glib/gtimezone.c:457,1
    - Dst: g_strchomp
      Src: /src/glib/glib/gtimezone.c:496,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:497,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gtimezone.c:498,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 502
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 502
    functionName: zone_identifier_illumos
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_strndup
    - strncmp
    - g_file_get_contents
    - g_strchomp
    - g_free
    - strstr
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *zone_identifier_illumos (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtimezone.c:925,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtimezone.c:926,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - orig
    - target
    argTypes:
    - SYSTEMTIME*
    - SYSTEMTIME*
    constantsTouched: []
    func_position:
      end: 936
      start: 922
    functionDepth: 0
    functionLinenumber: 922
    functionLinenumberEnd: 936
    functionName: system_time_copy
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void system_time_copy (SYSTEMTIME *orig, SYSTEMTIME *target) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find_relative_date
      Src: /src/glib/glib/gtimezone.c:1198,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/gtimezone.c:1203,1
    - Dst: g_assert
      Src: /src/glib/glib/gtimezone.c:1201,1
    - Dst: g_date_get_julian
      Src: /src/glib/glib/gtimezone.c:1204,1
    - Dst: g_date_clear
      Src: /src/glib/glib/gtimezone.c:1202,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - boundary
    - year
    - offset
    argTypes:
    - TimeZoneDate*
    - gint
    - gint32
    constantsTouched: []
    func_position:
      end: 1206
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1206
    functionName: boundary_for_year
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - g_date_clear
    - g_date_set_dmy
    - g_assert
    - g_date_get_julian
    - find_relative_date
    linkageType: ''
    returnType: gint64
    signature: 'static gint64 boundary_for_year (TimeZoneDate *boundary, gint year,
      gint32 offset) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gtimezone.c:1257,1
    - Dst: g_array_sized_new
      Src: /src/glib/glib/gtimezone.c:1258,1
    - Dst: boundary_for_year
      Src: /src/glib/glib/gtimezone.c:1282,1
    - Dst: fill_transition_info_from_rule
      Src: /src/glib/glib/gtimezone.c:1306,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/gtimezone.c:1309,1
    - Dst: fill_transition_info_from_rule
      Src: /src/glib/glib/gtimezone.c:1362,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/gtimezone.c:1335,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/gtimezone.c:1367,1
    - Dst: g_array_sized_new
      Src: /src/glib/glib/gtimezone.c:1259,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/gtimezone.c:1271,1
    - Dst: fill_transition_info_from_rule
      Src: /src/glib/glib/gtimezone.c:1305,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/gtimezone.c:1308,1
    - Dst: boundary_for_year
      Src: /src/glib/glib/gtimezone.c:1324,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/gtimezone.c:1342,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/gtimezone.c:1363,1
    - Dst: boundary_for_year
      Src: /src/glib/glib/gtimezone.c:1364,1
    - Dst: fill_transition_info_from_rule
      Src: /src/glib/glib/gtimezone.c:1270,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/gtimezone.c:1285,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/gtimezone.c:1344,1
    - Dst: boundary_for_year
      Src: /src/glib/glib/gtimezone.c:1322,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/gtimezone.c:1337,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 101
    argCount: 4
    argNames:
    - gtz
    - rules
    - rules_num
    - identifier
    - /* (transfer full) */
    argTypes:
    - GTimeZone*
    - TimeZoneRule*
    - guint
    - gchar*
    constantsTouched: []
    func_position:
      end: 1369
      start: 1228
    functionDepth: 0
    functionLinenumber: 1228
    functionLinenumberEnd: 1369
    functionName: init_zone_from_rules
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - boundary_for_year
    - g_array_append_val
    - g_array_sized_new
    - fill_transition_info_from_rule
    linkageType: ''
    returnType: void
    signature: 'static void init_zone_from_rules (GTimeZone *gtz, TimeZoneRule *rules,
      guint rules_num, gchar *identifier /* (transfer full) */) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gtimezone.c:1637,1
    - Dst: set_tz_name
      Src: /src/glib/glib/gtimezone.c:1647,1
    - Dst: create_ruleset_from_rule
      Src: /src/glib/glib/gtimezone.c:1653,1
    - Dst: memset
      Src: /src/glib/glib/gtimezone.c:1645,1
    - Dst: parse_offset
      Src: /src/glib/glib/gtimezone.c:1648,1
    - Dst: set_tz_name
      Src: /src/glib/glib/gtimezone.c:1657,1
    - Dst: parse_offset
      Src: /src/glib/glib/gtimezone.c:1659,1
    - Dst: rules_from_windows_time_zone
      Src: /src/glib/glib/gtimezone.c:1670,1
    - Dst: strcpy
      Src: /src/glib/glib/gtimezone.c:1678,1
    - Dst: strcpy
      Src: /src/glib/glib/gtimezone.c:1679,1
    - Dst: parse_identifier_boundaries
      Src: /src/glib/glib/gtimezone.c:1691,1
    - Dst: create_ruleset_from_rule
      Src: /src/glib/glib/gtimezone.c:1694,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 2
    argNames:
    - identifier
    - rules
    argTypes:
    - gchar*
    - TimeZoneRule**
    constantsTouched: []
    func_position:
      end: 1695
      start: 1630
    functionDepth: 0
    functionLinenumber: 1630
    functionLinenumberEnd: 1695
    functionName: rules_from_identifier
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - memset
    - parse_offset
    - parse_identifier_boundaries
    - g_assert
    - strcpy
    - rules_from_windows_time_zone
    - set_tz_name
    - create_ruleset_from_rule
    linkageType: ''
    returnType: guint
    signature: 'static guint rules_from_identifier (const gchar *identifier, TimeZoneRule
      **rules) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: interval_start
      Src: /src/glib/glib/gtimezone.c:2186,1
    - Dst: interval_offset
      Src: /src/glib/glib/gtimezone.c:2186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - tz
    - interval
    argTypes:
    - GTimeZone*
    - guint
    constantsTouched: []
    func_position:
      end: 2189
      start: 2181
    functionDepth: 0
    functionLinenumber: 2181
    functionLinenumberEnd: 2189
    functionName: interval_local_start
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - interval_offset
    - interval_start
    linkageType: ''
    returnType: gint64
    signature: 'inline static gint64 interval_local_start (GTimeZone *tz, guint interval) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_getenv
      Src: /src/glib/glib/gtimezone.c:642,1
    - Dst: zone_info_base_dir
      Src: /src/glib/glib/gtimezone.c:644,1
    - Dst: g_path_is_absolute
      Src: /src/glib/glib/gtimezone.c:655,1
    - Dst: g_strdup
      Src: /src/glib/glib/gtimezone.c:656,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gtimezone.c:658,1
    - Dst: g_strdup
      Src: /src/glib/glib/gtimezone.c:665,1
    - Dst: g_mapped_file_new
      Src: /src/glib/glib/gtimezone.c:668,1
    - Dst: g_bytes_new_with_free_func
      Src: /src/glib/glib/gtimezone.c:671,1
    - Dst: g_mapped_file_get_contents
      Src: /src/glib/glib/gtimezone.c:671,1
    - Dst: g_mapped_file_get_length
      Src: /src/glib/glib/gtimezone.c:672,1
    - Dst: g_assert
      Src: /src/glib/glib/gtimezone.c:678,1
    - Dst: g_mapped_file_ref
      Src: /src/glib/glib/gtimezone.c:674,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:681,1
    - Dst: g_mapped_file_unref
      Src: /src/glib/glib/gtimezone.c:675,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 684
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 684
    functionName: zone_info_unix
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_mapped_file_get_length
    - g_getenv
    - g_assert
    - g_free
    - g_mapped_file_ref
    - g_mapped_file_new
    - g_mapped_file_get_contents
    - g_build_filename
    - zone_info_base_dir
    - g_bytes_new_with_free_func
    - g_mapped_file_unref
    - g_path_is_absolute
    linkageType: ''
    returnType: GBytes*
    signature: 'static GBytes *zone_info_unix (const gchar *identifier, const gchar
      *resolved_identifier) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtimezone.c:941,1
    - Dst: system_time_copy
      Src: /src/glib/glib/gtimezone.c:944,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtimezone.c:942,1
    - Dst: system_time_copy
      Src: /src/glib/glib/gtimezone.c:946,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - reg
    - tzi
    argTypes:
    - RegTZI*
    - TIME_ZONE_INFORMATION*
    constantsTouched: []
    func_position:
      end: 948
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 948
    functionName: register_tzi_to_tzi
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - system_time_copy
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void register_tzi_to_tzi (RegTZI *reg, TIME_ZONE_INFORMATION
      *tzi) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/gtimezone.c:1220,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gtimezone.c:1223,1
    - Dst: abs
      Src: /src/glib/glib/gtimezone.c:1225,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - info
    - rule
    - is_dst
    argTypes:
    - TransitionInfo*
    - TimeZoneRule*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1226
      start: 1208
    functionDepth: 0
    functionLinenumber: 1208
    functionLinenumberEnd: 1226
    functionName: fill_transition_info_from_rule
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - abs
    - g_strdup
    - g_strdup_printf
    linkageType: ''
    returnType: void
    signature: 'static void fill_transition_info_from_rule (TransitionInfo *info,
      TimeZoneRule *rule, gboolean is_dst) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: interval_end
      Src: /src/glib/glib/gtimezone.c:2196,1
    - Dst: interval_offset
      Src: /src/glib/glib/gtimezone.c:2196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - tz
    - interval
    argTypes:
    - GTimeZone*
    - guint
    constantsTouched: []
    func_position:
      end: 2199
      start: 2191
    functionDepth: 0
    functionLinenumber: 2191
    functionLinenumberEnd: 2199
    functionName: interval_local_end
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - interval_offset
    - interval_end
    linkageType: ''
    returnType: gint64
    signature: 'inline static gint64 interval_local_end (GTimeZone *tz, guint interval) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parse_identifier_boundary
      Src: /src/glib/glib/gtimezone.c:1617,1
    - Dst: parse_identifier_boundary
      Src: /src/glib/glib/gtimezone.c:1621,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 2
    argNames:
    - pos
    - tzr
    argTypes:
    - gchar**
    - TimeZoneRule*
    constantsTouched: []
    func_position:
      end: 1624
      start: 1610
    functionDepth: 0
    functionLinenumber: 1610
    functionLinenumberEnd: 1624
    functionName: parse_identifier_boundaries
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - parse_identifier_boundary
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean parse_identifier_boundaries (gchar **pos, TimeZoneRule
      *tzr) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_date_clear
      Src: /src/glib/glib/gtimezone.c:1472,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/gtimezone.c:1476,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/gtimezone.c:1475,1
    - Dst: g_date_set_julian
      Src: /src/glib/glib/gtimezone.c:1473,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 3
    argNames:
    - pos
    - boundary
    - ignore_leap
    argTypes:
    - gchar**
    - TimeZoneDate*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1480
      start: 1444
    functionDepth: 0
    functionLinenumber: 1444
    functionLinenumberEnd: 1480
    functionName: parse_julian_boundary
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - g_date_get_day
    - g_date_clear
    - g_date_get_month
    - g_date_set_julian
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean parse_julian_boundary (gchar** pos, TimeZoneDate *boundary,
      gboolean ignore_leap) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/glib/gtimezone.c:1526,1
    - Dst: strcpy
      Src: /src/glib/glib/gtimezone.c:1536,1
    - Dst: strcpy
      Src: /src/glib/glib/gtimezone.c:1535,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - rules
    - rule
    argTypes:
    - TimeZoneRule**
    - TimeZoneRule*
    constantsTouched: []
    func_position:
      end: 1538
      start: 1523
    functionDepth: 0
    functionLinenumber: 1523
    functionLinenumberEnd: 1538
    functionName: create_ruleset_from_rule
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - g_new0
    - strcpy
    linkageType: ''
    returnType: guint
    signature: 'static guint create_ruleset_from_rule (TimeZoneRule **rules, TimeZoneRule
      *rule) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/gtimezone.c:1851,1
    - Dst: zone_identifier_unix
      Src: /src/glib/glib/gtimezone.c:1857,1
    - Dst: g_str_equal
      Src: /src/glib/glib/gtimezone.c:1866,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gtimezone.c:1869,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:1876,1
    - Dst: zone_info_unix
      Src: /src/glib/glib/gtimezone.c:1897,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/gtimezone.c:1901,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:1909,1
    - Dst: memset
      Src: /src/glib/glib/gtimezone.c:1928,1
    - Dst: init_zone_from_rules
      Src: /src/glib/glib/gtimezone.c:1933,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gtimezone.c:1969,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gtimezone.c:1972,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gtimezone.c:1950,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gtimezone.c:1847,1
    - Dst: g_hash_table_new
      Src: /src/glib/glib/gtimezone.c:1841,1
    - Dst: windows_default_tzname
      Src: /src/glib/glib/gtimezone.c:1859,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gtimezone.c:1867,1
    - Dst: g_time_zone_ref
      Src: /src/glib/glib/gtimezone.c:1873,1
    - Dst: zone_for_constant_offset
      Src: /src/glib/glib/gtimezone.c:1885,1
    - Dst: init_zone_from_iana_info
      Src: /src/glib/glib/gtimezone.c:1900,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gtimezone.c:1900,1
    - Dst: init_zone_from_rules
      Src: /src/glib/glib/gtimezone.c:1908,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gtimezone.c:1908,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gtimezone.c:1933,1
    - Dst: g_assert
      Src: /src/glib/glib/gtimezone.c:1958,1
    - Dst: g_new0
      Src: /src/glib/glib/gtimezone.c:1923,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gtimezone.c:1974,1
    - Dst: G_LOCK
      Src: /src/glib/glib/gtimezone.c:1839,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gtimezone.c:1846,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:1891,1
    - Dst: rules_from_windows_time_zone
      Src: /src/glib/glib/gtimezone.c:1904,1
    - Dst: rule_from_windows_time_zone_info
      Src: /src/glib/glib/gtimezone.c:1925,1
    - Dst: memset
      Src: /src/glib/glib/gtimezone.c:1927,1
    - Dst: GetTimeZoneInformation
      Src: /src/glib/glib/gtimezone.c:1921,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:1942,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gtimezone.c:1947,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gtimezone.c:1952,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/gtimezone.c:1961,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/gtimezone.c:1843,1
    - Dst: G_LOCK
      Src: /src/glib/glib/gtimezone.c:1855,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gtimezone.c:1874,1
    - Dst: init_zone_from_rules
      Src: /src/glib/glib/gtimezone.c:1890,1
    - Dst: g_slice_new0
      Src: /src/glib/glib/gtimezone.c:1882,1
    - Dst: rules_from_identifier
      Src: /src/glib/glib/gtimezone.c:1888,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gtimezone.c:1890,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:1936,1
    - Dst: g_assert
      Src: /src/glib/glib/gtimezone.c:1957,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gtimezone.c:1965,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 95
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1977
      start: 1829
    functionDepth: 0
    functionLinenumber: 1829
    functionLinenumberEnd: 1977
    functionName: g_time_zone_new_identifier
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_slice_new0
    - g_time_zone_ref
    - init_zone_from_iana_info
    - windows_default_tzname
    - G_LOCK
    - zone_identifier_unix
    - rules_from_identifier
    - GetTimeZoneInformation
    - G_UNLOCK
    - g_hash_table_lookup
    - g_free
    - g_hash_table_insert
    - g_clear_pointer
    - g_atomic_int_inc
    - g_slice_free
    - zone_info_unix
    - g_strdup
    - init_zone_from_rules
    - g_bytes_unref
    - g_hash_table_new
    - g_strcmp0
    - rules_from_windows_time_zone
    - rule_from_windows_time_zone_info
    - g_str_equal
    - memset
    - g_assert
    - g_new0
    - zone_for_constant_offset
    linkageType: ''
    returnType: GTimeZone*
    signature: 'GTimeZone *g_time_zone_new_identifier (const gchar *identifier) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtimezone.c:2168,1
    - Dst: interval_info
      Src: /src/glib/glib/gtimezone.c:2169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - tz
    - interval
    argTypes:
    - GTimeZone*
    - guint
    constantsTouched: []
    func_position:
      end: 2170
      start: 2164
    functionDepth: 0
    functionLinenumber: 2164
    functionLinenumberEnd: 2170
    functionName: interval_isdst
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - interval_info
    linkageType: ''
    returnType: gboolean
    signature: 'inline static gboolean interval_isdst (GTimeZone *tz, guint interval) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: parse_mwd_boundary
      Src: /src/glib/glib/gtimezone.c:1493,1
    - Dst: parse_constant_offset
      Src: /src/glib/glib/gtimezone.c:1515,1
    - Dst: parse_julian_boundary
      Src: /src/glib/glib/gtimezone.c:1500,1
    - Dst: parse_julian_boundary
      Src: /src/glib/glib/gtimezone.c:1506,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - identifier
    - boundary
    argTypes:
    - gchar*
    - TimeZoneDate*
    constantsTouched: []
    func_position:
      end: 1521
      start: 1482
    functionDepth: 0
    functionLinenumber: 1482
    functionLinenumberEnd: 1521
    functionName: parse_tz_boundary
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - parse_mwd_boundary
    - parse_constant_offset
    - parse_julian_boundary
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean parse_tz_boundary (const gchar *identifier, TimeZoneDate
      *boundary) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strndup
      Src: /src/glib/glib/gtimezone.c:1551,1
    - Dst: g_free
      Src: /src/glib/glib/gtimezone.c:1553,1
    - Dst: parse_constant_offset
      Src: /src/glib/glib/gtimezone.c:1552,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 2
    argNames:
    - pos
    - target
    argTypes:
    - gchar**
    - gint32*
    constantsTouched: []
    func_position:
      end: 1556
      start: 1540
    functionDepth: 0
    functionLinenumber: 1540
    functionLinenumberEnd: 1556
    functionName: parse_offset
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - g_strndup
    - parse_constant_offset
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean parse_offset (gchar **pos, gint32 *target) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtimezone.c:2177,1
    - Dst: interval_info
      Src: /src/glib/glib/gtimezone.c:2178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2179
      start: 2173
    functionDepth: 0
    functionLinenumber: 2173
    functionLinenumberEnd: 2179
    functionName: interval_abbrev
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - interval_info
    linkageType: ''
    returnType: gchar*
    signature: 'inline static gchar *interval_abbrev (GTimeZone *tz, guint interval) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 47
    argCount: 2
    argNames:
    - pos
    - boundary
    argTypes:
    - gchar**
    - TimeZoneDate*
    constantsTouched: []
    func_position:
      end: 1427
      start: 1386
    functionDepth: 0
    functionLinenumber: 1386
    functionLinenumberEnd: 1427
    functionName: parse_mwd_boundary
    functionSourceFile: /src/glib/glib/gtimezone.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean parse_mwd_boundary (gchar **pos, TimeZoneDate *boundary) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pp
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 245
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 245
    functionName: g_steal_pointer
    functionSourceFile: /src/glib/glib/gmem.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GLIB_AVAILABLE_STATIC_INLINE_IN_2_44
    signature: 'GLIB_AVAILABLE_STATIC_INLINE_IN_2_44 static inline gpointer g_steal_pointer
      (gpointer pp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbsearcharray.h:126,1
    - Dst: G_BSEARCH_UPPER_POWER2
      Src: /src/glib/glib/gbsearcharray.h:130,1
    - Dst: g_malloc
      Src: /src/glib/glib/gbsearcharray.h:131,1
    - Dst: memset
      Src: /src/glib/glib/gbsearcharray.h:132,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 135
    functionName: g_bsearch_array_create
    functionSourceFile: /src/glib/glib/gbsearcharray.h
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - memset
    - G_BSEARCH_UPPER_POWER2
    - g_malloc
    linkageType: ''
    returnType: GBSearchArray*
    signature: 'static inline GBSearchArray *g_bsearch_array_create (const GBSearchConfig
      *bconfig) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_BSEARCH_ARRAY_NODES
      Src: /src/glib/glib/gbsearcharray.h:148,1
    - Dst: cmp_nodes
      Src: /src/glib/glib/gbsearcharray.h:158,1
    - Dst: G_LIKELY
      Src: /src/glib/glib/gbsearcharray.h:168,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 4
    argNames:
    - barray
    - bconfig
    - key_node
    - sibling_or_after
    argTypes:
    - GBSearchArray*
    - GBSearchConfig*
    - gconstpointer
    - guint
    constantsTouched: []
    func_position:
      end: 169
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 169
    functionName: g_bsearch_array_lookup_fuzzy
    functionSourceFile: /src/glib/glib/gbsearcharray.h
    functionUses: []
    functionsReached:
    - cmp_nodes
    - G_BSEARCH_ARRAY_NODES
    - G_LIKELY
    linkageType: ''
    returnType: gpointer
    signature: 'static inline gpointer g_bsearch_array_lookup_fuzzy (GBSearchArray
      *barray, const GBSearchConfig *bconfig, gconstpointer key_node, const guint
      sibling_or_after) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_BSEARCH_ARRAY_NODES
      Src: /src/glib/glib/gbsearcharray.h:184,1
    - Dst: MIN
      Src: /src/glib/glib/gbsearcharray.h:190,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbsearcharray.h:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - barray
    - bconfig
    - node_in_array
    argTypes:
    - GBSearchArray*
    - GBSearchConfig*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 191
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 191
    functionName: g_bsearch_array_get_index
    functionSourceFile: /src/glib/glib/gbsearcharray.h
    functionUses: []
    functionsReached:
    - G_BSEARCH_ARRAY_NODES
    - g_return_val_if_fail
    - MIN
    linkageType: ''
    returnType: guint
    signature: 'static inline guint g_bsearch_array_get_index (GBSearchArray *barray,
      const GBSearchConfig *bconfig, gconstpointer node_in_array) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gbsearcharray.h:224,1
    - Dst: g_bsearch_array_lookup_insertion
      Src: /src/glib/glib/gbsearcharray.h:231,1
    - Dst: G_BSEARCH_ARRAY_NODES
      Src: /src/glib/glib/gbsearcharray.h:227,1
    - Dst: G_LIKELY
      Src: /src/glib/glib/gbsearcharray.h:232,1
    - Dst: g_bsearch_array_grow
      Src: /src/glib/glib/gbsearcharray.h:226,1
    - Dst: g_bsearch_array_get_index
      Src: /src/glib/glib/gbsearcharray.h:234,1
    - Dst: g_bsearch_array_grow
      Src: /src/glib/glib/gbsearcharray.h:237,1
    - Dst: G_BSEARCH_ARRAY_NODES
      Src: /src/glib/glib/gbsearcharray.h:238,1
    - Dst: memcpy
      Src: /src/glib/glib/gbsearcharray.h:243,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 245
    functionName: g_bsearch_array_insert
    functionSourceFile: /src/glib/glib/gbsearcharray.h
    functionUses: []
    functionsReached:
    - G_BSEARCH_ARRAY_NODES
    - memcpy
    - g_bsearch_array_grow
    - g_bsearch_array_get_index
    - g_bsearch_array_lookup_insertion
    - G_LIKELY
    - G_UNLIKELY
    linkageType: ''
    returnType: GBSearchArray*
    signature: 'static inline GBSearchArray *g_bsearch_array_insert (GBSearchArray
      *barray, const GBSearchConfig *bconfig, gconstpointer key_node) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbsearcharray.h:265,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gbsearcharray.h:275,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gbsearcharray.h:270,1
    - Dst: memmove
      Src: /src/glib/glib/gbsearcharray.h:269,1
    - Dst: G_BSEARCH_ARRAY_NODES
      Src: /src/glib/glib/gbsearcharray.h:268,1
    - Dst: G_BSEARCH_UPPER_POWER2
      Src: /src/glib/glib/gbsearcharray.h:277,1
    - Dst: G_BSEARCH_UPPER_POWER2
      Src: /src/glib/glib/gbsearcharray.h:278,1
    - Dst: g_realloc
      Src: /src/glib/glib/gbsearcharray.h:280,1
    - Dst: g_realloc
      Src: /src/glib/glib/gbsearcharray.h:283,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 286
    functionName: g_bsearch_array_remove
    functionSourceFile: /src/glib/glib/gbsearcharray.h
    functionUses: []
    functionsReached:
    - G_BSEARCH_ARRAY_NODES
    - g_return_val_if_fail
    - memmove
    - g_realloc
    - G_UNLIKELY
    - G_BSEARCH_UPPER_POWER2
    linkageType: ''
    returnType: GBSearchArray*
    signature: 'static inline GBSearchArray *g_bsearch_array_remove (GBSearchArray
      *barray, const GBSearchConfig *bconfig, guint index_) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbsearcharray.h:201,1
    - Dst: G_BSEARCH_UPPER_POWER2
      Src: /src/glib/glib/gbsearcharray.h:206,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gbsearcharray.h:203,1
    - Dst: g_realloc
      Src: /src/glib/glib/gbsearcharray.h:208,1
    - Dst: G_BSEARCH_UPPER_POWER2
      Src: /src/glib/glib/gbsearcharray.h:205,1
    - Dst: g_realloc
      Src: /src/glib/glib/gbsearcharray.h:211,1
    - Dst: G_BSEARCH_ARRAY_NODES
      Src: /src/glib/glib/gbsearcharray.h:212,1
    - Dst: memmove
      Src: /src/glib/glib/gbsearcharray.h:213,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 216
    functionName: g_bsearch_array_grow
    functionSourceFile: /src/glib/glib/gbsearcharray.h
    functionUses: []
    functionsReached:
    - G_BSEARCH_ARRAY_NODES
    - g_return_val_if_fail
    - memmove
    - g_realloc
    - G_UNLIKELY
    - G_BSEARCH_UPPER_POWER2
    linkageType: ''
    returnType: GBSearchArray*
    signature: 'static inline GBSearchArray *g_bsearch_array_grow (GBSearchArray *barray,
      const GBSearchConfig *bconfig, guint index_) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LIKELY
      Src: /src/glib/glib/gbsearcharray.h:175,1
    - Dst: G_BSEARCH_ARRAY_NODES
      Src: /src/glib/glib/gbsearcharray.h:176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - barray
    - bconfig
    - nth
    argTypes:
    - GBSearchArray*
    - GBSearchConfig*
    - guint
    constantsTouched: []
    func_position:
      end: 178
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 178
    functionName: g_bsearch_array_get_nth
    functionSourceFile: /src/glib/glib/gbsearcharray.h
    functionUses: []
    functionsReached:
    - G_BSEARCH_ARRAY_NODES
    - G_LIKELY
    linkageType: ''
    returnType: gpointer
    signature: 'static inline gpointer g_bsearch_array_get_nth (GBSearchArray *barray,
      const GBSearchConfig *bconfig, guint nth) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_bsearch_array_lookup
      Src: /src/glib/glib/gbsearcharray.h:251,1
    - Dst: g_bsearch_array_insert
      Src: /src/glib/glib/gbsearcharray.h:255,1
    - Dst: G_LIKELY
      Src: /src/glib/glib/gbsearcharray.h:252,1
    - Dst: memcpy
      Src: /src/glib/glib/gbsearcharray.h:253,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 257
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 257
    functionName: g_bsearch_array_replace
    functionSourceFile: /src/glib/glib/gbsearcharray.h
    functionUses: []
    functionsReached:
    - g_bsearch_array_insert
    - g_bsearch_array_lookup
    - G_LIKELY
    - memcpy
    linkageType: ''
    returnType: GBSearchArray*
    signature: 'static inline GBSearchArray *g_bsearch_array_replace (GBSearchArray
      *barray, const GBSearchConfig *bconfig, gconstpointer key_node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gbsearcharray.h:291,1
    - Dst: g_free
      Src: /src/glib/glib/gbsearcharray.h:293,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - barray
    - bconfig
    argTypes:
    - GBSearchArray*
    - GBSearchConfig*
    constantsTouched: []
    func_position:
      end: 294
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 294
    functionName: g_bsearch_array_free
    functionSourceFile: /src/glib/glib/gbsearcharray.h
    functionUses: []
    functionsReached:
    - g_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static inline void g_bsearch_array_free (GBSearchArray *barray, const
      GBSearchConfig *bconfig) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/glib/gtimer.c:88,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/gtimer.c:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 94
    functionName: g_timer_new
    functionSourceFile: /src/glib/glib/gtimer.c
    functionUses: []
    functionsReached:
    - g_get_monotonic_time
    - g_new
    linkageType: ''
    returnType: GTimer*
    signature: 'GTimer *g_timer_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtimer.c:139,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/gtimer.c:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - timer
    argTypes:
    - GTimer*
    constantsTouched: []
    func_position:
      end: 144
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 144
    functionName: g_timer_stop
    functionSourceFile: /src/glib/glib/gtimer.c
    functionUses: []
    functionsReached:
    - g_get_monotonic_time
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_timer_stop (GTimer *timer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtimer.c:157,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/gtimer.c:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - timer
    argTypes:
    - GTimer*
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: g_timer_reset
    functionSourceFile: /src/glib/glib/gtimer.c
    functionUses: []
    functionsReached:
    - g_get_monotonic_time
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_timer_reset (GTimer *timer) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtimer.c:218,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/gtimer.c:221,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - timer
    - microseconds
    argTypes:
    - GTimer*
    - gulong*
    constantsTouched: []
    func_position:
      end: 231
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 231
    functionName: g_timer_elapsed
    functionSourceFile: /src/glib/glib/gtimer.c
    functionUses: []
    functionsReached:
    - g_get_monotonic_time
    - g_return_val_if_fail
    linkageType: ''
    returnType: gdouble
    signature: "gdouble g_timer_elapsed (GTimer *timer,\t\t gulong *microseconds) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtimer.c:294,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - time_
    - microseconds
    argTypes:
    - GTimeVal*
    - glong
    constantsTouched: []
    func_position:
      end: 319
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 319
    functionName: g_time_val_add
    functionSourceFile: /src/glib/glib/gtimer.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    linkageType: ''
    returnType: G_GNUC_BEGIN_IGNORE_DEPRECATIONS
    signature: 'G_GNUC_BEGIN_IGNORE_DEPRECATIONS void g_time_val_add (GTimeVal *time_,
      glong microseconds) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: timegm
      Src: /src/glib/glib/gtimer.c:350,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - tm
    argTypes:
    - struct tm*
    constantsTouched: []
    func_position:
      end: 354
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 354
    functionName: mktime_utc
    functionSourceFile: /src/glib/glib/gtimer.c
    functionUses: []
    functionsReached:
    - timegm
    linkageType: ''
    returnType: G_GNUC_END_IGNORE_DEPRECATIONS
    signature: 'G_GNUC_END_IGNORE_DEPRECATIONS /* converts a broken down date representation,
      relative to UTC, * to a timestamp; it uses timegm() if it''s available. */ static
      time_t mktime_utc (struct tm *tm) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtimer.c:605,1
    - Dst: gmtime
      Src: /src/glib/glib/gtimer.c:611,1
    - Dst: gmtime_r
      Src: /src/glib/glib/gtimer.c:614,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gtimer.c:629,1
    - Dst: gmtime
      Src: /src/glib/glib/gtimer.c:616,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gtimer.c:643,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 653
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 653
    functionName: g_time_val_to_iso8601
    functionSourceFile: /src/glib/glib/gtimer.c
    functionUses: []
    functionsReached:
    - gmtime_r
    - gmtime
    - g_return_val_if_fail
    - g_strdup_printf
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_time_val_to_iso8601 (GTimeVal *time_) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtimer.c:105,1
    - Dst: g_free
      Src: /src/glib/glib/gtimer.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - timer
    argTypes:
    - GTimer*
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: g_timer_destroy
    functionSourceFile: /src/glib/glib/gtimer.c
    functionUses: []
    functionsReached:
    - g_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_timer_destroy (GTimer *timer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtimer.c:122,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/gtimer.c:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - timer
    argTypes:
    - GTimer*
    constantsTouched: []
    func_position:
      end: 127
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 127
    functionName: g_timer_start
    functionSourceFile: /src/glib/glib/gtimer.c
    functionUses: []
    functionsReached:
    - g_get_monotonic_time
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_timer_start (GTimer *timer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtimer.c:177,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/gtimer.c:187,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtimer.c:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - timer
    argTypes:
    - GTimer*
    constantsTouched: []
    func_position:
      end: 192
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 192
    functionName: g_timer_continue
    functionSourceFile: /src/glib/glib/gtimer.c
    functionUses: []
    functionsReached:
    - g_get_monotonic_time
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_timer_continue (GTimer *timer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtimer.c:245,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - timer
    argTypes:
    - GTimer*
    constantsTouched: []
    func_position:
      end: 248
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 248
    functionName: g_timer_is_active
    functionSourceFile: /src/glib/glib/gtimer.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_timer_is_active (GTimer *timer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Sleep
      Src: /src/glib/glib/gtimer.c:269,1
    - Dst: nanosleep
      Src: /src/glib/glib/gtimer.c:274,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - microseconds
    argTypes:
    - gulong
    constantsTouched: []
    func_position:
      end: 277
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 277
    functionName: g_usleep
    functionSourceFile: /src/glib/glib/gtimer.c
    functionUses: []
    functionsReached:
    - nanosleep
    - Sleep
    linkageType: ''
    returnType: void
    signature: 'void g_usleep (gulong microseconds) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/glib/glib/gtimer.c:421,1
    - Dst: g_ascii_isdigit
      Src: /src/glib/glib/gtimer.c:491,1
    - Dst: strtoul
      Src: /src/glib/glib/gtimer.c:518,1
    - Dst: mktime
      Src: /src/glib/glib/gtimer.c:538,1
    - Dst: strtoul
      Src: /src/glib/glib/gtimer.c:417,1
    - Dst: strtoul
      Src: /src/glib/glib/gtimer.c:458,1
    - Dst: g_ascii_isdigit
      Src: /src/glib/glib/gtimer.c:498,1
    - Dst: strtoul
      Src: /src/glib/glib/gtimer.c:452,1
    - Dst: strtoul
      Src: /src/glib/glib/gtimer.c:463,1
    - Dst: g_ascii_isspace
      Src: /src/glib/glib/gtimer.c:541,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtimer.c:395,1
    - Dst: g_ascii_isspace
      Src: /src/glib/glib/gtimer.c:401,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtimer.c:396,1
    - Dst: strtoul
      Src: /src/glib/glib/gtimer.c:410,1
    - Dst: g_ascii_isdigit
      Src: /src/glib/glib/gtimer.c:407,1
    - Dst: g_ascii_isdigit
      Src: /src/glib/glib/gtimer.c:449,1
    - Dst: mktime_utc
      Src: /src/glib/glib/gtimer.c:506,1
    - Dst: mktime_utc
      Src: /src/glib/glib/gtimer.c:532,1
    - Dst: strtoul
      Src: /src/glib/glib/gtimer.c:512,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 124
    argCount: 2
    argNames:
    - iso_date
    - time_
    argTypes:
    - gchar*
    - GTimeVal*
    constantsTouched: []
    func_position:
      end: 545
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 545
    functionName: g_time_val_from_iso8601
    functionSourceFile: /src/glib/glib/gtimer.c
    functionUses: []
    functionsReached:
    - g_ascii_isspace
    - g_return_val_if_fail
    - mktime_utc
    - mktime
    - g_ascii_isdigit
    - strtoul
    linkageType: ''
    returnType: G_GNUC_BEGIN_IGNORE_DEPRECATIONS
    signature: "G_GNUC_BEGIN_IGNORE_DEPRECATIONS gboolean g_time_val_from_iso8601\
      \ (const gchar *iso_date,\t\t\t GTimeVal *time_) "
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 174
    functionName: glib_check_version
    functionSourceFile: /src/glib/glib/gversion.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *glib_check_version (guint required_major, guint required_minor,
      guint required_micro) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_io_channel_get_buffer_condition
      Src: /src/glib/glib/giounix.c:135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - source
    - timeout
    argTypes:
    - GSource*
    - gint*
    constantsTouched: []
    func_position:
      end: 140
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 140
    functionName: g_io_unix_prepare
    functionSourceFile: /src/glib/glib/giounix.c
    functionUses: []
    functionsReached:
    - g_io_channel_get_buffer_condition
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_io_unix_prepare (GSource *source,\t\t gint *timeout) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_io_channel_get_buffer_condition
      Src: /src/glib/glib/giounix.c:160,1
    - Dst: g_warning
      Src: /src/glib/glib/giounix.c:164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - source
    - callback
    - user_data
    argTypes:
    - GSource*
    - GSourceFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 172
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 172
    functionName: g_io_unix_dispatch
    functionSourceFile: /src/glib/glib/giounix.c
    functionUses: []
    functionsReached:
    - g_warning
    - g_io_channel_get_buffer_condition
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_io_unix_dispatch (GSource *source,\t\t GSourceFunc\
      \ callback,\t\t gpointer user_data) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/glib/glib/giounix.c:196,1
    - Dst: g_io_channel_error_from_errno
      Src: /src/glib/glib/giounix.c:215,1
    - Dst: g_strerror
      Src: /src/glib/glib/giounix.c:216,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/giounix.c:214,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 14
    argCount: 5
    argNames:
    - channel
    - buf
    - count
    - bytes_read
    - err
    argTypes:
    - GIOChannel*
    - gchar*
    - gsize
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 224
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 224
    functionName: g_io_unix_read
    functionSourceFile: /src/glib/glib/giounix.c
    functionUses: []
    functionsReached:
    - g_set_error_literal
    - g_io_channel_error_from_errno
    - g_strerror
    - read
    linkageType: ''
    returnType: GIOStatus
    signature: "static GIOStatus g_io_unix_read (GIOChannel *channel, \t\tgchar *buf,\
      \ \t\tgsize count,\t\tgsize *bytes_read,\t\tGError **err) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/giounix.c:291,1
    - Dst: g_strerror
      Src: /src/glib/glib/giounix.c:299,1
    - Dst: lseek
      Src: /src/glib/glib/giounix.c:303,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/giounix.c:297,1
    - Dst: g_io_channel_error_from_errno
      Src: /src/glib/glib/giounix.c:298,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/giounix.c:308,1
    - Dst: g_io_channel_error_from_errno
      Src: /src/glib/glib/giounix.c:309,1
    - Dst: g_strerror
      Src: /src/glib/glib/giounix.c:310,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 4
    argNames:
    - channel
    - offset
    - type
    - err
    argTypes:
    - GIOChannel*
    - gint64
    - GSeekType
    - GError**
    constantsTouched: []
    func_position:
      end: 315
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 315
    functionName: g_io_unix_seek
    functionSourceFile: /src/glib/glib/giounix.c
    functionUses: []
    functionsReached:
    - g_strerror
    - g_assert_not_reached
    - g_set_error_literal
    - g_io_channel_error_from_errno
    - lseek
    linkageType: ''
    returnType: GIOStatus
    signature: "static GIOStatus g_io_unix_seek (GIOChannel *channel,\t\tgint64 offset,\
      \ \t\tGSeekType type, GError **err) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/giounix.c:341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - channel
    argTypes:
    - GIOChannel*
    constantsTouched: []
    func_position:
      end: 342
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 342
    functionName: g_io_unix_free
    functionSourceFile: /src/glib/glib/giounix.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void g_io_unix_free (GIOChannel *channel) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/glib/glib/giounix.c:389,1
    - Dst: g_io_channel_error_from_errno
      Src: /src/glib/glib/giounix.c:393,1
    - Dst: g_strerror
      Src: /src/glib/glib/giounix.c:394,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/giounix.c:392,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - channel
    - flags
    - err
    argTypes:
    - GIOChannel*
    - GIOFlags
    - GError**
    constantsTouched: []
    func_position:
      end: 399
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 399
    functionName: g_io_unix_set_flags
    functionSourceFile: /src/glib/glib/giounix.c
    functionUses: []
    functionsReached:
    - g_set_error_literal
    - g_io_channel_error_from_errno
    - g_strerror
    - fcntl
    linkageType: ''
    returnType: GIOStatus
    signature: 'static GIOStatus g_io_unix_set_flags (GIOChannel *channel, GIOFlags
      flags, GError **err) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/glib/giounix.c:619,1
    - Dst: S_ISREG
      Src: /src/glib/glib/giounix.c:634,1
    - Dst: fstat
      Src: /src/glib/glib/giounix.c:633,1
    - Dst: g_io_channel_init
      Src: /src/glib/glib/giounix.c:622,1
    - Dst: S_ISCHR
      Src: /src/glib/glib/giounix.c:634,1
    - Dst: S_ISBLK
      Src: /src/glib/glib/giounix.c:635,1
    - Dst: g_io_unix_get_flags
      Src: /src/glib/glib/giounix.c:639,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 642
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 642
    functionName: g_io_channel_unix_new
    functionSourceFile: /src/glib/glib/giounix.c
    functionUses: []
    functionsReached:
    - S_ISCHR
    - fstat
    - g_new
    - g_io_unix_get_flags
    - g_io_channel_init
    - S_ISBLK
    - S_ISREG
    linkageType: ''
    returnType: GIOChannel*
    signature: 'GIOChannel *g_io_channel_unix_new (gint fd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - channel
    argTypes:
    - GIOChannel*
    constantsTouched: []
    func_position:
      end: 660
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 660
    functionName: g_io_channel_unix_get_fd
    functionSourceFile: /src/glib/glib/giounix.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint
    signature: 'gint g_io_channel_unix_get_fd (GIOChannel *channel) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_io_channel_unref
      Src: /src/glib/glib/giounix.c:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 180
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 180
    functionName: g_io_unix_finalize
    functionSourceFile: /src/glib/glib/giounix.c
    functionUses: []
    functionsReached:
    - g_io_channel_unref
    linkageType: ''
    returnType: void
    signature: 'static void g_io_unix_finalize (GSource *source) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_io_channel_get_buffer_condition
      Src: /src/glib/glib/giounix.c:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 150
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 150
    functionName: g_io_unix_check
    functionSourceFile: /src/glib/glib/giounix.c
    functionUses: []
    functionsReached:
    - g_io_channel_get_buffer_condition
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_io_unix_check (GSource *source) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/glib/glib/giounix.c:237,1
    - Dst: g_strerror
      Src: /src/glib/glib/giounix.c:257,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/giounix.c:255,1
    - Dst: g_io_channel_error_from_errno
      Src: /src/glib/glib/giounix.c:256,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 11
    argCount: 5
    argNames:
    - channel
    - buf
    - count
    - bytes_written
    - err
    argTypes:
    - GIOChannel*
    - gchar*
    - gsize
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 265
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 265
    functionName: g_io_unix_write
    functionSourceFile: /src/glib/glib/giounix.c
    functionUses: []
    functionsReached:
    - write
    - g_set_error_literal
    - g_io_channel_error_from_errno
    - g_strerror
    linkageType: ''
    returnType: GIOStatus
    signature: "static GIOStatus g_io_unix_write (GIOChannel *channel, \t\t const\
      \ gchar *buf, \t\t gsize count,\t\t gsize *bytes_written,\t\t GError **err) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/glib/glib/giounix.c:324,1
    - Dst: g_strerror
      Src: /src/glib/glib/giounix.c:329,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/giounix.c:327,1
    - Dst: g_io_channel_error_from_errno
      Src: /src/glib/glib/giounix.c:328,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - channel
    - err
    argTypes:
    - GIOChannel*
    - GError**
    constantsTouched: []
    func_position:
      end: 334
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 334
    functionName: g_io_unix_close
    functionSourceFile: /src/glib/glib/giounix.c
    functionUses: []
    functionsReached:
    - g_set_error_literal
    - close
    - g_strerror
    - g_io_channel_error_from_errno
    linkageType: ''
    returnType: GIOStatus
    signature: "static GIOStatus g_io_unix_close (GIOChannel *channel,\t\t GError\
      \ **err) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_source_new
      Src: /src/glib/glib/giounix.c:353,1
    - Dst: g_source_set_static_name
      Src: /src/glib/glib/giounix.c:354,1
    - Dst: g_source_add_poll
      Src: /src/glib/glib/giounix.c:365,1
    - Dst: g_io_channel_ref
      Src: /src/glib/glib/giounix.c:358,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 368
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 368
    functionName: g_io_unix_create_watch
    functionSourceFile: /src/glib/glib/giounix.c
    functionUses: []
    functionsReached:
    - g_io_channel_ref
    - g_source_add_poll
    - g_source_new
    - g_source_set_static_name
    linkageType: ''
    returnType: GSource*
    signature: "static GSource *g_io_unix_create_watch (GIOChannel *channel,\t\t\t\
      GIOCondition condition) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/glib/glib/giounix.c:408,1
    - Dst: g_strerror
      Src: /src/glib/glib/giounix.c:414,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/giounix.c:442,1
    - Dst: g_warning
      Src: /src/glib/glib/giounix.c:413,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 1
    argNames:
    - channel
    argTypes:
    - GIOChannel*
    constantsTouched: []
    func_position:
      end: 446
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 446
    functionName: g_io_unix_get_flags
    functionSourceFile: /src/glib/glib/giounix.c
    functionUses: []
    functionsReached:
    - g_strerror
    - g_assert_not_reached
    - g_warning
    - fcntl
    linkageType: ''
    returnType: GIOFlags
    signature: 'static GIOFlags g_io_unix_get_flags (GIOChannel *channel) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giounix.c:467,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/giounix.c:525,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/giounix.c:535,1
    - Dst: g_strerror
      Src: /src/glib/glib/giounix.c:537,1
    - Dst: close
      Src: /src/glib/glib/giounix.c:544,1
    - Dst: S_ISREG
      Src: /src/glib/glib/giounix.c:553,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giounix.c:468,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/giounix.c:546,1
    - Dst: g_new
      Src: /src/glib/glib/giounix.c:551,1
    - Dst: S_ISCHR
      Src: /src/glib/glib/giounix.c:553,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/giounix.c:536,1
    - Dst: g_strerror
      Src: /src/glib/glib/giounix.c:547,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/giounix.c:545,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/giounix.c:575,1
    - Dst: g_io_channel_init
      Src: /src/glib/glib/giounix.c:578,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giounix.c:469,1
    - Dst: g_warning
      Src: /src/glib/glib/giounix.c:483,1
    - Dst: g_warning
      Src: /src/glib/glib/giounix.c:499,1
    - Dst: g_open
      Src: /src/glib/glib/giounix.c:531,1
    - Dst: fstat
      Src: /src/glib/glib/giounix.c:541,1
    - Dst: S_ISBLK
      Src: /src/glib/glib/giounix.c:554,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 84
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 584
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 584
    functionName: g_io_channel_new_file
    functionSourceFile: /src/glib/glib/giounix.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - S_ISCHR
    - g_warning
    - fstat
    - g_new
    - g_strerror
    - g_assert_not_reached
    - g_file_error_from_errno
    - g_set_error_literal
    - close
    - g_io_channel_init
    - g_open
    - S_ISBLK
    - S_ISREG
    linkageType: ''
    returnType: GIOChannel*
    signature: 'GIOChannel *g_io_channel_new_file (const gchar *filename, const gchar
      *mode, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _g_list_alloc
      Src: /src/glib/glib/glist.c:202,1
    - Dst: g_list_last
      Src: /src/glib/glib/glist.c:208,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 220
    functionName: g_list_append
    functionSourceFile: /src/glib/glib/glist.c
    functionUses: []
    functionsReached:
    - _g_list_alloc
    - g_list_last
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_list_append (GList *list, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_foreach
      Src: /src/glib/glib/glist.c:161,1
    - Dst: g_list_free
      Src: /src/glib/glib/glist.c:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - list
    - free_func
    argTypes:
    - GList*
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 163
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 163
    functionName: g_list_free_full
    functionSourceFile: /src/glib/glib/glist.c
    functionUses: []
    functionsReached:
    - g_list_free
    - g_list_foreach
    linkageType: ''
    returnType: void
    signature: 'void g_list_free_full (GList *list, GDestroyNotify free_func) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_warning
      Src: /src/glib/glib/glist.c:474,1
    - Dst: g_warning
      Src: /src/glib/glib/glist.c:481,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 491
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 491
    functionName: _g_list_remove_link
    functionSourceFile: /src/glib/glib/glist.c
    functionUses: []
    functionsReached:
    - g_warning
    linkageType: ''
    returnType: GList*
    signature: 'static inline GList *_g_list_remove_link (GList *list, GList *link) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _g_list_free1
      Src: /src/glib/glib/glist.c:559,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 564
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 564
    functionName: g_list_remove_all
    functionSourceFile: /src/glib/glib/glist.c
    functionUses: []
    functionsReached:
    - _g_list_free1
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_list_remove_all (GList *list, gconstpointer data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _g_list_alloc
      Src: /src/glib/glib/glist.c:677,1
    - Dst: func
      Src: /src/glib/glib/glist.c:679,1
    - Dst: _g_list_alloc
      Src: /src/glib/glib/glist.c:687,1
    - Dst: func
      Src: /src/glib/glib/glist.c:691,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 700
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 700
    functionName: g_list_copy_deep
    functionSourceFile: /src/glib/glib/glist.c
    functionUses: []
    functionsReached:
    - _g_list_alloc
    - func
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_list_copy_deep (GList *list, GCopyFunc func, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 750
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 750
    functionName: g_list_nth
    functionSourceFile: /src/glib/glib/glist.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_list_nth (GList *list, guint n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 929
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 929
    functionName: g_list_last
    functionSourceFile: /src/glib/glib/glist.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_list_last (GList *list) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_sort_real
      Src: /src/glib/glib/glist.c:1252,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1247
    functionDepth: 0
    functionLinenumber: 1247
    functionLinenumberEnd: 1253
    functionName: g_list_sort_with_data
    functionSourceFile: /src/glib/glib/glist.c
    functionUses: []
    functionsReached:
    - g_list_sort_real
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_list_sort_with_data (GList *list, GCompareDataFunc compare_func,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_list_free1
      Src: /src/glib/glib/glist.c:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - GList*
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: g_list_free_1
    functionSourceFile: /src/glib/glib/glist.c
    functionUses: []
    functionsReached:
    - _g_list_free1
    linkageType: ''
    returnType: void
    signature: 'void g_list_free_1 (GList *list) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - list
    - data
    argTypes:
    - GList*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 908
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 908
    functionName: g_list_index
    functionSourceFile: /src/glib/glib/glist.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint
    signature: 'gint g_list_index (GList *list, gconstpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - list
    argTypes:
    - GList*
    constantsTouched: []
    func_position:
      end: 978
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 978
    functionName: g_list_length
    functionSourceFile: /src/glib/glib/glist.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint
    signature: 'guint g_list_length (GList *list) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_sort_real
      Src: /src/glib/glib/glist.c:1219,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1215
    functionDepth: 0
    functionLinenumber: 1215
    functionLinenumberEnd: 1220
    functionName: g_list_sort
    functionSourceFile: /src/glib/glib/glist.c
    functionUses: []
    functionsReached:
    - g_list_sort_real
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_list_sort (GList *list, GCompareFunc compare_func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_free_chain
      Src: /src/glib/glib/glist.c:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - GList*
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: g_list_free
    functionSourceFile: /src/glib/glib/glist.c
    functionUses: []
    functionsReached:
    - g_slice_free_chain
    linkageType: ''
    returnType: void
    signature: 'void g_list_free (GList *list) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/glist.c:327,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/glist.c:328,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/glist.c:348,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/glist.c:329,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/glist.c:333,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 364
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 364
    functionName: g_list_insert_before_link
    functionSourceFile: /src/glib/glib/glist.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_list_insert_before_link (GList *list, GList *sibling, GList
      *link_) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_list_alloc0
      Src: /src/glib/glib/glist.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: g_list_alloc
    functionSourceFile: /src/glib/glib/glist.c
    functionUses: []
    functionsReached:
    - _g_list_alloc0
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_list_alloc (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _g_list_alloc
      Src: /src/glib/glib/glist.c:252,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 267
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 267
    functionName: g_list_prepend
    functionSourceFile: /src/glib/glib/glist.c
    functionUses: []
    functionsReached:
    - _g_list_alloc
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_list_prepend (GList *list, gpointer data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_list_append
      Src: /src/glib/glib/glist.c:290,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/glist.c:292,1
    - Dst: g_list_append
      Src: /src/glib/glib/glist.c:296,1
    - Dst: _g_list_alloc
      Src: /src/glib/glib/glist.c:298,1
    - Dst: g_list_nth
      Src: /src/glib/glib/glist.c:294,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 306
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 306
    functionName: g_list_insert
    functionSourceFile: /src/glib/glib/glist.c
    functionUses: []
    functionsReached:
    - g_list_append
    - g_list_nth
    - _g_list_alloc
    - g_list_prepend
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_list_insert (GList *list, gpointer data, gint position) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _g_list_remove_link
      Src: /src/glib/glib/glist.c:517,1
    - Dst: _g_list_free1
      Src: /src/glib/glib/glist.c:518,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 524
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 524
    functionName: g_list_remove
    functionSourceFile: /src/glib/glib/glist.c
    functionUses: []
    functionsReached:
    - _g_list_remove_link
    - _g_list_free1
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_list_remove (GList *list, gconstpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_list_remove_link
      Src: /src/glib/glib/glist.c:590,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 591
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 591
    functionName: g_list_remove_link
    functionSourceFile: /src/glib/glib/glist.c
    functionUses: []
    functionsReached:
    - _g_list_remove_link
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_list_remove_link (GList *list, GList *llink) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 726
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 726
    functionName: g_list_reverse
    functionSourceFile: /src/glib/glib/glist.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_list_reverse (GList *list) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 770
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 770
    functionName: g_list_nth_prev
    functionSourceFile: /src/glib/glib/glist.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_list_nth_prev (GList *list, guint n) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_list_free_full
      Src: /src/glib/glib/glist.c:1278,1
    - Dst: g_list_free
      Src: /src/glib/glib/glist.c:1280,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - list_ptr
    - destroy
    argTypes:
    - GList**
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 1282
      start: 1266
    functionDepth: 0
    functionLinenumber: 1266
    functionLinenumberEnd: 1282
    functionName: (g_clear_list)
    functionSourceFile: /src/glib/glib/glist.c
    functionUses: []
    functionsReached:
    - g_list_free
    - g_list_free_full
    linkageType: ''
    returnType: void
    signature: 'void (g_clear_list) (GList **list_ptr, GDestroyNotify destroy) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_list_last
      Src: /src/glib/glib/glist.c:451,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 460
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 460
    functionName: g_list_concat
    functionSourceFile: /src/glib/glib/glist.c
    functionUses: []
    functionsReached:
    - g_list_last
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_list_concat (GList *list1, GList *list2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_copy_deep
      Src: /src/glib/glib/glist.c:630,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 631
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 631
    functionName: g_list_copy
    functionSourceFile: /src/glib/glib/glist.c
    functionUses: []
    functionsReached:
    - g_list_copy_deep
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_list_copy (GList *list) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - list
    - func
    - user_data
    argTypes:
    - GList*
    - GFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 1010
      start: 999
    functionDepth: 0
    functionLinenumber: 999
    functionLinenumberEnd: 1010
    functionName: g_list_foreach
    functionSourceFile: /src/glib/glib/glist.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void g_list_foreach (GList *list, GFunc func, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_insert_sorted_real
      Src: /src/glib/glib/glist.c:1088,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1083
    functionDepth: 0
    functionLinenumber: 1083
    functionLinenumberEnd: 1089
    functionName: g_list_insert_sorted
    functionSourceFile: /src/glib/glib/glist.c
    functionUses: []
    functionsReached:
    - g_list_insert_sorted_real
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_list_insert_sorted (GList *list, gpointer data, GCompareFunc
      func) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1156
    functionName: g_list_sort_merge
    functionSourceFile: /src/glib/glib/glist.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GList*
    signature: 'static GList *g_list_sort_merge (GList *l1, GList *l2, GFunc compare_func,
      gpointer user_data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/glist.c:1022,1
    - Dst: _g_list_alloc0
      Src: /src/glib/glib/glist.c:1026,1
    - Dst: _g_list_alloc0
      Src: /src/glib/glib/glist.c:1040,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1012
    functionDepth: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1062
    functionName: g_list_insert_sorted_real
    functionSourceFile: /src/glib/glib/glist.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - _g_list_alloc0
    linkageType: ''
    returnType: GList*
    signature: 'static GList *g_list_insert_sorted_real (GList *list, gpointer data,
      GFunc func, gpointer user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_list_sort_merge
      Src: /src/glib/glib/glist.c:1182,1
    - Dst: g_list_sort_real
      Src: /src/glib/glib/glist.c:1183,1
    - Dst: g_list_sort_real
      Src: /src/glib/glib/glist.c:1182,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1158
    functionDepth: 0
    functionLinenumber: 1158
    functionLinenumberEnd: 1186
    functionName: g_list_sort_real
    functionSourceFile: /src/glib/glib/glist.c
    functionUses: []
    functionsReached:
    - g_list_sort_merge
    - g_list_sort_real
    linkageType: ''
    returnType: GList*
    signature: 'static GList * g_list_sort_real (GList *list, GFunc compare_func,
      gpointer user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_list_alloc
      Src: /src/glib/glib/glist.c:384,1
    - Dst: _g_list_alloc
      Src: /src/glib/glib/glist.c:415,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/glist.c:386,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/glist.c:405,1
    - Dst: _g_list_alloc
      Src: /src/glib/glib/glist.c:393,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 422
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 422
    functionName: g_list_insert_before
    functionSourceFile: /src/glib/glib/glist.c
    functionUses: []
    functionsReached:
    - _g_list_alloc
    - g_return_val_if_fail
    - g_list_alloc
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_list_insert_before (GList *list, GList *sibling, gpointer
      data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_list_remove_link
      Src: /src/glib/glib/glist.c:608,1
    - Dst: _g_list_free1
      Src: /src/glib/glib/glist.c:609,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 612
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 612
    functionName: g_list_delete_link
    functionSourceFile: /src/glib/glib/glist.c
    functionUses: []
    functionsReached:
    - _g_list_remove_link
    - _g_list_free1
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_list_delete_link (GList *list, GList *link_) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 817
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 817
    functionName: g_list_find
    functionSourceFile: /src/glib/glib/glist.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_list_find (GList *list, gconstpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - list
    - llink
    argTypes:
    - GList*
    - GList*
    constantsTouched: []
    func_position:
      end: 879
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 879
    functionName: g_list_position
    functionSourceFile: /src/glib/glib/glist.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint
    signature: 'gint g_list_position (GList *list, GList *llink) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 950
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 950
    functionName: g_list_first
    functionSourceFile: /src/glib/glib/glist.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_list_first (GList *list) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - list
    - n
    argTypes:
    - GList*
    - guint
    constantsTouched: []
    func_position:
      end: 794
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 794
    functionName: g_list_nth_data
    functionSourceFile: /src/glib/glib/glist.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_list_nth_data (GList *list, guint n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/glist.c:840,1
    - Dst: func
      Src: /src/glib/glib/glist.c:844,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 850
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 850
    functionName: g_list_find_custom
    functionSourceFile: /src/glib/glib/glist.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - func
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_list_find_custom (GList *list, gconstpointer data, GCompareFunc
      func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_insert_sorted_real
      Src: /src/glib/glib/glist.c:1119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1113
    functionDepth: 0
    functionLinenumber: 1113
    functionLinenumberEnd: 1120
    functionName: g_list_insert_sorted_with_data
    functionSourceFile: /src/glib/glib/glist.c
    functionUses: []
    functionsReached:
    - g_list_insert_sorted_real
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_list_insert_sorted_with_data (GList *list, gpointer data,
      GCompareDataFunc func, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_new_with_free_func
      Src: /src/glib/glib/gbytes.c:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 169
    functionName: g_bytes_new_take
    functionSourceFile: /src/glib/glib/gbytes.c
    functionUses: []
    functionsReached:
    - g_bytes_new_with_free_func
    linkageType: ''
    returnType: GBytes*
    signature: 'GBytes *g_bytes_new_take (gpointer data, gsize size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbytes.c:222,1
    - Dst: g_new
      Src: /src/glib/glib/gbytes.c:224,1
    - Dst: g_atomic_ref_count_init
      Src: /src/glib/glib/gbytes.c:229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 232
    functionName: g_bytes_new_with_free_func
    functionSourceFile: /src/glib/glib/gbytes.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_atomic_ref_count_init
    - g_new
    linkageType: ''
    returnType: GBytes*
    signature: 'GBytes *g_bytes_new_with_free_func (gconstpointer data, gsize size,
      GDestroyNotify free_func, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbytes.c:312,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - bytes
    - size
    argTypes:
    - GBytes*
    - gsize*
    constantsTouched: []
    func_position:
      end: 316
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 316
    functionName: g_bytes_get_data
    functionSourceFile: /src/glib/glib/gbytes.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gconstpointer
    signature: 'gconstpointer g_bytes_get_data (GBytes *bytes, gsize *size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_ref_count_dec
      Src: /src/glib/glib/gbytes.c:373,1
    - Dst: g_free
      Src: /src/glib/glib/gbytes.c:377,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - GBytes*
    constantsTouched: []
    func_position:
      end: 379
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 379
    functionName: g_bytes_unref
    functionSourceFile: /src/glib/glib/gbytes.c
    functionUses: []
    functionsReached:
    - g_free
    - g_atomic_ref_count_dec
    linkageType: ''
    returnType: void
    signature: 'void g_bytes_unref (GBytes *bytes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbytes.c:403,1
    - Dst: memcmp
      Src: /src/glib/glib/gbytes.c:407,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbytes.c:404,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - bytes1
    - bytes2
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 408
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 408
    functionName: g_bytes_equal
    functionSourceFile: /src/glib/glib/gbytes.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - memcmp
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_bytes_equal (gconstpointer bytes1, gconstpointer bytes2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbytes.c:466,1
    - Dst: MIN
      Src: /src/glib/glib/gbytes.c:469,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbytes.c:467,1
    - Dst: memcmp
      Src: /src/glib/glib/gbytes.c:469,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - bytes1
    - bytes2
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 473
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 473
    functionName: g_bytes_compare
    functionSourceFile: /src/glib/glib/gbytes.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - MIN
    - memcmp
    linkageType: ''
    returnType: gint
    signature: 'gint g_bytes_compare (gconstpointer bytes1, gconstpointer bytes2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbytes.c:525,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/gbytes.c:542,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbytes.c:526,1
    - Dst: g_memdup2
      Src: /src/glib/glib/gbytes.c:540,1
    - Dst: try_steal_and_unref
      Src: /src/glib/glib/gbytes.c:533,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - bytes
    - size
    argTypes:
    - GBytes*
    - gsize*
    constantsTouched: []
    func_position:
      end: 546
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 546
    functionName: g_bytes_unref_to_data
    functionSourceFile: /src/glib/glib/gbytes.c
    functionUses: []
    functionsReached:
    - try_steal_and_unref
    - g_return_val_if_fail
    - g_memdup2
    - g_bytes_unref
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_bytes_unref_to_data (GBytes *bytes, gsize *size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbytes.c:622,1
    - Dst: g_size_checked_mul
      Src: /src/glib/glib/gbytes.c:628,1
    - Dst: g_size_checked_add
      Src: /src/glib/glib/gbytes.c:631,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - bytes
    - element_size
    - offset
    - n_elements
    argTypes:
    - GBytes*
    - gsize
    - gsize
    - gsize
    constantsTouched: []
    func_position:
      end: 651
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 651
    functionName: g_bytes_get_region
    functionSourceFile: /src/glib/glib/gbytes.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_size_checked_add
    - g_size_checked_mul
    linkageType: ''
    returnType: gconstpointer
    signature: 'gconstpointer g_bytes_get_region (GBytes *bytes, gsize element_size,
      gsize offset, gsize n_elements) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_ref_count_compare
      Src: /src/glib/glib/gbytes.c:487,1
    - Dst: g_free
      Src: /src/glib/glib/gbytes.c:492,1
    - Dst: g_assert
      Src: /src/glib/glib/gbytes.c:491,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - bytes
    - free_func
    - size
    argTypes:
    - GBytes*
    - GDestroyNotify
    - gsize*
    constantsTouched: []
    func_position:
      end: 497
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 497
    functionName: try_steal_and_unref
    functionSourceFile: /src/glib/glib/gbytes.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_atomic_ref_count_compare
    - g_free
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer try_steal_and_unref (GBytes *bytes, GDestroyNotify
      free_func, gsize *size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbytes.c:123,1
    - Dst: g_atomic_ref_count_init
      Src: /src/glib/glib/gbytes.c:134,1
    - Dst: g_bytes_new_take
      Src: /src/glib/glib/gbytes.c:141,1
    - Dst: memcpy
      Src: /src/glib/glib/gbytes.c:136,1
    - Dst: g_malloc
      Src: /src/glib/glib/gbytes.c:129,1
    - Dst: g_memdup2
      Src: /src/glib/glib/gbytes.c:141,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 142
    functionName: g_bytes_new
    functionSourceFile: /src/glib/glib/gbytes.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_return_val_if_fail
    - g_malloc
    - g_bytes_new_take
    - g_atomic_ref_count_init
    - g_memdup2
    linkageType: ''
    returnType: GBytes*
    signature: 'GBytes *g_bytes_new (gconstpointer data, gsize size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbytes.c:264,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbytes.c:265,1
    - Dst: g_bytes_ref
      Src: /src/glib/glib/gbytes.c:270,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbytes.c:266,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbytes.c:280,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbytes.c:281,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbytes.c:282,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbytes.c:283,1
    - Dst: g_bytes_new_with_free_func
      Src: /src/glib/glib/gbytes.c:285,1
    - Dst: g_bytes_ref
      Src: /src/glib/glib/gbytes.c:286,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 287
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 287
    functionName: g_bytes_new_from_bytes
    functionSourceFile: /src/glib/glib/gbytes.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_bytes_new_with_free_func
    - g_bytes_ref
    linkageType: ''
    returnType: GBytes*
    signature: 'GBytes *g_bytes_new_from_bytes (GBytes *bytes, gsize offset, gsize
      length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_new_with_free_func
      Src: /src/glib/glib/gbytes.c:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 191
    functionName: g_bytes_new_static
    functionSourceFile: /src/glib/glib/gbytes.c
    functionUses: []
    functionsReached:
    - g_bytes_new_with_free_func
    linkageType: ''
    returnType: GBytes*
    signature: 'GBytes *g_bytes_new_static (gconstpointer data, gsize size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbytes.c:332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - GBytes*
    constantsTouched: []
    func_position:
      end: 334
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 334
    functionName: g_bytes_get_size
    functionSourceFile: /src/glib/glib/gbytes.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gsize
    signature: 'gsize g_bytes_get_size (GBytes *bytes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbytes.c:349,1
    - Dst: g_atomic_ref_count_inc
      Src: /src/glib/glib/gbytes.c:351,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 354
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 354
    functionName: g_bytes_ref
    functionSourceFile: /src/glib/glib/gbytes.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_atomic_ref_count_inc
    linkageType: ''
    returnType: GBytes*
    signature: 'GBytes *g_bytes_ref (GBytes *bytes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbytes.c:430,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 436
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 436
    functionName: g_bytes_hash
    functionSourceFile: /src/glib/glib/gbytes.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: guint
    signature: 'guint g_bytes_hash (gconstpointer bytes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbytes.c:576,1
    - Dst: g_bytes_unref_to_data
      Src: /src/glib/glib/gbytes.c:578,1
    - Dst: g_byte_array_new_take
      Src: /src/glib/glib/gbytes.c:579,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 580
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 580
    functionName: g_bytes_unref_to_array
    functionSourceFile: /src/glib/glib/gbytes.c
    functionUses: []
    functionsReached:
    - g_bytes_unref_to_data
    - g_return_val_if_fail
    - g_byte_array_new_take
    linkageType: ''
    returnType: GByteArray*
    signature: 'GByteArray *g_bytes_unref_to_array (GBytes *bytes) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WIFEXITED
      Src: /src/glib/glib/gspawn-posix.c:477,1
    - Dst: _
      Src: /src/glib/glib/gspawn-posix.c:482,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn-posix.c:481,1
    - Dst: WEXITSTATUS
      Src: /src/glib/glib/gspawn-posix.c:481,1
    - Dst: WEXITSTATUS
      Src: /src/glib/glib/gspawn-posix.c:479,1
    - Dst: WEXITSTATUS
      Src: /src/glib/glib/gspawn-posix.c:483,1
    - Dst: WIFSIGNALED
      Src: /src/glib/glib/gspawn-posix.c:487,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn-posix.c:489,1
    - Dst: _
      Src: /src/glib/glib/gspawn-posix.c:490,1
    - Dst: WTERMSIG
      Src: /src/glib/glib/gspawn-posix.c:491,1
    - Dst: WIFSTOPPED
      Src: /src/glib/glib/gspawn-posix.c:494,1
    - Dst: _
      Src: /src/glib/glib/gspawn-posix.c:504,1
    - Dst: WSTOPSIG
      Src: /src/glib/glib/gspawn-posix.c:498,1
    - Dst: _
      Src: /src/glib/glib/gspawn-posix.c:497,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn-posix.c:503,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn-posix.c:496,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 2
    argNames:
    - wait_status
    - error
    argTypes:
    - gint
    - GError**
    constantsTouched: []
    func_position:
      end: 511
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 511
    functionName: g_spawn_check_wait_status_impl
    functionSourceFile: /src/glib/glib/gspawn-posix.c
    functionUses: []
    functionsReached:
    - g_set_error
    - WTERMSIG
    - WIFEXITED
    - WSTOPSIG
    - WIFSTOPPED
    - WEXITSTATUS
    - _
    - WIFSIGNALED
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_spawn_check_wait_status_impl (gint wait_status, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_all
      Src: /src/glib/glib/gspawn-posix.c:546,1
    - Dst: close
      Src: /src/glib/glib/gspawn-posix.c:549,1
    - Dst: write_all
      Src: /src/glib/glib/gspawn-posix.c:547,1
    - Dst: _exit
      Src: /src/glib/glib/gspawn-posix.c:551,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - fd
    - msg
    argTypes:
    - gint
    - gint
    constantsTouched: []
    func_position:
      end: 552
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 552
    functionName: write_err_and_exit
    functionSourceFile: /src/glib/glib/gspawn-posix.c
    functionUses: []
    functionsReached:
    - close
    - write_all
    - _exit
    linkageType: ''
    returnType: G_NORETURN
    signature: 'G_NORETURN static void write_err_and_exit (gint fd, gint msg) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/glib/glib/gspawn-posix.c:1867,1
    - Dst: execve
      Src: /src/glib/glib/gspawn-posix.c:1871,1
    - Dst: execv
      Src: /src/glib/glib/gspawn-posix.c:1873,1
    - Dst: script_execute
      Src: /src/glib/glib/gspawn-posix.c:1876,1
    - Dst: strlen
      Src: /src/glib/glib/gspawn-posix.c:1891,1
    - Dst: strlen
      Src: /src/glib/glib/gspawn-posix.c:1892,1
    - Dst: memcpy
      Src: /src/glib/glib/gspawn-posix.c:1902,1
    - Dst: my_strchrnul
      Src: /src/glib/glib/gspawn-posix.c:1913,1
    - Dst: memcpy
      Src: /src/glib/glib/gspawn-posix.c:1921,1
    - Dst: execve
      Src: /src/glib/glib/gspawn-posix.c:1925,1
    - Dst: execv
      Src: /src/glib/glib/gspawn-posix.c:1927,1
    - Dst: script_execute
      Src: /src/glib/glib/gspawn-posix.c:1930,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 63
    argCount: 8
    argNames:
    - file
    - argv
    - argv_buffer
    - argv_buffer_len
    - envp
    - search_path
    - search_path_buffer
    - search_path_buffer_len
    argTypes:
    - gchar*
    - gchar**
    - gchar**
    - gsize
    - gchar**
    - gchar*
    - gchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 1987
      start: 1850
    functionDepth: 0
    functionLinenumber: 1850
    functionLinenumberEnd: 1987
    functionName: g_execute
    functionSourceFile: /src/glib/glib/gspawn-posix.c
    functionUses: []
    functionsReached:
    - memcpy
    - strlen
    - script_execute
    - strchr
    - execve
    - my_strchrnul
    - execv
    linkageType: ''
    returnType: gint
    signature: 'static gint g_execute (const gchar *file, gchar **argv, gchar **argv_buffer,
      gsize argv_buffer_len, gchar **envp, const gchar *search_path, gchar *search_path_buffer,
      gsize search_path_buffer_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: execve
      Src: /src/glib/glib/gspawn-posix.c:1829,1
    - Dst: execv
      Src: /src/glib/glib/gspawn-posix.c:1831,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 11
    argCount: 5
    argNames:
    - file
    - argv
    - argv_buffer
    - argv_buffer_len
    - envp
    argTypes:
    - gchar*
    - gchar**
    - gchar**
    - gsize
    - gchar**
    constantsTouched: []
    func_position:
      end: 1834
      start: 1803
    functionDepth: 0
    functionLinenumber: 1803
    functionLinenumberEnd: 1834
    functionName: script_execute
    functionSourceFile: /src/glib/glib/gspawn-posix.c
    functionUses: []
    functionsReached:
    - execv
    - execve
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean script_execute (const gchar *file, gchar **argv, gchar
      **argv_buffer, gsize argv_buffer_len, gchar **envp) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: sigaddset
      Src: /src/glib/glib/gspawn-posix.c:1056,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gspawn-posix.c:1077,1
    - Dst: posix_spawn_file_actions_adddup2
      Src: /src/glib/glib/gspawn-posix.c:1090,1
    - Dst: posix_spawn_file_actions_adddup2
      Src: /src/glib/glib/gspawn-posix.c:1097,1
    - Dst: safe_open
      Src: /src/glib/glib/gspawn-posix.c:1106,1
    - Dst: posix_spawn_file_actions_adddup2
      Src: /src/glib/glib/gspawn-posix.c:1121,1
    - Dst: safe_open
      Src: /src/glib/glib/gspawn-posix.c:1130,1
    - Dst: fcntl
      Src: /src/glib/glib/gspawn-posix.c:1135,1
    - Dst: MAX
      Src: /src/glib/glib/gspawn-posix.c:1167,1
    - Dst: g_new
      Src: /src/glib/glib/gspawn-posix.c:1172,1
    - Dst: posix_spawn_file_actions_addclose
      Src: /src/glib/glib/gspawn-posix.c:1198,1
    - Dst: g_free
      Src: /src/glib/glib/gspawn-posix.c:1225,1
    - Dst: posix_spawnattr_init
      Src: /src/glib/glib/gspawn-posix.c:1037,1
    - Dst: sigemptyset
      Src: /src/glib/glib/gspawn-posix.c:1054,1
    - Dst: sigaddset
      Src: /src/glib/glib/gspawn-posix.c:1057,1
    - Dst: posix_spawnattr_setsigdefault
      Src: /src/glib/glib/gspawn-posix.c:1060,1
    - Dst: g_assert
      Src: /src/glib/glib/gspawn-posix.c:1083,1
    - Dst: posix_spawn_file_actions_init
      Src: /src/glib/glib/gspawn-posix.c:1064,1
    - Dst: posix_spawn_file_actions_adddup2
      Src: /src/glib/glib/gspawn-posix.c:1072,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/gspawn-posix.c:1101,1
    - Dst: fcntl
      Src: /src/glib/glib/gspawn-posix.c:1111,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/gspawn-posix.c:1125,1
    - Dst: posix_spawn_file_actions_destroy
      Src: /src/glib/glib/gspawn-posix.c:1228,1
    - Dst: g_clear_fd
      Src: /src/glib/glib/gspawn-posix.c:1224,1
    - Dst: g_assert
      Src: /src/glib/glib/gspawn-posix.c:1029,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/gspawn-posix.c:1046,1
    - Dst: sigaddset
      Src: /src/glib/glib/gspawn-posix.c:1058,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/gspawn-posix.c:1076,1
    - Dst: fcntl
      Src: /src/glib/glib/gspawn-posix.c:1087,1
    - Dst: g_slist_find
      Src: /src/glib/glib/gspawn-posix.c:1101,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/gspawn-posix.c:1102,1
    - Dst: g_assert
      Src: /src/glib/glib/gspawn-posix.c:1107,1
    - Dst: g_slist_find
      Src: /src/glib/glib/gspawn-posix.c:1125,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/gspawn-posix.c:1126,1
    - Dst: posix_spawn_file_actions_adddup2
      Src: /src/glib/glib/gspawn-posix.c:1184,1
    - Dst: g_slist_free
      Src: /src/glib/glib/gspawn-posix.c:1231,1
    - Dst: dupfd_cloexec
      Src: /src/glib/glib/gspawn-posix.c:1177,1
    - Dst: g_clear_fd
      Src: /src/glib/glib/gspawn-posix.c:1219,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/gspawn-posix.c:1199,1
    - Dst: posix_spawnp
      Src: /src/glib/glib/gspawn-posix.c:1212,1
    - Dst: posix_spawnattr_setflags
      Src: /src/glib/glib/gspawn-posix.c:1049,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gspawn-posix.c:1045,1
    - Dst: sigaddset
      Src: /src/glib/glib/gspawn-posix.c:1055,1
    - Dst: g_slist_find
      Src: /src/glib/glib/gspawn-posix.c:1076,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/gspawn-posix.c:1077,1
    - Dst: safe_open
      Src: /src/glib/glib/gspawn-posix.c:1082,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gspawn-posix.c:1102,1
    - Dst: posix_spawn_file_actions_adddup2
      Src: /src/glib/glib/gspawn-posix.c:1114,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gspawn-posix.c:1126,1
    - Dst: g_assert
      Src: /src/glib/glib/gspawn-posix.c:1131,1
    - Dst: posix_spawn_file_actions_adddup2
      Src: /src/glib/glib/gspawn-posix.c:1138,1
    - Dst: posix_spawn
      Src: /src/glib/glib/gspawn-posix.c:1210,1
    - Dst: posix_spawnattr_destroy
      Src: /src/glib/glib/gspawn-posix.c:1230,1
    - Dst: strchr
      Src: /src/glib/glib/gspawn-posix.c:1209,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 152
    argCount: 15
    argNames:
    - argv
    - envp
    - search_path
    - stdout_to_null
    - stderr_to_null
    - child_inherits_stdin
    - file_and_argv_zero
    - child_pid
    - child_close_fds
    - stdin_fd
    - stdout_fd
    - stderr_fd
    - source_fds
    - target_fds
    - n_fds
    argTypes:
    - gchar**
    - gchar**
    - gboolean
    - gboolean
    - gboolean
    - gboolean
    - gboolean
    - GPid*
    - gint*
    - gint
    - gint
    - gint
    - gint*
    - gint*
    - gsize
    constantsTouched: []
    func_position:
      end: 1234
      start: 998
    functionDepth: 0
    functionLinenumber: 998
    functionLinenumberEnd: 1234
    functionName: do_posix_spawn
    functionSourceFile: /src/glib/glib/gspawn-posix.c
    functionUses: []
    functionsReached:
    - posix_spawnp
    - posix_spawnattr_init
    - safe_open
    - g_slist_find
    - posix_spawnattr_setflags
    - fcntl
    - sigemptyset
    - sigaddset
    - g_slist_prepend
    - g_slist_free
    - posix_spawn_file_actions_adddup2
    - posix_spawn
    - GPOINTER_TO_INT
    - g_new
    - MAX
    - dupfd_cloexec
    - GINT_TO_POINTER
    - posix_spawn_file_actions_init
    - posix_spawn_file_actions_destroy
    - posix_spawnattr_destroy
    - posix_spawnattr_setsigdefault
    - g_assert
    - posix_spawn_file_actions_addclose
    - strchr
    - g_clear_fd
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean do_posix_spawn (const gchar * const *argv, const gchar
      * const *envp, gboolean search_path, gboolean stdout_to_null, gboolean stderr_to_null,
      gboolean child_inherits_stdin, gboolean file_and_argv_zero, GPid *child_pid,
      gint *child_close_fds, gint stdin_fd, gint stdout_fd, gint stderr_fd, const
      gint *source_fds, const gint *target_fds, gsize n_fds) '
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gspawn-posix.c:1293,1
    - Dst: g_trace_mark
      Src: /src/glib/glib/gspawn-posix.c:1335,1
    - Dst: g_assert
      Src: /src/glib/glib/gspawn-posix.c:1414,1
    - Dst: g_alloca
      Src: /src/glib/glib/gspawn-posix.c:1429,1
    - Dst: g_assert
      Src: /src/glib/glib/gspawn-posix.c:1439,1
    - Dst: g_unix_pipe_get
      Src: /src/glib/glib/gspawn-posix.c:1713,1
    - Dst: g_warning
      Src: /src/glib/glib/gspawn-posix.c:1782,1
    - Dst: g_unix_pipe_clear
      Src: /src/glib/glib/gspawn-posix.c:1790,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gspawn-posix.c:1794,1
    - Dst: write_all
      Src: /src/glib/glib/gspawn-posix.c:1569,1
    - Dst: g_unix_pipe_close
      Src: /src/glib/glib/gspawn-posix.c:1512,1
    - Dst: g_unix_pipe_close
      Src: /src/glib/glib/gspawn-posix.c:1613,1
    - Dst: g_strerror
      Src: /src/glib/glib/gspawn-posix.c:1659,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn-posix.c:1672,1
    - Dst: g_unix_pipe_steal
      Src: /src/glib/glib/gspawn-posix.c:1759,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gspawn-posix.c:1792,1
    - Dst: g_strerror
      Src: /src/glib/glib/gspawn-posix.c:1693,1
    - Dst: g_unix_pipe_close
      Src: /src/glib/glib/gspawn-posix.c:1753,1
    - Dst: source_fds_collide_with_pipe
      Src: /src/glib/glib/gspawn-posix.c:1313,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn-posix.c:1483,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gspawn-posix.c:1793,1
    - Dst: signal
      Src: /src/glib/glib/gspawn-posix.c:1500,1
    - Dst: _
      Src: /src/glib/glib/gspawn-posix.c:1486,1
    - Dst: signal
      Src: /src/glib/glib/gspawn-posix.c:1498,1
    - Dst: source_fds_collide_with_pipe
      Src: /src/glib/glib/gspawn-posix.c:1473,1
    - Dst: g_unix_pipe_get
      Src: /src/glib/glib/gspawn-posix.c:1316,1
    - Dst: read_ints
      Src: /src/glib/glib/gspawn-posix.c:1632,1
    - Dst: _
      Src: /src/glib/glib/gspawn-posix.c:1667,1
    - Dst: _
      Src: /src/glib/glib/gspawn-posix.c:1692,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn-posix.c:1721,1
    - Dst: g_free
      Src: /src/glib/glib/gspawn-posix.c:1739,1
    - Dst: g_unix_pipe_get
      Src: /src/glib/glib/gspawn-posix.c:1326,1
    - Dst: fork
      Src: /src/glib/glib/gspawn-posix.c:1477,1
    - Dst: g_unix_pipe_get
      Src: /src/glib/glib/gspawn-posix.c:1569,1
    - Dst: g_strerror
      Src: /src/glib/glib/gspawn-posix.c:1649,1
    - Dst: _
      Src: /src/glib/glib/gspawn-posix.c:1724,1
    - Dst: write_all
      Src: /src/glib/glib/gspawn-posix.c:1535,1
    - Dst: g_strv_length
      Src: /src/glib/glib/gspawn-posix.c:1446,1
    - Dst: source_fds_collide_with_pipe
      Src: /src/glib/glib/gspawn-posix.c:1466,1
    - Dst: signal
      Src: /src/glib/glib/gspawn-posix.c:1499,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn-posix.c:1654,1
    - Dst: _
      Src: /src/glib/glib/gspawn-posix.c:1675,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn-posix.c:1681,1
    - Dst: read_ints
      Src: /src/glib/glib/gspawn-posix.c:1713,1
    - Dst: g_unix_pipe_close
      Src: /src/glib/glib/gspawn-posix.c:1736,1
    - Dst: g_free
      Src: /src/glib/glib/gspawn-posix.c:1741,1
    - Dst: g_unix_pipe_close
      Src: /src/glib/glib/gspawn-posix.c:1751,1
    - Dst: g_assert
      Src: /src/glib/glib/gspawn-posix.c:1296,1
    - Dst: g_unix_pipe_close
      Src: /src/glib/glib/gspawn-posix.c:1752,1
    - Dst: _exit
      Src: /src/glib/glib/gspawn-posix.c:1573,1
    - Dst: memcpy
      Src: /src/glib/glib/gspawn-posix.c:1462,1
    - Dst: signal
      Src: /src/glib/glib/gspawn-posix.c:1501,1
    - Dst: g_unix_pipe_get
      Src: /src/glib/glib/gspawn-posix.c:1315,1
    - Dst: do_posix_spawn
      Src: /src/glib/glib/gspawn-posix.c:1339,1
    - Dst: g_unix_pipe_get
      Src: /src/glib/glib/gspawn-posix.c:1538,1
    - Dst: g_strerror
      Src: /src/glib/glib/gspawn-posix.c:1685,1
    - Dst: g_unix_pipe_clear
      Src: /src/glib/glib/gspawn-posix.c:1787,1
    - Dst: g_unix_pipe_get
      Src: /src/glib/glib/gspawn-posix.c:1325,1
    - Dst: g_malloc
      Src: /src/glib/glib/gspawn-posix.c:1433,1
    - Dst: fork
      Src: /src/glib/glib/gspawn-posix.c:1530,1
    - Dst: g_warning
      Src: /src/glib/glib/gspawn-posix.c:1627,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn-posix.c:1644,1
    - Dst: g_unix_pipe_get
      Src: /src/glib/glib/gspawn-posix.c:1535,1
    - Dst: g_unix_pipe_close
      Src: /src/glib/glib/gspawn-posix.c:1513,1
    - Dst: waitpid
      Src: /src/glib/glib/gspawn-posix.c:1620,1
    - Dst: g_unix_pipe_get
      Src: /src/glib/glib/gspawn-posix.c:1581,1
    - Dst: g_free
      Src: /src/glib/glib/gspawn-posix.c:1740,1
    - Dst: g_strerror
      Src: /src/glib/glib/gspawn-posix.c:1668,1
    - Dst: strlen
      Src: /src/glib/glib/gspawn-posix.c:1424,1
    - Dst: g_unix_pipe_open
      Src: /src/glib/glib/gspawn-posix.c:1464,1
    - Dst: g_unix_pipe_close
      Src: /src/glib/glib/gspawn-posix.c:1737,1
    - Dst: waitpid
      Src: /src/glib/glib/gspawn-posix.c:1775,1
    - Dst: g_unix_pipe_steal
      Src: /src/glib/glib/gspawn-posix.c:1756,1
    - Dst: g_assert
      Src: /src/glib/glib/gspawn-posix.c:1294,1
    - Dst: source_fds_collide_with_pipe
      Src: /src/glib/glib/gspawn-posix.c:1303,1
    - Dst: g_unix_pipe_open
      Src: /src/glib/glib/gspawn-posix.c:1311,1
    - Dst: _
      Src: /src/glib/glib/gspawn-posix.c:1362,1
    - Dst: g_unix_pipe_close
      Src: /src/glib/glib/gspawn-posix.c:1571,1
    - Dst: do_exec
      Src: /src/glib/glib/gspawn-posix.c:1581,1
    - Dst: _
      Src: /src/glib/glib/gspawn-posix.c:1657,1
    - Dst: _
      Src: /src/glib/glib/gspawn-posix.c:1700,1
    - Dst: g_unix_pipe_steal
      Src: /src/glib/glib/gspawn-posix.c:1762,1
    - Dst: g_unix_pipe_clear
      Src: /src/glib/glib/gspawn-posix.c:1788,1
    - Dst: g_unix_pipe_close
      Src: /src/glib/glib/gspawn-posix.c:1614,1
    - Dst: g_assert
      Src: /src/glib/glib/gspawn-posix.c:1441,1
    - Dst: g_newa
      Src: /src/glib/glib/gspawn-posix.c:1451,1
    - Dst: _
      Src: /src/glib/glib/gspawn-posix.c:1647,1
    - Dst: g_new
      Src: /src/glib/glib/gspawn-posix.c:1460,1
    - Dst: g_clear_fd
      Src: /src/glib/glib/gspawn-posix.c:1518,1
    - Dst: g_unix_pipe_get
      Src: /src/glib/glib/gspawn-posix.c:1306,1
    - Dst: source_fds_collide_with_pipe
      Src: /src/glib/glib/gspawn-posix.c:1323,1
    - Dst: g_strerror
      Src: /src/glib/glib/gspawn-posix.c:1364,1
    - Dst: g_debug
      Src: /src/glib/glib/gspawn-posix.c:1373,1
    - Dst: g_unix_pipe_open
      Src: /src/glib/glib/gspawn-posix.c:1301,1
    - Dst: g_assert
      Src: /src/glib/glib/gspawn-posix.c:1295,1
    - Dst: signal
      Src: /src/glib/glib/gspawn-posix.c:1506,1
    - Dst: g_unix_pipe_close
      Src: /src/glib/glib/gspawn-posix.c:1543,1
    - Dst: g_unix_pipe_get
      Src: /src/glib/glib/gspawn-posix.c:1632,1
    - Dst: g_unix_pipe_clear
      Src: /src/glib/glib/gspawn-posix.c:1786,1
    - Dst: g_unix_pipe_get
      Src: /src/glib/glib/gspawn-posix.c:1544,1
    - Dst: g_unix_pipe_open
      Src: /src/glib/glib/gspawn-posix.c:1321,1
    - Dst: g_trace_mark
      Src: /src/glib/glib/gspawn-posix.c:1377,1
    - Dst: g_environ_getenv
      Src: /src/glib/glib/gspawn-posix.c:1392,1
    - Dst: g_getenv
      Src: /src/glib/glib/gspawn-posix.c:1394,1
    - Dst: g_assert
      Src: /src/glib/glib/gspawn-posix.c:1412,1
    - Dst: do_exec
      Src: /src/glib/glib/gspawn-posix.c:1544,1
    - Dst: _g_spawn_exec_err_to_g_error
      Src: /src/glib/glib/gspawn-posix.c:1656,1
    - Dst: g_strerror
      Src: /src/glib/glib/gspawn-posix.c:1676,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn-posix.c:1697,1
    - Dst: g_unix_pipe_clear
      Src: /src/glib/glib/gspawn-posix.c:1789,1
    - Dst: g_new
      Src: /src/glib/glib/gspawn-posix.c:1455,1
    - Dst: g_strerror
      Src: /src/glib/glib/gspawn-posix.c:1487,1
    - Dst: g_unix_pipe_get
      Src: /src/glib/glib/gspawn-posix.c:1305,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn-posix.c:1359,1
    - Dst: strlen
      Src: /src/glib/glib/gspawn-posix.c:1424,1
    - Dst: g_unix_pipe_open
      Src: /src/glib/glib/gspawn-posix.c:1471,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn-posix.c:1664,1
    - Dst: _
      Src: /src/glib/glib/gspawn-posix.c:1684,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn-posix.c:1689,1
    - Dst: g_strerror
      Src: /src/glib/glib/gspawn-posix.c:1725,1
    - Dst: write_err_and_exit
      Src: /src/glib/glib/gspawn-posix.c:1538,1
    CyclomaticComplexity: 113
    EdgeCount: 113
    ICount: 260
    argCount: 25
    argNames:
    - intermediate_child
    - working_directory
    - argv
    - envp
    - close_descriptors
    - search_path
    - search_path_from_envp
    - stdout_to_null
    - stderr_to_null
    - child_inherits_stdin
    - file_and_argv_zero
    - cloexec_pipes
    - child_setup
    - user_data
    - child_pid
    - stdin_pipe_out
    - stdout_pipe_out
    - stderr_pipe_out
    - stdin_fd
    - stdout_fd
    - stderr_fd
    - source_fds
    - target_fds
    - n_fds
    - error
    argTypes:
    - gboolean
    - gchar*
    - gchar**
    - gchar**
    - gboolean
    - gboolean
    - gboolean
    - gboolean
    - gboolean
    - gboolean
    - gboolean
    - gboolean
    - GSpawnChildSetupFunc
    - gpointer
    - GPid*
    - gint*
    - gint*
    - gint*
    - gint
    - gint
    - gint
    - gint*
    - gint*
    - gsize
    - GError**
    constantsTouched: []
    func_position:
      end: 1797
      start: 1247
    functionDepth: 0
    functionLinenumber: 1247
    functionLinenumberEnd: 1797
    functionName: fork_exec
    functionSourceFile: /src/glib/glib/gspawn-posix.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_strerror
    - g_alloca
    - fork
    - g_malloc
    - do_exec
    - waitpid
    - write_all
    - g_newa
    - g_unix_pipe_steal
    - _g_spawn_exec_err_to_g_error
    - g_warning
    - source_fds_collide_with_pipe
    - g_unix_pipe_clear
    - g_clear_pointer
    - g_environ_getenv
    - g_set_error
    - signal
    - g_unix_pipe_get
    - g_strv_length
    - strlen
    - g_new
    - g_getenv
    - read_ints
    - _
    - write_err_and_exit
    - g_trace_mark
    - g_unix_pipe_close
    - g_unix_pipe_open
    - g_assert
    - g_debug
    - g_clear_fd
    - do_posix_spawn
    - g_free
    - _exit
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean fork_exec (gboolean intermediate_child, const gchar
      *working_directory, const gchar * const *argv, const gchar * const *envp, gboolean
      close_descriptors, gboolean search_path, gboolean search_path_from_envp, gboolean
      stdout_to_null, gboolean stderr_to_null, gboolean child_inherits_stdin, gboolean
      file_and_argv_zero, gboolean cloexec_pipes, GSpawnChildSetupFunc child_setup,
      gpointer user_data, GPid *child_pid, gint *stdin_pipe_out, gint *stdout_pipe_out,
      gint *stderr_pipe_out, gint stdin_fd, gint stdout_fd, gint stderr_fd, const
      gint *source_fds, const gint *target_fds, gsize n_fds, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1846
      start: 1838
    functionDepth: 0
    functionLinenumber: 1838
    functionLinenumberEnd: 1846
    functionName: my_strchrnul
    functionSourceFile: /src/glib/glib/gspawn-posix.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *my_strchrnul (const gchar *str, gchar c) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn-posix.c:220,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn-posix.c:216,1
    - Dst: g_string_new
      Src: /src/glib/glib/gspawn-posix.c:261,1
    - Dst: g_strerror
      Src: /src/glib/glib/gspawn-posix.c:298,1
    - Dst: read_data
      Src: /src/glib/glib/gspawn-posix.c:305,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn-posix.c:294,1
    - Dst: g_clear_fd
      Src: /src/glib/glib/gspawn-posix.c:341,1
    - Dst: g_clear_fd
      Src: /src/glib/glib/gspawn-posix.c:329,1
    - Dst: _
      Src: /src/glib/glib/gspawn-posix.c:377,1
    - Dst: g_string_free
      Src: /src/glib/glib/gspawn-posix.c:398,1
    - Dst: g_poll
      Src: /src/glib/glib/gspawn-posix.c:283,1
    - Dst: g_clear_fd
      Src: /src/glib/glib/gspawn-posix.c:342,1
    - Dst: g_string_free
      Src: /src/glib/glib/gspawn-posix.c:386,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn-posix.c:215,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn-posix.c:217,1
    - Dst: fork_exec
      Src: /src/glib/glib/gspawn-posix.c:232,1
    - Dst: g_string_new
      Src: /src/glib/glib/gspawn-posix.c:266,1
    - Dst: _
      Src: /src/glib/glib/gspawn-posix.c:297,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn-posix.c:374,1
    - Dst: g_strerror
      Src: /src/glib/glib/gspawn-posix.c:378,1
    - Dst: g_string_free
      Src: /src/glib/glib/gspawn-posix.c:401,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn-posix.c:218,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gspawn-posix.c:283,1
    - Dst: g_clear_fd
      Src: /src/glib/glib/gspawn-posix.c:311,1
    - Dst: read_data
      Src: /src/glib/glib/gspawn-posix.c:323,1
    - Dst: waitpid
      Src: /src/glib/glib/gspawn-posix.c:349,1
    - Dst: g_warning
      Src: /src/glib/glib/gspawn-posix.c:359,1
    - Dst: g_string_free
      Src: /src/glib/glib/gspawn-posix.c:388,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 111
    argCount: 10
    argNames:
    - working_directory
    - argv
    - envp
    - flags
    - child_setup
    - user_data
    - standard_output
    - standard_error
    - wait_status
    - error
    argTypes:
    - gchar*
    - gchar**
    - gchar**
    - GSpawnFlags
    - GSpawnChildSetupFunc
    - gpointer
    - gchar**
    - gchar**
    - gint*
    - GError**
    constantsTouched: []
    func_position:
      end: 405
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 405
    functionName: g_spawn_sync_impl
    functionSourceFile: /src/glib/glib/gspawn-posix.c
    functionUses: []
    functionsReached:
    - g_set_error
    - fork_exec
    - g_return_val_if_fail
    - g_warning
    - G_N_ELEMENTS
    - g_strerror
    - waitpid
    - g_poll
    - g_string_free
    - read_data
    - g_clear_fd
    - g_string_new
    - _
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_spawn_sync_impl (const gchar *working_directory, gchar
      **argv, gchar **envp, GSpawnFlags flags, GSpawnChildSetupFunc child_setup, gpointer
      user_data, gchar **standard_output, gchar **standard_error, gint *wait_status,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/glib/glib/gspawn-posix.c:594,1
    - Dst: fcntl
      Src: /src/glib/glib/gspawn-posix.c:605,1
    - Dst: fcntl
      Src: /src/glib/glib/gspawn-posix.c:609,1
    - Dst: fcntl
      Src: /src/glib/glib/gspawn-posix.c:615,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - old_fd
    - new_fd_min
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 622
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 622
    functionName: dupfd_cloexec
    functionSourceFile: /src/glib/glib/gspawn-posix.c
    functionUses: []
    functionsReached:
    - fcntl
    linkageType: ''
    returnType: int
    signature: 'static int dupfd_cloexec (int old_fd, int new_fd_min) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/glib/glib/gspawn-posix.c:670,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - gint
    constantsTouched: []
    func_position:
      end: 674
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 674
    functionName: safe_open
    functionSourceFile: /src/glib/glib/gspawn-posix.c
    functionUses: []
    functionsReached:
    - open
    linkageType: ''
    returnType: gint
    signature: 'static gint safe_open (const char *path, gint mode) '
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: chdir
      Src: /src/glib/glib/gspawn-posix.c:717,1
    - Dst: write_err_and_exit
      Src: /src/glib/glib/gspawn-posix.c:762,1
    - Dst: relocate_fd_out_of_standard_range
      Src: /src/glib/glib/gspawn-posix.c:780,1
    - Dst: safe_dup2
      Src: /src/glib/glib/gspawn-posix.c:801,1
    - Dst: write_err_and_exit
      Src: /src/glib/glib/gspawn-posix.c:802,1
    - Dst: write_err_and_exit
      Src: /src/glib/glib/gspawn-posix.c:831,1
    - Dst: set_cloexec
      Src: /src/glib/glib/gspawn-posix.c:850,1
    - Dst: write_err_and_exit
      Src: /src/glib/glib/gspawn-posix.c:885,1
    - Dst: unset_cloexec
      Src: /src/glib/glib/gspawn-posix.c:910,1
    - Dst: g_execute
      Src: /src/glib/glib/gspawn-posix.c:938,1
    - Dst: write_err_and_exit
      Src: /src/glib/glib/gspawn-posix.c:822,1
    - Dst: MAX
      Src: /src/glib/glib/gspawn-posix.c:880,1
    - Dst: write_err_and_exit
      Src: /src/glib/glib/gspawn-posix.c:899,1
    - Dst: write_err_and_exit
      Src: /src/glib/glib/gspawn-posix.c:718,1
    - Dst: IS_STD_FILENO
      Src: /src/glib/glib/gspawn-posix.c:728,1
    - Dst: safe_dup2
      Src: /src/glib/glib/gspawn-posix.c:751,1
    - Dst: write_err_and_exit
      Src: /src/glib/glib/gspawn-posix.c:752,1
    - Dst: safe_open
      Src: /src/glib/glib/gspawn-posix.c:760,1
    - Dst: safe_dup2
      Src: /src/glib/glib/gspawn-posix.c:789,1
    - Dst: g_clear_fd
      Src: /src/glib/glib/gspawn-posix.c:767,1
    - Dst: write_err_and_exit
      Src: /src/glib/glib/gspawn-posix.c:790,1
    - Dst: relocate_fd_out_of_standard_range
      Src: /src/glib/glib/gspawn-posix.c:809,1
    - Dst: write_err_and_exit
      Src: /src/glib/glib/gspawn-posix.c:810,1
    - Dst: dupfd_cloexec
      Src: /src/glib/glib/gspawn-posix.c:897,1
    - Dst: g_clear_fd
      Src: /src/glib/glib/gspawn-posix.c:927,1
    - Dst: set_cloexec
      Src: /src/glib/glib/gspawn-posix.c:825,1
    - Dst: write_err_and_exit
      Src: /src/glib/glib/gspawn-posix.c:765,1
    - Dst: write_err_and_exit
      Src: /src/glib/glib/gspawn-posix.c:781,1
    - Dst: safe_dup2
      Src: /src/glib/glib/gspawn-posix.c:764,1
    - Dst: IS_STD_FILENO
      Src: /src/glib/glib/gspawn-posix.c:776,1
    - Dst: write_err_and_exit
      Src: /src/glib/glib/gspawn-posix.c:799,1
    - Dst: safe_dup2
      Src: /src/glib/glib/gspawn-posix.c:833,1
    - Dst: write_err_and_exit
      Src: /src/glib/glib/gspawn-posix.c:834,1
    - Dst: dupfd_cloexec
      Src: /src/glib/glib/gspawn-posix.c:919,1
    - Dst: write_err_and_exit
      Src: /src/glib/glib/gspawn-posix.c:921,1
    - Dst: safe_dup2
      Src: /src/glib/glib/gspawn-posix.c:924,1
    - Dst: g_closefrom
      Src: /src/glib/glib/gspawn-posix.c:851,1
    - Dst: g_fdwalk_set_cloexec
      Src: /src/glib/glib/gspawn-posix.c:857,1
    - Dst: g_clear_fd
      Src: /src/glib/glib/gspawn-posix.c:836,1
    - Dst: safe_dup2
      Src: /src/glib/glib/gspawn-posix.c:848,1
    - Dst: write_err_and_exit
      Src: /src/glib/glib/gspawn-posix.c:944,1
    - Dst: safe_open
      Src: /src/glib/glib/gspawn-posix.c:829,1
    - Dst: set_cloexec
      Src: /src/glib/glib/gspawn-posix.c:864,1
    - Dst: write_err_and_exit
      Src: /src/glib/glib/gspawn-posix.c:733,1
    - Dst: relocate_fd_out_of_standard_range
      Src: /src/glib/glib/gspawn-posix.c:732,1
    - Dst: IS_VALID_FILENO
      Src: /src/glib/glib/gspawn-posix.c:749,1
    - Dst: set_cloexec
      Src: /src/glib/glib/gspawn-posix.c:755,1
    - Dst: IS_VALID_FILENO
      Src: /src/glib/glib/gspawn-posix.c:787,1
    - Dst: set_cloexec
      Src: /src/glib/glib/gspawn-posix.c:793,1
    - Dst: safe_open
      Src: /src/glib/glib/gspawn-posix.c:797,1
    - Dst: g_clear_fd
      Src: /src/glib/glib/gspawn-posix.c:804,1
    - Dst: IS_STD_FILENO
      Src: /src/glib/glib/gspawn-posix.c:807,1
    - Dst: IS_VALID_FILENO
      Src: /src/glib/glib/gspawn-posix.c:819,1
    - Dst: write_err_and_exit
      Src: /src/glib/glib/gspawn-posix.c:849,1
    - Dst: write_err_and_exit
      Src: /src/glib/glib/gspawn-posix.c:852,1
    - Dst: write_err_and_exit
      Src: /src/glib/glib/gspawn-posix.c:858,1
    - Dst: write_err_and_exit
      Src: /src/glib/glib/gspawn-posix.c:925,1
    - Dst: safe_dup2
      Src: /src/glib/glib/gspawn-posix.c:821,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 143
    argCount: 22
    argNames:
    - child_err_report_fd
    - stdin_fd
    - stdout_fd
    - stderr_fd
    - source_fds
    - target_fds
    - n_fds
    - working_directory
    - argv
    - argv_buffer
    - argv_buffer_len
    - envp
    - close_descriptors
    - search_path
    - search_path_buffer
    - search_path_buffer_len
    - stdout_to_null
    - stderr_to_null
    - child_inherits_stdin
    - file_and_argv_zero
    - child_setup
    - user_data
    argTypes:
    - gint
    - gint
    - gint
    - gint
    - gint*
    - gint*
    - gsize
    - gchar*
    - gchar**
    - gchar**
    - gsize
    - gchar**
    - gboolean
    - gchar*
    - gchar*
    - gsize
    - gboolean
    - gboolean
    - gboolean
    - gboolean
    - GSpawnChildSetupFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 946
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 946
    functionName: do_exec
    functionSourceFile: /src/glib/glib/gspawn-posix.c
    functionUses: []
    functionsReached:
    - relocate_fd_out_of_standard_range
    - unset_cloexec
    - IS_VALID_FILENO
    - g_fdwalk_set_cloexec
    - safe_dup2
    - set_cloexec
    - MAX
    - dupfd_cloexec
    - g_clear_fd
    - g_closefrom
    - g_execute
    - chdir
    - write_err_and_exit
    - IS_STD_FILENO
    - safe_open
    linkageType: ''
    returnType: void
    signature: 'static void do_exec (gint child_err_report_fd, gint stdin_fd, gint
      stdout_fd, gint stderr_fd, gint *source_fds, const gint *target_fds, gsize n_fds,
      const gchar *working_directory, const gchar * const *argv, gchar **argv_buffer,
      gsize argv_buffer_len, const gchar * const *envp, gboolean close_descriptors,
      const gchar *search_path, gchar *search_path_buffer, gsize search_path_buffer_len,
      gboolean stdout_to_null, gboolean stderr_to_null, gboolean child_inherits_stdin,
      gboolean file_and_argv_zero, GSpawnChildSetupFunc child_setup, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_spawn_invalid_source_fd
      Src: /src/glib/glib/gspawn-posix.c:1243,1
    - Dst: _g_spawn_invalid_source_fd
      Src: /src/glib/glib/gspawn-posix.c:1244,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 4
    argNames:
    - pipefd
    - source_fds
    - n_fds
    - error
    argTypes:
    - GUnixPipe*
    - int*
    - gsize
    - GError**
    constantsTouched: []
    func_position:
      end: 1245
      start: 1237
    functionDepth: 0
    functionLinenumber: 1237
    functionLinenumberEnd: 1245
    functionName: source_fds_collide_with_pipe
    functionSourceFile: /src/glib/glib/gspawn-posix.c
    functionUses: []
    functionsReached:
    - _g_spawn_invalid_source_fd
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean source_fds_collide_with_pipe (const GUnixPipe *pipefd,
      const int *source_fds, gsize n_fds, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/glib/glib/gspawn-posix.c:169,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn-posix.c:184,1
    - Dst: _
      Src: /src/glib/glib/gspawn-posix.c:187,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gspawn-posix.c:175,1
    - Dst: g_strerror
      Src: /src/glib/glib/gspawn-posix.c:188,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - str
    - fd
    - error
    argTypes:
    - GString*
    - gint
    - GError**
    constantsTouched: []
    func_position:
      end: 192
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 192
    functionName: read_data
    functionSourceFile: /src/glib/glib/gspawn-posix.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_string_append_len
    - g_strerror
    - _
    - read
    linkageType: ''
    returnType: ReadResult
    signature: 'static ReadResult read_data (GString *str, gint fd, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn-posix.c:426,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn-posix.c:427,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn-posix.c:430,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn-posix.c:429,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn-posix.c:431,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn-posix.c:433,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn-posix.c:434,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn-posix.c:435,1
    - Dst: fork_exec
      Src: /src/glib/glib/gspawn-posix.c:444,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 54
    argCount: 17
    argNames:
    - working_directory
    - argv
    - envp
    - flags
    - child_setup
    - user_data
    - stdin_fd
    - stdout_fd
    - stderr_fd
    - source_fds
    - target_fds
    - n_fds
    - child_pid_out
    - stdin_pipe_out
    - stdout_pipe_out
    - stderr_pipe_out
    - error
    argTypes:
    - gchar*
    - gchar**
    - gchar**
    - GSpawnFlags
    - GSpawnChildSetupFunc
    - gpointer
    - gint
    - gint
    - gint
    - gint*
    - gint*
    - gsize
    - GPid*
    - gint*
    - gint*
    - gint*
    - GError**
    constantsTouched: []
    func_position:
      end: 469
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 469
    functionName: g_spawn_async_with_pipes_and_fds_impl
    functionSourceFile: /src/glib/glib/gspawn-posix.c
    functionUses: []
    functionsReached:
    - fork_exec
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_spawn_async_with_pipes_and_fds_impl (const gchar *working_directory,
      const gchar * const *argv, const gchar * const *envp, GSpawnFlags flags, GSpawnChildSetupFunc
      child_setup, gpointer user_data, gint stdin_fd, gint stdout_fd, gint stderr_fd,
      const gint *source_fds, const gint *target_fds, gsize n_fds, GPid *child_pid_out,
      gint *stdin_pipe_out, gint *stdout_pipe_out, gint *stderr_pipe_out, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/glib/glib/gspawn-posix.c:967,1
    - Dst: _
      Src: /src/glib/glib/gspawn-posix.c:981,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn-posix.c:978,1
    - Dst: g_strerror
      Src: /src/glib/glib/gspawn-posix.c:982,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 5
    argNames:
    - fd
    - buf
    - n_ints_in_buf
    - n_ints_read
    - error
    argTypes:
    - int
    - gint*
    - gint
    - gint*
    - GError**
    constantsTouched: []
    func_position:
      end: 995
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 995
    functionName: read_ints
    functionSourceFile: /src/glib/glib/gspawn-posix.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_strerror
    - read
    - _
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean read_ints (int fd, gint* buf, gint n_ints_in_buf,
      gint *n_ints_read, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/glib/glib/gspawn-posix.c:522,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - fd
    - vbuf
    - to_write
    argTypes:
    - gint
    - gconstpointer
    - gsize
    constantsTouched: []
    func_position:
      end: 536
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 536
    functionName: write_all
    functionSourceFile: /src/glib/glib/gspawn-posix.c
    functionUses: []
    functionsReached:
    - write
    linkageType: ''
    returnType: gssize
    signature: 'static gssize write_all (gint fd, gconstpointer vbuf, gsize to_write) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/glib/glib/gspawn-posix.c:559,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 560
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 560
    functionName: set_cloexec
    functionSourceFile: /src/glib/glib/gspawn-posix.c
    functionUses: []
    functionsReached:
    - fcntl
    linkageType: ''
    returnType: void
    signature: 'static void set_cloexec (int fd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/glib/glib/gspawn-posix.c:570,1
    - Dst: fcntl
      Src: /src/glib/glib/gspawn-posix.c:578,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 583
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 583
    functionName: unset_cloexec
    functionSourceFile: /src/glib/glib/gspawn-posix.c
    functionUses: []
    functionsReached:
    - fcntl
    linkageType: ''
    returnType: void
    signature: 'static void unset_cloexec (int fd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dup2
      Src: /src/glib/glib/gspawn-posix.c:632,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - fd1
    - fd2
    argTypes:
    - gint
    - gint
    constantsTouched: []
    func_position:
      end: 636
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 636
    functionName: safe_dup2
    functionSourceFile: /src/glib/glib/gspawn-posix.c
    functionUses: []
    functionsReached:
    - dup2
    linkageType: ''
    returnType: gint
    signature: 'static gint safe_dup2 (gint fd1, gint fd2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GPid
    constantsTouched: []
    func_position:
      end: 1993
      start: 1989
    functionDepth: 0
    functionLinenumber: 1989
    functionLinenumberEnd: 1993
    functionName: g_spawn_close_pid_impl
    functionSourceFile: /src/glib/glib/gspawn-posix.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void g_spawn_close_pid_impl (GPid pid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/glib/glib/gspawn-posix.c:647,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - fd
    argTypes:
    - gint*
    constantsTouched: []
    func_position:
      end: 660
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 660
    functionName: relocate_fd_out_of_standard_range
    functionSourceFile: /src/glib/glib/gspawn-posix.c
    functionUses: []
    functionsReached:
    - fcntl
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean relocate_fd_out_of_standard_range (gint *fd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gprimes.c:92,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gprimes.c:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - num
    argTypes:
    - guint
    constantsTouched: []
    func_position:
      end: 97
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 97
    functionName: g_spaced_primes_closest
    functionSourceFile: /src/glib/glib/gprimes.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    linkageType: ''
    returnType: guint
    signature: 'guint g_spaced_primes_closest (guint num) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 39
    functionName: typedef
    functionSourceFile: /src/glib/glib/grcboxprivate.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: G_BEGIN_DECLS
    signature: 'G_BEGIN_DECLS typedef struct '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/grefcount.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - rc
    argTypes:
    - grefcount*
    constantsTouched: []
    func_position:
      end: 84
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 84
    functionName: (g_ref_count_init)
    functionSourceFile: /src/glib/glib/grefcount.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void (g_ref_count_init) (grefcount *rc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/grefcount.c:169,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/grefcount.c:170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - rc
    - val
    argTypes:
    - grefcount*
    - gint
    constantsTouched: []
    func_position:
      end: 178
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 178
    functionName: (g_ref_count_compare)
    functionSourceFile: /src/glib/glib/grefcount.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean (g_ref_count_compare) (grefcount *rc, gint val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/grefcount.c:136,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/grefcount.c:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - rc
    argTypes:
    - grefcount*
    constantsTouched: []
    func_position:
      end: 149
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 149
    functionName: (g_ref_count_dec)
    functionSourceFile: /src/glib/glib/grefcount.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean (g_ref_count_dec) (grefcount *rc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/grefcount.c:245,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/grefcount.c:247,1
    - Dst: g_atomic_int_add
      Src: /src/glib/glib/grefcount.c:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - arc
    argTypes:
    - gatomicrefcount*
    constantsTouched: []
    func_position:
      end: 250
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 250
    functionName: (g_atomic_ref_count_dec)
    functionSourceFile: /src/glib/glib/grefcount.c
    functionUses: []
    functionsReached:
    - g_atomic_int_add
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean (g_atomic_ref_count_dec) (gatomicrefcount *arc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/grefcount.c:268,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/grefcount.c:271,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/grefcount.c:269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - arc
    - val
    argTypes:
    - gatomicrefcount*
    - gint
    constantsTouched: []
    func_position:
      end: 272
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 272
    functionName: (g_atomic_ref_count_compare)
    functionSourceFile: /src/glib/glib/grefcount.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_atomic_int_get
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean (g_atomic_ref_count_compare) (gatomicrefcount *arc, gint
      val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/grefcount.c:99,1
    - Dst: g_critical
      Src: /src/glib/glib/grefcount.c:108,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/grefcount.c:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - rc
    argTypes:
    - grefcount*
    constantsTouched: []
    func_position:
      end: 115
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 115
    functionName: (g_ref_count_inc)
    functionSourceFile: /src/glib/glib/grefcount.c
    functionUses: []
    functionsReached:
    - g_critical
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void (g_ref_count_inc) (grefcount *rc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/grefcount.c:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - arc
    argTypes:
    - gatomicrefcount*
    constantsTouched: []
    func_position:
      end: 203
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 203
    functionName: (g_atomic_ref_count_init)
    functionSourceFile: /src/glib/glib/grefcount.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void (g_atomic_ref_count_init) (gatomicrefcount *arc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/grefcount.c:218,1
    - Dst: g_critical
      Src: /src/glib/glib/grefcount.c:223,1
    - Dst: g_atomic_int_add
      Src: /src/glib/glib/grefcount.c:219,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/grefcount.c:220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - arc
    argTypes:
    - gatomicrefcount*
    constantsTouched: []
    func_position:
      end: 224
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 224
    functionName: (g_atomic_ref_count_inc)
    functionSourceFile: /src/glib/glib/grefcount.c
    functionUses: []
    functionsReached:
    - g_atomic_int_add
    - g_critical
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void (g_atomic_ref_count_inc) (gatomicrefcount *arc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_constant_p
      Src: /src/glib/glib/gstrfuncs.h:310,1
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.h:315,1
    - Dst: strlen
      Src: /src/glib/glib/gstrfuncs.h:313,1
    - Dst: __builtin_constant_p
      Src: /src/glib/glib/gstrfuncs.h:313,1
    - Dst: __builtin_constant_p
      Src: /src/glib/glib/gstrfuncs.h:313,1
    - Dst: g_malloc
      Src: /src/glib/glib/gstrfuncs.h:316,1
    - Dst: memcpy
      Src: /src/glib/glib/gstrfuncs.h:317,1
    - Dst: g_strdup
      Src: /src/glib/glib/gstrfuncs.h:320,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 321
    functionName: g_strdup_inline
    functionSourceFile: /src/glib/glib/gstrfuncs.h
    functionUses: []
    functionsReached:
    - memcpy
    - g_strdup
    - strlen
    - __builtin_constant_p
    - g_malloc
    linkageType: ''
    returnType: G_ALWAYS_INLINE*
    signature: 'G_ALWAYS_INLINE static inline char *g_strdup_inline (const char *str) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/glib/gstrfuncs.h:489,1
    - Dst: g_free
      Src: /src/glib/glib/gstrfuncs.h:493,1
    - Dst: g_strdup
      Src: /src/glib/glib/gstrfuncs.h:492,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 2
    argNames:
    - str_pointer
    - new_str
    argTypes:
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 497
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 497
    functionName: g_set_str
    functionSourceFile: /src/glib/glib/gstrfuncs.h
    functionUses: []
    functionsReached:
    - g_free
    - g_strdup
    - strcmp
    linkageType: ''
    returnType: GLIB_AVAILABLE_STATIC_INLINE_IN_2_76
    signature: 'GLIB_AVAILABLE_STATIC_INLINE_IN_2_76 static inline gboolean g_set_str
      (char **str_pointer, const char *new_str) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: token_stream_prepare
      Src: /src/glib/glib/gvariant-parser.c:293,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - stream
    - first_char
    - second_char
    argTypes:
    - TokenStream*
    - gchar
    - gchar
    constantsTouched: []
    func_position:
      end: 299
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 299
    functionName: token_stream_peek2
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - token_stream_prepare
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean token_stream_peek2 (TokenStream *stream, gchar first_char,
      gchar second_char) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 561
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 561
    functionName: ast_get_value
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *ast_get_value (AST *ast, const GVariantType *type,
      GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/gvariant-parser.c:1336,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:1351,1
    - Dst: abs
      Src: /src/glib/glib/gvariant-parser.c:1339,1
    - Dst: strchr
      Src: /src/glib/glib/gvariant-parser.c:1356,1
    - Dst: ast_array_get_pattern
      Src: /src/glib/glib/gvariant-parser.c:1338,1
    - Dst: ast_set_error
      Src: /src/glib/glib/gvariant-parser.c:1358,1
    - Dst: ast_get_pattern
      Src: /src/glib/glib/gvariant-parser.c:1364,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gvariant-parser.c:1369,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:1372,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1325
    functionDepth: 0
    functionLinenumber: 1325
    functionLinenumberEnd: 1375
    functionName: dictionary_get_pattern
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_strdup_printf
    - ast_set_error
    - ast_array_get_pattern
    - abs
    - strchr
    - g_free
    - ast_get_pattern
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *dictionary_get_pattern (AST *ast, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-parser.c:1653,1
    - Dst: g_ascii_strtoull
      Src: /src/glib/glib/gvariant-parser.c:1662,1
    - Dst: g_ascii_isxdigit
      Src: /src/glib/glib/gvariant-parser.c:1658,1
    - Dst: strncpy
      Src: /src/glib/glib/gvariant-parser.c:1654,1
    - Dst: parser_set_error
      Src: /src/glib/glib/gvariant-parser.c:1672,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-parser.c:1678,1
    - Dst: g_unichar_to_utf8
      Src: /src/glib/glib/gvariant-parser.c:1680,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 7
    argNames:
    - src
    - src_ofs
    - dest
    - dest_ofs
    - length
    - ref
    - error
    argTypes:
    - gchar*
    - gint*
    - gchar*
    - gint*
    - gsize
    - SourceRef*
    - GError**
    constantsTouched: []
    func_position:
      end: 1684
      start: 1637
    functionDepth: 0
    functionLinenumber: 1637
    functionLinenumberEnd: 1684
    functionName: unicode_unescape
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_ascii_strtoull
    - g_assert
    - strncpy
    - g_unichar_to_utf8
    - parser_set_error
    - g_ascii_isxdigit
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean unicode_unescape (const gchar *src, gint *src_ofs,
      gchar *dest, gint *dest_ofs, gsize length, SourceRef *ref, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: token_stream_prepare
      Src: /src/glib/glib/gvariant-parser.c:304,1
    - Dst: g_ascii_isalpha
      Src: /src/glib/glib/gvariant-parser.c:309,1
    - Dst: g_ascii_isalpha
      Src: /src/glib/glib/gvariant-parser.c:308,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - stream
    argTypes:
    - TokenStream*
    constantsTouched: []
    func_position:
      end: 310
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 310
    functionName: token_stream_is_keyword
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_ascii_isalpha
    - token_stream_prepare
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean token_stream_is_keyword (TokenStream *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ast
    argTypes:
    - AST*
    constantsTouched: []
    func_position:
      end: 567
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 567
    functionName: ast_free
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ast_free (AST *ast) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/gvariant-parser.c:983,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gvariant-parser.c:990,1
    - Dst: ast_array_get_pattern
      Src: /src/glib/glib/gvariant-parser.c:985,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:991,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 994
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 994
    functionName: array_get_pattern
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_free
    - g_strdup
    - g_strdup_printf
    - ast_array_get_pattern
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *array_get_pattern (AST *ast, GError **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ast_type_error
      Src: /src/glib/glib/gvariant-parser.c:1391,1
    - Dst: g_variant_builder_clear
      Src: /src/glib/glib/gvariant-parser.c:1398,1
    - Dst: g_variant_type_value
      Src: /src/glib/glib/gvariant-parser.c:1403,1
    - Dst: ast_get_value
      Src: /src/glib/glib/gvariant-parser.c:1404,1
    - Dst: g_variant_builder_end
      Src: /src/glib/glib/gvariant-parser.c:1411,1
    - Dst: g_variant_type_value
      Src: /src/glib/glib/gvariant-parser.c:1424,1
    - Dst: g_variant_type_key
      Src: /src/glib/glib/gvariant-parser.c:1423,1
    - Dst: g_variant_builder_init_static
      Src: /src/glib/glib/gvariant-parser.c:1426,1
    - Dst: g_variant_type_element
      Src: /src/glib/glib/gvariant-parser.c:1422,1
    - Dst: ast_get_value
      Src: /src/glib/glib/gvariant-parser.c:1434,1
    - Dst: g_variant_builder_close
      Src: /src/glib/glib/gvariant-parser.c:1447,1
    - Dst: g_variant_type_is_dict_entry
      Src: /src/glib/glib/gvariant-parser.c:1390,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/glib/gvariant-parser.c:1401,1
    - Dst: ast_type_error
      Src: /src/glib/glib/gvariant-parser.c:1420,1
    - Dst: ast_get_value
      Src: /src/glib/glib/gvariant-parser.c:1396,1
    - Dst: g_variant_type_key
      Src: /src/glib/glib/gvariant-parser.c:1395,1
    - Dst: g_variant_builder_clear
      Src: /src/glib/glib/gvariant-parser.c:1406,1
    - Dst: g_variant_type_is_subtype_of
      Src: /src/glib/glib/gvariant-parser.c:1419,1
    - Dst: g_variant_builder_open
      Src: /src/glib/glib/gvariant-parser.c:1432,1
    - Dst: g_variant_builder_clear
      Src: /src/glib/glib/gvariant-parser.c:1436,1
    - Dst: ast_get_value
      Src: /src/glib/glib/gvariant-parser.c:1441,1
    - Dst: g_variant_builder_init_static
      Src: /src/glib/glib/gvariant-parser.c:1393,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/glib/gvariant-parser.c:1409,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/glib/gvariant-parser.c:1439,1
    - Dst: g_variant_builder_clear
      Src: /src/glib/glib/gvariant-parser.c:1443,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/glib/gvariant-parser.c:1446,1
    - Dst: g_variant_builder_end
      Src: /src/glib/glib/gvariant-parser.c:1450,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1452
      start: 1377
    functionDepth: 0
    functionLinenumber: 1377
    functionLinenumberEnd: 1452
    functionName: dictionary_get_value
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_variant_type_is_dict_entry
    - g_variant_type_is_subtype_of
    - g_variant_builder_close
    - ast_get_value
    - ast_type_error
    - g_variant_builder_init_static
    - g_variant_type_key
    - g_variant_builder_clear
    - g_variant_builder_add_value
    - g_variant_type_value
    - g_variant_type_element
    - g_variant_builder_end
    - g_variant_builder_open
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *dictionary_get_value (AST *ast, const GVariantType
      *type, GError **error) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/glib/gvariant-parser.c:1707,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-parser.c:1714,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:1725,1
    - Dst: parser_set_error
      Src: /src/glib/glib/gvariant-parser.c:1732,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:1742,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:1751,1
    - Dst: g_slice_new
      Src: /src/glib/glib/gvariant-parser.c:1775,1
    - Dst: token_stream_next
      Src: /src/glib/glib/gvariant-parser.c:1779,1
    - Dst: token_stream_get
      Src: /src/glib/glib/gvariant-parser.c:1705,1
    - Dst: token_stream_end_ref
      Src: /src/glib/glib/gvariant-parser.c:1706,1
    - Dst: parser_set_error
      Src: /src/glib/glib/gvariant-parser.c:1721,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:1735,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:1736,1
    - Dst: token_stream_start_ref
      Src: /src/glib/glib/gvariant-parser.c:1704,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:1724,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:1773,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:1743,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:1752,1
    - Dst: g_malloc
      Src: /src/glib/glib/gvariant-parser.c:1713,1
    - Dst: unicode_unescape
      Src: /src/glib/glib/gvariant-parser.c:1740,1
    - Dst: unicode_unescape
      Src: /src/glib/glib/gvariant-parser.c:1749,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1782
      start: 1686
    functionDepth: 0
    functionLinenumber: 1686
    functionLinenumberEnd: 1782
    functionName: string_parse
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - token_stream_next
    - strlen
    - g_assert
    - parser_set_error
    - token_stream_start_ref
    - token_stream_end_ref
    - g_malloc
    - g_slice_new
    - g_free
    - token_stream_get
    - unicode_unescape
    linkageType: ''
    returnType: AST*
    signature: 'static AST *string_parse (TokenStream *stream, va_list *app, GError
      **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gvariant-parser.c:169,1
    - Dst: va_end
      Src: /src/glib/glib/gvariant-parser.c:171,1
    - Dst: parser_set_error_va
      Src: /src/glib/glib/gvariant-parser.c:170,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 5
    argNames:
    - stream
    - error
    - this_token
    - code
    - format
    - '...'
    argTypes:
    - TokenStream*
    - GError**
    - gboolean
    - gint
    - gchar*
    constantsTouched: []
    func_position:
      end: 172
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 172
    functionName: token_stream_set_error
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - va_start
    - parser_set_error_va
    - va_end
    linkageType: ''
    returnType: void
    signature: 'static void token_stream_set_error (TokenStream *stream, GError **error,
      gboolean this_token, gint code, const gchar *format, ...) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/gvariant-parser.c:1589,1
    - Dst: ast_set_error
      Src: /src/glib/glib/gvariant-parser.c:1596,1
    - Dst: g_variant_new_string
      Src: /src/glib/glib/gvariant-parser.c:1590,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/gvariant-parser.c:1592,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/glib/gvariant-parser.c:1594,1
    - Dst: g_variant_new_object_path
      Src: /src/glib/glib/gvariant-parser.c:1602,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/gvariant-parser.c:1605,1
    - Dst: g_variant_is_signature
      Src: /src/glib/glib/gvariant-parser.c:1607,1
    - Dst: ast_set_error
      Src: /src/glib/glib/gvariant-parser.c:1609,1
    - Dst: g_variant_new_signature
      Src: /src/glib/glib/gvariant-parser.c:1615,1
    - Dst: ast_type_error
      Src: /src/glib/glib/gvariant-parser.c:1619,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1620
      start: 1582
    functionDepth: 0
    functionLinenumber: 1582
    functionLinenumberEnd: 1620
    functionName: string_get_value
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_variant_type_equal
    - g_variant_new_signature
    - g_variant_is_signature
    - ast_type_error
    - ast_set_error
    - g_variant_new_string
    - g_variant_is_object_path
    - g_variant_new_object_path
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *string_get_value (AST *ast, const GVariantType *type,
      GError **error) '
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_isspace
      Src: /src/glib/glib/gvariant-parser.c:183,1
    - Dst: g_ascii_isalnum
      Src: /src/glib/glib/gvariant-parser.c:198,1
    - Dst: g_ascii_isspace
      Src: /src/glib/glib/gvariant-parser.c:246,1
    - Dst: g_ascii_isalnum
      Src: /src/glib/glib/gvariant-parser.c:225,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-parser.c:266,1
    CyclomaticComplexity: 91
    EdgeCount: 91
    ICount: 91
    argCount: 1
    argNames:
    - stream
    argTypes:
    - TokenStream*
    constantsTouched: []
    func_position:
      end: 269
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 269
    functionName: token_stream_prepare
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_ascii_isspace
    - g_assert
    - g_ascii_isalnum
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean token_stream_prepare (TokenStream *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:1627,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gvariant-parser.c:1628,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - ast
    argTypes:
    - AST*
    constantsTouched: []
    func_position:
      end: 1629
      start: 1622
    functionDepth: 0
    functionLinenumber: 1622
    functionLinenumberEnd: 1629
    functionName: string_free
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void string_free (AST *ast) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_dup_string
      Src: /src/glib/glib/gvariant-parser.c:595,1
    - Dst: ast_set_error
      Src: /src/glib/glib/gvariant-parser.c:596,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:600,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 603
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 603
    functionName: ast_type_error
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_variant_type_dup_string
    - ast_set_error
    - g_free
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *ast_type_error (AST *ast, const GVariantType *type,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/gvariant-parser.c:1804,1
    - Dst: ast_type_error
      Src: /src/glib/glib/gvariant-parser.c:1805,1
    - Dst: g_variant_new_bytestring
      Src: /src/glib/glib/gvariant-parser.c:1807,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1808
      start: 1797
    functionDepth: 0
    functionLinenumber: 1797
    functionLinenumberEnd: 1808
    functionName: bytestring_get_value
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_variant_type_equal
    - ast_type_error
    - g_variant_new_bytestring
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *bytestring_get_value (AST *ast, const GVariantType
      *type, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: token_stream_get
      Src: /src/glib/glib/gvariant-parser.c:2229,1
    - Dst: token_stream_set_error
      Src: /src/glib/glib/gvariant-parser.c:2238,1
    - Dst: g_variant_new_va
      Src: /src/glib/glib/gvariant-parser.c:2234,1
    - Dst: g_slice_new
      Src: /src/glib/glib/gvariant-parser.c:2232,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-parser.c:2230,1
    - Dst: token_stream_next
      Src: /src/glib/glib/gvariant-parser.c:2245,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:2246,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2249
      start: 2215
    functionDepth: 0
    functionLinenumber: 2215
    functionLinenumberEnd: 2249
    functionName: positional_parse
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - token_stream_set_error
    - token_stream_next
    - g_assert
    - g_variant_new_va
    - g_slice_new
    - g_free
    - token_stream_get
    linkageType: ''
    returnType: AST*
    signature: 'static AST *positional_parse (TokenStream *stream, va_list *app, GError
      **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ast_get_pattern
      Src: /src/glib/glib/gvariant-parser.c:613,1
    - Dst: ast_set_error
      Src: /src/glib/glib/gvariant-parser.c:628,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:631,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/gvariant-parser.c:651,1
    - Dst: ast_get_value
      Src: /src/glib/glib/gvariant-parser.c:651,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:652,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 655
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 655
    functionName: ast_resolve
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - ast_get_value
    - ast_set_error
    - g_free
    - G_VARIANT_TYPE
    - ast_get_pattern
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *ast_resolve (AST *ast, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/gvariant-parser.c:1794,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1795
      start: 1790
    functionDepth: 0
    functionLinenumber: 1790
    functionLinenumberEnd: 1795
    functionName: bytestring_get_pattern
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_strdup
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *bytestring_get_pattern (AST *ast, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:1815,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gvariant-parser.c:1816,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - ast
    argTypes:
    - AST*
    constantsTouched: []
    func_position:
      end: 1817
      start: 1810
    functionDepth: 0
    functionLinenumber: 1810
    functionLinenumberEnd: 1817
    functionName: bytestring_free
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void bytestring_free (AST *ast) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: token_stream_consume
      Src: /src/glib/glib/gvariant-parser.c:857,1
    - Dst: parse
      Src: /src/glib/glib/gvariant-parser.c:859,1
    - Dst: g_slice_new
      Src: /src/glib/glib/gvariant-parser.c:872,1
    - Dst: token_stream_set_error
      Src: /src/glib/glib/gvariant-parser.c:866,1
    - Dst: token_stream_consume
      Src: /src/glib/glib/gvariant-parser.c:864,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 877
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 877
    functionName: maybe_parse
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_slice_new
    - parse
    - token_stream_consume
    - token_stream_set_error
    linkageType: ''
    returnType: AST*
    signature: 'static AST *maybe_parse (TokenStream *stream, guint max_depth, va_list
      *app, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/gvariant-parser.c:2176,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/glib/gvariant-parser.c:2176,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2177
      start: 2170
    functionDepth: 0
    functionLinenumber: 2170
    functionLinenumberEnd: 2177
    functionName: positional_get_pattern
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_variant_get_type_string
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *positional_get_pattern (AST *ast, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_is_maybe
      Src: /src/glib/glib/gvariant-parser.c:896,1
    - Dst: g_variant_is_trusted
      Src: /src/glib/glib/gvariant-parser.c:924,1
    - Dst: g_variant_type_info_unref
      Src: /src/glib/glib/gvariant-parser.c:940,1
    - Dst: g_bytes_new_take
      Src: /src/glib/glib/gvariant-parser.c:957,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gvariant-parser.c:957,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/gvariant-parser.c:959,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gvariant-parser.c:902,1
    - Dst: g_variant_store
      Src: /src/glib/glib/gvariant-parser.c:951,1
    - Dst: g_variant_new_from_bytes
      Src: /src/glib/glib/gvariant-parser.c:958,1
    - Dst: g_variant_type_info_query
      Src: /src/glib/glib/gvariant-parser.c:939,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/gvariant-parser.c:942,1
    - Dst: g_malloc
      Src: /src/glib/glib/gvariant-parser.c:950,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gvariant-parser.c:963,1
    - Dst: g_variant_type_element
      Src: /src/glib/glib/gvariant-parser.c:897,1
    - Dst: g_variant_type_info_get
      Src: /src/glib/glib/gvariant-parser.c:938,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-parser.c:944,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-parser.c:947,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant-parser.c:961,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 964
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 964
    functionName: maybe_wrapper
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_assert
    - g_variant_type_is_maybe
    - g_variant_new_from_bytes
    - g_variant_get_size
    - g_variant_type_info_query
    - g_malloc
    - g_bytes_unref
    - g_variant_unref
    - g_bytes_new_take
    - g_variant_store
    - g_variant_is_trusted
    - g_variant_type_element
    - g_variant_type_info_unref
    - g_variant_type_info_get
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *maybe_wrapper (AST *ast, const GVariantType *type,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/gvariant-parser.c:1252,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1248
    functionDepth: 0
    functionLinenumber: 1248
    functionLinenumberEnd: 1253
    functionName: variant_get_pattern
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_strdup
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *variant_get_pattern (AST *ast, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/gvariant-parser.c:1579,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1580
      start: 1575
    functionDepth: 0
    functionLinenumber: 1575
    functionLinenumberEnd: 1580
    functionName: string_get_pattern
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_strdup
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *string_get_pattern (AST *ast, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/glib/gvariant-parser.c:2104,1
    - Dst: token_stream_next
      Src: /src/glib/glib/gvariant-parser.c:2107,1
    - Dst: token_stream_get
      Src: /src/glib/glib/gvariant-parser.c:2106,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2110
      start: 2092
    functionDepth: 0
    functionLinenumber: 2092
    functionLinenumberEnd: 2110
    functionName: number_parse
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - token_stream_next
    - g_slice_new
    - token_stream_get
    linkageType: ''
    returnType: AST*
    signature: 'static AST *number_parse (TokenStream *stream, va_list *app, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gvariant-parser.c:2702,1
    - Dst: va_end
      Src: /src/glib/glib/gvariant-parser.c:2704,1
    - Dst: g_variant_new_parsed_va
      Src: /src/glib/glib/gvariant-parser.c:2703,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2707
      start: 2695
    functionDepth: 0
    functionLinenumber: 2695
    functionLinenumberEnd: 2707
    functionName: g_variant_new_parsed
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - va_start
    - g_variant_new_parsed_va
    - va_end
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_new_parsed (const gchar *format, ...) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant-parser.c:2631,1
    - Dst: parse
      Src: /src/glib/glib/gvariant-parser.c:2638,1
    - Dst: ast_free
      Src: /src/glib/glib/gvariant-parser.c:2641,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant-parser.c:2632,1
    - Dst: ast_resolve
      Src: /src/glib/glib/gvariant-parser.c:2640,1
    - Dst: g_error
      Src: /src/glib/glib/gvariant-parser.c:2645,1
    - Dst: g_error
      Src: /src/glib/glib/gvariant-parser.c:2648,1
    - Dst: g_clear_error
      Src: /src/glib/glib/gvariant-parser.c:2650,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2653
      start: 2622
    functionDepth: 0
    functionLinenumber: 2622
    functionLinenumberEnd: 2653
    functionName: g_variant_new_parsed_va
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_return_val_if_fail
    - ast_free
    - ast_resolve
    - g_error
    - parse
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_new_parsed_va (const gchar *format, va_list *app) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - TokenStream*
    constantsTouched: []
    func_position:
      end: 275
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 275
    functionName: token_stream_next
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void token_stream_next (TokenStream *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: token_stream_prepare
      Src: /src/glib/glib/gvariant-parser.c:392,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - stream
    - ref
    argTypes:
    - TokenStream*
    - SourceRef*
    constantsTouched: []
    func_position:
      end: 394
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 394
    functionName: token_stream_start_ref
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - token_stream_prepare
    linkageType: ''
    returnType: void
    signature: 'static void token_stream_start_ref (TokenStream *stream, SourceRef
      *ref) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/glib/gvariant-parser.c:1051,1
    - Dst: parse
      Src: /src/glib/glib/gvariant-parser.c:1067,1
    - Dst: token_stream_require
      Src: /src/glib/glib/gvariant-parser.c:1062,1
    - Dst: token_stream_consume
      Src: /src/glib/glib/gvariant-parser.c:1057,1
    - Dst: token_stream_assert
      Src: /src/glib/glib/gvariant-parser.c:1056,1
    - Dst: ast_array_append
      Src: /src/glib/glib/gvariant-parser.c:1072,1
    - Dst: ast_array_free
      Src: /src/glib/glib/gvariant-parser.c:1079,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gvariant-parser.c:1080,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1037
    functionDepth: 0
    functionLinenumber: 1037
    functionLinenumberEnd: 1083
    functionName: array_parse
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - ast_array_free
    - token_stream_assert
    - ast_array_append
    - token_stream_require
    - g_slice_new
    - g_slice_free
    - parse
    - token_stream_consume
    linkageType: ''
    returnType: AST*
    signature: 'static AST *array_parse (TokenStream *stream, guint max_depth, va_list
      *app, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: token_stream_prepare
      Src: /src/glib/glib/gvariant-parser.c:281,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - stream
    - first_char
    argTypes:
    - TokenStream*
    - gchar
    constantsTouched: []
    func_position:
      end: 286
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 286
    functionName: token_stream_peek
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - token_stream_prepare
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean token_stream_peek (TokenStream *stream, gchar first_char) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - stream
    - ref
    argTypes:
    - TokenStream*
    - SourceRef*
    constantsTouched: []
    func_position:
      end: 401
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 401
    functionName: token_stream_end_ref
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void token_stream_end_ref (TokenStream *stream, SourceRef *ref) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/gvariant-parser.c:1263,1
    - Dst: ast_type_error
      Src: /src/glib/glib/gvariant-parser.c:1264,1
    - Dst: g_variant_new_variant
      Src: /src/glib/glib/gvariant-parser.c:1271,1
    - Dst: ast_resolve
      Src: /src/glib/glib/gvariant-parser.c:1266,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1272
      start: 1255
    functionDepth: 0
    functionLinenumber: 1255
    functionLinenumberEnd: 1272
    functionName: variant_get_value
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_variant_type_equal
    - ast_type_error
    - ast_resolve
    - g_variant_new_variant
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *variant_get_value (AST *ast, const GVariantType *type,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gvariant-parser.c:135,1
    - Dst: parser_set_error_va
      Src: /src/glib/glib/gvariant-parser.c:136,1
    - Dst: va_end
      Src: /src/glib/glib/gvariant-parser.c:137,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 5
    argNames:
    - error
    - location
    - other
    - code
    - format
    - '...'
    argTypes:
    - GError**
    - SourceRef*
    - SourceRef*
    - gint
    - gchar*
    constantsTouched: []
    func_position:
      end: 138
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 138
    functionName: parser_set_error
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - va_start
    - parser_set_error_va
    - va_end
    linkageType: ''
    returnType: void
    signature: 'static void parser_set_error (GError **error, SourceRef *location,
      SourceRef *other, gint code, const gchar *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ast_free
      Src: /src/glib/glib/gvariant-parser.c:1279,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gvariant-parser.c:1280,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - ast
    argTypes:
    - AST*
    constantsTouched: []
    func_position:
      end: 1281
      start: 1274
    functionDepth: 0
    functionLinenumber: 1274
    functionLinenumberEnd: 1281
    functionName: variant_free
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - ast_free
    linkageType: ''
    returnType: void
    signature: 'static void variant_free (AST *ast) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/glib/gvariant-parser.c:436,1
    - Dst: g_malloc
      Src: /src/glib/glib/gvariant-parser.c:450,1
    - Dst: pattern_copy
      Src: /src/glib/glib/gvariant-parser.c:467,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-parser.c:448,1
    - Dst: strlen
      Src: /src/glib/glib/gvariant-parser.c:436,1
    - Dst: strchr
      Src: /src/glib/glib/gvariant-parser.c:481,1
    - Dst: strchr
      Src: /src/glib/glib/gvariant-parser.c:487,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-parser.c:505,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:509,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 516
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 516
    functionName: pattern_coalesce
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - pattern_copy
    - strlen
    - g_assert
    - g_malloc
    - strchr
    - g_free
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *pattern_coalesce (const gchar *left, const gchar *right) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/gvariant-parser.c:2122,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2123
      start: 2118
    functionDepth: 0
    functionLinenumber: 2118
    functionLinenumberEnd: 2123
    functionName: boolean_get_pattern
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_strdup
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *boolean_get_pattern (AST *ast, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: token_stream_prepare
      Src: /src/glib/glib/gvariant-parser.c:315,1
    - Dst: g_ascii_isdigit
      Src: /src/glib/glib/gvariant-parser.c:319,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - stream
    argTypes:
    - TokenStream*
    constantsTouched: []
    func_position:
      end: 323
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 323
    functionName: token_stream_is_numeric
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_ascii_isdigit
    - token_stream_prepare
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean token_stream_is_numeric (TokenStream *stream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: token_stream_peek_string
      Src: /src/glib/glib/gvariant-parser.c:340,1
    - Dst: token_stream_next
      Src: /src/glib/glib/gvariant-parser.c:343,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - stream
    - token
    argTypes:
    - TokenStream*
    - gchar*
    constantsTouched: []
    func_position:
      end: 345
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 345
    functionName: token_stream_consume
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - token_stream_peek_string
    - token_stream_next
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean token_stream_consume (TokenStream *stream, const gchar
      *token) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 15
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - gchar**
    - gchar**
    constantsTouched: []
    func_position:
      end: 425
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 425
    functionName: pattern_copy
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void pattern_copy (gchar **out, const gchar **in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/glib/gvariant-parser.c:329,1
    - Dst: token_stream_prepare
      Src: /src/glib/glib/gvariant-parser.c:331,1
    - Dst: memcmp
      Src: /src/glib/glib/gvariant-parser.c:333,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - stream
    - token
    argTypes:
    - TokenStream*
    - gchar*
    constantsTouched: []
    func_position:
      end: 334
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 334
    functionName: token_stream_peek_string
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - memcmp
    - strlen
    - token_stream_prepare
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean token_stream_peek_string (TokenStream *stream, const
      gchar *token) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: token_stream_consume
      Src: /src/glib/glib/gvariant-parser.c:354,1
    - Dst: token_stream_set_error
      Src: /src/glib/glib/gvariant-parser.c:356,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 4
    argNames:
    - stream
    - token
    - purpose
    - error
    argTypes:
    - TokenStream*
    - gchar*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 363
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 363
    functionName: token_stream_require
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - token_stream_consume
    - token_stream_set_error
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean token_stream_require (TokenStream *stream, const gchar
      *token, const gchar *purpose, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/gvariant-parser.c:2132,1
    - Dst: g_variant_new_boolean
      Src: /src/glib/glib/gvariant-parser.c:2135,1
    - Dst: ast_type_error
      Src: /src/glib/glib/gvariant-parser.c:2133,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2136
      start: 2125
    functionDepth: 0
    functionLinenumber: 2125
    functionLinenumberEnd: 2136
    functionName: boolean_get_value
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_variant_type_equal
    - ast_type_error
    - g_variant_new_boolean
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *boolean_get_value (AST *ast, const GVariantType *type,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_parse_error_quark
      Src: /src/glib/glib/gvariant-parser.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: g_variant_parser_get_error_quark
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_variant_parse_error_quark
    linkageType: ''
    returnType: GQuark
    signature: 'GQuark g_variant_parser_get_error_quark (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ast_free
      Src: /src/glib/glib/gvariant-parser.c:681,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:682,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - array
    - n_items
    argTypes:
    - AST**
    - gint
    constantsTouched: []
    func_position:
      end: 683
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 683
    functionName: ast_array_free
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - ast_free
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void ast_array_free (AST **array, gint n_items) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 553
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 553
    functionName: ast_get_pattern
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *ast_get_pattern (AST *ast, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ast_get_pattern
      Src: /src/glib/glib/gvariant-parser.c:696,1
    - Dst: ast_get_pattern
      Src: /src/glib/glib/gvariant-parser.c:705,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:714,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:709,1
    - Dst: pattern_coalesce
      Src: /src/glib/glib/gvariant-parser.c:713,1
    - Dst: ast_set_error
      Src: /src/glib/glib/gvariant-parser.c:736,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:739,1
    - Dst: ast_get_pattern
      Src: /src/glib/glib/gvariant-parser.c:743,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-parser.c:744,1
    - Dst: pattern_coalesce
      Src: /src/glib/glib/gvariant-parser.c:746,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:748,1
    - Dst: ast_set_error
      Src: /src/glib/glib/gvariant-parser.c:756,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:747,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:759,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:768,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 772
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 772
    functionName: ast_array_get_pattern
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_assert
    - ast_set_error
    - g_free
    - ast_get_pattern
    - pattern_coalesce
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *ast_array_get_pattern (AST **array, gint n_items, GError
      **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/glib/glib/gvariant-parser.c:2918,1
    - Dst: parse_num
      Src: /src/glib/glib/gvariant-parser.c:2931,1
    - Dst: add_last_line
      Src: /src/glib/glib/gvariant-parser.c:2936,1
    - Dst: add_lines_from_range
      Src: /src/glib/glib/gvariant-parser.c:2939,1
    - Dst: strchr
      Src: /src/glib/glib/gvariant-parser.c:2950,1
    - Dst: g_string_free
      Src: /src/glib/glib/gvariant-parser.c:2975,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant-parser.c:2904,1
    - Dst: strchr
      Src: /src/glib/glib/gvariant-parser.c:2917,1
    - Dst: strlen
      Src: /src/glib/glib/gvariant-parser.c:2934,1
    - Dst: add_lines_from_range
      Src: /src/glib/glib/gvariant-parser.c:2968,1
    - Dst: g_string_new
      Src: /src/glib/glib/gvariant-parser.c:2923,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant-parser.c:2924,1
    - Dst: parse_num
      Src: /src/glib/glib/gvariant-parser.c:2952,1
    - Dst: parse_num
      Src: /src/glib/glib/gvariant-parser.c:2953,1
    - Dst: add_lines_from_range
      Src: /src/glib/glib/gvariant-parser.c:2956,1
    - Dst: parse_num
      Src: /src/glib/glib/gvariant-parser.c:2953,1
    - Dst: parse_num
      Src: /src/glib/glib/gvariant-parser.c:2965,1
    - Dst: strchr
      Src: /src/glib/glib/gvariant-parser.c:2916,1
    - Dst: parse_num
      Src: /src/glib/glib/gvariant-parser.c:2952,1
    - Dst: parse_num
      Src: /src/glib/glib/gvariant-parser.c:2965,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 65
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2976
      start: 2896
    functionDepth: 0
    functionLinenumber: 2896
    functionLinenumberEnd: 2976
    functionName: g_variant_parse_error_print_context
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - strlen
    - add_lines_from_range
    - strchr
    - g_string_free
    - parse_num
    - g_string_new
    - add_last_line
    - g_string_append
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_variant_parse_error_print_context (GError *error, const gchar
      *source_str) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant-parser.c:2546,1
    - Dst: ast_resolve
      Src: /src/glib/glib/gvariant-parser.c:2556,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant-parser.c:2547,1
    - Dst: ast_get_value
      Src: /src/glib/glib/gvariant-parser.c:2558,1
    - Dst: parse
      Src: /src/glib/glib/gvariant-parser.c:2553,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/gvariant-parser.c:2562,1
    - Dst: g_ascii_isspace
      Src: /src/glib/glib/gvariant-parser.c:2567,1
    - Dst: parser_set_error
      Src: /src/glib/glib/gvariant-parser.c:2575,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant-parser.c:2578,1
    - Dst: ast_free
      Src: /src/glib/glib/gvariant-parser.c:2587,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2591
      start: 2535
    functionDepth: 0
    functionLinenumber: 2535
    functionLinenumberEnd: 2591
    functionName: g_variant_parse
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - g_ascii_isspace
    - g_return_val_if_fail
    - ast_get_value
    - parser_set_error
    - g_variant_unref
    - ast_free
    - ast_resolve
    - parse
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_parse (const GVariantType *type, const gchar *text,
      const gchar *limit, const gchar **endptr, GError **error) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: array_parse
      Src: /src/glib/glib/gvariant-parser.c:2430,1
    - Dst: token_stream_start_ref
      Src: /src/glib/glib/gvariant-parser.c:2427,1
    - Dst: token_stream_peek
      Src: /src/glib/glib/gvariant-parser.c:2429,1
    - Dst: token_stream_peek
      Src: /src/glib/glib/gvariant-parser.c:2435,1
    - Dst: variant_parse
      Src: /src/glib/glib/gvariant-parser.c:2436,1
    - Dst: token_stream_is_numeric
      Src: /src/glib/glib/gvariant-parser.c:2450,1
    - Dst: token_stream_peek
      Src: /src/glib/glib/gvariant-parser.c:2456,1
    - Dst: token_stream_peek
      Src: /src/glib/glib/gvariant-parser.c:2464,1
    - Dst: token_stream_set_error
      Src: /src/glib/glib/gvariant-parser.c:2473,1
    - Dst: token_stream_end_ref
      Src: /src/glib/glib/gvariant-parser.c:2481,1
    - Dst: token_stream_peek
      Src: /src/glib/glib/gvariant-parser.c:2432,1
    - Dst: tuple_parse
      Src: /src/glib/glib/gvariant-parser.c:2433,1
    - Dst: token_stream_peek
      Src: /src/glib/glib/gvariant-parser.c:2438,1
    - Dst: boolean_new
      Src: /src/glib/glib/gvariant-parser.c:2448,1
    - Dst: dictionary_parse
      Src: /src/glib/glib/gvariant-parser.c:2439,1
    - Dst: positional_parse
      Src: /src/glib/glib/gvariant-parser.c:2442,1
    - Dst: token_stream_consume
      Src: /src/glib/glib/gvariant-parser.c:2447,1
    - Dst: number_parse
      Src: /src/glib/glib/gvariant-parser.c:2453,1
    - Dst: maybe_parse
      Src: /src/glib/glib/gvariant-parser.c:2457,1
    - Dst: bytestring_parse
      Src: /src/glib/glib/gvariant-parser.c:2469,1
    - Dst: token_stream_peek
      Src: /src/glib/glib/gvariant-parser.c:2455,1
    - Dst: token_stream_peek
      Src: /src/glib/glib/gvariant-parser.c:2459,1
    - Dst: token_stream_is_keyword
      Src: /src/glib/glib/gvariant-parser.c:2460,1
    - Dst: token_stream_peek
      Src: /src/glib/glib/gvariant-parser.c:2463,1
    - Dst: string_parse
      Src: /src/glib/glib/gvariant-parser.c:2465,1
    - Dst: token_stream_peek2
      Src: /src/glib/glib/gvariant-parser.c:2467,1
    - Dst: token_stream_set_error
      Src: /src/glib/glib/gvariant-parser.c:2420,1
    - Dst: token_stream_prepare
      Src: /src/glib/glib/gvariant-parser.c:2426,1
    - Dst: token_stream_consume
      Src: /src/glib/glib/gvariant-parser.c:2444,1
    - Dst: token_stream_peek_string
      Src: /src/glib/glib/gvariant-parser.c:2451,1
    - Dst: boolean_new
      Src: /src/glib/glib/gvariant-parser.c:2445,1
    - Dst: token_stream_peek
      Src: /src/glib/glib/gvariant-parser.c:2441,1
    - Dst: token_stream_peek_string
      Src: /src/glib/glib/gvariant-parser.c:2452,1
    - Dst: typedecl_parse
      Src: /src/glib/glib/gvariant-parser.c:2461,1
    - Dst: token_stream_peek2
      Src: /src/glib/glib/gvariant-parser.c:2468,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2486
      start: 2409
    functionDepth: 0
    functionLinenumber: 2409
    functionLinenumberEnd: 2486
    functionName: parse
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - token_stream_start_ref
    - number_parse
    - token_stream_is_numeric
    - token_stream_end_ref
    - token_stream_prepare
    - boolean_new
    - token_stream_consume
    - array_parse
    - tuple_parse
    - positional_parse
    - typedecl_parse
    - string_parse
    - dictionary_parse
    - token_stream_is_keyword
    - maybe_parse
    - token_stream_set_error
    - token_stream_peek
    - token_stream_peek_string
    - bytestring_parse
    - variant_parse
    - token_stream_peek2
    linkageType: ''
    returnType: AST*
    signature: 'static AST *parse (TokenStream *stream, guint max_depth, va_list *app,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-parser.c:2187,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-parser.c:2197,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/glib/gvariant-parser.c:2189,1
    - Dst: ast_type_error
      Src: /src/glib/glib/gvariant-parser.c:2190,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2202
      start: 2179
    functionDepth: 0
    functionLinenumber: 2179
    functionLinenumberEnd: 2202
    functionName: positional_get_value
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_assert
    - ast_type_error
    - g_variant_is_of_type
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *positional_get_value (AST *ast, const GVariantType
      *type, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_free
      Src: /src/glib/glib/gvariant-parser.c:2212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ast
    argTypes:
    - AST*
    constantsTouched: []
    func_position:
      end: 2213
      start: 2204
    functionDepth: 0
    functionLinenumber: 2204
    functionLinenumberEnd: 2213
    functionName: positional_free
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void positional_free (AST *ast) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ast_array_free
      Src: /src/glib/glib/gvariant-parser.c:1172,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gvariant-parser.c:1173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - ast
    argTypes:
    - AST*
    constantsTouched: []
    func_position:
      end: 1174
      start: 1167
    functionDepth: 0
    functionLinenumber: 1167
    functionLinenumberEnd: 1174
    functionName: tuple_free
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - ast_array_free
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void tuple_free (AST *ast) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ast_array_free
      Src: /src/glib/glib/gvariant-parser.c:1465,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gvariant-parser.c:1467,1
    - Dst: ast_array_free
      Src: /src/glib/glib/gvariant-parser.c:1466,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ast
    argTypes:
    - AST*
    constantsTouched: []
    func_position:
      end: 1468
      start: 1454
    functionDepth: 0
    functionLinenumber: 1454
    functionLinenumberEnd: 1468
    functionName: dictionary_free
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - ast_array_free
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void dictionary_free (AST *ast) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gvariant-parser.c:2751,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/glib/gvariant-parser.c:2752,1
    - Dst: va_end
      Src: /src/glib/glib/gvariant-parser.c:2753,1
    - Dst: g_variant_new_parsed_va
      Src: /src/glib/glib/gvariant-parser.c:2752,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - builder
    - format
    - '...'
    argTypes:
    - GVariantBuilder*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2754
      start: 2744
    functionDepth: 0
    functionLinenumber: 2744
    functionLinenumberEnd: 2754
    functionName: g_variant_builder_add_parsed
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_variant_builder_add_value
    - va_start
    - g_variant_new_parsed_va
    - va_end
    linkageType: ''
    returnType: void
    signature: 'void g_variant_builder_add_parsed (GVariantBuilder *builder, const
      gchar *format, ...) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/gvariant-parser.c:105,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-parser.c:114,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gvariant-parser.c:108,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gvariant-parser.c:110,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gvariant-parser.c:115,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gvariant-parser.c:117,1
    - Dst: g_string_append_vprintf
      Src: /src/glib/glib/gvariant-parser.c:119,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gvariant-parser.c:120,1
    - Dst: g_string_free
      Src: /src/glib/glib/gvariant-parser.c:121,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 6
    argNames:
    - error
    - location
    - other
    - code
    - format
    - ap
    argTypes:
    - GError**
    - SourceRef*
    - SourceRef*
    - gint
    - gchar*
    - va_list
    constantsTouched: []
    func_position:
      end: 122
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 122
    functionName: parser_set_error_va
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_string_append_c
    - g_set_error_literal
    - g_string_free
    - g_string_append_vprintf
    - g_string_new
    - g_string_append_printf
    linkageType: ''
    returnType: void
    signature: 'static void parser_set_error_va (GError **error, SourceRef *location,
      SourceRef *other, gint code, const gchar *format, va_list ap) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/glib/gvariant-parser.c:1191,1
    - Dst: token_stream_assert
      Src: /src/glib/glib/gvariant-parser.c:1196,1
    - Dst: parse
      Src: /src/glib/glib/gvariant-parser.c:1207,1
    - Dst: token_stream_require
      Src: /src/glib/glib/gvariant-parser.c:1202,1
    - Dst: token_stream_consume
      Src: /src/glib/glib/gvariant-parser.c:1197,1
    - Dst: ast_array_append
      Src: /src/glib/glib/gvariant-parser.c:1212,1
    - Dst: token_stream_require
      Src: /src/glib/glib/gvariant-parser.c:1222,1
    - Dst: ast_array_free
      Src: /src/glib/glib/gvariant-parser.c:1235,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gvariant-parser.c:1236,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1176
    functionDepth: 0
    functionLinenumber: 1176
    functionLinenumberEnd: 1239
    functionName: tuple_parse
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - ast_array_free
    - token_stream_assert
    - ast_array_append
    - token_stream_require
    - g_slice_new
    - g_slice_free
    - parse
    - token_stream_consume
    linkageType: ''
    returnType: AST*
    signature: 'static AST *tuple_parse (TokenStream *stream, guint max_depth, va_list
      *app, GError **error) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: token_stream_assert
      Src: /src/glib/glib/gvariant-parser.c:1492,1
    - Dst: ast_array_append
      Src: /src/glib/glib/gvariant-parser.c:1503,1
    - Dst: token_stream_consume
      Src: /src/glib/glib/gvariant-parser.c:1494,1
    - Dst: token_stream_require
      Src: /src/glib/glib/gvariant-parser.c:1533,1
    - Dst: parse
      Src: /src/glib/glib/gvariant-parser.c:1548,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-parser.c:1556,1
    - Dst: ast_array_append
      Src: /src/glib/glib/gvariant-parser.c:1553,1
    - Dst: ast_array_free
      Src: /src/glib/glib/gvariant-parser.c:1562,1
    - Dst: token_stream_require
      Src: /src/glib/glib/gvariant-parser.c:1519,1
    - Dst: g_slice_new
      Src: /src/glib/glib/gvariant-parser.c:1486,1
    - Dst: parse
      Src: /src/glib/glib/gvariant-parser.c:1500,1
    - Dst: token_stream_consume
      Src: /src/glib/glib/gvariant-parser.c:1505,1
    - Dst: token_stream_consume
      Src: /src/glib/glib/gvariant-parser.c:1529,1
    - Dst: ast_array_append
      Src: /src/glib/glib/gvariant-parser.c:1542,1
    - Dst: parse
      Src: /src/glib/glib/gvariant-parser.c:1537,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gvariant-parser.c:1564,1
    - Dst: token_stream_require
      Src: /src/glib/glib/gvariant-parser.c:1507,1
    - Dst: parse
      Src: /src/glib/glib/gvariant-parser.c:1512,1
    - Dst: ast_array_append
      Src: /src/glib/glib/gvariant-parser.c:1515,1
    - Dst: token_stream_require
      Src: /src/glib/glib/gvariant-parser.c:1544,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-parser.c:1523,1
    - Dst: ast_array_free
      Src: /src/glib/glib/gvariant-parser.c:1563,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1567
      start: 1470
    functionDepth: 0
    functionLinenumber: 1470
    functionLinenumberEnd: 1567
    functionName: dictionary_parse
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - ast_array_free
    - g_assert
    - token_stream_assert
    - ast_array_append
    - token_stream_require
    - g_slice_new
    - g_slice_free
    - parse
    - token_stream_consume
    linkageType: ''
    returnType: AST*
    signature: 'static AST *dictionary_parse (TokenStream *stream, guint max_depth,
      va_list *app, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_strtoll
      Src: /src/glib/glib/gvariant-parser.c:2764,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 3
    argNames:
    - num
    - limit
    - result
    argTypes:
    - gchar*
    - gchar*
    - guint*
    constantsTouched: []
    func_position:
      end: 2775
      start: 2756
    functionDepth: 0
    functionLinenumber: 2756
    functionLinenumberEnd: 2775
    functionName: parse_num
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_ascii_strtoll
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean parse_num (const gchar *num, const gchar *limit, guint
      *result) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: ast_set_error
      Src: /src/glib/glib/gvariant-parser.c:1973,1
    - Dst: g_ascii_strtod
      Src: /src/glib/glib/gvariant-parser.c:1970,1
    - Dst: number_overflow
      Src: /src/glib/glib/gvariant-parser.c:2028,1
    - Dst: number_overflow
      Src: /src/glib/glib/gvariant-parser.c:2046,1
    - Dst: g_variant_new_int16
      Src: /src/glib/glib/gvariant-parser.c:2035,1
    - Dst: g_variant_new_uint32
      Src: /src/glib/glib/gvariant-parser.c:2055,1
    - Dst: number_overflow
      Src: /src/glib/glib/gvariant-parser.c:2059,1
    - Dst: g_variant_new_uint64
      Src: /src/glib/glib/gvariant-parser.c:2068,1
    - Dst: g_variant_new_handle
      Src: /src/glib/glib/gvariant-parser.c:2074,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/glib/gvariant-parser.c:2024,1
    - Dst: g_variant_new_byte
      Src: /src/glib/glib/gvariant-parser.c:2029,1
    - Dst: number_overflow
      Src: /src/glib/glib/gvariant-parser.c:2041,1
    - Dst: g_variant_new_int32
      Src: /src/glib/glib/gvariant-parser.c:2049,1
    - Dst: g_variant_new_int64
      Src: /src/glib/glib/gvariant-parser.c:2062,1
    - Dst: ast_set_error
      Src: /src/glib/glib/gvariant-parser.c:1994,1
    - Dst: g_ascii_strtoull
      Src: /src/glib/glib/gvariant-parser.c:1991,1
    - Dst: g_variant_new_double
      Src: /src/glib/glib/gvariant-parser.c:2022,1
    - Dst: g_variant_new_int32
      Src: /src/glib/glib/gvariant-parser.c:2048,1
    - Dst: number_overflow
      Src: /src/glib/glib/gvariant-parser.c:2033,1
    - Dst: g_variant_new_uint16
      Src: /src/glib/glib/gvariant-parser.c:2042,1
    - Dst: g_variant_new_int64
      Src: /src/glib/glib/gvariant-parser.c:2061,1
    - Dst: number_overflow
      Src: /src/glib/glib/gvariant-parser.c:2072,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/gvariant-parser.c:1965,1
    - Dst: parser_set_error
      Src: /src/glib/glib/gvariant-parser.c:2015,1
    - Dst: g_variant_new_int16
      Src: /src/glib/glib/gvariant-parser.c:2036,1
    - Dst: number_overflow
      Src: /src/glib/glib/gvariant-parser.c:2054,1
    - Dst: number_overflow
      Src: /src/glib/glib/gvariant-parser.c:2067,1
    - Dst: g_variant_new_handle
      Src: /src/glib/glib/gvariant-parser.c:2075,1
    - Dst: ast_type_error
      Src: /src/glib/glib/gvariant-parser.c:2079,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 89
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2081
      start: 1950
    functionDepth: 0
    functionLinenumber: 1950
    functionLinenumberEnd: 2081
    functionName: number_get_value
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_variant_type_equal
    - number_overflow
    - g_variant_new_byte
    - g_variant_new_handle
    - g_ascii_strtoull
    - ast_type_error
    - ast_set_error
    - g_ascii_strtod
    - parser_set_error
    - g_variant_type_peek_string
    - g_variant_new_int16
    - g_variant_new_uint16
    - g_variant_new_int32
    - g_variant_new_double
    - g_variant_new_int64
    - g_variant_new_uint32
    - g_variant_new_uint64
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *number_get_value (AST *ast, const GVariantType *type,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_free
      Src: /src/glib/glib/gvariant-parser.c:2143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ast
    argTypes:
    - AST*
    constantsTouched: []
    func_position:
      end: 2144
      start: 2138
    functionDepth: 0
    functionLinenumber: 2138
    functionLinenumberEnd: 2144
    functionName: boolean_free
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void boolean_free (AST *ast) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ast_get_pattern
      Src: /src/glib/glib/gvariant-parser.c:792,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gvariant-parser.c:797,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:798,1
    - Dst: g_strdup
      Src: /src/glib/glib/gvariant-parser.c:803,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 804
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 804
    functionName: maybe_get_pattern
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_free
    - ast_get_pattern
    - g_strdup
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *maybe_get_pattern (AST *ast, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:2088,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gvariant-parser.c:2089,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - ast
    argTypes:
    - AST*
    constantsTouched: []
    func_position:
      end: 2090
      start: 2083
    functionDepth: 0
    functionLinenumber: 2083
    functionLinenumberEnd: 2090
    functionName: number_free
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void number_free (AST *ast) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/glib/gvariant-parser.c:2156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2161
      start: 2146
    functionDepth: 0
    functionLinenumber: 2146
    functionLinenumberEnd: 2161
    functionName: boolean_new
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_slice_new
    linkageType: ''
    returnType: AST*
    signature: 'static AST *boolean_new (gboolean value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ast_free
      Src: /src/glib/glib/gvariant-parser.c:2283,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gvariant-parser.c:2285,1
    - Dst: g_variant_type_free
      Src: /src/glib/glib/gvariant-parser.c:2284,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ast
    argTypes:
    - AST*
    constantsTouched: []
    func_position:
      end: 2286
      start: 2278
    functionDepth: 0
    functionLinenumber: 2278
    functionLinenumberEnd: 2286
    functionName: typedecl_free
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - ast_free
    - g_variant_type_free
    linkageType: ''
    returnType: void
    signature: 'static void typedecl_free (AST *ast) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_is_maybe
      Src: /src/glib/glib/gvariant-parser.c:814,1
    - Dst: g_variant_new_maybe
      Src: /src/glib/glib/gvariant-parser.c:829,1
    - Dst: g_variant_type_element
      Src: /src/glib/glib/gvariant-parser.c:817,1
    - Dst: ast_type_error
      Src: /src/glib/glib/gvariant-parser.c:815,1
    - Dst: ast_get_value
      Src: /src/glib/glib/gvariant-parser.c:821,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 830
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 830
    functionName: maybe_get_value
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - ast_get_value
    - g_variant_type_is_maybe
    - ast_type_error
    - g_variant_new_maybe
    - g_variant_type_element
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *maybe_get_value (AST *ast, const GVariantType *type,
      GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: token_stream_assert
      Src: /src/glib/glib/gvariant-parser.c:1297,1
    - Dst: ast_free
      Src: /src/glib/glib/gvariant-parser.c:1305,1
    - Dst: g_slice_new
      Src: /src/glib/glib/gvariant-parser.c:1309,1
    - Dst: token_stream_require
      Src: /src/glib/glib/gvariant-parser.c:1303,1
    - Dst: parse
      Src: /src/glib/glib/gvariant-parser.c:1298,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1283
    functionDepth: 0
    functionLinenumber: 1283
    functionLinenumberEnd: 1314
    functionName: variant_parse
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - token_stream_assert
    - token_stream_require
    - ast_free
    - g_slice_new
    - parse
    linkageType: ''
    returnType: AST*
    signature: 'static AST *variant_parse (TokenStream *stream, guint max_depth, va_list
      *app, GError **error) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: token_stream_start_ref
      Src: /src/glib/glib/gvariant-parser.c:1837,1
    - Dst: token_stream_get
      Src: /src/glib/glib/gvariant-parser.c:1838,1
    - Dst: strlen
      Src: /src/glib/glib/gvariant-parser.c:1841,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-parser.c:1840,1
    - Dst: token_stream_end_ref
      Src: /src/glib/glib/gvariant-parser.c:1839,1
    - Dst: g_malloc
      Src: /src/glib/glib/gvariant-parser.c:1847,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-parser.c:1848,1
    - Dst: parser_set_error
      Src: /src/glib/glib/gvariant-parser.c:1855,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:1858,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:1859,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:1870,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:1869,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:1905,1
    - Dst: token_stream_next
      Src: /src/glib/glib/gvariant-parser.c:1911,1
    - Dst: parser_set_error
      Src: /src/glib/glib/gvariant-parser.c:1866,1
    - Dst: g_slice_new
      Src: /src/glib/glib/gvariant-parser.c:1907,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1914
      start: 1819
    functionDepth: 0
    functionLinenumber: 1819
    functionLinenumberEnd: 1914
    functionName: bytestring_parse
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - token_stream_next
    - strlen
    - g_assert
    - parser_set_error
    - token_stream_start_ref
    - token_stream_end_ref
    - g_malloc
    - g_slice_new
    - g_free
    - token_stream_get
    linkageType: ''
    returnType: AST*
    signature: 'static AST *bytestring_parse (TokenStream *stream, va_list *app, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_dup_string
      Src: /src/glib/glib/gvariant-parser.c:2265,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2266
      start: 2259
    functionDepth: 0
    functionLinenumber: 2259
    functionLinenumberEnd: 2266
    functionName: typedecl_get_pattern
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_variant_type_dup_string
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *typedecl_get_pattern (AST *ast, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ast_get_value
      Src: /src/glib/glib/gvariant-parser.c:2275,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2276
      start: 2268
    functionDepth: 0
    functionLinenumber: 2268
    functionLinenumberEnd: 2276
    functionName: typedecl_get_value
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - ast_get_value
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *typedecl_get_value (AST *ast, const GVariantType
      *type, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gvariant-parser.c:580,1
    - Dst: parser_set_error_va
      Src: /src/glib/glib/gvariant-parser.c:581,1
    - Dst: va_end
      Src: /src/glib/glib/gvariant-parser.c:585,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 5
    argNames:
    - ast
    - error
    - other_ast
    - code
    - format
    - '...'
    argTypes:
    - AST*
    - GError**
    - AST*
    - gint
    - gchar*
    constantsTouched: []
    func_position:
      end: 586
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 586
    functionName: ast_set_error
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - va_start
    - parser_set_error_va
    - va_end
    linkageType: ''
    returnType: void
    signature: 'static void ast_set_error (AST *ast, GError **error, AST *other_ast,
      gint code, const gchar *format, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_renew
      Src: /src/glib/glib/gvariant-parser.c:669,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - array
    - n_items
    - ast
    argTypes:
    - AST***
    - gint*
    - AST*
    constantsTouched: []
    func_position:
      end: 672
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 672
    functionName: ast_array_append
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_renew
    linkageType: ''
    returnType: void
    signature: 'static void ast_array_append (AST ***array, gint *n_items, AST *ast) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ast_free
      Src: /src/glib/glib/gvariant-parser.c:838,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gvariant-parser.c:840,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - ast
    argTypes:
    - AST*
    constantsTouched: []
    func_position:
      end: 841
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 841
    functionName: maybe_free
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - ast_free
    linkageType: ''
    returnType: void
    signature: 'static void maybe_free (AST *ast) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: token_stream_peek
      Src: /src/glib/glib/gvariant-parser.c:2303,1
    - Dst: g_variant_type_free
      Src: /src/glib/glib/gvariant-parser.c:2336,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/gvariant-parser.c:2348,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:2343,1
    - Dst: token_stream_consume
      Src: /src/glib/glib/gvariant-parser.c:2353,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/gvariant-parser.c:2354,1
    - Dst: token_stream_consume
      Src: /src/glib/glib/gvariant-parser.c:2359,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/gvariant-parser.c:2360,1
    - Dst: token_stream_consume
      Src: /src/glib/glib/gvariant-parser.c:2365,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/gvariant-parser.c:2366,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/gvariant-parser.c:2381,1
    - Dst: token_stream_consume
      Src: /src/glib/glib/gvariant-parser.c:2377,1
    - Dst: parse
      Src: /src/glib/glib/gvariant-parser.c:2395,1
    - Dst: token_stream_consume
      Src: /src/glib/glib/gvariant-parser.c:2380,1
    - Dst: token_stream_set_error
      Src: /src/glib/glib/gvariant-parser.c:2311,1
    - Dst: token_stream_set_error
      Src: /src/glib/glib/gvariant-parser.c:2321,1
    - Dst: g_variant_type_new
      Src: /src/glib/glib/gvariant-parser.c:2329,1
    - Dst: g_variant_type_is_definite
      Src: /src/glib/glib/gvariant-parser.c:2331,1
    - Dst: token_stream_next
      Src: /src/glib/glib/gvariant-parser.c:2342,1
    - Dst: token_stream_set_error
      Src: /src/glib/glib/gvariant-parser.c:2388,1
    - Dst: token_stream_consume
      Src: /src/glib/glib/gvariant-parser.c:2383,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/gvariant-parser.c:2384,1
    - Dst: token_stream_consume
      Src: /src/glib/glib/gvariant-parser.c:2368,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/gvariant-parser.c:2369,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:2314,1
    - Dst: token_stream_get
      Src: /src/glib/glib/gvariant-parser.c:2307,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:2324,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/gvariant-parser.c:2351,1
    - Dst: token_stream_consume
      Src: /src/glib/glib/gvariant-parser.c:2350,1
    - Dst: token_stream_consume
      Src: /src/glib/glib/gvariant-parser.c:2347,1
    - Dst: token_stream_consume
      Src: /src/glib/glib/gvariant-parser.c:2356,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/gvariant-parser.c:2357,1
    - Dst: token_stream_consume
      Src: /src/glib/glib/gvariant-parser.c:2362,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/gvariant-parser.c:2363,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/gvariant-parser.c:2372,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/gvariant-parser.c:2375,1
    - Dst: g_variant_type_free
      Src: /src/glib/glib/gvariant-parser.c:2397,1
    - Dst: token_stream_consume
      Src: /src/glib/glib/gvariant-parser.c:2371,1
    - Dst: g_variant_type_string_is_valid
      Src: /src/glib/glib/gvariant-parser.c:2309,1
    - Dst: g_variant_type_string_get_depth_
      Src: /src/glib/glib/gvariant-parser.c:2319,1
    - Dst: token_stream_set_error
      Src: /src/glib/glib/gvariant-parser.c:2333,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:2337,1
    - Dst: token_stream_consume
      Src: /src/glib/glib/gvariant-parser.c:2374,1
    - Dst: g_slice_new
      Src: /src/glib/glib/gvariant-parser.c:2401,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/gvariant-parser.c:2378,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2407
      start: 2288
    functionDepth: 0
    functionLinenumber: 2288
    functionLinenumberEnd: 2407
    functionName: typedecl_parse
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_variant_type_is_definite
    - token_stream_set_error
    - token_stream_next
    - g_variant_type_free
    - token_stream_peek
    - g_variant_type_string_is_valid
    - g_variant_type_copy
    - g_variant_type_string_get_depth_
    - g_slice_new
    - g_variant_type_new
    - parse
    - g_free
    - token_stream_consume
    - token_stream_get
    linkageType: ''
    returnType: AST*
    signature: 'static AST *typedecl_parse (TokenStream *stream, guint max_depth,
      va_list *app, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: token_stream_consume
      Src: /src/glib/glib/gvariant-parser.c:371,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-parser.c:372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - stream
    - token
    argTypes:
    - TokenStream*
    - gchar*
    constantsTouched: []
    func_position:
      end: 373
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 373
    functionName: token_stream_assert
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_assert
    - token_stream_consume
    linkageType: ''
    returnType: void
    signature: 'static void token_stream_assert (TokenStream *stream, const gchar
      *token) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_is_array
      Src: /src/glib/glib/gvariant-parser.c:1006,1
    - Dst: g_variant_type_element
      Src: /src/glib/glib/gvariant-parser.c:1010,1
    - Dst: g_variant_builder_init_static
      Src: /src/glib/glib/gvariant-parser.c:1009,1
    - Dst: ast_type_error
      Src: /src/glib/glib/gvariant-parser.c:1007,1
    - Dst: ast_get_value
      Src: /src/glib/glib/gvariant-parser.c:1016,1
    - Dst: g_variant_builder_clear
      Src: /src/glib/glib/gvariant-parser.c:1018,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/glib/gvariant-parser.c:1022,1
    - Dst: g_variant_builder_end
      Src: /src/glib/glib/gvariant-parser.c:1025,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 1026
    functionName: array_get_value
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_variant_type_is_array
    - ast_get_value
    - ast_type_error
    - g_variant_builder_init_static
    - g_variant_builder_clear
    - g_variant_builder_add_value
    - g_variant_type_element
    - g_variant_builder_end
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *array_get_value (AST *ast, const GVariantType *type,
      GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/glib/gvariant-parser.c:1102,1
    - Dst: g_strjoinv
      Src: /src/glib/glib/gvariant-parser.c:1112,1
    - Dst: ast_get_pattern
      Src: /src/glib/glib/gvariant-parser.c:1108,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:1117,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:1116,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1093
    functionDepth: 0
    functionLinenumber: 1093
    functionLinenumberEnd: 1120
    functionName: tuple_get_pattern
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_free
    - g_strjoinv
    - ast_get_pattern
    - g_new
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *tuple_get_pattern (AST *ast, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/glib/glib/gvariant-parser.c:1929,1
    - Dst: strstr
      Src: /src/glib/glib/gvariant-parser.c:1931,1
    - Dst: strstr
      Src: /src/glib/glib/gvariant-parser.c:1932,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/gvariant-parser.c:1930,1
    - Dst: strchr
      Src: /src/glib/glib/gvariant-parser.c:1930,1
    - Dst: g_strdup
      Src: /src/glib/glib/gvariant-parser.c:1933,1
    - Dst: g_strdup
      Src: /src/glib/glib/gvariant-parser.c:1935,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1936
      start: 1923
    functionDepth: 0
    functionLinenumber: 1923
    functionLinenumberEnd: 1936
    functionName: number_get_pattern
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_str_has_prefix
    - strchr
    - g_strdup
    - strstr
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *number_get_pattern (AST *ast, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_strchomp
      Src: /src/glib/glib/gvariant-parser.c:2792,1
    - Dst: strrchr
      Src: /src/glib/glib/gvariant-parser.c:2793,1
    - Dst: g_strdup
      Src: /src/glib/glib/gvariant-parser.c:2792,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant-parser.c:2806,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant-parser.c:2804,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant-parser.c:2808,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant-parser.c:2809,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gvariant-parser.c:2811,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant-parser.c:2812,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-parser.c:2813,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - err
    - str
    argTypes:
    - GString*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2814
      start: 2777
    functionDepth: 0
    functionLinenumber: 2777
    functionLinenumberEnd: 2814
    functionName: add_last_line
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_string_append_c
    - strrchr
    - g_strchomp
    - g_free
    - g_string_append
    linkageType: ''
    returnType: void
    signature: 'static void add_last_line (GString *err, const gchar *str) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: token_stream_prepare
      Src: /src/glib/glib/gvariant-parser.c:380,1
    - Dst: g_strndup
      Src: /src/glib/glib/gvariant-parser.c:383,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 386
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 386
    functionName: token_stream_get
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_strndup
    - token_stream_prepare
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *token_stream_get (TokenStream *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ast_array_free
      Src: /src/glib/glib/gvariant-parser.c:1033,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gvariant-parser.c:1034,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - ast
    argTypes:
    - AST*
    constantsTouched: []
    func_position:
      end: 1035
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1035
    functionName: array_free
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - ast_array_free
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void array_free (AST *ast) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_is_tuple
      Src: /src/glib/glib/gvariant-parser.c:1132,1
    - Dst: ast_type_error
      Src: /src/glib/glib/gvariant-parser.c:1133,1
    - Dst: g_variant_type_first
      Src: /src/glib/glib/gvariant-parser.c:1136,1
    - Dst: g_variant_builder_clear
      Src: /src/glib/glib/gvariant-parser.c:1144,1
    - Dst: g_variant_builder_init_static
      Src: /src/glib/glib/gvariant-parser.c:1135,1
    - Dst: ast_type_error
      Src: /src/glib/glib/gvariant-parser.c:1145,1
    - Dst: ast_get_value
      Src: /src/glib/glib/gvariant-parser.c:1148,1
    - Dst: g_variant_builder_clear
      Src: /src/glib/glib/gvariant-parser.c:1150,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/glib/gvariant-parser.c:1154,1
    - Dst: g_variant_type_next
      Src: /src/glib/glib/gvariant-parser.c:1155,1
    - Dst: ast_type_error
      Src: /src/glib/glib/gvariant-parser.c:1161,1
    - Dst: g_variant_builder_end
      Src: /src/glib/glib/gvariant-parser.c:1164,1
    - Dst: g_variant_builder_clear
      Src: /src/glib/glib/gvariant-parser.c:1160,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1165
    functionName: tuple_get_value
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_variant_type_is_tuple
    - ast_get_value
    - ast_type_error
    - g_variant_builder_init_static
    - g_variant_builder_clear
    - g_variant_builder_add_value
    - g_variant_type_first
    - g_variant_builder_end
    - g_variant_type_next
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *tuple_get_value (AST *ast, const GVariantType *type,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ast_set_error
      Src: /src/glib/glib/gvariant-parser.c:1943,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/glib/gvariant-parser.c:1946,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1948
      start: 1938
    functionDepth: 0
    functionLinenumber: 1938
    functionLinenumberEnd: 1948
    functionName: number_overflow
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - ast_set_error
    - g_variant_type_peek_string
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *number_overflow (AST *ast, const GVariantType *type,
      GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcspn
      Src: /src/glib/glib/gvariant-parser.c:2828,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant-parser.c:2837,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gvariant-parser.c:2836,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant-parser.c:2835,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gvariant-parser.c:2843,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gvariant-parser.c:2845,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gvariant-parser.c:2847,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 36
    argCount: 6
    argNames:
    - err
    - str
    - start1
    - end1
    - start2
    - end2
    argTypes:
    - GString*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2855
      start: 2816
    functionDepth: 0
    functionLinenumber: 2816
    functionLinenumberEnd: 2855
    functionName: add_lines_from_range
    functionSourceFile: /src/glib/glib/gvariant-parser.c
    functionUses: []
    functionsReached:
    - g_string_append_c
    - g_string_append
    - g_string_append_len
    - strcspn
    linkageType: ''
    returnType: void
    signature: 'static void add_lines_from_range (GString *err, const gchar *str,
      const gchar *start1, const gchar *end1, const gchar *start2, const gchar *end2) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 1
    argNames:
    - match_flags
    argTypes:
    - GRegexMatchFlags
    constantsTouched: []
    func_position:
      end: 430
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 430
    functionName: get_pcre2_newline_match_options
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t get_pcre2_newline_match_options (GRegexMatchFlags
      match_flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:1559,1
    - Dst: get_matched_substring_number
      Src: /src/glib/glib/gregex.c:1562,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:1560,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/gregex.c:1566,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1567
      start: 1553
    functionDepth: 0
    functionLinenumber: 1553
    functionLinenumberEnd: 1567
    functionName: g_match_info_fetch_named
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_match_info_fetch
    - g_return_val_if_fail
    - get_matched_substring_number
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_match_info_fetch_named (const GMatchInfo *match_info, const
      gchar *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_regex_split_full
      Src: /src/glib/glib/gregex.c:2622,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2624
      start: 2617
    functionDepth: 0
    functionLinenumber: 2617
    functionLinenumberEnd: 2624
    functionName: g_regex_split
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_regex_split_full
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **g_regex_split (const GRegex *regex, const gchar *string, GRegexMatchFlags
      match_options) '
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_xdigit_value
      Src: /src/glib/glib/gregex.c:2914,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:2933,1
    - Dst: g_new0
      Src: /src/glib/glib/gregex.c:2941,1
    - Dst: g_unichar_to_utf8
      Src: /src/glib/glib/gregex.c:2942,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:2973,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:2982,1
    - Dst: g_ascii_digit_value
      Src: /src/glib/glib/gregex.c:2997,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gregex.c:3036,1
    - Dst: g_ascii_xdigit_value
      Src: /src/glib/glib/gregex.c:2930,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:2917,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:2989,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:3018,1
    - Dst: g_new0
      Src: /src/glib/glib/gregex.c:3071,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:3095,1
    - Dst: g_ascii_isdigit
      Src: /src/glib/glib/gregex.c:2992,1
    - Dst: g_ascii_digit_value
      Src: /src/glib/glib/gregex.c:3052,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gregex.c:3033,1
    - Dst: g_ascii_digit_value
      Src: /src/glib/glib/gregex.c:3033,1
    - Dst: g_strndup
      Src: /src/glib/glib/gregex.c:3025,1
    - Dst: g_ascii_isalnum
      Src: /src/glib/glib/gregex.c:3016,1
    - Dst: g_unichar_to_utf8
      Src: /src/glib/glib/gregex.c:3072,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:3081,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:3085,1
    - Dst: g_error_new
      Src: /src/glib/glib/gregex.c:3093,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:3000,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gregex.c:3100,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 156
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3103
      start: 2851
    functionDepth: 0
    functionLinenumber: 2851
    functionLinenumberEnd: 3103
    functionName: expand_escape
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_utf8_next_char
    - g_ascii_xdigit_value
    - g_ascii_isalnum
    - g_unichar_to_utf8
    - g_strndup
    - g_error_new
    - g_ascii_digit_value
    - _
    - g_ascii_isdigit
    - g_new0
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *expand_escape (const gchar *replacement, const
      gchar *p, InterpolationData *data, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - compile_flags
    argTypes:
    - GRegexCompileFlags
    constantsTouched: []
    func_position:
      end: 439
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 439
    functionName: get_pcre2_bsr_compile_options
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t get_pcre2_bsr_compile_options (GRegexCompileFlags
      compile_flags) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/glib/gregex.c:3118,1
    - Dst: g_list_free_full
      Src: /src/glib/glib/gregex.c:3122,1
    - Dst: free_interpolation_data
      Src: /src/glib/glib/gregex.c:3123,1
    - Dst: expand_escape
      Src: /src/glib/glib/gregex.c:3119,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/gregex.c:3127,1
    - Dst: g_new0
      Src: /src/glib/glib/gregex.c:3136,1
    - Dst: g_strndup
      Src: /src/glib/glib/gregex.c:3137,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/gregex.c:3139,1
    - Dst: g_list_reverse
      Src: /src/glib/glib/gregex.c:3145,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3146
      start: 3105
    functionDepth: 0
    functionLinenumber: 3105
    functionLinenumberEnd: 3146
    functionName: split_replacement
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - free_interpolation_data
    - g_list_reverse
    - g_list_free_full
    - g_strndup
    - g_list_prepend
    - g_new0
    - expand_escape
    linkageType: ''
    returnType: GList*
    signature: 'static GList *split_replacement (const gchar *replacement, GError
      **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/glib/gregex.c:819,1
    - Dst: g_new0
      Src: /src/glib/glib/gregex.c:821,1
    - Dst: get_pcre2_match_options
      Src: /src/glib/glib/gregex.c:829,1
    - Dst: g_regex_ref
      Src: /src/glib/glib/gregex.c:823,1
    - Dst: pcre2_pattern_info
      Src: /src/glib/glib/gregex.c:831,1
    - Dst: pcre2_match_context_create
      Src: /src/glib/glib/gregex.c:834,1
    - Dst: g_new
      Src: /src/glib/glib/gregex.c:841,1
    - Dst: g_new0
      Src: /src/glib/glib/gregex.c:845,1
    - Dst: pcre2_match_data_create_from_pattern
      Src: /src/glib/glib/gregex.c:850,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 855
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 855
    functionName: match_info_new
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_regex_ref
    - pcre2_pattern_info
    - strlen
    - g_new
    - pcre2_match_context_create
    - get_pcre2_match_options
    - g_new0
    - pcre2_match_data_create_from_pattern
    linkageType: ''
    returnType: GMatchInfo*
    signature: 'static GMatchInfo *match_info_new (const GRegex *regex, const gchar
      *string, gint string_len, gint start_position, GRegexMatchFlags match_options,
      gboolean is_dfa) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_substring_number_from_name
      Src: /src/glib/glib/gregex.c:1512,1
    - Dst: pcre2_substring_nametable_scan
      Src: /src/glib/glib/gregex.c:1516,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - match_info
    - name
    argTypes:
    - GMatchInfo*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1532
      start: 1503
    functionDepth: 0
    functionLinenumber: 1503
    functionLinenumberEnd: 1532
    functionName: get_matched_substring_number
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - pcre2_substring_nametable_scan
    - pcre2_substring_number_from_name
    linkageType: ''
    returnType: gint
    signature: 'static gint get_matched_substring_number (const GMatchInfo *match_info,
      const gchar *name) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:3570,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gregex.c:3591,1
    - Dst: g_strdup
      Src: /src/glib/glib/gregex.c:3573,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gregex.c:3577,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gregex.c:3588,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gregex.c:3592,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gregex.c:3593,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gregex.c:3594,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gregex.c:3604,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gregex.c:3610,1
    - Dst: g_string_free
      Src: /src/glib/glib/gregex.c:3612,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3613
      start: 3562
    functionDepth: 0
    functionLinenumber: 3562
    functionLinenumberEnd: 3613
    functionName: g_regex_escape_nul
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_strdup
    - g_utf8_next_char
    - g_string_append_len
    - g_string_append_c
    - g_string_free
    - g_string_sized_new
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_regex_escape_nul (const gchar *string, gint length) '
  - BBCount: 94
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/glib/glib/gregex.c:561,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:565,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:654,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:707,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:711,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:715,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:719,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:723,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:739,1
    - Dst: g_assert
      Src: /src/glib/glib/gregex.c:803,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:666,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:595,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:599,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:633,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:637,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:629,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:603,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:625,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:621,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:617,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:613,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:662,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:670,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:686,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:755,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:747,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:574,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:578,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:570,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:582,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:586,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:590,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:698,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:703,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:731,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:743,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:727,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:607,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:641,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:645,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:649,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:674,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:678,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:658,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:682,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:690,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:735,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:751,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:694,1
    CyclomaticComplexity: 98
    EdgeCount: 98
    ICount: 152
    argCount: 2
    argNames:
    - errcode
    - errmsg
    argTypes:
    - gint*
    - gchar**
    constantsTouched: []
    func_position:
      end: 804
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 804
    functionName: translate_compile_error
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - _
    - g_assert
    linkageType: ''
    returnType: void
    signature: 'static void translate_compile_error (gint *errcode, const gchar **errmsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:1641,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/gregex.c:1648,1
    - Dst: g_new
      Src: /src/glib/glib/gregex.c:1646,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1652
      start: 1635
    functionDepth: 0
    functionLinenumber: 1635
    functionLinenumberEnd: 1652
    functionName: g_match_info_fetch_all
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_match_info_fetch
    - g_return_val_if_fail
    - g_new
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **g_match_info_fetch_all (const GMatchInfo *match_info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gregex.c:1689,1
    - Dst: g_free
      Src: /src/glib/glib/gregex.c:1693,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/glib/gregex.c:1691,1
    - Dst: pcre2_code_free
      Src: /src/glib/glib/gregex.c:1695,1
    - Dst: g_free
      Src: /src/glib/glib/gregex.c:1696,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - regex
    argTypes:
    - GRegex*
    constantsTouched: []
    func_position:
      end: 1698
      start: 1686
    functionDepth: 0
    functionLinenumber: 1686
    functionLinenumberEnd: 1698
    functionName: g_regex_unref
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_free
    - g_atomic_int_dec_and_test
    - pcre2_code_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_regex_unref (GRegex *regex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_pattern_info
      Src: /src/glib/glib/gregex.c:1953,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - regex
    argTypes:
    - GRegex*
    constantsTouched: []
    func_position:
      end: 1956
      start: 1948
    functionDepth: 0
    functionLinenumber: 1948
    functionLinenumberEnd: 1956
    functionName: g_regex_get_max_backref
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - pcre2_pattern_info
    linkageType: ''
    returnType: gint
    signature: 'gint g_regex_get_max_backref (const GRegex *regex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_pattern_info
      Src: /src/glib/glib/gregex.c:1993,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - regex
    argTypes:
    - GRegex*
    constantsTouched: []
    func_position:
      end: 1996
      start: 1988
    functionDepth: 0
    functionLinenumber: 1988
    functionLinenumberEnd: 1996
    functionName: g_regex_get_has_cr_or_lf
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - pcre2_pattern_info
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_regex_get_has_cr_or_lf (const GRegex *regex) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:2041,1
    - Dst: pcre2_pattern_info
      Src: /src/glib/glib/gregex.c:2067,1
    - Dst: pcre2_pattern_info
      Src: /src/glib/glib/gregex.c:2047,1
    - Dst: g_regex_compile_flags_from_pcre2
      Src: /src/glib/glib/gregex.c:2077,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 1
    argNames:
    - regex
    argTypes:
    - GRegex*
    constantsTouched: []
    func_position:
      end: 2078
      start: 2035
    functionDepth: 0
    functionLinenumber: 2035
    functionLinenumberEnd: 2078
    functionName: g_regex_get_compile_flags
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - pcre2_pattern_info
    - g_regex_compile_flags_from_pcre2
    linkageType: ''
    returnType: GRegexCompileFlags
    signature: 'GRegexCompileFlags g_regex_get_compile_flags (const GRegex *regex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:2285,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:2288,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:2287,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:2286,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:2289,1
    - Dst: match_info_new
      Src: /src/glib/glib/gregex.c:2291,1
    - Dst: g_match_info_next
      Src: /src/glib/glib/gregex.c:2293,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/gregex.c:2297,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 7
    argNames:
    - regex
    - string
    - string_len
    - start_position
    - match_options
    - match_info
    - error
    argTypes:
    - GRegex*
    - gchar*
    - gssize
    - gint
    - GRegexMatchFlags
    - GMatchInfo**
    - GError**
    constantsTouched: []
    func_position:
      end: 2300
      start: 2273
    functionDepth: 0
    functionLinenumber: 2273
    functionLinenumberEnd: 2300
    functionName: g_regex_match_full
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_match_info_free
    - g_match_info_next
    - g_return_val_if_fail
    - match_info_new
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_regex_match_full (const GRegex *regex, const gchar *string,
      gssize string_len, gint start_position, GRegexMatchFlags match_options, GMatchInfo
      **match_info, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - list
    argTypes:
    - GList*
    constantsTouched: []
    func_position:
      end: 3254
      start: 3237
    functionDepth: 0
    functionLinenumber: 3237
    functionLinenumberEnd: 3254
    functionName: interpolation_list_needs_match
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean interpolation_list_needs_match (GList *list) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:3310,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:3314,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:3311,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:3313,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:3312,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:3315,1
    - Dst: split_replacement
      Src: /src/glib/glib/gregex.c:3317,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gregex.c:3320,1
    - Dst: g_regex_replace_eval
      Src: /src/glib/glib/gregex.c:3324,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gregex.c:3331,1
    - Dst: g_list_free_full
      Src: /src/glib/glib/gregex.c:3333,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3336
      start: 3297
    functionDepth: 0
    functionLinenumber: 3297
    functionLinenumberEnd: 3336
    functionName: g_regex_replace
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_return_val_if_fail
    - split_replacement
    - g_list_free_full
    - g_regex_replace_eval
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_regex_replace (const GRegex *regex, const gchar *string,
      gssize string_len, gint start_position, const gchar *replacement, GRegexMatchFlags
      match_options, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_append
      Src: /src/glib/glib/gregex.c:3343,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - match_info
    - result
    - data
    argTypes:
    - GMatchInfo*
    - GString*
    - gpointer
    constantsTouched: []
    func_position:
      end: 3345
      start: 3338
    functionDepth: 0
    functionLinenumber: 3338
    functionLinenumberEnd: 3345
    functionName: literal_replacement
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_string_append
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean literal_replacement (const GMatchInfo *match_info,
      GString *result, gpointer data) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_jit_match
      Src: /src/glib/glib/gregex.c:1118,1
    - Dst: g_debug
      Src: /src/glib/glib/gregex.c:1129,1
    - Dst: pcre2_match
      Src: /src/glib/glib/gregex.c:1138,1
    - Dst: get_match_error_message
      Src: /src/glib/glib/gregex.c:1149,1
    - Dst: g_match_info_next
      Src: /src/glib/glib/gregex.c:1168,1
    - Dst: NEXT_CHAR
      Src: /src/glib/glib/gregex.c:1192,1
    - Dst: g_realloc_n
      Src: /src/glib/glib/gregex.c:1161,1
    - Dst: enable_jit_with_match_options
      Src: /src/glib/glib/gregex.c:1115,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gregex.c:1154,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:1100,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:1099,1
    - Dst: pcre2_match_data_free
      Src: /src/glib/glib/gregex.c:1165,1
    - Dst: pcre2_match_data_create
      Src: /src/glib/glib/gregex.c:1166,1
    - Dst: recalc_match_offsets
      Src: /src/glib/glib/gregex.c:1177,1
    - Dst: g_match_info_next
      Src: /src/glib/glib/gregex.c:1220,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:1098,1
    - Dst: IS_PCRE2_ERROR
      Src: /src/glib/glib/gregex.c:1147,1
    - Dst: g_set_error
      Src: /src/glib/glib/gregex.c:1151,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:1152,1
    - Dst: g_assert
      Src: /src/glib/glib/gregex.c:1201,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 76
    argCount: 2
    argNames:
    - match_info
    - error
    argTypes:
    - GMatchInfo*
    - GError**
    constantsTouched: []
    func_position:
      end: 1224
      start: 1089
    functionDepth: 0
    functionLinenumber: 1089
    functionLinenumberEnd: 1224
    functionName: g_match_info_next
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_return_val_if_fail
    - enable_jit_with_match_options
    - g_assert
    - g_debug
    - IS_PCRE2_ERROR
    - get_match_error_message
    - pcre2_match
    - g_clear_pointer
    - pcre2_match_data_free
    - pcre2_jit_match
    - NEXT_CHAR
    - _
    - g_realloc_n
    - recalc_match_offsets
    - pcre2_match_data_create
    - g_match_info_next
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_match_info_next (GMatchInfo *match_info, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:1598,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:1599,1
    - Dst: get_matched_substring_number
      Src: /src/glib/glib/gregex.c:1601,1
    - Dst: g_match_info_fetch_pos
      Src: /src/glib/glib/gregex.c:1605,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - match_info
    - name
    - start_pos
    - end_pos
    argTypes:
    - GMatchInfo*
    - gchar*
    - gint*
    - gint*
    constantsTouched: []
    func_position:
      end: 1606
      start: 1590
    functionDepth: 0
    functionLinenumber: 1590
    functionLinenumberEnd: 1606
    functionName: g_match_info_fetch_named_pos
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - get_matched_substring_number
    - g_match_info_fetch_pos
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_match_info_fetch_named_pos (const GMatchInfo *match_info,
      const gchar *name, gint *start_pos, gint *end_pos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:1931,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1934
      start: 1928
    functionDepth: 0
    functionLinenumber: 1928
    functionLinenumberEnd: 1934
    functionName: g_regex_get_pattern
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_regex_get_pattern (const GRegex *regex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_pattern_info
      Src: /src/glib/glib/gregex.c:1973,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - regex
    argTypes:
    - GRegex*
    constantsTouched: []
    func_position:
      end: 1976
      start: 1968
    functionDepth: 0
    functionLinenumber: 1968
    functionLinenumberEnd: 1976
    functionName: g_regex_get_capture_count
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - pcre2_pattern_info
    linkageType: ''
    returnType: gint
    signature: 'gint g_regex_get_capture_count (const GRegex *regex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_pattern_info
      Src: /src/glib/glib/gregex.c:2015,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - regex
    argTypes:
    - GRegex*
    constantsTouched: []
    func_position:
      end: 2019
      start: 2010
    functionDepth: 0
    functionLinenumber: 2010
    functionLinenumberEnd: 2019
    functionName: g_regex_get_max_lookbehind
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - pcre2_pattern_info
    linkageType: ''
    returnType: gint
    signature: 'gint g_regex_get_max_lookbehind (const GRegex *regex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_regex_match_full
      Src: /src/glib/glib/gregex.c:2202,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - regex
    - string
    - match_options
    - match_info
    argTypes:
    - GRegex*
    - gchar*
    - GRegexMatchFlags
    - GMatchInfo**
    constantsTouched: []
    func_position:
      end: 2204
      start: 2196
    functionDepth: 0
    functionLinenumber: 2196
    functionLinenumberEnd: 2204
    functionName: g_regex_match
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_regex_match_full
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_regex_match (const GRegex *regex, const gchar *string,
      GRegexMatchFlags match_options, GMatchInfo **match_info) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: string_append
      Src: /src/glib/glib/gregex.c:3202,1
    - Dst: CHANGE_CASE
      Src: /src/glib/glib/gregex.c:3205,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/gregex.c:3210,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gregex.c:3205,1
    - Dst: string_append
      Src: /src/glib/glib/gregex.c:3213,1
    - Dst: g_free
      Src: /src/glib/glib/gregex.c:3214,1
    - Dst: g_match_info_fetch_named
      Src: /src/glib/glib/gregex.c:3218,1
    - Dst: string_append
      Src: /src/glib/glib/gregex.c:3221,1
    - Dst: g_free
      Src: /src/glib/glib/gregex.c:3222,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 22
    argCount: 3
    argNames:
    - match_info
    - result
    - data
    argTypes:
    - GMatchInfo*
    - GString*
    - gpointer
    constantsTouched: []
    func_position:
      end: 3232
      start: 3186
    functionDepth: 0
    functionLinenumber: 3186
    functionLinenumberEnd: 3232
    functionName: interpolate_replacement
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_string_append_c
    - string_append
    - g_match_info_fetch
    - g_match_info_fetch_named
    - CHANGE_CASE
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean interpolate_replacement (const GMatchInfo *match_info,
      GString *result, gpointer data) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:3639,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gregex.c:3670,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gregex.c:3646,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gregex.c:3669,1
    - Dst: strlen
      Src: /src/glib/glib/gregex.c:3642,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gregex.c:3672,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gregex.c:3674,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gregex.c:3678,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gregex.c:3684,1
    - Dst: g_string_free
      Src: /src/glib/glib/gregex.c:3686,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3687
      start: 3632
    functionDepth: 0
    functionLinenumber: 3632
    functionLinenumberEnd: 3687
    functionName: g_regex_escape_string
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_utf8_next_char
    - g_string_append_len
    - strlen
    - g_string_append_c
    - g_string_free
    - g_string_sized_new
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_regex_escape_string (const gchar *string, gint length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:2520,1
    - Dst: pcre2_substring_number_from_name
      Src: /src/glib/glib/gregex.c:2523,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:2521,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - regex
    - name
    argTypes:
    - GRegex*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2528
      start: 2514
    functionDepth: 0
    functionLinenumber: 2514
    functionLinenumberEnd: 2528
    functionName: g_regex_get_string_number
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - pcre2_substring_number_from_name
    linkageType: ''
    returnType: gint
    signature: 'gint g_regex_get_string_number (const GRegex *regex, const gchar *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: split_replacement
      Src: /src/glib/glib/gregex.c:3531,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gregex.c:3535,1
    - Dst: g_list_free_full
      Src: /src/glib/glib/gregex.c:3542,1
    - Dst: interpolation_list_needs_match
      Src: /src/glib/glib/gregex.c:3540,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 3
    argNames:
    - replacement
    - has_references
    - error
    argTypes:
    - gchar*
    - gboolean*
    - GError**
    constantsTouched: []
    func_position:
      end: 3545
      start: 3523
    functionDepth: 0
    functionLinenumber: 3523
    functionLinenumberEnd: 3545
    functionName: g_regex_check_replacement
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - split_replacement
    - interpolation_list_needs_match
    - g_list_free_full
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_regex_check_replacement (const gchar *replacement, gboolean
      *has_references, GError **error) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: g_critical
      Src: /src/glib/glib/gregex.c:480,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:504,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:487,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:485,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:502,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:506,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:512,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:514,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:516,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:519,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 524
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 524
    functionName: translate_match_error
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - _
    - g_critical
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *translate_match_error (gint errcode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gregex.c:866,1
    - Dst: IS_PCRE2_ERROR
      Src: /src/glib/glib/gregex.c:866,1
    - Dst: g_set_error
      Src: /src/glib/glib/gregex.c:877,1
    - Dst: pcre2_get_ovector_count
      Src: /src/glib/glib/gregex.c:875,1
    - Dst: g_assert
      Src: /src/glib/glib/gregex.c:873,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:878,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:879,1
    - Dst: pcre2_get_ovector_pointer
      Src: /src/glib/glib/gregex.c:885,1
    - Dst: g_realloc_n
      Src: /src/glib/glib/gregex.c:889,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - match_info
    - error
    argTypes:
    - GMatchInfo*
    - GError**
    constantsTouched: []
    func_position:
      end: 900
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 900
    functionName: recalc_match_offsets
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_set_error
    - pcre2_get_ovector_count
    - g_assert
    - pcre2_get_ovector_pointer
    - IS_PCRE2_ERROR
    - _
    - g_realloc_n
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean recalc_match_offsets (GMatchInfo *match_info, GError
      **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_match_info_unref
      Src: /src/glib/glib/gregex.c:1070,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - match_info
    argTypes:
    - GMatchInfo*
    constantsTouched: []
    func_position:
      end: 1071
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1071
    functionName: g_match_info_free
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_match_info_unref
    linkageType: ''
    returnType: void
    signature: 'void g_match_info_free (GMatchInfo *match_info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:1265,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - match_info
    argTypes:
    - GMatchInfo*
    constantsTouched: []
    func_position:
      end: 1276
      start: 1262
    functionDepth: 0
    functionLinenumber: 1262
    functionLinenumberEnd: 1276
    functionName: g_match_info_get_match_count
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gint
    signature: 'gint g_match_info_get_match_count (const GMatchInfo *match_info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:1365,1
    - Dst: split_replacement
      Src: /src/glib/glib/gregex.c:1368,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:1366,1
    - Dst: interpolation_list_needs_match
      Src: /src/glib/glib/gregex.c:1375,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gregex.c:1371,1
    - Dst: g_critical
      Src: /src/glib/glib/gregex.c:1377,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gregex.c:1383,1
    - Dst: strlen
      Src: /src/glib/glib/gregex.c:1383,1
    - Dst: interpolate_replacement
      Src: /src/glib/glib/gregex.c:1384,1
    - Dst: g_list_free_full
      Src: /src/glib/glib/gregex.c:1386,1
    - Dst: g_string_free
      Src: /src/glib/glib/gregex.c:1388,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1356
    functionDepth: 0
    functionLinenumber: 1356
    functionLinenumberEnd: 1389
    functionName: g_match_info_expand_references
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_return_val_if_fail
    - split_replacement
    - strlen
    - g_list_free_full
    - g_string_free
    - g_critical
    - g_string_sized_new
    - interpolate_replacement
    - interpolation_list_needs_match
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_match_info_expand_references (const GMatchInfo *match_info,
      const gchar *string_to_expand, GError **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/glib/gregex.c:1746,1
    - Dst: get_pcre2_inline_compile_options
      Src: /src/glib/glib/gregex.c:1788,1
    - Dst: get_pcre2_newline_compile_options
      Src: /src/glib/glib/gregex.c:1769,1
    - Dst: g_new0
      Src: /src/glib/glib/gregex.c:1790,1
    - Dst: g_critical
      Src: /src/glib/glib/gregex.c:1752,1
    - Dst: get_pcre2_match_options
      Src: /src/glib/glib/gregex.c:1765,1
    - Dst: get_pcre2_bsr_compile_options
      Src: /src/glib/glib/gregex.c:1780,1
    - Dst: regex_compile
      Src: /src/glib/glib/gregex.c:1782,1
    - Dst: g_set_error
      Src: /src/glib/glib/gregex.c:1773,1
    - Dst: get_pcre2_newline_match_options
      Src: /src/glib/glib/gregex.c:1767,1
    - Dst: g_once_init_leave
      Src: /src/glib/glib/gregex.c:1754,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gregex.c:1757,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gregex.c:1759,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:1760,1
    - Dst: get_pcre2_bsr_match_options
      Src: /src/glib/glib/gregex.c:1778,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:1738,1
    - Dst: pcre2_config
      Src: /src/glib/glib/gregex.c:1750,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:1739,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:1752,1
    - Dst: get_pcre2_compile_options
      Src: /src/glib/glib/gregex.c:1764,1
    - Dst: g_strdup
      Src: /src/glib/glib/gregex.c:1792,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1800
      start: 1724
    functionDepth: 0
    functionLinenumber: 1724
    functionLinenumberEnd: 1800
    functionName: g_regex_new
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_set_error_literal
    - G_UNLIKELY
    - pcre2_config
    - g_once_init_leave
    - get_pcre2_bsr_match_options
    - get_pcre2_bsr_compile_options
    - get_pcre2_inline_compile_options
    - get_pcre2_compile_options
    - g_set_error
    - g_strdup
    - get_pcre2_newline_match_options
    - get_pcre2_match_options
    - regex_compile
    - _
    - g_return_val_if_fail
    - g_once_init_enter
    - get_pcre2_newline_compile_options
    - g_critical
    - g_new0
    linkageType: ''
    returnType: GRegex*
    signature: 'GRegex *g_regex_new (const gchar *pattern, GRegexCompileFlags compile_options,
      GRegexMatchFlags match_options, GError **error) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:2411,1
    - Dst: g_realloc_n
      Src: /src/glib/glib/gregex.c:2453,1
    - Dst: pcre2_match_data_create
      Src: /src/glib/glib/gregex.c:2466,1
    - Dst: match_info_new
      Src: /src/glib/glib/gregex.c:2435,1
    - Dst: get_match_error_message
      Src: /src/glib/glib/gregex.c:2471,1
    - Dst: pcre2_match_data_free
      Src: /src/glib/glib/gregex.c:2465,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:2409,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:2410,1
    - Dst: pcre2_dfa_match
      Src: /src/glib/glib/gregex.c:2442,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gregex.c:2476,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/gregex.c:2497,1
    - Dst: get_pcre2_newline_match_options
      Src: /src/glib/glib/gregex.c:2415,1
    - Dst: get_pcre2_newline_compile_options
      Src: /src/glib/glib/gregex.c:2417,1
    - Dst: g_set_error
      Src: /src/glib/glib/gregex.c:2473,1
    - Dst: g_realloc_n
      Src: /src/glib/glib/gregex.c:2462,1
    - Dst: pcre2_code_free
      Src: /src/glib/glib/gregex.c:2485,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:2412,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:2413,1
    - Dst: get_pcre2_bsr_match_options
      Src: /src/glib/glib/gregex.c:2419,1
    - Dst: get_pcre2_bsr_compile_options
      Src: /src/glib/glib/gregex.c:2421,1
    - Dst: regex_compile
      Src: /src/glib/glib/gregex.c:2429,1
    - Dst: IS_PCRE2_ERROR
      Src: /src/glib/glib/gregex.c:2469,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:2474,1
    - Dst: recalc_match_offsets
      Src: /src/glib/glib/gregex.c:2480,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 71
    argCount: 7
    argNames:
    - regex
    - string
    - string_len
    - start_position
    - match_options
    - match_info
    - error
    argTypes:
    - GRegex*
    - gchar*
    - gssize
    - gint
    - GRegexMatchFlags
    - GMatchInfo**
    - GError**
    constantsTouched: []
    func_position:
      end: 2500
      start: 2393
    functionDepth: 0
    functionLinenumber: 2393
    functionLinenumberEnd: 2500
    functionName: g_regex_match_all_full
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - get_pcre2_bsr_match_options
    - get_pcre2_bsr_compile_options
    - get_match_error_message
    - g_clear_pointer
    - pcre2_dfa_match
    - pcre2_code_free
    - g_set_error
    - g_match_info_free
    - get_pcre2_newline_match_options
    - match_info_new
    - pcre2_match_data_free
    - regex_compile
    - _
    - pcre2_match_data_create
    - g_return_val_if_fail
    - IS_PCRE2_ERROR
    - get_pcre2_newline_compile_options
    - g_realloc_n
    - recalc_match_offsets
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_regex_match_all_full (const GRegex *regex, const gchar
      *string, gssize string_len, gint start_position, GRegexMatchFlags match_options,
      GMatchInfo **match_info, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:3467,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:3469,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:3470,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:3471,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:3468,1
    - Dst: strlen
      Src: /src/glib/glib/gregex.c:3474,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gregex.c:3476,1
    - Dst: g_regex_match_full
      Src: /src/glib/glib/gregex.c:3479,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/gregex.c:3481,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gregex.c:3483,1
    - Dst: g_match_info_next
      Src: /src/glib/glib/gregex.c:3488,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gregex.c:3498,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gregex.c:3493,1
    - Dst: g_string_free
      Src: /src/glib/glib/gregex.c:3499,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/gregex.c:3490,1
    - Dst: g_string_free
      Src: /src/glib/glib/gregex.c:3494,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3500
      start: 3451
    functionDepth: 0
    functionLinenumber: 3451
    functionLinenumberEnd: 3500
    functionName: g_regex_replace_eval
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_return_val_if_fail
    - strlen
    - g_regex_match_full
    - g_match_info_matches
    - g_string_append_len
    - g_match_info_free
    - g_string_free
    - g_string_sized_new
    - g_match_info_next
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_regex_replace_eval (const GRegex *regex, const gchar *string,
      gssize string_len, gint start_position, GRegexMatchFlags match_options, GRegexEvalCallback
      eval, gpointer user_data, GError **error) '
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 1
    argNames:
    - compile_flags
    argTypes:
    - GRegexCompileFlags
    constantsTouched: []
    func_position:
      end: 305
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 305
    functionName: get_pcre2_compile_options
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t get_pcre2_compile_options (GRegexCompileFlags compile_flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: translate_match_error
      Src: /src/glib/glib/gregex.c:529,1
    - Dst: g_strdup
      Src: /src/glib/glib/gregex.c:540,1
    - Dst: g_strdup
      Src: /src/glib/glib/gregex.c:533,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:540,1
    - Dst: get_pcre2_error_string
      Src: /src/glib/glib/gregex.c:535,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 541
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 541
    functionName: get_match_error_message
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - _
    - g_strdup
    - get_pcre2_error_string
    - translate_match_error
    linkageType: ''
    returnType: char*
    signature: 'static char *get_match_error_message (int errcode) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gregex.c:928,1
    - Dst: pcre2_jit_stack_create
      Src: /src/glib/glib/gregex.c:939,1
    - Dst: pcre2_jit_stack_assign
      Src: /src/glib/glib/gregex.c:940,1
    - Dst: g_debug
      Src: /src/glib/glib/gregex.c:949,1
    - Dst: pcre2_jit_compile
      Src: /src/glib/glib/gregex.c:932,1
    - Dst: g_debug
      Src: /src/glib/glib/gregex.c:954,1
    - Dst: g_debug
      Src: /src/glib/glib/gregex.c:959,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gregex.c:969,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 2
    argNames:
    - match_info
    - match_options
    argTypes:
    - GMatchInfo*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 970
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 970
    functionName: enable_jit_with_match_options
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - pcre2_jit_stack_create
    - g_assert
    - pcre2_jit_compile
    - g_debug
    - g_assert_not_reached
    - pcre2_jit_stack_assign
    linkageType: ''
    returnType: JITStatus
    signature: 'static JITStatus enable_jit_with_match_options (GMatchInfo *match_info,
      uint32_t match_options) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:1672,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gregex.c:1673,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1675
      start: 1669
    functionDepth: 0
    functionLinenumber: 1669
    functionLinenumberEnd: 1675
    functionName: g_regex_ref
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_atomic_int_inc
    - g_return_val_if_fail
    linkageType: ''
    returnType: GRegex*
    signature: 'GRegex *g_regex_ref (GRegex *regex) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_string_append
      Src: /src/glib/glib/gregex.c:3166,1
    - Dst: g_string_append
      Src: /src/glib/glib/gregex.c:3172,1
    - Dst: g_string_append_unichar
      Src: /src/glib/glib/gregex.c:3171,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/gregex.c:3170,1
    - Dst: CHANGE_CASE
      Src: /src/glib/glib/gregex.c:3171,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gregex.c:3172,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/gregex.c:3179,1
    - Dst: g_string_append_unichar
      Src: /src/glib/glib/gregex.c:3180,1
    - Dst: CHANGE_CASE
      Src: /src/glib/glib/gregex.c:3180,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gregex.c:3181,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - string
    - text
    - change_case
    argTypes:
    - GString*
    - gchar*
    - ChangeCase*
    constantsTouched: []
    func_position:
      end: 3184
      start: 3154
    functionDepth: 0
    functionLinenumber: 3154
    functionLinenumberEnd: 3184
    functionName: string_append
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_string_append_unichar
    - g_utf8_next_char
    - g_utf8_get_char
    - CHANGE_CASE
    - g_string_append
    linkageType: ''
    returnType: void
    signature: 'static void string_append (GString *string, const gchar *text, ChangeCase
      *change_case) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:1006,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1008
    functionName: g_match_info_get_string
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_match_info_get_string (const GMatchInfo *match_info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/glib/gregex.c:1040,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/gregex.c:1042,1
    - Dst: pcre2_match_data_free
      Src: /src/glib/glib/gregex.c:1048,1
    - Dst: pcre2_match_context_free
      Src: /src/glib/glib/gregex.c:1044,1
    - Dst: pcre2_jit_stack_free
      Src: /src/glib/glib/gregex.c:1046,1
    - Dst: g_free
      Src: /src/glib/glib/gregex.c:1049,1
    - Dst: g_free
      Src: /src/glib/glib/gregex.c:1050,1
    - Dst: g_free
      Src: /src/glib/glib/gregex.c:1051,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - match_info
    argTypes:
    - GMatchInfo*
    constantsTouched: []
    func_position:
      end: 1053
      start: 1037
    functionDepth: 0
    functionLinenumber: 1037
    functionLinenumberEnd: 1053
    functionName: g_match_info_unref
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_atomic_int_dec_and_test
    - pcre2_match_context_free
    - pcre2_match_data_free
    - pcre2_jit_stack_free
    - g_regex_unref
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_match_info_unref (GMatchInfo *match_info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:1240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - match_info
    argTypes:
    - GMatchInfo*
    constantsTouched: []
    func_position:
      end: 1243
      start: 1237
    functionDepth: 0
    functionLinenumber: 1237
    functionLinenumberEnd: 1243
    functionName: g_match_info_matches
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_match_info_matches (const GMatchInfo *match_info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:1323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - match_info
    argTypes:
    - GMatchInfo*
    constantsTouched: []
    func_position:
      end: 1326
      start: 1320
    functionDepth: 0
    functionLinenumber: 1320
    functionLinenumberEnd: 1326
    functionName: g_match_info_is_partial_match
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_match_info_is_partial_match (const GMatchInfo *match_info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:1475,1
    - Dst: MAX
      Src: /src/glib/glib/gregex.c:1485,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:1476,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 4
    argNames:
    - match_info
    - match_num
    - start_pos
    - end_pos
    argTypes:
    - GMatchInfo*
    - gint
    - gint*
    - gint*
    constantsTouched: []
    func_position:
      end: 1495
      start: 1469
    functionDepth: 0
    functionLinenumber: 1469
    functionLinenumberEnd: 1495
    functionName: g_match_info_fetch_pos
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - MAX
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_match_info_fetch_pos (const GMatchInfo *match_info, gint
      match_num, gint *start_pos, gint *end_pos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_regex_match_all_full
      Src: /src/glib/glib/gregex.c:2335,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - regex
    - string
    - match_options
    - match_info
    argTypes:
    - GRegex*
    - gchar*
    - GRegexMatchFlags
    - GMatchInfo**
    constantsTouched: []
    func_position:
      end: 2337
      start: 2329
    functionDepth: 0
    functionLinenumber: 2329
    functionLinenumberEnd: 2337
    functionName: g_regex_match_all
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_regex_match_all_full
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_regex_match_all (const GRegex *regex, const gchar *string,
      GRegexMatchFlags match_options, GMatchInfo **match_info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_regex_new
      Src: /src/glib/glib/gregex.c:2579,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/gregex.c:2584,1
    - Dst: g_regex_split_full
      Src: /src/glib/glib/gregex.c:2583,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2586
      start: 2570
    functionDepth: 0
    functionLinenumber: 2570
    functionLinenumberEnd: 2586
    functionName: g_regex_split_simple
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_regex_new
    - g_regex_split_full
    - g_regex_unref
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **g_regex_split_simple (const gchar *pattern, const gchar *string,
      GRegexCompileFlags compile_options, GRegexMatchFlags match_options) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:3379,1
    - Dst: g_regex_replace_eval
      Src: /src/glib/glib/gregex.c:3382,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:3380,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3388
      start: 3370
    functionDepth: 0
    functionLinenumber: 3370
    functionLinenumberEnd: 3388
    functionName: g_regex_replace_literal
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_regex_replace_eval
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_regex_replace_literal (const GRegex *regex, const gchar *string,
      gssize string_len, gint start_position, const gchar *replacement, GRegexMatchFlags
      match_options, GError **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - pcre2_flags
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 387
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 387
    functionName: g_regex_match_flags_from_pcre2
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GRegexMatchFlags
    signature: 'static GRegexMatchFlags g_regex_match_flags_from_pcre2 (uint32_t pcre2_flags) '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - match_flags
    - compile_flags
    argTypes:
    - GRegexMatchFlags
    - GRegexCompileFlags
    constantsTouched: []
    func_position:
      end: 333
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 333
    functionName: get_pcre2_match_options
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t get_pcre2_match_options (GRegexMatchFlags match_flags,
      GRegexCompileFlags compile_flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - match_flags
    argTypes:
    - GRegexMatchFlags
    constantsTouched: []
    func_position:
      end: 451
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 451
    functionName: get_pcre2_bsr_match_options
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t get_pcre2_bsr_match_options (GRegexMatchFlags match_flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:987,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 989
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 989
    functionName: g_match_info_get_regex
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: GRegex*
    signature: 'GRegex *g_match_info_get_regex (const GMatchInfo *match_info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:1023,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gregex.c:1024,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1026
    functionName: g_match_info_ref
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_atomic_int_inc
    - g_return_val_if_fail
    linkageType: ''
    returnType: GMatchInfo*
    signature: 'GMatchInfo *g_match_info_ref (GMatchInfo *match_info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:1425,1
    - Dst: g_match_info_fetch_pos
      Src: /src/glib/glib/gregex.c:1430,1
    - Dst: g_strdup
      Src: /src/glib/glib/gregex.c:1433,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:1426,1
    - Dst: g_strndup
      Src: /src/glib/glib/gregex.c:1435,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1418
    functionDepth: 0
    functionLinenumber: 1418
    functionLinenumberEnd: 1438
    functionName: g_match_info_fetch
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_strndup
    - g_return_val_if_fail
    - g_strdup
    - g_match_info_fetch_pos
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_match_info_fetch (const GMatchInfo *match_info, gint match_num) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/glib/gregex.c:1830,1
    - Dst: translate_compile_error
      Src: /src/glib/glib/gregex.c:1864,1
    - Dst: g_free
      Src: /src/glib/glib/gregex.c:1882,1
    - Dst: g_error_new
      Src: /src/glib/glib/gregex.c:1876,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:1877,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gregex.c:1881,1
    - Dst: pcre2_compile_context_create
      Src: /src/glib/glib/gregex.c:1815,1
    - Dst: pcre2_set_bsr
      Src: /src/glib/glib/gregex.c:1828,1
    - Dst: pcre2_compile_context_free
      Src: /src/glib/glib/gregex.c:1823,1
    - Dst: pcre2_compile_context_free
      Src: /src/glib/glib/gregex.c:1833,1
    - Dst: pcre2_compile
      Src: /src/glib/glib/gregex.c:1844,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gregex.c:1883,1
    - Dst: g_set_error
      Src: /src/glib/glib/gregex.c:1820,1
    - Dst: get_pcre2_error_string
      Src: /src/glib/glib/gregex.c:1869,1
    - Dst: pcre2_set_newline
      Src: /src/glib/glib/gregex.c:1818,1
    - Dst: pcre2_compile_context_free
      Src: /src/glib/glib/gregex.c:1850,1
    - Dst: _
      Src: /src/glib/glib/gregex.c:1868,1
    - Dst: g_utf8_pointer_to_offset
      Src: /src/glib/glib/gregex.c:1873,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gregex.c:1875,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1889
      start: 1802
    functionDepth: 0
    functionLinenumber: 1802
    functionLinenumberEnd: 1889
    functionName: regex_compile
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_propagate_error
    - g_strdup_printf
    - get_pcre2_error_string
    - g_utf8_pointer_to_offset
    - pcre2_compile
    - g_error_new
    - translate_compile_error
    - g_clear_pointer
    - pcre2_compile_context_create
    - pcre2_set_newline
    - _
    - pcre2_compile_context_free
    - pcre2_set_bsr
    - g_free
    linkageType: ''
    returnType: pcre2_code*
    signature: 'static pcre2_code *regex_compile (const gchar *pattern, uint32_t compile_options,
      uint32_t newline_options, uint32_t bsr_options, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_regex_new
      Src: /src/glib/glib/gregex.c:2135,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/gregex.c:2139,1
    - Dst: g_regex_match_full
      Src: /src/glib/glib/gregex.c:2138,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - pattern
    - string
    - compile_options
    - match_options
    argTypes:
    - gchar*
    - gchar*
    - GRegexCompileFlags
    - GRegexMatchFlags
    constantsTouched: []
    func_position:
      end: 2141
      start: 2126
    functionDepth: 0
    functionLinenumber: 2126
    functionLinenumberEnd: 2141
    functionName: g_regex_match_simple
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_regex_new
    - g_regex_unref
    - g_regex_match_full
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_regex_match_simple (const gchar *pattern, const gchar *string,
      GRegexCompileFlags compile_options, GRegexMatchFlags match_options) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 1
    argNames:
    - compile_flags
    argTypes:
    - GRegexCompileFlags
    constantsTouched: []
    func_position:
      end: 410
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 410
    functionName: get_pcre2_newline_compile_options
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t get_pcre2_newline_compile_options (GRegexCompileFlags
      compile_flags) '
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 1
    argNames:
    - pcre2_flags
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 364
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 364
    functionName: g_regex_compile_flags_from_pcre2
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GRegexCompileFlags
    signature: 'static GRegexCompileFlags g_regex_compile_flags_from_pcre2 (uint32_t
      pcre2_flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_get_error_message
      Src: /src/glib/glib/gregex.c:459,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gregex.c:460,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gregex.c:466,1
    - Dst: g_memdup2
      Src: /src/glib/glib/gregex.c:467,1
    - Dst: g_assert
      Src: /src/glib/glib/gregex.c:466,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 468
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 468
    functionName: get_pcre2_error_string
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - g_memdup2
    - g_assert
    - pcre2_get_error_message
    linkageType: ''
    returnType: char*
    signature: 'static char *get_pcre2_error_string (int errcode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_pattern_info
      Src: /src/glib/glib/gregex.c:1902,1
    - Dst: pcre2_pattern_info
      Src: /src/glib/glib/gregex.c:1909,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - re
    - compile_options
    argTypes:
    - pcre2_code*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1915
      start: 1891
    functionDepth: 0
    functionLinenumber: 1891
    functionLinenumberEnd: 1915
    functionName: get_pcre2_inline_compile_options
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - pcre2_pattern_info
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t get_pcre2_inline_compile_options (pcre2_code *re,
      uint32_t compile_options) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/gregex.c:2847,1
    - Dst: g_free
      Src: /src/glib/glib/gregex.c:2848,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - InterpolationData*
    constantsTouched: []
    func_position:
      end: 2849
      start: 2844
    functionDepth: 0
    functionLinenumber: 2844
    functionLinenumberEnd: 2849
    functionName: free_interpolation_data
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void free_interpolation_data (InterpolationData *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:2095,1
    - Dst: g_regex_match_flags_from_pcre2
      Src: /src/glib/glib/gregex.c:2097,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - regex
    argTypes:
    - GRegex*
    constantsTouched: []
    func_position:
      end: 2102
      start: 2090
    functionDepth: 0
    functionLinenumber: 2090
    functionLinenumberEnd: 2102
    functionName: g_regex_get_match_flags
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_regex_match_flags_from_pcre2
    linkageType: ''
    returnType: GRegexMatchFlags
    signature: 'GRegexMatchFlags g_regex_get_match_flags (const GRegex *regex) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/glib/gregex.c:2696,1
    - Dst: g_strndup
      Src: /src/glib/glib/gregex.c:2779,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/gregex.c:2745,1
    - Dst: PREV_CHAR
      Src: /src/glib/glib/gregex.c:2792,1
    - Dst: g_list_length
      Src: /src/glib/glib/gregex.c:2804,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:2686,1
    - Dst: g_strndup
      Src: /src/glib/glib/gregex.c:2705,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/gregex.c:2745,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/gregex.c:2756,1
    - Dst: g_match_info_get_match_count
      Src: /src/glib/glib/gregex.c:2741,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/gregex.c:2796,1
    - Dst: g_list_free_full
      Src: /src/glib/glib/gregex.c:2800,1
    - Dst: g_list_last
      Src: /src/glib/glib/gregex.c:2806,1
    - Dst: g_list_previous
      Src: /src/glib/glib/gregex.c:2806,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:2687,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:2689,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:2688,1
    - Dst: g_new0
      Src: /src/glib/glib/gregex.c:2700,1
    - Dst: PREV_CHAR
      Src: /src/glib/glib/gregex.c:2772,1
    - Dst: g_strndup
      Src: /src/glib/glib/gregex.c:2734,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gregex.c:2799,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gregex.c:2690,1
    - Dst: g_new0
      Src: /src/glib/glib/gregex.c:2704,1
    - Dst: g_regex_match_full
      Src: /src/glib/glib/gregex.c:2715,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/gregex.c:2736,1
    - Dst: g_strndup
      Src: /src/glib/glib/gregex.c:2754,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/gregex.c:2781,1
    - Dst: g_match_info_next
      Src: /src/glib/glib/gregex.c:2794,1
    - Dst: g_new
      Src: /src/glib/glib/gregex.c:2804,1
    - Dst: g_list_free
      Src: /src/glib/glib/gregex.c:2809,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 106
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2812
      start: 2664
    functionDepth: 0
    functionLinenumber: 2664
    functionLinenumberEnd: 2812
    functionName: g_regex_split_full
    functionSourceFile: /src/glib/glib/gregex.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - PREV_CHAR
    - g_list_previous
    - g_return_val_if_fail
    - strlen
    - g_regex_match_full
    - g_list_free_full
    - g_match_info_free
    - g_strndup
    - g_match_info_fetch
    - g_new
    - g_list_length
    - g_match_info_get_match_count
    - g_list_last
    - g_list_free
    - g_list_prepend
    - g_new0
    - g_match_info_next
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **g_regex_split_full (const GRegex *regex, const gchar *string,
      gssize string_len, gint start_position, GRegexMatchFlags match_options, gint
      max_tokens, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_spawn_async
      Src: /src/glib/glib/gspawn-win32.c:1467,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 8
    argNames:
    - working_directory
    - argv
    - envp
    - flags
    - child_setup
    - user_data
    - child_pid
    - error
    argTypes:
    - gchar*
    - gchar**
    - gchar**
    - GSpawnFlags
    - GSpawnChildSetupFunc
    - gpointer
    - GPid*
    - GError**
    constantsTouched: []
    func_position:
      end: 1475
      start: 1457
    functionDepth: 0
    functionLinenumber: 1457
    functionLinenumberEnd: 1475
    functionName: g_spawn_async_utf8
    functionSourceFile: /src/glib/glib/gspawn-win32.c
    functionUses: []
    functionsReached:
    - g_spawn_async
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_spawn_async_utf8 (const gchar *working_directory, gchar
      **argv, gchar **envp, GSpawnFlags flags, GSpawnChildSetupFunc child_setup, gpointer
      user_data, GPid *child_pid, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_spawn_async_with_pipes
      Src: /src/glib/glib/gspawn-win32.c:1490,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 2
    argCount: 11
    argNames:
    - working_directory
    - argv
    - envp
    - flags
    - child_setup
    - user_data
    - child_pid
    - standard_input
    - standard_output
    - standard_error
    - error
    argTypes:
    - gchar*
    - gchar**
    - gchar**
    - GSpawnFlags
    - GSpawnChildSetupFunc
    - gpointer
    - GPid*
    - gint*
    - gint*
    - gint*
    - GError**
    constantsTouched: []
    func_position:
      end: 1501
      start: 1477
    functionDepth: 0
    functionLinenumber: 1477
    functionLinenumberEnd: 1501
    functionName: g_spawn_async_with_pipes_utf8
    functionSourceFile: /src/glib/glib/gspawn-win32.c
    functionUses: []
    functionsReached:
    - g_spawn_async_with_pipes
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_spawn_async_with_pipes_utf8 (const gchar *working_directory,
      gchar **argv, gchar **envp, GSpawnFlags flags, GSpawnChildSetupFunc child_setup,
      gpointer user_data, GPid *child_pid, gint *standard_input, gint *standard_output,
      gint *standard_error, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_spawn_command_line_async
      Src: /src/glib/glib/gspawn-win32.c:1545,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - command_line
    - error
    argTypes:
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 1546
      start: 1541
    functionDepth: 0
    functionLinenumber: 1541
    functionLinenumberEnd: 1546
    functionName: g_spawn_command_line_async_utf8
    functionSourceFile: /src/glib/glib/gspawn-win32.c
    functionUses: []
    functionsReached:
    - g_spawn_command_line_async
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_spawn_command_line_async_utf8 (const gchar *command_line,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/glib/glib/gspawn-win32.c:357,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - fd
    argTypes:
    - gint*
    constantsTouched: []
    func_position:
      end: 359
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 359
    functionName: close_and_invalidate
    functionSourceFile: /src/glib/glib/gspawn-win32.c
    functionUses: []
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: 'static void close_and_invalidate (gint *fd) '
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: g_io_channel_win32_new_fd
      Src: /src/glib/glib/gspawn-win32.c:1156,1
    - Dst: g_io_channel_win32_new_fd
      Src: /src/glib/glib/gspawn-win32.c:1169,1
    - Dst: g_print
      Src: /src/glib/glib/gspawn-win32.c:1223,1
    - Dst: g_io_channel_unref
      Src: /src/glib/glib/gspawn-win32.c:1250,1
    - Dst: set_child_error
      Src: /src/glib/glib/gspawn-win32.c:1291,1
    - Dst: g_io_channel_unref
      Src: /src/glib/glib/gspawn-win32.c:1305,1
    - Dst: g_string_free
      Src: /src/glib/glib/gspawn-win32.c:1316,1
    - Dst: g_string_free
      Src: /src/glib/glib/gspawn-win32.c:1323,1
    - Dst: g_string_free
      Src: /src/glib/glib/gspawn-win32.c:1314,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn-win32.c:1307,1
    - Dst: g_print
      Src: /src/glib/glib/gspawn-win32.c:1230,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn-win32.c:1113,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn-win32.c:1114,1
    - Dst: g_io_channel_set_encoding
      Src: /src/glib/glib/gspawn-win32.c:1157,1
    - Dst: g_io_channel_set_encoding
      Src: /src/glib/glib/gspawn-win32.c:1170,1
    - Dst: g_io_channel_win32_poll
      Src: /src/glib/glib/gspawn-win32.c:1200,1
    - Dst: read_data
      Src: /src/glib/glib/gspawn-win32.c:1214,1
    - Dst: g_print
      Src: /src/glib/glib/gspawn-win32.c:1218,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn-win32.c:1309,1
    - Dst: g_string_free
      Src: /src/glib/glib/gspawn-win32.c:1326,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn-win32.c:1115,1
    - Dst: g_io_channel_set_buffered
      Src: /src/glib/glib/gspawn-win32.c:1158,1
    - Dst: g_io_channel_win32_make_pollfd
      Src: /src/glib/glib/gspawn-win32.c:1159,1
    - Dst: g_io_channel_set_buffered
      Src: /src/glib/glib/gspawn-win32.c:1171,1
    - Dst: g_print
      Src: /src/glib/glib/gspawn-win32.c:1176,1
    - Dst: g_print
      Src: /src/glib/glib/gspawn-win32.c:1197,1
    - Dst: g_print
      Src: /src/glib/glib/gspawn-win32.c:1163,1
    - Dst: g_io_channel_win32_make_pollfd
      Src: /src/glib/glib/gspawn-win32.c:1172,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gspawn-win32.c:1206,1
    - Dst: _
      Src: /src/glib/glib/gspawn-win32.c:1207,1
    - Dst: g_print
      Src: /src/glib/glib/gspawn-win32.c:1249,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn-win32.c:1296,1
    - Dst: g_io_channel_unref
      Src: /src/glib/glib/gspawn-win32.c:1224,1
    - Dst: g_io_channel_unref
      Src: /src/glib/glib/gspawn-win32.c:1303,1
    - Dst: fork_exec
      Src: /src/glib/glib/gspawn-win32.c:1129,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn-win32.c:1117,1
    - Dst: g_string_new
      Src: /src/glib/glib/gspawn-win32.c:1155,1
    - Dst: g_string_new
      Src: /src/glib/glib/gspawn-win32.c:1168,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn-win32.c:1226,1
    - Dst: read_data
      Src: /src/glib/glib/gspawn-win32.c:1240,1
    - Dst: g_print
      Src: /src/glib/glib/gspawn-win32.c:1244,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn-win32.c:1252,1
    - Dst: g_print
      Src: /src/glib/glib/gspawn-win32.c:1256,1
    - Dst: read_helper_report
      Src: /src/glib/glib/gspawn-win32.c:1280,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 125
    argCount: 10
    argNames:
    - working_directory
    - argv
    - envp
    - flags
    - child_setup
    - user_data
    - standard_output
    - standard_error
    - wait_status
    - error
    argTypes:
    - gchar*
    - gchar**
    - gchar**
    - GSpawnFlags
    - GSpawnChildSetupFunc
    - gpointer
    - gchar**
    - gchar**
    - gint*
    - GError**
    constantsTouched: []
    func_position:
      end: 1330
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1330
    functionName: g_spawn_sync_impl
    functionSourceFile: /src/glib/glib/gspawn-win32.c
    functionUses: []
    functionsReached:
    - fork_exec
    - g_return_val_if_fail
    - read_helper_report
    - close_and_invalidate
    - g_io_channel_win32_poll
    - g_io_channel_win32_make_pollfd
    - g_io_channel_set_buffered
    - g_io_channel_win32_new_fd
    - set_child_error
    - g_set_error_literal
    - g_string_free
    - read_data
    - g_print
    - g_string_new
    - _
    - g_io_channel_unref
    - g_io_channel_set_encoding
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_spawn_sync_impl (const gchar *working_directory, gchar
      **argv, gchar **envp, GSpawnFlags flags, GSpawnChildSetupFunc child_setup, gpointer
      user_data, gchar **standard_output, gchar **standard_error, gint *wait_status,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_spawn_sync
      Src: /src/glib/glib/gspawn-win32.c:1515,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 2
    argCount: 10
    argNames:
    - working_directory
    - argv
    - envp
    - flags
    - child_setup
    - user_data
    - standard_output
    - standard_error
    - wait_status
    - error
    argTypes:
    - gchar*
    - gchar**
    - gchar**
    - GSpawnFlags
    - GSpawnChildSetupFunc
    - gpointer
    - gchar**
    - gchar**
    - gint*
    - GError**
    constantsTouched: []
    func_position:
      end: 1525
      start: 1503
    functionDepth: 0
    functionLinenumber: 1503
    functionLinenumberEnd: 1525
    functionName: g_spawn_sync_utf8
    functionSourceFile: /src/glib/glib/gspawn-win32.c
    functionUses: []
    functionsReached:
    - g_spawn_sync
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_spawn_sync_utf8 (const gchar *working_directory, gchar
      **argv, gchar **envp, GSpawnFlags flags, GSpawnChildSetupFunc child_setup, gpointer
      user_data, gchar **standard_output, gchar **standard_error, gint *wait_status,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gspawn-win32.c:143,1
    - Dst: _wspawnve
      Src: /src/glib/glib/gspawn-win32.c:144,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gspawn-win32.c:145,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 4
    argNames:
    - _Mode
    - _Filename
    - _ArgList
    - _Env
    argTypes:
    - int
    - wchar_t*
    - wchar_t**
    - wchar_t**
    constantsTouched: []
    func_position:
      end: 148
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 148
    functionName: safe_wspawnve
    functionSourceFile: /src/glib/glib/gspawn-win32.c
    functionUses: []
    functionsReached:
    - _wspawnve
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: intptr_t
    signature: 'static intptr_t safe_wspawnve (int _Mode, const wchar_t *_Filename,
      const wchar_t *const *_ArgList, const wchar_t *const *_Env) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn-win32.c:1351,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn-win32.c:1352,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn-win32.c:1354,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn-win32.c:1360,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn-win32.c:1357,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn-win32.c:1361,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn-win32.c:1362,1
    - Dst: fork_exec
      Src: /src/glib/glib/gspawn-win32.c:1364,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 34
    argCount: 17
    argNames:
    - working_directory
    - argv
    - envp
    - flags
    - child_setup
    - user_data
    - stdin_fd
    - stdout_fd
    - stderr_fd
    - source_fds
    - target_fds
    - n_fds
    - child_pid_out
    - stdin_pipe_out
    - stdout_pipe_out
    - stderr_pipe_out
    - error
    argTypes:
    - gchar*
    - gchar**
    - gchar**
    - GSpawnFlags
    - GSpawnChildSetupFunc
    - gpointer
    - gint
    - gint
    - gint
    - gint*
    - gint*
    - gsize
    - GPid*
    - gint*
    - gint*
    - gint*
    - GError**
    constantsTouched: []
    func_position:
      end: 1384
      start: 1332
    functionDepth: 0
    functionLinenumber: 1332
    functionLinenumberEnd: 1384
    functionName: g_spawn_async_with_pipes_and_fds_impl
    functionSourceFile: /src/glib/glib/gspawn-win32.c
    functionUses: []
    functionsReached:
    - fork_exec
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_spawn_async_with_pipes_and_fds_impl (const gchar *working_directory,
      const gchar * const *argv, const gchar * const *envp, GSpawnFlags flags, GSpawnChildSetupFunc
      child_setup, gpointer user_data, gint stdin_fd, gint stdout_fd, gint stderr_fd,
      const gint *source_fds, const gint *target_fds, gsize n_fds, GPid *child_pid_out,
      gint *stdin_pipe_out, gint *stdout_pipe_out, gint *stderr_pipe_out, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_spawn_command_line_sync
      Src: /src/glib/glib/gspawn-win32.c:1534,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 5
    argNames:
    - command_line
    - standard_output
    - standard_error
    - wait_status
    - error
    argTypes:
    - gchar*
    - gchar**
    - gchar**
    - gint*
    - GError**
    constantsTouched: []
    func_position:
      end: 1539
      start: 1527
    functionDepth: 0
    functionLinenumber: 1527
    functionLinenumberEnd: 1539
    functionName: g_spawn_command_line_sync_utf8
    functionSourceFile: /src/glib/glib/gspawn-win32.c
    functionUses: []
    functionsReached:
    - g_spawn_command_line_sync
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_spawn_command_line_sync_utf8 (const gchar *command_line,
      gchar **standard_output, gchar **standard_error, gint *wait_status, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/glib/gspawn-win32.c:434,1
    - Dst: _
      Src: /src/glib/glib/gspawn-win32.c:449,1
    - Dst: read
      Src: /src/glib/glib/gspawn-win32.c:438,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn-win32.c:448,1
    - Dst: g_print
      Src: /src/glib/glib/gspawn-win32.c:443,1
    - Dst: g_strerror
      Src: /src/glib/glib/gspawn-win32.c:450,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn-win32.c:456,1
    - Dst: _
      Src: /src/glib/glib/gspawn-win32.c:457,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 3
    argNames:
    - fd
    - report
    - error
    argTypes:
    - int
    - gintptr
    - GError**
    constantsTouched: []
    func_position:
      end: 469
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 469
    functionName: read_helper_report
    functionSourceFile: /src/glib/glib/gspawn-win32.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_strerror
    - g_print
    - _
    - read
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean read_helper_report (int fd,\t\t gintptr report[2],\t\
      \t GError **error) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/glib/gspawn-win32.c:519,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/gspawn-win32.c:523,1
    - Dst: g_free
      Src: /src/glib/glib/gspawn-win32.c:530,1
    - Dst: g_free
      Src: /src/glib/glib/gspawn-win32.c:529,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 20
    argCount: 4
    argNames:
    - utf8_charv
    - wcharv
    - error_index
    - error
    argTypes:
    - gchar**
    - wchar_t***
    - int*
    - GError**
    constantsTouched: []
    func_position:
      end: 539
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 539
    functionName: utf8_charv_to_wcharv
    functionSourceFile: /src/glib/glib/gspawn-win32.c
    functionUses: []
    functionsReached:
    - g_utf8_to_utf16
    - g_free
    - g_new
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean utf8_charv_to_wcharv (const gchar * const *utf8_charv,
      wchar_t ***wcharv, int *error_index, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AttachConsole
      Src: /src/glib/glib/gspawn-win32.c:644,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gspawn-win32.c:645,1
    - Dst: g_return_val_if_reached
      Src: /src/glib/glib/gspawn-win32.c:658,1
    - Dst: GetLastError
      Src: /src/glib/glib/gspawn-win32.c:647,1
    - Dst: GetCurrentProcessId
      Src: /src/glib/glib/gspawn-win32.c:644,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 659
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 659
    functionName: might_be_console_process
    functionSourceFile: /src/glib/glib/gspawn-win32.c
    functionUses: []
    functionsReached:
    - GetCurrentProcessId
    - g_return_val_if_reached
    - g_return_val_if_fail
    - GetLastError
    - AttachConsole
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean might_be_console_process (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CloseHandle
      Src: /src/glib/glib/gspawn-win32.c:1392,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GPid
    constantsTouched: []
    func_position:
      end: 1393
      start: 1386
    functionDepth: 0
    functionLinenumber: 1386
    functionLinenumberEnd: 1393
    functionName: g_spawn_close_pid_impl
    functionSourceFile: /src/glib/glib/gspawn-win32.c
    functionUses: []
    functionsReached:
    - CloseHandle
    linkageType: ''
    returnType: void
    signature: 'void g_spawn_close_pid_impl (GPid pid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_cmd_environment
      Src: /src/glib/glib/gspawn-win32.c:242,1
    - Dst: _wspawnvpe
      Src: /src/glib/glib/gspawn-win32.c:244,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - _mode
    - _filename
    - _args
    - _env
    argTypes:
    - int
    - wchar_t*
    - wchar_t**
    - wchar_t**
    constantsTouched: []
    func_position:
      end: 245
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 245
    functionName: safe_wspawnvpe
    functionSourceFile: /src/glib/glib/gspawn-win32.c
    functionUses: []
    functionsReached:
    - _wspawnvpe
    - ensure_cmd_environment
    linkageType: ''
    returnType: intptr_t
    signature: 'static intptr_t safe_wspawnvpe (int _mode, const wchar_t * _filename,
      const wchar_t *const *_args, const wchar_t *const *_env) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn-win32.c:479,1
    - Dst: _
      Src: /src/glib/glib/gspawn-win32.c:486,1
    - Dst: g_strerror
      Src: /src/glib/glib/gspawn-win32.c:482,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn-win32.c:485,1
    - Dst: _
      Src: /src/glib/glib/gspawn-win32.c:480,1
    - Dst: g_strerror
      Src: /src/glib/glib/gspawn-win32.c:487,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn-win32.c:490,1
    - Dst: _
      Src: /src/glib/glib/gspawn-win32.c:491,1
    - Dst: g_strerror
      Src: /src/glib/glib/gspawn-win32.c:492,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn-win32.c:495,1
    - Dst: g_strerror
      Src: /src/glib/glib/gspawn-win32.c:497,1
    - Dst: _
      Src: /src/glib/glib/gspawn-win32.c:496,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gspawn-win32.c:500,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 3
    argNames:
    - report
    - working_directory
    - error
    argTypes:
    - gintptr
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 502
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 502
    functionName: set_child_error
    functionSourceFile: /src/glib/glib/gspawn-win32.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_strerror
    - g_assert_not_reached
    - _
    linkageType: ''
    returnType: void
    signature: "static void set_child_error (gintptr report[2],\t\t const gchar *working_directory,\t\
      \t GError **error) "
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gspawn-win32.c:559,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/gspawn-win32.c:563,1
    - Dst: _
      Src: /src/glib/glib/gspawn-win32.c:567,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn-win32.c:566,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn-win32.c:576,1
    - Dst: g_free
      Src: /src/glib/glib/gspawn-win32.c:580,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gspawn-win32.c:592,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gspawn-win32.c:611,1
    - Dst: _g_spawn_exec_err_to_g_error
      Src: /src/glib/glib/gspawn-win32.c:616,1
    - Dst: g_strerror
      Src: /src/glib/glib/gspawn-win32.c:618,1
    - Dst: _
      Src: /src/glib/glib/gspawn-win32.c:577,1
    - Dst: utf8_charv_to_wcharv
      Src: /src/glib/glib/gspawn-win32.c:585,1
    - Dst: _
      Src: /src/glib/glib/gspawn-win32.c:617,1
    - Dst: CloseHandle
      Src: /src/glib/glib/gspawn-win32.c:628,1
    - Dst: safe_wspawnve
      Src: /src/glib/glib/gspawn-win32.c:604,1
    - Dst: safe_wspawnvpe
      Src: /src/glib/glib/gspawn-win32.c:599,1
    - Dst: g_error_free
      Src: /src/glib/glib/gspawn-win32.c:590,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gspawn-win32.c:612,1
    - Dst: g_error_free
      Src: /src/glib/glib/gspawn-win32.c:569,1
    - Dst: utf8_charv_to_wcharv
      Src: /src/glib/glib/gspawn-win32.c:574,1
    - Dst: g_error_free
      Src: /src/glib/glib/gspawn-win32.c:579,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn-win32.c:587,1
    - Dst: g_free
      Src: /src/glib/glib/gspawn-win32.c:591,1
    - Dst: _wspawnvp
      Src: /src/glib/glib/gspawn-win32.c:601,1
    - Dst: _
      Src: /src/glib/glib/gspawn-win32.c:588,1
    - Dst: _wspawnv
      Src: /src/glib/glib/gspawn-win32.c:606,1
    - Dst: g_free
      Src: /src/glib/glib/gspawn-win32.c:610,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn-win32.c:616,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 62
    argCount: 8
    argNames:
    - exit_status
    - do_return_handle
    - flags
    - argv
    - envp
    - protected_argv
    - child_pid
    - error
    argTypes:
    - gint*
    - gboolean
    - GSpawnFlags
    - gchar**
    - gchar**
    - gchar**
    - GPid*
    - GError**
    constantsTouched: []
    func_position:
      end: 637
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 637
    functionName: do_spawn_directly
    functionSourceFile: /src/glib/glib/gspawn-win32.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _g_spawn_exec_err_to_g_error
    - g_assert
    - g_utf8_to_utf16
    - _wspawnvp
    - g_strerror
    - g_free
    - _wspawnv
    - g_strfreev
    - safe_wspawnve
    - g_error_free
    - safe_wspawnvpe
    - CloseHandle
    - _
    - utf8_charv_to_wcharv
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean do_spawn_directly (gint *exit_status, gboolean do_return_handle,
      GSpawnFlags flags, const gchar * const *argv, const gchar * const *envp, const
      gchar * const *protected_argv, GPid *child_pid, GError **error) '
  - BBCount: 59
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gspawn-win32.c:705,1
    - Dst: _g_spawn_invalid_source_fd
      Src: /src/glib/glib/gspawn-win32.c:765,1
    - Dst: _
      Src: /src/glib/glib/gspawn-win32.c:913,1
    - Dst: g_free
      Src: /src/glib/glib/gspawn-win32.c:924,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn-win32.c:932,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn-win32.c:965,1
    - Dst: _wspawnvp
      Src: /src/glib/glib/gspawn-win32.c:953,1
    - Dst: g_print
      Src: /src/glib/glib/gspawn-win32.c:1016,1
    - Dst: close
      Src: /src/glib/glib/gspawn-win32.c:1067,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn-win32.c:1045,1
    - Dst: g_win32_reopen_noninherited
      Src: /src/glib/glib/gspawn-win32.c:813,1
    - Dst: g_free
      Src: /src/glib/glib/gspawn-win32.c:940,1
    - Dst: g_string_free
      Src: /src/glib/glib/gspawn-win32.c:894,1
    - Dst: _g_spawn_invalid_source_fd
      Src: /src/glib/glib/gspawn-win32.c:771,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gspawn-win32.c:959,1
    - Dst: SETUP_DEBUG
      Src: /src/glib/glib/gspawn-win32.c:900,1
    - Dst: g_free
      Src: /src/glib/glib/gspawn-win32.c:969,1
    - Dst: close
      Src: /src/glib/glib/gspawn-win32.c:1078,1
    - Dst: g_free
      Src: /src/glib/glib/gspawn-win32.c:938,1
    - Dst: make_pipe
      Src: /src/glib/glib/gspawn-win32.c:768,1
    - Dst: _g_sprintf
      Src: /src/glib/glib/gspawn-win32.c:820,1
    - Dst: g_string_new
      Src: /src/glib/glib/gspawn-win32.c:886,1
    - Dst: g_assert
      Src: /src/glib/glib/gspawn-win32.c:989,1
    - Dst: DuplicateHandle
      Src: /src/glib/glib/gspawn-win32.c:1011,1
    - Dst: close
      Src: /src/glib/glib/gspawn-win32.c:1080,1
    - Dst: g_free
      Src: /src/glib/glib/gspawn-win32.c:972,1
    - Dst: g_strerror
      Src: /src/glib/glib/gspawn-win32.c:979,1
    - Dst: write
      Src: /src/glib/glib/gspawn-win32.c:991,1
    - Dst: close
      Src: /src/glib/glib/gspawn-win32.c:1074,1
    - Dst: do_spawn_directly
      Src: /src/glib/glib/gspawn-win32.c:755,1
    - Dst: close
      Src: /src/glib/glib/gspawn-win32.c:1076,1
    - Dst: g_print
      Src: /src/glib/glib/gspawn-win32.c:904,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gspawn-win32.c:758,1
    - Dst: make_pipe
      Src: /src/glib/glib/gspawn-win32.c:735,1
    - Dst: _g_spawn_invalid_source_fd
      Src: /src/glib/glib/gspawn-win32.c:738,1
    - Dst: safe_wspawnvpe
      Src: /src/glib/glib/gspawn-win32.c:951,1
    - Dst: GetCurrentProcess
      Src: /src/glib/glib/gspawn-win32.c:1012,1
    - Dst: write
      Src: /src/glib/glib/gspawn-win32.c:1023,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn-win32.c:964,1
    - Dst: g_assert
      Src: /src/glib/glib/gspawn-win32.c:702,1
    - Dst: _
      Src: /src/glib/glib/gspawn-win32.c:917,1
    - Dst: g_free
      Src: /src/glib/glib/gspawn-win32.c:921,1
    - Dst: g_free
      Src: /src/glib/glib/gspawn-win32.c:957,1
    - Dst: GetLastError
      Src: /src/glib/glib/gspawn-win32.c:1015,1
    - Dst: g_free
      Src: /src/glib/glib/gspawn-win32.c:937,1
    - Dst: g_warning
      Src: /src/glib/glib/gspawn-win32.c:710,1
    - Dst: make_pipe
      Src: /src/glib/glib/gspawn-win32.c:715,1
    - Dst: _g_spawn_invalid_source_fd
      Src: /src/glib/glib/gspawn-win32.c:718,1
    - Dst: _g_spawn_invalid_source_fd
      Src: /src/glib/glib/gspawn-win32.c:727,1
    - Dst: _g_sprintf
      Src: /src/glib/glib/gspawn-win32.c:783,1
    - Dst: g_string_truncate
      Src: /src/glib/glib/gspawn-win32.c:893,1
    - Dst: read_helper_report
      Src: /src/glib/glib/gspawn-win32.c:997,1
    - Dst: close
      Src: /src/glib/glib/gspawn-win32.c:1065,1
    - Dst: _g_sprintf
      Src: /src/glib/glib/gspawn-win32.c:850,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn-win32.c:912,1
    - Dst: g_free
      Src: /src/glib/glib/gspawn-win32.c:923,1
    - Dst: _
      Src: /src/glib/glib/gspawn-win32.c:933,1
    - Dst: g_win32_error_message
      Src: /src/glib/glib/gspawn-win32.c:1015,1
    - Dst: write
      Src: /src/glib/glib/gspawn-win32.c:1028,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn-win32.c:1044,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn-win32.c:916,1
    - Dst: _g_spawn_invalid_source_fd
      Src: /src/glib/glib/gspawn-win32.c:717,1
    - Dst: g_new
      Src: /src/glib/glib/gspawn-win32.c:774,1
    - Dst: protect_argv_string
      Src: /src/glib/glib/gspawn-win32.c:781,1
    - Dst: g_strdup
      Src: /src/glib/glib/gspawn-win32.c:865,1
    - Dst: _g_sprintf
      Src: /src/glib/glib/gspawn-win32.c:804,1
    - Dst: g_free
      Src: /src/glib/glib/gspawn-win32.c:939,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn-win32.c:1024,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn-win32.c:1029,1
    - Dst: CloseHandle
      Src: /src/glib/glib/gspawn-win32.c:1038,1
    - Dst: g_error_free
      Src: /src/glib/glib/gspawn-win32.c:919,1
    - Dst: g_assert
      Src: /src/glib/glib/gspawn-win32.c:704,1
    - Dst: _g_spawn_invalid_source_fd
      Src: /src/glib/glib/gspawn-win32.c:764,1
    - Dst: might_be_console_process
      Src: /src/glib/glib/gspawn-win32.c:775,1
    - Dst: _g_sprintf
      Src: /src/glib/glib/gspawn-win32.c:836,1
    - Dst: g_free
      Src: /src/glib/glib/gspawn-win32.c:925,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn-win32.c:992,1
    - Dst: close
      Src: /src/glib/glib/gspawn-win32.c:1063,1
    - Dst: g_free
      Src: /src/glib/glib/gspawn-win32.c:948,1
    - Dst: protect_argv
      Src: /src/glib/glib/gspawn-win32.c:743,1
    - Dst: _g_spawn_invalid_source_fd
      Src: /src/glib/glib/gspawn-win32.c:770,1
    - Dst: g_error_free
      Src: /src/glib/glib/gspawn-win32.c:935,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gspawn-win32.c:958,1
    - Dst: g_free
      Src: /src/glib/glib/gspawn-win32.c:941,1
    - Dst: g_free
      Src: /src/glib/glib/gspawn-win32.c:971,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn-win32.c:1000,1
    - Dst: CloseHandle
      Src: /src/glib/glib/gspawn-win32.c:1059,1
    - Dst: close
      Src: /src/glib/glib/gspawn-win32.c:1061,1
    - Dst: g_assert
      Src: /src/glib/glib/gspawn-win32.c:703,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gspawn-win32.c:890,1
    - Dst: utf8_charv_to_wcharv
      Src: /src/glib/glib/gspawn-win32.c:930,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gspawn-win32.c:936,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gspawn-win32.c:942,1
    - Dst: g_free
      Src: /src/glib/glib/gspawn-win32.c:970,1
    - Dst: g_print
      Src: /src/glib/glib/gspawn-win32.c:906,1
    - Dst: g_free
      Src: /src/glib/glib/gspawn-win32.c:922,1
    - Dst: make_pipe
      Src: /src/glib/glib/gspawn-win32.c:762,1
    - Dst: _g_spawn_invalid_source_fd
      Src: /src/glib/glib/gspawn-win32.c:728,1
    - Dst: g_win32_find_helper_executable_path
      Src: /src/glib/glib/gspawn-win32.c:780,1
    - Dst: utf8_charv_to_wcharv
      Src: /src/glib/glib/gspawn-win32.c:909,1
    - Dst: _
      Src: /src/glib/glib/gspawn-win32.c:978,1
    - Dst: close
      Src: /src/glib/glib/gspawn-win32.c:1070,1
    - Dst: strcat
      Src: /src/glib/glib/gspawn-win32.c:801,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/gspawn-win32.c:947,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gspawn-win32.c:967,1
    - Dst: g_free
      Src: /src/glib/glib/gspawn-win32.c:1017,1
    - Dst: set_child_error
      Src: /src/glib/glib/gspawn-win32.c:1030,1
    - Dst: close_and_invalidate
      Src: /src/glib/glib/gspawn-win32.c:1043,1
    - Dst: close
      Src: /src/glib/glib/gspawn-win32.c:1072,1
    - Dst: protect_argv_string
      Src: /src/glib/glib/gspawn-win32.c:863,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gspawn-win32.c:920,1
    - Dst: make_pipe
      Src: /src/glib/glib/gspawn-win32.c:725,1
    - Dst: _g_spawn_invalid_source_fd
      Src: /src/glib/glib/gspawn-win32.c:737,1
    - Dst: g_win32_reopen_noninherited
      Src: /src/glib/glib/gspawn-win32.c:791,1
    - Dst: g_strdup
      Src: /src/glib/glib/gspawn-win32.c:883,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn-win32.c:977,1
    CyclomaticComplexity: 130
    EdgeCount: 130
    ICount: 290
    argCount: 20
    argNames:
    - exit_status
    - do_return_handle
    - working_directory
    - argv
    - envp
    - flags
    - child_setup
    - user_data
    - child_pid
    - stdin_pipe_out
    - stdout_pipe_out
    - stderr_pipe_out
    - stdin_fd
    - stdout_fd
    - stderr_fd
    - source_fds
    - target_fds
    - n_fds
    - err_report
    - error
    argTypes:
    - gint*
    - gboolean
    - gchar*
    - gchar**
    - gchar**
    - GSpawnFlags
    - GSpawnChildSetupFunc
    - gpointer
    - GPid*
    - gint*
    - gint*
    - gint*
    - gint
    - gint
    - gint
    - gint*
    - gint*
    - gsize
    - gint*
    - GError**
    constantsTouched: []
    func_position:
      end: 1083
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 1083
    functionName: fork_exec
    functionSourceFile: /src/glib/glib/gspawn-win32.c
    functionUses: []
    functionsReached:
    - DuplicateHandle
    - read_helper_report
    - make_pipe
    - might_be_console_process
    - g_strerror
    - protect_argv
    - utf8_charv_to_wcharv
    - g_win32_reopen_noninherited
    - g_string_truncate
    - strcat
    - g_win32_find_helper_executable_path
    - protect_argv_string
    - g_warning
    - g_strfreev
    - g_error_free
    - g_print
    - _g_sprintf
    - do_spawn_directly
    - g_set_error
    - write
    - g_strdup
    - _g_spawn_invalid_source_fd
    - g_new
    - close_and_invalidate
    - SETUP_DEBUG
    - g_string_new
    - _
    - g_string_append_printf
    - g_win32_error_message
    - g_assert
    - g_utf8_to_utf16
    - _wspawnvp
    - set_child_error
    - GetLastError
    - g_string_free
    - safe_wspawnvpe
    - GetCurrentProcess
    - close
    - CloseHandle
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean fork_exec (gint *exit_status, gboolean do_return_handle,
      const gchar *working_directory, const gchar * const *argv, const gchar * const
      *envp, GSpawnFlags flags, GSpawnChildSetupFunc child_setup, gpointer user_data,
      GPid *child_pid, gint *stdin_pipe_out, gint *stdout_pipe_out, gint *stderr_pipe_out,
      gint stdin_fd, gint stdout_fd, gint stderr_fd, const gint *source_fds, const
      gint *target_fds, gsize n_fds, gint *err_report, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn-win32.c:1405,1
    - Dst: _
      Src: /src/glib/glib/gspawn-win32.c:1406,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - wait_status
    - error
    argTypes:
    - gint
    - GError**
    constantsTouched: []
    func_position:
      end: 1414
      start: 1395
    functionDepth: 0
    functionLinenumber: 1395
    functionLinenumberEnd: 1414
    functionName: g_spawn_check_wait_status_impl
    functionSourceFile: /src/glib/glib/gspawn-win32.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_spawn_check_wait_status_impl (gint wait_status, GError
      **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/glib/gspawn-win32.c:185,1
    - Dst: g_warning
      Src: /src/glib/glib/gspawn-win32.c:206,1
    - Dst: FreeEnvironmentStringsW
      Src: /src/glib/glib/gspawn-win32.c:205,1
    - Dst: wcslen
      Src: /src/glib/glib/gspawn-win32.c:202,1
    - Dst: GetEnvironmentStringsW
      Src: /src/glib/glib/gspawn-win32.c:187,1
    - Dst: GetLastError
      Src: /src/glib/glib/gspawn-win32.c:208,1
    - Dst: SetEnvironmentVariableW
      Src: /src/glib/glib/gspawn-win32.c:213,1
    - Dst: g_critical
      Src: /src/glib/glib/gspawn-win32.c:215,1
    - Dst: GetLastError
      Src: /src/glib/glib/gspawn-win32.c:217,1
    - Dst: g_once_init_leave
      Src: /src/glib/glib/gspawn-win32.c:221,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 223
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 223
    functionName: ensure_cmd_environment
    functionSourceFile: /src/glib/glib/gspawn-win32.c
    functionUses: []
    functionsReached:
    - g_once_init_leave
    - GetEnvironmentStringsW
    - SetEnvironmentVariableW
    - g_warning
    - wcslen
    - FreeEnvironmentStringsW
    - g_once_init_enter
    - GetLastError
    - g_critical
    linkageType: ''
    returnType: void
    signature: 'static void ensure_cmd_environment (void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/glib/glib/gspawn-win32.c:270,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 312
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 312
    functionName: protect_argv_string
    functionSourceFile: /src/glib/glib/gspawn-win32.c
    functionUses: []
    functionsReached:
    - g_malloc
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *protect_argv_string (const gchar *string) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_io_channel_read_chars
      Src: /src/glib/glib/gspawn-win32.c:379,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gspawn-win32.c:392,1
    - Dst: _
      Src: /src/glib/glib/gspawn-win32.c:393,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gspawn-win32.c:385,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 3
    argNames:
    - str
    - iochannel
    - error
    argTypes:
    - GString*
    - GIOChannel*
    - GError**
    constantsTouched: []
    func_position:
      end: 399
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 399
    functionName: read_data
    functionSourceFile: /src/glib/glib/gspawn-win32.c
    functionUses: []
    functionsReached:
    - _
    - g_string_append_len
    - g_set_error_literal
    - g_io_channel_read_chars
    linkageType: ''
    returnType: ReadResult
    signature: 'static ReadResult read_data (GString *str, GIOChannel *iochannel,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_cmd_environment
      Src: /src/glib/glib/gspawn-win32.c:231,1
    - Dst: _wspawnve
      Src: /src/glib/glib/gspawn-win32.c:233,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - _mode
    - _filename
    - _args
    - _env
    argTypes:
    - int
    - wchar_t*
    - wchar_t**
    - wchar_t**
    constantsTouched: []
    func_position:
      end: 234
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 234
    functionName: safe_wspawnve
    functionSourceFile: /src/glib/glib/gspawn-win32.c
    functionUses: []
    functionsReached:
    - _wspawnve
    - ensure_cmd_environment
    linkageType: ''
    returnType: intptr_t
    signature: 'static intptr_t safe_wspawnve (int _mode, const wchar_t * _filename,
      const wchar_t *const *_args, const wchar_t *const *_env) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gspawn-win32.c:158,1
    - Dst: _wspawnvpe
      Src: /src/glib/glib/gspawn-win32.c:159,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gspawn-win32.c:160,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 4
    argNames:
    - _Mode
    - _Filename
    - _ArgList
    - _Env
    argTypes:
    - int
    - wchar_t*
    - wchar_t**
    - wchar_t**
    constantsTouched: []
    func_position:
      end: 163
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 163
    functionName: safe_wspawnvpe
    functionSourceFile: /src/glib/glib/gspawn-win32.c
    functionUses: []
    functionsReached:
    - _wspawnvpe
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: intptr_t
    signature: 'static intptr_t safe_wspawnvpe (int _Mode, const wchar_t *_Filename,
      const wchar_t *const *_ArgList, const wchar_t *const *_Env) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/glib/gspawn-win32.c:323,1
    - Dst: protect_argv_string
      Src: /src/glib/glib/gspawn-win32.c:337,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - argv
    - new_argv
    argTypes:
    - gchar**
    - gchar***
    constantsTouched: []
    func_position:
      end: 342
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 342
    functionName: protect_argv
    functionSourceFile: /src/glib/glib/gspawn-win32.c
    functionUses: []
    functionsReached:
    - protect_argv_string
    - g_new
    linkageType: ''
    returnType: gint
    signature: 'static gint protect_argv (const gchar * const *argv, gchar ***new_argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _pipe
      Src: /src/glib/glib/gspawn-win32.c:405,1
    - Dst: _
      Src: /src/glib/glib/gspawn-win32.c:410,1
    - Dst: g_strerror
      Src: /src/glib/glib/gspawn-win32.c:411,1
    - Dst: g_set_error
      Src: /src/glib/glib/gspawn-win32.c:409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - p
    - error
    argTypes:
    - gint
    - GError**
    constantsTouched: []
    func_position:
      end: 416
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 416
    functionName: make_pipe
    functionSourceFile: /src/glib/glib/gspawn-win32.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - g_strerror
    - _pipe
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean make_pipe (gint p[2], GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseSRWLockExclusive
      Src: /src/glib/glib/gthread-win32.c:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GMutex*
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: g_mutex_unlock_impl
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - ReleaseSRWLockExclusive
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline void g_mutex_unlock_impl (GMutex *mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnterCriticalSection
      Src: /src/glib/glib/gthread-win32.c:160,1
    - Dst: g_rec_mutex_get_impl
      Src: /src/glib/glib/gthread-win32.c:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GRecMutex*
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: g_rec_mutex_lock_impl
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_get_impl
    - EnterCriticalSection
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline void g_rec_mutex_lock_impl (GRecMutex
      *mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TryAcquireSRWLockExclusive
      Src: /src/glib/glib/gthread-win32.c:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - lock
    argTypes:
    - GRWLock*
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: g_rw_lock_writer_trylock_impl
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - TryAcquireSRWLockExclusive
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline gboolean g_rw_lock_writer_trylock_impl
      (GRWLock *lock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - cond
    argTypes:
    - GCond*
    constantsTouched: []
    func_position:
      end: 234
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 234
    functionName: g_cond_clear_impl
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline void g_cond_clear_impl (GCond *cond) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WakeAllConditionVariable
      Src: /src/glib/glib/gthread-win32.c:245,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - GCond*
    constantsTouched: []
    func_position:
      end: 246
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 246
    functionName: g_cond_broadcast_impl
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - WakeAllConditionVariable
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline void g_cond_broadcast_impl (GCond *cond) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RaiseException
      Src: /src/glib/glib/gthread-win32.c:579,1
    - Dst: GetExceptionCode
      Src: /src/glib/glib/gthread-win32.c:582,1
    - Dst: RaiseException
      Src: /src/glib/glib/gthread-win32.c:590,1
    - Dst: IsDebuggerPresent
      Src: /src/glib/glib/gthread-win32.c:587,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - dwThreadID
    - szThreadName
    argTypes:
    - DWORD
    - LPCSTR
    constantsTouched: []
    func_position:
      end: 592
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 592
    functionName: SetThreadName
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - RaiseException
    - IsDebuggerPresent
    - GetExceptionCode
    linkageType: ''
    returnType: void
    signature: 'static void SetThreadName (DWORD dwThreadID, LPCSTR szThreadName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InitializeCriticalSection
      Src: /src/glib/glib/gthread-win32.c:666,1
    - Dst: GetLastError
      Src: /src/glib/glib/gthread-win32.c:677,1
    - Dst: AddVectoredExceptionHandler
      Src: /src/glib/glib/gthread-win32.c:674,1
    - Dst: g_critical
      Src: /src/glib/glib/gthread-win32.c:676,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 679
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 679
    functionName: g_thread_win32_init
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - g_critical
    - GetLastError
    - AddVectoredExceptionHandler
    - InitializeCriticalSection
    linkageType: ''
    returnType: void
    signature: 'void g_thread_win32_init (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LeaveCriticalSection
      Src: /src/glib/glib/gthread-win32.c:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GRecMutex*
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: g_rec_mutex_unlock_impl
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - LeaveCriticalSection
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline void g_rec_mutex_unlock_impl (GRecMutex
      *mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseSRWLockExclusive
      Src: /src/glib/glib/gthread-win32.c:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - lock
    argTypes:
    - GRWLock*
    constantsTouched: []
    func_position:
      end: 204
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 204
    functionName: g_rw_lock_writer_unlock_impl
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - ReleaseSRWLockExclusive
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline void g_rw_lock_writer_unlock_impl (GRWLock
      *lock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WakeConditionVariable
      Src: /src/glib/glib/gthread-win32.c:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - GCond*
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: g_cond_signal_impl
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - WakeConditionVariable
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline void g_cond_signal_impl (GCond *cond) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SleepConditionVariableSRW
      Src: /src/glib/glib/gthread-win32.c:252,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - cond
    - entered_mutex
    argTypes:
    - GCond*
    - GMutex*
    constantsTouched: []
    func_position:
      end: 253
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 253
    functionName: g_cond_wait_impl
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - SleepConditionVariableSRW
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline void g_cond_wait_impl (GCond *cond,
      GMutex *entered_mutex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_pointer_get
      Src: /src/glib/glib/gthread-win32.c:699,1
    - Dst: TlsGetValue
      Src: /src/glib/glib/gthread-win32.c:703,1
    - Dst: TlsSetValue
      Src: /src/glib/glib/gthread-win32.c:707,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 714
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 714
    functionName: g_thread_win32_thread_detach
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - TlsSetValue
    - TlsGetValue
    - g_atomic_pointer_get
    linkageType: ''
    returnType: void
    signature: 'void g_thread_win32_thread_detach (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RemoveVectoredExceptionHandler
      Src: /src/glib/glib/gthread-win32.c:722,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 726
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 726
    functionName: g_thread_win32_process_detach
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - RemoveVectoredExceptionHandler
    linkageType: ''
    returnType: void
    signature: 'void g_thread_win32_process_detach (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitializeConditionVariable
      Src: /src/glib/glib/gthread-win32.c:228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - GCond*
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: g_cond_init_impl
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - InitializeConditionVariable
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline void g_cond_init_impl (GCond *cond) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AcquireSRWLockExclusive
      Src: /src/glib/glib/gthread-win32.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GMutex*
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: g_mutex_lock_impl
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - AcquireSRWLockExclusive
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline void g_mutex_lock_impl (GMutex *mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DeleteCriticalSection
      Src: /src/glib/glib/gthread-win32.c:125,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gthread-win32.c:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cs
    argTypes:
    - CRITICAL_SECTION*
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: g_rec_mutex_impl_free
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - DeleteCriticalSection
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void g_rec_mutex_impl_free (CRITICAL_SECTION *cs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitializeSRWLock
      Src: /src/glib/glib/gthread-win32.c:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - lock
    argTypes:
    - GRWLock*
    constantsTouched: []
    func_position:
      end: 181
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 181
    functionName: g_rw_lock_init_impl
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - InitializeSRWLock
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline void g_rw_lock_init_impl (GRWLock *lock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseSRWLockShared
      Src: /src/glib/glib/gthread-win32.c:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - lock
    argTypes:
    - GRWLock*
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: g_rw_lock_reader_unlock_impl
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - ReleaseSRWLockShared
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline void g_rw_lock_reader_unlock_impl (GRWLock
      *lock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _endthreadex
      Src: /src/glib/glib/gthread-win32.c:426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 427
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 427
    functionName: g_system_thread_exit
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - _endthreadex
    linkageType: ''
    returnType: void
    signature: 'void g_system_thread_exit (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/glib/gthread-win32.c:605,1
    - Dst: FreeLibrary
      Src: /src/glib/glib/gthread-win32.c:614,1
    - Dst: GetProcAddress
      Src: /src/glib/glib/gthread-win32.c:611,1
    - Dst: g_once_init_leave
      Src: /src/glib/glib/gthread-win32.c:616,1
    - Dst: LoadLibraryW
      Src: /src/glib/glib/gthread-win32.c:607,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 621
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 621
    functionName: g_thread_win32_load_library
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - LoadLibraryW
    - g_once_init_leave
    - FreeLibrary
    - g_once_init_enter
    - GetProcAddress
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_thread_win32_load_library (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_win32_set_thread_desc
      Src: /src/glib/glib/gthread-win32.c:648,1
    - Dst: SetThreadName
      Src: /src/glib/glib/gthread-win32.c:649,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 650
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 650
    functionName: g_system_thread_set_name
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - g_thread_win32_set_thread_desc
    - SetThreadName
    linkageType: ''
    returnType: void
    signature: 'void g_system_thread_set_name (const gchar *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TryAcquireSRWLockExclusive
      Src: /src/glib/glib/gthread-win32.c:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GMutex*
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: g_mutex_trylock_impl
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - TryAcquireSRWLockExclusive
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline gboolean g_mutex_trylock_impl (GMutex
      *mutex) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_rec_mutex_impl_new
      Src: /src/glib/glib/gthread-win32.c:136,1
    - Dst: InterlockedCompareExchangePointer
      Src: /src/glib/glib/gthread-win32.c:137,1
    - Dst: g_rec_mutex_impl_free
      Src: /src/glib/glib/gthread-win32.c:138,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 143
    functionName: g_rec_mutex_get_impl
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_impl_new
    - InterlockedCompareExchangePointer
    - g_rec_mutex_impl_free
    linkageType: ''
    returnType: CRITICAL_SECTION*
    signature: 'static CRITICAL_SECTION *g_rec_mutex_get_impl (GRecMutex *mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_system_thread_exit
      Src: /src/glib/glib/gthread-win32.c:436,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gthread-win32.c:438,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 441
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 441
    functionName: g_thread_win32_proxy
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    - g_system_thread_exit
    linkageType: ''
    returnType: guint
    signature: 'static guint __stdcall g_thread_win32_proxy (gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ExceptionInfo
    argTypes:
    - PEXCEPTION_POINTERS
    constantsTouched: []
    func_position:
      end: 551
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 551
    functionName: SetThreadName_VEH
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: LONG
    signature: 'static LONG __stdcall SetThreadName_VEH (PEXCEPTION_POINTERS ExceptionInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_win32_load_library
      Src: /src/glib/glib/gthread-win32.c:629,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/gthread-win32.c:632,1
    - Dst: g_free
      Src: /src/glib/glib/gthread-win32.c:638,1
    - Dst: GetCurrentThread
      Src: /src/glib/glib/gthread-win32.c:636,1
    - Dst: SetThreadDescriptionFunc
      Src: /src/glib/glib/gthread-win32.c:636,1
    - Dst: SUCCEEDED
      Src: /src/glib/glib/gthread-win32.c:639,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - name
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 640
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 640
    functionName: g_thread_win32_set_thread_desc
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - SUCCEEDED
    - g_utf8_to_utf16
    - g_thread_win32_load_library
    - SetThreadDescriptionFunc
    - GetCurrentThread
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_thread_win32_set_thread_desc (const gchar *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gthread-win32.c:657,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - length
    argTypes:
    - char*
    - gsize
    constantsTouched: []
    func_position:
      end: 659
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 659
    functionName: g_system_thread_get_name
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - g_assert
    linkageType: ''
    returnType: void
    signature: 'void g_system_thread_get_name (char *buffer, gsize length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TryEnterCriticalSection
      Src: /src/glib/glib/gthread-win32.c:172,1
    - Dst: g_rec_mutex_get_impl
      Src: /src/glib/glib/gthread-win32.c:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GRecMutex*
    constantsTouched: []
    func_position:
      end: 173
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 173
    functionName: g_rec_mutex_trylock_impl
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_get_impl
    - TryEnterCriticalSection
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline gboolean g_rec_mutex_trylock_impl (GRecMutex
      *mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitializeSRWLock
      Src: /src/glib/glib/gthread-win32.c:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GMutex*
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: g_mutex_init_impl
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - InitializeSRWLock
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline void g_mutex_init_impl (GMutex *mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rec_mutex_impl_new
      Src: /src/glib/glib/gthread-win32.c:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GRecMutex*
    constantsTouched: []
    func_position:
      end: 149
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 149
    functionName: g_rec_mutex_init_impl
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_impl_new
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline void g_rec_mutex_init_impl (GRecMutex
      *mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AcquireSRWLockShared
      Src: /src/glib/glib/gthread-win32.c:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - lock
    argTypes:
    - GRWLock*
    constantsTouched: []
    func_position:
      end: 210
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 210
    functionName: g_rw_lock_reader_lock_impl
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - AcquireSRWLockShared
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline void g_rw_lock_reader_lock_impl (GRWLock
      *lock) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/gthread-win32.c:264,1
    - Dst: SleepConditionVariableSRW
      Src: /src/glib/glib/gthread-win32.c:281,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/gthread-win32.c:287,1
    - Dst: G_GINT64_CONSTANT
      Src: /src/glib/glib/gthread-win32.c:271,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - cond
    - entered_mutex
    - end_time
    argTypes:
    - GCond*
    - GMutex*
    - gint64
    constantsTouched: []
    func_position:
      end: 292
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 292
    functionName: g_cond_wait_until_impl
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - g_get_monotonic_time
    - SleepConditionVariableSRW
    - G_GINT64_CONSTANT
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline gboolean g_cond_wait_until_impl (GCond
      *cond, GMutex *entered_mutex, gint64 end_time) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TlsGetValue
      Src: /src/glib/glib/gthread-win32.c:370,1
    - Dst: _g_private_get_impl
      Src: /src/glib/glib/gthread-win32.c:370,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - GPrivate*
    constantsTouched: []
    func_position:
      end: 371
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 371
    functionName: g_private_get_impl
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - TlsGetValue
    - _g_private_get_impl
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline gpointer g_private_get_impl (GPrivate
      *key) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/glib/gthread-win32.c:457,1
    - Dst: _beginthreadex
      Src: /src/glib/glib/gthread-win32.c:469,1
    - Dst: GetThreadPriority
      Src: /src/glib/glib/gthread-win32.c:488,1
    - Dst: GetCurrentThread
      Src: /src/glib/glib/gthread-win32.c:487,1
    - Dst: g_strlcpy
      Src: /src/glib/glib/gthread-win32.c:467,1
    - Dst: SetThreadPriority
      Src: /src/glib/glib/gthread-win32.c:497,1
    - Dst: ResumeThread
      Src: /src/glib/glib/gthread-win32.c:503,1
    - Dst: g_win32_error_message
      Src: /src/glib/glib/gthread-win32.c:513,1
    - Dst: GetLastError
      Src: /src/glib/glib/gthread-win32.c:513,1
    - Dst: g_set_error
      Src: /src/glib/glib/gthread-win32.c:514,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gthread-win32.c:519,1
    - Dst: g_free
      Src: /src/glib/glib/gthread-win32.c:516,1
    - Dst: CloseHandle
      Src: /src/glib/glib/gthread-win32.c:518,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 522
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 522
    functionName: g_system_thread_new
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_strlcpy
    - GetThreadPriority
    - g_slice_new0
    - g_win32_error_message
    - GetLastError
    - _beginthreadex
    - SetThreadPriority
    - ResumeThread
    - GetCurrentThread
    - CloseHandle
    - g_slice_free
    - g_free
    linkageType: ''
    returnType: GRealThread*
    signature: 'GRealThread *g_system_thread_new (GThreadFunc proxy, gulong stack_size,
      const char *name, GThreadFunc func, gpointer data, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/glib/glib/gthread-win32.c:60,1
    - Dst: g_abort
      Src: /src/glib/glib/gthread-win32.c:62,1
    - Dst: strerror
      Src: /src/glib/glib/gthread-win32.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - status
    - function
    argTypes:
    - gint
    - gchar*
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: g_thread_abort
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - g_abort
    - fprintf
    - strerror
    linkageType: ''
    returnType: void
    signature: 'static void g_thread_abort (gint status, const gchar *function) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GMutex*
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: g_mutex_clear_impl
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline void g_mutex_clear_impl (GMutex *mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rec_mutex_impl_free
      Src: /src/glib/glib/gthread-win32.c:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GRecMutex*
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: g_rec_mutex_clear_impl
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_impl_free
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline void g_rec_mutex_clear_impl (GRecMutex
      *mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TryAcquireSRWLockShared
      Src: /src/glib/glib/gthread-win32.c:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - lock
    argTypes:
    - GRWLock*
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: g_rw_lock_reader_trylock_impl
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - TryAcquireSRWLockShared
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline gboolean g_rw_lock_reader_trylock_impl
      (GRWLock *lock) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/gthread-win32.c:311,1
    - Dst: TlsFree
      Src: /src/glib/glib/gthread-win32.c:329,1
    - Dst: TlsAlloc
      Src: /src/glib/glib/gthread-win32.c:328,1
    - Dst: EnterCriticalSection
      Src: /src/glib/glib/gthread-win32.c:315,1
    - Dst: TlsAlloc
      Src: /src/glib/glib/gthread-win32.c:321,1
    - Dst: g_thread_abort
      Src: /src/glib/glib/gthread-win32.c:334,1
    - Dst: malloc
      Src: /src/glib/glib/gthread-win32.c:338,1
    - Dst: g_thread_abort
      Src: /src/glib/glib/gthread-win32.c:340,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/glib/gthread-win32.c:343,1
    - Dst: g_atomic_pointer_compare_and_exchange
      Src: /src/glib/glib/gthread-win32.c:351,1
    - Dst: g_atomic_pointer_compare_and_exchange
      Src: /src/glib/glib/gthread-win32.c:358,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/gthread-win32.c:358,1
    - Dst: g_thread_abort
      Src: /src/glib/glib/gthread-win32.c:359,1
    - Dst: LeaveCriticalSection
      Src: /src/glib/glib/gthread-win32.c:361,1
    - Dst: g_thread_abort
      Src: /src/glib/glib/gthread-win32.c:354,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 1
    argNames:
    - key
    argTypes:
    - GPrivate*
    constantsTouched: []
    func_position:
      end: 365
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 365
    functionName: _g_private_get_impl
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - malloc
    - TlsAlloc
    - EnterCriticalSection
    - GPOINTER_TO_UINT
    - g_atomic_pointer_get
    - GUINT_TO_POINTER
    - g_thread_abort
    - TlsFree
    - g_atomic_pointer_compare_and_exchange
    - LeaveCriticalSection
    linkageType: ''
    returnType: DWORD
    signature: 'static DWORD _g_private_get_impl (GPrivate *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TlsSetValue
      Src: /src/glib/glib/gthread-win32.c:377,1
    - Dst: _g_private_get_impl
      Src: /src/glib/glib/gthread-win32.c:377,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - GPrivate*
    - gpointer
    constantsTouched: []
    func_position:
      end: 378
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 378
    functionName: g_private_set_impl
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - TlsSetValue
    - _g_private_get_impl
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline void g_private_set_impl (GPrivate *key,
      gpointer value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Sleep
      Src: /src/glib/glib/gthread-win32.c:527,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 528
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 528
    functionName: g_thread_yield_impl
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - Sleep
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline void g_thread_yield_impl (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _g_private_get_impl
      Src: /src/glib/glib/gthread-win32.c:384,1
    - Dst: TlsSetValue
      Src: /src/glib/glib/gthread-win32.c:388,1
    - Dst: TlsGetValue
      Src: /src/glib/glib/gthread-win32.c:387,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - GPrivate*
    - gpointer
    constantsTouched: []
    func_position:
      end: 391
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 391
    functionName: g_private_replace_impl
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - TlsSetValue
    - TlsGetValue
    - _g_private_get_impl
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline void g_private_replace_impl (GPrivate
      *key, gpointer value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - lock
    argTypes:
    - GRWLock*
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 186
    functionName: g_rw_lock_clear_impl
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline void g_rw_lock_clear_impl (GRWLock *lock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: win32_check_for_error
      Src: /src/glib/glib/gthread-win32.c:535,1
    - Dst: WaitForSingleObject
      Src: /src/glib/glib/gthread-win32.c:535,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - thread
    argTypes:
    - GRealThread*
    constantsTouched: []
    func_position:
      end: 536
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 536
    functionName: g_system_thread_wait
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - WaitForSingleObject
    - win32_check_for_error
    linkageType: ''
    returnType: void
    signature: 'void g_system_thread_wait (GRealThread *thread) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AcquireSRWLockExclusive
      Src: /src/glib/glib/gthread-win32.c:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - lock
    argTypes:
    - GRWLock*
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: g_rw_lock_writer_lock_impl
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - AcquireSRWLockExclusive
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline void g_rw_lock_writer_lock_impl (GRWLock
      *lock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: win32_check_for_error
      Src: /src/glib/glib/gthread-win32.c:419,1
    - Dst: CloseHandle
      Src: /src/glib/glib/gthread-win32.c:419,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gthread-win32.c:420,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - thread
    argTypes:
    - GRealThread*
    constantsTouched: []
    func_position:
      end: 421
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 421
    functionName: g_system_thread_free
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - CloseHandle
    - win32_check_for_error
    linkageType: ''
    returnType: void
    signature: 'void g_system_thread_free (GRealThread *thread) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/glib/gthread-win32.c:116,1
    - Dst: InitializeCriticalSection
      Src: /src/glib/glib/gthread-win32.c:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 120
    functionName: g_rec_mutex_impl_new
    functionSourceFile: /src/glib/glib/gthread-win32.c
    functionUses: []
    functionsReached:
    - g_slice_new
    - InitializeCriticalSection
    linkageType: ''
    returnType: CRITICAL_SECTION*
    signature: 'static CRITICAL_SECTION *g_rec_mutex_impl_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/guri.c:234,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:237,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:236,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:235,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:238,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:239,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:240,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:241,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - uri
    argTypes:
    - GUri*
    constantsTouched: []
    func_position:
      end: 243
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 243
    functionName: g_uri_clear
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void g_uri_clear (GUri *uri) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/glib/guri.c:795,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 2
    argNames:
    - scheme
    - port
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 800
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 800
    functionName: normalize_port
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'static int normalize_port (const char *scheme, int port) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/glib/glib/guri.c:1318,1
    - Dst: strcmp
      Src: /src/glib/glib/guri.c:1329,1
    - Dst: strncmp
      Src: /src/glib/glib/guri.c:1320,1
    - Dst: strncmp
      Src: /src/glib/glib/guri.c:1338,1
    - Dst: strncmp
      Src: /src/glib/glib/guri.c:1327,1
    - Dst: strcmp
      Src: /src/glib/glib/guri.c:1350,1
    - Dst: strcmp
      Src: /src/glib/glib/guri.c:1366,1
    - Dst: strcmp
      Src: /src/glib/glib/guri.c:1366,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 47
    argCount: 1
    argNames:
    - path
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1382
      start: 1300
    functionDepth: 0
    functionLinenumber: 1300
    functionLinenumberEnd: 1382
    functionName: remove_dot_segments
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - strncmp
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void remove_dot_segments (gchar *path) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: g_string_sized_new
      Src: /src/glib/glib/guri.c:1648,1
    - Dst: g_string_append
      Src: /src/glib/glib/guri.c:1652,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/guri.c:1691,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/guri.c:1709,1
    - Dst: should_normalize_empty_path
      Src: /src/glib/glib/guri.c:1723,1
    - Dst: g_string_append
      Src: /src/glib/glib/guri.c:1724,1
    - Dst: g_string_append
      Src: /src/glib/glib/guri.c:1736,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1641,1
    - Dst: g_ascii_strdown
      Src: /src/glib/glib/guri.c:1657,1
    - Dst: g_string_append_uri_escaped
      Src: /src/glib/glib/guri.c:1676,1
    - Dst: g_string_append_uri_escaped
      Src: /src/glib/glib/guri.c:1685,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/guri.c:1699,1
    - Dst: g_string_append
      Src: /src/glib/glib/guri.c:1693,1
    - Dst: g_string_append_uri_escaped
      Src: /src/glib/glib/guri.c:1708,1
    - Dst: g_string_append_uri_escaped
      Src: /src/glib/glib/guri.c:1716,1
    - Dst: normalize_port
      Src: /src/glib/glib/guri.c:1719,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:1730,1
    - Dst: g_string_free
      Src: /src/glib/glib/guri.c:1749,1
    - Dst: g_string_append_uri_escaped
      Src: /src/glib/glib/guri.c:1746,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1640,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/guri.c:1653,1
    - Dst: g_string_append
      Src: /src/glib/glib/guri.c:1661,1
    - Dst: g_string_append
      Src: /src/glib/glib/guri.c:1666,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/guri.c:1681,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/guri.c:1704,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/guri.c:1720,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/guri.c:1734,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/guri.c:1742,1
    - Dst: g_string_append
      Src: /src/glib/glib/guri.c:1744,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1642,1
    - Dst: g_string_append_uri_escaped
      Src: /src/glib/glib/guri.c:1670,1
    - Dst: g_string_append_uri_escaped
      Src: /src/glib/glib/guri.c:1695,1
    - Dst: g_string_append
      Src: /src/glib/glib/guri.c:1683,1
    - Dst: strchr
      Src: /src/glib/glib/guri.c:1702,1
    - Dst: g_hostname_is_ip_address
      Src: /src/glib/glib/guri.c:1702,1
    - Dst: g_string_append
      Src: /src/glib/glib/guri.c:1706,1
    - Dst: g_string_append
      Src: /src/glib/glib/guri.c:1714,1
    - Dst: g_string_append
      Src: /src/glib/glib/guri.c:1726,1
    - Dst: g_string_append_uri_escaped
      Src: /src/glib/glib/guri.c:1728,1
    - Dst: g_string_append_uri_escaped
      Src: /src/glib/glib/guri.c:1738,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 87
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1750
      start: 1620
    functionDepth: 0
    functionLinenumber: 1620
    functionLinenumberEnd: 1750
    functionName: g_uri_join_internal
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - should_normalize_empty_path
    - g_return_val_if_fail
    - g_string_append_uri_escaped
    - g_string_append_c
    - g_ascii_strdown
    - normalize_port
    - strchr
    - g_hostname_is_ip_address
    - g_string_free
    - g_string_sized_new
    - g_string_append_printf
    - g_free
    - g_string_append
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *g_uri_join_internal (GUriFlags flags, const gchar *scheme,
      gboolean userinfo, const gchar *user, const gchar *password, const gchar *auth_params,
      const gchar *host, gint port, const gchar *path, const gchar *query, const gchar
      *fragment) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1949,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1951,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1952,1
    - Dst: g_atomic_rc_box_new0
      Src: /src/glib/glib/guri.c:1955,1
    - Dst: g_strdup
      Src: /src/glib/glib/guri.c:1958,1
    - Dst: g_string_append
      Src: /src/glib/glib/guri.c:1973,1
    - Dst: g_ascii_strdown
      Src: /src/glib/glib/guri.c:1957,1
    - Dst: g_strdup
      Src: /src/glib/glib/guri.c:1961,1
    - Dst: g_string_new
      Src: /src/glib/glib/guri.c:1969,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/guri.c:1972,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1950,1
    - Dst: g_strdup
      Src: /src/glib/glib/guri.c:1960,1
    - Dst: g_string_append
      Src: /src/glib/glib/guri.c:1978,1
    - Dst: g_strdup
      Src: /src/glib/glib/guri.c:1963,1
    - Dst: g_strdup
      Src: /src/glib/glib/guri.c:1965,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/guri.c:1983,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1953,1
    - Dst: g_strdup
      Src: /src/glib/glib/guri.c:1959,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/guri.c:1977,1
    - Dst: g_strdup
      Src: /src/glib/glib/guri.c:1964,1
    - Dst: g_string_free
      Src: /src/glib/glib/guri.c:1980,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1984
      start: 1934
    functionDepth: 0
    functionLinenumber: 1934
    functionLinenumberEnd: 1984
    functionName: g_uri_build_with_user
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_return_val_if_fail
    - g_strdup
    - g_atomic_rc_box_new0
    - g_string_append_c
    - g_ascii_strdown
    - g_string_free
    - g_string_new
    - g_string_append
    linkageType: ''
    returnType: GUri*
    signature: 'GUri *g_uri_build_with_user (GUriFlags flags, const gchar *scheme,
      const gchar *user, const gchar *password, const gchar *auth_params, const gchar
      *host, gint port, const gchar *path, const gchar *query, const gchar *fragment) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:2339,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/guri.c:2346,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:2341,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:2340,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:2342,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/guri.c:2352,1
    - Dst: g_uri_params_iter_init
      Src: /src/glib/glib/guri.c:2356,1
    - Dst: g_uri_params_iter_next
      Src: /src/glib/glib/guri.c:2358,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/guri.c:2359,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/guri.c:2363,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/glib/guri.c:2364,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/guri.c:2368,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/guri.c:2363,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2369
      start: 2327
    functionDepth: 0
    functionLinenumber: 2327
    functionLinenumberEnd: 2369
    functionName: g_uri_parse_params
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_steal_pointer
    - g_return_val_if_fail
    - g_uri_params_iter_init
    - g_uri_params_iter_next
    - g_hash_table_insert
    - g_hash_table_new_full
    - g_hash_table_destroy
    linkageType: ''
    returnType: GHashTable*
    signature: 'GHashTable *g_uri_parse_params (const gchar *params, gssize length,
      const gchar *separators, GUriParamsFlags flags, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:2513,1
    - Dst: g_uri_get_default_scheme_port
      Src: /src/glib/glib/guri.c:2516,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - uri
    argTypes:
    - GUri*
    constantsTouched: []
    func_position:
      end: 2519
      start: 2510
    functionDepth: 0
    functionLinenumber: 2510
    functionLinenumberEnd: 2519
    functionName: g_uri_get_port
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_uri_get_default_scheme_port
    linkageType: ''
    returnType: gint
    signature: 'gint g_uri_get_port (GUri *uri) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:2557,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2560
      start: 2554
    functionDepth: 0
    functionLinenumber: 2554
    functionLinenumberEnd: 2560
    functionName: g_uri_get_query
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_uri_get_query (GUri *uri) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/glib/guri.c:805,1
    - Dst: strcmp
      Src: /src/glib/glib/guri.c:808,1
    - Dst: strcmp
      Src: /src/glib/glib/guri.c:805,1
    - Dst: strcmp
      Src: /src/glib/glib/guri.c:808,1
    - Dst: strcmp
      Src: /src/glib/glib/guri.c:811,1
    - Dst: strstr
      Src: /src/glib/glib/guri.c:814,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - scheme
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 818
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 818
    functionName: g_uri_get_default_scheme_port
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - strcmp
    - strstr
    linkageType: ''
    returnType: int
    signature: 'int g_uri_get_default_scheme_port (const char *scheme) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:2595,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - uri
    argTypes:
    - GUri*
    constantsTouched: []
    func_position:
      end: 2598
      start: 2592
    functionDepth: 0
    functionLinenumber: 2592
    functionLinenumberEnd: 2598
    functionName: g_uri_get_flags
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: GUriFlags
    signature: 'GUriFlags g_uri_get_flags (GUri *uri) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1272,1
    - Dst: _
      Src: /src/glib/glib/guri.c:1284,1
    - Dst: g_uri_split_internal
      Src: /src/glib/glib/guri.c:1275,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1273,1
    - Dst: g_set_error
      Src: /src/glib/glib/guri.c:1283,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:1289,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - uri_string
    - flags
    - error
    argTypes:
    - gchar*
    - GUriFlags
    - GError**
    constantsTouched: []
    func_position:
      end: 1292
      start: 1265
    functionDepth: 0
    functionLinenumber: 1265
    functionLinenumberEnd: 1292
    functionName: g_uri_is_valid
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_return_val_if_fail
    - g_uri_split_internal
    - _
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_uri_is_valid (const gchar *uri_string, GUriFlags flags,
      GError **error) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_rc_box_new0
      Src: /src/glib/glib/guri.c:1439,1
    - Dst: g_uri_split_internal
      Src: /src/glib/glib/guri.c:1442,1
    - Dst: g_uri_unref
      Src: /src/glib/glib/guri.c:1457,1
    - Dst: g_strdup
      Src: /src/glib/glib/guri.c:1482,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/guri.c:1495,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/guri.c:1501,1
    - Dst: normalize_port
      Src: /src/glib/glib/guri.c:1529,1
    - Dst: remove_dot_segments
      Src: /src/glib/glib/guri.c:1534,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:1525,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/guri.c:1455,1
    - Dst: _
      Src: /src/glib/glib/guri.c:1456,1
    - Dst: remove_dot_segments
      Src: /src/glib/glib/guri.c:1469,1
    - Dst: g_strdup
      Src: /src/glib/glib/guri.c:1472,1
    - Dst: remove_dot_segments
      Src: /src/glib/glib/guri.c:1487,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:1503,1
    - Dst: g_strdup
      Src: /src/glib/glib/guri.c:1511,1
    - Dst: g_strdup
      Src: /src/glib/glib/guri.c:1513,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:1545,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/guri.c:1546,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1434,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:1479,1
    - Dst: g_strdup
      Src: /src/glib/glib/guri.c:1480,1
    - Dst: remove_dot_segments
      Src: /src/glib/glib/guri.c:1506,1
    - Dst: g_strdup
      Src: /src/glib/glib/guri.c:1526,1
    - Dst: g_strconcat
      Src: /src/glib/glib/guri.c:1544,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/guri.c:1549,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1433,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1435,1
    - Dst: g_uri_unref
      Src: /src/glib/glib/guri.c:1449,1
    - Dst: remove_dot_segments
      Src: /src/glib/glib/guri.c:1474,1
    - Dst: strrchr
      Src: /src/glib/glib/guri.c:1492,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/guri.c:1504,1
    - Dst: g_strdup
      Src: /src/glib/glib/guri.c:1510,1
    - Dst: g_strdup
      Src: /src/glib/glib/guri.c:1512,1
    - Dst: g_strdup
      Src: /src/glib/glib/guri.c:1514,1
    - Dst: should_normalize_empty_path
      Src: /src/glib/glib/guri.c:1523,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 92
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1550
      start: 1425
    functionDepth: 0
    functionLinenumber: 1425
    functionLinenumberEnd: 1550
    functionName: g_uri_parse_relative
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - should_normalize_empty_path
    - g_return_val_if_fail
    - g_strdup
    - g_atomic_rc_box_new0
    - g_strdup_printf
    - g_strconcat
    - g_uri_split_internal
    - strrchr
    - normalize_port
    - g_uri_unref
    - g_set_error_literal
    - remove_dot_segments
    - _
    - g_free
    linkageType: ''
    returnType: GUri*
    signature: 'GUri *g_uri_parse_relative (GUri *base_uri, const gchar *uri_ref,
      GUriFlags flags, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:2495,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2498
      start: 2492
    functionDepth: 0
    functionLinenumber: 2492
    functionLinenumberEnd: 2498
    functionName: g_uri_get_host
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_uri_get_host (GUri *uri) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:2535,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2538
      start: 2532
    functionDepth: 0
    functionLinenumber: 2532
    functionLinenumberEnd: 2538
    functionName: g_uri_get_path
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_uri_get_path (GUri *uri) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:2576,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2579
      start: 2573
    functionDepth: 0
    functionLinenumber: 2573
    functionLinenumberEnd: 2579
    functionName: g_uri_get_fragment
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_uri_get_fragment (GUri *uri) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_strndup
      Src: /src/glib/glib/guri.c:487,1
    - Dst: strchr
      Src: /src/glib/glib/guri.c:515,1
    - Dst: g_assert
      Src: /src/glib/glib/guri.c:511,1
    - Dst: g_hostname_is_ip_address
      Src: /src/glib/glib/guri.c:515,1
    - Dst: strchr
      Src: /src/glib/glib/guri.c:491,1
    - Dst: uri_decode
      Src: /src/glib/glib/guri.c:520,1
    - Dst: g_strconcat
      Src: /src/glib/glib/guri.c:526,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/guri.c:528,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:530,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:531,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:536,1
    - Dst: g_set_error
      Src: /src/glib/glib/guri.c:538,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:537,1
    - Dst: _
      Src: /src/glib/glib/guri.c:539,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 65
    argCount: 5
    argNames:
    - start
    - length
    - flags
    - out
    - error
    argTypes:
    - gchar*
    - gsize
    - GUriFlags
    - gchar**
    - GError**
    constantsTouched: []
    func_position:
      end: 543
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 543
    functionName: parse_ip_literal
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_set_error
    - uri_decode
    - g_steal_pointer
    - g_strconcat
    - g_assert
    - g_strndup
    - strchr
    - g_hostname_is_ip_address
    - _
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean parse_ip_literal (const gchar *start, gsize length,
      GUriFlags flags, gchar **out, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:2425,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2428
      start: 2422
    functionDepth: 0
    functionLinenumber: 2422
    functionLinenumberEnd: 2428
    functionName: g_uri_get_user
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_uri_get_user (GUri *uri) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:2469,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2472
      start: 2466
    functionDepth: 0
    functionLinenumber: 2466
    functionLinenumberEnd: 2472
    functionName: g_uri_get_auth_params
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_uri_get_auth_params (GUri *uri) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: parse_ip_literal
      Src: /src/glib/glib/guri.c:557,1
    - Dst: g_ascii_isdigit
      Src: /src/glib/glib/guri.c:562,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:592,1
    - Dst: g_set_error
      Src: /src/glib/glib/guri.c:593,1
    - Dst: g_hostname_to_ascii
      Src: /src/glib/glib/guri.c:601,1
    - Dst: uri_normalize
      Src: /src/glib/glib/guri.c:575,1
    - Dst: _
      Src: /src/glib/glib/guri.c:594,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:619,1
    - Dst: g_strndup
      Src: /src/glib/glib/guri.c:564,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/guri.c:578,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/guri.c:618,1
    - Dst: g_set_error
      Src: /src/glib/glib/guri.c:605,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/guri.c:613,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:604,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:620,1
    - Dst: g_hostname_is_ip_address
      Src: /src/glib/glib/guri.c:565,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:570,1
    - Dst: uri_decode
      Src: /src/glib/glib/guri.c:583,1
    - Dst: g_hostname_is_ip_address
      Src: /src/glib/glib/guri.c:590,1
    - Dst: _
      Src: /src/glib/glib/guri.c:606,1
    - Dst: g_hostname_is_non_ascii
      Src: /src/glib/glib/guri.c:599,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 44
    argCount: 5
    argNames:
    - start
    - length
    - flags
    - out
    - error
    argTypes:
    - gchar*
    - gsize
    - GUriFlags
    - gchar**
    - GError**
    constantsTouched: []
    func_position:
      end: 623
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 623
    functionName: parse_host
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_steal_pointer
    - uri_decode
    - g_hostname_is_non_ascii
    - g_strndup
    - g_hostname_is_ip_address
    - uri_normalize
    - g_hostname_to_ascii
    - _
    - g_ascii_isdigit
    - g_free
    - parse_ip_literal
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean parse_host (const gchar *start, gsize length, GUriFlags
      flags, gchar **out, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/guri.c:259,1
    - Dst: g_atomic_rc_box_release_full
      Src: /src/glib/glib/guri.c:261,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - uri
    argTypes:
    - GUri*
    constantsTouched: []
    func_position:
      end: 262
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 262
    functionName: g_uri_unref
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_atomic_rc_box_release_full
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_uri_unref (GUri *uri) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1581,1
    - Dst: g_uri_parse_relative
      Src: /src/glib/glib/guri.c:1595,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1582,1
    - Dst: g_uri_unref
      Src: /src/glib/glib/guri.c:1597,1
    - Dst: g_uri_parse
      Src: /src/glib/glib/guri.c:1588,1
    - Dst: g_uri_to_string
      Src: /src/glib/glib/guri.c:1601,1
    - Dst: g_uri_unref
      Src: /src/glib/glib/guri.c:1602,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/guri.c:1603,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1604
      start: 1572
    functionDepth: 0
    functionLinenumber: 1572
    functionLinenumberEnd: 1604
    functionName: g_uri_resolve_relative
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_return_val_if_fail
    - g_uri_parse_relative
    - g_uri_unref
    - g_uri_to_string
    - g_uri_parse
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_uri_resolve_relative (const gchar *base_uri_string, const
      gchar *uri_ref, GUriFlags flags, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1792,1
    - Dst: g_uri_join_internal
      Src: /src/glib/glib/guri.c:1795,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1793,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1803
      start: 1782
    functionDepth: 0
    functionLinenumber: 1782
    functionLinenumberEnd: 1803
    functionName: g_uri_join
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_uri_join_internal
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_uri_join (GUriFlags flags, const gchar *scheme, const gchar
      *userinfo, const gchar *host, gint port, const gchar *path, const gchar *query,
      const gchar *fragment) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:2011,1
    - Dst: g_uri_to_string_partial
      Src: /src/glib/glib/guri.c:2013,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2014
      start: 2008
    functionDepth: 0
    functionLinenumber: 2008
    functionLinenumberEnd: 2014
    functionName: g_uri_to_string
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_uri_to_string_partial
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_uri_to_string (GUri *uri) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:2385,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2388
      start: 2382
    functionDepth: 0
    functionLinenumber: 2382
    functionLinenumberEnd: 2388
    functionName: g_uri_get_scheme
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_uri_get_scheme (GUri *uri) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:2404,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2407
      start: 2401
    functionDepth: 0
    functionLinenumber: 2401
    functionLinenumberEnd: 2407
    functionName: g_uri_get_userinfo
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_uri_get_userinfo (GUri *uri) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:2445,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2448
      start: 2442
    functionDepth: 0
    functionLinenumber: 2442
    functionLinenumberEnd: 2448
    functionName: g_uri_get_password
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_uri_get_password (GUri *uri) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_isalnum
      Src: /src/glib/glib/guri.c:267,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - ch
    argTypes:
    - gchar
    constantsTouched: []
    func_position:
      end: 270
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 270
    functionName: g_uri_char_is_unreserved
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_ascii_isalnum
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_uri_char_is_unreserved (gchar ch) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uri_decoder
      Src: /src/glib/glib/guri.c:382,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 8
    argNames:
    - out
    - illegal_chars
    - start
    - length
    - www_form
    - flags
    - parse_error
    - error
    argTypes:
    - gchar**
    - gchar*
    - gchar*
    - gsize
    - gboolean
    - GUriFlags
    - GUriError
    - GError**
    constantsTouched: []
    func_position:
      end: 384
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 384
    functionName: uri_decode
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - uri_decoder
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean uri_decode (gchar **out, const gchar *illegal_chars,
      const gchar *start, gsize length, gboolean www_form, GUriFlags flags, GUriError
      parse_error, GError **error) '
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: uri_cleanup
      Src: /src/glib/glib/guri.c:863,1
    - Dst: memchr
      Src: /src/glib/glib/guri.c:962,1
    - Dst: uri_normalize
      Src: /src/glib/glib/guri.c:992,1
    - Dst: uri_normalize
      Src: /src/glib/glib/guri.c:999,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:1011,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/guri.c:1027,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:1039,1
    - Dst: strpbrk
      Src: /src/glib/glib/guri.c:861,1
    - Dst: g_ascii_isdigit
      Src: /src/glib/glib/guri.c:870,1
    - Dst: g_ascii_strdown
      Src: /src/glib/glib/guri.c:876,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/guri.c:878,1
    - Dst: strncmp
      Src: /src/glib/glib/guri.c:889,1
    - Dst: uri_normalize
      Src: /src/glib/glib/guri.c:982,1
    - Dst: memchr
      Src: /src/glib/glib/guri.c:955,1
    - Dst: g_uri_get_default_scheme_port
      Src: /src/glib/glib/guri.c:1016,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/guri.c:1025,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/guri.c:1029,1
    - Dst: g_ascii_isalpha
      Src: /src/glib/glib/guri.c:869,1
    - Dst: parse_host
      Src: /src/glib/glib/guri.c:965,1
    - Dst: parse_userinfo
      Src: /src/glib/glib/guri.c:919,1
    - Dst: parse_port
      Src: /src/glib/glib/guri.c:971,1
    - Dst: strlen
      Src: /src/glib/glib/guri.c:982,1
    - Dst: should_normalize_empty_path
      Src: /src/glib/glib/guri.c:1009,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:1020,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/guri.c:1035,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/guri.c:1033,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:1040,1
    - Dst: strcspn
      Src: /src/glib/glib/guri.c:893,1
    - Dst: memchr
      Src: /src/glib/glib/guri.c:894,1
    - Dst: memchr
      Src: /src/glib/glib/guri.c:909,1
    - Dst: uri_normalize
      Src: /src/glib/glib/guri.c:925,1
    - Dst: strcspn
      Src: /src/glib/glib/guri.c:979,1
    - Dst: strchr
      Src: /src/glib/glib/guri.c:934,1
    - Dst: memchr
      Src: /src/glib/glib/guri.c:989,1
    - Dst: g_strdup
      Src: /src/glib/glib/guri.c:1012,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:1019,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/guri.c:1037,1
    CyclomaticComplexity: 109
    EdgeCount: 109
    ICount: 171
    argCount: 13
    argNames:
    - uri_string
    - flags
    - scheme
    - userinfo
    - user
    - password
    - auth_params
    - host
    - port
    - path
    - query
    - fragment
    - error
    argTypes:
    - gchar*
    - GUriFlags
    - gchar**
    - gchar**
    - gchar**
    - gchar**
    - gchar**
    - gchar**
    - gint*
    - gchar**
    - gchar**
    - gchar**
    - GError**
    constantsTouched: []
    func_position:
      end: 1042
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 1042
    functionName: g_uri_split_internal
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - should_normalize_empty_path
    - g_ascii_strdown
    - strpbrk
    - parse_userinfo
    - memchr
    - g_clear_pointer
    - strcspn
    - uri_cleanup
    - g_ascii_isalpha
    - g_strdup
    - strlen
    - parse_host
    - g_ascii_isdigit
    - parse_port
    - strncmp
    - uri_normalize
    - strchr
    - g_uri_get_default_scheme_port
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_uri_split_internal (const gchar *uri_string, GUriFlags
      flags, gchar **scheme, gchar **userinfo, gchar **user, gchar **password, gchar
      **auth_params, gchar **host, gint *port, gchar **path, gchar **query, gchar
      **fragment, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1162,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1163,1
    - Dst: g_uri_split_internal
      Src: /src/glib/glib/guri.c:1165,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 8
    argCount: 12
    argNames:
    - uri_ref
    - flags
    - scheme
    - user
    - password
    - auth_params
    - host
    - port
    - path
    - query
    - fragment
    - error
    argTypes:
    - gchar*
    - GUriFlags
    - gchar**
    - gchar**
    - gchar**
    - gchar**
    - gchar**
    - gint*
    - gchar**
    - gchar**
    - gchar**
    - GError**
    constantsTouched: []
    func_position:
      end: 1169
      start: 1148
    functionDepth: 0
    functionLinenumber: 1148
    functionLinenumberEnd: 1169
    functionName: g_uri_split_with_user
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_uri_split_internal
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_uri_split_with_user (const gchar *uri_ref, GUriFlags flags,
      gchar **scheme, gchar **user, gchar **password, gchar **auth_params, gchar **host,
      gint *port, gchar **path, gchar **query, gchar **fragment, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/guri.c:2173,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/guri.c:2175,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/guri.c:2176,1
    - Dst: strlen
      Src: /src/glib/glib/guri.c:2181,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/guri.c:2174,1
    - Dst: memset
      Src: /src/glib/glib/guri.c:2185,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 5
    argNames:
    - iter
    - params
    - length
    - separators
    - flags
    argTypes:
    - GUriParamsIter*
    - gchar*
    - gssize
    - gchar*
    - GUriParamsFlags
    constantsTouched: []
    func_position:
      end: 2190
      start: 2163
    functionDepth: 0
    functionLinenumber: 2163
    functionLinenumberEnd: 2190
    functionName: g_uri_params_iter_init
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - memset
    - strlen
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_uri_params_iter_init (GUriParamsIter *iter, const gchar *params,
      gssize length, const gchar *separators, GUriParamsFlags flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_uri_unescape_segment
      Src: /src/glib/glib/guri.c:2684,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2685
      start: 2680
    functionDepth: 0
    functionLinenumber: 2680
    functionLinenumberEnd: 2685
    functionName: g_uri_unescape_string
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_uri_unescape_segment
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_uri_unescape_string (const gchar *escaped_string, const gchar
      *illegal_characters) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:2759,1
    - Dst: strlen
      Src: /src/glib/glib/guri.c:2763,1
    - Dst: uri_decoder
      Src: /src/glib/glib/guri.c:2765,1
    - Dst: g_bytes_new_take
      Src: /src/glib/glib/guri.c:2775,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:2760,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2776
      start: 2750
    functionDepth: 0
    functionLinenumber: 2750
    functionLinenumberEnd: 2776
    functionName: g_uri_unescape_bytes
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_bytes_new_take
    - g_return_val_if_fail
    - uri_decoder
    - strlen
    linkageType: ''
    returnType: GBytes*
    signature: 'GBytes *g_uri_unescape_bytes (const gchar *escaped_string, gssize
      length, const char *illegal_characters, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:2809,1
    - Dst: g_string_free
      Src: /src/glib/glib/guri.c:2816,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/guri.c:2811,1
    - Dst: _uri_encoder
      Src: /src/glib/glib/guri.c:2813,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2817
      start: 2802
    functionDepth: 0
    functionLinenumber: 2802
    functionLinenumberEnd: 2817
    functionName: g_uri_escape_bytes
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - _uri_encoder
    - g_string_free
    - g_return_val_if_fail
    - g_string_sized_new
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_uri_escape_bytes (const guint8 *unescaped, gsize length,
      const gchar *reserved_chars_allowed) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_isxdigit
      Src: /src/glib/glib/guri.c:301,1
    - Dst: g_string_free
      Src: /src/glib/glib/guri.c:309,1
    - Dst: strchr
      Src: /src/glib/glib/guri.c:322,1
    - Dst: g_ascii_toupper
      Src: /src/glib/glib/guri.c:333,1
    - Dst: g_ascii_isgraph
      Src: /src/glib/glib/guri.c:346,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/guri.c:347,1
    - Dst: g_string_free
      Src: /src/glib/glib/guri.c:360,1
    - Dst: g_string_free
      Src: /src/glib/glib/guri.c:365,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/guri.c:294,1
    - Dst: _
      Src: /src/glib/glib/guri.c:308,1
    - Dst: g_ascii_isxdigit
      Src: /src/glib/glib/guri.c:300,1
    - Dst: g_string_free
      Src: /src/glib/glib/guri.c:326,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/guri.c:333,1
    - Dst: g_uri_char_is_unreserved
      Src: /src/glib/glib/guri.c:329,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/guri.c:344,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/guri.c:349,1
    - Dst: g_utf8_validate
      Src: /src/glib/glib/guri.c:356,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/guri.c:306,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/guri.c:317,1
    - Dst: g_ascii_toupper
      Src: /src/glib/glib/guri.c:334,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/guri.c:332,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/guri.c:339,1
    - Dst: g_assert
      Src: /src/glib/glib/guri.c:353,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/guri.c:358,1
    - Dst: _
      Src: /src/glib/glib/guri.c:359,1
    - Dst: HEXCHAR
      Src: /src/glib/glib/guri.c:321,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/guri.c:324,1
    - Dst: _
      Src: /src/glib/glib/guri.c:325,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/guri.c:334,1
    - Dst: g_string_free
      Src: /src/glib/glib/guri.c:367,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 75
    argCount: 9
    argNames:
    - out
    - illegal_chars
    - start
    - length
    - just_normalize
    - www_form
    - flags
    - parse_error
    - error
    argTypes:
    - gchar**
    - gchar*
    - gchar*
    - gsize
    - gboolean
    - gboolean
    - GUriFlags
    - GUriError
    - GError**
    constantsTouched: []
    func_position:
      end: 370
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 370
    functionName: uri_decoder
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_ascii_isgraph
    - HEXCHAR
    - g_string_append_c
    - g_assert
    - g_ascii_toupper
    - g_set_error_literal
    - g_string_free
    - strchr
    - g_ascii_isxdigit
    - g_string_sized_new
    - _
    - g_string_append_printf
    - g_utf8_validate
    - g_uri_char_is_unreserved
    linkageType: ''
    returnType: gssize
    signature: 'static gssize uri_decoder (gchar **out, const gchar *illegal_chars,
      const gchar *start, gsize length, gboolean just_normalize, gboolean www_form,
      GUriFlags flags, GUriError parse_error, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uri_decoder
      Src: /src/glib/glib/guri.c:394,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 6
    argNames:
    - out
    - start
    - length
    - flags
    - parse_error
    - error
    argTypes:
    - gchar**
    - gchar*
    - gsize
    - GUriFlags
    - GUriError
    - GError**
    constantsTouched: []
    func_position:
      end: 396
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 396
    functionName: uri_normalize
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - uri_decoder
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean uri_normalize (gchar **out, const gchar *start, gsize
      length, GUriFlags flags, GUriError parse_error, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_isalpha
      Src: /src/glib/glib/guri.c:2825,1
    - Dst: g_ascii_isalnum
      Src: /src/glib/glib/guri.c:2828,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 1
    argNames:
    - uri
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 2835
      start: 2819
    functionDepth: 0
    functionLinenumber: 2819
    functionLinenumberEnd: 2835
    functionName: g_uri_scheme_length
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_ascii_isalpha
    - g_ascii_isalnum
    linkageType: ''
    returnType: gssize
    signature: 'static gssize g_uri_scheme_length (const gchar *uri) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/glib/guri.c:2085,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2086
      start: 2078
    functionDepth: 0
    functionLinenumber: 2078
    functionLinenumberEnd: 2086
    functionName: str_ascii_case_equal
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_ascii_strcasecmp
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean str_ascii_case_equal (gconstpointer v1, gconstpointer
      v2) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/glib/guri.c:2641,1
    - Dst: memchr
      Src: /src/glib/glib/guri.c:2652,1
    - Dst: uri_decoder
      Src: /src/glib/glib/guri.c:2643,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:2654,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2659
      start: 2626
    functionDepth: 0
    functionLinenumber: 2626
    functionLinenumberEnd: 2659
    functionName: g_uri_unescape_segment
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - memchr
    - g_free
    - uri_decoder
    - strlen
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_uri_unescape_segment (const gchar *escaped_string, const
      gchar *escaped_string_end, const gchar *illegal_characters) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:2715,1
    - Dst: g_string_append_uri_escaped
      Src: /src/glib/glib/guri.c:2719,1
    - Dst: strlen
      Src: /src/glib/glib/guri.c:2717,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/guri.c:2717,1
    - Dst: g_string_free
      Src: /src/glib/glib/guri.c:2721,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2722
      start: 2708
    functionDepth: 0
    functionLinenumber: 2708
    functionLinenumberEnd: 2722
    functionName: g_uri_escape_string
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - strlen
    - g_string_append_uri_escaped
    - g_string_free
    - g_string_sized_new
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_uri_escape_string (const gchar *unescaped, const gchar *reserved_chars_allowed,
      gboolean allow_utf8) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:226,1
    - Dst: g_atomic_rc_box_acquire
      Src: /src/glib/glib/guri.c:228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 229
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 229
    functionName: g_uri_ref
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_atomic_rc_box_acquire
    - g_return_val_if_fail
    linkageType: ''
    returnType: GUri*
    signature: 'GUri *g_uri_ref (GUri *uri) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_uri_char_is_unreserved
      Src: /src/glib/glib/guri.c:402,1
    - Dst: strchr
      Src: /src/glib/glib/guri.c:405,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - c
    - reserved_chars_allowed
    argTypes:
    - guchar
    - gchar*
    constantsTouched: []
    func_position:
      end: 409
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 409
    functionName: is_valid
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - strchr
    - g_uri_char_is_unreserved
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_valid (guchar c, const gchar *reserved_chars_allowed) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_isdigit
      Src: /src/glib/glib/guri.c:635,1
    - Dst: g_set_error
      Src: /src/glib/glib/guri.c:649,1
    - Dst: g_set_error
      Src: /src/glib/glib/guri.c:637,1
    - Dst: _
      Src: /src/glib/glib/guri.c:638,1
    - Dst: strtoul
      Src: /src/glib/glib/guri.c:646,1
    - Dst: _
      Src: /src/glib/glib/guri.c:650,1
    - Dst: g_set_error
      Src: /src/glib/glib/guri.c:656,1
    - Dst: _
      Src: /src/glib/glib/guri.c:657,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 4
    argNames:
    - start
    - length
    - out
    - error
    argTypes:
    - gchar*
    - gsize
    - gint*
    - GError**
    constantsTouched: []
    func_position:
      end: 665
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 665
    functionName: parse_port
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_ascii_isdigit
    - strtoul
    - _
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean parse_port (const gchar *start, gsize length, gint
      *out, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_isspace
      Src: /src/glib/glib/guri.c:732,1
    - Dst: g_ascii_isspace
      Src: /src/glib/glib/guri.c:737,1
    - Dst: strlen
      Src: /src/glib/glib/guri.c:736,1
    - Dst: g_string_append
      Src: /src/glib/glib/guri.c:745,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/guri.c:741,1
    - Dst: g_ascii_isspace
      Src: /src/glib/glib/guri.c:746,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/guri.c:749,1
    - Dst: g_string_free
      Src: /src/glib/glib/guri.c:753,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 754
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 754
    functionName: uri_cleanup
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_ascii_isspace
    - strlen
    - g_string_append_c
    - g_string_free
    - g_string_sized_new
    - g_string_append
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *uri_cleanup (const gchar *uri_string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1403,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1404,1
    - Dst: g_uri_parse_relative
      Src: /src/glib/glib/guri.c:1406,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1407
      start: 1398
    functionDepth: 0
    functionLinenumber: 1398
    functionLinenumberEnd: 1407
    functionName: g_uri_parse
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_uri_parse_relative
    linkageType: ''
    returnType: GUri*
    signature: 'GUri *g_uri_parse (const gchar *uri_string, GUriFlags flags, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1891,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1892,1
    - Dst: g_atomic_rc_box_new0
      Src: /src/glib/glib/guri.c:1895,1
    - Dst: g_ascii_strdown
      Src: /src/glib/glib/guri.c:1897,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1893,1
    - Dst: g_strdup
      Src: /src/glib/glib/guri.c:1898,1
    - Dst: g_strdup
      Src: /src/glib/glib/guri.c:1899,1
    - Dst: g_strdup
      Src: /src/glib/glib/guri.c:1901,1
    - Dst: g_strdup
      Src: /src/glib/glib/guri.c:1902,1
    - Dst: g_strdup
      Src: /src/glib/glib/guri.c:1903,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/guri.c:1905,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1906
      start: 1879
    functionDepth: 0
    functionLinenumber: 1879
    functionLinenumberEnd: 1906
    functionName: g_uri_build
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_return_val_if_fail
    - g_strdup
    - g_atomic_rc_box_new0
    - g_ascii_strdown
    linkageType: ''
    returnType: GUri*
    signature: 'GUri *g_uri_build (GUriFlags flags, const gchar *scheme, const gchar
      *userinfo, const gchar *host, gint port, const gchar *path, const gchar *query,
      const gchar *fragment) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_toupper
      Src: /src/glib/glib/guri.c:2073,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - v
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2076
      start: 2066
    functionDepth: 0
    functionLinenumber: 2066
    functionLinenumberEnd: 2076
    functionName: str_ascii_case_hash
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_ascii_toupper
    linkageType: ''
    returnType: guint
    signature: 'static guint str_ascii_case_hash (gconstpointer v) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:2893,1
    - Dst: g_uri_scheme_length
      Src: /src/glib/glib/guri.c:2895,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:2901,1
    - Dst: g_ascii_strdown
      Src: /src/glib/glib/guri.c:2899,1
    - Dst: g_intern_string
      Src: /src/glib/glib/guri.c:2900,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2904
      start: 2886
    functionDepth: 0
    functionLinenumber: 2886
    functionLinenumberEnd: 2904
    functionName: g_uri_peek_scheme
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_uri_scheme_length
    - g_intern_string
    - g_ascii_strdown
    - g_free
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_uri_peek_scheme (const gchar *uri) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_get_char_validated
      Src: /src/glib/glib/guri.c:427,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/guri.c:438,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/guri.c:443,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/guri.c:433,1
    - Dst: is_valid
      Src: /src/glib/glib/guri.c:436,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/guri.c:444,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/guri.c:445,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 5
    argNames:
    - out
    - start
    - length
    - reserved_chars_allowed
    - allow_utf8
    argTypes:
    - GString*
    - guchar*
    - gsize
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 449
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 449
    functionName: _uri_encoder
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_utf8_get_char_validated
    - g_string_append_c
    - is_valid
    - g_string_append_len
    linkageType: ''
    returnType: void
    signature: 'void _uri_encoder (GString *out, const guchar *start, gsize length,
      const gchar *reserved_chars_allowed, gboolean allow_utf8) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/glib/glib/guri.c:680,1
    - Dst: memchr
      Src: /src/glib/glib/guri.c:684,1
    - Dst: uri_normalize
      Src: /src/glib/glib/guri.c:688,1
    - Dst: uri_normalize
      Src: /src/glib/glib/guri.c:695,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/guri.c:699,1
    - Dst: uri_normalize
      Src: /src/glib/glib/guri.c:709,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/guri.c:713,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/guri.c:715,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 39
    argCount: 7
    argNames:
    - start
    - length
    - flags
    - user
    - password
    - auth_params
    - error
    argTypes:
    - gchar*
    - gsize
    - GUriFlags
    - gchar**
    - gchar**
    - gchar**
    - GError**
    constantsTouched: []
    func_position:
      end: 723
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 723
    functionName: parse_userinfo
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - memchr
    - uri_normalize
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean parse_userinfo (const gchar *start, gsize length,
      GUriFlags flags, gchar **user, gchar **password, gchar **auth_params, GError
      **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/guri.c:761,1
    - Dst: strcmp
      Src: /src/glib/glib/guri.c:763,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - scheme
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 767
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 767
    functionName: should_normalize_empty_path
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - strcmp
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean should_normalize_empty_path (const char *scheme) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1098,1
    - Dst: g_uri_split_internal
      Src: /src/glib/glib/guri.c:1101,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1099,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 8
    argCount: 10
    argNames:
    - uri_ref
    - flags
    - scheme
    - userinfo
    - host
    - port
    - path
    - query
    - fragment
    - error
    argTypes:
    - gchar*
    - GUriFlags
    - gchar**
    - gchar**
    - gchar**
    - gint*
    - gchar**
    - gchar**
    - gchar**
    - GError**
    constantsTouched: []
    func_position:
      end: 1105
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1105
    functionName: g_uri_split
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_uri_split_internal
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_uri_split (const gchar *uri_ref, GUriFlags flags, gchar
      **scheme, gchar **userinfo, gchar **host, gint *port, gchar **path, gchar **query,
      gchar **fragment, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1206,1
    - Dst: g_uri_split_internal
      Src: /src/glib/glib/guri.c:1209,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1207,1
    - Dst: g_set_error
      Src: /src/glib/glib/guri.c:1219,1
    - Dst: _
      Src: /src/glib/glib/guri.c:1220,1
    - Dst: g_set_error
      Src: /src/glib/glib/guri.c:1225,1
    - Dst: _
      Src: /src/glib/glib/guri.c:1226,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:1229,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:1230,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/guri.c:1236,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/guri.c:1238,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:1240,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:1241,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 28
    argCount: 6
    argNames:
    - uri_string
    - flags
    - scheme
    - host
    - port
    - error
    argTypes:
    - gchar*
    - GUriFlags
    - gchar**
    - gchar**
    - gint*
    - GError**
    constantsTouched: []
    func_position:
      end: 1244
      start: 1196
    functionDepth: 0
    functionLinenumber: 1196
    functionLinenumberEnd: 1244
    functionName: g_uri_split_network
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_steal_pointer
    - g_return_val_if_fail
    - g_uri_split_internal
    - _
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_uri_split_network (const gchar *uri_string, GUriFlags flags,
      gchar **scheme, gchar **host, gint *port, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1846,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:1847,1
    - Dst: g_uri_join_internal
      Src: /src/glib/glib/guri.c:1849,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1857
      start: 1834
    functionDepth: 0
    functionLinenumber: 1834
    functionLinenumberEnd: 1857
    functionName: g_uri_join_with_user
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_uri_join_internal
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_uri_join_with_user (GUriFlags flags, const gchar *scheme,
      const gchar *user, const gchar *password, const gchar *auth_params, const gchar
      *host, gint port, const gchar *path, const gchar *query, const gchar *fragment) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:2039,1
    - Dst: g_uri_join
      Src: /src/glib/glib/guri.c:2055,1
    - Dst: g_uri_join_with_user
      Src: /src/glib/glib/guri.c:2043,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2063
      start: 2029
    functionDepth: 0
    functionLinenumber: 2029
    functionLinenumberEnd: 2063
    functionName: g_uri_to_string_partial
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_uri_join
    - g_uri_join_with_user
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_uri_to_string_partial (GUri *uri, GUriHideFlags flags) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:2228,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/guri.c:2253,1
    - Dst: _
      Src: /src/glib/glib/guri.c:2254,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:2229,1
    - Dst: memchr
      Src: /src/glib/glib/guri.c:2250,1
    - Dst: uri_decode
      Src: /src/glib/glib/guri.c:2257,1
    - Dst: uri_decode
      Src: /src/glib/glib/guri.c:2264,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:2267,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/guri.c:2272,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/guri.c:2274,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:2277,1
    - Dst: g_free
      Src: /src/glib/glib/guri.c:2276,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 41
    argCount: 4
    argNames:
    - iter
    - attribute
    - value
    - error
    argTypes:
    - GUriParamsIter*
    - gchar**
    - gchar**
    - GError**
    constantsTouched: []
    func_position:
      end: 2281
      start: 2216
    functionDepth: 0
    functionLinenumber: 2216
    functionLinenumberEnd: 2281
    functionName: g_uri_params_iter_next
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - uri_decode
    - g_steal_pointer
    - g_return_val_if_fail
    - g_set_error_literal
    - _
    - memchr
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_uri_params_iter_next (GUriParamsIter *iter, gchar **attribute,
      gchar **value, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guri.c:2859,1
    - Dst: g_strndup
      Src: /src/glib/glib/guri.c:2862,1
    - Dst: g_uri_scheme_length
      Src: /src/glib/glib/guri.c:2861,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2863
      start: 2854
    functionDepth: 0
    functionLinenumber: 2854
    functionLinenumberEnd: 2863
    functionName: g_uri_parse_scheme
    functionSourceFile: /src/glib/glib/guri.c
    functionUses: []
    functionsReached:
    - g_strndup
    - g_return_val_if_fail
    - g_uri_scheme_length
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_uri_parse_scheme (const gchar *uri) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_PRIVATE_INIT
      Src: /src/glib/glib/gmain.c:2994,1
    - Dst: g_private_get
      Src: /src/glib/glib/gmain.c:2997,1
    - Dst: g_private_set_alloc0
      Src: /src/glib/glib/gmain.c:3000,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3003
      start: 2991
    functionDepth: 0
    functionLinenumber: 2991
    functionLinenumberEnd: 3003
    functionName: get_dispatch
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_private_get
    - G_PRIVATE_INIT
    - g_private_set_alloc0
    linkageType: ''
    returnType: GMainDispatch*
    signature: 'static GMainDispatch *get_dispatch (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/gmain.c:2986,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - dispatch
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 2987
      start: 2983
    functionDepth: 0
    functionLinenumber: 2983
    functionLinenumberEnd: 2987
    functionName: g_main_dispatch_free
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void g_main_dispatch_free (gpointer dispatch) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:4500,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:4501,1
    - Dst: g_atomic_int_set
      Src: /src/glib/glib/gmain.c:4504,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:4501,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4503,1
    - Dst: g_wakeup_signal
      Src: /src/glib/glib/gmain.c:4505,1
    - Dst: g_cond_broadcast
      Src: /src/glib/glib/gmain.c:4507,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4509,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:4511,1
    - Dst: GLIB_MAIN_LOOP_QUIT
      Src: /src/glib/glib/gmain.c:4511,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - loop
    argTypes:
    - GMainLoop*
    constantsTouched: []
    func_position:
      end: 4512
      start: 4497
    functionDepth: 0
    functionLinenumber: 4497
    functionLinenumberEnd: 4512
    functionName: g_main_loop_quit
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_return_if_fail
    - g_cond_broadcast
    - TRACE
    - UNLOCK_CONTEXT
    - g_atomic_int_set
    - LOCK_CONTEXT
    - GLIB_MAIN_LOOP_QUIT
    - g_wakeup_signal
    linkageType: ''
    returnType: void
    signature: 'void g_main_loop_quit (GMainLoop *loop) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_default
      Src: /src/glib/glib/gmain.c:4682,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:4685,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:4684,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4687,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:4684,1
    - Dst: g_main_context_add_poll_unlocked
      Src: /src/glib/glib/gmain.c:4688,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4689,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - context
    - fd
    - priority
    argTypes:
    - GMainContext*
    - GPollFD*
    - gint
    constantsTouched: []
    func_position:
      end: 4690
      start: 4676
    functionDepth: 0
    functionLinenumber: 4676
    functionLinenumberEnd: 4690
    functionName: g_main_context_add_poll
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_return_if_fail
    - g_main_context_default
    - g_main_context_add_poll_unlocked
    - UNLOCK_CONTEXT
    - LOCK_CONTEXT
    linkageType: ''
    returnType: void
    signature: "void g_main_context_add_poll (GMainContext *context,\t\t\t GPollFD\
      \ *fd,\t\t\t gint priority) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - cb_data
    - source
    - func
    - data
    argTypes:
    - gpointer
    - GSource*
    - GSourceFunc*
    - gpointer*
    constantsTouched: []
    func_position:
      end: 1651
      start: 1641
    functionDepth: 0
    functionLinenumber: 1641
    functionLinenumberEnd: 1651
    functionName: g_source_callback_get
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void g_source_callback_get (gpointer cb_data,\t\t GSource *source,\
      \ \t\t GSourceFunc *func,\t\t gpointer *data) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1867,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1868,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1869,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:1868,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:1874,1
    - Dst: g_source_set_priority_unlocked
      Src: /src/glib/glib/gmain.c:1875,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:1877,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - source
    - priority
    argTypes:
    - GSource*
    - gint
    constantsTouched: []
    func_position:
      end: 1878
      start: 1861
    functionDepth: 0
    functionLinenumber: 1861
    functionLinenumberEnd: 1878
    functionName: g_source_set_priority
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_source_set_priority_unlocked
    - g_atomic_int_get
    - g_return_if_fail
    - UNLOCK_CONTEXT
    - LOCK_CONTEXT
    linkageType: ''
    returnType: void
    signature: "void g_source_set_priority (GSource *source,\t\t gint priority) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: timeout_add_full
      Src: /src/glib/glib/gmain.c:5432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - interval
    - function
    - data
    argTypes:
    - guint
    - GSourceOnceFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 5433
      start: 5427
    functionDepth: 0
    functionLinenumber: 5427
    functionLinenumberEnd: 5433
    functionName: g_timeout_add_seconds_once
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - timeout_add_full
    linkageType: ''
    returnType: guint
    signature: 'guint g_timeout_add_seconds_once (guint interval, GSourceOnceFunc
      function, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_child_watch_add_full
      Src: /src/glib/glib/gmain.c:6202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - pid
    - function
    - data
    argTypes:
    - GPid
    - GChildWatchFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 6203
      start: 6197
    functionDepth: 0
    functionLinenumber: 6197
    functionLinenumberEnd: 6203
    functionName: g_child_watch_add
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_child_watch_add_full
    linkageType: ''
    returnType: guint
    signature: "guint g_child_watch_add (GPid pid,\t\t GChildWatchFunc function,\t\
      \t gpointer data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_idle_add_full
      Src: /src/glib/glib/gmain.c:6381,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - function
    - data
    argTypes:
    - GSourceFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 6382
      start: 6377
    functionDepth: 0
    functionLinenumber: 6377
    functionLinenumberEnd: 6382
    functionName: g_idle_add
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_idle_add_full
    linkageType: ''
    returnType: guint
    signature: "guint g_idle_add (GSourceFunc function,\t gpointer data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:2815,1
    - Dst: g_get_real_time
      Src: /src/glib/glib/gmain.c:2817,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - result
    argTypes:
    - GTimeVal*
    constantsTouched: []
    func_position:
      end: 2821
      start: 2809
    functionDepth: 0
    functionLinenumber: 2809
    functionLinenumberEnd: 2821
    functionName: g_get_current_time
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_get_real_time
    - g_return_if_fail
    linkageType: ''
    returnType: G_GNUC_BEGIN_IGNORE_DEPRECATIONS
    signature: 'G_GNUC_BEGIN_IGNORE_DEPRECATIONS void g_get_current_time (GTimeVal
      *result) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:2739,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:2740,1
    - Dst: g_slist_find
      Src: /src/glib/glib/gmain.c:2741,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:2740,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:2741,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:2747,1
    - Dst: g_slist_remove
      Src: /src/glib/glib/gmain.c:2749,1
    - Dst: SOURCE_BLOCKED
      Src: /src/glib/glib/gmain.c:2753,1
    - Dst: g_main_context_remove_poll_unlocked
      Src: /src/glib/glib/gmain.c:2754,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:2756,1
    - Dst: g_free
      Src: /src/glib/glib/gmain.c:2759,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - source
    - tag
    argTypes:
    - GSource*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2760
      start: 2732
    functionDepth: 0
    functionLinenumber: 2732
    functionLinenumberEnd: 2760
    functionName: g_source_remove_unix_fd
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_slist_find
    - g_slist_remove
    - g_atomic_int_get
    - g_return_if_fail
    - UNLOCK_CONTEXT
    - SOURCE_BLOCKED
    - LOCK_CONTEXT
    - g_free
    - g_main_context_remove_poll_unlocked
    linkageType: ''
    returnType: void
    signature: 'void g_source_remove_unix_fd (GSource *source, gpointer tag) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/glib/gmain.c:631,1
    - Dst: g_new0
      Src: /src/glib/glib/gmain.c:641,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:643,1
    - Dst: g_getenv
      Src: /src/glib/glib/gmain.c:634,1
    - Dst: g_once_init_leave
      Src: /src/glib/glib/gmain.c:638,1
    - Dst: GLIB_MAIN_CONTEXT_NEW
      Src: /src/glib/glib/gmain.c:643,1
    - Dst: g_mutex_init
      Src: /src/glib/glib/gmain.c:645,1
    - Dst: g_cond_init
      Src: /src/glib/glib/gmain.c:646,1
    - Dst: g_hash_table_new
      Src: /src/glib/glib/gmain.c:648,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/gmain.c:662,1
    - Dst: g_main_context_add_poll_unlocked
      Src: /src/glib/glib/gmain.c:668,1
    - Dst: g_print
      Src: /src/glib/glib/gmain.c:675,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gmain.c:678,1
    - Dst: g_wakeup_new
      Src: /src/glib/glib/gmain.c:666,1
    - Dst: G_LOCK
      Src: /src/glib/glib/gmain.c:670,1
    - Dst: g_wakeup_get_pollfd
      Src: /src/glib/glib/gmain.c:667,1
    - Dst: g_slist_append
      Src: /src/glib/glib/gmain.c:671,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 681
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 681
    functionName: g_main_context_new_with_flags
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_once_init_leave
    - g_slist_append
    - g_mutex_init
    - TRACE
    - g_cond_init
    - g_getenv
    - g_wakeup_new
    - g_main_context_add_poll_unlocked
    - g_once_init_enter
    - G_UNLOCK
    - g_wakeup_get_pollfd
    - g_hash_table_new
    - g_print
    - G_LOCK
    - g_new0
    - GLIB_MAIN_CONTEXT_NEW
    - g_ptr_array_new
    linkageType: ''
    returnType: GMainContext*
    signature: 'GMainContext *g_main_context_new_with_flags (GMainContextFlags flags) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find_source_list_for_priority
      Src: /src/glib/glib/gmain.c:1144,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gmain.c:1163,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1145,1
    - Dst: g_queue_unlink
      Src: /src/glib/glib/gmain.c:1162,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - source
    - context
    argTypes:
    - GSource*
    - GMainContext*
    constantsTouched: []
    func_position:
      end: 1165
      start: 1138
    functionDepth: 0
    functionLinenumber: 1138
    functionLinenumberEnd: 1165
    functionName: source_remove_from_context
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_queue_unlink
    - g_slice_free
    - find_source_list_for_priority
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "static void source_remove_from_context (GSource *source,\t\t\t GMainContext\
      \ *context) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:1250,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:1251,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:1252,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:1251,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:1253,1
    - Dst: SOURCE_DESTROYED
      Src: /src/glib/glib/gmain.c:1253,1
    - Dst: g_main_context_default
      Src: /src/glib/glib/gmain.c:1256,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:1258,1
    - Dst: g_source_attach_unlocked
      Src: /src/glib/glib/gmain.c:1260,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:1262,1
    - Dst: g_source_get_name
      Src: /src/glib/glib/gmain.c:1262,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:1265,1
    - Dst: GLIB_MAIN_SOURCE_ATTACH
      Src: /src/glib/glib/gmain.c:1262,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - source
    - context
    argTypes:
    - GSource*
    - GMainContext*
    constantsTouched: []
    func_position:
      end: 1268
      start: 1244
    functionDepth: 0
    functionLinenumber: 1244
    functionLinenumberEnd: 1268
    functionName: g_source_attach
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_source_attach_unlocked
    - g_atomic_int_get
    - TRACE
    - g_main_context_default
    - GLIB_MAIN_SOURCE_ATTACH
    - UNLOCK_CONTEXT
    - LOCK_CONTEXT
    - SOURCE_DESTROYED
    - g_source_get_name
    linkageType: ''
    returnType: guint
    signature: "guint g_source_attach (GSource *source,\t\t GMainContext *context) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mach_timebase_info
      Src: /src/glib/glib/gmain.c:2936,1
    - Dst: mach_absolute_time
      Src: /src/glib/glib/gmain.c:2937,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2966
      start: 2929
    functionDepth: 0
    functionLinenumber: 2929
    functionLinenumberEnd: 2966
    functionName: g_get_monotonic_time
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - mach_absolute_time
    - mach_timebase_info
    linkageType: ''
    returnType: gint64
    signature: 'gint64 g_get_monotonic_time (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_free
      Src: /src/glib/glib/gmain.c:4784,1
    - Dst: g_wakeup_signal
      Src: /src/glib/glib/gmain.c:4796,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - context
    - fd
    argTypes:
    - GMainContext*
    - GPollFD*
    constantsTouched: []
    func_position:
      end: 4797
      start: 4762
    functionDepth: 0
    functionLinenumber: 4762
    functionLinenumberEnd: 4797
    functionName: g_main_context_remove_poll_unlocked
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_wakeup_signal
    linkageType: ''
    returnType: void
    signature: "static void g_main_context_remove_poll_unlocked (GMainContext *context,\t\
      \t\t\t GPollFD *fd) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_getenv
      Src: /src/glib/glib/gmain.c:5016,1
    - Dst: g_source_set_ready_time
      Src: /src/glib/glib/gmain.c:5047,1
    - Dst: ABS
      Src: /src/glib/glib/gmain.c:5020,1
    - Dst: g_str_hash
      Src: /src/glib/glib/gmain.c:5020,1
    - Dst: g_getenv
      Src: /src/glib/glib/gmain.c:5018,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - timeout_source
    - current_time
    argTypes:
    - GTimeoutSource*
    - gint64
    constantsTouched: []
    func_position:
      end: 5048
      start: 4998
    functionDepth: 0
    functionLinenumber: 4998
    functionLinenumberEnd: 5048
    functionName: g_timeout_set_expiration
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_getenv
    - ABS
    - g_str_hash
    - g_source_set_ready_time
    linkageType: ''
    returnType: void
    signature: 'static void g_timeout_set_expiration (GTimeoutSource *timeout_source,
      gint64 current_time) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: timeout_source_new
      Src: /src/glib/glib/gmain.c:5145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5146
      start: 5142
    functionDepth: 0
    functionLinenumber: 5142
    functionLinenumberEnd: 5146
    functionName: g_timeout_source_new_seconds
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - timeout_source_new
    linkageType: ''
    returnType: GSource*
    signature: 'GSource *g_timeout_source_new_seconds (guint interval) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_contains
      Src: /src/glib/glib/gmain.c:1180,1
    - Dst: g_hash_table_add
      Src: /src/glib/glib/gmain.c:1186,1
    - Dst: g_source_ref
      Src: /src/glib/glib/gmain.c:1184,1
    - Dst: SOURCE_BLOCKED
      Src: /src/glib/glib/gmain.c:1190,1
    - Dst: source_add_to_context
      Src: /src/glib/glib/gmain.c:1188,1
    - Dst: g_main_context_add_poll_unlocked
      Src: /src/glib/glib/gmain.c:1195,1
    - Dst: g_main_context_add_poll_unlocked
      Src: /src/glib/glib/gmain.c:1200,1
    - Dst: g_source_attach_unlocked
      Src: /src/glib/glib/gmain.c:1206,1
    - Dst: g_wakeup_signal
      Src: /src/glib/glib/gmain.c:1217,1
    - Dst: g_trace_mark
      Src: /src/glib/glib/gmain.c:1220,1
    - Dst: g_source_get_name
      Src: /src/glib/glib/gmain.c:1223,1
    - Dst: g_source_get_name
      Src: /src/glib/glib/gmain.c:1223,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 3
    argNames:
    - source
    - context
    - do_wakeup
    argTypes:
    - GSource*
    - GMainContext*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1227
      start: 1167
    functionDepth: 0
    functionLinenumber: 1167
    functionLinenumberEnd: 1227
    functionName: g_source_attach_unlocked
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_trace_mark
    - g_source_ref
    - g_source_attach_unlocked
    - source_add_to_context
    - g_main_context_add_poll_unlocked
    - SOURCE_BLOCKED
    - g_hash_table_contains
    - g_wakeup_signal
    - g_source_get_name
    - g_hash_table_add
    linkageType: ''
    returnType: guint
    signature: 'static guint g_source_attach_unlocked (GSource *source, GMainContext
      *context, gboolean do_wakeup) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:1275,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:1279,1
    - Dst: SOURCE_DESTROYED
      Src: /src/glib/glib/gmain.c:1281,1
    - Dst: g_source_get_name
      Src: /src/glib/glib/gmain.c:1275,1
    - Dst: GLIB_MAIN_SOURCE_DESTROY
      Src: /src/glib/glib/gmain.c:1275,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:1297,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:1299,1
    - Dst: SOURCE_BLOCKED
      Src: /src/glib/glib/gmain.c:1302,1
    - Dst: g_main_context_remove_poll_unlocked
      Src: /src/glib/glib/gmain.c:1307,1
    - Dst: g_main_context_remove_poll_unlocked
      Src: /src/glib/glib/gmain.c:1312,1
    - Dst: g_child_source_remove_internal
      Src: /src/glib/glib/gmain.c:1319,1
    - Dst: g_source_unref_internal
      Src: /src/glib/glib/gmain.c:1321,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:1325,1
    - Dst: g_child_source_remove_internal
      Src: /src/glib/glib/gmain.c:1316,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 3
    argNames:
    - source
    - context
    - have_lock
    argTypes:
    - GSource*
    - GMainContext*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1326
      start: 1270
    functionDepth: 0
    functionLinenumber: 1270
    functionLinenumberEnd: 1326
    functionName: g_source_destroy_internal
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_child_source_remove_internal
    - TRACE
    - GLIB_MAIN_SOURCE_DESTROY
    - UNLOCK_CONTEXT
    - g_source_unref_internal
    - SOURCE_BLOCKED
    - LOCK_CONTEXT
    - SOURCE_DESTROYED
    - g_source_get_name
    - g_main_context_remove_poll_unlocked
    linkageType: ''
    returnType: void
    signature: "static void g_source_destroy_internal (GSource *source,\t\t\t GMainContext\
      \ *context,\t\t\t gboolean have_lock) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:5499,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 5503
      start: 5481
    functionDepth: 0
    functionLinenumber: 5481
    functionLinenumberEnd: 5503
    functionName: g_child_watch_check
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_child_watch_check (GSource *source) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:1891,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:1892,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:1892,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 1895
      start: 1888
    functionDepth: 0
    functionLinenumber: 1888
    functionLinenumberEnd: 1895
    functionName: g_source_get_priority
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_atomic_int_get
    linkageType: ''
    returnType: gint
    signature: 'gint g_source_get_priority (GSource *source) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_default
      Src: /src/glib/glib/gmain.c:4987,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4991,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4989,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMainContext*
    constantsTouched: []
    func_position:
      end: 4994
      start: 4981
    functionDepth: 0
    functionLinenumber: 4981
    functionLinenumberEnd: 4994
    functionName: g_main_context_is_owner
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_main_context_default
    - LOCK_CONTEXT
    - UNLOCK_CONTEXT
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_main_context_is_owner (GMainContext *context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: timeout_source_new
      Src: /src/glib/glib/gmain.c:5119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5120
      start: 5116
    functionDepth: 0
    functionLinenumber: 5116
    functionLinenumberEnd: 5120
    functionName: g_timeout_source_new
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - timeout_source_new
    linkageType: ''
    returnType: GSource*
    signature: 'GSource *g_timeout_source_new (guint interval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_set
      Src: /src/glib/glib/gmain.c:5964,1
    - Dst: g_wakeup_signal
      Src: /src/glib/glib/gmain.c:5972,1
    - Dst: g_atomic_int_set
      Src: /src/glib/glib/gmain.c:5965,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - signum
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 5975
      start: 5958
    functionDepth: 0
    functionLinenumber: 5958
    functionLinenumberEnd: 5975
    functionName: g_unix_signal_handler
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_atomic_int_set
    - g_wakeup_signal
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_signal_handler (int signum) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - source
    - timeout
    argTypes:
    - GSource*
    - gint*
    constantsTouched: []
    func_position:
      end: 6215
      start: 6208
    functionDepth: 0
    functionLinenumber: 6208
    functionLinenumberEnd: 6215
    functionName: g_idle_prepare
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_idle_prepare (GSource *source,\t\t gint *timeout) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idle_add_full
      Src: /src/glib/glib/gmain.c:6406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - function
    - data
    argTypes:
    - GSourceOnceFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 6407
      start: 6402
    functionDepth: 0
    functionLinenumber: 6402
    functionLinenumberEnd: 6407
    functionName: g_idle_add_once
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - idle_add_full
    linkageType: ''
    returnType: guint
    signature: 'guint g_idle_add_once (GSourceOnceFunc function, gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_get_thread_default
      Src: /src/glib/glib/gmain.c:895,1
    - Dst: g_main_context_default
      Src: /src/glib/glib/gmain.c:897,1
    - Dst: g_main_context_ref
      Src: /src/glib/glib/gmain.c:898,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 899
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 899
    functionName: g_main_context_ref_thread_default
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_main_context_default
    - g_main_context_ref
    - g_main_context_get_thread_default
    linkageType: ''
    returnType: GMainContext*
    signature: 'GMainContext *g_main_context_ref_thread_default (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gmain.c:1625,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cb_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1626
      start: 1620
    functionDepth: 0
    functionLinenumber: 1620
    functionLinenumberEnd: 1626
    functionName: g_source_callback_ref
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_atomic_int_inc
    linkageType: ''
    returnType: void
    signature: 'static void g_source_callback_ref (gpointer cb_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:2000,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:2001,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:2006,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:2001,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:2014,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - source
    - can_recurse
    argTypes:
    - GSource*
    - gboolean
    constantsTouched: []
    func_position:
      end: 2015
      start: 1994
    functionDepth: 0
    functionLinenumber: 1994
    functionLinenumberEnd: 2015
    functionName: g_source_set_can_recurse
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - LOCK_CONTEXT
    - UNLOCK_CONTEXT
    - g_atomic_int_get
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_source_set_can_recurse (GSource *source,\t\t\t gboolean can_recurse) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:6146,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:6148,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/gmain.c:6156,1
    - Dst: g_source_set_priority
      Src: /src/glib/glib/gmain.c:6154,1
    - Dst: g_child_watch_source_new
      Src: /src/glib/glib/gmain.c:6151,1
    - Dst: g_source_attach
      Src: /src/glib/glib/gmain.c:6157,1
    - Dst: g_source_unref
      Src: /src/glib/glib/gmain.c:6158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - priority
    - pid
    - function
    - data
    - notify
    argTypes:
    - gint
    - GPid
    - GChildWatchFunc
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 6161
      start: 6136
    functionDepth: 0
    functionLinenumber: 6136
    functionLinenumberEnd: 6161
    functionName: g_child_watch_add_full
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_source_set_priority
    - g_source_set_callback
    - g_child_watch_source_new
    - g_source_attach
    - g_source_unref
    linkageType: ''
    returnType: guint
    signature: "guint g_child_watch_add_full (gint priority,\t\t\tGPid pid,\t\t\t\
      GChildWatchFunc function,\t\t\tgpointer data,\t\t\tGDestroyNotify notify) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:6492,1
    - Dst: notify
      Src: /src/glib/glib/gmain.c:6501,1
    - Dst: g_main_context_is_owner
      Src: /src/glib/glib/gmain.c:6497,1
    - Dst: function
      Src: /src/glib/glib/gmain.c:6499,1
    - Dst: g_main_context_default
      Src: /src/glib/glib/gmain.c:6495,1
    - Dst: g_main_context_get_thread_default
      Src: /src/glib/glib/gmain.c:6508,1
    - Dst: g_main_context_default
      Src: /src/glib/glib/gmain.c:6511,1
    - Dst: g_main_context_acquire
      Src: /src/glib/glib/gmain.c:6513,1
    - Dst: function
      Src: /src/glib/glib/gmain.c:6515,1
    - Dst: g_main_context_release
      Src: /src/glib/glib/gmain.c:6517,1
    - Dst: g_source_unref
      Src: /src/glib/glib/gmain.c:6530,1
    - Dst: g_source_set_priority
      Src: /src/glib/glib/gmain.c:6527,1
    - Dst: notify
      Src: /src/glib/glib/gmain.c:6520,1
    - Dst: g_source_attach
      Src: /src/glib/glib/gmain.c:6529,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/gmain.c:6528,1
    - Dst: g_idle_source_new
      Src: /src/glib/glib/gmain.c:6526,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 5
    argNames:
    - context
    - priority
    - function
    - data
    - notify
    argTypes:
    - GMainContext*
    - gint
    - GSourceFunc
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 6533
      start: 6485
    functionDepth: 0
    functionLinenumber: 6485
    functionLinenumberEnd: 6533
    functionName: g_main_context_invoke_full
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_source_set_priority
    - g_source_set_callback
    - notify
    - g_return_if_fail
    - g_idle_source_new
    - g_main_context_default
    - g_source_attach
    - g_main_context_release
    - g_main_context_get_thread_default
    - g_source_unref
    - g_main_context_is_owner
    - function
    - g_main_context_acquire
    linkageType: ''
    returnType: void
    signature: 'void g_main_context_invoke_full (GMainContext *context, gint priority,
      GSourceFunc function, gpointer data, GDestroyNotify notify) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/glib/gmain.c:1633,1
    - Dst: g_free
      Src: /src/glib/glib/gmain.c:1637,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - cb_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1639
      start: 1628
    functionDepth: 0
    functionLinenumber: 1628
    functionLinenumberEnd: 1639
    functionName: g_source_callback_unref
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_free
    - g_atomic_int_dec_and_test
    linkageType: ''
    returnType: void
    signature: 'static void g_source_callback_unref (gpointer cb_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/gmain.c:5630,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gmain.c:5632,1
    - Dst: dispatch_unix_signals_unlocked
      Src: /src/glib/glib/gmain.c:5631,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5633
      start: 5627
    functionDepth: 0
    functionLinenumber: 5627
    functionLinenumberEnd: 5633
    functionName: dispatch_unix_signals
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - G_LOCK
    - dispatch_unix_signals_unlocked
    linkageType: ''
    returnType: void
    signature: 'static void dispatch_unix_signals (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_iteration
      Src: /src/glib/glib/gmain.c:6540,1
    - Dst: dispatch_unix_signals
      Src: /src/glib/glib/gmain.c:6544,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:6543,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 6549
      start: 6535
    functionDepth: 0
    functionLinenumber: 6535
    functionLinenumberEnd: 6549
    functionName: glib_worker_main
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - dispatch_unix_signals
    - g_main_context_iteration
    - g_atomic_int_get
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer glib_worker_main (gpointer data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter_pointer
      Src: /src/glib/glib/gmain.c:698,1
    - Dst: g_print
      Src: /src/glib/glib/gmain.c:708,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:704,1
    - Dst: GLIB_MAIN_CONTEXT_DEFAULT
      Src: /src/glib/glib/gmain.c:704,1
    - Dst: g_main_context_new
      Src: /src/glib/glib/gmain.c:702,1
    - Dst: g_once_init_leave_pointer
      Src: /src/glib/glib/gmain.c:711,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 715
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 715
    functionName: g_main_context_default
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_once_init_leave_pointer
    - TRACE
    - GLIB_MAIN_CONTEXT_DEFAULT
    - g_main_context_new
    - g_once_init_enter_pointer
    - g_print
    linkageType: ''
    returnType: GMainContext*
    signature: 'GMainContext *g_main_context_default (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_current_time
      Src: /src/glib/glib/gmain.c:4814,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - source
    - timeval
    argTypes:
    - GSource*
    - GTimeVal*
    constantsTouched: []
    func_position:
      end: 4815
      start: 4809
    functionDepth: 0
    functionLinenumber: 4809
    functionLinenumberEnd: 4815
    functionName: g_source_get_current_time
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_get_current_time
    linkageType: ''
    returnType: G_GNUC_BEGIN_IGNORE_DEPRECATIONS
    signature: "G_GNUC_BEGIN_IGNORE_DEPRECATIONS void g_source_get_current_time (GSource\
      \ *source,\t\t\t GTimeVal *timeval) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:6039,1
    - Dst: g_source_add_poll
      Src: /src/glib/glib/gmain.c:6054,1
    - Dst: g_source_new
      Src: /src/glib/glib/gmain.c:6042,1
    - Dst: syscall
      Src: /src/glib/glib/gmain.c:6066,1
    - Dst: g_source_set_static_name
      Src: /src/glib/glib/gmain.c:6046,1
    - Dst: g_source_add_poll
      Src: /src/glib/glib/gmain.c:6071,1
    - Dst: g_debug
      Src: /src/glib/glib/gmain.c:6076,1
    - Dst: g_strerror
      Src: /src/glib/glib/gmain.c:6077,1
    - Dst: G_LOCK
      Src: /src/glib/glib/gmain.c:6086,1
    - Dst: ref_unix_signal_handler_unlocked
      Src: /src/glib/glib/gmain.c:6087,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gmain.c:6088,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gmain.c:6089,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6093
      start: 6029
    functionDepth: 0
    functionLinenumber: 6029
    functionLinenumberEnd: 6093
    functionName: g_child_watch_source_new
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_source_new
    - syscall
    - G_UNLOCK
    - g_debug
    - g_source_add_poll
    - g_strerror
    - g_slist_prepend
    - ref_unix_signal_handler_unlocked
    - G_LOCK
    - g_source_set_static_name
    linkageType: ''
    returnType: GSource*
    signature: 'GSource *g_child_watch_source_new (GPid pid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_default
      Src: /src/glib/glib/gmain.c:3429,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:3435,1
    - Dst: g_main_context_acquire_unlocked
      Src: /src/glib/glib/gmain.c:3433,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:3431,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMainContext*
    constantsTouched: []
    func_position:
      end: 3438
      start: 3423
    functionDepth: 0
    functionLinenumber: 3423
    functionLinenumberEnd: 3438
    functionName: g_main_context_acquire
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - UNLOCK_CONTEXT
    - g_main_context_default
    - LOCK_CONTEXT
    - g_main_context_acquire_unlocked
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_main_context_acquire (GMainContext *context) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_default
      Src: /src/glib/glib/gmain.c:4302,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4304,1
    - Dst: g_main_context_iterate_unlocked
      Src: /src/glib/glib/gmain.c:4305,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4306,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMainContext*
    constantsTouched: []
    func_position:
      end: 4309
      start: 4296
    functionDepth: 0
    functionLinenumber: 4296
    functionLinenumberEnd: 4309
    functionName: g_main_context_pending
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_main_context_iterate_unlocked
    - g_main_context_default
    - LOCK_CONTEXT
    - UNLOCK_CONTEXT
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_main_context_pending (GMainContext *context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idle_add_full
      Src: /src/glib/glib/gmain.c:6352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 4
    argNames:
    - priority
    - function
    - data
    - notify
    argTypes:
    - gint
    - GSourceFunc
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 6353
      start: 6346
    functionDepth: 0
    functionLinenumber: 6346
    functionLinenumberEnd: 6353
    functionName: g_idle_add_full
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - idle_add_full
    linkageType: ''
    returnType: guint
    signature: "guint g_idle_add_full (gint priority,\t\t GSourceFunc function,\t\t\
      \ gpointer data,\t\t GDestroyNotify notify) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gmain.c:3448,1
    - Dst: GLIB_MAIN_CONTEXT_ACQUIRE
      Src: /src/glib/glib/gmain.c:3449,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:3459,1
    - Dst: GLIB_MAIN_CONTEXT_ACQUIRE
      Src: /src/glib/glib/gmain.c:3459,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:3449,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMainContext*
    constantsTouched: []
    func_position:
      end: 3462
      start: 3440
    functionDepth: 0
    functionLinenumber: 3440
    functionLinenumberEnd: 3462
    functionName: g_main_context_acquire_unlocked
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_assert
    - GLIB_MAIN_CONTEXT_ACQUIRE
    - TRACE
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_main_context_acquire_unlocked (GMainContext *context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:2029,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:2030,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:2030,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 2033
      start: 2026
    functionDepth: 0
    functionLinenumber: 2026
    functionLinenumberEnd: 2033
    functionName: g_source_get_can_recurse
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_atomic_int_get
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_source_get_can_recurse (GSource *source) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_acquire_unlocked
      Src: /src/glib/glib/gmain.c:4233,1
    - Dst: g_main_context_wait_internal
      Src: /src/glib/glib/gmain.c:4240,1
    - Dst: g_main_context_query_unlocked
      Src: /src/glib/glib/gmain.c:4259,1
    - Dst: g_main_context_prepare_unlocked
      Src: /src/glib/glib/gmain.c:4257,1
    - Dst: g_new
      Src: /src/glib/glib/gmain.c:4251,1
    - Dst: g_free
      Src: /src/glib/glib/gmain.c:4263,1
    - Dst: g_new
      Src: /src/glib/glib/gmain.c:4265,1
    - Dst: g_main_context_poll_unlocked
      Src: /src/glib/glib/gmain.c:4271,1
    - Dst: g_main_context_check_unlocked
      Src: /src/glib/glib/gmain.c:4273,1
    - Dst: g_main_context_dispatch_unlocked
      Src: /src/glib/glib/gmain.c:4276,1
    - Dst: g_trace_mark
      Src: /src/glib/glib/gmain.c:4280,1
    - Dst: g_main_context_release_unlocked
      Src: /src/glib/glib/gmain.c:4278,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 4
    argNames:
    - context
    - block
    - dispatch
    - self
    argTypes:
    - GMainContext*
    - gboolean
    - gboolean
    - GThread*
    constantsTouched: []
    func_position:
      end: 4285
      start: 4218
    functionDepth: 0
    functionLinenumber: 4218
    functionLinenumberEnd: 4285
    functionName: g_main_context_iterate_unlocked
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_new
    - g_main_context_release_unlocked
    - g_main_context_poll_unlocked
    - g_main_context_check_unlocked
    - g_main_context_dispatch_unlocked
    - g_main_context_wait_internal
    - g_main_context_acquire_unlocked
    - g_main_context_prepare_unlocked
    - g_main_context_query_unlocked
    - g_free
    - g_trace_mark
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_main_context_iterate_unlocked (GMainContext *context,
      gboolean block, gboolean dispatch, GThread *self) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:6303,1
    - Dst: g_source_attach
      Src: /src/glib/glib/gmain.c:6311,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/gmain.c:6310,1
    - Dst: idle_source_new
      Src: /src/glib/glib/gmain.c:6305,1
    - Dst: g_source_set_priority
      Src: /src/glib/glib/gmain.c:6308,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:6313,1
    - Dst: GLIB_IDLE_ADD
      Src: /src/glib/glib/gmain.c:6313,1
    - Dst: g_main_context_default
      Src: /src/glib/glib/gmain.c:6313,1
    - Dst: g_source_unref
      Src: /src/glib/glib/gmain.c:6315,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - priority
    - one_shot
    - function
    - data
    - notify
    argTypes:
    - gint
    - gboolean
    - GSourceFunc
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 6318
      start: 6293
    functionDepth: 0
    functionLinenumber: 6293
    functionLinenumberEnd: 6318
    functionName: idle_add_full
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_source_set_priority
    - g_source_set_callback
    - TRACE
    - g_source_attach
    - GLIB_IDLE_ADD
    - g_main_context_default
    - g_source_unref
    - idle_source_new
    linkageType: ''
    returnType: guint
    signature: 'static guint idle_add_full (gint priority, gboolean one_shot, GSourceFunc
      function, gpointer data, GDestroyNotify notify) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:926,1
    - Dst: g_slice_new0
      Src: /src/glib/glib/gmain.c:930,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:927,1
    - Dst: g_malloc0
      Src: /src/glib/glib/gmain.c:929,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:942,1
    - Dst: GLIB_SOURCE_NEW
      Src: /src/glib/glib/gmain.c:942,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 947
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 947
    functionName: g_source_new
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - GLIB_SOURCE_NEW
    - g_return_val_if_fail
    - TRACE
    - g_slice_new0
    - g_malloc0
    linkageType: ''
    returnType: GSource*
    signature: "GSource *g_source_new (GSourceFuncs *source_funcs,\t guint struct_size) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:722,1
    - Dst: g_main_context_release
      Src: /src/glib/glib/gmain.c:724,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/gmain.c:726,1
    - Dst: GLIB_MAIN_CONTEXT_FREE
      Src: /src/glib/glib/gmain.c:722,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 727
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 727
    functionName: free_context
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_main_context_unref
    - g_main_context_release
    - GLIB_MAIN_CONTEXT_FREE
    - TRACE
    linkageType: ''
    returnType: void
    signature: 'static void free_context (gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_source_unref_internal
      Src: /src/glib/glib/gmain.c:1050,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GSourceIter*
    constantsTouched: []
    func_position:
      end: 1053
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1053
    functionName: g_source_iter_clear
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_source_unref_internal
    linkageType: ''
    returnType: void
    signature: 'static void g_source_iter_clear (GSourceIter *iter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1601,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:1602,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1604,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1603,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1602,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:1604,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1605,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1606,1
    - Dst: SOURCE_DESTROYED
      Src: /src/glib/glib/gmain.c:1606,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1607,1
    - Dst: SOURCE_DESTROYED
      Src: /src/glib/glib/gmain.c:1607,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:1617,1
    - Dst: g_child_source_remove_internal
      Src: /src/glib/glib/gmain.c:1614,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:1612,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - source
    - child_source
    argTypes:
    - GSource*
    - GSource*
    constantsTouched: []
    func_position:
      end: 1618
      start: 1595
    functionDepth: 0
    functionLinenumber: 1595
    functionLinenumberEnd: 1618
    functionName: g_source_remove_child_source
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_child_source_remove_internal
    - g_atomic_int_get
    - g_return_if_fail
    - UNLOCK_CONTEXT
    - LOCK_CONTEXT
    - SOURCE_DESTROYED
    linkageType: ''
    returnType: void
    signature: "void g_source_remove_child_source (GSource *source,\t\t\t GSource\
      \ *child_source) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:2647,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:2649,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:2648,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:2648,1
    - Dst: SOURCE_DESTROYED
      Src: /src/glib/glib/gmain.c:2649,1
    - Dst: g_new
      Src: /src/glib/glib/gmain.c:2651,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:2659,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gmain.c:2661,1
    - Dst: SOURCE_BLOCKED
      Src: /src/glib/glib/gmain.c:2665,1
    - Dst: g_main_context_add_poll_unlocked
      Src: /src/glib/glib/gmain.c:2666,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:2667,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - source
    - fd
    - events
    argTypes:
    - GSource*
    - gint
    - GIOCondition
    constantsTouched: []
    func_position:
      end: 2671
      start: 2639
    functionDepth: 0
    functionLinenumber: 2639
    functionLinenumberEnd: 2671
    functionName: g_source_add_unix_fd
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_new
    - g_atomic_int_get
    - g_main_context_add_poll_unlocked
    - UNLOCK_CONTEXT
    - SOURCE_BLOCKED
    - LOCK_CONTEXT
    - SOURCE_DESTROYED
    - g_slist_prepend
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_source_add_unix_fd (GSource *source, gint fd, GIOCondition
      events) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_default
      Src: /src/glib/glib/gmain.c:4958,1
    - Dst: GLIB_MAIN_CONTEXT_WAKEUP
      Src: /src/glib/glib/gmain.c:4962,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:4960,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:4962,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:4960,1
    - Dst: g_wakeup_signal
      Src: /src/glib/glib/gmain.c:4964,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMainContext*
    constantsTouched: []
    func_position:
      end: 4965
      start: 4954
    functionDepth: 0
    functionLinenumber: 4954
    functionLinenumberEnd: 4965
    functionName: g_main_context_wakeup
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - TRACE
    - g_atomic_int_get
    - g_return_if_fail
    - g_main_context_default
    - GLIB_MAIN_CONTEXT_WAKEUP
    - g_wakeup_signal
    linkageType: ''
    returnType: void
    signature: 'void g_main_context_wakeup (GMainContext *context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 6221
      start: 6217
    functionDepth: 0
    functionLinenumber: 6217
    functionLinenumberEnd: 6221
    functionName: g_idle_check
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_idle_check (GSource *source) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_queue_free_full
      Src: /src/glib/glib/gmain.c:732,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 733
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 733
    functionName: free_context_stack
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_queue_free_full
    linkageType: ''
    returnType: void
    signature: 'static void free_context_stack (gpointer data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_warning
      Src: /src/glib/glib/gmain.c:6233,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:6249,1
    - Dst: GLIB_IDLE_DISPATCH
      Src: /src/glib/glib/gmain.c:6249,1
    - Dst: callback
      Src: /src/glib/glib/gmain.c:6246,1
    - Dst: once_callback
      Src: /src/glib/glib/gmain.c:6241,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - source
    - callback
    - user_data
    argTypes:
    - GSource*
    - GSourceFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 6252
      start: 6223
    functionDepth: 0
    functionLinenumber: 6223
    functionLinenumberEnd: 6252
    functionName: g_idle_dispatch
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_warning
    - TRACE
    - callback
    - GLIB_IDLE_DISPATCH
    - once_callback
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_idle_dispatch (GSource *source, \t\t GSourceFunc\
      \ callback,\t\t gpointer user_data) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_source_ref
      Src: /src/glib/glib/gmain.c:1032,1
    - Dst: g_source_unref_internal
      Src: /src/glib/glib/gmain.c:1035,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 16
    argCount: 2
    argNames:
    - iter
    - source
    argTypes:
    - GSourceIter*
    - GSource**
    constantsTouched: []
    func_position:
      end: 1040
      start: 997
    functionDepth: 0
    functionLinenumber: 997
    functionLinenumberEnd: 1040
    functionName: g_source_iter_next
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_source_ref
    - g_source_unref_internal
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_source_iter_next (GSourceIter *iter, GSource **source) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_remove
      Src: /src/glib/glib/gmain.c:1575,1
    - Dst: g_source_unref_internal
      Src: /src/glib/glib/gmain.c:1579,1
    - Dst: g_source_destroy_internal
      Src: /src/glib/glib/gmain.c:1578,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - child_source
    - context
    argTypes:
    - GSource*
    - GMainContext*
    constantsTouched: []
    func_position:
      end: 1580
      start: 1568
    functionDepth: 0
    functionLinenumber: 1568
    functionLinenumberEnd: 1580
    functionName: g_child_source_remove_internal
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_source_destroy_internal
    - g_slist_remove
    - g_source_unref_internal
    linkageType: ''
    returnType: void
    signature: 'static void g_child_source_remove_internal (GSource *child_source,
      GMainContext *context) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_default
      Src: /src/glib/glib/gmain.c:4909,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:4911,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4915,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4913,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:4911,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMainContext*
    constantsTouched: []
    func_position:
      end: 4918
      start: 4903
    functionDepth: 0
    functionLinenumber: 4903
    functionLinenumberEnd: 4918
    functionName: g_main_context_get_poll_func
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_atomic_int_get
    - g_main_context_default
    - UNLOCK_CONTEXT
    - LOCK_CONTEXT
    linkageType: ''
    returnType: GPollFunc
    signature: 'GPollFunc g_main_context_get_poll_func (GMainContext *context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:1417,1
    - Dst: SOURCE_DESTROYED
      Src: /src/glib/glib/gmain.c:1419,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:1418,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:1419,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:1418,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1414
    functionDepth: 0
    functionLinenumber: 1414
    functionLinenumberEnd: 1422
    functionName: g_source_get_context
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_atomic_int_get
    - SOURCE_DESTROYED
    linkageType: ''
    returnType: GMainContext*
    signature: 'GMainContext *g_source_get_context (GSource *source) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:2788,1
    - Dst: g_slist_find
      Src: /src/glib/glib/gmain.c:2790,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:2789,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:2790,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:2789,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - source
    - tag
    argTypes:
    - GSource*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2795
      start: 2782
    functionDepth: 0
    functionLinenumber: 2782
    functionLinenumberEnd: 2795
    functionName: g_source_query_unix_fd
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_slist_find
    - g_return_val_if_fail
    - g_atomic_int_get
    linkageType: ''
    returnType: GIOCondition
    signature: 'GIOCondition g_source_query_unix_fd (GSource *source, gpointer tag) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_LIKELY
      Src: /src/glib/glib/gmain.c:2915,1
    - Dst: GetLastError
      Src: /src/glib/glib/gmain.c:2922,1
    - Dst: QueryPerformanceCounter
      Src: /src/glib/glib/gmain.c:2919,1
    - Dst: g_warning
      Src: /src/glib/glib/gmain.c:2922,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2927
      start: 2912
    functionDepth: 0
    functionLinenumber: 2912
    functionLinenumberEnd: 2927
    functionName: g_get_monotonic_time
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - GetLastError
    - G_LIKELY
    - QueryPerformanceCounter
    - g_warning
    linkageType: ''
    returnType: gint64
    signature: 'gint64 g_get_monotonic_time (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/glib/gmain.c:6556,1
    - Dst: pthread_sigmask
      Src: /src/glib/glib/gmain.c:6564,1
    - Dst: g_thread_new
      Src: /src/glib/glib/gmain.c:6567,1
    - Dst: g_main_context_new
      Src: /src/glib/glib/gmain.c:6566,1
    - Dst: sigfillset
      Src: /src/glib/glib/gmain.c:6563,1
    - Dst: pthread_sigmask
      Src: /src/glib/glib/gmain.c:6569,1
    - Dst: g_once_init_leave
      Src: /src/glib/glib/gmain.c:6571,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6575
      start: 6551
    functionDepth: 0
    functionLinenumber: 6551
    functionLinenumberEnd: 6575
    functionName: g_get_worker_context
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_once_init_leave
    - g_once_init_enter
    - g_main_context_new
    - g_thread_new
    - pthread_sigmask
    - sigfillset
    linkageType: ''
    returnType: GMainContext*
    signature: 'GMainContext *g_get_worker_context (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_acquire
      Src: /src/glib/glib/gmain.c:790,1
    - Dst: g_main_context_ref
      Src: /src/glib/glib/gmain.c:796,1
    - Dst: g_main_context_default
      Src: /src/glib/glib/gmain.c:793,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:791,1
    - Dst: g_private_get
      Src: /src/glib/glib/gmain.c:798,1
    - Dst: g_queue_new
      Src: /src/glib/glib/gmain.c:801,1
    - Dst: g_private_set
      Src: /src/glib/glib/gmain.c:802,1
    - Dst: g_queue_push_head
      Src: /src/glib/glib/gmain.c:805,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:807,1
    - Dst: GLIB_MAIN_CONTEXT_PUSH_THREAD_DEFAULT
      Src: /src/glib/glib/gmain.c:807,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMainContext*
    constantsTouched: []
    func_position:
      end: 808
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 808
    functionName: g_main_context_push_thread_default
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_queue_push_head
    - g_return_if_fail
    - TRACE
    - g_main_context_default
    - g_private_set
    - g_queue_new
    - g_private_get
    - GLIB_MAIN_CONTEXT_PUSH_THREAD_DEFAULT
    - g_main_context_ref
    - g_main_context_acquire
    linkageType: ''
    returnType: void
    signature: 'void g_main_context_push_thread_default (GMainContext *context) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:2701,1
    - Dst: g_slist_find
      Src: /src/glib/glib/gmain.c:2703,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:2703,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:2702,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:2702,1
    - Dst: g_main_context_wakeup
      Src: /src/glib/glib/gmain.c:2711,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - source
    - tag
    - new_events
    argTypes:
    - GSource*
    - gpointer
    - GIOCondition
    constantsTouched: []
    func_position:
      end: 2712
      start: 2693
    functionDepth: 0
    functionLinenumber: 2693
    functionLinenumberEnd: 2712
    functionName: g_source_modify_unix_fd
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_slist_find
    - g_main_context_wakeup
    - g_atomic_int_get
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_source_modify_unix_fd (GSource *source, gpointer tag, GIOCondition
      new_events) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1353,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:1354,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1354,1
    - Dst: g_source_destroy_internal
      Src: /src/glib/glib/gmain.c:1359,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 1362
      start: 1348
    functionDepth: 0
    functionLinenumber: 1348
    functionLinenumberEnd: 1362
    functionName: g_source_destroy
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_source_destroy_internal
    - g_atomic_int_get
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_source_destroy (GSource *source) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1934,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:1940,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:1935,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:1945,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1935,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:1952,1
    - Dst: GLIB_SOURCE_SET_READY_TIME
      Src: /src/glib/glib/gmain.c:1952,1
    - Dst: SOURCE_BLOCKED
      Src: /src/glib/glib/gmain.c:1957,1
    - Dst: g_wakeup_signal
      Src: /src/glib/glib/gmain.c:1958,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:1959,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - source
    - ready_time
    argTypes:
    - GSource*
    - gint64
    constantsTouched: []
    func_position:
      end: 1961
      start: 1928
    functionDepth: 0
    functionLinenumber: 1928
    functionLinenumberEnd: 1961
    functionName: g_source_set_ready_time
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - TRACE
    - g_atomic_int_get
    - g_return_if_fail
    - UNLOCK_CONTEXT
    - SOURCE_BLOCKED
    - LOCK_CONTEXT
    - GLIB_SOURCE_SET_READY_TIME
    - g_wakeup_signal
    linkageType: ''
    returnType: void
    signature: 'void g_source_set_ready_time (GSource *source, gint64 ready_time) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_default
      Src: /src/glib/glib/gmain.c:3643,1
    - Dst: g_main_context_prepare_unlocked
      Src: /src/glib/glib/gmain.c:3647,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:3649,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:3645,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - context
    - priority
    argTypes:
    - GMainContext*
    - gint*
    constantsTouched: []
    func_position:
      end: 3652
      start: 3636
    functionDepth: 0
    functionLinenumber: 3636
    functionLinenumberEnd: 3652
    functionName: g_main_context_prepare
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_main_context_default
    - LOCK_CONTEXT
    - UNLOCK_CONTEXT
    - g_main_context_prepare_unlocked
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_main_context_prepare (GMainContext *context,\t\t\tgint\
      \ *priority) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:4409,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/glib/gmain.c:4412,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:4410,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:4410,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/gmain.c:4415,1
    - Dst: g_free
      Src: /src/glib/glib/gmain.c:4416,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - loop
    argTypes:
    - GMainLoop*
    constantsTouched: []
    func_position:
      end: 4417
      start: 4406
    functionDepth: 0
    functionLinenumber: 4406
    functionLinenumberEnd: 4417
    functionName: g_main_loop_unref
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_main_context_unref
    - g_atomic_int_dec_and_test
    - g_atomic_int_get
    - g_return_if_fail
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_main_loop_unref (GMainLoop *loop) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_default
      Src: /src/glib/glib/gmain.c:4880,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:4882,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4891,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4884,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:4882,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - context
    - func
    argTypes:
    - GMainContext*
    - GPollFunc
    constantsTouched: []
    func_position:
      end: 4892
      start: 4875
    functionDepth: 0
    functionLinenumber: 4875
    functionLinenumberEnd: 4892
    functionName: g_main_context_set_poll_func
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_return_if_fail
    - g_main_context_default
    - UNLOCK_CONTEXT
    - LOCK_CONTEXT
    linkageType: ''
    returnType: void
    signature: "void g_main_context_set_poll_func (GMainContext *context,\t\t\t GPollFunc\
      \ func) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/glib/glib/gmain.c:3678,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - timeout_usec
    argTypes:
    - gint64
    constantsTouched: []
    func_position:
      end: 3682
      start: 3654
    functionDepth: 0
    functionLinenumber: 3654
    functionLinenumberEnd: 3682
    functionName: round_timeout_to_msec
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - MIN
    linkageType: ''
    returnType: int
    signature: 'static inline int round_timeout_to_msec (gint64 timeout_usec) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1449,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1451,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1450,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1452,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:1450,1
    - Dst: SOURCE_DESTROYED
      Src: /src/glib/glib/gmain.c:1452,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:1457,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gmain.c:1459,1
    - Dst: SOURCE_BLOCKED
      Src: /src/glib/glib/gmain.c:1463,1
    - Dst: g_main_context_add_poll_unlocked
      Src: /src/glib/glib/gmain.c:1464,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:1465,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - source
    - fd
    argTypes:
    - GSource*
    - GPollFD*
    constantsTouched: []
    func_position:
      end: 1467
      start: 1443
    functionDepth: 0
    functionLinenumber: 1443
    functionLinenumberEnd: 1467
    functionName: g_source_add_poll
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_return_if_fail
    - g_main_context_add_poll_unlocked
    - UNLOCK_CONTEXT
    - SOURCE_BLOCKED
    - LOCK_CONTEXT
    - SOURCE_DESTROYED
    - g_slist_prepend
    linkageType: ''
    returnType: void
    signature: "void g_source_add_poll (GSource *source,\t\t GPollFD *fd) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/glib/glib/gmain.c:2849,1
    - Dst: G_GINT64_CONSTANT
      Src: /src/glib/glib/gmain.c:2862,1
    - Dst: GetSystemTimeAsFileTime
      Src: /src/glib/glib/gmain.c:2856,1
    - Dst: memmove
      Src: /src/glib/glib/gmain.c:2857,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2867
      start: 2822
    functionDepth: 0
    functionLinenumber: 2822
    functionLinenumberEnd: 2867
    functionName: g_get_real_time
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - memmove
    - G_GINT64_CONSTANT
    - GetSystemTimeAsFileTime
    - gettimeofday
    linkageType: ''
    returnType: G_GNUC_END_IGNORE_DEPRECATIONS
    signature: 'G_GNUC_END_IGNORE_DEPRECATIONS /** * g_get_real_time: * * Queries
      the system wall-clock time. * * This call is functionally equivalent to [func@GLib.get_current_time]
      except * that the return value is often more convenient than dealing with a
      * #GTimeVal. * * You should only use this call if you are actually interested
      in the real * wall-clock time. [func@GLib.get_monotonic_time] is probably more
      useful for * measuring intervals. * * Returns: the number of microseconds since
      January 1, 1970 UTC. * * Since: 2.28 **/ gint64 g_get_real_time (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:4391,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:4392,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:4392,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gmain.c:4394,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4397
      start: 4388
    functionDepth: 0
    functionLinenumber: 4388
    functionLinenumberEnd: 4397
    functionName: g_main_loop_ref
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_atomic_int_inc
    - g_return_val_if_fail
    - g_atomic_int_get
    linkageType: ''
    returnType: GMainLoop*
    signature: 'GMainLoop *g_main_loop_ref (GMainLoop *loop) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:4840,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4846,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:4841,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:4842,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:4841,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/gmain.c:4850,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4856,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 4859
      start: 4816
    functionDepth: 0
    functionLinenumber: 4816
    functionLinenumberEnd: 4859
    functionName: g_source_get_time
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_atomic_int_get
    - UNLOCK_CONTEXT
    - LOCK_CONTEXT
    - g_get_monotonic_time
    linkageType: ''
    returnType: G_GNUC_END_IGNORE_DEPRECATIONS
    signature: 'G_GNUC_END_IGNORE_DEPRECATIONS /** * g_source_get_time: * @source:
      a #GSource * * Gets the time to be used when checking this source. The advantage
      of * calling this function over calling [func@GLib.get_monotonic_time] directly
      is * that when checking multiple sources, GLib can cache a single value * instead
      of having to repeatedly get the system monotonic time. * * The time here is
      the system monotonic time, if available, or some * other reasonable alternative
      otherwise. See [func@GLib.get_monotonic_time]. * * Returns: the monotonic time
      in microseconds * * Since: 2.28 **/ gint64 g_source_get_time (GSource *source) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1783,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1785,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1784,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:1785,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1786,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - source
    - funcs
    argTypes:
    - GSource*
    - GSourceFuncs*
    constantsTouched: []
    func_position:
      end: 1789
      start: 1779
    functionDepth: 0
    functionLinenumber: 1779
    functionLinenumberEnd: 1789
    functionName: g_source_set_funcs
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_source_set_funcs (GSource *source,\t GSourceFuncs *funcs) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:2172,1
    - Dst: g_main_context_find_source_by_id
      Src: /src/glib/glib/gmain.c:2174,1
    - Dst: g_source_set_name
      Src: /src/glib/glib/gmain.c:2178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - tag
    - name
    argTypes:
    - guint
    - char*
    constantsTouched: []
    func_position:
      end: 2179
      start: 2166
    functionDepth: 0
    functionLinenumber: 2166
    functionLinenumberEnd: 2179
    functionName: g_source_set_name_by_id
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_source_set_name
    - g_main_context_find_source_by_id
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_source_set_name_by_id (guint tag, const char *name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:2408,1
    - Dst: g_main_context_default
      Src: /src/glib/glib/gmain.c:2411,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:2413,1
    - Dst: g_source_iter_init
      Src: /src/glib/glib/gmain.c:2415,1
    - Dst: g_source_iter_next
      Src: /src/glib/glib/gmain.c:2416,1
    - Dst: SOURCE_DESTROYED
      Src: /src/glib/glib/gmain.c:2418,1
    - Dst: g_source_iter_clear
      Src: /src/glib/glib/gmain.c:2431,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:2433,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2436
      start: 2400
    functionDepth: 0
    functionLinenumber: 2400
    functionLinenumberEnd: 2436
    functionName: g_main_context_find_source_by_funcs_user_data
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_source_iter_next
    - g_return_val_if_fail
    - g_main_context_default
    - UNLOCK_CONTEXT
    - LOCK_CONTEXT
    - g_source_iter_init
    - SOURCE_DESTROYED
    - g_source_iter_clear
    linkageType: ''
    returnType: GSource*
    signature: "GSource *g_main_context_find_source_by_funcs_user_data (GMainContext\
      \ *context,\t\t\t\t\t GSourceFuncs *funcs,\t\t\t\t\t gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_dispatch
      Src: /src/glib/glib/gmain.c:3131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3133
      start: 3128
    functionDepth: 0
    functionLinenumber: 3128
    functionLinenumberEnd: 3133
    functionName: g_main_current_source
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - get_dispatch
    linkageType: ''
    returnType: GSource*
    signature: 'GSource *g_main_current_source (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:3274,1
    - Dst: g_main_context_add_poll_unlocked
      Src: /src/glib/glib/gmain.c:3282,1
    - Dst: SOURCE_DESTROYED
      Src: /src/glib/glib/gmain.c:3275,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:3275,1
    - Dst: SOURCE_BLOCKED
      Src: /src/glib/glib/gmain.c:3274,1
    - Dst: g_main_context_add_poll_unlocked
      Src: /src/glib/glib/gmain.c:3287,1
    - Dst: unblock_source
      Src: /src/glib/glib/gmain.c:3294,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 3298
      start: 3269
    functionDepth: 0
    functionLinenumber: 3269
    functionLinenumberEnd: 3298
    functionName: unblock_source
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - g_main_context_add_poll_unlocked
    - unblock_source
    - SOURCE_BLOCKED
    - SOURCE_DESTROYED
    linkageType: ''
    returnType: void
    signature: 'static void unblock_source (GSource *source) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_default
      Src: /src/glib/glib/gmain.c:3481,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:3483,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:3485,1
    - Dst: g_main_context_release_unlocked
      Src: /src/glib/glib/gmain.c:3484,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMainContext*
    constantsTouched: []
    func_position:
      end: 3486
      start: 3477
    functionDepth: 0
    functionLinenumber: 3477
    functionLinenumberEnd: 3486
    functionName: g_main_context_release
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_main_context_release_unlocked
    - g_main_context_default
    - LOCK_CONTEXT
    - UNLOCK_CONTEXT
    linkageType: ''
    returnType: void
    signature: 'void g_main_context_release (GMainContext *context) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_default
      Src: /src/glib/glib/gmain.c:4338,1
    - Dst: g_main_context_iterate_unlocked
      Src: /src/glib/glib/gmain.c:4341,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4340,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4342,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - context
    - may_block
    argTypes:
    - GMainContext*
    - gboolean
    constantsTouched: []
    func_position:
      end: 4345
      start: 4332
    functionDepth: 0
    functionLinenumber: 4332
    functionLinenumberEnd: 4345
    functionName: g_main_context_iteration
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_main_context_iterate_unlocked
    - g_main_context_default
    - LOCK_CONTEXT
    - UNLOCK_CONTEXT
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_main_context_iteration (GMainContext *context, gboolean
      may_block) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_invoke_full
      Src: /src/glib/glib/gmain.c:6459,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - context
    - function
    - data
    argTypes:
    - GMainContext*
    - GSourceFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 6462
      start: 6454
    functionDepth: 0
    functionLinenumber: 6454
    functionLinenumberEnd: 6462
    functionName: g_main_context_invoke
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_main_context_invoke_full
    linkageType: ''
    returnType: void
    signature: 'void g_main_context_invoke (GMainContext *context, GSourceFunc function,
      gpointer data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1798,1
    - Dst: GLIB_SOURCE_SET_PRIORITY
      Src: /src/glib/glib/gmain.c:1801,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:1801,1
    - Dst: source_remove_from_context
      Src: /src/glib/glib/gmain.c:1808,1
    - Dst: source_add_to_context
      Src: /src/glib/glib/gmain.c:1815,1
    - Dst: SOURCE_BLOCKED
      Src: /src/glib/glib/gmain.c:1817,1
    - Dst: g_main_context_remove_poll_unlocked
      Src: /src/glib/glib/gmain.c:1822,1
    - Dst: g_main_context_add_poll_unlocked
      Src: /src/glib/glib/gmain.c:1823,1
    - Dst: g_main_context_remove_poll_unlocked
      Src: /src/glib/glib/gmain.c:1830,1
    - Dst: g_main_context_add_poll_unlocked
      Src: /src/glib/glib/gmain.c:1831,1
    - Dst: g_source_set_priority_unlocked
      Src: /src/glib/glib/gmain.c:1841,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 3
    argNames:
    - source
    - context
    - priority
    argTypes:
    - GSource*
    - GMainContext*
    - gint
    constantsTouched: []
    func_position:
      end: 1845
      start: 1791
    functionDepth: 0
    functionLinenumber: 1791
    functionLinenumberEnd: 1845
    functionName: g_source_set_priority_unlocked
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_source_set_priority_unlocked
    - TRACE
    - g_return_if_fail
    - source_add_to_context
    - source_remove_from_context
    - g_main_context_add_poll_unlocked
    - SOURCE_BLOCKED
    - GLIB_SOURCE_SET_PRIORITY
    - g_main_context_remove_poll_unlocked
    linkageType: ''
    returnType: void
    signature: "static void g_source_set_priority_unlocked (GSource *source,\t\t\t\
      \tGMainContext *context,\t\t\t\tgint priority) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QueryPerformanceFrequency
      Src: /src/glib/glib/gmain.c:2902,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gmain.c:2905,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2910
      start: 2897
    functionDepth: 0
    functionLinenumber: 2897
    functionLinenumberEnd: 2910
    functionName: g_clock_win32_init
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    - QueryPerformanceFrequency
    linkageType: ''
    returnType: void
    signature: 'void g_clock_win32_init (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:3503,1
    - Dst: g_slist_delete_link
      Src: /src/glib/glib/gmain.c:3516,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gmain.c:3519,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:3508,1
    - Dst: GLIB_MAIN_CONTEXT_RELEASE
      Src: /src/glib/glib/gmain.c:3508,1
    - Dst: g_cond_signal
      Src: /src/glib/glib/gmain.c:3521,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gmain.c:3524,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMainContext*
    constantsTouched: []
    func_position:
      end: 3527
      start: 3488
    functionDepth: 0
    functionLinenumber: 3488
    functionLinenumberEnd: 3527
    functionName: g_main_context_release_unlocked
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - TRACE
    - g_mutex_lock
    - g_slist_delete_link
    - g_return_if_fail
    - g_mutex_unlock
    - GLIB_MAIN_CONTEXT_RELEASE
    - g_cond_signal
    linkageType: ''
    returnType: void
    signature: 'static void g_main_context_release_unlocked (GMainContext *context) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/glib/glib/gmain.c:5513,1
    - Dst: G_LOCK
      Src: /src/glib/glib/gmain.c:5517,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gmain.c:5520,1
    - Dst: g_slist_remove
      Src: /src/glib/glib/gmain.c:5518,1
    - Dst: unref_unix_signal_handler_unlocked
      Src: /src/glib/glib/gmain.c:5519,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 5522
      start: 5505
    functionDepth: 0
    functionLinenumber: 5505
    functionLinenumberEnd: 5522
    functionName: g_child_watch_finalize
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_slist_remove
    - G_UNLOCK
    - unref_unix_signal_handler_unlocked
    - close
    - G_LOCK
    linkageType: ''
    returnType: void
    signature: 'static void g_child_watch_finalize (GSource *source) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/glib/glib/gmain.c:5710,1
    - Dst: sigaction
      Src: /src/glib/glib/gmain.c:5713,1
    - Dst: sigemptyset
      Src: /src/glib/glib/gmain.c:5712,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - signum
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 5715
      start: 5703
    functionDepth: 0
    functionLinenumber: 5703
    functionLinenumberEnd: 5715
    functionName: unref_unix_signal_handler_unlocked
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - sigaction
    - memset
    - sigemptyset
    linkageType: ''
    returnType: void
    signature: 'static void unref_unix_signal_handler_unlocked (int signum) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:1386,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:1387,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:1387,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:1390,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:1388,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:1392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 1395
      start: 1381
    functionDepth: 0
    functionLinenumber: 1381
    functionLinenumberEnd: 1395
    functionName: g_source_get_id
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - UNLOCK_CONTEXT
    - g_atomic_int_get
    - LOCK_CONTEXT
    linkageType: ''
    returnType: guint
    signature: 'guint g_source_get_id (GSource *source) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:1978,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:1979,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:1979,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 1982
      start: 1975
    functionDepth: 0
    functionLinenumber: 1975
    functionLinenumberEnd: 1982
    functionName: g_source_get_ready_time
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_atomic_int_get
    linkageType: ''
    returnType: gint64
    signature: 'gint64 g_source_get_ready_time (GSource *source) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:2369,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/gmain.c:2375,1
    - Dst: G_CONTAINER_OF
      Src: /src/glib/glib/gmain.c:2378,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:2374,1
    - Dst: g_main_context_default
      Src: /src/glib/glib/gmain.c:2372,1
    - Dst: SOURCE_DESTROYED
      Src: /src/glib/glib/gmain.c:2379,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:2382,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2385
      start: 2362
    functionDepth: 0
    functionLinenumber: 2362
    functionLinenumberEnd: 2385
    functionName: g_main_context_find_source_by_id
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_main_context_default
    - g_hash_table_lookup
    - UNLOCK_CONTEXT
    - G_CONTAINER_OF
    - LOCK_CONTEXT
    - SOURCE_DESTROYED
    linkageType: ''
    returnType: GSource*
    signature: 'GSource *g_main_context_find_source_by_id (GMainContext *context,
      guint source_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_dispatch
      Src: /src/glib/glib/gmain.c:3115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3117
      start: 3112
    functionDepth: 0
    functionLinenumber: 3112
    functionLinenumberEnd: 3117
    functionName: g_main_depth
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - get_dispatch
    linkageType: ''
    returnType: int
    signature: 'int g_main_depth (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_source_remove_by_funcs_user_data
      Src: /src/glib/glib/gmain.c:6420,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 6421
      start: 6417
    functionDepth: 0
    functionLinenumber: 6417
    functionLinenumberEnd: 6421
    functionName: g_idle_remove_by_data
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_source_remove_by_funcs_user_data
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_idle_remove_by_data (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - iter
    - context
    - may_modify
    argTypes:
    - GSourceIter*
    - GMainContext*
    - gboolean
    constantsTouched: []
    func_position:
      end: 994
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 994
    functionName: g_source_iter_init
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void g_source_iter_init (GSourceIter *iter,\t\t GMainContext\
      \ *context,\t\t gboolean may_modify) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1753,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1754,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:1754,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:1756,1
    - Dst: GLIB_SOURCE_SET_CALLBACK
      Src: /src/glib/glib/gmain.c:1756,1
    - Dst: g_new
      Src: /src/glib/glib/gmain.c:1758,1
    - Dst: g_source_set_callback_indirect
      Src: /src/glib/glib/gmain.c:1765,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - source
    - func
    - data
    - notify
    argTypes:
    - GSource*
    - GSourceFunc
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 1766
      start: 1745
    functionDepth: 0
    functionLinenumber: 1745
    functionLinenumberEnd: 1766
    functionName: g_source_set_callback
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - GLIB_SOURCE_SET_CALLBACK
    - TRACE
    - g_new
    - g_atomic_int_get
    - g_return_if_fail
    - g_source_set_callback_indirect
    linkageType: ''
    returnType: void
    signature: "void g_source_set_callback (GSource *source,\t\t GSourceFunc func,\t\
      \t gpointer data,\t\t GDestroyNotify notify) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:2335,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:2336,1
    - Dst: g_source_unref_internal
      Src: /src/glib/glib/gmain.c:2338,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:2336,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 2339
      start: 2332
    functionDepth: 0
    functionLinenumber: 2332
    functionLinenumberEnd: 2339
    functionName: g_source_unref
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_source_unref_internal
    - g_atomic_int_get
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_source_unref (GSource *source) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - timeout_msec
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 3691
      start: 3684
    functionDepth: 0
    functionLinenumber: 3684
    functionLinenumberEnd: 3691
    functionName: extend_timeout_to_usec
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint64
    signature: 'static inline gint64 extend_timeout_to_usec (int timeout_msec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:4526,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:4527,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:4529,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:4527,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - loop
    argTypes:
    - GMainLoop*
    constantsTouched: []
    func_position:
      end: 4530
      start: 4523
    functionDepth: 0
    functionLinenumber: 4523
    functionLinenumberEnd: 4530
    functionName: g_main_loop_is_running
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_atomic_int_get
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_main_loop_is_running (GMainLoop *loop) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idle_source_new
      Src: /src/glib/glib/gmain.c:6290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6291
      start: 6287
    functionDepth: 0
    functionLinenumber: 6287
    functionLinenumberEnd: 6291
    functionName: g_idle_source_new
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - idle_source_new
    linkageType: ''
    returnType: GSource*
    signature: 'GSource *g_idle_source_new (void) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: g_source_unref_internal
      Src: /src/glib/glib/gmain.c:3730,1
    - Dst: g_ptr_array_set_size
      Src: /src/glib/glib/gmain.c:3732,1
    - Dst: g_source_iter_next
      Src: /src/glib/glib/gmain.c:3739,1
    - Dst: SOURCE_DESTROYED
      Src: /src/glib/glib/gmain.c:3743,1
    - Dst: SOURCE_BLOCKED
      Src: /src/glib/glib/gmain.c:3743,1
    - Dst: g_source_get_name
      Src: /src/glib/glib/gmain.c:3774,1
    - Dst: extend_timeout_to_usec
      Src: /src/glib/glib/gmain.c:3769,1
    - Dst: g_trace_mark
      Src: /src/glib/glib/gmain.c:3771,1
    - Dst: GLIB_MAIN_AFTER_PREPARE
      Src: /src/glib/glib/gmain.c:3767,1
    - Dst: g_source_get_name
      Src: /src/glib/glib/gmain.c:3774,1
    - Dst: g_warning
      Src: /src/glib/glib/gmain.c:3707,1
    - Dst: g_main_dispatch
      Src: /src/glib/glib/gmain.c:3719,1
    - Dst: g_source_iter_init
      Src: /src/glib/glib/gmain.c:3738,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:3832,1
    - Dst: GLIB_MAIN_CONTEXT_BEFORE_PREPARE
      Src: /src/glib/glib/gmain.c:3712,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:3762,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:3777,1
    - Dst: MAX
      Src: /src/glib/glib/gmain.c:3799,1
    - Dst: g_source_iter_clear
      Src: /src/glib/glib/gmain.c:3830,1
    - Dst: GLIB_MAIN_CONTEXT_AFTER_PREPARE
      Src: /src/glib/glib/gmain.c:3832,1
    - Dst: MIN
      Src: /src/glib/glib/gmain.c:3827,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:3712,1
    - Dst: gboolean
      Src: /src/glib/glib/gmain.c:3751,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:3767,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/gmain.c:3787,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 87
    argCount: 2
    argNames:
    - context
    - priority
    argTypes:
    - GMainContext*
    - gint*
    constantsTouched: []
    func_position:
      end: 3838
      start: 3693
    functionDepth: 0
    functionLinenumber: 3693
    functionLinenumberEnd: 3838
    functionName: g_main_context_prepare_unlocked
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - extend_timeout_to_usec
    - g_source_unref_internal
    - SOURCE_DESTROYED
    - g_main_dispatch
    - g_warning
    - SOURCE_BLOCKED
    - g_source_iter_init
    - g_source_get_name
    - g_get_monotonic_time
    - g_source_iter_clear
    - gboolean
    - MIN
    - GLIB_MAIN_CONTEXT_BEFORE_PREPARE
    - MAX
    - GLIB_MAIN_CONTEXT_AFTER_PREPARE
    - g_source_iter_next
    - g_trace_mark
    - GLIB_MAIN_AFTER_PREPARE
    - TRACE
    - UNLOCK_CONTEXT
    - LOCK_CONTEXT
    - g_ptr_array_set_size
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_main_context_prepare_unlocked (GMainContext *context,
      gint *priority) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:978,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:980,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:979,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:980,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - source
    - dispose
    argTypes:
    - GSource*
    - GSourceDisposeFunc
    constantsTouched: []
    func_position:
      end: 982
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 982
    functionName: g_source_set_dispose_function
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_source_set_dispose_function (GSource *source,\t\t\t GSourceDisposeFunc\
      \ dispose) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1686,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1687,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:1693,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:1687,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1688,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:1697,1
    - Dst: GLIB_SOURCE_SET_CALLBACK_INDIRECT
      Src: /src/glib/glib/gmain.c:1697,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:1710,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 3
    argNames:
    - source
    - callback_data
    - callback_funcs
    argTypes:
    - GSource*
    - gpointer
    - GSourceCallbackFuncs*
    constantsTouched: []
    func_position:
      end: 1714
      start: 1677
    functionDepth: 0
    functionLinenumber: 1677
    functionLinenumberEnd: 1714
    functionName: g_source_set_callback_indirect
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - TRACE
    - g_atomic_int_get
    - g_return_if_fail
    - GLIB_SOURCE_SET_CALLBACK_INDIRECT
    - UNLOCK_CONTEXT
    - LOCK_CONTEXT
    linkageType: ''
    returnType: void
    signature: "void g_source_set_callback_indirect (GSource *source,\t\t\t\tgpointer\
      \ callback_data,\t\t\t\tGSourceCallbackFuncs *callback_funcs) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:2193,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:2196,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gmain.c:2198,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:2196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2201
      start: 2190
    functionDepth: 0
    functionLinenumber: 2190
    functionLinenumberEnd: 2201
    functionName: g_source_ref
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_atomic_int_inc
    - g_return_val_if_fail
    - g_atomic_int_get
    linkageType: ''
    returnType: GSource*
    signature: 'GSource *g_source_ref (GSource *source) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gmain.c:2225,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/glib/gmain.c:2234,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:2242,1
    - Dst: g_hash_table_remove
      Src: /src/glib/glib/gmain.c:2257,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:2271,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gmain.c:2314,1
    - Dst: g_free
      Src: /src/glib/glib/gmain.c:2317,1
    - Dst: g_slist_remove
      Src: /src/glib/glib/gmain.c:2308,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:2213,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:2216,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:2227,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gmain.c:2266,1
    - Dst: SOURCE_DESTROYED
      Src: /src/glib/glib/gmain.c:2253,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gmain.c:2273,1
    - Dst: g_atomic_int_add
      Src: /src/glib/glib/gmain.c:2290,1
    - Dst: g_slist_free_full
      Src: /src/glib/glib/gmain.c:2301,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/glib/gmain.c:2218,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:2268,1
    - Dst: g_warning
      Src: /src/glib/glib/gmain.c:2254,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gmain.c:2282,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:2289,1
    - Dst: g_source_unref_internal
      Src: /src/glib/glib/gmain.c:2311,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:2321,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:2230,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:2237,1
    - Dst: source_remove_from_context
      Src: /src/glib/glib/gmain.c:2255,1
    - Dst: GLIB_SOURCE_BEFORE_FREE
      Src: /src/glib/glib/gmain.c:2242,1
    - Dst: g_atomic_int_add
      Src: /src/glib/glib/gmain.c:2272,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:2284,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gmain.c:2291,1
    - Dst: g_free
      Src: /src/glib/glib/gmain.c:2295,1
    - Dst: g_slist_free
      Src: /src/glib/glib/gmain.c:2298,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 66
    argCount: 3
    argNames:
    - source
    - context
    - have_lock
    argTypes:
    - GSource*
    - GMainContext*
    - gboolean
    constantsTouched: []
    func_position:
      end: 2322
      start: 2205
    functionDepth: 0
    functionLinenumber: 2205
    functionLinenumberEnd: 2322
    functionName: g_source_unref_internal
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_atomic_int_dec_and_test
    - g_source_unref_internal
    - SOURCE_DESTROYED
    - g_slist_remove
    - g_warning
    - g_slice_free
    - g_atomic_int_inc
    - g_slist_free
    - g_warn_if_fail
    - g_hash_table_remove
    - source_remove_from_context
    - GLIB_SOURCE_BEFORE_FREE
    - TRACE
    - g_return_if_fail
    - UNLOCK_CONTEXT
    - g_atomic_int_add
    - LOCK_CONTEXT
    - g_slist_free_full
    - g_free
    linkageType: ''
    returnType: void
    signature: "static void g_source_unref_internal (GSource *source,\t\t\t GMainContext\
      \ *context,\t\t\t gboolean have_lock) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gmain.c:3312,1
    - Dst: SOURCE_DESTROYED
      Src: /src/glib/glib/gmain.c:3316,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:3358,1
    - Dst: g_source_get_name
      Src: /src/glib/glib/gmain.c:3358,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:3361,1
    - Dst: g_source_unref_internal
      Src: /src/glib/glib/gmain.c:3394,1
    - Dst: get_dispatch
      Src: /src/glib/glib/gmain.c:3304,1
    - Dst: GLIB_MAIN_BEFORE_DISPATCH
      Src: /src/glib/glib/gmain.c:3358,1
    - Dst: g_trace_mark
      Src: /src/glib/glib/gmain.c:3364,1
    - Dst: GLIB_MAIN_AFTER_DISPATCH
      Src: /src/glib/glib/gmain.c:3361,1
    - Dst: SOURCE_BLOCKED
      Src: /src/glib/glib/gmain.c:3381,1
    - Dst: SOURCE_DESTROYED
      Src: /src/glib/glib/gmain.c:3381,1
    - Dst: SOURCE_DESTROYED
      Src: /src/glib/glib/gmain.c:3387,1
    - Dst: g_assert
      Src: /src/glib/glib/gmain.c:3389,1
    - Dst: g_ptr_array_set_size
      Src: /src/glib/glib/gmain.c:3397,1
    - Dst: block_source
      Src: /src/glib/glib/gmain.c:3339,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:3347,1
    - Dst: g_source_get_name
      Src: /src/glib/glib/gmain.c:3361,1
    - Dst: g_source_get_name
      Src: /src/glib/glib/gmain.c:3367,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:3376,1
    - Dst: g_source_get_name
      Src: /src/glib/glib/gmain.c:3367,1
    - Dst: unblock_source
      Src: /src/glib/glib/gmain.c:3382,1
    - Dst: g_source_destroy_internal
      Src: /src/glib/glib/gmain.c:3390,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 61
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMainContext*
    constantsTouched: []
    func_position:
      end: 3398
      start: 3301
    functionDepth: 0
    functionLinenumber: 3301
    functionLinenumberEnd: 3398
    functionName: g_main_dispatch
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_trace_mark
    - TRACE
    - GLIB_MAIN_BEFORE_DISPATCH
    - g_assert
    - GLIB_MAIN_AFTER_DISPATCH
    - g_source_destroy_internal
    - UNLOCK_CONTEXT
    - g_source_unref_internal
    - unblock_source
    - get_dispatch
    - SOURCE_BLOCKED
    - LOCK_CONTEXT
    - g_ptr_array_set_size
    - SOURCE_DESTROYED
    - g_source_get_name
    - block_source
    linkageType: ''
    returnType: void
    signature: 'static void g_main_dispatch (GMainContext *context) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_default
      Src: /src/glib/glib/gmain.c:4366,1
    - Dst: GLIB_MAIN_LOOP_NEW
      Src: /src/glib/glib/gmain.c:4375,1
    - Dst: g_new0
      Src: /src/glib/glib/gmain.c:4370,1
    - Dst: g_main_context_ref
      Src: /src/glib/glib/gmain.c:4368,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:4375,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4378
      start: 4359
    functionDepth: 0
    functionLinenumber: 4359
    functionLinenumberEnd: 4378
    functionName: g_main_loop_new
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - TRACE
    - g_main_context_default
    - GLIB_MAIN_LOOP_NEW
    - g_new0
    - g_main_context_ref
    linkageType: ''
    returnType: GMainLoop*
    signature: "GMainLoop *g_main_loop_new (GMainContext *context,\t\t gboolean is_running) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_source_new
      Src: /src/glib/glib/gmain.c:6260,1
    - Dst: g_source_set_static_name
      Src: /src/glib/glib/gmain.c:6268,1
    - Dst: g_source_set_priority
      Src: /src/glib/glib/gmain.c:6265,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6271
      start: 6254
    functionDepth: 0
    functionLinenumber: 6254
    functionLinenumberEnd: 6271
    functionName: idle_source_new
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_source_set_priority
    - g_source_new
    - g_source_set_static_name
    linkageType: ''
    returnType: GSource*
    signature: 'static GSource *idle_source_new (gboolean one_shot) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_default
      Src: /src/glib/glib/gmain.c:2458,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:2460,1
    - Dst: g_source_iter_next
      Src: /src/glib/glib/gmain.c:2463,1
    - Dst: g_source_iter_init
      Src: /src/glib/glib/gmain.c:2462,1
    - Dst: SOURCE_DESTROYED
      Src: /src/glib/glib/gmain.c:2465,1
    - Dst: g_source_iter_clear
      Src: /src/glib/glib/gmain.c:2477,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:2479,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2482
      start: 2450
    functionDepth: 0
    functionLinenumber: 2450
    functionLinenumberEnd: 2482
    functionName: g_main_context_find_source_by_user_data
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_source_iter_next
    - g_main_context_default
    - UNLOCK_CONTEXT
    - LOCK_CONTEXT
    - SOURCE_DESTROYED
    - g_source_iter_clear
    - g_source_iter_init
    linkageType: ''
    returnType: GSource*
    signature: "GSource *g_main_context_find_source_by_user_data (GMainContext *context,\t\
      \t\t\t\t gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_new_with_flags
      Src: /src/glib/glib/gmain.c:611,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 612
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 612
    functionName: g_main_context_new
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_main_context_new_with_flags
    linkageType: ''
    returnType: GMainContext*
    signature: 'GMainContext *g_main_context_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:2136,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:2137,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:2137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2140
      start: 2133
    functionDepth: 0
    functionLinenumber: 2133
    functionLinenumberEnd: 2140
    functionName: g_source_get_name
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_atomic_int_get
    linkageType: ''
    returnType: char*
    signature: 'const char *g_source_get_name (GSource *source) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:3541,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:3556,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:3553,1
    - Dst: g_slist_append
      Src: /src/glib/glib/gmain.c:3550,1
    - Dst: g_cond_wait
      Src: /src/glib/glib/gmain.c:3554,1
    - Dst: g_slist_remove
      Src: /src/glib/glib/gmain.c:3558,1
    - Dst: g_assert
      Src: /src/glib/glib/gmain.c:3564,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:3574,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 3
    argNames:
    - context
    - cond
    - mutex
    argTypes:
    - GMainContext*
    - GCond*
    - GMutex*
    constantsTouched: []
    func_position:
      end: 3577
      start: 3529
    functionDepth: 0
    functionLinenumber: 3529
    functionLinenumberEnd: 3577
    functionName: g_main_context_wait_internal
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_slist_remove
    - g_assert
    - UNLOCK_CONTEXT
    - LOCK_CONTEXT
    - g_slist_append
    - g_cond_wait
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_main_context_wait_internal (GMainContext *context,
      GCond *cond, GMutex *mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_timeout_add_full
      Src: /src/glib/glib/gmain.c:5274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - interval
    - function
    - data
    argTypes:
    - guint32
    - GSourceFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 5276
      start: 5269
    functionDepth: 0
    functionLinenumber: 5269
    functionLinenumberEnd: 5276
    functionName: g_timeout_add
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_timeout_add_full
    linkageType: ''
    returnType: guint
    signature: "guint g_timeout_add (guint32 interval,\t GSourceFunc function,\t gpointer\
      \ data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_new
      Src: /src/glib/glib/gmain.c:594,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 599
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 599
    functionName: g_main_context_new_with_next_id
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_main_context_new
    linkageType: ''
    returnType: GMainContext*
    signature: 'GMainContext *g_main_context_new_with_next_id (guint next_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_source_set_name_full
      Src: /src/glib/glib/gmain.c:2119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - source
    - name
    argTypes:
    - GSource*
    - char*
    constantsTouched: []
    func_position:
      end: 2120
      start: 2115
    functionDepth: 0
    functionLinenumber: 2115
    functionLinenumberEnd: 2120
    functionName: g_source_set_static_name
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_source_set_name_full
    linkageType: ''
    returnType: void
    signature: 'void g_source_set_static_name (GSource *source, const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:4543,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:4544,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:4544,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4547
      start: 4540
    functionDepth: 0
    functionLinenumber: 4540
    functionLinenumberEnd: 4547
    functionName: g_main_loop_get_context
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_atomic_int_get
    linkageType: ''
    returnType: GMainContext*
    signature: 'GMainContext *g_main_loop_get_context (GMainLoop *loop) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:511,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:511,1
    - Dst: g_slist_remove
      Src: /src/glib/glib/gmain.c:517,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gmain.c:518,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gmain.c:539,1
    - Dst: g_mutex_clear
      Src: /src/glib/glib/gmain.c:564,1
    - Dst: g_source_destroy_internal
      Src: /src/glib/glib/gmain.c:550,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/glib/gmain.c:561,1
    - Dst: g_source_unref_internal
      Src: /src/glib/glib/gmain.c:584,1
    - Dst: g_slist_free
      Src: /src/glib/glib/gmain.c:586,1
    - Dst: G_LOCK
      Src: /src/glib/glib/gmain.c:516,1
    - Dst: g_source_unref_internal
      Src: /src/glib/glib/gmain.c:522,1
    - Dst: g_source_iter_init
      Src: /src/glib/glib/gmain.c:535,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gmain.c:558,1
    - Dst: g_source_iter_next
      Src: /src/glib/glib/gmain.c:536,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/gmain.c:566,1
    - Dst: g_free
      Src: /src/glib/glib/gmain.c:567,1
    - Dst: poll_rec_list_free
      Src: /src/glib/glib/gmain.c:569,1
    - Dst: g_cond_clear
      Src: /src/glib/glib/gmain.c:572,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/glib/gmain.c:513,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:563,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:510,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:525,1
    - Dst: g_source_ref
      Src: /src/glib/glib/gmain.c:539,1
    - Dst: g_source_iter_clear
      Src: /src/glib/glib/gmain.c:541,1
    - Dst: g_wakeup_free
      Src: /src/glib/glib/gmain.c:571,1
    - Dst: g_free
      Src: /src/glib/glib/gmain.c:574,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMainContext*
    constantsTouched: []
    func_position:
      end: 587
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 587
    functionName: g_main_context_unref
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_atomic_int_dec_and_test
    - g_atomic_int_get
    - g_source_destroy_internal
    - g_source_unref_internal
    - G_LOCK
    - g_slist_remove
    - G_UNLOCK
    - poll_rec_list_free
    - g_cond_clear
    - g_source_iter_init
    - g_slice_free
    - g_slist_prepend
    - g_slist_free
    - g_mutex_clear
    - g_wakeup_free
    - g_source_iter_next
    - g_ptr_array_free
    - g_hash_table_destroy
    - g_source_ref
    - g_return_if_fail
    - UNLOCK_CONTEXT
    - LOCK_CONTEXT
    - g_source_iter_clear
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_main_context_unref (GMainContext *context) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_default
      Src: /src/glib/glib/gmain.c:3873,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:3879,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:3875,1
    - Dst: g_main_context_query_unlocked
      Src: /src/glib/glib/gmain.c:3877,1
    - Dst: round_timeout_to_msec
      Src: /src/glib/glib/gmain.c:3882,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 5
    argNames:
    - context
    - max_priority
    - timeout_msec
    - fds
    - n_fds
    argTypes:
    - GMainContext*
    - gint
    - gint*
    - GPollFD*
    - gint
    constantsTouched: []
    func_position:
      end: 3885
      start: 3862
    functionDepth: 0
    functionLinenumber: 3862
    functionLinenumberEnd: 3885
    functionName: g_main_context_query
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_main_context_default
    - UNLOCK_CONTEXT
    - LOCK_CONTEXT
    - g_main_context_query_unlocked
    - round_timeout_to_msec
    linkageType: ''
    returnType: gint
    signature: "gint g_main_context_query (GMainContext *context,\t\t gint max_priority,\t\
      \t gint *timeout_msec,\t\t GPollFD *fds,\t\t gint n_fds) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: timeout_add_full
      Src: /src/glib/glib/gmain.c:5367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 5
    argNames:
    - priority
    - interval
    - function
    - data
    - notify
    argTypes:
    - gint
    - guint32
    - GSourceFunc
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 5368
      start: 5360
    functionDepth: 0
    functionLinenumber: 5360
    functionLinenumberEnd: 5368
    functionName: g_timeout_add_seconds_full
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - timeout_add_full
    linkageType: ''
    returnType: guint
    signature: 'guint g_timeout_add_seconds_full (gint priority, guint32 interval,
      GSourceFunc function, gpointer data, GDestroyNotify notify) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:5643,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - source
    - timeout
    argTypes:
    - GSource*
    - gint*
    constantsTouched: []
    func_position:
      end: 5644
      start: 5635
    functionDepth: 0
    functionLinenumber: 5635
    functionLinenumberEnd: 5644
    functionName: g_unix_signal_watch_prepare
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_unix_signal_watch_prepare (GSource *source,\t\t\t\
      \ gint *timeout) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:3898,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:3951,1
    - Dst: GLIB_MAIN_CONTEXT_BEFORE_QUERY
      Src: /src/glib/glib/gmain.c:3898,1
    - Dst: GLIB_MAIN_CONTEXT_AFTER_QUERY
      Src: /src/glib/glib/gmain.c:3951,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 5
    argNames:
    - context
    - max_priority
    - timeout_usec
    - fds
    - n_fds
    argTypes:
    - GMainContext*
    - gint
    - gint64*
    - GPollFD*
    - gint
    constantsTouched: []
    func_position:
      end: 3955
      start: 3887
    functionDepth: 0
    functionLinenumber: 3887
    functionLinenumberEnd: 3955
    functionName: g_main_context_query_unlocked
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - GLIB_MAIN_CONTEXT_AFTER_QUERY
    - GLIB_MAIN_CONTEXT_BEFORE_QUERY
    - TRACE
    linkageType: ''
    returnType: gint
    signature: 'static gint g_main_context_query_unlocked (GMainContext *context,
      gint max_priority, gint64 *timeout_usec, GPollFD *fds, gint n_fds) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:5653,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 5654
      start: 5646
    functionDepth: 0
    functionLinenumber: 5646
    functionLinenumberEnd: 5654
    functionName: g_unix_signal_watch_check
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_unix_signal_watch_check (GSource *source) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_free_chain
      Src: /src/glib/glib/gmain.c:489,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - context
    - list
    argTypes:
    - GMainContext*
    - GPollRec*
    constantsTouched: []
    func_position:
      end: 490
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 490
    functionName: poll_rec_list_free
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_slice_free_chain
    linkageType: ''
    returnType: void
    signature: "static inline void poll_rec_list_free (GMainContext *context,\t\t\
      \ GPollRec *list) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:2516,1
    - Dst: g_critical
      Src: /src/glib/glib/gmain.c:2522,1
    - Dst: g_main_context_find_source_by_id
      Src: /src/glib/glib/gmain.c:2518,1
    - Dst: g_source_destroy
      Src: /src/glib/glib/gmain.c:2520,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - tag
    argTypes:
    - guint
    constantsTouched: []
    func_position:
      end: 2525
      start: 2511
    functionDepth: 0
    functionLinenumber: 2511
    functionLinenumberEnd: 2525
    functionName: g_source_remove
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_source_destroy
    - g_return_val_if_fail
    - g_main_context_find_source_by_id
    - g_critical
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_source_remove (guint tag) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_default
      Src: /src/glib/glib/gmain.c:3603,1
    - Dst: g_main_context_wait_internal
      Src: /src/glib/glib/gmain.c:3617,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gmain.c:3605,1
    - Dst: g_critical
      Src: /src/glib/glib/gmain.c:3611,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - context
    - cond
    - mutex
    argTypes:
    - GMainContext*
    - GCond*
    - GMutex*
    constantsTouched: []
    func_position:
      end: 3618
      start: 3597
    functionDepth: 0
    functionLinenumber: 3597
    functionLinenumberEnd: 3618
    functionName: g_main_context_wait
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_critical
    - g_main_context_default
    - G_UNLIKELY
    - g_main_context_wait_internal
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_main_context_wait (GMainContext *context, GCond *cond,
      GMutex *mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: timeout_add_full
      Src: /src/glib/glib/gmain.c:5302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - interval
    - function
    - data
    argTypes:
    - guint32
    - GSourceOnceFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 5303
      start: 5297
    functionDepth: 0
    functionLinenumber: 5297
    functionLinenumberEnd: 5303
    functionName: g_timeout_add_once
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - timeout_add_full
    linkageType: ''
    returnType: guint
    signature: 'guint g_timeout_add_once (guint32 interval, GSourceOnceFunc function,
      gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:5476,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - source
    - timeout
    argTypes:
    - GSource*
    - gint*
    constantsTouched: []
    func_position:
      end: 5479
      start: 5461
    functionDepth: 0
    functionLinenumber: 5461
    functionLinenumberEnd: 5479
    functionName: g_child_watch_prepare
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_child_watch_prepare (GSource *source,\t\t gint *timeout) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_find_source_by_user_data
      Src: /src/glib/glib/gmain.c:2542,1
    - Dst: g_source_destroy
      Src: /src/glib/glib/gmain.c:2545,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 2550
      start: 2537
    functionDepth: 0
    functionLinenumber: 2537
    functionLinenumberEnd: 2550
    functionName: g_source_remove_by_user_data
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_source_destroy
    - g_main_context_find_source_by_user_data
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_source_remove_by_user_data (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:3987,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:3991,1
    - Dst: g_main_context_check_unlocked
      Src: /src/glib/glib/gmain.c:3989,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - context
    - max_priority
    - fds
    - n_fds
    argTypes:
    - GMainContext*
    - gint
    - GPollFD*
    - gint
    constantsTouched: []
    func_position:
      end: 3994
      start: 3979
    functionDepth: 0
    functionLinenumber: 3979
    functionLinenumberEnd: 3994
    functionName: g_main_context_check
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - LOCK_CONTEXT
    - UNLOCK_CONTEXT
    - g_main_context_check_unlocked
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_main_context_check (GMainContext *context,\t\t gint max_priority,\t\
      \t GPollFD *fds,\t\t gint n_fds) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_default
      Src: /src/glib/glib/gmain.c:4195,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4197,1
    - Dst: g_main_context_dispatch_unlocked
      Src: /src/glib/glib/gmain.c:4199,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMainContext*
    constantsTouched: []
    func_position:
      end: 4202
      start: 4191
    functionDepth: 0
    functionLinenumber: 4191
    functionLinenumberEnd: 4202
    functionName: g_main_context_dispatch
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_main_context_default
    - LOCK_CONTEXT
    - UNLOCK_CONTEXT
    - g_main_context_dispatch_unlocked
    linkageType: ''
    returnType: void
    signature: 'void g_main_context_dispatch (GMainContext *context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_source_new
      Src: /src/glib/glib/gmain.c:5785,1
    - Dst: signum_to_string
      Src: /src/glib/glib/gmain.c:5792,1
    - Dst: ref_unix_signal_handler_unlocked
      Src: /src/glib/glib/gmain.c:5795,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gmain.c:5796,1
    - Dst: SIGNAL
      Src: /src/glib/glib/gmain.c:5738,1
    - Dst: SIGNAL
      Src: /src/glib/glib/gmain.c:5747,1
    - Dst: SIGNAL
      Src: /src/glib/glib/gmain.c:5753,1
    - Dst: SIGNAL
      Src: /src/glib/glib/gmain.c:5765,1
    - Dst: g_source_set_static_name
      Src: /src/glib/glib/gmain.c:5792,1
    - Dst: G_LOCK
      Src: /src/glib/glib/gmain.c:5794,1
    - Dst: SIGNAL
      Src: /src/glib/glib/gmain.c:5744,1
    - Dst: SIGNAL
      Src: /src/glib/glib/gmain.c:5750,1
    - Dst: SIGNAL
      Src: /src/glib/glib/gmain.c:5762,1
    - Dst: dispatch_unix_signals_unlocked
      Src: /src/glib/glib/gmain.c:5797,1
    - Dst: SIGNAL
      Src: /src/glib/glib/gmain.c:5741,1
    - Dst: SIGNAL
      Src: /src/glib/glib/gmain.c:5759,1
    - Dst: SIGNAL
      Src: /src/glib/glib/gmain.c:5771,1
    - Dst: SIGNAL
      Src: /src/glib/glib/gmain.c:5731,1
    - Dst: SIGNAL
      Src: /src/glib/glib/gmain.c:5733,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gmain.c:5798,1
    - Dst: SIGNAL
      Src: /src/glib/glib/gmain.c:5732,1
    - Dst: SIGNAL
      Src: /src/glib/glib/gmain.c:5734,1
    - Dst: SIGNAL
      Src: /src/glib/glib/gmain.c:5756,1
    - Dst: SIGNAL
      Src: /src/glib/glib/gmain.c:5768,1
    - Dst: _g_main_create_unix_signal_watch
      Src: /src/glib/glib/gmain.c:5780,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 1
    argNames:
    - SIGFPE
    argTypes:
    - SIGFPE
    constantsTouched: []
    func_position:
      end: 5801
      start: 5729
    functionDepth: 0
    functionLinenumber: 5729
    functionLinenumberEnd: 5801
    functionName: SIGNAL
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - SIGNAL
    - g_source_new
    - G_UNLOCK
    - g_slist_prepend
    - dispatch_unix_signals_unlocked
    - signum_to_string
    - ref_unix_signal_handler_unlocked
    - G_LOCK
    - g_source_set_static_name
    - _g_main_create_unix_signal_watch
    linkageType: ''
    returnType: SIGNAL (SIGABRT)
    signature: 'SIGNAL (SIGABRT) SIGNAL (SIGFPE) SIGNAL (SIGILL) SIGNAL (SIGINT) SIGNAL
      (SIGSEGV) SIGNAL (SIGTERM) /* Frustratingly, these are not, and hence for brevity
      the list is * incomplete. */#ifdef SIGALRM SIGNAL (SIGALRM)#endif#ifdef SIGCHLD
      SIGNAL (SIGCHLD)#endif#ifdef SIGHUP SIGNAL (SIGHUP)#endif#ifdef SIGKILL SIGNAL
      (SIGKILL)#endif#ifdef SIGPIPE SIGNAL (SIGPIPE)#endif#ifdef SIGQUIT SIGNAL (SIGQUIT)#endif#ifdef
      SIGSTOP SIGNAL (SIGSTOP)#endif#ifdef SIGUSR1 SIGNAL (SIGUSR1)#endif#ifdef SIGUSR2
      SIGNAL (SIGUSR2)#endif#ifdef SIGPOLL SIGNAL (SIGPOLL)#endif#ifdef SIGPROF SIGNAL
      (SIGPROF)#endif#ifdef SIGTRAP SIGNAL (SIGTRAP)#endif default: return "GUnixSignalSource:
      Unrecognized signal"; }#undef SIGNAL}GSource *_g_main_create_unix_signal_watch
      (int signum) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GetExitCodeProcess
      Src: /src/glib/glib/gmain.c:5844,1
    - Dst: GetLastError
      Src: /src/glib/glib/gmain.c:5846,1
    - Dst: g_warning
      Src: /src/glib/glib/gmain.c:5847,1
    - Dst: g_win32_error_message
      Src: /src/glib/glib/gmain.c:5846,1
    - Dst: g_free
      Src: /src/glib/glib/gmain.c:5848,1
    - Dst: waitid
      Src: /src/glib/glib/gmain.c:5871,1
    - Dst: siginfo_t_to_wait_status
      Src: /src/glib/glib/gmain.c:5881,1
    - Dst: g_debug
      Src: /src/glib/glib/gmain.c:5886,1
    - Dst: g_warning
      Src: /src/glib/glib/gmain.c:5895,1
    - Dst: g_strerror
      Src: /src/glib/glib/gmain.c:5896,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gmain.c:5918,1
    - Dst: g_atomic_int_set
      Src: /src/glib/glib/gmain.c:5914,1
    - Dst: g_warning
      Src: /src/glib/glib/gmain.c:5945,1
    - Dst: g_warning
      Src: /src/glib/glib/gmain.c:5933,1
    - Dst: waitpid
      Src: /src/glib/glib/gmain.c:5916,1
    - Dst: g_strerror
      Src: /src/glib/glib/gmain.c:5934,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 3
    argNames:
    - source
    - callback
    - user_data
    argTypes:
    - GSource*
    - GSourceFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 5954
      start: 5818
    functionDepth: 0
    functionLinenumber: 5818
    functionLinenumberEnd: 5954
    functionName: g_child_watch_dispatch
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - GetExitCodeProcess
    - g_warning
    - g_win32_error_message
    - g_debug
    - g_strerror
    - waitid
    - waitpid
    - GetLastError
    - g_atomic_int_set
    - G_UNLIKELY
    - siginfo_t_to_wait_status
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_child_watch_dispatch (GSource *source, \t\t\tGSourceFunc\
      \ callback,\t\t\tgpointer user_data) "
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: GLIB_MAIN_CONTEXT_BEFORE_CHECK
      Src: /src/glib/glib/gmain.c:4018,1
    - Dst: GLIB_MAIN_CONTEXT_WAKEUP_ACKNOWLEDGE
      Src: /src/glib/glib/gmain.c:4026,1
    - Dst: g_source_get_name
      Src: /src/glib/glib/gmain.c:4105,1
    - Dst: g_source_get_name
      Src: /src/glib/glib/gmain.c:4105,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4108,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/gmain.c:4161,1
    - Dst: g_source_iter_clear
      Src: /src/glib/glib/gmain.c:4171,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:4173,1
    - Dst: g_main_context_default
      Src: /src/glib/glib/gmain.c:4009,1
    - Dst: g_warning
      Src: /src/glib/glib/gmain.c:4013,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:4018,1
    - Dst: g_wakeup_acknowledge
      Src: /src/glib/glib/gmain.c:4027,1
    - Dst: GLIB_MAIN_CONTEXT_AFTER_CHECK
      Src: /src/glib/glib/gmain.c:4038,1
    - Dst: SOURCE_DESTROYED
      Src: /src/glib/glib/gmain.c:4076,1
    - Dst: SOURCE_BLOCKED
      Src: /src/glib/glib/gmain.c:4076,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:4100,1
    - Dst: g_source_iter_next
      Src: /src/glib/glib/gmain.c:4074,1
    - Dst: GLIB_MAIN_CONTEXT_AFTER_CHECK
      Src: /src/glib/glib/gmain.c:4173,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:4038,1
    - Dst: g_source_iter_init
      Src: /src/glib/glib/gmain.c:4073,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4094,1
    - Dst: GLIB_MAIN_AFTER_CHECK
      Src: /src/glib/glib/gmain.c:4100,1
    - Dst: g_trace_mark
      Src: /src/glib/glib/gmain.c:4102,1
    - Dst: g_source_ref
      Src: /src/glib/glib/gmain.c:4160,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:4026,1
    - Dst: g_assert
      Src: /src/glib/glib/gmain.c:4052,1
    - Dst: gboolean
      Src: /src/glib/glib/gmain.c:4084,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/gmain.c:4138,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 105
    argCount: 4
    argNames:
    - context
    - max_priority
    - fds
    - n_fds
    argTypes:
    - GMainContext*
    - gint
    - GPollFD*
    - gint
    constantsTouched: []
    func_position:
      end: 4176
      start: 3996
    functionDepth: 0
    functionLinenumber: 3996
    functionLinenumberEnd: 4176
    functionName: g_main_context_check_unlocked
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - SOURCE_DESTROYED
    - GLIB_MAIN_CONTEXT_AFTER_CHECK
    - g_wakeup_acknowledge
    - g_warning
    - g_main_context_default
    - SOURCE_BLOCKED
    - GLIB_MAIN_CONTEXT_WAKEUP_ACKNOWLEDGE
    - g_source_iter_init
    - g_get_monotonic_time
    - g_source_get_name
    - g_ptr_array_add
    - gboolean
    - g_source_iter_next
    - g_trace_mark
    - GLIB_MAIN_CONTEXT_BEFORE_CHECK
    - g_source_ref
    - TRACE
    - g_assert
    - UNLOCK_CONTEXT
    - GLIB_MAIN_AFTER_CHECK
    - LOCK_CONTEXT
    - g_source_iter_clear
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_main_context_check_unlocked (GMainContext *context,
      gint max_priority, GPollFD *fds, gint n_fds) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:4207,1
    - Dst: GLIB_MAIN_CONTEXT_BEFORE_DISPATCH
      Src: /src/glib/glib/gmain.c:4207,1
    - Dst: g_main_dispatch
      Src: /src/glib/glib/gmain.c:4211,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:4214,1
    - Dst: GLIB_MAIN_CONTEXT_AFTER_DISPATCH
      Src: /src/glib/glib/gmain.c:4214,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMainContext*
    constantsTouched: []
    func_position:
      end: 4215
      start: 4204
    functionDepth: 0
    functionLinenumber: 4204
    functionLinenumberEnd: 4215
    functionName: g_main_context_dispatch_unlocked
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - GLIB_MAIN_CONTEXT_BEFORE_DISPATCH
    - GLIB_MAIN_CONTEXT_AFTER_DISPATCH
    - TRACE
    - g_main_dispatch
    linkageType: ''
    returnType: void
    signature: 'static void g_main_context_dispatch_unlocked (GMainContext *context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/gmain.c:5810,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gmain.c:5813,1
    - Dst: unref_unix_signal_handler_unlocked
      Src: /src/glib/glib/gmain.c:5811,1
    - Dst: g_slist_remove
      Src: /src/glib/glib/gmain.c:5812,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 5814
      start: 5803
    functionDepth: 0
    functionLinenumber: 5803
    functionLinenumberEnd: 5814
    functionName: g_unix_signal_watch_finalize
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - unref_unix_signal_handler_unlocked
    - G_LOCK
    - g_slist_remove
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_signal_watch_finalize (GSource *source) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:5409,1
    - Dst: g_timeout_add_seconds_full
      Src: /src/glib/glib/gmain.c:5411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - interval
    - function
    - data
    argTypes:
    - guint
    - GSourceFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 5412
      start: 5404
    functionDepth: 0
    functionLinenumber: 5404
    functionLinenumberEnd: 5412
    functionName: g_timeout_add_seconds
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_timeout_add_seconds_full
    - g_return_val_if_fail
    linkageType: ''
    returnType: guint
    signature: 'guint g_timeout_add_seconds (guint interval, GSourceFunc function,
      gpointer data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find_source_list_for_priority
      Src: /src/glib/glib/gmain.c:1107,1
    - Dst: g_assert
      Src: /src/glib/glib/gmain.c:1111,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - source
    - context
    argTypes:
    - GSource*
    - GMainContext*
    constantsTouched: []
    func_position:
      end: 1134
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1134
    functionName: source_add_to_context
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_assert
    - find_source_list_for_priority
    linkageType: ''
    returnType: void
    signature: "static void source_add_to_context (GSource *source,\t\t GMainContext\
      \ *context) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_warning
      Src: /src/glib/glib/gmain.c:5060,1
    - Dst: GLIB_TIMEOUT_DISPATCH
      Src: /src/glib/glib/gmain.c:5076,1
    - Dst: callback
      Src: /src/glib/glib/gmain.c:5073,1
    - Dst: once_callback
      Src: /src/glib/glib/gmain.c:5068,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:5076,1
    - Dst: g_timeout_set_expiration
      Src: /src/glib/glib/gmain.c:5079,1
    - Dst: g_source_get_time
      Src: /src/glib/glib/gmain.c:5079,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - source
    - callback
    - user_data
    argTypes:
    - GSource*
    - GSourceFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 5082
      start: 5050
    functionDepth: 0
    functionLinenumber: 5050
    functionLinenumberEnd: 5082
    functionName: g_timeout_dispatch
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_source_get_time
    - g_warning
    - TRACE
    - GLIB_TIMEOUT_DISPATCH
    - callback
    - once_callback
    - g_timeout_set_expiration
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_timeout_dispatch (GSource *source, GSourceFunc callback,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: timeout_add_full
      Src: /src/glib/glib/gmain.c:5223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 5
    argNames:
    - priority
    - interval
    - function
    - data
    - notify
    argTypes:
    - gint
    - guint
    - GSourceFunc
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 5224
      start: 5216
    functionDepth: 0
    functionLinenumber: 5216
    functionLinenumberEnd: 5224
    functionName: g_timeout_add_full
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - timeout_add_full
    linkageType: ''
    returnType: guint
    signature: "guint g_timeout_add_full (gint priority,\t\t guint interval,\t\t GSourceFunc\
      \ function,\t\t gpointer data,\t\t GDestroyNotify notify) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_source_new
      Src: /src/glib/glib/gmain.c:5089,1
    - Dst: g_timeout_set_expiration
      Src: /src/glib/glib/gmain.c:5096,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/gmain.c:5096,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5099
      start: 5084
    functionDepth: 0
    functionLinenumber: 5084
    functionLinenumberEnd: 5099
    functionName: timeout_source_new
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_get_monotonic_time
    - g_timeout_set_expiration
    - g_source_new
    linkageType: ''
    returnType: GSource*
    signature: 'static GSource *timeout_source_new (guint interval, gboolean seconds,
      gboolean one_shot) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/glib/gmain.c:1077,1
    - Dst: g_queue_push_tail_link
      Src: /src/glib/glib/gmain.c:1093,1
    - Dst: g_queue_insert_before_link
      Src: /src/glib/glib/gmain.c:1080,1
    - Dst: g_slice_new0
      Src: /src/glib/glib/gmain.c:1090,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 1057
    functionDepth: 0
    functionLinenumber: 1057
    functionLinenumberEnd: 1096
    functionName: find_source_list_for_priority
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_queue_insert_before_link
    - g_queue_push_tail_link
    - g_slice_new0
    linkageType: ''
    returnType: GSourceList*
    signature: "static GSourceList *find_source_list_for_priority (GMainContext *context,\t\
      \t\t gint priority,\t\t\t gboolean create) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:2569,1
    - Dst: g_source_destroy
      Src: /src/glib/glib/gmain.c:2574,1
    - Dst: g_main_context_find_source_by_funcs_user_data
      Src: /src/glib/glib/gmain.c:2571,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - funcs
    - user_data
    argTypes:
    - GSourceFuncs*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2579
      start: 2563
    functionDepth: 0
    functionLinenumber: 2563
    functionLinenumberEnd: 2579
    functionName: g_source_remove_by_funcs_user_data
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_source_destroy
    - g_return_val_if_fail
    - g_main_context_find_source_by_funcs_user_data
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_source_remove_by_funcs_user_data (GSourceFuncs *funcs,\t\
      \t\t\t gpointer user_data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:5160,1
    - Dst: g_source_attach
      Src: /src/glib/glib/gmain.c:5168,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/gmain.c:5167,1
    - Dst: g_source_set_priority
      Src: /src/glib/glib/gmain.c:5165,1
    - Dst: timeout_source_new
      Src: /src/glib/glib/gmain.c:5162,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:5170,1
    - Dst: GLIB_TIMEOUT_ADD
      Src: /src/glib/glib/gmain.c:5170,1
    - Dst: g_main_context_default
      Src: /src/glib/glib/gmain.c:5170,1
    - Dst: g_source_unref
      Src: /src/glib/glib/gmain.c:5172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 7
    argNames:
    - priority
    - interval
    - seconds
    - one_shot
    - function
    - data
    - notify
    argTypes:
    - gint
    - guint
    - gboolean
    - gboolean
    - GSourceFunc
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 5175
      start: 5148
    functionDepth: 0
    functionLinenumber: 5148
    functionLinenumberEnd: 5175
    functionName: timeout_add_full
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - GLIB_TIMEOUT_ADD
    - g_return_val_if_fail
    - g_source_set_priority
    - g_source_set_callback
    - timeout_source_new
    - TRACE
    - g_source_attach
    - g_main_context_default
    - g_source_unref
    linkageType: ''
    returnType: guint
    signature: 'static guint timeout_add_full (gint priority, guint interval, gboolean
      seconds, gboolean one_shot, GSourceFunc function, gpointer data, GDestroyNotify
      notify) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_private_get
      Src: /src/glib/glib/gmain.c:867,1
    - Dst: g_queue_peek_head
      Src: /src/glib/glib/gmain.c:869,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 872
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 872
    functionName: g_main_context_get_thread_default
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_private_get
    - g_queue_peek_head
    linkageType: ''
    returnType: GMainContext*
    signature: 'GMainContext *g_main_context_get_thread_default (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:2042,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:2050,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:2043,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:2048,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:2043,1
    - Dst: GLIB_SOURCE_SET_NAME
      Src: /src/glib/glib/gmain.c:2050,1
    - Dst: g_free
      Src: /src/glib/glib/gmain.c:2058,1
    - Dst: g_strdup
      Src: /src/glib/glib/gmain.c:2063,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:2068,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - source
    - name
    - is_static
    argTypes:
    - GSource*
    - char*
    - gboolean
    constantsTouched: []
    func_position:
      end: 2069
      start: 2035
    functionDepth: 0
    functionLinenumber: 2035
    functionLinenumberEnd: 2069
    functionName: g_source_set_name_full
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - GLIB_SOURCE_SET_NAME
    - g_strdup
    - TRACE
    - g_atomic_int_get
    - g_return_if_fail
    - UNLOCK_CONTEXT
    - LOCK_CONTEXT
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void g_source_set_name_full (GSource *source, const char *name,
      gboolean is_static) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:3225,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:3226,1
    - Dst: SOURCE_DESTROYED
      Src: /src/glib/glib/gmain.c:3227,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:3226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 3228
      start: 3222
    functionDepth: 0
    functionLinenumber: 3222
    functionLinenumberEnd: 3228
    functionName: g_source_is_destroyed
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_atomic_int_get
    - SOURCE_DESTROYED
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_source_is_destroyed (GSource *source) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_default
      Src: /src/glib/glib/gmain.c:4752,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:4754,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:4755,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4757,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:4754,1
    - Dst: g_main_context_remove_poll_unlocked
      Src: /src/glib/glib/gmain.c:4758,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4759,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - context
    - fd
    argTypes:
    - GMainContext*
    - GPollFD*
    constantsTouched: []
    func_position:
      end: 4760
      start: 4747
    functionDepth: 0
    functionLinenumber: 4747
    functionLinenumberEnd: 4760
    functionName: g_main_context_remove_poll
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_return_if_fail
    - g_main_context_default
    - UNLOCK_CONTEXT
    - LOCK_CONTEXT
    - g_main_context_remove_poll_unlocked
    linkageType: ''
    returnType: void
    signature: "void g_main_context_remove_poll (GMainContext *context,\t\t\t GPollFD\
      \ *fd) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: W_EXITCODE
      Src: /src/glib/glib/gmain.c:5446,1
    - Dst: W_EXITCODE
      Src: /src/glib/glib/gmain.c:5448,1
    - Dst: W_STOPCODE
      Src: /src/glib/glib/gmain.c:5456,1
    - Dst: W_EXITCODE
      Src: /src/glib/glib/gmain.c:5450,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 1
    argNames:
    - info
    argTypes:
    - siginfo_t*
    constantsTouched: []
    func_position:
      end: 5458
      start: 5438
    functionDepth: 0
    functionLinenumber: 5438
    functionLinenumberEnd: 5458
    functionName: siginfo_t_to_wait_status
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - W_EXITCODE
    - W_STOPCODE
    linkageType: ''
    returnType: int
    signature: 'static int siginfo_t_to_wait_status (const siginfo_t *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_warning
      Src: /src/glib/glib/gmain.c:5668,1
    - Dst: g_atomic_int_set
      Src: /src/glib/glib/gmain.c:5673,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - source
    - callback
    - user_data
    argTypes:
    - GSource*
    - GSourceFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 5678
      start: 5656
    functionDepth: 0
    functionLinenumber: 5656
    functionLinenumberEnd: 5678
    functionName: g_unix_signal_watch_dispatch
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_atomic_int_set
    - g_warning
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_unix_signal_watch_dispatch (GSource *source, \t\t\
      \t GSourceFunc callback,\t\t\t gpointer user_data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/glib/glib/gmain.c:2974,1
    - Dst: g_error
      Src: /src/glib/glib/gmain.c:2977,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2980
      start: 2968
    functionDepth: 0
    functionLinenumber: 2968
    functionLinenumberEnd: 2980
    functionName: g_get_monotonic_time
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_error
    - clock_gettime
    linkageType: ''
    returnType: gint64
    signature: 'gint64 g_get_monotonic_time (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_get_worker_context
      Src: /src/glib/glib/gmain.c:5684,1
    - Dst: sigaction
      Src: /src/glib/glib/gmain.c:5699,1
    - Dst: sigemptyset
      Src: /src/glib/glib/gmain.c:5690,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - signum
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 5701
      start: 5680
    functionDepth: 0
    functionLinenumber: 5680
    functionLinenumberEnd: 5701
    functionName: ref_unix_signal_handler_unlocked
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - sigaction
    - g_get_worker_context
    - sigemptyset
    linkageType: ''
    returnType: void
    signature: 'static void ref_unix_signal_handler_unlocked (int signum) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:477,1
    - Dst: g_atomic_int_add
      Src: /src/glib/glib/gmain.c:479,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmain.c:480,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 483
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 483
    functionName: g_main_context_ref
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_atomic_int_add
    - g_return_val_if_fail
    linkageType: ''
    returnType: GMainContext*
    signature: 'GMainContext *g_main_context_ref (GMainContext *context) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_default
      Src: /src/glib/glib/gmain.c:825,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:831,1
    - Dst: g_queue_peek_head
      Src: /src/glib/glib/gmain.c:831,1
    - Dst: g_private_get
      Src: /src/glib/glib/gmain.c:828,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:830,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:833,1
    - Dst: GLIB_MAIN_CONTEXT_POP_THREAD_DEFAULT
      Src: /src/glib/glib/gmain.c:833,1
    - Dst: g_queue_pop_head
      Src: /src/glib/glib/gmain.c:835,1
    - Dst: g_main_context_release
      Src: /src/glib/glib/gmain.c:837,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/gmain.c:839,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMainContext*
    constantsTouched: []
    func_position:
      end: 840
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 840
    functionName: g_main_context_pop_thread_default
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_queue_pop_head
    - g_main_context_unref
    - TRACE
    - g_return_if_fail
    - g_main_context_default
    - g_main_context_release
    - g_private_get
    - GLIB_MAIN_CONTEXT_POP_THREAD_DEFAULT
    - g_queue_peek_head
    linkageType: ''
    returnType: void
    signature: 'void g_main_context_pop_thread_default (GMainContext *context) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/glib/gmain.c:4699,1
    - Dst: g_wakeup_signal
      Src: /src/glib/glib/gmain.c:4734,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 3
    argNames:
    - context
    - priority
    - fd
    argTypes:
    - GMainContext*
    - gint
    - GPollFD*
    constantsTouched: []
    func_position:
      end: 4735
      start: 4693
    functionDepth: 0
    functionLinenumber: 4693
    functionLinenumberEnd: 4735
    functionName: g_main_context_add_poll_unlocked
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_slice_new
    - g_wakeup_signal
    linkageType: ''
    returnType: void
    signature: "static void g_main_context_add_poll_unlocked (GMainContext *context,\t\
      \t\t\t gint priority,\t\t\t\t GPollFD *fd) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gmain.c:1554,1
    - Dst: GLIB_SOURCE_ADD_CHILD_SOURCE
      Src: /src/glib/glib/gmain.c:1552,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1538,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1540,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:1550,1
    - Dst: TRACE
      Src: /src/glib/glib/gmain.c:1552,1
    - Dst: SOURCE_BLOCKED
      Src: /src/glib/glib/gmain.c:1558,1
    - Dst: block_source
      Src: /src/glib/glib/gmain.c:1559,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1541,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:1541,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1542,1
    - Dst: SOURCE_DESTROYED
      Src: /src/glib/glib/gmain.c:1542,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1543,1
    - Dst: SOURCE_DESTROYED
      Src: /src/glib/glib/gmain.c:1543,1
    - Dst: g_source_set_priority_unlocked
      Src: /src/glib/glib/gmain.c:1557,1
    - Dst: g_source_ref
      Src: /src/glib/glib/gmain.c:1555,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:1564,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1539,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:1539,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1545,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1544,1
    - Dst: g_source_attach_unlocked
      Src: /src/glib/glib/gmain.c:1563,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 2
    argNames:
    - source
    - child_source
    argTypes:
    - GSource*
    - GSource*
    constantsTouched: []
    func_position:
      end: 1566
      start: 1532
    functionDepth: 0
    functionLinenumber: 1532
    functionLinenumberEnd: 1566
    functionName: g_source_add_child_source
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_source_ref
    - g_source_set_priority_unlocked
    - TRACE
    - g_atomic_int_get
    - g_return_if_fail
    - g_source_attach_unlocked
    - UNLOCK_CONTEXT
    - SOURCE_BLOCKED
    - LOCK_CONTEXT
    - SOURCE_DESTROYED
    - GLIB_SOURCE_ADD_CHILD_SOURCE
    - g_slist_prepend
    - block_source
    linkageType: ''
    returnType: void
    signature: "void g_source_add_child_source (GSource *source,\t\t\t GSource *child_source) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gmain.c:4463,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/gmain.c:4472,1
    - Dst: g_atomic_int_set
      Src: /src/glib/glib/gmain.c:4476,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4471,1
    - Dst: g_main_context_release_unlocked
      Src: /src/glib/glib/gmain.c:4480,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4482,1
    - Dst: g_main_context_acquire_unlocked
      Src: /src/glib/glib/gmain.c:4441,1
    - Dst: g_atomic_int_set
      Src: /src/glib/glib/gmain.c:4446,1
    - Dst: g_main_context_wait_internal
      Src: /src/glib/glib/gmain.c:4449,1
    - Dst: g_main_context_release_unlocked
      Src: /src/glib/glib/gmain.c:4470,1
    - Dst: g_main_context_iterate_unlocked
      Src: /src/glib/glib/gmain.c:4478,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gmain.c:4437,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:4453,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4458,1
    - Dst: g_main_context_release_unlocked
      Src: /src/glib/glib/gmain.c:4456,1
    - Dst: g_warning
      Src: /src/glib/glib/gmain.c:4468,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:4477,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/gmain.c:4484,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:4433,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:4434,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:4434,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4439,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:4448,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/gmain.c:4459,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 1
    argNames:
    - loop
    argTypes:
    - GMainLoop*
    constantsTouched: []
    func_position:
      end: 4485
      start: 4428
    functionDepth: 0
    functionLinenumber: 4428
    functionLinenumberEnd: 4485
    functionName: g_main_loop_run
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_warning
    - g_atomic_int_get
    - g_return_if_fail
    - g_main_context_release_unlocked
    - g_assert
    - UNLOCK_CONTEXT
    - g_main_loop_unref
    - g_main_context_wait_internal
    - g_atomic_int_set
    - LOCK_CONTEXT
    - g_main_context_acquire_unlocked
    - g_main_context_iterate_unlocked
    - g_atomic_int_inc
    linkageType: ''
    returnType: void
    signature: 'void g_main_loop_run (GMainLoop *loop) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: g_timer_new
      Src: /src/glib/glib/gmain.c:4575,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4593,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4595,1
    - Dst: round_timeout_to_msec
      Src: /src/glib/glib/gmain.c:4600,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4602,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:4604,1
    - Dst: g_strerror
      Src: /src/glib/glib/gmain.c:4612,1
    - Dst: g_print
      Src: /src/glib/glib/gmain.c:4641,1
    - Dst: g_print
      Src: /src/glib/glib/gmain.c:4645,1
    - Dst: g_print
      Src: /src/glib/glib/gmain.c:4649,1
    - Dst: g_print
      Src: /src/glib/glib/gmain.c:4573,1
    - Dst: g_warning
      Src: /src/glib/glib/gmain.c:4611,1
    - Dst: g_print
      Src: /src/glib/glib/gmain.c:4621,1
    - Dst: g_print
      Src: /src/glib/glib/gmain.c:4637,1
    - Dst: g_print
      Src: /src/glib/glib/gmain.c:4643,1
    - Dst: g_timer_elapsed
      Src: /src/glib/glib/gmain.c:4624,1
    - Dst: g_timer_destroy
      Src: /src/glib/glib/gmain.c:4625,1
    - Dst: g_print
      Src: /src/glib/glib/gmain.c:4647,1
    - Dst: g_print
      Src: /src/glib/glib/gmain.c:4650,1
    - Dst: g_print
      Src: /src/glib/glib/gmain.c:4639,1
    - Dst: ppoll
      Src: /src/glib/glib/gmain.c:4594,1
    - Dst: g_print
      Src: /src/glib/glib/gmain.c:4656,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 68
    argCount: 5
    argNames:
    - context
    - timeout_usec
    - priority
    - fds
    - n_fds
    argTypes:
    - GMainContext*
    - gint64
    - int
    - GPollFD*
    - int
    constantsTouched: []
    func_position:
      end: 4660
      start: 4550
    functionDepth: 0
    functionLinenumber: 4550
    functionLinenumberEnd: 4660
    functionName: g_main_context_poll_unlocked
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_warning
    - g_strerror
    - UNLOCK_CONTEXT
    - ppoll
    - g_timer_elapsed
    - LOCK_CONTEXT
    - g_print
    - g_timer_new
    - g_timer_destroy
    - round_timeout_to_msec
    linkageType: ''
    returnType: void
    signature: 'static void g_main_context_poll_unlocked (GMainContext *context, gint64
      timeout_usec, int priority, GPollFD *fds, int n_fds) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/gmain.c:5556,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gmain.c:5560,1
    - Dst: g_wakeup_signal
      Src: /src/glib/glib/gmain.c:5559,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 5561
      start: 5526
    functionDepth: 0
    functionLinenumber: 5526
    functionLinenumberEnd: 5561
    functionName: wake_source
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - G_LOCK
    - g_wakeup_signal
    linkageType: ''
    returnType: void
    signature: 'static void wake_source (GSource *source) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear_func
      Src: /src/glib/glib/gmain.c:2610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - tag_ptr
    - clear_func
    argTypes:
    - guint*
    - GClearHandleFunc
    constantsTouched: []
    func_position:
      end: 2612
      start: 2600
    functionDepth: 0
    functionLinenumber: 2600
    functionLinenumberEnd: 2612
    functionName: g_clear_handle_id
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - clear_func
    linkageType: ''
    returnType: void
    signature: 'void g_clear_handle_id (guint *tag_ptr, GClearHandleFunc clear_func) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_set
      Src: /src/glib/glib/gmain.c:5571,1
    - Dst: g_atomic_int_compare_and_exchange
      Src: /src/glib/glib/gmain.c:5590,1
    - Dst: g_atomic_int_compare_and_exchange
      Src: /src/glib/glib/gmain.c:5608,1
    - Dst: g_atomic_int_compare_and_exchange
      Src: /src/glib/glib/gmain.c:5619,1
    - Dst: wake_source
      Src: /src/glib/glib/gmain.c:5609,1
    - Dst: wake_source
      Src: /src/glib/glib/gmain.c:5621,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5625
      start: 5563
    functionDepth: 0
    functionLinenumber: 5563
    functionLinenumberEnd: 5625
    functionName: dispatch_unix_signals_unlocked
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_atomic_int_set
    - wake_source
    - g_atomic_int_compare_and_exchange
    linkageType: ''
    returnType: void
    signature: 'static void dispatch_unix_signals_unlocked (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1486,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1487,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1489,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmain.c:1487,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:1488,1
    - Dst: SOURCE_DESTROYED
      Src: /src/glib/glib/gmain.c:1489,1
    - Dst: LOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:1494,1
    - Dst: g_slist_remove
      Src: /src/glib/glib/gmain.c:1496,1
    - Dst: SOURCE_BLOCKED
      Src: /src/glib/glib/gmain.c:1500,1
    - Dst: g_main_context_remove_poll_unlocked
      Src: /src/glib/glib/gmain.c:1501,1
    - Dst: UNLOCK_CONTEXT
      Src: /src/glib/glib/gmain.c:1502,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - source
    - fd
    argTypes:
    - GSource*
    - GPollFD*
    constantsTouched: []
    func_position:
      end: 1504
      start: 1480
    functionDepth: 0
    functionLinenumber: 1480
    functionLinenumberEnd: 1504
    functionName: g_source_remove_poll
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_slist_remove
    - g_atomic_int_get
    - g_return_if_fail
    - UNLOCK_CONTEXT
    - SOURCE_BLOCKED
    - LOCK_CONTEXT
    - SOURCE_DESTROYED
    - g_main_context_remove_poll_unlocked
    linkageType: ''
    returnType: void
    signature: "void g_source_remove_poll (GSource *source,\t\t GPollFD *fd) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_source_set_name_full
      Src: /src/glib/glib/gmain.c:2101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - source
    - name
    argTypes:
    - GSource*
    - char*
    constantsTouched: []
    func_position:
      end: 2102
      start: 2097
    functionDepth: 0
    functionLinenumber: 2097
    functionLinenumberEnd: 2102
    functionName: g_source_set_name
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - g_source_set_name_full
    linkageType: ''
    returnType: void
    signature: 'void g_source_set_name (GSource *source, const char *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmain.c:3240,1
    - Dst: block_source
      Src: /src/glib/glib/gmain.c:3262,1
    - Dst: g_main_context_remove_poll_unlocked
      Src: /src/glib/glib/gmain.c:3254,1
    - Dst: SOURCE_BLOCKED
      Src: /src/glib/glib/gmain.c:3240,1
    - Dst: g_main_context_remove_poll_unlocked
      Src: /src/glib/glib/gmain.c:3249,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 3266
      start: 3235
    functionDepth: 0
    functionLinenumber: 3235
    functionLinenumberEnd: 3266
    functionName: block_source
    functionSourceFile: /src/glib/glib/gmain.c
    functionUses: []
    functionsReached:
    - SOURCE_BLOCKED
    - g_main_context_remove_poll_unlocked
    - block_source
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void block_source (GSource *source) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_pointer_bit_lock_and_get
      Src: /src/glib/glib/gdataset.c:160,1
    - Dst: G_DATALIST_CLEAN_POINTER
      Src: /src/glib/glib/gdataset.c:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 162
    functionName: g_datalist_lock_and_get
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached:
    - G_DATALIST_CLEAN_POINTER
    - g_pointer_bit_lock_and_get
    linkageType: ''
    returnType: G_ALWAYS_INLINE*
    signature: 'G_ALWAYS_INLINE static inline GData *g_datalist_lock_and_get (GData
      **datalist) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_pointer_bit_unlock_and_set
      Src: /src/glib/glib/gdataset.c:173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - datalist
    - ptr
    argTypes:
    - GData**
    - gpointer
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: g_datalist_unlock_and_set
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached:
    - g_pointer_bit_unlock_and_set
    linkageType: ''
    returnType: void
    signature: 'static void g_datalist_unlock_and_set (GData **datalist, gpointer
      ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new
      Src: /src/glib/glib/gdataset.c:231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 232
    functionName: datalist_index_new
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached:
    - g_hash_table_new
    linkageType: ''
    returnType: G_ALWAYS_INLINE*
    signature: 'G_ALWAYS_INLINE static inline GHashTable *datalist_index_new (void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/glib/glib/gdataset.c:306,1
    - Dst: datalist_index_get_ptr
      Src: /src/glib/glib/gdataset.c:311,1
    - Dst: datalist_index_new
      Src: /src/glib/glib/gdataset.c:311,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gdataset.c:320,1
    - Dst: datalist_alloc_size
      Src: /src/glib/glib/gdataset.c:306,1
    - Dst: g_error
      Src: /src/glib/glib/gdataset.c:323,1
    - Dst: datalist_realloc
      Src: /src/glib/glib/gdataset.c:326,1
    - Dst: datalist_index_get
      Src: /src/glib/glib/gdataset.c:340,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gdataset.c:341,1
    - Dst: g_hash_table_add
      Src: /src/glib/glib/gdataset.c:342,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 4
    argNames:
    - data
    - key_id
    - new_data
    - destroy_func
    argTypes:
    - GData**
    - GQuark
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 345
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 345
    functionName: datalist_append
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached:
    - datalist_alloc_size
    - datalist_index_get
    - g_malloc
    - datalist_index_get_ptr
    - G_UNLIKELY
    - datalist_realloc
    - datalist_index_new
    - g_error
    - g_hash_table_add
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean datalist_append (GData **data, GQuark key_id, gpointer
      new_data, GDestroyNotify destroy_func) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_LIKELY
      Src: /src/glib/glib/gdataset.c:387,1
    - Dst: g_hash_table_unref
      Src: /src/glib/glib/gdataset.c:404,1
    - Dst: datalist_index_get
      Src: /src/glib/glib/gdataset.c:402,1
    - Dst: g_nearest_pow
      Src: /src/glib/glib/gdataset.c:422,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gdataset.c:403,1
    - Dst: g_assert
      Src: /src/glib/glib/gdataset.c:427,1
    - Dst: g_assert
      Src: /src/glib/glib/gdataset.c:428,1
    - Dst: datalist_realloc
      Src: /src/glib/glib/gdataset.c:431,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 2
    argNames:
    - data
    - d_to_free
    argTypes:
    - GData**
    - GData**
    constantsTouched: []
    func_position:
      end: 435
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 435
    functionName: datalist_shrink
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached:
    - g_hash_table_unref
    - g_assert
    - datalist_index_get
    - G_LIKELY
    - G_UNLIKELY
    - g_nearest_pow
    - datalist_realloc
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean datalist_shrink (GData **data, GData **d_to_free) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_datalist_lock_and_get
      Src: /src/glib/glib/gdataset.c:729,1
    - Dst: g_datalist_unlock
      Src: /src/glib/glib/gdataset.c:733,1
    - Dst: g_newa0
      Src: /src/glib/glib/gdataset.c:746,1
    - Dst: g_new0
      Src: /src/glib/glib/gdataset.c:749,1
    - Dst: datalist_find
      Src: /src/glib/glib/gdataset.c:759,1
    - Dst: datalist_remove
      Src: /src/glib/glib/gdataset.c:769,1
    - Dst: datalist_shrink
      Src: /src/glib/glib/gdataset.c:772,1
    - Dst: g_datalist_unlock_and_set
      Src: /src/glib/glib/gdataset.c:774,1
    - Dst: g_free
      Src: /src/glib/glib/gdataset.c:776,1
    - Dst: g_datalist_unlock
      Src: /src/glib/glib/gdataset.c:779,1
    - Dst: g_free
      Src: /src/glib/glib/gdataset.c:788,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gdataset.c:787,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 37
    argCount: 3
    argNames:
    - datalist
    - keys
    - n_keys
    argTypes:
    - GData**
    - GQuark*
    - gsize
    constantsTouched: []
    func_position:
      end: 789
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 789
    functionName: g_data_remove_internal
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached:
    - g_datalist_unlock_and_set
    - g_datalist_unlock
    - g_free
    - g_newa0
    - datalist_shrink
    - G_UNLIKELY
    - datalist_find
    - g_new0
    - datalist_remove
    - g_datalist_lock_and_get
    linkageType: ''
    returnType: void
    signature: 'static inline void g_data_remove_internal (GData **datalist, GQuark
      *keys, gsize n_keys) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_data_remove_internal
      Src: /src/glib/glib/gdataset.c:997,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - datalist
    - keys
    - n_keys
    argTypes:
    - GData**
    - GQuark*
    - gsize
    constantsTouched: []
    func_position:
      end: 998
      start: 992
    functionDepth: 0
    functionLinenumber: 992
    functionLinenumberEnd: 998
    functionName: g_datalist_id_remove_multiple
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached:
    - g_data_remove_internal
    linkageType: ''
    returnType: void
    signature: 'void g_datalist_id_remove_multiple (GData **datalist, GQuark *keys,
      gsize n_keys) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdataset.c:1420,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gdataset.c:1442,1
    - Dst: g_datalist_lock_and_get
      Src: /src/glib/glib/gdataset.c:1422,1
    - Dst: datalist_index_get
      Src: /src/glib/glib/gdataset.c:1427,1
    - Dst: G_LIKELY
      Src: /src/glib/glib/gdataset.c:1429,1
    - Dst: g_quark_to_string
      Src: /src/glib/glib/gdataset.c:1442,1
    - Dst: g_quark_try_string
      Src: /src/glib/glib/gdataset.c:1451,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/gdataset.c:1455,1
    - Dst: g_datalist_unlock
      Src: /src/glib/glib/gdataset.c:1461,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 28
    argCount: 2
    argNames:
    - datalist
    - key
    argTypes:
    - GData**
    - gchar*
    constantsTouched: []
    func_position:
      end: 1464
      start: 1410
    functionDepth: 0
    functionLinenumber: 1410
    functionLinenumberEnd: 1464
    functionName: g_datalist_get_data
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_quark_try_string
    - g_datalist_unlock
    - datalist_index_get
    - g_hash_table_lookup
    - g_quark_to_string
    - G_LIKELY
    - g_strcmp0
    - g_datalist_lock_and_get
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_datalist_get_data (GData **datalist, const gchar *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_pointer_bit_unlock
      Src: /src/glib/glib/gdataset.c:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - datalist
    argTypes:
    - GData**
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: g_datalist_unlock
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached:
    - g_pointer_bit_unlock
    linkageType: ''
    returnType: void
    signature: 'static void g_datalist_unlock (GData **datalist) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/glib/gdataset.c:181,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gdataset.c:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - alloc
    argTypes:
    - guint32
    constantsTouched: []
    func_position:
      end: 184
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 184
    functionName: datalist_alloc_size
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached:
    - G_STRUCT_OFFSET
    - G_UNLIKELY
    linkageType: ''
    returnType: gsize
    signature: 'static gsize datalist_alloc_size (guint32 alloc) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: datalist_alloc_size
      Src: /src/glib/glib/gdataset.c:246,1
    - Dst: g_realloc
      Src: /src/glib/glib/gdataset.c:246,1
    - Dst: datalist_index_get
      Src: /src/glib/glib/gdataset.c:244,1
    - Dst: datalist_index_get_ptr
      Src: /src/glib/glib/gdataset.c:262,1
    - Dst: G_LIKELY
      Src: /src/glib/glib/gdataset.c:264,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gdataset.c:266,1
    - Dst: g_hash_table_unref
      Src: /src/glib/glib/gdataset.c:267,1
    - Dst: g_hash_table_add
      Src: /src/glib/glib/gdataset.c:289,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gdataset.c:277,1
    - Dst: g_hash_table_remove_all
      Src: /src/glib/glib/gdataset.c:281,1
    - Dst: datalist_index_new
      Src: /src/glib/glib/gdataset.c:284,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 293
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 293
    functionName: datalist_realloc
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached:
    - datalist_alloc_size
    - g_hash_table_unref
    - g_realloc
    - datalist_index_get
    - datalist_index_new
    - datalist_index_get_ptr
    - G_LIKELY
    - G_UNLIKELY
    - g_hash_table_remove_all
    - g_hash_table_add
    linkageType: ''
    returnType: GData*
    signature: 'static GData *datalist_realloc (GData *data, guint32 alloc, gboolean
      *out_reallocated) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gdataset.c:353,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gdataset.c:362,1
    - Dst: datalist_index_get
      Src: /src/glib/glib/gdataset.c:361,1
    - Dst: g_hash_table_remove
      Src: /src/glib/glib/gdataset.c:363,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gdataset.c:370,1
    - Dst: g_hash_table_add
      Src: /src/glib/glib/gdataset.c:371,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - data
    - idx
    argTypes:
    - GData*
    - guint32
    constantsTouched: []
    func_position:
      end: 373
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 373
    functionName: datalist_remove
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached:
    - g_hash_table_remove
    - g_assert
    - datalist_index_get
    - G_UNLIKELY
    - g_hash_table_add
    linkageType: ''
    returnType: void
    signature: 'static void datalist_remove (GData *data, guint32 idx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: datalist_index_get
      Src: /src/glib/glib/gdataset.c:446,1
    - Dst: g_hash_table_unref
      Src: /src/glib/glib/gdataset.c:448,1
    - Dst: g_free
      Src: /src/glib/glib/gdataset.c:456,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gdataset.c:447,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - data
    argTypes:
    - GData*
    constantsTouched: []
    func_position:
      end: 457
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 457
    functionName: datalist_destroy
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached:
    - datalist_index_get
    - g_free
    - G_UNLIKELY
    - g_hash_table_unref
    linkageType: ''
    returnType: void
    signature: 'static void datalist_destroy (GData *data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdataset.c:962,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdataset.c:964,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdataset.c:968,1
    - Dst: g_data_set_internal
      Src: /src/glib/glib/gdataset.c:973,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - datalist
    - key_id
    - data
    - destroy_func
    argTypes:
    - GData**
    - GQuark
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 974
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 974
    functionName: g_datalist_id_set_data_full
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached:
    - g_data_set_internal
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_datalist_id_set_data_full (GData\t **datalist,\t\t\t GQuark\
      \ key_id,\t\t\t gpointer data,\t\t\t GDestroyNotify destroy_func) "
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdataset.c:1350,1
    - Dst: g_datalist_lock_and_get
      Src: /src/glib/glib/gdataset.c:1356,1
    - Dst: datalist_find
      Src: /src/glib/glib/gdataset.c:1358,1
    - Dst: datalist_remove
      Src: /src/glib/glib/gdataset.c:1373,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdataset.c:1351,1
    - Dst: datalist_shrink
      Src: /src/glib/glib/gdataset.c:1374,1
    - Dst: datalist_append
      Src: /src/glib/glib/gdataset.c:1382,1
    - Dst: g_datalist_unlock_and_set
      Src: /src/glib/glib/gdataset.c:1389,1
    - Dst: g_datalist_unlock
      Src: /src/glib/glib/gdataset.c:1391,1
    - Dst: g_free
      Src: /src/glib/glib/gdataset.c:1394,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 36
    argCount: 6
    argNames:
    - datalist
    - key_id
    - oldval
    - newval
    - destroy
    - old_destroy
    argTypes:
    - GData**
    - GQuark
    - gpointer
    - gpointer
    - GDestroyNotify
    - GDestroyNotify*
    constantsTouched: []
    func_position:
      end: 1397
      start: 1335
    functionDepth: 0
    functionLinenumber: 1335
    functionLinenumberEnd: 1397
    functionName: g_datalist_id_replace_data
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_datalist_unlock_and_set
    - g_datalist_unlock
    - datalist_append
    - g_free
    - datalist_shrink
    - datalist_find
    - datalist_remove
    - g_datalist_lock_and_get
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_datalist_id_replace_data (GData **datalist, GQuark key_id,
      gpointer oldval, gpointer newval, GDestroyNotify destroy, GDestroyNotify *old_destroy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdataset.c:1585,1
    - Dst: g_atomic_pointer_set
      Src: /src/glib/glib/gdataset.c:1587,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - datalist
    argTypes:
    - GData**
    constantsTouched: []
    func_position:
      end: 1588
      start: 1582
    functionDepth: 0
    functionLinenumber: 1582
    functionLinenumberEnd: 1588
    functionName: g_datalist_init
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached:
    - g_atomic_pointer_set
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_datalist_init (GData **datalist) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LIKELY
      Src: /src/glib/glib/gdataset.c:189,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 193
    functionName: datalist_index_get_ptr
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached:
    - G_LIKELY
    linkageType: ''
    returnType: G_ALWAYS_INLINE**
    signature: 'G_ALWAYS_INLINE static inline GHashTable **datalist_index_get_ptr
      (GData *data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdataset.c:1542,1
    - Dst: g_new
      Src: /src/glib/glib/gdataset.c:1552,1
    - Dst: G_DATALIST_GET_POINTER
      Src: /src/glib/glib/gdataset.c:1545,1
    - Dst: G_DATALIST_GET_POINTER
      Src: /src/glib/glib/gdataset.c:1560,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdataset.c:1543,1
    - Dst: func
      Src: /src/glib/glib/gdataset.c:1567,1
    - Dst: g_free
      Src: /src/glib/glib/gdataset.c:1572,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - datalist
    - func
    - user_data
    argTypes:
    - GData**
    - GDataForeachFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 1573
      start: 1533
    functionDepth: 0
    functionLinenumber: 1533
    functionLinenumberEnd: 1573
    functionName: g_datalist_foreach
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached:
    - func
    - g_new
    - g_return_if_fail
    - G_DATALIST_GET_POINTER
    - g_free
    linkageType: ''
    returnType: void
    signature: "void g_datalist_foreach (GData\t **datalist,\t\t GDataForeachFunc\
      \ func,\t\t gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdataset.c:1612,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdataset.c:1613,1
    - Dst: g_atomic_pointer_or
      Src: /src/glib/glib/gdataset.c:1615,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - datalist
    - flags
    argTypes:
    - GData**
    - guint
    constantsTouched: []
    func_position:
      end: 1616
      start: 1608
    functionDepth: 0
    functionLinenumber: 1608
    functionLinenumberEnd: 1616
    functionName: g_datalist_set_flags
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached:
    - g_atomic_pointer_or
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_datalist_set_flags (GData **datalist,\t\t guint flags) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: datalist_index_get_ptr
      Src: /src/glib/glib/gdataset.c:200,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gdataset.c:206,1
    - Dst: g_assert
      Src: /src/glib/glib/gdataset.c:203,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 207
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 207
    functionName: datalist_index_get
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached:
    - datalist_index_get_ptr
    - g_assert
    - G_UNLIKELY
    linkageType: ''
    returnType: G_ALWAYS_INLINE*
    signature: 'G_ALWAYS_INLINE static inline GHashTable *datalist_index_get (GData
      *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdataset.c:519,1
    - Dst: g_datalist_unlock_and_set
      Src: /src/glib/glib/gdataset.c:529,1
    - Dst: g_datalist_lock_and_get
      Src: /src/glib/glib/gdataset.c:521,1
    - Dst: datalist_destroy
      Src: /src/glib/glib/gdataset.c:531,1
    - Dst: g_datalist_unlock
      Src: /src/glib/glib/gdataset.c:525,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - datalist
    argTypes:
    - GData**
    constantsTouched: []
    func_position:
      end: 532
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 532
    functionName: g_datalist_clear
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached:
    - datalist_destroy
    - g_return_if_fail
    - g_datalist_unlock_and_set
    - g_datalist_unlock
    - g_datalist_lock_and_get
    linkageType: ''
    returnType: void
    signature: 'void g_datalist_clear (GData **datalist) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdataset.c:1499,1
    - Dst: G_LOCK
      Src: /src/glib/glib/gdataset.c:1502,1
    - Dst: g_dataset_lookup
      Src: /src/glib/glib/gdataset.c:1505,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gdataset.c:1506,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdataset.c:1500,1
    - Dst: g_datalist_foreach
      Src: /src/glib/glib/gdataset.c:1508,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gdataset.c:1512,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - dataset_location
    - func
    - user_data
    argTypes:
    - gconstpointer
    - GDataForeachFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 1514
      start: 1492
    functionDepth: 0
    functionLinenumber: 1492
    functionLinenumberEnd: 1514
    functionName: g_dataset_foreach
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - G_UNLOCK
    - g_datalist_foreach
    - G_LOCK
    - g_dataset_lookup
    linkageType: ''
    returnType: void
    signature: "void g_dataset_foreach (gconstpointer dataset_location,\t\t GDataForeachFunc\
      \ func,\t\t gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_STATIC_ASSERT
      Src: /src/glib/glib/gdataset.c:214,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/glib/gdataset.c:214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 217
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 217
    functionName: _datalist_index_hash
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached:
    - G_STATIC_ASSERT
    - G_STRUCT_OFFSET
    linkageType: ''
    returnType: guint
    signature: 'static guint _datalist_index_hash (gconstpointer key) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: datalist_index_get
      Src: /src/glib/glib/gdataset.c:469,1
    - Dst: g_assert
      Src: /src/glib/glib/gdataset.c:493,1
    - Dst: G_LIKELY
      Src: /src/glib/glib/gdataset.c:471,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/gdataset.c:488,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 504
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 504
    functionName: datalist_find
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached:
    - g_assert
    - datalist_index_get
    - G_LIKELY
    - g_hash_table_lookup
    linkageType: ''
    returnType: GDataElt*
    signature: 'static GDataElt *datalist_find (GData *data, GQuark key_id, guint32
      *out_idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdataset.c:1655,1
    - Dst: G_DATALIST_GET_FLAGS
      Src: /src/glib/glib/gdataset.c:1657,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - datalist
    argTypes:
    - GData**
    constantsTouched: []
    func_position:
      end: 1658
      start: 1652
    functionDepth: 0
    functionLinenumber: 1652
    functionLinenumberEnd: 1658
    functionName: g_datalist_get_flags
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached:
    - G_DATALIST_GET_FLAGS
    - g_return_val_if_fail
    linkageType: ''
    returnType: guint
    signature: 'guint g_datalist_get_flags (GData **datalist) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 226
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 226
    functionName: _datalist_index_equal
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _datalist_index_equal (gconstpointer a, gconstpointer
      b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DATALIST_GET_POINTER
      Src: /src/glib/glib/gdataset.c:561,1
    - Dst: G_DATALIST_SET_POINTER
      Src: /src/glib/glib/gdataset.c:572,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gdataset.c:574,1
    - Dst: g_hash_table_remove
      Src: /src/glib/glib/gdataset.c:567,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gdataset.c:568,1
    - Dst: datalist_destroy
      Src: /src/glib/glib/gdataset.c:576,1
    - Dst: G_LOCK
      Src: /src/glib/glib/gdataset.c:578,1
    - Dst: g_dataset_lookup
      Src: /src/glib/glib/gdataset.c:579,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - dataset
    argTypes:
    - GDataset*
    constantsTouched: []
    func_position:
      end: 581
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 581
    functionName: g_dataset_destroy_internal
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached:
    - G_DATALIST_SET_POINTER
    - g_hash_table_remove
    - G_UNLOCK
    - datalist_destroy
    - G_DATALIST_GET_POINTER
    - g_slice_free
    - G_LOCK
    - g_dataset_lookup
    linkageType: ''
    returnType: void
    signature: 'static void g_dataset_destroy_internal (GDataset *dataset) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: g_datalist_lock_and_get
      Src: /src/glib/glib/gdataset.c:620,1
    - Dst: datalist_remove
      Src: /src/glib/glib/gdataset.c:632,1
    - Dst: g_datalist_unlock_and_set
      Src: /src/glib/glib/gdataset.c:706,1
    - Dst: G_LOCK
      Src: /src/glib/glib/gdataset.c:662,1
    - Dst: datalist_append
      Src: /src/glib/glib/gdataset.c:701,1
    - Dst: datalist_shrink
      Src: /src/glib/glib/gdataset.c:633,1
    - Dst: g_datalist_unlock_and_set
      Src: /src/glib/glib/gdataset.c:635,1
    - Dst: G_LOCK
      Src: /src/glib/glib/gdataset.c:695,1
    - Dst: g_datalist_unlock
      Src: /src/glib/glib/gdataset.c:685,1
    - Dst: g_dataset_destroy_internal
      Src: /src/glib/glib/gdataset.c:641,1
    - Dst: g_free
      Src: /src/glib/glib/gdataset.c:644,1
    - Dst: g_datalist_unlock
      Src: /src/glib/glib/gdataset.c:708,1
    - Dst: datalist_find
      Src: /src/glib/glib/gdataset.c:622,1
    - Dst: g_datalist_unlock
      Src: /src/glib/glib/gdataset.c:647,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gdataset.c:659,1
    - Dst: g_datalist_unlock
      Src: /src/glib/glib/gdataset.c:677,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gdataset.c:692,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 44
    argCount: 5
    argNames:
    - datalist
    - key_id
    - new_data
    - new_destroy_func
    - dataset
    argTypes:
    - GData**
    - GQuark
    - gpointer
    - GDestroyNotify
    - GDataset*
    constantsTouched: []
    func_position:
      end: 712
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 712
    functionName: g_data_set_internal
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached:
    - g_dataset_destroy_internal
    - G_UNLOCK
    - g_datalist_unlock_and_set
    - g_datalist_unlock
    - g_free
    - datalist_append
    - datalist_shrink
    - datalist_find
    - G_LOCK
    - datalist_remove
    - g_datalist_lock_and_get
    linkageType: ''
    returnType: gpointer
    signature: "static inline gpointer g_data_set_internal (GData\t **datalist,\t\t\
      \ GQuark key_id,\t\t gpointer new_data,\t\t GDestroyNotify new_destroy_func,\t\
      \t GDataset\t *dataset) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdataset.c:1635,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdataset.c:1636,1
    - Dst: g_atomic_pointer_and
      Src: /src/glib/glib/gdataset.c:1638,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - datalist
    - flags
    argTypes:
    - GData**
    - guint
    constantsTouched: []
    func_position:
      end: 1639
      start: 1631
    functionDepth: 0
    functionLinenumber: 1631
    functionLinenumberEnd: 1639
    functionName: g_datalist_unset_flags
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached:
    - g_atomic_pointer_and
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_datalist_unset_flags (GData **datalist,\t\t\tguint flags) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdataset.c:1664,1
    - Dst: g_hash_table_new
      Src: /src/glib/glib/gdataset.c:1666,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1668
      start: 1661
    functionDepth: 0
    functionLinenumber: 1661
    functionLinenumberEnd: 1668
    functionName: g_data_initialize
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached:
    - g_hash_table_new
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void g_data_initialize (void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdataset.c:860,1
    - Dst: G_LOCK
      Src: /src/glib/glib/gdataset.c:871,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdataset.c:862,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdataset.c:866,1
    - Dst: g_data_initialize
      Src: /src/glib/glib/gdataset.c:873,1
    - Dst: g_dataset_lookup
      Src: /src/glib/glib/gdataset.c:875,1
    - Dst: g_slice_new
      Src: /src/glib/glib/gdataset.c:878,1
    - Dst: g_datalist_init
      Src: /src/glib/glib/gdataset.c:880,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/gdataset.c:881,1
    - Dst: g_data_set_internal
      Src: /src/glib/glib/gdataset.c:886,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gdataset.c:887,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 4
    argNames:
    - dataset_location
    - key_id
    - data
    - destroy_func
    argTypes:
    - gconstpointer
    - GQuark
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 888
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 888
    functionName: g_dataset_id_set_data_full
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached:
    - g_data_initialize
    - g_return_if_fail
    - G_UNLOCK
    - g_datalist_init
    - g_hash_table_insert
    - g_slice_new
    - g_data_set_internal
    - G_LOCK
    - g_dataset_lookup
    linkageType: ''
    returnType: void
    signature: "void g_dataset_id_set_data_full (gconstpointer dataset_location,\t\
      \t\t GQuark key_id,\t\t\t gpointer data,\t\t\t GDestroyNotify destroy_func) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_datalist_lock_and_get
      Src: /src/glib/glib/gdataset.c:1291,1
    - Dst: g_datalist_unlock
      Src: /src/glib/glib/gdataset.c:1302,1
    - Dst: dup_func
      Src: /src/glib/glib/gdataset.c:1298,1
    - Dst: datalist_find
      Src: /src/glib/glib/gdataset.c:1293,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 4
    argNames:
    - datalist
    - key_id
    - dup_func
    - user_data
    argTypes:
    - GData**
    - GQuark
    - GDuplicateFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 1305
      start: 1280
    functionDepth: 0
    functionLinenumber: 1280
    functionLinenumberEnd: 1305
    functionName: g_datalist_id_dup_data
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached:
    - g_datalist_unlock
    - dup_func
    - g_datalist_lock_and_get
    - datalist_find
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_datalist_id_dup_data (GData **datalist, GQuark key_id,
      GDuplicateFunc dup_func, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/gdataset.c:543,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 548
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 548
    functionName: g_dataset_lookup
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached:
    - g_hash_table_lookup
    linkageType: ''
    returnType: GDataset*
    signature: "static inline GDataset *g_dataset_lookup (gconstpointer\tdataset_location) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdataset.c:593,1
    - Dst: g_dataset_lookup
      Src: /src/glib/glib/gdataset.c:600,1
    - Dst: G_LOCK
      Src: /src/glib/glib/gdataset.c:595,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gdataset.c:604,1
    - Dst: g_dataset_destroy_internal
      Src: /src/glib/glib/gdataset.c:602,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - dataset_location
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 605
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 605
    functionName: g_dataset_destroy
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached:
    - g_dataset_destroy_internal
    - g_return_if_fail
    - G_UNLOCK
    - G_LOCK
    - g_dataset_lookup
    linkageType: ''
    returnType: void
    signature: 'void g_dataset_destroy (gconstpointer dataset_location) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_datalist_id_dup_data
      Src: /src/glib/glib/gdataset.c:1235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - datalist
    - key_id
    argTypes:
    - GData**
    - GQuark
    constantsTouched: []
    func_position:
      end: 1236
      start: 1231
    functionDepth: 0
    functionLinenumber: 1231
    functionLinenumberEnd: 1236
    functionName: g_datalist_id_get_data
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached:
    - g_datalist_id_dup_data
    linkageType: ''
    returnType: gpointer
    signature: "gpointer g_datalist_id_get_data (GData **datalist,\t\t\tGQuark key_id) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdataset.c:1064,1
    - Dst: g_data_set_internal
      Src: /src/glib/glib/gdataset.c:1067,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - datalist
    - key_id
    argTypes:
    - GData**
    - GQuark
    constantsTouched: []
    func_position:
      end: 1070
      start: 1058
    functionDepth: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1070
    functionName: g_datalist_id_remove_no_notify
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached:
    - g_data_set_internal
    - g_return_val_if_fail
    linkageType: ''
    returnType: gpointer
    signature: "gpointer g_datalist_id_remove_no_notify (GData\t**datalist,\t\t\t\t\
      GQuark key_id) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdataset.c:1205,1
    - Dst: G_LOCK
      Src: /src/glib/glib/gdataset.c:1207,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gdataset.c:1216,1
    - Dst: g_datalist_id_get_data
      Src: /src/glib/glib/gdataset.c:1214,1
    - Dst: g_dataset_lookup
      Src: /src/glib/glib/gdataset.c:1212,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - dataset_location
    - key_id
    argTypes:
    - gconstpointer
    - GQuark
    constantsTouched: []
    func_position:
      end: 1219
      start: 1199
    functionDepth: 0
    functionLinenumber: 1199
    functionLinenumberEnd: 1219
    functionName: g_dataset_id_get_data
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_UNLOCK
    - G_LOCK
    - g_dataset_lookup
    - g_datalist_id_get_data
    linkageType: ''
    returnType: gpointer
    signature: "gpointer g_dataset_id_get_data (gconstpointer dataset_location,\t\t\
      \ GQuark key_id) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdataset.c:1024,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gdataset.c:1035,1
    - Dst: g_dataset_lookup
      Src: /src/glib/glib/gdataset.c:1031,1
    - Dst: G_LOCK
      Src: /src/glib/glib/gdataset.c:1026,1
    - Dst: g_data_set_internal
      Src: /src/glib/glib/gdataset.c:1033,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - dataset_location
    - key_id
    argTypes:
    - gconstpointer
    - GQuark
    constantsTouched: []
    func_position:
      end: 1038
      start: 1018
    functionDepth: 0
    functionLinenumber: 1018
    functionLinenumberEnd: 1038
    functionName: g_dataset_id_remove_no_notify
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_UNLOCK
    - g_data_set_internal
    - G_LOCK
    - g_dataset_lookup
    linkageType: ''
    returnType: gpointer
    signature: "gpointer g_dataset_id_remove_no_notify (gconstpointer dataset_location,\t\
      \t\t GQuark key_id) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_datalist_lock_and_get
      Src: /src/glib/glib/gdataset.c:1116,1
    - Dst: datalist_shrink
      Src: /src/glib/glib/gdataset.c:1141,1
    - Dst: callback
      Src: /src/glib/glib/gdataset.c:1131,1
    - Dst: datalist_find
      Src: /src/glib/glib/gdataset.c:1118,1
    - Dst: datalist_remove
      Src: /src/glib/glib/gdataset.c:1140,1
    - Dst: g_datalist_unlock_and_set
      Src: /src/glib/glib/gdataset.c:1143,1
    - Dst: g_free
      Src: /src/glib/glib/gdataset.c:1145,1
    - Dst: datalist_append
      Src: /src/glib/glib/gdataset.c:1166,1
    - Dst: g_datalist_unlock_and_set
      Src: /src/glib/glib/gdataset.c:1168,1
    - Dst: g_datalist_unlock
      Src: /src/glib/glib/gdataset.c:1174,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 35
    argCount: 4
    argNames:
    - datalist
    - key_id
    - callback
    - user_data
    argTypes:
    - GData**
    - GQuark
    - GDataListUpdateAtomicFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 1177
      start: 1102
    functionDepth: 0
    functionLinenumber: 1102
    functionLinenumberEnd: 1177
    functionName: g_datalist_id_update_atomic
    functionSourceFile: /src/glib/glib/gdataset.c
    functionUses: []
    functionsReached:
    - g_datalist_unlock_and_set
    - g_datalist_unlock
    - callback
    - g_free
    - datalist_append
    - datalist_shrink
    - datalist_find
    - datalist_remove
    - g_datalist_lock_and_get
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_datalist_id_update_atomic (GData **datalist, GQuark key_id,
      GDataListUpdateAtomicFunc callback, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gstringchunk.c:143,1
    - Dst: g_slist_free_full
      Src: /src/glib/glib/gstringchunk.c:147,1
    - Dst: g_hash_table_remove_all
      Src: /src/glib/glib/gstringchunk.c:155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - chunk
    argTypes:
    - GStringChunk*
    constantsTouched: []
    func_position:
      end: 156
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 156
    functionName: g_string_chunk_clear
    functionSourceFile: /src/glib/glib/gstringchunk.c
    functionUses: []
    functionsReached:
    - g_slist_free_full
    - g_hash_table_remove_all
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_string_chunk_clear (GStringChunk *chunk) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstringchunk.c:215,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/gstringchunk.c:220,1
    - Dst: g_hash_table_new
      Src: /src/glib/glib/gstringchunk.c:218,1
    - Dst: g_hash_table_add
      Src: /src/glib/glib/gstringchunk.c:225,1
    - Dst: g_string_chunk_insert
      Src: /src/glib/glib/gstringchunk.c:224,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 229
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 229
    functionName: g_string_chunk_insert_const
    functionSourceFile: /src/glib/glib/gstringchunk.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_hash_table_lookup
    - g_hash_table_new
    - g_string_chunk_insert
    - g_hash_table_add
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_string_chunk_insert_const (GStringChunk *chunk, const gchar
      *string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/glib/gstringchunk.c:94,1
    - Dst: MAX
      Src: /src/glib/glib/gstringchunk.c:97,1
    - Dst: g_nearest_pow
      Src: /src/glib/glib/gstringchunk.c:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 106
    functionName: g_string_chunk_new
    functionSourceFile: /src/glib/glib/gstringchunk.c
    functionUses: []
    functionsReached:
    - g_nearest_pow
    - MAX
    - g_new
    linkageType: ''
    returnType: GStringChunk*
    signature: 'GStringChunk *g_string_chunk_new (gsize size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gstringchunk.c:119,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/glib/gstringchunk.c:125,1
    - Dst: g_slist_free_full
      Src: /src/glib/glib/gstringchunk.c:122,1
    - Dst: g_free
      Src: /src/glib/glib/gstringchunk.c:127,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - chunk
    argTypes:
    - GStringChunk*
    constantsTouched: []
    func_position:
      end: 128
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 128
    functionName: g_string_chunk_free
    functionSourceFile: /src/glib/glib/gstringchunk.c
    functionUses: []
    functionsReached:
    - g_slist_free_full
    - g_free
    - g_hash_table_destroy
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_string_chunk_free (GStringChunk *chunk) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstringchunk.c:182,1
    - Dst: g_string_chunk_insert_len
      Src: /src/glib/glib/gstringchunk.c:184,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 185
    functionName: g_string_chunk_insert
    functionSourceFile: /src/glib/glib/gstringchunk.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_string_chunk_insert_len
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_string_chunk_insert (GStringChunk *chunk, const gchar *string) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstringchunk.c:260,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gstringchunk.c:276,1
    - Dst: g_nearest_pow
      Src: /src/glib/glib/gstringchunk.c:269,1
    - Dst: strlen
      Src: /src/glib/glib/gstringchunk.c:263,1
    - Dst: MAX
      Src: /src/glib/glib/gstringchunk.c:269,1
    - Dst: g_new
      Src: /src/glib/glib/gstringchunk.c:277,1
    - Dst: memcpy
      Src: /src/glib/glib/gstringchunk.c:287,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 292
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 292
    functionName: g_string_chunk_insert_len
    functionSourceFile: /src/glib/glib/gstringchunk.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_return_val_if_fail
    - strlen
    - g_new
    - MAX
    - g_nearest_pow
    - g_slist_prepend
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_string_chunk_insert_len (GStringChunk *chunk, const gchar
      *string, gssize len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmappedfile.c:255,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmappedfile.c:256,1
    - Dst: g_filename_display_name
      Src: /src/glib/glib/gmappedfile.c:262,1
    - Dst: g_set_error
      Src: /src/glib/glib/gmappedfile.c:264,1
    - Dst: g_open
      Src: /src/glib/glib/gmappedfile.c:258,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/gmappedfile.c:266,1
    - Dst: _
      Src: /src/glib/glib/gmappedfile.c:267,1
    - Dst: g_strerror
      Src: /src/glib/glib/gmappedfile.c:269,1
    - Dst: g_free
      Src: /src/glib/glib/gmappedfile.c:270,1
    - Dst: mapped_file_new_from_fd
      Src: /src/glib/glib/gmappedfile.c:274,1
    - Dst: close
      Src: /src/glib/glib/gmappedfile.c:276,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 279
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 279
    functionName: g_mapped_file_new
    functionSourceFile: /src/glib/glib/gmappedfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_return_val_if_fail
    - g_strerror
    - g_file_error_from_errno
    - close
    - g_filename_display_name
    - _
    - g_open
    - g_free
    - mapped_file_new_from_fd
    linkageType: ''
    returnType: GMappedFile*
    signature: "GMappedFile *g_mapped_file_new (const gchar *filename,\t\t gboolean\
      \ writable,\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmappedfile.c:326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - file
    argTypes:
    - GMappedFile*
    constantsTouched: []
    func_position:
      end: 329
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 329
    functionName: g_mapped_file_get_length
    functionSourceFile: /src/glib/glib/gmappedfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gsize
    signature: 'gsize g_mapped_file_get_length (GMappedFile *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmappedfile.c:349,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 352
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 352
    functionName: g_mapped_file_get_contents
    functionSourceFile: /src/glib/glib/gmappedfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_mapped_file_get_contents (GMappedFile *file) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmappedfile.c:405,1
    - Dst: g_mapped_file_destroy
      Src: /src/glib/glib/gmappedfile.c:408,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/glib/gmappedfile.c:407,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - file
    argTypes:
    - GMappedFile*
    constantsTouched: []
    func_position:
      end: 409
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 409
    functionName: g_mapped_file_unref
    functionSourceFile: /src/glib/glib/gmappedfile.c
    functionUses: []
    functionsReached:
    - g_atomic_int_dec_and_test
    - g_mapped_file_destroy
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_mapped_file_unref (GMappedFile *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmappedfile.c:427,1
    - Dst: g_mapped_file_ref
      Src: /src/glib/glib/gmappedfile.c:432,1
    - Dst: g_bytes_new_with_free_func
      Src: /src/glib/glib/gmappedfile.c:429,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 433
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 433
    functionName: g_mapped_file_get_bytes
    functionSourceFile: /src/glib/glib/gmappedfile.c
    functionUses: []
    functionsReached:
    - g_mapped_file_ref
    - g_return_val_if_fail
    - g_bytes_new_with_free_func
    linkageType: ''
    returnType: GBytes*
    signature: 'GBytes *g_mapped_file_get_bytes (GMappedFile *file) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: munmap
      Src: /src/glib/glib/gmappedfile.c:102,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gmappedfile.c:110,1
    - Dst: CloseHandle
      Src: /src/glib/glib/gmappedfile.c:106,1
    - Dst: UnmapViewOfFile
      Src: /src/glib/glib/gmappedfile.c:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - file
    argTypes:
    - GMappedFile*
    constantsTouched: []
    func_position:
      end: 111
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 111
    functionName: g_mapped_file_destroy
    functionSourceFile: /src/glib/glib/gmappedfile.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - UnmapViewOfFile
    - munmap
    - CloseHandle
    linkageType: ''
    returnType: void
    signature: 'static void g_mapped_file_destroy (GMappedFile *file) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/glib/glib/gmappedfile.c:134,1
    - Dst: CreateFileMapping
      Src: /src/glib/glib/gmappedfile.c:172,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/gmappedfile.c:199,1
    - Dst: g_free
      Src: /src/glib/glib/gmappedfile.c:206,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gmappedfile.c:213,1
    - Dst: g_slice_new0
      Src: /src/glib/glib/gmappedfile.c:122,1
    - Dst: g_filename_display_name
      Src: /src/glib/glib/gmappedfile.c:129,1
    - Dst: g_free
      Src: /src/glib/glib/gmappedfile.c:140,1
    - Dst: mmap
      Src: /src/glib/glib/gmappedfile.c:165,1
    - Dst: MapViewOfFile
      Src: /src/glib/glib/gmappedfile.c:178,1
    - Dst: _
      Src: /src/glib/glib/gmappedfile.c:200,1
    - Dst: g_strerror
      Src: /src/glib/glib/gmappedfile.c:205,1
    - Dst: _get_osfhandle
      Src: /src/glib/glib/gmappedfile.c:172,1
    - Dst: g_filename_display_name
      Src: /src/glib/glib/gmappedfile.c:195,1
    - Dst: g_set_error
      Src: /src/glib/glib/gmappedfile.c:197,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/gmappedfile.c:133,1
    - Dst: fstat
      Src: /src/glib/glib/gmappedfile.c:126,1
    - Dst: g_set_error
      Src: /src/glib/glib/gmappedfile.c:131,1
    - Dst: g_strerror
      Src: /src/glib/glib/gmappedfile.c:139,1
    - Dst: S_ISREG
      Src: /src/glib/glib/gmappedfile.c:148,1
    - Dst: CloseHandle
      Src: /src/glib/glib/gmappedfile.c:185,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 216
    functionName: mapped_file_new_from_fd
    functionSourceFile: /src/glib/glib/gmappedfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - fstat
    - g_slice_new0
    - g_strerror
    - mmap
    - g_file_error_from_errno
    - CreateFileMapping
    - _get_osfhandle
    - g_filename_display_name
    - MapViewOfFile
    - CloseHandle
    - _
    - g_slice_free
    - g_free
    - S_ISREG
    linkageType: ''
    returnType: GMappedFile*
    signature: "static GMappedFile *mapped_file_new_from_fd (int fd,\t\t\t gboolean\
      \ writable, const gchar *filename, GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapped_file_new_from_fd
      Src: /src/glib/glib/gmappedfile.c:310,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 311
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 311
    functionName: g_mapped_file_new_from_fd
    functionSourceFile: /src/glib/glib/gmappedfile.c
    functionUses: []
    functionsReached:
    - mapped_file_new_from_fd
    linkageType: ''
    returnType: GMappedFile*
    signature: "GMappedFile *g_mapped_file_new_from_fd (gint fd,\t\t\t gboolean writable,\t\
      \t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mapped_file_unref
      Src: /src/glib/glib/gmappedfile.c:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - file
    argTypes:
    - GMappedFile*
    constantsTouched: []
    func_position:
      end: 368
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 368
    functionName: g_mapped_file_free
    functionSourceFile: /src/glib/glib/gmappedfile.c
    functionUses: []
    functionsReached:
    - g_mapped_file_unref
    linkageType: ''
    returnType: void
    signature: 'void g_mapped_file_free (GMappedFile *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmappedfile.c:384,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gmappedfile.c:386,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 389
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 389
    functionName: g_mapped_file_ref
    functionSourceFile: /src/glib/glib/gmappedfile.c
    functionUses: []
    functionsReached:
    - g_atomic_int_inc
    - g_return_val_if_fail
    linkageType: ''
    returnType: GMappedFile*
    signature: 'GMappedFile *g_mapped_file_ref (GMappedFile *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gasyncqueue.c:225,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gasyncqueue.c:227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - queue
    argTypes:
    - GAsyncQueue*
    constantsTouched: []
    func_position:
      end: 228
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 228
    functionName: g_async_queue_unlock
    functionSourceFile: /src/glib/glib/gasyncqueue.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_async_queue_unlock (GAsyncQueue *queue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gasyncqueue.c:300,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gasyncqueue.c:304,1
    - Dst: g_async_queue_push_sorted_unlocked
      Src: /src/glib/glib/gasyncqueue.c:303,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gasyncqueue.c:302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - queue
    - data
    - func
    - user_data
    argTypes:
    - GAsyncQueue*
    - gpointer
    - GCompareDataFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 305
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 305
    functionName: g_async_queue_push_sorted
    functionSourceFile: /src/glib/glib/gasyncqueue.c
    functionUses: []
    functionsReached:
    - g_mutex_lock
    - g_mutex_unlock
    - g_async_queue_push_sorted_unlocked
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_async_queue_push_sorted (GAsyncQueue *queue, gpointer data,
      GCompareDataFunc func, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/gasyncqueue.c:494,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gasyncqueue.c:501,1
    - Dst: g_async_queue_pop_intern_unlocked
      Src: /src/glib/glib/gasyncqueue.c:500,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gasyncqueue.c:499,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gasyncqueue.c:497,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - queue
    - timeout
    argTypes:
    - GAsyncQueue*
    - guint64
    constantsTouched: []
    func_position:
      end: 504
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 504
    functionName: g_async_queue_timeout_pop
    functionSourceFile: /src/glib/glib/gasyncqueue.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_async_queue_pop_intern_unlocked
    - g_mutex_unlock
    - g_mutex_lock
    - g_get_monotonic_time
    linkageType: ''
    returnType: gpointer
    signature: "gpointer g_async_queue_timeout_pop (GAsyncQueue *queue,\t\t\t guint64\
      \ timeout) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gasyncqueue.c:858,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 861
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 861
    functionName: _g_async_queue_get_mutex
    functionSourceFile: /src/glib/glib/gasyncqueue.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: GMutex*
    signature: 'GMutex *_g_async_queue_get_mutex (GAsyncQueue *queue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_async_queue_new_full
      Src: /src/glib/glib/gasyncqueue.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: g_async_queue_new
    functionSourceFile: /src/glib/glib/gasyncqueue.c
    functionUses: []
    functionsReached:
    - g_async_queue_new_full
    linkageType: ''
    returnType: GAsyncQueue*
    signature: 'GAsyncQueue *g_async_queue_new (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gasyncqueue.c:266,1
    - Dst: g_queue_push_head
      Src: /src/glib/glib/gasyncqueue.c:269,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gasyncqueue.c:267,1
    - Dst: g_cond_signal
      Src: /src/glib/glib/gasyncqueue.c:271,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - queue
    - data
    argTypes:
    - GAsyncQueue*
    - gpointer
    constantsTouched: []
    func_position:
      end: 272
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 272
    functionName: g_async_queue_push_unlocked
    functionSourceFile: /src/glib/glib/gasyncqueue.c
    functionUses: []
    functionsReached:
    - g_cond_signal
    - g_queue_push_head
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_async_queue_push_unlocked (GAsyncQueue *queue, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gasyncqueue.c:448,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gasyncqueue.c:452,1
    - Dst: g_async_queue_pop_intern_unlocked
      Src: /src/glib/glib/gasyncqueue.c:451,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gasyncqueue.c:450,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - queue
    argTypes:
    - GAsyncQueue*
    constantsTouched: []
    func_position:
      end: 455
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 455
    functionName: g_async_queue_try_pop
    functionSourceFile: /src/glib/glib/gasyncqueue.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_async_queue_pop_intern_unlocked
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_async_queue_try_pop (GAsyncQueue *queue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gasyncqueue.c:472,1
    - Dst: g_async_queue_pop_intern_unlocked
      Src: /src/glib/glib/gasyncqueue.c:474,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - queue
    argTypes:
    - GAsyncQueue*
    constantsTouched: []
    func_position:
      end: 475
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 475
    functionName: g_async_queue_try_pop_unlocked
    functionSourceFile: /src/glib/glib/gasyncqueue.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_async_queue_pop_intern_unlocked
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_async_queue_try_pop_unlocked (GAsyncQueue *queue) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gasyncqueue.c:843,1
    - Dst: g_queue_push_tail
      Src: /src/glib/glib/gasyncqueue.c:846,1
    - Dst: g_cond_signal
      Src: /src/glib/glib/gasyncqueue.c:848,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gasyncqueue.c:844,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - queue
    - item
    argTypes:
    - GAsyncQueue*
    - gpointer
    constantsTouched: []
    func_position:
      end: 849
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 849
    functionName: g_async_queue_push_front_unlocked
    functionSourceFile: /src/glib/glib/gasyncqueue.c
    functionUses: []
    functionsReached:
    - g_cond_signal
    - g_queue_push_tail
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_async_queue_push_front_unlocked (GAsyncQueue *queue, gpointer
      item) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gasyncqueue.c:428,1
    - Dst: g_async_queue_pop_intern_unlocked
      Src: /src/glib/glib/gasyncqueue.c:430,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - queue
    argTypes:
    - GAsyncQueue*
    constantsTouched: []
    func_position:
      end: 431
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 431
    functionName: g_async_queue_pop_unlocked
    functionSourceFile: /src/glib/glib/gasyncqueue.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_async_queue_pop_intern_unlocked
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_async_queue_pop_unlocked (GAsyncQueue *queue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gasyncqueue.c:740,1
    - Dst: g_queue_sort
      Src: /src/glib/glib/gasyncqueue.c:746,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gasyncqueue.c:741,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - queue
    - func
    - user_data
    argTypes:
    - GAsyncQueue*
    - GCompareDataFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 749
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 749
    functionName: g_async_queue_sort_unlocked
    functionSourceFile: /src/glib/glib/gasyncqueue.c
    functionUses: []
    functionsReached:
    - g_queue_sort
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_async_queue_sort_unlocked (GAsyncQueue *queue, GCompareDataFunc
      func, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gasyncqueue.c:817,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gasyncqueue.c:818,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gasyncqueue.c:820,1
    - Dst: g_async_queue_push_front_unlocked
      Src: /src/glib/glib/gasyncqueue.c:821,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gasyncqueue.c:822,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - queue
    - item
    argTypes:
    - GAsyncQueue*
    - gpointer
    constantsTouched: []
    func_position:
      end: 823
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 823
    functionName: g_async_queue_push_front
    functionSourceFile: /src/glib/glib/gasyncqueue.c
    functionUses: []
    functionsReached:
    - g_mutex_lock
    - g_async_queue_push_front_unlocked
    - g_mutex_unlock
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_async_queue_push_front (GAsyncQueue *queue, gpointer item) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gasyncqueue.c:603,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/gasyncqueue.c:607,1
    - Dst: g_async_queue_pop_intern_unlocked
      Src: /src/glib/glib/gasyncqueue.c:613,1
    - Dst: g_get_real_time
      Src: /src/glib/glib/gasyncqueue.c:608,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - queue
    - end_time
    argTypes:
    - GAsyncQueue*
    - GTimeVal*
    constantsTouched: []
    func_position:
      end: 614
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 614
    functionName: g_async_queue_timed_pop_unlocked
    functionSourceFile: /src/glib/glib/gasyncqueue.c
    functionUses: []
    functionsReached:
    - g_get_monotonic_time
    - g_return_val_if_fail
    - g_get_real_time
    - g_async_queue_pop_intern_unlocked
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_async_queue_timed_pop_unlocked (GAsyncQueue *queue, GTimeVal
      *end_time) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gasyncqueue.c:207,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gasyncqueue.c:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - queue
    argTypes:
    - GAsyncQueue*
    constantsTouched: []
    func_position:
      end: 210
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 210
    functionName: g_async_queue_lock
    functionSourceFile: /src/glib/glib/gasyncqueue.c
    functionUses: []
    functionsReached:
    - g_mutex_lock
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_async_queue_lock (GAsyncQueue *queue) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gasyncqueue.c:348,1
    - Dst: g_cond_signal
      Src: /src/glib/glib/gasyncqueue.c:358,1
    - Dst: g_queue_insert_sorted
      Src: /src/glib/glib/gasyncqueue.c:353,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - queue
    - data
    - func
    - user_data
    argTypes:
    - GAsyncQueue*
    - gpointer
    - GCompareDataFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 359
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 359
    functionName: g_async_queue_push_sorted_unlocked
    functionSourceFile: /src/glib/glib/gasyncqueue.c
    functionUses: []
    functionsReached:
    - g_queue_insert_sorted
    - g_cond_signal
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_async_queue_push_sorted_unlocked (GAsyncQueue *queue, gpointer
      data, GCompareDataFunc func, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gasyncqueue.c:707,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gasyncqueue.c:710,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gasyncqueue.c:712,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gasyncqueue.c:708,1
    - Dst: g_async_queue_sort_unlocked
      Src: /src/glib/glib/gasyncqueue.c:711,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - queue
    - func
    - user_data
    argTypes:
    - GAsyncQueue*
    - GCompareDataFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 713
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 713
    functionName: g_async_queue_sort
    functionSourceFile: /src/glib/glib/gasyncqueue.c
    functionUses: []
    functionsReached:
    - g_mutex_lock
    - g_mutex_unlock
    - g_async_queue_sort_unlocked
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_async_queue_sort (GAsyncQueue *queue, GCompareDataFunc func,
      gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gasyncqueue.c:176,1
    - Dst: g_mutex_clear
      Src: /src/glib/glib/gasyncqueue.c:181,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gasyncqueue.c:180,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/glib/gasyncqueue.c:178,1
    - Dst: g_cond_clear
      Src: /src/glib/glib/gasyncqueue.c:182,1
    - Dst: g_queue_foreach
      Src: /src/glib/glib/gasyncqueue.c:184,1
    - Dst: g_queue_clear
      Src: /src/glib/glib/gasyncqueue.c:185,1
    - Dst: g_free
      Src: /src/glib/glib/gasyncqueue.c:186,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - queue
    argTypes:
    - GAsyncQueue*
    constantsTouched: []
    func_position:
      end: 188
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 188
    functionName: g_async_queue_unref
    functionSourceFile: /src/glib/glib/gasyncqueue.c
    functionUses: []
    functionsReached:
    - g_atomic_int_dec_and_test
    - g_return_if_fail
    - g_mutex_clear
    - g_cond_clear
    - g_queue_clear
    - g_queue_foreach
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_async_queue_unref (GAsyncQueue *queue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - v1
    - v2
    - sd
    argTypes:
    - gpointer
    - gpointer
    - SortData*
    constantsTouched: []
    func_position:
      end: 313
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 313
    functionName: g_async_queue_invert_compare
    functionSourceFile: /src/glib/glib/gasyncqueue.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint
    signature: 'static gint g_async_queue_invert_compare (gpointer v1, gpointer v2,
      SortData *sd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gasyncqueue.c:558,1
    - Dst: g_async_queue_pop_intern_unlocked
      Src: /src/glib/glib/gasyncqueue.c:569,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/gasyncqueue.c:562,1
    - Dst: g_get_real_time
      Src: /src/glib/glib/gasyncqueue.c:563,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gasyncqueue.c:568,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gasyncqueue.c:570,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - queue
    - end_time
    argTypes:
    - GAsyncQueue*
    - GTimeVal*
    constantsTouched: []
    func_position:
      end: 573
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 573
    functionName: g_async_queue_timed_pop
    functionSourceFile: /src/glib/glib/gasyncqueue.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_async_queue_pop_intern_unlocked
    - g_mutex_unlock
    - g_mutex_lock
    - g_get_monotonic_time
    - g_get_real_time
    linkageType: ''
    returnType: G_GNUC_BEGIN_IGNORE_DEPRECATIONS
    signature: 'G_GNUC_BEGIN_IGNORE_DEPRECATIONS gpointer g_async_queue_timed_pop
      (GAsyncQueue *queue, GTimeVal *end_time) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gasyncqueue.c:666,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - queue
    argTypes:
    - GAsyncQueue*
    constantsTouched: []
    func_position:
      end: 669
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 669
    functionName: g_async_queue_length_unlocked
    functionSourceFile: /src/glib/glib/gasyncqueue.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gint
    signature: 'gint g_async_queue_length_unlocked (GAsyncQueue *queue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gasyncqueue.c:795,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gasyncqueue.c:796,1
    - Dst: g_queue_remove
      Src: /src/glib/glib/gasyncqueue.c:798,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - queue
    - item
    argTypes:
    - GAsyncQueue*
    - gpointer
    constantsTouched: []
    func_position:
      end: 799
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 799
    functionName: g_async_queue_remove_unlocked
    functionSourceFile: /src/glib/glib/gasyncqueue.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_queue_remove
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_async_queue_remove_unlocked (GAsyncQueue *queue, gpointer
      item) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gasyncqueue.c:115,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gasyncqueue.c:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionName: g_async_queue_ref
    functionSourceFile: /src/glib/glib/gasyncqueue.c
    functionUses: []
    functionsReached:
    - g_atomic_int_inc
    - g_return_val_if_fail
    linkageType: ''
    returnType: GAsyncQueue*
    signature: 'GAsyncQueue *g_async_queue_ref (GAsyncQueue *queue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gasyncqueue.c:405,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gasyncqueue.c:407,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gasyncqueue.c:409,1
    - Dst: g_async_queue_pop_intern_unlocked
      Src: /src/glib/glib/gasyncqueue.c:408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - queue
    argTypes:
    - GAsyncQueue*
    constantsTouched: []
    func_position:
      end: 412
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 412
    functionName: g_async_queue_pop
    functionSourceFile: /src/glib/glib/gasyncqueue.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_async_queue_pop_intern_unlocked
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_async_queue_pop (GAsyncQueue *queue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/gasyncqueue.c:525,1
    - Dst: g_async_queue_pop_intern_unlocked
      Src: /src/glib/glib/gasyncqueue.c:529,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gasyncqueue.c:527,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - queue
    - timeout
    argTypes:
    - GAsyncQueue*
    - guint64
    constantsTouched: []
    func_position:
      end: 530
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 530
    functionName: g_async_queue_timeout_pop_unlocked
    functionSourceFile: /src/glib/glib/gasyncqueue.c
    functionUses: []
    functionsReached:
    - g_get_monotonic_time
    - g_return_val_if_fail
    - g_async_queue_pop_intern_unlocked
    linkageType: ''
    returnType: gpointer
    signature: "gpointer g_async_queue_timeout_pop_unlocked (GAsyncQueue *queue,\t\
      \t\t\t guint64 timeout) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gasyncqueue.c:637,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gasyncqueue.c:641,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gasyncqueue.c:639,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - queue
    argTypes:
    - GAsyncQueue*
    constantsTouched: []
    func_position:
      end: 644
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 644
    functionName: g_async_queue_length
    functionSourceFile: /src/glib/glib/gasyncqueue.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: G_GNUC_END_IGNORE_DEPRECATIONS
    signature: 'G_GNUC_END_IGNORE_DEPRECATIONS /** * g_async_queue_length: * @queue:
      a #GAsyncQueue. * * Returns the length of the queue. * * Actually this function
      returns the number of data items in * the queue minus the number of waiting
      threads, so a negative * value means waiting threads, and a positive value means
      available * entries in the @queue. A return value of 0 could mean n entries
      * in the queue and n threads waiting. This can happen due to locking * of the
      queue or due to scheduling. * * Returns: the length of the @queue */ gint g_async_queue_length
      (GAsyncQueue *queue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gasyncqueue.c:768,1
    - Dst: g_async_queue_remove_unlocked
      Src: /src/glib/glib/gasyncqueue.c:772,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gasyncqueue.c:769,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gasyncqueue.c:771,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gasyncqueue.c:773,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - queue
    - item
    argTypes:
    - GAsyncQueue*
    - gpointer
    constantsTouched: []
    func_position:
      end: 776
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 776
    functionName: g_async_queue_remove
    functionSourceFile: /src/glib/glib/gasyncqueue.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_mutex_unlock
    - g_async_queue_remove_unlocked
    - g_mutex_lock
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_async_queue_remove (GAsyncQueue *queue, gpointer item) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gasyncqueue.c:156,1
    - Dst: g_async_queue_unref
      Src: /src/glib/glib/gasyncqueue.c:159,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gasyncqueue.c:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - queue
    argTypes:
    - GAsyncQueue*
    constantsTouched: []
    func_position:
      end: 160
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 160
    functionName: g_async_queue_unref_and_unlock
    functionSourceFile: /src/glib/glib/gasyncqueue.c
    functionUses: []
    functionsReached:
    - g_async_queue_unref
    - g_mutex_unlock
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_async_queue_unref_and_unlock (GAsyncQueue *queue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/glib/gasyncqueue.c:92,1
    - Dst: g_mutex_init
      Src: /src/glib/glib/gasyncqueue.c:93,1
    - Dst: g_cond_init
      Src: /src/glib/glib/gasyncqueue.c:94,1
    - Dst: g_queue_init
      Src: /src/glib/glib/gasyncqueue.c:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 101
    functionName: g_async_queue_new_full
    functionSourceFile: /src/glib/glib/gasyncqueue.c
    functionUses: []
    functionsReached:
    - g_mutex_init
    - g_queue_init
    - g_new
    - g_cond_init
    linkageType: ''
    returnType: GAsyncQueue*
    signature: 'GAsyncQueue *g_async_queue_new_full (GDestroyNotify item_free_func) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_queue_peek_tail_link
      Src: /src/glib/glib/gasyncqueue.c:368,1
    - Dst: g_queue_pop_tail
      Src: /src/glib/glib/gasyncqueue.c:384,1
    - Dst: g_cond_wait
      Src: /src/glib/glib/gasyncqueue.c:374,1
    - Dst: g_cond_wait_until
      Src: /src/glib/glib/gasyncqueue.c:377,1
    - Dst: g_queue_peek_tail_link
      Src: /src/glib/glib/gasyncqueue.c:371,1
    - Dst: g_assert
      Src: /src/glib/glib/gasyncqueue.c:386,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - queue
    - wait
    - end_time
    argTypes:
    - GAsyncQueue*
    - gboolean
    - gint64
    constantsTouched: []
    func_position:
      end: 389
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 389
    functionName: g_async_queue_pop_intern_unlocked
    functionSourceFile: /src/glib/glib/gasyncqueue.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_queue_peek_tail_link
    - g_cond_wait_until
    - g_cond_wait
    - g_queue_pop_tail
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer g_async_queue_pop_intern_unlocked (GAsyncQueue *queue,
      gboolean wait, gint64 end_time) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gasyncqueue.c:135,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gasyncqueue.c:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - queue
    argTypes:
    - GAsyncQueue*
    constantsTouched: []
    func_position:
      end: 138
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 138
    functionName: g_async_queue_ref_unlocked
    functionSourceFile: /src/glib/glib/gasyncqueue.c
    functionUses: []
    functionsReached:
    - g_atomic_int_inc
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_async_queue_ref_unlocked (GAsyncQueue *queue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gasyncqueue.c:243,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gasyncqueue.c:248,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gasyncqueue.c:246,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gasyncqueue.c:244,1
    - Dst: g_async_queue_push_unlocked
      Src: /src/glib/glib/gasyncqueue.c:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - queue
    - data
    argTypes:
    - GAsyncQueue*
    - gpointer
    constantsTouched: []
    func_position:
      end: 249
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 249
    functionName: g_async_queue_push
    functionSourceFile: /src/glib/glib/gasyncqueue.c
    functionUses: []
    functionsReached:
    - g_async_queue_push_unlocked
    - g_mutex_lock
    - g_mutex_unlock
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_async_queue_push (GAsyncQueue *queue, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/guuid.c:160,1
    - Dst: g_random_int
      Src: /src/glib/glib/guuid.c:165,1
    - Dst: uuid_set_version
      Src: /src/glib/glib/guuid.c:167,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - uuid
    argTypes:
    - GUuid*
    constantsTouched: []
    func_position:
      end: 168
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 168
    functionName: g_uuid_generate_v4
    functionSourceFile: /src/glib/glib/guuid.c
    functionUses: []
    functionsReached:
    - g_random_int
    - uuid_set_version
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void g_uuid_generate_v4 (GUuid *uuid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guuid.c:121,1
    - Dst: uuid_parse_string
      Src: /src/glib/glib/guuid.c:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: g_uuid_string_is_valid
    functionSourceFile: /src/glib/glib/guuid.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - uuid_parse_string
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_uuid_string_is_valid (const gchar *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_uuid_generate_v4
      Src: /src/glib/glib/guuid.c:185,1
    - Dst: g_uuid_to_string
      Src: /src/glib/glib/guuid.c:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 188
    functionName: g_uuid_string_random
    functionSourceFile: /src/glib/glib/guuid.c
    functionUses: []
    functionsReached:
    - g_uuid_generate_v4
    - g_uuid_to_string
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_uuid_string_random (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/guuid.c:53,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/guuid.c:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 63
    functionName: g_uuid_to_string
    functionSourceFile: /src/glib/glib/guuid.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_strdup_printf
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *g_uuid_to_string (const GUuid *uuid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - uuid
    - version
    argTypes:
    - GUuid*
    - guint
    constantsTouched: []
    func_position:
      end: 144
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 144
    functionName: uuid_set_version
    functionSourceFile: /src/glib/glib/guuid.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void uuid_set_version (GUuid *uuid, guint version) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/glib/guuid.c:74,1
    - Dst: g_ascii_xdigit_value
      Src: /src/glib/glib/guuid.c:87,1
    - Dst: g_ascii_xdigit_value
      Src: /src/glib/glib/guuid.c:88,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 2
    argNames:
    - str
    - uuid
    argTypes:
    - gchar*
    - GUuid*
    constantsTouched: []
    func_position:
      end: 100
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 100
    functionName: uuid_parse_string
    functionSourceFile: /src/glib/glib/guuid.c
    functionUses: []
    functionsReached:
    - strlen
    - g_ascii_xdigit_value
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean uuid_parse_string (const gchar *str, GUuid *uuid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtree.c:421,1
    - Dst: g_tree_remove_all
      Src: /src/glib/glib/gtree.c:423,1
    - Dst: g_tree_unref
      Src: /src/glib/glib/gtree.c:424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - tree
    argTypes:
    - GTree*
    constantsTouched: []
    func_position:
      end: 425
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 425
    functionName: g_tree_destroy
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_tree_remove_all
    - g_tree_unref
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_tree_destroy (GTree *tree) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_tree_insert_replace_node_internal
      Src: /src/glib/glib/gtree.c:496,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - tree
    - key
    - value
    argTypes:
    - GTree*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 497
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 497
    functionName: g_tree_insert
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_tree_insert_replace_node_internal
    linkageType: ''
    returnType: void
    signature: 'void g_tree_insert (GTree *tree, gpointer key, gpointer value) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtree.c:789,1
    - Dst: g_assert
      Src: /src/glib/glib/gtree.c:826,1
    - Dst: g_tree_node_previous
      Src: /src/glib/glib/gtree.c:871,1
    - Dst: g_tree_node_next
      Src: /src/glib/glib/gtree.c:850,1
    - Dst: g_assert
      Src: /src/glib/glib/gtree.c:945,1
    - Dst: g_tree_node_balance
      Src: /src/glib/glib/gtree.c:950,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gtree.c:978,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 124
    argCount: 3
    argNames:
    - tree
    - key
    - steal
    argTypes:
    - GTree*
    - gconstpointer
    - gboolean
    constantsTouched: []
    func_position:
      end: 983
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 983
    functionName: g_tree_remove_internal
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_assert
    - g_tree_node_next
    - g_tree_node_balance
    - g_slice_free
    - g_tree_node_previous
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_tree_remove_internal (GTree *tree, gconstpointer
      key, gboolean steal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtree.c:998,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GTreeNode*
    constantsTouched: []
    func_position:
      end: 1001
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 1001
    functionName: g_tree_node_key
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_tree_node_key (GTreeNode *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_tree_lookup_node
      Src: /src/glib/glib/gtree.c:1062,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - tree
    - key
    argTypes:
    - GTree*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1065
      start: 1056
    functionDepth: 0
    functionLinenumber: 1056
    functionLinenumberEnd: 1065
    functionName: g_tree_lookup
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_tree_lookup_node
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_tree_lookup (GTree *tree, gconstpointer key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_tree_search_node
      Src: /src/glib/glib/gtree.c:1305,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - tree
    - search_func
    - user_data
    argTypes:
    - GTree*
    - GCompareFunc
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1308
      start: 1298
    functionDepth: 0
    functionLinenumber: 1298
    functionLinenumberEnd: 1308
    functionName: g_tree_search
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_tree_search_node
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_tree_search (GTree *tree, GCompareFunc search_func, gconstpointer
      user_data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtree.c:1335,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1362
      start: 1328
    functionDepth: 0
    functionLinenumber: 1328
    functionLinenumberEnd: 1362
    functionName: g_tree_lower_bound
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: GTreeNode*
    signature: 'GTreeNode *g_tree_lower_bound (GTree *tree, gconstpointer key) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_tree_node_pre_order
      Src: /src/glib/glib/gtree.c:1544,1
    - Dst: g_tree_node_pre_order
      Src: /src/glib/glib/gtree.c:1538,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - node
    - traverse_func
    - data
    argTypes:
    - GTreeNode*
    - GTraverseFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 1549
      start: 1528
    functionDepth: 0
    functionLinenumber: 1528
    functionLinenumberEnd: 1549
    functionName: g_tree_node_pre_order
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_tree_node_pre_order
    linkageType: ''
    returnType: gint
    signature: 'static gint g_tree_node_pre_order (GTreeNode *node, GTraverseFunc
      traverse_func, gpointer data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_tree_node_in_order
      Src: /src/glib/glib/gtree.c:1558,1
    - Dst: g_tree_node_in_order
      Src: /src/glib/glib/gtree.c:1567,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - node
    - traverse_func
    - data
    argTypes:
    - GTreeNode*
    - GTraverseFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 1572
      start: 1551
    functionDepth: 0
    functionLinenumber: 1551
    functionLinenumberEnd: 1572
    functionName: g_tree_node_in_order
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_tree_node_in_order
    linkageType: ''
    returnType: gint
    signature: 'static gint g_tree_node_in_order (GTreeNode *node, GTraverseFunc traverse_func,
      gpointer data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_tree_node_height
      Src: /src/glib/glib/gtree.c:1724,1
    - Dst: MAX
      Src: /src/glib/glib/gtree.c:1729,1
    - Dst: g_tree_node_height
      Src: /src/glib/glib/gtree.c:1727,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - node
    argTypes:
    - GTreeNode*
    constantsTouched: []
    func_position:
      end: 1733
      start: 1712
    functionDepth: 0
    functionLinenumber: 1712
    functionLinenumberEnd: 1733
    functionName: g_tree_node_height
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_tree_node_height
    - MAX
    linkageType: ''
    returnType: gint
    signature: 'static gint g_tree_node_height (GTreeNode *node) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_tree_node_previous
      Src: /src/glib/glib/gtree.c:1747,1
    - Dst: g_assert
      Src: /src/glib/glib/gtree.c:1754,1
    - Dst: g_tree_node_height
      Src: /src/glib/glib/gtree.c:1761,1
    - Dst: g_tree_node_next
      Src: /src/glib/glib/gtree.c:1753,1
    - Dst: g_assert
      Src: /src/glib/glib/gtree.c:1748,1
    - Dst: g_tree_node_height
      Src: /src/glib/glib/gtree.c:1763,1
    - Dst: g_assert
      Src: /src/glib/glib/gtree.c:1766,1
    - Dst: g_tree_node_check
      Src: /src/glib/glib/gtree.c:1769,1
    - Dst: g_tree_node_check
      Src: /src/glib/glib/gtree.c:1771,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 1
    argNames:
    - node
    argTypes:
    - GTreeNode*
    constantsTouched: []
    func_position:
      end: 1773
      start: 1735
    functionDepth: 0
    functionLinenumber: 1735
    functionLinenumberEnd: 1773
    functionName: g_tree_node_check
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_tree_node_check
    - g_assert
    - g_tree_node_next
    - g_tree_node_height
    - g_tree_node_previous
    linkageType: ''
    returnType: void
    signature: 'static void g_tree_node_check (GTreeNode *node) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/glib/gtree.c:1779,1
    - Dst: g_print
      Src: /src/glib/glib/gtree.c:1787,1
    - Dst: g_print
      Src: /src/glib/glib/gtree.c:1791,1
    - Dst: g_tree_node_dump
      Src: /src/glib/glib/gtree.c:1784,1
    - Dst: g_print
      Src: /src/glib/glib/gtree.c:1783,1
    - Dst: g_tree_node_dump
      Src: /src/glib/glib/gtree.c:1792,1
    - Dst: g_print
      Src: /src/glib/glib/gtree.c:1795,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - node
    - indent
    argTypes:
    - GTreeNode*
    - gint
    constantsTouched: []
    func_position:
      end: 1796
      start: 1775
    functionDepth: 0
    functionLinenumber: 1775
    functionLinenumberEnd: 1796
    functionName: g_tree_node_dump
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_tree_node_dump
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void g_tree_node_dump (GTreeNode *node, gint indent) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_tree_node_dump
      Src: /src/glib/glib/gtree.c:1802,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - tree
    argTypes:
    - GTree*
    constantsTouched: []
    func_position:
      end: 1803
      start: 1798
    functionDepth: 0
    functionLinenumber: 1798
    functionLinenumberEnd: 1803
    functionName: g_tree_dump
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_tree_node_dump
    linkageType: ''
    returnType: void
    signature: 'void g_tree_dump (GTree *tree) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtree.c:187,1
    - Dst: g_slice_new
      Src: /src/glib/glib/gtree.c:189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 199
    functionName: g_tree_new_full
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_slice_new
    linkageType: ''
    returnType: GTree*
    signature: 'GTree *g_tree_new_full (GCompareDataFunc key_compare_func, gpointer
      key_compare_data, GDestroyNotify key_destroy_func, GDestroyNotify value_destroy_func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtree.c:136,1
    - Dst: g_tree_new_full
      Src: /src/glib/glib/gtree.c:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: g_tree_new
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_tree_new_full
    linkageType: ''
    returnType: GTree*
    signature: 'GTree *g_tree_new (GCompareFunc key_compare_func) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtree.c:398,1
    - Dst: g_tree_remove_all
      Src: /src/glib/glib/gtree.c:402,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/glib/gtree.c:400,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gtree.c:403,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - tree
    argTypes:
    - GTree*
    constantsTouched: []
    func_position:
      end: 405
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 405
    functionName: g_tree_unref
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_tree_remove_all
    - g_atomic_int_dec_and_test
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_tree_unref (GTree *tree) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtree.c:767,1
    - Dst: g_tree_node_check
      Src: /src/glib/glib/gtree.c:772,1
    - Dst: g_tree_remove_internal
      Src: /src/glib/glib/gtree.c:769,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - tree
    - key
    argTypes:
    - GTree*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 776
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 776
    functionName: g_tree_steal
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_tree_remove_internal
    - g_return_val_if_fail
    - g_tree_node_check
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_tree_steal (GTree *tree, gconstpointer key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtree.c:1039,1
    - Dst: g_tree_find_node
      Src: /src/glib/glib/gtree.c:1041,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1035
    functionDepth: 0
    functionLinenumber: 1035
    functionLinenumberEnd: 1042
    functionName: g_tree_lookup_node
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_tree_find_node
    - g_return_val_if_fail
    linkageType: ''
    returnType: GTreeNode*
    signature: 'GTreeNode *g_tree_lookup_node (GTree *tree, gconstpointer key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtree.c:1271,1
    - Dst: g_tree_node_search
      Src: /src/glib/glib/gtree.c:1276,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1277
      start: 1266
    functionDepth: 0
    functionLinenumber: 1266
    functionLinenumberEnd: 1277
    functionName: g_tree_search_node
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_tree_node_search
    linkageType: ''
    returnType: GTreeNode*
    signature: 'GTreeNode *g_tree_search_node (GTree *tree, GCompareFunc search_func,
      gconstpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/glib/gtree.c:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 119
    functionName: g_tree_node_new
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_slice_new
    linkageType: ''
    returnType: GTreeNode*
    signature: 'static GTreeNode *g_tree_node_new (gpointer key, gpointer value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtree.c:156,1
    - Dst: g_tree_new_full
      Src: /src/glib/glib/gtree.c:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 160
    functionName: g_tree_new_with_data
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_tree_new_full
    linkageType: ''
    returnType: GTree*
    signature: 'GTree *g_tree_new_with_data (GCompareDataFunc key_compare_func, gpointer
      key_compare_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtree.c:302,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 311
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 311
    functionName: g_tree_node_next
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: GTreeNode*
    signature: 'GTreeNode *g_tree_node_next (GTreeNode *node) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1668
      start: 1629
    functionDepth: 0
    functionLinenumber: 1629
    functionLinenumberEnd: 1668
    functionName: g_tree_node_rotate_left
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GTreeNode*
    signature: 'static GTreeNode *g_tree_node_rotate_left (GTreeNode *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtree.c:1220,1
    - Dst: g_warning
      Src: /src/glib/glib/gtree.c:1240,1
    - Dst: g_tree_node_in_order
      Src: /src/glib/glib/gtree.c:1232,1
    - Dst: g_tree_node_post_order
      Src: /src/glib/glib/gtree.c:1236,1
    - Dst: g_tree_node_pre_order
      Src: /src/glib/glib/gtree.c:1228,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 4
    argNames:
    - tree
    - traverse_func
    - traverse_type
    - user_data
    argTypes:
    - GTree*
    - GTraverseFunc
    - GTraverseType
    - gpointer
    constantsTouched: []
    func_position:
      end: 1243
      start: 1214
    functionDepth: 0
    functionLinenumber: 1214
    functionLinenumberEnd: 1243
    functionName: g_tree_traverse
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_tree_node_post_order
    - g_warning
    - g_return_if_fail
    - g_tree_node_pre_order
    - g_tree_node_in_order
    linkageType: ''
    returnType: void
    signature: 'void g_tree_traverse (GTree *tree, GTraverseFunc traverse_func, GTraverseType
      traverse_type, gpointer user_data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1709
      start: 1670
    functionDepth: 0
    functionLinenumber: 1670
    functionLinenumberEnd: 1709
    functionName: g_tree_node_rotate_right
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GTreeNode*
    signature: 'static GTreeNode *g_tree_node_rotate_right (GTreeNode *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtree.c:275,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 284
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 284
    functionName: g_tree_node_previous
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: GTreeNode*
    signature: 'GTreeNode *g_tree_node_previous (GTreeNode *node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtree.c:1169,1
    - Dst: g_tree_node_first
      Src: /src/glib/glib/gtree.c:1174,1
    - Dst: g_tree_node_next
      Src: /src/glib/glib/gtree.c:1181,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - tree
    - func
    - user_data
    argTypes:
    - GTree*
    - GTraverseNodeFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 1183
      start: 1162
    functionDepth: 0
    functionLinenumber: 1162
    functionLinenumberEnd: 1183
    functionName: g_tree_foreach_node
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_tree_node_first
    - g_tree_node_next
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_tree_foreach_node (GTree *tree, GTraverseNodeFunc func, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtree.c:1471,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - tree
    argTypes:
    - GTree*
    constantsTouched: []
    func_position:
      end: 1474
      start: 1468
    functionDepth: 0
    functionLinenumber: 1468
    functionLinenumberEnd: 1474
    functionName: g_tree_nnodes
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gint
    signature: 'gint g_tree_nnodes (GTree *tree) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_tree_insert_replace_node_internal
      Src: /src/glib/glib/gtree.c:477,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 478
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 478
    functionName: g_tree_insert_node
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_tree_insert_replace_node_internal
    linkageType: ''
    returnType: GTreeNode*
    signature: 'GTreeNode *g_tree_insert_node (GTree *tree, gpointer key, gpointer
      value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtree.c:737,1
    - Dst: g_tree_node_check
      Src: /src/glib/glib/gtree.c:742,1
    - Dst: g_tree_remove_internal
      Src: /src/glib/glib/gtree.c:739,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - tree
    - key
    argTypes:
    - GTree*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 746
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 746
    functionName: g_tree_remove
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_tree_remove_internal
    - g_return_val_if_fail
    - g_tree_node_check
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_tree_remove (GTree *tree, gconstpointer key) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtree.c:1436,1
    - Dst: MAX
      Src: /src/glib/glib/gtree.c:1446,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - tree
    argTypes:
    - GTree*
    constantsTouched: []
    func_position:
      end: 1453
      start: 1430
    functionDepth: 0
    functionLinenumber: 1430
    functionLinenumberEnd: 1453
    functionName: g_tree_height
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - MAX
    linkageType: ''
    returnType: gint
    signature: 'gint g_tree_height (GTree *tree) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_tree_node_rotate_left
      Src: /src/glib/glib/gtree.c:1482,1
    - Dst: g_tree_node_rotate_left
      Src: /src/glib/glib/gtree.c:1489,1
    - Dst: g_tree_node_rotate_right
      Src: /src/glib/glib/gtree.c:1483,1
    - Dst: g_tree_node_rotate_right
      Src: /src/glib/glib/gtree.c:1488,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1493
      start: 1476
    functionDepth: 0
    functionLinenumber: 1476
    functionLinenumberEnd: 1493
    functionName: g_tree_node_balance
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_tree_node_rotate_right
    - g_tree_node_rotate_left
    linkageType: ''
    returnType: GTreeNode*
    signature: 'static GTreeNode *g_tree_node_balance (GTreeNode *node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1526
      start: 1495
    functionDepth: 0
    functionLinenumber: 1495
    functionLinenumberEnd: 1526
    functionName: g_tree_find_node
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GTreeNode*
    signature: 'static GTreeNode *g_tree_find_node (GTree *tree, gconstpointer key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtree.c:436,1
    - Dst: g_tree_node_check
      Src: /src/glib/glib/gtree.c:441,1
    - Dst: g_tree_insert_internal
      Src: /src/glib/glib/gtree.c:438,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 445
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 445
    functionName: g_tree_insert_replace_node_internal
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_tree_insert_internal
    - g_tree_node_check
    linkageType: ''
    returnType: GTreeNode*
    signature: 'static GTreeNode *g_tree_insert_replace_node_internal (GTree *tree,
      gpointer key, gpointer value, gboolean replace, gboolean null_ret_ok) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtree.c:576,1
    - Dst: g_tree_node_new
      Src: /src/glib/glib/gtree.c:580,1
    - Dst: g_assert
      Src: /src/glib/glib/gtree.c:583,1
    - Dst: g_tree_nnodes_inc_checked
      Src: /src/glib/glib/gtree.c:632,1
    - Dst: g_tree_node_new
      Src: /src/glib/glib/gtree.c:637,1
    - Dst: g_tree_nnodes_inc_checked
      Src: /src/glib/glib/gtree.c:659,1
    - Dst: g_assert
      Src: /src/glib/glib/gtree.c:685,1
    - Dst: g_tree_node_new
      Src: /src/glib/glib/gtree.c:664,1
    - Dst: g_tree_node_balance
      Src: /src/glib/glib/gtree.c:689,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 83
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 710
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 710
    functionName: g_tree_insert_internal
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_tree_nnodes_inc_checked
    - g_assert
    - g_tree_node_new
    - g_tree_node_balance
    linkageType: ''
    returnType: GTreeNode*
    signature: 'static GTreeNode *g_tree_insert_internal (GTree *tree, gpointer key,
      gpointer value, gboolean replace, gboolean null_ret_ok) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtree.c:1128,1
    - Dst: g_tree_node_next
      Src: /src/glib/glib/gtree.c:1140,1
    - Dst: g_tree_node_first
      Src: /src/glib/glib/gtree.c:1133,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - tree
    - func
    - user_data
    argTypes:
    - GTree*
    - GTraverseFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 1142
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1142
    functionName: g_tree_foreach
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_tree_node_first
    - g_tree_node_next
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_tree_foreach (GTree *tree, GTraverseFunc func, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtree.c:246,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 257
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 257
    functionName: g_tree_node_last
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: GTreeNode*
    signature: 'GTreeNode *g_tree_node_last (GTree *tree) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtree.c:375,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gtree.c:377,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 380
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 380
    functionName: g_tree_ref
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_atomic_int_inc
    - g_return_val_if_fail
    linkageType: ''
    returnType: GTree*
    signature: 'GTree *g_tree_ref (GTree *tree) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gtree.c:549,1
    - Dst: g_error
      Src: /src/glib/glib/gtree.c:553,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - tree
    - overflow_fatal
    argTypes:
    - GTree*
    - gboolean
    constantsTouched: []
    func_position:
      end: 562
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 562
    functionName: g_tree_nnodes_inc_checked
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_error
    - G_UNLIKELY
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_tree_nnodes_inc_checked (GTree *tree, gboolean overflow_fatal) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtree.c:1089,1
    - Dst: g_tree_find_node
      Src: /src/glib/glib/gtree.c:1091,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 4
    argNames:
    - tree
    - lookup_key
    - orig_key
    - value
    argTypes:
    - GTree*
    - gconstpointer
    - gpointer*
    - gpointer*
    constantsTouched: []
    func_position:
      end: 1103
      start: 1081
    functionDepth: 0
    functionLinenumber: 1081
    functionLinenumberEnd: 1103
    functionName: g_tree_lookup_extended
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_tree_find_node
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_tree_lookup_extended (GTree *tree, gconstpointer lookup_key,
      gpointer *orig_key, gpointer *value) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_tree_node_post_order
      Src: /src/glib/glib/gtree.c:1581,1
    - Dst: g_tree_node_post_order
      Src: /src/glib/glib/gtree.c:1587,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - node
    - traverse_func
    - data
    argTypes:
    - GTreeNode*
    - GTraverseFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 1595
      start: 1574
    functionDepth: 0
    functionLinenumber: 1574
    functionLinenumberEnd: 1595
    functionName: g_tree_node_post_order
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_tree_node_post_order
    linkageType: ''
    returnType: gint
    signature: 'static gint g_tree_node_post_order (GTreeNode *node, GTraverseFunc
      traverse_func, gpointer data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1627
      start: 1597
    functionDepth: 0
    functionLinenumber: 1597
    functionLinenumberEnd: 1627
    functionName: g_tree_node_search
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GTreeNode*
    signature: 'static GTreeNode *g_tree_node_search (GTreeNode *node, GCompareFunc
      search_func, gconstpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtree.c:217,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 228
    functionName: g_tree_node_first
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: GTreeNode*
    signature: 'GTreeNode *g_tree_node_first (GTree *tree) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtree.c:328,1
    - Dst: g_tree_node_first
      Src: /src/glib/glib/gtree.c:330,1
    - Dst: g_tree_node_next
      Src: /src/glib/glib/gtree.c:334,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gtree.c:340,1
    - Dst: g_assert
      Src: /src/glib/glib/gtree.c:343,1
    - Dst: g_assert
      Src: /src/glib/glib/gtree.c:351,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - tree
    argTypes:
    - GTree*
    constantsTouched: []
    func_position:
      end: 358
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 358
    functionName: g_tree_remove_all
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - g_assert
    - g_tree_node_next
    - g_tree_node_first
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'void g_tree_remove_all (GTree *tree) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_tree_insert_replace_node_internal
      Src: /src/glib/glib/gtree.c:525,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 526
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 526
    functionName: g_tree_replace_node
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_tree_insert_replace_node_internal
    linkageType: ''
    returnType: GTreeNode*
    signature: 'GTreeNode *g_tree_replace_node (GTree *tree, gpointer key, gpointer
      value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_tree_insert_replace_node_internal
      Src: /src/glib/glib/gtree.c:542,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - tree
    - key
    - value
    argTypes:
    - GTree*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 543
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 543
    functionName: g_tree_replace
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_tree_insert_replace_node_internal
    linkageType: ''
    returnType: void
    signature: 'void g_tree_replace (GTree *tree, gpointer key, gpointer value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtree.c:1016,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GTreeNode*
    constantsTouched: []
    func_position:
      end: 1019
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1019
    functionName: g_tree_node_value
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_tree_node_value (GTreeNode *node) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtree.c:1389,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1382
    functionDepth: 0
    functionLinenumber: 1382
    functionLinenumberEnd: 1416
    functionName: g_tree_upper_bound
    functionSourceFile: /src/glib/glib/gtree.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: GTreeNode*
    signature: 'GTreeNode *g_tree_upper_bound (GTree *tree, gconstpointer key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - hash_table
    - hash
    argTypes:
    - GHashTable*
    - guint
    constantsTouched: []
    func_position:
      end: 383
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 383
    functionName: g_hash_table_hash_to_index
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint
    signature: 'static inline guint g_hash_table_hash_to_index (GHashTable *hash_table,
      guint hash) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_fetch_key_or_value
      Src: /src/glib/glib/ghash.c:487,1
    - Dst: g_hash_table_fetch_key_or_value
      Src: /src/glib/glib/ghash.c:488,1
    - Dst: g_assert
      Src: /src/glib/glib/ghash.c:497,1
    - Dst: g_hash_table_assign_key_or_value
      Src: /src/glib/glib/ghash.c:495,1
    - Dst: g_hash_table_assign_key_or_value
      Src: /src/glib/glib/ghash.c:494,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - hash_table
    - i
    - notify
    argTypes:
    - GHashTable*
    - gint
    - gboolean
    constantsTouched: []
    func_position:
      end: 506
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 506
    functionName: g_hash_table_remove_node
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_hash_table_fetch_key_or_value
    - g_hash_table_assign_key_or_value
    linkageType: ''
    returnType: void
    signature: 'static void g_hash_table_remove_node (GHashTable *hash_table, gint
      i, gboolean notify) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - bitmap
    - index
    argTypes:
    - guint32*
    - guint
    constantsTouched: []
    func_position:
      end: 691
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 691
    functionName: get_status_bit
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean get_status_bit (const guint32 *bitmap, guint
      index) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - v
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 873
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 873
    functionName: entry_is_big
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean entry_is_big (gpointer v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/glib/ghash.c:1020,1
    - Dst: g_hash_table_setup_storage
      Src: /src/glib/glib/ghash.c:1032,1
    - Dst: g_atomic_ref_count_init
      Src: /src/glib/glib/ghash.c:1021,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1012
    functionDepth: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1035
    functionName: g_hash_table_new_full
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_atomic_ref_count_init
    - g_slice_new
    - g_hash_table_setup_storage
    linkageType: ''
    returnType: GHashTable*
    signature: 'GHashTable *g_hash_table_new_full (GHashFunc hash_func, GEqualFunc
      key_equal_func, GDestroyNotify key_destroy_func, GDestroyNotify value_destroy_func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghash.c:1412,1
    - Dst: g_atomic_ref_count_inc
      Src: /src/glib/glib/ghash.c:1414,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1417
      start: 1409
    functionDepth: 0
    functionLinenumber: 1409
    functionLinenumberEnd: 1417
    functionName: g_hash_table_ref
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_atomic_ref_count_inc
    linkageType: ''
    returnType: GHashTable*
    signature: 'GHashTable *g_hash_table_ref (GHashTable *hash_table) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghash.c:1485,1
    - Dst: HASH_IS_REAL
      Src: /src/glib/glib/ghash.c:1489,1
    - Dst: g_hash_table_fetch_key_or_value
      Src: /src/glib/glib/ghash.c:1490,1
    - Dst: g_hash_table_lookup_node
      Src: /src/glib/glib/ghash.c:1487,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - hash_table
    - key
    argTypes:
    - GHashTable*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1492
      start: 1478
    functionDepth: 0
    functionLinenumber: 1478
    functionLinenumberEnd: 1492
    functionName: g_hash_table_lookup
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_hash_table_fetch_key_or_value
    - g_hash_table_lookup_node
    - HASH_IS_REAL
    - g_return_val_if_fail
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_hash_table_lookup (GHashTable *hash_table, gconstpointer
      key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghash.c:2401,1
    - Dst: g_ptr_array_sized_new
      Src: /src/glib/glib/ghash.c:2403,1
    - Dst: HASH_IS_REAL
      Src: /src/glib/glib/ghash.c:2406,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/ghash.c:2408,1
    - Dst: g_hash_table_fetch_key_or_value
      Src: /src/glib/glib/ghash.c:2408,1
    - Dst: g_assert
      Src: /src/glib/glib/ghash.c:2412,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2415
      start: 2396
    functionDepth: 0
    functionLinenumber: 2396
    functionLinenumberEnd: 2415
    functionName: g_hash_table_get_values_as_ptr_array
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_ptr_array_sized_new
    - g_return_val_if_fail
    - g_assert
    - g_hash_table_fetch_key_or_value
    - HASH_IS_REAL
    - g_ptr_array_add
    linkageType: ''
    returnType: GPtrArray*
    signature: 'GPtrArray *g_hash_table_get_values_as_ptr_array (GHashTable *hash_table) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/ghash.c:298,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - hash_table
    - shift
    argTypes:
    - GHashTable*
    - gint
    constantsTouched: []
    func_position:
      end: 300
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 300
    functionName: g_hash_table_set_shift
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_assert
    linkageType: ''
    returnType: void
    signature: 'static void g_hash_table_set_shift (GHashTable *hash_table, gint shift) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - bitmap
    - index
    argTypes:
    - guint32*
    - guint
    constantsTouched: []
    func_position:
      end: 697
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 697
    functionName: set_status_bit
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void set_status_bit (guint32 *bitmap, guint index) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: entry_is_big
      Src: /src/glib/glib/ghash.c:878,1
    - Dst: g_new
      Src: /src/glib/glib/ghash.c:884,1
    - Dst: g_free
      Src: /src/glib/glib/ghash.c:891,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/ghash.c:888,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - a_p
    - v
    - ht_size
    argTypes:
    - gpointer*
    - gpointer
    - gint
    constantsTouched: []
    func_position:
      end: 897
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 897
    functionName: g_hash_table_maybe_make_big_keys_or_values
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - GUINT_TO_POINTER
    - g_free
    - entry_is_big
    - g_new
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean g_hash_table_maybe_make_big_keys_or_values
      (gpointer *a_p, gpointer v, gint ht_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - v
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2651
      start: 2645
    functionDepth: 0
    functionLinenumber: 2645
    functionLinenumberEnd: 2651
    functionName: g_int64_hash
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint
    signature: 'guint g_int64_hash (gconstpointer v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghash.c:1460,1
    - Dst: g_hash_table_unref
      Src: /src/glib/glib/ghash.c:1463,1
    - Dst: g_hash_table_remove_all
      Src: /src/glib/glib/ghash.c:1462,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - hash_table
    argTypes:
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 1464
      start: 1457
    functionDepth: 0
    functionLinenumber: 1457
    functionLinenumberEnd: 1464
    functionName: g_hash_table_destroy
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_hash_table_unref
    - g_hash_table_remove_all
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_hash_table_destroy (GHashTable *hash_table) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghash.c:1572,1
    - Dst: g_hash_table_lookup_node
      Src: /src/glib/glib/ghash.c:1574,1
    - Dst: g_hash_table_insert_node
      Src: /src/glib/glib/ghash.c:1576,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - hash_table
    - key
    - value
    - keep_new_key
    argTypes:
    - GHashTable*
    - gpointer
    - gpointer
    - gboolean
    constantsTouched: []
    func_position:
      end: 1577
      start: 1563
    functionDepth: 0
    functionLinenumber: 1563
    functionLinenumberEnd: 1577
    functionName: g_hash_table_insert_internal
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_hash_table_insert_node
    - g_hash_table_lookup_node
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_hash_table_insert_internal (GHashTable *hash_table,
      gpointer key, gpointer value, gboolean keep_new_key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghash.c:1686,1
    - Dst: HASH_IS_REAL
      Src: /src/glib/glib/ghash.c:1690,1
    - Dst: g_hash_table_lookup_node
      Src: /src/glib/glib/ghash.c:1688,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - hash_table
    - key
    argTypes:
    - GHashTable*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1691
      start: 1679
    functionDepth: 0
    functionLinenumber: 1679
    functionLinenumberEnd: 1691
    functionName: g_hash_table_contains
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_hash_table_lookup_node
    - HASH_IS_REAL
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_hash_table_contains (GHashTable *hash_table, gconstpointer
      key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghash.c:1955,1
    - Dst: g_hash_table_remove_all
      Src: /src/glib/glib/ghash.c:1966,1
    - Dst: g_ptr_array_set_free_func
      Src: /src/glib/glib/ghash.c:1964,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/ghash.c:1963,1
    - Dst: g_hash_table_get_values_as_ptr_array
      Src: /src/glib/glib/ghash.c:1957,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/ghash.c:1967,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1970
      start: 1949
    functionDepth: 0
    functionLinenumber: 1949
    functionLinenumberEnd: 1970
    functionName: g_hash_table_steal_all_values
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_return_val_if_fail
    - g_hash_table_get_values_as_ptr_array
    - g_ptr_array_set_free_func
    - g_hash_table_remove_all
    linkageType: ''
    returnType: GPtrArray*
    signature: 'GPtrArray *g_hash_table_steal_all_values (GHashTable *hash_table) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2587
      start: 2582
    functionDepth: 0
    functionLinenumber: 2582
    functionLinenumberEnd: 2587
    functionName: g_uint_equal
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_uint_equal (gconstpointer v1, gconstpointer v2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - v
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2477
      start: 2467
    functionDepth: 0
    functionLinenumber: 2467
    functionLinenumberEnd: 2477
    functionName: g_str_hash
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint
    signature: 'guint g_str_hash (gconstpointer v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_realloc
      Src: /src/glib/glib/ghash.c:328,1
    - Dst: g_renew
      Src: /src/glib/glib/ghash.c:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - a
    - size
    - gboolean
    - is_big
    argTypes:
    - gpointer
    - guint
    - G_GNUC_UNUSED
    constantsTouched: []
    func_position:
      end: 332
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 332
    functionName: g_hash_table_realloc_key_or_value_array
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_realloc
    - g_renew
    linkageType: ''
    returnType: gpointer
    signature: 'static inline gpointer g_hash_table_realloc_key_or_value_array (gpointer
      a, guint size, G_GNUC_UNUSED gboolean is_big) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - gint
    constantsTouched: []
    func_position:
      end: 311
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 311
    functionName: g_hash_table_find_closest_shift
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint
    signature: 'static gint g_hash_table_find_closest_shift (gint n) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghash.c:1127,1
    - Dst: g_hash_table_fetch_key_or_value
      Src: /src/glib/glib/ghash.c:1147,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghash.c:1131,1
    - Dst: HASH_IS_REAL
      Src: /src/glib/glib/ghash.c:1144,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghash.c:1129,1
    - Dst: g_hash_table_fetch_key_or_value
      Src: /src/glib/glib/ghash.c:1149,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - iter
    - key
    - value
    argTypes:
    - GHashTableIter*
    - gpointer*
    - gpointer*
    constantsTouched: []
    func_position:
      end: 1153
      start: 1119
    functionDepth: 0
    functionLinenumber: 1119
    functionLinenumberEnd: 1153
    functionName: g_hash_table_iter_next
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_hash_table_fetch_key_or_value
    - HASH_IS_REAL
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_hash_table_iter_next (GHashTableIter *iter, gpointer *key,
      gpointer *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghash.c:1168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1165
    functionDepth: 0
    functionLinenumber: 1165
    functionLinenumberEnd: 1171
    functionName: g_hash_table_iter_get_hash_table
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: GHashTable*
    signature: 'GHashTable *g_hash_table_iter_get_hash_table (GHashTableIter *iter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iter_remove_or_steal
      Src: /src/glib/glib/ghash.c:1394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GHashTableIter*
    constantsTouched: []
    func_position:
      end: 1395
      start: 1391
    functionDepth: 0
    functionLinenumber: 1391
    functionLinenumberEnd: 1395
    functionName: g_hash_table_iter_steal
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - iter_remove_or_steal
    linkageType: ''
    returnType: void
    signature: 'void g_hash_table_iter_steal (GHashTableIter *iter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_insert_internal
      Src: /src/glib/glib/ghash.c:1605,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - hash_table
    - key
    - value
    argTypes:
    - GHashTable*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1606
      start: 1600
    functionDepth: 0
    functionLinenumber: 1600
    functionLinenumberEnd: 1606
    functionName: g_hash_table_insert
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_hash_table_insert_internal
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_hash_table_insert (GHashTable *hash_table, gpointer key,
      gpointer value) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghash.c:1808,1
    - Dst: HASH_IS_REAL
      Src: /src/glib/glib/ghash.c:1812,1
    - Dst: g_hash_table_fetch_key_or_value
      Src: /src/glib/glib/ghash.c:1823,1
    - Dst: g_hash_table_lookup_node
      Src: /src/glib/glib/ghash.c:1810,1
    - Dst: g_hash_table_assign_key_or_value
      Src: /src/glib/glib/ghash.c:1824,1
    - Dst: g_hash_table_fetch_key_or_value
      Src: /src/glib/glib/ghash.c:1833,1
    - Dst: g_hash_table_assign_key_or_value
      Src: /src/glib/glib/ghash.c:1834,1
    - Dst: g_hash_table_remove_node
      Src: /src/glib/glib/ghash.c:1838,1
    - Dst: g_hash_table_maybe_resize
      Src: /src/glib/glib/ghash.c:1839,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 4
    argNames:
    - hash_table
    - lookup_key
    - stolen_key
    - stolen_value
    argTypes:
    - GHashTable*
    - gconstpointer
    - gpointer*
    - gpointer*
    constantsTouched: []
    func_position:
      end: 1846
      start: 1799
    functionDepth: 0
    functionLinenumber: 1799
    functionLinenumberEnd: 1846
    functionName: g_hash_table_steal_extended
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_hash_table_lookup_node
    - g_hash_table_assign_key_or_value
    - g_hash_table_fetch_key_or_value
    - g_hash_table_maybe_resize
    - HASH_IS_REAL
    - g_hash_table_remove_node
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_hash_table_steal_extended (GHashTable *hash_table, gconstpointer
      lookup_key, gpointer *stolen_key, gpointer *stolen_value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghash.c:1887,1
    - Dst: g_hash_table_maybe_resize
      Src: /src/glib/glib/ghash.c:1895,1
    - Dst: g_hash_table_remove_all_nodes
      Src: /src/glib/glib/ghash.c:1894,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - hash_table
    argTypes:
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 1896
      start: 1884
    functionDepth: 0
    functionLinenumber: 1884
    functionLinenumberEnd: 1896
    functionName: g_hash_table_steal_all
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_hash_table_remove_all_nodes
    - g_hash_table_maybe_resize
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_hash_table_steal_all (GHashTable *hash_table) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_find_closest_shift
      Src: /src/glib/glib/ghash.c:318,1
    - Dst: MAX
      Src: /src/glib/glib/ghash.c:319,1
    - Dst: g_hash_table_set_shift
      Src: /src/glib/glib/ghash.c:321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - hash_table
    - size
    argTypes:
    - GHashTable*
    - gint
    constantsTouched: []
    func_position:
      end: 322
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 322
    functionName: g_hash_table_set_shift_from_size
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - MAX
    - g_hash_table_find_closest_shift
    - g_hash_table_set_shift
    linkageType: ''
    returnType: void
    signature: 'static void g_hash_table_set_shift_from_size (GHashTable *hash_table,
      gint size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/ghash.c:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - a
    - index
    - is_big
    argTypes:
    - gpointer
    - guint
    - gboolean
    constantsTouched: []
    func_position:
      end: 341
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 341
    functionName: g_hash_table_fetch_key_or_value
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - GUINT_TO_POINTER
    linkageType: ''
    returnType: gpointer
    signature: 'static inline gpointer g_hash_table_fetch_key_or_value (gpointer a,
      guint index, gboolean is_big) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghash.c:1176,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghash.c:1178,1
    - Dst: g_hash_table_remove_node
      Src: /src/glib/glib/ghash.c:1183,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghash.c:1180,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghash.c:1181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ri
    - notify
    argTypes:
    - RealIter*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1189
      start: 1173
    functionDepth: 0
    functionLinenumber: 1173
    functionLinenumberEnd: 1189
    functionName: iter_remove_or_steal
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_hash_table_remove_node
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void iter_remove_or_steal (RealIter *ri, gboolean notify) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2543
      start: 2538
    functionDepth: 0
    functionLinenumber: 2538
    functionLinenumberEnd: 2543
    functionName: g_int_equal
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_int_equal (gconstpointer v1, gconstpointer v2) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: HASH_IS_UNUSED
      Src: /src/glib/glib/ghash.c:429,1
    - Dst: g_hash_table_hash_to_index
      Src: /src/glib/glib/ghash.c:426,1
    - Dst: HASH_IS_REAL
      Src: /src/glib/glib/ghash.c:421,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/ghash.c:421,1
    - Dst: g_hash_table_fetch_key_or_value
      Src: /src/glib/glib/ghash.c:437,1
    - Dst: HASH_IS_TOMBSTONE
      Src: /src/glib/glib/ghash.c:449,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 3
    argNames:
    - hash_table
    - key
    - hash_return
    argTypes:
    - GHashTable*
    - gconstpointer
    - guint*
    constantsTouched: []
    func_position:
      end: 465
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 465
    functionName: g_hash_table_lookup_node
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - HASH_IS_TOMBSTONE
    - g_hash_table_fetch_key_or_value
    - G_UNLIKELY
    - HASH_IS_REAL
    - HASH_IS_UNUSED
    - g_hash_table_hash_to_index
    linkageType: ''
    returnType: guint
    signature: 'static inline guint g_hash_table_lookup_node (GHashTable *hash_table,
      gconstpointer key, guint *hash_return) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_set_shift
      Src: /src/glib/glib/ghash.c:533,1
    - Dst: g_hash_table_realloc_key_or_value_array
      Src: /src/glib/glib/ghash.c:538,1
    - Dst: g_new0
      Src: /src/glib/glib/ghash.c:540,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - hash_table
    argTypes:
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 541
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 541
    functionName: g_hash_table_setup_storage
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_new0
    - g_hash_table_realloc_key_or_value_array
    - g_hash_table_set_shift
    linkageType: ''
    returnType: void
    signature: 'static void g_hash_table_setup_storage (GHashTable *hash_table) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghash.c:1056,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/ghash.c:1058,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1053
    functionDepth: 0
    functionLinenumber: 1053
    functionLinenumberEnd: 1062
    functionName: g_hash_table_new_similar
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_hash_table_new_full
    - g_return_val_if_fail
    linkageType: ''
    returnType: GHashTable*
    signature: 'GHashTable *g_hash_table_new_similar (GHashTable *other_hash_table) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghash.c:1095,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghash.c:1096,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - iter
    - hash_table
    argTypes:
    - GHashTableIter*
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 1103
      start: 1089
    functionDepth: 0
    functionLinenumber: 1089
    functionLinenumberEnd: 1103
    functionName: g_hash_table_iter_init
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_hash_table_iter_init (GHashTableIter *iter, GHashTable *hash_table) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghash.c:1360,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghash.c:1362,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghash.c:1364,1
    - Dst: g_hash_table_fetch_key_or_value
      Src: /src/glib/glib/ghash.c:1369,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghash.c:1365,1
    - Dst: g_hash_table_insert_node
      Src: /src/glib/glib/ghash.c:1371,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - iter
    - value
    argTypes:
    - GHashTableIter*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1377
      start: 1350
    functionDepth: 0
    functionLinenumber: 1350
    functionLinenumberEnd: 1377
    functionName: g_hash_table_iter_replace
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_hash_table_insert_node
    - g_hash_table_fetch_key_or_value
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_hash_table_iter_replace (GHashTableIter *iter, gpointer value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghash.c:1433,1
    - Dst: g_atomic_ref_count_dec
      Src: /src/glib/glib/ghash.c:1435,1
    - Dst: g_hash_table_remove_all_nodes
      Src: /src/glib/glib/ghash.c:1437,1
    - Dst: g_free
      Src: /src/glib/glib/ghash.c:1439,1
    - Dst: g_free
      Src: /src/glib/glib/ghash.c:1440,1
    - Dst: g_free
      Src: /src/glib/glib/ghash.c:1441,1
    - Dst: g_slice_free
      Src: /src/glib/glib/ghash.c:1442,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - hash_table
    argTypes:
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 1444
      start: 1430
    functionDepth: 0
    functionLinenumber: 1430
    functionLinenumberEnd: 1444
    functionName: g_hash_table_unref
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_hash_table_remove_all_nodes
    - g_atomic_ref_count_dec
    - g_return_if_fail
    - g_slice_free
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_hash_table_unref (GHashTable *hash_table) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_remove_internal
      Src: /src/glib/glib/ghash.c:1766,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - hash_table
    - key
    argTypes:
    - GHashTable*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1767
      start: 1762
    functionDepth: 0
    functionLinenumber: 1762
    functionLinenumberEnd: 1767
    functionName: g_hash_table_steal
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_hash_table_remove_internal
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_hash_table_steal (GHashTable *hash_table, gconstpointer
      key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghash.c:1864,1
    - Dst: g_hash_table_maybe_resize
      Src: /src/glib/glib/ghash.c:1872,1
    - Dst: g_hash_table_remove_all_nodes
      Src: /src/glib/glib/ghash.c:1871,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - hash_table
    argTypes:
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 1873
      start: 1861
    functionDepth: 0
    functionLinenumber: 1861
    functionLinenumberEnd: 1873
    functionName: g_hash_table_remove_all
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_hash_table_remove_all_nodes
    - g_hash_table_maybe_resize
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_hash_table_remove_all (GHashTable *hash_table) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghash.c:2241,1
    - Dst: HASH_IS_REAL
      Src: /src/glib/glib/ghash.c:2246,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/ghash.c:2247,1
    - Dst: g_hash_table_fetch_key_or_value
      Src: /src/glib/glib/ghash.c:2247,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2251
      start: 2235
    functionDepth: 0
    functionLinenumber: 2235
    functionLinenumberEnd: 2251
    functionName: g_hash_table_get_keys
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_hash_table_fetch_key_or_value
    - HASH_IS_REAL
    - g_return_val_if_fail
    - g_list_prepend
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_hash_table_get_keys (GHashTable *hash_table) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/glib/ghash.c:2443,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2444
      start: 2436
    functionDepth: 0
    functionLinenumber: 2436
    functionLinenumberEnd: 2444
    functionName: (g_str_equal)
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean (g_str_equal) (gconstpointer v1, gconstpointer v2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2519
      start: 2514
    functionDepth: 0
    functionLinenumber: 2514
    functionLinenumberEnd: 2519
    functionName: g_direct_equal
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_direct_equal (gconstpointer v1, gconstpointer v2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2673
      start: 2668
    functionDepth: 0
    functionLinenumber: 2668
    functionLinenumberEnd: 2673
    functionName: g_double_equal
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_double_equal (gconstpointer v1, gconstpointer v2) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: HASH_IS_REAL
      Src: /src/glib/glib/ghash.c:1256,1
    - Dst: g_hash_table_fetch_key_or_value
      Src: /src/glib/glib/ghash.c:1286,1
    - Dst: g_hash_table_fetch_key_or_value
      Src: /src/glib/glib/ghash.c:1282,1
    - Dst: g_hash_table_fetch_key_or_value
      Src: /src/glib/glib/ghash.c:1292,1
    - Dst: g_hash_table_ensure_keyval_fits
      Src: /src/glib/glib/ghash.c:1302,1
    - Dst: g_hash_table_assign_key_or_value
      Src: /src/glib/glib/ghash.c:1303,1
    - Dst: g_hash_table_assign_key_or_value
      Src: /src/glib/glib/ghash.c:1306,1
    - Dst: HASH_IS_UNUSED
      Src: /src/glib/glib/ghash.c:1313,1
    - Dst: g_hash_table_maybe_resize
      Src: /src/glib/glib/ghash.c:1317,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 7
    argNames:
    - hash_table
    - node_index
    - key_hash
    - new_key
    - new_value
    - keep_new_key
    - reusing_key
    argTypes:
    - GHashTable*
    - guint
    - guint
    - gpointer
    - gpointer
    - gboolean
    - gboolean
    constantsTouched: []
    func_position:
      end: 1334
      start: 1240
    functionDepth: 0
    functionLinenumber: 1240
    functionLinenumberEnd: 1334
    functionName: g_hash_table_insert_node
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_hash_table_ensure_keyval_fits
    - g_hash_table_assign_key_or_value
    - g_hash_table_fetch_key_or_value
    - g_hash_table_maybe_resize
    - HASH_IS_REAL
    - HASH_IS_UNUSED
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_hash_table_insert_node (GHashTable *hash_table,
      guint node_index, guint key_hash, gpointer new_key, gpointer new_value, gboolean
      keep_new_key, gboolean reusing_key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_remove_internal
      Src: /src/glib/glib/ghash.c:1749,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - hash_table
    - key
    argTypes:
    - GHashTable*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1750
      start: 1745
    functionDepth: 0
    functionLinenumber: 1745
    functionLinenumberEnd: 1750
    functionName: g_hash_table_remove
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_hash_table_remove_internal
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_hash_table_remove (GHashTable *hash_table, gconstpointer
      key) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_fetch_key_or_value
      Src: /src/glib/glib/ghash.c:2004,1
    - Dst: g_hash_table_fetch_key_or_value
      Src: /src/glib/glib/ghash.c:2005,1
    - Dst: g_hash_table_remove_node
      Src: /src/glib/glib/ghash.c:2010,1
    - Dst: HASH_IS_REAL
      Src: /src/glib/glib/ghash.c:2007,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghash.c:2015,1
    - Dst: g_hash_table_maybe_resize
      Src: /src/glib/glib/ghash.c:2019,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 4
    argNames:
    - hash_table
    - func
    - user_data
    - notify
    argTypes:
    - GHashTable*
    - GHRFunc
    - gpointer
    - gboolean
    constantsTouched: []
    func_position:
      end: 2027
      start: 1989
    functionDepth: 0
    functionLinenumber: 1989
    functionLinenumberEnd: 2027
    functionName: g_hash_table_foreach_remove_or_steal
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_hash_table_fetch_key_or_value
    - g_hash_table_maybe_resize
    - HASH_IS_REAL
    - g_hash_table_remove_node
    linkageType: ''
    returnType: guint
    signature: 'static guint g_hash_table_foreach_remove_or_steal (GHashTable *hash_table,
      GHRFunc func, gpointer user_data, gboolean notify) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghash.c:2212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - hash_table
    argTypes:
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 2215
      start: 2209
    functionDepth: 0
    functionLinenumber: 2209
    functionLinenumberEnd: 2215
    functionName: g_hash_table_size
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: guint
    signature: 'guint g_hash_table_size (GHashTable *hash_table) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghash.c:2366,1
    - Dst: HASH_IS_REAL
      Src: /src/glib/glib/ghash.c:2371,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/ghash.c:2372,1
    - Dst: g_hash_table_fetch_key_or_value
      Src: /src/glib/glib/ghash.c:2372,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2376
      start: 2360
    functionDepth: 0
    functionLinenumber: 2360
    functionLinenumberEnd: 2376
    functionName: g_hash_table_get_values
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_hash_table_fetch_key_or_value
    - HASH_IS_REAL
    - g_return_val_if_fail
    - g_list_prepend
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_hash_table_get_values (GHashTable *hash_table) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2629
      start: 2624
    functionDepth: 0
    functionLinenumber: 2624
    functionLinenumberEnd: 2629
    functionName: g_int64_equal
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_int64_equal (gconstpointer v1, gconstpointer v2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - v
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2695
      start: 2688
    functionDepth: 0
    functionLinenumber: 2688
    functionLinenumberEnd: 2695
    functionName: g_double_hash
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint
    signature: 'guint g_double_hash (gconstpointer v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iter_remove_or_steal
      Src: /src/glib/glib/ghash.c:1219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GHashTableIter*
    constantsTouched: []
    func_position:
      end: 1220
      start: 1216
    functionDepth: 0
    functionLinenumber: 1216
    functionLinenumberEnd: 1220
    functionName: g_hash_table_iter_remove
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - iter_remove_or_steal
    linkageType: ''
    returnType: void
    signature: 'void g_hash_table_iter_remove (GHashTableIter *iter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_insert_internal
      Src: /src/glib/glib/ghash.c:1633,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - hash_table
    - key
    - value
    argTypes:
    - GHashTable*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1634
      start: 1628
    functionDepth: 0
    functionLinenumber: 1628
    functionLinenumberEnd: 1634
    functionName: g_hash_table_replace
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_hash_table_insert_internal
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_hash_table_replace (GHashTable *hash_table, gpointer key,
      gpointer value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghash.c:1714,1
    - Dst: g_hash_table_maybe_resize
      Src: /src/glib/glib/ghash.c:1722,1
    - Dst: HASH_IS_REAL
      Src: /src/glib/glib/ghash.c:1718,1
    - Dst: g_hash_table_remove_node
      Src: /src/glib/glib/ghash.c:1721,1
    - Dst: g_hash_table_lookup_node
      Src: /src/glib/glib/ghash.c:1716,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - hash_table
    - key
    - notify
    argTypes:
    - GHashTable*
    - gconstpointer
    - gboolean
    constantsTouched: []
    func_position:
      end: 1729
      start: 1706
    functionDepth: 0
    functionLinenumber: 1706
    functionLinenumberEnd: 1729
    functionName: g_hash_table_remove_internal
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_hash_table_lookup_node
    - g_hash_table_maybe_resize
    - HASH_IS_REAL
    - g_hash_table_remove_node
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_hash_table_remove_internal (GHashTable *hash_table,
      gconstpointer key, gboolean notify) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghash.c:2113,1
    - Dst: g_hash_table_fetch_key_or_value
      Src: /src/glib/glib/ghash.c:2124,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghash.c:2114,1
    - Dst: HASH_IS_REAL
      Src: /src/glib/glib/ghash.c:2126,1
    - Dst: g_hash_table_fetch_key_or_value
      Src: /src/glib/glib/ghash.c:2123,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/ghash.c:2130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - hash_table
    - func
    - user_data
    argTypes:
    - GHashTable*
    - GHFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 2133
      start: 2103
    functionDepth: 0
    functionLinenumber: 2103
    functionLinenumberEnd: 2133
    functionName: g_hash_table_foreach
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_hash_table_fetch_key_or_value
    - HASH_IS_REAL
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_hash_table_foreach (GHashTable *hash_table, GHFunc func, gpointer
      user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghash.c:2172,1
    - Dst: HASH_IS_REAL
      Src: /src/glib/glib/ghash.c:2187,1
    - Dst: g_hash_table_fetch_key_or_value
      Src: /src/glib/glib/ghash.c:2185,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghash.c:2173,1
    - Dst: g_hash_table_fetch_key_or_value
      Src: /src/glib/glib/ghash.c:2184,1
    - Dst: predicate
      Src: /src/glib/glib/ghash.c:2188,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghash.c:2191,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - hash_table
    - predicate
    - user_data
    argTypes:
    - GHashTable*
    - GHRFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 2199
      start: 2161
    functionDepth: 0
    functionLinenumber: 2161
    functionLinenumberEnd: 2199
    functionName: g_hash_table_find
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_hash_table_fetch_key_or_value
    - g_return_val_if_fail
    - predicate
    - HASH_IS_REAL
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_hash_table_find (GHashTable *hash_table, GHRFunc predicate,
      gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghash.c:2326,1
    - Dst: g_ptr_array_sized_new
      Src: /src/glib/glib/ghash.c:2328,1
    - Dst: HASH_IS_REAL
      Src: /src/glib/glib/ghash.c:2331,1
    - Dst: g_hash_table_fetch_key_or_value
      Src: /src/glib/glib/ghash.c:2333,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/ghash.c:2333,1
    - Dst: g_assert
      Src: /src/glib/glib/ghash.c:2337,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2340
      start: 2321
    functionDepth: 0
    functionLinenumber: 2321
    functionLinenumberEnd: 2340
    functionName: g_hash_table_get_keys_as_ptr_array
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_ptr_array_sized_new
    - g_return_val_if_fail
    - g_assert
    - g_hash_table_fetch_key_or_value
    - HASH_IS_REAL
    - g_ptr_array_add
    linkageType: ''
    returnType: GPtrArray*
    signature: 'GPtrArray *g_hash_table_get_keys_as_ptr_array (GHashTable *hash_table) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/ghash.c:2496,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2497
      start: 2493
    functionDepth: 0
    functionLinenumber: 2493
    functionLinenumberEnd: 2497
    functionName: g_direct_hash
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_UINT
    linkageType: ''
    returnType: guint
    signature: 'guint g_direct_hash (gconstpointer v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - v
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2607
      start: 2603
    functionDepth: 0
    functionLinenumber: 2603
    functionLinenumberEnd: 2607
    functionName: g_uint_hash
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint
    signature: 'guint g_uint_hash (gconstpointer v) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/ghash.c:352,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - a
    - index
    - is_big
    - v
    argTypes:
    - gpointer
    - guint
    - gboolean
    - gpointer
    constantsTouched: []
    func_position:
      end: 353
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 353
    functionName: g_hash_table_assign_key_or_value
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_UINT
    linkageType: ''
    returnType: void
    signature: 'static inline void g_hash_table_assign_key_or_value (gpointer a, guint
      index, gboolean is_big, gpointer v) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/glib/glib/ghash.c:597,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/ghash.c:628,1
    - Dst: g_hash_table_setup_storage
      Src: /src/glib/glib/ghash.c:633,1
    - Dst: HASH_IS_REAL
      Src: /src/glib/glib/ghash.c:641,1
    - Dst: g_hash_table_assign_key_or_value
      Src: /src/glib/glib/ghash.c:649,1
    - Dst: g_free
      Src: /src/glib/glib/ghash.c:661,1
    - Dst: memset
      Src: /src/glib/glib/ghash.c:593,1
    - Dst: g_hash_table_assign_key_or_value
      Src: /src/glib/glib/ghash.c:648,1
    - Dst: g_hash_table_fetch_key_or_value
      Src: /src/glib/glib/ghash.c:643,1
    - Dst: memset
      Src: /src/glib/glib/ghash.c:594,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/ghash.c:627,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/ghash.c:629,1
    - Dst: g_hash_table_fetch_key_or_value
      Src: /src/glib/glib/ghash.c:644,1
    - Dst: g_free
      Src: /src/glib/glib/ghash.c:663,1
    - Dst: memset
      Src: /src/glib/glib/ghash.c:590,1
    - Dst: memset
      Src: /src/glib/glib/ghash.c:596,1
    - Dst: g_free
      Src: /src/glib/glib/ghash.c:664,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 3
    argNames:
    - hash_table
    - notify
    - destruction
    argTypes:
    - GHashTable*
    - gboolean
    - gboolean
    constantsTouched: []
    func_position:
      end: 665
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 665
    functionName: g_hash_table_remove_all_nodes
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_hash_table_setup_storage
    - g_free
    - g_hash_table_assign_key_or_value
    - g_hash_table_fetch_key_or_value
    - HASH_IS_REAL
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void g_hash_table_remove_all_nodes (GHashTable *hash_table,
      gboolean notify, gboolean destruction) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_set_shift_from_size
      Src: /src/glib/glib/ghash.c:820,1
    - Dst: memset
      Src: /src/glib/glib/ghash.c:825,1
    - Dst: g_new0
      Src: /src/glib/glib/ghash.c:827,1
    - Dst: realloc_arrays
      Src: /src/glib/glib/ghash.c:824,1
    - Dst: g_new0
      Src: /src/glib/glib/ghash.c:831,1
    - Dst: resize_set
      Src: /src/glib/glib/ghash.c:835,1
    - Dst: resize_map
      Src: /src/glib/glib/ghash.c:837,1
    - Dst: g_free
      Src: /src/glib/glib/ghash.c:839,1
    - Dst: realloc_arrays
      Src: /src/glib/glib/ghash.c:842,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 1
    argNames:
    - hash_table
    argTypes:
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 845
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 845
    functionName: g_hash_table_resize
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - realloc_arrays
    - resize_set
    - resize_map
    - g_free
    - g_hash_table_set_shift_from_size
    - g_new0
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void g_hash_table_resize (GHashTable *hash_table) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_resize
      Src: /src/glib/glib/ghash.c:864,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - hash_table
    argTypes:
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 865
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 865
    functionName: g_hash_table_maybe_resize
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_hash_table_resize
    linkageType: ''
    returnType: void
    signature: 'static inline void g_hash_table_maybe_resize (GHashTable *hash_table) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/ghash.c:983,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 984
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 984
    functionName: g_hash_table_new
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_hash_table_new_full
    linkageType: ''
    returnType: GHashTable*
    signature: 'GHashTable *g_hash_table_new (GHashFunc hash_func, GEqualFunc key_equal_func) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghash.c:1522,1
    - Dst: HASH_IS_REAL
      Src: /src/glib/glib/ghash.c:1526,1
    - Dst: g_hash_table_fetch_key_or_value
      Src: /src/glib/glib/ghash.c:1540,1
    - Dst: g_hash_table_lookup_node
      Src: /src/glib/glib/ghash.c:1524,1
    - Dst: g_hash_table_fetch_key_or_value
      Src: /src/glib/glib/ghash.c:1537,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 4
    argNames:
    - hash_table
    - lookup_key
    - orig_key
    - value
    argTypes:
    - GHashTable*
    - gconstpointer
    - gpointer*
    - gpointer*
    constantsTouched: []
    func_position:
      end: 1543
      start: 1513
    functionDepth: 0
    functionLinenumber: 1513
    functionLinenumberEnd: 1543
    functionName: g_hash_table_lookup_extended
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_hash_table_fetch_key_or_value
    - g_hash_table_lookup_node
    - HASH_IS_REAL
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_hash_table_lookup_extended (GHashTable *hash_table, gconstpointer
      lookup_key, gpointer *orig_key, gpointer *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_insert_internal
      Src: /src/glib/glib/ghash.c:1665,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - hash_table
    - key
    argTypes:
    - GHashTable*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1666
      start: 1661
    functionDepth: 0
    functionLinenumber: 1661
    functionLinenumberEnd: 1666
    functionName: g_hash_table_add
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_hash_table_insert_internal
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_hash_table_add (GHashTable *hash_table, gpointer key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghash.c:1918,1
    - Dst: g_hash_table_get_keys_as_ptr_array
      Src: /src/glib/glib/ghash.c:1920,1
    - Dst: g_ptr_array_set_free_func
      Src: /src/glib/glib/ghash.c:1927,1
    - Dst: g_hash_table_remove_all
      Src: /src/glib/glib/ghash.c:1929,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/ghash.c:1926,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/ghash.c:1930,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1933
      start: 1912
    functionDepth: 0
    functionLinenumber: 1912
    functionLinenumberEnd: 1933
    functionName: g_hash_table_steal_all_keys
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_return_val_if_fail
    - g_ptr_array_set_free_func
    - g_hash_table_get_keys_as_ptr_array
    - g_hash_table_remove_all
    linkageType: ''
    returnType: GPtrArray*
    signature: 'GPtrArray *g_hash_table_steal_all_keys (GHashTable *hash_table) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/ghash.c:369,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/ghash.c:370,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - a
    - index
    - is_big
    - v
    argTypes:
    - gpointer
    - guint
    - gboolean
    - gpointer
    constantsTouched: []
    func_position:
      end: 373
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 373
    functionName: g_hash_table_evict_key_or_value
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - GUINT_TO_POINTER
    - GPOINTER_TO_UINT
    linkageType: ''
    returnType: gpointer
    signature: 'static inline gpointer g_hash_table_evict_key_or_value (gpointer a,
      guint index, gboolean is_big, gpointer v) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_renew
      Src: /src/glib/glib/ghash.c:670,1
    - Dst: g_hash_table_realloc_key_or_value_array
      Src: /src/glib/glib/ghash.c:676,1
    - Dst: g_hash_table_realloc_key_or_value_array
      Src: /src/glib/glib/ghash.c:671,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - hash_table
    - is_a_set
    argTypes:
    - GHashTable*
    - gboolean
    constantsTouched: []
    func_position:
      end: 677
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 677
    functionName: realloc_arrays
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_renew
    - g_hash_table_realloc_key_or_value_array
    linkageType: ''
    returnType: void
    signature: 'static void realloc_arrays (GHashTable *hash_table, gboolean is_a_set) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghash.c:2078,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghash.c:2079,1
    - Dst: g_hash_table_foreach_remove_or_steal
      Src: /src/glib/glib/ghash.c:2081,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - hash_table
    - func
    - user_data
    argTypes:
    - GHashTable*
    - GHRFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 2082
      start: 2073
    functionDepth: 0
    functionLinenumber: 2073
    functionLinenumberEnd: 2082
    functionName: g_hash_table_foreach_steal
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_hash_table_foreach_remove_or_steal
    linkageType: ''
    returnType: guint
    signature: 'guint g_hash_table_foreach_steal (GHashTable *hash_table, GHRFunc
      func, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - v
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2563
      start: 2559
    functionDepth: 0
    functionLinenumber: 2559
    functionLinenumberEnd: 2563
    functionName: g_int_hash
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint
    signature: 'guint g_int_hash (gconstpointer v) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_memdup2
      Src: /src/glib/glib/ghash.c:914,1
    - Dst: g_hash_table_maybe_make_big_keys_or_values
      Src: /src/glib/glib/ghash.c:943,1
    - Dst: g_memdup2
      Src: /src/glib/glib/ghash.c:950,1
    - Dst: g_memdup2
      Src: /src/glib/glib/ghash.c:922,1
    - Dst: g_hash_table_maybe_make_big_keys_or_values
      Src: /src/glib/glib/ghash.c:931,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 3
    argNames:
    - hash_table
    - key
    - value
    argTypes:
    - GHashTable*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 953
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 953
    functionName: g_hash_table_ensure_keyval_fits
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_hash_table_maybe_make_big_keys_or_values
    - g_memdup2
    linkageType: ''
    returnType: void
    signature: 'static inline void g_hash_table_ensure_keyval_fits (GHashTable *hash_table,
      gpointer key, gpointer value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghash.c:2051,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghash.c:2052,1
    - Dst: g_hash_table_foreach_remove_or_steal
      Src: /src/glib/glib/ghash.c:2054,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - hash_table
    - func
    - user_data
    argTypes:
    - GHashTable*
    - GHRFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 2055
      start: 2046
    functionDepth: 0
    functionLinenumber: 2046
    functionLinenumberEnd: 2055
    functionName: g_hash_table_foreach_remove
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_hash_table_foreach_remove_or_steal
    linkageType: ''
    returnType: guint
    signature: 'guint g_hash_table_foreach_remove (GHashTable *hash_table, GHRFunc
      func, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/glib/ghash.c:2288,1
    - Dst: g_assert
      Src: /src/glib/glib/ghash.c:2294,1
    - Dst: HASH_IS_REAL
      Src: /src/glib/glib/ghash.c:2291,1
    - Dst: g_hash_table_fetch_key_or_value
      Src: /src/glib/glib/ghash.c:2292,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2301
      start: 2281
    functionDepth: 0
    functionLinenumber: 2281
    functionLinenumberEnd: 2301
    functionName: g_hash_table_get_keys_as_array
    functionSourceFile: /src/glib/glib/ghash.c
    functionUses: []
    functionsReached:
    - g_hash_table_fetch_key_or_value
    - HASH_IS_REAL
    - g_assert
    - g_new
    linkageType: ''
    returnType: gpointer*
    signature: 'gpointer *g_hash_table_get_keys_as_array (GHashTable *hash_table,
      guint *length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: typedef
    functionSourceFile: /src/glib/glib/glib-unix.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GLIB_AVAILABLE_TYPE_IN_2_80
    signature: 'GLIB_AVAILABLE_TYPE_IN_2_80 typedef struct '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - self
    - end
    argTypes:
    - GUnixPipe*
    - GUnixPipeEnd
    constantsTouched: []
    func_position:
      end: 228
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 228
    functionName: g_unix_pipe_get
    functionSourceFile: /src/glib/glib/glib-unix.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GLIB_AVAILABLE_STATIC_INLINE_IN_2_80
    signature: 'GLIB_AVAILABLE_STATIC_INLINE_IN_2_80 static inline int g_unix_pipe_get
      (GUnixPipe *self, GUnixPipeEnd end) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_open_pipe
      Src: /src/glib/glib/glib-unix.h:196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - self
    - flags
    - error
    argTypes:
    - GUnixPipe*
    - int
    - GError**
    constantsTouched: []
    func_position:
      end: 197
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 197
    functionName: g_unix_pipe_open
    functionSourceFile: /src/glib/glib/glib-unix.h
    functionUses: []
    functionsReached:
    - g_unix_open_pipe
    linkageType: ''
    returnType: GLIB_AVAILABLE_STATIC_INLINE_IN_2_80
    signature: 'GLIB_AVAILABLE_STATIC_INLINE_IN_2_80 static inline gboolean g_unix_pipe_open
      (GUnixPipe *self, int flags, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_steal_fd
      Src: /src/glib/glib/glib-unix.h:260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - self
    - end
    argTypes:
    - GUnixPipe*
    - GUnixPipeEnd
    constantsTouched: []
    func_position:
      end: 261
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 261
    functionName: g_unix_pipe_steal
    functionSourceFile: /src/glib/glib/glib-unix.h
    functionUses: []
    functionsReached:
    - g_steal_fd
    linkageType: ''
    returnType: GLIB_AVAILABLE_STATIC_INLINE_IN_2_80
    signature: 'GLIB_AVAILABLE_STATIC_INLINE_IN_2_80 static inline int g_unix_pipe_steal
      (GUnixPipe *self, GUnixPipeEnd end) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_fd
      Src: /src/glib/glib/glib-unix.h:301,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - self
    - end
    - error
    argTypes:
    - GUnixPipe*
    - GUnixPipeEnd
    - GError**
    constantsTouched: []
    func_position:
      end: 302
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 302
    functionName: g_unix_pipe_close
    functionSourceFile: /src/glib/glib/glib-unix.h
    functionUses: []
    functionsReached:
    - g_clear_fd
    linkageType: ''
    returnType: GLIB_AVAILABLE_STATIC_INLINE_IN_2_80
    signature: 'GLIB_AVAILABLE_STATIC_INLINE_IN_2_80 static inline gboolean g_unix_pipe_close
      (GUnixPipe *self, GUnixPipeEnd end, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_pipe_close
      Src: /src/glib/glib/glib-unix.h:334,1
    - Dst: g_unix_pipe_close
      Src: /src/glib/glib/glib-unix.h:339,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - self
    argTypes:
    - GUnixPipe*
    constantsTouched: []
    func_position:
      end: 345
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 345
    functionName: g_unix_pipe_clear
    functionSourceFile: /src/glib/glib/glib-unix.h
    functionUses: []
    functionsReached:
    - g_unix_pipe_close
    linkageType: ''
    returnType: GLIB_AVAILABLE_STATIC_INLINE_IN_2_80
    signature: 'GLIB_AVAILABLE_STATIC_INLINE_IN_2_80 static inline void g_unix_pipe_clear
      (GUnixPipe *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbase64.c:245,1
    - Dst: g_base64_encode_step
      Src: /src/glib/glib/gbase64.c:253,1
    - Dst: g_malloc
      Src: /src/glib/glib/gbase64.c:251,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbase64.c:249,1
    - Dst: g_base64_encode_close
      Src: /src/glib/glib/gbase64.c:254,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 258
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 258
    functionName: g_base64_encode
    functionSourceFile: /src/glib/glib/gbase64.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_base64_encode_close
    - g_malloc
    - g_base64_encode_step
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_base64_encode (const guchar *data, gsize len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbase64.c:191,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbase64.c:192,1
    - Dst: g_assert
      Src: /src/glib/glib/gbase64.c:202,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbase64.c:193,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 4
    argNames:
    - break_lines
    - out
    - state
    - save
    argTypes:
    - gboolean
    - gchar*
    - gint*
    - gint*
    constantsTouched: []
    func_position:
      end: 221
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 221
    functionName: g_base64_encode_close
    functionSourceFile: /src/glib/glib/gbase64.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_return_val_if_fail
    linkageType: ''
    returnType: gsize
    signature: 'gsize g_base64_encode_close (gboolean break_lines, gchar *out, gint
      *state, gint *save) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbase64.c:394,1
    - Dst: strlen
      Src: /src/glib/glib/gbase64.c:397,1
    - Dst: g_malloc0
      Src: /src/glib/glib/gbase64.c:401,1
    - Dst: g_base64_decode_step
      Src: /src/glib/glib/gbase64.c:403,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbase64.c:395,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 406
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 406
    functionName: g_base64_decode
    functionSourceFile: /src/glib/glib/gbase64.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_base64_decode_step
    - strlen
    - g_malloc0
    linkageType: ''
    returnType: guchar*
    signature: 'guchar *g_base64_decode (const gchar *text, gsize *out_len) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbase64.c:80,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbase64.c:81,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbase64.c:83,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbase64.c:82,1
    - Dst: g_assert
      Src: /src/glib/glib/gbase64.c:140,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 67
    argCount: 6
    argNames:
    - in
    - len
    - break_lines
    - out
    - state
    - save
    argTypes:
    - guchar*
    - gsize
    - gboolean
    - gchar*
    - gint*
    - gint*
    constantsTouched: []
    func_position:
      end: 161
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 161
    functionName: g_base64_encode_step
    functionSourceFile: /src/glib/glib/gbase64.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_return_val_if_fail
    linkageType: ''
    returnType: gsize
    signature: 'gsize g_base64_encode_step (const guchar *in, gsize len, gboolean
      break_lines, gchar *out, gint *state, gint *save) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbase64.c:315,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbase64.c:317,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbase64.c:316,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbase64.c:318,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 5
    argNames:
    - in
    - len
    - out
    - state
    - save
    argTypes:
    - gchar*
    - gsize
    - guchar*
    - gint*
    - guint*
    constantsTouched: []
    func_position:
      end: 367
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 367
    functionName: g_base64_decode_step
    functionSourceFile: /src/glib/glib/gbase64.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gsize
    signature: 'gsize g_base64_decode_step (const gchar *in, gsize len, guchar *out,
      gint *state, guint *save) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbase64.c:430,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbase64.c:435,1
    - Dst: g_base64_decode_step
      Src: /src/glib/glib/gbase64.c:437,1
    - Dst: strlen
      Src: /src/glib/glib/gbase64.c:433,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbase64.c:431,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 440
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 440
    functionName: g_base64_decode_inplace
    functionSourceFile: /src/glib/glib/gbase64.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_base64_decode_step
    - strlen
    linkageType: ''
    returnType: guchar*
    signature: 'guchar *g_base64_decode_inplace (gchar *text, gsize *out_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROP
      Src: /src/glib/glib/gunibreak.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - gunichar
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: g_unichar_break_type
    functionSourceFile: /src/glib/glib/gunibreak.c
    functionUses: []
    functionsReached:
    - PROP
    linkageType: ''
    returnType: GUnicodeBreakType
    signature: 'GUnicodeBreakType g_unichar_break_type (gunichar c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gtrace.c:91,1
    - Dst: sysprof_collector_mark_vprintf
      Src: /src/glib/glib/gtrace.c:92,1
    - Dst: va_end
      Src: /src/glib/glib/gtrace.c:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 5
    argNames:
    - begin_time_nsec
    - duration_nsec
    - group
    - name
    - message_format
    - '...'
    argTypes:
    - gint64
    - gint64
    - gchar*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 95
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 95
    functionName: (g_trace_mark)
    functionSourceFile: /src/glib/glib/gtrace.c
    functionUses: []
    functionsReached:
    - sysprof_collector_mark_vprintf
    - va_start
    - va_end
    linkageType: ''
    returnType: void
    signature: 'void (g_trace_mark) (gint64 begin_time_nsec, gint64 duration_nsec,
      const gchar *group, const gchar *name, const gchar *message_format, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sysprof_collector_request_counters
      Src: /src/glib/glib/gtrace.c:124,1
    - Dst: sysprof_collector_define_counters
      Src: /src/glib/glib/gtrace.c:136,1
    - Dst: g_strlcpy
      Src: /src/glib/glib/gtrace.c:132,1
    - Dst: g_strlcpy
      Src: /src/glib/glib/gtrace.c:133,1
    - Dst: g_strlcpy
      Src: /src/glib/glib/gtrace.c:134,1
    - Dst: g_assert
      Src: /src/glib/glib/gtrace.c:138,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - group
    - name
    - description
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 144
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 144
    functionName: (g_trace_define_int64_counter)
    functionSourceFile: /src/glib/glib/gtrace.c
    functionUses: []
    functionsReached:
    - g_strlcpy
    - g_assert
    - sysprof_collector_request_counters
    - sysprof_collector_define_counters
    linkageType: ''
    returnType: guint
    signature: 'guint (g_trace_define_int64_counter) (const char *group, const char
      *name, const char *description) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtrace.c:165,1
    - Dst: sysprof_collector_set_counters
      Src: /src/glib/glib/gtrace.c:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - id
    - val
    argTypes:
    - guint
    - gint64
    constantsTouched: []
    func_position:
      end: 174
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 174
    functionName: (g_trace_set_int64_counter)
    functionSourceFile: /src/glib/glib/gtrace.c
    functionUses: []
    functionsReached:
    - sysprof_collector_set_counters
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void (g_trace_set_int64_counter) (guint id, gint64 val) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gthreadpool.c:690,1
    - Dst: g_async_queue_lock
      Src: /src/glib/glib/gthreadpool.c:695,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gthreadpool.c:691,1
    - Dst: g_thread_pool_start_thread
      Src: /src/glib/glib/gthreadpool.c:702,1
    - Dst: g_async_queue_length_unlocked
      Src: /src/glib/glib/gthreadpool.c:697,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gthreadpool.c:704,1
    - Dst: g_thread_pool_queue_push_unlocked
      Src: /src/glib/glib/gthreadpool.c:709,1
    - Dst: g_async_queue_unlock
      Src: /src/glib/glib/gthreadpool.c:710,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - pool
    - data
    - error
    argTypes:
    - GThreadPool*
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 713
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 713
    functionName: g_thread_pool_push
    functionSourceFile: /src/glib/glib/gthreadpool.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_async_queue_lock
    - g_return_val_if_fail
    - g_async_queue_unlock
    - g_thread_pool_start_thread
    - g_thread_pool_queue_push_unlocked
    - g_async_queue_length_unlocked
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_thread_pool_push (GThreadPool *pool, gpointer data, GError
      **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gthreadpool.c:991,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gthreadpool.c:997,1
    - Dst: g_atomic_int_set
      Src: /src/glib/glib/gthreadpool.c:1000,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gthreadpool.c:1001,1
    - Dst: g_atomic_int_set
      Src: /src/glib/glib/gthreadpool.c:993,1
    - Dst: g_async_queue_lock
      Src: /src/glib/glib/gthreadpool.c:1003,1
    - Dst: g_async_queue_push_unlocked
      Src: /src/glib/glib/gthreadpool.c:1007,1
    - Dst: g_async_queue_unlock
      Src: /src/glib/glib/gthreadpool.c:1012,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - max_threads
    argTypes:
    - gint
    constantsTouched: []
    func_position:
      end: 1015
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 1015
    functionName: g_thread_pool_set_max_unused_threads
    functionSourceFile: /src/glib/glib/gthreadpool.c
    functionUses: []
    functionsReached:
    - g_async_queue_lock
    - g_atomic_int_get
    - g_return_if_fail
    - g_async_queue_unlock
    - g_atomic_int_set
    - g_async_queue_push_unlocked
    - g_atomic_int_inc
    linkageType: ''
    returnType: void
    signature: 'void g_thread_pool_set_max_unused_threads (gint max_threads) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_async_queue_lock
      Src: /src/glib/glib/gthreadpool.c:424,1
    - Dst: g_snprintf
      Src: /src/glib/glib/gthreadpool.c:447,1
    - Dst: g_async_queue_length_unlocked
      Src: /src/glib/glib/gthreadpool.c:426,1
    - Dst: g_async_queue_push_unlocked
      Src: /src/glib/glib/gthreadpool.c:428,1
    - Dst: g_async_queue_unlock
      Src: /src/glib/glib/gthreadpool.c:432,1
    - Dst: g_atomic_int_add
      Src: /src/glib/glib/gthreadpool.c:447,1
    - Dst: g_thread_try_new
      Src: /src/glib/glib/gthreadpool.c:449,1
    - Dst: g_async_queue_lock
      Src: /src/glib/glib/gthreadpool.c:460,1
    - Dst: g_async_queue_push_unlocked
      Src: /src/glib/glib/gthreadpool.c:462,1
    - Dst: g_cond_wait
      Src: /src/glib/glib/gthreadpool.c:465,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gthreadpool.c:469,1
    - Dst: g_thread_unref
      Src: /src/glib/glib/gthreadpool.c:476,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gthreadpool.c:469,1
    - Dst: g_async_queue_unlock
      Src: /src/glib/glib/gthreadpool.c:470,1
    - Dst: _g_async_queue_get_mutex
      Src: /src/glib/glib/gthreadpool.c:465,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 2
    argNames:
    - pool
    - error
    argTypes:
    - GRealThreadPool*
    - GError**
    constantsTouched: []
    func_position:
      end: 485
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 485
    functionName: g_thread_pool_start_thread
    functionSourceFile: /src/glib/glib/gthreadpool.c
    functionUses: []
    functionsReached:
    - g_thread_try_new
    - g_propagate_error
    - g_steal_pointer
    - g_async_queue_lock
    - g_async_queue_unlock
    - g_thread_unref
    - g_atomic_int_add
    - g_async_queue_push_unlocked
    - g_snprintf
    - g_async_queue_length_unlocked
    - _g_async_queue_get_mutex
    - g_cond_wait
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_thread_pool_start_thread (GRealThreadPool *pool,
      GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gthreadpool.c:895,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gthreadpool.c:896,1
    - Dst: g_async_queue_lock
      Src: /src/glib/glib/gthreadpool.c:905,1
    - Dst: g_async_queue_length
      Src: /src/glib/glib/gthreadpool.c:903,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gthreadpool.c:901,1
    - Dst: g_async_queue_length_unlocked
      Src: /src/glib/glib/gthreadpool.c:913,1
    - Dst: g_cond_wait
      Src: /src/glib/glib/gthreadpool.c:915,1
    - Dst: _g_async_queue_get_mutex
      Src: /src/glib/glib/gthreadpool.c:915,1
    - Dst: g_async_queue_length_unlocked
      Src: /src/glib/glib/gthreadpool.c:918,1
    - Dst: g_async_queue_unlock
      Src: /src/glib/glib/gthreadpool.c:926,1
    - Dst: g_thread_pool_free_internal
      Src: /src/glib/glib/gthreadpool.c:927,1
    - Dst: g_thread_pool_wakeup_and_stop_all
      Src: /src/glib/glib/gthreadpool.c:931,1
    - Dst: g_async_queue_unlock
      Src: /src/glib/glib/gthreadpool.c:936,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 3
    argNames:
    - pool
    - immediate
    - wait_
    argTypes:
    - GThreadPool*
    - gboolean
    - gboolean
    constantsTouched: []
    func_position:
      end: 937
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 937
    functionName: g_thread_pool_free
    functionSourceFile: /src/glib/glib/gthreadpool.c
    functionUses: []
    functionsReached:
    - g_async_queue_lock
    - g_async_queue_length
    - g_thread_pool_free_internal
    - g_return_if_fail
    - g_async_queue_unlock
    - g_async_queue_length_unlocked
    - g_thread_pool_wakeup_and_stop_all
    - _g_async_queue_get_mutex
    - g_cond_wait
    linkageType: ''
    returnType: void
    signature: 'void g_thread_pool_free (GThreadPool *pool, gboolean immediate, gboolean
      wait_) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gthreadpool.c:1040,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1041
      start: 1037
    functionDepth: 0
    functionLinenumber: 1037
    functionLinenumberEnd: 1041
    functionName: g_thread_pool_get_num_unused_threads
    functionSourceFile: /src/glib/glib/gthreadpool.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    linkageType: ''
    returnType: guint
    signature: 'guint g_thread_pool_get_num_unused_threads (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gthreadpool.c:1093,1
    - Dst: g_async_queue_sort_unlocked
      Src: /src/glib/glib/gthreadpool.c:1102,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gthreadpool.c:1094,1
    - Dst: g_async_queue_lock
      Src: /src/glib/glib/gthreadpool.c:1096,1
    - Dst: g_async_queue_unlock
      Src: /src/glib/glib/gthreadpool.c:1106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - pool
    - func
    - user_data
    argTypes:
    - GThreadPool*
    - GCompareDataFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 1107
      start: 1084
    functionDepth: 0
    functionLinenumber: 1084
    functionLinenumberEnd: 1107
    functionName: g_thread_pool_set_sort_function
    functionSourceFile: /src/glib/glib/gthreadpool.c
    functionUses: []
    functionsReached:
    - g_async_queue_lock
    - g_async_queue_unlock
    - g_async_queue_sort_unlocked
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_thread_pool_set_sort_function (GThreadPool *pool, GCompareDataFunc
      func, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_async_queue_lock
      Src: /src/glib/glib/gthreadpool.c:1128,1
    - Dst: g_async_queue_remove_unlocked
      Src: /src/glib/glib/gthreadpool.c:1130,1
    - Dst: g_async_queue_push_front_unlocked
      Src: /src/glib/glib/gthreadpool.c:1132,1
    - Dst: g_async_queue_unlock
      Src: /src/glib/glib/gthreadpool.c:1134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pool
    - data
    argTypes:
    - GThreadPool*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1137
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1137
    functionName: g_thread_pool_move_to_front
    functionSourceFile: /src/glib/glib/gthreadpool.c
    functionUses: []
    functionsReached:
    - g_async_queue_push_front_unlocked
    - g_async_queue_lock
    - g_async_queue_unlock
    - g_async_queue_remove_unlocked
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_thread_pool_move_to_front (GThreadPool *pool, gpointer
      data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gthreadpool.c:942,1
    - Dst: g_async_queue_remove
      Src: /src/glib/glib/gthreadpool.c:949,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gthreadpool.c:943,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/gthreadpool.c:949,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gthreadpool.c:944,1
    - Dst: g_async_queue_unref
      Src: /src/glib/glib/gthreadpool.c:951,1
    - Dst: g_cond_clear
      Src: /src/glib/glib/gthreadpool.c:952,1
    - Dst: g_free
      Src: /src/glib/glib/gthreadpool.c:954,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pool
    argTypes:
    - GRealThreadPool*
    constantsTouched: []
    func_position:
      end: 955
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 955
    functionName: g_thread_pool_free_internal
    functionSourceFile: /src/glib/glib/gthreadpool.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - GUINT_TO_POINTER
    - g_cond_clear
    - g_async_queue_unref
    - g_async_queue_remove
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void g_thread_pool_free_internal (GRealThreadPool* pool) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gthreadpool.c:1027,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1028
      start: 1024
    functionDepth: 0
    functionLinenumber: 1024
    functionLinenumberEnd: 1028
    functionName: g_thread_pool_get_max_unused_threads
    functionSourceFile: /src/glib/glib/gthreadpool.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    linkageType: ''
    returnType: gint
    signature: 'gint g_thread_pool_get_max_unused_threads (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_pool_get_max_unused_threads
      Src: /src/glib/glib/gthreadpool.c:1055,1
    - Dst: g_thread_pool_set_max_unused_threads
      Src: /src/glib/glib/gthreadpool.c:1057,1
    - Dst: g_thread_pool_set_max_unused_threads
      Src: /src/glib/glib/gthreadpool.c:1058,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1059
      start: 1050
    functionDepth: 0
    functionLinenumber: 1050
    functionLinenumberEnd: 1059
    functionName: g_thread_pool_stop_unused_threads
    functionSourceFile: /src/glib/glib/gthreadpool.c
    functionUses: []
    functionsReached:
    - g_thread_pool_get_max_unused_threads
    - g_thread_pool_set_max_unused_threads
    linkageType: ''
    returnType: void
    signature: 'void g_thread_pool_stop_unused_threads (void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gthreadpool.c:151,1
    - Dst: g_thread_self
      Src: /src/glib/glib/gthreadpool.c:166,1
    - Dst: g_async_queue_timeout_pop
      Src: /src/glib/glib/gthreadpool.c:168,1
    - Dst: g_thread_self
      Src: /src/glib/glib/gthreadpool.c:174,1
    - Dst: DEBUG_MSG
      Src: /src/glib/glib/gthreadpool.c:188,1
    - Dst: g_usleep
      Src: /src/glib/glib/gthreadpool.c:199,1
    - Dst: g_thread_self
      Src: /src/glib/glib/gthreadpool.c:211,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gthreadpool.c:152,1
    - Dst: DEBUG_MSG
      Src: /src/glib/glib/gthreadpool.c:174,1
    - Dst: g_async_queue_pop
      Src: /src/glib/glib/gthreadpool.c:175,1
    - Dst: DEBUG_MSG
      Src: /src/glib/glib/gthreadpool.c:210,1
    - Dst: DEBUG_MSG
      Src: /src/glib/glib/gthreadpool.c:165,1
    - Dst: g_async_queue_push
      Src: /src/glib/glib/gthreadpool.c:192,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gthreadpool.c:213,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gthreadpool.c:157,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gthreadpool.c:153,1
    - Dst: g_atomic_int_add
      Src: /src/glib/glib/gthreadpool.c:204,1
    - Dst: g_thread_self
      Src: /src/glib/glib/gthreadpool.c:190,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gthreadpool.c:180,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gthreadpool.c:214,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 224
    functionName: g_thread_pool_wait_for_new_pool
    functionSourceFile: /src/glib/glib/gthreadpool.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_async_queue_timeout_pop
    - g_usleep
    - g_atomic_int_add
    - DEBUG_MSG
    - g_async_queue_pop
    - g_async_queue_push
    - g_thread_self
    linkageType: ''
    returnType: GRealThreadPool*
    signature: 'static GRealThreadPool *g_thread_pool_wait_for_new_pool (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_snprintf
      Src: /src/glib/glib/gthreadpool.c:289,1
    - Dst: g_thread_try_new
      Src: /src/glib/glib/gthreadpool.c:297,1
    - Dst: g_atomic_int_add
      Src: /src/glib/glib/gthreadpool.c:289,1
    - Dst: g_async_queue_lock
      Src: /src/glib/glib/gthreadpool.c:291,1
    - Dst: g_async_queue_pop_unlocked
      Src: /src/glib/glib/gthreadpool.c:296,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gthreadpool.c:299,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gthreadpool.c:300,1
    - Dst: g_cond_broadcast
      Src: /src/glib/glib/gthreadpool.c:302,1
    - Dst: g_async_queue_unlock
      Src: /src/glib/glib/gthreadpool.c:303,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 307
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 307
    functionName: g_thread_pool_spawn_thread
    functionSourceFile: /src/glib/glib/gthreadpool.c
    functionUses: []
    functionsReached:
    - g_thread_try_new
    - g_steal_pointer
    - g_async_queue_lock
    - g_cond_broadcast
    - g_async_queue_unlock
    - g_atomic_int_add
    - g_snprintf
    - g_async_queue_pop_unlocked
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer g_thread_pool_spawn_thread (gpointer data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gthreadpool.c:756,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gthreadpool.c:758,1
    - Dst: g_async_queue_lock
      Src: /src/glib/glib/gthreadpool.c:763,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gthreadpool.c:757,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gthreadpool.c:759,1
    - Dst: g_async_queue_length_unlocked
      Src: /src/glib/glib/gthreadpool.c:770,1
    - Dst: g_thread_pool_start_thread
      Src: /src/glib/glib/gthreadpool.c:776,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gthreadpool.c:778,1
    - Dst: g_async_queue_unlock
      Src: /src/glib/glib/gthreadpool.c:784,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - pool
    - max_threads
    - error
    argTypes:
    - GThreadPool*
    - gint
    - GError**
    constantsTouched: []
    func_position:
      end: 787
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 787
    functionName: g_thread_pool_set_max_threads
    functionSourceFile: /src/glib/glib/gthreadpool.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_async_queue_lock
    - g_return_val_if_fail
    - g_async_queue_unlock
    - g_thread_pool_start_thread
    - g_async_queue_length_unlocked
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_thread_pool_set_max_threads (GThreadPool *pool, gint max_threads,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gthreadpool.c:857,1
    - Dst: MAX
      Src: /src/glib/glib/gthreadpool.c:862,1
    - Dst: g_async_queue_length
      Src: /src/glib/glib/gthreadpool.c:860,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gthreadpool.c:858,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pool
    argTypes:
    - GThreadPool*
    constantsTouched: []
    func_position:
      end: 863
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 863
    functionName: g_thread_pool_unprocessed
    functionSourceFile: /src/glib/glib/gthreadpool.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_async_queue_length
    - MAX
    linkageType: ''
    returnType: guint
    signature: 'guint g_thread_pool_unprocessed (GThreadPool *pool) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gthreadpool.c:1199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1200
      start: 1196
    functionDepth: 0
    functionLinenumber: 1196
    functionLinenumberEnd: 1200
    functionName: g_thread_pool_get_max_idle_time
    functionSourceFile: /src/glib/glib/gthreadpool.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    linkageType: ''
    returnType: guint
    signature: 'guint g_thread_pool_get_max_idle_time (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_async_queue_push_sorted_unlocked
      Src: /src/glib/glib/gthreadpool.c:133,1
    - Dst: g_async_queue_push_unlocked
      Src: /src/glib/glib/gthreadpool.c:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pool
    - data
    argTypes:
    - GRealThreadPool*
    - gpointer
    constantsTouched: []
    func_position:
      end: 139
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 139
    functionName: g_thread_pool_queue_push_unlocked
    functionSourceFile: /src/glib/glib/gthreadpool.c
    functionUses: []
    functionsReached:
    - g_async_queue_push_unlocked
    - g_async_queue_push_sorted_unlocked
    linkageType: ''
    returnType: void
    signature: 'static void g_thread_pool_queue_push_unlocked (GRealThreadPool *pool,
      gpointer data) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_MSG
      Src: /src/glib/glib/gthreadpool.c:333,1
    - Dst: g_thread_self
      Src: /src/glib/glib/gthreadpool.c:334,1
    - Dst: g_cond_broadcast
      Src: /src/glib/glib/gthreadpool.c:383,1
    - Dst: g_async_queue_unlock
      Src: /src/glib/glib/gthreadpool.c:332,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gthreadpool.c:387,1
    - Dst: g_async_queue_unlock
      Src: /src/glib/glib/gthreadpool.c:388,1
    - Dst: DEBUG_MSG
      Src: /src/glib/glib/gthreadpool.c:401,1
    - Dst: g_thread_self
      Src: /src/glib/glib/gthreadpool.c:402,1
    - Dst: g_thread_pool_wait_for_new_task
      Src: /src/glib/glib/gthreadpool.c:324,1
    - Dst: DEBUG_MSG
      Src: /src/glib/glib/gthreadpool.c:344,1
    - Dst: g_thread_pool_wakeup_and_stop_all
      Src: /src/glib/glib/gthreadpool.c:371,1
    - Dst: g_thread_self
      Src: /src/glib/glib/gthreadpool.c:345,1
    - Dst: g_async_queue_length_unlocked
      Src: /src/glib/glib/gthreadpool.c:375,1
    - Dst: g_async_queue_length_unlocked
      Src: /src/glib/glib/gthreadpool.c:369,1
    - Dst: DEBUG_MSG
      Src: /src/glib/glib/gthreadpool.c:316,1
    - Dst: g_async_queue_lock
      Src: /src/glib/glib/gthreadpool.c:318,1
    - Dst: g_thread_self
      Src: /src/glib/glib/gthreadpool.c:316,1
    - Dst: g_async_queue_lock
      Src: /src/glib/glib/gthreadpool.c:336,1
    - Dst: g_thread_pool_wait_for_new_pool
      Src: /src/glib/glib/gthreadpool.c:393,1
    - Dst: g_thread_pool_free_internal
      Src: /src/glib/glib/gthreadpool.c:391,1
    - Dst: g_atomic_int_add
      Src: /src/glib/glib/gthreadpool.c:394,1
    - Dst: g_async_queue_lock
      Src: /src/glib/glib/gthreadpool.c:399,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 412
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 412
    functionName: g_thread_pool_thread_proxy
    functionSourceFile: /src/glib/glib/gthreadpool.c
    functionUses: []
    functionsReached:
    - g_async_queue_lock
    - g_cond_broadcast
    - g_async_queue_unlock
    - g_atomic_int_add
    - DEBUG_MSG
    - g_thread_pool_wait_for_new_task
    - g_async_queue_length_unlocked
    - g_thread_self
    - g_thread_pool_wakeup_and_stop_all
    - g_atomic_int_inc
    - g_thread_pool_wait_for_new_pool
    - g_thread_pool_free_internal
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer g_thread_pool_thread_proxy (gpointer data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_async_queue_length_unlocked
      Src: /src/glib/glib/gthreadpool.c:232,1
    - Dst: DEBUG_MSG
      Src: /src/glib/glib/gthreadpool.c:246,1
    - Dst: DEBUG_MSG
      Src: /src/glib/glib/gthreadpool.c:238,1
    - Dst: g_async_queue_pop_unlocked
      Src: /src/glib/glib/gthreadpool.c:244,1
    - Dst: g_thread_self
      Src: /src/glib/glib/gthreadpool.c:239,1
    - Dst: g_thread_self
      Src: /src/glib/glib/gthreadpool.c:248,1
    - Dst: g_async_queue_length_unlocked
      Src: /src/glib/glib/gthreadpool.c:249,1
    - Dst: DEBUG_MSG
      Src: /src/glib/glib/gthreadpool.c:256,1
    - Dst: g_thread_self
      Src: /src/glib/glib/gthreadpool.c:258,1
    - Dst: g_async_queue_length_unlocked
      Src: /src/glib/glib/gthreadpool.c:259,1
    - Dst: g_async_queue_length_unlocked
      Src: /src/glib/glib/gthreadpool.c:273,1
    - Dst: g_async_queue_timeout_pop_unlocked
      Src: /src/glib/glib/gthreadpool.c:261,1
    - Dst: DEBUG_MSG
      Src: /src/glib/glib/gthreadpool.c:268,1
    - Dst: g_thread_self
      Src: /src/glib/glib/gthreadpool.c:270,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 1
    argNames:
    - pool
    argTypes:
    - GRealThreadPool*
    constantsTouched: []
    func_position:
      end: 277
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 277
    functionName: g_thread_pool_wait_for_new_task
    functionSourceFile: /src/glib/glib/gthreadpool.c
    functionUses: []
    functionsReached:
    - g_async_queue_timeout_pop_unlocked
    - DEBUG_MSG
    - g_async_queue_length_unlocked
    - g_thread_self
    - g_async_queue_pop_unlocked
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer g_thread_pool_wait_for_new_task (GRealThreadPool *pool) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_pool_new_full
      Src: /src/glib/glib/gthreadpool.c:547,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 548
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 548
    functionName: g_thread_pool_new
    functionSourceFile: /src/glib/glib/gthreadpool.c
    functionUses: []
    functionsReached:
    - g_thread_pool_new_full
    linkageType: ''
    returnType: GThreadPool*
    signature: 'GThreadPool *g_thread_pool_new (GFunc func, gpointer user_data, gint
      max_threads, gboolean exclusive, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gthreadpool.c:831,1
    - Dst: g_async_queue_unlock
      Src: /src/glib/glib/gthreadpool.c:836,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gthreadpool.c:832,1
    - Dst: g_async_queue_lock
      Src: /src/glib/glib/gthreadpool.c:834,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pool
    argTypes:
    - GThreadPool*
    constantsTouched: []
    func_position:
      end: 839
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 839
    functionName: g_thread_pool_get_num_threads
    functionSourceFile: /src/glib/glib/gthreadpool.c
    functionUses: []
    functionsReached:
    - g_async_queue_lock
    - g_return_val_if_fail
    - g_async_queue_unlock
    linkageType: ''
    returnType: guint
    signature: 'guint g_thread_pool_get_num_threads (GThreadPool *pool) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_set
      Src: /src/glib/glib/gthreadpool.c:1161,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gthreadpool.c:1166,1
    - Dst: g_async_queue_push_unlocked
      Src: /src/glib/glib/gthreadpool.c:1171,1
    - Dst: g_async_queue_lock
      Src: /src/glib/glib/gthreadpool.c:1167,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gthreadpool.c:1163,1
    - Dst: g_async_queue_unlock
      Src: /src/glib/glib/gthreadpool.c:1176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - interval
    argTypes:
    - guint
    constantsTouched: []
    func_position:
      end: 1178
      start: 1156
    functionDepth: 0
    functionLinenumber: 1156
    functionLinenumberEnd: 1178
    functionName: g_thread_pool_set_max_idle_time
    functionSourceFile: /src/glib/glib/gthreadpool.c
    functionUses: []
    functionsReached:
    - g_async_queue_lock
    - g_atomic_int_get
    - g_async_queue_unlock
    - g_async_queue_push_unlocked
    - g_atomic_int_set
    - g_atomic_int_inc
    linkageType: ''
    returnType: void
    signature: 'void g_thread_pool_set_max_idle_time (guint interval) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK_DEFINE_STATIC
      Src: /src/glib/glib/gthreadpool.c:583,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gthreadpool.c:585,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gthreadpool.c:586,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gthreadpool.c:587,1
    - Dst: g_new
      Src: /src/glib/glib/gthreadpool.c:589,1
    - Dst: g_async_queue_new_full
      Src: /src/glib/glib/gthreadpool.c:594,1
    - Dst: g_cond_init
      Src: /src/glib/glib/gthreadpool.c:595,1
    - Dst: G_LOCK
      Src: /src/glib/glib/gthreadpool.c:604,1
    - Dst: g_async_queue_new
      Src: /src/glib/glib/gthreadpool.c:606,1
    - Dst: g_async_queue_new
      Src: /src/glib/glib/gthreadpool.c:629,1
    - Dst: g_ignore_leak
      Src: /src/glib/glib/gthreadpool.c:632,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gthreadpool.c:634,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gthreadpool.c:646,1
    - Dst: g_async_queue_unlock
      Src: /src/glib/glib/gthreadpool.c:651,1
    - Dst: g_thread_new
      Src: /src/glib/glib/gthreadpool.c:631,1
    - Dst: g_async_queue_lock
      Src: /src/glib/glib/gthreadpool.c:638,1
    - Dst: g_cond_init
      Src: /src/glib/glib/gthreadpool.c:630,1
    - Dst: g_thread_pool_start_thread
      Src: /src/glib/glib/gthreadpool.c:644,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 655
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 655
    functionName: g_thread_pool_new_full
    functionSourceFile: /src/glib/glib/gthreadpool.c
    functionUses: []
    functionsReached:
    - G_LOCK_DEFINE_STATIC
    - g_async_queue_new_full
    - g_propagate_error
    - g_return_val_if_fail
    - g_async_queue_lock
    - g_new
    - g_cond_init
    - G_UNLOCK
    - g_async_queue_unlock
    - g_thread_pool_start_thread
    - g_thread_new
    - g_async_queue_new
    - g_ignore_leak
    - G_LOCK
    linkageType: ''
    returnType: GThreadPool*
    signature: 'GThreadPool *g_thread_pool_new_full (GFunc func, gpointer user_data,
      GDestroyNotify item_free_func, gint max_threads, gboolean exclusive, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gthreadpool.c:962,1
    - Dst: g_async_queue_push_unlocked
      Src: /src/glib/glib/gthreadpool.c:975,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gthreadpool.c:963,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gthreadpool.c:964,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/gthreadpool.c:975,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - pool
    argTypes:
    - GRealThreadPool*
    constantsTouched: []
    func_position:
      end: 976
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 976
    functionName: g_thread_pool_wakeup_and_stop_all
    functionSourceFile: /src/glib/glib/gthreadpool.c
    functionUses: []
    functionsReached:
    - g_async_queue_push_unlocked
    - GUINT_TO_POINTER
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void g_thread_pool_wakeup_and_stop_all (GRealThreadPool *pool) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gthreadpool.c:805,1
    - Dst: g_async_queue_unlock
      Src: /src/glib/glib/gthreadpool.c:810,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gthreadpool.c:806,1
    - Dst: g_async_queue_lock
      Src: /src/glib/glib/gthreadpool.c:808,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pool
    argTypes:
    - GThreadPool*
    constantsTouched: []
    func_position:
      end: 813
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 813
    functionName: g_thread_pool_get_max_threads
    functionSourceFile: /src/glib/glib/gthreadpool.c
    functionUses: []
    functionsReached:
    - g_async_queue_lock
    - g_return_val_if_fail
    - g_async_queue_unlock
    linkageType: ''
    returnType: gint
    signature: 'gint g_thread_pool_get_max_threads (GThreadPool *pool) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/grefstring.c:93,1
    - Dst: g_error
      Src: /src/glib/glib/grefstring.c:98,1
    - Dst: g_malloc
      Src: /src/glib/glib/grefstring.c:100,1
    - Dst: strlen
      Src: /src/glib/glib/grefstring.c:95,1
    - Dst: memcpy
      Src: /src/glib/glib/grefstring.c:104,1
    - Dst: G_REF_STRING_IMPL_TO_STR
      Src: /src/glib/glib/grefstring.c:104,1
    - Dst: G_REF_STRING_IMPL_TO_STR
      Src: /src/glib/glib/grefstring.c:106,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 107
    functionName: g_ref_string_new
    functionSourceFile: /src/glib/glib/grefstring.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_return_val_if_fail
    - strlen
    - G_REF_STRING_IMPL_TO_STR
    - g_malloc
    - g_error
    linkageType: ''
    returnType: char*
    signature: 'char *g_ref_string_new (const char *str) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/grefstring.c:129,1
    - Dst: g_error
      Src: /src/glib/glib/grefstring.c:136,1
    - Dst: memcpy
      Src: /src/glib/glib/grefstring.c:142,1
    - Dst: g_malloc
      Src: /src/glib/glib/grefstring.c:138,1
    - Dst: g_ref_string_new
      Src: /src/glib/glib/grefstring.c:132,1
    - Dst: G_REF_STRING_IMPL_TO_STR
      Src: /src/glib/glib/grefstring.c:142,1
    - Dst: G_REF_STRING_IMPL_TO_STR
      Src: /src/glib/glib/grefstring.c:143,1
    - Dst: G_REF_STRING_IMPL_TO_STR
      Src: /src/glib/glib/grefstring.c:145,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 146
    functionName: g_ref_string_new_len
    functionSourceFile: /src/glib/glib/grefstring.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_return_val_if_fail
    - g_ref_string_new
    - G_REF_STRING_IMPL_TO_STR
    - g_malloc
    - g_error
    linkageType: ''
    returnType: char*
    signature: 'char *g_ref_string_new_len (const char *str, gssize len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/grefstring.c:189,1
    - Dst: g_hash_table_new
      Src: /src/glib/glib/grefstring.c:194,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/grefstring.c:196,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/grefstring.c:193,1
    - Dst: G_LOCK
      Src: /src/glib/glib/grefstring.c:191,1
    - Dst: G_REF_STRING_IMPL_FROM_STR
      Src: /src/glib/glib/grefstring.c:199,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/grefstring.c:200,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/grefstring.c:201,1
    - Dst: g_ref_string_new
      Src: /src/glib/glib/grefstring.c:205,1
    - Dst: G_REF_STRING_IMPL_FROM_STR
      Src: /src/glib/glib/grefstring.c:206,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/grefstring.c:208,1
    - Dst: g_hash_table_add
      Src: /src/glib/glib/grefstring.c:207,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 211
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 211
    functionName: g_ref_string_new_intern
    functionSourceFile: /src/glib/glib/grefstring.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_ref_string_new
    - G_UNLOCK
    - g_hash_table_lookup
    - G_REF_STRING_IMPL_FROM_STR
    - g_hash_table_new
    - G_UNLIKELY
    - g_atomic_int_inc
    - G_LOCK
    - g_hash_table_add
    linkageType: ''
    returnType: char*
    signature: 'char *g_ref_string_new_intern (const char *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/grefstring.c:307,1
    - Dst: G_REF_STRING_IMPL_FROM_STR
      Src: /src/glib/glib/grefstring.c:309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 310
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 310
    functionName: g_ref_string_length
    functionSourceFile: /src/glib/glib/grefstring.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_REF_STRING_IMPL_FROM_STR
    linkageType: ''
    returnType: gsize
    signature: 'gsize g_ref_string_length (char *str) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_REF_STRING_IMPL_FROM_STR
      Src: /src/glib/glib/grefstring.c:332,1
    - Dst: G_REF_STRING_IMPL_FROM_STR
      Src: /src/glib/glib/grefstring.c:332,1
    - Dst: strcmp
      Src: /src/glib/glib/grefstring.c:335,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - str1
    - str2
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 336
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 336
    functionName: g_ref_string_equal
    functionSourceFile: /src/glib/glib/grefstring.c
    functionUses: []
    functionsReached:
    - strcmp
    - G_REF_STRING_IMPL_FROM_STR
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_ref_string_equal (const char *str1, const char *str2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/glib/grefstring.c:165,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 166
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 166
    functionName: interned_str_equal
    functionSourceFile: /src/glib/glib/grefstring.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean interned_str_equal (gconstpointer v1, gconstpointer
      v2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/grefstring.c:226,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/grefstring.c:228,1
    - Dst: G_REF_STRING_IMPL_FROM_STR
      Src: /src/glib/glib/grefstring.c:228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 231
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 231
    functionName: g_ref_string_acquire
    functionSourceFile: /src/glib/glib/grefstring.c
    functionUses: []
    functionsReached:
    - g_atomic_int_inc
    - g_return_val_if_fail
    - G_REF_STRING_IMPL_FROM_STR
    linkageType: ''
    returnType: char*
    signature: 'char *g_ref_string_acquire (char *str) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/grefstring.c:248,1
    - Dst: G_REF_STRING_IMPL_FROM_STR
      Src: /src/glib/glib/grefstring.c:250,1
    - Dst: g_free
      Src: /src/glib/glib/grefstring.c:256,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/glib/grefstring.c:255,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/grefstring.c:260,1
    - Dst: g_assert
      Src: /src/glib/glib/grefstring.c:261,1
    - Dst: g_atomic_int_compare_and_exchange_full
      Src: /src/glib/glib/grefstring.c:267,1
    - Dst: G_LOCK
      Src: /src/glib/glib/grefstring.c:277,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/glib/grefstring.c:279,1
    - Dst: g_hash_table_remove
      Src: /src/glib/glib/grefstring.c:283,1
    - Dst: g_assert
      Src: /src/glib/glib/grefstring.c:284,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/grefstring.c:287,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/grefstring.c:286,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/grefstring.c:291,1
    - Dst: g_free
      Src: /src/glib/glib/grefstring.c:289,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 292
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 292
    functionName: g_ref_string_release
    functionSourceFile: /src/glib/glib/grefstring.c
    functionUses: []
    functionsReached:
    - g_atomic_int_compare_and_exchange_full
    - g_atomic_int_dec_and_test
    - g_atomic_int_get
    - g_return_if_fail
    - g_assert
    - g_hash_table_remove
    - G_UNLOCK
    - G_REF_STRING_IMPL_FROM_STR
    - g_clear_pointer
    - g_hash_table_size
    - G_LOCK
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_ref_string_release (char *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_win32_get_system_data_dirs_for_module
      Src: /src/glib/glib/gutils.h:207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 208
    functionName: _g_win32_get_system_data_dirs
    functionSourceFile: /src/glib/glib/gutils.h
    functionUses: []
    functionsReached:
    - g_win32_get_system_data_dirs_for_module
    linkageType: ''
    returnType: gchar**
    signature: 'static inline const gchar * const *_g_win32_get_system_data_dirs (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gutils.h:392,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - mask
    - nth_bit
    argTypes:
    - gulong
    - gint
    constantsTouched: []
    func_position:
      end: 401
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 401
    functionName: g_bit_nth_msf_impl
    functionSourceFile: /src/glib/glib/gutils.h
    functionUses: []
    functionsReached:
    - G_UNLIKELY
    linkageType: ''
    returnType: gint
    signature: 'static inline gint g_bit_nth_msf_impl (gulong mask, gint nth_bit) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gutils.h:377,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - mask
    - nth_bit
    argTypes:
    - gulong
    - gint
    constantsTouched: []
    func_position:
      end: 386
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 386
    functionName: g_bit_nth_lsf_impl
    functionSourceFile: /src/glib/glib/gutils.h
    functionUses: []
    functionsReached:
    - G_UNLIKELY
    linkageType: ''
    returnType: gint
    signature: 'static inline gint g_bit_nth_lsf_impl (gulong mask, gint nth_bit) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LIKELY
      Src: /src/glib/glib/gutils.h:407,1
    - Dst: __builtin_clzl
      Src: /src/glib/glib/gutils.h:408,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - number
    argTypes:
    - gulong
    constantsTouched: []
    func_position:
      end: 420
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 420
    functionName: g_bit_storage_impl
    functionSourceFile: /src/glib/glib/gutils.h
    functionUses: []
    functionsReached:
    - G_LIKELY
    - __builtin_clzl
    linkageType: ''
    returnType: guint
    signature: 'static inline guint g_bit_storage_impl (gulong number) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gpattern.c:95,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gpattern.c:121,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gpattern.c:108,1
    - Dst: g_pattern_ph_match
      Src: /src/glib/glib/gpattern.c:124,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 31
    argCount: 3
    argNames:
    - match_pattern
    - match_string
    - wildcard_reached_p
    argTypes:
    - gchar*
    - gchar*
    - gboolean*
    constantsTouched: []
    func_position:
      end: 151
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 151
    functionName: g_pattern_ph_match
    functionSourceFile: /src/glib/glib/gpattern.c
    functionUses: []
    functionsReached:
    - g_pattern_ph_match
    - g_utf8_next_char
    linkageType: ''
    returnType: gboolean
    signature: "static inline gboolean g_pattern_ph_match (const gchar *match_pattern,\t\
      \t const gchar *match_string,\t\t gboolean *wildcard_reached_p) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_pattern_spec_match
      Src: /src/glib/glib/gpattern.c:275,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - pspec
    - string_length
    - string
    - string_reversed
    argTypes:
    - GPatternSpec*
    - guint
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 276
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 276
    functionName: g_pattern_match
    functionSourceFile: /src/glib/glib/gpattern.c
    functionUses: []
    functionsReached:
    - g_pattern_spec_match
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_pattern_match (GPatternSpec *pspec, guint string_length,
      const gchar *string, const gchar *string_reversed) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gpattern.c:298,1
    - Dst: g_new
      Src: /src/glib/glib/gpattern.c:301,1
    - Dst: g_new
      Src: /src/glib/glib/gpattern.c:305,1
    - Dst: memmove
      Src: /src/glib/glib/gpattern.c:361,1
    - Dst: strlen
      Src: /src/glib/glib/gpattern.c:302,1
    - Dst: g_utf8_strreverse
      Src: /src/glib/glib/gpattern.c:388,1
    - Dst: g_free
      Src: /src/glib/glib/gpattern.c:389,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 80
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 392
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 392
    functionName: g_pattern_spec_new
    functionSourceFile: /src/glib/glib/gpattern.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_utf8_strreverse
    - strlen
    - g_new
    - memmove
    - g_free
    linkageType: ''
    returnType: GPatternSpec*
    signature: 'GPatternSpec *g_pattern_spec_new (const gchar *pattern) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gpattern.c:447,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gpattern.c:448,1
    - Dst: strcmp
      Src: /src/glib/glib/gpattern.c:452,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - pspec1
    - pspec2
    argTypes:
    - GPatternSpec*
    - GPatternSpec*
    constantsTouched: []
    func_position:
      end: 453
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 453
    functionName: g_pattern_spec_equal
    functionSourceFile: /src/glib/glib/gpattern.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - strcmp
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_pattern_spec_equal (GPatternSpec *pspec1,\t\t GPatternSpec\
      \ *pspec2) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gpattern.c:474,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gpattern.c:475,1
    - Dst: g_pattern_spec_match
      Src: /src/glib/glib/gpattern.c:477,1
    - Dst: strlen
      Src: /src/glib/glib/gpattern.c:477,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pspec
    - string
    argTypes:
    - GPatternSpec*
    - gchar*
    constantsTouched: []
    func_position:
      end: 478
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 478
    functionName: g_pattern_spec_match_string
    functionSourceFile: /src/glib/glib/gpattern.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_pattern_spec_match
    - strlen
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_pattern_spec_match_string (GPatternSpec *pspec, const gchar
      *string) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gpattern.c:191,1
    - Dst: g_pattern_ph_match
      Src: /src/glib/glib/gpattern.c:205,1
    - Dst: g_pattern_ph_match
      Src: /src/glib/glib/gpattern.c:202,1
    - Dst: g_utf8_strreverse
      Src: /src/glib/glib/gpattern.c:210,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gpattern.c:192,1
    - Dst: g_pattern_ph_match
      Src: /src/glib/glib/gpattern.c:211,1
    - Dst: g_free
      Src: /src/glib/glib/gpattern.c:212,1
    - Dst: strcmp
      Src: /src/glib/glib/gpattern.c:217,1
    - Dst: strncmp
      Src: /src/glib/glib/gpattern.c:219,1
    - Dst: strcmp
      Src: /src/glib/glib/gpattern.c:224,1
    - Dst: strcmp
      Src: /src/glib/glib/gpattern.c:231,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gpattern.c:233,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 31
    argCount: 4
    argNames:
    - pspec
    - string_length
    - string
    - string_reversed
    argTypes:
    - GPatternSpec*
    - gsize
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 236
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 236
    functionName: g_pattern_spec_match
    functionSourceFile: /src/glib/glib/gpattern.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_utf8_strreverse
    - strcmp
    - strncmp
    - g_pattern_ph_match
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_pattern_spec_match (GPatternSpec *pspec, gsize string_length,
      const gchar *string, const gchar *string_reversed) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gpattern.c:409,1
    - Dst: g_strndup
      Src: /src/glib/glib/gpattern.c:413,1
    - Dst: g_new
      Src: /src/glib/glib/gpattern.c:411,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 416
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 416
    functionName: g_pattern_spec_copy
    functionSourceFile: /src/glib/glib/gpattern.c
    functionUses: []
    functionsReached:
    - g_strndup
    - g_return_val_if_fail
    - g_new
    linkageType: ''
    returnType: GPatternSpec*
    signature: 'GPatternSpec *g_pattern_spec_copy (GPatternSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gpattern.c:427,1
    - Dst: g_free
      Src: /src/glib/glib/gpattern.c:430,1
    - Dst: g_free
      Src: /src/glib/glib/gpattern.c:429,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pspec
    argTypes:
    - GPatternSpec*
    constantsTouched: []
    func_position:
      end: 431
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 431
    functionName: g_pattern_spec_free
    functionSourceFile: /src/glib/glib/gpattern.c
    functionUses: []
    functionsReached:
    - g_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_pattern_spec_free (GPatternSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_pattern_spec_match_string
      Src: /src/glib/glib/gpattern.c:498,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pspec
    - string
    argTypes:
    - GPatternSpec*
    - gchar*
    constantsTouched: []
    func_position:
      end: 499
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 499
    functionName: g_pattern_match_string
    functionSourceFile: /src/glib/glib/gpattern.c
    functionUses: []
    functionsReached:
    - g_pattern_spec_match_string
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_pattern_match_string (GPatternSpec *pspec, const gchar
      *string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gpattern.c:522,1
    - Dst: strlen
      Src: /src/glib/glib/gpattern.c:526,1
    - Dst: g_pattern_spec_match
      Src: /src/glib/glib/gpattern.c:526,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gpattern.c:523,1
    - Dst: g_pattern_spec_new
      Src: /src/glib/glib/gpattern.c:525,1
    - Dst: g_pattern_spec_free
      Src: /src/glib/glib/gpattern.c:527,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - pattern
    - string
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 530
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 530
    functionName: g_pattern_match_simple
    functionSourceFile: /src/glib/glib/gpattern.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_pattern_spec_new
    - strlen
    - g_pattern_spec_match
    - g_pattern_spec_free
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_pattern_match_simple (const gchar *pattern,\t\t\tconst\
      \ gchar *string) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VALGRIND_VEX_INJECT_IR
      Src: /src/glib/glib/valgrind.h:450,1
    - Dst: VALGRIND_VEX_INJECT_IR
      Src: /src/glib/glib/valgrind.h:684,1
    - Dst: VALGRIND_VEX_INJECT_IR
      Src: /src/glib/glib/valgrind.h:751,1
    - Dst: VALGRIND_VEX_INJECT_IR
      Src: /src/glib/glib/valgrind.h:820,1
    - Dst: VALGRIND_VEX_INJECT_IR
      Src: /src/glib/glib/valgrind.h:528,1
    - Dst: VALGRIND_VEX_INJECT_IR
      Src: /src/glib/glib/valgrind.h:607,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 125
    argCount: 7
    argNames:
    - _zzq_default
    - _zzq_request
    - _zzq_arg1
    - _zzq_arg2
    - _zzq_arg3
    - _zzq_arg4
    - _zzq_arg5
    argTypes:
    - uintptr_t
    - uintptr_t
    - uintptr_t
    - uintptr_t
    - uintptr_t
    - uintptr_t
    - uintptr_t
    constantsTouched: []
    func_position:
      end: 1714
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 1714
    functionName: valgrind_do_client_request_expr
    functionSourceFile: /src/glib/glib/valgrind.h
    functionUses: []
    functionsReached:
    - VALGRIND_VEX_INJECT_IR
    linkageType: ''
    returnType: uintptr_t
    signature: 'static __inline uintptr_t valgrind_do_client_request_expr(uintptr_t
      _zzq_default, uintptr_t _zzq_request, uintptr_t _zzq_arg1, uintptr_t _zzq_arg2,
      uintptr_t _zzq_arg3, uintptr_t _zzq_arg4, uintptr_t _zzq_arg5) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format_error_message
      Src: /src/glib/glib/gfileutils.c:659,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gfileutils.c:661,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:663,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/gfileutils.c:661,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 4
    argNames:
    - error
    - filename
    - format_string
    - saved_errno
    argTypes:
    - GError**
    - gchar*
    - gchar*
    - int
    constantsTouched: []
    func_position:
      end: 664
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 664
    functionName: set_file_error
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - format_error_message
    - g_set_error_literal
    - g_free
    - g_file_error_from_errno
    linkageType: ''
    returnType: void
    signature: 'static void set_file_error (GError **error, const gchar *filename,
      const gchar *format_string, int saved_errno) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_build_path_va
      Src: /src/glib/glib/gfileutils.c:2024,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2025
      start: 2017
    functionDepth: 0
    functionLinenumber: 2017
    functionLinenumberEnd: 2025
    functionName: g_build_pathv
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - g_build_path_va
    linkageType: ''
    returnType: gchar*
    signature: "gchar *g_build_pathv (const gchar *separator,\t gchar **args) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gfileutils.c:2477,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:2481,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:2484,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:2482,1
    - Dst: strchr
      Src: /src/glib/glib/gfileutils.c:2487,1
    - Dst: strchr
      Src: /src/glib/glib/gfileutils.c:2493,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:2503,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:2507,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:2516,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:2518,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:2527,1
    - Dst: g_ascii_isalpha
      Src: /src/glib/glib/gfileutils.c:2525,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2532
      start: 2474
    functionDepth: 0
    functionLinenumber: 2474
    functionLinenumberEnd: 2532
    functionName: g_path_skip_root
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - G_IS_DIR_SEPARATOR
    - strchr
    - g_return_val_if_fail
    - g_ascii_isalpha
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_path_skip_root (const gchar *file_name) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_filename_display_name
      Src: /src/glib/glib/gfileutils.c:733,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:723,1
    - Dst: ferror
      Src: /src/glib/glib/gfileutils.c:731,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:722,1
    - Dst: g_assert
      Src: /src/glib/glib/gfileutils.c:745,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:740,1
    - Dst: memcpy
      Src: /src/glib/glib/gfileutils.c:746,1
    - Dst: g_filename_display_name
      Src: /src/glib/glib/gfileutils.c:769,1
    - Dst: g_set_error
      Src: /src/glib/glib/gfileutils.c:770,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:779,1
    - Dst: feof
      Src: /src/glib/glib/gfileutils.c:683,1
    - Dst: fread
      Src: /src/glib/glib/gfileutils.c:687,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/gfileutils.c:711,1
    - Dst: g_filename_display_name
      Src: /src/glib/glib/gfileutils.c:712,1
    - Dst: _
      Src: /src/glib/glib/gfileutils.c:719,1
    - Dst: _
      Src: /src/glib/glib/gfileutils.c:737,1
    - Dst: _
      Src: /src/glib/glib/gfileutils.c:773,1
    - Dst: fclose
      Src: /src/glib/glib/gfileutils.c:780,1
    - Dst: g_assert
      Src: /src/glib/glib/gfileutils.c:681,1
    - Dst: g_try_realloc
      Src: /src/glib/glib/gfileutils.c:707,1
    - Dst: MIN
      Src: /src/glib/glib/gfileutils.c:704,1
    - Dst: g_set_error
      Src: /src/glib/glib/gfileutils.c:713,1
    - Dst: g_set_error
      Src: /src/glib/glib/gfileutils.c:734,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/gfileutils.c:736,1
    - Dst: g_strerror
      Src: /src/glib/glib/gfileutils.c:739,1
    - Dst: fclose
      Src: /src/glib/glib/gfileutils.c:751,1
    - Dst: g_new
      Src: /src/glib/glib/gfileutils.c:755,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:775,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 64
    argCount: 5
    argNames:
    - filename
    - f
    - contents
    - length
    - error
    argTypes:
    - gchar*
    - FILE*
    - gchar**
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 783
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 783
    functionName: get_contents_stdio
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - ferror
    - memcpy
    - feof
    - g_new
    - fclose
    - g_assert
    - g_strerror
    - MIN
    - g_file_error_from_errno
    - g_try_realloc
    - g_filename_display_name
    - fread
    - g_format_size_full
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean get_contents_stdio (const gchar *filename, FILE *f,
      gchar **contents, gsize *length, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mkdtemp_full
      Src: /src/glib/glib/gfileutils.c:1660,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1661
      start: 1657
    functionDepth: 0
    functionLinenumber: 1657
    functionLinenumberEnd: 1661
    functionName: g_mkdtemp
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - g_mkdtemp_full
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_mkdtemp (gchar *tmpl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gfileutils.c:2299,1
    - Dst: va_end
      Src: /src/glib/glib/gfileutils.c:2301,1
    - Dst: g_build_filename_va
      Src: /src/glib/glib/gfileutils.c:2300,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2304
      start: 2292
    functionDepth: 0
    functionLinenumber: 2292
    functionLinenumberEnd: 2304
    functionName: g_build_filename
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - va_start
    - va_end
    - g_build_filename_va
    linkageType: ''
    returnType: gchar*
    signature: "gchar *g_build_filename (const gchar *first_element, \t\t ...) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_filename_display_name
      Src: /src/glib/glib/gfileutils.c:639,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gfileutils.c:640,1
    - Dst: g_strerror
      Src: /src/glib/glib/gfileutils.c:640,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:641,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 644
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 644
    functionName: format_error_message
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - g_strerror
    - g_free
    - g_filename_display_name
    - g_strdup_printf
    linkageType: ''
    returnType: char*
    signature: 'static char *format_error_message (const gchar *filename, const gchar
      *format_string, int saved_errno) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gfileutils.c:333,1
    - Dst: _stricmp
      Src: /src/glib/glib/gfileutils.c:382,1
    - Dst: memcmp
      Src: /src/glib/glib/gfileutils.c:404,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:406,1
    - Dst: strlen
      Src: /src/glib/glib/gfileutils.c:402,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:416,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:417,1
    - Dst: getuid
      Src: /src/glib/glib/gfileutils.c:428,1
    - Dst: S_ISLNK
      Src: /src/glib/glib/gfileutils.c:443,1
    - Dst: stat
      Src: /src/glib/glib/gfileutils.c:453,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:350,1
    - Dst: _stricmp
      Src: /src/glib/glib/gfileutils.c:380,1
    - Dst: strlen
      Src: /src/glib/glib/gfileutils.c:395,1
    - Dst: g_utf8_casefold
      Src: /src/glib/glib/gfileutils.c:394,1
    - Dst: access
      Src: /src/glib/glib/gfileutils.c:423,1
    - Dst: lstat
      Src: /src/glib/glib/gfileutils.c:443,1
    - Dst: GetFileAttributesW
      Src: /src/glib/glib/gfileutils.c:348,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/gfileutils.c:343,1
    - Dst: _stricmp
      Src: /src/glib/glib/gfileutils.c:381,1
    - Dst: _stricmp
      Src: /src/glib/glib/gfileutils.c:383,1
    - Dst: g_getenv
      Src: /src/glib/glib/gfileutils.c:388,1
    - Dst: access
      Src: /src/glib/glib/gfileutils.c:426,1
    - Dst: S_ISDIR
      Src: /src/glib/glib/gfileutils.c:458,1
    - Dst: strrchr
      Src: /src/glib/glib/gfileutils.c:373,1
    - Dst: strchr
      Src: /src/glib/glib/gfileutils.c:400,1
    - Dst: g_utf8_casefold
      Src: /src/glib/glib/gfileutils.c:392,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:407,1
    - Dst: S_ISREG
      Src: /src/glib/glib/gfileutils.c:455,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 102
    argCount: 2
    argNames:
    - filename
    - test
    argTypes:
    - gchar*
    - GFileTest
    constantsTouched: []
    func_position:
      end: 473
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 473
    functionName: g_file_test
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - getuid
    - g_return_val_if_fail
    - strlen
    - g_utf8_to_utf16
    - g_getenv
    - g_utf8_casefold
    - strrchr
    - S_ISREG
    - stat
    - strchr
    - GetFileAttributesW
    - _stricmp
    - lstat
    - S_ISDIR
    - access
    - g_free
    - S_ISLNK
    - memcmp
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_test (const gchar *filename, GFileTest test) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_tmp_file
      Src: /src/glib/glib/gfileutils.c:1625,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1629
      start: 1621
    functionDepth: 0
    functionLinenumber: 1621
    functionLinenumberEnd: 1629
    functionName: g_mkdtemp_full
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - get_tmp_file
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_mkdtemp_full (gchar *tmpl, gint mode) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_getenv
      Src: /src/glib/glib/gfileutils.c:2962,1
    - Dst: g_stat
      Src: /src/glib/glib/gfileutils.c:2964,1
    - Dst: g_assert
      Src: /src/glib/glib/gfileutils.c:2993,1
    - Dst: g_strdup
      Src: /src/glib/glib/gfileutils.c:2998,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:2948,1
    - Dst: g_new
      Src: /src/glib/glib/gfileutils.c:2943,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/gfileutils.c:2946,1
    - Dst: g_strdup
      Src: /src/glib/glib/gfileutils.c:2951,1
    - Dst: g_stat
      Src: /src/glib/glib/gfileutils.c:2964,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:2973,1
    - Dst: g_new
      Src: /src/glib/glib/gfileutils.c:2974,1
    - Dst: g_assert
      Src: /src/glib/glib/gfileutils.c:2987,1
    - Dst: GetCurrentDirectoryW
      Src: /src/glib/glib/gfileutils.c:2942,1
    - Dst: GetCurrentDirectoryW
      Src: /src/glib/glib/gfileutils.c:2945,1
    - Dst: g_strdup
      Src: /src/glib/glib/gfileutils.c:2966,1
    - Dst: getcwd
      Src: /src/glib/glib/gfileutils.c:2976,1
    - Dst: strnlen
      Src: /src/glib/glib/gfileutils.c:2987,1
    - Dst: g_assert
      Src: /src/glib/glib/gfileutils.c:2992,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:2999,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3004
      start: 2933
    functionDepth: 0
    functionLinenumber: 2933
    functionLinenumberEnd: 3004
    functionName: g_get_current_dir
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - GetCurrentDirectoryW
    - g_strdup
    - getcwd
    - g_new
    - g_getenv
    - g_assert
    - strnlen
    - g_stat
    - g_free
    - g_utf16_to_utf8
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_get_current_dir (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mkstemp
      Src: /src/glib/glib/gfileutils.c:3042,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - tmpl
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 3043
      start: 3039
    functionDepth: 0
    functionLinenumber: 3039
    functionLinenumberEnd: 3043
    functionName: g_mkstemp_utf8
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - g_mkstemp
    linkageType: ''
    returnType: gint
    signature: 'gint g_mkstemp_utf8 (gchar *tmpl) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gfileutils.c:1523,1
    - Dst: strncmp
      Src: /src/glib/glib/gfileutils.c:1528,1
    - Dst: g_get_real_time
      Src: /src/glib/glib/gfileutils.c:1535,1
    - Dst: f
      Src: /src/glib/glib/gfileutils.c:1555,1
    - Dst: g_strrstr
      Src: /src/glib/glib/gfileutils.c:1526,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 4
    argNames:
    - tmpl
    - f
    - flags
    - mode
    argTypes:
    - gchar*
    - GTmpFileCallback
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1569
      start: 1508
    functionDepth: 0
    functionLinenumber: 1508
    functionLinenumberEnd: 1569
    functionName: get_tmp_file
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - g_strrstr
    - g_return_val_if_fail
    - strncmp
    - f
    - g_get_real_time
    linkageType: ''
    returnType: gint
    signature: 'static gint get_tmp_file (gchar *tmpl, GTmpFileCallback f, int flags,
      int mode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_build_path_va
      Src: /src/glib/glib/gfileutils.c:2206,1
    - Dst: g_build_pathname_va
      Src: /src/glib/glib/gfileutils.c:2208,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2212
      start: 2198
    functionDepth: 0
    functionLinenumber: 2198
    functionLinenumberEnd: 2212
    functionName: g_build_filename_va
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - g_build_path_va
    - g_build_pathname_va
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *g_build_filename_va (const gchar *first_argument, va_list
      *args, gchar **str_array) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/gfileutils.c:3050,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - tmpl
    - name_used
    - error
    argTypes:
    - gchar*
    - gchar**
    - GError**
    constantsTouched: []
    func_position:
      end: 3051
      start: 3045
    functionDepth: 0
    functionLinenumber: 3045
    functionLinenumberEnd: 3051
    functionName: g_file_open_tmp_utf8
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - g_file_open_tmp
    linkageType: ''
    returnType: gint
    signature: 'gint g_file_open_tmp_utf8 (const gchar *tmpl, gchar **name_used, GError
      **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gfileutils.c:2555,1
    - Dst: g_ascii_isalpha
      Src: /src/glib/glib/gfileutils.c:2572,1
    - Dst: strrchr
      Src: /src/glib/glib/gfileutils.c:2562,1
    - Dst: strrchr
      Src: /src/glib/glib/gfileutils.c:2557,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2577
      start: 2550
    functionDepth: 0
    functionLinenumber: 2550
    functionLinenumberEnd: 2577
    functionName: g_basename
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - strrchr
    - g_return_val_if_fail
    - g_ascii_isalpha
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_basename (const gchar *file_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_current_dir
      Src: /src/glib/glib/gfileutils.c:3056,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3057
      start: 3053
    functionDepth: 0
    functionLinenumber: 3053
    functionLinenumberEnd: 3057
    functionName: g_get_current_dir_utf8
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - g_get_current_dir
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_get_current_dir_utf8 (void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gfileutils.c:2349,1
    - Dst: readlink
      Src: /src/glib/glib/gfileutils.c:2357,1
    - Dst: set_file_error
      Src: /src/glib/glib/gfileutils.c:2362,1
    - Dst: g_malloc
      Src: /src/glib/glib/gfileutils.c:2353,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gfileutils.c:2350,1
    - Dst: _
      Src: /src/glib/glib/gfileutils.c:2364,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:2366,1
    - Dst: g_realloc
      Src: /src/glib/glib/gfileutils.c:2377,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gfileutils.c:2383,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gfileutils.c:2384,1
    - Dst: strdup
      Src: /src/glib/glib/gfileutils.c:2398,1
    - Dst: _
      Src: /src/glib/glib/gfileutils.c:2408,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gfileutils.c:2405,1
    - Dst: set_file_error
      Src: /src/glib/glib/gfileutils.c:2391,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gfileutils.c:2403,1
    - Dst: _
      Src: /src/glib/glib/gfileutils.c:2393,1
    - Dst: g_win32_readlink_utf8
      Src: /src/glib/glib/gfileutils.c:2386,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gfileutils.c:2402,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2412
      start: 2340
    functionDepth: 0
    functionLinenumber: 2340
    functionLinenumberEnd: 2412
    functionName: g_file_read_link
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_realloc
    - g_malloc
    - g_set_error_literal
    - strdup
    - readlink
    - _
    - g_win32_readlink_utf8
    - g_free
    - set_file_error
    linkageType: ''
    returnType: gchar*
    signature: "gchar *g_file_read_link (const gchar *filename,\t GError **error) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gfileutils.c:2601,1
    - Dst: g_strdup
      Src: /src/glib/glib/gfileutils.c:2604,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:2608,1
    - Dst: strlen
      Src: /src/glib/glib/gfileutils.c:2606,1
    - Dst: g_strdup
      Src: /src/glib/glib/gfileutils.c:2613,1
    - Dst: g_ascii_isalpha
      Src: /src/glib/glib/gfileutils.c:2617,1
    - Dst: g_strdup
      Src: /src/glib/glib/gfileutils.c:2620,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:2624,1
    - Dst: g_ascii_isalpha
      Src: /src/glib/glib/gfileutils.c:2629,1
    - Dst: g_malloc
      Src: /src/glib/glib/gfileutils.c:2635,1
    - Dst: memcpy
      Src: /src/glib/glib/gfileutils.c:2636,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2640
      start: 2593
    functionDepth: 0
    functionLinenumber: 2593
    functionLinenumberEnd: 2640
    functionName: g_path_get_basename
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_ascii_isalpha
    - g_return_val_if_fail
    - g_strdup
    - strlen
    - g_malloc
    - G_IS_DIR_SEPARATOR
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_path_get_basename (const gchar *file_name) '
  - BBCount: 26
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 2
    argCount: 1
    argNames:
    - err_no
    argTypes:
    - gint
    constantsTouched: []
    func_position:
      end: 621
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 621
    functionName: g_file_error_from_errno
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GFileError
    signature: 'GFileError g_file_error_from_errno (gint err_no) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/glib/gfileutils.c:804,1
    - Dst: g_try_malloc
      Src: /src/glib/glib/gfileutils.c:816,1
    - Dst: g_set_error
      Src: /src/glib/glib/gfileutils.c:822,1
    - Dst: read
      Src: /src/glib/glib/gfileutils.c:841,1
    - Dst: _
      Src: /src/glib/glib/gfileutils.c:854,1
    - Dst: _
      Src: /src/glib/glib/gfileutils.c:807,1
    - Dst: g_strerror
      Src: /src/glib/glib/gfileutils.c:856,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:849,1
    - Dst: g_set_error
      Src: /src/glib/glib/gfileutils.c:851,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/gfileutils.c:853,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:809,1
    - Dst: g_filename_display_name
      Src: /src/glib/glib/gfileutils.c:803,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:831,1
    - Dst: close
      Src: /src/glib/glib/gfileutils.c:880,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/gfileutils.c:820,1
    - Dst: g_filename_display_name
      Src: /src/glib/glib/gfileutils.c:821,1
    - Dst: _
      Src: /src/glib/glib/gfileutils.c:828,1
    - Dst: g_filename_display_name
      Src: /src/glib/glib/gfileutils.c:850,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:832,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:857,1
    - Dst: close
      Src: /src/glib/glib/gfileutils.c:874,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 52
    argCount: 6
    argNames:
    - filename
    - stat_buf
    - fd
    - contents
    - length
    - error
    argTypes:
    - gchar*
    - struct stat*
    - gint
    - gchar**
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 883
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 883
    functionName: get_contents_regfile
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_format_size_full
    - g_try_malloc
    - read
    - g_strerror
    - g_file_error_from_errno
    - close
    - g_filename_display_name
    - _
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean get_contents_regfile (const gchar *filename, struct
      stat *stat_buf, gint fd, gchar **contents, gsize *length, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_rename
      Src: /src/glib/glib/gfileutils.c:1040,1
    - Dst: g_filename_display_name
      Src: /src/glib/glib/gfileutils.c:1043,1
    - Dst: g_set_error
      Src: /src/glib/glib/gfileutils.c:1046,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/gfileutils.c:1048,1
    - Dst: g_filename_display_name
      Src: /src/glib/glib/gfileutils.c:1044,1
    - Dst: _
      Src: /src/glib/glib/gfileutils.c:1049,1
    - Dst: g_strerror
      Src: /src/glib/glib/gfileutils.c:1052,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:1054,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:1055,1
    - Dst: g_path_get_dirname
      Src: /src/glib/glib/gfileutils.c:1069,1
    - Dst: g_fsync
      Src: /src/glib/glib/gfileutils.c:1074,1
    - Dst: g_open
      Src: /src/glib/glib/gfileutils.c:1070,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:1078,1
    - Dst: g_close
      Src: /src/glib/glib/gfileutils.c:1075,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 4
    argNames:
    - old_name
    - new_name
    - do_fsync
    - err
    argTypes:
    - char*
    - char*
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 1083
      start: 1033
    functionDepth: 0
    functionLinenumber: 1033
    functionLinenumberEnd: 1083
    functionName: rename_file
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_path_get_dirname
    - g_open
    - g_fsync
    - g_strerror
    - g_close
    - g_file_error_from_errno
    - g_rename
    - g_filename_display_name
    - _
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean rename_file (const char *old_name, const char *new_name,
      gboolean do_fsync, GError **err) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fallocate
      Src: /src/glib/glib/gfileutils.c:1171,1
    - Dst: MIN
      Src: /src/glib/glib/gfileutils.c:1180,1
    - Dst: MIN
      Src: /src/glib/glib/gfileutils.c:1183,1
    - Dst: write
      Src: /src/glib/glib/gfileutils.c:1183,1
    - Dst: write
      Src: /src/glib/glib/gfileutils.c:1180,1
    - Dst: set_file_error
      Src: /src/glib/glib/gfileutils.c:1192,1
    - Dst: _
      Src: /src/glib/glib/gfileutils.c:1193,1
    - Dst: close
      Src: /src/glib/glib/gfileutils.c:1195,1
    - Dst: g_assert
      Src: /src/glib/glib/gfileutils.c:1200,1
    - Dst: g_fsync
      Src: /src/glib/glib/gfileutils.c:1209,1
    - Dst: g_close
      Src: /src/glib/glib/gfileutils.c:1223,1
    - Dst: set_file_error
      Src: /src/glib/glib/gfileutils.c:1213,1
    - Dst: _
      Src: /src/glib/glib/gfileutils.c:1214,1
    - Dst: close
      Src: /src/glib/glib/gfileutils.c:1216,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 6
    argNames:
    - contents
    - length
    - fd
    - dest_file
    - do_fsync
    - err
    argTypes:
    - gchar*
    - gsize
    - int
    - gchar*
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 1227
      start: 1157
    functionDepth: 0
    functionLinenumber: 1157
    functionLinenumberEnd: 1227
    functionName: write_to_file
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - fallocate
    - write
    - g_fsync
    - g_assert
    - MIN
    - g_close
    - close
    - _
    - set_file_error
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean write_to_file (const gchar *contents, gsize length,
      int fd, const gchar *dest_file, gboolean do_fsync, GError **err) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mkdir
      Src: /src/glib/glib/gfileutils.c:1583,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - filename
    - G_GNUC_UNUSED
    - mode
    argTypes:
    - gchar*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1584
      start: 1577
    functionDepth: 0
    functionLinenumber: 1577
    functionLinenumberEnd: 1584
    functionName: wrap_g_mkdir
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - g_mkdir
    linkageType: ''
    returnType: gint
    signature: 'static gint wrap_g_mkdir (const gchar *filename, int flags G_GNUC_UNUSED,
      int mode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mkstemp_full
      Src: /src/glib/glib/gfileutils.c:1723,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - tmpl
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1724
      start: 1720
    functionDepth: 0
    functionLinenumber: 1720
    functionLinenumberEnd: 1724
    functionName: g_mkstemp
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - g_mkstemp_full
    linkageType: ''
    returnType: gint
    signature: 'gint g_mkstemp (gchar *tmpl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gfileutils.c:1890,1
    - Dst: g_get_tmp_name
      Src: /src/glib/glib/gfileutils.c:1892,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1896
      start: 1884
    functionDepth: 0
    functionLinenumber: 1884
    functionLinenumberEnd: 1896
    functionName: g_dir_make_tmp
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_get_tmp_name
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_dir_make_tmp (const gchar *tmpl, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename_va
      Src: /src/glib/glib/gfileutils.c:2263,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2264
      start: 2260
    functionDepth: 0
    functionLinenumber: 2260
    functionLinenumberEnd: 2264
    functionName: g_build_filenamev
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - g_build_filename_va
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_build_filenamev (gchar **args) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/glib/glib/gfileutils.c:895,1
    - Dst: set_file_error
      Src: /src/glib/glib/gfileutils.c:915,1
    - Dst: _
      Src: /src/glib/glib/gfileutils.c:904,1
    - Dst: fstat
      Src: /src/glib/glib/gfileutils.c:911,1
    - Dst: set_file_error
      Src: /src/glib/glib/gfileutils.c:902,1
    - Dst: _
      Src: /src/glib/glib/gfileutils.c:917,1
    - Dst: close
      Src: /src/glib/glib/gfileutils.c:919,1
    - Dst: S_ISREG
      Src: /src/glib/glib/gfileutils.c:924,1
    - Dst: get_contents_regfile
      Src: /src/glib/glib/gfileutils.c:926,1
    - Dst: fdopen
      Src: /src/glib/glib/gfileutils.c:940,1
    - Dst: _
      Src: /src/glib/glib/gfileutils.c:948,1
    - Dst: get_contents_stdio
      Src: /src/glib/glib/gfileutils.c:954,1
    - Dst: set_file_error
      Src: /src/glib/glib/gfileutils.c:946,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 4
    argNames:
    - filename
    - contents
    - length
    - error
    argTypes:
    - gchar*
    - gchar**
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 958
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 958
    functionName: get_contents_posix
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - fstat
    - get_contents_regfile
    - get_contents_stdio
    - close
    - fdopen
    - open
    - _
    - set_file_error
    - S_ISREG
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean get_contents_posix (const gchar *filename, gchar **contents,
      gsize *length, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_lstat
      Src: /src/glib/glib/gfileutils.c:1110,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - fd
    - test_file
    - flags
    argTypes:
    - int
    - gchar*
    - GFileSetContentsFlags
    constantsTouched: []
    func_position:
      end: 1124
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1124
    functionName: fd_should_be_fsynced
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - g_lstat
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean fd_should_be_fsynced (int fd, const gchar *test_file,
      GFileSetContentsFlags flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_open
      Src: /src/glib/glib/gfileutils.c:1591,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - filename
    - flags
    - mode
    argTypes:
    - gchar*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1592
      start: 1586
    functionDepth: 0
    functionLinenumber: 1586
    functionLinenumberEnd: 1592
    functionName: wrap_g_open
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - g_open
    linkageType: ''
    returnType: gint
    signature: 'static gint wrap_g_open (const gchar *filename, int flags, int mode) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/glib/gfileutils.c:1905,1
    - Dst: g_string_new
      Src: /src/glib/glib/gfileutils.c:1913,1
    - Dst: va_arg
      Src: /src/glib/glib/gfileutils.c:1932,1
    - Dst: strncmp
      Src: /src/glib/glib/gfileutils.c:1945,1
    - Dst: strlen
      Src: /src/glib/glib/gfileutils.c:1949,1
    - Dst: strncmp
      Src: /src/glib/glib/gfileutils.c:1954,1
    - Dst: strncmp
      Src: /src/glib/glib/gfileutils.c:1959,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gfileutils.c:1970,1
    - Dst: g_string_append
      Src: /src/glib/glib/gfileutils.c:1981,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gfileutils.c:1983,1
    - Dst: g_string_append
      Src: /src/glib/glib/gfileutils.c:1995,1
    - Dst: g_strdup
      Src: /src/glib/glib/gfileutils.c:1990,1
    - Dst: g_string_free
      Src: /src/glib/glib/gfileutils.c:1997,1
    - Dst: g_string_free
      Src: /src/glib/glib/gfileutils.c:1989,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1999
      start: 1898
    functionDepth: 0
    functionLinenumber: 1898
    functionLinenumberEnd: 1999
    functionName: g_build_path_va
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_string_append_len
    - strlen
    - strncmp
    - g_string_free
    - va_arg
    - g_string_new
    - g_string_append
    linkageType: ''
    returnType: gchar*
    signature: "static gchar *g_build_path_va (const gchar *separator,\t\t const gchar\
      \ *first_element,\t\t va_list *args,\t\t gchar **str_array) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_fopen
      Src: /src/glib/glib/gfileutils.c:971,1
    - Dst: _
      Src: /src/glib/glib/gfileutils.c:979,1
    - Dst: get_contents_stdio
      Src: /src/glib/glib/gfileutils.c:985,1
    - Dst: set_file_error
      Src: /src/glib/glib/gfileutils.c:977,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 4
    argNames:
    - filename
    - contents
    - length
    - error
    argTypes:
    - gchar*
    - gchar**
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 988
      start: 962
    functionDepth: 0
    functionLinenumber: 962
    functionLinenumberEnd: 988
    functionName: get_contents_win32
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - _
    - g_fopen
    - set_file_error
    - get_contents_stdio
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean get_contents_win32 (const gchar *filename,\t\t gchar\
      \ **contents,\t\t gsize *length,\t\t GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gfileutils.c:1019,1
    - Dst: get_contents_posix
      Src: /src/glib/glib/gfileutils.c:1029,1
    - Dst: get_contents_win32
      Src: /src/glib/glib/gfileutils.c:1027,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gfileutils.c:1020,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 4
    argNames:
    - filename
    - contents
    - length
    - error
    argTypes:
    - gchar*
    - gchar**
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 1031
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1031
    functionName: g_file_get_contents
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - get_contents_win32
    - g_return_val_if_fail
    - get_contents_posix
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_get_contents (const gchar *filename, gchar **contents,
      gsize *length, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_win32_ftruncate
      Src: /src/glib/glib/gfileutils.c:1134,1
    - Dst: ftruncate
      Src: /src/glib/glib/gfileutils.c:1136,1
    - Dst: set_file_error
      Src: /src/glib/glib/gfileutils.c:1146,1
    - Dst: _
      Src: /src/glib/glib/gfileutils.c:1148,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 4
    argNames:
    - fd
    - length
    - dest_file
    - error
    argTypes:
    - int
    - off_t
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 1154
      start: 1126
    functionDepth: 0
    functionLinenumber: 1126
    functionLinenumberEnd: 1154
    functionName: truncate_file
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - _
    - g_win32_ftruncate
    - ftruncate
    - set_file_error
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean truncate_file (int fd, off_t length, const char *dest_file,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_tmp_file
      Src: /src/glib/glib/gfileutils.c:1695,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - tmpl
    - flags
    - mode
    argTypes:
    - gchar*
    - gint
    - gint
    constantsTouched: []
    func_position:
      end: 1697
      start: 1689
    functionDepth: 0
    functionLinenumber: 1689
    functionLinenumberEnd: 1697
    functionName: g_mkstemp_full
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - get_tmp_file
    linkageType: ''
    returnType: gint
    signature: 'gint g_mkstemp_full (gchar *tmpl, gint flags, gint mode) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/gfileutils.c:2101,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gfileutils.c:2165,1
    - Dst: va_arg
      Src: /src/glib/glib/gfileutils.c:2120,1
    - Dst: strlen
      Src: /src/glib/glib/gfileutils.c:2141,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gfileutils.c:2176,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gfileutils.c:2178,1
    - Dst: g_string_free
      Src: /src/glib/glib/gfileutils.c:2184,1
    - Dst: g_strdup
      Src: /src/glib/glib/gfileutils.c:2185,1
    - Dst: g_string_append
      Src: /src/glib/glib/gfileutils.c:2190,1
    - Dst: g_string_free
      Src: /src/glib/glib/gfileutils.c:2192,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2194
      start: 2084
    functionDepth: 0
    functionLinenumber: 2084
    functionLinenumberEnd: 2194
    functionName: g_build_pathname_va
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_string_append_len
    - strlen
    - g_string_free
    - va_arg
    - g_string_new
    - g_string_append
    linkageType: ''
    returnType: gchar*
    signature: "static gchar *g_build_pathname_va (const gchar *first_element,\t\t\
      \ va_list *args,\t\t gchar **str_array) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gfileutils.c:2236,1
    - Dst: g_build_filename_va
      Src: /src/glib/glib/gfileutils.c:2238,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2239
      start: 2232
    functionDepth: 0
    functionLinenumber: 2232
    functionLinenumberEnd: 2239
    functionName: g_build_filename_valist
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_build_filename_va
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_build_filename_valist (const gchar *first_element, va_list
      *args) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gfileutils.c:2448,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:2450,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:2456,1
    - Dst: g_ascii_isalpha
      Src: /src/glib/glib/gfileutils.c:2455,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - file_name
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 2461
      start: 2445
    functionDepth: 0
    functionLinenumber: 2445
    functionLinenumberEnd: 2461
    functionName: g_path_is_absolute
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - G_IS_DIR_SEPARATOR
    - g_return_val_if_fail
    - g_ascii_isalpha
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_path_is_absolute (const gchar *file_name) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_get_current_dir
      Src: /src/glib/glib/gfileutils.c:2805,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:2808,1
    - Dst: g_path_skip_root
      Src: /src/glib/glib/gfileutils.c:2815,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:2822,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:2828,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:2858,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:2853,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:2889,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gfileutils.c:2807,1
    - Dst: g_path_is_absolute
      Src: /src/glib/glib/gfileutils.c:2797,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gfileutils.c:2823,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:2871,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gfileutils.c:2795,1
    - Dst: g_path_is_absolute
      Src: /src/glib/glib/gfileutils.c:2795,1
    - Dst: g_strdup
      Src: /src/glib/glib/gfileutils.c:2812,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:2862,1
    - Dst: g_assert
      Src: /src/glib/glib/gfileutils.c:2854,1
    - Dst: g_assert
      Src: /src/glib/glib/gfileutils.c:2853,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:2854,1
    - Dst: g_assert
      Src: /src/glib/glib/gfileutils.c:2855,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:2879,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:2899,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 84
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2905
      start: 2789
    functionDepth: 0
    functionLinenumber: 2789
    functionLinenumberEnd: 2905
    functionName: g_canonicalize_filename
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_strdup
    - g_assert
    - g_path_skip_root
    - g_build_filename
    - G_IS_DIR_SEPARATOR
    - g_get_current_dir
    - g_free
    - g_path_is_absolute
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_canonicalize_filename (const gchar *filename, const gchar
      *relative_to) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gfileutils.c:1337,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gfileutils.c:1336,1
    - Dst: g_mkstemp_full
      Src: /src/glib/glib/gfileutils.c:1368,1
    - Dst: write_to_file
      Src: /src/glib/glib/gfileutils.c:1382,1
    - Dst: rename_file
      Src: /src/glib/glib/gfileutils.c:1389,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gfileutils.c:1394,1
    - Dst: set_file_error
      Src: /src/glib/glib/gfileutils.c:1418,1
    - Dst: g_open
      Src: /src/glib/glib/gfileutils.c:1456,1
    - Dst: truncate_file
      Src: /src/glib/glib/gfileutils.c:1492,1
    - Dst: strlen
      Src: /src/glib/glib/gfileutils.c:1355,1
    - Dst: fd_should_be_fsynced
      Src: /src/glib/glib/gfileutils.c:1381,1
    - Dst: g_unlink
      Src: /src/glib/glib/gfileutils.c:1384,1
    - Dst: g_unlink
      Src: /src/glib/glib/gfileutils.c:1393,1
    - Dst: g_unlink
      Src: /src/glib/glib/gfileutils.c:1414,1
    - Dst: _
      Src: /src/glib/glib/gfileutils.c:1420,1
    - Dst: rename_file
      Src: /src/glib/glib/gfileutils.c:1427,1
    - Dst: g_file_set_contents_full
      Src: /src/glib/glib/gfileutils.c:1479,1
    - Dst: set_file_error
      Src: /src/glib/glib/gfileutils.c:1485,1
    - Dst: _
      Src: /src/glib/glib/gfileutils.c:1486,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gfileutils.c:1335,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gfileutils.c:1365,1
    - Dst: set_file_error
      Src: /src/glib/glib/gfileutils.c:1374,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gfileutils.c:1407,1
    - Dst: g_file_test
      Src: /src/glib/glib/gfileutils.c:1404,1
    - Dst: g_unlink
      Src: /src/glib/glib/gfileutils.c:1429,1
    - Dst: write_to_file
      Src: /src/glib/glib/gfileutils.c:1494,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gfileutils.c:1338,1
    - Dst: _
      Src: /src/glib/glib/gfileutils.c:1375,1
    - Dst: g_steal_fd
      Src: /src/glib/glib/gfileutils.c:1382,1
    - Dst: g_unlink
      Src: /src/glib/glib/gfileutils.c:1406,1
    - Dst: g_error_free
      Src: /src/glib/glib/gfileutils.c:1412,1
    - Dst: g_unlink
      Src: /src/glib/glib/gfileutils.c:1422,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:1440,1
    - Dst: fd_should_be_fsynced
      Src: /src/glib/glib/gfileutils.c:1491,1
    - Dst: g_steal_fd
      Src: /src/glib/glib/gfileutils.c:1494,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 92
    argCount: 6
    argNames:
    - filename
    - contents
    - length
    - flags
    - mode
    - error
    argTypes:
    - gchar*
    - gchar*
    - gssize
    - GFileSetContentsFlags
    - int
    - GError**
    constantsTouched: []
    func_position:
      end: 1500
      start: 1327
    functionDepth: 0
    functionLinenumber: 1327
    functionLinenumberEnd: 1500
    functionName: g_file_set_contents_full
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - fd_should_be_fsynced
    - g_return_val_if_fail
    - g_strdup_printf
    - g_unlink
    - strlen
    - g_steal_fd
    - rename_file
    - g_open
    - write_to_file
    - g_mkstemp_full
    - g_error_free
    - truncate_file
    - _
    - g_file_test
    - g_free
    - set_file_error
    - g_file_set_contents_full
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_set_contents_full (const gchar *filename, const gchar
      *contents, gssize length, GFileSetContentsFlags flags, int mode, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gfileutils.c:1841,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:1853,1
    - Dst: g_get_tmp_name
      Src: /src/glib/glib/gfileutils.c:1843,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 3
    argNames:
    - tmpl
    - name_used
    - error
    argTypes:
    - gchar*
    - gchar**
    - GError**
    constantsTouched: []
    func_position:
      end: 1857
      start: 1833
    functionDepth: 0
    functionLinenumber: 1833
    functionLinenumberEnd: 1857
    functionName: g_file_open_tmp
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - g_free
    - g_return_val_if_fail
    - g_get_tmp_name
    linkageType: ''
    returnType: gint
    signature: 'gint g_file_open_tmp (const gchar *tmpl, gchar **name_used, GError
      **error) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gfileutils.c:2675,1
    - Dst: g_strdup
      Src: /src/glib/glib/gfileutils.c:2700,1
    - Dst: g_ascii_isalpha
      Src: /src/glib/glib/gfileutils.c:2723,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:2727,1
    - Dst: g_new
      Src: /src/glib/glib/gfileutils.c:2756,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:2744,1
    - Dst: strrchr
      Src: /src/glib/glib/gfileutils.c:2677,1
    - Dst: strrchr
      Src: /src/glib/glib/gfileutils.c:2682,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:2706,1
    - Dst: g_new
      Src: /src/glib/glib/gfileutils.c:2738,1
    - Dst: memmove
      Src: /src/glib/glib/gfileutils.c:2757,1
    - Dst: strcpy
      Src: /src/glib/glib/gfileutils.c:2739,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:2726,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:2747,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:2733,1
    - Dst: g_ascii_isalpha
      Src: /src/glib/glib/gfileutils.c:2691,1
    - Dst: g_strdup
      Src: /src/glib/glib/gfileutils.c:2703,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:2729,1
    - Dst: strlen
      Src: /src/glib/glib/gfileutils.c:2737,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 78
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2761
      start: 2669
    functionDepth: 0
    functionLinenumber: 2669
    functionLinenumberEnd: 2761
    functionName: g_path_get_dirname
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_return_val_if_fail
    - g_ascii_isalpha
    - strlen
    - g_new
    - memmove
    - strrchr
    - strcpy
    - G_IS_DIR_SEPARATOR
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_path_get_dirname (const gchar *file_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_test
      Src: /src/glib/glib/gfileutils.c:3027,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - filename
    - test
    argTypes:
    - gchar*
    - GFileTest
    constantsTouched: []
    func_position:
      end: 3028
      start: 3023
    functionDepth: 0
    functionLinenumber: 3023
    functionLinenumberEnd: 3028
    functionName: g_file_test_utf8
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - g_file_test
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_test_utf8 (const gchar *filename, GFileTest test) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_mkdir
      Src: /src/glib/glib/gfileutils.c:193,1
    - Dst: g_path_is_absolute
      Src: /src/glib/glib/gfileutils.c:208,1
    - Dst: g_file_test
      Src: /src/glib/glib/gfileutils.c:197,1
    - Dst: g_path_skip_root
      Src: /src/glib/glib/gfileutils.c:209,1
    - Dst: g_strdup
      Src: /src/glib/glib/gfileutils.c:206,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:215,1
    - Dst: g_file_test
      Src: /src/glib/glib/gfileutils.c:223,1
    - Dst: g_mkdir
      Src: /src/glib/glib/gfileutils.c:225,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:230,1
    - Dst: g_file_test
      Src: /src/glib/glib/gfileutils.c:236,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:251,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:238,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:245,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 51
    argCount: 2
    argNames:
    - pathname
    - mode
    argTypes:
    - gchar*
    - int
    constantsTouched: []
    func_position:
      end: 254
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 254
    functionName: g_mkdir_with_parents
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - g_path_skip_root
    - G_IS_DIR_SEPARATOR
    - g_file_test
    - g_mkdir
    - g_path_is_absolute
    linkageType: ''
    returnType: int
    signature: "int g_mkdir_with_parents (const gchar *pathname,\t\t int mode) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_get_contents
      Src: /src/glib/glib/gfileutils.c:3036,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 4
    argNames:
    - filename
    - contents
    - length
    - error
    argTypes:
    - gchar*
    - gchar**
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 3037
      start: 3030
    functionDepth: 0
    functionLinenumber: 3030
    functionLinenumberEnd: 3037
    functionName: g_file_get_contents_utf8
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - g_file_get_contents
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_get_contents_utf8 (const gchar *filename, gchar **contents,
      gsize *length, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_set_contents_full
      Src: /src/glib/glib/gfileutils.c:1252,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - filename
    - contents
    - length
    - error
    argTypes:
    - gchar*
    - gchar*
    - gssize
    - GError**
    constantsTouched: []
    func_position:
      end: 1256
      start: 1246
    functionDepth: 0
    functionLinenumber: 1246
    functionLinenumberEnd: 1256
    functionName: g_file_set_contents
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - g_file_set_contents_full
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_set_contents (const gchar *filename, const gchar *contents,
      gssize length, GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/glib/gfileutils.c:1754,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:1772,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:1794,1
    - Dst: g_filename_display_name
      Src: /src/glib/glib/gfileutils.c:1749,1
    - Dst: get_tmp_file
      Src: /src/glib/glib/gfileutils.c:1785,1
    - Dst: g_strconcat
      Src: /src/glib/glib/gfileutils.c:1783,1
    - Dst: set_file_error
      Src: /src/glib/glib/gfileutils.c:1790,1
    - Dst: _
      Src: /src/glib/glib/gfileutils.c:1757,1
    - Dst: g_free
      Src: /src/glib/glib/gfileutils.c:1759,1
    - Dst: g_filename_display_name
      Src: /src/glib/glib/gfileutils.c:1766,1
    - Dst: g_set_error
      Src: /src/glib/glib/gfileutils.c:1767,1
    - Dst: _
      Src: /src/glib/glib/gfileutils.c:1792,1
    - Dst: strlen
      Src: /src/glib/glib/gfileutils.c:1778,1
    - Dst: strchr
      Src: /src/glib/glib/gfileutils.c:1743,1
    - Dst: strchr
      Src: /src/glib/glib/gfileutils.c:1745,1
    - Dst: strstr
      Src: /src/glib/glib/gfileutils.c:1764,1
    - Dst: _
      Src: /src/glib/glib/gfileutils.c:1770,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gfileutils.c:1778,1
    - Dst: g_get_tmp_dir
      Src: /src/glib/glib/gfileutils.c:1776,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 42
    argCount: 6
    argNames:
    - tmpl
    - name_used
    - f
    - flags
    - mode
    - error
    argTypes:
    - gchar*
    - gchar**
    - GTmpFileCallback
    - gint
    - gint
    - GError**
    constantsTouched: []
    func_position:
      end: 1801
      start: 1726
    functionDepth: 0
    functionLinenumber: 1726
    functionLinenumberEnd: 1801
    functionName: g_get_tmp_name
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_strconcat
    - strlen
    - set_file_error
    - strchr
    - g_filename_display_name
    - g_get_tmp_dir
    - get_tmp_file
    - _
    - g_free
    - strstr
    - G_IS_DIR_SEPARATOR
    linkageType: ''
    returnType: gint
    signature: 'static gint g_get_tmp_name (const gchar *tmpl, gchar **name_used,
      GTmpFileCallback f, gint flags, gint mode, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gfileutils.c:2073,1
    - Dst: g_build_path_va
      Src: /src/glib/glib/gfileutils.c:2076,1
    - Dst: va_end
      Src: /src/glib/glib/gfileutils.c:2077,1
    - Dst: va_start
      Src: /src/glib/glib/gfileutils.c:2075,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2080
      start: 2065
    functionDepth: 0
    functionLinenumber: 2065
    functionLinenumberEnd: 2080
    functionName: g_build_path
    functionSourceFile: /src/glib/glib/gfileutils.c
    functionUses: []
    functionsReached:
    - g_build_path_va
    - g_return_val_if_fail
    - va_start
    - va_end
    linkageType: ''
    returnType: gchar*
    signature: "gchar *g_build_path (const gchar *separator,\t const gchar *first_element,\t\
      \ ...) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/glib/glib/gchecksum.c:1346,1
    - Dst: PUT_UINT64
      Src: /src/glib/glib/gchecksum.c:1352,1
    - Dst: PUT_UINT64
      Src: /src/glib/glib/gchecksum.c:1363,1
    - Dst: PUT_UINT64
      Src: /src/glib/glib/gchecksum.c:1355,1
    - Dst: sha512_sum_update
      Src: /src/glib/glib/gchecksum.c:1359,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 1
    argNames:
    - sha512
    argTypes:
    - Sha512sum*
    constantsTouched: []
    func_position:
      end: 1364
      start: 1326
    functionDepth: 0
    functionLinenumber: 1326
    functionLinenumberEnd: 1364
    functionName: sha512_sum_close
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached:
    - PUT_UINT64
    - memset
    - sha512_sum_update
    linkageType: ''
    returnType: void
    signature: 'static void sha512_sum_close (Sha512sum *sha512) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gchecksum.c:1590,1
    - Dst: md5_sum_update
      Src: /src/glib/glib/gchecksum.c:1607,1
    - Dst: strlen
      Src: /src/glib/glib/gchecksum.c:1594,1
    - Dst: g_warning
      Src: /src/glib/glib/gchecksum.c:1598,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gchecksum.c:1591,1
    - Dst: sha1_sum_update
      Src: /src/glib/glib/gchecksum.c:1610,1
    - Dst: sha256_sum_update
      Src: /src/glib/glib/gchecksum.c:1613,1
    - Dst: sha512_sum_update
      Src: /src/glib/glib/gchecksum.c:1617,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gchecksum.c:1620,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 3
    argNames:
    - checksum
    - data
    - length
    argTypes:
    - GChecksum*
    - guchar*
    - gssize
    constantsTouched: []
    func_position:
      end: 1623
      start: 1585
    functionDepth: 0
    functionLinenumber: 1585
    functionLinenumberEnd: 1623
    functionName: g_checksum_update
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached:
    - g_warning
    - strlen
    - g_return_if_fail
    - g_assert_not_reached
    - md5_sum_update
    - sha1_sum_update
    - sha256_sum_update
    - sha512_sum_update
    linkageType: ''
    returnType: void
    signature: 'void g_checksum_update (GChecksum *checksum, const guchar *data, gssize
      length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gchecksum.c:1829,1
    - Dst: strlen
      Src: /src/glib/glib/gchecksum.c:1832,1
    - Dst: g_compute_checksum_for_data
      Src: /src/glib/glib/gchecksum.c:1834,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1835
      start: 1824
    functionDepth: 0
    functionLinenumber: 1824
    functionLinenumberEnd: 1835
    functionName: g_compute_checksum_for_string
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached:
    - g_compute_checksum_for_data
    - g_return_val_if_fail
    - strlen
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_compute_checksum_for_string (GChecksumType checksum_type,
      const gchar *str, gssize length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - md5
    argTypes:
    - Md5sum*
    constantsTouched: []
    func_position:
      end: 228
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 228
    functionName: md5_sum_init
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void md5_sum_init (Md5sum *md5) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - sha256
    argTypes:
    - Sha256sum*
    constantsTouched: []
    func_position:
      end: 837
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 837
    functionName: sha256_sum_init
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void sha256_sum_init (Sha256sum *sha256) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: digest_to_string
      Src: /src/glib/glib/gchecksum.c:1369,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1370
      start: 1366
    functionDepth: 0
    functionLinenumber: 1366
    functionLinenumberEnd: 1370
    functionName: sha384_sum_to_string
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached:
    - digest_to_string
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *sha384_sum_to_string (Sha512sum *sha512) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/glib/gchecksum.c:185,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 198
    functionName: digest_to_string
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached:
    - g_new
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *digest_to_string (guint8 *digest, gsize digest_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - sha1
    - digest
    argTypes:
    - Sha1sum*
    - guint8*
    constantsTouched: []
    func_position:
      end: 812
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 812
    functionName: sha1_sum_digest
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void sha1_sum_digest (Sha1sum *sha1, guint8 *digest) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LIKELY
      Src: /src/glib/glib/gchecksum.c:1565,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gchecksum.c:1569,1
    - Dst: g_free
      Src: /src/glib/glib/gchecksum.c:1567,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - checksum
    argTypes:
    - GChecksum*
    constantsTouched: []
    func_position:
      end: 1571
      start: 1562
    functionDepth: 0
    functionLinenumber: 1562
    functionLinenumberEnd: 1571
    functionName: g_checksum_free
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_free
    - G_LIKELY
    linkageType: ''
    returnType: void
    signature: 'void g_checksum_free (GChecksum *checksum) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gchecksum.c:1795,1
    - Dst: g_checksum_update
      Src: /src/glib/glib/gchecksum.c:1801,1
    - Dst: g_checksum_new
      Src: /src/glib/glib/gchecksum.c:1797,1
    - Dst: g_strdup
      Src: /src/glib/glib/gchecksum.c:1802,1
    - Dst: g_checksum_get_string
      Src: /src/glib/glib/gchecksum.c:1802,1
    - Dst: g_checksum_free
      Src: /src/glib/glib/gchecksum.c:1803,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1806
      start: 1787
    functionDepth: 0
    functionLinenumber: 1787
    functionLinenumberEnd: 1806
    functionName: g_compute_checksum_for_data
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_strdup
    - g_checksum_free
    - g_checksum_update
    - g_checksum_new
    - g_checksum_get_string
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_compute_checksum_for_data (GChecksumType checksum_type, const
      guchar *data, gsize length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - md5
    - digest
    argTypes:
    - Md5sum*
    - guint8*
    constantsTouched: []
    func_position:
      end: 459
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 459
    functionName: md5_sum_digest
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void md5_sum_digest (Md5sum *md5, guint8 *digest) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/glib/glib/gchecksum.c:775,1
    - Dst: memset
      Src: /src/glib/glib/gchecksum.c:769,1
    - Dst: sha1_transform
      Src: /src/glib/glib/gchecksum.c:772,1
    - Dst: sha_byte_reverse
      Src: /src/glib/glib/gchecksum.c:771,1
    - Dst: memset
      Src: /src/glib/glib/gchecksum.c:780,1
    - Dst: sha_byte_reverse
      Src: /src/glib/glib/gchecksum.c:787,1
    - Dst: sha1_transform
      Src: /src/glib/glib/gchecksum.c:788,1
    - Dst: sha_byte_reverse
      Src: /src/glib/glib/gchecksum.c:789,1
    - Dst: memcpy
      Src: /src/glib/glib/gchecksum.c:791,1
    - Dst: memset
      Src: /src/glib/glib/gchecksum.c:794,1
    - Dst: memset
      Src: /src/glib/glib/gchecksum.c:795,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 1
    argNames:
    - sha1
    argTypes:
    - Sha1sum*
    constantsTouched: []
    func_position:
      end: 796
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 796
    functionName: sha1_sum_close
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached:
    - memcpy
    - sha_byte_reverse
    - memset
    - sha1_transform
    linkageType: ''
    returnType: void
    signature: 'static void sha1_sum_close (Sha1sum *sha1) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: digest_to_string
      Src: /src/glib/glib/gchecksum.c:1375,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1372
    functionDepth: 0
    functionLinenumber: 1372
    functionLinenumberEnd: 1376
    functionName: sha512_sum_to_string
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached:
    - digest_to_string
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *sha512_sum_to_string (Sha512sum *sha512) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gchecksum.c:1708,1
    - Dst: md5_sum_close
      Src: /src/glib/glib/gchecksum.c:1720,1
    - Dst: g_checksum_type_get_length
      Src: /src/glib/glib/gchecksum.c:1710,1
    - Dst: sha384_sum_digest
      Src: /src/glib/glib/gchecksum.c:1747,1
    - Dst: sha512_sum_digest
      Src: /src/glib/glib/gchecksum.c:1755,1
    - Dst: sha384_sum_to_string
      Src: /src/glib/glib/gchecksum.c:1745,1
    - Dst: sha512_sum_to_string
      Src: /src/glib/glib/gchecksum.c:1753,1
    - Dst: sha512_sum_close
      Src: /src/glib/glib/gchecksum.c:1752,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gchecksum.c:1711,1
    - Dst: sha1_sum_to_string
      Src: /src/glib/glib/gchecksum.c:1729,1
    - Dst: sha1_sum_digest
      Src: /src/glib/glib/gchecksum.c:1731,1
    - Dst: sha256_sum_to_string
      Src: /src/glib/glib/gchecksum.c:1737,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gchecksum.c:1758,1
    - Dst: sha256_sum_digest
      Src: /src/glib/glib/gchecksum.c:1739,1
    - Dst: md5_sum_to_string
      Src: /src/glib/glib/gchecksum.c:1721,1
    - Dst: md5_sum_digest
      Src: /src/glib/glib/gchecksum.c:1723,1
    - Dst: sha1_sum_close
      Src: /src/glib/glib/gchecksum.c:1728,1
    - Dst: sha256_sum_close
      Src: /src/glib/glib/gchecksum.c:1736,1
    - Dst: sha512_sum_close
      Src: /src/glib/glib/gchecksum.c:1744,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 40
    argCount: 3
    argNames:
    - checksum
    - buffer
    - digest_len
    argTypes:
    - GChecksum*
    - guint8*
    - gsize*
    constantsTouched: []
    func_position:
      end: 1766
      start: 1699
    functionDepth: 0
    functionLinenumber: 1699
    functionLinenumberEnd: 1766
    functionName: g_checksum_get_digest
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached:
    - sha384_sum_to_string
    - sha512_sum_digest
    - sha384_sum_digest
    - md5_sum_digest
    - g_return_if_fail
    - sha1_sum_to_string
    - sha512_sum_to_string
    - sha256_sum_to_string
    - g_assert_not_reached
    - sha256_sum_digest
    - sha512_sum_close
    - sha256_sum_close
    - g_checksum_type_get_length
    - md5_sum_to_string
    - sha1_sum_digest
    - sha1_sum_close
    - md5_sum_close
    linkageType: ''
    returnType: void
    signature: 'void g_checksum_get_digest (GChecksum *checksum, guint8 *buffer, gsize
      *digest_len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/glib/glib/gchecksum.c:721,1
    - Dst: sha1_transform
      Src: /src/glib/glib/gchecksum.c:724,1
    - Dst: sha_byte_reverse
      Src: /src/glib/glib/gchecksum.c:723,1
    - Dst: memcpy
      Src: /src/glib/glib/gchecksum.c:717,1
    - Dst: memcpy
      Src: /src/glib/glib/gchecksum.c:733,1
    - Dst: sha_byte_reverse
      Src: /src/glib/glib/gchecksum.c:735,1
    - Dst: sha1_transform
      Src: /src/glib/glib/gchecksum.c:736,1
    - Dst: memcpy
      Src: /src/glib/glib/gchecksum.c:743,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - sha1
    - buffer
    - count
    argTypes:
    - Sha1sum*
    - guchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 744
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 744
    functionName: sha1_sum_update
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached:
    - memcpy
    - sha_byte_reverse
    - sha1_transform
    linkageType: ''
    returnType: void
    signature: 'static void sha1_sum_update (Sha1sum *sha1, const guchar *buffer,
      gsize count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: digest_to_string
      Src: /src/glib/glib/gchecksum.c:801,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 802
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 802
    functionName: sha1_sum_to_string
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached:
    - digest_to_string
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *sha1_sum_to_string (Sha1sum *sha1) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/glib/glib/gchecksum.c:1382,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - sha512
    - digest
    argTypes:
    - Sha512sum*
    - guint8*
    constantsTouched: []
    func_position:
      end: 1383
      start: 1378
    functionDepth: 0
    functionLinenumber: 1378
    functionLinenumberEnd: 1383
    functionName: sha384_sum_digest
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'static void sha384_sum_digest (Sha512sum *sha512, guint8 *digest) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gchecksum.c:1544,1
    - Dst: g_strdup
      Src: /src/glib/glib/gchecksum.c:1549,1
    - Dst: g_slice_new
      Src: /src/glib/glib/gchecksum.c:1546,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1552
      start: 1539
    functionDepth: 0
    functionLinenumber: 1539
    functionLinenumberEnd: 1552
    functionName: g_checksum_copy
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_slice_new
    - g_strdup
    linkageType: ''
    returnType: GChecksum*
    signature: 'GChecksum *g_checksum_copy (const GChecksum *checksum) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gchecksum.c:1647,1
    - Dst: sha1_sum_to_string
      Src: /src/glib/glib/gchecksum.c:1660,1
    - Dst: sha1_sum_close
      Src: /src/glib/glib/gchecksum.c:1659,1
    - Dst: md5_sum_close
      Src: /src/glib/glib/gchecksum.c:1655,1
    - Dst: md5_sum_to_string
      Src: /src/glib/glib/gchecksum.c:1656,1
    - Dst: sha256_sum_close
      Src: /src/glib/glib/gchecksum.c:1663,1
    - Dst: sha256_sum_to_string
      Src: /src/glib/glib/gchecksum.c:1664,1
    - Dst: sha512_sum_close
      Src: /src/glib/glib/gchecksum.c:1667,1
    - Dst: sha384_sum_to_string
      Src: /src/glib/glib/gchecksum.c:1668,1
    - Dst: sha512_sum_close
      Src: /src/glib/glib/gchecksum.c:1671,1
    - Dst: sha512_sum_to_string
      Src: /src/glib/glib/gchecksum.c:1672,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gchecksum.c:1675,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1682
      start: 1642
    functionDepth: 0
    functionLinenumber: 1642
    functionLinenumberEnd: 1682
    functionName: g_checksum_get_string
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached:
    - sha384_sum_to_string
    - g_return_val_if_fail
    - sha1_sum_to_string
    - sha512_sum_to_string
    - sha256_sum_to_string
    - g_assert_not_reached
    - sha512_sum_close
    - sha256_sum_close
    - md5_sum_to_string
    - sha1_sum_close
    - md5_sum_close
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_checksum_get_string (GChecksum *checksum) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - buffer
    - length
    argTypes:
    - guchar*
    - gulong
    constantsTouched: []
    func_position:
      end: 159
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 159
    functionName: md5_byte_reverse
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void md5_byte_reverse (guchar *buffer, gulong length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/glib/glib/gchecksum.c:1389,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - sha512
    - digest
    argTypes:
    - Sha512sum*
    - guint8*
    constantsTouched: []
    func_position:
      end: 1390
      start: 1385
    functionDepth: 0
    functionLinenumber: 1385
    functionLinenumberEnd: 1390
    functionName: sha512_sum_digest
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'static void sha512_sum_digest (Sha512sum *sha512, guint8 *digest) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_VALID_TYPE
      Src: /src/glib/glib/gchecksum.c:1476,1
    - Dst: g_slice_new0
      Src: /src/glib/glib/gchecksum.c:1479,1
    - Dst: g_checksum_reset
      Src: /src/glib/glib/gchecksum.c:1482,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1485
      start: 1471
    functionDepth: 0
    functionLinenumber: 1471
    functionLinenumberEnd: 1485
    functionName: g_checksum_new
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached:
    - IS_VALID_TYPE
    - g_checksum_reset
    - g_slice_new0
    linkageType: ''
    returnType: GChecksum*
    signature: 'GChecksum *g_checksum_new (GChecksumType checksum_type) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gchecksum.c:1498,1
    - Dst: sha1_sum_init
      Src: /src/glib/glib/gchecksum.c:1509,1
    - Dst: md5_sum_init
      Src: /src/glib/glib/gchecksum.c:1506,1
    - Dst: sha256_sum_init
      Src: /src/glib/glib/gchecksum.c:1512,1
    - Dst: g_free
      Src: /src/glib/glib/gchecksum.c:1500,1
    - Dst: sha384_sum_init
      Src: /src/glib/glib/gchecksum.c:1515,1
    - Dst: sha512_sum_init
      Src: /src/glib/glib/gchecksum.c:1518,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gchecksum.c:1521,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 1
    argNames:
    - checksum
    argTypes:
    - GChecksum*
    constantsTouched: []
    func_position:
      end: 1524
      start: 1495
    functionDepth: 0
    functionLinenumber: 1495
    functionLinenumberEnd: 1524
    functionName: g_checksum_reset
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached:
    - sha512_sum_init
    - g_return_if_fail
    - sha384_sum_init
    - sha1_sum_init
    - g_assert_not_reached
    - sha256_sum_init
    - g_free
    - md5_sum_init
    linkageType: ''
    returnType: void
    signature: 'void g_checksum_reset (GChecksum *checksum) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gchecksum.c:1862,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/gchecksum.c:1864,1
    - Dst: g_compute_checksum_for_data
      Src: /src/glib/glib/gchecksum.c:1865,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1866
      start: 1855
    functionDepth: 0
    functionLinenumber: 1855
    functionLinenumberEnd: 1866
    functionName: g_compute_checksum_for_bytes
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached:
    - g_compute_checksum_for_data
    - g_return_val_if_fail
    - g_bytes_get_data
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_compute_checksum_for_bytes (GChecksumType checksum_type,
      GBytes *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:589,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:615,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:619,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:627,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:616,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:628,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:617,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:630,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:618,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:626,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:661,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:655,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:667,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:648,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:602,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:665,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:659,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:641,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:647,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:613,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:621,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:625,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:614,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:622,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:591,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:593,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:610,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:611,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:612,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:660,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:665,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:642,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:653,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:624,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:658,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:627,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:628,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:630,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:626,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:631,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:637,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:638,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:639,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:640,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:641,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:670,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:659,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:640,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:653,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:596,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:598,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:669,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:651,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:663,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:657,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:666,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:621,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:625,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:634,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:622,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:635,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:623,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:632,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:636,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:620,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:624,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:652,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:609,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:664,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:623,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:657,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:669,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:600,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:667,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:655,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:660,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:601,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:604,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:605,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:603,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:606,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:607,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:609,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:637,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:638,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:639,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:649,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:668,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:662,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:656,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:590,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:592,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:670,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:634,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:635,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:632,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:633,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:636,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:642,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:643,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:644,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:645,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:646,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:666,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:654,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:594,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:631,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:664,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:618,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:652,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:588,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:595,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:597,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:604,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:605,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:606,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:615,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:619,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:607,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:616,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:647,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:662,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:656,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:668,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:649,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:614,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:599,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:610,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:611,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:612,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:613,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:643,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:644,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:645,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:646,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:658,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:663,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:617,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:651,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:648,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:661,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:620,1
    - Dst: expand
      Src: /src/glib/glib/gchecksum.c:654,1
    - Dst: subRound
      Src: /src/glib/glib/gchecksum.c:633,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 155
    argCount: 2
    argNames:
    - buf
    - in
    argTypes:
    - guint32
    - guint32
    constantsTouched: []
    func_position:
      end: 678
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 678
    functionName: sha1_transform
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached:
    - subRound
    - expand
    linkageType: ''
    returnType: void
    signature: 'static void sha1_transform (guint32 buf[5], guint32 in[16]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUT_UINT32
      Src: /src/glib/glib/gchecksum.c:1051,1
    - Dst: PUT_UINT32
      Src: /src/glib/glib/gchecksum.c:1052,1
    - Dst: sha256_sum_update
      Src: /src/glib/glib/gchecksum.c:1057,1
    - Dst: PUT_UINT32
      Src: /src/glib/glib/gchecksum.c:1060,1
    - Dst: sha256_sum_update
      Src: /src/glib/glib/gchecksum.c:1058,1
    - Dst: PUT_UINT32
      Src: /src/glib/glib/gchecksum.c:1061,1
    - Dst: PUT_UINT32
      Src: /src/glib/glib/gchecksum.c:1062,1
    - Dst: PUT_UINT32
      Src: /src/glib/glib/gchecksum.c:1063,1
    - Dst: PUT_UINT32
      Src: /src/glib/glib/gchecksum.c:1064,1
    - Dst: PUT_UINT32
      Src: /src/glib/glib/gchecksum.c:1065,1
    - Dst: PUT_UINT32
      Src: /src/glib/glib/gchecksum.c:1066,1
    - Dst: PUT_UINT32
      Src: /src/glib/glib/gchecksum.c:1067,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - sha256
    argTypes:
    - Sha256sum*
    constantsTouched: []
    func_position:
      end: 1068
      start: 1040
    functionDepth: 0
    functionLinenumber: 1040
    functionLinenumberEnd: 1068
    functionName: sha256_sum_close
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached:
    - PUT_UINT32
    - sha256_sum_update
    linkageType: ''
    returnType: void
    signature: 'static void sha256_sum_close (Sha256sum *sha256) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 1
    argNames:
    - checksum_type
    argTypes:
    - GChecksumType
    constantsTouched: []
    func_position:
      end: 1446
      start: 1418
    functionDepth: 0
    functionLinenumber: 1418
    functionLinenumberEnd: 1446
    functionName: g_checksum_type_get_length
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gssize
    signature: 'gssize g_checksum_type_get_length (GChecksumType checksum_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:260,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:259,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:261,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:262,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:263,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:264,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:271,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:275,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:273,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:274,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:292,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:295,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:304,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:312,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:318,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:299,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:279,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:322,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:319,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:302,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:282,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:283,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:300,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:280,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:313,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:293,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:310,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:287,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:284,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:308,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:297,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:320,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:317,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:256,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:258,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:257,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:265,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:268,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:269,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:266,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:267,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:270,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:278,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:288,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:281,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:301,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:298,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:321,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:276,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:296,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:285,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:309,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:305,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:307,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:277,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:303,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:290,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:316,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:286,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:311,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:291,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:314,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:315,1
    - Dst: md5_step
      Src: /src/glib/glib/gchecksum.c:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 137
    argCount: 2
    argNames:
    - buf
    - in
    argTypes:
    - guint32
    - guint32
    constantsTouched: []
    func_position:
      end: 334
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 334
    functionName: md5_transform
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached:
    - md5_step
    linkageType: ''
    returnType: void
    signature: 'static void md5_transform (guint32 buf[4], guint32 const in[16]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/glib/glib/gchecksum.c:415,1
    - Dst: md5_byte_reverse
      Src: /src/glib/glib/gchecksum.c:417,1
    - Dst: memset
      Src: /src/glib/glib/gchecksum.c:426,1
    - Dst: memset
      Src: /src/glib/glib/gchecksum.c:421,1
    - Dst: md5_transform
      Src: /src/glib/glib/gchecksum.c:418,1
    - Dst: md5_byte_reverse
      Src: /src/glib/glib/gchecksum.c:429,1
    - Dst: md5_transform
      Src: /src/glib/glib/gchecksum.c:435,1
    - Dst: md5_byte_reverse
      Src: /src/glib/glib/gchecksum.c:436,1
    - Dst: memcpy
      Src: /src/glib/glib/gchecksum.c:438,1
    - Dst: memset
      Src: /src/glib/glib/gchecksum.c:441,1
    - Dst: memset
      Src: /src/glib/glib/gchecksum.c:442,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 1
    argNames:
    - md5
    argTypes:
    - Md5sum*
    constantsTouched: []
    func_position:
      end: 443
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 443
    functionName: md5_sum_close
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached:
    - md5_transform
    - memcpy
    - md5_byte_reverse
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void md5_sum_close (Md5sum *md5) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - sha1
    argTypes:
    - Sha1sum*
    constantsTouched: []
    func_position:
      end: 521
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 521
    functionName: sha1_sum_init
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void sha1_sum_init (Sha1sum *sha1) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:912,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:920,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:929,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:938,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:947,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:956,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:965,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:919,1
    - Dst: GET_UINT32
      Src: /src/glib/glib/gchecksum.c:860,1
    - Dst: GET_UINT32
      Src: /src/glib/glib/gchecksum.c:871,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:928,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:917,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:937,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:946,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:955,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:964,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:934,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:921,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:925,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:930,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:943,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:952,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:961,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:924,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:933,1
    - Dst: GET_UINT32
      Src: /src/glib/glib/gchecksum.c:863,1
    - Dst: GET_UINT32
      Src: /src/glib/glib/gchecksum.c:866,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:905,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:942,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:951,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:960,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:904,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:919,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:928,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:937,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:946,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:955,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:964,1
    - Dst: GET_UINT32
      Src: /src/glib/glib/gchecksum.c:862,1
    - Dst: GET_UINT32
      Src: /src/glib/glib/gchecksum.c:873,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:909,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:927,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:936,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:945,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:954,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:958,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:933,1
    - Dst: GET_UINT32
      Src: /src/glib/glib/gchecksum.c:865,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:914,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:924,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:942,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:951,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:960,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:923,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:932,1
    - Dst: GET_UINT32
      Src: /src/glib/glib/gchecksum.c:868,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:907,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:941,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:950,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:959,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:963,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:906,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:918,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:936,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:927,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:945,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:954,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:958,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:963,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:926,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:939,1
    - Dst: GET_UINT32
      Src: /src/glib/glib/gchecksum.c:864,1
    - Dst: GET_UINT32
      Src: /src/glib/glib/gchecksum.c:867,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:911,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:935,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:948,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:957,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:966,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:932,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:941,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:916,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:923,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:950,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:959,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:931,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:940,1
    - Dst: GET_UINT32
      Src: /src/glib/glib/gchecksum.c:859,1
    - Dst: GET_UINT32
      Src: /src/glib/glib/gchecksum.c:870,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:922,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:944,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:949,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:953,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:962,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:910,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:926,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:935,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:939,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:944,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:948,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:957,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:966,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:915,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:920,1
    - Dst: GET_UINT32
      Src: /src/glib/glib/gchecksum.c:858,1
    - Dst: GET_UINT32
      Src: /src/glib/glib/gchecksum.c:869,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:903,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:929,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:938,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:947,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:956,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:965,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:940,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:908,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:922,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:931,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:949,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:953,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:962,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:921,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:930,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:925,1
    - Dst: GET_UINT32
      Src: /src/glib/glib/gchecksum.c:861,1
    - Dst: GET_UINT32
      Src: /src/glib/glib/gchecksum.c:872,1
    - Dst: P
      Src: /src/glib/glib/gchecksum.c:913,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:934,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:943,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:952,1
    - Dst: R
      Src: /src/glib/glib/gchecksum.c:961,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 145
    argCount: 2
    argNames:
    - buf
    - data
    argTypes:
    - guint32
    - guint8
    constantsTouched: []
    func_position:
      end: 987
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 987
    functionName: sha256_transform
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached:
    - GET_UINT32
    - R
    - P
    linkageType: ''
    returnType: void
    signature: 'static void sha256_transform (guint32 buf[8], guint8 const data[64]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: digest_to_string
      Src: /src/glib/glib/gchecksum.c:1076,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1077
      start: 1073
    functionDepth: 0
    functionLinenumber: 1073
    functionLinenumberEnd: 1077
    functionName: sha256_sum_to_string
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached:
    - digest_to_string
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *sha256_sum_to_string (Sha256sum *sha256) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_GUINT64_CONSTANT
      Src: /src/glib/glib/gchecksum.c:1169,1
    - Dst: G_GUINT64_CONSTANT
      Src: /src/glib/glib/gchecksum.c:1172,1
    - Dst: G_GUINT64_CONSTANT
      Src: /src/glib/glib/gchecksum.c:1171,1
    - Dst: G_GUINT64_CONSTANT
      Src: /src/glib/glib/gchecksum.c:1170,1
    - Dst: G_GUINT64_CONSTANT
      Src: /src/glib/glib/gchecksum.c:1173,1
    - Dst: G_GUINT64_CONSTANT
      Src: /src/glib/glib/gchecksum.c:1174,1
    - Dst: G_GUINT64_CONSTANT
      Src: /src/glib/glib/gchecksum.c:1175,1
    - Dst: G_GUINT64_CONSTANT
      Src: /src/glib/glib/gchecksum.c:1176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - sha512
    argTypes:
    - Sha512sum*
    constantsTouched: []
    func_position:
      end: 1182
      start: 1165
    functionDepth: 0
    functionLinenumber: 1165
    functionLinenumberEnd: 1182
    functionName: sha384_sum_init
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached:
    - G_GUINT64_CONSTANT
    linkageType: ''
    returnType: void
    signature: 'static void sha384_sum_init (Sha512sum *sha512) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sigma1
      Src: /src/glib/glib/gchecksum.c:1235,1
    - Dst: sigma0
      Src: /src/glib/glib/gchecksum.c:1235,1
    - Dst: SIGMA1
      Src: /src/glib/glib/gchecksum.c:1251,1
    - Dst: Ch
      Src: /src/glib/glib/gchecksum.c:1251,1
    - Dst: SIGMA0
      Src: /src/glib/glib/gchecksum.c:1252,1
    - Dst: Maj
      Src: /src/glib/glib/gchecksum.c:1252,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 82
    argCount: 2
    argNames:
    - H
    - data
    argTypes:
    - guint64
    - guint8
    constantsTouched: []
    func_position:
      end: 1272
      start: 1203
    functionDepth: 0
    functionLinenumber: 1203
    functionLinenumberEnd: 1272
    functionName: sha512_transform
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached:
    - sigma1
    - sigma0
    - SIGMA0
    - SIGMA1
    - Maj
    - Ch
    linkageType: ''
    returnType: void
    signature: 'static void sha512_transform (guint64 H[8], guint8 const data[SHA2_BLOCK_LEN]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUINT32_SWAP_LE_BE
      Src: /src/glib/glib/gchecksum.c:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - buffer
    - length
    argTypes:
    - guint32*
    - gint
    constantsTouched: []
    func_position:
      end: 175
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 175
    functionName: sha_byte_reverse
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached:
    - GUINT32_SWAP_LE_BE
    linkageType: ''
    returnType: void
    signature: 'static inline void sha_byte_reverse (guint32 *buffer, gint length) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/glib/glib/gchecksum.c:363,1
    - Dst: memcpy
      Src: /src/glib/glib/gchecksum.c:367,1
    - Dst: md5_transform
      Src: /src/glib/glib/gchecksum.c:370,1
    - Dst: memcpy
      Src: /src/glib/glib/gchecksum.c:379,1
    - Dst: md5_byte_reverse
      Src: /src/glib/glib/gchecksum.c:369,1
    - Dst: md5_byte_reverse
      Src: /src/glib/glib/gchecksum.c:381,1
    - Dst: md5_transform
      Src: /src/glib/glib/gchecksum.c:382,1
    - Dst: memcpy
      Src: /src/glib/glib/gchecksum.c:389,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 3
    argNames:
    - md5
    - data
    - length
    argTypes:
    - Md5sum*
    - guchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 390
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 390
    functionName: md5_sum_update
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached:
    - md5_transform
    - memcpy
    - md5_byte_reverse
    linkageType: ''
    returnType: void
    signature: 'static void md5_sum_update (Md5sum *md5, const guchar *data, gsize
      length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: digest_to_string
      Src: /src/glib/glib/gchecksum.c:448,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 449
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 449
    functionName: md5_sum_to_string
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached:
    - digest_to_string
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *md5_sum_to_string (Md5sum *md5) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/glib/glib/gchecksum.c:1011,1
    - Dst: sha256_transform
      Src: /src/glib/glib/gchecksum.c:1013,1
    - Dst: sha256_transform
      Src: /src/glib/glib/gchecksum.c:1022,1
    - Dst: memcpy
      Src: /src/glib/glib/gchecksum.c:1029,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 3
    argNames:
    - sha256
    - buffer
    - length
    argTypes:
    - Sha256sum*
    - guchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 1030
      start: 989
    functionDepth: 0
    functionLinenumber: 989
    functionLinenumberEnd: 1030
    functionName: sha256_sum_update
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached:
    - memcpy
    - sha256_transform
    linkageType: ''
    returnType: void
    signature: 'static void sha256_sum_update (Sha256sum *sha256, const guchar *buffer,
      gsize length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - sha256
    - digest
    argTypes:
    - Sha256sum*
    - guint8*
    constantsTouched: []
    func_position:
      end: 1087
      start: 1079
    functionDepth: 0
    functionLinenumber: 1079
    functionLinenumberEnd: 1087
    functionName: sha256_sum_digest
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void sha256_sum_digest (Sha256sum *sha256, guint8 *digest) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_GUINT64_CONSTANT
      Src: /src/glib/glib/gchecksum.c:1188,1
    - Dst: G_GUINT64_CONSTANT
      Src: /src/glib/glib/gchecksum.c:1191,1
    - Dst: G_GUINT64_CONSTANT
      Src: /src/glib/glib/gchecksum.c:1190,1
    - Dst: G_GUINT64_CONSTANT
      Src: /src/glib/glib/gchecksum.c:1189,1
    - Dst: G_GUINT64_CONSTANT
      Src: /src/glib/glib/gchecksum.c:1192,1
    - Dst: G_GUINT64_CONSTANT
      Src: /src/glib/glib/gchecksum.c:1193,1
    - Dst: G_GUINT64_CONSTANT
      Src: /src/glib/glib/gchecksum.c:1194,1
    - Dst: G_GUINT64_CONSTANT
      Src: /src/glib/glib/gchecksum.c:1195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - sha512
    argTypes:
    - Sha512sum*
    constantsTouched: []
    func_position:
      end: 1201
      start: 1184
    functionDepth: 0
    functionLinenumber: 1184
    functionLinenumberEnd: 1201
    functionName: sha512_sum_init
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached:
    - G_GUINT64_CONSTANT
    linkageType: ''
    returnType: void
    signature: 'static void sha512_sum_init (Sha512sum *sha512) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/glib/glib/gchecksum.c:1294,1
    - Dst: memcpy
      Src: /src/glib/glib/gchecksum.c:1295,1
    - Dst: sha512_transform
      Src: /src/glib/glib/gchecksum.c:1302,1
    - Dst: memcpy
      Src: /src/glib/glib/gchecksum.c:1310,1
    - Dst: sha512_transform
      Src: /src/glib/glib/gchecksum.c:1312,1
    - Dst: memcpy
      Src: /src/glib/glib/gchecksum.c:1321,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 3
    argNames:
    - sha512
    - buffer
    - length
    argTypes:
    - Sha512sum*
    - guchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 1324
      start: 1274
    functionDepth: 0
    functionLinenumber: 1274
    functionLinenumberEnd: 1324
    functionName: sha512_sum_update
    functionSourceFile: /src/glib/glib/gchecksum.c
    functionUses: []
    functionsReached:
    - memcpy
    - sha512_transform
    - MIN
    linkageType: ''
    returnType: void
    signature: 'static void sha512_sum_update (Sha512sum *sha512, const guchar *buffer,
      gsize length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 153
    functionName: g_utf8_find_prev_char
    functionSourceFile: /src/glib/glib/gutf8.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: "gchar *g_utf8_find_prev_char (const gchar *str,\t\t const gchar *p) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gutf8.c:239,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gutf8.c:245,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gutf8.c:259,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gutf8.c:254,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 2
    argNames:
    - p
    - max
    argTypes:
    - gchar*
    - gssize
    constantsTouched: []
    func_position:
      end: 270
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 270
    functionName: g_utf8_strlen
    functionSourceFile: /src/glib/glib/gutf8.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_utf8_next_char
    linkageType: ''
    returnType: glong
    signature: 'glong g_utf8_strlen (const gchar *p, gssize max) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gutf8.c:1123,1
    - Dst: SURROGATE_VALUE
      Src: /src/glib/glib/gutf8.c:1137,1
    - Dst: _
      Src: /src/glib/glib/gutf8.c:1143,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gutf8.c:1151,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gutf8.c:1142,1
    - Dst: _
      Src: /src/glib/glib/gutf8.c:1152,1
    - Dst: UTF8_LENGTH
      Src: /src/glib/glib/gutf8.c:1166,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gutf8.c:1174,1
    - Dst: _
      Src: /src/glib/glib/gutf8.c:1175,1
    - Dst: try_malloc_n
      Src: /src/glib/glib/gutf8.c:1182,1
    - Dst: SURROGATE_VALUE
      Src: /src/glib/glib/gutf8.c:1196,1
    - Dst: g_unichar_to_utf8
      Src: /src/glib/glib/gutf8.c:1208,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 70
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1226
    functionName: g_utf16_to_utf8
    functionSourceFile: /src/glib/glib/gutf8.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_unichar_to_utf8
    - g_set_error_literal
    - UTF8_LENGTH
    - _
    - try_malloc_n
    - SURROGATE_VALUE
    linkageType: ''
    returnType: gchar*
    signature: "gchar *g_utf16_to_utf8 (const gunichar2 *str,\t\t glong len,\t\t glong\
      \ *items_read,\t\t glong *items_written,\t\t GError **error) "
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gutf8.c:1264,1
    - Dst: _
      Src: /src/glib/glib/gutf8.c:1282,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gutf8.c:1290,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gutf8.c:1281,1
    - Dst: _
      Src: /src/glib/glib/gutf8.c:1291,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gutf8.c:1311,1
    - Dst: _
      Src: /src/glib/glib/gutf8.c:1312,1
    - Dst: try_malloc_n
      Src: /src/glib/glib/gutf8.c:1319,1
    - Dst: SURROGATE_VALUE
      Src: /src/glib/glib/gutf8.c:1333,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1364
      start: 1251
    functionDepth: 0
    functionLinenumber: 1251
    functionLinenumberEnd: 1364
    functionName: g_utf16_to_ucs4
    functionSourceFile: /src/glib/glib/gutf8.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_set_error_literal
    - _
    - try_malloc_n
    - SURROGATE_VALUE
    linkageType: ''
    returnType: gunichar*
    signature: "gunichar *g_utf16_to_ucs4 (const gunichar2 *str,\t\t glong len, \t\
      \t glong *items_read, \t\t glong *items_written, \t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - memory
    - offset
    argTypes:
    - gconstpointer
    - gsize
    constantsTouched: []
    func_position:
      end: 1595
      start: 1590
    functionDepth: 0
    functionLinenumber: 1590
    functionLinenumberEnd: 1595
    functionName: load_u8
    functionSourceFile: /src/glib/glib/gutf8.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint8
    signature: 'static inline guint8 load_u8 (gconstpointer memory, gsize offset) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: utf8_verify
      Src: /src/glib/glib/gutf8.c:1883,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - str
    - max_len
    - end
    argTypes:
    - char*
    - gsize
    - gchar**
    constantsTouched: []
    func_position:
      end: 1889
      start: 1877
    functionDepth: 0
    functionLinenumber: 1877
    functionLinenumberEnd: 1889
    functionName: g_utf8_validate_len
    functionSourceFile: /src/glib/glib/gutf8.c
    functionUses: []
    functionsReached:
    - utf8_verify
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_utf8_validate_len (const char *str, gsize max_len, const
      gchar **end) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 216
    functionName: g_utf8_prev_char
    functionSourceFile: /src/glib/glib/gutf8.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_utf8_prev_char (const gchar *p) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gutf8.c:2006,1
    - Dst: strlen
      Src: /src/glib/glib/gutf8.c:2009,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gutf8.c:2024,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gutf8.c:2022,1
    - Dst: g_utf8_validate
      Src: /src/glib/glib/gutf8.c:2017,1
    - Dst: g_string_append
      Src: /src/glib/glib/gutf8.c:2026,1
    - Dst: g_strndup
      Src: /src/glib/glib/gutf8.c:2033,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gutf8.c:2035,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gutf8.c:2036,1
    - Dst: g_assert
      Src: /src/glib/glib/gutf8.c:2038,1
    - Dst: g_utf8_validate
      Src: /src/glib/glib/gutf8.c:2038,1
    - Dst: g_string_free
      Src: /src/glib/glib/gutf8.c:2040,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2041
      start: 1998
    functionDepth: 0
    functionLinenumber: 1998
    functionLinenumberEnd: 2041
    functionName: g_utf8_make_valid
    functionSourceFile: /src/glib/glib/gutf8.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_string_append_len
    - strlen
    - g_string_append_c
    - g_assert
    - g_strndup
    - g_string_free
    - g_string_sized_new
    - g_utf8_validate
    - g_string_append
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_utf8_make_valid (const gchar *str, gssize len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _attribute_aligned
      Src: /src/glib/glib/gutf8.c:1610,1
    - Dst: _attribute_aligned
      Src: /src/glib/glib/gutf8.c:1617,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 2
    argNames:
    - memory
    - offset
    argTypes:
    - gconstpointer
    - gsize
    constantsTouched: []
    func_position:
      end: 1622
      start: 1605
    functionDepth: 0
    functionLinenumber: 1605
    functionLinenumberEnd: 1622
    functionName: load_word
    functionSourceFile: /src/glib/glib/gutf8.c
    functionUses: []
    functionsReached:
    - _attribute_aligned
    linkageType: ''
    returnType: gsize
    signature: 'static inline gsize load_word (gconstpointer memory, gsize offset) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gutf8.c:674,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gutf8.c:713,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gutf8.c:739,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gutf8.c:727,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 62
    argCount: 2
    argNames:
    - p
    - max_len
    argTypes:
    - gchar*
    - gssize
    constantsTouched: []
    func_position:
      end: 743
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 743
    functionName: g_utf8_get_char_extended
    functionSourceFile: /src/glib/glib/gutf8.c
    functionUses: []
    functionsReached:
    - G_UNLIKELY
    linkageType: ''
    returnType: gunichar
    signature: "static inline gunichar g_utf8_get_char_extended (const gchar *p,\t\
      \t\t gssize max_len) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UTF8_COMPUTE
      Src: /src/glib/glib/gutf8.c:338,1
    - Dst: UTF8_GET
      Src: /src/glib/glib/gutf8.c:341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 344
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 344
    functionName: g_utf8_get_char
    functionSourceFile: /src/glib/glib/gutf8.c
    functionUses: []
    functionsReached:
    - UTF8_GET
    - UTF8_COMPUTE
    linkageType: ''
    returnType: gunichar
    signature: 'gunichar g_utf8_get_char (const gchar *p) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/glib/gutf8.c:485,1
    - Dst: g_utf8_strlen
      Src: /src/glib/glib/gutf8.c:498,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gutf8.c:496,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutf8.c:501,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutf8.c:503,1
    - Dst: g_utf8_offset_to_pointer
      Src: /src/glib/glib/gutf8.c:510,1
    - Dst: g_utf8_offset_to_pointer
      Src: /src/glib/glib/gutf8.c:511,1
    - Dst: g_utf8_offset_to_pointer
      Src: /src/glib/glib/gutf8.c:513,1
    - Dst: g_assert
      Src: /src/glib/glib/gutf8.c:516,1
    - Dst: g_malloc
      Src: /src/glib/glib/gutf8.c:521,1
    - Dst: memcpy
      Src: /src/glib/glib/gutf8.c:524,1
    - Dst: strncpy
      Src: /src/glib/glib/gutf8.c:525,1
    - Dst: strncpy
      Src: /src/glib/glib/gutf8.c:523,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 529
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 529
    functionName: g_utf8_truncate_middle
    functionSourceFile: /src/glib/glib/gutf8.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_strdup
    - g_return_val_if_fail
    - strlen
    - g_assert
    - strncpy
    - g_malloc
    - g_utf8_offset_to_pointer
    - g_utf8_strlen
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_utf8_truncate_middle (const gchar *string, gsize truncate_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unichar_to_utf8
      Src: /src/glib/glib/gutf8.c:619,1
    - Dst: g_strstr_len
      Src: /src/glib/glib/gutf8.c:622,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 623
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 623
    functionName: g_utf8_strchr
    functionSourceFile: /src/glib/glib/gutf8.c
    functionUses: []
    functionsReached:
    - g_strstr_len
    - g_unichar_to_utf8
    linkageType: ''
    returnType: gchar*
    signature: "gchar *g_utf8_strchr (const char *p,\t gssize len,\t gunichar c) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unichar_to_utf8
      Src: /src/glib/glib/gutf8.c:648,1
    - Dst: g_strrstr_len
      Src: /src/glib/glib/gutf8.c:651,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 652
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 652
    functionName: g_utf8_strrchr
    functionSourceFile: /src/glib/glib/gutf8.c
    functionUses: []
    functionsReached:
    - g_unichar_to_utf8
    - g_strrstr_len
    linkageType: ''
    returnType: gchar*
    signature: "gchar *g_utf8_strrchr (const char *p,\t\tgssize len,\t\tgunichar c) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - word
    argTypes:
    - gsize
    constantsTouched: []
    func_position:
      end: 1633
      start: 1628
    functionDepth: 0
    functionLinenumber: 1628
    functionLinenumberEnd: 1633
    functionName: utf8_word_is_ascii
    functionSourceFile: /src/glib/glib/gutf8.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int utf8_word_is_ascii (gsize word) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gutf8.c:297,1
    - Dst: g_utf8_offset_to_pointer
      Src: /src/glib/glib/gutf8.c:304,1
    - Dst: g_utf8_offset_to_pointer
      Src: /src/glib/glib/gutf8.c:299,1
    - Dst: g_utf8_offset_to_pointer
      Src: /src/glib/glib/gutf8.c:308,1
    - Dst: g_utf8_strlen
      Src: /src/glib/glib/gutf8.c:303,1
    - Dst: g_malloc
      Src: /src/glib/glib/gutf8.c:311,1
    - Dst: memcpy
      Src: /src/glib/glib/gutf8.c:312,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 316
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 316
    functionName: g_utf8_substring
    functionSourceFile: /src/glib/glib/gutf8.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_return_val_if_fail
    - g_malloc
    - g_utf8_offset_to_pointer
    - g_utf8_strlen
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_utf8_substring (const gchar *str, glong start_pos, glong
      end_pos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gutf8.c:457,1
    - Dst: strncpy
      Src: /src/glib/glib/gutf8.c:460,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 463
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 463
    functionName: g_utf8_strncpy
    functionSourceFile: /src/glib/glib/gutf8.c
    functionUses: []
    functionsReached:
    - strncpy
    - g_utf8_next_char
    linkageType: ''
    returnType: gchar*
    signature: "gchar *g_utf8_strncpy (gchar *dest,\t\tconst gchar *src,\t\tgsize\
      \ n) "
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - c
    - outbuf
    argTypes:
    - gunichar
    - gchar*
    constantsTouched: []
    func_position:
      end: 595
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 595
    functionName: g_unichar_to_utf8
    functionSourceFile: /src/glib/glib/gutf8.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int g_unichar_to_utf8 (gunichar c,\t\t gchar *outbuf) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gutf8.c:1040,1
    - Dst: UTF8_LENGTH
      Src: /src/glib/glib/gutf8.c:1045,1
    - Dst: try_malloc_n
      Src: /src/glib/glib/gutf8.c:1048,1
    - Dst: _
      Src: /src/glib/glib/gutf8.c:1041,1
    - Dst: g_unichar_to_utf8
      Src: /src/glib/glib/gutf8.c:1056,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1068
    functionName: g_ucs4_to_utf8
    functionSourceFile: /src/glib/glib/gutf8.c
    functionUses: []
    functionsReached:
    - g_unichar_to_utf8
    - g_set_error_literal
    - UTF8_LENGTH
    - _
    - try_malloc_n
    linkageType: ''
    returnType: gchar*
    signature: "gchar *g_ucs4_to_utf8 (const gunichar *str,\t\tglong len, \t\tglong\
      \ *items_read, \t\tglong *items_written, \t\tGError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/glib/gutf8.c:1858,1
    - Dst: g_utf8_validate_len
      Src: /src/glib/glib/gutf8.c:1860,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - str
    - max_len
    - end
    argTypes:
    - char*
    - gssize
    - gchar**
    constantsTouched: []
    func_position:
      end: 1861
      start: 1853
    functionDepth: 0
    functionLinenumber: 1853
    functionLinenumberEnd: 1861
    functionName: g_utf8_validate
    functionSourceFile: /src/glib/glib/gutf8.c
    functionUses: []
    functionsReached:
    - g_utf8_validate_len
    - strlen
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_utf8_validate (const char *str, gssize max_len, const gchar
      **end) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/glib/gutf8.c:1960,1
    - Dst: g_new
      Src: /src/glib/glib/gutf8.c:1962,1
    - Dst: g_assert
      Src: /src/glib/glib/gutf8.c:1969,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1976
      start: 1952
    functionDepth: 0
    functionLinenumber: 1952
    functionLinenumberEnd: 1976
    functionName: g_utf8_strreverse
    functionSourceFile: /src/glib/glib/gutf8.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_new
    - strlen
    linkageType: ''
    returnType: gchar*
    signature: "gchar *g_utf8_strreverse (const gchar *str,\t\t gssize len) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_pointer_to_offset
      Src: /src/glib/glib/gutf8.c:419,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gutf8.c:423,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - str
    - pos
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 428
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 428
    functionName: g_utf8_pointer_to_offset
    functionSourceFile: /src/glib/glib/gutf8.c
    functionUses: []
    functionsReached:
    - g_utf8_next_char
    - g_utf8_pointer_to_offset
    linkageType: ''
    returnType: glong
    signature: "glong g_utf8_pointer_to_offset (const gchar *str,\t\t\t const gchar\
      \ *pos) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_get_char_extended
      Src: /src/glib/glib/gutf8.c:775,1
    - Dst: UNICODE_VALID
      Src: /src/glib/glib/gutf8.c:784,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - p
    - max_len
    argTypes:
    - gchar*
    - gssize
    constantsTouched: []
    func_position:
      end: 788
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 788
    functionName: g_utf8_get_char_validated
    functionSourceFile: /src/glib/glib/gutf8.c
    functionUses: []
    functionsReached:
    - g_utf8_get_char_extended
    - UNICODE_VALID
    linkageType: ''
    returnType: gunichar
    signature: "gunichar g_utf8_get_char_validated (const gchar *p,\t\t\t gssize max_len) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gutf8.c:819,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gutf8.c:835,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gutf8.c:827,1
    - Dst: g_new
      Src: /src/glib/glib/gutf8.c:840,1
    - Dst: CONT_BYTE_FAST
      Src: /src/glib/glib/gutf8.c:858,1
    - Dst: CONT_BYTE_FAST
      Src: /src/glib/glib/gutf8.c:865,1
    - Dst: CONT_BYTE_FAST
      Src: /src/glib/glib/gutf8.c:872,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gutf8.c:874,1
    - Dst: CONT_BYTE_FAST
      Src: /src/glib/glib/gutf8.c:882,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 72
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 898
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 898
    functionName: g_utf8_to_ucs4_fast
    functionSourceFile: /src/glib/glib/gutf8.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_utf8_next_char
    - g_new
    - CONT_BYTE_FAST
    - G_UNLIKELY
    linkageType: ''
    returnType: gunichar*
    signature: "gunichar *g_utf8_to_ucs4_fast (const gchar *str,\t\t glong len, \t\
      \t glong *items_written) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_get_char_extended
      Src: /src/glib/glib/gutf8.c:951,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gutf8.c:959,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gutf8.c:963,1
    - Dst: _
      Src: /src/glib/glib/gutf8.c:964,1
    - Dst: _
      Src: /src/glib/glib/gutf8.c:960,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gutf8.c:971,1
    - Dst: try_malloc_n
      Src: /src/glib/glib/gutf8.c:974,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/gutf8.c:981,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gutf8.c:982,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 994
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 994
    functionName: g_utf8_to_ucs4
    functionSourceFile: /src/glib/glib/gutf8.c
    functionUses: []
    functionsReached:
    - g_utf8_next_char
    - g_utf8_get_char
    - g_utf8_get_char_extended
    - g_set_error_literal
    - _
    - try_malloc_n
    linkageType: ''
    returnType: gunichar*
    signature: "gunichar *g_utf8_to_ucs4 (const gchar *str,\t\tglong len, \t\tglong\
      \ *items_read, \t\tglong *items_written, \t\tGError **error) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gutf8.c:1526,1
    - Dst: _
      Src: /src/glib/glib/gutf8.c:1538,1
    - Dst: _
      Src: /src/glib/glib/gutf8.c:1527,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gutf8.c:1537,1
    - Dst: try_malloc_n
      Src: /src/glib/glib/gutf8.c:1546,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1574
      start: 1505
    functionDepth: 0
    functionLinenumber: 1505
    functionLinenumberEnd: 1574
    functionName: g_ucs4_to_utf16
    functionSourceFile: /src/glib/glib/gutf8.c
    functionUses: []
    functionsReached:
    - _
    - g_set_error_literal
    - try_malloc_n
    linkageType: ''
    returnType: gunichar2*
    signature: "gunichar2 *g_ucs4_to_utf16 (const gunichar *str,\t\t glong len, \t\
      \t glong *items_read, \t\t glong *items_written, \t\t GError **error) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/glib/gutf8.c:1640,1
    - Dst: load_u8
      Src: /src/glib/glib/gutf8.c:1642,1
    - Dst: load_word
      Src: /src/glib/glib/gutf8.c:1648,1
    - Dst: align_to
      Src: /src/glib/glib/gutf8.c:1644,1
    - Dst: utf8_word_is_ascii
      Src: /src/glib/glib/gutf8.c:1648,1
    - Dst: utf8_word_is_ascii
      Src: /src/glib/glib/gutf8.c:1649,1
    - Dst: load_word
      Src: /src/glib/glib/gutf8.c:1649,1
    - Dst: load_u8
      Src: /src/glib/glib/gutf8.c:1656,1
    - Dst: load_u8
      Src: /src/glib/glib/gutf8.c:1658,1
    - Dst: load_u8
      Src: /src/glib/glib/gutf8.c:1667,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 36
    argCount: 2
    argNames:
    - strp
    - lenp
    argTypes:
    - char**
    - gsize*
    constantsTouched: []
    func_position:
      end: 1680
      start: 1635
    functionDepth: 0
    functionLinenumber: 1635
    functionLinenumberEnd: 1680
    functionName: utf8_verify_ascii
    functionSourceFile: /src/glib/glib/gutf8.c
    functionUses: []
    functionsReached:
    - strlen
    - load_word
    - align_to
    - load_u8
    - utf8_word_is_ascii
    linkageType: ''
    returnType: void
    signature: 'static void utf8_verify_ascii (const char **strp, gsize *lenp) '
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: load_u8
      Src: /src/glib/glib/gutf8.c:1712,1
    - Dst: load_u8
      Src: /src/glib/glib/gutf8.c:1724,1
    - Dst: load_u8
      Src: /src/glib/glib/gutf8.c:1737,1
    - Dst: UTF8_CHAR_IS_TAIL
      Src: /src/glib/glib/gutf8.c:1763,1
    - Dst: load_u8
      Src: /src/glib/glib/gutf8.c:1739,1
    - Dst: UTF8_CHAR_IS_TAIL
      Src: /src/glib/glib/gutf8.c:1765,1
    - Dst: load_u8
      Src: /src/glib/glib/gutf8.c:1791,1
    - Dst: load_u8
      Src: /src/glib/glib/gutf8.c:1793,1
    - Dst: load_u8
      Src: /src/glib/glib/gutf8.c:1795,1
    - Dst: load_u8
      Src: /src/glib/glib/gutf8.c:1806,1
    - Dst: strlen
      Src: /src/glib/glib/gutf8.c:1689,1
    - Dst: utf8_verify_ascii
      Src: /src/glib/glib/gutf8.c:1705,1
    - Dst: UTF8_CHAR_IS_TAIL
      Src: /src/glib/glib/gutf8.c:1726,1
    - Dst: load_u8
      Src: /src/glib/glib/gutf8.c:1752,1
    - Dst: load_u8
      Src: /src/glib/glib/gutf8.c:1750,1
    - Dst: load_u8
      Src: /src/glib/glib/gutf8.c:1776,1
    - Dst: UTF8_CHAR_IS_TAIL
      Src: /src/glib/glib/gutf8.c:1778,1
    - Dst: load_u8
      Src: /src/glib/glib/gutf8.c:1778,1
    - Dst: UTF8_CHAR_IS_TAIL
      Src: /src/glib/glib/gutf8.c:1780,1
    - Dst: UTF8_CHAR_IS_TAIL
      Src: /src/glib/glib/gutf8.c:1808,1
    - Dst: UTF8_CHAR_IS_TAIL
      Src: /src/glib/glib/gutf8.c:1712,1
    - Dst: UTF8_CHAR_IS_TAIL
      Src: /src/glib/glib/gutf8.c:1737,1
    - Dst: UTF8_CHAR_IS_TAIL
      Src: /src/glib/glib/gutf8.c:1739,1
    - Dst: load_u8
      Src: /src/glib/glib/gutf8.c:1763,1
    - Dst: load_u8
      Src: /src/glib/glib/gutf8.c:1750,1
    - Dst: load_u8
      Src: /src/glib/glib/gutf8.c:1765,1
    - Dst: load_u8
      Src: /src/glib/glib/gutf8.c:1776,1
    - Dst: UTF8_CHAR_IS_TAIL
      Src: /src/glib/glib/gutf8.c:1791,1
    - Dst: UTF8_CHAR_IS_TAIL
      Src: /src/glib/glib/gutf8.c:1793,1
    - Dst: UTF8_CHAR_IS_TAIL
      Src: /src/glib/glib/gutf8.c:1795,1
    - Dst: load_u8
      Src: /src/glib/glib/gutf8.c:1695,1
    - Dst: load_u8
      Src: /src/glib/glib/gutf8.c:1724,1
    - Dst: load_u8
      Src: /src/glib/glib/gutf8.c:1726,1
    - Dst: UTF8_CHAR_IS_TAIL
      Src: /src/glib/glib/gutf8.c:1752,1
    - Dst: load_u8
      Src: /src/glib/glib/gutf8.c:1780,1
    - Dst: load_u8
      Src: /src/glib/glib/gutf8.c:1806,1
    - Dst: load_u8
      Src: /src/glib/glib/gutf8.c:1808,1
    - Dst: load_u8
      Src: /src/glib/glib/gutf8.c:1810,1
    - Dst: UTF8_CHAR_IS_TAIL
      Src: /src/glib/glib/gutf8.c:1810,1
    CyclomaticComplexity: 79
    EdgeCount: 79
    ICount: 121
    argCount: 2
    argNames:
    - strp
    - lenp
    argTypes:
    - char**
    - gsize*
    constantsTouched: []
    func_position:
      end: 1825
      start: 1684
    functionDepth: 0
    functionLinenumber: 1684
    functionLinenumberEnd: 1825
    functionName: utf8_verify
    functionSourceFile: /src/glib/glib/gutf8.c
    functionUses: []
    functionsReached:
    - utf8_verify_ascii
    - UTF8_CHAR_IS_TAIL
    - strlen
    - load_u8
    linkageType: ''
    returnType: void
    signature: 'static void utf8_verify (const char **strp, gsize *lenp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNICODE_VALID
      Src: /src/glib/glib/gutf8.c:1924,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - gunichar
    constantsTouched: []
    func_position:
      end: 1925
      start: 1921
    functionDepth: 0
    functionLinenumber: 1921
    functionLinenumberEnd: 1925
    functionName: g_unichar_validate
    functionSourceFile: /src/glib/glib/gutf8.c
    functionUses: []
    functionsReached:
    - UNICODE_VALID
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unichar_validate (gunichar ch) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_try_malloc_n
      Src: /src/glib/glib/gutf8.c:903,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gutf8.c:905,1
    - Dst: _
      Src: /src/glib/glib/gutf8.c:906,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - n_blocks
    - n_block_bytes
    - error
    argTypes:
    - gsize
    - gsize
    - GError**
    constantsTouched: []
    func_position:
      end: 908
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 908
    functionName: try_malloc_n
    functionSourceFile: /src/glib/glib/gutf8.c
    functionUses: []
    functionsReached:
    - _
    - g_set_error_literal
    - g_try_malloc_n
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer try_malloc_n (gsize n_blocks, gsize n_block_bytes,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 191
    functionName: g_utf8_find_next_char
    functionSourceFile: /src/glib/glib/gutf8.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: "gchar *g_utf8_find_next_char (const gchar *p,\t\t const gchar *end) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gutf8.c:375,1
    - Dst: g_utf8_pointer_to_offset
      Src: /src/glib/glib/gutf8.c:391,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 396
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 396
    functionName: g_utf8_offset_to_pointer
    functionSourceFile: /src/glib/glib/gutf8.c
    functionUses: []
    functionsReached:
    - g_utf8_next_char
    - g_utf8_pointer_to_offset
    linkageType: ''
    returnType: gchar*
    signature: "gchar *g_utf8_offset_to_pointer (const gchar *str,\t\t\t glong offset) "
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gutf8.c:1401,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gutf8.c:1415,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gutf8.c:1419,1
    - Dst: _
      Src: /src/glib/glib/gutf8.c:1416,1
    - Dst: g_utf8_get_char_extended
      Src: /src/glib/glib/gutf8.c:1407,1
    - Dst: _
      Src: /src/glib/glib/gutf8.c:1420,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gutf8.c:1429,1
    - Dst: _
      Src: /src/glib/glib/gutf8.c:1430,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gutf8.c:1440,1
    - Dst: _
      Src: /src/glib/glib/gutf8.c:1441,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gutf8.c:1446,1
    - Dst: try_malloc_n
      Src: /src/glib/glib/gutf8.c:1449,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/gutf8.c:1456,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gutf8.c:1468,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1481
      start: 1389
    functionDepth: 0
    functionLinenumber: 1389
    functionLinenumberEnd: 1481
    functionName: g_utf8_to_utf16
    functionSourceFile: /src/glib/glib/gutf8.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_utf8_next_char
    - g_utf8_get_char
    - g_utf8_get_char_extended
    - g_set_error_literal
    - _
    - try_malloc_n
    linkageType: ''
    returnType: gunichar2*
    signature: "gunichar2 *g_utf8_to_utf16 (const gchar *str,\t\t glong len,\t\t glong\
      \ *items_read,\t\t glong *items_written,\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: utf8_verify_ascii
      Src: /src/glib/glib/gutf8.c:1905,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1908
      start: 1902
    functionDepth: 0
    functionLinenumber: 1902
    functionLinenumberEnd: 1908
    functionName: g_str_is_ascii
    functionSourceFile: /src/glib/glib/gutf8.c
    functionUses: []
    functionsReached:
    - utf8_verify_ascii
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_str_is_ascii (const gchar *str) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LIKELY
      Src: /src/glib/glib/gstring.h:201,1
    - Dst: g_string_insert_c
      Src: /src/glib/glib/gstring.h:208,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 210
    functionName: g_string_append_c_inline
    functionSourceFile: /src/glib/glib/gstring.h
    functionUses: []
    functionsReached:
    - g_string_insert_c
    - G_LIKELY
    linkageType: ''
    returnType: G_ALWAYS_INLINE*
    signature: 'G_ALWAYS_INLINE static inline GString *g_string_append_c_inline (GString
      *gstring, gchar c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/glib/glib/gstring.h:257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 260
    functionName: g_string_truncate_inline
    functionSourceFile: /src/glib/glib/gstring.h
    functionUses: []
    functionsReached:
    - MIN
    linkageType: ''
    returnType: G_ALWAYS_INLINE*
    signature: 'G_ALWAYS_INLINE static inline GString *g_string_truncate_inline (GString
      *gstring, gsize len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_string_append_len
      Src: /src/glib/glib/gstring.h:224,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gstring.h:227,1
    - Dst: G_LIKELY
      Src: /src/glib/glib/gstring.h:234,1
    - Dst: G_LIKELY
      Src: /src/glib/glib/gstring.h:237,1
    - Dst: strlen
      Src: /src/glib/glib/gstring.h:230,1
    - Dst: memcpy
      Src: /src/glib/glib/gstring.h:238,1
    - Dst: memmove
      Src: /src/glib/glib/gstring.h:240,1
    - Dst: g_string_insert_len
      Src: /src/glib/glib/gstring.h:246,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 247
    functionName: g_string_append_len_inline
    functionSourceFile: /src/glib/glib/gstring.h
    functionUses: []
    functionsReached:
    - memcpy
    - strlen
    - g_string_append_len
    - memmove
    - g_string_insert_len
    - G_LIKELY
    linkageType: ''
    returnType: G_ALWAYS_INLINE*
    signature: 'G_ALWAYS_INLINE static inline GString *g_string_append_len_inline
      (GString *gstring, const char *val, gssize len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/goption.c:157,1
    - Dst: _g_unichar_get_width
      Src: /src/glib/glib/goption.c:161,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/goption.c:162,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/goption.c:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - p
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 166
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 166
    functionName: _g_utf8_strwidth
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_utf8_next_char
    - g_return_val_if_fail
    - _g_unichar_get_width
    - g_utf8_get_char
    linkageType: ''
    returnType: glong
    signature: 'static glong _g_utf8_strwidth (const gchar *p) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/goption.c:532,1
    - Dst: _g_utf8_strwidth
      Src: /src/glib/glib/goption.c:535,1
    - Dst: TRANSLATE
      Src: /src/glib/glib/goption.c:541,1
    - Dst: _g_utf8_strwidth
      Src: /src/glib/glib/goption.c:541,1
    - Dst: NO_ARG
      Src: /src/glib/glib/goption.c:540,1
    - Dst: _g_utf8_strwidth
      Src: /src/glib/glib/goption.c:545,1
    - Dst: _
      Src: /src/glib/glib/goption.c:545,1
    - Dst: MAX
      Src: /src/glib/glib/goption.c:547,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 2
    argNames:
    - group
    - aliases
    argTypes:
    - GOptionGroup*
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 551
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 551
    functionName: calculate_max_length
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_hash_table_lookup
    - MAX
    - TRANSLATE
    - _
    - _g_utf8_strwidth
    - NO_ARG
    linkageType: ''
    returnType: gint
    signature: 'static gint calculate_max_length (GOptionGroup *group, GHashTable
      *aliases) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/glib/goption.c:1474,1
    - Dst: add_pending_null
      Src: /src/glib/glib/goption.c:1509,1
    - Dst: g_set_error
      Src: /src/glib/glib/goption.c:1525,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:1535,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:1539,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:1465,1
    - Dst: strcmp
      Src: /src/glib/glib/goption.c:1457,1
    - Dst: add_pending_null
      Src: /src/glib/glib/goption.c:1467,1
    - Dst: g_strconcat
      Src: /src/glib/glib/goption.c:1483,1
    - Dst: OPTIONAL_ARG
      Src: /src/glib/glib/goption.c:1514,1
    - Dst: parse_arg
      Src: /src/glib/glib/goption.c:1500,1
    - Dst: parse_arg
      Src: /src/glib/glib/goption.c:1517,1
    - Dst: parse_arg
      Src: /src/glib/glib/goption.c:1532,1
    - Dst: g_strconcat
      Src: /src/glib/glib/goption.c:1462,1
    - Dst: parse_arg
      Src: /src/glib/glib/goption.c:1463,1
    - Dst: OPTIONAL_ARG
      Src: /src/glib/glib/goption.c:1489,1
    - Dst: NO_ARG
      Src: /src/glib/glib/goption.c:1456,1
    - Dst: strncmp
      Src: /src/glib/glib/goption.c:1476,1
    - Dst: add_pending_null
      Src: /src/glib/glib/goption.c:1482,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:1503,1
    - Dst: add_pending_null
      Src: /src/glib/glib/goption.c:1492,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:1520,1
    - Dst: _
      Src: /src/glib/glib/goption.c:1527,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:1528,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 77
    argCount: 9
    argNames:
    - context
    - group
    - idx
    - arg
    - aliased
    - argc
    - argv
    - error
    - parsed
    argTypes:
    - GOptionContext*
    - GOptionGroup*
    - gint*
    - gchar*
    - gboolean
    - gint*
    - gchar***
    - GError**
    - gboolean*
    constantsTouched: []
    func_position:
      end: 1546
      start: 1435
    functionDepth: 0
    functionLinenumber: 1435
    functionLinenumberEnd: 1546
    functionName: parse_long_option
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_strconcat
    - strlen
    - strcmp
    - strncmp
    - add_pending_null
    - parse_arg
    - _
    - OPTIONAL_ARG
    - g_free
    - NO_ARG
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean parse_long_option (GOptionContext *context, GOptionGroup
      *group, gint *idx, gchar *arg, gboolean aliased, gint *argc, gchar ***argv,
      GError **error, gboolean *parsed) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/goption.c:1605,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/goption.c:1620,1
    - Dst: g_strfreev
      Src: /src/glib/glib/goption.c:1610,1
    - Dst: g_list_free
      Src: /src/glib/glib/goption.c:1627,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:1624,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 19
    argCount: 2
    argNames:
    - context
    - revert
    argTypes:
    - GOptionContext*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1629
      start: 1583
    functionDepth: 0
    functionLinenumber: 1583
    functionLinenumberEnd: 1629
    functionName: free_changes_list
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_strfreev
    - g_list_free
    - g_free
    - g_assert_not_reached
    linkageType: ''
    returnType: void
    signature: 'static void free_changes_list (GOptionContext *context, gboolean revert) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/glib/goption.c:2168,1
    - Dst: g_strdup
      Src: /src/glib/glib/goption.c:2170,1
    - Dst: g_strdup
      Src: /src/glib/glib/goption.c:2172,1
    - Dst: g_strdup
      Src: /src/glib/glib/goption.c:2171,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2177
      start: 2158
    functionDepth: 0
    functionLinenumber: 2158
    functionLinenumberEnd: 2177
    functionName: g_option_group_new
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_new0
    - g_strdup
    linkageType: ''
    returnType: GOptionGroup*
    signature: 'GOptionGroup *g_option_group_new (const gchar *name, const gchar *description,
      const gchar *help_description, gpointer user_data, GDestroyNotify destroy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/goption.c:2356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - group
    - error_func
    argTypes:
    - GOptionGroup*
    - GOptionErrorFunc
    constantsTouched: []
    func_position:
      end: 2359
      start: 2352
    functionDepth: 0
    functionLinenumber: 2352
    functionLinenumberEnd: 2359
    functionName: g_option_group_set_error_hook
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_option_group_set_error_hook (GOptionGroup *group, GOptionErrorFunc
      error_func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/goption.c:2474,1
    - Dst: g_option_context_set_translate_func
      Src: /src/glib/glib/goption.c:2476,1
    - Dst: g_strdup
      Src: /src/glib/glib/goption.c:2478,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - context
    - domain
    argTypes:
    - GOptionContext*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2480
      start: 2470
    functionDepth: 0
    functionLinenumber: 2470
    functionLinenumberEnd: 2480
    functionName: g_option_context_set_translation_domain
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_option_context_set_translate_func
    - g_strdup
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_option_context_set_translation_domain (GOptionContext *context,
      const gchar *domain) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/goption.c:569,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/goption.c:576,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/goption.c:581,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/goption.c:578,1
    - Dst: g_string_new
      Src: /src/glib/glib/goption.c:573,1
    - Dst: TRANSLATE
      Src: /src/glib/glib/goption.c:581,1
    - Dst: _
      Src: /src/glib/glib/goption.c:585,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/goption.c:586,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/goption.c:589,1
    - Dst: _g_utf8_strwidth
      Src: /src/glib/glib/goption.c:590,1
    - Dst: TRANSLATE
      Src: /src/glib/glib/goption.c:591,1
    - Dst: g_string_free
      Src: /src/glib/glib/goption.c:593,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 5
    argNames:
    - group
    - max_length
    - entry
    - string
    - aliases
    argTypes:
    - GOptionGroup*
    - gint
    - GOptionEntry*
    - GString*
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 594
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 594
    functionName: print_entry
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_hash_table_lookup
    - TRANSLATE
    - g_string_free
    - g_string_new
    - _
    - g_string_append_printf
    - _g_utf8_strwidth
    linkageType: ''
    returnType: void
    signature: 'static void print_entry (GOptionGroup *group, gint max_length, const
      GOptionEntry *entry, GString *string, GHashTable *aliases) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/goption.c:1567,1
    - Dst: add_pending_null
      Src: /src/glib/glib/goption.c:1571,1
    - Dst: parse_arg
      Src: /src/glib/glib/goption.c:1573,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 15
    argCount: 7
    argNames:
    - context
    - group
    - idx
    - argc
    - argv
    - error
    - parsed
    argTypes:
    - GOptionContext*
    - GOptionGroup*
    - gint*
    - gint*
    - gchar***
    - GError**
    - gboolean*
    constantsTouched: []
    func_position:
      end: 1581
      start: 1548
    functionDepth: 0
    functionLinenumber: 1548
    functionLinenumberEnd: 1581
    functionName: parse_remaining_arg
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - parse_arg
    - g_return_val_if_fail
    - add_pending_null
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean parse_remaining_arg (GOptionContext *context, GOptionGroup
      *group, gint *idx, gint *argc, gchar ***argv, GError **error, gboolean *parsed) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/glib/glib/goption.c:1647,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:1658,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:1659,1
    - Dst: g_list_free
      Src: /src/glib/glib/goption.c:1662,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:1652,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - context
    - perform_nulls
    argTypes:
    - GOptionContext*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1664
      start: 1631
    functionDepth: 0
    functionLinenumber: 1631
    functionLinenumberEnd: 1664
    functionName: free_pending_nulls
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_list_free
    - g_free
    - strcpy
    linkageType: ''
    returnType: void
    signature: 'static void free_pending_nulls (GOptionContext *context, gboolean
      perform_nulls) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/goption.c:454,1
    - Dst: g_warning
      Src: /src/glib/glib/goption.c:459,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/goption.c:455,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - context
    - group
    argTypes:
    - GOptionContext*
    - GOptionGroup*
    constantsTouched: []
    func_position:
      end: 465
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 465
    functionName: g_option_context_set_main_group
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_warning
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_option_context_set_main_group (GOptionContext *context, GOptionGroup
      *group) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/goption.c:2450,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - context
    - func
    - data
    - destroy_notify
    argTypes:
    - GOptionContext*
    - GTranslateFunc
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 2458
      start: 2444
    functionDepth: 0
    functionLinenumber: 2444
    functionLinenumberEnd: 2458
    functionName: g_option_context_set_translate_func
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_option_context_set_translate_func (GOptionContext *context,
      GTranslateFunc func, gpointer data, GDestroyNotify destroy_notify) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/goption.c:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - GOptionContext*
    constantsTouched: []
    func_position:
      end: 295
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 295
    functionName: g_option_context_get_help_enabled
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_option_context_get_help_enabled (GOptionContext *context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/goption.c:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - context
    - ignore_unknown
    argTypes:
    - GOptionContext*
    - gboolean
    constantsTouched: []
    func_position:
      end: 320
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 320
    functionName: g_option_context_set_ignore_unknown_options
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_option_context_set_ignore_unknown_options (GOptionContext *context,
      gboolean ignore_unknown) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/goption.c:377,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - context
    - strict_posix
    argTypes:
    - GOptionContext*
    - gboolean
    constantsTouched: []
    func_position:
      end: 380
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 380
    functionName: g_option_context_set_strict_posix
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_option_context_set_strict_posix (GOptionContext *context, gboolean
      strict_posix) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_get_help
      Src: /src/glib/glib/goption.c:955,1
    - Dst: g_print
      Src: /src/glib/glib/goption.c:956,1
    - Dst: exit
      Src: /src/glib/glib/goption.c:959,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:957,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - context
    - main_help
    - group
    argTypes:
    - GOptionContext*
    - gboolean
    - GOptionGroup*
    constantsTouched: []
    func_position:
      end: 960
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 960
    functionName: print_help
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_free
    - g_print
    - g_option_context_get_help
    - exit
    linkageType: ''
    returnType: G_NORETURN
    signature: 'G_NORETURN static void print_help (GOptionContext *context, gboolean
      main_help, GOptionGroup *group) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: get_change
      Src: /src/glib/glib/goption.c:1147,1
    - Dst: g_strdup
      Src: /src/glib/glib/goption.c:1168,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:1220,1
    - Dst: g_strdup
      Src: /src/glib/glib/goption.c:1236,1
    - Dst: g_strdup
      Src: /src/glib/glib/goption.c:1241,1
    - Dst: g_set_error
      Src: /src/glib/glib/goption.c:1311,1
    - Dst: get_change
      Src: /src/glib/glib/goption.c:1349,1
    - Dst: g_locale_to_utf8
      Src: /src/glib/glib/goption.c:1302,1
    - Dst: g_locale_to_utf8
      Src: /src/glib/glib/goption.c:1294,1
    - Dst: g_locale_to_utf8
      Src: /src/glib/glib/goption.c:1141,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:1153,1
    - Dst: get_change
      Src: /src/glib/glib/goption.c:1176,1
    - Dst: g_locale_to_utf8
      Src: /src/glib/glib/goption.c:1205,1
    - Dst: g_renew
      Src: /src/glib/glib/goption.c:1186,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:1315,1
    - Dst: parse_int64
      Src: /src/glib/glib/goption.c:1342,1
    - Dst: parse_double
      Src: /src/glib/glib/goption.c:1325,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/goption.c:1356,1
    - Dst: get_change
      Src: /src/glib/glib/goption.c:1332,1
    - Dst: NO_ARG
      Src: /src/glib/glib/goption.c:1119,1
    - Dst: g_locale_to_utf8
      Src: /src/glib/glib/goption.c:1137,1
    - Dst: get_change
      Src: /src/glib/glib/goption.c:1125,1
    - Dst: g_strdup
      Src: /src/glib/glib/goption.c:1207,1
    - Dst: g_new
      Src: /src/glib/glib/goption.c:1182,1
    - Dst: g_locale_to_utf8
      Src: /src/glib/glib/goption.c:1170,1
    - Dst: get_change
      Src: /src/glib/glib/goption.c:1243,1
    - Dst: g_renew
      Src: /src/glib/glib/goption.c:1253,1
    - Dst: parse_int
      Src: /src/glib/glib/goption.c:1270,1
    - Dst: get_change
      Src: /src/glib/glib/goption.c:1275,1
    - Dst: g_strdup
      Src: /src/glib/glib/goption.c:1298,1
    - Dst: g_assert
      Src: /src/glib/glib/goption.c:1119,1
    - Dst: OPTIONAL_ARG
      Src: /src/glib/glib/goption.c:1119,1
    - Dst: g_strdup
      Src: /src/glib/glib/goption.c:1139,1
    - Dst: g_locale_to_utf8
      Src: /src/glib/glib/goption.c:1166,1
    - Dst: g_strdup
      Src: /src/glib/glib/goption.c:1212,1
    - Dst: get_change
      Src: /src/glib/glib/goption.c:1214,1
    - Dst: g_locale_to_utf8
      Src: /src/glib/glib/goption.c:1234,1
    - Dst: g_new
      Src: /src/glib/glib/goption.c:1249,1
    - Dst: g_strdup
      Src: /src/glib/glib/goption.c:1296,1
    - Dst: _
      Src: /src/glib/glib/goption.c:1313,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 151
    argCount: 6
    argNames:
    - context
    - group
    - entry
    - value
    - option_name
    - error
    argTypes:
    - GOptionContext*
    - GOptionGroup*
    - GOptionEntry*
    - gchar*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 1360
      start: 1108
    functionDepth: 0
    functionLinenumber: 1108
    functionLinenumberEnd: 1360
    functionName: parse_arg
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_strdup
    - g_renew
    - get_change
    - g_new
    - parse_double
    - g_assert
    - parse_int64
    - g_assert_not_reached
    - g_locale_to_utf8
    - _
    - OPTIONAL_ARG
    - g_free
    - NO_ARG
    - parse_int
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean parse_arg (GOptionContext *context, GOptionGroup *group,
      GOptionEntry *entry, const gchar *value, const gchar *option_name, GError **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_file_get_contents
      Src: /src/glib/glib/goption.c:1679,1
    - Dst: memchr
      Src: /src/glib/glib/goption.c:1688,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:1720,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/goption.c:1757,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:1765,1
    - Dst: g_path_get_basename
      Src: /src/glib/glib/goption.c:1694,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/goption.c:1709,1
    - Dst: CommandLineToArgvW
      Src: /src/glib/glib/goption.c:1748,1
    - Dst: g_path_get_basename
      Src: /src/glib/glib/goption.c:1719,1
    - Dst: g_assert
      Src: /src/glib/glib/goption.c:1688,1
    - Dst: sysctl
      Src: /src/glib/glib/goption.c:1704,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:1711,1
    - Dst: GetCommandLineW
      Src: /src/glib/glib/goption.c:1730,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/goption.c:1753,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/goption.c:1749,1
    - Dst: LocalFree
      Src: /src/glib/glib/goption.c:1755,1
    - Dst: g_path_get_basename
      Src: /src/glib/glib/goption.c:1764,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:1695,1
    - Dst: getpid
      Src: /src/glib/glib/goption.c:1702,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/goption.c:1704,1
    - Dst: g_malloc0
      Src: /src/glib/glib/goption.c:1707,1
    - Dst: sysctl
      Src: /src/glib/glib/goption.c:1709,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/goption.c:1731,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1770
      start: 1671
    functionDepth: 0
    functionLinenumber: 1671
    functionLinenumberEnd: 1770
    functionName: platform_get_argv0
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_path_get_basename
    - g_malloc0
    - g_assert
    - G_N_ELEMENTS
    - CommandLineToArgvW
    - getpid
    - sysctl
    - LocalFree
    - g_utf16_to_utf8
    - g_file_get_contents
    - G_UNLIKELY
    - memchr
    - g_free
    - GetCommandLineW
    linkageType: ''
    returnType: char*
    signature: 'static char *platform_get_argv0 (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/goption.c:2265,1
    - Dst: memcpy
      Src: /src/glib/glib/goption.c:2277,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/goption.c:2266,1
    - Dst: g_renew
      Src: /src/glib/glib/goption.c:2272,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/goption.c:2270,1
    - Dst: g_ascii_isprint
      Src: /src/glib/glib/goption.c:2283,1
    - Dst: g_warning
      Src: /src/glib/glib/goption.c:2285,1
    - Dst: g_warning
      Src: /src/glib/glib/goption.c:2293,1
    - Dst: g_warning
      Src: /src/glib/glib/goption.c:2302,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 2
    argNames:
    - group
    - entries
    argTypes:
    - GOptionGroup*
    - GOptionEntry*
    constantsTouched: []
    func_position:
      end: 2310
      start: 2259
    functionDepth: 0
    functionLinenumber: 2259
    functionLinenumberEnd: 2310
    functionName: g_option_group_add_entries
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_renew
    - g_warning
    - g_return_if_fail
    - g_ascii_isprint
    linkageType: ''
    returnType: void
    signature: 'void g_option_group_add_entries (GOptionGroup *group, const GOptionEntry
      *entries) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dgettext
      Src: /src/glib/glib/goption.c:2398,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2399
      start: 2394
    functionDepth: 0
    functionLinenumber: 2394
    functionLinenumberEnd: 2399
    functionName: dgettext_swapped
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_dgettext
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *dgettext_swapped (const gchar *msgid, const gchar
      *domainname) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/glib/glib/goption.c:972,1
    - Dst: g_set_error
      Src: /src/glib/glib/goption.c:986,1
    - Dst: g_set_error
      Src: /src/glib/glib/goption.c:976,1
    - Dst: _
      Src: /src/glib/glib/goption.c:988,1
    - Dst: _
      Src: /src/glib/glib/goption.c:978,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 4
    argNames:
    - arg_name
    - arg
    - result
    - error
    argTypes:
    - gchar*
    - gchar*
    - gint*
    - GError**
    constantsTouched: []
    func_position:
      end: 994
      start: 962
    functionDepth: 0
    functionLinenumber: 962
    functionLinenumberEnd: 994
    functionName: parse_int
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_set_error
    - strtol
    - _
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean parse_int (const gchar *arg_name, const gchar *arg,
      gint *result, GError **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/glib/goption.c:1382,1
    - Dst: _
      Src: /src/glib/glib/goption.c:1392,1
    - Dst: g_set_error
      Src: /src/glib/glib/goption.c:1390,1
    - Dst: NO_ARG
      Src: /src/glib/glib/goption.c:1384,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:1393,1
    - Dst: OPTIONAL_ARG
      Src: /src/glib/glib/goption.c:1399,1
    - Dst: add_pending_null
      Src: /src/glib/glib/goption.c:1404,1
    - Dst: OPTIONAL_ARG
      Src: /src/glib/glib/goption.c:1408,1
    - Dst: g_set_error
      Src: /src/glib/glib/goption.c:1412,1
    - Dst: _
      Src: /src/glib/glib/goption.c:1414,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:1423,1
    - Dst: parse_arg
      Src: /src/glib/glib/goption.c:1420,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:1415,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:1427,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 46
    argCount: 9
    argNames:
    - context
    - group
    - idx
    - new_idx
    - arg
    - argc
    - argv
    - error
    - parsed
    argTypes:
    - GOptionContext*
    - GOptionGroup*
    - gint
    - gint*
    - gchar
    - gint*
    - gchar***
    - GError**
    - gboolean*
    constantsTouched: []
    func_position:
      end: 1433
      start: 1362
    functionDepth: 0
    functionLinenumber: 1362
    functionLinenumberEnd: 1433
    functionName: parse_short_option
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_strdup_printf
    - add_pending_null
    - parse_arg
    - _
    - OPTIONAL_ARG
    - g_free
    - NO_ARG
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean parse_short_option (GOptionContext *context, GOptionGroup
      *group, gint idx, gint *new_idx, gchar arg, gint *argc, gchar ***argv, GError
      **error, gboolean *parsed) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/goption.c:273,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - context
    - help_enabled
    argTypes:
    - GOptionContext*
    - gboolean
    constantsTouched: []
    func_position:
      end: 276
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 276
    functionName: g_option_context_set_help_enabled
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_option_context_set_help_enabled (GOptionContext *context, gboolean
      help_enabled) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_group_unref
      Src: /src/glib/glib/goption.c:2194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - GOptionGroup*
    constantsTouched: []
    func_position:
      end: 2195
      start: 2191
    functionDepth: 0
    functionLinenumber: 2191
    functionLinenumberEnd: 2195
    functionName: g_option_group_free
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_option_group_unref
    linkageType: ''
    returnType: void
    signature: 'void g_option_group_free (GOptionGroup *group) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/goption.c:2384,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - group
    - func
    - data
    - destroy_notify
    argTypes:
    - GOptionGroup*
    - GTranslateFunc
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 2392
      start: 2378
    functionDepth: 0
    functionLinenumber: 2378
    functionLinenumberEnd: 2392
    functionName: g_option_group_set_translate_func
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_option_group_set_translate_func (GOptionGroup *group, GTranslateFunc
      func, gpointer data, GDestroyNotify destroy_notify) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/goption.c:2544,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:2546,1
    - Dst: g_strdup
      Src: /src/glib/glib/goption.c:2547,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - context
    - description
    argTypes:
    - GOptionContext*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2548
      start: 2540
    functionDepth: 0
    functionLinenumber: 2540
    functionLinenumberEnd: 2548
    functionName: g_option_context_set_description
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_option_context_set_description (GOptionContext *context, const
      gchar *description) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/goption.c:2608,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/goption.c:2612,1
    - Dst: g_strv_length
      Src: /src/glib/glib/goption.c:2611,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - context
    - arguments
    - error
    argTypes:
    - GOptionContext*
    - gchar***
    - GError**
    constantsTouched: []
    func_position:
      end: 2616
      start: 2600
    functionDepth: 0
    functionLinenumber: 2600
    functionLinenumberEnd: 2616
    functionName: g_option_context_parse_strv
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_strv_length
    - g_option_context_parse
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_option_context_parse_strv (GOptionContext *context, gchar
      ***arguments, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/glib/goption.c:207,1
    - Dst: g_strdup
      Src: /src/glib/glib/goption.c:214,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 220
    functionName: g_option_context_new
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_new0
    - g_strdup
    linkageType: ''
    returnType: GOptionContext*
    signature: 'GOptionContext *g_option_context_new (const gchar *parameter_string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/goption.c:482,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 485
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 485
    functionName: g_option_context_get_main_group
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: GOptionGroup*
    signature: 'GOptionGroup *g_option_context_get_main_group (GOptionContext *context) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 3
    argNames:
    - context
    - group
    - main_entries
    argTypes:
    - GOptionContext*
    - GOptionGroup*
    - gboolean
    constantsTouched: []
    func_position:
      end: 622
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 622
    functionName: group_has_visible_entries
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean group_has_visible_entries (GOptionContext *context,
      GOptionGroup *group, gboolean main_entries) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/glib/goption.c:1083,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/goption.c:1087,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1067
    functionDepth: 0
    functionLinenumber: 1067
    functionLinenumberEnd: 1092
    functionName: get_change
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_new0
    - g_list_prepend
    linkageType: ''
    returnType: Change*
    signature: 'static Change *get_change (GOptionContext *context, GOptionArg arg_type,
      gpointer arg_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/goption.c:2501,1
    - Dst: g_strdup
      Src: /src/glib/glib/goption.c:2504,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:2503,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - context
    - summary
    argTypes:
    - GOptionContext*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2505
      start: 2497
    functionDepth: 0
    functionLinenumber: 2497
    functionLinenumberEnd: 2505
    functionName: g_option_context_set_summary
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_option_context_set_summary (GOptionContext *context, const
      gchar *summary) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/goption.c:142,1
    - Dst: g_unichar_iswide
      Src: /src/glib/glib/goption.c:147,1
    - Dst: g_unichar_iszerowidth
      Src: /src/glib/glib/goption.c:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - gunichar
    constantsTouched: []
    func_position:
      end: 151
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 151
    functionName: _g_unichar_get_width
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_unichar_iszerowidth
    - G_UNLIKELY
    - g_unichar_iswide
    linkageType: ''
    returnType: int
    signature: 'static int _g_unichar_get_width (gunichar c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: group_has_visible_entries
      Src: /src/glib/glib/goption.c:631,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - context
    - group_list
    - main_entries
    argTypes:
    - GOptionContext*
    - GList*
    - gboolean
    constantsTouched: []
    func_position:
      end: 638
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 638
    functionName: group_list_has_visible_entries
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - group_has_visible_entries
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean group_list_has_visible_entries (GOptionContext *context,
      GList *group_list, gboolean main_entries) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/glib/goption.c:1101,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/goption.c:1105,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - context
    - ptr
    - value
    argTypes:
    - GOptionContext*
    - gchar**
    - gchar*
    constantsTouched: []
    func_position:
      end: 1106
      start: 1094
    functionDepth: 0
    functionLinenumber: 1094
    functionLinenumberEnd: 1106
    functionName: add_pending_null
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_new0
    - g_list_prepend
    linkageType: ''
    returnType: void
    signature: 'static void add_pending_null (GOptionContext *context, gchar **ptr,
      gchar *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/goption.c:2564,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2567
      start: 2561
    functionDepth: 0
    functionLinenumber: 2561
    functionLinenumberEnd: 2567
    functionName: g_option_context_get_description
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_option_context_get_description (GOptionContext *context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/goption.c:336,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - GOptionContext*
    constantsTouched: []
    func_position:
      end: 339
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 339
    functionName: g_option_context_get_ignore_unknown_options
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_option_context_get_ignore_unknown_options (GOptionContext
      *context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/goption.c:397,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - GOptionContext*
    constantsTouched: []
    func_position:
      end: 400
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 400
    functionName: g_option_context_get_strict_posix
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_option_context_get_strict_posix (GOptionContext *context) '
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: parse_long_option
      Src: /src/glib/glib/goption.c:1919,1
    - Dst: print_help
      Src: /src/glib/glib/goption.c:1898,1
    - Dst: parse_long_option
      Src: /src/glib/glib/goption.c:1944,1
    - Dst: g_newa0
      Src: /src/glib/glib/goption.c:1966,1
    - Dst: parse_short_option
      Src: /src/glib/glib/goption.c:1974,1
    - Dst: parse_remaining_arg
      Src: /src/glib/glib/goption.c:2045,1
    - Dst: add_pending_null
      Src: /src/glib/glib/goption.c:2055,1
    - Dst: _
      Src: /src/glib/glib/goption.c:2034,1
    - Dst: g_set_prgname_once
      Src: /src/glib/glib/goption.c:1827,1
    - Dst: g_path_get_basename
      Src: /src/glib/glib/goption.c:1823,1
    - Dst: strchr
      Src: /src/glib/glib/goption.c:1933,1
    - Dst: strncmp
      Src: /src/glib/glib/goption.c:1942,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/goption.c:1815,1
    - Dst: platform_get_argv0
      Src: /src/glib/glib/goption.c:1825,1
    - Dst: strncmp
      Src: /src/glib/glib/goption.c:1889,1
    - Dst: parse_long_option
      Src: /src/glib/glib/goption.c:1906,1
    - Dst: print_help
      Src: /src/glib/glib/goption.c:1888,1
    - Dst: strcmp
      Src: /src/glib/glib/goption.c:1887,1
    - Dst: strlen
      Src: /src/glib/glib/goption.c:1965,1
    - Dst: print_help
      Src: /src/glib/glib/goption.c:1971,1
    - Dst: parse_short_option
      Src: /src/glib/glib/goption.c:1985,1
    - Dst: free_pending_nulls
      Src: /src/glib/glib/goption.c:2084,1
    - Dst: g_get_prgname
      Src: /src/glib/glib/goption.c:1818,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:1829,1
    - Dst: strcmp
      Src: /src/glib/glib/goption.c:1885,1
    - Dst: print_help
      Src: /src/glib/glib/goption.c:1886,1
    - Dst: strcmp
      Src: /src/glib/glib/goption.c:1897,1
    - Dst: context_has_h_entry
      Src: /src/glib/glib/goption.c:1963,1
    - Dst: g_malloc
      Src: /src/glib/glib/goption.c:2011,1
    - Dst: add_pending_null
      Src: /src/glib/glib/goption.c:2017,1
    - Dst: add_pending_null
      Src: /src/glib/glib/goption.c:2022,1
    - Dst: free_changes_list
      Src: /src/glib/glib/goption.c:2126,1
    - Dst: free_pending_nulls
      Src: /src/glib/glib/goption.c:2127,1
    - Dst: g_set_error
      Src: /src/glib/glib/goption.c:2032,1
    CyclomaticComplexity: 118
    EdgeCount: 118
    ICount: 190
    argCount: 4
    argNames:
    - context
    - argc
    - argv
    - error
    argTypes:
    - GOptionContext*
    - gint*
    - gchar***
    - GError**
    constantsTouched: []
    func_position:
      end: 2130
      start: 1806
    functionDepth: 0
    functionLinenumber: 1806
    functionLinenumberEnd: 2130
    functionName: g_option_context_parse
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - platform_get_argv0
    - context_has_h_entry
    - g_path_get_basename
    - strcmp
    - g_newa0
    - g_malloc
    - print_help
    - g_free
    - free_changes_list
    - g_get_prgname
    - g_set_error
    - strlen
    - parse_long_option
    - free_pending_nulls
    - _
    - g_set_prgname_once
    - g_return_val_if_fail
    - parse_remaining_arg
    - strncmp
    - strchr
    - add_pending_null
    - parse_short_option
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_option_context_parse (GOptionContext *context, gint *argc,
      gchar ***argv, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/goption.c:2333,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - group
    - pre_parse_func
    - post_parse_func
    argTypes:
    - GOptionGroup*
    - GOptionParseFunc
    - GOptionParseFunc
    constantsTouched: []
    func_position:
      end: 2337
      start: 2328
    functionDepth: 0
    functionLinenumber: 2328
    functionLinenumberEnd: 2337
    functionName: g_option_group_set_parse_hooks
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_option_group_set_parse_hooks (GOptionGroup *group, GOptionParseFunc
      pre_parse_func, GOptionParseFunc post_parse_func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/goption.c:2415,1
    - Dst: g_strdup
      Src: /src/glib/glib/goption.c:2419,1
    - Dst: g_option_group_set_translate_func
      Src: /src/glib/glib/goption.c:2417,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - group
    - domain
    argTypes:
    - GOptionGroup*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2421
      start: 2411
    functionDepth: 0
    functionLinenumber: 2411
    functionLinenumberEnd: 2421
    functionName: g_option_group_set_translation_domain
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_option_group_set_translate_func
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_option_group_set_translation_domain (GOptionGroup *group, const
      gchar *domain) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/goption.c:419,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/goption.c:420,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/goption.c:422,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/goption.c:423,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/goption.c:421,1
    - Dst: strcmp
      Src: /src/glib/glib/goption.c:430,1
    - Dst: g_warning
      Src: /src/glib/glib/goption.c:431,1
    - Dst: g_list_append
      Src: /src/glib/glib/goption.c:435,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 2
    argNames:
    - context
    - group
    argTypes:
    - GOptionContext*
    - GOptionGroup*
    constantsTouched: []
    func_position:
      end: 436
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 436
    functionName: g_option_context_add_group
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_list_append
    - strcmp
    - g_warning
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_option_context_add_group (GOptionContext *context, GOptionGroup
      *group) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: g_string_append_printf
      Src: /src/glib/glib/goption.c:722,1
    - Dst: TRANSLATE
      Src: /src/glib/glib/goption.c:716,1
    - Dst: g_get_prgname
      Src: /src/glib/glib/goption.c:722,1
    - Dst: g_string_append
      Src: /src/glib/glib/goption.c:740,1
    - Dst: g_hash_table_new
      Src: /src/glib/glib/goption.c:749,1
    - Dst: MAX
      Src: /src/glib/glib/goption.c:804,1
    - Dst: MAX
      Src: /src/glib/glib/goption.c:811,1
    - Dst: _g_utf8_strwidth
      Src: /src/glib/glib/goption.c:821,1
    - Dst: calculate_max_length
      Src: /src/glib/glib/goption.c:826,1
    - Dst: _
      Src: /src/glib/glib/goption.c:842,1
    - Dst: _
      Src: /src/glib/glib/goption.c:914,1
    - Dst: g_string_append
      Src: /src/glib/glib/goption.c:891,1
    - Dst: g_string_append
      Src: /src/glib/glib/goption.c:872,1
    - Dst: g_string_append
      Src: /src/glib/glib/goption.c:915,1
    - Dst: print_entry
      Src: /src/glib/glib/goption.c:895,1
    - Dst: g_string_append
      Src: /src/glib/glib/goption.c:912,1
    - Dst: g_string_free
      Src: /src/glib/glib/goption.c:944,1
    - Dst: group_list_has_visible_entries
      Src: /src/glib/glib/goption.c:907,1
    - Dst: g_string_append
      Src: /src/glib/glib/goption.c:892,1
    - Dst: TRANSLATE
      Src: /src/glib/glib/goption.c:938,1
    - Dst: MAX
      Src: /src/glib/glib/goption.c:822,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/goption.c:703,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/goption.c:726,1
    - Dst: _
      Src: /src/glib/glib/goption.c:726,1
    - Dst: g_string_append
      Src: /src/glib/glib/goption.c:731,1
    - Dst: memset
      Src: /src/glib/glib/goption.c:748,1
    - Dst: g_string_append
      Src: /src/glib/glib/goption.c:745,1
    - Dst: TRANSLATE
      Src: /src/glib/glib/goption.c:737,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/goption.c:750,1
    - Dst: _g_utf8_strwidth
      Src: /src/glib/glib/goption.c:803,1
    - Dst: calculate_max_length
      Src: /src/glib/glib/goption.c:810,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/goption.c:841,1
    - Dst: _
      Src: /src/glib/glib/goption.c:843,1
    - Dst: group_has_visible_entries
      Src: /src/glib/glib/goption.c:855,1
    - Dst: g_string_append
      Src: /src/glib/glib/goption.c:876,1
    - Dst: group_has_visible_entries
      Src: /src/glib/glib/goption.c:906,1
    - Dst: print_entry
      Src: /src/glib/glib/goption.c:918,1
    - Dst: g_string_append
      Src: /src/glib/glib/goption.c:914,1
    - Dst: print_entry
      Src: /src/glib/glib/goption.c:875,1
    - Dst: TRANSLATE
      Src: /src/glib/glib/goption.c:858,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/goption.c:856,1
    - Dst: _
      Src: /src/glib/glib/goption.c:722,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/goption.c:705,1
    - Dst: g_string_append
      Src: /src/glib/glib/goption.c:737,1
    - Dst: g_string_append
      Src: /src/glib/glib/goption.c:736,1
    - Dst: TRANSLATE
      Src: /src/glib/glib/goption.c:744,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/goption.c:757,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/goption.c:775,1
    - Dst: _g_utf8_strwidth
      Src: /src/glib/glib/goption.c:799,1
    - Dst: MAX
      Src: /src/glib/glib/goption.c:827,1
    - Dst: context_has_h_entry
      Src: /src/glib/glib/goption.c:839,1
    - Dst: g_string_append
      Src: /src/glib/glib/goption.c:938,1
    - Dst: g_string_append
      Src: /src/glib/glib/goption.c:873,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/glib/goption.c:942,1
    - Dst: g_string_append
      Src: /src/glib/glib/goption.c:933,1
    - Dst: g_string_append
      Src: /src/glib/glib/goption.c:730,1
    - Dst: g_string_append
      Src: /src/glib/glib/goption.c:744,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/goption.c:778,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/goption.c:779,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/goption.c:782,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/glib/goption.c:793,1
    - Dst: _g_utf8_strwidth
      Src: /src/glib/glib/goption.c:821,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/goption.c:847,1
    - Dst: _
      Src: /src/glib/glib/goption.c:849,1
    - Dst: g_string_append
      Src: /src/glib/glib/goption.c:863,1
    - Dst: TRANSLATE
      Src: /src/glib/glib/goption.c:872,1
    - Dst: g_string_append
      Src: /src/glib/glib/goption.c:939,1
    - Dst: _
      Src: /src/glib/glib/goption.c:912,1
    - Dst: group_has_visible_entries
      Src: /src/glib/glib/goption.c:870,1
    - Dst: g_string_append
      Src: /src/glib/glib/goption.c:897,1
    - Dst: group_has_visible_entries
      Src: /src/glib/glib/goption.c:889,1
    - Dst: print_entry
      Src: /src/glib/glib/goption.c:928,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 177
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 945
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 945
    functionName: g_option_context_get_help
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - context_has_h_entry
    - TRANSLATE
    - g_hash_table_new_full
    - g_hash_table_lookup
    - g_hash_table_insert
    - print_entry
    - g_string_sized_new
    - g_get_prgname
    - group_has_visible_entries
    - _g_utf8_strwidth
    - group_list_has_visible_entries
    - MAX
    - g_hash_table_new
    - _
    - g_string_append_printf
    - g_string_append
    - g_hash_table_destroy
    - g_return_val_if_fail
    - calculate_max_length
    - g_string_free
    - memset
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_option_context_get_help (GOptionContext *context, gboolean
      main_help, GOptionGroup *group) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_strtod
      Src: /src/glib/glib/goption.c:1007,1
    - Dst: _
      Src: /src/glib/glib/goption.c:1021,1
    - Dst: g_set_error
      Src: /src/glib/glib/goption.c:1011,1
    - Dst: g_set_error
      Src: /src/glib/glib/goption.c:1019,1
    - Dst: _
      Src: /src/glib/glib/goption.c:1013,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 4
    argNames:
    - arg_name
    - arg
    - result
    - error
    argTypes:
    - gchar*
    - gchar*
    - gdouble*
    - GError**
    constantsTouched: []
    func_position:
      end: 1029
      start: 997
    functionDepth: 0
    functionLinenumber: 997
    functionLinenumberEnd: 1029
    functionName: parse_double
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_strtod
    - _
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean parse_double (const gchar *arg_name, const gchar *arg,
      gdouble *result, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/goption.c:2230,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:2236,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:2238,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:2234,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:2235,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:2246,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - group
    argTypes:
    - GOptionGroup*
    constantsTouched: []
    func_position:
      end: 2248
      start: 2227
    functionDepth: 0
    functionLinenumber: 2227
    functionLinenumberEnd: 2248
    functionName: g_option_group_unref
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_option_group_unref (GOptionGroup *group) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_strtoll
      Src: /src/glib/glib/goption.c:1042,1
    - Dst: _
      Src: /src/glib/glib/goption.c:1056,1
    - Dst: _
      Src: /src/glib/glib/goption.c:1048,1
    - Dst: g_set_error
      Src: /src/glib/glib/goption.c:1054,1
    - Dst: g_set_error
      Src: /src/glib/glib/goption.c:1046,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 4
    argNames:
    - arg_name
    - arg
    - result
    - error
    argTypes:
    - gchar*
    - gchar*
    - gint64*
    - GError**
    constantsTouched: []
    func_position:
      end: 1064
      start: 1032
    functionDepth: 0
    functionLinenumber: 1032
    functionLinenumberEnd: 1064
    functionName: parse_int64
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - g_ascii_strtoll
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean parse_int64 (const gchar *arg_name, const gchar *arg,
      gint64 *result, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/goption.c:236,1
    - Dst: free_changes_list
      Src: /src/glib/glib/goption.c:243,1
    - Dst: g_list_free_full
      Src: /src/glib/glib/goption.c:238,1
    - Dst: free_pending_nulls
      Src: /src/glib/glib/goption.c:244,1
    - Dst: g_option_group_unref
      Src: /src/glib/glib/goption.c:241,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:246,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:247,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:248,1
    - Dst: g_free
      Src: /src/glib/glib/goption.c:253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - context
    argTypes:
    - GOptionContext*
    constantsTouched: []
    func_position:
      end: 254
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 254
    functionName: g_option_context_free
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_list_free_full
    - g_return_if_fail
    - free_changes_list
    - g_option_group_unref
    - free_pending_nulls
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_option_context_free (GOptionContext *context) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/goption.c:505,1
    - Dst: g_option_group_set_translation_domain
      Src: /src/glib/glib/goption.c:512,1
    - Dst: g_option_group_new
      Src: /src/glib/glib/goption.c:509,1
    - Dst: g_option_group_add_entries
      Src: /src/glib/glib/goption.c:511,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/goption.c:506,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - context
    - entries
    - translation_domain
    argTypes:
    - GOptionContext*
    - GOptionEntry*
    - gchar*
    constantsTouched: []
    func_position:
      end: 513
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 513
    functionName: g_option_context_add_main_entries
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_option_group_new
    - g_option_group_set_translation_domain
    - g_option_group_add_entries
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_option_context_add_main_entries (GOptionContext *context, const
      GOptionEntry *entries, const gchar *translation_domain) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_list_next
      Src: /src/glib/glib/goption.c:655,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 1
    argNames:
    - context
    argTypes:
    - GOptionContext*
    constantsTouched: []
    func_position:
      end: 667
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 667
    functionName: context_has_h_entry
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_list_next
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean context_has_h_entry (GOptionContext *context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/goption.c:2210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2215
      start: 2207
    functionDepth: 0
    functionLinenumber: 2207
    functionLinenumberEnd: 2215
    functionName: g_option_group_ref
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: GOptionGroup*
    signature: 'GOptionGroup *g_option_group_ref (GOptionGroup *group) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/goption.c:2521,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2524
      start: 2518
    functionDepth: 0
    functionLinenumber: 2518
    functionLinenumberEnd: 2524
    functionName: g_option_context_get_summary
    functionSourceFile: /src/glib/glib/goption.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_option_context_get_summary (GOptionContext *context) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/gquark.c:181,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/gquark.c:181,1
    - Dst: TRACE
      Src: /src/glib/glib/gquark.c:186,1
    - Dst: quark_new
      Src: /src/glib/glib/gquark.c:185,1
    - Dst: quark_strdup
      Src: /src/glib/glib/gquark.c:185,1
    - Dst: GLIB_QUARK_NEW
      Src: /src/glib/glib/gquark.c:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - string
    - duplicate
    argTypes:
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 190
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 190
    functionName: quark_from_string
    functionSourceFile: /src/glib/glib/gquark.c
    functionUses: []
    functionsReached:
    - TRACE
    - GLIB_QUARK_NEW
    - GPOINTER_TO_UINT
    - g_hash_table_lookup
    - quark_new
    - quark_strdup
    linkageType: ''
    returnType: GQuark
    signature: 'static inline GQuark quark_from_string (const gchar *string, gboolean
      duplicate) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/glib/gquark.c:153,1
    - Dst: memcpy
      Src: /src/glib/glib/gquark.c:168,1
    - Dst: g_malloc
      Src: /src/glib/glib/gquark.c:163,1
    - Dst: g_strdup
      Src: /src/glib/glib/gquark.c:158,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 172
    functionName: quark_strdup
    functionSourceFile: /src/glib/glib/gquark.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_strdup
    - strlen
    - g_malloc
    linkageType: ''
    returnType: char*
    signature: 'static char *quark_strdup (const gchar *string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: quark_from_string_locked
      Src: /src/glib/glib/gquark.c:254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 255
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 255
    functionName: g_quark_from_static_string
    functionSourceFile: /src/glib/glib/gquark.c
    functionUses: []
    functionsReached:
    - quark_from_string_locked
    linkageType: ''
    returnType: GQuark
    signature: 'GQuark g_quark_from_static_string (const gchar *string) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gquark.c:272,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/glib/gquark.c:273,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 279
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 279
    functionName: g_quark_to_string
    functionSourceFile: /src/glib/glib/gquark.c
    functionUses: []
    functionsReached:
    - g_atomic_pointer_get
    - g_atomic_int_get
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_quark_to_string (GQuark quark) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: quark_intern_string_locked
      Src: /src/glib/glib/gquark.c:347,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 348
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 348
    functionName: g_intern_string
    functionSourceFile: /src/glib/glib/gquark.c
    functionUses: []
    functionsReached:
    - quark_intern_string_locked
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_intern_string (const gchar *string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: quark_intern_string_locked
      Src: /src/glib/glib/gquark.c:370,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 371
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 371
    functionName: g_intern_static_string
    functionSourceFile: /src/glib/glib/gquark.c
    functionUses: []
    functionsReached:
    - quark_intern_string_locked
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_intern_static_string (const gchar *string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gquark.c:62,1
    - Dst: g_new
      Src: /src/glib/glib/gquark.c:64,1
    - Dst: g_hash_table_new
      Src: /src/glib/glib/gquark.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 67
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 67
    functionName: g_quark_init
    functionSourceFile: /src/glib/glib/gquark.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_hash_table_new
    - g_new
    linkageType: ''
    returnType: void
    signature: 'void g_quark_init (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/gquark.c:201,1
    - Dst: quark_from_string
      Src: /src/glib/glib/gquark.c:202,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gquark.c:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - string
    - duplicate
    argTypes:
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 206
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 206
    functionName: quark_from_string_locked
    functionSourceFile: /src/glib/glib/gquark.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - G_LOCK
    - quark_from_string
    linkageType: ''
    returnType: GQuark
    signature: 'static inline GQuark quark_from_string_locked (const gchar *string,
      gboolean duplicate) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/gquark.c:139,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/gquark.c:140,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/gquark.c:140,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gquark.c:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 144
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 144
    functionName: g_quark_try_string
    functionSourceFile: /src/glib/glib/gquark.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - G_LOCK
    - GPOINTER_TO_UINT
    - g_hash_table_lookup
    linkageType: ''
    returnType: GQuark
    signature: 'GQuark g_quark_try_string (const gchar *string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: quark_from_string_locked
      Src: /src/glib/glib/gquark.c:225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: g_quark_from_string
    functionSourceFile: /src/glib/glib/gquark.c
    functionUses: []
    functionsReached:
    - quark_from_string_locked
    linkageType: ''
    returnType: GQuark
    signature: 'GQuark g_quark_from_string (const gchar *string) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/glib/gquark.c:290,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/glib/gquark.c:298,1
    - Dst: memcpy
      Src: /src/glib/glib/gquark.c:292,1
    - Dst: memset
      Src: /src/glib/glib/gquark.c:293,1
    - Dst: g_ignore_leak
      Src: /src/glib/glib/gquark.c:298,1
    - Dst: g_atomic_pointer_set
      Src: /src/glib/glib/gquark.c:299,1
    - Dst: g_atomic_pointer_set
      Src: /src/glib/glib/gquark.c:303,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/gquark.c:304,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/gquark.c:304,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gquark.c:305,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 308
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 308
    functionName: quark_new
    functionSourceFile: /src/glib/glib/gquark.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_new
    - g_atomic_pointer_set
    - g_atomic_pointer_get
    - GUINT_TO_POINTER
    - g_hash_table_insert
    - g_ignore_leak
    - g_atomic_int_inc
    - memset
    linkageType: ''
    returnType: GQuark
    signature: 'static inline GQuark quark_new (gchar *string) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/gquark.c:320,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gquark.c:323,1
    - Dst: quark_from_string
      Src: /src/glib/glib/gquark.c:321,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 326
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 326
    functionName: quark_intern_string_locked
    functionSourceFile: /src/glib/glib/gquark.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - G_LOCK
    - quark_from_string
    linkageType: ''
    returnType: gchar*
    signature: 'static inline const gchar *quark_intern_string_locked (const gchar
      *string, gboolean duplicate) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gthread.h:387,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - locker
    argTypes:
    - GMutexLocker*
    constantsTouched: []
    func_position:
      end: 388
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 388
    functionName: g_mutex_locker_free
    functionSourceFile: /src/glib/glib/gthread.h
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    linkageType: ''
    returnType: GLIB_AVAILABLE_STATIC_INLINE_IN_2_44
    signature: 'GLIB_AVAILABLE_STATIC_INLINE_IN_2_44 static inline void g_mutex_locker_free
      (GMutexLocker *locker) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rw_lock_writer_lock
      Src: /src/glib/glib/gthread.h:649,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 651
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 651
    functionName: g_rw_lock_writer_locker_new
    functionSourceFile: /src/glib/glib/gthread.h
    functionUses: []
    functionsReached:
    - g_rw_lock_writer_lock
    linkageType: ''
    returnType: GRWLockWriterLocker*
    signature: 'static inline GRWLockWriterLocker *g_rw_lock_writer_locker_new (GRWLock
      *rw_lock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rw_lock_writer_unlock
      Src: /src/glib/glib/gthread.h:670,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - locker
    argTypes:
    - GRWLockWriterLocker*
    constantsTouched: []
    func_position:
      end: 671
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 671
    functionName: g_rw_lock_writer_locker_free
    functionSourceFile: /src/glib/glib/gthread.h
    functionUses: []
    functionsReached:
    - g_rw_lock_writer_unlock
    linkageType: ''
    returnType: GLIB_AVAILABLE_STATIC_INLINE_IN_2_62
    signature: 'GLIB_AVAILABLE_STATIC_INLINE_IN_2_62 static inline void g_rw_lock_writer_locker_free
      (GRWLockWriterLocker *locker) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/glib/gthread.h:512,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - locker
    argTypes:
    - GRecMutexLocker*
    constantsTouched: []
    func_position:
      end: 513
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 513
    functionName: g_rec_mutex_locker_free
    functionSourceFile: /src/glib/glib/gthread.h
    functionUses: []
    functionsReached:
    - g_rec_mutex_unlock
    linkageType: ''
    returnType: GLIB_AVAILABLE_STATIC_INLINE_IN_2_60
    signature: 'GLIB_AVAILABLE_STATIC_INLINE_IN_2_60 static inline void g_rec_mutex_locker_free
      (GRecMutexLocker *locker) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rec_mutex_lock
      Src: /src/glib/glib/gthread.h:492,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 494
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 494
    functionName: g_rec_mutex_locker_new
    functionSourceFile: /src/glib/glib/gthread.h
    functionUses: []
    functionsReached:
    - g_rec_mutex_lock
    linkageType: ''
    returnType: GRecMutexLocker*
    signature: 'static inline GRecMutexLocker *g_rec_mutex_locker_new (GRecMutex *rec_mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rw_lock_reader_lock
      Src: /src/glib/glib/gthread.h:747,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 749
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 749
    functionName: g_rw_lock_reader_locker_new
    functionSourceFile: /src/glib/glib/gthread.h
    functionUses: []
    functionsReached:
    - g_rw_lock_reader_lock
    linkageType: ''
    returnType: GRWLockReaderLocker*
    signature: 'static inline GRWLockReaderLocker *g_rw_lock_reader_locker_new (GRWLock
      *rw_lock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rw_lock_reader_unlock
      Src: /src/glib/glib/gthread.h:768,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - locker
    argTypes:
    - GRWLockReaderLocker*
    constantsTouched: []
    func_position:
      end: 769
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 769
    functionName: g_rw_lock_reader_locker_free
    functionSourceFile: /src/glib/glib/gthread.h
    functionUses: []
    functionsReached:
    - g_rw_lock_reader_unlock
    linkageType: ''
    returnType: GLIB_AVAILABLE_STATIC_INLINE_IN_2_62
    signature: 'GLIB_AVAILABLE_STATIC_INLINE_IN_2_62 static inline void g_rw_lock_reader_locker_free
      (GRWLockReaderLocker *locker) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gthread.h:369,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 371
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 371
    functionName: g_mutex_locker_new
    functionSourceFile: /src/glib/glib/gthread.h
    functionUses: []
    functionsReached:
    - g_mutex_lock
    linkageType: ''
    returnType: GLIB_AVAILABLE_STATIC_INLINE_IN_2_44*
    signature: 'GLIB_AVAILABLE_STATIC_INLINE_IN_2_44 static inline GMutexLocker *g_mutex_locker_new
      (GMutex *mutex) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pipe2
      Src: /src/glib/glib/glib-unixprivate.h:58,1
    - Dst: close
      Src: /src/glib/glib/glib-unixprivate.h:78,1
    - Dst: fcntl
      Src: /src/glib/glib/glib-unixprivate.h:74,1
    - Dst: pipe
      Src: /src/glib/glib/glib-unixprivate.h:68,1
    - Dst: fcntl
      Src: /src/glib/glib/glib-unixprivate.h:73,1
    - Dst: close
      Src: /src/glib/glib/glib-unixprivate.h:79,1
    - Dst: fcntl
      Src: /src/glib/glib/glib-unixprivate.h:96,1
    - Dst: fcntl
      Src: /src/glib/glib/glib-unixprivate.h:97,1
    - Dst: close
      Src: /src/glib/glib/glib-unixprivate.h:101,1
    - Dst: close
      Src: /src/glib/glib/glib-unixprivate.h:102,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 3
    argNames:
    - fds
    - close_on_exec
    - nonblock
    argTypes:
    - int*
    - gboolean
    - gboolean
    constantsTouched: []
    func_position:
      end: 112
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 112
    functionName: g_unix_open_pipe_internal
    functionSourceFile: /src/glib/glib/glib-unixprivate.h
    functionUses: []
    functionsReached:
    - fcntl
    - close
    - pipe2
    - pipe
    linkageType: ''
    returnType: G_BEGIN_DECLS
    signature: 'G_BEGIN_DECLS static inline gboolean g_unix_open_pipe_internal (int
      *fds, gboolean close_on_exec, gboolean nonblock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: make_csconv
      Src: /src/glib/glib/win_iconv.c:799,1
    - Dst: make_csconv
      Src: /src/glib/glib/win_iconv.c:799,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - cd
    - tocode
    - fromcode
    argTypes:
    - rec_iconv_t*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 806
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 806
    functionName: win_iconv_open
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached:
    - make_csconv
    linkageType: ''
    returnType: int
    signature: 'static int win_iconv_open(rec_iconv_t *cd, const char *tocode, const
      char *fromcode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 1
    argNames:
    - codepage
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1108
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1108
    functionName: mbtowc_flags
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int mbtowc_flags(int codepage) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ISO2022_MODE
      Src: /src/glib/glib/win_iconv.c:1928,1
    - Dst: ISO2022_MODE_SHIFT
      Src: /src/glib/glib/win_iconv.c:1931,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1936,1
    - Dst: ISO2022_MODE_CS
      Src: /src/glib/glib/win_iconv.c:1933,1
    - Dst: ISO2022_MODE_SHIFT
      Src: /src/glib/glib/win_iconv.c:1939,1
    - Dst: memcpy
      Src: /src/glib/glib/win_iconv.c:1941,1
    - Dst: ISO2022_MODE_CS
      Src: /src/glib/glib/win_iconv.c:1944,1
    - Dst: memcpy
      Src: /src/glib/glib/win_iconv.c:1946,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - cv
    - buf
    - bufsize
    argTypes:
    - csconv_t*
    - uchar*
    - int
    constantsTouched: []
    func_position:
      end: 1953
      start: 1922
    functionDepth: 0
    functionLinenumber: 1922
    functionLinenumberEnd: 1953
    functionName: iso2022jp_flush
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached:
    - memcpy
    - ISO2022_MODE_CS
    - ISO2022_MODE
    - ISO2022_MODE_SHIFT
    - seterror
    linkageType: ''
    returnType: int
    signature: 'static int iso2022jp_flush(csconv_t *cv, uchar *buf, int bufsize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - UNUSED
    argTypes:
    - iconv_t
    constantsTouched: []
    func_position:
      end: 812
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 812
    functionName: win_iconv_close
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int win_iconv_close(iconv_t cd UNUSED) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - wbuf
    argTypes:
    - ushort*
    constantsTouched: []
    func_position:
      end: 1070
      start: 1063
    functionDepth: 0
    functionLinenumber: 1063
    functionLinenumberEnd: 1070
    functionName: utf16_to_ucs4
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint
    signature: 'static uint utf16_to_ucs4(const ushort *wbuf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - wc
    - wbuf
    - wbufsize
    argTypes:
    - uint
    - ushort*
    - int*
    constantsTouched: []
    func_position:
      end: 1087
      start: 1072
    functionDepth: 0
    functionLinenumber: 1072
    functionLinenumberEnd: 1087
    functionName: ucs4_to_utf16
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ucs4_to_utf16(uint wc, ushort *wbuf, int *wbufsize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 3
    argNames:
    - cd
    - request
    - argument
    argTypes:
    - iconv_t
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: iconvctl
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int iconvctl (iconv_t cd, int request, void* argument) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - hinstDLL
    - fdwReason
    - lpReserved
    argTypes:
    - HINSTANCE
    - DWORD
    - LPVOID
    constantsTouched: []
    func_position:
      end: 1970
      start: 1956
    functionDepth: 0
    functionLinenumber: 1956
    functionLinenumberEnd: 1970
    functionName: DllMain
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BOOL
    signature: 'BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpReserved) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LoadLibrary
      Src: /src/glib/glib/win_iconv.c:734,1
    - Dst: GetProcAddressA
      Src: /src/glib/glib/win_iconv.c:738,1
    - Dst: GetProcAddressA
      Src: /src/glib/glib/win_iconv.c:737,1
    - Dst: TEXT
      Src: /src/glib/glib/win_iconv.c:734,1
    - Dst: GetProcAddressA
      Src: /src/glib/glib/win_iconv.c:739,1
    - Dst: GetProcAddressA
      Src: /src/glib/glib/win_iconv.c:740,1
    - Dst: GetProcAddressA
      Src: /src/glib/glib/win_iconv.c:741,1
    - Dst: GetProcAddressA
      Src: /src/glib/glib/win_iconv.c:742,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 744
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 744
    functionName: load_mlang
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached:
    - GetProcAddressA
    - LoadLibrary
    - TEXT
    linkageType: ''
    returnType: int
    signature: 'static int load_mlang(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/glib/glib/win_iconv.c:782,1
    - Dst: FreeLibrary
      Src: /src/glib/glib/win_iconv.c:780,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - _cd
    argTypes:
    - iconv_t
    constantsTouched: []
    func_position:
      end: 785
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 785
    functionName: iconv_close
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached:
    - FreeLibrary
    - free
    linkageType: ''
    returnType: int
    signature: 'int iconv_close(iconv_t _cd) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ucs4_to_utf16
      Src: /src/glib/glib/win_iconv.c:891,1
    - Dst: utf16_to_ucs4
      Src: /src/glib/glib/win_iconv.c:899,1
    - Dst: utf16_to_ucs4
      Src: /src/glib/glib/win_iconv.c:885,1
    - Dst: ucs4_to_utf16
      Src: /src/glib/glib/win_iconv.c:905,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 90
    argCount: 5
    argNames:
    - _cd
    - /* const */
    - inbuf
    - inbytesleft
    - outbuf
    - outbytesleft
    argTypes:
    - iconv_t
    - char**
    - size_t*
    - char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 934
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 934
    functionName: win_iconv
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached:
    - ucs4_to_utf16
    - utf16_to_ucs4
    linkageType: ''
    returnType: size_t
    signature: 'static size_t win_iconv(iconv_t _cd, /* const */ char **inbuf, size_t
      *inbytesleft, char **outbuf, size_t *outbytesleft) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1348,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1350,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 3
    argNames:
    - UNUSED
    - buf
    - bufsize
    argTypes:
    - csconv_t*
    - uchar*
    - int
    constantsTouched: []
    func_position:
      end: 1352
      start: 1335
    functionDepth: 0
    functionLinenumber: 1335
    functionLinenumberEnd: 1352
    functionName: utf8_mblen
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached:
    - seterror
    linkageType: ''
    returnType: int
    signature: 'static int utf8_mblen(csconv_t *cv UNUSED, const uchar *buf, int bufsize) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbtowc_flags
      Src: /src/glib/glib/win_iconv.c:1401,1
    - Dst: MultiByteToWideChar
      Src: /src/glib/glib/win_iconv.c:1401,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1404,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1400,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 5
    argNames:
    - cv
    - buf
    - bufsize
    - wbuf
    - wbufsize
    argTypes:
    - csconv_t*
    - uchar*
    - int
    - ushort*
    - int*
    constantsTouched: []
    func_position:
      end: 1406
      start: 1387
    functionDepth: 0
    functionLinenumber: 1387
    functionLinenumberEnd: 1406
    functionName: kernel_mbtowc
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached:
    - MultiByteToWideChar
    - mbtowc_flags
    - seterror
    linkageType: ''
    returnType: int
    signature: 'static int kernel_mbtowc(csconv_t *cv, const uchar *buf, int bufsize,
      ushort *wbuf, int *wbufsize) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1497,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1524,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1520,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1530,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 51
    argCount: 5
    argNames:
    - cv
    - buf
    - bufsize
    - wbuf
    - wbufsize
    argTypes:
    - csconv_t*
    - uchar*
    - int
    - ushort*
    - int*
    constantsTouched: []
    func_position:
      end: 1536
      start: 1487
    functionDepth: 0
    functionLinenumber: 1487
    functionLinenumberEnd: 1536
    functionName: utf16_mbtowc
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached:
    - seterror
    linkageType: ''
    returnType: int
    signature: 'static int utf16_mbtowc(csconv_t *cv, const uchar *buf, int bufsize,
      ushort *wbuf, int *wbufsize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 5
    argNames:
    - _cd
    - /* const */
    - inbuf
    - inbytesleft
    - outbuf
    - outbytesleft
    argTypes:
    - iconv_t
    - char**
    - size_t*
    - char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 794
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 794
    functionName: iconv
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t iconv(iconv_t _cd, /* const */ char **inbuf, size_t *inbytesleft,
      char **outbuf, size_t *outbytesleft) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/glib/glib/win_iconv.c:751,1
    - Dst: win_iconv_open
      Src: /src/glib/glib/win_iconv.c:764,1
    - Dst: libiconv_iconv_open
      Src: /src/glib/glib/win_iconv.c:757,1
    - Dst: free
      Src: /src/glib/glib/win_iconv.c:767,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - tocode
    - fromcode
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 770
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 770
    functionName: iconv_open
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached:
    - calloc
    - win_iconv_open
    - free
    - libiconv_iconv_open
    linkageType: ''
    returnType: iconv_t
    signature: 'iconv_t iconv_open(const char *tocode, const char *fromcode) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: _stricmp
      Src: /src/glib/glib/win_iconv.c:952,1
    - Dst: name_to_codepage
      Src: /src/glib/glib/win_iconv.c:966,1
    - Dst: _stricmp
      Src: /src/glib/glib/win_iconv.c:971,1
    - Dst: _stricmp
      Src: /src/glib/glib/win_iconv.c:979,1
    - Dst: load_mlang
      Src: /src/glib/glib/win_iconv.c:995,1
    - Dst: _stricmp
      Src: /src/glib/glib/win_iconv.c:954,1
    - Dst: _stricmp
      Src: /src/glib/glib/win_iconv.c:971,1
    - Dst: GetCPInfo
      Src: /src/glib/glib/win_iconv.c:1002,1
    - Dst: _stricmp
      Src: /src/glib/glib/win_iconv.c:980,1
    - Dst: strrstr
      Src: /src/glib/glib/win_iconv.c:950,1
    - Dst: strlen
      Src: /src/glib/glib/win_iconv.c:945,1
    - Dst: _stricmp
      Src: /src/glib/glib/win_iconv.c:956,1
    - Dst: _stricmp
      Src: /src/glib/glib/win_iconv.c:972,1
    - Dst: IsValidCodePage
      Src: /src/glib/glib/win_iconv.c:1001,1
    - Dst: _stricmp
      Src: /src/glib/glib/win_iconv.c:972,1
    - Dst: xstrndup
      Src: /src/glib/glib/win_iconv.c:945,1
    - Dst: load_mlang
      Src: /src/glib/glib/win_iconv.c:989,1
    - Dst: _stricmp
      Src: /src/glib/glib/win_iconv.c:980,1
    - Dst: _stricmp
      Src: /src/glib/glib/win_iconv.c:979,1
    - Dst: free
      Src: /src/glib/glib/win_iconv.c:1016,1
    - Dst: free
      Src: /src/glib/glib/win_iconv.c:1032,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 110
    argCount: 2
    argNames:
    - _name
    - cv
    argTypes:
    - char*
    - csconv_t*
    constantsTouched: []
    func_position:
      end: 1035
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 1035
    functionName: make_csconv
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached:
    - GetCPInfo
    - strlen
    - IsValidCodePage
    - free
    - load_mlang
    - strrstr
    - _stricmp
    - name_to_codepage
    - xstrndup
    linkageType: ''
    returnType: int
    signature: 'static int make_csconv(const char *_name, csconv_t *cv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - UNUSED
    - UNUSED
    - bufsize
    - UNUSED
    argTypes:
    - csconv_t*
    - uchar*
    - int
    constantsTouched: []
    func_position:
      end: 1302
      start: 1298
    functionDepth: 0
    functionLinenumber: 1298
    functionLinenumberEnd: 1302
    functionName: sbcs_mblen
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int sbcs_mblen(csconv_t *cv UNUSED, const uchar *buf UNUSED,
      int bufsize UNUSED) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1362,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1379,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1373,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1370,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1364,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1382,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 38
    argCount: 3
    argNames:
    - UNUSED
    - buf
    - bufsize
    argTypes:
    - csconv_t*
    - uchar*
    - int
    constantsTouched: []
    func_position:
      end: 1385
      start: 1354
    functionDepth: 0
    functionLinenumber: 1354
    functionLinenumberEnd: 1385
    functionName: eucjp_mblen
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached:
    - seterror
    linkageType: ''
    returnType: int
    signature: 'static int eucjp_mblen(csconv_t *cv UNUSED, const uchar *buf, int
      bufsize) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1417,1
    - Dst: must_use_null_useddefaultchar
      Src: /src/glib/glib/win_iconv.c:1418,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1431,1
    - Dst: WideCharToMultiByte
      Src: /src/glib/glib/win_iconv.c:1426,1
    - Dst: GetLastError
      Src: /src/glib/glib/win_iconv.c:1430,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1432,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1435,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1437,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 5
    argNames:
    - cv
    - wbuf
    - wbufsize
    - buf
    - bufsize
    argTypes:
    - csconv_t*
    - ushort*
    - int
    - uchar*
    - int
    constantsTouched: []
    func_position:
      end: 1439
      start: 1408
    functionDepth: 0
    functionLinenumber: 1408
    functionLinenumberEnd: 1439
    functionName: kernel_wctomb
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached:
    - GetLastError
    - WideCharToMultiByte
    - seterror
    - must_use_null_useddefaultchar
    linkageType: ''
    returnType: int
    signature: 'static int kernel_wctomb(csconv_t *cv, ushort *wbuf, int wbufsize,
      uchar *buf, int bufsize) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1547,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1560,1
    - Dst: memcpy
      Src: /src/glib/glib/win_iconv.c:1549,1
    - Dst: utf16_wctomb
      Src: /src/glib/glib/win_iconv.c:1553,1
    - Dst: memcpy
      Src: /src/glib/glib/win_iconv.c:1551,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1574,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 55
    argCount: 5
    argNames:
    - cv
    - wbuf
    - wbufsize
    - buf
    - bufsize
    argTypes:
    - csconv_t*
    - ushort*
    - int
    - uchar*
    - int
    constantsTouched: []
    func_position:
      end: 1588
      start: 1538
    functionDepth: 0
    functionLinenumber: 1538
    functionLinenumberEnd: 1588
    functionName: utf16_wctomb
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached:
    - utf16_wctomb
    - memcpy
    - seterror
    linkageType: ''
    returnType: int
    signature: 'static int utf16_wctomb(csconv_t *cv, ushort *wbuf, int wbufsize,
      uchar *buf, int bufsize) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1601,1
    - Dst: ucs4_to_utf16
      Src: /src/glib/glib/win_iconv.c:1625,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1624,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 5
    argNames:
    - cv
    - buf
    - bufsize
    - wbuf
    - wbufsize
    argTypes:
    - csconv_t*
    - uchar*
    - int
    - ushort*
    - int*
    constantsTouched: []
    func_position:
      end: 1627
      start: 1590
    functionDepth: 0
    functionLinenumber: 1590
    functionLinenumberEnd: 1627
    functionName: utf32_mbtowc
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached:
    - ucs4_to_utf16
    - seterror
    linkageType: ''
    returnType: int
    signature: 'static int utf32_mbtowc(csconv_t *cv, const uchar *buf, int bufsize,
      ushort *wbuf, int *wbufsize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TO_NT_HEADERS
      Src: /src/glib/glib/win_iconv.c:1252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - Base
    - MappedAsImage
    - DirectoryEntry
    - Size
    argTypes:
    - LPVOID
    - BOOLEAN
    - USHORT
    - PULONG
    constantsTouched: []
    func_position:
      end: 1259
      start: 1247
    functionDepth: 0
    functionLinenumber: 1247
    functionLinenumberEnd: 1259
    functionName: MyImageDirectoryEntryToData
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached:
    - TO_NT_HEADERS
    linkageType: ''
    returnType: PVOID
    signature: 'static PVOID MyImageDirectoryEntryToData(LPVOID Base, BOOLEAN MappedAsImage,
      USHORT DirectoryEntry, PULONG Size) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1640,1
    - Dst: memcpy
      Src: /src/glib/glib/win_iconv.c:1642,1
    - Dst: utf32_wctomb
      Src: /src/glib/glib/win_iconv.c:1646,1
    - Dst: memcpy
      Src: /src/glib/glib/win_iconv.c:1644,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1653,1
    - Dst: utf16_to_ucs4
      Src: /src/glib/glib/win_iconv.c:1654,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 5
    argNames:
    - cv
    - wbuf
    - wbufsize
    - buf
    - bufsize
    argTypes:
    - csconv_t*
    - ushort*
    - int
    - uchar*
    - int
    constantsTouched: []
    func_position:
      end: 1670
      start: 1629
    functionDepth: 0
    functionLinenumber: 1629
    functionLinenumberEnd: 1670
    functionName: utf32_wctomb
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached:
    - memcpy
    - utf16_to_ucs4
    - seterror
    - utf32_wctomb
    linkageType: ''
    returnType: int
    signature: 'static int utf32_wctomb(csconv_t *cv, ushort *wbuf, int wbufsize,
      uchar *buf, int bufsize) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/glib/glib/win_iconv.c:2006,1
    - Dst: strcmp
      Src: /src/glib/glib/win_iconv.c:2016,1
    - Dst: strlen
      Src: /src/glib/glib/win_iconv.c:2047,1
    - Dst: fopen
      Src: /src/glib/glib/win_iconv.c:2027,1
    - Dst: memmove
      Src: /src/glib/glib/win_iconv.c:2078,1
    - Dst: iconv
      Src: /src/glib/glib/win_iconv.c:2083,1
    - Dst: strcat
      Src: /src/glib/glib/win_iconv.c:2054,1
    - Dst: strcmp
      Src: /src/glib/glib/win_iconv.c:2003,1
    - Dst: strlen
      Src: /src/glib/glib/win_iconv.c:2047,1
    - Dst: perror
      Src: /src/glib/glib/win_iconv.c:2050,1
    - Dst: strcpy
      Src: /src/glib/glib/win_iconv.c:2053,1
    - Dst: iconv_open
      Src: /src/glib/glib/win_iconv.c:2057,1
    - Dst: perror
      Src: /src/glib/glib/win_iconv.c:2060,1
    - Dst: feof
      Src: /src/glib/glib/win_iconv.c:2073,1
    - Dst: perror
      Src: /src/glib/glib/win_iconv.c:2075,1
    - Dst: fclose
      Src: /src/glib/glib/win_iconv.c:2094,1
    - Dst: iconv
      Src: /src/glib/glib/win_iconv.c:2071,1
    - Dst: strcmp
      Src: /src/glib/glib/win_iconv.c:2012,1
    - Dst: fprintf
      Src: /src/glib/glib/win_iconv.c:2021,1
    - Dst: fread
      Src: /src/glib/glib/win_iconv.c:2064,1
    - Dst: fwrite
      Src: /src/glib/glib/win_iconv.c:2072,1
    - Dst: fwrite
      Src: /src/glib/glib/win_iconv.c:2084,1
    - Dst: iconv_close
      Src: /src/glib/glib/win_iconv.c:2091,1
    - Dst: fclose
      Src: /src/glib/glib/win_iconv.c:2096,1
    - Dst: _setmode
      Src: /src/glib/glib/win_iconv.c:1998,1
    - Dst: _setmode
      Src: /src/glib/glib/win_iconv.c:1999,1
    - Dst: _fileno
      Src: /src/glib/glib/win_iconv.c:1998,1
    - Dst: _fileno
      Src: /src/glib/glib/win_iconv.c:1999,1
    - Dst: strcmp
      Src: /src/glib/glib/win_iconv.c:2010,1
    - Dst: strcmp
      Src: /src/glib/glib/win_iconv.c:2014,1
    - Dst: fprintf
      Src: /src/glib/glib/win_iconv.c:2030,1
    - Dst: fopen
      Src: /src/glib/glib/win_iconv.c:2018,1
    - Dst: printf
      Src: /src/glib/glib/win_iconv.c:2039,1
    - Dst: malloc
      Src: /src/glib/glib/win_iconv.c:2047,1
    - Dst: perror
      Src: /src/glib/glib/win_iconv.c:2087,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 105
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 2099
      start: 1977
    functionDepth: 0
    functionLinenumber: 1977
    functionLinenumberEnd: 2099
    functionName: main
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached:
    - printf
    - iconv_close
    - memmove
    - strcmp
    - iconv
    - strcat
    - fprintf
    - fread
    - perror
    - feof
    - strlen
    - _fileno
    - strcpy
    - _setmode
    - iconv_open
    - malloc
    - fwrite
    - fclose
    - fopen
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/glib/win_iconv.c:1043,1
    - Dst: strcmp
      Src: /src/glib/glib/win_iconv.c:1045,1
    - Dst: _strnicmp
      Src: /src/glib/glib/win_iconv.c:1047,1
    - Dst: atoi
      Src: /src/glib/glib/win_iconv.c:1048,1
    - Dst: GetACP
      Src: /src/glib/glib/win_iconv.c:1044,1
    - Dst: atoi
      Src: /src/glib/glib/win_iconv.c:1050,1
    - Dst: _strnicmp
      Src: /src/glib/glib/win_iconv.c:1051,1
    - Dst: atoi
      Src: /src/glib/glib/win_iconv.c:1052,1
    - Dst: _stricmp
      Src: /src/glib/glib/win_iconv.c:1055,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1058
      start: 1037
    functionDepth: 0
    functionLinenumber: 1037
    functionLinenumberEnd: 1058
    functionName: name_to_codepage
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached:
    - _strnicmp
    - GetACP
    - strcmp
    - _stricmp
    - atoi
    linkageType: ''
    returnType: int
    signature: 'static int name_to_codepage(const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 1
    argNames:
    - codepage
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1128
      start: 1118
    functionDepth: 0
    functionLinenumber: 1118
    functionLinenumberEnd: 1128
    functionName: must_use_null_useddefaultchar
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int must_use_null_useddefaultchar(int codepage) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/glib/win_iconv.c:1147,1
    - Dst: memcpy
      Src: /src/glib/glib/win_iconv.c:1150,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1142
    functionDepth: 0
    functionLinenumber: 1142
    functionLinenumberEnd: 1153
    functionName: xstrndup
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached:
    - malloc
    - memcpy
    linkageType: ''
    returnType: char*
    signature: 'static char *xstrndup(const char *s, size_t n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDBCSLeadByteEx
      Src: /src/glib/glib/win_iconv.c:1307,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1309,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - cv
    - buf
    - bufsize
    argTypes:
    - csconv_t*
    - uchar*
    - int
    constantsTouched: []
    func_position:
      end: 1311
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1311
    functionName: dbcs_mblen
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached:
    - IsDBCSLeadByteEx
    - seterror
    linkageType: ''
    returnType: int
    signature: 'static int dbcs_mblen(csconv_t *cv, const uchar *buf, int bufsize) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ConvertINetMultiByteToUnicode
      Src: /src/glib/glib/win_iconv.c:1460,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1463,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 5
    argNames:
    - cv
    - buf
    - bufsize
    - wbuf
    - wbufsize
    argTypes:
    - csconv_t*
    - uchar*
    - int
    - ushort*
    - int*
    constantsTouched: []
    func_position:
      end: 1465
      start: 1449
    functionDepth: 0
    functionLinenumber: 1449
    functionLinenumberEnd: 1465
    functionName: mlang_mbtowc
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached:
    - seterror
    - ConvertINetMultiByteToUnicode
    linkageType: ''
    returnType: int
    signature: 'static int mlang_mbtowc(csconv_t *cv, const uchar *buf, int bufsize,
      ushort *wbuf, int *wbufsize) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/glib/glib/win_iconv.c:1743,1
    - Dst: memcpy
      Src: /src/glib/glib/win_iconv.c:1804,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1757,1
    - Dst: ISO2022_MODE
      Src: /src/glib/glib/win_iconv.c:1761,1
    - Dst: ISO2022_MODE_CS
      Src: /src/glib/glib/win_iconv.c:1761,1
    - Dst: ISO2022_MODE
      Src: /src/glib/glib/win_iconv.c:1767,1
    - Dst: ISO2022_MODE_CS
      Src: /src/glib/glib/win_iconv.c:1767,1
    - Dst: memcpy
      Src: /src/glib/glib/win_iconv.c:1795,1
    - Dst: ISO2022_MODE_SHIFT
      Src: /src/glib/glib/win_iconv.c:1773,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1811,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1817,1
    - Dst: ISO2022_MODE
      Src: /src/glib/glib/win_iconv.c:1750,1
    - Dst: strncmp
      Src: /src/glib/glib/win_iconv.c:1748,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1744,1
    - Dst: ISO2022_MODE_CS
      Src: /src/glib/glib/win_iconv.c:1772,1
    - Dst: memcpy
      Src: /src/glib/glib/win_iconv.c:1803,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1784,1
    - Dst: memcpy
      Src: /src/glib/glib/win_iconv.c:1792,1
    - Dst: ConvertINetMultiByteToUnicode
      Src: /src/glib/glib/win_iconv.c:1808,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1787,1
    - Dst: memcpy
      Src: /src/glib/glib/win_iconv.c:1789,1
    - Dst: ISO2022_MODE
      Src: /src/glib/glib/win_iconv.c:1816,1
    - Dst: ISO2022_MODE
      Src: /src/glib/glib/win_iconv.c:1820,1
    - Dst: ISO2022_MODE
      Src: /src/glib/glib/win_iconv.c:1821,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 87
    argCount: 5
    argNames:
    - cv
    - buf
    - bufsize
    - wbuf
    - wbufsize
    argTypes:
    - csconv_t*
    - uchar*
    - int
    - ushort*
    - int*
    constantsTouched: []
    func_position:
      end: 1824
      start: 1722
    functionDepth: 0
    functionLinenumber: 1722
    functionLinenumberEnd: 1824
    functionName: iso2022jp_mbtowc
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached:
    - memcpy
    - ISO2022_MODE_CS
    - ConvertINetMultiByteToUnicode
    - strncmp
    - ISO2022_MODE
    - ISO2022_MODE_SHIFT
    - seterror
    linkageType: ''
    returnType: int
    signature: 'static int iso2022jp_mbtowc(csconv_t *cv, const uchar *buf, int bufsize,
      ushort *wbuf, int *wbufsize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/glib/win_iconv.c:1133,1
    - Dst: strncmp
      Src: /src/glib/glib/win_iconv.c:1137,1
    - Dst: strlen
      Src: /src/glib/glib/win_iconv.c:1134,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1130
    functionDepth: 0
    functionLinenumber: 1130
    functionLinenumberEnd: 1140
    functionName: strrstr
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached:
    - strncmp
    - strlen
    linkageType: ''
    returnType: char*
    signature: 'static char *strrstr(const char *str, const char *token) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1160
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1160
    functionName: seterror
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int seterror(int err) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MyImageDirectoryEntryToData
      Src: /src/glib/glib/win_iconv.c:1272,1
    - Dst: IMAGE_SNAP_BY_ORDINAL
      Src: /src/glib/glib/win_iconv.c:1285,1
    - Dst: strcmp
      Src: /src/glib/glib/win_iconv.c:1289,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - hModule
    - funcname
    argTypes:
    - HMODULE
    - char*
    constantsTouched: []
    func_position:
      end: 1295
      start: 1261
    functionDepth: 0
    functionLinenumber: 1261
    functionLinenumberEnd: 1295
    functionName: find_imported_function
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached:
    - IMAGE_SNAP_BY_ORDINAL
    - strcmp
    - MyImageDirectoryEntryToData
    linkageType: ''
    returnType: FARPROC
    signature: 'static FARPROC find_imported_function(HMODULE hModule, const char
      *funcname) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1328,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1332,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 3
    argNames:
    - cv
    - buf
    - bufsize
    argTypes:
    - csconv_t*
    - uchar*
    - int
    constantsTouched: []
    func_position:
      end: 1333
      start: 1313
    functionDepth: 0
    functionLinenumber: 1313
    functionLinenumberEnd: 1333
    functionName: mbcs_mblen
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached:
    - seterror
    linkageType: ''
    returnType: int
    signature: 'static int mbcs_mblen(csconv_t *cv, const uchar *buf, int bufsize) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ConvertINetUnicodeToMultiByte
      Src: /src/glib/glib/win_iconv.c:1475,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1482,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1480,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1478,1
    - Dst: memcpy
      Src: /src/glib/glib/win_iconv.c:1483,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 5
    argNames:
    - cv
    - wbuf
    - wbufsize
    - buf
    - bufsize
    argTypes:
    - csconv_t*
    - ushort*
    - int
    - uchar*
    - int
    constantsTouched: []
    func_position:
      end: 1485
      start: 1467
    functionDepth: 0
    functionLinenumber: 1467
    functionLinenumberEnd: 1485
    functionName: mlang_wctomb
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached:
    - memcpy
    - seterror
    - ConvertINetUnicodeToMultiByte
    linkageType: ''
    returnType: int
    signature: 'static int mlang_wctomb(csconv_t *cv, ushort *wbuf, int wbufsize,
      uchar *buf, int bufsize) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ConvertINetUnicodeToMultiByte
      Src: /src/glib/glib/win_iconv.c:1847,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1852,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1872,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1850,1
    - Dst: strncmp
      Src: /src/glib/glib/win_iconv.c:1864,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1887,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1889,1
    - Dst: ISO2022_MODE
      Src: /src/glib/glib/win_iconv.c:1891,1
    - Dst: memmove
      Src: /src/glib/glib/win_iconv.c:1895,1
    - Dst: memmove
      Src: /src/glib/glib/win_iconv.c:1903,1
    - Dst: memcpy
      Src: /src/glib/glib/win_iconv.c:1904,1
    - Dst: ISO2022_MODE_SHIFT
      Src: /src/glib/glib/win_iconv.c:1906,1
    - Dst: seterror
      Src: /src/glib/glib/win_iconv.c:1916,1
    - Dst: memcpy
      Src: /src/glib/glib/win_iconv.c:1917,1
    - Dst: memmove
      Src: /src/glib/glib/win_iconv.c:1909,1
    - Dst: memcpy
      Src: /src/glib/glib/win_iconv.c:1910,1
    - Dst: ISO2022_MODE
      Src: /src/glib/glib/win_iconv.c:1918,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 68
    argCount: 5
    argNames:
    - cv
    - wbuf
    - wbufsize
    - buf
    - bufsize
    argTypes:
    - csconv_t*
    - ushort*
    - int
    - uchar*
    - int
    constantsTouched: []
    func_position:
      end: 1920
      start: 1826
    functionDepth: 0
    functionLinenumber: 1826
    functionLinenumberEnd: 1920
    functionName: iso2022jp_wctomb
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached:
    - memcpy
    - ConvertINetUnicodeToMultiByte
    - memmove
    - strncmp
    - ISO2022_MODE
    - ISO2022_MODE_SHIFT
    - seterror
    linkageType: ''
    returnType: int
    signature: 'static int iso2022jp_wctomb(csconv_t *cv, ushort *wbuf, int wbufsize,
      uchar *buf, int bufsize) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/glib/glib/win_iconv.c:1177,1
    - Dst: strchr
      Src: /src/glib/glib/win_iconv.c:1183,1
    - Dst: xstrndup
      Src: /src/glib/glib/win_iconv.c:1188,1
    - Dst: LoadLibraryA
      Src: /src/glib/glib/win_iconv.c:1191,1
    - Dst: strlen
      Src: /src/glib/glib/win_iconv.c:1187,1
    - Dst: free
      Src: /src/glib/glib/win_iconv.c:1192,1
    - Dst: FreeLibrary
      Src: /src/glib/glib/win_iconv.c:1197,1
    - Dst: GetProcAddressA
      Src: /src/glib/glib/win_iconv.c:1208,1
    - Dst: GetProcAddressA
      Src: /src/glib/glib/win_iconv.c:1210,1
    - Dst: GetProcAddressA
      Src: /src/glib/glib/win_iconv.c:1211,1
    - Dst: GetProcAddressA
      Src: /src/glib/glib/win_iconv.c:1213,1
    - Dst: find_imported_function
      Src: /src/glib/glib/win_iconv.c:1217,1
    - Dst: _iconv_open
      Src: /src/glib/glib/win_iconv.c:1222,1
    - Dst: FreeLibrary
      Src: /src/glib/glib/win_iconv.c:1231,1
    - Dst: GetProcAddressA
      Src: /src/glib/glib/win_iconv.c:1214,1
    - Dst: GetProcAddressA
      Src: /src/glib/glib/win_iconv.c:1216,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 62
    argCount: 3
    argNames:
    - cd
    - tocode
    - fromcode
    argTypes:
    - rec_iconv_t*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1233
      start: 1163
    functionDepth: 0
    functionLinenumber: 1163
    functionLinenumberEnd: 1233
    functionName: libiconv_iconv_open
    functionSourceFile: /src/glib/glib/win_iconv.c
    functionUses: []
    functionsReached:
    - FreeLibrary
    - getenv
    - strlen
    - free
    - find_imported_function
    - strchr
    - LoadLibraryA
    - GetProcAddressA
    - xstrndup
    - _iconv_open
    linkageType: ''
    returnType: int
    signature: 'static int libiconv_iconv_open(rec_iconv_t *cd, const char *tocode,
      const char *fromcode) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/glib/gpoll.c:150,1
    - Dst: g_win32_error_message
      Src: /src/glib/glib/gpoll.c:157,1
    - Dst: MsgWaitForMultipleObjectsEx
      Src: /src/glib/glib/gpoll.c:152,1
    - Dst: GetLastError
      Src: /src/glib/glib/gpoll.c:157,1
    - Dst: g_warning
      Src: /src/glib/glib/gpoll.c:158,1
    - Dst: g_free
      Src: /src/glib/glib/gpoll.c:159,1
    - Dst: WaitForSingleObjectEx
      Src: /src/glib/glib/gpoll.c:170,1
    - Dst: GetCurrentProcess
      Src: /src/glib/glib/gpoll.c:170,1
    - Dst: g_print
      Src: /src/glib/glib/gpoll.c:180,1
    - Dst: WaitForMultipleObjectsEx
      Src: /src/glib/glib/gpoll.c:182,1
    - Dst: g_win32_error_message
      Src: /src/glib/glib/gpoll.c:185,1
    - Dst: g_warning
      Src: /src/glib/glib/gpoll.c:186,1
    - Dst: GetLastError
      Src: /src/glib/glib/gpoll.c:185,1
    - Dst: g_free
      Src: /src/glib/glib/gpoll.c:187,1
    - Dst: g_print
      Src: /src/glib/glib/gpoll.c:192,1
    - Dst: poll_rest
      Src: /src/glib/glib/gpoll.c:216,1
    - Dst: g_print
      Src: /src/glib/glib/gpoll.c:226,1
    - Dst: poll_rest
      Src: /src/glib/glib/gpoll.c:245,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 81
    argCount: 6
    argNames:
    - msg_fd
    - stop_fd
    - handles
    - handle_to_fd
    - nhandles
    - timeout_ms
    argTypes:
    - GPollFD*
    - GPollFD*
    - HANDLE*
    - GPollFD*
    - gint
    - DWORD
    constantsTouched: []
    func_position:
      end: 252
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 252
    functionName: poll_rest
    functionSourceFile: /src/glib/glib/gpoll.c
    functionUses: []
    functionsReached:
    - g_warning
    - g_win32_error_message
    - MsgWaitForMultipleObjectsEx
    - poll_rest
    - WaitForMultipleObjectsEx
    - GetLastError
    - GetCurrentProcess
    - g_print
    - WaitForSingleObjectEx
    - g_free
    linkageType: ''
    returnType: int
    signature: 'static int poll_rest (GPollFD *msg_fd, GPollFD *stop_fd, HANDLE *handles,
      GPollFD *handle_to_fd[], gint nhandles, DWORD timeout_ms) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNREFERENCED_PARAMETER
      Src: /src/glib/glib/gpoll.c:302,1
    - Dst: SetEvent
      Src: /src/glib/glib/gpoll.c:310,1
    - Dst: UNREFERENCED_PARAMETER
      Src: /src/glib/glib/gpoll.c:303,1
    - Dst: g_win32_error_message
      Src: /src/glib/glib/gpoll.c:312,1
    - Dst: poll_single_thread
      Src: /src/glib/glib/gpoll.c:307,1
    - Dst: GetLastError
      Src: /src/glib/glib/gpoll.c:312,1
    - Dst: g_error
      Src: /src/glib/glib/gpoll.c:313,1
    - Dst: g_free
      Src: /src/glib/glib/gpoll.c:314,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - instance
    - context
    - work
    argTypes:
    - PTP_CALLBACK_INSTANCE
    - PVOID
    - PTP_WORK
    constantsTouched: []
    func_position:
      end: 316
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 316
    functionName: poll_single_worker_wrapper
    functionSourceFile: /src/glib/glib/gpoll.c
    functionUses: []
    functionsReached:
    - g_win32_error_message
    - UNREFERENCED_PARAMETER
    - SetEvent
    - GetLastError
    - poll_single_thread
    - g_error
    - g_free
    linkageType: ''
    returnType: VOID
    signature: 'static VOID CALLBACK poll_single_worker_wrapper (PTP_CALLBACK_INSTANCE
      instance, PVOID context, PTP_WORK work) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CloseThreadpoolWork
      Src: /src/glib/glib/gpoll.c:375,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - nworkers
    - work_handles
    argTypes:
    - guint
    - PTP_WORK*
    constantsTouched: []
    func_position:
      end: 377
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 377
    functionName: cleanup_workers
    functionSourceFile: /src/glib/glib/gpoll.c
    functionUses: []
    functionsReached:
    - CloseThreadpoolWork
    linkageType: ''
    returnType: void
    signature: 'static void cleanup_workers (guint nworkers, PTP_WORK *work_handles) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: FD_ZERO
      Src: /src/glib/glib/gpoll.c:553,1
    - Dst: FD_ZERO
      Src: /src/glib/glib/gpoll.c:554,1
    - Dst: FD_SET
      Src: /src/glib/glib/gpoll.c:561,1
    - Dst: FD_SET
      Src: /src/glib/glib/gpoll.c:563,1
    - Dst: FD_ZERO
      Src: /src/glib/glib/gpoll.c:555,1
    - Dst: FD_SET
      Src: /src/glib/glib/gpoll.c:565,1
    - Dst: select
      Src: /src/glib/glib/gpoll.c:573,1
    - Dst: FD_ISSET
      Src: /src/glib/glib/gpoll.c:581,1
    - Dst: FD_ISSET
      Src: /src/glib/glib/gpoll.c:583,1
    - Dst: FD_ISSET
      Src: /src/glib/glib/gpoll.c:585,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 3
    argNames:
    - fds
    - nfds
    - timeout
    argTypes:
    - GPollFD*
    - guint
    - gint
    constantsTouched: []
    func_position:
      end: 591
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 591
    functionName: g_poll
    functionSourceFile: /src/glib/glib/gpoll.c
    functionUses: []
    functionsReached:
    - FD_ISSET
    - FD_SET
    - FD_ZERO
    - select
    linkageType: ''
    returnType: gint
    signature: "gint g_poll (GPollFD *fds,\tguint nfds,\tgint timeout) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: poll_rest
      Src: /src/glib/glib/gpoll.c:276,1
    - Dst: poll_rest
      Src: /src/glib/glib/gpoll.c:290,1
    - Dst: poll_rest
      Src: /src/glib/glib/gpoll.c:283,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - data
    argTypes:
    - GWin32PollThreadData*
    constantsTouched: []
    func_position:
      end: 295
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 295
    functionName: poll_single_thread
    functionSourceFile: /src/glib/glib/gpoll.c
    functionUses: []
    functionsReached:
    - poll_rest
    linkageType: ''
    returnType: gint
    signature: 'static gint poll_single_thread (GWin32PollThreadData *data) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/glib/gpoll.c:332,1
    - Dst: g_print
      Src: /src/glib/glib/gpoll.c:353,1
    - Dst: g_warning
      Src: /src/glib/glib/gpoll.c:346,1
    - Dst: g_assert
      Src: /src/glib/glib/gpoll.c:334,1
    - Dst: g_print
      Src: /src/glib/glib/gpoll.c:359,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 35
    argCount: 5
    argNames:
    - fds
    - nfds
    - timeout_ms
    - stop_fd
    - data
    argTypes:
    - GPollFD*
    - guint
    - DWORD
    - GPollFD*
    - GWin32PollThreadData*
    constantsTouched: []
    func_position:
      end: 366
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 366
    functionName: fill_poll_thread_data
    functionSourceFile: /src/glib/glib/gpoll.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_warning
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void fill_poll_thread_data (GPollFD *fds, guint nfds, DWORD
      timeout_ms, GPollFD *stop_fd, GWin32PollThreadData *data) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: fill_poll_thread_data
      Src: /src/glib/glib/gpoll.c:410,1
    - Dst: MsgWaitForMultipleObjectsEx
      Src: /src/glib/glib/gpoll.c:482,1
    - Dst: SetEvent
      Src: /src/glib/glib/gpoll.c:488,1
    - Dst: GetLastError
      Src: /src/glib/glib/gpoll.c:470,1
    - Dst: WaitForThreadpoolWorkCallbacks
      Src: /src/glib/glib/gpoll.c:501,1
    - Dst: poll_single_thread
      Src: /src/glib/glib/gpoll.c:415,1
    - Dst: g_win32_error_message
      Src: /src/glib/glib/gpoll.c:470,1
    - Dst: WaitForMultipleObjects
      Src: /src/glib/glib/gpoll.c:485,1
    - Dst: g_free
      Src: /src/glib/glib/gpoll.c:472,1
    - Dst: g_free
      Src: /src/glib/glib/gpoll.c:492,1
    - Dst: CloseHandle
      Src: /src/glib/glib/gpoll.c:525,1
    - Dst: g_print
      Src: /src/glib/glib/gpoll.c:408,1
    - Dst: g_print
      Src: /src/glib/glib/gpoll.c:424,1
    - Dst: g_warning
      Src: /src/glib/glib/gpoll.c:433,1
    - Dst: CreateEventW
      Src: /src/glib/glib/gpoll.c:438,1
    - Dst: g_new0
      Src: /src/glib/glib/gpoll.c:445,1
    - Dst: SubmitThreadpoolWork
      Src: /src/glib/glib/gpoll.c:477,1
    - Dst: CreateThreadpoolWork
      Src: /src/glib/glib/gpoll.c:466,1
    - Dst: GetLastError
      Src: /src/glib/glib/gpoll.c:490,1
    - Dst: cleanup_workers
      Src: /src/glib/glib/gpoll.c:523,1
    - Dst: g_free
      Src: /src/glib/glib/gpoll.c:524,1
    - Dst: g_print
      Src: /src/glib/glib/gpoll.c:413,1
    - Dst: CreateEventW
      Src: /src/glib/glib/gpoll.c:440,1
    - Dst: fill_poll_thread_data
      Src: /src/glib/glib/gpoll.c:456,1
    - Dst: g_error
      Src: /src/glib/glib/gpoll.c:471,1
    - Dst: g_win32_error_message
      Src: /src/glib/glib/gpoll.c:490,1
    - Dst: g_error
      Src: /src/glib/glib/gpoll.c:491,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 100
    argCount: 3
    argNames:
    - fds
    - nfds
    - timeout
    argTypes:
    - GPollFD*
    - guint
    - gint
    constantsTouched: []
    func_position:
      end: 528
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 528
    functionName: g_poll
    functionSourceFile: /src/glib/glib/gpoll.c
    functionUses: []
    functionsReached:
    - WaitForThreadpoolWorkCallbacks
    - SubmitThreadpoolWork
    - fill_poll_thread_data
    - g_warning
    - g_win32_error_message
    - MsgWaitForMultipleObjectsEx
    - g_free
    - CreateThreadpoolWork
    - SetEvent
    - GetLastError
    - poll_single_thread
    - WaitForMultipleObjects
    - g_print
    - cleanup_workers
    - CloseHandle
    - g_error
    - g_new0
    - CreateEventW
    linkageType: ''
    returnType: gint
    signature: "gint g_poll (GPollFD *fds,\tguint nfds,\tgint timeout) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: poll
      Src: /src/glib/glib/gpoll.c:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - fds
    - nfds
    - timeout
    argTypes:
    - GPollFD*
    - guint
    - gint
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: g_poll
    functionSourceFile: /src/glib/glib/gpoll.c
    functionUses: []
    functionsReached:
    - poll
    linkageType: ''
    returnType: gint
    signature: "gint g_poll (GPollFD *fds,\tguint nfds,\tgint timeout) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - flags
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 187
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 187
    functionName: g_win32_print_access_mode
    functionSourceFile: /src/glib/glib/giowin32.c
    functionUses: []
    functionsReached:
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_print_access_mode (int flags) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: g_io_channel_get_buffer_condition
      Src: /src/glib/glib/giowin32.c:707,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:712,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:771,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:751,1
    - Dst: event_mask_to_string
      Src: /src/glib/glib/giowin32.c:773,1
    - Dst: g_abort
      Src: /src/glib/glib/giowin32.c:802,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:723,1
    - Dst: condition_to_string
      Src: /src/glib/glib/giowin32.c:730,1
    - Dst: condition_to_string
      Src: /src/glib/glib/giowin32.c:731,1
    - Dst: condition_to_string
      Src: /src/glib/glib/giowin32.c:732,1
    - Dst: EnterCriticalSection
      Src: /src/glib/glib/giowin32.c:735,1
    - Dst: LeaveCriticalSection
      Src: /src/glib/glib/giowin32.c:755,1
    - Dst: g_free
      Src: /src/glib/glib/giowin32.c:781,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:794,1
    - Dst: WSASetEvent
      Src: /src/glib/glib/giowin32.c:795,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/giowin32.c:801,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:718,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:728,1
    - Dst: condition_to_string
      Src: /src/glib/glib/giowin32.c:733,1
    - Dst: WSAGetLastError
      Src: /src/glib/glib/giowin32.c:778,1
    - Dst: WSAEventSelect
      Src: /src/glib/glib/giowin32.c:774,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:760,1
    - Dst: g_win32_error_message
      Src: /src/glib/glib/giowin32.c:778,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:741,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:780,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:786,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:805,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 64
    argCount: 2
    argNames:
    - source
    - timeout
    argTypes:
    - GSource*
    - gint*
    constantsTouched: []
    func_position:
      end: 808
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 808
    functionName: g_io_win32_prepare
    functionSourceFile: /src/glib/glib/giowin32.c
    functionUses: []
    functionsReached:
    - event_mask_to_string
    - EnterCriticalSection
    - g_win32_error_message
    - g_assert_not_reached
    - g_io_channel_get_buffer_condition
    - WSASetEvent
    - WSAGetLastError
    - LeaveCriticalSection
    - g_print
    - WSAEventSelect
    - g_free
    - g_abort
    - condition_to_string
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_io_win32_prepare (GSource *source,\t\t gint *timeout) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:1202,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/giowin32.c:1227,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:1214,1
    - Dst: buffer_read
      Src: /src/glib/glib/giowin32.c:1207,1
    - Dst: read
      Src: /src/glib/glib/giowin32.c:1210,1
    - Dst: g_io_channel_error_from_errno
      Src: /src/glib/glib/giowin32.c:1228,1
    - Dst: g_strerror
      Src: /src/glib/glib/giowin32.c:1229,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 17
    argCount: 5
    argNames:
    - channel
    - buf
    - count
    - bytes_read
    - err
    argTypes:
    - GIOChannel*
    - gchar*
    - gsize
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 1237
      start: 1190
    functionDepth: 0
    functionLinenumber: 1190
    functionLinenumberEnd: 1237
    functionName: g_io_win32_fd_and_console_read
    functionSourceFile: /src/glib/glib/giowin32.c
    functionUses: []
    functionsReached:
    - buffer_read
    - g_strerror
    - g_set_error_literal
    - g_io_channel_error_from_errno
    - g_print
    - read
    linkageType: ''
    returnType: GIOStatus
    signature: "static GIOStatus g_io_win32_fd_and_console_read (GIOChannel *channel,\t\
      \t\t\tgchar *buf,\t\t\t\tgsize count,\t\t\t\tgsize *bytes_read,\t\t\t\tGError\
      \ **err) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:195,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:203,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:197,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:199,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:201,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - flags
    argTypes:
    - GIOFlags
    constantsTouched: []
    func_position:
      end: 204
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 204
    functionName: g_win32_print_gioflags
    functionSourceFile: /src/glib/glib/giowin32.c
    functionUses: []
    functionsReached:
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_print_gioflags (GIOFlags flags) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:826,1
    - Dst: PeekMessage
      Src: /src/glib/glib/giowin32.c:827,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:894,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:941,1
    - Dst: condition_to_string
      Src: /src/glib/glib/giowin32.c:943,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/giowin32.c:948,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:820,1
    - Dst: _kbhit
      Src: /src/glib/glib/giowin32.c:858,1
    - Dst: condition_to_string
      Src: /src/glib/glib/giowin32.c:884,1
    - Dst: PeekConsoleInput
      Src: /src/glib/glib/giowin32.c:851,1
    - Dst: WSAEventSelect
      Src: /src/glib/glib/giowin32.c:896,1
    - Dst: ResetEvent
      Src: /src/glib/glib/giowin32.c:900,1
    - Dst: condition_to_string
      Src: /src/glib/glib/giowin32.c:942,1
    - Dst: condition_to_string
      Src: /src/glib/glib/giowin32.c:833,1
    - Dst: condition_to_string
      Src: /src/glib/glib/giowin32.c:834,1
    - Dst: condition_to_string
      Src: /src/glib/glib/giowin32.c:835,1
    - Dst: WSAEnumNetworkEvents
      Src: /src/glib/glib/giowin32.c:878,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:873,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:881,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:869,1
    - Dst: event_mask_to_string
      Src: /src/glib/glib/giowin32.c:886,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:898,1
    - Dst: g_io_channel_get_buffer_condition
      Src: /src/glib/glib/giowin32.c:816,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:831,1
    - Dst: condition_to_string
      Src: /src/glib/glib/giowin32.c:836,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:844,1
    - Dst: condition_to_string
      Src: /src/glib/glib/giowin32.c:883,1
    - Dst: ReadConsoleInput
      Src: /src/glib/glib/giowin32.c:862,1
    - Dst: g_abort
      Src: /src/glib/glib/giowin32.c:949,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 82
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 951
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 951
    functionName: g_io_win32_check
    functionSourceFile: /src/glib/glib/giowin32.c
    functionUses: []
    functionsReached:
    - event_mask_to_string
    - ReadConsoleInput
    - _kbhit
    - g_assert_not_reached
    - g_io_channel_get_buffer_condition
    - ResetEvent
    - WSAEnumNetworkEvents
    - PeekConsoleInput
    - g_print
    - WSAEventSelect
    - PeekMessage
    - g_abort
    - condition_to_string
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_io_win32_check (GSource *source) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/glib/giowin32.c:1044,1
    - Dst: memmove
      Src: /src/glib/glib/giowin32.c:1055,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:1050,1
    - Dst: PeekMessage
      Src: /src/glib/glib/giowin32.c:1052,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 5
    argNames:
    - channel
    - buf
    - count
    - bytes_read
    - err
    argTypes:
    - GIOChannel*
    - gchar*
    - gsize
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 1059
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1059
    functionName: g_io_win32_msg_read
    functionSourceFile: /src/glib/glib/giowin32.c
    functionUses: []
    functionsReached:
    - memmove
    - g_set_error_literal
    - PeekMessage
    - g_print
    linkageType: ''
    returnType: GIOStatus
    signature: "static GIOStatus g_io_win32_msg_read (GIOChannel *channel,\t\t gchar\
      \ *buf,\t\t gsize count,\t\t gsize *bytes_read,\t\t GError **err) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: buffer_write
      Src: /src/glib/glib/giowin32.c:1252,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:1259,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/giowin32.c:1273,1
    - Dst: g_io_channel_error_from_errno
      Src: /src/glib/glib/giowin32.c:1274,1
    - Dst: write
      Src: /src/glib/glib/giowin32.c:1255,1
    - Dst: g_strerror
      Src: /src/glib/glib/giowin32.c:1275,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 15
    argCount: 5
    argNames:
    - channel
    - buf
    - count
    - bytes_written
    - err
    argTypes:
    - GIOChannel*
    - gchar*
    - gsize
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 1283
      start: 1239
    functionDepth: 0
    functionLinenumber: 1239
    functionLinenumberEnd: 1283
    functionName: g_io_win32_fd_and_console_write
    functionSourceFile: /src/glib/glib/giowin32.c
    functionUses: []
    functionsReached:
    - write
    - g_strerror
    - g_set_error_literal
    - g_io_channel_error_from_errno
    - buffer_write
    - g_print
    linkageType: ''
    returnType: GIOStatus
    signature: "static GIOStatus g_io_win32_fd_and_console_write (GIOChannel *channel,\t\
      \t\t\t const gchar *buf,\t\t\t\t gsize count,\t\t\t\t gsize *bytes_written,\t\
      \t\t\t GError **err) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_getenv
      Src: /src/glib/glib/giowin32.c:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 268
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 268
    functionName: g_io_win32_get_debug_flag
    functionSourceFile: /src/glib/glib/giowin32.c
    functionUses: []
    functionsReached:
    - g_getenv
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_io_win32_get_debug_flag (void) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: CloseHandle
      Src: /src/glib/glib/giowin32.c:1117,1
    - Dst: GetLastError
      Src: /src/glib/glib/giowin32.c:1120,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:1122,1
    - Dst: CloseHandle
      Src: /src/glib/glib/giowin32.c:1130,1
    - Dst: GetLastError
      Src: /src/glib/glib/giowin32.c:1133,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:1135,1
    - Dst: g_win32_error_message
      Src: /src/glib/glib/giowin32.c:1156,1
    - Dst: g_win32_error_message
      Src: /src/glib/glib/giowin32.c:1120,1
    - Dst: g_free
      Src: /src/glib/glib/giowin32.c:1127,1
    - Dst: g_win32_error_message
      Src: /src/glib/glib/giowin32.c:1133,1
    - Dst: WSAGetLastError
      Src: /src/glib/glib/giowin32.c:1145,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:1147,1
    - Dst: WSAEventSelect
      Src: /src/glib/glib/giowin32.c:1142,1
    - Dst: g_free
      Src: /src/glib/glib/giowin32.c:1160,1
    - Dst: g_free
      Src: /src/glib/glib/giowin32.c:1163,1
    - Dst: DeleteCriticalSection
      Src: /src/glib/glib/giowin32.c:1114,1
    - Dst: g_free
      Src: /src/glib/glib/giowin32.c:1124,1
    - Dst: g_win32_error_message
      Src: /src/glib/glib/giowin32.c:1145,1
    - Dst: g_free
      Src: /src/glib/glib/giowin32.c:1137,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:1112,1
    - Dst: g_free
      Src: /src/glib/glib/giowin32.c:1149,1
    - Dst: WSACloseEvent
      Src: /src/glib/glib/giowin32.c:1153,1
    - Dst: WSAGetLastError
      Src: /src/glib/glib/giowin32.c:1156,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:1158,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 36
    argCount: 1
    argNames:
    - channel
    argTypes:
    - GIOChannel*
    constantsTouched: []
    func_position:
      end: 1164
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1164
    functionName: g_io_win32_free
    functionSourceFile: /src/glib/glib/giowin32.c
    functionUses: []
    functionsReached:
    - g_win32_error_message
    - DeleteCriticalSection
    - GetLastError
    - WSAGetLastError
    - CloseHandle
    - g_print
    - WSACloseEvent
    - WSAEventSelect
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void g_io_win32_free (GIOChannel *channel) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/giowin32.c:1308,1
    - Dst: g_abort
      Src: /src/glib/glib/giowin32.c:1309,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/giowin32.c:1317,1
    - Dst: _lseeki64
      Src: /src/glib/glib/giowin32.c:1312,1
    - Dst: g_io_channel_error_from_errno
      Src: /src/glib/glib/giowin32.c:1318,1
    - Dst: g_strerror
      Src: /src/glib/glib/giowin32.c:1319,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 4
    argNames:
    - channel
    - offset
    - type
    - err
    argTypes:
    - GIOChannel*
    - gint64
    - GSeekType
    - GError**
    constantsTouched: []
    func_position:
      end: 1324
      start: 1285
    functionDepth: 0
    functionLinenumber: 1285
    functionLinenumberEnd: 1324
    functionName: g_io_win32_fd_seek
    functionSourceFile: /src/glib/glib/giowin32.c
    functionUses: []
    functionsReached:
    - _lseeki64
    - g_strerror
    - g_assert_not_reached
    - g_set_error_literal
    - g_io_channel_error_from_errno
    - g_abort
    linkageType: ''
    returnType: GIOStatus
    signature: "static GIOStatus g_io_win32_fd_seek (GIOChannel *channel,\t\t gint64\
      \ offset,\t\t GSeekType type,\t\t GError **err) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_source_new
      Src: /src/glib/glib/giowin32.c:1428,1
    - Dst: g_io_channel_ref
      Src: /src/glib/glib/giowin32.c:1432,1
    - Dst: g_source_add_poll
      Src: /src/glib/glib/giowin32.c:1439,1
    - Dst: _get_osfhandle
      Src: /src/glib/glib/giowin32.c:1436,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1442
      start: 1423
    functionDepth: 0
    functionLinenumber: 1423
    functionLinenumberEnd: 1442
    functionName: g_io_win32_console_create_watch
    functionSourceFile: /src/glib/glib/giowin32.c
    functionUses: []
    functionsReached:
    - _get_osfhandle
    - g_io_channel_ref
    - g_source_add_poll
    - g_source_new
    linkageType: ''
    returnType: GSource*
    signature: "static GSource *g_io_win32_console_create_watch (GIOChannel *channel,\t\
      \t\t\t GIOCondition condition) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:1518,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:1526,1
    - Dst: WSAGetLastError
      Src: /src/glib/glib/giowin32.c:1523,1
    - Dst: g_win32_error_message
      Src: /src/glib/glib/giowin32.c:1530,1
    - Dst: send
      Src: /src/glib/glib/giowin32.c:1521,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:1533,1
    - Dst: g_free
      Src: /src/glib/glib/giowin32.c:1545,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/giowin32.c:1551,1
    - Dst: g_free
      Src: /src/glib/glib/giowin32.c:1552,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:1559,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 25
    argCount: 5
    argNames:
    - channel
    - buf
    - count
    - bytes_written
    - err
    argTypes:
    - GIOChannel*
    - gchar*
    - gsize
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 1565
      start: 1505
    functionDepth: 0
    functionLinenumber: 1505
    functionLinenumberEnd: 1565
    functionName: g_io_win32_sock_write
    functionSourceFile: /src/glib/glib/giowin32.c
    functionUses: []
    functionsReached:
    - send
    - g_win32_error_message
    - g_set_error_literal
    - WSAGetLastError
    - g_print
    - g_free
    linkageType: ''
    returnType: GIOStatus
    signature: "static GIOStatus g_io_win32_sock_write (GIOChannel *channel,\t\t const\
      \ gchar *buf,\t\t gsize count,\t\t gsize *bytes_written,\t\t GError **err) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:1759,1
    - Dst: g_win32_print_gioflags
      Src: /src/glib/glib/giowin32.c:1760,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:1761,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/giowin32.c:1764,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - channel
    - flags
    - err
    argTypes:
    - GIOChannel*
    - GIOFlags
    - GError**
    constantsTouched: []
    func_position:
      end: 1769
      start: 1750
    functionDepth: 0
    functionLinenumber: 1750
    functionLinenumberEnd: 1769
    functionName: g_io_win32_unimpl_set_flags
    functionSourceFile: /src/glib/glib/giowin32.c
    functionUses: []
    functionsReached:
    - g_set_error_literal
    - g_win32_print_gioflags
    - g_print
    linkageType: ''
    returnType: GIOStatus
    signature: "static GIOStatus g_io_win32_unimpl_set_flags (GIOChannel *channel,\t\
      \t\t GIOFlags flags,\t\t\t GError **err) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giowin32.c:1838,1
    - Dst: g_io_win32_console_get_flags_internal
      Src: /src/glib/glib/giowin32.c:1841,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giowin32.c:1839,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - channel
    argTypes:
    - GIOChannel*
    constantsTouched: []
    func_position:
      end: 1842
      start: 1833
    functionDepth: 0
    functionLinenumber: 1833
    functionLinenumberEnd: 1842
    functionName: g_io_win32_console_get_flags
    functionSourceFile: /src/glib/glib/giowin32.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_io_win32_console_get_flags_internal
    linkageType: ''
    returnType: GIOFlags
    signature: 'static GIOFlags g_io_win32_console_get_flags (GIOChannel *channel) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/glib/giowin32.c:1968,1
    - Dst: g_io_channel_win32_init
      Src: /src/glib/glib/giowin32.c:1972,1
    - Dst: g_io_channel_init
      Src: /src/glib/glib/giowin32.c:1971,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:1974,1
    - Dst: IsWindow
      Src: /src/glib/glib/giowin32.c:1981,1
    - Dst: IsWindow
      Src: /src/glib/glib/giowin32.c:1982,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - hwnd
    argTypes:
    - guint
    constantsTouched: []
    func_position:
      end: 1987
      start: 1963
    functionDepth: 0
    functionLinenumber: 1963
    functionLinenumberEnd: 1987
    functionName: g_io_channel_win32_new_messages
    functionSourceFile: /src/glib/glib/giowin32.c
    functionUses: []
    functionsReached:
    - g_new
    - g_io_channel_init
    - g_print
    - IsWindow
    - g_io_channel_win32_init
    linkageType: ''
    returnType: g_io_channel_win32_new_messages (gsize hwnd)
    signature: 'g_io_channel_win32_new_messages (gsize hwnd) #else g_io_channel_win32_new_messages
      (guint hwnd) #endif '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_io_win32_get_debug_flag
      Src: /src/glib/glib/giowin32.c:273,1
    - Dst: InitializeCriticalSection
      Src: /src/glib/glib/giowin32.c:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - channel
    argTypes:
    - GIOWin32Channel*
    constantsTouched: []
    func_position:
      end: 289
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 289
    functionName: g_io_channel_win32_init
    functionSourceFile: /src/glib/glib/giowin32.c
    functionUses: []
    functionsReached:
    - g_io_win32_get_debug_flag
    - InitializeCriticalSection
    linkageType: ''
    returnType: void
    signature: 'static void g_io_channel_win32_init (GIOWin32Channel *channel) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_source_new
      Src: /src/glib/glib/giowin32.c:1173,1
    - Dst: g_io_channel_ref
      Src: /src/glib/glib/giowin32.c:1178,1
    - Dst: g_source_set_static_name
      Src: /src/glib/glib/giowin32.c:1174,1
    - Dst: g_source_add_poll
      Src: /src/glib/glib/giowin32.c:1185,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1166
    functionDepth: 0
    functionLinenumber: 1166
    functionLinenumberEnd: 1188
    functionName: g_io_win32_msg_create_watch
    functionSourceFile: /src/glib/glib/giowin32.c
    functionUses: []
    functionsReached:
    - g_io_channel_ref
    - g_source_add_poll
    - g_source_new
    - g_source_set_static_name
    linkageType: ''
    returnType: GSource*
    signature: "static GSource *g_io_win32_msg_create_watch (GIOChannel *channel,\t\
      \t\t GIOCondition condition) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:1333,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:1340,1
    - Dst: SetEvent
      Src: /src/glib/glib/giowin32.c:1345,1
    - Dst: SetEvent
      Src: /src/glib/glib/giowin32.c:1347,1
    - Dst: EnterCriticalSection
      Src: /src/glib/glib/giowin32.c:1336,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:1352,1
    - Dst: close
      Src: /src/glib/glib/giowin32.c:1353,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:1355,1
    - Dst: LeaveCriticalSection
      Src: /src/glib/glib/giowin32.c:1359,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 2
    argNames:
    - channel
    - err
    argTypes:
    - GIOChannel*
    - GError**
    constantsTouched: []
    func_position:
      end: 1364
      start: 1326
    functionDepth: 0
    functionLinenumber: 1326
    functionLinenumberEnd: 1364
    functionName: g_io_win32_fd_close
    functionSourceFile: /src/glib/glib/giowin32.c
    functionUses: []
    functionsReached:
    - EnterCriticalSection
    - SetEvent
    - close
    - g_print
    - LeaveCriticalSection
    linkageType: ''
    returnType: GIOStatus
    signature: "static GIOStatus g_io_win32_fd_close (GIOChannel *channel,\t GError\
      \ **err) "
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:1457,1
    - Dst: recv
      Src: /src/glib/glib/giowin32.c:1460,1
    - Dst: WSAGetLastError
      Src: /src/glib/glib/giowin32.c:1462,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:1465,1
    - Dst: g_win32_error_message
      Src: /src/glib/glib/giowin32.c:1469,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:1472,1
    - Dst: g_free
      Src: /src/glib/glib/giowin32.c:1482,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/giowin32.c:1488,1
    - Dst: g_free
      Src: /src/glib/glib/giowin32.c:1489,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:1496,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 23
    argCount: 5
    argNames:
    - channel
    - buf
    - count
    - bytes_read
    - err
    argTypes:
    - GIOChannel*
    - gchar*
    - gsize
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 1503
      start: 1444
    functionDepth: 0
    functionLinenumber: 1444
    functionLinenumberEnd: 1503
    functionName: g_io_win32_sock_read
    functionSourceFile: /src/glib/glib/giowin32.c
    functionUses: []
    functionsReached:
    - recv
    - g_win32_error_message
    - g_set_error_literal
    - WSAGetLastError
    - g_print
    - g_free
    linkageType: ''
    returnType: GIOStatus
    signature: "static GIOStatus g_io_win32_sock_read (GIOChannel *channel,\t\t gchar\
      \ *buf,\t\t gsize count,\t\t gsize *bytes_read,\t\t GError **err) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:1576,1
    - Dst: closesocket
      Src: /src/glib/glib/giowin32.c:1579,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - channel
    - err
    argTypes:
    - GIOChannel*
    - GError**
    constantsTouched: []
    func_position:
      end: 1586
      start: 1567
    functionDepth: 0
    functionLinenumber: 1567
    functionLinenumberEnd: 1586
    functionName: g_io_win32_sock_close
    functionSourceFile: /src/glib/glib/giowin32.c
    functionUses: []
    functionsReached:
    - g_print
    - closesocket
    linkageType: ''
    returnType: GIOStatus
    signature: "static GIOStatus g_io_win32_sock_close (GIOChannel *channel,\t\t GError\
      \ **err) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PeekNamedPipe
      Src: /src/glib/glib/giowin32.c:1782,1
    - Dst: GetLastError
      Src: /src/glib/glib/giowin32.c:1782,1
    - Dst: WriteFile
      Src: /src/glib/glib/giowin32.c:1784,1
    - Dst: _get_osfhandle
      Src: /src/glib/glib/giowin32.c:1784,1
    - Dst: _get_osfhandle
      Src: /src/glib/glib/giowin32.c:1782,1
    - Dst: ReadFile
      Src: /src/glib/glib/giowin32.c:1790,1
    - Dst: _get_osfhandle
      Src: /src/glib/glib/giowin32.c:1790,1
    - Dst: WriteFile
      Src: /src/glib/glib/giowin32.c:1792,1
    - Dst: _get_osfhandle
      Src: /src/glib/glib/giowin32.c:1792,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - channel
    - st
    argTypes:
    - GIOChannel*
    - struct _stati64*
    constantsTouched: []
    func_position:
      end: 1800
      start: 1771
    functionDepth: 0
    functionLinenumber: 1771
    functionLinenumberEnd: 1800
    functionName: g_io_win32_fd_get_flags_internal
    functionSourceFile: /src/glib/glib/giowin32.c
    functionUses: []
    functionsReached:
    - WriteFile
    - ReadFile
    - _get_osfhandle
    - PeekNamedPipe
    - GetLastError
    linkageType: ''
    returnType: GIOFlags
    signature: "static GIOFlags g_io_win32_fd_get_flags_internal (GIOChannel *channel,\t\
      \t\t\t struct _stati64 *st) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - channel
    argTypes:
    - GIOChannel*
    constantsTouched: []
    func_position:
      end: 1848
      start: 1844
    functionDepth: 0
    functionLinenumber: 1844
    functionLinenumberEnd: 1848
    functionName: g_io_win32_msg_get_flags
    functionSourceFile: /src/glib/glib/giowin32.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GIOFlags
    signature: 'static GIOFlags g_io_win32_msg_get_flags (GIOChannel *channel) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/glib/giowin32.c:1996,1
    - Dst: g_io_channel_init
      Src: /src/glib/glib/giowin32.c:1999,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:2005,1
    - Dst: g_io_channel_win32_init
      Src: /src/glib/glib/giowin32.c:2000,1
    - Dst: g_io_win32_console_get_flags_internal
      Src: /src/glib/glib/giowin32.c:2012,1
    - Dst: g_io_win32_fd_get_flags_internal
      Src: /src/glib/glib/giowin32.c:2018,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2022
      start: 1989
    functionDepth: 0
    functionLinenumber: 1989
    functionLinenumberEnd: 2022
    functionName: g_io_channel_win32_new_fd_internal
    functionSourceFile: /src/glib/glib/giowin32.c
    functionUses: []
    functionsReached:
    - g_new
    - g_io_win32_console_get_flags_internal
    - g_io_channel_init
    - g_print
    - g_io_win32_fd_get_flags_internal
    - g_io_channel_win32_init
    linkageType: ''
    returnType: GIOChannel*
    signature: "static GIOChannel *g_io_channel_win32_new_fd_internal (gint fd,\t\t\
      \t\t struct _stati64 *st) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIT
      Src: /src/glib/glib/giowin32.c:218,1
    - Dst: BIT
      Src: /src/glib/glib/giowin32.c:220,1
    - Dst: BIT
      Src: /src/glib/glib/giowin32.c:222,1
    - Dst: BIT
      Src: /src/glib/glib/giowin32.c:219,1
    - Dst: BIT
      Src: /src/glib/glib/giowin32.c:221,1
    - Dst: BIT
      Src: /src/glib/glib/giowin32.c:223,1
    - Dst: BIT
      Src: /src/glib/glib/giowin32.c:224,1
    - Dst: BIT
      Src: /src/glib/glib/giowin32.c:225,1
    - Dst: BIT
      Src: /src/glib/glib/giowin32.c:226,1
    - Dst: BIT
      Src: /src/glib/glib/giowin32.c:227,1
    - Dst: sprintf
      Src: /src/glib/glib/giowin32.c:232,1
    - Dst: g_quark_from_string
      Src: /src/glib/glib/giowin32.c:234,1
    - Dst: g_quark_to_string
      Src: /src/glib/glib/giowin32.c:234,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 235
    functionName: event_mask_to_string
    functionSourceFile: /src/glib/glib/giowin32.c
    functionUses: []
    functionsReached:
    - BIT
    - sprintf
    - g_quark_from_string
    - g_quark_to_string
    linkageType: ''
    returnType: char*
    signature: 'static const char *event_mask_to_string (int mask) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: g_io_channel_ref
      Src: /src/glib/glib/giowin32.c:431,1
    - Dst: SetEvent
      Src: /src/glib/glib/giowin32.c:445,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:463,1
    - Dst: ResetEvent
      Src: /src/glib/glib/giowin32.c:465,1
    - Dst: EnterCriticalSection
      Src: /src/glib/glib/giowin32.c:495,1
    - Dst: LeaveCriticalSection
      Src: /src/glib/glib/giowin32.c:528,1
    - Dst: g_io_channel_unref
      Src: /src/glib/glib/giowin32.c:530,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:457,1
    - Dst: LeaveCriticalSection
      Src: /src/glib/glib/giowin32.c:471,1
    - Dst: EnterCriticalSection
      Src: /src/glib/glib/giowin32.c:474,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:490,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:522,1
    - Dst: close
      Src: /src/glib/glib/giowin32.c:524,1
    - Dst: EnterCriticalSection
      Src: /src/glib/glib/giowin32.c:453,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:434,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:467,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:479,1
    - Dst: LeaveCriticalSection
      Src: /src/glib/glib/giowin32.c:493,1
    - Dst: SetEvent
      Src: /src/glib/glib/giowin32.c:515,1
    - Dst: g_malloc
      Src: /src/glib/glib/giowin32.c:441,1
    - Dst: SetEvent
      Src: /src/glib/glib/giowin32.c:470,1
    - Dst: write
      Src: /src/glib/glib/giowin32.c:494,1
    - Dst: WaitForSingleObject
      Src: /src/glib/glib/giowin32.c:472,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:498,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:513,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 58
    argCount: 1
    argNames:
    - parameter
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 533
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 533
    functionName: write_thread
    functionSourceFile: /src/glib/glib/giowin32.c
    functionUses: []
    functionsReached:
    - write
    - EnterCriticalSection
    - g_malloc
    - ResetEvent
    - SetEvent
    - WaitForSingleObject
    - close
    - g_print
    - LeaveCriticalSection
    - g_io_channel_ref
    - g_io_channel_unref
    linkageType: ''
    returnType: unsigned
    signature: 'static unsigned __stdcall write_thread (void *parameter) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:582,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:587,1
    - Dst: LeaveCriticalSection
      Src: /src/glib/glib/giowin32.c:588,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:601,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:612,1
    - Dst: SetEvent
      Src: /src/glib/glib/giowin32.c:610,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:579,1
    - Dst: EnterCriticalSection
      Src: /src/glib/glib/giowin32.c:583,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:617,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:609,1
    - Dst: ResetEvent
      Src: /src/glib/glib/giowin32.c:619,1
    - Dst: LeaveCriticalSection
      Src: /src/glib/glib/giowin32.c:621,1
    - Dst: EnterCriticalSection
      Src: /src/glib/glib/giowin32.c:570,1
    - Dst: WaitForSingleObject
      Src: /src/glib/glib/giowin32.c:580,1
    - Dst: LeaveCriticalSection
      Src: /src/glib/glib/giowin32.c:577,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:572,1
    - Dst: MIN
      Src: /src/glib/glib/giowin32.c:599,1
    - Dst: LeaveCriticalSection
      Src: /src/glib/glib/giowin32.c:598,1
    - Dst: memcpy
      Src: /src/glib/glib/giowin32.c:603,1
    - Dst: EnterCriticalSection
      Src: /src/glib/glib/giowin32.c:606,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 46
    argCount: 5
    argNames:
    - channel
    - dest
    - count
    - bytes_read
    - err
    argTypes:
    - GIOWin32Channel*
    - gchar*
    - gsize
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 628
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 628
    functionName: buffer_read
    functionSourceFile: /src/glib/glib/giowin32.c
    functionUses: []
    functionsReached:
    - memcpy
    - EnterCriticalSection
    - MIN
    - WaitForSingleObject
    - ResetEvent
    - SetEvent
    - LeaveCriticalSection
    - g_print
    linkageType: ''
    returnType: GIOStatus
    signature: "static GIOStatus buffer_read (GIOWin32Channel *channel,\t gchar *dest,\t\
      \ gsize count,\t gsize *bytes_read,\t GError **err) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_io_channel_get_buffer_condition
      Src: /src/glib/glib/giowin32.c:961,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:971,1
    - Dst: condition_to_string
      Src: /src/glib/glib/giowin32.c:972,1
    - Dst: g_warning
      Src: /src/glib/glib/giowin32.c:965,1
    - Dst: condition_to_string
      Src: /src/glib/glib/giowin32.c:973,1
    - Dst: condition_to_string
      Src: /src/glib/glib/giowin32.c:974,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - source
    - callback
    - user_data
    argTypes:
    - GSource*
    - GSourceFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 979
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 979
    functionName: g_io_win32_dispatch
    functionSourceFile: /src/glib/glib/giowin32.c
    functionUses: []
    functionsReached:
    - g_print
    - g_warning
    - g_io_channel_get_buffer_condition
    - condition_to_string
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_io_win32_dispatch (GSource *source,\t\t GSourceFunc\
      \ callback,\t\t gpointer user_data) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/glib/giowin32.c:1075,1
    - Dst: PostMessage
      Src: /src/glib/glib/giowin32.c:1082,1
    - Dst: GetLastError
      Src: /src/glib/glib/giowin32.c:1084,1
    - Dst: memmove
      Src: /src/glib/glib/giowin32.c:1081,1
    - Dst: g_win32_error_message
      Src: /src/glib/glib/giowin32.c:1084,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/giowin32.c:1086,1
    - Dst: g_free
      Src: /src/glib/glib/giowin32.c:1087,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 5
    argNames:
    - channel
    - buf
    - count
    - bytes_written
    - err
    argTypes:
    - GIOChannel*
    - gchar*
    - gsize
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 1095
      start: 1061
    functionDepth: 0
    functionLinenumber: 1061
    functionLinenumberEnd: 1095
    functionName: g_io_win32_msg_write
    functionSourceFile: /src/glib/glib/giowin32.c
    functionUses: []
    functionsReached:
    - g_win32_error_message
    - memmove
    - g_set_error_literal
    - GetLastError
    - g_free
    - PostMessage
    linkageType: ''
    returnType: GIOStatus
    signature: "static GIOStatus g_io_win32_msg_write (GIOChannel *channel,\t\t const\
      \ gchar *buf,\t\t gsize count,\t\t gsize *bytes_written,\t\t GError **err) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_source_new
      Src: /src/glib/glib/giowin32.c:1371,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:1386,1
    - Dst: g_io_channel_ref
      Src: /src/glib/glib/giowin32.c:1375,1
    - Dst: create_events
      Src: /src/glib/glib/giowin32.c:1380,1
    - Dst: condition_to_string
      Src: /src/glib/glib/giowin32.c:1388,1
    - Dst: EnterCriticalSection
      Src: /src/glib/glib/giowin32.c:1390,1
    - Dst: create_thread
      Src: /src/glib/glib/giowin32.c:1394,1
    - Dst: create_thread
      Src: /src/glib/glib/giowin32.c:1396,1
    - Dst: g_source_add_poll
      Src: /src/glib/glib/giowin32.c:1399,1
    - Dst: LeaveCriticalSection
      Src: /src/glib/glib/giowin32.c:1400,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1403
      start: 1366
    functionDepth: 0
    functionLinenumber: 1366
    functionLinenumberEnd: 1403
    functionName: g_io_win32_fd_create_watch
    functionSourceFile: /src/glib/glib/giowin32.c
    functionUses: []
    functionsReached:
    - create_events
    - g_source_new
    - EnterCriticalSection
    - g_source_add_poll
    - create_thread
    - g_print
    - LeaveCriticalSection
    - g_io_channel_ref
    - condition_to_string
    linkageType: ''
    returnType: GSource*
    signature: "static GSource *g_io_win32_fd_create_watch (GIOChannel *channel,\t\
      \t\t GIOCondition condition) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_source_new
      Src: /src/glib/glib/giowin32.c:1593,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:1608,1
    - Dst: g_io_channel_ref
      Src: /src/glib/glib/giowin32.c:1597,1
    - Dst: WSACreateEvent
      Src: /src/glib/glib/giowin32.c:1602,1
    - Dst: condition_to_string
      Src: /src/glib/glib/giowin32.c:1610,1
    - Dst: g_source_add_poll
      Src: /src/glib/glib/giowin32.c:1612,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1615
      start: 1588
    functionDepth: 0
    functionLinenumber: 1588
    functionLinenumberEnd: 1615
    functionName: g_io_win32_sock_create_watch
    functionSourceFile: /src/glib/glib/giowin32.c
    functionUses: []
    functionsReached:
    - WSACreateEvent
    - g_source_new
    - g_source_add_poll
    - g_print
    - g_io_channel_ref
    - condition_to_string
    linkageType: ''
    returnType: GSource*
    signature: "static GSource *g_io_win32_sock_create_watch (GIOChannel *channel,\t\
      \t\t GIOCondition condition) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giowin32.c:1808,1
    - Dst: _fstati64
      Src: /src/glib/glib/giowin32.c:1811,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giowin32.c:1809,1
    - Dst: g_io_win32_fd_get_flags_internal
      Src: /src/glib/glib/giowin32.c:1812,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - channel
    argTypes:
    - GIOChannel*
    constantsTouched: []
    func_position:
      end: 1815
      start: 1802
    functionDepth: 0
    functionLinenumber: 1802
    functionLinenumberEnd: 1815
    functionName: g_io_win32_fd_get_flags
    functionSourceFile: /src/glib/glib/giowin32.c
    functionUses: []
    functionsReached:
    - g_io_win32_fd_get_flags_internal
    - g_return_val_if_fail
    - _fstati64
    linkageType: ''
    returnType: GIOFlags
    signature: 'static GIOFlags g_io_win32_fd_get_flags (GIOChannel *channel) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIT
      Src: /src/glib/glib/giowin32.c:249,1
    - Dst: BIT
      Src: /src/glib/glib/giowin32.c:251,1
    - Dst: BIT
      Src: /src/glib/glib/giowin32.c:253,1
    - Dst: BIT
      Src: /src/glib/glib/giowin32.c:250,1
    - Dst: BIT
      Src: /src/glib/glib/giowin32.c:252,1
    - Dst: BIT
      Src: /src/glib/glib/giowin32.c:254,1
    - Dst: sprintf
      Src: /src/glib/glib/giowin32.c:259,1
    - Dst: g_quark_to_string
      Src: /src/glib/glib/giowin32.c:261,1
    - Dst: g_quark_from_string
      Src: /src/glib/glib/giowin32.c:261,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 262
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 262
    functionName: condition_to_string
    functionSourceFile: /src/glib/glib/giowin32.c
    functionUses: []
    functionsReached:
    - BIT
    - sprintf
    - g_quark_from_string
    - g_quark_to_string
    linkageType: ''
    returnType: char*
    signature: 'static const char *condition_to_string (GIOCondition condition) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _beginthreadex
      Src: /src/glib/glib/giowin32.c:543,1
    - Dst: CloseHandle
      Src: /src/glib/glib/giowin32.c:549,1
    - Dst: g_warning
      Src: /src/glib/glib/giowin32.c:547,1
    - Dst: g_win32_error_message
      Src: /src/glib/glib/giowin32.c:551,1
    - Dst: g_strerror
      Src: /src/glib/glib/giowin32.c:548,1
    - Dst: GetLastError
      Src: /src/glib/glib/giowin32.c:551,1
    - Dst: g_warning
      Src: /src/glib/glib/giowin32.c:553,1
    - Dst: g_free
      Src: /src/glib/glib/giowin32.c:554,1
    - Dst: WaitForSingleObject
      Src: /src/glib/glib/giowin32.c:557,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - channel
    - condition
    - (__stdcall *thread)
    argTypes:
    - GIOWin32Channel*
    - GIOCondition
    - unsigned
    constantsTouched: []
    func_position:
      end: 558
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 558
    functionName: create_thread
    functionSourceFile: /src/glib/glib/giowin32.c
    functionUses: []
    functionsReached:
    - g_warning
    - g_win32_error_message
    - g_strerror
    - WaitForSingleObject
    - GetLastError
    - _beginthreadex
    - CloseHandle
    - g_free
    linkageType: ''
    returnType: void
    signature: "static void create_thread (GIOWin32Channel *channel,\t GIOCondition\
      \ condition,\t unsigned (__stdcall *thread) (void *parameter)) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:650,1
    - Dst: ResetEvent
      Src: /src/glib/glib/giowin32.c:652,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:670,1
    - Dst: WaitForSingleObject
      Src: /src/glib/glib/giowin32.c:657,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:660,1
    - Dst: EnterCriticalSection
      Src: /src/glib/glib/giowin32.c:675,1
    - Dst: LeaveCriticalSection
      Src: /src/glib/glib/giowin32.c:692,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:654,1
    - Dst: MIN
      Src: /src/glib/glib/giowin32.c:664,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:687,1
    - Dst: SetEvent
      Src: /src/glib/glib/giowin32.c:681,1
    - Dst: ResetEvent
      Src: /src/glib/glib/giowin32.c:689,1
    - Dst: MIN
      Src: /src/glib/glib/giowin32.c:668,1
    - Dst: EnterCriticalSection
      Src: /src/glib/glib/giowin32.c:641,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:643,1
    - Dst: LeaveCriticalSection
      Src: /src/glib/glib/giowin32.c:656,1
    - Dst: EnterCriticalSection
      Src: /src/glib/glib/giowin32.c:658,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:679,1
    - Dst: memcpy
      Src: /src/glib/glib/giowin32.c:672,1
    - Dst: LeaveCriticalSection
      Src: /src/glib/glib/giowin32.c:667,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 5
    argNames:
    - channel
    - dest
    - count
    - bytes_written
    - err
    argTypes:
    - GIOWin32Channel*
    - gchar*
    - gsize
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 699
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 699
    functionName: buffer_write
    functionSourceFile: /src/glib/glib/giowin32.c
    functionUses: []
    functionsReached:
    - memcpy
    - EnterCriticalSection
    - MIN
    - WaitForSingleObject
    - ResetEvent
    - SetEvent
    - LeaveCriticalSection
    - g_print
    linkageType: ''
    returnType: GIOStatus
    signature: "static GIOStatus buffer_write (GIOWin32Channel *channel,\t const gchar\
      \ *dest,\t gsize count,\t gsize *bytes_written,\t GError **err) "
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:988,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:994,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:999,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:1004,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:1009,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/giowin32.c:1013,1
    - Dst: g_abort
      Src: /src/glib/glib/giowin32.c:1014,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:1017,1
    - Dst: g_io_channel_unref
      Src: /src/glib/glib/giowin32.c:1018,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 11
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 1019
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 1019
    functionName: g_io_win32_finalize
    functionSourceFile: /src/glib/glib/giowin32.c
    functionUses: []
    functionsReached:
    - g_abort
    - g_io_channel_unref
    - g_assert_not_reached
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void g_io_win32_finalize (GSource *source) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - channel
    - err
    argTypes:
    - GIOChannel*
    - GError**
    constantsTouched: []
    func_position:
      end: 1104
      start: 1097
    functionDepth: 0
    functionLinenumber: 1097
    functionLinenumberEnd: 1104
    functionName: g_io_win32_msg_close
    functionSourceFile: /src/glib/glib/giowin32.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GIOStatus
    signature: "static GIOStatus g_io_win32_msg_close (GIOChannel *channel,\t\t GError\
      \ **err) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/glib/glib/giowin32.c:1411,1
    - Dst: g_io_channel_error_from_errno
      Src: /src/glib/glib/giowin32.c:1415,1
    - Dst: g_strerror
      Src: /src/glib/glib/giowin32.c:1416,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/giowin32.c:1414,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - channel
    - err
    argTypes:
    - GIOChannel*
    - GError**
    constantsTouched: []
    func_position:
      end: 1421
      start: 1405
    functionDepth: 0
    functionLinenumber: 1405
    functionLinenumberEnd: 1421
    functionName: g_io_win32_console_close
    functionSourceFile: /src/glib/glib/giowin32.c
    functionUses: []
    functionsReached:
    - g_set_error_literal
    - close
    - g_strerror
    - g_io_channel_error_from_errno
    linkageType: ''
    returnType: GIOStatus
    signature: "static GIOStatus g_io_win32_console_close (GIOChannel *channel,\t\t\
      \ GError **err) "
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giowin32.c:1633,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giowin32.c:1635,1
    - Dst: g_warning
      Src: /src/glib/glib/giowin32.c:1665,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giowin32.c:1634,1
    - Dst: g_warning
      Src: /src/glib/glib/giowin32.c:1649,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/giowin32.c:1696,1
    - Dst: g_abort
      Src: /src/glib/glib/giowin32.c:1697,1
    - Dst: g_open
      Src: /src/glib/glib/giowin32.c:1701,1
    - Dst: g_io_win32_get_debug_flag
      Src: /src/glib/glib/giowin32.c:1704,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:1706,1
    - Dst: g_strerror
      Src: /src/glib/glib/giowin32.c:1715,1
    - Dst: g_io_channel_win32_new_fd
      Src: /src/glib/glib/giowin32.c:1719,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/giowin32.c:1743,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:1708,1
    - Dst: g_abort
      Src: /src/glib/glib/giowin32.c:1744,1
    - Dst: g_win32_print_access_mode
      Src: /src/glib/glib/giowin32.c:1707,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/giowin32.c:1713,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/giowin32.c:1714,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 79
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1748
      start: 1617
    functionDepth: 0
    functionLinenumber: 1617
    functionLinenumberEnd: 1748
    functionName: g_io_channel_new_file
    functionSourceFile: /src/glib/glib/giowin32.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_warning
    - g_strerror
    - g_assert_not_reached
    - g_io_channel_win32_new_fd
    - g_file_error_from_errno
    - g_win32_print_access_mode
    - g_set_error_literal
    - g_io_win32_get_debug_flag
    - g_print
    - g_open
    - g_abort
    linkageType: ''
    returnType: GIOChannel*
    signature: 'GIOChannel *g_io_channel_new_file (const gchar *filename, const gchar
      *mode, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _get_osfhandle
      Src: /src/glib/glib/giowin32.c:1821,1
    - Dst: WriteFile
      Src: /src/glib/glib/giowin32.c:1827,1
    - Dst: PeekConsoleInput
      Src: /src/glib/glib/giowin32.c:1826,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - channel
    argTypes:
    - GIOChannel*
    constantsTouched: []
    func_position:
      end: 1831
      start: 1817
    functionDepth: 0
    functionLinenumber: 1817
    functionLinenumberEnd: 1831
    functionName: g_io_win32_console_get_flags_internal
    functionSourceFile: /src/glib/glib/giowin32.c
    functionUses: []
    functionsReached:
    - _get_osfhandle
    - PeekConsoleInput
    - WriteFile
    linkageType: ''
    returnType: GIOFlags
    signature: 'static GIOFlags g_io_win32_console_get_flags_internal (GIOChannel
      *channel) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _fstati64
      Src: /src/glib/glib/giowin32.c:2058,1
    - Dst: g_warning
      Src: /src/glib/glib/giowin32.c:2060,1
    - Dst: g_io_channel_win32_new_fd_internal
      Src: /src/glib/glib/giowin32.c:2064,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2065
      start: 2053
    functionDepth: 0
    functionLinenumber: 2053
    functionLinenumberEnd: 2065
    functionName: g_io_channel_win32_new_fd
    functionSourceFile: /src/glib/glib/giowin32.c
    functionUses: []
    functionsReached:
    - g_io_channel_win32_new_fd_internal
    - g_warning
    - _fstati64
    linkageType: ''
    returnType: GIOChannel*
    signature: 'GIOChannel *g_io_channel_win32_new_fd (gint fd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_io_channel_new_file
      Src: /src/glib/glib/giowin32.c:2237,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2238
      start: 2232
    functionDepth: 0
    functionLinenumber: 2232
    functionLinenumberEnd: 2238
    functionName: g_io_channel_new_file_utf8
    functionSourceFile: /src/glib/glib/giowin32.c
    functionUses: []
    functionsReached:
    - g_io_channel_new_file
    linkageType: ''
    returnType: GIOChannel*
    signature: 'GIOChannel *g_io_channel_new_file_utf8 (const gchar *filename, const
      gchar *mode, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_io_channel_win32_new_socket
      Src: /src/glib/glib/giowin32.c:2219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2220
      start: 2216
    functionDepth: 0
    functionLinenumber: 2216
    functionLinenumberEnd: 2220
    functionName: g_io_channel_win32_new_stream_socket
    functionSourceFile: /src/glib/glib/giowin32.c
    functionUses: []
    functionsReached:
    - g_io_channel_win32_new_socket
    linkageType: ''
    returnType: GIOChannel*
    signature: 'GIOChannel *g_io_channel_win32_new_stream_socket (int socket) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateEvent
      Src: /src/glib/glib/giowin32.c:303,1
    - Dst: CreateEvent
      Src: /src/glib/glib/giowin32.c:304,1
    - Dst: GetLastError
      Src: /src/glib/glib/giowin32.c:306,1
    - Dst: g_win32_error_message
      Src: /src/glib/glib/giowin32.c:306,1
    - Dst: g_error
      Src: /src/glib/glib/giowin32.c:308,1
    - Dst: g_free
      Src: /src/glib/glib/giowin32.c:309,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - channel
    argTypes:
    - GIOWin32Channel*
    constantsTouched: []
    func_position:
      end: 311
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 311
    functionName: create_events
    functionSourceFile: /src/glib/glib/giowin32.c
    functionUses: []
    functionsReached:
    - g_win32_error_message
    - CreateEvent
    - GetLastError
    - g_error
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void create_events (GIOWin32Channel *channel) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:1860,1
    - Dst: g_win32_print_gioflags
      Src: /src/glib/glib/giowin32.c:1861,1
    - Dst: ioctlsocket
      Src: /src/glib/glib/giowin32.c:1868,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:1862,1
    - Dst: g_win32_error_message
      Src: /src/glib/glib/giowin32.c:1870,1
    - Dst: WSAGetLastError
      Src: /src/glib/glib/giowin32.c:1870,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/giowin32.c:1872,1
    - Dst: g_free
      Src: /src/glib/glib/giowin32.c:1875,1
    - Dst: ioctlsocket
      Src: /src/glib/glib/giowin32.c:1883,1
    - Dst: g_win32_error_message
      Src: /src/glib/glib/giowin32.c:1885,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/giowin32.c:1887,1
    - Dst: g_free
      Src: /src/glib/glib/giowin32.c:1890,1
    - Dst: WSAGetLastError
      Src: /src/glib/glib/giowin32.c:1885,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 3
    argNames:
    - channel
    - flags
    - err
    argTypes:
    - GIOChannel*
    - GIOFlags
    - GError**
    constantsTouched: []
    func_position:
      end: 1897
      start: 1850
    functionDepth: 0
    functionLinenumber: 1850
    functionLinenumberEnd: 1897
    functionName: g_io_win32_sock_set_flags
    functionSourceFile: /src/glib/glib/giowin32.c
    functionUses: []
    functionsReached:
    - g_win32_error_message
    - g_win32_print_gioflags
    - g_set_error_literal
    - WSAGetLastError
    - g_print
    - ioctlsocket
    - g_free
    linkageType: ''
    returnType: GIOStatus
    signature: "static GIOStatus g_io_win32_sock_set_flags (GIOChannel *channel,\t\
      \t\t GIOFlags flags,\t\t\t GError **err) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/glib/giowin32.c:2093,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:2099,1
    - Dst: g_io_channel_init
      Src: /src/glib/glib/giowin32.c:2096,1
    - Dst: g_io_channel_win32_init
      Src: /src/glib/glib/giowin32.c:2097,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2110
      start: 2090
    functionDepth: 0
    functionLinenumber: 2090
    functionLinenumberEnd: 2110
    functionName: g_io_channel_win32_new_socket
    functionSourceFile: /src/glib/glib/giowin32.c
    functionUses: []
    functionsReached:
    - g_io_channel_init
    - g_print
    - g_io_channel_win32_init
    - g_new
    linkageType: ''
    returnType: GIOChannel*
    signature: 'GIOChannel *g_io_channel_win32_new_socket (int socket) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _fstati64
      Src: /src/glib/glib/giowin32.c:2119,1
    - Dst: g_io_channel_win32_new_fd_internal
      Src: /src/glib/glib/giowin32.c:2128,1
    - Dst: getsockopt
      Src: /src/glib/glib/giowin32.c:2122,1
    - Dst: g_io_channel_win32_new_socket
      Src: /src/glib/glib/giowin32.c:2131,1
    - Dst: g_warning
      Src: /src/glib/glib/giowin32.c:2125,1
    - Dst: g_warning
      Src: /src/glib/glib/giowin32.c:2133,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2136
      start: 2112
    functionDepth: 0
    functionLinenumber: 2112
    functionLinenumberEnd: 2136
    functionName: g_io_channel_unix_new
    functionSourceFile: /src/glib/glib/giowin32.c
    functionUses: []
    functionsReached:
    - g_warning
    - getsockopt
    - g_io_channel_win32_new_fd_internal
    - _fstati64
    - g_io_channel_win32_new_socket
    linkageType: ''
    returnType: GIOChannel*
    signature: 'GIOChannel *g_io_channel_unix_new (gint fd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - channel
    - flag
    argTypes:
    - GIOChannel*
    - gboolean
    constantsTouched: []
    func_position:
      end: 2151
      start: 2144
    functionDepth: 0
    functionLinenumber: 2144
    functionLinenumberEnd: 2151
    functionName: g_io_channel_win32_set_debug
    functionSourceFile: /src/glib/glib/giowin32.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void g_io_channel_win32_set_debug (GIOChannel *channel,\t\t\t gboolean\
      \ flag) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: create_events
      Src: /src/glib/glib/giowin32.c:2174,1
    - Dst: WSACreateEvent
      Src: /src/glib/glib/giowin32.c:2198,1
    - Dst: create_thread
      Src: /src/glib/glib/giowin32.c:2189,1
    - Dst: create_thread
      Src: /src/glib/glib/giowin32.c:2187,1
    - Dst: _get_osfhandle
      Src: /src/glib/glib/giowin32.c:2194,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/giowin32.c:2206,1
    - Dst: g_abort
      Src: /src/glib/glib/giowin32.c:2207,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 19
    argCount: 3
    argNames:
    - channel
    - condition
    - fd
    argTypes:
    - GIOChannel*
    - GIOCondition
    - GPollFD*
    constantsTouched: []
    func_position:
      end: 2211
      start: 2163
    functionDepth: 0
    functionLinenumber: 2163
    functionLinenumberEnd: 2211
    functionName: g_io_channel_win32_make_pollfd
    functionSourceFile: /src/glib/glib/giowin32.c
    functionUses: []
    functionsReached:
    - create_events
    - WSACreateEvent
    - g_assert_not_reached
    - create_thread
    - _get_osfhandle
    - g_abort
    linkageType: ''
    returnType: void
    signature: "void g_io_channel_win32_make_pollfd (GIOChannel *channel,\t\t\t\t\
      GIOCondition condition,\t\t\t\tGPollFD *fd) "
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/glib/glib/giowin32.c:330,1
    - Dst: LeaveCriticalSection
      Src: /src/glib/glib/giowin32.c:352,1
    - Dst: EnterCriticalSection
      Src: /src/glib/glib/giowin32.c:354,1
    - Dst: g_io_channel_ref
      Src: /src/glib/glib/giowin32.c:320,1
    - Dst: SetEvent
      Src: /src/glib/glib/giowin32.c:334,1
    - Dst: read
      Src: /src/glib/glib/giowin32.c:374,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:385,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:369,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:402,1
    - Dst: close
      Src: /src/glib/glib/giowin32.c:404,1
    - Dst: SetEvent
      Src: /src/glib/glib/giowin32.c:411,1
    - Dst: g_io_channel_unref
      Src: /src/glib/glib/giowin32.c:414,1
    - Dst: LeaveCriticalSection
      Src: /src/glib/glib/giowin32.c:372,1
    - Dst: MIN
      Src: /src/glib/glib/giowin32.c:365,1
    - Dst: EnterCriticalSection
      Src: /src/glib/glib/giowin32.c:376,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:356,1
    - Dst: WaitForSingleObject
      Src: /src/glib/glib/giowin32.c:353,1
    - Dst: SetEvent
      Src: /src/glib/glib/giowin32.c:395,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:409,1
    - Dst: EnterCriticalSection
      Src: /src/glib/glib/giowin32.c:336,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:323,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:340,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:346,1
    - Dst: ResetEvent
      Src: /src/glib/glib/giowin32.c:348,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:350,1
    - Dst: g_print
      Src: /src/glib/glib/giowin32.c:393,1
    - Dst: LeaveCriticalSection
      Src: /src/glib/glib/giowin32.c:412,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 59
    argCount: 1
    argNames:
    - parameter
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 422
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 422
    functionName: read_thread
    functionSourceFile: /src/glib/glib/giowin32.c
    functionUses: []
    functionsReached:
    - EnterCriticalSection
    - MIN
    - g_malloc
    - ResetEvent
    - SetEvent
    - WaitForSingleObject
    - close
    - g_print
    - LeaveCriticalSection
    - g_io_channel_unref
    - g_io_channel_ref
    - read
    linkageType: ''
    returnType: unsigned
    signature: 'static unsigned __stdcall read_thread (void *parameter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - channel
    argTypes:
    - GIOChannel*
    constantsTouched: []
    func_position:
      end: 1904
      start: 1899
    functionDepth: 0
    functionLinenumber: 1899
    functionLinenumberEnd: 1904
    functionName: g_io_win32_sock_get_flags
    functionSourceFile: /src/glib/glib/giowin32.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GIOFlags
    signature: 'static GIOFlags g_io_win32_sock_get_flags (GIOChannel *channel) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_io_channel_win32_get_fd
      Src: /src/glib/glib/giowin32.c:2141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - channel
    argTypes:
    - GIOChannel*
    constantsTouched: []
    func_position:
      end: 2142
      start: 2138
    functionDepth: 0
    functionLinenumber: 2138
    functionLinenumberEnd: 2142
    functionName: g_io_channel_unix_get_fd
    functionSourceFile: /src/glib/glib/giowin32.c
    functionUses: []
    functionsReached:
    - g_io_channel_win32_get_fd
    linkageType: ''
    returnType: gint
    signature: 'gint g_io_channel_unix_get_fd (GIOChannel *channel) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/giowin32.c:2158,1
    - Dst: g_poll
      Src: /src/glib/glib/giowin32.c:2160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - fds
    - n_fds
    - timeout
    argTypes:
    - GPollFD*
    - gint
    - gint
    constantsTouched: []
    func_position:
      end: 2161
      start: 2153
    functionDepth: 0
    functionLinenumber: 2153
    functionLinenumberEnd: 2161
    functionName: g_io_channel_win32_poll
    functionSourceFile: /src/glib/glib/giowin32.c
    functionUses: []
    functionsReached:
    - g_poll
    - g_return_val_if_fail
    linkageType: ''
    returnType: gint
    signature: "gint g_io_channel_win32_poll (GPollFD *fds,\t\t\t gint n_fds,\t\t\t\
      \ gint timeout) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - channel
    argTypes:
    - GIOChannel*
    constantsTouched: []
    func_position:
      end: 2073
      start: 2067
    functionDepth: 0
    functionLinenumber: 2067
    functionLinenumberEnd: 2073
    functionName: g_io_channel_win32_get_fd
    functionSourceFile: /src/glib/glib/giowin32.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint
    signature: 'gint g_io_channel_win32_get_fd (GIOChannel *channel) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: write_string
      Src: /src/glib/glib/gmessages.c:465,1
    - Dst: fwrite
      Src: /src/glib/glib/gmessages.c:466,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - stream
    - string
    - length
    argTypes:
    - FILE*
    - gchar*
    - gssize
    constantsTouched: []
    func_position:
      end: 472
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 472
    functionName: write_string_sized
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - write_string
    - fwrite
    linkageType: ''
    returnType: void
    signature: 'static void write_string_sized (FILE *stream, const gchar *string,
      gssize length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gmessages.c:598,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gmessages.c:601,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - fatal_mask
    argTypes:
    - GLogLevelFlags
    constantsTouched: []
    func_position:
      end: 604
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 604
    functionName: g_log_set_always_fatal
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: GLogLevelFlags
    signature: 'GLogLevelFlags g_log_set_always_fatal (GLogLevelFlags fatal_mask) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: format_string
      Src: /src/glib/glib/gmessages.c:1186,1
    - Dst: g_free
      Src: /src/glib/glib/gmessages.c:1215,1
    - Dst: g_bit_nth_msf
      Src: /src/glib/glib/gmessages.c:1221,1
    - Dst: g_private_set
      Src: /src/glib/glib/gmessages.c:1257,1
    - Dst: g_free
      Src: /src/glib/glib/gmessages.c:1282,1
    - Dst: _g_vsnprintf
      Src: /src/glib/glib/gmessages.c:1181,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gmessages.c:1193,1
    - Dst: g_free
      Src: /src/glib/glib/gmessages.c:1199,1
    - Dst: g_free
      Src: /src/glib/glib/gmessages.c:1202,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/gmessages.c:1242,1
    - Dst: g_log_domain_get_handler_L
      Src: /src/glib/glib/gmessages.c:1253,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/gmessages.c:1257,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/gmessages.c:1277,1
    - Dst: g_free
      Src: /src/glib/glib/gmessages.c:1294,1
    - Dst: g_pattern_match_simple
      Src: /src/glib/glib/gmessages.c:1195,1
    - Dst: g_free
      Src: /src/glib/glib/gmessages.c:1200,1
    - Dst: g_free
      Src: /src/glib/glib/gmessages.c:1201,1
    - Dst: g_log_default_handler
      Src: /src/glib/glib/gmessages.c:1214,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gmessages.c:1241,1
    - Dst: g_log_find_domain_L
      Src: /src/glib/glib/gmessages.c:1243,1
    - Dst: g_private_get
      Src: /src/glib/glib/gmessages.c:1242,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gmessages.c:1255,1
    - Dst: fatal_log_func
      Src: /src/glib/glib/gmessages.c:1265,1
    - Dst: MessageBoxW
      Src: /src/glib/glib/gmessages.c:1279,1
    - Dst: g_slist_delete_link
      Src: /src/glib/glib/gmessages.c:1197,1
    - Dst: mklevel_prefix
      Src: /src/glib/glib/gmessages.c:1210,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gmessages.c:1211,1
    - Dst: g_bit_nth_msf
      Src: /src/glib/glib/gmessages.c:1221,1
    - Dst: log_func
      Src: /src/glib/glib/gmessages.c:1259,1
    - Dst: _g_log_abort
      Src: /src/glib/glib/gmessages.c:1286,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/gmessages.c:1290,1
    - Dst: g_private_set
      Src: /src/glib/glib/gmessages.c:1290,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 99
    argCount: 4
    argNames:
    - log_domain
    - log_level
    - format
    - args
    argTypes:
    - gchar*
    - GLogLevelFlags
    - gchar*
    - va_list
    constantsTouched: []
    func_position:
      end: 1295
      start: 1158
    functionDepth: 0
    functionLinenumber: 1158
    functionLinenumberEnd: 1295
    functionName: g_logv
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - GPOINTER_TO_UINT
    - g_bit_nth_msf
    - g_mutex_unlock
    - g_private_set
    - g_private_get
    - g_log_domain_get_handler_L
    - MessageBoxW
    - g_log_find_domain_L
    - format_string
    - g_mutex_lock
    - log_func
    - g_log_default_handler
    - g_strcmp0
    - g_slist_delete_link
    - g_utf8_to_utf16
    - g_pattern_match_simple
    - _g_vsnprintf
    - mklevel_prefix
    - GUINT_TO_POINTER
    - _g_log_abort
    - g_free
    - fatal_log_func
    linkageType: ''
    returnType: void
    signature: "void g_logv (const gchar *log_domain,\tGLogLevelFlags log_level,\t\
      const gchar *format,\tva_list\t args) "
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1353
      start: 1335
    functionDepth: 0
    functionLinenumber: 1335
    functionLinenumberEnd: 1353
    functionName: log_level_to_priority
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *log_level_to_priority (GLogLevelFlags log_level) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1387
    functionDepth: 0
    functionLinenumber: 1387
    functionLinenumberEnd: 1411
    functionName: log_level_to_color
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *log_level_to_color (GLogLevelFlags log_level,
      gboolean use_color) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/glib/gmessages.c:2691,1
    - Dst: memmem_with_end_pointer
      Src: /src/glib/glib/gmessages.c:2695,1
    - Dst: memmem_with_end_pointer
      Src: /src/glib/glib/gmessages.c:2694,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 3
    argNames:
    - domains
    - log_domain
    - log_domain_length
    argTypes:
    - gchar*
    - char*
    - gsize
    constantsTouched: []
    func_position:
      end: 2703
      start: 2685
    functionDepth: 0
    functionLinenumber: 2685
    functionLinenumberEnd: 2703
    functionName: domain_found
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - memmem_with_end_pointer
    - strlen
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean domain_found (const gchar *domains, const char *log_domain,
      gsize log_domain_length) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_log_get_debug_enabled
      Src: /src/glib/glib/gmessages.c:2756,1
    - Dst: g_strdup
      Src: /src/glib/glib/gmessages.c:2765,1
    - Dst: g_rw_lock_reader_lock
      Src: /src/glib/glib/gmessages.c:2761,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gmessages.c:2763,1
    - Dst: g_getenv
      Src: /src/glib/glib/gmessages.c:2765,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gmessages.c:2766,1
    - Dst: g_getenv
      Src: /src/glib/glib/gmessages.c:2766,1
    - Dst: g_strdup
      Src: /src/glib/glib/gmessages.c:2767,1
    - Dst: g_rw_lock_reader_unlock
      Src: /src/glib/glib/gmessages.c:2774,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gmessages.c:2782,1
    - Dst: strlen
      Src: /src/glib/glib/gmessages.c:2795,1
    - Dst: domain_found
      Src: /src/glib/glib/gmessages.c:2799,1
    - Dst: strlen
      Src: /src/glib/glib/gmessages.c:2786,1
    - Dst: g_rw_lock_reader_unlock
      Src: /src/glib/glib/gmessages.c:2801,1
    - Dst: g_rw_lock_reader_unlock
      Src: /src/glib/glib/gmessages.c:2805,1
    - Dst: strcmp
      Src: /src/glib/glib/gmessages.c:2798,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 57
    argCount: 4
    argNames:
    - log_level
    - log_domain
    - fields
    - n_fields
    argTypes:
    - GLogLevelFlags
    - char*
    - GLogField*
    - gsize
    constantsTouched: []
    func_position:
      end: 2809
      start: 2747
    functionDepth: 0
    functionLinenumber: 2747
    functionLinenumberEnd: 2809
    functionName: should_drop_message
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_rw_lock_reader_lock
    - g_log_get_debug_enabled
    - strlen
    - g_getenv
    - strcmp
    - G_UNLIKELY
    - g_strcmp0
    - g_rw_lock_reader_unlock
    - domain_found
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean should_drop_message (GLogLevelFlags log_level, const
      char *log_domain, const GLogField *fields, gsize n_fields) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gmessages.c:3035,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3036
      start: 3032
    functionDepth: 0
    functionLinenumber: 3032
    functionLinenumberEnd: 3036
    functionName: g_log_get_debug_enabled
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_log_get_debug_enabled (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/glib/gmessages.c:482,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 487
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 487
    functionName: g_log_find_domain_L
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: GLogDomain*
    signature: 'static GLogDomain *g_log_find_domain_L (const gchar *log_domain) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1374
    functionDepth: 0
    functionLinenumber: 1374
    functionLinenumberEnd: 1385
    functionName: log_level_to_file
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FILE*
    signature: 'static inline FILE *log_level_to_file (GLogLevelFlags log_level) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1413
    functionDepth: 0
    functionLinenumber: 1413
    functionLinenumberEnd: 1422
    functionName: color_reset
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *color_reset (gboolean use_color) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - domain
    - log_level
    - data
    argTypes:
    - GLogDomain*
    - GLogLevelFlags
    - gpointer*
    constantsTouched: []
    func_position:
      end: 557
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 557
    functionName: g_log_domain_get_handler_L
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GLogFunc
    signature: "static GLogFunc g_log_domain_get_handler_L (GLogDomain\t*domain,\t\
      \t\t GLogLevelFlags log_level,\t\t\t gpointer\t*data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_log_set_handler_full
      Src: /src/glib/glib/gmessages.c:715,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - log_domain
    - log_levels
    - log_func
    - user_data
    argTypes:
    - gchar*
    - GLogLevelFlags
    - GLogFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 716
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 716
    functionName: g_log_set_handler
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - g_log_set_handler_full
    linkageType: ''
    returnType: guint
    signature: "guint g_log_set_handler (const gchar\t *log_domain, GLogLevelFlags\
      \ log_levels, GLogFunc log_func, gpointer user_data) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmessages.c:869,1
    - Dst: g_log_domain_check_free_L
      Src: /src/glib/glib/gmessages.c:890,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gmessages.c:874,1
    - Dst: g_log_find_domain_L
      Src: /src/glib/glib/gmessages.c:875,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gmessages.c:891,1
    - Dst: g_free
      Src: /src/glib/glib/gmessages.c:894,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gmessages.c:901,1
    - Dst: g_warning
      Src: /src/glib/glib/gmessages.c:902,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 2
    argNames:
    - log_domain
    - handler_id
    argTypes:
    - gchar*
    - guint
    constantsTouched: []
    func_position:
      end: 904
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 904
    functionName: g_log_remove_handler
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - g_warning
    - g_mutex_unlock
    - g_mutex_lock
    - g_return_if_fail
    - g_log_domain_check_free_L
    - g_free
    - g_log_find_domain_L
    linkageType: ''
    returnType: void
    signature: "void g_log_remove_handler (const gchar *log_domain,\t\t guint\t handler_id) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gmessages.c:1327,1
    - Dst: g_logv
      Src: /src/glib/glib/gmessages.c:1328,1
    - Dst: va_end
      Src: /src/glib/glib/gmessages.c:1329,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - log_domain
    - log_level
    - format
    - '...'
    argTypes:
    - gchar*
    - GLogLevelFlags
    - gchar*
    constantsTouched: []
    func_position:
      end: 1330
      start: 1319
    functionDepth: 0
    functionLinenumber: 1319
    functionLinenumberEnd: 1330
    functionName: g_log
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - g_logv
    - va_start
    - va_end
    linkageType: ''
    returnType: void
    signature: 'void g_log (const gchar *log_domain, GLogLevelFlags log_level, const
      gchar *format, ...) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/glib/glib/gmessages.c:2666,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2671
      start: 2648
    functionDepth: 0
    functionLinenumber: 2648
    functionLinenumberEnd: 2671
    functionName: my_memmem
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: void*
    signature: 'static void *my_memmem (const void *haystack, size_t haystacklen,
      const void *needle, size_t needlelen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_snprintf
      Src: /src/glib/glib/gmessages.c:3099,1
    - Dst: g_log
      Src: /src/glib/glib/gmessages.c:3108,1
    - Dst: g_strconcat
      Src: /src/glib/glib/gmessages.c:3105,1
    - Dst: g_strconcat
      Src: /src/glib/glib/gmessages.c:3101,1
    - Dst: g_free
      Src: /src/glib/glib/gmessages.c:3109,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 5
    argNames:
    - domain
    - file
    - line
    - func
    - warnexpr
    argTypes:
    - char*
    - char*
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 3110
      start: 3091
    functionDepth: 0
    functionLinenumber: 3091
    functionLinenumberEnd: 3110
    functionName: g_warn_message
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - g_log
    - g_snprintf
    - g_free
    - g_strconcat
    linkageType: ''
    returnType: void
    signature: 'void g_warn_message (const char *domain, const char *file, int line,
      const char *func, const char *warnexpr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_get_char_validated
      Src: /src/glib/glib/gmessages.c:3299,1
    - Dst: g_string_erase
      Src: /src/glib/glib/gmessages.c:3310,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gmessages.c:3309,1
    - Dst: g_string_insert
      Src: /src/glib/glib/gmessages.c:3311,1
    - Dst: g_free
      Src: /src/glib/glib/gmessages.c:3315,1
    - Dst: CHAR_IS_SAFE
      Src: /src/glib/glib/gmessages.c:3324,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gmessages.c:3337,1
    - Dst: g_string_erase
      Src: /src/glib/glib/gmessages.c:3338,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gmessages.c:3338,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gmessages.c:3345,1
    - Dst: g_string_insert
      Src: /src/glib/glib/gmessages.c:3339,1
    - Dst: g_free
      Src: /src/glib/glib/gmessages.c:3340,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 1
    argNames:
    - string
    argTypes:
    - GString*
    constantsTouched: []
    func_position:
      end: 3347
      start: 3289
    functionDepth: 0
    functionLinenumber: 3289
    functionLinenumberEnd: 3347
    functionName: escape_string
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - g_string_insert
    - g_strdup_printf
    - g_utf8_next_char
    - g_string_erase
    - CHAR_IS_SAFE
    - g_utf8_get_char_validated
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void escape_string (GString *string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_string
      Src: /src/glib/glib/gmessages.c:3526,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 3527
      start: 3523
    functionDepth: 0
    functionLinenumber: 3523
    functionLinenumberEnd: 3527
    functionName: g_default_printerr_func
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - print_string
    linkageType: ''
    returnType: void
    signature: 'static void g_default_printerr_func (const gchar *string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_pointer_exchange
      Src: /src/glib/glib/gmessages.c:3592,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - func
    argTypes:
    - GPrintFunc
    constantsTouched: []
    func_position:
      end: 3594
      start: 3589
    functionDepth: 0
    functionLinenumber: 3589
    functionLinenumberEnd: 3594
    functionName: g_set_printerr_handler
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - g_atomic_pointer_exchange
    linkageType: ''
    returnType: GPrintFunc
    signature: 'GPrintFunc g_set_printerr_handler (GPrintFunc func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmessages.c:3620,1
    - Dst: va_start
      Src: /src/glib/glib/gmessages.c:3622,1
    - Dst: format_string
      Src: /src/glib/glib/gmessages.c:3623,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/glib/gmessages.c:3626,1
    - Dst: va_end
      Src: /src/glib/glib/gmessages.c:3624,1
    - Dst: local_glib_printerr_func
      Src: /src/glib/glib/gmessages.c:3627,1
    - Dst: g_free
      Src: /src/glib/glib/gmessages.c:3628,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - format
    - '...'
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 3629
      start: 3611
    functionDepth: 0
    functionLinenumber: 3611
    functionLinenumberEnd: 3629
    functionName: g_printerr
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - format_string
    - g_return_if_fail
    - g_atomic_pointer_get
    - local_glib_printerr_func
    - va_end
    - g_free
    - va_start
    linkageType: ''
    returnType: void
    signature: 'void g_printerr (const gchar *format, ...) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gmessages.c:643,1
    - Dst: g_log_domain_check_free_L
      Src: /src/glib/glib/gmessages.c:651,1
    - Dst: g_log_domain_new_L
      Src: /src/glib/glib/gmessages.c:647,1
    - Dst: g_log_find_domain_L
      Src: /src/glib/glib/gmessages.c:645,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gmessages.c:653,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - log_domain
    - fatal_mask
    argTypes:
    - gchar*
    - GLogLevelFlags
    constantsTouched: []
    func_position:
      end: 656
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 656
    functionName: g_log_set_fatal_mask
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_mutex_lock
    - g_log_domain_check_free_L
    - g_log_domain_new_L
    - g_log_find_domain_L
    linkageType: ''
    returnType: GLogLevelFlags
    signature: "GLogLevelFlags g_log_set_fatal_mask (const gchar *log_domain,\t\t\
      \ GLogLevelFlags fatal_mask) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gmessages.c:846,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gmessages.c:849,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - log_func
    - user_data
    argTypes:
    - GTestLogFatalFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 850
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 850
    functionName: g_test_log_set_fatal_handler
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'void g_test_log_set_fatal_handler (GTestLogFatalFunc log_func, gpointer
      user_data) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/glib/glib/gmessages.c:1079,1
    - Dst: log_level_to_color
      Src: /src/glib/glib/gmessages.c:1079,1
    - Dst: strcat
      Src: /src/glib/glib/gmessages.c:1087,1
    - Dst: strcat
      Src: /src/glib/glib/gmessages.c:1090,1
    - Dst: strcat
      Src: /src/glib/glib/gmessages.c:1084,1
    - Dst: strcat
      Src: /src/glib/glib/gmessages.c:1093,1
    - Dst: strcat
      Src: /src/glib/glib/gmessages.c:1096,1
    - Dst: strcat
      Src: /src/glib/glib/gmessages.c:1099,1
    - Dst: strcat
      Src: /src/glib/glib/gmessages.c:1104,1
    - Dst: format_unsigned
      Src: /src/glib/glib/gmessages.c:1105,1
    - Dst: strcat
      Src: /src/glib/glib/gmessages.c:1117,1
    - Dst: color_reset
      Src: /src/glib/glib/gmessages.c:1112,1
    - Dst: log_level_to_file
      Src: /src/glib/glib/gmessages.c:1123,1
    - Dst: strcat
      Src: /src/glib/glib/gmessages.c:1108,1
    - Dst: strcat
      Src: /src/glib/glib/gmessages.c:1115,1
    - Dst: g_test_initialized
      Src: /src/glib/glib/gmessages.c:1120,1
    - Dst: strcat
      Src: /src/glib/glib/gmessages.c:1112,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1072
    functionDepth: 0
    functionLinenumber: 1072
    functionLinenumberEnd: 1124
    functionName: mklevel_prefix
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - color_reset
    - strcat
    - log_level_to_file
    - log_level_to_color
    - g_test_initialized
    - strcpy
    - format_unsigned
    linkageType: ''
    returnType: FILE*
    signature: 'static FILE *mklevel_prefix (gchar level_prefix[STRING_BUFFER_SIZE],
      GLogLevelFlags log_level, gboolean use_color) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/gmessages.c:1859,1
    - Dst: g_private_set
      Src: /src/glib/glib/gmessages.c:1870,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gmessages.c:1867,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gmessages.c:1862,1
    - Dst: g_private_get
      Src: /src/glib/glib/gmessages.c:1859,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/gmessages.c:1870,1
    - Dst: g_assert
      Src: /src/glib/glib/gmessages.c:1872,1
    - Dst: writer_func
      Src: /src/glib/glib/gmessages.c:1873,1
    - Dst: g_private_set
      Src: /src/glib/glib/gmessages.c:1875,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/gmessages.c:1875,1
    - Dst: _g_log_abort
      Src: /src/glib/glib/gmessages.c:1879,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - log_level
    - fields
    - n_fields
    argTypes:
    - GLogLevelFlags
    - GLogField*
    - gsize
    constantsTouched: []
    func_position:
      end: 1880
      start: 1845
    functionDepth: 0
    functionLinenumber: 1845
    functionLinenumberEnd: 1880
    functionName: g_log_structured_array
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_mutex_lock
    - g_assert
    - g_private_set
    - GPOINTER_TO_UINT
    - GUINT_TO_POINTER
    - _g_log_abort
    - g_private_get
    - writer_func
    linkageType: ''
    returnType: void
    signature: 'void g_log_structured_array (GLogLevelFlags log_level, const GLogField
      *fields, gsize n_fields) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmessages.c:1961,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gmessages.c:1967,1
    - Dst: g_error
      Src: /src/glib/glib/gmessages.c:1968,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gmessages.c:1976,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gmessages.c:1963,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - func
    - user_data
    - user_data_free
    argTypes:
    - GLogWriterFunc
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 1977
      start: 1956
    functionDepth: 0
    functionLinenumber: 1956
    functionLinenumberEnd: 1977
    functionName: g_log_set_writer_func
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - g_error
    - g_mutex_lock
    - g_mutex_unlock
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_log_set_writer_func (GLogWriterFunc func, gpointer user_data,
      GDestroyNotify user_data_free) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/glib/glib/gmessages.c:2199,1
    - Dst: g_get_real_time
      Src: /src/glib/glib/gmessages.c:2217,1
    - Dst: escape_string
      Src: /src/glib/glib/gmessages.c:2239,1
    - Dst: g_string_append
      Src: /src/glib/glib/gmessages.c:2249,1
    - Dst: g_free
      Src: /src/glib/glib/gmessages.c:2250,1
    - Dst: g_string_free
      Src: /src/glib/glib/gmessages.c:2253,1
    - Dst: g_string_new
      Src: /src/glib/glib/gmessages.c:2189,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gmessages.c:2179,1
    - Dst: g_get_prgname
      Src: /src/glib/glib/gmessages.c:2198,1
    - Dst: g_string_append
      Src: /src/glib/glib/gmessages.c:2212,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gmessages.c:2210,1
    - Dst: g_string_new_len
      Src: /src/glib/glib/gmessages.c:2238,1
    - Dst: g_get_console_charset
      Src: /src/glib/glib/gmessages.c:2241,1
    - Dst: mklevel_prefix
      Src: /src/glib/glib/gmessages.c:2187,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gmessages.c:2204,1
    - Dst: _g_localtime
      Src: /src/glib/glib/gmessages.c:2219,1
    - Dst: strftime
      Src: /src/glib/glib/gmessages.c:2220,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gmessages.c:2224,1
    - Dst: color_reset
      Src: /src/glib/glib/gmessages.c:2227,1
    - Dst: g_string_append
      Src: /src/glib/glib/gmessages.c:2231,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gmessages.c:2174,1
    - Dst: g_string_append
      Src: /src/glib/glib/gmessages.c:2191,1
    - Dst: g_string_append
      Src: /src/glib/glib/gmessages.c:2193,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gmessages.c:2202,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gmessages.c:2209,1
    - Dst: g_string_append
      Src: /src/glib/glib/gmessages.c:2214,1
    - Dst: strcpy
      Src: /src/glib/glib/gmessages.c:2222,1
    - Dst: g_string_append
      Src: /src/glib/glib/gmessages.c:2244,1
    - Dst: strdup_convert
      Src: /src/glib/glib/gmessages.c:2248,1
    - Dst: g_string_free
      Src: /src/glib/glib/gmessages.c:2256,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 70
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2257
      start: 2151
    functionDepth: 0
    functionLinenumber: 2151
    functionLinenumberEnd: 2257
    functionName: g_log_writer_format_fields
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - g_string_new_len
    - strftime
    - strdup_convert
    - _g_localtime
    - g_get_prgname
    - color_reset
    - escape_string
    - g_get_console_charset
    - g_string_append_len
    - strcpy
    - g_strcmp0
    - g_string_new
    - g_string_append_printf
    - g_get_real_time
    - g_string_append
    - g_string_append_c
    - getpid
    - mklevel_prefix
    - g_string_free
    - g_free
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_log_writer_format_fields (GLogLevelFlags log_level, const
      GLogField *fields, gsize n_fields, gboolean use_color) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_log
      Src: /src/glib/glib/gmessages.c:3073,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - log_domain
    - pretty_function
    - expression
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 3078
      start: 3068
    functionDepth: 0
    functionLinenumber: 3068
    functionLinenumberEnd: 3078
    functionName: g_return_if_fail_warning
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - g_log
    linkageType: ''
    returnType: void
    signature: "void g_return_if_fail_warning (const char *log_domain,\t\t\t const\
      \ char *pretty_function,\t\t\t const char *expression) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_pointer_exchange
      Src: /src/glib/glib/gmessages.c:3462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - func
    argTypes:
    - GPrintFunc
    constantsTouched: []
    func_position:
      end: 3464
      start: 3459
    functionDepth: 0
    functionLinenumber: 3459
    functionLinenumberEnd: 3464
    functionName: g_set_print_handler
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - g_atomic_pointer_exchange
    linkageType: ''
    returnType: GPrintFunc
    signature: 'GPrintFunc g_set_print_handler (GPrintFunc func) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/gmessages.c:412,1
    - Dst: G_BREAKPOINT
      Src: /src/glib/glib/gmessages.c:430,1
    - Dst: _exit
      Src: /src/glib/glib/gmessages.c:419,1
    - Dst: IsDebuggerPresent
      Src: /src/glib/glib/gmessages.c:423,1
    - Dst: g_abort
      Src: /src/glib/glib/gmessages.c:432,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - breakpoint
    argTypes:
    - gboolean
    constantsTouched: []
    func_position:
      end: 433
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 433
    functionName: _g_log_abort
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - IsDebuggerPresent
    - G_BREAKPOINT
    - g_test_subprocess
    - g_abort
    - _exit
    linkageType: ''
    returnType: void
    signature: 'static void _g_log_abort (gboolean breakpoint) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmessages.c:2495,1
    - Dst: g_alloca
      Src: /src/glib/glib/gmessages.c:2505,1
    - Dst: strlen
      Src: /src/glib/glib/gmessages.c:2517,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmessages.c:2496,1
    - Dst: g_alloca
      Src: /src/glib/glib/gmessages.c:2506,1
    - Dst: strchr
      Src: /src/glib/glib/gmessages.c:2518,1
    - Dst: strlen
      Src: /src/glib/glib/gmessages.c:2531,1
    - Dst: GUINT64_TO_LE
      Src: /src/glib/glib/gmessages.c:2536,1
    - Dst: memcpy
      Src: /src/glib/glib/gmessages.c:2537,1
    - Dst: strlen
      Src: /src/glib/glib/gmessages.c:2547,1
    - Dst: journal_sendv
      Src: /src/glib/glib/gmessages.c:2562,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 59
    argCount: 4
    argNames:
    - log_level
    - fields
    - n_fields
    - user_data
    argTypes:
    - GLogLevelFlags
    - GLogField*
    - gsize
    - gpointer
    constantsTouched: []
    func_position:
      end: 2568
      start: 2481
    functionDepth: 0
    functionLinenumber: 2481
    functionLinenumberEnd: 2568
    functionName: g_log_writer_journald
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_return_val_if_fail
    - strlen
    - g_alloca
    - journal_sendv
    - strchr
    - GUINT64_TO_LE
    linkageType: ''
    returnType: GLogWriterOutput
    signature: 'GLogWriterOutput g_log_writer_journald (GLogLevelFlags log_level,
      const GLogField *fields, gsize n_fields, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: my_memmem
      Src: /src/glib/glib/gmessages.c:2682,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2683
      start: 2676
    functionDepth: 0
    functionLinenumber: 2676
    functionLinenumberEnd: 2683
    functionName: memmem_with_end_pointer
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - my_memmem
    linkageType: ''
    returnType: void*
    signature: 'static void *memmem_with_end_pointer (const void *haystack, const
      void *haystack_end, const void *needle, size_t needle_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_get_console_charset
      Src: /src/glib/glib/gmessages.c:3473,1
    - Dst: fputs
      Src: /src/glib/glib/gmessages.c:3476,1
    - Dst: fputs
      Src: /src/glib/glib/gmessages.c:3482,1
    - Dst: strdup_convert
      Src: /src/glib/glib/gmessages.c:3480,1
    - Dst: g_free
      Src: /src/glib/glib/gmessages.c:3483,1
    - Dst: fflush
      Src: /src/glib/glib/gmessages.c:3492,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - stream
    - string
    argTypes:
    - FILE*
    - gchar*
    constantsTouched: []
    func_position:
      end: 3493
      start: 3466
    functionDepth: 0
    functionLinenumber: 3466
    functionLinenumberEnd: 3493
    functionName: print_string
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - g_get_console_charset
    - fflush
    - fputs
    - g_free
    - strdup_convert
    linkageType: ''
    returnType: void
    signature: 'static void print_string (FILE *stream, const gchar *string) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_level_to_priority
      Src: /src/glib/glib/gmessages.c:1896,1
    - Dst: _g_vsnprintf
      Src: /src/glib/glib/gmessages.c:1919,1
    - Dst: va_start
      Src: /src/glib/glib/gmessages.c:1910,1
    - Dst: format_string
      Src: /src/glib/glib/gmessages.c:1924,1
    - Dst: va_end
      Src: /src/glib/glib/gmessages.c:1927,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gmessages.c:1929,1
    - Dst: g_log_structured_array
      Src: /src/glib/glib/gmessages.c:1930,1
    - Dst: g_free
      Src: /src/glib/glib/gmessages.c:1932,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 6
    argNames:
    - log_domain
    - log_level
    - file
    - line
    - func
    - message_format
    - '...'
    argTypes:
    - gchar*
    - GLogLevelFlags
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1933
      start: 1885
    functionDepth: 0
    functionLinenumber: 1885
    functionLinenumberEnd: 1933
    functionName: g_log_structured_standard
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - format_string
    - G_N_ELEMENTS
    - _g_vsnprintf
    - log_level_to_priority
    - g_log_structured_array
    - va_end
    - g_free
    - va_start
    linkageType: ''
    returnType: void
    signature: 'void g_log_structured_standard (const gchar *log_domain, GLogLevelFlags
      log_level, const gchar *file, const gchar *line, const gchar *func, const gchar
      *message_format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_fd_is_journal
      Src: /src/glib/glib/gmessages.c:2116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - output_fd
    argTypes:
    - gint
    constantsTouched: []
    func_position:
      end: 2120
      start: 2112
    functionDepth: 0
    functionLinenumber: 2112
    functionLinenumberEnd: 2120
    functionName: g_log_writer_is_journald
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - _g_fd_is_journal
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_log_writer_is_journald (gint output_fd) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _get_osfhandle
      Src: /src/glib/glib/gmessages.c:1440,1
    - Dst: GetFileInformationByHandleEx
      Src: /src/glib/glib/gmessages.c:1450,1
    - Dst: g_try_malloc
      Src: /src/glib/glib/gmessages.c:1447,1
    - Dst: GetFileType
      Src: /src/glib/glib/gmessages.c:1442,1
    - Dst: wcslen
      Src: /src/glib/glib/gmessages.c:1456,1
    - Dst: wcsncmp
      Src: /src/glib/glib/gmessages.c:1457,1
    - Dst: wcslen
      Src: /src/glib/glib/gmessages.c:1459,1
    - Dst: wcsncmp
      Src: /src/glib/glib/gmessages.c:1460,1
    - Dst: wcsspn
      Src: /src/glib/glib/gmessages.c:1465,1
    - Dst: wcslen
      Src: /src/glib/glib/gmessages.c:1470,1
    - Dst: wcslen
      Src: /src/glib/glib/gmessages.c:1483,1
    - Dst: wcsncmp
      Src: /src/glib/glib/gmessages.c:1481,1
    - Dst: wcslen
      Src: /src/glib/glib/gmessages.c:1480,1
    - Dst: wcsspn
      Src: /src/glib/glib/gmessages.c:1475,1
    - Dst: wcsncmp
      Src: /src/glib/glib/gmessages.c:1484,1
    - Dst: wcsncmp
      Src: /src/glib/glib/gmessages.c:1471,1
    - Dst: g_free
      Src: /src/glib/glib/gmessages.c:1492,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 48
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1495
      start: 1430
    functionDepth: 0
    functionLinenumber: 1430
    functionLinenumberEnd: 1495
    functionName: win32_is_pipe_tty
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - wcslen
    - wcsspn
    - wcsncmp
    - g_try_malloc
    - GetFileInformationByHandleEx
    - _get_osfhandle
    - GetFileType
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean win32_is_pipe_tty (int fd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/glib/gmessages.c:494,1
    - Dst: g_strdup
      Src: /src/glib/glib/gmessages.c:495,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 503
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 503
    functionName: g_log_domain_new_L
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_new
    linkageType: ''
    returnType: GLogDomain*
    signature: 'static GLogDomain *g_log_domain_new_L (const gchar *log_domain) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gmessages.c:1618,1
    - Dst: va_arg
      Src: /src/glib/glib/gmessages.c:1628,1
    - Dst: strcmp
      Src: /src/glib/glib/gmessages.c:1627,1
    - Dst: va_arg
      Src: /src/glib/glib/gmessages.c:1632,1
    - Dst: va_arg
      Src: /src/glib/glib/gmessages.c:1626,1
    - Dst: g_array_sized_new
      Src: /src/glib/glib/gmessages.c:1651,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gmessages.c:1652,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/gmessages.c:1655,1
    - Dst: g_array_free
      Src: /src/glib/glib/gmessages.c:1662,1
    - Dst: va_arg
      Src: /src/glib/glib/gmessages.c:1664,1
    - Dst: log_level_to_priority
      Src: /src/glib/glib/gmessages.c:1687,1
    - Dst: g_log_structured_array
      Src: /src/glib/glib/gmessages.c:1698,1
    - Dst: g_free
      Src: /src/glib/glib/gmessages.c:1701,1
    - Dst: format_string
      Src: /src/glib/glib/gmessages.c:1678,1
    - Dst: g_free
      Src: /src/glib/glib/gmessages.c:1700,1
    - Dst: va_end
      Src: /src/glib/glib/gmessages.c:1703,1
    - Dst: _g_vsnprintf
      Src: /src/glib/glib/gmessages.c:1673,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 2
    argNames:
    - log_domain
    - log_level
    - '...'
    argTypes:
    - gchar*
    - GLogLevelFlags
    constantsTouched: []
    func_position:
      end: 1704
      start: 1602
    functionDepth: 0
    functionLinenumber: 1602
    functionLinenumberEnd: 1704
    functionName: g_log_structured
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - g_array_free
    - format_string
    - g_array_append_val
    - g_array_sized_new
    - _g_vsnprintf
    - strcmp
    - log_level_to_priority
    - g_log_structured_array
    - va_arg
    - va_end
    - g_array_append_vals
    - g_free
    - va_start
    linkageType: ''
    returnType: void
    signature: 'void g_log_structured (const gchar *log_domain, GLogLevelFlags log_level,
      ...) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: log_level_to_priority
      Src: /src/glib/glib/gmessages.c:1750,1
    - Dst: g_array_new
      Src: /src/glib/glib/gmessages.c:1747,1
    - Dst: g_variant_iter_next
      Src: /src/glib/glib/gmessages.c:1763,1
    - Dst: _g_fprintf
      Src: /src/glib/glib/gmessages.c:1784,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gmessages.c:1802,1
    - Dst: g_slist_free_full
      Src: /src/glib/glib/gmessages.c:1812,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmessages.c:1744,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/glib/gmessages.c:1744,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/gmessages.c:1759,1
    - Dst: G_LIKELY
      Src: /src/glib/glib/gmessages.c:1778,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/gmessages.c:1799,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/glib/gmessages.c:1774,1
    - Dst: g_log_structured_array
      Src: /src/glib/glib/gmessages.c:1808,1
    - Dst: g_slist_free_full
      Src: /src/glib/glib/gmessages.c:1811,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/gmessages.c:1752,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/glib/gmessages.c:1770,1
    - Dst: G_LIKELY
      Src: /src/glib/glib/gmessages.c:1801,1
    - Dst: g_variant_get_fixed_array
      Src: /src/glib/glib/gmessages.c:1777,1
    - Dst: g_variant_print
      Src: /src/glib/glib/gmessages.c:1793,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gmessages.c:1795,1
    - Dst: g_variant_iter_init
      Src: /src/glib/glib/gmessages.c:1762,1
    - Dst: g_variant_get_string
      Src: /src/glib/glib/gmessages.c:1772,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gmessages.c:1804,1
    - Dst: g_array_free
      Src: /src/glib/glib/gmessages.c:1810,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 53
    argCount: 3
    argNames:
    - log_domain
    - log_level
    - fields
    argTypes:
    - gchar*
    - GLogLevelFlags
    - GVariant*
    constantsTouched: []
    func_position:
      end: 1813
      start: 1732
    functionDepth: 0
    functionLinenumber: 1732
    functionLinenumberEnd: 1813
    functionName: g_log_variant
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - g_variant_iter_init
    - g_array_free
    - g_variant_is_of_type
    - g_return_if_fail
    - g_array_append_val
    - g_variant_iter_next
    - log_level_to_priority
    - g_variant_get_fixed_array
    - g_variant_get_string
    - _g_fprintf
    - g_variant_unref
    - g_log_structured_array
    - g_array_new
    - G_LIKELY
    - g_variant_print
    - g_slist_free_full
    - g_slist_prepend
    linkageType: ''
    returnType: void
    signature: 'void g_log_variant (const gchar *log_domain, GLogLevelFlags log_level,
      GVariant *fields) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmessages.c:2300,1
    - Dst: G_LOCK
      Src: /src/glib/glib/gmessages.c:2312,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gmessages.c:2322,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmessages.c:2301,1
    - Dst: openlog
      Src: /src/glib/glib/gmessages.c:2317,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gmessages.c:2329,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gmessages.c:2334,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gmessages.c:2339,1
    - Dst: str_to_syslog_facility
      Src: /src/glib/glib/gmessages.c:2341,1
    - Dst: g_string_new
      Src: /src/glib/glib/gmessages.c:2345,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gmessages.c:2353,1
    - Dst: atoi
      Src: /src/glib/glib/gmessages.c:2355,1
    - Dst: syslog
      Src: /src/glib/glib/gmessages.c:2356,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gmessages.c:2349,1
    - Dst: log_level_to_priority
      Src: /src/glib/glib/gmessages.c:2355,1
    - Dst: g_string_free
      Src: /src/glib/glib/gmessages.c:2358,1
    - Dst: g_string_append
      Src: /src/glib/glib/gmessages.c:2350,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 4
    argNames:
    - log_level
    - fields
    - n_fields
    - user_data
    argTypes:
    - GLogLevelFlags
    - GLogField*
    - gsize
    - gpointer
    constantsTouched: []
    func_position:
      end: 2364
      start: 2284
    functionDepth: 0
    functionLinenumber: 2284
    functionLinenumberEnd: 2364
    functionName: g_log_writer_syslog
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - openlog
    - g_return_val_if_fail
    - str_to_syslog_facility
    - g_string_append_len
    - G_UNLOCK
    - atoi
    - log_level_to_priority
    - g_string_free
    - syslog
    - g_strcmp0
    - g_string_new
    - G_LOCK
    - g_string_append
    linkageType: ''
    returnType: GLogWriterOutput
    signature: 'GLogWriterOutput g_log_writer_syslog (GLogLevelFlags log_level, const
      GLogField *fields, gsize n_fields, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/glib/glib/gmessages.c:450,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - stream
    - string
    argTypes:
    - FILE*
    - gchar*
    constantsTouched: []
    func_position:
      end: 456
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 456
    functionName: write_string
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - fputs
    linkageType: ''
    returnType: void
    signature: "static void write_string (FILE *stream,\t const gchar *string) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/gmessages.c:524,1
    - Dst: g_free
      Src: /src/glib/glib/gmessages.c:525,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 1
    argNames:
    - domain
    argTypes:
    - GLogDomain*
    constantsTouched: []
    func_position:
      end: 532
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 532
    functionName: g_log_domain_check_free_L
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void g_log_domain_check_free_L (GLogDomain *domain) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/glib/gmessages.c:1361,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gmessages.c:1365,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - syslog_facility_str
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1371
      start: 1356
    functionDepth: 0
    functionLinenumber: 1356
    functionLinenumberEnd: 1371
    functionName: str_to_syslog_facility
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    linkageType: ''
    returnType: int
    signature: 'static int str_to_syslog_facility (const gchar *syslog_facility_str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmessages.c:3189,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmessages.c:3190,1
    - Dst: g_strdup
      Src: /src/glib/glib/gmessages.c:3194,1
    - Dst: g_new
      Src: /src/glib/glib/gmessages.c:3193,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmessages.c:3191,1
    - Dst: g_strdup
      Src: /src/glib/glib/gmessages.c:3196,1
    - Dst: g_slist_append
      Src: /src/glib/glib/gmessages.c:3198,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - log_domain
    - log_level
    - pattern
    argTypes:
    - gchar*
    - GLogLevelFlags
    - gchar*
    constantsTouched: []
    func_position:
      end: 3199
      start: 3182
    functionDepth: 0
    functionLinenumber: 3182
    functionLinenumberEnd: 3199
    functionName: g_test_expect_message
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - g_slist_append
    - g_strdup
    - g_new
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_test_expect_message (const gchar *log_domain, GLogLevelFlags
      log_level, const gchar *pattern) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _g_vsnprintf
      Src: /src/glib/glib/gmessages.c:3654,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - format
    - args
    argTypes:
    - gchar*
    - va_list
    constantsTouched: []
    func_position:
      end: 3660
      start: 3649
    functionDepth: 0
    functionLinenumber: 3649
    functionLinenumberEnd: 3660
    functionName: g_printf_string_upper_bound
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - _g_vsnprintf
    linkageType: ''
    returnType: gsize
    signature: 'gsize g_printf_string_upper_bound (const gchar *format, va_list args) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gmessages.c:804,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gmessages.c:808,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - log_func
    - user_data
    argTypes:
    - GLogFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 811
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 811
    functionName: g_log_set_default_handler
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: GLogFunc
    signature: "GLogFunc g_log_set_default_handler (GLogFunc log_func,\t\t\t gpointer\
      \ user_data) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmessages.c:1999,1
    - Dst: _get_osfhandle
      Src: /src/glib/glib/gmessages.c:2032,1
    - Dst: g_win32_push_empty_invalid_parameter_handler
      Src: /src/glib/glib/gmessages.c:2023,1
    - Dst: _isatty
      Src: /src/glib/glib/gmessages.c:2030,1
    - Dst: g_win32_check_windows_version
      Src: /src/glib/glib/gmessages.c:2025,1
    - Dst: GetConsoleMode
      Src: /src/glib/glib/gmessages.c:2034,1
    - Dst: SetConsoleMode
      Src: /src/glib/glib/gmessages.c:2040,1
    - Dst: win32_is_pipe_tty
      Src: /src/glib/glib/gmessages.c:2052,1
    - Dst: g_win32_pop_invalid_parameter_handler
      Src: /src/glib/glib/gmessages.c:2055,1
    - Dst: isatty
      Src: /src/glib/glib/gmessages.c:2059,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 1
    argNames:
    - output_fd
    argTypes:
    - gint
    constantsTouched: []
    func_position:
      end: 2061
      start: 1991
    functionDepth: 0
    functionLinenumber: 1991
    functionLinenumberEnd: 2061
    functionName: g_log_writer_supports_color
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - GetConsoleMode
    - g_return_val_if_fail
    - g_win32_pop_invalid_parameter_handler
    - SetConsoleMode
    - win32_is_pipe_tty
    - isatty
    - g_win32_push_empty_invalid_parameter_handler
    - _get_osfhandle
    - _isatty
    - g_win32_check_windows_version
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_log_writer_supports_color (gint output_fd) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: CMSG_SPACE
      Src: /src/glib/glib/gmessages.c:2381,1
    - Dst: g_strlcpy
      Src: /src/glib/glib/gmessages.c:2394,1
    - Dst: memset
      Src: /src/glib/glib/gmessages.c:2397,1
    - Dst: open_journal
      Src: /src/glib/glib/gmessages.c:2387,1
    - Dst: memset
      Src: /src/glib/glib/gmessages.c:2392,1
    - Dst: strlen
      Src: /src/glib/glib/gmessages.c:2399,1
    - Dst: sendmsg
      Src: /src/glib/glib/gmessages.c:2404,1
    - Dst: mkostemp
      Src: /src/glib/glib/gmessages.c:2416,1
    - Dst: unlink
      Src: /src/glib/glib/gmessages.c:2419,1
    - Dst: close
      Src: /src/glib/glib/gmessages.c:2421,1
    - Dst: close
      Src: /src/glib/glib/gmessages.c:2427,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/glib/glib/gmessages.c:2438,1
    - Dst: CMSG_LEN
      Src: /src/glib/glib/gmessages.c:2441,1
    - Dst: writev
      Src: /src/glib/glib/gmessages.c:2425,1
    - Dst: CMSG_DATA
      Src: /src/glib/glib/gmessages.c:2442,1
    - Dst: memcpy
      Src: /src/glib/glib/gmessages.c:2442,1
    - Dst: memset
      Src: /src/glib/glib/gmessages.c:2434,1
    - Dst: sendmsg
      Src: /src/glib/glib/gmessages.c:2447,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 51
    argCount: 2
    argNames:
    - iov
    - iovlen
    argTypes:
    - struct iovec*
    - gsize
    constantsTouched: []
    func_position:
      end: 2454
      start: 2372
    functionDepth: 0
    functionLinenumber: 2372
    functionLinenumberEnd: 2454
    functionName: journal_sendv
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - writev
    - memcpy
    - CMSG_DATA
    - sendmsg
    - g_strlcpy
    - strlen
    - CMSG_SPACE
    - CMSG_LEN
    - open_journal
    - unlink
    - close
    - CMSG_FIRSTHDR
    - memset
    - mkostemp
    linkageType: ''
    returnType: int
    signature: 'static int journal_sendv (struct iovec *iov, gsize iovlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/glib/gmessages.c:2640,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gmessages.c:2642,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - fields
    - n_fields
    argTypes:
    - GLogField*
    - gsize
    constantsTouched: []
    func_position:
      end: 2643
      start: 2635
    functionDepth: 0
    functionLinenumber: 2635
    functionLinenumberEnd: 2643
    functionName: log_is_old_api
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean log_is_old_api (const GLogField *fields, gsize n_fields) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmessages.c:2901,1
    - Dst: should_drop_message
      Src: /src/glib/glib/gmessages.c:2904,1
    - Dst: g_once_init_enter
      Src: /src/glib/glib/gmessages.c:2914,1
    - Dst: log_is_old_api
      Src: /src/glib/glib/gmessages.c:2910,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmessages.c:2902,1
    - Dst: g_log_writer_is_journald
      Src: /src/glib/glib/gmessages.c:2916,1
    - Dst: fileno
      Src: /src/glib/glib/gmessages.c:2916,1
    - Dst: g_once_init_leave
      Src: /src/glib/glib/gmessages.c:2917,1
    - Dst: g_log_writer_journald
      Src: /src/glib/glib/gmessages.c:2921,1
    - Dst: g_log_writer_standard_streams
      Src: /src/glib/glib/gmessages.c:2927,1
    - Dst: g_free
      Src: /src/glib/glib/gmessages.c:2948,1
    - Dst: MessageBoxW
      Src: /src/glib/glib/gmessages.c:2946,1
    - Dst: g_test_initialized
      Src: /src/glib/glib/gmessages.c:2940,1
    - Dst: _g_log_abort
      Src: /src/glib/glib/gmessages.c:2952,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/gmessages.c:2944,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 4
    argNames:
    - log_level
    - fields
    - n_fields
    - user_data
    argTypes:
    - GLogLevelFlags
    - GLogField*
    - gsize
    - gpointer
    constantsTouched: []
    func_position:
      end: 2956
      start: 2892
    functionDepth: 0
    functionLinenumber: 2892
    functionLinenumberEnd: 2956
    functionName: g_log_writer_default
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - g_once_init_leave
    - fileno
    - g_return_val_if_fail
    - g_test_initialized
    - g_log_writer_standard_streams
    - g_utf8_to_utf16
    - g_once_init_enter
    - g_log_writer_journald
    - _g_log_abort
    - log_is_old_api
    - g_log_writer_is_journald
    - MessageBoxW
    - should_drop_message
    - g_free
    linkageType: ''
    returnType: GLogWriterOutput
    signature: 'GLogWriterOutput g_log_writer_default (GLogLevelFlags log_level, const
      GLogField *fields, gsize n_fields, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_log
      Src: /src/glib/glib/gmessages.c:3120,1
    - Dst: _g_log_abort
      Src: /src/glib/glib/gmessages.c:3134,1
    - Dst: g_abort
      Src: /src/glib/glib/gmessages.c:3135,1
    - Dst: g_log
      Src: /src/glib/glib/gmessages.c:3128,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 5
    argNames:
    - log_domain
    - file
    - line
    - pretty_function
    - expression
    argTypes:
    - char*
    - char*
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 3136
      start: 3112
    functionDepth: 0
    functionLinenumber: 3112
    functionLinenumberEnd: 3136
    functionName: g_assert_warning
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - g_log
    - g_abort
    - _g_log_abort
    linkageType: ''
    returnType: void
    signature: "void g_assert_warning (const char *log_domain,\t\t const char *file,\t\
      \t const int line,\t\t const char *pretty_function,\t\t const char *expression) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mklevel_prefix
      Src: /src/glib/glib/gmessages.c:3259,1
    - Dst: write_string
      Src: /src/glib/glib/gmessages.c:3268,1
    - Dst: format_unsigned
      Src: /src/glib/glib/gmessages.c:3264,1
    - Dst: write_string
      Src: /src/glib/glib/gmessages.c:3270,1
    - Dst: getpid
      Src: /src/glib/glib/gmessages.c:3264,1
    - Dst: write_string
      Src: /src/glib/glib/gmessages.c:3273,1
    - Dst: write_string
      Src: /src/glib/glib/gmessages.c:3274,1
    - Dst: write_string
      Src: /src/glib/glib/gmessages.c:3275,1
    - Dst: write_string
      Src: /src/glib/glib/gmessages.c:3280,1
    - Dst: write_string
      Src: /src/glib/glib/gmessages.c:3281,1
    - Dst: write_string
      Src: /src/glib/glib/gmessages.c:3284,1
    - Dst: write_string
      Src: /src/glib/glib/gmessages.c:3283,1
    - Dst: write_string
      Src: /src/glib/glib/gmessages.c:3285,1
    - Dst: write_string
      Src: /src/glib/glib/gmessages.c:3286,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - log_domain
    - log_level
    - message
    - unused_data
    argTypes:
    - gchar*
    - GLogLevelFlags
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 3287
      start: 3240
    functionDepth: 0
    functionLinenumber: 3240
    functionLinenumberEnd: 3287
    functionName: _g_log_fallback_handler
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - format_unsigned
    - write_string
    - getpid
    - mklevel_prefix
    linkageType: ''
    returnType: void
    signature: "void _g_log_fallback_handler (const gchar *log_domain,\t\t\t GLogLevelFlags\
      \ log_level,\t\t\t const gchar *message,\t\t\t gpointer unused_data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gmessages.c:3501,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/glib/gmessages.c:3512,1
    - Dst: strchr
      Src: /src/glib/glib/gmessages.c:3505,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3515
      start: 3495
    functionDepth: 0
    functionLinenumber: 3495
    functionLinenumberEnd: 3515
    functionName: format_string
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - g_assert
    - strchr
    - g_strdup_vprintf
    linkageType: ''
    returnType: G_ALWAYS_INLINE*
    signature: 'G_ALWAYS_INLINE static inline const char *format_string (const char
      *format, va_list args, char **out_allocated_string) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_validate
      Src: /src/glib/glib/gmessages.c:914,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gmessages.c:924,1
    - Dst: g_string_new
      Src: /src/glib/glib/gmessages.c:916,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gmessages.c:926,1
    - Dst: CHAR_IS_SAFE
      Src: /src/glib/glib/gmessages.c:921,1
    - Dst: g_string_free
      Src: /src/glib/glib/gmessages.c:929,1
    - Dst: g_convert_with_fallback
      Src: /src/glib/glib/gmessages.c:935,1
    - Dst: _g_fprintf
      Src: /src/glib/glib/gmessages.c:946,1
    - Dst: g_error_free
      Src: /src/glib/glib/gmessages.c:948,1
    - Dst: g_strdup
      Src: /src/glib/glib/gmessages.c:950,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 953
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 953
    functionName: strdup_convert
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_string_append_c
    - g_convert_with_fallback
    - g_string_new
    - _g_fprintf
    - g_string_free
    - g_error_free
    - CHAR_IS_SAFE
    - g_string_append_printf
    - g_utf8_validate
    linkageType: ''
    returnType: gchar*
    signature: "static gchar *strdup_convert (const gchar *string,\t\tconst gchar\
      \ *charset) "
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 3
    argNames:
    - buf
    - num
    - radix
    argTypes:
    - gchar*
    - gulong
    - guint
    constantsTouched: []
    func_position:
      end: 1024
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 1024
    functionName: format_unsigned
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void format_unsigned (gchar *buf,\t\t gulong num,\t\t guint\
      \ radix) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/glib/glib/gmessages.c:2082,1
    - Dst: fcntl
      Src: /src/glib/glib/gmessages.c:2086,1
    - Dst: close
      Src: /src/glib/glib/gmessages.c:2088,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2092
      start: 2079
    functionDepth: 0
    functionLinenumber: 2079
    functionLinenumberEnd: 2092
    functionName: open_journal
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - socket
    - close
    - fcntl
    linkageType: ''
    returnType: void
    signature: 'static void open_journal (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_level_to_file
      Src: /src/glib/glib/gmessages.c:2974,1
    - Dst: strcmp
      Src: /src/glib/glib/gmessages.c:2987,1
    - Dst: strcmp
      Src: /src/glib/glib/gmessages.c:2984,1
    - Dst: strcmp
      Src: /src/glib/glib/gmessages.c:2991,1
    - Dst: write_string
      Src: /src/glib/glib/gmessages.c:3008,1
    - Dst: write_string
      Src: /src/glib/glib/gmessages.c:2997,1
    - Dst: strcmp
      Src: /src/glib/glib/gmessages.c:2986,1
    - Dst: strcmp
      Src: /src/glib/glib/gmessages.c:2990,1
    - Dst: getpid
      Src: /src/glib/glib/gmessages.c:3006,1
    - Dst: strcmp
      Src: /src/glib/glib/gmessages.c:2994,1
    - Dst: strcmp
      Src: /src/glib/glib/gmessages.c:2985,1
    - Dst: strcmp
      Src: /src/glib/glib/gmessages.c:2989,1
    - Dst: write_string
      Src: /src/glib/glib/gmessages.c:2998,1
    - Dst: write_string_sized
      Src: /src/glib/glib/gmessages.c:2999,1
    - Dst: strcmp
      Src: /src/glib/glib/gmessages.c:2993,1
    - Dst: strcmp
      Src: /src/glib/glib/gmessages.c:2988,1
    - Dst: strcmp
      Src: /src/glib/glib/gmessages.c:2992,1
    - Dst: format_unsigned
      Src: /src/glib/glib/gmessages.c:3006,1
    - Dst: write_string
      Src: /src/glib/glib/gmessages.c:3007,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 4
    argNames:
    - log_level
    - fields
    - n_fields
    - user_data
    argTypes:
    - GLogLevelFlags
    - GLogField*
    - gsize
    - gpointer
    constantsTouched: []
    func_position:
      end: 3013
      start: 2958
    functionDepth: 0
    functionLinenumber: 2958
    functionLinenumberEnd: 3013
    functionName: _g_log_writer_fallback
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - log_level_to_file
    - write_string
    - getpid
    - strcmp
    - write_string_sized
    - format_unsigned
    linkageType: ''
    returnType: GLogWriterOutput
    signature: 'static GLogWriterOutput _g_log_writer_fallback (GLogLevelFlags log_level,
      const GLogField *fields, gsize n_fields, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_string
      Src: /src/glib/glib/gmessages.c:3520,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 3521
      start: 3517
    functionDepth: 0
    functionLinenumber: 3517
    functionLinenumberEnd: 3521
    functionName: g_default_print_func
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - print_string
    linkageType: ''
    returnType: void
    signature: 'static void g_default_print_func (const gchar *string) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _g_log_fallback_handler
      Src: /src/glib/glib/gmessages.c:3401,1
    - Dst: log_level_to_priority
      Src: /src/glib/glib/gmessages.c:3416,1
    - Dst: g_log_structured_array
      Src: /src/glib/glib/gmessages.c:3433,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - log_domain
    - log_level
    - message
    - unused_data
    argTypes:
    - gchar*
    - GLogLevelFlags
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 3434
      start: 3389
    functionDepth: 0
    functionLinenumber: 3389
    functionLinenumberEnd: 3434
    functionName: g_log_default_handler
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - g_log_structured_array
    - log_level_to_priority
    - _g_log_fallback_handler
    linkageType: ''
    returnType: void
    signature: "void g_log_default_handler (const gchar *log_domain,\t\t GLogLevelFlags\
      \ log_level,\t\t const gchar *message,\t\t gpointer\t unused_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmessages.c:3555,1
    - Dst: format_string
      Src: /src/glib/glib/gmessages.c:3558,1
    - Dst: va_start
      Src: /src/glib/glib/gmessages.c:3557,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/glib/gmessages.c:3561,1
    - Dst: va_end
      Src: /src/glib/glib/gmessages.c:3559,1
    - Dst: local_glib_print_func
      Src: /src/glib/glib/gmessages.c:3562,1
    - Dst: g_free
      Src: /src/glib/glib/gmessages.c:3563,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - format
    - '...'
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 3564
      start: 3546
    functionDepth: 0
    functionLinenumber: 3546
    functionLinenumberEnd: 3564
    functionName: g_print
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - format_string
    - g_return_if_fail
    - g_atomic_pointer_get
    - local_glib_print_func
    - va_end
    - g_free
    - va_start
    linkageType: ''
    returnType: void
    signature: 'void g_print (const gchar *format, ...) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmessages.c:753,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gmessages.c:761,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmessages.c:754,1
    - Dst: g_log_find_domain_L
      Src: /src/glib/glib/gmessages.c:763,1
    - Dst: g_new
      Src: /src/glib/glib/gmessages.c:759,1
    - Dst: g_log_domain_new_L
      Src: /src/glib/glib/gmessages.c:765,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gmessages.c:775,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 5
    argNames:
    - log_domain
    - log_levels
    - log_func
    - user_data
    - destroy
    argTypes:
    - gchar*
    - GLogLevelFlags
    - GLogFunc
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 778
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 778
    functionName: g_log_set_handler_full
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_new
    - g_mutex_lock
    - g_mutex_unlock
    - g_log_domain_new_L
    - g_log_find_domain_L
    linkageType: ''
    returnType: guint
    signature: 'guint g_log_set_handler_full (const gchar *log_domain, GLogLevelFlags
      log_levels, GLogFunc log_func, gpointer user_data, GDestroyNotify destroy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmessages.c:1068,1
    - Dst: g_thread_n_created
      Src: /src/glib/glib/gmessages.c:1068,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - use_stderr
    argTypes:
    - gboolean
    constantsTouched: []
    func_position:
      end: 1070
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1070
    functionName: g_log_writer_default_set_use_stderr
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - g_thread_n_created
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_log_writer_default_set_use_stderr (gboolean use_stderr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmessages.c:2610,1
    - Dst: g_log_writer_format_fields
      Src: /src/glib/glib/gmessages.c:2617,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmessages.c:2611,1
    - Dst: fileno
      Src: /src/glib/glib/gmessages.c:2614,1
    - Dst: log_level_to_file
      Src: /src/glib/glib/gmessages.c:2613,1
    - Dst: g_log_writer_supports_color
      Src: /src/glib/glib/gmessages.c:2618,1
    - Dst: fileno
      Src: /src/glib/glib/gmessages.c:2618,1
    - Dst: _g_fprintf
      Src: /src/glib/glib/gmessages.c:2619,1
    - Dst: fflush
      Src: /src/glib/glib/gmessages.c:2620,1
    - Dst: g_free
      Src: /src/glib/glib/gmessages.c:2621,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - log_level
    - fields
    - n_fields
    - user_data
    argTypes:
    - GLogLevelFlags
    - GLogField*
    - gsize
    - gpointer
    constantsTouched: []
    func_position:
      end: 2624
      start: 2601
    functionDepth: 0
    functionLinenumber: 2601
    functionLinenumberEnd: 2624
    functionName: g_log_writer_standard_streams
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - fileno
    - g_return_val_if_fail
    - log_level_to_file
    - fflush
    - _g_fprintf
    - g_log_writer_format_fields
    - g_log_writer_supports_color
    - g_free
    linkageType: ''
    returnType: GLogWriterOutput
    signature: 'GLogWriterOutput g_log_writer_standard_streams (GLogLevelFlags log_level,
      const GLogField *fields, gsize n_fields, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rw_lock_writer_lock
      Src: /src/glib/glib/gmessages.c:2730,1
    - Dst: g_strjoinv
      Src: /src/glib/glib/gmessages.c:2734,1
    - Dst: g_free
      Src: /src/glib/glib/gmessages.c:2732,1
    - Dst: g_rw_lock_writer_unlock
      Src: /src/glib/glib/gmessages.c:2738,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - domains
    argTypes:
    - gchar**
    constantsTouched: []
    func_position:
      end: 2739
      start: 2727
    functionDepth: 0
    functionLinenumber: 2727
    functionLinenumberEnd: 2739
    functionName: g_log_writer_default_set_debug_domains
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - g_rw_lock_writer_lock
    - g_rw_lock_writer_unlock
    - g_free
    - g_strjoinv
    linkageType: ''
    returnType: void
    signature: 'void g_log_writer_default_set_debug_domains (const gchar * const *domains) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: should_drop_message
      Src: /src/glib/glib/gmessages.c:2853,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - log_level
    - log_domain
    argTypes:
    - GLogLevelFlags
    - char*
    constantsTouched: []
    func_position:
      end: 2854
      start: 2849
    functionDepth: 0
    functionLinenumber: 2849
    functionLinenumberEnd: 2854
    functionName: g_log_writer_default_would_drop
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - should_drop_message
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_log_writer_default_would_drop (GLogLevelFlags log_level,
      const char *log_domain) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_set
      Src: /src/glib/glib/gmessages.c:3056,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - enabled
    argTypes:
    - gboolean
    constantsTouched: []
    func_position:
      end: 3057
      start: 3053
    functionDepth: 0
    functionLinenumber: 3053
    functionLinenumberEnd: 3057
    functionName: g_log_set_debug_enabled
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - g_atomic_int_set
    linkageType: ''
    returnType: void
    signature: 'void g_log_set_debug_enabled (gboolean enabled) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mklevel_prefix
      Src: /src/glib/glib/gmessages.c:3215,1
    - Dst: g_free
      Src: /src/glib/glib/gmessages.c:3220,1
    - Dst: g_assertion_message
      Src: /src/glib/glib/gmessages.c:3219,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gmessages.c:3216,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 4
    argNames:
    - domain
    - file
    - line
    - func
    argTypes:
    - char*
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 3222
      start: 3201
    functionDepth: 0
    functionLinenumber: 3201
    functionLinenumberEnd: 3222
    functionName: g_test_assert_expected_messages_internal
    functionSourceFile: /src/glib/glib/gmessages.c
    functionUses: []
    functionsReached:
    - g_assertion_message
    - g_free
    - g_strdup_printf
    - mklevel_prefix
    linkageType: ''
    returnType: void
    signature: 'void g_test_assert_expected_messages_internal (const char *domain,
      const char *file, int line, const char *func) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_to_ucs4
      Src: /src/glib/glib/ghostutils.c:120,1
    - Dst: g_ascii_tolower
      Src: /src/glib/glib/ghostutils.c:132,1
    - Dst: PUNYCODE_IS_BASIC
      Src: /src/glib/glib/ghostutils.c:130,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/ghostutils.c:132,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/ghostutils.c:137,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/ghostutils.c:180,1
    - Dst: encode_digit
      Src: /src/glib/glib/ghostutils.c:180,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/ghostutils.c:184,1
    - Dst: encode_digit
      Src: /src/glib/glib/ghostutils.c:184,1
    - Dst: g_free
      Src: /src/glib/glib/ghostutils.c:198,1
    - Dst: adapt
      Src: /src/glib/glib/ghostutils.c:185,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 80
    argCount: 3
    argNames:
    - input_utf8
    - input_utf8_length
    - output
    argTypes:
    - gchar*
    - gsize
    - GString*
    constantsTouched: []
    func_position:
      end: 200
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 200
    functionName: punycode_encode
    functionSourceFile: /src/glib/glib/ghostutils.c
    functionUses: []
    functionsReached:
    - g_string_append_c
    - encode_digit
    - adapt
    - g_utf8_to_ucs4
    - PUNYCODE_IS_BASIC
    - g_free
    - g_ascii_tolower
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean punycode_encode (const gchar *input_utf8, gsize input_utf8_length,\t\
      \t GString *output) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/ghostutils.c:216,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/ghostutils.c:218,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/ghostutils.c:224,1
    - Dst: g_string_new
      Src: /src/glib/glib/ghostutils.c:223,1
    - Dst: idna_is_junk
      Src: /src/glib/glib/ghostutils.c:219,1
    - Dst: g_string_append_unichar
      Src: /src/glib/glib/ghostutils.c:228,1
    - Dst: g_string_free
      Src: /src/glib/glib/ghostutils.c:232,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 235
    functionName: remove_junk
    functionSourceFile: /src/glib/glib/ghostutils.c
    functionUses: []
    functionsReached:
    - g_string_append_unichar
    - g_utf8_next_char
    - g_string_append_len
    - g_utf8_get_char
    - g_string_free
    - g_string_new
    - idna_is_junk
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *remove_junk (const gchar *str, gint len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 3
    argNames:
    - delta
    - numpoints
    - firsttime
    argTypes:
    - guint
    - guint
    - gboolean
    constantsTouched: []
    func_position:
      end: 102
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 102
    functionName: adapt
    functionSourceFile: /src/glib/glib/ghostutils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint
    signature: 'static guint adapt (guint delta, guint numpoints, gboolean firsttime) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - gchar*
    - gint
    constantsTouched: []
    func_position:
      end: 263
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 263
    functionName: contains_non_ascii
    functionSourceFile: /src/glib/glib/ghostutils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean contains_non_ascii (const gchar *str, gint
      len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/ghostutils.c:396,1
    - Dst: idna_is_dot
      Src: /src/glib/glib/ghostutils.c:398,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 402
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 402
    functionName: idna_end_of_label
    functionSourceFile: /src/glib/glib/ghostutils.c
    functionUses: []
    functionsReached:
    - idna_is_dot
    - g_utf8_next_char
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *idna_end_of_label (const gchar *str) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: get_hostname_max_length_bytes
      Src: /src/glib/glib/ghostutils.c:463,1
    - Dst: nameprep
      Src: /src/glib/glib/ghostutils.c:490,1
    - Dst: MAX
      Src: /src/glib/glib/ghostutils.c:487,1
    - Dst: g_string_new
      Src: /src/glib/glib/ghostutils.c:494,1
    - Dst: strlen_greater_than
      Src: /src/glib/glib/ghostutils.c:487,1
    - Dst: idna_is_dot
      Src: /src/glib/glib/ghostutils.c:499,1
    - Dst: strncmp
      Src: /src/glib/glib/ghostutils.c:509,1
    - Dst: g_string_append
      Src: /src/glib/glib/ghostutils.c:512,1
    - Dst: punycode_encode
      Src: /src/glib/glib/ghostutils.c:513,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/ghostutils.c:517,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/ghostutils.c:524,1
    - Dst: g_free
      Src: /src/glib/glib/ghostutils.c:534,1
    - Dst: g_string_free
      Src: /src/glib/glib/ghostutils.c:535,1
    - Dst: g_string_free
      Src: /src/glib/glib/ghostutils.c:531,1
    - Dst: g_free
      Src: /src/glib/glib/ghostutils.c:530,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/ghostutils.c:526,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 537
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 537
    functionName: g_hostname_to_ascii
    functionSourceFile: /src/glib/glib/ghostutils.c
    functionUses: []
    functionsReached:
    - strlen_greater_than
    - get_hostname_max_length_bytes
    - g_string_append_len
    - g_utf8_next_char
    - g_string_append_c
    - MAX
    - strncmp
    - punycode_encode
    - g_string_free
    - idna_is_dot
    - g_string_new
    - nameprep
    - g_free
    - g_string_append
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_hostname_to_ascii (const gchar *hostname) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_array_sized_new
      Src: /src/glib/glib/ghostutils.c:584,1
    - Dst: PUNYCODE_IS_BASIC
      Src: /src/glib/glib/ghostutils.c:590,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/ghostutils.c:592,1
    - Dst: g_array_new
      Src: /src/glib/glib/ghostutils.c:597,1
    - Dst: decode_digit
      Src: /src/glib/glib/ghostutils.c:607,1
    - Dst: adapt
      Src: /src/glib/glib/ghostutils.c:626,1
    - Dst: g_array_insert_val
      Src: /src/glib/glib/ghostutils.c:633,1
    - Dst: g_string_append_unichar
      Src: /src/glib/glib/ghostutils.c:637,1
    - Dst: g_array_index
      Src: /src/glib/glib/ghostutils.c:637,1
    - Dst: g_array_free
      Src: /src/glib/glib/ghostutils.c:638,1
    - Dst: g_array_free
      Src: /src/glib/glib/ghostutils.c:642,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 75
    argCount: 3
    argNames:
    - input
    - input_length
    - output
    argTypes:
    - gchar*
    - gsize
    - GString*
    constantsTouched: []
    func_position:
      end: 644
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 644
    functionName: punycode_decode
    functionSourceFile: /src/glib/glib/ghostutils.c
    functionUses: []
    functionsReached:
    - g_array_free
    - g_string_append_unichar
    - g_array_append_val
    - g_array_sized_new
    - g_array_index
    - adapt
    - g_array_insert_val
    - g_array_new
    - PUNYCODE_IS_BASIC
    - decode_digit
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean punycode_decode (const gchar *input, gsize input_length,
      GString *output) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_strncasecmp
      Src: /src/glib/glib/ghostutils.c:740,1
    - Dst: idna_end_of_label
      Src: /src/glib/glib/ghostutils.c:742,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/ghostutils.c:744,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - hostname
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 748
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 748
    functionName: g_hostname_is_ascii_encoded
    functionSourceFile: /src/glib/glib/ghostutils.c
    functionUses: []
    functionsReached:
    - g_utf8_next_char
    - idna_end_of_label
    - g_ascii_strncasecmp
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_hostname_is_ascii_encoded (const gchar *hostname) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/ghostutils.c:243,1
    - Dst: g_unichar_isupper
      Src: /src/glib/glib/ghostutils.c:245,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/ghostutils.c:245,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - gchar*
    - gint
    constantsTouched: []
    func_position:
      end: 249
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 249
    functionName: contains_uppercase_letters
    functionSourceFile: /src/glib/glib/ghostutils.c
    functionUses: []
    functionsReached:
    - g_unichar_isupper
    - g_utf8_next_char
    - g_utf8_get_char
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean contains_uppercase_letters (const gchar *str,
      gint len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/glib/glib/ghostutils.c:411,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 425
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 425
    functionName: get_hostname_max_length_bytes
    functionSourceFile: /src/glib/glib/ghostutils.c
    functionUses: []
    functionsReached:
    - sysconf
    linkageType: ''
    returnType: gsize
    signature: 'static gsize get_hostname_max_length_bytes (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - dig
    argTypes:
    - guint
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: encode_digit
    functionSourceFile: /src/glib/glib/ghostutils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar
    signature: 'static inline gchar encode_digit (guint dig) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - dig
    argTypes:
    - gchar
    constantsTouched: []
    func_position:
      end: 80
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 80
    functionName: decode_digit
    functionSourceFile: /src/glib/glib/ghostutils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint
    signature: 'static inline guint decode_digit (gchar dig) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: g_unichar_type
      Src: /src/glib/glib/ghostutils.c:269,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 13
    argCount: 1
    argNames:
    - ch
    argTypes:
    - gunichar
    constantsTouched: []
    func_position:
      end: 295
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 295
    functionName: idna_is_prohibited
    functionSourceFile: /src/glib/glib/ghostutils.c
    functionUses: []
    functionsReached:
    - g_unichar_type
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean idna_is_prohibited (gunichar ch) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: remove_junk
      Src: /src/glib/glib/ghostutils.c:313,1
    - Dst: contains_uppercase_letters
      Src: /src/glib/glib/ghostutils.c:323,1
    - Dst: g_free
      Src: /src/glib/glib/ghostutils.c:326,1
    - Dst: contains_non_ascii
      Src: /src/glib/glib/ghostutils.c:332,1
    - Dst: g_utf8_strdown
      Src: /src/glib/glib/ghostutils.c:325,1
    - Dst: g_strdup
      Src: /src/glib/glib/ghostutils.c:336,1
    - Dst: g_strndup
      Src: /src/glib/glib/ghostutils.c:336,1
    - Dst: g_utf8_normalize
      Src: /src/glib/glib/ghostutils.c:344,1
    - Dst: g_free
      Src: /src/glib/glib/ghostutils.c:345,1
    - Dst: contains_uppercase_letters
      Src: /src/glib/glib/ghostutils.c:358,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/ghostutils.c:366,1
    - Dst: idna_is_prohibited
      Src: /src/glib/glib/ghostutils.c:368,1
    - Dst: g_free
      Src: /src/glib/glib/ghostutils.c:361,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/ghostutils.c:368,1
    - Dst: g_utf8_strdown
      Src: /src/glib/glib/ghostutils.c:360,1
    - Dst: g_free
      Src: /src/glib/glib/ghostutils.c:371,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 382
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 382
    functionName: nameprep
    functionSourceFile: /src/glib/glib/ghostutils.c
    functionUses: []
    functionsReached:
    - remove_junk
    - g_strdup
    - g_utf8_strdown
    - contains_uppercase_letters
    - g_utf8_next_char
    - idna_is_prohibited
    - contains_non_ascii
    - g_strndup
    - g_utf8_get_char
    - g_utf8_normalize
    - g_free
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *nameprep (const gchar *hostname, gint len, gboolean
      *is_unicode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - str
    - comparison_length
    argTypes:
    - gchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 441
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 441
    functionName: strlen_greater_than
    functionSourceFile: /src/glib/glib/ghostutils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean strlen_greater_than (const gchar *str, gsize comparison_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contains_non_ascii
      Src: /src/glib/glib/ghostutils.c:558,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - hostname
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 559
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 559
    functionName: g_hostname_is_non_ascii
    functionSourceFile: /src/glib/glib/ghostutils.c
    functionUses: []
    functionsReached:
    - contains_non_ascii
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_hostname_is_non_ascii (const gchar *hostname) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_hostname_max_length_bytes
      Src: /src/glib/glib/ghostutils.c:668,1
    - Dst: strlen_greater_than
      Src: /src/glib/glib/ghostutils.c:674,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/ghostutils.c:670,1
    - Dst: g_string_new
      Src: /src/glib/glib/ghostutils.c:677,1
    - Dst: MAX
      Src: /src/glib/glib/ghostutils.c:674,1
    - Dst: idna_end_of_label
      Src: /src/glib/glib/ghostutils.c:681,1
    - Dst: g_ascii_strncasecmp
      Src: /src/glib/glib/ghostutils.c:682,1
    - Dst: punycode_decode
      Src: /src/glib/glib/ghostutils.c:686,1
    - Dst: g_string_free
      Src: /src/glib/glib/ghostutils.c:688,1
    - Dst: nameprep
      Src: /src/glib/glib/ghostutils.c:695,1
    - Dst: g_string_free
      Src: /src/glib/glib/ghostutils.c:699,1
    - Dst: g_free
      Src: /src/glib/glib/ghostutils.c:703,1
    - Dst: g_string_free
      Src: /src/glib/glib/ghostutils.c:714,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/ghostutils.c:708,1
    - Dst: g_string_append
      Src: /src/glib/glib/ghostutils.c:702,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/ghostutils.c:710,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 715
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 715
    functionName: g_hostname_to_unicode
    functionSourceFile: /src/glib/glib/ghostutils.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - strlen_greater_than
    - get_hostname_max_length_bytes
    - g_utf8_next_char
    - g_string_append_c
    - g_free
    - MAX
    - g_string_free
    - idna_end_of_label
    - g_string_new
    - nameprep
    - g_string_append
    - g_ascii_strncasecmp
    - punycode_decode
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_hostname_to_unicode (const gchar *hostname) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/glib/glib/ghostutils.c:776,1
    - Dst: g_ascii_isxdigit
      Src: /src/glib/glib/ghostutils.c:817,1
    - Dst: g_ascii_isdigit
      Src: /src/glib/glib/ghostutils.c:858,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 73
    argCount: 1
    argNames:
    - hostname
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 874
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 874
    functionName: g_hostname_is_ip_address
    functionSourceFile: /src/glib/glib/ghostutils.c
    functionUses: []
    functionsReached:
    - g_ascii_isdigit
    - strchr
    - g_ascii_isxdigit
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_hostname_is_ip_address (const gchar *hostname) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gerror.c:315,1
    - Dst: va_start
      Src: /src/glib/glib/gerror.c:318,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gerror.c:316,1
    - Dst: va_end
      Src: /src/glib/glib/gerror.c:320,1
    - Dst: g_error_new_valist
      Src: /src/glib/glib/gerror.c:319,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 323
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 323
    functionName: g_error_new
    functionSourceFile: /src/glib/glib/gerror.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_error_new_valist
    - va_start
    - va_end
    linkageType: ''
    returnType: GError*
    signature: 'GError *g_error_new (GQuark domain, gint code, const gchar *format,
      ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gerror.c:414,1
    - Dst: g_strdup
      Src: /src/glib/glib/gerror.c:422,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gerror.c:418,1
    - Dst: g_error_new_steal
      Src: /src/glib/glib/gerror.c:420,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gerror.c:415,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 428
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 428
    functionName: g_error_copy
    functionSourceFile: /src/glib/glib/gerror.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_warn_if_fail
    - g_error_new_steal
    - g_strdup
    linkageType: ''
    returnType: GError*
    signature: 'GError *g_error_copy (const GError *error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strconcat
      Src: /src/glib/glib/gerror.c:650,1
    - Dst: g_free
      Src: /src/glib/glib/gerror.c:651,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - err
    - prefix
    argTypes:
    - GError**
    - gchar*
    constantsTouched: []
    func_position:
      end: 653
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 653
    functionName: g_prefix_error_literal
    functionSourceFile: /src/glib/glib/gerror.c
    functionUses: []
    functionsReached:
    - g_free
    - g_strconcat
    linkageType: ''
    returnType: void
    signature: 'void g_prefix_error_literal (GError **err, const gchar *prefix) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_propagate_error
      Src: /src/glib/glib/gerror.c:674,1
    - Dst: g_error_add_prefix
      Src: /src/glib/glib/gerror.c:682,1
    - Dst: va_end
      Src: /src/glib/glib/gerror.c:683,1
    - Dst: va_start
      Src: /src/glib/glib/gerror.c:681,1
    - Dst: g_assert
      Src: /src/glib/glib/gerror.c:680,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - dest
    - src
    - format
    - '...'
    argTypes:
    - GError**
    - GError*
    - gchar*
    constantsTouched: []
    func_position:
      end: 685
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 685
    functionName: g_propagate_prefixed_error
    functionSourceFile: /src/glib/glib/gerror.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_assert
    - g_error_add_prefix
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: 'void g_propagate_prefixed_error (GError **dest, GError *src, const
      gchar *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_vprintf
      Src: /src/glib/glib/gerror.c:594,1
    - Dst: g_strconcat
      Src: /src/glib/glib/gerror.c:596,1
    - Dst: g_free
      Src: /src/glib/glib/gerror.c:597,1
    - Dst: g_free
      Src: /src/glib/glib/gerror.c:598,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - string
    - format
    - ap
    argTypes:
    - gchar**
    - gchar*
    - va_list
    constantsTouched: []
    func_position:
      end: 599
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 599
    functionName: g_error_add_prefix
    functionSourceFile: /src/glib/glib/gerror.c
    functionUses: []
    functionsReached:
    - g_strdup_vprintf
    - g_free
    - g_strconcat
    linkageType: ''
    returnType: void
    signature: 'static void g_error_add_prefix (gchar **string, const gchar *format,
      va_list ap) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gerror.c:142,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gerror.c:146,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gerror.c:143,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gerror.c:144,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gerror.c:145,1
    - Dst: g_quark_from_static_string
      Src: /src/glib/glib/gerror.c:148,1
    - Dst: error_domain_register
      Src: /src/glib/glib/gerror.c:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - error_type_name
    - error_type_private_size
    - error_type_init
    - error_type_copy
    - error_type_clear
    argTypes:
    - char*
    - gsize
    - GErrorInitFunc
    - GErrorCopyFunc
    - GErrorClearFunc
    constantsTouched: []
    func_position:
      end: 155
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 155
    functionName: g_error_domain_register_static
    functionSourceFile: /src/glib/glib/gerror.c
    functionUses: []
    functionsReached:
    - error_domain_register
    - g_return_val_if_fail
    - g_quark_from_static_string
    linkageType: ''
    returnType: GQuark
    signature: 'GQuark g_error_domain_register_static (const char *error_type_name,
      gsize error_type_private_size, GErrorInitFunc error_type_init, GErrorCopyFunc
      error_type_copy, GErrorClearFunc error_type_clear) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gerror.c:362,1
    - Dst: g_rw_lock_reader_unlock
      Src: /src/glib/glib/gerror.c:371,1
    - Dst: clear
      Src: /src/glib/glib/gerror.c:372,1
    - Dst: error_domain_lookup
      Src: /src/glib/glib/gerror.c:365,1
    - Dst: g_rw_lock_reader_lock
      Src: /src/glib/glib/gerror.c:364,1
    - Dst: g_rw_lock_reader_unlock
      Src: /src/glib/glib/gerror.c:376,1
    - Dst: g_free
      Src: /src/glib/glib/gerror.c:380,1
    - Dst: ALIGN_STRUCT
      Src: /src/glib/glib/gerror.c:388,1
    - Dst: ALIGN_STRUCT
      Src: /src/glib/glib/gerror.c:389,1
    - Dst: g_slice_free1
      Src: /src/glib/glib/gerror.c:391,1
    - Dst: ALIGN_STRUCT
      Src: /src/glib/glib/gerror.c:392,1
    - Dst: VALGRIND_FREELIKE_BLOCK
      Src: /src/glib/glib/gerror.c:393,1
    - Dst: g_slice_free1
      Src: /src/glib/glib/gerror.c:397,1
    - Dst: VALGRIND_FREELIKE_BLOCK
      Src: /src/glib/glib/gerror.c:392,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError*
    constantsTouched: []
    func_position:
      end: 398
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 398
    functionName: g_error_free
    functionSourceFile: /src/glib/glib/gerror.c
    functionUses: []
    functionsReached:
    - ALIGN_STRUCT
    - g_rw_lock_reader_lock
    - g_return_if_fail
    - VALGRIND_FREELIKE_BLOCK
    - clear
    - g_slice_free1
    - g_rw_lock_reader_unlock
    - g_free
    - error_domain_lookup
    linkageType: ''
    returnType: void
    signature: 'void g_error_free (GError *error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gerror.c:625,1
    - Dst: va_end
      Src: /src/glib/glib/gerror.c:627,1
    - Dst: g_error_add_prefix
      Src: /src/glib/glib/gerror.c:626,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - err
    - format
    - '...'
    argTypes:
    - GError**
    - gchar*
    constantsTouched: []
    func_position:
      end: 629
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 629
    functionName: g_prefix_error
    functionSourceFile: /src/glib/glib/gerror.c
    functionUses: []
    functionsReached:
    - g_error_add_prefix
    - va_start
    - va_end
    linkageType: ''
    returnType: void
    signature: 'void g_prefix_error (GError **err, const gchar *format, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_rw_lock_writer_lock
      Src: /src/glib/glib/gerror.c:82,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/gerror.c:91,1
    - Dst: ALIGN_STRUCT
      Src: /src/glib/glib/gerror.c:86,1
    - Dst: error_domain_lookup
      Src: /src/glib/glib/gerror.c:83,1
    - Dst: g_new
      Src: /src/glib/glib/gerror.c:85,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/gerror.c:92,1
    - Dst: g_quark_to_string
      Src: /src/glib/glib/gerror.c:97,1
    - Dst: g_critical
      Src: /src/glib/glib/gerror.c:99,1
    - Dst: g_rw_lock_writer_unlock
      Src: /src/glib/glib/gerror.c:101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 5
    argNames:
    - error_quark
    - error_type_private_size
    - error_type_init
    - error_type_copy
    - error_type_clear
    argTypes:
    - GQuark
    - gsize
    - GErrorInitFunc
    - GErrorCopyFunc
    - GErrorClearFunc
    constantsTouched: []
    func_position:
      end: 102
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 102
    functionName: error_domain_register
    functionSourceFile: /src/glib/glib/gerror.c
    functionUses: []
    functionsReached:
    - ALIGN_STRUCT
    - g_new
    - GUINT_TO_POINTER
    - g_hash_table_insert
    - g_quark_to_string
    - g_rw_lock_writer_unlock
    - g_critical
    - g_rw_lock_writer_lock
    - error_domain_lookup
    linkageType: ''
    returnType: void
    signature: 'static void error_domain_register (GQuark error_quark, gsize error_type_private_size,
      GErrorInitFunc error_type_init, GErrorCopyFunc error_type_copy, GErrorClearFunc
      error_type_clear) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gerror.c:181,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gerror.c:185,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gerror.c:183,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gerror.c:182,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gerror.c:184,1
    - Dst: g_quark_from_string
      Src: /src/glib/glib/gerror.c:187,1
    - Dst: error_domain_register
      Src: /src/glib/glib/gerror.c:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - error_type_name
    - error_type_private_size
    - error_type_init
    - error_type_copy
    - error_type_clear
    argTypes:
    - char*
    - gsize
    - GErrorInitFunc
    - GErrorCopyFunc
    - GErrorClearFunc
    constantsTouched: []
    func_position:
      end: 194
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 194
    functionName: g_error_domain_register
    functionSourceFile: /src/glib/glib/gerror.c
    functionUses: []
    functionsReached:
    - error_domain_register
    - g_return_val_if_fail
    - g_quark_from_string
    linkageType: ''
    returnType: GQuark
    signature: 'GQuark g_error_domain_register (const char *error_type_name, gsize
      error_type_private_size, GErrorInitFunc error_type_init, GErrorCopyFunc error_type_copy,
      GErrorClearFunc error_type_clear) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - error
    - domain
    - code
    argTypes:
    - GError*
    - GQuark
    - gint
    constantsTouched: []
    func_position:
      end: 457
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 457
    functionName: g_error_matches
    functionSourceFile: /src/glib/glib/gerror.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_error_matches (const GError *error, GQuark domain, gint
      code) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_error_free
      Src: /src/glib/glib/gerror.c:580,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - err
    argTypes:
    - GError**
    constantsTouched: []
    func_position:
      end: 583
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 583
    functionName: g_clear_error
    functionSourceFile: /src/glib/glib/gerror.c
    functionUses: []
    functionsReached:
    - g_error_free
    linkageType: ''
    returnType: void
    signature: 'void g_clear_error (GError **err) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new
      Src: /src/glib/glib/gerror.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: g_error_init
    functionSourceFile: /src/glib/glib/gerror.c
    functionUses: []
    functionsReached:
    - g_hash_table_new
    linkageType: ''
    returnType: void
    signature: 'void g_error_init (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_rw_lock_reader_lock
      Src: /src/glib/glib/gerror.c:204,1
    - Dst: g_rw_lock_reader_unlock
      Src: /src/glib/glib/gerror.c:215,1
    - Dst: memset
      Src: /src/glib/glib/gerror.c:217,1
    - Dst: g_rw_lock_reader_unlock
      Src: /src/glib/glib/gerror.c:211,1
    - Dst: error_domain_lookup
      Src: /src/glib/glib/gerror.c:205,1
    - Dst: ALIGN_STRUCT
      Src: /src/glib/glib/gerror.c:226,1
    - Dst: g_slice_alloc0
      Src: /src/glib/glib/gerror.c:227,1
    - Dst: ALIGN_STRUCT
      Src: /src/glib/glib/gerror.c:228,1
    - Dst: VALGRIND_MALLOCLIKE_BLOCK
      Src: /src/glib/glib/gerror.c:229,1
    - Dst: VALGRIND_MALLOCLIKE_BLOCK
      Src: /src/glib/glib/gerror.c:230,1
    - Dst: g_slice_alloc0
      Src: /src/glib/glib/gerror.c:234,1
    - Dst: ALIGN_STRUCT
      Src: /src/glib/glib/gerror.c:230,1
    - Dst: ALIGN_STRUCT
      Src: /src/glib/glib/gerror.c:230,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 238
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 238
    functionName: g_error_allocate
    functionSourceFile: /src/glib/glib/gerror.c
    functionUses: []
    functionsReached:
    - ALIGN_STRUCT
    - g_rw_lock_reader_lock
    - VALGRIND_MALLOCLIKE_BLOCK
    - g_rw_lock_reader_unlock
    - g_slice_alloc0
    - memset
    - error_domain_lookup
    linkageType: ''
    returnType: GError*
    signature: 'static GError *g_error_allocate (GQuark domain, ErrorDomainInfo *out_info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gerror.c:549,1
    - Dst: g_error_free
      Src: /src/glib/glib/gerror.c:553,1
    - Dst: g_error_free
      Src: /src/glib/glib/gerror.c:561,1
    - Dst: g_warning
      Src: /src/glib/glib/gerror.c:560,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - GError**
    - GError*
    constantsTouched: []
    func_position:
      end: 566
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 566
    functionName: g_propagate_error
    functionSourceFile: /src/glib/glib/gerror.c
    functionUses: []
    functionsReached:
    - g_error_free
    - g_warning
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_propagate_error (GError **dest,\t\t GError *src) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/gerror.c:66,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/gerror.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: error_domain_lookup
    functionSourceFile: /src/glib/glib/gerror.c
    functionUses: []
    functionsReached:
    - GUINT_TO_POINTER
    - g_hash_table_lookup
    linkageType: ''
    returnType: ErrorDomainInfo*
    signature: 'static inline ErrorDomainInfo *error_domain_lookup (GQuark domain) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gerror.c:282,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gerror.c:289,1
    - Dst: g_error_new_steal
      Src: /src/glib/glib/gerror.c:291,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/glib/gerror.c:291,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 292
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 292
    functionName: g_error_new_valist
    functionSourceFile: /src/glib/glib/gerror.c
    functionUses: []
    functionsReached:
    - g_strdup_vprintf
    - g_return_val_if_fail
    - g_warn_if_fail
    - g_error_new_steal
    linkageType: ''
    returnType: GError*
    signature: 'GError *g_error_new_valist (GQuark domain, gint code, const gchar
      *format, va_list args) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_error_new_literal
      Src: /src/glib/glib/gerror.c:526,1
    - Dst: g_warning
      Src: /src/glib/glib/gerror.c:528,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - err
    - domain
    - code
    - message
    argTypes:
    - GError**
    - GQuark
    - gint
    - gchar*
    constantsTouched: []
    func_position:
      end: 529
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 529
    functionName: g_set_error_literal
    functionSourceFile: /src/glib/glib/gerror.c
    functionUses: []
    functionsReached:
    - g_error_new_literal
    - g_warning
    linkageType: ''
    returnType: void
    signature: 'void g_set_error_literal (GError **err, GQuark domain, gint code,
      const gchar *message) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_error_allocate
      Src: /src/glib/glib/gerror.c:248,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 260
    functionName: g_error_new_steal
    functionSourceFile: /src/glib/glib/gerror.c
    functionUses: []
    functionsReached:
    - g_error_allocate
    linkageType: ''
    returnType: GError*
    signature: 'static GError *g_error_new_steal (GQuark domain, gint code, gchar
      *message, ErrorDomainInfo *out_info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gerror.c:343,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gerror.c:344,1
    - Dst: g_strdup
      Src: /src/glib/glib/gerror.c:346,1
    - Dst: g_error_new_steal
      Src: /src/glib/glib/gerror.c:346,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 347
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 347
    functionName: g_error_new_literal
    functionSourceFile: /src/glib/glib/gerror.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_error_new_steal
    - g_strdup
    linkageType: ''
    returnType: GError*
    signature: 'GError *g_error_new_literal (GQuark domain, gint code, const gchar
      *message) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gerror.c:488,1
    - Dst: g_warning
      Src: /src/glib/glib/gerror.c:496,1
    - Dst: va_end
      Src: /src/glib/glib/gerror.c:490,1
    - Dst: g_error_new_valist
      Src: /src/glib/glib/gerror.c:489,1
    - Dst: g_error_free
      Src: /src/glib/glib/gerror.c:497,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - err
    - domain
    - code
    - format
    - '...'
    argTypes:
    - GError**
    - GQuark
    - gint
    - gchar*
    constantsTouched: []
    func_position:
      end: 499
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 499
    functionName: g_set_error
    functionSourceFile: /src/glib/glib/gerror.c
    functionUses: []
    functionsReached:
    - g_error_new_valist
    - g_warning
    - g_error_free
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: 'void g_set_error (GError **err, GQuark domain, gint code, const gchar
      *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_RC_BOX
      Src: /src/glib/glib/grcbox.c:283,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/grcbox.c:285,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/grcbox.c:287,1
    - Dst: TRACE
      Src: /src/glib/glib/grcbox.c:292,1
    - Dst: g_ref_count_inc
      Src: /src/glib/glib/grcbox.c:290,1
    - Dst: GLIB_RCBOX_ACQUIRE
      Src: /src/glib/glib/grcbox.c:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - mem_block
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 295
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 295
    functionName: (g_rc_box_acquire)
    functionSourceFile: /src/glib/glib/grcbox.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - TRACE
    - g_ref_count_inc
    - G_RC_BOX
    - GLIB_RCBOX_ACQUIRE
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer (g_rc_box_acquire) (gpointer mem_block) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/grcbox.c:174,1
    - Dst: g_rc_box_alloc_full
      Src: /src/glib/glib/grcbox.c:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - block_size
    argTypes:
    - gsize
    constantsTouched: []
    func_position:
      end: 177
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 177
    functionName: g_rc_box_alloc
    functionSourceFile: /src/glib/glib/grcbox.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_rc_box_alloc_full
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_rc_box_alloc (gsize block_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rc_box_release_full
      Src: /src/glib/glib/grcbox.c:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - mem_block
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 312
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 312
    functionName: g_rc_box_release
    functionSourceFile: /src/glib/glib/grcbox.c
    functionUses: []
    functionsReached:
    - g_rc_box_release_full
    linkageType: ''
    returnType: void
    signature: 'void g_rc_box_release (gpointer mem_block) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/grcbox.c:75,1
    - Dst: ALIGN_STRUCT
      Src: /src/glib/glib/grcbox.c:89,1
    - Dst: ALIGN_STRUCT
      Src: /src/glib/glib/grcbox.c:99,1
    - Dst: g_malloc0
      Src: /src/glib/glib/grcbox.c:105,1
    - Dst: g_atomic_ref_count_init
      Src: /src/glib/glib/grcbox.c:127,1
    - Dst: VALGRIND_MALLOCLIKE_BLOCK
      Src: /src/glib/glib/grcbox.c:99,1
    - Dst: g_assert
      Src: /src/glib/glib/grcbox.c:66,1
    - Dst: ALIGN_STRUCT
      Src: /src/glib/glib/grcbox.c:96,1
    - Dst: VALGRIND_MALLOCLIKE_BLOCK
      Src: /src/glib/glib/grcbox.c:98,1
    - Dst: g_assert
      Src: /src/glib/glib/grcbox.c:57,1
    - Dst: g_assert
      Src: /src/glib/glib/grcbox.c:88,1
    - Dst: g_malloc0
      Src: /src/glib/glib/grcbox.c:92,1
    - Dst: g_malloc
      Src: /src/glib/glib/grcbox.c:94,1
    - Dst: ALIGN_STRUCT
      Src: /src/glib/glib/grcbox.c:99,1
    - Dst: TRACE
      Src: /src/glib/glib/grcbox.c:149,1
    - Dst: g_ref_count_init
      Src: /src/glib/glib/grcbox.c:146,1
    - Dst: g_malloc
      Src: /src/glib/glib/grcbox.c:107,1
    - Dst: ALIGN_STRUCT
      Src: /src/glib/glib/grcbox.c:88,1
    - Dst: GLIB_RCBOX_ALLOC
      Src: /src/glib/glib/grcbox.c:149,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 71
    argCount: 4
    argNames:
    - block_size
    - alignment
    - atomic
    - clear
    argTypes:
    - gsize
    - gsize
    - gboolean
    - gboolean
    constantsTouched: []
    func_position:
      end: 152
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 152
    functionName: g_rc_box_alloc_full
    functionSourceFile: /src/glib/glib/grcbox.c
    functionUses: []
    functionsReached:
    - ALIGN_STRUCT
    - TRACE
    - g_malloc0
    - g_assert
    - GLIB_RCBOX_ALLOC
    - g_malloc
    - VALGRIND_MALLOCLIKE_BLOCK
    - g_atomic_ref_count_init
    - g_ref_count_init
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_rc_box_alloc_full (gsize block_size, gsize alignment, gboolean
      atomic, gboolean clear) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/grcbox.c:201,1
    - Dst: g_rc_box_alloc_full
      Src: /src/glib/glib/grcbox.c:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - block_size
    argTypes:
    - gsize
    constantsTouched: []
    func_position:
      end: 204
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 204
    functionName: g_rc_box_alloc0
    functionSourceFile: /src/glib/glib/grcbox.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_rc_box_alloc_full
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_rc_box_alloc0 (gsize block_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/grcbox.c:260,1
    - Dst: g_rc_box_alloc_full
      Src: /src/glib/glib/grcbox.c:263,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/grcbox.c:261,1
    - Dst: memcpy
      Src: /src/glib/glib/grcbox.c:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - block_size
    - mem_block
    argTypes:
    - gsize
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 267
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 267
    functionName: (g_rc_box_dup)
    functionSourceFile: /src/glib/glib/grcbox.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_return_val_if_fail
    - g_rc_box_alloc_full
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer (g_rc_box_dup) (gsize block_size, gconstpointer mem_block) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_RC_BOX
      Src: /src/glib/glib/grcbox.c:331,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/grcbox.c:335,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/grcbox.c:333,1
    - Dst: g_ref_count_dec
      Src: /src/glib/glib/grcbox.c:338,1
    - Dst: TRACE
      Src: /src/glib/glib/grcbox.c:342,1
    - Dst: GLIB_RCBOX_RELEASE
      Src: /src/glib/glib/grcbox.c:342,1
    - Dst: clear_func
      Src: /src/glib/glib/grcbox.c:345,1
    - Dst: TRACE
      Src: /src/glib/glib/grcbox.c:347,1
    - Dst: GLIB_RCBOX_FREE
      Src: /src/glib/glib/grcbox.c:347,1
    - Dst: g_free
      Src: /src/glib/glib/grcbox.c:348,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - mem_block
    - clear_func
    argTypes:
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 350
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 350
    functionName: g_rc_box_release_full
    functionSourceFile: /src/glib/glib/grcbox.c
    functionUses: []
    functionsReached:
    - GLIB_RCBOX_FREE
    - TRACE
    - g_return_if_fail
    - G_RC_BOX
    - GLIB_RCBOX_RELEASE
    - clear_func
    - g_free
    - g_ref_count_dec
    linkageType: ''
    returnType: void
    signature: 'void g_rc_box_release_full (gpointer mem_block, GDestroyNotify clear_func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_RC_BOX
      Src: /src/glib/glib/grcbox.c:365,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/grcbox.c:367,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/grcbox.c:369,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - mem_block
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 373
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 373
    functionName: g_rc_box_get_size
    functionSourceFile: /src/glib/glib/grcbox.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_RC_BOX
    linkageType: ''
    returnType: gsize
    signature: 'gsize g_rc_box_get_size (gpointer mem_block) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gdatetime-private.c:59,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 2
    argNames:
    - date1
    - date2
    argTypes:
    - GEraDate*
    - GEraDate*
    constantsTouched: []
    func_position:
      end: 60
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 60
    functionName: _g_era_date_compare
    functionSourceFile: /src/glib/glib/gdatetime-private.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    linkageType: ''
    returnType: int
    signature: 'int _g_era_date_compare (const GEraDate *date1, const GEraDate *date2) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/glib/gdatetime-private.c:158,1
    - Dst: strchr
      Src: /src/glib/glib/gdatetime-private.c:188,1
    - Dst: strncmp
      Src: /src/glib/glib/gdatetime-private.c:203,1
    - Dst: strchr
      Src: /src/glib/glib/gdatetime-private.c:210,1
    - Dst: g_strndup
      Src: /src/glib/glib/gdatetime-private.c:230,1
    - Dst: _g_era_date_compare
      Src: /src/glib/glib/gdatetime-private.c:243,1
    - Dst: g_new0
      Src: /src/glib/glib/gdatetime-private.c:237,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gdatetime-private.c:248,1
    - Dst: strchr
      Src: /src/glib/glib/gdatetime-private.c:178,1
    - Dst: strchr
      Src: /src/glib/glib/gdatetime-private.c:197,1
    - Dst: strncmp
      Src: /src/glib/glib/gdatetime-private.c:201,1
    - Dst: g_free
      Src: /src/glib/glib/gdatetime-private.c:227,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gdatetime-private.c:245,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/gdatetime-private.c:248,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gdatetime-private.c:251,1
    - Dst: parse_era_date
      Src: /src/glib/glib/gdatetime-private.c:205,1
    - Dst: g_strndup
      Src: /src/glib/glib/gdatetime-private.c:216,1
    - Dst: g_atomic_ref_count_init
      Src: /src/glib/glib/gdatetime-private.c:238,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gdatetime-private.c:246,1
    - Dst: g_ascii_strtoull
      Src: /src/glib/glib/gdatetime-private.c:182,1
    - Dst: parse_era_date
      Src: /src/glib/glib/gdatetime-private.c:192,1
    - Dst: strlen
      Src: /src/glib/glib/gdatetime-private.c:223,1
    - Dst: strchr
      Src: /src/glib/glib/gdatetime-private.c:221,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/gdatetime-private.c:254,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 83
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 256
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 256
    functionName: _g_era_description_parse
    functionSourceFile: /src/glib/glib/gdatetime-private.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_ptr_array_unref
    - strlen
    - g_ascii_strtoull
    - g_strndup
    - _g_era_date_compare
    - parse_era_date
    - strchr
    - g_ptr_array_new_with_free_func
    - strncmp
    - g_atomic_ref_count_init
    - g_new0
    - g_free
    - g_ptr_array_add
    linkageType: ''
    returnType: GPtrArray*
    signature: 'GPtrArray *_g_era_description_parse (const char *desc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_ref_count_inc
      Src: /src/glib/glib/gdatetime-private.c:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: _g_era_description_segment_ref
    functionSourceFile: /src/glib/glib/gdatetime-private.c
    functionUses: []
    functionsReached:
    - g_atomic_ref_count_inc
    linkageType: ''
    returnType: GEraDescriptionSegment*
    signature: 'GEraDescriptionSegment *_g_era_description_segment_ref (GEraDescriptionSegment
      *segment) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_strtoull
      Src: /src/glib/glib/gdatetime-private.c:75,1
    - Dst: g_assert
      Src: /src/glib/glib/gdatetime-private.c:82,1
    - Dst: g_assert
      Src: /src/glib/glib/gdatetime-private.c:76,1
    - Dst: g_ascii_strtoull
      Src: /src/glib/glib/gdatetime-private.c:87,1
    - Dst: g_ascii_strtoull
      Src: /src/glib/glib/gdatetime-private.c:81,1
    - Dst: g_assert
      Src: /src/glib/glib/gdatetime-private.c:88,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 3
    argNames:
    - str
    - endptr
    - out_date
    argTypes:
    - char*
    - char*
    - GEraDate*
    constantsTouched: []
    func_position:
      end: 99
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 99
    functionName: parse_era_date
    functionSourceFile: /src/glib/glib/gdatetime-private.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_ascii_strtoull
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean parse_era_date (const char *str, const char *endptr,
      GEraDate *out_date) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_ref_count_dec
      Src: /src/glib/glib/gdatetime-private.c:128,1
    - Dst: g_free
      Src: /src/glib/glib/gdatetime-private.c:130,1
    - Dst: g_free
      Src: /src/glib/glib/gdatetime-private.c:132,1
    - Dst: g_free
      Src: /src/glib/glib/gdatetime-private.c:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - segment
    argTypes:
    - GEraDescriptionSegment*
    constantsTouched: []
    func_position:
      end: 134
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 134
    functionName: _g_era_description_segment_unref
    functionSourceFile: /src/glib/glib/gdatetime-private.c
    functionUses: []
    functionsReached:
    - g_free
    - g_atomic_ref_count_dec
    linkageType: ''
    returnType: void
    signature: 'void _g_era_description_segment_unref (GEraDescriptionSegment *segment) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:720,1
    - Dst: g_variant_is_trusted
      Src: /src/glib/glib/gvariant.c:726,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/gvariant.c:722,1
    - Dst: g_variant_new_from_children
      Src: /src/glib/glib/gvariant.c:724,1
    - Dst: g_memdup2
      Src: /src/glib/glib/gvariant.c:725,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 727
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 727
    functionName: g_variant_new_variant
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - g_return_val_if_fail
    - g_variant_new_from_children
    - g_variant_is_trusted
    - g_memdup2
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_new_variant (GVariant *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:1396,1
    - Dst: strlen
      Src: /src/glib/glib/gvariant.c:1398,1
    - Dst: g_variant_serialiser_is_object_path
      Src: /src/glib/glib/gvariant.c:1398,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1399
      start: 1393
    functionDepth: 0
    functionLinenumber: 1393
    functionLinenumberEnd: 1399
    functionName: g_variant_is_object_path
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - strlen
    - g_variant_serialiser_is_object_path
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_variant_is_object_path (const gchar *string) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TYPE_CHECK
      Src: /src/glib/glib/gvariant.c:1802,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/gvariant.c:1804,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/gvariant.c:1811,1
    - Dst: g_variant_dup_string
      Src: /src/glib/glib/gvariant.c:1812,1
    - Dst: g_new
      Src: /src/glib/glib/gvariant.c:1805,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:1813,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1821
      start: 1794
    functionDepth: 0
    functionLinenumber: 1794
    functionLinenumberEnd: 1821
    functionName: g_variant_dup_objv
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_new
    - g_variant_n_children
    - g_variant_unref
    - g_variant_get_child_value
    - TYPE_CHECK
    - g_variant_dup_string
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **g_variant_dup_objv (GVariant *value, gsize *length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TYPE_CHECK
      Src: /src/glib/glib/gvariant.c:695,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/gvariant.c:698,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/gvariant.c:697,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 701
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 701
    functionName: g_variant_get_maybe
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_n_children
    - TYPE_CHECK
    - g_variant_get_child_value
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_get_maybe (GVariant *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_from_trusted
      Src: /src/glib/glib/gvariant.c:344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 345
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 345
    functionName: g_variant_new_boolean
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_new_from_trusted
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_new_boolean (gboolean value) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_iter_free
      Src: /src/glib/glib/gvariant.c:4819,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gvariant.c:4828,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant.c:4826,1
    - Dst: g_str_has_suffix
      Src: /src/glib/glib/gvariant.c:4823,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gvariant.c:4832,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant.c:4834,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant.c:4840,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:4847,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gvariant.c:4854,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 15
    argCount: 2
    argNames:
    - str
    - ptr
    argTypes:
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 4856
      start: 4812
    functionDepth: 0
    functionLinenumber: 4812
    functionLinenumberEnd: 4856
    functionName: g_variant_valist_free_nnp
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_str_has_suffix
    - g_assert_not_reached
    - g_strfreev
    - g_variant_unref
    - g_variant_iter_free
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void g_variant_valist_free_nnp (const gchar *str, gpointer
      ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_preallocated_trusted
      Src: /src/glib/glib/gvariant.c:324,1
    - Dst: g_bytes_new
      Src: /src/glib/glib/gvariant.c:326,1
    - Dst: g_variant_new_take_bytes
      Src: /src/glib/glib/gvariant.c:326,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 327
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 327
    functionName: g_variant_new_from_trusted
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_new_take_bytes
    - g_bytes_new
    - g_variant_new_preallocated_trusted
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_variant_new_from_trusted (const GVariantType *type,
      gconstpointer data, gsize size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_if_invalid_dict
      Src: /src/glib/glib/gvariant.c:4241,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/gvariant.c:4245,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gvariant.c:4243,1
    - Dst: GVSD
      Src: /src/glib/glib/gvariant.c:4245,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gvariant.c:4242,1
    - Dst: g_strdup
      Src: /src/glib/glib/gvariant.c:4245,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/gvariant.c:4245,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - dict
    - key
    - value
    argTypes:
    - GVariantDict*
    - gchar*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 4246
      start: 4236
    functionDepth: 0
    functionLinenumber: 4236
    functionLinenumberEnd: 4246
    functionName: g_variant_dict_insert_value
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - return_if_invalid_dict
    - g_variant_ref_sink
    - g_strdup
    - g_return_if_fail
    - g_hash_table_insert
    - GVSD
    linkageType: ''
    returnType: void
    signature: 'void g_variant_dict_insert_value (GVariantDict *dict, const gchar
      *key, GVariant *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 1
    argNames:
    - str
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 4809
      start: 4803
    functionDepth: 0
    functionLinenumber: 4803
    functionLinenumberEnd: 4809
    functionName: g_variant_format_string_is_nnp
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_variant_format_string_is_nnp (const gchar *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:2190,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/glib/gvariant.c:2192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 2193
      start: 2187
    functionDepth: 0
    functionLinenumber: 2187
    functionLinenumberEnd: 2193
    functionName: g_variant_classify
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_variant_get_type_string
    linkageType: ''
    returnType: GVariantClass
    signature: 'GVariantClass g_variant_classify (GVariant *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_if_invalid_dict
      Src: /src/glib/glib/gvariant.c:4215,1
    - Dst: va_start
      Src: /src/glib/glib/gvariant.c:4219,1
    - Dst: g_variant_dict_insert_value
      Src: /src/glib/glib/gvariant.c:4220,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gvariant.c:4217,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gvariant.c:4216,1
    - Dst: g_variant_new_va
      Src: /src/glib/glib/gvariant.c:4220,1
    - Dst: va_end
      Src: /src/glib/glib/gvariant.c:4221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - dict
    - key
    - format_string
    - '...'
    argTypes:
    - GVariantDict*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 4222
      start: 4207
    functionDepth: 0
    functionLinenumber: 4207
    functionLinenumberEnd: 4222
    functionName: g_variant_dict_insert
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - return_if_invalid_dict
    - g_return_if_fail
    - g_variant_new_va
    - va_end
    - g_variant_dict_insert_value
    - va_start
    linkageType: ''
    returnType: void
    signature: 'void g_variant_dict_insert (GVariantDict *dict, const gchar *key,
      const gchar *format_string, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TYPE_CHECK
      Src: /src/glib/glib/gvariant.c:1752,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/gvariant.c:1754,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/gvariant.c:1755,1
    - Dst: g_new
      Src: /src/glib/glib/gvariant.c:1756,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/gvariant.c:1762,1
    - Dst: g_variant_get_string
      Src: /src/glib/glib/gvariant.c:1763,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:1764,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1772
      start: 1744
    functionDepth: 0
    functionLinenumber: 1744
    functionLinenumberEnd: 1772
    functionName: g_variant_get_objv
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_new
    - g_variant_n_children
    - g_variant_get_string
    - g_variant_unref
    - g_variant_get_data
    - g_variant_get_child_value
    - TYPE_CHECK
    linkageType: ''
    returnType: gchar**
    signature: 'const gchar **g_variant_get_objv (GVariant *value, gsize *length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_is_container
      Src: /src/glib/glib/gvariant.c:2146,1
    - Dst: g_variant_get_type
      Src: /src/glib/glib/gvariant.c:2146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 2147
      start: 2143
    functionDepth: 0
    functionLinenumber: 2143
    functionLinenumberEnd: 2147
    functionName: g_variant_is_container
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_type_is_container
    - g_variant_get_type
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_variant_is_container (GVariant *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/glib/gvariant.c:3297,1
    - Dst: GVHB
      Src: /src/glib/glib/gvariant.c:3300,1
    - Dst: GVHB
      Src: /src/glib/glib/gvariant.c:3299,1
    - Dst: g_variant_builder_init
      Src: /src/glib/glib/gvariant.c:3298,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3303
      start: 3292
    functionDepth: 0
    functionLinenumber: 3292
    functionLinenumberEnd: 3303
    functionName: g_variant_builder_new
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_builder_init
    - GVHB
    - g_slice_new
    linkageType: ''
    returnType: GVariantBuilder*
    signature: 'GVariantBuilder *g_variant_builder_new (const GVariantType *type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:6280,1
    - Dst: g_bytes_new_with_free_func
      Src: /src/glib/glib/gvariant.c:6284,1
    - Dst: g_variant_type_is_definite
      Src: /src/glib/glib/gvariant.c:6280,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:6281,1
    - Dst: g_bytes_new_static
      Src: /src/glib/glib/gvariant.c:6286,1
    - Dst: g_variant_new_take_bytes
      Src: /src/glib/glib/gvariant.c:6288,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gvariant.c:6288,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6289
      start: 6270
    functionDepth: 0
    functionLinenumber: 6270
    functionLinenumberEnd: 6289
    functionName: g_variant_new_from_data
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_new_take_bytes
    - g_steal_pointer
    - g_variant_type_is_definite
    - g_return_val_if_fail
    - g_bytes_new_static
    - g_bytes_new_with_free_func
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_new_from_data (const GVariantType *type, gconstpointer
      data, gsize size, gboolean trusted, GDestroyNotify notify, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:931,1
    - Dst: g_new
      Src: /src/glib/glib/gvariant.c:934,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:932,1
    - Dst: g_variant_is_container
      Src: /src/glib/glib/gvariant.c:932,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/gvariant.c:935,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/gvariant.c:936,1
    - Dst: g_variant_is_trusted
      Src: /src/glib/glib/gvariant.c:937,1
    - Dst: g_variant_is_trusted
      Src: /src/glib/glib/gvariant.c:937,1
    - Dst: g_variant_make_dict_entry_type
      Src: /src/glib/glib/gvariant.c:939,1
    - Dst: g_variant_new_from_children
      Src: /src/glib/glib/gvariant.c:940,1
    - Dst: g_variant_type_free
      Src: /src/glib/glib/gvariant.c:941,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 944
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 944
    functionName: g_variant_new_dict_entry
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - g_return_val_if_fail
    - g_new
    - g_variant_type_free
    - g_variant_new_from_children
    - g_variant_is_container
    - g_variant_make_dict_entry_type
    - g_variant_is_trusted
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_new_dict_entry (GVariant *key, GVariant *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:1710,1
    - Dst: g_strv_length
      Src: /src/glib/glib/gvariant.c:1713,1
    - Dst: g_variant_new_object_path
      Src: /src/glib/glib/gvariant.c:1718,1
    - Dst: g_new
      Src: /src/glib/glib/gvariant.c:1716,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/gvariant.c:1718,1
    - Dst: g_variant_new_from_children
      Src: /src/glib/glib/gvariant.c:1720,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1722
      start: 1703
    functionDepth: 0
    functionLinenumber: 1703
    functionLinenumberEnd: 1722
    functionName: g_variant_new_objv
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - g_return_val_if_fail
    - g_strv_length
    - g_new
    - g_variant_new_from_children
    - g_variant_new_object_path
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_new_objv (const gchar * const *strv, gssize length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/glib/gvariant.c:2991,1
    - Dst: g_variant_iter_init
      Src: /src/glib/glib/gvariant.c:2995,1
    - Dst: GVHI
      Src: /src/glib/glib/gvariant.c:2992,1
    - Dst: g_variant_ref
      Src: /src/glib/glib/gvariant.c:2992,1
    - Dst: GVHI
      Src: /src/glib/glib/gvariant.c:2993,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2998
      start: 2986
    functionDepth: 0
    functionLinenumber: 2986
    functionLinenumberEnd: 2998
    functionName: g_variant_iter_new
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_iter_init
    - GVHI
    - g_slice_new
    - g_variant_ref
    linkageType: ''
    returnType: GVariantIter*
    signature: 'GVariantIter *g_variant_iter_new (GVariant *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:873,1
    - Dst: g_new
      Src: /src/glib/glib/gvariant.c:875,1
    - Dst: g_variant_is_trusted
      Src: /src/glib/glib/gvariant.c:881,1
    - Dst: g_variant_make_tuple_type
      Src: /src/glib/glib/gvariant.c:884,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/gvariant.c:880,1
    - Dst: g_variant_new_from_children
      Src: /src/glib/glib/gvariant.c:885,1
    - Dst: g_variant_type_free
      Src: /src/glib/glib/gvariant.c:887,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 890
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 890
    functionName: g_variant_new_tuple
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - g_return_val_if_fail
    - g_new
    - g_variant_type_free
    - g_variant_make_tuple_type
    - g_variant_new_from_children
    - g_variant_is_trusted
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_new_tuple (GVariant * const *children, gsize n_children) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_new_dict_entry
      Src: /src/glib/glib/gvariant.c:904,1
    - Dst: g_variant_get_type
      Src: /src/glib/glib/gvariant.c:904,1
    - Dst: g_variant_get_type
      Src: /src/glib/glib/gvariant.c:905,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 906
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 906
    functionName: g_variant_make_dict_entry_type
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_type_new_dict_entry
    - g_variant_get_type
    linkageType: ''
    returnType: GVariantType*
    signature: 'static GVariantType *g_variant_make_dict_entry_type (GVariant *key,
      GVariant *val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_val_if_invalid_dict
      Src: /src/glib/glib/gvariant.c:4187,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:4188,1
    - Dst: g_hash_table_contains
      Src: /src/glib/glib/gvariant.c:4190,1
    - Dst: GVSD
      Src: /src/glib/glib/gvariant.c:4190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - dict
    - key
    argTypes:
    - GVariantDict*
    - gchar*
    constantsTouched: []
    func_position:
      end: 4191
      start: 4183
    functionDepth: 0
    functionLinenumber: 4183
    functionLinenumberEnd: 4191
    functionName: g_variant_dict_contains
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - return_val_if_invalid_dict
    - g_return_val_if_fail
    - GVSD
    - g_hash_table_contains
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_variant_dict_contains (GVariantDict *dict, const gchar
      *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/glib/gvariant.c:834,1
    - Dst: g_variant_type_new_tuple
      Src: /src/glib/glib/gvariant.c:839,1
    - Dst: g_variant_get_type
      Src: /src/glib/glib/gvariant.c:837,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant.c:840,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 843
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 843
    functionName: g_variant_make_tuple_type
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_get_type
    - g_variant_type_new_tuple
    - g_free
    - g_new
    linkageType: ''
    returnType: GVariantType*
    signature: 'static GVariantType *g_variant_make_tuple_type (GVariant * const *children,
      gsize n_children) '
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:2394,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gvariant.c:2568,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gvariant.c:2620,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant.c:2281,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant.c:2269,1
    - Dst: g_variant_print_string
      Src: /src/glib/glib/gvariant.c:2360,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/gvariant.c:2391,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gvariant.c:2432,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gvariant.c:2482,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gvariant.c:2510,1
    - Dst: g_variant_get_uint16
      Src: /src/glib/glib/gvariant.c:2554,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant.c:2619,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/gvariant.c:2259,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gvariant.c:2278,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gvariant.c:2261,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant.c:2362,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant.c:2552,1
    - Dst: g_variant_get_uint32
      Src: /src/glib/glib/gvariant.c:2576,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gvariant.c:2589,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant.c:2613,1
    - Dst: g_variant_type_element
      Src: /src/glib/glib/gvariant.c:2254,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gvariant.c:2316,1
    - Dst: g_variant_print_string
      Src: /src/glib/glib/gvariant.c:2441,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant.c:2574,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant.c:2626,1
    - Dst: g_variant_get_string
      Src: /src/glib/glib/gvariant.c:2628,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant.c:2567,1
    - Dst: g_string_new
      Src: /src/glib/glib/gvariant.c:2223,1
    - Dst: g_variant_print_string
      Src: /src/glib/glib/gvariant.c:2275,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gvariant.c:2455,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/gvariant.c:2406,1
    - Dst: g_variant_get_boolean
      Src: /src/glib/glib/gvariant.c:2464,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant.c:2438,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gvariant.c:2532,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant.c:2545,1
    - Dst: g_variant_get_handle
      Src: /src/glib/glib/gvariant.c:2569,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gvariant.c:2582,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/gvariant.c:2259,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gvariant.c:2342,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:2358,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:2364,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gvariant.c:2378,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant.c:2415,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/gvariant.c:2413,1
    - Dst: g_string_truncate
      Src: /src/glib/glib/gvariant.c:2423,1
    - Dst: strchr
      Src: /src/glib/glib/gvariant.c:2473,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:2416,1
    - Dst: g_variant_get_int32
      Src: /src/glib/glib/gvariant.c:2562,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:2436,1
    - Dst: strchr
      Src: /src/glib/glib/gvariant.c:2313,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant.c:2318,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gvariant.c:2494,1
    - Dst: g_variant_get_uint64
      Src: /src/glib/glib/gvariant.c:2590,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gvariant.c:2553,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/gvariant.c:2434,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gvariant.c:2444,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/gvariant.c:2301,1
    - Dst: g_strescape
      Src: /src/glib/glib/gvariant.c:2310,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gvariant.c:2546,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant.c:2588,1
    - Dst: g_variant_get_string
      Src: /src/glib/glib/gvariant.c:2621,1
    - Dst: g_variant_type_is_maybe
      Src: /src/glib/glib/gvariant.c:2253,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gvariant.c:2347,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/gvariant.c:2355,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/gvariant.c:2356,1
    - Dst: g_variant_print_string
      Src: /src/glib/glib/gvariant.c:2435,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gvariant.c:2383,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:2459,1
    - Dst: g_variant_get_string
      Src: /src/glib/glib/gvariant.c:2472,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gvariant.c:2397,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/gvariant.c:2479,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gvariant.c:2529,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:2442,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant.c:2270,1
    - Dst: g_unichar_isprint
      Src: /src/glib/glib/gvariant.c:2484,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gvariant.c:2502,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gvariant.c:2539,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant.c:2581,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gvariant.c:2632,1
    - Dst: g_variant_print_string
      Src: /src/glib/glib/gvariant.c:2456,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/gvariant.c:2339,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant.c:2352,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/gvariant.c:2357,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/gvariant.c:2375,1
    - Dst: g_variant_print_string
      Src: /src/glib/glib/gvariant.c:2393,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/gvariant.c:2440,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gvariant.c:2498,1
    - Dst: g_variant_ref
      Src: /src/glib/glib/gvariant.c:2256,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gvariant.c:2424,1
    - Dst: g_variant_get_int16
      Src: /src/glib/glib/gvariant.c:2547,1
    - Dst: g_variant_get_int64
      Src: /src/glib/glib/gvariant.c:2583,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/glib/gvariant.c:2220,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:2260,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/gvariant.c:2300,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:2361,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant.c:2465,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gvariant.c:2408,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gvariant.c:2522,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gvariant.c:2526,1
    - Dst: g_variant_get_double
      Src: /src/glib/glib/gvariant.c:2598,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gvariant.c:2367,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant.c:2379,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant.c:2388,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/gvariant.c:2231,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant.c:2343,1
    - Dst: g_variant_print_string
      Src: /src/glib/glib/gvariant.c:2414,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gvariant.c:2475,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gvariant.c:2489,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gvariant.c:2506,1
    - Dst: g_variant_get_byte
      Src: /src/glib/glib/gvariant.c:2540,1
    - Dst: g_ascii_dtostr
      Src: /src/glib/glib/gvariant.c:2598,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant.c:2538,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gvariant.c:2575,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gvariant.c:2514,1
    - Dst: g_variant_get_variant
      Src: /src/glib/glib/gvariant.c:2450,1
    - Dst: g_string_append
      Src: /src/glib/glib/gvariant.c:2467,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gvariant.c:2229,1
    - Dst: g_variant_get_type
      Src: /src/glib/glib/gvariant.c:2252,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gvariant.c:2314,1
    - Dst: g_variant_print_string
      Src: /src/glib/glib/gvariant.c:2363,1
    - Dst: g_string_append_unichar
      Src: /src/glib/glib/gvariant.c:2485,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gvariant.c:2518,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gvariant.c:2561,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gvariant.c:2627,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gvariant.c:2457,1
    CyclomaticComplexity: 91
    EdgeCount: 91
    ICount: 215
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2636
      start: 2215
    functionDepth: 0
    functionLinenumber: 2215
    functionLinenumberEnd: 2636
    functionName: g_variant_print_string
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_utf8_next_char
    - g_variant_get_handle
    - g_variant_get_size
    - g_variant_print_string
    - g_variant_get_double
    - g_variant_get_int16
    - g_string_truncate
    - g_ascii_dtostr
    - g_variant_get_string
    - g_clear_pointer
    - g_variant_unref
    - g_variant_get_uint64
    - g_variant_get_type_string
    - g_variant_type_element
    - g_variant_get_child_value
    - g_variant_get_boolean
    - g_variant_get_type
    - g_variant_get_variant
    - g_variant_get_int32
    - g_unichar_isprint
    - g_variant_get_int64
    - g_assert_not_reached
    - g_variant_get_data
    - g_string_new
    - g_string_append_printf
    - g_variant_get_byte
    - g_variant_get_uint16
    - g_string_append
    - g_string_append_unichar
    - g_variant_get_uint32
    - g_variant_n_children
    - g_variant_type_is_maybe
    - g_string_append_c
    - g_utf8_get_char
    - strchr
    - g_strescape
    - g_free
    - g_variant_ref
    linkageType: ''
    returnType: GString*
    signature: 'GString *g_variant_print_string (GVariant *value, GString *string,
      gboolean type_annotate) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gvariant.c:3096,1
    - Dst: GVHI
      Src: /src/glib/glib/gvariant.c:3098,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:3098,1
    - Dst: is_valid_heap_iter
      Src: /src/glib/glib/gvariant.c:3096,1
    - Dst: GVHI
      Src: /src/glib/glib/gvariant.c:3099,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GVariantIter*
    constantsTouched: []
    func_position:
      end: 3102
      start: 3093
    functionDepth: 0
    functionLinenumber: 3093
    functionLinenumberEnd: 3102
    functionName: g_variant_iter_free
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_unref
    - GVHI
    - is_valid_heap_iter
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_variant_iter_free (GVariantIter *iter) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gvariant.c:3596,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3596,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/glib/gvariant.c:3598,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3599,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3604,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3611,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3614,1
    - Dst: g_variant_type_next
      Src: /src/glib/glib/gvariant.c:3615,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3622,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3596,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3600,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/glib/gvariant.c:3601,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3606,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3615,1
    - Dst: return_if_invalid_builder
      Src: /src/glib/glib/gvariant.c:3595,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3597,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3602,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3609,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3618,1
    - Dst: g_variant_get_type
      Src: /src/glib/glib/gvariant.c:3618,1
    - Dst: g_variant_builder_make_room
      Src: /src/glib/glib/gvariant.c:3620,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gvariant.c:3597,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gvariant.c:3600,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3610,1
    - Dst: g_variant_type_next
      Src: /src/glib/glib/gvariant.c:3611,1
    - Dst: g_variant_is_trusted
      Src: /src/glib/glib/gvariant.c:3604,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3613,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3620,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3622,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/gvariant.c:3623,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 2
    argNames:
    - builder
    - value
    argTypes:
    - GVariantBuilder*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 3624
      start: 3591
    functionDepth: 0
    functionLinenumber: 3591
    functionLinenumberEnd: 3624
    functionName: g_variant_builder_add_value
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - g_variant_is_of_type
    - g_return_if_fail
    - g_variant_get_type
    - GVSB
    - return_if_invalid_builder
    - g_variant_builder_make_room
    - g_variant_is_trusted
    - g_variant_type_next
    linkageType: ''
    returnType: void
    signature: 'void g_variant_builder_add_value (GVariantBuilder *builder, GVariant
      *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:3078,1
    - Dst: GVSI
      Src: /src/glib/glib/gvariant.c:3080,1
    - Dst: is_valid_iter
      Src: /src/glib/glib/gvariant.c:3078,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GVariantIter*
    constantsTouched: []
    func_position:
      end: 3081
      start: 3075
    functionDepth: 0
    functionLinenumber: 3075
    functionLinenumberEnd: 3081
    functionName: g_variant_iter_n_children
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - is_valid_iter
    - g_return_val_if_fail
    - GVSI
    linkageType: ''
    returnType: gsize
    signature: 'gsize g_variant_iter_n_children (GVariantIter *iter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_renew
      Src: /src/glib/glib/gvariant.c:3568,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - builder
    argTypes:
    - struct stack_builder*
    constantsTouched: []
    func_position:
      end: 3571
      start: 3562
    functionDepth: 0
    functionLinenumber: 3562
    functionLinenumberEnd: 3571
    functionName: g_variant_builder_make_room
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_renew
    linkageType: ''
    returnType: void
    signature: 'static void g_variant_builder_make_room (struct stack_builder *builder) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:2084,1
    - Dst: g_variant_type_info_get_type_string
      Src: /src/glib/glib/gvariant.c:2088,1
    - Dst: g_variant_get_type_info
      Src: /src/glib/glib/gvariant.c:2086,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2089
      start: 2079
    functionDepth: 0
    functionLinenumber: 2079
    functionLinenumberEnd: 2089
    functionName: g_variant_get_type
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_get_type_info
    - g_return_val_if_fail
    - g_variant_type_info_get_type_string
    linkageType: ''
    returnType: GVariantType*
    signature: 'const GVariantType *g_variant_get_type (GVariant *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TYPE_CHECK
      Src: /src/glib/glib/gvariant.c:2043,1
    - Dst: g_new
      Src: /src/glib/glib/gvariant.c:2047,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/gvariant.c:2053,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/gvariant.c:2046,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/gvariant.c:2045,1
    - Dst: g_variant_dup_bytestring
      Src: /src/glib/glib/gvariant.c:2054,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:2055,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2063
      start: 2035
    functionDepth: 0
    functionLinenumber: 2035
    functionLinenumberEnd: 2063
    functionName: g_variant_dup_bytestring_array
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_new
    - g_variant_dup_bytestring
    - g_variant_n_children
    - g_variant_unref
    - g_variant_get_data
    - g_variant_get_child_value
    - TYPE_CHECK
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **g_variant_dup_bytestring_array (GVariant *value, gsize *length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_variant_builder_init
      Src: /src/glib/glib/gvariant.c:3559,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - builder
    - type
    argTypes:
    - GVariantBuilder*
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 3560
      start: 3555
    functionDepth: 0
    functionLinenumber: 3555
    functionLinenumberEnd: 3560
    functionName: g_variant_builder_init_static
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - _g_variant_builder_init
    linkageType: ''
    returnType: void
    signature: 'void g_variant_builder_init_static (GVariantBuilder *builder, const
      GVariantType *type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_iter_next_value
      Src: /src/glib/glib/gvariant.c:5808,1
    - Dst: g_variant_valist_get
      Src: /src/glib/glib/gvariant.c:5818,1
    - Dst: va_start
      Src: /src/glib/glib/gvariant.c:5817,1
    - Dst: valid_format_string
      Src: /src/glib/glib/gvariant.c:5810,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:5810,1
    - Dst: va_end
      Src: /src/glib/glib/gvariant.c:5819,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:5821,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - iter
    - format_string
    - '...'
    argTypes:
    - GVariantIter*
    - gchar*
    constantsTouched: []
    func_position:
      end: 5825
      start: 5801
    functionDepth: 0
    functionLinenumber: 5801
    functionLinenumberEnd: 5825
    functionName: g_variant_iter_next
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - valid_format_string
    - g_variant_valist_get
    - g_variant_unref
    - g_variant_iter_next_value
    - va_end
    - va_start
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_variant_iter_next (GVariantIter *iter, const gchar *format_string,
      ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:1416,1
    - Dst: g_variant_is_signature
      Src: /src/glib/glib/gvariant.c:1416,1
    - Dst: strlen
      Src: /src/glib/glib/gvariant.c:1419,1
    - Dst: g_variant_new_from_trusted
      Src: /src/glib/glib/gvariant.c:1418,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1420
      start: 1413
    functionDepth: 0
    functionLinenumber: 1413
    functionLinenumberEnd: 1420
    functionName: g_variant_new_signature
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - strlen
    - g_variant_is_signature
    - g_variant_new_from_trusted
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_new_signature (const gchar *signature) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:1843,1
    - Dst: strlen
      Src: /src/glib/glib/gvariant.c:1846,1
    - Dst: g_variant_new_from_trusted
      Src: /src/glib/glib/gvariant.c:1845,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1847
      start: 1840
    functionDepth: 0
    functionLinenumber: 1840
    functionLinenumberEnd: 1847
    functionName: g_variant_new_bytestring
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - strlen
    - g_variant_new_from_trusted
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_new_bytestring (const gchar *string) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get_int64
      Src: /src/glib/glib/gvariant.c:2896,1
    - Dst: g_variant_get_uint64
      Src: /src/glib/glib/gvariant.c:2905,1
    - Dst: g_variant_get_double
      Src: /src/glib/glib/gvariant.c:2912,1
    - Dst: g_variant_get_string
      Src: /src/glib/glib/gvariant.c:2921,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gvariant.c:2926,1
    - Dst: g_variant_classify
      Src: /src/glib/glib/gvariant.c:2860,1
    - Dst: g_variant_classify
      Src: /src/glib/glib/gvariant.c:2858,1
    - Dst: g_variant_get_byte
      Src: /src/glib/glib/gvariant.c:2868,1
    - Dst: g_variant_get_int16
      Src: /src/glib/glib/gvariant.c:2871,1
    - Dst: g_variant_get_int16
      Src: /src/glib/glib/gvariant.c:2872,1
    - Dst: g_variant_get_uint16
      Src: /src/glib/glib/gvariant.c:2875,1
    - Dst: g_variant_get_uint16
      Src: /src/glib/glib/gvariant.c:2876,1
    - Dst: g_variant_get_uint64
      Src: /src/glib/glib/gvariant.c:2904,1
    - Dst: g_variant_get_int32
      Src: /src/glib/glib/gvariant.c:2881,1
    - Dst: g_variant_is_container
      Src: /src/glib/glib/gvariant.c:2925,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:2858,1
    - Dst: g_variant_get_boolean
      Src: /src/glib/glib/gvariant.c:2863,1
    - Dst: g_variant_get_boolean
      Src: /src/glib/glib/gvariant.c:2864,1
    - Dst: g_variant_get_int32
      Src: /src/glib/glib/gvariant.c:2880,1
    - Dst: g_variant_get_uint32
      Src: /src/glib/glib/gvariant.c:2889,1
    - Dst: strcmp
      Src: /src/glib/glib/gvariant.c:2921,1
    - Dst: g_variant_classify
      Src: /src/glib/glib/gvariant.c:2858,1
    - Dst: g_variant_get_byte
      Src: /src/glib/glib/gvariant.c:2867,1
    - Dst: g_variant_get_uint32
      Src: /src/glib/glib/gvariant.c:2888,1
    - Dst: g_variant_get_int64
      Src: /src/glib/glib/gvariant.c:2897,1
    - Dst: g_variant_get_double
      Src: /src/glib/glib/gvariant.c:2913,1
    - Dst: g_variant_get_string
      Src: /src/glib/glib/gvariant.c:2922,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:2925,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 2
    argNames:
    - one
    - two
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2928
      start: 2851
    functionDepth: 0
    functionLinenumber: 2851
    functionLinenumberEnd: 2928
    functionName: g_variant_compare
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_variant_get_uint32
    - g_variant_get_int32
    - g_variant_get_int64
    - strcmp
    - g_variant_is_container
    - g_assert_not_reached
    - g_variant_get_string
    - g_variant_get_uint64
    - g_variant_get_double
    - g_variant_classify
    - g_variant_get_uint16
    - g_variant_get_byte
    - g_variant_get_int16
    - g_variant_get_boolean
    linkageType: ''
    returnType: gint
    signature: 'gint g_variant_compare (gconstpointer one, gconstpointer two) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_variant_builder_init
      Src: /src/glib/glib/gvariant.c:3538,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/gvariant.c:3538,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - builder
    - type
    argTypes:
    - GVariantBuilder*
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 3539
      start: 3534
    functionDepth: 0
    functionLinenumber: 3534
    functionLinenumberEnd: 3539
    functionName: g_variant_builder_init
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_type_copy
    - _g_variant_builder_init
    linkageType: ''
    returnType: void
    signature: 'void g_variant_builder_init (GVariantBuilder *builder, const GVariantType
      *type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/glib/glib/gvariant.c:5736,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/gvariant.c:5739,1
    - Dst: valid_format_string
      Src: /src/glib/glib/gvariant.c:5740,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gvariant.c:5740,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/gvariant.c:5737,1
    - Dst: va_start
      Src: /src/glib/glib/gvariant.c:5742,1
    - Dst: g_variant_get_va
      Src: /src/glib/glib/gvariant.c:5743,1
    - Dst: va_end
      Src: /src/glib/glib/gvariant.c:5744,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:5746,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - value
    - index_
    - format_string
    - '...'
    argTypes:
    - GVariant*
    - gsize
    - gchar*
    constantsTouched: []
    func_position:
      end: 5747
      start: 5726
    functionDepth: 0
    functionLinenumber: 5726
    functionLinenumberEnd: 5747
    functionName: g_variant_get_child
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - valid_format_string
    - g_return_if_fail
    - g_variant_get_va
    - strchr
    - g_variant_unref
    - va_end
    - g_variant_get_data
    - g_variant_get_child_value
    - va_start
    linkageType: ''
    returnType: void
    signature: 'void g_variant_get_child (GVariant *value, gsize index_, const gchar
      *format_string, ...) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_iter_init
      Src: /src/glib/glib/gvariant.c:1051,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:1079,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:1045,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/gvariant.c:1048,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/glib/gvariant.c:1045,1
    - Dst: g_variant_iter_next_value
      Src: /src/glib/glib/gvariant.c:1053,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:1083,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/glib/gvariant.c:1091,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/gvariant.c:1046,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/gvariant.c:1058,1
    - Dst: strcmp
      Src: /src/glib/glib/gvariant.c:1059,1
    - Dst: g_variant_get_string
      Src: /src/glib/glib/gvariant.c:1059,1
    - Dst: g_variant_get_variant
      Src: /src/glib/glib/gvariant.c:1078,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/glib/gvariant.c:1081,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:1072,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/glib/gvariant.c:1047,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/gvariant.c:1071,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/glib/gvariant.c:1074,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:1060,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:1065,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:1090,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1036
    functionDepth: 0
    functionLinenumber: 1036
    functionLinenumberEnd: 1094
    functionName: g_variant_lookup_value
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_iter_init
    - g_return_val_if_fail
    - g_variant_is_of_type
    - g_variant_get_variant
    - strcmp
    - g_variant_get_string
    - g_variant_unref
    - g_variant_iter_next_value
    - g_variant_get_child_value
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_lookup_value (GVariant *dictionary, const gchar
      *key, const GVariantType *expected_type) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: is_valid_builder
      Src: /src/glib/glib/gvariant.c:3239,1
    - Dst: g_variant_builder_init_static
      Src: /src/glib/glib/gvariant.c:3251,1
    - Dst: is_valid_builder
      Src: /src/glib/glib/gvariant.c:3253,1
    - Dst: memcmp
      Src: /src/glib/glib/gvariant.c:3248,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - builder
    argTypes:
    - GVariantBuilder*
    constantsTouched: []
    func_position:
      end: 3254
      start: 3234
    functionDepth: 0
    functionLinenumber: 3234
    functionLinenumberEnd: 3254
    functionName: ensure_valid_builder
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_builder_init_static
    - is_valid_builder
    - memcmp
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean ensure_valid_builder (GVariantBuilder *builder) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_if_invalid_builder
      Src: /src/glib/glib/gvariant.c:3722,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3725,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3723,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gvariant.c:3723,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3726,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/glib/gvariant.c:3728,1
    - Dst: g_variant_builder_end
      Src: /src/glib/glib/gvariant.c:3728,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gvariant.c:3731,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - builder
    argTypes:
    - GVariantBuilder*
    constantsTouched: []
    func_position:
      end: 3732
      start: 3717
    functionDepth: 0
    functionLinenumber: 3717
    functionLinenumberEnd: 3732
    functionName: g_variant_builder_close
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - GVSB
    - g_variant_builder_add_value
    - return_if_invalid_builder
    - g_variant_builder_end
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'void g_variant_builder_close (GVariantBuilder *builder) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3793,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3797,1
    - Dst: g_variant_type_is_definite
      Src: /src/glib/glib/gvariant.c:3800,1
    - Dst: g_variant_type_is_maybe
      Src: /src/glib/glib/gvariant.c:3803,1
    - Dst: g_variant_make_array_type
      Src: /src/glib/glib/gvariant.c:3807,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3801,1
    - Dst: g_variant_type_is_tuple
      Src: /src/glib/glib/gvariant.c:3809,1
    - Dst: g_variant_make_dict_entry_type
      Src: /src/glib/glib/gvariant.c:3814,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gvariant.c:3817,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3822,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3828,1
    - Dst: return_val_if_invalid_builder
      Src: /src/glib/glib/gvariant.c:3792,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3793,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:3795,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3800,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3803,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3804,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3809,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3810,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3819,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3822,1
    - Dst: g_variant_builder_clear
      Src: /src/glib/glib/gvariant.c:3832,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3829,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:3793,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3796,1
    - Dst: g_variant_make_maybe_type
      Src: /src/glib/glib/gvariant.c:3804,1
    - Dst: g_variant_type_is_array
      Src: /src/glib/glib/gvariant.c:3806,1
    - Dst: g_variant_make_tuple_type
      Src: /src/glib/glib/gvariant.c:3810,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3811,1
    - Dst: g_variant_type_is_dict_entry
      Src: /src/glib/glib/gvariant.c:3813,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3815,1
    - Dst: g_renew
      Src: /src/glib/glib/gvariant.c:3823,1
    - Dst: g_variant_new_from_children
      Src: /src/glib/glib/gvariant.c:3825,1
    - Dst: g_variant_type_free
      Src: /src/glib/glib/gvariant.c:3835,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3823,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3795,1
    - Dst: g_variant_type_is_definite
      Src: /src/glib/glib/gvariant.c:3797,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3806,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3807,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3813,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3814,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3827,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3830,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3838
      start: 3784
    functionDepth: 0
    functionLinenumber: 3784
    functionLinenumberEnd: 3838
    functionName: g_variant_builder_end
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_make_maybe_type
    - g_variant_type_is_definite
    - g_return_val_if_fail
    - g_variant_type_is_array
    - g_variant_type_is_dict_entry
    - g_renew
    - g_variant_type_is_tuple
    - g_variant_make_array_type
    - g_variant_type_is_maybe
    - g_variant_type_free
    - g_variant_make_tuple_type
    - g_variant_new_from_children
    - g_assert_not_reached
    - GVSB
    - g_variant_builder_clear
    - g_variant_make_dict_entry_type
    - return_val_if_invalid_builder
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_builder_end (GVariantBuilder *builder) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_val_if_invalid_dict
      Src: /src/glib/glib/gvariant.c:4116,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:4117,1
    - Dst: GVSD
      Src: /src/glib/glib/gvariant.c:4120,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/gvariant.c:4120,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:4118,1
    - Dst: g_variant_check_format_string
      Src: /src/glib/glib/gvariant.c:4122,1
    - Dst: va_start
      Src: /src/glib/glib/gvariant.c:4125,1
    - Dst: g_variant_get_va
      Src: /src/glib/glib/gvariant.c:4126,1
    - Dst: va_end
      Src: /src/glib/glib/gvariant.c:4127,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - dict
    - key
    - format_string
    - '...'
    argTypes:
    - GVariantDict*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 4130
      start: 4107
    functionDepth: 0
    functionLinenumber: 4107
    functionLinenumberEnd: 4130
    functionName: g_variant_dict_lookup
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - return_val_if_invalid_dict
    - g_return_val_if_fail
    - g_variant_check_format_string
    - g_variant_get_va
    - g_hash_table_lookup
    - GVSD
    - va_end
    - va_start
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_variant_dict_lookup (GVariantDict *dict, const gchar *key,
      const gchar *format_string, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get_data
      Src: /src/glib/glib/gvariant.c:982,1
    - Dst: g_variant_lookup_value
      Src: /src/glib/glib/gvariant.c:985,1
    - Dst: g_variant_type_free
      Src: /src/glib/glib/gvariant.c:986,1
    - Dst: va_start
      Src: /src/glib/glib/gvariant.c:992,1
    - Dst: g_variant_format_string_scan_type
      Src: /src/glib/glib/gvariant.c:984,1
    - Dst: g_variant_get_va
      Src: /src/glib/glib/gvariant.c:993,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:994,1
    - Dst: va_end
      Src: /src/glib/glib/gvariant.c:995,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - dictionary
    - key
    - format_string
    - '...'
    argTypes:
    - GVariant*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1002
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 1002
    functionName: g_variant_lookup
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_type_free
    - g_variant_get_va
    - g_variant_format_string_scan_type
    - g_variant_unref
    - va_end
    - g_variant_get_data
    - g_variant_lookup_value
    - va_start
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_variant_lookup (GVariant *dictionary, const gchar *key,
      const gchar *format_string, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TYPE_CHECK
      Src: /src/glib/glib/gvariant.c:1665,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/gvariant.c:1674,1
    - Dst: g_variant_dup_string
      Src: /src/glib/glib/gvariant.c:1675,1
    - Dst: g_new
      Src: /src/glib/glib/gvariant.c:1668,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/gvariant.c:1667,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:1676,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1684
      start: 1657
    functionDepth: 0
    functionLinenumber: 1657
    functionLinenumberEnd: 1684
    functionName: g_variant_dup_strv
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_new
    - g_variant_n_children
    - g_variant_unref
    - g_variant_get_child_value
    - TYPE_CHECK
    - g_variant_dup_string
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **g_variant_dup_strv (GVariant *value, gsize *length) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:2771,1
    - Dst: g_variant_get_type_info
      Src: /src/glib/glib/gvariant.c:2773,1
    - Dst: g_variant_is_trusted
      Src: /src/glib/glib/gvariant.c:2787,1
    - Dst: g_variant_is_trusted
      Src: /src/glib/glib/gvariant.c:2786,1
    - Dst: g_variant_get_type_info
      Src: /src/glib/glib/gvariant.c:2774,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/gvariant.c:2792,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/gvariant.c:2793,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/gvariant.c:2798,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/gvariant.c:2799,1
    - Dst: memcmp
      Src: /src/glib/glib/gvariant.c:2802,1
    - Dst: g_variant_print
      Src: /src/glib/glib/gvariant.c:2810,1
    - Dst: g_variant_print
      Src: /src/glib/glib/gvariant.c:2811,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant.c:2814,1
    - Dst: strcmp
      Src: /src/glib/glib/gvariant.c:2812,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant.c:2813,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - one
    - two
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2818
      start: 2765
    functionDepth: 0
    functionLinenumber: 2765
    functionLinenumberEnd: 2818
    functionName: g_variant_equal
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_variant_get_type_info
    - g_variant_get_size
    - strcmp
    - g_variant_print
    - g_variant_get_data
    - g_variant_is_trusted
    - g_free
    - memcmp
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_variant_equal (gconstpointer one, gconstpointer two) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3677,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3690,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3694,1
    - Dst: g_variant_type_first
      Src: /src/glib/glib/gvariant.c:3695,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3687,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3697,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gvariant.c:3678,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3678,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gvariant.c:3681,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3681,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3692,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3682,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3695,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3699,1
    - Dst: g_variant_type_element
      Src: /src/glib/glib/gvariant.c:3700,1
    - Dst: return_if_invalid_builder
      Src: /src/glib/glib/gvariant.c:3676,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gvariant.c:3677,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3677,1
    - Dst: g_variant_type_is_subtype_of
      Src: /src/glib/glib/gvariant.c:3679,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3680,1
    - Dst: g_slice_dup
      Src: /src/glib/glib/gvariant.c:3685,1
    - Dst: g_variant_builder_init
      Src: /src/glib/glib/gvariant.c:3686,1
    - Dst: g_variant_type_is_subtype_of
      Src: /src/glib/glib/gvariant.c:3682,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3700,1
    - Dst: g_variant_type_is_variant
      Src: /src/glib/glib/gvariant.c:3697,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 2
    argNames:
    - builder
    - type
    argTypes:
    - GVariantBuilder*
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 3702
      start: 3670
    functionDepth: 0
    functionLinenumber: 3670
    functionLinenumberEnd: 3702
    functionName: g_variant_builder_open
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_type_is_subtype_of
    - g_return_if_fail
    - g_variant_type_is_variant
    - GVSB
    - g_variant_builder_init
    - return_if_invalid_builder
    - g_variant_type_first
    - g_variant_type_element
    - g_slice_dup
    linkageType: ''
    returnType: void
    signature: 'void g_variant_builder_open (GVariantBuilder *builder, const GVariantType
      *type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GVSD
      Src: /src/glib/glib/gvariant.c:4073,1
    - Dst: g_variant_iter_init
      Src: /src/glib/glib/gvariant.c:4078,1
    - Dst: g_variant_iter_next
      Src: /src/glib/glib/gvariant.c:4079,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/gvariant.c:4073,1
    - Dst: GVSD
      Src: /src/glib/glib/gvariant.c:4074,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/gvariant.c:4080,1
    - Dst: GVSD
      Src: /src/glib/glib/gvariant.c:4080,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - dict
    - from_asv
    argTypes:
    - GVariantDict*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 4082
      start: 4065
    functionDepth: 0
    functionLinenumber: 4065
    functionLinenumberEnd: 4082
    functionName: g_variant_dict_init
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_iter_init
    - g_variant_iter_next
    - g_hash_table_insert
    - GVSD
    - g_hash_table_new_full
    linkageType: ''
    returnType: void
    signature: 'void g_variant_dict_init (GVariantDict *dict, GVariant *from_asv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GVSD
      Src: /src/glib/glib/gvariant.c:4293,1
    - Dst: g_hash_table_unref
      Src: /src/glib/glib/gvariant.c:4299,1
    - Dst: return_if_invalid_dict
      Src: /src/glib/glib/gvariant.c:4297,1
    - Dst: GVSD
      Src: /src/glib/glib/gvariant.c:4299,1
    - Dst: GVSD
      Src: /src/glib/glib/gvariant.c:4300,1
    - Dst: GVSD
      Src: /src/glib/glib/gvariant.c:4302,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - dict
    argTypes:
    - GVariantDict*
    constantsTouched: []
    func_position:
      end: 4303
      start: 4290
    functionDepth: 0
    functionLinenumber: 4290
    functionLinenumberEnd: 4303
    functionName: g_variant_dict_clear
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - return_if_invalid_dict
    - GVSD
    - g_hash_table_unref
    linkageType: ''
    returnType: void
    signature: 'void g_variant_dict_clear (GVariantDict *dict) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:4357,1
    - Dst: is_valid_heap_dict
      Src: /src/glib/glib/gvariant.c:4357,1
    - Dst: GVHD
      Src: /src/glib/glib/gvariant.c:4359,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4362
      start: 4354
    functionDepth: 0
    functionLinenumber: 4354
    functionLinenumberEnd: 4362
    functionName: g_variant_dict_ref
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - is_valid_heap_dict
    - g_return_val_if_fail
    - GVHD
    linkageType: ''
    returnType: GVariantDict*
    signature: 'GVariantDict *g_variant_dict_ref (GVariantDict *dict) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_val_if_invalid_dict
      Src: /src/glib/glib/gvariant.c:4263,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:4264,1
    - Dst: g_hash_table_remove
      Src: /src/glib/glib/gvariant.c:4266,1
    - Dst: GVSD
      Src: /src/glib/glib/gvariant.c:4266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - dict
    - key
    argTypes:
    - GVariantDict*
    - gchar*
    constantsTouched: []
    func_position:
      end: 4267
      start: 4259
    functionDepth: 0
    functionLinenumber: 4259
    functionLinenumberEnd: 4267
    functionName: g_variant_dict_remove
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - return_val_if_invalid_dict
    - g_return_val_if_fail
    - GVSD
    - g_hash_table_remove
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_variant_dict_remove (GVariantDict *dict, const gchar *key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TYPE_CHECK
      Src: /src/glib/glib/gvariant.c:1615,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/gvariant.c:1618,1
    - Dst: g_new
      Src: /src/glib/glib/gvariant.c:1619,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/gvariant.c:1617,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/gvariant.c:1625,1
    - Dst: g_variant_get_string
      Src: /src/glib/glib/gvariant.c:1626,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:1627,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1635
      start: 1607
    functionDepth: 0
    functionLinenumber: 1607
    functionLinenumberEnd: 1635
    functionName: g_variant_get_strv
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_new
    - g_variant_n_children
    - g_variant_get_string
    - g_variant_unref
    - g_variant_get_data
    - g_variant_get_child_value
    - TYPE_CHECK
    linkageType: ''
    returnType: gchar**
    signature: 'const gchar **g_variant_get_strv (GVariant *value, gsize *length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TYPE_CHECK
      Src: /src/glib/glib/gvariant.c:1993,1
    - Dst: g_new
      Src: /src/glib/glib/gvariant.c:1997,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/gvariant.c:1995,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/gvariant.c:2003,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/gvariant.c:1996,1
    - Dst: g_variant_get_bytestring
      Src: /src/glib/glib/gvariant.c:2004,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:2005,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2013
      start: 1985
    functionDepth: 0
    functionLinenumber: 1985
    functionLinenumberEnd: 2013
    functionName: g_variant_get_bytestring_array
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_new
    - g_variant_n_children
    - g_variant_get_bytestring
    - g_variant_unref
    - g_variant_get_data
    - g_variant_get_child_value
    - TYPE_CHECK
    linkageType: ''
    returnType: gchar**
    signature: 'const gchar **g_variant_get_bytestring_array (GVariant *value, gsize
      *length) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_classify
      Src: /src/glib/glib/gvariant.c:2687,1
    - Dst: g_variant_get_boolean
      Src: /src/glib/glib/gvariant.c:2696,1
    - Dst: g_variant_get_byte
      Src: /src/glib/glib/gvariant.c:2699,1
    - Dst: g_variant_get_string
      Src: /src/glib/glib/gvariant.c:2692,1
    - Dst: g_str_hash
      Src: /src/glib/glib/gvariant.c:2692,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/gvariant.c:2706,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/gvariant.c:2720,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/gvariant.c:2737,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:2746,1
    - Dst: g_variant_is_container
      Src: /src/glib/glib/gvariant.c:2746,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gvariant.c:2747,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 21
    argCount: 1
    argNames:
    - value_
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2749
      start: 2682
    functionDepth: 0
    functionLinenumber: 2682
    functionLinenumberEnd: 2749
    functionName: g_variant_hash
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_variant_is_container
    - g_assert_not_reached
    - g_variant_get_string
    - g_str_hash
    - g_variant_get_data
    - g_variant_classify
    - g_variant_get_byte
    - g_variant_get_boolean
    linkageType: ''
    returnType: guint
    signature: 'guint g_variant_hash (gconstpointer value_) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:3143,1
    - Dst: GVSI
      Src: /src/glib/glib/gvariant.c:3145,1
    - Dst: GVSI
      Src: /src/glib/glib/gvariant.c:3145,1
    - Dst: g_critical
      Src: /src/glib/glib/gvariant.c:3147,1
    - Dst: is_valid_iter
      Src: /src/glib/glib/gvariant.c:3143,1
    - Dst: GVSI
      Src: /src/glib/glib/gvariant.c:3152,1
    - Dst: GVSI
      Src: /src/glib/glib/gvariant.c:3154,1
    - Dst: GVSI
      Src: /src/glib/glib/gvariant.c:3154,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/gvariant.c:3155,1
    - Dst: GVSI
      Src: /src/glib/glib/gvariant.c:3155,1
    - Dst: GVSI
      Src: /src/glib/glib/gvariant.c:3155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3158
      start: 3140
    functionDepth: 0
    functionLinenumber: 3140
    functionLinenumberEnd: 3158
    functionName: g_variant_iter_next_value
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - is_valid_iter
    - g_critical
    - g_variant_get_child_value
    - GVSI
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_iter_next_value (GVariantIter *iter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_val_if_invalid_dict
      Src: /src/glib/glib/gvariant.c:4328,1
    - Dst: g_variant_builder_init_static
      Src: /src/glib/glib/gvariant.c:4330,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/glib/gvariant.c:4332,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/glib/gvariant.c:4333,1
    - Dst: GVSD
      Src: /src/glib/glib/gvariant.c:4332,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/gvariant.c:4334,1
    - Dst: g_variant_dict_clear
      Src: /src/glib/glib/gvariant.c:4336,1
    - Dst: g_variant_builder_end
      Src: /src/glib/glib/gvariant.c:4338,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4339
      start: 4321
    functionDepth: 0
    functionLinenumber: 4321
    functionLinenumberEnd: 4339
    functionName: g_variant_dict_end
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_hash_table_iter_init
    - return_val_if_invalid_dict
    - g_variant_builder_init_static
    - GVSD
    - g_variant_builder_end
    - g_variant_dict_clear
    - g_variant_builder_add
    - g_hash_table_iter_next
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_dict_end (GVariantDict *dict) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:650,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:653,1
    - Dst: g_variant_type_is_definite
      Src: /src/glib/glib/gvariant.c:650,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/glib/gvariant.c:654,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:652,1
    - Dst: g_variant_get_type
      Src: /src/glib/glib/gvariant.c:658,1
    - Dst: g_variant_type_new_maybe
      Src: /src/glib/glib/gvariant.c:660,1
    - Dst: g_new
      Src: /src/glib/glib/gvariant.c:667,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/gvariant.c:668,1
    - Dst: g_variant_is_trusted
      Src: /src/glib/glib/gvariant.c:669,1
    - Dst: g_variant_new_from_children
      Src: /src/glib/glib/gvariant.c:671,1
    - Dst: g_variant_new_from_children
      Src: /src/glib/glib/gvariant.c:674,1
    - Dst: g_variant_type_free
      Src: /src/glib/glib/gvariant.c:676,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 679
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 679
    functionName: g_variant_new_maybe
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - g_variant_type_is_definite
    - g_return_val_if_fail
    - g_variant_get_type
    - g_variant_is_of_type
    - g_new
    - g_variant_type_free
    - g_variant_new_from_children
    - g_variant_type_new_maybe
    - g_variant_is_trusted
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_new_maybe (const GVariantType *child_type, GVariant
      *child) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/glib/glib/gvariant.c:5183,1
    - Dst: g_variant_valist_free_nnp
      Src: /src/glib/glib/gvariant.c:5196,1
    - Dst: g_variant_format_string_is_nnp
      Src: /src/glib/glib/gvariant.c:5191,1
    - Dst: g_variant_valist_get_nnp
      Src: /src/glib/glib/gvariant.c:5201,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/gvariant.c:5187,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/gvariant.c:5203,1
    - Dst: g_variant_get_boolean
      Src: /src/glib/glib/gvariant.c:5213,1
    - Dst: g_variant_get_byte
      Src: /src/glib/glib/gvariant.c:5217,1
    - Dst: g_variant_get_int16
      Src: /src/glib/glib/gvariant.c:5221,1
    - Dst: g_variant_get_uint16
      Src: /src/glib/glib/gvariant.c:5225,1
    - Dst: g_variant_get_uint64
      Src: /src/glib/glib/gvariant.c:5241,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gvariant.c:5281,1
    - Dst: g_variant_get_int32
      Src: /src/glib/glib/gvariant.c:5229,1
    - Dst: g_variant_get_uint32
      Src: /src/glib/glib/gvariant.c:5233,1
    - Dst: g_variant_get_handle
      Src: /src/glib/glib/gvariant.c:5245,1
    - Dst: g_variant_get_double
      Src: /src/glib/glib/gvariant.c:5249,1
    - Dst: g_variant_get_int64
      Src: /src/glib/glib/gvariant.c:5237,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 45
    argCount: 4
    argNames:
    - str
    - value
    - free
    - app
    argTypes:
    - gchar**
    - GVariant*
    - gboolean
    - va_list*
    constantsTouched: []
    func_position:
      end: 5282
      start: 5177
    functionDepth: 0
    functionLinenumber: 5177
    functionLinenumberEnd: 5282
    functionName: g_variant_valist_get_leaf
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_get_uint32
    - g_variant_valist_free_nnp
    - g_variant_get_int32
    - g_variant_get_int64
    - g_variant_get_handle
    - g_assert_not_reached
    - g_variant_format_string_scan
    - g_variant_get_uint64
    - va_arg
    - g_variant_format_string_is_nnp
    - g_variant_get_double
    - g_variant_get_uint16
    - g_variant_get_byte
    - g_variant_valist_get_nnp
    - g_variant_get_int16
    - g_variant_get_boolean
    linkageType: ''
    returnType: void
    signature: 'static void g_variant_valist_get_leaf (const gchar **str, GVariant
      *value, gboolean free, va_list *app) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:5473,1
    - Dst: va_end
      Src: /src/glib/glib/gvariant.c:5480,1
    - Dst: valid_format_string
      Src: /src/glib/glib/gvariant.c:5473,1
    - Dst: g_variant_new_va
      Src: /src/glib/glib/gvariant.c:5479,1
    - Dst: va_start
      Src: /src/glib/glib/gvariant.c:5478,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5483
      start: 5466
    functionDepth: 0
    functionLinenumber: 5466
    functionLinenumberEnd: 5483
    functionName: g_variant_new
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - valid_format_string
    - g_variant_new_va
    - va_end
    - va_start
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_new (const gchar *format_string, ...) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:786,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:787,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:788,1
    - Dst: g_variant_type_is_definite
      Src: /src/glib/glib/gvariant.c:789,1
    - Dst: g_new
      Src: /src/glib/glib/gvariant.c:791,1
    - Dst: g_variant_get_type
      Src: /src/glib/glib/gvariant.c:795,1
    - Dst: g_variant_type_new_array
      Src: /src/glib/glib/gvariant.c:796,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/glib/gvariant.c:800,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:804,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant.c:805,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/gvariant.c:808,1
    - Dst: g_variant_type_free
      Src: /src/glib/glib/gvariant.c:814,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:806,1
    - Dst: g_variant_new_from_children
      Src: /src/glib/glib/gvariant.c:812,1
    - Dst: g_variant_is_trusted
      Src: /src/glib/glib/gvariant.c:809,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 817
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 817
    functionName: g_variant_new_array
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - g_variant_type_is_definite
    - g_return_val_if_fail
    - g_variant_get_type
    - g_new
    - g_variant_is_of_type
    - g_variant_type_free
    - g_variant_new_from_children
    - g_variant_unref
    - g_variant_is_trusted
    - g_free
    - g_variant_type_new_array
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_new_array (const GVariantType *child_type, GVariant
      * const *children, gsize n_children) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:1951,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/gvariant.c:1959,1
    - Dst: g_variant_new_bytestring
      Src: /src/glib/glib/gvariant.c:1959,1
    - Dst: g_new
      Src: /src/glib/glib/gvariant.c:1957,1
    - Dst: g_strv_length
      Src: /src/glib/glib/gvariant.c:1954,1
    - Dst: g_variant_new_from_children
      Src: /src/glib/glib/gvariant.c:1961,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1963
      start: 1944
    functionDepth: 0
    functionLinenumber: 1944
    functionLinenumberEnd: 1963
    functionName: g_variant_new_bytestring_array
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - g_return_val_if_fail
    - g_strv_length
    - g_new
    - g_variant_new_from_children
    - g_variant_new_bytestring
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_new_bytestring_array (const gchar * const *strv,
      gssize length) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_format_string_is_leaf
      Src: /src/glib/glib/gvariant.c:5381,1
    - Dst: va_arg
      Src: /src/glib/glib/gvariant.c:5393,1
    - Dst: g_variant_valist_get_leaf
      Src: /src/glib/glib/gvariant.c:5382,1
    - Dst: g_variant_get_maybe
      Src: /src/glib/glib/gvariant.c:5389,1
    - Dst: g_variant_format_string_is_nnp
      Src: /src/glib/glib/gvariant.c:5391,1
    - Dst: g_variant_valist_get
      Src: /src/glib/glib/gvariant.c:5399,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:5402,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant.c:5409,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/gvariant.c:5416,1
    - Dst: g_variant_valist_get
      Src: /src/glib/glib/gvariant.c:5417,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:5418,1
    - Dst: g_variant_valist_get
      Src: /src/glib/glib/gvariant.c:5421,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 4
    argNames:
    - str
    - value
    - free
    - app
    argTypes:
    - gchar**
    - GVariant*
    - gboolean
    - va_list*
    constantsTouched: []
    func_position:
      end: 5425
      start: 5375
    functionDepth: 0
    functionLinenumber: 5375
    functionLinenumberEnd: 5425
    functionName: g_variant_valist_get
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_get_maybe
    - g_variant_format_string_is_leaf
    - g_assert
    - g_variant_valist_get_leaf
    - g_variant_valist_get
    - g_variant_unref
    - va_arg
    - g_variant_format_string_is_nnp
    - g_variant_get_child_value
    linkageType: ''
    returnType: void
    signature: 'static void g_variant_valist_get (const gchar **str, GVariant *value,
      gboolean free, va_list *app) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TYPE_CHECK
      Src: /src/glib/glib/gvariant.c:743,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/gvariant.c:745,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 746
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 746
    functionName: g_variant_get_variant
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_get_child_value
    - TYPE_CHECK
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_get_variant (GVariant *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:1573,1
    - Dst: g_strv_length
      Src: /src/glib/glib/gvariant.c:1576,1
    - Dst: g_variant_new_string
      Src: /src/glib/glib/gvariant.c:1581,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/gvariant.c:1581,1
    - Dst: g_new
      Src: /src/glib/glib/gvariant.c:1579,1
    - Dst: g_variant_new_from_children
      Src: /src/glib/glib/gvariant.c:1583,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1585
      start: 1566
    functionDepth: 0
    functionLinenumber: 1566
    functionLinenumberEnd: 1585
    functionName: g_variant_new_strv
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - g_return_val_if_fail
    - g_strv_length
    - g_new
    - g_variant_new_from_children
    - g_variant_new_string
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_new_strv (const gchar * const *strv, gssize length) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_boolean
      Src: /src/glib/glib/gvariant.c:5139,1
    - Dst: g_variant_format_string_is_nnp
      Src: /src/glib/glib/gvariant.c:5133,1
    - Dst: g_variant_new_byte
      Src: /src/glib/glib/gvariant.c:5142,1
    - Dst: va_arg
      Src: /src/glib/glib/gvariant.c:5145,1
    - Dst: g_variant_new_int32
      Src: /src/glib/glib/gvariant.c:5151,1
    - Dst: g_variant_new_int64
      Src: /src/glib/glib/gvariant.c:5157,1
    - Dst: va_arg
      Src: /src/glib/glib/gvariant.c:5160,1
    - Dst: va_arg
      Src: /src/glib/glib/gvariant.c:5154,1
    - Dst: g_variant_new_handle
      Src: /src/glib/glib/gvariant.c:5163,1
    - Dst: va_arg
      Src: /src/glib/glib/gvariant.c:5166,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gvariant.c:5169,1
    - Dst: va_arg
      Src: /src/glib/glib/gvariant.c:5139,1
    - Dst: g_variant_valist_new_nnp
      Src: /src/glib/glib/gvariant.c:5134,1
    - Dst: g_variant_new_double
      Src: /src/glib/glib/gvariant.c:5166,1
    - Dst: va_arg
      Src: /src/glib/glib/gvariant.c:5134,1
    - Dst: va_arg
      Src: /src/glib/glib/gvariant.c:5142,1
    - Dst: g_variant_new_int16
      Src: /src/glib/glib/gvariant.c:5145,1
    - Dst: g_variant_new_uint16
      Src: /src/glib/glib/gvariant.c:5148,1
    - Dst: va_arg
      Src: /src/glib/glib/gvariant.c:5151,1
    - Dst: va_arg
      Src: /src/glib/glib/gvariant.c:5157,1
    - Dst: g_variant_new_uint64
      Src: /src/glib/glib/gvariant.c:5160,1
    - Dst: g_variant_new_uint32
      Src: /src/glib/glib/gvariant.c:5154,1
    - Dst: va_arg
      Src: /src/glib/glib/gvariant.c:5148,1
    - Dst: va_arg
      Src: /src/glib/glib/gvariant.c:5163,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5171
      start: 5129
    functionDepth: 0
    functionLinenumber: 5129
    functionLinenumberEnd: 5171
    functionName: g_variant_valist_new_leaf
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_new_boolean
    - g_variant_new_byte
    - g_variant_new_handle
    - g_variant_valist_new_nnp
    - g_variant_new_int16
    - g_assert_not_reached
    - g_variant_new_uint16
    - g_variant_new_int32
    - g_variant_new_double
    - va_arg
    - g_variant_format_string_is_nnp
    - g_variant_new_int64
    - g_variant_new_uint32
    - g_variant_new_uint64
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_variant_valist_new_leaf (const gchar **str, va_list
      *app) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/gvariant.c:1549,1
    - Dst: g_variant_get_string
      Src: /src/glib/glib/gvariant.c:1549,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1550
      start: 1545
    functionDepth: 0
    functionLinenumber: 1545
    functionLinenumberEnd: 1550
    functionName: g_variant_dup_string
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_variant_get_string
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_variant_dup_string (GVariant *value, gsize *length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_STATIC_ASSERT
      Src: /src/glib/glib/gvariant.c:4031,1
    - Dst: GVHD
      Src: /src/glib/glib/gvariant.c:4035,1
    - Dst: g_variant_dict_init
      Src: /src/glib/glib/gvariant.c:4034,1
    - Dst: g_malloc
      Src: /src/glib/glib/gvariant.c:4033,1
    - Dst: GVHD
      Src: /src/glib/glib/gvariant.c:4036,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4039
      start: 4024
    functionDepth: 0
    functionLinenumber: 4024
    functionLinenumberEnd: 4039
    functionName: g_variant_dict_new
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - G_STATIC_ASSERT
    - GVHD
    - g_variant_dict_init
    - g_malloc
    linkageType: ''
    returnType: GVariantDict*
    signature: 'GVariantDict *g_variant_dict_new (GVariant *from_asv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:3349,1
    - Dst: is_valid_heap_builder
      Src: /src/glib/glib/gvariant.c:3349,1
    - Dst: GVHB
      Src: /src/glib/glib/gvariant.c:3351,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3354
      start: 3346
    functionDepth: 0
    functionLinenumber: 3346
    functionLinenumberEnd: 3354
    functionName: g_variant_builder_ref
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - is_valid_heap_builder
    - GVHB
    linkageType: ''
    returnType: GVariantBuilder*
    signature: 'GVariantBuilder *g_variant_builder_ref (GVariantBuilder *builder) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_format_string_is_nnp
      Src: /src/glib/glib/gvariant.c:5096,1
    - Dst: va_arg
      Src: /src/glib/glib/gvariant.c:5117,1
    - Dst: va_arg
      Src: /src/glib/glib/gvariant.c:5112,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/gvariant.c:5098,1
    - Dst: va_arg
      Src: /src/glib/glib/gvariant.c:5099,1
    - Dst: va_arg
      Src: /src/glib/glib/gvariant.c:5121,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gvariant.c:5125,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 10
    argCount: 2
    argNames:
    - str
    - app
    argTypes:
    - gchar**
    - va_list*
    constantsTouched: []
    func_position:
      end: 5127
      start: 5092
    functionDepth: 0
    functionLinenumber: 5092
    functionLinenumberEnd: 5127
    functionName: g_variant_valist_skip_leaf
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_format_string_scan
    - va_arg
    - g_variant_format_string_is_nnp
    - g_assert_not_reached
    linkageType: ''
    returnType: void
    signature: 'static void g_variant_valist_skip_leaf (const gchar **str, va_list
      *app) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gvariant.c:5700,1
    - Dst: va_end
      Src: /src/glib/glib/gvariant.c:5702,1
    - Dst: g_variant_new_va
      Src: /src/glib/glib/gvariant.c:5701,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/glib/gvariant.c:5704,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - builder
    - format_string
    - '...'
    argTypes:
    - GVariantBuilder*
    - gchar*
    constantsTouched: []
    func_position:
      end: 5705
      start: 5692
    functionDepth: 0
    functionLinenumber: 5692
    functionLinenumberEnd: 5705
    functionName: g_variant_builder_add
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_builder_add_value
    - g_variant_new_va
    - va_start
    - va_end
    linkageType: ''
    returnType: void
    signature: 'void g_variant_builder_add (GVariantBuilder *builder, const gchar
      *format_string, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_free
      Src: /src/glib/glib/gvariant.c:2659,1
    - Dst: g_variant_print_string
      Src: /src/glib/glib/gvariant.c:2659,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2661
      start: 2655
    functionDepth: 0
    functionLinenumber: 2655
    functionLinenumberEnd: 2661
    functionName: g_variant_print
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_string_free
    - g_variant_print_string
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_variant_print (GVariant *value, gboolean type_annotate) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gvariant.c:3322,1
    - Dst: g_variant_builder_clear
      Src: /src/glib/glib/gvariant.c:3327,1
    - Dst: GVHB
      Src: /src/glib/glib/gvariant.c:3328,1
    - Dst: is_valid_heap_builder
      Src: /src/glib/glib/gvariant.c:3322,1
    - Dst: GVHB
      Src: /src/glib/glib/gvariant.c:3324,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - builder
    argTypes:
    - GVariantBuilder*
    constantsTouched: []
    func_position:
      end: 3331
      start: 3319
    functionDepth: 0
    functionLinenumber: 3319
    functionLinenumberEnd: 3331
    functionName: g_variant_builder_unref
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_builder_clear
    - is_valid_heap_builder
    - GVHB
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_variant_builder_unref (GVariantBuilder *builder) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: is_valid_dict
      Src: /src/glib/glib/gvariant.c:3969,1
    - Dst: is_valid_dict
      Src: /src/glib/glib/gvariant.c:3983,1
    - Dst: g_variant_dict_init
      Src: /src/glib/glib/gvariant.c:3981,1
    - Dst: memcmp
      Src: /src/glib/glib/gvariant.c:3978,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - dict
    argTypes:
    - GVariantDict*
    constantsTouched: []
    func_position:
      end: 3984
      start: 3964
    functionDepth: 0
    functionLinenumber: 3964
    functionLinenumberEnd: 3984
    functionName: ensure_valid_dict
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - is_valid_dict
    - g_variant_dict_init
    - memcmp
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean ensure_valid_dict (GVariantDict *dict) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_string_scan
      Src: /src/glib/glib/gvariant.c:5021,1
    - Dst: g_variant_dup_string
      Src: /src/glib/glib/gvariant.c:5031,1
    - Dst: g_variant_iter_new
      Src: /src/glib/glib/gvariant.c:5022,1
    - Dst: g_variant_get_string
      Src: /src/glib/glib/gvariant.c:5026,1
    - Dst: g_variant_scan_convenience
      Src: /src/glib/glib/gvariant.c:5039,1
    - Dst: g_variant_get_strv
      Src: /src/glib/glib/gvariant.c:5044,1
    - Dst: g_variant_dup_strv
      Src: /src/glib/glib/gvariant.c:5046,1
    - Dst: g_variant_get_objv
      Src: /src/glib/glib/gvariant.c:5052,1
    - Dst: g_variant_dup_objv
      Src: /src/glib/glib/gvariant.c:5054,1
    - Dst: g_variant_get_bytestring_array
      Src: /src/glib/glib/gvariant.c:5060,1
    - Dst: g_variant_dup_bytestring_array
      Src: /src/glib/glib/gvariant.c:5062,1
    - Dst: g_variant_get_variant
      Src: /src/glib/glib/gvariant.c:5084,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gvariant.c:5087,1
    - Dst: g_variant_type_string_scan
      Src: /src/glib/glib/gvariant.c:5075,1
    - Dst: g_variant_ref
      Src: /src/glib/glib/gvariant.c:5081,1
    - Dst: g_variant_dup_bytestring
      Src: /src/glib/glib/gvariant.c:5070,1
    - Dst: g_variant_get_bytestring
      Src: /src/glib/glib/gvariant.c:5068,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 28
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - gchar**
    - GVariant*
    constantsTouched: []
    func_position:
      end: 5089
      start: 5014
    functionDepth: 0
    functionLinenumber: 5014
    functionLinenumberEnd: 5089
    functionName: g_variant_valist_get_nnp
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_ref
    - g_variant_type_string_scan
    - g_variant_get_strv
    - g_variant_scan_convenience
    - g_variant_dup_bytestring
    - g_variant_get_bytestring_array
    - g_variant_get_variant
    - g_variant_dup_objv
    - g_variant_get_bytestring
    - g_variant_get_objv
    - g_variant_get_string
    - g_assert_not_reached
    - g_variant_dup_strv
    - g_variant_iter_new
    - g_variant_dup_bytestring_array
    - g_variant_dup_string
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer g_variant_valist_get_nnp (const gchar **str, GVariant
      *value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gvariant.c:5637,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gvariant.c:5638,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gvariant.c:5639,1
    - Dst: strchr
      Src: /src/glib/glib/gvariant.c:5642,1
    - Dst: valid_format_string
      Src: /src/glib/glib/gvariant.c:5637,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/gvariant.c:5643,1
    - Dst: g_variant_valist_get
      Src: /src/glib/glib/gvariant.c:5645,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 4
    argNames:
    - value
    - format_string
    - endptr
    - app
    argTypes:
    - GVariant*
    - gchar*
    - gchar**
    - va_list*
    constantsTouched: []
    func_position:
      end: 5649
      start: 5631
    functionDepth: 0
    functionLinenumber: 5631
    functionLinenumberEnd: 5649
    functionName: g_variant_get_va
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - valid_format_string
    - g_return_if_fail
    - g_variant_valist_get
    - strchr
    - g_variant_get_data
    linkageType: ''
    returnType: void
    signature: 'void g_variant_get_va (GVariant *value, const gchar *format_string,
      const gchar **endptr, va_list *app) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TYPE_CHECK
      Src: /src/glib/glib/gvariant.c:365,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/gvariant.c:367,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 370
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 370
    functionName: g_variant_get_boolean
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - TYPE_CHECK
    - g_variant_get_data
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_variant_get_boolean (GVariant *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:3053,1
    - Dst: is_valid_iter
      Src: /src/glib/glib/gvariant.c:3053,1
    - Dst: GVSI
      Src: /src/glib/glib/gvariant.c:3056,1
    - Dst: GVSI
      Src: /src/glib/glib/gvariant.c:3055,1
    - Dst: g_variant_iter_new
      Src: /src/glib/glib/gvariant.c:3055,1
    - Dst: GVSI
      Src: /src/glib/glib/gvariant.c:3056,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3059
      start: 3048
    functionDepth: 0
    functionLinenumber: 3048
    functionLinenumberEnd: 3059
    functionName: g_variant_iter_copy
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - GVSI
    - is_valid_iter
    - g_return_val_if_fail
    - g_variant_iter_new
    linkageType: ''
    returnType: GVariantIter*
    signature: 'GVariantIter *g_variant_iter_copy (GVariantIter *iter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_val_if_invalid_dict
      Src: /src/glib/glib/gvariant.c:4161,1
    - Dst: GVSD
      Src: /src/glib/glib/gvariant.c:4164,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:4162,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/gvariant.c:4164,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/glib/gvariant.c:4166,1
    - Dst: g_variant_ref
      Src: /src/glib/glib/gvariant.c:4167,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4170
      start: 4154
    functionDepth: 0
    functionLinenumber: 4154
    functionLinenumberEnd: 4170
    functionName: g_variant_dict_lookup_value
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - return_val_if_invalid_dict
    - g_return_val_if_fail
    - g_variant_is_of_type
    - g_hash_table_lookup
    - GVSD
    - g_variant_ref
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_dict_lookup_value (GVariantDict *dict, const gchar
      *key, const GVariantType *expected_type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 3
    argNames:
    - str
    - constant
    - arrays
    argTypes:
    - gchar**
    - gboolean*
    - guint*
    constantsTouched: []
    func_position:
      end: 4879
      start: 4858
    functionDepth: 0
    functionLinenumber: 4858
    functionLinenumberEnd: 4879
    functionName: g_variant_scan_convenience
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar
    signature: 'static gchar g_variant_scan_convenience (const gchar **str, gboolean
      *constant, guint *arrays) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_format_string_is_leaf
      Src: /src/glib/glib/gvariant.c:5289,1
    - Dst: va_arg
      Src: /src/glib/glib/gvariant.c:5297,1
    - Dst: g_variant_valist_skip_leaf
      Src: /src/glib/glib/gvariant.c:5290,1
    - Dst: g_variant_valist_skip
      Src: /src/glib/glib/gvariant.c:5299,1
    - Dst: g_variant_format_string_is_nnp
      Src: /src/glib/glib/gvariant.c:5296,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant.c:5303,1
    - Dst: g_variant_valist_skip
      Src: /src/glib/glib/gvariant.c:5306,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 2
    argNames:
    - str
    - app
    argTypes:
    - gchar**
    - va_list*
    constantsTouched: []
    func_position:
      end: 5309
      start: 5285
    functionDepth: 0
    functionLinenumber: 5285
    functionLinenumberEnd: 5309
    functionName: g_variant_valist_skip
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_valist_skip
    - g_variant_format_string_is_leaf
    - g_assert
    - g_variant_valist_skip_leaf
    - va_arg
    - g_variant_format_string_is_nnp
    linkageType: ''
    returnType: void
    signature: 'static void g_variant_valist_skip (const gchar **str, va_list *app) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_builder_end
      Src: /src/glib/glib/gvariant.c:4896,1
    - Dst: g_variant_get_type
      Src: /src/glib/glib/gvariant.c:4897,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/glib/gvariant.c:4911,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant.c:4912,1
    - Dst: g_variant_new_signature
      Src: /src/glib/glib/gvariant.c:4951,1
    - Dst: g_variant_new_strv
      Src: /src/glib/glib/gvariant.c:4962,1
    - Dst: g_variant_new_objv
      Src: /src/glib/glib/gvariant.c:4965,1
    - Dst: g_variant_type_dup_string
      Src: /src/glib/glib/gvariant.c:4976,1
    - Dst: g_error
      Src: /src/glib/glib/gvariant.c:4977,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/glib/gvariant.c:4979,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/glib/gvariant.c:5002,1
    - Dst: g_variant_type_is_tuple
      Src: /src/glib/glib/gvariant.c:4999,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gvariant.c:5010,1
    - Dst: g_variant_type_string_scan
      Src: /src/glib/glib/gvariant.c:4915,1
    - Dst: g_error
      Src: /src/glib/glib/gvariant.c:4928,1
    - Dst: g_variant_new_object_path
      Src: /src/glib/glib/gvariant.c:4948,1
    - Dst: g_variant_new_bytestring
      Src: /src/glib/glib/gvariant.c:4970,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/glib/gvariant.c:4974,1
    - Dst: g_variant_get_type
      Src: /src/glib/glib/gvariant.c:4991,1
    - Dst: g_error
      Src: /src/glib/glib/gvariant.c:4900,1
    - Dst: g_variant_type_is_array
      Src: /src/glib/glib/gvariant.c:4899,1
    - Dst: g_variant_type_element
      Src: /src/glib/glib/gvariant.c:4904,1
    - Dst: g_variant_type_is_subtype_of
      Src: /src/glib/glib/gvariant.c:4906,1
    - Dst: g_variant_type_dup_string
      Src: /src/glib/glib/gvariant.c:4908,1
    - Dst: g_error
      Src: /src/glib/glib/gvariant.c:4909,1
    - Dst: g_variant_type_string_scan
      Src: /src/glib/glib/gvariant.c:4925,1
    - Dst: g_variant_new_string
      Src: /src/glib/glib/gvariant.c:4939,1
    - Dst: g_variant_new_string
      Src: /src/glib/glib/gvariant.c:4942,1
    - Dst: g_variant_new_bytestring_array
      Src: /src/glib/glib/gvariant.c:4968,1
    - Dst: g_variant_type_is_basic
      Src: /src/glib/glib/gvariant.c:4991,1
    - Dst: g_variant_new_variant
      Src: /src/glib/glib/gvariant.c:5007,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant.c:4980,1
    - Dst: g_variant_get_type
      Src: /src/glib/glib/gvariant.c:4999,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/glib/gvariant.c:4902,1
    - Dst: g_variant_type_is_definite
      Src: /src/glib/glib/gvariant.c:4927,1
    - Dst: g_variant_new_array
      Src: /src/glib/glib/gvariant.c:4932,1
    - Dst: g_variant_scan_convenience
      Src: /src/glib/glib/gvariant.c:4959,1
    - Dst: g_variant_type_string_scan
      Src: /src/glib/glib/gvariant.c:4983,1
    - Dst: g_error
      Src: /src/glib/glib/gvariant.c:4992,1
    - Dst: g_error
      Src: /src/glib/glib/gvariant.c:5000,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/glib/gvariant.c:4994,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5012
      start: 4881
    functionDepth: 0
    functionLinenumber: 4881
    functionLinenumberEnd: 5012
    functionName: g_variant_valist_new_nnp
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_scan_convenience
    - g_variant_new_bytestring_array
    - g_variant_type_is_basic
    - g_error
    - g_variant_new_object_path
    - g_variant_type_string_scan
    - g_variant_type_is_definite
    - g_variant_type_is_array
    - g_variant_new_signature
    - g_variant_is_of_type
    - g_variant_type_dup_string
    - g_variant_get_type_string
    - g_variant_type_element
    - g_variant_builder_end
    - g_variant_new_bytestring
    - g_variant_get_type
    - g_assert_not_reached
    - g_variant_new_variant
    - g_variant_type_is_subtype_of
    - g_variant_new_strv
    - g_variant_type_is_tuple
    - g_variant_new_objv
    - g_variant_new_string
    - g_variant_new_array
    - g_free
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_variant_valist_new_nnp (const gchar **str, gpointer
      ptr) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_format_string_is_leaf
      Src: /src/glib/glib/gvariant.c:5315,1
    - Dst: va_arg
      Src: /src/glib/glib/gvariant.c:5327,1
    - Dst: g_variant_format_string_is_nnp
      Src: /src/glib/glib/gvariant.c:5325,1
    - Dst: g_variant_valist_new_nnp
      Src: /src/glib/glib/gvariant.c:5330,1
    - Dst: g_variant_valist_new_leaf
      Src: /src/glib/glib/gvariant.c:5316,1
    - Dst: g_variant_format_string_scan_type
      Src: /src/glib/glib/gvariant.c:5332,1
    - Dst: va_arg
      Src: /src/glib/glib/gvariant.c:5336,1
    - Dst: g_variant_valist_new
      Src: /src/glib/glib/gvariant.c:5339,1
    - Dst: g_variant_format_string_scan_type
      Src: /src/glib/glib/gvariant.c:5342,1
    - Dst: g_variant_valist_skip
      Src: /src/glib/glib/gvariant.c:5343,1
    - Dst: g_variant_new_maybe
      Src: /src/glib/glib/gvariant.c:5347,1
    - Dst: g_variant_type_free
      Src: /src/glib/glib/gvariant.c:5350,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/glib/gvariant.c:5368,1
    - Dst: g_variant_builder_init_static
      Src: /src/glib/glib/gvariant.c:5359,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant.c:5362,1
    - Dst: g_variant_builder_init_static
      Src: /src/glib/glib/gvariant.c:5363,1
    - Dst: g_variant_valist_new
      Src: /src/glib/glib/gvariant.c:5368,1
    - Dst: g_variant_builder_end
      Src: /src/glib/glib/gvariant.c:5371,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5373
      start: 5311
    functionDepth: 0
    functionLinenumber: 5311
    functionLinenumberEnd: 5373
    functionName: g_variant_valist_new
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_valist_skip
    - g_variant_type_free
    - g_variant_format_string_is_leaf
    - g_variant_valist_new_nnp
    - g_assert
    - g_variant_builder_init_static
    - g_variant_format_string_scan_type
    - g_variant_new_maybe
    - g_variant_builder_add_value
    - va_arg
    - g_variant_format_string_is_nnp
    - g_variant_valist_new_leaf
    - g_variant_valist_new
    - g_variant_builder_end
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_variant_valist_new (const gchar **str, va_list
      *app) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GVSI
      Src: /src/glib/glib/gvariant.c:3020,1
    - Dst: GVSI
      Src: /src/glib/glib/gvariant.c:3022,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/gvariant.c:3022,1
    - Dst: GVSI
      Src: /src/glib/glib/gvariant.c:3021,1
    - Dst: GVSI
      Src: /src/glib/glib/gvariant.c:3023,1
    - Dst: GVSI
      Src: /src/glib/glib/gvariant.c:3024,1
    - Dst: GVSI
      Src: /src/glib/glib/gvariant.c:3026,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - iter
    - value
    argTypes:
    - GVariantIter*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 3027
      start: 3016
    functionDepth: 0
    functionLinenumber: 3016
    functionLinenumberEnd: 3027
    functionName: g_variant_iter_init
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_n_children
    - GVSI
    linkageType: ''
    returnType: gsize
    signature: 'gsize g_variant_iter_init (GVariantIter *iter, GVariant *value) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/gvariant.c:4677,1
    - Dst: g_variant_type_string_is_valid
      Src: /src/glib/glib/gvariant.c:4690,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant.c:4690,1
    - Dst: g_malloc
      Src: /src/glib/glib/gvariant.c:4680,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4693
      start: 4665
    functionDepth: 0
    functionLinenumber: 4665
    functionLinenumberEnd: 4693
    functionName: g_variant_format_string_scan_type
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_variant_format_string_scan
    - g_variant_type_string_is_valid
    - g_malloc
    linkageType: ''
    returnType: GVariantType*
    signature: 'GVariantType *g_variant_format_string_scan_type (const gchar *string,
      const gchar *limit, const gchar **endptr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/glib/glib/gvariant.c:6204,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/gvariant.c:6217,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant.c:6222,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gvariant.c:6224,1
    - Dst: g_variant_get_type_info
      Src: /src/glib/glib/gvariant.c:6202,1
    - Dst: g_variant_get_depth
      Src: /src/glib/glib/gvariant.c:6205,1
    - Dst: g_variant_store
      Src: /src/glib/glib/gvariant.c:6208,1
    - Dst: g_variant_serialised_byteswap
      Src: /src/glib/glib/gvariant.c:6210,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/gvariant.c:6213,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gvariant.c:6213,1
    - Dst: g_variant_is_trusted
      Src: /src/glib/glib/gvariant.c:6222,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/gvariant.c:6203,1
    - Dst: g_bytes_new_take
      Src: /src/glib/glib/gvariant.c:6212,1
    - Dst: g_variant_deep_copy
      Src: /src/glib/glib/gvariant.c:6217,1
    - Dst: g_variant_get_type_info
      Src: /src/glib/glib/gvariant.c:6190,1
    - Dst: g_variant_is_normal_form
      Src: /src/glib/glib/gvariant.c:6194,1
    - Dst: g_variant_type_info_query
      Src: /src/glib/glib/gvariant.c:6192,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/glib/gvariant.c:6220,1
    - Dst: g_variant_get_type
      Src: /src/glib/glib/gvariant.c:6213,1
    - Dst: g_variant_new_take_bytes
      Src: /src/glib/glib/gvariant.c:6213,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6225
      start: 6183
    functionDepth: 0
    functionLinenumber: 6183
    functionLinenumberEnd: 6225
    functionName: g_variant_byteswap
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - g_variant_new_take_bytes
    - g_steal_pointer
    - g_variant_is_normal_form
    - g_variant_get_type
    - g_assert
    - g_variant_serialised_byteswap
    - g_variant_get_type_info
    - g_variant_get_size
    - g_variant_type_info_query
    - g_malloc
    - g_variant_get_depth
    - g_variant_get_normal_form
    - g_bytes_new_take
    - g_variant_store
    - g_variant_is_trusted
    - g_variant_deep_copy
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_byteswap (GVariant *value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:1219,1
    - Dst: g_variant_type_is_definite
      Src: /src/glib/glib/gvariant.c:1219,1
    - Dst: g_variant_type_new_array
      Src: /src/glib/glib/gvariant.c:1222,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:1220,1
    - Dst: g_variant_type_info_get
      Src: /src/glib/glib/gvariant.c:1223,1
    - Dst: g_variant_type_info_query_element
      Src: /src/glib/glib/gvariant.c:1224,1
    - Dst: g_critical
      Src: /src/glib/glib/gvariant.c:1228,1
    - Dst: g_critical
      Src: /src/glib/glib/gvariant.c:1232,1
    - Dst: g_memdup2
      Src: /src/glib/glib/gvariant.c:1236,1
    - Dst: g_variant_new_from_data
      Src: /src/glib/glib/gvariant.c:1237,1
    - Dst: g_variant_type_info_unref
      Src: /src/glib/glib/gvariant.c:1242,1
    - Dst: g_variant_type_free
      Src: /src/glib/glib/gvariant.c:1241,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1207
    functionDepth: 0
    functionLinenumber: 1207
    functionLinenumberEnd: 1245
    functionName: g_variant_new_fixed_array
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_type_is_definite
    - g_return_val_if_fail
    - g_variant_type_info_query_element
    - g_variant_type_free
    - g_variant_new_from_data
    - g_critical
    - g_variant_type_info_unref
    - g_memdup2
    - g_variant_type_info_get
    - g_variant_type_new_array
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_new_fixed_array (const GVariantType *element_type,
      gconstpointer elements, gsize n_elements, gsize element_size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3382,1
    - Dst: g_variant_type_free
      Src: /src/glib/glib/gvariant.c:3389,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3389,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3388,1
    - Dst: return_if_invalid_builder
      Src: /src/glib/glib/gvariant.c:3386,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3391,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:3392,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3392,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant.c:3394,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3394,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3398,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gvariant.c:3399,1
    - Dst: g_variant_builder_clear
      Src: /src/glib/glib/gvariant.c:3398,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3399,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3396,1
    - Dst: memset
      Src: /src/glib/glib/gvariant.c:3402,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - builder
    argTypes:
    - GVariantBuilder*
    constantsTouched: []
    func_position:
      end: 3403
      start: 3377
    functionDepth: 0
    functionLinenumber: 3377
    functionLinenumberEnd: 3403
    functionName: g_variant_builder_clear
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - memset
    - g_variant_type_free
    - g_variant_builder_clear
    - GVSB
    - g_variant_unref
    - return_if_invalid_builder
    - g_slice_free
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_variant_builder_clear (GVariantBuilder *builder) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get_type_string
      Src: /src/glib/glib/gvariant.c:4584,1
    - Dst: strchr
      Src: /src/glib/glib/gvariant.c:4615,1
    - Dst: g_critical
      Src: /src/glib/glib/gvariant.c:4596,1
    - Dst: g_variant_type_string_scan
      Src: /src/glib/glib/gvariant.c:4628,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 17
    argCount: 3
    argNames:
    - value
    - format_string
    - copy_only
    argTypes:
    - GVariant*
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 4641
      start: 4564
    functionDepth: 0
    functionLinenumber: 4564
    functionLinenumberEnd: 4641
    functionName: g_variant_check_format_string
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - strchr
    - g_variant_type_string_scan
    - g_critical
    - g_variant_get_type_string
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_variant_check_format_string (GVariant *value, const gchar
      *format_string, gboolean copy_only) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_is_normal_form
      Src: /src/glib/glib/gvariant.c:6148,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant.c:6152,1
    - Dst: g_variant_ref
      Src: /src/glib/glib/gvariant.c:6149,1
    - Dst: g_variant_deep_copy
      Src: /src/glib/glib/gvariant.c:6151,1
    - Dst: g_variant_is_trusted
      Src: /src/glib/glib/gvariant.c:6152,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/gvariant.c:6154,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6155
      start: 6143
    functionDepth: 0
    functionLinenumber: 6143
    functionLinenumberEnd: 6155
    functionName: g_variant_get_normal_form
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - g_variant_is_normal_form
    - g_assert
    - g_variant_is_trusted
    - g_variant_deep_copy
    - g_variant_ref
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_get_normal_form (GVariant *value) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3417,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3433,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3425,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3434,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3432,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3440,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3458,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3461,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3462,1
    - Dst: g_variant_type_n_items
      Src: /src/glib/glib/gvariant.c:3466,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3470,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3459,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3468,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3460,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3470,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3467,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3486,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gvariant.c:3410,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gvariant.c:3411,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3415,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3418,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3426,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3427,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3431,1
    - Dst: g_variant_type_key
      Src: /src/glib/glib/gvariant.c:3452,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3453,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3466,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3469,1
    - Dst: g_new
      Src: /src/glib/glib/gvariant.c:3488,1
    - Dst: g_variant_type_is_container
      Src: /src/glib/glib/gvariant.c:3411,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3424,1
    - Dst: g_variant_type_element
      Src: /src/glib/glib/gvariant.c:3443,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3444,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3445,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3450,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3451,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3452,1
    - Dst: g_variant_type_first
      Src: /src/glib/glib/gvariant.c:3468,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3469,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3454,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gvariant.c:3475,1
    - Dst: g_new0
      Src: /src/glib/glib/gvariant.c:3485,1
    - Dst: memset
      Src: /src/glib/glib/gvariant.c:3413,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3416,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3423,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3435,1
    - Dst: g_variant_type_element
      Src: /src/glib/glib/gvariant.c:3434,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3436,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3441,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3442,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3443,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3449,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3485,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3471,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3489,1
    - Dst: GVSB
      Src: /src/glib/glib/gvariant.c:3488,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 97
    argCount: 3
    argNames:
    - builder
    - type
    - type_owned
    argTypes:
    - GVariantBuilder*
    - GVariantType*
    - gboolean
    constantsTouched: []
    func_position:
      end: 3491
      start: 3405
    functionDepth: 0
    functionLinenumber: 3405
    functionLinenumberEnd: 3491
    functionName: _g_variant_builder_init
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_new
    - g_return_if_fail
    - g_variant_type_n_items
    - g_variant_type_key
    - g_assert_not_reached
    - GVSB
    - g_variant_type_first
    - g_variant_type_element
    - g_variant_type_is_container
    - g_new0
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void _g_variant_builder_init (GVariantBuilder *builder, const
      GVariantType *type, gboolean type_owned) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TYPE_CHECK
      Src: /src/glib/glib/gvariant.c:1144,1
    - Dst: g_variant_get_type_info
      Src: /src/glib/glib/gvariant.c:1149,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:1147,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:1146,1
    - Dst: g_variant_type_info_query_element
      Src: /src/glib/glib/gvariant.c:1150,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:1152,1
    - Dst: g_critical
      Src: /src/glib/glib/gvariant.c:1157,1
    - Dst: g_critical
      Src: /src/glib/glib/gvariant.c:1163,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/gvariant.c:1168,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/gvariant.c:1169,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - value
    - n_elements
    - element_size
    argTypes:
    - GVariant*
    - gsize*
    - gsize
    constantsTouched: []
    func_position:
      end: 1180
      start: 1134
    functionDepth: 0
    functionLinenumber: 1134
    functionLinenumberEnd: 1180
    functionName: g_variant_get_fixed_array
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_variant_type_info_query_element
    - g_variant_get_type_info
    - g_variant_get_size
    - g_critical
    - g_variant_get_data
    - TYPE_CHECK
    linkageType: ''
    returnType: gconstpointer
    signature: 'gconstpointer g_variant_get_fixed_array (GVariant *value, gsize *n_elements,
      gsize element_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:1305,1
    - Dst: g_bytes_new_take
      Src: /src/glib/glib/gvariant.c:1309,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gvariant.c:1310,1
    - Dst: g_utf8_validate
      Src: /src/glib/glib/gvariant.c:1307,1
    - Dst: g_variant_new_take_bytes
      Src: /src/glib/glib/gvariant.c:1310,1
    - Dst: g_critical
      Src: /src/glib/glib/gvariant.c:1313,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1316
      start: 1300
    functionDepth: 0
    functionLinenumber: 1300
    functionLinenumberEnd: 1316
    functionName: g_variant_new_take_string
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_new_take_bytes
    - g_steal_pointer
    - g_return_val_if_fail
    - g_bytes_new_take
    - g_critical
    - g_utf8_validate
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_new_take_string (gchar *string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:1370,1
    - Dst: strlen
      Src: /src/glib/glib/gvariant.c:1373,1
    - Dst: g_variant_new_from_trusted
      Src: /src/glib/glib/gvariant.c:1372,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/glib/gvariant.c:1370,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1374
      start: 1367
    functionDepth: 0
    functionLinenumber: 1367
    functionLinenumberEnd: 1374
    functionName: g_variant_new_object_path
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_is_object_path
    - g_return_val_if_fail
    - strlen
    - g_variant_new_from_trusted
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_new_object_path (const gchar *object_path) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:1481,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/glib/gvariant.c:1485,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/glib/gvariant.c:1483,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:1482,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/glib/gvariant.c:1484,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/gvariant.c:1487,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/gvariant.c:1488,1
    - Dst: g_variant_is_trusted
      Src: /src/glib/glib/gvariant.c:1490,1
    - Dst: g_variant_classify
      Src: /src/glib/glib/gvariant.c:1492,1
    - Dst: g_variant_serialiser_is_string
      Src: /src/glib/glib/gvariant.c:1495,1
    - Dst: g_variant_serialiser_is_object_path
      Src: /src/glib/glib/gvariant.c:1503,1
    - Dst: g_variant_serialiser_is_signature
      Src: /src/glib/glib/gvariant.c:1511,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gvariant.c:1519,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1527
      start: 1474
    functionDepth: 0
    functionLinenumber: 1474
    functionLinenumberEnd: 1527
    functionName: g_variant_get_string
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_variant_classify
    - g_variant_is_of_type
    - g_variant_serialiser_is_string
    - g_variant_serialiser_is_signature
    - g_variant_get_size
    - g_assert_not_reached
    - g_variant_get_data
    - g_variant_is_trusted
    - g_variant_serialiser_is_object_path
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_variant_get_string (GVariant *value, gsize *length) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get_bytestring
      Src: /src/glib/glib/gvariant.c:1915,1
    - Dst: g_memdup2
      Src: /src/glib/glib/gvariant.c:1927,1
    - Dst: strlen
      Src: /src/glib/glib/gvariant.c:1922,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1928
      start: 1911
    functionDepth: 0
    functionLinenumber: 1911
    functionLinenumberEnd: 1928
    functionName: g_variant_dup_bytestring
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_memdup2
    - g_variant_get_bytestring
    - strlen
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_variant_dup_bytestring (GVariant *value, gsize *length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_is_subtype_of
      Src: /src/glib/glib/gvariant.c:2130,1
    - Dst: g_variant_get_type
      Src: /src/glib/glib/gvariant.c:2130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - value
    - type
    argTypes:
    - GVariant*
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 2131
      start: 2126
    functionDepth: 0
    functionLinenumber: 2126
    functionLinenumberEnd: 2131
    functionName: g_variant_is_of_type
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_type_is_subtype_of
    - g_variant_get_type
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_variant_is_of_type (GVariant *value, const GVariantType
      *type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gvariant.c:5584,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/gvariant.c:5589,1
    - Dst: valid_format_string
      Src: /src/glib/glib/gvariant.c:5585,1
    - Dst: strchr
      Src: /src/glib/glib/gvariant.c:5588,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gvariant.c:5585,1
    - Dst: va_start
      Src: /src/glib/glib/gvariant.c:5591,1
    - Dst: g_variant_get_va
      Src: /src/glib/glib/gvariant.c:5592,1
    - Dst: va_end
      Src: /src/glib/glib/gvariant.c:5593,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - value
    - format_string
    - '...'
    argTypes:
    - GVariant*
    - gchar*
    constantsTouched: []
    func_position:
      end: 5594
      start: 5577
    functionDepth: 0
    functionLinenumber: 5577
    functionLinenumberEnd: 5594
    functionName: g_variant_get
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - valid_format_string
    - g_return_if_fail
    - g_variant_get_va
    - strchr
    - va_end
    - g_variant_get_data
    - va_start
    linkageType: ''
    returnType: void
    signature: 'void g_variant_get (GVariant *value, const gchar *format_string, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:1267,1
    - Dst: g_utf8_validate
      Src: /src/glib/glib/gvariant.c:1269,1
    - Dst: g_critical
      Src: /src/glib/glib/gvariant.c:1273,1
    - Dst: g_variant_new_from_trusted
      Src: /src/glib/glib/gvariant.c:1270,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1262
    functionDepth: 0
    functionLinenumber: 1262
    functionLinenumberEnd: 1276
    functionName: g_variant_new_string
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_utf8_validate
    - g_return_val_if_fail
    - g_critical
    - g_variant_new_from_trusted
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_new_string (const gchar *string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:1343,1
    - Dst: va_start
      Src: /src/glib/glib/gvariant.c:1345,1
    - Dst: va_end
      Src: /src/glib/glib/gvariant.c:1347,1
    - Dst: g_bytes_new_take
      Src: /src/glib/glib/gvariant.c:1349,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/glib/gvariant.c:1346,1
    - Dst: strlen
      Src: /src/glib/glib/gvariant.c:1349,1
    - Dst: g_variant_new_take_bytes
      Src: /src/glib/glib/gvariant.c:1350,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gvariant.c:1350,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1353
      start: 1334
    functionDepth: 0
    functionLinenumber: 1334
    functionLinenumberEnd: 1353
    functionName: g_variant_new_printf
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_strdup_vprintf
    - g_variant_new_take_bytes
    - g_steal_pointer
    - g_return_val_if_fail
    - strlen
    - g_bytes_new_take
    - va_end
    - va_start
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_new_printf (const gchar *format_string, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:1440,1
    - Dst: strlen
      Src: /src/glib/glib/gvariant.c:1442,1
    - Dst: g_variant_serialiser_is_signature
      Src: /src/glib/glib/gvariant.c:1442,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1443
      start: 1437
    functionDepth: 0
    functionLinenumber: 1437
    functionLinenumberEnd: 1443
    functionName: g_variant_is_signature
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_variant_serialiser_is_signature
    - strlen
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_variant_is_signature (const gchar *string) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TYPE_CHECK
      Src: /src/glib/glib/gvariant.c:1883,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/gvariant.c:1886,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/gvariant.c:1887,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1893
      start: 1877
    functionDepth: 0
    functionLinenumber: 1877
    functionLinenumberEnd: 1893
    functionName: g_variant_get_bytestring
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - TYPE_CHECK
    - g_variant_get_size
    - g_variant_get_data
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_variant_get_bytestring (GVariant *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:2108,1
    - Dst: g_variant_type_info_get_type_string
      Src: /src/glib/glib/gvariant.c:2112,1
    - Dst: g_variant_get_type_info
      Src: /src/glib/glib/gvariant.c:2110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2113
      start: 2103
    functionDepth: 0
    functionLinenumber: 2103
    functionLinenumberEnd: 2113
    functionName: g_variant_get_type_string
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_get_type_info
    - g_return_val_if_fail
    - g_variant_type_info_get_type_string
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_variant_get_type_string (GVariant *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:5540,1
    - Dst: valid_format_string
      Src: /src/glib/glib/gvariant.c:5540,1
    - Dst: g_variant_valist_new
      Src: /src/glib/glib/gvariant.c:5544,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:5542,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5550
      start: 5533
    functionDepth: 0
    functionLinenumber: 5533
    functionLinenumberEnd: 5550
    functionName: g_variant_new_va
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - valid_format_string
    - g_variant_valist_new
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_new_va (const gchar *format_string, const gchar
      **endptr, va_list *app) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_n_children
      Src: /src/glib/glib/gvariant.c:5956,1
    - Dst: g_variant_get_type
      Src: /src/glib/glib/gvariant.c:5954,1
    - Dst: g_variant_deep_copy
      Src: /src/glib/glib/gvariant.c:5959,1
    - Dst: g_variant_get_type
      Src: /src/glib/glib/gvariant.c:5995,1
    - Dst: g_variant_maybe_get_child_value
      Src: /src/glib/glib/gvariant.c:6002,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/glib/gvariant.c:6014,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/glib/gvariant.c:6010,1
    - Dst: g_variant_get_boolean
      Src: /src/glib/glib/gvariant.c:6032,1
    - Dst: g_variant_new_byte
      Src: /src/glib/glib/gvariant.c:6035,1
    - Dst: GUINT16_SWAP_LE_BE
      Src: /src/glib/glib/gvariant.c:6039,1
    - Dst: g_variant_new_handle
      Src: /src/glib/glib/gvariant.c:6077,1
    - Dst: g_variant_get_uint64
      Src: /src/glib/glib/gvariant.c:6071,1
    - Dst: GUINT16_SWAP_LE_BE
      Src: /src/glib/glib/gvariant.c:6045,1
    - Dst: g_variant_new_uint32
      Src: /src/glib/glib/gvariant.c:6057,1
    - Dst: g_variant_get_double
      Src: /src/glib/glib/gvariant.c:6089,1
    - Dst: g_variant_get_string
      Src: /src/glib/glib/gvariant.c:6097,1
    - Dst: g_variant_get_uint32
      Src: /src/glib/glib/gvariant.c:6057,1
    - Dst: GUINT32_SWAP_LE_BE
      Src: /src/glib/glib/gvariant.c:6051,1
    - Dst: g_variant_new_double
      Src: /src/glib/glib/gvariant.c:6094,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/gvariant.c:5958,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:5960,1
    - Dst: g_variant_builder_end
      Src: /src/glib/glib/gvariant.c:5963,1
    - Dst: g_variant_deep_copy
      Src: /src/glib/glib/gvariant.c:6010,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/gvariant.c:6018,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/gvariant.c:6019,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/glib/gvariant.c:6020,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gvariant.c:6023,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gvariant.c:6026,1
    - Dst: g_variant_new_int32
      Src: /src/glib/glib/gvariant.c:6053,1
    - Dst: GUINT64_SWAP_LE_BE
      Src: /src/glib/glib/gvariant.c:6069,1
    - Dst: g_variant_new_string
      Src: /src/glib/glib/gvariant.c:6097,1
    - Dst: g_variant_new_object_path
      Src: /src/glib/glib/gvariant.c:6100,1
    - Dst: g_variant_new_int64
      Src: /src/glib/glib/gvariant.c:6063,1
    - Dst: GUINT64_SWAP_LE_BE
      Src: /src/glib/glib/gvariant.c:6090,1
    - Dst: g_variant_new_int64
      Src: /src/glib/glib/gvariant.c:6065,1
    - Dst: g_variant_get_handle
      Src: /src/glib/glib/gvariant.c:6075,1
    - Dst: g_variant_get_uint32
      Src: /src/glib/glib/gvariant.c:6059,1
    - Dst: g_variant_new_signature
      Src: /src/glib/glib/gvariant.c:6103,1
    - Dst: g_variant_new_handle
      Src: /src/glib/glib/gvariant.c:6075,1
    - Dst: g_variant_new_double
      Src: /src/glib/glib/gvariant.c:6091,1
    - Dst: g_variant_classify
      Src: /src/glib/glib/gvariant.c:5944,1
    - Dst: g_variant_builder_end
      Src: /src/glib/glib/gvariant.c:6028,1
    - Dst: g_variant_new_boolean
      Src: /src/glib/glib/gvariant.c:6032,1
    - Dst: g_variant_get_byte
      Src: /src/glib/glib/gvariant.c:6035,1
    - Dst: g_variant_new_int16
      Src: /src/glib/glib/gvariant.c:6039,1
    - Dst: g_variant_get_int16
      Src: /src/glib/glib/gvariant.c:6039,1
    - Dst: g_variant_new_int16
      Src: /src/glib/glib/gvariant.c:6041,1
    - Dst: g_variant_new_uint16
      Src: /src/glib/glib/gvariant.c:6045,1
    - Dst: g_variant_get_uint16
      Src: /src/glib/glib/gvariant.c:6045,1
    - Dst: g_variant_get_uint16
      Src: /src/glib/glib/gvariant.c:6047,1
    - Dst: g_variant_get_int32
      Src: /src/glib/glib/gvariant.c:6051,1
    - Dst: g_variant_get_handle
      Src: /src/glib/glib/gvariant.c:6077,1
    - Dst: g_variant_new_uint64
      Src: /src/glib/glib/gvariant.c:6071,1
    - Dst: g_variant_get_int64
      Src: /src/glib/glib/gvariant.c:6063,1
    - Dst: GUINT32_SWAP_LE_BE
      Src: /src/glib/glib/gvariant.c:6057,1
    - Dst: g_variant_get_int16
      Src: /src/glib/glib/gvariant.c:6041,1
    - Dst: g_variant_new_int32
      Src: /src/glib/glib/gvariant.c:6051,1
    - Dst: g_variant_builder_init_static
      Src: /src/glib/glib/gvariant.c:5954,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/glib/gvariant.c:5959,1
    - Dst: g_variant_builder_init_static
      Src: /src/glib/glib/gvariant.c:5995,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/gvariant.c:5997,1
    - Dst: g_variant_deep_copy
      Src: /src/glib/glib/gvariant.c:6019,1
    - Dst: g_variant_get_int32
      Src: /src/glib/glib/gvariant.c:6053,1
    - Dst: g_variant_new_uint64
      Src: /src/glib/glib/gvariant.c:6069,1
    - Dst: g_variant_get_double
      Src: /src/glib/glib/gvariant.c:6094,1
    - Dst: g_variant_get_string
      Src: /src/glib/glib/gvariant.c:6100,1
    - Dst: g_variant_get_uint64
      Src: /src/glib/glib/gvariant.c:6069,1
    - Dst: g_variant_get_string
      Src: /src/glib/glib/gvariant.c:6103,1
    - Dst: GUINT64_SWAP_LE_BE
      Src: /src/glib/glib/gvariant.c:6063,1
    - Dst: g_variant_new_uint16
      Src: /src/glib/glib/gvariant.c:6047,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gvariant.c:6106,1
    - Dst: g_variant_get_int64
      Src: /src/glib/glib/gvariant.c:6065,1
    - Dst: GUINT32_SWAP_LE_BE
      Src: /src/glib/glib/gvariant.c:6075,1
    - Dst: g_variant_new_uint32
      Src: /src/glib/glib/gvariant.c:6059,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 99
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6107
      start: 5940
    functionDepth: 0
    functionLinenumber: 5940
    functionLinenumberEnd: 6107
    functionName: g_variant_deep_copy
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - GUINT64_SWAP_LE_BE
    - g_variant_get_handle
    - g_variant_new_handle
    - g_variant_get_double
    - g_variant_new_int64
    - GUINT32_SWAP_LE_BE
    - g_variant_new_uint32
    - g_variant_new_object_path
    - g_variant_get_int16
    - g_variant_new_byte
    - g_variant_new_signature
    - g_variant_builder_init_static
    - g_variant_get_string
    - g_clear_pointer
    - g_variant_unref
    - g_variant_new_int32
    - g_variant_get_uint64
    - g_variant_new_double
    - g_variant_classify
    - g_variant_builder_end
    - g_variant_get_child_value
    - g_variant_get_boolean
    - g_variant_new_boolean
    - GUINT16_SWAP_LE_BE
    - g_variant_get_type
    - g_variant_get_int32
    - g_variant_get_int64
    - g_assert_not_reached
    - g_variant_deep_copy
    - g_variant_get_byte
    - g_variant_get_uint16
    - g_variant_new_uint64
    - g_variant_ref_sink
    - g_variant_get_uint32
    - g_variant_n_children
    - g_variant_new_int16
    - g_variant_builder_add_value
    - g_variant_new_uint16
    - g_variant_new_string
    - g_variant_maybe_get_child_value
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_variant_deep_copy (GVariant *value, gboolean byteswap) '
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: next_char
      Src: /src/glib/glib/gvariant.c:4427,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/gvariant.c:4443,1
    - Dst: g_variant_type_string_scan
      Src: /src/glib/glib/gvariant.c:4439,1
    - Dst: next_char
      Src: /src/glib/glib/gvariant.c:4462,1
    - Dst: next_char
      Src: /src/glib/glib/gvariant.c:4475,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/gvariant.c:4435,1
    - Dst: next_char
      Src: /src/glib/glib/gvariant.c:4450,1
    - Dst: next_char
      Src: /src/glib/glib/gvariant.c:4511,1
    - Dst: next_char
      Src: /src/glib/glib/gvariant.c:4509,1
    - Dst: next_char
      Src: /src/glib/glib/gvariant.c:4454,1
    - Dst: strchr
      Src: /src/glib/glib/gvariant.c:4468,1
    - Dst: next_char
      Src: /src/glib/glib/gvariant.c:4487,1
    - Dst: next_char
      Src: /src/glib/glib/gvariant.c:4497,1
    - Dst: next_char
      Src: /src/glib/glib/gvariant.c:4481,1
    - Dst: next_char
      Src: /src/glib/glib/gvariant.c:4483,1
    - Dst: next_char
      Src: /src/glib/glib/gvariant.c:4485,1
    - Dst: next_char
      Src: /src/glib/glib/gvariant.c:4519,1
    - Dst: peek_char
      Src: /src/glib/glib/gvariant.c:4442,1
    - Dst: next_char
      Src: /src/glib/glib/gvariant.c:4446,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/gvariant.c:4472,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 78
    argCount: 3
    argNames:
    - string
    - limit
    - endptr
    argTypes:
    - gchar*
    - gchar*
    - gchar**
    constantsTouched: []
    func_position:
      end: 4537
      start: 4418
    functionDepth: 0
    functionLinenumber: 4418
    functionLinenumberEnd: 4537
    functionName: g_variant_format_string_scan
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_type_string_scan
    - next_char
    - strchr
    - g_variant_format_string_scan
    - peek_char
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_variant_format_string_scan (const gchar *string, const
      gchar *limit, const gchar **endptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_new_array
      Src: /src/glib/glib/gvariant.c:3755,1
    - Dst: g_variant_get_type
      Src: /src/glib/glib/gvariant.c:3755,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3756
      start: 3752
    functionDepth: 0
    functionLinenumber: 3752
    functionLinenumberEnd: 3756
    functionName: g_variant_make_array_type
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_get_type
    - g_variant_type_new_array
    linkageType: ''
    returnType: GVariantType*
    signature: 'static GVariantType *g_variant_make_array_type (GVariant *element) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gvariant.c:4381,1
    - Dst: is_valid_heap_dict
      Src: /src/glib/glib/gvariant.c:4381,1
    - Dst: g_variant_dict_clear
      Src: /src/glib/glib/gvariant.c:4385,1
    - Dst: g_free_sized
      Src: /src/glib/glib/gvariant.c:4386,1
    - Dst: GVHD
      Src: /src/glib/glib/gvariant.c:4383,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - dict
    argTypes:
    - GVariantDict*
    constantsTouched: []
    func_position:
      end: 4388
      start: 4378
    functionDepth: 0
    functionLinenumber: 4378
    functionLinenumberEnd: 4388
    functionName: g_variant_dict_unref
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - is_valid_heap_dict
    - g_return_if_fail
    - GVHD
    - g_free_sized
    - g_variant_dict_clear
    linkageType: ''
    returnType: void
    signature: 'void g_variant_dict_unref (GVariantDict *dict) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GVSI
      Src: /src/glib/glib/gvariant.c:5906,1
    - Dst: GVSI
      Src: /src/glib/glib/gvariant.c:5916,1
    - Dst: GVSI
      Src: /src/glib/glib/gvariant.c:5911,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:5910,1
    - Dst: TYPE_CHECK
      Src: /src/glib/glib/gvariant.c:5916,1
    - Dst: GVSI
      Src: /src/glib/glib/gvariant.c:5917,1
    - Dst: strchr
      Src: /src/glib/glib/gvariant.c:5919,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/gvariant.c:5920,1
    - Dst: GVSI
      Src: /src/glib/glib/gvariant.c:5920,1
    - Dst: g_variant_iter_next_value
      Src: /src/glib/glib/gvariant.c:5923,1
    - Dst: g_variant_valist_get
      Src: /src/glib/glib/gvariant.c:5930,1
    - Dst: valid_format_string
      Src: /src/glib/glib/gvariant.c:5926,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant.c:5934,1
    - Dst: va_start
      Src: /src/glib/glib/gvariant.c:5929,1
    - Dst: va_end
      Src: /src/glib/glib/gvariant.c:5931,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant.c:5925,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - iter
    - format_string
    - '...'
    argTypes:
    - GVariantIter*
    - gchar*
    constantsTouched: []
    func_position:
      end: 5937
      start: 5901
    functionDepth: 0
    functionLinenumber: 5901
    functionLinenumberEnd: 5937
    functionName: g_variant_iter_loop
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - va_start
    - g_return_val_if_fail
    - valid_format_string
    - g_variant_valist_get
    - strchr
    - g_variant_unref
    - g_variant_iter_next_value
    - va_end
    - g_variant_get_data
    - TYPE_CHECK
    - GVSI
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_variant_iter_loop (GVariantIter *iter, const gchar *format_string,
      ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - str
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 4801
      start: 4797
    functionDepth: 0
    functionLinenumber: 4797
    functionLinenumberEnd: 4801
    functionName: g_variant_format_string_is_leaf
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_variant_format_string_is_leaf (const gchar *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_new_maybe
      Src: /src/glib/glib/gvariant.c:3743,1
    - Dst: g_variant_get_type
      Src: /src/glib/glib/gvariant.c:3743,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3744
      start: 3740
    functionDepth: 0
    functionLinenumber: 3740
    functionLinenumberEnd: 3744
    functionName: g_variant_make_maybe_type
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_type_new_maybe
    - g_variant_get_type
    linkageType: ''
    returnType: GVariantType*
    signature: 'static GVariantType *g_variant_make_maybe_type (GVariant *element) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/gvariant.c:4708,1
    - Dst: g_variant_type_free
      Src: /src/glib/glib/gvariant.c:4724,1
    - Dst: g_critical
      Src: /src/glib/glib/gvariant.c:4720,1
    - Dst: g_variant_format_string_scan_type
      Src: /src/glib/glib/gvariant.c:4712,1
    - Dst: g_critical
      Src: /src/glib/glib/gvariant.c:4717,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/glib/gvariant.c:4729,1
    - Dst: g_strndup
      Src: /src/glib/glib/gvariant.c:4734,1
    - Dst: g_variant_type_dup_string
      Src: /src/glib/glib/gvariant.c:4735,1
    - Dst: g_critical
      Src: /src/glib/glib/gvariant.c:4737,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/glib/gvariant.c:4739,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant.c:4743,1
    - Dst: g_variant_type_free
      Src: /src/glib/glib/gvariant.c:4741,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant.c:4742,1
    - Dst: g_variant_type_free
      Src: /src/glib/glib/gvariant.c:4748,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 33
    argCount: 3
    argNames:
    - format_string
    - single
    - value
    argTypes:
    - gchar*
    - gboolean
    - GVariant*
    constantsTouched: []
    func_position:
      end: 4751
      start: 4695
    functionDepth: 0
    functionLinenumber: 4695
    functionLinenumberEnd: 4751
    functionName: valid_format_string
    functionSourceFile: /src/glib/glib/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_is_of_type
    - g_variant_type_free
    - g_strndup
    - g_variant_format_string_scan_type
    - g_variant_format_string_scan
    - g_variant_type_dup_string
    - g_critical
    - g_variant_get_type_string
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean valid_format_string (const gchar *format_string, gboolean
      single, GVariant *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateEvent
      Src: /src/glib/glib/gwakeup.c:75,1
    - Dst: GetLastError
      Src: /src/glib/glib/gwakeup.c:79,1
    - Dst: g_error
      Src: /src/glib/glib/gwakeup.c:78,1
    - Dst: g_win32_error_message
      Src: /src/glib/glib/gwakeup.c:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 82
    functionName: g_wakeup_new
    functionSourceFile: /src/glib/glib/gwakeup.c
    functionUses: []
    functionsReached:
    - g_error
    - GetLastError
    - CreateEvent
    - g_win32_error_message
    linkageType: ''
    returnType: GWakeup*
    signature: 'GWakeup *g_wakeup_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ResetEvent
      Src: /src/glib/glib/gwakeup.c:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - wakeup
    argTypes:
    - GWakeup*
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: g_wakeup_acknowledge
    functionSourceFile: /src/glib/glib/gwakeup.c
    functionUses: []
    functionsReached:
    - ResetEvent
    linkageType: ''
    returnType: void
    signature: 'void g_wakeup_acknowledge (GWakeup *wakeup) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/glib/gwakeup.c:141,1
    - Dst: eventfd
      Src: /src/glib/glib/gwakeup.c:146,1
    - Dst: g_unix_set_fd_nonblocking
      Src: /src/glib/glib/gwakeup.c:163,1
    - Dst: g_error
      Src: /src/glib/glib/gwakeup.c:161,1
    - Dst: g_unix_open_pipe
      Src: /src/glib/glib/gwakeup.c:160,1
    - Dst: g_unix_set_fd_nonblocking
      Src: /src/glib/glib/gwakeup.c:164,1
    - Dst: g_error
      Src: /src/glib/glib/gwakeup.c:165,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 168
    functionName: g_wakeup_new
    functionSourceFile: /src/glib/glib/gwakeup.c
    functionUses: []
    functionsReached:
    - g_unix_open_pipe
    - eventfd
    - g_slice_new
    - g_error
    - g_unix_set_fd_nonblocking
    linkageType: ''
    returnType: GWakeup*
    signature: 'GWakeup *g_wakeup_new (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/glib/glib/gwakeup.c:215,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gwakeup.c:225,1
    - Dst: read
      Src: /src/glib/glib/gwakeup.c:224,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gwakeup.c:216,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - wakeup
    argTypes:
    - GWakeup*
    constantsTouched: []
    func_position:
      end: 227
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 227
    functionName: g_wakeup_acknowledge
    functionSourceFile: /src/glib/glib/gwakeup.c
    functionUses: []
    functionsReached:
    - read
    - G_UNLIKELY
    linkageType: ''
    returnType: void
    signature: 'void g_wakeup_acknowledge (GWakeup *wakeup) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetEvent
      Src: /src/glib/glib/gwakeup.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - wakeup
    argTypes:
    - GWakeup*
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: g_wakeup_signal
    functionSourceFile: /src/glib/glib/gwakeup.c
    functionUses: []
    functionsReached:
    - SetEvent
    linkageType: ''
    returnType: void
    signature: 'void g_wakeup_signal (GWakeup *wakeup) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CloseHandle
      Src: /src/glib/glib/gwakeup.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - wakeup
    argTypes:
    - GWakeup*
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: g_wakeup_free
    functionSourceFile: /src/glib/glib/gwakeup.c
    functionUses: []
    functionsReached:
    - CloseHandle
    linkageType: ''
    returnType: void
    signature: 'void g_wakeup_free (GWakeup *wakeup) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - wakeup
    - poll_fd
    argTypes:
    - GWakeup*
    - GPollFD*
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: g_wakeup_get_pollfd
    functionSourceFile: /src/glib/glib/gwakeup.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void g_wakeup_get_pollfd (GWakeup *wakeup, GPollFD *poll_fd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - wakeup
    - poll_fd
    argTypes:
    - GWakeup*
    - GPollFD*
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: g_wakeup_get_pollfd
    functionSourceFile: /src/glib/glib/gwakeup.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void g_wakeup_get_pollfd (GWakeup *wakeup, GPollFD *poll_fd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/glib/glib/gwakeup.c:255,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gwakeup.c:266,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gwakeup.c:256,1
    - Dst: write
      Src: /src/glib/glib/gwakeup.c:265,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - wakeup
    argTypes:
    - GWakeup*
    constantsTouched: []
    func_position:
      end: 268
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 268
    functionName: g_wakeup_signal
    functionSourceFile: /src/glib/glib/gwakeup.c
    functionUses: []
    functionsReached:
    - write
    - G_UNLIKELY
    linkageType: ''
    returnType: void
    signature: 'void g_wakeup_signal (GWakeup *wakeup) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/glib/glib/gwakeup.c:282,1
    - Dst: close
      Src: /src/glib/glib/gwakeup.c:285,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gwakeup.c:287,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - wakeup
    argTypes:
    - GWakeup*
    constantsTouched: []
    func_position:
      end: 288
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 288
    functionName: g_wakeup_free
    functionSourceFile: /src/glib/glib/gwakeup.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - close
    linkageType: ''
    returnType: void
    signature: 'void g_wakeup_free (GWakeup *wakeup) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_getenv
      Src: /src/glib/glib/gwin32.c:127,1
    - Dst: GetThreadLocale
      Src: /src/glib/glib/gwin32.c:132,1
    - Dst: g_strdup
      Src: /src/glib/glib/gwin32.c:130,1
    - Dst: g_getenv
      Src: /src/glib/glib/gwin32.c:128,1
    - Dst: g_getenv
      Src: /src/glib/glib/gwin32.c:129,1
    - Dst: GetLocaleInfoW
      Src: /src/glib/glib/gwin32.c:134,1
    - Dst: GetLocaleInfoW
      Src: /src/glib/glib/gwin32.c:135,1
    - Dst: g_strdup
      Src: /src/glib/glib/gwin32.c:136,1
    - Dst: LANGIDFROMLCID
      Src: /src/glib/glib/gwin32.c:139,1
    - Dst: PRIMARYLANGID
      Src: /src/glib/glib/gwin32.c:142,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/gwin32.c:181,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/gwin32.c:182,1
    - Dst: g_strconcat
      Src: /src/glib/glib/gwin32.c:184,1
    - Dst: g_free
      Src: /src/glib/glib/gwin32.c:187,1
    - Dst: SUBLANGID
      Src: /src/glib/glib/gwin32.c:143,1
    - Dst: g_free
      Src: /src/glib/glib/gwin32.c:186,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 190
    functionName: g_win32_getlocale
    functionSourceFile: /src/glib/glib/gwin32.c
    functionUses: []
    functionsReached:
    - SUBLANGID
    - g_strdup
    - g_strconcat
    - g_getenv
    - g_free
    - GetLocaleInfoW
    - PRIMARYLANGID
    - LANGIDFROMLCID
    - g_utf16_to_utf8
    - GetThreadLocale
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_win32_getlocale (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/gwin32.c:734,1
    - Dst: special_wchar_to_locale_encoding
      Src: /src/glib/glib/gwin32.c:747,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gwin32.c:746,1
    - Dst: GetShortPathNameW
      Src: /src/glib/glib/gwin32.c:746,1
    - Dst: special_wchar_to_locale_encoding
      Src: /src/glib/glib/gwin32.c:739,1
    - Dst: g_free
      Src: /src/glib/glib/gwin32.c:750,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 753
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 753
    functionName: g_win32_locale_filename_from_utf8
    functionSourceFile: /src/glib/glib/gwin32.c
    functionUses: []
    functionsReached:
    - g_utf8_to_utf16
    - G_N_ELEMENTS
    - special_wchar_to_locale_encoding
    - GetShortPathNameW
    - g_free
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_win32_locale_filename_from_utf8 (const gchar *utf8filename) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 827
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 827
    functionName: g_win32_get_package_installation_directory_utf8
    functionSourceFile: /src/glib/glib/gwin32.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_win32_get_package_installation_directory_utf8 (const gchar
      *package, const gchar *dll_name) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GetEnvironmentVariableW
      Src: /src/glib/glib/gwin32.c:1287,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gwin32.c:1297,1
    - Dst: _g_win32_subst_pid_and_event_w
      Src: /src/glib/glib/gwin32.c:1297,1
    - Dst: CreateEvent
      Src: /src/glib/glib/gwin32.c:1294,1
    - Dst: memset
      Src: /src/glib/glib/gwin32.c:1291,1
    - Dst: GetCurrentProcessId
      Src: /src/glib/glib/gwin32.c:1298,1
    - Dst: CloseHandle
      Src: /src/glib/glib/gwin32.c:1301,1
    - Dst: GetEnvironmentVariableW
      Src: /src/glib/glib/gwin32.c:1309,1
    - Dst: parse_catch_list
      Src: /src/glib/glib/gwin32.c:1311,1
    - Dst: g_new0
      Src: /src/glib/glib/gwin32.c:1314,1
    - Dst: parse_catch_list
      Src: /src/glib/glib/gwin32.c:1315,1
    - Dst: AddVectoredExceptionHandler
      Src: /src/glib/glib/gwin32.c:1324,1
    - Dst: GetEnvironmentVariableW
      Src: /src/glib/glib/gwin32.c:1319,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1325
      start: 1270
    functionDepth: 0
    functionLinenumber: 1270
    functionLinenumberEnd: 1325
    functionName: g_crash_handler_win32_init
    functionSourceFile: /src/glib/glib/gwin32.c
    functionUses: []
    functionsReached:
    - GetCurrentProcessId
    - _g_win32_subst_pid_and_event_w
    - AddVectoredExceptionHandler
    - G_N_ELEMENTS
    - GetEnvironmentVariableW
    - CreateEvent
    - parse_catch_list
    - CloseHandle
    - g_new0
    - memset
    linkageType: ''
    returnType: void
    signature: 'void g_crash_handler_win32_init (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 839
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 839
    functionName: g_win32_get_package_installation_subdirectory_utf8
    functionSourceFile: /src/glib/glib/gwin32.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_win32_get_package_installation_subdirectory_utf8 (const gchar
      *package, const gchar *dll_name, const gchar *subdir) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/glib/glib/gwin32.c:1074,1
    - Dst: strlen
      Src: /src/glib/glib/gwin32.c:1074,1
    - Dst: strncpy_s
      Src: /src/glib/glib/gwin32.c:1076,1
    - Dst: memset
      Src: /src/glib/glib/gwin32.c:1075,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1069
    functionDepth: 0
    functionLinenumber: 1069
    functionLinenumberEnd: 1079
    functionName: copy_chars
    functionSourceFile: /src/glib/glib/gwin32.c
    functionUses: []
    functionsReached:
    - strncpy_s
    - memset
    - MIN
    - strlen
    linkageType: ''
    returnType: char*
    signature: 'static char *copy_chars (char *buffer, gsize *buffer_size, const char
      *to_copy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RemoveVectoredExceptionHandler
      Src: /src/glib/glib/gwin32.c:1331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1334
      start: 1327
    functionDepth: 0
    functionLinenumber: 1327
    functionLinenumberEnd: 1334
    functionName: g_crash_handler_win32_deinit
    functionSourceFile: /src/glib/glib/gwin32.c
    functionUses: []
    functionsReached:
    - RemoveVectoredExceptionHandler
    linkageType: ''
    returnType: void
    signature: 'void g_crash_handler_win32_deinit (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getsockopt
      Src: /src/glib/glib/gwin32.c:1468,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - h
    argTypes:
    - HANDLE
    constantsTouched: []
    func_position:
      end: 1472
      start: 1461
    functionDepth: 0
    functionLinenumber: 1461
    functionLinenumberEnd: 1472
    functionName: g_win32_handle_is_socket
    functionSourceFile: /src/glib/glib/gwin32.c
    functionUses: []
    functionsReached:
    - getsockopt
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_win32_handle_is_socket (HANDLE h) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_win32_get_package_installation_directory
      Src: /src/glib/glib/gwin32.c:486,1
    - Dst: g_free
      Src: /src/glib/glib/gwin32.c:490,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gwin32.c:489,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 493
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 493
    functionName: g_win32_get_package_installation_subdirectory
    functionSourceFile: /src/glib/glib/gwin32.c
    functionUses: []
    functionsReached:
    - g_win32_get_package_installation_directory
    - g_free
    - g_build_filename
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_win32_get_package_installation_subdirectory (const gchar
      *package, const gchar *dll_name, const gchar *subdir) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/glib/glib/gwin32.c:1157,1
    - Dst: _ui64toa_s
      Src: /src/glib/glib/gwin32.c:1177,1
    - Dst: copy_chars
      Src: /src/glib/glib/gwin32.c:1183,1
    - Dst: copy_chars
      Src: /src/glib/glib/gwin32.c:1191,1
    - Dst: copy_chars
      Src: /src/glib/glib/gwin32.c:1182,1
    - Dst: copy_chars
      Src: /src/glib/glib/gwin32.c:1197,1
    - Dst: copy_chars
      Src: /src/glib/glib/gwin32.c:1200,1
    - Dst: _ui64toa_s
      Src: /src/glib/glib/gwin32.c:1202,1
    - Dst: copy_chars
      Src: /src/glib/glib/gwin32.c:1206,1
    - Dst: copy_chars
      Src: /src/glib/glib/gwin32.c:1208,1
    - Dst: _ui64toa_s
      Src: /src/glib/glib/gwin32.c:1217,1
    - Dst: _ui64toa_s
      Src: /src/glib/glib/gwin32.c:1221,1
    - Dst: CreateProcessW
      Src: /src/glib/glib/gwin32.c:1161,1
    - Dst: WaitForSingleObject
      Src: /src/glib/glib/gwin32.c:1171,1
    - Dst: copy_chars
      Src: /src/glib/glib/gwin32.c:1186,1
    - Dst: copy_chars
      Src: /src/glib/glib/gwin32.c:1203,1
    - Dst: copy_chars
      Src: /src/glib/glib/gwin32.c:1218,1
    - Dst: copy_chars
      Src: /src/glib/glib/gwin32.c:1222,1
    - Dst: copy_chars
      Src: /src/glib/glib/gwin32.c:1215,1
    - Dst: CloseHandle
      Src: /src/glib/glib/gwin32.c:1164,1
    - Dst: copy_chars
      Src: /src/glib/glib/gwin32.c:1175,1
    - Dst: copy_chars
      Src: /src/glib/glib/gwin32.c:1178,1
    - Dst: copy_chars
      Src: /src/glib/glib/gwin32.c:1179,1
    - Dst: copy_chars
      Src: /src/glib/glib/gwin32.c:1193,1
    - Dst: _ui64toa_s
      Src: /src/glib/glib/gwin32.c:1181,1
    - Dst: copy_chars
      Src: /src/glib/glib/gwin32.c:1212,1
    - Dst: OutputDebugStringA
      Src: /src/glib/glib/gwin32.c:1229,1
    - Dst: copy_chars
      Src: /src/glib/glib/gwin32.c:1219,1
    - Dst: IsDebuggerPresent
      Src: /src/glib/glib/gwin32.c:1133,1
    - Dst: CloseHandle
      Src: /src/glib/glib/gwin32.c:1163,1
    - Dst: memset
      Src: /src/glib/glib/gwin32.c:1156,1
    - Dst: _ui64toa_s
      Src: /src/glib/glib/gwin32.c:1185,1
    - Dst: copy_chars
      Src: /src/glib/glib/gwin32.c:1195,1
    - Dst: copy_chars
      Src: /src/glib/glib/gwin32.c:1199,1
    - Dst: copy_chars
      Src: /src/glib/glib/gwin32.c:1210,1
    - Dst: copy_chars
      Src: /src/glib/glib/gwin32.c:1214,1
    - Dst: copy_chars
      Src: /src/glib/glib/gwin32.c:1228,1
    - Dst: IsDebuggerPresent
      Src: /src/glib/glib/gwin32.c:1236,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 91
    argCount: 1
    argNames:
    - ExceptionInfo
    argTypes:
    - PEXCEPTION_POINTERS
    constantsTouched: []
    func_position:
      end: 1240
      start: 1117
    functionDepth: 0
    functionLinenumber: 1117
    functionLinenumberEnd: 1240
    functionName: g_win32_veh_handler
    functionSourceFile: /src/glib/glib/gwin32.c
    functionUses: []
    functionsReached:
    - IsDebuggerPresent
    - copy_chars
    - _ui64toa_s
    - WaitForSingleObject
    - CreateProcessW
    - OutputDebugStringA
    - CloseHandle
    - memset
    linkageType: ''
    returnType: LONG
    signature: 'static LONG __stdcall g_win32_veh_handler (PEXCEPTION_POINTERS ExceptionInfo) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gwin32.c:1382,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gwin32.c:1391,1
    - Dst: strrchr
      Src: /src/glib/glib/gwin32.c:1402,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/gwin32.c:1398,1
    - Dst: GetModuleFileNameW
      Src: /src/glib/glib/gwin32.c:1393,1
    - Dst: g_free
      Src: /src/glib/glib/gwin32.c:1405,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gwin32.c:1423,1
    - Dst: g_assert
      Src: /src/glib/glib/gwin32.c:1424,1
    - Dst: g_path_is_absolute
      Src: /src/glib/glib/gwin32.c:1424,1
    - Dst: g_file_test
      Src: /src/glib/glib/gwin32.c:1425,1
    - Dst: strrchr
      Src: /src/glib/glib/gwin32.c:1436,1
    - Dst: g_free
      Src: /src/glib/glib/gwin32.c:1442,1
    - Dst: g_find_program_in_path
      Src: /src/glib/glib/gwin32.c:1447,1
    - Dst: g_strdup
      Src: /src/glib/glib/gwin32.c:1449,1
    - Dst: g_free
      Src: /src/glib/glib/gwin32.c:1428,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1378
    functionDepth: 0
    functionLinenumber: 1378
    functionLinenumberEnd: 1453
    functionName: g_win32_find_helper_executable_path
    functionSourceFile: /src/glib/glib/gwin32.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - GetModuleFileNameW
    - g_strdup
    - G_N_ELEMENTS
    - g_assert
    - g_find_program_in_path
    - strrchr
    - g_build_filename
    - g_file_test
    - g_free
    - g_utf16_to_utf8
    - g_path_is_absolute
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_win32_find_helper_executable_path (const gchar *executable_name,
      void *dll_handle) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wcstoul
      Src: /src/glib/glib/gwin32.c:1257,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 3
    argNames:
    - catch_buffer
    - exceptions
    - num_exceptions
    argTypes:
    - wchar_t*
    - DWORD*
    - gsize
    constantsTouched: []
    func_position:
      end: 1268
      start: 1242
    functionDepth: 0
    functionLinenumber: 1242
    functionLinenumberEnd: 1268
    functionName: parse_catch_list
    functionSourceFile: /src/glib/glib/gwin32.c
    functionUses: []
    functionsReached:
    - wcstoul
    linkageType: ''
    returnType: gsize
    signature: 'static gsize parse_catch_list (const wchar_t *catch_buffer, DWORD
      *exceptions, gsize num_exceptions) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_warning
      Src: /src/glib/glib/gwin32.c:437,1
    - Dst: get_package_directory_from_module
      Src: /src/glib/glib/gwin32.c:440,1
    - Dst: get_package_directory_from_module
      Src: /src/glib/glib/gwin32.c:443,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 446
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 446
    functionName: g_win32_get_package_installation_directory
    functionSourceFile: /src/glib/glib/gwin32.c
    functionUses: []
    functionsReached:
    - g_warning
    - get_package_directory_from_module
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_win32_get_package_installation_directory (const gchar *package,
      const gchar *dll_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _chsize
      Src: /src/glib/glib/gwin32.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - fd
    - size
    argTypes:
    - gint
    - guint
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: g_win32_ftruncate
    functionSourceFile: /src/glib/glib/gwin32.c
    functionUses: []
    functionsReached:
    - _chsize
    linkageType: ''
    returnType: gint
    signature: "gint g_win32_ftruncate (gint fd,\t\t guint size) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GetModuleFileNameW
      Src: /src/glib/glib/gwin32.c:279,1
    - Dst: strrchr
      Src: /src/glib/glib/gwin32.c:284,1
    - Dst: strrchr
      Src: /src/glib/glib/gwin32.c:291,1
    - Dst: g_strdup
      Src: /src/glib/glib/gwin32.c:287,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/gwin32.c:282,1
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/glib/gwin32.c:297,1
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/glib/gwin32.c:298,1
    - Dst: g_free
      Src: /src/glib/glib/gwin32.c:305,1
    - Dst: g_free
      Src: /src/glib/glib/gwin32.c:309,1
    - Dst: cygwin_conv_to_posix_path
      Src: /src/glib/glib/gwin32.c:316,1
    - Dst: g_free
      Src: /src/glib/glib/gwin32.c:317,1
    - Dst: g_strdup
      Src: /src/glib/glib/gwin32.c:318,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 323
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 323
    functionName: g_win32_get_package_installation_directory_of_module
    functionSourceFile: /src/glib/glib/gwin32.c
    functionUses: []
    functionsReached:
    - GetModuleFileNameW
    - g_strdup
    - strrchr
    - g_ascii_strcasecmp
    - cygwin_conv_to_posix_path
    - g_free
    - g_utf16_to_utf8
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_win32_get_package_installation_directory_of_module (gpointer
      hmodule) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gwin32.c:573,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gwin32.c:574,1
    - Dst: _g_win32_call_rtl_version
      Src: /src/glib/glib/gwin32.c:579,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gwin32.c:577,1
    - Dst: g_warning
      Src: /src/glib/glib/gwin32.c:613,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 37
    argCount: 4
    argNames:
    - major
    - minor
    - spver
    - os_type
    argTypes:
    - gint
    - gint
    - gint
    - GWin32OSType
    constantsTouched: []
    func_position:
      end: 619
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 619
    functionName: g_win32_check_windows_version
    functionSourceFile: /src/glib/glib/gwin32.c
    functionUses: []
    functionsReached:
    - _g_win32_call_rtl_version
    - g_return_val_if_fail
    - g_warning
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_win32_check_windows_version (const gint major, const gint
      minor, const gint spver, const GWin32OSType os_type) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK_DEFINE_STATIC
      Src: /src/glib/glib/gwin32.c:329,1
    - Dst: g_hash_table_new
      Src: /src/glib/glib/gwin32.c:336,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gwin32.c:342,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/gwin32.c:338,1
    - Dst: G_LOCK
      Src: /src/glib/glib/gwin32.c:333,1
    - Dst: g_strdup
      Src: /src/glib/glib/gwin32.c:343,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/gwin32.c:348,1
    - Dst: GetModuleHandleW
      Src: /src/glib/glib/gwin32.c:349,1
    - Dst: g_free
      Src: /src/glib/glib/gwin32.c:350,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gwin32.c:354,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gwin32.c:369,1
    - Dst: g_win32_get_package_installation_directory_of_module
      Src: /src/glib/glib/gwin32.c:359,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gwin32.c:363,1
    - Dst: g_strdup
      Src: /src/glib/glib/gwin32.c:371,1
    - Dst: g_strdup
      Src: /src/glib/glib/gwin32.c:367,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/gwin32.c:367,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 372
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 372
    functionName: get_package_directory_from_module
    functionSourceFile: /src/glib/glib/gwin32.c
    functionUses: []
    functionsReached:
    - G_LOCK_DEFINE_STATIC
    - g_strdup
    - GetModuleHandleW
    - G_UNLOCK
    - g_utf8_to_utf16
    - g_hash_table_lookup
    - g_free
    - g_hash_table_insert
    - g_hash_table_new
    - g_win32_get_package_installation_directory_of_module
    - G_LOCK
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *get_package_directory_from_module (const gchar *module_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gwin32.c:505,1
    - Dst: GetProcAddress
      Src: /src/glib/glib/gwin32.c:517,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gwin32.c:515,1
    - Dst: g_once_init_enter
      Src: /src/glib/glib/gwin32.c:507,1
    - Dst: LoadLibraryW
      Src: /src/glib/glib/gwin32.c:514,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gwin32.c:518,1
    - Dst: memset
      Src: /src/glib/glib/gwin32.c:521,1
    - Dst: RtlGetVersion
      Src: /src/glib/glib/gwin32.c:524,1
    - Dst: FreeLibrary
      Src: /src/glib/glib/gwin32.c:527,1
    - Dst: g_once_init_leave
      Src: /src/glib/glib/gwin32.c:529,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSVERSIONINFOEXW*
    constantsTouched: []
    func_position:
      end: 535
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 535
    functionName: _g_win32_call_rtl_version
    functionSourceFile: /src/glib/glib/gwin32.c
    functionUses: []
    functionsReached:
    - LoadLibraryW
    - FreeLibrary
    - g_once_init_leave
    - g_return_val_if_fail
    - g_once_init_enter
    - GetProcAddress
    - RtlGetVersion
    - memset
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _g_win32_call_rtl_version (OSVERSIONINFOEXW *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WideCharToMultiByte
      Src: /src/glib/glib/gwin32.c:669,1
    - Dst: WideCharToMultiByte
      Src: /src/glib/glib/gwin32.c:683,1
    - Dst: g_free
      Src: /src/glib/glib/gwin32.c:694,1
    - Dst: g_malloc0
      Src: /src/glib/glib/gwin32.c:681,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 697
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 697
    functionName: special_wchar_to_locale_encoding
    functionSourceFile: /src/glib/glib/gwin32.c
    functionUses: []
    functionsReached:
    - g_free
    - WideCharToMultiByte
    - g_malloc0
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *special_wchar_to_locale_encoding (wchar_t *wstring) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: g_getenv
      Src: /src/glib/glib/gwin32.c:887,1
    - Dst: g_warning
      Src: /src/glib/glib/gwin32.c:939,1
    - Dst: fileno
      Src: /src/glib/glib/gwin32.c:944,1
    - Dst: _close
      Src: /src/glib/glib/gwin32.c:1023,1
    - Dst: _dup2
      Src: /src/glib/glib/gwin32.c:1016,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gwin32.c:887,1
    - Dst: AttachConsole
      Src: /src/glib/glib/gwin32.c:898,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gwin32.c:906,1
    - Dst: g_warning
      Src: /src/glib/glib/gwin32.c:911,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gwin32.c:914,1
    - Dst: GetStdHandle
      Src: /src/glib/glib/gwin32.c:934,1
    - Dst: _open_osfhandle
      Src: /src/glib/glib/gwin32.c:973,1
    - Dst: _dup2
      Src: /src/glib/glib/gwin32.c:1000,1
    - Dst: g_warning
      Src: /src/glib/glib/gwin32.c:1003,1
    - Dst: strerror
      Src: /src/glib/glib/gwin32.c:1004,1
    - Dst: _close
      Src: /src/glib/glib/gwin32.c:1006,1
    - Dst: g_strsplit
      Src: /src/glib/glib/gwin32.c:900,1
    - Dst: g_warning
      Src: /src/glib/glib/gwin32.c:930,1
    - Dst: ferror
      Src: /src/glib/glib/gwin32.c:928,1
    - Dst: fileno
      Src: /src/glib/glib/gwin32.c:963,1
    - Dst: g_warning
      Src: /src/glib/glib/gwin32.c:977,1
    - Dst: dup
      Src: /src/glib/glib/gwin32.c:982,1
    - Dst: g_warning
      Src: /src/glib/glib/gwin32.c:985,1
    - Dst: _close
      Src: /src/glib/glib/gwin32.c:1030,1
    - Dst: _close
      Src: /src/glib/glib/gwin32.c:1046,1
    - Dst: strerror
      Src: /src/glib/glib/gwin32.c:1020,1
    - Dst: _dup2
      Src: /src/glib/glib/gwin32.c:1043,1
    - Dst: AllocConsole
      Src: /src/glib/glib/gwin32.c:888,1
    - Dst: g_getenv
      Src: /src/glib/glib/gwin32.c:890,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gwin32.c:904,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gwin32.c:908,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gwin32.c:916,1
    - Dst: GetLastError
      Src: /src/glib/glib/gwin32.c:938,1
    - Dst: freopen
      Src: /src/glib/glib/gwin32.c:953,1
    - Dst: g_warning
      Src: /src/glib/glib/gwin32.c:956,1
    - Dst: strerror
      Src: /src/glib/glib/gwin32.c:959,1
    - Dst: g_warning
      Src: /src/glib/glib/gwin32.c:967,1
    - Dst: g_warning
      Src: /src/glib/glib/gwin32.c:1019,1
    - Dst: g_warning
      Src: /src/glib/glib/gwin32.c:1044,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 87
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1048
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 1048
    functionName: g_console_win32_init
    functionSourceFile: /src/glib/glib/gwin32.c
    functionUses: []
    functionsReached:
    - fileno
    - ferror
    - GetStdHandle
    - freopen
    - g_warning
    - strerror
    - dup
    - g_getenv
    - G_N_ELEMENTS
    - _open_osfhandle
    - _close
    - g_strfreev
    - GetLastError
    - _dup2
    - g_strcmp0
    - g_strsplit
    - AttachConsole
    - AllocConsole
    linkageType: ''
    returnType: void
    signature: 'void g_console_win32_init (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/glib/gwin32.c:650,1
    - Dst: GetVersion
      Src: /src/glib/glib/gwin32.c:651,1
    - Dst: g_once_init_leave
      Src: /src/glib/glib/gwin32.c:651,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 654
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 654
    functionName: g_win32_get_windows_version
    functionSourceFile: /src/glib/glib/gwin32.c
    functionUses: []
    functionsReached:
    - g_once_init_leave
    - g_once_init_enter
    - GetVersion
    linkageType: ''
    returnType: guint
    signature: 'guint g_win32_get_windows_version (void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/glib/gwin32.c:1501,1
    - Dst: g_win32_error_message
      Src: /src/glib/glib/gwin32.c:1514,1
    - Dst: WSAGetLastError
      Src: /src/glib/glib/gwin32.c:1527,1
    - Dst: g_set_error
      Src: /src/glib/glib/gwin32.c:1528,1
    - Dst: GetCurrentProcess
      Src: /src/glib/glib/gwin32.c:1535,1
    - Dst: g_win32_error_message
      Src: /src/glib/glib/gwin32.c:1538,1
    - Dst: g_set_error
      Src: /src/glib/glib/gwin32.c:1539,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gwin32.c:1549,1
    - Dst: g_strerror
      Src: /src/glib/glib/gwin32.c:1500,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/gwin32.c:1501,1
    - Dst: g_win32_handle_is_socket
      Src: /src/glib/glib/gwin32.c:1506,1
    - Dst: WSADuplicateSocket
      Src: /src/glib/glib/gwin32.c:1510,1
    - Dst: GetCurrentProcessId
      Src: /src/glib/glib/gwin32.c:1511,1
    - Dst: WSAGetLastError
      Src: /src/glib/glib/gwin32.c:1514,1
    - Dst: g_set_error
      Src: /src/glib/glib/gwin32.c:1515,1
    - Dst: WSASocket
      Src: /src/glib/glib/gwin32.c:1521,1
    - Dst: _open_osfhandle
      Src: /src/glib/glib/gwin32.c:1546,1
    - Dst: _get_osfhandle
      Src: /src/glib/glib/gwin32.c:1495,1
    - Dst: g_free
      Src: /src/glib/glib/gwin32.c:1530,1
    - Dst: DuplicateHandle
      Src: /src/glib/glib/gwin32.c:1534,1
    - Dst: GetCurrentProcess
      Src: /src/glib/glib/gwin32.c:1534,1
    - Dst: GetLastError
      Src: /src/glib/glib/gwin32.c:1538,1
    - Dst: g_free
      Src: /src/glib/glib/gwin32.c:1541,1
    - Dst: g_close
      Src: /src/glib/glib/gwin32.c:1558,1
    - Dst: g_free
      Src: /src/glib/glib/gwin32.c:1517,1
    - Dst: g_win32_error_message
      Src: /src/glib/glib/gwin32.c:1527,1
    - Dst: CloseHandle
      Src: /src/glib/glib/gwin32.c:1551,1
    - Dst: g_close
      Src: /src/glib/glib/gwin32.c:1555,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 3
    argNames:
    - fd
    - mode
    - error
    argTypes:
    - int
    - int
    - GError**
    constantsTouched: []
    func_position:
      end: 1563
      start: 1486
    functionDepth: 0
    functionLinenumber: 1486
    functionLinenumberEnd: 1563
    functionName: g_win32_reopen_noninherited
    functionSourceFile: /src/glib/glib/gwin32.c
    functionUses: []
    functionsReached:
    - g_set_error
    - GetCurrentProcessId
    - DuplicateHandle
    - g_win32_error_message
    - WSADuplicateSocket
    - g_strerror
    - _open_osfhandle
    - g_close
    - g_win32_handle_is_socket
    - g_file_error_from_errno
    - _get_osfhandle
    - WSAGetLastError
    - GetCurrentProcess
    - GetLastError
    - WSASocket
    - g_set_error_literal
    - CloseHandle
    - g_free
    linkageType: ''
    returnType: int
    signature: 'int g_win32_reopen_noninherited (int fd, int mode, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FormatMessageW
      Src: /src/glib/glib/gwin32.c:212,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/gwin32.c:224,1
    - Dst: LocalFree
      Src: /src/glib/glib/gwin32.c:226,1
    - Dst: wcslen
      Src: /src/glib/glib/gwin32.c:219,1
    - Dst: g_strdup
      Src: /src/glib/glib/gwin32.c:229,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 232
    functionName: g_win32_error_message
    functionSourceFile: /src/glib/glib/gwin32.c
    functionUses: []
    functionsReached:
    - g_strdup
    - FormatMessageW
    - wcslen
    - LocalFree
    - g_utf16_to_utf8
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_win32_error_message (gint error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CommandLineToArgvW
      Src: /src/glib/glib/gwin32.c:800,1
    - Dst: g_new
      Src: /src/glib/glib/gwin32.c:802,1
    - Dst: GetCommandLineW
      Src: /src/glib/glib/gwin32.c:800,1
    - Dst: LocalFree
      Src: /src/glib/glib/gwin32.c:807,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/gwin32.c:804,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 809
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 809
    functionName: g_win32_get_command_line
    functionSourceFile: /src/glib/glib/gwin32.c
    functionUses: []
    functionsReached:
    - g_new
    - CommandLineToArgvW
    - LocalFree
    - GetCommandLineW
    - g_utf16_to_utf8
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **g_win32_get_command_line (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - ckey
    - value
    argTypes:
    - GSliceConfig
    - gint64
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: g_slice_set_config
    functionSourceFile: /src/glib/glib/gslice.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void g_slice_set_config (GSliceConfig ckey, gint64 value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/glib/glib/gslice.c:192,1
    - Dst: GLIB_SLICE_ALLOC
      Src: /src/glib/glib/gslice.c:193,1
    - Dst: TRACE
      Src: /src/glib/glib/gslice.c:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - mem_size
    argTypes:
    - gsize
    constantsTouched: []
    func_position:
      end: 196
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 196
    functionName: g_slice_alloc
    functionSourceFile: /src/glib/glib/gslice.c
    functionUses: []
    functionsReached:
    - GLIB_SLICE_ALLOC
    - TRACE
    - g_malloc
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_slice_alloc (gsize mem_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: g_slice_get_config_state
    functionSourceFile: /src/glib/glib/gslice.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint64*
    signature: 'gint64 *g_slice_get_config_state (GSliceConfig ckey, gint64 address,
      guint *n_values) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_alloc
      Src: /src/glib/glib/gslice.c:244,1
    - Dst: memcpy
      Src: /src/glib/glib/gslice.c:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - mem_size
    - mem_block
    argTypes:
    - gsize
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 248
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 248
    functionName: g_slice_copy
    functionSourceFile: /src/glib/glib/gslice.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_slice_alloc
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_slice_copy (gsize mem_size, gconstpointer mem_block) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gslice.c:274,1
    - Dst: TRACE
      Src: /src/glib/glib/gslice.c:277,1
    - Dst: g_free_sized
      Src: /src/glib/glib/gslice.c:276,1
    - Dst: GLIB_SLICE_FREE
      Src: /src/glib/glib/gslice.c:277,1
    - Dst: memset
      Src: /src/glib/glib/gslice.c:275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - mem_size
    - mem_block
    argTypes:
    - gsize
    - gpointer
    constantsTouched: []
    func_position:
      end: 278
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 278
    functionName: g_slice_free1
    functionSourceFile: /src/glib/glib/gslice.c
    functionUses: []
    functionsReached:
    - TRACE
    - g_free_sized
    - G_UNLIKELY
    - GLIB_SLICE_FREE
    - memset
    linkageType: ''
    returnType: void
    signature: 'void g_slice_free1 (gsize mem_size, gpointer mem_block) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ckey
    argTypes:
    - GSliceConfig
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: g_slice_get_config
    functionSourceFile: /src/glib/glib/gslice.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint64
    signature: 'gint64 g_slice_get_config (GSliceConfig ckey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_alloc
      Src: /src/glib/glib/gslice.c:216,1
    - Dst: memset
      Src: /src/glib/glib/gslice.c:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - mem_size
    argTypes:
    - gsize
    constantsTouched: []
    func_position:
      end: 220
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 220
    functionName: g_slice_alloc0
    functionSourceFile: /src/glib/glib/gslice.c
    functionUses: []
    functionsReached:
    - memset
    - g_slice_alloc
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_slice_alloc0 (gsize mem_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gslice.c:312,1
    - Dst: g_free_sized
      Src: /src/glib/glib/gslice.c:314,1
    - Dst: memset
      Src: /src/glib/glib/gslice.c:313,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - mem_size
    - mem_chain
    - next_offset
    argTypes:
    - gsize
    - gpointer
    - gsize
    constantsTouched: []
    func_position:
      end: 316
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 316
    functionName: g_slice_free_chain_with_offset
    functionSourceFile: /src/glib/glib/gslice.c
    functionUses: []
    functionsReached:
    - memset
    - G_UNLIKELY
    - g_free_sized
    linkageType: ''
    returnType: void
    signature: 'void g_slice_free_chain_with_offset (gsize mem_size, gpointer mem_chain,
      gsize next_offset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_fprintf
      Src: /src/glib/glib/gslice.c:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 323
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 323
    functionName: g_slice_debug_tree_statistics
    functionSourceFile: /src/glib/glib/gslice.c
    functionUses: []
    functionsReached:
    - g_fprintf
    linkageType: ''
    returnType: void
    signature: 'void g_slice_debug_tree_statistics (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_lock
      Src: /src/glib/glib/gvariant-core.c:478,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-core.c:488,1
    - Dst: g_variant_unlock
      Src: /src/glib/glib/gvariant-core.c:480,1
    - Dst: g_variant_ensure_size
      Src: /src/glib/glib/gvariant-core.c:479,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-core.c:484,1
    - Dst: g_variant_store
      Src: /src/glib/glib/gvariant-core.c:506,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - serialised
    - data
    argTypes:
    - GVariantSerialised*
    - gpointer
    constantsTouched: []
    func_position:
      end: 507
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 507
    functionName: g_variant_fill_gvs
    functionSourceFile: /src/glib/glib/gvariant-core.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_variant_ensure_size
    - g_variant_lock
    - g_variant_unlock
    - g_variant_store
    linkageType: ''
    returnType: void
    signature: 'static void g_variant_fill_gvs (GVariantSerialised *serialised, gpointer
      data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_lock
      Src: /src/glib/glib/gvariant-core.c:1460,1
    - Dst: g_variant_is_normal_form
      Src: /src/glib/glib/gvariant-core.c:1476,1
    - Dst: g_variant_unlock
      Src: /src/glib/glib/gvariant-core.c:1482,1
    - Dst: g_variant_to_serialised
      Src: /src/glib/glib/gvariant-core.c:1467,1
    - Dst: g_variant_serialised_is_normal
      Src: /src/glib/glib/gvariant-core.c:1467,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 1485
      start: 1454
    functionDepth: 0
    functionLinenumber: 1454
    functionLinenumberEnd: 1485
    functionName: g_variant_is_normal_form
    functionSourceFile: /src/glib/glib/gvariant-core.c
    functionUses: []
    functionsReached:
    - g_variant_is_normal_form
    - g_variant_serialised_is_normal
    - g_variant_lock
    - g_variant_unlock
    - g_variant_to_serialised
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_variant_is_normal_form (GVariant *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bit_unlock
      Src: /src/glib/glib/gvariant-core.c:286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 287
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 287
    functionName: g_variant_unlock
    functionSourceFile: /src/glib/glib/gvariant-core.c
    functionUses: []
    functionsReached:
    - g_bit_unlock
    linkageType: ''
    returnType: void
    signature: 'static void g_variant_unlock (GVariant *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 822
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 822
    functionName: g_variant_get_type_info
    functionSourceFile: /src/glib/glib/gvariant-core.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GVariantTypeInfo*
    signature: 'GVariantTypeInfo *g_variant_get_type_info (GVariant *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 844
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 844
    functionName: g_variant_is_trusted
    functionSourceFile: /src/glib/glib/gvariant-core.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_variant_is_trusted (GVariant *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant-core.c:1019,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant-core.c:1020,1
    - Dst: GLIB_VARIANT_TAKE_REF
      Src: /src/glib/glib/gvariant-core.c:1022,1
    - Dst: g_atomic_ref_count_compare
      Src: /src/glib/glib/gvariant-core.c:1020,1
    - Dst: TRACE
      Src: /src/glib/glib/gvariant-core.c:1022,1
    - Dst: g_atomic_int_and
      Src: /src/glib/glib/gvariant-core.c:1023,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1016
    functionDepth: 0
    functionLinenumber: 1016
    functionLinenumberEnd: 1026
    functionName: g_variant_take_ref
    functionSourceFile: /src/glib/glib/gvariant-core.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_atomic_ref_count_compare
    - g_atomic_int_and
    - TRACE
    - GLIB_VARIANT_TAKE_REF
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_take_ref (GVariant *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_lock
      Src: /src/glib/glib/gvariant-core.c:1077,1
    - Dst: g_variant_ensure_size
      Src: /src/glib/glib/gvariant-core.c:1078,1
    - Dst: g_variant_unlock
      Src: /src/glib/glib/gvariant-core.c:1079,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 1082
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1082
    functionName: g_variant_get_size
    functionSourceFile: /src/glib/glib/gvariant-core.c
    functionUses: []
    functionsReached:
    - g_variant_unlock
    - g_variant_ensure_size
    - g_variant_lock
    linkageType: ''
    returnType: gsize
    signature: 'gsize g_variant_get_size (GVariant *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_lock
      Src: /src/glib/glib/gvariant-core.c:1202,1
    - Dst: g_variant_serialised_n_children
      Src: /src/glib/glib/gvariant-core.c:1205,1
    - Dst: g_variant_to_serialised
      Src: /src/glib/glib/gvariant-core.c:1206,1
    - Dst: g_variant_unlock
      Src: /src/glib/glib/gvariant-core.c:1210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 1213
      start: 1197
    functionDepth: 0
    functionLinenumber: 1197
    functionLinenumberEnd: 1213
    functionName: g_variant_n_children
    functionSourceFile: /src/glib/glib/gvariant-core.c
    functionUses: []
    functionsReached:
    - g_variant_to_serialised
    - g_variant_unlock
    - g_variant_serialised_n_children
    - g_variant_lock
    linkageType: ''
    returnType: gsize
    signature: 'gsize g_variant_n_children (GVariant *value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_lock
      Src: /src/glib/glib/gvariant-core.c:1417,1
    - Dst: memset
      Src: /src/glib/glib/gvariant-core.c:1424,1
    - Dst: g_variant_unlock
      Src: /src/glib/glib/gvariant-core.c:1429,1
    - Dst: memcpy
      Src: /src/glib/glib/gvariant-core.c:1422,1
    - Dst: g_variant_serialise
      Src: /src/glib/glib/gvariant-core.c:1427,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - value
    - data
    argTypes:
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1430
      start: 1413
    functionDepth: 0
    functionLinenumber: 1413
    functionLinenumberEnd: 1430
    functionName: g_variant_store
    functionSourceFile: /src/glib/glib/gvariant-core.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_variant_serialise
    - g_variant_lock
    - g_variant_unlock
    - memset
    linkageType: ''
    returnType: void
    signature: 'void g_variant_store (GVariant *value, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bit_lock
      Src: /src/glib/glib/gvariant-core.c:274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 275
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 275
    functionName: g_variant_lock
    functionSourceFile: /src/glib/glib/gvariant-core.c
    functionUses: []
    functionsReached:
    - g_bit_lock
    linkageType: ''
    returnType: void
    signature: 'static void g_variant_lock (GVariant *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_alloc
      Src: /src/glib/glib/gvariant-core.c:800,1
    - Dst: GLIB_VARIANT_FROM_CHILDREN
      Src: /src/glib/glib/gvariant-core.c:803,1
    - Dst: TRACE
      Src: /src/glib/glib/gvariant-core.c:803,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 806
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 806
    functionName: g_variant_new_from_children
    functionSourceFile: /src/glib/glib/gvariant-core.c
    functionUses: []
    functionsReached:
    - g_variant_alloc
    - GLIB_VARIANT_FROM_CHILDREN
    - TRACE
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_new_from_children (const GVariantType *type, GVariant
      **children, gsize n_children, gboolean trusted) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant-core.c:957,1
    - Dst: g_atomic_ref_count_compare
      Src: /src/glib/glib/gvariant-core.c:958,1
    - Dst: TRACE
      Src: /src/glib/glib/gvariant-core.c:960,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant-core.c:958,1
    - Dst: GLIB_VARIANT_REF_SINK
      Src: /src/glib/glib/gvariant-core.c:960,1
    - Dst: g_atomic_int_compare_and_exchange_full
      Src: /src/glib/glib/gvariant-core.c:968,1
    - Dst: g_atomic_ref_count_inc
      Src: /src/glib/glib/gvariant-core.c:972,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 975
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 975
    functionName: g_variant_ref_sink
    functionSourceFile: /src/glib/glib/gvariant-core.c
    functionUses: []
    functionsReached:
    - g_atomic_int_compare_and_exchange_full
    - g_return_val_if_fail
    - GLIB_VARIANT_REF_SINK
    - g_atomic_ref_count_compare
    - TRACE
    - g_atomic_ref_count_inc
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_ref_sink (GVariant *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant-core.c:1049,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 1052
      start: 1046
    functionDepth: 0
    functionLinenumber: 1046
    functionLinenumberEnd: 1052
    functionName: g_variant_is_floating
    functionSourceFile: /src/glib/glib/gvariant-core.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_variant_is_floating (GVariant *value) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant-core.c:1351,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gvariant-core.c:1353,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant-core.c:1356,1
    - Dst: g_variant_lock
      Src: /src/glib/glib/gvariant-core.c:1358,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/gvariant-core.c:1356,1
    - Dst: g_variant_ref
      Src: /src/glib/glib/gvariant-core.c:1364,1
    - Dst: g_variant_unlock
      Src: /src/glib/glib/gvariant-core.c:1365,1
    - Dst: g_variant_unlock
      Src: /src/glib/glib/gvariant-core.c:1370,1
    - Dst: g_variant_to_serialised
      Src: /src/glib/glib/gvariant-core.c:1374,1
    - Dst: g_variant_serialised_get_child
      Src: /src/glib/glib/gvariant-core.c:1380,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/gvariant-core.c:1389,1
    - Dst: g_variant_type_info_unref
      Src: /src/glib/glib/gvariant-core.c:1388,1
    - Dst: g_variant_type_info_unref
      Src: /src/glib/glib/gvariant-core.c:1384,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1391
      start: 1347
    functionDepth: 0
    functionLinenumber: 1347
    functionLinenumberEnd: 1391
    functionName: g_variant_maybe_get_child_value
    functionSourceFile: /src/glib/glib/gvariant-core.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_atomic_int_get
    - g_variant_n_children
    - g_variant_lock
    - g_variant_serialised_get_child
    - g_variant_unlock
    - g_variant_to_serialised
    - g_variant_type_info_unref
    - g_variant_get_child_value
    - g_variant_ref
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_maybe_get_child_value (GVariant *value, gsize
      index_) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-core.c:528,1
    - Dst: GLIB_VARIANT_START_SERIALISE
      Src: /src/glib/glib/gvariant-core.c:535,1
    - Dst: g_variant_ensure_size
      Src: /src/glib/glib/gvariant-core.c:536,1
    - Dst: g_malloc
      Src: /src/glib/glib/gvariant-core.c:537,1
    - Dst: TRACE
      Src: /src/glib/glib/gvariant-core.c:535,1
    - Dst: g_variant_serialise
      Src: /src/glib/glib/gvariant-core.c:538,1
    - Dst: g_variant_release_children
      Src: /src/glib/glib/gvariant-core.c:540,1
    - Dst: g_bytes_new_take
      Src: /src/glib/glib/gvariant-core.c:542,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/gvariant-core.c:543,1
    - Dst: TRACE
      Src: /src/glib/glib/gvariant-core.c:548,1
    - Dst: GLIB_VARIANT_END_SERIALISE
      Src: /src/glib/glib/gvariant-core.c:548,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 550
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 550
    functionName: g_variant_ensure_serialised
    functionSourceFile: /src/glib/glib/gvariant-core.c
    functionUses: []
    functionsReached:
    - g_variant_serialise
    - TRACE
    - g_variant_release_children
    - g_assert
    - g_variant_ensure_size
    - g_malloc
    - g_bytes_new_take
    - GLIB_VARIANT_START_SERIALISE
    - GLIB_VARIANT_END_SERIALISE
    - g_bytes_get_data
    linkageType: ''
    returnType: void
    signature: 'static void g_variant_ensure_serialised (GVariant *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-core.c:439,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-core.c:440,1
    - Dst: g_variant_serialiser_serialise
      Src: /src/glib/glib/gvariant-core.c:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - value
    - data
    argTypes:
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 454
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 454
    functionName: g_variant_serialise
    functionSourceFile: /src/glib/glib/gvariant-core.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_variant_serialiser_serialise
    linkageType: ''
    returnType: void
    signature: 'static void g_variant_serialise (GVariant *value, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_take_bytes
      Src: /src/glib/glib/gvariant-core.c:618,1
    - Dst: g_bytes_ref
      Src: /src/glib/glib/gvariant-core.c:618,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 619
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 619
    functionName: g_variant_new_from_bytes
    functionSourceFile: /src/glib/glib/gvariant-core.c
    functionUses: []
    functionsReached:
    - g_variant_new_take_bytes
    - g_bytes_ref
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_new_from_bytes (const GVariantType *type, GBytes
      *bytes, gboolean trusted) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_alloc
      Src: /src/glib/glib/gvariant-core.c:652,1
    - Dst: g_variant_type_info_query
      Src: /src/glib/glib/gvariant-core.c:654,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-core.c:656,1
    - Dst: memcpy
      Src: /src/glib/glib/gvariant-core.c:664,1
    - Dst: TRACE
      Src: /src/glib/glib/gvariant-core.c:666,1
    - Dst: GLIB_VARIANT_FROM_BUFFER
      Src: /src/glib/glib/gvariant-core.c:666,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 669
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 669
    functionName: g_variant_new_preallocated_trusted
    functionSourceFile: /src/glib/glib/gvariant-core.c
    functionUses: []
    functionsReached:
    - GLIB_VARIANT_FROM_BUFFER
    - memcpy
    - TRACE
    - g_assert
    - g_variant_type_info_query
    - g_variant_alloc
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_new_preallocated_trusted (const GVariantType *type,
      gconstpointer data, gsize size) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_lock
      Src: /src/glib/glib/gvariant-core.c:1149,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/gvariant-core.c:1154,1
    - Dst: g_variant_unlock
      Src: /src/glib/glib/gvariant-core.c:1151,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-core.c:1163,1
    - Dst: g_variant_ensure_serialised
      Src: /src/glib/glib/gvariant-core.c:1150,1
    - Dst: g_bytes_ref
      Src: /src/glib/glib/gvariant-core.c:1168,1
    - Dst: g_bytes_new_from_bytes
      Src: /src/glib/glib/gvariant-core.c:1170,1
    - Dst: g_bytes_new
      Src: /src/glib/glib/gvariant-core.c:1173,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1141
    functionDepth: 0
    functionLinenumber: 1141
    functionLinenumberEnd: 1174
    functionName: g_variant_get_data_as_bytes
    functionSourceFile: /src/glib/glib/gvariant-core.c
    functionUses: []
    functionsReached:
    - g_bytes_new
    - g_assert
    - g_variant_ensure_serialised
    - g_variant_lock
    - g_variant_unlock
    - g_bytes_ref
    - g_bytes_new_from_bytes
    - g_bytes_get_data
    linkageType: ''
    returnType: GBytes*
    signature: 'GBytes *g_variant_get_data_as_bytes (GVariant *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-core.c:306,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-core.c:307,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/gvariant-core.c:310,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-core.c:312,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 313
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 313
    functionName: g_variant_release_children
    functionSourceFile: /src/glib/glib/gvariant-core.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_variant_unref
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void g_variant_release_children (GVariant *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-core.c:406,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 418
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 418
    functionName: g_variant_to_serialised
    functionSourceFile: /src/glib/glib/gvariant-core.c
    functionUses: []
    functionsReached:
    - g_assert
    linkageType: ''
    returnType: GVariantSerialised
    signature: 'inline static GVariantSerialised g_variant_to_serialised (GVariant
      *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-core.c:382,1
    - Dst: g_variant_serialiser_needed_size
      Src: /src/glib/glib/gvariant-core.c:391,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 395
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 395
    functionName: g_variant_ensure_size
    functionSourceFile: /src/glib/glib/gvariant-core.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_variant_serialiser_needed_size
    linkageType: ''
    returnType: void
    signature: 'static void g_variant_ensure_size (GVariant *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_size_checked_add
      Src: /src/glib/glib/gvariant-core.c:578,1
    - Dst: g_variant_type_info_get
      Src: /src/glib/glib/gvariant-core.c:582,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-core.c:579,1
    - Dst: g_atomic_ref_count_init
      Src: /src/glib/glib/gvariant-core.c:587,1
    - Dst: g_malloc
      Src: /src/glib/glib/gvariant-core.c:581,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 591
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 591
    functionName: g_variant_alloc
    functionSourceFile: /src/glib/glib/gvariant-core.c
    functionUses: []
    functionsReached:
    - g_size_checked_add
    - g_assert
    - g_malloc
    - g_atomic_ref_count_init
    - g_variant_type_info_get
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_variant_alloc (const GVariantType *type, gboolean
      serialised, gboolean trusted, gsize suffix_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 859
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 859
    functionName: g_variant_get_depth
    functionSourceFile: /src/glib/glib/gvariant-core.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gsize
    signature: 'gsize g_variant_get_depth (GVariant *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_lock
      Src: /src/glib/glib/gvariant-core.c:1121,1
    - Dst: g_variant_unlock
      Src: /src/glib/glib/gvariant-core.c:1123,1
    - Dst: g_variant_ensure_serialised
      Src: /src/glib/glib/gvariant-core.c:1122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 1126
      start: 1118
    functionDepth: 0
    functionLinenumber: 1118
    functionLinenumberEnd: 1126
    functionName: g_variant_get_data
    functionSourceFile: /src/glib/glib/gvariant-core.c
    functionUses: []
    functionsReached:
    - g_variant_unlock
    - g_variant_ensure_serialised
    - g_variant_lock
    linkageType: ''
    returnType: gconstpointer
    signature: 'gconstpointer g_variant_get_data (GVariant *value) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_n_children
      Src: /src/glib/glib/gvariant-core.c:1257,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant-core.c:1257,1
    - Dst: g_variant_unlock
      Src: /src/glib/glib/gvariant-core.c:1266,1
    - Dst: g_variant_serialised_get_child
      Src: /src/glib/glib/gvariant-core.c:1282,1
    - Dst: MAX
      Src: /src/glib/glib/gvariant-core.c:1286,1
    - Dst: g_atomic_ref_count_init
      Src: /src/glib/glib/gvariant-core.c:1309,1
    - Dst: MAX
      Src: /src/glib/glib/gvariant-core.c:1285,1
    - Dst: g_variant_type_info_query_depth
      Src: /src/glib/glib/gvariant-core.c:1295,1
    - Dst: g_variant_new_tuple
      Src: /src/glib/glib/gvariant-core.c:1300,1
    - Dst: TRACE
      Src: /src/glib/glib/gvariant-core.c:1317,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gvariant-core.c:1254,1
    - Dst: g_variant_ref
      Src: /src/glib/glib/gvariant-core.c:1265,1
    - Dst: g_variant_to_serialised
      Src: /src/glib/glib/gvariant-core.c:1275,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/glib/gvariant-core.c:1298,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant-core.c:1252,1
    - Dst: g_variant_lock
      Src: /src/glib/glib/gvariant-core.c:1259,1
    - Dst: g_variant_unlock
      Src: /src/glib/glib/gvariant-core.c:1271,1
    - Dst: g_new
      Src: /src/glib/glib/gvariant-core.c:1304,1
    - Dst: g_variant_type_info_unref
      Src: /src/glib/glib/gvariant-core.c:1299,1
    - Dst: g_assert
      Src: /src/glib/glib/gvariant-core.c:1298,1
    - Dst: g_bytes_ref
      Src: /src/glib/glib/gvariant-core.c:1312,1
    - Dst: GLIB_VARIANT_FROM_PARENT
      Src: /src/glib/glib/gvariant-core.c:1317,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1321
      start: 1248
    functionDepth: 0
    functionLinenumber: 1248
    functionLinenumberEnd: 1321
    functionName: g_variant_get_child_value
    functionSourceFile: /src/glib/glib/gvariant-core.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_variant_unlock
    - g_variant_is_of_type
    - g_variant_type_info_unref
    - GLIB_VARIANT_FROM_PARENT
    - g_new
    - g_variant_new_tuple
    - MAX
    - g_atomic_ref_count_init
    - g_return_val_if_fail
    - TRACE
    - g_variant_n_children
    - g_assert
    - g_variant_lock
    - g_variant_serialised_get_child
    - g_variant_to_serialised
    - g_variant_type_info_query_depth
    - g_bytes_ref
    - g_variant_ref
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_get_child_value (GVariant *value, gsize index_) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gvariant-core.c:912,1
    - Dst: g_atomic_ref_count_inc
      Src: /src/glib/glib/gvariant-core.c:916,1
    - Dst: TRACE
      Src: /src/glib/glib/gvariant-core.c:914,1
    - Dst: GLIB_VARIANT_REF
      Src: /src/glib/glib/gvariant-core.c:914,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 919
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 919
    functionName: g_variant_ref
    functionSourceFile: /src/glib/glib/gvariant-core.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_atomic_ref_count_inc
    - TRACE
    - GLIB_VARIANT_REF
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_ref (GVariant *value) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_alloc
      Src: /src/glib/glib/gvariant-core.c:692,1
    - Dst: posix_memalign
      Src: /src/glib/glib/gvariant-core.c:724,1
    - Dst: g_error
      Src: /src/glib/glib/gvariant-core.c:726,1
    - Dst: memcpy
      Src: /src/glib/glib/gvariant-core.c:729,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/gvariant-core.c:729,1
    - Dst: TRACE
      Src: /src/glib/glib/gvariant-core.c:771,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/gvariant-core.c:742,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gvariant-core.c:769,1
    - Dst: g_bytes_get_size
      Src: /src/glib/glib/gvariant-core.c:713,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/gvariant-core.c:704,1
    - Dst: g_variant_type_info_query
      Src: /src/glib/glib/gvariant-core.c:694,1
    - Dst: g_bytes_new
      Src: /src/glib/glib/gvariant-core.c:742,1
    - Dst: g_bytes_get_size
      Src: /src/glib/glib/gvariant-core.c:743,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/gvariant-core.c:763,1
    - Dst: GLIB_VARIANT_FROM_BUFFER
      Src: /src/glib/glib/gvariant-core.c:771,1
    - Dst: g_bytes_new_with_free_func
      Src: /src/glib/glib/gvariant-core.c:732,1
    - Dst: g_variant_serialised_check
      Src: /src/glib/glib/gvariant-core.c:709,1
    - Dst: MAX
      Src: /src/glib/glib/gvariant-core.c:724,1
    - Dst: g_bytes_get_size
      Src: /src/glib/glib/gvariant-core.c:749,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 774
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 774
    functionName: g_variant_new_take_bytes
    functionSourceFile: /src/glib/glib/gvariant-core.c
    functionUses: []
    functionsReached:
    - GLIB_VARIANT_FROM_BUFFER
    - memcpy
    - g_bytes_new
    - TRACE
    - g_variant_serialised_check
    - g_variant_type_info_query
    - MAX
    - g_clear_pointer
    - g_bytes_get_size
    - g_variant_alloc
    - g_error
    - g_bytes_new_with_free_func
    - g_bytes_get_data
    - posix_memalign
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_variant_new_take_bytes (const GVariantType *type, GBytes
      *bytes, gboolean trusted) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gvariant-core.c:875,1
    - Dst: TRACE
      Src: /src/glib/glib/gvariant-core.c:877,1
    - Dst: g_atomic_ref_count_dec
      Src: /src/glib/glib/gvariant-core.c:879,1
    - Dst: GLIB_VARIANT_UNREF
      Src: /src/glib/glib/gvariant-core.c:877,1
    - Dst: g_critical
      Src: /src/glib/glib/gvariant-core.c:882,1
    - Dst: g_variant_type_info_unref
      Src: /src/glib/glib/gvariant-core.c:887,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/gvariant-core.c:890,1
    - Dst: g_variant_release_children
      Src: /src/glib/glib/gvariant-core.c:892,1
    - Dst: memset
      Src: /src/glib/glib/gvariant-core.c:894,1
    - Dst: g_free
      Src: /src/glib/glib/gvariant-core.c:895,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 897
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 897
    functionName: g_variant_unref
    functionSourceFile: /src/glib/glib/gvariant-core.c
    functionUses: []
    functionsReached:
    - TRACE
    - g_atomic_ref_count_dec
    - g_return_if_fail
    - g_variant_release_children
    - GLIB_VARIANT_UNREF
    - g_free
    - g_bytes_unref
    - g_critical
    - g_variant_type_info_unref
    - memset
    linkageType: ''
    returnType: void
    signature: 'void g_variant_unref (GVariant *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_futex_simple
      Src: /src/glib/glib/gbitlock.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - address
    - value
    argTypes:
    - gint*
    - gint
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: g_futex_wait
    functionSourceFile: /src/glib/glib/gbitlock.c
    functionUses: []
    functionsReached:
    - g_futex_simple
    linkageType: ''
    returnType: void
    signature: 'static void g_futex_wait (const gint *address, gint value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gbitlock.c:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - address
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: bit_lock_contended_class
    functionSourceFile: /src/glib/glib/gbitlock.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline guint bit_lock_contended_class (gpointer
      address) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gbitlock.c:231,1
    - Dst: g_futex_wait
      Src: /src/glib/glib/gbitlock.c:237,1
    - Dst: g_atomic_int_add
      Src: /src/glib/glib/gbitlock.c:238,1
    - Dst: bit_lock_contended_class
      Src: /src/glib/glib/gbitlock.c:234,1
    - Dst: g_atomic_int_add
      Src: /src/glib/glib/gbitlock.c:236,1
    - Dst: g_atomic_int_or
      Src: /src/glib/glib/gbitlock.c:247,1
    - Dst: bit_lock_contended_class
      Src: /src/glib/glib/gbitlock.c:251,1
    - Dst: g_atomic_int_add
      Src: /src/glib/glib/gbitlock.c:253,1
    - Dst: g_futex_wait
      Src: /src/glib/glib/gbitlock.c:254,1
    - Dst: g_atomic_int_add
      Src: /src/glib/glib/gbitlock.c:255,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - address
    - lock_bit
    argTypes:
    - gint*
    - gint
    constantsTouched: []
    func_position:
      end: 260
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 260
    functionName: g_bit_lock
    functionSourceFile: /src/glib/glib/gbitlock.c
    functionUses: []
    functionsReached:
    - g_atomic_int_or
    - g_futex_wait
    - g_atomic_int_get
    - bit_lock_contended_class
    - g_atomic_int_add
    linkageType: ''
    returnType: void
    signature: 'void g_bit_lock (volatile gint *address, gint lock_bit) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_STATIC_ASSERT
      Src: /src/glib/glib/gbitlock.c:387,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 397
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 397
    functionName: g_futex_int_address
    functionSourceFile: /src/glib/glib/gbitlock.c
    functionUses: []
    functionsReached:
    - G_STATIC_ASSERT
    linkageType: ''
    returnType: gint*
    signature: 'static const gint *g_futex_int_address (const void *address) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 5
    argNames:
    - ptr
    - lock_bit
    - set
    - preserve_mask
    - preserve_ptr
    argTypes:
    - gpointer
    - guint
    - gboolean
    - guintptr
    - gpointer
    constantsTouched: []
    func_position:
      end: 422
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 422
    functionName: pointer_bit_lock_mask_ptr
    functionSourceFile: /src/glib/glib/gbitlock.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline gpointer pointer_bit_lock_mask_ptr (gpointer
      ptr, guint lock_bit, gboolean set, guintptr preserve_mask, gpointer preserve_ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbitlock.c:539,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbitlock.c:559,1
    - Dst: g_atomic_pointer_or
      Src: /src/glib/glib/gbitlock.c:561,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - address
    - lock_bit
    argTypes:
    - void*
    - gint
    constantsTouched: []
    func_position:
      end: 566
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 566
    functionName: (g_pointer_bit_trylock)
    functionSourceFile: /src/glib/glib/gbitlock.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_atomic_pointer_or
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean (g_pointer_bit_trylock) (volatile void *address, gint lock_bit) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gbitlock.c:643,1
    - Dst: pointer_bit_lock_mask_ptr
      Src: /src/glib/glib/gbitlock.c:645,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - ptr
    - lock_bit
    - set
    - preserve_mask
    - preserve_ptr
    argTypes:
    - gpointer
    - guint
    - gboolean
    - guintptr
    - gpointer
    constantsTouched: []
    func_position:
      end: 646
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 646
    functionName: g_pointer_bit_lock_mask_ptr
    functionSourceFile: /src/glib/glib/gbitlock.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - pointer_bit_lock_mask_ptr
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_pointer_bit_lock_mask_ptr (gpointer ptr, guint lock_bit,
      gboolean set, guintptr preserve_mask, gpointer preserve_ptr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bit_lock_contended_class
      Src: /src/glib/glib/gbitlock.c:674,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gbitlock.c:677,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/glib/gbitlock.c:681,1
    - Dst: g_atomic_pointer_compare_and_exchange_full
      Src: /src/glib/glib/gbitlock.c:685,1
    - Dst: pointer_bit_lock_mask_ptr
      Src: /src/glib/glib/gbitlock.c:684,1
    - Dst: pointer_bit_lock_mask_ptr
      Src: /src/glib/glib/gbitlock.c:690,1
    - Dst: g_atomic_pointer_set
      Src: /src/glib/glib/gbitlock.c:691,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gbitlock.c:694,1
    - Dst: g_futex_wake
      Src: /src/glib/glib/gbitlock.c:695,1
    - Dst: g_futex_int_address
      Src: /src/glib/glib/gbitlock.c:695,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gbitlock.c:702,1
    - Dst: pointer_bit_lock_mask_ptr
      Src: /src/glib/glib/gbitlock.c:702,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - address
    - lock_bit
    - ptr
    - preserve_mask
    argTypes:
    - void*
    - guint
    - gpointer
    - guintptr
    constantsTouched: []
    func_position:
      end: 703
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 703
    functionName: (g_pointer_bit_unlock_and_set)
    functionSourceFile: /src/glib/glib/gbitlock.c
    functionUses: []
    functionsReached:
    - g_atomic_pointer_compare_and_exchange_full
    - g_return_if_fail
    - g_atomic_int_get
    - bit_lock_contended_class
    - g_futex_int_address
    - pointer_bit_lock_mask_ptr
    - g_atomic_pointer_get
    - g_atomic_pointer_set
    - g_futex_wake
    linkageType: ''
    returnType: void
    signature: 'void (g_pointer_bit_unlock_and_set) (void *address, guint lock_bit,
      gpointer ptr, guintptr preserve_mask) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 120
    functionName: g_futex_find_address
    functionSourceFile: /src/glib/glib/gbitlock.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: WaitAddress*
    signature: 'static WaitAddress *g_futex_find_address (const gint *address) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gbitlock.c:166,1
    - Dst: g_futex_find_address
      Src: /src/glib/glib/gbitlock.c:167,1
    - Dst: g_cond_signal
      Src: /src/glib/glib/gbitlock.c:168,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gbitlock.c:169,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - address
    argTypes:
    - gint*
    constantsTouched: []
    func_position:
      end: 170
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 170
    functionName: g_futex_wake
    functionSourceFile: /src/glib/glib/gbitlock.c
    functionUses: []
    functionsReached:
    - g_cond_signal
    - g_futex_find_address
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void g_futex_wake (const gint *address) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gbitlock.c:126,1
    - Dst: g_slice_new
      Src: /src/glib/glib/gbitlock.c:133,1
    - Dst: g_futex_find_address
      Src: /src/glib/glib/gbitlock.c:131,1
    - Dst: g_cond_init
      Src: /src/glib/glib/gbitlock.c:135,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gbitlock.c:127,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gbitlock.c:138,1
    - Dst: g_cond_wait
      Src: /src/glib/glib/gbitlock.c:142,1
    - Dst: g_slist_remove
      Src: /src/glib/glib/gbitlock.c:147,1
    - Dst: g_cond_clear
      Src: /src/glib/glib/gbitlock.c:148,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gbitlock.c:149,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gbitlock.c:152,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - address
    - value
    argTypes:
    - gint*
    - gint
    constantsTouched: []
    func_position:
      end: 153
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 153
    functionName: g_futex_wait
    functionSourceFile: /src/glib/glib/gbitlock.c
    functionUses: []
    functionsReached:
    - g_slist_remove
    - g_atomic_int_get
    - g_cond_init
    - g_mutex_lock
    - g_mutex_unlock
    - g_cond_clear
    - g_slice_new
    - g_futex_find_address
    - g_slice_free
    - g_slist_prepend
    - g_cond_wait
    linkageType: ''
    returnType: void
    signature: 'static void g_futex_wait (const gint *address, gint value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_futex_simple
      Src: /src/glib/glib/gbitlock.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - address
    argTypes:
    - gint*
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: g_futex_wake
    functionSourceFile: /src/glib/glib/gbitlock.c
    functionUses: []
    functionsReached:
    - g_futex_simple
    linkageType: ''
    returnType: void
    signature: 'static void g_futex_wake (const gint *address) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_or
      Src: /src/glib/glib/gbitlock.c:305,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - address
    - lock_bit
    argTypes:
    - gint*
    - gint
    constantsTouched: []
    func_position:
      end: 309
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 309
    functionName: g_bit_trylock
    functionSourceFile: /src/glib/glib/gbitlock.c
    functionUses: []
    functionsReached:
    - g_atomic_int_or
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_bit_trylock (volatile gint *address, gint lock_bit) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_and
      Src: /src/glib/glib/gbitlock.c:341,1
    - Dst: g_futex_wake
      Src: /src/glib/glib/gbitlock.c:352,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gbitlock.c:351,1
    - Dst: bit_lock_contended_class
      Src: /src/glib/glib/gbitlock.c:349,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - address
    - lock_bit
    argTypes:
    - gint*
    - gint
    constantsTouched: []
    func_position:
      end: 354
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 354
    functionName: g_bit_unlock
    functionSourceFile: /src/glib/glib/gbitlock.c
    functionUses: []
    functionsReached:
    - bit_lock_contended_class
    - g_futex_wake
    - g_atomic_int_and
    - g_atomic_int_get
    linkageType: ''
    returnType: void
    signature: 'void g_bit_unlock (volatile gint *address, gint lock_bit) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bit_lock_contended_class
      Src: /src/glib/glib/gbitlock.c:446,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gbitlock.c:450,1
    - Dst: g_atomic_int_add
      Src: /src/glib/glib/gbitlock.c:471,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/glib/gbitlock.c:468,1
    - Dst: G_LIKELY
      Src: /src/glib/glib/gbitlock.c:455,1
    - Dst: g_futex_wait
      Src: /src/glib/glib/gbitlock.c:472,1
    - Dst: g_futex_int_address
      Src: /src/glib/glib/gbitlock.c:472,1
    - Dst: g_atomic_int_add
      Src: /src/glib/glib/gbitlock.c:473,1
    - Dst: g_atomic_pointer_or
      Src: /src/glib/glib/gbitlock.c:480,1
    - Dst: g_atomic_int_add
      Src: /src/glib/glib/gbitlock.c:484,1
    - Dst: g_futex_int_address
      Src: /src/glib/glib/gbitlock.c:485,1
    - Dst: g_atomic_int_add
      Src: /src/glib/glib/gbitlock.c:486,1
    - Dst: g_futex_wait
      Src: /src/glib/glib/gbitlock.c:485,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - address
    - lock_bit
    - out_ptr
    argTypes:
    - gpointer
    - guint
    - guintptr*
    constantsTouched: []
    func_position:
      end: 492
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 492
    functionName: (g_pointer_bit_lock_and_get)
    functionSourceFile: /src/glib/glib/gbitlock.c
    functionUses: []
    functionsReached:
    - g_futex_wait
    - g_return_if_fail
    - g_futex_int_address
    - bit_lock_contended_class
    - g_atomic_pointer_get
    - g_atomic_int_add
    - g_atomic_pointer_or
    - G_LIKELY
    linkageType: ''
    returnType: void
    signature: 'void (g_pointer_bit_lock_and_get) (gpointer address, guint lock_bit,
      guintptr *out_ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_pointer_bit_lock_and_get
      Src: /src/glib/glib/gbitlock.c:514,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - address
    - lock_bit
    argTypes:
    - void*
    - gint
    constantsTouched: []
    func_position:
      end: 515
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 515
    functionName: (g_pointer_bit_lock)
    functionSourceFile: /src/glib/glib/gbitlock.c
    functionUses: []
    functionsReached:
    - g_pointer_bit_lock_and_get
    linkageType: ''
    returnType: void
    signature: 'void (g_pointer_bit_lock) (volatile void *address, gint lock_bit) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gbitlock.c:590,1
    - Dst: g_atomic_pointer_and
      Src: /src/glib/glib/gbitlock.c:602,1
    - Dst: g_futex_wake
      Src: /src/glib/glib/gbitlock.c:613,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gbitlock.c:612,1
    - Dst: bit_lock_contended_class
      Src: /src/glib/glib/gbitlock.c:610,1
    - Dst: g_futex_int_address
      Src: /src/glib/glib/gbitlock.c:613,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - address
    - lock_bit
    argTypes:
    - void*
    - gint
    constantsTouched: []
    func_position:
      end: 616
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 616
    functionName: (g_pointer_bit_unlock)
    functionSourceFile: /src/glib/glib/gbitlock.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_return_if_fail
    - g_futex_int_address
    - bit_lock_contended_class
    - g_atomic_pointer_and
    - g_futex_wake
    linkageType: ''
    returnType: void
    signature: 'void (g_pointer_bit_unlock) (volatile void *address, gint lock_bit) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - stack_p
    - data_p
    argTypes:
    - GTrashStack**
    - gpointer
    constantsTouched: []
    func_position:
      end: 74
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 74
    functionName: g_trash_stack_push
    functionSourceFile: /src/glib/glib/gtrashstack.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void g_trash_stack_push (GTrashStack **stack_p, gpointer data_p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - stack_p
    argTypes:
    - GTrashStack**
    constantsTouched: []
    func_position:
      end: 145
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 145
    functionName: g_trash_stack_height
    functionSourceFile: /src/glib/glib/gtrashstack.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint
    signature: 'guint g_trash_stack_height (GTrashStack **stack_p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - stack_p
    argTypes:
    - GTrashStack**
    constantsTouched: []
    func_position:
      end: 121
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 121
    functionName: g_trash_stack_peek
    functionSourceFile: /src/glib/glib/gtrashstack.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_trash_stack_peek (GTrashStack **stack_p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - stack_p
    argTypes:
    - GTrashStack**
    constantsTouched: []
    func_position:
      end: 101
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 101
    functionName: g_trash_stack_pop
    functionSourceFile: /src/glib/glib/gtrashstack.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_trash_stack_pop (GTrashStack **stack_p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_parse_debug_envvar
      Src: /src/glib/glib/glib-init.c:401,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/glib-init.c:401,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 406
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 406
    functionName: g_debug_init
    functionSourceFile: /src/glib/glib/glib-init.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - g_parse_debug_envvar
    linkageType: ''
    returnType: void
    signature: 'static void g_debug_init (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetEnvironmentVariable
      Src: /src/glib/glib/glib-init.c:362,1
    - Dst: g_parse_debug_string
      Src: /src/glib/glib/glib-init.c:373,1
    - Dst: getenv
      Src: /src/glib/glib/glib-init.c:367,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - envvar
    - keys
    - n_keys
    - default_value
    argTypes:
    - gchar*
    - GDebugKey*
    - gint
    - guint
    constantsTouched: []
    func_position:
      end: 374
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 374
    functionName: g_parse_debug_envvar
    functionSourceFile: /src/glib/glib/glib-init.c
    functionUses: []
    functionsReached:
    - g_parse_debug_string
    - GetEnvironmentVariable
    - getenv
    linkageType: ''
    returnType: guint
    signature: 'static guint g_parse_debug_envvar (const gchar *envvar, const GDebugKey
      *keys, gint n_keys, guint default_value) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/glib/glib/glib-init.c:300,1
    - Dst: fprintf
      Src: /src/glib/glib/glib-init.c:306,1
    - Dst: fprintf
      Src: /src/glib/glib/glib-init.c:305,1
    - Dst: strpbrk
      Src: /src/glib/glib/glib-init.c:316,1
    - Dst: fprintf
      Src: /src/glib/glib/glib-init.c:303,1
    - Dst: strlen
      Src: /src/glib/glib/glib-init.c:318,1
    - Dst: debug_key_matches
      Src: /src/glib/glib/glib-init.c:320,1
    - Dst: debug_key_matches
      Src: /src/glib/glib/glib-init.c:327,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 3
    argNames:
    - string
    - keys
    - nkeys
    argTypes:
    - gchar*
    - GDebugKey*
    - guint
    constantsTouched: []
    func_position:
      end: 348
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 348
    functionName: g_parse_debug_string
    functionSourceFile: /src/glib/glib/glib-init.c
    functionUses: []
    functionsReached:
    - strcasecmp
    - strlen
    - fprintf
    - strpbrk
    - debug_key_matches
    linkageType: ''
    returnType: guint
    signature: 'guint g_parse_debug_string (const gchar *string, const GDebugKey *keys,
      guint nkeys) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_crash_handler_win32_init
      Src: /src/glib/glib/glib-init.c:438,1
    - Dst: glib_init
      Src: /src/glib/glib/glib-init.c:444,1
    - Dst: g_console_win32_init
      Src: /src/glib/glib/glib-init.c:446,1
    - Dst: g_clock_win32_init
      Src: /src/glib/glib/glib-init.c:443,1
    - Dst: g_thread_win32_init
      Src: /src/glib/glib/glib-init.c:440,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 448
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 448
    functionName: glib_win32_init
    functionSourceFile: /src/glib/glib/glib-init.c
    functionUses: []
    functionsReached:
    - g_crash_handler_win32_init
    - g_console_win32_init
    - g_clock_win32_init
    - g_thread_win32_init
    - glib_init
    linkageType: ''
    returnType: void
    signature: 'void glib_win32_init (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/glib/glib/glib-init.c:241,1
    - Dst: tolower
      Src: /src/glib/glib/glib-init.c:242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - key
    - token
    - length
    argTypes:
    - gchar*
    - gchar*
    - guint
    constantsTouched: []
    func_position:
      end: 249
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 249
    functionName: debug_key_matches
    functionSourceFile: /src/glib/glib/glib-init.c
    functionUses: []
    functionsReached:
    - tolower
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean debug_key_matches (const gchar *key, const gchar *token,
      guint length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_parse_debug_envvar
      Src: /src/glib/glib/glib-init.c:388,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/glib-init.c:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 389
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 389
    functionName: g_messages_prefixed_init
    functionSourceFile: /src/glib/glib/glib-init.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - g_parse_debug_envvar
    linkageType: ''
    returnType: void
    signature: 'static void g_messages_prefixed_init (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_messages_prefixed_init
      Src: /src/glib/glib/glib-init.c:418,1
    - Dst: g_debug_init
      Src: /src/glib/glib/glib-init.c:419,1
    - Dst: g_error_init
      Src: /src/glib/glib/glib-init.c:421,1
    - Dst: g_quark_init
      Src: /src/glib/glib/glib-init.c:420,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 422
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 422
    functionName: glib_init
    functionSourceFile: /src/glib/glib/glib-init.c
    functionUses: []
    functionsReached:
    - g_error_init
    - g_messages_prefixed_init
    - g_quark_init
    - g_debug_init
    linkageType: ''
    returnType: void
    signature: 'void glib_init (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_win32_process_detach
      Src: /src/glib/glib/glib-init.c:455,1
    - Dst: g_crash_handler_win32_deinit
      Src: /src/glib/glib/glib-init.c:457,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - detach_thread
    argTypes:
    - gboolean
    constantsTouched: []
    func_position:
      end: 458
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 458
    functionName: glib_win32_deinit
    functionSourceFile: /src/glib/glib/glib-init.c
    functionUses: []
    functionsReached:
    - g_crash_handler_win32_deinit
    - g_thread_win32_process_detach
    linkageType: ''
    returnType: void
    signature: 'static void glib_win32_deinit (gboolean detach_thread) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: glib_win32_init
      Src: /src/glib/glib/glib-init.c:475,1
    - Dst: glib_win32_deinit
      Src: /src/glib/glib/glib-init.c:485,1
    - Dst: g_thread_win32_thread_detach
      Src: /src/glib/glib/glib-init.c:480,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - hinstDLL
    - fdwReason
    - lpvReserved
    argTypes:
    - HINSTANCE
    - DWORD
    - LPVOID
    constantsTouched: []
    func_position:
      end: 494
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 494
    functionName: DllMain
    functionSourceFile: /src/glib/glib/glib-init.c
    functionUses: []
    functionsReached:
    - glib_win32_init
    - g_thread_win32_thread_detach
    - glib_win32_deinit
    linkageType: ''
    returnType: BOOL
    signature: 'BOOL WINAPI DllMain (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: glib_win32_init
      Src: /src/glib/glib/glib-init.c:513,1
    - Dst: g_critical
      Src: /src/glib/glib/glib-init.c:516,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 517
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 517
    functionName: glib_priv_constructor
    functionSourceFile: /src/glib/glib/glib-init.c
    functionUses: []
    functionsReached:
    - glib_win32_init
    - g_critical
    linkageType: ''
    returnType: G_DEFINE_CONSTRUCTOR (glib_priv_constructor)
    signature: 'G_DEFINE_CONSTRUCTOR (glib_priv_constructor) static void glib_priv_constructor
      (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_win32_thread_detach
      Src: /src/glib/glib/glib-init.c:538,1
    - Dst: glib_win32_deinit
      Src: /src/glib/glib/glib-init.c:542,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - hinstance
    - reason
    - reserved
    argTypes:
    - LPVOID
    - DWORD
    - LPVOID
    constantsTouched: []
    func_position:
      end: 548
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 548
    functionName: glib_priv_tls_callback
    functionSourceFile: /src/glib/glib/glib-init.c
    functionUses: []
    functionsReached:
    - g_thread_win32_thread_detach
    - glib_win32_deinit
    linkageType: ''
    returnType: NTAPI
    signature: 'NTAPI glib_priv_tls_callback (LPVOID hinstance, DWORD reason, LPVOID
      reserved) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glib_init
      Src: /src/glib/glib/glib-init.c:562,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 563
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 563
    functionName: glib_init_ctor
    functionSourceFile: /src/glib/glib/glib-init.c
    functionUses: []
    functionsReached:
    - glib_init
    linkageType: ''
    returnType: G_DEFINE_CONSTRUCTOR(glib_init_ctor)
    signature: 'G_DEFINE_CONSTRUCTOR(glib_init_ctor) static void glib_init_ctor (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:290,1
    - Dst: g_new
      Src: /src/glib/glib/gdate.c:292,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:301,1
    - Dst: g_assert
      Src: /src/glib/glib/gdate.c:301,1
    - Dst: g_date_valid_dmy
      Src: /src/glib/glib/gdate.c:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 304
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 304
    functionName: g_date_new_dmy
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_valid
    - g_return_val_if_fail
    - g_new
    - g_assert
    - g_date_valid_dmy
    linkageType: ''
    returnType: GDate*
    signature: 'GDate *g_date_new_dmy (GDateDay day, GDateMonth m, GDateYear y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:393,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - d
    argTypes:
    - GDate*
    constantsTouched: []
    func_position:
      end: 396
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 396
    functionName: g_date_valid
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_date_valid (const GDate *d) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:631,1
    - Dst: g_date_update_dmy
      Src: /src/glib/glib/gdate.c:634,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:636,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:631,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - d
    argTypes:
    - GDate*
    constantsTouched: []
    func_position:
      end: 639
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 639
    functionName: g_date_get_month
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_valid
    - g_return_val_if_fail
    - g_date_update_dmy
    linkageType: ''
    returnType: GDateMonth
    signature: 'GDateMonth g_date_get_month (const GDate *d) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_isdigit
      Src: /src/glib/glib/gdate.c:980,1
    - Dst: atoi
      Src: /src/glib/glib/gdate.c:999,1
    - Dst: atoi
      Src: /src/glib/glib/gdate.c:998,1
    - Dst: g_utf8_casefold
      Src: /src/glib/glib/gdate.c:1010,1
    - Dst: atoi
      Src: /src/glib/glib/gdate.c:1000,1
    - Dst: g_utf8_normalize
      Src: /src/glib/glib/gdate.c:1011,1
    - Dst: g_free
      Src: /src/glib/glib/gdate.c:1012,1
    - Dst: update_month_match
      Src: /src/glib/glib/gdate.c:1025,1
    - Dst: update_month_match
      Src: /src/glib/glib/gdate.c:1033,1
    - Dst: update_month_match
      Src: /src/glib/glib/gdate.c:1040,1
    - Dst: update_month_match
      Src: /src/glib/glib/gdate.c:1043,1
    - Dst: g_free
      Src: /src/glib/glib/gdate.c:1047,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 2
    argNames:
    - str
    - pt
    argTypes:
    - gchar*
    - GDateParseTokens*
    constantsTouched: []
    func_position:
      end: 1049
      start: 962
    functionDepth: 0
    functionLinenumber: 962
    functionLinenumberEnd: 1049
    functionName: g_date_fill_parse_tokens
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - update_month_match
    - g_utf8_casefold
    - atoi
    - g_ascii_isdigit
    - g_utf8_normalize
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void g_date_fill_parse_tokens (const gchar *str, GDateParseTokens
      *pt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_date_set_time_t
      Src: /src/glib/glib/gdate.c:1486,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - date
    - time_
    argTypes:
    - GDate*
    - GTime
    constantsTouched: []
    func_position:
      end: 1487
      start: 1481
    functionDepth: 0
    functionLinenumber: 1481
    functionLinenumberEnd: 1487
    functionName: g_date_set_time
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_set_time_t
    linkageType: ''
    returnType: G_GNUC_BEGIN_IGNORE_DEPRECATIONS
    signature: "G_GNUC_BEGIN_IGNORE_DEPRECATIONS void g_date_set_time (GDate *date,\t\
      \t GTime time_) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1804,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1814,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1809,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:1804,1
    - Dst: g_date_update_dmy
      Src: /src/glib/glib/gdate.c:1807,1
    - Dst: g_date_is_leap_year
      Src: /src/glib/glib/gdate.c:1826,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1833,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:1833,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - d
    - nmonths
    argTypes:
    - GDate*
    - guint
    constantsTouched: []
    func_position:
      end: 1834
      start: 1797
    functionDepth: 0
    functionLinenumber: 1797
    functionLinenumberEnd: 1834
    functionName: g_date_subtract_months
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_is_leap_year
    - g_date_valid
    - g_date_update_dmy
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_date_subtract_months (GDate *d, guint nmonths) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:2004,1
    - Dst: g_date_valid_year
      Src: /src/glib/glib/gdate.c:2004,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/gdate.c:2007,1
    - Dst: g_date_clear
      Src: /src/glib/glib/gdate.c:2006,1
    - Dst: g_date_get_weekday
      Src: /src/glib/glib/gdate.c:2008,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/gdate.c:2009,1
    - Dst: g_date_get_weekday
      Src: /src/glib/glib/gdate.c:2010,1
    - Dst: g_date_is_leap_year
      Src: /src/glib/glib/gdate.c:2011,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/gdate.c:2013,1
    - Dst: g_date_get_weekday
      Src: /src/glib/glib/gdate.c:2014,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/gdate.c:2015,1
    - Dst: g_date_get_weekday
      Src: /src/glib/glib/gdate.c:2016,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - year
    argTypes:
    - GDateYear
    constantsTouched: []
    func_position:
      end: 2019
      start: 1999
    functionDepth: 0
    functionLinenumber: 1999
    functionLinenumberEnd: 2019
    functionName: g_date_get_sunday_weeks_in_year
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_date_valid_year
    - g_date_clear
    - g_date_set_dmy
    - g_date_is_leap_year
    - g_date_get_weekday
    linkageType: ''
    returnType: guint8
    signature: 'guint8 g_date_get_sunday_weeks_in_year (GDateYear year) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:2095,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:2101,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:2095,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:2096,1
    - Dst: g_date_update_dmy
      Src: /src/glib/glib/gdate.c:2099,1
    - Dst: memset
      Src: /src/glib/glib/gdate.c:2111,1
    - Dst: g_date_get_weekday
      Src: /src/glib/glib/gdate.c:2117,1
    - Dst: g_date_get_day_of_year
      Src: /src/glib/glib/gdate.c:2122,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - d
    - tm
    argTypes:
    - GDate*
    - struct tm*
    constantsTouched: []
    func_position:
      end: 2124
      start: 2089
    functionDepth: 0
    functionLinenumber: 2089
    functionLinenumberEnd: 2124
    functionName: g_date_to_struct_tm
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - g_date_get_day_of_year
    - g_date_valid
    - g_date_get_weekday
    - memset
    - g_date_update_dmy
    linkageType: ''
    returnType: void
    signature: 'void g_date_to_struct_tm (const GDate *d, struct tm *tm) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:367,1
    - Dst: g_date_new_julian
      Src: /src/glib/glib/gdate.c:370,1
    - Dst: g_date_new
      Src: /src/glib/glib/gdate.c:373,1
    - Dst: g_date_get_julian
      Src: /src/glib/glib/gdate.c:370,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:369,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 378
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 378
    functionName: g_date_copy
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_date_new
    - g_date_get_julian
    - g_date_new_julian
    - g_date_valid
    linkageType: ''
    returnType: GDate*
    signature: 'GDate *g_date_copy (const GDate *date) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1578,1
    - Dst: g_date_valid_dmy
      Src: /src/glib/glib/gdate.c:1586,1
    - Dst: g_date_valid_year
      Src: /src/glib/glib/gdate.c:1579,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1579,1
    - Dst: g_date_update_dmy
      Src: /src/glib/glib/gdate.c:1581,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - d
    - y
    argTypes:
    - GDate*
    - GDateYear
    constantsTouched: []
    func_position:
      end: 1590
      start: 1574
    functionDepth: 0
    functionLinenumber: 1574
    functionLinenumberEnd: 1590
    functionName: g_date_set_year
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_valid_dmy
    - g_date_valid_year
    - g_date_update_dmy
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_date_set_year (GDate *d, GDateYear y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1633,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1634,1
    - Dst: g_date_valid_julian
      Src: /src/glib/glib/gdate.c:1634,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - d
    - j
    argTypes:
    - GDate*
    - guint32
    constantsTouched: []
    func_position:
      end: 1639
      start: 1629
    functionDepth: 0
    functionLinenumber: 1629
    functionLinenumberEnd: 1639
    functionName: g_date_set_julian
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_valid_julian
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_date_set_julian (GDate *d, guint32 j) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1759,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1764,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:1759,1
    - Dst: g_date_update_dmy
      Src: /src/glib/glib/gdate.c:1762,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1765,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1772,1
    - Dst: g_date_is_leap_year
      Src: /src/glib/glib/gdate.c:1777,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1784,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:1784,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 2
    argNames:
    - d
    - nmonths
    argTypes:
    - GDate*
    - guint
    constantsTouched: []
    func_position:
      end: 1785
      start: 1752
    functionDepth: 0
    functionLinenumber: 1752
    functionLinenumberEnd: 1785
    functionName: g_date_add_months
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_is_leap_year
    - g_date_valid
    - g_date_update_dmy
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_date_add_months (GDate *d, guint nmonths) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:1968,1
    - Dst: g_date_get_weekday
      Src: /src/glib/glib/gdate.c:1972,1
    - Dst: g_date_valid_year
      Src: /src/glib/glib/gdate.c:1968,1
    - Dst: g_date_clear
      Src: /src/glib/glib/gdate.c:1970,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/gdate.c:1971,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/gdate.c:1973,1
    - Dst: g_date_get_weekday
      Src: /src/glib/glib/gdate.c:1974,1
    - Dst: g_date_is_leap_year
      Src: /src/glib/glib/gdate.c:1975,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/gdate.c:1977,1
    - Dst: g_date_get_weekday
      Src: /src/glib/glib/gdate.c:1978,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/gdate.c:1979,1
    - Dst: g_date_get_weekday
      Src: /src/glib/glib/gdate.c:1980,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - year
    argTypes:
    - GDateYear
    constantsTouched: []
    func_position:
      end: 1983
      start: 1963
    functionDepth: 0
    functionLinenumber: 1963
    functionLinenumberEnd: 1983
    functionName: g_date_get_monday_weeks_in_year
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_date_valid_year
    - g_date_clear
    - g_date_set_dmy
    - g_date_is_leap_year
    - g_date_get_weekday
    linkageType: ''
    returnType: guint8
    signature: 'guint8 g_date_get_monday_weeks_in_year (GDateYear year) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:2036,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:2038,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:2037,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:2039,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:2038,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:2039,1
    - Dst: g_date_update_julian
      Src: /src/glib/glib/gdate.c:2071,1
    - Dst: g_date_update_julian
      Src: /src/glib/glib/gdate.c:2072,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:2073,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:2074,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 31
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - GDate*
    - GDate*
    constantsTouched: []
    func_position:
      end: 2079
      start: 2032
    functionDepth: 0
    functionLinenumber: 2032
    functionLinenumberEnd: 2079
    functionName: g_date_compare
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_valid
    - g_return_val_if_fail
    - g_date_update_julian
    linkageType: ''
    returnType: gint
    signature: 'gint g_date_compare (const GDate *lhs, const GDate *rhs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:346,1
    - Dst: g_free
      Src: /src/glib/glib/gdate.c:348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - date
    argTypes:
    - GDate*
    constantsTouched: []
    func_position:
      end: 349
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 349
    functionName: g_date_free
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_date_free (GDate *date) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - j
    argTypes:
    - guint32
    constantsTouched: []
    func_position:
      end: 484
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 484
    functionName: g_date_valid_julian
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_date_valid_julian (guint32 j) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:697,1
    - Dst: g_date_update_julian
      Src: /src/glib/glib/gdate.c:700,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:697,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:702,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - d
    argTypes:
    - GDate*
    constantsTouched: []
    func_position:
      end: 705
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 705
    functionName: g_date_get_julian
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_valid
    - g_return_val_if_fail
    - g_date_update_julian
    linkageType: ''
    returnType: guint32
    signature: 'guint32 g_date_get_julian (const GDate *d) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:750,1
    - Dst: g_date_update_dmy
      Src: /src/glib/glib/gdate.c:753,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:750,1
    - Dst: g_date_clear
      Src: /src/glib/glib/gdate.c:757,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:755,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/gdate.c:759,1
    - Dst: g_date_get_weekday
      Src: /src/glib/glib/gdate.c:761,1
    - Dst: g_date_get_day_of_year
      Src: /src/glib/glib/gdate.c:762,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - d
    argTypes:
    - GDate*
    constantsTouched: []
    func_position:
      end: 765
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 765
    functionName: g_date_get_monday_week_of_year
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_date_clear
    - g_date_set_dmy
    - g_date_get_day_of_year
    - g_date_valid
    - g_date_get_weekday
    - g_date_update_dmy
    linkageType: ''
    returnType: guint
    signature: 'guint g_date_get_monday_week_of_year (const GDate *d) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1441,1
    - Dst: _g_localtime
      Src: /src/glib/glib/gdate.c:1443,1
    - Dst: g_return_if_fail_warning
      Src: /src/glib/glib/gdate.c:1466,1
    - Dst: g_date_valid_dmy
      Src: /src/glib/glib/gdate.c:1460,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1460,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - date
    - timet
    argTypes:
    - GDate*
    - time_t
    constantsTouched: []
    func_position:
      end: 1468
      start: 1434
    functionDepth: 0
    functionLinenumber: 1434
    functionLinenumberEnd: 1468
    functionName: g_date_set_time_t
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - _g_localtime
    - g_date_valid_dmy
    - g_return_if_fail_warning
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_date_set_time_t (GDate *date,\t\t time_t timet) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_date_set_time_t
      Src: /src/glib/glib/gdate.c:1510,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - date
    - timeval
    argTypes:
    - GDate*
    - GTimeVal*
    constantsTouched: []
    func_position:
      end: 1511
      start: 1506
    functionDepth: 0
    functionLinenumber: 1506
    functionLinenumberEnd: 1511
    functionName: g_date_set_time_val
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_set_time_t
    linkageType: ''
    returnType: void
    signature: "void g_date_set_time_val (GDate *date,\t\t GTimeVal *timeval) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1552,1
    - Dst: g_date_update_dmy
      Src: /src/glib/glib/gdate.c:1555,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1553,1
    - Dst: g_date_valid_dmy
      Src: /src/glib/glib/gdate.c:1560,1
    - Dst: g_date_valid_day
      Src: /src/glib/glib/gdate.c:1553,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - d
    - day
    argTypes:
    - GDate*
    - GDateDay
    constantsTouched: []
    func_position:
      end: 1564
      start: 1548
    functionDepth: 0
    functionLinenumber: 1548
    functionLinenumberEnd: 1564
    functionName: g_date_set_day
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_valid_day
    - g_date_valid_dmy
    - g_date_update_dmy
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_date_set_day (GDate *d, GDateDay day) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1610,1
    - Dst: g_date_valid_dmy
      Src: /src/glib/glib/gdate.c:1611,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1611,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - d
    - day
    - m
    - y
    argTypes:
    - GDate*
    - GDateDay
    - GDateMonth
    - GDateYear
    constantsTouched: []
    func_position:
      end: 1620
      start: 1604
    functionDepth: 0
    functionLinenumber: 1604
    functionLinenumberEnd: 1620
    functionName: g_date_set_dmy
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_valid_dmy
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_date_set_dmy (GDate *d, GDateDay day, GDateMonth m, GDateYear
      y) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1526,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1527,1
    - Dst: g_date_valid_dmy
      Src: /src/glib/glib/gdate.c:1534,1
    - Dst: g_date_update_dmy
      Src: /src/glib/glib/gdate.c:1529,1
    - Dst: g_date_valid_month
      Src: /src/glib/glib/gdate.c:1527,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - d
    - m
    argTypes:
    - GDate*
    - GDateMonth
    constantsTouched: []
    func_position:
      end: 1538
      start: 1512
    functionDepth: 0
    functionLinenumber: 1512
    functionLinenumberEnd: 1538
    functionName: g_date_set_month
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_valid_dmy
    - g_date_update_dmy
    - g_date_valid_month
    - g_return_if_fail
    linkageType: ''
    returnType: G_GNUC_END_IGNORE_DEPRECATIONS
    signature: 'G_GNUC_END_IGNORE_DEPRECATIONS /** * g_date_set_month: * @date: a
      #GDate * @month: month to set * * Sets the month of the year for a #GDate. If
      the resulting * day-month-year triplet is invalid, the date will be invalid.
      */ void g_date_set_month (GDate *d, GDateMonth m) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1729,1
    - Dst: g_date_update_julian
      Src: /src/glib/glib/gdate.c:1732,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:1729,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1735,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1734,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - d
    - ndays
    argTypes:
    - GDate*
    - guint
    constantsTouched: []
    func_position:
      end: 1739
      start: 1725
    functionDepth: 0
    functionLinenumber: 1725
    functionLinenumberEnd: 1739
    functionName: g_date_subtract_days
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_valid
    - g_date_update_julian
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_date_subtract_days (GDate *d, guint ndays) '
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: GetLocaleInfoW
      Src: /src/glib/glib/gdate.c:2329,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2419,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2520,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2507,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2382,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2459,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2422,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2457,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2412,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2495,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2532,1
    - Dst: g_array_set_size
      Src: /src/glib/glib/gdate.c:2539,1
    - Dst: GetTimeFormatW
      Src: /src/glib/glib/gdate.c:2549,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2586,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2397,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gdate.c:2298,1
    - Dst: GetLocaleInfoW
      Src: /src/glib/glib/gdate.c:2317,1
    - Dst: g_array_set_size
      Src: /src/glib/glib/gdate.c:2357,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2400,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2434,1
    - Dst: g_array_set_size
      Src: /src/glib/glib/gdate.c:2440,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2399,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2462,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2503,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2491,1
    - Dst: g_array_free
      Src: /src/glib/glib/gdate.c:2593,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2405,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2450,1
    - Dst: g_array_set_size
      Src: /src/glib/glib/gdate.c:2349,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2408,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2453,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2566,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2490,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2423,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2533,1
    - Dst: g_array_set_size
      Src: /src/glib/glib/gdate.c:2541,1
    - Dst: GetTimeFormatW
      Src: /src/glib/glib/gdate.c:2545,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2524,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2513,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2568,1
    - Dst: GetThreadLocale
      Src: /src/glib/glib/gdate.c:2271,1
    - Dst: g_array_set_size
      Src: /src/glib/glib/gdate.c:2359,1
    - Dst: g_array_set_size
      Src: /src/glib/glib/gdate.c:2442,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2376,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2465,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2506,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2525,1
    - Dst: g_array_set_size
      Src: /src/glib/glib/gdate.c:2328,1
    - Dst: g_array_set_size
      Src: /src/glib/glib/gdate.c:2351,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2477,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2479,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2480,1
    - Dst: wcslen
      Src: /src/glib/glib/gdate.c:2568,1
    - Dst: memcpy
      Src: /src/glib/glib/gdate.c:2615,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2502,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2364,1
    - Dst: g_array_set_size
      Src: /src/glib/glib/gdate.c:2470,1
    - Dst: strlen
      Src: /src/glib/glib/gdate.c:2260,1
    - Dst: g_array_free
      Src: /src/glib/glib/gdate.c:2285,1
    - Dst: append_month_name
      Src: /src/glib/glib/gdate.c:2340,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2353,1
    - Dst: GetTimeFormatW
      Src: /src/glib/glib/gdate.c:2467,1
    - Dst: g_free
      Src: /src/glib/glib/gdate.c:2587,1
    - Dst: g_free
      Src: /src/glib/glib/gdate.c:2617,1
    - Dst: append_month_name
      Src: /src/glib/glib/gdate.c:2334,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2367,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2385,1
    - Dst: GetDateFormatW
      Src: /src/glib/glib/gdate.c:2540,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2559,1
    - Dst: GetTimeZoneInformation
      Src: /src/glib/glib/gdate.c:2564,1
    - Dst: g_ucs4_to_utf16
      Src: /src/glib/glib/gdate.c:2585,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gdate.c:2589,1
    - Dst: g_array_free
      Src: /src/glib/glib/gdate.c:2302,1
    - Dst: g_array_set_size
      Src: /src/glib/glib/gdate.c:2320,1
    - Dst: GetTimeFormatW
      Src: /src/glib/glib/gdate.c:2358,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2373,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2374,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2418,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2461,1
    - Dst: GetTimeFormatW
      Src: /src/glib/glib/gdate.c:2441,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2375,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2483,1
    - Dst: g_array_set_size
      Src: /src/glib/glib/gdate.c:2548,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2499,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2417,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2411,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2456,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/gdate.c:2307,1
    - Dst: GetLocaleInfoW
      Src: /src/glib/glib/gdate.c:2319,1
    - Dst: GetLocaleInfoW
      Src: /src/glib/glib/gdate.c:2327,1
    - Dst: GetDateFormatW
      Src: /src/glib/glib/gdate.c:2350,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2371,1
    - Dst: g_array_set_size
      Src: /src/glib/glib/gdate.c:2472,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2488,1
    - Dst: g_utf8_find_prev_char
      Src: /src/glib/glib/gdate.c:2605,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/gdate.c:2592,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2427,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2368,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2430,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/gdate.c:2278,1
    - Dst: g_array_sized_new
      Src: /src/glib/glib/gdate.c:2272,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/gdate.c:2291,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2429,1
    - Dst: GetDateFormatW
      Src: /src/glib/glib/gdate.c:2536,1
    - Dst: g_assert
      Src: /src/glib/glib/gdate.c:2606,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2377,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2378,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2464,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2482,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2505,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2528,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2571,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2501,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gdate.c:2281,1
    - Dst: GetDateFormatW
      Src: /src/glib/glib/gdate.c:2346,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2363,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2372,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2384,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2519,1
    - Dst: g_array_set_size
      Src: /src/glib/glib/gdate.c:2550,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2555,1
    - Dst: GetTimeFormatW
      Src: /src/glib/glib/gdate.c:2437,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2460,1
    - Dst: g_array_set_size
      Src: /src/glib/glib/gdate.c:2318,1
    - Dst: GetTimeFormatW
      Src: /src/glib/glib/gdate.c:2471,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2515,1
    - Dst: g_date_get_monday_week_of_year
      Src: /src/glib/glib/gdate.c:2531,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2558,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2578,1
    - Dst: g_date_get_sunday_week_of_year
      Src: /src/glib/glib/gdate.c:2518,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2554,1
    - Dst: g_array_set_size
      Src: /src/glib/glib/gdate.c:2330,1
    - Dst: GetTimeFormatW
      Src: /src/glib/glib/gdate.c:2354,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2463,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2481,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2504,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2508,1
    - Dst: g_date_get_iso8601_week_of_year
      Src: /src/glib/glib/gdate.c:2523,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2560,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/gdate.c:2561,1
    - Dst: wcslen
      Src: /src/glib/glib/gdate.c:2566,1
    - Dst: g_assert
      Src: /src/glib/glib/gdate.c:2601,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 403
    argCount: 5
    argNames:
    - d
    - format
    - tm
    - s
    - slen
    argTypes:
    - GDate*
    - gchar*
    - struct tm*
    - gchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 2620
      start: 2242
    functionDepth: 0
    functionLinenumber: 2242
    functionLinenumberEnd: 2620
    functionName: win32_strftime_helper
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_utf8_next_char
    - g_array_sized_new
    - append_month_name
    - g_date_get_sunday_week_of_year
    - g_array_append_vals
    - g_utf16_to_utf8
    - g_array_free
    - GetDateFormatW
    - GetTimeZoneInformation
    - g_ucs4_to_utf16
    - g_utf8_find_prev_char
    - strlen
    - g_array_set_size
    - GetTimeFormatW
    - g_date_get_iso8601_week_of_year
    - wcslen
    - g_assert
    - g_date_get_monday_week_of_year
    - g_utf8_get_char
    - GetLocaleInfoW
    - g_free
    - GetThreadLocale
    linkageType: ''
    returnType: gsize
    signature: "static gsize win32_strftime_helper (const GDate *d,\t\t const gchar\
      \ *format,\t\t const struct tm *tm,\t\t gchar *s,\t\t gsize\t slen) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:2669,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:2669,1
    - Dst: g_date_to_struct_tm
      Src: /src/glib/glib/gdate.c:2674,1
    - Dst: g_error_free
      Src: /src/glib/glib/gdate.c:2732,1
    - Dst: g_utf8_find_prev_char
      Src: /src/glib/glib/gdate.c:2744,1
    - Dst: g_assert
      Src: /src/glib/glib/gdate.c:2745,1
    - Dst: g_free
      Src: /src/glib/glib/gdate.c:2757,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:2672,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:2671,1
    - Dst: g_utf8_validate
      Src: /src/glib/glib/gdate.c:2677,1
    - Dst: g_locale_from_utf8
      Src: /src/glib/glib/gdate.c:2685,1
    - Dst: g_warning
      Src: /src/glib/glib/gdate.c:2689,1
    - Dst: strftime
      Src: /src/glib/glib/gdate.c:2705,1
    - Dst: g_free
      Src: /src/glib/glib/gdate.c:2709,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:2670,1
    - Dst: g_error_free
      Src: /src/glib/glib/gdate.c:2690,1
    - Dst: g_free
      Src: /src/glib/glib/gdate.c:2715,1
    - Dst: g_malloc
      Src: /src/glib/glib/gdate.c:2699,1
    - Dst: g_free
      Src: /src/glib/glib/gdate.c:2727,1
    - Dst: g_warning
      Src: /src/glib/glib/gdate.c:2731,1
    - Dst: g_assert
      Src: /src/glib/glib/gdate.c:2734,1
    - Dst: win32_strftime_helper
      Src: /src/glib/glib/gdate.c:2682,1
    - Dst: MAX
      Src: /src/glib/glib/gdate.c:2696,1
    - Dst: g_warning
      Src: /src/glib/glib/gdate.c:2714,1
    - Dst: g_free
      Src: /src/glib/glib/gdate.c:2724,1
    - Dst: g_locale_to_utf8
      Src: /src/glib/glib/gdate.c:2726,1
    - Dst: memcpy
      Src: /src/glib/glib/gdate.c:2755,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 64
    argCount: 4
    argNames:
    - s
    - slen
    - format
    - d
    argTypes:
    - gchar*
    - gsize
    - gchar*
    - GDate*
    constantsTouched: []
    func_position:
      end: 2761
      start: 2650
    functionDepth: 0
    functionLinenumber: 2650
    functionLinenumberEnd: 2761
    functionName: g_date_strftime
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_return_val_if_fail
    - g_warning
    - g_locale_from_utf8
    - g_assert
    - g_date_to_struct_tm
    - MAX
    - g_malloc
    - g_locale_to_utf8
    - g_utf8_validate
    - g_error_free
    - strftime
    - g_date_valid
    - win32_strftime_helper
    - g_utf8_find_prev_char
    - g_free
    linkageType: ''
    returnType: gsize
    signature: 'gsize g_date_strftime (gchar *s, gsize slen, const gchar *format,
      const GDate *d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - w
    argTypes:
    - GDateWeekday
    constantsTouched: []
    func_position:
      end: 469
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 469
    functionName: g_date_valid_weekday
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_date_valid_weekday (GDateWeekday w) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:610,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:610,1
    - Dst: g_date_update_julian
      Src: /src/glib/glib/gdate.c:613,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:615,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - d
    argTypes:
    - GDate*
    constantsTouched: []
    func_position:
      end: 618
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 618
    functionName: g_date_get_weekday
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_valid
    - g_return_val_if_fail
    - g_date_update_julian
    linkageType: ''
    returnType: GDateWeekday
    signature: 'GDateWeekday g_date_get_weekday (const GDate *d) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:673,1
    - Dst: g_date_update_dmy
      Src: /src/glib/glib/gdate.c:676,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:673,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:678,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - d
    argTypes:
    - GDate*
    constantsTouched: []
    func_position:
      end: 681
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 681
    functionName: g_date_get_day
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_valid
    - g_return_val_if_fail
    - g_date_update_dmy
    linkageType: ''
    returnType: GDateDay
    signature: 'GDateDay g_date_get_day (const GDate *d) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:721,1
    - Dst: g_date_update_dmy
      Src: /src/glib/glib/gdate.c:724,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:726,1
    - Dst: g_date_is_leap_year
      Src: /src/glib/glib/gdate.c:728,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:721,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - d
    argTypes:
    - GDate*
    constantsTouched: []
    func_position:
      end: 731
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 731
    functionName: g_date_get_day_of_year
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_is_leap_year
    - g_date_valid
    - g_return_val_if_fail
    - g_date_update_dmy
    linkageType: ''
    returnType: guint
    signature: 'guint g_date_get_day_of_year (const GDate *d) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:818,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:818,1
    - Dst: g_date_update_julian
      Src: /src/glib/glib/gdate.c:821,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:823,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - d
    argTypes:
    - GDate*
    constantsTouched: []
    func_position:
      end: 836
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 836
    functionName: g_date_get_iso8601_week_of_year
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_valid
    - g_return_val_if_fail
    - g_date_update_julian
    linkageType: ''
    returnType: guint
    signature: 'guint g_date_get_iso8601_week_of_year (const GDate *d) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: localtime_r
      Src: /src/glib/glib/gdate.c:1394,1
    - Dst: localtime
      Src: /src/glib/glib/gdate.c:1398,1
    - Dst: memcpy
      Src: /src/glib/glib/gdate.c:1408,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - timet
    - out_tm
    argTypes:
    - time_t
    - struct tm*
    constantsTouched: []
    func_position:
      end: 1413
      start: 1388
    functionDepth: 0
    functionLinenumber: 1388
    functionLinenumberEnd: 1413
    functionName: _g_localtime
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - localtime_r
    - memcpy
    - localtime
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _g_localtime (time_t timet, struct tm *out_tm) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:1678,1
    - Dst: g_date_is_leap_year
      Src: /src/glib/glib/gdate.c:1685,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:1678,1
    - Dst: g_date_update_dmy
      Src: /src/glib/glib/gdate.c:1681,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:1683,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - d
    argTypes:
    - GDate*
    constantsTouched: []
    func_position:
      end: 1689
      start: 1673
    functionDepth: 0
    functionLinenumber: 1673
    functionLinenumberEnd: 1689
    functionName: g_date_is_last_of_month
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_is_leap_year
    - g_date_valid
    - g_return_val_if_fail
    - g_date_update_dmy
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_date_is_last_of_month (const GDate *d) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1704,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:1704,1
    - Dst: g_date_update_julian
      Src: /src/glib/glib/gdate.c:1707,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1710,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1709,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - d
    - ndays
    argTypes:
    - GDate*
    - guint
    constantsTouched: []
    func_position:
      end: 1714
      start: 1700
    functionDepth: 0
    functionLinenumber: 1700
    functionLinenumberEnd: 1714
    functionName: g_date_add_days
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_valid
    - g_date_update_julian
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_date_add_days (GDate *d, guint ndays) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1884,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1890,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1889,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:1884,1
    - Dst: g_date_update_dmy
      Src: /src/glib/glib/gdate.c:1887,1
    - Dst: g_date_is_leap_year
      Src: /src/glib/glib/gdate.c:1896,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - d
    - nyears
    argTypes:
    - GDate*
    - guint
    constantsTouched: []
    func_position:
      end: 1901
      start: 1880
    functionDepth: 0
    functionLinenumber: 1880
    functionLinenumberEnd: 1901
    functionName: g_date_subtract_years
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_is_leap_year
    - g_date_valid
    - g_date_update_dmy
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_date_subtract_years (GDate *d, guint nyears) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - m
    argTypes:
    - GDateMonth
    constantsTouched: []
    func_position:
      end: 423
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 423
    functionName: g_date_valid_month
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_date_valid_month (GDateMonth m) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:562,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:563,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:565,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:564,1
    - Dst: g_date_valid_julian
      Src: /src/glib/glib/gdate.c:565,1
    - Dst: g_date_valid_dmy
      Src: /src/glib/glib/gdate.c:587,1
    - Dst: g_warning
      Src: /src/glib/glib/gdate.c:588,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 57
    argCount: 1
    argNames:
    - const_d
    argTypes:
    - GDate*
    constantsTouched: []
    func_position:
      end: 597
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 597
    functionName: g_date_update_dmy
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_valid_dmy
    - g_date_valid_julian
    - g_warning
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void g_date_update_dmy (const GDate *const_d) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:784,1
    - Dst: g_date_clear
      Src: /src/glib/glib/gdate.c:791,1
    - Dst: g_date_update_dmy
      Src: /src/glib/glib/gdate.c:787,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:789,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:784,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/gdate.c:793,1
    - Dst: g_date_get_weekday
      Src: /src/glib/glib/gdate.c:795,1
    - Dst: g_date_get_day_of_year
      Src: /src/glib/glib/gdate.c:797,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - d
    argTypes:
    - GDate*
    constantsTouched: []
    func_position:
      end: 800
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 800
    functionName: g_date_get_sunday_week_of_year
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_date_clear
    - g_date_set_dmy
    - g_date_get_day_of_year
    - g_date_valid
    - g_date_get_weekday
    - g_date_update_dmy
    linkageType: ''
    returnType: guint
    signature: 'guint g_date_get_sunday_week_of_year (const GDate *d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:872,1
    - Dst: memset
      Src: /src/glib/glib/gdate.c:875,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:873,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - d
    - ndates
    argTypes:
    - GDate*
    - guint
    constantsTouched: []
    func_position:
      end: 876
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 876
    functionName: g_date_clear
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - memset
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_date_clear (GDate *d, guint ndates) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:1653,1
    - Dst: g_date_update_dmy
      Src: /src/glib/glib/gdate.c:1656,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:1653,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:1658,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - d
    argTypes:
    - GDate*
    constantsTouched: []
    func_position:
      end: 1662
      start: 1650
    functionDepth: 0
    functionLinenumber: 1650
    functionLinenumberEnd: 1662
    functionName: g_date_is_first_of_month
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_valid
    - g_return_val_if_fail
    - g_date_update_dmy
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_date_is_first_of_month (const GDate *d) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1850,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1856,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:1850,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1855,1
    - Dst: g_date_update_dmy
      Src: /src/glib/glib/gdate.c:1853,1
    - Dst: g_date_is_leap_year
      Src: /src/glib/glib/gdate.c:1862,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - d
    - nyears
    argTypes:
    - GDate*
    - guint
    constantsTouched: []
    func_position:
      end: 1867
      start: 1846
    functionDepth: 0
    functionLinenumber: 1846
    functionLinenumberEnd: 1867
    functionName: g_date_add_years
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_is_leap_year
    - g_date_valid
    - g_date_update_dmy
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_date_add_years (GDate *d, guint nyears) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:524,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:525,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:526,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:527,1
    - Dst: g_date_valid_dmy
      Src: /src/glib/glib/gdate.c:527,1
    - Dst: g_date_is_leap_year
      Src: /src/glib/glib/gdate.c:543,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:547,1
    - Dst: g_date_valid_julian
      Src: /src/glib/glib/gdate.c:547,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - const_d
    argTypes:
    - GDate*
    constantsTouched: []
    func_position:
      end: 550
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 550
    functionName: g_date_update_julian
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_is_leap_year
    - g_date_valid_dmy
    - g_date_valid_julian
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void g_date_update_julian (const GDate *const_d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:853,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:854,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:854,1
    - Dst: g_date_get_julian
      Src: /src/glib/glib/gdate.c:856,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:853,1
    - Dst: g_date_get_julian
      Src: /src/glib/glib/gdate.c:856,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - d1
    - d2
    argTypes:
    - GDate*
    - GDate*
    constantsTouched: []
    func_position:
      end: 857
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 857
    functionName: g_date_days_between
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_valid
    - g_return_val_if_fail
    - g_date_get_julian
    linkageType: ''
    returnType: gint
    signature: "gint g_date_days_between (const GDate *d1,\t\t const GDate *d2) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:2173,1
    - Dst: g_date_compare
      Src: /src/glib/glib/gdate.c:2176,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:2174,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:2173,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:2174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - date1
    - date2
    argTypes:
    - GDate*
    - GDate*
    constantsTouched: []
    func_position:
      end: 2182
      start: 2169
    functionDepth: 0
    functionLinenumber: 2169
    functionLinenumberEnd: 2182
    functionName: g_date_order
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_valid
    - g_date_compare
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_date_order (GDate *date1, GDate *date2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/glib/gdate.c:264,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 267
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 267
    functionName: g_date_new
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_new0
    linkageType: ''
    returnType: GDate*
    signature: 'GDate *g_date_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - d
    argTypes:
    - GDateDay
    constantsTouched: []
    func_position:
      end: 454
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 454
    functionName: g_date_valid_day
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_date_valid_day (GDateDay d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_date_is_leap_year
      Src: /src/glib/glib/gdate.c:509,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - d
    - m
    - y
    argTypes:
    - GDateDay
    - GDateMonth
    - GDateYear
    constantsTouched: []
    func_position:
      end: 511
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 511
    functionName: g_date_valid_dmy
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_is_leap_year
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_date_valid_dmy (GDateDay d, GDateMonth m, \t\t GDateYear\
      \ y) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/glib/gdate.c:948,1
    - Dst: strstr
      Src: /src/glib/glib/gdate.c:952,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - longest
    - haystack
    - needle
    argTypes:
    - gsize*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 957
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 957
    functionName: update_month_match
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - strstr
    - strlen
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean update_month_match (gsize *longest, const gchar
      *haystack, const gchar *needle) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1249,1
    - Dst: g_utf8_validate_len
      Src: /src/glib/glib/gdate.c:1261,1
    - Dst: G_LOCK
      Src: /src/glib/glib/gdate.c:1264,1
    - Dst: strlen
      Src: /src/glib/glib/gdate.c:1256,1
    - Dst: g_date_clear
      Src: /src/glib/glib/gdate.c:1252,1
    - Dst: g_date_prepare_to_parse
      Src: /src/glib/glib/gdate.c:1266,1
    - Dst: DEBUG_MSG
      Src: /src/glib/glib/gdate.c:1268,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gdate.c:1274,1
    - Dst: g_assert
      Src: /src/glib/glib/gdate.c:1283,1
    - Dst: convert_twodigit_year
      Src: /src/glib/glib/gdate.c:1321,1
    - Dst: convert_twodigit_year
      Src: /src/glib/glib/gdate.c:1366,1
    - Dst: g_date_valid_dmy
      Src: /src/glib/glib/gdate.c:1333,1
    - Dst: g_date_valid_dmy
      Src: /src/glib/glib/gdate.c:1372,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gdate.c:1385,1
    - Dst: DEBUG_MSG
      Src: /src/glib/glib/gdate.c:1382,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 90
    argCount: 2
    argNames:
    - d
    - str
    argTypes:
    - GDate*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1386
      start: 1241
    functionDepth: 0
    functionLinenumber: 1241
    functionLinenumberEnd: 1386
    functionName: g_date_set_parse
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_utf8_validate_len
    - g_date_clear
    - strlen
    - g_return_if_fail
    - G_UNLOCK
    - g_assert
    - convert_twodigit_year
    - g_date_prepare_to_parse
    - DEBUG_MSG
    - g_date_valid_dmy
    - G_LOCK
    linkageType: ''
    returnType: void
    signature: 'void g_date_set_parse (GDate *d, const gchar *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:1941,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:1942,1
    - Dst: g_date_valid_year
      Src: /src/glib/glib/gdate.c:1941,1
    - Dst: g_date_is_leap_year
      Src: /src/glib/glib/gdate.c:1944,1
    - Dst: g_date_valid_month
      Src: /src/glib/glib/gdate.c:1942,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - month
    - year
    argTypes:
    - GDateMonth
    - GDateYear
    constantsTouched: []
    func_position:
      end: 1947
      start: 1935
    functionDepth: 0
    functionLinenumber: 1935
    functionLinenumberEnd: 1947
    functionName: g_date_get_days_in_month
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_is_leap_year
    - g_return_val_if_fail
    - g_date_valid_year
    - g_date_valid_month
    linkageType: ''
    returnType: guint8
    signature: 'guint8 g_date_get_days_in_month (GDateMonth month, GDateYear year) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:2143,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:2143,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:2149,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:2146,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:2146,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:2149,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:2152,1
    - Dst: g_date_compare
      Src: /src/glib/glib/gdate.c:2152,1
    - Dst: g_date_compare
      Src: /src/glib/glib/gdate.c:2154,1
    - Dst: g_date_compare
      Src: /src/glib/glib/gdate.c:2157,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 3
    argNames:
    - date
    - min_date
    - max_date
    argTypes:
    - GDate*
    - GDate*
    - GDate*
    constantsTouched: []
    func_position:
      end: 2159
      start: 2138
    functionDepth: 0
    functionLinenumber: 2138
    functionLinenumberEnd: 2159
    functionName: g_date_clamp
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_valid
    - g_date_compare
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_date_clamp (GDate *date,\t const GDate *min_date,\t const GDate\
      \ *max_date) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GetLocaleInfoW
      Src: /src/glib/glib/gdate.c:2199,1
    - Dst: g_array_set_size
      Src: /src/glib/glib/gdate.c:2208,1
    - Dst: GetDateFormatW
      Src: /src/glib/glib/gdate.c:2220,1
    - Dst: GetLocaleInfoW
      Src: /src/glib/glib/gdate.c:2204,1
    - Dst: g_array_set_size
      Src: /src/glib/glib/gdate.c:2203,1
    - Dst: g_array_set_size
      Src: /src/glib/glib/gdate.c:2224,1
    - Dst: GetDateFormatW
      Src: /src/glib/glib/gdate.c:2225,1
    - Dst: memmove
      Src: /src/glib/glib/gdate.c:2233,1
    - Dst: g_array_set_size
      Src: /src/glib/glib/gdate.c:2236,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 5
    argNames:
    - result
    - lcid
    - systemtime
    - abbreviated
    - alternative
    argTypes:
    - GArray*
    - LCID
    - SYSTEMTIME*
    - gboolean
    - gboolean
    constantsTouched: []
    func_position:
      end: 2240
      start: 2185
    functionDepth: 0
    functionLinenumber: 2185
    functionLinenumberEnd: 2240
    functionName: append_month_name
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - memmove
    - GetLocaleInfoW
    - GetDateFormatW
    - g_array_set_size
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean append_month_name (GArray *result,\t\t LCID lcid,\t\
      \t SYSTEMTIME *systemtime,\t\t gboolean abbreviated,\t\t gboolean alternative) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:323,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:332,1
    - Dst: g_assert
      Src: /src/glib/glib/gdate.c:332,1
    - Dst: g_date_valid_julian
      Src: /src/glib/glib/gdate.c:323,1
    - Dst: g_new
      Src: /src/glib/glib/gdate.c:325,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 335
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 335
    functionName: g_date_new_julian
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_new
    - g_assert
    - g_date_valid
    - g_date_valid_julian
    linkageType: ''
    returnType: GDate*
    signature: 'GDate *g_date_new_julian (guint32 julian_day) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - y
    argTypes:
    - GDateYear
    constantsTouched: []
    func_position:
      end: 438
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 438
    functionName: g_date_valid_year
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_date_valid_year (GDateYear y) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:652,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:657,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:652,1
    - Dst: g_date_update_dmy
      Src: /src/glib/glib/gdate.c:655,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - d
    argTypes:
    - GDate*
    constantsTouched: []
    func_position:
      end: 660
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 660
    functionName: g_date_get_year
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_date_valid
    - g_return_val_if_fail
    - g_date_update_dmy
    linkageType: ''
    returnType: GDateYear
    signature: 'GDateYear g_date_get_year (const GDate *d) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_date_clear
      Src: /src/glib/glib/gdate.c:1062,1
    - Dst: g_free
      Src: /src/glib/glib/gdate.c:1073,1
    - Dst: g_date_strftime
      Src: /src/glib/glib/gdate.c:1095,1
    - Dst: g_utf8_normalize
      Src: /src/glib/glib/gdate.c:1098,1
    - Dst: g_free
      Src: /src/glib/glib/gdate.c:1099,1
    - Dst: g_utf8_casefold
      Src: /src/glib/glib/gdate.c:1102,1
    - Dst: g_date_strftime
      Src: /src/glib/glib/gdate.c:1107,1
    - Dst: g_utf8_normalize
      Src: /src/glib/glib/gdate.c:1110,1
    - Dst: g_free
      Src: /src/glib/glib/gdate.c:1111,1
    - Dst: g_date_strftime
      Src: /src/glib/glib/gdate.c:1122,1
    - Dst: g_utf8_casefold
      Src: /src/glib/glib/gdate.c:1108,1
    - Dst: DEBUG_MSG
      Src: /src/glib/glib/gdate.c:1199,1
    - Dst: setlocale
      Src: /src/glib/glib/gdate.c:1056,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1060,1
    - Dst: strcmp
      Src: /src/glib/glib/gdate.c:1064,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gdate.c:1086,1
    - Dst: g_date_strftime
      Src: /src/glib/glib/gdate.c:1088,1
    - Dst: g_utf8_normalize
      Src: /src/glib/glib/gdate.c:1092,1
    - Dst: g_free
      Src: /src/glib/glib/gdate.c:1093,1
    - Dst: g_utf8_casefold
      Src: /src/glib/glib/gdate.c:1096,1
    - Dst: g_free
      Src: /src/glib/glib/gdate.c:1103,1
    - Dst: g_free
      Src: /src/glib/glib/gdate.c:1105,1
    - Dst: DEBUG_MSG
      Src: /src/glib/glib/gdate.c:1175,1
    - Dst: g_strdup
      Src: /src/glib/glib/gdate.c:1075,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/gdate.c:1084,1
    - Dst: g_free
      Src: /src/glib/glib/gdate.c:1097,1
    - Dst: g_utf8_casefold
      Src: /src/glib/glib/gdate.c:1090,1
    - Dst: g_free
      Src: /src/glib/glib/gdate.c:1109,1
    - Dst: DEBUG_MSG
      Src: /src/glib/glib/gdate.c:1163,1
    - Dst: DEBUG_MSG
      Src: /src/glib/glib/gdate.c:1170,1
    - Dst: g_date_valid
      Src: /src/glib/glib/gdate.c:1086,1
    - Dst: g_free
      Src: /src/glib/glib/gdate.c:1091,1
    - Dst: g_date_strftime
      Src: /src/glib/glib/gdate.c:1101,1
    - Dst: g_utf8_normalize
      Src: /src/glib/glib/gdate.c:1104,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/gdate.c:1120,1
    - Dst: g_date_fill_parse_tokens
      Src: /src/glib/glib/gdate.c:1124,1
    - Dst: DEBUG_MSG
      Src: /src/glib/glib/gdate.c:1166,1
    - Dst: DEBUG_MSG
      Src: /src/glib/glib/gdate.c:1200,1
    - Dst: g_date_fill_parse_tokens
      Src: /src/glib/glib/gdate.c:1205,1
    - Dst: DEBUG_MSG
      Src: /src/glib/glib/gdate.c:1159,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 93
    argCount: 2
    argNames:
    - str
    - pt
    argTypes:
    - gchar*
    - GDateParseTokens*
    constantsTouched: []
    func_position:
      end: 1206
      start: 1052
    functionDepth: 0
    functionLinenumber: 1052
    functionLinenumberEnd: 1206
    functionName: g_date_prepare_to_parse
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_date_clear
    - g_date_strftime
    - g_return_if_fail
    - g_date_set_dmy
    - g_utf8_casefold
    - strcmp
    - setlocale
    - DEBUG_MSG
    - g_date_valid
    - g_utf8_normalize
    - g_free
    - g_date_fill_parse_tokens
    linkageType: ''
    returnType: void
    signature: 'static void g_date_prepare_to_parse (const gchar *str, GDateParseTokens
      *pt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - y
    argTypes:
    - guint
    constantsTouched: []
    func_position:
      end: 1222
      start: 1208
    functionDepth: 0
    functionLinenumber: 1208
    functionLinenumberEnd: 1222
    functionName: convert_twodigit_year
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint
    signature: 'static guint convert_twodigit_year (guint y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gdate.c:1919,1
    - Dst: g_date_valid_year
      Src: /src/glib/glib/gdate.c:1919,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - year
    argTypes:
    - GDateYear
    constantsTouched: []
    func_position:
      end: 1923
      start: 1916
    functionDepth: 0
    functionLinenumber: 1916
    functionLinenumberEnd: 1923
    functionName: g_date_is_leap_year
    functionSourceFile: /src/glib/glib/gdate.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_date_valid_year
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_date_is_leap_year (GDateYear year) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetFileAttributesW
      Src: /src/glib/glib/gstdio.c:468,1
    - Dst: GetLastError
      Src: /src/glib/glib/gstdio.c:495,1
    - Dst: GetLastError
      Src: /src/glib/glib/gstdio.c:470,1
    - Dst: CreateFileW
      Src: /src/glib/glib/gstdio.c:484,1
    - Dst: w32_error_to_errno
      Src: /src/glib/glib/gstdio.c:471,1
    - Dst: w32_error_to_errno
      Src: /src/glib/glib/gstdio.c:496,1
    - Dst: _g_win32_readlink_handle_raw
      Src: /src/glib/glib/gstdio.c:500,1
    - Dst: CloseHandle
      Src: /src/glib/glib/gstdio.c:502,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 6
    argNames:
    - filename
    - reparse_tag
    - buf
    - buf_size
    - alloc_buf
    - terminate
    argTypes:
    - gunichar2*
    - DWORD*
    - gunichar2*
    - gsize
    - gunichar2**
    - gboolean
    constantsTouched: []
    func_position:
      end: 505
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 505
    functionName: _g_win32_readlink_utf16_raw
    functionSourceFile: /src/glib/glib/gstdio.c
    functionUses: []
    functionsReached:
    - _g_win32_readlink_handle_raw
    - CreateFileW
    - w32_error_to_errno
    - GetLastError
    - GetFileAttributesW
    - CloseHandle
    linkageType: ''
    returnType: int
    signature: 'static int _g_win32_readlink_utf16_raw (const gunichar2 *filename,
      DWORD *reparse_tag, gunichar2 *buf, gsize buf_size, gunichar2 **alloc_buf, gboolean
      terminate) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_win32_stat_fd
      Src: /src/glib/glib/gstdio.c:814,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - fd
    - buf
    argTypes:
    - int
    - GWin32PrivateStat*
    constantsTouched: []
    func_position:
      end: 815
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 815
    functionName: g_win32_fstat
    functionSourceFile: /src/glib/glib/gstdio.c
    functionUses: []
    functionsReached:
    - _g_win32_stat_fd
    linkageType: ''
    returnType: int
    signature: 'int g_win32_fstat (int fd, GWin32PrivateStat *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_win32_stat_utf8
      Src: /src/glib/glib/gstdio.c:804,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - filename
    - buf
    argTypes:
    - gchar*
    - GWin32PrivateStat*
    constantsTouched: []
    func_position:
      end: 805
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 805
    functionName: g_win32_lstat_utf8
    functionSourceFile: /src/glib/glib/gstdio.c
    functionUses: []
    functionsReached:
    - _g_win32_stat_utf8
    linkageType: ''
    returnType: int
    signature: 'int g_win32_lstat_utf8 (const gchar *filename, GWin32PrivateStat *buf) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstdio.c:862,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/gstdio.c:866,1
    - Dst: g_free
      Src: /src/glib/glib/gstdio.c:877,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/gstdio.c:882,1
    - Dst: _g_win32_readlink_utf16_handle
      Src: /src/glib/glib/gstdio.c:874,1
    - Dst: g_free
      Src: /src/glib/glib/gstdio.c:888,1
    - Dst: memcpy
      Src: /src/glib/glib/gstdio.c:905,1
    - Dst: g_free
      Src: /src/glib/glib/gstdio.c:906,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 5
    argNames:
    - filename
    - buf
    - buf_size
    - alloc_buf
    - terminate
    argTypes:
    - gchar*
    - gchar*
    - gsize
    - gchar**
    - gboolean
    constantsTouched: []
    func_position:
      end: 909
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 909
    functionName: g_win32_readlink_utf8
    functionSourceFile: /src/glib/glib/gstdio.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_return_val_if_fail
    - g_utf8_to_utf16
    - _g_win32_readlink_utf16_handle
    - g_free
    - g_utf16_to_utf8
    linkageType: ''
    returnType: int
    signature: 'int g_win32_readlink_utf8 (const gchar *filename, gchar *buf, gsize
      buf_size, gchar **alloc_buf, gboolean terminate) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _get_osfhandle
      Src: /src/glib/glib/gstdio.c:703,1
    - Dst: GetLastError
      Src: /src/glib/glib/gstdio.c:710,1
    - Dst: GetFileInformationByHandleEx
      Src: /src/glib/glib/gstdio.c:714,1
    - Dst: GetFileInformationByHandle
      Src: /src/glib/glib/gstdio.c:708,1
    - Dst: GetLastError
      Src: /src/glib/glib/gstdio.c:718,1
    - Dst: w32_error_to_errno
      Src: /src/glib/glib/gstdio.c:723,1
    - Dst: _g_win32_readlink_handle_raw
      Src: /src/glib/glib/gstdio.c:730,1
    - Dst: _fstat64
      Src: /src/glib/glib/gstdio.c:733,1
    - Dst: _g_win32_fill_privatestat
      Src: /src/glib/glib/gstdio.c:736,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - fd
    - buf
    argTypes:
    - int
    - GWin32PrivateStat*
    constantsTouched: []
    func_position:
      end: 743
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 743
    functionName: _g_win32_stat_fd
    functionSourceFile: /src/glib/glib/gstdio.c
    functionUses: []
    functionsReached:
    - _g_win32_readlink_handle_raw
    - _g_win32_fill_privatestat
    - _fstat64
    - w32_error_to_errno
    - GetFileInformationByHandleEx
    - _get_osfhandle
    - GetLastError
    - GetFileInformationByHandle
    linkageType: ''
    returnType: int
    signature: 'static int _g_win32_stat_fd (int fd, GWin32PrivateStat *buf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/gstdio.c:1117,1
    - Dst: g_free
      Src: /src/glib/glib/gstdio.c:1130,1
    - Dst: creat
      Src: /src/glib/glib/gstdio.c:1135,1
    - Dst: _wcreat
      Src: /src/glib/glib/gstdio.c:1127,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - filename
    - mode
    argTypes:
    - gchar*
    - int
    constantsTouched: []
    func_position:
      end: 1137
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1137
    functionName: g_creat
    functionSourceFile: /src/glib/glib/gstdio.c
    functionUses: []
    functionsReached:
    - g_utf8_to_utf16
    - g_free
    - creat
    - _wcreat
    linkageType: ''
    returnType: int
    signature: "int g_creat (const gchar *filename,\t int mode) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/gstdio.c:1161,1
    - Dst: w32_error_to_errno
      Src: /src/glib/glib/gstdio.c:1186,1
    - Dst: MoveFileExW
      Src: /src/glib/glib/gstdio.c:1181,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/gstdio.c:1172,1
    - Dst: g_free
      Src: /src/glib/glib/gstdio.c:1176,1
    - Dst: GetLastError
      Src: /src/glib/glib/gstdio.c:1186,1
    - Dst: g_free
      Src: /src/glib/glib/gstdio.c:1189,1
    - Dst: g_free
      Src: /src/glib/glib/gstdio.c:1190,1
    - Dst: rename
      Src: /src/glib/glib/gstdio.c:1195,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - oldfilename
    - newfilename
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1197
      start: 1156
    functionDepth: 0
    functionLinenumber: 1156
    functionLinenumberEnd: 1197
    functionName: g_rename
    functionSourceFile: /src/glib/glib/gstdio.c
    functionUses: []
    functionsReached:
    - g_utf8_to_utf16
    - w32_error_to_errno
    - MoveFileExW
    - GetLastError
    - rename
    - g_free
    linkageType: ''
    returnType: int
    signature: "int g_rename (const gchar *oldfilename,\t const gchar *newfilename) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/gstdio.c:1519,1
    - Dst: rmdir
      Src: /src/glib/glib/gstdio.c:1537,1
    - Dst: g_free
      Src: /src/glib/glib/gstdio.c:1532,1
    - Dst: _wrmdir
      Src: /src/glib/glib/gstdio.c:1529,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - filename
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1539
      start: 1515
    functionDepth: 0
    functionLinenumber: 1515
    functionLinenumberEnd: 1539
    functionName: g_rmdir
    functionSourceFile: /src/glib/glib/gstdio.c
    functionUses: []
    functionsReached:
    - g_utf8_to_utf16
    - g_free
    - _wrmdir
    - rmdir
    linkageType: ''
    returnType: int
    signature: 'int g_rmdir (const gchar *filename) '
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 2
    argCount: 1
    argNames:
    - error_code
    argTypes:
    - DWORD
    constantsTouched: []
    func_position:
      end: 139
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 139
    functionName: w32_error_to_errno
    functionSourceFile: /src/glib/glib/gstdio.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int w32_error_to_errno (DWORD error_code) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstdio.c:542,1
    - Dst: _g_win32_readlink_handle_raw
      Src: /src/glib/glib/gstdio.c:551,1
    - Dst: _g_win32_strip_extended_ntobjm_prefix
      Src: /src/glib/glib/gstdio.c:574,1
    - Dst: _g_win32_readlink_utf16_raw
      Src: /src/glib/glib/gstdio.c:549,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 7
    argNames:
    - filename
    - file_handle
    - reparse_tag
    - buf
    - buf_size
    - alloc_buf
    - terminate
    argTypes:
    - gunichar2*
    - HANDLE
    - DWORD*
    - gunichar2*
    - gsize
    - gunichar2**
    - gboolean
    constantsTouched: []
    func_position:
      end: 577
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 577
    functionName: _g_win32_readlink_utf16_handle
    functionSourceFile: /src/glib/glib/gstdio.c
    functionUses: []
    functionsReached:
    - _g_win32_readlink_utf16_raw
    - g_return_val_if_fail
    - _g_win32_readlink_handle_raw
    - _g_win32_strip_extended_ntobjm_prefix
    linkageType: ''
    returnType: int
    signature: 'static int _g_win32_readlink_utf16_handle (const gunichar2 *filename,
      HANDLE file_handle, DWORD *reparse_tag, gunichar2 *buf, gsize buf_size, gunichar2
      **alloc_buf, gboolean terminate) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GetFileAttributesW
      Src: /src/glib/glib/gstdio.c:601,1
    - Dst: GetLastError
      Src: /src/glib/glib/gstdio.c:605,1
    - Dst: CreateFileW
      Src: /src/glib/glib/gstdio.c:622,1
    - Dst: w32_error_to_errno
      Src: /src/glib/glib/gstdio.c:606,1
    - Dst: GetLastError
      Src: /src/glib/glib/gstdio.c:630,1
    - Dst: w32_error_to_errno
      Src: /src/glib/glib/gstdio.c:631,1
    - Dst: GetFileInformationByHandle
      Src: /src/glib/glib/gstdio.c:635,1
    - Dst: GetLastError
      Src: /src/glib/glib/gstdio.c:637,1
    - Dst: GetFileInformationByHandleEx
      Src: /src/glib/glib/gstdio.c:641,1
    - Dst: GetLastError
      Src: /src/glib/glib/gstdio.c:645,1
    - Dst: _g_win32_readlink_utf16_handle
      Src: /src/glib/glib/gstdio.c:662,1
    - Dst: g_free
      Src: /src/glib/glib/gstdio.c:679,1
    - Dst: CloseHandle
      Src: /src/glib/glib/gstdio.c:650,1
    - Dst: _g_win32_fill_privatestat
      Src: /src/glib/glib/gstdio.c:680,1
    - Dst: _g_win32_fill_statbuf_from_handle_info
      Src: /src/glib/glib/gstdio.c:675,1
    - Dst: CloseHandle
      Src: /src/glib/glib/gstdio.c:669,1
    - Dst: CloseHandle
      Src: /src/glib/glib/gstdio.c:673,1
    - Dst: w32_error_to_errno
      Src: /src/glib/glib/gstdio.c:651,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 3
    argNames:
    - filename
    - buf
    - for_symlink
    argTypes:
    - gunichar2*
    - GWin32PrivateStat*
    - gboolean
    constantsTouched: []
    func_position:
      end: 687
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 687
    functionName: _g_win32_stat_utf16_no_trailing_slashes
    functionSourceFile: /src/glib/glib/gstdio.c
    functionUses: []
    functionsReached:
    - _g_win32_fill_privatestat
    - CreateFileW
    - w32_error_to_errno
    - GetFileInformationByHandleEx
    - _g_win32_readlink_utf16_handle
    - GetLastError
    - GetFileAttributesW
    - CloseHandle
    - _g_win32_fill_statbuf_from_handle_info
    - g_free
    - GetFileInformationByHandle
    linkageType: ''
    returnType: int
    signature: 'static int _g_win32_stat_utf16_no_trailing_slashes (const gunichar2
      *filename, GWin32PrivateStat *buf, gboolean for_symlink) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/gstdio.c:1054,1
    - Dst: g_free
      Src: /src/glib/glib/gstdio.c:1067,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gstdio.c:1075,1
    - Dst: _wopen
      Src: /src/glib/glib/gstdio.c:1064,1
    - Dst: open
      Src: /src/glib/glib/gstdio.c:1074,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - filename
    - flags
    - mode
    argTypes:
    - gchar*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1078
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1078
    functionName: g_open
    functionSourceFile: /src/glib/glib/gstdio.c
    functionUses: []
    functionsReached:
    - _wopen
    - g_utf8_to_utf16
    - G_UNLIKELY
    - open
    - g_free
    linkageType: ''
    returnType: int
    signature: "int g_open (const gchar *filename,\tint flags,\tint mode) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/gstdio.c:1475,1
    - Dst: remove
      Src: /src/glib/glib/gstdio.c:1495,1
    - Dst: g_free
      Src: /src/glib/glib/gstdio.c:1490,1
    - Dst: _wremove
      Src: /src/glib/glib/gstdio.c:1485,1
    - Dst: _wrmdir
      Src: /src/glib/glib/gstdio.c:1487,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - filename
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1497
      start: 1471
    functionDepth: 0
    functionLinenumber: 1471
    functionLinenumberEnd: 1497
    functionName: g_remove
    functionSourceFile: /src/glib/glib/gstdio.c
    functionUses: []
    functionsReached:
    - g_utf8_to_utf16
    - remove
    - _wrmdir
    - _wremove
    - g_free
    linkageType: ''
    returnType: int
    signature: 'int g_remove (const gchar *filename) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_win32_stat_utf8
      Src: /src/glib/glib/gstdio.c:794,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - filename
    - buf
    argTypes:
    - gchar*
    - GWin32PrivateStat*
    constantsTouched: []
    func_position:
      end: 795
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 795
    functionName: g_win32_stat_utf8
    functionSourceFile: /src/glib/glib/gstdio.c
    functionUses: []
    functionsReached:
    - _g_win32_stat_utf8
    linkageType: ''
    returnType: int
    signature: 'int g_win32_stat_utf8 (const gchar *filename, GWin32PrivateStat *buf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/gstdio.c:1261,1
    - Dst: _wchdir
      Src: /src/glib/glib/gstdio.c:1271,1
    - Dst: chdir
      Src: /src/glib/glib/gstdio.c:1279,1
    - Dst: g_free
      Src: /src/glib/glib/gstdio.c:1274,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - path
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1281
      start: 1257
    functionDepth: 0
    functionLinenumber: 1257
    functionLinenumberEnd: 1281
    functionName: g_chdir
    functionSourceFile: /src/glib/glib/gstdio.c
    functionUses: []
    functionsReached:
    - g_utf8_to_utf16
    - g_free
    - _wchdir
    - chdir
    linkageType: ''
    returnType: int
    signature: 'int g_chdir (const gchar *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lstat
      Src: /src/glib/glib/gstdio.c:1376,1
    - Dst: g_stat
      Src: /src/glib/glib/gstdio.c:1395,1
    - Dst: g_win32_lstat_utf8
      Src: /src/glib/glib/gstdio.c:1379,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - filename
    - buf
    argTypes:
    - gchar*
    - GStatBuf*
    constantsTouched: []
    func_position:
      end: 1397
      start: 1370
    functionDepth: 0
    functionLinenumber: 1370
    functionLinenumberEnd: 1397
    functionName: g_lstat
    functionSourceFile: /src/glib/glib/gstdio.c
    functionUses: []
    functionsReached:
    - g_win32_lstat_utf8
    - g_stat
    - lstat
    linkageType: ''
    returnType: int
    signature: "int g_lstat (const gchar *filename,\t GStatBuf *buf) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/gstdio.c:1574,1
    - Dst: g_free
      Src: /src/glib/glib/gstdio.c:1589,1
    - Dst: _g_win32_fix_mode
      Src: /src/glib/glib/gstdio.c:1594,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/gstdio.c:1585,1
    - Dst: _wfopen
      Src: /src/glib/glib/gstdio.c:1595,1
    - Dst: g_free
      Src: /src/glib/glib/gstdio.c:1598,1
    - Dst: g_free
      Src: /src/glib/glib/gstdio.c:1599,1
    - Dst: fopen
      Src: /src/glib/glib/gstdio.c:1604,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1606
      start: 1569
    functionDepth: 0
    functionLinenumber: 1569
    functionLinenumberEnd: 1606
    functionName: g_fopen
    functionSourceFile: /src/glib/glib/gstdio.c
    functionUses: []
    functionsReached:
    - g_utf8_to_utf16
    - _wfopen
    - fopen
    - g_free
    - _g_win32_fix_mode
    linkageType: ''
    returnType: FILE*
    signature: "FILE *g_fopen (const gchar *filename,\t const gchar *mode) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/glib/gstdio.c:763,1
    - Dst: g_path_is_absolute
      Src: /src/glib/glib/gstdio.c:769,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gstdio.c:765,1
    - Dst: g_path_skip_root
      Src: /src/glib/glib/gstdio.c:769,1
    - Dst: strlen
      Src: /src/glib/glib/gstdio.c:770,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/gstdio.c:772,1
    - Dst: _g_win32_stat_utf16_no_trailing_slashes
      Src: /src/glib/glib/gstdio.c:780,1
    - Dst: g_free
      Src: /src/glib/glib/gstdio.c:782,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 3
    argNames:
    - filename
    - buf
    - for_symlink
    argTypes:
    - gchar*
    - GWin32PrivateStat*
    - gboolean
    constantsTouched: []
    func_position:
      end: 785
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 785
    functionName: _g_win32_stat_utf8
    functionSourceFile: /src/glib/glib/gstdio.c
    functionUses: []
    functionsReached:
    - strlen
    - g_utf8_to_utf16
    - _g_win32_stat_utf16_no_trailing_slashes
    - g_path_skip_root
    - G_IS_DIR_SEPARATOR
    - g_free
    - g_path_is_absolute
    linkageType: ''
    returnType: int
    signature: 'static int _g_win32_stat_utf8 (const gchar *filename, GWin32PrivateStat
      *buf, gboolean for_symlink) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/gstdio.c:1221,1
    - Dst: _wmkdir
      Src: /src/glib/glib/gstdio.c:1231,1
    - Dst: mkdir
      Src: /src/glib/glib/gstdio.c:1239,1
    - Dst: g_free
      Src: /src/glib/glib/gstdio.c:1234,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - filename
    - mode
    argTypes:
    - gchar*
    - int
    constantsTouched: []
    func_position:
      end: 1241
      start: 1216
    functionDepth: 0
    functionLinenumber: 1216
    functionLinenumberEnd: 1241
    functionName: g_mkdir
    functionSourceFile: /src/glib/glib/gstdio.c
    functionUses: []
    functionsReached:
    - g_utf8_to_utf16
    - _wmkdir
    - g_free
    - mkdir
    linkageType: ''
    returnType: int
    signature: "int g_mkdir (const gchar *filename,\t int mode) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ft
    - nsec
    argTypes:
    - FILETIME*
    - gint32*
    constantsTouched: []
    func_position:
      end: 193
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 193
    functionName: _g_win32_filetime_to_unix_time
    functionSourceFile: /src/glib/glib/gstdio.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint64
    signature: 'static gint64 _g_win32_filetime_to_unix_time (const FILETIME *ft,
      gint32 *nsec) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _alloca
      Src: /src/glib/glib/gstdio.c:226,1
    - Dst: iswalpha
      Src: /src/glib/glib/gstdio.c:240,1
    - Dst: wctomb
      Src: /src/glib/glib/gstdio.c:242,1
    - Dst: toupper
      Src: /src/glib/glib/gstdio.c:243,1
    - Dst: iswascii
      Src: /src/glib/glib/gstdio.c:241,1
    - Dst: _getdrive
      Src: /src/glib/glib/gstdio.c:249,1
    - Dst: S_ISDIR
      Src: /src/glib/glib/gstdio.c:273,1
    - Dst: wcschr
      Src: /src/glib/glib/gstdio.c:285,1
    - Dst: wcsicmp
      Src: /src/glib/glib/gstdio.c:294,1
    - Dst: wcsicmp
      Src: /src/glib/glib/gstdio.c:295,1
    - Dst: _g_win32_filetime_to_unix_time
      Src: /src/glib/glib/gstdio.c:305,1
    - Dst: wcsicmp
      Src: /src/glib/glib/gstdio.c:297,1
    - Dst: wcsicmp
      Src: /src/glib/glib/gstdio.c:296,1
    - Dst: _g_win32_filetime_to_unix_time
      Src: /src/glib/glib/gstdio.c:304,1
    - Dst: _g_win32_filetime_to_unix_time
      Src: /src/glib/glib/gstdio.c:306,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 83
    argCount: 4
    argNames:
    - filename
    - filename_target
    - handle_info
    - statbuf
    argTypes:
    - wchar_t*
    - wchar_t*
    - BY_HANDLE_FILE_INFORMATION*
    - struct __stat64*
    constantsTouched: []
    func_position:
      end: 309
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 309
    functionName: _g_win32_fill_statbuf_from_handle_info
    functionSourceFile: /src/glib/glib/gstdio.c
    functionUses: []
    functionsReached:
    - wctomb
    - _g_win32_filetime_to_unix_time
    - _alloca
    - wcsicmp
    - _getdrive
    - iswalpha
    - wcschr
    - S_ISDIR
    - toupper
    - iswascii
    linkageType: ''
    returnType: int
    signature: 'static int _g_win32_fill_statbuf_from_handle_info (const wchar_t *filename,
      const wchar_t *filename_target, const BY_HANDLE_FILE_INFORMATION *handle_info,
      struct __stat64 *statbuf) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstdio.c:394,1
    - Dst: GetLastError
      Src: /src/glib/glib/gstdio.c:403,1
    - Dst: w32_error_to_errno
      Src: /src/glib/glib/gstdio.c:404,1
    - Dst: DeviceIoControl
      Src: /src/glib/glib/gstdio.c:398,1
    - Dst: _g_win32_copy_and_maybe_terminate
      Src: /src/glib/glib/gstdio.c:431,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 6
    argNames:
    - h
    - reparse_tag
    - buf
    - buf_size
    - alloc_buf
    - terminate
    argTypes:
    - HANDLE
    - DWORD*
    - gunichar2*
    - gsize
    - gunichar2**
    - gboolean
    constantsTouched: []
    func_position:
      end: 432
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 432
    functionName: _g_win32_readlink_handle_raw
    functionSourceFile: /src/glib/glib/gstdio.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - w32_error_to_errno
    - GetLastError
    - DeviceIoControl
    - _g_win32_copy_and_maybe_terminate
    linkageType: ''
    returnType: int
    signature: 'static int _g_win32_readlink_handle_raw (HANDLE h, DWORD *reparse_tag,
      gunichar2 *buf, gsize buf_size, gunichar2 **alloc_buf, gboolean terminate) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/gstdio.c:995,1
    - Dst: chmod
      Src: /src/glib/glib/gstdio.c:1013,1
    - Dst: _wchmod
      Src: /src/glib/glib/gstdio.c:1005,1
    - Dst: g_free
      Src: /src/glib/glib/gstdio.c:1008,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - filename
    - mode
    argTypes:
    - gchar*
    - int
    constantsTouched: []
    func_position:
      end: 1015
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 1015
    functionName: g_chmod
    functionSourceFile: /src/glib/glib/gstdio.c
    functionUses: []
    functionsReached:
    - g_utf8_to_utf16
    - _wchmod
    - chmod
    - g_free
    linkageType: ''
    returnType: int
    signature: "int g_chmod (const gchar *filename,\t int mode) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/gstdio.c:1724,1
    - Dst: _wutime
      Src: /src/glib/glib/gstdio.c:1734,1
    - Dst: utime
      Src: /src/glib/glib/gstdio.c:1742,1
    - Dst: g_free
      Src: /src/glib/glib/gstdio.c:1737,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - filename
    - utb
    argTypes:
    - gchar*
    - struct utimbuf*
    constantsTouched: []
    func_position:
      end: 1744
      start: 1719
    functionDepth: 0
    functionLinenumber: 1719
    functionLinenumberEnd: 1744
    functionName: g_utime
    functionSourceFile: /src/glib/glib/gstdio.c
    functionUses: []
    functionsReached:
    - g_utf8_to_utf16
    - _wutime
    - utime
    - g_free
    linkageType: ''
    returnType: int
    signature: "int g_utime (const gchar *filename,\t struct utimbuf *utb) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_win32_filetime_to_unix_time
      Src: /src/glib/glib/gstdio.c:335,1
    - Dst: _g_win32_filetime_to_unix_time
      Src: /src/glib/glib/gstdio.c:339,1
    - Dst: _g_win32_filetime_to_unix_time
      Src: /src/glib/glib/gstdio.c:337,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 5
    argNames:
    - statbuf
    - handle_info
    - std_info
    - reparse_tag
    - buf
    argTypes:
    - struct __stat64*
    - BY_HANDLE_FILE_INFORMATION*
    - FILE_STANDARD_INFO*
    - DWORD
    - GWin32PrivateStat*
    constantsTouched: []
    func_position:
      end: 341
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 341
    functionName: _g_win32_fill_privatestat
    functionSourceFile: /src/glib/glib/gstdio.c
    functionUses: []
    functionsReached:
    - _g_win32_filetime_to_unix_time
    linkageType: ''
    returnType: void
    signature: 'static void _g_win32_fill_privatestat (const struct __stat64 *statbuf,
      const BY_HANDLE_FILE_INFORMATION *handle_info, const FILE_STANDARD_INFO *std_info,
      DWORD reparse_tag, GWin32PrivateStat *buf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wcschr
      Src: /src/glib/glib/gstdio.c:154,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - mode
    argTypes:
    - wchar_t*
    constantsTouched: []
    func_position:
      end: 161
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 161
    functionName: _g_win32_fix_mode
    functionSourceFile: /src/glib/glib/gstdio.c
    functionUses: []
    functionsReached:
    - wcschr
    linkageType: ''
    returnType: void
    signature: 'static void _g_win32_fix_mode (wchar_t *mode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/gstdio.c:943,1
    - Dst: g_free
      Src: /src/glib/glib/gstdio.c:960,1
    - Dst: _waccess
      Src: /src/glib/glib/gstdio.c:957,1
    - Dst: access
      Src: /src/glib/glib/gstdio.c:965,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - filename
    - mode
    argTypes:
    - gchar*
    - int
    constantsTouched: []
    func_position:
      end: 967
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 967
    functionName: g_access
    functionSourceFile: /src/glib/glib/gstdio.c
    functionUses: []
    functionsReached:
    - g_utf8_to_utf16
    - _waccess
    - g_free
    - access
    linkageType: ''
    returnType: int
    signature: "int g_access (const gchar *filename,\t int mode) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/gstdio.c:1422,1
    - Dst: unlink
      Src: /src/glib/glib/gstdio.c:1440,1
    - Dst: g_free
      Src: /src/glib/glib/gstdio.c:1435,1
    - Dst: _wunlink
      Src: /src/glib/glib/gstdio.c:1432,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - filename
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1442
      start: 1418
    functionDepth: 0
    functionLinenumber: 1418
    functionLinenumberEnd: 1442
    functionName: g_unlink
    functionSourceFile: /src/glib/glib/gstdio.c
    functionUses: []
    functionsReached:
    - g_utf8_to_utf16
    - _wunlink
    - g_free
    - unlink
    linkageType: ''
    returnType: int
    signature: 'int g_unlink (const gchar *filename) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/gstdio.c:1631,1
    - Dst: g_free
      Src: /src/glib/glib/gstdio.c:1646,1
    - Dst: _wfreopen
      Src: /src/glib/glib/gstdio.c:1652,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/gstdio.c:1642,1
    - Dst: _g_win32_fix_mode
      Src: /src/glib/glib/gstdio.c:1651,1
    - Dst: g_free
      Src: /src/glib/glib/gstdio.c:1655,1
    - Dst: g_free
      Src: /src/glib/glib/gstdio.c:1656,1
    - Dst: freopen
      Src: /src/glib/glib/gstdio.c:1661,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1663
      start: 1625
    functionDepth: 0
    functionLinenumber: 1625
    functionLinenumberEnd: 1663
    functionName: g_freopen
    functionSourceFile: /src/glib/glib/gstdio.c
    functionUses: []
    functionsReached:
    - freopen
    - g_utf8_to_utf16
    - _wfreopen
    - g_free
    - _g_win32_fix_mode
    linkageType: ''
    returnType: FILE*
    signature: "FILE *g_freopen (const gchar *filename,\t const gchar *mode,\t FILE\
      \ *stream) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _commit
      Src: /src/glib/glib/gstdio.c:1687,1
    - Dst: fsync
      Src: /src/glib/glib/gstdio.c:1694,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gstdio.c:1696,1
    - Dst: fcntl
      Src: /src/glib/glib/gstdio.c:1692,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - fd
    argTypes:
    - gint
    constantsTouched: []
    func_position:
      end: 1701
      start: 1683
    functionDepth: 0
    functionLinenumber: 1683
    functionLinenumberEnd: 1701
    functionName: g_fsync
    functionSourceFile: /src/glib/glib/gstdio.c
    functionUses: []
    functionsReached:
    - G_UNLIKELY
    - fcntl
    - fsync
    - _commit
    linkageType: ''
    returnType: gint
    signature: 'gint g_fsync (gint fd) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/glib/glib/gstdio.c:1782,1
    - Dst: g_strerror
      Src: /src/glib/glib/gstdio.c:1812,1
    - Dst: g_critical
      Src: /src/glib/glib/gstdio.c:1825,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gstdio.c:1810,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/gstdio.c:1811,1
    - Dst: g_critical
      Src: /src/glib/glib/gstdio.c:1831,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - fd
    - error
    argTypes:
    - gint
    - GError**
    constantsTouched: []
    func_position:
      end: 1841
      start: 1773
    functionDepth: 0
    functionLinenumber: 1773
    functionLinenumberEnd: 1841
    functionName: g_close
    functionSourceFile: /src/glib/glib/gstdio.c
    functionUses: []
    functionsReached:
    - g_strerror
    - g_file_error_from_errno
    - g_set_error_literal
    - close
    - g_critical
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_close (gint fd, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_win32_stat_utf8
      Src: /src/glib/glib/gstdio.c:1330,1
    - Dst: stat
      Src: /src/glib/glib/gstdio.c:1346,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - filename
    - buf
    argTypes:
    - gchar*
    - GStatBuf*
    constantsTouched: []
    func_position:
      end: 1348
      start: 1324
    functionDepth: 0
    functionLinenumber: 1324
    functionLinenumberEnd: 1348
    functionName: g_stat
    functionSourceFile: /src/glib/glib/gstdio.c
    functionUses: []
    functionsReached:
    - g_win32_stat_utf8
    - stat
    linkageType: ''
    returnType: int
    signature: "int g_stat (const gchar *filename,\tGStatBuf *buf) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gprintf.c:56,1
    - Dst: g_vprintf
      Src: /src/glib/glib/gprintf.c:57,1
    - Dst: va_end
      Src: /src/glib/glib/gprintf.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - format
    - '...'
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 61
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 61
    functionName: g_printf
    functionSourceFile: /src/glib/glib/gprintf.c
    functionUses: []
    functionsReached:
    - g_vprintf
    - va_start
    - va_end
    linkageType: ''
    returnType: gint
    signature: "gint g_printf (gchar const *format,\t ...) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gprintf.c:125,1
    - Dst: g_vsprintf
      Src: /src/glib/glib/gprintf.c:126,1
    - Dst: va_end
      Src: /src/glib/glib/gprintf.c:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - string
    - format
    - '...'
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 130
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 130
    functionName: g_sprintf
    functionSourceFile: /src/glib/glib/gprintf.c
    functionUses: []
    functionsReached:
    - g_vsprintf
    - va_start
    - va_end
    linkageType: ''
    returnType: gint
    signature: "gint g_sprintf (gchar *string,\t gchar const *format,\t ...) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gprintf.c:197,1
    - Dst: _g_vprintf
      Src: /src/glib/glib/gprintf.c:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - format
    - args
    argTypes:
    - gchar*
    - va_list
    constantsTouched: []
    func_position:
      end: 200
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 200
    functionName: g_vprintf
    functionSourceFile: /src/glib/glib/gprintf.c
    functionUses: []
    functionsReached:
    - _g_vprintf
    - g_return_val_if_fail
    linkageType: ''
    returnType: gint
    signature: "gint g_vprintf (gchar const *format,\t va_list args) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gprintf.c:249,1
    - Dst: _g_vsprintf
      Src: /src/glib/glib/gprintf.c:252,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gprintf.c:250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - string
    - format
    - args
    argTypes:
    - gchar*
    - gchar*
    - va_list
    constantsTouched: []
    func_position:
      end: 253
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 253
    functionName: g_vsprintf
    functionSourceFile: /src/glib/glib/gprintf.c
    functionUses: []
    functionsReached:
    - _g_vsprintf
    - g_return_val_if_fail
    linkageType: ''
    returnType: gint
    signature: "gint g_vsprintf (gchar\t *string,\t gchar const *format,\t va_list\
      \ args) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gprintf.c:87,1
    - Dst: va_end
      Src: /src/glib/glib/gprintf.c:89,1
    - Dst: g_vfprintf
      Src: /src/glib/glib/gprintf.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - file
    - format
    - '...'
    argTypes:
    - FILE*
    - gchar*
    constantsTouched: []
    func_position:
      end: 92
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 92
    functionName: g_fprintf
    functionSourceFile: /src/glib/glib/gprintf.c
    functionUses: []
    functionsReached:
    - g_vfprintf
    - va_start
    - va_end
    linkageType: ''
    returnType: gint
    signature: "gint g_fprintf (FILE *file, gchar const *format,\t ...) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gprintf.c:171,1
    - Dst: g_vsnprintf
      Src: /src/glib/glib/gprintf.c:172,1
    - Dst: va_end
      Src: /src/glib/glib/gprintf.c:173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - string
    - n
    - format
    - '...'
    argTypes:
    - gchar*
    - gulong
    - gchar*
    constantsTouched: []
    func_position:
      end: 176
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 176
    functionName: g_snprintf
    functionSourceFile: /src/glib/glib/gprintf.c
    functionUses: []
    functionsReached:
    - g_vsnprintf
    - va_start
    - va_end
    linkageType: ''
    returnType: gint
    signature: "gint g_snprintf (gchar\t*string,\t gulong\t n,\t gchar const *format,\t\
      \ ...) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gprintf.c:223,1
    - Dst: _g_vfprintf
      Src: /src/glib/glib/gprintf.c:225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - file
    - format
    - args
    argTypes:
    - FILE*
    - gchar*
    - va_list
    constantsTouched: []
    func_position:
      end: 226
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 226
    functionName: g_vfprintf
    functionSourceFile: /src/glib/glib/gprintf.c
    functionUses: []
    functionsReached:
    - _g_vfprintf
    - g_return_val_if_fail
    linkageType: ''
    returnType: gint
    signature: "gint g_vfprintf (FILE *file, gchar const *format,\t va_list args) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gprintf.c:291,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gprintf.c:292,1
    - Dst: _g_vsnprintf
      Src: /src/glib/glib/gprintf.c:294,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - string
    - n
    - format
    - args
    argTypes:
    - gchar*
    - gulong
    - gchar*
    - va_list
    constantsTouched: []
    func_position:
      end: 295
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 295
    functionName: g_vsnprintf
    functionSourceFile: /src/glib/glib/gprintf.c
    functionUses: []
    functionsReached:
    - _g_vsnprintf
    - g_return_val_if_fail
    linkageType: ''
    returnType: gint
    signature: "gint g_vsnprintf (gchar\t *string,\t gulong\t n,\t gchar const *format,\t\
      \ va_list args) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gprintf.c:328,1
    - Dst: fputs
      Src: /src/glib/glib/gprintf.c:350,1
    - Dst: fputs
      Src: /src/glib/glib/gprintf.c:349,1
    - Dst: vasprintf
      Src: /src/glib/glib/gprintf.c:340,1
    - Dst: _g_gnulib_vasprintf
      Src: /src/glib/glib/gprintf.c:332,1
    - Dst: g_abort
      Src: /src/glib/glib/gprintf.c:351,1
    - Dst: va_copy
      Src: /src/glib/glib/gprintf.c:365,1
    - Dst: _g_vsnprintf
      Src: /src/glib/glib/gprintf.c:367,1
    - Dst: va_end
      Src: /src/glib/glib/gprintf.c:373,1
    - Dst: g_new
      Src: /src/glib/glib/gprintf.c:378,1
    - Dst: _g_vsprintf
      Src: /src/glib/glib/gprintf.c:380,1
    - Dst: va_end
      Src: /src/glib/glib/gprintf.c:381,1
    - Dst: g_assert
      Src: /src/glib/glib/gprintf.c:384,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 3
    argNames:
    - string
    - format
    - args
    argTypes:
    - gchar**
    - gchar*
    - va_list
    constantsTouched: []
    func_position:
      end: 389
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 389
    functionName: g_vasprintf
    functionSourceFile: /src/glib/glib/gprintf.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - va_copy
    - g_new
    - vasprintf
    - g_assert
    - _g_vsprintf
    - _g_vsnprintf
    - _g_gnulib_vasprintf
    - va_end
    - fputs
    - g_abort
    linkageType: ''
    returnType: gint
    signature: "gint g_vasprintf (gchar **string,\t gchar const *format,\t va_list\
      \ args) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/gstring.c:170,1
    - Dst: g_slice_new
      Src: /src/glib/glib/gstring.c:173,1
    - Dst: strlen
      Src: /src/glib/glib/gstring.c:176,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 180
    functionName: g_string_new_take
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - g_slice_new
    - strlen
    - g_string_new
    linkageType: ''
    returnType: GString*
    signature: 'GString *g_string_new_take (gchar *init) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstring.c:238,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gstring.c:248,1
    - Dst: g_free
      Src: /src/glib/glib/gstring.c:242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 251
    functionName: (g_string_free)
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_return_val_if_fail
    - g_free
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *(g_string_free) (GString *string, gboolean free_segment) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_insert_len
      Src: /src/glib/glib/gstring.c:698,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 699
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 699
    functionName: g_string_prepend_len
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - g_string_insert_len
    linkageType: ''
    returnType: GString*
    signature: 'GString *g_string_prepend_len (GString *string, const gchar *val,
      gssize len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstring.c:734,1
    - Dst: g_string_insert_unichar
      Src: /src/glib/glib/gstring.c:736,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 737
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 737
    functionName: g_string_prepend_unichar
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_string_insert_unichar
    linkageType: ''
    returnType: GString*
    signature: 'GString *g_string_prepend_unichar (GString *string, gunichar wc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_insert_len
      Src: /src/glib/glib/gstring.c:755,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 756
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 756
    functionName: g_string_insert
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - g_string_insert_len
    linkageType: ''
    returnType: GString*
    signature: 'GString *g_string_insert (GString *string, gssize pos, const gchar
      *val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gstring.c:1422,1
    - Dst: va_end
      Src: /src/glib/glib/gstring.c:1424,1
    - Dst: g_string_append_vprintf
      Src: /src/glib/glib/gstring.c:1423,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - string
    - format
    - '...'
    argTypes:
    - GString*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1425
      start: 1415
    functionDepth: 0
    functionLinenumber: 1415
    functionLinenumberEnd: 1425
    functionName: g_string_append_printf
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - g_string_append_vprintf
    - va_start
    - va_end
    linkageType: ''
    returnType: void
    signature: 'void g_string_append_printf (GString *string, const gchar *format,
      ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_insert_len
      Src: /src/glib/glib/gstring.c:672,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 673
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 673
    functionName: g_string_prepend
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - g_string_insert_len
    linkageType: ''
    returnType: GString*
    signature: 'GString *g_string_prepend (GString *string, const gchar *val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstring.c:715,1
    - Dst: g_string_insert_c
      Src: /src/glib/glib/gstring.c:717,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 718
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 718
    functionName: g_string_prepend_c
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - g_string_insert_c
    - g_return_val_if_fail
    linkageType: ''
    returnType: GString*
    signature: 'GString *g_string_prepend_c (GString *string, gchar c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_truncate
      Src: /src/glib/glib/gstring.c:1385,1
    - Dst: g_string_append_vprintf
      Src: /src/glib/glib/gstring.c:1388,1
    - Dst: va_end
      Src: /src/glib/glib/gstring.c:1389,1
    - Dst: va_start
      Src: /src/glib/glib/gstring.c:1387,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - string
    - format
    - '...'
    argTypes:
    - GString*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1390
      start: 1378
    functionDepth: 0
    functionLinenumber: 1378
    functionLinenumberEnd: 1390
    functionName: g_string_printf
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - g_string_append_vprintf
    - va_start
    - va_end
    - g_string_truncate
    linkageType: ''
    returnType: void
    signature: 'void g_string_printf (GString *string, const gchar *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_truncate
      Src: /src/glib/glib/gstring.c:1347,1
    - Dst: g_string_append_vprintf
      Src: /src/glib/glib/gstring.c:1348,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - string
    - format
    - args
    argTypes:
    - GString*
    - gchar*
    - va_list
    constantsTouched: []
    func_position:
      end: 1349
      start: 1342
    functionDepth: 0
    functionLinenumber: 1342
    functionLinenumberEnd: 1349
    functionName: g_string_vprintf
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - g_string_append_vprintf
    - g_string_truncate
    linkageType: ''
    returnType: void
    signature: 'void g_string_vprintf (GString *string, const gchar *format, va_list
      args) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstring.c:381,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstring.c:382,1
    - Dst: g_string_truncate
      Src: /src/glib/glib/gstring.c:390,1
    - Dst: g_string_append
      Src: /src/glib/glib/gstring.c:391,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 395
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 395
    functionName: g_string_assign
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_string_append
    - g_string_truncate
    linkageType: ''
    returnType: GString*
    signature: 'GString *g_string_assign (GString *string, const gchar *rval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstring.c:899,1
    - Dst: strlen
      Src: /src/glib/glib/gstring.c:900,1
    - Dst: g_string_overwrite_len
      Src: /src/glib/glib/gstring.c:900,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 901
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 901
    functionName: g_string_overwrite
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - g_string_overwrite_len
    - g_return_val_if_fail
    - strlen
    linkageType: ''
    returnType: GString*
    signature: 'GString *g_string_overwrite (GString *string, gsize pos, const gchar
      *val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstring.c:1177,1
    - Dst: g_ascii_tolower
      Src: /src/glib/glib/gstring.c:1184,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1171
    functionDepth: 0
    functionLinenumber: 1171
    functionLinenumberEnd: 1190
    functionName: g_string_ascii_down
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_ascii_tolower
    linkageType: ''
    returnType: GString*
    signature: 'GString *g_string_ascii_down (GString *string) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstring.c:1241,1
    - Dst: isupper
      Src: /src/glib/glib/gstring.c:1248,1
    - Dst: tolower
      Src: /src/glib/glib/gstring.c:1249,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1255
    functionName: g_string_down
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - tolower
    - isupper
    - g_return_val_if_fail
    linkageType: ''
    returnType: GString*
    signature: 'GString *g_string_down (GString *string) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_error
      Src: /src/glib/glib/gstring.c:72,1
    - Dst: g_nearest_pow
      Src: /src/glib/glib/gstring.c:74,1
    - Dst: g_realloc
      Src: /src/glib/glib/gstring.c:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - string
    - len
    argTypes:
    - GString*
    - gsize
    constantsTouched: []
    func_position:
      end: 82
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 82
    functionName: g_string_expand
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - g_error
    - g_realloc
    - g_nearest_pow
    linkageType: ''
    returnType: void
    signature: 'static void g_string_expand (GString *string, gsize len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    argCount: 2
    argNames:
    - v
    - v2
    argTypes:
    - GString*
    - GString*
    constantsTouched: []
    func_position:
      end: 337
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 337
    functionName: g_string_equal
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_string_equal (const GString *v, const GString *v2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - str
    argTypes:
    - GString*
    constantsTouched: []
    func_position:
      end: 362
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 362
    functionName: g_string_hash
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint
    signature: 'guint g_string_hash (const GString *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_insert_len
      Src: /src/glib/glib/gstring.c:617,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 618
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 618
    functionName: (g_string_append_len)
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - g_string_insert_len
    linkageType: ''
    returnType: GString*
    signature: 'GString *(g_string_append_len) (GString *string, const gchar *val,
      gssize len) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstring.c:819,1
    - Dst: g_string_maybe_expand
      Src: /src/glib/glib/gstring.c:854,1
    - Dst: memmove
      Src: /src/glib/glib/gstring.c:863,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstring.c:859,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 880
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 880
    functionName: g_string_insert_unichar
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - g_string_maybe_expand
    - memmove
    - g_return_val_if_fail
    linkageType: ''
    returnType: GString*
    signature: 'GString *g_string_insert_unichar (GString *string, gssize pos, gunichar
      wc) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_error
      Src: /src/glib/glib/gstring.c:1050,1
    - Dst: g_free
      Src: /src/glib/glib/gstring.c:1071,1
    - Dst: memcpy
      Src: /src/glib/glib/gstring.c:1103,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gstring.c:1141,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gstring.c:1142,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gstring.c:1147,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gstring.c:1151,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstring.c:1030,1
    - Dst: strlen
      Src: /src/glib/glib/gstring.c:1040,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstring.c:1032,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstring.c:1031,1
    - Dst: strlen
      Src: /src/glib/glib/gstring.c:1041,1
    - Dst: g_error
      Src: /src/glib/glib/gstring.c:1058,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gstring.c:1066,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gstring.c:1074,1
    - Dst: memmove
      Src: /src/glib/glib/gstring.c:1130,1
    - Dst: memmove
      Src: /src/glib/glib/gstring.c:1101,1
    - Dst: strstr
      Src: /src/glib/glib/gstring.c:1095,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gstring.c:1064,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gstring.c:1115,1
    - Dst: g_string_free_and_steal
      Src: /src/glib/glib/gstring.c:1151,1
    - Dst: strstr
      Src: /src/glib/glib/gstring.c:1034,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gstring.c:1045,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gstring.c:1061,1
    - Dst: g_string_free_and_steal
      Src: /src/glib/glib/gstring.c:1074,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gstring.c:1069,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gstring.c:1114,1
    - Dst: g_free
      Src: /src/glib/glib/gstring.c:1148,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 112
    argCount: 4
    argNames:
    - string
    - find
    - replace
    - limit
    argTypes:
    - GString*
    - gchar*
    - gchar*
    - guint
    constantsTouched: []
    func_position:
      end: 1159
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1159
    functionName: g_string_replace
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - memcpy
    - g_return_val_if_fail
    - strlen
    - g_string_append_len
    - g_string_append_c
    - memmove
    - g_string_free_and_steal
    - G_UNLIKELY
    - g_string_sized_new
    - g_error
    - g_free
    - strstr
    linkageType: ''
    returnType: guint
    signature: 'guint g_string_replace (GString *string, const gchar *find, const
      gchar *replace, guint limit) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstring.c:1208,1
    - Dst: g_ascii_toupper
      Src: /src/glib/glib/gstring.c:1215,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1202
    functionDepth: 0
    functionLinenumber: 1202
    functionLinenumberEnd: 1221
    functionName: g_string_ascii_up
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_ascii_toupper
    linkageType: ''
    returnType: GString*
    signature: 'GString *g_string_ascii_up (GString *string) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gstring.c:88,1
    - Dst: g_string_expand
      Src: /src/glib/glib/gstring.c:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - string
    - len
    argTypes:
    - GString*
    - gsize
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: g_string_maybe_expand
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - g_string_expand
    - G_UNLIKELY
    linkageType: ''
    returnType: void
    signature: 'static inline void g_string_maybe_expand (GString *string, gsize len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstring.c:294,1
    - Dst: g_bytes_new_take
      Src: /src/glib/glib/gstring.c:300,1
    - Dst: g_string_free
      Src: /src/glib/glib/gstring.c:298,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 301
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 301
    functionName: g_string_free_to_bytes
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - g_bytes_new_take
    - g_string_free
    - g_return_val_if_fail
    linkageType: ''
    returnType: GBytes*
    signature: 'GBytes *g_string_free_to_bytes (GString *string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_insert_len
      Src: /src/glib/glib/gstring.c:591,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 592
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 592
    functionName: (g_string_append)
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - g_string_insert_len
    linkageType: ''
    returnType: GString*
    signature: 'GString *(g_string_append) (GString *string, const gchar *val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstring.c:653,1
    - Dst: g_string_insert_unichar
      Src: /src/glib/glib/gstring.c:655,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 656
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 656
    functionName: g_string_append_unichar
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_string_insert_unichar
    linkageType: ''
    returnType: GString*
    signature: 'GString *g_string_append_unichar (GString *string, gunichar wc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gstring.c:1312,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gstring.c:1313,1
    - Dst: g_vasprintf
      Src: /src/glib/glib/gstring.c:1315,1
    - Dst: memcpy
      Src: /src/glib/glib/gstring.c:1320,1
    - Dst: g_string_maybe_expand
      Src: /src/glib/glib/gstring.c:1319,1
    - Dst: g_free
      Src: /src/glib/glib/gstring.c:1322,1
    - Dst: g_critical
      Src: /src/glib/glib/gstring.c:1326,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - string
    - format
    - args
    argTypes:
    - GString*
    - gchar*
    - va_list
    constantsTouched: []
    func_position:
      end: 1328
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1328
    functionName: g_string_append_vprintf
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_return_if_fail
    - g_string_maybe_expand
    - g_vasprintf
    - g_critical
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_string_append_vprintf (GString *string, const gchar *format,
      va_list args) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gstring.c:133,1
    - Dst: strlen
      Src: /src/glib/glib/gstring.c:138,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gstring.c:141,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gstring.c:139,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 145
    functionName: g_string_new
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - g_string_append_len
    - strlen
    - g_string_sized_new
    linkageType: ''
    returnType: GString*
    signature: 'GString *g_string_new (const gchar *init) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstring.c:435,1
    - Dst: g_string_maybe_expand
      Src: /src/glib/glib/gstring.c:438,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 444
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 444
    functionName: g_string_set_size
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - g_string_maybe_expand
    - g_return_val_if_fail
    linkageType: ''
    returnType: GString*
    signature: 'GString *g_string_set_size (GString *string, gsize len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _uri_encoder
      Src: /src/glib/glib/gstring.c:572,1
    - Dst: strlen
      Src: /src/glib/glib/gstring.c:572,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 575
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 575
    functionName: g_string_append_uri_escaped
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - _uri_encoder
    - strlen
    linkageType: ''
    returnType: GString*
    signature: 'GString *g_string_append_uri_escaped (GString *string, const gchar
      *unescaped, const gchar *reserved_chars_allowed, gboolean allow_utf8) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstring.c:634,1
    - Dst: g_string_insert_c
      Src: /src/glib/glib/gstring.c:636,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 637
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 637
    functionName: (g_string_append_c)
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - g_string_insert_c
    - g_return_val_if_fail
    linkageType: ''
    returnType: GString*
    signature: 'GString *(g_string_append_c) (GString *string, gchar c) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstring.c:971,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstring.c:972,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstring.c:975,1
    - Dst: memmove
      Src: /src/glib/glib/gstring.c:985,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstring.c:982,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 995
      start: 964
    functionDepth: 0
    functionLinenumber: 964
    functionLinenumberEnd: 995
    functionName: g_string_erase
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - memmove
    - g_return_val_if_fail
    linkageType: ''
    returnType: GString*
    signature: 'GString *g_string_erase (GString *string, gssize pos, gssize len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstring.c:1275,1
    - Dst: islower
      Src: /src/glib/glib/gstring.c:1282,1
    - Dst: toupper
      Src: /src/glib/glib/gstring.c:1283,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1269
    functionDepth: 0
    functionLinenumber: 1269
    functionLinenumberEnd: 1289
    functionName: g_string_up
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - islower
    - g_return_val_if_fail
    - toupper
    linkageType: ''
    returnType: GString*
    signature: 'GString *g_string_up (GString *string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/glib/gstring.c:106,1
    - Dst: MAX
      Src: /src/glib/glib/gstring.c:112,1
    - Dst: g_string_expand
      Src: /src/glib/glib/gstring.c:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 116
    functionName: g_string_sized_new
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - g_string_expand
    - g_slice_new
    - MAX
    linkageType: ''
    returnType: GString*
    signature: 'GString *g_string_sized_new (gsize dfl_size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/gstring.c:204,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gstring.c:210,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gstring.c:207,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 214
    functionName: g_string_new_len
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - g_string_sized_new
    - g_string_append_len
    - g_string_new
    linkageType: ''
    returnType: GString*
    signature: 'GString *g_string_new_len (const gchar *init, gssize len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 270
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 270
    functionName: g_string_free_and_steal
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_string_free_and_steal (GString *string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstring.c:410,1
    - Dst: MIN
      Src: /src/glib/glib/gstring.c:412,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 416
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 416
    functionName: (g_string_truncate)
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - MIN
    linkageType: ''
    returnType: GString*
    signature: 'GString *(g_string_truncate) (GString *string, gsize len) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstring.c:475,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gstring.c:498,1
    - Dst: strlen
      Src: /src/glib/glib/gstring.c:482,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstring.c:490,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstring.c:476,1
    - Dst: g_string_maybe_expand
      Src: /src/glib/glib/gstring.c:503,1
    - Dst: memmove
      Src: /src/glib/glib/gstring.c:509,1
    - Dst: MIN
      Src: /src/glib/glib/gstring.c:515,1
    - Dst: memcpy
      Src: /src/glib/glib/gstring.c:516,1
    - Dst: memcpy
      Src: /src/glib/glib/gstring.c:521,1
    - Dst: memcpy
      Src: /src/glib/glib/gstring.c:541,1
    - Dst: memmove
      Src: /src/glib/glib/gstring.c:534,1
    - Dst: g_string_maybe_expand
      Src: /src/glib/glib/gstring.c:528,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 549
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 549
    functionName: g_string_insert_len
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_return_val_if_fail
    - strlen
    - g_string_maybe_expand
    - memmove
    - MIN
    - G_UNLIKELY
    linkageType: ''
    returnType: GString*
    signature: 'GString *g_string_insert_len (GString *string, gssize pos, const gchar
      *val, gssize len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstring.c:775,1
    - Dst: g_string_maybe_expand
      Src: /src/glib/glib/gstring.c:777,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstring.c:782,1
    - Dst: memmove
      Src: /src/glib/glib/gstring.c:787,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 797
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 797
    functionName: g_string_insert_c
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - g_string_maybe_expand
    - memmove
    - g_return_val_if_fail
    linkageType: ''
    returnType: GString*
    signature: 'GString *g_string_insert_c (GString *string, gssize pos, gchar c) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstring.c:925,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstring.c:931,1
    - Dst: g_string_maybe_expand
      Src: /src/glib/glib/gstring.c:939,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gstring.c:930,1
    - Dst: strlen
      Src: /src/glib/glib/gstring.c:934,1
    - Dst: memcpy
      Src: /src/glib/glib/gstring.c:941,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 950
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 950
    functionName: g_string_overwrite_len
    functionSourceFile: /src/glib/glib/gstring.c
    functionUses: []
    functionsReached:
    - g_string_maybe_expand
    - memcpy
    - g_return_val_if_fail
    - strlen
    linkageType: ''
    returnType: GString*
    signature: 'GString *g_string_overwrite_len (GString *string, gsize pos, const
      gchar *val, gssize len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: g_leak_sanitizer_is_supported
    functionSourceFile: /src/glib/glib/glib-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean g_leak_sanitizer_is_supported (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __lsan_disable
      Src: /src/glib/glib/glib-private.h:166,1
    - Dst: __lsan_disable
      Src: /src/glib/glib/glib-private.h:169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 171
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 171
    functionName: g_begin_ignore_leaks
    functionSourceFile: /src/glib/glib/glib-private.h
    functionUses: []
    functionsReached:
    - __lsan_disable
    linkageType: ''
    returnType: void
    signature: 'static inline void g_begin_ignore_leaks (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: __lsan_ignore_object
      Src: /src/glib/glib/glib-private.h:122,1
    - Dst: __lsan_ignore_object
      Src: /src/glib/glib/glib-private.h:125,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - p
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 127
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 127
    functionName: g_ignore_leak
    functionSourceFile: /src/glib/glib/glib-private.h
    functionUses: []
    functionsReached:
    - __lsan_ignore_object
    linkageType: ''
    returnType: void
    signature: 'static inline void g_ignore_leak (gconstpointer p) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_leak_sanitizer_is_supported
      Src: /src/glib/glib/glib-private.h:141,1
    - Dst: g_ignore_leak
      Src: /src/glib/glib/glib-private.h:149,1
    - Dst: g_ignore_leak
      Src: /src/glib/glib/glib-private.h:146,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - strv
    argTypes:
    - GStrv
    constantsTouched: []
    func_position:
      end: 151
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 151
    functionName: g_ignore_strv_leak
    functionSourceFile: /src/glib/glib/glib-private.h
    functionUses: []
    functionsReached:
    - g_ignore_leak
    - g_leak_sanitizer_is_supported
    linkageType: ''
    returnType: void
    signature: 'static inline void g_ignore_strv_leak (GStrv strv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __lsan_enable
      Src: /src/glib/glib/glib-private.h:183,1
    - Dst: __lsan_enable
      Src: /src/glib/glib/glib-private.h:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 188
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 188
    functionName: g_end_ignore_leaks
    functionSourceFile: /src/glib/glib/glib-private.h
    functionUses: []
    functionsReached:
    - __lsan_enable
    linkageType: ''
    returnType: void
    signature: 'static inline void g_end_ignore_leaks (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 51
    functionName: typedef
    functionSourceFile: /src/glib/glib/gdatetime-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: G_BEGIN_DECLS
    signature: 'G_BEGIN_DECLS /** * GEraDate: * @type: the type of date * @year: year
      of the date, in the Gregorian calendar * @month: month of the date, in the Gregorian
      calendar * @day: day of the date, in the Gregorian calendar * * A date from
      a #GEraDescriptionSegment. * * If @type is %G_ERA_DATE_SET, @year, @month and
      @day are valid. Otherwise, * they are undefined. * * Since: 2.80 */ typedef
      struct '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strxfrm
      Src: /src/glib/glib/gunicollate.c:56,1
    - Dst: strxfrm
      Src: /src/glib/glib/gunicollate.c:58,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - string1
    - string2
    - count
    argTypes:
    - char*
    - char*
    - gsize
    constantsTouched: []
    func_position:
      end: 59
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 59
    functionName: msc_strxfrm_wrapper
    functionSourceFile: /src/glib/glib/gunicollate.c
    functionUses: []
    functionsReached:
    - strxfrm
    linkageType: ''
    returnType: gsize
    signature: "static gsize msc_strxfrm_wrapper (char *string1,\t\t const char *string2,\t\
      \t gsize count) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/glib/glib/gunicollate.c:246,1
    - Dst: memcpy
      Src: /src/glib/glib/gunicollate.c:247,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 251
    functionName: collate_key_to_string
    functionSourceFile: /src/glib/glib/gunicollate.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_malloc
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *collate_key_to_string (UCCollationValue *key, gsize
      key_len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - buf
    - val
    argTypes:
    - char*
    - wchar_t
    constantsTouched: []
    func_position:
      end: 214
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 214
    functionName: utf8_encode
    functionSourceFile: /src/glib/glib/gunicollate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int utf8_encode (char *buf, wchar_t val) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/gunicollate.c:269,1
    - Dst: UCGetCollationKey
      Src: /src/glib/glib/gunicollate.c:292,1
    - Dst: g_renew
      Src: /src/glib/glib/gunicollate.c:289,1
    - Dst: UCGetCollationKey
      Src: /src/glib/glib/gunicollate.c:284,1
    - Dst: g_new
      Src: /src/glib/glib/gunicollate.c:279,1
    - Dst: collate_key_to_string
      Src: /src/glib/glib/gunicollate.c:297,1
    - Dst: g_strdup
      Src: /src/glib/glib/gunicollate.c:299,1
    - Dst: g_free
      Src: /src/glib/glib/gunicollate.c:301,1
    - Dst: g_free
      Src: /src/glib/glib/gunicollate.c:302,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 304
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 304
    functionName: carbon_collate_key_with_collator
    functionSourceFile: /src/glib/glib/gunicollate.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_renew
    - g_new
    - g_utf8_to_utf16
    - collate_key_to_string
    - g_free
    - UCGetCollationKey
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *carbon_collate_key_with_collator (const gchar *str,
      gssize len, CollatorRef collator) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gunicollate.c:312,1
    - Dst: UCCreateCollator
      Src: /src/glib/glib/gunicollate.c:314,1
    - Dst: g_warning
      Src: /src/glib/glib/gunicollate.c:320,1
    - Dst: carbon_collate_key_with_collator
      Src: /src/glib/glib/gunicollate.c:326,1
    - Dst: g_strdup
      Src: /src/glib/glib/gunicollate.c:322,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 327
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 327
    functionName: carbon_collate_key
    functionSourceFile: /src/glib/glib/gunicollate.c
    functionUses: []
    functionsReached:
    - UCCreateCollator
    - g_strdup
    - g_warning
    - carbon_collate_key_with_collator
    - G_UNLIKELY
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *carbon_collate_key (const gchar *str, gssize len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gunicollate.c:335,1
    - Dst: UCCreateCollator
      Src: /src/glib/glib/gunicollate.c:338,1
    - Dst: g_warning
      Src: /src/glib/glib/gunicollate.c:351,1
    - Dst: g_strdup
      Src: /src/glib/glib/gunicollate.c:353,1
    - Dst: carbon_collate_key_with_collator
      Src: /src/glib/glib/gunicollate.c:357,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 358
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 358
    functionName: carbon_collate_key_for_filename
    functionSourceFile: /src/glib/glib/gunicollate.c
    functionUses: []
    functionsReached:
    - UCCreateCollator
    - g_strdup
    - g_warning
    - carbon_collate_key_with_collator
    - G_UNLIKELY
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *carbon_collate_key_for_filename (const gchar *str, gssize
      len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gunicollate.c:97,1
    - Dst: g_free
      Src: /src/glib/glib/gunicollate.c:107,1
    - Dst: _g_utf8_normalize_wc
      Src: /src/glib/glib/gunicollate.c:119,1
    - Dst: g_free
      Src: /src/glib/glib/gunicollate.c:124,1
    - Dst: g_utf8_normalize
      Src: /src/glib/glib/gunicollate.c:136,1
    - Dst: strcoll
      Src: /src/glib/glib/gunicollate.c:140,1
    - Dst: g_free
      Src: /src/glib/glib/gunicollate.c:156,1
    - Dst: g_free
      Src: /src/glib/glib/gunicollate.c:108,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gunicollate.c:116,1
    - Dst: _g_utf8_normalize_wc
      Src: /src/glib/glib/gunicollate.c:118,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gunicollate.c:132,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gunicollate.c:133,1
    - Dst: g_utf8_normalize
      Src: /src/glib/glib/gunicollate.c:135,1
    - Dst: strcmp
      Src: /src/glib/glib/gunicollate.c:154,1
    - Dst: g_free
      Src: /src/glib/glib/gunicollate.c:157,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gunicollate.c:96,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/gunicollate.c:99,1
    - Dst: wcscoll
      Src: /src/glib/glib/gunicollate.c:121,1
    - Dst: g_get_charset
      Src: /src/glib/glib/gunicollate.c:138,1
    - Dst: g_free
      Src: /src/glib/glib/gunicollate.c:160,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/gunicollate.c:100,1
    - Dst: UCCompareTextDefault
      Src: /src/glib/glib/gunicollate.c:102,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gunicollate.c:115,1
    - Dst: g_free
      Src: /src/glib/glib/gunicollate.c:123,1
    - Dst: g_convert
      Src: /src/glib/glib/gunicollate.c:144,1
    - Dst: g_convert
      Src: /src/glib/glib/gunicollate.c:145,1
    - Dst: strcoll
      Src: /src/glib/glib/gunicollate.c:148,1
    - Dst: g_free
      Src: /src/glib/glib/gunicollate.c:161,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 52
    argCount: 2
    argNames:
    - str1
    - str2
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 166
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 166
    functionName: g_utf8_collate
    functionSourceFile: /src/glib/glib/gunicollate.c
    functionUses: []
    functionsReached:
    - strcoll
    - g_return_val_if_fail
    - _g_utf8_normalize_wc
    - g_utf8_to_utf16
    - strcmp
    - UCCompareTextDefault
    - g_get_charset
    - g_convert
    - g_utf8_normalize
    - g_free
    - wcscoll
    linkageType: ''
    returnType: gint
    signature: "gint g_utf8_collate (const gchar *str1,\t\tconst gchar *str2) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/glib/glib/gunicollate.c:417,1
    - Dst: g_free
      Src: /src/glib/glib/gunicollate.c:424,1
    - Dst: g_free
      Src: /src/glib/glib/gunicollate.c:458,1
    - Dst: memcpy
      Src: /src/glib/glib/gunicollate.c:477,1
    - Dst: strlen
      Src: /src/glib/glib/gunicollate.c:474,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gunicollate.c:408,1
    - Dst: g_free
      Src: /src/glib/glib/gunicollate.c:425,1
    - Dst: strxfrm
      Src: /src/glib/glib/gunicollate.c:442,1
    - Dst: strxfrm
      Src: /src/glib/glib/gunicollate.c:446,1
    - Dst: utf8_encode
      Src: /src/glib/glib/gunicollate.c:420,1
    - Dst: g_convert
      Src: /src/glib/glib/gunicollate.c:451,1
    - Dst: strxfrm
      Src: /src/glib/glib/gunicollate.c:455,1
    - Dst: g_malloc
      Src: /src/glib/glib/gunicollate.c:464,1
    - Dst: g_free
      Src: /src/glib/glib/gunicollate.c:468,1
    - Dst: g_utf8_normalize
      Src: /src/glib/glib/gunicollate.c:436,1
    - Dst: g_malloc
      Src: /src/glib/glib/gunicollate.c:475,1
    - Dst: g_free
      Src: /src/glib/glib/gunicollate.c:481,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gunicollate.c:434,1
    - Dst: strxfrm
      Src: /src/glib/glib/gunicollate.c:466,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gunicollate.c:393,1
    - Dst: _g_utf8_normalize_wc
      Src: /src/glib/glib/gunicollate.c:406,1
    - Dst: carbon_collate_key
      Src: /src/glib/glib/gunicollate.c:394,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gunicollate.c:404,1
    - Dst: wcsxfrm
      Src: /src/glib/glib/gunicollate.c:410,1
    - Dst: g_new
      Src: /src/glib/glib/gunicollate.c:411,1
    - Dst: wcsxfrm
      Src: /src/glib/glib/gunicollate.c:412,1
    - Dst: utf8_encode
      Src: /src/glib/glib/gunicollate.c:415,1
    - Dst: g_get_charset
      Src: /src/glib/glib/gunicollate.c:440,1
    - Dst: g_malloc
      Src: /src/glib/glib/gunicollate.c:445,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 84
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 485
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 485
    functionName: g_utf8_collate_key
    functionSourceFile: /src/glib/glib/gunicollate.c
    functionUses: []
    functionsReached:
    - memcpy
    - wcsxfrm
    - g_return_val_if_fail
    - g_new
    - _g_utf8_normalize_wc
    - carbon_collate_key
    - strlen
    - g_free
    - g_malloc
    - g_get_charset
    - strxfrm
    - g_convert
    - g_utf8_normalize
    - utf8_encode
    linkageType: ''
    returnType: gchar*
    signature: "gchar *g_utf8_collate_key (const gchar *str,\t\t gssize len) "
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/glib/gunicollate.c:582,1
    - Dst: g_string_append
      Src: /src/glib/glib/gunicollate.c:598,1
    - Dst: g_free
      Src: /src/glib/glib/gunicollate.c:599,1
    - Dst: g_string_append
      Src: /src/glib/glib/gunicollate.c:621,1
    - Dst: g_string_append
      Src: /src/glib/glib/gunicollate.c:689,1
    - Dst: g_free
      Src: /src/glib/glib/gunicollate.c:690,1
    - Dst: g_string_free
      Src: /src/glib/glib/gunicollate.c:696,1
    - Dst: carbon_collate_key_for_filename
      Src: /src/glib/glib/gunicollate.c:698,1
    - Dst: g_ascii_isdigit
      Src: /src/glib/glib/gunicollate.c:645,1
    - Dst: g_string_append
      Src: /src/glib/glib/gunicollate.c:625,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gunicollate.c:584,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gunicollate.c:585,1
    - Dst: g_free
      Src: /src/glib/glib/gunicollate.c:622,1
    - Dst: g_utf8_collate_key
      Src: /src/glib/glib/gunicollate.c:597,1
    - Dst: g_string_append
      Src: /src/glib/glib/gunicollate.c:602,1
    - Dst: g_utf8_collate_key
      Src: /src/glib/glib/gunicollate.c:620,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gunicollate.c:663,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gunicollate.c:669,1
    - Dst: g_utf8_collate_key
      Src: /src/glib/glib/gunicollate.c:688,1
    - Dst: g_string_append
      Src: /src/glib/glib/gunicollate.c:693,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gunicollate.c:674,1
    - Dst: g_string_free
      Src: /src/glib/glib/gunicollate.c:694,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 72
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 700
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 700
    functionName: g_utf8_collate_key_for_filename
    functionSourceFile: /src/glib/glib/gunicollate.c
    functionUses: []
    functionsReached:
    - carbon_collate_key_for_filename
    - strlen
    - g_string_append_len
    - g_string_append_c
    - g_utf8_collate_key
    - g_string_free
    - g_string_sized_new
    - g_ascii_isdigit
    - g_free
    - g_string_append
    linkageType: ''
    returnType: gchar*
    signature: "gchar *g_utf8_collate_key_for_filename (const gchar *str,\t\t\t\t\
      \ gssize len) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 183
    functionName: my_strchrnul
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: G_GNUC_END_IGNORE_DEPRECATIONS*
    signature: "G_GNUC_END_IGNORE_DEPRECATIONS /* Based on execvp() from GNU Libc.\
      \ * Some of this code is cut-and-pasted into gspawn.c */ static gchar *my_strchrnul\
      \ (const gchar *str, \t gchar c) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_strsplit
      Src: /src/glib/glib/gutils.c:1534,1
    - Dst: g_shell_unquote
      Src: /src/glib/glib/gutils.c:1544,1
    - Dst: strlen
      Src: /src/glib/glib/gutils.c:1543,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gutils.c:1535,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/gutils.c:1541,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:1546,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gutils.c:1550,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:1551,1
    - Dst: g_str_equal
      Src: /src/glib/glib/gutils.c:1557,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:1558,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:1562,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gutils.c:1566,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:1560,1
    - Dst: g_str_equal
      Src: /src/glib/glib/gutils.c:1561,1
    - Dst: g_str_equal
      Src: /src/glib/glib/gutils.c:1559,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1567
      start: 1525
    functionDepth: 0
    functionLinenumber: 1525
    functionLinenumberEnd: 1567
    functionName: get_os_info_from_os_release
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_strdup_printf
    - g_strdup
    - strlen
    - g_shell_unquote
    - g_str_has_prefix
    - g_strfreev
    - g_strsplit
    - g_free
    - g_str_equal
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *get_os_info_from_os_release (const gchar *key_name,
      const gchar *buffer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_str_equal
      Src: /src/glib/glib/gutils.c:1761,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:1768,1
    - Dst: g_ignore_leak
      Src: /src/glib/glib/gutils.c:1767,1
    - Dst: g_debug
      Src: /src/glib/glib/gutils.c:1763,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - global_str
    - type
    - new_value
    argTypes:
    - gchar**
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1770
      start: 1755
    functionDepth: 0
    functionLinenumber: 1755
    functionLinenumberEnd: 1770
    functionName: set_str_if_different
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_ignore_leak
    - g_debug
    - g_strdup
    - g_str_equal
    linkageType: ''
    returnType: void
    signature: 'static void set_str_if_different (gchar **global_str, const gchar
      *type, const gchar *new_value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/gutils.c:1916,1
    - Dst: g_build_user_data_dir
      Src: /src/glib/glib/gutils.c:1919,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gutils.c:1922,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1925
      start: 1911
    functionDepth: 0
    functionLinenumber: 1911
    functionLinenumberEnd: 1925
    functionName: g_get_user_data_dir
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - G_LOCK
    - g_build_user_data_dir
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_get_user_data_dir (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/gutils.c:2108,1
    - Dst: g_build_user_state_dir
      Src: /src/glib/glib/gutils.c:2111,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gutils.c:2114,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2117
      start: 2103
    functionDepth: 0
    functionLinenumber: 2103
    functionLinenumberEnd: 2117
    functionName: g_get_user_state_dir
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - g_build_user_state_dir
    - G_LOCK
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_get_user_state_dir (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bit_nth_lsf_impl
      Src: /src/glib/glib/gutils.c:541,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - mask
    - nth_bit
    argTypes:
    - gulong
    - gint
    constantsTouched: []
    func_position:
      end: 542
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 542
    functionName: (g_bit_nth_lsf)
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_bit_nth_lsf_impl
    linkageType: ''
    returnType: gint
    signature: 'gint (g_bit_nth_lsf) (gulong mask, gint nth_bit) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RegOpenKeyExW
      Src: /src/glib/glib/gutils.c:1292,1
    - Dst: RegCloseKey
      Src: /src/glib/glib/gutils.c:1306,1
    - Dst: g_malloc
      Src: /src/glib/glib/gutils.c:1311,1
    - Dst: RegQueryValueExW
      Src: /src/glib/glib/gutils.c:1297,1
    - Dst: RegQueryValueExW
      Src: /src/glib/glib/gutils.c:1314,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/gutils.c:1324,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:1330,1
    - Dst: RegCloseKey
      Src: /src/glib/glib/gutils.c:1331,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1334
      start: 1280
    functionDepth: 0
    functionLinenumber: 1280
    functionLinenumberEnd: 1334
    functionName: get_registry_str
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - RegQueryValueExW
    - g_free
    - g_malloc
    - RegCloseKey
    - RegOpenKeyExW
    - g_utf16_to_utf8
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *get_registry_str (HKEY root_key, const wchar_t *path,
      const wchar_t *value_name) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: uname
      Src: /src/glib/glib/gutils.c:1574,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:1580,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:1578,1
    - Dst: strcmp
      Src: /src/glib/glib/gutils.c:1583,1
    - Dst: g_strcanon
      Src: /src/glib/glib/gutils.c:1587,1
    - Dst: strchr
      Src: /src/glib/glib/gutils.c:1609,1
    - Dst: MIN
      Src: /src/glib/glib/gutils.c:1608,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gutils.c:1588,1
    - Dst: strcmp
      Src: /src/glib/glib/gutils.c:1581,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/gutils.c:1627,1
    - Dst: strcmp
      Src: /src/glib/glib/gutils.c:1628,1
    - Dst: strchr
      Src: /src/glib/glib/gutils.c:1635,1
    - Dst: MIN
      Src: /src/glib/glib/gutils.c:1638,1
    - Dst: MIN
      Src: /src/glib/glib/gutils.c:1610,1
    - Dst: strcmp
      Src: /src/glib/glib/gutils.c:1616,1
    - Dst: strcmp
      Src: /src/glib/glib/gutils.c:1590,1
    - Dst: strcmp
      Src: /src/glib/glib/gutils.c:1601,1
    - Dst: strchr
      Src: /src/glib/glib/gutils.c:1607,1
    - Dst: g_ascii_strdown
      Src: /src/glib/glib/gutils.c:1625,1
    - Dst: strcmp
      Src: /src/glib/glib/gutils.c:1629,1
    - Dst: g_ascii_strdown
      Src: /src/glib/glib/gutils.c:1642,1
    - Dst: g_ascii_strdown
      Src: /src/glib/glib/gutils.c:1645,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gutils.c:1648,1
    - Dst: strcmp
      Src: /src/glib/glib/gutils.c:1579,1
    - Dst: strcmp
      Src: /src/glib/glib/gutils.c:1577,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gutils.c:1582,1
    - Dst: g_ascii_strdown
      Src: /src/glib/glib/gutils.c:1585,1
    - Dst: g_ascii_strdown
      Src: /src/glib/glib/gutils.c:1614,1
    - Dst: strchr
      Src: /src/glib/glib/gutils.c:1620,1
    - Dst: MIN
      Src: /src/glib/glib/gutils.c:1636,1
    - Dst: strchr
      Src: /src/glib/glib/gutils.c:1637,1
    - Dst: g_strcanon
      Src: /src/glib/glib/gutils.c:1647,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 77
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1652
      start: 1569
    functionDepth: 0
    functionLinenumber: 1569
    functionLinenumberEnd: 1652
    functionName: get_os_info_from_uname
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_strdup_printf
    - g_strdup
    - g_ascii_strdown
    - strcmp
    - MIN
    - g_str_has_prefix
    - strchr
    - g_strcanon
    - uname
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *get_os_info_from_uname (const gchar *key_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strv_equal
      Src: /src/glib/glib/gutils.c:1778,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:1782,1
    - Dst: g_strjoinv
      Src: /src/glib/glib/gutils.c:1780,1
    - Dst: g_debug
      Src: /src/glib/glib/gutils.c:1781,1
    - Dst: g_ignore_strv_leak
      Src: /src/glib/glib/gutils.c:1786,1
    - Dst: g_strdupv
      Src: /src/glib/glib/gutils.c:1787,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 3
    argNames:
    - global_strv
    - type
    - new_value
    argTypes:
    - gchar***
    - gchar*
    - gchar**
    constantsTouched: []
    func_position:
      end: 1789
      start: 1772
    functionDepth: 0
    functionLinenumber: 1772
    functionLinenumberEnd: 1789
    functionName: set_strv_if_different
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_strv_equal
    - g_strdupv
    - g_debug
    - g_ignore_strv_leak
    - g_strjoinv
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void set_strv_if_different (gchar ***global_strv, const gchar
      *type, const gchar * const *new_value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_getenv
      Src: /src/glib/glib/gutils.c:1931,1
    - Dst: g_build_home_dir
      Src: /src/glib/glib/gutils.c:1941,1
    - Dst: get_special_folder
      Src: /src/glib/glib/gutils.c:1937,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:1934,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:1942,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gutils.c:1943,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:1944,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gutils.c:1947,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1948
      start: 1927
    functionDepth: 0
    functionLinenumber: 1927
    functionLinenumberEnd: 1948
    functionName: g_build_user_config_dir
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_strdup
    - g_getenv
    - g_build_filename
    - g_free
    - get_special_folder
    - g_build_home_dir
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *g_build_user_config_dir (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_getenv
      Src: /src/glib/glib/gutils.c:2123,1
    - Dst: g_build_user_cache_dir
      Src: /src/glib/glib/gutils.c:2136,1
    - Dst: g_mkdir
      Src: /src/glib/glib/gutils.c:2150,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:2127,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gutils.c:2153,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2154
      start: 2119
    functionDepth: 0
    functionLinenumber: 2119
    functionLinenumberEnd: 2154
    functionName: g_build_user_runtime_dir
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_strdup
    - g_getenv
    - g_build_user_cache_dir
    - g_mkdir
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *g_build_user_runtime_dir (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_user_special_dirs_macos
      Src: /src/glib/glib/gutils.c:2202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2203
      start: 2199
    functionDepth: 0
    functionLinenumber: 2199
    functionLinenumberEnd: 2203
    functionName: load_user_special_dirs
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - load_user_special_dirs_macos
    linkageType: ''
    returnType: void
    signature: 'static void load_user_special_dirs (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_tmp_dir
      Src: /src/glib/glib/gutils.c:3265,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3265
      start: 3265
    functionDepth: 0
    functionLinenumber: 3265
    functionLinenumberEnd: 3265
    functionName: g_get_tmp_dir_utf8
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_get_tmp_dir
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_get_tmp_dir_utf8 (void) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: g_file_test
      Src: /src/glib/glib/gutils.c:338,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:345,1
    - Dst: g_path_is_absolute
      Src: /src/glib/glib/gutils.c:362,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:354,1
    - Dst: g_path_get_dirname
      Src: /src/glib/glib/gutils.c:406,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:407,1
    - Dst: g_strconcat
      Src: /src/glib/glib/gutils.c:415,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:417,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:425,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:438,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:500,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:498,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:507,1
    - Dst: strchr
      Src: /src/glib/glib/gutils.c:334,1
    - Dst: g_path_is_absolute
      Src: /src/glib/glib/gutils.c:343,1
    - Dst: g_get_current_dir
      Src: /src/glib/glib/gutils.c:349,1
    - Dst: GetModuleFileNameW
      Src: /src/glib/glib/gutils.c:392,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:446,1
    - Dst: strlen
      Src: /src/glib/glib/gutils.c:451,1
    - Dst: g_malloc
      Src: /src/glib/glib/gutils.c:453,1
    - Dst: memcpy
      Src: /src/glib/glib/gutils.c:456,1
    - Dst: my_strchrnul
      Src: /src/glib/glib/gutils.c:468,1
    - Dst: g_path_is_absolute
      Src: /src/glib/glib/gutils.c:479,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gutils.c:481,1
    - Dst: memcpy
      Src: /src/glib/glib/gutils.c:476,1
    - Dst: g_file_test
      Src: /src/glib/glib/gutils.c:486,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:514,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gutils.c:360,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gutils.c:350,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:351,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/gutils.c:394,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/gutils.c:398,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/gutils.c:402,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:410,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:416,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:424,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:431,1
    - Dst: strlen
      Src: /src/glib/glib/gutils.c:452,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:490,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gutils.c:494,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:495,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:511,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:512,1
    - Dst: g_path_is_absolute
      Src: /src/glib/glib/gutils.c:489,1
    - Dst: g_get_current_dir
      Src: /src/glib/glib/gutils.c:493,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gutils.c:319,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gutils.c:324,1
    - Dst: g_path_is_absolute
      Src: /src/glib/glib/gutils.c:322,1
    - Dst: strchr
      Src: /src/glib/glib/gutils.c:332,1
    - Dst: g_path_is_absolute
      Src: /src/glib/glib/gutils.c:331,1
    - Dst: g_file_test
      Src: /src/glib/glib/gutils.c:339,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gutils.c:356,1
    - Dst: g_getenv
      Src: /src/glib/glib/gutils.c:370,1
    - Dst: GetSystemDirectoryW
      Src: /src/glib/glib/gutils.c:396,1
    - Dst: GetWindowsDirectoryW
      Src: /src/glib/glib/gutils.c:400,1
    - Dst: g_strconcat
      Src: /src/glib/glib/gutils.c:430,1
    - Dst: g_strconcat
      Src: /src/glib/glib/gutils.c:423,1
    - Dst: g_file_test
      Src: /src/glib/glib/gutils.c:485,1
    - Dst: g_strconcat
      Src: /src/glib/glib/gutils.c:437,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:499,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:502,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:439,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 157
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 518
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 518
    functionName: g_find_program_for_path
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - memcpy
    - g_strconcat
    - g_malloc
    - my_strchrnul
    - GetWindowsDirectoryW
    - g_get_current_dir
    - g_utf16_to_utf8
    - g_clear_pointer
    - g_build_filename
    - g_file_test
    - g_path_get_dirname
    - g_strdup
    - GetModuleFileNameW
    - strlen
    - g_getenv
    - GetSystemDirectoryW
    - g_return_val_if_fail
    - strchr
    - g_free
    - g_path_is_absolute
    linkageType: ''
    returnType: char*
    signature: 'char *g_find_program_for_path (const char *program, const char *path,
      const char *working_dir) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/glib/glib/gutils.c:688,1
    - Dst: getuid
      Src: /src/glib/glib/gutils.c:730,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:734,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gutils.c:750,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:756,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:777,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:684,1
    - Dst: getpwuid_r
      Src: /src/glib/glib/gutils.c:698,1
    - Dst: g_warning
      Src: /src/glib/glib/gutils.c:711,1
    - Dst: g_strsplit
      Src: /src/glib/glib/gutils.c:744,1
    - Dst: getuid
      Src: /src/glib/glib/gutils.c:712,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:746,1
    - Dst: g_ascii_toupper
      Src: /src/glib/glib/gutils.c:747,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:751,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:758,1
    - Dst: g_once_init_enter_pointer
      Src: /src/glib/glib/gutils.c:657,1
    - Dst: sysconf
      Src: /src/glib/glib/gutils.c:672,1
    - Dst: getpwuid_r
      Src: /src/glib/glib/gutils.c:695,1
    - Dst: getpwuid
      Src: /src/glib/glib/gutils.c:730,1
    - Dst: g_strerror
      Src: /src/glib/glib/gutils.c:718,1
    - Dst: getuid
      Src: /src/glib/glib/gutils.c:698,1
    - Dst: g_strsplit
      Src: /src/glib/glib/gutils.c:745,1
    - Dst: g_strjoinv
      Src: /src/glib/glib/gutils.c:748,1
    - Dst: GetUserNameW
      Src: /src/glib/glib/gutils.c:768,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:771,1
    - Dst: g_getenv
      Src: /src/glib/glib/gutils.c:680,1
    - Dst: getpwnam_r
      Src: /src/glib/glib/gutils.c:692,1
    - Dst: getuid
      Src: /src/glib/glib/gutils.c:693,1
    - Dst: getuid
      Src: /src/glib/glib/gutils.c:695,1
    - Dst: g_warning
      Src: /src/glib/glib/gutils.c:717,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gutils.c:749,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/gutils.c:770,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:779,1
    - Dst: g_once_init_leave_pointer
      Src: /src/glib/glib/gutils.c:781,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 93
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 785
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 785
    functionName: g_get_user_database_entry
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - getuid
    - g_strerror
    - g_malloc
    - g_strsplit
    - GetUserNameW
    - sysconf
    - g_utf16_to_utf8
    - getpwuid
    - g_warning
    - g_ascii_toupper
    - getpwuid_r
    - g_strfreev
    - g_once_init_enter_pointer
    - g_once_init_leave_pointer
    - g_strdup
    - g_getenv
    - getpwnam_r
    - g_strjoinv
    - g_free
    linkageType: ''
    returnType: UserDatabaseEntry*
    signature: 'static UserDatabaseEntry *g_get_user_database_entry (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_user_database_entry
      Src: /src/glib/glib/gutils.c:823,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 826
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 826
    functionName: g_get_real_name
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_get_user_database_entry
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_get_real_name (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_registry_str
      Src: /src/glib/glib/gutils.c:1345,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:1363,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gutils.c:1367,1
    - Dst: wcstol
      Src: /src/glib/glib/gutils.c:1355,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1370
      start: 1339
    functionDepth: 0
    functionLinenumber: 1339
    functionLinenumberEnd: 1370
    functionName: get_windows_8_1_update
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - get_registry_str
    - g_strdup
    - wcstol
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *get_windows_8_1_update (void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gutils.c:3203,1
    - Dst: _
      Src: /src/glib/glib/gutils.c:3216,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gutils.c:3221,1
    - Dst: g_dngettext
      Src: /src/glib/glib/gutils.c:3203,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gutils.c:3216,1
    - Dst: _
      Src: /src/glib/glib/gutils.c:3221,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gutils.c:3226,1
    - Dst: _
      Src: /src/glib/glib/gutils.c:3226,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gutils.c:3231,1
    - Dst: _
      Src: /src/glib/glib/gutils.c:3231,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gutils.c:3241,1
    - Dst: _
      Src: /src/glib/glib/gutils.c:3241,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gutils.c:3236,1
    - Dst: _
      Src: /src/glib/glib/gutils.c:3236,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3244
      start: 3199
    functionDepth: 0
    functionLinenumber: 3199
    functionLinenumberEnd: 3244
    functionName: g_format_size_for_display
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - _
    - g_dngettext
    - g_strdup_printf
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_format_size_for_display (goffset size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getauxval
      Src: /src/glib/glib/gutils.c:3281,1
    - Dst: issetugid
      Src: /src/glib/glib/gutils.c:3293,1
    - Dst: g_once_init_enter
      Src: /src/glib/glib/gutils.c:3301,1
    - Dst: g_strerror
      Src: /src/glib/glib/gutils.c:3284,1
    - Dst: g_error
      Src: /src/glib/glib/gutils.c:3284,1
    - Dst: getresuid
      Src: /src/glib/glib/gutils.c:3309,1
    - Dst: getresgid
      Src: /src/glib/glib/gutils.c:3310,1
    - Dst: getuid
      Src: /src/glib/glib/gutils.c:3313,1
    - Dst: getgid
      Src: /src/glib/glib/gutils.c:3314,1
    - Dst: geteuid
      Src: /src/glib/glib/gutils.c:3315,1
    - Dst: g_once_init_leave
      Src: /src/glib/glib/gutils.c:3322,1
    - Dst: getegid
      Src: /src/glib/glib/gutils.c:3316,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 39
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3328
      start: 3273
    functionDepth: 0
    functionLinenumber: 3273
    functionLinenumberEnd: 3328
    functionName: g_check_setuid
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_once_init_leave
    - getuid
    - getauxval
    - getegid
    - getresgid
    - getgid
    - g_strerror
    - g_once_init_enter
    - g_error
    - issetugid
    - getresuid
    - geteuid
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_check_setuid (void) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:1678,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gutils.c:1687,1
    - Dst: get_os_info_from_uname
      Src: /src/glib/glib/gutils.c:1707,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:1715,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gutils.c:1719,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:1737,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:1741,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:1745,1
    - Dst: g_error_matches
      Src: /src/glib/glib/gutils.c:1697,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gutils.c:1712,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gutils.c:1716,1
    - Dst: g_ascii_strdown
      Src: /src/glib/glib/gutils.c:1731,1
    - Dst: g_strcanon
      Src: /src/glib/glib/gutils.c:1734,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gutils.c:1738,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gutils.c:1742,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gutils.c:1689,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/gutils.c:1694,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gutils.c:1710,1
    - Dst: get_windows_version
      Src: /src/glib/glib/gutils.c:1721,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:1713,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:1732,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:1739,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:1743,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gutils.c:1744,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gutils.c:1677,1
    - Dst: g_clear_error
      Src: /src/glib/glib/gutils.c:1698,1
    - Dst: get_os_info_from_os_release
      Src: /src/glib/glib/gutils.c:1705,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:1709,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gutils.c:1714,1
    - Dst: get_windows_version
      Src: /src/glib/glib/gutils.c:1718,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gutils.c:1722,1
    - Dst: get_windows_version
      Src: /src/glib/glib/gutils.c:1726,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gutils.c:1736,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gutils.c:1740,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1749
      start: 1673
    functionDepth: 0
    functionLinenumber: 1673
    functionLinenumberEnd: 1749
    functionName: g_get_os_info
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - get_os_info_from_os_release
    - g_steal_pointer
    - g_strdup
    - g_return_val_if_fail
    - get_windows_version
    - get_os_info_from_uname
    - G_N_ELEMENTS
    - g_ascii_strdown
    - g_error_matches
    - g_file_get_contents
    - g_strcmp0
    - g_strcanon
    - g_free
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_get_os_info (const gchar *key_name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_special_folder
      Src: /src/glib/glib/gutils.c:2210,1
    - Dst: get_special_folder
      Src: /src/glib/glib/gutils.c:2211,1
    - Dst: get_special_folder
      Src: /src/glib/glib/gutils.c:2215,1
    - Dst: get_special_folder
      Src: /src/glib/glib/gutils.c:2213,1
    - Dst: get_special_folder
      Src: /src/glib/glib/gutils.c:2217,1
    - Dst: get_special_folder
      Src: /src/glib/glib/gutils.c:2218,1
    - Dst: get_special_folder
      Src: /src/glib/glib/gutils.c:2220,1
    - Dst: get_special_folder
      Src: /src/glib/glib/gutils.c:2222,1
    - Dst: get_special_folder
      Src: /src/glib/glib/gutils.c:2224,1
    - Dst: get_special_folder
      Src: /src/glib/glib/gutils.c:2225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2226
      start: 2207
    functionDepth: 0
    functionLinenumber: 2207
    functionLinenumberEnd: 2226
    functionName: load_user_special_dirs
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - get_special_folder
    linkageType: ''
    returnType: void
    signature: 'static void load_user_special_dirs (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDebuggerPresent
      Src: /src/glib/glib/gutils.c:3352,1
    - Dst: ExitProcess
      Src: /src/glib/glib/gutils.c:3357,1
    - Dst: DebugBreak
      Src: /src/glib/glib/gutils.c:3353,1
    - Dst: abort
      Src: /src/glib/glib/gutils.c:3355,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3358
      start: 3344
    functionDepth: 0
    functionLinenumber: 3344
    functionLinenumberEnd: 3358
    functionName: g_abort
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - DebugBreak
    - abort
    - ExitProcess
    - IsDebuggerPresent
    linkageType: ''
    returnType: void
    signature: 'void g_abort (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bit_storage_impl
      Src: /src/glib/glib/gutils.c:578,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - number
    argTypes:
    - gulong
    constantsTouched: []
    func_position:
      end: 579
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 579
    functionName: (g_bit_storage)
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_bit_storage_impl
    linkageType: ''
    returnType: guint
    signature: 'guint (g_bit_storage) (gulong number) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter_pointer
      Src: /src/glib/glib/gutils.c:1059,1
    - Dst: g_malloc
      Src: /src/glib/glib/gutils.c:1093,1
    - Dst: sysconf
      Src: /src/glib/glib/gutils.c:1079,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:1098,1
    - Dst: gethostname
      Src: /src/glib/glib/gutils.c:1094,1
    - Dst: g_malloc
      Src: /src/glib/glib/gutils.c:1099,1
    - Dst: gethostname
      Src: /src/glib/glib/gutils.c:1100,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gutils.c:1104,1
    - Dst: GetComputerNameW
      Src: /src/glib/glib/gutils.c:1109,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/gutils.c:1111,1
    - Dst: g_once_init_leave_pointer
      Src: /src/glib/glib/gutils.c:1116,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:1116,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1054
    functionDepth: 0
    functionLinenumber: 1054
    functionLinenumberEnd: 1120
    functionName: g_get_host_name
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_once_init_leave_pointer
    - g_strdup
    - GetComputerNameW
    - g_malloc
    - gethostname
    - g_clear_pointer
    - g_once_init_enter_pointer
    - sysconf
    - g_free
    - g_utf16_to_utf8
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_get_host_name (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/gutils.c:1980,1
    - Dst: g_build_user_config_dir
      Src: /src/glib/glib/gutils.c:1983,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gutils.c:1986,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1989
      start: 1975
    functionDepth: 0
    functionLinenumber: 1975
    functionLinenumberEnd: 1989
    functionName: g_get_user_config_dir
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - G_LOCK
    - g_build_user_config_dir
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_get_user_config_dir (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/gutils.c:2762,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gutils.c:2768,1
    - Dst: g_build_system_data_dirs
      Src: /src/glib/glib/gutils.c:2765,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2771
      start: 2757
    functionDepth: 0
    functionLinenumber: 2757
    functionLinenumberEnd: 2771
    functionName: g_get_system_data_dirs
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - g_build_system_data_dirs
    - G_LOCK
    linkageType: ''
    returnType: gchar**
    signature: 'const gchar * const * g_get_system_data_dirs (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_find_program_in_path
      Src: /src/glib/glib/gutils.c:3259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3260
      start: 3256
    functionDepth: 0
    functionLinenumber: 3256
    functionLinenumberEnd: 3260
    functionName: g_find_program_in_path_utf8
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_find_program_in_path
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_find_program_in_path_utf8 (const gchar *program) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_real_name
      Src: /src/glib/glib/gutils.c:3263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3263
      start: 3263
    functionDepth: 0
    functionLinenumber: 3263
    functionLinenumberEnd: 3263
    functionName: g_get_real_name_utf8
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_get_real_name
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_get_real_name_utf8 (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/glib/glib/gutils.c:192,1
    - Dst: strchr
      Src: /src/glib/glib/gutils.c:196,1
    - Dst: strlen
      Src: /src/glib/glib/gutils.c:198,1
    - Dst: g_build_path
      Src: /src/glib/glib/gutils.c:199,1
    - Dst: strchr
      Src: /src/glib/glib/gutils.c:195,1
    - Dst: g_getenv
      Src: /src/glib/glib/gutils.c:201,1
    - Dst: my_strchrnul
      Src: /src/glib/glib/gutils.c:210,1
    - Dst: g_malloc
      Src: /src/glib/glib/gutils.c:212,1
    - Dst: memcpy
      Src: /src/glib/glib/gutils.c:213,1
    - Dst: memcpy
      Src: /src/glib/glib/gutils.c:214,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:218,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:222,1
    - Dst: inner_find_program_in_path
      Src: /src/glib/glib/gutils.c:231,1
    - Dst: inner_find_program_in_path
      Src: /src/glib/glib/gutils.c:217,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:227,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 232
    functionName: g_find_program_in_path
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - memcpy
    - strlen
    - g_getenv
    - strrchr
    - inner_find_program_in_path
    - g_malloc
    - strchr
    - g_build_path
    - my_strchrnul
    - g_free
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_find_program_in_path (const gchar *program) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_getenv
      Src: /src/glib/glib/gutils.c:1995,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:2006,1
    - Dst: get_special_folder
      Src: /src/glib/glib/gutils.c:2001,1
    - Dst: g_build_home_dir
      Src: /src/glib/glib/gutils.c:2005,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:1998,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gutils.c:2007,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:2008,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gutils.c:2011,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2012
      start: 1991
    functionDepth: 0
    functionLinenumber: 1991
    functionLinenumberEnd: 2012
    functionName: g_build_user_cache_dir
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_strdup
    - g_getenv
    - g_build_filename
    - g_free
    - get_special_folder
    - g_build_home_dir
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *g_build_user_cache_dir (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_getenv
      Src: /src/glib/glib/gutils.c:2777,1
    - Dst: g_strsplit
      Src: /src/glib/glib/gutils.c:2791,1
    - Dst: g_strsplit
      Src: /src/glib/glib/gutils.c:2788,1
    - Dst: g_strsplit
      Src: /src/glib/glib/gutils.c:2781,1
    - Dst: get_special_folder
      Src: /src/glib/glib/gutils.c:2785,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:2793,1
    - Dst: g_strsplit
      Src: /src/glib/glib/gutils.c:2799,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gutils.c:2802,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2803
      start: 2773
    functionDepth: 0
    functionLinenumber: 2773
    functionLinenumberEnd: 2803
    functionName: g_build_system_config_dirs
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_getenv
    - g_strsplit
    - g_free
    - get_special_folder
    linkageType: ''
    returnType: gchar**
    signature: 'static gchar **g_build_system_config_dirs (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_user_name
      Src: /src/glib/glib/gutils.c:3262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3262
      start: 3262
    functionDepth: 0
    functionLinenumber: 3262
    functionLinenumberEnd: 3262
    functionName: g_get_user_name_utf8
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_get_user_name
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_get_user_name_utf8 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_home_dir
      Src: /src/glib/glib/gutils.c:3264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3264
      start: 3264
    functionDepth: 0
    functionLinenumber: 3264
    functionLinenumberEnd: 3264
    functionName: g_get_home_dir_utf8
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_get_home_dir
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_get_home_dir_utf8 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bit_nth_msf_impl
      Src: /src/glib/glib/gutils.c:562,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - mask
    - nth_bit
    argTypes:
    - gulong
    - gint
    constantsTouched: []
    func_position:
      end: 563
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 563
    functionName: (g_bit_nth_msf)
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_bit_nth_msf_impl
    linkageType: ''
    returnType: gint
    signature: 'gint (g_bit_nth_msf) (gulong mask, gint nth_bit) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/gutils.c:977,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:983,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:988,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:987,1
    - Dst: g_getenv
      Src: /src/glib/glib/gutils.c:983,1
    - Dst: g_getenv
      Src: /src/glib/glib/gutils.c:988,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:1000,1
    - Dst: get_windows_directory_root
      Src: /src/glib/glib/gutils.c:1001,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:1009,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:1010,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:1019,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gutils.c:1027,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gutils.c:1012,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:1020,1
    - Dst: strlen
      Src: /src/glib/glib/gutils.c:1011,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gutils.c:1024,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 1030
    functionName: g_get_tmp_dir
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_strdup
    - strlen
    - g_getenv
    - G_UNLOCK
    - G_IS_DIR_SEPARATOR
    - G_LOCK
    - g_free
    - get_windows_directory_root
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_get_tmp_dir (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_format_size_full
      Src: /src/glib/glib/gutils.c:2905,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2906
      start: 2902
    functionDepth: 0
    functionLinenumber: 2902
    functionLinenumberEnd: 2906
    functionName: g_format_size
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_format_size_full
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_format_size (guint64 size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SHGetKnownFolderPath
      Src: /src/glib/glib/gutils.c:613,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/gutils.c:616,1
    - Dst: CoTaskMemFree
      Src: /src/glib/glib/gutils.c:618,1
    - Dst: SUCCEEDED
      Src: /src/glib/glib/gutils.c:615,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 621
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 621
    functionName: get_special_folder
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - SUCCEEDED
    - g_utf16_to_utf8
    - SHGetKnownFolderPath
    - CoTaskMemFree
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *get_special_folder (REFKNOWNFOLDERID known_folder_guid_ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/gutils.c:932,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gutils.c:938,1
    - Dst: g_build_home_dir
      Src: /src/glib/glib/gutils.c:935,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 941
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 941
    functionName: g_get_home_dir
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - G_LOCK
    - g_build_home_dir
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_get_home_dir (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gutils.c:1243,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:1245,1
    - Dst: g_atomic_pointer_compare_and_exchange
      Src: /src/glib/glib/gutils.c:1247,1
    - Dst: g_warning
      Src: /src/glib/glib/gutils.c:1249,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:1250,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - application_name
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1252
      start: 1238
    functionDepth: 0
    functionLinenumber: 1238
    functionLinenumberEnd: 1252
    functionName: g_set_application_name
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_warning
    - g_return_if_fail
    - g_atomic_pointer_compare_and_exchange
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_set_application_name (const gchar *application_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/gutils.c:2043,1
    - Dst: g_build_user_cache_dir
      Src: /src/glib/glib/gutils.c:2046,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gutils.c:2049,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2052
      start: 2038
    functionDepth: 0
    functionLinenumber: 2038
    functionLinenumberEnd: 2052
    functionName: g_get_user_cache_dir
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - G_LOCK
    - g_build_user_cache_dir
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_get_user_cache_dir (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_module_for_address
      Src: /src/glib/glib/gutils.c:2531,1
    - Dst: g_win32_get_package_installation_directory_of_module
      Src: /src/glib/glib/gutils.c:2535,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:2537,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gutils.c:2536,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2540
      start: 2524
    functionDepth: 0
    functionLinenumber: 2524
    functionLinenumberEnd: 2540
    functionName: get_module_share_dir
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_win32_get_package_installation_directory_of_module
    - get_module_for_address
    - g_build_filename
    - g_free
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *get_module_share_dir (gconstpointer address) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetWindowsDirectoryW
      Src: /src/glib/glib/gutils.c:628,1
    - Dst: g_path_skip_root
      Src: /src/glib/glib/gutils.c:639,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gutils.c:628,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/gutils.c:633,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:637,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/gutils.c:640,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:646,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 647
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 647
    functionName: get_windows_directory_root
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_strdup
    - G_N_ELEMENTS
    - g_path_skip_root
    - GetWindowsDirectoryW
    - G_IS_DIR_SEPARATOR
    - g_utf16_to_utf8
    linkageType: ''
    returnType: char*
    signature: 'static char *get_windows_directory_root (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/gutils.c:946,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gutils.c:951,1
    - Dst: g_ignore_leak
      Src: /src/glib/glib/gutils.c:949,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 952
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 952
    functionName: _g_unset_cached_tmp_dir
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_ignore_leak
    - G_UNLOCK
    - G_LOCK
    linkageType: ''
    returnType: void
    signature: 'void _g_unset_cached_tmp_dir (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_getenv
      Src: /src/glib/glib/gutils.c:2058,1
    - Dst: get_special_folder
      Src: /src/glib/glib/gutils.c:2064,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:2061,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:2069,1
    - Dst: g_build_home_dir
      Src: /src/glib/glib/gutils.c:2068,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gutils.c:2070,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:2071,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gutils.c:2074,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2075
      start: 2054
    functionDepth: 0
    functionLinenumber: 2054
    functionLinenumberEnd: 2075
    functionName: g_build_user_state_dir
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_strdup
    - g_getenv
    - g_build_filename
    - g_free
    - get_special_folder
    - g_build_home_dir
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *g_build_user_state_dir (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetModuleHandleExW
      Src: /src/glib/glib/gutils.c:2512,1
    - Dst: VirtualQuery
      Src: /src/glib/glib/gutils.c:2517,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - address
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2522
      start: 2502
    functionDepth: 0
    functionLinenumber: 2502
    functionLinenumberEnd: 2522
    functionName: get_module_for_address
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - GetModuleHandleExW
    - VirtualQuery
    linkageType: ''
    returnType: HMODULE
    signature: 'static HMODULE get_module_for_address (gconstpointer address) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/gutils.c:2555,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/gutils.c:2563,1
    - Dst: g_array_new
      Src: /src/glib/glib/gutils.c:2574,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/gutils.c:2579,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/gutils.c:2584,1
    - Dst: get_module_share_dir
      Src: /src/glib/glib/gutils.c:2608,1
    - Dst: g_win32_get_package_installation_directory_of_module
      Src: /src/glib/glib/gutils.c:2614,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/gutils.c:2624,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gutils.c:2615,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/gutils.c:2617,1
    - Dst: get_module_for_address
      Src: /src/glib/glib/gutils.c:2556,1
    - Dst: g_hash_table_new
      Src: /src/glib/glib/gutils.c:2560,1
    - Dst: g_win32_get_package_installation_directory_of_module
      Src: /src/glib/glib/gutils.c:2621,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:2625,1
    - Dst: g_array_free
      Src: /src/glib/glib/gutils.c:2627,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gutils.c:2567,1
    - Dst: get_special_folder
      Src: /src/glib/glib/gutils.c:2577,1
    - Dst: get_special_folder
      Src: /src/glib/glib/gutils.c:2582,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/gutils.c:2610,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:2618,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/gutils.c:2632,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gutils.c:2633,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gutils.c:2622,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2637
      start: 2542
    functionDepth: 0
    functionLinenumber: 2542
    functionLinenumberEnd: 2637
    functionName: g_win32_get_system_data_dirs_for_module_real
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_array_free
    - G_UNLOCK
    - g_array_append_val
    - get_module_for_address
    - g_hash_table_lookup
    - g_free
    - g_hash_table_insert
    - g_array_new
    - g_hash_table_new
    - g_build_filename
    - get_module_share_dir
    - g_win32_get_package_installation_directory_of_module
    - G_LOCK
    - get_special_folder
    linkageType: ''
    returnType: gchar**
    signature: 'static const gchar * const *g_win32_get_system_data_dirs_for_module_real
      (void (*address_of_function)(void)) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atexit
      Src: /src/glib/glib/gutils.c:160,1
    - Dst: g_strerror
      Src: /src/glib/glib/gutils.c:165,1
    - Dst: g_error
      Src: /src/glib/glib/gutils.c:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - func
    argTypes:
    - GVoidFunc
    constantsTouched: []
    func_position:
      end: 167
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 167
    functionName: g_atexit
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_strerror
    - g_error
    - atexit
    linkageType: ''
    returnType: G_GNUC_BEGIN_IGNORE_DEPRECATIONS
    signature: 'G_GNUC_BEGIN_IGNORE_DEPRECATIONS void g_atexit (GVoidFunc func) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:837,1
    - Dst: g_getenv
      Src: /src/glib/glib/gutils.c:837,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gutils.c:852,1
    - Dst: g_path_is_absolute
      Src: /src/glib/glib/gutils.c:850,1
    - Dst: g_file_test
      Src: /src/glib/glib/gutils.c:851,1
    - Dst: strchr
      Src: /src/glib/glib/gutils.c:861,1
    - Dst: g_getenv
      Src: /src/glib/glib/gutils.c:868,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:869,1
    - Dst: g_getenv
      Src: /src/glib/glib/gutils.c:869,1
    - Dst: get_special_folder
      Src: /src/glib/glib/gutils.c:873,1
    - Dst: g_warning
      Src: /src/glib/glib/gutils.c:893,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gutils.c:898,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:895,1
    - Dst: g_get_user_database_entry
      Src: /src/glib/glib/gutils.c:884,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:885,1
    - Dst: get_windows_directory_root
      Src: /src/glib/glib/gutils.c:876,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 899
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 899
    functionName: g_build_home_dir
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_strdup
    - g_warning
    - g_getenv
    - get_windows_directory_root
    - g_clear_pointer
    - strchr
    - g_get_user_database_entry
    - g_file_test
    - get_special_folder
    - g_path_is_absolute
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *g_build_home_dir (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_pointer_get
      Src: /src/glib/glib/gutils.c:1212,1
    - Dst: g_get_prgname
      Src: /src/glib/glib/gutils.c:1217,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1207
    functionDepth: 0
    functionLinenumber: 1207
    functionLinenumberEnd: 1218
    functionName: g_get_application_name
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_get_prgname
    - g_atomic_pointer_get
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_get_application_name (void) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: N_
      Src: /src/glib/glib/gutils.c:2972,1
    - Dst: N_
      Src: /src/glib/glib/gutils.c:2976,1
    - Dst: N_
      Src: /src/glib/glib/gutils.c:2974,1
    - Dst: N_
      Src: /src/glib/glib/gutils.c:2978,1
    - Dst: N_
      Src: /src/glib/glib/gutils.c:2982,1
    - Dst: N_
      Src: /src/glib/glib/gutils.c:3012,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gutils.c:3027,1
    - Dst: C_
      Src: /src/glib/glib/gutils.c:3070,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gutils.c:3164,1
    - Dst: g_string_append
      Src: /src/glib/glib/gutils.c:3166,1
    - Dst: N_
      Src: /src/glib/glib/gutils.c:2984,1
    - Dst: N_
      Src: /src/glib/glib/gutils.c:3004,1
    - Dst: N_
      Src: /src/glib/glib/gutils.c:3006,1
    - Dst: N_
      Src: /src/glib/glib/gutils.c:3002,1
    - Dst: N_
      Src: /src/glib/glib/gutils.c:2996,1
    - Dst: N_
      Src: /src/glib/glib/gutils.c:3014,1
    - Dst: N_
      Src: /src/glib/glib/gutils.c:3016,1
    - Dst: N_
      Src: /src/glib/glib/gutils.c:3018,1
    - Dst: N_
      Src: /src/glib/glib/gutils.c:3020,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gutils.c:3048,1
    - Dst: g_string_append
      Src: /src/glib/glib/gutils.c:3107,1
    - Dst: g_string_append
      Src: /src/glib/glib/gutils.c:3169,1
    - Dst: C_
      Src: /src/glib/glib/gutils.c:3117,1
    - Dst: g_string_printf
      Src: /src/glib/glib/gutils.c:3117,1
    - Dst: N_
      Src: /src/glib/glib/gutils.c:2968,1
    - Dst: N_
      Src: /src/glib/glib/gutils.c:2986,1
    - Dst: N_
      Src: /src/glib/glib/gutils.c:2988,1
    - Dst: N_
      Src: /src/glib/glib/gutils.c:2998,1
    - Dst: N_
      Src: /src/glib/glib/gutils.c:2990,1
    - Dst: N_
      Src: /src/glib/glib/gutils.c:2992,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gutils.c:3029,1
    - Dst: g_string_new
      Src: /src/glib/glib/gutils.c:3031,1
    - Dst: g_dngettext
      Src: /src/glib/glib/gutils.c:3058,1
    - Dst: g_string_append
      Src: /src/glib/glib/gutils.c:3066,1
    - Dst: g_string_printf
      Src: /src/glib/glib/gutils.c:3111,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gutils.c:3167,1
    - Dst: N_
      Src: /src/glib/glib/gutils.c:2970,1
    - Dst: N_
      Src: /src/glib/glib/gutils.c:3010,1
    - Dst: N_
      Src: /src/glib/glib/gutils.c:3000,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gutils.c:3028,1
    - Dst: g_string_printf
      Src: /src/glib/glib/gutils.c:3070,1
    - Dst: g_string_printf
      Src: /src/glib/glib/gutils.c:3075,1
    - Dst: C_
      Src: /src/glib/glib/gutils.c:3075,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gutils.c:3082,1
    - Dst: _
      Src: /src/glib/glib/gutils.c:3103,1
    - Dst: C_
      Src: /src/glib/glib/gutils.c:3111,1
    - Dst: g_dngettext
      Src: /src/glib/glib/gutils.c:3157,1
    - Dst: g_string_free
      Src: /src/glib/glib/gutils.c:3172,1
    - Dst: g_dngettext
      Src: /src/glib/glib/gutils.c:3162,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:3168,1
    - Dst: g_dngettext
      Src: /src/glib/glib/gutils.c:3062,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 122
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3173
      start: 2947
    functionDepth: 0
    functionLinenumber: 2947
    functionLinenumberEnd: 3173
    functionName: g_format_size_full
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_dngettext
    - g_return_val_if_fail
    - g_strdup_printf
    - G_N_ELEMENTS
    - g_string_append_printf
    - g_assert_not_reached
    - C_
    - g_string_free
    - g_string_printf
    - g_string_new
    - _
    - N_
    - g_free
    - g_string_append
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_format_size_full (guint64 size, GFormatSizeFlags flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_pointer_get
      Src: /src/glib/glib/gutils.c:1143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1144
    functionName: g_get_prgname
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_atomic_pointer_get
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_get_prgname (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_find_program_for_path
      Src: /src/glib/glib/gutils.c:269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 270
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 270
    functionName: g_find_program_in_path
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_find_program_for_path
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_find_program_in_path (const gchar *program) #endif '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_user_database_entry
      Src: /src/glib/glib/gutils.c:802,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 805
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 805
    functionName: g_get_user_name
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_get_user_database_entry
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_get_user_name (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_intern_string
      Src: /src/glib/glib/gutils.c:1185,1
    - Dst: g_atomic_pointer_compare_and_exchange
      Src: /src/glib/glib/gutils.c:1186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - prgname
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1187
      start: 1180
    functionDepth: 0
    functionLinenumber: 1180
    functionLinenumberEnd: 1187
    functionName: g_set_prgname_once
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_atomic_pointer_compare_and_exchange
    - g_intern_string
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_set_prgname_once (const gchar *prgname) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/glib/glib/gutils.c:1834,1
    - Dst: set_str_if_different
      Src: /src/glib/glib/gutils.c:1850,1
    - Dst: set_str_if_different
      Src: /src/glib/glib/gutils.c:1848,1
    - Dst: set_str_if_different
      Src: /src/glib/glib/gutils.c:1852,1
    - Dst: va_arg
      Src: /src/glib/glib/gutils.c:1832,1
    - Dst: va_start
      Src: /src/glib/glib/gutils.c:1830,1
    - Dst: g_str_equal
      Src: /src/glib/glib/gutils.c:1837,1
    - Dst: g_str_equal
      Src: /src/glib/glib/gutils.c:1839,1
    - Dst: g_str_equal
      Src: /src/glib/glib/gutils.c:1841,1
    - Dst: g_str_equal
      Src: /src/glib/glib/gutils.c:1843,1
    - Dst: g_str_equal
      Src: /src/glib/glib/gutils.c:1845,1
    - Dst: va_end
      Src: /src/glib/glib/gutils.c:1857,1
    - Dst: set_str_if_different
      Src: /src/glib/glib/gutils.c:1838,1
    - Dst: set_str_if_different
      Src: /src/glib/glib/gutils.c:1840,1
    - Dst: set_strv_if_different
      Src: /src/glib/glib/gutils.c:1842,1
    - Dst: set_str_if_different
      Src: /src/glib/glib/gutils.c:1844,1
    - Dst: set_strv_if_different
      Src: /src/glib/glib/gutils.c:1846,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gutils.c:1854,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gutils.c:1859,1
    - Dst: G_LOCK
      Src: /src/glib/glib/gutils.c:1828,1
    - Dst: g_assert
      Src: /src/glib/glib/gutils.c:1835,1
    - Dst: g_str_equal
      Src: /src/glib/glib/gutils.c:1849,1
    - Dst: g_str_equal
      Src: /src/glib/glib/gutils.c:1847,1
    - Dst: g_str_equal
      Src: /src/glib/glib/gutils.c:1851,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 1
    argNames:
    - first_dir_type
    - '...'
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1860
      start: 1821
    functionDepth: 0
    functionLinenumber: 1821
    functionLinenumberEnd: 1860
    functionName: g_set_user_dirs
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_assert
    - set_strv_if_different
    - set_str_if_different
    - G_UNLOCK
    - g_assert_not_reached
    - va_arg
    - va_end
    - G_LOCK
    - va_start
    - g_str_equal
    linkageType: ''
    returnType: void
    signature: 'void g_set_user_dirs (const gchar *first_dir_type, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/gutils.c:2183,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gutils.c:2189,1
    - Dst: g_build_user_runtime_dir
      Src: /src/glib/glib/gutils.c:2186,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2192
      start: 2178
    functionDepth: 0
    functionLinenumber: 2178
    functionLinenumberEnd: 2192
    functionName: g_get_user_runtime_dir
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - g_build_user_runtime_dir
    - G_LOCK
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_get_user_runtime_dir (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gutils.c:2472,1
    - Dst: G_LOCK
      Src: /src/glib/glib/gutils.c:2475,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gutils.c:2477,1
    - Dst: g_new0
      Src: /src/glib/glib/gutils.c:2479,1
    - Dst: load_user_special_dirs
      Src: /src/glib/glib/gutils.c:2481,1
    - Dst: g_build_home_dir
      Src: /src/glib/glib/gutils.c:2486,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gutils.c:2487,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:2488,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gutils.c:2493,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2496
      start: 2467
    functionDepth: 0
    functionLinenumber: 2467
    functionLinenumberEnd: 2496
    functionName: g_get_user_special_dir
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - load_user_special_dirs
    - G_UNLOCK
    - g_free
    - g_build_filename
    - G_UNLIKELY
    - g_new0
    - G_LOCK
    - g_build_home_dir
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_get_user_special_dir (GUserDirectory directory) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gutils.c:2860,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - nullify_location
    argTypes:
    - gpointer*
    constantsTouched: []
    func_position:
      end: 2863
      start: 2857
    functionDepth: 0
    functionLinenumber: 2857
    functionLinenumberEnd: 2863
    functionName: g_nullify_pointer
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_nullify_pointer (gpointer *nullify_location) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: _g_win32_call_rtl_version
      Src: /src/glib/glib/gutils.c:1393,1
    - Dst: g_string_append
      Src: /src/glib/glib/gutils.c:1417,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gutils.c:1455,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:1443,1
    - Dst: get_windows_8_1_update
      Src: /src/glib/glib/gutils.c:1470,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:1475,1
    - Dst: g_win32_check_windows_version
      Src: /src/glib/glib/gutils.c:1483,1
    - Dst: g_string_prepend
      Src: /src/glib/glib/gutils.c:1518,1
    - Dst: g_string_new
      Src: /src/glib/glib/gutils.c:1375,1
    - Dst: g_win32_check_windows_version
      Src: /src/glib/glib/gutils.c:1385,1
    - Dst: g_string_append
      Src: /src/glib/glib/gutils.c:1411,1
    - Dst: g_string_append
      Src: /src/glib/glib/gutils.c:1415,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gutils.c:1439,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gutils.c:1440,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gutils.c:1453,1
    - Dst: g_win32_check_windows_version
      Src: /src/glib/glib/gutils.c:1461,1
    - Dst: g_string_append
      Src: /src/glib/glib/gutils.c:1468,1
    - Dst: g_string_append
      Src: /src/glib/glib/gutils.c:1413,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:1459,1
    - Dst: g_string_append
      Src: /src/glib/glib/gutils.c:1466,1
    - Dst: g_string_append
      Src: /src/glib/glib/gutils.c:1486,1
    - Dst: g_win32_check_windows_version
      Src: /src/glib/glib/gutils.c:1488,1
    - Dst: g_string_append
      Src: /src/glib/glib/gutils.c:1498,1
    - Dst: g_string_append
      Src: /src/glib/glib/gutils.c:1502,1
    - Dst: g_string_free
      Src: /src/glib/glib/gutils.c:1520,1
    - Dst: g_win32_check_windows_version
      Src: /src/glib/glib/gutils.c:1378,1
    - Dst: g_string_append
      Src: /src/glib/glib/gutils.c:1421,1
    - Dst: g_string_append
      Src: /src/glib/glib/gutils.c:1423,1
    - Dst: get_registry_str
      Src: /src/glib/glib/gutils.c:1445,1
    - Dst: get_registry_str
      Src: /src/glib/glib/gutils.c:1430,1
    - Dst: g_win32_check_windows_version
      Src: /src/glib/glib/gutils.c:1465,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gutils.c:1473,1
    - Dst: g_string_append
      Src: /src/glib/glib/gutils.c:1496,1
    - Dst: g_string_append
      Src: /src/glib/glib/gutils.c:1500,1
    - Dst: g_string_append
      Src: /src/glib/glib/gutils.c:1506,1
    - Dst: g_string_free
      Src: /src/glib/glib/gutils.c:1512,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 69
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1372
    functionDepth: 0
    functionLinenumber: 1372
    functionLinenumberEnd: 1521
    functionName: get_windows_version
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - get_registry_str
    - _g_win32_call_rtl_version
    - get_windows_8_1_update
    - g_string_prepend
    - g_string_free
    - g_win32_check_windows_version
    - g_strcmp0
    - g_string_new
    - g_string_append_printf
    - g_free
    - g_string_append
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *get_windows_version (gboolean with_windows) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_getenv
      Src: /src/glib/glib/gutils.c:1866,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:1877,1
    - Dst: get_special_folder
      Src: /src/glib/glib/gutils.c:1872,1
    - Dst: g_build_home_dir
      Src: /src/glib/glib/gutils.c:1876,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:1869,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gutils.c:1878,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:1879,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gutils.c:1882,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1883
      start: 1862
    functionDepth: 0
    functionLinenumber: 1862
    functionLinenumberEnd: 1883
    functionName: g_build_user_data_dir
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_strdup
    - g_getenv
    - g_build_filename
    - g_free
    - get_special_folder
    - g_build_home_dir
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *g_build_user_data_dir (void) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/glib/glib/gutils.c:2264,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:2271,1
    - Dst: strncmp
      Src: /src/glib/glib/gutils.c:2296,1
    - Dst: strlen
      Src: /src/glib/glib/gutils.c:2296,1
    - Dst: strncmp
      Src: /src/glib/glib/gutils.c:2311,1
    - Dst: strlen
      Src: /src/glib/glib/gutils.c:2306,1
    - Dst: strncmp
      Src: /src/glib/glib/gutils.c:2306,1
    - Dst: strlen
      Src: /src/glib/glib/gutils.c:2311,1
    - Dst: strncmp
      Src: /src/glib/glib/gutils.c:2321,1
    - Dst: strlen
      Src: /src/glib/glib/gutils.c:2321,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:2384,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/gutils.c:2269,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:2267,1
    - Dst: g_strsplit
      Src: /src/glib/glib/gutils.c:2275,1
    - Dst: g_strv_length
      Src: /src/glib/glib/gutils.c:2276,1
    - Dst: strlen
      Src: /src/glib/glib/gutils.c:2288,1
    - Dst: strlen
      Src: /src/glib/glib/gutils.c:2299,1
    - Dst: strlen
      Src: /src/glib/glib/gutils.c:2314,1
    - Dst: strlen
      Src: /src/glib/glib/gutils.c:2324,1
    - Dst: strlen
      Src: /src/glib/glib/gutils.c:2334,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gutils.c:2383,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:2377,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:2277,1
    - Dst: strlen
      Src: /src/glib/glib/gutils.c:2301,1
    - Dst: strncmp
      Src: /src/glib/glib/gutils.c:2301,1
    - Dst: strncmp
      Src: /src/glib/glib/gutils.c:2316,1
    - Dst: strlen
      Src: /src/glib/glib/gutils.c:2316,1
    - Dst: strncmp
      Src: /src/glib/glib/gutils.c:2326,1
    - Dst: strlen
      Src: /src/glib/glib/gutils.c:2326,1
    - Dst: strrchr
      Src: /src/glib/glib/gutils.c:2361,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gutils.c:2376,1
    - Dst: g_strdup
      Src: /src/glib/glib/gutils.c:2380,1
    - Dst: strncmp
      Src: /src/glib/glib/gutils.c:2331,1
    - Dst: g_build_user_config_dir
      Src: /src/glib/glib/gutils.c:2263,1
    - Dst: strlen
      Src: /src/glib/glib/gutils.c:2309,1
    - Dst: strlen
      Src: /src/glib/glib/gutils.c:2304,1
    - Dst: strlen
      Src: /src/glib/glib/gutils.c:2319,1
    - Dst: strlen
      Src: /src/glib/glib/gutils.c:2329,1
    - Dst: strncmp
      Src: /src/glib/glib/gutils.c:2353,1
    - Dst: strlen
      Src: /src/glib/glib/gutils.c:2369,1
    - Dst: g_build_home_dir
      Src: /src/glib/glib/gutils.c:2375,1
    - Dst: strlen
      Src: /src/glib/glib/gutils.c:2331,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 120
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2385
      start: 2254
    functionDepth: 0
    functionLinenumber: 2254
    functionLinenumberEnd: 2385
    functionName: load_user_special_dirs
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_strv_length
    - strlen
    - strrchr
    - g_strfreev
    - strncmp
    - g_file_get_contents
    - g_build_filename
    - g_strsplit
    - g_build_user_config_dir
    - g_free
    - g_build_home_dir
    linkageType: ''
    returnType: void
    signature: 'static void load_user_special_dirs (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/gutils.c:2648,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gutils.c:2658,1
    - Dst: g_win32_get_system_data_dirs_for_module_real
      Src: /src/glib/glib/gutils.c:2684,1
    - Dst: g_get_system_data_dirs
      Src: /src/glib/glib/gutils.c:2682,1
    - Dst: g_getenv
      Src: /src/glib/glib/gutils.c:2652,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2685
      start: 2639
    functionDepth: 0
    functionLinenumber: 2639
    functionLinenumberEnd: 2685
    functionName: g_win32_get_system_data_dirs_for_module
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_win32_get_system_data_dirs_for_module_real
    - g_get_system_data_dirs
    - g_getenv
    - G_UNLOCK
    - G_LOCK
    linkageType: ''
    returnType: gchar**
    signature: 'const gchar * const *g_win32_get_system_data_dirs_for_module (void
      (*address_of_function)(void)) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_getenv
      Src: /src/glib/glib/gutils.c:2693,1
    - Dst: g_strdupv
      Src: /src/glib/glib/gutils.c:2705,1
    - Dst: g_strsplit
      Src: /src/glib/glib/gutils.c:2707,1
    - Dst: g_win32_get_system_data_dirs_for_module_real
      Src: /src/glib/glib/gutils.c:2705,1
    - Dst: g_strsplit
      Src: /src/glib/glib/gutils.c:2702,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gutils.c:2710,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2711
      start: 2689
    functionDepth: 0
    functionLinenumber: 2689
    functionLinenumberEnd: 2711
    functionName: g_build_system_data_dirs
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_win32_get_system_data_dirs_for_module_real
    - g_steal_pointer
    - g_strdupv
    - g_getenv
    - g_strsplit
    linkageType: ''
    returnType: gchar**
    signature: 'static gchar **g_build_system_data_dirs (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_intern_string
      Src: /src/glib/glib/gutils.c:1166,1
    - Dst: g_atomic_pointer_set
      Src: /src/glib/glib/gutils.c:1167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - prgname
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1168
      start: 1163
    functionDepth: 0
    functionLinenumber: 1163
    functionLinenumberEnd: 1168
    functionName: g_set_prgname
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - g_atomic_pointer_set
    - g_intern_string
    linkageType: ''
    returnType: void
    signature: 'void g_set_prgname (const gchar *prgname) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/gutils.c:2409,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gutils.c:2429,1
    - Dst: g_new0
      Src: /src/glib/glib/gutils.c:2418,1
    - Dst: load_user_special_dirs
      Src: /src/glib/glib/gutils.c:2419,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:2432,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:2436,1
    - Dst: g_free
      Src: /src/glib/glib/gutils.c:2440,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gutils.c:2443,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2444
      start: 2404
    functionDepth: 0
    functionLinenumber: 2404
    functionLinenumberEnd: 2444
    functionName: g_reload_user_special_dirs_cache
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - load_user_special_dirs
    - G_UNLOCK
    - g_strcmp0
    - G_LOCK
    - g_new0
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_reload_user_special_dirs_cache (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/gutils.c:2840,1
    - Dst: g_build_system_config_dirs
      Src: /src/glib/glib/gutils.c:2843,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gutils.c:2846,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2849
      start: 2835
    functionDepth: 0
    functionLinenumber: 2835
    functionLinenumberEnd: 2849
    functionName: g_get_system_config_dirs
    functionSourceFile: /src/glib/glib/gutils.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - g_build_system_config_dirs
    - G_LOCK
    linkageType: ''
    returnType: gchar**
    signature: 'const gchar * const *g_get_system_config_dirs (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - dest
    - a
    - b
    argTypes:
    - guint*
    - guint
    - guint
    constantsTouched: []
    func_position:
      end: 481
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 481
    functionName: _GLIB_CHECKED_ADD_UINT
    functionSourceFile: /src/glib/glib/gtypes.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean _GLIB_CHECKED_ADD_UINT (guint *dest, guint
      a, guint b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - dest
    - a
    - b
    argTypes:
    - guint64*
    - guint64
    - guint64
    constantsTouched: []
    func_position:
      end: 487
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 487
    functionName: _GLIB_CHECKED_MUL_UINT64
    functionSourceFile: /src/glib/glib/gtypes.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean _GLIB_CHECKED_MUL_UINT64 (guint64 *dest, guint64
      a, guint64 b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - dest
    - a
    - b
    argTypes:
    - gsize*
    - gsize
    - gsize
    constantsTouched: []
    func_position:
      end: 491
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 491
    functionName: _GLIB_CHECKED_MUL_SIZE
    functionSourceFile: /src/glib/glib/gtypes.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean _GLIB_CHECKED_MUL_SIZE (gsize *dest, gsize
      a, gsize b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - dest
    - a
    - b
    argTypes:
    - guint*
    - guint
    - guint
    constantsTouched: []
    func_position:
      end: 483
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 483
    functionName: _GLIB_CHECKED_MUL_UINT
    functionSourceFile: /src/glib/glib/gtypes.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean _GLIB_CHECKED_MUL_UINT (guint *dest, guint
      a, guint b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - dest
    - a
    - b
    argTypes:
    - gsize*
    - gsize
    - gsize
    constantsTouched: []
    func_position:
      end: 489
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 489
    functionName: _GLIB_CHECKED_ADD_SIZE
    functionSourceFile: /src/glib/glib/gtypes.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean _GLIB_CHECKED_ADD_SIZE (gsize *dest, gsize
      a, gsize b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - dest
    - a
    - b
    argTypes:
    - guint64*
    - guint64
    - guint64
    constantsTouched: []
    func_position:
      end: 485
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 485
    functionName: _GLIB_CHECKED_ADD_UINT64
    functionSourceFile: /src/glib/glib/gtypes.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean _GLIB_CHECKED_ADD_UINT64 (guint64 *dest, guint64
      a, guint64 b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/gkeyfile.c:4180,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4181
      start: 4173
    functionDepth: 0
    functionLinenumber: 4173
    functionLinenumberEnd: 4181
    functionName: g_key_file_lookup_group
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_hash_table_lookup
    linkageType: ''
    returnType: GKeyFileGroup*
    signature: "static GKeyFileGroup *g_key_file_lookup_group (GKeyFile *key_file,\t\
      \t\t const gchar *group_name) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gkeyfile.c:4682,1
    - Dst: g_string_append
      Src: /src/glib/glib/gkeyfile.c:4695,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gkeyfile.c:4691,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gkeyfile.c:4697,1
    - Dst: g_strsplit
      Src: /src/glib/glib/gkeyfile.c:4684,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gkeyfile.c:4702,1
    - Dst: g_string_free
      Src: /src/glib/glib/gkeyfile.c:4704,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4705
      start: 4673
    functionDepth: 0
    functionLinenumber: 4673
    functionLinenumberEnd: 4705
    functionName: g_key_file_parse_value_as_comment
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_string_append_c
    - g_strfreev
    - g_string_free
    - g_strsplit
    - g_string_sized_new
    - g_string_append
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *g_key_file_parse_value_as_comment (GKeyFile *key_file,
      const gchar *value, gboolean is_final_line) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/glib/gkeyfile.c:4198,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4203
      start: 4183
    functionDepth: 0
    functionLinenumber: 4183
    functionLinenumberEnd: 4203
    functionName: g_key_file_lookup_key_value_pair_node
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: GList*
    signature: "static GList *g_key_file_lookup_key_value_pair_node (GKeyFile *key_file,\t\
      \t\t GKeyFileGroup *group, const gchar *key) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gkeyfile.c:4715,1
    - Dst: g_string_free
      Src: /src/glib/glib/gkeyfile.c:4724,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gkeyfile.c:4720,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gkeyfile.c:4722,1
    - Dst: g_strsplit
      Src: /src/glib/glib/gkeyfile.c:4717,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4725
      start: 4707
    functionDepth: 0
    functionLinenumber: 4707
    functionLinenumberEnd: 4725
    functionName: g_key_file_parse_comment_as_value
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_strfreev
    - g_string_free
    - g_strsplit
    - g_string_sized_new
    - g_string_append_printf
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *g_key_file_parse_comment_as_value (GKeyFile *key_file,
      const gchar *comment) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:3503,1
    - Dst: g_key_file_set_key_comment
      Src: /src/glib/glib/gkeyfile.c:3507,1
    - Dst: g_key_file_set_top_comment
      Src: /src/glib/glib/gkeyfile.c:3517,1
    - Dst: g_key_file_set_group_comment
      Src: /src/glib/glib/gkeyfile.c:3512,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 5
    argNames:
    - key_file
    - group_name
    - key
    - comment
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 3522
      start: 3496
    functionDepth: 0
    functionLinenumber: 3496
    functionLinenumberEnd: 3522
    functionName: g_key_file_set_comment
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_set_top_comment
    - g_return_val_if_fail
    - g_key_file_set_key_comment
    - g_key_file_set_group_comment
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_key_file_set_comment (GKeyFile *key_file, const gchar *group_name,
      const gchar *key, const gchar *comment, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/glib/gkeyfile.c:640,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/gkeyfile.c:641,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - key_file
    argTypes:
    - GKeyFile*
    constantsTouched: []
    func_position:
      end: 647
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 647
    functionName: g_key_file_init
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_new0
    - g_list_prepend
    linkageType: ''
    returnType: void
    signature: 'static void g_key_file_init (GKeyFile *key_file) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:3431,1
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:3436,1
    - Dst: g_key_file_is_group_name
      Src: /src/glib/glib/gkeyfile.c:3431,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:3438,1
    - Dst: g_key_file_lookup_group
      Src: /src/glib/glib/gkeyfile.c:3433,1
    - Dst: g_key_file_set_top_comment
      Src: /src/glib/glib/gkeyfile.c:3445,1
    - Dst: g_key_file_lookup_group_node
      Src: /src/glib/glib/gkeyfile.c:3449,1
    - Dst: g_key_file_remove_key_value_pair_node
      Src: /src/glib/glib/gkeyfile.c:3458,1
    - Dst: g_new
      Src: /src/glib/glib/gkeyfile.c:3467,1
    - Dst: g_key_file_parse_comment_as_value
      Src: /src/glib/glib/gkeyfile.c:3469,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/gkeyfile.c:3470,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 30
    argCount: 4
    argNames:
    - key_file
    - group_name
    - comment
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 3473
      start: 3421
    functionDepth: 0
    functionLinenumber: 3421
    functionLinenumberEnd: 3473
    functionName: g_key_file_set_group_comment
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_key_file_lookup_group_node
    - g_return_val_if_fail
    - g_key_file_remove_key_value_pair_node
    - g_new
    - g_key_file_set_top_comment
    - g_key_file_parse_comment_as_value
    - g_key_file_lookup_group
    - g_list_prepend
    - _
    - g_key_file_is_group_name
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_key_file_set_group_comment (GKeyFile *key_file,
      const gchar *group_name, const gchar *comment, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_find_next_char
      Src: /src/glib/glib/gkeyfile.c:4315,1
    - Dst: g_utf8_find_next_char
      Src: /src/glib/glib/gkeyfile.c:4321,1
    - Dst: g_utf8_find_next_char
      Src: /src/glib/glib/gkeyfile.c:4323,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 1
    argNames:
    - line
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 4329
      start: 4303
    functionDepth: 0
    functionLinenumber: 4303
    functionLinenumberEnd: 4329
    functionName: g_key_file_line_is_group
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_utf8_find_next_char
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_key_file_line_is_group (const gchar *line) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_isspace
      Src: /src/glib/glib/gkeyfile.c:4645,1
    - Dst: strcmp_sized
      Src: /src/glib/glib/gkeyfile.c:4650,1
    - Dst: strcmp_sized
      Src: /src/glib/glib/gkeyfile.c:4648,1
    - Dst: strcmp_sized
      Src: /src/glib/glib/gkeyfile.c:4648,1
    - Dst: strcmp_sized
      Src: /src/glib/glib/gkeyfile.c:4650,1
    - Dst: g_utf8_make_valid
      Src: /src/glib/glib/gkeyfile.c:4653,1
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:4654,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:4656,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:4658,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 3
    argNames:
    - key_file
    - value
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 4661
      start: 4635
    functionDepth: 0
    functionLinenumber: 4635
    functionLinenumberEnd: 4661
    functionName: g_key_file_parse_value_as_boolean
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_ascii_isspace
    - g_set_error
    - strcmp_sized
    - _
    - g_utf8_make_valid
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_key_file_parse_value_as_boolean (GKeyFile *key_file,\t\
      \t\t\t const gchar *value,\t\t\t\t GError **error) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_strfreev
      Src: /src/glib/glib/gkeyfile.c:656,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/glib/gkeyfile.c:677,1
    - Dst: g_string_free
      Src: /src/glib/glib/gkeyfile.c:663,1
    - Dst: g_key_file_remove_group_node
      Src: /src/glib/glib/gkeyfile.c:672,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gkeyfile.c:681,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - key_file
    argTypes:
    - GKeyFile*
    constantsTouched: []
    func_position:
      end: 682
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 682
    functionName: g_key_file_clear
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_warn_if_fail
    - g_key_file_remove_group_node
    - g_strfreev
    - g_string_free
    - g_hash_table_destroy
    linkageType: ''
    returnType: void
    signature: 'static void g_key_file_clear (GKeyFile *key_file) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_strchr
      Src: /src/glib/glib/gkeyfile.c:4336,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - line
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 4347
      start: 4331
    functionDepth: 0
    functionLinenumber: 4331
    functionLinenumberEnd: 4347
    functionName: g_key_file_line_is_key_value_pair
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_utf8_strchr
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_key_file_line_is_key_value_pair (const gchar *line) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4671
      start: 4663
    functionDepth: 0
    functionLinenumber: 4663
    functionLinenumberEnd: 4671
    functionName: g_key_file_parse_boolean_as_value
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: "static const gchar *g_key_file_parse_boolean_as_value (GKeyFile *key_file,\t\
      \t\t\t gboolean value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:727,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - key_file
    - separator
    argTypes:
    - GKeyFile*
    - gchar
    constantsTouched: []
    func_position:
      end: 730
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 730
    functionName: g_key_file_set_list_separator
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_key_file_set_list_separator (GKeyFile *key_file,\t\t\t gchar\
      \ separator) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:3197,1
    - Dst: g_key_file_set_value
      Src: /src/glib/glib/gkeyfile.c:3200,1
    - Dst: g_ascii_dtostr
      Src: /src/glib/glib/gkeyfile.c:3199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - key_file
    - group_name
    - key
    - value
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar*
    - gdouble
    constantsTouched: []
    func_position:
      end: 3201
      start: 3189
    functionDepth: 0
    functionLinenumber: 3189
    functionLinenumberEnd: 3201
    functionName: g_key_file_set_double
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_ascii_dtostr
    - g_key_file_set_value
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_key_file_set_double (GKeyFile *key_file, const gchar *group_name,
      const gchar *key, gdouble value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:4129,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:4130,1
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:4138,1
    - Dst: g_key_file_lookup_group
      Src: /src/glib/glib/gkeyfile.c:4135,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:4131,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:4140,1
    - Dst: g_key_file_lookup_key_value_pair
      Src: /src/glib/glib/gkeyfile.c:4145,1
    - Dst: set_not_found_key_error
      Src: /src/glib/glib/gkeyfile.c:4149,1
    - Dst: g_list_remove
      Src: /src/glib/glib/gkeyfile.c:4153,1
    - Dst: g_hash_table_remove
      Src: /src/glib/glib/gkeyfile.c:4154,1
    - Dst: g_key_file_key_value_pair_free
      Src: /src/glib/glib/gkeyfile.c:4155,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 4
    argNames:
    - key_file
    - group_name
    - key
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 4158
      start: 4120
    functionDepth: 0
    functionLinenumber: 4120
    functionLinenumberEnd: 4158
    functionName: g_key_file_remove_key
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_return_val_if_fail
    - g_hash_table_remove
    - g_list_remove
    - g_key_file_lookup_key_value_pair
    - g_key_file_lookup_group
    - set_not_found_key_error
    - g_key_file_key_value_pair_free
    - _
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_key_file_remove_key (GKeyFile *key_file,\t\t const gchar\
      \ *group_name,\t\t const gchar *key,\t\t GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_lookup_group
      Src: /src/glib/glib/gkeyfile.c:4166,1
    - Dst: g_list_find
      Src: /src/glib/glib/gkeyfile.c:4170,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4171
      start: 4160
    functionDepth: 0
    functionLinenumber: 4160
    functionLinenumberEnd: 4171
    functionName: g_key_file_lookup_group_node
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_lookup_group
    - g_list_find
    linkageType: ''
    returnType: GList*
    signature: "static GList *g_key_file_lookup_group_node (GKeyFile *key_file,\t\t\
      \t const gchar *group_name) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:2609,1
    - Dst: g_key_file_set_value
      Src: /src/glib/glib/gkeyfile.c:2612,1
    - Dst: g_key_file_parse_boolean_as_value
      Src: /src/glib/glib/gkeyfile.c:2611,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - key_file
    - group_name
    - key
    - value
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 2613
      start: 2601
    functionDepth: 0
    functionLinenumber: 2601
    functionLinenumberEnd: 2613
    functionName: g_key_file_set_boolean
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_parse_boolean_as_value
    - g_key_file_set_value
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_key_file_set_boolean (GKeyFile *key_file,\t\t\tconst gchar\
      \ *group_name,\t\t\tconst gchar *key,\t\t\tgboolean value) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:3138,1
    - Dst: g_key_file_get_value
      Src: /src/glib/glib/gkeyfile.c:3144,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:3139,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:3148,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:3140,1
    - Dst: g_key_file_parse_value_as_double
      Src: /src/glib/glib/gkeyfile.c:3152,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:3154,1
    - Dst: g_error_matches
      Src: /src/glib/glib/gkeyfile.c:3158,1
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:3162,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:3164,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:3170,1
    - Dst: g_error_free
      Src: /src/glib/glib/gkeyfile.c:3167,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 4
    argNames:
    - key_file
    - group_name
    - key
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 3174
      start: 3128
    functionDepth: 0
    functionLinenumber: 3128
    functionLinenumberEnd: 3174
    functionName: g_key_file_get_double
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_set_error
    - g_return_val_if_fail
    - g_error_matches
    - g_key_file_get_value
    - g_error_free
    - _
    - g_free
    - g_key_file_parse_value_as_double
    linkageType: ''
    returnType: gdouble
    signature: 'gdouble g_key_file_get_double (GKeyFile *key_file, const gchar *group_name,
      const gchar *key, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:1236,1
    - Dst: g_key_file_clear
      Src: /src/glib/glib/gkeyfile.c:1240,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/glib/gkeyfile.c:1238,1
    - Dst: g_free_sized
      Src: /src/glib/glib/gkeyfile.c:1241,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - key_file
    argTypes:
    - GKeyFile*
    constantsTouched: []
    func_position:
      end: 1243
      start: 1233
    functionDepth: 0
    functionLinenumber: 1233
    functionLinenumberEnd: 1243
    functionName: g_key_file_unref
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_clear
    - g_free_sized
    - g_atomic_int_dec_and_test
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_key_file_unref (GKeyFile *key_file) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:1850,1
    - Dst: g_key_file_lookup_group
      Src: /src/glib/glib/gkeyfile.c:1854,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:1851,1
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:1858,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:1852,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:1860,1
    - Dst: g_key_file_lookup_key_value_pair
      Src: /src/glib/glib/gkeyfile.c:1865,1
    - Dst: g_strdup
      Src: /src/glib/glib/gkeyfile.c:1868,1
    - Dst: set_not_found_key_error
      Src: /src/glib/glib/gkeyfile.c:1870,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1873
      start: 1840
    functionDepth: 0
    functionLinenumber: 1840
    functionLinenumberEnd: 1873
    functionName: g_key_file_get_value
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_return_val_if_fail
    - g_strdup
    - g_key_file_lookup_key_value_pair
    - g_key_file_lookup_group
    - set_not_found_key_error
    - _
    linkageType: ''
    returnType: gchar*
    signature: "gchar *g_key_file_get_value (GKeyFile *key_file,\t\t const gchar *group_name,\t\
      \t const gchar *key,\t\t GError **error) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2552,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2553,1
    - Dst: g_key_file_get_value
      Src: /src/glib/glib/gkeyfile.c:2556,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:2560,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2554,1
    - Dst: g_key_file_parse_value_as_boolean
      Src: /src/glib/glib/gkeyfile.c:2564,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:2566,1
    - Dst: g_error_matches
      Src: /src/glib/glib/gkeyfile.c:2570,1
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:2574,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:2576,1
    - Dst: g_error_free
      Src: /src/glib/glib/gkeyfile.c:2579,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:2582,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 4
    argNames:
    - key_file
    - group_name
    - key
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 2586
      start: 2542
    functionDepth: 0
    functionLinenumber: 2542
    functionLinenumberEnd: 2586
    functionName: g_key_file_get_boolean
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_set_error
    - g_return_val_if_fail
    - g_key_file_parse_value_as_boolean
    - g_error_matches
    - g_key_file_get_value
    - g_error_free
    - _
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_key_file_get_boolean (GKeyFile *key_file,\t\t\tconst gchar\
      \ *group_name,\t\t\tconst gchar *key,\t\t\tGError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:2983,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gkeyfile.c:2985,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:2987,1
    - Dst: g_key_file_set_value
      Src: /src/glib/glib/gkeyfile.c:2986,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - key_file
    - group_name
    - key
    - value
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar*
    - guint64
    constantsTouched: []
    func_position:
      end: 2988
      start: 2975
    functionDepth: 0
    functionLinenumber: 2975
    functionLinenumberEnd: 2988
    functionName: g_key_file_set_uint64
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_free
    - g_strdup_printf
    - g_key_file_set_value
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_key_file_set_uint64 (GKeyFile *key_file, const gchar *group_name,
      const gchar *key, guint64 value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:1212,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/glib/gkeyfile.c:1216,1
    - Dst: g_key_file_init
      Src: /src/glib/glib/gkeyfile.c:1219,1
    - Dst: g_key_file_clear
      Src: /src/glib/glib/gkeyfile.c:1214,1
    - Dst: g_free_sized
      Src: /src/glib/glib/gkeyfile.c:1217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - key_file
    argTypes:
    - GKeyFile*
    constantsTouched: []
    func_position:
      end: 1220
      start: 1209
    functionDepth: 0
    functionLinenumber: 1209
    functionLinenumberEnd: 1220
    functionName: g_key_file_free
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_init
    - g_atomic_int_dec_and_test
    - g_return_if_fail
    - g_free_sized
    - g_key_file_clear
    linkageType: ''
    returnType: void
    signature: 'void g_key_file_free (GKeyFile *key_file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:1814,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:1816,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - group_name
    - key
    - error
    argTypes:
    - char*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 1818
      start: 1809
    functionDepth: 0
    functionLinenumber: 1809
    functionLinenumberEnd: 1818
    functionName: set_not_found_key_error
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    linkageType: ''
    returnType: void
    signature: 'static void set_not_found_key_error (const char *group_name, const
      char *key, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2937,1
    - Dst: g_ascii_strtoull
      Src: /src/glib/glib/gkeyfile.c:2946,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2938,1
    - Dst: g_key_file_get_value
      Src: /src/glib/glib/gkeyfile.c:2941,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2939,1
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:2950,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:2951,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:2954,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:2958,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 4
    argNames:
    - key_file
    - group_name
    - key
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 2960
      start: 2928
    functionDepth: 0
    functionLinenumber: 2928
    functionLinenumberEnd: 2960
    functionName: g_key_file_get_uint64
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_return_val_if_fail
    - g_ascii_strtoull
    - g_key_file_get_value
    - _
    - g_free
    linkageType: ''
    returnType: guint64
    signature: 'guint64 g_key_file_get_uint64 (GKeyFile *key_file, const gchar *group_name,
      const gchar *key, GError **error) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gkeyfile.c:4359,1
    - Dst: g_new
      Src: /src/glib/glib/gkeyfile.c:4361,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:4396,1
    - Dst: strlen
      Src: /src/glib/glib/gkeyfile.c:4361,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gkeyfile.c:4394,1
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:4416,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:4418,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gkeyfile.c:4431,1
    - Dst: g_strndup
      Src: /src/glib/glib/gkeyfile.c:4431,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gkeyfile.c:4447,1
    - Dst: g_strndup
      Src: /src/glib/glib/gkeyfile.c:4447,1
    - Dst: g_slist_reverse
      Src: /src/glib/glib/gkeyfile.c:4448,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:4454,1
    - Dst: g_slist_free_full
      Src: /src/glib/glib/gkeyfile.c:4455,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4458
      start: 4349
    functionDepth: 0
    functionLinenumber: 4349
    functionLinenumberEnd: 4458
    functionName: g_key_file_parse_value_as_string
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - strlen
    - g_new
    - g_assert
    - g_slist_reverse
    - g_strndup
    - g_free
    - g_set_error_literal
    - _
    - g_slist_free_full
    - g_slist_prepend
    linkageType: ''
    returnType: gchar*
    signature: "static gchar *g_key_file_parse_value_as_string (GKeyFile *key_file,\t\
      \t\t\t const gchar *value,\t\t\t\t GSList **pieces,\t\t\t\t GError **error) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/glib/gkeyfile.c:4470,1
    - Dst: strcpy
      Src: /src/glib/glib/gkeyfile.c:4514,1
    - Dst: strcpy
      Src: /src/glib/glib/gkeyfile.c:4490,1
    - Dst: g_new
      Src: /src/glib/glib/gkeyfile.c:4475,1
    - Dst: strcpy
      Src: /src/glib/glib/gkeyfile.c:4503,1
    - Dst: strcpy
      Src: /src/glib/glib/gkeyfile.c:4519,1
    - Dst: strcpy
      Src: /src/glib/glib/gkeyfile.c:4524,1
    - Dst: strcpy
      Src: /src/glib/glib/gkeyfile.c:4532,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4549
      start: 4460
    functionDepth: 0
    functionLinenumber: 4460
    functionLinenumberEnd: 4549
    functionName: g_key_file_parse_string_as_value
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - strcpy
    - g_new
    - strlen
    linkageType: ''
    returnType: gchar*
    signature: "static gchar *g_key_file_parse_string_as_value (GKeyFile *key_file,\t\
      \t\t\t const gchar *string,\t\t\t\t gboolean escape_separator) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:3763,1
    - Dst: g_key_file_set_group_comment
      Src: /src/glib/glib/gkeyfile.c:3768,1
    - Dst: g_key_file_set_key_comment
      Src: /src/glib/glib/gkeyfile.c:3766,1
    - Dst: g_key_file_set_top_comment
      Src: /src/glib/glib/gkeyfile.c:3770,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 4
    argNames:
    - key_file
    - group_name
    - key
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 3771
      start: 3757
    functionDepth: 0
    functionLinenumber: 3757
    functionLinenumberEnd: 3771
    functionName: g_key_file_remove_comment
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_set_top_comment
    - g_return_val_if_fail
    - g_key_file_set_key_comment
    - g_key_file_set_group_comment
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_key_file_remove_comment (GKeyFile *key_file, const gchar
      *group_name, const gchar *key, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:1958,1
    - Dst: g_key_file_get_value
      Src: /src/glib/glib/gkeyfile.c:1964,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:1960,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:1959,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:1968,1
    - Dst: g_utf8_validate
      Src: /src/glib/glib/gkeyfile.c:1972,1
    - Dst: g_utf8_make_valid
      Src: /src/glib/glib/gkeyfile.c:1974,1
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:1975,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:1977,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:1979,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:1997,1
    - Dst: g_error_free
      Src: /src/glib/glib/gkeyfile.c:2000,1
    - Dst: g_key_file_parse_value_as_string
      Src: /src/glib/glib/gkeyfile.c:1985,1
    - Dst: g_error_matches
      Src: /src/glib/glib/gkeyfile.c:1991,1
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:1995,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:2003,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:1980,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:1987,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2007
      start: 1949
    functionDepth: 0
    functionLinenumber: 1949
    functionLinenumberEnd: 2007
    functionName: g_key_file_get_string
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_set_error
    - g_return_val_if_fail
    - g_error_matches
    - g_key_file_parse_value_as_string
    - g_key_file_get_value
    - g_utf8_validate
    - g_error_free
    - _
    - g_utf8_make_valid
    - g_free
    linkageType: ''
    returnType: gchar*
    signature: "gchar *g_key_file_get_string (GKeyFile *key_file,\t\t const gchar\
      \ *group_name,\t\t const gchar *key,\t\t GError **error) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:3729,1
    - Dst: g_key_file_get_top_comment
      Src: /src/glib/glib/gkeyfile.c:3736,1
    - Dst: g_key_file_get_group_comment
      Src: /src/glib/glib/gkeyfile.c:3734,1
    - Dst: g_key_file_get_key_comment
      Src: /src/glib/glib/gkeyfile.c:3732,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3737
      start: 3723
    functionDepth: 0
    functionLinenumber: 3723
    functionLinenumberEnd: 3737
    functionName: g_key_file_get_comment
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_key_file_get_top_comment
    - g_key_file_get_key_comment
    - g_key_file_get_group_comment
    linkageType: ''
    returnType: gchar*
    signature: 'gchar * g_key_file_get_comment (GKeyFile *key_file, const gchar *group_name,
      const gchar *key, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_strtod
      Src: /src/glib/glib/gkeyfile.c:4610,1
    - Dst: g_utf8_make_valid
      Src: /src/glib/glib/gkeyfile.c:4614,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:4620,1
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:4615,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:4617,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - key_file
    - value
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 4626
      start: 4602
    functionDepth: 0
    functionLinenumber: 4602
    functionLinenumberEnd: 4626
    functionName: g_key_file_parse_value_as_double
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_ascii_strtod
    - _
    - g_utf8_make_valid
    - g_free
    linkageType: ''
    returnType: gdouble
    signature: 'static gdouble g_key_file_parse_value_as_double (GKeyFile *key_file,
      const gchar *value, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/glib/gkeyfile.c:4631,1
    - Dst: strncmp
      Src: /src/glib/glib/gkeyfile.c:4632,1
    - Dst: MAX
      Src: /src/glib/glib/gkeyfile.c:4632,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - s1
    - len1
    - s2
    argTypes:
    - gchar*
    - size_t
    - gchar*
    constantsTouched: []
    func_position:
      end: 4633
      start: 4628
    functionDepth: 0
    functionLinenumber: 4628
    functionLinenumberEnd: 4633
    functionName: strcmp_sized
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - strncmp
    - MAX
    - strlen
    linkageType: ''
    returnType: gint
    signature: 'static gint strcmp_sized (const gchar *s1, size_t len1, const gchar
      *s2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:1900,1
    - Dst: g_key_file_is_group_name
      Src: /src/glib/glib/gkeyfile.c:1901,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:1901,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:1902,1
    - Dst: g_key_file_is_key_name
      Src: /src/glib/glib/gkeyfile.c:1902,1
    - Dst: strlen
      Src: /src/glib/glib/gkeyfile.c:1902,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:1903,1
    - Dst: g_key_file_lookup_group
      Src: /src/glib/glib/gkeyfile.c:1905,1
    - Dst: g_key_file_add_group
      Src: /src/glib/glib/gkeyfile.c:1909,1
    - Dst: g_key_file_add_key
      Src: /src/glib/glib/gkeyfile.c:1912,1
    - Dst: g_strdup
      Src: /src/glib/glib/gkeyfile.c:1923,1
    - Dst: g_key_file_add_key
      Src: /src/glib/glib/gkeyfile.c:1919,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:1922,1
    - Dst: g_key_file_lookup_key_value_pair
      Src: /src/glib/glib/gkeyfile.c:1916,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 4
    argNames:
    - key_file
    - group_name
    - key
    - value
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1926
      start: 1891
    functionDepth: 0
    functionLinenumber: 1891
    functionLinenumberEnd: 1926
    functionName: g_key_file_set_value
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - strlen
    - g_key_file_is_key_name
    - g_return_if_fail
    - g_key_file_lookup_key_value_pair
    - g_key_file_lookup_group
    - g_key_file_add_key
    - g_key_file_is_group_name
    - g_free
    - g_key_file_add_group
    linkageType: ''
    returnType: void
    signature: "void g_key_file_set_value (GKeyFile *key_file,\t\t const gchar *group_name,\t\
      \t const gchar *key,\t\t const gchar *value) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2350,1
    - Dst: g_get_language_names
      Src: /src/glib/glib/gkeyfile.c:2360,1
    - Dst: g_get_locale_variants
      Src: /src/glib/glib/gkeyfile.c:2356,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2352,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2351,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gkeyfile.c:2366,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gkeyfile.c:2369,1
    - Dst: g_key_file_get_string
      Src: /src/glib/glib/gkeyfile.c:2370,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:2371,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:2372,1
    - Dst: g_strdup
      Src: /src/glib/glib/gkeyfile.c:2378,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gkeyfile.c:2380,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2383
      start: 2339
    functionDepth: 0
    functionLinenumber: 2339
    functionLinenumberEnd: 2383
    functionName: g_key_file_get_locale_for_key
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_get_language_names
    - g_return_val_if_fail
    - g_strdup_printf
    - g_strdup
    - g_get_locale_variants
    - g_strfreev
    - g_strcmp0
    - g_free
    - g_key_file_get_string
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_key_file_get_locale_for_key (GKeyFile *key_file, const gchar
      *group_name, const gchar *key, const gchar *locale) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/glib/gkeyfile.c:704,1
    - Dst: g_key_file_init
      Src: /src/glib/glib/gkeyfile.c:706,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 709
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 709
    functionName: g_key_file_new
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_init
    - g_new0
    linkageType: ''
    returnType: GKeyFile*
    signature: 'GKeyFile *g_key_file_new (void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gkeyfile.c:1393,1
    - Dst: strchr
      Src: /src/glib/glib/gkeyfile.c:1391,1
    - Dst: g_ascii_isspace
      Src: /src/glib/glib/gkeyfile.c:1419,1
    - Dst: g_assert
      Src: /src/glib/glib/gkeyfile.c:1427,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:1439,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:1443,1
    - Dst: key_get_locale
      Src: /src/glib/glib/gkeyfile.c:1450,1
    - Dst: g_key_file_locale_is_interesting
      Src: /src/glib/glib/gkeyfile.c:1452,1
    - Dst: g_strndup
      Src: /src/glib/glib/gkeyfile.c:1458,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:1464,1
    - Dst: g_ascii_isspace
      Src: /src/glib/glib/gkeyfile.c:1400,1
    - Dst: g_key_file_is_key_name
      Src: /src/glib/glib/gkeyfile.c:1407,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gkeyfile.c:1424,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:1441,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gkeyfile.c:1457,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gkeyfile.c:1385,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:1387,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gkeyfile.c:1405,1
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:1409,1
    - Dst: g_strndup
      Src: /src/glib/glib/gkeyfile.c:1415,1
    - Dst: strcmp
      Src: /src/glib/glib/gkeyfile.c:1431,1
    - Dst: g_ascii_strncasecmp
      Src: /src/glib/glib/gkeyfile.c:1434,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:1411,1
    - Dst: g_utf8_make_valid
      Src: /src/glib/glib/gkeyfile.c:1436,1
    - Dst: g_assert
      Src: /src/glib/glib/gkeyfile.c:1428,1
    - Dst: strlen
      Src: /src/glib/glib/gkeyfile.c:1433,1
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:1437,1
    - Dst: g_new
      Src: /src/glib/glib/gkeyfile.c:1456,1
    - Dst: g_key_file_add_key_value_pair
      Src: /src/glib/glib/gkeyfile.c:1460,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 68
    argCount: 4
    argNames:
    - key_file
    - line
    - length
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - gsize
    - GError**
    constantsTouched: []
    func_position:
      end: 1465
      start: 1372
    functionDepth: 0
    functionLinenumber: 1372
    functionLinenumberEnd: 1465
    functionName: g_key_file_parse_key_value_pair
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - strcmp
    - g_set_error_literal
    - g_key_file_add_key_value_pair
    - g_utf8_make_valid
    - g_ascii_strncasecmp
    - g_ascii_isspace
    - g_set_error
    - g_warn_if_fail
    - strlen
    - g_key_file_is_key_name
    - g_new
    - g_strndup
    - g_key_file_locale_is_interesting
    - _
    - g_assert
    - key_get_locale
    - strchr
    - g_free
    linkageType: ''
    returnType: void
    signature: "static void g_key_file_parse_key_value_pair (GKeyFile *key_file,\t\
      \t\t\t const gchar *line,\t\t\t\t gsize length,\t\t\t\t GError **error) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:1677,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:1678,1
    - Dst: g_key_file_lookup_group
      Src: /src/glib/glib/gkeyfile.c:1680,1
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:1684,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:1686,1
    - Dst: g_new
      Src: /src/glib/glib/gkeyfile.c:1702,1
    - Dst: g_strdup
      Src: /src/glib/glib/gkeyfile.c:1713,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1724
      start: 1666
    functionDepth: 0
    functionLinenumber: 1666
    functionLinenumberEnd: 1724
    functionName: g_key_file_get_keys
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_return_val_if_fail
    - g_strdup
    - g_new
    - g_key_file_lookup_group
    - _
    linkageType: ''
    returnType: gchar**
    signature: "gchar **g_key_file_get_keys (GKeyFile *key_file,\t\t const gchar *group_name,\t\
      \t gsize *length,\t\t GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:1770,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:1778,1
    - Dst: g_list_last
      Src: /src/glib/glib/gkeyfile.c:1776,1
    - Dst: g_list_length
      Src: /src/glib/glib/gkeyfile.c:1772,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:1774,1
    - Dst: g_new
      Src: /src/glib/glib/gkeyfile.c:1785,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gkeyfile.c:1797,1
    - Dst: g_strdup
      Src: /src/glib/glib/gkeyfile.c:1799,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1807
      start: 1762
    functionDepth: 0
    functionLinenumber: 1762
    functionLinenumberEnd: 1807
    functionName: g_key_file_get_groups
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_warn_if_fail
    - g_strdup
    - g_new
    - g_list_length
    - g_list_last
    linkageType: ''
    returnType: gchar**
    signature: "gchar **g_key_file_get_groups (GKeyFile *key_file,\t\t gsize *length) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gkeyfile.c:4228,1
    - Dst: g_utf8_find_next_char
      Src: /src/glib/glib/gkeyfile.c:4232,1
    - Dst: g_ascii_iscntrl
      Src: /src/glib/glib/gkeyfile.c:4231,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - name
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 4238
      start: 4223
    functionDepth: 0
    functionLinenumber: 4223
    functionLinenumberEnd: 4238
    functionName: g_key_file_is_group_name
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_utf8_find_next_char
    - g_ascii_iscntrl
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_key_file_is_group_name (const gchar *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_strrstr
      Src: /src/glib/glib/gkeyfile.c:1474,1
    - Dst: strlen
      Src: /src/glib/glib/gkeyfile.c:1476,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1493
      start: 1467
    functionDepth: 0
    functionLinenumber: 1467
    functionLinenumberEnd: 1493
    functionName: key_get_locale
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_strrstr
    - strlen
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *key_get_locale (const gchar *key, gsize *len_out) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gkeyfile.c:4246,1
    - Dst: g_utf8_find_next_char
      Src: /src/glib/glib/gkeyfile.c:4280,1
    - Dst: g_unichar_isalnum
      Src: /src/glib/glib/gkeyfile.c:4278,1
    - Dst: g_utf8_get_char_validated
      Src: /src/glib/glib/gkeyfile.c:4278,1
    - Dst: g_utf8_find_next_char
      Src: /src/glib/glib/gkeyfile.c:4256,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 49
    argCount: 2
    argNames:
    - name
    - len
    argTypes:
    - gchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 4298
      start: 4240
    functionDepth: 0
    functionLinenumber: 4240
    functionLinenumberEnd: 4298
    functionName: g_key_file_is_key_name
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_utf8_get_char_validated
    - g_utf8_find_next_char
    - g_unichar_isalnum
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_key_file_is_key_name (const gchar *name, gsize len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:1611,1
    - Dst: g_list_last
      Src: /src/glib/glib/gkeyfile.c:1626,1
    - Dst: g_string_new
      Src: /src/glib/glib/gkeyfile.c:1613,1
    - Dst: g_list_last
      Src: /src/glib/glib/gkeyfile.c:1615,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gkeyfile.c:1624,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gkeyfile.c:1635,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gkeyfile.c:1637,1
    - Dst: g_string_free
      Src: /src/glib/glib/gkeyfile.c:1644,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1645
      start: 1603
    functionDepth: 0
    functionLinenumber: 1603
    functionLinenumberEnd: 1645
    functionName: g_key_file_to_data
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_list_last
    - g_string_free
    - g_string_new
    - g_string_append_printf
    linkageType: ''
    returnType: gchar*
    signature: "gchar *g_key_file_to_data (GKeyFile *key_file,\t\t gsize *length,\t\
      \t GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:1739,1
    - Dst: g_strdup
      Src: /src/glib/glib/gkeyfile.c:1742,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1745
      start: 1736
    functionDepth: 0
    functionLinenumber: 1736
    functionLinenumberEnd: 1745
    functionName: g_key_file_get_start_group
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_strdup
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_key_file_get_start_group (GKeyFile *key_file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:3302,1
    - Dst: g_ascii_dtostr
      Src: /src/glib/glib/gkeyfile.c:3310,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gkeyfile.c:3305,1
    - Dst: g_string_append
      Src: /src/glib/glib/gkeyfile.c:3312,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:3303,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gkeyfile.c:3313,1
    - Dst: g_key_file_set_value
      Src: /src/glib/glib/gkeyfile.c:3316,1
    - Dst: g_string_free
      Src: /src/glib/glib/gkeyfile.c:3317,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 5
    argNames:
    - key_file
    - group_name
    - key
    - list
    - length
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar*
    - gdouble
    - gsize
    constantsTouched: []
    func_position:
      end: 3318
      start: 3292
    functionDepth: 0
    functionLinenumber: 3292
    functionLinenumberEnd: 3318
    functionName: g_key_file_set_double_list
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_ascii_dtostr
    - g_return_if_fail
    - g_string_append_c
    - g_string_free
    - g_string_sized_new
    - g_key_file_set_value
    - g_string_append
    linkageType: ''
    returnType: void
    signature: "void g_key_file_set_double_list (GKeyFile *key_file,\t\t\t const gchar\
      \ *group_name,\t\t\t const gchar *key,\t\t\t gdouble list[],\t\t\t gsize length) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:4057,1
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:4064,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:4058,1
    - Dst: g_key_file_lookup_group_node
      Src: /src/glib/glib/gkeyfile.c:4060,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:4066,1
    - Dst: g_key_file_remove_group_node
      Src: /src/glib/glib/gkeyfile.c:4071,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - key_file
    - group_name
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 4074
      start: 4050
    functionDepth: 0
    functionLinenumber: 4050
    functionLinenumberEnd: 4074
    functionName: g_key_file_remove_group
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_lookup_group_node
    - g_set_error
    - g_return_val_if_fail
    - _
    - g_key_file_remove_group_node
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_key_file_remove_group (GKeyFile *key_file,\t\t\t const\
      \ gchar *group_name,\t\t\t GError **error) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/glib/glib/gkeyfile.c:4562,1
    - Dst: g_utf8_make_valid
      Src: /src/glib/glib/gkeyfile.c:4567,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:4570,1
    - Dst: g_ascii_isspace
      Src: /src/glib/glib/gkeyfile.c:4565,1
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:4568,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:4572,1
    - Dst: g_utf8_make_valid
      Src: /src/glib/glib/gkeyfile.c:4580,1
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:4581,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:4584,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:4586,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 3
    argNames:
    - key_file
    - value
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 4592
      start: 4551
    functionDepth: 0
    functionLinenumber: 4551
    functionLinenumberEnd: 4592
    functionName: g_key_file_parse_value_as_integer
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_ascii_isspace
    - g_set_error
    - strtol
    - _
    - g_utf8_make_valid
    - g_free
    linkageType: ''
    returnType: gint
    signature: "static gint g_key_file_parse_value_as_integer (GKeyFile *key_file,\t\
      \t\t\t const gchar *value,\t\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gkeyfile.c:4599,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4600
      start: 4594
    functionDepth: 0
    functionLinenumber: 4594
    functionLinenumberEnd: 4600
    functionName: g_key_file_parse_integer_as_value
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    linkageType: ''
    returnType: gchar*
    signature: "static gchar *g_key_file_parse_integer_as_value (GKeyFile *key_file,\t\
      \t\t\t gint value) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:3237,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:3238,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:3239,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:3248,1
    - Dst: g_key_file_get_string_list
      Src: /src/glib/glib/gkeyfile.c:3244,1
    - Dst: g_new
      Src: /src/glib/glib/gkeyfile.c:3253,1
    - Dst: g_key_file_parse_value_as_double
      Src: /src/glib/glib/gkeyfile.c:3257,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:3263,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gkeyfile.c:3264,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:3265,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gkeyfile.c:3270,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3276
      start: 3225
    functionDepth: 0
    functionLinenumber: 3225
    functionLinenumberEnd: 3276
    functionName: g_key_file_get_double_list
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_return_val_if_fail
    - g_new
    - g_key_file_get_string_list
    - g_strfreev
    - g_free
    - g_key_file_parse_value_as_double
    linkageType: ''
    returnType: gdouble*
    signature: 'gdouble *g_key_file_get_double_list (GKeyFile *key_file, const gchar
      *group_name, const gchar *key, gsize *length, GError **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gkeyfile.c:3973,1
    - Dst: g_hash_table_remove
      Src: /src/glib/glib/gkeyfile.c:3974,1
    - Dst: g_list_remove_link
      Src: /src/glib/glib/gkeyfile.c:4012,1
    - Dst: g_list_last
      Src: /src/glib/glib/gkeyfile.c:3996,1
    - Dst: g_key_file_remove_key_value_pair_node
      Src: /src/glib/glib/gkeyfile.c:4021,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gkeyfile.c:4024,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/glib/gkeyfile.c:4028,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:4032,1
    - Dst: g_free_sized
      Src: /src/glib/glib/gkeyfile.c:4033,1
    - Dst: g_list_free_1
      Src: /src/glib/glib/gkeyfile.c:4034,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 2
    argNames:
    - key_file
    - group_node
    argTypes:
    - GKeyFile*
    - GList*
    constantsTouched: []
    func_position:
      end: 4035
      start: 3962
    functionDepth: 0
    functionLinenumber: 3962
    functionLinenumberEnd: 4035
    functionName: g_key_file_remove_group_node
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_warn_if_fail
    - g_key_file_remove_key_value_pair_node
    - g_hash_table_remove
    - g_assert
    - g_list_last
    - g_free_sized
    - g_list_remove_link
    - g_free
    - g_hash_table_destroy
    - g_list_free_1
    linkageType: ''
    returnType: void
    signature: "static void g_key_file_remove_group_node (GKeyFile *key_file,\t\t\t\
      \ GList *group_node) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_lookup_group
      Src: /src/glib/glib/gkeyfile.c:3331,1
    - Dst: g_key_file_lookup_key_value_pair_node
      Src: /src/glib/glib/gkeyfile.c:3345,1
    - Dst: set_not_found_key_error
      Src: /src/glib/glib/gkeyfile.c:3349,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:3336,1
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:3334,1
    - Dst: g_key_file_remove_key_value_pair_node
      Src: /src/glib/glib/gkeyfile.c:3366,1
    - Dst: g_new
      Src: /src/glib/glib/gkeyfile.c:3375,1
    - Dst: g_key_file_parse_comment_as_value
      Src: /src/glib/glib/gkeyfile.c:3377,1
    - Dst: g_list_insert
      Src: /src/glib/glib/gkeyfile.c:3379,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 28
    argCount: 5
    argNames:
    - key_file
    - group_name
    - key
    - comment
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 3383
      start: 3320
    functionDepth: 0
    functionLinenumber: 3320
    functionLinenumberEnd: 3383
    functionName: g_key_file_set_key_comment
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_key_file_remove_key_value_pair_node
    - g_new
    - g_key_file_lookup_key_value_pair_node
    - g_key_file_parse_comment_as_value
    - set_not_found_key_error
    - g_key_file_lookup_group
    - g_list_insert
    - _
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_key_file_set_key_comment (GKeyFile *key_file, const
      gchar *group_name, const gchar *key, const gchar *comment, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_lookup_group
      Src: /src/glib/glib/gkeyfile.c:3667,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:3672,1
    - Dst: get_group_comment
      Src: /src/glib/glib/gkeyfile.c:3681,1
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:3670,1
    - Dst: g_key_file_lookup_group_node
      Src: /src/glib/glib/gkeyfile.c:3678,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3682
      start: 3659
    functionDepth: 0
    functionLinenumber: 3659
    functionLinenumberEnd: 3682
    functionName: g_key_file_get_group_comment
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_key_file_lookup_group_node
    - get_group_comment
    - g_key_file_lookup_group
    - _
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *g_key_file_get_group_comment (GKeyFile *key_file, const
      gchar *group_name, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gkeyfile.c:3397,1
    - Dst: g_list_free_full
      Src: /src/glib/glib/gkeyfile.c:3405,1
    - Dst: g_list_last
      Src: /src/glib/glib/gkeyfile.c:3398,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gkeyfile.c:3400,1
    - Dst: g_new
      Src: /src/glib/glib/gkeyfile.c:3411,1
    - Dst: g_key_file_parse_comment_as_value
      Src: /src/glib/glib/gkeyfile.c:3413,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/gkeyfile.c:3416,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 3
    argNames:
    - key_file
    - comment
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 3419
      start: 3385
    functionDepth: 0
    functionLinenumber: 3385
    functionLinenumberEnd: 3419
    functionName: g_key_file_set_top_comment
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_warn_if_fail
    - g_new
    - g_list_free_full
    - g_list_last
    - g_key_file_parse_comment_as_value
    - g_list_prepend
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_key_file_set_top_comment (GKeyFile *key_file, const
      gchar *comment, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gkeyfile.c:3694,1
    - Dst: get_group_comment
      Src: /src/glib/glib/gkeyfile.c:3699,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gkeyfile.c:3697,1
    - Dst: g_list_last
      Src: /src/glib/glib/gkeyfile.c:3695,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3700
      start: 3684
    functionDepth: 0
    functionLinenumber: 3684
    functionLinenumberEnd: 3700
    functionName: g_key_file_get_top_comment
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - get_group_comment
    - g_warn_if_fail
    - g_list_last
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *g_key_file_get_top_comment (GKeyFile *key_file, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:1190,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gkeyfile.c:1192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1187
    functionDepth: 0
    functionLinenumber: 1187
    functionLinenumberEnd: 1195
    functionName: g_key_file_ref
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_atomic_int_inc
    - g_return_val_if_fail
    linkageType: ''
    returnType: GKeyFile*
    signature: 'GKeyFile *g_key_file_ref (GKeyFile *key_file) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_get_value
      Src: /src/glib/glib/gkeyfile.c:2081,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2076,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:2103,1
    - Dst: g_error_matches
      Src: /src/glib/glib/gkeyfile.c:2108,1
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:2112,1
    - Dst: g_slist_free
      Src: /src/glib/glib/gkeyfile.c:2132,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:2085,1
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:2092,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:2120,1
    - Dst: g_key_file_parse_value_as_string
      Src: /src/glib/glib/gkeyfile.c:2102,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:2114,1
    - Dst: g_new
      Src: /src/glib/glib/gkeyfile.c:2127,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2074,1
    - Dst: g_utf8_validate
      Src: /src/glib/glib/gkeyfile.c:2089,1
    - Dst: g_utf8_make_valid
      Src: /src/glib/glib/gkeyfile.c:2091,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:2097,1
    - Dst: g_slist_free_full
      Src: /src/glib/glib/gkeyfile.c:2122,1
    - Dst: g_slist_length
      Src: /src/glib/glib/gkeyfile.c:2126,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2075,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:2094,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:2096,1
    - Dst: g_error_free
      Src: /src/glib/glib/gkeyfile.c:2117,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:2104,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2138
      start: 2062
    functionDepth: 0
    functionLinenumber: 2062
    functionLinenumberEnd: 2138
    functionName: g_key_file_get_string_list
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_set_error
    - g_slist_free_full
    - g_return_val_if_fail
    - g_new
    - g_slist_length
    - g_error_matches
    - g_key_file_parse_value_as_string
    - g_key_file_get_value
    - g_utf8_validate
    - g_error_free
    - g_slist_free
    - _
    - g_utf8_make_valid
    - g_free
    linkageType: ''
    returnType: gchar**
    signature: "gchar **g_key_file_get_string_list (GKeyFile *key_file,\t\t\t const\
      \ gchar *group_name,\t\t\t const gchar *key,\t\t\t gsize *length,\t\t\t GError\
      \ **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:1150,1
    - Dst: g_get_system_data_dirs
      Src: /src/glib/glib/gkeyfile.c:1154,1
    - Dst: g_get_user_data_dir
      Src: /src/glib/glib/gkeyfile.c:1153,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:1151,1
    - Dst: g_path_is_absolute
      Src: /src/glib/glib/gkeyfile.c:1151,1
    - Dst: g_new
      Src: /src/glib/glib/gkeyfile.c:1155,1
    - Dst: g_strv_length
      Src: /src/glib/glib/gkeyfile.c:1155,1
    - Dst: g_strdup
      Src: /src/glib/glib/gkeyfile.c:1158,1
    - Dst: g_strdup
      Src: /src/glib/glib/gkeyfile.c:1162,1
    - Dst: g_key_file_load_from_dirs
      Src: /src/glib/glib/gkeyfile.c:1165,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gkeyfile.c:1172,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 5
    argNames:
    - key_file
    - file
    - full_path
    - flags
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar**
    - GKeyFileFlags
    - GError**
    constantsTouched: []
    func_position:
      end: 1175
      start: 1137
    functionDepth: 0
    functionLinenumber: 1137
    functionLinenumberEnd: 1175
    functionName: g_key_file_load_from_data_dirs
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_get_system_data_dirs
    - g_strv_length
    - g_new
    - g_strdup
    - g_get_user_data_dir
    - g_strfreev
    - g_key_file_load_from_dirs
    - g_path_is_absolute
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_key_file_load_from_data_dirs (GKeyFile *key_file,\t\t\t\
      \tconst gchar *file,\t\t\t\tgchar **full_path,\t\t\t\tGKeyFileFlags flags,\t\
      \t\t\tGError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:2033,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:2034,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:2038,1
    - Dst: g_key_file_set_value
      Src: /src/glib/glib/gkeyfile.c:2037,1
    - Dst: g_key_file_parse_string_as_value
      Src: /src/glib/glib/gkeyfile.c:2036,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - key_file
    - group_name
    - key
    - string
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2039
      start: 2025
    functionDepth: 0
    functionLinenumber: 2025
    functionLinenumberEnd: 2039
    functionName: g_key_file_set_string
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_set_value
    - g_free
    - g_key_file_parse_string_as_value
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_key_file_set_string (GKeyFile *key_file,\t\t const gchar *group_name,\t\
      \t const gchar *key,\t\t const gchar *string) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:3090,1
    - Dst: g_key_file_parse_integer_as_value
      Src: /src/glib/glib/gkeyfile.c:3098,1
    - Dst: g_string_append
      Src: /src/glib/glib/gkeyfile.c:3100,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:3091,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gkeyfile.c:3093,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gkeyfile.c:3101,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:3103,1
    - Dst: g_key_file_set_value
      Src: /src/glib/glib/gkeyfile.c:3106,1
    - Dst: g_string_free
      Src: /src/glib/glib/gkeyfile.c:3107,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 5
    argNames:
    - key_file
    - group_name
    - key
    - list
    - length
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar*
    - gint
    - gsize
    constantsTouched: []
    func_position:
      end: 3108
      start: 3080
    functionDepth: 0
    functionLinenumber: 3080
    functionLinenumberEnd: 3108
    functionName: g_key_file_set_integer_list
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - g_string_append_c
    - g_key_file_parse_integer_as_value
    - g_string_free
    - g_string_sized_new
    - g_key_file_set_value
    - g_free
    - g_string_append
    linkageType: ''
    returnType: void
    signature: "void g_key_file_set_integer_list (GKeyFile *key_file,\t\t\t const\
      \ gchar *group_name,\t\t\t const gchar *key,\t\t\t gint list[],\t\t\t gsize\
      \ length) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:2823,1
    - Dst: g_key_file_set_value
      Src: /src/glib/glib/gkeyfile.c:2826,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:2827,1
    - Dst: g_key_file_parse_integer_as_value
      Src: /src/glib/glib/gkeyfile.c:2825,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - key_file
    - group_name
    - key
    - value
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar*
    - gint
    constantsTouched: []
    func_position:
      end: 2828
      start: 2815
    functionDepth: 0
    functionLinenumber: 2815
    functionLinenumberEnd: 2828
    functionName: g_key_file_set_integer
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_set_value
    - g_free
    - g_key_file_parse_integer_as_value
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_key_file_set_integer (GKeyFile *key_file,\t\t\tconst gchar\
      \ *group_name,\t\t\tconst gchar *key,\t\t\tgint value) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:1504,1
    - Dst: g_string_erase
      Src: /src/glib/glib/gkeyfile.c:1520,1
    - Dst: g_key_file_flush_parse_buffer
      Src: /src/glib/glib/gkeyfile.c:1529,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gkeyfile.c:1510,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:1505,1
    - Dst: g_key_file_parse_comment
      Src: /src/glib/glib/gkeyfile.c:1531,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:1535,1
    - Dst: memchr
      Src: /src/glib/glib/gkeyfile.c:1547,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gkeyfile.c:1554,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 4
    argNames:
    - key_file
    - data
    - length
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - gsize
    - GError**
    constantsTouched: []
    func_position:
      end: 1558
      start: 1495
    functionDepth: 0
    functionLinenumber: 1495
    functionLinenumberEnd: 1558
    functionName: g_key_file_parse_data
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_string_append_len
    - g_return_if_fail
    - g_key_file_parse_comment
    - g_key_file_flush_parse_buffer
    - g_string_erase
    - g_string_sized_new
    - memchr
    linkageType: ''
    returnType: void
    signature: "static void g_key_file_parse_data (GKeyFile *key_file,\t\t const gchar\
      \ *data,\t\t gsize length,\t\t GError **error) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2265,1
    - Dst: g_get_locale_variants
      Src: /src/glib/glib/gkeyfile.c:2275,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2267,1
    - Dst: g_get_language_names
      Src: /src/glib/glib/gkeyfile.c:2280,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2266,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gkeyfile.c:2286,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gkeyfile.c:2289,1
    - Dst: g_key_file_get_string
      Src: /src/glib/glib/gkeyfile.c:2291,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:2294,1
    - Dst: g_key_file_get_string
      Src: /src/glib/glib/gkeyfile.c:2304,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gkeyfile.c:2312,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:2308,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2315
      start: 2252
    functionDepth: 0
    functionLinenumber: 2252
    functionLinenumberEnd: 2315
    functionName: g_key_file_get_locale_string
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_get_language_names
    - g_return_val_if_fail
    - g_strdup_printf
    - g_get_locale_variants
    - g_strfreev
    - g_strcmp0
    - g_free
    - g_key_file_get_string
    linkageType: ''
    returnType: gchar*
    signature: "gchar *g_key_file_get_locale_string (GKeyFile *key_file,\t\t\t const\
      \ gchar *group_name,\t\t\t const gchar *key,\t\t\t const gchar *locale,\t\t\t\
      \ GError **error) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:1566,1
    - Dst: g_string_erase
      Src: /src/glib/glib/gkeyfile.c:1578,1
    - Dst: g_key_file_parse_line
      Src: /src/glib/glib/gkeyfile.c:1575,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:1582,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - key_file
    - error
    argTypes:
    - GKeyFile*
    - GError**
    constantsTouched: []
    func_position:
      end: 1586
      start: 1560
    functionDepth: 0
    functionLinenumber: 1560
    functionLinenumberEnd: 1586
    functionName: g_key_file_flush_parse_buffer
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_key_file_parse_line
    - g_string_erase
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "static void g_key_file_flush_parse_buffer (GKeyFile *key_file,\t\t\
      \t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:2500,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:2503,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gkeyfile.c:2505,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:2502,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:2501,1
    - Dst: g_key_file_parse_string_as_value
      Src: /src/glib/glib/gkeyfile.c:2510,1
    - Dst: g_string_append
      Src: /src/glib/glib/gkeyfile.c:2511,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gkeyfile.c:2512,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:2514,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gkeyfile.c:2517,1
    - Dst: g_strdup
      Src: /src/glib/glib/gkeyfile.c:2517,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:2519,1
    - Dst: g_string_free
      Src: /src/glib/glib/gkeyfile.c:2520,1
    - Dst: g_key_file_set_value
      Src: /src/glib/glib/gkeyfile.c:2518,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gkeyfile.c:2517,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 6
    argNames:
    - key_file
    - group_name
    - key
    - locale
    - list
    - length
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 2521
      start: 2488
    functionDepth: 0
    functionLinenumber: 2488
    functionLinenumberEnd: 2521
    functionName: g_key_file_set_locale_string_list
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_strdup
    - g_return_if_fail
    - g_string_append_c
    - g_string_free
    - g_strcmp0
    - g_key_file_parse_string_as_value
    - g_string_sized_new
    - g_key_file_set_value
    - g_free
    - g_string_append
    linkageType: ''
    returnType: void
    signature: "void g_key_file_set_locale_string_list (GKeyFile *key_file,\t\t\t\t\
      \ const gchar *group_name,\t\t\t\t const gchar *key,\t\t\t\t const gchar *locale,\t\
      \t\t\t const gchar * const list[],\t\t\t\t gsize length) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2764,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2766,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:2774,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2765,1
    - Dst: g_key_file_get_value
      Src: /src/glib/glib/gkeyfile.c:2770,1
    - Dst: g_key_file_parse_value_as_integer
      Src: /src/glib/glib/gkeyfile.c:2778,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:2780,1
    - Dst: g_error_matches
      Src: /src/glib/glib/gkeyfile.c:2784,1
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:2788,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:2790,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:2796,1
    - Dst: g_error_free
      Src: /src/glib/glib/gkeyfile.c:2793,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 4
    argNames:
    - key_file
    - group_name
    - key
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 2800
      start: 2754
    functionDepth: 0
    functionLinenumber: 2754
    functionLinenumberEnd: 2800
    functionName: g_key_file_get_integer
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_set_error
    - g_return_val_if_fail
    - g_key_file_parse_value_as_integer
    - g_error_matches
    - g_key_file_get_value
    - g_error_free
    - _
    - g_free
    linkageType: ''
    returnType: gint
    signature: "gint g_key_file_get_integer (GKeyFile *key_file,\t\t\tconst gchar\
      \ *group_name,\t\t\tconst gchar *key,\t\t\tGError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - line
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 4221
      start: 4217
    functionDepth: 0
    functionLinenumber: 4217
    functionLinenumberEnd: 4221
    functionName: g_key_file_line_is_comment
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_key_file_line_is_comment (const gchar *line) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:1076,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:1078,1
    - Dst: g_path_is_absolute
      Src: /src/glib/glib/gkeyfile.c:1077,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:1085,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:1077,1
    - Dst: find_file_in_data_dirs
      Src: /src/glib/glib/gkeyfile.c:1088,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:1094,1
    - Dst: g_key_file_load_from_fd
      Src: /src/glib/glib/gkeyfile.c:1098,1
    - Dst: close
      Src: /src/glib/glib/gkeyfile.c:1100,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:1104,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:1112,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 30
    argCount: 6
    argNames:
    - key_file
    - file
    - search_dirs
    - full_path
    - flags
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar**
    - gchar**
    - GKeyFileFlags
    - GError**
    constantsTouched: []
    func_position:
      end: 1115
      start: 1062
    functionDepth: 0
    functionLinenumber: 1062
    functionLinenumberEnd: 1115
    functionName: g_key_file_load_from_dirs
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_return_val_if_fail
    - g_key_file_load_from_fd
    - close
    - find_file_in_data_dirs
    - g_free
    - g_path_is_absolute
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_key_file_load_from_dirs (GKeyFile *key_file, const gchar
      *file, const gchar **search_dirs, gchar **full_path, GKeyFileFlags flags, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:2210,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:2212,1
    - Dst: g_key_file_parse_string_as_value
      Src: /src/glib/glib/gkeyfile.c:2215,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:2211,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:2213,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gkeyfile.c:2216,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gkeyfile.c:2216,1
    - Dst: g_strdup
      Src: /src/glib/glib/gkeyfile.c:2216,1
    - Dst: g_key_file_set_value
      Src: /src/glib/glib/gkeyfile.c:2217,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:2218,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:2219,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 5
    argNames:
    - key_file
    - group_name
    - key
    - locale
    - string
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2220
      start: 2201
    functionDepth: 0
    functionLinenumber: 2201
    functionLinenumberEnd: 2220
    functionName: g_key_file_set_locale_string
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_strdup_printf
    - g_return_if_fail
    - g_strcmp0
    - g_key_file_parse_string_as_value
    - g_key_file_set_value
    - g_free
    linkageType: ''
    returnType: void
    signature: "void g_key_file_set_locale_string (GKeyFile *key_file,\t\t\t const\
      \ gchar *group_name,\t\t\t const gchar *key,\t\t\t const gchar *locale,\t\t\t\
      \ const gchar *string) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2433,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2435,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:2444,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2434,1
    - Dst: g_key_file_get_locale_string
      Src: /src/glib/glib/gkeyfile.c:2439,1
    - Dst: strlen
      Src: /src/glib/glib/gkeyfile.c:2453,1
    - Dst: g_strsplit
      Src: /src/glib/glib/gkeyfile.c:2459,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:2461,1
    - Dst: g_strv_length
      Src: /src/glib/glib/gkeyfile.c:2464,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2467
      start: 2420
    functionDepth: 0
    functionLinenumber: 2420
    functionLinenumberEnd: 2467
    functionName: g_key_file_get_locale_string_list
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_return_val_if_fail
    - g_strv_length
    - strlen
    - g_key_file_get_locale_string
    - g_strsplit
    - g_free
    linkageType: ''
    returnType: gchar**
    signature: "gchar **g_key_file_get_locale_string_list (GKeyFile *key_file,\t\t\
      \t\t const gchar *group_name,\t\t\t\t const gchar *key,\t\t\t\t const gchar\
      \ *locale,\t\t\t\t gsize *length,\t\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/gkeyfile.c:4210,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4211
      start: 4205
    functionDepth: 0
    functionLinenumber: 4205
    functionLinenumberEnd: 4211
    functionName: g_key_file_lookup_key_value_pair
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_hash_table_lookup
    linkageType: ''
    returnType: GKeyFileKeyValuePair*
    signature: "static GKeyFileKeyValuePair *g_key_file_lookup_key_value_pair (GKeyFile\
      \ *key_file,\t\t\t\t GKeyFileGroup *group,\t\t\t\t const gchar *key) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:4757,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:4758,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:4759,1
    - Dst: g_assert
      Src: /src/glib/glib/gkeyfile.c:4762,1
    - Dst: g_key_file_to_data
      Src: /src/glib/glib/gkeyfile.c:4761,1
    - Dst: g_file_set_contents
      Src: /src/glib/glib/gkeyfile.c:4764,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:4765,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - key_file
    - filename
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 4768
      start: 4748
    functionDepth: 0
    functionLinenumber: 4748
    functionLinenumberEnd: 4768
    functionName: g_key_file_save_to_file
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_assert
    - g_file_set_contents
    - g_key_file_to_data
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_key_file_save_to_file (GKeyFile *key_file, const gchar
      *filename, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:1031,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:1032,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/gkeyfile.c:1035,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/gkeyfile.c:1034,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - key_file
    - bytes
    - flags
    - error
    argTypes:
    - GKeyFile*
    - GBytes*
    - GKeyFileFlags
    - GError**
    constantsTouched: []
    func_position:
      end: 1036
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1036
    functionName: g_key_file_load_from_bytes
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_bytes_get_data
    - g_key_file_load_from_data
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_key_file_load_from_bytes (GKeyFile *key_file, GBytes *bytes,
      GKeyFileFlags flags, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:2166,1
    - Dst: g_string_append
      Src: /src/glib/glib/gkeyfile.c:2175,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:2167,1
    - Dst: g_key_file_parse_string_as_value
      Src: /src/glib/glib/gkeyfile.c:2174,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gkeyfile.c:2169,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gkeyfile.c:2176,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:2178,1
    - Dst: g_key_file_set_value
      Src: /src/glib/glib/gkeyfile.c:2181,1
    - Dst: g_string_free
      Src: /src/glib/glib/gkeyfile.c:2182,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 5
    argNames:
    - key_file
    - group_name
    - key
    - list
    - length
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar*
    - gchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 2183
      start: 2156
    functionDepth: 0
    functionLinenumber: 2156
    functionLinenumberEnd: 2183
    functionName: g_key_file_set_string_list
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - g_string_append_c
    - g_string_free
    - g_key_file_parse_string_as_value
    - g_string_sized_new
    - g_key_file_set_value
    - g_free
    - g_string_append
    linkageType: ''
    returnType: void
    signature: "void g_key_file_set_string_list (GKeyFile *key_file,\t\t\t const gchar\
      \ *group_name,\t\t\t const gchar *key,\t\t\t const gchar * const list[],\t\t\
      \t gsize length) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/gkeyfile.c:762,1
    - Dst: strchr
      Src: /src/glib/glib/gkeyfile.c:778,1
    - Dst: g_open
      Src: /src/glib/glib/gkeyfile.c:770,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:774,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gkeyfile.c:767,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:785,1
    - Dst: g_strndup
      Src: /src/glib/glib/gkeyfile.c:786,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:794,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gkeyfile.c:800,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:802,1
    - Dst: g_strdup
      Src: /src/glib/glib/gkeyfile.c:807,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:809,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 50
    argCount: 4
    argNames:
    - file
    - dirs
    - output_file
    - error
    argTypes:
    - gchar*
    - gchar**
    - gchar**
    - GError**
    constantsTouched: []
    func_position:
      end: 812
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 812
    functionName: find_file_in_data_dirs
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_strndup
    - strchr
    - g_set_error_literal
    - g_build_filename
    - _
    - g_open
    - g_free
    linkageType: ''
    returnType: gint
    signature: 'static gint find_file_in_data_dirs (const gchar *file, const gchar
      **dirs, gchar **output_file, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:923,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gkeyfile.c:931,1
    - Dst: g_open
      Src: /src/glib/glib/gkeyfile.c:926,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/gkeyfile.c:932,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:924,1
    - Dst: g_strerror
      Src: /src/glib/glib/gkeyfile.c:933,1
    - Dst: g_key_file_load_from_fd
      Src: /src/glib/glib/gkeyfile.c:937,1
    - Dst: close
      Src: /src/glib/glib/gkeyfile.c:938,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:942,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 4
    argNames:
    - key_file
    - file
    - flags
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - GKeyFileFlags
    - GError**
    constantsTouched: []
    func_position:
      end: 947
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 947
    functionName: g_key_file_load_from_file
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_return_val_if_fail
    - g_strerror
    - g_key_file_load_from_fd
    - g_file_error_from_errno
    - g_set_error_literal
    - close
    - g_open
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_key_file_load_from_file (GKeyFile *key_file,\t\t\t const\
      \ gchar *file,\t\t\t GKeyFileFlags flags,\t\t\t GError **error) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2649,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2650,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:2662,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2651,1
    - Dst: g_key_file_get_string_list
      Src: /src/glib/glib/gkeyfile.c:2658,1
    - Dst: g_new
      Src: /src/glib/glib/gkeyfile.c:2667,1
    - Dst: g_key_file_parse_value_as_boolean
      Src: /src/glib/glib/gkeyfile.c:2671,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:2677,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gkeyfile.c:2678,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:2679,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gkeyfile.c:2684,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2690
      start: 2637
    functionDepth: 0
    functionLinenumber: 2637
    functionLinenumberEnd: 2690
    functionName: g_key_file_get_boolean_list
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_return_val_if_fail
    - g_new
    - g_key_file_get_string_list
    - g_key_file_parse_value_as_boolean
    - g_strfreev
    - g_free
    linkageType: ''
    returnType: gboolean*
    signature: "gboolean *g_key_file_get_boolean_list (GKeyFile *key_file,\t\t\t const\
      \ gchar *group_name,\t\t\t const gchar *key,\t\t\t gsize *length,\t\t\t GError\
      \ **error) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:3536,1
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:3541,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:3543,1
    - Dst: g_key_file_lookup_group
      Src: /src/glib/glib/gkeyfile.c:3538,1
    - Dst: g_key_file_is_group_name
      Src: /src/glib/glib/gkeyfile.c:3536,1
    - Dst: g_key_file_lookup_key_value_pair_node
      Src: /src/glib/glib/gkeyfile.c:3552,1
    - Dst: set_not_found_key_error
      Src: /src/glib/glib/gkeyfile.c:3556,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gkeyfile.c:3588,1
    - Dst: g_key_file_parse_value_as_comment
      Src: /src/glib/glib/gkeyfile.c:3590,1
    - Dst: g_string_append
      Src: /src/glib/glib/gkeyfile.c:3592,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:3593,1
    - Dst: g_string_free_and_steal
      Src: /src/glib/glib/gkeyfile.c:3599,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gkeyfile.c:3599,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3604
      start: 3524
    functionDepth: 0
    functionLinenumber: 3524
    functionLinenumberEnd: 3604
    functionName: g_key_file_get_key_comment
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_steal_pointer
    - g_return_val_if_fail
    - g_key_file_lookup_key_value_pair_node
    - g_key_file_parse_value_as_comment
    - g_string_free_and_steal
    - g_key_file_lookup_group
    - set_not_found_key_error
    - g_string_sized_new
    - _
    - g_key_file_is_group_name
    - g_free
    - g_string_append
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *g_key_file_get_key_comment (GKeyFile *key_file, const
      gchar *group_name, const gchar *key, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:3806,1
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:3814,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:3808,1
    - Dst: g_key_file_lookup_group
      Src: /src/glib/glib/gkeyfile.c:3810,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:3807,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:3816,1
    - Dst: g_key_file_lookup_key_value_pair
      Src: /src/glib/glib/gkeyfile.c:3822,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 5
    argNames:
    - key_file
    - group_name
    - key
    - has_key
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar*
    - gboolean*
    - GError**
    constantsTouched: []
    func_position:
      end: 3827
      start: 3796
    functionDepth: 0
    functionLinenumber: 3796
    functionLinenumberEnd: 3827
    functionName: g_key_file_has_key_full
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_return_val_if_fail
    - g_key_file_lookup_key_value_pair
    - g_key_file_lookup_group
    - _
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_key_file_has_key_full (GKeyFile *key_file,\t\t\t\
      \ const gchar *group_name,\t\t\t const gchar *key,\t\t\t gboolean *has_key,\t\
      \t\t GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:3928,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:3929,1
    - Dst: g_free_sized
      Src: /src/glib/glib/gkeyfile.c:3930,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pair
    argTypes:
    - GKeyFileKeyValuePair*
    constantsTouched: []
    func_position:
      end: 3932
      start: 3923
    functionDepth: 0
    functionLinenumber: 3923
    functionLinenumberEnd: 3932
    functionName: g_key_file_key_value_pair_free
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_free
    - g_free_sized
    linkageType: ''
    returnType: void
    signature: 'static void g_key_file_key_value_pair_free (GKeyFileKeyValuePair *pair) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fstat
      Src: /src/glib/glib/gkeyfile.c:826,1
    - Dst: S_ISREG
      Src: /src/glib/glib/gkeyfile.c:835,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gkeyfile.c:829,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/gkeyfile.c:830,1
    - Dst: g_strerror
      Src: /src/glib/glib/gkeyfile.c:831,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gkeyfile.c:837,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:839,1
    - Dst: g_key_file_clear
      Src: /src/glib/glib/gkeyfile.c:844,1
    - Dst: g_key_file_init
      Src: /src/glib/glib/gkeyfile.c:845,1
    - Dst: read
      Src: /src/glib/glib/gkeyfile.c:853,1
    - Dst: g_strerror
      Src: /src/glib/glib/gkeyfile.c:866,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:878,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/gkeyfile.c:865,1
    - Dst: g_key_file_parse_data
      Src: /src/glib/glib/gkeyfile.c:870,1
    - Dst: g_key_file_flush_parse_buffer
      Src: /src/glib/glib/gkeyfile.c:882,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gkeyfile.c:864,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:886,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 4
    argNames:
    - key_file
    - fd
    - flags
    - error
    argTypes:
    - GKeyFile*
    - gint
    - GKeyFileFlags
    - GError**
    constantsTouched: []
    func_position:
      end: 891
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 891
    functionName: g_key_file_load_from_fd
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_init
    - g_propagate_error
    - fstat
    - g_strerror
    - g_key_file_flush_parse_buffer
    - g_file_error_from_errno
    - g_key_file_clear
    - g_set_error_literal
    - g_key_file_parse_data
    - _
    - read
    - S_ISREG
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_key_file_load_from_fd (GKeyFile *key_file,\t\t\t\
      \ gint fd,\t\t\t GKeyFileFlags flags,\t\t\t GError **error) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gkeyfile.c:3643,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:3648,1
    - Dst: g_string_append
      Src: /src/glib/glib/gkeyfile.c:3647,1
    - Dst: g_string_free
      Src: /src/glib/glib/gkeyfile.c:3654,1
    - Dst: g_key_file_parse_value_as_comment
      Src: /src/glib/glib/gkeyfile.c:3645,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3657
      start: 3606
    functionDepth: 0
    functionLinenumber: 3606
    functionLinenumberEnd: 3657
    functionName: get_group_comment
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_parse_value_as_comment
    - g_string_free
    - g_string_sized_new
    - g_free
    - g_string_append
    linkageType: ''
    returnType: gchar*
    signature: "static gchar *get_group_comment (GKeyFile *key_file,\t\t GKeyFileGroup\
      \ *group,\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:3787,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:3788,1
    - Dst: g_key_file_lookup_group
      Src: /src/glib/glib/gkeyfile.c:3790,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - key_file
    - group_name
    argTypes:
    - GKeyFile*
    - gchar*
    constantsTouched: []
    func_position:
      end: 3791
      start: 3783
    functionDepth: 0
    functionLinenumber: 3783
    functionLinenumberEnd: 3791
    functionName: g_key_file_has_group
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_key_file_lookup_group
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_key_file_has_group (GKeyFile *key_file,\t\t const gchar\
      \ *group_name) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:3025,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:3026,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:3036,1
    - Dst: g_key_file_get_string_list
      Src: /src/glib/glib/gkeyfile.c:3032,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:3027,1
    - Dst: g_new
      Src: /src/glib/glib/gkeyfile.c:3041,1
    - Dst: g_key_file_parse_value_as_integer
      Src: /src/glib/glib/gkeyfile.c:3045,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:3051,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gkeyfile.c:3052,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:3053,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gkeyfile.c:3058,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3064
      start: 3013
    functionDepth: 0
    functionLinenumber: 3013
    functionLinenumberEnd: 3064
    functionName: g_key_file_get_integer_list
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_return_val_if_fail
    - g_new
    - g_key_file_parse_value_as_integer
    - g_key_file_get_string_list
    - g_strfreev
    - g_free
    linkageType: ''
    returnType: gint*
    signature: "gint *g_key_file_get_integer_list (GKeyFile *key_file,\t\t\t const\
      \ gchar *group_name,\t\t\t const gchar *key,\t\t\t gsize *length,\t\t\t GError\
      \ **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_has_key_full
      Src: /src/glib/glib/gkeyfile.c:3861,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:3867,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - key_file
    - group_name
    - key
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 3870
      start: 3852
    functionDepth: 0
    functionLinenumber: 3852
    functionLinenumberEnd: 3870
    functionName: g_key_file_has_key
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_key_file_has_key_full
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_key_file_has_key (GKeyFile *key_file,\t\t const gchar *group_name,\t\
      \t const gchar *key,\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_replace
      Src: /src/glib/glib/gkeyfile.c:4082,1
    - Dst: g_list_insert_before
      Src: /src/glib/glib/gkeyfile.c:4083,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - key_file
    - group
    - pair
    - sibling
    argTypes:
    - GKeyFile*
    - GKeyFileGroup*
    - GKeyFileKeyValuePair*
    - GList*
    constantsTouched: []
    func_position:
      end: 4084
      start: 4076
    functionDepth: 0
    functionLinenumber: 4076
    functionLinenumberEnd: 4084
    functionName: g_key_file_add_key_value_pair
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_list_insert_before
    - g_hash_table_replace
    linkageType: ''
    returnType: void
    signature: 'static void g_key_file_add_key_value_pair (GKeyFile *key_file, GKeyFileGroup
      *group, GKeyFileKeyValuePair *pair, GList *sibling) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gkeyfile.c:1260,1
    - Dst: g_strdupv
      Src: /src/glib/glib/gkeyfile.c:1261,1
    - Dst: g_get_language_names
      Src: /src/glib/glib/gkeyfile.c:1261,1
    - Dst: g_ascii_strncasecmp
      Src: /src/glib/glib/gkeyfile.c:1267,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - key_file
    - locale
    - locale_len
    argTypes:
    - GKeyFile*
    - gchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 1273
      start: 1248
    functionDepth: 0
    functionLinenumber: 1248
    functionLinenumberEnd: 1273
    functionName: g_key_file_locale_is_interesting
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_get_language_names
    - g_strdupv
    - g_ascii_strncasecmp
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_key_file_locale_is_interesting (GKeyFile *key_file,
      const gchar *locale, gsize locale_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gkeyfile.c:1329,1
    - Dst: g_new
      Src: /src/glib/glib/gkeyfile.c:1331,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/gkeyfile.c:1336,1
    - Dst: g_strndup
      Src: /src/glib/glib/gkeyfile.c:1333,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - key_file
    - line
    - length
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - gsize
    - GError**
    constantsTouched: []
    func_position:
      end: 1337
      start: 1318
    functionDepth: 0
    functionLinenumber: 1318
    functionLinenumberEnd: 1337
    functionName: g_key_file_parse_comment
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_strndup
    - g_warn_if_fail
    - g_new
    - g_list_prepend
    linkageType: ''
    returnType: void
    signature: "static void g_key_file_parse_comment (GKeyFile *key_file,\t\t\t const\
      \ gchar *line,\t\t\t gsize length,\t\t\t GError **error) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:1284,1
    - Dst: g_ascii_isspace
      Src: /src/glib/glib/gkeyfile.c:1288,1
    - Dst: g_key_file_line_is_comment
      Src: /src/glib/glib/gkeyfile.c:1291,1
    - Dst: g_key_file_parse_comment
      Src: /src/glib/glib/gkeyfile.c:1292,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:1285,1
    - Dst: g_key_file_line_is_group
      Src: /src/glib/glib/gkeyfile.c:1293,1
    - Dst: g_key_file_parse_group
      Src: /src/glib/glib/gkeyfile.c:1294,1
    - Dst: g_key_file_line_is_key_value_pair
      Src: /src/glib/glib/gkeyfile.c:1297,1
    - Dst: g_key_file_parse_key_value_pair
      Src: /src/glib/glib/gkeyfile.c:1298,1
    - Dst: g_utf8_make_valid
      Src: /src/glib/glib/gkeyfile.c:1303,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:1315,1
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:1304,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:1309,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:1306,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 4
    argNames:
    - key_file
    - line
    - length
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - gsize
    - GError**
    constantsTouched: []
    func_position:
      end: 1316
      start: 1275
    functionDepth: 0
    functionLinenumber: 1275
    functionLinenumberEnd: 1316
    functionName: g_key_file_parse_line
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_ascii_isspace
    - g_set_error
    - g_propagate_error
    - g_key_file_line_is_group
    - g_key_file_line_is_comment
    - g_return_if_fail
    - g_key_file_parse_comment
    - g_key_file_parse_key_value_pair
    - g_key_file_parse_group
    - _
    - g_utf8_make_valid
    - g_key_file_line_is_key_value_pair
    - g_free
    linkageType: ''
    returnType: void
    signature: "static void g_key_file_parse_line (GKeyFile *key_file,\t\t const gchar\
      \ *line,\t\t gsize length,\t\t GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strndup
      Src: /src/glib/glib/gkeyfile.c:1356,1
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:1361,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:1364,1
    - Dst: g_key_file_is_group_name
      Src: /src/glib/glib/gkeyfile.c:1359,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:1363,1
    - Dst: g_key_file_add_group
      Src: /src/glib/glib/gkeyfile.c:1368,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:1369,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 4
    argNames:
    - key_file
    - line
    - length
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - gsize
    - GError**
    constantsTouched: []
    func_position:
      end: 1370
      start: 1339
    functionDepth: 0
    functionLinenumber: 1339
    functionLinenumberEnd: 1370
    functionName: g_key_file_parse_group
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_strndup
    - _
    - g_key_file_is_group_name
    - g_free
    - g_key_file_add_group
    linkageType: ''
    returnType: void
    signature: "static void g_key_file_parse_group (GKeyFile *key_file,\t\t\tconst\
      \ gchar *line,\t\t\tgsize length,\t\t\tGError **error) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:3879,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:3880,1
    - Dst: g_key_file_lookup_group
      Src: /src/glib/glib/gkeyfile.c:3882,1
    - Dst: g_new0
      Src: /src/glib/glib/gkeyfile.c:3889,1
    - Dst: g_key_file_is_group_name
      Src: /src/glib/glib/gkeyfile.c:3880,1
    - Dst: g_strdup
      Src: /src/glib/glib/gkeyfile.c:3890,1
    - Dst: g_hash_table_new
      Src: /src/glib/glib/gkeyfile.c:3891,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/gkeyfile.c:3892,1
    - Dst: g_strstr_len
      Src: /src/glib/glib/gkeyfile.c:3908,1
    - Dst: g_new
      Src: /src/glib/glib/gkeyfile.c:3910,1
    - Dst: g_strdup
      Src: /src/glib/glib/gkeyfile.c:3912,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/gkeyfile.c:3913,1
    - Dst: g_hash_table_new
      Src: /src/glib/glib/gkeyfile.c:3918,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/gkeyfile.c:3920,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 3
    argNames:
    - key_file
    - group_name
    - created
    argTypes:
    - GKeyFile*
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 3921
      start: 3872
    functionDepth: 0
    functionLinenumber: 3872
    functionLinenumberEnd: 3921
    functionName: g_key_file_add_group
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_new
    - g_return_if_fail
    - g_hash_table_insert
    - g_strstr_len
    - g_key_file_lookup_group
    - g_hash_table_new
    - g_list_prepend
    - g_key_file_is_group_name
    - g_new0
    linkageType: ''
    returnType: void
    signature: "static void g_key_file_add_group (GKeyFile *key_file,\t\t const gchar\
      \ *group_name,\t\t gboolean created) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/glib/gkeyfile.c:4095,1
    - Dst: g_key_file_add_key_value_pair
      Src: /src/glib/glib/gkeyfile.c:4104,1
    - Dst: g_strdup
      Src: /src/glib/glib/gkeyfile.c:4097,1
    - Dst: g_strdup
      Src: /src/glib/glib/gkeyfile.c:4096,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 4
    argNames:
    - key_file
    - group
    - key
    - value
    argTypes:
    - GKeyFile*
    - GKeyFileGroup*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 4105
      start: 4086
    functionDepth: 0
    functionLinenumber: 4086
    functionLinenumberEnd: 4105
    functionName: g_key_file_add_key
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_add_key_value_pair
    - g_strdup
    - g_new
    linkageType: ''
    returnType: void
    signature: "static void g_key_file_add_key (GKeyFile *key_file,\t\t GKeyFileGroup\
      \ *group,\t\t const gchar *key,\t\t const gchar *value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:2903,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gkeyfile.c:2905,1
    - Dst: g_key_file_set_value
      Src: /src/glib/glib/gkeyfile.c:2906,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:2907,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - key_file
    - group_name
    - key
    - value
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar*
    - gint64
    constantsTouched: []
    func_position:
      end: 2908
      start: 2895
    functionDepth: 0
    functionLinenumber: 2895
    functionLinenumberEnd: 2908
    functionName: g_key_file_set_int64
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_free
    - g_strdup_printf
    - g_key_file_set_value
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_key_file_set_int64 (GKeyFile *key_file, const gchar *group_name,
      const gchar *key, gint64 value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2857,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2859,1
    - Dst: g_ascii_strtoll
      Src: /src/glib/glib/gkeyfile.c:2866,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:2858,1
    - Dst: g_key_file_get_value
      Src: /src/glib/glib/gkeyfile.c:2861,1
    - Dst: g_set_error
      Src: /src/glib/glib/gkeyfile.c:2870,1
    - Dst: _
      Src: /src/glib/glib/gkeyfile.c:2871,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:2874,1
    - Dst: g_free
      Src: /src/glib/glib/gkeyfile.c:2878,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 4
    argNames:
    - key_file
    - group_name
    - key
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 2880
      start: 2848
    functionDepth: 0
    functionLinenumber: 2848
    functionLinenumberEnd: 2880
    functionName: g_key_file_get_int64
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_return_val_if_fail
    - g_key_file_get_value
    - g_ascii_strtoll
    - _
    - g_free
    linkageType: ''
    returnType: gint64
    signature: 'gint64 g_key_file_get_int64 (GKeyFile *key_file, const gchar *group_name,
      const gchar *key, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:975,1
    - Dst: g_key_file_clear
      Src: /src/glib/glib/gkeyfile.c:982,1
    - Dst: strlen
      Src: /src/glib/glib/gkeyfile.c:979,1
    - Dst: g_key_file_init
      Src: /src/glib/glib/gkeyfile.c:983,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gkeyfile.c:976,1
    - Dst: g_key_file_parse_data
      Src: /src/glib/glib/gkeyfile.c:987,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:991,1
    - Dst: g_key_file_flush_parse_buffer
      Src: /src/glib/glib/gkeyfile.c:995,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gkeyfile.c:999,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 5
    argNames:
    - key_file
    - data
    - length
    - flags
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - gsize
    - GKeyFileFlags
    - GError**
    constantsTouched: []
    func_position:
      end: 1004
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 1004
    functionName: g_key_file_load_from_data
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_init
    - g_propagate_error
    - g_return_val_if_fail
    - strlen
    - g_key_file_flush_parse_buffer
    - g_key_file_clear
    - g_key_file_parse_data
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_key_file_load_from_data (GKeyFile *key_file,\t\t\t const\
      \ gchar *data,\t\t\t gsize length,\t\t\t GKeyFileFlags flags,\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:2716,1
    - Dst: g_string_append
      Src: /src/glib/glib/gkeyfile.c:2726,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gkeyfile.c:2717,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gkeyfile.c:2719,1
    - Dst: g_key_file_parse_boolean_as_value
      Src: /src/glib/glib/gkeyfile.c:2724,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gkeyfile.c:2727,1
    - Dst: g_key_file_set_value
      Src: /src/glib/glib/gkeyfile.c:2730,1
    - Dst: g_string_free
      Src: /src/glib/glib/gkeyfile.c:2731,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 5
    argNames:
    - key_file
    - group_name
    - key
    - list
    - length
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar*
    - gboolean
    - gsize
    constantsTouched: []
    func_position:
      end: 2732
      start: 2706
    functionDepth: 0
    functionLinenumber: 2706
    functionLinenumberEnd: 2732
    functionName: g_key_file_set_boolean_list
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - g_string_append_c
    - g_string_free
    - g_string_sized_new
    - g_key_file_parse_boolean_as_value
    - g_key_file_set_value
    - g_string_append
    linkageType: ''
    returnType: void
    signature: "void g_key_file_set_boolean_list (GKeyFile *key_file,\t\t\t const\
      \ gchar *group_name,\t\t\t const gchar *key,\t\t\t gboolean list[],\t\t\t gsize\
      \ length) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_remove_link
      Src: /src/glib/glib/gkeyfile.c:3953,1
    - Dst: g_list_free_1
      Src: /src/glib/glib/gkeyfile.c:3959,1
    - Dst: g_key_file_key_value_pair_free
      Src: /src/glib/glib/gkeyfile.c:3957,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gkeyfile.c:3955,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - key_file
    - group
    - pair_node
    argTypes:
    - GKeyFile*
    - GKeyFileGroup*
    - GList*
    constantsTouched: []
    func_position:
      end: 3960
      start: 3943
    functionDepth: 0
    functionLinenumber: 3943
    functionLinenumberEnd: 3960
    functionName: g_key_file_remove_key_value_pair_node
    functionSourceFile: /src/glib/glib/gkeyfile.c
    functionUses: []
    functionsReached:
    - g_list_remove_link
    - g_warn_if_fail
    - g_key_file_key_value_pair_free
    - g_list_free_1
    linkageType: ''
    returnType: void
    signature: "static void g_key_file_remove_key_value_pair_node (GKeyFile *key_file,\
      \ GKeyFileGroup *group,\t\t\t GList *pair_node) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_rmdir
      Src: /src/glib/glib/gtestutils.c:1453,1
    - Dst: g_strerror
      Src: /src/glib/glib/gtestutils.c:1458,1
    - Dst: g_remove
      Src: /src/glib/glib/gtestutils.c:1463,1
    - Dst: g_printerr
      Src: /src/glib/glib/gtestutils.c:1456,1
    - Dst: g_printerr
      Src: /src/glib/glib/gtestutils.c:1466,1
    - Dst: g_strerror
      Src: /src/glib/glib/gtestutils.c:1468,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 12
    argCount: 4
    argNames:
    - fpath
    - sb
    - typeflag
    - ftwbuf
    argTypes:
    - char*
    - struct stat*
    - int
    - struct FTW*
    constantsTouched: []
    func_position:
      end: 1474
      start: 1442
    functionDepth: 0
    functionLinenumber: 1442
    functionLinenumberEnd: 1474
    functionName: rm_rf_nftw_visitor
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_strerror
    - g_rmdir
    - g_printerr
    - g_remove
    linkageType: ''
    returnType: int
    signature: 'static int rm_rf_nftw_visitor (const char *fpath, const struct stat
      *sb, int typeflag, struct FTW *ftwbuf) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:3668,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - str1
    - str2
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 3669
      start: 3660
    functionDepth: 0
    functionLinenumber: 3660
    functionLinenumberEnd: 3669
    functionName: g_strcmp0
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'int g_strcmp0 (const char *str1, const char *str2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtestutils.c:4553,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtestutils.c:4557,1
    - Dst: g_test_log_extract
      Src: /src/glib/glib/gtestutils.c:4560,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gtestutils.c:4558,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - tbuffer
    - n_bytes
    - bytes
    argTypes:
    - GTestLogBuffer*
    - guint
    - guint8*
    constantsTouched: []
    func_position:
      end: 4563
      start: 4548
    functionDepth: 0
    functionLinenumber: 4548
    functionLinenumberEnd: 4563
    functionName: g_test_log_buffer_push
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_test_log_extract
    - g_string_append_len
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_test_log_buffer_push (GTestLogBuffer *tbuffer, guint n_bytes,
      const guint8 *bytes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4797
      start: 4793
    functionDepth: 0
    functionLinenumber: 4793
    functionLinenumberEnd: 4797
    functionName: g_test_get_path
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *g_test_get_path (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nftw
      Src: /src/glib/glib/gtestutils.c:1486,1
    - Dst: g_strerror
      Src: /src/glib/glib/gtestutils.c:1492,1
    - Dst: g_printerr
      Src: /src/glib/glib/gtestutils.c:1490,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - path
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1494
      start: 1476
    functionDepth: 0
    functionLinenumber: 1476
    functionLinenumberEnd: 1494
    functionName: rm_rf
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_strerror
    - nftw
    - g_printerr
    linkageType: ''
    returnType: void
    signature: 'static void rm_rf (const gchar *path) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_error
      Src: /src/glib/glib/gtestutils.c:2776,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2779
      start: 2772
    functionDepth: 0
    functionLinenumber: 2772
    functionLinenumberEnd: 2779
    functionName: g_test_set_nonfatal_assertions
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_error
    linkageType: ''
    returnType: void
    signature: 'void g_test_set_nonfatal_assertions (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/gtestutils.c:3628,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gtestutils.c:3636,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gtestutils.c:3633,1
    - Dst: g_quark_to_string
      Src: /src/glib/glib/gtestutils.c:3631,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gtestutils.c:3630,1
    - Dst: g_quark_to_string
      Src: /src/glib/glib/gtestutils.c:3637,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gtestutils.c:3639,1
    - Dst: g_assertion_message
      Src: /src/glib/glib/gtestutils.c:3641,1
    - Dst: g_string_free
      Src: /src/glib/glib/gtestutils.c:3642,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 8
    argNames:
    - domain
    - file
    - line
    - func
    - expr
    - error
    - error_domain
    - error_code
    argTypes:
    - char*
    - char*
    - int
    - char*
    - char*
    - GError*
    - GQuark
    - int
    constantsTouched: []
    func_position:
      end: 3643
      start: 3611
    functionDepth: 0
    functionLinenumber: 3611
    functionLinenumberEnd: 3643
    functionName: g_assertion_message_error
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_assertion_message
    - g_quark_to_string
    - g_string_free
    - g_string_new
    - g_string_append_printf
    linkageType: ''
    returnType: void
    signature: "void g_assertion_message_error (const char *domain,\t\t\t const char\
      \ *file,\t\t\t int line,\t\t\t const char *func,\t\t\t const char *expr,\t\t\
      \t const GError *error,\t\t\t GQuark error_domain,\t\t\t int error_code) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtestutils.c:4536,1
    - Dst: g_test_log_buffer_pop
      Src: /src/glib/glib/gtestutils.c:4538,1
    - Dst: g_string_free
      Src: /src/glib/glib/gtestutils.c:4539,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:4540,1
    - Dst: g_test_log_msg_free
      Src: /src/glib/glib/gtestutils.c:4538,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - tbuffer
    argTypes:
    - GTestLogBuffer*
    constantsTouched: []
    func_position:
      end: 4541
      start: 4533
    functionDepth: 0
    functionLinenumber: 4533
    functionLinenumberEnd: 4541
    functionName: g_test_log_buffer_free
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_test_log_buffer_pop
    - g_return_if_fail
    - g_test_log_msg_free
    - g_string_free
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_test_log_buffer_free (GTestLogBuffer *tbuffer) '
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 885
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 885
    functionName: g_test_log_type_name
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *g_test_log_type_name (GTestLogType log_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtestutils.c:2815,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtestutils.c:2817,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtestutils.c:2816,1
    - Dst: g_test_add_vtable
      Src: /src/glib/glib/gtestutils.c:2818,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - testpath
    - test_func
    argTypes:
    - char*
    - GTestFunc
    constantsTouched: []
    func_position:
      end: 2819
      start: 2811
    functionDepth: 0
    functionLinenumber: 2811
    functionLinenumberEnd: 2819
    functionName: g_test_add_func
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_test_add_vtable
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_test_add_func (const char *testpath, GTestFunc test_func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtestutils.c:2966,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtestutils.c:2967,1
    - Dst: g_slist_append
      Src: /src/glib/glib/gtestutils.c:2969,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - suite
    - test_case
    argTypes:
    - GTestSuite*
    - GTestCase*
    constantsTouched: []
    func_position:
      end: 2970
      start: 2962
    functionDepth: 0
    functionLinenumber: 2962
    functionLinenumberEnd: 2970
    functionName: g_test_suite_add
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_slist_append
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_test_suite_add (GTestSuite *suite, GTestCase *test_case) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_free_full
      Src: /src/glib/glib/gtestutils.c:3350,1
    - Dst: g_slist_free_full
      Src: /src/glib/glib/gtestutils.c:3354,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:3352,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gtestutils.c:3356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - suite
    argTypes:
    - GTestSuite*
    constantsTouched: []
    func_position:
      end: 3357
      start: 3347
    functionDepth: 0
    functionLinenumber: 3347
    functionLinenumberEnd: 3357
    functionName: g_test_suite_free
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_slist_free_full
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_test_suite_free (GTestSuite *suite) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: net_int
      Src: /src/glib/glib/gtestutils.c:4481,1
    - Dst: net_int
      Src: /src/glib/glib/gtestutils.c:4485,1
    - Dst: net_int
      Src: /src/glib/glib/gtestutils.c:4486,1
    - Dst: net_int
      Src: /src/glib/glib/gtestutils.c:4487,1
    - Dst: net_int
      Src: /src/glib/glib/gtestutils.c:4484,1
    - Dst: g_new0
      Src: /src/glib/glib/gtestutils.c:4490,1
    - Dst: g_new0
      Src: /src/glib/glib/gtestutils.c:4491,1
    - Dst: net_int
      Src: /src/glib/glib/gtestutils.c:4494,1
    - Dst: g_strndup
      Src: /src/glib/glib/gtestutils.c:4495,1
    - Dst: net_double
      Src: /src/glib/glib/gtestutils.c:4499,1
    - Dst: g_memdup2
      Src: /src/glib/glib/gtestutils.c:4503,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:4507,1
    - Dst: g_string_erase
      Src: /src/glib/glib/gtestutils.c:4502,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gtestutils.c:4503,1
    - Dst: g_error
      Src: /src/glib/glib/gtestutils.c:4511,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gtestutils.c:4508,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 1
    argNames:
    - tbuffer
    argTypes:
    - GTestLogBuffer*
    constantsTouched: []
    func_position:
      end: 4513
      start: 4473
    functionDepth: 0
    functionLinenumber: 4473
    functionLinenumberEnd: 4513
    functionName: g_test_log_extract
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_strndup
    - g_error
    - g_free
    - g_strfreev
    - g_string_erase
    - net_double
    - g_new0
    - g_memdup2
    - g_slist_prepend
    - net_int
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_test_log_extract (GTestLogBuffer *tbuffer) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gtestutils.c:906,1
    - Dst: g_string_append
      Src: /src/glib/glib/gtestutils.c:926,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gtestutils.c:922,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gtestutils.c:913,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/gtestutils.c:907,1
    - Dst: g_string_new
      Src: /src/glib/glib/gtestutils.c:910,1
    - Dst: g_string_printf
      Src: /src/glib/glib/gtestutils.c:911,1
    - Dst: g_test_log_type_name
      Src: /src/glib/glib/gtestutils.c:911,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gtestutils.c:924,1
    - Dst: g_string_append
      Src: /src/glib/glib/gtestutils.c:916,1
    - Dst: g_test_log_buffer_push
      Src: /src/glib/glib/gtestutils.c:904,1
    - Dst: g_printerr
      Src: /src/glib/glib/gtestutils.c:927,1
    - Dst: write
      Src: /src/glib/glib/gtestutils.c:895,1
    - Dst: g_test_log_buffer_new
      Src: /src/glib/glib/gtestutils.c:900,1
    - Dst: g_test_log_buffer_pop
      Src: /src/glib/glib/gtestutils.c:905,1
    - Dst: g_test_log_buffer_free
      Src: /src/glib/glib/gtestutils.c:908,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gtestutils.c:920,1
    - Dst: g_string_free
      Src: /src/glib/glib/gtestutils.c:928,1
    - Dst: g_test_log_msg_free
      Src: /src/glib/glib/gtestutils.c:929,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 2
    argNames:
    - n_bytes
    - buffer
    argTypes:
    - guint
    - guint8*
    constantsTouched: []
    func_position:
      end: 931
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 931
    functionName: g_test_log_send
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - write
    - g_test_log_buffer_new
    - g_test_log_buffer_push
    - g_warn_if_fail
    - g_printerr
    - g_test_log_buffer_pop
    - g_string_append_c
    - g_test_log_type_name
    - g_string_free
    - g_test_log_msg_free
    - g_string_printf
    - g_string_new
    - g_string_append_printf
    - g_string_append
    - g_test_log_buffer_free
    linkageType: ''
    returnType: void
    signature: 'static void g_test_log_send (guint n_bytes, const guint8 *buffer) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_strjoinv
      Src: /src/glib/glib/gtestutils.c:3398,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:3400,1
    - Dst: g_test_log
      Src: /src/glib/glib/gtestutils.c:3399,1
    - Dst: g_log_default_handler
      Src: /src/glib/glib/gtestutils.c:3403,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 4
    argNames:
    - log_domain
    - log_level
    - message
    - unused_data
    argTypes:
    - gchar*
    - GLogLevelFlags
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 3404
      start: 3359
    functionDepth: 0
    functionLinenumber: 3359
    functionLinenumberEnd: 3404
    functionName: gtest_default_log_handler
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_log_default_handler
    - g_free
    - g_test_log
    - g_strjoinv
    linkageType: ''
    returnType: void
    signature: 'static void gtest_default_log_handler (const gchar *log_domain, GLogLevelFlags
      log_level, const gchar *message, gpointer unused_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtestutils.c:2945,1
    - Dst: g_slice_new0
      Src: /src/glib/glib/gtestutils.c:2948,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtestutils.c:2947,1
    - Dst: strchr
      Src: /src/glib/glib/gtestutils.c:2946,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtestutils.c:2946,1
    - Dst: g_strdup
      Src: /src/glib/glib/gtestutils.c:2949,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2951
      start: 2941
    functionDepth: 0
    functionLinenumber: 2941
    functionLinenumberEnd: 2951
    functionName: g_test_create_suite
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - strchr
    - g_return_val_if_fail
    - g_strdup
    - g_slice_new0
    linkageType: ''
    returnType: GTestSuite*
    signature: 'GTestSuite *g_test_create_suite (const char *suite_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gtestutils.c:3724,1
    - Dst: check_complete
      Src: /src/glib/glib/gtestutils.c:3727,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - pid
    - status
    - user_data
    argTypes:
    - GPid
    - gint
    - gpointer
    constantsTouched: []
    func_position:
      end: 3728
      start: 3717
    functionDepth: 0
    functionLinenumber: 3717
    functionLinenumberEnd: 3728
    functionName: child_exited
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_assert
    - check_complete
    linkageType: ''
    returnType: void
    signature: 'static void child_exited (GPid pid, gint status, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TerminateProcess
      Src: /src/glib/glib/gtestutils.c:3736,1
    - Dst: kill
      Src: /src/glib/glib/gtestutils.c:3738,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 3742
      start: 3730
    functionDepth: 0
    functionLinenumber: 3730
    functionLinenumberEnd: 3742
    functionName: child_timeout
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - TerminateProcess
    - kill
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean child_timeout (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gtestutils.c:2720,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:2721,1
    - Dst: va_end
      Src: /src/glib/glib/gtestutils.c:2723,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/glib/gtestutils.c:2722,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - format
    - '...'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2724
      start: 2713
    functionDepth: 0
    functionLinenumber: 2713
    functionLinenumberEnd: 2724
    functionName: g_test_skip_printf
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_strdup_vprintf
    - g_free
    - va_start
    - va_end
    linkageType: ''
    returnType: void
    signature: 'void g_test_skip_printf (const char *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2749
      start: 2745
    functionDepth: 0
    functionLinenumber: 2745
    functionLinenumberEnd: 2749
    functionName: g_test_failed
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_test_failed (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4213
      start: 4209
    functionDepth: 0
    functionLinenumber: 4209
    functionLinenumberEnd: 4213
    functionName: g_test_subprocess
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_test_subprocess (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gtestutils.c:4693,1
    - Dst: va_start
      Src: /src/glib/glib/gtestutils.c:4695,1
    - Dst: va_end
      Src: /src/glib/glib/gtestutils.c:4697,1
    - Dst: g_test_initialized
      Src: /src/glib/glib/gtestutils.c:4693,1
    - Dst: g_test_build_filename_va
      Src: /src/glib/glib/gtestutils.c:4696,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4700
      start: 4685
    functionDepth: 0
    functionLinenumber: 4685
    functionLinenumberEnd: 4700
    functionName: g_test_build_filename
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_test_build_filename_va
    - g_test_initialized
    - g_assert
    - va_end
    - va_start
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_test_build_filename (GTestFileType file_type, const gchar
      *first_path, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:2697,1
    - Dst: g_strdup
      Src: /src/glib/glib/gtestutils.c:2698,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - msg
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 2699
      start: 2693
    functionDepth: 0
    functionLinenumber: 2693
    functionLinenumberEnd: 2699
    functionName: g_test_skip
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_test_skip (const gchar *msg) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gtestutils.c:4134,1
    - Dst: g_test_get_root
      Src: /src/glib/glib/gtestutils.c:4138,1
    - Dst: g_strdup
      Src: /src/glib/glib/gtestutils.c:4155,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/gtestutils.c:4161,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/gtestutils.c:4162,1
    - Dst: g_error
      Src: /src/glib/glib/gtestutils.c:4189,1
    - Dst: wait_for_child
      Src: /src/glib/glib/gtestutils.c:4194,1
    - Dst: g_test_suite_case_exists
      Src: /src/glib/glib/gtestutils.c:4138,1
    - Dst: g_print
      Src: /src/glib/glib/gtestutils.c:4149,1
    - Dst: g_snprintf
      Src: /src/glib/glib/gtestutils.c:4171,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/gtestutils.c:4174,1
    - Dst: g_error
      Src: /src/glib/glib/gtestutils.c:4139,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/gtestutils.c:4146,1
    - Dst: g_print
      Src: /src/glib/glib/gtestutils.c:4151,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/gtestutils.c:4163,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/gtestutils.c:4170,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/gtestutils.c:4172,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/gtestutils.c:4164,1
    - Dst: g_spawn_async_with_pipes
      Src: /src/glib/glib/gtestutils.c:4182,1
    - Dst: test_trap_clear
      Src: /src/glib/glib/gtestutils.c:4154,1
    - Dst: g_error
      Src: /src/glib/glib/gtestutils.c:4158,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/gtestutils.c:4160,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/gtestutils.c:4165,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/gtestutils.c:4192,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 4
    argNames:
    - test_path
    - envp
    - usec_timeout
    - test_flags
    argTypes:
    - char*
    - char**
    - guint64
    - GTestSubprocessFlags
    constantsTouched: []
    func_position:
      end: 4198
      start: 4121
    functionDepth: 0
    functionLinenumber: 4121
    functionLinenumberEnd: 4198
    functionName: g_test_trap_subprocess_with_envp
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - test_trap_clear
    - g_test_get_root
    - g_strdup
    - g_assert
    - g_test_verbose
    - g_test_suite_case_exists
    - wait_for_child
    - g_spawn_async_with_pipes
    - g_snprintf
    - g_print
    - g_error
    - g_ptr_array_free
    - g_ptr_array_new
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'void g_test_trap_subprocess_with_envp (const char *test_path, const
      char * const *envp, guint64 usec_timeout, GTestSubprocessFlags test_flags) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gtestutils.c:4611,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/gtestutils.c:4622,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gtestutils.c:4615,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gtestutils.c:4622,1
    - Dst: va_arg
      Src: /src/glib/glib/gtestutils.c:4617,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/gtestutils.c:4624,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4625
      start: 4598
    functionDepth: 0
    functionLinenumber: 4598
    functionLinenumberEnd: 4625
    functionName: g_test_build_filename_va
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - g_assert_not_reached
    - g_build_filenamev
    - va_arg
    - g_assert_cmpint
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *g_test_build_filename_va (GTestFileType file_type, const
      gchar *first_path, va_list ap) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_timer_new
      Src: /src/glib/glib/gtestutils.c:2060,1
    - Dst: g_timer_start
      Src: /src/glib/glib/gtestutils.c:2062,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2063
      start: 2056
    functionDepth: 0
    functionLinenumber: 2056
    functionLinenumberEnd: 2063
    functionName: g_test_timer_start
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_timer_start
    - g_timer_new
    linkageType: ''
    returnType: void
    signature: 'void g_test_timer_start (void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: WIFEXITED
      Src: /src/glib/glib/gtestutils.c:4261,1
    - Dst: g_test_message
      Src: /src/glib/glib/gtestutils.c:4267,1
    - Dst: WEXITSTATUS
      Src: /src/glib/glib/gtestutils.c:4268,1
    - Dst: WEXITSTATUS
      Src: /src/glib/glib/gtestutils.c:4263,1
    - Dst: WIFSIGNALED
      Src: /src/glib/glib/gtestutils.c:4275,1
    - Dst: WTERMSIG
      Src: /src/glib/glib/gtestutils.c:4286,1
    - Dst: g_test_message
      Src: /src/glib/glib/gtestutils.c:4291,1
    - Dst: g_test_message
      Src: /src/glib/glib/gtestutils.c:4304,1
    - Dst: g_strescape
      Src: /src/glib/glib/gtestutils.c:4307,1
    - Dst: g_test_message
      Src: /src/glib/glib/gtestutils.c:4299,1
    - Dst: g_strsignal
      Src: /src/glib/glib/gtestutils.c:4286,1
    - Dst: g_strescape
      Src: /src/glib/glib/gtestutils.c:4303,1
    - Dst: g_test_message
      Src: /src/glib/glib/gtestutils.c:4296,1
    - Dst: g_test_message
      Src: /src/glib/glib/gtestutils.c:4264,1
    - Dst: WIFSIGNALED
      Src: /src/glib/glib/gtestutils.c:4270,1
    - Dst: WTERMSIG
      Src: /src/glib/glib/gtestutils.c:4271,1
    - Dst: g_test_message
      Src: /src/glib/glib/gtestutils.c:4273,1
    - Dst: WCOREDUMP
      Src: /src/glib/glib/gtestutils.c:4280,1
    - Dst: WTERMSIG
      Src: /src/glib/glib/gtestutils.c:4285,1
    - Dst: g_test_message
      Src: /src/glib/glib/gtestutils.c:4284,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:4305,1
    - Dst: g_test_message
      Src: /src/glib/glib/gtestutils.c:4308,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:4309,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 1
    argNames:
    - process_id
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 4314
      start: 4255
    functionDepth: 0
    functionLinenumber: 4255
    functionLinenumberEnd: 4314
    functionName: log_child_output
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - WTERMSIG
    - WIFEXITED
    - g_test_message
    - g_free
    - g_strsignal
    - WCOREDUMP
    - WEXITSTATUS
    - g_strescape
    - WIFSIGNALED
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean log_child_output (const gchar *process_id) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gtestutils.c:4336,1
    - Dst: g_test_trap_has_passed
      Src: /src/glib/glib/gtestutils.c:4348,1
    - Dst: g_test_trap_has_passed
      Src: /src/glib/glib/gtestutils.c:4358,1
    - Dst: log_child_output
      Src: /src/glib/glib/gtestutils.c:4372,1
    - Dst: g_test_message
      Src: /src/glib/glib/gtestutils.c:4374,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gtestutils.c:4376,1
    - Dst: g_pattern_match_simple
      Src: /src/glib/glib/gtestutils.c:4381,1
    - Dst: g_test_message
      Src: /src/glib/glib/gtestutils.c:4387,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gtestutils.c:4389,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:4356,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:4366,1
    - Dst: g_assertion_message
      Src: /src/glib/glib/gtestutils.c:4378,1
    - Dst: g_assertion_message
      Src: /src/glib/glib/gtestutils.c:4391,1
    - Dst: log_child_output
      Src: /src/glib/glib/gtestutils.c:4352,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gtestutils.c:4340,1
    - Dst: g_strdup
      Src: /src/glib/glib/gtestutils.c:4343,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gtestutils.c:4354,1
    - Dst: log_child_output
      Src: /src/glib/glib/gtestutils.c:4362,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gtestutils.c:4364,1
    - Dst: g_pattern_match_simple
      Src: /src/glib/glib/gtestutils.c:4368,1
    - Dst: log_child_output
      Src: /src/glib/glib/gtestutils.c:4385,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:4397,1
    - Dst: g_assertion_message
      Src: /src/glib/glib/gtestutils.c:4355,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:4379,1
    - Dst: g_assertion_message
      Src: /src/glib/glib/gtestutils.c:4365,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:4392,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 65
    argCount: 6
    argNames:
    - domain
    - file
    - line
    - func
    - assertion_flags
    - /* 0-pass, 1-fail, 2-outpattern, 4-errpattern */
    - pattern
    argTypes:
    - char*
    - char*
    - int
    - char*
    - guint64
    - char*
    constantsTouched: []
    func_position:
      end: 4398
      start: 4316
    functionDepth: 0
    functionLinenumber: 4316
    functionLinenumberEnd: 4398
    functionName: g_test_trap_assertions
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_strdup
    - g_test_message
    - g_assertion_message
    - g_pattern_match_simple
    - log_child_output
    - g_test_trap_has_passed
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_test_trap_assertions (const char *domain, const char *file,
      int line, const char *func, guint64 assertion_flags, /* 0-pass, 1-fail, 2-outpattern,
      4-errpattern */ const char *pattern) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/gtestutils.c:2039,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gtestutils.c:2041,1
    - Dst: g_rand_double_range
      Src: /src/glib/glib/gtestutils.c:2040,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - range_start
    - range_end
    argTypes:
    - double
    - double
    constantsTouched: []
    func_position:
      end: 2044
      start: 2033
    functionDepth: 0
    functionLinenumber: 2033
    functionLinenumberEnd: 2044
    functionName: g_test_rand_double_range
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - G_LOCK
    - g_rand_double_range
    linkageType: ''
    returnType: double
    signature: 'double g_test_rand_double_range (double range_start, double range_end) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_queue_destroy
      Src: /src/glib/glib/gtestutils.c:3007,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - gfree_pointer
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 3008
      start: 3003
    functionDepth: 0
    functionLinenumber: 3003
    functionLinenumberEnd: 3008
    functionName: g_test_queue_free
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_test_queue_destroy
    linkageType: ''
    returnType: void
    signature: 'void g_test_queue_free (gpointer gfree_pointer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strconcat
      Src: /src/glib/glib/gtestutils.c:3575,1
    - Dst: g_strdup
      Src: /src/glib/glib/gtestutils.c:3575,1
    - Dst: g_strescape
      Src: /src/glib/glib/gtestutils.c:3576,1
    - Dst: g_strconcat
      Src: /src/glib/glib/gtestutils.c:3576,1
    - Dst: g_strescape
      Src: /src/glib/glib/gtestutils.c:3575,1
    - Dst: g_strdup
      Src: /src/glib/glib/gtestutils.c:3576,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:3577,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:3578,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gtestutils.c:3579,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:3580,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:3581,1
    - Dst: g_assertion_message
      Src: /src/glib/glib/gtestutils.c:3582,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:3583,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 19
    argCount: 8
    argNames:
    - domain
    - file
    - line
    - func
    - expr
    - arg1
    - cmp
    - arg2
    argTypes:
    - char*
    - char*
    - int
    - char*
    - char*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 3584
      start: 3564
    functionDepth: 0
    functionLinenumber: 3564
    functionLinenumberEnd: 3584
    functionName: g_assertion_message_cmpstr
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_strdup
    - g_strconcat
    - g_assertion_message
    - g_strescape
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_assertion_message_cmpstr (const char *domain, const char *file,
      int line, const char *func, const char *expr, const char *arg1, const char *cmp,
      const char *arg2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/glib/gtestutils.c:1563,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gtestutils.c:1559,1
    - Dst: g_strerror
      Src: /src/glib/glib/gtestutils.c:1565,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:1566,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gtestutils.c:1571,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gtestutils.c:1575,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gtestutils.c:1582,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:1600,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:1604,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/gtestutils.c:1563,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:1567,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gtestutils.c:1572,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:1597,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gtestutils.c:1581,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:1601,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:1603,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gtestutils.c:1549,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gtestutils.c:1573,1
    - Dst: g_set_user_dirs
      Src: /src/glib/glib/gtestutils.c:1587,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gtestutils.c:1578,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:1598,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:1602,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:1606,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/glib/gtestutils.c:1560,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gtestutils.c:1574,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gtestutils.c:1577,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:1599,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:1605,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:1607,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError**
    constantsTouched: []
    func_position:
      end: 1610
      start: 1533
    functionDepth: 0
    functionLinenumber: 1533
    functionLinenumberEnd: 1610
    functionName: test_do_isolate_dirs
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_mkdir_with_parents
    - g_strerror
    - g_set_user_dirs
    - g_file_error_from_errno
    - g_build_filename
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean test_do_isolate_dirs (GError **error) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: g_log_set_always_fatal
      Src: /src/glib/glib/gtestutils.c:1700,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtestutils.c:1703,1
    - Dst: _CrtSetReportMode
      Src: /src/glib/glib/gtestutils.c:1718,1
    - Dst: _CrtSetReportFile
      Src: /src/glib/glib/gtestutils.c:1719,1
    - Dst: exit
      Src: /src/glib/glib/gtestutils.c:1764,1
    - Dst: g_path_get_basename
      Src: /src/glib/glib/gtestutils.c:1787,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:1790,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/glib/gtestutils.c:1796,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:1804,1
    - Dst: exit
      Src: /src/glib/glib/gtestutils.c:1811,1
    - Dst: g_rand_int
      Src: /src/glib/glib/gtestutils.c:1858,1
    - Dst: g_printerr
      Src: /src/glib/glib/gtestutils.c:1842,1
    - Dst: g_path_get_dirname
      Src: /src/glib/glib/gtestutils.c:1878,1
    - Dst: test_run_seed
      Src: /src/glib/glib/gtestutils.c:1866,1
    - Dst: g_strdup
      Src: /src/glib/glib/gtestutils.c:1872,1
    - Dst: g_log_set_always_fatal
      Src: /src/glib/glib/gtestutils.c:1697,1
    - Dst: _CrtSetReportFile
      Src: /src/glib/glib/gtestutils.c:1714,1
    - Dst: _set_abort_behavior
      Src: /src/glib/glib/gtestutils.c:1726,1
    - Dst: va_arg
      Src: /src/glib/glib/gtestutils.c:1731,1
    - Dst: g_snprintf
      Src: /src/glib/glib/gtestutils.c:1748,1
    - Dst: g_set_prgname_once
      Src: /src/glib/glib/gtestutils.c:1754,1
    - Dst: g_setenv
      Src: /src/glib/glib/gtestutils.c:1760,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gtestutils.c:1793,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:1794,1
    - Dst: g_error_free
      Src: /src/glib/glib/gtestutils.c:1801,1
    - Dst: g_warning
      Src: /src/glib/glib/gtestutils.c:1861,1
    - Dst: g_rand_int
      Src: /src/glib/glib/gtestutils.c:1858,1
    - Dst: g_rand_int
      Src: /src/glib/glib/gtestutils.c:1858,1
    - Dst: g_log_set_default_handler
      Src: /src/glib/glib/gtestutils.c:1869,1
    - Dst: g_rand_int
      Src: /src/glib/glib/gtestutils.c:1858,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtestutils.c:1702,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtestutils.c:1704,1
    - Dst: va_start
      Src: /src/glib/glib/gtestutils.c:1730,1
    - Dst: parse_args
      Src: /src/glib/glib/gtestutils.c:1743,1
    - Dst: g_random_int
      Src: /src/glib/glib/gtestutils.c:1749,1
    - Dst: g_random_int
      Src: /src/glib/glib/gtestutils.c:1749,1
    - Dst: g_random_int
      Src: /src/glib/glib/gtestutils.c:1749,1
    - Dst: g_random_int
      Src: /src/glib/glib/gtestutils.c:1749,1
    - Dst: g_get_prgname
      Src: /src/glib/glib/gtestutils.c:1753,1
    - Dst: _g_unset_cached_tmp_dir
      Src: /src/glib/glib/gtestutils.c:1813,1
    - Dst: g_rand_free
      Src: /src/glib/glib/gtestutils.c:1862,1
    - Dst: g_path_get_dirname
      Src: /src/glib/glib/gtestutils.c:1872,1
    - Dst: g_setenv
      Src: /src/glib/glib/gtestutils.c:1840,1
    - Dst: g_getenv
      Src: /src/glib/glib/gtestutils.c:1851,1
    - Dst: g_rand_new_with_seed
      Src: /src/glib/glib/gtestutils.c:1857,1
    - Dst: g_getenv
      Src: /src/glib/glib/gtestutils.c:1883,1
    - Dst: g_printerr
      Src: /src/glib/glib/gtestutils.c:1799,1
    - Dst: g_getenv
      Src: /src/glib/glib/gtestutils.c:1887,1
    - Dst: g_printerr
      Src: /src/glib/glib/gtestutils.c:1809,1
    - Dst: exit
      Src: /src/glib/glib/gtestutils.c:1844,1
    - Dst: _CrtSetReportMode
      Src: /src/glib/glib/gtestutils.c:1713,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gtestutils.c:1737,1
    - Dst: va_end
      Src: /src/glib/glib/gtestutils.c:1740,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gtestutils.c:1735,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gtestutils.c:1733,1
    - Dst: g_printerr
      Src: /src/glib/glib/gtestutils.c:1762,1
    - Dst: g_getenv
      Src: /src/glib/glib/gtestutils.c:1781,1
    - Dst: g_get_prgname
      Src: /src/glib/glib/gtestutils.c:1787,1
    - Dst: exit
      Src: /src/glib/glib/gtestutils.c:1802,1
    - Dst: g_setenv
      Src: /src/glib/glib/gtestutils.c:1807,1
    - Dst: g_test_log
      Src: /src/glib/glib/gtestutils.c:1870,1
    - Dst: g_strdup
      Src: /src/glib/glib/gtestutils.c:1791,1
    - Dst: g_str_has_suffix
      Src: /src/glib/glib/gtestutils.c:1875,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:1879,1
    - Dst: g_get_prgname
      Src: /src/glib/glib/gtestutils.c:1870,1
    - Dst: g_getenv
      Src: /src/glib/glib/gtestutils.c:1756,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gtestutils.c:1838,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 137
    argCount: 2
    argNames:
    - argc
    - argv
    - '...'
    argTypes:
    - int*
    - char***
    constantsTouched: []
    func_position:
      end: 1890
      start: 1688
    functionDepth: 0
    functionLinenumber: 1688
    functionLinenumberEnd: 1890
    functionName: (g_test_init)
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - _set_abort_behavior
    - g_printerr
    - _CrtSetReportFile
    - g_path_get_basename
    - g_strdup_printf
    - parse_args
    - g_snprintf
    - va_end
    - g_warning
    - g_log_set_default_handler
    - G_N_ELEMENTS
    - g_log_set_always_fatal
    - _g_unset_cached_tmp_dir
    - g_error_free
    - g_get_prgname
    - exit
    - g_rand_int
    - g_path_get_dirname
    - g_strdup
    - g_str_has_suffix
    - g_getenv
    - g_setenv
    - g_random_int
    - _CrtSetReportMode
    - g_dir_make_tmp
    - va_arg
    - g_strcmp0
    - va_start
    - g_set_prgname_once
    - test_run_seed
    - g_return_if_fail
    - g_rand_new_with_seed
    - g_rand_free
    - g_test_log
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void (g_test_init) (int *argc, char ***argv, ...) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtestutils.c:3198,1
    - Dst: g_test_log
      Src: /src/glib/glib/gtestutils.c:3200,1
    - Dst: g_build_path
      Src: /src/glib/glib/gtestutils.c:3207,1
    - Dst: test_case_run
      Src: /src/glib/glib/gtestutils.c:3209,1
    - Dst: g_build_path
      Src: /src/glib/glib/gtestutils.c:3206,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:3212,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:3213,1
    - Dst: g_build_path
      Src: /src/glib/glib/gtestutils.c:3220,1
    - Dst: g_build_path
      Src: /src/glib/glib/gtestutils.c:3221,1
    - Dst: path_has_prefix
      Src: /src/glib/glib/gtestutils.c:3223,1
    - Dst: g_test_run_suite_internal
      Src: /src/glib/glib/gtestutils.c:3224,1
    - Dst: path_has_prefix
      Src: /src/glib/glib/gtestutils.c:3227,1
    - Dst: g_test_run_suite_internal
      Src: /src/glib/glib/gtestutils.c:3228,1
    - Dst: g_test_log
      Src: /src/glib/glib/gtestutils.c:3238,1
    - Dst: path_has_prefix
      Src: /src/glib/glib/gtestutils.c:3225,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:3231,1
    - Dst: g_test_run_suite_internal
      Src: /src/glib/glib/gtestutils.c:3226,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:3232,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 44
    argCount: 2
    argNames:
    - suite
    - path
    argTypes:
    - GTestSuite*
    - char*
    constantsTouched: []
    func_position:
      end: 3241
      start: 3189
    functionDepth: 0
    functionLinenumber: 3189
    functionLinenumberEnd: 3241
    functionName: g_test_run_suite_internal
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - test_case_run
    - g_build_path
    - path_has_prefix
    - g_test_log
    - g_free
    - g_test_run_suite_internal
    linkageType: ''
    returnType: int
    signature: 'static int g_test_run_suite_internal (GTestSuite *suite, const char
      *path) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gtestutils.c:4719,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gtestutils.c:4726,1
    - Dst: g_test_initialized
      Src: /src/glib/glib/gtestutils.c:4719,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4727
      start: 4716
    functionDepth: 0
    functionLinenumber: 4716
    functionLinenumberEnd: 4727
    functionName: g_test_get_dir
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_assert_not_reached
    - g_test_initialized
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_test_get_dir (GTestFileType file_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gtestutils.c:1897,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gtestutils.c:1899,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gtestutils.c:1901,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1902
      start: 1892
    functionDepth: 0
    functionLinenumber: 1892
    functionLinenumberEnd: 1902
    functionName: test_cleanup
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    linkageType: ''
    returnType: void
    signature: 'static void test_cleanup (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtestutils.c:3249,1
    - Dst: g_test_suite_count
      Src: /src/glib/glib/gtestutils.c:3264,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:3255,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:3263,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - suite
    argTypes:
    - GTestSuite*
    constantsTouched: []
    func_position:
      end: 3268
      start: 3243
    functionDepth: 0
    functionLinenumber: 3243
    functionLinenumberEnd: 3268
    functionName: g_test_suite_count
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - strcmp
    - g_test_suite_count
    linkageType: ''
    returnType: int
    signature: 'static int g_test_suite_count (GTestSuite *suite) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strconcat
      Src: /src/glib/glib/gtestutils.c:3599,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:3601,1
    - Dst: g_strconcat
      Src: /src/glib/glib/gtestutils.c:3600,1
    - Dst: g_strescape
      Src: /src/glib/glib/gtestutils.c:3599,1
    - Dst: g_strescape
      Src: /src/glib/glib/gtestutils.c:3600,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:3602,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gtestutils.c:3603,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:3605,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:3606,1
    - Dst: g_assertion_message
      Src: /src/glib/glib/gtestutils.c:3607,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:3608,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 17
    argCount: 8
    argNames:
    - domain
    - file
    - line
    - func
    - expr
    - arg1
    - arg2
    - first_wrong_idx
    argTypes:
    - char*
    - char*
    - int
    - char*
    - char*
    - char**
    - char**
    - gsize
    constantsTouched: []
    func_position:
      end: 3609
      start: 3586
    functionDepth: 0
    functionLinenumber: 3586
    functionLinenumberEnd: 3609
    functionName: g_assertion_message_cmpstrv
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_strconcat
    - g_assertion_message
    - g_strescape
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_assertion_message_cmpstrv (const char *domain, const char *file,
      int line, const char *func, const char *expr, const char * const *arg1, const
      char * const *arg2, gsize first_wrong_idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtestutils.c:2887,1
    - Dst: g_test_add_vtable
      Src: /src/glib/glib/gtestutils.c:2891,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtestutils.c:2889,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtestutils.c:2888,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - testpath
    - test_data
    - test_func
    - data_free_func
    argTypes:
    - char*
    - gpointer
    - GTestDataFunc
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 2894
      start: 2881
    functionDepth: 0
    functionLinenumber: 2881
    functionLinenumberEnd: 2894
    functionName: g_test_add_data_func_full
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_test_add_vtable
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_test_add_data_func_full (const char *testpath, gpointer test_data,
      GTestDataFunc test_func, GDestroyNotify data_free_func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/glib/gtestutils.c:3157,1
    - Dst: strncmp
      Src: /src/glib/glib/gtestutils.c:3159,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - path
    - prefix
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 3162
      start: 3153
    functionDepth: 0
    functionLinenumber: 3153
    functionLinenumberEnd: 3162
    functionName: path_has_prefix
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - strncmp
    - strlen
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean path_has_prefix (const char *path, const char *prefix) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/glib/glib/gtestutils.c:2905,1
    - Dst: strncmp
      Src: /src/glib/glib/gtestutils.c:2913,1
    - Dst: g_test_suite_case_exists
      Src: /src/glib/glib/gtestutils.c:2914,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:2923,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 2
    argNames:
    - suite
    - test_path
    argTypes:
    - GTestSuite*
    - char*
    constantsTouched: []
    func_position:
      end: 2929
      start: 2896
    functionDepth: 0
    functionLinenumber: 2896
    functionLinenumberEnd: 2929
    functionName: g_test_suite_case_exists
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_test_suite_case_exists
    - strchr
    - strcmp
    - strncmp
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_test_suite_case_exists (GTestSuite *suite, const
      char *test_path) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/glib/glib/gtestutils.c:3168,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gtestutils.c:3170,1
    - Dst: g_print
      Src: /src/glib/glib/gtestutils.c:3176,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/gtestutils.c:3173,1
    - Dst: g_print
      Src: /src/glib/glib/gtestutils.c:3178,1
    - Dst: path_has_prefix
      Src: /src/glib/glib/gtestutils.c:3183,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - test_path
    - cmp_path
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 3184
      start: 3164
    functionDepth: 0
    functionLinenumber: 3164
    functionLinenumberEnd: 3184
    functionName: test_should_run
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_test_verbose
    - path_has_prefix
    - g_strcmp0
    - g_print
    - strstr
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean test_should_run (const char *test_path, const char
      *cmp_path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/glib/gtestutils.c:4523,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gtestutils.c:4524,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4526
      start: 4520
    functionDepth: 0
    functionLinenumber: 4520
    functionLinenumberEnd: 4526
    functionName: g_test_log_buffer_new
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_new0
    - g_string_sized_new
    linkageType: ''
    returnType: GTestLogBuffer*
    signature: 'GTestLogBuffer *g_test_log_buffer_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtestutils.c:2860,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtestutils.c:2862,1
    - Dst: g_test_add_vtable
      Src: /src/glib/glib/gtestutils.c:2864,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtestutils.c:2861,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - testpath
    - test_data
    - test_func
    argTypes:
    - char*
    - gconstpointer
    - GTestDataFunc
    constantsTouched: []
    func_position:
      end: 2865
      start: 2855
    functionDepth: 0
    functionLinenumber: 2855
    functionLinenumberEnd: 2865
    functionName: g_test_add_data_func
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_test_add_vtable
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_test_add_data_func (const char *testpath, gconstpointer test_data,
      GTestDataFunc test_func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtestutils.c:2985,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtestutils.c:2986,1
    - Dst: g_slist_append
      Src: /src/glib/glib/gtestutils.c:2988,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - suite
    - nestedsuite
    argTypes:
    - GTestSuite*
    - GTestSuite*
    constantsTouched: []
    func_position:
      end: 2989
      start: 2981
    functionDepth: 0
    functionLinenumber: 2981
    functionLinenumberEnd: 2989
    functionName: g_test_suite_add_suite
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_slist_append
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_test_suite_add_suite (GTestSuite *suite, GTestSuite *nestedsuite) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_strerror
      Src: /src/glib/glib/gtestutils.c:3941,1
    - Dst: g_strerror
      Src: /src/glib/glib/gtestutils.c:3946,1
    - Dst: close
      Src: /src/glib/glib/gtestutils.c:3967,1
    - Dst: close
      Src: /src/glib/glib/gtestutils.c:3983,1
    - Dst: wait_for_child
      Src: /src/glib/glib/gtestutils.c:3985,1
    - Dst: test_trap_clear
      Src: /src/glib/glib/gtestutils.c:3937,1
    - Dst: g_open
      Src: /src/glib/glib/gtestutils.c:3955,1
    - Dst: safe_dup2
      Src: /src/glib/glib/gtestutils.c:3959,1
    - Dst: g_strerror
      Src: /src/glib/glib/gtestutils.c:3962,1
    - Dst: close
      Src: /src/glib/glib/gtestutils.c:3965,1
    - Dst: g_error
      Src: /src/glib/glib/gtestutils.c:3962,1
    - Dst: safe_dup2
      Src: /src/glib/glib/gtestutils.c:3959,1
    - Dst: g_test_disable_crash_reporting
      Src: /src/glib/glib/gtestutils.c:3975,1
    - Dst: close
      Src: /src/glib/glib/gtestutils.c:3982,1
    - Dst: g_error
      Src: /src/glib/glib/gtestutils.c:3941,1
    - Dst: pipe
      Src: /src/glib/glib/gtestutils.c:3938,1
    - Dst: pipe
      Src: /src/glib/glib/gtestutils.c:3938,1
    - Dst: g_error
      Src: /src/glib/glib/gtestutils.c:3946,1
    - Dst: close
      Src: /src/glib/glib/gtestutils.c:3951,1
    - Dst: close
      Src: /src/glib/glib/gtestutils.c:3952,1
    - Dst: close
      Src: /src/glib/glib/gtestutils.c:3969,1
    - Dst: g_message
      Src: /src/glib/glib/gtestutils.c:3992,1
    - Dst: fork
      Src: /src/glib/glib/gtestutils.c:3943,1
    - Dst: safe_dup2
      Src: /src/glib/glib/gtestutils.c:3959,1
    - Dst: g_error
      Src: /src/glib/glib/gtestutils.c:3957,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 59
    argCount: 2
    argNames:
    - usec_timeout
    - test_trap_flags
    argTypes:
    - guint64
    - GTestTrapFlags
    constantsTouched: []
    func_position:
      end: 3996
      start: 3927
    functionDepth: 0
    functionLinenumber: 3927
    functionLinenumberEnd: 3996
    functionName: g_test_trap_fork
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - test_trap_clear
    - g_message
    - wait_for_child
    - g_strerror
    - safe_dup2
    - fork
    - pipe
    - close
    - g_open
    - g_error
    - g_test_disable_crash_reporting
    linkageType: ''
    returnType: G_GNUC_BEGIN_IGNORE_DEPRECATIONS
    signature: 'G_GNUC_BEGIN_IGNORE_DEPRECATIONS gboolean g_test_trap_fork (guint64
      usec_timeout, GTestTrapFlags test_trap_flags) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/gtestutils.c:3068,1
    - Dst: g_test_log
      Src: /src/glib/glib/gtestutils.c:3083,1
    - Dst: test_trap_clear
      Src: /src/glib/glib/gtestutils.c:3115,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:3127,1
    - Dst: test_rm_isolate_dirs
      Src: /src/glib/glib/gtestutils.c:3131,1
    - Dst: g_timer_destroy
      Src: /src/glib/glib/gtestutils.c:3140,1
    - Dst: g_slist_free_full
      Src: /src/glib/glib/gtestutils.c:3143,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:3145,1
    - Dst: g_timer_new
      Src: /src/glib/glib/gtestutils.c:3087,1
    - Dst: g_test_fail
      Src: /src/glib/glib/gtestutils.c:3104,1
    - Dst: g_malloc0
      Src: /src/glib/glib/gtestutils.c:3110,1
    - Dst: test_run_seed
      Src: /src/glib/glib/gtestutils.c:3111,1
    - Dst: g_test_skip
      Src: /src/glib/glib/gtestutils.c:3096,1
    - Dst: g_timer_stop
      Src: /src/glib/glib/gtestutils.c:3128,1
    - Dst: g_timer_elapsed
      Src: /src/glib/glib/gtestutils.c:3137,1
    - Dst: g_test_log
      Src: /src/glib/glib/gtestutils.c:3138,1
    - Dst: g_test_log
      Src: /src/glib/glib/gtestutils.c:3079,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gtestutils.c:3093,1
    - Dst: g_test_log_set_fatal_handler
      Src: /src/glib/glib/gtestutils.c:3094,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gtestutils.c:3138,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gtestutils.c:3139,1
    - Dst: test_should_run
      Src: /src/glib/glib/gtestutils.c:3072,1
    - Dst: g_print
      Src: /src/glib/glib/gtestutils.c:3082,1
    - Dst: g_test_log
      Src: /src/glib/glib/gtestutils.c:3090,1
    - Dst: g_slist_find_custom
      Src: /src/glib/glib/gtestutils.c:3095,1
    - Dst: g_error_free
      Src: /src/glib/glib/gtestutils.c:3105,1
    - Dst: test_do_isolate_dirs
      Src: /src/glib/glib/gtestutils.c:3101,1
    - Dst: g_timer_start
      Src: /src/glib/glib/gtestutils.c:3109,1
    - Dst: g_test_log
      Src: /src/glib/glib/gtestutils.c:3103,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gtestutils.c:3121,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 67
    argCount: 3
    argNames:
    - tc
    - test_run_name
    - path
    argTypes:
    - GTestCase*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 3151
      start: 3059
    functionDepth: 0
    functionLinenumber: 3059
    functionLinenumberEnd: 3151
    functionName: test_case_run
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - test_trap_clear
    - test_should_run
    - g_timer_start
    - G_N_ELEMENTS
    - g_test_log_set_fatal_handler
    - g_clear_pointer
    - test_rm_isolate_dirs
    - g_error_free
    - test_do_isolate_dirs
    - g_print
    - g_slice_free
    - g_test_skip
    - g_timer_destroy
    - g_strdup
    - g_test_fail
    - g_timer_elapsed
    - g_timer_stop
    - test_run_seed
    - g_malloc0
    - g_slist_find_custom
    - g_timer_new
    - g_slist_free_full
    - g_test_log
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean test_case_run (GTestCase *tc, const char *test_run_name,
      const char *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_trap_subprocess_with_envp
      Src: /src/glib/glib/gtestutils.c:4018,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - test_path
    - usec_timeout
    - test_flags
    argTypes:
    - char*
    - guint64
    - GTestSubprocessFlags
    constantsTouched: []
    func_position:
      end: 4019
      start: 3997
    functionDepth: 0
    functionLinenumber: 3997
    functionLinenumberEnd: 4019
    functionName: g_test_trap_subprocess
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_test_trap_subprocess_with_envp
    linkageType: ''
    returnType: G_GNUC_END_IGNORE_DEPRECATIONS
    signature: 'G_GNUC_END_IGNORE_DEPRECATIONS /** * g_test_trap_subprocess: * @test_path:
      (nullable): test to run in a subprocess * @usec_timeout: timeout for the subprocess
      test in microseconds. * @test_flags: flags to modify subprocess behaviour *
      * Respawns the test program to run only @test_path in a subprocess. * * This
      is equivalent to calling [func@GLib.test_trap_subprocess_with_envp] * with `envp`
      set to `NULL`. See the documentation for that function * for full details. *
      * Since: 2.38 */ void g_test_trap_subprocess (const char *test_path, guint64
      usec_timeout, GTestSubprocessFlags test_flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 790
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 790
    functionName: is_subtest
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean is_subtest (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_timer_elapsed
      Src: /src/glib/glib/gtestutils.c:2078,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2080
      start: 2075
    functionDepth: 0
    functionLinenumber: 2075
    functionLinenumberEnd: 2080
    functionName: g_test_timer_elapsed
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_timer_elapsed
    linkageType: ''
    returnType: double
    signature: 'double g_test_timer_elapsed (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gtestutils.c:2153,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/glib/gtestutils.c:2154,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:2158,1
    - Dst: g_test_log
      Src: /src/glib/glib/gtestutils.c:2157,1
    - Dst: va_end
      Src: /src/glib/glib/gtestutils.c:2155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - maximized_quantity
    - format
    - '...'
    argTypes:
    - double
    - char*
    constantsTouched: []
    func_position:
      end: 2159
      start: 2144
    functionDepth: 0
    functionLinenumber: 2144
    functionLinenumberEnd: 2159
    functionName: g_test_maximized_result
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_strdup_vprintf
    - va_end
    - g_test_log
    - g_free
    - va_start
    linkageType: ''
    returnType: void
    signature: 'void g_test_maximized_result (double maximized_quantity, const char
      *format, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtestutils.c:3293,1
    - Dst: g_test_suite_count
      Src: /src/glib/glib/gtestutils.c:3296,1
    - Dst: g_test_run_suite_internal
      Src: /src/glib/glib/gtestutils.c:3306,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gtestutils.c:3298,1
    - Dst: g_build_path
      Src: /src/glib/glib/gtestutils.c:3299,1
    - Dst: g_test_run_suite_internal
      Src: /src/glib/glib/gtestutils.c:3309,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gtestutils.c:3311,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gtestutils.c:3312,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - suite
    argTypes:
    - GTestSuite*
    constantsTouched: []
    func_position:
      end: 3315
      start: 3288
    functionDepth: 0
    functionLinenumber: 3288
    functionLinenumberEnd: 3315
    functionName: g_test_run_suite
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_strdup_printf
    - g_clear_pointer
    - g_build_path
    - g_test_run_suite_internal
    - g_test_suite_count
    linkageType: ''
    returnType: int
    signature: 'int g_test_run_suite (GTestSuite *suite) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_io_channel_read_chars
      Src: /src/glib/glib/gtestutils.c:3753,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gtestutils.c:3758,1
    - Dst: check_complete
      Src: /src/glib/glib/gtestutils.c:3762,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gtestutils.c:3770,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gtestutils.c:3760,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gtestutils.c:3779,1
    - Dst: fwrite
      Src: /src/glib/glib/gtestutils.c:3790,1
    - Dst: g_error
      Src: /src/glib/glib/gtestutils.c:3793,1
    - Dst: g_strerror
      Src: /src/glib/glib/gtestutils.c:3793,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 3
    argNames:
    - io
    - cond
    - user_data
    argTypes:
    - GIOChannel*
    - GIOCondition
    - gpointer
    constantsTouched: []
    func_position:
      end: 3798
      start: 3744
    functionDepth: 0
    functionLinenumber: 3744
    functionLinenumberEnd: 3798
    functionName: child_read
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_string_append_len
    - fwrite
    - g_strerror
    - g_io_channel_read_chars
    - g_clear_pointer
    - check_complete
    - g_error
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean child_read (GIOChannel *io, GIOCondition cond, gpointer
      user_data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gtestutils.c:798,1
    - Dst: G_LIKELY
      Src: /src/glib/glib/gtestutils.c:800,1
    - Dst: g_string_new_len
      Src: /src/glib/glib/gtestutils.c:803,1
    - Dst: strchr
      Src: /src/glib/glib/gtestutils.c:800,1
    - Dst: strlen
      Src: /src/glib/glib/gtestutils.c:803,1
    - Dst: strchr
      Src: /src/glib/glib/gtestutils.c:808,1
    - Dst: g_string_append
      Src: /src/glib/glib/gtestutils.c:813,1
    - Dst: g_string_append
      Src: /src/glib/glib/gtestutils.c:816,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gtestutils.c:822,1
    - Dst: g_string_append
      Src: /src/glib/glib/gtestutils.c:826,1
    - Dst: g_string_free
      Src: /src/glib/glib/gtestutils.c:835,1
    - Dst: g_default_print_func
      Src: /src/glib/glib/gtestutils.c:834,1
    - Dst: g_default_print_func
      Src: /src/glib/glib/gtestutils.c:839,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gtestutils.c:835,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 4
    argNames:
    - string
    - use_tap_format
    - is_tap_comment
    - subtest_level
    argTypes:
    - gchar*
    - gboolean
    - gboolean
    - unsigned
    constantsTouched: []
    func_position:
      end: 841
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 841
    functionName: g_test_print_handler_full
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - strlen
    - g_string_new_len
    - g_assert
    - g_string_append_len
    - strchr
    - g_string_free
    - G_LIKELY
    - g_default_print_func
    - g_string_append
    linkageType: ''
    returnType: void
    signature: 'static void g_test_print_handler_full (const gchar *string, gboolean
      use_tap_format, gboolean is_tap_comment, unsigned subtest_level) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_source_unref
      Src: /src/glib/glib/gtestutils.c:3830,1
    - Dst: g_io_channel_set_close_on_unref
      Src: /src/glib/glib/gtestutils.c:3835,1
    - Dst: g_string_new
      Src: /src/glib/glib/gtestutils.c:3833,1
    - Dst: g_source_attach
      Src: /src/glib/glib/gtestutils.c:3829,1
    - Dst: g_source_attach
      Src: /src/glib/glib/gtestutils.c:3840,1
    - Dst: g_timeout_source_new
      Src: /src/glib/glib/gtestutils.c:3845,1
    - Dst: g_string_free
      Src: /src/glib/glib/gtestutils.c:3874,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gtestutils.c:3877,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gtestutils.c:3878,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/gtestutils.c:3817,1
    - Dst: g_io_channel_unix_new
      Src: /src/glib/glib/gtestutils.c:3823,1
    - Dst: g_io_channel_set_encoding
      Src: /src/glib/glib/gtestutils.c:3825,1
    - Dst: g_io_channel_set_encoding
      Src: /src/glib/glib/gtestutils.c:3836,1
    - Dst: g_io_create_watch
      Src: /src/glib/glib/gtestutils.c:3827,1
    - Dst: g_io_create_watch
      Src: /src/glib/glib/gtestutils.c:3838,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/gtestutils.c:3854,1
    - Dst: g_string_free
      Src: /src/glib/glib/gtestutils.c:3875,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/gtestutils.c:3853,1
    - Dst: g_string_truncate
      Src: /src/glib/glib/gtestutils.c:3869,1
    - Dst: g_test_print_handler_full
      Src: /src/glib/glib/gtestutils.c:3866,1
    - Dst: g_main_context_new
      Src: /src/glib/glib/gtestutils.c:3813,1
    - Dst: g_source_attach
      Src: /src/glib/glib/gtestutils.c:3818,1
    - Dst: g_source_unref
      Src: /src/glib/glib/gtestutils.c:3819,1
    - Dst: g_string_new
      Src: /src/glib/glib/gtestutils.c:3822,1
    - Dst: g_io_channel_set_close_on_unref
      Src: /src/glib/glib/gtestutils.c:3824,1
    - Dst: g_source_unref
      Src: /src/glib/glib/gtestutils.c:3841,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/gtestutils.c:3846,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/gtestutils.c:3847,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/gtestutils.c:3852,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gtestutils.c:3862,1
    - Dst: g_child_watch_source_new
      Src: /src/glib/glib/gtestutils.c:3816,1
    - Dst: g_main_loop_new
      Src: /src/glib/glib/gtestutils.c:3814,1
    - Dst: g_io_channel_set_buffered
      Src: /src/glib/glib/gtestutils.c:3826,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/gtestutils.c:3828,1
    - Dst: g_io_channel_unix_new
      Src: /src/glib/glib/gtestutils.c:3834,1
    - Dst: g_io_channel_set_buffered
      Src: /src/glib/glib/gtestutils.c:3837,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/gtestutils.c:3839,1
    - Dst: g_source_set_ready_time
      Src: /src/glib/glib/gtestutils.c:3846,1
    - Dst: g_source_attach
      Src: /src/glib/glib/gtestutils.c:3848,1
    - Dst: g_source_unref
      Src: /src/glib/glib/gtestutils.c:3849,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 74
    argCount: 6
    argNames:
    - pid
    - stdout_fd
    - echo_stdout
    - stderr_fd
    - echo_stderr
    - timeout
    argTypes:
    - GPid
    - int
    - gboolean
    - int
    - gboolean
    - guint64
    constantsTouched: []
    func_position:
      end: 3879
      start: 3800
    functionDepth: 0
    functionLinenumber: 3800
    functionLinenumberEnd: 3879
    functionName: wait_for_child
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_main_context_unref
    - g_source_set_callback
    - g_timeout_source_new
    - g_test_print_handler_full
    - g_string_truncate
    - g_io_channel_unix_new
    - g_source_attach
    - g_io_create_watch
    - g_main_context_new
    - g_clear_pointer
    - g_source_unref
    - g_get_monotonic_time
    - g_main_loop_run
    - g_child_watch_source_new
    - g_io_channel_set_buffered
    - g_main_loop_new
    - g_string_new
    - g_io_channel_set_encoding
    - g_io_channel_set_close_on_unref
    - g_string_append_c
    - g_main_loop_unref
    - g_string_free
    - g_source_set_ready_time
    linkageType: ''
    returnType: void
    signature: 'static void wait_for_child (GPid pid, int stdout_fd, gboolean echo_stdout,
      int stderr_fd, gboolean echo_stderr, guint64 timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gtestutils.c:2121,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:2126,1
    - Dst: g_test_log
      Src: /src/glib/glib/gtestutils.c:2125,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/glib/gtestutils.c:2122,1
    - Dst: va_end
      Src: /src/glib/glib/gtestutils.c:2123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - minimized_quantity
    - format
    - '...'
    argTypes:
    - double
    - char*
    constantsTouched: []
    func_position:
      end: 2127
      start: 2112
    functionDepth: 0
    functionLinenumber: 2112
    functionLinenumberEnd: 2127
    functionName: g_test_minimized_result
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_strdup_vprintf
    - va_end
    - g_test_log
    - g_free
    - va_start
    linkageType: ''
    returnType: void
    signature: 'void g_test_minimized_result (double minimized_quantity, const char
      *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WIFSIGNALED
      Src: /src/glib/glib/gtestutils.c:4248,1
    - Dst: WTERMSIG
      Src: /src/glib/glib/gtestutils.c:4249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4253
      start: 4244
    functionDepth: 0
    functionLinenumber: 4244
    functionLinenumberEnd: 4253
    functionName: g_test_trap_reached_timeout
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - WIFSIGNALED
    - WTERMSIG
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_test_trap_reached_timeout (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setrlimit
      Src: /src/glib/glib/gtestutils.c:1169,1
    - Dst: prctl
      Src: /src/glib/glib/gtestutils.c:1175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1177
      start: 1163
    functionDepth: 0
    functionLinenumber: 1163
    functionLinenumberEnd: 1177
    functionName: g_test_disable_crash_reporting
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - setrlimit
    - prctl
    linkageType: ''
    returnType: void
    signature: 'void g_test_disable_crash_reporting (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtestutils.c:2292,1
    - Dst: strchr
      Src: /src/glib/glib/gtestutils.c:2294,1
    - Dst: strchr
      Src: /src/glib/glib/gtestutils.c:2293,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtestutils.c:2293,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtestutils.c:2294,1
    - Dst: g_test_message
      Src: /src/glib/glib/gtestutils.c:2296,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - summary
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2297
      start: 2289
    functionDepth: 0
    functionLinenumber: 2289
    functionLinenumberEnd: 2297
    functionName: g_test_summary
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_test_message
    - strchr
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_test_summary (const char *summary) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtestutils.c:2457,1
    - Dst: strchr
      Src: /src/glib/glib/gtestutils.c:2458,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtestutils.c:2460,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtestutils.c:2458,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtestutils.c:2459,1
    - Dst: g_slice_new0
      Src: /src/glib/glib/gtestutils.c:2462,1
    - Dst: g_strdup
      Src: /src/glib/glib/gtestutils.c:2463,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2471
      start: 2447
    functionDepth: 0
    functionLinenumber: 2447
    functionLinenumberEnd: 2471
    functionName: g_test_create_case
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - strchr
    - g_return_val_if_fail
    - g_strdup
    - g_slice_new0
    linkageType: ''
    returnType: GTestCase*
    signature: 'GTestCase *g_test_create_case (const char *test_name, gsize data_size,
      gconstpointer test_data, GTestFixtureFunc data_setup, GTestFixtureFunc data_test,
      GTestFixtureFunc data_teardown) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtestutils.c:2522,1
    - Dst: g_path_is_absolute
      Src: /src/glib/glib/gtestutils.c:2523,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtestutils.c:2524,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtestutils.c:2525,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtestutils.c:2523,1
    - Dst: strstr
      Src: /src/glib/glib/gtestutils.c:2525,1
    - Dst: g_test_get_root
      Src: /src/glib/glib/gtestutils.c:2527,1
    - Dst: g_strsplit
      Src: /src/glib/glib/gtestutils.c:2528,1
    - Dst: g_error
      Src: /src/glib/glib/gtestutils.c:2534,1
    - Dst: g_slist_find_custom
      Src: /src/glib/glib/gtestutils.c:2541,1
    - Dst: g_test_suite_add
      Src: /src/glib/glib/gtestutils.c:2561,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gtestutils.c:2564,1
    - Dst: g_test_create_case
      Src: /src/glib/glib/gtestutils.c:2560,1
    - Dst: g_test_create_suite
      Src: /src/glib/glib/gtestutils.c:2548,1
    - Dst: g_slist_find_custom
      Src: /src/glib/glib/gtestutils.c:2557,1
    - Dst: g_error
      Src: /src/glib/glib/gtestutils.c:2558,1
    - Dst: g_test_suite_add_suite
      Src: /src/glib/glib/gtestutils.c:2549,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 6
    argNames:
    - testpath
    - data_size
    - test_data
    - data_setup
    - fixture_test_func
    - data_teardown
    argTypes:
    - char*
    - gsize
    - gconstpointer
    - GTestFixtureFunc
    - GTestFixtureFunc
    - GTestFixtureFunc
    constantsTouched: []
    func_position:
      end: 2565
      start: 2510
    functionDepth: 0
    functionLinenumber: 2510
    functionLinenumberEnd: 2565
    functionName: g_test_add_vtable
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_test_create_case
    - g_test_get_root
    - g_return_if_fail
    - g_test_suite_add
    - g_strfreev
    - g_test_create_suite
    - g_slist_find_custom
    - g_strsplit
    - g_test_suite_add_suite
    - g_error
    - strstr
    - g_path_is_absolute
    linkageType: ''
    returnType: void
    signature: 'void g_test_add_vtable (const char *testpath, gsize data_size, gconstpointer
      test_data, GTestFixtureFunc data_setup, GTestFixtureFunc fixture_test_func,
      GTestFixtureFunc data_teardown) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/gtestutils.c:3481,1
    - Dst: _exit
      Src: /src/glib/glib/gtestutils.c:3492,1
    - Dst: g_strconcat
      Src: /src/glib/glib/gtestutils.c:3483,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:3485,1
    - Dst: g_assertion_message
      Src: /src/glib/glib/gtestutils.c:3484,1
    - Dst: g_abort
      Src: /src/glib/glib/gtestutils.c:3494,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 5
    argNames:
    - domain
    - file
    - line
    - func
    - expr
    argTypes:
    - char*
    - char*
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 3495
      start: 3472
    functionDepth: 0
    functionLinenumber: 3472
    functionLinenumberEnd: 3495
    functionName: g_assertion_message_expr
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_strconcat
    - g_assertion_message
    - g_free
    - g_abort
    - _exit
    linkageType: ''
    returnType: void
    signature: 'void g_assertion_message_expr (const char *domain, const char *file,
      int line, const char *func, const char *expr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUINT64_TO_BE
      Src: /src/glib/glib/gtestutils.c:4423,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gtestutils.c:4424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - gstring
    - vdouble
    argTypes:
    - GString*
    - double
    constantsTouched: []
    func_position:
      end: 4425
      start: 4417
    functionDepth: 0
    functionLinenumber: 4417
    functionLinenumberEnd: 4425
    functionName: gstring_append_double
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - GUINT64_TO_BE
    - g_string_append_len
    linkageType: ''
    returnType: void
    signature: 'static void gstring_append_double (GString *gstring, double vdouble) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:2479,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - l
    - s
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2480
      start: 2473
    functionDepth: 0
    functionLinenumber: 2473
    functionLinenumberEnd: 2480
    functionName: find_suite
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: gint
    signature: 'static gint find_suite (gconstpointer l, gconstpointer s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gtestutils.c:4431,1
    - Dst: gstring_append_int
      Src: /src/glib/glib/gtestutils.c:4435,1
    - Dst: gstring_append_int
      Src: /src/glib/glib/gtestutils.c:4434,1
    - Dst: gstring_append_int
      Src: /src/glib/glib/gtestutils.c:4436,1
    - Dst: gstring_append_int
      Src: /src/glib/glib/gtestutils.c:4433,1
    - Dst: gstring_append_int
      Src: /src/glib/glib/gtestutils.c:4437,1
    - Dst: g_assert
      Src: /src/glib/glib/gtestutils.c:4441,1
    - Dst: strlen
      Src: /src/glib/glib/gtestutils.c:4442,1
    - Dst: gstring_append_int
      Src: /src/glib/glib/gtestutils.c:4443,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gtestutils.c:4444,1
    - Dst: gstring_append_double
      Src: /src/glib/glib/gtestutils.c:4447,1
    - Dst: g_string_free
      Src: /src/glib/glib/gtestutils.c:4450,1
    - Dst: gstring_overwrite_int
      Src: /src/glib/glib/gtestutils.c:4449,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4451
      start: 4427
    functionDepth: 0
    functionLinenumber: 4427
    functionLinenumberEnd: 4451
    functionName: g_test_log_dump
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_string_append_len
    - strlen
    - g_assert
    - gstring_overwrite_int
    - gstring_append_int
    - g_string_free
    - g_string_sized_new
    - gstring_append_double
    linkageType: ''
    returnType: guint8*
    signature: 'static guint8 *g_test_log_dump (GTestLogMsg *msg, guint *len) '
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: is_subtest
      Src: /src/glib/glib/gtestutils.c:956,1
    - Dst: g_test_tap_print
      Src: /src/glib/glib/gtestutils.c:988,1
    - Dst: g_print
      Src: /src/glib/glib/gtestutils.c:986,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gtestutils.c:1025,1
    - Dst: g_print
      Src: /src/glib/glib/gtestutils.c:1050,1
    - Dst: g_print
      Src: /src/glib/glib/gtestutils.c:1069,1
    - Dst: g_print
      Src: /src/glib/glib/gtestutils.c:1075,1
    - Dst: g_print
      Src: /src/glib/glib/gtestutils.c:1081,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/gtestutils.c:1082,1
    - Dst: g_print
      Src: /src/glib/glib/gtestutils.c:1083,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:1117,1
    - Dst: g_print
      Src: /src/glib/glib/gtestutils.c:1146,1
    - Dst: g_test_tap_print
      Src: /src/glib/glib/gtestutils.c:1106,1
    - Dst: g_test_log_dump
      Src: /src/glib/glib/gtestutils.c:1134,1
    - Dst: g_print
      Src: /src/glib/glib/gtestutils.c:1144,1
    - Dst: g_test_tap_print
      Src: /src/glib/glib/gtestutils.c:1115,1
    - Dst: g_strdup
      Src: /src/glib/glib/gtestutils.c:1088,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/gtestutils.c:1047,1
    - Dst: is_subtest
      Src: /src/glib/glib/gtestutils.c:963,1
    - Dst: g_print
      Src: /src/glib/glib/gtestutils.c:973,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/gtestutils.c:975,1
    - Dst: g_print
      Src: /src/glib/glib/gtestutils.c:977,1
    - Dst: g_string_prepend
      Src: /src/glib/glib/gtestutils.c:1023,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gtestutils.c:1027,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gtestutils.c:1029,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gtestutils.c:1031,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gtestutils.c:1033,1
    - Dst: g_string_free
      Src: /src/glib/glib/gtestutils.c:1035,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/gtestutils.c:1119,1
    - Dst: g_test_quiet
      Src: /src/glib/glib/gtestutils.c:1145,1
    - Dst: g_test_tap_print
      Src: /src/glib/glib/gtestutils.c:1113,1
    - Dst: g_once_init_enter_pointer
      Src: /src/glib/glib/gtestutils.c:949,1
    - Dst: g_set_print_handler
      Src: /src/glib/glib/gtestutils.c:952,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/gtestutils.c:953,1
    - Dst: g_test_tap_print
      Src: /src/glib/glib/gtestutils.c:965,1
    - Dst: g_test_tap_print
      Src: /src/glib/glib/gtestutils.c:969,1
    - Dst: is_subtest
      Src: /src/glib/glib/gtestutils.c:1022,1
    - Dst: g_string_new
      Src: /src/glib/glib/gtestutils.c:1040,1
    - Dst: g_abort
      Src: /src/glib/glib/gtestutils.c:1055,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/gtestutils.c:1070,1
    - Dst: g_print
      Src: /src/glib/glib/gtestutils.c:1071,1
    - Dst: g_test_tap_print
      Src: /src/glib/glib/gtestutils.c:1103,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:1136,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/gtestutils.c:1143,1
    - Dst: strchr
      Src: /src/glib/glib/gtestutils.c:1094,1
    - Dst: g_print
      Src: /src/glib/glib/gtestutils.c:1077,1
    - Dst: g_print
      Src: /src/glib/glib/gtestutils.c:1121,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gtestutils.c:1035,1
    - Dst: g_once_init_leave_pointer
      Src: /src/glib/glib/gtestutils.c:951,1
    - Dst: g_string_new
      Src: /src/glib/glib/gtestutils.c:1020,1
    - Dst: g_print
      Src: /src/glib/glib/gtestutils.c:998,1
    - Dst: g_test_tap_print
      Src: /src/glib/glib/gtestutils.c:1000,1
    - Dst: g_string_new
      Src: /src/glib/glib/gtestutils.c:1018,1
    - Dst: g_default_print_func
      Src: /src/glib/glib/gtestutils.c:1034,1
    - Dst: g_default_print_func
      Src: /src/glib/glib/gtestutils.c:1043,1
    - Dst: g_string_free
      Src: /src/glib/glib/gtestutils.c:1044,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/gtestutils.c:1044,1
    - Dst: g_print
      Src: /src/glib/glib/gtestutils.c:1048,1
    - Dst: g_test_quiet
      Src: /src/glib/glib/gtestutils.c:1049,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/gtestutils.c:1076,1
    - Dst: g_test_log_send
      Src: /src/glib/glib/gtestutils.c:1135,1
    - Dst: g_test_tap_print
      Src: /src/glib/glib/gtestutils.c:1063,1
    - Dst: g_strstrip
      Src: /src/glib/glib/gtestutils.c:1097,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gtestutils.c:1109,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gtestutils.c:1041,1
    - Dst: g_test_tap_print
      Src: /src/glib/glib/gtestutils.c:1054,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 135
    argCount: 5
    argNames:
    - lbit
    - string1
    - string2
    - n_args
    - largs
    argTypes:
    - GTestLogType
    - gchar*
    - gchar*
    - guint
    - long double*
    constantsTouched: []
    func_position:
      end: 1150
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 1150
    functionName: g_test_log
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_test_log_send
    - g_string_prepend
    - g_assert_nonnull
    - g_clear_pointer
    - g_once_init_enter_pointer
    - g_print
    - g_default_print_func
    - g_once_init_leave_pointer
    - g_strdup
    - g_test_tap_print
    - g_strstrip
    - g_string_new
    - g_string_append_printf
    - g_test_log_dump
    - g_abort
    - is_subtest
    - g_string_append_c
    - g_test_verbose
    - g_set_print_handler
    - g_test_quiet
    - g_string_free
    - strchr
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void g_test_log (GTestLogType lbit, const gchar *string1, const
      gchar *string2, guint n_args, long double *largs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2095
      start: 2091
    functionDepth: 0
    functionLinenumber: 2091
    functionLinenumberEnd: 2095
    functionName: g_test_timer_last
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: 'double g_test_timer_last (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtestutils.c:2236,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/gtestutils.c:2238,1
    - Dst: g_test_message
      Src: /src/glib/glib/gtestutils.c:2241,1
    - Dst: strstr
      Src: /src/glib/glib/gtestutils.c:2246,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/gtestutils.c:2239,1
    - Dst: g_strndup
      Src: /src/glib/glib/gtestutils.c:2249,1
    - Dst: g_strconcat
      Src: /src/glib/glib/gtestutils.c:2250,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:2251,1
    - Dst: g_test_message
      Src: /src/glib/glib/gtestutils.c:2252,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:2253,1
    - Dst: g_test_message
      Src: /src/glib/glib/gtestutils.c:2256,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - bug_uri_snippet
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2258
      start: 2231
    functionDepth: 0
    functionLinenumber: 2231
    functionLinenumberEnd: 2258
    functionName: g_test_bug
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_strconcat
    - g_return_if_fail
    - g_test_message
    - g_strndup
    - g_str_has_prefix
    - g_free
    - strstr
    linkageType: ''
    returnType: void
    signature: 'void g_test_bug (const char *bug_uri_snippet) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:2488,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - l
    - s
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2489
      start: 2482
    functionDepth: 0
    functionLinenumber: 2482
    functionLinenumberEnd: 2489
    functionName: find_case
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: gint
    signature: 'static gint find_case (gconstpointer l, gconstpointer s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:3335,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gtestutils.c:3336,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - test_case
    argTypes:
    - GTestCase*
    constantsTouched: []
    func_position:
      end: 3337
      start: 3325
    functionDepth: 0
    functionLinenumber: 3325
    functionLinenumberEnd: 3337
    functionName: g_test_case_free
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_test_case_free (GTestCase *test_case) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_snprintf
      Src: /src/glib/glib/gtestutils.c:3418,1
    - Dst: g_printerr
      Src: /src/glib/glib/gtestutils.c:3423,1
    - Dst: g_strconcat
      Src: /src/glib/glib/gtestutils.c:3419,1
    - Dst: g_test_log
      Src: /src/glib/glib/gtestutils.c:3428,1
    - Dst: g_test_log
      Src: /src/glib/glib/gtestutils.c:3430,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:3434,1
    - Dst: g_test_fail
      Src: /src/glib/glib/gtestutils.c:3435,1
    - Dst: free
      Src: /src/glib/glib/gtestutils.c:3443,1
    - Dst: malloc
      Src: /src/glib/glib/gtestutils.c:3444,1
    - Dst: strlen
      Src: /src/glib/glib/gtestutils.c:3444,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:3447,1
    - Dst: g_abort
      Src: /src/glib/glib/gtestutils.c:3458,1
    - Dst: strcpy
      Src: /src/glib/glib/gtestutils.c:3445,1
    - Dst: _exit
      Src: /src/glib/glib/gtestutils.c:3455,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 5
    argNames:
    - domain
    - file
    - line
    - func
    - message
    argTypes:
    - char*
    - char*
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 3459
      start: 3406
    functionDepth: 0
    functionLinenumber: 3406
    functionLinenumberEnd: 3459
    functionName: g_assertion_message
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - malloc
    - g_printerr
    - g_strconcat
    - g_test_fail
    - strlen
    - free
    - strcpy
    - g_snprintf
    - g_test_log
    - g_free
    - g_abort
    - _exit
    linkageType: ''
    returnType: void
    signature: 'void g_assertion_message (const char *domain, const char *file, int
      line, const char *func, const char *message) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/gtestutils.c:1964,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gtestutils.c:1966,1
    - Dst: g_rand_int
      Src: /src/glib/glib/gtestutils.c:1965,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1969
      start: 1959
    functionDepth: 0
    functionLinenumber: 1959
    functionLinenumberEnd: 1969
    functionName: g_test_rand_int
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_rand_int
    - G_UNLOCK
    - G_LOCK
    linkageType: ''
    returnType: gint32
    signature: 'gint32 g_test_rand_int (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dup2
      Src: /src/glib/glib/gtestutils.c:3689,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - fd1
    - fd2
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 3692
      start: 3683
    functionDepth: 0
    functionLinenumber: 3683
    functionLinenumberEnd: 3692
    functionName: safe_dup2
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - dup2
    linkageType: ''
    returnType: int
    signature: 'static int safe_dup2 (int fd1, int fd2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/glib/glib/gtestutils.c:1621,1
    - Dst: rm_rf
      Src: /src/glib/glib/gtestutils.c:1622,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:1623,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1624
      start: 1613
    functionDepth: 0
    functionLinenumber: 1613
    functionLinenumberEnd: 1624
    functionName: test_rm_isolate_dirs
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_free
    - g_build_filename
    - rm_rf
    linkageType: ''
    returnType: void
    signature: 'static void test_rm_isolate_dirs (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_rand_free
      Src: /src/glib/glib/gtestutils.c:1909,1
    - Dst: memcpy
      Src: /src/glib/glib/gtestutils.c:1920,1
    - Dst: strlen
      Src: /src/glib/glib/gtestutils.c:1916,1
    - Dst: strchr
      Src: /src/glib/glib/gtestutils.c:1911,1
    - Dst: strncmp
      Src: /src/glib/glib/gtestutils.c:1913,1
    - Dst: g_ascii_strtoull
      Src: /src/glib/glib/gtestutils.c:1921,1
    - Dst: memcpy
      Src: /src/glib/glib/gtestutils.c:1923,1
    - Dst: g_ascii_strtoull
      Src: /src/glib/glib/gtestutils.c:1924,1
    - Dst: memcpy
      Src: /src/glib/glib/gtestutils.c:1926,1
    - Dst: g_ascii_strtoull
      Src: /src/glib/glib/gtestutils.c:1927,1
    - Dst: g_ascii_strtoull
      Src: /src/glib/glib/gtestutils.c:1930,1
    - Dst: g_rand_new_with_seed_array
      Src: /src/glib/glib/gtestutils.c:1934,1
    - Dst: g_error
      Src: /src/glib/glib/gtestutils.c:1939,1
    - Dst: memcpy
      Src: /src/glib/glib/gtestutils.c:1929,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 1
    argNames:
    - rseed
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1940
      start: 1904
    functionDepth: 0
    functionLinenumber: 1904
    functionLinenumberEnd: 1940
    functionName: test_run_seed
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - memcpy
    - strlen
    - g_ascii_strtoull
    - strchr
    - strncmp
    - g_rand_free
    - g_rand_new_with_seed_array
    - g_error
    linkageType: ''
    returnType: void
    signature: 'static void test_run_seed (const gchar *rseed) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gtestutils.c:4761,1
    - Dst: g_test_initialized
      Src: /src/glib/glib/gtestutils.c:4761,1
    - Dst: va_start
      Src: /src/glib/glib/gtestutils.c:4765,1
    - Dst: g_error
      Src: /src/glib/glib/gtestutils.c:4763,1
    - Dst: g_test_build_filename_va
      Src: /src/glib/glib/gtestutils.c:4766,1
    - Dst: va_end
      Src: /src/glib/glib/gtestutils.c:4767,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gtestutils.c:4769,1
    - Dst: g_atomic_pointer_compare_and_exchange
      Src: /src/glib/glib/gtestutils.c:4772,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4775
      start: 4752
    functionDepth: 0
    functionLinenumber: 4752
    functionLinenumberEnd: 4775
    functionName: g_test_get_filename
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_test_build_filename_va
    - g_test_initialized
    - g_assert
    - g_atomic_pointer_compare_and_exchange
    - va_end
    - g_error
    - g_slist_prepend
    - va_start
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_test_get_filename (GTestFileType file_type, const gchar
      *first_path, ...) '
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: g_log_set_always_fatal
      Src: /src/glib/glib/gtestutils.c:1200,1
    - Dst: strncmp
      Src: /src/glib/glib/gtestutils.c:1219,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1246,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1234,1
    - Dst: g_ascii_strtoull
      Src: /src/glib/glib/gtestutils.c:1238,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gtestutils.c:1265,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1278,1
    - Dst: exit
      Src: /src/glib/glib/gtestutils.c:1294,1
    - Dst: printf
      Src: /src/glib/glib/gtestutils.c:1310,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1394,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1359,1
    - Dst: strncmp
      Src: /src/glib/glib/gtestutils.c:1316,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1395,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1346,1
    - Dst: strncmp
      Src: /src/glib/glib/gtestutils.c:1382,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gtestutils.c:1306,1
    - Dst: g_get_current_dir
      Src: /src/glib/glib/gtestutils.c:1191,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1196,1
    - Dst: exit
      Src: /src/glib/glib/gtestutils.c:1274,1
    - Dst: strncmp
      Src: /src/glib/glib/gtestutils.c:1298,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1315,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gtestutils.c:1326,1
    - Dst: printf
      Src: /src/glib/glib/gtestutils.c:1330,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1348,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1352,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1365,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1335,1
    - Dst: exit
      Src: /src/glib/glib/gtestutils.c:1421,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gtestutils.c:1322,1
    - Dst: g_slist_reverse
      Src: /src/glib/glib/gtestutils.c:1427,1
    - Dst: strncmp
      Src: /src/glib/glib/gtestutils.c:1335,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1203,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1209,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1214,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1219,1
    - Dst: strncmp
      Src: /src/glib/glib/gtestutils.c:1234,1
    - Dst: g_test_disable_crash_reporting
      Src: /src/glib/glib/gtestutils.c:1253,1
    - Dst: g_ascii_strtoull
      Src: /src/glib/glib/gtestutils.c:1223,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1261,1
    - Dst: strncmp
      Src: /src/glib/glib/gtestutils.c:1261,1
    - Dst: strncmp
      Src: /src/glib/glib/gtestutils.c:1279,1
    - Dst: printf
      Src: /src/glib/glib/gtestutils.c:1293,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1350,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1377,1
    - Dst: exit
      Src: /src/glib/glib/gtestutils.c:1331,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1280,1
    - Dst: exit
      Src: /src/glib/glib/gtestutils.c:1311,1
    - Dst: strncmp
      Src: /src/glib/glib/gtestutils.c:1318,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1396,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1365,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1382,1
    - Dst: g_log_set_always_fatal
      Src: /src/glib/glib/gtestutils.c:1198,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1204,1
    - Dst: g_ascii_strtoull
      Src: /src/glib/glib/gtestutils.c:1242,1
    - Dst: g_ascii_strtoull
      Src: /src/glib/glib/gtestutils.c:1227,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gtestutils.c:1269,1
    - Dst: printf
      Src: /src/glib/glib/gtestutils.c:1273,1
    - Dst: strncmp
      Src: /src/glib/glib/gtestutils.c:1281,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gtestutils.c:1285,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1298,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gtestutils.c:1302,1
    - Dst: g_error
      Src: /src/glib/glib/gtestutils.c:1362,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1317,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gtestutils.c:1289,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1371,1
    - Dst: strcmp
      Src: /src/glib/glib/gtestutils.c:1357,1
    - Dst: printf
      Src: /src/glib/glib/gtestutils.c:1398,1
    CyclomaticComplexity: 79
    EdgeCount: 79
    ICount: 273
    argCount: 2
    argNames:
    - argc_p
    - argv_p
    argTypes:
    - gint*
    - gchar***
    constantsTouched: []
    func_position:
      end: 1439
      start: 1182
    functionDepth: 0
    functionLinenumber: 1182
    functionLinenumberEnd: 1439
    functionName: parse_args
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - printf
    - g_ascii_strtoull
    - g_slist_reverse
    - g_log_set_always_fatal
    - strcmp
    - strncmp
    - g_get_current_dir
    - g_error
    - g_test_disable_crash_reporting
    - g_slist_prepend
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void parse_args (gint *argc_p, gchar ***argv_p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WIFEXITED
      Src: /src/glib/glib/gtestutils.c:4228,1
    - Dst: WEXITSTATUS
      Src: /src/glib/glib/gtestutils.c:4229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4233
      start: 4224
    functionDepth: 0
    functionLinenumber: 4224
    functionLinenumberEnd: 4233
    functionName: g_test_trap_has_passed
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - WIFEXITED
    - WEXITSTATUS
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_test_trap_has_passed (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/glib/glib/gtestutils.c:4458,1
    - Dst: GUINT64_FROM_BE
      Src: /src/glib/glib/gtestutils.c:4460,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ipointer
    argTypes:
    - gchar**
    constantsTouched: []
    func_position:
      end: 4462
      start: 4453
    functionDepth: 0
    functionLinenumber: 4453
    functionLinenumberEnd: 4462
    functionName: net_double
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - GUINT64_FROM_BE
    - memcpy
    linkageType: ''
    returnType: long double
    signature: 'static inline long double net_double (const gchar **ipointer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/glib/glib/gtestutils.c:4468,1
    - Dst: g_ntohl
      Src: /src/glib/glib/gtestutils.c:4470,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ipointer
    argTypes:
    - gchar**
    constantsTouched: []
    func_position:
      end: 4471
      start: 4464
    functionDepth: 0
    functionLinenumber: 4464
    functionLinenumberEnd: 4471
    functionName: net_int
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_ntohl
    linkageType: ''
    returnType: guint32
    signature: 'static inline guint32 net_int (const gchar **ipointer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/gtestutils.c:2013,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gtestutils.c:2015,1
    - Dst: g_rand_double
      Src: /src/glib/glib/gtestutils.c:2014,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2018
      start: 2008
    functionDepth: 0
    functionLinenumber: 2008
    functionLinenumberEnd: 2018
    functionName: g_test_rand_double
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - g_rand_double
    - G_LOCK
    linkageType: ''
    returnType: double
    signature: 'double g_test_rand_double (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:2648,1
    - Dst: g_strdup
      Src: /src/glib/glib/gtestutils.c:2649,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - msg
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 2650
      start: 2644
    functionDepth: 0
    functionLinenumber: 2644
    functionLinenumberEnd: 2650
    functionName: g_test_incomplete
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_test_incomplete (const gchar *msg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtestutils.c:3031,1
    - Dst: g_slice_new0
      Src: /src/glib/glib/gtestutils.c:3033,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - destroy_func
    - destroy_data
    argTypes:
    - GDestroyNotify
    - gpointer
    constantsTouched: []
    func_position:
      end: 3038
      start: 3025
    functionDepth: 0
    functionLinenumber: 3025
    functionLinenumberEnd: 3038
    functionName: g_test_queue_destroy
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_slice_new0
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_test_queue_destroy (GDestroyNotify destroy_func, gpointer destroy_data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gtestutils.c:3513,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gtestutils.c:3523,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gtestutils.c:3528,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gtestutils.c:3518,1
    - Dst: g_assertion_message
      Src: /src/glib/glib/gtestutils.c:3530,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:3531,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 11
    argCount: 9
    argNames:
    - domain
    - file
    - line
    - func
    - expr
    - arg1
    - cmp
    - arg2
    - numtype
    argTypes:
    - char*
    - char*
    - int
    - char*
    - char*
    - guint64
    - char*
    - guint64
    - char
    constantsTouched: []
    func_position:
      end: 3532
      start: 3497
    functionDepth: 0
    functionLinenumber: 3497
    functionLinenumberEnd: 3532
    functionName: g_assertion_message_cmpint
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_assertion_message
    - g_strdup_printf
    - g_free
    - g_assert_not_reached
    linkageType: ''
    returnType: void
    signature: 'void g_assertion_message_cmpint (const char *domain, const char *file,
      int line, const char *func, const char *expr, guint64 arg1, const char *cmp,
      guint64 arg2, char numtype) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/glib/glib/gtestutils.c:3051,1
    - Dst: strlen
      Src: /src/glib/glib/gtestutils.c:3051,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/gtestutils.c:3053,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 3054
      start: 3040
    functionDepth: 0
    functionLinenumber: 3040
    functionLinenumberEnd: 3054
    functionName: test_has_prefix
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - strncmp
    - g_strcmp0
    - strlen
    linkageType: ''
    returnType: gint
    signature: 'static gint test_has_prefix (gconstpointer a, gconstpointer b) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gtestutils.c:3549,1
    - Dst: g_assertion_message
      Src: /src/glib/glib/gtestutils.c:3560,1
    - Dst: g_assertion_message_cmpint
      Src: /src/glib/glib/gtestutils.c:3554,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gtestutils.c:3558,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:3561,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 8
    argCount: 9
    argNames:
    - domain
    - file
    - line
    - func
    - expr
    - arg1
    - cmp
    - arg2
    - numtype
    argTypes:
    - char*
    - char*
    - int
    - char*
    - char*
    - long double
    - char*
    - long double
    - char
    constantsTouched: []
    func_position:
      end: 3562
      start: 3534
    functionDepth: 0
    functionLinenumber: 3534
    functionLinenumberEnd: 3562
    functionName: g_assertion_message_cmpnum
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_assertion_message_cmpint
    - g_assertion_message
    - g_assert_not_reached
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_assertion_message_cmpnum (const char *domain, const char *file,
      int line, const char *func, const char *expr, long double arg1, const char *cmp,
      long double arg2, char numtype) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/gtestutils.c:1990,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/gtestutils.c:1992,1
    - Dst: g_rand_int_range
      Src: /src/glib/glib/gtestutils.c:1991,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - gint32
    - gint32
    constantsTouched: []
    func_position:
      end: 1995
      start: 1984
    functionDepth: 0
    functionLinenumber: 1984
    functionLinenumberEnd: 1995
    functionName: g_test_rand_int_range
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - g_rand_int_range
    - G_LOCK
    linkageType: ''
    returnType: gint32
    signature: 'gint32 g_test_rand_int_range (gint32 begin, gint32 end) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: atexit
      Src: /src/glib/glib/gtestutils.c:2370,1
    - Dst: g_test_run_suite
      Src: /src/glib/glib/gtestutils.c:2378,1
    - Dst: g_strerror
      Src: /src/glib/glib/gtestutils.c:2374,1
    - Dst: g_error
      Src: /src/glib/glib/gtestutils.c:2373,1
    - Dst: g_test_get_root
      Src: /src/glib/glib/gtestutils.c:2377,1
    - Dst: rm_rf
      Src: /src/glib/glib/gtestutils.c:2387,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:2388,1
    - Dst: g_test_suite_free
      Src: /src/glib/glib/gtestutils.c:2412,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2414
      start: 2364
    functionDepth: 0
    functionLinenumber: 2364
    functionLinenumberEnd: 2414
    functionName: g_test_run
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - atexit
    - g_test_get_root
    - g_test_run_suite
    - g_strerror
    - g_test_suite_free
    - g_error
    - g_free
    - rm_rf
    linkageType: ''
    returnType: int
    signature: 'int g_test_run (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gtestutils.c:2672,1
    - Dst: va_end
      Src: /src/glib/glib/gtestutils.c:2675,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:2673,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/glib/gtestutils.c:2674,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - format
    - '...'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2676
      start: 2665
    functionDepth: 0
    functionLinenumber: 2665
    functionLinenumberEnd: 2676
    functionName: g_test_incomplete_printf
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_strdup_vprintf
    - g_free
    - va_start
    - va_end
    linkageType: ''
    returnType: void
    signature: 'void g_test_incomplete_printf (const char *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gtestutils.c:2177,1
    - Dst: va_end
      Src: /src/glib/glib/gtestutils.c:2179,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/glib/gtestutils.c:2178,1
    - Dst: g_test_log
      Src: /src/glib/glib/gtestutils.c:2181,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:2182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - format
    - '...'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2183
      start: 2170
    functionDepth: 0
    functionLinenumber: 2170
    functionLinenumberEnd: 2183
    functionName: g_test_message
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_strdup_vprintf
    - va_end
    - g_test_log
    - g_free
    - va_start
    linkageType: ''
    returnType: void
    signature: 'void g_test_message (const char *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gtestutils.c:2620,1
    - Dst: va_end
      Src: /src/glib/glib/gtestutils.c:2623,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/glib/gtestutils.c:2622,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:2621,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - format
    - '...'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2624
      start: 2613
    functionDepth: 0
    functionLinenumber: 2613
    functionLinenumberEnd: 2624
    functionName: g_test_fail_printf
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_strdup_vprintf
    - g_free
    - va_start
    - va_end
    linkageType: ''
    returnType: void
    signature: 'void g_test_fail_printf (const char *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gtestutils.c:3676,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gtestutils.c:3678,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gtestutils.c:3677,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3679
      start: 3671
    functionDepth: 0
    functionLinenumber: 3671
    functionLinenumberEnd: 3679
    functionName: test_trap_clear
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    linkageType: ''
    returnType: void
    signature: 'static void test_trap_clear (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gtestutils.c:4574,1
    - Dst: g_slist_delete_link
      Src: /src/glib/glib/gtestutils.c:4579,1
    - Dst: g_slist_last
      Src: /src/glib/glib/gtestutils.c:4577,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4582
      start: 4570
    functionDepth: 0
    functionLinenumber: 4570
    functionLinenumberEnd: 4582
    functionName: g_test_log_buffer_pop
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_slist_last
    - g_return_val_if_fail
    - g_slist_delete_link
    linkageType: ''
    returnType: GTestLogMsg*
    signature: 'GTestLogMsg *g_test_log_buffer_pop (GTestLogBuffer *tbuffer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_quit
      Src: /src/glib/glib/gtestutils.c:3714,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - WaitForChildData*
    constantsTouched: []
    func_position:
      end: 3715
      start: 3710
    functionDepth: 0
    functionLinenumber: 3710
    functionLinenumberEnd: 3715
    functionName: check_complete
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    linkageType: ''
    returnType: void
    signature: 'static void check_complete (WaitForChildData *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_dir_open
      Src: /src/glib/glib/gtestutils.c:1503,1
    - Dst: g_dir_read_name
      Src: /src/glib/glib/gtestutils.c:1511,1
    - Dst: g_remove
      Src: /src/glib/glib/gtestutils.c:1507,1
    - Dst: rm_rf
      Src: /src/glib/glib/gtestutils.c:1514,1
    - Dst: g_build_filename
      Src: /src/glib/glib/gtestutils.c:1513,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:1515,1
    - Dst: g_dir_close
      Src: /src/glib/glib/gtestutils.c:1518,1
    - Dst: g_rmdir
      Src: /src/glib/glib/gtestutils.c:1520,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - path
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1521
      start: 1497
    functionDepth: 0
    functionLinenumber: 1497
    functionLinenumberEnd: 1521
    functionName: rm_rf
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_dir_open
    - g_dir_read_name
    - g_build_filename
    - g_remove
    - g_rmdir
    - g_free
    - g_dir_close
    - rm_rf
    linkageType: ''
    returnType: void
    signature: 'static void rm_rf (const gchar *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_pointer
      Src: /src/glib/glib/gtestutils.c:2597,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2598
      start: 2593
    functionDepth: 0
    functionLinenumber: 2593
    functionLinenumberEnd: 2598
    functionName: g_test_fail
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    linkageType: ''
    returnType: void
    signature: 'void g_test_fail (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_print_handler_full
      Src: /src/glib/glib/gtestutils.c:846,1
    - Dst: is_subtest
      Src: /src/glib/glib/gtestutils.c:846,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 847
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 847
    functionName: g_test_print_handler
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - is_subtest
    - g_test_print_handler_full
    linkageType: ''
    returnType: void
    signature: 'static void g_test_print_handler (const gchar *string) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_create_suite
      Src: /src/glib/glib/gtestutils.c:2313,1
    - Dst: g_strdup
      Src: /src/glib/glib/gtestutils.c:2315,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:2314,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2319
      start: 2308
    functionDepth: 0
    functionLinenumber: 2308
    functionLinenumberEnd: 2319
    functionName: g_test_get_root
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_test_create_suite
    - g_strdup
    - g_free
    linkageType: ''
    returnType: GTestSuite*
    signature: 'GTestSuite *g_test_get_root (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_htonl
      Src: /src/glib/glib/gtestutils.c:4405,1
    - Dst: g_string_overwrite_len
      Src: /src/glib/glib/gtestutils.c:4406,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - gstring
    - pos
    - vuint
    argTypes:
    - GString*
    - guint
    - guint32
    constantsTouched: []
    func_position:
      end: 4407
      start: 4400
    functionDepth: 0
    functionLinenumber: 4400
    functionLinenumberEnd: 4407
    functionName: gstring_overwrite_int
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_string_overwrite_len
    - g_htonl
    linkageType: ''
    returnType: void
    signature: 'static void gstring_overwrite_int (GString *gstring, guint pos, guint32
      vuint) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gtestutils.c:858,1
    - Dst: g_test_print_handler_full
      Src: /src/glib/glib/gtestutils.c:862,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:863,1
    - Dst: va_end
      Src: /src/glib/glib/gtestutils.c:860,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/glib/gtestutils.c:859,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - subtest_level
    - commented
    - format
    - '...'
    argTypes:
    - unsigned
    - gboolean
    - char*
    constantsTouched: []
    func_position:
      end: 864
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 864
    functionName: g_test_tap_print
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_strdup_vprintf
    - g_test_print_handler_full
    - va_end
    - g_free
    - va_start
    linkageType: ''
    returnType: void
    signature: 'static void g_test_tap_print (unsigned subtest_level, gboolean commented,
      const char *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_htonl
      Src: /src/glib/glib/gtestutils.c:4413,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gtestutils.c:4414,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - gstring
    - vuint
    argTypes:
    - GString*
    - guint32
    constantsTouched: []
    func_position:
      end: 4415
      start: 4409
    functionDepth: 0
    functionLinenumber: 4409
    functionLinenumberEnd: 4415
    functionName: gstring_append_int
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_htonl
    - g_string_append_len
    linkageType: ''
    returnType: void
    signature: 'static void gstring_append_int (GString *gstring, guint32 vuint) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:2209,1
    - Dst: g_strdup
      Src: /src/glib/glib/gtestutils.c:2210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - uri_pattern
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2211
      start: 2206
    functionDepth: 0
    functionLinenumber: 2206
    functionLinenumberEnd: 2211
    functionName: g_test_bug_base
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_test_bug_base (const char *uri_pattern) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gtestutils.c:4592,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gtestutils.c:4593,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:4594,1
    - Dst: g_free
      Src: /src/glib/glib/gtestutils.c:4595,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - tmsg
    argTypes:
    - GTestLogMsg*
    constantsTouched: []
    func_position:
      end: 4596
      start: 4589
    functionDepth: 0
    functionLinenumber: 4589
    functionLinenumberEnd: 4596
    functionName: g_test_log_msg_free
    functionSourceFile: /src/glib/glib/gtestutils.c
    functionUses: []
    functionsReached:
    - g_strfreev
    - g_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_test_log_msg_free (GTestLogMsg *tmsg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_remove_link
      Src: /src/glib/glib/gmarkup.c:818,1
    - Dst: MAX
      Src: /src/glib/glib/gmarkup.c:823,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gmarkup.c:827,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gmarkup.c:823,1
    - Dst: free_list_node
      Src: /src/glib/glib/gmarkup.c:820,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - context
    - text_start
    - text_end
    argTypes:
    - GMarkupParseContext*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 829
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 829
    functionName: add_to_partial
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - g_string_append_len
    - g_slist_remove_link
    - MAX
    - free_list_node
    - g_string_sized_new
    linkageType: ''
    returnType: void
    signature: 'static void add_to_partial (GMarkupParseContext *context, const gchar
      *text_start, const gchar *text_end) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: possibly_finish_subparser
      Src: /src/glib/glib/gmarkup.c:2116,1
    - Dst: g_assert
      Src: /src/glib/glib/gmarkup.c:2118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMarkupParseContext*
    constantsTouched: []
    func_position:
      end: 2127
      start: 2110
    functionDepth: 0
    functionLinenumber: 2110
    functionLinenumberEnd: 2127
    functionName: g_markup_parse_context_pop
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - g_assert
    - possibly_finish_subparser
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_markup_parse_context_pop (GMarkupParseContext *context) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: APPEND_TEXT_AND_SEEK
      Src: /src/glib/glib/gmarkup.c:2166,1
    - Dst: APPEND_TEXT_AND_SEEK
      Src: /src/glib/glib/gmarkup.c:2176,1
    - Dst: g_string_append
      Src: /src/glib/glib/gmarkup.c:2167,1
    - Dst: g_string_append
      Src: /src/glib/glib/gmarkup.c:2172,1
    - Dst: APPEND_TEXT_AND_SEEK
      Src: /src/glib/glib/gmarkup.c:2171,1
    - Dst: g_string_append
      Src: /src/glib/glib/gmarkup.c:2177,1
    - Dst: APPEND_TEXT_AND_SEEK
      Src: /src/glib/glib/gmarkup.c:2181,1
    - Dst: g_string_append
      Src: /src/glib/glib/gmarkup.c:2182,1
    - Dst: APPEND_TEXT_AND_SEEK
      Src: /src/glib/glib/gmarkup.c:2186,1
    - Dst: g_string_append
      Src: /src/glib/glib/gmarkup.c:2187,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/gmarkup.c:2202,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gmarkup.c:2227,1
    - Dst: APPEND_TEXT_AND_SEEK
      Src: /src/glib/glib/gmarkup.c:2196,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gmarkup.c:2208,1
    - Dst: APPEND_TEXT_AND_SEEK
      Src: /src/glib/glib/gmarkup.c:2207,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/gmarkup.c:2197,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 53
    argCount: 3
    argNames:
    - str
    - text
    - length
    argTypes:
    - GString*
    - gchar*
    - gssize
    constantsTouched: []
    func_position:
      end: 2228
      start: 2148
    functionDepth: 0
    functionLinenumber: 2148
    functionLinenumberEnd: 2228
    functionName: append_escaped_text
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - g_string_append_len
    - g_string_append_printf
    - g_utf8_get_char
    - APPEND_TEXT_AND_SEEK
    - g_string_append
    linkageType: ''
    returnType: void
    signature: 'static void append_escaped_text (GString *str, const gchar *text,
      gssize length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gmarkup.c:2578,1
    - Dst: va_end
      Src: /src/glib/glib/gmarkup.c:2580,1
    - Dst: g_markup_vprintf_escaped
      Src: /src/glib/glib/gmarkup.c:2579,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2583
      start: 2572
    functionDepth: 0
    functionLinenumber: 2572
    functionLinenumberEnd: 2583
    functionName: g_markup_printf_escaped
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - va_start
    - g_markup_vprintf_escaped
    - va_end
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_markup_printf_escaped (const gchar *format, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_string_truncate
      Src: /src/glib/glib/gmarkup.c:835,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMarkupParseContext*
    constantsTouched: []
    func_position:
      end: 836
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 836
    functionName: truncate_partial
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - g_string_truncate
    linkageType: ''
    returnType: void
    signature: 'static inline void truncate_partial (GMarkupParseContext *context) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gmarkup.c:2593,1
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/glib/gmarkup.c:2606,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/gmarkup.c:2604,1
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/glib/gmarkup.c:2595,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - string
    - value
    argTypes:
    - char*
    - gboolean*
    constantsTouched: []
    func_position:
      end: 2616
      start: 2585
    functionDepth: 0
    functionLinenumber: 2585
    functionLinenumberEnd: 2616
    functionName: g_markup_parse_boolean
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - g_ascii_strcasecmp
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_markup_parse_boolean (const char *string, gboolean
      *value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmarkup.c:1914,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - context
    - line_number
    - char_number
    argTypes:
    - GMarkupParseContext*
    - gint*
    - gint*
    constantsTouched: []
    func_position:
      end: 1921
      start: 1909
    functionDepth: 0
    functionLinenumber: 1909
    functionLinenumberEnd: 1921
    functionName: g_markup_parse_context_get_position
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_markup_parse_context_get_position (GMarkupParseContext *context,
      gint *line_number, gint *char_number) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/glib/gmarkup.c:2075,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gmarkup.c:2084,1
    - Dst: current_element
      Src: /src/glib/glib/gmarkup.c:2080,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - context
    - parser
    - user_data
    argTypes:
    - GMarkupParseContext*
    - GMarkupParser*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2086
      start: 2068
    functionDepth: 0
    functionLinenumber: 2068
    functionLinenumberEnd: 2086
    functionName: g_markup_parse_context_push
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - g_slist_prepend
    - g_slice_new
    - current_element
    linkageType: ''
    returnType: void
    signature: 'void g_markup_parse_context_push (GMarkupParseContext *context, const
      GMarkupParser *parser, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMarkupParseContext*
    constantsTouched: []
    func_position:
      end: 1943
      start: 1939
    functionDepth: 0
    functionLinenumber: 1939
    functionLinenumberEnd: 1943
    functionName: g_markup_parse_context_get_user_data
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_markup_parse_context_get_user_data (GMarkupParseContext
      *context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmarkup.c:1894,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1896
      start: 1891
    functionDepth: 0
    functionLinenumber: 1891
    functionLinenumberEnd: 1896
    functionName: g_markup_parse_context_get_element_stack
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: GSList*
    signature: 'const GSList *g_markup_parse_context_get_element_stack (GMarkupParseContext
      *context) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_remove_link
      Src: /src/glib/glib/gmarkup.c:133,1
    - Dst: g_slist_alloc
      Src: /src/glib/glib/gmarkup.c:136,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 139
    functionName: get_list_node
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - g_slist_remove_link
    - g_slist_alloc
    linkageType: ''
    returnType: GSList*
    signature: 'static GSList *get_list_node (GMarkupParseContext *context, gpointer
      data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmarkup.c:252,1
    - Dst: g_markup_parse_context_free
      Src: /src/glib/glib/gmarkup.c:256,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmarkup.c:253,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/glib/gmarkup.c:255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMarkupParseContext*
    constantsTouched: []
    func_position:
      end: 257
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 257
    functionName: g_markup_parse_context_unref
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - g_markup_parse_context_free
    - g_atomic_int_dec_and_test
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_markup_parse_context_unref (GMarkupParseContext *context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gmarkup.c:364,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/glib/gmarkup.c:365,1
    - Dst: g_utf8_make_valid
      Src: /src/glib/glib/gmarkup.c:371,1
    - Dst: va_end
      Src: /src/glib/glib/gmarkup.c:366,1
    - Dst: set_error_literal
      Src: /src/glib/glib/gmarkup.c:372,1
    - Dst: g_free
      Src: /src/glib/glib/gmarkup.c:374,1
    - Dst: g_free
      Src: /src/glib/glib/gmarkup.c:375,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 4
    argNames:
    - context
    - error
    - code
    - format
    - '...'
    argTypes:
    - GMarkupParseContext*
    - GError**
    - GMarkupError
    - gchar*
    constantsTouched: []
    func_position:
      end: 376
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 376
    functionName: set_error
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - g_strdup_vprintf
    - set_error_literal
    - va_end
    - g_utf8_make_valid
    - g_free
    - va_start
    linkageType: ''
    returnType: void
    signature: 'static void set_error (GMarkupParseContext *context, GError **error,
      GMarkupError code, const gchar *format, ...) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gmarkup.c:454,1
    - Dst: IS_COMMON_NAME_END_CHAR
      Src: /src/glib/glib/gmarkup.c:454,1
    - Dst: g_ascii_isalnum
      Src: /src/glib/glib/gmarkup.c:463,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gmarkup.c:463,1
    - Dst: g_ascii_isalpha
      Src: /src/glib/glib/gmarkup.c:455,1
    - Dst: IS_COMMON_NAME_END_CHAR
      Src: /src/glib/glib/gmarkup.c:464,1
    - Dst: slow_name_validate
      Src: /src/glib/glib/gmarkup.c:478,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 31
    argCount: 3
    argNames:
    - context
    - name
    - error
    argTypes:
    - GMarkupParseContext*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 479
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 479
    functionName: name_validate
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - g_ascii_isalpha
    - g_ascii_isalnum
    - IS_COMMON_NAME_END_CHAR
    - slow_name_validate
    - G_UNLIKELY
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean name_validate (GMarkupParseContext *context, const
      gchar *name, GError **error) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/glib/glib/gmarkup.c:629,1
    - Dst: strncmp
      Src: /src/glib/glib/gmarkup.c:681,1
    - Dst: strncmp
      Src: /src/glib/glib/gmarkup.c:686,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:711,1
    - Dst: set_unescape_error
      Src: /src/glib/glib/gmarkup.c:709,1
    - Dst: strncmp
      Src: /src/glib/glib/gmarkup.c:691,1
    - Dst: char_str
      Src: /src/glib/glib/gmarkup.c:662,1
    - Dst: g_assert
      Src: /src/glib/glib/gmarkup.c:734,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:647,1
    - Dst: set_unescape_error
      Src: /src/glib/glib/gmarkup.c:645,1
    - Dst: strcpy
      Src: /src/glib/glib/gmarkup.c:663,1
    - Dst: strncmp
      Src: /src/glib/glib/gmarkup.c:701,1
    - Dst: strchr
      Src: /src/glib/glib/gmarkup.c:715,1
    - Dst: set_unescape_error
      Src: /src/glib/glib/gmarkup.c:717,1
    - Dst: strncmp
      Src: /src/glib/glib/gmarkup.c:696,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:719,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:635,1
    - Dst: set_unescape_error
      Src: /src/glib/glib/gmarkup.c:633,1
    - Dst: strlen
      Src: /src/glib/glib/gmarkup.c:664,1
    - Dst: set_unescape_error
      Src: /src/glib/glib/gmarkup.c:671,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:673,1
    - Dst: set_unescape_error
      Src: /src/glib/glib/gmarkup.c:722,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:724,1
    - Dst: g_string_truncate
      Src: /src/glib/glib/gmarkup.c:736,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 115
    argCount: 4
    argNames:
    - context
    - string
    - is_ascii
    - error
    argTypes:
    - GMarkupParseContext*
    - GString*
    - gboolean*
    - GError**
    constantsTouched: []
    func_position:
      end: 741
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 741
    functionName: unescape_gstring_inplace
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - strlen
    - g_assert
    - strcpy
    - set_unescape_error
    - strncmp
    - strchr
    - _
    - char_str
    - g_string_truncate
    - strtoul
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean unescape_gstring_inplace (GMarkupParseContext *context,
      GString *string, gboolean *is_ascii, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: current_element
      Src: /src/glib/glib/gmarkup.c:892,1
    - Dst: pop_subparser_stack
      Src: /src/glib/glib/gmarkup.c:893,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMarkupParseContext*
    constantsTouched: []
    func_position:
      end: 894
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 894
    functionName: possibly_finish_subparser
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - pop_subparser_stack
    - current_element
    linkageType: ''
    returnType: void
    signature: 'static void possibly_finish_subparser (GMarkupParseContext *context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gmarkup.c:914,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 916
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 916
    functionName: current_attribute
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - g_assert
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *current_attribute (GMarkupParseContext *context) '
  - BBCount: 68
    BranchProfiles: []
    Callsites:
    - Dst: name_validate
      Src: /src/glib/glib/gmarkup.c:1283,1
    - Dst: current_element
      Src: /src/glib/glib/gmarkup.c:1292,1
    - Dst: advance_char
      Src: /src/glib/glib/gmarkup.c:1337,1
    - Dst: text_validate
      Src: /src/glib/glib/gmarkup.c:1450,1
    - Dst: utf8_str
      Src: /src/glib/glib/gmarkup.c:1358,1
    - Dst: current_element
      Src: /src/glib/glib/gmarkup.c:1316,1
    - Dst: unescape_gstring_inplace
      Src: /src/glib/glib/gmarkup.c:1487,1
    - Dst: IS_COMMON_NAME_END_CHAR
      Src: /src/glib/glib/gmarkup.c:1518,1
    - Dst: add_to_partial
      Src: /src/glib/glib/gmarkup.c:1545,1
    - Dst: skip_spaces
      Src: /src/glib/glib/gmarkup.c:1375,1
    - Dst: skip_spaces
      Src: /src/glib/glib/gmarkup.c:1116,1
    - Dst: IS_COMMON_NAME_END_CHAR
      Src: /src/glib/glib/gmarkup.c:1164,1
    - Dst: set_error
      Src: /src/glib/glib/gmarkup.c:1218,1
    - Dst: truncate_partial
      Src: /src/glib/glib/gmarkup.c:1461,1
    - Dst: advance_char
      Src: /src/glib/glib/gmarkup.c:1640,1
    - Dst: add_to_partial
      Src: /src/glib/glib/gmarkup.c:1647,1
    - Dst: current_attribute
      Src: /src/glib/glib/gmarkup.c:1315,1
    - Dst: set_error
      Src: /src/glib/glib/gmarkup.c:1350,1
    - Dst: advance_char
      Src: /src/glib/glib/gmarkup.c:1123,1
    - Dst: advance_char
      Src: /src/glib/glib/gmarkup.c:1160,1
    - Dst: add_to_partial
      Src: /src/glib/glib/gmarkup.c:1263,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:1291,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:1353,1
    - Dst: skip_spaces
      Src: /src/glib/glib/gmarkup.c:1326,1
    - Dst: skip_spaces
      Src: /src/glib/glib/gmarkup.c:1554,1
    - Dst: utf8_str
      Src: /src/glib/glib/gmarkup.c:1573,1
    - Dst: add_to_partial
      Src: /src/glib/glib/gmarkup.c:1659,1
    - Dst: unescape_gstring_inplace
      Src: /src/glib/glib/gmarkup.c:1449,1
    - Dst: advance_char
      Src: /src/glib/glib/gmarkup.c:1210,1
    - Dst: truncate_partial
      Src: /src/glib/glib/gmarkup.c:1512,1
    - Dst: set_error
      Src: /src/glib/glib/gmarkup.c:1579,1
    - Dst: text_validate
      Src: /src/glib/glib/gmarkup.c:1676,1
    - Dst: set_error
      Src: /src/glib/glib/gmarkup.c:1288,1
    - Dst: set_error
      Src: /src/glib/glib/gmarkup.c:1308,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:1311,1
    - Dst: add_to_partial
      Src: /src/glib/glib/gmarkup.c:1445,1
    - Dst: utf8_str
      Src: /src/glib/glib/gmarkup.c:1313,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:1570,1
    - Dst: current_element
      Src: /src/glib/glib/gmarkup.c:1594,1
    - Dst: strncmp
      Src: /src/glib/glib/gmarkup.c:1632,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmarkup.c:1089,1
    - Dst: push_partial_as_tag
      Src: /src/glib/glib/gmarkup.c:1252,1
    - Dst: current_element
      Src: /src/glib/glib/gmarkup.c:1586,1
    - Dst: strncmp
      Src: /src/glib/glib/gmarkup.c:1662,1
    - Dst: utf8_str
      Src: /src/glib/glib/gmarkup.c:1535,1
    - Dst: advance_char
      Src: /src/glib/glib/gmarkup.c:1456,1
    - Dst: add_to_partial
      Src: /src/glib/glib/gmarkup.c:1244,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:1532,1
    - Dst: utf8_str
      Src: /src/glib/glib/gmarkup.c:1537,1
    - Dst: emit_start_element
      Src: /src/glib/glib/gmarkup.c:1368,1
    - Dst: add_to_partial
      Src: /src/glib/glib/gmarkup.c:1436,1
    - Dst: strlen
      Src: /src/glib/glib/gmarkup.c:1092,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:1138,1
    - Dst: skip_spaces
      Src: /src/glib/glib/gmarkup.c:1276,1
    - Dst: add_to_partial
      Src: /src/glib/glib/gmarkup.c:1621,1
    - Dst: strcmp
      Src: /src/glib/glib/gmarkup.c:1630,1
    - Dst: text_validate
      Src: /src/glib/glib/gmarkup.c:1665,1
    - Dst: propagate_error
      Src: /src/glib/glib/gmarkup.c:1694,1
    - Dst: g_assert
      Src: /src/glib/glib/gmarkup.c:1113,1
    - Dst: utf8_str
      Src: /src/glib/glib/gmarkup.c:1181,1
    - Dst: add_to_partial
      Src: /src/glib/glib/gmarkup.c:1478,1
    - Dst: advance_char
      Src: /src/glib/glib/gmarkup.c:1381,1
    - Dst: advance_to_name_end
      Src: /src/glib/glib/gmarkup.c:1544,1
    - Dst: set_error
      Src: /src/glib/glib/gmarkup.c:1588,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gmarkup.c:1703,1
    - Dst: advance_char
      Src: /src/glib/glib/gmarkup.c:1472,1
    - Dst: propagate_error
      Src: /src/glib/glib/gmarkup.c:1509,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmarkup.c:1088,1
    - Dst: advance_char
      Src: /src/glib/glib/gmarkup.c:1332,1
    - Dst: g_assert
      Src: /src/glib/glib/gmarkup.c:1447,1
    - Dst: advance_char
      Src: /src/glib/glib/gmarkup.c:1387,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:1178,1
    - Dst: add_to_partial
      Src: /src/glib/glib/gmarkup.c:1152,1
    - Dst: emit_end_element
      Src: /src/glib/glib/gmarkup.c:1212,1
    - Dst: advance_to_name_end
      Src: /src/glib/glib/gmarkup.c:1262,1
    - Dst: set_error
      Src: /src/glib/glib/gmarkup.c:1529,1
    - Dst: set_error
      Src: /src/glib/glib/gmarkup.c:1567,1
    - Dst: emit_end_element
      Src: /src/glib/glib/gmarkup.c:1602,1
    - Dst: strncmp
      Src: /src/glib/glib/gmarkup.c:1635,1
    - Dst: set_error_literal
      Src: /src/glib/glib/gmarkup.c:1135,1
    - Dst: current_element
      Src: /src/glib/glib/gmarkup.c:1404,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:1582,1
    - Dst: advance_char
      Src: /src/glib/glib/gmarkup.c:1658,1
    - Dst: truncate_partial
      Src: /src/glib/glib/gmarkup.c:1686,1
    - Dst: set_error
      Src: /src/glib/glib/gmarkup.c:1175,1
    - Dst: add_to_partial
      Src: /src/glib/glib/gmarkup.c:1251,1
    - Dst: add_attribute
      Src: /src/glib/glib/gmarkup.c:1286,1
    - Dst: advance_char
      Src: /src/glib/glib/gmarkup.c:1503,1
    - Dst: strcmp
      Src: /src/glib/glib/gmarkup.c:1586,1
    - Dst: current_attribute
      Src: /src/glib/glib/gmarkup.c:1403,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmarkup.c:1087,1
    - Dst: current_element
      Src: /src/glib/glib/gmarkup.c:1225,1
    - Dst: advance_char
      Src: /src/glib/glib/gmarkup.c:1301,1
    - Dst: text_validate
      Src: /src/glib/glib/gmarkup.c:1488,1
    - Dst: advance_char
      Src: /src/glib/glib/gmarkup.c:1429,1
    - Dst: strcmp
      Src: /src/glib/glib/gmarkup.c:1633,1
    - Dst: current_element
      Src: /src/glib/glib/gmarkup.c:1360,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmarkup.c:1086,1
    - Dst: advance_char
      Src: /src/glib/glib/gmarkup.c:1598,1
    - Dst: strncmp
      Src: /src/glib/glib/gmarkup.c:1629,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:1398,1
    - Dst: utf8_str
      Src: /src/glib/glib/gmarkup.c:1401,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:1221,1
    - Dst: utf8_str
      Src: /src/glib/glib/gmarkup.c:1223,1
    - Dst: advance_to_name_end
      Src: /src/glib/glib/gmarkup.c:1237,1
    - Dst: IS_COMMON_NAME_END_CHAR
      Src: /src/glib/glib/gmarkup.c:1340,1
    - Dst: set_error
      Src: /src/glib/glib/gmarkup.c:1395,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:1591,1
    - Dst: truncate_partial
      Src: /src/glib/glib/gmarkup.c:1605,1
    CyclomaticComplexity: 96
    EdgeCount: 96
    ICount: 313
    argCount: 4
    argNames:
    - context
    - text
    - text_len
    - error
    argTypes:
    - GMarkupParseContext*
    - gchar*
    - gssize
    - GError**
    constantsTouched: []
    func_position:
      end: 1712
      start: 1080
    functionDepth: 0
    functionLinenumber: 1080
    functionLinenumberEnd: 1712
    functionName: g_markup_parse_context_parse
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - advance_char
    - strcmp
    - emit_end_element
    - push_partial_as_tag
    - unescape_gstring_inplace
    - propagate_error
    - set_error
    - IS_COMMON_NAME_END_CHAR
    - set_error_literal
    - truncate_partial
    - current_element
    - text_validate
    - skip_spaces
    - current_attribute
    - strlen
    - g_assert_not_reached
    - name_validate
    - add_to_partial
    - _
    - emit_start_element
    - utf8_str
    - g_return_val_if_fail
    - advance_to_name_end
    - g_assert
    - strncmp
    - add_attribute
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_markup_parse_context_parse (GMarkupParseContext *context,
      const gchar *text, gssize text_len, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_concat
      Src: /src/glib/glib/gmarkup.c:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - context
    - node
    argTypes:
    - GMarkupParseContext*
    - GSList*
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: free_list_node
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - g_slist_concat
    linkageType: ''
    returnType: void
    signature: 'static void free_list_node (GMarkupParseContext *context, GSList *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_free
      Src: /src/glib/glib/gmarkup.c:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 263
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 263
    functionName: string_full_free
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - g_string_free
    linkageType: ''
    returnType: void
    signature: 'static void string_full_free (gpointer ptr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pop_subparser_stack
      Src: /src/glib/glib/gmarkup.c:317,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - context
    - error
    argTypes:
    - GMarkupParseContext*
    - GError*
    constantsTouched: []
    func_position:
      end: 323
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 323
    functionName: mark_error
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - pop_subparser_stack
    linkageType: ''
    returnType: void
    signature: 'static void mark_error (GMarkupParseContext *context, GError *error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_prefix_error
      Src: /src/glib/glib/gmarkup.c:384,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gmarkup.c:391,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:385,1
    - Dst: mark_error
      Src: /src/glib/glib/gmarkup.c:389,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - context
    - dest
    - src
    argTypes:
    - GMarkupParseContext*
    - GError**
    - GError*
    constantsTouched: []
    func_position:
      end: 392
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 392
    functionName: propagate_error
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - g_prefix_error
    - mark_error
    - g_propagate_error
    - _
    linkageType: ''
    returnType: void
    signature: 'static void propagate_error (GMarkupParseContext *context, GError
      **dest, GError *src) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_validate_len
      Src: /src/glib/glib/gmarkup.c:487,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:490,1
    - Dst: set_error
      Src: /src/glib/glib/gmarkup.c:489,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - context
    - p
    - len
    - error
    argTypes:
    - GMarkupParseContext*
    - gchar*
    - gint
    - GError**
    constantsTouched: []
    func_position:
      end: 495
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 495
    functionName: text_validate
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - _
    - g_utf8_validate_len
    - set_error
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean text_validate (GMarkupParseContext *context, const
      gchar *p, gint len, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gmarkup.c:552,1
    - Dst: g_error_new
      Src: /src/glib/glib/gmarkup.c:556,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:558,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/glib/gmarkup.c:553,1
    - Dst: va_end
      Src: /src/glib/glib/gmarkup.c:554,1
    - Dst: g_free
      Src: /src/glib/glib/gmarkup.c:562,1
    - Dst: mark_error
      Src: /src/glib/glib/gmarkup.c:564,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gmarkup.c:566,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 5
    argNames:
    - context
    - error
    - remaining_text
    - code
    - format
    - '...'
    argTypes:
    - GMarkupParseContext*
    - GError**
    - gchar*
    - GMarkupError
    - gchar*
    constantsTouched: []
    func_position:
      end: 567
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 567
    functionName: set_unescape_error
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - g_strdup_vprintf
    - g_propagate_error
    - mark_error
    - g_error_new
    - va_end
    - _
    - g_free
    - va_start
    linkageType: ''
    returnType: void
    signature: 'static void set_unescape_error (GMarkupParseContext *context, GError
      **error, const gchar *remaining_text, GMarkupError code, const gchar *format,
      ...) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gmarkup.c:749,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/gmarkup.c:752,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMarkupParseContext*
    constantsTouched: []
    func_position:
      end: 759
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 759
    functionName: advance_char
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - G_UNLIKELY
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean advance_char (GMarkupParseContext *context) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_critical
      Src: /src/glib/glib/gmarkup.c:900,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMarkupParseContext*
    constantsTouched: []
    func_position:
      end: 909
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 909
    functionName: ensure_no_outstanding_subparser
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - g_critical
    linkageType: ''
    returnType: void
    signature: 'static void ensure_no_outstanding_subparser (GMarkupParseContext *context) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_realloc
      Src: /src/glib/glib/gmarkup.c:928,1
    - Dst: g_realloc
      Src: /src/glib/glib/gmarkup.c:929,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - context
    - str
    argTypes:
    - GMarkupParseContext*
    - GString*
    constantsTouched: []
    func_position:
      end: 938
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 938
    functionName: add_attribute
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - g_realloc
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean add_attribute (GMarkupParseContext *context, GString
      *str) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gmarkup.c:1030,1
    - Dst: g_markup_parse_context_pop
      Src: /src/glib/glib/gmarkup.c:1037,1
    - Dst: possibly_finish_subparser
      Src: /src/glib/glib/gmarkup.c:1032,1
    - Dst: current_element
      Src: /src/glib/glib/gmarkup.c:1035,1
    - Dst: strchr
      Src: /src/glib/glib/gmarkup.c:1035,1
    - Dst: pop_tag
      Src: /src/glib/glib/gmarkup.c:1038,1
    - Dst: current_element
      Src: /src/glib/glib/gmarkup.c:1045,1
    - Dst: ensure_no_outstanding_subparser
      Src: /src/glib/glib/gmarkup.c:1049,1
    - Dst: mark_error
      Src: /src/glib/glib/gmarkup.c:1053,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gmarkup.c:1054,1
    - Dst: pop_tag
      Src: /src/glib/glib/gmarkup.c:1057,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - context
    - error
    argTypes:
    - GMarkupParseContext*
    - GError**
    constantsTouched: []
    func_position:
      end: 1058
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1058
    functionName: emit_end_element
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - ensure_no_outstanding_subparser
    - g_propagate_error
    - g_assert
    - g_markup_parse_context_pop
    - mark_error
    - strchr
    - pop_tag
    - current_element
    - possibly_finish_subparser
    linkageType: ''
    returnType: void
    signature: 'static void emit_end_element (GMarkupParseContext *context, GError
      **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmarkup.c:1863,1
    - Dst: current_element
      Src: /src/glib/glib/gmarkup.c:1868,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1869
      start: 1860
    functionDepth: 0
    functionLinenumber: 1860
    functionLinenumberEnd: 1869
    functionName: g_markup_parse_context_get_element
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - current_element
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_markup_parse_context_get_element (GMarkupParseContext
      *context) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmarkup.c:279,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmarkup.c:282,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmarkup.c:280,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/gmarkup.c:281,1
    - Dst: clear_attributes
      Src: /src/glib/glib/gmarkup.c:287,1
    - Dst: g_free
      Src: /src/glib/glib/gmarkup.c:288,1
    - Dst: g_free
      Src: /src/glib/glib/gmarkup.c:289,1
    - Dst: g_slist_free_full
      Src: /src/glib/glib/gmarkup.c:291,1
    - Dst: g_slist_free
      Src: /src/glib/glib/gmarkup.c:292,1
    - Dst: g_slist_free
      Src: /src/glib/glib/gmarkup.c:295,1
    - Dst: g_slist_free_full
      Src: /src/glib/glib/gmarkup.c:294,1
    - Dst: g_string_free
      Src: /src/glib/glib/gmarkup.c:298,1
    - Dst: g_free
      Src: /src/glib/glib/gmarkup.c:300,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMarkupParseContext*
    constantsTouched: []
    func_position:
      end: 301
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 301
    functionName: g_markup_parse_context_free
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - clear_attributes
    - g_return_if_fail
    - g_string_free
    - g_slist_free
    - g_slist_free_full
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_markup_parse_context_free (GMarkupParseContext *context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_GNUC_PRINTF
      Src: /src/glib/glib/gmarkup.c:330,1
    - Dst: g_prefix_error
      Src: /src/glib/glib/gmarkup.c:342,1
    - Dst: g_error_new_literal
      Src: /src/glib/glib/gmarkup.c:340,1
    - Dst: mark_error
      Src: /src/glib/glib/gmarkup.c:347,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:343,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gmarkup.c:349,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 8
    argCount: 4
    argNames:
    - context
    - error
    - code
    - message
    argTypes:
    - GMarkupParseContext*
    - GError**
    - GMarkupError
    - gchar*
    constantsTouched: []
    func_position:
      end: 350
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 350
    functionName: set_error
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_error_new_literal
    - g_prefix_error
    - mark_error
    - _
    - G_GNUC_PRINTF
    linkageType: ''
    returnType: void
    signature: 'static void set_error (GMarkupParseContext *context, GError **error,
      GMarkupError code, const gchar *format, ...) G_GNUC_PRINTF (4, 5);static voidset_error_literal
      (GMarkupParseContext *context, GError **error, GMarkupError code, const gchar
      *message) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_COMMON_NAME_END_CHAR
      Src: /src/glib/glib/gmarkup.c:783,1
    - Dst: xml_isspace
      Src: /src/glib/glib/gmarkup.c:785,1
    - Dst: advance_char
      Src: /src/glib/glib/gmarkup.c:788,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMarkupParseContext*
    constantsTouched: []
    func_position:
      end: 789
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 789
    functionName: advance_to_name_end
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - xml_isspace
    - advance_char
    - IS_COMMON_NAME_END_CHAR
    linkageType: ''
    returnType: void
    signature: 'static void advance_to_name_end (GMarkupParseContext *context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 842
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 842
    functionName: current_element
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: 'static inline const gchar *current_element (GMarkupParseContext *context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_concat
      Src: /src/glib/glib/gmarkup.c:870,1
    - Dst: get_list_node
      Src: /src/glib/glib/gmarkup.c:870,1
    - Dst: g_slist_concat
      Src: /src/glib/glib/gmarkup.c:871,1
    - Dst: get_list_node
      Src: /src/glib/glib/gmarkup.c:871,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMarkupParseContext*
    constantsTouched: []
    func_position:
      end: 873
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 873
    functionName: push_partial_as_tag
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - get_list_node
    - g_slist_concat
    linkageType: ''
    returnType: void
    signature: 'static void push_partial_as_tag (GMarkupParseContext *context) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:1766,1
    - Dst: set_error
      Src: /src/glib/glib/gmarkup.c:1773,1
    - Dst: current_element
      Src: /src/glib/glib/gmarkup.c:1775,1
    - Dst: g_assert
      Src: /src/glib/glib/gmarkup.c:1809,1
    - Dst: g_string_free
      Src: /src/glib/glib/gmarkup.c:1737,1
    - Dst: set_error_literal
      Src: /src/glib/glib/gmarkup.c:1757,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:1758,1
    - Dst: set_error_literal
      Src: /src/glib/glib/gmarkup.c:1790,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:1791,1
    - Dst: set_error_literal
      Src: /src/glib/glib/gmarkup.c:1796,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:1797,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:1811,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:1821,1
    - Dst: set_error
      Src: /src/glib/glib/gmarkup.c:1824,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:1831,1
    - Dst: set_error_literal
      Src: /src/glib/glib/gmarkup.c:1830,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmarkup.c:1733,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmarkup.c:1732,1
    - Dst: set_error
      Src: /src/glib/glib/gmarkup.c:1765,1
    - Dst: set_error_literal
      Src: /src/glib/glib/gmarkup.c:1779,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:1780,1
    - Dst: current_element
      Src: /src/glib/glib/gmarkup.c:1768,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:1774,1
    - Dst: set_error_literal
      Src: /src/glib/glib/gmarkup.c:1803,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:1804,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gmarkup.c:1837,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:1825,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmarkup.c:1731,1
    - Dst: set_error_literal
      Src: /src/glib/glib/gmarkup.c:1743,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:1744,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:1786,1
    - Dst: set_error_literal
      Src: /src/glib/glib/gmarkup.c:1785,1
    - Dst: set_error
      Src: /src/glib/glib/gmarkup.c:1810,1
    - Dst: current_element
      Src: /src/glib/glib/gmarkup.c:1813,1
    - Dst: set_error
      Src: /src/glib/glib/gmarkup.c:1820,1
    - Dst: current_element
      Src: /src/glib/glib/gmarkup.c:1822,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 52
    argCount: 2
    argNames:
    - context
    - error
    argTypes:
    - GMarkupParseContext*
    - GError**
    constantsTouched: []
    func_position:
      end: 1844
      start: 1727
    functionDepth: 0
    functionLinenumber: 1727
    functionLinenumberEnd: 1844
    functionName: g_markup_parse_context_end_parse
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - set_error
    - g_return_val_if_fail
    - g_assert
    - g_assert_not_reached
    - g_string_free
    - set_error_literal
    - current_element
    - _
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_markup_parse_context_end_parse (GMarkupParseContext *context,
      GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_validate
      Src: /src/glib/glib/gmarkup.c:404,1
    - Dst: set_error
      Src: /src/glib/glib/gmarkup.c:406,1
    - Dst: IS_COMMON_NAME_END_CHAR
      Src: /src/glib/glib/gmarkup.c:412,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:407,1
    - Dst: g_ascii_isalpha
      Src: /src/glib/glib/gmarkup.c:411,1
    - Dst: g_unichar_isalpha
      Src: /src/glib/glib/gmarkup.c:415,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/gmarkup.c:415,1
    - Dst: set_error
      Src: /src/glib/glib/gmarkup.c:417,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:418,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gmarkup.c:422,1
    - Dst: g_ascii_isalnum
      Src: /src/glib/glib/gmarkup.c:425,1
    - Dst: set_error
      Src: /src/glib/glib/gmarkup.c:433,1
    - Dst: _
      Src: /src/glib/glib/gmarkup.c:434,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/gmarkup.c:431,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gmarkup.c:422,1
    - Dst: g_unichar_isalpha
      Src: /src/glib/glib/gmarkup.c:431,1
    - Dst: IS_COMMON_NAME_END_CHAR
      Src: /src/glib/glib/gmarkup.c:426,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 46
    argCount: 3
    argNames:
    - context
    - name
    - error
    argTypes:
    - GMarkupParseContext*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 439
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 439
    functionName: slow_name_validate
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - set_error
    - g_ascii_isalpha
    - g_utf8_next_char
    - g_ascii_isalnum
    - g_unichar_isalpha
    - IS_COMMON_NAME_END_CHAR
    - g_utf8_get_char
    - _
    - g_utf8_validate
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean slow_name_validate (GMarkupParseContext *context,
      const gchar *name, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_string_free
      Src: /src/glib/glib/gmarkup.c:799,1
    - Dst: get_list_node
      Src: /src/glib/glib/gmarkup.c:803,1
    - Dst: g_string_truncate
      Src: /src/glib/glib/gmarkup.c:802,1
    - Dst: g_slist_concat
      Src: /src/glib/glib/gmarkup.c:804,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - context
    - str
    argTypes:
    - GMarkupParseContext*
    - GString*
    constantsTouched: []
    func_position:
      end: 805
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 805
    functionName: release_chunk
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - get_list_node
    - g_string_free
    - g_slist_concat
    - g_string_truncate
    linkageType: ''
    returnType: void
    signature: 'static void release_chunk (GMarkupParseContext *context, GString *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gmarkup.c:849,1
    - Dst: g_slist_delete_link
      Src: /src/glib/glib/gmarkup.c:861,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gmarkup.c:859,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMarkupParseContext*
    constantsTouched: []
    func_position:
      end: 863
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 863
    functionName: pop_subparser_stack
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_slice_free
    - g_slist_delete_link
    linkageType: ''
    returnType: void
    signature: 'static void pop_subparser_stack (GMarkupParseContext *context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release_chunk
      Src: /src/glib/glib/gmarkup.c:882,1
    - Dst: free_list_node
      Src: /src/glib/glib/gmarkup.c:885,1
    - Dst: g_slist_remove_link
      Src: /src/glib/glib/gmarkup.c:884,1
    - Dst: g_slist_remove_link
      Src: /src/glib/glib/gmarkup.c:883,1
    - Dst: free_list_node
      Src: /src/glib/glib/gmarkup.c:886,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMarkupParseContext*
    constantsTouched: []
    func_position:
      end: 887
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 887
    functionName: pop_tag
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - g_slist_remove_link
    - release_chunk
    - free_list_node
    linkageType: ''
    returnType: void
    signature: 'static void pop_tag (GMarkupParseContext *context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmarkup.c:232,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gmarkup.c:235,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmarkup.c:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 238
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 238
    functionName: g_markup_parse_context_ref
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - g_atomic_int_inc
    - g_return_val_if_fail
    linkageType: ''
    returnType: GMarkupParseContext*
    signature: 'GMarkupParseContext *g_markup_parse_context_ref (GMarkupParseContext
      *context) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_get_char_validated
      Src: /src/glib/glib/gmarkup.c:514,1
    - Dst: memset
      Src: /src/glib/glib/gmarkup.c:519,1
    - Dst: memcpy
      Src: /src/glib/glib/gmarkup.c:520,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gmarkup.c:518,1
    - Dst: strlen
      Src: /src/glib/glib/gmarkup.c:520,1
    - Dst: g_free
      Src: /src/glib/glib/gmarkup.c:521,1
    - Dst: char_str
      Src: /src/glib/glib/gmarkup.c:524,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 526
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 526
    functionName: utf8_str
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_strdup_printf
    - strlen
    - g_free
    - g_utf8_get_char_validated
    - char_str
    - memset
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *utf8_str (const gchar *utf8, gsize max_len, gchar *buf) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/glib/glib/gmarkup.c:978,1
    - Dst: clear_attributes
      Src: /src/glib/glib/gmarkup.c:982,1
    - Dst: g_newa
      Src: /src/glib/glib/gmarkup.c:986,1
    - Dst: current_element
      Src: /src/glib/glib/gmarkup.c:978,1
    - Dst: g_markup_parse_context_push
      Src: /src/glib/glib/gmarkup.c:981,1
    - Dst: g_newa
      Src: /src/glib/glib/gmarkup.c:987,1
    - Dst: strchr
      Src: /src/glib/glib/gmarkup.c:991,1
    - Dst: current_element
      Src: /src/glib/glib/gmarkup.c:1003,1
    - Dst: name_validate
      Src: /src/glib/glib/gmarkup.c:1005,1
    - Dst: clear_attributes
      Src: /src/glib/glib/gmarkup.c:1015,1
    - Dst: propagate_error
      Src: /src/glib/glib/gmarkup.c:1018,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 36
    argCount: 2
    argNames:
    - context
    - error
    argTypes:
    - GMarkupParseContext*
    - GError**
    constantsTouched: []
    func_position:
      end: 1019
      start: 962
    functionDepth: 0
    functionLinenumber: 962
    functionLinenumberEnd: 1019
    functionName: emit_start_element
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - clear_attributes
    - name_validate
    - g_markup_parse_context_push
    - strchr
    - current_element
    - g_newa
    - propagate_error
    linkageType: ''
    returnType: void
    signature: 'static inline void emit_start_element (GMarkupParseContext *context,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmarkup.c:172,1
    - Dst: g_new
      Src: /src/glib/glib/gmarkup.c:174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 217
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 217
    functionName: g_markup_parse_context_new
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_new
    linkageType: ''
    returnType: GMarkupParseContext*
    signature: 'GMarkupParseContext *g_markup_parse_context_new (const GMarkupParser
      *parser, GMarkupParseFlags flags, gpointer user_data, GDestroyNotify user_data_dnotify) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/glib/glib/gmarkup.c:501,1
    - Dst: g_unichar_to_utf8
      Src: /src/glib/glib/gmarkup.c:502,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 504
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 504
    functionName: char_str
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - g_unichar_to_utf8
    - memset
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *char_str (gunichar c, gchar *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 765
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 765
    functionName: xml_isspace
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean xml_isspace (char c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release_chunk
      Src: /src/glib/glib/gmarkup.c:947,1
    - Dst: g_assert
      Src: /src/glib/glib/gmarkup.c:954,1
    - Dst: g_assert
      Src: /src/glib/glib/gmarkup.c:952,1
    - Dst: g_assert
      Src: /src/glib/glib/gmarkup.c:951,1
    - Dst: release_chunk
      Src: /src/glib/glib/gmarkup.c:948,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMarkupParseContext*
    constantsTouched: []
    func_position:
      end: 956
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 956
    functionName: clear_attributes
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - g_assert
    - release_chunk
    linkageType: ''
    returnType: void
    signature: 'static void clear_attributes (GMarkupParseContext *context) '
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 85
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2396
      start: 2286
    functionDepth: 0
    functionLinenumber: 2286
    functionLinenumberEnd: 2396
    functionName: find_conversion
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *find_conversion (const char *format, const char
      **after) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_string_append_c
      Src: /src/glib/glib/gmarkup.c:2469,1
    - Dst: va_end
      Src: /src/glib/glib/gmarkup.c:2482,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gmarkup.c:2508,1
    - Dst: g_string_free
      Src: /src/glib/glib/gmarkup.c:2531,1
    - Dst: g_free
      Src: /src/glib/glib/gmarkup.c:2532,1
    - Dst: g_string_new
      Src: /src/glib/glib/gmarkup.c:2456,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/gmarkup.c:2467,1
    - Dst: g_string_new
      Src: /src/glib/glib/gmarkup.c:2457,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gmarkup.c:2468,1
    - Dst: va_copy
      Src: /src/glib/glib/gmarkup.c:2476,1
    - Dst: g_string_new
      Src: /src/glib/glib/gmarkup.c:2490,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gmarkup.c:2466,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/glib/gmarkup.c:2478,1
    - Dst: va_end
      Src: /src/glib/glib/gmarkup.c:2487,1
    - Dst: g_markup_escape_text
      Src: /src/glib/glib/gmarkup.c:2520,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/glib/gmarkup.c:2486,1
    - Dst: g_string_append
      Src: /src/glib/glib/gmarkup.c:2521,1
    - Dst: g_free
      Src: /src/glib/glib/gmarkup.c:2522,1
    - Dst: g_string_free
      Src: /src/glib/glib/gmarkup.c:2530,1
    - Dst: g_string_free
      Src: /src/glib/glib/gmarkup.c:2536,1
    - Dst: find_conversion
      Src: /src/glib/glib/gmarkup.c:2462,1
    - Dst: find_conversion
      Src: /src/glib/glib/gmarkup.c:2503,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/gmarkup.c:2512,1
    - Dst: g_free
      Src: /src/glib/glib/gmarkup.c:2533,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2539
      start: 2415
    functionDepth: 0
    functionLinenumber: 2415
    functionLinenumberEnd: 2539
    functionName: g_markup_vprintf_escaped
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - g_strdup_vprintf
    - g_string_append_len
    - g_string_append_c
    - find_conversion
    - g_string_free
    - va_end
    - g_markup_escape_text
    - g_string_new
    - va_copy
    - g_free
    - g_string_append
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_markup_vprintf_escaped (const gchar *format, va_list args) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xml_isspace
      Src: /src/glib/glib/gmarkup.c:772,1
    - Dst: advance_char
      Src: /src/glib/glib/gmarkup.c:775,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - context
    argTypes:
    - GMarkupParseContext*
    constantsTouched: []
    func_position:
      end: 776
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 776
    functionName: skip_spaces
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - xml_isspace
    - advance_char
    linkageType: ''
    returnType: void
    signature: 'static void skip_spaces (GMarkupParseContext *context) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: G_GUINT64_CONSTANT
      Src: /src/glib/glib/gmarkup.c:2754,1
    - Dst: va_arg
      Src: /src/glib/glib/gmarkup.c:2775,1
    - Dst: va_arg
      Src: /src/glib/glib/gmarkup.c:2786,1
    - Dst: va_arg
      Src: /src/glib/glib/gmarkup.c:2835,1
    - Dst: va_arg
      Src: /src/glib/glib/gmarkup.c:2837,1
    - Dst: g_set_error
      Src: /src/glib/glib/gmarkup.c:2817,1
    - Dst: va_end
      Src: /src/glib/glib/gmarkup.c:2823,1
    - Dst: strcmp
      Src: /src/glib/glib/gmarkup.c:2855,1
    - Dst: va_arg
      Src: /src/glib/glib/gmarkup.c:2885,1
    - Dst: va_arg
      Src: /src/glib/glib/gmarkup.c:2911,1
    - Dst: va_start
      Src: /src/glib/glib/gmarkup.c:2720,1
    - Dst: G_GUINT64_CONSTANT
      Src: /src/glib/glib/gmarkup.c:2736,1
    - Dst: g_set_error
      Src: /src/glib/glib/gmarkup.c:2760,1
    - Dst: strcmp
      Src: /src/glib/glib/gmarkup.c:2737,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gmarkup.c:2831,1
    - Dst: G_GUINT64_CONSTANT
      Src: /src/glib/glib/gmarkup.c:2843,1
    - Dst: va_arg
      Src: /src/glib/glib/gmarkup.c:2815,1
    - Dst: g_set_error
      Src: /src/glib/glib/gmarkup.c:2866,1
    - Dst: g_free
      Src: /src/glib/glib/gmarkup.c:2893,1
    - Dst: va_arg
      Src: /src/glib/glib/gmarkup.c:2914,1
    - Dst: va_end
      Src: /src/glib/glib/gmarkup.c:2765,1
    - Dst: va_arg
      Src: /src/glib/glib/gmarkup.c:2799,1
    - Dst: va_end
      Src: /src/glib/glib/gmarkup.c:2839,1
    - Dst: g_set_error
      Src: /src/glib/glib/gmarkup.c:2861,1
    - Dst: va_end
      Src: /src/glib/glib/gmarkup.c:2918,1
    - Dst: g_strdup
      Src: /src/glib/glib/gmarkup.c:2789,1
    - Dst: g_markup_parse_boolean
      Src: /src/glib/glib/gmarkup.c:2815,1
    - Dst: va_start
      Src: /src/glib/glib/gmarkup.c:2880,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 106
    argCount: 6
    argNames:
    - element_name
    - attribute_names
    - attribute_values
    - error
    - first_type
    - first_attr
    - '...'
    argTypes:
    - gchar*
    - gchar**
    - gchar**
    - GError**
    - GMarkupCollectType
    - gchar*
    constantsTouched: []
    func_position:
      end: 2921
      start: 2699
    functionDepth: 0
    functionLinenumber: 2699
    functionLinenumberEnd: 2921
    functionName: g_markup_collect_attributes
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_strdup
    - G_GUINT64_CONSTANT
    - strcmp
    - g_assert_not_reached
    - g_markup_parse_boolean
    - va_arg
    - va_end
    - g_free
    - va_start
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_markup_collect_attributes (const gchar *element_name, const
      gchar **attribute_names, const gchar **attribute_values, GError **error, GMarkupCollectType
      first_type, const gchar *first_attr, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gmarkup.c:2260,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/gmarkup.c:2266,1
    - Dst: strlen
      Src: /src/glib/glib/gmarkup.c:2263,1
    - Dst: append_escaped_text
      Src: /src/glib/glib/gmarkup.c:2267,1
    - Dst: g_string_free
      Src: /src/glib/glib/gmarkup.c:2269,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2270
      start: 2254
    functionDepth: 0
    functionLinenumber: 2254
    functionLinenumberEnd: 2270
    functionName: g_markup_escape_text
    functionSourceFile: /src/glib/glib/gmarkup.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - strlen
    - append_escaped_text
    - g_string_free
    - g_string_sized_new
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_markup_escape_text (const gchar *text, gssize length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 2
    argNames:
    - fd_ptr
    - error
    argTypes:
    - int*
    - GError**
    constantsTouched: []
    func_position:
      end: 262
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 262
    functionName: g_clear_fd
    functionSourceFile: /src/glib/glib/gstdio.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GLIB_AVAILABLE_STATIC_INLINE_IN_2_76
    signature: 'GLIB_AVAILABLE_STATIC_INLINE_IN_2_76 static inline gboolean g_clear_fd
      (int *fd_ptr, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - fd_ptr
    argTypes:
    - int*
    constantsTouched: []
    func_position:
      end: 287
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 287
    functionName: _g_clear_fd_ignore_error
    functionSourceFile: /src/glib/glib/gstdio.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void _g_clear_fd_ignore_error (int *fd_ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - '!'
    - (fd_ptr, NULL)
    argTypes:
    - g_clear_fd
    constantsTouched: []
    func_position:
      end: 282
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 282
    functionName: if
    functionSourceFile: /src/glib/glib/gstdio.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: G_GNUC_BEGIN_IGNORE_DEPRECATIONS
    signature: 'G_GNUC_BEGIN_IGNORE_DEPRECATIONS if (!g_clear_fd (fd_ptr, NULL)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_impl_new
      Src: /src/glib/glib/gthread-posix.c:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GMutex*
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: g_mutex_init_impl
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_mutex_impl_new
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline void g_mutex_init_impl (GMutex *mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_unlock
      Src: /src/glib/glib/gthread-posix.c:344,1
    - Dst: g_rw_lock_get_impl
      Src: /src/glib/glib/gthread-posix.c:344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - rw_lock
    argTypes:
    - GRWLock*
    constantsTouched: []
    func_position:
      end: 345
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 345
    functionName: g_rw_lock_writer_unlock_impl
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - pthread_rwlock_unlock
    - g_rw_lock_get_impl
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline void g_rw_lock_writer_unlock_impl (GRWLock
      *rw_lock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gthread-posix.c:1040,1
    - Dst: g_futex_simple
      Src: /src/glib/glib/gthread-posix.c:1042,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cond
    argTypes:
    - GCond*
    constantsTouched: []
    func_position:
      end: 1043
      start: 1037
    functionDepth: 0
    functionLinenumber: 1037
    functionLinenumberEnd: 1043
    functionName: g_cond_broadcast_impl
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_atomic_int_inc
    - g_futex_simple
    linkageType: ''
    returnType: void
    signature: 'void g_cond_broadcast_impl (GCond *cond) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/glib/glib/gthread-posix.c:85,1
    - Dst: g_abort
      Src: /src/glib/glib/gthread-posix.c:87,1
    - Dst: strerror
      Src: /src/glib/glib/gthread-posix.c:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - status
    - function
    argTypes:
    - gint
    - gchar*
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: g_thread_abort
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_abort
    - fprintf
    - strerror
    linkageType: ''
    returnType: void
    signature: 'static void g_thread_abort (gint status, const gchar *function) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_pointer_get
      Src: /src/glib/glib/gthread-posix.c:134,1
    - Dst: g_atomic_pointer_compare_and_exchange
      Src: /src/glib/glib/gthread-posix.c:139,1
    - Dst: g_mutex_impl_free
      Src: /src/glib/glib/gthread-posix.c:140,1
    - Dst: g_mutex_impl_new
      Src: /src/glib/glib/gthread-posix.c:138,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 145
    functionName: g_mutex_get_impl
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_mutex_impl_new
    - g_mutex_impl_free
    - g_atomic_pointer_compare_and_exchange
    - g_atomic_pointer_get
    linkageType: ''
    returnType: pthread_mutex_t*
    signature: 'static inline pthread_mutex_t *g_mutex_get_impl (GMutex *mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_impl_free
      Src: /src/glib/glib/gthread-posix.c:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GMutex*
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: g_mutex_clear_impl
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_mutex_impl_free
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline void g_mutex_clear_impl (GMutex *mutex) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_trylock
      Src: /src/glib/glib/gthread-posix.c:183,1
    - Dst: g_mutex_get_impl
      Src: /src/glib/glib/gthread-posix.c:183,1
    - Dst: g_thread_abort
      Src: /src/glib/glib/gthread-posix.c:187,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GMutex*
    constantsTouched: []
    func_position:
      end: 190
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 190
    functionName: g_mutex_trylock_impl
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_mutex_get_impl
    - pthread_mutex_trylock
    - g_thread_abort
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline gboolean g_mutex_trylock_impl (GMutex
      *mutex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_rdlock
      Src: /src/glib/glib/gthread-posix.c:350,1
    - Dst: g_strerror
      Src: /src/glib/glib/gthread-posix.c:353,1
    - Dst: g_rw_lock_get_impl
      Src: /src/glib/glib/gthread-posix.c:350,1
    - Dst: g_critical
      Src: /src/glib/glib/gthread-posix.c:353,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - rw_lock
    argTypes:
    - GRWLock*
    constantsTouched: []
    func_position:
      end: 354
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 354
    functionName: g_rw_lock_reader_lock_impl
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_rw_lock_get_impl
    - g_strerror
    - g_critical
    - pthread_rwlock_rdlock
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline void g_rw_lock_reader_lock_impl (GRWLock
      *rw_lock) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/glib/gthread-posix.c:278,1
    - Dst: g_thread_abort
      Src: /src/glib/glib/gthread-posix.c:283,1
    - Dst: g_thread_abort
      Src: /src/glib/glib/gthread-posix.c:280,1
    - Dst: pthread_rwlock_init
      Src: /src/glib/glib/gthread-posix.c:282,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 286
    functionName: g_rw_lock_impl_new
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - malloc
    - pthread_rwlock_init
    - g_thread_abort
    linkageType: ''
    returnType: pthread_rwlock_t*
    signature: 'static pthread_rwlock_t *g_rw_lock_impl_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_destroy
      Src: /src/glib/glib/gthread-posix.c:217,1
    - Dst: free
      Src: /src/glib/glib/gthread-posix.c:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - pthread_mutex_t*
    constantsTouched: []
    func_position:
      end: 219
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 219
    functionName: g_rec_mutex_impl_free
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - free
    - pthread_mutex_destroy
    linkageType: ''
    returnType: void
    signature: 'static void g_rec_mutex_impl_free (pthread_mutex_t *mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rec_mutex_impl_new
      Src: /src/glib/glib/gthread-posix.c:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - rec_mutex
    argTypes:
    - GRecMutex*
    constantsTouched: []
    func_position:
      end: 241
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 241
    functionName: g_rec_mutex_init_impl
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_impl_new
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline void g_rec_mutex_init_impl (GRecMutex
      *rec_mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_destroy
      Src: /src/glib/glib/gthread-posix.c:291,1
    - Dst: free
      Src: /src/glib/glib/gthread-posix.c:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - pthread_rwlock_t*
    constantsTouched: []
    func_position:
      end: 293
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 293
    functionName: g_rw_lock_impl_free
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - free
    - pthread_rwlock_destroy
    linkageType: ''
    returnType: void
    signature: 'static void g_rw_lock_impl_free (pthread_rwlock_t *rwlock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rw_lock_impl_new
      Src: /src/glib/glib/gthread-posix.c:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - rw_lock
    argTypes:
    - GRWLock*
    constantsTouched: []
    func_position:
      end: 315
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 315
    functionName: g_rw_lock_init_impl
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_rw_lock_impl_new
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline void g_rw_lock_init_impl (GRWLock *rw_lock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_tryrdlock
      Src: /src/glib/glib/gthread-posix.c:359,1
    - Dst: g_rw_lock_get_impl
      Src: /src/glib/glib/gthread-posix.c:359,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - rw_lock
    argTypes:
    - GRWLock*
    constantsTouched: []
    func_position:
      end: 363
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 363
    functionName: g_rw_lock_reader_trylock_impl
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - pthread_rwlock_tryrdlock
    - g_rw_lock_get_impl
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline gboolean g_rw_lock_reader_trylock_impl
      (GRWLock *rw_lock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_cond_impl_free
      Src: /src/glib/glib/gthread-posix.c:436,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - GCond*
    constantsTouched: []
    func_position:
      end: 437
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 437
    functionName: g_cond_clear_impl
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_cond_impl_free
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline void g_cond_clear_impl (GCond *cond) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_getspecific
      Src: /src/glib/glib/gthread-posix.c:648,1
    - Dst: _g_private_get_impl
      Src: /src/glib/glib/gthread-posix.c:648,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - GPrivate*
    constantsTouched: []
    func_position:
      end: 649
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 649
    functionName: g_private_get_impl
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - pthread_getspecific
    - _g_private_get_impl
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline gpointer g_private_get_impl (GPrivate
      *key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_detach
      Src: /src/glib/glib/gthread-posix.c:707,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gthread-posix.c:711,1
    - Dst: g_mutex_clear
      Src: /src/glib/glib/gthread-posix.c:709,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - thread
    argTypes:
    - GRealThread*
    constantsTouched: []
    func_position:
      end: 712
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 712
    functionName: g_system_thread_free
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_mutex_clear
    - g_slice_free
    - pthread_detach
    linkageType: ''
    returnType: void
    signature: 'void g_system_thread_free (GRealThread *thread) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_pointer_get
      Src: /src/glib/glib/gthread-posix.c:224,1
    - Dst: g_atomic_pointer_compare_and_exchange
      Src: /src/glib/glib/gthread-posix.c:229,1
    - Dst: g_rec_mutex_impl_new
      Src: /src/glib/glib/gthread-posix.c:228,1
    - Dst: g_rec_mutex_impl_free
      Src: /src/glib/glib/gthread-posix.c:230,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 235
    functionName: g_rec_mutex_get_impl
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_impl_new
    - g_rec_mutex_impl_free
    - g_atomic_pointer_compare_and_exchange
    - g_atomic_pointer_get
    linkageType: ''
    returnType: pthread_mutex_t*
    signature: 'static inline pthread_mutex_t *g_rec_mutex_get_impl (GRecMutex *rec_mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rec_mutex_impl_free
      Src: /src/glib/glib/gthread-posix.c:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - rec_mutex
    argTypes:
    - GRecMutex*
    constantsTouched: []
    func_position:
      end: 247
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 247
    functionName: g_rec_mutex_clear_impl
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_impl_free
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline void g_rec_mutex_clear_impl (GRecMutex
      *rec_mutex) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_pointer_get
      Src: /src/glib/glib/gthread-posix.c:298,1
    - Dst: g_rw_lock_impl_free
      Src: /src/glib/glib/gthread-posix.c:304,1
    - Dst: g_rw_lock_impl_new
      Src: /src/glib/glib/gthread-posix.c:302,1
    - Dst: g_atomic_pointer_compare_and_exchange
      Src: /src/glib/glib/gthread-posix.c:303,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 309
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 309
    functionName: g_rw_lock_get_impl
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_atomic_pointer_compare_and_exchange
    - g_rw_lock_impl_free
    - g_rw_lock_impl_new
    - g_atomic_pointer_get
    linkageType: ''
    returnType: pthread_rwlock_t*
    signature: 'static inline pthread_rwlock_t *g_rw_lock_get_impl (GRWLock *lock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rw_lock_impl_free
      Src: /src/glib/glib/gthread-posix.c:320,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - rw_lock
    argTypes:
    - GRWLock*
    constantsTouched: []
    func_position:
      end: 321
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 321
    functionName: g_rw_lock_clear_impl
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_rw_lock_impl_free
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline void g_rw_lock_clear_impl (GRWLock *rw_lock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_unlock
      Src: /src/glib/glib/gthread-posix.c:368,1
    - Dst: g_rw_lock_get_impl
      Src: /src/glib/glib/gthread-posix.c:368,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - rw_lock
    argTypes:
    - GRWLock*
    constantsTouched: []
    func_position:
      end: 369
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 369
    functionName: g_rw_lock_reader_unlock_impl
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - pthread_rwlock_unlock
    - g_rw_lock_get_impl
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline void g_rw_lock_reader_unlock_impl (GRWLock
      *rw_lock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_cond_wait
      Src: /src/glib/glib/gthread-posix.c:445,1
    - Dst: g_thread_abort
      Src: /src/glib/glib/gthread-posix.c:446,1
    - Dst: g_cond_get_impl
      Src: /src/glib/glib/gthread-posix.c:445,1
    - Dst: g_mutex_get_impl
      Src: /src/glib/glib/gthread-posix.c:445,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - cond
    - mutex
    argTypes:
    - GCond*
    - GMutex*
    constantsTouched: []
    func_position:
      end: 447
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 447
    functionName: g_cond_wait_impl
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - pthread_cond_wait
    - g_cond_get_impl
    - g_mutex_get_impl
    - g_thread_abort
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline void g_cond_wait_impl (GCond *cond,
      GMutex *mutex) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/gthread-posix.c:482,1
    - Dst: g_cond_get_impl
      Src: /src/glib/glib/gthread-posix.c:493,1
    - Dst: g_mutex_get_impl
      Src: /src/glib/glib/gthread-posix.c:493,1
    - Dst: pthread_cond_timedwait_relative_np
      Src: /src/glib/glib/gthread-posix.c:493,1
    - Dst: pthread_cond_timedwait
      Src: /src/glib/glib/gthread-posix.c:505,1
    - Dst: g_cond_get_impl
      Src: /src/glib/glib/gthread-posix.c:505,1
    - Dst: g_mutex_get_impl
      Src: /src/glib/glib/gthread-posix.c:505,1
    - Dst: g_thread_abort
      Src: /src/glib/glib/gthread-posix.c:513,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - cond
    - mutex
    - end_time
    argTypes:
    - GCond*
    - GMutex*
    - gint64
    constantsTouched: []
    func_position:
      end: 516
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 516
    functionName: g_cond_wait_until_impl
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_mutex_get_impl
    - g_thread_abort
    - pthread_cond_timedwait
    - pthread_cond_timedwait_relative_np
    - g_get_monotonic_time
    - g_cond_get_impl
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline gboolean g_cond_wait_until_impl (GCond
      *cond, GMutex *mutex, gint64 end_time) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_setspecific
      Src: /src/glib/glib/gthread-posix.c:657,1
    - Dst: g_thread_abort
      Src: /src/glib/glib/gthread-posix.c:658,1
    - Dst: _g_private_get_impl
      Src: /src/glib/glib/gthread-posix.c:657,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - GPrivate*
    - gpointer
    constantsTouched: []
    func_position:
      end: 659
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 659
    functionName: g_private_set_impl
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - _g_private_get_impl
    - pthread_setspecific
    - g_thread_abort
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline void g_private_set_impl (GPrivate *key,
      gpointer value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _g_private_get_impl
      Src: /src/glib/glib/gthread-posix.c:665,1
    - Dst: pthread_getspecific
      Src: /src/glib/glib/gthread-posix.c:669,1
    - Dst: g_thread_abort
      Src: /src/glib/glib/gthread-posix.c:672,1
    - Dst: pthread_setspecific
      Src: /src/glib/glib/gthread-posix.c:671,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - GPrivate*
    - gpointer
    constantsTouched: []
    func_position:
      end: 676
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 676
    functionName: g_private_replace_impl
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - pthread_getspecific
    - _g_private_get_impl
    - pthread_setspecific
    - g_thread_abort
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline void g_private_replace_impl (GPrivate
      *key, gpointer value) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/glib/gthread-posix.c:727,1
    - Dst: posix_check_cmd
      Src: /src/glib/glib/gthread-posix.c:738,1
    - Dst: pthread_attr_init
      Src: /src/glib/glib/gthread-posix.c:738,1
    - Dst: sysconf
      Src: /src/glib/glib/gthread-posix.c:744,1
    - Dst: g_strlcpy
      Src: /src/glib/glib/gthread-posix.c:735,1
    - Dst: MAX
      Src: /src/glib/glib/gthread-posix.c:746,1
    - Dst: pthread_attr_setstacksize
      Src: /src/glib/glib/gthread-posix.c:750,1
    - Dst: pthread_attr_setinheritsched
      Src: /src/glib/glib/gthread-posix.c:757,1
    - Dst: pthread_create
      Src: /src/glib/glib/gthread-posix.c:761,1
    - Dst: posix_check_cmd
      Src: /src/glib/glib/gthread-posix.c:763,1
    - Dst: pthread_attr_destroy
      Src: /src/glib/glib/gthread-posix.c:763,1
    - Dst: g_slice_free
      Src: /src/glib/glib/gthread-posix.c:769,1
    - Dst: g_mutex_init
      Src: /src/glib/glib/gthread-posix.c:775,1
    - Dst: posix_check_err
      Src: /src/glib/glib/gthread-posix.c:773,1
    - Dst: g_set_error
      Src: /src/glib/glib/gthread-posix.c:767,1
    - Dst: g_strerror
      Src: /src/glib/glib/gthread-posix.c:768,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 778
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 778
    functionName: g_system_thread_new
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_set_error
    - pthread_create
    - posix_check_err
    - g_mutex_init
    - g_strlcpy
    - g_slice_new0
    - pthread_attr_init
    - pthread_attr_destroy
    - g_strerror
    - pthread_attr_setinheritsched
    - MAX
    - posix_check_cmd
    - pthread_attr_setstacksize
    - g_slice_free
    - sysconf
    linkageType: ''
    returnType: GRealThread*
    signature: 'GRealThread *g_system_thread_new (GThreadFunc proxy, gulong stack_size,
      const char *name, GThreadFunc func, gpointer data, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/glib/gthread-posix.c:528,1
    - Dst: g_thread_abort
      Src: /src/glib/glib/gthread-posix.c:533,1
    - Dst: pthread_key_create
      Src: /src/glib/glib/gthread-posix.c:531,1
    - Dst: g_thread_abort
      Src: /src/glib/glib/gthread-posix.c:530,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 536
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 536
    functionName: g_private_impl_new
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - malloc
    - pthread_key_create
    - g_thread_abort
    linkageType: ''
    returnType: pthread_key_t*
    signature: 'static pthread_key_t *g_private_impl_new (GDestroyNotify notify) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/glib/glib/gthread-posix.c:165,1
    - Dst: g_thread_abort
      Src: /src/glib/glib/gthread-posix.c:166,1
    - Dst: g_mutex_get_impl
      Src: /src/glib/glib/gthread-posix.c:165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GMutex*
    constantsTouched: []
    func_position:
      end: 167
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 167
    functionName: g_mutex_lock_impl
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_mutex_get_impl
    - pthread_mutex_lock
    - g_thread_abort
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline void g_mutex_lock_impl (GMutex *mutex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_wrlock
      Src: /src/glib/glib/gthread-posix.c:326,1
    - Dst: g_critical
      Src: /src/glib/glib/gthread-posix.c:329,1
    - Dst: g_strerror
      Src: /src/glib/glib/gthread-posix.c:329,1
    - Dst: g_rw_lock_get_impl
      Src: /src/glib/glib/gthread-posix.c:326,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - rw_lock
    argTypes:
    - GRWLock*
    constantsTouched: []
    func_position:
      end: 330
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 330
    functionName: g_rw_lock_writer_lock_impl
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_strerror
    - g_rw_lock_get_impl
    - pthread_rwlock_wrlock
    - g_critical
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline void g_rw_lock_writer_lock_impl (GRWLock
      *rw_lock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_cond_signal
      Src: /src/glib/glib/gthread-posix.c:454,1
    - Dst: g_thread_abort
      Src: /src/glib/glib/gthread-posix.c:455,1
    - Dst: g_cond_get_impl
      Src: /src/glib/glib/gthread-posix.c:454,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - cond
    argTypes:
    - GCond*
    constantsTouched: []
    func_position:
      end: 456
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 456
    functionName: g_cond_signal_impl
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - pthread_cond_signal
    - g_cond_get_impl
    - g_thread_abort
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline void g_cond_signal_impl (GCond *cond) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_exit
      Src: /src/glib/glib/gthread-posix.c:805,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 806
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 806
    functionName: g_system_thread_exit
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - pthread_exit
    linkageType: ''
    returnType: void
    signature: 'void g_system_thread_exit (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/glib/glib/gthread-posix.c:922,1
    - Dst: g_abort
      Src: /src/glib/glib/gthread-posix.c:923,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GMutex*
    constantsTouched: []
    func_position:
      end: 925
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 925
    functionName: g_mutex_clear_impl
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_abort
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'void g_mutex_clear_impl (GMutex *mutex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/glib/glib/gthread-posix.c:953,1
    - Dst: g_abort
      Src: /src/glib/glib/gthread-posix.c:954,1
    - Dst: g_futex_simple
      Src: /src/glib/glib/gthread-posix.c:957,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - mutex
    - prev
    argTypes:
    - GMutex*
    - guint
    constantsTouched: []
    func_position:
      end: 958
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 958
    functionName: g_mutex_unlock_slowpath
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_abort
    - g_futex_simple
    - fprintf
    linkageType: ''
    returnType: G_GNUC_NO_INLINE
    signature: 'G_GNUC_NO_INLINE static void g_mutex_unlock_slowpath (GMutex *mutex,
      guint prev) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - GCond*
    constantsTouched: []
    func_position:
      end: 1011
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1011
    functionName: g_cond_init_impl
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void g_cond_init_impl (GCond *cond) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_unlock
      Src: /src/glib/glib/gthread-posix.c:174,1
    - Dst: g_mutex_get_impl
      Src: /src/glib/glib/gthread-posix.c:174,1
    - Dst: g_thread_abort
      Src: /src/glib/glib/gthread-posix.c:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GMutex*
    constantsTouched: []
    func_position:
      end: 176
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 176
    functionName: g_mutex_unlock_impl
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - pthread_mutex_unlock
    - g_mutex_get_impl
    - g_thread_abort
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline void g_mutex_unlock_impl (GMutex *mutex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_trywrlock
      Src: /src/glib/glib/gthread-posix.c:335,1
    - Dst: g_rw_lock_get_impl
      Src: /src/glib/glib/gthread-posix.c:335,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - rw_lock
    argTypes:
    - GRWLock*
    constantsTouched: []
    func_position:
      end: 339
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 339
    functionName: g_rw_lock_writer_trylock_impl
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_rw_lock_get_impl
    - pthread_rwlock_trywrlock
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline gboolean g_rw_lock_writer_trylock_impl
      (GRWLock *rw_lock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_cond_broadcast
      Src: /src/glib/glib/gthread-posix.c:463,1
    - Dst: g_cond_get_impl
      Src: /src/glib/glib/gthread-posix.c:463,1
    - Dst: g_thread_abort
      Src: /src/glib/glib/gthread-posix.c:464,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - cond
    argTypes:
    - GCond*
    constantsTouched: []
    func_position:
      end: 465
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 465
    functionName: g_cond_broadcast_impl
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_cond_get_impl
    - g_thread_abort
    - pthread_cond_broadcast
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline void g_cond_broadcast_impl (GCond *cond) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_setname_np
      Src: /src/glib/glib/gthread-posix.c:812,1
    - Dst: g_strlcpy
      Src: /src/glib/glib/gthread-posix.c:820,1
    - Dst: pthread_self
      Src: /src/glib/glib/gthread-posix.c:821,1
    - Dst: pthread_setname_np
      Src: /src/glib/glib/gthread-posix.c:823,1
    - Dst: pthread_setname_np
      Src: /src/glib/glib/gthread-posix.c:821,1
    - Dst: pthread_self
      Src: /src/glib/glib/gthread-posix.c:823,1
    - Dst: pthread_set_name_np
      Src: /src/glib/glib/gthread-posix.c:825,1
    - Dst: pthread_self
      Src: /src/glib/glib/gthread-posix.c:825,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 827
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 827
    functionName: g_system_thread_set_name
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - pthread_setname_np
    - pthread_self
    - g_strlcpy
    - pthread_set_name_np
    linkageType: ''
    returnType: void
    signature: 'void g_system_thread_set_name (const gchar *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_getname_np
      Src: /src/glib/glib/gthread-posix.c:834,1
    - Dst: g_assert
      Src: /src/glib/glib/gthread-posix.c:836,1
    - Dst: pthread_self
      Src: /src/glib/glib/gthread-posix.c:834,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - buffer
    - length
    argTypes:
    - char*
    - gsize
    constantsTouched: []
    func_position:
      end: 839
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 839
    functionName: g_system_thread_get_name
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - pthread_getname_np
    - pthread_self
    - g_assert
    linkageType: ''
    returnType: void
    signature: 'void g_system_thread_get_name (char *buffer, gsize length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exchange_acquire
      Src: /src/glib/glib/gthread-posix.c:936,1
    - Dst: g_futex_simple
      Src: /src/glib/glib/gthread-posix.c:938,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GMutex*
    constantsTouched: []
    func_position:
      end: 941
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 941
    functionName: g_mutex_lock_slowpath
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_futex_simple
    - exchange_acquire
    linkageType: ''
    returnType: G_GNUC_NO_INLINE
    signature: 'G_GNUC_NO_INLINE static void g_mutex_lock_slowpath (GMutex *mutex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_compare_and_exchange
      Src: /src/glib/glib/gthread-posix.c:964,1
    - Dst: g_mutex_lock_slowpath
      Src: /src/glib/glib/gthread-posix.c:967,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GMutex*
    constantsTouched: []
    func_position:
      end: 968
      start: 960
    functionDepth: 0
    functionLinenumber: 960
    functionLinenumberEnd: 968
    functionName: g_mutex_lock_impl
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_atomic_int_compare_and_exchange
    - g_mutex_lock_slowpath
    linkageType: ''
    returnType: void
    signature: 'inline void g_mutex_lock_impl (GMutex *mutex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exchange_release
      Src: /src/glib/glib/gthread-posix.c:975,1
    - Dst: g_mutex_unlock_slowpath
      Src: /src/glib/glib/gthread-posix.c:979,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GMutex*
    constantsTouched: []
    func_position:
      end: 980
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 980
    functionName: g_mutex_unlock_impl
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock_slowpath
    - exchange_release
    linkageType: ''
    returnType: void
    signature: 'void g_mutex_unlock_impl (GMutex *mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GMutex*
    constantsTouched: []
    func_position:
      end: 915
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 915
    functionName: g_mutex_init_impl
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void g_mutex_init_impl (GMutex *mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - cond
    argTypes:
    - GCond*
    constantsTouched: []
    func_position:
      end: 1016
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1016
    functionName: g_cond_clear_impl
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void g_cond_clear_impl (GCond *cond) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/glib/gthread-posix.c:104,1
    - Dst: pthread_mutexattr_init
      Src: /src/glib/glib/gthread-posix.c:109,1
    - Dst: g_thread_abort
      Src: /src/glib/glib/gthread-posix.c:106,1
    - Dst: pthread_mutex_init
      Src: /src/glib/glib/gthread-posix.c:114,1
    - Dst: pthread_mutexattr_settype
      Src: /src/glib/glib/gthread-posix.c:110,1
    - Dst: g_thread_abort
      Src: /src/glib/glib/gthread-posix.c:115,1
    - Dst: pthread_mutexattr_destroy
      Src: /src/glib/glib/gthread-posix.c:118,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 122
    functionName: g_mutex_impl_new
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - malloc
    - pthread_mutexattr_init
    - pthread_mutex_init
    - g_thread_abort
    - pthread_mutexattr_destroy
    - pthread_mutexattr_settype
    linkageType: ''
    returnType: pthread_mutex_t*
    signature: 'static pthread_mutex_t *g_mutex_impl_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/glib/glib/gthread-posix.c:252,1
    - Dst: g_rec_mutex_get_impl
      Src: /src/glib/glib/gthread-posix.c:252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GRecMutex*
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: g_rec_mutex_lock_impl
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_get_impl
    - pthread_mutex_lock
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline void g_rec_mutex_lock_impl (GRecMutex
      *mutex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_trylock
      Src: /src/glib/glib/gthread-posix.c:264,1
    - Dst: g_rec_mutex_get_impl
      Src: /src/glib/glib/gthread-posix.c:264,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - rec_mutex
    argTypes:
    - GRecMutex*
    constantsTouched: []
    func_position:
      end: 268
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 268
    functionName: g_rec_mutex_trylock_impl
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_get_impl
    - pthread_mutex_trylock
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline gboolean g_rec_mutex_trylock_impl (GRecMutex
      *rec_mutex) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pthread_condattr_init
      Src: /src/glib/glib/gthread-posix.c:382,1
    - Dst: malloc
      Src: /src/glib/glib/gthread-posix.c:392,1
    - Dst: g_thread_abort
      Src: /src/glib/glib/gthread-posix.c:387,1
    - Dst: g_thread_abort
      Src: /src/glib/glib/gthread-posix.c:394,1
    - Dst: pthread_condattr_setclock
      Src: /src/glib/glib/gthread-posix.c:386,1
    - Dst: pthread_cond_init
      Src: /src/glib/glib/gthread-posix.c:396,1
    - Dst: g_thread_abort
      Src: /src/glib/glib/gthread-posix.c:397,1
    - Dst: pthread_condattr_destroy
      Src: /src/glib/glib/gthread-posix.c:399,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 402
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 402
    functionName: g_cond_impl_new
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - pthread_cond_init
    - malloc
    - pthread_condattr_destroy
    - pthread_condattr_init
    - g_thread_abort
    - pthread_condattr_setclock
    linkageType: ''
    returnType: pthread_cond_t*
    signature: 'static pthread_cond_t *g_cond_impl_new (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_pointer_get
      Src: /src/glib/glib/gthread-posix.c:414,1
    - Dst: g_atomic_pointer_compare_and_exchange
      Src: /src/glib/glib/gthread-posix.c:419,1
    - Dst: g_cond_impl_free
      Src: /src/glib/glib/gthread-posix.c:420,1
    - Dst: g_cond_impl_new
      Src: /src/glib/glib/gthread-posix.c:418,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 425
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 425
    functionName: g_cond_get_impl
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_cond_impl_free
    - g_cond_impl_new
    - g_atomic_pointer_compare_and_exchange
    - g_atomic_pointer_get
    linkageType: ''
    returnType: pthread_cond_t*
    signature: 'static inline pthread_cond_t *g_cond_get_impl (GCond *cond) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_key_delete
      Src: /src/glib/glib/gthread-posix.c:543,1
    - Dst: g_thread_abort
      Src: /src/glib/glib/gthread-posix.c:545,1
    - Dst: free
      Src: /src/glib/glib/gthread-posix.c:546,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - pthread_key_t*
    constantsTouched: []
    func_position:
      end: 547
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 547
    functionName: g_private_impl_free
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - pthread_key_delete
    - free
    - g_thread_abort
    linkageType: ''
    returnType: void
    signature: 'static void g_private_impl_free (pthread_key_t *key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/glib/glib/gthread-posix.c:597,1
    - Dst: pthread_key_delete
      Src: /src/glib/glib/gthread-posix.c:599,1
    - Dst: g_thread_abort
      Src: /src/glib/glib/gthread-posix.c:601,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - impl
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 602
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 602
    functionName: g_private_impl_free_direct
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_thread_abort
    - pthread_key_delete
    linkageType: ''
    returnType: void
    signature: 'static void g_private_impl_free_direct (gpointer impl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sched_yield
      Src: /src/glib/glib/gthread-posix.c:783,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 784
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 784
    functionName: g_thread_yield_impl
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - sched_yield
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline void g_thread_yield_impl (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_destroy
      Src: /src/glib/glib/gthread-posix.c:127,1
    - Dst: free
      Src: /src/glib/glib/gthread-posix.c:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - pthread_mutex_t*
    constantsTouched: []
    func_position:
      end: 129
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 129
    functionName: g_mutex_impl_free
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - free
    - pthread_mutex_destroy
    linkageType: ''
    returnType: void
    signature: 'static void g_mutex_impl_free (pthread_mutex_t *mutex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/glib/gthread-posix.c:202,1
    - Dst: pthread_mutexattr_init
      Src: /src/glib/glib/gthread-posix.c:206,1
    - Dst: pthread_mutexattr_settype
      Src: /src/glib/glib/gthread-posix.c:207,1
    - Dst: g_thread_abort
      Src: /src/glib/glib/gthread-posix.c:204,1
    - Dst: pthread_mutex_init
      Src: /src/glib/glib/gthread-posix.c:208,1
    - Dst: pthread_mutexattr_destroy
      Src: /src/glib/glib/gthread-posix.c:209,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 212
    functionName: g_rec_mutex_impl_new
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - malloc
    - pthread_mutexattr_init
    - pthread_mutex_init
    - g_thread_abort
    - pthread_mutexattr_destroy
    - pthread_mutexattr_settype
    linkageType: ''
    returnType: pthread_mutex_t*
    signature: 'static pthread_mutex_t *g_rec_mutex_impl_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_unlock
      Src: /src/glib/glib/gthread-posix.c:258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - rec_mutex
    argTypes:
    - GRecMutex*
    constantsTouched: []
    func_position:
      end: 259
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 259
    functionName: g_rec_mutex_unlock_impl
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - pthread_mutex_unlock
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline void g_rec_mutex_unlock_impl (GRecMutex
      *rec_mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_cond_destroy
      Src: /src/glib/glib/gthread-posix.c:407,1
    - Dst: free
      Src: /src/glib/glib/gthread-posix.c:408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cond
    argTypes:
    - pthread_cond_t*
    constantsTouched: []
    func_position:
      end: 409
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 409
    functionName: g_cond_impl_free
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - free
    - pthread_cond_destroy
    linkageType: ''
    returnType: void
    signature: 'static void g_cond_impl_free (pthread_cond_t *cond) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_cond_impl_new
      Src: /src/glib/glib/gthread-posix.c:430,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cond
    argTypes:
    - GCond*
    constantsTouched: []
    func_position:
      end: 431
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 431
    functionName: g_cond_init_impl
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_cond_impl_new
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline void g_cond_init_impl (GCond *cond) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pthread_key_create
      Src: /src/glib/glib/gthread-posix.c:556,1
    - Dst: g_thread_abort
      Src: /src/glib/glib/gthread-posix.c:558,1
    - Dst: pthread_key_create
      Src: /src/glib/glib/gthread-posix.c:577,1
    - Dst: memcpy
      Src: /src/glib/glib/gthread-posix.c:560,1
    - Dst: g_thread_abort
      Src: /src/glib/glib/gthread-posix.c:579,1
    - Dst: memcpy
      Src: /src/glib/glib/gthread-posix.c:581,1
    - Dst: g_thread_abort
      Src: /src/glib/glib/gthread-posix.c:584,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - notify
    argTypes:
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 589
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 589
    functionName: g_private_impl_new_direct
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - memcpy
    - pthread_key_create
    - g_thread_abort
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer g_private_impl_new_direct (GDestroyNotify notify) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_pointer_get
      Src: /src/glib/glib/gthread-posix.c:609,1
    - Dst: g_private_impl_new
      Src: /src/glib/glib/gthread-posix.c:613,1
    - Dst: g_atomic_pointer_compare_and_exchange
      Src: /src/glib/glib/gthread-posix.c:614,1
    - Dst: g_private_impl_free
      Src: /src/glib/glib/gthread-posix.c:616,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/glib/gthread-posix.c:625,1
    - Dst: g_private_impl_new_direct
      Src: /src/glib/glib/gthread-posix.c:630,1
    - Dst: g_atomic_pointer_compare_and_exchange
      Src: /src/glib/glib/gthread-posix.c:631,1
    - Dst: g_private_impl_free_direct
      Src: /src/glib/glib/gthread-posix.c:633,1
    - Dst: memcpy
      Src: /src/glib/glib/gthread-posix.c:638,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - key
    argTypes:
    - GPrivate*
    constantsTouched: []
    func_position:
      end: 642
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 642
    functionName: _g_private_get_impl
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_private_impl_new_direct
    - g_atomic_pointer_get
    - g_atomic_pointer_compare_and_exchange
    - g_private_impl_new
    - g_private_impl_free
    - g_private_impl_free_direct
    linkageType: ''
    returnType: pthread_key_t
    signature: 'static inline pthread_key_t _g_private_get_impl (GPrivate *key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gthread-posix.c:791,1
    - Dst: pthread_join
      Src: /src/glib/glib/gthread-posix.c:795,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gthread-posix.c:799,1
    - Dst: posix_check_cmd
      Src: /src/glib/glib/gthread-posix.c:795,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - thread
    argTypes:
    - GRealThread*
    constantsTouched: []
    func_position:
      end: 800
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 800
    functionName: g_system_thread_wait
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - posix_check_cmd
    - pthread_join
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'void g_system_thread_wait (GRealThread *thread) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/gthread-posix.c:1032,1
    - Dst: g_futex_simple
      Src: /src/glib/glib/gthread-posix.c:1034,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cond
    argTypes:
    - GCond*
    constantsTouched: []
    func_position:
      end: 1035
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1035
    functionName: g_cond_signal_impl
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_atomic_int_inc
    - g_futex_simple
    linkageType: ''
    returnType: void
    signature: 'void g_cond_signal_impl (GCond *cond) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_exchange_acquire
      Src: /src/glib/glib/gthread-posix.c:990,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GMutex*
    constantsTouched: []
    func_position:
      end: 991
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 991
    functionName: g_mutex_trylock_impl
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - compare_exchange_acquire
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_mutex_trylock_impl (GMutex *mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/gthread-posix.c:1022,1
    - Dst: g_futex_simple
      Src: /src/glib/glib/gthread-posix.c:1025,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/gthread-posix.c:1026,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/gthread-posix.c:1024,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - cond
    - mutex
    argTypes:
    - GCond*
    - GMutex*
    constantsTouched: []
    func_position:
      end: 1027
      start: 1018
    functionDepth: 0
    functionLinenumber: 1018
    functionLinenumberEnd: 1027
    functionName: g_cond_wait_impl
    functionSourceFile: /src/glib/glib/gthread-posix.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_futex_simple
    - g_atomic_int_get
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'void g_cond_wait_impl (GCond *cond, GMutex *mutex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/garray.c:1769,1
    - Dst: g_atomic_ref_count_dec
      Src: /src/glib/glib/garray.c:1771,1
    - Dst: ptr_array_free
      Src: /src/glib/glib/garray.c:1772,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - array
    argTypes:
    - GPtrArray*
    constantsTouched: []
    func_position:
      end: 1773
      start: 1764
    functionDepth: 0
    functionLinenumber: 1764
    functionLinenumberEnd: 1773
    functionName: g_ptr_array_unref
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_atomic_ref_count_dec
    - ptr_array_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_ptr_array_unref (GPtrArray *array) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/garray.c:2411,1
    - Dst: g_sort_array
      Src: /src/glib/glib/garray.c:2415,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - array
    - compare_func
    argTypes:
    - GPtrArray*
    - GCompareFunc
    constantsTouched: []
    func_position:
      end: 2420
      start: 2407
    functionDepth: 0
    functionLinenumber: 2407
    functionLinenumberEnd: 2420
    functionName: g_ptr_array_sort
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_sort_array
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_ptr_array_sort (GPtrArray *array, GCompareFunc compare_func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:1723,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - array
    argTypes:
    - GPtrArray*
    constantsTouched: []
    func_position:
      end: 1726
      start: 1720
    functionDepth: 0
    functionLinenumber: 1720
    functionLinenumberEnd: 1726
    functionName: g_ptr_array_is_null_terminated
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_ptr_array_is_null_terminated (GPtrArray *array) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/garray.c:2342,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/garray.c:2344,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/garray.c:2343,1
    - Dst: g_ptr_array_maybe_expand
      Src: /src/glib/glib/garray.c:2346,1
    - Dst: memmove
      Src: /src/glib/glib/garray.c:2351,1
    - Dst: ptr_array_maybe_null_terminate
      Src: /src/glib/glib/garray.c:2358,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - array
    - index_
    - data
    argTypes:
    - GPtrArray*
    - gint
    - gpointer
    constantsTouched: []
    func_position:
      end: 2359
      start: 2334
    functionDepth: 0
    functionLinenumber: 2334
    functionLinenumberEnd: 2359
    functionName: g_ptr_array_insert
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_ptr_array_maybe_expand
    - memmove
    - ptr_array_maybe_null_terminate
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_ptr_array_insert (GPtrArray *array, gint index_, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_sort_with_data
      Src: /src/glib/glib/garray.c:2569,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - array
    - compare_func
    - user_data
    argTypes:
    - GPtrArray*
    - GCompareDataFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 2574
      start: 2564
    functionDepth: 0
    functionLinenumber: 2564
    functionLinenumberEnd: 2574
    functionName: g_ptr_array_sort_values_with_data
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_ptr_array_sort_with_data
    linkageType: ''
    returnType: void
    signature: 'void g_ptr_array_sort_values_with_data (GPtrArray *array, GCompareDataFunc
      compare_func, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:1809,1
    - Dst: ptr_array_free
      Src: /src/glib/glib/garray.c:1824,1
    - Dst: g_atomic_ref_count_dec
      Src: /src/glib/glib/garray.c:1820,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1825
      start: 1802
    functionDepth: 0
    functionLinenumber: 1802
    functionLinenumberEnd: 1825
    functionName: g_ptr_array_free
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - ptr_array_free
    - g_atomic_ref_count_dec
    linkageType: ''
    returnType: gpointer*
    signature: 'gpointer *g_ptr_array_free (GPtrArray *array, gboolean free_segment) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - user_data
    argTypes:
    - gconstpointer
    - gconstpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 2549
      start: 2539
    functionDepth: 0
    functionLinenumber: 2539
    functionLinenumberEnd: 2549
    functionName: compare_ptr_array_values_with_data
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint
    signature: 'static inline gint compare_ptr_array_values_with_data (gconstpointer
      a, gconstpointer b, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_sort_with_data
      Src: /src/glib/glib/garray.c:2530,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - array
    - compare_func
    argTypes:
    - GPtrArray*
    - GCompareFunc
    constantsTouched: []
    func_position:
      end: 2531
      start: 2526
    functionDepth: 0
    functionLinenumber: 2526
    functionLinenumberEnd: 2531
    functionName: g_ptr_array_sort_values
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_ptr_array_sort_with_data
    linkageType: ''
    returnType: void
    signature: 'void g_ptr_array_sort_values (GPtrArray *array, GCompareFunc compare_func) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:796,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:798,1
    - Dst: memmove
      Src: /src/glib/glib/garray.c:804,1
    - Dst: g_array_elt_pos
      Src: /src/glib/glib/garray.c:801,1
    - Dst: g_array_elt_pos
      Src: /src/glib/glib/garray.c:804,1
    - Dst: g_array_elt_pos
      Src: /src/glib/glib/garray.c:805,1
    - Dst: g_array_elt_len
      Src: /src/glib/glib/garray.c:806,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/garray.c:810,1
    - Dst: g_array_elt_zero
      Src: /src/glib/glib/garray.c:811,1
    - Dst: g_array_zero_terminate
      Src: /src/glib/glib/garray.c:813,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 816
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 816
    functionName: g_array_remove_index
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_array_elt_len
    - g_return_val_if_fail
    - memmove
    - G_UNLIKELY
    - g_array_zero_terminate
    - g_array_elt_pos
    - g_array_elt_zero
    linkageType: ''
    returnType: GArray*
    signature: 'GArray *g_array_remove_index (GArray *farray, guint index_) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptr_array_new
      Src: /src/glib/glib/garray.c:1616,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1617
      start: 1613
    functionDepth: 0
    functionLinenumber: 1613
    functionLinenumberEnd: 1617
    functionName: g_ptr_array_new_with_free_func
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - ptr_array_new
    linkageType: ''
    returnType: GPtrArray*
    signature: 'GPtrArray *g_ptr_array_new_with_free_func (GDestroyNotify element_free_func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/garray.c:2594,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - array
    - func
    - user_data
    argTypes:
    - GPtrArray*
    - GFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 2598
      start: 2587
    functionDepth: 0
    functionLinenumber: 2587
    functionLinenumberEnd: 2598
    functionName: g_ptr_array_foreach
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_ptr_array_foreach (GPtrArray *array, GFunc func, gpointer user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:761,1
    - Dst: g_array_zero_terminate
      Src: /src/glib/glib/garray.c:775,1
    - Dst: g_array_maybe_expand
      Src: /src/glib/glib/garray.c:765,1
    - Dst: g_array_remove_range
      Src: /src/glib/glib/garray.c:771,1
    - Dst: g_array_elt_zero
      Src: /src/glib/glib/garray.c:768,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 778
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 778
    functionName: g_array_set_size
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_array_remove_range
    - g_array_zero_terminate
    - g_array_elt_zero
    - g_array_maybe_expand
    linkageType: ''
    returnType: GArray*
    signature: 'GArray *g_array_set_size (GArray *farray, guint length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:1585,1
    - Dst: g_array_zero_terminate
      Src: /src/glib/glib/garray.c:1594,1
    - Dst: memcpy
      Src: /src/glib/glib/garray.c:1592,1
    - Dst: g_array_sized_new
      Src: /src/glib/glib/garray.c:1588,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1597
      start: 1579
    functionDepth: 0
    functionLinenumber: 1579
    functionLinenumberEnd: 1597
    functionName: g_array_copy
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_array_zero_terminate
    - memcpy
    - g_array_sized_new
    - g_return_val_if_fail
    linkageType: ''
    returnType: GArray*
    signature: 'GArray *g_array_copy (GArray *array) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_array_remove_index
      Src: /src/glib/glib/garray.c:2931,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2934
      start: 2927
    functionDepth: 0
    functionLinenumber: 2927
    functionLinenumberEnd: 2934
    functionName: g_byte_array_remove_index
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_array_remove_index
    linkageType: ''
    returnType: GByteArray*
    signature: 'GByteArray *g_byte_array_remove_index (GByteArray *array, guint index_) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_array_free
      Src: /src/glib/glib/garray.c:2791,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2792
      start: 2787
    functionDepth: 0
    functionLinenumber: 2787
    functionLinenumberEnd: 2792
    functionName: g_byte_array_free
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_array_free
    linkageType: ''
    returnType: guint8*
    signature: 'guint8 *g_byte_array_free (GByteArray *array, gboolean free_segment) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_array_set_size
      Src: /src/glib/glib/garray.c:2912,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2915
      start: 2908
    functionDepth: 0
    functionLinenumber: 2908
    functionLinenumberEnd: 2915
    functionName: g_byte_array_set_size
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_array_set_size
    linkageType: ''
    returnType: GByteArray*
    signature: 'GByteArray *g_byte_array_set_size (GByteArray *array, guint length) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:717,1
    - Dst: g_array_maybe_expand
      Src: /src/glib/glib/garray.c:730,1
    - Dst: g_array_maybe_expand
      Src: /src/glib/glib/garray.c:726,1
    - Dst: g_array_set_size
      Src: /src/glib/glib/garray.c:727,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/garray.c:727,1
    - Dst: memmove
      Src: /src/glib/glib/garray.c:732,1
    - Dst: g_array_elt_pos
      Src: /src/glib/glib/garray.c:732,1
    - Dst: g_array_elt_pos
      Src: /src/glib/glib/garray.c:733,1
    - Dst: g_array_elt_len
      Src: /src/glib/glib/garray.c:734,1
    - Dst: memcpy
      Src: /src/glib/glib/garray.c:736,1
    - Dst: g_array_zero_terminate
      Src: /src/glib/glib/garray.c:740,1
    - Dst: g_array_elt_pos
      Src: /src/glib/glib/garray.c:736,1
    - Dst: g_array_elt_len
      Src: /src/glib/glib/garray.c:736,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 743
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 743
    functionName: g_array_insert_vals
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_array_elt_len
    - memcpy
    - g_array_zero_terminate
    - g_return_val_if_fail
    - g_array_set_size
    - memmove
    - g_array_append_vals
    - g_array_elt_pos
    - g_array_maybe_expand
    linkageType: ''
    returnType: GArray*
    signature: 'GArray *g_array_insert_vals (GArray *farray, guint index_, gconstpointer
      data, guint len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:237,1
    - Dst: g_array_new_take
      Src: /src/glib/glib/garray.c:257,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:255,1
    - Dst: memcmp
      Src: /src/glib/glib/garray.c:248,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 261
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 261
    functionName: g_array_new_take_zero_terminated
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_array_new_take
    - g_return_val_if_fail
    - memcmp
    linkageType: ''
    returnType: GArray*
    signature: 'GArray *g_array_new_take_zero_terminated (gpointer data, gboolean
      clear, gsize element_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptr_array_new
      Src: /src/glib/glib/garray.c:1679,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1680
      start: 1674
    functionDepth: 0
    functionLinenumber: 1674
    functionLinenumberEnd: 1680
    functionName: g_ptr_array_new_null_terminated
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - ptr_array_new
    linkageType: ''
    returnType: GPtrArray*
    signature: 'GPtrArray *g_ptr_array_new_null_terminated (guint reserved_size, GDestroyNotify
      element_free_func, gboolean null_terminated) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptr_array_new
      Src: /src/glib/glib/garray.c:1641,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1642
      start: 1637
    functionDepth: 0
    functionLinenumber: 1637
    functionLinenumberEnd: 1642
    functionName: g_ptr_array_new_full
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - ptr_array_new
    linkageType: ''
    returnType: GPtrArray*
    signature: 'GPtrArray *g_ptr_array_new_full (guint reserved_size, GDestroyNotify
      element_free_func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_array_remove_index_fast
      Src: /src/glib/glib/garray.c:2952,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2955
      start: 2948
    functionDepth: 0
    functionLinenumber: 2948
    functionLinenumberEnd: 2955
    functionName: g_byte_array_remove_index_fast
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_array_remove_index_fast
    linkageType: ''
    returnType: GByteArray*
    signature: 'GByteArray *g_byte_array_remove_index_fast (GByteArray *array, guint
      index_) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:138,1
    - Dst: g_array_sized_new
      Src: /src/glib/glib/garray.c:143,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 144
    functionName: g_array_new
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_array_sized_new
    - g_return_val_if_fail
    linkageType: ''
    returnType: GArray*
    signature: 'GArray *g_array_new (gboolean zero_terminated, gboolean clear, guint
      elt_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:516,1
    - Dst: array_free
      Src: /src/glib/glib/garray.c:524,1
    - Dst: g_atomic_ref_count_dec
      Src: /src/glib/glib/garray.c:521,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 525
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 525
    functionName: g_array_free
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - array_free
    - g_return_val_if_fail
    - g_atomic_ref_count_dec
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_array_free (GArray *farray, gboolean free_segment) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:1351,1
    - Dst: ptr_array_new_from_array
      Src: /src/glib/glib/garray.c:1354,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:1352,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1356
      start: 1344
    functionDepth: 0
    functionLinenumber: 1344
    functionLinenumberEnd: 1356
    functionName: g_ptr_array_new_from_array
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - ptr_array_new_from_array
    linkageType: ''
    returnType: GPtrArray*
    signature: 'GPtrArray *g_ptr_array_new_from_array (gpointer *data, gsize len,
      GCopyFunc copy_func, gpointer copy_func_user_data, GDestroyNotify element_free_func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptr_array_remove_index
      Src: /src/glib/glib/garray.c:2004,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - array
    - index_
    argTypes:
    - GPtrArray*
    - guint
    constantsTouched: []
    func_position:
      end: 2005
      start: 2000
    functionDepth: 0
    functionLinenumber: 2000
    functionLinenumberEnd: 2005
    functionName: g_ptr_array_remove_index
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - ptr_array_remove_index
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_ptr_array_remove_index (GPtrArray *array, guint index_) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:300,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - array
    - len
    argTypes:
    - GArray*
    - gsize*
    constantsTouched: []
    func_position:
      end: 312
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 312
    functionName: g_array_steal
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_array_steal (GArray *array, gsize *len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:481,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - array
    argTypes:
    - GArray*
    constantsTouched: []
    func_position:
      end: 484
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 484
    functionName: g_array_get_element_size
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: guint
    signature: 'guint g_array_get_element_size (GArray *array) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/garray.c:1288,1
    - Dst: g_assert
      Src: /src/glib/glib/garray.c:1289,1
    - Dst: copy_func
      Src: /src/glib/glib/garray.c:1297,1
    - Dst: ptr_array_new
      Src: /src/glib/glib/garray.c:1291,1
    - Dst: memcpy
      Src: /src/glib/glib/garray.c:1301,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1277
    functionDepth: 0
    functionLinenumber: 1277
    functionLinenumberEnd: 1310
    functionName: ptr_array_new_from_array
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_assert
    - memcpy
    - copy_func
    - ptr_array_new
    linkageType: ''
    returnType: GPtrArray*
    signature: 'static GPtrArray *ptr_array_new_from_array (gpointer *data, gsize
      len, GCopyFunc copy_func, gpointer copy_func_user_data, GDestroyNotify element_free_func,
      gboolean null_terminated) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/garray.c:1700,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - array
    - element_free_func
    argTypes:
    - GPtrArray*
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 1703
      start: 1694
    functionDepth: 0
    functionLinenumber: 1694
    functionLinenumberEnd: 1703
    functionName: g_ptr_array_set_free_func
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_ptr_array_set_free_func (GPtrArray *array, GDestroyNotify element_free_func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:1744,1
    - Dst: g_atomic_ref_count_inc
      Src: /src/glib/glib/garray.c:1746,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1749
      start: 1739
    functionDepth: 0
    functionLinenumber: 1739
    functionLinenumberEnd: 1749
    functionName: g_ptr_array_ref
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_atomic_ref_count_inc
    linkageType: ''
    returnType: GPtrArray*
    signature: 'GPtrArray *g_ptr_array_ref (GPtrArray *array) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:185,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:186,1
    - Dst: g_array_sized_new
      Src: /src/glib/glib/garray.c:189,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/garray.c:191,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:187,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 196
    functionName: g_array_new_take
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_array_sized_new
    - g_return_val_if_fail
    linkageType: ''
    returnType: GArray*
    signature: 'GArray *g_array_new_take (gpointer data, gsize len, gboolean clear,
      gsize element_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptr_array_remove_index
      Src: /src/glib/glib/garray.c:2026,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - array
    - index_
    argTypes:
    - GPtrArray*
    - guint
    constantsTouched: []
    func_position:
      end: 2027
      start: 2022
    functionDepth: 0
    functionLinenumber: 2022
    functionLinenumberEnd: 2027
    functionName: g_ptr_array_remove_index_fast
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - ptr_array_remove_index
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_ptr_array_remove_index_fast (GPtrArray *array, guint index_) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:338,1
    - Dst: g_slice_new
      Src: /src/glib/glib/garray.c:343,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:340,1
    - Dst: g_array_maybe_expand
      Src: /src/glib/glib/garray.c:357,1
    - Dst: g_atomic_ref_count_init
      Src: /src/glib/glib/garray.c:353,1
    - Dst: g_assert
      Src: /src/glib/glib/garray.c:358,1
    - Dst: g_array_zero_terminate
      Src: /src/glib/glib/garray.c:359,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 363
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 363
    functionName: g_array_sized_new
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_assert
    - g_atomic_ref_count_init
    - g_slice_new
    - g_array_zero_terminate
    - g_array_maybe_expand
    linkageType: ''
    returnType: GArray*
    signature: 'GArray *g_array_sized_new (gboolean zero_terminated, gboolean clear,
      guint elt_size, guint reserved_size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:836,1
    - Dst: memcpy
      Src: /src/glib/glib/garray.c:844,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:838,1
    - Dst: g_array_elt_pos
      Src: /src/glib/glib/garray.c:841,1
    - Dst: g_array_elt_pos
      Src: /src/glib/glib/garray.c:844,1
    - Dst: g_array_elt_pos
      Src: /src/glib/glib/garray.c:845,1
    - Dst: g_array_elt_len
      Src: /src/glib/glib/garray.c:846,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/garray.c:850,1
    - Dst: g_array_elt_zero
      Src: /src/glib/glib/garray.c:851,1
    - Dst: g_array_zero_terminate
      Src: /src/glib/glib/garray.c:853,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 856
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 856
    functionName: g_array_remove_index_fast
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_array_elt_len
    - memcpy
    - g_return_val_if_fail
    - G_UNLIKELY
    - g_array_zero_terminate
    - g_array_elt_pos
    - g_array_elt_zero
    linkageType: ''
    returnType: GArray*
    signature: 'GArray *g_array_remove_index_fast (GArray *farray, guint index_) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/glib/garray.c:1133,1
    - Dst: g_ptr_array_maybe_expand
      Src: /src/glib/glib/garray.c:1149,1
    - Dst: g_atomic_ref_count_init
      Src: /src/glib/glib/garray.c:1141,1
    - Dst: g_assert
      Src: /src/glib/glib/garray.c:1150,1
    - Dst: G_LIKELY
      Src: /src/glib/glib/garray.c:1145,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1126
    functionDepth: 0
    functionLinenumber: 1126
    functionLinenumberEnd: 1162
    functionName: ptr_array_new
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_ptr_array_maybe_expand
    - g_assert
    - G_LIKELY
    - g_atomic_ref_count_init
    - g_slice_new
    linkageType: ''
    returnType: GPtrArray*
    signature: 'static GPtrArray *ptr_array_new (guint reserved_size, GDestroyNotify
      element_free_func, gboolean null_terminated) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_steal_pointer
      Src: /src/glib/glib/garray.c:1842,1
    - Dst: g_free
      Src: /src/glib/glib/garray.c:1851,1
    - Dst: g_slice_free1
      Src: /src/glib/glib/garray.c:1869,1
    - Dst: g_new0
      Src: /src/glib/glib/garray.c:1858,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1873
      start: 1827
    functionDepth: 0
    functionLinenumber: 1827
    functionLinenumberEnd: 1873
    functionName: ptr_array_free
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_new0
    - g_free
    - g_slice_free1
    linkageType: ''
    returnType: gpointer*
    signature: 'static gpointer *ptr_array_free (GPtrArray *array, ArrayFreeFlags
      flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptr_array_remove_index
      Src: /src/glib/glib/garray.c:2046,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - array
    - index_
    argTypes:
    - GPtrArray*
    - guint
    constantsTouched: []
    func_position:
      end: 2047
      start: 2042
    functionDepth: 0
    functionLinenumber: 2042
    functionLinenumberEnd: 2047
    functionName: g_ptr_array_steal_index
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - ptr_array_remove_index
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_ptr_array_steal_index (GPtrArray *array, guint index_) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:594,1
    - Dst: memcpy
      Src: /src/glib/glib/garray.c:601,1
    - Dst: g_array_elt_len
      Src: /src/glib/glib/garray.c:602,1
    - Dst: g_array_elt_pos
      Src: /src/glib/glib/garray.c:601,1
    - Dst: g_array_maybe_expand
      Src: /src/glib/glib/garray.c:599,1
    - Dst: g_array_zero_terminate
      Src: /src/glib/glib/garray.c:606,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 609
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 609
    functionName: g_array_append_vals
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_array_elt_len
    - memcpy
    - g_return_val_if_fail
    - g_array_zero_terminate
    - g_array_elt_pos
    - g_array_maybe_expand
    linkageType: ''
    returnType: GArray*
    signature: 'GArray *g_array_append_vals (GArray *farray, gconstpointer data, guint
      len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/garray.c:1122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - rarray
    argTypes:
    - GRealPtrArray*
    constantsTouched: []
    func_position:
      end: 1124
      start: 1119
    functionDepth: 0
    functionLinenumber: 1119
    functionLinenumberEnd: 1124
    functionName: ptr_array_maybe_null_terminate
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - G_UNLIKELY
    linkageType: ''
    returnType: void
    signature: 'static void ptr_array_maybe_null_terminate (GRealPtrArray *rarray) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/glib/glib/garray.c:1885,1
    - Dst: MAX
      Src: /src/glib/glib/garray.c:1895,1
    - Dst: MIN
      Src: /src/glib/glib/garray.c:1896,1
    - Dst: g_error
      Src: /src/glib/glib/garray.c:1889,1
    - Dst: g_nearest_pow
      Src: /src/glib/glib/garray.c:1894,1
    - Dst: g_realloc
      Src: /src/glib/glib/garray.c:1897,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/garray.c:1898,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - array
    - len
    argTypes:
    - GRealPtrArray*
    - guint
    constantsTouched: []
    func_position:
      end: 1902
      start: 1875
    functionDepth: 0
    functionLinenumber: 1875
    functionLinenumberEnd: 1902
    functionName: g_ptr_array_maybe_expand
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_realloc
    - MIN
    - MAX
    - G_UNLIKELY
    - g_nearest_pow
    - g_error
    linkageType: ''
    returnType: void
    signature: 'static void g_ptr_array_maybe_expand (GRealPtrArray *array, guint
      len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_free1
      Src: /src/glib/glib/garray.c:557,1
    - Dst: g_free
      Src: /src/glib/glib/garray.c:543,1
    - Dst: g_array_elt_pos
      Src: /src/glib/glib/garray.c:540,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 561
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 561
    functionName: array_free
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_array_elt_pos
    - g_free
    - g_slice_free1
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *array_free (GRealArray *array, ArrayFreeFlags flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/garray.c:1399,1
    - Dst: ptr_array_new_from_array
      Src: /src/glib/glib/garray.c:1402,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:1400,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1404
      start: 1385
    functionDepth: 0
    functionLinenumber: 1385
    functionLinenumberEnd: 1404
    functionName: g_ptr_array_new_from_null_terminated_array
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_return_val_if_fail
    - ptr_array_new_from_array
    linkageType: ''
    returnType: GPtrArray*
    signature: 'GPtrArray *g_ptr_array_new_from_null_terminated_array (gpointer *data,
      GCopyFunc copy_func, gpointer copy_func_user_data, GDestroyNotify element_free_func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/garray.c:2217,1
    - Dst: g_ptr_array_maybe_expand
      Src: /src/glib/glib/garray.c:2220,1
    - Dst: ptr_array_maybe_null_terminate
      Src: /src/glib/glib/garray.c:2224,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/garray.c:2218,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - array
    - data
    argTypes:
    - GPtrArray*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2225
      start: 2211
    functionDepth: 0
    functionLinenumber: 2211
    functionLinenumberEnd: 2225
    functionName: g_ptr_array_add
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_ptr_array_maybe_expand
    - ptr_array_maybe_null_terminate
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_ptr_array_add (GPtrArray *array, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_extend
      Src: /src/glib/glib/garray.c:2312,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/garray.c:2316,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/garray.c:2319,1
    - Dst: g_free
      Src: /src/glib/glib/garray.c:2320,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - array_to_extend
    - array
    argTypes:
    - GPtrArray*
    - GPtrArray*
    constantsTouched: []
    func_position:
      end: 2321
      start: 2306
    functionDepth: 0
    functionLinenumber: 2306
    functionLinenumberEnd: 2321
    functionName: g_ptr_array_extend_and_steal
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_ptr_array_extend
    - g_free
    - g_ptr_array_unref
    - g_steal_pointer
    linkageType: ''
    returnType: void
    signature: 'void g_ptr_array_extend_and_steal (GPtrArray *array_to_extend, GPtrArray
      *array) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_array_sort_with_data
      Src: /src/glib/glib/garray.c:3020,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - array
    - compare_func
    - user_data
    argTypes:
    - GByteArray*
    - GCompareDataFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 3021
      start: 3015
    functionDepth: 0
    functionLinenumber: 3015
    functionLinenumberEnd: 3021
    functionName: g_byte_array_sort_with_data
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_array_sort_with_data
    linkageType: ''
    returnType: void
    signature: 'void g_byte_array_sort_with_data (GByteArray *array, GCompareDataFunc
      compare_func, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/garray.c:410,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - array
    - clear_func
    argTypes:
    - GArray*
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 413
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 413
    functionName: g_array_set_clear_func
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_array_set_clear_func (GArray *array, GDestroyNotify clear_func) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/garray.c:460,1
    - Dst: g_atomic_ref_count_dec
      Src: /src/glib/glib/garray.c:462,1
    - Dst: array_free
      Src: /src/glib/glib/garray.c:463,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - array
    argTypes:
    - GArray*
    constantsTouched: []
    func_position:
      end: 464
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 464
    functionName: g_array_unref
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_atomic_ref_count_dec
    - array_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_array_unref (GArray *array) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:878,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:880,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:879,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:881,1
    - Dst: g_array_elt_pos
      Src: /src/glib/glib/garray.c:888,1
    - Dst: memmove
      Src: /src/glib/glib/garray.c:892,1
    - Dst: g_array_elt_pos
      Src: /src/glib/glib/garray.c:892,1
    - Dst: g_array_elt_pos
      Src: /src/glib/glib/garray.c:893,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/garray.c:897,1
    - Dst: g_array_elt_zero
      Src: /src/glib/glib/garray.c:898,1
    - Dst: g_array_zero_terminate
      Src: /src/glib/glib/garray.c:900,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 903
      start: 871
    functionDepth: 0
    functionLinenumber: 871
    functionLinenumberEnd: 903
    functionName: g_array_remove_range
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - memmove
    - G_UNLIKELY
    - g_array_zero_terminate
    - g_array_elt_pos
    - g_array_elt_zero
    linkageType: ''
    returnType: GArray*
    signature: 'GArray *g_array_remove_range (GArray *farray, guint index_, guint
      length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptr_array_new
      Src: /src/glib/glib/garray.c:1174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1171
    functionDepth: 0
    functionLinenumber: 1171
    functionLinenumberEnd: 1175
    functionName: g_ptr_array_new
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - ptr_array_new
    linkageType: ''
    returnType: GPtrArray*
    signature: 'GPtrArray *g_ptr_array_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptr_array_remove_index
      Src: /src/glib/glib/garray.c:2068,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - array
    - index_
    argTypes:
    - GPtrArray*
    - guint
    constantsTouched: []
    func_position:
      end: 2069
      start: 2064
    functionDepth: 0
    functionLinenumber: 2064
    functionLinenumberEnd: 2069
    functionName: g_ptr_array_steal_index_fast
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - ptr_array_remove_index
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_ptr_array_steal_index_fast (GPtrArray *array, guint index_) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:2188,1
    - Dst: g_ptr_array_remove_index_fast
      Src: /src/glib/glib/garray.c:2195,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:2189,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - array
    - data
    argTypes:
    - GPtrArray*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2201
      start: 2181
    functionDepth: 0
    functionLinenumber: 2181
    functionLinenumberEnd: 2201
    functionName: g_ptr_array_remove_fast
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_ptr_array_remove_index_fast
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_ptr_array_remove_fast (GPtrArray *array, gpointer data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/garray.c:2259,1
    - Dst: g_ptr_array_maybe_expand
      Src: /src/glib/glib/garray.c:2269,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/garray.c:2260,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/garray.c:2265,1
    - Dst: g_error
      Src: /src/glib/glib/garray.c:2267,1
    - Dst: func
      Src: /src/glib/glib/garray.c:2277,1
    - Dst: memcpy
      Src: /src/glib/glib/garray.c:2281,1
    - Dst: ptr_array_maybe_null_terminate
      Src: /src/glib/glib/garray.c:2287,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 4
    argNames:
    - array_to_extend
    - array
    - func
    - user_data
    argTypes:
    - GPtrArray*
    - GPtrArray*
    - GCopyFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 2288
      start: 2251
    functionDepth: 0
    functionLinenumber: 2251
    functionLinenumberEnd: 2288
    functionName: g_ptr_array_extend
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - memcpy
    - func
    - g_return_if_fail
    - g_ptr_array_maybe_expand
    - ptr_array_maybe_null_terminate
    - G_UNLIKELY
    - g_error
    linkageType: ''
    returnType: void
    signature: 'void g_ptr_array_extend (GPtrArray *array_to_extend, GPtrArray *array,
      GCopyFunc func, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:1470,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1463
    functionDepth: 0
    functionLinenumber: 1463
    functionLinenumberEnd: 1482
    functionName: g_ptr_array_steal
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gpointer*
    signature: 'gpointer *g_ptr_array_steal (GPtrArray *array, gsize *len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_array_sized_new
      Src: /src/glib/glib/garray.c:2771,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2772
      start: 2768
    functionDepth: 0
    functionLinenumber: 2768
    functionLinenumberEnd: 2772
    functionName: g_byte_array_sized_new
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_array_sized_new
    linkageType: ''
    returnType: GByteArray*
    signature: 'GByteArray *g_byte_array_sized_new (guint reserved_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:653,1
    - Dst: g_array_maybe_expand
      Src: /src/glib/glib/garray.c:658,1
    - Dst: memmove
      Src: /src/glib/glib/garray.c:660,1
    - Dst: g_array_elt_pos
      Src: /src/glib/glib/garray.c:660,1
    - Dst: g_array_elt_pos
      Src: /src/glib/glib/garray.c:660,1
    - Dst: g_array_elt_len
      Src: /src/glib/glib/garray.c:661,1
    - Dst: memcpy
      Src: /src/glib/glib/garray.c:663,1
    - Dst: g_array_elt_pos
      Src: /src/glib/glib/garray.c:663,1
    - Dst: g_array_elt_len
      Src: /src/glib/glib/garray.c:663,1
    - Dst: g_array_zero_terminate
      Src: /src/glib/glib/garray.c:667,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 670
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 670
    functionName: g_array_prepend_vals
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_array_elt_len
    - memcpy
    - g_return_val_if_fail
    - memmove
    - g_array_zero_terminate
    - g_array_elt_pos
    - g_array_maybe_expand
    linkageType: ''
    returnType: GArray*
    signature: 'GArray *g_array_prepend_vals (GArray *farray, gconstpointer data,
      guint len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/garray.c:956,1
    - Dst: g_sort_array
      Src: /src/glib/glib/garray.c:959,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - farray
    - compare_func
    - user_data
    argTypes:
    - GArray*
    - GCompareDataFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 964
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 964
    functionName: g_array_sort_with_data
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_sort_array
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_array_sort_with_data (GArray *farray, GCompareDataFunc compare_func,
      gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:1269,1
    - Dst: g_ptr_array_new_take
      Src: /src/glib/glib/garray.c:1271,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/garray.c:1271,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1275
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1275
    functionName: g_ptr_array_new_take_null_terminated
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_return_val_if_fail
    - g_ptr_array_new_take
    linkageType: ''
    returnType: GPtrArray*
    signature: 'GPtrArray *g_ptr_array_new_take_null_terminated (gpointer *data, GDestroyNotify
      element_free_func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_array_prepend_vals
      Src: /src/glib/glib/garray.c:2894,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2897
      start: 2889
    functionDepth: 0
    functionLinenumber: 2889
    functionLinenumberEnd: 2897
    functionName: g_byte_array_prepend
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_array_prepend_vals
    linkageType: ''
    returnType: GByteArray*
    signature: 'GByteArray *g_byte_array_prepend (GByteArray *array, const guint8
      *data, guint len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/garray.c:923,1
    - Dst: g_sort_array
      Src: /src/glib/glib/garray.c:927,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - farray
    - compare_func
    argTypes:
    - GArray*
    - GCompareFunc
    constantsTouched: []
    func_position:
      end: 932
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 932
    functionName: g_array_sort
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_sort_array
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_array_sort (GArray *farray, GCompareFunc compare_func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:1213,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/garray.c:1219,1
    - Dst: ptr_array_new
      Src: /src/glib/glib/garray.c:1216,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:1214,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1205
    functionDepth: 0
    functionLinenumber: 1205
    functionLinenumberEnd: 1224
    functionName: g_ptr_array_new_take
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_return_val_if_fail
    - ptr_array_new
    linkageType: ''
    returnType: GPtrArray*
    signature: 'GPtrArray *g_ptr_array_new_take (gpointer *data, gsize len, GDestroyNotify
      element_free_func) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/garray.c:2492,1
    - Dst: g_sort_array
      Src: /src/glib/glib/garray.c:2495,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - array
    - compare_func
    - user_data
    argTypes:
    - GPtrArray*
    - GCompareDataFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 2500
      start: 2487
    functionDepth: 0
    functionLinenumber: 2487
    functionLinenumberEnd: 2500
    functionName: g_ptr_array_sort_with_data
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_sort_array
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_ptr_array_sort_with_data (GPtrArray *array, GCompareDataFunc
      compare_func, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_array_sort
      Src: /src/glib/glib/garray.c:3003,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - array
    - compare_func
    argTypes:
    - GByteArray*
    - GCompareFunc
    constantsTouched: []
    func_position:
      end: 3004
      start: 2999
    functionDepth: 0
    functionLinenumber: 2999
    functionLinenumberEnd: 3004
    functionName: g_byte_array_sort
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_array_sort
    linkageType: ''
    returnType: void
    signature: 'void g_byte_array_sort (GByteArray *array, GCompareFunc compare_func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_func
      Src: /src/glib/glib/garray.c:2509,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - user_data
    argTypes:
    - gconstpointer
    - gconstpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 2510
      start: 2502
    functionDepth: 0
    functionLinenumber: 2502
    functionLinenumberEnd: 2510
    functionName: compare_ptr_array_values
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - compare_func
    linkageType: ''
    returnType: gint
    signature: 'static inline gint compare_ptr_array_values (gconstpointer a, gconstpointer
      b, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_find_with_equal_func
      Src: /src/glib/glib/garray.c:2623,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - haystack
    - needle
    - index_
    argTypes:
    - GPtrArray*
    - gconstpointer
    - guint*
    constantsTouched: []
    func_position:
      end: 2624
      start: 2618
    functionDepth: 0
    functionLinenumber: 2618
    functionLinenumberEnd: 2624
    functionName: g_ptr_array_find
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_ptr_array_find_with_equal_func
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_ptr_array_find (GPtrArray *haystack, gconstpointer needle,
      guint *index_) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:2975,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:2977,1
    - Dst: g_array_remove_range
      Src: /src/glib/glib/garray.c:2980,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:2978,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:2976,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2981
      start: 2970
    functionDepth: 0
    functionLinenumber: 2970
    functionLinenumberEnd: 2981
    functionName: g_byte_array_remove_range
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_array_remove_range
    linkageType: ''
    returnType: GByteArray*
    signature: 'GByteArray *g_byte_array_remove_range (GByteArray *array, guint index_,
      guint length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:430,1
    - Dst: g_atomic_ref_count_inc
      Src: /src/glib/glib/garray.c:432,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 435
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 435
    functionName: g_array_ref
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_atomic_ref_count_inc
    linkageType: ''
    returnType: GArray*
    signature: 'GArray *g_array_ref (GArray *array) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/garray.c:1921,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/garray.c:1923,1
    - Dst: g_error
      Src: /src/glib/glib/garray.c:1933,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/garray.c:1922,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/garray.c:1931,1
    - Dst: g_ptr_array_maybe_expand
      Src: /src/glib/glib/garray.c:1935,1
    - Dst: ptr_array_maybe_null_terminate
      Src: /src/glib/glib/garray.c:1948,1
    - Dst: g_ptr_array_remove_range
      Src: /src/glib/glib/garray.c:1951,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - array
    - length
    argTypes:
    - GPtrArray*
    - gint
    constantsTouched: []
    func_position:
      end: 1952
      start: 1914
    functionDepth: 0
    functionLinenumber: 1914
    functionLinenumberEnd: 1952
    functionName: g_ptr_array_set_size
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - g_ptr_array_maybe_expand
    - ptr_array_maybe_null_terminate
    - G_UNLIKELY
    - g_ptr_array_remove_range
    - g_error
    linkageType: ''
    returnType: void
    signature: 'void g_ptr_array_set_size (GPtrArray *array, gint length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:2150,1
    - Dst: g_ptr_array_remove_index
      Src: /src/glib/glib/garray.c:2157,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:2151,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - array
    - data
    argTypes:
    - GPtrArray*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2163
      start: 2144
    functionDepth: 0
    functionLinenumber: 2144
    functionLinenumberEnd: 2163
    functionName: g_ptr_array_remove
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_ptr_array_remove_index
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_ptr_array_remove (GPtrArray *array, gpointer data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:1963,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:1966,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:1964,1
    - Dst: memmove
      Src: /src/glib/glib/garray.c:1974,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/garray.c:1981,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 4
    argNames:
    - array
    - index_
    - fast
    - free_element
    argTypes:
    - GPtrArray*
    - guint
    - gboolean
    - gboolean
    constantsTouched: []
    func_position:
      end: 1985
      start: 1954
    functionDepth: 0
    functionLinenumber: 1954
    functionLinenumberEnd: 1985
    functionName: ptr_array_remove_index
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - memmove
    - g_return_val_if_fail
    - G_UNLIKELY
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer ptr_array_remove_index (GPtrArray *array, guint index_,
      gboolean fast, gboolean free_element) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:2094,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:2096,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:2095,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:2097,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:2098,1
    - Dst: memmove
      Src: /src/glib/glib/garray.c:2111,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/garray.c:2117,1
    - Dst: ptr_array_maybe_null_terminate
      Src: /src/glib/glib/garray.c:2123,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2126
      start: 2086
    functionDepth: 0
    functionLinenumber: 2086
    functionLinenumberEnd: 2126
    functionName: g_ptr_array_remove_range
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - memmove
    - g_return_val_if_fail
    - ptr_array_maybe_null_terminate
    - G_UNLIKELY
    linkageType: ''
    returnType: GPtrArray*
    signature: 'GPtrArray *g_ptr_array_remove_range (GPtrArray *array, guint index_,
      guint length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptr_array_new
      Src: /src/glib/glib/garray.c:1565,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1566
      start: 1562
    functionDepth: 0
    functionLinenumber: 1562
    functionLinenumberEnd: 1566
    functionName: g_ptr_array_sized_new
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - ptr_array_new
    linkageType: ''
    returnType: GPtrArray*
    signature: 'GPtrArray *g_ptr_array_sized_new (guint reserved_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_array_ref
      Src: /src/glib/glib/garray.c:2837,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2838
      start: 2834
    functionDepth: 0
    functionLinenumber: 2834
    functionLinenumberEnd: 2838
    functionName: g_byte_array_ref
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_array_ref
    linkageType: ''
    returnType: GByteArray*
    signature: 'GByteArray *g_byte_array_ref (GByteArray *array) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:1517,1
    - Dst: ptr_array_new
      Src: /src/glib/glib/garray.c:1519,1
    - Dst: memcpy
      Src: /src/glib/glib/garray.c:1538,1
    - Dst: func
      Src: /src/glib/glib/garray.c:1534,1
    - Dst: g_ptr_array_maybe_expand
      Src: /src/glib/glib/garray.c:1525,1
    - Dst: ptr_array_maybe_null_terminate
      Src: /src/glib/glib/garray.c:1545,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1549
      start: 1509
    functionDepth: 0
    functionLinenumber: 1509
    functionLinenumberEnd: 1549
    functionName: g_ptr_array_copy
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_return_val_if_fail
    - func
    - g_ptr_array_maybe_expand
    - ptr_array_maybe_null_terminate
    - ptr_array_new
    linkageType: ''
    returnType: GPtrArray*
    signature: 'GPtrArray *g_ptr_array_copy (GPtrArray *array, GCopyFunc func, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:2817,1
    - Dst: g_bytes_new_take
      Src: /src/glib/glib/garray.c:2820,1
    - Dst: g_byte_array_free
      Src: /src/glib/glib/garray.c:2820,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2821
      start: 2812
    functionDepth: 0
    functionLinenumber: 2812
    functionLinenumberEnd: 2821
    functionName: g_byte_array_free_to_bytes
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_bytes_new_take
    - g_byte_array_free
    - g_return_val_if_fail
    linkageType: ''
    returnType: GBytes*
    signature: 'GBytes *g_byte_array_free_to_bytes (GByteArray *array) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_array_append_vals
      Src: /src/glib/glib/garray.c:2873,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2876
      start: 2868
    functionDepth: 0
    functionLinenumber: 2868
    functionLinenumberEnd: 2876
    functionName: g_byte_array_append
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_array_append_vals
    linkageType: ''
    returnType: GByteArray*
    signature: 'GByteArray *g_byte_array_append (GByteArray *array, const guint8 *data,
      guint len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:2744,1
    - Dst: g_assert
      Src: /src/glib/glib/garray.c:2747,1
    - Dst: g_byte_array_new
      Src: /src/glib/glib/garray.c:2745,1
    - Dst: g_assert
      Src: /src/glib/glib/garray.c:2748,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2755
      start: 2737
    functionDepth: 0
    functionLinenumber: 2737
    functionLinenumberEnd: 2755
    functionName: g_byte_array_new_take
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_return_val_if_fail
    - g_byte_array_new
    linkageType: ''
    returnType: GByteArray*
    signature: 'GByteArray *g_byte_array_new_take (guint8 *data, gsize len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:1016,1
    - Dst: G_LIKELY
      Src: /src/glib/glib/garray.c:1019,1
    - Dst: compare_func
      Src: /src/glib/glib/garray.c:1028,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:1017,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 4
    argNames:
    - array
    - target
    - compare_func
    - out_match_index
    argTypes:
    - GArray*
    - gconstpointer
    - GCompareFunc
    - guint*
    constantsTouched: []
    func_position:
      end: 1047
      start: 1005
    functionDepth: 0
    functionLinenumber: 1005
    functionLinenumberEnd: 1047
    functionName: g_array_binary_search
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - compare_func
    - g_return_val_if_fail
    - G_LIKELY
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_array_binary_search (GArray *array, gconstpointer target,
      GCompareFunc compare_func, guint *out_match_index) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/glib/glib/garray.c:1060,1
    - Dst: g_nearest_pow
      Src: /src/glib/glib/garray.c:1069,1
    - Dst: g_assert
      Src: /src/glib/glib/garray.c:1070,1
    - Dst: g_array_elt_len
      Src: /src/glib/glib/garray.c:1069,1
    - Dst: g_error
      Src: /src/glib/glib/garray.c:1064,1
    - Dst: g_array_elt_len
      Src: /src/glib/glib/garray.c:1070,1
    - Dst: MAX
      Src: /src/glib/glib/garray.c:1071,1
    - Dst: g_realloc
      Src: /src/glib/glib/garray.c:1073,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/garray.c:1075,1
    - Dst: memset
      Src: /src/glib/glib/garray.c:1076,1
    - Dst: MIN
      Src: /src/glib/glib/garray.c:1079,1
    - Dst: g_array_elt_pos
      Src: /src/glib/glib/garray.c:1076,1
    - Dst: g_array_elt_len
      Src: /src/glib/glib/garray.c:1077,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 2
    argNames:
    - array
    - len
    argTypes:
    - GRealArray*
    - guint
    constantsTouched: []
    func_position:
      end: 1081
      start: 1049
    functionDepth: 0
    functionLinenumber: 1049
    functionLinenumberEnd: 1081
    functionName: g_array_maybe_expand
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_array_elt_len
    - g_assert
    - g_realloc
    - MIN
    - MAX
    - G_UNLIKELY
    - g_nearest_pow
    - g_error
    - g_array_elt_pos
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void g_array_maybe_expand (GRealArray *array, guint len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_array_sized_new
      Src: /src/glib/glib/garray.c:2694,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2695
      start: 2691
    functionDepth: 0
    functionLinenumber: 2691
    functionLinenumberEnd: 2695
    functionName: g_byte_array_new
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_array_sized_new
    linkageType: ''
    returnType: GByteArray*
    signature: 'GByteArray *g_byte_array_new (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/garray.c:2657,1
    - Dst: equal_func
      Src: /src/glib/glib/garray.c:2664,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/garray.c:2664,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 4
    argNames:
    - haystack
    - needle
    - equal_func
    - index_
    argTypes:
    - GPtrArray*
    - gconstpointer
    - GEqualFunc
    - guint*
    constantsTouched: []
    func_position:
      end: 2673
      start: 2649
    functionDepth: 0
    functionLinenumber: 2649
    functionLinenumberEnd: 2673
    functionName: g_ptr_array_find_with_equal_func
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_ptr_array_index
    - equal_func
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_ptr_array_find_with_equal_func (GPtrArray *haystack, gconstpointer
      needle, GEqualFunc equal_func, guint *index_) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_array_steal
      Src: /src/glib/glib/garray.c:2716,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2717
      start: 2712
    functionDepth: 0
    functionLinenumber: 2712
    functionLinenumberEnd: 2717
    functionName: g_byte_array_steal
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_array_steal
    linkageType: ''
    returnType: guint8*
    signature: 'guint8 *g_byte_array_steal (GByteArray *array, gsize *len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_array_unref
      Src: /src/glib/glib/garray.c:2854,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - array
    argTypes:
    - GByteArray*
    constantsTouched: []
    func_position:
      end: 2855
      start: 2851
    functionDepth: 0
    functionLinenumber: 2851
    functionLinenumberEnd: 2855
    functionName: g_byte_array_unref
    functionSourceFile: /src/glib/glib/garray.c
    functionUses: []
    functionsReached:
    - g_array_unref
    linkageType: ''
    returnType: void
    signature: 'void g_byte_array_unref (GByteArray *array) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_foreach
      Src: /src/glib/glib/gslist.c:148,1
    - Dst: g_slist_free
      Src: /src/glib/glib/gslist.c:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - list
    - free_func
    argTypes:
    - GSList*
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 150
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 150
    functionName: g_slist_free_full
    functionSourceFile: /src/glib/glib/gslist.c
    functionUses: []
    functionsReached:
    - g_slist_foreach
    - g_slist_free
    linkageType: ''
    returnType: void
    signature: "void g_slist_free_full (GSList *list,\t\t GDestroyNotify free_func) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_slist_remove_link
      Src: /src/glib/glib/gslist.c:471,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 472
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 472
    functionName: g_slist_remove_link
    functionSourceFile: /src/glib/glib/gslist.c
    functionUses: []
    functionsReached:
    - _g_slist_remove_link
    linkageType: ''
    returnType: GSList*
    signature: 'GSList *g_slist_remove_link (GSList *list, GSList *link_) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gslist.c:696,1
    - Dst: func
      Src: /src/glib/glib/gslist.c:700,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 706
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 706
    functionName: g_slist_find_custom
    functionSourceFile: /src/glib/glib/gslist.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - func
    linkageType: ''
    returnType: GSList*
    signature: 'GSList *g_slist_find_custom (GSList *list, gconstpointer data, GCompareFunc
      func) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 969
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 969
    functionName: g_slist_sort_merge
    functionSourceFile: /src/glib/glib/gslist.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GSList*
    signature: 'static GSList *g_slist_sort_merge (GSList *l1, GSList *l2, GFunc compare_func,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_sort_real
      Src: /src/glib/glib/gslist.c:1037,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1032
    functionDepth: 0
    functionLinenumber: 1032
    functionLinenumberEnd: 1038
    functionName: g_slist_sort_with_data
    functionSourceFile: /src/glib/glib/gslist.c
    functionUses: []
    functionsReached:
    - g_slist_sort_real
    linkageType: ''
    returnType: GSList*
    signature: 'GSList *g_slist_sort_with_data (GSList *list, GCompareDataFunc compare_func,
      gpointer user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_sort_merge
      Src: /src/glib/glib/gslist.c:995,1
    - Dst: g_slist_sort_real
      Src: /src/glib/glib/gslist.c:996,1
    - Dst: g_slist_sort_real
      Src: /src/glib/glib/gslist.c:995,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 999
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 999
    functionName: g_slist_sort_real
    functionSourceFile: /src/glib/glib/gslist.c
    functionUses: []
    functionsReached:
    - g_slist_sort_merge
    - g_slist_sort_real
    linkageType: ''
    returnType: GSList*
    signature: 'static GSList *g_slist_sort_real (GSList *list, GFunc compare_func,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_slist_free1
      Src: /src/glib/glib/gslist.c:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - GSList*
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: g_slist_free_1
    functionSourceFile: /src/glib/glib/gslist.c
    functionUses: []
    functionsReached:
    - _g_slist_free1
    linkageType: ''
    returnType: void
    signature: 'void g_slist_free_1 (GSList *list) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 447
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 447
    functionName: _g_slist_remove_link
    functionSourceFile: /src/glib/glib/gslist.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GSList*
    signature: 'static inline GSList *_g_slist_remove_link (GSList *list, GSList *link) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 672
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 672
    functionName: g_slist_find
    functionSourceFile: /src/glib/glib/gslist.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GSList*
    signature: 'GSList *g_slist_find (GSList *list, gconstpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - list
    - data
    argTypes:
    - GSList*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 764
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 764
    functionName: g_slist_index
    functionSourceFile: /src/glib/glib/gslist.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint
    signature: 'gint g_slist_index (GSList *list, gconstpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_sort_real
      Src: /src/glib/glib/gslist.c:1019,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1020
    functionName: g_slist_sort
    functionSourceFile: /src/glib/glib/gslist.c
    functionUses: []
    functionsReached:
    - g_slist_sort_real
    linkageType: ''
    returnType: GSList*
    signature: 'GSList *g_slist_sort (GSList *list, GCompareFunc compare_func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_free_chain
      Src: /src/glib/glib/gslist.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - GSList*
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: g_slist_free
    functionSourceFile: /src/glib/glib/gslist.c
    functionUses: []
    functionsReached:
    - g_slice_free_chain
    linkageType: ''
    returnType: void
    signature: 'void g_slist_free (GSList *list) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_slist_remove_data
      Src: /src/glib/glib/gslist.c:404,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 405
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 405
    functionName: g_slist_remove
    functionSourceFile: /src/glib/glib/gslist.c
    functionUses: []
    functionsReached:
    - _g_slist_remove_data
    linkageType: ''
    returnType: GSList*
    signature: 'GSList *g_slist_remove (GSList *list, gconstpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_copy_deep
      Src: /src/glib/glib/gslist.c:517,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 518
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 518
    functionName: g_slist_copy
    functionSourceFile: /src/glib/glib/gslist.c
    functionUses: []
    functionsReached:
    - g_slist_copy_deep
    linkageType: ''
    returnType: GSList*
    signature: 'GSList *g_slist_copy (GSList *list) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_slist_alloc0
      Src: /src/glib/glib/gslist.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: g_slist_alloc
    functionSourceFile: /src/glib/glib/gslist.c
    functionUses: []
    functionsReached:
    - _g_slist_alloc0
    linkageType: ''
    returnType: GSList*
    signature: 'GSList *g_slist_alloc (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_slist_remove_link
      Src: /src/glib/glib/gslist.c:495,1
    - Dst: _g_slist_free1
      Src: /src/glib/glib/gslist.c:496,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 499
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 499
    functionName: g_slist_delete_link
    functionSourceFile: /src/glib/glib/gslist.c
    functionUses: []
    functionsReached:
    - _g_slist_free1
    - _g_slist_remove_link
    linkageType: ''
    returnType: GSList*
    signature: 'GSList *g_slist_delete_link (GSList *list, GSList *link_) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_free_full
      Src: /src/glib/glib/gslist.c:1063,1
    - Dst: g_slist_free
      Src: /src/glib/glib/gslist.c:1065,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - slist_ptr
    - destroy
    argTypes:
    - GSList**
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 1067
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1067
    functionName: (g_clear_slist)
    functionSourceFile: /src/glib/glib/gslist.c
    functionUses: []
    functionsReached:
    - g_slist_free_full
    - g_slist_free
    linkageType: ''
    returnType: void
    signature: 'void (g_clear_slist) (GSList **slist_ptr, GDestroyNotify destroy) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _g_slist_alloc
      Src: /src/glib/glib/gslist.c:560,1
    - Dst: func
      Src: /src/glib/glib/gslist.c:572,1
    - Dst: func
      Src: /src/glib/glib/gslist.c:562,1
    - Dst: _g_slist_alloc
      Src: /src/glib/glib/gslist.c:569,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 581
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 581
    functionName: g_slist_copy_deep
    functionSourceFile: /src/glib/glib/gslist.c
    functionUses: []
    functionsReached:
    - _g_slist_alloc
    - func
    linkageType: ''
    returnType: GSList*
    signature: 'GSList *g_slist_copy_deep (GSList *list, GCopyFunc func, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_slist_remove_data
      Src: /src/glib/glib/gslist.c:423,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 424
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 424
    functionName: g_slist_remove_all
    functionSourceFile: /src/glib/glib/gslist.c
    functionUses: []
    functionsReached:
    - _g_slist_remove_data
    linkageType: ''
    returnType: GSList*
    signature: 'GSList *g_slist_remove_all (GSList *list, gconstpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_slist_alloc
      Src: /src/glib/glib/gslist.c:230,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 235
    functionName: g_slist_prepend
    functionSourceFile: /src/glib/glib/gslist.c
    functionUses: []
    functionsReached:
    - _g_slist_alloc
    linkageType: ''
    returnType: GSList*
    signature: 'GSList *g_slist_prepend (GSList *list, gpointer data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _g_slist_alloc
      Src: /src/glib/glib/gslist.c:305,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gslist.c:308,1
    - Dst: _g_slist_alloc
      Src: /src/glib/glib/gslist.c:320,1
    - Dst: _g_slist_alloc
      Src: /src/glib/glib/gslist.c:328,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 336
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 336
    functionName: g_slist_insert_before
    functionSourceFile: /src/glib/glib/gslist.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - _g_slist_alloc
    linkageType: ''
    returnType: GSList*
    signature: 'GSList *g_slist_insert_before (GSList *slist, GSList *sibling, gpointer
      data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_last
      Src: /src/glib/glib/gslist.c:355,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 361
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 361
    functionName: g_slist_concat
    functionSourceFile: /src/glib/glib/gslist.c
    functionUses: []
    functionsReached:
    - g_slist_last
    linkageType: ''
    returnType: GSList*
    signature: 'GSList *g_slist_concat (GSList *list1, GSList *list2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - list
    - n
    argTypes:
    - GSList*
    - guint
    constantsTouched: []
    func_position:
      end: 647
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 647
    functionName: g_slist_nth_data
    functionSourceFile: /src/glib/glib/gslist.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_slist_nth_data (GSList *list, guint n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - list
    - llink
    argTypes:
    - GSList*
    - GSList*
    constantsTouched: []
    func_position:
      end: 735
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 735
    functionName: g_slist_position
    functionSourceFile: /src/glib/glib/gslist.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint
    signature: 'gint g_slist_position (GSList *list, GSList *llink) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - list
    argTypes:
    - GSList*
    constantsTouched: []
    func_position:
      end: 814
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 814
    functionName: g_slist_length
    functionSourceFile: /src/glib/glib/gslist.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint
    signature: 'guint g_slist_length (GSList *list) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - list
    - func
    - user_data
    argTypes:
    - GSList*
    - GFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 838
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 838
    functionName: g_slist_foreach
    functionSourceFile: /src/glib/glib/gslist.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void g_slist_foreach (GSList *list, GFunc func, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_insert_sorted_real
      Src: /src/glib/glib/gslist.c:937,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 938
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 938
    functionName: g_slist_insert_sorted_with_data
    functionSourceFile: /src/glib/glib/gslist.c
    functionUses: []
    functionsReached:
    - g_slist_insert_sorted_real
    linkageType: ''
    returnType: GSList*
    signature: 'GSList *g_slist_insert_sorted_with_data (GSList *list, gpointer data,
      GCompareDataFunc func, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_free_1
      Src: /src/glib/glib/gslist.c:377,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 388
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 388
    functionName: _g_slist_remove_data
    functionSourceFile: /src/glib/glib/gslist.c
    functionUses: []
    functionsReached:
    - g_slist_free_1
    linkageType: ''
    returnType: GSList*
    signature: 'static GSList *_g_slist_remove_data (GSList *list, gconstpointer data,
      gboolean all) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gslist.c:851,1
    - Dst: _g_slist_alloc
      Src: /src/glib/glib/gslist.c:871,1
    - Dst: _g_slist_alloc
      Src: /src/glib/glib/gslist.c:855,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 892
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 892
    functionName: g_slist_insert_sorted_real
    functionSourceFile: /src/glib/glib/gslist.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - _g_slist_alloc
    linkageType: ''
    returnType: GSList*
    signature: 'static GSList *g_slist_insert_sorted_real (GSList *list, gpointer
      data, GFunc func, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _g_slist_alloc
      Src: /src/glib/glib/gslist.c:189,1
    - Dst: g_slist_last
      Src: /src/glib/glib/gslist.c:195,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 203
    functionName: g_slist_append
    functionSourceFile: /src/glib/glib/gslist.c
    functionUses: []
    functionsReached:
    - g_slist_last
    - _g_slist_alloc
    linkageType: ''
    returnType: GSList*
    signature: 'GSList *g_slist_append (GSList *list, gpointer data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_append
      Src: /src/glib/glib/gslist.c:260,1
    - Dst: _g_slist_alloc
      Src: /src/glib/glib/gslist.c:264,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/gslist.c:262,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 286
    functionName: g_slist_insert
    functionSourceFile: /src/glib/glib/gslist.c
    functionUses: []
    functionsReached:
    - _g_slist_alloc
    - g_slist_append
    - g_slist_prepend
    linkageType: ''
    returnType: GSList*
    signature: 'GSList *g_slist_insert (GSList *list, gpointer data, gint position) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 607
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 607
    functionName: g_slist_reverse
    functionSourceFile: /src/glib/glib/gslist.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GSList*
    signature: 'GSList *g_slist_reverse (GSList *list) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 627
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 627
    functionName: g_slist_nth
    functionSourceFile: /src/glib/glib/gslist.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GSList*
    signature: 'GSList *g_slist_nth (GSList *list, guint n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 787
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 787
    functionName: g_slist_last
    functionSourceFile: /src/glib/glib/gslist.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GSList*
    signature: 'GSList *g_slist_last (GSList *list) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_insert_sorted_real
      Src: /src/glib/glib/gslist.c:912,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 913
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 913
    functionName: g_slist_insert_sorted
    functionSourceFile: /src/glib/glib/gslist.c
    functionUses: []
    functionsReached:
    - g_slist_insert_sorted_real
    linkageType: ''
    returnType: GSList*
    signature: 'GSList *g_slist_insert_sorted (GSList *list, gpointer data, GCompareFunc
      func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/glib/glib/gjournal-private.c:37,1
    - Dst: strlen
      Src: /src/glib/glib/gjournal-private.c:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - str
    - prefix
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: str_has_prefix
    functionSourceFile: /src/glib/glib/gjournal-private.c
    functionUses: []
    functionsReached:
    - strncmp
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int str_has_prefix (const char *str, const char *prefix) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/glib/glib/gjournal-private.c:68,1
    - Dst: str_has_prefix
      Src: /src/glib/glib/gjournal-private.c:72,1
    - Dst: str_has_prefix
      Src: /src/glib/glib/gjournal-private.c:73,1
    - Dst: getpeername
      Src: /src/glib/glib/gjournal-private.c:70,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - output_fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 76
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 76
    functionName: _g_fd_is_journal
    functionSourceFile: /src/glib/glib/gjournal-private.c
    functionUses: []
    functionsReached:
    - str_has_prefix
    - memset
    - getpeername
    linkageType: ''
    returnType: int
    signature: 'int _g_fd_is_journal (int output_fd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/gutilsprivate.h:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - num
    argTypes:
    - gsize
    constantsTouched: []
    func_position:
      end: 56
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 56
    functionName: g_nearest_pow
    functionSourceFile: /src/glib/glib/gutilsprivate.h
    functionUses: []
    functionsReached:
    - g_assert
    linkageType: ''
    returnType: gsize
    signature: 'static inline gsize g_nearest_pow (gsize num) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _isnan
      Src: /src/glib/glib/gutilsprivate.h:75,1
    - Dst: isnan
      Src: /src/glib/glib/gutilsprivate.h:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - d
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 79
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 79
    functionName: g_isnan
    functionSourceFile: /src/glib/glib/gutilsprivate.h
    functionUses: []
    functionsReached:
    - _isnan
    - isnan
    linkageType: ''
    returnType: int
    signature: 'static inline int g_isnan (double d) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gconvert.c:314,1
    - Dst: g_malloc
      Src: /src/glib/glib/gconvert.c:324,1
    - Dst: g_iconv
      Src: /src/glib/glib/gconvert.c:329,1
    - Dst: g_iconv
      Src: /src/glib/glib/gconvert.c:331,1
    - Dst: strlen
      Src: /src/glib/glib/gconvert.c:317,1
    - Dst: g_realloc
      Src: /src/glib/glib/gconvert.c:346,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gconvert.c:353,1
    - Dst: _
      Src: /src/glib/glib/gconvert.c:354,1
    - Dst: g_set_error
      Src: /src/glib/glib/gconvert.c:361,1
    - Dst: _
      Src: /src/glib/glib/gconvert.c:362,1
    - Dst: g_strerror
      Src: /src/glib/glib/gconvert.c:363,1
    - Dst: _
      Src: /src/glib/glib/gconvert.c:373,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gconvert.c:372,1
    - Dst: memset
      Src: /src/glib/glib/gconvert.c:389,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gconvert.c:399,1
    - Dst: g_free
      Src: /src/glib/glib/gconvert.c:411,1
    - Dst: _
      Src: /src/glib/glib/gconvert.c:400,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 74
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 416
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 416
    functionName: g_convert_with_iconv
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_return_val_if_fail
    - g_iconv
    - strlen
    - g_realloc
    - g_strerror
    - g_free
    - g_malloc
    - g_set_error_literal
    - _
    - memset
    linkageType: ''
    returnType: gchar*
    signature: "gchar *g_convert_with_iconv (const gchar *str,\t\t gssize len,\t\t\
      \ GIConv converter,\t\t gsize *bytes_read, \t\t gsize *bytes_written, \t\t GError\
      \ **error) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gconvert.c:1347,1
    - Dst: ACCEPTABLE
      Src: /src/glib/glib/gconvert.c:1358,1
    - Dst: ACCEPTABLE
      Src: /src/glib/glib/gconvert.c:1369,1
    - Dst: g_malloc
      Src: /src/glib/glib/gconvert.c:1362,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1382
      start: 1334
    functionDepth: 0
    functionLinenumber: 1334
    functionLinenumberEnd: 1382
    functionName: g_escape_uri_string
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_malloc
    - ACCEPTABLE
    linkageType: ''
    returnType: gchar*
    signature: "static gchar *g_escape_uri_string (const gchar *string, \t\t UnsafeCharacterSet\
      \ mask) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/gconvert.c:1035,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gconvert.c:1036,1
    - Dst: g_free
      Src: /src/glib/glib/gconvert.c:1037,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1038
      start: 1031
    functionDepth: 0
    functionLinenumber: 1031
    functionLinenumberEnd: 1038
    functionName: filename_charset_cache_free
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - g_strfreev
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void filename_charset_cache_free (gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/gconvert.c:1400,1
    - Dst: g_escape_uri_string
      Src: /src/glib/glib/gconvert.c:1415,1
    - Dst: strchr
      Src: /src/glib/glib/gconvert.c:1403,1
    - Dst: g_strconcat
      Src: /src/glib/glib/gconvert.c:1417,1
    - Dst: g_escape_uri_string
      Src: /src/glib/glib/gconvert.c:1412,1
    - Dst: g_free
      Src: /src/glib/glib/gconvert.c:1424,1
    - Dst: g_free
      Src: /src/glib/glib/gconvert.c:1427,1
    - Dst: g_free
      Src: /src/glib/glib/gconvert.c:1428,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1431
      start: 1385
    functionDepth: 0
    functionLinenumber: 1385
    functionLinenumberEnd: 1431
    functionName: g_escape_file_uri
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_strconcat
    - strchr
    - g_escape_uri_string
    - g_free
    linkageType: ''
    returnType: gchar*
    signature: "static gchar *g_escape_file_uri (const gchar *hostname,\t\t const\
      \ gchar *pathname) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_filename_to_uri
      Src: /src/glib/glib/gconvert.c:1984,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1985
      start: 1979
    functionDepth: 0
    functionLinenumber: 1979
    functionLinenumberEnd: 1985
    functionName: g_filename_to_uri_utf8
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - g_filename_to_uri
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_filename_to_uri_utf8 (const gchar *filename, const gchar
      *hostname, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_get_filename_charsets
      Src: /src/glib/glib/gconvert.c:1171,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 1
    argNames:
    - filename_charset
    argTypes:
    - gchar**
    constantsTouched: []
    func_position:
      end: 1177
      start: 1165
    functionDepth: 0
    functionLinenumber: 1165
    functionLinenumberEnd: 1177
    functionName: get_filename_charset
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - g_get_filename_charsets
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean get_filename_charset (const gchar **filename_charset) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_filename_charset
      Src: /src/glib/glib/gconvert.c:1275,1
    - Dst: convert_checked
      Src: /src/glib/glib/gconvert.c:1278,1
    - Dst: strdup_len
      Src: /src/glib/glib/gconvert.c:1276,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1266
    functionDepth: 0
    functionLinenumber: 1266
    functionLinenumberEnd: 1282
    functionName: g_filename_from_utf8
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - get_filename_charset
    - convert_checked
    - strdup_len
    linkageType: ''
    returnType: gchar*
    signature: "gchar *g_filename_from_utf8 (const gchar *utf8string,\t\t gssize len,\
      \ \t\t gsize *bytes_read, \t\t gsize *bytes_written,\t\t GError **error) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/glib/glib/gconvert.c:834,1
    - Dst: memchr
      Src: /src/glib/glib/gconvert.c:858,1
    - Dst: _
      Src: /src/glib/glib/gconvert.c:843,1
    - Dst: g_convert
      Src: /src/glib/glib/gconvert.c:848,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gconvert.c:842,1
    - Dst: g_free
      Src: /src/glib/glib/gconvert.c:860,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gconvert.c:863,1
    - Dst: _
      Src: /src/glib/glib/gconvert.c:864,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 871
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 871
    functionName: convert_checked
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - g_set_error_literal
    - g_convert
    - _
    - memchr
    - g_free
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *convert_checked (const gchar *string, gssize len, const
      gchar *to_codeset, const gchar *from_codeset, ConvertCheckFlags flags, gsize
      *bytes_read, gsize *bytes_written, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gconvert.c:1223,1
    - Dst: convert_checked
      Src: /src/glib/glib/gconvert.c:1228,1
    - Dst: get_filename_charset
      Src: /src/glib/glib/gconvert.c:1225,1
    - Dst: strdup_len
      Src: /src/glib/glib/gconvert.c:1226,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1214
    functionDepth: 0
    functionLinenumber: 1214
    functionLinenumberEnd: 1232
    functionName: g_filename_to_utf8
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - get_filename_charset
    - convert_checked
    - g_return_val_if_fail
    - strdup_len
    linkageType: ''
    returnType: gchar*
    signature: "gchar *g_filename_to_utf8 (const gchar *opsysstring, \t\t gssize len,\
      \ \t\t gsize *bytes_read, \t\t gsize *bytes_written,\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_tolower
      Src: /src/glib/glib/gconvert.c:1297,1
    - Dst: g_ascii_tolower
      Src: /src/glib/glib/gconvert.c:1297,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - haystack
    - needle
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1304
      start: 1287
    functionDepth: 0
    functionLinenumber: 1287
    functionLinenumberEnd: 1304
    functionName: has_case_prefix
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - g_ascii_tolower
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean has_case_prefix (const gchar *haystack, const gchar
      *needle) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/gconvert.c:1781,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/gconvert.c:1810,1
    - Dst: g_ascii_isspace
      Src: /src/glib/glib/gconvert.c:1796,1
    - Dst: g_ascii_isspace
      Src: /src/glib/glib/gconvert.c:1806,1
    - Dst: g_strndup
      Src: /src/glib/glib/gconvert.c:1810,1
    - Dst: strchr
      Src: /src/glib/glib/gconvert.c:1813,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/gconvert.c:1818,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/gconvert.c:1820,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1821
      start: 1775
    functionDepth: 0
    functionLinenumber: 1775
    functionLinenumberEnd: 1821
    functionName: g_uri_list_extract_uris
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - g_ascii_isspace
    - g_strndup
    - strchr
    - g_ptr_array_free
    - g_ptr_array_new
    - g_ptr_array_add
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **g_uri_list_extract_uris (const gchar *uri_list) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_filename_from_utf8
      Src: /src/glib/glib/gconvert.c:1968,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1969
      start: 1961
    functionDepth: 0
    functionLinenumber: 1961
    functionLinenumberEnd: 1969
    functionName: g_filename_from_utf8_utf8
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - g_filename_from_utf8
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_filename_from_utf8_utf8 (const gchar *utf8string, gssize
      len, gsize *bytes_read, gsize *bytes_written, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: iconv_open
      Src: /src/glib/glib/gconvert.c:66,1
    - Dst: iconvctl
      Src: /src/glib/glib/gconvert.c:77,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - to_codeset
    - from_codeset
    - cd
    argTypes:
    - char*
    - char*
    - iconv_t*
    constantsTouched: []
    func_position:
      end: 81
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 81
    functionName: try_conversion
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - iconv_open
    - iconvctl
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean try_conversion (const char *to_codeset,\t\tconst char\
      \ *from_codeset,\t\ticonv_t *cd) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_filename_to_utf8
      Src: /src/glib/glib/gconvert.c:1958,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1959
      start: 1951
    functionDepth: 0
    functionLinenumber: 1951
    functionLinenumberEnd: 1959
    functionName: g_filename_to_utf8_utf8
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - g_filename_to_utf8
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_filename_to_utf8_utf8 (const gchar *opsysstring, gssize len,
      gsize *bytes_read, gsize *bytes_written, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_filename_from_uri
      Src: /src/glib/glib/gconvert.c:1976,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1977
      start: 1971
    functionDepth: 0
    functionLinenumber: 1971
    functionLinenumberEnd: 1977
    functionName: g_filename_from_uri_utf8
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - g_filename_from_uri
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_filename_from_uri_utf8 (const gchar *uri, gchar **hostname,
      GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gconvert.c:1731,1
    - Dst: g_path_is_absolute
      Src: /src/glib/glib/gconvert.c:1733,1
    - Dst: g_set_error
      Src: /src/glib/glib/gconvert.c:1735,1
    - Dst: _
      Src: /src/glib/glib/gconvert.c:1736,1
    - Dst: g_utf8_validate
      Src: /src/glib/glib/gconvert.c:1742,1
    - Dst: hostname_validate
      Src: /src/glib/glib/gconvert.c:1743,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gconvert.c:1745,1
    - Dst: _
      Src: /src/glib/glib/gconvert.c:1746,1
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/glib/gconvert.c:1752,1
    - Dst: g_escape_file_uri
      Src: /src/glib/glib/gconvert.c:1756,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1759
      start: 1724
    functionDepth: 0
    functionLinenumber: 1724
    functionLinenumberEnd: 1759
    functionName: g_filename_to_uri
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_return_val_if_fail
    - g_ascii_strcasecmp
    - g_set_error_literal
    - hostname_validate
    - g_escape_file_uri
    - _
    - g_utf8_validate
    - g_path_is_absolute
    linkageType: ''
    returnType: gchar*
    signature: "gchar *g_filename_to_uri (const gchar *filename,\t\t const gchar *hostname,\t\
      \t GError **error) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: try_conversion
      Src: /src/glib/glib/gconvert.c:124,1
    - Dst: _g_charset_get_aliases
      Src: /src/glib/glib/gconvert.c:127,1
    - Dst: try_conversion
      Src: /src/glib/glib/gconvert.c:134,1
    - Dst: _g_charset_get_aliases
      Src: /src/glib/glib/gconvert.c:126,1
    - Dst: try_to_aliases
      Src: /src/glib/glib/gconvert.c:137,1
    - Dst: try_to_aliases
      Src: /src/glib/glib/gconvert.c:144,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 14
    argCount: 2
    argNames:
    - to_codeset
    - from_codeset
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 150
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 150
    functionName: g_iconv_open
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - try_to_aliases
    - try_conversion
    - _g_charset_get_aliases
    linkageType: ''
    returnType: GIConv
    signature: "GIConv g_iconv_open (const gchar *to_codeset,\t const gchar *from_codeset) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_iconv_open
      Src: /src/glib/glib/gconvert.c:218,1
    - Dst: g_set_error
      Src: /src/glib/glib/gconvert.c:230,1
    - Dst: _
      Src: /src/glib/glib/gconvert.c:231,1
    - Dst: g_set_error
      Src: /src/glib/glib/gconvert.c:226,1
    - Dst: _
      Src: /src/glib/glib/gconvert.c:227,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - to_codeset
    - from_codeset
    - error
    argTypes:
    - gchar*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 237
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 237
    functionName: open_converter
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_iconv_open
    - _
    linkageType: ''
    returnType: GIConv
    signature: "static GIConv open_converter (const gchar *to_codeset,\t\tconst gchar\
      \ *from_codeset,\t\tGError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _g_get_time_charset
      Src: /src/glib/glib/gconvert.c:941,1
    - Dst: strdup_len
      Src: /src/glib/glib/gconvert.c:942,1
    - Dst: convert_checked
      Src: /src/glib/glib/gconvert.c:944,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 947
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 947
    functionName: _g_time_locale_to_utf8
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - strdup_len
    - convert_checked
    - _g_get_time_charset
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *_g_time_locale_to_utf8 (const gchar *opsysstring, gssize len,
      gsize *bytes_read, gsize *bytes_written, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_isalnum
      Src: /src/glib/glib/gconvert.c:1514,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - gunichar
    constantsTouched: []
    func_position:
      end: 1515
      start: 1511
    functionDepth: 0
    functionLinenumber: 1511
    functionLinenumberEnd: 1515
    functionName: is_asciialphanum
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - g_ascii_isalnum
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_asciialphanum (gunichar c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_iconv_close
      Src: /src/glib/glib/gconvert.c:245,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - cd
    argTypes:
    - GIConv
    constantsTouched: []
    func_position:
      end: 246
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 246
    functionName: close_converter
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - g_iconv_close
    linkageType: ''
    returnType: int
    signature: 'static int close_converter (GIConv cd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_isalpha
      Src: /src/glib/glib/gconvert.c:1520,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - gunichar
    constantsTouched: []
    func_position:
      end: 1521
      start: 1517
    functionDepth: 0
    functionLinenumber: 1517
    functionLinenumberEnd: 1521
    functionName: is_asciialpha
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - g_ascii_isalpha
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_asciialpha (gunichar c) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: try_conversion
      Src: /src/glib/glib/gconvert.c:93,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 4
    argCount: 3
    argNames:
    - to_aliases
    - from_codeset
    - cd
    argTypes:
    - char**
    - char*
    - iconv_t*
    constantsTouched: []
    func_position:
      end: 101
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 101
    functionName: try_to_aliases
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - try_conversion
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean try_to_aliases (const char **to_aliases,\t\tconst\
      \ char *from_codeset,\t\ticonv_t *cd) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_get_charset
      Src: /src/glib/glib/gconvert.c:918,1
    - Dst: convert_checked
      Src: /src/glib/glib/gconvert.c:921,1
    - Dst: strdup_len
      Src: /src/glib/glib/gconvert.c:919,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 924
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 924
    functionName: g_locale_to_utf8
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - strdup_len
    - g_get_charset
    - convert_checked
    linkageType: ''
    returnType: gchar*
    signature: "gchar *g_locale_to_utf8 (const gchar *opsysstring,\t\t gssize len,\
      \ \t\t gsize *bytes_read, \t\t gsize *bytes_written,\t\t GError **error) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_get_filename_charsets
      Src: /src/glib/glib/gconvert.c:1898,1
    - Dst: g_strdup
      Src: /src/glib/glib/gconvert.c:1903,1
    - Dst: g_utf8_make_valid
      Src: /src/glib/glib/gconvert.c:1925,1
    - Dst: g_convert
      Src: /src/glib/glib/gconvert.c:1913,1
    - Dst: g_utf8_validate
      Src: /src/glib/glib/gconvert.c:1902,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1928
      start: 1890
    functionDepth: 0
    functionLinenumber: 1890
    functionLinenumberEnd: 1928
    functionName: g_filename_display_name
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_utf8_make_valid
    - g_convert
    - g_utf8_validate
    - g_get_filename_charsets
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_filename_display_name (const gchar *filename) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iconv_close
      Src: /src/glib/glib/gconvert.c:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - converter
    argTypes:
    - GIConv
    constantsTouched: []
    func_position:
      end: 209
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 209
    functionName: g_iconv_close
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - iconv_close
    linkageType: ''
    returnType: gint
    signature: 'gint g_iconv_close (GIConv converter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_get_charset
      Src: /src/glib/glib/gconvert.c:1013,1
    - Dst: convert_checked
      Src: /src/glib/glib/gconvert.c:1016,1
    - Dst: strdup_len
      Src: /src/glib/glib/gconvert.c:1014,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1004
    functionDepth: 0
    functionLinenumber: 1004
    functionLinenumberEnd: 1019
    functionName: g_locale_from_utf8
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - strdup_len
    - g_get_charset
    - convert_checked
    linkageType: ''
    returnType: gchar*
    signature: "gchar *g_locale_from_utf8 (const gchar *utf8string,\t\t gssize len,\
      \ \t\t gsize *bytes_read, \t\t gsize *bytes_written,\t\t GError **error) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_private_set_alloc0
      Src: /src/glib/glib/gconvert.c:1082,1
    - Dst: g_getenv
      Src: /src/glib/glib/gconvert.c:1096,1
    - Dst: g_free
      Src: /src/glib/glib/gconvert.c:1107,1
    - Dst: g_strdup
      Src: /src/glib/glib/gconvert.c:1122,1
    - Dst: g_get_charset
      Src: /src/glib/glib/gconvert.c:1123,1
    - Dst: g_private_get
      Src: /src/glib/glib/gconvert.c:1078,1
    - Dst: g_getenv
      Src: /src/glib/glib/gconvert.c:1112,1
    - Dst: g_new0
      Src: /src/glib/glib/gconvert.c:1114,1
    - Dst: g_get_charset
      Src: /src/glib/glib/gconvert.c:1115,1
    - Dst: strcmp
      Src: /src/glib/glib/gconvert.c:1100,1
    - Dst: g_new0
      Src: /src/glib/glib/gconvert.c:1120,1
    - Dst: g_strdup
      Src: /src/glib/glib/gconvert.c:1108,1
    - Dst: g_strdup
      Src: /src/glib/glib/gconvert.c:1124,1
    - Dst: G_PRIVATE_INIT
      Src: /src/glib/glib/gconvert.c:1077,1
    - Dst: g_get_charset
      Src: /src/glib/glib/gconvert.c:1084,1
    - Dst: strcmp
      Src: /src/glib/glib/gconvert.c:1086,1
    - Dst: g_free
      Src: /src/glib/glib/gconvert.c:1092,1
    - Dst: g_strfreev
      Src: /src/glib/glib/gconvert.c:1093,1
    - Dst: g_strdup
      Src: /src/glib/glib/gconvert.c:1094,1
    - Dst: g_strsplit
      Src: /src/glib/glib/gconvert.c:1099,1
    - Dst: strcmp
      Src: /src/glib/glib/gconvert.c:1104,1
    - Dst: g_strdup
      Src: /src/glib/glib/gconvert.c:1116,1
    - Dst: g_get_charset
      Src: /src/glib/glib/gconvert.c:1106,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 58
    argCount: 1
    argNames:
    - filename_charsets
    argTypes:
    - gchar***
    constantsTouched: []
    func_position:
      end: 1132
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1132
    functionName: g_get_filename_charsets
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_getenv
    - strcmp
    - g_strfreev
    - g_private_get
    - G_PRIVATE_INIT
    - g_strsplit
    - g_private_set_alloc0
    - g_get_charset
    - g_free
    - g_new0
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_get_filename_charsets (const gchar ***filename_charsets) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_xdigit_value
      Src: /src/glib/glib/gconvert.c:1439,1
    - Dst: g_ascii_xdigit_value
      Src: /src/glib/glib/gconvert.c:1443,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - scanner
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1448
      start: 1433
    functionDepth: 0
    functionLinenumber: 1433
    functionLinenumberEnd: 1448
    functionName: unescape_character
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - g_ascii_xdigit_value
    linkageType: ''
    returnType: int
    signature: 'static int unescape_character (const char *scanner) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: has_case_prefix
      Src: /src/glib/glib/gconvert.c:1599,1
    - Dst: strlen
      Src: /src/glib/glib/gconvert.c:1609,1
    - Dst: strchr
      Src: /src/glib/glib/gconvert.c:1626,1
    - Dst: g_unescape_uri_string
      Src: /src/glib/glib/gconvert.c:1656,1
    - Dst: g_free
      Src: /src/glib/glib/gconvert.c:1673,1
    - Dst: strchr
      Src: /src/glib/glib/gconvert.c:1679,1
    - Dst: g_set_error
      Src: /src/glib/glib/gconvert.c:1601,1
    - Dst: strchr
      Src: /src/glib/glib/gconvert.c:1615,1
    - Dst: has_case_prefix
      Src: /src/glib/glib/gconvert.c:1621,1
    - Dst: g_free
      Src: /src/glib/glib/gconvert.c:1642,1
    - Dst: g_set_error
      Src: /src/glib/glib/gconvert.c:1631,1
    - Dst: g_set_error
      Src: /src/glib/glib/gconvert.c:1661,1
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/glib/gconvert.c:1671,1
    - Dst: g_strdup
      Src: /src/glib/glib/gconvert.c:1701,1
    - Dst: g_free
      Src: /src/glib/glib/gconvert.c:1704,1
    - Dst: g_strdup
      Src: /src/glib/glib/gconvert.c:1607,1
    - Dst: _
      Src: /src/glib/glib/gconvert.c:1602,1
    - Dst: has_case_prefix
      Src: /src/glib/glib/gconvert.c:1619,1
    - Dst: _
      Src: /src/glib/glib/gconvert.c:1632,1
    - Dst: _
      Src: /src/glib/glib/gconvert.c:1662,1
    - Dst: g_free
      Src: /src/glib/glib/gconvert.c:1702,1
    - Dst: strchr
      Src: /src/glib/glib/gconvert.c:1611,1
    - Dst: g_unescape_uri_string
      Src: /src/glib/glib/gconvert.c:1637,1
    - Dst: _
      Src: /src/glib/glib/gconvert.c:1645,1
    - Dst: g_free
      Src: /src/glib/glib/gconvert.c:1630,1
    - Dst: hostname_validate
      Src: /src/glib/glib/gconvert.c:1640,1
    - Dst: g_set_error
      Src: /src/glib/glib/gconvert.c:1644,1
    - Dst: g_free
      Src: /src/glib/glib/gconvert.c:1643,1
    - Dst: g_free
      Src: /src/glib/glib/gconvert.c:1653,1
    - Dst: g_free
      Src: /src/glib/glib/gconvert.c:1660,1
    - Dst: g_ascii_isalpha
      Src: /src/glib/glib/gconvert.c:1689,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 84
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1707
      start: 1579
    functionDepth: 0
    functionLinenumber: 1579
    functionLinenumberEnd: 1707
    functionName: g_filename_from_uri
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_strdup
    - g_ascii_isalpha
    - strlen
    - g_ascii_strcasecmp
    - strchr
    - hostname_validate
    - _
    - g_unescape_uri_string
    - has_case_prefix
    - g_free
    linkageType: ''
    returnType: gchar*
    signature: "gchar *g_filename_from_uri (const gchar *uri,\t\t gchar **hostname,\t\
      \t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gconvert.c:1856,1
    - Dst: g_filename_display_name
      Src: /src/glib/glib/gconvert.c:1859,1
    - Dst: g_path_get_basename
      Src: /src/glib/glib/gconvert.c:1858,1
    - Dst: g_free
      Src: /src/glib/glib/gconvert.c:1860,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1862
      start: 1850
    functionDepth: 0
    functionLinenumber: 1850
    functionLinenumberEnd: 1862
    functionName: g_filename_display_basename
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - g_filename_display_name
    - g_free
    - g_return_val_if_fail
    - g_path_get_basename
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_filename_display_basename (const gchar *filename) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_validate
      Src: /src/glib/glib/gconvert.c:778,1
    - Dst: g_strndup
      Src: /src/glib/glib/gconvert.c:797,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/gconvert.c:785,1
    - Dst: _
      Src: /src/glib/glib/gconvert.c:786,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 798
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 798
    functionName: strdup_len
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - _
    - g_set_error_literal
    - g_utf8_validate
    - g_strndup
    linkageType: ''
    returnType: gchar*
    signature: "static gchar *strdup_len (const gchar *string,\t gssize len,\t gsize\
      \ *bytes_read,\t gsize *bytes_written,\t GError **error) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/glib/gconvert.c:1464,1
    - Dst: g_malloc
      Src: /src/glib/glib/gconvert.c:1466,1
    - Dst: strchr
      Src: /src/glib/glib/gconvert.c:1490,1
    - Dst: g_assert
      Src: /src/glib/glib/gconvert.c:1499,1
    - Dst: unescape_character
      Src: /src/glib/glib/gconvert.c:1479,1
    - Dst: g_free
      Src: /src/glib/glib/gconvert.c:1504,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1509
      start: 1450
    functionDepth: 0
    functionLinenumber: 1450
    functionLinenumberEnd: 1509
    functionName: g_unescape_uri_string
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - strlen
    - g_assert
    - g_malloc
    - unescape_character
    - strchr
    - g_free
    linkageType: ''
    returnType: gchar*
    signature: "static gchar *g_unescape_uri_string (const char *escaped,\t\t int\
      \ len,\t\t const char *illegal_escaped_characters,\t\t gboolean ascii_must_not_be_escaped) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iconv
      Src: /src/glib/glib/gconvert.c:185,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 5
    argNames:
    - converter
    - inbuf
    - inbytes_left
    - outbuf
    - outbytes_left
    argTypes:
    - GIConv
    - gchar**
    - gsize*
    - gchar**
    - gsize*
    constantsTouched: []
    func_position:
      end: 186
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 186
    functionName: g_iconv
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - iconv
    linkageType: ''
    returnType: gsize
    signature: "gsize g_iconv (GIConv converter,\t gchar **inbuf,\t gsize *inbytes_left,\t\
      \ gchar **outbuf,\t gsize *outbytes_left) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gconvert.c:473,1
    - Dst: g_convert_with_iconv
      Src: /src/glib/glib/gconvert.c:490,1
    - Dst: open_converter
      Src: /src/glib/glib/gconvert.c:477,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gconvert.c:474,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gconvert.c:475,1
    - Dst: close_converter
      Src: /src/glib/glib/gconvert.c:494,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 497
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 497
    functionName: g_convert
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - close_converter
    - g_return_val_if_fail
    - open_converter
    - g_convert_with_iconv
    linkageType: ''
    returnType: gchar*
    signature: "gchar *g_convert (const gchar *str, gssize len, const gchar *to_codeset,\
      \ const gchar *from_codeset, gsize *bytes_read, \t gsize *bytes_written, \t\
      \ GError **error) "
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gconvert.c:576,1
    - Dst: g_realloc
      Src: /src/glib/glib/gconvert.c:658,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/gconvert.c:651,1
    - Dst: close_converter
      Src: /src/glib/glib/gconvert.c:620,1
    - Dst: strlen
      Src: /src/glib/glib/gconvert.c:690,1
    - Dst: g_set_error
      Src: /src/glib/glib/gconvert.c:699,1
    - Dst: g_strerror
      Src: /src/glib/glib/gconvert.c:701,1
    - Dst: g_free
      Src: /src/glib/glib/gconvert.c:713,1
    - Dst: memset
      Src: /src/glib/glib/gconvert.c:731,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/gconvert.c:593,1
    - Dst: g_malloc
      Src: /src/glib/glib/gconvert.c:638,1
    - Dst: g_set_error
      Src: /src/glib/glib/gconvert.c:670,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gconvert.c:687,1
    - Dst: close_converter
      Src: /src/glib/glib/gconvert.c:733,1
    - Dst: g_free
      Src: /src/glib/glib/gconvert.c:743,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gconvert.c:574,1
    - Dst: strlen
      Src: /src/glib/glib/gconvert.c:579,1
    - Dst: g_convert
      Src: /src/glib/glib/gconvert.c:584,1
    - Dst: g_error_free
      Src: /src/glib/glib/gconvert.c:597,1
    - Dst: g_convert
      Src: /src/glib/glib/gconvert.c:616,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/gconvert.c:681,1
    - Dst: _
      Src: /src/glib/glib/gconvert.c:700,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/gconvert.c:575,1
    - Dst: g_assert
      Src: /src/glib/glib/gconvert.c:589,1
    - Dst: g_error_matches
      Src: /src/glib/glib/gconvert.c:591,1
    - Dst: open_converter
      Src: /src/glib/glib/gconvert.c:604,1
    - Dst: _
      Src: /src/glib/glib/gconvert.c:671,1
    - Dst: g_iconv
      Src: /src/glib/glib/gconvert.c:643,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/gconvert.c:680,1
    - Dst: g_free
      Src: /src/glib/glib/gconvert.c:738,1
    - Dst: g_free
      Src: /src/glib/glib/gconvert.c:744,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 110
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 749
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 749
    functionName: g_convert_with_fallback
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_iconv
    - g_utf8_next_char
    - g_realloc
    - g_strerror
    - g_malloc
    - g_error_free
    - g_set_error
    - strlen
    - g_assert_not_reached
    - _
    - g_propagate_error
    - memset
    - g_return_val_if_fail
    - close_converter
    - g_assert
    - g_error_matches
    - g_utf8_get_char
    - g_convert
    - open_converter
    - g_free
    linkageType: ''
    returnType: gchar*
    signature: "gchar *g_convert_with_fallback (const gchar *str,\t\t\t gssize len,\
      \ \t\t\t const gchar *to_codeset,\t\t\t const gchar *from_codeset,\t\t\t const\
      \ gchar *fallback,\t\t\t gsize *bytes_read,\t\t\t gsize *bytes_written,\t\t\t\
      \ GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _g_get_ctype_charset
      Src: /src/glib/glib/gconvert.c:964,1
    - Dst: convert_checked
      Src: /src/glib/glib/gconvert.c:967,1
    - Dst: strdup_len
      Src: /src/glib/glib/gconvert.c:965,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 970
      start: 955
    functionDepth: 0
    functionLinenumber: 955
    functionLinenumberEnd: 970
    functionName: _g_ctype_locale_to_utf8
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - _g_get_ctype_charset
    - convert_checked
    - strdup_len
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *_g_ctype_locale_to_utf8 (const gchar *opsysstring, gssize len,
      gsize *bytes_read, gsize *bytes_written, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_get_charset
      Src: /src/glib/glib/gconvert.c:1154,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 1
    argNames:
    - filename_charsets
    argTypes:
    - gchar***
    constantsTouched: []
    func_position:
      end: 1161
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1161
    functionName: g_get_filename_charsets
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - g_get_charset
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_get_filename_charsets (const gchar ***filename_charsets) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/gconvert.c:1536,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/gconvert.c:1544,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gconvert.c:1537,1
    - Dst: is_asciialphanum
      Src: /src/glib/glib/gconvert.c:1538,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/gconvert.c:1545,1
    - Dst: is_asciialphanum
      Src: /src/glib/glib/gconvert.c:1547,1
    - Dst: is_asciialpha
      Src: /src/glib/glib/gconvert.c:1553,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 1
    argNames:
    - hostname
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1557
      start: 1524
    functionDepth: 0
    functionLinenumber: 1524
    functionLinenumberEnd: 1557
    functionName: hostname_validate
    functionSourceFile: /src/glib/glib/gconvert.c
    functionUses: []
    functionsReached:
    - is_asciialpha
    - is_asciialphanum
    - g_utf8_next_char
    - g_utf8_get_char
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean hostname_validate (const char *hostname) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - min
    - max
    argTypes:
    - long
    - long
    constantsTouched: []
    func_position:
      end: 68
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 68
    functionName: most_binary
    functionSourceFile: /src/glib/glib/glib-mirroring-tab/packtab.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: 'static long most_binary ( long min, long max) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - r
    - s
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 115
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 115
    functionName: compare
    functionSourceFile: /src/glib/glib/glib-mirroring-tab/packtab.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int compare ( const void *r, const void *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 140
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 140
    functionName: found
    functionSourceFile: /src/glib/glib/glib-mirroring-tab/packtab.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void found ( void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bt
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 225
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 225
    functionName: solve
    functionSourceFile: /src/glib/glib/glib-mirroring-tab/packtab.c
    functionUses: []
    functionsReached:
    - bt
    linkageType: ''
    returnType: void
    signature: 'static void solve ( void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:335,1
    - Dst: fprintf
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:339,1
    - Dst: write_array
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:336,1
    - Dst: fprintf
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:337,1
    - Dst: fprintf
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:340,1
    - Dst: fprintf
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:342,1
    - Dst: fprintf
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:344,1
    - Dst: fprintf
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:345,1
    - Dst: fprintf
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:349,1
    - Dst: fprintf
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:351,1
    - Dst: fprintf
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:359,1
    - Dst: fprintf
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:358,1
    - Dst: fprintf
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:353,1
    - Dst: fprintf
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:356,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 360
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 360
    functionName: write_source
    functionSourceFile: /src/glib/glib/glib-mirroring-tab/packtab.c
    functionUses: []
    functionsReached:
    - write_array
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'static void write_source ( void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: found
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:152,1
    - Dst: qsort
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:171,1
    - Dst: bt
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:205,1
    - Dst: compare
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:182,1
    - Dst: memmove
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:167,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 89
    argCount: 1
    argNames:
    - node_size
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 211
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 211
    functionName: bt
    functionSourceFile: /src/glib/glib/glib-mirroring-tab/packtab.c
    functionUses: []
    functionsReached:
    - bt
    - qsort
    - memmove
    - found
    - compare
    linkageType: ''
    returnType: void
    signature: 'static void bt ( int node_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: most_binary
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:92,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - table
    argTypes:
    - signed int*
    constantsTouched: []
    func_position:
      end: 102
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 102
    functionName: init
    functionSourceFile: /src/glib/glib/glib-mirroring-tab/packtab.c
    functionUses: []
    functionsReached:
    - most_binary
    linkageType: ''
    returnType: void
    signature: 'static void init ( const signed int *table) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:245,1
    - Dst: compare
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:260,1
    - Dst: qsort
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:249,1
    - Dst: fprintf
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:285,1
    - Dst: fprintf
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:279,1
    - Dst: fprintf
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:293,1
    - Dst: fprintf
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:294,1
    - Dst: fprintf
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:300,1
    - Dst: fprintf
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:301,1
    - Dst: fprintf
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:305,1
    - Dst: fprintf
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:318,1
    - Dst: write_array
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:320,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 137
    argCount: 1
    argNames:
    - max_key
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 322
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 322
    functionName: write_array
    functionSourceFile: /src/glib/glib/glib-mirroring-tab/packtab.c
    functionUses: []
    functionsReached:
    - fprintf
    - qsort
    - memmove
    - compare
    - write_array
    linkageType: ''
    returnType: void
    signature: 'static void write_array ( long max_key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:368,1
    - Dst: fprintf
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:379,1
    - Dst: fprintf
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:378,1
    - Dst: fprintf
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:381,1
    - Dst: fprintf
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:382,1
    - Dst: write_source
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:383,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 384
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 384
    functionName: write_out
    functionSourceFile: /src/glib/glib/glib-mirroring-tab/packtab.c
    functionUses: []
    functionsReached:
    - write_source
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'static void write_out ( void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:411,1
    - Dst: solve
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:415,1
    - Dst: write_out
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:416,1
    - Dst: malloc
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:412,1
    - Dst: memmove
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:414,1
    - Dst: free
      Src: /src/glib/glib/glib-mirroring-tab/packtab.c:417,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 11
    argNames:
    - base
    - key_num
    - key_size
    - default_key
    - p_max_depth
    - p_tab_width
    - p_name
    - p_key_type_name
    - p_table_name
    - p_macro_name
    - out
    argTypes:
    - signed int*
    - long
    - int
    - signed int
    - int
    - int
    - char**
    - char*
    - char*
    - char*
    - FILE*
    constantsTouched: []
    func_position:
      end: 419
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 419
    functionName: pack_table
    functionSourceFile: /src/glib/glib/glib-mirroring-tab/packtab.c
    functionUses: []
    functionsReached:
    - solve
    - malloc
    - memmove
    - free
    - init
    - write_out
    linkageType: ''
    returnType: int
    signature: 'int pack_table ( const signed int *base, long key_num, int key_size,
      signed int default_key, int p_max_depth, int p_tab_width, const char *const
      *p_name, const char *p_key_type_name, const char *p_table_name, const char *p_macro_name,
      FILE *out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/glib/glib/glib-mirroring-tab/gen-mirroring-tab.c:56,1
    - Dst: fprintf
      Src: /src/glib/glib/glib-mirroring-tab/gen-mirroring-tab.c:57,1
    - Dst: fprintf
      Src: /src/glib/glib/glib-mirroring-tab/gen-mirroring-tab.c:58,1
    - Dst: exit
      Src: /src/glib/glib/glib-mirroring-tab/gen-mirroring-tab.c:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - fmt
    - p
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 60
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 60
    functionName: die2
    functionSourceFile: /src/glib/glib/glib-mirroring-tab/gen-mirroring-tab.c
    functionUses: []
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void die2 ( const char *fmt, const char *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: init
    functionSourceFile: /src/glib/glib/glib-mirroring-tab/gen-mirroring-tab.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void init ( void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear_tab
      Src: /src/glib/glib/glib-mirroring-tab/gen-mirroring-tab.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: init_tab_mirroring_txt
    functionSourceFile: /src/glib/glib/glib-mirroring-tab/gen-mirroring-tab.c
    functionUses: []
    functionsReached:
    - clear_tab
    linkageType: ''
    returnType: void
    signature: 'static void init_tab_mirroring_txt ( void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/glib/glib/glib-mirroring-tab/gen-mirroring-tab.c:157,1
    - Dst: die2
      Src: /src/glib/glib/glib-mirroring-tab/gen-mirroring-tab.c:159,1
    - Dst: fopen
      Src: /src/glib/glib/glib-mirroring-tab/gen-mirroring-tab.c:158,1
    - Dst: read_bidi_mirroring_txt
      Src: /src/glib/glib/glib-mirroring-tab/gen-mirroring-tab.c:162,1
    - Dst: strcmp
      Src: /src/glib/glib/glib-mirroring-tab/gen-mirroring-tab.c:161,1
    - Dst: die2
      Src: /src/glib/glib/glib-mirroring-tab/gen-mirroring-tab.c:164,1
    - Dst: fclose
      Src: /src/glib/glib/glib-mirroring-tab/gen-mirroring-tab.c:166,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - data_file_type
    - data_file_name
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 167
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 167
    functionName: read_data
    functionSourceFile: /src/glib/glib/glib-mirroring-tab/gen-mirroring-tab.c
    functionUses: []
    functionsReached:
    - die2
    - fprintf
    - fclose
    - strcmp
    - fopen
    - read_bidi_mirroring_txt
    linkageType: ''
    returnType: void
    signature: 'static void read_data ( const char *data_file_type, const char *data_file_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/glib/glib/glib-mirroring-tab/gen-mirroring-tab.c:46,1
    - Dst: exit
      Src: /src/glib/glib/glib-mirroring-tab/gen-mirroring-tab.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: die
    functionSourceFile: /src/glib/glib/glib-mirroring-tab/gen-mirroring-tab.c
    functionUses: []
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void die ( const char *msg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/glib/glib/glib-mirroring-tab/gen-mirroring-tab.c:70,1
    - Dst: fprintf
      Src: /src/glib/glib/glib-mirroring-tab/gen-mirroring-tab.c:72,1
    - Dst: exit
      Src: /src/glib/glib/glib-mirroring-tab/gen-mirroring-tab.c:73,1
    - Dst: fprintf
      Src: /src/glib/glib/glib-mirroring-tab/gen-mirroring-tab.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - fmt
    - l
    - p
    - q
    argTypes:
    - char*
    - unsigned long
    - unsigned long
    - unsigned long
    constantsTouched: []
    func_position:
      end: 74
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 74
    functionName: die4
    functionSourceFile: /src/glib/glib/glib-mirroring-tab/gen-mirroring-tab.c
    functionUses: []
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void die4 ( const char *fmt, unsigned long l, unsigned long
      p, unsigned long q) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 102
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 102
    functionName: clear_tab
    functionSourceFile: /src/glib/glib/glib-mirroring-tab/gen-mirroring-tab.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void clear_tab ( void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: init_tab_mirroring_txt
      Src: /src/glib/glib/glib-mirroring-tab/gen-mirroring-tab.c:119,1
    - Dst: die4
      Src: /src/glib/glib/glib-mirroring-tab/gen-mirroring-tab.c:139,1
    - Dst: sscanf
      Src: /src/glib/glib/glib-mirroring-tab/gen-mirroring-tab.c:137,1
    - Dst: fgets
      Src: /src/glib/glib/glib-mirroring-tab/gen-mirroring-tab.c:122,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 147
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 147
    functionName: read_bidi_mirroring_txt
    functionSourceFile: /src/glib/glib/glib-mirroring-tab/gen-mirroring-tab.c
    functionUses: []
    functionsReached:
    - fgets
    - sscanf
    - die4
    - init_tab_mirroring_txt
    linkageType: ''
    returnType: void
    signature: 'static void read_bidi_mirroring_txt ( FILE *f) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/glib/glib/glib-mirroring-tab/gen-mirroring-tab.c:178,1
    - Dst: pack_table
      Src: /src/glib/glib/glib-mirroring-tab/gen-mirroring-tab.c:191,1
    - Dst: printf
      Src: /src/glib/glib/glib-mirroring-tab/gen-mirroring-tab.c:180,1
    - Dst: die
      Src: /src/glib/glib/glib-mirroring-tab/gen-mirroring-tab.c:194,1
    - Dst: printf
      Src: /src/glib/glib/glib-mirroring-tab/gen-mirroring-tab.c:183,1
    - Dst: printf
      Src: /src/glib/glib/glib-mirroring-tab/gen-mirroring-tab.c:196,1
    - Dst: printf
      Src: /src/glib/glib/glib-mirroring-tab/gen-mirroring-tab.c:199,1
    - Dst: printf
      Src: /src/glib/glib/glib-mirroring-tab/gen-mirroring-tab.c:201,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - max_depth
    - data_file_type
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 202
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 202
    functionName: gen_mirroring_tab
    functionSourceFile: /src/glib/glib/glib-mirroring-tab/gen-mirroring-tab.c
    functionUses: []
    functionsReached:
    - printf
    - die
    - pack_table
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'static void gen_mirroring_tab ( int max_depth, const char *data_file_type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: die2
      Src: /src/glib/glib/glib-mirroring-tab/gen-mirroring-tab.c:213,1
    - Dst: die
      Src: /src/glib/glib/glib-mirroring-tab/gen-mirroring-tab.c:221,1
    - Dst: atoi
      Src: /src/glib/glib/glib-mirroring-tab/gen-mirroring-tab.c:217,1
    - Dst: read_data
      Src: /src/glib/glib/glib-mirroring-tab/gen-mirroring-tab.c:224,1
    - Dst: init
      Src: /src/glib/glib/glib-mirroring-tab/gen-mirroring-tab.c:223,1
    - Dst: gen_mirroring_tab
      Src: /src/glib/glib/glib-mirroring-tab/gen-mirroring-tab.c:225,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 229
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 229
    functionName: main
    functionSourceFile: /src/glib/glib/glib-mirroring-tab/gen-mirroring-tab.c
    functionUses: []
    functionsReached:
    - die2
    - gen_mirroring_tab
    - die
    - read_data
    - atoi
    - init
    linkageType: ''
    returnType: int
    signature: 'int main ( int argc, const char **argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: localtime_r
      Src: /src/glib/glib/tests/gdatetime.c:82,1
    - Dst: g_return_if_fail_warning
      Src: /src/glib/glib/tests/gdatetime.c:93,1
    - Dst: memcpy
      Src: /src/glib/glib/tests/gdatetime.c:101,1
    - Dst: localtime
      Src: /src/glib/glib/tests/gdatetime.c:85,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - time_
    - retval
    argTypes:
    - time_t
    - struct tm*
    constantsTouched: []
    func_position:
      end: 104
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 104
    functionName: get_localtime_tm
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - localtime_r
    - g_return_if_fail_warning
    - localtime
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'static void get_localtime_tm (time_t time_, struct tm *retval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/gdatetime.c:193,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:199,1
    - Dst: g_date_time_new_from_unix_local
      Src: /src/glib/glib/tests/gdatetime.c:198,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:196,1
    - Dst: g_date_time_new_from_unix_utc
      Src: /src/glib/glib/tests/gdatetime.c:195,1
    - Dst: g_date_time_new_from_unix_utc
      Src: /src/glib/glib/tests/gdatetime.c:201,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:202,1
    - Dst: g_date_time_new_from_unix_local
      Src: /src/glib/glib/tests/gdatetime.c:204,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 206
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 206
    functionName: test_GDateTime_new_from_unix_overflow
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_new_from_unix_utc
    - g_test_bug
    - g_date_time_new_from_unix_local
    - g_assert_null
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_new_from_unix_overflow (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_new_local
      Src: /src/glib/glib/tests/gdatetime.c:255,1
    - Dst: g_date_time_new_local
      Src: /src/glib/glib/tests/gdatetime.c:261,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:273,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:281,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:288,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gdatetime.c:289,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:257,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:263,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:285,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:287,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:290,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:291,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:283,1
    - Dst: g_date_time_new_local
      Src: /src/glib/glib/tests/gdatetime.c:254,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gdatetime.c:256,1
    - Dst: g_date_time_new_local
      Src: /src/glib/glib/tests/gdatetime.c:260,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gdatetime.c:262,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:267,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:268,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:270,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:269,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:274,1
    - Dst: g_date_time_equal
      Src: /src/glib/glib/tests/gdatetime.c:276,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:286,1
    - Dst: g_date_time_equal
      Src: /src/glib/glib/tests/gdatetime.c:256,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:258,1
    - Dst: g_date_time_equal
      Src: /src/glib/glib/tests/gdatetime.c:262,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:271,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:264,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:271,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:274,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gdatetime.c:276,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:277,1
    - Dst: g_date_time_equal
      Src: /src/glib/glib/tests/gdatetime.c:289,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:288,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 50
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 292
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 292
    functionName: test_GDateTime_equal
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_date_time_unref
    - g_time_zone_unref
    - g_date_time_equal
    - g_assert_nonnull
    - g_date_time_new
    - g_date_time_new_utc
    - g_date_time_new_local
    - g_time_zone_new_identifier
    - g_date_time_get_utc_offset
    - g_assert_false
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_equal (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_current_time
      Src: /src/glib/glib/tests/gdatetime.c:359,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:361,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:362,1
    - Dst: g_date_time_new_from_timeval_local
      Src: /src/glib/glib/tests/gdatetime.c:360,1
    - Dst: g_date_time_get_microsecond
      Src: /src/glib/glib/tests/gdatetime.c:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 363
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 363
    functionName: test_GDateTime_get_microsecond
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_unref
    - g_date_time_new_from_timeval_local
    - g_date_time_get_microsecond
    - g_get_current_time
    - g_assert_cmpint
    linkageType: ''
    returnType: G_GNUC_BEGIN_IGNORE_DEPRECATIONS
    signature: 'G_GNUC_BEGIN_IGNORE_DEPRECATIONS static void test_GDateTime_get_microsecond
      (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/gdatetime.c:476,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:484,1
    - Dst: find_maximum_supported_tv_sec
      Src: /src/glib/glib/tests/gdatetime.c:478,1
    - Dst: g_date_time_new_from_timeval_utc
      Src: /src/glib/glib/tests/gdatetime.c:486,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/gdatetime.c:481,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:487,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:488,1
    - Dst: g_date_time_new_from_timeval_utc
      Src: /src/glib/glib/tests/gdatetime.c:495,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:496,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 498
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 498
    functionName: test_GDateTime_new_from_timeval_overflow
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_unref
    - g_assert_null
    - g_test_message
    - g_assert_nonnull
    - g_test_bug
    - find_maximum_supported_tv_sec
    - g_date_time_new_from_timeval_utc
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_new_from_timeval_overflow (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ADD_MONTHS
      Src: /src/glib/glib/tests/gdatetime.c:1034,1
    - Dst: TEST_ADD_MONTHS
      Src: /src/glib/glib/tests/gdatetime.c:1036,1
    - Dst: TEST_ADD_MONTHS
      Src: /src/glib/glib/tests/gdatetime.c:1038,1
    - Dst: TEST_ADD_MONTHS
      Src: /src/glib/glib/tests/gdatetime.c:1037,1
    - Dst: TEST_ADD_MONTHS
      Src: /src/glib/glib/tests/gdatetime.c:1035,1
    - Dst: TEST_ADD_MONTHS
      Src: /src/glib/glib/tests/gdatetime.c:1039,1
    - Dst: TEST_ADD_MONTHS
      Src: /src/glib/glib/tests/gdatetime.c:1040,1
    - Dst: TEST_ADD_MONTHS
      Src: /src/glib/glib/tests/gdatetime.c:1041,1
    - Dst: TEST_ADD_MONTHS
      Src: /src/glib/glib/tests/gdatetime.c:1042,1
    - Dst: TEST_ADD_MONTHS
      Src: /src/glib/glib/tests/gdatetime.c:1043,1
    - Dst: TEST_ADD_MONTHS
      Src: /src/glib/glib/tests/gdatetime.c:1044,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1045
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1045
    functionName: test_GDateTime_add_months
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - TEST_ADD_MONTHS
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_add_months (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1234,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1236,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1235,1
    - Dst: g_date_time_get_second
      Src: /src/glib/glib/tests/gdatetime.c:1235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1237
      start: 1229
    functionDepth: 0
    functionLinenumber: 1229
    functionLinenumberEnd: 1237
    functionName: test_GDateTime_get_second
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_get_second
    - g_date_time_unref
    - g_assert_cmpint
    - g_date_time_new_utc
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_get_second (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_DAY_OF_YEAR
      Src: /src/glib/glib/tests/gdatetime.c:1553,1
    - Dst: TEST_DAY_OF_YEAR
      Src: /src/glib/glib/tests/gdatetime.c:1555,1
    - Dst: TEST_DAY_OF_YEAR
      Src: /src/glib/glib/tests/gdatetime.c:1556,1
    - Dst: TEST_DAY_OF_YEAR
      Src: /src/glib/glib/tests/gdatetime.c:1554,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1557
      start: 1545
    functionDepth: 0
    functionLinenumber: 1545
    functionLinenumberEnd: 1557
    functionName: test_GDateTime_get_day_of_year
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - TEST_DAY_OF_YEAR
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_get_day_of_year (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_getenv
      Src: /src/glib/glib/tests/gdatetime.c:67,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/gdatetime.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 75
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 75
    functionName: skip_if_running_uninstalled
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_getenv
    - g_test_skip
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean skip_if_running_uninstalled (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_real_time
      Src: /src/glib/glib/tests/gdatetime.c:120,1
    - Dst: get_localtime_tm
      Src: /src/glib/glib/tests/gdatetime.c:123,1
    - Dst: g_get_real_time
      Src: /src/glib/glib/tests/gdatetime.c:127,1
    - Dst: memset
      Src: /src/glib/glib/tests/gdatetime.c:122,1
    - Dst: g_date_time_new_now_local
      Src: /src/glib/glib/tests/gdatetime.c:125,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:131,1
    - Dst: g_date_time_get_year
      Src: /src/glib/glib/tests/gdatetime.c:131,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:132,1
    - Dst: g_date_time_get_month
      Src: /src/glib/glib/tests/gdatetime.c:132,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:133,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:134,1
    - Dst: g_date_time_get_day_of_month
      Src: /src/glib/glib/tests/gdatetime.c:133,1
    - Dst: g_date_time_get_second
      Src: /src/glib/glib/tests/gdatetime.c:136,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:135,1
    - Dst: g_date_time_get_minute
      Src: /src/glib/glib/tests/gdatetime.c:135,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:136,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/tests/gdatetime.c:134,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 139
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 139
    functionName: test_GDateTime_now
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_get_minute
    - g_get_real_time
    - g_date_time_unref
    - g_date_time_get_hour
    - g_date_time_new_now_local
    - g_date_time_get_year
    - g_date_time_get_second
    - get_localtime_tm
    - g_date_time_get_day_of_month
    - g_date_time_get_month
    - memset
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_now (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_new_local
      Src: /src/glib/glib/tests/gdatetime.c:299,1
    - Dst: g_date_time_get_day_of_week
      Src: /src/glib/glib/tests/gdatetime.c:300,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:300,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:301,1
    - Dst: g_date_time_new_local
      Src: /src/glib/glib/tests/gdatetime.c:303,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:304,1
    - Dst: g_date_time_get_day_of_week
      Src: /src/glib/glib/tests/gdatetime.c:304,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 306
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 306
    functionName: test_GDateTime_get_day_of_week
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_new_local
    - g_date_time_unref
    - g_date_time_get_day_of_week
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_get_day_of_week (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_new_local
      Src: /src/glib/glib/tests/gdatetime.c:371,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:373,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:372,1
    - Dst: g_date_time_new_local
      Src: /src/glib/glib/tests/gdatetime.c:375,1
    - Dst: g_date_time_get_year
      Src: /src/glib/glib/tests/gdatetime.c:372,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:376,1
    - Dst: g_date_time_get_year
      Src: /src/glib/glib/tests/gdatetime.c:376,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:377,1
    - Dst: g_date_time_new_local
      Src: /src/glib/glib/tests/gdatetime.c:379,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:380,1
    - Dst: g_date_time_get_year
      Src: /src/glib/glib/tests/gdatetime.c:384,1
    - Dst: g_date_time_new_local
      Src: /src/glib/glib/tests/gdatetime.c:383,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:384,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:385,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:381,1
    - Dst: g_date_time_get_year
      Src: /src/glib/glib/tests/gdatetime.c:380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 386
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 386
    functionName: test_GDateTime_get_year
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_new_local
    - g_date_time_unref
    - g_date_time_get_year
    - g_assert_cmpint
    linkageType: ''
    returnType: G_GNUC_END_IGNORE_DEPRECATIONS
    signature: 'G_GNUC_END_IGNORE_DEPRECATIONS static void test_GDateTime_get_year
      (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ADD_DAYS
      Src: /src/glib/glib/tests/gdatetime.c:1061,1
    - Dst: TEST_ADD_DAYS
      Src: /src/glib/glib/tests/gdatetime.c:1065,1
    - Dst: TEST_ADD_DAYS
      Src: /src/glib/glib/tests/gdatetime.c:1063,1
    - Dst: TEST_ADD_DAYS
      Src: /src/glib/glib/tests/gdatetime.c:1064,1
    - Dst: TEST_ADD_DAYS
      Src: /src/glib/glib/tests/gdatetime.c:1062,1
    - Dst: TEST_ADD_DAYS
      Src: /src/glib/glib/tests/gdatetime.c:1066,1
    - Dst: TEST_ADD_DAYS
      Src: /src/glib/glib/tests/gdatetime.c:1067,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1068
      start: 1047
    functionDepth: 0
    functionLinenumber: 1047
    functionLinenumberEnd: 1068
    functionName: test_GDateTime_add_days
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - TEST_ADD_DAYS
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_add_days (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MAKELANGID
      Src: /src/glib/glib/tests/gdatetime.c:1248,1
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/tests/gdatetime.c:1270,1
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/tests/gdatetime.c:1271,1
    - Dst: g_date_time_get_year
      Src: /src/glib/glib/tests/gdatetime.c:1273,1
    - Dst: SetThreadUILanguage
      Src: /src/glib/glib/tests/gdatetime.c:1287,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1274,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:1285,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1352,1
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/tests/gdatetime.c:1286,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:1328,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:1338,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:1348,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1356,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:1358,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1365,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1369,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1307,1
    - Dst: g_date_time_get_minute
      Src: /src/glib/glib/tests/gdatetime.c:1257,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:1264,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1277,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:1281,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1300,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1258,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1370,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1257,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:1291,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/tests/gdatetime.c:1276,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:1270,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:1298,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:1289,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1322,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1324,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1325,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1332,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1334,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1335,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1342,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1317,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gdatetime.c:1289,1
    - Dst: g_date_time_get_month
      Src: /src/glib/glib/tests/gdatetime.c:1274,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:1280,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1253,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1255,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:1267,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1316,1
    - Dst: g_date_time_get_minute
      Src: /src/glib/glib/tests/gdatetime.c:1277,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1347,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:1318,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:1308,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1326,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1336,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1344,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1345,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1346,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1354,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1355,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1363,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1254,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1275,1
    - Dst: g_date_time_get_timezone_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:1284,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:1303,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1311,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1295,1
    - Dst: g_date_time_get_second
      Src: /src/glib/glib/tests/gdatetime.c:1278,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1302,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1312,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1290,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/tests/gdatetime.c:1256,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:1266,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1276,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:1333,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:1343,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1351,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:1353,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:1362,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1309,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1299,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1315,1
    - Dst: g_date_time_get_second
      Src: /src/glib/glib/tests/gdatetime.c:1258,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1259,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1256,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:1313,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1305,1
    - Dst: g_date_time_get_day_of_month
      Src: /src/glib/glib/tests/gdatetime.c:1275,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1314,1
    - Dst: LANGIDFROMLCID
      Src: /src/glib/glib/tests/gdatetime.c:1247,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1296,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1306,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:1364,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:1366,1
    - Dst: GetThreadLocale
      Src: /src/glib/glib/tests/gdatetime.c:1246,1
    - Dst: g_date_time_get_year
      Src: /src/glib/glib/tests/gdatetime.c:1253,1
    - Dst: g_date_time_get_month
      Src: /src/glib/glib/tests/gdatetime.c:1254,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1273,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1310,1
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/tests/gdatetime.c:1281,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1304,1
    - Dst: g_date_time_get_day_of_month
      Src: /src/glib/glib/tests/gdatetime.c:1255,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1278,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1297,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1319,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1320,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1327,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1329,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1330,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1337,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1340,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1301,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1252,1
    - Dst: SetThreadUILanguage
      Src: /src/glib/glib/tests/gdatetime.c:1249,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:1262,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1294,1
    - Dst: g_date_time_get_timezone_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:1280,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:1283,1
    - Dst: g_date_time_get_timezone
      Src: /src/glib/glib/tests/gdatetime.c:1269,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1321,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:1323,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1331,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1339,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1341,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1349,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1350,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1357,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1361,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 161
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1371
      start: 1239
    functionDepth: 0
    functionLinenumber: 1239
    functionLinenumberEnd: 1371
    functionName: test_GDateTime_new_full
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_unref
    - ASSERT_DATE
    - g_assert_null
    - g_date_time_get_year
    - g_date_time_get_timezone_abbreviation
    - SetThreadUILanguage
    - g_date_time_get_month
    - g_time_zone_unref
    - g_date_time_get_hour
    - g_assert_nonnull
    - g_date_time_get_second
    - g_assert_false
    - g_assert_cmpint
    - g_date_time_get_minute
    - g_date_time_new
    - g_date_time_get_timezone
    - MAKELANGID
    - g_date_time_is_daylight_savings
    - g_time_zone_get_identifier
    - g_assert_cmpstr
    - g_date_time_new_utc
    - g_time_zone_new_identifier
    - g_date_time_get_day_of_month
    - LANGIDFROMLCID
    - GetThreadLocale
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_new_full (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gdatetime.c:1604,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/gdatetime.c:1604,1
    - Dst: g_unsetenv
      Src: /src/glib/glib/tests/gdatetime.c:1605,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/gdatetime.c:1608,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1611,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1613,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1618,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1619,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1615,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1617,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1642,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1647,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1641,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1657,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1644,1
    - Dst: GetDynamicTimeZoneInformation
      Src: /src/glib/glib/tests/gdatetime.c:1657,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1643,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/tests/gdatetime.c:1659,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1646,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1663,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1645,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/gdatetime.c:1674,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1635,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1632,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1651,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1631,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1634,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1654,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1633,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1652,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1624,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1629,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1630,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1627,1
    - Dst: g_unsetenv
      Src: /src/glib/glib/tests/gdatetime.c:1670,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1623,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:1664,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gdatetime.c:1607,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/gdatetime.c:1607,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1610,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1612,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1621,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1620,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1616,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1622,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1626,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1628,1
    - Dst: wcscmp
      Src: /src/glib/glib/tests/gdatetime.c:1658,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1614,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/tests/gdatetime.c:1661,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1640,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1648,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1639,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/gdatetime.c:1668,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1637,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1650,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1649,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:1671,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:1675,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1638,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1636,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1655,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1625,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 72
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1676
      start: 1559
    functionDepth: 0
    functionLinenumber: 1559
    functionLinenumberEnd: 1676
    functionName: test_GDateTime_printf
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_unsetenv
    - g_getenv
    - g_setenv
    - TEST_PRINTF_TIME
    - TEST_PRINTF_DATE
    - TEST_PRINTF
    - GetDynamicTimeZoneInformation
    - wcscmp
    - g_free
    - g_utf16_to_utf8
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_printf (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gdatetime.c:2353,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:2353,1
    - Dst: strstr
      Src: /src/glib/glib/tests/gdatetime.c:2355,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:2355,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:2354,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/gdatetime.c:2357,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2358,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2363,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2364,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2365,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2368,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2370,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2367,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2373,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2366,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:2372,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/gdatetime.c:2375,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2377
      start: 2347
    functionDepth: 0
    functionLinenumber: 2347
    functionLinenumberEnd: 2377
    functionName: test_date_time_eras_thailand
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_strdup
    - TEST_PRINTF_DATE
    - setlocale
    - g_test_skip
    - g_free
    - strstr
    linkageType: ''
    returnType: void
    signature: 'static void test_date_time_eras_thailand (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:159,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:178,1
    - Dst: g_date_time_get_day_of_month
      Src: /src/glib/glib/tests/gdatetime.c:178,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/tests/gdatetime.c:179,1
    - Dst: g_date_time_get_minute
      Src: /src/glib/glib/tests/gdatetime.c:180,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:181,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:179,1
    - Dst: memset
      Src: /src/glib/glib/tests/gdatetime.c:148,1
    - Dst: time
      Src: /src/glib/glib/tests/gdatetime.c:149,1
    - Dst: get_localtime_tm
      Src: /src/glib/glib/tests/gdatetime.c:151,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:155,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:157,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:158,1
    - Dst: g_date_time_get_minute
      Src: /src/glib/glib/tests/gdatetime.c:158,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:180,1
    - Dst: g_date_time_new_from_unix_local
      Src: /src/glib/glib/tests/gdatetime.c:153,1
    - Dst: memset
      Src: /src/glib/glib/tests/gdatetime.c:165,1
    - Dst: mktime
      Src: /src/glib/glib/tests/gdatetime.c:173,1
    - Dst: g_date_time_new_from_unix_local
      Src: /src/glib/glib/tests/gdatetime.c:175,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:176,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:177,1
    - Dst: g_date_time_get_month
      Src: /src/glib/glib/tests/gdatetime.c:177,1
    - Dst: g_date_time_get_second
      Src: /src/glib/glib/tests/gdatetime.c:181,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:182,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:150,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:154,1
    - Dst: g_date_time_get_year
      Src: /src/glib/glib/tests/gdatetime.c:154,1
    - Dst: g_date_time_get_month
      Src: /src/glib/glib/tests/gdatetime.c:155,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:156,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/tests/gdatetime.c:157,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:160,1
    - Dst: g_date_time_get_second
      Src: /src/glib/glib/tests/gdatetime.c:159,1
    - Dst: g_date_time_get_day_of_month
      Src: /src/glib/glib/tests/gdatetime.c:156,1
    - Dst: g_date_time_get_year
      Src: /src/glib/glib/tests/gdatetime.c:176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 50
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 183
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 183
    functionName: test_GDateTime_new_from_unix
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_get_minute
    - time
    - g_date_time_unref
    - g_date_time_new_from_unix_local
    - g_date_time_get_hour
    - mktime
    - g_date_time_get_year
    - g_date_time_get_second
    - get_localtime_tm
    - g_date_time_get_day_of_month
    - g_date_time_get_month
    - memset
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_new_from_unix (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_new_from_timeval_utc
      Src: /src/glib/glib/tests/gdatetime.c:438,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:453,1
    - Dst: g_date_time_new_from_timeval_utc
      Src: /src/glib/glib/tests/gdatetime.c:448,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:442,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 462
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 462
    functionName: find_maximum_supported_tv_sec
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_new_from_timeval_utc
    - g_date_time_unref
    linkageType: ''
    returnType: glong
    signature: 'static glong find_maximum_supported_tv_sec (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gdatetime.c:1781,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1781,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1782,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1787,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1784,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1790,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1791,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/gdatetime.c:1793,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1795,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:1796,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1797
      start: 1778
    functionDepth: 0
    functionLinenumber: 1778
    functionLinenumberEnd: 1797
    functionName: test_format_unrepresentable
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_strdup
    - TEST_PRINTF_TIME
    - TEST_PRINTF
    - setlocale
    - g_test_skip
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_format_unrepresentable (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2940,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:2942,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2943
      start: 2935
    functionDepth: 0
    functionLinenumber: 2935
    functionLinenumberEnd: 2943
    functionName: test_no_header_identifier
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_time_zone_new_identifier
    - g_assert_null
    linkageType: ''
    returnType: void
    signature: 'static void test_no_header_identifier (void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:2742,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2734,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/gdatetime.c:2679,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/gdatetime.c:2684,1
    - Dst: check_and_set_locale
      Src: /src/glib/glib/tests/gdatetime.c:2691,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2693,1
    - Dst: check_and_set_locale
      Src: /src/glib/glib/tests/gdatetime.c:2711,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2713,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2703,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2733,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2738,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2739,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:2694,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:2704,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:2714,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:2724,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:2743,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2745,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2744,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gdatetime.c:2688,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:2687,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gdatetime.c:2687,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:2688,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2695,1
    - Dst: check_and_set_locale
      Src: /src/glib/glib/tests/gdatetime.c:2721,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2715,1
    - Dst: check_and_set_locale
      Src: /src/glib/glib/tests/gdatetime.c:2701,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2705,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2723,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2725,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 1
    argNames:
    - data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2747
      start: 2675
    functionDepth: 0
    functionLinenumber: 2675
    functionLinenumberEnd: 2747
    functionName: test_format_time_mixed_utf8
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_test_bug
    - TEST_PRINTF_DATE
    - setlocale
    - check_and_set_locale
    - g_test_skip
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_format_time_mixed_utf8 (gconstpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_get_current_time
      Src: /src/glib/glib/tests/gdatetime.c:506,1
    - Dst: g_date_time_get_year
      Src: /src/glib/glib/tests/gdatetime.c:511,1
    - Dst: g_date_time_new_from_timeval_utc
      Src: /src/glib/glib/tests/gdatetime.c:507,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/gdatetime.c:510,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/gdatetime.c:509,1
    - Dst: g_date_time_get_month
      Src: /src/glib/glib/tests/gdatetime.c:512,1
    - Dst: g_date_time_get_day_of_month
      Src: /src/glib/glib/tests/gdatetime.c:513,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/tests/gdatetime.c:514,1
    - Dst: g_date_time_get_minute
      Src: /src/glib/glib/tests/gdatetime.c:515,1
    - Dst: g_date_time_get_second
      Src: /src/glib/glib/tests/gdatetime.c:516,1
    - Dst: g_date_time_to_timeval
      Src: /src/glib/glib/tests/gdatetime.c:519,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:522,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:520,1
    - Dst: g_date_time_get_timezone_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:517,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:521,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 523
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 523
    functionName: test_GDateTime_new_from_timeval_utc
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_get_minute
    - g_date_time_unref
    - g_date_time_get_hour
    - g_test_message
    - g_test_verbose
    - g_date_time_to_timeval
    - g_date_time_get_year
    - g_date_time_get_second
    - g_date_time_new_from_timeval_utc
    - g_date_time_get_timezone_abbreviation
    - g_date_time_get_day_of_month
    - g_get_current_time
    - g_date_time_get_month
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_new_from_timeval_utc (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ADD_FULL
      Src: /src/glib/glib/tests/gdatetime.c:1128,1
    - Dst: TEST_ADD_FULL
      Src: /src/glib/glib/tests/gdatetime.c:1140,1
    - Dst: TEST_ADD_FULL
      Src: /src/glib/glib/tests/gdatetime.c:1131,1
    - Dst: TEST_ADD_FULL
      Src: /src/glib/glib/tests/gdatetime.c:1134,1
    - Dst: TEST_ADD_FULL
      Src: /src/glib/glib/tests/gdatetime.c:1137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1143
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1143
    functionName: test_GDateTime_add_full
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - TEST_ADD_FULL
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_add_full (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_real_time
      Src: /src/glib/glib/tests/gdatetime.c:1387,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1406,1
    - Dst: g_date_time_get_year
      Src: /src/glib/glib/tests/gdatetime.c:1406,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1407,1
    - Dst: g_date_time_get_month
      Src: /src/glib/glib/tests/gdatetime.c:1407,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1410,1
    - Dst: g_date_time_new_now_utc
      Src: /src/glib/glib/tests/gdatetime.c:1400,1
    - Dst: g_get_real_time
      Src: /src/glib/glib/tests/gdatetime.c:1402,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/tests/gdatetime.c:1409,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1412,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1411,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1408,1
    - Dst: g_date_time_get_day_of_month
      Src: /src/glib/glib/tests/gdatetime.c:1408,1
    - Dst: g_date_time_get_second
      Src: /src/glib/glib/tests/gdatetime.c:1411,1
    - Dst: memcpy
      Src: /src/glib/glib/tests/gdatetime.c:1397,1
    - Dst: gmtime
      Src: /src/glib/glib/tests/gdatetime.c:1392,1
    - Dst: gmtime_r
      Src: /src/glib/glib/tests/gdatetime.c:1389,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1409,1
    - Dst: g_date_time_get_minute
      Src: /src/glib/glib/tests/gdatetime.c:1410,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1413
      start: 1373
    functionDepth: 0
    functionLinenumber: 1373
    functionLinenumberEnd: 1413
    functionName: test_GDateTime_now_utc
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_get_minute
    - gmtime
    - memcpy
    - g_date_time_unref
    - g_date_time_get_hour
    - gmtime_r
    - g_date_time_get_year
    - g_date_time_get_second
    - g_date_time_get_day_of_month
    - g_date_time_get_month
    - g_date_time_new_now_utc
    - g_get_real_time
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_now_utc (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_real_time
      Src: /src/glib/glib/tests/gdatetime.c:1493,1
    - Dst: g_get_real_time
      Src: /src/glib/glib/tests/gdatetime.c:1498,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1504,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1505,1
    - Dst: g_date_time_get_day_of_month
      Src: /src/glib/glib/tests/gdatetime.c:1506,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/gdatetime.c:1494,1
    - Dst: g_date_time_get_year
      Src: /src/glib/glib/tests/gdatetime.c:1504,1
    - Dst: g_date_time_get_month
      Src: /src/glib/glib/tests/gdatetime.c:1505,1
    - Dst: g_date_time_get_day_of_month
      Src: /src/glib/glib/tests/gdatetime.c:1506,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1507,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/tests/gdatetime.c:1507,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1508,1
    - Dst: g_date_time_get_second
      Src: /src/glib/glib/tests/gdatetime.c:1509,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1512,1
    - Dst: g_date_time_get_year
      Src: /src/glib/glib/tests/gdatetime.c:1504,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1509,1
    - Dst: g_date_time_get_second
      Src: /src/glib/glib/tests/gdatetime.c:1509,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1513,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/gdatetime.c:1495,1
    - Dst: g_date_time_new_now_local
      Src: /src/glib/glib/tests/gdatetime.c:1497,1
    - Dst: g_date_time_new_now_utc
      Src: /src/glib/glib/tests/gdatetime.c:1496,1
    - Dst: g_date_time_to_local
      Src: /src/glib/glib/tests/gdatetime.c:1502,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1506,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/tests/gdatetime.c:1507,1
    - Dst: g_date_time_get_month
      Src: /src/glib/glib/tests/gdatetime.c:1505,1
    - Dst: g_date_time_get_minute
      Src: /src/glib/glib/tests/gdatetime.c:1508,1
    - Dst: g_date_time_get_minute
      Src: /src/glib/glib/tests/gdatetime.c:1508,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1511,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1514
      start: 1479
    functionDepth: 0
    functionLinenumber: 1479
    functionLinenumberEnd: 1514
    functionName: test_GDateTime_to_local
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_get_minute
    - g_date_time_unref
    - g_date_time_get_hour
    - g_date_time_new_now_local
    - g_date_time_get_year
    - g_date_time_get_second
    - g_clear_pointer
    - g_date_time_get_day_of_month
    - g_date_time_to_local
    - g_date_time_get_month
    - g_date_time_new_now_utc
    - g_get_real_time
    - g_assert_cmpint
    linkageType: ''
    returnType: G_GNUC_END_IGNORE_DEPRECATIONS
    signature: 'G_GNUC_END_IGNORE_DEPRECATIONS static void test_GDateTime_to_local
      (void) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1997,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2026,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:2063,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/gdatetime.c:2076,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2081,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1977,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1983,1
    - Dst: strstr
      Src: /src/glib/glib/tests/gdatetime.c:2007,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/gdatetime.c:2017,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:2019,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2055,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2084,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2099,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2103,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/gdatetime.c:2109,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1987,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2012,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:2078,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/gdatetime.c:2091,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2096,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2112,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2070,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2041,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2037,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2085,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2000,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2025,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/gdatetime.c:2046,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2051,1
    - Dst: strstr
      Src: /src/glib/glib/tests/gdatetime.c:2079,1
    - Dst: skip_if_running_uninstalled
      Src: /src/glib/glib/tests/gdatetime.c:1974,1
    - Dst: strstr
      Src: /src/glib/glib/tests/gdatetime.c:1981,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1993,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2054,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:2033,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2073,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:2079,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2083,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2098,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2102,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:2048,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1980,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1986,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2001,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:2007,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2011,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/gdatetime.c:2061,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2066,1
    - Dst: strstr
      Src: /src/glib/glib/tests/gdatetime.c:2094,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2069,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2022,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2040,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2088,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:2094,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1999,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:2020,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2024,1
    - Dst: strstr
      Src: /src/glib/glib/tests/gdatetime.c:2049,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:2049,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2053,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2072,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2082,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2101,1
    - Dst: strstr
      Src: /src/glib/glib/tests/gdatetime.c:2064,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1981,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1985,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2010,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2014,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2036,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2106,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2087,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2068,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2043,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2039,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:2064,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/gdatetime.c:1972,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gdatetime.c:1977,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/gdatetime.c:1991,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1996,1
    - Dst: strstr
      Src: /src/glib/glib/tests/gdatetime.c:2020,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/gdatetime.c:2030,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2058,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1988,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1994,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1998,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2023,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2027,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:2093,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:2111,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/gdatetime.c:2004,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2009,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2056,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2052,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2071,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2100,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2105,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2013,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1984,1
    - Dst: strstr
      Src: /src/glib/glib/tests/gdatetime.c:2034,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2042,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:2034,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2057,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2067,1
    - Dst: strstr
      Src: /src/glib/glib/tests/gdatetime.c:1994,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:2006,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2038,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2086,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2097,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 128
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2113
      start: 1967
    functionDepth: 0
    functionLinenumber: 1967
    functionLinenumberEnd: 2113
    functionName: test_month_names
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_test_bug
    - TEST_PRINTF_DATE
    - setlocale
    - skip_if_running_uninstalled
    - g_test_skip
    - g_free
    - strstr
    linkageType: ''
    returnType: void
    signature: 'static void test_month_names (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_time_zone_new
      Src: /src/glib/glib/tests/gdatetime.c:2924,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2929,1
    - Dst: g_time_zone_get_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:2928,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2928,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/tests/gdatetime.c:2929,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gdatetime.c:2930,1
    - Dst: g_time_zone_is_dst
      Src: /src/glib/glib/tests/gdatetime.c:2930,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:2932,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2933
      start: 2918
    functionDepth: 0
    functionLinenumber: 2918
    functionLinenumberEnd: 2933
    functionName: test_no_header
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_time_zone_unref
    - g_time_zone_new
    - g_time_zone_get_offset
    - g_assert_cmpstr
    - g_time_zone_get_abbreviation
    - g_time_zone_is_dst
    - g_assert_false
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_no_header (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/tests/gdatetime.c:3245,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:3263,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:3265,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:3275,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:3282,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:3289,1
    - Dst: g_unsetenv
      Src: /src/glib/glib/tests/gdatetime.c:3296,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:3244,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:3243,1
    - Dst: g_time_zone_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:3248,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:3258,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:3261,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:3264,1
    - Dst: g_time_zone_new
      Src: /src/glib/glib/tests/gdatetime.c:3271,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:3274,1
    - Dst: g_time_zone_new_local
      Src: /src/glib/glib/tests/gdatetime.c:3281,1
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/tests/gdatetime.c:3282,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/gdatetime.c:3286,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gdatetime.c:3235,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:3246,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:3249,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:3259,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:3256,1
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/tests/gdatetime.c:3260,1
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/tests/gdatetime.c:3265,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:3266,1
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/tests/gdatetime.c:3273,1
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/tests/gdatetime.c:3274,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:3276,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:3290,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/gdatetime.c:3235,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:3245,1
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/tests/gdatetime.c:3249,1
    - Dst: g_time_zone_new
      Src: /src/glib/glib/tests/gdatetime.c:3253,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:3260,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:3250,1
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/tests/gdatetime.c:3275,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/gdatetime.c:3279,1
    - Dst: g_time_zone_new_local
      Src: /src/glib/glib/tests/gdatetime.c:3288,1
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/tests/gdatetime.c:3289,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/gdatetime.c:3294,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gdatetime.c:3294,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:3298,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:3283,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 55
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3299
      start: 3231
    functionDepth: 0
    functionLinenumber: 3231
    functionLinenumberEnd: 3299
    functionName: test_identifier
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_time_zone_unref
    - g_time_zone_new
    - g_time_zone_new_local
    - g_assert_true
    - g_getenv
    - g_time_zone_new_utc
    - g_setenv
    - g_assert_nonnull
    - g_time_zone_get_identifier
    - g_unsetenv
    - g_assert_cmpstr
    - g_time_zone_new_identifier
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_identifier (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/gdatetime.c:3391,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:3398,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:3401,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:3408,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:3420,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:3433,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:3442,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:3400,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:3405,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:3407,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:3425,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gdatetime.c:3412,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:3427,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gdatetime.c:3429,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gdatetime.c:3444,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:3397,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:3399,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:3404,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:3423,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:3426,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:3406,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:3424,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:3435,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:3440,1
    - Dst: g_time_zone_new_local
      Src: /src/glib/glib/tests/gdatetime.c:3441,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:3396,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:3403,1
    - Dst: g_time_zone_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:3432,1
    - Dst: g_time_zone_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:3434,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gdatetime.c:3437,1
    - Dst: g_time_zone_new_local
      Src: /src/glib/glib/tests/gdatetime.c:3439,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 48
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3445
      start: 3386
    functionDepth: 0
    functionLinenumber: 3386
    functionLinenumberEnd: 3445
    functionName: test_time_zone_caching
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_time_zone_unref
    - g_test_summary
    - g_assert_true
    - g_time_zone_new_local
    - g_time_zone_new_utc
    - g_assert_nonnull
    - g_time_zone_new_identifier
    linkageType: ''
    returnType: void
    signature: 'static void test_time_zone_caching (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:533,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:540,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:561,1
    - Dst: ASSERT_TIME
      Src: /src/glib/glib/tests/gdatetime.c:573,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:584,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:621,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:594,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:631,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:638,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:641,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:675,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:776,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:792,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:724,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:712,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:848,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:616,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:544,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:588,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:606,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:626,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:633,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:643,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:654,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:664,1
    - Dst: ASSERT_TIME
      Src: /src/glib/glib/tests/gdatetime.c:674,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:781,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:871,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:640,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:673,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:748,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:817,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:838,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:771,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:746,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:686,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:623,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:593,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:651,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:661,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:668,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:682,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:689,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:694,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:718,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:725,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:737,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:761,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:884,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:578,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:600,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:545,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:559,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:636,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:646,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:653,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:656,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:663,1
    - Dst: ASSERT_TIME
      Src: /src/glib/glib/tests/gdatetime.c:714,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:743,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:837,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:840,1
    - Dst: ASSERT_TIME
      Src: /src/glib/glib/tests/gdatetime.c:844,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:850,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:850,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:879,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:537,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:534,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:629,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:608,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:619,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:639,1
    - Dst: ASSERT_TIME
      Src: /src/glib/glib/tests/gdatetime.c:688,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:698,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:729,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:766,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:833,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:830,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:873,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:711,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:658,1
    - Dst: ASSERT_TIME
      Src: /src/glib/glib/tests/gdatetime.c:790,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:793,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:877,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:881,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:840,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:851,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:604,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:624,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:560,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:574,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:614,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:655,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:690,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:728,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:767,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:789,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:753,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:709,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:749,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:772,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:866,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:807,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:823,1
    - Dst: ASSERT_TIME
      Src: /src/glib/glib/tests/gdatetime.c:832,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:611,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:628,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:554,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:583,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:618,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:649,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:659,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:676,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:705,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:738,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:815,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:825,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:880,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:570,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:613,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:634,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:644,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:699,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:742,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:762,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:800,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:809,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:833,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:867,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:784,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:841,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:563,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:571,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:577,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:591,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:652,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:662,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:665,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:721,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:732,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:747,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:752,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:756,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:819,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:831,1
    - Dst: ASSERT_TIME
      Src: /src/glib/glib/tests/gdatetime.c:839,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:874,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:882,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:669,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:562,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:637,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:647,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:650,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:657,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:660,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:703,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:708,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:713,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:715,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:763,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:843,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:826,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:773,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:854,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:810,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:875,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:538,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:587,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:598,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:603,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:609,1
    - Dst: ASSERT_TIME
      Src: /src/glib/glib/tests/gdatetime.c:684,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:720,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:818,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:842,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:855,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:846,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:824,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:787,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:856,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:780,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:597,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:572,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:592,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:541,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:556,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:567,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:667,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:672,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:677,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:679,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:685,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:794,1
    - Dst: ASSERT_TIME
      Src: /src/glib/glib/tests/gdatetime.c:786,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:845,1
    - Dst: ASSERT_TIME
      Src: /src/glib/glib/tests/gdatetime.c:849,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:785,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:806,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:733,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:615,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:605,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:625,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:612,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:683,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:687,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:739,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:757,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:795,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:797,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:860,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:691,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:599,1
    - Dst: ASSERT_TIME
      Src: /src/glib/glib/tests/gdatetime.c:546,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:551,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:552,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:580,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:610,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:607,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:666,1
    - Dst: ASSERT_TIME
      Src: /src/glib/glib/tests/gdatetime.c:678,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:695,1
    - Dst: ASSERT_TIME
      Src: /src/glib/glib/tests/gdatetime.c:710,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:801,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:834,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:878,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:788,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:827,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:847,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:811,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:876,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:770,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:791,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:632,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:555,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:564,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:622,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:635,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:642,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:645,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:702,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:758,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:777,1
    - Dst: ASSERT_TIME
      Src: /src/glib/glib/tests/gdatetime.c:796,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:814,1
    - Dst: ASSERT_TIME
      Src: /src/glib/glib/tests/gdatetime.c:816,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:883,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:857,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:648,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:704,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:872,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:627,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:620,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:547,1
    - Dst: g_time_zone_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:550,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:553,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:568,1
    - Dst: ASSERT_TIME
      Src: /src/glib/glib/tests/gdatetime.c:569,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:617,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:630,1
    - Dst: ASSERT_TIME
      Src: /src/glib/glib/tests/gdatetime.c:579,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:719,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:822,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:734,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:845,1
    - Dst: ASSERT_TIME
      Src: /src/glib/glib/tests/gdatetime.c:808,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:861,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 371
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 885
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 885
    functionName: test_GDateTime_new_from_iso8601
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_new_from_iso8601
    - g_time_zone_unref
    - g_date_time_unref
    - ASSERT_DATE
    - g_assert_null
    - g_time_zone_new_utc
    - g_date_time_get_utc_offset
    - ASSERT_TIME
    - g_assert_cmpint
    linkageType: ''
    returnType: G_GNUC_END_IGNORE_DEPRECATIONS
    signature: 'G_GNUC_END_IGNORE_DEPRECATIONS static void test_GDateTime_new_from_iso8601
      (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ADD_MINUTES
      Src: /src/glib/glib/tests/gdatetime.c:1157,1
    - Dst: TEST_ADD_MINUTES
      Src: /src/glib/glib/tests/gdatetime.c:1159,1
    - Dst: TEST_ADD_MINUTES
      Src: /src/glib/glib/tests/gdatetime.c:1161,1
    - Dst: TEST_ADD_MINUTES
      Src: /src/glib/glib/tests/gdatetime.c:1160,1
    - Dst: TEST_ADD_MINUTES
      Src: /src/glib/glib/tests/gdatetime.c:1158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1162
      start: 1145
    functionDepth: 0
    functionLinenumber: 1145
    functionLinenumberEnd: 1162
    functionName: test_GDateTime_add_minutes
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - TEST_ADD_MINUTES
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_add_minutes (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_real_time
      Src: /src/glib/glib/tests/gdatetime.c:1421,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:1425,1
    - Dst: g_date_time_new_from_unix_utc
      Src: /src/glib/glib/tests/gdatetime.c:1430,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:1431,1
    - Dst: g_date_time_new_from_unix_utc
      Src: /src/glib/glib/tests/gdatetime.c:1424,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gdatetime.c:1433,1
    - Dst: g_date_time_ref
      Src: /src/glib/glib/tests/gdatetime.c:1433,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1434,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1435,1
    - Dst: g_date_time_to_unix
      Src: /src/glib/glib/tests/gdatetime.c:1435,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1436,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1437
      start: 1415
    functionDepth: 0
    functionLinenumber: 1415
    functionLinenumberEnd: 1437
    functionName: test_GDateTime_new_from_unix_utc
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_date_time_new_from_unix_utc
    - g_date_time_ref
    - g_date_time_unref
    - g_assert_null
    - g_date_time_to_unix
    - g_assert_nonnull
    - g_get_real_time
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_new_from_unix_utc (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_to_utc
      Src: /src/glib/glib/tests/gdatetime.c:1534,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1538,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1539,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1541,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1542,1
    - Dst: time
      Src: /src/glib/glib/tests/gdatetime.c:1523,1
    - Dst: gmtime
      Src: /src/glib/glib/tests/gdatetime.c:1529,1
    - Dst: memcpy
      Src: /src/glib/glib/tests/gdatetime.c:1530,1
    - Dst: gmtime_r
      Src: /src/glib/glib/tests/gdatetime.c:1526,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1536,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1537,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/tests/gdatetime.c:1538,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1540,1
    - Dst: g_date_time_get_second
      Src: /src/glib/glib/tests/gdatetime.c:1540,1
    - Dst: g_date_time_get_day_of_month
      Src: /src/glib/glib/tests/gdatetime.c:1537,1
    - Dst: g_date_time_new_from_unix_local
      Src: /src/glib/glib/tests/gdatetime.c:1533,1
    - Dst: g_date_time_get_year
      Src: /src/glib/glib/tests/gdatetime.c:1535,1
    - Dst: g_date_time_get_month
      Src: /src/glib/glib/tests/gdatetime.c:1536,1
    - Dst: g_date_time_get_minute
      Src: /src/glib/glib/tests/gdatetime.c:1539,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1524,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1535,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1543
      start: 1516
    functionDepth: 0
    functionLinenumber: 1516
    functionLinenumberEnd: 1543
    functionName: test_GDateTime_to_utc
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_get_minute
    - gmtime
    - memcpy
    - time
    - g_date_time_unref
    - g_date_time_new_from_unix_local
    - g_date_time_get_hour
    - gmtime_r
    - g_date_time_get_year
    - g_date_time_get_second
    - g_date_time_get_day_of_month
    - g_date_time_to_utc
    - g_date_time_get_month
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_to_utc (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unsetenv
      Src: /src/glib/glib/tests/gdatetime.c:3486,1
    - Dst: g_unsetenv
      Src: /src/glib/glib/tests/gdatetime.c:3490,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3499,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3508,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3509,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3510,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3511,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3512,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3513,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3514,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3526,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3549,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3567,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3523,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3563,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3521,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/gdatetime.c:3539,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3561,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3500,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/gdatetime.c:3576,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3559,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3569,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3550,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3516,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3533,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3534,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3556,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3557,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3574,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3531,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/gdatetime.c:3542,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3554,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3572,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3529,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3552,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3570,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3498,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3505,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3507,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3506,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3503,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3504,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3517,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3518,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3519,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3520,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3525,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3527,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3548,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3566,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3524,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/gdatetime.c:3545,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3565,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3551,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3522,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3562,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3560,1
    - Dst: g_test_init
      Src: /src/glib/glib/tests/gdatetime.c:3493,1
    - Dst: bind_textdomain_codeset
      Src: /src/glib/glib/tests/gdatetime.c:3496,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:3492,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3501,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3502,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/gdatetime.c:3536,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3535,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3558,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3515,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3532,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3555,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3573,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3530,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3553,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3571,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3568,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gdatetime.c:3528,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 75
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - gint
    - gchar*
    constantsTouched: []
    func_position:
      end: 3577
      start: 3480
    functionDepth: 0
    functionLinenumber: 3480
    functionLinenumberEnd: 3577
    functionName: main
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_add_data_func
    - g_unsetenv
    - g_test_run
    - setlocale
    - bind_textdomain_codeset
    - g_test_init
    linkageType: ''
    returnType: gint
    signature: 'gint main (gint argc, gchar *argv[]) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1804,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1824,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1819,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1878,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1873,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1847,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1861,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1888,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1842,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1899,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1894,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1898,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1955,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1836,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1857,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1879,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1852,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1815,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1831,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1869,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1884,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1907,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1935,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1886,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1893,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1809,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1867,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1917,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1950,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1818,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1823,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1840,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1860,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1876,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1872,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1846,1
    - Dst: strstr
      Src: /src/glib/glib/tests/gdatetime.c:1909,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1913,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1949,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1918,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1807,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gdatetime.c:1886,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1897,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1909,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1814,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1830,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1835,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1883,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1856,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1851,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1911,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1934,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1942,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1946,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1896,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1808,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1866,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/gdatetime.c:1904,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1931,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1953,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1817,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1822,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1827,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1875,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1849,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1871,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1844,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1839,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1859,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/gdatetime.c:1902,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1806,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1882,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1855,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1850,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1813,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1828,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1834,1
    - Dst: strstr
      Src: /src/glib/glib/tests/gdatetime.c:1890,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1916,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1926,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1939,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1961,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1890,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1811,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1865,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1945,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1956,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1820,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1826,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1874,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1848,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1870,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1862,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1843,1
    - Dst: strstr
      Src: /src/glib/glib/tests/gdatetime.c:1927,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1952,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1805,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1915,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1927,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/gdatetime.c:1921,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1816,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1832,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1838,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1858,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1880,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1853,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1930,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1938,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:1962,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1892,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1810,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1864,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1912,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/gdatetime.c:1923,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1943,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/gdatetime.c:1959,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 124
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1963
      start: 1799
    functionDepth: 0
    functionLinenumber: 1799
    functionLinenumberEnd: 1963
    functionName: test_modifiers
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_strdup
    - TEST_PRINTF_TIME
    - TEST_PRINTF_DATE
    - setlocale
    - g_test_skip
    - g_free
    - strstr
    linkageType: ''
    returnType: void
    signature: 'static void test_modifiers (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2318,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2319,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2320,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2321,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2325,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2322,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2334,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2335,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2336,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gdatetime.c:2306,1
    - Dst: strstr
      Src: /src/glib/glib/tests/gdatetime.c:2308,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/gdatetime.c:2310,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2326,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/gdatetime.c:2343,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:2308,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:2306,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2311,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2337,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2338,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:2307,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2317,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2330,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2329,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2328,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2327,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:2333,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:2340,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2341,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2345
      start: 2300
    functionDepth: 0
    functionLinenumber: 2300
    functionLinenumberEnd: 2345
    functionName: test_date_time_eras_japan
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_strdup
    - TEST_PRINTF_DATE
    - setlocale
    - g_test_skip
    - g_free
    - strstr
    linkageType: ''
    returnType: void
    signature: 'static void test_date_time_eras_japan (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/gdatetime.c:3218,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:3220,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:3222,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:3221,1
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/tests/gdatetime.c:3222,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:3223,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:3224,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3225,1
    - Dst: g_date_time_get_microsecond
      Src: /src/glib/glib/tests/gdatetime.c:3225,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:3226,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3227
      start: 3212
    functionDepth: 0
    functionLinenumber: 3212
    functionLinenumberEnd: 3227
    functionName: test_GDateTime_floating_point
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_time_zone_unref
    - g_date_time_unref
    - g_assert_nonnull
    - g_time_zone_get_identifier
    - g_test_bug
    - g_assert_cmpstr
    - g_date_time_new
    - g_date_time_get_microsecond
    - g_time_zone_new_identifier
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_floating_point (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/gdatetime.c:2556,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:2575,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2573,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2576,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2571,1
    - Dst: g_date_time_format
      Src: /src/glib/glib/tests/gdatetime.c:2578,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2580,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2581,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2583,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:2584,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2585
      start: 2549
    functionDepth: 0
    functionLinenumber: 2549
    functionLinenumberEnd: 2585
    functionName: test_6_days_until_end_of_the_month
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_time_zone_unref
    - g_date_time_format
    - g_date_time_unref
    - g_assert_nonnull
    - g_test_bug
    - g_date_time_new
    - g_assert_cmpstr
    - g_time_zone_new_identifier
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_6_days_until_end_of_the_month (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2968,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:3051,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gdatetime.c:3080,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:3158,1
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/tests/gdatetime.c:3115,1
    - Dst: g_time_zone_is_dst
      Src: /src/glib/glib/tests/gdatetime.c:3189,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:3005,1
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/tests/gdatetime.c:3183,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3141,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/tests/gdatetime.c:3188,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/gdatetime.c:3030,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:2971,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gdatetime.c:3001,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:3032,1
    - Dst: g_time_zone_is_dst
      Src: /src/glib/glib/tests/gdatetime.c:3064,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:3080,1
    - Dst: g_time_zone_get_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:3013,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3044,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:3109,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:3182,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/tests/gdatetime.c:3120,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:3125,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gdatetime.c:3206,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:3002,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:3054,1
    - Dst: g_time_zone_get_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:3184,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gdatetime.c:3199,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:3204,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:3095,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/gdatetime.c:2985,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2999,1
    - Dst: g_time_zone_get_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:3002,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:3092,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gdatetime.c:3124,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:3104,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:3144,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gdatetime.c:3169,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:3072,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:3016,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:3048,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3151,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gdatetime.c:3158,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:3174,1
    - Dst: g_time_zone_is_dst
      Src: /src/glib/glib/tests/gdatetime.c:3206,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:3116,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/tests/gdatetime.c:2969,1
    - Dst: g_time_zone_is_dst
      Src: /src/glib/glib/tests/gdatetime.c:3091,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2997,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:3009,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:3024,1
    - Dst: g_time_zone_get_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:3038,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gdatetime.c:3045,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:3055,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:3130,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:3203,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:3106,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:3127,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/tests/gdatetime.c:3168,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3188,1
    - Dst: g_time_zone_get_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:3197,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:3173,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/tests/gdatetime.c:3017,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:3202,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gdatetime.c:3118,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3052,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:3060,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:3111,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:3153,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:3177,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3003,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/tests/gdatetime.c:3036,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3125,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3054,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/tests/gdatetime.c:3066,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:3132,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gdatetime.c:3176,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3159,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2959,1
    - Dst: g_date_time_to_unix
      Src: /src/glib/glib/tests/gdatetime.c:2998,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:3025,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3120,1
    - Dst: g_time_zone_is_dst
      Src: /src/glib/glib/tests/gdatetime.c:3196,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:3110,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:3101,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:3113,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:3071,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3024,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gdatetime.c:3094,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:3096,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:3150,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:3207,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2969,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:3012,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/tests/gdatetime.c:3039,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:3050,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gdatetime.c:3070,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3100,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:3135,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:3139,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gdatetime.c:3148,1
    - Dst: g_time_zone_is_dst
      Src: /src/glib/glib/tests/gdatetime.c:3001,1
    - Dst: g_time_zone_is_dst
      Src: /src/glib/glib/tests/gdatetime.c:2970,1
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/tests/gdatetime.c:3061,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/tests/gdatetime.c:3195,1
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2992,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:3020,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:3129,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:3021,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:3076,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3133,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:3162,1
    - Dst: g_time_zone_is_dst
      Src: /src/glib/glib/tests/gdatetime.c:3179,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:3052,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gdatetime.c:3126,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/tests/gdatetime.c:3178,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:3056,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gdatetime.c:3105,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:3136,1
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/tests/gdatetime.c:3173,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:3061,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:3141,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:2961,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:3033,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3117,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gdatetime.c:3150,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3135,1
    - Dst: g_time_zone_get_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:2968,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:3041,1
    - Dst: g_time_zone_is_dst
      Src: /src/glib/glib/tests/gdatetime.c:3094,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:3108,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:3181,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3195,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3071,1
    - Dst: g_date_time_to_unix
      Src: /src/glib/glib/tests/gdatetime.c:2995,1
    - Dst: g_time_zone_is_dst
      Src: /src/glib/glib/tests/gdatetime.c:3018,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3066,1
    - Dst: g_time_zone_get_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:3174,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gdatetime.c:3189,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:3201,1
    - Dst: g_time_zone_is_dst
      Src: /src/glib/glib/tests/gdatetime.c:3209,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gdatetime.c:3107,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2992,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:3078,1
    - Dst: g_time_zone_get_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:3092,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/tests/gdatetime.c:3208,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:3154,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:3171,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2994,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:3107,1
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/tests/gdatetime.c:3034,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:3047,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:3089,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:3097,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3149,1
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/tests/gdatetime.c:3203,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:3088,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:3143,1
    - Dst: g_time_zone_is_dst
      Src: /src/glib/glib/tests/gdatetime.c:3118,1
    - Dst: g_time_zone_get_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:3016,1
    - Dst: g_time_zone_is_dst
      Src: /src/glib/glib/tests/gdatetime.c:3040,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:3193,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3168,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3178,1
    - Dst: g_time_zone_get_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:2999,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3046,1
    - Dst: g_time_zone_get_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:3065,1
    - Dst: g_time_zone_get_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:3187,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:3145,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:3023,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2986,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:3075,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:3192,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:3194,1
    - Dst: g_time_zone_get_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:3204,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:3156,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3036,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:3062,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:3099,1
    - Dst: g_time_zone_is_dst
      Src: /src/glib/glib/tests/gdatetime.c:3015,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:3086,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:3142,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:3122,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:3149,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gdatetime.c:3051,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:3082,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3208,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:3042,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:3119,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:3131,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gdatetime.c:3140,1
    - Dst: g_time_zone_is_dst
      Src: /src/glib/glib/tests/gdatetime.c:3186,1
    - Dst: g_time_zone_is_dst
      Src: /src/glib/glib/tests/gdatetime.c:2960,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2976,1
    - Dst: g_time_zone_is_dst
      Src: /src/glib/glib/tests/gdatetime.c:3004,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:3059,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:3159,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gdatetime.c:3196,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:3128,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:3007,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/tests/gdatetime.c:3063,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:3197,1
    - Dst: g_time_zone_new
      Src: /src/glib/glib/tests/gdatetime.c:2965,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gdatetime.c:3018,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:3038,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gdatetime.c:3040,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:3053,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3079,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:3087,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:3137,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/tests/gdatetime.c:3185,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:2991,1
    - Dst: g_time_zone_find_interval
      Src: /src/glib/glib/tests/gdatetime.c:2998,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gdatetime.c:3064,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gdatetime.c:3142,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:3165,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:3133,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:3160,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:3034,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:3022,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:3043,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gdatetime.c:3072,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:3098,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:3172,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:3084,1
    - Dst: g_time_zone_is_dst
      Src: /src/glib/glib/tests/gdatetime.c:3169,1
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/tests/gdatetime.c:3166,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gdatetime.c:3121,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gdatetime.c:3021,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:3019,1
    - Dst: g_time_zone_get_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:3116,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:3146,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/tests/gdatetime.c:3117,1
    - Dst: g_time_zone_new
      Src: /src/glib/glib/tests/gdatetime.c:2955,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:3006,1
    - Dst: g_time_zone_get_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:3035,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:3079,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/tests/gdatetime.c:3093,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3098,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:3167,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3205,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:3115,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3185,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:3045,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gdatetime.c:3053,1
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/tests/gdatetime.c:3088,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gdatetime.c:3097,1
    - Dst: g_time_zone_is_dst
      Src: /src/glib/glib/tests/gdatetime.c:3121,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gdatetime.c:3179,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gdatetime.c:3037,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:3065,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:3068,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:3155,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:3191,1
    - Dst: g_time_zone_is_dst
      Src: /src/glib/glib/tests/gdatetime.c:3199,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gdatetime.c:2970,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:3103,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/tests/gdatetime.c:3198,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:3077,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3127,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:3123,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:3148,1
    - Dst: g_time_zone_get_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:3167,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:3013,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gdatetime.c:2960,1
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/tests/gdatetime.c:3012,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:3081,1
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/tests/gdatetime.c:3193,1
    - Dst: g_time_zone_find_interval
      Src: /src/glib/glib/tests/gdatetime.c:2995,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3022,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3081,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:3100,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:3124,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:3161,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:3157,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gdatetime.c:3209,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:3035,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3093,1
    - Dst: g_time_zone_get_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:3177,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3157,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3063,1
    - Dst: g_time_zone_get_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:3089,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gdatetime.c:3132,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gdatetime.c:3091,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:3184,1
    - Dst: g_time_zone_get_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:3194,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2958,1
    - Dst: g_time_zone_get_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:3062,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/tests/gdatetime.c:3090,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:3126,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:3028,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3039,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:3105,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gdatetime.c:3134,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:3073,1
    - Dst: g_time_zone_is_dst
      Src: /src/glib/glib/tests/gdatetime.c:3037,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3198,1
    - Dst: g_time_zone_get_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:3207,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:3074,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:3134,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:3183,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/tests/gdatetime.c:3000,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/tests/gdatetime.c:3014,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:3026,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/tests/gdatetime.c:2959,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:3044,1
    - Dst: g_time_zone_is_dst
      Src: /src/glib/glib/tests/gdatetime.c:3176,1
    - Dst: g_time_zone_get_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:3119,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:3152,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3000,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3014,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gdatetime.c:3043,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:3187,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/tests/gdatetime.c:3205,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/tests/gdatetime.c:3003,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:3057,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3090,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/tests/gdatetime.c:3175,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:3102,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:3138,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gdatetime.c:3186,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:3166,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gdatetime.c:3067,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:3069,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:3147,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gdatetime.c:3156,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3017,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:3046,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:3070,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gdatetime.c:3099,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:3151,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:3140,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gdatetime.c:3015,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3108,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:3083,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3143,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:3164,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gdatetime.c:3004,1
    - Dst: g_time_zone_get_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:2958,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:3011,1
    - Dst: g_time_zone_is_dst
      Src: /src/glib/glib/tests/gdatetime.c:3067,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gdatetime.c:3078,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:3114,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3175,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3106,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gdatetime.c:3023,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:3049,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3073,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 446
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3210
      start: 2945
    functionDepth: 0
    functionLinenumber: 2945
    functionLinenumberEnd: 3210
    functionName: test_posix_parse
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_unref
    - g_time_zone_new
    - g_assert_null
    - g_time_zone_get_abbreviation
    - g_time_zone_unref
    - g_assert_true
    - g_date_time_to_unix
    - g_assert_nonnull
    - g_clear_pointer
    - g_assert_false
    - g_assert_cmpint
    - g_test_message
    - g_time_zone_get_offset
    - g_date_time_new
    - g_date_time_get_utc_offset
    - g_time_zone_is_dst
    - g_date_time_is_daylight_savings
    - g_time_zone_get_identifier
    - g_assert_cmpstr
    - g_time_zone_new_identifier
    - g_time_zone_find_interval
    linkageType: ''
    returnType: void
    signature: 'static void test_posix_parse (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/gdatetime.c:213,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:216,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 217
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 217
    functionName: test_GDateTime_invalid
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_assert_null
    - g_test_bug
    - g_date_time_new_utc
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_invalid (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_new_local
      Src: /src/glib/glib/tests/gdatetime.c:313,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:314,1
    - Dst: g_date_time_get_day_of_month
      Src: /src/glib/glib/tests/gdatetime.c:314,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:315,1
    - Dst: g_date_time_new_local
      Src: /src/glib/glib/tests/gdatetime.c:317,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:318,1
    - Dst: g_date_time_get_day_of_month
      Src: /src/glib/glib/tests/gdatetime.c:318,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:319,1
    - Dst: g_date_time_new_local
      Src: /src/glib/glib/tests/gdatetime.c:321,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:322,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:323,1
    - Dst: g_date_time_get_day_of_month
      Src: /src/glib/glib/tests/gdatetime.c:326,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:327,1
    - Dst: g_date_time_new_local
      Src: /src/glib/glib/tests/gdatetime.c:325,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:326,1
    - Dst: g_date_time_get_day_of_month
      Src: /src/glib/glib/tests/gdatetime.c:322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 328
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 328
    functionName: test_GDateTime_get_day_of_month
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_new_local
    - g_date_time_unref
    - g_date_time_get_day_of_month
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_get_day_of_month (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/tests/gdatetime.c:393,1
    - Dst: g_hash_table_add
      Src: /src/glib/glib/tests/gdatetime.c:396,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/glib/tests/gdatetime.c:398,1
    - Dst: g_hash_table_remove_all
      Src: /src/glib/glib/tests/gdatetime.c:397,1
    - Dst: g_date_time_new_now_local
      Src: /src/glib/glib/tests/gdatetime.c:396,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 399
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 399
    functionName: test_GDateTime_hash
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_new_now_local
    - g_hash_table_add
    - g_hash_table_new_full
    - g_hash_table_remove_all
    - g_hash_table_destroy
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_hash (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/glib/glib/tests/gdatetime.c:1003,1
    - Dst: g_date_time_to_unix
      Src: /src/glib/glib/tests/gdatetime.c:1006,1
    - Dst: g_date_time_new_from_unix_local
      Src: /src/glib/glib/tests/gdatetime.c:1005,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1004,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1006,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1007,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1008
      start: 997
    functionDepth: 0
    functionLinenumber: 997
    functionLinenumberEnd: 1008
    functionName: test_GDateTime_to_unix
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_unref
    - time
    - g_date_time_new_from_unix_local
    - g_date_time_to_unix
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_to_unix (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2125,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2131,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2137,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:2136,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:2144,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2145,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2123,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2128,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:2130,1
    - Dst: g_date_time_add_months
      Src: /src/glib/glib/tests/gdatetime.c:2134,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:2135,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2136,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/tests/gdatetime.c:2137,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2139,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gdatetime.c:2144,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:2153,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:2127,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:2129,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2130,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/tests/gdatetime.c:2131,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gdatetime.c:2135,1
    - Dst: g_date_time_add_months
      Src: /src/glib/glib/tests/gdatetime.c:2147,1
    - Dst: g_date_time_is_daylight_savings
      Src: /src/glib/glib/tests/gdatetime.c:2148,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2149,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2151,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2152,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gdatetime.c:2129,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2140,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2143,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/tests/gdatetime.c:2145,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gdatetime.c:2148,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/tests/gdatetime.c:2149,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 41
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2154
      start: 2115
    functionDepth: 0
    functionLinenumber: 2115
    functionLinenumberEnd: 2154
    functionName: test_GDateTime_dst
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_date_time_unref
    - g_time_zone_unref
    - g_date_time_get_hour
    - g_assert_nonnull
    - g_date_time_new
    - g_time_zone_new_identifier
    - g_date_time_get_utc_offset
    - g_assert_false
    - g_date_time_is_daylight_savings
    - g_date_time_add_months
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_dst (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/gdatetime.c:2444,1
    - Dst: _g_era_description_parse
      Src: /src/glib/glib/tests/gdatetime.c:2450,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/gdatetime.c:2448,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:2454,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gdatetime.c:2455,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:2459,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/gdatetime.c:2462,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2464
      start: 2379
    functionDepth: 0
    functionLinenumber: 2379
    functionLinenumberEnd: 2464
    functionName: test_date_time_eras_parsing
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_assert_null
    - G_N_ELEMENTS
    - _g_era_description_parse
    - g_test_message
    - g_assert_nonnull
    - g_assert_cmpuint
    - g_clear_pointer
    linkageType: ''
    returnType: void
    signature: 'static void test_date_time_eras_parsing (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_new_from_unix_local
      Src: /src/glib/glib/tests/gdatetime.c:2786,1
    - Dst: strftime
      Src: /src/glib/glib/tests/gdatetime.c:2788,1
    - Dst: str_utf8_replace
      Src: /src/glib/glib/tests/gdatetime.c:2793,1
    - Dst: localtime
      Src: /src/glib/glib/tests/gdatetime.c:2788,1
    - Dst: g_date_time_format
      Src: /src/glib/glib/tests/gdatetime.c:2787,1
    - Dst: str_utf8_replace
      Src: /src/glib/glib/tests/gdatetime.c:2794,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2796,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2798,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2799,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2800,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2801,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2804
      start: 2769
    functionDepth: 0
    functionLinenumber: 2769
    functionLinenumberEnd: 2804
    functionName: test_strftime
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_format
    - g_date_time_unref
    - g_date_time_new_from_unix_local
    - g_assert_cmpstr
    - strftime
    - str_utf8_replace
    - localtime
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_strftime (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:225,1
    - Dst: g_date_time_compare
      Src: /src/glib/glib/tests/gdatetime.c:230,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:230,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:231,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:229,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:234,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:235,1
    - Dst: g_date_time_compare
      Src: /src/glib/glib/tests/gdatetime.c:235,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:236,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:238,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:240,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:243,1
    - Dst: g_date_time_compare
      Src: /src/glib/glib/tests/gdatetime.c:243,1
    - Dst: g_date_time_compare
      Src: /src/glib/glib/tests/gdatetime.c:239,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:242,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:239,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:245,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:244,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 246
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 246
    functionName: test_GDateTime_compare
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_unref
    - g_date_time_compare
    - g_assert_cmpint
    - g_date_time_new_utc
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_compare (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:335,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/tests/gdatetime.c:336,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:337,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:339,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:336,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:340,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/tests/gdatetime.c:340,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:341,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:343,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:344,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/tests/gdatetime.c:344,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/tests/gdatetime.c:348,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:349,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:347,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:348,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:345,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 350
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 350
    functionName: test_GDateTime_get_hour
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_unref
    - g_assert_cmpint
    - g_date_time_get_hour
    - g_date_time_new_utc
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_get_hour (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_get_current_time
      Src: /src/glib/glib/tests/gdatetime.c:408,1
    - Dst: g_date_time_get_year
      Src: /src/glib/glib/tests/gdatetime.c:413,1
    - Dst: g_date_time_new_from_timeval_local
      Src: /src/glib/glib/tests/gdatetime.c:409,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/gdatetime.c:412,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/gdatetime.c:411,1
    - Dst: g_date_time_get_month
      Src: /src/glib/glib/tests/gdatetime.c:414,1
    - Dst: g_date_time_get_day_of_month
      Src: /src/glib/glib/tests/gdatetime.c:415,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/tests/gdatetime.c:416,1
    - Dst: g_date_time_get_minute
      Src: /src/glib/glib/tests/gdatetime.c:417,1
    - Dst: g_date_time_get_second
      Src: /src/glib/glib/tests/gdatetime.c:418,1
    - Dst: g_date_time_to_timeval
      Src: /src/glib/glib/tests/gdatetime.c:421,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:423,1
    - Dst: g_date_time_get_timezone_abbreviation
      Src: /src/glib/glib/tests/gdatetime.c:419,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:422,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:424,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 425
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 425
    functionName: test_GDateTime_new_from_timeval
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_get_minute
    - g_date_time_unref
    - g_date_time_get_hour
    - g_test_message
    - g_test_verbose
    - g_date_time_new_from_timeval_local
    - g_date_time_to_timeval
    - g_date_time_get_year
    - g_date_time_get_second
    - g_date_time_get_timezone_abbreviation
    - g_date_time_get_day_of_month
    - g_get_current_time
    - g_date_time_get_month
    - g_assert_cmpint
    linkageType: ''
    returnType: G_GNUC_BEGIN_IGNORE_DEPRECATIONS
    signature: 'G_GNUC_BEGIN_IGNORE_DEPRECATIONS static void test_GDateTime_new_from_timeval
      (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/gdatetime.c:969,1
    - Dst: g_time_zone_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:972,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/gdatetime.c:976,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:978,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/gdatetime.c:974,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:981,1
    - Dst: ASSERT_DATE
      Src: /src/glib/glib/tests/gdatetime.c:982,1
    - Dst: ASSERT_TIME
      Src: /src/glib/glib/tests/gdatetime.c:983,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:984,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:984,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gdatetime.c:988,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/gdatetime.c:991,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:994,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 995
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 995
    functionName: test_GDateTime_new_from_iso8601_2
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_new_from_iso8601
    - g_time_zone_unref
    - g_test_summary
    - ASSERT_DATE
    - g_assert_null
    - G_N_ELEMENTS
    - g_time_zone_new_utc
    - g_test_message
    - g_assert_nonnull
    - g_clear_pointer
    - g_date_time_get_utc_offset
    - ASSERT_TIME
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_new_from_iso8601_2 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_new_local
      Src: /src/glib/glib/tests/gdatetime.c:1015,1
    - Dst: g_date_time_get_year
      Src: /src/glib/glib/tests/gdatetime.c:1017,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1017,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1018,1
    - Dst: g_date_time_add_years
      Src: /src/glib/glib/tests/gdatetime.c:1016,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1019,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1020
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1020
    functionName: test_GDateTime_add_years
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_unref
    - g_date_time_add_years
    - g_date_time_get_year
    - g_date_time_new_local
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_add_years (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:2159,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - year
    argTypes:
    - gint
    constantsTouched: []
    func_position:
      end: 2162
      start: 2156
    functionDepth: 0
    functionLinenumber: 2156
    functionLinenumberEnd: 2162
    functionName: is_leap_year
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_assert
    linkageType: ''
    returnType: gboolean
    signature: 'static inline gboolean is_leap_year (gint year) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:2476,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2477,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2475,1
    - Dst: g_date_time_format
      Src: /src/glib/glib/tests/gdatetime.c:2483,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2492,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:2499,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2500,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2507,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:2508,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2509,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2512,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:2526,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:2514,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2534,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/gdatetime.c:2473,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2480,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2481,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2484,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2516,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:2523,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2539,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2543,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2521,1
    - Dst: g_date_time_format
      Src: /src/glib/glib/tests/gdatetime.c:2533,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2542,1
    - Dst: g_date_time_format
      Src: /src/glib/glib/tests/gdatetime.c:2537,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:2505,1
    - Dst: g_date_time_format
      Src: /src/glib/glib/tests/gdatetime.c:2529,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2520,1
    - Dst: g_date_time_format
      Src: /src/glib/glib/tests/gdatetime.c:2479,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2485,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2488,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2498,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:2496,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2493,1
    - Dst: g_date_time_format
      Src: /src/glib/glib/tests/gdatetime.c:2491,1
    - Dst: g_date_time_format
      Src: /src/glib/glib/tests/gdatetime.c:2501,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2502,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2503,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2530,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2535,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2525,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2538,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2495,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2489,1
    - Dst: g_date_time_format
      Src: /src/glib/glib/tests/gdatetime.c:2487,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2504,1
    - Dst: g_date_time_format
      Src: /src/glib/glib/tests/gdatetime.c:2510,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2513,1
    - Dst: g_date_time_format
      Src: /src/glib/glib/tests/gdatetime.c:2541,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2545,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:2546,1
    - Dst: g_date_time_format
      Src: /src/glib/glib/tests/gdatetime.c:2519,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2518,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2511,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2527,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2531,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2522,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:2517,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 81
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2547
      start: 2466
    functionDepth: 0
    functionLinenumber: 2466
    functionLinenumberEnd: 2547
    functionName: test_z
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_time_zone_unref
    - g_date_time_format
    - g_date_time_unref
    - g_assert_nonnull
    - g_test_bug
    - g_date_time_new
    - g_assert_cmpstr
    - g_time_zone_new_identifier
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_z (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:2665,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/gdatetime.c:2669,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/gdatetime.c:2668,1
    - Dst: strstr
      Src: /src/glib/glib/tests/gdatetime.c:2666,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:2666,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - category
    - name
    argTypes:
    - int
    - gchar*
    constantsTouched: []
    func_position:
      end: 2673
      start: 2661
    functionDepth: 0
    functionLinenumber: 2661
    functionLinenumberEnd: 2673
    functionName: check_and_set_locale
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - setlocale
    - g_test_skip
    - strstr
    - g_test_message
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean check_and_set_locale (int category, const gchar *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/tests/gdatetime.c:2755,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/gdatetime.c:2763,1
    - Dst: g_string_append_unichar
      Src: /src/glib/glib/tests/gdatetime.c:2760,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/tests/gdatetime.c:2757,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/tests/gdatetime.c:2759,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/gdatetime.c:2763,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2764
      start: 2750
    functionDepth: 0
    functionLinenumber: 2750
    functionLinenumberEnd: 2764
    functionName: str_utf8_replace
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_string_append_unichar
    - g_steal_pointer
    - g_utf8_next_char
    - g_utf8_get_char
    - g_string_free
    - g_string_new
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *str_utf8_replace (const gchar *str, gunichar from, gunichar
      to) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/gdatetime.c:3328,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:3335,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:3339,1
    - Dst: g_time_zone_new_offset
      Src: /src/glib/glib/tests/gdatetime.c:3334,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/gdatetime.c:3332,1
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/tests/gdatetime.c:3339,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3340,1
    - Dst: g_time_zone_get_offset
      Src: /src/glib/glib/tests/gdatetime.c:3340,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:3344,1
    - Dst: g_time_zone_get_identifier
      Src: /src/glib/glib/tests/gdatetime.c:3344,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:3347,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3349
      start: 3302
    functionDepth: 0
    functionLinenumber: 3302
    functionLinenumberEnd: 3349
    functionName: test_new_offset
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_time_zone_unref
    - G_N_ELEMENTS
    - g_test_message
    - g_time_zone_get_offset
    - g_assert_nonnull
    - g_time_zone_new_offset
    - g_time_zone_get_identifier
    - g_assert_cmpstr
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_new_offset (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ADD_WEEKS
      Src: /src/glib/glib/tests/gdatetime.c:1084,1
    - Dst: TEST_ADD_WEEKS
      Src: /src/glib/glib/tests/gdatetime.c:1086,1
    - Dst: TEST_ADD_WEEKS
      Src: /src/glib/glib/tests/gdatetime.c:1087,1
    - Dst: TEST_ADD_WEEKS
      Src: /src/glib/glib/tests/gdatetime.c:1085,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1088
      start: 1070
    functionDepth: 0
    functionLinenumber: 1070
    functionLinenumberEnd: 1088
    functionName: test_GDateTime_add_weeks
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - TEST_ADD_WEEKS
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_add_weeks (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ADD_SECONDS
      Src: /src/glib/glib/tests/gdatetime.c:1176,1
    - Dst: TEST_ADD_SECONDS
      Src: /src/glib/glib/tests/gdatetime.c:1179,1
    - Dst: TEST_ADD_SECONDS
      Src: /src/glib/glib/tests/gdatetime.c:1180,1
    - Dst: TEST_ADD_SECONDS
      Src: /src/glib/glib/tests/gdatetime.c:1177,1
    - Dst: TEST_ADD_SECONDS
      Src: /src/glib/glib/tests/gdatetime.c:1178,1
    - Dst: TEST_ADD_SECONDS
      Src: /src/glib/glib/tests/gdatetime.c:1181,1
    - Dst: TEST_ADD_SECONDS
      Src: /src/glib/glib/tests/gdatetime.c:1182,1
    - Dst: TEST_ADD_SECONDS
      Src: /src/glib/glib/tests/gdatetime.c:1183,1
    - Dst: TEST_ADD_SECONDS
      Src: /src/glib/glib/tests/gdatetime.c:1184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1185
      start: 1164
    functionDepth: 0
    functionLinenumber: 1164
    functionLinenumberEnd: 1185
    functionName: test_GDateTime_add_seconds
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - TEST_ADD_SECONDS
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_add_seconds (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1214,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1216,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1215,1
    - Dst: g_date_time_get_minute
      Src: /src/glib/glib/tests/gdatetime.c:1215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1217
      start: 1209
    functionDepth: 0
    functionLinenumber: 1209
    functionLinenumberEnd: 1217
    functionName: test_GDateTime_get_minute
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_get_minute
    - g_date_time_unref
    - g_assert_cmpint
    - g_date_time_new_utc
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_get_minute (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/glib/glib/tests/gdatetime.c:1447,1
    - Dst: g_date_time_new_now_local
      Src: /src/glib/glib/tests/gdatetime.c:1450,1
    - Dst: g_get_real_time
      Src: /src/glib/glib/tests/gdatetime.c:1448,1
    - Dst: get_localtime_tm
      Src: /src/glib/glib/tests/gdatetime.c:1448,1
    - Dst: g_date_time_get_utc_offset
      Src: /src/glib/glib/tests/gdatetime.c:1451,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1453,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1456,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1458,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1460
      start: 1439
    functionDepth: 0
    functionLinenumber: 1439
    functionLinenumberEnd: 1460
    functionName: test_GDateTime_get_utc_offset
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - memset
    - g_date_time_unref
    - g_date_time_new_now_local
    - get_localtime_tm
    - g_date_time_get_utc_offset
    - g_get_real_time
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_get_utc_offset (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: skip_if_running_uninstalled
      Src: /src/glib/glib/tests/gdatetime.c:1683,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gdatetime.c:1686,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1688,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/gdatetime.c:1690,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1705,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1711,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1713,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1710,1
    - Dst: TEST_PRINTF_DATE
      Src: /src/glib/glib/tests/gdatetime.c:1714,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1717,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1759,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1762,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1744,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1751,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1753,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1729,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1686,1
    - Dst: strstr
      Src: /src/glib/glib/tests/gdatetime.c:1688,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:1691,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1706,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1721,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1725,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1726,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1728,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1741,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1720,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1765,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1772,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1755,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1767,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1766,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1769,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1754,1
    - Dst: g_get_charset
      Src: /src/glib/glib/tests/gdatetime.c:1694,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1697,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1712,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1715,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1719,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1730,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1732,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1734,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1735,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1737,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1742,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1743,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1758,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1760,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1761,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1745,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1764,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1747,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1752,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1750,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1731,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:1773,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1749,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:1687,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/gdatetime.c:1696,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:1698,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1708,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1722,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1723,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1724,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1727,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1738,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:1739,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1757,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1736,1
    - Dst: TEST_PRINTF
      Src: /src/glib/glib/tests/gdatetime.c:1768,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 78
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1774
      start: 1678
    functionDepth: 0
    functionLinenumber: 1678
    functionLinenumberEnd: 1774
    functionName: test_non_utf8_printf
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_strdup
    - TEST_PRINTF_TIME
    - TEST_PRINTF_DATE
    - TEST_PRINTF
    - setlocale
    - skip_if_running_uninstalled
    - g_get_charset
    - g_test_skip
    - g_free
    - strstr
    linkageType: ''
    returnType: void
    signature: 'static void test_non_utf8_printf (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/tests/gdatetime.c:2172,1
    - Dst: is_leap_year
      Src: /src/glib/glib/tests/gdatetime.c:2174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - year
    - month
    argTypes:
    - gint
    - gint
    constantsTouched: []
    func_position:
      end: 2175
      start: 2164
    functionDepth: 0
    functionLinenumber: 2164
    functionLinenumberEnd: 2175
    functionName: days_in_month
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_assert
    - is_leap_year
    linkageType: ''
    returnType: gint
    signature: 'static inline gint days_in_month (gint year, gint month) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2629,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2627,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2599,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:2600,1
    - Dst: g_time_zone_new_offset
      Src: /src/glib/glib/tests/gdatetime.c:2602,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2603,1
    - Dst: g_date_time_format_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:2604,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:2608,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2623,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2631,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:2624,1
    - Dst: g_date_time_format_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:2628,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2595,1
    - Dst: g_date_time_format_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:2596,1
    - Dst: g_date_time_format_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:2612,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2606,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2613,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2611,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2615,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:2616,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2621,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2622,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2630,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:2632,1
    - Dst: g_time_zone_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:2594,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2597,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2598,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2607,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gdatetime.c:2605,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2614,1
    - Dst: g_time_zone_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:2610,1
    - Dst: g_time_zone_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:2618,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2619,1
    - Dst: g_date_time_format_iso8601
      Src: /src/glib/glib/tests/gdatetime.c:2620,1
    - Dst: g_time_zone_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:2626,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 52
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2633
      start: 2587
    functionDepth: 0
    functionLinenumber: 2587
    functionLinenumberEnd: 2633
    functionName: test_format_iso8601
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_format_iso8601
    - g_time_zone_unref
    - g_date_time_unref
    - g_time_zone_new_utc
    - g_time_zone_new_offset
    - g_assert_cmpstr
    - g_date_time_new
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_format_iso8601 (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: skip_if_running_uninstalled
      Src: /src/glib/glib/tests/gdatetime.c:2817,1
    - Dst: SetThreadLocale
      Src: /src/glib/glib/tests/gdatetime.c:2822,1
    - Dst: GetThreadLocale
      Src: /src/glib/glib/tests/gdatetime.c:2821,1
    - Dst: MAKELCID
      Src: /src/glib/glib/tests/gdatetime.c:2822,1
    - Dst: MAKELANGID
      Src: /src/glib/glib/tests/gdatetime.c:2822,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gdatetime.c:2825,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:2825,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:2826,1
    - Dst: strstr
      Src: /src/glib/glib/tests/gdatetime.c:2827,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:2827,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:2836,1
    - Dst: SetThreadLocale
      Src: /src/glib/glib/tests/gdatetime.c:2839,1
    - Dst: TEST_PRINTF_TIME
      Src: /src/glib/glib/tests/gdatetime.c:2831,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/gdatetime.c:2835,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/gdatetime.c:2834,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2841
      start: 2809
    functionDepth: 0
    functionLinenumber: 2809
    functionLinenumberEnd: 2841
    functionName: test_GDateTime_strftime_error_handling
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_strdup
    - TEST_PRINTF_TIME
    - MAKELCID
    - SetThreadLocale
    - setlocale
    - skip_if_running_uninstalled
    - MAKELANGID
    - g_test_skip
    - g_free
    - strstr
    - GetThreadLocale
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_strftime_error_handling (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ADD_HOURS
      Src: /src/glib/glib/tests/gdatetime.c:1107,1
    - Dst: TEST_ADD_HOURS
      Src: /src/glib/glib/tests/gdatetime.c:1108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1109
      start: 1090
    functionDepth: 0
    functionLinenumber: 1090
    functionLinenumberEnd: 1109
    functionName: test_GDateTime_add_hours
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - TEST_ADD_HOURS
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_add_hours (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_DIFF
      Src: /src/glib/glib/tests/gdatetime.c:1201,1
    - Dst: TEST_DIFF
      Src: /src/glib/glib/tests/gdatetime.c:1202,1
    - Dst: TEST_DIFF
      Src: /src/glib/glib/tests/gdatetime.c:1203,1
    - Dst: TEST_DIFF
      Src: /src/glib/glib/tests/gdatetime.c:1204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1207
      start: 1187
    functionDepth: 0
    functionLinenumber: 1187
    functionLinenumberEnd: 1207
    functionName: test_GDateTime_diff
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - TEST_DIFF
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_diff (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:1224,1
    - Dst: g_date_time_get_month
      Src: /src/glib/glib/tests/gdatetime.c:1225,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1225,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1227
      start: 1219
    functionDepth: 0
    functionLinenumber: 1219
    functionLinenumberEnd: 1227
    functionName: test_GDateTime_get_month
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_get_month
    - g_date_time_unref
    - g_assert_cmpint
    - g_date_time_new_utc
    linkageType: ''
    returnType: void
    signature: 'static void test_GDateTime_get_month (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/glib/glib/tests/gdatetime.c:1469,1
    - Dst: g_get_current_time
      Src: /src/glib/glib/tests/gdatetime.c:1472,1
    - Dst: g_date_time_to_timeval
      Src: /src/glib/glib/tests/gdatetime.c:1474,1
    - Dst: g_date_time_new_from_timeval_local
      Src: /src/glib/glib/tests/gdatetime.c:1473,1
    - Dst: memset
      Src: /src/glib/glib/tests/gdatetime.c:1470,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1475,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:1476,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:1477,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1478
      start: 1462
    functionDepth: 0
    functionLinenumber: 1462
    functionLinenumberEnd: 1478
    functionName: test_GDateTime_to_timeval
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_unref
    - g_date_time_to_timeval
    - g_date_time_new_from_timeval_local
    - g_get_current_time
    - memset
    - g_assert_cmpint
    linkageType: ''
    returnType: G_GNUC_BEGIN_IGNORE_DEPRECATIONS
    signature: 'G_GNUC_BEGIN_IGNORE_DEPRECATIONS static void test_GDateTime_to_timeval
      (void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_get_year
      Src: /src/glib/glib/tests/gdatetime.c:2222,1
    - Dst: g_error
      Src: /src/glib/glib/tests/gdatetime.c:2225,1
    - Dst: g_date_time_get_day_of_month
      Src: /src/glib/glib/tests/gdatetime.c:2229,1
    - Dst: g_date_time_get_day_of_year
      Src: /src/glib/glib/tests/gdatetime.c:2246,1
    - Dst: g_date_time_get_day_of_year
      Src: /src/glib/glib/tests/gdatetime.c:2249,1
    - Dst: g_error
      Src: /src/glib/glib/tests/gdatetime.c:2254,1
    - Dst: g_date_time_new
      Src: /src/glib/glib/tests/gdatetime.c:2212,1
    - Dst: g_date_time_get_month
      Src: /src/glib/glib/tests/gdatetime.c:2223,1
    - Dst: g_date_time_get_day_of_month
      Src: /src/glib/glib/tests/gdatetime.c:2224,1
    - Dst: g_date_time_to_unix
      Src: /src/glib/glib/tests/gdatetime.c:2244,1
    - Dst: g_error
      Src: /src/glib/glib/tests/gdatetime.c:2247,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/tests/gdatetime.c:2256,1
    - Dst: g_date_time_get_seconds
      Src: /src/glib/glib/tests/gdatetime.c:2258,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2293,1
    - Dst: g_date_time_get_seconds
      Src: /src/glib/glib/tests/gdatetime.c:2253,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:2297,1
    - Dst: g_date_time_get_minute
      Src: /src/glib/glib/tests/gdatetime.c:2257,1
    - Dst: g_time_zone_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:2189,1
    - Dst: g_date_time_get_day_of_week
      Src: /src/glib/glib/tests/gdatetime.c:2233,1
    - Dst: g_date_time_get_week_numbering_year
      Src: /src/glib/glib/tests/gdatetime.c:2237,1
    - Dst: g_date_time_get_week_of_year
      Src: /src/glib/glib/tests/gdatetime.c:2238,1
    - Dst: g_date_time_get_day_of_week
      Src: /src/glib/glib/tests/gdatetime.c:2239,1
    - Dst: g_date_time_get_minute
      Src: /src/glib/glib/tests/gdatetime.c:2252,1
    - Dst: g_date_time_get_hour
      Src: /src/glib/glib/tests/gdatetime.c:2251,1
    - Dst: G_GINT64_CONSTANT
      Src: /src/glib/glib/tests/gdatetime.c:2191,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/gdatetime.c:2215,1
    - Dst: days_in_month
      Src: /src/glib/glib/tests/gdatetime.c:2208,1
    - Dst: g_date_time_get_year
      Src: /src/glib/glib/tests/gdatetime.c:2227,1
    - Dst: g_date_time_get_week_numbering_year
      Src: /src/glib/glib/tests/gdatetime.c:2231,1
    - Dst: g_date_time_get_week_of_year
      Src: /src/glib/glib/tests/gdatetime.c:2232,1
    - Dst: g_error
      Src: /src/glib/glib/tests/gdatetime.c:2234,1
    - Dst: g_date_time_get_month
      Src: /src/glib/glib/tests/gdatetime.c:2228,1
    - Dst: g_date_time_to_unix
      Src: /src/glib/glib/tests/gdatetime.c:2241,1
    - Dst: g_error
      Src: /src/glib/glib/tests/gdatetime.c:2242,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 80
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2298
      start: 2177
    functionDepth: 0
    functionLinenumber: 2177
    functionLinenumberEnd: 2298
    functionName: test_all_dates
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_unref
    - g_date_time_get_year
    - g_date_time_get_day_of_week
    - g_error
    - g_date_time_get_month
    - g_date_time_get_week_numbering_year
    - g_time_zone_unref
    - g_date_time_get_hour
    - g_time_zone_new_utc
    - g_date_time_to_unix
    - g_date_time_get_seconds
    - g_date_time_get_minute
    - g_test_message
    - days_in_month
    - G_GINT64_CONSTANT
    - g_date_time_new
    - g_date_time_get_week_of_year
    - g_date_time_get_day_of_year
    - g_date_time_get_day_of_month
    linkageType: ''
    returnType: void
    signature: 'static void test_all_dates (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2852,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2854,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:2857,1
    - Dst: g_date_time_to_unix
      Src: /src/glib/glib/tests/gdatetime.c:2858,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:2856,1
    - Dst: g_time_zone_find_interval
      Src: /src/glib/glib/tests/gdatetime.c:2860,1
    - Dst: g_time_zone_find_interval
      Src: /src/glib/glib/tests/gdatetime.c:2861,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2863,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2865,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:2867,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:2874,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2871,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2873,1
    - Dst: g_date_time_to_unix
      Src: /src/glib/glib/tests/gdatetime.c:2868,1
    - Dst: g_time_zone_find_interval
      Src: /src/glib/glib/tests/gdatetime.c:2870,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2875
      start: 2843
    functionDepth: 0
    functionLinenumber: 2843
    functionLinenumberEnd: 2875
    functionName: test_find_interval
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_time_zone_unref
    - g_date_time_unref
    - g_date_time_to_unix
    - g_assert_nonnull
    - g_date_time_new_utc
    - g_time_zone_new_identifier
    - g_time_zone_find_interval
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_find_interval (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/gdatetime.c:3365,1
    - Dst: g_test_build_filename
      Src: /src/glib/glib/tests/gdatetime.c:3373,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gdatetime.c:3374,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/gdatetime.c:3368,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/gdatetime.c:3366,1
    - Dst: g_path_is_absolute
      Src: /src/glib/glib/tests/gdatetime.c:3374,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:3375,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:3376,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:3377,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gdatetime.c:3378,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/gdatetime.c:3381,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3383
      start: 3351
    functionDepth: 0
    functionLinenumber: 3351
    functionLinenumberEnd: 3383
    functionName: test_time_zone_parse_rfc8536
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_test_build_filename
    - g_test_summary
    - g_time_zone_unref
    - G_N_ELEMENTS
    - g_assert_nonnull
    - g_test_bug
    - g_time_zone_new_identifier
    - g_test_skip
    - g_free
    - g_path_is_absolute
    linkageType: ''
    returnType: void
    signature: 'static void test_time_zone_parse_rfc8536 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:3470,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:3477,1
    - Dst: g_get_real_time
      Src: /src/glib/glib/tests/gdatetime.c:3450,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3456,1
    - Dst: g_date_time_new_from_unix_utc_usec
      Src: /src/glib/glib/tests/gdatetime.c:3460,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3461,1
    - Dst: g_date_time_to_unix_usec
      Src: /src/glib/glib/tests/gdatetime.c:3461,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3462,1
    - Dst: g_date_time_to_utc
      Src: /src/glib/glib/tests/gdatetime.c:3466,1
    - Dst: g_date_time_to_unix
      Src: /src/glib/glib/tests/gdatetime.c:3468,1
    - Dst: g_date_time_new_from_unix_local_usec
      Src: /src/glib/glib/tests/gdatetime.c:3472,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3474,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3475,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3457,1
    - Dst: g_date_time_new_from_unix_utc
      Src: /src/glib/glib/tests/gdatetime.c:3455,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:3458,1
    - Dst: g_date_time_to_unix_usec
      Src: /src/glib/glib/tests/gdatetime.c:3467,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3468,1
    - Dst: g_date_time_new_from_unix_local
      Src: /src/glib/glib/tests/gdatetime.c:3465,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:3467,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:3469,1
    - Dst: g_date_time_to_unix_usec
      Src: /src/glib/glib/tests/gdatetime.c:3474,1
    - Dst: g_date_time_to_unix_usec
      Src: /src/glib/glib/tests/gdatetime.c:3456,1
    - Dst: g_date_time_to_unix
      Src: /src/glib/glib/tests/gdatetime.c:3457,1
    - Dst: g_date_time_to_unix
      Src: /src/glib/glib/tests/gdatetime.c:3462,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:3463,1
    - Dst: g_date_time_to_utc
      Src: /src/glib/glib/tests/gdatetime.c:3473,1
    - Dst: g_date_time_to_unix
      Src: /src/glib/glib/tests/gdatetime.c:3475,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:3476,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 39
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3478
      start: 3447
    functionDepth: 0
    functionLinenumber: 3447
    functionLinenumberEnd: 3478
    functionName: test_date_time_unix_usec
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_date_time_new_from_unix_utc_usec
    - g_date_time_new_from_unix_utc
    - g_date_time_unref
    - g_date_time_new_from_unix_local
    - g_date_time_to_unix
    - g_date_time_new_from_unix_local_usec
    - g_date_time_to_utc
    - g_date_time_to_unix_usec
    - g_get_real_time
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_date_time_unix_usec (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:2891,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2901,1
    - Dst: g_date_time_to_unix
      Src: /src/glib/glib/tests/gdatetime.c:2904,1
    - Dst: g_time_zone_adjust_time
      Src: /src/glib/glib/tests/gdatetime.c:2896,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2898,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:2903,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2899,1
    - Dst: g_date_time_to_unix
      Src: /src/glib/glib/tests/gdatetime.c:2908,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2912,1
    - Dst: g_time_zone_adjust_time
      Src: /src/glib/glib/tests/gdatetime.c:2911,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gdatetime.c:2913,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2905,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2886,1
    - Dst: g_date_time_to_unix
      Src: /src/glib/glib/tests/gdatetime.c:2892,1
    - Dst: g_time_zone_new_identifier
      Src: /src/glib/glib/tests/gdatetime.c:2888,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gdatetime.c:2890,1
    - Dst: g_time_zone_find_interval
      Src: /src/glib/glib/tests/gdatetime.c:2895,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/gdatetime.c:2909,1
    - Dst: g_date_time_new_utc
      Src: /src/glib/glib/tests/gdatetime.c:2907,1
    - Dst: g_time_zone_unref
      Src: /src/glib/glib/tests/gdatetime.c:2915,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2916
      start: 2877
    functionDepth: 0
    functionLinenumber: 2877
    functionLinenumberEnd: 2916
    functionName: test_adjust_time
    functionSourceFile: /src/glib/glib/tests/gdatetime.c
    functionUses: []
    functionsReached:
    - g_time_zone_unref
    - g_date_time_unref
    - g_date_time_to_unix
    - g_assert_nonnull
    - g_time_zone_adjust_time
    - g_date_time_new_utc
    - g_time_zone_new_identifier
    - g_time_zone_find_interval
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_adjust_time (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_compare_and_exchange
      Src: /src/glib/glib/tests/642026.c:30,1
    - Dst: g_error
      Src: /src/glib/glib/tests/642026.c:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 34
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 34
    functionName: notify
    functionSourceFile: /src/glib/glib/tests/642026.c
    functionUses: []
    functionsReached:
    - g_atomic_int_compare_and_exchange
    - g_error
    linkageType: ''
    returnType: void
    signature: 'static void notify (gpointer p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/glib/tests/642026.c:39,1
    - Dst: g_cond_broadcast
      Src: /src/glib/glib/tests/642026.c:42,1
    - Dst: g_static_private_set
      Src: /src/glib/glib/tests/642026.c:41,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/642026.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - nil
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: thread_func
    functionSourceFile: /src/glib/glib/tests/642026.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_static_private_set
    - g_cond_broadcast
    - g_mutex_lock
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer thread_func (gpointer nil) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/642026.c:98,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/642026.c:102,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/642026.c:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: main
    functionSourceFile: /src/glib/glib/tests/642026.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_slow
      Src: /src/glib/glib/tests/642026.c:62,1
    - Dst: g_mutex_new
      Src: /src/glib/glib/tests/642026.c:66,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/642026.c:64,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/tests/642026.c:69,1
    - Dst: g_cond_new
      Src: /src/glib/glib/tests/642026.c:67,1
    - Dst: g_static_private_init
      Src: /src/glib/glib/tests/642026.c:75,1
    - Dst: g_atomic_int_set
      Src: /src/glib/glib/tests/642026.c:76,1
    - Dst: g_thread_create
      Src: /src/glib/glib/tests/642026.c:78,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/642026.c:79,1
    - Dst: g_cond_wait
      Src: /src/glib/glib/tests/642026.c:82,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/642026.c:86,1
    - Dst: g_cond_free
      Src: /src/glib/glib/tests/642026.c:89,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/642026.c:90,1
    - Dst: g_static_private_free
      Src: /src/glib/glib/tests/642026.c:85,1
    - Dst: g_mutex_free
      Src: /src/glib/glib/tests/642026.c:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 92
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 92
    functionName: testcase
    functionSourceFile: /src/glib/glib/tests/642026.c
    functionUses: []
    functionsReached:
    - g_cond_free
    - g_static_private_init
    - g_thread_create
    - g_mutex_unlock
    - g_mutex_lock
    - g_test_slow
    - g_assert
    - g_mutex_free
    - g_test_bug
    - g_static_private_free
    - g_atomic_int_set
    - g_thread_join
    - g_cond_new
    - g_cond_wait
    - g_mutex_new
    linkageType: ''
    returnType: void
    signature: 'static void testcase (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_free_full
      Src: /src/glib/glib/tests/regex.c:488,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:489,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - _data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 490
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 490
    functionName: free_match_next_data
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - g_slist_free_full
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void free_match_next_data (gpointer _data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_regex_check_replacement
      Src: /src/glib/glib/tests/regex.c:1209,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1210,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1214
      start: 1202
    functionDepth: 0
    functionLinenumber: 1202
    functionLinenumberEnd: 1214
    functionName: test_check_replacement
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - g_regex_check_replacement
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_check_replacement (gconstpointer d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:1748,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:1746,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:1750,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:1753,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:1754,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:1755,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:1760,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:1758,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:1764,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1767,1
    - Dst: g_match_info_next
      Src: /src/glib/glib/tests/regex.c:1772,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:1749,1
    - Dst: g_match_info_next
      Src: /src/glib/glib/tests/regex.c:1751,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1752,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1757,1
    - Dst: g_match_info_next
      Src: /src/glib/glib/tests/regex.c:1766,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:1768,1
    - Dst: g_match_info_next
      Src: /src/glib/glib/tests/regex.c:1778,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:1782,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:1745,1
    - Dst: g_match_info_next
      Src: /src/glib/glib/tests/regex.c:1756,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1762,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:1759,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:1769,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:1770,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:1781,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1747,1
    - Dst: g_match_info_next
      Src: /src/glib/glib/tests/regex.c:1761,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:1763,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:1765,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1773,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/regex.c:1776,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/regex.c:1778,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/regex.c:1779,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 49
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1783
      start: 1735
    functionDepth: 0
    functionLinenumber: 1735
    functionLinenumberEnd: 1783
    functionName: test_class
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_regex_new
    - g_assert
    - g_match_info_fetch
    - g_match_info_free
    - g_regex_match
    - g_assert_cmpstr
    - g_test_expect_message
    - g_regex_unref
    - g_assert_false
    - g_free
    - g_match_info_next
    linkageType: ''
    returnType: void
    signature: 'static void test_class (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/regex.c:2340,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2346,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2345,1
    - Dst: g_match_info_next
      Src: /src/glib/glib/tests/regex.c:2349,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:2342,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2351,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:2352,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:2354,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2355
      start: 2333
    functionDepth: 0
    functionLinenumber: 2333
    functionLinenumberEnd: 2355
    functionName: test_multiline
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - g_regex_new
    - g_match_info_matches
    - g_match_info_free
    - g_regex_match
    - g_test_bug
    - g_regex_unref
    - g_match_info_next
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_multiline (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:2372,1
    - Dst: g_regex_get_max_lookbehind
      Src: /src/glib/glib/tests/regex.c:2373,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:2376,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:2373,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:2374,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:2377,1
    - Dst: g_regex_get_max_lookbehind
      Src: /src/glib/glib/tests/regex.c:2377,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:2378,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:2380,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:2381,1
    - Dst: g_regex_get_max_lookbehind
      Src: /src/glib/glib/tests/regex.c:2381,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:2382,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2383
      start: 2367
    functionDepth: 0
    functionLinenumber: 2367
    functionLinenumberEnd: 2383
    functionName: test_max_lookbehind
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - g_regex_new
    - g_regex_unref
    - g_regex_get_max_lookbehind
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_max_lookbehind (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:1057,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/regex.c:1064,1
    - Dst: g_regex_split_full
      Src: /src/glib/glib/tests/regex.c:1061,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1068,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1059,1
    - Dst: g_slist_length
      Src: /src/glib/glib/tests/regex.c:1068,1
    - Dst: g_slist_next
      Src: /src/glib/glib/tests/regex.c:1071,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/regex.c:1073,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:1074,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:1077,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/regex.c:1078,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1079
      start: 1047
    functionDepth: 0
    functionLinenumber: 1047
    functionLinenumberEnd: 1079
    functionName: test_split_full
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - g_regex_split_full
    - g_strv_length
    - g_regex_new
    - g_assert
    - g_slist_length
    - g_assert_nonnull
    - g_slist_next
    - g_assert_cmpstr
    - g_strfreev
    - g_regex_unref
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_split_full (gconstpointer d) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:1247,1
    - Dst: g_match_info_expand_references
      Src: /src/glib/glib/tests/regex.c:1253,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:1249,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:1254,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:1250,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:1255,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:1256,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:1258,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1259
      start: 1236
    functionDepth: 0
    functionLinenumber: 1236
    functionLinenumberEnd: 1259
    functionName: test_expand
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - g_regex_new
    - g_match_info_free
    - g_regex_match
    - g_assert_cmpstr
    - g_assert_no_error
    - g_match_info_expand_references
    - g_regex_unref
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_expand (gconstpointer d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:2362,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:2363,1
    - Dst: g_regex_get_has_cr_or_lf
      Src: /src/glib/glib/tests/regex.c:2363,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:2364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2365
      start: 2357
    functionDepth: 0
    functionLinenumber: 2357
    functionLinenumberEnd: 2365
    functionName: test_explicit_crlf
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - g_regex_new
    - g_regex_unref
    - g_regex_get_has_cr_or_lf
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_explicit_crlf (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_config
      Src: /src/glib/glib/tests/regex.c:2393,1
    - Dst: g_ascii_strtoull
      Src: /src/glib/glib/tests/regex.c:2395,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2397,1
    - Dst: g_ascii_strtoull
      Src: /src/glib/glib/tests/regex.c:2398,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - major
    - minor
    argTypes:
    - guint64
    - guint64
    constantsTouched: []
    func_position:
      end: 2401
      start: 2385
    functionDepth: 0
    functionLinenumber: 2385
    functionLinenumberEnd: 2401
    functionName: pcre2_ge
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - g_assert
    - pcre2_config
    - g_ascii_strtoull
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean pcre2_ge (guint64 major, guint64 minor) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:1293,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:1299,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:1294,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:1302,1
    - Dst: g_regex_replace
      Src: /src/glib/glib/tests/regex.c:1296,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:1304,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:1305,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/regex.c:1306,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1307
      start: 1285
    functionDepth: 0
    functionLinenumber: 1285
    functionLinenumberEnd: 1307
    functionName: test_replace
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_regex_new
    - g_assert_cmpstr
    - g_assert_no_error
    - g_regex_unref
    - g_regex_replace
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_replace (gconstpointer d) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:1482,1
    - Dst: g_slist_length
      Src: /src/glib/glib/tests/regex.c:1486,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1487,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1489,1
    - Dst: g_regex_match_all_full
      Src: /src/glib/glib/tests/regex.c:1483,1
    - Dst: g_match_info_get_match_count
      Src: /src/glib/glib/tests/regex.c:1491,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1492,1
    - Dst: g_slist_length
      Src: /src/glib/glib/tests/regex.c:1492,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:1501,1
    - Dst: g_match_info_fetch_pos
      Src: /src/glib/glib/tests/regex.c:1502,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:1514,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:1504,1
    - Dst: g_slist_next
      Src: /src/glib/glib/tests/regex.c:1510,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1505,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:1508,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:1513,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1506,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1515
      start: 1471
    functionDepth: 0
    functionLinenumber: 1471
    functionLinenumberEnd: 1515
    functionName: test_match_all_full
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - g_regex_match_all_full
    - g_regex_new
    - g_slist_length
    - g_assert
    - g_match_info_fetch
    - g_slist_next
    - g_match_info_free
    - g_match_info_get_match_count
    - g_assert_cmpstr
    - g_match_info_fetch_pos
    - g_regex_unref
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_match_all_full (gconstpointer d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_free_full
      Src: /src/glib/glib/tests/regex.c:1598,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:1599,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - _data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1600
      start: 1593
    functionDepth: 0
    functionLinenumber: 1593
    functionLinenumberEnd: 1600
    functionName: free_match_all_data
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - g_slist_free_full
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void free_match_all_data (gpointer _data) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: g_strv_builder_add
      Src: /src/glib/glib/tests/regex.c:218,1
    - Dst: g_strv_builder_add
      Src: /src/glib/glib/tests/regex.c:220,1
    - Dst: g_strv_builder_add
      Src: /src/glib/glib/tests/regex.c:236,1
    - Dst: g_strv_builder_add
      Src: /src/glib/glib/tests/regex.c:240,1
    - Dst: g_strv_builder_add
      Src: /src/glib/glib/tests/regex.c:246,1
    - Dst: g_strv_builder_add
      Src: /src/glib/glib/tests/regex.c:238,1
    - Dst: g_strv_builder_add
      Src: /src/glib/glib/tests/regex.c:244,1
    - Dst: g_strv_builder_add
      Src: /src/glib/glib/tests/regex.c:242,1
    - Dst: g_strjoinv
      Src: /src/glib/glib/tests/regex.c:253,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/regex.c:255,1
    - Dst: g_strv_builder_new
      Src: /src/glib/glib/tests/regex.c:211,1
    - Dst: g_strv_builder_add
      Src: /src/glib/glib/tests/regex.c:222,1
    - Dst: g_strv_builder_add
      Src: /src/glib/glib/tests/regex.c:216,1
    - Dst: g_strv_builder_add
      Src: /src/glib/glib/tests/regex.c:224,1
    - Dst: g_strv_builder_add
      Src: /src/glib/glib/tests/regex.c:226,1
    - Dst: g_strv_builder_add
      Src: /src/glib/glib/tests/regex.c:228,1
    - Dst: g_strv_builder_add
      Src: /src/glib/glib/tests/regex.c:230,1
    - Dst: g_strv_builder_add
      Src: /src/glib/glib/tests/regex.c:232,1
    - Dst: g_strv_builder_add
      Src: /src/glib/glib/tests/regex.c:234,1
    - Dst: g_strv_builder_add
      Src: /src/glib/glib/tests/regex.c:250,1
    - Dst: g_strv_builder_end
      Src: /src/glib/glib/tests/regex.c:252,1
    - Dst: g_strv_builder_add
      Src: /src/glib/glib/tests/regex.c:248,1
    - Dst: g_strv_builder_unref
      Src: /src/glib/glib/tests/regex.c:256,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 259
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 259
    functionName: compile_options_to_string
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - g_strv_builder_unref
    - g_strfreev
    - g_strv_builder_new
    - g_strjoinv
    - g_strv_builder_add
    - g_strv_builder_end
    linkageType: ''
    returnType: char*
    signature: 'static char *compile_options_to_string (GRegexCompileFlags compile_flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/glib/tests/regex.c:449,1
    - Dst: g_regex_match_full
      Src: /src/glib/glib/tests/regex.c:444,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/tests/regex.c:454,1
    - Dst: g_slist_reverse
      Src: /src/glib/glib/tests/regex.c:460,1
    - Dst: g_slist_length
      Src: /src/glib/glib/tests/regex.c:462,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:442,1
    - Dst: g_match_info_fetch_pos
      Src: /src/glib/glib/tests/regex.c:453,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:457,1
    - Dst: g_match_info_get_regex
      Src: /src/glib/glib/tests/regex.c:457,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:459,1
    - Dst: g_match_info_get_string
      Src: /src/glib/glib/tests/regex.c:458,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:473,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:479,1
    - Dst: g_slist_free_full
      Src: /src/glib/glib/tests/regex.c:480,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:440,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:447,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:450,1
    - Dst: g_match_info_next
      Src: /src/glib/glib/tests/regex.c:455,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:462,1
    - Dst: g_slist_length
      Src: /src/glib/glib/tests/regex.c:462,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:471,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:458,1
    - Dst: g_slist_next
      Src: /src/glib/glib/tests/regex.c:475,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:472,1
    - Dst: g_slist_next
      Src: /src/glib/glib/tests/regex.c:476,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 481
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 481
    functionName: test_match_next
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - g_regex_new
    - g_slist_reverse
    - g_match_info_fetch
    - g_match_info_next
    - g_new0
    - g_slist_length
    - g_match_info_get_string
    - g_match_info_fetch_pos
    - g_slist_prepend
    - g_assert_cmpint
    - g_regex_match_full
    - g_match_info_free
    - g_slist_next
    - g_regex_unref
    - g_match_info_get_regex
    - g_match_info_matches
    - g_assert
    - g_assert_cmpstr
    - g_slist_free_full
    linkageType: ''
    returnType: void
    signature: 'static void test_match_next (gconstpointer d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:633,1
    - Dst: g_match_info_get_match_count
      Src: /src/glib/glib/tests/regex.c:640,1
    - Dst: g_regex_match_full
      Src: /src/glib/glib/tests/regex.c:638,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:642,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:636,1
    - Dst: g_match_info_ref
      Src: /src/glib/glib/tests/regex.c:644,1
    - Dst: g_match_info_unref
      Src: /src/glib/glib/tests/regex.c:645,1
    - Dst: g_match_info_unref
      Src: /src/glib/glib/tests/regex.c:646,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:647,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 648
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 648
    functionName: test_match_count
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - g_regex_match_full
    - g_regex_new
    - g_assert
    - g_match_info_ref
    - g_match_info_get_match_count
    - g_regex_unref
    - g_match_info_unref
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_match_count (gconstpointer d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:1352,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:1357,1
    - Dst: g_regex_replace_literal
      Src: /src/glib/glib/tests/regex.c:1353,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:1355,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:1358,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1359
      start: 1345
    functionDepth: 0
    functionLinenumber: 1345
    functionLinenumberEnd: 1359
    functionName: test_replace_lit
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - g_regex_new
    - g_assert_cmpstr
    - g_regex_unref
    - g_regex_replace_literal
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_replace_lit (gconstpointer d) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1531,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1533,1
    - Dst: g_regex_match_all
      Src: /src/glib/glib/tests/regex.c:1528,1
    - Dst: g_slist_length
      Src: /src/glib/glib/tests/regex.c:1530,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:1549,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1582,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1536,1
    - Dst: g_message
      Src: /src/glib/glib/tests/regex.c:1555,1
    - Dst: g_message
      Src: /src/glib/glib/tests/regex.c:1562,1
    - Dst: g_message
      Src: /src/glib/glib/tests/regex.c:1551,1
    - Dst: g_message
      Src: /src/glib/glib/tests/regex.c:1542,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:1589,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:1527,1
    - Dst: g_match_info_get_match_count
      Src: /src/glib/glib/tests/regex.c:1535,1
    - Dst: g_slist_length
      Src: /src/glib/glib/tests/regex.c:1538,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1581,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:1584,1
    - Dst: g_slist_next
      Src: /src/glib/glib/tests/regex.c:1586,1
    - Dst: g_message
      Src: /src/glib/glib/tests/regex.c:1540,1
    - Dst: g_message
      Src: /src/glib/glib/tests/regex.c:1541,1
    - Dst: g_match_info_fetch_pos
      Src: /src/glib/glib/tests/regex.c:1550,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:1552,1
    - Dst: g_slist_length
      Src: /src/glib/glib/tests/regex.c:1567,1
    - Dst: g_error
      Src: /src/glib/glib/tests/regex.c:1566,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:1577,1
    - Dst: g_match_info_fetch_pos
      Src: /src/glib/glib/tests/regex.c:1578,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:1580,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:1590,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 51
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1591
      start: 1517
    functionDepth: 0
    functionLinenumber: 1517
    functionLinenumberEnd: 1591
    functionName: test_match_all
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - g_message
    - g_regex_new
    - g_slist_length
    - g_assert
    - g_match_info_fetch
    - g_slist_next
    - g_match_info_free
    - g_match_info_get_match_count
    - g_assert_cmpstr
    - g_regex_match_all
    - g_match_info_fetch_pos
    - g_regex_unref
    - g_error
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_match_all (gconstpointer d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:1800,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1802,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:1804,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:1814,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:1811,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1817,1
    - Dst: g_match_info_get_match_count
      Src: /src/glib/glib/tests/regex.c:1817,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:1828,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1835,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1836,1
    - Dst: g_match_info_fetch_pos
      Src: /src/glib/glib/tests/regex.c:1840,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1838,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1834,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:1799,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:1813,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:1805,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:1816,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1820,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1821,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:1826,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1827,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:1829,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1830,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:1844,1
    - Dst: g_match_info_get_match_count
      Src: /src/glib/glib/tests/regex.c:1832,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1832,1
    - Dst: g_match_info_fetch_pos
      Src: /src/glib/glib/tests/regex.c:1833,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:1797,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1801,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1798,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1803,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:1806,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1812,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:1807,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1816,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1819,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:1831,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:1845,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:1839,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:1802,1
    - Dst: g_match_info_get_match_count
      Src: /src/glib/glib/tests/regex.c:1803,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:1808,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1815,1
    - Dst: g_match_info_fetch_pos
      Src: /src/glib/glib/tests/regex.c:1818,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:1822,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:1823,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1831,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1842,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1843,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1841,1
    - Dst: g_match_info_next
      Src: /src/glib/glib/tests/regex.c:1837,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 66
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1846
      start: 1786
    functionDepth: 0
    functionLinenumber: 1786
    functionLinenumberEnd: 1846
    functionName: test_lookahead
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - g_regex_new
    - g_assert
    - g_match_info_matches
    - g_match_info_fetch
    - g_regex_match
    - g_match_info_free
    - g_match_info_get_match_count
    - g_assert_cmpstr
    - g_assert_no_error
    - g_match_info_fetch_pos
    - g_regex_unref
    - g_free
    - g_match_info_next
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_lookahead (void) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: g_strv_builder_add
      Src: /src/glib/glib/tests/regex.c:269,1
    - Dst: g_strv_builder_add
      Src: /src/glib/glib/tests/regex.c:275,1
    - Dst: g_strv_builder_add
      Src: /src/glib/glib/tests/regex.c:271,1
    - Dst: g_strv_builder_add
      Src: /src/glib/glib/tests/regex.c:273,1
    - Dst: g_strv_builder_add
      Src: /src/glib/glib/tests/regex.c:277,1
    - Dst: g_strv_builder_add
      Src: /src/glib/glib/tests/regex.c:295,1
    - Dst: g_strv_builder_add
      Src: /src/glib/glib/tests/regex.c:299,1
    - Dst: g_strv_builder_end
      Src: /src/glib/glib/tests/regex.c:301,1
    - Dst: g_strv_builder_add
      Src: /src/glib/glib/tests/regex.c:293,1
    - Dst: g_strv_builder_add
      Src: /src/glib/glib/tests/regex.c:291,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/regex.c:304,1
    - Dst: g_strv_builder_add
      Src: /src/glib/glib/tests/regex.c:279,1
    - Dst: g_strv_builder_add
      Src: /src/glib/glib/tests/regex.c:281,1
    - Dst: g_strv_builder_add
      Src: /src/glib/glib/tests/regex.c:283,1
    - Dst: g_strv_builder_add
      Src: /src/glib/glib/tests/regex.c:285,1
    - Dst: g_strjoinv
      Src: /src/glib/glib/tests/regex.c:302,1
    - Dst: g_strv_builder_add
      Src: /src/glib/glib/tests/regex.c:289,1
    - Dst: g_strv_builder_add
      Src: /src/glib/glib/tests/regex.c:287,1
    - Dst: g_strv_builder_new
      Src: /src/glib/glib/tests/regex.c:264,1
    - Dst: g_strv_builder_unref
      Src: /src/glib/glib/tests/regex.c:305,1
    - Dst: g_strv_builder_add
      Src: /src/glib/glib/tests/regex.c:297,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 308
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 308
    functionName: match_options_to_string
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - g_strv_builder_unref
    - g_strfreev
    - g_strv_builder_new
    - g_strjoinv
    - g_strv_builder_add
    - g_strv_builder_end
    linkageType: ''
    returnType: char*
    signature: 'static char *match_options_to_string (GRegexMatchFlags match_flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:811,1
    - Dst: g_match_info_fetch_named
      Src: /src/glib/glib/tests/regex.c:816,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:813,1
    - Dst: g_regex_match_full
      Src: /src/glib/glib/tests/regex.c:815,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:817,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:818,1
    - Dst: g_match_info_fetch_named_pos
      Src: /src/glib/glib/tests/regex.c:820,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:821,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:822,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:824,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:825,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 826
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 826
    functionName: test_named_sub_pattern
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - g_regex_match_full
    - g_regex_new
    - g_match_info_fetch_named
    - g_assert
    - g_match_info_free
    - g_assert_cmpstr
    - g_match_info_fetch_named_pos
    - g_regex_unref
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_named_sub_pattern (gconstpointer d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:1388,1
    - Dst: g_regex_get_string_number
      Src: /src/glib/glib/tests/regex.c:1389,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:1392,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1391,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1393
      start: 1381
    functionDepth: 0
    functionLinenumber: 1381
    functionLinenumberEnd: 1393
    functionName: test_get_string_number
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - g_regex_new
    - g_regex_get_string_number
    - g_regex_unref
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_get_string_number (gconstpointer d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:1969,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1975,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:1981,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:1996,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2036,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:2022,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:2019,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2056,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2057,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2064,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:1976,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:1992,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1995,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:2040,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:2053,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2074,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:2077,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2091,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2096,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2101,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:2071,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2122,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2014,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:1978,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:1980,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1993,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:2044,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:2047,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2081,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:2084,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:2093,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2118,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:2099,1
    - Dst: g_match_info_fetch_named
      Src: /src/glib/glib/tests/regex.c:2092,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:2000,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2008,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:2026,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2057,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2062,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:2069,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2083,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:2086,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2106,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2118,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2123,1
    - Dst: g_regex_get_max_backref
      Src: /src/glib/glib/tests/regex.c:1973,1
    - Dst: g_regex_get_max_backref
      Src: /src/glib/glib/tests/regex.c:1991,1
    - Dst: g_match_info_get_match_count
      Src: /src/glib/glib/tests/regex.c:1995,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2012,1
    - Dst: g_regex_get_capture_count
      Src: /src/glib/glib/tests/regex.c:2034,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:2049,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2055,1
    - Dst: g_match_info_fetch_pos
      Src: /src/glib/glib/tests/regex.c:2063,1
    - Dst: g_match_info_fetch_pos
      Src: /src/glib/glib/tests/regex.c:2080,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:2088,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2090,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2070,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2116,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2032,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1976,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:1989,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:1997,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2035,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:2027,1
    - Dst: g_match_info_next
      Src: /src/glib/glib/tests/regex.c:2061,1
    - Dst: g_match_info_fetch_named
      Src: /src/glib/glib/tests/regex.c:2097,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:2098,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:2113,1
    - Dst: g_match_info_next
      Src: /src/glib/glib/tests/regex.c:2078,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:2034,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1972,1
    - Dst: g_match_info_get_match_count
      Src: /src/glib/glib/tests/regex.c:1977,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:2001,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:2007,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:2004,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:2046,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2052,1
    - Dst: g_match_info_fetch_pos
      Src: /src/glib/glib/tests/regex.c:2058,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:2067,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:2020,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:2029,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:1971,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1973,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:1979,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:1984,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:2045,1
    - Dst: g_regex_get_max_backref
      Src: /src/glib/glib/tests/regex.c:2054,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:2060,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2073,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:2011,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2016,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2066,1
    - Dst: g_match_info_fetch_pos
      Src: /src/glib/glib/tests/regex.c:2075,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:2094,1
    - Dst: g_match_info_fetch_named
      Src: /src/glib/glib/tests/regex.c:2107,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:2115,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2076,1
    - Dst: g_match_info_fetch_named
      Src: /src/glib/glib/tests/regex.c:2102,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2122,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:2023,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:2031,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:2024,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:2038,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:2042,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2059,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2079,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:2109,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2117,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:2124,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:2003,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:1983,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1988,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1990,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:2025,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:2006,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2037,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:2051,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:2054,1
    - Dst: g_match_info_next
      Src: /src/glib/glib/tests/regex.c:2095,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:2108,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2110,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:2005,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2016,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:2002,1
    - Dst: g_regex_get_capture_count
      Src: /src/glib/glib/tests/regex.c:1990,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:1999,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2037,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2072,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2089,1
    - Dst: g_match_info_next
      Src: /src/glib/glib/tests/regex.c:2105,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:2111,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2120,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1970,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:1985,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:1994,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:2033,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:2009,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:2021,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:2043,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:2065,1
    - Dst: g_match_info_next
      Src: /src/glib/glib/tests/regex.c:2100,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2119,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:2104,1
    - Dst: g_regex_get_capture_count
      Src: /src/glib/glib/tests/regex.c:1972,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1994,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:1998,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:2018,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2087,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:2103,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2028,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:1987,1
    - Dst: g_match_info_get_match_count
      Src: /src/glib/glib/tests/regex.c:2017,1
    - Dst: g_regex_get_max_backref
      Src: /src/glib/glib/tests/regex.c:2018,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2015,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:2082,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2121,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2074,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:2013,1
    - Dst: g_regex_match_all
      Src: /src/glib/glib/tests/regex.c:1974,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1977,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:1982,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1991,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:2017,1
    - Dst: g_match_info_get_match_count
      Src: /src/glib/glib/tests/regex.c:2038,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:2039,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:2041,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2048,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2091,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2114,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 215
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2125
      start: 1958
    functionDepth: 0
    functionLinenumber: 1958
    functionLinenumberEnd: 2125
    functionName: test_subpattern
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - g_regex_get_capture_count
    - g_regex_new
    - g_assert
    - g_regex_get_max_backref
    - g_match_info_matches
    - g_match_info_fetch
    - g_match_info_free
    - g_match_info_get_match_count
    - g_assert_cmpstr
    - g_assert_no_error
    - g_regex_match
    - g_match_info_fetch_named
    - g_regex_match_all
    - g_match_info_fetch_pos
    - g_regex_unref
    - g_free
    - g_match_info_next
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_subpattern (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:321,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:322,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:323,1
    - Dst: compile_options_to_string
      Src: /src/glib/glib/tests/regex.c:328,1
    - Dst: g_regex_match_full
      Src: /src/glib/glib/tests/regex.c:325,1
    - Dst: match_options_to_string
      Src: /src/glib/glib/tests/regex.c:329,1
    - Dst: match_options_to_string
      Src: /src/glib/glib/tests/regex.c:330,1
    - Dst: g_error
      Src: /src/glib/glib/tests/regex.c:335,1
    - Dst: strlen
      Src: /src/glib/glib/tests/regex.c:339,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:344,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:362,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:361,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:365,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:366,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:368,1
    - Dst: g_error
      Src: /src/glib/glib/tests/regex.c:349,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:367,1
    - Dst: strlen
      Src: /src/glib/glib/tests/regex.c:353,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 369
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 369
    functionName: test_match
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - compile_options_to_string
    - strlen
    - g_regex_match_full
    - g_regex_new
    - g_assert
    - g_regex_match
    - match_options_to_string
    - g_assert_no_error
    - g_regex_unref
    - g_error
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_match (gconstpointer d) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:419,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:420,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 421
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 421
    functionName: free_match
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void free_match (gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:678,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:682,1
    - Dst: g_match_info_is_partial_match
      Src: /src/glib/glib/tests/regex.c:684,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:684,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:680,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:688,1
    - Dst: g_match_info_fetch_pos
      Src: /src/glib/glib/tests/regex.c:688,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:689,1
    - Dst: g_match_info_fetch_pos
      Src: /src/glib/glib/tests/regex.c:689,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:692,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:693,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 694
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 694
    functionName: test_partial
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - g_regex_new
    - g_assert
    - g_match_info_free
    - g_regex_match
    - g_match_info_is_partial_match
    - g_match_info_fetch_pos
    - g_regex_unref
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_partial (gconstpointer d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_regex_escape_nul
      Src: /src/glib/glib/tests/regex.c:1444,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:1448,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:1446,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1449
      start: 1438
    functionDepth: 0
    functionLinenumber: 1438
    functionLinenumberEnd: 1449
    functionName: test_escape_nul
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - g_free
    - g_regex_escape_nul
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void test_escape_nul (gconstpointer d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_match_info_get_match_count
      Src: /src/glib/glib/tests/regex.c:1865,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1879,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1909,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1940,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:1942,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:1946,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1868,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:1922,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1903,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:1941,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:1925,1
    - Dst: g_match_info_fetch_pos
      Src: /src/glib/glib/tests/regex.c:1926,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1865,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1891,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1913,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1927,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1937,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:1934,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1895,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:1932,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:1879,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:1889,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1916,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:1944,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:1947,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1880,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:1887,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:1908,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1928,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:1905,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1924,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:1897,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:1953,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:1862,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1867,1
    - Dst: g_match_info_get_match_count
      Src: /src/glib/glib/tests/regex.c:1880,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1894,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:1913,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:1902,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:1937,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:1954,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:1917,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:1929,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1878,1
    - Dst: g_match_info_fetch_pos
      Src: /src/glib/glib/tests/regex.c:1881,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1882,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:1890,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:1896,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1925,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:1949,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1952,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:1930,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1860,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1869,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:1876,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:1885,1
    - Dst: g_match_info_fetch_pos
      Src: /src/glib/glib/tests/regex.c:1893,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1949,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:1864,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:1884,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1888,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:1901,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:1906,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1912,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1936,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1864,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:1923,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:1877,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:1904,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1904,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:1910,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:1859,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:1874,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1915,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1939,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:1870,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1875,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1883,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:1899,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1892,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:1911,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:1935,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1951,1
    - Dst: g_match_info_fetch_pos
      Src: /src/glib/glib/tests/regex.c:1914,1
    - Dst: g_match_info_fetch_pos
      Src: /src/glib/glib/tests/regex.c:1866,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:1871,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1921,1
    - Dst: g_match_info_fetch_pos
      Src: /src/glib/glib/tests/regex.c:1938,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1945,1
    - Dst: g_match_info_fetch_pos
      Src: /src/glib/glib/tests/regex.c:1950,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:1920,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1933,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:1861,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1900,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:1918,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1863,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:1892,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1948,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 124
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1955
      start: 1849
    functionDepth: 0
    functionLinenumber: 1849
    functionLinenumberEnd: 1955
    functionName: test_lookbehind
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - g_regex_new
    - g_assert
    - g_match_info_matches
    - g_match_info_free
    - g_regex_match
    - g_match_info_get_match_count
    - g_assert_no_error
    - g_match_info_fetch_pos
    - g_regex_unref
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_lookbehind (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:78,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:79,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:81,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:80,1
    - Dst: g_regex_get_pattern
      Src: /src/glib/glib/tests/regex.c:81,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/regex.c:85,1
    - Dst: g_regex_get_compile_flags
      Src: /src/glib/glib/tests/regex.c:85,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/regex.c:86,1
    - Dst: g_regex_get_match_flags
      Src: /src/glib/glib/tests/regex.c:86,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:89,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 90
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 90
    functionName: test_new
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - g_regex_get_pattern
    - g_regex_new
    - g_assert
    - g_regex_get_compile_flags
    - g_assert_cmphex
    - g_assert_cmpstr
    - g_assert_no_error
    - g_regex_unref
    - g_regex_get_match_flags
    linkageType: ''
    returnType: void
    signature: 'static void test_new (gconstpointer d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_regex_match_simple
      Src: /src/glib/glib/tests/regex.c:166,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 168
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 168
    functionName: test_match_simple
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - g_regex_match_simple
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_match_simple (gconstpointer d) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:883,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/regex.c:890,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:887,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:885,1
    - Dst: g_match_info_fetch_all
      Src: /src/glib/glib/tests/regex.c:888,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:894,1
    - Dst: g_slist_length
      Src: /src/glib/glib/tests/regex.c:894,1
    - Dst: g_slist_next
      Src: /src/glib/glib/tests/regex.c:897,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/regex.c:899,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:900,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:903,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:904,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/regex.c:905,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 906
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 906
    functionName: test_fetch_all
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - g_match_info_fetch_all
    - g_strv_length
    - g_regex_new
    - g_assert
    - g_slist_length
    - g_assert_nonnull
    - g_regex_match
    - g_slist_next
    - g_assert_cmpstr
    - g_match_info_free
    - g_strfreev
    - g_regex_unref
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_fetch_all (gconstpointer d) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_regex_split_simple
      Src: /src/glib/glib/tests/regex.c:977,1
    - Dst: g_slist_length
      Src: /src/glib/glib/tests/regex.c:984,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/regex.c:980,1
    - Dst: g_slist_next
      Src: /src/glib/glib/tests/regex.c:987,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:984,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/regex.c:989,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:990,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/regex.c:993,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 994
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 994
    functionName: test_split_simple
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - g_strv_length
    - g_slist_length
    - g_assert_nonnull
    - g_slist_next
    - g_assert_cmpstr
    - g_strfreev
    - g_regex_split_simple
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_split_simple (gconstpointer d) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:1091,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1093,1
    - Dst: g_regex_split
      Src: /src/glib/glib/tests/regex.c:1095,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/regex.c:1097,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:1101,1
    - Dst: g_slist_length
      Src: /src/glib/glib/tests/regex.c:1101,1
    - Dst: g_slist_next
      Src: /src/glib/glib/tests/regex.c:1104,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/regex.c:1106,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:1107,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:1110,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/regex.c:1111,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1112
      start: 1081
    functionDepth: 0
    functionLinenumber: 1081
    functionLinenumberEnd: 1112
    functionName: test_split
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - g_strv_length
    - g_regex_new
    - g_assert
    - g_regex_split
    - g_slist_length
    - g_slist_next
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_strfreev
    - g_regex_unref
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_split (gconstpointer d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2249,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2284,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2307,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2312,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2320,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2280,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2298,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2257,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:2289,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2282,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2294,1
    - Dst: g_match_info_fetch_pos
      Src: /src/glib/glib/tests/regex.c:2276,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2307,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2266,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2234,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2243,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2244,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:2261,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2253,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2308,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2297,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2282,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2258,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2279,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2281,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2306,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2318,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2232,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:2248,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2264,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2294,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:2304,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2310,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2327,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:2330,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2239,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:2246,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2253,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2255,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:2268,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2299,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2303,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:2313,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2277,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2296,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2236,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:2287,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:2291,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2320,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:2300,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:2272,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:2278,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2286,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2305,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2309,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2323,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2325,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:2231,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2241,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:2285,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2292,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:2317,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2319,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2321,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2322,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2326,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2329,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2236,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2238,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2256,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2257,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2265,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2298,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2293,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2324,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2254,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:2259,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2244,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2245,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2252,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:2302,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:2250,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2262,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:2263,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2267,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:2270,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:2315,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2316,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2237,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2295,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2328,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2290,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2273,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2311,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2324,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2235,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2240,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2242,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2251,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2328,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2274,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2275,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2275,1
    - Dst: g_match_info_fetch_pos
      Src: /src/glib/glib/tests/regex.c:2283,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:2233,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2240,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2266,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2271,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2311,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 147
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2331
      start: 2221
    functionDepth: 0
    functionLinenumber: 2221
    functionLinenumberEnd: 2331
    functionName: test_recursion
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - g_regex_new
    - g_assert
    - g_match_info_matches
    - g_match_info_free
    - g_regex_match
    - g_assert_no_error
    - g_match_info_fetch_pos
    - g_regex_unref
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_recursion (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:2409,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/regex.c:2411,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/regex.c:2412,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/regex.c:2410,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2413
      start: 2403
    functionDepth: 0
    functionLinenumber: 2403
    functionLinenumberEnd: 2413
    functionName: test_compile_errors
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - g_regex_new
    - g_clear_error
    - g_assert_error
    - g_assert_null
    linkageType: ''
    returnType: void
    signature: 'static void test_compile_errors (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/regex.c:2483,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2490,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/regex.c:2490,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/regex.c:2484,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:2486,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2492,1
    - Dst: g_match_info_fetch_named
      Src: /src/glib/glib/tests/regex.c:2494,1
    - Dst: g_match_info_fetch_named
      Src: /src/glib/glib/tests/regex.c:2495,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:2497,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:2498,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:2500,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:2501,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:2506,1
    - Dst: g_match_info_unref
      Src: /src/glib/glib/tests/regex.c:2505,1
    - Dst: g_match_info_next
      Src: /src/glib/glib/tests/regex.c:2502,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2507
      start: 2476
    functionDepth: 0
    functionLinenumber: 2476
    functionLinenumberEnd: 2507
    functionName: test_unmatched_named_subpattern
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_test_summary
    - g_regex_new
    - g_match_info_matches
    - g_match_info_fetch_named
    - g_regex_match
    - g_test_bug
    - g_assert_cmpstr
    - g_regex_unref
    - g_free
    - g_match_info_next
    - g_match_info_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_unmatched_named_subpattern (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:129,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/regex.c:133,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/regex.c:132,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:131,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 134
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 134
    functionName: test_new_fail
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - g_regex_new
    - g_error_free
    - g_assert
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_new_fail (gconstpointer d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:749,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:755,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:756,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:751,1
    - Dst: g_regex_match_full
      Src: /src/glib/glib/tests/regex.c:753,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:757,1
    - Dst: g_match_info_fetch_pos
      Src: /src/glib/glib/tests/regex.c:759,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:760,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:761,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:763,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:764,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 765
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 765
    functionName: test_sub_pattern
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - g_regex_match_full
    - g_regex_new
    - g_assert
    - g_match_info_fetch
    - g_match_info_free
    - g_assert_cmpstr
    - g_match_info_fetch_pos
    - g_regex_unref
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_sub_pattern (gconstpointer d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_free
      Src: /src/glib/glib/tests/regex.c:913,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:914,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - _data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 915
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 915
    functionName: free_fetch_all_data
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - g_free
    - g_slist_free
    linkageType: ''
    returnType: void
    signature: 'static void free_fetch_all_data (gpointer _data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_regex_escape_string
      Src: /src/glib/glib/tests/regex.c:1419,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:1423,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:1421,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1424
      start: 1413
    functionDepth: 0
    functionLinenumber: 1413
    functionLinenumberEnd: 1424
    functionName: test_escape
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - g_regex_escape_string
    - g_free
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void test_escape (gconstpointer d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:1724,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:1728,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:1726,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:1727,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:1725,1
    - Dst: g_free
      Src: /src/glib/glib/tests/regex.c:1729,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:1731,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:1732,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1733
      start: 1714
    functionDepth: 0
    functionLinenumber: 1714
    functionLinenumberEnd: 1733
    functionName: test_properties
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - g_regex_new
    - g_assert
    - g_match_info_fetch
    - g_match_info_free
    - g_regex_match
    - g_assert_cmpstr
    - g_regex_unref
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_properties (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2424,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/regex.c:2443,1
    - Dst: g_match_info_get_match_count
      Src: /src/glib/glib/tests/regex.c:2444,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/regex.c:2454,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:2455,1
    - Dst: g_match_info_get_match_count
      Src: /src/glib/glib/tests/regex.c:2455,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/regex.c:2462,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:2464,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/regex.c:2466,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:2468,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:2473,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:2459,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2452,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:2460,1
    - Dst: g_match_info_get_match_count
      Src: /src/glib/glib/tests/regex.c:2463,1
    - Dst: g_match_info_next
      Src: /src/glib/glib/tests/regex.c:2462,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:2422,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/regex.c:2424,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:2427,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/regex.c:2428,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:2430,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:2433,1
    - Dst: g_match_info_get_match_count
      Src: /src/glib/glib/tests/regex.c:2433,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:2437,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:2445,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/regex.c:2447,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/regex.c:2450,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/regex.c:2461,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:2463,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/regex.c:2470,1
    - Dst: g_match_info_next
      Src: /src/glib/glib/tests/regex.c:2470,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/regex.c:2458,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:2426,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/regex.c:2436,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/regex.c:2431,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/regex.c:2432,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:2434,1
    - Dst: g_match_info_next
      Src: /src/glib/glib/tests/regex.c:2432,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/regex.c:2439,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/regex.c:2440,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:2444,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:2446,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:2467,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2454,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:2457,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/regex.c:2451,1
    - Dst: g_match_info_get_match_count
      Src: /src/glib/glib/tests/regex.c:2425,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/regex.c:2425,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:2429,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:2435,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:2438,1
    - Dst: g_match_info_next
      Src: /src/glib/glib/tests/regex.c:2440,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2441,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2443,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:2448,1
    - Dst: g_match_info_next
      Src: /src/glib/glib/tests/regex.c:2451,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:2465,1
    - Dst: g_match_info_fetch
      Src: /src/glib/glib/tests/regex.c:2456,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/regex.c:2469,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2471,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/regex.c:2449,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 73
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2474
      start: 2415
    functionDepth: 0
    functionLinenumber: 2415
    functionLinenumberEnd: 2474
    functionName: test_jit_unsupported_matching_options
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_regex_new
    - g_match_info_free
    - g_match_info_fetch
    - g_regex_match
    - g_match_info_get_match_count
    - g_assert_cmpstr
    - g_clear_pointer
    - g_regex_unref
    - g_assert_false
    - g_match_info_next
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_jit_unsupported_matching_options (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/regex.c:2515,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/regex.c:2524,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:2518,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/regex.c:2516,1
    - Dst: memset
      Src: /src/glib/glib/tests/regex.c:2521,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2524,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/regex.c:2526,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2526,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:2528,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2529
      start: 2509
    functionDepth: 0
    functionLinenumber: 2509
    functionLinenumberEnd: 2529
    functionName: test_compiled_regex_after_jit_failure
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_test_summary
    - g_regex_new
    - g_regex_match
    - g_test_bug
    - g_regex_unref
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void test_compiled_regex_after_jit_failure (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2685,1
    - Dst: TEST_MATCH_COUNT
      Src: /src/glib/glib/tests/regex.c:2909,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2783,1
    - Dst: TEST_SPLIT_SIMPLE3
      Src: /src/glib/glib/tests/regex.c:3021,1
    - Dst: TEST_SPLIT0
      Src: /src/glib/glib/tests/regex.c:3028,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3070,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3103,1
    - Dst: TEST_REPLACE
      Src: /src/glib/glib/tests/regex.c:3151,1
    - Dst: TEST_REPLACE_LIT
      Src: /src/glib/glib/tests/regex.c:3191,1
    - Dst: TEST_ESCAPE_NUL
      Src: /src/glib/glib/tests/regex.c:3215,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2614,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2622,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2830,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2843,1
    - Dst: TEST_NAMED_SUB_PATTERN
      Src: /src/glib/glib/tests/regex.c:2986,1
    - Dst: TEST_SPLIT2
      Src: /src/glib/glib/tests/regex.c:3050,1
    - Dst: TEST_MATCH_NOTEMPTY
      Src: /src/glib/glib/tests/regex.c:3270,1
    - Dst: TEST_ESCAPE_NUL
      Src: /src/glib/glib/tests/regex.c:3220,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/regex.c:2550,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2654,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2730,1
    - Dst: memset
      Src: /src/glib/glib/tests/regex.c:2759,1
    - Dst: TEST_SPLIT3
      Src: /src/glib/glib/tests/regex.c:3042,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3095,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3113,1
    - Dst: TEST_REPLACE
      Src: /src/glib/glib/tests/regex.c:3150,1
    - Dst: TEST_NEW
      Src: /src/glib/glib/tests/regex.c:2560,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2630,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2707,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2859,1
    - Dst: TEST_CHECK_REPLACEMENT
      Src: /src/glib/glib/tests/regex.c:3066,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3090,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3122,1
    - Dst: TEST_GET_STRING_NUMBER
      Src: /src/glib/glib/tests/regex.c:3204,1
    - Dst: TEST_MATCH_ALL0
      Src: /src/glib/glib/tests/regex.c:3252,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2837,1
    - Dst: TEST_NEW
      Src: /src/glib/glib/tests/regex.c:2555,1
    - Dst: TEST_NEW_CHECK_FLAGS
      Src: /src/glib/glib/tests/regex.c:2587,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2617,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2657,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2686,1
    - Dst: TEST_MATCH_COUNT
      Src: /src/glib/glib/tests/regex.c:2910,1
    - Dst: TEST_MATCH_NEXT1
      Src: /src/glib/glib/tests/regex.c:2884,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3098,1
    - Dst: TEST_REPLACE
      Src: /src/glib/glib/tests/regex.c:3149,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/regex.c:2543,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2604,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2731,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2811,1
    - Dst: TEST_NAMED_SUB_PATTERN
      Src: /src/glib/glib/tests/regex.c:2971,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3072,1
    - Dst: TEST_REPLACE
      Src: /src/glib/glib/tests/regex.c:3163,1
    - Dst: TEST_MATCH_COUNT
      Src: /src/glib/glib/tests/regex.c:2911,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2806,1
    - Dst: TEST_SUB_PATTERN
      Src: /src/glib/glib/tests/regex.c:2958,1
    - Dst: TEST_SPLIT2
      Src: /src/glib/glib/tests/regex.c:3039,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3107,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3121,1
    - Dst: TEST_REPLACE
      Src: /src/glib/glib/tests/regex.c:3148,1
    - Dst: TEST_GET_STRING_NUMBER
      Src: /src/glib/glib/tests/regex.c:3197,1
    - Dst: TEST_ESCAPE_NUL
      Src: /src/glib/glib/tests/regex.c:3219,1
    - Dst: TEST_MATCH_ALL0
      Src: /src/glib/glib/tests/regex.c:3254,1
    - Dst: TEST_REPLACE_LIT
      Src: /src/glib/glib/tests/regex.c:3193,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2780,1
    - Dst: TEST_MATCH_NEXT0
      Src: /src/glib/glib/tests/regex.c:2879,1
    - Dst: TEST_MATCH_NEXT3
      Src: /src/glib/glib/tests/regex.c:2899,1
    - Dst: TEST_NEW
      Src: /src/glib/glib/tests/regex.c:2570,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2708,1
    - Dst: TEST_MATCH_NEXT1
      Src: /src/glib/glib/tests/regex.c:2887,1
    - Dst: TEST_PARTIAL
      Src: /src/glib/glib/tests/regex.c:2931,1
    - Dst: TEST_SPLIT_SIMPLE3
      Src: /src/glib/glib/tests/regex.c:3016,1
    - Dst: TEST_CHECK_REPLACEMENT
      Src: /src/glib/glib/tests/regex.c:3062,1
    - Dst: TEST_MATCH_NEXT2
      Src: /src/glib/glib/tests/regex.c:2894,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2638,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2876,1
    - Dst: TEST_NAMED_SUB_PATTERN
      Src: /src/glib/glib/tests/regex.c:2983,1
    - Dst: TEST_FETCH_ALL2
      Src: /src/glib/glib/tests/regex.c:2997,1
    - Dst: TEST_SPLIT2
      Src: /src/glib/glib/tests/regex.c:3040,1
    - Dst: TEST_MATCH_ALL1
      Src: /src/glib/glib/tests/regex.c:3260,1
    - Dst: TEST_MATCH_ALL3
      Src: /src/glib/glib/tests/regex.c:3267,1
    - Dst: TEST_REPLACE
      Src: /src/glib/glib/tests/regex.c:3144,1
    - Dst: TEST_NEW
      Src: /src/glib/glib/tests/regex.c:2567,1
    - Dst: TEST_NEW
      Src: /src/glib/glib/tests/regex.c:2572,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2644,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2683,1
    - Dst: TEST_MATCH_NEXT3
      Src: /src/glib/glib/tests/regex.c:2896,1
    - Dst: TEST_SPLIT_SIMPLE3
      Src: /src/glib/glib/tests/regex.c:3010,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3114,1
    - Dst: TEST_REPLACE_LIT
      Src: /src/glib/glib/tests/regex.c:3175,1
    - Dst: TEST_REPLACE_LIT
      Src: /src/glib/glib/tests/regex.c:3176,1
    - Dst: TEST_REPLACE_LIT
      Src: /src/glib/glib/tests/regex.c:3189,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3099,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2775,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2814,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/regex.c:2546,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2641,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2726,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2795,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2808,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2846,1
    - Dst: TEST_NAMED_SUB_PATTERN
      Src: /src/glib/glib/tests/regex.c:2965,1
    - Dst: TEST_FETCH_ALL1
      Src: /src/glib/glib/tests/regex.c:2992,1
    - Dst: TEST_GET_STRING_NUMBER
      Src: /src/glib/glib/tests/regex.c:3198,1
    - Dst: TEST_GET_STRING_NUMBER
      Src: /src/glib/glib/tests/regex.c:3202,1
    - Dst: TEST_ESCAPE
      Src: /src/glib/glib/tests/regex.c:3231,1
    - Dst: TEST_ESCAPE
      Src: /src/glib/glib/tests/regex.c:3232,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2817,1
    - Dst: TEST_MATCH_COUNT
      Src: /src/glib/glib/tests/regex.c:2908,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2786,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2825,1
    - Dst: TEST_MATCH_NEXT2
      Src: /src/glib/glib/tests/regex.c:2892,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2635,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2705,1
    - Dst: TEST_SUB_PATTERN
      Src: /src/glib/glib/tests/regex.c:2951,1
    - Dst: TEST_SPLIT_SIMPLE0
      Src: /src/glib/glib/tests/regex.c:3025,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3074,1
    - Dst: TEST_PARTIAL
      Src: /src/glib/glib/tests/regex.c:2919,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/regex.c:2541,1
    - Dst: TEST_NEW_CHECK_FLAGS
      Src: /src/glib/glib/tests/regex.c:2594,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2647,1
    - Dst: TEST_SPLIT_SIMPLE2
      Src: /src/glib/glib/tests/regex.c:3009,1
    - Dst: TEST_ESCAPE_NUL
      Src: /src/glib/glib/tests/regex.c:3218,1
    - Dst: TEST_MATCH_ALL1
      Src: /src/glib/glib/tests/regex.c:3256,1
    - Dst: TEST_MATCH_ALL2
      Src: /src/glib/glib/tests/regex.c:3262,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2849,1
    - Dst: TEST_NAMED_SUB_PATTERN
      Src: /src/glib/glib/tests/regex.c:2968,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3085,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3108,1
    - Dst: TEST_REPLACE_OPTIONS
      Src: /src/glib/glib/tests/regex.c:3170,1
    - Dst: TEST_ESCAPE_NUL
      Src: /src/glib/glib/tests/regex.c:3226,1
    - Dst: TEST_PARTIAL
      Src: /src/glib/glib/tests/regex.c:2926,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/regex.c:2548,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2684,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2727,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2729,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2772,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2862,1
    - Dst: TEST_SUB_PATTERN
      Src: /src/glib/glib/tests/regex.c:2955,1
    - Dst: TEST_SPLIT_SIMPLE3
      Src: /src/glib/glib/tests/regex.c:3022,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3073,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3110,1
    - Dst: TEST_ESCAPE
      Src: /src/glib/glib/tests/regex.c:3238,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2728,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2802,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/regex.c:2542,1
    - Dst: TEST_NEW_CHECK_FLAGS
      Src: /src/glib/glib/tests/regex.c:2586,1
    - Dst: TEST_NEW
      Src: /src/glib/glib/tests/regex.c:2650,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2706,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3129,1
    - Dst: TEST_ESCAPE_NUL
      Src: /src/glib/glib/tests/regex.c:3225,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/regex.c:3273,1
    - Dst: TEST_NEW
      Src: /src/glib/glib/tests/regex.c:2573,1
    - Dst: TEST_NEW_CHECK_FLAGS
      Src: /src/glib/glib/tests/regex.c:2589,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2652,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2689,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2735,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2785,1
    - Dst: TEST_MATCH_NEXT2
      Src: /src/glib/glib/tests/regex.c:2895,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2818,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2826,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3105,1
    - Dst: TEST_NEW
      Src: /src/glib/glib/tests/regex.c:2558,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2628,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2693,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2734,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2800,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2736,1
    - Dst: TEST_MATCH_NEXT3
      Src: /src/glib/glib/tests/regex.c:2898,1
    - Dst: TEST_SUB_PATTERN
      Src: /src/glib/glib/tests/regex.c:2954,1
    - Dst: TEST_NAMED_SUB_PATTERN
      Src: /src/glib/glib/tests/regex.c:2967,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2798,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2615,1
    - Dst: TEST_NEW
      Src: /src/glib/glib/tests/regex.c:2561,1
    - Dst: TEST_MATCH_COUNT
      Src: /src/glib/glib/tests/regex.c:2914,1
    - Dst: TEST_PARTIAL
      Src: /src/glib/glib/tests/regex.c:2932,1
    - Dst: TEST_SPLIT1
      Src: /src/glib/glib/tests/regex.c:3053,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3104,1
    - Dst: TEST_REPLACE
      Src: /src/glib/glib/tests/regex.c:3143,1
    - Dst: TEST_REPLACE_LIT
      Src: /src/glib/glib/tests/regex.c:3186,1
    - Dst: TEST_MATCH_ALL3
      Src: /src/glib/glib/tests/regex.c:3265,1
    - Dst: TEST_REPLACE
      Src: /src/glib/glib/tests/regex.c:3160,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2774,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2713,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2845,1
    - Dst: TEST_SPLIT3
      Src: /src/glib/glib/tests/regex.c:3052,1
    - Dst: TEST_REPLACE
      Src: /src/glib/glib/tests/regex.c:3157,1
    - Dst: TEST_REPLACE
      Src: /src/glib/glib/tests/regex.c:3166,1
    - Dst: TEST_ESCAPE_NUL
      Src: /src/glib/glib/tests/regex.c:3227,1
    - Dst: TEST_ESCAPE
      Src: /src/glib/glib/tests/regex.c:3244,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2690,1
    - Dst: TEST_NEW_CHECK_FLAGS
      Src: /src/glib/glib/tests/regex.c:2579,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2738,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2875,1
    - Dst: TEST_SPLIT_SIMPLE3
      Src: /src/glib/glib/tests/regex.c:3013,1
    - Dst: TEST_SPLIT2
      Src: /src/glib/glib/tests/regex.c:3038,1
    - Dst: TEST_REPLACE
      Src: /src/glib/glib/tests/regex.c:3142,1
    - Dst: TEST_MATCH_NOTEMPTY_ATSTART
      Src: /src/glib/glib/tests/regex.c:3271,1
    - Dst: TEST_NEW
      Src: /src/glib/glib/tests/regex.c:2568,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2602,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2642,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2821,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2737,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2842,1
    - Dst: TEST_MATCH_NEXT2
      Src: /src/glib/glib/tests/regex.c:2888,1
    - Dst: TEST_NAMED_SUB_PATTERN
      Src: /src/glib/glib/tests/regex.c:2985,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3117,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3127,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3112,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2835,1
    - Dst: TEST_PARTIAL
      Src: /src/glib/glib/tests/regex.c:2921,1
    - Dst: TEST_PARTIAL_FULL
      Src: /src/glib/glib/tests/regex.c:2935,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3094,1
    - Dst: TEST_ESCAPE
      Src: /src/glib/glib/tests/regex.c:3247,1
    - Dst: TEST_MATCH_NEXT0
      Src: /src/glib/glib/tests/regex.c:2880,1
    - Dst: TEST_NEW_CHECK_FLAGS
      Src: /src/glib/glib/tests/regex.c:2576,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2658,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2714,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2803,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2809,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2768,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2838,1
    - Dst: TEST_MATCH_NEXT1
      Src: /src/glib/glib/tests/regex.c:2883,1
    - Dst: TEST_SUB_PATTERN
      Src: /src/glib/glib/tests/regex.c:2949,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2871,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2687,1
    - Dst: TEST_SPLIT3
      Src: /src/glib/glib/tests/regex.c:3044,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3120,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3128,1
    - Dst: TEST_REPLACE
      Src: /src/glib/glib/tests/regex.c:3147,1
    - Dst: TEST_GET_STRING_NUMBER
      Src: /src/glib/glib/tests/regex.c:3201,1
    - Dst: TEST_GET_STRING_NUMBER
      Src: /src/glib/glib/tests/regex.c:3207,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2834,1
    - Dst: TEST_MATCH_NEXT2
      Src: /src/glib/glib/tests/regex.c:2891,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2732,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2791,1
    - Dst: TEST_SUB_PATTERN
      Src: /src/glib/glib/tests/regex.c:2950,1
    - Dst: TEST_FETCH_ALL0
      Src: /src/glib/glib/tests/regex.c:2990,1
    - Dst: TEST_SPLIT2
      Src: /src/glib/glib/tests/regex.c:3054,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3119,1
    - Dst: TEST_SUB_PATTERN
      Src: /src/glib/glib/tests/regex.c:2959,1
    - Dst: TEST_MATCH_ALL2
      Src: /src/glib/glib/tests/regex.c:3264,1
    - Dst: TEST_CHECK_REPLACEMENT
      Src: /src/glib/glib/tests/regex.c:3067,1
    - Dst: TEST_MATCH_COUNT
      Src: /src/glib/glib/tests/regex.c:2912,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2625,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2633,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2645,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2828,1
    - Dst: TEST_NAMED_SUB_PATTERN_DUPNAMES
      Src: /src/glib/glib/tests/regex.c:2977,1
    - Dst: TEST_SPLIT_SIMPLE3
      Src: /src/glib/glib/tests/regex.c:3019,1
    - Dst: TEST_SPLIT3
      Src: /src/glib/glib/tests/regex.c:3048,1
    - Dst: TEST_REPLACE
      Src: /src/glib/glib/tests/regex.c:3146,1
    - Dst: TEST_REPLACE_OPTIONS
      Src: /src/glib/glib/tests/regex.c:3167,1
    - Dst: TEST_REPLACE_LIT
      Src: /src/glib/glib/tests/regex.c:3188,1
    - Dst: TEST_PARTIAL
      Src: /src/glib/glib/tests/regex.c:2920,1
    - Dst: TEST_NEW_CHECK_FLAGS
      Src: /src/glib/glib/tests/regex.c:2588,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/regex.c:2534,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2709,1
    - Dst: TEST_SPLIT_SIMPLE3
      Src: /src/glib/glib/tests/regex.c:3014,1
    - Dst: TEST_CHECK_REPLACEMENT
      Src: /src/glib/glib/tests/regex.c:3060,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3084,1
    - Dst: TEST_MATCH_ALL1
      Src: /src/glib/glib/tests/regex.c:3259,1
    - Dst: TEST_ESCAPE
      Src: /src/glib/glib/tests/regex.c:3233,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2711,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2777,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2636,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2688,1
    - Dst: TEST_NAMED_SUB_PATTERN_DUPNAMES
      Src: /src/glib/glib/tests/regex.c:2980,1
    - Dst: TEST_SPLIT_SIMPLE2
      Src: /src/glib/glib/tests/regex.c:3018,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3089,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3118,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3135,1
    - Dst: TEST_REPLACE
      Src: /src/glib/glib/tests/regex.c:3145,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2815,1
    - Dst: TEST_NEW
      Src: /src/glib/glib/tests/regex.c:2564,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2609,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2639,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2733,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2788,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2794,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3071,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3106,1
    - Dst: TEST_ESCAPE
      Src: /src/glib/glib/tests/regex.c:3246,1
    - Dst: TEST_PARTIAL
      Src: /src/glib/glib/tests/regex.c:2927,1
    - Dst: TEST_MATCH_COUNT
      Src: /src/glib/glib/tests/regex.c:2913,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2712,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2823,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2710,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2863,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2612,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2620,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2694,1
    - Dst: TEST_NAMED_SUB_PATTERN
      Src: /src/glib/glib/tests/regex.c:2964,1
    - Dst: TEST_FETCH_ALL1
      Src: /src/glib/glib/tests/regex.c:2993,1
    - Dst: TEST_SPLIT_SIMPLE2
      Src: /src/glib/glib/tests/regex.c:3015,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/regex.c:2549,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2634,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2741,1
    - Dst: TEST_SUB_PATTERN
      Src: /src/glib/glib/tests/regex.c:2953,1
    - Dst: TEST_FETCH_ALL1
      Src: /src/glib/glib/tests/regex.c:2994,1
    - Dst: TEST_SPLIT2
      Src: /src/glib/glib/tests/regex.c:3047,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3092,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3115,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3126,1
    - Dst: TEST_GET_STRING_NUMBER
      Src: /src/glib/glib/tests/regex.c:3209,1
    - Dst: TEST_ESCAPE
      Src: /src/glib/glib/tests/regex.c:3235,1
    - Dst: TEST_SUB_PATTERN
      Src: /src/glib/glib/tests/regex.c:2952,1
    - Dst: TEST_NEW_CHECK_FLAGS
      Src: /src/glib/glib/tests/regex.c:2577,1
    - Dst: TEST_NEW
      Src: /src/glib/glib/tests/regex.c:2637,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2718,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2793,1
    - Dst: TEST_PARTIAL
      Src: /src/glib/glib/tests/regex.c:2917,1
    - Dst: TEST_PARTIAL_FULL
      Src: /src/glib/glib/tests/regex.c:2937,1
    - Dst: TEST_SPLIT_SIMPLE3
      Src: /src/glib/glib/tests/regex.c:3012,1
    - Dst: TEST_SPLIT2
      Src: /src/glib/glib/tests/regex.c:3037,1
    - Dst: TEST_SPLIT3
      Src: /src/glib/glib/tests/regex.c:3041,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3077,1
    - Dst: TEST_MATCH_ALL1
      Src: /src/glib/glib/tests/regex.c:3258,1
    - Dst: TEST_ESCAPE
      Src: /src/glib/glib/tests/regex.c:3242,1
    - Dst: TEST_MATCH_ALL2
      Src: /src/glib/glib/tests/regex.c:3263,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2819,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2824,1
    - Dst: TEST_NEW_CHECK_FLAGS
      Src: /src/glib/glib/tests/regex.c:2583,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2743,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2787,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2816,1
    - Dst: TEST_MATCH_NEXT0
      Src: /src/glib/glib/tests/regex.c:2881,1
    - Dst: TEST_NAMED_SUB_PATTERN_DUPNAMES
      Src: /src/glib/glib/tests/regex.c:2979,1
    - Dst: TEST_FETCH_ALL3
      Src: /src/glib/glib/tests/regex.c:3001,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3087,1
    - Dst: TEST_NEW_CHECK_FLAGS
      Src: /src/glib/glib/tests/regex.c:2591,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2610,1
    - Dst: pcre2_ge
      Src: /src/glib/glib/tests/regex.c:2648,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2860,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2742,1
    - Dst: TEST_SUB_PATTERN
      Src: /src/glib/glib/tests/regex.c:2960,1
    - Dst: TEST_SPLIT0
      Src: /src/glib/glib/tests/regex.c:3031,1
    - Dst: TEST_REPLACE_LIT
      Src: /src/glib/glib/tests/regex.c:3181,1
    - Dst: TEST_SPLIT_SIMPLE0
      Src: /src/glib/glib/tests/regex.c:3006,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3138,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/regex.c:2551,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2640,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2697,1
    - Dst: TEST_REPLACE
      Src: /src/glib/glib/tests/regex.c:3155,1
    - Dst: TEST_NEW
      Src: /src/glib/glib/tests/regex.c:2646,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2719,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2776,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2807,1
    - Dst: TEST_PARTIAL_FULL
      Src: /src/glib/glib/tests/regex.c:2938,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3134,1
    - Dst: TEST_REPLACE_LIT
      Src: /src/glib/glib/tests/regex.c:3187,1
    - Dst: TEST_ESCAPE_NUL
      Src: /src/glib/glib/tests/regex.c:3221,1
    - Dst: TEST_ESCAPE
      Src: /src/glib/glib/tests/regex.c:3239,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2613,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2621,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2643,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2699,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2744,1
    - Dst: TEST_PARTIAL
      Src: /src/glib/glib/tests/regex.c:2922,1
    - Dst: TEST_NAMED_SUB_PATTERN
      Src: /src/glib/glib/tests/regex.c:2966,1
    - Dst: TEST_ESCAPE_NUL
      Src: /src/glib/glib/tests/regex.c:3217,1
    - Dst: TEST_ESCAPE
      Src: /src/glib/glib/tests/regex.c:3243,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2761,1
    - Dst: TEST_MATCH_NEXT2
      Src: /src/glib/glib/tests/regex.c:2890,1
    - Dst: TEST_NEW
      Src: /src/glib/glib/tests/regex.c:2562,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2698,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2720,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2745,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2829,1
    - Dst: TEST_SUB_PATTERN
      Src: /src/glib/glib/tests/regex.c:2948,1
    - Dst: TEST_SPLIT3
      Src: /src/glib/glib/tests/regex.c:3043,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3091,1
    - Dst: TEST_GET_STRING_NUMBER
      Src: /src/glib/glib/tests/regex.c:3208,1
    - Dst: TEST_REPLACE
      Src: /src/glib/glib/tests/regex.c:3141,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2623,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2691,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2739,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3079,1
    - Dst: TEST_MATCH_ALL1
      Src: /src/glib/glib/tests/regex.c:3261,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2696,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2782,1
    - Dst: TEST_SUB_PATTERN
      Src: /src/glib/glib/tests/regex.c:2957,1
    - Dst: TEST_SPLIT0
      Src: /src/glib/glib/tests/regex.c:3030,1
    - Dst: TEST_SPLIT3
      Src: /src/glib/glib/tests/regex.c:3056,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3078,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3088,1
    - Dst: TEST_GET_STRING_NUMBER
      Src: /src/glib/glib/tests/regex.c:3211,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2812,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/regex.c:2545,1
    - Dst: TEST_NEW_CHECK_FLAGS
      Src: /src/glib/glib/tests/regex.c:2590,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2631,1
    - Dst: TEST_SPLIT_SIMPLE0
      Src: /src/glib/glib/tests/regex.c:3024,1
    - Dst: TEST_SPLIT0
      Src: /src/glib/glib/tests/regex.c:3029,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3081,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3097,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3111,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3137,1
    - Dst: TEST_REPLACE
      Src: /src/glib/glib/tests/regex.c:3164,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2831,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2715,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3080,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3083,1
    - Dst: TEST_REPLACE
      Src: /src/glib/glib/tests/regex.c:3159,1
    - Dst: TEST_REPLACE
      Src: /src/glib/glib/tests/regex.c:3162,1
    - Dst: TEST_REPLACE_LIT
      Src: /src/glib/glib/tests/regex.c:3183,1
    - Dst: TEST_GET_STRING_NUMBER
      Src: /src/glib/glib/tests/regex.c:3206,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2779,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2692,1
    - Dst: TEST_MATCH_NEXT3
      Src: /src/glib/glib/tests/regex.c:2901,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/regex.c:2547,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2605,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2740,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2870,1
    - Dst: TEST_NAMED_SUB_PATTERN
      Src: /src/glib/glib/tests/regex.c:2970,1
    - Dst: TEST_PARTIAL
      Src: /src/glib/glib/tests/regex.c:2928,1
    - Dst: TEST_NEW_CHECK_FLAGS
      Src: /src/glib/glib/tests/regex.c:2582,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2655,1
    - Dst: TEST_NAMED_SUB_PATTERN_DUPNAMES
      Src: /src/glib/glib/tests/regex.c:2976,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3093,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3116,1
    - Dst: TEST_REPLACE
      Src: /src/glib/glib/tests/regex.c:3158,1
    - Dst: TEST_REPLACE
      Src: /src/glib/glib/tests/regex.c:3165,1
    - Dst: TEST_REPLACE_LIT
      Src: /src/glib/glib/tests/regex.c:3185,1
    - Dst: TEST_ESCAPE_NUL
      Src: /src/glib/glib/tests/regex.c:3228,1
    - Dst: TEST_ESCAPE
      Src: /src/glib/glib/tests/regex.c:3234,1
    - Dst: TEST_REPLACE
      Src: /src/glib/glib/tests/regex.c:3161,1
    - Dst: TEST_CHECK_REPLACEMENT
      Src: /src/glib/glib/tests/regex.c:3063,1
    - Dst: TEST_MATCH_NEXT3
      Src: /src/glib/glib/tests/regex.c:2897,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2850,1
    - Dst: TEST_NEW
      Src: /src/glib/glib/tests/regex.c:2565,1
    - Dst: TEST_NEW
      Src: /src/glib/glib/tests/regex.c:2571,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2717,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3082,1
    - Dst: TEST_ESCAPE
      Src: /src/glib/glib/tests/regex.c:3248,1
    - Dst: TEST_REPLACE
      Src: /src/glib/glib/tests/regex.c:3152,1
    - Dst: TEST_ESCAPE_NUL
      Src: /src/glib/glib/tests/regex.c:3216,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2790,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2848,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2716,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2618,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2626,1
    - Dst: TEST_NEW
      Src: /src/glib/glib/tests/regex.c:2556,1
    - Dst: TEST_PARTIAL_FULL
      Src: /src/glib/glib/tests/regex.c:2936,1
    - Dst: TEST_FETCH_ALL3
      Src: /src/glib/glib/tests/regex.c:3002,1
    - Dst: TEST_REPLACE_LIT
      Src: /src/glib/glib/tests/regex.c:3182,1
    - Dst: TEST_GET_STRING_NUMBER
      Src: /src/glib/glib/tests/regex.c:3203,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/regex.c:2538,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2866,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2822,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2833,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3109,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3131,1
    - Dst: TEST_GET_STRING_NUMBER
      Src: /src/glib/glib/tests/regex.c:3210,1
    - Dst: TEST_ESCAPE
      Src: /src/glib/glib/tests/regex.c:3237,1
    - Dst: TEST_MATCH_NEXT0
      Src: /src/glib/glib/tests/regex.c:2882,1
    - Dst: TEST_MATCH_NEXT2
      Src: /src/glib/glib/tests/regex.c:2889,1
    - Dst: TEST_PARTIAL
      Src: /src/glib/glib/tests/regex.c:2918,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2752,1
    - Dst: TEST_NAMED_SUB_PATTERN
      Src: /src/glib/glib/tests/regex.c:2972,1
    - Dst: TEST_SPLIT1
      Src: /src/glib/glib/tests/regex.c:3033,1
    - Dst: TEST_CHECK_REPLACEMENT
      Src: /src/glib/glib/tests/regex.c:3061,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3076,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3101,1
    - Dst: TEST_REPLACE_LIT
      Src: /src/glib/glib/tests/regex.c:3178,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3096,1
    - Dst: TEST_NEW_CHECK_FLAGS
      Src: /src/glib/glib/tests/regex.c:2593,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/regex.c:2540,1
    - Dst: TEST_NEW
      Src: /src/glib/glib/tests/regex.c:2563,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2702,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2724,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2749,1
    - Dst: memset
      Src: /src/glib/glib/tests/regex.c:2766,1
    - Dst: TEST_MATCH_NEXT3
      Src: /src/glib/glib/tests/regex.c:2900,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2799,1
    - Dst: TEST_PARTIAL_FULL
      Src: /src/glib/glib/tests/regex.c:2943,1
    - Dst: TEST_MATCH_ALL1
      Src: /src/glib/glib/tests/regex.c:3257,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2748,1
    - Dst: TEST_MATCH_COUNT
      Src: /src/glib/glib/tests/regex.c:2906,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2624,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2632,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2723,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2754,1
    - Dst: TEST_MATCH_NEXT1
      Src: /src/glib/glib/tests/regex.c:2885,1
    - Dst: TEST_PARTIAL
      Src: /src/glib/glib/tests/regex.c:2923,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2751,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2872,1
    - Dst: TEST_REPLACE_LIT
      Src: /src/glib/glib/tests/regex.c:3194,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2611,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2619,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2703,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2789,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3075,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3100,1
    - Dst: TEST_REPLACE
      Src: /src/glib/glib/tests/regex.c:3153,1
    - Dst: TEST_NEW_CHECK_FLAGS
      Src: /src/glib/glib/tests/regex.c:2585,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2661,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2750,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2792,1
    - Dst: TEST_MATCH_NEXT1
      Src: /src/glib/glib/tests/regex.c:2886,1
    - Dst: TEST_FETCH_ALL3
      Src: /src/glib/glib/tests/regex.c:2998,1
    - Dst: TEST_REPLACE_LIT
      Src: /src/glib/glib/tests/regex.c:3177,1
    - Dst: TEST_REPLACE_LIT
      Src: /src/glib/glib/tests/regex.c:3192,1
    - Dst: TEST_ESCAPE
      Src: /src/glib/glib/tests/regex.c:3240,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2820,1
    - Dst: TEST_NEW
      Src: /src/glib/glib/tests/regex.c:2557,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2627,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2725,1
    - Dst: TEST_PARTIAL_FULL
      Src: /src/glib/glib/tests/regex.c:2944,1
    - Dst: TEST_NAMED_SUB_PATTERN_DUPNAMES
      Src: /src/glib/glib/tests/regex.c:2978,1
    - Dst: TEST_SPLIT_SIMPLE0
      Src: /src/glib/glib/tests/regex.c:3005,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3124,1
    - Dst: TEST_ESCAPE_NUL
      Src: /src/glib/glib/tests/regex.c:3224,1
    - Dst: TEST_MATCH_COUNT
      Src: /src/glib/glib/tests/regex.c:2907,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2606,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2704,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2755,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2778,1
    - Dst: TEST_PARTIAL
      Src: /src/glib/glib/tests/regex.c:2930,1
    - Dst: TEST_SPLIT_SIMPLE1
      Src: /src/glib/glib/tests/regex.c:3008,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3130,1
    - Dst: TEST_ESCAPE_NUL
      Src: /src/glib/glib/tests/regex.c:3223,1
    - Dst: TEST_MATCH_ALL0
      Src: /src/glib/glib/tests/regex.c:3253,1
    - Dst: TEST_GET_STRING_NUMBER
      Src: /src/glib/glib/tests/regex.c:3200,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/regex.c:2544,1
    - Dst: TEST_NEW
      Src: /src/glib/glib/tests/regex.c:2559,1
    - Dst: TEST_NEW_CHECK_FLAGS
      Src: /src/glib/glib/tests/regex.c:2592,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2629,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2773,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2844,1
    - Dst: TEST_PARTIAL
      Src: /src/glib/glib/tests/regex.c:2929,1
    - Dst: TEST_SUB_PATTERN
      Src: /src/glib/glib/tests/regex.c:2956,1
    - Dst: TEST_SPLIT_SIMPLE1
      Src: /src/glib/glib/tests/regex.c:3007,1
    - Dst: TEST_SPLIT3
      Src: /src/glib/glib/tests/regex.c:3051,1
    - Dst: TEST_ESCAPE
      Src: /src/glib/glib/tests/regex.c:3245,1
    - Dst: TEST_ESCAPE_NUL
      Src: /src/glib/glib/tests/regex.c:3222,1
    - Dst: TEST_MATCH_NEXT2
      Src: /src/glib/glib/tests/regex.c:2893,1
    - Dst: TEST_PARTIAL_FULL
      Src: /src/glib/glib/tests/regex.c:2941,1
    - Dst: TEST_NAMED_SUB_PATTERN
      Src: /src/glib/glib/tests/regex.c:2984,1
    - Dst: TEST_FETCH_ALL2
      Src: /src/glib/glib/tests/regex.c:2995,1
    - Dst: TEST_REPLACE_LIT
      Src: /src/glib/glib/tests/regex.c:3190,1
    - Dst: TEST_ESCAPE
      Src: /src/glib/glib/tests/regex.c:3236,1
    - Dst: TEST_MATCH_COUNT
      Src: /src/glib/glib/tests/regex.c:2905,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2700,1
    - Dst: TEST_SPLIT1
      Src: /src/glib/glib/tests/regex.c:3036,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3102,1
    - Dst: TEST_REPLACE
      Src: /src/glib/glib/tests/regex.c:3156,1
    - Dst: TEST_ESCAPE
      Src: /src/glib/glib/tests/regex.c:3241,1
    - Dst: TEST_REPLACE_LIT
      Src: /src/glib/glib/tests/regex.c:3180,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2784,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2801,1
    - Dst: TEST_NEW_CHECK_FLAGS
      Src: /src/glib/glib/tests/regex.c:2584,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2653,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2721,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2746,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2804,1
    - Dst: TEST_MATCH_NEXT4
      Src: /src/glib/glib/tests/regex.c:2902,1
    - Dst: TEST_FETCH_ALL0
      Src: /src/glib/glib/tests/regex.c:2991,1
    - Dst: TEST_SPLIT1
      Src: /src/glib/glib/tests/regex.c:3035,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2810,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2839,1
    - Dst: g_test_init
      Src: /src/glib/glib/tests/regex.c:2536,1
    - Dst: TEST_NEW
      Src: /src/glib/glib/tests/regex.c:2569,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2603,1
    - Dst: TEST_FETCH_ALL3
      Src: /src/glib/glib/tests/regex.c:3000,1
    - Dst: TEST_SPLIT_SIMPLE3
      Src: /src/glib/glib/tests/regex.c:3011,1
    - Dst: TEST_MATCH_ALL0
      Src: /src/glib/glib/tests/regex.c:3255,1
    - Dst: TEST_REPLACE
      Src: /src/glib/glib/tests/regex.c:3154,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2813,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2616,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/regex.c:2539,1
    - Dst: TEST_NEW
      Src: /src/glib/glib/tests/regex.c:2554,1
    - Dst: TEST_NAMED_SUB_PATTERN
      Src: /src/glib/glib/tests/regex.c:2987,1
    - Dst: TEST_SPLIT3
      Src: /src/glib/glib/tests/regex.c:3045,1
    - Dst: TEST_CHECK_REPLACEMENT
      Src: /src/glib/glib/tests/regex.c:3064,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3125,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3132,1
    - Dst: TEST_REPLACE_LIT
      Src: /src/glib/glib/tests/regex.c:3179,1
    - Dst: TEST_REPLACE_LIT
      Src: /src/glib/glib/tests/regex.c:3184,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2781,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2656,1
    - Dst: TEST_NEW_FAIL
      Src: /src/glib/glib/tests/regex.c:2659,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2701,1
    - Dst: TEST_PARTIAL_FULL
      Src: /src/glib/glib/tests/regex.c:2942,1
    - Dst: TEST_FETCH_ALL2
      Src: /src/glib/glib/tests/regex.c:2996,1
    - Dst: TEST_FETCH_ALL3
      Src: /src/glib/glib/tests/regex.c:2999,1
    - Dst: TEST_SPLIT0
      Src: /src/glib/glib/tests/regex.c:3032,1
    - Dst: TEST_SPLIT1
      Src: /src/glib/glib/tests/regex.c:3034,1
    - Dst: TEST_SPLIT3
      Src: /src/glib/glib/tests/regex.c:3055,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2722,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2836,1
    - Dst: TEST_MATCH
      Src: /src/glib/glib/tests/regex.c:2827,1
    - Dst: TEST_MATCH_SIMPLE
      Src: /src/glib/glib/tests/regex.c:2747,1
    - Dst: TEST_NAMED_SUB_PATTERN
      Src: /src/glib/glib/tests/regex.c:2969,1
    - Dst: TEST_CHECK_REPLACEMENT
      Src: /src/glib/glib/tests/regex.c:3059,1
    - Dst: TEST_EXPAND
      Src: /src/glib/glib/tests/regex.c:3086,1
    - Dst: TEST_GET_STRING_NUMBER
      Src: /src/glib/glib/tests/regex.c:3199,1
    - Dst: TEST_GET_STRING_NUMBER
      Src: /src/glib/glib/tests/regex.c:3205,1
    - Dst: TEST_ESCAPE_NUL
      Src: /src/glib/glib/tests/regex.c:3214,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 637
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 3274
      start: 2531
    functionDepth: 0
    functionLinenumber: 2531
    functionLinenumberEnd: 3274
    functionName: main
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - TEST_MATCH_NEXT3
    - g_test_add_func
    - TEST_CHECK_REPLACEMENT
    - TEST_EXPAND
    - TEST_SPLIT_SIMPLE0
    - TEST_PARTIAL_FULL
    - pcre2_ge
    - TEST_REPLACE
    - TEST_MATCH_COUNT
    - g_test_init
    - TEST_SPLIT_SIMPLE1
    - TEST_GET_STRING_NUMBER
    - TEST_MATCH_ALL0
    - TEST_MATCH_NOTEMPTY
    - TEST_MATCH_NEXT1
    - TEST_ESCAPE
    - TEST_SPLIT0
    - g_test_run
    - setlocale
    - TEST_SPLIT2
    - TEST_FETCH_ALL0
    - TEST_NEW_FAIL
    - TEST_SPLIT3
    - TEST_FETCH_ALL2
    - TEST_FETCH_ALL1
    - TEST_REPLACE_OPTIONS
    - TEST_MATCH_ALL3
    - TEST_NAMED_SUB_PATTERN
    - TEST_SPLIT1
    - TEST_MATCH_NEXT2
    - TEST_MATCH
    - TEST_FETCH_ALL3
    - TEST_MATCH_ALL1
    - TEST_PARTIAL
    - TEST_NAMED_SUB_PATTERN_DUPNAMES
    - TEST_MATCH_ALL2
    - TEST_NEW
    - TEST_REPLACE_LIT
    - TEST_NEW_CHECK_FLAGS
    - TEST_MATCH_SIMPLE
    - TEST_SUB_PATTERN
    - TEST_ESCAPE_NUL
    - TEST_SPLIT_SIMPLE3
    - TEST_SPLIT_SIMPLE2
    - TEST_MATCH_NOTEMPTY_ATSTART
    - memset
    - TEST_MATCH_NEXT4
    - TEST_MATCH_NEXT0
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:2153,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2160,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2192,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2204,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2185,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2203,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2214,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2215,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:2162,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2165,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2180,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2192,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2208,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2186,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:2139,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2146,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2169,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2171,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:2196,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2141,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:2148,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2155,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2160,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2169,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2205,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2184,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2211,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2212,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2146,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:2164,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2189,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:2177,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2184,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2203,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2174,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:2217,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:2194,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2143,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2157,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2159,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2191,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2154,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2145,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:2166,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2173,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2209,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2188,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2207,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:2181,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2202,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2215,1
    - Dst: g_regex_unref
      Src: /src/glib/glib/tests/regex.c:2175,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2140,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2152,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/regex.c:2200,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2168,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2207,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2216,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2173,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2183,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2190,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2138,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2188,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2142,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2144,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2156,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2158,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2170,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2201,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2193,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2210,1
    - Dst: g_match_info_matches
      Src: /src/glib/glib/tests/regex.c:2211,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2213,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2142,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:2151,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2156,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2161,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2187,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2172,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2199,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2182,1
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/regex.c:2137,1
    - Dst: g_match_info_free
      Src: /src/glib/glib/tests/regex.c:2147,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/regex.c:2167,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/regex.c:2206,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 112
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2218
      start: 2128
    functionDepth: 0
    functionLinenumber: 2128
    functionLinenumberEnd: 2218
    functionName: test_condition
    functionSourceFile: /src/glib/glib/tests/regex.c
    functionUses: []
    functionsReached:
    - g_regex_new
    - g_assert
    - g_match_info_matches
    - g_match_info_free
    - g_regex_match
    - g_assert_no_error
    - g_regex_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_condition (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:62,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:103,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:112,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:195,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:200,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:220,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:225,1
    - Dst: g_date_valid_day
      Src: /src/glib/glib/tests/date.c:230,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/date.c:232,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/date.c:241,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:93,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:58,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:53,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:70,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:77,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:124,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:159,1
    - Dst: g_date_set_year
      Src: /src/glib/glib/tests/date.c:175,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:214,1
    - Dst: g_date_valid_day
      Src: /src/glib/glib/tests/date.c:231,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:89,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:97,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:56,1
    - Dst: g_date_to_struct_tm
      Src: /src/glib/glib/tests/date.c:76,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:88,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/date.c:228,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/date.c:238,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:136,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:154,1
    - Dst: g_date_add_days
      Src: /src/glib/glib/tests/date.c:117,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:148,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:64,1
    - Dst: g_date_add_months
      Src: /src/glib/glib/tests/date.c:129,1
    - Dst: g_date_set_day
      Src: /src/glib/glib/tests/date.c:164,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:187,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:203,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/date.c:218,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:80,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:115,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:127,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:162,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:167,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:184,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:235,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:91,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:31,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/date.c:42,1
    - Dst: g_date_subtract_years
      Src: /src/glib/glib/tests/date.c:147,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:106,1
    - Dst: g_date_subtract_months
      Src: /src/glib/glib/tests/date.c:135,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:176,1
    - Dst: g_date_set_julian
      Src: /src/glib/glib/tests/date.c:202,1
    - Dst: g_date_valid_weekday
      Src: /src/glib/glib/tests/date.c:236,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:139,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:156,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:83,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/date.c:47,1
    - Dst: g_date_new
      Src: /src/glib/glib/tests/date.c:46,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:151,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:189,1
    - Dst: g_date_set_julian
      Src: /src/glib/glib/tests/date.c:197,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:206,1
    - Dst: g_date_valid_year
      Src: /src/glib/glib/tests/date.c:232,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:94,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:165,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:170,1
    - Dst: g_date_to_struct_tm
      Src: /src/glib/glib/tests/date.c:222,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/date.c:231,1
    - Dst: g_date_valid_weekday
      Src: /src/glib/glib/tests/date.c:234,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/date.c:234,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:240,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:68,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:70,1
    - Dst: g_date_is_last_of_month
      Src: /src/glib/glib/tests/date.c:111,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:178,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/tests/date.c:191,1
    - Dst: g_date_valid_month
      Src: /src/glib/glib/tests/date.c:229,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/date.c:230,1
    - Dst: g_date_valid_julian
      Src: /src/glib/glib/tests/date.c:233,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/date.c:236,1
    - Dst: g_date_set_time_t
      Src: /src/glib/glib/tests/date.c:99,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:130,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:34,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:71,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/date.c:82,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:118,1
    - Dst: g_date_set_day
      Src: /src/glib/glib/tests/date.c:169,1
    - Dst: g_date_clear
      Src: /src/glib/glib/tests/date.c:213,1
    - Dst: g_date_valid_weekday
      Src: /src/glib/glib/tests/date.c:235,1
    - Dst: g_date_is_leap_year
      Src: /src/glib/glib/tests/date.c:240,1
    - Dst: g_date_get_days_in_month
      Src: /src/glib/glib/tests/date.c:88,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/date.c:29,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/date.c:33,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:40,1
    - Dst: g_date_get_weekday
      Src: /src/glib/glib/tests/date.c:52,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:74,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:173,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/tests/date.c:217,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:239,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/date.c:242,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/date.c:111,1
    - Dst: g_date_subtract_days
      Src: /src/glib/glib/tests/date.c:123,1
    - Dst: g_date_set_month
      Src: /src/glib/glib/tests/date.c:158,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:33,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:50,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:59,1
    - Dst: g_date_is_leap_year
      Src: /src/glib/glib/tests/date.c:82,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:142,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:181,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:209,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:223,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/date.c:105,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:133,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:121,1
    - Dst: g_date_is_leap_year
      Src: /src/glib/glib/tests/date.c:238,1
    - Dst: g_date_get_days_in_month
      Src: /src/glib/glib/tests/date.c:93,1
    - Dst: g_date_is_first_of_month
      Src: /src/glib/glib/tests/date.c:105,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:65,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:100,1
    - Dst: g_date_add_years
      Src: /src/glib/glib/tests/date.c:141,1
    - Dst: g_date_set_year
      Src: /src/glib/glib/tests/date.c:180,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:192,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:198,1
    - Dst: g_date_clear
      Src: /src/glib/glib/tests/date.c:208,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:237,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:64,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:86,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:145,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/tests/date.c:186,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:211,1
    - Dst: g_date_valid_month
      Src: /src/glib/glib/tests/date.c:228,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/date.c:229,1
    - Dst: g_date_is_leap_year
      Src: /src/glib/glib/tests/date.c:239,1
    - Dst: g_date_is_leap_year
      Src: /src/glib/glib/tests/date.c:242,1
    - Dst: g_date_is_leap_year
      Src: /src/glib/glib/tests/date.c:237,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:109,1
    - Dst: g_date_set_month
      Src: /src/glib/glib/tests/date.c:153,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/date.c:38,1
    - Dst: g_date_new_dmy
      Src: /src/glib/glib/tests/date.c:42,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:43,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:58,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:52,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:227,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/date.c:233,1
    - Dst: g_date_is_leap_year
      Src: /src/glib/glib/tests/date.c:241,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 153
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 243
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 243
    functionName: test_basic
    functionSourceFile: /src/glib/glib/tests/date.c
    functionUses: []
    functionsReached:
    - g_date_subtract_months
    - g_date_get_day
    - g_assert_null
    - g_date_valid_day
    - g_date_add_days
    - g_date_is_last_of_month
    - g_test_assert_expected_messages
    - g_assert_true
    - g_date_get_days_in_month
    - g_date_subtract_days
    - g_date_set_dmy
    - g_date_new
    - g_date_is_first_of_month
    - g_date_get_month
    - g_assert_false
    - g_date_is_leap_year
    - g_date_get_weekday
    - g_date_add_years
    - g_date_free
    - g_date_set_julian
    - g_assert_cmpint
    - g_date_clear
    - g_date_set_month
    - g_date_valid_year
    - g_test_undefined
    - g_date_to_struct_tm
    - g_date_set_day
    - g_test_expect_message
    - g_date_new_dmy
    - g_date_valid
    - g_date_get_year
    - g_date_valid_weekday
    - g_date_set_year
    - g_date_add_months
    - g_date_subtract_years
    - g_date_valid_month
    - g_date_set_time_t
    - g_date_valid_julian
    linkageType: ''
    returnType: void
    signature: 'static void test_basic (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:391,1
    - Dst: g_date_get_julian
      Src: /src/glib/glib/tests/date.c:400,1
    - Dst: g_date_days_between
      Src: /src/glib/glib/tests/date.c:401,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:403,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/date.c:380,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:382,1
    - Dst: g_date_new_julian
      Src: /src/glib/glib/tests/date.c:384,1
    - Dst: g_date_new
      Src: /src/glib/glib/tests/date.c:388,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/date.c:389,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:400,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:396,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:402,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:404,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:385,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/date.c:384,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:393,1
    - Dst: g_date_get_julian
      Src: /src/glib/glib/tests/date.c:393,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:402,1
    - Dst: g_date_new_julian
      Src: /src/glib/glib/tests/date.c:398,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:401,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:405,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:394,1
    - Dst: g_date_new_julian
      Src: /src/glib/glib/tests/date.c:399,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:403,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 406
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 406
    functionName: test_julian_constructor
    functionSourceFile: /src/glib/glib/tests/date.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_date_get_day
    - g_assert_null
    - g_test_undefined
    - g_date_new
    - g_test_expect_message
    - g_date_new_julian
    - g_date_get_julian
    - g_date_days_between
    - g_date_get_year
    - g_date_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_julian_constructor (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:1578,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/tests/date.c:1584,1
    - Dst: g_date_clamp
      Src: /src/glib/glib/tests/date.c:1585,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:1602,1
    - Dst: g_date_clamp
      Src: /src/glib/glib/tests/date.c:1595,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:1593,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:1607,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/tests/date.c:1613,1
    - Dst: g_date_clamp
      Src: /src/glib/glib/tests/date.c:1618,1
    - Dst: g_date_copy
      Src: /src/glib/glib/tests/date.c:1622,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:1634,1
    - Dst: g_date_clamp
      Src: /src/glib/glib/tests/date.c:1631,1
    - Dst: g_date_new
      Src: /src/glib/glib/tests/date.c:1573,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/date.c:1576,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/date.c:1586,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:1591,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:1596,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:1605,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/date.c:1614,1
    - Dst: g_date_compare
      Src: /src/glib/glib/tests/date.c:1624,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1627,1
    - Dst: g_date_compare
      Src: /src/glib/glib/tests/date.c:1627,1
    - Dst: g_date_clamp
      Src: /src/glib/glib/tests/date.c:1626,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/tests/date.c:1629,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1624,1
    - Dst: g_date_new
      Src: /src/glib/glib/tests/date.c:1575,1
    - Dst: g_date_clamp
      Src: /src/glib/glib/tests/date.c:1580,1
    - Dst: g_date_clamp
      Src: /src/glib/glib/tests/date.c:1590,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/tests/date.c:1599,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:1588,1
    - Dst: g_date_clamp
      Src: /src/glib/glib/tests/date.c:1604,1
    - Dst: g_date_clamp
      Src: /src/glib/glib/tests/date.c:1609,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:1616,1
    - Dst: g_date_clamp
      Src: /src/glib/glib/tests/date.c:1623,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1632,1
    - Dst: g_date_new
      Src: /src/glib/glib/tests/date.c:1574,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:1581,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/date.c:1600,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:1610,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:1619,1
    - Dst: g_date_compare
      Src: /src/glib/glib/tests/date.c:1632,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:1635,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:1637,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:1636,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 53
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1638
      start: 1568
    functionDepth: 0
    functionLinenumber: 1568
    functionLinenumberEnd: 1638
    functionName: test_clamp
    functionSourceFile: /src/glib/glib/tests/date.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_date_compare
    - g_date_set_dmy
    - g_test_undefined
    - g_date_free
    - g_date_new
    - g_test_expect_message
    - g_date_clamp
    - g_date_copy
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_clamp (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_date_new
      Src: /src/glib/glib/tests/date.c:250,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/date.c:251,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:252,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/date.c:254,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:251,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:256,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:258,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 262
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 262
    functionName: test_empty_constructor
    functionSourceFile: /src/glib/glib/tests/date.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_test_undefined
    - g_date_new
    - g_test_expect_message
    - g_assert_false
    - g_date_valid
    - g_date_free
    linkageType: ''
    returnType: void
    signature: 'static void test_empty_constructor (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:429,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:435,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:448,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:478,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:516,1
    - Dst: g_date_new_julian
      Src: /src/glib/glib/tests/date.c:509,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:515,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:559,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:583,1
    - Dst: g_date_set_month
      Src: /src/glib/glib/tests/date.c:588,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:604,1
    - Dst: g_date_set_year
      Src: /src/glib/glib/tests/date.c:634,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/date.c:660,1
    - Dst: g_date_new_dmy
      Src: /src/glib/glib/tests/date.c:562,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:592,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:658,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:653,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:543,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:660,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:639,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:430,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:454,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:546,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:560,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:577,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:584,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:589,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:590,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:598,1
    - Dst: time
      Src: /src/glib/glib/tests/date.c:616,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:628,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:506,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:427,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:468,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:483,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:522,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:524,1
    - Dst: g_date_new_dmy
      Src: /src/glib/glib/tests/date.c:555,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:577,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:598,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:537,1
    - Dst: g_date_new_dmy
      Src: /src/glib/glib/tests/date.c:587,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:651,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:568,1
    - Dst: g_date_set_time_val
      Src: /src/glib/glib/tests/date.c:627,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:606,1
    - Dst: g_date_get_monday_weeks_in_year
      Src: /src/glib/glib/tests/date.c:435,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:476,1
    - Dst: g_date_get_sunday_week_of_year
      Src: /src/glib/glib/tests/date.c:506,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:523,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:571,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:578,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:582,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:583,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:596,1
    - Dst: g_date_set_time
      Src: /src/glib/glib/tests/date.c:622,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:640,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:646,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:597,1
    - Dst: g_date_is_last_of_month
      Src: /src/glib/glib/tests/date.c:642,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:653,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:617,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:550,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:447,1
    - Dst: g_date_is_first_of_month
      Src: /src/glib/glib/tests/date.c:510,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:503,1
    - Dst: g_date_new_julian
      Src: /src/glib/glib/tests/date.c:505,1
    - Dst: g_date_subtract_months
      Src: /src/glib/glib/tests/date.c:514,1
    - Dst: g_date_new_julian
      Src: /src/glib/glib/tests/date.c:501,1
    - Dst: g_date_add_months
      Src: /src/glib/glib/tests/date.c:521,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:539,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:563,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:575,1
    - Dst: g_date_new_dmy
      Src: /src/glib/glib/tests/date.c:601,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:623,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:628,1
    - Dst: g_date_is_first_of_month
      Src: /src/glib/glib/tests/date.c:641,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:441,1
    - Dst: g_date_subtract_months
      Src: /src/glib/glib/tests/date.c:475,1
    - Dst: g_date_new_julian
      Src: /src/glib/glib/tests/date.c:480,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:511,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:532,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:544,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:552,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:557,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:558,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:551,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:569,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:575,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:638,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:640,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:637,1
    - Dst: g_date_get_sunday_weeks_in_year
      Src: /src/glib/glib/tests/date.c:447,1
    - Dst: g_date_new_julian
      Src: /src/glib/glib/tests/date.c:460,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:488,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:507,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:537,1
    - Dst: g_date_subtract_years
      Src: /src/glib/glib/tests/date.c:542,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:552,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:582,1
    - Dst: g_date_set_day
      Src: /src/glib/glib/tests/date.c:602,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:609,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:652,1
    - Dst: g_date_subtract_months
      Src: /src/glib/glib/tests/date.c:650,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:609,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:486,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:510,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:492,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:442,1
    - Dst: g_date_get_sunday_week_of_year
      Src: /src/glib/glib/tests/date.c:441,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:453,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:457,1
    - Dst: g_date_subtract_days
      Src: /src/glib/glib/tests/date.c:465,1
    - Dst: g_date_new_julian
      Src: /src/glib/glib/tests/date.c:470,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:530,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:576,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:644,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:423,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:433,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:445,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:463,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:515,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:498,1
    - Dst: g_date_get_day_of_year
      Src: /src/glib/glib/tests/date.c:498,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:525,1
    - Dst: g_date_subtract_months
      Src: /src/glib/glib/tests/date.c:528,1
    - Dst: g_date_new_julian
      Src: /src/glib/glib/tests/date.c:534,1
    - Dst: g_date_new
      Src: /src/glib/glib/tests/date.c:613,1
    - Dst: g_date_new_julian
      Src: /src/glib/glib/tests/date.c:608,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:632,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:651,1
    - Dst: g_date_set_time
      Src: /src/glib/glib/tests/date.c:618,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:585,1
    - Dst: g_date_get_day_of_year
      Src: /src/glib/glib/tests/date.c:423,1
    - Dst: g_date_get_iso8601_week_of_year
      Src: /src/glib/glib/tests/date.c:453,1
    - Dst: g_date_subtract_years
      Src: /src/glib/glib/tests/date.c:485,1
    - Dst: g_date_new_julian
      Src: /src/glib/glib/tests/date.c:497,1
    - Dst: g_date_get_monday_weeks_in_year
      Src: /src/glib/glib/tests/date.c:492,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:530,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:538,1
    - Dst: g_date_new_julian
      Src: /src/glib/glib/tests/date.c:541,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:545,1
    - Dst: g_date_subtract_years
      Src: /src/glib/glib/tests/date.c:556,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:589,1
    - Dst: g_date_set_month
      Src: /src/glib/glib/tests/date.c:636,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:662,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:550,1
    - Dst: g_date_new_dmy
      Src: /src/glib/glib/tests/date.c:573,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:576,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:619,1
    - Dst: g_date_set_month
      Src: /src/glib/glib/tests/date.c:656,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:499,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:494,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:424,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:439,1
    - Dst: g_date_new_dmy
      Src: /src/glib/glib/tests/date.c:513,1
    - Dst: g_date_new_julian
      Src: /src/glib/glib/tests/date.c:527,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:544,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:557,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:558,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:591,1
    - Dst: g_date_get_iso8601_week_of_year
      Src: /src/glib/glib/tests/date.c:563,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:604,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/date.c:658,1
    - Dst: g_date_set_year
      Src: /src/glib/glib/tests/date.c:659,1
    - Dst: g_date_get_sunday_weeks_in_year
      Src: /src/glib/glib/tests/date.c:494,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:517,1
    - Dst: g_date_new_julian
      Src: /src/glib/glib/tests/date.c:520,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:436,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:529,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:536,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:543,1
    - Dst: g_date_new_julian
      Src: /src/glib/glib/tests/date.c:566,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:570,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:605,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:599,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:638,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:596,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:639,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:564,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:421,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:451,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/date.c:461,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:523,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:531,1
    - Dst: g_date_add_years
      Src: /src/glib/glib/tests/date.c:535,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:538,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:545,1
    - Dst: g_date_subtract_years
      Src: /src/glib/glib/tests/date.c:549,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:559,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:569,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/tests/date.c:649,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:590,1
    - Dst: g_date_set_month
      Src: /src/glib/glib/tests/date.c:581,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:605,1
    - Dst: g_date_set_day
      Src: /src/glib/glib/tests/date.c:635,1
    - Dst: g_date_get_monday_week_of_year
      Src: /src/glib/glib/tests/date.c:429,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:466,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/date.c:481,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:524,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:531,1
    - Dst: g_date_new_dmy
      Src: /src/glib/glib/tests/date.c:548,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:568,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:570,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:597,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:603,1
    - Dst: g_date_is_last_of_month
      Src: /src/glib/glib/tests/date.c:646,1
    - Dst: g_date_set_julian
      Src: /src/glib/glib/tests/date.c:631,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/date.c:642,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:637,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:623,1
    - Dst: g_date_is_first_of_month
      Src: /src/glib/glib/tests/date.c:644,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:502,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:517,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:473,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:491,1
    - Dst: g_date_get_monday_weeks_in_year
      Src: /src/glib/glib/tests/date.c:491,1
    - Dst: g_date_get_monday_week_of_year
      Src: /src/glib/glib/tests/date.c:502,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:522,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:536,1
    - Dst: g_date_set_year
      Src: /src/glib/glib/tests/date.c:567,1
    - Dst: g_date_set_year
      Src: /src/glib/glib/tests/date.c:574,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:584,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:632,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/date.c:641,1
    - Dst: g_date_set_day
      Src: /src/glib/glib/tests/date.c:657,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:603,1
    - Dst: g_date_set_day
      Src: /src/glib/glib/tests/date.c:643,1
    - Dst: g_date_new_julian
      Src: /src/glib/glib/tests/date.c:594,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/date.c:471,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:516,1
    - Dst: g_date_new
      Src: /src/glib/glib/tests/date.c:415,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/date.c:418,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:518,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:529,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:551,1
    - Dst: g_date_new_julian
      Src: /src/glib/glib/tests/date.c:580,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:553,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:591,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:610,1
    - Dst: g_date_subtract_days
      Src: /src/glib/glib/tests/date.c:645,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:619,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:652,1
    - Dst: g_date_set_day
      Src: /src/glib/glib/tests/date.c:595,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 278
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 663
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 663
    functionName: test_dates
    functionSourceFile: /src/glib/glib/tests/date.c
    functionUses: []
    functionsReached:
    - g_date_subtract_months
    - g_date_get_day
    - g_date_set_time_val
    - time
    - g_date_new_julian
    - g_date_get_sunday_week_of_year
    - g_test_assert_expected_messages
    - g_assert_true
    - g_date_subtract_days
    - g_date_set_dmy
    - g_date_get_day_of_year
    - g_date_new
    - g_date_is_first_of_month
    - g_date_get_sunday_weeks_in_year
    - g_date_get_month
    - g_assert_false
    - g_date_add_years
    - g_date_free
    - g_date_set_time
    - g_date_set_julian
    - g_assert_cmpint
    - g_date_set_month
    - g_test_undefined
    - g_date_set_day
    - g_test_expect_message
    - g_date_new_dmy
    - g_date_valid
    - g_date_get_year
    - g_date_get_iso8601_week_of_year
    - g_date_set_year
    - g_date_get_monday_weeks_in_year
    - g_date_get_monday_week_of_year
    - g_date_add_months
    - g_date_subtract_years
    - g_date_is_last_of_month
    linkageType: ''
    returnType: void
    signature: 'static void test_dates (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_date_order
      Src: /src/glib/glib/tests/date.c:1652,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/tests/date.c:1656,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/date.c:1658,1
    - Dst: g_date_order
      Src: /src/glib/glib/tests/date.c:1668,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:1673,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:1663,1
    - Dst: g_date_compare
      Src: /src/glib/glib/tests/date.c:1671,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:1650,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/date.c:1648,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:1674,1
    - Dst: g_date_new
      Src: /src/glib/glib/tests/date.c:1645,1
    - Dst: g_date_new
      Src: /src/glib/glib/tests/date.c:1646,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:1660,1
    - Dst: g_date_order
      Src: /src/glib/glib/tests/date.c:1662,1
    - Dst: g_date_compare
      Src: /src/glib/glib/tests/date.c:1669,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1671,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1669,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:1653,1
    - Dst: g_date_order
      Src: /src/glib/glib/tests/date.c:1670,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/tests/date.c:1666,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1675
      start: 1640
    functionDepth: 0
    functionLinenumber: 1640
    functionLinenumberEnd: 1675
    functionName: test_order
    functionSourceFile: /src/glib/glib/tests/date.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_date_set_dmy
    - g_test_undefined
    - g_date_new
    - g_test_expect_message
    - g_date_order
    - g_date_compare
    - g_date_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_order (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/glib/glib/tests/date.c:1079,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/date.c:1087,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/date.c:1081,1
    - Dst: g_date_set_parse
      Src: /src/glib/glib/tests/date.c:1085,1
    - Dst: g_date_set_parse
      Src: /src/glib/glib/tests/date.c:1088,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1089,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:1089,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1090,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:1090,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1095,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1097,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:1095,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:1097,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/date.c:1100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1101
      start: 1070
    functionDepth: 0
    functionLinenumber: 1070
    functionLinenumberEnd: 1101
    functionName: test_parse_locale_change
    functionSourceFile: /src/glib/glib/tests/date.c
    functionUses: []
    functionsReached:
    - g_date_get_day
    - setlocale
    - g_date_get_month
    - g_date_set_parse
    - g_test_skip
    - g_date_get_year
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_parse_locale_change (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetThreadLocale
      Src: /src/glib/glib/tests/date.c:1122,1
    - Dst: MAKELANGID
      Src: /src/glib/glib/tests/date.c:1123,1
    - Dst: g_date_set_parse
      Src: /src/glib/glib/tests/date.c:1130,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:1131,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:1131,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:1132,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/date.c:1145,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/date.c:1115,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1132,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:1135,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1136,1
    - Dst: g_date_set_parse
      Src: /src/glib/glib/tests/date.c:1138,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:1139,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1140,1
    - Dst: SetThreadLocale
      Src: /src/glib/glib/tests/date.c:1123,1
    - Dst: g_date_set_parse
      Src: /src/glib/glib/tests/date.c:1134,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:1135,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:1139,1
    - Dst: SetThreadLocale
      Src: /src/glib/glib/tests/date.c:1143,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/date.c:1111,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/date.c:1113,1
    - Dst: MAKELCID
      Src: /src/glib/glib/tests/date.c:1123,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:1136,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:1140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1146
      start: 1103
    functionDepth: 0
    functionLinenumber: 1103
    functionLinenumberEnd: 1146
    functionName: test_month_substring
    functionSourceFile: /src/glib/glib/tests/date.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_assert_cmpint
    - g_test_bug
    - MAKELCID
    - setlocale
    - SetThreadLocale
    - g_date_get_month
    - MAKELANGID
    - g_date_valid
    - g_date_set_parse
    - g_test_skip
    - GetThreadLocale
    linkageType: ''
    returnType: void
    signature: 'static void test_month_substring (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/glib/glib/tests/date.c:763,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:775,1
    - Dst: g_date_strftime
      Src: /src/glib/glib/tests/date.c:784,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/date.c:800,1
    - Dst: SetThreadLocale
      Src: /src/glib/glib/tests/date.c:818,1
    - Dst: defined
      Src: /src/glib/glib/tests/date.c:727,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/date.c:757,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:772,1
    - Dst: g_date_strftime
      Src: /src/glib/glib/tests/date.c:774,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/date.c:786,1
    - Dst: g_date_strftime
      Src: /src/glib/glib/tests/date.c:790,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/date.c:797,1
    - Dst: g_date_strftime
      Src: /src/glib/glib/tests/date.c:799,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/date.c:815,1
    - Dst: g_free
      Src: /src/glib/glib/tests/date.c:816,1
    - Dst: SetThreadLocale
      Src: /src/glib/glib/tests/date.c:765,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/date.c:770,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:783,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/tests/date.c:782,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/date.c:780,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/date.c:791,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:810,1
    - Dst: g_date_strftime
      Src: /src/glib/glib/tests/date.c:810,1
    - Dst: defined
      Src: /src/glib/glib/tests/date.c:727,1
    - Dst: GetThreadLocale
      Src: /src/glib/glib/tests/date.c:759,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/date.c:757,1
    - Dst: MAKELCID
      Src: /src/glib/glib/tests/date.c:765,1
    - Dst: MAKELANGID
      Src: /src/glib/glib/tests/date.c:765,1
    - Dst: g_date_new
      Src: /src/glib/glib/tests/date.c:768,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:785,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/tests/date.c:789,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/tests/date.c:795,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:813,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 820
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 820
    functionName: test_strftime
    functionSourceFile: /src/glib/glib/tests/date.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_strdup
    - g_date_strftime
    - g_assert_cmpint
    - g_date_set_dmy
    - G_N_ELEMENTS
    - defined
    - g_test_undefined
    - g_free
    - MAKELCID
    - g_assert_cmpstr
    - g_date_new
    - setlocale
    - SetThreadLocale
    - g_test_expect_message
    - MAKELANGID
    - g_date_free
    - GetThreadLocale
    linkageType: ''
    returnType: void
    signature: 'static void test_strftime (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:908,1
    - Dst: g_date_set_parse
      Src: /src/glib/glib/tests/date.c:914,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:922,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:971,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:1000,1
    - Dst: g_date_set_parse
      Src: /src/glib/glib/tests/date.c:1008,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:1009,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:1016,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1022,1
    - Dst: g_date_set_parse
      Src: /src/glib/glib/tests/date.c:1034,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:1023,1
    - Dst: g_date_set_julian
      Src: /src/glib/glib/tests/date.c:935,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1010,1
    - Dst: g_date_set_parse
      Src: /src/glib/glib/tests/date.c:1026,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:1031,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1028,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:965,1
    - Dst: g_date_set_parse
      Src: /src/glib/glib/tests/date.c:976,1
    - Dst: g_date_new
      Src: /src/glib/glib/tests/date.c:901,1
    - Dst: g_date_strftime
      Src: /src/glib/glib/tests/date.c:913,1
    - Dst: g_date_set_parse
      Src: /src/glib/glib/tests/date.c:947,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:962,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:978,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:984,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:986,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1005,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:932,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:950,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:955,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:971,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:965,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:998,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:1006,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:1009,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:1027,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:1030,1
    - Dst: g_date_set_parse
      Src: /src/glib/glib/tests/date.c:1014,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:1005,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/date.c:903,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:927,1
    - Dst: g_date_strftime
      Src: /src/glib/glib/tests/date.c:931,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:936,1
    - Dst: g_date_set_parse
      Src: /src/glib/glib/tests/date.c:952,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:953,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:967,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:966,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:983,1
    - Dst: g_date_set_parse
      Src: /src/glib/glib/tests/date.c:1020,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/date.c:1038,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1029,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:955,1
    - Dst: g_date_set_parse
      Src: /src/glib/glib/tests/date.c:907,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:912,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/date.c:916,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:919,1
    - Dst: g_date_strftime
      Src: /src/glib/glib/tests/date.c:921,1
    - Dst: g_date_set_parse
      Src: /src/glib/glib/tests/date.c:970,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:949,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:1010,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1018,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:1021,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:1017,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:1027,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:972,1
    - Dst: g_date_set_time
      Src: /src/glib/glib/tests/date.c:911,1
    - Dst: g_date_set_parse
      Src: /src/glib/glib/tests/date.c:941,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:985,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:985,1
    - Dst: g_date_set_parse
      Src: /src/glib/glib/tests/date.c:988,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:990,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:993,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:997,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:999,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:1035,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:973,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:966,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:945,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:950,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:953,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:980,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:983,1
    - Dst: g_date_set_parse
      Src: /src/glib/glib/tests/date.c:1002,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1017,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:1018,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:1021,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:1003,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:945,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:968,1
    - Dst: g_date_set_parse
      Src: /src/glib/glib/tests/date.c:964,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:977,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:974,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:991,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:996,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:1030,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:1040,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:924,1
    - Dst: g_date_strftime
      Src: /src/glib/glib/tests/date.c:926,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:936,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:954,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:977,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:984,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:986,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:998,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:999,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1016,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:905,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:948,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:949,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:974,1
    - Dst: g_date_set_parse
      Src: /src/glib/glib/tests/date.c:982,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:992,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:1011,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:1024,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:1038,1
    - Dst: g_date_set_parse
      Src: /src/glib/glib/tests/date.c:961,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:979,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:948,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:956,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:967,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:997,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:1004,1
    - Dst: g_date_set_parse
      Src: /src/glib/glib/tests/date.c:1037,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/tests/date.c:944,1
    - Dst: g_date_strftime
      Src: /src/glib/glib/tests/date.c:946,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:980,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/date.c:959,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:956,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:989,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1004,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1011,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/date.c:962,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:959,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:929,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:968,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:973,1
    - Dst: g_date_strftime
      Src: /src/glib/glib/tests/date.c:940,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:989,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:992,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:996,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:1003,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:1029,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:979,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:912,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1006,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:1012,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:1015,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1024,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1023,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:972,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:954,1
    - Dst: g_date_set_parse
      Src: /src/glib/glib/tests/date.c:958,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:978,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:990,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:991,1
    - Dst: g_date_set_parse
      Src: /src/glib/glib/tests/date.c:995,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1012,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:1015,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/date.c:1035,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:1028,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:1022,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 173
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1041
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 1041
    functionName: test_parse
    functionSourceFile: /src/glib/glib/tests/date.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_date_get_day
    - g_assert_true
    - g_date_strftime
    - g_date_set_dmy
    - g_test_undefined
    - g_date_free
    - g_date_new
    - g_test_expect_message
    - g_date_get_month
    - g_date_get_year
    - g_assert_false
    - g_date_valid
    - g_date_set_parse
    - g_date_set_time
    - g_date_set_julian
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_parse (void) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/date.c:1161,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/date.c:1209,1
    - Dst: MAKELANGID
      Src: /src/glib/glib/tests/date.c:1239,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1248,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/date.c:1258,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1303,1
    - Dst: MAKELCID
      Src: /src/glib/glib/tests/date.c:1336,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1343,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1347,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1358,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1383,1
    - Dst: GetThreadLocale
      Src: /src/glib/glib/tests/date.c:1211,1
    - Dst: g_date_new
      Src: /src/glib/glib/tests/date.c:1214,1
    - Dst: MAKELANGID
      Src: /src/glib/glib/tests/date.c:1223,1
    - Dst: strstr
      Src: /src/glib/glib/tests/date.c:1298,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1300,1
    - Dst: MAKELCID
      Src: /src/glib/glib/tests/date.c:1318,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1325,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1329,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/date.c:1338,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1288,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1227,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1268,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/date.c:1277,1
    - Dst: MAKELCID
      Src: /src/glib/glib/tests/date.c:1296,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1284,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1308,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1379,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1385,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/date.c:1298,1
    - Dst: MAKELCID
      Src: /src/glib/glib/tests/date.c:1256,1
    - Dst: SetThreadLocale
      Src: /src/glib/glib/tests/date.c:1279,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1324,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1361,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1365,1
    - Dst: strstr
      Src: /src/glib/glib/tests/date.c:1374,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1376,1
    - Dst: g_free
      Src: /src/glib/glib/tests/date.c:1397,1
    - Dst: MAKELCID
      Src: /src/glib/glib/tests/date.c:1223,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1245,1
    - Dst: MAKELCID
      Src: /src/glib/glib/tests/date.c:1279,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1304,1
    - Dst: strstr
      Src: /src/glib/glib/tests/date.c:1320,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1322,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1344,1
    - Dst: strstr
      Src: /src/glib/glib/tests/date.c:1356,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/date.c:1370,1
    - Dst: MAKELANGID
      Src: /src/glib/glib/tests/date.c:1372,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/date.c:1221,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/date.c:1251,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1269,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/date.c:1294,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1310,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1326,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/date.c:1350,1
    - Dst: MAKELANGID
      Src: /src/glib/glib/tests/date.c:1354,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/date.c:1356,1
    - Dst: strstr
      Src: /src/glib/glib/tests/date.c:1258,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1260,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1285,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/date.c:1187,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1229,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1264,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1244,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/date.c:1320,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/date.c:1368,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1380,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/date.c:1291,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/date.c:1225,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/date.c:1237,1
    - Dst: SetThreadLocale
      Src: /src/glib/glib/tests/date.c:1239,1
    - Dst: strstr
      Src: /src/glib/glib/tests/date.c:1338,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1340,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1362,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1386,1
    - Dst: MAKELCID
      Src: /src/glib/glib/tests/date.c:1239,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1246,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1301,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/date.c:1281,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1305,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/date.c:1334,1
    - Dst: MAKELANGID
      Src: /src/glib/glib/tests/date.c:1336,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1341,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1345,1
    - Dst: SetThreadLocale
      Src: /src/glib/glib/tests/date.c:1354,1
    - Dst: SetThreadLocale
      Src: /src/glib/glib/tests/date.c:1395,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1231,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/date.c:1241,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1261,1
    - Dst: SetThreadLocale
      Src: /src/glib/glib/tests/date.c:1296,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1270,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/date.c:1316,1
    - Dst: MAKELANGID
      Src: /src/glib/glib/tests/date.c:1318,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1327,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1286,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/date.c:1167,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/date.c:1169,1
    - Dst: strstr
      Src: /src/glib/glib/tests/date.c:1225,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/date.c:1235,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1265,1
    - Dst: MAKELANGID
      Src: /src/glib/glib/tests/date.c:1296,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/date.c:1332,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1377,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:1391,1
    - Dst: strstr
      Src: /src/glib/glib/tests/date.c:1281,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1283,1
    - Dst: SetThreadLocale
      Src: /src/glib/glib/tests/date.c:1223,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/date.c:1254,1
    - Dst: MAKELANGID
      Src: /src/glib/glib/tests/date.c:1256,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/date.c:1314,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/date.c:1352,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1359,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1363,1
    - Dst: SetThreadLocale
      Src: /src/glib/glib/tests/date.c:1372,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1381,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/date.c:1389,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/date.c:1209,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1247,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1306,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/date.c:1275,1
    - Dst: MAKELANGID
      Src: /src/glib/glib/tests/date.c:1279,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1302,1
    - Dst: SetThreadLocale
      Src: /src/glib/glib/tests/date.c:1318,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1342,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1346,1
    - Dst: MAKELCID
      Src: /src/glib/glib/tests/date.c:1372,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/date.c:1393,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1271,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1328,1
    - Dst: MAKELCID
      Src: /src/glib/glib/tests/date.c:1354,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/date.c:1374,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1266,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1228,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1230,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1232,1
    - Dst: SetThreadLocale
      Src: /src/glib/glib/tests/date.c:1256,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1287,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1378,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1382,1
    - Dst: strstr
      Src: /src/glib/glib/tests/date.c:1241,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1243,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1263,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1323,1
    - Dst: SetThreadLocale
      Src: /src/glib/glib/tests/date.c:1336,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1360,1
    - Dst: TEST_DATE
      Src: /src/glib/glib/tests/date.c:1364,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 176
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1399
      start: 1149
    functionDepth: 0
    functionLinenumber: 1149
    functionLinenumberEnd: 1399
    functionName: test_month_names
    functionSourceFile: /src/glib/glib/tests/date.c
    functionUses: []
    functionsReached:
    - g_strdup
    - TEST_DATE
    - g_getenv
    - g_free
    - g_test_bug
    - MAKELCID
    - g_date_new
    - setlocale
    - SetThreadLocale
    - MAKELANGID
    - g_test_skip
    - g_date_free
    - strstr
    - GetThreadLocale
    linkageType: ''
    returnType: void
    signature: 'static void test_month_names (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/glib/glib/tests/date.c:840,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/tests/date.c:848,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:871,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:884,1
    - Dst: g_free
      Src: /src/glib/glib/tests/date.c:889,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:882,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:881,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/date.c:834,1
    - Dst: g_date_set_parse
      Src: /src/glib/glib/tests/date.c:851,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:872,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/date.c:850,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/tests/date.c:877,1
    - Dst: g_date_strftime
      Src: /src/glib/glib/tests/date.c:878,1
    - Dst: g_date_set_parse
      Src: /src/glib/glib/tests/date.c:880,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:883,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:883,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:886,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/date.c:888,1
    - Dst: SetThreadLocale
      Src: /src/glib/glib/tests/date.c:842,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:871,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:873,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:873,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:874,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:881,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:882,1
    - Dst: SetThreadLocale
      Src: /src/glib/glib/tests/date.c:891,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/date.c:834,1
    - Dst: GetThreadLocale
      Src: /src/glib/glib/tests/date.c:836,1
    - Dst: MAKELCID
      Src: /src/glib/glib/tests/date.c:842,1
    - Dst: MAKELANGID
      Src: /src/glib/glib/tests/date.c:842,1
    - Dst: g_date_new
      Src: /src/glib/glib/tests/date.c:845,1
    - Dst: g_date_strftime
      Src: /src/glib/glib/tests/date.c:849,1
    - Dst: g_date_set_parse
      Src: /src/glib/glib/tests/date.c:869,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:872,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:864,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/date.c:879,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 48
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 893
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 893
    functionName: test_two_digit_years
    functionSourceFile: /src/glib/glib/tests/date.c
    functionUses: []
    functionsReached:
    - g_date_get_day
    - g_date_strftime
    - SetThreadLocale
    - g_date_set_parse
    - g_assert_true
    - g_date_set_dmy
    - MAKELCID
    - g_date_new
    - setlocale
    - g_date_get_month
    - g_date_free
    - g_assert_cmpint
    - g_strdup
    - MAKELANGID
    - g_date_valid
    - g_date_get_year
    - g_assert_cmpstr
    - g_free
    - GetThreadLocale
    linkageType: ''
    returnType: void
    signature: 'static void test_two_digit_years (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/date.c:1057,1
    - Dst: g_date_set_parse
      Src: /src/glib/glib/tests/date.c:1062,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/date.c:1064,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/date.c:1061,1
    - Dst: g_date_new
      Src: /src/glib/glib/tests/date.c:1059,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:1064,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:1066,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1068
      start: 1043
    functionDepth: 0
    functionLinenumber: 1043
    functionLinenumberEnd: 1068
    functionName: test_parse_invalid
    functionSourceFile: /src/glib/glib/tests/date.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - g_test_message
    - g_date_new
    - g_assert_false
    - g_date_valid
    - g_date_set_parse
    - g_date_free
    linkageType: ''
    returnType: void
    signature: 'static void test_parse_invalid (void) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/tests/date.c:1422,1
    - Dst: g_date_clear
      Src: /src/glib/glib/tests/date.c:1431,1
    - Dst: g_date_get_julian
      Src: /src/glib/glib/tests/date.c:1449,1
    - Dst: g_date_subtract_months
      Src: /src/glib/glib/tests/date.c:1529,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1562,1
    - Dst: g_date_valid_year
      Src: /src/glib/glib/tests/date.c:1420,1
    - Dst: g_date_valid_month
      Src: /src/glib/glib/tests/date.c:1434,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:1442,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1472,1
    - Dst: g_date_get_sunday_week_of_year
      Src: /src/glib/glib/tests/date.c:1500,1
    - Dst: g_date_subtract_days
      Src: /src/glib/glib/tests/date.c:1521,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1543,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1565,1
    - Dst: g_date_subtract_years
      Src: /src/glib/glib/tests/date.c:1541,1
    - Dst: g_date_get_monday_week_of_year
      Src: /src/glib/glib/tests/date.c:1495,1
    - Dst: g_date_get_days_in_month
      Src: /src/glib/glib/tests/date.c:1428,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:1446,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1455,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1462,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1464,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:1523,1
    - Dst: g_date_compare
      Src: /src/glib/glib/tests/date.c:1520,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:1534,1
    - Dst: g_date_get_day_of_year
      Src: /src/glib/glib/tests/date.c:1459,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1477,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1528,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1498,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1524,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1507,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/date.c:1442,1
    - Dst: g_date_get_day_of_year
      Src: /src/glib/glib/tests/date.c:1462,1
    - Dst: g_date_get_iso8601_week_of_year
      Src: /src/glib/glib/tests/date.c:1477,1
    - Dst: g_date_add_months
      Src: /src/glib/glib/tests/date.c:1527,1
    - Dst: g_date_get_sunday_week_of_year
      Src: /src/glib/glib/tests/date.c:1503,1
    - Dst: g_date_get_weekday
      Src: /src/glib/glib/tests/date.c:1502,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1542,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/tests/date.c:1444,1
    - Dst: g_date_compare
      Src: /src/glib/glib/tests/date.c:1528,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:1531,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1546,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1522,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1486,1
    - Dst: g_date_get_monday_week_of_year
      Src: /src/glib/glib/tests/date.c:1465,1
    - Dst: g_date_get_sunday_weeks_in_year
      Src: /src/glib/glib/tests/date.c:1415,1
    - Dst: g_date_is_leap_year
      Src: /src/glib/glib/tests/date.c:1413,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/date.c:1433,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:1446,1
    - Dst: g_date_compare
      Src: /src/glib/glib/tests/date.c:1540,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:1542,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/tests/date.c:1561,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:1455,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1467,1
    - Dst: g_date_get_sunday_week_of_year
      Src: /src/glib/glib/tests/date.c:1507,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1490,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1523,1
    - Dst: g_date_get_iso8601_week_of_year
      Src: /src/glib/glib/tests/date.c:1490,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1530,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1534,1
    - Dst: g_date_add_years
      Src: /src/glib/glib/tests/date.c:1539,1
    - Dst: g_date_get_julian
      Src: /src/glib/glib/tests/date.c:1562,1
    - Dst: g_date_get_monday_week_of_year
      Src: /src/glib/glib/tests/date.c:1486,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:1530,1
    - Dst: g_date_set_day
      Src: /src/glib/glib/tests/date.c:1548,1
    - Dst: g_date_get_julian
      Src: /src/glib/glib/tests/date.c:1553,1
    - Dst: g_date_add_days
      Src: /src/glib/glib/tests/date.c:1564,1
    - Dst: g_date_get_julian
      Src: /src/glib/glib/tests/date.c:1565,1
    - Dst: g_date_get_sunday_week_of_year
      Src: /src/glib/glib/tests/date.c:1511,1
    - Dst: g_date_get_monday_week_of_year
      Src: /src/glib/glib/tests/date.c:1467,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:1439,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1454,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:1522,1
    - Dst: g_date_add_days
      Src: /src/glib/glib/tests/date.c:1519,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1480,1
    - Dst: g_date_get_weekday
      Src: /src/glib/glib/tests/date.c:1470,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1451,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:1546,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:1420,1
    - Dst: g_date_get_monday_weeks_in_year
      Src: /src/glib/glib/tests/date.c:1417,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:1434,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1500,1
    - Dst: g_date_compare
      Src: /src/glib/glib/tests/date.c:1513,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1531,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:1543,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1453,1
    - Dst: g_date_get_day_of_year
      Src: /src/glib/glib/tests/date.c:1464,1
    - Dst: g_date_get_monday_week_of_year
      Src: /src/glib/glib/tests/date.c:1472,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1513,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1520,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1465,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/date.c:1404,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/date.c:1423,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1457,1
    - Dst: g_date_get_iso8601_week_of_year
      Src: /src/glib/glib/tests/date.c:1480,1
    - Dst: g_date_get_sunday_week_of_year
      Src: /src/glib/glib/tests/date.c:1498,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:1524,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1503,1
    - Dst: g_date_valid_dmy
      Src: /src/glib/glib/tests/date.c:1439,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:1453,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:1454,1
    - Dst: g_date_get_julian
      Src: /src/glib/glib/tests/date.c:1457,1
    - Dst: g_date_get_iso8601_week_of_year
      Src: /src/glib/glib/tests/date.c:1496,1
    - Dst: g_date_set_day
      Src: /src/glib/glib/tests/date.c:1536,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:1540,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 170
    argCount: 1
    argNames:
    - t
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1566
      start: 1401
    functionDepth: 0
    functionLinenumber: 1401
    functionLinenumberEnd: 1566
    functionName: test_year
    functionSourceFile: /src/glib/glib/tests/date.c
    functionUses: []
    functionsReached:
    - g_date_subtract_months
    - g_date_get_day
    - g_date_get_julian
    - g_date_get_sunday_week_of_year
    - g_date_add_days
    - g_assert_true
    - g_date_get_days_in_month
    - g_date_set_dmy
    - g_date_subtract_days
    - g_date_get_day_of_year
    - g_date_get_sunday_weeks_in_year
    - g_date_get_month
    - g_assert_false
    - g_date_is_leap_year
    - g_date_get_weekday
    - g_date_add_years
    - g_assert_cmpint
    - GPOINTER_TO_INT
    - g_date_valid_year
    - g_date_clear
    - g_date_set_day
    - g_date_valid
    - g_date_get_year
    - g_date_compare
    - g_date_get_iso8601_week_of_year
    - g_assert
    - g_date_get_monday_weeks_in_year
    - g_date_get_monday_week_of_year
    - g_date_add_months
    - g_date_valid_month
    - g_date_subtract_years
    - g_date_valid_dmy
    linkageType: ''
    returnType: void
    signature: 'static void test_year (gconstpointer t) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_setenv
      Src: /src/glib/glib/tests/date.c:1777,1
    - Dst: SetThreadLocale
      Src: /src/glib/glib/tests/date.c:1780,1
    - Dst: g_test_init
      Src: /src/glib/glib/tests/date.c:1783,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/date.c:1788,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/date.c:1793,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/date.c:1796,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/date.c:1789,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/date.c:1797,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/date.c:1802,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/date.c:1790,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/date.c:1794,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/date.c:1795,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/date.c:1806,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/date.c:1807,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/date.c:1809,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/date.c:1778,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/date.c:1785,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/date.c:1792,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/date.c:1791,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/date.c:1798,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/date.c:1803,1
    - Dst: MAKELANGID
      Src: /src/glib/glib/tests/date.c:1780,1
    - Dst: MAKELCID
      Src: /src/glib/glib/tests/date.c:1780,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/date.c:1786,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/date.c:1787,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/date.c:1799,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/date.c:1800,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/date.c:1803,1
    - Dst: g_free
      Src: /src/glib/glib/tests/date.c:1804,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1810
      start: 1755
    functionDepth: 0
    functionLinenumber: 1755
    functionLinenumberEnd: 1810
    functionName: main
    functionSourceFile: /src/glib/glib/tests/date.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_strdup_printf
    - g_test_add_data_func
    - g_setenv
    - G_N_ELEMENTS
    - g_free
    - MAKELCID
    - g_test_run
    - SetThreadLocale
    - setlocale
    - GINT_TO_POINTER
    - MAKELANGID
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char** argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/date.c:1737,1
    - Dst: g_date_valid_dmy
      Src: /src/glib/glib/tests/date.c:1744,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:1749,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/date.c:1740,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/date.c:1751,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1753
      start: 1712
    functionDepth: 0
    functionLinenumber: 1712
    functionLinenumberEnd: 1753
    functionName: test_valid_dmy
    functionSourceFile: /src/glib/glib/tests/date.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - G_N_ELEMENTS
    - g_test_message
    - g_assert_false
    - g_date_valid_dmy
    linkageType: ''
    returnType: void
    signature: 'static void test_valid_dmy (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_date_new_dmy
      Src: /src/glib/glib/tests/date.c:270,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:271,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:274,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:271,1
    - Dst: g_date_get_julian
      Src: /src/glib/glib/tests/date.c:273,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:275,1
    - Dst: g_date_get_month
      Src: /src/glib/glib/tests/date.c:275,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:276,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:276,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:277,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:278,1
    - Dst: g_date_get_year
      Src: /src/glib/glib/tests/date.c:277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 279
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 279
    functionName: test_dmy_constructor
    functionSourceFile: /src/glib/glib/tests/date.c
    functionUses: []
    functionsReached:
    - g_date_get_day
    - g_assert_true
    - g_date_free
    - g_date_get_julian
    - g_date_get_month
    - g_date_new_dmy
    - g_date_valid
    - g_date_get_year
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_dmy_constructor (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/date.c:1683,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:1688,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/date.c:1692,1
    - Dst: g_date_copy
      Src: /src/glib/glib/tests/date.c:1701,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:1696,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:1706,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:1708,1
    - Dst: g_date_new
      Src: /src/glib/glib/tests/date.c:1691,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:1692,1
    - Dst: g_date_copy
      Src: /src/glib/glib/tests/date.c:1694,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/date.c:1695,1
    - Dst: g_date_set_year
      Src: /src/glib/glib/tests/date.c:1703,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/date.c:1705,1
    - Dst: g_date_copy
      Src: /src/glib/glib/tests/date.c:1687,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/date.c:1687,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:1685,1
    - Dst: g_date_set_day
      Src: /src/glib/glib/tests/date.c:1699,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/date.c:1704,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:1697,1
    - Dst: g_date_set_month
      Src: /src/glib/glib/tests/date.c:1702,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/date.c:1696,1
    - Dst: g_date_valid
      Src: /src/glib/glib/tests/date.c:1704,1
    - Dst: g_date_get_day
      Src: /src/glib/glib/tests/date.c:1705,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1709
      start: 1677
    functionDepth: 0
    functionLinenumber: 1677
    functionLinenumberEnd: 1709
    functionName: test_copy
    functionSourceFile: /src/glib/glib/tests/date.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_date_get_day
    - g_assert_true
    - g_date_set_month
    - g_assert_null
    - g_date_set_year
    - g_test_undefined
    - g_assert_nonnull
    - g_date_free
    - g_date_set_day
    - g_assert_cmpuint
    - g_date_new
    - g_test_expect_message
    - g_assert_false
    - g_date_valid
    - g_date_copy
    linkageType: ''
    returnType: void
    signature: 'static void test_copy (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/tests/date.c:296,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:297,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:299,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:302,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:303,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:314,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:317,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:319,1
    - Dst: g_date_compare
      Src: /src/glib/glib/tests/date.c:321,1
    - Dst: g_date_compare
      Src: /src/glib/glib/tests/date.c:327,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:346,1
    - Dst: g_date_compare
      Src: /src/glib/glib/tests/date.c:364,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:351,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:357,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:367,1
    - Dst: g_date_compare
      Src: /src/glib/glib/tests/date.c:351,1
    - Dst: g_date_compare
      Src: /src/glib/glib/tests/date.c:359,1
    - Dst: g_date_new
      Src: /src/glib/glib/tests/date.c:288,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:300,1
    - Dst: g_date_new
      Src: /src/glib/glib/tests/date.c:305,1
    - Dst: g_date_compare
      Src: /src/glib/glib/tests/date.c:311,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:312,1
    - Dst: g_date_compare
      Src: /src/glib/glib/tests/date.c:316,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:327,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:325,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:328,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:330,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:340,1
    - Dst: g_date_set_julian
      Src: /src/glib/glib/tests/date.c:355,1
    - Dst: g_date_set_julian
      Src: /src/glib/glib/tests/date.c:366,1
    - Dst: g_date_compare
      Src: /src/glib/glib/tests/date.c:368,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:347,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:371,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:364,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:368,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:359,1
    - Dst: g_date_compare
      Src: /src/glib/glib/tests/date.c:360,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:350,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:291,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/date.c:289,1
    - Dst: g_date_days_between
      Src: /src/glib/glib/tests/date.c:293,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:294,1
    - Dst: g_date_new
      Src: /src/glib/glib/tests/date.c:306,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/date.c:309,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:311,1
    - Dst: g_date_days_between
      Src: /src/glib/glib/tests/date.c:299,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/date.c:322,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/tests/date.c:324,1
    - Dst: g_date_new
      Src: /src/glib/glib/tests/date.c:333,1
    - Dst: g_date_compare
      Src: /src/glib/glib/tests/date.c:342,1
    - Dst: g_date_compare
      Src: /src/glib/glib/tests/date.c:346,1
    - Dst: g_date_compare
      Src: /src/glib/glib/tests/date.c:347,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:360,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:370,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:343,1
    - Dst: g_date_compare
      Src: /src/glib/glib/tests/date.c:357,1
    - Dst: g_date_compare
      Src: /src/glib/glib/tests/date.c:343,1
    - Dst: g_date_new
      Src: /src/glib/glib/tests/date.c:287,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:293,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/date.c:307,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:316,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:321,1
    - Dst: g_date_free
      Src: /src/glib/glib/tests/date.c:331,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/tests/date.c:337,1
    - Dst: g_date_new
      Src: /src/glib/glib/tests/date.c:334,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/tests/date.c:338,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:342,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/tests/date.c:345,1
    - Dst: g_date_set_julian
      Src: /src/glib/glib/tests/date.c:354,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/date.c:363,1
    - Dst: g_date_compare
      Src: /src/glib/glib/tests/date.c:363,1
    - Dst: g_date_set_julian
      Src: /src/glib/glib/tests/date.c:362,1
    - Dst: g_date_compare
      Src: /src/glib/glib/tests/date.c:350,1
    - Dst: g_date_compare
      Src: /src/glib/glib/tests/date.c:340,1
    - Dst: g_date_compare
      Src: /src/glib/glib/tests/date.c:367,1
    - Dst: g_date_set_dmy
      Src: /src/glib/glib/tests/date.c:349,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 85
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 372
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 372
    functionName: test_date_compare
    functionSourceFile: /src/glib/glib/tests/date.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_date_set_dmy
    - g_test_undefined
    - g_date_days_between
    - g_test_expect_message
    - g_date_new
    - g_date_compare
    - g_date_free
    - g_date_set_julian
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_date_compare (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/glib/glib/tests/spawn-multithreaded.c:67,1
    - Dst: memset
      Src: /src/glib/glib/tests/spawn-multithreaded.c:69,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/spawn-multithreaded.c:74,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/tests/spawn-multithreaded.c:73,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/spawn-multithreaded.c:71,1
    - Dst: CreateProcess
      Src: /src/glib/glib/tests/spawn-multithreaded.c:76,1
    - Dst: g_error
      Src: /src/glib/glib/tests/spawn-multithreaded.c:78,1
    - Dst: g_win32_error_message
      Src: /src/glib/glib/tests/spawn-multithreaded.c:79,1
    - Dst: GetLastError
      Src: /src/glib/glib/tests/spawn-multithreaded.c:79,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-multithreaded.c:81,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-multithreaded.c:82,1
    - Dst: exit
      Src: /src/glib/glib/tests/spawn-multithreaded.c:91,1
    - Dst: _exit
      Src: /src/glib/glib/tests/spawn-multithreaded.c:97,1
    - Dst: sleep
      Src: /src/glib/glib/tests/spawn-multithreaded.c:96,1
    - Dst: fork
      Src: /src/glib/glib/tests/spawn-multithreaded.c:89,1
    - Dst: CloseHandle
      Src: /src/glib/glib/tests/spawn-multithreaded.c:84,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - ttl
    argTypes:
    - gint
    constantsTouched: []
    func_position:
      end: 99
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 99
    functionName: get_a_child
    functionSourceFile: /src/glib/glib/tests/spawn-multithreaded.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - sleep
    - g_win32_error_message
    - g_utf8_to_utf16
    - g_assert_nonnull
    - g_free
    - fork
    - GetLastError
    - CreateProcess
    - CloseHandle
    - _exit
    - g_error
    - memset
    - exit
    linkageType: ''
    returnType: GPid
    signature: 'static GPid get_a_child (gint ttl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/spawn-multithreaded.c:166,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/spawn-multithreaded.c:169,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/spawn-multithreaded.c:171,1
    - Dst: system
      Src: /src/glib/glib/tests/spawn-multithreaded.c:169,1
    - Dst: system
      Src: /src/glib/glib/tests/spawn-multithreaded.c:171,1
    - Dst: g_timeout_add_seconds
      Src: /src/glib/glib/tests/spawn-multithreaded.c:175,1
    - Dst: get_a_child
      Src: /src/glib/glib/tests/spawn-multithreaded.c:180,1
    - Dst: g_child_watch_add
      Src: /src/glib/glib/tests/spawn-multithreaded.c:181,1
    - Dst: get_a_child
      Src: /src/glib/glib/tests/spawn-multithreaded.c:188,1
    - Dst: g_child_watch_add
      Src: /src/glib/glib/tests/spawn-multithreaded.c:189,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/spawn-multithreaded.c:193,1
    - Dst: g_source_remove
      Src: /src/glib/glib/tests/spawn-multithreaded.c:195,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/spawn-multithreaded.c:197,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/spawn-multithreaded.c:194,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/spawn-multithreaded.c:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 198
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 198
    functionName: test_spawn_childs
    functionSourceFile: /src/glib/glib/tests/spawn-multithreaded.c
    functionUses: []
    functionsReached:
    - system
    - g_main_loop_run
    - g_atomic_int_get
    - g_timeout_add_seconds
    - g_main_loop_unref
    - g_main_loop_new
    - g_child_watch_add
    - get_a_child
    - g_assert_no_errno
    - g_source_remove
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_spawn_childs (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_new
      Src: /src/glib/glib/tests/spawn-multithreaded.c:127,1
    - Dst: get_a_child
      Src: /src/glib/glib/tests/spawn-multithreaded.c:131,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/spawn-multithreaded.c:133,1
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/spawn-multithreaded.c:128,1
    - Dst: g_child_watch_source_new
      Src: /src/glib/glib/tests/spawn-multithreaded.c:132,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/spawn-multithreaded.c:135,1
    - Dst: g_main_loop_get_context
      Src: /src/glib/glib/tests/spawn-multithreaded.c:135,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/spawn-multithreaded.c:136,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/spawn-multithreaded.c:138,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/spawn-multithreaded.c:140,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/tests/spawn-multithreaded.c:142,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/spawn-multithreaded.c:141,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 145
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 145
    functionName: start_thread
    functionSourceFile: /src/glib/glib/tests/spawn-multithreaded.c
    functionUses: []
    functionsReached:
    - g_main_loop_run
    - g_main_context_unref
    - g_source_set_callback
    - g_child_watch_source_new
    - g_test_message
    - g_source_attach
    - g_main_context_new
    - g_main_loop_unref
    - g_main_loop_new
    - g_source_unref
    - g_main_loop_get_context
    - get_a_child
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer start_thread (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/spawn-multithreaded.c:244,1
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/spawn-multithreaded.c:254,1
    - Dst: MIN
      Src: /src/glib/glib/tests/spawn-multithreaded.c:248,1
    - Dst: g_get_num_processors
      Src: /src/glib/glib/tests/spawn-multithreaded.c:248,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/spawn-multithreaded.c:254,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-multithreaded.c:255,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/spawn-multithreaded.c:261,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/spawn-multithreaded.c:261,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/spawn-multithreaded.c:262,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/tests/spawn-multithreaded.c:262,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/tests/spawn-multithreaded.c:264,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - function
    argTypes:
    - GThreadFunc
    constantsTouched: []
    func_position:
      end: 265
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 265
    functionName: multithreaded_test_run
    functionSourceFile: /src/glib/glib/tests/spawn-multithreaded.c
    functionUses: []
    functionsReached:
    - GUINT_TO_POINTER
    - MIN
    - g_thread_new
    - GPOINTER_TO_UINT
    - g_get_num_processors
    - g_thread_join
    - g_ptr_array_free
    - g_ptr_array_new
    - g_ptr_array_index
    - g_ptr_array_add
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void multithreaded_test_run (GThreadFunc function) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: multithreaded_test_run
      Src: /src/glib/glib/tests/spawn-multithreaded.c:297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 298
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 298
    functionName: test_spawn_sync_multithreaded
    functionSourceFile: /src/glib/glib/tests/spawn-multithreaded.c
    functionUses: []
    functionsReached:
    - multithreaded_test_run
    linkageType: ''
    returnType: void
    signature: 'static void test_spawn_sync_multithreaded (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_quit
      Src: /src/glib/glib/tests/spawn-multithreaded.c:316,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - pid
    - status
    - datap
    argTypes:
    - GPid
    - gint
    - gpointer
    constantsTouched: []
    func_position:
      end: 319
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 319
    functionName: on_child_exited
    functionSourceFile: /src/glib/glib/tests/spawn-multithreaded.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean on_child_exited (GPid pid,\t\t gint status,\t\t gpointer\
      \ datap) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_new
      Src: /src/glib/glib/tests/spawn-multithreaded.c:371,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-multithreaded.c:378,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-multithreaded.c:379,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/spawn-multithreaded.c:405,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/spawn-multithreaded.c:407,1
    - Dst: g_io_channel_unref
      Src: /src/glib/glib/tests/spawn-multithreaded.c:409,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/spawn-multithreaded.c:411,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/spawn-multithreaded.c:415,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/tests/spawn-multithreaded.c:359,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/spawn-multithreaded.c:374,1
    - Dst: g_spawn_async_with_pipes
      Src: /src/glib/glib/tests/spawn-multithreaded.c:381,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/spawn-multithreaded.c:404,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/tests/spawn-multithreaded.c:410,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/spawn-multithreaded.c:376,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-multithreaded.c:377,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/tests/spawn-multithreaded.c:384,1
    - Dst: g_io_channel_unix_new
      Src: /src/glib/glib/tests/spawn-multithreaded.c:396,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/spawn-multithreaded.c:393,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/spawn-multithreaded.c:399,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/spawn-multithreaded.c:402,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/spawn-multithreaded.c:406,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-multithreaded.c:413,1
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/spawn-multithreaded.c:372,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-multithreaded.c:383,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/spawn-multithreaded.c:394,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/spawn-multithreaded.c:389,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/spawn-multithreaded.c:392,1
    - Dst: g_io_create_watch
      Src: /src/glib/glib/tests/spawn-multithreaded.c:397,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/spawn-multithreaded.c:398,1
    - Dst: g_child_watch_source_new
      Src: /src/glib/glib/tests/spawn-multithreaded.c:391,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/spawn-multithreaded.c:400,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 1
    argNames:
    - thread_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 416
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 416
    functionName: test_spawn_async_multithreaded_instance
    functionSourceFile: /src/glib/glib/tests/spawn-multithreaded.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_main_context_unref
    - g_source_set_callback
    - GPOINTER_TO_UINT
    - g_ptr_array_new
    - g_io_channel_unref
    - g_io_channel_unix_new
    - g_assert_true
    - g_source_attach
    - g_io_create_watch
    - g_main_context_new
    - g_source_unref
    - g_ptr_array_add
    - g_main_loop_run
    - g_child_watch_source_new
    - g_spawn_async_with_pipes
    - g_main_loop_new
    - g_assert_no_error
    - g_string_new
    - g_ptr_array_free
    - GUINT_TO_POINTER
    - g_main_loop_unref
    - g_assert_cmpstr
    - g_string_free
    - g_free
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer test_spawn_async_multithreaded_instance (gpointer
      thread_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_quit
      Src: /src/glib/glib/tests/spawn-multithreaded.c:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 155
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 155
    functionName: quit_loop
    functionSourceFile: /src/glib/glib/tests/spawn-multithreaded.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean quit_loop (gpointer data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_test_message
      Src: /src/glib/glib/tests/spawn-multithreaded.c:106,1
    - Dst: g_main_loop_quit
      Src: /src/glib/glib/tests/spawn-multithreaded.c:114,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/glib/tests/spawn-multithreaded.c:111,1
    - Dst: g_main_loop_quit
      Src: /src/glib/glib/tests/spawn-multithreaded.c:112,1
    - Dst: g_spawn_close_pid
      Src: /src/glib/glib/tests/spawn-multithreaded.c:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - pid
    - status
    - user_data
    argTypes:
    - GPid
    - gint
    - gpointer
    constantsTouched: []
    func_position:
      end: 115
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 115
    functionName: child_watch_callback
    functionSourceFile: /src/glib/glib/tests/spawn-multithreaded.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_main_loop_quit
    - g_spawn_close_pid
    - g_atomic_int_dec_and_test
    linkageType: ''
    returnType: void
    signature: 'static void child_watch_callback (GPid pid, gint status, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/spawn-multithreaded.c:209,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/spawn-multithreaded.c:212,1
    - Dst: system
      Src: /src/glib/glib/tests/spawn-multithreaded.c:212,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/spawn-multithreaded.c:214,1
    - Dst: system
      Src: /src/glib/glib/tests/spawn-multithreaded.c:214,1
    - Dst: g_timeout_add_seconds
      Src: /src/glib/glib/tests/spawn-multithreaded.c:218,1
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/spawn-multithreaded.c:223,1
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/spawn-multithreaded.c:228,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/spawn-multithreaded.c:230,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/spawn-multithreaded.c:231,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/spawn-multithreaded.c:234,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/spawn-multithreaded.c:234,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/spawn-multithreaded.c:236,1
    - Dst: g_source_remove
      Src: /src/glib/glib/tests/spawn-multithreaded.c:232,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/spawn-multithreaded.c:236,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/spawn-multithreaded.c:237,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/spawn-multithreaded.c:237,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 238
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 238
    functionName: test_spawn_childs_threads
    functionSourceFile: /src/glib/glib/tests/spawn-multithreaded.c
    functionUses: []
    functionsReached:
    - system
    - g_steal_pointer
    - g_main_loop_run
    - g_atomic_int_get
    - g_timeout_add_seconds
    - g_main_loop_unref
    - g_thread_new
    - g_main_loop_new
    - g_thread_join
    - g_assert_no_errno
    - g_source_remove
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_spawn_childs_threads (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/tests/spawn-multithreaded.c:270,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/spawn-multithreaded.c:277,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-multithreaded.c:280,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/spawn-multithreaded.c:279,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-multithreaded.c:281,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-multithreaded.c:282,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/spawn-multithreaded.c:284,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-multithreaded.c:285,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/spawn-multithreaded.c:286,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-multithreaded.c:287,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/tests/spawn-multithreaded.c:289,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-multithreaded.c:288,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/spawn-multithreaded.c:291,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 292
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 292
    functionName: test_spawn_sync_multithreaded_instance
    functionSourceFile: /src/glib/glib/tests/spawn-multithreaded.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - GPOINTER_TO_UINT
    - GUINT_TO_POINTER
    - g_assert_cmpstr
    - g_assert_no_error
    - g_spawn_sync
    - g_ptr_array_free
    - g_ptr_array_new
    - g_free
    - g_ptr_array_add
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer test_spawn_sync_multithreaded_instance (gpointer data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_io_channel_read_chars
      Src: /src/glib/glib/tests/spawn-multithreaded.c:333,1
    - Dst: g_main_loop_quit
      Src: /src/glib/glib/tests/spawn-multithreaded.c:351,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/tests/spawn-multithreaded.c:342,1
    - Dst: g_error
      Src: /src/glib/glib/tests/spawn-multithreaded.c:347,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/tests/spawn-multithreaded.c:336,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 3
    argNames:
    - channel
    - condition
    - datap
    argTypes:
    - GIOChannel*
    - GIOCondition
    - gpointer
    constantsTouched: []
    func_position:
      end: 354
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 354
    functionName: on_child_stdout
    functionSourceFile: /src/glib/glib/tests/spawn-multithreaded.c
    functionUses: []
    functionsReached:
    - g_string_append_len
    - g_error
    - g_main_loop_quit
    - g_io_channel_read_chars
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean on_child_stdout (GIOChannel *channel,\t\t GIOCondition\
      \ condition,\t\t gpointer datap) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: multithreaded_test_run
      Src: /src/glib/glib/tests/spawn-multithreaded.c:421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 422
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 422
    functionName: test_spawn_async_multithreaded
    functionSourceFile: /src/glib/glib/tests/spawn-multithreaded.c
    functionUses: []
    functionsReached:
    - multithreaded_test_run
    linkageType: ''
    returnType: void
    signature: 'static void test_spawn_async_multithreaded (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/spawn-multithreaded.c:431,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/spawn-multithreaded.c:436,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/spawn-multithreaded.c:436,1
    - Dst: g_path_get_dirname
      Src: /src/glib/glib/tests/spawn-multithreaded.c:433,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/spawn-multithreaded.c:434,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/spawn-multithreaded.c:438,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/spawn-multithreaded.c:439,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/spawn-multithreaded.c:439,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/spawn-multithreaded.c:442,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/spawn-multithreaded.c:444,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-multithreaded.c:451,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/spawn-multithreaded.c:447,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/spawn-multithreaded.c:449,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/spawn-multithreaded.c:445,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/spawn-multithreaded.c:446,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-multithreaded.c:454,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 458
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 458
    functionName: main
    functionSourceFile: /src/glib/glib/tests/spawn-multithreaded.c
    functionUses: []
    functionsReached:
    - g_path_get_dirname
    - g_test_add_func
    - g_assert
    - g_test_run
    - g_free
    - g_clear_pointer
    - g_build_filename
    - g_file_test
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_dir_open
      Src: /src/glib/glib/tests/dir.c:11,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/dir.c:18,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/dir.c:19,1
    - Dst: g_dir_read_name
      Src: /src/glib/glib/tests/dir.c:15,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/dir.c:12,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/dir.c:20,1
    - Dst: g_dir_rewind
      Src: /src/glib/glib/tests/dir.c:23,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/dir.c:24,1
    - Dst: g_dir_read_name
      Src: /src/glib/glib/tests/dir.c:24,1
    - Dst: g_free
      Src: /src/glib/glib/tests/dir.c:26,1
    - Dst: g_dir_close
      Src: /src/glib/glib/tests/dir.c:27,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 28
      start: 2
    functionDepth: 0
    functionLinenumber: 2
    functionLinenumberEnd: 28
    functionName: test_dir_read
    functionSourceFile: /src/glib/glib/tests/dir.c
    functionUses: []
    functionsReached:
    - g_dir_open
    - g_strdup
    - g_assert_cmpstr
    - g_dir_read_name
    - g_assert_no_error
    - g_dir_rewind
    - g_free
    - g_dir_close
    linkageType: ''
    returnType: void
    signature: 'static void test_dir_read (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/dir.c:49,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/dir.c:53,1
    - Dst: g_dir_ref
      Src: /src/glib/glib/tests/dir.c:55,1
    - Dst: g_dir_open
      Src: /src/glib/glib/tests/dir.c:52,1
    - Dst: g_dir_close
      Src: /src/glib/glib/tests/dir.c:56,1
    - Dst: g_dir_unref
      Src: /src/glib/glib/tests/dir.c:57,1
    - Dst: g_dir_open
      Src: /src/glib/glib/tests/dir.c:61,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/dir.c:62,1
    - Dst: g_dir_unref
      Src: /src/glib/glib/tests/dir.c:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 64
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 64
    functionName: test_dir_refcounting
    functionSourceFile: /src/glib/glib/tests/dir.c
    functionUses: []
    functionsReached:
    - g_dir_open
    - g_test_summary
    - g_dir_ref
    - g_assert_no_error
    - g_dir_unref
    - g_dir_close
    linkageType: ''
    returnType: void
    signature: 'static void test_dir_refcounting (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dir_open
      Src: /src/glib/glib/tests/dir.c:37,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/dir.c:39,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/dir.c:40,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/dir.c:38,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: test_dir_nonexisting
    functionSourceFile: /src/glib/glib/tests/dir.c
    functionUses: []
    functionsReached:
    - g_dir_open
    - g_error_free
    - g_assert
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_dir_nonexisting (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/dir.c:69,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/dir.c:73,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/dir.c:75,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/dir.c:71,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/dir.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 76
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 76
    functionName: main
    functionSourceFile: /src/glib/glib/tests/dir.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_relation_insert
      Src: /src/glib/glib/tests/relation.c:77,1
    - Dst: g_relation_index
      Src: /src/glib/glib/tests/relation.c:68,1
    - Dst: g_relation_exists
      Src: /src/glib/glib/tests/relation.c:90,1
    - Dst: g_relation_count
      Src: /src/glib/glib/tests/relation.c:95,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/relation.c:101,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/relation.c:102,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/relation.c:103,1
    - Dst: g_relation_delete
      Src: /src/glib/glib/tests/relation.c:105,1
    - Dst: g_relation_count
      Src: /src/glib/glib/tests/relation.c:107,1
    - Dst: g_relation_count
      Src: /src/glib/glib/tests/relation.c:108,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/relation.c:115,1
    - Dst: g_relation_new
      Src: /src/glib/glib/tests/relation.c:66,1
    - Dst: g_relation_exists
      Src: /src/glib/glib/tests/relation.c:83,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/relation.c:84,1
    - Dst: g_relation_exists
      Src: /src/glib/glib/tests/relation.c:84,1
    - Dst: g_relation_exists
      Src: /src/glib/glib/tests/relation.c:89,1
    - Dst: g_relation_count
      Src: /src/glib/glib/tests/relation.c:99,1
    - Dst: g_relation_count
      Src: /src/glib/glib/tests/relation.c:101,1
    - Dst: g_relation_count
      Src: /src/glib/glib/tests/relation.c:109,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/relation.c:113,1
    - Dst: g_relation_exists
      Src: /src/glib/glib/tests/relation.c:115,1
    - Dst: g_relation_destroy
      Src: /src/glib/glib/tests/relation.c:120,1
    - Dst: g_relation_index
      Src: /src/glib/glib/tests/relation.c:69,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/relation.c:82,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/relation.c:90,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/relation.c:95,1
    - Dst: g_relation_count
      Src: /src/glib/glib/tests/relation.c:96,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/relation.c:89,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/relation.c:99,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/relation.c:107,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/relation.c:108,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/relation.c:109,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/relation.c:117,1
    - Dst: g_relation_insert
      Src: /src/glib/glib/tests/relation.c:76,1
    - Dst: g_relation_exists
      Src: /src/glib/glib/tests/relation.c:82,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/relation.c:83,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/relation.c:96,1
    - Dst: g_relation_count
      Src: /src/glib/glib/tests/relation.c:102,1
    - Dst: g_relation_count
      Src: /src/glib/glib/tests/relation.c:103,1
    - Dst: g_relation_delete
      Src: /src/glib/glib/tests/relation.c:116,1
    - Dst: g_relation_exists
      Src: /src/glib/glib/tests/relation.c:117,1
    - Dst: g_tuples_destroy
      Src: /src/glib/glib/tests/relation.c:119,1
    - Dst: g_relation_select
      Src: /src/glib/glib/tests/relation.c:111,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 101
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 121
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 121
    functionName: test_relation
    functionSourceFile: /src/glib/glib/tests/relation.c
    functionUses: []
    functionsReached:
    - g_relation_select
    - g_relation_destroy
    - g_relation_new
    - g_relation_exists
    - g_assert_true
    - g_relation_index
    - g_relation_insert
    - g_assert_false
    - g_relation_delete
    - g_tuples_destroy
    - g_relation_count
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_relation (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/relation.c:127,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/relation.c:129,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/relation.c:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 132
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 132
    functionName: main
    functionSourceFile: /src/glib/glib/tests/relation.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PRIVATE_INIT
      Src: /src/glib/glib/tests/private.c:38,1
    - Dst: g_private_set
      Src: /src/glib/glib/tests/private.c:44,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/private.c:44,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/private.c:42,1
    - Dst: g_private_get
      Src: /src/glib/glib/tests/private.c:41,1
    - Dst: g_private_get
      Src: /src/glib/glib/tests/private.c:45,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/private.c:46,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/private.c:46,1
    - Dst: g_private_set
      Src: /src/glib/glib/tests/private.c:48,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/private.c:48,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/private.c:50,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/private.c:50,1
    - Dst: g_private_get
      Src: /src/glib/glib/tests/private.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 51
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 51
    functionName: test_private1
    functionSourceFile: /src/glib/glib/tests/private.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_assert
    - g_private_set
    - g_private_get
    - G_PRIVATE_INIT
    - GINT_TO_POINTER
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_private1 (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/private.c:66,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/private.c:75,1
    - Dst: g_private_set
      Src: /src/glib/glib/tests/private.c:73,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/private.c:74,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/private.c:73,1
    - Dst: g_private_get
      Src: /src/glib/glib/tests/private.c:75,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/private.c:76,1
    - Dst: g_thread_exit
      Src: /src/glib/glib/tests/private.c:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 83
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 83
    functionName: private2_func
    functionSourceFile: /src/glib/glib/tests/private.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_private_set
    - g_usleep
    - g_private_get
    - GINT_TO_POINTER
    - g_thread_exit
    - g_assert_cmpint
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer private2_func (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/tests/private.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: private2_destroy
    functionSourceFile: /src/glib/glib/tests/private.c
    functionUses: []
    functionsReached:
    - g_atomic_int_inc
    linkageType: ''
    returnType: void
    signature: 'static void private2_destroy (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_static_private_get
      Src: /src/glib/glib/tests/private.c:174,1
    - Dst: g_static_private_set
      Src: /src/glib/glib/tests/private.c:177,1
    - Dst: g_static_private_get
      Src: /src/glib/glib/tests/private.c:178,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/private.c:175,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/private.c:177,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/private.c:179,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/private.c:179,1
    - Dst: g_static_private_set
      Src: /src/glib/glib/tests/private.c:181,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/private.c:181,1
    - Dst: g_static_private_get
      Src: /src/glib/glib/tests/private.c:182,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/private.c:183,1
    - Dst: g_static_private_get
      Src: /src/glib/glib/tests/private.c:187,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/private.c:188,1
    - Dst: g_static_private_free
      Src: /src/glib/glib/tests/private.c:185,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/private.c:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 189
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 189
    functionName: test_static_private1
    functionSourceFile: /src/glib/glib/tests/private.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_assert
    - g_static_private_get
    - g_static_private_free
    - GINT_TO_POINTER
    - g_static_private_set
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_static_private1 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 197
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 197
    functionName: sp2_destroy
    functionSourceFile: /src/glib/glib/tests/private.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void sp2_destroy (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_static_private_get
      Src: /src/glib/glib/tests/private.c:218,1
    - Dst: g_static_private_get
      Src: /src/glib/glib/tests/private.c:223,1
    - Dst: g_static_private_set
      Src: /src/glib/glib/tests/private.c:226,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/private.c:229,1
    - Dst: g_static_private_get
      Src: /src/glib/glib/tests/private.c:228,1
    - Dst: g_static_private_free
      Src: /src/glib/glib/tests/private.c:236,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/private.c:224,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/private.c:224,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/private.c:226,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/private.c:234,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/private.c:222,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/private.c:232,1
    - Dst: g_static_private_set
      Src: /src/glib/glib/tests/private.c:231,1
    - Dst: g_static_private_get
      Src: /src/glib/glib/tests/private.c:233,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/private.c:234,1
    - Dst: g_static_private_get
      Src: /src/glib/glib/tests/private.c:238,1
    - Dst: g_static_private_init
      Src: /src/glib/glib/tests/private.c:216,1
    - Dst: g_static_private_set
      Src: /src/glib/glib/tests/private.c:221,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/private.c:221,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/private.c:219,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/private.c:231,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/private.c:229,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/private.c:227,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/private.c:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 240
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 240
    functionName: test_static_private2
    functionSourceFile: /src/glib/glib/tests/private.c
    functionUses: []
    functionsReached:
    - g_static_private_init
    - GPOINTER_TO_INT
    - g_assert
    - g_static_private_get
    - g_static_private_free
    - GINT_TO_POINTER
    - g_static_private_set
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_static_private2 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_create
      Src: /src/glib/glib/tests/private.c:306,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/private.c:309,1
    - Dst: g_static_private_free
      Src: /src/glib/glib/tests/private.c:311,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/private.c:306,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 312
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 312
    functionName: test_static_private4
    functionSourceFile: /src/glib/glib/tests/private.c
    functionUses: []
    functionsReached:
    - g_thread_create
    - GINT_TO_POINTER
    - g_static_private_free
    - g_thread_join
    linkageType: ''
    returnType: void
    signature: 'static void test_static_private4 (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/tests/private.c:327,1
    - Dst: g_static_private_set
      Src: /src/glib/glib/tests/private.c:329,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/private.c:331,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/tests/private.c:335,1
    - Dst: g_cond_wait
      Src: /src/glib/glib/tests/private.c:338,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/private.c:341,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/private.c:333,1
    - Dst: g_cond_signal
      Src: /src/glib/glib/tests/private.c:337,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/private.c:342,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/tests/private.c:336,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/private.c:323,1
    - Dst: g_static_private_get
      Src: /src/glib/glib/tests/private.c:326,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/private.c:329,1
    - Dst: g_static_private_get
      Src: /src/glib/glib/tests/private.c:330,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/private.c:334,1
    - Dst: g_static_private_get
      Src: /src/glib/glib/tests/private.c:343,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/private.c:339,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/private.c:331,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/private.c:344,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 347
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 347
    functionName: sp5_func
    functionSourceFile: /src/glib/glib/tests/private.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_printerr
    - g_mutex_unlock
    - g_mutex_lock
    - g_assert
    - g_test_verbose
    - g_static_private_get
    - g_cond_signal
    - GINT_TO_POINTER
    - g_atomic_int_inc
    - g_static_private_set
    - g_cond_wait
    - g_assert_cmpint
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer sp5_func (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/tests/private.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: private3_free
    functionSourceFile: /src/glib/glib/tests/private.c
    functionUses: []
    functionsReached:
    - g_assert
    linkageType: ''
    returnType: void
    signature: 'static void private3_free (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PRIVATE_INIT
      Src: /src/glib/glib/tests/private.c:131,1
    - Dst: g_private_set
      Src: /src/glib/glib/tests/private.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: private3_func
    functionSourceFile: /src/glib/glib/tests/private.c
    functionUses: []
    functionsReached:
    - g_private_set
    - G_PRIVATE_INIT
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer #endif private3_func (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/private.c:202,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/private.c:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 205
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 205
    functionName: sp2_destroy2
    functionSourceFile: /src/glib/glib/tests/private.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void sp2_destroy2 (gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/private.c:278,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/private.c:285,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/private.c:287,1
    - Dst: g_static_private_set
      Src: /src/glib/glib/tests/private.c:285,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/private.c:286,1
    - Dst: g_static_private_get
      Src: /src/glib/glib/tests/private.c:287,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/private.c:288,1
    - Dst: g_thread_exit
      Src: /src/glib/glib/tests/private.c:292,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 295
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 295
    functionName: sp4_func
    functionSourceFile: /src/glib/glib/tests/private.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_static_private_get
    - g_usleep
    - GINT_TO_POINTER
    - g_thread_exit
    - g_static_private_set
    - g_assert_cmpint
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer sp4_func (gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_set
      Src: /src/glib/glib/tests/private.c:355,1
    - Dst: g_thread_create
      Src: /src/glib/glib/tests/private.c:358,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/private.c:361,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/private.c:358,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/tests/private.c:360,1
    - Dst: g_cond_wait
      Src: /src/glib/glib/tests/private.c:362,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/private.c:364,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/private.c:365,1
    - Dst: g_static_private_free
      Src: /src/glib/glib/tests/private.c:367,1
    - Dst: g_cond_broadcast
      Src: /src/glib/glib/tests/private.c:369,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/private.c:370,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/private.c:373,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 374
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 374
    functionName: test_static_private5
    functionSourceFile: /src/glib/glib/tests/private.c
    functionUses: []
    functionsReached:
    - g_printerr
    - g_thread_create
    - g_atomic_int_get
    - g_mutex_lock
    - g_cond_broadcast
    - g_test_verbose
    - g_mutex_unlock
    - g_static_private_free
    - g_atomic_int_set
    - GINT_TO_POINTER
    - g_thread_join
    - g_cond_wait
    linkageType: ''
    returnType: void
    signature: 'static void test_static_private5 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/private.c:379,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/private.c:382,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/private.c:383,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/private.c:381,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/private.c:384,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/private.c:385,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/private.c:386,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/private.c:387,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/private.c:388,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/private.c:390,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 391
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 391
    functionName: main
    functionSourceFile: /src/glib/glib/tests/private.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_private_set
      Src: /src/glib/glib/tests/private.c:98,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/private.c:98,1
    - Dst: g_thread_create
      Src: /src/glib/glib/tests/private.c:102,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/private.c:99,1
    - Dst: g_private_replace
      Src: /src/glib/glib/tests/private.c:99,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/private.c:102,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/private.c:105,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/private.c:107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 108
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 108
    functionName: test_private2
    functionSourceFile: /src/glib/glib/tests/private.c
    functionUses: []
    functionsReached:
    - g_thread_create
    - g_private_set
    - g_private_replace
    - GINT_TO_POINTER
    - g_thread_join
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_private2 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/tests/private.c:141,1
    - Dst: _beginthreadex
      Src: /src/glib/glib/tests/private.c:147,1
    - Dst: WaitForSingleObject
      Src: /src/glib/glib/tests/private.c:148,1
    - Dst: pthread_create
      Src: /src/glib/glib/tests/private.c:155,1
    - Dst: CloseHandle
      Src: /src/glib/glib/tests/private.c:149,1
    - Dst: pthread_join
      Src: /src/glib/glib/tests/private.c:156,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/private.c:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 160
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 160
    functionName: test_private3
    functionSourceFile: /src/glib/glib/tests/private.c
    functionUses: []
    functionsReached:
    - pthread_create
    - pthread_join
    - g_assert
    - WaitForSingleObject
    - _beginthreadex
    - CloseHandle
    linkageType: ''
    returnType: void
    signature: 'static void test_private3 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_static_private_init
      Src: /src/glib/glib/tests/private.c:251,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/private.c:254,1
    - Dst: g_static_private_get
      Src: /src/glib/glib/tests/private.c:253,1
    - Dst: g_static_private_set
      Src: /src/glib/glib/tests/private.c:256,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/private.c:256,1
    - Dst: g_static_private_get
      Src: /src/glib/glib/tests/private.c:257,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/private.c:258,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/private.c:258,1
    - Dst: g_static_private_free
      Src: /src/glib/glib/tests/private.c:260,1
    - Dst: g_static_private_init
      Src: /src/glib/glib/tests/private.c:261,1
    - Dst: g_static_private_get
      Src: /src/glib/glib/tests/private.c:263,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/private.c:264,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/private.c:266,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/private.c:268,1
    - Dst: g_static_private_set
      Src: /src/glib/glib/tests/private.c:266,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/private.c:268,1
    - Dst: g_static_private_get
      Src: /src/glib/glib/tests/private.c:267,1
    - Dst: g_static_private_free
      Src: /src/glib/glib/tests/private.c:270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 271
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 271
    functionName: test_static_private3
    functionSourceFile: /src/glib/glib/tests/private.c
    functionUses: []
    functionsReached:
    - g_static_private_init
    - GPOINTER_TO_INT
    - g_assert
    - g_static_private_get
    - g_static_private_free
    - GINT_TO_POINTER
    - g_static_private_set
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_static_private3 (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_convert
      Src: /src/glib/glib/tests/convert.c:45,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:53,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:52,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/convert.c:51,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/convert.c:54,1
    - Dst: g_free
      Src: /src/glib/glib/tests/convert.c:55,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 56
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 56
    functionName: test_iconv_state
    functionSourceFile: /src/glib/glib/tests/convert.c
    functionUses: []
    functionsReached:
    - g_assert_cmpstr
    - g_assert_no_error
    - g_convert
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_iconv_state (void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/tests/convert.c:308,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:315,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/tests/convert.c:314,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:318,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:321,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/convert.c:325,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:334,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:336,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/convert.c:346,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/convert.c:354,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:359,1
    - Dst: g_free
      Src: /src/glib/glib/tests/convert.c:323,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:335,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:343,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/convert.c:339,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:345,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/convert.c:350,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:357,1
    - Dst: g_free
      Src: /src/glib/glib/tests/convert.c:368,1
    - Dst: strlen
      Src: /src/glib/glib/tests/convert.c:310,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:316,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:344,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/convert.c:333,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:349,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:364,1
    - Dst: g_free
      Src: /src/glib/glib/tests/convert.c:367,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:317,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/tests/convert.c:329,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:338,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:348,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:355,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:356,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:362,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/convert.c:361,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 76
    argCount: 5
    argNames:
    - utf8
    - utf8_len
    - utf16
    - utf16_len
    - error_pos
    argTypes:
    - char*
    - gsize
    - gunichar2*
    - glong
    - glong
    constantsTouched: []
    func_position:
      end: 369
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 369
    functionName: check_utf8_to_utf16
    functionSourceFile: /src/glib/glib/tests/convert.c
    functionUses: []
    functionsReached:
    - strlen
    - g_utf8_to_utf16
    - g_assert
    - g_assert_no_error
    - g_error_free
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: "static void check_utf8_to_utf16 (const char *utf8,\t\t gsize utf8_len,\t\
      \t const gunichar2 *utf16,\t\t glong utf16_len,\t\t glong error_pos) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_filename_display_basename
      Src: /src/glib/glib/tests/convert.c:684,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/convert.c:685,1
    - Dst: g_free
      Src: /src/glib/glib/tests/convert.c:687,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 688
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 688
    functionName: test_filename_display
    functionSourceFile: /src/glib/glib/tests/convert.c
    functionUses: []
    functionsReached:
    - g_filename_display_basename
    - g_free
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void test_filename_display (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_setenv
      Src: /src/glib/glib/tests/convert.c:839,1
    - Dst: g_get_filename_charsets
      Src: /src/glib/glib/tests/convert.c:840,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/convert.c:840,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/convert.c:845,1
    - Dst: g_filename_to_utf8
      Src: /src/glib/glib/tests/convert.c:843,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/convert.c:846,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/convert.c:847,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/convert.c:848,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 849
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 849
    functionName: test_filename_to_utf8_embedded_nul_utf8
    functionSourceFile: /src/glib/glib/tests/convert.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_assert_null
    - g_setenv
    - g_filename_to_utf8
    - g_assert_cmpuint
    - g_error_free
    - g_get_filename_charsets
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_filename_to_utf8_embedded_nul_utf8 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_convert
      Src: /src/glib/glib/tests/convert.c:943,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/convert.c:948,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:947,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 949
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 949
    functionName: test_no_conv
    functionSourceFile: /src/glib/glib/tests/convert.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_error_free
    - g_convert
    linkageType: ''
    returnType: void
    signature: 'static void test_no_conv (void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/tests/convert.c:384,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/tests/convert.c:389,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:391,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:394,1
    - Dst: g_free
      Src: /src/glib/glib/tests/convert.c:398,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:412,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:418,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:420,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/convert.c:429,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/convert.c:437,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/convert.c:396,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:410,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/convert.c:425,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:432,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:436,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:392,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/convert.c:400,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:419,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/convert.c:421,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:430,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/convert.c:433,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/convert.c:435,1
    - Dst: g_free
      Src: /src/glib/glib/tests/convert.c:441,1
    - Dst: g_free
      Src: /src/glib/glib/tests/convert.c:440,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:393,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/tests/convert.c:404,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:411,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/convert.c:408,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/convert.c:414,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:409,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/convert.c:413,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:423,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:424,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:431,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 65
    argCount: 5
    argNames:
    - utf16
    - utf16_len
    - utf8
    - utf8_len
    - error_pos
    argTypes:
    - gunichar2*
    - glong
    - char*
    - glong
    - glong
    constantsTouched: []
    func_position:
      end: 442
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 442
    functionName: check_utf16_to_utf8
    functionSourceFile: /src/glib/glib/tests/convert.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_assert_cmpstr
    - g_assert_no_error
    - g_error_free
    - g_free
    - g_utf16_to_utf8
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: "static void check_utf16_to_utf8 (const gunichar2 *utf16,\t\t glong\
      \ utf16_len,\t\t const char *utf8,\t\t glong utf8_len,\t\t glong error_pos) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/tests/convert.c:959,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/convert.c:970,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/convert.c:969,1
    - Dst: g_free
      Src: /src/glib/glib/tests/convert.c:971,1
    - Dst: g_filename_from_uri
      Src: /src/glib/glib/tests/convert.c:968,1
    - Dst: g_free
      Src: /src/glib/glib/tests/convert.c:972,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - uri
    - expected_filename
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 973
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 973
    functionName: test_filename_from_uri_helper
    functionSourceFile: /src/glib/glib/tests/convert.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_filename_from_uri
    - g_assert_cmpstr
    - g_assert_no_error
    - g_free
    linkageType: ''
    returnType: void
    signature: "static void test_filename_from_uri_helper (const gchar *uri,\t\t\t\
      \ const gchar *expected_filename) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/convert.c:819,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/convert.c:824,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/convert.c:821,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/convert.c:822,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 825
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 825
    functionName: test_filename_to_utf8_embedded_nul
    functionSourceFile: /src/glib/glib/tests/convert.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_passed
    - g_test_trap_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_filename_to_utf8_embedded_nul (void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/tests/convert.c:163,1
    - Dst: g_utf8_to_ucs4
      Src: /src/glib/glib/tests/convert.c:167,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:175,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/convert.c:192,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:194,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:180,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/convert.c:184,1
    - Dst: g_free
      Src: /src/glib/glib/tests/convert.c:182,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:176,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:203,1
    - Dst: g_free
      Src: /src/glib/glib/tests/convert.c:226,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/convert.c:220,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:218,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:161,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:177,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/convert.c:205,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:215,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:223,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:159,1
    - Dst: strlen
      Src: /src/glib/glib/tests/convert.c:169,1
    - Dst: g_utf8_to_ucs4
      Src: /src/glib/glib/tests/convert.c:173,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:174,1
    - Dst: g_utf8_to_ucs4
      Src: /src/glib/glib/tests/convert.c:188,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:197,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:202,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:204,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:207,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/convert.c:213,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:214,1
    - Dst: g_utf8_to_ucs4_fast
      Src: /src/glib/glib/tests/convert.c:156,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:158,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:193,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:195,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/convert.c:198,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/convert.c:209,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:216,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:221,1
    - Dst: g_free
      Src: /src/glib/glib/tests/convert.c:227,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:208,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 87
    argCount: 5
    argNames:
    - utf8
    - utf8_len
    - ucs4
    - ucs4_len
    - error_pos
    argTypes:
    - char*
    - gsize
    - gunichar*
    - glong
    - glong
    constantsTouched: []
    func_position:
      end: 228
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 228
    functionName: check_utf8_to_ucs4
    functionSourceFile: /src/glib/glib/tests/convert.c
    functionUses: []
    functionsReached:
    - strlen
    - g_assert
    - g_utf8_to_ucs4_fast
    - g_assert_no_error
    - g_error_free
    - g_utf8_to_ucs4
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: "static void check_utf8_to_ucs4 (const char *utf8,\t\t gsize utf8_len,\t\
      \t const gunichar *ucs4,\t\t glong ucs4_len,\t\t glong error_pos) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/convert.c:711,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/convert.c:713,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/convert.c:714,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/convert.c:716,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 717
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 717
    functionName: test_locale_to_utf8_embedded_nul
    functionSourceFile: /src/glib/glib/tests/convert.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_passed
    - g_test_trap_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_locale_to_utf8_embedded_nul (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/glib/glib/tests/convert.c:750,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/convert.c:752,1
    - Dst: g_get_charset
      Src: /src/glib/glib/tests/convert.c:752,1
    - Dst: g_locale_to_utf8
      Src: /src/glib/glib/tests/convert.c:754,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/convert.c:751,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/convert.c:756,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/convert.c:757,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/convert.c:758,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 759
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 759
    functionName: test_locale_to_utf8_embedded_nul_iconv
    functionSourceFile: /src/glib/glib/tests/convert.c
    functionUses: []
    functionsReached:
    - g_assert_null
    - g_setenv
    - g_locale_to_utf8
    - setlocale
    - g_error_free
    - g_assert_false
    - g_get_charset
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_locale_to_utf8_embedded_nul_iconv (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/glib/glib/tests/convert.c:804,1
    - Dst: g_locale_from_utf8
      Src: /src/glib/glib/tests/convert.c:808,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/convert.c:806,1
    - Dst: g_get_charset
      Src: /src/glib/glib/tests/convert.c:806,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/convert.c:805,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/convert.c:810,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/convert.c:811,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/convert.c:812,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/convert.c:813,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 814
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 814
    functionName: test_locale_from_utf8_embedded_nul_iconv
    functionSourceFile: /src/glib/glib/tests/convert.c
    functionUses: []
    functionsReached:
    - g_locale_from_utf8
    - g_assert_null
    - g_setenv
    - g_assert_cmpuint
    - setlocale
    - g_error_free
    - g_assert_false
    - g_get_charset
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_locale_from_utf8_embedded_nul_iconv (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_setenv
      Src: /src/glib/glib/tests/convert.c:863,1
    - Dst: g_get_filename_charsets
      Src: /src/glib/glib/tests/convert.c:864,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/convert.c:869,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/convert.c:864,1
    - Dst: g_filename_to_utf8
      Src: /src/glib/glib/tests/convert.c:867,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/convert.c:870,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/convert.c:871,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/convert.c:872,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 873
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 873
    functionName: test_filename_to_utf8_embedded_nul_iconv
    functionSourceFile: /src/glib/glib/tests/convert.c
    functionUses: []
    functionsReached:
    - g_assert_null
    - g_setenv
    - g_filename_to_utf8
    - g_assert_cmpuint
    - g_error_free
    - g_assert_false
    - g_get_filename_charsets
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_filename_to_utf8_embedded_nul_iconv (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_setenv
      Src: /src/glib/glib/tests/convert.c:898,1
    - Dst: g_filename_from_utf8
      Src: /src/glib/glib/tests/convert.c:902,1
    - Dst: g_get_filename_charsets
      Src: /src/glib/glib/tests/convert.c:899,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/convert.c:904,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/convert.c:899,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/convert.c:905,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/convert.c:906,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/convert.c:907,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 908
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 908
    functionName: test_filename_from_utf8_embedded_nul_utf8
    functionSourceFile: /src/glib/glib/tests/convert.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_assert_null
    - g_setenv
    - g_assert_cmpuint
    - g_filename_from_utf8
    - g_error_free
    - g_get_filename_charsets
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_filename_from_utf8_embedded_nul_utf8 (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:252,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/convert.c:260,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/convert.c:279,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/convert.c:283,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/convert.c:285,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:286,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/convert.c:287,1
    - Dst: g_free
      Src: /src/glib/glib/tests/convert.c:290,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:253,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:254,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/convert.c:256,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:270,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:274,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:281,1
    - Dst: g_ucs4_to_utf8
      Src: /src/glib/glib/tests/convert.c:243,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:251,1
    - Dst: g_ucs4_to_utf8
      Src: /src/glib/glib/tests/convert.c:249,1
    - Dst: g_free
      Src: /src/glib/glib/tests/convert.c:258,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/convert.c:271,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/convert.c:275,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:280,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:268,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:269,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:282,1
    - Dst: g_ucs4_to_utf8
      Src: /src/glib/glib/tests/convert.c:264,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:273,1
    - Dst: g_free
      Src: /src/glib/glib/tests/convert.c:291,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 5
    argNames:
    - ucs4
    - ucs4_len
    - utf8
    - utf8_len
    - error_pos
    argTypes:
    - gunichar*
    - glong
    - char*
    - glong
    - glong
    constantsTouched: []
    func_position:
      end: 292
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 292
    functionName: check_ucs4_to_utf8
    functionSourceFile: /src/glib/glib/tests/convert.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_assert_cmpstr
    - g_assert_no_error
    - g_error_free
    - g_ucs4_to_utf8
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: "static void check_ucs4_to_utf8 (const gunichar *ucs4,\t\t glong ucs4_len,\t\
      \t const char *utf8,\t\t glong utf8_len,\t\t glong error_pos) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/convert.c:764,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/convert.c:767,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/convert.c:769,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/convert.c:766,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 770
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 770
    functionName: test_locale_from_utf8_embedded_nul
    functionSourceFile: /src/glib/glib/tests/convert.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_passed
    - g_test_trap_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_locale_from_utf8_embedded_nul (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/convert.c:878,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/convert.c:881,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/convert.c:880,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/convert.c:883,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 884
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 884
    functionName: test_filename_from_utf8_embedded_nul
    functionSourceFile: /src/glib/glib/tests/convert.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_passed
    - g_test_trap_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_filename_from_utf8_embedded_nul (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_convert
      Src: /src/glib/glib/tests/convert.c:700,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/convert.c:704,1
    - Dst: g_free
      Src: /src/glib/glib/tests/convert.c:705,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/convert.c:703,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/convert.c:702,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 706
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 706
    functionName: test_convert_embedded_nul
    functionSourceFile: /src/glib/glib/tests/convert.c
    functionUses: []
    functionsReached:
    - g_assert_cmpuint
    - g_assert_no_error
    - g_convert
    - g_assert_cmpmem
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_convert_embedded_nul (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/glib/glib/tests/convert.c:782,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/convert.c:784,1
    - Dst: g_get_charset
      Src: /src/glib/glib/tests/convert.c:784,1
    - Dst: g_locale_from_utf8
      Src: /src/glib/glib/tests/convert.c:786,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/convert.c:783,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/convert.c:788,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/convert.c:789,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/convert.c:790,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/convert.c:791,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 792
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 792
    functionName: test_locale_from_utf8_embedded_nul_utf8
    functionSourceFile: /src/glib/glib/tests/convert.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_locale_from_utf8
    - g_assert_null
    - g_setenv
    - g_assert_cmpuint
    - setlocale
    - g_error_free
    - g_get_charset
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_locale_from_utf8_embedded_nul_utf8 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/convert.c:75,1
    - Dst: g_free
      Src: /src/glib/glib/tests/convert.c:79,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/convert.c:86,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:88,1
    - Dst: g_free
      Src: /src/glib/glib/tests/convert.c:103,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:101,1
    - Dst: g_convert
      Src: /src/glib/glib/tests/convert.c:81,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/convert.c:89,1
    - Dst: g_convert_with_fallback
      Src: /src/glib/glib/tests/convert.c:93,1
    - Dst: g_free
      Src: /src/glib/glib/tests/convert.c:91,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/convert.c:102,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/convert.c:78,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:76,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:87,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/convert.c:90,1
    - Dst: g_convert
      Src: /src/glib/glib/tests/convert.c:70,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:77,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:100,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/convert.c:99,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 104
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 104
    functionName: test_one_half
    functionSourceFile: /src/glib/glib/tests/convert.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_convert_with_fallback
    - g_assert_cmpstr
    - g_assert_error
    - g_assert_no_error
    - g_convert
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_one_half (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:468,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:485,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:497,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:503,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:500,1
    - Dst: g_ucs4_to_utf16
      Src: /src/glib/glib/tests/convert.c:458,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:466,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:472,1
    - Dst: g_free
      Src: /src/glib/glib/tests/convert.c:474,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/convert.c:476,1
    - Dst: g_ucs4_to_utf16
      Src: /src/glib/glib/tests/convert.c:480,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:486,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:489,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:490,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/convert.c:491,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:469,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/convert.c:487,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:496,1
    - Dst: g_free
      Src: /src/glib/glib/tests/convert.c:509,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:467,1
    - Dst: g_ucs4_to_utf16
      Src: /src/glib/glib/tests/convert.c:464,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/convert.c:495,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:484,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:498,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:505,1
    - Dst: g_free
      Src: /src/glib/glib/tests/convert.c:508,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/convert.c:502,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 63
    argCount: 5
    argNames:
    - ucs4
    - ucs4_len
    - utf16
    - utf16_len
    - error_pos
    argTypes:
    - gunichar*
    - glong
    - gunichar2*
    - glong
    - glong
    constantsTouched: []
    func_position:
      end: 510
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 510
    functionName: check_ucs4_to_utf16
    functionSourceFile: /src/glib/glib/tests/convert.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_ucs4_to_utf16
    - g_assert_no_error
    - g_error_free
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: "static void check_ucs4_to_utf16 (const gunichar *ucs4,\t\t glong ucs4_len,\t\
      \t const gunichar2 *utf16,\t\t glong utf16_len,\t\t glong error_pos) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_utf16_to_ucs4
      Src: /src/glib/glib/tests/convert.c:605,1
    - Dst: check_utf8_to_ucs4
      Src: /src/glib/glib/tests/convert.c:611,1
    - Dst: check_ucs4_to_utf8
      Src: /src/glib/glib/tests/convert.c:612,1
    - Dst: check_utf8_to_utf16
      Src: /src/glib/glib/tests/convert.c:613,1
    - Dst: check_utf16_to_utf8
      Src: /src/glib/glib/tests/convert.c:614,1
    - Dst: check_ucs4_to_utf16
      Src: /src/glib/glib/tests/convert.c:615,1
    - Dst: check_utf8_to_utf16
      Src: /src/glib/glib/tests/convert.c:624,1
    - Dst: check_utf16_to_utf8
      Src: /src/glib/glib/tests/convert.c:639,1
    - Dst: check_utf8_to_ucs4
      Src: /src/glib/glib/tests/convert.c:623,1
    - Dst: check_ucs4_to_utf8
      Src: /src/glib/glib/tests/convert.c:655,1
    - Dst: check_ucs4_to_utf16
      Src: /src/glib/glib/tests/convert.c:656,1
    - Dst: check_utf16_to_ucs4
      Src: /src/glib/glib/tests/convert.c:648,1
    - Dst: check_utf8_to_ucs4
      Src: /src/glib/glib/tests/convert.c:600,1
    - Dst: check_utf16_to_utf8
      Src: /src/glib/glib/tests/convert.c:603,1
    - Dst: check_ucs4_to_utf8
      Src: /src/glib/glib/tests/convert.c:601,1
    - Dst: check_ucs4_to_utf16
      Src: /src/glib/glib/tests/convert.c:604,1
    - Dst: check_utf8_to_utf16
      Src: /src/glib/glib/tests/convert.c:602,1
    - Dst: check_utf8_to_ucs4
      Src: /src/glib/glib/tests/convert.c:631,1
    - Dst: check_utf16_to_ucs4
      Src: /src/glib/glib/tests/convert.c:640,1
    - Dst: check_utf16_to_ucs4
      Src: /src/glib/glib/tests/convert.c:616,1
    - Dst: check_utf16_to_utf8
      Src: /src/glib/glib/tests/convert.c:647,1
    - Dst: check_utf8_to_utf16
      Src: /src/glib/glib/tests/convert.c:632,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 73
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 657
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 657
    functionName: test_unicode_conversions
    functionSourceFile: /src/glib/glib/tests/convert.c
    functionUses: []
    functionsReached:
    - check_ucs4_to_utf8
    - check_ucs4_to_utf16
    - check_utf8_to_utf16
    - check_utf16_to_ucs4
    - check_utf16_to_utf8
    - check_utf8_to_ucs4
    linkageType: ''
    returnType: void
    signature: 'static void test_unicode_conversions (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_convert
      Src: /src/glib/glib/tests/convert.c:117,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:124,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:123,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/convert.c:122,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/convert.c:125,1
    - Dst: g_free
      Src: /src/glib/glib/tests/convert.c:126,1
    - Dst: g_convert
      Src: /src/glib/glib/tests/convert.c:128,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/convert.c:133,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:134,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:135,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/convert.c:136,1
    - Dst: g_free
      Src: /src/glib/glib/tests/convert.c:137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 138
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 138
    functionName: test_byte_order
    functionSourceFile: /src/glib/glib/tests/convert.c
    functionUses: []
    functionsReached:
    - g_assert_cmpstr
    - g_assert_no_error
    - g_convert
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_byte_order (void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:553,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/convert.c:557,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/convert.c:550,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:561,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/convert.c:568,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:575,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:580,1
    - Dst: g_free
      Src: /src/glib/glib/tests/convert.c:585,1
    - Dst: g_free
      Src: /src/glib/glib/tests/convert.c:586,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/convert.c:579,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:582,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:573,1
    - Dst: g_utf16_to_ucs4
      Src: /src/glib/glib/tests/convert.c:526,1
    - Dst: g_utf16_to_ucs4
      Src: /src/glib/glib/tests/convert.c:531,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:532,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:535,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:538,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:562,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:552,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:556,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/convert.c:564,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:567,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/convert.c:542,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:554,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:551,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:574,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:577,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:533,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:534,1
    - Dst: g_free
      Src: /src/glib/glib/tests/convert.c:540,1
    - Dst: g_utf16_to_ucs4
      Src: /src/glib/glib/tests/convert.c:546,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/convert.c:563,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/convert.c:566,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/convert.c:572,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 77
    argCount: 5
    argNames:
    - utf16
    - utf16_len
    - ucs4
    - ucs4_len
    - error_pos
    argTypes:
    - gunichar2*
    - glong
    - gunichar*
    - glong
    - glong
    constantsTouched: []
    func_position:
      end: 587
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 587
    functionName: check_utf16_to_ucs4
    functionSourceFile: /src/glib/glib/tests/convert.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_assert_no_error
    - g_error_free
    - g_utf16_to_ucs4
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: "static void check_utf16_to_ucs4 (const gunichar2 *utf16,\t\t glong\
      \ utf16_len,\t\t const gunichar *ucs4,\t\t glong ucs4_len,\t\t glong error_pos) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_filename_to_utf8
      Src: /src/glib/glib/tests/convert.c:668,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/convert.c:669,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/convert.c:672,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/convert.c:671,1
    - Dst: g_filename_from_utf8
      Src: /src/glib/glib/tests/convert.c:670,1
    - Dst: g_free
      Src: /src/glib/glib/tests/convert.c:674,1
    - Dst: g_free
      Src: /src/glib/glib/tests/convert.c:675,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 676
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 676
    functionName: test_filename_utf8
    functionSourceFile: /src/glib/glib/tests/convert.c
    functionUses: []
    functionsReached:
    - g_filename_to_utf8
    - g_assert_cmpstr
    - g_filename_from_utf8
    - g_assert_no_error
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_filename_utf8 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/convert.c:1015,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/convert.c:995,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/convert.c:1009,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/convert.c:1010,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/convert.c:1011,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/convert.c:1008,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/convert.c:1012,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/convert.c:1007,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/convert.c:1006,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/convert.c:1005,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/convert.c:1004,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/convert.c:1016,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/convert.c:1018,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/convert.c:1014,1
    - Dst: g_test_init
      Src: /src/glib/glib/tests/convert.c:993,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/convert.c:997,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/convert.c:998,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/convert.c:996,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/convert.c:999,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/convert.c:1000,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/convert.c:1001,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/convert.c:1002,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/convert.c:1003,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/convert.c:1013,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1019
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 1019
    functionName: main
    functionSourceFile: /src/glib/glib/tests/convert.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/glib/glib/tests/convert.c:729,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/convert.c:730,1
    - Dst: g_get_charset
      Src: /src/glib/glib/tests/convert.c:731,1
    - Dst: g_locale_to_utf8
      Src: /src/glib/glib/tests/convert.c:733,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/convert.c:731,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/convert.c:735,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/convert.c:736,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/convert.c:737,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/convert.c:738,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 739
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 739
    functionName: test_locale_to_utf8_embedded_nul_utf8
    functionSourceFile: /src/glib/glib/tests/convert.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_assert_null
    - g_setenv
    - g_assert_cmpuint
    - g_locale_to_utf8
    - setlocale
    - g_error_free
    - g_get_charset
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_locale_to_utf8_embedded_nul_utf8 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_setenv
      Src: /src/glib/glib/tests/convert.c:922,1
    - Dst: g_filename_from_utf8
      Src: /src/glib/glib/tests/convert.c:926,1
    - Dst: g_get_filename_charsets
      Src: /src/glib/glib/tests/convert.c:923,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/convert.c:928,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/convert.c:923,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/convert.c:929,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/convert.c:930,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/convert.c:931,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 932
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 932
    functionName: test_filename_from_utf8_embedded_nul_iconv
    functionSourceFile: /src/glib/glib/tests/convert.c
    functionUses: []
    functionsReached:
    - g_assert_null
    - g_setenv
    - g_assert_cmpuint
    - g_filename_from_utf8
    - g_error_free
    - g_assert_false
    - g_get_filename_charsets
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_filename_from_utf8_embedded_nul_iconv (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_filename_from_uri_helper
      Src: /src/glib/glib/tests/convert.c:978,1
    - Dst: test_filename_from_uri_helper
      Src: /src/glib/glib/tests/convert.c:979,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 980
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 980
    functionName: test_filename_from_uri_query_is_ignored
    functionSourceFile: /src/glib/glib/tests/convert.c
    functionUses: []
    functionsReached:
    - test_filename_from_uri_helper
    linkageType: ''
    returnType: void
    signature: 'static void test_filename_from_uri_query_is_ignored (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_filename_from_uri_helper
      Src: /src/glib/glib/tests/convert.c:985,1
    - Dst: test_filename_from_uri_helper
      Src: /src/glib/glib/tests/convert.c:987,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 988
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 988
    functionName: test_filename_from_uri_fragment_is_ignored
    functionSourceFile: /src/glib/glib/tests/convert.c
    functionUses: []
    functionsReached:
    - test_filename_from_uri_helper
    linkageType: ''
    returnType: void
    signature: 'static void test_filename_from_uri_fragment_is_ignored (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/testutils.h:36,1
    - Dst: g_fsync
      Src: /src/glib/glib/tests/testutils.h:42,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/glib/tests/testutils.h:41,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/glib/tests/testutils.h:44,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/testutils.h:46,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/testutils.h:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 49
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 49
    functionName: assert_fd_was_closed
    functionSourceFile: /src/glib/glib/tests/testutils.h
    functionUses: []
    functionsReached:
    - GLIB_PRIVATE_CALL
    - g_test_undefined
    - g_fsync
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static inline void assert_fd_was_closed (int fd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_append
      Src: /src/glib/glib/tests/completion.c:54,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/completion.c:60,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/completion.c:64,1
    - Dst: g_free
      Src: /src/glib/glib/tests/completion.c:71,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/completion.c:74,1
    - Dst: g_completion_free
      Src: /src/glib/glib/tests/completion.c:92,1
    - Dst: g_completion_complete_utf8
      Src: /src/glib/glib/tests/completion.c:81,1
    - Dst: g_list_append
      Src: /src/glib/glib/tests/completion.c:52,1
    - Dst: g_list_free
      Src: /src/glib/glib/tests/completion.c:56,1
    - Dst: g_completion_complete
      Src: /src/glib/glib/tests/completion.c:58,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/completion.c:65,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/completion.c:65,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/completion.c:70,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/completion.c:75,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/completion.c:75,1
    - Dst: g_completion_complete
      Src: /src/glib/glib/tests/completion.c:78,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/completion.c:79,1
    - Dst: g_completion_set_compare
      Src: /src/glib/glib/tests/completion.c:48,1
    - Dst: g_list_append
      Src: /src/glib/glib/tests/completion.c:53,1
    - Dst: g_list_append
      Src: /src/glib/glib/tests/completion.c:51,1
    - Dst: g_completion_add_items
      Src: /src/glib/glib/tests/completion.c:55,1
    - Dst: g_free
      Src: /src/glib/glib/tests/completion.c:61,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/completion.c:60,1
    - Dst: g_completion_complete
      Src: /src/glib/glib/tests/completion.c:68,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/completion.c:70,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/completion.c:82,1
    - Dst: g_list_append
      Src: /src/glib/glib/tests/completion.c:84,1
    - Dst: g_completion_complete_utf8
      Src: /src/glib/glib/tests/completion.c:88,1
    - Dst: g_list_free
      Src: /src/glib/glib/tests/completion.c:86,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/completion.c:89,1
    - Dst: g_free
      Src: /src/glib/glib/tests/completion.c:90,1
    - Dst: g_completion_new
      Src: /src/glib/glib/tests/completion.c:47,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/completion.c:59,1
    - Dst: g_completion_complete_utf8
      Src: /src/glib/glib/tests/completion.c:63,1
    - Dst: g_free
      Src: /src/glib/glib/tests/completion.c:66,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/completion.c:69,1
    - Dst: g_completion_complete_utf8
      Src: /src/glib/glib/tests/completion.c:73,1
    - Dst: g_free
      Src: /src/glib/glib/tests/completion.c:76,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/completion.c:79,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/completion.c:82,1
    - Dst: g_completion_remove_items
      Src: /src/glib/glib/tests/completion.c:85,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/completion.c:89,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 57
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 93
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 93
    functionName: test_completion
    functionSourceFile: /src/glib/glib/tests/completion.c
    functionUses: []
    functionsReached:
    - g_completion_remove_items
    - g_list_append
    - g_completion_complete
    - g_completion_set_compare
    - g_list_length
    - g_assert_cmpstr
    - g_completion_free
    - g_list_free
    - g_completion_new
    - g_completion_complete_utf8
    - g_free
    - g_completion_add_items
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_completion (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/completion.c:99,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/completion.c:100,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/completion.c:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 103
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 103
    functionName: main
    functionSourceFile: /src/glib/glib/tests/completion.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: nothing
    functionSourceFile: /src/glib/glib/tests/max-version.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void nothing (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/max-version.c:45,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/max-version.c:48,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/max-version.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: main
    functionSourceFile: /src/glib/glib/tests/max-version.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_prepend
      Src: /src/glib/glib/tests/autoptr.c:140,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:142,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/autoptr.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 143
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 143
    functionName: test_g_list
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_null
    - g_assert_nonnull
    - g_list_prepend
    linkageType: ''
    returnType: void
    signature: 'static void test_g_list (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_new
      Src: /src/glib/glib/tests/autoptr.c:169,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: test_g_main_context
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_main_context_new
    linkageType: ''
    returnType: void
    signature: 'static void test_g_main_context (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rand_new
      Src: /src/glib/glib/tests/autoptr.c:291,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 293
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 293
    functionName: test_g_rand
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_rand_new
    linkageType: ''
    returnType: void
    signature: 'static void test_g_rand (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_usleep
      Src: /src/glib/glib/tests/autoptr.c:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 357
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 357
    functionName: mythread
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_usleep
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer mythread (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/autoptr.c:388,1
    - Dst: g_mutex_trylock
      Src: /src/glib/glib/tests/autoptr.c:388,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/autoptr.c:389,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 391
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 391
    functionName: mutex_unlocked_thread
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_mutex_trylock
    - g_mutex_unlock
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer mutex_unlocked_thread (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/autoptr.c:484,1
    - Dst: g_rw_lock_writer_trylock
      Src: /src/glib/glib/tests/autoptr.c:484,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 486
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 486
    functionName: rw_lock_cannot_take_writer_lock_thread
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_rw_lock_writer_trylock
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer rw_lock_cannot_take_writer_lock_thread (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_string
      Src: /src/glib/glib/tests/autoptr.c:611,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:612,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 613
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 613
    functionName: test_g_variant
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_variant_new_string
    - g_assert_nonnull
    linkageType: ''
    returnType: void
    signature: 'static void test_g_variant (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_array_new
      Src: /src/glib/glib/tests/autoptr.c:148,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 150
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 150
    functionName: test_g_array
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_array_new
    linkageType: ''
    returnType: void
    signature: 'static void test_g_array (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_new
      Src: /src/glib/glib/tests/autoptr.c:178,1
    - Dst: g_main_context_pusher_new
      Src: /src/glib/glib/tests/autoptr.c:184,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/autoptr.c:180,1
    - Dst: g_main_context_get_thread_default
      Src: /src/glib/glib/tests/autoptr.c:179,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:185,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/autoptr.c:188,1
    - Dst: g_main_context_get_thread_default
      Src: /src/glib/glib/tests/autoptr.c:188,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/autoptr.c:192,1
    - Dst: g_main_context_get_thread_default
      Src: /src/glib/glib/tests/autoptr.c:192,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/autoptr.c:193,1
    - Dst: g_main_context_get_thread_default
      Src: /src/glib/glib/tests/autoptr.c:193,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/tests/autoptr.c:195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 196
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 196
    functionName: test_g_main_context_pusher
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_main_context_unref
    - g_assert_nonnull
    - g_main_context_new
    - g_main_context_get_thread_default
    - g_assert_false
    - g_main_context_pusher_new
    linkageType: ''
    returnType: void
    signature: 'static void test_g_main_context_pusher (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/autoptr.c:362,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 364
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 364
    functionName: test_g_thread
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_thread_new
    linkageType: ''
    returnType: void
    signature: 'static void test_g_thread (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_init
      Src: /src/glib/glib/tests/autoptr.c:399,1
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/autoptr.c:414,1
    - Dst: G_MUTEX_AUTO_LOCK
      Src: /src/glib/glib/tests/autoptr.c:404,1
    - Dst: g_mutex_locker_new
      Src: /src/glib/glib/tests/autoptr.c:409,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:411,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/autoptr.c:415,1
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/autoptr.c:419,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/autoptr.c:420,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 421
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 421
    functionName: test_g_mutex_locker
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_mutex_init
    - g_assert_nonnull
    - g_mutex_locker_new
    - g_thread_new
    - g_thread_join
    - G_MUTEX_AUTO_LOCK
    linkageType: ''
    returnType: void
    signature: 'static void test_g_mutex_locker (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_builder_new
      Src: /src/glib/glib/tests/autoptr.c:618,1
    - Dst: g_variant_builder_init
      Src: /src/glib/glib/tests/autoptr.c:622,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/autoptr.c:622,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/autoptr.c:618,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:621,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 623
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 623
    functionName: test_g_variant_builder
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_variant_builder_init
    - g_assert_nonnull
    - G_VARIANT_TYPE
    - g_variant_builder_new
    linkageType: ''
    returnType: void
    signature: 'static void test_g_variant_builder (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_new_with_free_func
      Src: /src/glib/glib/tests/autoptr.c:735,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/tests/autoptr.c:743,1
    - Dst: g_bytes_new_with_free_func
      Src: /src/glib/glib/tests/autoptr.c:737,1
    - Dst: g_bytes_new_with_free_func
      Src: /src/glib/glib/tests/autoptr.c:736,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/tests/autoptr.c:742,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/autoptr.c:748,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/autoptr.c:749,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/autoptr.c:751,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/autoptr.c:753,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/autoptr.c:754,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 755
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 755
    functionName: test_autoslist
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_bytes_unref
    - g_slist_prepend
    - g_assert_false
    - g_bytes_new_with_free_func
    linkageType: ''
    returnType: void
    signature: 'static void test_autoslist (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/autoptr.c:437,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/glib/tests/autoptr.c:438,1
    - Dst: g_rec_mutex_trylock
      Src: /src/glib/glib/tests/autoptr.c:437,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 440
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 440
    functionName: rec_mutex_unlocked_thread
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_trylock
    - g_rec_mutex_unlock
    - g_assert_true
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer rec_mutex_unlocked_thread (gpointer data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_rec_mutex_init
      Src: /src/glib/glib/tests/autoptr.c:448,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:461,1
    - Dst: g_rec_mutex_locker_new
      Src: /src/glib/glib/tests/autoptr.c:458,1
    - Dst: G_REC_MUTEX_AUTO_LOCK
      Src: /src/glib/glib/tests/autoptr.c:453,1
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/autoptr.c:464,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/autoptr.c:465,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/autoptr.c:465,1
    - Dst: g_rec_mutex_locker_new
      Src: /src/glib/glib/tests/autoptr.c:467,1
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/autoptr.c:468,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/autoptr.c:469,1
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/autoptr.c:473,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/autoptr.c:469,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/autoptr.c:474,1
    - Dst: g_rec_mutex_clear
      Src: /src/glib/glib/tests/autoptr.c:476,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 477
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 477
    functionName: test_g_rec_mutex_locker
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_rec_mutex_init
    - g_rec_mutex_clear
    - g_assert_nonnull
    - g_thread_new
    - g_thread_join
    - g_rec_mutex_locker_new
    - G_REC_MUTEX_AUTO_LOCK
    linkageType: ''
    returnType: void
    signature: 'static void test_g_rec_mutex_locker (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new
      Src: /src/glib/glib/tests/autoptr.c:105,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 107
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionName: test_g_hash_table
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_hash_table_new
    linkageType: ''
    returnType: void
    signature: 'static void test_g_hash_table (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_sequence_new
      Src: /src/glib/glib/tests/autoptr.c:325,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 327
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 327
    functionName: test_g_sequence
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_sequence_new
    linkageType: ''
    returnType: void
    signature: 'static void test_g_sequence (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/autoptr.c:379,1
    - Dst: g_mutex_trylock
      Src: /src/glib/glib/tests/autoptr.c:379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 381
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 381
    functionName: mutex_locked_thread
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_mutex_trylock
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer mutex_locked_thread (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/autoptr.c:428,1
    - Dst: g_rec_mutex_trylock
      Src: /src/glib/glib/tests/autoptr.c:428,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 430
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 430
    functionName: rec_mutex_locked_thread
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_rec_mutex_trylock
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer rec_mutex_locked_thread (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/autoptr.c:493,1
    - Dst: g_rw_lock_reader_unlock
      Src: /src/glib/glib/tests/autoptr.c:494,1
    - Dst: g_rw_lock_reader_trylock
      Src: /src/glib/glib/tests/autoptr.c:493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 496
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 496
    functionName: rw_lock_can_take_reader_lock_thread
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_rw_lock_reader_unlock
    - g_rw_lock_reader_trylock
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer rw_lock_can_take_reader_lock_thread (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_time_zone_new_utc
      Src: /src/glib/glib/tests/autoptr.c:597,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:598,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 599
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 599
    functionName: test_g_time_zone
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_time_zone_new_utc
    - g_assert_nonnull
    linkageType: ''
    returnType: void
    signature: 'static void test_g_time_zone (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_fixed_array
      Src: /src/glib/glib/tests/autoptr.c:628,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:630,1
    - Dst: g_variant_iter_new
      Src: /src/glib/glib/tests/autoptr.c:629,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 631
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 631
    functionName: test_g_variant_iter
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_variant_new_fixed_array
    - g_variant_iter_new
    linkageType: ''
    returnType: void
    signature: 'static void test_g_variant_iter (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 694
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 694
    functionName: mark_freed
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void mark_freed (gpointer ptr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/autoptr.c:13,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/autoptr.c:32,1
    - Dst: g_malloc
      Src: /src/glib/glib/tests/autoptr.c:19,1
    - Dst: g_malloc
      Src: /src/glib/glib/tests/autoptr.c:20,1
    - Dst: g_malloc
      Src: /src/glib/glib/tests/autoptr.c:27,1
    - Dst: g_malloc
      Src: /src/glib/glib/tests/autoptr.c:37,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/autoptr.c:42,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 44
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 44
    functionName: test_autofree
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_test_skip
    - g_malloc
    - g_assert_null
    linkageType: ''
    returnType: void
    signature: 'static void test_autofree (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hmac_new
      Src: /src/glib/glib/tests/autoptr.c:112,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 114
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 114
    functionName: test_g_hmac
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_hmac_new
    linkageType: ''
    returnType: void
    signature: 'static void test_g_hmac (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_prepend
      Src: /src/glib/glib/tests/autoptr.c:333,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:335,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/autoptr.c:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 336
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 336
    functionName: test_g_slist
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_slist_prepend
    - g_assert_null
    linkageType: ''
    returnType: void
    signature: 'static void test_g_slist (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_rw_lock_writer_locker_new
      Src: /src/glib/glib/tests/autoptr.c:520,1
    - Dst: g_rw_lock_reader_trylock
      Src: /src/glib/glib/tests/autoptr.c:543,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/autoptr.c:553,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/autoptr.c:548,1
    - Dst: g_rw_lock_writer_unlock
      Src: /src/glib/glib/tests/autoptr.c:554,1
    - Dst: g_rw_lock_init
      Src: /src/glib/glib/tests/autoptr.c:504,1
    - Dst: G_RW_LOCK_WRITER_AUTO_LOCK
      Src: /src/glib/glib/tests/autoptr.c:509,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/autoptr.c:526,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/autoptr.c:529,1
    - Dst: g_rw_lock_writer_trylock
      Src: /src/glib/glib/tests/autoptr.c:553,1
    - Dst: g_rw_lock_clear
      Src: /src/glib/glib/tests/autoptr.c:556,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/autoptr.c:543,1
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/autoptr.c:539,1
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/autoptr.c:547,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:536,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/autoptr.c:540,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:522,1
    - Dst: G_RW_LOCK_READER_AUTO_LOCK
      Src: /src/glib/glib/tests/autoptr.c:515,1
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/autoptr.c:525,1
    - Dst: g_rw_lock_reader_trylock
      Src: /src/glib/glib/tests/autoptr.c:529,1
    - Dst: g_rw_lock_reader_locker_new
      Src: /src/glib/glib/tests/autoptr.c:534,1
    - Dst: g_rw_lock_reader_unlock
      Src: /src/glib/glib/tests/autoptr.c:544,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 557
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 557
    functionName: test_g_rw_lock_lockers
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - G_RW_LOCK_READER_AUTO_LOCK
    - g_rw_lock_clear
    - g_assert_true
    - g_rw_lock_init
    - g_assert_nonnull
    - g_rw_lock_reader_trylock
    - g_thread_new
    - g_rw_lock_reader_locker_new
    - g_rw_lock_writer_locker_new
    - g_assert_false
    - g_rw_lock_writer_unlock
    - g_rw_lock_reader_unlock
    - g_rw_lock_writer_trylock
    - g_thread_join
    - G_RW_LOCK_WRITER_AUTO_LOCK
    linkageType: ''
    returnType: void
    signature: 'static void test_g_rw_lock_lockers (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_tree_new
      Src: /src/glib/glib/tests/autoptr.c:604,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:605,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 606
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 606
    functionName: test_g_tree
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_tree_new
    - g_assert_nonnull
    linkageType: ''
    returnType: void
    signature: 'static void test_g_tree (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_from_data
      Src: /src/glib/glib/tests/autoptr.c:636,1
    - Dst: g_variant_dict_new
      Src: /src/glib/glib/tests/autoptr.c:638,1
    - Dst: g_variant_dict_init
      Src: /src/glib/glib/tests/autoptr.c:640,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:641,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/autoptr.c:636,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 642
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 642
    functionName: test_g_variant_dict
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_variant_dict_new
    - g_variant_new_from_data
    - g_assert_nonnull
    - g_variant_dict_init
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: void
    signature: 'static void test_g_variant_dict (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_new_with_free_func
      Src: /src/glib/glib/tests/autoptr.c:703,1
    - Dst: g_bytes_new_with_free_func
      Src: /src/glib/glib/tests/autoptr.c:705,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/tests/autoptr.c:710,1
    - Dst: g_bytes_new_with_free_func
      Src: /src/glib/glib/tests/autoptr.c:704,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/tests/autoptr.c:711,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/autoptr.c:719,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/autoptr.c:720,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/autoptr.c:722,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/autoptr.c:724,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/autoptr.c:725,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 726
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 726
    functionName: test_autolist
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_bytes_unref
    - g_list_prepend
    - g_assert_false
    - g_bytes_new_with_free_func
    linkageType: ''
    returnType: void
    signature: 'static void test_autolist (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_new_with_free_func
      Src: /src/glib/glib/tests/autoptr.c:764,1
    - Dst: g_queue_push_head
      Src: /src/glib/glib/tests/autoptr.c:771,1
    - Dst: g_bytes_new_with_free_func
      Src: /src/glib/glib/tests/autoptr.c:766,1
    - Dst: g_bytes_new_with_free_func
      Src: /src/glib/glib/tests/autoptr.c:765,1
    - Dst: g_queue_new
      Src: /src/glib/glib/tests/autoptr.c:769,1
    - Dst: g_queue_push_tail
      Src: /src/glib/glib/tests/autoptr.c:772,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/autoptr.c:777,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/autoptr.c:778,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/autoptr.c:780,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/autoptr.c:782,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/autoptr.c:783,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 784
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 784
    functionName: test_autoqueue
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_queue_push_head
    - g_queue_push_tail
    - g_bytes_unref
    - g_queue_new
    - g_assert_false
    - g_bytes_new_with_free_func
    linkageType: ''
    returnType: void
    signature: 'static void test_autoqueue (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_init
      Src: /src/glib/glib/tests/autoptr.c:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 372
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 372
    functionName: test_g_mutex
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_mutex_init
    linkageType: ''
    returnType: void
    signature: 'static void test_g_mutex (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/autoptr.c:789,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:795,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:796,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:797,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:798,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:799,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:802,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:801,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:800,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:812,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:814,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:831,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:833,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:829,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:846,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:811,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:828,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:845,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:809,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:826,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:843,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/autoptr.c:849,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:823,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:840,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:821,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:838,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:816,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:818,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:835,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:793,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:792,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:794,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:791,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:806,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:805,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:807,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:804,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:803,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:808,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:815,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:832,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:813,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:830,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:847,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:810,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:827,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:844,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:825,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:842,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:824,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:841,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:822,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:839,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:820,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:837,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:819,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:834,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:836,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/autoptr.c:817,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 60
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - gchar*
    constantsTouched: []
    func_position:
      end: 850
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 850
    functionName: main
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, gchar *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/autoptr.c:155,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 157
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 157
    functionName: test_g_ptr_array
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_ptr_array_new
    linkageType: ''
    returnType: void
    signature: 'static void test_g_ptr_array (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mapped_file_new
      Src: /src/glib/glib/tests/autoptr.c:215,1
    - Dst: g_test_get_filename
      Src: /src/glib/glib/tests/autoptr.c:215,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 217
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 217
    functionName: test_g_mapped_file
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_mapped_file_new
    - g_assert_nonnull
    - g_test_get_filename
    linkageType: ''
    returnType: void
    signature: 'static void test_g_mapped_file (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 4
    argNames:
    - context
    - element_name
    - user_data
    - error
    argTypes:
    - GMarkupParseContext*
    - gchar*
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 235
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 235
    functionName: parser_end
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void parser_end (GMarkupParseContext *context, const gchar
      *element_name, gpointer user_data, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_markup_parse_context_new
      Src: /src/glib/glib/tests/autoptr.c:245,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 249
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 249
    functionName: test_g_markup_parse_context
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_markup_parse_context_new
    linkageType: ''
    returnType: void
    signature: 'static void test_g_markup_parse_context (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/autoptr.c:306,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/autoptr.c:311,1
    - Dst: g_regex_match
      Src: /src/glib/glib/tests/autoptr.c:310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 312
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 312
    functionName: test_g_match_info
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_regex_new
    - g_regex_match
    - g_assert_not_reached
    linkageType: ''
    returnType: void
    signature: 'static void test_g_match_info (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/tests/autoptr.c:341,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 343
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 343
    functionName: test_g_string
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_string_new
    linkageType: ''
    returnType: void
    signature: 'static void test_g_string (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_cond_init
      Src: /src/glib/glib/tests/autoptr.c:584,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 585
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 585
    functionName: test_g_cond
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_cond_init
    linkageType: ''
    returnType: void
    signature: 'static void test_g_cond (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ref_string_new
      Src: /src/glib/glib/tests/autoptr.c:661,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:662,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 663
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 663
    functionName: test_refstring
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_ref_string_new
    linkageType: ''
    returnType: void
    signature: 'static void test_refstring (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_byte_array_new
      Src: /src/glib/glib/tests/autoptr.c:162,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 164
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 164
    functionName: test_g_byte_array
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_byte_array_new
    linkageType: ''
    returnType: void
    signature: 'static void test_g_byte_array (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 1
    argCount: 6
    argNames:
    - context
    - element_name
    - attribute_names
    - attribute_values
    - user_data
    - error
    argTypes:
    - GMarkupParseContext*
    - gchar*
    - gchar**
    - gchar**
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 227
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 227
    functionName: parser_start
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void parser_start (GMarkupParseContext *context, const gchar
      *element_name, const gchar **attribute_names, const gchar **attribute_values,
      gpointer user_data, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_node_new
      Src: /src/glib/glib/tests/autoptr.c:254,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 256
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 256
    functionName: test_g_node
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_node_new
    linkageType: ''
    returnType: void
    signature: 'static void test_g_node (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_scanner_new
      Src: /src/glib/glib/tests/autoptr.c:318,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 320
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 320
    functionName: test_g_scanner
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_scanner_new
    - g_assert_nonnull
    linkageType: ''
    returnType: void
    signature: 'static void test_g_scanner (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_chunk_new
      Src: /src/glib/glib/tests/autoptr.c:348,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 350
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 350
    functionName: test_g_string_chunk
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_string_chunk_new
    - g_assert_nonnull
    linkageType: ''
    returnType: void
    signature: 'static void test_g_string_chunk (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_AUTO_LOCK
      Src: /src/glib/glib/tests/autoptr.c:568,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/autoptr.c:572,1
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/autoptr.c:576,1
    - Dst: G_LOCK_NAME
      Src: /src/glib/glib/tests/autoptr.c:571,1
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/autoptr.c:571,1
    - Dst: G_LOCK_NAME
      Src: /src/glib/glib/tests/autoptr.c:576,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/autoptr.c:577,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 578
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 578
    functionName: test_g_auto_lock
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - G_LOCK_NAME
    - G_AUTO_LOCK
    - g_thread_new
    - g_thread_join
    linkageType: ''
    returnType: void
    signature: 'static void test_g_auto_lock (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_timer_new
      Src: /src/glib/glib/tests/autoptr.c:590,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:591,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 592
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 592
    functionName: test_g_timer
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_timer_new
    linkageType: ''
    returnType: void
    signature: 'static void test_g_timer (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_path_buf_new_from_path
      Src: /src/glib/glib/tests/autoptr.c:669,1
    - Dst: g_path_buf_push
      Src: /src/glib/glib/tests/autoptr.c:672,1
    - Dst: g_path_buf_push
      Src: /src/glib/glib/tests/autoptr.c:677,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/autoptr.c:679,1
    - Dst: g_path_buf_new_from_path
      Src: /src/glib/glib/tests/autoptr.c:674,1
    - Dst: g_path_buf_to_path
      Src: /src/glib/glib/tests/autoptr.c:683,1
    - Dst: g_path_buf_to_path
      Src: /src/glib/glib/tests/autoptr.c:684,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/autoptr.c:686,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 687
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 687
    functionName: test_pathbuf
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_path_buf_new_from_path
    - g_path_buf_to_path
    - g_path_buf_push
    - g_assert_cmpstr
    - g_test_skip
    linkageType: ''
    returnType: void
    signature: 'static void test_pathbuf (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_new
      Src: /src/glib/glib/tests/autoptr.c:63,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: test_g_bytes
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_bytes_new
    - g_assert_nonnull
    linkageType: ''
    returnType: void
    signature: 'static void test_g_bytes (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_async_queue_new
      Src: /src/glib/glib/tests/autoptr.c:49,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: test_g_async_queue
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_async_queue_new
    linkageType: ''
    returnType: void
    signature: 'static void test_g_async_queue (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_date_new
      Src: /src/glib/glib/tests/autoptr.c:77,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: test_g_date
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_date_new
    linkageType: ''
    returnType: void
    signature: 'static void test_g_date (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dir_open
      Src: /src/glib/glib/tests/autoptr.c:91,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: test_g_dir
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_dir_open
    - g_assert_nonnull
    linkageType: ''
    returnType: void
    signature: 'static void test_g_dir (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_io_channel_new_file
      Src: /src/glib/glib/tests/autoptr.c:125,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 127
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 127
    functionName: test_g_io_channel
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_io_channel_new_file
    linkageType: ''
    returnType: void
    signature: 'static void test_g_io_channel (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/autoptr.c:201,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 203
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 203
    functionName: test_g_main_loop
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_main_loop_new
    - g_assert_nonnull
    linkageType: ''
    returnType: void
    signature: 'static void test_g_main_loop (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/autoptr.c:261,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 263
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 263
    functionName: test_g_option_context
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_option_context_new
    linkageType: ''
    returnType: void
    signature: 'static void test_g_option_context (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_pattern_spec_new
      Src: /src/glib/glib/tests/autoptr.c:275,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 277
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 277
    functionName: test_g_pattern_spec
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_pattern_spec_new
    linkageType: ''
    returnType: void
    signature: 'static void test_g_pattern_spec (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_checksum_new
      Src: /src/glib/glib/tests/autoptr.c:70,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: test_g_checksum
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_checksum_new
    linkageType: ''
    returnType: void
    signature: 'static void test_g_checksum (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bookmark_file_new
      Src: /src/glib/glib/tests/autoptr.c:56,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: test_g_bookmark_file
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_bookmark_file_new
    linkageType: ''
    returnType: void
    signature: 'static void test_g_bookmark_file (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_new_now_utc
      Src: /src/glib/glib/tests/autoptr.c:84,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: test_g_date_time
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_date_time_new_now_utc
    linkageType: ''
    returnType: void
    signature: 'static void test_g_date_time (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_error_new_literal
      Src: /src/glib/glib/tests/autoptr.c:98,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: test_g_error
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_error_new_literal
    linkageType: ''
    returnType: void
    signature: 'static void test_g_error (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/autoptr.c:132,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 134
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 134
    functionName: test_g_key_file
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_key_file_new
    - g_assert_nonnull
    linkageType: ''
    returnType: void
    signature: 'static void test_g_key_file (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_timeout_source_new_seconds
      Src: /src/glib/glib/tests/autoptr.c:208,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 210
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 210
    functionName: test_g_source
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_timeout_source_new_seconds
    linkageType: ''
    returnType: void
    signature: 'static void test_g_source (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_group_new
      Src: /src/glib/glib/tests/autoptr.c:268,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 270
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 270
    functionName: test_g_option_group
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_option_group_new
    linkageType: ''
    returnType: void
    signature: 'static void test_g_option_group (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_queue_new
      Src: /src/glib/glib/tests/autoptr.c:282,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:284,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/autoptr.c:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 286
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 286
    functionName: test_g_queue
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_queue_new
    - g_assert_nonnull
    - g_assert_null
    linkageType: ''
    returnType: void
    signature: 'static void test_g_queue (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_regex_new
      Src: /src/glib/glib/tests/autoptr.c:298,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 301
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 301
    functionName: test_g_regex
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_regex_new
    - g_assert_nonnull
    linkageType: ''
    returnType: void
    signature: 'static void test_g_regex (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/autoptr.c:654,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:655,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 656
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 656
    functionName: test_strv
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_strsplit
    linkageType: ''
    returnType: void
    signature: 'static void test_strv (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_new
      Src: /src/glib/glib/tests/autoptr.c:647,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/autoptr.c:648,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 649
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 649
    functionName: test_g_variant_type
    functionSourceFile: /src/glib/glib/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_variant_type_new
    linkageType: ''
    returnType: void
    signature: 'static void test_g_variant_type (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_init
      Src: /src/glib/glib/tests/mutex.c:38,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/tests/mutex.c:39,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/tests/mutex.c:41,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/mutex.c:40,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/mutex.c:42,1
    - Dst: g_mutex_clear
      Src: /src/glib/glib/tests/mutex.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 44
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 44
    functionName: test_mutex1
    functionSourceFile: /src/glib/glib/tests/mutex.c
    functionUses: []
    functionsReached:
    - g_mutex_clear
    - g_mutex_init
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void test_mutex1 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_new
      Src: /src/glib/glib/tests/mutex.c:62,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/mutex.c:66,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/mutex.c:64,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/tests/mutex.c:63,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/tests/mutex.c:65,1
    - Dst: g_mutex_free
      Src: /src/glib/glib/tests/mutex.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 68
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 68
    functionName: test_mutex3
    functionSourceFile: /src/glib/glib/tests/mutex.c
    functionUses: []
    functionsReached:
    - g_mutex_free
    - g_mutex_unlock
    - g_mutex_new
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void test_mutex3 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rand_new
      Src: /src/glib/glib/tests/mutex.c:129,1
    - Dst: acquire
      Src: /src/glib/glib/tests/mutex.c:132,1
    - Dst: g_rand_int_range
      Src: /src/glib/glib/tests/mutex.c:132,1
    - Dst: g_rand_free
      Src: /src/glib/glib/tests/mutex.c:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 137
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 137
    functionName: thread_func
    functionSourceFile: /src/glib/glib/tests/mutex.c
    functionUses: []
    functionsReached:
    - acquire
    - g_rand_int_range
    - g_rand_free
    - g_rand_new
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer thread_func (gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/mutex.c:166,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/mutex.c:167,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mutex.c:173,1
    - Dst: g_thread_yield
      Src: /src/glib/glib/tests/mutex.c:175,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/tests/mutex.c:172,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/mutex.c:178,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mutex.c:179,1
    - Dst: g_mutex_trylock
      Src: /src/glib/glib/tests/mutex.c:182,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mutex.c:184,1
    - Dst: g_thread_yield
      Src: /src/glib/glib/tests/mutex.c:186,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mutex.c:190,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/mutex.c:189,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 195
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 195
    functionName: test_mutex_errno_func
    functionSourceFile: /src/glib/glib/tests/mutex.c
    functionUses: []
    functionsReached:
    - g_thread_yield
    - g_test_summary
    - g_mutex_trylock
    - g_mutex_unlock
    - g_mutex_lock
    - g_test_bug
    - g_assert_cmpint
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer test_mutex_errno_func (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_addition
      Src: /src/glib/glib/tests/mutex.c:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 242
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 242
    functionName: addition_thread
    functionSourceFile: /src/glib/glib/tests/mutex.c
    functionUses: []
    functionsReached:
    - do_addition
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer addition_thread (gpointer value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_trylock
      Src: /src/glib/glib/tests/mutex.c:76,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/mutex.c:77,1
    - Dst: g_mutex_trylock
      Src: /src/glib/glib/tests/mutex.c:80,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/mutex.c:81,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/mutex.c:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 84
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 84
    functionName: test_mutex4
    functionSourceFile: /src/glib/glib/tests/mutex.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_mutex_trylock
    - g_mutex_unlock
    linkageType: ''
    returnType: void
    signature: 'static void test_mutex4 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/glib/tests/mutex.c:51,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/mutex.c:54,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/tests/mutex.c:53,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/mutex.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: test_mutex2
    functionSourceFile: /src/glib/glib/tests/mutex.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void test_mutex2 (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_self
      Src: /src/glib/glib/tests/mutex.c:99,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/mutex.c:104,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/mutex.c:103,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/tests/mutex.c:106,1
    - Dst: g_mutex_trylock
      Src: /src/glib/glib/tests/mutex.c:101,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/mutex.c:109,1
    - Dst: g_thread_yield
      Src: /src/glib/glib/tests/mutex.c:113,1
    - Dst: g_thread_yield
      Src: /src/glib/glib/tests/mutex.c:114,1
    - Dst: g_thread_yield
      Src: /src/glib/glib/tests/mutex.c:115,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/mutex.c:117,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/mutex.c:120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - nr
    argTypes:
    - gint
    constantsTouched: []
    func_position:
      end: 121
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 121
    functionName: acquire
    functionSourceFile: /src/glib/glib/tests/mutex.c
    functionUses: []
    functionsReached:
    - g_thread_yield
    - g_printerr
    - g_mutex_trylock
    - g_mutex_unlock
    - g_mutex_lock
    - g_assert
    - g_test_verbose
    - g_thread_self
    linkageType: ''
    returnType: void
    signature: 'static void acquire (gint nr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_init
      Src: /src/glib/glib/tests/mutex.c:146,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/mutex.c:158,1
    - Dst: g_thread_create
      Src: /src/glib/glib/tests/mutex.c:149,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/mutex.c:152,1
    - Dst: g_mutex_clear
      Src: /src/glib/glib/tests/mutex.c:155,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 159
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 159
    functionName: test_mutex5
    functionSourceFile: /src/glib/glib/tests/mutex.c
    functionUses: []
    functionsReached:
    - g_mutex_init
    - g_thread_create
    - g_mutex_clear
    - g_assert
    - g_thread_join
    linkageType: ''
    returnType: void
    signature: 'static void test_mutex5 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_init
      Src: /src/glib/glib/tests/mutex.c:204,1
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/mutex.c:208,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/mutex.c:206,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/mutex.c:212,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/mutex.c:214,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 216
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 216
    functionName: test_mutex_errno
    functionSourceFile: /src/glib/glib/tests/mutex.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - g_mutex_init
    - g_thread_new
    - g_thread_join
    linkageType: ''
    returnType: void
    signature: 'static void test_mutex_errno (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/glib/tests/mutex.c:227,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/mutex.c:231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - gint*
    constantsTouched: []
    func_position:
      end: 234
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 234
    functionName: do_addition
    functionSourceFile: /src/glib/glib/tests/mutex.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean do_addition (gint *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/tests/mutex.c:247,1
    - Dst: g_thread_create
      Src: /src/glib/glib/tests/mutex.c:259,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/mutex.c:256,1
    - Dst: g_test_perf
      Src: /src/glib/glib/tests/mutex.c:254,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/mutex.c:256,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/mutex.c:262,1
    - Dst: g_atomic_int_set
      Src: /src/glib/glib/tests/mutex.c:263,1
    - Dst: addition_thread
      Src: /src/glib/glib/tests/mutex.c:264,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mutex.c:265,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/mutex.c:265,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/mutex.c:270,1
    - Dst: g_test_maximized_result
      Src: /src/glib/glib/tests/mutex.c:272,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/mutex.c:266,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 1
    argNames:
    - data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 273
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 273
    functionName: test_mutex_perf
    functionSourceFile: /src/glib/glib/tests/mutex.c
    functionUses: []
    functionsReached:
    - g_thread_create
    - addition_thread
    - g_atomic_int_get
    - g_assert
    - G_N_ELEMENTS
    - GPOINTER_TO_UINT
    - g_atomic_int_set
    - g_test_maximized_result
    - g_test_perf
    - g_thread_join
    - g_get_monotonic_time
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_mutex_perf (gconstpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/mutex.c:278,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mutex.c:282,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mutex.c:280,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mutex.c:283,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mutex.c:281,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mutex.c:284,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mutex.c:285,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/mutex.c:290,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/mutex.c:290,1
    - Dst: sprintf
      Src: /src/glib/glib/tests/mutex.c:295,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/mutex.c:300,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/mutex.c:296,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/mutex.c:296,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 301
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 301
    functionName: main
    functionSourceFile: /src/glib/glib/tests/mutex.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_add_data_func
    - GUINT_TO_POINTER
    - g_test_run
    - g_test_init
    - sprintf
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_pool_set_max_unused_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:33,1
    - Dst: g_thread_pool_get_num_unused_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:38,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/thread-pool-slow.c:35,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/thread-pool-slow.c:38,1
    - Dst: g_thread_pool_get_max_unused_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:35,1
    - Dst: g_thread_pool_stop_unused_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:40,1
    - Dst: g_thread_pool_set_max_idle_time
      Src: /src/glib/glib/tests/thread-pool-slow.c:44,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/thread-pool-slow.c:46,1
    - Dst: g_thread_pool_get_max_idle_time
      Src: /src/glib/glib/tests/thread-pool-slow.c:46,1
    - Dst: g_thread_pool_set_max_idle_time
      Src: /src/glib/glib/tests/thread-pool-slow.c:48,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/thread-pool-slow.c:50,1
    - Dst: g_thread_pool_get_max_idle_time
      Src: /src/glib/glib/tests/thread-pool-slow.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 51
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 51
    functionName: test_threadpool_functions
    functionSourceFile: /src/glib/glib/tests/thread-pool-slow.c
    functionUses: []
    functionsReached:
    - g_thread_pool_get_max_idle_time
    - g_thread_pool_set_max_unused_threads
    - g_thread_pool_set_max_idle_time
    - g_thread_pool_stop_unused_threads
    - g_thread_pool_get_num_unused_threads
    - g_thread_pool_get_max_unused_threads
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_threadpool_functions (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_pool_set_max_unused_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:99,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/thread-pool-slow.c:129,1
    - Dst: g_thread_pool_stop_unused_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:124,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/thread-pool-slow.c:106,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/thread-pool-slow.c:113,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/thread-pool-slow.c:117,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/thread-pool-slow.c:131,1
    - Dst: g_thread_pool_free
      Src: /src/glib/glib/tests/thread-pool-slow.c:132,1
    - Dst: g_thread_pool_get_num_unused_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:120,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/thread-pool-slow.c:127,1
    - Dst: g_thread_pool_get_num_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:119,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/thread-pool-slow.c:120,1
    - Dst: g_thread_pool_get_num_unused_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:129,1
    - Dst: g_thread_pool_push
      Src: /src/glib/glib/tests/thread-pool-slow.c:106,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/thread-pool-slow.c:101,1
    - Dst: g_thread_pool_new
      Src: /src/glib/glib/tests/thread-pool-slow.c:103,1
    - Dst: g_thread_pool_get_num_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:114,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/thread-pool-slow.c:119,1
    - Dst: g_thread_pool_get_num_unused_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:126,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 133
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 133
    functionName: test_threadpool_stop_unused_multiple
    functionSourceFile: /src/glib/glib/tests/thread-pool-slow.c
    functionUses: []
    functionsReached:
    - g_thread_pool_get_num_threads
    - g_thread_pool_push
    - g_thread_pool_set_max_unused_threads
    - G_N_ELEMENTS
    - GUINT_TO_POINTER
    - g_assert_cmpuint
    - g_usleep
    - g_thread_pool_free
    - g_thread_pool_stop_unused_threads
    - g_thread_pool_get_num_unused_threads
    - g_thread_pool_new
    linkageType: ''
    returnType: void
    signature: 'static void test_threadpool_stop_unused_multiple (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_pool_new
      Src: /src/glib/glib/tests/thread-pool-slow.c:159,1
    - Dst: g_thread_pool_new
      Src: /src/glib/glib/tests/thread-pool-slow.c:161,1
    - Dst: g_thread_pool_push
      Src: /src/glib/glib/tests/thread-pool-slow.c:166,1
    - Dst: g_thread_pool_new
      Src: /src/glib/glib/tests/thread-pool-slow.c:160,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/thread-pool-slow.c:166,1
    - Dst: g_thread_pool_push
      Src: /src/glib/glib/tests/thread-pool-slow.c:167,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/thread-pool-slow.c:167,1
    - Dst: g_thread_pool_push
      Src: /src/glib/glib/tests/thread-pool-slow.c:168,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/thread-pool-slow.c:168,1
    - Dst: G_LOCK
      Src: /src/glib/glib/tests/thread-pool-slow.c:170,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/tests/thread-pool-slow.c:172,1
    - Dst: g_thread_pool_free
      Src: /src/glib/glib/tests/thread-pool-slow.c:175,1
    - Dst: g_thread_pool_free
      Src: /src/glib/glib/tests/thread-pool-slow.c:176,1
    - Dst: g_thread_pool_free
      Src: /src/glib/glib/tests/thread-pool-slow.c:177,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/thread-pool-slow.c:179,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/thread-pool-slow.c:180,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 181
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 181
    functionName: test_threadpool_pools
    functionSourceFile: /src/glib/glib/tests/thread-pool-slow.c
    functionUses: []
    functionsReached:
    - g_thread_pool_push
    - G_UNLOCK
    - GUINT_TO_POINTER
    - g_thread_pool_free
    - g_thread_pool_new
    - G_LOCK
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_threadpool_pools (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/glib/tests/thread-pool-slow.c:202,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/thread-pool-slow.c:210,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/thread-pool-slow.c:215,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/thread-pool-slow.c:205,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/tests/thread-pool-slow.c:204,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/thread-pool-slow.c:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - data
    - user_data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 218
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 218
    functionName: test_threadpool_sort_entry_func
    functionSourceFile: /src/glib/glib/tests/thread-pool-slow.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_mutex_unlock
    - g_mutex_lock
    - GPOINTER_TO_UINT
    - g_usleep
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_threadpool_sort_entry_func (gpointer data, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_usleep
      Src: /src/glib/glib/tests/thread-pool-slow.c:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - data
    - user_data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 295
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 295
    functionName: test_threadpool_idle_time_entry_func
    functionSourceFile: /src/glib/glib/tests/thread-pool-slow.c
    functionUses: []
    functionsReached:
    - g_usleep
    linkageType: ''
    returnType: void
    signature: 'static void test_threadpool_idle_time_entry_func (gpointer data, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_wakeup
      Src: /src/glib/glib/tests/thread-pool-slow.c:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 319
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 319
    functionName: poll_cb
    functionSourceFile: /src/glib/glib/tests/thread-pool-slow.c
    functionUses: []
    functionsReached:
    - g_main_context_wakeup
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean poll_cb (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_pool_get_num_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:71,1
    - Dst: g_thread_pool_get_num_unused_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:72,1
    - Dst: g_thread_pool_get_num_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:84,1
    - Dst: g_thread_pool_get_num_unused_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:80,1
    - Dst: g_thread_pool_get_num_unused_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:85,1
    - Dst: g_thread_pool_set_max_unused_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:61,1
    - Dst: g_thread_pool_get_num_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:68,1
    - Dst: g_thread_pool_push
      Src: /src/glib/glib/tests/thread-pool-slow.c:65,1
    - Dst: g_thread_pool_new
      Src: /src/glib/glib/tests/thread-pool-slow.c:62,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/thread-pool-slow.c:69,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/thread-pool-slow.c:71,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/thread-pool-slow.c:72,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/thread-pool-slow.c:84,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/thread-pool-slow.c:80,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/thread-pool-slow.c:78,1
    - Dst: g_thread_pool_set_max_unused_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:82,1
    - Dst: g_thread_pool_free
      Src: /src/glib/glib/tests/thread-pool-slow.c:87,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/thread-pool-slow.c:65,1
    - Dst: g_thread_pool_stop_unused_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:75,1
    - Dst: g_thread_pool_get_num_unused_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:77,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/thread-pool-slow.c:85,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 88
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 88
    functionName: test_threadpool_stop_unused
    functionSourceFile: /src/glib/glib/tests/thread-pool-slow.c
    functionUses: []
    functionsReached:
    - g_thread_pool_get_num_threads
    - g_thread_pool_push
    - g_thread_pool_set_max_unused_threads
    - GUINT_TO_POINTER
    - g_assert_cmpuint
    - g_usleep
    - g_thread_pool_free
    - g_thread_pool_stop_unused_threads
    - g_thread_pool_get_num_unused_threads
    - g_thread_pool_new
    linkageType: ''
    returnType: void
    signature: 'static void test_threadpool_stop_unused (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/tests/thread-pool-slow.c:138,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/tests/thread-pool-slow.c:141,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/thread-pool-slow.c:143,1
    - Dst: G_LOCK
      Src: /src/glib/glib/tests/thread-pool-slow.c:145,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/thread-pool-slow.c:143,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/tests/thread-pool-slow.c:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - user_data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 150
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 150
    functionName: test_threadpool_pools_entry_func
    functionSourceFile: /src/glib/glib/tests/thread-pool-slow.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - g_random_int_range
    - G_LOCK
    - g_usleep
    linkageType: ''
    returnType: void
    signature: 'static void test_threadpool_pools_entry_func (gpointer data, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/tests/thread-pool-slow.c:188,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/tests/thread-pool-slow.c:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - a
    - b
    - user_data
    argTypes:
    - gconstpointer
    - gconstpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 192
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 192
    functionName: test_threadpool_sort_compare_func
    functionSourceFile: /src/glib/glib/tests/thread-pool-slow.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_UINT
    linkageType: ''
    returnType: gint
    signature: 'static gint test_threadpool_sort_compare_func (gconstpointer a, gconstpointer
      b, gpointer user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_pool_set_sort_function
      Src: /src/glib/glib/tests/thread-pool-slow.c:260,1
    - Dst: g_thread_pool_get_max_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:287,1
    - Dst: g_thread_pool_get_max_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:285,1
    - Dst: g_thread_pool_new
      Src: /src/glib/glib/tests/thread-pool-slow.c:251,1
    - Dst: g_thread_pool_push
      Src: /src/glib/glib/tests/thread-pool-slow.c:269,1
    - Dst: g_thread_pool_set_max_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:281,1
    - Dst: g_thread_pool_get_num_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:286,1
    - Dst: g_thread_pool_free
      Src: /src/glib/glib/tests/thread-pool-slow.c:288,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/tests/thread-pool-slow.c:223,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/thread-pool-slow.c:269,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/thread-pool-slow.c:252,1
    - Dst: g_thread_pool_set_max_unused_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:257,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/thread-pool-slow.c:268,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/thread-pool-slow.c:270,1
    - Dst: g_thread_pool_get_num_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:274,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/thread-pool-slow.c:285,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/thread-pool-slow.c:282,1
    - Dst: g_thread_pool_unprocessed
      Src: /src/glib/glib/tests/thread-pool-slow.c:275,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/thread-pool-slow.c:280,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/thread-pool-slow.c:286,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 1
    argNames:
    - data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 289
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 289
    functionName: test_threadpool_sort
    functionSourceFile: /src/glib/glib/tests/thread-pool-slow.c
    functionUses: []
    functionsReached:
    - g_thread_pool_get_num_threads
    - g_thread_pool_set_max_unused_threads
    - g_thread_pool_push
    - g_thread_pool_get_max_threads
    - g_test_message
    - GPOINTER_TO_UINT
    - GUINT_TO_POINTER
    - g_assert_cmpuint
    - g_thread_pool_set_max_threads
    - g_assert_no_error
    - g_thread_pool_free
    - GINT_TO_POINTER
    - g_thread_pool_new
    - g_random_int_range
    - g_thread_pool_set_sort_function
    - g_thread_pool_unprocessed
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_threadpool_sort (gconstpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_pool_push
      Src: /src/glib/glib/tests/thread-pool-slow.c:306,1
    - Dst: g_main_context_wakeup
      Src: /src/glib/glib/tests/thread-pool-slow.c:309,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/thread-pool-slow.c:306,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 312
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 312
    functionName: test_threadpool_idle_timeout
    functionSourceFile: /src/glib/glib/tests/thread-pool-slow.c
    functionUses: []
    functionsReached:
    - g_thread_pool_push
    - GUINT_TO_POINTER
    - g_main_context_wakeup
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean test_threadpool_idle_timeout (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_pool_set_max_idle_time
      Src: /src/glib/glib/tests/thread-pool-slow.c:340,1
    - Dst: g_thread_pool_get_max_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:342,1
    - Dst: g_thread_pool_push
      Src: /src/glib/glib/tests/thread-pool-slow.c:349,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/thread-pool-slow.c:352,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/thread-pool-slow.c:355,1
    - Dst: g_timeout_source_new
      Src: /src/glib/glib/tests/thread-pool-slow.c:362,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/thread-pool-slow.c:363,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/thread-pool-slow.c:349,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/thread-pool-slow.c:364,1
    - Dst: g_source_destroy
      Src: /src/glib/glib/tests/thread-pool-slow.c:378,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/thread-pool-slow.c:342,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/thread-pool-slow.c:344,1
    - Dst: g_thread_pool_get_max_unused_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:344,1
    - Dst: g_thread_pool_unprocessed
      Src: /src/glib/glib/tests/thread-pool-slow.c:352,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/thread-pool-slow.c:356,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/thread-pool-slow.c:377,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/thread-pool-slow.c:346,1
    - Dst: g_thread_pool_get_max_idle_time
      Src: /src/glib/glib/tests/thread-pool-slow.c:346,1
    - Dst: g_timeout_source_new
      Src: /src/glib/glib/tests/thread-pool-slow.c:354,1
    - Dst: g_thread_pool_get_num_unused_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:366,1
    - Dst: g_main_context_iteration
      Src: /src/glib/glib/tests/thread-pool-slow.c:371,1
    - Dst: g_thread_pool_get_num_unused_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:372,1
    - Dst: g_thread_pool_new
      Src: /src/glib/glib/tests/thread-pool-slow.c:332,1
    - Dst: g_thread_pool_set_max_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:338,1
    - Dst: g_thread_pool_set_max_unused_threads
      Src: /src/glib/glib/tests/thread-pool-slow.c:339,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/thread-pool-slow.c:369,1
    - Dst: g_thread_pool_unprocessed
      Src: /src/glib/glib/tests/thread-pool-slow.c:370,1
    - Dst: g_thread_pool_free
      Src: /src/glib/glib/tests/thread-pool-slow.c:375,1
    - Dst: g_source_destroy
      Src: /src/glib/glib/tests/thread-pool-slow.c:376,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/thread-pool-slow.c:379,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 45
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 380
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 380
    functionName: test_threadpool_idle_time
    functionSourceFile: /src/glib/glib/tests/thread-pool-slow.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - g_timeout_source_new
    - g_thread_pool_set_max_idle_time
    - g_thread_pool_get_num_unused_threads
    - g_thread_pool_new
    - g_thread_pool_set_max_unused_threads
    - g_source_attach
    - g_thread_pool_free
    - g_source_unref
    - g_thread_pool_get_max_threads
    - g_thread_pool_get_max_unused_threads
    - g_thread_pool_unprocessed
    - g_assert_cmpint
    - g_thread_pool_get_max_idle_time
    - g_thread_pool_push
    - g_test_message
    - g_source_destroy
    - g_thread_pool_set_max_threads
    - GUINT_TO_POINTER
    - g_main_context_iteration
    linkageType: ''
    returnType: void
    signature: 'static void test_threadpool_idle_time (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/thread-pool-slow.c:385,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/thread-pool-slow.c:388,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/thread-pool-slow.c:389,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/thread-pool-slow.c:390,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/thread-pool-slow.c:387,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/thread-pool-slow.c:390,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/thread-pool-slow.c:391,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/thread-pool-slow.c:391,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/thread-pool-slow.c:392,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/thread-pool-slow.c:393,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/thread-pool-slow.c:395,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 396
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 396
    functionName: main
    functionSourceFile: /src/glib/glib/tests/thread-pool-slow.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_add_data_func
    - GUINT_TO_POINTER
    - g_test_run
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/tests/collate.c:23,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - line
    argTypes:
    - Line*
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: clear_line
    functionSourceFile: /src/glib/glib/tests/collate.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void clear_line (Line *line) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/glib/tests/collate.c:41,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: compare_key
    functionSourceFile: /src/glib/glib/tests/collate.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'static int compare_key (const void *a, const void *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_collate
      Src: /src/glib/glib/tests/collate.c:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: test_collate
    functionSourceFile: /src/glib/glib/tests/collate.c
    functionUses: []
    functionsReached:
    - do_collate
    linkageType: ''
    returnType: void
    signature: 'static void test_collate (gconstpointer d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_collate
      Src: /src/glib/glib/tests/collate.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: test_collate_file
    functionSourceFile: /src/glib/glib/tests/collate.c
    functionUses: []
    functionsReached:
    - do_collate
    linkageType: ''
    returnType: void
    signature: 'static void test_collate_file (gconstpointer d) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/collate.c:53,1
    - Dst: g_utf8_collate_key_for_filename
      Src: /src/glib/glib/tests/collate.c:64,1
    - Dst: g_utf8_collate_key
      Src: /src/glib/glib/tests/collate.c:66,1
    - Dst: g_array_new
      Src: /src/glib/glib/tests/collate.c:57,1
    - Dst: g_array_set_clear_func
      Src: /src/glib/glib/tests/collate.c:58,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/tests/collate.c:68,1
    - Dst: qsort
      Src: /src/glib/glib/tests/collate.c:71,1
    - Dst: g_array_index
      Src: /src/glib/glib/tests/collate.c:76,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/collate.c:78,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/collate.c:80,1
    - Dst: g_array_free
      Src: /src/glib/glib/tests/collate.c:83,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - for_file
    - use_key
    - test
    argTypes:
    - gboolean
    - gboolean
    - CollateTest*
    constantsTouched: []
    func_position:
      end: 84
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 84
    functionName: do_collate
    functionSourceFile: /src/glib/glib/tests/collate.c
    functionUses: []
    functionsReached:
    - g_array_free
    - qsort
    - g_array_append_val
    - g_utf8_collate_key
    - g_array_index
    - g_assert_cmpstr
    - g_array_new
    - g_test_skip
    - g_array_set_clear_func
    - g_utf8_collate_key_for_filename
    linkageType: ''
    returnType: void
    signature: 'static void do_collate (gboolean for_file, gboolean use_key, const
      CollateTest *test) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_collate
      Src: /src/glib/glib/tests/collate.c:32,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: compare_collate
    functionSourceFile: /src/glib/glib/tests/collate.c
    functionUses: []
    functionsReached:
    - g_utf8_collate
    linkageType: ''
    returnType: int
    signature: 'static int compare_collate (const void *a, const void *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_collate
      Src: /src/glib/glib/tests/collate.c:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: test_collate_key
    functionSourceFile: /src/glib/glib/tests/collate.c
    functionUses: []
    functionsReached:
    - do_collate
    linkageType: ''
    returnType: void
    signature: 'static void test_collate_key (gconstpointer d) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/collate.c:277,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/collate.c:281,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/collate.c:283,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/collate.c:279,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/collate.c:280,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/collate.c:299,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/collate.c:301,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/collate.c:302,1
    - Dst: g_free
      Src: /src/glib/glib/tests/collate.c:303,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/collate.c:304,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/collate.c:308,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/collate.c:312,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/collate.c:305,1
    - Dst: g_free
      Src: /src/glib/glib/tests/collate.c:309,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/collate.c:307,1
    - Dst: g_free
      Src: /src/glib/glib/tests/collate.c:306,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 313
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 313
    functionName: main
    functionSourceFile: /src/glib/glib/tests/collate.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_test_add_data_func
    - g_setenv
    - g_test_message
    - G_N_ELEMENTS
    - strcmp
    - g_free
    - g_test_run
    - setlocale
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_disable_crash_reporting
      Src: /src/glib/glib/tests/assert-msg-test.c:28,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/assert-msg-test.c:30,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 32
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 32
    functionName: main
    functionSourceFile: /src/glib/glib/tests/assert-msg-test.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_test_disable_crash_reporting
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:178,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:366,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:415,1
    - Dst: g_bookmark_file_set_groups
      Src: /src/glib/glib/tests/bookmarkfile.c:454,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/bookmarkfile.c:667,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:180,1
    - Dst: g_bookmark_file_remove_item
      Src: /src/glib/glib/tests/bookmarkfile.c:208,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:282,1
    - Dst: g_bookmark_file_get_added_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:330,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:369,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:418,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:573,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:509,1
    - Dst: g_bookmark_file_to_file
      Src: /src/glib/glib/tests/bookmarkfile.c:197,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:213,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/bookmarkfile.c:242,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:258,1
    - Dst: g_bookmark_file_get_is_private
      Src: /src/glib/glib/tests/bookmarkfile.c:298,1
    - Dst: g_bookmark_file_get_application_info
      Src: /src/glib/glib/tests/bookmarkfile.c:551,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:391,1
    - Dst: g_bookmark_file_set_modified_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:346,1
    - Dst: g_bookmark_file_has_item
      Src: /src/glib/glib/tests/bookmarkfile.c:219,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:261,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:395,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:612,1
    - Dst: g_bookmark_file_get_groups
      Src: /src/glib/glib/tests/bookmarkfile.c:460,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/bookmarkfile.c:655,1
    - Dst: g_bookmark_file_add_application
      Src: /src/glib/glib/tests/bookmarkfile.c:687,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:485,1
    - Dst: g_bookmark_file_free
      Src: /src/glib/glib/tests/bookmarkfile.c:616,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:174,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:220,1
    - Dst: g_bookmark_file_set_visited_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:363,1
    - Dst: g_bookmark_file_get_application_info
      Src: /src/glib/glib/tests/bookmarkfile.c:561,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:404,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:590,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/bookmarkfile.c:620,1
    - Dst: g_bookmark_file_get_size
      Src: /src/glib/glib/tests/bookmarkfile.c:578,1
    - Dst: g_bookmark_file_get_uris
      Src: /src/glib/glib/tests/bookmarkfile.c:230,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:546,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:499,1
    - Dst: g_bookmark_file_get_description
      Src: /src/glib/glib/tests/bookmarkfile.c:254,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:303,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:317,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:390,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:504,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bookmarkfile.c:671,1
    - Dst: g_bookmark_file_load_from_data_dirs
      Src: /src/glib/glib/tests/bookmarkfile.c:185,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:240,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:320,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:477,1
    - Dst: g_bookmark_file_set_icon
      Src: /src/glib/glib/tests/bookmarkfile.c:600,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/bookmarkfile.c:699,1
    - Dst: g_bookmark_file_add_application
      Src: /src/glib/glib/tests/bookmarkfile.c:482,1
    - Dst: g_bookmark_file_get_icon
      Src: /src/glib/glib/tests/bookmarkfile.c:611,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/bookmarkfile.c:191,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:438,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:552,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:619,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/bookmarkfile.c:660,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:606,1
    - Dst: g_bookmark_file_get_applications
      Src: /src/glib/glib/tests/bookmarkfile.c:572,1
    - Dst: g_bookmark_file_get_mime_type
      Src: /src/glib/glib/tests/bookmarkfile.c:281,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:337,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:510,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:585,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:609,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/bookmarkfile.c:681,1
    - Dst: g_bookmark_file_set_added_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:314,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:326,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:334,1
    - Dst: g_bookmark_file_set_title
      Src: /src/glib/glib/tests/bookmarkfile.c:236,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:228,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/bookmarkfile.c:677,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/bookmarkfile.c:708,1
    - Dst: g_bookmark_file_set_application_info
      Src: /src/glib/glib/tests/bookmarkfile.c:540,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:288,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:530,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/bookmarkfile.c:643,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:186,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:195,1
    - Dst: g_bookmark_file_get_added_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:649,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/bookmarkfile.c:656,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:312,1
    - Dst: g_bookmark_file_get_applications
      Src: /src/glib/glib/tests/bookmarkfile.c:567,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:181,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:214,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:268,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:328,1
    - Dst: g_bookmark_file_load_from_data_dirs
      Src: /src/glib/glib/tests/bookmarkfile.c:625,1
    - Dst: g_bookmark_file_get_uris
      Src: /src/glib/glib/tests/bookmarkfile.c:642,1
    - Dst: g_bookmark_file_add_application
      Src: /src/glib/glib/tests/bookmarkfile.c:686,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:536,1
    - Dst: g_bookmark_file_to_file
      Src: /src/glib/glib/tests/bookmarkfile.c:476,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:498,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:565,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:271,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:358,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/bookmarkfile.c:379,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:525,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/bookmarkfile.c:694,1
    - Dst: g_bookmark_file_move_item
      Src: /src/glib/glib/tests/bookmarkfile.c:703,1
    - Dst: g_bookmark_file_move_item
      Src: /src/glib/glib/tests/bookmarkfile.c:707,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:293,1
    - Dst: g_bookmark_file_add_group
      Src: /src/glib/glib/tests/bookmarkfile.c:412,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:471,1
    - Dst: g_bookmark_file_move_item
      Src: /src/glib/glib/tests/bookmarkfile.c:704,1
    - Dst: g_bookmark_file_set_application_info
      Src: /src/glib/glib/tests/bookmarkfile.c:535,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:339,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:463,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:545,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:342,1
    - Dst: g_bookmark_file_load_from_data_dirs
      Src: /src/glib/glib/tests/bookmarkfile.c:390,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:531,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/bookmarkfile.c:276,1
    - Dst: g_bookmark_file_get_is_private
      Src: /src/glib/glib/tests/bookmarkfile.c:303,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:439,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:503,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/bookmarkfile.c:649,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:163,1
    - Dst: g_bookmark_file_set_mime_type
      Src: /src/glib/glib/tests/bookmarkfile.c:270,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:299,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:535,1
    - Dst: g_bookmark_file_get_visited_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:379,1
    - Dst: g_bookmark_file_remove_application
      Src: /src/glib/glib/tests/bookmarkfile.c:498,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/bookmarkfile.c:706,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:167,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:290,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:307,1
    - Dst: g_bookmark_file_remove_group
      Src: /src/glib/glib/tests/bookmarkfile.c:438,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/bookmarkfile.c:626,1
    - Dst: g_bookmark_file_add_application
      Src: /src/glib/glib/tests/bookmarkfile.c:688,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:274,1
    - Dst: g_bookmark_file_set_modified_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:336,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:538,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:466,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:556,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:582,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bookmarkfile.c:691,1
    - Dst: g_bookmark_file_get_application_info
      Src: /src/glib/glib/tests/bookmarkfile.c:698,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:249,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:175,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:692,1
    - Dst: g_unlink
      Src: /src/glib/glib/tests/bookmarkfile.c:712,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/bookmarkfile.c:384,1
    - Dst: g_bookmark_file_remove_group
      Src: /src/glib/glib/tests/bookmarkfile.c:433,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:528,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:161,1
    - Dst: g_bookmark_file_get_groups
      Src: /src/glib/glib/tests/bookmarkfile.c:465,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:672,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:698,1
    - Dst: g_bookmark_file_set_is_private
      Src: /src/glib/glib/tests/bookmarkfile.c:287,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:331,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/bookmarkfile.c:352,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:431,1
    - Dst: g_bookmark_file_remove_application
      Src: /src/glib/glib/tests/bookmarkfile.c:493,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/bookmarkfile.c:682,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/bookmarkfile.c:700,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:596,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:491,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:225,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:624,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bookmarkfile.c:703,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:707,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:406,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:202,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:224,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:192,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:301,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:310,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:445,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:520,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:704,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/bookmarkfile.c:709,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:458,1
    - Dst: g_bookmark_file_move_item
      Src: /src/glib/glib/tests/bookmarkfile.c:589,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bookmarkfile.c:638,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:570,1
    - Dst: g_bookmark_file_add_group
      Src: /src/glib/glib/tests/bookmarkfile.c:427,1
    - Dst: g_bookmark_file_move_item
      Src: /src/glib/glib/tests/bookmarkfile.c:584,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:164,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:209,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/bookmarkfile.c:661,1
    - Dst: g_bookmark_file_remove_group
      Src: /src/glib/glib/tests/bookmarkfile.c:675,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:382,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:401,1
    - Dst: g_bookmark_file_set_application_info
      Src: /src/glib/glib/tests/bookmarkfile.c:530,1
    - Dst: g_bookmark_file_add_application
      Src: /src/glib/glib/tests/bookmarkfile.c:487,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:514,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:350,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/bookmarkfile.c:648,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:604,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/bookmarkfile.c:158,1
    - Dst: g_bookmark_file_load_from_data
      Src: /src/glib/glib/tests/bookmarkfile.c:619,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:172,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:189,1
    - Dst: g_bookmark_file_has_item
      Src: /src/glib/glib/tests/bookmarkfile.c:224,1
    - Dst: g_bookmark_file_set_added_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:309,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:519,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:576,1
    - Dst: g_bookmark_file_has_group
      Src: /src/glib/glib/tests/bookmarkfile.c:406,1
    - Dst: g_bookmark_file_get_modified_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:654,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/bookmarkfile.c:678,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:243,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:515,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/bookmarkfile.c:567,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bookmarkfile.c:578,1
    - Dst: g_bookmark_file_get_modified_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:653,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/bookmarkfile.c:654,1
    - Dst: g_bookmark_file_free
      Src: /src/glib/glib/tests/bookmarkfile.c:711,1
    - Dst: g_bookmark_file_to_file
      Src: /src/glib/glib/tests/bookmarkfile.c:202,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:279,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:476,1
    - Dst: g_bookmark_file_set_application_info
      Src: /src/glib/glib/tests/bookmarkfile.c:525,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:393,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/bookmarkfile.c:621,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/bookmarkfile.c:631,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:593,1
    - Dst: g_bookmark_file_remove_item
      Src: /src/glib/glib/tests/bookmarkfile.c:213,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:246,1
    - Dst: g_bookmark_file_load_from_file
      Src: /src/glib/glib/tests/bookmarkfile.c:174,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:185,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:402,1
    - Dst: g_bookmark_file_set_groups
      Src: /src/glib/glib/tests/bookmarkfile.c:444,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:483,1
    - Dst: g_bookmark_file_get_application_info
      Src: /src/glib/glib/tests/bookmarkfile.c:556,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:263,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:442,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:472,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:266,1
    - Dst: g_bookmark_file_get_visited_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:384,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:611,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:222,1
    - Dst: g_bookmark_file_get_modified_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:352,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:396,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:562,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:675,1
    - Dst: g_bookmark_file_load_from_file
      Src: /src/glib/glib/tests/bookmarkfile.c:169,1
    - Dst: g_bookmark_file_get_visited_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:659,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:676,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/bookmarkfile.c:666,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:355,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:559,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:234,1
    - Dst: g_bookmark_file_set_mime_type
      Src: /src/glib/glib/tests/bookmarkfile.c:260,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:323,1
    - Dst: g_bookmark_file_set_application_info
      Src: /src/glib/glib/tests/bookmarkfile.c:545,1
    - Dst: g_bookmark_file_load_from_data_dirs
      Src: /src/glib/glib/tests/bookmarkfile.c:395,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:496,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:568,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:206,1
    - Dst: g_bookmark_file_remove_application
      Src: /src/glib/glib/tests/bookmarkfile.c:503,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:541,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/bookmarkfile.c:357,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:371,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:420,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:450,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/bookmarkfile.c:325,1
    - Dst: g_bookmark_file_has_group
      Src: /src/glib/glib/tests/bookmarkfile.c:401,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:197,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:304,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:374,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:423,1
    - Dst: g_bookmark_file_has_application
      Src: /src/glib/glib/tests/bookmarkfile.c:514,1
    - Dst: g_bookmark_file_get_added_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:648,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/bookmarkfile.c:653,1
    - Dst: g_bookmark_file_get_icon
      Src: /src/glib/glib/tests/bookmarkfile.c:606,1
    - Dst: g_bookmark_file_to_data
      Src: /src/glib/glib/tests/bookmarkfile.c:191,1
    - Dst: g_bookmark_file_set_added_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:319,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:380,1
    - Dst: g_bookmark_file_remove_application
      Src: /src/glib/glib/tests/bookmarkfile.c:691,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:169,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bookmarkfile.c:645,1
    - Dst: g_bookmark_file_remove_application
      Src: /src/glib/glib/tests/bookmarkfile.c:692,1
    - Dst: g_bookmark_file_set_visited_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:368,1
    - Dst: g_bookmark_file_add_group
      Src: /src/glib/glib/tests/bookmarkfile.c:417,1
    - Dst: g_bookmark_file_has_application
      Src: /src/glib/glib/tests/bookmarkfile.c:509,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:549,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:469,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:436,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:507,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:217,1
    - Dst: g_bookmark_file_get_title
      Src: /src/glib/glib/tests/bookmarkfile.c:242,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:388,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:183,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:277,1
    - Dst: g_bookmark_file_get_added_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:325,1
    - Dst: g_bookmark_file_set_visited_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:373,1
    - Dst: g_bookmark_file_add_group
      Src: /src/glib/glib/tests/bookmarkfile.c:422,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:428,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/bookmarkfile.c:627,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:480,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:488,1
    - Dst: g_bookmark_file_load_from_data_dirs
      Src: /src/glib/glib/tests/bookmarkfile.c:624,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/bookmarkfile.c:659,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:211,1
    - Dst: g_bookmark_file_set_mime_type
      Src: /src/glib/glib/tests/bookmarkfile.c:265,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:377,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:425,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:474,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:493,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:543,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:607,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:433,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:561,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:200,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:285,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/bookmarkfile.c:465,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:452,1
    - Dst: g_bookmark_file_to_data
      Src: /src/glib/glib/tests/bookmarkfile.c:630,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/bookmarkfile.c:644,1
    - Dst: g_bookmark_file_get_application_info
      Src: /src/glib/glib/tests/bookmarkfile.c:697,1
    - Dst: g_bookmark_file_load_from_data
      Src: /src/glib/glib/tests/bookmarkfile.c:163,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/bookmarkfile.c:330,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:344,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:494,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:533,1
    - Dst: g_bookmark_file_get_groups
      Src: /src/glib/glib/tests/bookmarkfile.c:665,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/bookmarkfile.c:683,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:598,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:501,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:551,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:298,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:347,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:697,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/bookmarkfile.c:460,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:219,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:540,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:526,1
    - Dst: g_bookmark_file_get_modified_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:357,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:410,1
    - Dst: g_bookmark_file_set_groups
      Src: /src/glib/glib/tests/bookmarkfile.c:449,1
    - Dst: g_bookmark_file_to_file
      Src: /src/glib/glib/tests/bookmarkfile.c:671,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:170,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:252,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/bookmarkfile.c:230,1
    - Dst: g_bookmark_file_get_mime_type
      Src: /src/glib/glib/tests/bookmarkfile.c:276,1
    - Dst: g_bookmark_file_set_modified_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:341,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:255,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:361,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:589,1
    - Dst: g_bookmark_file_get_visited_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:660,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:517,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:584,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:231,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:296,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/bookmarkfile.c:650,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/bookmarkfile.c:662,1
    - Dst: g_bookmark_file_get_groups
      Src: /src/glib/glib/tests/bookmarkfile.c:666,1
    - Dst: g_bookmark_file_get_title
      Src: /src/glib/glib/tests/bookmarkfile.c:681,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:434,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:455,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:579,1
    - Dst: g_bookmark_file_load_from_data_dirs
      Src: /src/glib/glib/tests/bookmarkfile.c:180,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/bookmarkfile.c:693,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:447,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:554,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:587,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:523,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/bookmarkfile.c:572,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:601,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:198,1
    - Dst: g_bookmark_file_set_description
      Src: /src/glib/glib/tests/bookmarkfile.c:248,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:203,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/bookmarkfile.c:281,1
    - Dst: g_bookmark_file_set_icon
      Src: /src/glib/glib/tests/bookmarkfile.c:595,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:512,1
    - Dst: g_bookmark_file_new
      Src: /src/glib/glib/tests/bookmarkfile.c:156,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:315,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:385,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/bookmarkfile.c:632,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/bookmarkfile.c:668,1
    - Dst: g_bookmark_file_remove_group
      Src: /src/glib/glib/tests/bookmarkfile.c:676,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:461,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:557,1
    - Dst: g_bookmark_file_to_file
      Src: /src/glib/glib/tests/bookmarkfile.c:471,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:208,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:237,1
    - Dst: g_bookmark_file_set_is_private
      Src: /src/glib/glib/tests/bookmarkfile.c:292,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:353,1
    - Dst: g_bookmark_file_has_application
      Src: /src/glib/glib/tests/bookmarkfile.c:519,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:407,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/bookmarkfile.c:665,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:413,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:364,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:399,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:625,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/bookmarkfile.c:705,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 394
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 713
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 713
    functionName: test_corner_cases
    functionSourceFile: /src/glib/glib/tests/bookmarkfile.c
    functionUses: []
    functionsReached:
    - g_bookmark_file_set_groups
    - g_assert_null
    - g_bookmark_file_set_is_private
    - g_bookmark_file_has_item
    - g_bookmark_file_set_mime_type
    - g_bookmark_file_get_visited_date_time
    - g_bookmark_file_has_group
    - g_bookmark_file_load_from_data
    - g_test_assert_expected_messages
    - g_assert_true
    - g_bookmark_file_set_added_date_time
    - g_unlink
    - g_bookmark_file_get_size
    - g_assert_nonnull
    - g_bookmark_file_get_application_info
    - g_bookmark_file_new
    - g_bookmark_file_has_application
    - g_assert_false
    - g_bookmark_file_move_item
    - g_assert_cmpint
    - g_bookmark_file_to_file
    - g_bookmark_file_set_visited_date_time
    - g_bookmark_file_get_groups
    - g_bookmark_file_free
    - g_bookmark_file_get_is_private
    - g_bookmark_file_get_description
    - g_bookmark_file_get_uris
    - g_test_undefined
    - g_bookmark_file_remove_group
    - g_test_expect_message
    - g_bookmark_file_set_modified_date_time
    - g_bookmark_file_load_from_data_dirs
    - g_assert_no_error
    - g_bookmark_file_to_data
    - g_bookmark_file_get_mime_type
    - g_bookmark_file_add_group
    - g_bookmark_file_get_added_date_time
    - g_bookmark_file_set_application_info
    - g_bookmark_file_load_from_file
    - g_bookmark_file_get_title
    - g_assert_error
    - g_clear_error
    - g_bookmark_file_set_icon
    - g_bookmark_file_add_application
    - g_bookmark_file_set_description
    - g_bookmark_file_remove_item
    - g_bookmark_file_get_modified_date_time
    - g_bookmark_file_get_icon
    - g_bookmark_file_get_applications
    - g_assert_cmpstr
    - g_bookmark_file_set_title
    - g_free
    - g_bookmark_file_remove_application
    linkageType: ''
    returnType: void
    signature: 'static void test_corner_cases (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bookmarkfile.c:56,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bookmarkfile.c:65,1
    - Dst: g_test_get_filename
      Src: /src/glib/glib/tests/bookmarkfile.c:75,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bookmarkfile.c:78,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bookmarkfile.c:90,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/bookmarkfile.c:93,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bookmarkfile.c:95,1
    - Dst: g_bookmark_file_free
      Src: /src/glib/glib/tests/bookmarkfile.c:97,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:77,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/tests/bookmarkfile.c:88,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/bookmarkfile.c:49,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bookmarkfile.c:44,1
    - Dst: g_bookmark_file_set_title
      Src: /src/glib/glib/tests/bookmarkfile.c:50,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bookmarkfile.c:60,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/bookmarkfile.c:69,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bookmarkfile.c:70,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:81,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/tests/bookmarkfile.c:84,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:85,1
    - Dst: remove
      Src: /src/glib/glib/tests/bookmarkfile.c:91,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bookmarkfile.c:94,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/bookmarkfile.c:43,1
    - Dst: g_bookmark_file_new
      Src: /src/glib/glib/tests/bookmarkfile.c:47,1
    - Dst: g_close
      Src: /src/glib/glib/tests/bookmarkfile.c:45,1
    - Dst: g_bookmark_file_load_from_file
      Src: /src/glib/glib/tests/bookmarkfile.c:58,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/bookmarkfile.c:64,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:68,1
    - Dst: g_bookmark_file_load_from_file
      Src: /src/glib/glib/tests/bookmarkfile.c:76,1
    - Dst: g_bookmark_file_to_file
      Src: /src/glib/glib/tests/bookmarkfile.c:80,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bookmarkfile.c:82,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bookmarkfile.c:86,1
    - Dst: g_bookmark_file_set_mime_type
      Src: /src/glib/glib/tests/bookmarkfile.c:51,1
    - Dst: g_bookmark_file_add_application
      Src: /src/glib/glib/tests/bookmarkfile.c:52,1
    - Dst: g_bookmark_file_to_file
      Src: /src/glib/glib/tests/bookmarkfile.c:54,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:55,1
    - Dst: g_bookmark_file_get_mime_type
      Src: /src/glib/glib/tests/bookmarkfile.c:67,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:63,1
    - Dst: g_bookmark_file_get_title
      Src: /src/glib/glib/tests/bookmarkfile.c:62,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:59,1
    - Dst: remove
      Src: /src/glib/glib/tests/bookmarkfile.c:72,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/bookmarkfile.c:74,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:89,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bookmarkfile.c:98,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 55
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 99
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 99
    functionName: test_to_file
    functionSourceFile: /src/glib/glib/tests/bookmarkfile.c
    functionUses: []
    functionsReached:
    - g_bookmark_file_set_mime_type
    - g_file_open_tmp
    - g_file_get_contents
    - g_assert_true
    - g_bookmark_file_new
    - g_assert_cmpint
    - g_bookmark_file_to_file
    - g_bookmark_file_free
    - g_test_message
    - g_test_get_filename
    - g_assert_no_error
    - g_bookmark_file_get_mime_type
    - g_bookmark_file_get_title
    - g_bookmark_file_load_from_file
    - g_bookmark_file_add_application
    - remove
    - g_close
    - g_assert_cmpstr
    - g_bookmark_file_set_title
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_to_file (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_real_time
      Src: /src/glib/glib/tests/bookmarkfile.c:913,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/bookmarkfile.c:928,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/bookmarkfile.c:930,1
    - Dst: g_bookmark_file_set_modified
      Src: /src/glib/glib/tests/bookmarkfile.c:933,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:935,1
    - Dst: g_bookmark_file_get_modified
      Src: /src/glib/glib/tests/bookmarkfile.c:934,1
    - Dst: g_bookmark_file_set_modified
      Src: /src/glib/glib/tests/bookmarkfile.c:938,1
    - Dst: g_bookmark_file_get_visited
      Src: /src/glib/glib/tests/bookmarkfile.c:950,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/bookmarkfile.c:960,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bookmarkfile.c:961,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bookmarkfile.c:976,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bookmarkfile.c:985,1
    - Dst: g_bookmark_file_free
      Src: /src/glib/glib/tests/bookmarkfile.c:992,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:979,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/bookmarkfile.c:990,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bookmarkfile.c:981,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:919,1
    - Dst: g_bookmark_file_set_added
      Src: /src/glib/glib/tests/bookmarkfile.c:917,1
    - Dst: g_bookmark_file_get_added
      Src: /src/glib/glib/tests/bookmarkfile.c:918,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bookmarkfile.c:920,1
    - Dst: g_bookmark_file_get_added
      Src: /src/glib/glib/tests/bookmarkfile.c:923,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bookmarkfile.c:936,1
    - Dst: g_bookmark_file_get_added
      Src: /src/glib/glib/tests/bookmarkfile.c:927,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bookmarkfile.c:929,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:940,1
    - Dst: g_bookmark_file_get_modified
      Src: /src/glib/glib/tests/bookmarkfile.c:943,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:951,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:975,1
    - Dst: g_bookmark_file_new
      Src: /src/glib/glib/tests/bookmarkfile.c:914,1
    - Dst: g_bookmark_file_set_added
      Src: /src/glib/glib/tests/bookmarkfile.c:922,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:924,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bookmarkfile.c:925,1
    - Dst: g_bookmark_file_get_modified
      Src: /src/glib/glib/tests/bookmarkfile.c:939,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bookmarkfile.c:941,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/bookmarkfile.c:946,1
    - Dst: g_bookmark_file_set_visited
      Src: /src/glib/glib/tests/bookmarkfile.c:954,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:956,1
    - Dst: g_bookmark_file_get_visited
      Src: /src/glib/glib/tests/bookmarkfile.c:959,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:966,1
    - Dst: g_bookmark_file_get_app_info
      Src: /src/glib/glib/tests/bookmarkfile.c:969,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bookmarkfile.c:980,1
    - Dst: g_bookmark_file_get_app_info
      Src: /src/glib/glib/tests/bookmarkfile.c:987,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:984,1
    - Dst: g_bookmark_file_set_app_info
      Src: /src/glib/glib/tests/bookmarkfile.c:965,1
    - Dst: g_bookmark_file_set_app_info
      Src: /src/glib/glib/tests/bookmarkfile.c:974,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/bookmarkfile.c:944,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bookmarkfile.c:945,1
    - Dst: g_bookmark_file_set_visited
      Src: /src/glib/glib/tests/bookmarkfile.c:949,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bookmarkfile.c:952,1
    - Dst: g_bookmark_file_get_visited
      Src: /src/glib/glib/tests/bookmarkfile.c:955,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bookmarkfile.c:957,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/bookmarkfile.c:962,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bookmarkfile.c:971,1
    - Dst: g_bookmark_file_get_app_info
      Src: /src/glib/glib/tests/bookmarkfile.c:983,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/bookmarkfile.c:988,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:989,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bookmarkfile.c:972,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bookmarkfile.c:967,1
    - Dst: g_bookmark_file_get_app_info
      Src: /src/glib/glib/tests/bookmarkfile.c:978,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:970,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 81
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 995
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 995
    functionName: test_deprecated
    functionSourceFile: /src/glib/glib/tests/bookmarkfile.c
    functionUses: []
    functionsReached:
    - g_bookmark_file_get_added
    - g_clear_error
    - g_bookmark_file_free
    - g_assert_true
    - g_bookmark_file_set_app_info
    - g_assert_error
    - g_bookmark_file_get_app_info
    - g_assert_no_error
    - g_bookmark_file_get_visited
    - g_assert_false
    - g_bookmark_file_new
    - g_bookmark_file_set_modified
    - g_bookmark_file_get_modified
    - g_bookmark_file_set_visited
    - g_bookmark_file_set_added
    - g_get_real_time
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_deprecated (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bookmark_file_get_size
      Src: /src/glib/glib/tests/bookmarkfile.c:1021,1
    - Dst: g_bookmark_file_get_uris
      Src: /src/glib/glib/tests/bookmarkfile.c:1022,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bookmarkfile.c:1024,1
    - Dst: g_bookmark_file_has_item
      Src: /src/glib/glib/tests/bookmarkfile.c:1028,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bookmarkfile.c:1028,1
    - Dst: g_bookmark_file_get_mime_type
      Src: /src/glib/glib/tests/bookmarkfile.c:1030,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/bookmarkfile.c:1031,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1032,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bookmarkfile.c:1033,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/bookmarkfile.c:1035,1
    - Dst: g_bookmark_file_get_mime_type
      Src: /src/glib/glib/tests/bookmarkfile.c:1039,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/bookmarkfile.c:1040,1
    - Dst: g_bookmark_file_has_item
      Src: /src/glib/glib/tests/bookmarkfile.c:1037,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/bookmarkfile.c:1042,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1041,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:1037,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bookmarkfile.c:1043,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - bookmark
    argTypes:
    - GBookmarkFile*
    constantsTouched: []
    func_position:
      end: 1044
      start: 1012
    functionDepth: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1044
    functionName: test_query
    functionSourceFile: /src/glib/glib/tests/bookmarkfile.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_assert_null
    - g_bookmark_file_get_uris
    - g_bookmark_file_get_size
    - g_assert_nonnull
    - g_assert_error
    - g_bookmark_file_has_item
    - g_assert_no_error
    - g_strfreev
    - g_error_free
    - g_bookmark_file_get_mime_type
    - g_assert_false
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_query (GBookmarkFile *bookmark) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_bookmark_file_new
      Src: /src/glib/glib/tests/bookmarkfile.c:1225,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/bookmarkfile.c:1226,1
    - Dst: test_query
      Src: /src/glib/glib/tests/bookmarkfile.c:1232,1
    - Dst: test_load
      Src: /src/glib/glib/tests/bookmarkfile.c:1228,1
    - Dst: test_modify
      Src: /src/glib/glib/tests/bookmarkfile.c:1233,1
    - Dst: g_bookmark_file_to_data
      Src: /src/glib/glib/tests/bookmarkfile.c:1236,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1237,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bookmarkfile.c:1239,1
    - Dst: g_bookmark_file_free
      Src: /src/glib/glib/tests/bookmarkfile.c:1242,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bookmarkfile.c:1244,1
    - Dst: strstr
      Src: /src/glib/glib/tests/bookmarkfile.c:1244,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1245
      start: 1216
    functionDepth: 0
    functionLinenumber: 1216
    functionLinenumberEnd: 1245
    functionName: test_file
    functionSourceFile: /src/glib/glib/tests/bookmarkfile.c
    functionUses: []
    functionsReached:
    - g_bookmark_file_free
    - g_assert_true
    - test_load
    - test_modify
    - test_query
    - g_assert_nonnull
    - g_assert_no_error
    - g_bookmark_file_new
    - g_bookmark_file_to_data
    - g_free
    - strstr
    linkageType: ''
    returnType: void
    signature: 'static void test_file (gconstpointer d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bookmark_file_new
      Src: /src/glib/glib/tests/bookmarkfile.c:20,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:24,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/bookmarkfile.c:26,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/bookmarkfile.c:25,1
    - Dst: g_bookmark_file_load_from_data_dirs
      Src: /src/glib/glib/tests/bookmarkfile.c:22,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/bookmarkfile.c:27,1
    - Dst: g_bookmark_file_free
      Src: /src/glib/glib/tests/bookmarkfile.c:29,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 30
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 30
    functionName: test_load_from_data_dirs
    functionSourceFile: /src/glib/glib/tests/bookmarkfile.c
    functionUses: []
    functionsReached:
    - g_bookmark_file_free
    - g_assert_null
    - g_bookmark_file_load_from_data_dirs
    - g_bookmark_file_new
    - g_error_free
    - g_assert_false
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_load_from_data_dirs (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bookmarkfile.c:113,1
    - Dst: g_bookmark_file_load_from_file
      Src: /src/glib/glib/tests/bookmarkfile.c:112,1
    - Dst: g_bookmark_file_move_item
      Src: /src/glib/glib/tests/bookmarkfile.c:116,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bookmarkfile.c:120,1
    - Dst: g_bookmark_file_move_item
      Src: /src/glib/glib/tests/bookmarkfile.c:123,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/bookmarkfile.c:136,1
    - Dst: g_bookmark_file_free
      Src: /src/glib/glib/tests/bookmarkfile.c:145,1
    - Dst: g_test_get_filename
      Src: /src/glib/glib/tests/bookmarkfile.c:111,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:114,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:121,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bookmarkfile.c:127,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:134,1
    - Dst: g_bookmark_file_move_item
      Src: /src/glib/glib/tests/bookmarkfile.c:138,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bookmarkfile.c:142,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:143,1
    - Dst: g_bookmark_file_move_item
      Src: /src/glib/glib/tests/bookmarkfile.c:130,1
    - Dst: g_bookmark_file_new
      Src: /src/glib/glib/tests/bookmarkfile.c:109,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/bookmarkfile.c:135,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 146
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 146
    functionName: test_move_item
    functionSourceFile: /src/glib/glib/tests/bookmarkfile.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_bookmark_file_free
    - g_assert_true
    - g_test_get_filename
    - g_assert_no_error
    - g_bookmark_file_new
    - g_assert_false
    - g_bookmark_file_move_item
    - g_bookmark_file_load_from_file
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_move_item (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:732,1
    - Dst: g_bookmark_file_get_icon
      Src: /src/glib/glib/tests/bookmarkfile.c:734,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/bookmarkfile.c:758,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:771,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:779,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:834,1
    - Dst: g_date_time_new_now_utc
      Src: /src/glib/glib/tests/bookmarkfile.c:836,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/bookmarkfile.c:873,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:757,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:789,1
    - Dst: g_bookmark_file_set_modified_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:811,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:885,1
    - Dst: g_date_time_compare
      Src: /src/glib/glib/tests/bookmarkfile.c:894,1
    - Dst: g_bookmark_file_set_visited_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:828,1
    - Dst: g_bookmark_file_load_from_file
      Src: /src/glib/glib/tests/bookmarkfile.c:730,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bookmarkfile.c:759,1
    - Dst: g_bookmark_file_get_is_private
      Src: /src/glib/glib/tests/bookmarkfile.c:766,1
    - Dst: g_bookmark_file_get_icon
      Src: /src/glib/glib/tests/bookmarkfile.c:846,1
    - Dst: g_date_time_new_now_utc
      Src: /src/glib/glib/tests/bookmarkfile.c:893,1
    - Dst: g_bookmark_file_free
      Src: /src/glib/glib/tests/bookmarkfile.c:900,1
    - Dst: g_date_time_new_now_utc
      Src: /src/glib/glib/tests/bookmarkfile.c:819,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:739,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/bookmarkfile.c:748,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:864,1
    - Dst: g_bookmark_file_get_icon
      Src: /src/glib/glib/tests/bookmarkfile.c:742,1
    - Dst: g_bookmark_file_get_mime_type
      Src: /src/glib/glib/tests/bookmarkfile.c:760,1
    - Dst: g_bookmark_file_get_is_private
      Src: /src/glib/glib/tests/bookmarkfile.c:786,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/bookmarkfile.c:840,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:865,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/bookmarkfile.c:824,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/bookmarkfile.c:888,1
    - Dst: g_bookmark_file_set_is_private
      Src: /src/glib/glib/tests/bookmarkfile.c:783,1
    - Dst: g_date_time_compare
      Src: /src/glib/glib/tests/bookmarkfile.c:821,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/bookmarkfile.c:839,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/bookmarkfile.c:871,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:872,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bookmarkfile.c:889,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/bookmarkfile.c:891,1
    - Dst: g_date_time_new_now_utc
      Src: /src/glib/glib/tests/bookmarkfile.c:809,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bookmarkfile.c:854,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:817,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:851,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:740,1
    - Dst: g_bookmark_file_get_description
      Src: /src/glib/glib/tests/bookmarkfile.c:754,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/bookmarkfile.c:763,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/bookmarkfile.c:764,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/bookmarkfile.c:770,1
    - Dst: g_bookmark_file_set_added_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:794,1
    - Dst: g_date_time_compare
      Src: /src/glib/glib/tests/bookmarkfile.c:837,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bookmarkfile.c:821,1
    - Dst: g_test_get_filename
      Src: /src/glib/glib/tests/bookmarkfile.c:729,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:747,1
    - Dst: g_bookmark_file_get_added_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:797,1
    - Dst: g_bookmark_file_add_application
      Src: /src/glib/glib/tests/bookmarkfile.c:877,1
    - Dst: g_bookmark_file_new
      Src: /src/glib/glib/tests/bookmarkfile.c:727,1
    - Dst: g_date_time_new_now_utc
      Src: /src/glib/glib/tests/bookmarkfile.c:792,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bookmarkfile.c:820,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/bookmarkfile.c:807,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/bookmarkfile.c:823,1
    - Dst: g_date_time_compare
      Src: /src/glib/glib/tests/bookmarkfile.c:895,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bookmarkfile.c:803,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/bookmarkfile.c:806,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bookmarkfile.c:838,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/bookmarkfile.c:853,1
    - Dst: g_date_time_compare
      Src: /src/glib/glib/tests/bookmarkfile.c:803,1
    - Dst: g_date_time_compare
      Src: /src/glib/glib/tests/bookmarkfile.c:804,1
    - Dst: g_bookmark_file_set_icon
      Src: /src/glib/glib/tests/bookmarkfile.c:856,1
    - Dst: g_get_application_name
      Src: /src/glib/glib/tests/bookmarkfile.c:882,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bookmarkfile.c:886,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bookmarkfile.c:890,1
    - Dst: g_date_time_compare
      Src: /src/glib/glib/tests/bookmarkfile.c:820,1
    - Dst: g_bookmark_file_set_description
      Src: /src/glib/glib/tests/bookmarkfile.c:751,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/bookmarkfile.c:765,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:800,1
    - Dst: g_date_time_new_now_utc
      Src: /src/glib/glib/tests/bookmarkfile.c:802,1
    - Dst: g_bookmark_file_has_application
      Src: /src/glib/glib/tests/bookmarkfile.c:867,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bookmarkfile.c:894,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/bookmarkfile.c:769,1
    - Dst: g_bookmark_file_get_visited_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:831,1
    - Dst: g_date_time_compare
      Src: /src/glib/glib/tests/bookmarkfile.c:838,1
    - Dst: g_date_time_new_now_utc
      Src: /src/glib/glib/tests/bookmarkfile.c:875,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/bookmarkfile.c:898,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bookmarkfile.c:731,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/bookmarkfile.c:749,1
    - Dst: g_bookmark_file_set_mime_type
      Src: /src/glib/glib/tests/bookmarkfile.c:773,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bookmarkfile.c:804,1
    - Dst: g_bookmark_file_get_modified_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:814,1
    - Dst: g_strconcat
      Src: /src/glib/glib/tests/bookmarkfile.c:887,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bookmarkfile.c:895,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bookmarkfile.c:837,1
    - Dst: g_bookmark_file_get_mime_type
      Src: /src/glib/glib/tests/bookmarkfile.c:776,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/bookmarkfile.c:780,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bookmarkfile.c:781,1
    - Dst: g_date_time_new_now_utc
      Src: /src/glib/glib/tests/bookmarkfile.c:826,1
    - Dst: g_bookmark_file_set_icon
      Src: /src/glib/glib/tests/bookmarkfile.c:842,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bookmarkfile.c:852,1
    - Dst: g_bookmark_file_get_icon
      Src: /src/glib/glib/tests/bookmarkfile.c:859,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bookmarkfile.c:790,1
    - Dst: g_bookmark_file_get_application_info
      Src: /src/glib/glib/tests/bookmarkfile.c:880,1
    - Dst: g_get_prgname
      Src: /src/glib/glib/tests/bookmarkfile.c:887,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/bookmarkfile.c:897,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 128
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 901
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 901
    functionName: test_misc
    functionSourceFile: /src/glib/glib/tests/bookmarkfile.c
    functionUses: []
    functionsReached:
    - g_date_time_unref
    - g_strconcat
    - g_assert_null
    - g_bookmark_file_set_is_private
    - g_bookmark_file_set_mime_type
    - g_bookmark_file_get_visited_date_time
    - g_assert_true
    - g_bookmark_file_set_added_date_time
    - g_bookmark_file_get_application_info
    - g_bookmark_file_new
    - g_bookmark_file_has_application
    - g_assert_false
    - g_get_prgname
    - g_assert_cmpint
    - g_bookmark_file_set_visited_date_time
    - g_get_application_name
    - g_bookmark_file_free
    - g_bookmark_file_get_is_private
    - g_bookmark_file_get_description
    - g_test_get_filename
    - g_assert_cmpuint
    - g_assert_no_error
    - g_bookmark_file_set_modified_date_time
    - g_bookmark_file_get_mime_type
    - g_bookmark_file_get_added_date_time
    - g_bookmark_file_load_from_file
    - g_assert_error
    - g_clear_error
    - g_bookmark_file_set_icon
    - g_bookmark_file_add_application
    - g_bookmark_file_set_description
    - g_bookmark_file_get_modified_date_time
    - g_bookmark_file_get_icon
    - g_assert_cmpstr
    - g_date_time_compare
    - g_date_time_new_now_utc
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_misc (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_bookmark_file_load_from_file
      Src: /src/glib/glib/tests/bookmarkfile.c:1004,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/bookmarkfile.c:1006,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1008,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/bookmarkfile.c:1005,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - bookmark
    - filename
    argTypes:
    - GBookmarkFile*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1010
      start: 997
    functionDepth: 0
    functionLinenumber: 997
    functionLinenumberEnd: 1010
    functionName: test_load
    functionSourceFile: /src/glib/glib/tests/bookmarkfile.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_test_verbose
    - g_printerr
    - g_bookmark_file_load_from_file
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean test_load (GBookmarkFile *bookmark, const gchar *filename) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/bookmarkfile.c:1060,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/bookmarkfile.c:1072,1
    - Dst: g_bookmark_file_get_icon
      Src: /src/glib/glib/tests/bookmarkfile.c:1110,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:1142,1
    - Dst: g_bookmark_file_has_application
      Src: /src/glib/glib/tests/bookmarkfile.c:1146,1
    - Dst: g_bookmark_file_get_modified_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:1154,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/bookmarkfile.c:1163,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:1181,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1183,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/bookmarkfile.c:1185,1
    - Dst: g_bookmark_file_get_visited_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:1133,1
    - Dst: g_bookmark_file_set_title
      Src: /src/glib/glib/tests/bookmarkfile.c:1062,1
    - Dst: g_bookmark_file_set_title
      Src: /src/glib/glib/tests/bookmarkfile.c:1079,1
    - Dst: g_bookmark_file_get_title
      Src: /src/glib/glib/tests/bookmarkfile.c:1094,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1095,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/bookmarkfile.c:1117,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1125,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/bookmarkfile.c:1140,1
    - Dst: g_bookmark_file_set_mime_type
      Src: /src/glib/glib/tests/bookmarkfile.c:1141,1
    - Dst: g_bookmark_file_has_group
      Src: /src/glib/glib/tests/bookmarkfile.c:1180,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1071,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bookmarkfile.c:1156,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/bookmarkfile.c:1208,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/bookmarkfile.c:1153,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bookmarkfile.c:1185,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/bookmarkfile.c:1198,1
    - Dst: g_bookmark_file_get_groups
      Src: /src/glib/glib/tests/bookmarkfile.c:1193,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bookmarkfile.c:1101,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bookmarkfile.c:1097,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1135,1
    - Dst: g_bookmark_file_set_description
      Src: /src/glib/glib/tests/bookmarkfile.c:1080,1
    - Dst: g_bookmark_file_set_added_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:1083,1
    - Dst: g_bookmark_file_get_added_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:1104,1
    - Dst: g_bookmark_file_get_application_info
      Src: /src/glib/glib/tests/bookmarkfile.c:1147,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/bookmarkfile.c:1162,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/bookmarkfile.c:1177,1
    - Dst: g_bookmark_file_add_group
      Src: /src/glib/glib/tests/bookmarkfile.c:1179,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1206,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1207,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bookmarkfile.c:1068,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/bookmarkfile.c:1136,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/bookmarkfile.c:1112,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1171,1
    - Dst: g_bookmark_file_remove_group
      Src: /src/glib/glib/tests/bookmarkfile.c:1182,1
    - Dst: g_bookmark_file_get_groups
      Src: /src/glib/glib/tests/bookmarkfile.c:1184,1
    - Dst: g_new0
      Src: /src/glib/glib/tests/bookmarkfile.c:1187,1
    - Dst: g_bookmark_file_get_modified_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:1090,1
    - Dst: g_bookmark_file_get_description
      Src: /src/glib/glib/tests/bookmarkfile.c:1121,1
    - Dst: g_bookmark_file_get_application_info
      Src: /src/glib/glib/tests/bookmarkfile.c:1165,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/bookmarkfile.c:1174,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:1205,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/bookmarkfile.c:1209,1
    - Dst: g_bookmark_file_has_application
      Src: /src/glib/glib/tests/bookmarkfile.c:1142,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1157,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/bookmarkfile.c:1119,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/bookmarkfile.c:1061,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/bookmarkfile.c:1077,1
    - Dst: g_bookmark_file_get_visited_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:1107,1
    - Dst: g_bookmark_file_remove_application
      Src: /src/glib/glib/tests/bookmarkfile.c:1156,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bookmarkfile.c:1182,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1196,1
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/bookmarkfile.c:1211,1
    - Dst: g_date_time_compare
      Src: /src/glib/glib/tests/bookmarkfile.c:1106,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1103,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bookmarkfile.c:1109,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bookmarkfile.c:1114,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1123,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1128,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bookmarkfile.c:1102,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bookmarkfile.c:1154,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bookmarkfile.c:1155,1
    - Dst: g_bookmark_file_set_groups
      Src: /src/glib/glib/tests/bookmarkfile.c:1191,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bookmarkfile.c:1203,1
    - Dst: g_bookmark_file_get_title
      Src: /src/glib/glib/tests/bookmarkfile.c:1065,1
    - Dst: g_date_time_compare
      Src: /src/glib/glib/tests/bookmarkfile.c:1092,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bookmarkfile.c:1106,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/bookmarkfile.c:1139,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bookmarkfile.c:1115,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/bookmarkfile.c:1201,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/bookmarkfile.c:1202,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1204,1
    - Dst: g_bookmark_file_remove_item
      Src: /src/glib/glib/tests/bookmarkfile.c:1205,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/bookmarkfile.c:1176,1
    - Dst: g_bookmark_file_remove_item
      Src: /src/glib/glib/tests/bookmarkfile.c:1203,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bookmarkfile.c:1146,1
    - Dst: g_bookmark_file_add_application
      Src: /src/glib/glib/tests/bookmarkfile.c:1158,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1091,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/bookmarkfile.c:1100,1
    - Dst: g_bookmark_file_get_is_private
      Src: /src/glib/glib/tests/bookmarkfile.c:1124,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1129,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1134,1
    - Dst: g_date_time_compare
      Src: /src/glib/glib/tests/bookmarkfile.c:1154,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/bookmarkfile.c:1195,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1111,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/bookmarkfile.c:1067,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/bookmarkfile.c:1074,1
    - Dst: g_bookmark_file_get_applications
      Src: /src/glib/glib/tests/bookmarkfile.c:1159,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1170,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/bookmarkfile.c:1199,1
    - Dst: g_bookmark_file_get_description
      Src: /src/glib/glib/tests/bookmarkfile.c:1098,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1131,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1066,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bookmarkfile.c:1073,1
    - Dst: g_bookmark_file_set_is_private
      Src: /src/glib/glib/tests/bookmarkfile.c:1081,1
    - Dst: g_bookmark_file_set_visited_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:1084,1
    - Dst: g_bookmark_file_set_modified_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:1089,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1126,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/bookmarkfile.c:1113,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1099,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bookmarkfile.c:1192,1
    - Dst: g_date_time_new_now_utc
      Src: /src/glib/glib/tests/bookmarkfile.c:1082,1
    - Dst: g_bookmark_file_get_is_private
      Src: /src/glib/glib/tests/bookmarkfile.c:1102,1
    - Dst: g_date_time_compare
      Src: /src/glib/glib/tests/bookmarkfile.c:1109,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/bookmarkfile.c:1173,1
    - Dst: g_bookmark_file_has_group
      Src: /src/glib/glib/tests/bookmarkfile.c:1178,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bookmarkfile.c:1194,1
    - Dst: g_bookmark_file_get_modified_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:1130,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1132,1
    - Dst: g_bookmark_file_set_icon
      Src: /src/glib/glib/tests/bookmarkfile.c:1085,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/bookmarkfile.c:1096,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1105,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/bookmarkfile.c:1116,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1122,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1108,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/bookmarkfile.c:1137,1
    - Dst: g_bookmark_file_add_application
      Src: /src/glib/glib/tests/bookmarkfile.c:1143,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1160,1
    - Dst: g_bookmark_file_get_description
      Src: /src/glib/glib/tests/bookmarkfile.c:1070,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/bookmarkfile.c:1075,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bookmarkfile.c:1110,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bookmarkfile.c:1161,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bookmarkfile.c:1180,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1152,1
    - Dst: g_bookmark_file_get_added_date_time
      Src: /src/glib/glib/tests/bookmarkfile.c:1127,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/bookmarkfile.c:1120,1
    - Dst: g_bookmark_file_set_description
      Src: /src/glib/glib/tests/bookmarkfile.c:1063,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/bookmarkfile.c:1078,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bookmarkfile.c:1092,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bookmarkfile.c:1178,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/bookmarkfile.c:1186,1
    - Dst: g_bookmark_file_has_group
      Src: /src/glib/glib/tests/bookmarkfile.c:1181,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 158
    argCount: 1
    argNames:
    - bookmark
    argTypes:
    - GBookmarkFile*
    constantsTouched: []
    func_position:
      end: 1214
      start: 1046
    functionDepth: 0
    functionLinenumber: 1046
    functionLinenumberEnd: 1214
    functionName: test_modify
    functionSourceFile: /src/glib/glib/tests/bookmarkfile.c
    functionUses: []
    functionsReached:
    - g_bookmark_file_set_groups
    - g_printerr
    - g_date_time_unref
    - g_bookmark_file_set_is_private
    - g_bookmark_file_set_mime_type
    - g_bookmark_file_get_visited_date_time
    - g_bookmark_file_has_group
    - g_new0
    - g_assert_true
    - g_bookmark_file_set_added_date_time
    - g_bookmark_file_get_application_info
    - g_strfreev
    - g_bookmark_file_has_application
    - g_assert_false
    - g_assert_cmpint
    - g_bookmark_file_set_visited_date_time
    - g_bookmark_file_get_groups
    - g_bookmark_file_get_is_private
    - g_strv_length
    - g_bookmark_file_get_description
    - g_bookmark_file_remove_group
    - g_assert_cmpuint
    - g_assert_no_error
    - g_bookmark_file_set_modified_date_time
    - g_bookmark_file_add_group
    - g_bookmark_file_get_added_date_time
    - g_bookmark_file_get_title
    - g_assert_error
    - g_clear_error
    - g_bookmark_file_set_icon
    - g_bookmark_file_add_application
    - g_test_verbose
    - g_bookmark_file_set_description
    - g_bookmark_file_get_modified_date_time
    - g_assert_cmpstr
    - g_bookmark_file_get_icon
    - g_bookmark_file_get_applications
    - g_bookmark_file_remove_item
    - g_date_time_compare
    - g_bookmark_file_set_title
    - g_date_time_new_now_utc
    - g_free
    - g_bookmark_file_remove_application
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean test_modify (GBookmarkFile *bookmark) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_bookmark_file_new
      Src: /src/glib/glib/tests/bookmarkfile.c:1260,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/bookmarkfile.c:1261,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bookmarkfile.c:1264,1
    - Dst: g_str_has_suffix
      Src: /src/glib/glib/tests/bookmarkfile.c:1269,1
    - Dst: g_str_has_suffix
      Src: /src/glib/glib/tests/bookmarkfile.c:1270,1
    - Dst: g_str_has_suffix
      Src: /src/glib/glib/tests/bookmarkfile.c:1271,1
    - Dst: g_str_has_suffix
      Src: /src/glib/glib/tests/bookmarkfile.c:1274,1
    - Dst: g_str_has_suffix
      Src: /src/glib/glib/tests/bookmarkfile.c:1273,1
    - Dst: g_str_has_suffix
      Src: /src/glib/glib/tests/bookmarkfile.c:1272,1
    - Dst: g_str_has_suffix
      Src: /src/glib/glib/tests/bookmarkfile.c:1275,1
    - Dst: test_modify
      Src: /src/glib/glib/tests/bookmarkfile.c:1303,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/bookmarkfile.c:1325,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bookmarkfile.c:1337,1
    - Dst: strstr
      Src: /src/glib/glib/tests/bookmarkfile.c:1264,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1284,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/bookmarkfile.c:1292,1
    - Dst: g_bookmark_file_to_data
      Src: /src/glib/glib/tests/bookmarkfile.c:1305,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/bookmarkfile.c:1315,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bookmarkfile.c:1318,1
    - Dst: g_bookmark_file_copy
      Src: /src/glib/glib/tests/bookmarkfile.c:1319,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bookmarkfile.c:1329,1
    - Dst: g_bookmark_file_free
      Src: /src/glib/glib/tests/bookmarkfile.c:1334,1
    - Dst: g_bookmark_file_to_data
      Src: /src/glib/glib/tests/bookmarkfile.c:1320,1
    - Dst: test_load
      Src: /src/glib/glib/tests/bookmarkfile.c:1263,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/bookmarkfile.c:1267,1
    - Dst: g_bookmark_file_to_data
      Src: /src/glib/glib/tests/bookmarkfile.c:1286,1
    - Dst: g_bookmark_file_to_data
      Src: /src/glib/glib/tests/bookmarkfile.c:1283,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/bookmarkfile.c:1316,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1323,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/bookmarkfile.c:1326,1
    - Dst: g_bookmark_file_free
      Src: /src/glib/glib/tests/bookmarkfile.c:1330,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bookmarkfile.c:1336,1
    - Dst: g_bookmark_file_free
      Src: /src/glib/glib/tests/bookmarkfile.c:1333,1
    - Dst: g_bookmark_file_copy
      Src: /src/glib/glib/tests/bookmarkfile.c:1266,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:1277,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bookmarkfile.c:1279,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1287,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bookmarkfile.c:1289,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/bookmarkfile.c:1291,1
    - Dst: test_modify
      Src: /src/glib/glib/tests/bookmarkfile.c:1302,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1308,1
    - Dst: g_bookmark_file_to_data
      Src: /src/glib/glib/tests/bookmarkfile.c:1310,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1313,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bookmarkfile.c:1328,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 66
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1338
      start: 1247
    functionDepth: 0
    functionLinenumber: 1247
    functionLinenumberEnd: 1338
    functionName: test_file_copy
    functionSourceFile: /src/glib/glib/tests/bookmarkfile.c
    functionUses: []
    functionsReached:
    - g_bookmark_file_free
    - g_test_assert_expected_messages
    - g_assert_true
    - test_load
    - g_bookmark_file_copy
    - test_modify
    - g_str_has_suffix
    - g_assert_nonnull
    - g_assert_cmpuint
    - g_assert_cmpstr
    - g_test_expect_message
    - g_assert_no_error
    - g_bookmark_file_new
    - g_bookmark_file_to_data
    - g_free
    - strstr
    linkageType: ''
    returnType: void
    signature: 'static void test_file_copy (gconstpointer d) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/bookmarkfile.c:1348,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/bookmarkfile.c:1357,1
    - Dst: test_file
      Src: /src/glib/glib/tests/bookmarkfile.c:1352,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/bookmarkfile.c:1358,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/bookmarkfile.c:1359,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/bookmarkfile.c:1360,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/bookmarkfile.c:1361,1
    - Dst: g_test_build_filename
      Src: /src/glib/glib/tests/bookmarkfile.c:1364,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/bookmarkfile.c:1376,1
    - Dst: g_test_add_data_func_full
      Src: /src/glib/glib/tests/bookmarkfile.c:1377,1
    - Dst: g_dir_close
      Src: /src/glib/glib/tests/bookmarkfile.c:1383,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bookmarkfile.c:1378,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bookmarkfile.c:1366,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/bookmarkfile.c:1367,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bookmarkfile.c:1381,1
    - Dst: g_dir_open
      Src: /src/glib/glib/tests/bookmarkfile.c:1365,1
    - Dst: g_test_build_filename
      Src: /src/glib/glib/tests/bookmarkfile.c:1374,1
    - Dst: g_dir_read_name
      Src: /src/glib/glib/tests/bookmarkfile.c:1368,1
    - Dst: g_test_add_data_func_full
      Src: /src/glib/glib/tests/bookmarkfile.c:1380,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/bookmarkfile.c:1385,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/bookmarkfile.c:1356,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/bookmarkfile.c:1379,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/bookmarkfile.c:1380,1
    - Dst: g_str_has_suffix
      Src: /src/glib/glib/tests/bookmarkfile.c:1371,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1386
      start: 1340
    functionDepth: 0
    functionLinenumber: 1340
    functionLinenumberEnd: 1386
    functionName: main
    functionSourceFile: /src/glib/glib/tests/bookmarkfile.c
    functionUses: []
    functionsReached:
    - g_dir_open
    - g_test_add_func
    - g_strdup_printf
    - g_test_build_filename
    - g_strdup
    - g_str_has_suffix
    - g_test_add_data_func_full
    - g_free
    - g_test_run
    - g_assert_no_error
    - g_dir_read_name
    - g_test_init
    - g_dir_close
    - test_file
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new_take
      Src: /src/glib/glib/tests/array-test.c:1260,1
    - Dst: g_ptr_array_is_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1262,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/array-test.c:1262,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1263,1
    - Dst: g_memdup2
      Src: /src/glib/glib/tests/array-test.c:1261,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/array-test.c:1265,1
    - Dst: g_ptr_array_new_take
      Src: /src/glib/glib/tests/array-test.c:1267,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/array-test.c:1268,1
    - Dst: g_ptr_array_is_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1268,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1269,1
    - Dst: g_ptr_array_new_take
      Src: /src/glib/glib/tests/array-test.c:1273,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/array-test.c:1271,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/array-test.c:1276,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/array-test.c:1274,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/array-test.c:1273,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1277
      start: 1254
    functionDepth: 0
    functionLinenumber: 1254
    functionLinenumberEnd: 1277
    functionName: pointer_array_new_take_empty
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_assert_null
    - g_assert_cmpuint
    - g_clear_pointer
    - g_test_expect_message
    - g_ptr_array_is_null_terminated
    - g_assert_false
    - g_memdup2
    - g_ptr_array_new_take
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_new_take_empty (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/array-test.c:1615,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1612,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:1632,1
    - Dst: g_ptr_array_remove_index
      Src: /src/glib/glib/tests/array-test.c:1643,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1614,1
    - Dst: g_ptr_array_new_from_array
      Src: /src/glib/glib/tests/array-test.c:1617,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/array-test.c:1622,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/array-test.c:1635,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:1640,1
    - Dst: g_ptr_array_remove_index
      Src: /src/glib/glib/tests/array-test.c:1645,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1646,1
    - Dst: g_free
      Src: /src/glib/glib/tests/array-test.c:1649,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/glib/tests/array-test.c:1610,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:1633,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1633,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1638,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:1639,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1641,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:1648,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/array-test.c:1612,1
    - Dst: g_memdup2
      Src: /src/glib/glib/tests/array-test.c:1621,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:1626,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1626,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/array-test.c:1636,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/array-test.c:1630,1
    - Dst: g_ptr_array_insert
      Src: /src/glib/glib/tests/array-test.c:1636,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1635,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1632,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1639,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1644,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1650
      start: 1602
    functionDepth: 0
    functionLinenumber: 1602
    functionLinenumberEnd: 1650
    functionName: pointer_array_new_from_array_with_copy_and_free_func
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_ptr_array_unref
    - g_strdup_printf
    - g_assert_nonnull
    - g_assert_cmpuint
    - g_memdup2
    - g_assert_cmpstr
    - g_free
    - g_clear_pointer
    - g_ptr_array_remove_index
    - g_ptr_array_new_with_free_func
    - g_ptr_array_insert
    - g_ptr_array_new_from_array
    - g_ptr_array_index
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_new_from_array_with_copy_and_free_func (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2561,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/array-test.c:2561,1
    - Dst: g_new0
      Src: /src/glib/glib/tests/array-test.c:2563,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/array-test.c:2564,1
    - Dst: g_new0
      Src: /src/glib/glib/tests/array-test.c:2568,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/array-test.c:2569,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:2577,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:2579,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2576,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:2581,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/glib/tests/array-test.c:2556,1
    - Dst: g_ptr_array_sort_values
      Src: /src/glib/glib/tests/array-test.c:2573,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/array-test.c:2559,1
    - Dst: g_new0
      Src: /src/glib/glib/tests/array-test.c:2558,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2566,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/array-test.c:2566,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2571,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/array-test.c:2571,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:2583,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2575,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2578,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2580,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2584
      start: 2550
    functionDepth: 0
    functionLinenumber: 2550
    functionLinenumberEnd: 2584
    functionName: pointer_array_sort_values_example
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_ptr_array_unref
    - g_strdup
    - g_ptr_array_sort_values
    - g_assert_cmpuint
    - g_assert_cmpstr
    - g_ptr_array_new_with_free_func
    - g_new0
    - g_ptr_array_index
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_sort_values_example (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_byte_array_new
      Src: /src/glib/glib/tests/array-test.c:3147,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:3153,1
    - Dst: g_byte_array_free_to_bytes
      Src: /src/glib/glib/tests/array-test.c:3151,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/array-test.c:3152,1
    - Dst: g_byte_array_append
      Src: /src/glib/glib/tests/array-test.c:3148,1
    - Dst: g_bytes_get_size
      Src: /src/glib/glib/tests/array-test.c:3153,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/array-test.c:3154,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/tests/array-test.c:3154,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:3155,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/array-test.c:3157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3158
      start: 3139
    functionDepth: 0
    functionLinenumber: 3139
    functionLinenumberEnd: 3158
    functionName: byte_array_free_to_bytes
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_assert_cmpuint
    - g_byte_array_new
    - g_byte_array_append
    - g_bytes_unref
    - g_byte_array_free_to_bytes
    - g_bytes_get_size
    - g_bytes_get_data
    linkageType: ''
    returnType: void
    signature: 'static void byte_array_free_to_bytes (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/array-test.c:1283,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/array-test.c:1285,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/array-test.c:1291,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/array-test.c:1289,1
    - Dst: g_ptr_array_new_take
      Src: /src/glib/glib/tests/array-test.c:1291,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/array-test.c:1293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1295
      start: 1279
    functionDepth: 0
    functionLinenumber: 1279
    functionLinenumberEnd: 1295
    functionName: pointer_array_new_take_overflow
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_assert_null
    - g_test_undefined
    - g_test_expect_message
    - g_test_skip
    - g_ptr_array_new_take
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_new_take_overflow (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new_from_null_terminated_array
      Src: /src/glib/glib/tests/array-test.c:1673,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/tests/array-test.c:1683,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:1675,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1683,1
    - Dst: g_ptr_array_is_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1680,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1683,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1684,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/array-test.c:1692,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1696,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:1711,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/array-test.c:1664,1
    - Dst: g_ptr_array_is_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1661,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/array-test.c:1671,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/array-test.c:1678,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:1680,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1684,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/array-test.c:1686,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/array-test.c:1689,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1690,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1693,1
    - Dst: g_ptr_array_new_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1660,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:1661,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/array-test.c:1667,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1681,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/tests/array-test.c:1684,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1689,1
    - Dst: g_ptr_array_insert
      Src: /src/glib/glib/tests/array-test.c:1692,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1697,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/tests/array-test.c:1698,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1702,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1705,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1664,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1666,1
    - Dst: g_memdup2
      Src: /src/glib/glib/tests/array-test.c:1670,1
    - Dst: g_ptr_array_is_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1675,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1676,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1695,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1696,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1698,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1701,1
    - Dst: g_ptr_array_remove_index
      Src: /src/glib/glib/tests/array-test.c:1704,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/array-test.c:1708,1
    - Dst: g_free
      Src: /src/glib/glib/tests/array-test.c:1712,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1706,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/tests/array-test.c:1696,1
    - Dst: g_ptr_array_remove_index
      Src: /src/glib/glib/tests/array-test.c:1700,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 61
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1713
      start: 1652
    functionDepth: 0
    functionLinenumber: 1652
    functionLinenumberEnd: 1713
    functionName: pointer_array_new_from_null_terminated_array
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_ptr_array_new_from_null_terminated_array
    - g_ptr_array_unref
    - g_assert_true
    - assert_ptr_array_null_terminated
    - g_assert_nonnull
    - GUINT_TO_POINTER
    - g_assert_cmpuint
    - GPOINTER_TO_UINT
    - g_free
    - g_clear_pointer
    - g_ptr_array_remove_index
    - g_ptr_array_new_null_terminated
    - g_ptr_array_insert
    - g_ptr_array_is_null_terminated
    - g_assert_cmpmem
    - g_memdup2
    - g_ptr_array_index
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_new_from_null_terminated_array (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/array-test.c:2590,1
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/glib/tests/array-test.c:2597,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - a
    - b
    - user_data
    argTypes:
    - gconstpointer
    - gconstpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 2607
      start: 2586
    functionDepth: 0
    functionLinenumber: 2586
    functionLinenumberEnd: 2607
    functionName: sort_filelist_how_values
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_ascii_strcasecmp
    linkageType: ''
    returnType: gint
    signature: 'static gint sort_filelist_how_values (gconstpointer a, gconstpointer
      b, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/array-test.c:3167,1
    - Dst: g_free
      Src: /src/glib/glib/tests/array-test.c:3172,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/array-test.c:3171,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - test_path
    - config
    - test_func
    argTypes:
    - gchar*
    - ArrayTestData*
    - GTestDataFunc
    constantsTouched: []
    func_position:
      end: 3173
      start: 3160
    functionDepth: 0
    functionLinenumber: 3160
    functionLinenumberEnd: 3173
    functionName: add_array_test
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_free
    - g_test_add_data_func
    linkageType: ''
    returnType: void
    signature: 'static void add_array_test (const gchar *test_path, const ArrayTestData
      *config, GTestDataFunc test_func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/array-test.c:2506,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:2532,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/array-test.c:2521,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2533,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2535,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2536,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/array-test.c:2505,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2506,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:2515,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2524,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2532,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:2533,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/array-test.c:2498,1
    - Dst: g_ptr_array_sort_values
      Src: /src/glib/glib/tests/array-test.c:2509,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/array-test.c:2519,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2527,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2525,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2534,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/array-test.c:2538,1
    - Dst: g_ptr_array_sort_values
      Src: /src/glib/glib/tests/array-test.c:2501,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/array-test.c:2514,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2514,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2526,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2523,1
    - Dst: g_ptr_array_sort_values
      Src: /src/glib/glib/tests/array-test.c:2529,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:2534,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:2535,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:2536,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 42
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2539
      start: 2490
    functionDepth: 0
    functionLinenumber: 2490
    functionLinenumberEnd: 2539
    functionName: pointer_array_sort_values
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_ptr_array_sort_values
    - g_assert_cmpstr
    - g_clear_pointer
    - GINT_TO_POINTER
    - g_random_int_range
    - g_ptr_array_new
    - g_ptr_array_index
    - g_ptr_array_add
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_sort_values (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2242,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2217,1
    - Dst: g_ptr_array_sized_new
      Src: /src/glib/glib/tests/array-test.c:2212,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2223,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/tests/array-test.c:2249,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/tests/array-test.c:2250,1
    - Dst: g_malloc
      Src: /src/glib/glib/tests/array-test.c:2204,1
    - Dst: g_ptr_array_extend_and_steal
      Src: /src/glib/glib/tests/array-test.c:2220,1
    - Dst: g_ptr_array_extend_and_steal
      Src: /src/glib/glib/tests/array-test.c:2239,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2242,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/array-test.c:2245,1
    - Dst: g_ptr_array_ref
      Src: /src/glib/glib/tests/array-test.c:2237,1
    - Dst: g_free
      Src: /src/glib/glib/tests/array-test.c:2253,1
    - Dst: g_ptr_array_sized_new
      Src: /src/glib/glib/tests/array-test.c:2211,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2216,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2223,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/tests/array-test.c:2225,1
    - Dst: g_ptr_array_sized_new
      Src: /src/glib/glib/tests/array-test.c:2228,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2234,1
    - Dst: g_ptr_array_sized_new
      Src: /src/glib/glib/tests/array-test.c:2229,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2233,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2244,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2247,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 53
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2254
      start: 2198
    functionDepth: 0
    functionLinenumber: 2198
    functionLinenumberEnd: 2254
    functionName: pointer_array_extend_and_steal
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_ptr_array_sized_new
    - g_assert_null
    - g_assert_cmpuint
    - g_free
    - g_ptr_array_extend_and_steal
    - g_malloc
    - g_ptr_array_free
    - g_ptr_array_index
    - g_ptr_array_add
    - g_ptr_array_ref
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_extend_and_steal (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/tests/array-test.c:1887,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1888
      start: 1883
    functionDepth: 0
    functionLinenumber: 1883
    functionLinenumberEnd: 1888
    functionName: my_free_func
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void my_free_func (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/array-test.c:2259,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/array-test.c:2259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2260
      start: 2256
    functionDepth: 0
    functionLinenumber: 2256
    functionLinenumberEnd: 2260
    functionName: ptr_compare_values
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    linkageType: ''
    returnType: gint
    signature: 'static gint ptr_compare_values (gconstpointer p1, gconstpointer p2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/glib/tests/array-test.c:2547,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2548
      start: 2541
    functionDepth: 0
    functionLinenumber: 2541
    functionLinenumberEnd: 2548
    functionName: sort_filelist_values
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_ascii_strcasecmp
    linkageType: ''
    returnType: gint
    signature: 'static gint sort_filelist_values (gconstpointer a, gconstpointer b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptr_compare_values_data
      Src: /src/glib/glib/tests/array-test.c:2283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - p1
    - p2
    - data
    argTypes:
    - gconstpointer
    - gconstpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 2284
      start: 2277
    functionDepth: 0
    functionLinenumber: 2277
    functionLinenumberEnd: 2284
    functionName: ptr_compare_data
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - ptr_compare_values_data
    linkageType: ''
    returnType: gint
    signature: 'static gint ptr_compare_data (gconstpointer p1, gconstpointer p2,
      gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/tests/array-test.c:1904,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:1905,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/glib/tests/array-test.c:1908,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1910,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/array-test.c:1911,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:1915,1
    - Dst: g_ptr_array_remove
      Src: /src/glib/glib/tests/array-test.c:1918,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:1921,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/array-test.c:1922,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1923,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1949,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/array-test.c:1958,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1959,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/array-test.c:1957,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/tests/array-test.c:1960,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1958,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/glib/tests/array-test.c:1899,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1909,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1917,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:1913,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/array-test.c:1919,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/array-test.c:1920,1
    - Dst: g_ptr_array_remove_fast
      Src: /src/glib/glib/tests/array-test.c:1920,1
    - Dst: g_ptr_array_ref
      Src: /src/glib/glib/tests/array-test.c:1926,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1934,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1936,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1948,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/array-test.c:1949,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1950,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:1953,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/glib/tests/array-test.c:1956,1
    - Dst: g_ptr_array_set_free_func
      Src: /src/glib/glib/tests/array-test.c:1968,1
    - Dst: g_ptr_array_remove_range
      Src: /src/glib/glib/tests/array-test.c:1951,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:1970,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/array-test.c:1936,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1938,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:1961,1
    - Dst: g_ptr_array_set_size
      Src: /src/glib/glib/tests/array-test.c:1937,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/array-test.c:1959,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:1900,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/array-test.c:1909,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/array-test.c:1916,1
    - Dst: g_ptr_array_remove_index
      Src: /src/glib/glib/tests/array-test.c:1912,1
    - Dst: g_ptr_array_remove_index_fast
      Src: /src/glib/glib/tests/array-test.c:1914,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/array-test.c:1910,1
    - Dst: g_ptr_array_remove
      Src: /src/glib/glib/tests/array-test.c:1919,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:1925,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:1929,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/array-test.c:1934,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/array-test.c:1935,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1957,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:1952,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:1928,1
    - Dst: g_ptr_array_ref
      Src: /src/glib/glib/tests/array-test.c:1939,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1967,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/glib/tests/array-test.c:1947,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/array-test.c:1950,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:1944,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/glib/tests/array-test.c:1903,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:1901,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1911,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/array-test.c:1918,1
    - Dst: g_ptr_array_set_size
      Src: /src/glib/glib/tests/array-test.c:1924,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:1927,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:1930,1
    - Dst: g_ptr_array_new_full
      Src: /src/glib/glib/tests/array-test.c:1933,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1935,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:1943,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/glib/tests/array-test.c:1964,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/array-test.c:1948,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1965,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:1941,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/array-test.c:1942,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1966,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/tests/array-test.c:1940,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/tests/array-test.c:1969,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 96
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1971
      start: 1890
    functionDepth: 0
    functionLinenumber: 1890
    functionLinenumberEnd: 1971
    functionName: pointer_array_free_func
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_ptr_array_remove
    - g_ptr_array_unref
    - g_ptr_array_remove_fast
    - g_strdup
    - g_assert
    - g_ptr_array_new_full
    - g_ptr_array_remove_index_fast
    - g_ptr_array_set_free_func
    - g_strfreev
    - g_ptr_array_remove_index
    - g_ptr_array_new_with_free_func
    - g_ptr_array_remove_range
    - g_ptr_array_set_size
    - g_ptr_array_free
    - g_ptr_array_ref
    - g_ptr_array_add
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_free_func (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/array-test.c:2747,1
    - Dst: g_ptr_array_remove_range
      Src: /src/glib/glib/tests/array-test.c:2748,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:2749,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2750
      start: 2741
    functionDepth: 0
    functionLinenumber: 2741
    functionLinenumberEnd: 2750
    functionName: pointer_array_remove_range
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_ptr_array_unref
    - g_ptr_array_new
    - g_ptr_array_remove_range
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_remove_range (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/glib/glib/tests/array-test.c:1976,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - src
    - userdata
    argTypes:
    - gconstpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1979
      start: 1973
    functionDepth: 0
    functionLinenumber: 1973
    functionLinenumberEnd: 1979
    functionName: ptr_array_copy_func
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_malloc
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer ptr_array_copy_func (gconstpointer src, gpointer userdata) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/array-test.c:2294,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/array-test.c:2301,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2302,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/array-test.c:2302,1
    - Dst: g_ptr_array_sort
      Src: /src/glib/glib/tests/array-test.c:2297,1
    - Dst: g_ptr_array_sort
      Src: /src/glib/glib/tests/array-test.c:2305,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/array-test.c:2310,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2310,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:2311,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/tests/array-test.c:2315,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2316
      start: 2286
    functionDepth: 0
    functionLinenumber: 2286
    functionLinenumberEnd: 2316
    functionName: pointer_array_sort
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_ptr_array_free
    - GPOINTER_TO_INT
    - g_ptr_array_sort
    - GINT_TO_POINTER
    - g_random_int_range
    - g_ptr_array_new
    - g_ptr_array_index
    - g_ptr_array_add
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_sort (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 2757
      start: 2752
    functionDepth: 0
    functionLinenumber: 2752
    functionLinenumberEnd: 2757
    functionName: steal_destroy_notify
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void steal_destroy_notify (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/array-test.c:2694,1
    - Dst: g_ptr_array_find
      Src: /src/glib/glib/tests/array-test.c:2697,1
    - Dst: g_ptr_array_find
      Src: /src/glib/glib/tests/array-test.c:2696,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/array-test.c:2697,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/array-test.c:2696,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/array-test.c:2698,1
    - Dst: g_ptr_array_find_with_equal_func
      Src: /src/glib/glib/tests/array-test.c:2698,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/array-test.c:2699,1
    - Dst: g_ptr_array_find_with_equal_func
      Src: /src/glib/glib/tests/array-test.c:2699,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/tests/array-test.c:2701,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2702
      start: 2688
    functionDepth: 0
    functionLinenumber: 2688
    functionLinenumberEnd: 2702
    functionName: pointer_array_find_empty
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_ptr_array_find
    - g_ptr_array_find_with_equal_func
    - g_assert_false
    - g_ptr_array_free
    - g_ptr_array_new
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_find_empty (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2715,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2713,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2718,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:2720,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2722,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2733,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:2735,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2736,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/array-test.c:2711,1
    - Dst: g_ptr_array_find_with_equal_func
      Src: /src/glib/glib/tests/array-test.c:2724,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:2729,1
    - Dst: g_ptr_array_find_with_equal_func
      Src: /src/glib/glib/tests/array-test.c:2721,1
    - Dst: g_ptr_array_find_with_equal_func
      Src: /src/glib/glib/tests/array-test.c:2729,1
    - Dst: g_ptr_array_find_with_equal_func
      Src: /src/glib/glib/tests/array-test.c:2727,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2730,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/tests/array-test.c:2738,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2714,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2716,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2717,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:2724,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2725,1
    - Dst: g_ptr_array_find
      Src: /src/glib/glib/tests/array-test.c:2735,1
    - Dst: g_ptr_array_find_with_equal_func
      Src: /src/glib/glib/tests/array-test.c:2720,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:2721,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/array-test.c:2727,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:2732,1
    - Dst: g_ptr_array_find_with_equal_func
      Src: /src/glib/glib/tests/array-test.c:2732,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2739
      start: 2704
    functionDepth: 0
    functionLinenumber: 2704
    functionLinenumberEnd: 2739
    functionName: pointer_array_find_non_empty
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_ptr_array_find
    - g_assert_true
    - g_assert_cmpuint
    - g_ptr_array_find_with_equal_func
    - g_assert_false
    - g_ptr_array_free
    - g_ptr_array_new
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_find_non_empty (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_memdup2
      Src: /src/glib/glib/tests/array-test.c:162,1
    - Dst: g_array_new_take
      Src: /src/glib/glib/tests/array-test.c:163,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:164,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:166,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:182,1
    - Dst: g_array_remove_index
      Src: /src/glib/glib/tests/array-test.c:183,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:184,1
    - Dst: g_free
      Src: /src/glib/glib/tests/array-test.c:190,1
    - Dst: g_array_steal
      Src: /src/glib/glib/tests/array-test.c:157,1
    - Dst: g_array_index
      Src: /src/glib/glib/tests/array-test.c:167,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:167,1
    - Dst: g_array_index
      Src: /src/glib/glib/tests/array-test.c:166,1
    - Dst: g_array_index
      Src: /src/glib/glib/tests/array-test.c:179,1
    - Dst: g_array_remove_index
      Src: /src/glib/glib/tests/array-test.c:181,1
    - Dst: g_array_unref
      Src: /src/glib/glib/tests/array-test.c:189,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/array-test.c:159,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/array-test.c:163,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/array-test.c:169,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:178,1
    - Dst: g_array_index
      Src: /src/glib/glib/tests/array-test.c:178,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:179,1
    - Dst: g_array_new
      Src: /src/glib/glib/tests/array-test.c:153,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:158,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/tests/array-test.c:155,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/array-test.c:160,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:177,1
    - Dst: g_array_prepend_val
      Src: /src/glib/glib/tests/array-test.c:175,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/tests/array-test.c:173,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/array-test.c:186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 45
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 191
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 191
    functionName: array_new_take
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_array_prepend_val
    - g_array_append_val
    - g_array_remove_index
    - g_assert_nonnull
    - g_assert_cmpuint
    - g_array_index
    - g_clear_pointer
    - g_array_new
    - g_array_steal
    - g_assert_cmpmem
    - g_array_unref
    - g_array_new_take
    - g_memdup2
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void array_new_take (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:2442,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2440,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2445,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2451,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:2455,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2456,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:2457,1
    - Dst: g_new0
      Src: /src/glib/glib/tests/array-test.c:2422,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/array-test.c:2423,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/glib/tests/array-test.c:2420,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2425,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/array-test.c:2425,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2430,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/array-test.c:2430,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/array-test.c:2438,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/array-test.c:2449,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2452,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2454,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/array-test.c:2418,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:2446,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:2459,1
    - Dst: g_ptr_array_sort_with_data
      Src: /src/glib/glib/tests/array-test.c:2449,1
    - Dst: g_new0
      Src: /src/glib/glib/tests/array-test.c:2427,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/array-test.c:2428,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/array-test.c:2433,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2435,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/array-test.c:2435,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2441,1
    - Dst: g_ptr_array_sort_with_data
      Src: /src/glib/glib/tests/array-test.c:2438,1
    - Dst: g_new0
      Src: /src/glib/glib/tests/array-test.c:2432,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2443,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:2444,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:2453,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 52
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2460
      start: 2411
    functionDepth: 0
    functionLinenumber: 2411
    functionLinenumberEnd: 2460
    functionName: pointer_array_sort_with_data_example
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_ptr_array_unref
    - g_strdup
    - g_test_summary
    - g_assert_cmpuint
    - g_assert_cmpstr
    - g_ptr_array_new_with_free_func
    - g_ptr_array_sort_with_data
    - GINT_TO_POINTER
    - g_new0
    - g_ptr_array_index
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_sort_with_data_example (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_array_new_take
      Src: /src/glib/glib/tests/array-test.c:199,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/array-test.c:203,1
    - Dst: g_memdup2
      Src: /src/glib/glib/tests/array-test.c:200,1
    - Dst: g_array_new_take
      Src: /src/glib/glib/tests/array-test.c:205,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:201,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:206,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/array-test.c:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 209
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 209
    functionName: array_new_take_empty
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_array_new_take
    - g_memdup2
    - g_assert_cmpuint
    linkageType: ''
    returnType: void
    signature: 'static void array_new_take_empty (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/tests/array-test.c:2332,1
    - Dst: g_free
      Src: /src/glib/glib/tests/array-test.c:2333,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 2334
      start: 2327
    functionDepth: 0
    functionLinenumber: 2327
    functionLinenumberEnd: 2334
    functionName: file_list_entry_free
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void file_list_entry_free (gpointer p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/array-test.c:2469,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/array-test.c:2475,1
    - Dst: g_ptr_array_sort_with_data
      Src: /src/glib/glib/tests/array-test.c:2472,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/array-test.c:2475,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2475,1
    - Dst: g_ptr_array_sort_with_data
      Src: /src/glib/glib/tests/array-test.c:2477,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/array-test.c:2482,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2482,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:2483,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/tests/array-test.c:2487,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2488
      start: 2462
    functionDepth: 0
    functionLinenumber: 2462
    functionLinenumberEnd: 2488
    functionName: pointer_array_sort_with_data
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_ptr_array_free
    - GPOINTER_TO_INT
    - g_ptr_array_sort_with_data
    - GINT_TO_POINTER
    - g_random_int_range
    - g_ptr_array_new
    - g_ptr_array_index
    - g_ptr_array_add
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_sort_with_data (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_array_new
      Src: /src/glib/glib/tests/array-test.c:682,1
    - Dst: g_array_prepend_val
      Src: /src/glib/glib/tests/array-test.c:685,1
    - Dst: g_array_get_element_size
      Src: /src/glib/glib/tests/array-test.c:683,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:683,1
    - Dst: g_array_ref
      Src: /src/glib/glib/tests/array-test.c:688,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/array-test.c:689,1
    - Dst: g_array_unref
      Src: /src/glib/glib/tests/array-test.c:690,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:692,1
    - Dst: g_array_index
      Src: /src/glib/glib/tests/array-test.c:692,1
    - Dst: g_array_ref
      Src: /src/glib/glib/tests/array-test.c:695,1
    - Dst: g_array_free
      Src: /src/glib/glib/tests/array-test.c:696,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:698,1
    - Dst: g_array_unref
      Src: /src/glib/glib/tests/array-test.c:699,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 700
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 700
    functionName: array_ref_count
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_array_free
    - g_array_prepend_val
    - g_assert
    - g_array_index
    - g_array_new
    - g_array_get_element_size
    - g_array_unref
    - g_array_ref
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void array_ref_count (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/glib/tests/array-test.c:1306,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1308,1
    - Dst: g_ptr_array_steal
      Src: /src/glib/glib/tests/array-test.c:1310,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1326,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/array-test.c:1323,1
    - Dst: g_ptr_array_is_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1317,1
    - Dst: g_ptr_array_insert
      Src: /src/glib/glib/tests/array-test.c:1327,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/array-test.c:1327,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1329,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1330,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/array-test.c:1312,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/array-test.c:1316,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:1320,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:1321,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/array-test.c:1317,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:1330,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:1331,1
    - Dst: g_ptr_array_remove_index
      Src: /src/glib/glib/tests/array-test.c:1334,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1335,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/array-test.c:1339,1
    - Dst: g_ptr_array_remove_index
      Src: /src/glib/glib/tests/array-test.c:1336,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1318,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1321,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/array-test.c:1326,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1337,1
    - Dst: g_free
      Src: /src/glib/glib/tests/array-test.c:1343,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/array-test.c:1308,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1311,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/array-test.c:1313,1
    - Dst: g_memdup2
      Src: /src/glib/glib/tests/array-test.c:1315,1
    - Dst: g_ptr_array_new_take
      Src: /src/glib/glib/tests/array-test.c:1316,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1320,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1332,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:1342,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 49
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1344
      start: 1297
    functionDepth: 0
    functionLinenumber: 1297
    functionLinenumberEnd: 1344
    functionName: pointer_array_new_take_with_free_func
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_strdup_printf
    - g_ptr_array_steal
    - g_ptr_array_insert
    - g_ptr_array_is_null_terminated
    - g_assert_cmpmem
    - g_memdup2
    - g_assert_nonnull
    - g_clear_pointer
    - g_assert_false
    - g_ptr_array_add
    - g_ptr_array_unref
    - g_assert_cmpuint
    - g_ptr_array_remove_index
    - g_ptr_array_new_with_free_func
    - g_ptr_array_index
    - g_ptr_array_new_take
    - g_assert_cmpstr
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_new_take_with_free_func (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 709
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 709
    functionName: int_compare
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int int_compare (gconstpointer p1, gconstpointer p2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/array-test.c:1359,1
    - Dst: g_ptr_array_is_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1356,1
    - Dst: g_ptr_array_steal
      Src: /src/glib/glib/tests/array-test.c:1362,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:1369,1
    - Dst: g_ptr_array_is_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1369,1
    - Dst: g_ptr_array_new_take_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1368,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1374,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/array-test.c:1379,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/tests/array-test.c:1386,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1386,1
    - Dst: g_ptr_array_new_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1355,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:1356,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/array-test.c:1368,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1371,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1370,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1373,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/tests/array-test.c:1374,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/array-test.c:1382,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1386,1
    - Dst: g_ptr_array_remove_index
      Src: /src/glib/glib/tests/array-test.c:1394,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1359,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1363,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/array-test.c:1364,1
    - Dst: g_memdup2
      Src: /src/glib/glib/tests/array-test.c:1367,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1373,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1374,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1380,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1383,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1385,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1387,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1395,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/array-test.c:1398,1
    - Dst: g_free
      Src: /src/glib/glib/tests/array-test.c:1402,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1396,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1361,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/array-test.c:1365,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/tests/array-test.c:1373,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/array-test.c:1376,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1379,1
    - Dst: g_ptr_array_insert
      Src: /src/glib/glib/tests/array-test.c:1382,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/tests/array-test.c:1388,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1388,1
    - Dst: g_ptr_array_remove_index
      Src: /src/glib/glib/tests/array-test.c:1390,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1392,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:1401,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1391,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 62
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1403
      start: 1346
    functionDepth: 0
    functionLinenumber: 1346
    functionLinenumberEnd: 1403
    functionName: pointer_array_new_take_null_terminated
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_ptr_array_steal
    - GPOINTER_TO_UINT
    - g_ptr_array_insert
    - g_ptr_array_is_null_terminated
    - g_assert_cmpmem
    - g_memdup2
    - g_assert_true
    - assert_ptr_array_null_terminated
    - g_assert_nonnull
    - g_ptr_array_new_take_null_terminated
    - g_clear_pointer
    - g_ptr_array_new_null_terminated
    - g_ptr_array_add
    - g_ptr_array_unref
    - g_assert_cmpuint
    - g_ptr_array_remove_index
    - g_ptr_array_index
    - GUINT_TO_POINTER
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_new_take_null_terminated (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/array-test.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - data
    - user_data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: sum_up
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    linkageType: ''
    returnType: void
    signature: "static void sum_up (gpointer data,\tgpointer user_data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:65,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - config
    - garray
    argTypes:
    - ArrayTestData*
    - GArray*
    constantsTouched: []
    func_position:
      end: 67
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 67
    functionName: assert_int_array_zero_terminated
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void assert_int_array_zero_terminated (const ArrayTestData
      *config, GArray *garray) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new_take_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1493,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1497,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:1498,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:1496,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/array-test.c:1494,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1499,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:1500,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1501,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:1502,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1503,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/array-test.c:1505,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1505,1
    - Dst: g_strjoinv
      Src: /src/glib/glib/tests/array-test.c:1507,1
    - Dst: g_free
      Src: /src/glib/glib/tests/array-test.c:1511,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:1508,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:1510,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1512
      start: 1487
    functionDepth: 0
    functionLinenumber: 1487
    functionLinenumberEnd: 1512
    functionName: pointer_array_new_take_null_terminated_from_gstrv
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_ptr_array_unref
    - g_assert_null
    - g_ptr_array_new_take_null_terminated
    - g_free
    - g_assert_cmpstr
    - g_strjoinv
    - g_strsplit
    - g_ptr_array_index
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_new_take_null_terminated_from_gstrv (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new_from_null_terminated_array
      Src: /src/glib/glib/tests/array-test.c:1720,1
    - Dst: g_ptr_array_is_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1722,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:1722,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1724,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1723,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/array-test.c:1726,1
    - Dst: g_ptr_array_new_from_null_terminated_array
      Src: /src/glib/glib/tests/array-test.c:1728,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:1730,1
    - Dst: g_ptr_array_is_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1730,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1731,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/array-test.c:1734,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1732,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1735
      start: 1715
    functionDepth: 0
    functionLinenumber: 1715
    functionLinenumberEnd: 1735
    functionName: pointer_array_new_from_null_terminated_array_empty
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_ptr_array_new_from_null_terminated_array
    - g_assert_true
    - assert_ptr_array_null_terminated
    - g_assert_cmpuint
    - g_clear_pointer
    - g_ptr_array_is_null_terminated
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_new_from_null_terminated_array_empty (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/array-test.c:1522,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/array-test.c:1527,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/array-test.c:1535,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1541,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1540,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/tests/array-test.c:1540,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/array-test.c:1546,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1550,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1551,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/tests/array-test.c:1552,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1555,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1524,1
    - Dst: g_ptr_array_new_from_array
      Src: /src/glib/glib/tests/array-test.c:1529,1
    - Dst: g_ptr_array_is_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1537,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/tests/array-test.c:1541,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/array-test.c:1547,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1549,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1552,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/array-test.c:1559,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:1562,1
    - Dst: g_free
      Src: /src/glib/glib/tests/array-test.c:1563,1
    - Dst: g_ptr_array_remove_index
      Src: /src/glib/glib/tests/array-test.c:1556,1
    - Dst: g_memdup2
      Src: /src/glib/glib/tests/array-test.c:1533,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/array-test.c:1534,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/array-test.c:1537,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1538,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1550,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/array-test.c:1524,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1526,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1541,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1540,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/array-test.c:1543,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1546,1
    - Dst: g_ptr_array_insert
      Src: /src/glib/glib/tests/array-test.c:1547,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/tests/array-test.c:1550,1
    - Dst: g_ptr_array_remove_index
      Src: /src/glib/glib/tests/array-test.c:1554,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1557,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 51
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1564
      start: 1514
    functionDepth: 0
    functionLinenumber: 1514
    functionLinenumberEnd: 1564
    functionName: pointer_array_new_from_array
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_ptr_array_unref
    - g_assert_nonnull
    - g_assert_cmpuint
    - GUINT_TO_POINTER
    - g_memdup2
    - g_ptr_array_new_from_array
    - g_clear_pointer
    - GPOINTER_TO_UINT
    - g_assert_cmpmem
    - g_ptr_array_remove_index
    - g_ptr_array_insert
    - g_free
    - g_ptr_array_is_null_terminated
    - g_assert_false
    - g_ptr_array_new
    - g_ptr_array_index
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_new_from_array (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_is_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1746,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/array-test.c:1749,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/array-test.c:1752,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/array-test.c:1755,1
    - Dst: g_ptr_array_new_from_null_terminated_array
      Src: /src/glib/glib/tests/array-test.c:1759,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:1761,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:1771,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1771,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1777,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:1781,1
    - Dst: g_ptr_array_new_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1745,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1751,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:1770,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1766,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1770,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/array-test.c:1773,1
    - Dst: g_ptr_array_insert
      Src: /src/glib/glib/tests/array-test.c:1776,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/array-test.c:1776,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1779,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1785,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1749,1
    - Dst: g_strdupv
      Src: /src/glib/glib/tests/array-test.c:1754,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:1766,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/array-test.c:1757,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1774,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:1780,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1780,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1782,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:1794,1
    - Dst: g_ptr_array_remove_index
      Src: /src/glib/glib/tests/array-test.c:1788,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/array-test.c:1799,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1789,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1794,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:1746,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1755,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/array-test.c:1756,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1762,1
    - Dst: g_ptr_array_is_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1761,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1773,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1786,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:1798,1
    - Dst: g_ptr_array_remove_index
      Src: /src/glib/glib/tests/array-test.c:1784,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1790,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 56
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1800
      start: 1737
    functionDepth: 0
    functionLinenumber: 1737
    functionLinenumberEnd: 1800
    functionName: pointer_array_new_from_null_terminated_array_with_copy_and_free_func
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_ptr_array_new_from_null_terminated_array
    - g_ptr_array_unref
    - g_assert_true
    - g_strdup_printf
    - g_strdupv
    - g_strv_length
    - assert_ptr_array_null_terminated
    - g_assert_nonnull
    - g_assert_cmpuint
    - g_assert_cmpstr
    - g_clear_pointer
    - g_ptr_array_remove_index
    - g_ptr_array_new_null_terminated
    - g_strfreev
    - g_ptr_array_insert
    - g_ptr_array_is_null_terminated
    - g_ptr_array_index
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_new_from_null_terminated_array_with_copy_and_free_func
      (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:51,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:53,1
    - Dst: g_array_index
      Src: /src/glib/glib/tests/array-test.c:53,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - garray
    - expected_data
    - n_expected_elements
    argTypes:
    - GArray*
    - gint*
    - gsize
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: assert_int_array_equal
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_array_index
    - g_assert_cmpuint
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void assert_int_array_equal (GArray *garray, const gint *expected_data,
      gsize n_expected_elements) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_array_new
      Src: /src/glib/glib/tests/array-test.c:87,1
    - Dst: assert_int_array_zero_terminated
      Src: /src/glib/glib/tests/array-test.c:89,1
    - Dst: g_array_set_size
      Src: /src/glib/glib/tests/array-test.c:91,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:92,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:88,1
    - Dst: assert_int_array_zero_terminated
      Src: /src/glib/glib/tests/array-test.c:93,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:97,1
    - Dst: g_array_index
      Src: /src/glib/glib/tests/array-test.c:97,1
    - Dst: g_array_unref
      Src: /src/glib/glib/tests/array-test.c:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 100
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 100
    functionName: array_set_size
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_array_set_size
    - assert_int_array_zero_terminated
    - g_assert_cmpuint
    - g_array_index
    - g_array_new
    - g_array_unref
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void array_set_size (gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 890
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 890
    functionName: cmpint
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint
    signature: 'static gint cmpint (gconstpointer a, gconstpointer b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_sized_new
      Src: /src/glib/glib/tests/array-test.c:1191,1
    - Dst: g_ptr_array_insert
      Src: /src/glib/glib/tests/array-test.c:1196,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/array-test.c:1196,1
    - Dst: g_ptr_array_foreach
      Src: /src/glib/glib/tests/array-test.c:1199,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/array-test.c:1195,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/array-test.c:1200,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/tests/array-test.c:1202,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1203
      start: 1183
    functionDepth: 0
    functionLinenumber: 1183
    functionLinenumberEnd: 1203
    functionName: pointer_array_insert
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_ptr_array_sized_new
    - g_assert
    - g_ptr_array_foreach
    - g_ptr_array_insert
    - GINT_TO_POINTER
    - g_random_int_range
    - g_ptr_array_free
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_insert (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new_from_array
      Src: /src/glib/glib/tests/array-test.c:1572,1
    - Dst: g_ptr_array_is_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1573,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/array-test.c:1573,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1574,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/array-test.c:1576,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/array-test.c:1578,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/array-test.c:1580,1
    - Dst: g_ptr_array_new_from_array
      Src: /src/glib/glib/tests/array-test.c:1580,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/array-test.c:1581,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1582
      start: 1566
    functionDepth: 0
    functionLinenumber: 1566
    functionLinenumberEnd: 1582
    functionName: pointer_array_new_from_array_empty
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_assert_null
    - g_assert_cmpuint
    - g_clear_pointer
    - g_test_expect_message
    - g_ptr_array_is_null_terminated
    - g_assert_false
    - g_ptr_array_new_from_array
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_new_from_array_empty (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - p1
    - p2
    - data
    argTypes:
    - gconstpointer
    - gconstpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 3068
      start: 3061
    functionDepth: 0
    functionLinenumber: 3061
    functionLinenumberEnd: 3068
    functionName: byte_compare_data
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int byte_compare_data (gconstpointer p1, gconstpointer p2,
      gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1216,1
    - Dst: g_ptr_array_steal
      Src: /src/glib/glib/tests/array-test.c:1218,1
    - Dst: g_ptr_array_new_take
      Src: /src/glib/glib/tests/array-test.c:1224,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1229,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1229,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1234,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1237,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1238,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/tests/array-test.c:1238,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1238,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/array-test.c:1214,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/array-test.c:1220,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/tests/array-test.c:1228,1
    - Dst: g_ptr_array_remove_index
      Src: /src/glib/glib/tests/array-test.c:1244,1
    - Dst: g_ptr_array_remove_index
      Src: /src/glib/glib/tests/array-test.c:1242,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/array-test.c:1216,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/array-test.c:1224,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/array-test.c:1225,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1226,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1228,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/tests/array-test.c:1229,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/array-test.c:1231,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/array-test.c:1234,1
    - Dst: g_ptr_array_insert
      Src: /src/glib/glib/tests/array-test.c:1235,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/array-test.c:1235,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1245,1
    - Dst: g_free
      Src: /src/glib/glib/tests/array-test.c:1251,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/tests/array-test.c:1240,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/array-test.c:1247,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1219,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/array-test.c:1221,1
    - Dst: g_memdup2
      Src: /src/glib/glib/tests/array-test.c:1223,1
    - Dst: g_ptr_array_is_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1225,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1228,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1239,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1240,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1243,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:1250,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 53
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1252
      start: 1205
    functionDepth: 0
    functionLinenumber: 1205
    functionLinenumberEnd: 1252
    functionName: pointer_array_new_take
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_ptr_array_steal
    - GPOINTER_TO_UINT
    - g_ptr_array_insert
    - g_ptr_array_is_null_terminated
    - g_assert_cmpmem
    - g_memdup2
    - g_ptr_array_new
    - g_assert_nonnull
    - g_clear_pointer
    - g_assert_false
    - g_ptr_array_add
    - g_ptr_array_unref
    - g_assert_cmpuint
    - g_ptr_array_remove_index
    - g_ptr_array_index
    - g_ptr_array_new_take
    - GUINT_TO_POINTER
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_new_take (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/array-test.c:1588,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/array-test.c:1590,1
    - Dst: g_ptr_array_new_from_array
      Src: /src/glib/glib/tests/array-test.c:1596,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/array-test.c:1596,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/array-test.c:1594,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/array-test.c:1598,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1600
      start: 1584
    functionDepth: 0
    functionLinenumber: 1584
    functionLinenumberEnd: 1600
    functionName: pointer_array_new_from_array_overflow
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_assert_null
    - g_test_undefined
    - g_ptr_array_new_from_array
    - g_test_expect_message
    - g_test_skip
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_new_from_array_overflow (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_byte_array_new
      Src: /src/glib/glib/tests/array-test.c:3078,1
    - Dst: g_byte_array_sort
      Src: /src/glib/glib/tests/array-test.c:3085,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/array-test.c:3081,1
    - Dst: g_byte_array_append
      Src: /src/glib/glib/tests/array-test.c:3082,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:3091,1
    - Dst: g_byte_array_free
      Src: /src/glib/glib/tests/array-test.c:3095,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3096
      start: 3070
    functionDepth: 0
    functionLinenumber: 3070
    functionLinenumberEnd: 3096
    functionName: byte_array_sort
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_byte_array_sort
    - g_byte_array_new
    - g_byte_array_append
    - g_byte_array_free
    - g_random_int_range
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void byte_array_sort (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_array_new
      Src: /src/glib/glib/tests/array-test.c:860,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/tests/array-test.c:866,1
    - Dst: g_array_remove_index
      Src: /src/glib/glib/tests/array-test.c:869,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/array-test.c:865,1
    - Dst: g_array_set_clear_func
      Src: /src/glib/glib/tests/array-test.c:861,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:870,1
    - Dst: g_array_remove_range
      Src: /src/glib/glib/tests/array-test.c:872,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:873,1
    - Dst: g_array_remove_index_fast
      Src: /src/glib/glib/tests/array-test.c:875,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:876,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:879,1
    - Dst: g_array_free
      Src: /src/glib/glib/tests/array-test.c:878,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 880
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 880
    functionName: array_clear_func
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_array_free
    - g_array_append_val
    - g_array_remove_index
    - g_array_remove_range
    - g_array_remove_index_fast
    - g_array_new
    - g_random_int_range
    - g_array_set_clear_func
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void array_clear_func (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_array_new
      Src: /src/glib/glib/tests/array-test.c:497,1
    - Dst: g_array_insert_vals
      Src: /src/glib/glib/tests/array-test.c:501,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:502,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/array-test.c:503,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:508,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/array-test.c:515,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:520,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:514,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/array-test.c:509,1
    - Dst: assert_int_array_equal
      Src: /src/glib/glib/tests/array-test.c:521,1
    - Dst: assert_int_array_equal
      Src: /src/glib/glib/tests/array-test.c:527,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:539,1
    - Dst: g_array_insert_vals
      Src: /src/glib/glib/tests/array-test.c:525,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:545,1
    - Dst: assert_int_array_zero_terminated
      Src: /src/glib/glib/tests/array-test.c:504,1
    - Dst: assert_int_array_zero_terminated
      Src: /src/glib/glib/tests/array-test.c:516,1
    - Dst: assert_int_array_zero_terminated
      Src: /src/glib/glib/tests/array-test.c:510,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/array-test.c:541,1
    - Dst: assert_int_array_zero_terminated
      Src: /src/glib/glib/tests/array-test.c:548,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:541,1
    - Dst: assert_int_array_equal
      Src: /src/glib/glib/tests/array-test.c:503,1
    - Dst: g_array_insert_vals
      Src: /src/glib/glib/tests/array-test.c:507,1
    - Dst: assert_int_array_equal
      Src: /src/glib/glib/tests/array-test.c:509,1
    - Dst: g_array_insert_vals
      Src: /src/glib/glib/tests/array-test.c:513,1
    - Dst: g_array_insert_vals
      Src: /src/glib/glib/tests/array-test.c:519,1
    - Dst: assert_int_array_equal
      Src: /src/glib/glib/tests/array-test.c:515,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:526,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/array-test.c:527,1
    - Dst: g_array_insert_vals
      Src: /src/glib/glib/tests/array-test.c:531,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:532,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/array-test.c:533,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/array-test.c:521,1
    - Dst: assert_int_array_zero_terminated
      Src: /src/glib/glib/tests/array-test.c:498,1
    - Dst: assert_int_array_zero_terminated
      Src: /src/glib/glib/tests/array-test.c:522,1
    - Dst: assert_int_array_zero_terminated
      Src: /src/glib/glib/tests/array-test.c:528,1
    - Dst: assert_int_array_equal
      Src: /src/glib/glib/tests/array-test.c:533,1
    - Dst: assert_int_array_zero_terminated
      Src: /src/glib/glib/tests/array-test.c:534,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/array-test.c:542,1
    - Dst: g_array_index
      Src: /src/glib/glib/tests/array-test.c:545,1
    - Dst: g_array_free
      Src: /src/glib/glib/tests/array-test.c:550,1
    - Dst: g_array_insert_vals
      Src: /src/glib/glib/tests/array-test.c:538,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 69
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 551
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 551
    functionName: array_insert_vals
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_array_free
    - g_assert_true
    - g_array_insert_vals
    - assert_int_array_zero_terminated
    - G_N_ELEMENTS
    - g_assert_cmpuint
    - g_array_index
    - assert_int_array_equal
    - g_array_new
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void array_insert_vals (gconstpointer test_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:1081,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/array-test.c:1085,1
    - Dst: g_ptr_array_is_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1081,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:1088,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - array
    - null_terminated
    argTypes:
    - GPtrArray*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1089
      start: 1078
    functionDepth: 0
    functionLinenumber: 1078
    functionLinenumberEnd: 1089
    functionName: assert_ptr_array_null_terminated
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_assert_null
    - g_ptr_array_is_null_terminated
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void assert_ptr_array_null_terminated (GPtrArray *array, gboolean
      null_terminated) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:232,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/tests/array-test.c:242,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:246,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:247,1
    - Dst: g_array_index
      Src: /src/glib/glib/tests/array-test.c:248,1
    - Dst: g_array_remove_index
      Src: /src/glib/glib/tests/array-test.c:250,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:254,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:271,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/array-test.c:272,1
    - Dst: g_memdup2
      Src: /src/glib/glib/tests/array-test.c:275,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:279,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/tests/array-test.c:288,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:297,1
    - Dst: g_array_index
      Src: /src/glib/glib/tests/array-test.c:281,1
    - Dst: g_array_new
      Src: /src/glib/glib/tests/array-test.c:220,1
    - Dst: g_memdup2
      Src: /src/glib/glib/tests/array-test.c:229,1
    - Dst: g_array_new_take_zero_terminated
      Src: /src/glib/glib/tests/array-test.c:230,1
    - Dst: g_array_index
      Src: /src/glib/glib/tests/array-test.c:235,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:236,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:233,1
    - Dst: g_array_index
      Src: /src/glib/glib/tests/array-test.c:236,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:251,1
    - Dst: g_array_remove_index
      Src: /src/glib/glib/tests/array-test.c:252,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:253,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/array-test.c:259,1
    - Dst: g_array_prepend_val
      Src: /src/glib/glib/tests/array-test.c:290,1
    - Dst: g_array_index
      Src: /src/glib/glib/tests/array-test.c:282,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:300,1
    - Dst: g_array_remove_index
      Src: /src/glib/glib/tests/array-test.c:298,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/array-test.c:302,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/tests/array-test.c:265,1
    - Dst: g_array_index
      Src: /src/glib/glib/tests/array-test.c:294,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:225,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/array-test.c:226,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/array-test.c:231,1
    - Dst: g_array_prepend_val
      Src: /src/glib/glib/tests/array-test.c:244,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/tests/array-test.c:268,1
    - Dst: g_array_steal
      Src: /src/glib/glib/tests/array-test.c:270,1
    - Dst: g_array_new_take_zero_terminated
      Src: /src/glib/glib/tests/array-test.c:276,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/array-test.c:277,1
    - Dst: g_array_new
      Src: /src/glib/glib/tests/array-test.c:263,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:278,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:293,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:282,1
    - Dst: g_array_index
      Src: /src/glib/glib/tests/array-test.c:300,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/array-test.c:306,1
    - Dst: g_array_index
      Src: /src/glib/glib/tests/array-test.c:293,1
    - Dst: g_array_index
      Src: /src/glib/glib/tests/array-test.c:254,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/array-test.c:305,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:299,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/array-test.c:273,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/tests/array-test.c:222,1
    - Dst: g_array_steal
      Src: /src/glib/glib/tests/array-test.c:224,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/array-test.c:227,1
    - Dst: g_array_index
      Src: /src/glib/glib/tests/array-test.c:233,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/array-test.c:238,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:235,1
    - Dst: g_array_index
      Src: /src/glib/glib/tests/array-test.c:247,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:248,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/array-test.c:256,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/array-test.c:260,1
    - Dst: g_array_index
      Src: /src/glib/glib/tests/array-test.c:279,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:281,1
    - Dst: g_array_remove_index
      Src: /src/glib/glib/tests/array-test.c:296,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:294,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:292,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/array-test.c:284,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 101
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 307
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 307
    functionName: array_new_take_zero_terminated
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_array_new_take_zero_terminated
    - g_array_prepend_val
    - g_array_append_val
    - g_array_remove_index
    - g_assert_nonnull
    - g_assert_cmpuint
    - g_array_index
    - g_clear_pointer
    - g_array_new
    - g_array_steal
    - g_assert_cmpmem
    - g_memdup2
    linkageType: ''
    returnType: void
    signature: 'static void array_new_take_zero_terminated (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/array-test.c:313,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/array-test.c:319,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/array-test.c:315,1
    - Dst: g_array_new_take
      Src: /src/glib/glib/tests/array-test.c:322,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/array-test.c:321,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/array-test.c:324,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/array-test.c:326,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/array-test.c:328,1
    - Dst: g_array_new_take
      Src: /src/glib/glib/tests/array-test.c:329,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/array-test.c:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 332
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 332
    functionName: array_new_take_overflow
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_assert_null
    - g_test_undefined
    - g_test_expect_message
    - g_array_new_take
    - g_test_skip
    linkageType: ''
    returnType: void
    signature: 'static void array_new_take_overflow (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_array_new
      Src: /src/glib/glib/tests/array-test.c:563,1
    - Dst: assert_int_array_zero_terminated
      Src: /src/glib/glib/tests/array-test.c:566,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:568,1
    - Dst: g_array_remove_index
      Src: /src/glib/glib/tests/array-test.c:570,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/tests/array-test.c:565,1
    - Dst: g_array_remove_index
      Src: /src/glib/glib/tests/array-test.c:571,1
    - Dst: g_array_remove_index
      Src: /src/glib/glib/tests/array-test.c:572,1
    - Dst: g_array_remove_index
      Src: /src/glib/glib/tests/array-test.c:573,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:575,1
    - Dst: assert_int_array_zero_terminated
      Src: /src/glib/glib/tests/array-test.c:576,1
    - Dst: g_array_index
      Src: /src/glib/glib/tests/array-test.c:581,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:583,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/array-test.c:582,1
    - Dst: g_array_free
      Src: /src/glib/glib/tests/array-test.c:587,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 588
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 588
    functionName: array_remove_index
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_array_free
    - assert_int_array_zero_terminated
    - g_array_append_val
    - g_array_remove_index
    - g_assert
    - g_array_index
    - g_array_new
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void array_remove_index (gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_steal
      Src: /src/glib/glib/tests/array-test.c:1102,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/array-test.c:1106,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:1107,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1110,1
    - Dst: g_ptr_array_steal
      Src: /src/glib/glib/tests/array-test.c:1113,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/array-test.c:1116,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:1118,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/array-test.c:1120,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:1119,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1116,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/array-test.c:1126,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/array-test.c:1101,1
    - Dst: g_ptr_array_steal
      Src: /src/glib/glib/tests/array-test.c:1105,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:1121,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/tests/array-test.c:1131,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:1136,1
    - Dst: g_ptr_array_new_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1133,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/array-test.c:1110,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:1114,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1126,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/array-test.c:1127,1
    - Dst: g_free
      Src: /src/glib/glib/tests/array-test.c:1129,1
    - Dst: g_ptr_array_steal
      Src: /src/glib/glib/tests/array-test.c:1134,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/array-test.c:1135,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/array-test.c:1103,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/array-test.c:1118,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1119,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:1115,1
    - Dst: g_ptr_array_remove_index
      Src: /src/glib/glib/tests/array-test.c:1123,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 43
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1137
      start: 1092
    functionDepth: 0
    functionLinenumber: 1092
    functionLinenumberEnd: 1137
    functionName: pointer_array_steal
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_ptr_array_unref
    - g_ptr_array_steal
    - g_assert_null
    - g_free
    - g_ptr_array_remove_index
    - g_ptr_array_new_null_terminated
    - GINT_TO_POINTER
    - g_assert_cmpmem
    - g_ptr_array_free
    - g_ptr_array_new
    - g_ptr_array_index
    - g_ptr_array_add
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_steal (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_array_new
      Src: /src/glib/glib/tests/array-test.c:132,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:133,1
    - Dst: strlen
      Src: /src/glib/glib/tests/array-test.c:135,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:136,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/tests/array-test.c:135,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:137,1
    - Dst: g_array_free
      Src: /src/glib/glib/tests/array-test.c:139,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:140,1
    - Dst: g_free
      Src: /src/glib/glib/tests/array-test.c:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 142
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 142
    functionName: array_new_zero_terminated
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_array_free
    - strlen
    - g_assert_cmpuint
    - g_assert_cmpstr
    - g_array_new
    - g_array_append_vals
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void array_new_zero_terminated (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_array_new
      Src: /src/glib/glib/tests/array-test.c:640,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:644,1
    - Dst: g_array_remove_range
      Src: /src/glib/glib/tests/array-test.c:647,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/tests/array-test.c:642,1
    - Dst: assert_int_array_zero_terminated
      Src: /src/glib/glib/tests/array-test.c:645,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:649,1
    - Dst: assert_int_array_zero_terminated
      Src: /src/glib/glib/tests/array-test.c:650,1
    - Dst: g_array_index
      Src: /src/glib/glib/tests/array-test.c:655,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/array-test.c:656,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:657,1
    - Dst: g_array_remove_range
      Src: /src/glib/glib/tests/array-test.c:662,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:669,1
    - Dst: g_array_free
      Src: /src/glib/glib/tests/array-test.c:672,1
    - Dst: assert_int_array_zero_terminated
      Src: /src/glib/glib/tests/array-test.c:670,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:664,1
    - Dst: g_array_remove_range
      Src: /src/glib/glib/tests/array-test.c:667,1
    - Dst: assert_int_array_zero_terminated
      Src: /src/glib/glib/tests/array-test.c:665,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 673
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 673
    functionName: array_remove_range
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_array_free
    - assert_int_array_zero_terminated
    - g_array_append_val
    - g_assert
    - g_array_index
    - g_array_remove_range
    - g_array_new
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void array_remove_range (gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/array-test.c:1145,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/tests/array-test.c:1151,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1149,1
    - Dst: g_ptr_array_new_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1147,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/array-test.c:1148,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/array-test.c:1152,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/array-test.c:1153,1
    - Dst: g_free
      Src: /src/glib/glib/tests/array-test.c:1155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1156
      start: 1139
    functionDepth: 0
    functionLinenumber: 1139
    functionLinenumberEnd: 1156
    functionName: pointer_array_free_null_terminated
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_test_summary
    - g_assert_null
    - assert_ptr_array_null_terminated
    - g_assert_nonnull
    - g_ptr_array_new_null_terminated
    - g_ptr_array_free
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_free_null_terminated (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_sized_new
      Src: /src/glib/glib/tests/array-test.c:1166,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1172,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/array-test.c:1172,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/array-test.c:1169,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1169,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/array-test.c:1172,1
    - Dst: g_ptr_array_foreach
      Src: /src/glib/glib/tests/array-test.c:1174,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/array-test.c:1175,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/tests/array-test.c:1177,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/array-test.c:1179,1
    - Dst: g_free
      Src: /src/glib/glib/tests/array-test.c:1180,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/array-test.c:1179,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1181
      start: 1158
    functionDepth: 0
    functionLinenumber: 1158
    functionLinenumberEnd: 1181
    functionName: pointer_array_add
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_ptr_array_sized_new
    - g_assert
    - g_free
    - g_ptr_array_foreach
    - GINT_TO_POINTER
    - g_ptr_array_free
    - g_ptr_array_index
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_add (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_array_sized_new
      Src: /src/glib/glib/tests/array-test.c:110,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:115,1
    - Dst: g_array_set_size
      Src: /src/glib/glib/tests/array-test.c:114,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:111,1
    - Dst: assert_int_array_zero_terminated
      Src: /src/glib/glib/tests/array-test.c:112,1
    - Dst: assert_int_array_zero_terminated
      Src: /src/glib/glib/tests/array-test.c:116,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:120,1
    - Dst: g_array_index
      Src: /src/glib/glib/tests/array-test.c:120,1
    - Dst: g_array_unref
      Src: /src/glib/glib/tests/array-test.c:122,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 123
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 123
    functionName: array_set_size_sized
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_array_set_size
    - assert_int_array_zero_terminated
    - g_array_sized_new
    - g_assert_cmpuint
    - g_array_index
    - g_array_unref
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void array_set_size_sized (gconstpointer test_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_array_new
      Src: /src/glib/glib/tests/array-test.c:600,1
    - Dst: g_array_remove_index_fast
      Src: /src/glib/glib/tests/array-test.c:607,1
    - Dst: assert_int_array_zero_terminated
      Src: /src/glib/glib/tests/array-test.c:605,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/tests/array-test.c:602,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:604,1
    - Dst: g_array_remove_index_fast
      Src: /src/glib/glib/tests/array-test.c:608,1
    - Dst: g_array_remove_index_fast
      Src: /src/glib/glib/tests/array-test.c:609,1
    - Dst: g_array_remove_index_fast
      Src: /src/glib/glib/tests/array-test.c:610,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:612,1
    - Dst: assert_int_array_zero_terminated
      Src: /src/glib/glib/tests/array-test.c:613,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/array-test.c:619,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:622,1
    - Dst: g_array_free
      Src: /src/glib/glib/tests/array-test.c:627,1
    - Dst: g_array_index
      Src: /src/glib/glib/tests/array-test.c:618,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 628
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 628
    functionName: array_remove_index_fast
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_array_free
    - assert_int_array_zero_terminated
    - g_array_append_val
    - g_assert
    - g_array_index
    - g_array_remove_index_fast
    - g_array_new
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void array_remove_index_fast (gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_array_new
      Src: /src/glib/glib/tests/array-test.c:344,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/array-test.c:346,1
    - Dst: g_array_steal
      Src: /src/glib/glib/tests/array-test.c:348,1
    - Dst: g_array_steal
      Src: /src/glib/glib/tests/array-test.c:345,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:371,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:370,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:350,1
    - Dst: g_array_steal
      Src: /src/glib/glib/tests/array-test.c:360,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:365,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:362,1
    - Dst: g_array_index
      Src: /src/glib/glib/tests/array-test.c:370,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/array-test.c:349,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:369,1
    - Dst: g_array_remove_index
      Src: /src/glib/glib/tests/array-test.c:373,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/tests/array-test.c:367,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:378,1
    - Dst: g_array_free
      Src: /src/glib/glib/tests/array-test.c:382,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/tests/array-test.c:353,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:356,1
    - Dst: g_array_index
      Src: /src/glib/glib/tests/array-test.c:356,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:364,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/tests/array-test.c:376,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/array-test.c:379,1
    - Dst: g_free
      Src: /src/glib/glib/tests/array-test.c:381,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 383
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 383
    functionName: array_steal
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_array_free
    - g_assert_null
    - g_array_append_val
    - g_array_remove_index
    - g_array_index
    - g_array_new
    - g_array_steal
    - g_assert_cmpmem
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void array_steal (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/array-test.c:720,1
    - Dst: g_array_copy
      Src: /src/glib/glib/tests/array-test.c:724,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/array-test.c:725,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/array-test.c:727,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/array-test.c:722,1
    - Dst: g_array_new
      Src: /src/glib/glib/tests/array-test.c:731,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/tests/array-test.c:734,1
    - Dst: g_array_copy
      Src: /src/glib/glib/tests/array-test.c:736,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:740,1
    - Dst: g_array_index
      Src: /src/glib/glib/tests/array-test.c:740,1
    - Dst: g_array_index
      Src: /src/glib/glib/tests/array-test.c:741,1
    - Dst: g_array_set_size
      Src: /src/glib/glib/tests/array-test.c:754,1
    - Dst: g_array_unref
      Src: /src/glib/glib/tests/array-test.c:761,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:747,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:756,1
    - Dst: g_array_unref
      Src: /src/glib/glib/tests/array-test.c:760,1
    - Dst: g_array_index
      Src: /src/glib/glib/tests/array-test.c:756,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 762
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 762
    functionName: array_copy
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_assert_cmpint
    - g_assert_null
    - g_array_append_val
    - g_array_set_size
    - g_test_undefined
    - g_assert_cmpuint
    - g_array_index
    - g_test_expect_message
    - g_array_new
    - g_array_unref
    - g_array_copy
    linkageType: ''
    returnType: void
    signature: 'static void array_copy (gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_array_new
      Src: /src/glib/glib/tests/array-test.c:783,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/array-test.c:790,1
    - Dst: assert_int_array_zero_terminated
      Src: /src/glib/glib/tests/array-test.c:793,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/tests/array-test.c:791,1
    - Dst: g_array_sort
      Src: /src/glib/glib/tests/array-test.c:786,1
    - Dst: g_array_sort
      Src: /src/glib/glib/tests/array-test.c:795,1
    - Dst: assert_int_array_zero_terminated
      Src: /src/glib/glib/tests/array-test.c:796,1
    - Dst: g_array_index
      Src: /src/glib/glib/tests/array-test.c:801,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:802,1
    - Dst: g_array_free
      Src: /src/glib/glib/tests/array-test.c:806,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 807
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 807
    functionName: array_sort
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_array_free
    - assert_int_array_zero_terminated
    - g_array_append_val
    - g_array_index
    - g_array_sort
    - g_array_new
    - g_random_int_range
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void array_sort (gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new_take_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1411,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1414,1
    - Dst: g_memdup2
      Src: /src/glib/glib/tests/array-test.c:1412,1
    - Dst: g_ptr_array_is_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1413,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:1413,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1415,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/array-test.c:1417,1
    - Dst: g_ptr_array_new_take_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1419,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:1420,1
    - Dst: g_ptr_array_is_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1420,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1421,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1422,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/array-test.c:1424,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1425
      start: 1405
    functionDepth: 0
    functionLinenumber: 1405
    functionLinenumberEnd: 1425
    functionName: pointer_array_new_take_null_terminated_empty
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - assert_ptr_array_null_terminated
    - g_ptr_array_new_take_null_terminated
    - g_assert_cmpuint
    - g_clear_pointer
    - g_ptr_array_is_null_terminated
    - g_memdup2
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_new_take_null_terminated_empty (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/array-test.c:1995,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/array-test.c:2001,1
    - Dst: g_free
      Src: /src/glib/glib/tests/array-test.c:2060,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:2054,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2050,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2051,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/tests/array-test.c:2059,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/array-test.c:1985,1
    - Dst: g_ptr_array_new_null_terminated
      Src: /src/glib/glib/tests/array-test.c:2010,1
    - Dst: g_ptr_array_copy
      Src: /src/glib/glib/tests/array-test.c:2026,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:2018,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2013,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:2014,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2030,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2030,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2033,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:2036,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2047,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/array-test.c:1991,1
    - Dst: g_malloc
      Src: /src/glib/glib/tests/array-test.c:1989,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:2015,1
    - Dst: g_ptr_array_new_null_terminated
      Src: /src/glib/glib/tests/array-test.c:2021,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2028,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:2017,1
    - Dst: g_ptr_array_copy
      Src: /src/glib/glib/tests/array-test.c:2042,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2045,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2047,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/tests/array-test.c:2056,1
    - Dst: g_ptr_array_set_free_func
      Src: /src/glib/glib/tests/array-test.c:2043,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/array-test.c:1998,1
    - Dst: g_ptr_array_copy
      Src: /src/glib/glib/tests/array-test.c:2000,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2002,1
    - Dst: g_ptr_array_copy
      Src: /src/glib/glib/tests/array-test.c:2011,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2024,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2033,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2034,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:2037,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2050,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:2053,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/tests/array-test.c:2039,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 63
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2061
      start: 1982
    functionDepth: 0
    functionLinenumber: 1982
    functionLinenumberEnd: 2061
    functionName: pointer_array_copy
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - GPOINTER_TO_INT
    - g_ptr_array_unref
    - g_test_summary
    - g_test_undefined
    - assert_ptr_array_null_terminated
    - g_assert_cmpuint
    - g_free
    - g_malloc
    - g_ptr_array_copy
    - g_test_expect_message
    - g_ptr_array_set_free_func
    - g_ptr_array_new_null_terminated
    - g_ptr_array_free
    - g_ptr_array_index
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_copy (gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_byte_array_new
      Src: /src/glib/glib/tests/array-test.c:2915,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/array-test.c:2923,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/array-test.c:2924,1
    - Dst: g_byte_array_prepend
      Src: /src/glib/glib/tests/array-test.c:2919,1
    - Dst: g_byte_array_set_size
      Src: /src/glib/glib/tests/array-test.c:2916,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/array-test.c:2925,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/array-test.c:2926,1
    - Dst: g_byte_array_free
      Src: /src/glib/glib/tests/array-test.c:2929,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2930
      start: 2909
    functionDepth: 0
    functionLinenumber: 2909
    functionLinenumberEnd: 2930
    functionName: byte_array_prepend
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_byte_array_prepend
    - g_assert
    - g_byte_array_new
    - g_byte_array_free
    - g_byte_array_set_size
    linkageType: ''
    returnType: void
    signature: 'static void byte_array_prepend (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - p1
    - p2
    - data
    argTypes:
    - gconstpointer
    - gconstpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 771
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 771
    functionName: int_compare_data
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int int_compare_data (gconstpointer p1, gconstpointer p2, gpointer
      data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1442,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/array-test.c:1446,1
    - Dst: g_ptr_array_new_take_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1450,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1465,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1470,1
    - Dst: g_ptr_array_is_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1437,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/array-test.c:1440,1
    - Dst: g_ptr_array_steal
      Src: /src/glib/glib/tests/array-test.c:1444,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1445,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1455,1
    - Dst: g_ptr_array_is_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1451,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1453,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/array-test.c:1458,1
    - Dst: g_ptr_array_insert
      Src: /src/glib/glib/tests/array-test.c:1464,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/array-test.c:1464,1
    - Dst: g_ptr_array_new_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1436,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:1437,1
    - Dst: g_memdup2
      Src: /src/glib/glib/tests/array-test.c:1449,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:1455,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:1451,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/array-test.c:1450,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1456,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1462,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:1468,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:1469,1
    - Dst: g_ptr_array_remove_index
      Src: /src/glib/glib/tests/array-test.c:1476,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1474,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1440,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/array-test.c:1447,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1452,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:1456,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1461,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/array-test.c:1461,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1468,1
    - Dst: g_ptr_array_remove_index
      Src: /src/glib/glib/tests/array-test.c:1472,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1477,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/array-test.c:1480,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1473,1
    - Dst: g_free
      Src: /src/glib/glib/tests/array-test.c:1484,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1478,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1467,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:1483,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 57
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1485
      start: 1427
    functionDepth: 0
    functionLinenumber: 1427
    functionLinenumberEnd: 1485
    functionName: pointer_array_new_take_null_terminated_with_free_func
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_strdup_printf
    - g_ptr_array_steal
    - g_ptr_array_insert
    - g_ptr_array_is_null_terminated
    - g_assert_cmpmem
    - g_memdup2
    - g_assert_true
    - assert_ptr_array_null_terminated
    - g_assert_nonnull
    - g_ptr_array_new_take_null_terminated
    - g_clear_pointer
    - g_ptr_array_new_null_terminated
    - g_ptr_array_add
    - g_ptr_array_unref
    - g_assert_cmpuint
    - g_ptr_array_remove_index
    - g_ptr_array_index
    - g_assert_cmpstr
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_new_take_null_terminated_with_free_func
      (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/array-test.c:2392,1
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/glib/tests/array-test.c:2399,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - a
    - b
    - user_data
    argTypes:
    - gconstpointer
    - gconstpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 2409
      start: 2388
    functionDepth: 0
    functionLinenumber: 2388
    functionLinenumberEnd: 2409
    functionName: sort_filelist_how
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_ascii_strcasecmp
    linkageType: ''
    returnType: gint
    signature: 'static gint sort_filelist_how (gconstpointer a, gconstpointer b, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_byte_array_new
      Src: /src/glib/glib/tests/array-test.c:2939,1
    - Dst: g_byte_array_ref
      Src: /src/glib/glib/tests/array-test.c:2943,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/array-test.c:2944,1
    - Dst: g_byte_array_append
      Src: /src/glib/glib/tests/array-test.c:2941,1
    - Dst: g_byte_array_unref
      Src: /src/glib/glib/tests/array-test.c:2945,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/array-test.c:2948,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/array-test.c:2949,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/array-test.c:2950,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/array-test.c:2951,1
    - Dst: g_byte_array_ref
      Src: /src/glib/glib/tests/array-test.c:2954,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:2957,1
    - Dst: g_byte_array_unref
      Src: /src/glib/glib/tests/array-test.c:2958,1
    - Dst: g_byte_array_free
      Src: /src/glib/glib/tests/array-test.c:2956,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/array-test.c:2955,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2959
      start: 2932
    functionDepth: 0
    functionLinenumber: 2932
    functionLinenumberEnd: 2959
    functionName: byte_array_ref_count
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_byte_array_ref
    - g_byte_array_unref
    - g_assert
    - g_byte_array_new
    - g_byte_array_append
    - g_byte_array_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void byte_array_ref_count (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:1815,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1817,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1824,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/array-test.c:1826,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:1821,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:1830,1
    - Dst: g_free
      Src: /src/glib/glib/tests/array-test.c:1834,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/array-test.c:1809,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1814,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:1816,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:1818,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:1822,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1823,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:1819,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1827,1
    - Dst: g_strjoinv
      Src: /src/glib/glib/tests/array-test.c:1829,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/array-test.c:1833,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1815,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:1832,1
    - Dst: g_ptr_array_new_from_null_terminated_array
      Src: /src/glib/glib/tests/array-test.c:1810,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:1813,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1818,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:1824,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1820,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1821,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/array-test.c:1827,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1835
      start: 1802
    functionDepth: 0
    functionLinenumber: 1802
    functionLinenumberEnd: 1835
    functionName: pointer_array_new_from_null_terminated_array_from_gstrv
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_ptr_array_new_from_null_terminated_array
    - g_ptr_array_unref
    - g_assert_true
    - g_assert_null
    - g_free
    - g_assert_cmpstr
    - g_strfreev
    - g_strjoinv
    - g_strsplit
    - g_ptr_array_index
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_new_from_null_terminated_array_from_gstrv
      (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptr_compare_values
      Src: /src/glib/glib/tests/array-test.c:2268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2269
      start: 2262
    functionDepth: 0
    functionLinenumber: 2262
    functionLinenumberEnd: 2269
    functionName: ptr_compare
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - ptr_compare_values
    linkageType: ''
    returnType: gint
    signature: 'static gint ptr_compare (gconstpointer p1, gconstpointer p2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_byte_array_new
      Src: /src/glib/glib/tests/array-test.c:3106,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/array-test.c:3109,1
    - Dst: g_byte_array_sort_with_data
      Src: /src/glib/glib/tests/array-test.c:3113,1
    - Dst: g_byte_array_append
      Src: /src/glib/glib/tests/array-test.c:3110,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:3119,1
    - Dst: g_byte_array_free
      Src: /src/glib/glib/tests/array-test.c:3123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3124
      start: 3098
    functionDepth: 0
    functionLinenumber: 3098
    functionLinenumberEnd: 3124
    functionName: byte_array_sort_with_data
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_byte_array_new
    - g_byte_array_append
    - g_byte_array_free
    - g_random_int_range
    - g_byte_array_sort_with_data
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void byte_array_sort_with_data (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/tests/array-test.c:1861,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/array-test.c:1864,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/array-test.c:1869,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1876,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/array-test.c:1849,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/array-test.c:1855,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/tests/array-test.c:1873,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/array-test.c:1840,1
    - Dst: g_ptr_array_new_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1847,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:1855,1
    - Dst: g_ptr_array_ref
      Src: /src/glib/glib/tests/array-test.c:1860,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:1862,1
    - Dst: g_ptr_array_foreach
      Src: /src/glib/glib/tests/array-test.c:1868,1
    - Dst: g_ptr_array_ref
      Src: /src/glib/glib/tests/array-test.c:1872,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:1875,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:1864,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/array-test.c:1864,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1851,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1856,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:1866,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:1878,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1879
      start: 1837
    functionDepth: 0
    functionLinenumber: 1837
    functionLinenumberEnd: 1879
    functionName: pointer_array_ref_count
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_ptr_array_unref
    - GPOINTER_TO_INT
    - g_assert_cmpint
    - g_assert
    - assert_ptr_array_null_terminated
    - g_ptr_array_foreach
    - g_ptr_array_new_null_terminated
    - GINT_TO_POINTER
    - g_ptr_array_free
    - g_ptr_array_new
    - g_ptr_array_index
    - g_ptr_array_add
    - g_ptr_array_ref
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_ref_count (gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/array-test.c:2274,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/array-test.c:2274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - p1
    - p2
    - data
    argTypes:
    - gconstpointer
    - gconstpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 2275
      start: 2271
    functionDepth: 0
    functionLinenumber: 2271
    functionLinenumberEnd: 2275
    functionName: ptr_compare_values_data
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    linkageType: ''
    returnType: gint
    signature: 'static gint ptr_compare_values_data (gconstpointer p1, gconstpointer
      p2, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_memdup2
      Src: /src/glib/glib/tests/array-test.c:3132,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:3135,1
    - Dst: g_byte_array_new_take
      Src: /src/glib/glib/tests/array-test.c:3133,1
    - Dst: g_byte_array_free
      Src: /src/glib/glib/tests/array-test.c:3136,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/array-test.c:3134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3137
      start: 3126
    functionDepth: 0
    functionLinenumber: 3126
    functionLinenumberEnd: 3137
    functionName: byte_array_new_take
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_assert_cmpuint
    - g_byte_array_free
    - g_memdup2
    - g_byte_array_new_take
    linkageType: ''
    returnType: void
    signature: 'static void byte_array_new_take (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_array_new
      Src: /src/glib/glib/tests/array-test.c:395,1
    - Dst: g_array_index
      Src: /src/glib/glib/tests/array-test.c:401,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/tests/array-test.c:397,1
    - Dst: assert_int_array_zero_terminated
      Src: /src/glib/glib/tests/array-test.c:398,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:401,1
    - Dst: g_array_free
      Src: /src/glib/glib/tests/array-test.c:403,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:405,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:407,1
    - Dst: g_free
      Src: /src/glib/glib/tests/array-test.c:409,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 410
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 410
    functionName: array_append_val
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_array_free
    - assert_int_array_zero_terminated
    - g_array_append_val
    - g_array_index
    - g_array_new
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void array_append_val (gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_array_new
      Src: /src/glib/glib/tests/array-test.c:819,1
    - Dst: assert_int_array_zero_terminated
      Src: /src/glib/glib/tests/array-test.c:829,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/tests/array-test.c:827,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/array-test.c:826,1
    - Dst: g_array_sort_with_data
      Src: /src/glib/glib/tests/array-test.c:822,1
    - Dst: g_array_sort_with_data
      Src: /src/glib/glib/tests/array-test.c:831,1
    - Dst: assert_int_array_zero_terminated
      Src: /src/glib/glib/tests/array-test.c:832,1
    - Dst: g_array_index
      Src: /src/glib/glib/tests/array-test.c:837,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:838,1
    - Dst: g_array_free
      Src: /src/glib/glib/tests/array-test.c:842,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 843
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 843
    functionName: array_sort_with_data
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_array_free
    - assert_int_array_zero_terminated
    - g_array_append_val
    - g_array_index
    - g_array_new
    - g_array_sort_with_data
    - g_random_int_range
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void array_sort_with_data (gconstpointer test_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/glib/glib/tests/array-test.c:2071,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/array-test.c:2085,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2101,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:2124,1
    - Dst: g_ptr_array_new_null_terminated
      Src: /src/glib/glib/tests/array-test.c:2131,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:2143,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:2146,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:2147,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2156,1
    - Dst: g_ptr_array_extend
      Src: /src/glib/glib/tests/array-test.c:2159,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:2127,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:2185,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:2192,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2176,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2155,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/array-test.c:2067,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/array-test.c:2077,1
    - Dst: g_ptr_array_extend
      Src: /src/glib/glib/tests/array-test.c:2079,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/array-test.c:2082,1
    - Dst: g_ptr_array_new_null_terminated
      Src: /src/glib/glib/tests/array-test.c:2096,1
    - Dst: g_ptr_array_new_null_terminated
      Src: /src/glib/glib/tests/array-test.c:2110,1
    - Dst: g_ptr_array_new_null_terminated
      Src: /src/glib/glib/tests/array-test.c:2111,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2115,1
    - Dst: g_ptr_array_extend
      Src: /src/glib/glib/tests/array-test.c:2118,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2121,1
    - Dst: g_ptr_array_new_null_terminated
      Src: /src/glib/glib/tests/array-test.c:2151,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2162,1
    - Dst: g_free
      Src: /src/glib/glib/tests/array-test.c:2194,1
    - Dst: g_ptr_array_new_null_terminated
      Src: /src/glib/glib/tests/array-test.c:2171,1
    - Dst: g_ptr_array_new_null_terminated
      Src: /src/glib/glib/tests/array-test.c:2172,1
    - Dst: g_ptr_array_extend
      Src: /src/glib/glib/tests/array-test.c:2138,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:2144,1
    - Dst: g_ptr_array_sized_new
      Src: /src/glib/glib/tests/array-test.c:2076,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/array-test.c:2080,1
    - Dst: g_ptr_array_new_null_terminated
      Src: /src/glib/glib/tests/array-test.c:2095,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:2087,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:2103,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2100,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:2104,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:2107,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2121,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:2123,1
    - Dst: g_ptr_array_new_null_terminated
      Src: /src/glib/glib/tests/array-test.c:2150,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:2165,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:2168,1
    - Dst: g_ptr_array_extend
      Src: /src/glib/glib/tests/array-test.c:2180,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2183,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2162,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:2186,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/array-test.c:2073,1
    - Dst: g_ptr_array_extend
      Src: /src/glib/glib/tests/array-test.c:2084,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:2106,1
    - Dst: g_ptr_array_extend
      Src: /src/glib/glib/tests/array-test.c:2098,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:2126,1
    - Dst: g_ptr_array_new_null_terminated
      Src: /src/glib/glib/tests/array-test.c:2130,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2135,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2141,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:2164,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2177,1
    - Dst: g_free
      Src: /src/glib/glib/tests/array-test.c:2190,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:2193,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2183,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2141,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:2167,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2190,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 115
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2195
      start: 2064
    functionDepth: 0
    functionLinenumber: 2064
    functionLinenumberEnd: 2195
    functionName: pointer_array_extend
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_ptr_array_sized_new
    - GPOINTER_TO_INT
    - g_test_assert_expected_messages
    - g_ptr_array_unref
    - g_test_undefined
    - assert_ptr_array_null_terminated
    - g_assert_cmpuint
    - g_free
    - g_malloc
    - g_test_expect_message
    - g_ptr_array_extend
    - g_ptr_array_new_null_terminated
    - g_ptr_array_index
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_extend (gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_array_new
      Src: /src/glib/glib/tests/array-test.c:445,1
    - Dst: assert_int_array_equal
      Src: /src/glib/glib/tests/array-test.c:451,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:456,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/array-test.c:463,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:462,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/array-test.c:457,1
    - Dst: g_array_prepend_vals
      Src: /src/glib/glib/tests/array-test.c:467,1
    - Dst: assert_int_array_equal
      Src: /src/glib/glib/tests/array-test.c:469,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:474,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/array-test.c:475,1
    - Dst: assert_int_array_zero_terminated
      Src: /src/glib/glib/tests/array-test.c:464,1
    - Dst: assert_int_array_zero_terminated
      Src: /src/glib/glib/tests/array-test.c:458,1
    - Dst: assert_int_array_zero_terminated
      Src: /src/glib/glib/tests/array-test.c:476,1
    - Dst: assert_int_array_equal
      Src: /src/glib/glib/tests/array-test.c:475,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:450,1
    - Dst: g_array_prepend_vals
      Src: /src/glib/glib/tests/array-test.c:449,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/array-test.c:451,1
    - Dst: g_array_prepend_vals
      Src: /src/glib/glib/tests/array-test.c:455,1
    - Dst: assert_int_array_equal
      Src: /src/glib/glib/tests/array-test.c:457,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:468,1
    - Dst: g_array_prepend_vals
      Src: /src/glib/glib/tests/array-test.c:461,1
    - Dst: assert_int_array_equal
      Src: /src/glib/glib/tests/array-test.c:463,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/array-test.c:469,1
    - Dst: g_array_prepend_vals
      Src: /src/glib/glib/tests/array-test.c:473,1
    - Dst: assert_int_array_zero_terminated
      Src: /src/glib/glib/tests/array-test.c:446,1
    - Dst: assert_int_array_zero_terminated
      Src: /src/glib/glib/tests/array-test.c:452,1
    - Dst: assert_int_array_zero_terminated
      Src: /src/glib/glib/tests/array-test.c:470,1
    - Dst: g_array_free
      Src: /src/glib/glib/tests/array-test.c:478,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 42
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 479
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 479
    functionName: array_prepend_vals
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_array_free
    - g_array_prepend_vals
    - g_assert_true
    - assert_int_array_zero_terminated
    - G_N_ELEMENTS
    - assert_int_array_equal
    - g_array_new
    linkageType: ''
    returnType: void
    signature: 'static void array_prepend_vals (gconstpointer test_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/array-test.c:899,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/array-test.c:903,1
    - Dst: g_array_binary_search
      Src: /src/glib/glib/tests/array-test.c:905,1
    - Dst: g_array_binary_search
      Src: /src/glib/glib/tests/array-test.c:928,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/array-test.c:931,1
    - Dst: g_array_binary_search
      Src: /src/glib/glib/tests/array-test.c:934,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:944,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/array-test.c:963,1
    - Dst: g_array_binary_search
      Src: /src/glib/glib/tests/array-test.c:966,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/tests/array-test.c:974,1
    - Dst: g_array_binary_search
      Src: /src/glib/glib/tests/array-test.c:987,1
    - Dst: g_array_sized_new
      Src: /src/glib/glib/tests/array-test.c:997,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/array-test.c:966,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/array-test.c:988,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/array-test.c:1005,1
    - Dst: g_array_sized_new
      Src: /src/glib/glib/tests/array-test.c:971,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/array-test.c:1008,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/array-test.c:905,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/array-test.c:906,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/array-test.c:910,1
    - Dst: g_array_binary_search
      Src: /src/glib/glib/tests/array-test.c:910,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/tests/array-test.c:926,1
    - Dst: g_array_binary_search
      Src: /src/glib/glib/tests/array-test.c:947,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/array-test.c:950,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/tests/array-test.c:957,1
    - Dst: g_array_binary_search
      Src: /src/glib/glib/tests/array-test.c:960,1
    - Dst: g_array_free
      Src: /src/glib/glib/tests/array-test.c:968,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/array-test.c:1002,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:977,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/array-test.c:992,1
    - Dst: g_array_sized_new
      Src: /src/glib/glib/tests/array-test.c:955,1
    - Dst: g_array_binary_search
      Src: /src/glib/glib/tests/array-test.c:981,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/array-test.c:991,1
    - Dst: g_array_sized_new
      Src: /src/glib/glib/tests/array-test.c:902,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/array-test.c:911,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:928,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/array-test.c:919,1
    - Dst: g_array_binary_search
      Src: /src/glib/glib/tests/array-test.c:919,1
    - Dst: g_array_binary_search
      Src: /src/glib/glib/tests/array-test.c:931,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/array-test.c:934,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/tests/array-test.c:941,1
    - Dst: g_array_binary_search
      Src: /src/glib/glib/tests/array-test.c:944,1
    - Dst: g_array_free
      Src: /src/glib/glib/tests/array-test.c:952,1
    - Dst: g_array_free
      Src: /src/glib/glib/tests/array-test.c:994,1
    - Dst: g_array_binary_search
      Src: /src/glib/glib/tests/array-test.c:1008,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/tests/array-test.c:999,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:982,1
    - Dst: g_array_free
      Src: /src/glib/glib/tests/array-test.c:1010,1
    - Dst: g_array_binary_search
      Src: /src/glib/glib/tests/array-test.c:963,1
    - Dst: g_array_binary_search
      Src: /src/glib/glib/tests/array-test.c:1005,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/array-test.c:908,1
    - Dst: g_array_free
      Src: /src/glib/glib/tests/array-test.c:912,1
    - Dst: g_array_sized_new
      Src: /src/glib/glib/tests/array-test.c:924,1
    - Dst: g_array_free
      Src: /src/glib/glib/tests/array-test.c:921,1
    - Dst: g_array_sized_new
      Src: /src/glib/glib/tests/array-test.c:916,1
    - Dst: g_array_free
      Src: /src/glib/glib/tests/array-test.c:936,1
    - Dst: g_array_sized_new
      Src: /src/glib/glib/tests/array-test.c:939,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/array-test.c:947,1
    - Dst: g_array_binary_search
      Src: /src/glib/glib/tests/array-test.c:950,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:960,1
    - Dst: g_array_binary_search
      Src: /src/glib/glib/tests/array-test.c:977,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:981,1
    - Dst: g_array_binary_search
      Src: /src/glib/glib/tests/array-test.c:1002,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/array-test.c:987,1
    - Dst: g_array_binary_search
      Src: /src/glib/glib/tests/array-test.c:988,1
    - Dst: g_array_binary_search
      Src: /src/glib/glib/tests/array-test.c:991,1
    - Dst: g_array_binary_search
      Src: /src/glib/glib/tests/array-test.c:992,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 108
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1011
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 1011
    functionName: test_array_binary_search
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_array_free
    - g_test_assert_expected_messages
    - g_assert_true
    - g_array_binary_search
    - g_array_append_val
    - g_test_undefined
    - g_array_sized_new
    - g_test_expect_message
    - g_assert_false
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_array_binary_search (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_byte_array_new
      Src: /src/glib/glib/tests/array-test.c:2851,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:2853,1
    - Dst: g_byte_array_steal
      Src: /src/glib/glib/tests/array-test.c:2852,1
    - Dst: g_byte_array_append
      Src: /src/glib/glib/tests/array-test.c:2857,1
    - Dst: g_free
      Src: /src/glib/glib/tests/array-test.c:2854,1
    - Dst: g_byte_array_steal
      Src: /src/glib/glib/tests/array-test.c:2860,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:2862,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:2863,1
    - Dst: g_byte_array_append
      Src: /src/glib/glib/tests/array-test.c:2865,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:2867,1
    - Dst: g_byte_array_remove_index
      Src: /src/glib/glib/tests/array-test.c:2871,1
    - Dst: g_byte_array_free
      Src: /src/glib/glib/tests/array-test.c:2874,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:2868,1
    - Dst: g_free
      Src: /src/glib/glib/tests/array-test.c:2873,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:2869,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2875
      start: 2842
    functionDepth: 0
    functionLinenumber: 2842
    functionLinenumberEnd: 2875
    functionName: byte_array_steal
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_byte_array_new
    - g_byte_array_append
    - g_byte_array_free
    - g_byte_array_steal
    - g_free
    - g_byte_array_remove_index
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void byte_array_steal (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_byte_array_new
      Src: /src/glib/glib/tests/array-test.c:3027,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:3035,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:3031,1
    - Dst: g_byte_array_append
      Src: /src/glib/glib/tests/array-test.c:3029,1
    - Dst: g_byte_array_remove_range
      Src: /src/glib/glib/tests/array-test.c:3033,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/array-test.c:3039,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/array-test.c:3040,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/array-test.c:3041,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/array-test.c:3042,1
    - Dst: g_byte_array_remove_range
      Src: /src/glib/glib/tests/array-test.c:3046,1
    - Dst: g_byte_array_remove_range
      Src: /src/glib/glib/tests/array-test.c:3047,1
    - Dst: g_byte_array_free
      Src: /src/glib/glib/tests/array-test.c:3049,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3050
      start: 3021
    functionDepth: 0
    functionLinenumber: 3021
    functionLinenumberEnd: 3050
    functionName: byte_array_remove_range
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_byte_array_new
    - g_byte_array_remove_range
    - g_byte_array_append
    - g_byte_array_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void byte_array_remove_range (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/array-test.c:1019,1
    - Dst: g_array_copy
      Src: /src/glib/glib/tests/array-test.c:1022,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/tests/array-test.c:1026,1
    - Dst: g_array_sized_new
      Src: /src/glib/glib/tests/array-test.c:1021,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1024,1
    - Dst: g_array_copy
      Src: /src/glib/glib/tests/array-test.c:1027,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1029,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1030,1
    - Dst: g_array_index
      Src: /src/glib/glib/tests/array-test.c:1030,1
    - Dst: g_array_index
      Src: /src/glib/glib/tests/array-test.c:1030,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1031,1
    - Dst: g_array_index
      Src: /src/glib/glib/tests/array-test.c:1032,1
    - Dst: g_array_unref
      Src: /src/glib/glib/tests/array-test.c:1034,1
    - Dst: g_array_unref
      Src: /src/glib/glib/tests/array-test.c:1035,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:1032,1
    - Dst: g_array_unref
      Src: /src/glib/glib/tests/array-test.c:1036,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1037
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1037
    functionName: test_array_copy_sized
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_test_summary
    - g_array_append_val
    - g_array_sized_new
    - g_assert_cmpuint
    - g_array_index
    - g_array_unref
    - g_array_copy
    linkageType: ''
    returnType: void
    signature: 'static void test_array_copy_sized (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_byte_array_sized_new
      Src: /src/glib/glib/tests/array-test.c:2884,1
    - Dst: g_byte_array_append
      Src: /src/glib/glib/tests/array-test.c:2886,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/array-test.c:2890,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/array-test.c:2891,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/array-test.c:2892,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/array-test.c:2893,1
    - Dst: g_byte_array_free
      Src: /src/glib/glib/tests/array-test.c:2896,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/array-test.c:2900,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/array-test.c:2901,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/array-test.c:2902,1
    - Dst: g_free
      Src: /src/glib/glib/tests/array-test.c:2906,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/array-test.c:2903,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 45
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2907
      start: 2877
    functionDepth: 0
    functionLinenumber: 2877
    functionLinenumberEnd: 2907
    functionName: byte_array_append
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_byte_array_sized_new
    - g_assert
    - g_byte_array_append
    - g_byte_array_free
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void byte_array_append (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 3059
      start: 3052
    functionDepth: 0
    functionLinenumber: 3052
    functionLinenumberEnd: 3059
    functionName: byte_compare
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int byte_compare (gconstpointer p1, gconstpointer p2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3231,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/array-test.c:3245,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/array-test.c:3244,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3235,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3259,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3199,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/array-test.c:3204,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/array-test.c:3260,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/array-test.c:3246,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/array-test.c:3243,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3270,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3271,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/array-test.c:3240,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3254,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3265,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/array-test.c:3241,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3194,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3222,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3239,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3226,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3250,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3247,1
    - Dst: add_array_test
      Src: /src/glib/glib/tests/array-test.c:3217,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/array-test.c:3277,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3191,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3198,1
    - Dst: add_array_test
      Src: /src/glib/glib/tests/array-test.c:3208,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3202,1
    - Dst: add_array_test
      Src: /src/glib/glib/tests/array-test.c:3213,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3230,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3234,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3258,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3249,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3269,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/array-test.c:3261,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3238,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3225,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3253,1
    - Dst: add_array_test
      Src: /src/glib/glib/tests/array-test.c:3216,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3257,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3193,1
    - Dst: add_array_test
      Src: /src/glib/glib/tests/array-test.c:3211,1
    - Dst: add_array_test
      Src: /src/glib/glib/tests/array-test.c:3210,1
    - Dst: add_array_test
      Src: /src/glib/glib/tests/array-test.c:3215,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3275,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3233,1
    - Dst: g_test_init
      Src: /src/glib/glib/tests/array-test.c:3188,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3197,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3201,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3248,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3229,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3268,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3272,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3274,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3256,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/array-test.c:3243,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3237,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3192,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3196,1
    - Dst: add_array_test
      Src: /src/glib/glib/tests/array-test.c:3209,1
    - Dst: add_array_test
      Src: /src/glib/glib/tests/array-test.c:3214,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3224,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3252,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3267,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3273,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/array-test.c:3244,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3264,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3200,1
    - Dst: add_array_test
      Src: /src/glib/glib/tests/array-test.c:3206,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/array-test.c:3245,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3228,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3232,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/array-test.c:3246,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3221,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/array-test.c:3260,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3223,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/array-test.c:3240,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3227,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3251,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3236,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/array-test.c:3241,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3255,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3195,1
    - Dst: add_array_test
      Src: /src/glib/glib/tests/array-test.c:3207,1
    - Dst: add_array_test
      Src: /src/glib/glib/tests/array-test.c:3212,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3242,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/array-test.c:3266,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/array-test.c:3261,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 92
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 3278
      start: 3175
    functionDepth: 0
    functionLinenumber: 3175
    functionLinenumberEnd: 3278
    functionName: main
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - add_array_test
    - g_test_add_data_func
    - G_N_ELEMENTS
    - g_test_run
    - GINT_TO_POINTER
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_array_new
      Src: /src/glib/glib/tests/array-test.c:421,1
    - Dst: g_array_prepend_val
      Src: /src/glib/glib/tests/array-test.c:423,1
    - Dst: assert_int_array_zero_terminated
      Src: /src/glib/glib/tests/array-test.c:424,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:427,1
    - Dst: g_array_index
      Src: /src/glib/glib/tests/array-test.c:427,1
    - Dst: g_array_free
      Src: /src/glib/glib/tests/array-test.c:429,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 430
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 430
    functionName: array_prepend_val
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_array_free
    - assert_int_array_zero_terminated
    - g_array_prepend_val
    - g_array_index
    - g_array_new
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void array_prepend_val (gconstpointer test_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/array-test.c:1042,1
    - Dst: g_array_new
      Src: /src/glib/glib/tests/array-test.c:1047,1
    - Dst: g_array_append_vals
      Src: /src/glib/glib/tests/array-test.c:1049,1
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/array-test.c:1045,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/array-test.c:1053,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/array-test.c:1054,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/array-test.c:1055,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1057
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1057
    functionName: array_overflow_append_vals
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_failed
    - g_test_undefined
    - g_test_trap_assert_stderr
    - g_test_trap_subprocess
    - g_array_new
    - g_array_append_vals
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void array_overflow_append_vals (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/glib/tests/array-test.c:2342,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2343
      start: 2336
    functionDepth: 0
    functionLinenumber: 2336
    functionLinenumberEnd: 2343
    functionName: sort_filelist
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_ascii_strcasecmp
    linkageType: ''
    returnType: gint
    signature: 'static gint sort_filelist (gconstpointer a, gconstpointer b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2637,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2638,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:2639,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:2641,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/array-test.c:2621,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2621,1
    - Dst: g_new0
      Src: /src/glib/glib/tests/array-test.c:2618,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2626,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/array-test.c:2626,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/array-test.c:2635,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:2653,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2654,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2650,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2640,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:2643,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/array-test.c:2647,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:2651,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2652,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:2655,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:2657,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2649,1
    - Dst: g_ptr_array_sort_values_with_data
      Src: /src/glib/glib/tests/array-test.c:2646,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/glib/tests/array-test.c:2616,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/array-test.c:2619,1
    - Dst: g_new0
      Src: /src/glib/glib/tests/array-test.c:2623,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/array-test.c:2624,1
    - Dst: g_new0
      Src: /src/glib/glib/tests/array-test.c:2628,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/array-test.c:2629,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2631,1
    - Dst: g_ptr_array_sort_values_with_data
      Src: /src/glib/glib/tests/array-test.c:2634,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/array-test.c:2631,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2642,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 51
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2658
      start: 2609
    functionDepth: 0
    functionLinenumber: 2609
    functionLinenumberEnd: 2658
    functionName: pointer_array_sort_values_with_data_example
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_ptr_array_unref
    - g_strdup
    - g_assert_cmpuint
    - g_assert_cmpstr
    - g_ptr_array_new_with_free_func
    - GINT_TO_POINTER
    - g_ptr_array_sort_values_with_data
    - g_new0
    - g_ptr_array_index
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_sort_values_with_data_example (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/array-test.c:2764,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/glib/tests/array-test.c:2772,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2776,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2782,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:2786,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:2795,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2797,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:2799,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:2803,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2804,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:2774,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:2796,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2794,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:2797,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2807,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:2814,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2816,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2818,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2809,1
    - Dst: g_ptr_array_new_null_terminated
      Src: /src/glib/glib/tests/array-test.c:2770,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2777,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2781,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2795,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2796,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:2809,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:2811,1
    - Dst: assert_ptr_array_null_terminated
      Src: /src/glib/glib/tests/array-test.c:2779,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2784,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:2790,1
    - Dst: g_ptr_array_steal_index
      Src: /src/glib/glib/tests/array-test.c:2789,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2791,1
    - Dst: g_ptr_array_steal_index_fast
      Src: /src/glib/glib/tests/array-test.c:2802,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/array-test.c:2808,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2808,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2817,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2819,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 48
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2820
      start: 2761
    functionDepth: 0
    functionLinenumber: 2761
    functionLinenumberEnd: 2820
    functionName: pointer_array_steal_index
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_ptr_array_unref
    - GPOINTER_TO_INT
    - g_assert_true
    - g_ptr_array_steal_index_fast
    - g_ptr_array_steal_index
    - assert_ptr_array_null_terminated
    - g_assert_cmpuint
    - g_ptr_array_new_null_terminated
    - g_ptr_array_new_with_free_func
    - g_ptr_array_index
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_steal_index (gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_byte_array_new
      Src: /src/glib/glib/tests/array-test.c:2967,1
    - Dst: g_byte_array_append
      Src: /src/glib/glib/tests/array-test.c:2969,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:2971,1
    - Dst: g_byte_array_remove_index
      Src: /src/glib/glib/tests/array-test.c:2974,1
    - Dst: g_byte_array_remove_index
      Src: /src/glib/glib/tests/array-test.c:2973,1
    - Dst: g_byte_array_remove_index
      Src: /src/glib/glib/tests/array-test.c:2975,1
    - Dst: g_byte_array_remove_index
      Src: /src/glib/glib/tests/array-test.c:2976,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:2978,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/array-test.c:2982,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/array-test.c:2983,1
    - Dst: g_byte_array_free
      Src: /src/glib/glib/tests/array-test.c:2988,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/array-test.c:2985,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/array-test.c:2984,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2989
      start: 2961
    functionDepth: 0
    functionLinenumber: 2961
    functionLinenumberEnd: 2989
    functionName: byte_array_remove
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_byte_array_new
    - g_byte_array_append
    - g_byte_array_free
    - g_byte_array_remove_index
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void byte_array_remove (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 851
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 851
    functionName: my_clear_func
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void my_clear_func (gpointer data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/array-test.c:1062,1
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/array-test.c:1065,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/array-test.c:1072,1
    - Dst: g_array_new
      Src: /src/glib/glib/tests/array-test.c:1067,1
    - Dst: g_array_set_size
      Src: /src/glib/glib/tests/array-test.c:1068,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/array-test.c:1073,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/array-test.c:1074,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1076
      start: 1059
    functionDepth: 0
    functionLinenumber: 1059
    functionLinenumberEnd: 1076
    functionName: array_overflow_set_size
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_failed
    - g_array_set_size
    - g_test_undefined
    - g_test_trap_assert_stderr
    - g_test_trap_subprocess
    - g_array_new
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void array_overflow_set_size (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_sort
      Src: /src/glib/glib/tests/array-test.c:2370,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/array-test.c:2372,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2375,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:2376,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:2378,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/array-test.c:2356,1
    - Dst: g_new0
      Src: /src/glib/glib/tests/array-test.c:2355,1
    - Dst: g_new0
      Src: /src/glib/glib/tests/array-test.c:2360,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2363,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/array-test.c:2363,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/array-test.c:2368,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2368,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/array-test.c:2380,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/array-test.c:2351,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2377,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/glib/tests/array-test.c:2353,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2358,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/array-test.c:2358,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/array-test.c:2361,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2373,1
    - Dst: g_new0
      Src: /src/glib/glib/tests/array-test.c:2365,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/array-test.c:2374,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/array-test.c:2366,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 37
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2381
      start: 2345
    functionDepth: 0
    functionLinenumber: 2345
    functionLinenumberEnd: 2381
    functionName: pointer_array_sort_example
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_ptr_array_unref
    - g_strdup
    - g_test_summary
    - g_assert_cmpuint
    - g_assert_cmpstr
    - g_ptr_array_sort
    - g_ptr_array_new_with_free_func
    - g_new0
    - g_ptr_array_index
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_sort_example (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/array-test.c:2667,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/array-test.c:2673,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/array-test.c:2673,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/array-test.c:2673,1
    - Dst: g_ptr_array_sort_values_with_data
      Src: /src/glib/glib/tests/array-test.c:2670,1
    - Dst: g_ptr_array_sort_values_with_data
      Src: /src/glib/glib/tests/array-test.c:2675,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/array-test.c:2680,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/array-test.c:2680,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:2681,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/tests/array-test.c:2685,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2686
      start: 2660
    functionDepth: 0
    functionLinenumber: 2660
    functionLinenumberEnd: 2686
    functionName: pointer_array_sort_values_with_data
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_ptr_array_free
    - GPOINTER_TO_INT
    - GINT_TO_POINTER
    - g_ptr_array_sort_values_with_data
    - g_random_int_range
    - g_ptr_array_new
    - g_ptr_array_index
    - g_ptr_array_add
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void pointer_array_sort_values_with_data (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/array-test.c:2826,1
    - Dst: g_byte_array_new_take
      Src: /src/glib/glib/tests/array-test.c:2836,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/array-test.c:2834,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/array-test.c:2837,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/array-test.c:2830,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/array-test.c:2838,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2840
      start: 2822
    functionDepth: 0
    functionLinenumber: 2822
    functionLinenumberEnd: 2840
    functionName: byte_array_new_take_overflow
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_assert_null
    - g_test_undefined
    - g_test_expect_message
    - g_test_skip
    - g_byte_array_new_take
    linkageType: ''
    returnType: void
    signature: 'static void byte_array_new_take_overflow (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_byte_array_new
      Src: /src/glib/glib/tests/array-test.c:2997,1
    - Dst: g_byte_array_append
      Src: /src/glib/glib/tests/array-test.c:2999,1
    - Dst: g_byte_array_remove_index_fast
      Src: /src/glib/glib/tests/array-test.c:3004,1
    - Dst: g_byte_array_remove_index_fast
      Src: /src/glib/glib/tests/array-test.c:3003,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:3001,1
    - Dst: g_byte_array_remove_index_fast
      Src: /src/glib/glib/tests/array-test.c:3005,1
    - Dst: g_byte_array_remove_index_fast
      Src: /src/glib/glib/tests/array-test.c:3006,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/array-test.c:3008,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/array-test.c:3012,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/array-test.c:3013,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/array-test.c:3014,1
    - Dst: g_byte_array_free
      Src: /src/glib/glib/tests/array-test.c:3018,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/array-test.c:3015,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3019
      start: 2991
    functionDepth: 0
    functionLinenumber: 2991
    functionLinenumberEnd: 3019
    functionName: byte_array_remove_fast
    functionSourceFile: /src/glib/glib/tests/array-test.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_byte_array_remove_index_fast
    - g_byte_array_new
    - g_byte_array_append
    - g_byte_array_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void byte_array_remove_fast (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/error.c:289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - priv
    argTypes:
    - TestErrorPrivate*
    constantsTouched: []
    func_position:
      end: 291
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 291
    functionName: test_error_private_clear
    functionSourceFile: /src/glib/glib/tests/error.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    linkageType: ''
    returnType: void
    signature: 'static void test_error_private_clear (TestErrorPrivate *priv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_error_get_private
      Src: /src/glib/glib/tests/error.c:298,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/error.c:300,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 304
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 304
    functionName: fill_test_error
    functionSourceFile: /src/glib/glib/tests/error.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - test_error_get_private
    linkageType: ''
    returnType: TestErrorPrivate*
    signature: 'static TestErrorPrivate *fill_test_error (GError *error, TestErrorCheck
      *check) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/error.c:350,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/error.c:355,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/error.c:356,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/error.c:357,1
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/error.c:352,1
    - Dst: g_error_domain_register_static
      Src: /src/glib/glib/tests/error.c:366,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/error.c:371,1
    - Dst: g_quark_to_string
      Src: /src/glib/glib/tests/error.c:371,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 374
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 374
    functionName: test_extended_duplicate
    functionSourceFile: /src/glib/glib/tests/error.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_failed
    - g_test_summary
    - g_test_trap_assert_stderr
    - g_assert_cmpstr
    - g_quark_to_string
    - g_error_domain_register_static
    - g_test_trap_subprocess
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_extended_duplicate (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError*
    constantsTouched: []
    func_position:
      end: 383
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 383
    functionName: test_error_non_static_private_clear
    functionSourceFile: /src/glib/glib/tests/error.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_error_non_static_private_clear (GError *error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fill_test_error
      Src: /src/glib/glib/tests/error.c:317,1
    - Dst: g_error_copy
      Src: /src/glib/glib/tests/error.c:326,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/error.c:327,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/error.c:340,1
    - Dst: g_error_new_literal
      Src: /src/glib/glib/tests/error.c:316,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/error.c:320,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/error.c:321,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/error.c:323,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/error.c:328,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/error.c:331,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/error.c:319,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/error.c:324,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/error.c:336,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/error.c:337,1
    - Dst: test_error_get_private
      Src: /src/glib/glib/tests/error.c:335,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/error.c:342,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/error.c:343,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/error.c:344,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/error.c:329,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/error.c:332,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/error.c:339,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/error.c:333,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 345
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 345
    functionName: test_extended
    functionSourceFile: /src/glib/glib/tests/error.c
    functionUses: []
    functionsReached:
    - g_error_new_literal
    - fill_test_error
    - g_assert_nonnull
    - g_assert_cmpuint
    - g_assert_cmpstr
    - g_error_free
    - test_error_get_private
    - g_error_copy
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_extended (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/tests/error.c:388,1
    - Dst: g_error_new
      Src: /src/glib/glib/tests/error.c:401,1
    - Dst: g_free
      Src: /src/glib/glib/tests/error.c:399,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/error.c:392,1
    - Dst: g_error_domain_register
      Src: /src/glib/glib/tests/error.c:394,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/error.c:402,1
    - Dst: g_error_matches
      Src: /src/glib/glib/tests/error.c:402,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/error.c:403,1
    - Dst: g_quark_to_string
      Src: /src/glib/glib/tests/error.c:403,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/error.c:404,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 405
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 405
    functionName: test_extended_non_static
    functionSourceFile: /src/glib/glib/tests/error.c
    functionUses: []
    functionsReached:
    - g_error_domain_register
    - g_strdup
    - g_test_summary
    - g_assert_true
    - g_assert_cmpstr
    - g_error_new
    - g_error_matches
    - g_quark_to_string
    - g_error_free
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_extended_non_static (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_error_new_literal
      Src: /src/glib/glib/tests/error.c:12,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/error.c:42,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/error.c:17,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/error.c:20,1
    - Dst: g_error_new_literal
      Src: /src/glib/glib/tests/error.c:23,1
    - Dst: g_set_error
      Src: /src/glib/glib/tests/error.c:27,1
    - Dst: g_error_new_literal
      Src: /src/glib/glib/tests/error.c:34,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/error.c:40,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/error.c:28,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/error.c:30,1
    - Dst: g_set_error_literal
      Src: /src/glib/glib/tests/error.c:16,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/error.c:19,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/error.c:25,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/error.c:37,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/error.c:43,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/error.c:9,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/error.c:14,1
    - Dst: g_error_new_literal
      Src: /src/glib/glib/tests/error.c:35,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/tests/error.c:39,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/error.c:31,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 44
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 44
    functionName: test_overwrite
    functionSourceFile: /src/glib/glib/tests/error.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_test_assert_expected_messages
    - g_propagate_error
    - g_error_new_literal
    - g_test_undefined
    - g_test_expect_message
    - g_set_error_literal
    - g_error_free
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_overwrite (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/glib/tests/error.c:111,1
    - Dst: g_error_copy
      Src: /src/glib/glib/tests/error.c:112,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/error.c:114,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/error.c:115,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/error.c:117,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/error.c:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 119
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 119
    functionName: test_copy
    functionSourceFile: /src/glib/glib/tests/error.c
    functionUses: []
    functionsReached:
    - g_assert_cmpstr
    - g_set_error_literal
    - g_error_free
    - g_error_copy
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_copy (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_prefix_error
      Src: /src/glib/glib/tests/error.c:53,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/error.c:54,1
    - Dst: g_error_new_literal
      Src: /src/glib/glib/tests/error.c:56,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/error.c:58,1
    - Dst: g_prefix_error
      Src: /src/glib/glib/tests/error.c:57,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/error.c:59,1
    - Dst: g_error_new_literal
      Src: /src/glib/glib/tests/error.c:62,1
    - Dst: g_propagate_prefixed_error
      Src: /src/glib/glib/tests/error.c:63,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/error.c:64,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/error.c:65,1
    - Dst: g_error_new_literal
      Src: /src/glib/glib/tests/error.c:67,1
    - Dst: g_propagate_prefixed_error
      Src: /src/glib/glib/tests/error.c:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 69
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 69
    functionName: test_prefix
    functionSourceFile: /src/glib/glib/tests/error.c
    functionUses: []
    functionsReached:
    - g_error_new_literal
    - g_prefix_error
    - g_assert
    - g_assert_cmpstr
    - g_error_free
    - g_propagate_prefixed_error
    linkageType: ''
    returnType: void
    signature: 'static void test_prefix (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/error.c:136,1
    - Dst: va_start
      Src: /src/glib/glib/tests/error.c:144,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/error.c:154,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/error.c:180,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/error.c:184,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/error.c:175,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/error.c:150,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/error.c:155,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/error.c:176,1
    - Dst: va_end
      Src: /src/glib/glib/tests/error.c:190,1
    - Dst: va_end
      Src: /src/glib/glib/tests/error.c:159,1
    - Dst: va_start
      Src: /src/glib/glib/tests/error.c:166,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/error.c:193,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/error.c:132,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/error.c:134,1
    - Dst: g_error_new_valist
      Src: /src/glib/glib/tests/error.c:153,1
    - Dst: g_error_copy
      Src: /src/glib/glib/tests/error.c:183,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/error.c:185,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/error.c:187,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/error.c:171,1
    - Dst: g_error_new_valist
      Src: /src/glib/glib/tests/error.c:174,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/error.c:188,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 1
    argNames:
    - dummy
    - '...'
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 195
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 195
    functionName: test_new_valist_invalid_va
    functionSourceFile: /src/glib/glib/tests/error.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_test_assert_expected_messages
    - g_test_summary
    - g_error_new_valist
    - g_assert_null
    - g_test_undefined
    - g_assert_nonnull
    - g_test_expect_message
    - va_end
    - g_error_copy
    - g_test_skip
    - va_start
    linkageType: ''
    returnType: void
    signature: 'static void test_new_valist_invalid_va (gpointer dummy, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_new_valist_invalid_va
      Src: /src/glib/glib/tests/error.c:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 202
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 202
    functionName: test_new_valist_invalid
    functionSourceFile: /src/glib/glib/tests/error.c
    functionUses: []
    functionsReached:
    - test_new_valist_invalid_va
    linkageType: ''
    returnType: void
    signature: 'static void test_new_valist_invalid (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/error.c:227,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/error.c:230,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/error.c:229,1
    - Dst: g_error_new
      Src: /src/glib/glib/tests/error.c:234,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/error.c:232,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/error.c:235,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/error.c:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 237
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 237
    functionName: test_clear
    functionSourceFile: /src/glib/glib/tests/error.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_error_new
    - g_test_summary
    - g_assert_null
    linkageType: ''
    returnType: void
    signature: 'static void test_clear (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/error.c:260,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/error.c:265,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - priv
    argTypes:
    - TestErrorPrivate*
    constantsTouched: []
    func_position:
      end: 270
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 270
    functionName: test_error_private_init
    functionSourceFile: /src/glib/glib/tests/error.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    linkageType: ''
    returnType: void
    signature: 'static void test_error_private_init (TestErrorPrivate *priv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError*
    constantsTouched: []
    func_position:
      end: 381
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 381
    functionName: test_error_non_static_private_init
    functionSourceFile: /src/glib/glib/tests/error.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_error_non_static_private_init (GError *error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/error.c:209,1
    - Dst: g_error_new
      Src: /src/glib/glib/tests/error.c:211,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/error.c:214,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/error.c:213,1
    - Dst: g_error_matches
      Src: /src/glib/glib/tests/error.c:213,1
    - Dst: g_error_matches
      Src: /src/glib/glib/tests/error.c:214,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/error.c:215,1
    - Dst: g_error_matches
      Src: /src/glib/glib/tests/error.c:215,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/error.c:216,1
    - Dst: g_error_matches
      Src: /src/glib/glib/tests/error.c:216,1
    - Dst: g_error_matches
      Src: /src/glib/glib/tests/error.c:217,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/error.c:217,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/error.c:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 220
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 220
    functionName: test_matches
    functionSourceFile: /src/glib/glib/tests/error.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_test_summary
    - g_error_matches
    - g_error_new
    - g_error_free
    - g_assert_false
    linkageType: ''
    returnType: void
    signature: 'static void test_matches (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/error.c:276,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/error.c:282,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/error.c:277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - src_priv
    - dest_priv
    argTypes:
    - TestErrorPrivate*
    - TestErrorPrivate*
    constantsTouched: []
    func_position:
      end: 284
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 284
    functionName: test_error_private_copy
    functionSourceFile: /src/glib/glib/tests/error.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    linkageType: ''
    returnType: void
    signature: 'static void test_error_private_copy (const TestErrorPrivate *src_priv,
      TestErrorPrivate *dest_priv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - src_error
    - dest_error
    argTypes:
    - GError*
    - GError*
    constantsTouched: []
    func_position:
      end: 382
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 382
    functionName: test_error_non_static_private_copy
    functionSourceFile: /src/glib/glib/tests/error.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_error_non_static_private_copy (const GError *src_error,
      GError *dest_error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_prefix_error_literal
      Src: /src/glib/glib/tests/error.c:76,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/error.c:79,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/error.c:83,1
    - Dst: g_prefix_error_literal
      Src: /src/glib/glib/tests/error.c:82,1
    - Dst: g_prefix_error_literal
      Src: /src/glib/glib/tests/error.c:78,1
    - Dst: g_error_new_literal
      Src: /src/glib/glib/tests/error.c:85,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/error.c:86,1
    - Dst: g_prefix_error_literal
      Src: /src/glib/glib/tests/error.c:87,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/error.c:88,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/error.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 90
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 90
    functionName: test_prefix_literal
    functionSourceFile: /src/glib/glib/tests/error.c
    functionUses: []
    functionsReached:
    - g_error_new_literal
    - g_assert_null
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_error_free
    - g_prefix_error_literal
    linkageType: ''
    returnType: void
    signature: 'static void test_prefix_literal (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/glib/tests/error.c:98,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/error.c:101,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/error.c:99,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/error.c:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 102
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 102
    functionName: test_literal
    functionSourceFile: /src/glib/glib/tests/error.c
    functionUses: []
    functionsReached:
    - g_set_error_literal
    - g_error_free
    - g_assert_cmpstr
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_literal (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/error.c:410,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/error.c:413,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/error.c:414,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/error.c:412,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/error.c:415,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/error.c:416,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/error.c:417,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/error.c:418,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/error.c:419,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/error.c:420,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/error.c:424,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/error.c:421,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/error.c:422,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 425
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 425
    functionName: main
    functionSourceFile: /src/glib/glib/tests/error.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/tests/utf8-misc.c:82,1
    - Dst: g_utf8_strrchr
      Src: /src/glib/glib/tests/utf8-misc.c:83,1
    - Dst: g_utf8_strrchr
      Src: /src/glib/glib/tests/utf8-misc.c:82,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utf8-misc.c:84,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utf8-misc.c:83,1
    - Dst: g_utf8_strrchr
      Src: /src/glib/glib/tests/utf8-misc.c:84,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utf8-misc.c:85,1
    - Dst: g_utf8_strrchr
      Src: /src/glib/glib/tests/utf8-misc.c:85,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utf8-misc.c:86,1
    - Dst: g_utf8_strrchr
      Src: /src/glib/glib/tests/utf8-misc.c:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 87
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 87
    functionName: test_utf8_strrchr
    functionSourceFile: /src/glib/glib/tests/utf8-misc.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_utf8_strrchr
    linkageType: ''
    returnType: void
    signature: 'static void test_utf8_strrchr (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_substring
      Src: /src/glib/glib/tests/utf8-misc.c:117,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utf8-misc.c:118,1
    - Dst: g_utf8_substring
      Src: /src/glib/glib/tests/utf8-misc.c:121,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utf8-misc.c:119,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utf8-misc.c:122,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utf8-misc.c:123,1
    - Dst: g_utf8_substring
      Src: /src/glib/glib/tests/utf8-misc.c:125,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utf8-misc.c:126,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utf8-misc.c:127,1
    - Dst: g_utf8_substring
      Src: /src/glib/glib/tests/utf8-misc.c:129,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utf8-misc.c:130,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utf8-misc.c:131,1
    - Dst: g_utf8_substring
      Src: /src/glib/glib/tests/utf8-misc.c:133,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utf8-misc.c:134,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utf8-misc.c:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 136
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 136
    functionName: test_utf8_substring
    functionSourceFile: /src/glib/glib/tests/utf8-misc.c
    functionUses: []
    functionsReached:
    - g_utf8_substring
    - g_free
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void test_utf8_substring (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_truncate_middle
      Src: /src/glib/glib/tests/utf8-misc.c:169,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utf8-misc.c:170,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utf8-misc.c:171,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - in_str
    - truncate_len
    - out_str
    argTypes:
    - char*
    - gsize
    - char*
    constantsTouched: []
    func_position:
      end: 172
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 172
    functionName: truncate_middle_helper
    functionSourceFile: /src/glib/glib/tests/utf8-misc.c
    functionUses: []
    functionsReached:
    - g_utf8_truncate_middle
    - g_free
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void truncate_middle_helper (const char *in_str, gsize truncate_len,
      const char *out_str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_strlen
      Src: /src/glib/glib/tests/utf8-misc.c:33,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utf8-misc.c:35,1
    - Dst: g_utf8_strlen
      Src: /src/glib/glib/tests/utf8-misc.c:35,1
    - Dst: g_utf8_strlen
      Src: /src/glib/glib/tests/utf8-misc.c:39,1
    - Dst: g_utf8_strlen
      Src: /src/glib/glib/tests/utf8-misc.c:40,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utf8-misc.c:42,1
    - Dst: g_utf8_strlen
      Src: /src/glib/glib/tests/utf8-misc.c:32,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utf8-misc.c:34,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utf8-misc.c:36,1
    - Dst: g_utf8_strlen
      Src: /src/glib/glib/tests/utf8-misc.c:36,1
    - Dst: g_utf8_strlen
      Src: /src/glib/glib/tests/utf8-misc.c:37,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utf8-misc.c:39,1
    - Dst: g_utf8_strlen
      Src: /src/glib/glib/tests/utf8-misc.c:38,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utf8-misc.c:37,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utf8-misc.c:38,1
    - Dst: g_utf8_strlen
      Src: /src/glib/glib/tests/utf8-misc.c:41,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utf8-misc.c:32,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utf8-misc.c:40,1
    - Dst: g_utf8_strlen
      Src: /src/glib/glib/tests/utf8-misc.c:42,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utf8-misc.c:33,1
    - Dst: g_utf8_strlen
      Src: /src/glib/glib/tests/utf8-misc.c:34,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utf8-misc.c:41,1
    - Dst: g_utf8_strlen
      Src: /src/glib/glib/tests/utf8-misc.c:43,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utf8-misc.c:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 44
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 44
    functionName: test_utf8_strlen
    functionSourceFile: /src/glib/glib/tests/utf8-misc.c
    functionUses: []
    functionsReached:
    - g_utf8_strlen
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_utf8_strlen (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_strreverse
      Src: /src/glib/glib/tests/utf8-misc.c:94,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utf8-misc.c:96,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utf8-misc.c:99,1
    - Dst: g_utf8_strreverse
      Src: /src/glib/glib/tests/utf8-misc.c:98,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utf8-misc.c:95,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utf8-misc.c:100,1
    - Dst: g_utf8_strreverse
      Src: /src/glib/glib/tests/utf8-misc.c:107,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utf8-misc.c:108,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utf8-misc.c:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 110
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 110
    functionName: test_utf8_reverse
    functionSourceFile: /src/glib/glib/tests/utf8-misc.c
    functionUses: []
    functionsReached:
    - g_free
    - g_utf8_strreverse
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void test_utf8_reverse (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_strncpy
      Src: /src/glib/glib/tests/utf8-misc.c:52,1
    - Dst: g_utf8_strncpy
      Src: /src/glib/glib/tests/utf8-misc.c:55,1
    - Dst: g_utf8_strncpy
      Src: /src/glib/glib/tests/utf8-misc.c:58,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utf8-misc.c:53,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utf8-misc.c:56,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utf8-misc.c:59,1
    - Dst: g_utf8_strncpy
      Src: /src/glib/glib/tests/utf8-misc.c:61,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utf8-misc.c:62,1
    - Dst: g_utf8_strncpy
      Src: /src/glib/glib/tests/utf8-misc.c:64,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utf8-misc.c:65,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utf8-misc.c:68,1
    - Dst: g_utf8_strncpy
      Src: /src/glib/glib/tests/utf8-misc.c:73,1
    - Dst: g_utf8_strncpy
      Src: /src/glib/glib/tests/utf8-misc.c:67,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utf8-misc.c:71,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utf8-misc.c:74,1
    - Dst: g_utf8_strncpy
      Src: /src/glib/glib/tests/utf8-misc.c:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 75
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 75
    functionName: test_utf8_strncpy
    functionSourceFile: /src/glib/glib/tests/utf8-misc.c
    functionUses: []
    functionsReached:
    - g_utf8_strncpy
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void test_utf8_strncpy (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_make_valid
      Src: /src/glib/glib/tests/utf8-misc.c:144,1
    - Dst: g_utf8_make_valid
      Src: /src/glib/glib/tests/utf8-misc.c:149,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utf8-misc.c:145,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utf8-misc.c:150,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utf8-misc.c:146,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utf8-misc.c:151,1
    - Dst: g_utf8_make_valid
      Src: /src/glib/glib/tests/utf8-misc.c:154,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utf8-misc.c:155,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utf8-misc.c:156,1
    - Dst: g_utf8_make_valid
      Src: /src/glib/glib/tests/utf8-misc.c:159,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utf8-misc.c:160,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utf8-misc.c:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 162
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 162
    functionName: test_utf8_make_valid
    functionSourceFile: /src/glib/glib/tests/utf8-misc.c
    functionUses: []
    functionsReached:
    - g_utf8_make_valid
    - g_free
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void test_utf8_make_valid (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: truncate_middle_helper
      Src: /src/glib/glib/tests/utf8-misc.c:201,1
    - Dst: truncate_middle_helper
      Src: /src/glib/glib/tests/utf8-misc.c:203,1
    - Dst: truncate_middle_helper
      Src: /src/glib/glib/tests/utf8-misc.c:200,1
    - Dst: truncate_middle_helper
      Src: /src/glib/glib/tests/utf8-misc.c:178,1
    - Dst: truncate_middle_helper
      Src: /src/glib/glib/tests/utf8-misc.c:194,1
    - Dst: truncate_middle_helper
      Src: /src/glib/glib/tests/utf8-misc.c:197,1
    - Dst: truncate_middle_helper
      Src: /src/glib/glib/tests/utf8-misc.c:193,1
    - Dst: truncate_middle_helper
      Src: /src/glib/glib/tests/utf8-misc.c:195,1
    - Dst: truncate_middle_helper
      Src: /src/glib/glib/tests/utf8-misc.c:192,1
    - Dst: truncate_middle_helper
      Src: /src/glib/glib/tests/utf8-misc.c:198,1
    - Dst: truncate_middle_helper
      Src: /src/glib/glib/tests/utf8-misc.c:205,1
    - Dst: truncate_middle_helper
      Src: /src/glib/glib/tests/utf8-misc.c:206,1
    - Dst: truncate_middle_helper
      Src: /src/glib/glib/tests/utf8-misc.c:207,1
    - Dst: truncate_middle_helper
      Src: /src/glib/glib/tests/utf8-misc.c:213,1
    - Dst: truncate_middle_helper
      Src: /src/glib/glib/tests/utf8-misc.c:212,1
    - Dst: truncate_middle_helper
      Src: /src/glib/glib/tests/utf8-misc.c:210,1
    - Dst: truncate_middle_helper
      Src: /src/glib/glib/tests/utf8-misc.c:189,1
    - Dst: truncate_middle_helper
      Src: /src/glib/glib/tests/utf8-misc.c:190,1
    - Dst: truncate_middle_helper
      Src: /src/glib/glib/tests/utf8-misc.c:177,1
    - Dst: truncate_middle_helper
      Src: /src/glib/glib/tests/utf8-misc.c:202,1
    - Dst: truncate_middle_helper
      Src: /src/glib/glib/tests/utf8-misc.c:199,1
    - Dst: truncate_middle_helper
      Src: /src/glib/glib/tests/utf8-misc.c:209,1
    - Dst: truncate_middle_helper
      Src: /src/glib/glib/tests/utf8-misc.c:181,1
    - Dst: truncate_middle_helper
      Src: /src/glib/glib/tests/utf8-misc.c:179,1
    - Dst: truncate_middle_helper
      Src: /src/glib/glib/tests/utf8-misc.c:180,1
    - Dst: truncate_middle_helper
      Src: /src/glib/glib/tests/utf8-misc.c:182,1
    - Dst: truncate_middle_helper
      Src: /src/glib/glib/tests/utf8-misc.c:183,1
    - Dst: truncate_middle_helper
      Src: /src/glib/glib/tests/utf8-misc.c:184,1
    - Dst: truncate_middle_helper
      Src: /src/glib/glib/tests/utf8-misc.c:186,1
    - Dst: truncate_middle_helper
      Src: /src/glib/glib/tests/utf8-misc.c:187,1
    - Dst: truncate_middle_helper
      Src: /src/glib/glib/tests/utf8-misc.c:191,1
    - Dst: truncate_middle_helper
      Src: /src/glib/glib/tests/utf8-misc.c:188,1
    - Dst: truncate_middle_helper
      Src: /src/glib/glib/tests/utf8-misc.c:208,1
    - Dst: truncate_middle_helper
      Src: /src/glib/glib/tests/utf8-misc.c:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 35
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 214
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 214
    functionName: test_utf8_truncate_middle
    functionSourceFile: /src/glib/glib/tests/utf8-misc.c
    functionUses: []
    functionsReached:
    - truncate_middle_helper
    linkageType: ''
    returnType: void
    signature: 'static void test_utf8_truncate_middle (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/utf8-misc.c:220,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utf8-misc.c:222,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utf8-misc.c:223,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utf8-misc.c:224,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utf8-misc.c:225,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utf8-misc.c:226,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utf8-misc.c:227,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utf8-misc.c:228,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/utf8-misc.c:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 231
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 231
    functionName: main
    functionSourceFile: /src/glib/glib/tests/utf8-misc.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-argv0.c:71,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/option-argv0.c:77,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-argv0.c:72,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-argv0.c:74,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/option-argv0.c:78,1
    - Dst: g_strv_contains
      Src: /src/glib/glib/tests/option-argv0.c:78,1
    - Dst: g_get_prgname
      Src: /src/glib/glib/tests/option-argv0.c:78,1
    - Dst: g_print
      Src: /src/glib/glib/tests/option-argv0.c:86,1
    - Dst: g_strv_contains
      Src: /src/glib/glib/tests/option-argv0.c:89,1
    - Dst: g_get_prgname
      Src: /src/glib/glib/tests/option-argv0.c:89,1
    - Dst: g_print
      Src: /src/glib/glib/tests/option-argv0.c:91,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-argv0.c:100,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/option-argv0.c:97,1
    - Dst: g_get_prgname
      Src: /src/glib/glib/tests/option-argv0.c:91,1
    - Dst: g_print
      Src: /src/glib/glib/tests/option-argv0.c:95,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 101
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 101
    functionName: test_platform_argv0
    functionSourceFile: /src/glib/glib/tests/option-argv0.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_option_context_free
    - g_option_context_new
    - g_get_prgname
    - g_strv_contains
    - g_print
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_test_skip
    linkageType: ''
    returnType: void
    signature: 'static void test_platform_argv0 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/option-argv0.c:107,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-argv0.c:109,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/option-argv0.c:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 112
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 112
    functionName: main
    functionSourceFile: /src/glib/glib/tests/option-argv0.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_path_buf_init
      Src: /src/glib/glib/tests/pathbuf.c:34,1
    - Dst: g_path_buf_clear
      Src: /src/glib/glib/tests/pathbuf.c:36,1
    - Dst: g_path_buf_clear
      Src: /src/glib/glib/tests/pathbuf.c:53,1
    - Dst: g_path_buf_init_from_path
      Src: /src/glib/glib/tests/pathbuf.c:60,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/pathbuf.c:66,1
    - Dst: g_path_buf_new_from_path
      Src: /src/glib/glib/tests/pathbuf.c:69,1
    - Dst: g_assert_path_buf_equal
      Src: /src/glib/glib/tests/pathbuf.c:71,1
    - Dst: g_path_buf_clear
      Src: /src/glib/glib/tests/pathbuf.c:72,1
    - Dst: g_path_buf_copy
      Src: /src/glib/glib/tests/pathbuf.c:76,1
    - Dst: g_assert_path_buf_equal
      Src: /src/glib/glib/tests/pathbuf.c:78,1
    - Dst: g_path_buf_to_path
      Src: /src/glib/glib/tests/pathbuf.c:100,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/pathbuf.c:103,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/pathbuf.c:110,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/pathbuf.c:114,1
    - Dst: g_path_buf_to_path
      Src: /src/glib/glib/tests/pathbuf.c:114,1
    - Dst: g_path_buf_free
      Src: /src/glib/glib/tests/pathbuf.c:73,1
    - Dst: g_path_buf_init_from_path
      Src: /src/glib/glib/tests/pathbuf.c:75,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/pathbuf.c:38,1
    - Dst: g_path_buf_init_from_path
      Src: /src/glib/glib/tests/pathbuf.c:44,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/pathbuf.c:52,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/pathbuf.c:47,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/pathbuf.c:57,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/pathbuf.c:62,1
    - Dst: g_path_buf_clear
      Src: /src/glib/glib/tests/pathbuf.c:65,1
    - Dst: g_path_buf_to_path
      Src: /src/glib/glib/tests/pathbuf.c:66,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/pathbuf.c:67,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/pathbuf.c:96,1
    - Dst: g_path_buf_clear
      Src: /src/glib/glib/tests/pathbuf.c:101,1
    - Dst: g_assert_path_buf_equal
      Src: /src/glib/glib/tests/pathbuf.c:82,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/pathbuf.c:94,1
    - Dst: g_free
      Src: /src/glib/glib/tests/pathbuf.c:97,1
    - Dst: g_path_buf_init_from_path
      Src: /src/glib/glib/tests/pathbuf.c:92,1
    - Dst: g_path_buf_init_from_path
      Src: /src/glib/glib/tests/pathbuf.c:108,1
    - Dst: g_free
      Src: /src/glib/glib/tests/pathbuf.c:111,1
    - Dst: g_path_buf_free_to_path
      Src: /src/glib/glib/tests/pathbuf.c:115,1
    - Dst: g_assert_path_buf_equal
      Src: /src/glib/glib/tests/pathbuf.c:77,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/pathbuf.c:117,1
    - Dst: g_path_buf_init_from_path
      Src: /src/glib/glib/tests/pathbuf.c:81,1
    - Dst: g_path_buf_new
      Src: /src/glib/glib/tests/pathbuf.c:104,1
    - Dst: g_path_buf_to_path
      Src: /src/glib/glib/tests/pathbuf.c:35,1
    - Dst: g_path_buf_to_path
      Src: /src/glib/glib/tests/pathbuf.c:40,1
    - Dst: g_path_buf_clear
      Src: /src/glib/glib/tests/pathbuf.c:41,1
    - Dst: g_path_buf_clear_to_path
      Src: /src/glib/glib/tests/pathbuf.c:45,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/pathbuf.c:43,1
    - Dst: g_path_buf_to_path
      Src: /src/glib/glib/tests/pathbuf.c:52,1
    - Dst: g_path_buf_clear
      Src: /src/glib/glib/tests/pathbuf.c:58,1
    - Dst: g_path_buf_free_to_path
      Src: /src/glib/glib/tests/pathbuf.c:67,1
    - Dst: g_path_buf_to_path
      Src: /src/glib/glib/tests/pathbuf.c:61,1
    - Dst: g_path_buf_init_from_path
      Src: /src/glib/glib/tests/pathbuf.c:70,1
    - Dst: g_path_buf_clear
      Src: /src/glib/glib/tests/pathbuf.c:106,1
    - Dst: g_path_buf_to_path
      Src: /src/glib/glib/tests/pathbuf.c:109,1
    - Dst: g_path_buf_init
      Src: /src/glib/glib/tests/pathbuf.c:99,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/pathbuf.c:100,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/pathbuf.c:105,1
    - Dst: g_free
      Src: /src/glib/glib/tests/pathbuf.c:63,1
    - Dst: g_path_buf_to_path
      Src: /src/glib/glib/tests/pathbuf.c:105,1
    - Dst: g_path_buf_clear_to_path
      Src: /src/glib/glib/tests/pathbuf.c:93,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/pathbuf.c:33,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/pathbuf.c:35,1
    - Dst: g_path_buf_init_from_path
      Src: /src/glib/glib/tests/pathbuf.c:39,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/pathbuf.c:40,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/pathbuf.c:46,1
    - Dst: g_free
      Src: /src/glib/glib/tests/pathbuf.c:48,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/pathbuf.c:50,1
    - Dst: g_path_buf_init
      Src: /src/glib/glib/tests/pathbuf.c:51,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/pathbuf.c:55,1
    - Dst: g_path_buf_new
      Src: /src/glib/glib/tests/pathbuf.c:56,1
    - Dst: g_path_buf_clear
      Src: /src/glib/glib/tests/pathbuf.c:79,1
    - Dst: g_path_buf_clear
      Src: /src/glib/glib/tests/pathbuf.c:83,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/pathbuf.c:115,1
    - Dst: g_path_buf_free
      Src: /src/glib/glib/tests/pathbuf.c:85,1
    - Dst: g_path_buf_clear
      Src: /src/glib/glib/tests/pathbuf.c:113,1
    - Dst: g_path_buf_to_path
      Src: /src/glib/glib/tests/pathbuf.c:57,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 80
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 119
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 119
    functionName: test_pathbuf_init
    functionSourceFile: /src/glib/glib/tests/pathbuf.c
    functionUses: []
    functionsReached:
    - g_assert_path_buf_equal
    - g_path_buf_new_from_path
    - g_path_buf_free
    - g_path_buf_copy
    - g_path_buf_to_path
    - g_test_message
    - g_assert_null
    - g_path_buf_init_from_path
    - g_path_buf_clear
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_path_buf_free_to_path
    - g_path_buf_init
    - g_path_buf_new
    - g_path_buf_clear_to_path
    - g_test_skip
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_pathbuf_init (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_path_buf_set_filename
      Src: /src/glib/glib/tests/pathbuf.c:200,1
    - Dst: g_path_buf_clear
      Src: /src/glib/glib/tests/pathbuf.c:203,1
    - Dst: g_path_buf_init_from_path
      Src: /src/glib/glib/tests/pathbuf.c:205,1
    - Dst: g_path_buf_set_filename
      Src: /src/glib/glib/tests/pathbuf.c:206,1
    - Dst: g_path_buf_init_from_path
      Src: /src/glib/glib/tests/pathbuf.c:208,1
    - Dst: g_path_buf_push
      Src: /src/glib/glib/tests/pathbuf.c:218,1
    - Dst: g_path_buf_push
      Src: /src/glib/glib/tests/pathbuf.c:217,1
    - Dst: g_path_buf_clear
      Src: /src/glib/glib/tests/pathbuf.c:215,1
    - Dst: g_path_buf_push
      Src: /src/glib/glib/tests/pathbuf.c:219,1
    - Dst: g_path_buf_clear
      Src: /src/glib/glib/tests/pathbuf.c:226,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/pathbuf.c:241,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/pathbuf.c:201,1
    - Dst: g_assert_path_buf_equal
      Src: /src/glib/glib/tests/pathbuf.c:209,1
    - Dst: g_path_buf_set_extension
      Src: /src/glib/glib/tests/pathbuf.c:220,1
    - Dst: g_path_buf_init_from_path
      Src: /src/glib/glib/tests/pathbuf.c:222,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/pathbuf.c:233,1
    - Dst: g_path_buf_init_from_path
      Src: /src/glib/glib/tests/pathbuf.c:235,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/pathbuf.c:200,1
    - Dst: g_path_buf_clear
      Src: /src/glib/glib/tests/pathbuf.c:210,1
    - Dst: g_path_buf_init_from_path
      Src: /src/glib/glib/tests/pathbuf.c:213,1
    - Dst: g_path_buf_set_filename
      Src: /src/glib/glib/tests/pathbuf.c:212,1
    - Dst: g_assert_path_buf_equal
      Src: /src/glib/glib/tests/pathbuf.c:223,1
    - Dst: g_path_buf_init_from_path
      Src: /src/glib/glib/tests/pathbuf.c:230,1
    - Dst: g_path_buf_push
      Src: /src/glib/glib/tests/pathbuf.c:231,1
    - Dst: g_path_buf_push
      Src: /src/glib/glib/tests/pathbuf.c:232,1
    - Dst: g_assert_path_buf_equal
      Src: /src/glib/glib/tests/pathbuf.c:236,1
    - Dst: g_path_buf_init
      Src: /src/glib/glib/tests/pathbuf.c:199,1
    - Dst: g_path_buf_set_extension
      Src: /src/glib/glib/tests/pathbuf.c:201,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/pathbuf.c:202,1
    - Dst: g_path_buf_to_path
      Src: /src/glib/glib/tests/pathbuf.c:202,1
    - Dst: g_assert_path_buf_equal
      Src: /src/glib/glib/tests/pathbuf.c:214,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/pathbuf.c:220,1
    - Dst: g_path_buf_clear
      Src: /src/glib/glib/tests/pathbuf.c:224,1
    - Dst: g_path_buf_set_extension
      Src: /src/glib/glib/tests/pathbuf.c:233,1
    - Dst: g_path_buf_clear
      Src: /src/glib/glib/tests/pathbuf.c:237,1
    - Dst: g_path_buf_clear
      Src: /src/glib/glib/tests/pathbuf.c:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 243
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 243
    functionName: test_pathbuf_filename_extension
    functionSourceFile: /src/glib/glib/tests/pathbuf.c
    functionUses: []
    functionsReached:
    - g_assert_path_buf_equal
    - g_assert_true
    - g_assert_null
    - g_path_buf_to_path
    - g_path_buf_init_from_path
    - g_path_buf_clear
    - g_path_buf_push
    - g_path_buf_init
    - g_assert_false
    - g_path_buf_set_extension
    - g_test_skip
    - g_path_buf_set_filename
    linkageType: ''
    returnType: void
    signature: 'static void test_pathbuf_filename_extension (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_setenv
      Src: /src/glib/glib/tests/pathbuf.c:249,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/pathbuf.c:253,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/pathbuf.c:254,1
    - Dst: g_test_init
      Src: /src/glib/glib/tests/pathbuf.c:250,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/pathbuf.c:252,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/pathbuf.c:256,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 257
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 257
    functionName: main
    functionSourceFile: /src/glib/glib/tests/pathbuf.c
    functionUses: []
    functionsReached:
    - g_setenv
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_path_buf_init_from_path
      Src: /src/glib/glib/tests/pathbuf.c:131,1
    - Dst: g_path_buf_init_from_path
      Src: /src/glib/glib/tests/pathbuf.c:146,1
    - Dst: g_path_buf_clear
      Src: /src/glib/glib/tests/pathbuf.c:140,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/pathbuf.c:145,1
    - Dst: g_path_buf_init_from_path
      Src: /src/glib/glib/tests/pathbuf.c:143,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/pathbuf.c:142,1
    - Dst: g_path_buf_pop
      Src: /src/glib/glib/tests/pathbuf.c:150,1
    - Dst: g_path_buf_pop
      Src: /src/glib/glib/tests/pathbuf.c:156,1
    - Dst: g_path_buf_clear
      Src: /src/glib/glib/tests/pathbuf.c:159,1
    - Dst: g_path_buf_init_from_path
      Src: /src/glib/glib/tests/pathbuf.c:169,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/pathbuf.c:178,1
    - Dst: g_path_buf_clear
      Src: /src/glib/glib/tests/pathbuf.c:171,1
    - Dst: g_path_buf_push
      Src: /src/glib/glib/tests/pathbuf.c:166,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/pathbuf.c:135,1
    - Dst: g_path_buf_push
      Src: /src/glib/glib/tests/pathbuf.c:136,1
    - Dst: g_path_buf_init_from_path
      Src: /src/glib/glib/tests/pathbuf.c:137,1
    - Dst: g_assert_path_buf_equal
      Src: /src/glib/glib/tests/pathbuf.c:147,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/pathbuf.c:163,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/pathbuf.c:168,1
    - Dst: g_assert_path_buf_equal
      Src: /src/glib/glib/tests/pathbuf.c:170,1
    - Dst: g_assert_path_buf_equal
      Src: /src/glib/glib/tests/pathbuf.c:180,1
    - Dst: g_path_buf_pop
      Src: /src/glib/glib/tests/pathbuf.c:184,1
    - Dst: g_path_buf_init_from_path
      Src: /src/glib/glib/tests/pathbuf.c:174,1
    - Dst: g_path_buf_clear
      Src: /src/glib/glib/tests/pathbuf.c:186,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/pathbuf.c:173,1
    - Dst: g_path_buf_clear
      Src: /src/glib/glib/tests/pathbuf.c:181,1
    - Dst: g_path_buf_init_from_path
      Src: /src/glib/glib/tests/pathbuf.c:179,1
    - Dst: g_assert_path_buf_equal
      Src: /src/glib/glib/tests/pathbuf.c:132,1
    - Dst: g_assert_path_buf_equal
      Src: /src/glib/glib/tests/pathbuf.c:138,1
    - Dst: g_path_buf_clear
      Src: /src/glib/glib/tests/pathbuf.c:148,1
    - Dst: g_path_buf_pop
      Src: /src/glib/glib/tests/pathbuf.c:145,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/pathbuf.c:150,1
    - Dst: g_path_buf_init_from_path
      Src: /src/glib/glib/tests/pathbuf.c:151,1
    - Dst: g_path_buf_clear
      Src: /src/glib/glib/tests/pathbuf.c:153,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/pathbuf.c:155,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/pathbuf.c:156,1
    - Dst: g_path_buf_init_from_path
      Src: /src/glib/glib/tests/pathbuf.c:164,1
    - Dst: g_path_buf_pop
      Src: /src/glib/glib/tests/pathbuf.c:178,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/pathbuf.c:183,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/pathbuf.c:127,1
    - Dst: g_path_buf_push
      Src: /src/glib/glib/tests/pathbuf.c:129,1
    - Dst: g_path_buf_init_from_path
      Src: /src/glib/glib/tests/pathbuf.c:128,1
    - Dst: g_path_buf_clear
      Src: /src/glib/glib/tests/pathbuf.c:133,1
    - Dst: g_path_buf_clear
      Src: /src/glib/glib/tests/pathbuf.c:139,1
    - Dst: g_assert_path_buf_equal
      Src: /src/glib/glib/tests/pathbuf.c:152,1
    - Dst: g_path_buf_clear
      Src: /src/glib/glib/tests/pathbuf.c:158,1
    - Dst: g_assert_path_buf_equal
      Src: /src/glib/glib/tests/pathbuf.c:175,1
    - Dst: g_path_buf_clear
      Src: /src/glib/glib/tests/pathbuf.c:176,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/pathbuf.c:184,1
    - Dst: g_path_buf_clear
      Src: /src/glib/glib/tests/pathbuf.c:187,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/pathbuf.c:189,1
    - Dst: g_path_buf_pop
      Src: /src/glib/glib/tests/pathbuf.c:173,1
    - Dst: g_path_buf_push
      Src: /src/glib/glib/tests/pathbuf.c:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 54
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 191
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 191
    functionName: test_pathbuf_push_pop
    functionSourceFile: /src/glib/glib/tests/pathbuf.c
    functionUses: []
    functionsReached:
    - g_assert_path_buf_equal
    - g_assert_true
    - g_test_message
    - g_path_buf_init_from_path
    - g_path_buf_clear
    - g_path_buf_push
    - g_path_buf_pop
    - g_assert_false
    - g_test_skip
    linkageType: ''
    returnType: void
    signature: 'static void test_pathbuf_push_pop (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_GINT64_CONSTANT
      Src: /src/glib/glib/tests/types.c:48,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/types.c:62,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/types.c:87,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/types.c:74,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/types.c:95,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/types.c:109,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/types.c:111,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/types.c:112,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/types.c:124,1
    - Dst: sscanf
      Src: /src/glib/glib/tests/types.c:125,1
    - Dst: G_GINT64_CONSTANT
      Src: /src/glib/glib/tests/types.c:47,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/types.c:63,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/types.c:83,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/types.c:70,1
    - Dst: GUINT64_SWAP_LE_BE
      Src: /src/glib/glib/tests/types.c:64,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/types.c:91,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/types.c:106,1
    - Dst: sscanf
      Src: /src/glib/glib/tests/types.c:107,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/types.c:110,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/types.c:144,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/types.c:140,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/types.c:59,1
    - Dst: GUINT32_SWAP_LE_BE
      Src: /src/glib/glib/tests/types.c:63,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/types.c:64,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/types.c:78,1
    - Dst: G_GINT64_CONSTANT
      Src: /src/glib/glib/tests/types.c:115,1
    - Dst: g_free
      Src: /src/glib/glib/tests/types.c:126,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/types.c:128,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/types.c:143,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/types.c:127,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/types.c:58,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/types.c:57,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/types.c:60,1
    - Dst: GUINT16_SWAP_LE_BE
      Src: /src/glib/glib/tests/types.c:62,1
    - Dst: g_free
      Src: /src/glib/glib/tests/types.c:108,1
    - Dst: G_GINT64_CONSTANT
      Src: /src/glib/glib/tests/types.c:114,1
    - Dst: g_free
      Src: /src/glib/glib/tests/types.c:142,1
    - Dst: sscanf
      Src: /src/glib/glib/tests/types.c:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 66
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 145
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 145
    functionName: test_basic_types
    functionSourceFile: /src/glib/glib/tests/types.c
    functionUses: []
    functionsReached:
    - GUINT64_SWAP_LE_BE
    - GUINT16_SWAP_LE_BE
    - g_strdup_printf
    - sscanf
    - G_GINT64_CONSTANT
    - g_assert_cmpuint
    - GUINT32_SWAP_LE_BE
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_basic_types (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/types.c:150,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/types.c:152,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/types.c:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 155
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 155
    functionName: main
    functionSourceFile: /src/glib/glib/tests/types.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/tests/dataset.c:58,1
    - Dst: g_intern_string
      Src: /src/glib/glib/tests/dataset.c:61,1
    - Dst: g_intern_static_string
      Src: /src/glib/glib/tests/dataset.c:60,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/dataset.c:62,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/dataset.c:63,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/dataset.c:64,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/dataset.c:65,1
    - Dst: g_free
      Src: /src/glib/glib/tests/dataset.c:67,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 68
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 68
    functionName: test_quark_string
    functionSourceFile: /src/glib/glib/tests/dataset.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_assert_true
    - g_intern_string
    - g_assert_cmpstr
    - g_intern_static_string
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_quark_string (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_quark_from_string
      Src: /src/glib/glib/tests/dataset.c:181,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/dataset.c:186,1
    - Dst: g_dataset_id_get_data
      Src: /src/glib/glib/tests/dataset.c:188,1
    - Dst: g_dataset_id_get_data
      Src: /src/glib/glib/tests/dataset.c:185,1
    - Dst: g_dataset_id_set_data
      Src: /src/glib/glib/tests/dataset.c:183,1
    - Dst: g_quark_from_string
      Src: /src/glib/glib/tests/dataset.c:188,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/dataset.c:189,1
    - Dst: g_dataset_id_get_data
      Src: /src/glib/glib/tests/dataset.c:191,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/dataset.c:192,1
    - Dst: g_dataset_id_set_data
      Src: /src/glib/glib/tests/dataset.c:194,1
    - Dst: g_dataset_id_get_data
      Src: /src/glib/glib/tests/dataset.c:195,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/dataset.c:196,1
    - Dst: g_dataset_id_remove_data
      Src: /src/glib/glib/tests/dataset.c:198,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/dataset.c:200,1
    - Dst: g_dataset_id_get_data
      Src: /src/glib/glib/tests/dataset.c:202,1
    - Dst: g_dataset_id_get_data
      Src: /src/glib/glib/tests/dataset.c:199,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/dataset.c:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 204
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 204
    functionName: test_dataset_id
    functionSourceFile: /src/glib/glib/tests/dataset.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_quark_from_string
    - g_assert_null
    - g_dataset_id_set_data
    - g_dataset_id_get_data
    - g_dataset_id_remove_data
    linkageType: ''
    returnType: void
    signature: 'static void test_dataset_id (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_quark_try_string
      Src: /src/glib/glib/tests/dataset.c:34,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/dataset.c:37,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/dataset.c:35,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/dataset.c:39,1
    - Dst: g_quark_from_static_string
      Src: /src/glib/glib/tests/dataset.c:38,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/dataset.c:40,1
    - Dst: g_quark_from_string
      Src: /src/glib/glib/tests/dataset.c:40,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/dataset.c:41,1
    - Dst: g_quark_from_string
      Src: /src/glib/glib/tests/dataset.c:41,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/dataset.c:42,1
    - Dst: g_quark_try_string
      Src: /src/glib/glib/tests/dataset.c:42,1
    - Dst: g_free
      Src: /src/glib/glib/tests/dataset.c:47,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/dataset.c:45,1
    - Dst: g_quark_to_string
      Src: /src/glib/glib/tests/dataset.c:44,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 48
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 48
    functionName: test_quark_basic
    functionSourceFile: /src/glib/glib/tests/dataset.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_quark_from_static_string
    - g_quark_from_string
    - g_quark_try_string
    - g_assert_cmpuint
    - g_assert_cmpstr
    - g_quark_to_string
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_quark_basic (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dataset_set_data
      Src: /src/glib/glib/tests/dataset.c:78,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/dataset.c:81,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/dataset.c:84,1
    - Dst: g_dataset_get_data
      Src: /src/glib/glib/tests/dataset.c:80,1
    - Dst: g_dataset_get_data
      Src: /src/glib/glib/tests/dataset.c:83,1
    - Dst: g_dataset_get_data
      Src: /src/glib/glib/tests/dataset.c:86,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/dataset.c:87,1
    - Dst: g_dataset_set_data
      Src: /src/glib/glib/tests/dataset.c:89,1
    - Dst: g_dataset_get_data
      Src: /src/glib/glib/tests/dataset.c:90,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/dataset.c:91,1
    - Dst: g_dataset_remove_data
      Src: /src/glib/glib/tests/dataset.c:93,1
    - Dst: g_dataset_get_data
      Src: /src/glib/glib/tests/dataset.c:94,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/dataset.c:98,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/dataset.c:95,1
    - Dst: g_dataset_get_data
      Src: /src/glib/glib/tests/dataset.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 99
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 99
    functionName: test_dataset_basic
    functionSourceFile: /src/glib/glib/tests/dataset.c
    functionUses: []
    functionsReached:
    - g_dataset_get_data
    - g_assert_true
    - g_dataset_set_data
    - g_assert_null
    - g_dataset_remove_data
    linkageType: ''
    returnType: void
    signature: 'static void test_dataset_basic (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: notify
    functionSourceFile: /src/glib/glib/tests/dataset.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void notify (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dataset_set_data_full
      Src: /src/glib/glib/tests/dataset.c:114,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/dataset.c:118,1
    - Dst: g_dataset_set_data
      Src: /src/glib/glib/tests/dataset.c:117,1
    - Dst: g_dataset_set_data_full
      Src: /src/glib/glib/tests/dataset.c:120,1
    - Dst: g_dataset_remove_data
      Src: /src/glib/glib/tests/dataset.c:123,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/dataset.c:124,1
    - Dst: g_dataset_set_data_full
      Src: /src/glib/glib/tests/dataset.c:126,1
    - Dst: g_dataset_remove_no_notify
      Src: /src/glib/glib/tests/dataset.c:129,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/dataset.c:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 131
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 131
    functionName: test_dataset_full
    functionSourceFile: /src/glib/glib/tests/dataset.c
    functionUses: []
    functionsReached:
    - g_dataset_set_data_full
    - g_dataset_set_data
    - g_dataset_remove_no_notify
    - g_assert_cmpuint
    - g_dataset_remove_data
    linkageType: ''
    returnType: void
    signature: 'static void test_dataset_full (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dataset_set_data_full
      Src: /src/glib/glib/tests/dataset.c:150,1
    - Dst: g_dataset_set_data_full
      Src: /src/glib/glib/tests/dataset.c:151,1
    - Dst: g_dataset_set_data_full
      Src: /src/glib/glib/tests/dataset.c:152,1
    - Dst: g_dataset_foreach
      Src: /src/glib/glib/tests/dataset.c:153,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/dataset.c:154,1
    - Dst: g_dataset_destroy
      Src: /src/glib/glib/tests/dataset.c:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 157
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 157
    functionName: test_dataset_foreach
    functionSourceFile: /src/glib/glib/tests/dataset.c
    functionUses: []
    functionsReached:
    - g_dataset_set_data_full
    - g_dataset_destroy
    - g_assert_cmpuint
    - g_dataset_foreach
    linkageType: ''
    returnType: void
    signature: 'static void test_dataset_foreach (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/dataset.c:438,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/tests/dataset.c:438,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 439
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 439
    functionName: destroy_func
    functionSourceFile: /src/glib/glib/tests/dataset.c
    functionUses: []
    functionsReached:
    - g_assert_cmpuint
    - GPOINTER_TO_UINT
    linkageType: ''
    returnType: void
    signature: 'static void destroy_func (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - id
    - data
    - user_data
    argTypes:
    - GQuark
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: foreach
    functionSourceFile: /src/glib/glib/tests/dataset.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void foreach (GQuark id, gpointer data, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dataset_set_data_full
      Src: /src/glib/glib/tests/dataset.c:165,1
    - Dst: g_dataset_destroy
      Src: /src/glib/glib/tests/dataset.c:168,1
    - Dst: g_dataset_set_data_full
      Src: /src/glib/glib/tests/dataset.c:166,1
    - Dst: g_dataset_set_data_full
      Src: /src/glib/glib/tests/dataset.c:167,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/dataset.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 170
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 170
    functionName: test_dataset_destroy
    functionSourceFile: /src/glib/glib/tests/dataset.c
    functionUses: []
    functionsReached:
    - g_dataset_set_data_full
    - g_assert_cmpuint
    - g_dataset_destroy
    linkageType: ''
    returnType: void
    signature: 'static void test_dataset_destroy (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_quark_from_static_string
      Src: /src/glib/glib/tests/dataset.c:447,1
    - Dst: g_quark_from_static_string
      Src: /src/glib/glib/tests/dataset.c:448,1
    - Dst: g_quark_from_static_string
      Src: /src/glib/glib/tests/dataset.c:449,1
    - Dst: g_datalist_init
      Src: /src/glib/glib/tests/dataset.c:458,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/dataset.c:456,1
    - Dst: g_datalist_id_set_data_full
      Src: /src/glib/glib/tests/dataset.c:460,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/dataset.c:460,1
    - Dst: g_datalist_id_set_data_full
      Src: /src/glib/glib/tests/dataset.c:461,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/dataset.c:461,1
    - Dst: g_datalist_id_set_data_full
      Src: /src/glib/glib/tests/dataset.c:462,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/dataset.c:462,1
    - Dst: g_datalist_id_remove_multiple
      Src: /src/glib/glib/tests/dataset.c:465,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/dataset.c:465,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/dataset.c:467,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 468
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 468
    functionName: test_datalist_id_remove_multiple_destroy_order
    functionSourceFile: /src/glib/glib/tests/dataset.c
    functionUses: []
    functionsReached:
    - g_datalist_id_set_data_full
    - g_quark_from_static_string
    - G_N_ELEMENTS
    - g_datalist_init
    - GUINT_TO_POINTER
    - g_test_bug
    - g_datalist_id_remove_multiple
    - g_assert_cmpuint
    linkageType: ''
    returnType: void
    signature: 'static void test_datalist_id_remove_multiple_destroy_order (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_datalist_init
      Src: /src/glib/glib/tests/dataset.c:232,1
    - Dst: g_datalist_get_data
      Src: /src/glib/glib/tests/dataset.c:238,1
    - Dst: g_datalist_set_data
      Src: /src/glib/glib/tests/dataset.c:234,1
    - Dst: g_datalist_get_data
      Src: /src/glib/glib/tests/dataset.c:235,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/dataset.c:236,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/dataset.c:239,1
    - Dst: g_datalist_get_data
      Src: /src/glib/glib/tests/dataset.c:241,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/dataset.c:242,1
    - Dst: g_datalist_clear
      Src: /src/glib/glib/tests/dataset.c:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 245
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 245
    functionName: test_datalist_basic
    functionSourceFile: /src/glib/glib/tests/dataset.c
    functionUses: []
    functionsReached:
    - g_datalist_set_data
    - g_assert_true
    - g_assert_null
    - g_datalist_get_data
    - g_datalist_init
    - g_datalist_clear
    linkageType: ''
    returnType: void
    signature: 'static void test_datalist_basic (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_quark_from_static_string
      Src: /src/glib/glib/tests/dataset.c:275,1
    - Dst: g_quark_from_static_string
      Src: /src/glib/glib/tests/dataset.c:276,1
    - Dst: g_quark_from_static_string
      Src: /src/glib/glib/tests/dataset.c:277,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/dataset.c:284,1
    - Dst: g_datalist_init
      Src: /src/glib/glib/tests/dataset.c:286,1
    - Dst: g_datalist_id_set_data
      Src: /src/glib/glib/tests/dataset.c:287,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/dataset.c:287,1
    - Dst: g_datalist_id_set_data
      Src: /src/glib/glib/tests/dataset.c:288,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/dataset.c:288,1
    - Dst: g_datalist_id_set_data
      Src: /src/glib/glib/tests/dataset.c:289,1
    - Dst: g_datalist_foreach
      Src: /src/glib/glib/tests/dataset.c:292,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/dataset.c:289,1
    - Dst: g_datalist_id_remove_multiple
      Src: /src/glib/glib/tests/dataset.c:295,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/dataset.c:293,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/dataset.c:299,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/dataset.c:295,1
    - Dst: g_datalist_foreach
      Src: /src/glib/glib/tests/dataset.c:298,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 300
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 300
    functionName: test_datalist_id_remove_multiple
    functionSourceFile: /src/glib/glib/tests/dataset.c
    functionUses: []
    functionsReached:
    - g_quark_from_static_string
    - g_datalist_id_set_data
    - G_N_ELEMENTS
    - g_datalist_init
    - g_assert_cmpuint
    - g_test_bug
    - g_datalist_id_remove_multiple
    - g_datalist_foreach
    - GINT_TO_POINTER
    linkageType: ''
    returnType: void
    signature: 'static void test_datalist_id_remove_multiple (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_datalist_init
      Src: /src/glib/glib/tests/dataset.c:254,1
    - Dst: g_quark_from_string
      Src: /src/glib/glib/tests/dataset.c:257,1
    - Dst: g_datalist_id_set_data
      Src: /src/glib/glib/tests/dataset.c:256,1
    - Dst: g_datalist_id_get_data
      Src: /src/glib/glib/tests/dataset.c:257,1
    - Dst: g_quark_from_string
      Src: /src/glib/glib/tests/dataset.c:256,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/dataset.c:258,1
    - Dst: g_datalist_id_get_data
      Src: /src/glib/glib/tests/dataset.c:260,1
    - Dst: g_quark_from_string
      Src: /src/glib/glib/tests/dataset.c:260,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/dataset.c:261,1
    - Dst: g_datalist_id_get_data
      Src: /src/glib/glib/tests/dataset.c:263,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/dataset.c:264,1
    - Dst: g_datalist_clear
      Src: /src/glib/glib/tests/dataset.c:266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 267
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 267
    functionName: test_datalist_id
    functionSourceFile: /src/glib/glib/tests/dataset.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_quark_from_string
    - g_assert_null
    - g_datalist_id_set_data
    - g_datalist_init
    - g_datalist_clear
    - g_datalist_id_get_data
    linkageType: ''
    returnType: void
    signature: 'static void test_datalist_id (void) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/glib/tests/dataset.c:317,1
    - Dst: g_test_rand_int
      Src: /src/glib/glib/tests/dataset.c:334,1
    - Dst: g_test_rand_int
      Src: /src/glib/glib/tests/dataset.c:406,1
    - Dst: g_free
      Src: /src/glib/glib/tests/dataset.c:430,1
    - Dst: g_datalist_id_remove_multiple
      Src: /src/glib/glib/tests/dataset.c:382,1
    - Dst: g_new
      Src: /src/glib/glib/tests/dataset.c:315,1
    - Dst: g_new
      Src: /src/glib/glib/tests/dataset.c:316,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/dataset.c:321,1
    - Dst: g_quark_from_string
      Src: /src/glib/glib/tests/dataset.c:322,1
    - Dst: g_datalist_id_set_data
      Src: /src/glib/glib/tests/dataset.c:327,1
    - Dst: g_quark_to_string
      Src: /src/glib/glib/tests/dataset.c:327,1
    - Dst: g_test_rand_int
      Src: /src/glib/glib/tests/dataset.c:338,1
    - Dst: g_datalist_id_set_data
      Src: /src/glib/glib/tests/dataset.c:368,1
    - Dst: g_datalist_id_get_data
      Src: /src/glib/glib/tests/dataset.c:396,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/dataset.c:398,1
    - Dst: g_datalist_id_set_data
      Src: /src/glib/glib/tests/dataset.c:417,1
    - Dst: g_free
      Src: /src/glib/glib/tests/dataset.c:431,1
    - Dst: g_test_rand_int
      Src: /src/glib/glib/tests/dataset.c:339,1
    - Dst: g_quark_to_string
      Src: /src/glib/glib/tests/dataset.c:368,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/dataset.c:400,1
    - Dst: g_datalist_id_remove_data
      Src: /src/glib/glib/tests/dataset.c:363,1
    - Dst: g_quark_to_string
      Src: /src/glib/glib/tests/dataset.c:394,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/dataset.c:401,1
    - Dst: g_datalist_clear
      Src: /src/glib/glib/tests/dataset.c:409,1
    - Dst: g_quark_to_string
      Src: /src/glib/glib/tests/dataset.c:417,1
    - Dst: g_free
      Src: /src/glib/glib/tests/dataset.c:429,1
    - Dst: g_datalist_get_data
      Src: /src/glib/glib/tests/dataset.c:397,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 99
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 432
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 432
    functionName: test_datalist_id_remove_multiple_resize
    functionSourceFile: /src/glib/glib/tests/dataset.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_quark_from_string
    - g_new
    - g_datalist_id_set_data
    - g_test_rand_int
    - g_datalist_get_data
    - g_datalist_id_remove_multiple
    - g_quark_to_string
    - g_datalist_clear
    - g_snprintf
    - g_datalist_id_remove_data
    - g_new0
    - g_free
    - g_datalist_id_get_data
    linkageType: ''
    returnType: void
    signature: 'static void test_datalist_id_remove_multiple_resize (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_datalist_clear
      Src: /src/glib/glib/tests/dataset.c:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 213
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 213
    functionName: free_one
    functionSourceFile: /src/glib/glib/tests/dataset.c
    functionUses: []
    functionsReached:
    - g_datalist_clear
    linkageType: ''
    returnType: void
    signature: 'static void free_one (gpointer data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/dataset.c:479,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/dataset.c:483,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/dataset.c:481,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/dataset.c:486,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/dataset.c:484,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/dataset.c:489,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/dataset.c:491,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/dataset.c:492,1
    - Dst: g_free
      Src: /src/glib/glib/tests/dataset.c:494,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/dataset.c:498,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - key_id
    - data
    - destroy_notify
    - user_data
    argTypes:
    - GQuark
    - gpointer*
    - GDestroyNotify*
    - gpointer
    constantsTouched: []
    func_position:
      end: 501
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 501
    functionName: _update_atomic_cb
    functionSourceFile: /src/glib/glib/tests/dataset.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_assert_true
    - g_assert_null
    - g_assert_nonnull
    - strcmp
    - g_assert_not_reached
    - g_assert_cmpstr
    - g_free
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer _update_atomic_cb (GQuark key_id, gpointer *data,
      GDestroyNotify *destroy_notify, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_datalist_init
      Src: /src/glib/glib/tests/dataset.c:218,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/dataset.c:220,1
    - Dst: g_datalist_set_data_full
      Src: /src/glib/glib/tests/dataset.c:219,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/dataset.c:219,1
    - Dst: g_datalist_set_data_full
      Src: /src/glib/glib/tests/dataset.c:220,1
    - Dst: g_datalist_clear
      Src: /src/glib/glib/tests/dataset.c:221,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/dataset.c:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 223
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 223
    functionName: test_datalist_clear
    functionSourceFile: /src/glib/glib/tests/dataset.c
    functionUses: []
    functionsReached:
    - g_assert_null
    - g_datalist_set_data_full
    - g_datalist_init
    - g_datalist_clear
    - GINT_TO_POINTER
    linkageType: ''
    returnType: void
    signature: 'static void test_datalist_clear (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_quark_from_static_string
      Src: /src/glib/glib/tests/dataset.c:506,1
    - Dst: g_datalist_id_get_data
      Src: /src/glib/glib/tests/dataset.c:512,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/dataset.c:512,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/dataset.c:511,1
    - Dst: _g_datalist_id_update_atomic
      Src: /src/glib/glib/tests/dataset.c:510,1
    - Dst: g_datalist_id_set_data_full
      Src: /src/glib/glib/tests/dataset.c:514,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/dataset.c:514,1
    - Dst: _g_datalist_id_update_atomic
      Src: /src/glib/glib/tests/dataset.c:516,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/dataset.c:517,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/dataset.c:519,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 520
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 520
    functionName: test_datalist_update_atomic
    functionSourceFile: /src/glib/glib/tests/dataset.c
    functionUses: []
    functionsReached:
    - g_datalist_id_set_data_full
    - g_strdup
    - g_quark_from_static_string
    - g_assert_null
    - g_assert_cmpstr
    - _g_datalist_id_update_atomic
    - g_datalist_id_get_data
    linkageType: ''
    returnType: void
    signature: 'static void test_datalist_update_atomic (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/dataset.c:525,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/dataset.c:528,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/dataset.c:529,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/dataset.c:530,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/dataset.c:527,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/dataset.c:531,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/dataset.c:532,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/dataset.c:533,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/dataset.c:534,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/dataset.c:535,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/dataset.c:537,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/dataset.c:538,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/dataset.c:539,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/dataset.c:543,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/dataset.c:541,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/dataset.c:536,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 544
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 544
    functionName: main
    functionSourceFile: /src/glib/glib/tests/dataset.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:28,1
    - Dst: exit
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:46,1
    - Dst: strerror
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:88,1
    - Dst: strerror
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:77,1
    - Dst: fprintf
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:70,1
    - Dst: fprintf
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:79,1
    - Dst: printf
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:24,1
    - Dst: fflush
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:29,1
    - Dst: fflush
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:32,1
    - Dst: atoi
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:37,1
    - Dst: fprintf
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:44,1
    - Dst: write
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:50,1
    - Dst: strerror
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:54,1
    - Dst: fprintf
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:63,1
    - Dst: fprintf
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:54,1
    - Dst: strerror
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:63,1
    - Dst: fprintf
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:88,1
    - Dst: fprintf
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:77,1
    - Dst: fprintf
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:31,1
    - Dst: exit
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:55,1
    - Dst: exit
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:67,1
    - Dst: exit
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:80,1
    - Dst: exit
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:89,1
    - Dst: fprintf
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:65,1
    - Dst: read
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:72,1
    - Dst: write
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:84,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:22,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:34,1
    - Dst: atoi
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:36,1
    - Dst: write
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:51,1
    - Dst: read
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:58,1
    - Dst: strlen
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:49,1
    - Dst: strlen
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:83,1
    - Dst: write
      Src: /src/glib/glib/tests/spawn-test-win32-gui.c:85,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 71
    argCount: 4
    argNames:
    - hInstance
    - hPrevInstance
    - lpszCmdLine
    - nCmdShow
    argTypes:
    - struct HINSTANCE__*
    - struct HINSTANCE__*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 94
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 94
    functionName: _stdcall
    functionSourceFile: /src/glib/glib/tests/spawn-test-win32-gui.c
    functionUses: []
    functionsReached:
    - printf
    - write
    - fflush
    - fprintf
    - strlen
    - strerror
    - strcmp
    - read
    - atoi
    - exit
    linkageType: ''
    returnType: int
    signature: "int _stdcallWinMain (struct HINSTANCE__ *hInstance,\tstruct HINSTANCE__\
      \ *hPrevInstance,\tchar *lpszCmdLine,\tint nCmdShow) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_io_channel_new_file
      Src: /src/glib/glib/tests/io-channel.c:42,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/io-channel.c:43,1
    - Dst: g_io_channel_set_encoding
      Src: /src/glib/glib/tests/io-channel.c:45,1
    - Dst: g_io_channel_set_buffer_size
      Src: /src/glib/glib/tests/io-channel.c:46,1
    - Dst: g_io_channel_get_buffer_size
      Src: /src/glib/glib/tests/io-channel.c:48,1
    - Dst: g_io_channel_write_chars
      Src: /src/glib/glib/tests/io-channel.c:53,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/io-channel.c:60,1
    - Dst: g_io_channel_unref
      Src: /src/glib/glib/tests/io-channel.c:62,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/io-channel.c:63,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 64
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 64
    functionName: test_small_writes
    functionSourceFile: /src/glib/glib/tests/io-channel.c
    functionUses: []
    functionsReached:
    - g_io_channel_new_file
    - g_assert_no_error
    - g_io_channel_write_chars
    - g_io_channel_get_buffer_size
    - g_remove
    - g_io_channel_set_buffer_size
    - g_io_channel_unref
    - g_io_channel_set_encoding
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_small_writes (void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: setbuf
      Src: /src/glib/glib/tests/io-channel.c:82,1
    - Dst: g_io_channel_flush
      Src: /src/glib/glib/tests/io-channel.c:149,1
    - Dst: g_io_channel_unref
      Src: /src/glib/glib/tests/io-channel.c:161,1
    - Dst: g_string_truncate
      Src: /src/glib/glib/tests/io-channel.c:131,1
    - Dst: g_io_channel_set_buffer_size
      Src: /src/glib/glib/tests/io-channel.c:93,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/io-channel.c:130,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/io-channel.c:141,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/io-channel.c:144,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/io-channel.c:155,1
    - Dst: g_io_channel_unref
      Src: /src/glib/glib/tests/io-channel.c:162,1
    - Dst: g_free
      Src: /src/glib/glib/tests/io-channel.c:166,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/io-channel.c:159,1
    - Dst: g_io_channel_new_file
      Src: /src/glib/glib/tests/io-channel.c:84,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/io-channel.c:88,1
    - Dst: g_io_channel_set_encoding
      Src: /src/glib/glib/tests/io-channel.c:90,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/io-channel.c:91,1
    - Dst: g_io_channel_set_flags
      Src: /src/glib/glib/tests/io-channel.c:95,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/io-channel.c:102,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/tests/io-channel.c:106,1
    - Dst: g_io_channel_read_line_string
      Src: /src/glib/glib/tests/io-channel.c:111,1
    - Dst: g_io_channel_write_chars
      Src: /src/glib/glib/tests/io-channel.c:119,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/io-channel.c:99,1
    - Dst: test_small_writes
      Src: /src/glib/glib/tests/io-channel.c:164,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/io-channel.c:140,1
    - Dst: g_test_build_filename
      Src: /src/glib/glib/tests/io-channel.c:80,1
    - Dst: g_io_channel_new_file
      Src: /src/glib/glib/tests/io-channel.c:87,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/io-channel.c:85,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/io-channel.c:128,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/io-channel.c:104,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/io-channel.c:156,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/io-channel.c:167,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 168
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 168
    functionName: test_read_write
    functionSourceFile: /src/glib/glib/tests/io-channel.c
    functionUses: []
    functionsReached:
    - g_test_build_filename
    - g_io_channel_write_chars
    - g_io_channel_unref
    - g_string_truncate
    - g_io_channel_read_line_string
    - setbuf
    - g_string_sized_new
    - test_small_writes
    - g_io_channel_set_flags
    - g_test_message
    - g_assert_cmpuint
    - g_assert_not_reached
    - g_assert_no_error
    - g_io_channel_set_encoding
    - g_clear_error
    - g_io_channel_new_file
    - g_string_free
    - g_io_channel_set_buffer_size
    - g_io_channel_flush
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_read_write (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/io-channel.c:229,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/io-channel.c:234,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/io-channel.c:232,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/io-channel.c:231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 235
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 235
    functionName: main
    functionSourceFile: /src/glib/glib/tests/io-channel.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/io-channel.c:188,1
    - Dst: g_file_set_contents
      Src: /src/glib/glib/tests/io-channel.c:193,1
    - Dst: g_io_channel_new_file
      Src: /src/glib/glib/tests/io-channel.c:197,1
    - Dst: g_io_channel_get_line_term
      Src: /src/glib/glib/tests/io-channel.c:205,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/io-channel.c:216,1
    - Dst: g_io_channel_set_encoding
      Src: /src/glib/glib/tests/io-channel.c:209,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/io-channel.c:218,1
    - Dst: g_free
      Src: /src/glib/glib/tests/io-channel.c:222,1
    - Dst: g_io_channel_set_line_term
      Src: /src/glib/glib/tests/io-channel.c:203,1
    - Dst: g_free
      Src: /src/glib/glib/tests/io-channel.c:220,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/io-channel.c:184,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/io-channel.c:189,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/io-channel.c:194,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/io-channel.c:198,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/io-channel.c:207,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/io-channel.c:214,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/io-channel.c:215,1
    - Dst: g_close
      Src: /src/glib/glib/tests/io-channel.c:190,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/io-channel.c:210,1
    - Dst: g_io_channel_read_line
      Src: /src/glib/glib/tests/io-channel.c:212,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/io-channel.c:217,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/io-channel.c:206,1
    - Dst: g_io_channel_unref
      Src: /src/glib/glib/tests/io-channel.c:221,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 223
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 223
    functionName: test_read_line_embedded_nuls
    functionSourceFile: /src/glib/glib/tests/io-channel.c
    functionUses: []
    functionsReached:
    - g_test_summary
    - g_io_channel_new_file
    - g_file_set_contents
    - g_assert_cmpuint
    - g_close
    - g_assert_cmpstr
    - g_assert_no_error
    - g_file_open_tmp
    - g_io_channel_set_line_term
    - g_io_channel_read_line
    - g_io_channel_get_line_term
    - g_assert_cmpmem
    - g_io_channel_unref
    - g_free
    - g_io_channel_set_encoding
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_read_line_embedded_nuls (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/tests/hostutils.c:104,1
    - Dst: g_free
      Src: /src/glib/glib/tests/hostutils.c:108,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hostutils.c:114,1
    - Dst: g_hostname_is_non_ascii
      Src: /src/glib/glib/tests/hostutils.c:114,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hostutils.c:121,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hostutils.c:119,1
    - Dst: g_hostname_is_non_ascii
      Src: /src/glib/glib/tests/hostutils.c:116,1
    - Dst: g_hostname_is_ascii_encoded
      Src: /src/glib/glib/tests/hostutils.c:121,1
    - Dst: g_hostname_to_ascii
      Src: /src/glib/glib/tests/hostutils.c:123,1
    - Dst: g_hostname_is_ascii_encoded
      Src: /src/glib/glib/tests/hostutils.c:119,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hostutils.c:116,1
    - Dst: g_free
      Src: /src/glib/glib/tests/hostutils.c:129,1
    - Dst: g_hostname_to_ascii
      Src: /src/glib/glib/tests/hostutils.c:134,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hostutils.c:103,1
    - Dst: g_hostname_to_ascii
      Src: /src/glib/glib/tests/hostutils.c:102,1
    - Dst: g_hostname_is_non_ascii
      Src: /src/glib/glib/tests/hostutils.c:101,1
    - Dst: g_free
      Src: /src/glib/glib/tests/hostutils.c:125,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hostutils.c:135,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hostutils.c:101,1
    - Dst: g_hostname_to_ascii
      Src: /src/glib/glib/tests/hostutils.c:106,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hostutils.c:107,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hostutils.c:124,1
    - Dst: g_hostname_to_ascii
      Src: /src/glib/glib/tests/hostutils.c:127,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hostutils.c:128,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 137
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 137
    functionName: test_to_ascii
    functionSourceFile: /src/glib/glib/tests/hostutils.c
    functionUses: []
    functionsReached:
    - g_hostname_is_non_ascii
    - g_assert_true
    - g_assert_cmpstr
    - g_hostname_to_ascii
    - g_hostname_is_ascii_encoded
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_to_ascii (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hostname_is_ip_address
      Src: /src/glib/glib/tests/hostutils.c:322,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/hostutils.c:324,1
    - Dst: g_assertion_message
      Src: /src/glib/glib/tests/hostutils.c:327,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 330
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 330
    functionName: test_is_ip_addr
    functionSourceFile: /src/glib/glib/tests/hostutils.c
    functionUses: []
    functionsReached:
    - g_assertion_message
    - g_hostname_is_ip_address
    - g_strdup_printf
    linkageType: ''
    returnType: void
    signature: 'static void test_is_ip_addr (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hostutils.c:147,1
    - Dst: g_hostname_is_ascii_encoded
      Src: /src/glib/glib/tests/hostutils.c:147,1
    - Dst: g_hostname_to_unicode
      Src: /src/glib/glib/tests/hostutils.c:148,1
    - Dst: g_free
      Src: /src/glib/glib/tests/hostutils.c:150,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hostutils.c:149,1
    - Dst: g_hostname_to_unicode
      Src: /src/glib/glib/tests/hostutils.c:152,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hostutils.c:153,1
    - Dst: g_free
      Src: /src/glib/glib/tests/hostutils.c:154,1
    - Dst: g_hostname_to_unicode
      Src: /src/glib/glib/tests/hostutils.c:159,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hostutils.c:160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 162
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 162
    functionName: test_to_unicode
    functionSourceFile: /src/glib/glib/tests/hostutils.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_assert_cmpstr
    - g_hostname_to_unicode
    - g_hostname_is_ascii_encoded
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_to_unicode (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/hostutils.c:339,1
    - Dst: g_free
      Src: /src/glib/glib/tests/hostutils.c:350,1
    - Dst: printf
      Src: /src/glib/glib/tests/hostutils.c:349,1
    - Dst: g_hostname_to_ascii
      Src: /src/glib/glib/tests/hostutils.c:348,1
    - Dst: g_hostname_is_non_ascii
      Src: /src/glib/glib/tests/hostutils.c:346,1
    - Dst: g_hostname_is_ascii_encoded
      Src: /src/glib/glib/tests/hostutils.c:352,1
    - Dst: g_hostname_to_unicode
      Src: /src/glib/glib/tests/hostutils.c:354,1
    - Dst: printf
      Src: /src/glib/glib/tests/hostutils.c:355,1
    - Dst: g_free
      Src: /src/glib/glib/tests/hostutils.c:356,1
    - Dst: printf
      Src: /src/glib/glib/tests/hostutils.c:359,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hostutils.c:363,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hostutils.c:364,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hostutils.c:365,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/hostutils.c:367,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 368
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 368
    functionName: main
    functionSourceFile: /src/glib/glib/tests/hostutils.c
    functionUses: []
    functionsReached:
    - printf
    - g_hostname_is_non_ascii
    - g_test_add_func
    - g_free
    - g_test_run
    - g_hostname_to_unicode
    - g_hostname_to_ascii
    - g_hostname_is_ascii_encoded
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/protocol.c:61,1
    - Dst: g_warning
      Src: /src/glib/glib/tests/protocol.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: warning
    functionSourceFile: /src/glib/glib/tests/protocol.c
    functionUses: []
    functionsReached:
    - g_test_subprocess
    - g_warning
    linkageType: ''
    returnType: void
    signature: 'static void warning (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/protocol.c:47,1
    - Dst: g_info
      Src: /src/glib/glib/tests/protocol.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: info
    functionSourceFile: /src/glib/glib/tests/protocol.c
    functionUses: []
    functionsReached:
    - g_test_subprocess
    - g_info
    linkageType: ''
    returnType: void
    signature: 'static void info (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/protocol.c:75,1
    - Dst: g_error
      Src: /src/glib/glib/tests/protocol.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: error
    functionSourceFile: /src/glib/glib/tests/protocol.c
    functionUses: []
    functionsReached:
    - g_test_subprocess
    - g_error
    linkageType: ''
    returnType: void
    signature: 'static void error (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/protocol.c:95,1
    - Dst: g_io_channel_read_chars
      Src: /src/glib/glib/tests/protocol.c:97,1
    - Dst: g_test_log_buffer_push
      Src: /src/glib/glib/tests/protocol.c:101,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/protocol.c:107,1
    - Dst: g_io_channel_read_chars
      Src: /src/glib/glib/tests/protocol.c:99,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - channel
    - condition
    - user_data
    argTypes:
    - GIOChannel*
    - GIOCondition
    - gpointer
    constantsTouched: []
    func_position:
      end: 110
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 110
    functionName: test_message_cb1
    functionSourceFile: /src/glib/glib/tests/protocol.c
    functionUses: []
    functionsReached:
    - g_test_log_buffer_push
    - g_assert_cmpuint
    - g_io_channel_read_chars
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean test_message_cb1 (GIOChannel * channel, GIOCondition
      condition, gpointer user_data) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_io_channel_win32_new_fd
      Src: /src/glib/glib/tests/protocol.c:170,1
    - Dst: g_io_channel_get_line_term
      Src: /src/glib/glib/tests/protocol.c:178,1
    - Dst: g_io_channel_set_flags
      Src: /src/glib/glib/tests/protocol.c:177,1
    - Dst: g_io_channel_get_line_term
      Src: /src/glib/glib/tests/protocol.c:180,1
    - Dst: g_io_channel_set_line_term
      Src: /src/glib/glib/tests/protocol.c:179,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/protocol.c:182,1
    - Dst: g_io_channel_get_buffered
      Src: /src/glib/glib/tests/protocol.c:186,1
    - Dst: test_message_cb1
      Src: /src/glib/glib/tests/protocol.c:193,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/protocol.c:195,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/protocol.c:222,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/protocol.c:240,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/protocol.c:237,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/protocol.c:236,1
    - Dst: g_spawn_async
      Src: /src/glib/glib/tests/protocol.c:155,1
    - Dst: g_test_log_buffer_new
      Src: /src/glib/glib/tests/protocol.c:166,1
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/protocol.c:167,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/protocol.c:181,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/protocol.c:186,1
    - Dst: g_io_add_watch
      Src: /src/glib/glib/tests/protocol.c:188,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/protocol.c:191,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/protocol.c:228,1
    - Dst: g_test_log_type_name
      Src: /src/glib/glib/tests/protocol.c:231,1
    - Dst: g_test_log_msg_free
      Src: /src/glib/glib/tests/protocol.c:233,1
    - Dst: pipe
      Src: /src/glib/glib/tests/protocol.c:147,1
    - Dst: g_error
      Src: /src/glib/glib/tests/protocol.c:150,1
    - Dst: g_strerror
      Src: /src/glib/glib/tests/protocol.c:150,1
    - Dst: close
      Src: /src/glib/glib/tests/protocol.c:165,1
    - Dst: g_io_channel_set_close_on_unref
      Src: /src/glib/glib/tests/protocol.c:174,1
    - Dst: g_io_channel_set_encoding
      Src: /src/glib/glib/tests/protocol.c:175,1
    - Dst: g_io_channel_unix_new
      Src: /src/glib/glib/tests/protocol.c:172,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/protocol.c:196,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/protocol.c:197,1
    - Dst: g_io_channel_unref
      Src: /src/glib/glib/tests/protocol.c:198,1
    - Dst: g_free
      Src: /src/glib/glib/tests/protocol.c:239,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/protocol.c:223,1
    - Dst: g_test_log_buffer_free
      Src: /src/glib/glib/tests/protocol.c:241,1
    - Dst: g_test_log_buffer_pop
      Src: /src/glib/glib/tests/protocol.c:200,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/protocol.c:153,1
    - Dst: g_error
      Src: /src/glib/glib/tests/protocol.c:162,1
    - Dst: g_io_channel_set_buffered
      Src: /src/glib/glib/tests/protocol.c:176,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/protocol.c:178,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/protocol.c:184,1
    - Dst: g_io_channel_get_close_on_unref
      Src: /src/glib/glib/tests/protocol.c:184,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/protocol.c:185,1
    - Dst: g_io_channel_get_encoding
      Src: /src/glib/glib/tests/protocol.c:185,1
    - Dst: g_child_watch_add
      Src: /src/glib/glib/tests/protocol.c:189,1
    - Dst: g_source_remove
      Src: /src/glib/glib/tests/protocol.c:196,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/protocol.c:222,1
    - Dst: g_error
      Src: /src/glib/glib/tests/protocol.c:231,1
    - Dst: g_test_log_buffer_pop
      Src: /src/glib/glib/tests/protocol.c:202,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 74
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 242
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 242
    functionName: test_message
    functionSourceFile: /src/glib/glib/tests/protocol.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_io_add_watch
    - g_strerror
    - g_spawn_async
    - g_error
    - g_io_channel_unref
    - g_io_channel_unix_new
    - test_message_cb1
    - g_test_assert_expected_messages
    - g_test_log_buffer_pop
    - G_N_ELEMENTS
    - g_free
    - pipe
    - g_io_channel_get_buffered
    - g_source_remove
    - g_test_log_buffer_free
    - g_assert_cmpint
    - g_main_loop_run
    - g_io_channel_set_flags
    - g_io_channel_set_buffered
    - g_assert_not_reached
    - g_test_expect_message
    - g_main_loop_new
    - g_io_channel_get_encoding
    - g_io_channel_set_encoding
    - g_test_log_buffer_new
    - g_io_channel_set_close_on_unref
    - g_assert
    - g_io_channel_win32_new_fd
    - g_assert_cmpstr
    - g_main_loop_unref
    - g_child_watch_add
    - close
    - g_io_channel_set_line_term
    - g_test_log_type_name
    - g_test_log_msg_free
    - g_io_channel_get_line_term
    - g_io_channel_get_close_on_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_message (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/protocol.c:40,1
    - Dst: g_debug
      Src: /src/glib/glib/tests/protocol.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: debug
    functionSourceFile: /src/glib/glib/tests/protocol.c
    functionUses: []
    functionsReached:
    - g_test_subprocess
    - g_debug
    linkageType: ''
    returnType: void
    signature: 'static void debug (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/protocol.c:68,1
    - Dst: g_critical
      Src: /src/glib/glib/tests/protocol.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: critical
    functionSourceFile: /src/glib/glib/tests/protocol.c
    functionUses: []
    functionsReached:
    - g_test_subprocess
    - g_critical
    linkageType: ''
    returnType: void
    signature: 'static void critical (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/protocol.c:54,1
    - Dst: g_message
      Src: /src/glib/glib/tests/protocol.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: message
    functionSourceFile: /src/glib/glib/tests/protocol.c
    functionUses: []
    functionsReached:
    - g_test_subprocess
    - g_message
    linkageType: ''
    returnType: void
    signature: 'static void message (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/protocol.c:82,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/protocol.c:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: gtest_message
    functionSourceFile: /src/glib/glib/tests/protocol.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void gtest_message (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_spawn_close_pid
      Src: /src/glib/glib/tests/protocol.c:117,1
    - Dst: g_main_loop_quit
      Src: /src/glib/glib/tests/protocol.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - pid
    - status
    - user_data
    argTypes:
    - GPid
    - gint
    - gpointer
    constantsTouched: []
    func_position:
      end: 120
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionName: test_message_cb2
    functionSourceFile: /src/glib/glib/tests/protocol.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    - g_spawn_close_pid
    linkageType: ''
    returnType: void
    signature: 'static void test_message_cb2 (GPid pid, gint status, gpointer user_data) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: pipe
      Src: /src/glib/glib/tests/protocol.c:273,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/protocol.c:279,1
    - Dst: g_strerror
      Src: /src/glib/glib/tests/protocol.c:276,1
    - Dst: close
      Src: /src/glib/glib/tests/protocol.c:291,1
    - Dst: g_child_watch_add
      Src: /src/glib/glib/tests/protocol.c:306,1
    - Dst: g_io_channel_win32_new_fd
      Src: /src/glib/glib/tests/protocol.c:296,1
    - Dst: g_io_add_watch
      Src: /src/glib/glib/tests/protocol.c:305,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/protocol.c:308,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/protocol.c:340,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/protocol.c:341,1
    - Dst: g_test_log_buffer_new
      Src: /src/glib/glib/tests/protocol.c:292,1
    - Dst: g_io_channel_set_close_on_unref
      Src: /src/glib/glib/tests/protocol.c:300,1
    - Dst: g_io_channel_set_buffered
      Src: /src/glib/glib/tests/protocol.c:302,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/protocol.c:314,1
    - Dst: g_test_log_buffer_pop
      Src: /src/glib/glib/tests/protocol.c:317,1
    - Dst: g_test_log_buffer_pop
      Src: /src/glib/glib/tests/protocol.c:319,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/protocol.c:340,1
    - Dst: g_error
      Src: /src/glib/glib/tests/protocol.c:346,1
    - Dst: g_test_log_type_name
      Src: /src/glib/glib/tests/protocol.c:346,1
    - Dst: g_test_log_msg_free
      Src: /src/glib/glib/tests/protocol.c:348,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/protocol.c:255,1
    - Dst: g_error
      Src: /src/glib/glib/tests/protocol.c:276,1
    - Dst: g_spawn_async
      Src: /src/glib/glib/tests/protocol.c:281,1
    - Dst: g_error
      Src: /src/glib/glib/tests/protocol.c:288,1
    - Dst: g_io_channel_set_encoding
      Src: /src/glib/glib/tests/protocol.c:301,1
    - Dst: g_io_channel_set_flags
      Src: /src/glib/glib/tests/protocol.c:303,1
    - Dst: g_io_channel_unix_new
      Src: /src/glib/glib/tests/protocol.c:298,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/protocol.c:312,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/protocol.c:313,1
    - Dst: g_source_remove
      Src: /src/glib/glib/tests/protocol.c:313,1
    - Dst: g_io_channel_unref
      Src: /src/glib/glib/tests/protocol.c:315,1
    - Dst: g_test_log_buffer_free
      Src: /src/glib/glib/tests/protocol.c:353,1
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/protocol.c:293,1
    - Dst: test_message_cb1
      Src: /src/glib/glib/tests/protocol.c:310,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/protocol.c:331,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/protocol.c:352,1
    - Dst: g_free
      Src: /src/glib/glib/tests/protocol.c:351,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/protocol.c:356,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 61
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 357
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 357
    functionName: test_error
    functionSourceFile: /src/glib/glib/tests/protocol.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_io_add_watch
    - g_strerror
    - g_spawn_async
    - g_error
    - g_io_channel_unref
    - g_io_channel_unix_new
    - test_message_cb1
    - g_test_assert_expected_messages
    - g_test_log_buffer_pop
    - G_N_ELEMENTS
    - pipe
    - g_source_remove
    - g_test_log_buffer_free
    - g_assert_cmpint
    - g_main_loop_run
    - g_io_channel_set_flags
    - g_io_channel_set_buffered
    - g_assert_not_reached
    - g_test_expect_message
    - g_main_loop_new
    - g_io_channel_set_encoding
    - g_test_log_buffer_new
    - g_io_channel_set_close_on_unref
    - g_assert
    - g_io_channel_win32_new_fd
    - g_assert_cmpstr
    - g_main_loop_unref
    - g_child_watch_add
    - close
    - g_test_log_type_name
    - g_test_log_msg_free
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_error (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/protocol.c:365,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/protocol.c:371,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/protocol.c:369,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/protocol.c:370,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/protocol.c:368,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/protocol.c:372,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/protocol.c:373,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/protocol.c:374,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/protocol.c:377,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/protocol.c:378,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/protocol.c:380,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 381
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 381
    functionName: main
    functionSourceFile: /src/glib/glib/tests/protocol.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char**argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_fail
      Src: /src/glib/glib/tests/testing-helper.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: test_fail
    functionSourceFile: /src/glib/glib/tests/testing-helper.c
    functionUses: []
    functionsReached:
    - g_test_fail
    linkageType: ''
    returnType: void
    signature: 'static void test_fail (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/testing-helper.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: test_skip
    functionSourceFile: /src/glib/glib/tests/testing-helper.c
    functionUses: []
    functionsReached:
    - g_test_skip
    linkageType: ''
    returnType: void
    signature: 'static void test_skip (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_fail_printf
      Src: /src/glib/glib/tests/testing-helper.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: test_fail_printf
    functionSourceFile: /src/glib/glib/tests/testing-helper.c
    functionUses: []
    functionsReached:
    - g_test_fail_printf
    linkageType: ''
    returnType: void
    signature: 'static void test_fail_printf (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_incomplete_printf
      Src: /src/glib/glib/tests/testing-helper.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: test_incomplete_printf
    functionSourceFile: /src/glib/glib/tests/testing-helper.c
    functionUses: []
    functionsReached:
    - g_test_incomplete_printf
    linkageType: ''
    returnType: void
    signature: 'static void test_incomplete_printf (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing-helper.c:94,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing-helper.c:95,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing-helper.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: test_message
    functionSourceFile: /src/glib/glib/tests/testing-helper.c
    functionUses: []
    functionsReached:
    - g_test_message
    linkageType: ''
    returnType: void
    signature: 'static void test_message (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/testing-helper.c:112,1
    - Dst: printf
      Src: /src/glib/glib/tests/testing-helper.c:117,1
    - Dst: printf
      Src: /src/glib/glib/tests/testing-helper.c:114,1
    - Dst: printf
      Src: /src/glib/glib/tests/testing-helper.c:116,1
    - Dst: printf
      Src: /src/glib/glib/tests/testing-helper.c:115,1
    - Dst: printf
      Src: /src/glib/glib/tests/testing-helper.c:118,1
    - Dst: puts
      Src: /src/glib/glib/tests/testing-helper.c:120,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing-helper.c:125,1
    - Dst: g_test_trap_has_passed
      Src: /src/glib/glib/tests/testing-helper.c:126,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/glib/tests/testing-helper.c:128,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/glib/tests/testing-helper.c:130,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/glib/tests/testing-helper.c:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 131
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 131
    functionName: test_subprocess_stdout
    functionSourceFile: /src/glib/glib/tests/testing-helper.c
    functionUses: []
    functionsReached:
    - printf
    - puts
    - g_test_trap_subprocess
    - g_test_subprocess
    - g_test_trap_assert_stdout
    - g_test_trap_has_passed
    linkageType: ''
    returnType: void
    signature: 'static void test_subprocess_stdout (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: test_pass
    functionSourceFile: /src/glib/glib/tests/testing-helper.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_pass (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip_printf
      Src: /src/glib/glib/tests/testing-helper.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: test_skip_printf
    functionSourceFile: /src/glib/glib/tests/testing-helper.c
    functionUses: []
    functionsReached:
    - g_test_skip_printf
    linkageType: ''
    returnType: void
    signature: 'static void test_skip_printf (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_disable_crash_reporting
      Src: /src/glib/glib/tests/testing-helper.c:58,1
    - Dst: g_error
      Src: /src/glib/glib/tests/testing-helper.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: test_error
    functionSourceFile: /src/glib/glib/tests/testing-helper.c
    functionUses: []
    functionsReached:
    - g_error
    - g_test_disable_crash_reporting
    linkageType: ''
    returnType: void
    signature: 'static void test_error (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_incomplete
      Src: /src/glib/glib/tests/testing-helper.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: test_incomplete
    functionSourceFile: /src/glib/glib/tests/testing-helper.c
    functionUses: []
    functionsReached:
    - g_test_incomplete
    linkageType: ''
    returnType: void
    signature: 'static void test_incomplete (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/testing-helper.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: test_summary
    functionSourceFile: /src/glib/glib/tests/testing-helper.c
    functionUses: []
    functionsReached:
    - g_test_summary
    linkageType: ''
    returnType: void
    signature: 'static void test_summary (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/glib/tests/testing-helper.c:102,1
    - Dst: g_print
      Src: /src/glib/glib/tests/testing-helper.c:103,1
    - Dst: g_print
      Src: /src/glib/glib/tests/testing-helper.c:104,1
    - Dst: g_print
      Src: /src/glib/glib/tests/testing-helper.c:106,1
    - Dst: g_print
      Src: /src/glib/glib/tests/testing-helper.c:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: test_print
    functionSourceFile: /src/glib/glib/tests/testing-helper.c
    functionUses: []
    functionsReached:
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void test_print (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/testing-helper.c:136,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/glib/tests/testing-helper.c:145,1
    - Dst: printf
      Src: /src/glib/glib/tests/testing-helper.c:138,1
    - Dst: g_test_trap_has_passed
      Src: /src/glib/glib/tests/testing-helper.c:143,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing-helper.c:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 146
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 146
    functionName: test_subprocess_stdout_no_nl
    functionSourceFile: /src/glib/glib/tests/testing-helper.c
    functionUses: []
    functionsReached:
    - printf
    - g_test_trap_subprocess
    - g_test_subprocess
    - g_test_trap_assert_stdout
    - g_test_trap_has_passed
    linkageType: ''
    returnType: void
    signature: 'static void test_subprocess_stdout_no_nl (void) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/glib/glib/tests/testing-helper.c:154,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/tests/testing-helper.c:164,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/tests/testing-helper.c:173,1
    - Dst: g_test_set_nonfatal_assertions
      Src: /src/glib/glib/tests/testing-helper.c:192,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/tests/testing-helper.c:202,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/tests/testing-helper.c:210,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:208,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:216,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/tests/testing-helper.c:237,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:242,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:277,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:254,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:248,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:265,1
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/testing-helper.c:281,1
    - Dst: g_test_init
      Src: /src/glib/glib/tests/testing-helper.c:186,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:196,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/tests/testing-helper.c:206,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/tests/testing-helper.c:214,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:220,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:225,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:229,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:234,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/tests/testing-helper.c:244,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:250,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:273,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:283,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:255,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/testing-helper.c:292,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:241,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:261,1
    - Dst: fileno
      Src: /src/glib/glib/tests/testing-helper.c:161,1
    - Dst: memmove
      Src: /src/glib/glib/tests/testing-helper.c:168,1
    - Dst: setmode
      Src: /src/glib/glib/tests/testing-helper.c:161,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/tests/testing-helper.c:194,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:200,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/tests/testing-helper.c:218,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:224,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/tests/testing-helper.c:227,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:233,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:240,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:252,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:256,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:269,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/tests/testing-helper.c:275,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/tests/testing-helper.c:263,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/testing-helper.c:288,1
    - Dst: g_test_init
      Src: /src/glib/glib/tests/testing-helper.c:191,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:212,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/tests/testing-helper.c:198,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:204,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/tests/testing-helper.c:222,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/tests/testing-helper.c:231,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:235,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:239,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:249,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:251,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/tests/testing-helper.c:259,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/tests/testing-helper.c:271,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:284,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:253,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing-helper.c:257,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/tests/testing-helper.c:267,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 110
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 293
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 293
    functionName: main
    functionSourceFile: /src/glib/glib/tests/testing-helper.c
    functionUses: []
    functionsReached:
    - fileno
    - g_test_add_func
    - g_return_val_if_fail
    - g_test_set_nonfatal_assertions
    - memmove
    - g_test_run
    - g_assert_not_reached
    - setlocale
    - setmode
    - g_strcmp0
    - g_test_subprocess
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_rc_box_new
      Src: /src/glib/glib/tests/rcbox.c:51,1
    - Dst: g_atomic_rc_box_get_size
      Src: /src/glib/glib/tests/rcbox.c:54,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/rcbox.c:54,1
    - Dst: g_atomic_rc_box_release
      Src: /src/glib/glib/tests/rcbox.c:56,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/rcbox.c:53,1
    - Dst: g_atomic_rc_box_new0
      Src: /src/glib/glib/tests/rcbox.c:58,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/rcbox.c:59,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/rcbox.c:60,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/rcbox.c:61,1
    - Dst: g_atomic_rc_box_release
      Src: /src/glib/glib/tests/rcbox.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 64
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 64
    functionName: test_atomic_rcbox_new
    functionSourceFile: /src/glib/glib/tests/rcbox.c
    functionUses: []
    functionsReached:
    - g_atomic_rc_box_new0
    - g_atomic_rc_box_new
    - g_assert_nonnull
    - g_assert_cmpuint
    - g_assert_cmpfloat
    - g_atomic_rc_box_get_size
    - g_atomic_rc_box_release
    linkageType: ''
    returnType: void
    signature: 'static void test_atomic_rcbox_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/rcbox.c:69,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/rcbox.c:72,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/rcbox.c:70,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/rcbox.c:75,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/rcbox.c:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - p
    argTypes:
    - Point*
    constantsTouched: []
    func_position:
      end: 77
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 77
    functionName: point_clear
    functionSourceFile: /src/glib/glib/tests/rcbox.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_assert_nonnull
    - g_assert_cmpfloat
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void point_clear (Point *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_rc_box_new
      Src: /src/glib/glib/tests/rcbox.c:109,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/rcbox.c:111,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/rcbox.c:117,1
    - Dst: g_atomic_rc_box_release_full
      Src: /src/glib/glib/tests/rcbox.c:119,1
    - Dst: g_atomic_rc_box_acquire
      Src: /src/glib/glib/tests/rcbox.c:117,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/rcbox.c:120,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/rcbox.c:121,1
    - Dst: g_atomic_rc_box_release_full
      Src: /src/glib/glib/tests/rcbox.c:123,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/rcbox.c:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 125
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 125
    functionName: test_atomic_rcbox_release_full
    functionSourceFile: /src/glib/glib/tests/rcbox.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_atomic_rc_box_release_full
    - g_assert_null
    - g_atomic_rc_box_new
    - g_atomic_rc_box_acquire
    - g_assert_nonnull
    linkageType: ''
    returnType: void
    signature: 'static void test_atomic_rcbox_release_full (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/rcbox.c:142,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/rcbox.c:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - b
    argTypes:
    - Point*
    constantsTouched: []
    func_position:
      end: 146
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 146
    functionName: point_clear_dup_b
    functionSourceFile: /src/glib/glib/tests/rcbox.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void point_clear_dup_b (Point *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/rcbox.c:247,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/rcbox.c:252,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/rcbox.c:251,1
    - Dst: g_rc_box_alloc0
      Src: /src/glib/glib/tests/rcbox.c:249,1
    - Dst: g_rc_box_release
      Src: /src/glib/glib/tests/rcbox.c:254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 256
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 256
    functionName: test_rcbox_alignment
    functionSourceFile: /src/glib/glib/tests/rcbox.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - G_N_ELEMENTS
    - g_rc_box_alloc0
    - g_rc_box_release
    - g_assert_nonnull
    linkageType: ''
    returnType: void
    signature: 'static void test_rcbox_alignment (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/rcbox.c:133,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/rcbox.c:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - a
    argTypes:
    - Point*
    constantsTouched: []
    func_position:
      end: 137
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 137
    functionName: point_clear_dup_a
    functionSourceFile: /src/glib/glib/tests/rcbox.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void point_clear_dup_a (Point *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/rcbox.c:286,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/rcbox.c:291,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/rcbox.c:288,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/rcbox.c:289,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/rcbox.c:290,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/rcbox.c:293,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/rcbox.c:294,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/rcbox.c:295,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/rcbox.c:296,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/rcbox.c:298,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 299
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 299
    functionName: main
    functionSourceFile: /src/glib/glib/tests/rcbox.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rc_box_new
      Src: /src/glib/glib/tests/rcbox.c:32,1
    - Dst: g_rc_box_release
      Src: /src/glib/glib/tests/rcbox.c:37,1
    - Dst: g_rc_box_get_size
      Src: /src/glib/glib/tests/rcbox.c:35,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/rcbox.c:34,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/rcbox.c:35,1
    - Dst: g_rc_box_new0
      Src: /src/glib/glib/tests/rcbox.c:39,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/rcbox.c:40,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/rcbox.c:41,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/rcbox.c:42,1
    - Dst: g_rc_box_release
      Src: /src/glib/glib/tests/rcbox.c:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 45
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 45
    functionName: test_rcbox_new
    functionSourceFile: /src/glib/glib/tests/rcbox.c
    functionUses: []
    functionsReached:
    - g_rc_box_new
    - g_rc_box_release
    - g_rc_box_new0
    - g_assert_nonnull
    - g_assert_cmpuint
    - g_assert_cmpfloat
    - g_rc_box_get_size
    linkageType: ''
    returnType: void
    signature: 'static void test_rcbox_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rc_box_new
      Src: /src/glib/glib/tests/rcbox.c:85,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/rcbox.c:93,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/rcbox.c:87,1
    - Dst: g_rc_box_release_full
      Src: /src/glib/glib/tests/rcbox.c:95,1
    - Dst: g_rc_box_acquire
      Src: /src/glib/glib/tests/rcbox.c:93,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/rcbox.c:96,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/rcbox.c:97,1
    - Dst: g_rc_box_release_full
      Src: /src/glib/glib/tests/rcbox.c:99,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/rcbox.c:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 101
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 101
    functionName: test_rcbox_release_full
    functionSourceFile: /src/glib/glib/tests/rcbox.c
    functionUses: []
    functionsReached:
    - g_rc_box_new
    - g_assert_true
    - g_assert_null
    - g_assert_nonnull
    - g_rc_box_acquire
    - g_rc_box_release_full
    linkageType: ''
    returnType: void
    signature: 'static void test_rcbox_release_full (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rc_box_new
      Src: /src/glib/glib/tests/rcbox.c:156,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/rcbox.c:163,1
    - Dst: g_rc_box_dup
      Src: /src/glib/glib/tests/rcbox.c:160,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/rcbox.c:162,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/rcbox.c:161,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/rcbox.c:170,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/rcbox.c:171,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/rcbox.c:175,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/rcbox.c:176,1
    - Dst: g_rc_box_release_full
      Src: /src/glib/glib/tests/rcbox.c:178,1
    - Dst: g_rc_box_release_full
      Src: /src/glib/glib/tests/rcbox.c:182,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/rcbox.c:179,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/rcbox.c:183,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/rcbox.c:180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 184
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 184
    functionName: test_rcbox_dup
    functionSourceFile: /src/glib/glib/tests/rcbox.c
    functionUses: []
    functionsReached:
    - g_rc_box_new
    - g_assert_true
    - g_assert_null
    - g_assert_nonnull
    - g_assert_cmpfloat
    - g_rc_box_release_full
    - g_rc_box_dup
    linkageType: ''
    returnType: void
    signature: 'static void test_rcbox_dup (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_rc_box_new
      Src: /src/glib/glib/tests/rcbox.c:194,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/rcbox.c:199,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/rcbox.c:201,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/rcbox.c:200,1
    - Dst: g_atomic_rc_box_dup
      Src: /src/glib/glib/tests/rcbox.c:198,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/rcbox.c:208,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/rcbox.c:209,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/rcbox.c:213,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/rcbox.c:214,1
    - Dst: g_atomic_rc_box_release_full
      Src: /src/glib/glib/tests/rcbox.c:216,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/rcbox.c:218,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/rcbox.c:217,1
    - Dst: g_atomic_rc_box_release_full
      Src: /src/glib/glib/tests/rcbox.c:220,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/rcbox.c:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 222
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 222
    functionName: test_atomic_rcbox_dup
    functionSourceFile: /src/glib/glib/tests/rcbox.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_atomic_rc_box_release_full
    - g_assert_null
    - g_atomic_rc_box_new
    - g_assert_nonnull
    - g_assert_cmpfloat
    - g_atomic_rc_box_dup
    linkageType: ''
    returnType: void
    signature: 'static void test_atomic_rcbox_dup (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/rcbox.c:271,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/rcbox.c:276,1
    - Dst: g_atomic_rc_box_release
      Src: /src/glib/glib/tests/rcbox.c:278,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/rcbox.c:275,1
    - Dst: g_atomic_rc_box_alloc0
      Src: /src/glib/glib/tests/rcbox.c:273,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 280
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 280
    functionName: test_atomic_rcbox_alignment
    functionSourceFile: /src/glib/glib/tests/rcbox.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - G_N_ELEMENTS
    - g_assert_nonnull
    - g_atomic_rc_box_alloc0
    - g_atomic_rc_box_release
    linkageType: ''
    returnType: void
    signature: 'static void test_atomic_rcbox_alignment (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_user_name
      Src: /src/glib/glib/tests/gutils-user-database.c:28,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gutils-user-database.c:32,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gutils-user-database.c:29,1
    - Dst: g_get_real_name
      Src: /src/glib/glib/tests/gutils-user-database.c:31,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 33
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 33
    functionName: test_get_user_database_entry
    functionSourceFile: /src/glib/glib/tests/gutils-user-database.c
    functionUses: []
    functionsReached:
    - g_get_real_name
    - g_assert_cmpstr
    - g_get_user_name
    linkageType: ''
    returnType: void
    signature: 'static void test_get_user_database_entry (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/gutils-user-database.c:38,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gutils-user-database.c:40,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/gutils-user-database.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: main
    functionSourceFile: /src/glib/glib/tests/gutils-user-database.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_pattern_spec_new
      Src: /src/glib/glib/tests/pattern.c:78,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/pattern.c:80,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/pattern.c:81,1
    - Dst: strlen
      Src: /src/glib/glib/tests/pattern.c:82,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/pattern.c:82,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/pattern.c:83,1
    - Dst: g_pattern_spec_free
      Src: /src/glib/glib/tests/pattern.c:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 86
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 86
    functionName: test_compilation
    functionSourceFile: /src/glib/glib/tests/pattern.c
    functionUses: []
    functionsReached:
    - g_pattern_spec_new
    - strlen
    - g_assert_cmpuint
    - g_assert_cmpstr
    - g_pattern_spec_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_compilation (gconstpointer d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/pattern.c:242,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/pattern.c:246,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/pattern.c:247,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/pattern.c:244,1
    - Dst: g_free
      Src: /src/glib/glib/tests/pattern.c:248,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/pattern.c:251,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/pattern.c:253,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/pattern.c:254,1
    - Dst: g_free
      Src: /src/glib/glib/tests/pattern.c:255,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/pattern.c:258,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/pattern.c:261,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/pattern.c:267,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/pattern.c:268,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/pattern.c:272,1
    - Dst: g_free
      Src: /src/glib/glib/tests/pattern.c:269,1
    - Dst: g_free
      Src: /src/glib/glib/tests/pattern.c:262,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/pattern.c:260,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/pattern.c:265,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 273
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 273
    functionName: main
    functionSourceFile: /src/glib/glib/tests/pattern.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_test_init
    - g_test_add_data_func
    - G_N_ELEMENTS
    - g_test_run
    - g_free
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char** argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_pattern_spec_new
      Src: /src/glib/glib/tests/pattern.c:94,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/pattern.c:98,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/pattern.c:99,1
    - Dst: g_pattern_spec_copy
      Src: /src/glib/glib/tests/pattern.c:95,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/pattern.c:97,1
    - Dst: strlen
      Src: /src/glib/glib/tests/pattern.c:99,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/pattern.c:100,1
    - Dst: g_pattern_spec_free
      Src: /src/glib/glib/tests/pattern.c:102,1
    - Dst: g_pattern_spec_free
      Src: /src/glib/glib/tests/pattern.c:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: test_copy
    functionSourceFile: /src/glib/glib/tests/pattern.c
    functionUses: []
    functionsReached:
    - g_pattern_spec_new
    - strlen
    - g_assert_cmpuint
    - g_assert_cmpstr
    - g_pattern_spec_copy
    - g_pattern_spec_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_copy (gconstpointer d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_pattern_spec_new
      Src: /src/glib/glib/tests/pattern.c:226,1
    - Dst: g_pattern_spec_equal
      Src: /src/glib/glib/tests/pattern.c:229,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/pattern.c:229,1
    - Dst: g_pattern_spec_free
      Src: /src/glib/glib/tests/pattern.c:231,1
    - Dst: g_pattern_spec_new
      Src: /src/glib/glib/tests/pattern.c:227,1
    - Dst: g_pattern_spec_free
      Src: /src/glib/glib/tests/pattern.c:232,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 233
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 233
    functionName: test_equal
    functionSourceFile: /src/glib/glib/tests/pattern.c
    functionUses: []
    functionsReached:
    - g_pattern_spec_free
    - g_pattern_spec_equal
    - g_pattern_spec_new
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_equal (gconstpointer d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/pattern.c:177,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/pattern.c:180,1
    - Dst: g_pattern_spec_match_string
      Src: /src/glib/glib/tests/pattern.c:180,1
    - Dst: g_pattern_spec_new
      Src: /src/glib/glib/tests/pattern.c:179,1
    - Dst: g_pattern_match_simple
      Src: /src/glib/glib/tests/pattern.c:177,1
    - Dst: g_utf8_strreverse
      Src: /src/glib/glib/tests/pattern.c:185,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/pattern.c:186,1
    - Dst: g_pattern_spec_match
      Src: /src/glib/glib/tests/pattern.c:186,1
    - Dst: strlen
      Src: /src/glib/glib/tests/pattern.c:186,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/pattern.c:189,1
    - Dst: strlen
      Src: /src/glib/glib/tests/pattern.c:189,1
    - Dst: g_pattern_match
      Src: /src/glib/glib/tests/pattern.c:189,1
    - Dst: g_pattern_spec_free
      Src: /src/glib/glib/tests/pattern.c:193,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 194
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 194
    functionName: test_match
    functionSourceFile: /src/glib/glib/tests/pattern.c
    functionUses: []
    functionsReached:
    - g_pattern_match
    - g_utf8_strreverse
    - g_pattern_spec_new
    - strlen
    - g_pattern_match_simple
    - g_pattern_spec_match
    - g_pattern_spec_free
    - g_pattern_spec_match_string
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_match (gconstpointer d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rw_lock_reader_lock
      Src: /src/glib/glib/tests/rwlock.c:74,1
    - Dst: g_rw_lock_reader_unlock
      Src: /src/glib/glib/tests/rwlock.c:75,1
    - Dst: g_rw_lock_reader_unlock
      Src: /src/glib/glib/tests/rwlock.c:77,1
    - Dst: g_rw_lock_reader_lock
      Src: /src/glib/glib/tests/rwlock.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: test_rwlock4
    functionSourceFile: /src/glib/glib/tests/rwlock.c
    functionUses: []
    functionsReached:
    - g_rw_lock_reader_unlock
    - g_rw_lock_reader_lock
    linkageType: ''
    returnType: void
    signature: 'static void test_rwlock4 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rw_lock_writer_lock
      Src: /src/glib/glib/tests/rwlock.c:49,1
    - Dst: g_rw_lock_writer_unlock
      Src: /src/glib/glib/tests/rwlock.c:52,1
    - Dst: g_rw_lock_writer_unlock
      Src: /src/glib/glib/tests/rwlock.c:50,1
    - Dst: g_rw_lock_writer_lock
      Src: /src/glib/glib/tests/rwlock.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 53
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 53
    functionName: test_rwlock2
    functionSourceFile: /src/glib/glib/tests/rwlock.c
    functionUses: []
    functionsReached:
    - g_rw_lock_writer_lock
    - g_rw_lock_writer_unlock
    linkageType: ''
    returnType: void
    signature: 'static void test_rwlock2 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rw_lock_writer_lock
      Src: /src/glib/glib/tests/rwlock.c:101,1
    - Dst: g_rw_lock_writer_unlock
      Src: /src/glib/glib/tests/rwlock.c:104,1
    - Dst: g_rw_lock_reader_trylock
      Src: /src/glib/glib/tests/rwlock.c:102,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/rwlock.c:103,1
    - Dst: g_rw_lock_reader_lock
      Src: /src/glib/glib/tests/rwlock.c:106,1
    - Dst: g_rw_lock_writer_trylock
      Src: /src/glib/glib/tests/rwlock.c:107,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/rwlock.c:108,1
    - Dst: g_rw_lock_reader_unlock
      Src: /src/glib/glib/tests/rwlock.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 110
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 110
    functionName: test_rwlock6
    functionSourceFile: /src/glib/glib/tests/rwlock.c
    functionUses: []
    functionsReached:
    - g_rw_lock_reader_lock
    - g_assert
    - g_rw_lock_reader_trylock
    - g_rw_lock_writer_unlock
    - g_rw_lock_writer_trylock
    - g_rw_lock_reader_unlock
    - g_rw_lock_writer_lock
    linkageType: ''
    returnType: void
    signature: 'static void test_rwlock6 (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_self
      Src: /src/glib/glib/tests/rwlock.c:126,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/rwlock.c:131,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/rwlock.c:130,1
    - Dst: g_rw_lock_writer_lock
      Src: /src/glib/glib/tests/rwlock.c:133,1
    - Dst: g_rw_lock_writer_trylock
      Src: /src/glib/glib/tests/rwlock.c:128,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/rwlock.c:136,1
    - Dst: g_thread_yield
      Src: /src/glib/glib/tests/rwlock.c:140,1
    - Dst: g_thread_yield
      Src: /src/glib/glib/tests/rwlock.c:141,1
    - Dst: g_thread_yield
      Src: /src/glib/glib/tests/rwlock.c:142,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/rwlock.c:144,1
    - Dst: g_rw_lock_writer_unlock
      Src: /src/glib/glib/tests/rwlock.c:147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - nr
    argTypes:
    - gint
    constantsTouched: []
    func_position:
      end: 148
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 148
    functionName: acquire
    functionSourceFile: /src/glib/glib/tests/rwlock.c
    functionUses: []
    functionsReached:
    - g_thread_yield
    - g_printerr
    - g_assert
    - g_test_verbose
    - g_rw_lock_writer_unlock
    - g_rw_lock_writer_trylock
    - g_thread_self
    - g_rw_lock_writer_lock
    linkageType: ''
    returnType: void
    signature: 'static void acquire (gint nr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rw_lock_init
      Src: /src/glib/glib/tests/rwlock.c:173,1
    - Dst: g_rw_lock_clear
      Src: /src/glib/glib/tests/rwlock.c:182,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/rwlock.c:179,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/rwlock.c:185,1
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/rwlock.c:176,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 186
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 186
    functionName: test_rwlock7
    functionSourceFile: /src/glib/glib/tests/rwlock.c
    functionUses: []
    functionsReached:
    - g_rw_lock_clear
    - g_rw_lock_init
    - g_assert
    - g_thread_new
    - g_thread_join
    linkageType: ''
    returnType: void
    signature: 'static void test_rwlock7 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rw_lock_reader_lock
      Src: /src/glib/glib/tests/rwlock.c:215,1
    - Dst: g_rw_lock_reader_unlock
      Src: /src/glib/glib/tests/rwlock.c:219,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/rwlock.c:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 220
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 220
    functionName: verify_even
    functionSourceFile: /src/glib/glib/tests/rwlock.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_rw_lock_reader_unlock
    - g_rw_lock_reader_lock
    linkageType: ''
    returnType: void
    signature: 'static void verify_even (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: verify_even
      Src: /src/glib/glib/tests/rwlock.c:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 242
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 242
    functionName: reader_func
    functionSourceFile: /src/glib/glib/tests/rwlock.c
    functionUses: []
    functionsReached:
    - verify_even
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer reader_func (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rw_lock_init
      Src: /src/glib/glib/tests/rwlock.c:36,1
    - Dst: g_rw_lock_writer_unlock
      Src: /src/glib/glib/tests/rwlock.c:40,1
    - Dst: g_rw_lock_writer_unlock
      Src: /src/glib/glib/tests/rwlock.c:38,1
    - Dst: g_rw_lock_writer_lock
      Src: /src/glib/glib/tests/rwlock.c:39,1
    - Dst: g_rw_lock_writer_lock
      Src: /src/glib/glib/tests/rwlock.c:37,1
    - Dst: g_rw_lock_clear
      Src: /src/glib/glib/tests/rwlock.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 42
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 42
    functionName: test_rwlock1
    functionSourceFile: /src/glib/glib/tests/rwlock.c
    functionUses: []
    functionsReached:
    - g_rw_lock_writer_lock
    - g_rw_lock_writer_unlock
    - g_rw_lock_clear
    - g_rw_lock_init
    linkageType: ''
    returnType: void
    signature: 'static void test_rwlock1 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rw_lock_writer_trylock
      Src: /src/glib/glib/tests/rwlock.c:61,1
    - Dst: g_rw_lock_writer_unlock
      Src: /src/glib/glib/tests/rwlock.c:66,1
    - Dst: g_rw_lock_writer_trylock
      Src: /src/glib/glib/tests/rwlock.c:63,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/rwlock.c:64,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/rwlock.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: test_rwlock3
    functionSourceFile: /src/glib/glib/tests/rwlock.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_rw_lock_writer_unlock
    - g_rw_lock_writer_trylock
    linkageType: ''
    returnType: void
    signature: 'static void test_rwlock3 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rw_lock_reader_trylock
      Src: /src/glib/glib/tests/rwlock.c:86,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/rwlock.c:89,1
    - Dst: g_rw_lock_reader_unlock
      Src: /src/glib/glib/tests/rwlock.c:91,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/rwlock.c:87,1
    - Dst: g_rw_lock_reader_trylock
      Src: /src/glib/glib/tests/rwlock.c:88,1
    - Dst: g_rw_lock_reader_unlock
      Src: /src/glib/glib/tests/rwlock.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 93
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 93
    functionName: test_rwlock5
    functionSourceFile: /src/glib/glib/tests/rwlock.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_rw_lock_reader_trylock
    - g_rw_lock_reader_unlock
    linkageType: ''
    returnType: void
    signature: 'static void test_rwlock5 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rand_new
      Src: /src/glib/glib/tests/rwlock.c:156,1
    - Dst: g_rand_free
      Src: /src/glib/glib/tests/rwlock.c:161,1
    - Dst: g_rand_int_range
      Src: /src/glib/glib/tests/rwlock.c:159,1
    - Dst: acquire
      Src: /src/glib/glib/tests/rwlock.c:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 164
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 164
    functionName: thread_func
    functionSourceFile: /src/glib/glib/tests/rwlock.c
    functionUses: []
    functionsReached:
    - acquire
    - g_rand_int_range
    - g_rand_free
    - g_rand_new
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer thread_func (gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_rw_lock_writer_lock
      Src: /src/glib/glib/tests/rwlock.c:196,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/rwlock.c:202,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/rwlock.c:207,1
    - Dst: g_rw_lock_writer_unlock
      Src: /src/glib/glib/tests/rwlock.c:209,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/rwlock.c:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 210
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 210
    functionName: change_even
    functionSourceFile: /src/glib/glib/tests/rwlock.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_rw_lock_writer_lock
    - GPOINTER_TO_INT
    - g_rw_lock_writer_unlock
    linkageType: ''
    returnType: void
    signature: 'static void change_even (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: change_even
      Src: /src/glib/glib/tests/rwlock.c:228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 231
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 231
    functionName: writer_func
    functionSourceFile: /src/glib/glib/tests/rwlock.c
    functionUses: []
    functionsReached:
    - change_even
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer writer_func (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/rwlock.c:278,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/rwlock.c:281,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/rwlock.c:282,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/rwlock.c:283,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/rwlock.c:280,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/rwlock.c:284,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/rwlock.c:285,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/rwlock.c:286,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/rwlock.c:287,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/rwlock.c:289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 290
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 290
    functionName: main
    functionSourceFile: /src/glib/glib/tests/rwlock.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rw_lock_init
      Src: /src/glib/glib/tests/rwlock.c:256,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/rwlock.c:259,1
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/rwlock.c:262,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/rwlock.c:265,1
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/rwlock.c:259,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/rwlock.c:268,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/rwlock.c:270,1
    - Dst: g_rw_lock_clear
      Src: /src/glib/glib/tests/rwlock.c:272,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 273
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 273
    functionName: test_rwlock8
    functionSourceFile: /src/glib/glib/tests/rwlock.c
    functionUses: []
    functionsReached:
    - g_rw_lock_clear
    - g_rw_lock_init
    - g_assert
    - g_thread_new
    - GINT_TO_POINTER
    - g_thread_join
    linkageType: ''
    returnType: void
    signature: 'static void test_rwlock8 (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_source_remove
      Src: /src/glib/glib/tests/io-channel-basic.c:103,1
    - Dst: g_main_loop_quit
      Src: /src/glib/glib/tests/io-channel-basic.c:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 110
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 110
    functionName: shutdown_source
    functionSourceFile: /src/glib/glib/tests/io-channel-basic.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    - g_source_remove
    linkageType: ''
    returnType: void
    signature: 'static void shutdown_source (gpointer data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_io_channel_read
      Src: /src/glib/glib/tests/io-channel-basic.c:211,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/io-channel-basic.c:223,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/io-channel-basic.c:215,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - channel
    - cond
    - data
    argTypes:
    - GIOChannel*
    - GIOCondition
    - gpointer
    constantsTouched: []
    func_position:
      end: 227
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 227
    functionName: recv_windows_message
    functionSourceFile: /src/glib/glib/tests/io-channel-basic.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_io_channel_read
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean recv_windows_message (GIOChannel *channel, GIOCondition
      cond, gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/glib/glib/tests/io-channel-basic.c:360,1
    - Dst: rand
      Src: /src/glib/glib/tests/io-channel-basic.c:368,1
    - Dst: g_debug
      Src: /src/glib/glib/tests/io-channel-basic.c:374,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/io-channel-basic.c:378,1
    - Dst: write
      Src: /src/glib/glib/tests/io-channel-basic.c:377,1
    - Dst: PostMessage
      Src: /src/glib/glib/tests/io-channel-basic.c:388,1
    - Dst: g_debug
      Src: /src/glib/glib/tests/io-channel-basic.c:392,1
    - Dst: close
      Src: /src/glib/glib/tests/io-channel-basic.c:393,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/io-channel-basic.c:370,1
    - Dst: rand
      Src: /src/glib/glib/tests/io-channel-basic.c:370,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/io-channel-basic.c:377,1
    - Dst: rand
      Src: /src/glib/glib/tests/io-channel-basic.c:385,1
    - Dst: rand
      Src: /src/glib/glib/tests/io-channel-basic.c:384,1
    - Dst: write
      Src: /src/glib/glib/tests/io-channel-basic.c:378,1
    - Dst: write
      Src: /src/glib/glib/tests/io-channel-basic.c:376,1
    - Dst: sscanf
      Src: /src/glib/glib/tests/io-channel-basic.c:362,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/io-channel-basic.c:376,1
    - Dst: rand
      Src: /src/glib/glib/tests/io-channel-basic.c:383,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/io-channel-basic.c:386,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/io-channel-basic.c:365,1
    - Dst: srand
      Src: /src/glib/glib/tests/io-channel-basic.c:366,1
    - Dst: rand
      Src: /src/glib/glib/tests/io-channel-basic.c:371,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 52
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 394
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 394
    functionName: run_process
    functionSourceFile: /src/glib/glib/tests/io-channel-basic.c
    functionUses: []
    functionsReached:
    - write
    - g_assert_cmpint
    - g_test_message
    - sscanf
    - g_debug
    - g_usleep
    - close
    - g_get_monotonic_time
    - PostMessage
    - srand
    - rand
    linkageType: ''
    returnType: void
    signature: 'static void run_process (int argc, char *argv[]) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_io_channel_read
      Src: /src/glib/glib/tests/io-channel-basic.c:78,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/io-channel-basic.c:82,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 5
    argNames:
    - fd
    - channel
    - buffer
    - nbytes
    - bytes_read
    argTypes:
    - int
    - GIOChannel*
    - char*
    - guint
    - guint*
    constantsTouched: []
    func_position:
      end: 94
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 94
    functionName: read_all
    functionSourceFile: /src/glib/glib/tests/io-channel-basic.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_io_channel_read
    linkageType: ''
    returnType: GIOError
    signature: 'static GIOError read_all (int fd, GIOChannel *channel, char *buffer,
      guint nbytes, guint *bytes_read) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_io_channel_unix_get_fd
      Src: /src/glib/glib/tests/io-channel-basic.c:117,1
    - Dst: g_debug
      Src: /src/glib/glib/tests/io-channel-basic.c:146,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/io-channel-basic.c:150,1
    - Dst: read_all
      Src: /src/glib/glib/tests/io-channel-basic.c:161,1
    - Dst: g_debug
      Src: /src/glib/glib/tests/io-channel-basic.c:169,1
    - Dst: shutdown_source
      Src: /src/glib/glib/tests/io-channel-basic.c:170,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/io-channel-basic.c:173,1
    - Dst: read_all
      Src: /src/glib/glib/tests/io-channel-basic.c:141,1
    - Dst: shutdown_source
      Src: /src/glib/glib/tests/io-channel-basic.c:187,1
    - Dst: g_debug
      Src: /src/glib/glib/tests/io-channel-basic.c:193,1
    - Dst: g_debug
      Src: /src/glib/glib/tests/io-channel-basic.c:186,1
    - Dst: shutdown_source
      Src: /src/glib/glib/tests/io-channel-basic.c:128,1
    - Dst: g_debug
      Src: /src/glib/glib/tests/io-channel-basic.c:120,1
    - Dst: g_debug
      Src: /src/glib/glib/tests/io-channel-basic.c:176,1
    - Dst: shutdown_source
      Src: /src/glib/glib/tests/io-channel-basic.c:147,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/io-channel-basic.c:155,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/io-channel-basic.c:192,1
    - Dst: read_all
      Src: /src/glib/glib/tests/io-channel-basic.c:179,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/io-channel-basic.c:175,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 54
    argCount: 3
    argNames:
    - channel
    - cond
    - data
    argTypes:
    - GIOChannel*
    - GIOCondition
    - gpointer
    constantsTouched: []
    func_position:
      end: 197
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 197
    functionName: recv_message
    functionSourceFile: /src/glib/glib/tests/io-channel-basic.c
    functionUses: []
    functionsReached:
    - g_debug
    - g_assert_cmpuint
    - read_all
    - shutdown_source
    - g_io_channel_unix_get_fd
    - g_assert_cmpint
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean recv_message (GIOChannel *channel, GIOCondition cond,
      gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_message
      Src: /src/glib/glib/tests/io-channel-basic.c:240,1
    - Dst: DefWindowProc
      Src: /src/glib/glib/tests/io-channel-basic.c:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - hwnd
    - message
    - wparam
    - lparam
    argTypes:
    - HWND
    - UINT
    - WPARAM
    - LPARAM
    constantsTouched: []
    func_position:
      end: 243
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 243
    functionName: window_procedure
    functionSourceFile: /src/glib/glib/tests/io-channel-basic.c
    functionUses: []
    functionsReached:
    - g_test_message
    - DefWindowProc
    linkageType: ''
    returnType: LRESULT
    signature: 'LRESULT CALLBACK window_procedure (HWND hwnd, UINT message, WPARAM
      wparam, LPARAM lparam) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/io-channel-basic.c:278,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/io-channel-basic.c:315,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/io-channel-basic.c:321,1
    - Dst: close
      Src: /src/glib/glib/tests/io-channel-basic.c:326,1
    - Dst: close
      Src: /src/glib/glib/tests/io-channel-basic.c:327,1
    - Dst: g_io_channel_win32_poll
      Src: /src/glib/glib/tests/io-channel-basic.c:332,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/io-channel-basic.c:333,1
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/io-channel-basic.c:341,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/io-channel-basic.c:342,1
    - Dst: RegisterClass
      Src: /src/glib/glib/tests/io-channel-basic.c:273,1
    - Dst: CreateWindow
      Src: /src/glib/glib/tests/io-channel-basic.c:276,1
    - Dst: pipe
      Src: /src/glib/glib/tests/io-channel-basic.c:293,1
    - Dst: g_io_channel_unix_new
      Src: /src/glib/glib/tests/io-channel-basic.c:302,1
    - Dst: g_io_add_watch_full
      Src: /src/glib/glib/tests/io-channel-basic.c:305,1
    - Dst: pipe
      Src: /src/glib/glib/tests/io-channel-basic.c:293,1
    - Dst: _spawnl
      Src: /src/glib/glib/tests/io-channel-basic.c:316,1
    - Dst: perror
      Src: /src/glib/glib/tests/io-channel-basic.c:295,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/io-channel-basic.c:319,1
    - Dst: g_io_channel_unref
      Src: /src/glib/glib/tests/io-channel-basic.c:338,1
    - Dst: GetModuleHandle
      Src: /src/glib/glib/tests/io-channel-basic.c:266,1
    - Dst: g_io_channel_win32_new_messages
      Src: /src/glib/glib/tests/io-channel-basic.c:281,1
    - Dst: g_malloc
      Src: /src/glib/glib/tests/io-channel-basic.c:286,1
    - Dst: g_free
      Src: /src/glib/glib/tests/io-channel-basic.c:323,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/io-channel-basic.c:330,1
    - Dst: g_io_channel_win32_make_pollfd
      Src: /src/glib/glib/tests/io-channel-basic.c:331,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/io-channel-basic.c:335,1
    - Dst: g_free
      Src: /src/glib/glib/tests/io-channel-basic.c:345,1
    - Dst: MAKEINTATOM
      Src: /src/glib/glib/tests/io-channel-basic.c:276,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/io-channel-basic.c:274,1
    - Dst: g_io_add_watch
      Src: /src/glib/glib/tests/io-channel-basic.c:282,1
    - Dst: exit
      Src: /src/glib/glib/tests/io-channel-basic.c:296,1
    - Dst: g_new
      Src: /src/glib/glib/tests/io-channel-basic.c:304,1
    - Dst: system
      Src: /src/glib/glib/tests/io-channel-basic.c:321,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/io-channel-basic.c:344,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 77
    argCount: 1
    argNames:
    - children_nb
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 346
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 346
    functionName: spawn_process
    functionSourceFile: /src/glib/glib/tests/io-channel-basic.c
    functionUses: []
    functionsReached:
    - system
    - CreateWindow
    - GetModuleHandle
    - g_strdup_printf
    - g_io_add_watch
    - g_malloc
    - g_assert_no_errno
    - _spawnl
    - g_io_channel_unref
    - g_io_channel_unix_new
    - g_io_channel_win32_make_pollfd
    - g_assert_nonnull
    - pipe
    - perror
    - g_get_monotonic_time
    - exit
    - g_io_add_watch_full
    - g_assert_cmpint
    - g_main_loop_run
    - RegisterClass
    - g_new
    - g_test_message
    - g_main_loop_new
    - MAKEINTATOM
    - g_io_channel_win32_new_messages
    - g_io_channel_win32_poll
    - g_main_loop_unref
    - close
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void spawn_process (int children_nb) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spawn_process
      Src: /src/glib/glib/tests/io-channel-basic.c:399,1
    - Dst: spawn_process
      Src: /src/glib/glib/tests/io-channel-basic.c:401,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 403
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 403
    functionName: test_io_basics
    functionSourceFile: /src/glib/glib/tests/io-channel-basic.c
    functionUses: []
    functionsReached:
    - spawn_process
    linkageType: ''
    returnType: void
    signature: 'static void test_io_basics (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/io-channel-basic.c:412,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/io-channel-basic.c:421,1
    - Dst: run_process
      Src: /src/glib/glib/tests/io-channel-basic.c:417,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/io-channel-basic.c:423,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 424
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 424
    functionName: main
    functionSourceFile: /src/glib/glib/tests/io-channel-basic.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_run
    - g_test_init
    - run_process
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_insert_sorted_with_data
      Src: /src/glib/glib/tests/list.c:132,1
    - Dst: g_list_nth_data
      Src: /src/glib/glib/tests/list.c:142,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/list.c:133,1
    - Dst: g_list_nth_data
      Src: /src/glib/glib/tests/list.c:141,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/list.c:144,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/list.c:144,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/list.c:144,1
    - Dst: g_list_free
      Src: /src/glib/glib/tests/list.c:147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 148
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 148
    functionName: test_list_insert_sorted_with_data
    functionSourceFile: /src/glib/glib/tests/list.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_list_nth_data
    - g_assert
    - g_list_insert_sorted_with_data
    - g_list_free
    - GINT_TO_POINTER
    linkageType: ''
    returnType: void
    signature: 'static void test_list_insert_sorted_with_data (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_append
      Src: /src/glib/glib/tests/list.c:436,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/list.c:436,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/list.c:437,1
    - Dst: g_list_append
      Src: /src/glib/glib/tests/list.c:438,1
    - Dst: g_list_append
      Src: /src/glib/glib/tests/list.c:437,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/list.c:438,1
    - Dst: g_list_copy_deep
      Src: /src/glib/glib/tests/list.c:440,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/list.c:440,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/list.c:444,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/list.c:444,1
    - Dst: g_list_free
      Src: /src/glib/glib/tests/list.c:447,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/list.c:444,1
    - Dst: g_list_free
      Src: /src/glib/glib/tests/list.c:448,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 449
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 449
    functionName: test_list_copy_deep
    functionSourceFile: /src/glib/glib/tests/list.c
    functionUses: []
    functionsReached:
    - g_list_append
    - GPOINTER_TO_INT
    - g_list_copy_deep
    - g_list_free
    - GINT_TO_POINTER
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_list_copy_deep (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_append
      Src: /src/glib/glib/tests/list.c:159,1
    - Dst: g_list_free
      Src: /src/glib/glib/tests/list.c:169,1
    - Dst: g_list_reverse
      Src: /src/glib/glib/tests/list.c:161,1
    - Dst: g_list_nth
      Src: /src/glib/glib/tests/list.c:165,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/list.c:166,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 170
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 170
    functionName: test_list_reverse
    functionSourceFile: /src/glib/glib/tests/list.c
    functionUses: []
    functionsReached:
    - g_list_append
    - g_list_reverse
    - g_assert
    - g_list_nth
    - g_list_free
    linkageType: ''
    returnType: void
    signature: 'static void test_list_reverse (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 351
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 351
    functionName: free_func
    functionSourceFile: /src/glib/glib/tests/list.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void free_func (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_append
      Src: /src/glib/glib/tests/list.c:457,1
    - Dst: g_list_append
      Src: /src/glib/glib/tests/list.c:459,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/list.c:457,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/list.c:458,1
    - Dst: g_list_append
      Src: /src/glib/glib/tests/list.c:458,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/list.c:459,1
    - Dst: g_list_delete_link
      Src: /src/glib/glib/tests/list.c:463,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/list.c:464,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/list.c:464,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/list.c:465,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/list.c:465,1
    - Dst: g_list_free
      Src: /src/glib/glib/tests/list.c:467,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 468
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 468
    functionName: test_delete_link
    functionSourceFile: /src/glib/glib/tests/list.c
    functionUses: []
    functionsReached:
    - g_list_delete_link
    - g_list_append
    - g_assert
    - g_list_free
    - GINT_TO_POINTER
    linkageType: ''
    returnType: void
    signature: 'static void test_delete_link (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_append
      Src: /src/glib/glib/tests/list.c:32,1
    - Dst: g_list_nth_data
      Src: /src/glib/glib/tests/list.c:39,1
    - Dst: g_list_sort
      Src: /src/glib/glib/tests/list.c:34,1
    - Dst: g_list_nth_data
      Src: /src/glib/glib/tests/list.c:40,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/list.c:32,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/list.c:42,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/list.c:42,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/list.c:42,1
    - Dst: g_list_free
      Src: /src/glib/glib/tests/list.c:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 46
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 46
    functionName: test_list_sort
    functionSourceFile: /src/glib/glib/tests/list.c
    functionUses: []
    functionsReached:
    - g_list_append
    - GPOINTER_TO_INT
    - g_list_nth_data
    - g_assert
    - g_list_free
    - g_list_sort
    - GINT_TO_POINTER
    linkageType: ''
    returnType: void
    signature: 'static void test_list_sort (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_append
      Src: /src/glib/glib/tests/list.c:181,1
    - Dst: g_list_free
      Src: /src/glib/glib/tests/list.c:189,1
    - Dst: g_list_nth
      Src: /src/glib/glib/tests/list.c:185,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/list.c:186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 190
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 190
    functionName: test_list_nth
    functionSourceFile: /src/glib/glib/tests/list.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_list_append
    - g_list_nth
    - g_list_free
    linkageType: ''
    returnType: void
    signature: 'static void test_list_nth (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_append
      Src: /src/glib/glib/tests/list.c:408,1
    - Dst: g_list_append
      Src: /src/glib/glib/tests/list.c:410,1
    - Dst: g_list_append
      Src: /src/glib/glib/tests/list.c:409,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/list.c:409,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/list.c:408,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/list.c:410,1
    - Dst: g_list_copy
      Src: /src/glib/glib/tests/list.c:412,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/list.c:416,1
    - Dst: g_list_free
      Src: /src/glib/glib/tests/list.c:419,1
    - Dst: g_list_free
      Src: /src/glib/glib/tests/list.c:420,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 421
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 421
    functionName: test_list_copy
    functionSourceFile: /src/glib/glib/tests/list.c
    functionUses: []
    functionsReached:
    - g_list_append
    - g_assert
    - g_list_copy
    - g_list_free
    - GINT_TO_POINTER
    linkageType: ''
    returnType: void
    signature: 'static void test_list_copy (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/list.c:16,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/list.c:17,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 20
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 20
    functionName: sort
    functionSourceFile: /src/glib/glib/tests/list.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    linkageType: ''
    returnType: gint
    signature: 'static gint sort (gconstpointer p1, gconstpointer p2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_append
      Src: /src/glib/glib/tests/list.c:55,1
    - Dst: g_list_nth_data
      Src: /src/glib/glib/tests/list.c:62,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/list.c:55,1
    - Dst: g_list_sort_with_data
      Src: /src/glib/glib/tests/list.c:57,1
    - Dst: g_list_nth_data
      Src: /src/glib/glib/tests/list.c:63,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/list.c:65,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/list.c:65,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/list.c:65,1
    - Dst: g_list_free
      Src: /src/glib/glib/tests/list.c:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 69
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 69
    functionName: test_list_sort_with_data
    functionSourceFile: /src/glib/glib/tests/list.c
    functionUses: []
    functionsReached:
    - g_list_append
    - GPOINTER_TO_INT
    - g_list_nth_data
    - g_assert
    - g_list_free
    - g_list_sort_with_data
    - GINT_TO_POINTER
    linkageType: ''
    returnType: void
    signature: 'static void test_list_sort_with_data (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_append
      Src: /src/glib/glib/tests/list.c:203,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/list.c:208,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/list.c:217,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/list.c:224,1
    - Dst: g_list_concat
      Src: /src/glib/glib/tests/list.c:220,1
    - Dst: g_list_free
      Src: /src/glib/glib/tests/list.c:229,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/list.c:207,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/list.c:208,1
    - Dst: g_list_nth
      Src: /src/glib/glib/tests/list.c:216,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/list.c:221,1
    - Dst: g_list_concat
      Src: /src/glib/glib/tests/list.c:226,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/list.c:207,1
    - Dst: g_list_concat
      Src: /src/glib/glib/tests/list.c:210,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/list.c:212,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/list.c:212,1
    - Dst: g_list_append
      Src: /src/glib/glib/tests/list.c:204,1
    - Dst: g_list_concat
      Src: /src/glib/glib/tests/list.c:223,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/list.c:227,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/list.c:221,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/list.c:224,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 230
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 230
    functionName: test_list_concat
    functionSourceFile: /src/glib/glib/tests/list.c
    functionUses: []
    functionsReached:
    - g_list_append
    - g_assert
    - g_list_length
    - g_list_nth
    - g_list_concat
    - g_list_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_list_concat (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/list.c:426,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/list.c:426,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/list.c:426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - value
    - data
    argTypes:
    - gconstpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 427
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 427
    functionName: multiply_value
    functionSourceFile: /src/glib/glib/tests/list.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - GINT_TO_POINTER
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer multiply_value (gconstpointer value, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_append
      Src: /src/glib/glib/tests/list.c:81,1
    - Dst: g_list_sort
      Src: /src/glib/glib/tests/list.c:85,1
    - Dst: g_list_nth_data
      Src: /src/glib/glib/tests/list.c:93,1
    - Dst: g_list_copy
      Src: /src/glib/glib/tests/list.c:84,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/list.c:81,1
    - Dst: g_list_nth_data
      Src: /src/glib/glib/tests/list.c:94,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/list.c:96,1
    - Dst: g_list_free
      Src: /src/glib/glib/tests/list.c:99,1
    - Dst: g_list_free_full
      Src: /src/glib/glib/tests/list.c:100,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 101
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 101
    functionName: test_list_sort_stable
    functionSourceFile: /src/glib/glib/tests/list.c
    functionUses: []
    functionsReached:
    - g_list_append
    - g_strdup_printf
    - g_list_nth_data
    - g_assert
    - g_list_free_full
    - g_list_copy
    - g_list_free
    - g_list_sort
    linkageType: ''
    returnType: void
    signature: 'static void test_list_sort_stable (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_append
      Src: /src/glib/glib/tests/list.c:242,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/list.c:246,1
    - Dst: g_list_append
      Src: /src/glib/glib/tests/list.c:243,1
    - Dst: g_list_remove
      Src: /src/glib/glib/tests/list.c:250,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/list.c:246,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/list.c:253,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/list.c:253,1
    - Dst: g_list_nth
      Src: /src/glib/glib/tests/list.c:257,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/list.c:258,1
    - Dst: g_list_free
      Src: /src/glib/glib/tests/list.c:261,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 262
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 262
    functionName: test_list_remove
    functionSourceFile: /src/glib/glib/tests/list.c
    functionUses: []
    functionsReached:
    - g_list_append
    - g_assert
    - g_list_length
    - g_list_remove
    - g_list_nth
    - g_list_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_list_remove (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_insert_sorted
      Src: /src/glib/glib/tests/list.c:110,1
    - Dst: g_list_nth_data
      Src: /src/glib/glib/tests/list.c:117,1
    - Dst: g_list_nth_data
      Src: /src/glib/glib/tests/list.c:116,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/list.c:110,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/list.c:119,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/list.c:119,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/list.c:119,1
    - Dst: g_list_free
      Src: /src/glib/glib/tests/list.c:122,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 123
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 123
    functionName: test_list_insert_sorted
    functionSourceFile: /src/glib/glib/tests/list.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_list_nth_data
    - g_assert
    - g_list_free
    - GINT_TO_POINTER
    - g_list_insert_sorted
    linkageType: ''
    returnType: void
    signature: 'static void test_list_insert_sorted (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_append
      Src: /src/glib/glib/tests/list.c:273,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/list.c:277,1
    - Dst: g_list_append
      Src: /src/glib/glib/tests/list.c:274,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/list.c:277,1
    - Dst: g_list_remove_all
      Src: /src/glib/glib/tests/list.c:281,1
    - Dst: g_list_remove_all
      Src: /src/glib/glib/tests/list.c:282,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/list.c:285,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/list.c:285,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/list.c:286,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 287
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 287
    functionName: test_list_remove_all
    functionSourceFile: /src/glib/glib/tests/list.c
    functionUses: []
    functionsReached:
    - g_list_append
    - g_assert
    - g_list_length
    - g_list_remove_all
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_list_remove_all (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_append
      Src: /src/glib/glib/tests/list.c:298,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/list.c:301,1
    - Dst: g_list_nth_prev
      Src: /src/glib/glib/tests/list.c:302,1
    - Dst: g_list_last
      Src: /src/glib/glib/tests/list.c:300,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/list.c:303,1
    - Dst: g_list_first
      Src: /src/glib/glib/tests/list.c:304,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/list.c:305,1
    - Dst: g_list_free
      Src: /src/glib/glib/tests/list.c:307,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 308
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 308
    functionName: test_list_first_last
    functionSourceFile: /src/glib/glib/tests/list.c
    functionUses: []
    functionsReached:
    - g_list_append
    - g_list_first
    - g_assert
    - g_list_last
    - g_list_free
    - g_list_nth_prev
    linkageType: ''
    returnType: void
    signature: 'static void test_list_first_last (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/glib/tests/list.c:358,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 363
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 363
    functionName: new_item
    functionSourceFile: /src/glib/glib/tests/list.c
    functionUses: []
    functionsReached:
    - g_slice_new
    linkageType: ''
    returnType: ListItem*
    signature: 'static ListItem *new_item (int x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_prepend
      Src: /src/glib/glib/tests/list.c:479,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/list.c:482,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/list.c:484,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/tests/list.c:480,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/list.c:483,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/tests/list.c:487,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/list.c:488,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/list.c:490,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/list.c:491,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/list.c:492,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/list.c:493,1
    - Dst: g_list_free
      Src: /src/glib/glib/tests/list.c:495,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 496
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 496
    functionName: test_prepend
    functionSourceFile: /src/glib/glib/tests/list.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_list_free
    - g_list_prepend
    linkageType: ''
    returnType: void
    signature: 'static void test_prepend (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/list.c:538,1
    - Dst: g_list_append
      Src: /src/glib/glib/tests/list.c:541,1
    - Dst: g_list_remove_link
      Src: /src/glib/glib/tests/list.c:545,1
    - Dst: g_list_append
      Src: /src/glib/glib/tests/list.c:542,1
    - Dst: g_list_append
      Src: /src/glib/glib/tests/list.c:543,1
    - Dst: g_list_remove_link
      Src: /src/glib/glib/tests/list.c:548,1
    - Dst: g_list_free
      Src: /src/glib/glib/tests/list.c:550,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/list.c:554,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/list.c:555,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/list.c:556,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 557
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 557
    functionName: test_double_free
    functionSourceFile: /src/glib/glib/tests/list.c
    functionUses: []
    functionsReached:
    - g_list_append
    - g_test_trap_assert_failed
    - g_test_trap_assert_stderr
    - g_list_free
    - g_test_trap_subprocess
    - g_list_remove_link
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_double_free (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_insert_before
      Src: /src/glib/glib/tests/list.c:318,1
    - Dst: g_list_insert
      Src: /src/glib/glib/tests/list.c:321,1
    - Dst: g_list_insert
      Src: /src/glib/glib/tests/list.c:319,1
    - Dst: g_list_insert
      Src: /src/glib/glib/tests/list.c:322,1
    - Dst: g_list_insert
      Src: /src/glib/glib/tests/list.c:320,1
    - Dst: g_list_insert_before
      Src: /src/glib/glib/tests/list.c:323,1
    - Dst: g_list_insert_before
      Src: /src/glib/glib/tests/list.c:324,1
    - Dst: g_list_insert
      Src: /src/glib/glib/tests/list.c:326,1
    - Dst: g_list_insert
      Src: /src/glib/glib/tests/list.c:327,1
    - Dst: g_list_insert
      Src: /src/glib/glib/tests/list.c:328,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/list.c:333,1
    - Dst: g_list_free
      Src: /src/glib/glib/tests/list.c:336,1
    - Dst: g_list_nth
      Src: /src/glib/glib/tests/list.c:332,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 337
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 337
    functionName: test_list_insert
    functionSourceFile: /src/glib/glib/tests/list.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_list_nth
    - g_list_free
    - g_list_insert
    - g_list_insert_before
    linkageType: ''
    returnType: void
    signature: 'static void test_list_insert (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_prepend
      Src: /src/glib/glib/tests/list.c:372,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/list.c:375,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/list.c:376,1
    - Dst: new_item
      Src: /src/glib/glib/tests/list.c:386,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/tests/list.c:386,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/list.c:389,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/list.c:390,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/list.c:391,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/list.c:379,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/list.c:381,1
    - Dst: g_slice_free
      Src: /src/glib/glib/tests/list.c:382,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/list.c:380,1
    - Dst: g_slice_free
      Src: /src/glib/glib/tests/list.c:384,1
    - Dst: g_list_free_full
      Src: /src/glib/glib/tests/list.c:392,1
    - Dst: g_slice_free
      Src: /src/glib/glib/tests/list.c:396,1
    - Dst: g_slice_free
      Src: /src/glib/glib/tests/list.c:398,1
    - Dst: new_item
      Src: /src/glib/glib/tests/list.c:372,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/tests/list.c:373,1
    - Dst: new_item
      Src: /src/glib/glib/tests/list.c:373,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/tests/list.c:374,1
    - Dst: new_item
      Src: /src/glib/glib/tests/list.c:374,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/list.c:377,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/tests/list.c:387,1
    - Dst: new_item
      Src: /src/glib/glib/tests/list.c:387,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/tests/list.c:388,1
    - Dst: new_item
      Src: /src/glib/glib/tests/list.c:388,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/list.c:395,1
    - Dst: g_slist_free_full
      Src: /src/glib/glib/tests/list.c:378,1
    - Dst: g_slice_free
      Src: /src/glib/glib/tests/list.c:383,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/list.c:393,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/list.c:394,1
    - Dst: g_slice_free
      Src: /src/glib/glib/tests/list.c:397,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 51
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 399
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 399
    functionName: test_free_full
    functionSourceFile: /src/glib/glib/tests/list.c
    functionUses: []
    functionsReached:
    - new_item
    - g_list_free_full
    - g_assert
    - g_list_prepend
    - g_slice_free
    - g_slist_free_full
    - g_slist_prepend
    linkageType: ''
    returnType: void
    signature: 'static void test_free_full (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_index
      Src: /src/glib/glib/tests/list.c:514,1
    - Dst: g_list_append
      Src: /src/glib/glib/tests/list.c:522,1
    - Dst: g_list_find
      Src: /src/glib/glib/tests/list.c:518,1
    - Dst: g_list_position
      Src: /src/glib/glib/tests/list.c:523,1
    - Dst: g_list_free
      Src: /src/glib/glib/tests/list.c:526,1
    - Dst: g_list_free
      Src: /src/glib/glib/tests/list.c:527,1
    - Dst: g_list_append
      Src: /src/glib/glib/tests/list.c:508,1
    - Dst: g_list_find
      Src: /src/glib/glib/tests/list.c:512,1
    - Dst: g_list_append
      Src: /src/glib/glib/tests/list.c:510,1
    - Dst: g_list_append
      Src: /src/glib/glib/tests/list.c:509,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/list.c:516,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/list.c:513,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/list.c:514,1
    - Dst: g_list_find
      Src: /src/glib/glib/tests/list.c:515,1
    - Dst: g_list_position
      Src: /src/glib/glib/tests/list.c:516,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/list.c:520,1
    - Dst: g_list_index
      Src: /src/glib/glib/tests/list.c:517,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/list.c:517,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/list.c:523,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/list.c:524,1
    - Dst: g_list_index
      Src: /src/glib/glib/tests/list.c:524,1
    - Dst: g_list_position
      Src: /src/glib/glib/tests/list.c:513,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/list.c:519,1
    - Dst: g_list_position
      Src: /src/glib/glib/tests/list.c:519,1
    - Dst: g_list_index
      Src: /src/glib/glib/tests/list.c:520,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 528
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 528
    functionName: test_position
    functionSourceFile: /src/glib/glib/tests/list.c
    functionUses: []
    functionsReached:
    - g_list_append
    - g_list_position
    - g_list_free
    - g_list_index
    - g_list_find
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_position (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_insert_before_link
      Src: /src/glib/glib/tests/list.c:569,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/list.c:571,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/list.c:574,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/list.c:582,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/list.c:583,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/list.c:583,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/list.c:592,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/list.c:594,1
    - Dst: g_list_insert_before_link
      Src: /src/glib/glib/tests/list.c:596,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/list.c:598,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/list.c:616,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/list.c:611,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/list.c:618,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/list.c:573,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/list.c:572,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/list.c:577,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/list.c:580,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/list.c:579,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/list.c:591,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/list.c:593,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/list.c:601,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/list.c:602,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/list.c:603,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/list.c:610,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/list.c:620,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/list.c:604,1
    - Dst: g_list_insert_before_link
      Src: /src/glib/glib/tests/list.c:609,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/list.c:570,1
    - Dst: g_list_insert_before_link
      Src: /src/glib/glib/tests/list.c:576,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/list.c:586,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/list.c:581,1
    - Dst: g_list_insert_before_link
      Src: /src/glib/glib/tests/list.c:585,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/list.c:587,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/list.c:589,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/list.c:594,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/list.c:599,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/list.c:606,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/list.c:615,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/list.c:622,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/list.c:612,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/list.c:617,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/list.c:574,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/list.c:578,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/list.c:588,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/list.c:590,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/list.c:597,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/list.c:600,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/list.c:607,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/list.c:614,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/list.c:619,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/list.c:622,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/list.c:613,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/list.c:607,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/list.c:621,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/list.c:605,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 86
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 623
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 623
    functionName: test_list_insert_before_link
    functionSourceFile: /src/glib/glib/tests/list.c
    functionUses: []
    functionsReached:
    - g_list_insert_before_link
    - g_assert_true
    - g_assert_null
    - g_list_length
    - g_assert_nonnull
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_list_insert_before_link (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/list.c:647,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/list.c:648,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/list.c:646,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/list.c:651,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/list.c:652,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/list.c:649,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/list.c:650,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/list.c:653,1
    - Dst: g_test_init
      Src: /src/glib/glib/tests/list.c:630,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/list.c:637,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/glib/tests/list.c:634,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/list.c:636,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/list.c:638,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/list.c:639,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/list.c:640,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/list.c:641,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/list.c:642,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/list.c:643,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/list.c:645,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/list.c:644,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/list.c:654,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/list.c:655,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/list.c:657,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 658
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 658
    functionName: main
    functionSourceFile: /src/glib/glib/tests/list.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_run
    - g_test_init
    - g_test_rand_int_range
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_add
      Src: /src/glib/glib/tests/atomic.c:49,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:60,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/atomic.c:73,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:83,1
    - Dst: g_atomic_int_and
      Src: /src/glib/glib/tests/atomic.c:87,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:125,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:168,1
    - Dst: g_atomic_pointer_compare_and_exchange
      Src: /src/glib/glib/tests/atomic.c:174,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:182,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:191,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/glib/tests/atomic.c:198,1
    - Dst: g_atomic_int_or
      Src: /src/glib/glib/tests/atomic.c:273,1
    - Dst: g_atomic_pointer_compare_and_exchange
      Src: /src/glib/glib/tests/atomic.c:327,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/glib/tests/atomic.c:354,1
    - Dst: g_atomic_pointer_compare_and_exchange_full
      Src: /src/glib/glib/tests/atomic.c:301,1
    - Dst: g_atomic_pointer_set
      Src: /src/glib/glib/tests/atomic.c:353,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:266,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/atomic.c:295,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:78,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:74,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:116,1
    - Dst: g_atomic_pointer_compare_and_exchange
      Src: /src/glib/glib/tests/atomic.c:120,1
    - Dst: g_atomic_pointer_exchange
      Src: /src/glib/glib/tests/atomic.c:122,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/atomic.c:126,1
    - Dst: g_atomic_pointer_set
      Src: /src/glib/glib/tests/atomic.c:142,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:149,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:180,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:186,1
    - Dst: g_atomic_int_compare_and_exchange_full
      Src: /src/glib/glib/tests/atomic.c:259,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:197,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:254,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/glib/tests/atomic.c:84,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:111,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:41,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:52,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:57,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:64,1
    - Dst: g_atomic_pointer_exchange
      Src: /src/glib/glib/tests/atomic.c:145,1
    - Dst: g_atomic_pointer_set
      Src: /src/glib/glib/tests/atomic.c:153,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:176,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:185,1
    - Dst: g_atomic_int_exchange
      Src: /src/glib/glib/tests/atomic.c:248,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:351,1
    - Dst: g_atomic_int_compare_and_exchange
      Src: /src/glib/glib/tests/atomic.c:225,1
    - Dst: g_atomic_int_set
      Src: /src/glib/glib/tests/atomic.c:252,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/atomic.c:292,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:338,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:198,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:274,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:239,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:344,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:109,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:47,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:61,1
    - Dst: g_atomic_int_xor
      Src: /src/glib/glib/tests/atomic.c:62,1
    - Dst: g_atomic_int_set
      Src: /src/glib/glib/tests/atomic.c:69,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:81,1
    - Dst: g_atomic_pointer_set
      Src: /src/glib/glib/tests/atomic.c:141,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:144,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:173,1
    - Dst: g_atomic_int_set
      Src: /src/glib/glib/tests/atomic.c:222,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:278,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:299,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:320,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/atomic.c:303,1
    - Dst: g_atomic_pointer_exchange
      Src: /src/glib/glib/tests/atomic.c:305,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:350,1
    - Dst: g_atomic_int_xor
      Src: /src/glib/glib/tests/atomic.c:246,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:58,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/atomic.c:107,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:86,1
    - Dst: g_atomic_int_exchange
      Src: /src/glib/glib/tests/atomic.c:96,1
    - Dst: g_atomic_pointer_compare_and_exchange_full
      Src: /src/glib/glib/tests/atomic.c:124,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:183,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:189,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/atomic.c:197,1
    - Dst: g_atomic_int_compare_and_exchange_full
      Src: /src/glib/glib/tests/atomic.c:229,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:250,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:272,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:341,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:290,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:277,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:306,1
    - Dst: g_atomic_pointer_compare_and_exchange
      Src: /src/glib/glib/tests/atomic.c:291,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/atomic.c:316,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/atomic.c:256,1
    - Dst: g_atomic_pointer_compare_and_exchange_full
      Src: /src/glib/glib/tests/atomic.c:115,1
    - Dst: g_atomic_int_set
      Src: /src/glib/glib/tests/atomic.c:39,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:44,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/tests/atomic.c:51,1
    - Dst: g_atomic_pointer_set
      Src: /src/glib/glib/tests/atomic.c:119,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/atomic.c:123,1
    - Dst: g_atomic_pointer_compare_and_exchange_full
      Src: /src/glib/glib/tests/atomic.c:128,1
    - Dst: g_atomic_pointer_compare_and_exchange_full
      Src: /src/glib/glib/tests/atomic.c:160,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:162,1
    - Dst: g_atomic_pointer_or
      Src: /src/glib/glib/tests/atomic.c:187,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:247,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:378,1
    - Dst: g_atomic_int_and
      Src: /src/glib/glib/tests/atomic.c:240,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:318,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:293,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/atomic.c:268,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:372,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:188,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/glib/tests/atomic.c:101,1
    - Dst: g_atomic_pointer_compare_and_exchange
      Src: /src/glib/glib/tests/atomic.c:110,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:63,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:71,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/atomic.c:130,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:131,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/atomic.c:145,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/atomic.c:238,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:242,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:262,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/glib/tests/atomic.c:289,1
    - Dst: g_atomic_pointer_set
      Src: /src/glib/glib/tests/atomic.c:326,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:302,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:361,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/glib/tests/atomic.c:267,1
    - Dst: g_atomic_pointer_exchange
      Src: /src/glib/glib/tests/atomic.c:329,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:359,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:371,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:112,1
    - Dst: g_atomic_int_add
      Src: /src/glib/glib/tests/atomic.c:80,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:88,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:98,1
    - Dst: g_atomic_pointer_compare_and_exchange
      Src: /src/glib/glib/tests/atomic.c:143,1
    - Dst: g_atomic_pointer_compare_and_exchange_full
      Src: /src/glib/glib/tests/atomic.c:165,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/atomic.c:226,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:227,1
    - Dst: g_atomic_int_add
      Src: /src/glib/glib/tests/atomic.c:233,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:249,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:345,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/atomic.c:379,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/atomic.c:381,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:192,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:269,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/atomic.c:330,1
    - Dst: g_atomic_pointer_exchange
      Src: /src/glib/glib/tests/atomic.c:376,1
    - Dst: g_atomic_int_compare_and_exchange
      Src: /src/glib/glib/tests/atomic.c:255,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:328,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:275,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/atomic.c:296,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:271,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/atomic.c:304,1
    - Dst: g_atomic_pointer_set
      Src: /src/glib/glib/tests/atomic.c:308,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:381,1
    - Dst: g_atomic_int_compare_and_exchange
      Src: /src/glib/glib/tests/atomic.c:42,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:50,1
    - Dst: g_atomic_int_and
      Src: /src/glib/glib/tests/atomic.c:56,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/atomic.c:54,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/atomic.c:77,1
    - Dst: g_atomic_int_compare_and_exchange
      Src: /src/glib/glib/tests/atomic.c:72,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:102,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:79,1
    - Dst: g_atomic_pointer_compare_and_exchange_full
      Src: /src/glib/glib/tests/atomic.c:106,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/atomic.c:104,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/tests/atomic.c:265,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/atomic.c:305,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/atomic.c:319,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:365,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:261,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:375,1
    - Dst: g_atomic_pointer_or
      Src: /src/glib/glib/tests/atomic.c:370,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:314,1
    - Dst: g_atomic_int_compare_and_exchange_full
      Src: /src/glib/glib/tests/atomic.c:45,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/atomic.c:46,1
    - Dst: g_atomic_pointer_exchange
      Src: /src/glib/glib/tests/atomic.c:113,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:121,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:150,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/glib/tests/atomic.c:171,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:178,1
    - Dst: g_atomic_pointer_add
      Src: /src/glib/glib/tests/atomic.c:181,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:236,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:257,1
    - Dst: g_atomic_pointer_add
      Src: /src/glib/glib/tests/atomic.c:364,1
    - Dst: g_atomic_int_or
      Src: /src/glib/glib/tests/atomic.c:243,1
    - Dst: g_atomic_int_exchange
      Src: /src/glib/glib/tests/atomic.c:284,1
    - Dst: g_atomic_pointer_compare_and_exchange_full
      Src: /src/glib/glib/tests/atomic.c:360,1
    - Dst: g_atomic_int_or
      Src: /src/glib/glib/tests/atomic.c:90,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:67,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:91,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/atomic.c:122,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/atomic.c:127,1
    - Dst: g_atomic_pointer_compare_and_exchange_full
      Src: /src/glib/glib/tests/atomic.c:148,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:167,1
    - Dst: g_atomic_pointer_set
      Src: /src/glib/glib/tests/atomic.c:170,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:179,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/glib/tests/atomic.c:237,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:340,1
    - Dst: g_atomic_pointer_compare_and_exchange_full
      Src: /src/glib/glib/tests/atomic.c:313,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:346,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:374,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/glib/tests/atomic.c:382,1
    - Dst: g_atomic_pointer_compare_and_exchange_full
      Src: /src/glib/glib/tests/atomic.c:294,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:245,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:286,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:363,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:97,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/atomic.c:108,1
    - Dst: g_atomic_int_exchange
      Src: /src/glib/glib/tests/atomic.c:65,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/tests/atomic.c:82,1
    - Dst: g_atomic_int_xor
      Src: /src/glib/glib/tests/atomic.c:93,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:94,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/glib/tests/atomic.c:154,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:157,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:163,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/atomic.c:195,1
    - Dst: g_atomic_int_exchange_and_add
      Src: /src/glib/glib/tests/atomic.c:280,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:358,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:285,1
    - Dst: g_atomic_pointer_xor
      Src: /src/glib/glib/tests/atomic.c:373,1
    - Dst: g_atomic_pointer_exchange
      Src: /src/glib/glib/tests/atomic.c:311,1
    - Dst: g_atomic_pointer_compare_and_exchange_full
      Src: /src/glib/glib/tests/atomic.c:343,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/atomic.c:297,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/atomic.c:43,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:48,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/glib/tests/atomic.c:53,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:92,1
    - Dst: g_atomic_pointer_compare_and_exchange
      Src: /src/glib/glib/tests/atomic.c:103,1
    - Dst: g_atomic_pointer_set
      Src: /src/glib/glib/tests/atomic.c:100,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:114,1
    - Dst: g_atomic_int_compare_and_exchange_full
      Src: /src/glib/glib/tests/atomic.c:76,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/atomic.c:146,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:158,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/atomic.c:194,1
    - Dst: g_atomic_pointer_compare_and_exchange
      Src: /src/glib/glib/tests/atomic.c:298,1
    - Dst: g_atomic_pointer_compare_and_exchange
      Src: /src/glib/glib/tests/atomic.c:309,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/glib/tests/atomic.c:337,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:382,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:366,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:232,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/atomic.c:349,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:362,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/atomic.c:40,1
    - Dst: g_atomic_int_or
      Src: /src/glib/glib/tests/atomic.c:59,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/atomic.c:70,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:95,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:89,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/atomic.c:166,1
    - Dst: g_atomic_pointer_compare_and_exchange_full
      Src: /src/glib/glib/tests/atomic.c:177,1
    - Dst: g_atomic_pointer_xor
      Src: /src/glib/glib/tests/atomic.c:190,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/atomic.c:223,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:224,1
    - Dst: g_atomic_int_and
      Src: /src/glib/glib/tests/atomic.c:270,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/atomic.c:329,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:283,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:300,1
    - Dst: g_atomic_pointer_set
      Src: /src/glib/glib/tests/atomic.c:325,1
    - Dst: g_atomic_pointer_compare_and_exchange
      Src: /src/glib/glib/tests/atomic.c:339,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/atomic.c:311,1
    - Dst: g_atomic_int_xor
      Src: /src/glib/glib/tests/atomic.c:276,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/atomic.c:315,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:334,1
    - Dst: g_atomic_pointer_and
      Src: /src/glib/glib/tests/atomic.c:367,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:55,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:66,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/atomic.c:113,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:117,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/atomic.c:85,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/atomic.c:230,1
    - Dst: g_atomic_pointer_exchange
      Src: /src/glib/glib/tests/atomic.c:193,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:231,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:234,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/tests/atomic.c:235,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/atomic.c:253,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:310,1
    - Dst: g_atomic_pointer_compare_and_exchange_full
      Src: /src/glib/glib/tests/atomic.c:332,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:369,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:356,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/atomic.c:312,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:333,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:129,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:155,1
    - Dst: g_atomic_pointer_compare_and_exchange
      Src: /src/glib/glib/tests/atomic.c:156,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:161,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/atomic.c:175,1
    - Dst: g_atomic_pointer_and
      Src: /src/glib/glib/tests/atomic.c:184,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:241,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:244,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/atomic.c:260,1
    - Dst: g_atomic_int_add
      Src: /src/glib/glib/tests/atomic.c:263,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/atomic.c:368,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:264,1
    - Dst: g_atomic_pointer_compare_and_exchange_full
      Src: /src/glib/glib/tests/atomic.c:348,1
    - Dst: g_atomic_pointer_compare_and_exchange
      Src: /src/glib/glib/tests/atomic.c:357,1
    - Dst: g_atomic_pointer_set
      Src: /src/glib/glib/tests/atomic.c:336,1
    - Dst: g_atomic_pointer_compare_and_exchange_full
      Src: /src/glib/glib/tests/atomic.c:317,1
    - Dst: g_atomic_pointer_set
      Src: /src/glib/glib/tests/atomic.c:288,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 397
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 383
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 383
    functionName: test_types
    functionSourceFile: /src/glib/glib/tests/atomic.c
    functionUses: []
    functionsReached:
    - g_atomic_int_dec_and_test
    - g_atomic_int_get
    - g_atomic_pointer_compare_and_exchange_full
    - g_assert_null
    - g_atomic_int_xor
    - g_atomic_pointer_compare_and_exchange
    - g_assert_true
    - g_atomic_int_exchange
    - g_atomic_int_set
    - g_assert_false
    - g_atomic_int_inc
    - g_atomic_pointer_exchange
    - g_assert_cmpint
    - g_atomic_int_and
    - g_atomic_int_exchange_and_add
    - g_assert_cmpuint
    - g_atomic_pointer_add
    - g_atomic_pointer_or
    - g_atomic_pointer_and
    - g_atomic_pointer_xor
    - g_atomic_int_compare_and_exchange_full
    - g_atomic_int_or
    - g_atomic_int_compare_and_exchange
    - g_atomic_pointer_set
    - g_atomic_pointer_get
    - g_assert_cmpstr
    - g_atomic_int_add
    linkageType: ''
    returnType: void
    signature: 'static void test_types (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/atomic.c:421,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/atomic.c:421,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/atomic.c:430,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/atomic.c:424,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 431
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 431
    functionName: test_threaded
    functionSourceFile: /src/glib/glib/tests/atomic.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - GINT_TO_POINTER
    - g_thread_new
    - g_thread_join
    linkageType: ''
    returnType: void
    signature: 'static void test_threaded (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/atomic.c:436,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/atomic.c:438,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/atomic.c:441,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/atomic.c:439,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 442
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 442
    functionName: main
    functionSourceFile: /src/glib/glib/tests/atomic.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/atomic.c:394,1
    - Dst: g_atomic_int_add
      Src: /src/glib/glib/tests/atomic.c:402,1
    - Dst: g_thread_yield
      Src: /src/glib/glib/tests/atomic.c:403,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/atomic.c:400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 407
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 407
    functionName: thread_func
    functionSourceFile: /src/glib/glib/tests/atomic.c
    functionUses: []
    functionsReached:
    - g_atomic_int_add
    - g_random_int_range
    - GPOINTER_TO_INT
    - g_thread_yield
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer thread_func (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/environment.c:254,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/environment.c:259,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/environment.c:262,1
    - Dst: g_environ_getenv
      Src: /src/glib/glib/tests/environment.c:258,1
    - Dst: g_environ_setenv
      Src: /src/glib/glib/tests/environment.c:261,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/environment.c:263,1
    - Dst: g_environ_unsetenv
      Src: /src/glib/glib/tests/environment.c:265,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/environment.c:266,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 267
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 267
    functionName: test_environ_null
    functionSourceFile: /src/glib/glib/tests/environment.c
    functionUses: []
    functionsReached:
    - g_test_summary
    - g_assert_null
    - g_assert_nonnull
    - g_strfreev
    - g_environ_getenv
    - g_environ_setenv
    - g_environ_unsetenv
    linkageType: ''
    returnType: void
    signature: 'static void test_environ_null (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/environment.c:160,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/environment.c:161,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/environment.c:162,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/environment.c:160,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/environment.c:162,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/environment.c:163,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/environment.c:163,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/environment.c:164,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/environment.c:164,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/environment.c:165,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/environment.c:166,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/environment.c:166,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/environment.c:165,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/environment.c:168,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/environment.c:168,1
    - Dst: g_unsetenv
      Src: /src/glib/glib/tests/environment.c:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 169
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 169
    functionName: test_setenv
    functionSourceFile: /src/glib/glib/tests/environment.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_assert_null
    - g_getenv
    - g_setenv
    - g_unsetenv
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void test_setenv (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/environment.c:28,1
    - Dst: g_get_environ
      Src: /src/glib/glib/tests/environment.c:35,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/environment.c:43,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/environment.c:46,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/tests/environment.c:56,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/environment.c:58,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/environment.c:57,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/tests/environment.c:61,1
    - Dst: g_hash_table_unref
      Src: /src/glib/glib/tests/environment.c:62,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/tests/environment.c:41,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/tests/environment.c:42,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/tests/environment.c:48,1
    - Dst: g_listenv
      Src: /src/glib/glib/tests/environment.c:50,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/environment.c:41,1
    - Dst: g_free
      Src: /src/glib/glib/tests/environment.c:44,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/environment.c:61,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/environment.c:48,1
    - Dst: g_hash_table_remove
      Src: /src/glib/glib/tests/environment.c:59,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/environment.c:63,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/tests/environment.c:32,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/environment.c:40,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 64
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 64
    functionName: test_listenv
    functionSourceFile: /src/glib/glib/tests/environment.c
    functionUses: []
    functionsReached:
    - g_test_summary
    - g_assert_null
    - g_getenv
    - g_hash_table_remove
    - g_hash_table_unref
    - g_hash_table_lookup
    - g_listenv
    - g_assert_cmpstr
    - g_hash_table_insert
    - g_strfreev
    - g_hash_table_new_full
    - g_strcmp0
    - g_strsplit
    - g_hash_table_size
    - g_get_environ
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_listenv (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/environment.c:74,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/environment.c:84,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/environment.c:90,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/environment.c:99,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/environment.c:111,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/environment.c:113,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/environment.c:114,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/environment.c:122,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/environment.c:131,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/environment.c:137,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/environment.c:108,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/environment.c:126,1
    - Dst: g_unsetenv
      Src: /src/glib/glib/tests/environment.c:144,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/environment.c:149,1
    - Dst: g_unsetenv
      Src: /src/glib/glib/tests/environment.c:139,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/environment.c:145,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/environment.c:78,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/environment.c:89,1
    - Dst: g_unsetenv
      Src: /src/glib/glib/tests/environment.c:101,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/environment.c:118,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/environment.c:132,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/environment.c:140,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/environment.c:113,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/environment.c:118,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/environment.c:119,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/environment.c:78,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/environment.c:81,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/environment.c:83,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/environment.c:87,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/environment.c:94,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/environment.c:96,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/environment.c:98,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/environment.c:92,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/environment.c:102,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/environment.c:106,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/environment.c:128,1
    - Dst: g_unsetenv
      Src: /src/glib/glib/tests/environment.c:148,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/environment.c:142,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/environment.c:149,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/environment.c:81,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/environment.c:85,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/environment.c:87,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/environment.c:94,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/environment.c:97,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/environment.c:91,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/environment.c:102,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/environment.c:104,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/environment.c:108,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/environment.c:109,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/environment.c:116,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/environment.c:122,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/environment.c:135,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 67
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 150
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 150
    functionName: test_getenv
    functionSourceFile: /src/glib/glib/tests/environment.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_assert_true
    - g_test_summary
    - g_assert_null
    - g_getenv
    - g_setenv
    - g_unsetenv
    - g_assert_nonnull
    - g_test_undefined
    - g_assert_cmpstr
    - g_test_expect_message
    - g_assert_false
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_getenv (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/environment.c:185,1
    - Dst: g_new
      Src: /src/glib/glib/tests/environment.c:180,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/environment.c:198,1
    - Dst: g_environ_setenv
      Src: /src/glib/glib/tests/environment.c:212,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/environment.c:208,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/environment.c:202,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/environment.c:214,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/environment.c:219,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/environment.c:220,1
    - Dst: g_environ_getenv
      Src: /src/glib/glib/tests/environment.c:224,1
    - Dst: g_environ_setenv
      Src: /src/glib/glib/tests/environment.c:237,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/environment.c:177,1
    - Dst: g_environ_getenv
      Src: /src/glib/glib/tests/environment.c:187,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/environment.c:183,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/environment.c:188,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/environment.c:216,1
    - Dst: g_environ_setenv
      Src: /src/glib/glib/tests/environment.c:223,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/environment.c:225,1
    - Dst: g_environ_getenv
      Src: /src/glib/glib/tests/environment.c:228,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/environment.c:231,1
    - Dst: g_environ_getenv
      Src: /src/glib/glib/tests/environment.c:234,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/environment.c:239,1
    - Dst: g_environ_getenv
      Src: /src/glib/glib/tests/environment.c:238,1
    - Dst: g_environ_getenv
      Src: /src/glib/glib/tests/environment.c:191,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/environment.c:192,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/environment.c:194,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/environment.c:210,1
    - Dst: g_environ_setenv
      Src: /src/glib/glib/tests/environment.c:206,1
    - Dst: g_environ_setenv
      Src: /src/glib/glib/tests/environment.c:200,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/environment.c:213,1
    - Dst: g_environ_unsetenv
      Src: /src/glib/glib/tests/environment.c:218,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/environment.c:229,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/environment.c:235,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/environment.c:204,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/environment.c:207,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/environment.c:201,1
    - Dst: g_environ_setenv
      Src: /src/glib/glib/tests/environment.c:227,1
    - Dst: g_environ_getenv
      Src: /src/glib/glib/tests/environment.c:230,1
    - Dst: g_environ_setenv
      Src: /src/glib/glib/tests/environment.c:233,1
    - Dst: g_environ_unsetenv
      Src: /src/glib/glib/tests/environment.c:241,1
    - Dst: g_environ_getenv
      Src: /src/glib/glib/tests/environment.c:242,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/environment.c:243,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/environment.c:245,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 65
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 246
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 246
    functionName: test_environ_array
    functionSourceFile: /src/glib/glib/tests/environment.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_test_summary
    - g_new
    - g_assert_null
    - g_test_undefined
    - g_assert_cmpstr
    - g_test_expect_message
    - g_environ_getenv
    - g_strfreev
    - g_environ_setenv
    - g_environ_unsetenv
    linkageType: ''
    returnType: void
    signature: 'static void test_environ_array (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/environment.c:275,1
    - Dst: g_environ_getenv
      Src: /src/glib/glib/tests/environment.c:285,1
    - Dst: g_environ_getenv
      Src: /src/glib/glib/tests/environment.c:282,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/environment.c:283,1
    - Dst: g_environ_setenv
      Src: /src/glib/glib/tests/environment.c:281,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/environment.c:287,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/environment.c:289,1
    - Dst: g_environ_setenv
      Src: /src/glib/glib/tests/environment.c:292,1
    - Dst: g_environ_getenv
      Src: /src/glib/glib/tests/environment.c:293,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/environment.c:295,1
    - Dst: g_environ_unsetenv
      Src: /src/glib/glib/tests/environment.c:300,1
    - Dst: g_environ_getenv
      Src: /src/glib/glib/tests/environment.c:301,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/environment.c:303,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/environment.c:305,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/environment.c:297,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/environment.c:308,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 309
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 309
    functionName: test_environ_case
    functionSourceFile: /src/glib/glib/tests/environment.c
    functionUses: []
    functionsReached:
    - g_test_summary
    - g_assert_null
    - g_assert_cmpstr
    - g_strfreev
    - g_environ_getenv
    - g_environ_setenv
    - g_environ_unsetenv
    linkageType: ''
    returnType: void
    signature: 'static void test_environ_case (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/environment.c:314,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/environment.c:316,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/environment.c:319,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/environment.c:318,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/environment.c:317,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/environment.c:320,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/environment.c:321,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/environment.c:323,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 324
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 324
    functionName: main
    functionSourceFile: /src/glib/glib/tests/environment.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_chunk_new
      Src: /src/glib/glib/tests/string.c:68,1
    - Dst: g_string_chunk_insert
      Src: /src/glib/glib/tests/string.c:70,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/string.c:74,1
    - Dst: g_string_chunk_insert
      Src: /src/glib/glib/tests/string.c:72,1
    - Dst: g_string_chunk_insert_len
      Src: /src/glib/glib/tests/string.c:71,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/string.c:75,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/string.c:76,1
    - Dst: g_string_chunk_free
      Src: /src/glib/glib/tests/string.c:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 79
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 79
    functionName: test_string_chunk_insert
    functionSourceFile: /src/glib/glib/tests/string.c
    functionUses: []
    functionsReached:
    - g_string_chunk_insert_len
    - g_string_chunk_new
    - g_string_chunk_insert
    - g_assert_cmpmem
    - g_string_chunk_free
    linkageType: ''
    returnType: void
    signature: 'static void test_string_chunk_insert (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:130,1
    - Dst: g_string_printf
      Src: /src/glib/glib/tests/string.c:141,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:150,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:148,1
    - Dst: g_string_printf
      Src: /src/glib/glib/tests/string.c:135,1
    - Dst: g_string_printf
      Src: /src/glib/glib/tests/string.c:151,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:152,1
    - Dst: my_string_printf
      Src: /src/glib/glib/tests/string.c:153,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:154,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 157
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 157
    functionName: test_string_printf
    functionSourceFile: /src/glib/glib/tests/string.c
    functionUses: []
    functionsReached:
    - my_string_printf
    - g_assert_cmpstr
    - g_string_free
    - g_string_printf
    - g_string_new
    linkageType: ''
    returnType: void
    signature: 'static void test_string_printf (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:600,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/string.c:604,1
    - Dst: g_string_set_size
      Src: /src/glib/glib/tests/string.c:601,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:603,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:606,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 607
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 607
    functionName: test_string_set_size
    functionSourceFile: /src/glib/glib/tests/string.c
    functionUses: []
    functionsReached:
    - g_assert_cmpuint
    - g_assert_cmpstr
    - g_string_free
    - g_string_new
    - g_string_set_size
    linkageType: ''
    returnType: void
    signature: 'static void test_string_set_size (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/glib/tests/string.c:740,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:744,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/string.c:746,1
    - Dst: g_string_new_take
      Src: /src/glib/glib/tests/string.c:746,1
    - Dst: strcpy
      Src: /src/glib/glib/tests/string.c:743,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/string.c:747,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/string.c:748,1
    - Dst: g_string_replace
      Src: /src/glib/glib/tests/string.c:750,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:751,1
    - Dst: g_string_free_and_steal
      Src: /src/glib/glib/tests/string.c:753,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/string.c:753,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:754,1
    - Dst: g_free
      Src: /src/glib/glib/tests/string.c:756,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 757
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 757
    functionName: test_string_new_take
    functionSourceFile: /src/glib/glib/tests/string.c
    functionUses: []
    functionsReached:
    - malloc
    - g_steal_pointer
    - g_assert_null
    - g_assert_nonnull
    - g_assert_cmpstr
    - strcpy
    - g_string_new_take
    - g_string_free_and_steal
    - g_free
    - g_string_replace
    linkageType: ''
    returnType: void
    signature: 'static void test_string_new_take (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:86,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:87,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/string.c:91,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:94,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:98,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/string.c:106,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:97,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/string.c:90,1
    - Dst: strlen
      Src: /src/glib/glib/tests/string.c:92,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:95,1
    - Dst: g_string_new_len
      Src: /src/glib/glib/tests/string.c:100,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:105,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/string.c:89,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/string.c:92,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:103,1
    - Dst: g_string_new_len
      Src: /src/glib/glib/tests/string.c:101,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:108,1
    - Dst: strlen
      Src: /src/glib/glib/tests/string.c:91,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/string.c:93,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/string.c:104,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 110
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 110
    functionName: test_string_new
    functionSourceFile: /src/glib/glib/tests/string.c
    functionUses: []
    functionsReached:
    - strlen
    - g_string_new_len
    - g_assert_nonnull
    - g_assert_cmpuint
    - g_assert_cmpstr
    - g_string_free
    - g_string_new
    linkageType: ''
    returnType: void
    signature: 'static void test_string_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/tests/string.c:120,1
    - Dst: va_end
      Src: /src/glib/glib/tests/string.c:122,1
    - Dst: g_string_vprintf
      Src: /src/glib/glib/tests/string.c:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - string
    - format
    - '...'
    argTypes:
    - GString*
    - gchar*
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: my_string_printf
    functionSourceFile: /src/glib/glib/tests/string.c
    functionUses: []
    functionsReached:
    - g_string_vprintf
    - va_start
    - va_end
    linkageType: ''
    returnType: void
    signature: 'static void my_string_printf (GString *string, const gchar *format,
      ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:164,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:170,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:167,1
    - Dst: g_string_assign
      Src: /src/glib/glib/tests/string.c:165,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:166,1
    - Dst: g_string_assign
      Src: /src/glib/glib/tests/string.c:171,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:172,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:173,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:175,1
    - Dst: g_string_assign
      Src: /src/glib/glib/tests/string.c:176,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:177,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 179
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 179
    functionName: test_string_assign
    functionSourceFile: /src/glib/glib/tests/string.c
    functionUses: []
    functionsReached:
    - g_string_free
    - g_string_assign
    - g_assert_cmpstr
    - g_string_new
    linkageType: ''
    returnType: void
    signature: 'static void test_string_assign (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:617,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/tests/string.c:622,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/string.c:624,1
    - Dst: g_string_free_to_bytes
      Src: /src/glib/glib/tests/string.c:620,1
    - Dst: g_string_append
      Src: /src/glib/glib/tests/string.c:618,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/string.c:626,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/string.c:628,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 629
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 629
    functionName: test_string_to_bytes
    functionSourceFile: /src/glib/glib/tests/string.c
    functionUses: []
    functionsReached:
    - g_assert_cmpuint
    - g_bytes_unref
    - g_string_new
    - g_assert_cmpmem
    - g_string_free_to_bytes
    - g_string_append
    - g_bytes_get_data
    linkageType: ''
    returnType: void
    signature: 'static void test_string_to_bytes (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new_take
      Src: /src/glib/glib/tests/string.c:762,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:764,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:766,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/string.c:766,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 767
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 767
    functionName: test_string_new_take_null
    functionSourceFile: /src/glib/glib/tests/string.c
    functionUses: []
    functionsReached:
    - g_string_free
    - g_steal_pointer
    - g_string_new_take
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void test_string_new_take_null (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/tests/string.c:306,1
    - Dst: va_end
      Src: /src/glib/glib/tests/string.c:308,1
    - Dst: g_string_append_vprintf
      Src: /src/glib/glib/tests/string.c:307,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - string
    - format
    - '...'
    argTypes:
    - GString*
    - gchar*
    constantsTouched: []
    func_position:
      end: 309
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 309
    functionName: string_append_vprintf_va
    functionSourceFile: /src/glib/glib/tests/string.c
    functionUses: []
    functionsReached:
    - g_string_append_vprintf
    - va_start
    - va_end
    linkageType: ''
    returnType: void
    signature: 'static void string_append_vprintf_va (GString *string, const gchar
      *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:364,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:370,1
    - Dst: g_string_prepend
      Src: /src/glib/glib/tests/string.c:365,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:367,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:366,1
    - Dst: g_string_prepend_len
      Src: /src/glib/glib/tests/string.c:371,1
    - Dst: strlen
      Src: /src/glib/glib/tests/string.c:371,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:372,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:373,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 374
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 374
    functionName: test_string_prepend
    functionSourceFile: /src/glib/glib/tests/string.c
    functionUses: []
    functionsReached:
    - g_string_prepend
    - strlen
    - g_assert_cmpstr
    - g_string_free
    - g_string_new
    - g_string_prepend_len
    linkageType: ''
    returnType: void
    signature: 'static void test_string_prepend (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:495,1
    - Dst: strlen
      Src: /src/glib/glib/tests/string.c:498,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/string.c:498,1
    - Dst: g_string_truncate
      Src: /src/glib/glib/tests/string.c:497,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:499,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/string.c:502,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:503,1
    - Dst: g_string_truncate
      Src: /src/glib/glib/tests/string.c:505,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/string.c:506,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:507,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:509,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 510
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 510
    functionName: test_string_truncate
    functionSourceFile: /src/glib/glib/tests/string.c
    functionUses: []
    functionsReached:
    - strlen
    - g_assert_cmpuint
    - g_assert_cmpstr
    - g_string_free
    - g_string_new
    - g_string_truncate
    linkageType: ''
    returnType: void
    signature: 'static void test_string_truncate (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:382,1
    - Dst: g_string_insert
      Src: /src/glib/glib/tests/string.c:383,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:394,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:397,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:409,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:412,1
    - Dst: g_string_insert
      Src: /src/glib/glib/tests/string.c:389,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:390,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:402,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:403,1
    - Dst: g_string_insert_len
      Src: /src/glib/glib/tests/string.c:407,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:414,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:384,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:388,1
    - Dst: strlen
      Src: /src/glib/glib/tests/string.c:389,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:391,1
    - Dst: g_string_insert_len
      Src: /src/glib/glib/tests/string.c:401,1
    - Dst: strlen
      Src: /src/glib/glib/tests/string.c:401,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:406,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:408,1
    - Dst: g_string_insert_len
      Src: /src/glib/glib/tests/string.c:413,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:415,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:385,1
    - Dst: g_string_insert_len
      Src: /src/glib/glib/tests/string.c:395,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:396,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:400,1
    - Dst: strlen
      Src: /src/glib/glib/tests/string.c:395,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 416
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 416
    functionName: test_string_insert
    functionSourceFile: /src/glib/glib/tests/string.c
    functionUses: []
    functionsReached:
    - g_string_insert
    - strlen
    - g_assert_cmpstr
    - g_string_free
    - g_string_insert_len
    - g_string_new
    linkageType: ''
    returnType: void
    signature: 'static void test_string_insert (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/string.c:526,1
    - Dst: g_string_overwrite_len
      Src: /src/glib/glib/tests/string.c:535,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/string.c:536,1
    - Dst: g_string_overwrite_len
      Src: /src/glib/glib/tests/string.c:537,1
    - Dst: g_str_equal
      Src: /src/glib/glib/tests/string.c:538,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/string.c:523,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/string.c:522,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/string.c:521,1
    - Dst: g_string_overwrite_len
      Src: /src/glib/glib/tests/string.c:530,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/string.c:532,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/string.c:533,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/string.c:531,1
    - Dst: g_string_overwrite
      Src: /src/glib/glib/tests/string.c:525,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/string.c:527,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/string.c:528,1
    - Dst: g_str_equal
      Src: /src/glib/glib/tests/string.c:533,1
    - Dst: g_str_equal
      Src: /src/glib/glib/tests/string.c:536,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/string.c:538,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:518,1
    - Dst: g_string_overwrite
      Src: /src/glib/glib/tests/string.c:520,1
    - Dst: g_str_equal
      Src: /src/glib/glib/tests/string.c:523,1
    - Dst: g_str_equal
      Src: /src/glib/glib/tests/string.c:528,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:540,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 541
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 541
    functionName: test_string_overwrite
    functionSourceFile: /src/glib/glib/tests/string.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_string_overwrite_len
    - g_assert_cmpuint
    - g_string_free
    - g_string_new
    - g_string_overwrite
    - g_str_equal
    linkageType: ''
    returnType: void
    signature: 'static void test_string_overwrite (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:431,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:445,1
    - Dst: g_string_insert_unichar
      Src: /src/glib/glib/tests/string.c:446,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:436,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:439,1
    - Dst: g_string_insert_unichar
      Src: /src/glib/glib/tests/string.c:451,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:457,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:462,1
    - Dst: g_string_insert_unichar
      Src: /src/glib/glib/tests/string.c:466,1
    - Dst: g_string_insert_unichar
      Src: /src/glib/glib/tests/string.c:471,1
    - Dst: g_string_insert_unichar
      Src: /src/glib/glib/tests/string.c:425,1
    - Dst: g_string_insert_unichar
      Src: /src/glib/glib/tests/string.c:430,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:434,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:455,1
    - Dst: g_string_insert_unichar
      Src: /src/glib/glib/tests/string.c:456,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:460,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:432,1
    - Dst: g_string_insert_unichar
      Src: /src/glib/glib/tests/string.c:440,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:441,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:442,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:448,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:450,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:453,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:465,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:467,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:468,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:470,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:424,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:429,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:426,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:427,1
    - Dst: g_string_insert_unichar
      Src: /src/glib/glib/tests/string.c:435,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:447,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:437,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:452,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:458,1
    - Dst: g_string_insert_unichar
      Src: /src/glib/glib/tests/string.c:461,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:473,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:472,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:463,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 51
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 474
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 474
    functionName: test_string_insert_unichar
    functionSourceFile: /src/glib/glib/tests/string.c
    functionUses: []
    functionsReached:
    - g_string_free
    - g_string_insert_unichar
    - g_assert_cmpstr
    - g_string_new
    linkageType: ''
    returnType: void
    signature: 'static void test_string_insert_unichar (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:481,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:482,1
    - Dst: g_string_append
      Src: /src/glib/glib/tests/string.c:484,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/string.c:483,1
    - Dst: g_string_equal
      Src: /src/glib/glib/tests/string.c:483,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/string.c:485,1
    - Dst: g_string_equal
      Src: /src/glib/glib/tests/string.c:485,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:486,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:487,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 488
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 488
    functionName: test_string_equal
    functionSourceFile: /src/glib/glib/tests/string.c
    functionUses: []
    functionsReached:
    - g_string_equal
    - g_assert_true
    - g_string_free
    - g_string_new
    - g_assert_false
    - g_string_append
    linkageType: ''
    returnType: void
    signature: 'static void test_string_equal (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:187,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/string.c:195,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/tests/string.c:191,1
    - Dst: strlen
      Src: /src/glib/glib/tests/string.c:195,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/string.c:196,1
    - Dst: strlen
      Src: /src/glib/glib/tests/string.c:196,1
    - Dst: strlen
      Src: /src/glib/glib/tests/string.c:196,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/string.c:199,1
    - Dst: strlen
      Src: /src/glib/glib/tests/string.c:199,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:201,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 202
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 202
    functionName: test_string_append_c
    functionSourceFile: /src/glib/glib/tests/string.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - strlen
    - g_string_append_c
    - g_string_free
    - g_string_new
    linkageType: ''
    returnType: void
    signature: 'static void test_string_append_c (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:317,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/string.c:325,1
    - Dst: string_append_vprintf_va
      Src: /src/glib/glib/tests/string.c:330,1
    - Dst: string_append_vprintf_va
      Src: /src/glib/glib/tests/string.c:319,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/string.c:323,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/string.c:332,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:336,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:338,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 339
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 339
    functionName: test_string_append_vprintf
    functionSourceFile: /src/glib/glib/tests/string.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_test_undefined
    - string_append_vprintf_va
    - g_assert_cmpstr
    - g_test_expect_message
    - g_string_free
    - g_string_new
    linkageType: ''
    returnType: void
    signature: 'static void test_string_append_vprintf (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:549,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/tests/string.c:552,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/string.c:551,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:550,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/string.c:558,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/string.c:561,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/string.c:559,1
    - Dst: g_string_printf
      Src: /src/glib/glib/tests/string.c:564,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/string.c:565,1
    - Dst: g_string_equal
      Src: /src/glib/glib/tests/string.c:555,1
    - Dst: g_string_append
      Src: /src/glib/glib/tests/string.c:560,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/tests/string.c:557,1
    - Dst: g_string_equal
      Src: /src/glib/glib/tests/string.c:553,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/string.c:555,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/string.c:563,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/tests/string.c:556,1
    - Dst: g_string_insert
      Src: /src/glib/glib/tests/string.c:562,1
    - Dst: g_string_equal
      Src: /src/glib/glib/tests/string.c:551,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/string.c:553,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/tests/string.c:554,1
    - Dst: g_string_equal
      Src: /src/glib/glib/tests/string.c:558,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:567,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:568,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 569
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 569
    functionName: test_string_nul_handling
    functionSourceFile: /src/glib/glib/tests/string.c
    functionUses: []
    functionsReached:
    - g_string_insert
    - g_string_equal
    - g_assert_true
    - g_string_append_c
    - g_assert_cmpuint
    - g_assert_cmpmem
    - g_string_free
    - g_string_printf
    - g_string_new
    - g_assert_false
    - g_string_append
    linkageType: ''
    returnType: void
    signature: 'static void test_string_nul_handling (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/string.c:688,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:693,1
    - Dst: g_string_replace
      Src: /src/glib/glib/tests/string.c:697,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/string.c:694,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/string.c:699,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:701,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/string.c:702,1
    - Dst: strlen
      Src: /src/glib/glib/tests/string.c:702,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/string.c:703,1
    - Dst: strlen
      Src: /src/glib/glib/tests/string.c:703,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/string.c:704,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:705,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 707
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 707
    functionName: test_string_replace
    functionSourceFile: /src/glib/glib/tests/string.c
    functionUses: []
    functionsReached:
    - strlen
    - G_N_ELEMENTS
    - g_test_message
    - g_assert_cmpuint
    - g_assert_cmpstr
    - g_string_free
    - g_string_new
    - g_string_replace
    linkageType: ''
    returnType: void
    signature: 'static void test_string_replace (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_chunk_new
      Src: /src/glib/glib/tests/string.c:40,1
    - Dst: g_string_chunk_insert
      Src: /src/glib/glib/tests/string.c:44,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:45,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/string.c:49,1
    - Dst: g_string_chunk_insert_const
      Src: /src/glib/glib/tests/string.c:48,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:50,1
    - Dst: g_string_chunk_insert_const
      Src: /src/glib/glib/tests/string.c:52,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:53,1
    - Dst: g_string_chunk_clear
      Src: /src/glib/glib/tests/string.c:55,1
    - Dst: g_string_chunk_free
      Src: /src/glib/glib/tests/string.c:56,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 57
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 57
    functionName: test_string_chunks
    functionSourceFile: /src/glib/glib/tests/string.c
    functionUses: []
    functionsReached:
    - g_string_chunk_insert_const
    - g_assert_true
    - g_assert_cmpstr
    - g_string_chunk_new
    - g_string_chunk_insert
    - g_string_chunk_clear
    - g_string_chunk_free
    linkageType: ''
    returnType: void
    signature: 'static void test_string_chunks (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:225,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/string.c:232,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/tests/string.c:252,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/string.c:258,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/string.c:262,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/string.c:267,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/string.c:270,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/string.c:278,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/string.c:280,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/string.c:260,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/string.c:268,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/string.c:275,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:214,1
    - Dst: g_string_append
      Src: /src/glib/glib/tests/string.c:215,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:218,1
    - Dst: g_string_append
      Src: /src/glib/glib/tests/string.c:221,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/string.c:230,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/string.c:235,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/string.c:240,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:247,1
    - Dst: strlen
      Src: /src/glib/glib/tests/string.c:252,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/tests/string.c:254,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:290,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:291,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/string.c:287,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/string.c:211,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/string.c:234,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/string.c:237,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/string.c:229,1
    - Dst: g_string_append
      Src: /src/glib/glib/tests/string.c:239,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/string.c:245,1
    - Dst: g_free
      Src: /src/glib/glib/tests/string.c:248,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:251,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/tests/string.c:257,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/string.c:263,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/string.c:288,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/string.c:285,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/string.c:282,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/string.c:273,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/string.c:283,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/string.c:272,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/tests/string.c:262,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/string.c:223,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/string.c:227,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/string.c:239,1
    - Dst: g_string_append
      Src: /src/glib/glib/tests/string.c:229,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/string.c:242,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/string.c:244,1
    - Dst: strlen
      Src: /src/glib/glib/tests/string.c:253,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/string.c:277,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/string.c:257,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/tests/string.c:282,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/string.c:265,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/tests/string.c:272,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 78
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 292
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 292
    functionName: test_string_append
    functionSourceFile: /src/glib/glib/tests/string.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_assert_true
    - g_strdup
    - g_string_append_len
    - g_assert_null
    - strlen
    - g_assert_cmpstr
    - g_test_expect_message
    - g_string_free
    - g_string_new
    - g_free
    - g_string_append
    linkageType: ''
    returnType: void
    signature: 'static void test_string_append (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:347,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/string.c:352,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/string.c:353,1
    - Dst: g_string_prepend_c
      Src: /src/glib/glib/tests/string.c:350,1
    - Dst: strlen
      Src: /src/glib/glib/tests/string.c:352,1
    - Dst: strlen
      Src: /src/glib/glib/tests/string.c:353,1
    - Dst: strlen
      Src: /src/glib/glib/tests/string.c:353,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:355,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 356
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 356
    functionName: test_string_prepend_c
    functionSourceFile: /src/glib/glib/tests/string.c
    functionUses: []
    functionsReached:
    - g_string_prepend_c
    - strlen
    - g_assert
    - g_string_free
    - g_string_new
    linkageType: ''
    returnType: void
    signature: 'static void test_string_prepend_c (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:576,1
    - Dst: g_string_ascii_down
      Src: /src/glib/glib/tests/string.c:577,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:578,1
    - Dst: g_string_assign
      Src: /src/glib/glib/tests/string.c:580,1
    - Dst: g_string_down
      Src: /src/glib/glib/tests/string.c:581,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:582,1
    - Dst: g_string_assign
      Src: /src/glib/glib/tests/string.c:584,1
    - Dst: g_string_ascii_up
      Src: /src/glib/glib/tests/string.c:585,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:586,1
    - Dst: g_string_assign
      Src: /src/glib/glib/tests/string.c:588,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:590,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:592,1
    - Dst: g_string_up
      Src: /src/glib/glib/tests/string.c:589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 593
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 593
    functionName: test_string_up_down
    functionSourceFile: /src/glib/glib/tests/string.c
    functionUses: []
    functionsReached:
    - g_string_ascii_down
    - g_string_ascii_up
    - g_string_assign
    - g_string_down
    - g_assert_cmpstr
    - g_string_free
    - g_string_new
    - g_string_up
    linkageType: ''
    returnType: void
    signature: 'static void test_string_up_down (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:715,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/tests/string.c:718,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/string.c:720,1
    - Dst: g_string_append
      Src: /src/glib/glib/tests/string.c:716,1
    - Dst: g_string_append
      Src: /src/glib/glib/tests/string.c:717,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:722,1
    - Dst: g_free
      Src: /src/glib/glib/tests/string.c:723,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/string.c:725,1
    - Dst: g_string_append
      Src: /src/glib/glib/tests/string.c:726,1
    - Dst: g_string_append
      Src: /src/glib/glib/tests/string.c:727,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/string.c:731,1
    - Dst: g_free
      Src: /src/glib/glib/tests/string.c:732,1
    - Dst: g_string_free_and_steal
      Src: /src/glib/glib/tests/string.c:729,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 733
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 733
    functionName: test_string_steal
    functionSourceFile: /src/glib/glib/tests/string.c
    functionUses: []
    functionsReached:
    - g_string_append_c
    - g_assert_cmpstr
    - g_string_free
    - g_string_free_and_steal
    - g_string_new
    - g_free
    - g_string_append
    linkageType: ''
    returnType: void
    signature: 'static void test_string_steal (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/string.c:775,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/string.c:781,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/string.c:785,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/string.c:776,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/string.c:791,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/string.c:789,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/string.c:793,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/string.c:795,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/string.c:797,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/string.c:799,1
    - Dst: g_test_init
      Src: /src/glib/glib/tests/string.c:773,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/string.c:778,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/string.c:777,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/string.c:779,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/string.c:780,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/string.c:782,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/string.c:783,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/string.c:786,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/string.c:787,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/string.c:784,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/string.c:788,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/string.c:790,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/string.c:792,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/string.c:794,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/string.c:796,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 800
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 800
    functionName: main
    functionSourceFile: /src/glib/glib/tests/string.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mem_chunk_new
      Src: /src/glib/glib/tests/memchunk.c:38,1
    - Dst: g_chunk_new
      Src: /src/glib/glib/tests/memchunk.c:44,1
    - Dst: g_mem_chunk_free
      Src: /src/glib/glib/tests/memchunk.c:49,1
    - Dst: g_mem_chunk_destroy
      Src: /src/glib/glib/tests/memchunk.c:51,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 54
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 54
    functionName: test_basic
    functionSourceFile: /src/glib/glib/tests/memchunk.c
    functionUses: []
    functionsReached:
    - g_chunk_new
    - g_mem_chunk_free
    - g_mem_chunk_destroy
    - g_mem_chunk_new
    linkageType: ''
    returnType: void
    signature: 'static void test_basic (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/memchunk.c:60,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/memchunk.c:64,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/memchunk.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: main
    functionSourceFile: /src/glib/glib/tests/memchunk.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/thread-deprecated.c:16,1
    - Dst: g_mutex_trylock
      Src: /src/glib/glib/tests/thread-deprecated.c:17,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/thread-deprecated.c:18,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/thread-deprecated.c:16,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/thread-deprecated.c:17,1
    - Dst: G_TRYLOCK
      Src: /src/glib/glib/tests/thread-deprecated.c:18,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/tests/thread-deprecated.c:20,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/thread-deprecated.c:21,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/thread-deprecated.c:22,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/thread-deprecated.c:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 25
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 25
    functionName: test_g_mutex_thread
    functionSourceFile: /src/glib/glib/tests/thread-deprecated.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_mutex_trylock
    - g_assert_cmpint
    - g_mutex_unlock
    - g_mutex_lock
    - GINT_TO_POINTER
    - g_assert_false
    - G_TRYLOCK
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer test_g_mutex_thread (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/glib/tests/thread-deprecated.c:128,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/thread-deprecated.c:130,1
    - Dst: g_free
      Src: /src/glib/glib/tests/thread-deprecated.c:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 132
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 132
    functionName: test_g_static_private_destructor
    functionSourceFile: /src/glib/glib/tests/thread-deprecated.c
    functionUses: []
    functionsReached:
    - g_free
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void test_g_static_private_destructor (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_create
      Src: /src/glib/glib/tests/thread-deprecated.c:200,1
    - Dst: g_static_private_init
      Src: /src/glib/glib/tests/thread-deprecated.c:210,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/thread-deprecated.c:201,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/thread-deprecated.c:206,1
    - Dst: g_static_private_free
      Src: /src/glib/glib/tests/thread-deprecated.c:209,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/thread-deprecated.c:215,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/tests/thread-deprecated.c:215,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/thread-deprecated.c:215,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/thread-deprecated.c:217,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 218
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 218
    functionName: test_g_static_private
    functionSourceFile: /src/glib/glib/tests/thread-deprecated.c
    functionUses: []
    functionsReached:
    - g_static_private_init
    - g_thread_create
    - GPOINTER_TO_UINT
    - g_static_private_free
    - g_usleep
    - GINT_TO_POINTER
    - g_thread_join
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_g_static_private (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_create
      Src: /src/glib/glib/tests/thread-deprecated.c:286,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/thread-deprecated.c:289,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/thread-deprecated.c:293,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/thread-deprecated.c:295,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 296
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 296
    functionName: test_g_static_rw_lock
    functionSourceFile: /src/glib/glib/tests/thread-deprecated.c
    functionUses: []
    functionsReached:
    - g_thread_join
    - g_thread_create
    - g_assert_cmpint
    - g_usleep
    linkageType: ''
    returnType: void
    signature: 'static void test_g_static_rw_lock (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_usleep
      Src: /src/glib/glib/tests/thread-deprecated.c:309,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/thread-deprecated.c:311,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/thread-deprecated.c:311,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/thread-deprecated.c:309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 313
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 313
    functionName: test_g_once_init_func
    functionSourceFile: /src/glib/glib/tests/thread-deprecated.c
    functionUses: []
    functionsReached:
    - g_random_int_range
    - g_usleep
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer test_g_once_init_func(gpointer arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_g_mutex
      Src: /src/glib/glib/tests/thread-deprecated.c:383,1
    - Dst: test_g_static_rec_mutex
      Src: /src/glib/glib/tests/thread-deprecated.c:384,1
    - Dst: test_g_static_rw_lock
      Src: /src/glib/glib/tests/thread-deprecated.c:386,1
    - Dst: test_g_static_private
      Src: /src/glib/glib/tests/thread-deprecated.c:385,1
    - Dst: test_g_thread_once
      Src: /src/glib/glib/tests/thread-deprecated.c:387,1
    - Dst: g_static_rw_lock_free
      Src: /src/glib/glib/tests/thread-deprecated.c:390,1
    - Dst: g_static_rec_mutex_free
      Src: /src/glib/glib/tests/thread-deprecated.c:391,1
    - Dst: g_static_private_free
      Src: /src/glib/glib/tests/thread-deprecated.c:392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 393
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 393
    functionName: test_rerun_all
    functionSourceFile: /src/glib/glib/tests/thread-deprecated.c
    functionUses: []
    functionsReached:
    - g_static_rec_mutex_free
    - test_g_thread_once
    - test_g_mutex
    - test_g_static_rec_mutex
    - test_g_static_private
    - g_static_private_free
    - g_static_rw_lock_free
    - test_g_static_rw_lock
    linkageType: ''
    returnType: void
    signature: 'static void test_rerun_all (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/thread-deprecated.c:32,1
    - Dst: g_mutex_trylock
      Src: /src/glib/glib/tests/thread-deprecated.c:32,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/thread-deprecated.c:33,1
    - Dst: g_thread_create
      Src: /src/glib/glib/tests/thread-deprecated.c:35,1
    - Dst: G_TRYLOCK
      Src: /src/glib/glib/tests/thread-deprecated.c:33,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/thread-deprecated.c:35,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/thread-deprecated.c:40,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/tests/thread-deprecated.c:42,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/thread-deprecated.c:43,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/thread-deprecated.c:44,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/thread-deprecated.c:44,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/thread-deprecated.c:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 45
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 45
    functionName: test_g_mutex
    functionSourceFile: /src/glib/glib/tests/thread-deprecated.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_assert_true
    - g_mutex_trylock
    - g_thread_create
    - g_mutex_unlock
    - g_assert_cmpint
    - G_UNLOCK
    - g_usleep
    - GINT_TO_POINTER
    - g_thread_join
    - G_TRYLOCK
    linkageType: ''
    returnType: void
    signature: 'static void test_g_mutex (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/glib/tests/thread-deprecated.c:119,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/thread-deprecated.c:121,1
    - Dst: g_new
      Src: /src/glib/glib/tests/thread-deprecated.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: test_g_static_private_constructor
    functionSourceFile: /src/glib/glib/tests/thread-deprecated.c
    functionUses: []
    functionsReached:
    - g_new
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer test_g_static_private_constructor (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/thread-deprecated.c:56,1
    - Dst: g_static_rec_mutex_lock
      Src: /src/glib/glib/tests/thread-deprecated.c:60,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/thread-deprecated.c:56,1
    - Dst: g_static_rec_mutex_trylock
      Src: /src/glib/glib/tests/thread-deprecated.c:57,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/thread-deprecated.c:57,1
    - Dst: g_static_rec_mutex_lock
      Src: /src/glib/glib/tests/thread-deprecated.c:61,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/thread-deprecated.c:62,1
    - Dst: g_static_rec_mutex_unlock
      Src: /src/glib/glib/tests/thread-deprecated.c:65,1
    - Dst: g_static_rec_mutex_unlock
      Src: /src/glib/glib/tests/thread-deprecated.c:66,1
    - Dst: g_thread_exit
      Src: /src/glib/glib/tests/thread-deprecated.c:68,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/thread-deprecated.c:70,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/thread-deprecated.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 72
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 72
    functionName: test_g_static_rec_mutex_thread
    functionSourceFile: /src/glib/glib/tests/thread-deprecated.c
    functionUses: []
    functionsReached:
    - g_static_rec_mutex_lock
    - GPOINTER_TO_INT
    - g_static_rec_mutex_trylock
    - g_assert_not_reached
    - GINT_TO_POINTER
    - g_thread_exit
    - g_assert_false
    - g_static_rec_mutex_unlock
    - g_assert_cmpint
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer test_g_static_rec_mutex_thread (gpointer data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_g_static_private_constructor
      Src: /src/glib/glib/tests/thread-deprecated.c:147,1
    - Dst: test_g_static_private_constructor
      Src: /src/glib/glib/tests/thread-deprecated.c:155,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/tests/thread-deprecated.c:164,1
    - Dst: g_static_private_get
      Src: /src/glib/glib/tests/thread-deprecated.c:174,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/thread-deprecated.c:138,1
    - Dst: g_static_private_get
      Src: /src/glib/glib/tests/thread-deprecated.c:152,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/thread-deprecated.c:183,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/thread-deprecated.c:187,1
    - Dst: g_static_private_set
      Src: /src/glib/glib/tests/thread-deprecated.c:179,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/thread-deprecated.c:162,1
    - Dst: test_g_static_private_constructor
      Src: /src/glib/glib/tests/thread-deprecated.c:178,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/thread-deprecated.c:170,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/thread-deprecated.c:184,1
    - Dst: g_static_private_set
      Src: /src/glib/glib/tests/thread-deprecated.c:148,1
    - Dst: g_static_private_get
      Src: /src/glib/glib/tests/thread-deprecated.c:144,1
    - Dst: g_static_private_set
      Src: /src/glib/glib/tests/thread-deprecated.c:156,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/thread-deprecated.c:160,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/thread-deprecated.c:161,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/thread-deprecated.c:166,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/thread-deprecated.c:187,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 66
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 188
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 188
    functionName: test_g_static_private_thread
    functionSourceFile: /src/glib/glib/tests/thread-deprecated.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_mutex_unlock
    - g_mutex_lock
    - g_static_private_get
    - g_usleep
    - GINT_TO_POINTER
    - test_g_static_private_constructor
    - g_static_private_set
    - g_assert_cmpint
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer test_g_static_private_thread (gpointer data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_static_rw_lock_reader_lock
      Src: /src/glib/glib/tests/thread-deprecated.c:238,1
    - Dst: g_static_rw_lock_reader_trylock
      Src: /src/glib/glib/tests/thread-deprecated.c:240,1
    - Dst: G_LOCK
      Src: /src/glib/glib/tests/thread-deprecated.c:242,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/tests/thread-deprecated.c:245,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/thread-deprecated.c:247,1
    - Dst: G_LOCK
      Src: /src/glib/glib/tests/thread-deprecated.c:262,1
    - Dst: g_random_double
      Src: /src/glib/glib/tests/thread-deprecated.c:237,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/thread-deprecated.c:247,1
    - Dst: g_random_double
      Src: /src/glib/glib/tests/thread-deprecated.c:257,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/thread-deprecated.c:267,1
    - Dst: g_static_rw_lock_reader_unlock
      Src: /src/glib/glib/tests/thread-deprecated.c:253,1
    - Dst: g_static_rw_lock_writer_lock
      Src: /src/glib/glib/tests/thread-deprecated.c:258,1
    - Dst: g_static_rw_lock_writer_trylock
      Src: /src/glib/glib/tests/thread-deprecated.c:260,1
    - Dst: G_LOCK
      Src: /src/glib/glib/tests/thread-deprecated.c:269,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/tests/thread-deprecated.c:271,1
    - Dst: g_random_double
      Src: /src/glib/glib/tests/thread-deprecated.c:234,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/thread-deprecated.c:243,1
    - Dst: G_LOCK
      Src: /src/glib/glib/tests/thread-deprecated.c:249,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/thread-deprecated.c:263,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/thread-deprecated.c:267,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/tests/thread-deprecated.c:251,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/tests/thread-deprecated.c:265,1
    - Dst: g_static_rw_lock_writer_unlock
      Src: /src/glib/glib/tests/thread-deprecated.c:273,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 277
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 277
    functionName: test_g_static_rw_lock_thread
    functionSourceFile: /src/glib/glib/tests/thread-deprecated.c
    functionUses: []
    functionsReached:
    - g_static_rw_lock_reader_lock
    - g_static_rw_lock_writer_trylock
    - G_UNLOCK
    - g_static_rw_lock_reader_unlock
    - g_static_rw_lock_writer_unlock
    - g_random_double
    - g_usleep
    - g_static_rw_lock_reader_trylock
    - g_static_rw_lock_writer_lock
    - g_random_int_range
    - G_LOCK
    - g_assert_cmpint
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer test_g_static_rw_lock_thread (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/tests/thread-deprecated.c:319,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/tests/thread-deprecated.c:321,1
    - Dst: g_once
      Src: /src/glib/glib/tests/thread-deprecated.c:325,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/thread-deprecated.c:328,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/thread-deprecated.c:324,1
    - Dst: g_once
      Src: /src/glib/glib/tests/thread-deprecated.c:335,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/thread-deprecated.c:338,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - ignore
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 343
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 343
    functionName: test_g_once_thread
    functionSourceFile: /src/glib/glib/tests/thread-deprecated.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - g_once
    - g_assert_cmpmem
    - g_random_int_range
    - G_LOCK
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer test_g_once_thread (gpointer ignore) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/thread-deprecated.c:399,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/thread-deprecated.c:404,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/thread-deprecated.c:401,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/thread-deprecated.c:402,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/thread-deprecated.c:403,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/thread-deprecated.c:405,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/thread-deprecated.c:406,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/thread-deprecated.c:408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 409
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 409
    functionName: main
    functionSourceFile: /src/glib/glib/tests/thread-deprecated.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/thread-deprecated.c:79,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/thread-deprecated.c:82,1
    - Dst: g_thread_create
      Src: /src/glib/glib/tests/thread-deprecated.c:81,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/thread-deprecated.c:86,1
    - Dst: g_static_rec_mutex_trylock
      Src: /src/glib/glib/tests/thread-deprecated.c:79,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/thread-deprecated.c:88,1
    - Dst: g_static_rec_mutex_trylock
      Src: /src/glib/glib/tests/thread-deprecated.c:88,1
    - Dst: g_static_rec_mutex_unlock
      Src: /src/glib/glib/tests/thread-deprecated.c:90,1
    - Dst: g_static_rec_mutex_unlock
      Src: /src/glib/glib/tests/thread-deprecated.c:92,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/thread-deprecated.c:97,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/thread-deprecated.c:103,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/thread-deprecated.c:103,1
    - Dst: g_static_rec_mutex_unlock
      Src: /src/glib/glib/tests/thread-deprecated.c:101,1
    - Dst: g_static_rec_mutex_lock
      Src: /src/glib/glib/tests/thread-deprecated.c:99,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/thread-deprecated.c:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 104
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 104
    functionName: test_g_static_rec_mutex
    functionSourceFile: /src/glib/glib/tests/thread-deprecated.c
    functionUses: []
    functionsReached:
    - g_static_rec_mutex_lock
    - g_assert_true
    - g_thread_create
    - GPOINTER_TO_INT
    - g_static_rec_mutex_trylock
    - g_usleep
    - GINT_TO_POINTER
    - g_thread_join
    - g_static_rec_mutex_unlock
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_g_static_rec_mutex (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/tests/thread-deprecated.c:356,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/thread-deprecated.c:365,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/thread-deprecated.c:359,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/tests/thread-deprecated.c:362,1
    - Dst: g_thread_create
      Src: /src/glib/glib/tests/thread-deprecated.c:359,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/thread-deprecated.c:370,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 372
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 372
    functionName: test_g_thread_once
    functionSourceFile: /src/glib/glib/tests/thread-deprecated.c
    functionUses: []
    functionsReached:
    - g_thread_create
    - G_UNLOCK
    - GUINT_TO_POINTER
    - g_thread_join
    - G_LOCK
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_g_thread_once (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_string_append_printf
      Src: /src/glib/glib/tests/markup-subparser.c:29,1
    - Dst: g_set_error
      Src: /src/glib/glib/tests/markup-subparser.c:33,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/markup-subparser.c:32,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 5
    argCount: 6
    argNames:
    - context
    - element_name
    - attribute_names
    - attribute_values
    - user_data
    - error
    argTypes:
    - GMarkupParseContext*
    - gchar*
    - gchar**
    - gchar**
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 35
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 35
    functionName: subparser_start_element
    functionSourceFile: /src/glib/glib/tests/markup-subparser.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_string_append_printf
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void subparser_start_element (GMarkupParseContext *context,
      const gchar *element_name, const gchar **attribute_names, const gchar **attribute_values,
      gpointer user_data, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/tests/markup-subparser.c:72,1
    - Dst: g_markup_parse_context_push
      Src: /src/glib/glib/tests/markup-subparser.c:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GMarkupParseContext*
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: subparser_start
    functionSourceFile: /src/glib/glib/tests/markup-subparser.c
    functionUses: []
    functionsReached:
    - g_markup_parse_context_push
    - g_string_new
    linkageType: ''
    returnType: void
    signature: 'static void subparser_start (GMarkupParseContext *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_free
      Src: /src/glib/glib/tests/markup-subparser.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - context
    - error
    - user_data
    argTypes:
    - GMarkupParseContext*
    - GError*
    - gpointer
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: subparser_error
    functionSourceFile: /src/glib/glib/tests/markup-subparser.c
    functionUses: []
    functionsReached:
    - g_string_free
    linkageType: ''
    returnType: void
    signature: 'static void subparser_error (GMarkupParseContext *context, GError
      *error, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/tests/markup-subparser.c:113,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/tests/markup-subparser.c:122,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/markup-subparser.c:123,1
    - Dst: g_markup_parse_context_push
      Src: /src/glib/glib/tests/markup-subparser.c:129,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 8
    argCount: 5
    argNames:
    - ctx
    - element_name
    - attribute_names
    - attribute_values
    - error
    argTypes:
    - GMarkupParseContext*
    - char*
    - char**
    - char**
    - GError**
    constantsTouched: []
    func_position:
      end: 132
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 132
    functionName: replay_parser_start
    functionSourceFile: /src/glib/glib/tests/markup-subparser.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_markup_parse_context_push
    - g_string_free
    - g_string_new
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean replay_parser_start (GMarkupParseContext *ctx, const
      char *element_name, const char **attribute_names, const char **attribute_values,
      GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_string_append_printf
      Src: /src/glib/glib/tests/markup-subparser.c:207,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/markup-subparser.c:213,1
    - Dst: subparser_start
      Src: /src/glib/glib/tests/markup-subparser.c:216,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/markup-subparser.c:209,1
    - Dst: replay_parser_start
      Src: /src/glib/glib/tests/markup-subparser.c:221,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 12
    argCount: 6
    argNames:
    - context
    - element_name
    - attribute_names
    - attribute_values
    - user_data
    - error
    argTypes:
    - GMarkupParseContext*
    - gchar*
    - gchar**
    - gchar**
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 226
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 226
    functionName: start_element
    functionSourceFile: /src/glib/glib/tests/markup-subparser.c
    functionUses: []
    functionsReached:
    - g_string_append_printf
    - strcmp
    - subparser_start
    - replay_parser_start
    linkageType: ''
    returnType: void
    signature: 'static void start_element (GMarkupParseContext *context, const gchar
      *element_name, const gchar **attribute_names, const gchar **attribute_values,
      gpointer user_data, GError **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/tests/markup-subparser.c:288,1
    - Dst: strlen
      Src: /src/glib/glib/tests/markup-subparser.c:291,1
    - Dst: g_markup_parse_context_parse
      Src: /src/glib/glib/tests/markup-subparser.c:290,1
    - Dst: g_markup_parse_context_end_parse
      Src: /src/glib/glib/tests/markup-subparser.c:293,1
    - Dst: g_markup_parse_context_new
      Src: /src/glib/glib/tests/markup-subparser.c:289,1
    - Dst: g_markup_parse_context_free
      Src: /src/glib/glib/tests/markup-subparser.c:294,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/markup-subparser.c:295,1
    - Dst: g_error
      Src: /src/glib/glib/tests/markup-subparser.c:300,1
    - Dst: g_error
      Src: /src/glib/glib/tests/markup-subparser.c:307,1
    - Dst: strstr
      Src: /src/glib/glib/tests/markup-subparser.c:311,1
    - Dst: g_error
      Src: /src/glib/glib/tests/markup-subparser.c:312,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/markup-subparser.c:329,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/markup-subparser.c:327,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/markup-subparser.c:319,1
    - Dst: g_error
      Src: /src/glib/glib/tests/markup-subparser.c:320,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 330
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 330
    functionName: test
    functionSourceFile: /src/glib/glib/tests/markup-subparser.c
    functionUses: []
    functionsReached:
    - g_markup_parse_context_end_parse
    - strlen
    - g_assert
    - g_error
    - strcmp
    - g_string_free
    - g_markup_parse_context_new
    - g_error_free
    - g_string_new
    - g_markup_parse_context_parse
    - g_markup_parse_context_free
    - strstr
    linkageType: ''
    returnType: void
    signature: 'static void test (gconstpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_markup_parse_context_pop
      Src: /src/glib/glib/tests/markup-subparser.c:84,1
    - Dst: g_free
      Src: /src/glib/glib/tests/markup-subparser.c:90,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/markup-subparser.c:85,1
    - Dst: g_set_error
      Src: /src/glib/glib/tests/markup-subparser.c:91,1
    - Dst: g_string_free_and_steal
      Src: /src/glib/glib/tests/markup-subparser.c:85,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 98
    functionName: subparser_end
    functionSourceFile: /src/glib/glib/tests/markup-subparser.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_steal_pointer
    - g_markup_parse_context_pop
    - g_string_free_and_steal
    - g_free
    linkageType: ''
    returnType: char*
    signature: 'static char *subparser_end (GMarkupParseContext *ctx, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_append_printf
      Src: /src/glib/glib/tests/markup-subparser.c:43,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - context
    - element_name
    - user_data
    - error
    argTypes:
    - GMarkupParseContext*
    - gchar*
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: subparser_end_element
    functionSourceFile: /src/glib/glib/tests/markup-subparser.c
    functionUses: []
    functionsReached:
    - g_string_append_printf
    linkageType: ''
    returnType: void
    signature: 'static void subparser_end_element (GMarkupParseContext *context, const
      gchar *element_name, gpointer user_data, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_markup_parse_context_pop
      Src: /src/glib/glib/tests/markup-subparser.c:142,1
    - Dst: g_propagate_error
      Src: /src/glib/glib/tests/markup-subparser.c:149,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/markup-subparser.c:150,1
    - Dst: g_markup_parse_context_get_element
      Src: /src/glib/glib/tests/markup-subparser.c:144,1
    - Dst: g_string_free_and_steal
      Src: /src/glib/glib/tests/markup-subparser.c:156,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/markup-subparser.c:156,1
    - Dst: g_free
      Src: /src/glib/glib/tests/markup-subparser.c:161,1
    - Dst: g_set_error
      Src: /src/glib/glib/tests/markup-subparser.c:162,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 169
    functionName: replay_parser_end
    functionSourceFile: /src/glib/glib/tests/markup-subparser.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_steal_pointer
    - g_set_error
    - g_markup_parse_context_pop
    - g_free
    - g_string_free
    - g_string_free_and_steal
    - g_markup_parse_context_get_element
    linkageType: ''
    returnType: char*
    signature: 'static char *replay_parser_end (GMarkupParseContext *ctx, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/glib/tests/markup-subparser.c:234,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/markup-subparser.c:238,1
    - Dst: g_free
      Src: /src/glib/glib/tests/markup-subparser.c:246,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/tests/markup-subparser.c:245,1
    - Dst: subparser_end
      Src: /src/glib/glib/tests/markup-subparser.c:242,1
    - Dst: replay_parser_end
      Src: /src/glib/glib/tests/markup-subparser.c:252,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/tests/markup-subparser.c:255,1
    - Dst: g_free
      Src: /src/glib/glib/tests/markup-subparser.c:256,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/tests/markup-subparser.c:259,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 4
    argNames:
    - context
    - element_name
    - user_data
    - error
    argTypes:
    - GMarkupParseContext*
    - gchar*
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 260
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 260
    functionName: end_element
    functionSourceFile: /src/glib/glib/tests/markup-subparser.c
    functionUses: []
    functionsReached:
    - replay_parser_end
    - strcmp
    - g_string_append_printf
    - subparser_end
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void end_element (GMarkupParseContext *context, const gchar
      *element_name, gpointer user_data, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_setenv
      Src: /src/glib/glib/tests/markup-subparser.c:377,1
    - Dst: add_tests
      Src: /src/glib/glib/tests/markup-subparser.c:380,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/markup-subparser.c:381,1
    - Dst: g_test_init
      Src: /src/glib/glib/tests/markup-subparser.c:378,1
    - Dst: add_tests
      Src: /src/glib/glib/tests/markup-subparser.c:379,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 382
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 382
    functionName: main
    functionSourceFile: /src/glib/glib/tests/markup-subparser.c
    functionUses: []
    functionsReached:
    - g_setenv
    - add_tests
    - g_test_run
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_printerr
      Src: /src/glib/glib/tests/shell.c:82,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/shell.c:88,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/shell.c:86,1
    - Dst: g_shell_parse_argv
      Src: /src/glib/glib/tests/shell.c:83,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/shell.c:87,1
    - Dst: g_strv_equal
      Src: /src/glib/glib/tests/shell.c:88,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/shell.c:89,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/shell.c:93,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/shell.c:94,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/shell.c:98,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/shell.c:100,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 101
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 101
    functionName: do_cmdline_test
    functionSourceFile: /src/glib/glib/tests/shell.c
    functionUses: []
    functionsReached:
    - g_strv_equal
    - g_printerr
    - g_assert
    - g_shell_parse_argv
    - g_assert_error
    - g_assert_no_error
    - g_strfreev
    - g_error_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void do_cmdline_test (gconstpointer d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/shell.c:193,1
    - Dst: g_free
      Src: /src/glib/glib/tests/shell.c:199,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/shell.c:195,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/shell.c:198,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/shell.c:197,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/shell.c:202,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/shell.c:204,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/shell.c:205,1
    - Dst: g_free
      Src: /src/glib/glib/tests/shell.c:206,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/shell.c:209,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/shell.c:212,1
    - Dst: g_free
      Src: /src/glib/glib/tests/shell.c:213,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/shell.c:216,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/shell.c:211,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 217
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 217
    functionName: main
    functionSourceFile: /src/glib/glib/tests/shell.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_test_init
    - g_test_add_data_func
    - G_N_ELEMENTS
    - g_test_run
    - g_free
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_shell_quote
      Src: /src/glib/glib/tests/shell.c:128,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/shell.c:129,1
    - Dst: g_free
      Src: /src/glib/glib/tests/shell.c:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 131
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 131
    functionName: do_quote_test
    functionSourceFile: /src/glib/glib/tests/shell.c
    functionUses: []
    functionsReached:
    - g_shell_quote
    - g_free
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void do_quote_test (gconstpointer d) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_shell_unquote
      Src: /src/glib/glib/tests/shell.c:175,1
    - Dst: g_free
      Src: /src/glib/glib/tests/shell.c:182,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/shell.c:180,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/shell.c:178,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/shell.c:176,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/shell.c:184,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 185
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 185
    functionName: do_unquote_test
    functionSourceFile: /src/glib/glib/tests/shell.c
    functionUses: []
    functionsReached:
    - g_shell_unquote
    - g_assert_cmpstr
    - g_assert_no_error
    - g_error_free
    - g_free
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void do_unquote_test (gconstpointer d) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/glib/glib/tests/unix.c:43,1
    - Dst: write
      Src: /src/glib/glib/tests/unix.c:44,1
    - Dst: strlen
      Src: /src/glib/glib/tests/unix.c:43,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - message
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: async_signal_safe_message
    functionSourceFile: /src/glib/glib/tests/unix.c
    functionUses: []
    functionsReached:
    - write
    - strlen
    linkageType: ''
    returnType: void
    signature: 'static void async_signal_safe_message (const char *message) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_signal_alternate_stack
      Src: /src/glib/glib/tests/unix.c:675,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 676
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 676
    functionName: test_sigterm_alternate_stack
    functionSourceFile: /src/glib/glib/tests/unix.c
    functionUses: []
    functionsReached:
    - test_signal_alternate_stack
    linkageType: ''
    returnType: void
    signature: 'static void test_sigterm_alternate_stack (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_new
      Src: /src/glib/glib/tests/unix.c:699,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/unix.c:703,1
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/unix.c:700,1
    - Dst: g_unix_signal_source_new
      Src: /src/glib/glib/tests/unix.c:702,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/unix.c:704,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/unix.c:705,1
    - Dst: kill
      Src: /src/glib/glib/tests/unix.c:707,1
    - Dst: getpid
      Src: /src/glib/glib/tests/unix.c:707,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/unix.c:708,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:709,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/tests/unix.c:712,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/unix.c:711,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 715
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 715
    functionName: nested_idle
    functionSourceFile: /src/glib/glib/tests/unix.c
    functionUses: []
    functionsReached:
    - g_main_loop_run
    - g_main_context_unref
    - g_source_set_callback
    - g_source_attach
    - getpid
    - g_main_context_new
    - g_main_loop_unref
    - g_main_loop_new
    - g_source_unref
    - g_unix_signal_source_new
    - kill
    - g_assert_cmpint
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean nested_idle (gpointer data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: kill
      Src: /src/glib/glib/tests/unix.c:743,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/unix.c:747,1
    - Dst: g_main_loop_quit
      Src: /src/glib/glib/tests/unix.c:745,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/unix.c:750,1
    - Dst: getpid
      Src: /src/glib/glib/tests/unix.c:743,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 753
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 753
    functionName: on_sigwinch_received
    functionSourceFile: /src/glib/glib/tests/unix.c
    functionUses: []
    functionsReached:
    - getpid
    - g_assert_not_reached
    - g_usleep
    - g_main_loop_quit
    - kill
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean on_sigwinch_received (gpointer data) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/unix.c:65,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/unix.c:66,1
    - Dst: fcntl
      Src: /src/glib/glib/tests/unix.c:101,1
    - Dst: async_signal_safe_message
      Src: /src/glib/glib/tests/unix.c:106,1
    - Dst: async_signal_safe_message
      Src: /src/glib/glib/tests/unix.c:114,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unix.c:130,1
    - Dst: fcntl
      Src: /src/glib/glib/tests/unix.c:147,1
    - Dst: async_signal_safe_message
      Src: /src/glib/glib/tests/unix.c:151,1
    - Dst: _exit
      Src: /src/glib/glib/tests/unix.c:160,1
    - Dst: _exit
      Src: /src/glib/glib/tests/unix.c:170,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/unix.c:198,1
    - Dst: _exit
      Src: /src/glib/glib/tests/unix.c:153,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/unix.c:197,1
    - Dst: _exit
      Src: /src/glib/glib/tests/unix.c:175,1
    - Dst: _exit
      Src: /src/glib/glib/tests/unix.c:139,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/unix.c:207,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/unix.c:203,1
    - Dst: fcntl
      Src: /src/glib/glib/tests/unix.c:72,1
    - Dst: _exit
      Src: /src/glib/glib/tests/unix.c:131,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unix.c:138,1
    - Dst: g_closefrom
      Src: /src/glib/glib/tests/unix.c:143,1
    - Dst: fcntl
      Src: /src/glib/glib/tests/unix.c:166,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unix.c:169,1
    - Dst: WEXITSTATUS
      Src: /src/glib/glib/tests/unix.c:182,1
    - Dst: g_test_fail_printf
      Src: /src/glib/glib/tests/unix.c:185,1
    - Dst: g_test_fail_printf
      Src: /src/glib/glib/tests/unix.c:189,1
    - Dst: g_close
      Src: /src/glib/glib/tests/unix.c:196,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/unix.c:73,1
    - Dst: fcntl
      Src: /src/glib/glib/tests/unix.c:73,1
    - Dst: g_new0
      Src: /src/glib/glib/tests/unix.c:76,1
    - Dst: g_unix_open_pipe
      Src: /src/glib/glib/tests/unix.c:85,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/unix.c:86,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unix.c:115,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unix.c:107,1
    - Dst: fork
      Src: /src/glib/glib/tests/unix.c:93,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/unix.c:88,1
    - Dst: fcntl
      Src: /src/glib/glib/tests/unix.c:124,1
    - Dst: waitpid
      Src: /src/glib/glib/tests/unix.c:178,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/unix.c:205,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unix.c:174,1
    - Dst: async_signal_safe_message
      Src: /src/glib/glib/tests/unix.c:129,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/unix.c:63,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/unix.c:72,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/unix.c:87,1
    - Dst: _exit
      Src: /src/glib/glib/tests/unix.c:108,1
    - Dst: _exit
      Src: /src/glib/glib/tests/unix.c:116,1
    - Dst: g_fdwalk_set_cloexec
      Src: /src/glib/glib/tests/unix.c:120,1
    - Dst: async_signal_safe_message
      Src: /src/glib/glib/tests/unix.c:137,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unix.c:152,1
    - Dst: async_signal_safe_message
      Src: /src/glib/glib/tests/unix.c:158,1
    - Dst: WIFEXITED
      Src: /src/glib/glib/tests/unix.c:180,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unix.c:201,1
    - Dst: async_signal_safe_message
      Src: /src/glib/glib/tests/unix.c:168,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unix.c:159,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/unix.c:178,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 120
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 209
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 209
    functionName: test_closefrom
    functionSourceFile: /src/glib/glib/tests/unix.c
    functionUses: []
    functionsReached:
    - fork
    - waitpid
    - g_closefrom
    - g_assert_no_errno
    - g_test_trap_assert_passed
    - g_fdwalk_set_cloexec
    - WIFEXITED
    - g_test_bug
    - g_test_fail_printf
    - async_signal_safe_message
    - fcntl
    - g_test_undefined
    - g_assert_no_error
    - WEXITSTATUS
    - g_test_trap_subprocess
    - g_clear_error
    - g_test_summary
    - g_assert
    - g_unix_open_pipe
    - g_close
    - g_new0
    - g_free
    - _exit
    linkageType: ''
    returnType: void
    signature: 'static void test_closefrom (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_signal_add
      Src: /src/glib/glib/tests/unix.c:685,1
    - Dst: g_source_remove
      Src: /src/glib/glib/tests/unix.c:686,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/unix.c:689,1
    - Dst: sigaction
      Src: /src/glib/glib/tests/unix.c:688,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 690
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 690
    functionName: test_sighup_add_remove
    functionSourceFile: /src/glib/glib/tests/unix.c
    functionUses: []
    functionsReached:
    - g_source_remove
    - g_unix_signal_add
    - sigaction
    - g_assert
    linkageType: ''
    returnType: void
    signature: 'static void test_sighup_add_remove (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/unix.c:722,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:730,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/unix.c:729,1
    - Dst: g_unix_signal_add
      Src: /src/glib/glib/tests/unix.c:726,1
    - Dst: g_idle_add
      Src: /src/glib/glib/tests/unix.c:727,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/unix.c:732,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 733
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 733
    functionName: test_sighup_nested
    functionSourceFile: /src/glib/glib/tests/unix.c
    functionUses: []
    functionsReached:
    - g_main_loop_run
    - g_main_loop_unref
    - g_main_loop_new
    - g_unix_signal_add
    - g_idle_add
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_sighup_nested (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_new
      Src: /src/glib/glib/tests/unix.c:768,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/unix.c:772,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/unix.c:773,1
    - Dst: g_unix_signal_source_new
      Src: /src/glib/glib/tests/unix.c:771,1
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/unix.c:769,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/unix.c:774,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:776,1
    - Dst: kill
      Src: /src/glib/glib/tests/unix.c:777,1
    - Dst: getpid
      Src: /src/glib/glib/tests/unix.c:777,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/unix.c:778,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/tests/unix.c:782,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/unix.c:781,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:779,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 783
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 783
    functionName: test_callback_after_signal
    functionSourceFile: /src/glib/glib/tests/unix.c
    functionUses: []
    functionsReached:
    - g_main_loop_run
    - g_main_context_unref
    - g_source_set_callback
    - g_source_attach
    - getpid
    - g_main_context_new
    - g_main_loop_unref
    - g_main_loop_new
    - g_source_unref
    - g_unix_signal_source_new
    - kill
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_callback_after_signal (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_set_fd_nonblocking
      Src: /src/glib/glib/tests/unix.c:439,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:440,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/unix.c:441,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/unix.c:442,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/unix.c:443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 444
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 444
    functionName: test_error
    functionSourceFile: /src/glib/glib/tests/unix.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_assert_cmpint
    - g_assert
    - g_unix_set_fd_nonblocking
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_error (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_quit
      Src: /src/glib/glib/tests/unix.c:496,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 499
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 499
    functionName: on_sig_timeout
    functionSourceFile: /src/glib/glib/tests/unix.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean on_sig_timeout (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_signal
      Src: /src/glib/glib/tests/unix.c:575,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 576
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 576
    functionName: test_sighup
    functionSourceFile: /src/glib/glib/tests/unix.c
    functionUses: []
    functionsReached:
    - test_signal
    linkageType: ''
    returnType: void
    signature: 'static void test_sighup (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_open_pipe
      Src: /src/glib/glib/tests/unix.c:454,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/unix.c:459,1
    - Dst: g_unix_set_fd_nonblocking
      Src: /src/glib/glib/tests/unix.c:458,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/unix.c:456,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/unix.c:455,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/unix.c:460,1
    - Dst: fcntl
      Src: /src/glib/glib/tests/unix.c:462,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:463,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/unix.c:464,1
    - Dst: g_unix_set_fd_nonblocking
      Src: /src/glib/glib/tests/unix.c:466,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/unix.c:467,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:471,1
    - Dst: close
      Src: /src/glib/glib/tests/unix.c:474,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/unix.c:472,1
    - Dst: fcntl
      Src: /src/glib/glib/tests/unix.c:470,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/unix.c:468,1
    - Dst: close
      Src: /src/glib/glib/tests/unix.c:475,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 476
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 476
    functionName: test_nonblocking
    functionSourceFile: /src/glib/glib/tests/unix.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_unix_open_pipe
    - g_assert_no_error
    - close
    - fcntl
    - g_unix_set_fd_nonblocking
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_nonblocking (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_quit
      Src: /src/glib/glib/tests/unix.c:505,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 507
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 507
    functionName: exit_mainloop
    functionSourceFile: /src/glib/glib/tests/unix.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean exit_mainloop (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_signal
      Src: /src/glib/glib/tests/unix.c:581,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 582
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 582
    functionName: test_sigterm
    functionSourceFile: /src/glib/glib/tests/unix.c
    functionUses: []
    functionsReached:
    - test_signal
    linkageType: ''
    returnType: void
    signature: 'static void test_sigterm (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/unix.c:916,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unix.c:921,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unix.c:919,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unix.c:934,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unix.c:935,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unix.c:932,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unix.c:933,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unix.c:936,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unix.c:930,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unix.c:931,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unix.c:937,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unix.c:918,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/unix.c:941,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unix.c:938,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unix.c:922,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unix.c:923,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unix.c:924,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unix.c:925,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unix.c:926,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unix.c:927,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unix.c:928,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unix.c:929,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unix.c:939,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 942
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 942
    functionName: main
    functionSourceFile: /src/glib/glib/tests/unix.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/unix.c:267,1
    - Dst: g_unix_open_pipe
      Src: /src/glib/glib/tests/unix.c:270,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/unix.c:271,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/unix.c:268,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/unix.c:272,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:274,1
    - Dst: write
      Src: /src/glib/glib/tests/unix.c:274,1
    - Dst: memset
      Src: /src/glib/glib/tests/unix.c:275,1
    - Dst: read
      Src: /src/glib/glib/tests/unix.c:276,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:277,1
    - Dst: close
      Src: /src/glib/glib/tests/unix.c:280,1
    - Dst: close
      Src: /src/glib/glib/tests/unix.c:281,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unix.c:283,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/unix.c:283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 284
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 284
    functionName: test_pipe_fd_cloexec
    functionSourceFile: /src/glib/glib/tests/unix.c
    functionUses: []
    functionsReached:
    - write
    - g_assert_true
    - g_test_summary
    - g_assert
    - g_unix_open_pipe
    - read
    - g_test_bug
    - g_assert_no_error
    - g_str_has_prefix
    - close
    - memset
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_pipe_fd_cloexec (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_log_set_always_fatal
      Src: /src/glib/glib/tests/unix.c:217,1
    - Dst: g_closefrom
      Src: /src/glib/glib/tests/unix.c:221,1
    - Dst: g_log_set_fatal_mask
      Src: /src/glib/glib/tests/unix.c:218,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:223,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:224,1
    - Dst: g_fdwalk_set_cloexec
      Src: /src/glib/glib/tests/unix.c:227,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:229,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 231
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 231
    functionName: test_closefrom_subprocess_einval
    functionSourceFile: /src/glib/glib/tests/unix.c
    functionUses: []
    functionsReached:
    - g_fdwalk_set_cloexec
    - g_log_set_always_fatal
    - g_log_set_fatal_mask
    - g_closefrom
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_closefrom_subprocess_einval (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/unix.c:335,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/unix.c:338,1
    - Dst: g_unix_pipe_open
      Src: /src/glib/glib/tests/unix.c:337,1
    - Dst: g_unix_pipe_get
      Src: /src/glib/glib/tests/unix.c:344,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:346,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:347,1
    - Dst: g_unix_pipe_clear
      Src: /src/glib/glib/tests/unix.c:359,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:363,1
    - Dst: assert_fd_was_closed
      Src: /src/glib/glib/tests/unix.c:371,1
    - Dst: g_unix_pipe_steal
      Src: /src/glib/glib/tests/unix.c:343,1
    - Dst: memset
      Src: /src/glib/glib/tests/unix.c:350,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:352,1
    - Dst: g_clear_fd
      Src: /src/glib/glib/tests/unix.c:367,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/unix.c:368,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:349,1
    - Dst: g_unix_pipe_get
      Src: /src/glib/glib/tests/unix.c:347,1
    - Dst: g_unix_pipe_get
      Src: /src/glib/glib/tests/unix.c:345,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:361,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/unix.c:373,1
    - Dst: g_unix_pipe_steal
      Src: /src/glib/glib/tests/unix.c:341,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unix.c:339,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:342,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:343,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:344,1
    - Dst: read
      Src: /src/glib/glib/tests/unix.c:351,1
    - Dst: write
      Src: /src/glib/glib/tests/unix.c:349,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 36
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 374
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 374
    functionName: test_pipe_struct
    functionSourceFile: /src/glib/glib/tests/unix.c
    functionUses: []
    functionsReached:
    - write
    - memset
    - g_unix_pipe_open
    - g_assert_true
    - g_test_summary
    - g_unix_pipe_get
    - read
    - g_assert_cmpstr
    - g_unix_pipe_clear
    - g_assert_no_error
    - assert_fd_was_closed
    - g_clear_fd
    - g_unix_pipe_steal
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_pipe_struct (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_quit
      Src: /src/glib/glib/tests/unix.c:516,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 518
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 518
    functionName: on_sig_received_2
    functionSourceFile: /src/glib/glib/tests/unix.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean on_sig_received_2 (gpointer data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/unix.c:588,1
    - Dst: sysconf
      Src: /src/glib/glib/tests/unix.c:600,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/unix.c:607,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/unix.c:634,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:646,1
    - Dst: memcmp
      Src: /src/glib/glib/tests/unix.c:646,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unix.c:636,1
    - Dst: memset
      Src: /src/glib/glib/tests/unix.c:652,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/unix.c:659,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unix.c:661,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/unix.c:612,1
    - Dst: sigaltstack
      Src: /src/glib/glib/tests/unix.c:612,1
    - Dst: test_signal
      Src: /src/glib/glib/tests/unix.c:614,1
    - Dst: memset
      Src: /src/glib/glib/tests/unix.c:651,1
    - Dst: sigaltstack
      Src: /src/glib/glib/tests/unix.c:634,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/unix.c:656,1
    - Dst: sigaltstack
      Src: /src/glib/glib/tests/unix.c:656,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unix.c:662,1
    - Dst: g_malloc0
      Src: /src/glib/glib/tests/unix.c:606,1
    - Dst: g_malloc0
      Src: /src/glib/glib/tests/unix.c:605,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/unix.c:653,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unix.c:637,1
    - Dst: test_signal
      Src: /src/glib/glib/tests/unix.c:658,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/unix.c:631,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 1
    argNames:
    - signal
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 664
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 664
    functionName: test_signal_alternate_stack
    functionSourceFile: /src/glib/glib/tests/unix.c
    functionUses: []
    functionsReached:
    - memset
    - g_test_skip
    - test_signal
    - g_malloc0
    - sigaltstack
    - g_test_message
    - memcmp
    - g_assert_cmpmem
    - g_assert_no_errno
    - sysconf
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_signal_alternate_stack (int signal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/unix.c:791,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/unix.c:797,1
    - Dst: g_unix_get_passwd_entry
      Src: /src/glib/glib/tests/unix.c:794,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/unix.c:795,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/unix.c:798,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unix.c:800,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 801
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 801
    functionName: test_get_passwd_entry_root
    functionSourceFile: /src/glib/glib/tests/unix.c
    functionUses: []
    functionsReached:
    - g_test_summary
    - g_unix_get_passwd_entry
    - g_assert_cmpuint
    - g_assert_cmpstr
    - g_assert_no_error
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_get_passwd_entry_root (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_open_pipe
      Src: /src/glib/glib/tests/unix.c:242,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/unix.c:243,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:246,1
    - Dst: write
      Src: /src/glib/glib/tests/unix.c:246,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/unix.c:244,1
    - Dst: memset
      Src: /src/glib/glib/tests/unix.c:247,1
    - Dst: read
      Src: /src/glib/glib/tests/unix.c:248,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:249,1
    - Dst: close
      Src: /src/glib/glib/tests/unix.c:252,1
    - Dst: close
      Src: /src/glib/glib/tests/unix.c:253,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/unix.c:255,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/unix.c:255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 256
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 256
    functionName: test_pipe
    functionSourceFile: /src/glib/glib/tests/unix.c
    functionUses: []
    functionsReached:
    - write
    - g_assert
    - g_unix_open_pipe
    - read
    - g_assert_no_error
    - g_str_has_prefix
    - close
    - memset
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_pipe (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/unix.c:295,1
    - Dst: dup
      Src: /src/glib/glib/tests/unix.c:298,1
    - Dst: g_close
      Src: /src/glib/glib/tests/unix.c:301,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:299,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/unix.c:296,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/unix.c:302,1
    - Dst: g_unix_open_pipe
      Src: /src/glib/glib/tests/unix.c:304,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/unix.c:305,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unix.c:306,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:308,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/unix.c:314,1
    - Dst: g_close
      Src: /src/glib/glib/tests/unix.c:313,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:317,1
    - Dst: g_close
      Src: /src/glib/glib/tests/unix.c:310,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/unix.c:311,1
    - Dst: dup2
      Src: /src/glib/glib/tests/unix.c:316,1
    - Dst: g_close
      Src: /src/glib/glib/tests/unix.c:319,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/unix.c:320,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 321
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 321
    functionName: test_pipe_stdio_overwrite
    functionSourceFile: /src/glib/glib/tests/unix.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_test_summary
    - dup
    - g_unix_open_pipe
    - g_test_bug
    - g_close
    - g_assert_no_error
    - dup2
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_pipe_stdio_overwrite (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/unix.c:382,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/unix.c:397,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:401,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unix.c:398,1
    - Dst: g_unix_pipe_open
      Src: /src/glib/glib/tests/unix.c:396,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:403,1
    - Dst: g_unix_pipe_close
      Src: /src/glib/glib/tests/unix.c:408,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/unix.c:409,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unix.c:410,1
    - Dst: g_unix_pipe_close
      Src: /src/glib/glib/tests/unix.c:415,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:424,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/unix.c:429,1
    - Dst: assert_fd_was_closed
      Src: /src/glib/glib/tests/unix.c:425,1
    - Dst: assert_fd_was_closed
      Src: /src/glib/glib/tests/unix.c:426,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 431
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 431
    functionName: test_pipe_struct_auto
    functionSourceFile: /src/glib/glib/tests/unix.c
    functionUses: []
    functionsReached:
    - g_unix_pipe_close
    - g_unix_pipe_open
    - g_assert_true
    - g_test_summary
    - assert_fd_was_closed
    - g_assert_no_error
    - g_test_skip
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_pipe_struct_auto (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_quit
      Src: /src/glib/glib/tests/unix.c:486,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 490
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 490
    functionName: on_sig_received
    functionSourceFile: /src/glib/glib/tests/unix.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean on_sig_received (gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_signal_add
      Src: /src/glib/glib/tests/unix.c:531,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/unix.c:533,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unix.c:542,1
    - Dst: getpid
      Src: /src/glib/glib/tests/unix.c:545,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/unix.c:548,1
    - Dst: kill
      Src: /src/glib/glib/tests/unix.c:564,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/unix.c:565,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/unix.c:569,1
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/unix.c:527,1
    - Dst: sigaction
      Src: /src/glib/glib/tests/unix.c:533,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unix.c:536,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/unix.c:549,1
    - Dst: g_source_remove
      Src: /src/glib/glib/tests/unix.c:551,1
    - Dst: g_timeout_add
      Src: /src/glib/glib/tests/unix.c:554,1
    - Dst: g_source_remove
      Src: /src/glib/glib/tests/unix.c:567,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unix.c:539,1
    - Dst: kill
      Src: /src/glib/glib/tests/unix.c:545,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/unix.c:556,1
    - Dst: getpid
      Src: /src/glib/glib/tests/unix.c:564,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/unix.c:546,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/unix.c:555,1
    - Dst: g_unix_signal_add
      Src: /src/glib/glib/tests/unix.c:561,1
    - Dst: g_unix_signal_add
      Src: /src/glib/glib/tests/unix.c:560,1
    - Dst: g_timeout_add
      Src: /src/glib/glib/tests/unix.c:547,1
    - Dst: g_timeout_add
      Src: /src/glib/glib/tests/unix.c:562,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:566,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 40
    argCount: 1
    argNames:
    - signum
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 570
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 570
    functionName: test_signal
    functionSourceFile: /src/glib/glib/tests/unix.c
    functionUses: []
    functionsReached:
    - g_source_remove
    - g_main_loop_run
    - sigaction
    - g_assert_true
    - g_assert
    - getpid
    - g_main_loop_unref
    - g_main_loop_new
    - g_timeout_add
    - kill
    - g_assert_no_errno
    - g_unix_signal_add
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_signal (int signum) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_signal_alternate_stack
      Src: /src/glib/glib/tests/unix.c:669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 670
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 670
    functionName: test_sighup_alternate_stack
    functionSourceFile: /src/glib/glib/tests/unix.c
    functionUses: []
    functionsReached:
    - test_signal_alternate_stack
    linkageType: ''
    returnType: void
    signature: 'static void test_sighup_alternate_stack (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/unix.c:809,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/unix.c:813,1
    - Dst: g_unix_get_passwd_entry
      Src: /src/glib/glib/tests/unix.c:812,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/unix.c:816,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/unix.c:814,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 817
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 817
    functionName: test_get_passwd_entry_nonexistent
    functionSourceFile: /src/glib/glib/tests/unix.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_test_summary
    - g_assert_null
    - g_unix_get_passwd_entry
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_get_passwd_entry_nonexistent (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/unix.c:826,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unix.c:827,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - pid
    - wait_status
    - user_data
    argTypes:
    - GPid
    - gint
    - gpointer
    constantsTouched: []
    func_position:
      end: 829
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 829
    functionName: _child_wait_watch_cb
    functionSourceFile: /src/glib/glib/tests/unix.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_assert_nonnull
    linkageType: ''
    returnType: void
    signature: 'static void _child_wait_watch_cb (GPid pid, gint wait_status, gpointer
      user_data) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_usleep
      Src: /src/glib/glib/tests/unix.c:875,1
    - Dst: g_test_rand_bit
      Src: /src/glib/glib/tests/unix.c:879,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/glib/tests/unix.c:885,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/unix.c:880,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/unix.c:884,1
    - Dst: g_main_context_iteration
      Src: /src/glib/glib/tests/unix.c:888,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:901,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:906,1
    - Dst: WIFEXITED
      Src: /src/glib/glib/tests/unix.c:907,1
    - Dst: WEXITSTATUS
      Src: /src/glib/glib/tests/unix.c:908,1
    - Dst: g_test_rand_bit
      Src: /src/glib/glib/tests/unix.c:840,1
    - Dst: waitpid
      Src: /src/glib/glib/tests/unix.c:895,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:900,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:908,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/unix.c:868,1
    - Dst: g_spawn_async
      Src: /src/glib/glib/tests/unix.c:857,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/glib/tests/unix.c:875,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/unix.c:887,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unix.c:899,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/glib/tests/unix.c:880,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:905,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unix.c:907,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unix.c:872,1
    - Dst: g_test_rand_bit
      Src: /src/glib/glib/tests/unix.c:855,1
    - Dst: g_test_rand_bit
      Src: /src/glib/glib/tests/unix.c:874,1
    - Dst: g_child_watch_add
      Src: /src/glib/glib/tests/unix.c:877,1
    - Dst: g_source_remove
      Src: /src/glib/glib/tests/unix.c:892,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 910
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 910
    functionName: test_child_wait
    functionSourceFile: /src/glib/glib/tests/unix.c
    functionUses: []
    functionsReached:
    - g_source_remove
    - g_assert_true
    - WIFEXITED
    - g_test_rand_int_range
    - g_test_rand_bit
    - g_usleep
    - waitpid
    - g_child_watch_add
    - WEXITSTATUS
    - g_spawn_async
    - g_get_monotonic_time
    - g_main_context_iteration
    - g_test_skip
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_child_wait (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ref_string_new
      Src: /src/glib/glib/tests/refstring.c:27,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/refstring.c:30,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/refstring.c:31,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/refstring.c:30,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/refstring.c:29,1
    - Dst: strlen
      Src: /src/glib/glib/tests/refstring.c:31,1
    - Dst: strlen
      Src: /src/glib/glib/tests/refstring.c:31,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/refstring.c:32,1
    - Dst: g_ref_string_length
      Src: /src/glib/glib/tests/refstring.c:32,1
    - Dst: strlen
      Src: /src/glib/glib/tests/refstring.c:32,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/refstring.c:34,1
    - Dst: g_ref_string_acquire
      Src: /src/glib/glib/tests/refstring.c:34,1
    - Dst: g_ref_string_release
      Src: /src/glib/glib/tests/refstring.c:37,1
    - Dst: g_ref_string_release
      Src: /src/glib/glib/tests/refstring.c:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 38
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 38
    functionName: test_refstring_base
    functionSourceFile: /src/glib/glib/tests/refstring.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_ref_string_acquire
    - g_ref_string_new
    - strlen
    - g_test_message
    - strcmp
    - g_assert_cmpuint
    - g_ref_string_release
    - g_ref_string_length
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_refstring_base (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ref_string_new_len
      Src: /src/glib/glib/tests/refstring.c:57,1
    - Dst: strlen
      Src: /src/glib/glib/tests/refstring.c:59,1
    - Dst: g_ref_string_length
      Src: /src/glib/glib/tests/refstring.c:59,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/refstring.c:59,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/refstring.c:58,1
    - Dst: g_ref_string_release
      Src: /src/glib/glib/tests/refstring.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: test_refstring_length_auto
    functionSourceFile: /src/glib/glib/tests/refstring.c
    functionUses: []
    functionsReached:
    - strlen
    - g_assert_cmpuint
    - g_ref_string_release
    - g_assert_cmpstr
    - g_ref_string_new_len
    - g_ref_string_length
    linkageType: ''
    returnType: void
    signature: 'static void test_refstring_length_auto (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ref_string_new_len
      Src: /src/glib/glib/tests/refstring.c:68,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/refstring.c:71,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/refstring.c:70,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/refstring.c:72,1
    - Dst: memcmp
      Src: /src/glib/glib/tests/refstring.c:71,1
    - Dst: g_ref_string_length
      Src: /src/glib/glib/tests/refstring.c:72,1
    - Dst: g_ref_string_release
      Src: /src/glib/glib/tests/refstring.c:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: test_refstring_length_nuls
    functionSourceFile: /src/glib/glib/tests/refstring.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_assert_cmpuint
    - g_ref_string_release
    - g_assert_cmpstr
    - g_ref_string_length
    - g_ref_string_new_len
    - memcmp
    linkageType: ''
    returnType: void
    signature: 'static void test_refstring_length_nuls (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ref_string_new
      Src: /src/glib/glib/tests/refstring.c:108,1
    - Dst: g_hash_table_add
      Src: /src/glib/glib/tests/refstring.c:115,1
    - Dst: g_hash_table_contains
      Src: /src/glib/glib/tests/refstring.c:117,1
    - Dst: g_hash_table_contains
      Src: /src/glib/glib/tests/refstring.c:120,1
    - Dst: g_hash_table_contains
      Src: /src/glib/glib/tests/refstring.c:118,1
    - Dst: g_hash_table_new
      Src: /src/glib/glib/tests/refstring.c:107,1
    - Dst: g_ref_string_new
      Src: /src/glib/glib/tests/refstring.c:110,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/refstring.c:117,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/refstring.c:118,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/refstring.c:120,1
    - Dst: g_hash_table_unref
      Src: /src/glib/glib/tests/refstring.c:122,1
    - Dst: g_ref_string_release
      Src: /src/glib/glib/tests/refstring.c:125,1
    - Dst: g_ref_string_release
      Src: /src/glib/glib/tests/refstring.c:123,1
    - Dst: g_hash_table_contains
      Src: /src/glib/glib/tests/refstring.c:119,1
    - Dst: g_ref_string_new
      Src: /src/glib/glib/tests/refstring.c:109,1
    - Dst: g_ref_string_new
      Src: /src/glib/glib/tests/refstring.c:111,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/refstring.c:113,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/refstring.c:119,1
    - Dst: g_ref_string_release
      Src: /src/glib/glib/tests/refstring.c:124,1
    - Dst: g_ref_string_release
      Src: /src/glib/glib/tests/refstring.c:126,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 127
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 127
    functionName: test_refstring_hash_equal
    functionSourceFile: /src/glib/glib/tests/refstring.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_test_summary
    - g_ref_string_new
    - g_hash_table_unref
    - g_ref_string_release
    - g_hash_table_new
    - g_hash_table_contains
    - g_assert_false
    - g_hash_table_add
    linkageType: ''
    returnType: void
    signature: 'static void test_refstring_hash_equal (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ref_string_new_intern
      Src: /src/glib/glib/tests/refstring.c:152,1
    - Dst: g_ref_string_release
      Src: /src/glib/glib/tests/refstring.c:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 157
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 157
    functionName: intern_ref_unref
    functionSourceFile: /src/glib/glib/tests/refstring.c
    functionUses: []
    functionsReached:
    - g_ref_string_new_intern
    - g_ref_string_release
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer intern_ref_unref (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ref_string_new
      Src: /src/glib/glib/tests/refstring.c:132,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/refstring.c:138,1
    - Dst: g_ref_string_new
      Src: /src/glib/glib/tests/refstring.c:134,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/refstring.c:136,1
    - Dst: g_ref_string_new
      Src: /src/glib/glib/tests/refstring.c:133,1
    - Dst: g_ref_string_equal
      Src: /src/glib/glib/tests/refstring.c:138,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/refstring.c:139,1
    - Dst: g_ref_string_equal
      Src: /src/glib/glib/tests/refstring.c:139,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/refstring.c:140,1
    - Dst: g_ref_string_equal
      Src: /src/glib/glib/tests/refstring.c:140,1
    - Dst: g_ref_string_release
      Src: /src/glib/glib/tests/refstring.c:144,1
    - Dst: g_ref_string_release
      Src: /src/glib/glib/tests/refstring.c:143,1
    - Dst: g_ref_string_release
      Src: /src/glib/glib/tests/refstring.c:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 145
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 145
    functionName: test_refstring_equal
    functionSourceFile: /src/glib/glib/tests/refstring.c
    functionUses: []
    functionsReached:
    - g_ref_string_equal
    - g_assert_true
    - g_test_summary
    - g_ref_string_new
    - g_ref_string_release
    - g_assert_false
    linkageType: ''
    returnType: void
    signature: 'static void test_refstring_equal (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/refstring.c:176,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/refstring.c:179,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/refstring.c:181,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/refstring.c:178,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/refstring.c:180,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/refstring.c:182,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/refstring.c:183,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/refstring.c:184,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/refstring.c:185,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/refstring.c:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 188
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 188
    functionName: main
    functionSourceFile: /src/glib/glib/tests/refstring.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ref_string_new_intern
      Src: /src/glib/glib/tests/refstring.c:80,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/refstring.c:84,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/refstring.c:87,1
    - Dst: g_ref_string_new_intern
      Src: /src/glib/glib/tests/refstring.c:86,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/refstring.c:83,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/refstring.c:88,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/refstring.c:90,1
    - Dst: g_ref_string_release
      Src: /src/glib/glib/tests/refstring.c:91,1
    - Dst: g_ref_string_new_intern
      Src: /src/glib/glib/tests/refstring.c:93,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/refstring.c:94,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/refstring.c:97,1
    - Dst: g_ref_string_release
      Src: /src/glib/glib/tests/refstring.c:101,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/refstring.c:100,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/refstring.c:95,1
    - Dst: g_ref_string_release
      Src: /src/glib/glib/tests/refstring.c:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 102
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 102
    functionName: test_refstring_intern
    functionSourceFile: /src/glib/glib/tests/refstring.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_test_message
    - g_ref_string_new_intern
    - g_ref_string_release
    - g_assert_cmpstr
    - g_assert_false
    linkageType: ''
    returnType: void
    signature: 'static void test_refstring_intern (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ref_string_new_len
      Src: /src/glib/glib/tests/refstring.c:45,1
    - Dst: strlen
      Src: /src/glib/glib/tests/refstring.c:48,1
    - Dst: strlen
      Src: /src/glib/glib/tests/refstring.c:48,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/refstring.c:47,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/refstring.c:48,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/refstring.c:49,1
    - Dst: g_ref_string_length
      Src: /src/glib/glib/tests/refstring.c:49,1
    - Dst: strlen
      Src: /src/glib/glib/tests/refstring.c:49,1
    - Dst: g_ref_string_release
      Src: /src/glib/glib/tests/refstring.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 51
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 51
    functionName: test_refstring_length
    functionSourceFile: /src/glib/glib/tests/refstring.c
    functionUses: []
    functionsReached:
    - strlen
    - g_assert_cmpuint
    - g_ref_string_release
    - g_assert_cmpstr
    - g_ref_string_length
    - g_ref_string_new_len
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_refstring_length (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/refstring.c:165,1
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/refstring.c:166,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/refstring.c:168,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/refstring.c:169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 170
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 170
    functionName: test_refstring_intern_thread_safety
    functionSourceFile: /src/glib/glib/tests/refstring.c
    functionUses: []
    functionsReached:
    - g_thread_new
    - g_thread_join
    linkageType: ''
    returnType: void
    signature: 'static void test_refstring_intern_thread_safety (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_markup_escape_text
      Src: /src/glib/glib/tests/markup-escape.c:50,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/markup-escape.c:52,1
    - Dst: g_free
      Src: /src/glib/glib/tests/markup-escape.c:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: escape_test
    functionSourceFile: /src/glib/glib/tests/markup-escape.c
    functionUses: []
    functionsReached:
    - g_free
    - g_markup_escape_text
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void escape_test (gconstpointer d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/tests/markup-escape.c:116,1
    - Dst: g_free
      Src: /src/glib/glib/tests/markup-escape.c:122,1
    - Dst: g_markup_vprintf_escaped
      Src: /src/glib/glib/tests/markup-escape.c:117,1
    - Dst: va_end
      Src: /src/glib/glib/tests/markup-escape.c:118,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/markup-escape.c:120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - format
    - expected
    - '...'
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 123
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 123
    functionName: test_format
    functionSourceFile: /src/glib/glib/tests/markup-escape.c
    functionUses: []
    functionsReached:
    - g_assert_cmpstr
    - va_end
    - g_free
    - va_start
    - g_markup_vprintf_escaped
    linkageType: ''
    returnType: void
    signature: "static void test_format (const gchar *format,\t const gchar *expected,\t\
      \ ...) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_unichar_to_utf8
      Src: /src/glib/glib/tests/markup-escape.c:94,1
    - Dst: strcpy
      Src: /src/glib/glib/tests/markup-escape.c:100,1
    - Dst: escape_test
      Src: /src/glib/glib/tests/markup-escape.c:104,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/markup-escape.c:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 105
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 105
    functionName: unichar_test
    functionSourceFile: /src/glib/glib/tests/markup-escape.c
    functionUses: []
    functionsReached:
    - g_unichar_to_utf8
    - escape_test
    - strcpy
    - g_snprintf
    linkageType: ''
    returnType: void
    signature: 'static void unichar_test (gconstpointer d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/markup-escape.c:149,1
    - Dst: g_free
      Src: /src/glib/glib/tests/markup-escape.c:155,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/markup-escape.c:151,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/markup-escape.c:154,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/markup-escape.c:153,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/markup-escape.c:158,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/markup-escape.c:160,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/markup-escape.c:161,1
    - Dst: g_free
      Src: /src/glib/glib/tests/markup-escape.c:162,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/markup-escape.c:165,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/markup-escape.c:167,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 168
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 168
    functionName: main
    functionSourceFile: /src/glib/glib/tests/markup-escape.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_strdup_printf
    - g_test_init
    - g_test_add_data_func
    - G_N_ELEMENTS
    - g_test_run
    - g_free
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_format
      Src: /src/glib/glib/tests/markup-escape.c:128,1
    - Dst: test_format
      Src: /src/glib/glib/tests/markup-escape.c:130,1
    - Dst: test_format
      Src: /src/glib/glib/tests/markup-escape.c:132,1
    - Dst: test_format
      Src: /src/glib/glib/tests/markup-escape.c:131,1
    - Dst: test_format
      Src: /src/glib/glib/tests/markup-escape.c:129,1
    - Dst: test_format
      Src: /src/glib/glib/tests/markup-escape.c:133,1
    - Dst: test_format
      Src: /src/glib/glib/tests/markup-escape.c:134,1
    - Dst: test_format
      Src: /src/glib/glib/tests/markup-escape.c:135,1
    - Dst: test_format
      Src: /src/glib/glib/tests/markup-escape.c:136,1
    - Dst: test_format
      Src: /src/glib/glib/tests/markup-escape.c:137,1
    - Dst: test_format
      Src: /src/glib/glib/tests/markup-escape.c:141,1
    - Dst: test_format
      Src: /src/glib/glib/tests/markup-escape.c:139,1
    - Dst: test_format
      Src: /src/glib/glib/tests/markup-escape.c:138,1
    - Dst: test_format
      Src: /src/glib/glib/tests/markup-escape.c:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 142
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 142
    functionName: format_test
    functionSourceFile: /src/glib/glib/tests/markup-escape.c
    functionUses: []
    functionsReached:
    - test_format
    linkageType: ''
    returnType: void
    signature: 'static void format_test (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string_check
      Src: /src/glib/glib/tests/constructor.c:192,1
    - Dst: string_check
      Src: /src/glib/glib/tests/constructor.c:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 197
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 197
    functionName: test_app
    functionSourceFile: /src/glib/glib/tests/constructor.c
    functionUses: []
    functionsReached:
    - string_check
    linkageType: ''
    returnType: void
    signature: 'static void test_app (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: ctor
    functionSourceFile: /src/glib/glib/tests/constructor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: G_DEFINE_CONSTRUCTOR (ctor)
    signature: 'G_DEFINE_CONSTRUCTOR (ctor) static void ctor (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: string_find
      Src: /src/glib/glib/tests/constructor.c:70,1
    - Dst: _Exit
      Src: /src/glib/glib/tests/constructor.c:75,1
    - Dst: string_find
      Src: /src/glib/glib/tests/constructor.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 77
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 77
    functionName: dtor
    functionSourceFile: /src/glib/glib/tests/constructor.c
    functionUses: []
    functionsReached:
    - _Exit
    - string_find
    linkageType: ''
    returnType: G_DEFINE_DESTRUCTOR (dtor)
    signature: 'G_DEFINE_DESTRUCTOR (dtor) static void dtor (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: this_module
    functionSourceFile: /src/glib/glib/tests/constructor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: HMODULE
    signature: 'static inline HMODULE this_module (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dlopen
      Src: /src/glib/glib/tests/constructor.c:151,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/tests/constructor.c:157,1
    - Dst: dlerror
      Src: /src/glib/glib/tests/constructor.c:154,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/constructor.c:158,1
    - Dst: g_error
      Src: /src/glib/glib/tests/constructor.c:154,1
    - Dst: LoadLibraryW
      Src: /src/glib/glib/tests/constructor.c:160,1
    - Dst: g_error
      Src: /src/glib/glib/tests/constructor.c:163,1
    - Dst: GetLastError
      Src: /src/glib/glib/tests/constructor.c:164,1
    - Dst: g_free
      Src: /src/glib/glib/tests/constructor.c:167,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 169
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 169
    functionName: load_library
    functionSourceFile: /src/glib/glib/tests/constructor.c
    functionUses: []
    functionsReached:
    - LoadLibraryW
    - g_utf8_to_utf16
    - dlerror
    - dlopen
    - g_assert_nonnull
    - GetLastError
    - g_error
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void load_library (const char *path) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/constructor.c:100,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/constructor.c:104,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/constructor.c:113,1
    - Dst: GetModuleHandle
      Src: /src/glib/glib/tests/constructor.c:104,1
    - Dst: this_module
      Src: /src/glib/glib/tests/constructor.c:100,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/constructor.c:129,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/constructor.c:136,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - hInstance
    - dwReason
    - lpvReserved
    argTypes:
    - PVOID
    - DWORD
    - LPVOID
    constantsTouched: []
    func_position:
      end: 139
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 139
    functionName: tls_callback
    functionSourceFile: /src/glib/glib/tests/constructor.c
    functionUses: []
    functionsReached:
    - GetModuleHandle
    - g_assert_true
    - this_module
    - g_assert_null
    - g_assert_not_reached
    linkageType: ''
    returnType: NTAPI
    signature: 'NTAPI tls_callback (PVOID hInstance, DWORD dwReason, LPVOID lpvReserved) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dlclose
      Src: /src/glib/glib/tests/constructor.c:175,1
    - Dst: FreeLibrary
      Src: /src/glib/glib/tests/constructor.c:180,1
    - Dst: g_error
      Src: /src/glib/glib/tests/constructor.c:177,1
    - Dst: g_error
      Src: /src/glib/glib/tests/constructor.c:182,1
    - Dst: dlerror
      Src: /src/glib/glib/tests/constructor.c:177,1
    - Dst: GetLastError
      Src: /src/glib/glib/tests/constructor.c:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 186
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 186
    functionName: unload_library
    functionSourceFile: /src/glib/glib/tests/constructor.c
    functionUses: []
    functionsReached:
    - FreeLibrary
    - dlerror
    - dlclose
    - GetLastError
    - g_error
    linkageType: ''
    returnType: void
    signature: 'static void unload_library (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_library
      Src: /src/glib/glib/tests/constructor.c:205,1
    - Dst: string_check
      Src: /src/glib/glib/tests/constructor.c:211,1
    - Dst: unload_library
      Src: /src/glib/glib/tests/constructor.c:215,1
    - Dst: string_check
      Src: /src/glib/glib/tests/constructor.c:208,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/constructor.c:222,1
    - Dst: string_find
      Src: /src/glib/glib/tests/constructor.c:223,1
    - Dst: string_check
      Src: /src/glib/glib/tests/constructor.c:226,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 228
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 228
    functionName: test_lib
    functionSourceFile: /src/glib/glib/tests/constructor.c
    functionUses: []
    functionsReached:
    - string_find
    - g_test_message
    - load_library
    - unload_library
    - string_check
    linkageType: ''
    returnType: void
    signature: 'static void test_lib (gconstpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_STRINGIFY
      Src: /src/glib/glib/tests/constructor.c:234,1
    - Dst: g_test_init
      Src: /src/glib/glib/tests/constructor.c:243,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/constructor.c:239,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/constructor.c:241,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/constructor.c:239,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/constructor.c:245,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/constructor.c:246,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/constructor.c:248,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/constructor.c:249,1
    - Dst: g_free
      Src: /src/glib/glib/tests/constructor.c:251,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 257
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 257
    functionName: main
    functionSourceFile: /src/glib/glib/tests/constructor.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_add_data_func
    - g_assert_cmpint
    - g_getenv
    - g_assert_nonnull
    - g_test_run
    - g_free
    - g_build_filename
    - g_test_init
    - G_STRINGIFY
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/tests/utf8-pointer.c:38,1
    - Dst: g_malloc
      Src: /src/glib/glib/tests/utf8-pointer.c:42,1
    - Dst: g_utf8_validate
      Src: /src/glib/glib/tests/utf8-pointer.c:38,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/tests/utf8-pointer.c:46,1
    - Dst: g_utf8_strlen
      Src: /src/glib/glib/tests/utf8-pointer.c:40,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utf8-pointer.c:51,1
    - Dst: g_utf8_offset_to_pointer
      Src: /src/glib/glib/tests/utf8-pointer.c:51,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utf8-pointer.c:52,1
    - Dst: g_utf8_pointer_to_offset
      Src: /src/glib/glib/tests/utf8-pointer.c:52,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utf8-pointer.c:55,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 56
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 56
    functionName: test_utf8
    functionSourceFile: /src/glib/glib/tests/utf8-pointer.c
    functionUses: []
    functionsReached:
    - g_utf8_next_char
    - g_assert
    - g_utf8_pointer_to_offset
    - g_malloc
    - g_utf8_offset_to_pointer
    - g_utf8_strlen
    - g_utf8_validate
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_utf8 (gconstpointer d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/utf8-pointer.c:182,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utf8-pointer.c:185,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/utf8-pointer.c:188,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/utf8-pointer.c:184,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utf8-pointer.c:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 189
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 189
    functionName: main
    functionSourceFile: /src/glib/glib/tests/utf8-pointer.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_run
    - g_test_init
    - g_test_add_data_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/tests/utf8-pointer.c:74,1
    - Dst: g_utf8_strlen
      Src: /src/glib/glib/tests/utf8-pointer.c:74,1
    - Dst: g_utf8_strlen
      Src: /src/glib/glib/tests/utf8-pointer.c:79,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utf8-pointer.c:85,1
    - Dst: g_utf8_strlen
      Src: /src/glib/glib/tests/utf8-pointer.c:85,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utf8-pointer.c:87,1
    - Dst: g_utf8_strlen
      Src: /src/glib/glib/tests/utf8-pointer.c:87,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utf8-pointer.c:73,1
    - Dst: g_utf8_strlen
      Src: /src/glib/glib/tests/utf8-pointer.c:73,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utf8-pointer.c:77,1
    - Dst: g_utf8_strlen
      Src: /src/glib/glib/tests/utf8-pointer.c:80,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utf8-pointer.c:79,1
    - Dst: g_utf8_strlen
      Src: /src/glib/glib/tests/utf8-pointer.c:77,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utf8-pointer.c:81,1
    - Dst: g_utf8_strlen
      Src: /src/glib/glib/tests/utf8-pointer.c:81,1
    - Dst: g_utf8_strlen
      Src: /src/glib/glib/tests/utf8-pointer.c:83,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utf8-pointer.c:86,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utf8-pointer.c:71,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utf8-pointer.c:72,1
    - Dst: g_utf8_strlen
      Src: /src/glib/glib/tests/utf8-pointer.c:72,1
    - Dst: g_utf8_strlen
      Src: /src/glib/glib/tests/utf8-pointer.c:71,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utf8-pointer.c:80,1
    - Dst: g_utf8_strlen
      Src: /src/glib/glib/tests/utf8-pointer.c:76,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utf8-pointer.c:76,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utf8-pointer.c:83,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utf8-pointer.c:89,1
    - Dst: g_utf8_strlen
      Src: /src/glib/glib/tests/utf8-pointer.c:89,1
    - Dst: g_utf8_strlen
      Src: /src/glib/glib/tests/utf8-pointer.c:90,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utf8-pointer.c:75,1
    - Dst: g_utf8_strlen
      Src: /src/glib/glib/tests/utf8-pointer.c:75,1
    - Dst: strlen
      Src: /src/glib/glib/tests/utf8-pointer.c:80,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utf8-pointer.c:88,1
    - Dst: g_utf8_strlen
      Src: /src/glib/glib/tests/utf8-pointer.c:88,1
    - Dst: g_utf8_strlen
      Src: /src/glib/glib/tests/utf8-pointer.c:86,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utf8-pointer.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 53
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 91
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 91
    functionName: test_length
    functionSourceFile: /src/glib/glib/tests/utf8-pointer.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_utf8_strlen
    - strlen
    linkageType: ''
    returnType: void
    signature: 'static void test_length (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/glib/glib/tests/utf8-pointer.c:107,1
    - Dst: memcpy
      Src: /src/glib/glib/tests/utf8-pointer.c:110,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utf8-pointer.c:160,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/utf8-pointer.c:159,1
    - Dst: g_utf8_find_next_char
      Src: /src/glib/glib/tests/utf8-pointer.c:158,1
    - Dst: g_utf8_find_next_char
      Src: /src/glib/glib/tests/utf8-pointer.c:162,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/utf8-pointer.c:163,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 164
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 164
    functionName: test_find
    functionSourceFile: /src/glib/glib/tests/utf8-pointer.c
    functionUses: []
    functionsReached:
    - g_utf8_find_next_char
    - memcpy
    - g_assert_null
    - g_assert
    - g_assert_nonnull
    - g_malloc
    linkageType: ''
    returnType: void
    signature: 'static void test_find (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/spawn-path-search.c:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 36
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 36
    functionName: skip_win32
    functionSourceFile: /src/glib/glib/tests/spawn-path-search.c
    functionUses: []
    functionsReached:
    - g_test_skip
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean skip_win32 (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/spawn-path-search.c:105,1
    - Dst: g_environ_setenv
      Src: /src/glib/glib/tests/spawn-path-search.c:111,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-path-search.c:113,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-path-search.c:115,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-path-search.c:117,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/spawn-path-search.c:120,1
    - Dst: strstr
      Src: /src/glib/glib/tests/spawn-path-search.c:134,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/spawn-path-search.c:141,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/glib/tests/spawn-path-search.c:96,1
    - Dst: g_get_environ
      Src: /src/glib/glib/tests/spawn-path-search.c:99,1
    - Dst: g_test_build_filename
      Src: /src/glib/glib/tests/spawn-path-search.c:97,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/spawn-path-search.c:117,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/spawn-path-search.c:115,1
    - Dst: WIFEXITED
      Src: /src/glib/glib/tests/spawn-path-search.c:137,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-path-search.c:142,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-path-search.c:143,1
    - Dst: g_test_build_filename
      Src: /src/glib/glib/tests/spawn-path-search.c:114,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-path-search.c:116,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-path-search.c:130,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/spawn-path-search.c:133,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/spawn-path-search.c:137,1
    - Dst: WEXITSTATUS
      Src: /src/glib/glib/tests/spawn-path-search.c:138,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-path-search.c:144,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/spawn-path-search.c:146,1
    - Dst: g_test_build_filename
      Src: /src/glib/glib/tests/spawn-path-search.c:98,1
    - Dst: skip_win32
      Src: /src/glib/glib/tests/spawn-path-search.c:108,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/spawn-path-search.c:132,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/spawn-path-search.c:116,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-path-search.c:118,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/spawn-path-search.c:134,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/spawn-path-search.c:138,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-path-search.c:145,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 147
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 147
    functionName: test_search_path
    functionSourceFile: /src/glib/glib/tests/spawn-path-search.c
    functionUses: []
    functionsReached:
    - g_test_build_filename
    - g_environ_setenv
    - g_assert_true
    - WIFEXITED
    - g_assert_nonnull
    - g_strfreev
    - g_get_environ
    - g_ptr_array_add
    - g_assert_cmpint
    - g_ptr_array_unref
    - g_strdup
    - g_test_message
    - g_assert_no_error
    - g_ptr_array_new_with_free_func
    - WEXITSTATUS
    - strstr
    - skip_win32
    - g_test_summary
    - g_spawn_sync
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_search_path (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_build_filename
      Src: /src/glib/glib/tests/spawn-path-search.c:211,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/spawn-path-search.c:232,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/spawn-path-search.c:230,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/spawn-path-search.c:234,1
    - Dst: WIFEXITED
      Src: /src/glib/glib/tests/spawn-path-search.c:254,1
    - Dst: WEXITSTATUS
      Src: /src/glib/glib/tests/spawn-path-search.c:255,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/spawn-path-search.c:258,1
    - Dst: g_get_environ
      Src: /src/glib/glib/tests/spawn-path-search.c:213,1
    - Dst: g_test_build_filename
      Src: /src/glib/glib/tests/spawn-path-search.c:228,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-path-search.c:229,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-path-search.c:232,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-path-search.c:233,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/spawn-path-search.c:233,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-path-search.c:231,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/spawn-path-search.c:237,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-path-search.c:247,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/spawn-path-search.c:250,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/spawn-path-search.c:255,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/glib/tests/spawn-path-search.c:210,1
    - Dst: skip_win32
      Src: /src/glib/glib/tests/spawn-path-search.c:222,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/spawn-path-search.c:229,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/spawn-path-search.c:231,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-path-search.c:235,1
    - Dst: strstr
      Src: /src/glib/glib/tests/spawn-path-search.c:251,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/spawn-path-search.c:254,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-path-search.c:260,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-path-search.c:259,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/spawn-path-search.c:219,1
    - Dst: g_test_build_filename
      Src: /src/glib/glib/tests/spawn-path-search.c:212,1
    - Dst: g_environ_setenv
      Src: /src/glib/glib/tests/spawn-path-search.c:225,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-path-search.c:227,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-path-search.c:230,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-path-search.c:234,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/spawn-path-search.c:249,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/spawn-path-search.c:251,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-path-search.c:262,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/spawn-path-search.c:263,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-path-search.c:261,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 264
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 264
    functionName: test_search_path_ambiguous
    functionSourceFile: /src/glib/glib/tests/spawn-path-search.c
    functionUses: []
    functionsReached:
    - g_test_build_filename
    - g_environ_setenv
    - g_assert_true
    - WIFEXITED
    - g_assert_nonnull
    - g_strfreev
    - g_get_environ
    - g_ptr_array_add
    - g_assert_cmpint
    - g_ptr_array_unref
    - g_strdup
    - g_test_message
    - g_assert_no_error
    - g_ptr_array_new_with_free_func
    - WEXITSTATUS
    - strstr
    - skip_win32
    - g_test_summary
    - g_spawn_sync
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_search_path_ambiguous (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/tests/spawn-path-search.c:367,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/spawn-path-search.c:365,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-path-search.c:369,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/spawn-path-search.c:383,1
    - Dst: strstr
      Src: /src/glib/glib/tests/spawn-path-search.c:385,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/spawn-path-search.c:389,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-path-search.c:393,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-path-search.c:395,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/spawn-path-search.c:397,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-path-search.c:394,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/glib/tests/spawn-path-search.c:337,1
    - Dst: g_get_environ
      Src: /src/glib/glib/tests/spawn-path-search.c:340,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/spawn-path-search.c:353,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/spawn-path-search.c:356,1
    - Dst: g_environ_setenv
      Src: /src/glib/glib/tests/spawn-path-search.c:361,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-path-search.c:368,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-path-search.c:363,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-path-search.c:366,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/spawn-path-search.c:371,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/spawn-path-search.c:388,1
    - Dst: WIFEXITED
      Src: /src/glib/glib/tests/spawn-path-search.c:388,1
    - Dst: g_test_build_filename
      Src: /src/glib/glib/tests/spawn-path-search.c:338,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/spawn-path-search.c:346,1
    - Dst: g_test_build_filename
      Src: /src/glib/glib/tests/spawn-path-search.c:339,1
    - Dst: skip_win32
      Src: /src/glib/glib/tests/spawn-path-search.c:350,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/spawn-path-search.c:366,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/spawn-path-search.c:368,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/spawn-path-search.c:385,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/spawn-path-search.c:392,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/spawn-path-search.c:354,1
    - Dst: g_test_build_filename
      Src: /src/glib/glib/tests/spawn-path-search.c:364,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-path-search.c:365,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-path-search.c:367,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-path-search.c:381,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/spawn-path-search.c:384,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-path-search.c:396,1
    - Dst: WEXITSTATUS
      Src: /src/glib/glib/tests/spawn-path-search.c:389,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 398
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 398
    functionName: test_search_path_fallback_in_envp
    functionSourceFile: /src/glib/glib/tests/spawn-path-search.c
    functionUses: []
    functionsReached:
    - g_test_build_filename
    - g_environ_setenv
    - g_assert_true
    - WIFEXITED
    - g_assert_nonnull
    - g_strfreev
    - g_test_skip
    - g_file_test
    - g_get_environ
    - g_ptr_array_add
    - g_assert_cmpint
    - g_ptr_array_unref
    - g_strdup
    - g_test_message
    - g_assert_no_error
    - g_ptr_array_new_with_free_func
    - WEXITSTATUS
    - strstr
    - skip_win32
    - g_test_summary
    - g_spawn_sync
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_search_path_fallback_in_envp (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/spawn-path-search.c:50,1
    - Dst: g_test_build_filename
      Src: /src/glib/glib/tests/spawn-path-search.c:43,1
    - Dst: g_environ_setenv
      Src: /src/glib/glib/tests/spawn-path-search.c:56,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-path-search.c:58,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-path-search.c:62,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-path-search.c:61,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/spawn-path-search.c:60,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/spawn-path-search.c:81,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/spawn-path-search.c:82,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-path-search.c:86,1
    - Dst: g_get_environ
      Src: /src/glib/glib/tests/spawn-path-search.c:44,1
    - Dst: skip_win32
      Src: /src/glib/glib/tests/spawn-path-search.c:53,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/spawn-path-search.c:76,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/spawn-path-search.c:64,1
    - Dst: WEXITSTATUS
      Src: /src/glib/glib/tests/spawn-path-search.c:82,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-path-search.c:89,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/glib/tests/spawn-path-search.c:41,1
    - Dst: g_test_build_filename
      Src: /src/glib/glib/tests/spawn-path-search.c:42,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/spawn-path-search.c:77,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-path-search.c:88,1
    - Dst: g_test_build_filename
      Src: /src/glib/glib/tests/spawn-path-search.c:59,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-path-search.c:60,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-path-search.c:74,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/spawn-path-search.c:78,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/spawn-path-search.c:61,1
    - Dst: strstr
      Src: /src/glib/glib/tests/spawn-path-search.c:78,1
    - Dst: WIFEXITED
      Src: /src/glib/glib/tests/spawn-path-search.c:81,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/spawn-path-search.c:85,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-path-search.c:87,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/spawn-path-search.c:90,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 91
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 91
    functionName: test_do_not_search
    functionSourceFile: /src/glib/glib/tests/spawn-path-search.c
    functionUses: []
    functionsReached:
    - g_test_build_filename
    - g_environ_setenv
    - g_assert_true
    - WIFEXITED
    - g_assert_nonnull
    - g_strfreev
    - g_get_environ
    - g_ptr_array_add
    - g_assert_cmpint
    - g_ptr_array_unref
    - g_strdup
    - g_test_message
    - g_assert_no_error
    - g_ptr_array_new_with_free_func
    - WEXITSTATUS
    - strstr
    - skip_win32
    - g_test_summary
    - g_spawn_sync
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_do_not_search (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_build_filename
      Src: /src/glib/glib/tests/spawn-path-search.c:154,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/spawn-path-search.c:173,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/spawn-path-search.c:174,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/spawn-path-search.c:171,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-path-search.c:176,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/spawn-path-search.c:190,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/spawn-path-search.c:195,1
    - Dst: WEXITSTATUS
      Src: /src/glib/glib/tests/spawn-path-search.c:196,1
    - Dst: g_test_build_filename
      Src: /src/glib/glib/tests/spawn-path-search.c:153,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-path-search.c:169,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-path-search.c:173,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-path-search.c:175,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-path-search.c:172,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/spawn-path-search.c:178,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/spawn-path-search.c:199,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-path-search.c:200,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/spawn-path-search.c:196,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/spawn-path-search.c:161,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/spawn-path-search.c:172,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/spawn-path-search.c:175,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/spawn-path-search.c:192,1
    - Dst: WIFEXITED
      Src: /src/glib/glib/tests/spawn-path-search.c:195,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-path-search.c:201,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-path-search.c:202,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-path-search.c:203,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/spawn-path-search.c:204,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/glib/tests/spawn-path-search.c:152,1
    - Dst: g_get_environ
      Src: /src/glib/glib/tests/spawn-path-search.c:155,1
    - Dst: skip_win32
      Src: /src/glib/glib/tests/spawn-path-search.c:164,1
    - Dst: g_environ_setenv
      Src: /src/glib/glib/tests/spawn-path-search.c:167,1
    - Dst: g_test_build_filename
      Src: /src/glib/glib/tests/spawn-path-search.c:170,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-path-search.c:171,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-path-search.c:174,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-path-search.c:188,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/spawn-path-search.c:191,1
    - Dst: strstr
      Src: /src/glib/glib/tests/spawn-path-search.c:192,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 205
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 205
    functionName: test_search_path_from_envp
    functionSourceFile: /src/glib/glib/tests/spawn-path-search.c
    functionUses: []
    functionsReached:
    - g_test_build_filename
    - g_environ_setenv
    - g_assert_true
    - WIFEXITED
    - g_assert_nonnull
    - g_strfreev
    - g_get_environ
    - g_ptr_array_add
    - g_assert_cmpint
    - g_ptr_array_unref
    - g_strdup
    - g_test_message
    - g_assert_no_error
    - g_ptr_array_new_with_free_func
    - WEXITSTATUS
    - strstr
    - skip_win32
    - g_test_summary
    - g_spawn_sync
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_search_path_from_envp (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_file_test
      Src: /src/glib/glib/tests/spawn-path-search.c:287,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-path-search.c:299,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-path-search.c:300,1
    - Dst: g_test_build_filename
      Src: /src/glib/glib/tests/spawn-path-search.c:297,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-path-search.c:298,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-path-search.c:302,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/spawn-path-search.c:305,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/spawn-path-search.c:322,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-path-search.c:328,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/spawn-path-search.c:331,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/spawn-path-search.c:326,1
    - Dst: g_test_build_filename
      Src: /src/glib/glib/tests/spawn-path-search.c:271,1
    - Dst: g_get_environ
      Src: /src/glib/glib/tests/spawn-path-search.c:272,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/spawn-path-search.c:278,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/spawn-path-search.c:299,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/spawn-path-search.c:298,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/spawn-path-search.c:302,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/spawn-path-search.c:319,1
    - Dst: strstr
      Src: /src/glib/glib/tests/spawn-path-search.c:319,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/spawn-path-search.c:323,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-path-search.c:329,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-path-search.c:330,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/glib/tests/spawn-path-search.c:269,1
    - Dst: g_test_build_filename
      Src: /src/glib/glib/tests/spawn-path-search.c:270,1
    - Dst: skip_win32
      Src: /src/glib/glib/tests/spawn-path-search.c:280,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/spawn-path-search.c:289,1
    - Dst: g_environ_unsetenv
      Src: /src/glib/glib/tests/spawn-path-search.c:294,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-path-search.c:296,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-path-search.c:301,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-path-search.c:315,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/spawn-path-search.c:318,1
    - Dst: WEXITSTATUS
      Src: /src/glib/glib/tests/spawn-path-search.c:323,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/spawn-path-search.c:286,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/spawn-path-search.c:300,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/spawn-path-search.c:301,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-path-search.c:303,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/spawn-path-search.c:317,1
    - Dst: WIFEXITED
      Src: /src/glib/glib/tests/spawn-path-search.c:322,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-path-search.c:327,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 332
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 332
    functionName: test_search_path_fallback_in_environ
    functionSourceFile: /src/glib/glib/tests/spawn-path-search.c
    functionUses: []
    functionsReached:
    - g_test_build_filename
    - g_assert_true
    - WIFEXITED
    - g_assert_nonnull
    - g_strfreev
    - g_test_skip
    - g_environ_unsetenv
    - g_file_test
    - g_get_environ
    - g_ptr_array_add
    - g_assert_cmpint
    - g_ptr_array_unref
    - g_strdup
    - g_test_message
    - g_assert_no_error
    - g_ptr_array_new_with_free_func
    - WEXITSTATUS
    - strstr
    - skip_win32
    - g_test_summary
    - g_spawn_sync
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_search_path_fallback_in_environ (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_build_filename
      Src: /src/glib/glib/tests/spawn-path-search.c:407,1
    - Dst: g_get_environ
      Src: /src/glib/glib/tests/spawn-path-search.c:411,1
    - Dst: g_test_build_filename
      Src: /src/glib/glib/tests/spawn-path-search.c:424,1
    - Dst: g_strjoin
      Src: /src/glib/glib/tests/spawn-path-search.c:425,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-path-search.c:427,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-path-search.c:433,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-path-search.c:430,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/spawn-path-search.c:440,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/spawn-path-search.c:444,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/spawn-path-search.c:457,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/spawn-path-search.c:433,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-path-search.c:442,1
    - Dst: strstr
      Src: /src/glib/glib/tests/spawn-path-search.c:458,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/spawn-path-search.c:461,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-path-search.c:467,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/spawn-path-search.c:470,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-path-search.c:468,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-path-search.c:469,1
    - Dst: WIFEXITED
      Src: /src/glib/glib/tests/spawn-path-search.c:461,1
    - Dst: skip_win32
      Src: /src/glib/glib/tests/spawn-path-search.c:418,1
    - Dst: memset
      Src: /src/glib/glib/tests/spawn-path-search.c:421,1
    - Dst: g_environ_setenv
      Src: /src/glib/glib/tests/spawn-path-search.c:426,1
    - Dst: g_test_build_filename
      Src: /src/glib/glib/tests/spawn-path-search.c:431,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-path-search.c:432,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-path-search.c:434,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-path-search.c:440,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-path-search.c:454,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/spawn-path-search.c:462,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-path-search.c:466,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/glib/tests/spawn-path-search.c:403,1
    - Dst: g_test_build_filename
      Src: /src/glib/glib/tests/spawn-path-search.c:408,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/spawn-path-search.c:432,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/spawn-path-search.c:434,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-path-search.c:428,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/spawn-path-search.c:456,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/spawn-path-search.c:458,1
    - Dst: WEXITSTATUS
      Src: /src/glib/glib/tests/spawn-path-search.c:462,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/spawn-path-search.c:465,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 471
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 471
    functionName: test_search_path_heap_allocation
    functionSourceFile: /src/glib/glib/tests/spawn-path-search.c
    functionUses: []
    functionsReached:
    - g_test_build_filename
    - g_environ_setenv
    - g_assert_true
    - WIFEXITED
    - g_assert_nonnull
    - g_strfreev
    - g_get_environ
    - g_ptr_array_add
    - g_assert_cmpint
    - g_ptr_array_unref
    - g_strdup
    - g_test_message
    - g_assert_no_error
    - g_ptr_array_new_with_free_func
    - WEXITSTATUS
    - strstr
    - memset
    - skip_win32
    - g_strjoin
    - g_spawn_sync
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_search_path_heap_allocation (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/spawn-path-search.c:477,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/spawn-path-search.c:479,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/spawn-path-search.c:480,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/spawn-path-search.c:482,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/spawn-path-search.c:481,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/spawn-path-search.c:483,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/spawn-path-search.c:485,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/spawn-path-search.c:487,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/spawn-path-search.c:490,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 491
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 491
    functionName: main
    functionSourceFile: /src/glib/glib/tests/spawn-path-search.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/glib/tests/cond.c:38,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/cond.c:42,1
    - Dst: g_thread_self
      Src: /src/glib/glib/tests/cond.c:43,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/cond.c:43,1
    - Dst: g_cond_wait
      Src: /src/glib/glib/tests/cond.c:40,1
    - Dst: g_cond_broadcast
      Src: /src/glib/glib/tests/cond.c:45,1
    - Dst: g_cond_signal
      Src: /src/glib/glib/tests/cond.c:47,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/cond.c:48,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - value
    argTypes:
    - gint
    constantsTouched: []
    func_position:
      end: 49
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 49
    functionName: push_value
    functionSourceFile: /src/glib/glib/tests/cond.c
    functionUses: []
    functionsReached:
    - g_printerr
    - g_cond_broadcast
    - g_mutex_lock
    - g_mutex_unlock
    - g_test_verbose
    - g_cond_signal
    - g_thread_self
    - g_cond_wait
    linkageType: ''
    returnType: void
    signature: 'static void push_value (gint value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_value
      Src: /src/glib/glib/tests/cond.c:84,1
    - Dst: push_value
      Src: /src/glib/glib/tests/cond.c:87,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/cond.c:90,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/cond.c:91,1
    - Dst: push_value
      Src: /src/glib/glib/tests/cond.c:88,1
    - Dst: g_thread_self
      Src: /src/glib/glib/tests/cond.c:91,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/cond.c:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 94
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 94
    functionName: produce_values
    functionSourceFile: /src/glib/glib/tests/cond.c
    functionUses: []
    functionsReached:
    - g_printerr
    - g_test_verbose
    - push_value
    - GINT_TO_POINTER
    - g_thread_self
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer produce_values (gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/glib/tests/cond.c:158,1
    - Dst: g_cond_broadcast
      Src: /src/glib/glib/tests/cond.c:164,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/cond.c:172,1
    - Dst: g_cond_wait
      Src: /src/glib/glib/tests/cond.c:170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - barrier
    argTypes:
    - Barrier*
    constantsTouched: []
    func_position:
      end: 175
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 175
    functionName: barrier_wait
    functionSourceFile: /src/glib/glib/tests/cond.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_cond_wait
    - g_cond_broadcast
    - g_mutex_lock
    linkageType: ''
    returnType: gint
    signature: 'static gint barrier_wait (Barrier *barrier) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_set
      Src: /src/glib/glib/tests/cond.c:224,1
    - Dst: g_thread_create
      Src: /src/glib/glib/tests/cond.c:228,1
    - Dst: barrier_init
      Src: /src/glib/glib/tests/cond.c:226,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/cond.c:228,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/cond.c:231,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/cond.c:233,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/cond.c:233,1
    - Dst: barrier_clear
      Src: /src/glib/glib/tests/cond.c:235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 236
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 236
    functionName: test_cond2
    functionSourceFile: /src/glib/glib/tests/cond.c
    functionUses: []
    functionsReached:
    - g_thread_create
    - g_atomic_int_get
    - g_atomic_int_set
    - GINT_TO_POINTER
    - g_thread_join
    - barrier_clear
    - barrier_init
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_cond2 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_init
      Src: /src/glib/glib/tests/cond.c:252,1
    - Dst: g_cond_init
      Src: /src/glib/glib/tests/cond.c:253,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/cond.c:255,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/tests/cond.c:258,1
    - Dst: g_cond_wait_until
      Src: /src/glib/glib/tests/cond.c:259,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/cond.c:261,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/cond.c:264,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/cond.c:264,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/cond.c:267,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/tests/cond.c:268,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/cond.c:270,1
    - Dst: g_cond_clear
      Src: /src/glib/glib/tests/cond.c:273,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/cond.c:269,1
    - Dst: g_mutex_clear
      Src: /src/glib/glib/tests/cond.c:272,1
    - Dst: g_cond_wait_until
      Src: /src/glib/glib/tests/cond.c:269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 274
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 274
    functionName: test_wait_until
    functionSourceFile: /src/glib/glib/tests/cond.c
    functionUses: []
    functionsReached:
    - g_mutex_init
    - g_cond_wait_until
    - g_mutex_unlock
    - g_mutex_lock
    - g_cond_init
    - g_assert
    - g_mutex_clear
    - g_cond_clear
    - g_get_monotonic_time
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_wait_until (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/glib/tests/cond.c:289,1
    - Dst: pthread_kill
      Src: /src/glib/glib/tests/cond.c:295,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/cond.c:306,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/cond.c:304,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/cond.c:292,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 309
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 309
    functionName: mutex_holder
    functionSourceFile: /src/glib/glib/tests/cond.c
    functionUses: []
    functionsReached:
    - g_usleep
    - pthread_kill
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: void*
    signature: 'static void *mutex_holder (void *data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pop_value
      Src: /src/glib/glib/tests/cond.c:104,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/cond.c:114,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/cond.c:111,1
    - Dst: g_thread_self
      Src: /src/glib/glib/tests/cond.c:112,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/cond.c:112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 115
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 115
    functionName: consume_values
    functionSourceFile: /src/glib/glib/tests/cond.c
    functionUses: []
    functionsReached:
    - g_printerr
    - g_test_verbose
    - pop_value
    - GINT_TO_POINTER
    - g_thread_self
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer consume_values (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_create
      Src: /src/glib/glib/tests/cond.c:124,1
    - Dst: g_thread_create
      Src: /src/glib/glib/tests/cond.c:126,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/cond.c:128,1
    - Dst: g_thread_create
      Src: /src/glib/glib/tests/cond.c:125,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/cond.c:128,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/cond.c:129,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/cond.c:129,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/cond.c:130,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/cond.c:130,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/cond.c:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 133
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 133
    functionName: test_cond1
    functionSourceFile: /src/glib/glib/tests/cond.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_thread_create
    - g_assert_cmpint
    - g_thread_join
    linkageType: ''
    returnType: void
    signature: 'static void test_cond1 (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/glib/tests/cond.c:56,1
    - Dst: g_thread_self
      Src: /src/glib/glib/tests/cond.c:60,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/cond.c:60,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/cond.c:59,1
    - Dst: g_cond_wait
      Src: /src/glib/glib/tests/cond.c:61,1
    - Dst: g_cond_broadcast
      Src: /src/glib/glib/tests/cond.c:65,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/cond.c:66,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/cond.c:67,1
    - Dst: g_thread_self
      Src: /src/glib/glib/tests/cond.c:67,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/cond.c:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 71
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 71
    functionName: pop_value
    functionSourceFile: /src/glib/glib/tests/cond.c
    functionUses: []
    functionsReached:
    - g_printerr
    - g_cond_broadcast
    - g_mutex_lock
    - g_mutex_unlock
    - g_test_verbose
    - g_thread_self
    - g_cond_wait
    linkageType: ''
    returnType: gint
    signature: 'static gint pop_value (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_init
      Src: /src/glib/glib/tests/cond.c:147,1
    - Dst: g_cond_init
      Src: /src/glib/glib/tests/cond.c:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - barrier
    - limit
    argTypes:
    - Barrier*
    - gint
    constantsTouched: []
    func_position:
      end: 151
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 151
    functionName: barrier_init
    functionSourceFile: /src/glib/glib/tests/cond.c
    functionUses: []
    functionsReached:
    - g_mutex_init
    - g_cond_init
    linkageType: ''
    returnType: void
    signature: 'static void barrier_init (Barrier *barrier, gint limit) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_clear
      Src: /src/glib/glib/tests/cond.c:180,1
    - Dst: g_cond_clear
      Src: /src/glib/glib/tests/cond.c:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - barrier
    argTypes:
    - Barrier*
    constantsTouched: []
    func_position:
      end: 182
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 182
    functionName: barrier_clear
    functionSourceFile: /src/glib/glib/tests/cond.c
    functionUses: []
    functionsReached:
    - g_mutex_clear
    - g_cond_clear
    linkageType: ''
    returnType: void
    signature: 'static void barrier_clear (Barrier *barrier) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: signal_handler
    functionSourceFile: /src/glib/glib/tests/cond.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void signal_handler (int sig) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/cond.c:327,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/cond.c:328,1
    - Dst: g_mutex_init
      Src: /src/glib/glib/tests/cond.c:330,1
    - Dst: pthread_self
      Src: /src/glib/glib/tests/cond.c:333,1
    - Dst: g_cond_init
      Src: /src/glib/glib/tests/cond.c:331,1
    - Dst: sigaction
      Src: /src/glib/glib/tests/cond.c:334,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/tests/cond.c:336,1
    - Dst: g_thread_unref
      Src: /src/glib/glib/tests/cond.c:347,1
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/cond.c:347,1
    - Dst: g_cond_wait_until
      Src: /src/glib/glib/tests/cond.c:349,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/cond.c:357,1
    - Dst: g_mutex_clear
      Src: /src/glib/glib/tests/cond.c:360,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/cond.c:355,1
    - Dst: g_cond_clear
      Src: /src/glib/glib/tests/cond.c:359,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/cond.c:350,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 361
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 361
    functionName: test_wait_until_errno
    functionSourceFile: /src/glib/glib/tests/cond.c
    functionUses: []
    functionsReached:
    - g_mutex_init
    - pthread_self
    - g_test_summary
    - sigaction
    - g_mutex_unlock
    - g_cond_init
    - g_mutex_lock
    - g_mutex_clear
    - g_test_bug
    - g_thread_unref
    - g_thread_new
    - g_get_monotonic_time
    - g_assert_false
    - g_cond_clear
    - g_cond_wait_until
    linkageType: ''
    returnType: void
    signature: 'static void test_wait_until_errno (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/cond.c:367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 368
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 368
    functionName: test_wait_until_errno
    functionSourceFile: /src/glib/glib/tests/cond.c
    functionUses: []
    functionsReached:
    - g_test_skip
    linkageType: ''
    returnType: void
    signature: 'static void test_wait_until_errno (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/cond.c:190,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/cond.c:196,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/cond.c:195,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/tests/cond.c:193,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/cond.c:196,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/cond.c:198,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/tests/cond.c:200,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/cond.c:202,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/cond.c:203,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/cond.c:203,1
    - Dst: barrier_wait
      Src: /src/glib/glib/tests/cond.c:205,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/cond.c:207,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/cond.c:207,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/cond.c:210,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/cond.c:210,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/cond.c:209,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 213
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 213
    functionName: cond2_func
    functionSourceFile: /src/glib/glib/tests/cond.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_printerr
    - g_atomic_int_get
    - g_test_verbose
    - g_usleep
    - barrier_wait
    - g_atomic_int_inc
    - g_assert_cmpint
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer cond2_func (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/cond.c:374,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/cond.c:376,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/cond.c:379,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/cond.c:378,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/cond.c:377,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/cond.c:381,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 382
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 382
    functionName: main
    functionSourceFile: /src/glib/glib/tests/cond.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/bitlock.c:5,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/bitlock.c:22,1
    - Dst: g_bit_unlock
      Src: /src/glib/glib/tests/bitlock.c:15,1
    - Dst: g_bit_lock
      Src: /src/glib/glib/tests/bitlock.c:14,1
    - Dst: g_test_perf
      Src: /src/glib/glib/tests/bitlock.c:10,1
    - Dst: g_test_maximized_result
      Src: /src/glib/glib/tests/bitlock.c:26,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 28
      start: 2
    functionDepth: 0
    functionLinenumber: 2
    functionLinenumberEnd: 28
    functionName: test_bitlocks
    functionSourceFile: /src/glib/glib/tests/bitlock.c
    functionUses: []
    functionsReached:
    - g_bit_unlock
    - g_test_maximized_result
    - g_test_perf
    - g_get_monotonic_time
    - g_bit_lock
    linkageType: ''
    returnType: void
    signature: 'static void test_bitlocks (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/bitlock.c:33,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/bitlock.c:37,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/bitlock.c:35,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: main
    functionSourceFile: /src/glib/glib/tests/bitlock.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetSystemDirectoryW
      Src: /src/glib/glib/tests/spawn-test.c:52,1
    - Dst: g_error
      Src: /src/glib/glib/tests/spawn-test.c:53,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/tests/spawn-test.c:56,1
    - Dst: GetLastError
      Src: /src/glib/glib/tests/spawn-test.c:54,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/spawn-test.c:52,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/spawn-test.c:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 60
    functionName: get_system_directory
    functionSourceFile: /src/glib/glib/tests/spawn-test.c
    functionUses: []
    functionsReached:
    - GetSystemDirectoryW
    - G_N_ELEMENTS
    - g_assert_nonnull
    - GetLastError
    - g_error
    - g_utf16_to_utf8
    linkageType: ''
    returnType: char*
    signature: 'static char *get_system_directory (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/spawn-test.c:105,1
    - Dst: g_wcsdup
      Src: /src/glib/glib/tests/spawn-test.c:117,1
    - Dst: wcschr
      Src: /src/glib/glib/tests/spawn-test.c:111,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/spawn-test.c:106,1
    - Dst: g_wcsndup
      Src: /src/glib/glib/tests/spawn-test.c:114,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 3
    argNames:
    - string
    - name
    - value
    argTypes:
    - wchar_t*
    - wchar_t**
    - wchar_t**
    constantsTouched: []
    func_position:
      end: 120
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 120
    functionName: parse_environment_string
    functionSourceFile: /src/glib/glib/tests/spawn-test.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_wcsdup
    - g_assert_nonnull
    - wcschr
    - g_wcsndup
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean parse_environment_string (const wchar_t *string, wchar_t
      **name, wchar_t **value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/spawn-test.c:242,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/spawn-test.c:325,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/spawn-test.c:352,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/spawn-test.c:377,1
    - Dst: SetThreadUILanguage
      Src: /src/glib/glib/tests/spawn-test.c:405,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-test.c:346,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-test.c:409,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-test.c:330,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/spawn-test.c:295,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/spawn-test.c:313,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-test.c:337,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-test.c:367,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/spawn-test.c:372,1
    - Dst: read
      Src: /src/glib/glib/tests/spawn-test.c:373,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/spawn-test.c:376,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/spawn-test.c:394,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/spawn-test.c:397,1
    - Dst: MAKELANGID
      Src: /src/glib/glib/tests/spawn-test.c:213,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-test.c:240,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/spawn-test.c:270,1
    - Dst: g_shell_parse_argv
      Src: /src/glib/glib/tests/spawn-test.c:358,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/spawn-test.c:360,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/spawn-test.c:373,1
    - Dst: read
      Src: /src/glib/glib/tests/spawn-test.c:379,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/spawn-test.c:408,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-test.c:268,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/spawn-test.c:385,1
    - Dst: g_list_free_full
      Src: /src/glib/glib/tests/spawn-test.c:407,1
    - Dst: g_spawn_command_line_sync
      Src: /src/glib/glib/tests/spawn-test.c:321,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-test.c:328,1
    - Dst: SetThreadUILanguage
      Src: /src/glib/glib/tests/spawn-test.c:213,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/spawn-test.c:232,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-test.c:302,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-test.c:348,1
    - Dst: g_shell_parse_argv
      Src: /src/glib/glib/tests/spawn-test.c:396,1
    - Dst: MAKELCID
      Src: /src/glib/glib/tests/spawn-test.c:213,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-test.c:258,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/spawn-test.c:326,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/spawn-test.c:310,1
    - Dst: g_spawn_command_line_async
      Src: /src/glib/glib/tests/spawn-test.c:314,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-test.c:305,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/spawn-test.c:275,1
    - Dst: pipe
      Src: /src/glib/glib/tests/spawn-test.c:352,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/spawn-test.c:398,1
    - Dst: GetThreadUILanguage
      Src: /src/glib/glib/tests/spawn-test.c:209,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/spawn-test.c:224,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/spawn-test.c:234,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/spawn-test.c:269,1
    - Dst: g_shell_parse_argv
      Src: /src/glib/glib/tests/spawn-test.c:336,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-test.c:359,1
    - Dst: strlen
      Src: /src/glib/glib/tests/spawn-test.c:380,1
    - Dst: find_cmd_shell_environment_variables
      Src: /src/glib/glib/tests/spawn-test.c:391,1
    - Dst: g_spawn_command_line_sync
      Src: /src/glib/glib/tests/spawn-test.c:266,1
    - Dst: g_get_environ
      Src: /src/glib/glib/tests/spawn-test.c:204,1
    - Dst: g_spawn_command_line_sync
      Src: /src/glib/glib/tests/spawn-test.c:222,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-test.c:244,1
    - Dst: g_spawn_command_line_sync
      Src: /src/glib/glib/tests/spawn-test.c:288,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-test.c:290,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-test.c:323,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/spawn-test.c:301,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/spawn-test.c:396,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-test.c:342,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/spawn-test.c:300,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/spawn-test.c:233,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-test.c:369,1
    - Dst: read
      Src: /src/glib/glib/tests/spawn-test.c:372,1
    - Dst: SetConsoleOutputCP
      Src: /src/glib/glib/tests/spawn-test.c:212,1
    - Dst: g_spawn_command_line_sync
      Src: /src/glib/glib/tests/spawn-test.c:238,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/spawn-test.c:316,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-test.c:277,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-test.c:279,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/spawn-test.c:355,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/spawn-test.c:379,1
    - Dst: read
      Src: /src/glib/glib/tests/spawn-test.c:382,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/spawn-test.c:225,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/spawn-test.c:241,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/spawn-test.c:294,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/spawn-test.c:340,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/spawn-test.c:351,1
    - Dst: write
      Src: /src/glib/glib/tests/spawn-test.c:377,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/spawn-test.c:382,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/spawn-test.c:294,1
    - Dst: strstr
      Src: /src/glib/glib/tests/spawn-test.c:301,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/spawn-test.c:333,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/spawn-test.c:272,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/spawn-test.c:274,1
    - Dst: strstr
      Src: /src/glib/glib/tests/spawn-test.c:295,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/spawn-test.c:318,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/spawn-test.c:312,1
    - Dst: SetConsoleOutputCP
      Src: /src/glib/glib/tests/spawn-test.c:406,1
    - Dst: g_unlink
      Src: /src/glib/glib/tests/spawn-test.c:307,1
    - Dst: GetConsoleOutputCP
      Src: /src/glib/glib/tests/spawn-test.c:210,1
    - Dst: get_system_directory
      Src: /src/glib/glib/tests/spawn-test.c:214,1
    - Dst: g_spawn_async
      Src: /src/glib/glib/tests/spawn-test.c:362,1
    - Dst: g_strerror
      Src: /src/glib/glib/tests/spawn-test.c:295,1
    - Dst: strlen
      Src: /src/glib/glib/tests/spawn-test.c:375,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/spawn-test.c:216,1
    - Dst: g_spawn_command_line_async
      Src: /src/glib/glib/tests/spawn-test.c:230,1
    - Dst: g_file_set_contents
      Src: /src/glib/glib/tests/spawn-test.c:256,1
    - Dst: g_spawn_command_line_sync
      Src: /src/glib/glib/tests/spawn-test.c:261,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/spawn-test.c:264,1
    - Dst: g_win32_error_message
      Src: /src/glib/glib/tests/spawn-test.c:299,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/spawn-test.c:319,1
    - Dst: g_spawn_command_line_sync
      Src: /src/glib/glib/tests/spawn-test.c:283,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/spawn-test.c:286,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/spawn-test.c:343,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/spawn-test.c:324,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-test.c:315,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/spawn-test.c:334,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/spawn-test.c:353,1
    - Dst: write
      Src: /src/glib/glib/tests/spawn-test.c:376,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/spawn-test.c:380,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/spawn-test.c:338,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/spawn-test.c:368,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-test.c:400,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/spawn-test.c:344,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/spawn-test.c:226,1
    - Dst: strchr
      Src: /src/glib/glib/tests/spawn-test.c:271,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/spawn-test.c:291,1
    - Dst: pipe
      Src: /src/glib/glib/tests/spawn-test.c:353,1
    - Dst: remove_environment_variables
      Src: /src/glib/glib/tests/spawn-test.c:392,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 157
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 411
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 411
    functionName: test_spawn_basics
    functionSourceFile: /src/glib/glib/tests/spawn-test.c
    functionUses: []
    functionsReached:
    - find_cmd_shell_environment_variables
    - g_list_free_full
    - g_strerror
    - GetConsoleOutputCP
    - g_snprintf
    - g_spawn_async
    - SetThreadUILanguage
    - g_assert_true
    - g_unlink
    - g_shell_parse_argv
    - remove_environment_variables
    - g_assert_nonnull
    - MAKELCID
    - pipe
    - g_strfreev
    - g_assert_false
    - g_spawn_command_line_sync
    - get_system_directory
    - g_get_environ
    - g_assert_cmpint
    - GetThreadUILanguage
    - write
    - strlen
    - g_test_message
    - g_file_set_contents
    - g_assert_no_error
    - SetConsoleOutputCP
    - MAKELANGID
    - read
    - strstr
    - g_assert_error
    - g_clear_error
    - g_win32_error_message
    - g_assert_cmpstr
    - g_str_has_prefix
    - strchr
    - g_spawn_command_line_async
    - g_spawn_sync
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_spawn_basics (void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/spawn-test.c:426,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-test.c:454,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/spawn-test.c:476,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/spawn-test.c:488,1
    - Dst: dup2
      Src: /src/glib/glib/tests/spawn-test.c:493,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-test.c:496,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/spawn-test.c:502,1
    - Dst: g_clear_fd
      Src: /src/glib/glib/tests/spawn-test.c:518,1
    - Dst: g_clear_fd
      Src: /src/glib/glib/tests/spawn-test.c:512,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/spawn-test.c:443,1
    - Dst: g_close
      Src: /src/glib/glib/tests/spawn-test.c:465,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/spawn-test.c:494,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/spawn-test.c:497,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-test.c:513,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/spawn-test.c:521,1
    - Dst: g_close
      Src: /src/glib/glib/tests/spawn-test.c:459,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-test.c:466,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/spawn-test.c:485,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/spawn-test.c:469,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/spawn-test.c:478,1
    - Dst: dup2
      Src: /src/glib/glib/tests/spawn-test.c:490,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/spawn-test.c:507,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/spawn-test.c:508,1
    - Dst: g_clear_fd
      Src: /src/glib/glib/tests/spawn-test.c:515,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-test.c:519,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/spawn-test.c:501,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-test.c:516,1
    - Dst: g_get_environ
      Src: /src/glib/glib/tests/spawn-test.c:423,1
    - Dst: dup
      Src: /src/glib/glib/tests/spawn-test.c:429,1
    - Dst: dup
      Src: /src/glib/glib/tests/spawn-test.c:428,1
    - Dst: dup
      Src: /src/glib/glib/tests/spawn-test.c:430,1
    - Dst: g_close
      Src: /src/glib/glib/tests/spawn-test.c:453,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-test.c:460,1
    - Dst: dup2
      Src: /src/glib/glib/tests/spawn-test.c:487,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-test.c:474,1
    - Dst: g_shell_parse_argv
      Src: /src/glib/glib/tests/spawn-test.c:473,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/spawn-test.c:491,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 82
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 522
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 522
    functionName: test_spawn_stdio_overwrite
    functionSourceFile: /src/glib/glib/tests/spawn-test.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_assert_true
    - dup
    - g_test_message
    - g_shell_parse_argv
    - g_test_bug
    - g_close
    - g_assert_cmpstr
    - g_assert_no_error
    - g_clear_pointer
    - g_clear_fd
    - g_spawn_sync
    - g_get_environ
    - dup2
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_spawn_stdio_overwrite (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/spawn-test.c:76,1
    - Dst: g_new
      Src: /src/glib/glib/tests/spawn-test.c:78,1
    - Dst: memcpy
      Src: /src/glib/glib/tests/spawn-test.c:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 83
    functionName: g_wcsndup
    functionSourceFile: /src/glib/glib/tests/spawn-test.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_assert_true
    - g_new
    linkageType: ''
    returnType: wchar_t*
    signature: 'static wchar_t *g_wcsndup (const wchar_t *wcs_string, size_t length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wcslen
      Src: /src/glib/glib/tests/spawn-test.c:65,1
    - Dst: g_memdup2
      Src: /src/glib/glib/tests/spawn-test.c:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: g_wcsdup
    functionSourceFile: /src/glib/glib/tests/spawn-test.c
    functionUses: []
    functionsReached:
    - g_memdup2
    - wcslen
    linkageType: ''
    returnType: wchar_t*
    signature: 'static wchar_t *g_wcsdup (const wchar_t *wcs_string) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetEnvironmentVariableW
      Src: /src/glib/glib/tests/spawn-test.c:182,1
    - Dst: GetLastError
      Src: /src/glib/glib/tests/spawn-test.c:184,1
    - Dst: g_error
      Src: /src/glib/glib/tests/spawn-test.c:185,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - list
    argTypes:
    - GList*
    constantsTouched: []
    func_position:
      end: 189
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 189
    functionName: remove_environment_variables
    functionSourceFile: /src/glib/glib/tests/spawn-test.c
    functionUses: []
    functionsReached:
    - GetLastError
    - g_error
    - SetEnvironmentVariableW
    linkageType: ''
    returnType: void
    signature: 'static void remove_environment_variables (GList *list) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_path_get_dirname
      Src: /src/glib/glib/tests/spawn-test.c:532,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/spawn-test.c:542,1
    - Dst: g_test_init
      Src: /src/glib/glib/tests/spawn-test.c:535,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/spawn-test.c:539,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/spawn-test.c:537,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-test.c:545,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 548
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 548
    functionName: main
    functionSourceFile: /src/glib/glib/tests/spawn-test.c
    functionUses: []
    functionsReached:
    - g_path_get_dirname
    - g_test_add_func
    - g_test_init
    - g_test_run
    - g_free
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetEnvironmentStringsW
      Src: /src/glib/glib/tests/spawn-test.c:145,1
    - Dst: wcslen
      Src: /src/glib/glib/tests/spawn-test.c:155,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/spawn-test.c:161,1
    - Dst: GetLastError
      Src: /src/glib/glib/tests/spawn-test.c:148,1
    - Dst: g_error
      Src: /src/glib/glib/tests/spawn-test.c:149,1
    - Dst: parse_environment_string
      Src: /src/glib/glib/tests/spawn-test.c:161,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/spawn-test.c:162,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/tests/spawn-test.c:164,1
    - Dst: FreeEnvironmentStringsW
      Src: /src/glib/glib/tests/spawn-test.c:170,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 173
    functionName: find_cmd_shell_environment_variables
    functionSourceFile: /src/glib/glib/tests/spawn-test.c
    functionUses: []
    functionsReached:
    - GetEnvironmentStringsW
    - g_assert_true
    - wcslen
    - FreeEnvironmentStringsW
    - g_assert_nonnull
    - GetLastError
    - g_list_prepend
    - g_error
    - parse_environment_string
    linkageType: ''
    returnType: GList*
    signature: 'static GList *find_cmd_shell_environment_variables (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strv_builder_new
      Src: /src/glib/glib/tests/strvbuilder.c:84,1
    - Dst: g_assert_cmpstrv
      Src: /src/glib/glib/tests/strvbuilder.c:88,1
    - Dst: g_strv_builder_end
      Src: /src/glib/glib/tests/strvbuilder.c:86,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strvbuilder.c:87,1
    - Dst: g_strv_builder_add_many
      Src: /src/glib/glib/tests/strvbuilder.c:85,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/strvbuilder.c:90,1
    - Dst: g_strv_builder_unref
      Src: /src/glib/glib/tests/strvbuilder.c:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 92
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 92
    functionName: test_strvbuilder_add_many
    functionSourceFile: /src/glib/glib/tests/strvbuilder.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_strv_builder_unref
    - g_strfreev
    - g_strv_builder_new
    - g_strv_builder_add_many
    - g_strv_builder_end
    - g_assert_cmpstrv
    linkageType: ''
    returnType: void
    signature: 'static void test_strvbuilder_add_many (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strv_builder_new
      Src: /src/glib/glib/tests/strvbuilder.c:48,1
    - Dst: g_strv_builder_end
      Src: /src/glib/glib/tests/strvbuilder.c:52,1
    - Dst: g_strv_builder_add
      Src: /src/glib/glib/tests/strvbuilder.c:50,1
    - Dst: g_strv_builder_add
      Src: /src/glib/glib/tests/strvbuilder.c:51,1
    - Dst: g_strv_builder_add
      Src: /src/glib/glib/tests/strvbuilder.c:49,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strvbuilder.c:53,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strvbuilder.c:54,1
    - Dst: g_strv_equal
      Src: /src/glib/glib/tests/strvbuilder.c:54,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/strvbuilder.c:56,1
    - Dst: g_strv_builder_unref
      Src: /src/glib/glib/tests/strvbuilder.c:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 58
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 58
    functionName: test_strvbuilder_add
    functionSourceFile: /src/glib/glib/tests/strvbuilder.c
    functionUses: []
    functionsReached:
    - g_strv_equal
    - g_assert_true
    - g_assert_nonnull
    - g_strv_builder_unref
    - g_strfreev
    - g_strv_builder_new
    - g_strv_builder_add
    - g_strv_builder_end
    linkageType: ''
    returnType: void
    signature: 'static void test_strvbuilder_add (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strv_builder_new
      Src: /src/glib/glib/tests/strvbuilder.c:118,1
    - Dst: g_strv_builder_unref
      Src: /src/glib/glib/tests/strvbuilder.c:121,1
    - Dst: g_strv_builder_ref
      Src: /src/glib/glib/tests/strvbuilder.c:119,1
    - Dst: g_strv_builder_unref
      Src: /src/glib/glib/tests/strvbuilder.c:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 122
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 122
    functionName: test_strvbuilder_ref
    functionSourceFile: /src/glib/glib/tests/strvbuilder.c
    functionUses: []
    functionsReached:
    - g_strv_builder_new
    - g_strv_builder_unref
    - g_strv_builder_ref
    linkageType: ''
    returnType: void
    signature: 'static void test_strvbuilder_ref (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strv_builder_new
      Src: /src/glib/glib/tests/strvbuilder.c:32,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/strvbuilder.c:35,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strvbuilder.c:34,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strvbuilder.c:35,1
    - Dst: g_strv_builder_end
      Src: /src/glib/glib/tests/strvbuilder.c:33,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/strvbuilder.c:37,1
    - Dst: g_strv_builder_unref
      Src: /src/glib/glib/tests/strvbuilder.c:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 39
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 39
    functionName: test_strvbuilder_empty
    functionSourceFile: /src/glib/glib/tests/strvbuilder.c
    functionUses: []
    functionsReached:
    - g_strv_length
    - g_assert_nonnull
    - g_strv_builder_unref
    - g_strfreev
    - g_strv_builder_new
    - g_strv_builder_end
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_strvbuilder_empty (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strv_builder_new
      Src: /src/glib/glib/tests/strvbuilder.c:67,1
    - Dst: g_assert_cmpstrv
      Src: /src/glib/glib/tests/strvbuilder.c:71,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strvbuilder.c:70,1
    - Dst: g_strv_builder_addv
      Src: /src/glib/glib/tests/strvbuilder.c:68,1
    - Dst: g_strv_builder_end
      Src: /src/glib/glib/tests/strvbuilder.c:69,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/strvbuilder.c:73,1
    - Dst: g_strv_builder_unref
      Src: /src/glib/glib/tests/strvbuilder.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 75
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 75
    functionName: test_strvbuilder_addv
    functionSourceFile: /src/glib/glib/tests/strvbuilder.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_strv_builder_unref
    - g_strfreev
    - g_strv_builder_new
    - g_strv_builder_addv
    - g_strv_builder_end
    - g_assert_cmpstrv
    linkageType: ''
    returnType: void
    signature: 'static void test_strvbuilder_addv (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strv_builder_new
      Src: /src/glib/glib/tests/strvbuilder.c:101,1
    - Dst: g_strv_builder_add
      Src: /src/glib/glib/tests/strvbuilder.c:103,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/strvbuilder.c:102,1
    - Dst: g_strv_builder_take
      Src: /src/glib/glib/tests/strvbuilder.c:104,1
    - Dst: g_strv_builder_take
      Src: /src/glib/glib/tests/strvbuilder.c:102,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/strvbuilder.c:104,1
    - Dst: g_strv_builder_end
      Src: /src/glib/glib/tests/strvbuilder.c:105,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strvbuilder.c:106,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strvbuilder.c:107,1
    - Dst: g_strv_equal
      Src: /src/glib/glib/tests/strvbuilder.c:107,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/strvbuilder.c:109,1
    - Dst: g_strv_builder_unref
      Src: /src/glib/glib/tests/strvbuilder.c:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 111
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 111
    functionName: test_strvbuilder_take
    functionSourceFile: /src/glib/glib/tests/strvbuilder.c
    functionUses: []
    functionsReached:
    - g_strv_equal
    - g_strdup
    - g_assert_true
    - g_assert_nonnull
    - g_strv_builder_unref
    - g_strv_builder_take
    - g_strfreev
    - g_strv_builder_new
    - g_strv_builder_add
    - g_strv_builder_end
    linkageType: ''
    returnType: void
    signature: 'static void test_strvbuilder_take (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strv_builder_new
      Src: /src/glib/glib/tests/strvbuilder.c:127,1
    - Dst: g_strv_builder_add_many
      Src: /src/glib/glib/tests/strvbuilder.c:130,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strvbuilder.c:133,1
    - Dst: g_strv_equal
      Src: /src/glib/glib/tests/strvbuilder.c:133,1
    - Dst: g_strv_builder_unref_to_strv
      Src: /src/glib/glib/tests/strvbuilder.c:131,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/strvbuilder.c:140,1
    - Dst: g_strv_builder_new
      Src: /src/glib/glib/tests/strvbuilder.c:142,1
    - Dst: g_strv_builder_unref_to_strv
      Src: /src/glib/glib/tests/strvbuilder.c:143,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strvbuilder.c:144,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/strvbuilder.c:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 146
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 146
    functionName: test_strvbuilder_unref_to_strv
    functionSourceFile: /src/glib/glib/tests/strvbuilder.c
    functionUses: []
    functionsReached:
    - g_strv_equal
    - g_assert_true
    - g_assert_null
    - g_strfreev
    - g_strv_builder_new
    - g_strv_builder_unref_to_strv
    - g_strv_builder_add_many
    linkageType: ''
    returnType: void
    signature: 'static void test_strvbuilder_unref_to_strv (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/strvbuilder.c:152,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strvbuilder.c:157,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strvbuilder.c:156,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strvbuilder.c:154,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strvbuilder.c:155,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strvbuilder.c:158,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strvbuilder.c:159,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strvbuilder.c:160,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/strvbuilder.c:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 163
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 163
    functionName: main
    functionSourceFile: /src/glib/glib/tests/strvbuilder.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_queue_new
      Src: /src/glib/glib/tests/queue.c:1241,1
    - Dst: new_item
      Src: /src/glib/glib/tests/queue.c:1242,1
    - Dst: new_item
      Src: /src/glib/glib/tests/queue.c:1243,1
    - Dst: g_queue_push_tail
      Src: /src/glib/glib/tests/queue.c:1242,1
    - Dst: g_queue_push_tail
      Src: /src/glib/glib/tests/queue.c:1243,1
    - Dst: g_queue_push_tail
      Src: /src/glib/glib/tests/queue.c:1244,1
    - Dst: new_item
      Src: /src/glib/glib/tests/queue.c:1244,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/queue.c:1245,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/queue.c:1246,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/queue.c:1247,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:1250,1
    - Dst: g_slice_free
      Src: /src/glib/glib/tests/queue.c:1254,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:1251,1
    - Dst: g_slice_free
      Src: /src/glib/glib/tests/queue.c:1252,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:1249,1
    - Dst: g_slice_free
      Src: /src/glib/glib/tests/queue.c:1253,1
    - Dst: g_queue_free_full
      Src: /src/glib/glib/tests/queue.c:1248,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1255
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1255
    functionName: test_free_full
    functionSourceFile: /src/glib/glib/tests/queue.c
    functionUses: []
    functionsReached:
    - new_item
    - g_assert_true
    - g_queue_push_tail
    - g_queue_new
    - g_queue_free_full
    - g_assert_false
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void test_free_full (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_queue_push_head_link
      Src: /src/glib/glib/tests/queue.c:1267,1
    - Dst: g_queue_insert_after_link
      Src: /src/glib/glib/tests/queue.c:1271,1
    - Dst: g_queue_insert_before_link
      Src: /src/glib/glib/tests/queue.c:1269,1
    - Dst: g_queue_insert_after_link
      Src: /src/glib/glib/tests/queue.c:1270,1
    - Dst: g_queue_insert_after_link
      Src: /src/glib/glib/tests/queue.c:1268,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:1273,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:1274,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/queue.c:1276,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:1277,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:1279,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:1282,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:1288,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:1280,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:1286,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:1285,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/queue.c:1289,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:1283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1290
      start: 1257
    functionDepth: 0
    functionLinenumber: 1257
    functionLinenumberEnd: 1290
    functionName: test_insert_sibling_link
    functionSourceFile: /src/glib/glib/tests/queue.c
    functionUses: []
    functionsReached:
    - g_queue_insert_before_link
    - g_assert_true
    - g_queue_push_head_link
    - g_assert_null
    - g_queue_insert_after_link
    linkageType: ''
    returnType: void
    signature: 'static void test_insert_sibling_link (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/queue.c:1297,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/queue.c:1302,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/queue.c:1300,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/queue.c:1299,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/queue.c:1301,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/queue.c:1303,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/queue.c:1304,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/queue.c:1305,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/queue.c:1306,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/queue.c:1307,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/queue.c:1313,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/queue.c:1312,1
    - Dst: g_free
      Src: /src/glib/glib/tests/queue.c:1314,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/queue.c:1308,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/queue.c:1309,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/queue.c:1316,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/glib/tests/queue.c:1311,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:1313,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1317
      start: 1292
    functionDepth: 0
    functionLinenumber: 1292
    functionLinenumberEnd: 1317
    functionName: main
    functionSourceFile: /src/glib/glib/tests/queue.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_strdup_printf
    - g_test_add_data_func
    - g_test_rand_int_range
    - GUINT_TO_POINTER
    - g_free
    - g_test_run
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_queue_foreach
      Src: /src/glib/glib/tests/queue.c:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - queue
    argTypes:
    - GQueue*
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: delete_all
    functionSourceFile: /src/glib/glib/tests/queue.c
    functionUses: []
    functionsReached:
    - g_queue_foreach
    linkageType: ''
    returnType: void
    signature: 'static void delete_all (GQueue *queue) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/queue.c:174,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/queue.c:201,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/queue.c:198,1
    - Dst: g_random_int
      Src: /src/glib/glib/tests/queue.c:181,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/queue.c:176,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 12
    argCount: 2
    argNames:
    - queue
    - allow_offlist
    argTypes:
    - GQueue*
    - gboolean
    constantsTouched: []
    func_position:
      end: 203
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 203
    functionName: get_random_position
    functionSourceFile: /src/glib/glib/tests/queue.c
    functionUses: []
    functionsReached:
    - g_random_int_range
    - g_random_int
    - g_assert_not_reached
    linkageType: ''
    returnType: guint
    signature: 'static guint get_random_position (GQueue *queue, gboolean allow_offlist) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_queue_sort
      Src: /src/glib/glib/tests/queue.c:918,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:919,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:923,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:927,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:929,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:930,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:937,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/tests/queue.c:942,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:946,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:957,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:914,1
    - Dst: g_queue_copy
      Src: /src/glib/glib/tests/queue.c:913,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:917,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:942,1
    - Dst: g_queue_push_nth_link
      Src: /src/glib/glib/tests/queue.c:944,1
    - Dst: g_queue_reverse
      Src: /src/glib/glib/tests/queue.c:947,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:949,1
    - Dst: g_queue_free
      Src: /src/glib/glib/tests/queue.c:952,1
    - Dst: g_queue_copy
      Src: /src/glib/glib/tests/queue.c:953,1
    - Dst: g_queue_foreach
      Src: /src/glib/glib/tests/queue.c:955,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:956,1
    - Dst: g_queue_free
      Src: /src/glib/glib/tests/queue.c:960,1
    - Dst: g_queue_new
      Src: /src/glib/glib/tests/queue.c:912,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:916,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:915,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/queue.c:917,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:920,1
    - Dst: g_queue_find
      Src: /src/glib/glib/tests/queue.c:928,1
    - Dst: g_queue_free
      Src: /src/glib/glib/tests/queue.c:959,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:948,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/queue.c:916,1
    - Dst: g_queue_sort
      Src: /src/glib/glib/tests/queue.c:921,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:928,1
    - Dst: g_queue_push_nth
      Src: /src/glib/glib/tests/queue.c:927,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/queue.c:928,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:922,1
    - Dst: g_queue_remove
      Src: /src/glib/glib/tests/queue.c:935,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:935,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:936,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:945,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 53
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 961
      start: 906
    functionDepth: 0
    functionLinenumber: 906
    functionLinenumberEnd: 961
    functionName: test_copy
    functionSourceFile: /src/glib/glib/tests/queue.c
    functionUses: []
    functionsReached:
    - g_queue_sort
    - check_integrity
    - g_queue_copy
    - g_list_length
    - g_assert_nonnull
    - g_queue_remove
    - g_list_prepend
    - g_queue_free
    - g_queue_new
    - g_queue_reverse
    - GINT_TO_POINTER
    - g_queue_foreach
    - g_queue_push_nth
    - g_queue_push_nth_link
    - g_queue_find
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_copy (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/glib/tests/queue.c:1073,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1068
    functionDepth: 0
    functionLinenumber: 1068
    functionLinenumberEnd: 1078
    functionName: new_item
    functionSourceFile: /src/glib/glib/tests/queue.c
    functionUses: []
    functionsReached:
    - g_slice_new
    linkageType: ''
    returnType: QueueItem*
    signature: 'static QueueItem *new_item (int x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:1197,1
    - Dst: g_queue_peek_nth
      Src: /src/glib/glib/tests/queue.c:1207,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/tests/queue.c:1204,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:1198,1
    - Dst: g_queue_clear
      Src: /src/glib/glib/tests/queue.c:1190,1
    - Dst: g_queue_get_length
      Src: /src/glib/glib/tests/queue.c:1160,1
    - Dst: g_queue_push_nth_link
      Src: /src/glib/glib/tests/queue.c:1166,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:1176,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:1185,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:1187,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:1208,1
    - Dst: g_queue_clear
      Src: /src/glib/glib/tests/queue.c:1200,1
    - Dst: g_queue_push_head
      Src: /src/glib/glib/tests/queue.c:1223,1
    - Dst: g_queue_peek_nth
      Src: /src/glib/glib/tests/queue.c:1177,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:1214,1
    - Dst: g_queue_peek_nth
      Src: /src/glib/glib/tests/queue.c:1217,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:1160,1
    - Dst: g_queue_get_length
      Src: /src/glib/glib/tests/queue.c:1168,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:1169,1
    - Dst: g_queue_peek_nth
      Src: /src/glib/glib/tests/queue.c:1169,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:1175,1
    - Dst: g_queue_peek_nth
      Src: /src/glib/glib/tests/queue.c:1198,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:1183,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/tests/queue.c:1184,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/tests/queue.c:1225,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:1227,1
    - Dst: g_queue_peek_nth
      Src: /src/glib/glib/tests/queue.c:1229,1
    - Dst: g_queue_push_head
      Src: /src/glib/glib/tests/queue.c:1193,1
    - Dst: g_queue_new
      Src: /src/glib/glib/tests/queue.c:1154,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:1158,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:1167,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:1177,1
    - Dst: g_queue_peek_nth
      Src: /src/glib/glib/tests/queue.c:1187,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:1194,1
    - Dst: g_queue_get_length
      Src: /src/glib/glib/tests/queue.c:1206,1
    - Dst: g_queue_peek_nth
      Src: /src/glib/glib/tests/queue.c:1188,1
    - Dst: g_queue_push_nth_link
      Src: /src/glib/glib/tests/queue.c:1214,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:1188,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:1204,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:1187,1
    - Dst: g_queue_push_head
      Src: /src/glib/glib/tests/queue.c:1203,1
    - Dst: g_queue_get_length
      Src: /src/glib/glib/tests/queue.c:1216,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:1218,1
    - Dst: g_queue_peek_nth
      Src: /src/glib/glib/tests/queue.c:1197,1
    - Dst: g_queue_peek_nth
      Src: /src/glib/glib/tests/queue.c:1208,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:1159,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/tests/queue.c:1158,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:1166,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/tests/queue.c:1194,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:1206,1
    - Dst: g_queue_peek_nth
      Src: /src/glib/glib/tests/queue.c:1230,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:1169,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:1186,1
    - Dst: g_queue_push_nth_link
      Src: /src/glib/glib/tests/queue.c:1204,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:1207,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:1177,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:1203,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:1208,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:1230,1
    - Dst: g_queue_push_nth_link
      Src: /src/glib/glib/tests/queue.c:1194,1
    - Dst: g_queue_clear
      Src: /src/glib/glib/tests/queue.c:1171,1
    - Dst: g_queue_get_length
      Src: /src/glib/glib/tests/queue.c:1186,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:1213,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:1228,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:1230,1
    - Dst: g_queue_get_length
      Src: /src/glib/glib/tests/queue.c:1196,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:1161,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:1184,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:1223,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:1225,1
    - Dst: g_queue_push_head
      Src: /src/glib/glib/tests/queue.c:1213,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:1174,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:1215,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:1216,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:1224,1
    - Dst: g_queue_get_length
      Src: /src/glib/glib/tests/queue.c:1227,1
    - Dst: g_queue_free
      Src: /src/glib/glib/tests/queue.c:1232,1
    - Dst: g_queue_peek_nth
      Src: /src/glib/glib/tests/queue.c:1161,1
    - Dst: g_queue_push_nth_link
      Src: /src/glib/glib/tests/queue.c:1174,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/tests/queue.c:1174,1
    - Dst: g_queue_get_length
      Src: /src/glib/glib/tests/queue.c:1176,1
    - Dst: g_queue_push_nth_link
      Src: /src/glib/glib/tests/queue.c:1184,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:1197,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:1188,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:1217,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:1226,1
    - Dst: g_queue_peek_nth
      Src: /src/glib/glib/tests/queue.c:1228,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:1168,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/tests/queue.c:1166,1
    - Dst: g_queue_clear
      Src: /src/glib/glib/tests/queue.c:1163,1
    - Dst: g_queue_clear
      Src: /src/glib/glib/tests/queue.c:1210,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:1193,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/tests/queue.c:1214,1
    - Dst: g_queue_peek_nth
      Src: /src/glib/glib/tests/queue.c:1218,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:1228,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:1205,1
    - Dst: g_queue_push_head
      Src: /src/glib/glib/tests/queue.c:1183,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:1217,1
    - Dst: g_queue_clear
      Src: /src/glib/glib/tests/queue.c:1220,1
    - Dst: g_queue_push_head
      Src: /src/glib/glib/tests/queue.c:1224,1
    - Dst: g_queue_push_nth_link
      Src: /src/glib/glib/tests/queue.c:1225,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:1196,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:1195,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:1207,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:1198,1
    - Dst: g_queue_push_nth_link
      Src: /src/glib/glib/tests/queue.c:1158,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:1161,1
    - Dst: g_queue_clear
      Src: /src/glib/glib/tests/queue.c:1179,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:1218,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:1229,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:1229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 113
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1233
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1233
    functionName: test_push_nth_link
    functionSourceFile: /src/glib/glib/tests/queue.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_queue_push_head
    - check_integrity
    - g_queue_free
    - g_queue_peek_nth
    - g_queue_new
    - g_queue_clear
    - GINT_TO_POINTER
    - g_queue_get_length
    - g_list_prepend
    - g_queue_push_nth_link
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_push_nth_link (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:157,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - data
    argTypes:
    - gconstpointer
    - gconstpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 166
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 166
    functionName: compare_int
    functionSourceFile: /src/glib/glib/tests/queue.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    linkageType: ''
    returnType: int
    signature: 'static int compare_int (gconstpointer a, gconstpointer b, gpointer
      data) '
  - BBCount: 88
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/queue.c:258,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/queue.c:335,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:350,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:486,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/queue.c:500,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:501,1
    - Dst: g_queue_peek_nth
      Src: /src/glib/glib/tests/queue.c:517,1
    - Dst: g_queue_insert_before
      Src: /src/glib/glib/tests/queue.c:544,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:553,1
    - Dst: g_queue_insert_sorted
      Src: /src/glib/glib/tests/queue.c:580,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/queue.c:677,1
    - Dst: g_queue_get_length
      Src: /src/glib/glib/tests/queue.c:652,1
    - Dst: g_queue_is_empty
      Src: /src/glib/glib/tests/queue.c:626,1
    - Dst: g_list_free
      Src: /src/glib/glib/tests/queue.c:660,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:396,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:362,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/queue.c:241,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/queue.c:331,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:439,1
    - Dst: g_queue_peek_head
      Src: /src/glib/glib/tests/queue.c:446,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/queue.c:452,1
    - Dst: g_queue_remove_all
      Src: /src/glib/glib/tests/queue.c:530,1
    - Dst: g_queue_insert_after
      Src: /src/glib/glib/tests/queue.c:557,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/tests/queue.c:600,1
    - Dst: g_list_free
      Src: /src/glib/glib/tests/queue.c:642,1
    - Dst: g_queue_is_empty
      Src: /src/glib/glib/tests/queue.c:664,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:721,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/queue.c:747,1
    - Dst: g_queue_unlink
      Src: /src/glib/glib/tests/queue.c:700,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:740,1
    - Dst: g_queue_remove_all
      Src: /src/glib/glib/tests/queue.c:525,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:580,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/queue.c:285,1
    - Dst: g_queue_find
      Src: /src/glib/glib/tests/queue.c:330,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:348,1
    - Dst: g_queue_push_head
      Src: /src/glib/glib/tests/queue.c:354,1
    - Dst: find_max
      Src: /src/glib/glib/tests/queue.c:346,1
    - Dst: g_queue_remove
      Src: /src/glib/glib/tests/queue.c:512,1
    - Dst: g_queue_is_empty
      Src: /src/glib/glib/tests/queue.c:529,1
    - Dst: g_queue_is_empty
      Src: /src/glib/glib/tests/queue.c:569,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:578,1
    - Dst: g_queue_pop_head_link
      Src: /src/glib/glib/tests/queue.c:632,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/queue.c:665,1
    - Dst: g_queue_peek_nth_link
      Src: /src/glib/glib/tests/queue.c:677,1
    - Dst: get_random_position
      Src: /src/glib/glib/tests/queue.c:680,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/queue.c:737,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:365,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/queue.c:372,1
    - Dst: g_test_thorough
      Src: /src/glib/glib/tests/queue.c:222,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/queue.c:274,1
    - Dst: RANDOM_QUEUE
      Src: /src/glib/glib/tests/queue.c:298,1
    - Dst: delete_all
      Src: /src/glib/glib/tests/queue.c:309,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/queue.c:459,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/queue.c:467,1
    - Dst: g_queue_insert_after
      Src: /src/glib/glib/tests/queue.c:556,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/tests/queue.c:590,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/queue.c:713,1
    - Dst: get_random_position
      Src: /src/glib/glib/tests/queue.c:650,1
    - Dst: g_queue_get_length
      Src: /src/glib/glib/tests/queue.c:713,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/queue.c:647,1
    - Dst: g_queue_peek_head_link
      Src: /src/glib/glib/tests/queue.c:667,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:256,1
    - Dst: g_queue_reverse
      Src: /src/glib/glib/tests/queue.c:289,1
    - Dst: g_queue_copy
      Src: /src/glib/glib/tests/queue.c:299,1
    - Dst: g_queue_remove_all
      Src: /src/glib/glib/tests/queue.c:348,1
    - Dst: g_queue_push_head
      Src: /src/glib/glib/tests/queue.c:352,1
    - Dst: g_queue_peek_nth
      Src: /src/glib/glib/tests/queue.c:475,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/queue.c:482,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:489,1
    - Dst: get_random_position
      Src: /src/glib/glib/tests/queue.c:517,1
    - Dst: g_queue_sort
      Src: /src/glib/glib/tests/queue.c:575,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:673,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:744,1
    - Dst: g_queue_insert_sorted
      Src: /src/glib/glib/tests/queue.c:577,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/queue.c:330,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:367,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/queue.c:446,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:491,1
    - Dst: g_queue_link_index
      Src: /src/glib/glib/tests/queue.c:502,1
    - Dst: g_queue_is_empty
      Src: /src/glib/glib/tests/queue.c:527,1
    - Dst: g_queue_insert_before
      Src: /src/glib/glib/tests/queue.c:542,1
    - Dst: g_queue_find
      Src: /src/glib/glib/tests/queue.c:543,1
    - Dst: g_queue_insert_after
      Src: /src/glib/glib/tests/queue.c:558,1
    - Dst: g_queue_push_tail_link
      Src: /src/glib/glib/tests/queue.c:601,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:610,1
    - Dst: g_queue_pop_nth_link
      Src: /src/glib/glib/tests/queue.c:660,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/queue.c:539,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:354,1
    - Dst: find_max
      Src: /src/glib/glib/tests/queue.c:317,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:336,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:257,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/queue.c:284,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:291,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:351,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:475,1
    - Dst: g_queue_push_tail
      Src: /src/glib/glib/tests/queue.c:488,1
    - Dst: g_queue_index
      Src: /src/glib/glib/tests/queue.c:501,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:590,1
    - Dst: g_list_last
      Src: /src/glib/glib/tests/queue.c:621,1
    - Dst: g_queue_is_empty
      Src: /src/glib/glib/tests/queue.c:524,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/queue.c:395,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:335,1
    - Dst: g_queue_push_nth
      Src: /src/glib/glib/tests/queue.c:396,1
    - Dst: g_queue_find
      Src: /src/glib/glib/tests/queue.c:364,1
    - Dst: g_queue_new
      Src: /src/glib/glib/tests/queue.c:243,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/queue.c:292,1
    - Dst: find_min
      Src: /src/glib/glib/tests/queue.c:318,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/queue.c:383,1
    - Dst: g_queue_peek_nth
      Src: /src/glib/glib/tests/queue.c:428,1
    - Dst: g_queue_pop_nth
      Src: /src/glib/glib/tests/queue.c:439,1
    - Dst: g_queue_pop_tail_link
      Src: /src/glib/glib/tests/queue.c:642,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/queue.c:693,1
    - Dst: g_queue_is_empty
      Src: /src/glib/glib/tests/queue.c:711,1
    - Dst: g_queue_is_empty
      Src: /src/glib/glib/tests/queue.c:691,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:582,1
    - Dst: g_list_free
      Src: /src/glib/glib/tests/queue.c:632,1
    - Dst: g_queue_peek_tail_link
      Src: /src/glib/glib/tests/queue.c:673,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/tests/queue.c:208,1
    - Dst: g_queue_is_empty
      Src: /src/glib/glib/tests/queue.c:344,1
    - Dst: g_queue_remove_all
      Src: /src/glib/glib/tests/queue.c:350,1
    - Dst: g_queue_pop_tail
      Src: /src/glib/glib/tests/queue.c:422,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:503,1
    - Dst: g_queue_is_empty
      Src: /src/glib/glib/tests/queue.c:514,1
    - Dst: g_queue_remove
      Src: /src/glib/glib/tests/queue.c:517,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/queue.c:553,1
    - Dst: g_queue_insert_after
      Src: /src/glib/glib/tests/queue.c:555,1
    - Dst: find_max
      Src: /src/glib/glib/tests/queue.c:566,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:667,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:331,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:358,1
    - Dst: g_queue_push_head
      Src: /src/glib/glib/tests/queue.c:373,1
    - Dst: get_random_position
      Src: /src/glib/glib/tests/queue.c:394,1
    - Dst: get_random_position
      Src: /src/glib/glib/tests/queue.c:427,1
    - Dst: g_queue_peek_tail
      Src: /src/glib/glib/tests/queue.c:450,1
    - Dst: g_queue_is_empty
      Src: /src/glib/glib/tests/queue.c:455,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:496,1
    - Dst: g_queue_is_empty
      Src: /src/glib/glib/tests/queue.c:537,1
    - Dst: g_queue_push_head_link
      Src: /src/glib/glib/tests/queue.c:591,1
    - Dst: g_queue_free
      Src: /src/glib/glib/tests/queue.c:748,1
    - Dst: g_queue_is_empty
      Src: /src/glib/glib/tests/queue.c:516,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:373,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/queue.c:272,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:290,1
    - Dst: rnd_bool
      Src: /src/glib/glib/tests/queue.c:316,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:349,1
    - Dst: find_min
      Src: /src/glib/glib/tests/queue.c:347,1
    - Dst: g_queue_remove
      Src: /src/glib/glib/tests/queue.c:515,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:576,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:579,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:581,1
    - Dst: g_queue_remove_all
      Src: /src/glib/glib/tests/queue.c:486,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/tests/queue.c:610,1
    - Dst: g_queue_is_empty
      Src: /src/glib/glib/tests/queue.c:676,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/queue.c:741,1
    - Dst: find_min
      Src: /src/glib/glib/tests/queue.c:364,1
    - Dst: RANDOM_QUEUE
      Src: /src/glib/glib/tests/queue.c:252,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/queue.c:273,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:450,1
    - Dst: g_queue_is_empty
      Src: /src/glib/glib/tests/queue.c:511,1
    - Dst: g_queue_peek_nth
      Src: /src/glib/glib/tests/queue.c:530,1
    - Dst: g_queue_insert_before
      Src: /src/glib/glib/tests/queue.c:541,1
    - Dst: g_queue_insert_before
      Src: /src/glib/glib/tests/queue.c:543,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:600,1
    - Dst: get_random_position
      Src: /src/glib/glib/tests/queue.c:611,1
    - Dst: g_queue_get_length
      Src: /src/glib/glib/tests/queue.c:693,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:687,1
    - Dst: g_queue_remove_all
      Src: /src/glib/glib/tests/queue.c:528,1
    - Dst: g_queue_peek_tail_link
      Src: /src/glib/glib/tests/queue.c:671,1
    - Dst: g_queue_is_empty
      Src: /src/glib/glib/tests/queue.c:264,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/queue.c:268,1
    - Dst: g_queue_free
      Src: /src/glib/glib/tests/queue.c:301,1
    - Dst: g_queue_find
      Src: /src/glib/glib/tests/queue.c:335,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:352,1
    - Dst: g_queue_pop_head
      Src: /src/glib/glib/tests/queue.c:414,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:487,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:488,1
    - Dst: g_queue_link_index
      Src: /src/glib/glib/tests/queue.c:503,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:539,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:582,1
    - Dst: g_queue_peek_nth_link
      Src: /src/glib/glib/tests/queue.c:687,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/queue.c:743,1
    - Dst: find_min
      Src: /src/glib/glib/tests/queue.c:567,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:330,1
    - Dst: g_queue_find
      Src: /src/glib/glib/tests/queue.c:336,1
    - Dst: g_queue_find
      Src: /src/glib/glib/tests/queue.c:365,1
    - Dst: g_queue_push_tail
      Src: /src/glib/glib/tests/queue.c:384,1
    - Dst: g_queue_is_empty
      Src: /src/glib/glib/tests/queue.c:425,1
    - Dst: g_queue_peek_head
      Src: /src/glib/glib/tests/queue.c:444,1
    - Dst: g_queue_peek_tail
      Src: /src/glib/glib/tests/queue.c:452,1
    - Dst: get_random_position
      Src: /src/glib/glib/tests/queue.c:464,1
    - Dst: g_queue_find
      Src: /src/glib/glib/tests/queue.c:557,1
    - Dst: g_queue_push_nth_link
      Src: /src/glib/glib/tests/queue.c:612,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:501,1
    - Dst: g_list_last
      Src: /src/glib/glib/tests/queue.c:304,1
    - Dst: g_random_set_seed
      Src: /src/glib/glib/tests/queue.c:239,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/queue.c:254,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/queue.c:266,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/queue.c:267,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:384,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/queue.c:336,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:364,1
    - Dst: g_queue_find
      Src: /src/glib/glib/tests/queue.c:331,1
    - Dst: g_queue_peek_nth
      Src: /src/glib/glib/tests/queue.c:467,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/queue.c:730,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/queue.c:671,1
    - Dst: g_queue_peek_head_link
      Src: /src/glib/glib/tests/queue.c:665,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:739,1
    - Dst: g_queue_is_empty
      Src: /src/glib/glib/tests/queue.c:670,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:577,1
    - Dst: g_queue_sort
      Src: /src/glib/glib/tests/queue.c:360,1
    - Dst: find_max
      Src: /src/glib/glib/tests/queue.c:365,1
    - Dst: g_queue_get_length
      Src: /src/glib/glib/tests/queue.c:282,1
    - Dst: g_list_last
      Src: /src/glib/glib/tests/queue.c:404,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:444,1
    - Dst: g_queue_peek_nth
      Src: /src/glib/glib/tests/queue.c:459,1
    - Dst: g_queue_sort
      Src: /src/glib/glib/tests/queue.c:490,1
    - Dst: get_random_position
      Src: /src/glib/glib/tests/queue.c:530,1
    - Dst: g_queue_is_empty
      Src: /src/glib/glib/tests/queue.c:551,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:579,1
    - Dst: g_queue_is_empty
      Src: /src/glib/glib/tests/queue.c:646,1
    - Dst: g_queue_pop_nth_link
      Src: /src/glib/glib/tests/queue.c:647,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:701,1
    - Dst: g_list_free
      Src: /src/glib/glib/tests/queue.c:703,1
    - Dst: g_queue_is_empty
      Src: /src/glib/glib/tests/queue.c:636,1
    - Dst: g_queue_delete_link
      Src: /src/glib/glib/tests/queue.c:720,1
    CyclomaticComplexity: 122
    EdgeCount: 122
    ICount: 434
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 749
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 749
    functionName: random_test
    functionSourceFile: /src/glib/glib/tests/queue.c
    functionUses: []
    functionsReached:
    - g_queue_insert_before
    - g_queue_pop_head
    - g_printerr
    - RANDOM_QUEUE
    - g_assert_null
    - GPOINTER_TO_UINT
    - g_queue_push_tail
    - get_random_position
    - g_list_last
    - g_queue_pop_head_link
    - rnd_bool
    - g_queue_get_length
    - g_queue_push_nth
    - g_list_prepend
    - g_queue_pop_nth
    - find_max
    - g_queue_push_nth_link
    - g_queue_index
    - g_queue_remove_all
    - g_queue_pop_nth_link
    - g_assert_true
    - g_queue_push_head_link
    - G_N_ELEMENTS
    - g_queue_link_index
    - g_assert_nonnull
    - g_list_free
    - g_queue_peek_tail_link
    - g_queue_push_tail_link
    - g_queue_delete_link
    - g_queue_unlink
    - g_random_set_seed
    - find_min
    - g_assert_cmpint
    - g_queue_sort
    - GPOINTER_TO_INT
    - g_queue_peek_tail
    - g_queue_peek_head_link
    - g_test_thorough
    - g_queue_push_head
    - check_integrity
    - g_queue_copy
    - g_queue_free
    - delete_all
    - g_assert_cmpuint
    - g_queue_peek_nth
    - g_queue_remove
    - g_assert_not_reached
    - g_queue_insert_sorted
    - g_queue_pop_tail_link
    - GINT_TO_POINTER
    - g_random_int_range
    - g_queue_find
    - g_queue_pop_tail
    - g_queue_peek_nth_link
    - g_queue_new
    - g_queue_is_empty
    - g_queue_reverse
    - g_queue_insert_after
    - g_queue_peek_head
    linkageType: ''
    returnType: void
    signature: 'static void random_test (gconstpointer d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_queue_peek_tail_link
      Src: /src/glib/glib/tests/queue.c:973,1
    - Dst: g_queue_get_length
      Src: /src/glib/glib/tests/queue.c:977,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/queue.c:978,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:981,1
    - Dst: g_queue_peek_nth_link
      Src: /src/glib/glib/tests/queue.c:980,1
    - Dst: g_queue_get_length
      Src: /src/glib/glib/tests/queue.c:986,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:988,1
    - Dst: g_queue_free
      Src: /src/glib/glib/tests/queue.c:992,1
    - Dst: g_queue_push_tail
      Src: /src/glib/glib/tests/queue.c:971,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/queue.c:974,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:975,1
    - Dst: g_queue_get_length
      Src: /src/glib/glib/tests/queue.c:980,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:988,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/queue.c:984,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:981,1
    - Dst: g_list_free_1
      Src: /src/glib/glib/tests/queue.c:990,1
    - Dst: g_queue_new
      Src: /src/glib/glib/tests/queue.c:969,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:971,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:972,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:975,1
    - Dst: g_queue_peek_nth_link
      Src: /src/glib/glib/tests/queue.c:977,1
    - Dst: g_queue_pop_nth_link
      Src: /src/glib/glib/tests/queue.c:983,1
    - Dst: g_queue_get_length
      Src: /src/glib/glib/tests/queue.c:983,1
    - Dst: g_queue_pop_nth_link
      Src: /src/glib/glib/tests/queue.c:986,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/queue.c:987,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 993
      start: 963
    functionDepth: 0
    functionLinenumber: 963
    functionLinenumberEnd: 993
    functionName: test_off_by_one
    functionSourceFile: /src/glib/glib/tests/queue.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_queue_pop_nth_link
    - g_queue_peek_nth_link
    - check_integrity
    - g_assert_null
    - g_queue_free
    - g_assert_nonnull
    - g_queue_push_tail
    - g_queue_new
    - g_queue_peek_tail_link
    - GINT_TO_POINTER
    - g_queue_get_length
    - g_list_free_1
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_off_by_one (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_queue_new
      Src: /src/glib/glib/tests/queue.c:1086,1
    - Dst: g_queue_push_tail
      Src: /src/glib/glib/tests/queue.c:1087,1
    - Dst: g_queue_push_tail
      Src: /src/glib/glib/tests/queue.c:1088,1
    - Dst: g_queue_push_tail
      Src: /src/glib/glib/tests/queue.c:1090,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/queue.c:1096,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:1100,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:1101,1
    - Dst: g_slice_free
      Src: /src/glib/glib/tests/queue.c:1109,1
    - Dst: g_queue_free
      Src: /src/glib/glib/tests/queue.c:1112,1
    - Dst: new_item
      Src: /src/glib/glib/tests/queue.c:1089,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:1092,1
    - Dst: g_slice_free
      Src: /src/glib/glib/tests/queue.c:1108,1
    - Dst: g_queue_push_tail
      Src: /src/glib/glib/tests/queue.c:1089,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/queue.c:1093,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/queue.c:1094,1
    - Dst: g_queue_clear_full
      Src: /src/glib/glib/tests/queue.c:1098,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:1103,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:1105,1
    - Dst: g_queue_is_empty
      Src: /src/glib/glib/tests/queue.c:1105,1
    - Dst: g_slice_free
      Src: /src/glib/glib/tests/queue.c:1110,1
    - Dst: new_item
      Src: /src/glib/glib/tests/queue.c:1088,1
    - Dst: new_item
      Src: /src/glib/glib/tests/queue.c:1087,1
    - Dst: new_item
      Src: /src/glib/glib/tests/queue.c:1090,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:1102,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/queue.c:1095,1
    - Dst: g_queue_get_length
      Src: /src/glib/glib/tests/queue.c:1092,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:1106,1
    - Dst: g_slice_free
      Src: /src/glib/glib/tests/queue.c:1111,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1113
      start: 1080
    functionDepth: 0
    functionLinenumber: 1080
    functionLinenumberEnd: 1113
    functionName: test_clear_full
    functionSourceFile: /src/glib/glib/tests/queue.c
    functionUses: []
    functionsReached:
    - new_item
    - g_assert_true
    - g_queue_clear_full
    - check_integrity
    - g_queue_free
    - g_queue_push_tail
    - g_queue_new
    - g_queue_is_empty
    - g_queue_get_length
    - g_assert_false
    - g_slice_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_clear_full (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_queue_new
      Src: /src/glib/glib/tests/queue.c:1123,1
    - Dst: g_queue_push_tail
      Src: /src/glib/glib/tests/queue.c:1127,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/queue.c:1133,1
    - Dst: g_queue_free
      Src: /src/glib/glib/tests/queue.c:1144,1
    - Dst: new_item
      Src: /src/glib/glib/tests/queue.c:1124,1
    - Dst: new_item
      Src: /src/glib/glib/tests/queue.c:1125,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/queue.c:1130,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:1137,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:1138,1
    - Dst: g_queue_clear_full
      Src: /src/glib/glib/tests/queue.c:1135,1
    - Dst: g_slice_free
      Src: /src/glib/glib/tests/queue.c:1141,1
    - Dst: g_queue_push_tail
      Src: /src/glib/glib/tests/queue.c:1125,1
    - Dst: g_queue_push_tail
      Src: /src/glib/glib/tests/queue.c:1124,1
    - Dst: g_queue_push_tail
      Src: /src/glib/glib/tests/queue.c:1126,1
    - Dst: g_queue_is_empty
      Src: /src/glib/glib/tests/queue.c:1137,1
    - Dst: g_slice_free
      Src: /src/glib/glib/tests/queue.c:1140,1
    - Dst: g_slice_free
      Src: /src/glib/glib/tests/queue.c:1142,1
    - Dst: new_item
      Src: /src/glib/glib/tests/queue.c:1126,1
    - Dst: new_item
      Src: /src/glib/glib/tests/queue.c:1127,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:1129,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/queue.c:1131,1
    - Dst: g_queue_get_length
      Src: /src/glib/glib/tests/queue.c:1129,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/queue.c:1132,1
    - Dst: g_slice_free
      Src: /src/glib/glib/tests/queue.c:1143,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1145
      start: 1117
    functionDepth: 0
    functionLinenumber: 1117
    functionLinenumberEnd: 1145
    functionName: test_clear_full_noop
    functionSourceFile: /src/glib/glib/tests/queue.c
    functionUses: []
    functionsReached:
    - new_item
    - g_assert_true
    - g_queue_clear_full
    - check_integrity
    - g_queue_free
    - g_queue_push_tail
    - g_queue_new
    - g_queue_is_empty
    - g_queue_get_length
    - g_assert_false
    - g_slice_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_clear_full_noop (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_queue_remove
      Src: /src/glib/glib/tests/queue.c:756,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - data
    - q
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 757
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 757
    functionName: remove_item
    functionSourceFile: /src/glib/glib/tests/queue.c
    functionUses: []
    functionsReached:
    - g_queue_remove
    linkageType: ''
    returnType: void
    signature: 'static void remove_item (gpointer data, gpointer q) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:998,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:998,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 999
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 999
    functionName: find_custom
    functionSourceFile: /src/glib/glib/tests/queue.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    linkageType: ''
    returnType: gint
    signature: 'static gint find_custom (gconstpointer a, gconstpointer b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_queue_init
      Src: /src/glib/glib/tests/queue.c:1027,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:1032,1
    - Dst: g_queue_is_empty
      Src: /src/glib/glib/tests/queue.c:1030,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:1030,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:1029,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:1033,1
    - Dst: g_queue_is_empty
      Src: /src/glib/glib/tests/queue.c:1033,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1034
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1034
    functionName: test_static
    functionSourceFile: /src/glib/glib/tests/queue.c
    functionUses: []
    functionsReached:
    - check_integrity
    - g_queue_is_empty
    - g_assert_true
    - g_queue_init
    linkageType: ''
    returnType: void
    signature: 'static void test_static (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_queue_push_head
      Src: /src/glib/glib/tests/queue.c:769,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:780,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:785,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:811,1
    - Dst: g_queue_push_tail
      Src: /src/glib/glib/tests/queue.c:793,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:806,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:805,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:791,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:812,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:814,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/queue.c:827,1
    - Dst: g_queue_reverse
      Src: /src/glib/glib/tests/queue.c:900,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:861,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:901,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:807,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:777,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:797,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:802,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/queue.c:842,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:847,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:859,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:871,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:872,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:876,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:881,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:795,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:771,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:790,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:803,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:815,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:821,1
    - Dst: g_queue_pop_head
      Src: /src/glib/glib/tests/queue.c:821,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:836,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:839,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:848,1
    - Dst: g_queue_pop_tail
      Src: /src/glib/glib/tests/queue.c:825,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:808,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:784,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/queue.c:787,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:794,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:818,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:821,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:822,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:826,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/queue.c:843,1
    - Dst: g_queue_push_head
      Src: /src/glib/glib/tests/queue.c:852,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/queue.c:837,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:870,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:872,1
    - Dst: g_queue_is_empty
      Src: /src/glib/glib/tests/queue.c:849,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/queue.c:886,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:873,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:887,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:769,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:776,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:779,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:800,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/queue.c:800,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:809,1
    - Dst: g_queue_peek_tail
      Src: /src/glib/glib/tests/queue.c:797,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:792,1
    - Dst: g_queue_peek_head
      Src: /src/glib/glib/tests/queue.c:820,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/queue.c:823,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:866,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:879,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:888,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:842,1
    - Dst: g_queue_is_empty
      Src: /src/glib/glib/tests/queue.c:773,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:783,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:783,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:787,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/queue.c:804,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:819,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:827,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:845,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/queue.c:848,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:854,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:898,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:885,1
    - Dst: g_queue_pop_tail
      Src: /src/glib/glib/tests/queue.c:835,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:884,1
    - Dst: g_queue_pop_head
      Src: /src/glib/glib/tests/queue.c:891,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:798,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:812,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:819,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:824,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:830,1
    - Dst: g_list_free_1
      Src: /src/glib/glib/tests/queue.c:831,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:835,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:857,1
    - Dst: g_queue_push_head
      Src: /src/glib/glib/tests/queue.c:860,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/queue.c:854,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:874,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:889,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:895,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:888,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:806,1
    - Dst: g_queue_new
      Src: /src/glib/glib/tests/queue.c:766,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:771,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/queue.c:773,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:782,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:797,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:814,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:823,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:856,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/queue.c:858,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/queue.c:891,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/queue.c:895,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:902,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:858,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:894,1
    - Dst: g_queue_push_tail
      Src: /src/glib/glib/tests/queue.c:786,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:813,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:796,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:805,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:809,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:815,1
    - Dst: g_queue_peek_tail
      Src: /src/glib/glib/tests/queue.c:819,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:850,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:852,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:853,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:886,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:897,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/queue.c:883,1
    - Dst: g_queue_push_tail
      Src: /src/glib/glib/tests/queue.c:798,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:799,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:770,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:781,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:788,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:808,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:816,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/queue.c:817,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:825,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:830,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:863,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/queue.c:898,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:860,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/queue.c:862,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:792,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:813,1
    - Dst: g_queue_peek_head
      Src: /src/glib/glib/tests/queue.c:771,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/queue.c:775,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:788,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:789,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/queue.c:801,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/queue.c:834,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:835,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:841,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/queue.c:890,1
    - Dst: g_queue_pop_tail_link
      Src: /src/glib/glib/tests/queue.c:896,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:839,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/queue.c:902,1
    - Dst: g_queue_is_empty
      Src: /src/glib/glib/tests/queue.c:801,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:778,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:793,1
    - Dst: g_queue_pop_head_link
      Src: /src/glib/glib/tests/queue.c:838,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/queue.c:845,1
    - Dst: g_queue_pop_head
      Src: /src/glib/glib/tests/queue.c:846,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/queue.c:870,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:882,1
    - Dst: g_queue_push_head
      Src: /src/glib/glib/tests/queue.c:864,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:877,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:892,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:772,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:775,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:789,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:796,1
    - Dst: g_queue_pop_head_link
      Src: /src/glib/glib/tests/queue.c:829,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:844,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:869,1
    - Dst: g_list_free_1
      Src: /src/glib/glib/tests/queue.c:878,1
    - Dst: g_queue_pop_tail
      Src: /src/glib/glib/tests/queue.c:884,1
    - Dst: g_queue_pop_head_link
      Src: /src/glib/glib/tests/queue.c:893,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/queue.c:879,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:868,1
    - Dst: g_queue_is_empty
      Src: /src/glib/glib/tests/queue.c:768,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:784,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:816,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:825,1
    - Dst: g_list_free_1
      Src: /src/glib/glib/tests/queue.c:840,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:849,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:867,1
    - Dst: g_queue_pop_head
      Src: /src/glib/glib/tests/queue.c:872,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/queue.c:874,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:883,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:884,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:837,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/queue.c:846,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:864,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:768,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:774,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/queue.c:781,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:786,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/queue.c:810,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:820,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:855,1
    - Dst: g_queue_push_head
      Src: /src/glib/glib/tests/queue.c:856,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:862,1
    - Dst: g_queue_push_head
      Src: /src/glib/glib/tests/queue.c:868,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:890,1
    - Dst: g_queue_free
      Src: /src/glib/glib/tests/queue.c:903,1
    - Dst: g_queue_pop_tail_link
      Src: /src/glib/glib/tests/queue.c:876,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/queue.c:896,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:807,1
    - Dst: g_queue_push_head
      Src: /src/glib/glib/tests/queue.c:777,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/queue.c:795,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:820,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:833,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:834,1
    - Dst: g_queue_pop_tail
      Src: /src/glib/glib/tests/queue.c:843,1
    - Dst: g_queue_pop_tail
      Src: /src/glib/glib/tests/queue.c:888,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/queue.c:866,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/queue.c:893,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:865,1
    - Dst: g_queue_pop_head
      Src: /src/glib/glib/tests/queue.c:881,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 231
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 904
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 904
    functionName: test_basic
    functionSourceFile: /src/glib/glib/tests/queue.c
    functionUses: []
    functionsReached:
    - g_queue_pop_head
    - g_assert_null
    - g_list_length
    - g_queue_push_tail
    - g_queue_pop_head_link
    - g_assert_true
    - g_assert_false
    - g_assert_cmpint
    - GPOINTER_TO_INT
    - g_queue_peek_tail
    - g_queue_push_head
    - check_integrity
    - g_queue_free
    - g_queue_pop_tail_link
    - GINT_TO_POINTER
    - g_queue_pop_tail
    - g_list_free_1
    - g_queue_is_empty
    - g_queue_new
    - g_queue_reverse
    - g_queue_peek_head
    linkageType: ''
    returnType: void
    signature: 'static void test_basic (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_queue_new
      Src: /src/glib/glib/tests/queue.c:1006,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:1008,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:1009,1
    - Dst: g_queue_push_tail
      Src: /src/glib/glib/tests/queue.c:1009,1
    - Dst: g_queue_push_tail
      Src: /src/glib/glib/tests/queue.c:1008,1
    - Dst: g_queue_push_tail
      Src: /src/glib/glib/tests/queue.c:1010,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:1010,1
    - Dst: g_queue_find_custom
      Src: /src/glib/glib/tests/queue.c:1011,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:1011,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/queue.c:1012,1
    - Dst: g_queue_find_custom
      Src: /src/glib/glib/tests/queue.c:1013,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/queue.c:1016,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:1013,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/queue.c:1014,1
    - Dst: g_queue_free
      Src: /src/glib/glib/tests/queue.c:1018,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:1015,1
    - Dst: g_queue_find_custom
      Src: /src/glib/glib/tests/queue.c:1015,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1019
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1019
    functionName: test_find_custom
    functionSourceFile: /src/glib/glib/tests/queue.c
    functionUses: []
    functionsReached:
    - g_assert_null
    - g_queue_free
    - g_assert_nonnull
    - g_queue_push_tail
    - g_queue_new
    - GINT_TO_POINTER
    - g_queue_find_custom
    linkageType: ''
    returnType: void
    signature: 'static void test_find_custom (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_queue_new
      Src: /src/glib/glib/tests/queue.c:1040,1
    - Dst: g_queue_push_tail
      Src: /src/glib/glib/tests/queue.c:1043,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:1043,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:1042,1
    - Dst: g_queue_push_tail
      Src: /src/glib/glib/tests/queue.c:1042,1
    - Dst: g_queue_push_tail
      Src: /src/glib/glib/tests/queue.c:1044,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/queue.c:1044,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/queue.c:1045,1
    - Dst: g_queue_get_length
      Src: /src/glib/glib/tests/queue.c:1045,1
    - Dst: g_queue_clear
      Src: /src/glib/glib/tests/queue.c:1047,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:1048,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:1049,1
    - Dst: g_queue_free
      Src: /src/glib/glib/tests/queue.c:1051,1
    - Dst: g_queue_is_empty
      Src: /src/glib/glib/tests/queue.c:1049,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1052
      start: 1036
    functionDepth: 0
    functionLinenumber: 1036
    functionLinenumberEnd: 1052
    functionName: test_clear
    functionSourceFile: /src/glib/glib/tests/queue.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - check_integrity
    - g_queue_free
    - g_queue_push_tail
    - g_queue_new
    - g_queue_is_empty
    - g_queue_clear
    - g_queue_get_length
    - GINT_TO_POINTER
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_clear (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1066
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1066
    functionName: free_func
    functionSourceFile: /src/glib/glib/tests/queue.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void free_func (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/queue.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: rnd_bool
    functionSourceFile: /src/glib/glib/tests/queue.c
    functionUses: []
    functionsReached:
    - g_random_int_range
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean rnd_bool (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - elm
    - user_data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 119
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 119
    functionName: check_min
    functionSourceFile: /src/glib/glib/tests/queue.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    linkageType: ''
    returnType: void
    signature: 'static void check_min (gpointer elm, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_queue_foreach
      Src: /src/glib/glib/tests/queue.c:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - queue
    argTypes:
    - GQueue*
    constantsTouched: []
    func_position:
      end: 139
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 139
    functionName: find_max
    functionSourceFile: /src/glib/glib/tests/queue.c
    functionUses: []
    functionsReached:
    - g_queue_foreach
    linkageType: ''
    returnType: gint
    signature: 'static gint find_max (GQueue *queue) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/queue.c:39,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/queue.c:41,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/queue.c:46,1
    - Dst: g_queue_get_length
      Src: /src/glib/glib/tests/queue.c:41,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/queue.c:44,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/queue.c:56,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:57,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/queue.c:67,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:68,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/tests/queue.c:72,1
    - Dst: g_list_free
      Src: /src/glib/glib/tests/queue.c:92,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:77,1
    - Dst: g_list_free
      Src: /src/glib/glib/tests/queue.c:80,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/tests/queue.c:84,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/queue.c:89,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 60
    argCount: 1
    argNames:
    - queue
    argTypes:
    - GQueue*
    constantsTouched: []
    func_position:
      end: 93
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 93
    functionName: check_integrity
    functionSourceFile: /src/glib/glib/tests/queue.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_assert_null
    - g_assert_cmpuint
    - g_list_free
    - g_queue_get_length
    - g_list_prepend
    linkageType: ''
    returnType: void
    signature: 'static void check_integrity (GQueue *queue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_queue_foreach
      Src: /src/glib/glib/tests/queue.c:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - queue
    argTypes:
    - GQueue*
    constantsTouched: []
    func_position:
      end: 129
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 129
    functionName: find_min
    functionSourceFile: /src/glib/glib/tests/queue.c
    functionUses: []
    functionsReached:
    - g_queue_foreach
    linkageType: ''
    returnType: gint
    signature: 'static gint find_min (GQueue *queue) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/queue.c:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - elm
    - user_data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 109
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 109
    functionName: check_max
    functionSourceFile: /src/glib/glib/tests/queue.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    linkageType: ''
    returnType: void
    signature: 'static void check_max (gpointer elm, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_queue_remove
      Src: /src/glib/glib/tests/queue.c:144,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/queue.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - elm
    - user_data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: delete_elm
    functionSourceFile: /src/glib/glib/tests/queue.c
    functionUses: []
    functionsReached:
    - check_integrity
    - g_queue_remove
    linkageType: ''
    returnType: void
    signature: 'static void delete_elm (gpointer elm, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/glib/glib/tests/mem-overflow.c:93,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/mem-overflow.c:96,1
    - Dst: g_realloc
      Src: /src/glib/glib/tests/mem-overflow.c:95,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/mem-overflow.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: mem_overflow_realloc_0
    functionSourceFile: /src/glib/glib/tests/mem-overflow.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_realloc
    - g_malloc
    linkageType: ''
    returnType: void
    signature: 'static void mem_overflow_realloc_0 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/glib/glib/tests/mem-overflow.c:84,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/mem-overflow.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: mem_overflow_malloc_0
    functionSourceFile: /src/glib/glib/tests/mem-overflow.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_malloc
    linkageType: ''
    returnType: void
    signature: 'static void mem_overflow_malloc_0 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/mem-overflow.c:210,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/mem-overflow.c:214,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mem-overflow.c:212,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/mem-overflow.c:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 217
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 217
    functionName: empty_alloc
    functionSourceFile: /src/glib/glib/tests/mem-overflow.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_passed
    - g_test_trap_subprocess
    - g_test_bug
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void empty_alloc (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/glib/tests/mem-overflow.c:202,1
    - Dst: exit
      Src: /src/glib/glib/tests/mem-overflow.c:204,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/mem-overflow.c:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 205
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 205
    functionName: empty_alloc_subprocess
    functionSourceFile: /src/glib/glib/tests/mem-overflow.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_new0
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void empty_alloc_subprocess (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PASS
      Src: /src/glib/glib/tests/mem-overflow.c:108,1
    - Dst: g_try_malloc_n
      Src: /src/glib/glib/tests/mem-overflow.c:108,1
    - Dst: CHECK_PASS
      Src: /src/glib/glib/tests/mem-overflow.c:109,1
    - Dst: g_try_malloc_n
      Src: /src/glib/glib/tests/mem-overflow.c:110,1
    - Dst: g_try_malloc_n
      Src: /src/glib/glib/tests/mem-overflow.c:111,1
    - Dst: CHECK_PASS
      Src: /src/glib/glib/tests/mem-overflow.c:114,1
    - Dst: g_try_malloc0_n
      Src: /src/glib/glib/tests/mem-overflow.c:116,1
    - Dst: CHECK_PASS
      Src: /src/glib/glib/tests/mem-overflow.c:115,1
    - Dst: CHECK_PASS
      Src: /src/glib/glib/tests/mem-overflow.c:127,1
    - Dst: g_try_new
      Src: /src/glib/glib/tests/mem-overflow.c:127,1
    - Dst: CHECK_SUBPROCESS_PASS
      Src: /src/glib/glib/tests/mem-overflow.c:182,1
    - Dst: CHECK_SUBPROCESS_FAIL
      Src: /src/glib/glib/tests/mem-overflow.c:173,1
    - Dst: CHECK_SUBPROCESS_PASS
      Src: /src/glib/glib/tests/mem-overflow.c:180,1
    - Dst: CHECK_FAIL
      Src: /src/glib/glib/tests/mem-overflow.c:128,1
    - Dst: CHECK_PASS
      Src: /src/glib/glib/tests/mem-overflow.c:136,1
    - Dst: CHECK_SUBPROCESS_FAIL
      Src: /src/glib/glib/tests/mem-overflow.c:179,1
    - Dst: g_try_malloc_n
      Src: /src/glib/glib/tests/mem-overflow.c:109,1
    - Dst: g_try_malloc0_n
      Src: /src/glib/glib/tests/mem-overflow.c:114,1
    - Dst: CHECK_FAIL
      Src: /src/glib/glib/tests/mem-overflow.c:117,1
    - Dst: g_free
      Src: /src/glib/glib/tests/mem-overflow.c:118,1
    - Dst: CHECK_PASS
      Src: /src/glib/glib/tests/mem-overflow.c:121,1
    - Dst: g_try_realloc_n
      Src: /src/glib/glib/tests/mem-overflow.c:121,1
    - Dst: g_free
      Src: /src/glib/glib/tests/mem-overflow.c:129,1
    - Dst: CHECK_PASS
      Src: /src/glib/glib/tests/mem-overflow.c:131,1
    - Dst: CHECK_FAIL
      Src: /src/glib/glib/tests/mem-overflow.c:132,1
    - Dst: g_try_renew
      Src: /src/glib/glib/tests/mem-overflow.c:136,1
    - Dst: CHECK_SUBPROCESS_FAIL
      Src: /src/glib/glib/tests/mem-overflow.c:159,1
    - Dst: CHECK_SUBPROCESS_PASS
      Src: /src/glib/glib/tests/mem-overflow.c:161,1
    - Dst: CHECK_SUBPROCESS_FAIL
      Src: /src/glib/glib/tests/mem-overflow.c:169,1
    - Dst: CHECK_SUBPROCESS_FAIL
      Src: /src/glib/glib/tests/mem-overflow.c:185,1
    - Dst: CHECK_SUBPROCESS_PASS
      Src: /src/glib/glib/tests/mem-overflow.c:186,1
    - Dst: CHECK_SUBPROCESS_PASS
      Src: /src/glib/glib/tests/mem-overflow.c:183,1
    - Dst: CHECK_SUBPROCESS_PASS
      Src: /src/glib/glib/tests/mem-overflow.c:166,1
    - Dst: CHECK_SUBPROCESS_FAIL
      Src: /src/glib/glib/tests/mem-overflow.c:160,1
    - Dst: CHECK_SUBPROCESS_FAIL
      Src: /src/glib/glib/tests/mem-overflow.c:168,1
    - Dst: CHECK_SUBPROCESS_PASS
      Src: /src/glib/glib/tests/mem-overflow.c:174,1
    - Dst: CHECK_FAIL
      Src: /src/glib/glib/tests/mem-overflow.c:111,1
    - Dst: g_free
      Src: /src/glib/glib/tests/mem-overflow.c:112,1
    - Dst: g_malloc
      Src: /src/glib/glib/tests/mem-overflow.c:120,1
    - Dst: g_try_malloc0_n
      Src: /src/glib/glib/tests/mem-overflow.c:115,1
    - Dst: CHECK_PASS
      Src: /src/glib/glib/tests/mem-overflow.c:122,1
    - Dst: g_try_realloc_n
      Src: /src/glib/glib/tests/mem-overflow.c:122,1
    - Dst: CHECK_FAIL
      Src: /src/glib/glib/tests/mem-overflow.c:124,1
    - Dst: g_try_realloc_n
      Src: /src/glib/glib/tests/mem-overflow.c:124,1
    - Dst: g_try_new
      Src: /src/glib/glib/tests/mem-overflow.c:128,1
    - Dst: g_try_malloc
      Src: /src/glib/glib/tests/mem-overflow.c:135,1
    - Dst: CHECK_SUBPROCESS_FAIL
      Src: /src/glib/glib/tests/mem-overflow.c:164,1
    - Dst: CHECK_SUBPROCESS_FAIL
      Src: /src/glib/glib/tests/mem-overflow.c:165,1
    - Dst: CHECK_SUBPROCESS_PASS
      Src: /src/glib/glib/tests/mem-overflow.c:171,1
    - Dst: CHECK_SUBPROCESS_PASS
      Src: /src/glib/glib/tests/mem-overflow.c:189,1
    - Dst: CHECK_SUBPROCESS_FAIL
      Src: /src/glib/glib/tests/mem-overflow.c:188,1
    - Dst: CHECK_SUBPROCESS_FAIL
      Src: /src/glib/glib/tests/mem-overflow.c:163,1
    - Dst: CHECK_SUBPROCESS_FAIL
      Src: /src/glib/glib/tests/mem-overflow.c:170,1
    - Dst: CHECK_PASS
      Src: /src/glib/glib/tests/mem-overflow.c:110,1
    - Dst: CHECK_PASS
      Src: /src/glib/glib/tests/mem-overflow.c:116,1
    - Dst: g_try_malloc0_n
      Src: /src/glib/glib/tests/mem-overflow.c:117,1
    - Dst: CHECK_PASS
      Src: /src/glib/glib/tests/mem-overflow.c:123,1
    - Dst: g_try_realloc_n
      Src: /src/glib/glib/tests/mem-overflow.c:123,1
    - Dst: g_free
      Src: /src/glib/glib/tests/mem-overflow.c:125,1
    - Dst: g_try_new0
      Src: /src/glib/glib/tests/mem-overflow.c:132,1
    - Dst: g_free
      Src: /src/glib/glib/tests/mem-overflow.c:133,1
    - Dst: CHECK_FAIL
      Src: /src/glib/glib/tests/mem-overflow.c:137,1
    - Dst: g_try_renew
      Src: /src/glib/glib/tests/mem-overflow.c:137,1
    - Dst: CHECK_SUBPROCESS_FAIL
      Src: /src/glib/glib/tests/mem-overflow.c:158,1
    - Dst: CHECK_SUBPROCESS_FAIL
      Src: /src/glib/glib/tests/mem-overflow.c:176,1
    - Dst: CHECK_SUBPROCESS_PASS
      Src: /src/glib/glib/tests/mem-overflow.c:177,1
    - Dst: free
      Src: /src/glib/glib/tests/mem-overflow.c:138,1
    - Dst: g_try_new0
      Src: /src/glib/glib/tests/mem-overflow.c:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 71
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 190
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 190
    functionName: mem_overflow
    functionSourceFile: /src/glib/glib/tests/mem-overflow.c
    functionUses: []
    functionsReached:
    - CHECK_SUBPROCESS_PASS
    - free
    - CHECK_FAIL
    - g_try_malloc0_n
    - g_try_malloc
    - g_try_malloc_n
    - CHECK_PASS
    - g_malloc
    - g_try_new
    - g_try_renew
    - CHECK_SUBPROCESS_FAIL
    - g_try_new0
    - g_try_realloc_n
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void mem_overflow (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mem-overflow.c:248,1
    - Dst: g_test_init
      Src: /src/glib/glib/tests/mem-overflow.c:228,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mem-overflow.c:231,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mem-overflow.c:232,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mem-overflow.c:233,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mem-overflow.c:234,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mem-overflow.c:235,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mem-overflow.c:236,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mem-overflow.c:237,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mem-overflow.c:238,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mem-overflow.c:239,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mem-overflow.c:254,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mem-overflow.c:252,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mem-overflow.c:250,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/mem-overflow.c:261,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mem-overflow.c:249,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mem-overflow.c:230,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mem-overflow.c:240,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mem-overflow.c:241,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mem-overflow.c:246,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mem-overflow.c:247,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mem-overflow.c:244,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mem-overflow.c:245,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mem-overflow.c:243,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mem-overflow.c:242,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mem-overflow.c:258,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mem-overflow.c:257,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mem-overflow.c:253,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mem-overflow.c:251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 262
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 262
    functionName: main
    functionSourceFile: /src/glib/glib/tests/mem-overflow.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_scanner_new
      Src: /src/glib/glib/tests/scannerapi.c:33,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/scannerapi.c:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - fix
    - test_data
    argTypes:
    - ScannerFixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: scanner_fixture_setup
    functionSourceFile: /src/glib/glib/tests/scannerapi.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_scanner_new
    linkageType: ''
    returnType: void
    signature: 'static void scanner_fixture_setup (ScannerFixture *fix, gconstpointer
      test_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/scannerapi.c:64,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/scannerapi.c:72,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/scannerapi.c:68,1
    - Dst: exit
      Src: /src/glib/glib/tests/scannerapi.c:69,1
    - Dst: g_scanner_error
      Src: /src/glib/glib/tests/scannerapi.c:67,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/scannerapi.c:73,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/scannerapi.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - fix
    - test_data
    argTypes:
    - ScannerFixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 75
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 75
    functionName: test_scanner_error
    functionSourceFile: /src/glib/glib/tests/scannerapi.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_passed
    - g_scanner_error
    - g_assert_cmpint
    - g_test_trap_assert_stderr
    - g_test_trap_subprocess
    - g_test_subprocess
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void test_scanner_error (ScannerFixture *fix, gconstpointer
      test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/scannerapi.c:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - scanner
    - message
    - error
    argTypes:
    - GScanner*
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: scanner_msg_func
    functionSourceFile: /src/glib/glib/tests/scannerapi.c
    functionUses: []
    functionsReached:
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void scanner_msg_func (GScanner *scanner, gchar *message, gboolean
      error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_scanner_set_scope
      Src: /src/glib/glib/tests/scannerapi.c:92,1
    - Dst: g_scanner_scope_add_symbol
      Src: /src/glib/glib/tests/scannerapi.c:95,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/scannerapi.c:98,1
    - Dst: g_scanner_scope_foreach_symbol
      Src: /src/glib/glib/tests/scannerapi.c:99,1
    - Dst: g_ascii_dtostr
      Src: /src/glib/glib/tests/scannerapi.c:97,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/scannerapi.c:100,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/scannerapi.c:100,1
    - Dst: g_scanner_lookup_symbol
      Src: /src/glib/glib/tests/scannerapi.c:100,1
    - Dst: g_scanner_scope_remove_symbol
      Src: /src/glib/glib/tests/scannerapi.c:101,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/scannerapi.c:102,1
    - Dst: g_scanner_lookup_symbol
      Src: /src/glib/glib/tests/scannerapi.c:102,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/scannerapi.c:104,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/scannerapi.c:105,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/scannerapi.c:105,1
    - Dst: g_scanner_scope_lookup_symbol
      Src: /src/glib/glib/tests/scannerapi.c:105,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/scannerapi.c:104,1
    - Dst: g_scanner_scope_lookup_symbol
      Src: /src/glib/glib/tests/scannerapi.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - fix
    - test_data
    argTypes:
    - ScannerFixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 106
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 106
    functionName: test_scanner_symbols
    functionSourceFile: /src/glib/glib/tests/scannerapi.c
    functionUses: []
    functionsReached:
    - g_scanner_set_scope
    - g_ascii_dtostr
    - GPOINTER_TO_INT
    - g_scanner_lookup_symbol
    - g_assert
    - g_scanner_scope_add_symbol
    - GINT_TO_POINTER
    - g_scanner_scope_foreach_symbol
    - g_scanner_scope_remove_symbol
    - g_scanner_scope_lookup_symbol
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_scanner_symbols (ScannerFixture *fix, gconstpointer
      test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_scanner_warn
      Src: /src/glib/glib/tests/scannerapi.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - fix
    - test_data
    argTypes:
    - ScannerFixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: test_scanner_warn
    functionSourceFile: /src/glib/glib/tests/scannerapi.c
    functionUses: []
    functionsReached:
    - g_scanner_warn
    linkageType: ''
    returnType: void
    signature: 'static void test_scanner_warn (ScannerFixture *fix, gconstpointer
      test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/tests/scannerapi.c:40,1
    - Dst: g_scanner_destroy
      Src: /src/glib/glib/tests/scannerapi.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - fix
    - test_data
    argTypes:
    - ScannerFixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: scanner_fixture_teardown
    functionSourceFile: /src/glib/glib/tests/scannerapi.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_scanner_destroy
    linkageType: ''
    returnType: void
    signature: 'static void scanner_fixture_teardown (ScannerFixture *fix, gconstpointer
      test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/scannerapi.c:82,1
    - Dst: g_ascii_strtoull
      Src: /src/glib/glib/tests/scannerapi.c:82,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/scannerapi.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - key
    - value
    - user_data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: check_keys
    functionSourceFile: /src/glib/glib/tests/scannerapi.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_ascii_strtoull
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void check_keys (gpointer key, gpointer value, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/glib/tests/scannerapi.c:113,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/scannerapi.c:120,1
    - Dst: strlen
      Src: /src/glib/glib/tests/scannerapi.c:115,1
    - Dst: g_scanner_input_text
      Src: /src/glib/glib/tests/scannerapi.c:118,1
    - Dst: g_scanner_cur_token
      Src: /src/glib/glib/tests/scannerapi.c:120,1
    - Dst: g_scanner_get_next_token
      Src: /src/glib/glib/tests/scannerapi.c:121,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/scannerapi.c:122,1
    - Dst: g_scanner_cur_token
      Src: /src/glib/glib/tests/scannerapi.c:122,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/scannerapi.c:123,1
    - Dst: g_scanner_cur_line
      Src: /src/glib/glib/tests/scannerapi.c:123,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/scannerapi.c:126,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/scannerapi.c:127,1
    - Dst: g_scanner_get_next_token
      Src: /src/glib/glib/tests/scannerapi.c:127,1
    - Dst: g_scanner_get_next_token
      Src: /src/glib/glib/tests/scannerapi.c:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - fix
    - test_data
    argTypes:
    - ScannerFixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 129
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 129
    functionName: test_scanner_tokens
    functionSourceFile: /src/glib/glib/tests/scannerapi.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - strlen
    - g_scanner_input_text
    - g_scanner_cur_line
    - g_scanner_cur_token
    - g_scanner_get_next_token
    linkageType: ''
    returnType: void
    signature: 'static void test_scanner_tokens (ScannerFixture *fix, gconstpointer
      test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/scannerapi.c:135,1
    - Dst: g_test_add
      Src: /src/glib/glib/tests/scannerapi.c:140,1
    - Dst: g_test_add
      Src: /src/glib/glib/tests/scannerapi.c:138,1
    - Dst: g_test_add
      Src: /src/glib/glib/tests/scannerapi.c:137,1
    - Dst: g_test_add
      Src: /src/glib/glib/tests/scannerapi.c:139,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/scannerapi.c:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 143
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 143
    functionName: main
    functionSourceFile: /src/glib/glib/tests/scannerapi.c
    functionUses: []
    functionsReached:
    - g_test_add
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - p1
    - p2
    - data
    argTypes:
    - gconstpointer
    - gconstpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: item_compare_data
    functionSourceFile: /src/glib/glib/tests/sort.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int item_compare_data (gconstpointer p1, gconstpointer p2,
      gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/glib/glib/tests/sort.c:36,1
    - Dst: g_free
      Src: /src/glib/glib/tests/sort.c:47,1
    - Dst: g_sort_array
      Src: /src/glib/glib/tests/sort.c:42,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/sort.c:45,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/sort.c:39,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 48
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 48
    functionName: test_sort_basic
    functionSourceFile: /src/glib/glib/tests/sort.c
    functionUses: []
    functionsReached:
    - g_sort_array
    - g_malloc
    - g_random_int_range
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_sort_basic (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/glib/glib/tests/sort.c:124,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/sort.c:135,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/sort.c:137,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/sort.c:127,1
    - Dst: g_sort_array
      Src: /src/glib/glib/tests/sort.c:131,1
    - Dst: g_free
      Src: /src/glib/glib/tests/sort.c:139,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 140
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 140
    functionName: test_sort_big
    functionSourceFile: /src/glib/glib/tests/sort.c
    functionUses: []
    functionsReached:
    - g_sort_array
    - g_malloc
    - g_random_int_range
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_sort_big (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - p1
    - p2
    - data
    argTypes:
    - gconstpointer
    - gconstpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 28
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 28
    functionName: int_compare_data
    functionSourceFile: /src/glib/glib/tests/sort.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int int_compare_data (gconstpointer p1, gconstpointer p2, gpointer
      data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/glib/glib/tests/sort.c:100,1
    - Dst: g_sort_array
      Src: /src/glib/glib/tests/sort.c:107,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/sort.c:111,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/sort.c:103,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/sort.c:113,1
    - Dst: g_free
      Src: /src/glib/glib/tests/sort.c:115,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 116
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 116
    functionName: test_sort_stable
    functionSourceFile: /src/glib/glib/tests/sort.c
    functionUses: []
    functionsReached:
    - g_sort_array
    - g_malloc
    - g_random_int_range
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_sort_stable (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/glib/glib/tests/sort.c:56,1
    - Dst: g_sort_array
      Src: /src/glib/glib/tests/sort.c:65,1
    - Dst: g_random_int
      Src: /src/glib/glib/tests/sort.c:60,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/sort.c:68,1
    - Dst: g_malloc
      Src: /src/glib/glib/tests/sort.c:57,1
    - Dst: g_free
      Src: /src/glib/glib/tests/sort.c:70,1
    - Dst: g_free
      Src: /src/glib/glib/tests/sort.c:71,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 72
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 72
    functionName: test_sort_zero_elements
    functionSourceFile: /src/glib/glib/tests/sort.c
    functionUses: []
    functionsReached:
    - g_random_int
    - g_sort_array
    - g_malloc
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_sort_zero_elements (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/glib/glib/tests/sort.c:148,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/sort.c:151,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/sort.c:159,1
    - Dst: g_free
      Src: /src/glib/glib/tests/sort.c:161,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 162
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 162
    functionName: test_sort_deprecated
    functionSourceFile: /src/glib/glib/tests/sort.c
    functionUses: []
    functionsReached:
    - g_random_int_range
    - g_free
    - g_malloc
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_sort_deprecated (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/sort.c:167,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/sort.c:172,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/sort.c:169,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/sort.c:171,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/sort.c:170,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/sort.c:173,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/sort.c:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 176
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 176
    functionName: main
    functionSourceFile: /src/glib/glib/tests/sort.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rw_lock_init
      Src: /src/glib/glib/tests/include.c:13,1
    - Dst: g_rw_lock_clear
      Src: /src/glib/glib/tests/include.c:14,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 15
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 15
    functionName: test_rwlock
    functionSourceFile: /src/glib/glib/tests/include.c
    functionUses: []
    functionsReached:
    - g_rw_lock_clear
    - g_rw_lock_init
    linkageType: ''
    returnType: void
    signature: 'static void test_rwlock (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/include.c:20,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/include.c:22,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/include.c:24,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 25
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 25
    functionName: main
    functionSourceFile: /src/glib/glib/tests/include.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_test_slow
      Src: /src/glib/glib/tests/fileutils.c:1554,1
    - Dst: G_GINT64_CONSTANT
      Src: /src/glib/glib/tests/fileutils.c:1569,1
    - Dst: get_largefile_check_len
      Src: /src/glib/glib/tests/fileutils.c:1572,1
    - Dst: resize_file
      Src: /src/glib/glib/tests/fileutils.c:1570,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/fileutils.c:1556,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/fileutils.c:1572,1
    - Dst: G_GINT64_CONSTANT
      Src: /src/glib/glib/tests/fileutils.c:1575,1
    - Dst: resize_file
      Src: /src/glib/glib/tests/fileutils.c:1576,1
    - Dst: get_largefile_check_len
      Src: /src/glib/glib/tests/fileutils.c:1578,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/fileutils.c:1578,1
    - Dst: G_GINT64_CONSTANT
      Src: /src/glib/glib/tests/fileutils.c:1581,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:1586,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/fileutils.c:1584,1
    - Dst: g_test_incomplete
      Src: /src/glib/glib/tests/fileutils.c:1590,1
    - Dst: resize_file
      Src: /src/glib/glib/tests/fileutils.c:1582,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:1591,1
    - Dst: get_largefile_check_len
      Src: /src/glib/glib/tests/fileutils.c:1584,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1592
      start: 1551
    functionDepth: 0
    functionLinenumber: 1551
    functionLinenumberEnd: 1592
    functionName: test_get_contents_largefile
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_test_slow
    - G_N_ELEMENTS
    - resize_file
    - g_test_incomplete
    - G_GINT64_CONSTANT
    - get_largefile_check_len
    - g_remove
    - g_test_skip
    linkageType: ''
    returnType: void
    signature: 'static void test_get_contents_largefile (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_get_contents
      Src: /src/glib/glib/tests/fileutils.c:1648,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:1651,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1656,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1665,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1645,1
    - Dst: g_fsync
      Src: /src/glib/glib/tests/fileutils.c:1645,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1650,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/tests/fileutils.c:1658,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1655,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1659,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1652,1
    - Dst: g_file_set_contents
      Src: /src/glib/glib/tests/fileutils.c:1654,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1643,1
    - Dst: write
      Src: /src/glib/glib/tests/fileutils.c:1644,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1646,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1649,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1660,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:1661,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:1664,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:1642,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1644,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1662,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1666
      start: 1632
    functionDepth: 0
    functionLinenumber: 1632
    functionLinenumberEnd: 1666
    functionName: test_set_contents
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - write
    - g_assert_true
    - g_fsync
    - g_file_set_contents
    - g_assert_cmpstr
    - g_assert_no_error
    - g_file_open_tmp
    - close
    - g_file_get_contents
    - g_remove
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_set_contents (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:2618,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/fileutils.c:2631,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/fileutils.c:2610,1
    - Dst: g_log_set_fatal_mask
      Src: /src/glib/glib/tests/fileutils.c:2612,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:2615,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2616,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:2617,1
    - Dst: g_unlink
      Src: /src/glib/glib/tests/fileutils.c:2623,1
    - Dst: g_close
      Src: /src/glib/glib/tests/fileutils.c:2627,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2624,1
    - Dst: g_clear_fd
      Src: /src/glib/glib/tests/fileutils.c:2636,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2653,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:2610,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/glib/tests/fileutils.c:2613,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:2620,1
    - Dst: assert_fd_was_closed
      Src: /src/glib/glib/tests/fileutils.c:2639,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/fileutils.c:2647,1
    - Dst: g_log_set_always_fatal
      Src: /src/glib/glib/tests/fileutils.c:2611,1
    - Dst: g_close
      Src: /src/glib/glib/tests/fileutils.c:2619,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:2622,1
    - Dst: assert_fd_was_closed
      Src: /src/glib/glib/tests/fileutils.c:2630,1
    - Dst: assert_fd_was_closed
      Src: /src/glib/glib/tests/fileutils.c:2621,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2629,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2638,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/fileutils.c:2640,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/glib/tests/fileutils.c:2656,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 41
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2657
      start: 2597
    functionDepth: 0
    functionLinenumber: 2597
    functionLinenumberEnd: 2657
    functionName: test_clear_fd_ebadf
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_unlink
    - g_test_message
    - g_test_undefined
    - g_log_set_always_fatal
    - g_assert_nonnull
    - g_log_set_fatal_mask
    - g_close
    - GLIB_PRIVATE_CALL
    - g_assert_no_error
    - g_file_open_tmp
    - assert_fd_was_closed
    - g_clear_fd
    - g_assert_false
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_clear_fd_ebadf (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/fileutils.c:1604,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/fileutils.c:1607,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1613,1
    - Dst: g_fsync
      Src: /src/glib/glib/tests/fileutils.c:1614,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:1618,1
    - Dst: symlink
      Src: /src/glib/glib/tests/fileutils.c:1621,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:1622,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:1628,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1629,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1615,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:1606,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:1611,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1612,1
    - Dst: write
      Src: /src/glib/glib/tests/fileutils.c:1613,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1614,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/fileutils.c:1619,1
    - Dst: unlink
      Src: /src/glib/glib/tests/fileutils.c:1624,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:1621,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/fileutils.c:1602,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/fileutils.c:1608,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1623,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1630
      start: 1594
    functionDepth: 0
    functionLinenumber: 1594
    functionLinenumberEnd: 1630
    functionName: test_file_test
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - write
    - g_test_assert_expected_messages
    - symlink
    - g_assert_true
    - g_fsync
    - g_test_undefined
    - unlink
    - g_test_expect_message
    - g_assert_no_error
    - g_file_open_tmp
    - close
    - g_remove
    - g_assert_false
    - g_assert_no_errno
    - g_file_test
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_file_test (void) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:1749,1
    - Dst: g_strconcat
      Src: /src/glib/glib/tests/fileutils.c:1748,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1741,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1802,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/fileutils.c:1805,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1806,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/tests/fileutils.c:1833,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:1835,1
    - Dst: g_rmdir
      Src: /src/glib/glib/tests/fileutils.c:1843,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:1845,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/fileutils.c:1714,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:1740,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:1770,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/fileutils.c:1772,1
    - Dst: g_file_set_contents_full
      Src: /src/glib/glib/tests/fileutils.c:1784,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1796,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/tests/fileutils.c:1801,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1820,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/fileutils.c:1791,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1831,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1803,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1837,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/fileutils.c:1710,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/fileutils.c:1726,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1738,1
    - Dst: g_fsync
      Src: /src/glib/glib/tests/fileutils.c:1740,1
    - Dst: g_get_tmp_dir
      Src: /src/glib/glib/tests/fileutils.c:1770,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:1772,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/fileutils.c:1792,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:1808,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1834,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:1847,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1849,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:1737,1
    - Dst: strlen
      Src: /src/glib/glib/tests/fileutils.c:1724,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1739,1
    - Dst: write
      Src: /src/glib/glib/tests/fileutils.c:1739,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1763,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/glib/tests/fileutils.c:1762,1
    - Dst: symlink
      Src: /src/glib/glib/tests/fileutils.c:1749,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:1771,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/fileutils.c:1779,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/fileutils.c:1790,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1797,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:1804,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1850,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1851,1
    - Dst: g_lstat
      Src: /src/glib/glib/tests/fileutils.c:1808,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 94
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1854
      start: 1668
    functionDepth: 0
    functionLinenumber: 1668
    functionLinenumberEnd: 1854
    functionName: test_set_contents_full
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_strconcat
    - g_file_open_tmp
    - g_file_get_contents
    - symlink
    - g_assert_no_errno
    - g_assert_true
    - g_fsync
    - G_N_ELEMENTS
    - g_build_filename
    - g_assert_false
    - g_file_test
    - g_assert_cmpint
    - write
    - strlen
    - g_test_message
    - g_assert_cmpuint
    - g_assert_not_reached
    - g_assert_no_error
    - g_dir_make_tmp
    - g_assert_error
    - g_clear_error
    - g_test_summary
    - g_assert_cmpstr
    - close
    - g_get_tmp_dir
    - g_remove
    - g_lstat
    - g_rmdir
    - g_free
    - g_file_set_contents_full
    linkageType: ''
    returnType: void
    signature: 'static void test_set_contents_full (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2677,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/fileutils.c:2671,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2683,1
    - Dst: assert_fd_was_closed
      Src: /src/glib/glib/tests/fileutils.c:2690,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:2697,1
    - Dst: assert_fd_was_closed
      Src: /src/glib/glib/tests/fileutils.c:2720,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/fileutils.c:2735,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:2678,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:2684,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:2685,1
    - Dst: g_unlink
      Src: /src/glib/glib/tests/fileutils.c:2691,1
    - Dst: g_clear_fd
      Src: /src/glib/glib/tests/fileutils.c:2695,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:2700,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:2702,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/fileutils.c:2725,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/fileutils.c:2727,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/fileutils.c:2733,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/fileutils.c:2669,1
    - Dst: g_clear_fd
      Src: /src/glib/glib/tests/fileutils.c:2676,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:2682,1
    - Dst: g_clear_fd
      Src: /src/glib/glib/tests/fileutils.c:2687,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2696,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:2703,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/fileutils.c:2710,1
    - Dst: g_unlink
      Src: /src/glib/glib/tests/fileutils.c:2721,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2688,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:2689,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2692,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2701,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2719,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2722,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/fileutils.c:2728,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/fileutils.c:2731,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 44
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2737
      start: 2659
    functionDepth: 0
    functionLinenumber: 2659
    functionLinenumberEnd: 2737
    functionName: test_clear_fd
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_passed
    - g_unlink
    - g_test_summary
    - g_test_message
    - g_test_undefined
    - g_assert_nonnull
    - g_test_trap_assert_stderr
    - assert_fd_was_closed
    - g_assert_no_error
    - g_file_open_tmp
    - g_clear_fd
    - g_test_trap_subprocess
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_clear_fd (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_run
      Src: /src/glib/glib/tests/fileutils.c:2779,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2767,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/fileutils.c:2743,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2748,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2752,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2753,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2754,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2755,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2757,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2758,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2759,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2756,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2775,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2771,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2773,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2766,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2769,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2768,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2747,1
    - Dst: g_test_init
      Src: /src/glib/glib/tests/fileutils.c:2744,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2750,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2751,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2761,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2760,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2764,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2763,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2762,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2765,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2774,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2776,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2777,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2770,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2772,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 2780
      start: 2739
    functionDepth: 0
    functionLinenumber: 2739
    functionLinenumberEnd: 2780
    functionName: main
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_setenv
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:69,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:71,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - str
    - expected
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: check_string
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_free
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void check_string (gchar *str, const gchar *expected) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:333,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:325,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:343,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:346,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:325,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:294,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:302,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:315,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:333,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:343,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:334,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:302,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:305,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:315,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:347,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:350,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:319,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:334,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/fileutils.c:290,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:305,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:311,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:339,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:347,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:350,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:301,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:314,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:336,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:349,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:351,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:353,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:336,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:314,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:349,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:355,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:310,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:321,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:331,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:337,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:318,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:330,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:338,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:332,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:323,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:355,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:318,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:323,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:330,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:332,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:337,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:331,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:338,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:310,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:321,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:346,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:307,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:313,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:324,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:320,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:335,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:322,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:342,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:348,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:294,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/fileutils.c:292,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:308,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:320,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:326,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:317,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:342,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:326,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:300,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:308,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:309,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:317,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:329,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:345,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:299,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:301,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:309,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:329,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:345,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:351,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:353,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:299,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:300,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:311,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:316,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:319,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:339,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:352,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:354,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/fileutils.c:295,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:312,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:316,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:344,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:352,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:354,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:306,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:312,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:344,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:356,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:335,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:322,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:307,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:306,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:313,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:324,1
    - Dst: g_build_path
      Src: /src/glib/glib/tests/fileutils.c:348,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 111
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 357
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 357
    functionName: test_build_path
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - check_string
    - g_assert_null
    - g_test_undefined
    - g_test_expect_message
    - g_build_path
    linkageType: ''
    returnType: void
    signature: 'static void test_build_path (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_getenv
      Src: /src/glib/glib/tests/fileutils.c:1222,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/fileutils.c:1230,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/fileutils.c:1237,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1238,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/fileutils.c:1242,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/glib/tests/fileutils.c:1219,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/fileutils.c:1222,1
    - Dst: g_rmdir
      Src: /src/glib/glib/tests/fileutils.c:1223,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1224,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1228,1
    - Dst: g_rmdir
      Src: /src/glib/glib/tests/fileutils.c:1231,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/glib/tests/fileutils.c:1227,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/glib/tests/fileutils.c:1235,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:1221,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1222,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1225,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:1229,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/fileutils.c:1236,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/glib/tests/fileutils.c:1240,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/fileutils.c:1241,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1243,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1220,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1221,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/fileutils.c:1230,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1229,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1230,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1232,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1244
      start: 1212
    functionDepth: 0
    functionLinenumber: 1212
    functionLinenumberEnd: 1244
    functionName: test_dir_make_tmp
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_assert_true
    - g_assert_null
    - g_getenv
    - g_assert_error
    - g_assert_no_error
    - g_str_has_prefix
    - g_dir_make_tmp
    - g_rmdir
    - g_file_test
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_dir_make_tmp (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/fileutils.c:1331,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1335,1
    - Dst: g_mkstemp
      Src: /src/glib/glib/tests/fileutils.c:1335,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1350,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1355,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1347,1
    - Dst: strcpy
      Src: /src/glib/glib/tests/fileutils.c:1361,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1376,1
    - Dst: strcpy
      Src: /src/glib/glib/tests/fileutils.c:1380,1
    - Dst: remove
      Src: /src/glib/glib/tests/fileutils.c:1385,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1341,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1342,1
    - Dst: g_mkstemp
      Src: /src/glib/glib/tests/fileutils.c:1346,1
    - Dst: strcpy
      Src: /src/glib/glib/tests/fileutils.c:1354,1
    - Dst: strcpy
      Src: /src/glib/glib/tests/fileutils.c:1358,1
    - Dst: g_mkstemp
      Src: /src/glib/glib/tests/fileutils.c:1359,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1366,1
    - Dst: lseek
      Src: /src/glib/glib/tests/fileutils.c:1368,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1371,1
    - Dst: remove
      Src: /src/glib/glib/tests/fileutils.c:1377,1
    - Dst: g_mkstemp
      Src: /src/glib/glib/tests/fileutils.c:1381,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/fileutils.c:1336,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/fileutils.c:1333,1
    - Dst: g_mkstemp
      Src: /src/glib/glib/tests/fileutils.c:1341,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/fileutils.c:1345,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1348,1
    - Dst: strstr
      Src: /src/glib/glib/tests/fileutils.c:1348,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1359,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1363,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1370,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:1374,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/fileutils.c:1340,1
    - Dst: unlink
      Src: /src/glib/glib/tests/fileutils.c:1349,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1351,1
    - Dst: g_mkstemp
      Src: /src/glib/glib/tests/fileutils.c:1355,1
    - Dst: g_mkstemp
      Src: /src/glib/glib/tests/fileutils.c:1362,1
    - Dst: write
      Src: /src/glib/glib/tests/fileutils.c:1364,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1365,1
    - Dst: read
      Src: /src/glib/glib/tests/fileutils.c:1369,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1382,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1384,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 57
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1386
      start: 1320
    functionDepth: 0
    functionLinenumber: 1320
    functionLinenumberEnd: 1386
    functionName: test_mkstemp
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - write
    - g_test_assert_expected_messages
    - g_strdup
    - g_assert_null
    - remove
    - g_test_undefined
    - g_mkstemp
    - read
    - strcpy
    - unlink
    - g_test_expect_message
    - g_assert_cmpstr
    - close
    - lseek
    - g_free
    - strstr
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_mkstemp (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/glib/tests/fileutils.c:1450,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/fileutils.c:1463,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1468,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/fileutils.c:1460,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1450,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/fileutils.c:1455,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/fileutils.c:1462,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1470,1
    - Dst: fwrite
      Src: /src/glib/glib/tests/fileutils.c:1449,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1466,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/tests/fileutils.c:1468,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1472,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:1473,1
    - Dst: g_fopen
      Src: /src/glib/glib/tests/fileutils.c:1448,1
    - Dst: strlen
      Src: /src/glib/glib/tests/fileutils.c:1449,1
    - Dst: fclose
      Src: /src/glib/glib/tests/fileutils.c:1451,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/fileutils.c:1453,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/fileutils.c:1457,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/tests/fileutils.c:1457,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/tests/fileutils.c:1462,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:1466,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/fileutils.c:1458,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:1469,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1474
      start: 1437
    functionDepth: 0
    functionLinenumber: 1437
    functionLinenumberEnd: 1474
    functionName: test_get_contents
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_assert_true
    - strlen
    - fclose
    - fwrite
    - g_test_undefined
    - g_assert_cmpstr
    - g_test_expect_message
    - g_fopen
    - g_assert_no_error
    - g_file_get_contents
    - g_remove
    - g_assert_false
    - g_file_test
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_get_contents (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - error_code
    - ok_list
    - ok_count
    argTypes:
    - GFileError
    - GFileError
    - size_t
    constantsTouched: []
    func_position:
      end: 1516
      start: 1505
    functionDepth: 0
    functionLinenumber: 1505
    functionLinenumberEnd: 1516
    functionName: is_error_in_list
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_error_in_list (GFileError error_code, const GFileError
      ok_list[], size_t ok_count) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_cap_dac_override
      Src: /src/glib/glib/tests/fileutils.c:1863,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/fileutils.c:1865,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1874,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:1875,1
    - Dst: g_chmod
      Src: /src/glib/glib/tests/fileutils.c:1875,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/fileutils.c:1879,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/fileutils.c:1877,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/fileutils.c:1886,1
    - Dst: g_file_set_contents_full
      Src: /src/glib/glib/tests/fileutils.c:1881,1
    - Dst: g_file_set_contents_full
      Src: /src/glib/glib/tests/fileutils.c:1895,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/fileutils.c:1905,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:1873,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/fileutils.c:1884,1
    - Dst: g_file_set_contents_full
      Src: /src/glib/glib/tests/fileutils.c:1888,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1900,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/fileutils.c:1904,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/fileutils.c:1908,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:1910,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1871,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:1870,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1872,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/fileutils.c:1890,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/fileutils.c:1891,1
    - Dst: write
      Src: /src/glib/glib/tests/fileutils.c:1872,1
    - Dst: g_fsync
      Src: /src/glib/glib/tests/fileutils.c:1873,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/fileutils.c:1883,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1899,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1912,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1913
      start: 1856
    functionDepth: 0
    functionLinenumber: 1856
    functionLinenumberEnd: 1913
    functionName: test_set_contents_full_read_only_file
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_file_open_tmp
    - g_assert_no_errno
    - check_cap_dac_override
    - g_test_assert_expected_messages
    - g_assert_true
    - g_fsync
    - g_assert_false
    - g_chmod
    - g_assert_cmpint
    - write
    - g_test_undefined
    - g_assert_no_error
    - g_test_expect_message
    - g_assert_error
    - g_clear_error
    - g_test_summary
    - close
    - g_remove
    - g_free
    - g_file_set_contents_full
    linkageType: ''
    returnType: void
    signature: 'static void test_set_contents_full_read_only_file (void) '
  - BBCount: 65
    BranchProfiles: []
    Callsites:
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:493,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:709,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:957,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/fileutils.c:1772,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/tests/fileutils.c:2333,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:534,1
    - Dst: g_chmod
      Src: /src/glib/glib/tests/fileutils.c:889,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:1006,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1243,1
    - Dst: g_stat
      Src: /src/glib/glib/tests/fileutils.c:2141,1
    - Dst: unlink
      Src: /src/glib/glib/tests/fileutils.c:1624,1
    - Dst: G_GINT64_CONSTANT
      Src: /src/glib/glib/tests/fileutils.c:1581,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:490,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:805,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:650,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:722,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/fileutils.c:784,1
    - Dst: SetThreadLocale
      Src: /src/glib/glib/tests/fileutils.c:925,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1254,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:1014,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:501,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:515,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:967,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1061,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1433,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1091,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/glib/tests/fileutils.c:1240,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:780,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:885,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1484,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:1804,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/fileutils.c:2380,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:572,1
    - Dst: g_path_get_basename
      Src: /src/glib/glib/tests/fileutils.c:1126,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1355,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/fileutils.c:1905,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:803,1
    - Dst: symlink
      Src: /src/glib/glib/tests/fileutils.c:2042,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:1311,1
    - Dst: remove
      Src: /src/glib/glib/tests/fileutils.c:2071,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:497,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:519,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:2047,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2125,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/fileutils.c:1883,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2638,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2770,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:999,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:767,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:979,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:1000,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/tests/fileutils.c:1833,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:2575,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:590,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:1294,1
    - Dst: g_file_set_contents_full
      Src: /src/glib/glib/tests/fileutils.c:1784,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2616,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/fileutils.c:2710,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:531,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:617,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:637,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:988,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1028,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/fileutils.c:1340,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/fileutils.c:1779,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2760,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2777,1
    - Dst: strlen
      Src: /src/glib/glib/tests/fileutils.c:1450,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1945,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:1256,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:1425,1
    - Dst: G_GINT64_CONSTANT
      Src: /src/glib/glib/tests/fileutils.c:1569,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:501,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:627,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:957,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/fileutils.c:1345,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1849,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2145,1
    - Dst: g_lstat
      Src: /src/glib/glib/tests/fileutils.c:2177,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2326,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:605,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:697,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:836,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:985,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:996,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1229,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1662,1
    - Dst: remove
      Src: /src/glib/glib/tests/fileutils.c:2019,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:485,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:629,1
    - Dst: rmdir
      Src: /src/glib/glib/tests/fileutils.c:801,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:910,1
    - Dst: g_basename
      Src: /src/glib/glib/tests/fileutils.c:1108,1
    - Dst: g_path_get_dirname
      Src: /src/glib/glib/tests/fileutils.c:1198,1
    - Dst: g_test_incomplete
      Src: /src/glib/glib/tests/fileutils.c:1590,1
    - Dst: g_strconcat
      Src: /src/glib/glib/tests/fileutils.c:1748,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/fileutils.c:1281,1
    - Dst: g_rmdir
      Src: /src/glib/glib/tests/fileutils.c:2184,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:633,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:929,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:952,1
    - Dst: g_rmdir
      Src: /src/glib/glib/tests/fileutils.c:1223,1
    - Dst: IDENTITY_TEST
      Src: /src/glib/glib/tests/fileutils.c:2275,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:2229,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:2042,1
    - Dst: remove
      Src: /src/glib/glib/tests/fileutils.c:2070,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:515,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:560,1
    - Dst: g_format_size_for_display
      Src: /src/glib/glib/tests/fileutils.c:935,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:988,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1365,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/fileutils.c:2222,1
    - Dst: assert_fd_was_closed
      Src: /src/glib/glib/tests/fileutils.c:2621,1
    - Dst: G_GINT64_CONSTANT
      Src: /src/glib/glib/tests/fileutils.c:1575,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:578,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/glib/tests/fileutils.c:684,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:911,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1238,1
    - Dst: g_file_set_contents_full
      Src: /src/glib/glib/tests/fileutils.c:1881,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2098,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:2337,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:590,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:633,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:668,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:974,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/fileutils.c:1908,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2756,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2773,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1034,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1850,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2146,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:531,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:910,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:946,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1067,1
    - Dst: g_utime
      Src: /src/glib/glib/tests/fileutils.c:2174,1
    - Dst: write
      Src: /src/glib/glib/tests/fileutils.c:1872,1
    - Dst: g_file_set_contents
      Src: /src/glib/glib/tests/fileutils.c:1654,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/fileutils.c:2030,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:619,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:979,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/fileutils.c:2061,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1268,1
    - Dst: g_get_tmp_dir
      Src: /src/glib/glib/tests/fileutils.c:1770,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:572,1
    - Dst: test_mkdir_with_parents_1
      Src: /src/glib/glib/tests/fileutils.c:825,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:942,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:962,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1532,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1263,1
    - Dst: fclose
      Src: /src/glib/glib/tests/fileutils.c:2230,1
    - Dst: is_error_in_list
      Src: /src/glib/glib/tests/fileutils.c:1538,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2021,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/fileutils.c:1202,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/fileutils.c:831,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/glib/tests/fileutils.c:840,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:912,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:935,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2049,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:2055,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/fileutils.c:2779,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1820,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1450,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:528,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:520,1
    - Dst: g_chmod
      Src: /src/glib/glib/tests/fileutils.c:907,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:930,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2141,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1497,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:2617,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:2684,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:524,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1220,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/tests/fileutils.c:1462,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:1835,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1957,1
    - Dst: remove
      Src: /src/glib/glib/tests/fileutils.c:2032,1
    - Dst: IDENTITY_TEST
      Src: /src/glib/glib/tests/fileutils.c:2279,1
    - Dst: g_mkstemp
      Src: /src/glib/glib/tests/fileutils.c:1346,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:485,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:560,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:601,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:861,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/glib/tests/fileutils.c:879,1
    - Dst: g_fsync
      Src: /src/glib/glib/tests/fileutils.c:1645,1
    - Dst: g_rmdir
      Src: /src/glib/glib/tests/fileutils.c:2094,1
    - Dst: IDENTITY_TEST
      Src: /src/glib/glib/tests/fileutils.c:2271,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/fileutils.c:1462,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1472,1
    - Dst: fclose
      Src: /src/glib/glib/tests/fileutils.c:2039,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1264,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:498,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2126,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:1374,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/fileutils.c:2631,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2035,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/glib/tests/fileutils.c:712,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1040,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/fileutils.c:1122,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2752,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2769,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1405,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:605,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:974,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:1006,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/fileutils.c:1266,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:2009,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:2023,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:2318,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:996,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:1618,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:1875,1
    - Dst: g_stat
      Src: /src/glib/glib/tests/fileutils.c:2142,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:534,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:1014,1
    - Dst: g_malloc0
      Src: /src/glib/glib/tests/fileutils.c:2565,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/fileutils.c:2725,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:1586,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1872,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1052,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:888,1
    - Dst: check_cap_dac_override
      Src: /src/glib/glib/tests/fileutils.c:817,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:967,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1082,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:723,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1037,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1067,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1126,1
    - Dst: g_mkstemp
      Src: /src/glib/glib/tests/fileutils.c:1355,1
    - Dst: g_unlink
      Src: /src/glib/glib/tests/fileutils.c:1426,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2142,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:2336,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/fileutils.c:2728,1
    - Dst: g_open
      Src: /src/glib/glib/tests/fileutils.c:1944,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1314,1
    - Dst: g_rename
      Src: /src/glib/glib/tests/fileutils.c:2155,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:980,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2017,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:990,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1034,1
    - Dst: g_path_get_basename
      Src: /src/glib/glib/tests/fileutils.c:1134,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:494,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:629,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:911,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:582,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:650,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:724,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/fileutils.c:1331,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/fileutils.c:1276,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:1910,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:498,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:889,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1266,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/fileutils.c:1710,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/fileutils.c:1997,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1269,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1348,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/fileutils.c:1891,1
    - Dst: g_chmod
      Src: /src/glib/glib/tests/fileutils.c:797,1
    - Dst: write
      Src: /src/glib/glib/tests/fileutils.c:1946,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1255,1
    - Dst: g_format_size_for_display
      Src: /src/glib/glib/tests/fileutils.c:931,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:2622,1
    - Dst: g_rmdir
      Src: /src/glib/glib/tests/fileutils.c:1843,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1629,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1665,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1298,1
    - Dst: remove
      Src: /src/glib/glib/tests/fileutils.c:1385,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/fileutils.c:2119,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1305,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1646,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/fileutils.c:820,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:1001,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1644,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:985,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1425,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/fileutils.c:1306,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/fileutils.c:1257,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:2053,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:700,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:512,1
    - Dst: g_format_size
      Src: /src/glib/glib/tests/fileutils.c:943,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2747,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:524,1
    - Dst: fclose
      Src: /src/glib/glib/tests/fileutils.c:710,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:847,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:959,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:1010,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1037,1
    - Dst: g_file_read_link
      Src: /src/glib/glib/tests/fileutils.c:2065,1
    - Dst: g_path_get_basename
      Src: /src/glib/glib/tests/fileutils.c:1130,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1470,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/glib/tests/fileutils.c:1235,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1406,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:574,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:511,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:528,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1948,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:2038,1
    - Dst: write
      Src: /src/glib/glib/tests/fileutils.c:1613,1
    - Dst: strlen
      Src: /src/glib/glib/tests/fileutils.c:1449,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1837,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1312,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/glib/tests/fileutils.c:1762,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1796,1
    - Dst: g_basename
      Src: /src/glib/glib/tests/fileutils.c:1112,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1198,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/fileutils.c:2385,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:550,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:913,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1031,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2589,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:963,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:1007,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1136,1
    - Dst: symlink
      Src: /src/glib/glib/tests/fileutils.c:1621,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:980,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:1418,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1871,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1545,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:556,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:671,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:907,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:943,1
    - Dst: strcpy
      Src: /src/glib/glib/tests/fileutils.c:1408,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/fileutils.c:2359,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2588,1
    - Dst: check_cap_dac_override
      Src: /src/glib/glib/tests/fileutils.c:883,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:959,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/fileutils.c:1396,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:1628,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2033,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:1010,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1260,1
    - Dst: strcat
      Src: /src/glib/glib/tests/fileutils.c:1421,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2677,1
    - Dst: rmdir
      Src: /src/glib/glib/tests/fileutils.c:785,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:511,1
    - Dst: strcpy
      Src: /src/glib/glib/tests/fileutils.c:1358,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:1770,1
    - Dst: g_mkdir
      Src: /src/glib/glib/tests/fileutils.c:2099,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:2010,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:2615,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:2685,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2757,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2774,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:2015,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:687,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:516,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:532,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/tests/fileutils.c:2315,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2688,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:968,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1259,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/fileutils.c:1463,1
    - Dst: g_assert_cmpwcs
      Src: /src/glib/glib/tests/fileutils.c:2323,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:1651,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/fileutils.c:1937,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2103,1
    - Dst: time
      Src: /src/glib/glib/tests/fileutils.c:2171,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:627,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:641,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:520,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:953,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:1265,1
    - Dst: memcpy
      Src: /src/glib/glib/tests/fileutils.c:2321,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:2702,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:554,1
    - Dst: g_file_read_link
      Src: /src/glib/glib/tests/fileutils.c:2045,1
    - Dst: g_strerror
      Src: /src/glib/glib/tests/fileutils.c:687,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:1001,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1064,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1094,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1108,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2761,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/tests/fileutils.c:1529,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1851,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:621,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:900,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:494,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:550,1
    - Dst: g_format_size
      Src: /src/glib/glib/tests/fileutils.c:947,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1537,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2102,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1366,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:826,1
    - Dst: g_rmdir
      Src: /src/glib/glib/tests/fileutils.c:699,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:975,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:2703,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:570,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:601,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/glib/tests/fileutils.c:853,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:968,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/fileutils.c:1999,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:488,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:535,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:564,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:2700,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/fileutils.c:2743,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:526,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:1419,1
    - Dst: g_chdir
      Src: /src/glib/glib/tests/fileutils.c:2135,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:797,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:516,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1055,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2364,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1085,1
    - Dst: wcslen
      Src: /src/glib/glib/tests/fileutils.c:2342,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2764,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2629,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1342,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/fileutils.c:1418,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2110,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:532,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:611,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:947,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1070,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/glib/tests/fileutils.c:1227,1
    - Dst: g_mkdtemp
      Src: /src/glib/glib/tests/fileutils.c:1397,1
    - Dst: resize_file
      Src: /src/glib/glib/tests/fileutils.c:1582,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:672,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1280,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/fileutils.c:1333,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:990,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1958,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/fileutils.c:2610,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:556,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:582,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:592,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:931,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:953,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:997,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:1015,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:1131,1
    - Dst: g_close
      Src: /src/glib/glib/tests/fileutils.c:2159,1
    - Dst: g_file_read_link
      Src: /src/glib/glib/tests/fileutils.c:2027,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1076,1
    - Dst: g_chmod
      Src: /src/glib/glib/tests/fileutils.c:1950,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/fileutils.c:792,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1040,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1070,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1874,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/fileutils.c:1886,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:502,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:611,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:914,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1025,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/fileutils.c:1890,1
    - Dst: remove
      Src: /src/glib/glib/tests/fileutils.c:2072,1
    - Dst: strstr
      Src: /src/glib/glib/tests/fileutils.c:1348,1
    - Dst: g_unlink
      Src: /src/glib/glib/tests/fileutils.c:2721,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:1473,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:641,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:675,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:512,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:975,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/fileutils.c:1457,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1739,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1912,1
    - Dst: g_get_current_dir
      Src: /src/glib/glib/tests/fileutils.c:2105,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/fileutils.c:1602,1
    - Dst: IDENTITY_TEST
      Src: /src/glib/glib/tests/fileutils.c:2281,1
    - Dst: IDENTITY_TEST
      Src: /src/glib/glib/tests/fileutils.c:2280,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:915,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/fileutils.c:2067,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:856,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:701,1
    - Dst: g_path_get_basename
      Src: /src/glib/glib/tests/fileutils.c:1138,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:1808,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:2682,1
    - Dst: g_log_set_fatal_mask
      Src: /src/glib/glib/tests/fileutils.c:2612,1
    - Dst: g_chmod
      Src: /src/glib/glib/tests/fileutils.c:2167,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:521,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:584,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:607,1
    - Dst: g_format_size_for_display
      Src: /src/glib/glib/tests/fileutils.c:932,1
    - Dst: resize_file
      Src: /src/glib/glib/tests/fileutils.c:1570,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/fileutils.c:1607,1
    - Dst: g_creat
      Src: /src/glib/glib/tests/fileutils.c:2148,1
    - Dst: g_mkstemp
      Src: /src/glib/glib/tests/fileutils.c:1341,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:981,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1055,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1085,1
    - Dst: wcslen
      Src: /src/glib/glib/tests/fileutils.c:2331,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:2610,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:564,1
    - Dst: g_format_size
      Src: /src/glib/glib/tests/fileutils.c:944,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:1139,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/fileutils.c:1230,1
    - Dst: strcpy
      Src: /src/glib/glib/tests/fileutils.c:1411,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2766,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:785,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:566,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:963,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:1007,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2363,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/fileutils.c:1315,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:713,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:486,1
    - Dst: g_format_size_for_display
      Src: /src/glib/glib/tests/fileutils.c:936,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:986,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:997,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:1015,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1429,1
    - Dst: write
      Src: /src/glib/glib/tests/fileutils.c:1739,1
    - Dst: IDENTITY_TEST
      Src: /src/glib/glib/tests/fileutils.c:2276,1
    - Dst: memcmp
      Src: /src/glib/glib/tests/fileutils.c:2585,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/glib/tests/fileutils.c:1939,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:502,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:525,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:654,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:776,1
    - Dst: test_mkdir_with_parents_1
      Src: /src/glib/glib/tests/fileutils.c:821,1
    - Dst: resize_file
      Src: /src/glib/glib/tests/fileutils.c:1576,1
    - Dst: assert_fd_was_closed
      Src: /src/glib/glib/tests/fileutils.c:2720,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/tests/fileutils.c:1658,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:886,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/fileutils.c:893,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:491,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1224,1
    - Dst: strcpy
      Src: /src/glib/glib/tests/fileutils.c:1431,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1645,1
    - Dst: symlink
      Src: /src/glib/glib/tests/fileutils.c:2012,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/tests/fileutils.c:2382,1
    - Dst: IDENTITY_TEST
      Src: /src/glib/glib/tests/fileutils.c:2272,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:570,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:1002,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:1272,1
    - Dst: g_open
      Src: /src/glib/glib/tests/fileutils.c:1483,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:584,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1335,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1376,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:1845,1
    - Dst: remove
      Src: /src/glib/glib/tests/fileutils.c:2011,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2234,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:881,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:1221,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:1664,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2034,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/fileutils.c:1455,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:607,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:986,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/fileutils.c:1104,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1287,1
    - Dst: fclose
      Src: /src/glib/glib/tests/fileutils.c:1451,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1501,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/fileutils.c:2217,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1533,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1347,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:647,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/glib/tests/fileutils.c:715,1
    - Dst: rmdir
      Src: /src/glib/glib/tests/fileutils.c:798,1
    - Dst: test_mkdir_with_parents_1
      Src: /src/glib/glib/tests/fileutils.c:832,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:969,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:1114,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1652,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1831,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:499,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:521,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:529,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:905,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:932,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/fileutils.c:2733,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/fileutils.c:2731,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:1873,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/fileutils.c:1398,1
    - Dst: g_file_read_link
      Src: /src/glib/glib/tests/fileutils.c:2001,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2168,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:981,1
    - Dst: g_open
      Src: /src/glib/glib/tests/fileutils.c:1422,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:580,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:621,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/fileutils.c:917,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:949,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2722,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/fileutils.c:1963,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:647,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:862,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:960,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:1002,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1058,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1088,1
    - Dst: remove
      Src: /src/glib/glib/tests/fileutils.c:1377,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1650,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:976,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:673,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:529,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:535,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:566,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:2582,1
    - Dst: get_largefile_check_len
      Src: /src/glib/glib/tests/fileutils.c:1578,1
    - Dst: strlen
      Src: /src/glib/glib/tests/fileutils.c:1724,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2179,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1025,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:1642,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:690,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:486,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:594,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:936,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/glib/tests/fileutils.c:2656,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2025,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:1621,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:1950,1
    - Dst: g_assert_cmpwcs
      Src: /src/glib/glib/tests/fileutils.c:2361,1
    - Dst: g_path_get_dirname
      Src: /src/glib/glib/tests/fileutils.c:1206,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2136,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:525,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:495,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:991,1
    - Dst: g_open
      Src: /src/glib/glib/tests/fileutils.c:2158,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1803,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:827,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:840,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:954,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/fileutils.c:2669,1
    - Dst: check_cap_dac_override
      Src: /src/glib/glib/tests/fileutils.c:1863,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:949,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:960,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1028,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1058,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1088,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1290,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2180,1
    - Dst: g_file_set_contents_full
      Src: /src/glib/glib/tests/fileutils.c:1895,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2765,1
    - Dst: g_format_size
      Src: /src/glib/glib/tests/fileutils.c:946,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:499,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:998,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:1016,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1043,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1073,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:2066,1
    - Dst: g_close
      Src: /src/glib/glib/tests/fileutils.c:2627,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2758,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2775,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:580,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:1262,1
    - Dst: remove
      Src: /src/glib/glib/tests/fileutils.c:1316,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1797,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:2060,1
    - Dst: g_log_set_always_fatal
      Src: /src/glib/glib/tests/fileutils.c:2611,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:2689,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2701,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:666,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:969,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:991,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1228,1
    - Dst: lseek
      Src: /src/glib/glib/tests/fileutils.c:1368,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/fileutils.c:1547,1
    - Dst: check_cap_dac_override
      Src: /src/glib/glib/tests/fileutils.c:1941,1
    - Dst: g_new0
      Src: /src/glib/glib/tests/fileutils.c:2320,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:676,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1649,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2153,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/fileutils.c:1236,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/fileutils.c:2647,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:848,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:880,1
    - Dst: g_format_size
      Src: /src/glib/glib/tests/fileutils.c:938,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1132,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1419,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/fileutils.c:2095,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/fileutils.c:1966,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2578,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:951,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:513,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:615,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:704,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:976,1
    - Dst: g_mkdtemp
      Src: /src/glib/glib/tests/fileutils.c:1409,1
    - Dst: g_rmdir
      Src: /src/glib/glib/tests/fileutils.c:1429,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:2586,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:652,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/glib/tests/fileutils.c:861,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:592,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:495,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/fileutils.c:1241,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1370,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1382,1
    - Dst: g_test_slow
      Src: /src/glib/glib/tests/fileutils.c:1554,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/glib/tests/fileutils.c:897,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:944,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:954,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:2233,1
    - Dst: g_new0
      Src: /src/glib/glib/tests/fileutils.c:2339,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/fileutils.c:1790,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:503,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:533,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:562,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:834,1
    - Dst: g_rmdir
      Src: /src/glib/glib/tests/fileutils.c:836,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:983,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2754,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2771,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/fileutils.c:1926,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:625,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:998,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:1016,1
    - Dst: assert_fd_was_closed
      Src: /src/glib/glib/tests/fileutils.c:2639,1
    - Dst: _g_win32_copy_and_maybe_terminate
      Src: /src/glib/glib/tests/fileutils.c:2568,1
    - Dst: g_mkstemp
      Src: /src/glib/glib/tests/fileutils.c:1335,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:964,1
    - Dst: remove
      Src: /src/glib/glib/tests/fileutils.c:1307,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/fileutils.c:1879,1
    - Dst: g_file_set_contents_full
      Src: /src/glib/glib/tests/fileutils.c:1953,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/fileutils.c:2671,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/fileutils.c:2735,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/glib/tests/fileutils.c:902,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:552,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:1003,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/fileutils.c:1124,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:1286,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1317,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/tests/fileutils.c:1468,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:1611,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:2317,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1384,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/tests/fileutils.c:1457,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:1771,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/fileutils.c:1865,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/fileutils.c:1540,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:615,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:491,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:1008,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/fileutils.c:1604,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/fileutils.c:1877,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:527,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1073,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1399,1
    - Dst: g_close
      Src: /src/glib/glib/tests/fileutils.c:2149,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:552,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:1011,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1043,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/fileutils.c:1726,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:2024,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2696,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/fileutils.c:1458,1
    - Dst: g_lstat
      Src: /src/glib/glib/tests/fileutils.c:1808,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1082,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:793,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1052,1
    - Dst: g_mkstemp
      Src: /src/glib/glib/tests/fileutils.c:1362,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/fileutils.c:2640,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:822,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:938,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1273,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:1591,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:513,1
    - Dst: g_rmdir
      Src: /src/glib/glib/tests/fileutils.c:703,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/glib/tests/fileutils.c:835,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1409,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:2160,1
    - Dst: TESTCASE
      Src: /src/glib/glib/tests/fileutils.c:2405,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2624,1
    - Dst: g_clear_fd
      Src: /src/glib/glib/tests/fileutils.c:2676,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:2046,1
    - Dst: symlink
      Src: /src/glib/glib/tests/fileutils.c:1749,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1940,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:654,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:691,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:777,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1221,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:1466,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1623,1
    - Dst: strcpy
      Src: /src/glib/glib/tests/fileutils.c:1361,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1140,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/fileutils.c:1230,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:522,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:576,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:625,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:678,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:1008,1
    - Dst: _chsize_s
      Src: /src/glib/glib/tests/fileutils.c:1487,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:631,1
    - Dst: g_mkdir
      Src: /src/glib/glib/tests/fileutils.c:888,1
    - Dst: g_format_size
      Src: /src/glib/glib/tests/fileutils.c:939,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:1011,1
    - Dst: strstr
      Src: /src/glib/glib/tests/fileutils.c:1399,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1466,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/fileutils.c:1619,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2056,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:2002,1
    - Dst: _g_win32_strip_extended_ntobjm_prefix
      Src: /src/glib/glib/tests/fileutils.c:2322,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/fileutils.c:2028,1
    - Dst: strcpy
      Src: /src/glib/glib/tests/fileutils.c:1414,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/fileutils.c:1453,1
    - Dst: g_test_init
      Src: /src/glib/glib/tests/fileutils.c:2744,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2750,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2767,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:838,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:950,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:1749,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:1967,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1079,1
    - Dst: g_format_size
      Src: /src/glib/glib/tests/fileutils.c:945,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:987,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1049,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:2219,1
    - Dst: IDENTITY_TEST
      Src: /src/glib/glib/tests/fileutils.c:2277,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2762,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:533,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:1003,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:1207,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1233,1
    - Dst: g_fopen
      Src: /src/glib/glib/tests/fileutils.c:1448,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/fileutils.c:2075,1
    - Dst: g_get_current_dir
      Src: /src/glib/glib/tests/fileutils.c:2137,1
    - Dst: fopen
      Src: /src/glib/glib/tests/fileutils.c:2037,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/fileutils.c:2003,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:487,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:562,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:716,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:801,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/fileutils.c:1222,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1468,1
    - Dst: g_chdir
      Src: /src/glib/glib/tests/fileutils.c:2124,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1802,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:576,1
    - Dst: g_format_size_for_display
      Src: /src/glib/glib/tests/fileutils.c:933,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:955,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1257,1
    - Dst: g_clear_fd
      Src: /src/glib/glib/tests/fileutils.c:2636,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:526,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:798,1
    - Dst: unlink
      Src: /src/glib/glib/tests/fileutils.c:1349,1
    - Dst: IDENTITY_TEST
      Src: /src/glib/glib/tests/fileutils.c:2273,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/fileutils.c:1974,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/fileutils.c:2226,1
    - Dst: g_unlink
      Src: /src/glib/glib/tests/fileutils.c:2691,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/fileutils.c:2727,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:1278,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/tests/fileutils.c:2314,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:828,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:977,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1946,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/fileutils.c:1242,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1656,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1659,1
    - Dst: g_mkstemp
      Src: /src/glib/glib/tests/fileutils.c:1359,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:2048,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2134,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:2196,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:522,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:530,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:558,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:705,1
    - Dst: g_rmdir
      Src: /src/glib/glib/tests/fileutils.c:1231,1
    - Dst: wcscmp
      Src: /src/glib/glib/tests/fileutils.c:2248,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:603,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/fileutils.c:1127,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1899,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2763,1
    - Dst: g_chmod
      Src: /src/glib/glib/tests/fileutils.c:2133,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:2577,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1091,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/fileutils.c:1714,1
    - Dst: symlink
      Src: /src/glib/glib/tests/fileutils.c:2020,1
    - Dst: g_chdir
      Src: /src/glib/glib/tests/fileutils.c:2182,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/fileutils.c:823,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:939,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:950,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1031,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1061,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1615,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1308,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2362,1
    - Dst: g_mkdtemp
      Src: /src/glib/glib/tests/fileutils.c:1412,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/fileutils.c:1194,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/fileutils.c:1584,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:484,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:643,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:652,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:983,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:992,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/fileutils.c:1222,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/tests/fileutils.c:1801,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:970,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:631,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:693,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:837,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:487,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:503,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1614,1
    - Dst: g_fsync
      Src: /src/glib/glib/tests/fileutils.c:1740,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:1302,1
    - Dst: g_mkdtemp
      Src: /src/glib/glib/tests/fileutils.c:1415,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1660,1
    - Dst: symlink
      Src: /src/glib/glib/tests/fileutils.c:2041,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:933,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:955,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/fileutils.c:1336,1
    - Dst: S_ISDIR
      Src: /src/glib/glib/tests/fileutils.c:2103,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1741,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:964,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/fileutils.c:1106,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:952,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:1772,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:496,1
    - Dst: g_format_size_for_display
      Src: /src/glib/glib/tests/fileutils.c:928,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:961,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1738,1
    - Dst: write
      Src: /src/glib/glib/tests/fileutils.c:1364,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2013,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1359,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:977,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:973,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:613,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1371,1
    - Dst: g_access
      Src: /src/glib/glib/tests/fileutils.c:2152,1
    - Dst: g_fopen
      Src: /src/glib/glib/tests/fileutils.c:2228,1
    - Dst: g_stat
      Src: /src/glib/glib/tests/fileutils.c:2101,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1424,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2325,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:514,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1022,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1363,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:2143,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:1606,1
    - Dst: g_fsync
      Src: /src/glib/glib/tests/fileutils.c:1947,1
    - Dst: g_clear_fd
      Src: /src/glib/glib/tests/fileutils.c:2687,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:635,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:643,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:492,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:500,1
    - Dst: strcpy
      Src: /src/glib/glib/tests/fileutils.c:1380,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/fileutils.c:1572,1
    - Dst: g_file_read_link
      Src: /src/glib/glib/tests/fileutils.c:2022,1
    - Dst: mkdir
      Src: /src/glib/glib/tests/fileutils.c:782,1
    - Dst: g_format_size_for_display
      Src: /src/glib/glib/tests/fileutils.c:929,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:961,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:1013,1
    - Dst: g_rmdir
      Src: /src/glib/glib/tests/fileutils.c:1400,1
    - Dst: g_get_current_dir
      Src: /src/glib/glib/tests/fileutils.c:829,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:999,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/fileutils.c:1791,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:2054,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:2041,1
    - Dst: to_hex
      Src: /src/glib/glib/tests/fileutils.c:2583,1
    - Dst: assert_fd_was_closed
      Src: /src/glib/glib/tests/fileutils.c:2690,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/glib/tests/fileutils.c:847,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:500,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:558,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/fileutils.c:1237,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/fileutils.c:1805,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:1847,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/glib/tests/fileutils.c:2613,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1643,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:613,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:970,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:992,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1222,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:1943,1
    - Dst: g_file_read_link
      Src: /src/glib/glib/tests/fileutils.c:2052,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:679,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:887,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:492,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:2106,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1046,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:639,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1350,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/fileutils.c:1578,1
    - Dst: g_get_current_dir
      Src: /src/glib/glib/tests/fileutils.c:2006,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2748,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:530,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:945,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:987,1
    - Dst: memcpy
      Src: /src/glib/glib/tests/fileutils.c:2340,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1341,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2759,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2776,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2692,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1046,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1763,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:496,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:603,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1076,1
    - Dst: g_unlink
      Src: /src/glib/glib/tests/fileutils.c:1968,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/fileutils.c:1275,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1423,1
    - Dst: assert_fd_was_closed
      Src: /src/glib/glib/tests/fileutils.c:2630,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/fileutils.c:1460,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1806,1
    - Dst: g_fopen
      Src: /src/glib/glib/tests/fileutils.c:707,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:835,1
    - Dst: g_format_size_for_display
      Src: /src/glib/glib/tests/fileutils.c:934,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/fileutils.c:1196,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:639,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:853,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1970,1
    - Dst: write
      Src: /src/glib/glib/tests/fileutils.c:1644,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:514,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:978,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1230,1
    - Dst: g_fsync
      Src: /src/glib/glib/tests/fileutils.c:1873,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:2220,1
    - Dst: g_assert_memcmp
      Src: /src/glib/glib/tests/fileutils.c:2587,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2719,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2324,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:527,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:667,1
    - Dst: mkdir
      Src: /src/glib/glib/tests/fileutils.c:779,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/fileutils.c:824,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:973,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1303,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:1622,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/fileutils.c:1266,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:619,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:681,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:928,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/fileutils.c:1297,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1351,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:519,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:588,1
    - Dst: g_chmod
      Src: /src/glib/glib/tests/fileutils.c:780,1
    - Dst: g_file_set_contents_full
      Src: /src/glib/glib/tests/fileutils.c:1888,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:483,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/fileutils.c:1109,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/glib/tests/fileutils.c:1219,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/fileutils.c:1289,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1412,1
    - Dst: g_mkdtemp
      Src: /src/glib/glib/tests/fileutils.c:1432,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:1740,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1232,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:904,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:718,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:841,1
    - Dst: g_format_size
      Src: /src/glib/glib/tests/fileutils.c:940,1
    - Dst: strerror
      Src: /src/glib/glib/tests/fileutils.c:1496,1
    - Dst: read
      Src: /src/glib/glib/tests/fileutils.c:1369,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:694,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:984,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:1004,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2755,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2772,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/fileutils.c:2129,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:1661,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:956,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:966,1
    - Dst: get_largefile_check_len
      Src: /src/glib/glib/tests/fileutils.c:1584,1
    - Dst: g_fsync
      Src: /src/glib/glib/tests/fileutils.c:1614,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:574,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2175,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/tests/fileutils.c:1648,1
    - Dst: g_chmod
      Src: /src/glib/glib/tests/fileutils.c:1875,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2591,1
    - Dst: g_close
      Src: /src/glib/glib/tests/fileutils.c:2619,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:594,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:609,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/fileutils.c:819,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:934,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:1947,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2100,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2653,1
    - Dst: _g_win32_strip_extended_ntobjm_prefix
      Src: /src/glib/glib/tests/fileutils.c:2358,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:804,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:1469,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:1737,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/fileutils.c:1257,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/fileutils.c:1884,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1971,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:984,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1279,1
    - Dst: strcpy
      Src: /src/glib/glib/tests/fileutils.c:1354,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/fileutils.c:1904,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:2183,1
    - Dst: wcslen
      Src: /src/glib/glib/tests/fileutils.c:2359,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:497,1
    - Dst: ftruncate64
      Src: /src/glib/glib/tests/fileutils.c:1489,1
    - Dst: g_unlink
      Src: /src/glib/glib/tests/fileutils.c:1267,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2178,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:568,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/glib/tests/fileutils.c:766,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:899,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:966,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1295,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1225,1
    - Dst: IDENTITY_TEST
      Src: /src/glib/glib/tests/fileutils.c:2274,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1401,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/fileutils.c:1496,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:488,1
    - Dst: MAKELANGID
      Src: /src/glib/glib/tests/fileutils.c:925,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:951,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1900,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:2678,1
    - Dst: g_mkstemp
      Src: /src/glib/glib/tests/fileutils.c:1381,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2156,1
    - Dst: g_file_read_link
      Src: /src/glib/glib/tests/fileutils.c:2059,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:609,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:1009,1
    - Dst: check_cap_dac_override
      Src: /src/glib/glib/tests/fileutils.c:2108,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/fileutils.c:1962,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2753,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:1432,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:978,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1417,1
    - Dst: get_largefile_check_len
      Src: /src/glib/glib/tests/fileutils.c:1572,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:483,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:523,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:578,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:635,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:1135,1
    - Dst: g_unlink
      Src: /src/glib/glib/tests/fileutils.c:2623,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1274,1
    - Dst: fwrite
      Src: /src/glib/glib/tests/fileutils.c:1449,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1834,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:588,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:719,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:940,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:993,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:1004,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:1013,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/fileutils.c:1556,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:956,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2751,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/fileutils.c:2768,1
    - Dst: MAKELCID
      Src: /src/glib/glib/tests/fileutils.c:925,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1208,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:554,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:623,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:720,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1655,1
    - Dst: g_clear_fd
      Src: /src/glib/glib/tests/fileutils.c:2695,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:1416,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:1870,1
    - Dst: g_rmdir
      Src: /src/glib/glib/tests/fileutils.c:1434,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/fileutils.c:1792,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:484,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:842,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:1009,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/fileutils.c:1199,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:1253,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:1229,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/tests/fileutils.c:2334,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/glib/tests/fileutils.c:841,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:962,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:2620,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:2093,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/fileutils.c:1608,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/fileutils.c:2068,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:645,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/fileutils.c:768,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/fileutils.c:830,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:493,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:586,1
    - Dst: to_hex
      Src: /src/glib/glib/tests/fileutils.c:2584,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:682,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/fileutils.c:1282,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:2618,1
    - Dst: wcslen
      Src: /src/glib/glib/tests/fileutils.c:2313,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1064,1
    - Dst: g_mkdtemp
      Src: /src/glib/glib/tests/fileutils.c:1404,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1612,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1094,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:2150,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:623,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1022,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1049,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1079,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:617,1
    - Dst: g_build_filenamev
      Src: /src/glib/glib/tests/fileutils.c:645,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:586,1
    - Dst: g_stat
      Src: /src/glib/glib/tests/fileutils.c:2097,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:2016,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1613,1
    - Dst: g_format_size
      Src: /src/glib/glib/tests/fileutils.c:942,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2683,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:2697,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1426,1
    - Dst: unlink
      Src: /src/glib/glib/tests/fileutils.c:1258,1
    - Dst: g_file_read_link
      Src: /src/glib/glib/tests/fileutils.c:2014,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/tests/fileutils.c:2384,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:1433,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:2029,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:1000,1
    - Dst: IDENTITY_TEST
      Src: /src/glib/glib/tests/fileutils.c:2278,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:568,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:637,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:523,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/fileutils.c:1403,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/fileutils.c:2062,1
    - Dst: g_test_get_filename
      Src: /src/glib/glib/tests/fileutils.c:2008,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:696,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:779,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:849,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:518,1
    - Dst: g_format_size_for_display
      Src: /src/glib/glib/tests/fileutils.c:930,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:993,1
    CyclomaticComplexity: 224
    EdgeCount: 224
    ICount: 2268
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2780
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 2780
    functionName: test_build_filename
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_path_get_basename
    - g_strerror
    - to_hex
    - is_error_in_list
    - g_file_error_from_errno
    - SetThreadLocale
    - g_mkdtemp
    - get_largefile_check_len
    - wcscmp
    - g_assert_no_errno
    - g_utf16_to_utf8
    - g_test_trap_assert_passed
    - G_N_ELEMENTS
    - g_assert_nonnull
    - g_file_test
    - g_mkdir
    - g_path_get_dirname
    - check_string
    - g_assert_not_reached
    - ftruncate64
    - lseek
    - g_assert_error
    - memcmp
    - g_test_incomplete
    - g_file_read_link
    - fopen
    - g_clear_fd
    - g_chdir
    - g_rmdir
    - g_test_add_func
    - g_printerr
    - g_mkstemp
    - g_basename
    - GLIB_PRIVATE_CALL
    - g_file_open_tmp
    - symlink
    - g_utime
    - g_test_assert_expected_messages
    - strcat
    - MAKELCID
    - g_test_bug
    - g_fopen
    - g_format_size
    - S_ISDIR
    - write
    - strlen
    - _chsize_s
    - g_assert_cmpuint
    - g_test_get_filename
    - strcpy
    - g_assert_no_error
    - g_test_expect_message
    - g_stat
    - MAKELANGID
    - wcslen
    - g_str_has_prefix
    - g_rename
    - _g_win32_strip_extended_ntobjm_prefix
    - memcpy
    - g_strconcat
    - g_format_size_for_display
    - g_file_get_contents
    - g_get_current_dir
    - g_test_init
    - g_fsync
    - g_test_slow
    - g_assert_false
    - g_test_skip
    - g_assert_cmpint
    - g_assert_memcmp
    - g_access
    - g_setenv
    - G_GINT64_CONSTANT
    - g_dir_make_tmp
    - g_test_trap_subprocess
    - g_string_new
    - mkdir
    - test_mkdir_with_parents_1
    - g_clear_error
    - g_test_summary
    - remove
    - g_test_verbose
    - g_assert
    - g_test_trap_assert_stderr
    - g_assert_cmpstr
    - rmdir
    - g_new0
    - _g_win32_copy_and_maybe_terminate
    - time
    - g_assert_null
    - TESTCASE
    - g_creat
    - assert_fd_was_closed
    - g_build_filenamev
    - g_format_size_full
    - g_error
    - g_open
    - check_cap_dac_override
    - g_assert_true
    - g_unlink
    - g_mkdir_with_parents
    - resize_file
    - g_log_set_always_fatal
    - g_free
    - g_test_run
    - unlink
    - g_error_free
    - g_build_filename
    - g_chmod
    - g_assert_cmpwcs
    - g_strdup
    - g_test_message
    - g_getenv
    - g_test_undefined
    - g_file_set_contents
    - g_log_set_fatal_mask
    - g_string_append_printf
    - strstr
    - fwrite
    - fclose
    - strerror
    - g_malloc0
    - g_close
    - close
    - g_string_free
    - g_get_tmp_dir
    - IDENTITY_TEST
    - g_remove
    - g_lstat
    - read
    - g_file_set_contents_full
    linkageType: ''
    returnType: void
    signature: 'static void test_build_filename (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:231,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:233,1
    - Dst: g_path_get_basename
      Src: /src/glib/glib/tests/fileutils.c:237,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:249,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:242,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:248,1
    - Dst: g_canonicalize_filename
      Src: /src/glib/glib/tests/fileutils.c:270,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:281,1
    - Dst: g_path_get_basename
      Src: /src/glib/glib/tests/fileutils.c:232,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:241,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:239,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/fileutils.c:258,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:260,1
    - Dst: g_canonicalize_filename
      Src: /src/glib/glib/tests/fileutils.c:279,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:283,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/fileutils.c:108,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:230,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/fileutils.c:225,1
    - Dst: g_path_get_basename
      Src: /src/glib/glib/tests/fileutils.c:240,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:272,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:282,1
    - Dst: g_path_get_basename
      Src: /src/glib/glib/tests/fileutils.c:229,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/fileutils.c:132,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:234,1
    - Dst: g_path_skip_root
      Src: /src/glib/glib/tests/fileutils.c:254,1
    - Dst: g_path_get_dirname
      Src: /src/glib/glib/tests/fileutils.c:247,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:238,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:274,1
    - Dst: g_get_current_dir
      Src: /src/glib/glib/tests/fileutils.c:280,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 53
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 285
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 285
    functionName: test_paths
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_path_get_dirname
    - g_path_get_basename
    - g_canonicalize_filename
    - G_N_ELEMENTS
    - strcmp
    - g_assert_cmpstr
    - g_path_skip_root
    - g_get_current_dir
    - g_error
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_paths (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:368,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:372,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:391,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:397,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:434,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:401,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:475,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:397,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:387,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:391,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:401,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:364,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:387,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:440,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:440,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:459,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:463,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:428,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:426,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:438,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:411,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:444,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:457,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:461,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:473,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:475,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:477,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:477,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:424,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:377,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:385,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:428,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:426,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:438,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:444,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:449,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:453,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:473,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:368,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:385,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:409,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:405,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:449,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:453,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:465,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:467,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:469,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:471,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:424,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:434,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:372,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:405,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:409,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:465,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:467,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:469,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:471,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:364,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:379,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:381,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:383,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:389,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:419,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:421,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:403,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:399,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:442,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:399,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:415,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:413,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:417,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:366,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:381,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:379,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:383,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:389,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:403,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:413,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:432,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:415,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:370,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:395,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:417,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:430,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:432,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:366,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:370,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:377,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:395,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:411,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:430,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:457,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:461,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:436,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:446,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:459,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:463,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:393,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:436,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:374,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:446,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:451,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:455,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:374,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:393,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:407,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:451,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:455,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:421,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:407,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:419,1
    - Dst: g_build_pathv
      Src: /src/glib/glib/tests/fileutils.c:442,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 277
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 478
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 478
    functionName: test_build_pathv
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_build_pathv
    - check_string
    - g_assert_null
    linkageType: ''
    returnType: void
    signature: 'static void test_build_pathv (void) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:667,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:678,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:682,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/glib/tests/fileutils.c:684,1
    - Dst: g_fopen
      Src: /src/glib/glib/tests/fileutils.c:707,1
    - Dst: fclose
      Src: /src/glib/glib/tests/fileutils.c:710,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/glib/tests/fileutils.c:715,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:716,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:722,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:723,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:720,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:666,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:668,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:673,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:681,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:693,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:694,1
    - Dst: g_rmdir
      Src: /src/glib/glib/tests/fileutils.c:703,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:705,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:709,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/glib/tests/fileutils.c:712,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:718,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:672,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:676,1
    - Dst: g_rmdir
      Src: /src/glib/glib/tests/fileutils.c:699,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:701,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:704,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:713,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:719,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:724,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:671,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:675,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:679,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:687,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:691,1
    - Dst: g_strerror
      Src: /src/glib/glib/tests/fileutils.c:687,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:690,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:696,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:697,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:700,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 1
    argNames:
    - base
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 725
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 725
    functionName: test_mkdir_with_parents_1
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_mkdir_with_parents
    - fclose
    - g_strerror
    - g_fopen
    - g_build_filename
    - g_rmdir
    - g_remove
    - g_error
    - g_file_test
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_mkdir_with_parents_1 (const gchar *base) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:1256,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1254,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1259,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1260,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1266,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/fileutils.c:1266,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1273,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/fileutils.c:1276,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/fileutils.c:1282,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1290,1
    - Dst: remove
      Src: /src/glib/glib/tests/fileutils.c:1307,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1257,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/fileutils.c:1257,1
    - Dst: unlink
      Src: /src/glib/glib/tests/fileutils.c:1258,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:1265,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1268,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1279,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/fileutils.c:1281,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/fileutils.c:1289,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:1294,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1295,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/fileutils.c:1315,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1298,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:1253,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1264,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/fileutils.c:1266,1
    - Dst: g_unlink
      Src: /src/glib/glib/tests/fileutils.c:1267,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1263,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1269,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1274,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:1278,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1280,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:1286,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:1311,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1314,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1303,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1317,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1305,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1255,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/fileutils.c:1257,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:1262,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:1272,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/fileutils.c:1275,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1287,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/fileutils.c:1297,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/fileutils.c:1306,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1312,1
    - Dst: remove
      Src: /src/glib/glib/tests/fileutils.c:1316,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1308,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/fileutils.c:1302,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 69
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1318
      start: 1246
    functionDepth: 0
    functionLinenumber: 1246
    functionLinenumberEnd: 1318
    functionName: test_file_open_tmp
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_assert_true
    - g_unlink
    - g_assert_null
    - g_getenv
    - remove
    - g_assert_nonnull
    - g_assert_error
    - unlink
    - g_assert_no_error
    - g_str_has_prefix
    - g_file_open_tmp
    - close
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_file_open_tmp (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/tests/fileutils.c:1396,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1417,1
    - Dst: strcat
      Src: /src/glib/glib/tests/fileutils.c:1421,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:1425,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1426,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:1432,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:1433,1
    - Dst: g_mkdtemp
      Src: /src/glib/glib/tests/fileutils.c:1397,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1401,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1409,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1412,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1406,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/fileutils.c:1418,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1419,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1424,1
    - Dst: strcpy
      Src: /src/glib/glib/tests/fileutils.c:1431,1
    - Dst: g_mkdtemp
      Src: /src/glib/glib/tests/fileutils.c:1432,1
    - Dst: g_rmdir
      Src: /src/glib/glib/tests/fileutils.c:1434,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1399,1
    - Dst: strstr
      Src: /src/glib/glib/tests/fileutils.c:1399,1
    - Dst: g_rmdir
      Src: /src/glib/glib/tests/fileutils.c:1400,1
    - Dst: g_mkdtemp
      Src: /src/glib/glib/tests/fileutils.c:1404,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1405,1
    - Dst: g_mkdtemp
      Src: /src/glib/glib/tests/fileutils.c:1409,1
    - Dst: g_mkdtemp
      Src: /src/glib/glib/tests/fileutils.c:1412,1
    - Dst: g_mkdtemp
      Src: /src/glib/glib/tests/fileutils.c:1415,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:1416,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:1418,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1433,1
    - Dst: g_rmdir
      Src: /src/glib/glib/tests/fileutils.c:1429,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1429,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/fileutils.c:1398,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/fileutils.c:1403,1
    - Dst: strcpy
      Src: /src/glib/glib/tests/fileutils.c:1408,1
    - Dst: strcpy
      Src: /src/glib/glib/tests/fileutils.c:1411,1
    - Dst: strcpy
      Src: /src/glib/glib/tests/fileutils.c:1414,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:1419,1
    - Dst: g_open
      Src: /src/glib/glib/tests/fileutils.c:1422,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1423,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1425,1
    - Dst: g_unlink
      Src: /src/glib/glib/tests/fileutils.c:1426,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 55
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1435
      start: 1388
    functionDepth: 0
    functionLinenumber: 1388
    functionLinenumberEnd: 1435
    functionName: test_mkdtemp
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - strcat
    - g_strdup
    - g_assert_true
    - g_open
    - g_unlink
    - g_assert_null
    - g_assert
    - g_assert_nonnull
    - strcpy
    - g_mkdtemp
    - close
    - g_assert_false
    - g_file_test
    - g_rmdir
    - g_free
    - strstr
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_mkdtemp (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_open
      Src: /src/glib/glib/tests/fileutils.c:1483,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1484,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/fileutils.c:1496,1
    - Dst: _chsize_s
      Src: /src/glib/glib/tests/fileutils.c:1487,1
    - Dst: ftruncate64
      Src: /src/glib/glib/tests/fileutils.c:1489,1
    - Dst: strerror
      Src: /src/glib/glib/tests/fileutils.c:1496,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1497,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1501,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - filename
    - size
    argTypes:
    - gchar*
    - gint64
    constantsTouched: []
    func_position:
      end: 1503
      start: 1476
    functionDepth: 0
    functionLinenumber: 1476
    functionLinenumberEnd: 1503
    functionName: resize_file
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - strerror
    - _chsize_s
    - g_test_message
    - ftruncate64
    - close
    - g_open
    - g_assert_cmpint
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean resize_file (const gchar *filename, gint64 size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_file_get_contents
      Src: /src/glib/glib/tests/fileutils.c:1529,1
    - Dst: is_error_in_list
      Src: /src/glib/glib/tests/fileutils.c:1538,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1533,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1537,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1532,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/fileutils.c:1540,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1545,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/fileutils.c:1547,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - filename
    - large_len
    - ok_list
    - ok_count
    argTypes:
    - gchar*
    - gint64
    - GFileError
    - size_t
    constantsTouched: []
    func_position:
      end: 1549
      start: 1518
    functionDepth: 0
    functionLinenumber: 1518
    functionLinenumberEnd: 1549
    functionName: get_largefile_check_len
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_test_message
    - is_error_in_list
    - g_assert_no_error
    - g_file_get_contents
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void get_largefile_check_len (const gchar *filename, gint64
      large_len, const GFileError ok_list[], size_t ok_count) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_message
      Src: /src/glib/glib/tests/fileutils.c:1937,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/glib/tests/fileutils.c:1939,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1945,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1946,1
    - Dst: g_file_set_contents_full
      Src: /src/glib/glib/tests/fileutils.c:1953,1
    - Dst: g_chmod
      Src: /src/glib/glib/tests/fileutils.c:1950,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/fileutils.c:1963,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:1967,1
    - Dst: check_cap_dac_override
      Src: /src/glib/glib/tests/fileutils.c:1941,1
    - Dst: g_open
      Src: /src/glib/glib/tests/fileutils.c:1944,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:1947,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/fileutils.c:1962,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:1958,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/fileutils.c:1966,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1971,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/fileutils.c:1974,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/fileutils.c:1926,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:1943,1
    - Dst: g_fsync
      Src: /src/glib/glib/tests/fileutils.c:1947,1
    - Dst: close
      Src: /src/glib/glib/tests/fileutils.c:1948,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:1950,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1970,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1940,1
    - Dst: write
      Src: /src/glib/glib/tests/fileutils.c:1946,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:1957,1
    - Dst: g_unlink
      Src: /src/glib/glib/tests/fileutils.c:1968,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1976
      start: 1915
    functionDepth: 0
    functionLinenumber: 1915
    functionLinenumberEnd: 1976
    functionName: test_set_contents_full_read_only_directory
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_open
    - g_assert_no_errno
    - check_cap_dac_override
    - g_assert_true
    - g_unlink
    - g_fsync
    - g_build_filename
    - g_assert_false
    - g_chmod
    - g_test_skip
    - g_assert_cmpint
    - write
    - g_test_message
    - g_assert_no_error
    - g_dir_make_tmp
    - g_assert_error
    - g_clear_error
    - g_test_summary
    - close
    - g_remove
    - g_free
    - g_file_set_contents_full
    linkageType: ''
    returnType: void
    signature: 'static void test_set_contents_full_read_only_directory (void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _g_win32_copy_and_maybe_terminate
      Src: /src/glib/glib/tests/fileutils.c:2568,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:2586,1
    - Dst: g_assert_memcmp
      Src: /src/glib/glib/tests/fileutils.c:2587,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:2577,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2588,1
    - Dst: to_hex
      Src: /src/glib/glib/tests/fileutils.c:2583,1
    - Dst: to_hex
      Src: /src/glib/glib/tests/fileutils.c:2584,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2591,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2578,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:2582,1
    - Dst: memcmp
      Src: /src/glib/glib/tests/fileutils.c:2585,1
    - Dst: g_malloc0
      Src: /src/glib/glib/tests/fileutils.c:2565,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:2575,1
    - Dst: TESTCASE
      Src: /src/glib/glib/tests/fileutils.c:2405,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2589,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 466
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2593
      start: 2388
    functionDepth: 0
    functionLinenumber: 2388
    functionLinenumberEnd: 2593
    functionName: test_win32_zero_terminate_symlink
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_malloc0
    - g_assert_memcmp
    - TESTCASE
    - g_assert_nonnull
    - to_hex
    - memcmp
    - g_error
    - g_free
    - _g_win32_copy_and_maybe_terminate
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_win32_zero_terminate_symlink (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:776,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:767,1
    - Dst: mkdir
      Src: /src/glib/glib/tests/fileutils.c:779,1
    - Dst: g_chmod
      Src: /src/glib/glib/tests/fileutils.c:780,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/fileutils.c:784,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:785,1
    - Dst: rmdir
      Src: /src/glib/glib/tests/fileutils.c:798,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/fileutils.c:792,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:801,1
    - Dst: rmdir
      Src: /src/glib/glib/tests/fileutils.c:801,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:805,1
    - Dst: rmdir
      Src: /src/glib/glib/tests/fileutils.c:785,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/glib/tests/fileutils.c:766,1
    - Dst: mkdir
      Src: /src/glib/glib/tests/fileutils.c:782,1
    - Dst: g_chmod
      Src: /src/glib/glib/tests/fileutils.c:797,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:803,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/fileutils.c:768,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:777,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:779,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:780,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:798,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:797,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:793,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:804,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 1
    argNames:
    - tmpdir
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 810
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 810
    functionName: check_cap_dac_override
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_test_message
    - g_assert_no_error
    - g_dir_make_tmp
    - g_build_filename
    - rmdir
    - g_chmod
    - g_assert_no_errno
    - mkdir
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean check_cap_dac_override (const char *tmpdir) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_cap_dac_override
      Src: /src/glib/glib/tests/fileutils.c:883,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:889,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:910,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:911,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:912,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/glib/tests/fileutils.c:879,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:880,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:886,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/fileutils.c:893,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:900,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:905,1
    - Dst: g_chmod
      Src: /src/glib/glib/tests/fileutils.c:907,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:911,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:915,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:881,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:888,1
    - Dst: g_mkdir
      Src: /src/glib/glib/tests/fileutils.c:888,1
    - Dst: g_chmod
      Src: /src/glib/glib/tests/fileutils.c:889,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:899,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/glib/tests/fileutils.c:902,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:914,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:885,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:887,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:907,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/glib/tests/fileutils.c:897,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:904,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:910,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:913,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/fileutils.c:917,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 919
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 919
    functionName: test_mkdir_with_parents_permission
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_mkdir_with_parents
    - g_assert_nonnull
    - g_free
    - g_assert_no_error
    - g_dir_make_tmp
    - g_build_filename
    - g_remove
    - g_chmod
    - g_assert_no_errno
    - g_test_skip
    - g_mkdir
    - check_cap_dac_override
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_mkdir_with_parents_permission (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1028,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1040,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1037,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1058,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1058,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1070,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1088,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1088,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1067,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1031,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1034,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1040,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1043,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1049,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1061,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1070,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1073,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1079,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1085,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1094,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1076,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1085,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1082,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1094,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1022,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1025,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1034,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1046,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1043,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1052,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1055,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1061,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1064,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1073,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1091,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1091,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1079,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1022,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1028,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1025,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1031,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1037,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1046,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1049,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1052,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1055,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1064,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1082,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/glib/tests/fileutils.c:1076,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:1067,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 51
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1096
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1096
    functionName: test_file_errors
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_file_error_from_errno
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_file_errors (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/fileutils.c:1999,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/fileutils.c:2003,1
    - Dst: g_get_current_dir
      Src: /src/glib/glib/tests/fileutils.c:2006,1
    - Dst: remove
      Src: /src/glib/glib/tests/fileutils.c:2011,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2021,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:2016,1
    - Dst: remove
      Src: /src/glib/glib/tests/fileutils.c:2019,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2025,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2033,1
    - Dst: fopen
      Src: /src/glib/glib/tests/fileutils.c:2037,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:2055,1
    - Dst: g_file_read_link
      Src: /src/glib/glib/tests/fileutils.c:2052,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/fileutils.c:2075,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:2053,1
    - Dst: remove
      Src: /src/glib/glib/tests/fileutils.c:2072,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:2010,1
    - Dst: symlink
      Src: /src/glib/glib/tests/fileutils.c:2012,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2017,1
    - Dst: g_file_read_link
      Src: /src/glib/glib/tests/fileutils.c:2014,1
    - Dst: symlink
      Src: /src/glib/glib/tests/fileutils.c:2020,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:2029,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/fileutils.c:2030,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2035,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:2038,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:2048,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2049,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:2054,1
    - Dst: g_file_read_link
      Src: /src/glib/glib/tests/fileutils.c:2059,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/fileutils.c:2061,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/fileutils.c:1997,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:2002,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:2009,1
    - Dst: g_file_read_link
      Src: /src/glib/glib/tests/fileutils.c:2022,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:2023,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:2024,1
    - Dst: g_file_read_link
      Src: /src/glib/glib/tests/fileutils.c:2027,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2034,1
    - Dst: fclose
      Src: /src/glib/glib/tests/fileutils.c:2039,1
    - Dst: symlink
      Src: /src/glib/glib/tests/fileutils.c:2041,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:2066,1
    - Dst: symlink
      Src: /src/glib/glib/tests/fileutils.c:2042,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/fileutils.c:2067,1
    - Dst: remove
      Src: /src/glib/glib/tests/fileutils.c:2071,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/fileutils.c:2068,1
    - Dst: g_file_read_link
      Src: /src/glib/glib/tests/fileutils.c:2065,1
    - Dst: g_file_read_link
      Src: /src/glib/glib/tests/fileutils.c:2001,1
    - Dst: g_test_get_filename
      Src: /src/glib/glib/tests/fileutils.c:2008,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:2015,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2013,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/fileutils.c:2028,1
    - Dst: remove
      Src: /src/glib/glib/tests/fileutils.c:2032,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:2041,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/fileutils.c:2042,1
    - Dst: g_file_read_link
      Src: /src/glib/glib/tests/fileutils.c:2045,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:2046,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2056,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:2060,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:2047,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/fileutils.c:2062,1
    - Dst: remove
      Src: /src/glib/glib/tests/fileutils.c:2070,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 81
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2077
      start: 1978
    functionDepth: 0
    functionLinenumber: 1978
    functionLinenumberEnd: 2077
    functionName: test_read_link
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_assert_null
    - g_get_current_dir
    - symlink
    - g_assert_no_errno
    - g_test_assert_expected_messages
    - g_assert_nonnull
    - g_error_free
    - g_build_filename
    - g_test_skip
    - g_assert_cmpint
    - g_test_undefined
    - g_test_get_filename
    - g_test_expect_message
    - g_assert_no_error
    - g_assert_error
    - fclose
    - remove
    - g_file_read_link
    - g_assert_cmpstr
    - fopen
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_read_link (void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: test_mkdir_with_parents_1
      Src: /src/glib/glib/tests/fileutils.c:821,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:822,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/fileutils.c:824,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:835,1
    - Dst: test_mkdir_with_parents_1
      Src: /src/glib/glib/tests/fileutils.c:832,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/fileutils.c:831,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:838,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/glib/tests/fileutils.c:840,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:847,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/glib/tests/fileutils.c:847,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/glib/tests/fileutils.c:861,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/fileutils.c:819,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/fileutils.c:823,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:834,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/glib/tests/fileutils.c:835,1
    - Dst: g_rmdir
      Src: /src/glib/glib/tests/fileutils.c:836,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:837,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:848,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:856,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:861,1
    - Dst: check_cap_dac_override
      Src: /src/glib/glib/tests/fileutils.c:817,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/fileutils.c:820,1
    - Dst: test_mkdir_with_parents_1
      Src: /src/glib/glib/tests/fileutils.c:825,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:826,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:827,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:828,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:840,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/glib/tests/fileutils.c:841,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:842,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:853,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/glib/tests/fileutils.c:853,1
    - Dst: g_get_current_dir
      Src: /src/glib/glib/tests/fileutils.c:829,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:836,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/fileutils.c:830,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:841,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:849,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:862,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 863
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 863
    functionName: test_mkdir_with_parents
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_printerr
    - g_assert_cmpint
    - g_mkdir_with_parents
    - g_test_verbose
    - g_build_filename
    - g_remove
    - g_get_current_dir
    - g_rmdir
    - g_free
    - check_cap_dac_override
    - test_mkdir_with_parents_1
    linkageType: ''
    returnType: void
    signature: 'static void test_mkdir_with_parents (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:935,1
    - Dst: g_format_size_for_display
      Src: /src/glib/glib/tests/fileutils.c:934,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:949,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:960,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:968,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:963,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:1007,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:1008,1
    - Dst: MAKELCID
      Src: /src/glib/glib/tests/fileutils.c:925,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:930,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:934,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:957,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:980,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:983,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:990,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:998,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:1016,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:1009,1
    - Dst: g_format_size
      Src: /src/glib/glib/tests/fileutils.c:939,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:957,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:980,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:998,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:1006,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:1009,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:1011,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:1016,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:992,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:943,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:978,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:985,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:986,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:996,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:977,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:1001,1
    - Dst: SetThreadLocale
      Src: /src/glib/glib/tests/fileutils.c:925,1
    - Dst: g_format_size_for_display
      Src: /src/glib/glib/tests/fileutils.c:932,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:950,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:952,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:959,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:964,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:969,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:973,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:1010,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:1014,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:929,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:932,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:939,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:969,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:952,1
    - Dst: g_format_size
      Src: /src/glib/glib/tests/fileutils.c:945,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:950,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:947,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:973,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:984,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:961,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:966,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:962,1
    - Dst: g_format_size_for_display
      Src: /src/glib/glib/tests/fileutils.c:929,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:967,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:981,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:987,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:999,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:1003,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:1013,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:1011,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:949,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:928,1
    - Dst: g_format_size_for_display
      Src: /src/glib/glib/tests/fileutils.c:931,1
    - Dst: g_format_size_for_display
      Src: /src/glib/glib/tests/fileutils.c:935,1
    - Dst: g_format_size
      Src: /src/glib/glib/tests/fileutils.c:944,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:981,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:988,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:999,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:1003,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:968,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:963,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:960,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:1002,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:1007,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:1008,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:951,1
    - Dst: MAKELANGID
      Src: /src/glib/glib/tests/fileutils.c:925,1
    - Dst: g_format_size_for_display
      Src: /src/glib/glib/tests/fileutils.c:933,1
    - Dst: g_format_size
      Src: /src/glib/glib/tests/fileutils.c:938,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:955,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:953,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:970,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:974,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:976,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:983,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:953,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:931,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:933,1
    - Dst: g_format_size_for_display
      Src: /src/glib/glib/tests/fileutils.c:936,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:951,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:955,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:970,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:974,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:976,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:992,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:936,1
    - Dst: g_format_size
      Src: /src/glib/glib/tests/fileutils.c:940,1
    - Dst: g_format_size
      Src: /src/glib/glib/tests/fileutils.c:943,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:946,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:985,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:986,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:997,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:1001,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:1015,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:1006,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:938,1
    - Dst: g_format_size
      Src: /src/glib/glib/tests/fileutils.c:942,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:959,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:964,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:978,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:979,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:996,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:1000,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:1010,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:1014,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:997,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:1015,1
    - Dst: g_format_size
      Src: /src/glib/glib/tests/fileutils.c:946,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:945,1
    - Dst: g_format_size
      Src: /src/glib/glib/tests/fileutils.c:947,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:979,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:984,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:987,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:991,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:991,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:1000,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:1004,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:993,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:1004,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:1013,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:956,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:954,1
    - Dst: g_format_size_for_display
      Src: /src/glib/glib/tests/fileutils.c:928,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:940,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:942,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:966,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:962,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:967,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:961,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:975,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:956,1
    - Dst: g_format_size_for_display
      Src: /src/glib/glib/tests/fileutils.c:930,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:944,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:954,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:975,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:977,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:988,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:993,1
    - Dst: g_format_size_full
      Src: /src/glib/glib/tests/fileutils.c:1002,1
    - Dst: check_string
      Src: /src/glib/glib/tests/fileutils.c:990,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 276
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1017
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 1017
    functionName: test_format_size_for_display
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - check_string
    - g_format_size_for_display
    - MAKELCID
    - SetThreadLocale
    - g_format_size
    - MAKELANGID
    - g_format_size_full
    linkageType: ''
    returnType: void
    signature: 'static void test_format_size_for_display (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/fileutils.c:1104,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/fileutils.c:1109,1
    - Dst: g_basename
      Src: /src/glib/glib/tests/fileutils.c:1108,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1108,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/fileutils.c:1106,1
    - Dst: g_basename
      Src: /src/glib/glib/tests/fileutils.c:1112,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:1114,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1115
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1115
    functionName: test_basename
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_assert_null
    - g_test_undefined
    - g_assert_cmpstr
    - g_test_expect_message
    - g_basename
    linkageType: ''
    returnType: void
    signature: 'static void test_basename (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2098,1
    - Dst: g_chdir
      Src: /src/glib/glib/tests/fileutils.c:2124,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2142,1
    - Dst: g_stat
      Src: /src/glib/glib/tests/fileutils.c:2142,1
    - Dst: g_chmod
      Src: /src/glib/glib/tests/fileutils.c:2167,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2175,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2180,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:2183,1
    - Dst: g_close
      Src: /src/glib/glib/tests/fileutils.c:2159,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2136,1
    - Dst: g_stat
      Src: /src/glib/glib/tests/fileutils.c:2097,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/fileutils.c:2095,1
    - Dst: g_rmdir
      Src: /src/glib/glib/tests/fileutils.c:2094,1
    - Dst: g_mkdir
      Src: /src/glib/glib/tests/fileutils.c:2099,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2100,1
    - Dst: g_stat
      Src: /src/glib/glib/tests/fileutils.c:2101,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2102,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2103,1
    - Dst: S_ISDIR
      Src: /src/glib/glib/tests/fileutils.c:2103,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2110,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2178,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2156,1
    - Dst: g_open
      Src: /src/glib/glib/tests/fileutils.c:2158,1
    - Dst: g_rmdir
      Src: /src/glib/glib/tests/fileutils.c:2184,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:2150,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/fileutils.c:2160,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/fileutils.c:2119,1
    - Dst: check_cap_dac_override
      Src: /src/glib/glib/tests/fileutils.c:2108,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2126,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/fileutils.c:2129,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2141,1
    - Dst: g_stat
      Src: /src/glib/glib/tests/fileutils.c:2141,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/fileutils.c:2143,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2145,1
    - Dst: g_creat
      Src: /src/glib/glib/tests/fileutils.c:2148,1
    - Dst: g_close
      Src: /src/glib/glib/tests/fileutils.c:2149,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2153,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2134,1
    - Dst: g_rename
      Src: /src/glib/glib/tests/fileutils.c:2155,1
    - Dst: g_lstat
      Src: /src/glib/glib/tests/fileutils.c:2177,1
    - Dst: g_chdir
      Src: /src/glib/glib/tests/fileutils.c:2182,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2179,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:2093,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:2106,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2125,1
    - Dst: g_get_current_dir
      Src: /src/glib/glib/tests/fileutils.c:2105,1
    - Dst: g_chdir
      Src: /src/glib/glib/tests/fileutils.c:2135,1
    - Dst: g_get_current_dir
      Src: /src/glib/glib/tests/fileutils.c:2137,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2146,1
    - Dst: g_access
      Src: /src/glib/glib/tests/fileutils.c:2152,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/fileutils.c:2168,1
    - Dst: g_utime
      Src: /src/glib/glib/tests/fileutils.c:2174,1
    - Dst: time
      Src: /src/glib/glib/tests/fileutils.c:2171,1
    - Dst: g_chmod
      Src: /src/glib/glib/tests/fileutils.c:2133,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 86
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2185
      start: 2079
    functionDepth: 0
    functionLinenumber: 2079
    functionLinenumberEnd: 2185
    functionName: test_stdio_wrappers
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - time
    - g_get_current_dir
    - g_open
    - g_utime
    - check_cap_dac_override
    - g_assert_true
    - g_build_filename
    - g_chmod
    - S_ISDIR
    - g_mkdir
    - g_assert_cmpint
    - g_remove
    - g_test_message
    - g_access
    - g_assert_no_error
    - g_stat
    - g_assert
    - g_close
    - g_rename
    - g_chdir
    - g_lstat
    - g_rmdir
    - g_free
    - g_creat
    linkageType: ''
    returnType: void
    signature: 'static void test_stdio_wrappers (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wcscmp
      Src: /src/glib/glib/tests/fileutils.c:2248,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - str1
    - str2
    argTypes:
    - gunichar2*
    - gunichar2*
    constantsTouched: []
    func_position:
      end: 2249
      start: 2240
    functionDepth: 0
    functionLinenumber: 2240
    functionLinenumberEnd: 2249
    functionName: g_wcscmp0
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - wcscmp
    linkageType: ''
    returnType: int
    signature: 'static int g_wcscmp0 (const gunichar2 *str1, const gunichar2 *str2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/tests/fileutils.c:2380,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/tests/fileutils.c:2384,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/fileutils.c:2385,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/tests/fileutils.c:2382,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2386
      start: 2375
    functionDepth: 0
    functionLinenumber: 2375
    functionLinenumberEnd: 2386
    functionName: to_hex
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_string_append_printf
    - g_string_free
    - g_string_new
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *to_hex (const guchar *buf, gsize len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/fileutils.c:1122,1
    - Dst: g_path_get_basename
      Src: /src/glib/glib/tests/fileutils.c:1126,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1126,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/fileutils.c:1127,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/fileutils.c:1124,1
    - Dst: g_path_get_basename
      Src: /src/glib/glib/tests/fileutils.c:1130,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:1131,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1132,1
    - Dst: g_path_get_basename
      Src: /src/glib/glib/tests/fileutils.c:1134,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:1135,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1136,1
    - Dst: g_path_get_basename
      Src: /src/glib/glib/tests/fileutils.c:1138,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:1139,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1141
      start: 1117
    functionDepth: 0
    functionLinenumber: 1117
    functionLinenumberEnd: 1141
    functionName: test_get_basename
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_path_get_basename
    - g_assert_null
    - g_test_undefined
    - g_assert_cmpstr
    - g_test_expect_message
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_get_basename (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/fileutils.c:2196,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/fileutils.c:2222,1
    - Dst: g_error
      Src: /src/glib/glib/tests/fileutils.c:2220,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/fileutils.c:2217,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/fileutils.c:2219,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/fileutils.c:2226,1
    - Dst: g_fopen
      Src: /src/glib/glib/tests/fileutils.c:2228,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:2229,1
    - Dst: fclose
      Src: /src/glib/glib/tests/fileutils.c:2230,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/fileutils.c:2233,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2234,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2235
      start: 2193
    functionDepth: 0
    functionLinenumber: 2193
    functionLinenumberEnd: 2235
    functionName: test_fopen_modes
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - fclose
    - G_N_ELEMENTS
    - g_test_message
    - g_assert_nonnull
    - g_test_bug
    - g_fopen
    - g_build_filename
    - g_remove
    - g_error
    - g_file_test
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_fopen_modes (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/fileutils.c:1194,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/fileutils.c:1196,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/fileutils.c:1198,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/fileutils.c:1199,1
    - Dst: g_path_get_dirname
      Src: /src/glib/glib/tests/fileutils.c:1198,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/fileutils.c:1202,1
    - Dst: g_path_get_dirname
      Src: /src/glib/glib/tests/fileutils.c:1206,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/fileutils.c:1207,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:1208,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1210
      start: 1143
    functionDepth: 0
    functionLinenumber: 1143
    functionLinenumberEnd: 1210
    functionName: test_dirname
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - g_path_get_dirname
    - g_test_assert_expected_messages
    - g_assert_null
    - G_N_ELEMENTS
    - g_test_undefined
    - g_assert_cmpstr
    - g_test_expect_message
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_dirname (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpwcs
      Src: /src/glib/glib/tests/fileutils.c:2323,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2324,1
    - Dst: wcslen
      Src: /src/glib/glib/tests/fileutils.c:2359,1
    - Dst: g_assert_cmpwcs
      Src: /src/glib/glib/tests/fileutils.c:2361,1
    - Dst: IDENTITY_TEST
      Src: /src/glib/glib/tests/fileutils.c:2271,1
    - Dst: IDENTITY_TEST
      Src: /src/glib/glib/tests/fileutils.c:2274,1
    - Dst: IDENTITY_TEST
      Src: /src/glib/glib/tests/fileutils.c:2273,1
    - Dst: IDENTITY_TEST
      Src: /src/glib/glib/tests/fileutils.c:2275,1
    - Dst: IDENTITY_TEST
      Src: /src/glib/glib/tests/fileutils.c:2277,1
    - Dst: IDENTITY_TEST
      Src: /src/glib/glib/tests/fileutils.c:2278,1
    - Dst: IDENTITY_TEST
      Src: /src/glib/glib/tests/fileutils.c:2280,1
    - Dst: g_new0
      Src: /src/glib/glib/tests/fileutils.c:2320,1
    - Dst: memcpy
      Src: /src/glib/glib/tests/fileutils.c:2321,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:2318,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/tests/fileutils.c:2333,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/fileutils.c:2359,1
    - Dst: wcslen
      Src: /src/glib/glib/tests/fileutils.c:2342,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2364,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:2337,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/tests/fileutils.c:2314,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:2317,1
    - Dst: wcslen
      Src: /src/glib/glib/tests/fileutils.c:2313,1
    - Dst: wcslen
      Src: /src/glib/glib/tests/fileutils.c:2331,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/tests/fileutils.c:2334,1
    - Dst: _g_win32_strip_extended_ntobjm_prefix
      Src: /src/glib/glib/tests/fileutils.c:2358,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2362,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2363,1
    - Dst: IDENTITY_TEST
      Src: /src/glib/glib/tests/fileutils.c:2272,1
    - Dst: IDENTITY_TEST
      Src: /src/glib/glib/tests/fileutils.c:2276,1
    - Dst: IDENTITY_TEST
      Src: /src/glib/glib/tests/fileutils.c:2279,1
    - Dst: IDENTITY_TEST
      Src: /src/glib/glib/tests/fileutils.c:2281,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/tests/fileutils.c:2315,1
    - Dst: _g_win32_strip_extended_ntobjm_prefix
      Src: /src/glib/glib/tests/fileutils.c:2322,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2325,1
    - Dst: g_free
      Src: /src/glib/glib/tests/fileutils.c:2326,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/fileutils.c:2336,1
    - Dst: g_new0
      Src: /src/glib/glib/tests/fileutils.c:2339,1
    - Dst: memcpy
      Src: /src/glib/glib/tests/fileutils.c:2340,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 55
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2366
      start: 2259
    functionDepth: 0
    functionLinenumber: 2259
    functionLinenumberEnd: 2366
    functionName: test_win32_pathstrip
    functionSourceFile: /src/glib/glib/tests/fileutils.c
    functionUses: []
    functionsReached:
    - memcpy
    - wcslen
    - g_assert_nonnull
    - g_free
    - g_assert_cmpuint
    - IDENTITY_TEST
    - _g_win32_strip_extended_ntobjm_prefix
    - g_new0
    - g_assert_cmpwcs
    - g_utf16_to_utf8
    linkageType: ''
    returnType: void
    signature: 'static void test_win32_pathstrip (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/constructor-helper.c:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - buf
    - from
    - size
    - to
    argTypes:
    - char*
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 95
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 95
    functionName: memmove_
    functionSourceFile: /src/glib/glib/tests/constructor-helper.c
    functionUses: []
    functionsReached:
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void memmove_ (char *buf, size_t from, size_t size, size_t
      to) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - dst
    - val
    - size
    argTypes:
    - char*
    - char
    - size_t
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: memset_
    functionSourceFile: /src/glib/glib/tests/constructor-helper.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void memset_ (char *dst, char val, size_t size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/constructor-helper.c:151,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/constructor-helper.c:152,1
    - Dst: g_error
      Src: /src/glib/glib/tests/constructor-helper.c:157,1
    - Dst: memcpy_
      Src: /src/glib/glib/tests/constructor-helper.c:159,1
    - Dst: strlen_
      Src: /src/glib/glib/tests/constructor-helper.c:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 162
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 162
    functionName: string_add
    functionSourceFile: /src/glib/glib/tests/constructor-helper.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - strlen_
    - g_assert_nonnull
    - memcpy_
    - g_error
    linkageType: ''
    returnType: MODULE_EXPORT
    signature: 'MODULE_EXPORT void string_add (const char *string) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: string_find_index_
      Src: /src/glib/glib/tests/constructor-helper.c:194,1
    - Dst: memmove_
      Src: /src/glib/glib/tests/constructor-helper.c:203,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/constructor-helper.c:200,1
    - Dst: strlen_
      Src: /src/glib/glib/tests/constructor-helper.c:200,1
    - Dst: memset_
      Src: /src/glib/glib/tests/constructor-helper.c:207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 210
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 210
    functionName: string_remove
    functionSourceFile: /src/glib/glib/tests/constructor-helper.c
    functionUses: []
    functionsReached:
    - memset_
    - g_assert_true
    - strlen_
    - memmove_
    - string_find_index_
    linkageType: ''
    returnType: MODULE_EXPORT
    signature: 'MODULE_EXPORT int string_remove (const char *string) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: string_find_index_
      Src: /src/glib/glib/tests/constructor-helper.c:236,1
    - Dst: g_error
      Src: /src/glib/glib/tests/constructor-helper.c:237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 238
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 238
    functionName: string_check
    functionSourceFile: /src/glib/glib/tests/constructor-helper.c
    functionUses: []
    functionsReached:
    - string_find_index_
    - g_error
    linkageType: ''
    returnType: MODULE_EXPORT
    signature: 'MODULE_EXPORT void string_check (const char *string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/constructor-helper.c:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 83
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 83
    functionName: strlen_
    functionSourceFile: /src/glib/glib/tests/constructor-helper.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    linkageType: ''
    returnType: size_t
    signature: 'static size_t strlen_ (const char *string) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/constructor-helper.c:121,1
    - Dst: strlen_
      Src: /src/glib/glib/tests/constructor-helper.c:127,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/constructor-helper.c:129,1
    - Dst: strlen_
      Src: /src/glib/glib/tests/constructor-helper.c:122,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/constructor-helper.c:122,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 136
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 136
    functionName: string_find_index_
    functionSourceFile: /src/glib/glib/tests/constructor-helper.c
    functionUses: []
    functionsReached:
    - strlen_
    - g_assert_nonnull
    - strcmp
    - g_assert_true
    linkageType: ''
    returnType: size_t
    signature: 'static size_t string_find_index_ (const char *string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - dst
    - src
    - size
    argTypes:
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 104
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 104
    functionName: memcpy_
    functionSourceFile: /src/glib/glib/tests/constructor-helper.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void memcpy_ (char *dst, const char *src, size_t size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: string_find_index_
      Src: /src/glib/glib/tests/constructor-helper.c:175,1
    - Dst: string_add
      Src: /src/glib/glib/tests/constructor-helper.c:178,1
    - Dst: g_error
      Src: /src/glib/glib/tests/constructor-helper.c:176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 179
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 179
    functionName: string_add_exclusive
    functionSourceFile: /src/glib/glib/tests/constructor-helper.c
    functionUses: []
    functionsReached:
    - string_find_index_
    - g_error
    - string_add
    linkageType: ''
    returnType: MODULE_EXPORT
    signature: 'MODULE_EXPORT void string_add_exclusive (const char *string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string_find_index_
      Src: /src/glib/glib/tests/constructor-helper.c:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: string_find
    functionSourceFile: /src/glib/glib/tests/constructor-helper.c
    functionUses: []
    functionsReached:
    - string_find_index_
    linkageType: ''
    returnType: MODULE_EXPORT
    signature: 'MODULE_EXPORT int string_find (const char *string) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/glib/glib/tests/base64.c:20,1
    - Dst: MIN
      Src: /src/glib/glib/tests/base64.c:29,1
    - Dst: g_malloc
      Src: /src/glib/glib/tests/base64.c:21,1
    - Dst: g_base64_encode_step
      Src: /src/glib/glib/tests/base64.c:30,1
    - Dst: g_base64_encode_close
      Src: /src/glib/glib/tests/base64.c:34,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/base64.c:42,1
    - Dst: MIN
      Src: /src/glib/glib/tests/base64.c:50,1
    - Dst: g_base64_decode_step
      Src: /src/glib/glib/tests/base64.c:51,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/base64.c:59,1
    - Dst: g_free
      Src: /src/glib/glib/tests/base64.c:61,1
    - Dst: g_free
      Src: /src/glib/glib/tests/base64.c:62,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 51
    argCount: 2
    argNames:
    - line_break
    - length
    argTypes:
    - gboolean
    - gsize
    constantsTouched: []
    func_position:
      end: 63
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 63
    functionName: test_incremental
    functionSourceFile: /src/glib/glib/tests/base64.c
    functionUses: []
    functionsReached:
    - MIN
    - g_malloc
    - g_base64_encode_close
    - g_base64_decode_step
    - g_base64_encode_step
    - g_assert_cmpmem
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_incremental (gboolean line_break, gsize length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct MyRawData*
    constantsTouched: []
    func_position:
      end: 216
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 216
    functionName: generate_databuffer_for_base64
    functionSourceFile: /src/glib/glib/tests/base64.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void generate_databuffer_for_base64 (struct MyRawData *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/base64.c:76,1
    - Dst: test_incremental
      Src: /src/glib/glib/tests/base64.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: test_incremental_nobreak
    functionSourceFile: /src/glib/glib/tests/base64.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - test_incremental
    linkageType: ''
    returnType: void
    signature: 'static void test_incremental_nobreak (gconstpointer d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/base64.c:249,1
    - Dst: g_base64_encode
      Src: /src/glib/glib/tests/base64.c:264,1
    - Dst: MIN
      Src: /src/glib/glib/tests/base64.c:269,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/tests/base64.c:255,1
    - Dst: generate_databuffer_for_base64
      Src: /src/glib/glib/tests/base64.c:251,1
    - Dst: g_base64_encode_step
      Src: /src/glib/glib/tests/base64.c:270,1
    - Dst: g_base64_encode_close
      Src: /src/glib/glib/tests/base64.c:276,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/base64.c:278,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/base64.c:278,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/base64.c:284,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/base64.c:285,1
    - Dst: g_free
      Src: /src/glib/glib/tests/base64.c:287,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 1
    argNames:
    - block_size_p
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 289
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 289
    functionName: test_base64_encode_incremental_small_block
    functionSourceFile: /src/glib/glib/tests/base64.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - GPOINTER_TO_UINT
    - MIN
    - g_test_bug
    - g_assert_cmpuint
    - g_assert_cmpstr
    - g_base64_encode_close
    - g_base64_encode_step
    - generate_databuffer_for_base64
    - g_free
    - g_base64_encode
    linkageType: ''
    returnType: void
    signature: 'static void test_base64_encode_incremental_small_block (gconstpointer
      block_size_p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/tests/base64.c:311,1
    - Dst: g_free
      Src: /src/glib/glib/tests/base64.c:314,1
    - Dst: g_base64_decode_inplace
      Src: /src/glib/glib/tests/base64.c:312,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/base64.c:313,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - datap
    - p
    argTypes:
    - gchar*
    - struct MyRawData*
    constantsTouched: []
    func_position:
      end: 315
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 315
    functionName: decode_inplace_and_compare
    functionSourceFile: /src/glib/glib/tests/base64.c
    functionUses: []
    functionsReached:
    - g_assert_cmpmem
    - g_strdup
    - g_free
    - g_base64_decode_inplace
    linkageType: ''
    returnType: void
    signature: 'static void decode_inplace_and_compare (const gchar *datap, const
      struct MyRawData *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: generate_databuffer_for_base64
      Src: /src/glib/glib/tests/base64.c:338,1
    - Dst: decode_inplace_and_compare
      Src: /src/glib/glib/tests/base64.c:343,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 345
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 345
    functionName: test_base64_decode_inplace
    functionSourceFile: /src/glib/glib/tests/base64.c
    functionUses: []
    functionsReached:
    - generate_databuffer_for_base64
    - decode_inplace_and_compare
    linkageType: ''
    returnType: void
    signature: 'static void test_base64_decode_inplace (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/tests/base64.c:370,1
    - Dst: g_base64_decode_step
      Src: /src/glib/glib/tests/base64.c:391,1
    - Dst: strlen
      Src: /src/glib/glib/tests/base64.c:377,1
    - Dst: MIN
      Src: /src/glib/glib/tests/base64.c:390,1
    - Dst: g_malloc
      Src: /src/glib/glib/tests/base64.c:385,1
    - Dst: g_base64_decode
      Src: /src/glib/glib/tests/base64.c:399,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/base64.c:401,1
    - Dst: g_free
      Src: /src/glib/glib/tests/base64.c:403,1
    - Dst: g_free
      Src: /src/glib/glib/tests/base64.c:404,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - blocksize_p
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 406
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 406
    functionName: test_base64_decode_smallblock
    functionSourceFile: /src/glib/glib/tests/base64.c
    functionUses: []
    functionsReached:
    - strlen
    - GPOINTER_TO_UINT
    - MIN
    - g_malloc
    - g_base64_decode_step
    - g_assert_cmpmem
    - g_free
    - g_base64_decode
    linkageType: ''
    returnType: void
    signature: 'static void test_base64_decode_smallblock (gconstpointer blocksize_p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/base64.c:437,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/base64.c:440,1
    - Dst: g_free
      Src: /src/glib/glib/tests/base64.c:442,1
    - Dst: g_base64_decode
      Src: /src/glib/glib/tests/base64.c:439,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/base64.c:441,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 443
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 443
    functionName: test_base64_decode_empty
    functionSourceFile: /src/glib/glib/tests/base64.c
    functionUses: []
    functionsReached:
    - g_assert_cmpuint
    - g_test_bug
    - g_assert_cmpstr
    - g_free
    - g_base64_decode
    linkageType: ''
    returnType: void
    signature: 'static void test_base64_decode_empty (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/base64.c:84,1
    - Dst: g_base64_decode
      Src: /src/glib/glib/tests/base64.c:90,1
    - Dst: g_base64_encode
      Src: /src/glib/glib/tests/base64.c:89,1
    - Dst: g_free
      Src: /src/glib/glib/tests/base64.c:91,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/base64.c:93,1
    - Dst: g_free
      Src: /src/glib/glib/tests/base64.c:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 96
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 96
    functionName: test_full
    functionSourceFile: /src/glib/glib/tests/base64.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_assert_cmpmem
    - g_free
    - g_base64_decode
    - g_base64_encode
    linkageType: ''
    returnType: void
    signature: 'static void test_full (gconstpointer d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/base64.c:68,1
    - Dst: test_incremental
      Src: /src/glib/glib/tests/base64.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: test_incremental_break
    functionSourceFile: /src/glib/glib/tests/base64.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - test_incremental
    linkageType: ''
    returnType: void
    signature: 'static void test_incremental_break (gconstpointer d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: generate_databuffer_for_base64
      Src: /src/glib/glib/tests/base64.c:226,1
    - Dst: g_free
      Src: /src/glib/glib/tests/base64.c:234,1
    - Dst: g_base64_encode
      Src: /src/glib/glib/tests/base64.c:231,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/base64.c:232,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 236
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 236
    functionName: test_base64_encode
    functionSourceFile: /src/glib/glib/tests/base64.c
    functionUses: []
    functionsReached:
    - generate_databuffer_for_base64
    - g_assert_cmpstr
    - g_free
    - g_base64_encode
    linkageType: ''
    returnType: void
    signature: 'static void test_base64_encode (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_base64_decode
      Src: /src/glib/glib/tests/base64.c:298,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/base64.c:299,1
    - Dst: g_free
      Src: /src/glib/glib/tests/base64.c:300,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - datap
    - p
    argTypes:
    - gchar*
    - struct MyRawData*
    constantsTouched: []
    func_position:
      end: 301
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 301
    functionName: decode_and_compare
    functionSourceFile: /src/glib/glib/tests/base64.c
    functionUses: []
    functionsReached:
    - g_assert_cmpmem
    - g_free
    - g_base64_decode
    linkageType: ''
    returnType: void
    signature: 'static void decode_and_compare (const gchar *datap, const struct MyRawData
      *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: generate_databuffer_for_base64
      Src: /src/glib/glib/tests/base64.c:323,1
    - Dst: decode_and_compare
      Src: /src/glib/glib/tests/base64.c:328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 330
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 330
    functionName: test_base64_decode
    functionSourceFile: /src/glib/glib/tests/base64.c
    functionUses: []
    functionsReached:
    - generate_databuffer_for_base64
    - decode_and_compare
    linkageType: ''
    returnType: void
    signature: 'static void test_base64_decode (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: generate_databuffer_for_base64
      Src: /src/glib/glib/tests/base64.c:354,1
    - Dst: decode_and_compare
      Src: /src/glib/glib/tests/base64.c:361,1
    - Dst: g_base64_encode
      Src: /src/glib/glib/tests/base64.c:359,1
    - Dst: g_free
      Src: /src/glib/glib/tests/base64.c:363,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 365
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 365
    functionName: test_base64_encode_decode
    functionSourceFile: /src/glib/glib/tests/base64.c
    functionUses: []
    functionsReached:
    - generate_databuffer_for_base64
    - decode_and_compare
    - g_free
    - g_base64_encode
    linkageType: ''
    returnType: void
    signature: 'static void test_base64_encode_decode (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/base64.c:493,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/base64.c:498,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/base64.c:540,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/base64.c:519,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/base64.c:515,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/base64.c:530,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/base64.c:506,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/base64.c:536,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/base64.c:526,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/base64.c:535,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/base64.c:500,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/base64.c:500,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/base64.c:508,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/base64.c:509,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/base64.c:509,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/base64.c:511,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/base64.c:511,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/base64.c:512,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/base64.c:512,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/base64.c:514,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/base64.c:518,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/base64.c:519,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/base64.c:528,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/base64.c:523,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/base64.c:522,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/base64.c:505,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/base64.c:538,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/base64.c:514,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/base64.c:532,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/base64.c:499,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/base64.c:498,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/base64.c:517,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/base64.c:518,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/base64.c:526,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/base64.c:530,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/base64.c:499,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/base64.c:501,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/base64.c:501,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/base64.c:503,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/base64.c:503,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/base64.c:504,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/base64.c:505,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/base64.c:506,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/base64.c:508,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/base64.c:504,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/base64.c:515,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/base64.c:517,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/base64.c:521,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/base64.c:524,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/base64.c:532,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/base64.c:528,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 59
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 541
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 541
    functionName: main
    functionSourceFile: /src/glib/glib/tests/base64.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_add_data_func
    - g_test_run
    - GINT_TO_POINTER
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/base64.c:416,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/base64.c:419,1
    - Dst: g_free
      Src: /src/glib/glib/tests/base64.c:420,1
    - Dst: g_base64_encode
      Src: /src/glib/glib/tests/base64.c:418,1
    - Dst: g_base64_encode
      Src: /src/glib/glib/tests/base64.c:422,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/base64.c:423,1
    - Dst: g_free
      Src: /src/glib/glib/tests/base64.c:424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 425
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 425
    functionName: test_base64_encode_empty
    functionSourceFile: /src/glib/glib/tests/base64.c
    functionUses: []
    functionsReached:
    - g_assert_cmpstr
    - g_free
    - g_test_bug
    - g_base64_encode
    linkageType: ''
    returnType: void
    signature: 'static void test_base64_encode_empty (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/base64.c:467,1
    - Dst: strlen
      Src: /src/glib/glib/tests/base64.c:471,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/base64.c:474,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/base64.c:477,1
    - Dst: g_base64_encode
      Src: /src/glib/glib/tests/base64.c:476,1
    - Dst: g_base64_decode
      Src: /src/glib/glib/tests/base64.c:479,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/base64.c:480,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/base64.c:481,1
    - Dst: g_free
      Src: /src/glib/glib/tests/base64.c:483,1
    - Dst: g_free
      Src: /src/glib/glib/tests/base64.c:484,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 486
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 486
    functionName: test_base64_encode_decode_rfc4648
    functionSourceFile: /src/glib/glib/tests/base64.c
    functionUses: []
    functionsReached:
    - strlen
    - G_N_ELEMENTS
    - g_test_message
    - g_assert_cmpuint
    - g_assert_cmpstr
    - g_free
    - g_base64_decode
    - g_base64_encode
    linkageType: ''
    returnType: void
    signature: 'static void test_base64_encode_decode_rfc4648 (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/testing-nonfatal.c:23,1
    - Dst: g_test_failed
      Src: /src/glib/glib/tests/testing-nonfatal.c:27,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing-nonfatal.c:25,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 31
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 31
    functionName: main
    functionSourceFile: /src/glib/glib/tests/testing-nonfatal.c
    functionUses: []
    functionsReached:
    - g_test_failed
    - g_test_init
    - g_assert_cmpstr
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/guuid.c:31,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/guuid.c:33,1
    - Dst: g_uuid_string_is_valid
      Src: /src/glib/glib/tests/guuid.c:32,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/guuid.c:32,1
    - Dst: g_uuid_string_is_valid
      Src: /src/glib/glib/tests/guuid.c:31,1
    - Dst: g_uuid_string_is_valid
      Src: /src/glib/glib/tests/guuid.c:33,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/guuid.c:34,1
    - Dst: g_uuid_string_is_valid
      Src: /src/glib/glib/tests/guuid.c:34,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/guuid.c:35,1
    - Dst: g_uuid_string_is_valid
      Src: /src/glib/glib/tests/guuid.c:35,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/guuid.c:38,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/guuid.c:37,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/guuid.c:40,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/guuid.c:39,1
    - Dst: g_uuid_string_is_valid
      Src: /src/glib/glib/tests/guuid.c:37,1
    - Dst: g_uuid_string_is_valid
      Src: /src/glib/glib/tests/guuid.c:39,1
    - Dst: g_uuid_string_is_valid
      Src: /src/glib/glib/tests/guuid.c:38,1
    - Dst: g_uuid_string_is_valid
      Src: /src/glib/glib/tests/guuid.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 41
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 41
    functionName: test_guuid_string
    functionSourceFile: /src/glib/glib/tests/guuid.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_assert_true
    - g_uuid_string_is_valid
    linkageType: ''
    returnType: void
    signature: 'static void test_guuid_string (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_uuid_string_random
      Src: /src/glib/glib/tests/guuid.c:48,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/guuid.c:50,1
    - Dst: g_uuid_string_is_valid
      Src: /src/glib/glib/tests/guuid.c:50,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/guuid.c:49,1
    - Dst: strlen
      Src: /src/glib/glib/tests/guuid.c:49,1
    - Dst: g_uuid_string_random
      Src: /src/glib/glib/tests/guuid.c:52,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/guuid.c:53,1
    - Dst: strlen
      Src: /src/glib/glib/tests/guuid.c:53,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/guuid.c:54,1
    - Dst: g_uuid_string_is_valid
      Src: /src/glib/glib/tests/guuid.c:54,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/guuid.c:55,1
    - Dst: g_free
      Src: /src/glib/glib/tests/guuid.c:57,1
    - Dst: g_free
      Src: /src/glib/glib/tests/guuid.c:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 59
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 59
    functionName: test_guuid_random
    functionSourceFile: /src/glib/glib/tests/guuid.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - strlen
    - g_assert_cmpuint
    - g_assert_cmpstr
    - g_uuid_string_is_valid
    - g_uuid_string_random
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_guuid_random (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/guuid.c:64,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/guuid.c:68,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/guuid.c:67,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/guuid.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 71
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 71
    functionName: main
    functionSourceFile: /src/glib/glib/tests/guuid.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_prgname
      Src: /src/glib/glib/tests/utils.c:170,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/tests/utils.c:173,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:171,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/tests/utils.c:175,1
    - Dst: g_get_prgname
      Src: /src/glib/glib/tests/utils.c:175,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 178
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 178
    functionName: thread_prgname_check
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_get_prgname
    - g_strcmp0
    - g_assert_cmpstr
    - g_atomic_int_inc
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer thread_prgname_check (gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/utils.c:215,1
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/utils.c:218,1
    - Dst: g_get_tmp_dir
      Src: /src/glib/glib/tests/utils.c:220,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:220,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/utils.c:216,1
    - Dst: g_get_environ
      Src: /src/glib/glib/tests/utils.c:224,1
    - Dst: g_environ_setenv
      Src: /src/glib/glib/tests/utils.c:226,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/utils.c:226,1
    - Dst: g_environ_unsetenv
      Src: /src/glib/glib/tests/utils.c:227,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/utils.c:227,1
    - Dst: g_environ_unsetenv
      Src: /src/glib/glib/tests/utils.c:228,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/utils.c:232,1
    - Dst: g_test_trap_subprocess_with_envp
      Src: /src/glib/glib/tests/utils.c:230,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/utils.c:233,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/utils.c:228,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 234
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 234
    functionName: test_tmpdir
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_environ_unsetenv
    - g_test_trap_assert_passed
    - g_test_summary
    - g_test_bug
    - g_assert_cmpstr
    - g_test_trap_subprocess_with_envp
    - g_strfreev
    - g_get_tmp_dir
    - g_environ_setenv
    - g_test_subprocess
    - g_get_environ
    linkageType: ''
    returnType: void
    signature: 'static void test_tmpdir (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:440,1
    - Dst: GUINT32_SWAP_LE_BE
      Src: /src/glib/glib/tests/utils.c:445,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:445,1
    - Dst: G_GUINT64_CONSTANT
      Src: /src/glib/glib/tests/utils.c:447,1
    - Dst: GUINT16_SWAP_LE_BE
      Src: /src/glib/glib/tests/utils.c:440,1
    - Dst: G_GUINT64_CONSTANT
      Src: /src/glib/glib/tests/utils.c:448,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:450,1
    - Dst: GUINT64_SWAP_LE_BE
      Src: /src/glib/glib/tests/utils.c:450,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 451
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 451
    functionName: test_swap
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - GUINT64_SWAP_LE_BE
    - GUINT16_SWAP_LE_BE
    - G_GUINT64_CONSTANT
    - GUINT32_SWAP_LE_BE
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_swap (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_parse_debug_string
      Src: /src/glib/glib/tests/utils.c:667,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/utils.c:667,1
    - Dst: g_parse_debug_string
      Src: /src/glib/glib/tests/utils.c:679,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:677,1
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/utils.c:691,1
    - Dst: g_parse_debug_string
      Src: /src/glib/glib/tests/utils.c:693,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/utils.c:693,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/utils.c:697,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:668,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/utils.c:670,1
    - Dst: g_parse_debug_string
      Src: /src/glib/glib/tests/utils.c:670,1
    - Dst: g_parse_debug_string
      Src: /src/glib/glib/tests/utils.c:676,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/utils.c:682,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:686,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/utils.c:688,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/utils.c:698,1
    - Dst: g_parse_debug_string
      Src: /src/glib/glib/tests/utils.c:673,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/utils.c:673,1
    - Dst: g_parse_debug_string
      Src: /src/glib/glib/tests/utils.c:685,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:683,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/utils.c:679,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/utils.c:685,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:689,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/utils.c:699,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:671,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:674,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:680,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/utils.c:676,1
    - Dst: g_parse_debug_string
      Src: /src/glib/glib/tests/utils.c:682,1
    - Dst: g_parse_debug_string
      Src: /src/glib/glib/tests/utils.c:688,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:694,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 42
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 700
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 700
    functionName: test_debug
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_passed
    - G_N_ELEMENTS
    - g_test_trap_assert_stderr
    - g_parse_debug_string
    - g_test_trap_subprocess
    - g_test_subprocess
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_debug (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_user_name
      Src: /src/glib/glib/tests/utils.c:789,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utils.c:791,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 792
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 792
    functionName: test_username
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_get_user_name
    linkageType: ''
    returnType: void
    signature: 'static void test_username (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_idle_add_once
      Src: /src/glib/glib/tests/utils.c:952,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/utils.c:953,1
    - Dst: g_timeout_add_once
      Src: /src/glib/glib/tests/utils.c:958,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/utils.c:956,1
    - Dst: g_clear_handle_id
      Src: /src/glib/glib/tests/utils.c:955,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/utils.c:959,1
    - Dst: g_clear_handle_id
      Src: /src/glib/glib/tests/utils.c:961,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/utils.c:962,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 963
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 963
    functionName: test_clear_source
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_clear_handle_id
    - g_timeout_add_once
    - g_assert_cmpuint
    - g_idle_add_once
    linkageType: ''
    returnType: void
    signature: 'static void test_clear_source (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/utils.c:1257,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:1268,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utils.c:1273,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/utils.c:1259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1274
      start: 1252
    functionDepth: 0
    functionLinenumber: 1252
    functionLinenumberEnd: 1274
    functionName: test_int_limits
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_free
    - g_test_bug
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void test_int_limits (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_slist
      Src: /src/glib/glib/tests/utils.c:1305,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/tests/utils.c:1308,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/utils.c:1309,1
    - Dst: g_clear_slist
      Src: /src/glib/glib/tests/utils.c:1311,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/utils.c:1306,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/utils.c:1312,1
    - Dst: g_clear_slist
      Src: /src/glib/glib/tests/utils.c:1314,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/utils.c:1315,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/tests/utils.c:1317,1
    - Dst: g_malloc
      Src: /src/glib/glib/tests/utils.c:1317,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/utils.c:1318,1
    - Dst: g_clear_slist
      Src: /src/glib/glib/tests/utils.c:1320,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/utils.c:1321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1322
      start: 1300
    functionDepth: 0
    functionLinenumber: 1300
    functionLinenumberEnd: 1322
    functionName: test_clear_slist
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_assert_null
    - g_assert_nonnull
    - g_malloc
    - g_clear_slist
    - g_slist_prepend
    linkageType: ''
    returnType: void
    signature: 'static void test_clear_slist (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_prgname
      Src: /src/glib/glib/tests/utils.c:144,1
    - Dst: g_set_prgname
      Src: /src/glib/glib/tests/utils.c:149,1
    - Dst: g_get_application_name
      Src: /src/glib/glib/tests/utils.c:145,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:146,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:147,1
    - Dst: g_get_prgname
      Src: /src/glib/glib/tests/utils.c:151,1
    - Dst: g_get_application_name
      Src: /src/glib/glib/tests/utils.c:152,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:153,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:154,1
    - Dst: g_set_application_name
      Src: /src/glib/glib/tests/utils.c:156,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:160,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:161,1
    - Dst: g_get_prgname
      Src: /src/glib/glib/tests/utils.c:158,1
    - Dst: g_get_application_name
      Src: /src/glib/glib/tests/utils.c:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 162
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 162
    functionName: test_appname
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_get_application_name
    - g_set_prgname
    - g_assert_cmpstr
    - g_get_prgname
    - g_set_application_name
    linkageType: ''
    returnType: void
    signature: 'static void test_appname (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/utils.c:187,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/utils.c:194,1
    - Dst: g_atomic_int_set
      Src: /src/glib/glib/tests/utils.c:192,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/utils.c:188,1
    - Dst: g_set_prgname
      Src: /src/glib/glib/tests/utils.c:191,1
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/utils.c:195,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/utils.c:197,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/utils.c:197,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/utils.c:198,1
    - Dst: g_set_prgname
      Src: /src/glib/glib/tests/utils.c:200,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/utils.c:203,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/utils.c:204,1
    - Dst: g_set_prgname
      Src: /src/glib/glib/tests/utils.c:207,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 208
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 208
    functionName: test_prgname_thread_safety
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_test_summary
    - g_atomic_int_get
    - G_N_ELEMENTS
    - g_set_prgname
    - g_test_bug
    - g_thread_new
    - g_usleep
    - g_atomic_int_set
    - g_thread_join
    linkageType: ''
    returnType: void
    signature: 'static void test_prgname_thread_safety (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_clzl
      Src: /src/glib/glib/tests/utils.c:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - number
    argTypes:
    - gulong
    constantsTouched: []
    func_position:
      end: 281
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 281
    functionName: builtin_bit_storage
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - __builtin_clzl
    linkageType: ''
    returnType: guint
    signature: 'static guint builtin_bit_storage (gulong number) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_find_program_in_path
      Src: /src/glib/glib/tests/utils.c:468,1
    - Dst: g_path_is_absolute
      Src: /src/glib/glib/tests/utils.c:488,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utils.c:465,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utils.c:470,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/utils.c:487,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utils.c:491,1
    - Dst: g_find_program_in_path
      Src: /src/glib/glib/tests/utils.c:486,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utils.c:489,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utils.c:501,1
    - Dst: g_find_program_in_path
      Src: /src/glib/glib/tests/utils.c:503,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utils.c:504,1
    - Dst: g_find_program_in_path
      Src: /src/glib/glib/tests/utils.c:506,1
    - Dst: g_strconcat
      Src: /src/glib/glib/tests/utils.c:481,1
    - Dst: g_find_program_in_path
      Src: /src/glib/glib/tests/utils.c:500,1
    - Dst: g_find_program_in_path
      Src: /src/glib/glib/tests/utils.c:464,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utils.c:469,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utils.c:466,1
    - Dst: realpath
      Src: /src/glib/glib/tests/utils.c:474,1
    - Dst: g_find_program_in_path
      Src: /src/glib/glib/tests/utils.c:475,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/utils.c:476,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utils.c:492,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utils.c:482,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utils.c:490,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/utils.c:488,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utils.c:507,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 49
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 508
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 508
    functionName: test_find_program
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_strconcat
    - g_assert_true
    - g_assert
    - g_assert_nonnull
    - realpath
    - g_find_program_in_path
    - g_free
    - g_path_is_absolute
    linkageType: ''
    returnType: void
    signature: 'static void test_find_program (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_codeset
      Src: /src/glib/glib/tests/utils.c:708,1
    - Dst: g_get_charset
      Src: /src/glib/glib/tests/utils.c:709,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utils.c:713,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:711,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 714
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 714
    functionName: test_codeset
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_get_charset
    - g_get_codeset
    - g_free
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void test_codeset (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_real_name
      Src: /src/glib/glib/tests/utils.c:799,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utils.c:801,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 802
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 802
    functionName: test_realname
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_get_real_name
    linkageType: ''
    returnType: void
    signature: 'static void test_realname (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/glib/glib/tests/utils.c:970,1
    - Dst: g_malloc
      Src: /src/glib/glib/tests/utils.c:974,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/utils.c:971,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utils.c:972,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utils.c:976,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 977
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 977
    functionName: test_clear_pointer
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_assert
    - g_malloc
    linkageType: ''
    returnType: void
    signature: 'static void test_clear_pointer (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/glib/glib/tests/utils.c:1026,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/utils.c:1030,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utils.c:1034,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - obj_out
    argTypes:
    - gpointer*
    constantsTouched: []
    func_position:
      end: 1037
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1037
    functionName: get_obj
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_free
    - g_malloc
    linkageType: ''
    returnType: void
    signature: 'static void get_obj (gpointer *obj_out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_list
      Src: /src/glib/glib/tests/utils.c:1281,1
    - Dst: g_clear_list
      Src: /src/glib/glib/tests/utils.c:1287,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/utils.c:1285,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/tests/utils.c:1284,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/utils.c:1282,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/utils.c:1288,1
    - Dst: g_clear_list
      Src: /src/glib/glib/tests/utils.c:1290,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/utils.c:1291,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/tests/utils.c:1293,1
    - Dst: g_malloc
      Src: /src/glib/glib/tests/utils.c:1293,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/utils.c:1297,1
    - Dst: g_clear_list
      Src: /src/glib/glib/tests/utils.c:1296,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/utils.c:1294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1298
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1298
    functionName: test_clear_list
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_assert_null
    - g_clear_list
    - g_assert_nonnull
    - g_malloc
    - g_list_prepend
    linkageType: ''
    returnType: void
    signature: 'static void test_clear_list (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/utils.c:1329,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/utils.c:1334,1
    - Dst: g_steal_handle_id
      Src: /src/glib/glib/tests/utils.c:1334,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/utils.c:1330,1
    - Dst: g_steal_handle_id
      Src: /src/glib/glib/tests/utils.c:1329,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/utils.c:1335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1336
      start: 1324
    functionDepth: 0
    functionLinenumber: 1324
    functionLinenumberEnd: 1336
    functionName: test_steal_handle_id
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_steal_handle_id
    - g_assert_cmpuint
    linkageType: ''
    returnType: void
    signature: 'static void test_steal_handle_id (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_LIKELY
      Src: /src/glib/glib/tests/utils.c:248,1
    - Dst: __builtin_ffsl
      Src: /src/glib/glib/tests/utils.c:253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - mask
    - nth_bit
    argTypes:
    - gulong
    - gint
    constantsTouched: []
    func_position:
      end: 254
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 254
    functionName: builtin_bit_nth_lsf1
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - __builtin_ffsl
    - G_LIKELY
    linkageType: ''
    returnType: gint
    signature: 'static gint builtin_bit_nth_lsf1 (gulong mask, gint nth_bit) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/tests/utils.c:301,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - mask
    - nth_bit
    argTypes:
    - gulong
    - gint
    constantsTouched: []
    func_position:
      end: 310
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 310
    functionName: naive_bit_nth_msf
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - G_UNLIKELY
    linkageType: ''
    returnType: gint
    signature: 'static gint naive_bit_nth_msf (gulong mask, gint nth_bit) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_host_name
      Src: /src/glib/glib/tests/utils.c:809,1
    - Dst: g_utf8_validate
      Src: /src/glib/glib/tests/utils.c:812,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utils.c:811,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/utils.c:812,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 813
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 813
    functionName: test_hostname
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_utf8_validate
    - g_assert_true
    - g_get_host_name
    linkageType: ''
    returnType: void
    signature: 'static void test_hostname (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_get_os_info
      Src: /src/glib/glib/tests/utils.c:918,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/utils.c:919,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/tests/utils.c:928,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/tests/utils.c:927,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/utils.c:925,1
    - Dst: uname
      Src: /src/glib/glib/tests/utils.c:929,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/utils.c:930,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/utils.c:932,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/utils.c:934,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utils.c:937,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utils.c:938,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 939
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 939
    functionName: test_os_info
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_assert_nonnull
    - g_get_os_info
    - g_file_get_contents
    - g_test_skip
    - g_free
    - uname
    linkageType: ''
    returnType: void
    signature: 'static void test_os_info (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_obj
      Src: /src/glib/glib/tests/utils.c:1045,1
    - Dst: get_obj
      Src: /src/glib/glib/tests/utils.c:1047,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utils.c:1052,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utils.c:1048,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utils.c:1054,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utils.c:1056,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1057
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1057
    functionName: test_take_pointer
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - get_obj
    - g_free
    - g_assert
    linkageType: ''
    returnType: void
    signature: 'static void test_take_pointer (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/utils.c:1179,1
    - Dst: g_aligned_free_sized
      Src: /src/glib/glib/tests/utils.c:1184,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/utils.c:1182,1
    - Dst: g_aligned_alloc
      Src: /src/glib/glib/tests/utils.c:1181,1
    - Dst: g_aligned_free_sized
      Src: /src/glib/glib/tests/utils.c:1187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1188
      start: 1173
    functionDepth: 0
    functionLinenumber: 1173
    functionLinenumberEnd: 1188
    functionName: test_aligned_mem_free_sized
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_aligned_alloc
    - g_aligned_free_sized
    - g_assert_nonnull
    - g_test_summary
    linkageType: ''
    returnType: void
    signature: 'static void test_aligned_mem_free_sized (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/tests/utils.c:1211,1
    - Dst: g_nullify_pointer
      Src: /src/glib/glib/tests/utils.c:1213,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utils.c:1215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1216
      start: 1206
    functionDepth: 0
    functionLinenumber: 1206
    functionLinenumberEnd: 1216
    functionName: test_nullify
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_nullify_pointer
    linkageType: ''
    returnType: void
    signature: 'static void test_nullify (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_LIKELY
      Src: /src/glib/glib/tests/utils.c:261,1
    - Dst: __builtin_ctzl
      Src: /src/glib/glib/tests/utils.c:266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - mask
    - nth_bit
    argTypes:
    - gulong
    - gint
    constantsTouched: []
    func_position:
      end: 267
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 267
    functionName: builtin_bit_nth_lsf2
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - G_LIKELY
    - __builtin_ctzl
    linkageType: ''
    returnType: gint
    signature: 'static gint builtin_bit_nth_lsf2 (gulong mask, gint nth_bit) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - number
    argTypes:
    - gulong
    constantsTouched: []
    func_position:
      end: 324
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 324
    functionName: naive_bit_storage
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint
    signature: 'static guint naive_bit_storage (gulong number) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/utils.c:944,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 945
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 945
    functionName: source_test
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    linkageType: ''
    returnType: void
    signature: 'static void source_test (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_try_malloc
      Src: /src/glib/glib/tests/utils.c:1064,1
    - Dst: g_try_malloc0
      Src: /src/glib/glib/tests/utils.c:1067,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utils.c:1068,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utils.c:1065,1
    - Dst: g_malloc
      Src: /src/glib/glib/tests/utils.c:1070,1
    - Dst: g_try_realloc
      Src: /src/glib/glib/tests/utils.c:1071,1
    - Dst: g_try_realloc
      Src: /src/glib/glib/tests/utils.c:1072,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utils.c:1074,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1075
      start: 1059
    functionDepth: 0
    functionLinenumber: 1059
    functionLinenumberEnd: 1075
    functionName: test_misc_mem
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_try_malloc
    - g_malloc
    - g_try_realloc
    - g_try_malloc0
    linkageType: ''
    returnType: void
    signature: 'static void test_misc_mem (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/utils.c:1195,1
    - Dst: g_malloc
      Src: /src/glib/glib/tests/utils.c:1197,1
    - Dst: g_free_sized
      Src: /src/glib/glib/tests/utils.c:1200,1
    - Dst: g_free_sized
      Src: /src/glib/glib/tests/utils.c:1203,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/utils.c:1198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1204
      start: 1190
    functionDepth: 0
    functionLinenumber: 1190
    functionLinenumberEnd: 1204
    functionName: test_free_sized
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_test_summary
    - g_malloc
    - g_free_sized
    linkageType: ''
    returnType: void
    signature: 'static void test_free_sized (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/glib/tests/utils.c:1221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1222
      start: 1218
    functionDepth: 0
    functionLinenumber: 1218
    functionLinenumberEnd: 1222
    functionName: atexit_func
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void atexit_func (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/tests/utils.c:51,1
    - Dst: va_arg
      Src: /src/glib/glib/tests/utils.c:54,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/tests/utils.c:55,1
    - Dst: va_end
      Src: /src/glib/glib/tests/utils.c:62,1
    - Dst: va_end
      Src: /src/glib/glib/tests/utils.c:57,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - strv
    - '...'
    argTypes:
    - gchar**
    constantsTouched: []
    func_position:
      end: 65
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 65
    functionName: strv_check
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    - va_arg
    - va_start
    - va_end
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean strv_check (const gchar * const *strv, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: naive_bit_nth_msf
      Src: /src/glib/glib/tests/utils.c:353,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:356,1
    - Dst: g_bit_nth_msf
      Src: /src/glib/glib/tests/utils.c:371,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:372,1
    - Dst: builtin_bit_nth_msf
      Src: /src/glib/glib/tests/utils.c:368,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:367,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:361,1
    - Dst: builtin_bit_storage
      Src: /src/glib/glib/tests/utils.c:345,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:347,1
    - Dst: naive_bit_nth_lsf
      Src: /src/glib/glib/tests/utils.c:352,1
    - Dst: builtin_bit_nth_lsf2
      Src: /src/glib/glib/tests/utils.c:359,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:363,1
    - Dst: builtin_bit_nth_lsf1
      Src: /src/glib/glib/tests/utils.c:357,1
    - Dst: g_bit_nth_lsf
      Src: /src/glib/glib/tests/utils.c:362,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:358,1
    - Dst: naive_bit_storage
      Src: /src/glib/glib/tests/utils.c:335,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:345,1
    - Dst: g_bit_storage
      Src: /src/glib/glib/tests/utils.c:347,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:348,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:370,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 376
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 376
    functionName: test_basic_bits
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - naive_bit_nth_lsf
    - builtin_bit_nth_msf
    - g_bit_storage
    - naive_bit_storage
    - naive_bit_nth_msf
    - g_bit_nth_msf
    - builtin_bit_nth_lsf1
    - builtin_bit_nth_lsf2
    - g_bit_nth_lsf
    - builtin_bit_storage
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_basic_bits (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_aligned_alloc
      Src: /src/glib/glib/tests/utils.c:1083,1
    - Dst: exit
      Src: /src/glib/glib/tests/utils.c:1085,1
    - Dst: g_aligned_free
      Src: /src/glib/glib/tests/utils.c:1084,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1086
      start: 1077
    functionDepth: 0
    functionLinenumber: 1077
    functionLinenumberEnd: 1086
    functionName: aligned_alloc_nz
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_aligned_alloc
    - g_aligned_free
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void aligned_alloc_nz (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_aligned_alloc
      Src: /src/glib/glib/tests/utils.c:1105,1
    - Dst: g_aligned_free
      Src: /src/glib/glib/tests/utils.c:1106,1
    - Dst: exit
      Src: /src/glib/glib/tests/utils.c:1107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1108
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1108
    functionName: aligned_alloc_nmov
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_aligned_alloc
    - g_aligned_free
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void aligned_alloc_nmov (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/utils.c:1146,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/utils.c:1149,1
    - Dst: g_aligned_alloc
      Src: /src/glib/glib/tests/utils.c:1148,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/utils.c:1150,1
    - Dst: g_aligned_free
      Src: /src/glib/glib/tests/utils.c:1152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1153
      start: 1141
    functionDepth: 0
    functionLinenumber: 1141
    functionLinenumberEnd: 1153
    functionName: test_aligned_mem_alignment
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_test_summary
    - g_aligned_alloc
    - g_assert_nonnull
    - g_assert_cmpuint
    - g_aligned_free
    linkageType: ''
    returnType: void
    signature: 'static void test_aligned_mem_alignment (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_setenv
      Src: /src/glib/glib/tests/utils.c:72,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/utils.c:76,1
    - Dst: g_get_language_names
      Src: /src/glib/glib/tests/utils.c:73,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utils.c:74,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/utils.c:74,1
    - Dst: g_get_language_names
      Src: /src/glib/glib/tests/utils.c:77,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utils.c:78,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/utils.c:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 89
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 89
    functionName: test_language_names
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_setenv
    - g_get_language_names
    - strv_check
    - g_assert
    linkageType: ''
    returnType: void
    signature: 'static void test_language_names (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/tests/utils.c:287,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - mask
    - nth_bit
    argTypes:
    - gulong
    - gint
    constantsTouched: []
    func_position:
      end: 296
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 296
    functionName: naive_bit_nth_lsf
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - G_UNLIKELY
    linkageType: ''
    returnType: gint
    signature: 'static gint naive_bit_nth_lsf (gulong mask, gint nth_bit) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_bit_nth_lsf
      Src: /src/glib/glib/tests/utils.c:385,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:386,1
    - Dst: g_bit_nth_lsf
      Src: /src/glib/glib/tests/utils.c:396,1
    - Dst: g_bit_nth_lsf
      Src: /src/glib/glib/tests/utils.c:393,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:394,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:397,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:417,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:425,1
    - Dst: g_bit_nth_lsf
      Src: /src/glib/glib/tests/utils.c:399,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:403,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:414,1
    - Dst: g_bit_nth_msf
      Src: /src/glib/glib/tests/utils.c:416,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:420,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:400,1
    - Dst: g_bit_nth_lsf
      Src: /src/glib/glib/tests/utils.c:402,1
    - Dst: g_bit_nth_msf
      Src: /src/glib/glib/tests/utils.c:419,1
    - Dst: g_bit_nth_msf
      Src: /src/glib/glib/tests/utils.c:406,1
    - Dst: g_bit_nth_msf
      Src: /src/glib/glib/tests/utils.c:413,1
    - Dst: g_bit_nth_msf
      Src: /src/glib/glib/tests/utils.c:424,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utils.c:407,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 49
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 428
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 428
    functionName: test_bits
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_bit_nth_msf
    - g_bit_nth_lsf
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_bits (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glib_pgettext
      Src: /src/glib/glib/tests/utils.c:774,1
    - Dst: strlen
      Src: /src/glib/glib/tests/utils.c:774,1
    - Dst: strlen
      Src: /src/glib/glib/tests/utils.c:775,1
    - Dst: g_dpgettext
      Src: /src/glib/glib/tests/utils.c:775,1
    - Dst: g_dpgettext
      Src: /src/glib/glib/tests/utils.c:776,1
    - Dst: g_dpgettext2
      Src: /src/glib/glib/tests/utils.c:777,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:779,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:780,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:781,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 782
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 782
    functionName: test_gettext
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_dpgettext
    - strlen
    - g_dpgettext2
    - g_assert_cmpstr
    - glib_pgettext
    linkageType: ''
    returnType: void
    signature: 'static void test_gettext (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_aligned_alloc
      Src: /src/glib/glib/tests/utils.c:1094,1
    - Dst: exit
      Src: /src/glib/glib/tests/utils.c:1096,1
    - Dst: g_aligned_free
      Src: /src/glib/glib/tests/utils.c:1095,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1097
      start: 1088
    functionDepth: 0
    functionLinenumber: 1088
    functionLinenumberEnd: 1097
    functionName: aligned_alloc_npot
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_aligned_alloc
    - g_aligned_free
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void aligned_alloc_npot (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/utils.c:1115,1
    - Dst: MAX
      Src: /src/glib/glib/tests/utils.c:1117,1
    - Dst: g_aligned_alloc0
      Src: /src/glib/glib/tests/utils.c:1120,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/utils.c:1118,1
    - Dst: g_aligned_alloc
      Src: /src/glib/glib/tests/utils.c:1117,1
    - Dst: MAX
      Src: /src/glib/glib/tests/utils.c:1120,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/utils.c:1121,1
    - Dst: g_aligned_alloc
      Src: /src/glib/glib/tests/utils.c:1123,1
    - Dst: MAX
      Src: /src/glib/glib/tests/utils.c:1123,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/utils.c:1124,1
    - Dst: CHECK_SUBPROCESS_FAIL
      Src: /src/glib/glib/tests/utils.c:1136,1
    - Dst: CHECK_SUBPROCESS_FAIL
      Src: /src/glib/glib/tests/utils.c:1138,1
    - Dst: CHECK_SUBPROCESS_FAIL
      Src: /src/glib/glib/tests/utils.c:1137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1139
      start: 1110
    functionDepth: 0
    functionLinenumber: 1110
    functionLinenumberEnd: 1139
    functionName: test_aligned_mem
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_test_summary
    - g_assert_null
    - g_aligned_alloc
    - MAX
    - g_aligned_alloc0
    - CHECK_SUBPROCESS_FAIL
    linkageType: ''
    returnType: void
    signature: 'static void test_aligned_mem (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/utils.c:1162,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/utils.c:1165,1
    - Dst: g_aligned_free
      Src: /src/glib/glib/tests/utils.c:1170,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/utils.c:1168,1
    - Dst: g_aligned_alloc0
      Src: /src/glib/glib/tests/utils.c:1164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1171
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1171
    functionName: test_aligned_mem_zeroed
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_test_summary
    - g_assert_nonnull
    - g_assert_cmpuint
    - g_aligned_alloc0
    - g_aligned_free
    linkageType: ''
    returnType: void
    signature: 'static void test_aligned_mem_zeroed (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_set_prgname
      Src: /src/glib/glib/tests/utils.c:1349,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1355,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1354,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1388,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1390,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1385,1
    - Dst: g_test_init
      Src: /src/glib/glib/tests/utils.c:1351,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1358,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1359,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1360,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1361,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1362,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1364,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1363,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1366,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1365,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1380,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1397,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1382,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1392,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1398,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1378,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1395,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1353,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1377,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1394,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/utils.c:1400,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1389,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1391,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1396,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1384,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1387,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1356,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1357,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1369,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1367,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1368,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1370,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1371,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1373,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1375,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1376,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1381,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1383,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1386,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1393,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils.c:1379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 49
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1401
      start: 1338
    functionDepth: 0
    functionLinenumber: 1338
    functionLinenumberEnd: 1401
    functionName: main
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_set_prgname
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/glib/tests/utils.c:1002,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/utils.c:1011,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/utils.c:1004,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/utils.c:1003,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/utils.c:1009,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/utils.c:1012,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/utils.c:1013,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/utils.c:1014,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utils.c:1016,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utils.c:1017,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utils.c:1018,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1019
      start: 997
    functionDepth: 0
    functionLinenumber: 997
    functionLinenumberEnd: 1019
    functionName: test_clear_pointer_side_effects
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_assert_true
    - g_assert_null
    - g_assert_nonnull
    - g_clear_pointer
    - g_new0
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_clear_pointer_side_effects (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_locale_variants
      Src: /src/glib/glib/tests/utils.c:96,1
    - Dst: g_get_locale_variants
      Src: /src/glib/glib/tests/utils.c:100,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/utils.c:97,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/utils.c:98,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utils.c:97,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utils.c:101,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/utils.c:101,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/utils.c:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 103
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 103
    functionName: test_locale_variants
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_assert
    - strv_check
    - g_get_locale_variants
    - g_strfreev
    linkageType: ''
    returnType: void
    signature: 'static void test_locale_variants (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/glib/tests/utils.c:515,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 516
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 516
    functionName: find_program_for_path
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - GLIB_PRIVATE_CALL
    linkageType: ''
    returnType: char*
    signature: 'static char *find_program_for_path (const char *program, const char
      *path, const char *working_dir) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/utils.c:719,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:724,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/utils.c:722,1
    - Dst: g_get_charset
      Src: /src/glib/glib/tests/utils.c:723,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/utils.c:727,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/utils.c:728,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 729
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 729
    functionName: test_codeset2
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_passed
    - g_setenv
    - g_assert_cmpstr
    - g_test_trap_subprocess
    - g_test_subprocess
    - g_get_charset
    linkageType: ''
    returnType: void
    signature: 'static void test_codeset2 (void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:830,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utils.c:831,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/utils.c:833,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/utils.c:835,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/utils.c:842,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:848,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/utils.c:853,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utils.c:858,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/utils.c:860,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/utils.c:860,1
    - Dst: g_get_user_runtime_dir
      Src: /src/glib/glib/tests/utils.c:864,1
    - Dst: g_get_home_dir
      Src: /src/glib/glib/tests/utils.c:826,1
    - Dst: g_get_user_config_dir
      Src: /src/glib/glib/tests/utils.c:828,1
    - Dst: g_get_home_dir
      Src: /src/glib/glib/tests/utils.c:835,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utils.c:840,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/utils.c:844,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/utils.c:851,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/utils.c:851,1
    - Dst: g_get_home_dir
      Src: /src/glib/glib/tests/utils.c:853,1
    - Dst: g_get_user_state_dir
      Src: /src/glib/glib/tests/utils.c:855,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:857,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/utils.c:824,1
    - Dst: g_get_user_cache_dir
      Src: /src/glib/glib/tests/utils.c:846,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utils.c:849,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utils.c:867,1
    - Dst: g_get_system_config_dirs
      Src: /src/glib/glib/tests/utils.c:873,1
    - Dst: g_get_user_cache_dir
      Src: /src/glib/glib/tests/utils.c:862,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/utils.c:824,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/utils.c:826,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/utils.c:833,1
    - Dst: g_get_user_data_dir
      Src: /src/glib/glib/tests/utils.c:837,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:839,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/utils.c:842,1
    - Dst: g_get_home_dir
      Src: /src/glib/glib/tests/utils.c:844,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/utils.c:869,1
    - Dst: g_strjoinv
      Src: /src/glib/glib/tests/utils.c:875,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:877,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:866,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/utils.c:862,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utils.c:879,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 66
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 880
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 880
    functionName: test_xdg_dirs
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_get_user_cache_dir
    - g_getenv
    - g_get_user_runtime_dir
    - g_get_user_data_dir
    - g_get_home_dir
    - g_assert_cmpstr
    - g_get_user_config_dir
    - g_build_filename
    - g_get_system_config_dirs
    - g_strjoinv
    - g_free
    - g_get_user_state_dir
    linkageType: ''
    returnType: void
    signature: 'static void test_xdg_dirs (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_user_special_dir
      Src: /src/glib/glib/tests/utils.c:888,1
    - Dst: g_get_user_special_dir
      Src: /src/glib/glib/tests/utils.c:890,1
    - Dst: g_reload_user_special_dirs_cache
      Src: /src/glib/glib/tests/utils.c:889,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:892,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 893
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 893
    functionName: test_special_dir
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_assert_cmpstr
    - g_get_user_special_dir
    - g_reload_user_special_dirs_cache
    linkageType: ''
    returnType: void
    signature: 'static void test_special_dir (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new
      Src: /src/glib/glib/tests/utils.c:986,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/utils.c:988,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/utils.c:992,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/utils.c:990,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 993
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 993
    functionName: test_clear_pointer_cast
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_assert_nonnull
    - g_hash_table_new
    - g_assert_null
    linkageType: ''
    returnType: void
    signature: 'static void test_clear_pointer_cast (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/utils.c:1227,1
    - Dst: g_atexit
      Src: /src/glib/glib/tests/utils.c:1229,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/utils.c:1232,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/glib/tests/utils.c:1234,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/utils.c:1233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1235
      start: 1224
    functionDepth: 0
    functionLinenumber: 1224
    functionLinenumberEnd: 1235
    functionName: test_atexit
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_passed
    - g_atexit
    - g_test_trap_subprocess
    - g_test_subprocess
    - g_test_trap_assert_stdout
    linkageType: ''
    returnType: void
    signature: 'static void test_atexit (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/utils.c:108,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utils.c:116,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/utils.c:109,1
    - Dst: glib_check_version
      Src: /src/glib/glib/tests/utils.c:113,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utils.c:113,1
    - Dst: glib_check_version
      Src: /src/glib/glib/tests/utils.c:116,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utils.c:119,1
    - Dst: glib_check_version
      Src: /src/glib/glib/tests/utils.c:119,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utils.c:122,1
    - Dst: glib_check_version
      Src: /src/glib/glib/tests/utils.c:122,1
    - Dst: glib_check_version
      Src: /src/glib/glib/tests/utils.c:125,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utils.c:125,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utils.c:131,1
    - Dst: glib_check_version
      Src: /src/glib/glib/tests/utils.c:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 134
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 134
    functionName: test_version
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_test_verbose
    - g_printerr
    - glib_check_version
    linkageType: ''
    returnType: void
    signature: 'static void test_version (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_clzl
      Src: /src/glib/glib/tests/utils.c:274,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - mask
    - nth_bit
    argTypes:
    - gulong
    - gint
    constantsTouched: []
    func_position:
      end: 275
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 275
    functionName: builtin_bit_nth_msf
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - __builtin_clzl
    linkageType: ''
    returnType: gint
    signature: 'static gint builtin_bit_nth_msf (gulong mask, gint nth_bit) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/utils.c:570,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/utils.c:595,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/utils.c:609,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/utils.c:623,1
    - Dst: find_program_for_path
      Src: /src/glib/glib/tests/utils.c:646,1
    - Dst: find_program_for_path
      Src: /src/glib/glib/tests/utils.c:604,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:555,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:573,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/utils.c:579,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/utils.c:635,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/utils.c:607,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/utils.c:651,1
    - Dst: g_chdir
      Src: /src/glib/glib/tests/utils.c:591,1
    - Dst: find_program_for_path
      Src: /src/glib/glib/tests/utils.c:620,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:564,1
    - Dst: g_str_has_suffix
      Src: /src/glib/glib/tests/utils.c:562,1
    - Dst: g_str_has_suffix
      Src: /src/glib/glib/tests/utils.c:580,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/utils.c:614,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:626,1
    - Dst: g_chdir
      Src: /src/glib/glib/tests/utils.c:587,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/utils.c:610,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/utils.c:552,1
    - Dst: g_str_has_suffix
      Src: /src/glib/glib/tests/utils.c:595,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/utils.c:630,1
    - Dst: g_chdir
      Src: /src/glib/glib/tests/utils.c:641,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/utils.c:648,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/utils.c:533,1
    - Dst: find_program_for_path
      Src: /src/glib/glib/tests/utils.c:550,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/utils.c:557,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/utils.c:575,1
    - Dst: find_program_for_path
      Src: /src/glib/glib/tests/utils.c:640,1
    - Dst: g_str_has_suffix
      Src: /src/glib/glib/tests/utils.c:610,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/utils.c:628,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/utils.c:548,1
    - Dst: find_program_for_path
      Src: /src/glib/glib/tests/utils.c:568,1
    - Dst: g_str_has_suffix
      Src: /src/glib/glib/tests/utils.c:571,1
    - Dst: find_program_for_path
      Src: /src/glib/glib/tests/utils.c:589,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/utils.c:545,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/utils.c:545,1
    - Dst: g_str_has_suffix
      Src: /src/glib/glib/tests/utils.c:553,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/utils.c:636,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/utils.c:580,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/glib/tests/utils.c:530,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/utils.c:540,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/utils.c:547,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:612,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/utils.c:584,1
    - Dst: g_str_has_suffix
      Src: /src/glib/glib/tests/utils.c:624,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/utils.c:642,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/utils.c:535,1
    - Dst: g_chmod
      Src: /src/glib/glib/tests/utils.c:543,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/utils.c:566,1
    - Dst: g_chdir
      Src: /src/glib/glib/tests/utils.c:606,1
    - Dst: g_chdir
      Src: /src/glib/glib/tests/utils.c:639,1
    - Dst: g_get_current_dir
      Src: /src/glib/glib/tests/utils.c:586,1
    - Dst: g_chdir
      Src: /src/glib/glib/tests/utils.c:602,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/utils.c:643,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:597,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/utils.c:540,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/utils.c:592,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/utils.c:531,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/utils.c:539,1
    - Dst: find_program_for_path
      Src: /src/glib/glib/tests/utils.c:548,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/utils.c:571,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/utils.c:654,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/utils.c:535,1
    - Dst: g_get_current_dir
      Src: /src/glib/glib/tests/utils.c:601,1
    - Dst: find_program_for_path
      Src: /src/glib/glib/tests/utils.c:634,1
    - Dst: g_get_current_dir
      Src: /src/glib/glib/tests/utils.c:638,1
    - Dst: g_file_set_contents
      Src: /src/glib/glib/tests/utils.c:538,1
    - Dst: g_find_program_in_path
      Src: /src/glib/glib/tests/utils.c:547,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/utils.c:599,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/utils.c:537,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/utils.c:543,1
    - Dst: find_program_for_path
      Src: /src/glib/glib/tests/utils.c:559,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/utils.c:561,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/utils.c:562,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:582,1
    - Dst: find_program_for_path
      Src: /src/glib/glib/tests/utils.c:630,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/utils.c:644,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/utils.c:653,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/utils.c:594,1
    - Dst: find_program_for_path
      Src: /src/glib/glib/tests/utils.c:577,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/utils.c:624,1
    - Dst: g_mkdir
      Src: /src/glib/glib/tests/utils.c:534,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/utils.c:553,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/utils.c:647,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/utils.c:652,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 105
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 655
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 655
    functionName: test_find_program_for_path
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_assert_null
    - g_get_current_dir
    - g_assert_no_errno
    - g_assert_true
    - find_program_for_path
    - g_assert_nonnull
    - g_clear_pointer
    - g_build_filename
    - g_chmod
    - g_file_test
    - g_mkdir
    - g_str_has_suffix
    - g_file_set_contents
    - g_assert_no_error
    - g_dir_make_tmp
    - g_find_program_in_path
    - g_clear_error
    - g_assert_cmpstr
    - g_chdir
    linkageType: ''
    returnType: void
    signature: 'static void test_find_program_for_path (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetConsoleOutputCP
      Src: /src/glib/glib/tests/utils.c:739,1
    - Dst: g_unsetenv
      Src: /src/glib/glib/tests/utils.c:741,1
    - Dst: SetConsoleOutputCP
      Src: /src/glib/glib/tests/utils.c:744,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/utils.c:740,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/utils.c:740,1
    - Dst: g_get_console_charset
      Src: /src/glib/glib/tests/utils.c:745,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:746,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/utils.c:749,1
    - Dst: g_get_console_charset
      Src: /src/glib/glib/tests/utils.c:750,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:751,1
    - Dst: SetConsoleOutputCP
      Src: /src/glib/glib/tests/utils.c:755,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/utils.c:757,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utils.c:758,1
    - Dst: g_get_charset
      Src: /src/glib/glib/tests/utils.c:760,1
    - Dst: g_get_console_charset
      Src: /src/glib/glib/tests/utils.c:761,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils.c:763,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 765
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 765
    functionName: test_console_charset
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_get_console_charset
    - g_unsetenv
    - g_getenv
    - g_setenv
    - GetConsoleOutputCP
    - g_assert_cmpstr
    - SetConsoleOutputCP
    - g_get_charset
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_console_charset (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_user_special_dir
      Src: /src/glib/glib/tests/utils.c:900,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utils.c:901,1
    - Dst: g_get_user_special_dir
      Src: /src/glib/glib/tests/utils.c:904,1
    - Dst: g_reload_user_special_dirs_cache
      Src: /src/glib/glib/tests/utils.c:903,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/utils.c:905,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 906
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 906
    functionName: test_desktop_special_dir
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_get_user_special_dir
    - g_reload_user_special_dirs_cache
    linkageType: ''
    returnType: void
    signature: 'static void test_desktop_special_dir (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/tests/utils.c:1243,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/glib/tests/utils.c:1242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1244
      start: 1237
    functionDepth: 0
    functionLinenumber: 1237
    functionLinenumberEnd: 1244
    functionName: test_check_setuid
    functionSourceFile: /src/glib/glib/tests/utils.c
    functionUses: []
    functionsReached:
    - GLIB_PRIVATE_CALL
    - g_assert
    linkageType: ''
    returnType: void
    signature: 'static void test_check_setuid (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rec_mutex_lock
      Src: /src/glib/glib/tests/rec-mutex.c:51,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/glib/tests/rec-mutex.c:54,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/glib/tests/rec-mutex.c:52,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/glib/tests/rec-mutex.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: test_rec_mutex2
    functionSourceFile: /src/glib/glib/tests/rec-mutex.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_lock
    - g_rec_mutex_unlock
    linkageType: ''
    returnType: void
    signature: 'static void test_rec_mutex2 (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_self
      Src: /src/glib/glib/tests/rec-mutex.c:96,1
    - Dst: g_rec_mutex_trylock
      Src: /src/glib/glib/tests/rec-mutex.c:98,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/glib/tests/rec-mutex.c:103,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/rec-mutex.c:101,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/rec-mutex.c:100,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/rec-mutex.c:106,1
    - Dst: g_thread_yield
      Src: /src/glib/glib/tests/rec-mutex.c:110,1
    - Dst: g_thread_yield
      Src: /src/glib/glib/tests/rec-mutex.c:111,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/rec-mutex.c:113,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/rec-mutex.c:115,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/rec-mutex.c:120,1
    - Dst: g_thread_yield
      Src: /src/glib/glib/tests/rec-mutex.c:124,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/rec-mutex.c:127,1
    - Dst: g_thread_yield
      Src: /src/glib/glib/tests/rec-mutex.c:125,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/glib/tests/rec-mutex.c:130,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/rec-mutex.c:116,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/glib/tests/rec-mutex.c:122,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/glib/tests/rec-mutex.c:118,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - data
    - nr
    argTypes:
    - ThreadTestData*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 131
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 131
    functionName: acquire
    functionSourceFile: /src/glib/glib/tests/rec-mutex.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_lock
    - g_thread_yield
    - g_printerr
    - g_assert_true
    - g_assert_null
    - g_test_verbose
    - g_rec_mutex_unlock
    - g_rec_mutex_trylock
    - g_thread_self
    linkageType: ''
    returnType: void
    signature: 'static void acquire (ThreadTestData *data, unsigned int nr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_perf
      Src: /src/glib/glib/tests/rec-mutex.c:160,1
    - Dst: g_new0
      Src: /src/glib/glib/tests/rec-mutex.c:168,1
    - Dst: g_rec_mutex_init
      Src: /src/glib/glib/tests/rec-mutex.c:172,1
    - Dst: g_new0
      Src: /src/glib/glib/tests/rec-mutex.c:167,1
    - Dst: g_new0
      Src: /src/glib/glib/tests/rec-mutex.c:169,1
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/rec-mutex.c:175,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/rec-mutex.c:178,1
    - Dst: g_rec_mutex_clear
      Src: /src/glib/glib/tests/rec-mutex.c:181,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/rec-mutex.c:184,1
    - Dst: thread_test_data_clear
      Src: /src/glib/glib/tests/rec-mutex.c:186,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 187
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 187
    functionName: test_rec_mutex4
    functionSourceFile: /src/glib/glib/tests/rec-mutex.c
    functionUses: []
    functionsReached:
    - g_assert_null
    - g_rec_mutex_init
    - g_rec_mutex_clear
    - g_thread_new
    - g_test_perf
    - g_thread_join
    - g_new0
    - thread_test_data_clear
    linkageType: ''
    returnType: void
    signature: 'static void test_rec_mutex4 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_addition
      Src: /src/glib/glib/tests/rec-mutex.c:216,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: addition_thread
    functionSourceFile: /src/glib/glib/tests/rec-mutex.c
    functionUses: []
    functionsReached:
    - do_addition
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer addition_thread (gpointer value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rec_mutex_init
      Src: /src/glib/glib/tests/rec-mutex.c:38,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/glib/tests/rec-mutex.c:39,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/glib/tests/rec-mutex.c:40,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/glib/tests/rec-mutex.c:42,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/glib/tests/rec-mutex.c:41,1
    - Dst: g_rec_mutex_clear
      Src: /src/glib/glib/tests/rec-mutex.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 44
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 44
    functionName: test_rec_mutex1
    functionSourceFile: /src/glib/glib/tests/rec-mutex.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_init
    - g_rec_mutex_unlock
    - g_rec_mutex_clear
    - g_rec_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void test_rec_mutex1 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rec_mutex_trylock
      Src: /src/glib/glib/tests/rec-mutex.c:63,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/glib/tests/rec-mutex.c:69,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/rec-mutex.c:67,1
    - Dst: g_rec_mutex_trylock
      Src: /src/glib/glib/tests/rec-mutex.c:66,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/rec-mutex.c:64,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/glib/tests/rec-mutex.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 71
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 71
    functionName: test_rec_mutex3
    functionSourceFile: /src/glib/glib/tests/rec-mutex.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_unlock
    - g_rec_mutex_trylock
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_rec_mutex3 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/tests/rec-mutex.c:85,1
    - Dst: g_free
      Src: /src/glib/glib/tests/rec-mutex.c:87,1
    - Dst: g_free
      Src: /src/glib/glib/tests/rec-mutex.c:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - ThreadTestData*
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: thread_test_data_clear
    functionSourceFile: /src/glib/glib/tests/rec-mutex.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void thread_test_data_clear (ThreadTestData *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rand_new
      Src: /src/glib/glib/tests/rec-mutex.c:139,1
    - Dst: g_rand_int_range
      Src: /src/glib/glib/tests/rec-mutex.c:142,1
    - Dst: g_rand_free
      Src: /src/glib/glib/tests/rec-mutex.c:144,1
    - Dst: acquire
      Src: /src/glib/glib/tests/rec-mutex.c:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 147
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 147
    functionName: thread_func
    functionSourceFile: /src/glib/glib/tests/rec-mutex.c
    functionUses: []
    functionsReached:
    - acquire
    - g_rand_int_range
    - g_rand_free
    - g_rand_new
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer thread_func (gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_rec_mutex_lock
      Src: /src/glib/glib/tests/rec-mutex.c:201,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/glib/tests/rec-mutex.c:208,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - value
    argTypes:
    - gint*
    constantsTouched: []
    func_position:
      end: 211
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 211
    functionName: do_addition
    functionSourceFile: /src/glib/glib/tests/rec-mutex.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_lock
    - g_rec_mutex_unlock
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean do_addition (gint *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/rec-mutex.c:224,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/rec-mutex.c:240,1
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/rec-mutex.c:237,1
    - Dst: g_test_perf
      Src: /src/glib/glib/tests/rec-mutex.c:234,1
    - Dst: g_atomic_int_set
      Src: /src/glib/glib/tests/rec-mutex.c:241,1
    - Dst: addition_thread
      Src: /src/glib/glib/tests/rec-mutex.c:242,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/rec-mutex.c:243,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/rec-mutex.c:243,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/rec-mutex.c:244,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/rec-mutex.c:248,1
    - Dst: g_test_maximized_result
      Src: /src/glib/glib/tests/rec-mutex.c:250,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 1
    argNames:
    - data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 251
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 251
    functionName: test_mutex_perf
    functionSourceFile: /src/glib/glib/tests/rec-mutex.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - addition_thread
    - g_atomic_int_get
    - g_thread_new
    - g_atomic_int_set
    - g_test_maximized_result
    - g_test_perf
    - g_thread_join
    - g_get_monotonic_time
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_mutex_perf (gconstpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/rec-mutex.c:257,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/rec-mutex.c:260,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/rec-mutex.c:262,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/rec-mutex.c:261,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/rec-mutex.c:259,1
    - Dst: sprintf
      Src: /src/glib/glib/tests/rec-mutex.c:276,1
    - Dst: sprintf
      Src: /src/glib/glib/tests/rec-mutex.c:278,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/rec-mutex.c:280,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/rec-mutex.c:280,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/rec-mutex.c:284,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 285
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 285
    functionName: main
    functionSourceFile: /src/glib/glib/tests/rec-mutex.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_add_data_func
    - g_test_run
    - GINT_TO_POINTER
    - g_test_init
    - sprintf
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/hash.c:1024,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:1028,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/hash.c:1034,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - dead
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1035
      start: 1017
    functionDepth: 0
    functionLinenumber: 1017
    functionLinenumberEnd: 1035
    functionName: fake_free
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_ptr_array_index
    - g_assert_not_reached
    linkageType: ''
    returnType: void
    signature: 'static void fake_free (gpointer dead) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/hash.c:1049,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/hash.c:1072,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/hash.c:1067,1
    - Dst: g_hash_table_remove
      Src: /src/glib/glib/tests/hash.c:1085,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:1092,1
    - Dst: g_new0
      Src: /src/glib/glib/tests/hash.c:1065,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1068,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1071,1
    - Dst: g_new0
      Src: /src/glib/glib/tests/hash.c:1070,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1066,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1073,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1078,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1083,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/hash.c:1097,1
    - Dst: g_hash_table_unref
      Src: /src/glib/glib/tests/hash.c:1102,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1081,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/hash.c:1051,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/hash.c:1057,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/hash.c:1062,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/hash.c:1077,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/hash.c:1082,1
    - Dst: g_free
      Src: /src/glib/glib/tests/hash.c:1093,1
    - Dst: g_free
      Src: /src/glib/glib/tests/hash.c:1094,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1056,1
    - Dst: g_new0
      Src: /src/glib/glib/tests/hash.c:1055,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/tests/hash.c:1053,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1058,1
    - Dst: g_new0
      Src: /src/glib/glib/tests/hash.c:1060,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1061,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1063,1
    - Dst: g_new0
      Src: /src/glib/glib/tests/hash.c:1075,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1076,1
    - Dst: g_new0
      Src: /src/glib/glib/tests/hash.c:1080,1
    - Dst: g_hash_table_remove
      Src: /src/glib/glib/tests/hash.c:1100,1
    - Dst: g_ptr_array_index
      Src: /src/glib/glib/tests/hash.c:1090,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 54
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1103
      start: 1043
    functionDepth: 0
    functionLinenumber: 1043
    functionLinenumberEnd: 1103
    functionName: test_destroy_modify
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_ptr_array_unref
    - g_strdup
    - g_hash_table_remove
    - g_assert
    - g_hash_table_unref
    - g_free
    - g_test_bug
    - g_hash_table_insert
    - g_hash_table_new_full
    - g_new0
    - g_ptr_array_new
    - g_ptr_array_index
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void test_destroy_modify (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/glib/glib/tests/hash.c:1189,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - key
    - value
    - data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1196
      start: 1184
    functionDepth: 0
    functionLinenumber: 1184
    functionLinenumberEnd: 1196
    functionName: foreach_steal_func
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - strstr
    - g_hash_table_insert
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean foreach_steal_func (gpointer key, gpointer value,
      gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_remove_all
      Src: /src/glib/glib/tests/hash.c:1040,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1041
      start: 1037
    functionDepth: 0
    functionLinenumber: 1037
    functionLinenumberEnd: 1041
    functionName: value_destroy_insert
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_hash_table_remove_all
    linkageType: ''
    returnType: void
    signature: 'static void value_destroy_insert (gpointer value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_str_equal
      Src: /src/glib/glib/tests/hash.c:1108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - key
    - value
    - data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1109
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1109
    functionName: find_str
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_str_equal
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean find_str (gpointer key, gpointer value, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1211,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1212,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1213,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/tests/hash.c:1217,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/tests/hash.c:1218,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:1224,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/tests/hash.c:1225,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1208,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1208,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1209,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1209,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:1218,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/tests/hash.c:1220,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:1221,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/tests/hash.c:1221,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/tests/hash.c:1224,1
    - Dst: g_hash_table_unref
      Src: /src/glib/glib/tests/hash.c:1227,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:1217,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:1222,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1208,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1209,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1210,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/tests/hash.c:1222,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:1223,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/tests/hash.c:1223,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:1225,1
    - Dst: g_hash_table_unref
      Src: /src/glib/glib/tests/hash.c:1228,1
    - Dst: g_hash_table_foreach_steal
      Src: /src/glib/glib/tests/hash.c:1215,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/tests/hash.c:1205,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/tests/hash.c:1206,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1210,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1211,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1212,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1212,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1210,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1213,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1211,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1213,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:1220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 42
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1229
      start: 1199
    functionDepth: 0
    functionLinenumber: 1199
    functionLinenumberEnd: 1229
    functionName: test_foreach_steal
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_hash_table_foreach_steal
    - g_hash_table_unref
    - g_hash_table_lookup
    - g_assert_cmpstr
    - g_hash_table_insert
    - g_hash_table_new_full
    - g_hash_table_size
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_foreach_steal (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:249,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:250,1
    - Dst: atoi
      Src: /src/glib/glib/tests/hash.c:254,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:251,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:252,1
    - Dst: sprintf
      Src: /src/glib/glib/tests/hash.c:256,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:257,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/hash.c:257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - key
    - value
    - user_data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 260
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 260
    functionName: remove_even_foreach
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_assert
    - strcmp
    - atoi
    - sprintf
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean remove_even_foreach (gpointer key, gpointer value,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - key
    - value
    - user_data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 351
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 351
    functionName: find_first
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean find_first (gpointer key, gpointer value, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new
      Src: /src/glib/glib/tests/hash.c:384,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:387,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:388,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:385,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:387,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:390,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/tests/hash.c:390,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/hash.c:394,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/tests/hash.c:394,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:394,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:396,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:397,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/glib/tests/hash.c:400,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 401
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 401
    functionName: direct_hash_test2
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_assert
    - g_hash_table_lookup
    - g_hash_table_insert
    - GINT_TO_POINTER
    - g_hash_table_new
    - g_hash_table_size
    - g_hash_table_destroy
    linkageType: ''
    returnType: void
    signature: 'static void direct_hash_test2 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/tests/hash.c:1746,1
    - Dst: g_hash_table_add
      Src: /src/glib/glib/tests/hash.c:1747,1
    - Dst: g_hash_table_add
      Src: /src/glib/glib/tests/hash.c:1748,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1747,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1748,1
    - Dst: g_hash_table_add
      Src: /src/glib/glib/tests/hash.c:1749,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1749,1
    - Dst: g_hash_table_get_keys_as_ptr_array
      Src: /src/glib/glib/tests/hash.c:1751,1
    - Dst: g_hash_table_steal_all
      Src: /src/glib/glib/tests/hash.c:1752,1
    - Dst: g_hash_table_unref
      Src: /src/glib/glib/tests/hash.c:1753,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1759,1
    - Dst: g_strv_equal
      Src: /src/glib/glib/tests/hash.c:1760,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:1756,1
    - Dst: g_ptr_array_set_free_func
      Src: /src/glib/glib/tests/hash.c:1754,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/hash.c:1757,1
    - Dst: g_strv_equal
      Src: /src/glib/glib/tests/hash.c:1762,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/hash.c:1766,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1767
      start: 1740
    functionDepth: 0
    functionLinenumber: 1740
    functionLinenumberEnd: 1767
    functionName: test_set_get_keys_as_ptr_array
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_strv_equal
    - g_strdup
    - g_assert_true
    - g_hash_table_unref
    - g_hash_table_steal_all
    - g_ptr_array_set_free_func
    - g_clear_pointer
    - g_hash_table_new_full
    - g_hash_table_get_keys_as_ptr_array
    - g_ptr_array_add
    - g_hash_table_add
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_set_get_keys_as_ptr_array (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1777,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1778,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:1783,1
    - Dst: memcmp
      Src: /src/glib/glib/tests/hash.c:1788,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1784,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/hash.c:1781,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1785,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1790,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1790,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/hash.c:1794,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/tests/hash.c:1775,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1776,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1777,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1778,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1778,1
    - Dst: g_ptr_array_find
      Src: /src/glib/glib/tests/hash.c:1784,1
    - Dst: g_ptr_array_find
      Src: /src/glib/glib/tests/hash.c:1785,1
    - Dst: g_hash_table_get_values_as_ptr_array
      Src: /src/glib/glib/tests/hash.c:1780,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1787,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1788,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1776,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1776,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1777,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1784,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1785,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1788,1
    - Dst: memcmp
      Src: /src/glib/glib/tests/hash.c:1790,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1795
      start: 1769
    functionDepth: 0
    functionLinenumber: 1769
    functionLinenumberEnd: 1795
    functionName: test_set_get_values_as_ptr_array
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_ptr_array_find
    - g_hash_table_get_values_as_ptr_array
    - g_strdup
    - g_assert_true
    - GUINT_TO_POINTER
    - memcmp
    - g_hash_table_insert
    - g_clear_pointer
    - g_hash_table_new_full
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_set_get_values_as_ptr_array (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:280,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/tests/hash.c:292,1
    - Dst: atoi
      Src: /src/glib/glib/tests/hash.c:297,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:302,1
    - Dst: atoi
      Src: /src/glib/glib/tests/hash.c:303,1
    - Dst: g_hash_table_foreach_remove
      Src: /src/glib/glib/tests/hash.c:309,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/tests/hash.c:310,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:316,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:334,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/hash.c:334,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/glib/tests/hash.c:340,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/tests/hash.c:277,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:284,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:289,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:289,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:289,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/tests/hash.c:299,1
    - Dst: sprintf
      Src: /src/glib/glib/tests/hash.c:296,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:301,1
    - Dst: g_hash_table_remove
      Src: /src/glib/glib/tests/hash.c:307,1
    - Dst: g_hash_table_foreach
      Src: /src/glib/glib/tests/hash.c:311,1
    - Dst: atoi
      Src: /src/glib/glib/tests/hash.c:316,1
    - Dst: g_hash_table_lookup_extended
      Src: /src/glib/glib/tests/hash.c:322,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:337,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/hash.c:337,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/hash.c:268,1
    - Dst: atoi
      Src: /src/glib/glib/tests/hash.c:284,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:287,1
    - Dst: sprintf
      Src: /src/glib/glib/tests/hash.c:306,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:308,1
    - Dst: sprintf
      Src: /src/glib/glib/tests/hash.c:315,1
    - Dst: sprintf
      Src: /src/glib/glib/tests/hash.c:318,1
    - Dst: atoi
      Src: /src/glib/glib/tests/hash.c:319,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:327,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:333,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:336,1
    - Dst: sprintf
      Src: /src/glib/glib/tests/hash.c:283,1
    - Dst: crcinit
      Src: /src/glib/glib/tests/hash.c:275,1
    - Dst: sprintf
      Src: /src/glib/glib/tests/hash.c:286,1
    - Dst: atoi
      Src: /src/glib/glib/tests/hash.c:287,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:297,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:292,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:303,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/tests/hash.c:308,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:310,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:331,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:319,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 86
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 341
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 341
    functionName: second_hash_test
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - crcinit
    - GPOINTER_TO_INT
    - g_strdup
    - g_hash_table_foreach
    - g_hash_table_remove
    - g_assert
    - g_hash_table_lookup_extended
    - g_hash_table_lookup
    - g_hash_table_foreach_remove
    - strcmp
    - g_hash_table_insert
    - g_hash_table_new_full
    - g_hash_table_size
    - atoi
    - sprintf
    - g_hash_table_destroy
    linkageType: ''
    returnType: void
    signature: 'static void second_hash_test (gconstpointer d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new
      Src: /src/glib/glib/tests/hash.c:359,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:362,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:360,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:363,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:362,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:365,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/tests/hash.c:365,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/hash.c:369,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/tests/hash.c:369,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:369,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:372,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:371,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/glib/tests/hash.c:375,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 376
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 376
    functionName: direct_hash_test
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_assert
    - g_hash_table_lookup
    - g_hash_table_insert
    - GINT_TO_POINTER
    - g_hash_table_new
    - g_hash_table_size
    - g_hash_table_destroy
    linkageType: ''
    returnType: void
    signature: 'static void direct_hash_test (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new
      Src: /src/glib/glib/tests/hash.c:411,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:416,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:419,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:412,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:416,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/tests/hash.c:419,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/hash.c:424,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/tests/hash.c:424,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:426,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/glib/tests/hash.c:429,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 430
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 430
    functionName: int_hash_test
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_assert
    - g_hash_table_lookup
    - g_hash_table_insert
    - GINT_TO_POINTER
    - g_hash_table_new
    - g_hash_table_size
    - g_hash_table_destroy
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void int_hash_test (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/hash.c:575,1
    - Dst: atoi
      Src: /src/glib/glib/tests/hash.c:577,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:577,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - key
    - value
    - user_data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 580
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 580
    functionName: set_check
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - atoi
    - g_assert_not_reached
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void set_check (gpointer key, gpointer value, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - key
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 818
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 818
    functionName: key_destroy
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void key_destroy (gpointer key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/tests/hash.c:586,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/tests/hash.c:599,1
    - Dst: g_hash_table_contains
      Src: /src/glib/glib/tests/hash.c:602,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:607,1
    - Dst: g_hash_table_replace
      Src: /src/glib/glib/tests/hash.c:610,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/tests/hash.c:613,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/glib/tests/hash.c:615,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:595,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:592,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/hash.c:591,1
    - Dst: g_hash_table_add
      Src: /src/glib/glib/tests/hash.c:595,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/hash.c:595,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:601,1
    - Dst: g_hash_table_contains
      Src: /src/glib/glib/tests/hash.c:601,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:606,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:607,1
    - Dst: g_hash_table_replace
      Src: /src/glib/glib/tests/hash.c:609,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/tests/hash.c:612,1
    - Dst: g_hash_table_add
      Src: /src/glib/glib/tests/hash.c:592,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:599,1
    - Dst: g_hash_table_contains
      Src: /src/glib/glib/tests/hash.c:603,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:609,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:610,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:612,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:613,1
    - Dst: g_hash_table_foreach
      Src: /src/glib/glib/tests/hash.c:598,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:602,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:606,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:606,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:603,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:607,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:610,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:609,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 43
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 616
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 616
    functionName: set_hash_test
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_strdup
    - g_hash_table_replace
    - g_assert
    - g_hash_table_lookup
    - g_assert_cmpstr
    - g_hash_table_insert
    - g_hash_table_destroy
    - g_hash_table_new_full
    - g_hash_table_contains
    - g_hash_table_size
    - g_hash_table_foreach
    - g_hash_table_add
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void set_hash_test (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/tests/hash.c:826,1
    - Dst: g_hash_table_steal_all
      Src: /src/glib/glib/tests/hash.c:835,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:830,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:842,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:859,1
    - Dst: g_hash_table_remove_all
      Src: /src/glib/glib/tests/hash.c:862,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:836,1
    - Dst: g_hash_table_steal_all
      Src: /src/glib/glib/tests/hash.c:840,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:845,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:854,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:856,1
    - Dst: g_hash_table_remove_all
      Src: /src/glib/glib/tests/hash.c:858,1
    - Dst: g_hash_table_unref
      Src: /src/glib/glib/tests/hash.c:866,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:837,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:841,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:850,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:846,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:844,1
    - Dst: g_hash_table_steal
      Src: /src/glib/glib/tests/hash.c:853,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:855,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:828,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:829,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:849,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:851,1
    - Dst: g_hash_table_steal
      Src: /src/glib/glib/tests/hash.c:848,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:860,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:863,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:864,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 867
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 867
    functionName: test_remove_all
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_hash_table_unref
    - g_assert
    - g_hash_table_steal
    - g_hash_table_steal_all
    - g_hash_table_insert
    - g_hash_table_new_full
    - g_hash_table_remove_all
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_remove_all (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - hash_table
    argTypes:
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 50
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 50
    functionName: fill_hash_table_and_array
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_hash_table_insert
    linkageType: ''
    returnType: void
    signature: 'static void fill_hash_table_and_array (GHashTable *hash_table) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new
      Src: /src/glib/glib/tests/hash.c:482,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:487,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:487,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:483,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:490,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/tests/hash.c:490,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/hash.c:495,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/tests/hash.c:495,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:497,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/glib/tests/hash.c:500,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 501
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 501
    functionName: double_hash_test
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_assert
    - g_hash_table_lookup
    - g_hash_table_insert
    - GINT_TO_POINTER
    - g_hash_table_new
    - g_hash_table_size
    - g_hash_table_destroy
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void double_hash_test (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_str_hash
      Src: /src/glib/glib/tests/hash.c:778,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 779
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 779
    functionName: null_safe_str_hash
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_str_hash
    linkageType: ''
    returnType: guint
    signature: 'static guint null_safe_str_hash (gconstpointer key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - result_array
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: init_result_array
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void init_result_array (int result_array[10000]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/hash.c:509,1
    - Dst: g_double_hash
      Src: /src/glib/glib/tests/hash.c:516,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/hash.c:511,1
    - Dst: g_double_hash
      Src: /src/glib/glib/tests/hash.c:516,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/hash.c:516,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/hash.c:521,1
    - Dst: g_double_hash
      Src: /src/glib/glib/tests/hash.c:521,1
    - Dst: g_double_hash
      Src: /src/glib/glib/tests/hash.c:521,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 522
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 522
    functionName: double_hash_collision_test
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_double_hash
    - g_assert_cmpuint
    - g_test_summary
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void double_hash_collision_test (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/glib/tests/hash.c:784,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 785
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 785
    functionName: null_safe_str_equal
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean null_safe_str_equal (gconstpointer a, gconstpointer
      b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: my_hash_equal
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean my_hash_equal (gconstpointer a, gconstpointer b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/hash.c:795,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:798,1
    - Dst: g_hash_table_lookup_extended
      Src: /src/glib/glib/tests/hash.c:800,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:801,1
    - Dst: g_hash_table_new
      Src: /src/glib/glib/tests/hash.c:797,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:803,1
    - Dst: g_hash_table_lookup_extended
      Src: /src/glib/glib/tests/hash.c:805,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:806,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:807,1
    - Dst: g_hash_table_unref
      Src: /src/glib/glib/tests/hash.c:809,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 810
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 810
    functionName: test_lookup_null_key
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_hash_table_lookup_extended
    - g_hash_table_unref
    - g_assert
    - g_test_bug
    - g_assert_cmpstr
    - g_hash_table_insert
    - g_hash_table_new
    linkageType: ''
    returnType: void
    signature: 'static void test_lookup_null_key (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/glib/tests/hash.c:935,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 936
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 936
    functionName: eq_func
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean eq_func (gconstpointer a, gconstpointer b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 957
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 957
    functionName: key_ref
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: RefCountedKey*
    signature: 'static RefCountedKey *key_ref (RefCountedKey *key) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 4
    argNames:
    - h
    - unused
    - occupied
    - tombstones
    argTypes:
    - GHashTable*
    - gint*
    - gint*
    - gint*
    constantsTouched: []
    func_position:
      end: 1514
      start: 1497
    functionDepth: 0
    functionLinenumber: 1497
    functionLinenumberEnd: 1514
    functionName: count_keys
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void count_keys (GHashTable *h, gint *unused, gint *occupied,
      gint *tombstones) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:943,1
    - Dst: g_free
      Src: /src/glib/glib/tests/hash.c:948,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 949
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 949
    functionName: key_unref
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void key_unref (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/glib/tests/hash.c:964,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 970
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 970
    functionName: key_new
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_new
    linkageType: ''
    returnType: RefCountedKey*
    signature: 'static RefCountedKey *key_new (const gchar *key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/tests/hash.c:1674,1
    - Dst: g_hash_table_contains
      Src: /src/glib/glib/tests/hash.c:1684,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1683,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/hash.c:1681,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:1684,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1686,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/hash.c:1688,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/tests/hash.c:1688,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/glib/tests/hash.c:1689,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/glib/tests/hash.c:1690,1
    - Dst: g_hash_table_contains
      Src: /src/glib/glib/tests/hash.c:1708,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:1697,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:1699,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:1705,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/hash.c:1691,1
    - Dst: g_hash_table_unref
      Src: /src/glib/glib/tests/hash.c:1710,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:1696,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:1708,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1711
      start: 1670
    functionDepth: 0
    functionLinenumber: 1670
    functionLinenumberEnd: 1711
    functionName: test_set_insert_corruption
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_hash_table_iter_init
    - g_hash_table_unref
    - g_assert
    - g_assert_cmpuint
    - g_test_bug
    - g_assert_not_reached
    - g_hash_table_insert
    - g_assert_cmpstr
    - g_hash_table_new_full
    - g_hash_table_contains
    - g_hash_table_size
    - g_hash_table_iter_next
    linkageType: ''
    returnType: void
    signature: 'static void test_set_insert_corruption (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handle_pair
      Src: /src/glib/glib/tests/hash.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - key
    - value
    - user_data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: my_hash_callback
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - handle_pair
    linkageType: ''
    returnType: void
    signature: 'static void my_hash_callback (gpointer key, gpointer value, gpointer
      user_data) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/hash.c:637,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/hash.c:645,1
    - Dst: g_list_free
      Src: /src/glib/glib/tests/hash.c:653,1
    - Dst: g_hash_table_foreach
      Src: /src/glib/glib/tests/hash.c:685,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:703,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:705,1
    - Dst: g_hash_table_iter_replace
      Src: /src/glib/glib/tests/hash.c:697,1
    - Dst: g_hash_table_new
      Src: /src/glib/glib/tests/hash.c:633,1
    - Dst: g_hash_table_get_keys
      Src: /src/glib/glib/tests/hash.c:639,1
    - Dst: fill_hash_table_and_array
      Src: /src/glib/glib/tests/hash.c:634,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/hash.c:647,1
    - Dst: g_list_length
      Src: /src/glib/glib/tests/hash.c:648,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/tests/hash.c:649,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/glib/tests/hash.c:659,1
    - Dst: init_result_array
      Src: /src/glib/glib/tests/hash.c:655,1
    - Dst: handle_pair
      Src: /src/glib/glib/tests/hash.c:661,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/glib/tests/hash.c:656,1
    - Dst: g_hash_table_foreach_remove
      Src: /src/glib/glib/tests/hash.c:681,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/glib/tests/hash.c:693,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/glib/tests/hash.c:700,1
    - Dst: fill_hash_table_and_array
      Src: /src/glib/glib/tests/hash.c:689,1
    - Dst: g_hash_table_find
      Src: /src/glib/glib/tests/hash.c:635,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/hash.c:641,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/hash.c:650,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:666,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/glib/tests/hash.c:666,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/tests/hash.c:667,1
    - Dst: verify_result_array
      Src: /src/glib/glib/tests/hash.c:668,1
    - Dst: g_hash_table_remove
      Src: /src/glib/glib/tests/hash.c:677,1
    - Dst: fill_hash_table_and_array
      Src: /src/glib/glib/tests/hash.c:679,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/glib/tests/hash.c:686,1
    - Dst: g_hash_table_foreach
      Src: /src/glib/glib/tests/hash.c:673,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/glib/tests/hash.c:708,1
    - Dst: g_hash_table_get_values
      Src: /src/glib/glib/tests/hash.c:643,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:659,1
    - Dst: g_list_free
      Src: /src/glib/glib/tests/hash.c:652,1
    - Dst: g_hash_table_iter_remove
      Src: /src/glib/glib/tests/hash.c:664,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:667,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/tests/hash.c:682,1
    - Dst: fill_hash_table_and_array
      Src: /src/glib/glib/tests/hash.c:670,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/hash.c:683,1
    - Dst: g_hash_table_new
      Src: /src/glib/glib/tests/hash.c:688,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/glib/tests/hash.c:696,1
    - Dst: init_result_array
      Src: /src/glib/glib/tests/hash.c:672,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:696,1
    - Dst: verify_result_array
      Src: /src/glib/glib/tests/hash.c:674,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/glib/tests/hash.c:703,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 82
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 709
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 709
    functionName: test_hash_misc
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_hash_table_find
    - g_list_length
    - fill_hash_table_and_array
    - g_hash_table_foreach
    - g_hash_table_get_values
    - g_list_free
    - g_hash_table_size
    - g_hash_table_get_keys
    - handle_pair
    - g_hash_table_remove
    - g_hash_table_foreach_remove
    - g_assert_not_reached
    - g_hash_table_new
    - g_hash_table_iter_replace
    - g_hash_table_iter_next
    - g_hash_table_destroy
    - g_hash_table_iter_init
    - g_assert
    - init_result_array
    - g_hash_table_iter_remove
    - verify_result_array
    linkageType: ''
    returnType: void
    signature: 'static void test_hash_misc (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: my_hash
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint
    signature: 'static guint my_hash (gconstpointer key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/tests/hash.c:1720,1
    - Dst: g_hash_table_add
      Src: /src/glib/glib/tests/hash.c:1721,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1721,1
    - Dst: g_hash_table_add
      Src: /src/glib/glib/tests/hash.c:1722,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1722,1
    - Dst: g_hash_table_add
      Src: /src/glib/glib/tests/hash.c:1723,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1723,1
    - Dst: g_hash_table_get_keys_as_array
      Src: /src/glib/glib/tests/hash.c:1724,1
    - Dst: g_hash_table_steal_all
      Src: /src/glib/glib/tests/hash.c:1725,1
    - Dst: g_hash_table_unref
      Src: /src/glib/glib/tests/hash.c:1726,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/hash.c:1737,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:1735,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:1729,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:1734,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:1727,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/hash.c:1728,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:1731,1
    - Dst: g_str_equal
      Src: /src/glib/glib/tests/hash.c:1730,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1738
      start: 1713
    functionDepth: 0
    functionLinenumber: 1713
    functionLinenumberEnd: 1738
    functionName: test_set_to_strv
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_strv_length
    - g_hash_table_unref
    - g_hash_table_steal_all
    - g_assert_cmpstr
    - g_hash_table_get_keys_as_array
    - g_strfreev
    - g_hash_table_new_full
    - g_str_equal
    - g_hash_table_add
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_set_to_strv (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 176
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 176
    functionName: crcinit
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void crcinit(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:1130,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1120,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1122,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1119,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1121,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1123,1
    - Dst: g_hash_table_find
      Src: /src/glib/glib/tests/hash.c:1126,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:1127,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:1133,1
    - Dst: g_hash_table_find
      Src: /src/glib/glib/tests/hash.c:1141,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:1145,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:1142,1
    - Dst: g_hash_table_find
      Src: /src/glib/glib/tests/hash.c:1138,1
    - Dst: g_hash_table_find
      Src: /src/glib/glib/tests/hash.c:1135,1
    - Dst: g_hash_table_new
      Src: /src/glib/glib/tests/hash.c:1117,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1124,1
    - Dst: g_hash_table_find
      Src: /src/glib/glib/tests/hash.c:1129,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:1136,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:1139,1
    - Dst: g_hash_table_find
      Src: /src/glib/glib/tests/hash.c:1132,1
    - Dst: g_hash_table_find
      Src: /src/glib/glib/tests/hash.c:1144,1
    - Dst: g_hash_table_unref
      Src: /src/glib/glib/tests/hash.c:1147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1148
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1148
    functionName: test_find
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_hash_table_find
    - g_hash_table_unref
    - g_assert
    - g_assert_cmpstr
    - g_hash_table_insert
    - g_hash_table_new
    linkageType: ''
    returnType: void
    signature: 'static void test_find (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1387,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1387,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1386,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:1398,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1400,1
    - Dst: g_hash_table_lookup_extended
      Src: /src/glib/glib/tests/hash.c:1400,1
    - Dst: g_hash_table_lookup_extended
      Src: /src/glib/glib/tests/hash.c:1407,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/hash.c:1411,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/hash.c:1413,1
    - Dst: g_hash_table_lookup_extended
      Src: /src/glib/glib/tests/hash.c:1418,1
    - Dst: g_hash_table_lookup_extended
      Src: /src/glib/glib/tests/hash.c:1389,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/hash.c:1416,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1382,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1387,1
    - Dst: g_hash_table_lookup_extended
      Src: /src/glib/glib/tests/hash.c:1395,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1405,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/hash.c:1407,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/hash.c:1410,1
    - Dst: g_hash_table_lookup_extended
      Src: /src/glib/glib/tests/hash.c:1405,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/hash.c:1423,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/tests/hash.c:1380,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1383,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1382,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1382,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1383,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1384,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1384,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1386,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1385,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1385,1
    - Dst: g_hash_table_lookup_extended
      Src: /src/glib/glib/tests/hash.c:1413,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/hash.c:1418,1
    - Dst: g_hash_table_lookup_extended
      Src: /src/glib/glib/tests/hash.c:1423,1
    - Dst: g_hash_table_unref
      Src: /src/glib/glib/tests/hash.c:1425,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1383,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1384,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1386,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1385,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1389,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:1392,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:1393,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1395,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:1403,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/hash.c:1421,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 46
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1426
      start: 1374
    functionDepth: 0
    functionLinenumber: 1374
    functionLinenumberEnd: 1426
    functionName: test_lookup_extended
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_strdup
    - g_hash_table_lookup_extended
    - g_assert_null
    - g_hash_table_unref
    - g_assert_cmpstr
    - g_hash_table_insert
    - g_hash_table_new_full
    - g_assert_false
    linkageType: ''
    returnType: void
    signature: 'static void test_lookup_extended (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - key
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1573
      start: 1570
    functionDepth: 0
    functionLinenumber: 1570
    functionLinenumberEnd: 1573
    functionName: trivial_key_destroy
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void trivial_key_destroy (gpointer key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_remove
      Src: /src/glib/glib/tests/hash.c:876,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 877
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 877
    functionName: recursive_value_destroy
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_hash_table_remove
    linkageType: ''
    returnType: void
    signature: 'static void recursive_value_destroy (gpointer value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:1432,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1434
      start: 1428
    functionDepth: 0
    functionLinenumber: 1428
    functionLinenumberEnd: 1434
    functionName: inc_state
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void inc_state (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/tests/hash.c:1580,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1603,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1586,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1587,1
    - Dst: check_counts
      Src: /src/glib/glib/tests/hash.c:1600,1
    - Dst: check_consistency
      Src: /src/glib/glib/tests/hash.c:1593,1
    - Dst: check_counts
      Src: /src/glib/glib/tests/hash.c:1596,1
    - Dst: check_consistency
      Src: /src/glib/glib/tests/hash.c:1605,1
    - Dst: check_counts
      Src: /src/glib/glib/tests/hash.c:1608,1
    - Dst: check_consistency
      Src: /src/glib/glib/tests/hash.c:1609,1
    - Dst: check_consistency
      Src: /src/glib/glib/tests/hash.c:1613,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1585,1
    - Dst: g_hash_table_remove
      Src: /src/glib/glib/tests/hash.c:1599,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1607,1
    - Dst: g_hash_table_remove_all
      Src: /src/glib/glib/tests/hash.c:1611,1
    - Dst: g_hash_table_unref
      Src: /src/glib/glib/tests/hash.c:1615,1
    - Dst: check_counts
      Src: /src/glib/glib/tests/hash.c:1582,1
    - Dst: check_consistency
      Src: /src/glib/glib/tests/hash.c:1583,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1588,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1589,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1590,1
    - Dst: check_counts
      Src: /src/glib/glib/tests/hash.c:1592,1
    - Dst: check_counts
      Src: /src/glib/glib/tests/hash.c:1604,1
    - Dst: g_hash_table_remove
      Src: /src/glib/glib/tests/hash.c:1595,1
    - Dst: check_consistency
      Src: /src/glib/glib/tests/hash.c:1597,1
    - Dst: check_consistency
      Src: /src/glib/glib/tests/hash.c:1601,1
    - Dst: check_counts
      Src: /src/glib/glib/tests/hash.c:1612,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1616
      start: 1575
    functionDepth: 0
    functionLinenumber: 1575
    functionLinenumberEnd: 1616
    functionName: test_internal_consistency
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_hash_table_remove_all
    - g_hash_table_remove
    - g_hash_table_unref
    - g_hash_table_insert
    - g_hash_table_new_full
    - check_counts
    - check_consistency
    linkageType: ''
    returnType: void
    signature: 'static void test_internal_consistency (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_remove
      Src: /src/glib/glib/tests/hash.c:1460,1
    - Dst: g_hash_table_remove
      Src: /src/glib/glib/tests/hash.c:1464,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1447,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1450,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1458,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1459,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:1461,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1458,1
    - Dst: g_hash_table_unref
      Src: /src/glib/glib/tests/hash.c:1467,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1448,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/hash.c:1455,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:1465,1
    - Dst: g_hash_table_unref
      Src: /src/glib/glib/tests/hash.c:1468,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/tests/hash.c:1444,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/tests/hash.c:1450,1
    - Dst: g_hash_table_new_similar
      Src: /src/glib/glib/tests/hash.c:1452,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1454,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/tests/hash.c:1454,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/tests/hash.c:1455,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/tests/hash.c:1459,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:1463,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1469
      start: 1436
    functionDepth: 0
    functionLinenumber: 1436
    functionLinenumberEnd: 1469
    functionName: test_new_similar
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_hash_table_new_similar
    - g_assert_true
    - g_strdup
    - g_assert_null
    - g_hash_table_remove
    - g_hash_table_unref
    - g_hash_table_lookup
    - g_hash_table_insert
    - g_hash_table_new_full
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_new_similar (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - key
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: one_hash
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint
    signature: 'static guint one_hash (gconstpointer key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_free
      Src: /src/glib/glib/tests/hash.c:529,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 530
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 530
    functionName: string_free
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_string_free
    linkageType: ''
    returnType: void
    signature: 'static void string_free (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1331,1
    - Dst: g_hash_table_steal_extended
      Src: /src/glib/glib/tests/hash.c:1337,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:1340,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/hash.c:1342,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/tests/hash.c:1342,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/hash.c:1347,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:1352,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/hash.c:1354,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/hash.c:1356,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/hash.c:1367,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1337,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1361,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/tests/hash.c:1363,1
    - Dst: g_hash_table_steal_extended
      Src: /src/glib/glib/tests/hash.c:1365,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/tests/hash.c:1329,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1333,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1334,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1332,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1335,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1349,1
    - Dst: g_hash_table_unref
      Src: /src/glib/glib/tests/hash.c:1369,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/tests/hash.c:1354,1
    - Dst: g_hash_table_steal_extended
      Src: /src/glib/glib/tests/hash.c:1344,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/hash.c:1344,1
    - Dst: g_hash_table_steal_extended
      Src: /src/glib/glib/tests/hash.c:1349,1
    - Dst: g_hash_table_steal_extended
      Src: /src/glib/glib/tests/hash.c:1356,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/hash.c:1359,1
    - Dst: g_hash_table_steal_extended
      Src: /src/glib/glib/tests/hash.c:1361,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/hash.c:1363,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/hash.c:1365,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/tests/hash.c:1367,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1370
      start: 1323
    functionDepth: 0
    functionLinenumber: 1323
    functionLinenumberEnd: 1370
    functionName: test_steal_extended_optional
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_hash_table_steal_extended
    - g_assert_null
    - g_hash_table_unref
    - g_assert_cmpuint
    - g_assert_cmpstr
    - g_hash_table_insert
    - g_hash_table_new_full
    - g_hash_table_size
    - g_assert_false
    linkageType: ''
    returnType: void
    signature: 'static void test_steal_extended_optional (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1527,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - a
    - index
    - is_big
    argTypes:
    - gpointer
    - guint
    - gboolean
    constantsTouched: []
    func_position:
      end: 1531
      start: 1523
    functionDepth: 0
    functionLinenumber: 1523
    functionLinenumberEnd: 1531
    functionName: fetch_key_or_value
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - GUINT_TO_POINTER
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer fetch_key_or_value (gpointer a, guint index, gboolean
      is_big) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:225,1
    - Dst: atoi
      Src: /src/glib/glib/tests/hash.c:230,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:227,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:226,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:228,1
    - Dst: sprintf
      Src: /src/glib/glib/tests/hash.c:232,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:233,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/hash.c:233,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:235,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:236,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - key
    - value
    - user_data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 237
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 237
    functionName: not_even_foreach
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_assert
    - strcmp
    - atoi
    - sprintf
    linkageType: ''
    returnType: void
    signature: 'static void not_even_foreach (gpointer key, gpointer value, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_append_printf
      Src: /src/glib/glib/tests/hash.c:544,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:540,1
    - Dst: g_string_prepend_unichar
      Src: /src/glib/glib/tests/hash.c:546,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:550,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/tests/hash.c:550,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/glib/tests/hash.c:565,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/tests/hash.c:539,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/hash.c:543,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/hash.c:564,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/hash.c:552,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/hash.c:559,1
    - Dst: g_string_assign
      Src: /src/glib/glib/tests/hash.c:555,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/tests/hash.c:557,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:561,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/tests/hash.c:545,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:547,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:547,1
    - Dst: g_string_prepend_unichar
      Src: /src/glib/glib/tests/hash.c:558,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/tests/hash.c:556,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/tests/hash.c:559,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 566
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 566
    functionName: string_hash_test
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_assert
    - g_string_append_c
    - g_string_assign
    - g_hash_table_lookup
    - g_hash_table_insert
    - g_string_free
    - g_hash_table_new_full
    - GINT_TO_POINTER
    - g_string_prepend_unichar
    - g_string_new
    - g_hash_table_size
    - g_string_append_printf
    - g_hash_table_destroy
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void string_hash_test (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:1542,1
    - Dst: fetch_key_or_value
      Src: /src/glib/glib/tests/hash.c:1542,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - h
    argTypes:
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 1545
      start: 1533
    functionDepth: 0
    functionLinenumber: 1533
    functionLinenumberEnd: 1545
    functionName: check_data
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - fetch_key_or_value
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void check_data (GHashTable *h) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1241,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1243,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1244,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1245,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/tests/hash.c:1256,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/hash.c:1264,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/tests/hash.c:1270,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1277,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/tests/hash.c:1274,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1278,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:1301,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/hash.c:1286,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/hash.c:1297,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/hash.c:1315,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/hash.c:1292,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:1291,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:1284,1
    - Dst: g_hash_table_add
      Src: /src/glib/glib/tests/hash.c:1277,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1311,1
    - Dst: g_hash_table_unref
      Src: /src/glib/glib/tests/hash.c:1318,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1241,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1244,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1245,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1244,1
    - Dst: g_hash_table_steal_extended
      Src: /src/glib/glib/tests/hash.c:1248,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:1251,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:1252,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/hash.c:1256,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/hash.c:1261,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/hash.c:1268,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1280,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1294,1
    - Dst: g_hash_table_add
      Src: /src/glib/glib/tests/hash.c:1276,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/hash.c:1303,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/hash.c:1270,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/hash.c:1267,1
    - Dst: g_hash_table_add
      Src: /src/glib/glib/tests/hash.c:1280,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1279,1
    - Dst: g_hash_table_unref
      Src: /src/glib/glib/tests/hash.c:1272,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:1314,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/tests/hash.c:1239,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1242,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1243,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1245,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1246,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/hash.c:1253,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/hash.c:1258,1
    - Dst: g_hash_table_steal_extended
      Src: /src/glib/glib/tests/hash.c:1264,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1276,1
    - Dst: g_hash_table_add
      Src: /src/glib/glib/tests/hash.c:1279,1
    - Dst: g_hash_table_add
      Src: /src/glib/glib/tests/hash.c:1278,1
    - Dst: g_hash_table_steal_extended
      Src: /src/glib/glib/tests/hash.c:1282,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1299,1
    - Dst: g_hash_table_steal_extended
      Src: /src/glib/glib/tests/hash.c:1299,1
    - Dst: g_hash_table_steal_extended
      Src: /src/glib/glib/tests/hash.c:1289,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:1302,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1282,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1241,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1242,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1242,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1243,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1246,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1246,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1248,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/hash.c:1254,1
    - Dst: g_hash_table_steal_extended
      Src: /src/glib/glib/tests/hash.c:1258,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/hash.c:1262,1
    - Dst: g_hash_table_replace
      Src: /src/glib/glib/tests/hash.c:1309,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:1296,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:1313,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1309,1
    - Dst: g_hash_table_steal_extended
      Src: /src/glib/glib/tests/hash.c:1294,1
    - Dst: g_hash_table_steal_extended
      Src: /src/glib/glib/tests/hash.c:1311,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1289,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:1285,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 81
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1319
      start: 1233
    functionDepth: 0
    functionLinenumber: 1233
    functionLinenumberEnd: 1319
    functionName: test_steal_extended
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_strdup
    - g_hash_table_steal_extended
    - g_assert_null
    - g_hash_table_unref
    - g_hash_table_replace
    - g_assert_cmpuint
    - g_assert_cmpstr
    - g_hash_table_insert
    - g_clear_pointer
    - g_hash_table_new_full
    - g_hash_table_size
    - g_assert_false
    - g_hash_table_add
    linkageType: ''
    returnType: void
    signature: 'static void test_steal_extended (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - array
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: verify_result_array
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_assert
    linkageType: ''
    returnType: void
    signature: 'static void verify_result_array (int array[10000]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - key
    - value
    - user_data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 96
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 96
    functionName: my_hash_callback_remove
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean my_hash_callback_remove (gpointer key, gpointer value,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:75,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:80,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - key
    - value
    - result_array
    argTypes:
    - gpointer
    - gpointer
    - int
    constantsTouched: []
    func_position:
      end: 83
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 83
    functionName: handle_pair
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_assert
    linkageType: ''
    returnType: void
    signature: 'static void handle_pair (gpointer key, gpointer value, int result_array[10000]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/hash.c:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - key
    - value
    - user_data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 107
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 107
    functionName: my_hash_callback_remove_test
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    linkageType: ''
    returnType: void
    signature: 'static void my_hash_callback_remove_test (gpointer key, gpointer value,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: key_unref
      Src: /src/glib/glib/tests/hash.c:1005,1
    - Dst: key_new
      Src: /src/glib/glib/tests/hash.c:981,1
    - Dst: key_ref
      Src: /src/glib/glib/tests/hash.c:987,1
    - Dst: key_ref
      Src: /src/glib/glib/tests/hash.c:992,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:995,1
    - Dst: key_ref
      Src: /src/glib/glib/tests/hash.c:992,1
    - Dst: g_hash_table_replace
      Src: /src/glib/glib/tests/hash.c:992,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:989,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:994,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:999,1
    - Dst: g_hash_table_remove
      Src: /src/glib/glib/tests/hash.c:997,1
    - Dst: g_hash_table_unref
      Src: /src/glib/glib/tests/hash.c:1002,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/tests/hash.c:979,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:984,1
    - Dst: key_new
      Src: /src/glib/glib/tests/hash.c:982,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:985,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:987,1
    - Dst: key_ref
      Src: /src/glib/glib/tests/hash.c:987,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:990,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:1000,1
    - Dst: key_unref
      Src: /src/glib/glib/tests/hash.c:1004,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1006
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 1006
    functionName: set_ref_hash_test
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - key_new
    - g_hash_table_replace
    - key_ref
    - g_hash_table_remove
    - g_hash_table_unref
    - key_unref
    - g_hash_table_insert
    - g_hash_table_new_full
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void set_ref_hash_test (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: count_keys
      Src: /src/glib/glib/tests/hash.c:1554,1
    - Dst: check_data
      Src: /src/glib/glib/tests/hash.c:1560,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:1556,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:1558,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:1557,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - h
    argTypes:
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 1561
      start: 1547
    functionDepth: 0
    functionLinenumber: 1547
    functionLinenumberEnd: 1561
    functionName: check_consistency
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - check_data
    - count_keys
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void check_consistency (GHashTable *h) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:1566,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:1567,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - h
    - occupied
    - tombstones
    argTypes:
    - GHashTable*
    - gint
    - gint
    constantsTouched: []
    func_position:
      end: 1568
      start: 1563
    functionDepth: 0
    functionLinenumber: 1563
    functionLinenumberEnd: 1568
    functionName: check_counts
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void check_counts (GHashTable *h, gint occupied, gint tombstones) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 717
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 717
    functionName: value_destroy
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void value_destroy (gpointer value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - key
    - value
    - data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1156
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1156
    functionName: foreach_func
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void foreach_func (gpointer key, gpointer value, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/hash.c:1644,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1648,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/tests/hash.c:1646,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1648,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1648,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1649,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1649,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1649,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1650,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1650,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/glib/tests/hash.c:1652,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:1657,1
    - Dst: g_hash_table_iter_replace
      Src: /src/glib/glib/tests/hash.c:1658,1
    - Dst: g_ascii_islower
      Src: /src/glib/glib/tests/hash.c:1657,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/glib/tests/hash.c:1654,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1658,1
    - Dst: g_hash_table_unref
      Src: /src/glib/glib/tests/hash.c:1661,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1650,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1662
      start: 1636
    functionDepth: 0
    functionLinenumber: 1636
    functionLinenumberEnd: 1662
    functionName: test_iter_replace
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_hash_table_iter_init
    - g_strdup
    - g_hash_table_unref
    - g_assert
    - g_ascii_islower
    - g_test_bug
    - g_hash_table_insert
    - g_hash_table_new_full
    - g_hash_table_iter_replace
    - g_hash_table_iter_next
    linkageType: ''
    returnType: void
    signature: 'static void test_iter_replace (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:731,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:734,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/hash.c:740,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:757,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:761,1
    - Dst: g_hash_table_ref
      Src: /src/glib/glib/tests/hash.c:763,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/glib/tests/hash.c:738,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:742,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/hash.c:746,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:748,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:759,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/tests/hash.c:761,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:765,1
    - Dst: g_hash_table_unref
      Src: /src/glib/glib/tests/hash.c:768,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:732,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:730,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/tests/hash.c:734,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hash.c:753,1
    - Dst: g_hash_table_iter_get_hash_table
      Src: /src/glib/glib/tests/hash.c:759,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/tests/hash.c:765,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:769,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/tests/hash.c:729,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/glib/tests/hash.c:736,1
    - Dst: g_hash_table_iter_steal
      Src: /src/glib/glib/tests/hash.c:744,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/hash.c:751,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:760,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/glib/tests/hash.c:764,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:766,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:767,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 770
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 770
    functionName: test_hash_ref
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_hash_table_iter_init
    - g_hash_table_iter_get_hash_table
    - g_hash_table_unref
    - g_assert
    - strcmp
    - g_assert_cmpstr
    - g_hash_table_insert
    - g_hash_table_destroy
    - g_hash_table_new_full
    - g_hash_table_size
    - g_hash_table_ref
    - g_hash_table_iter_steal
    - g_hash_table_iter_next
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_hash_ref (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new
      Src: /src/glib/glib/tests/hash.c:1164,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1166,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1169,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1167,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1168,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1170,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1171,1
    - Dst: g_hash_table_foreach
      Src: /src/glib/glib/tests/hash.c:1176,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:1179,1
    - Dst: g_hash_table_unref
      Src: /src/glib/glib/tests/hash.c:1181,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1182
      start: 1158
    functionDepth: 0
    functionLinenumber: 1158
    functionLinenumberEnd: 1182
    functionName: test_foreach
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_hash_table_unref
    - g_assert
    - g_hash_table_insert
    - g_hash_table_new
    - g_hash_table_foreach
    linkageType: ''
    returnType: void
    signature: 'static void test_foreach (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1668
      start: 1664
    functionDepth: 0
    functionLinenumber: 1664
    functionLinenumberEnd: 1668
    functionName: replace_first_character
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void replace_first_character (gchar *string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new
      Src: /src/glib/glib/tests/hash.c:440,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:441,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:445,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:445,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:448,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/tests/hash.c:448,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/hash.c:453,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/tests/hash.c:453,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:455,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/glib/tests/hash.c:458,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 459
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 459
    functionName: int64_hash_test
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_assert
    - g_hash_table_lookup
    - g_hash_table_insert
    - GINT_TO_POINTER
    - g_hash_table_new
    - g_hash_table_size
    - g_hash_table_destroy
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void int64_hash_test (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:1622,1
    - Dst: g_free
      Src: /src/glib/glib/tests/hash.c:1624,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - v
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1625
      start: 1618
    functionDepth: 0
    functionLinenumber: 1618
    functionLinenumberEnd: 1625
    functionName: my_key_free
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void my_key_free (gpointer v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1806,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1806,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/tests/hash.c:1809,1
    - Dst: g_strv_equal
      Src: /src/glib/glib/tests/hash.c:1820,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/tests/hash.c:1826,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1827,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1827,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1827,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/tests/hash.c:1832,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1838,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1839,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1805,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1805,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1806,1
    - Dst: g_hash_table_steal_all_keys
      Src: /src/glib/glib/tests/hash.c:1808,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/hash.c:1809,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/hash.c:1812,1
    - Dst: g_hash_table_steal_all_keys
      Src: /src/glib/glib/tests/hash.c:1831,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/hash.c:1832,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/hash.c:1835,1
    - Dst: g_ptr_array_find
      Src: /src/glib/glib/tests/hash.c:1839,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1834,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1840,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/hash.c:1842,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/tests/hash.c:1803,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1804,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1804,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1805,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1811,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/hash.c:1824,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1829,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1829,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1829,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1834,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1834,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1838,1
    - Dst: g_ptr_array_find
      Src: /src/glib/glib/tests/hash.c:1840,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1804,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1811,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:1814,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1811,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/hash.c:1815,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1817,1
    - Dst: g_strv_equal
      Src: /src/glib/glib/tests/hash.c:1818,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1828,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1828,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1828,1
    - Dst: g_ptr_array_find
      Src: /src/glib/glib/tests/hash.c:1838,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1839,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:1837,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1840,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 57
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1843
      start: 1797
    functionDepth: 0
    functionLinenumber: 1797
    functionLinenumberEnd: 1843
    functionName: test_steal_all_keys
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_strv_equal
    - g_ptr_array_find
    - g_strdup
    - g_assert_true
    - g_hash_table_steal_all_keys
    - GUINT_TO_POINTER
    - g_assert_cmpuint
    - g_hash_table_insert
    - g_clear_pointer
    - g_hash_table_new_full
    - g_hash_table_size
    - g_ptr_array_add
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_steal_all_keys (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/hash.c:467,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/hash.c:471,1
    - Dst: g_int64_hash
      Src: /src/glib/glib/tests/hash.c:471,1
    - Dst: g_int64_hash
      Src: /src/glib/glib/tests/hash.c:471,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 472
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 472
    functionName: int64_hash_collision_test
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_assert_cmpuint
    - g_test_summary
    - g_int64_hash
    linkageType: ''
    returnType: void
    signature: 'static void int64_hash_collision_test (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:1631,1
    - Dst: g_free
      Src: /src/glib/glib/tests/hash.c:1633,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - v
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1634
      start: 1627
    functionDepth: 0
    functionLinenumber: 1627
    functionLinenumberEnd: 1634
    functionName: my_value_free
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void my_value_free (gpointer v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1852,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1859,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1859,1
    - Dst: g_hash_table_steal_all_values
      Src: /src/glib/glib/tests/hash.c:1856,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:1862,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/hash.c:1857,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1863,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1866,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1867,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1877,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1877,1
    - Dst: g_ptr_array_find_with_equal_func
      Src: /src/glib/glib/tests/hash.c:1888,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1891,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1883,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1889,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1878,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1877,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1854,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1854,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1859,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1863,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1864,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1867,1
    - Dst: memcmp
      Src: /src/glib/glib/tests/hash.c:1869,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1876,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1876,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/tests/hash.c:1881,1
    - Dst: g_ptr_array_find_with_equal_func
      Src: /src/glib/glib/tests/hash.c:1890,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1878,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1876,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1883,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1853,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1853,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1854,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/hash.c:1860,1
    - Dst: g_ptr_array_find
      Src: /src/glib/glib/tests/hash.c:1864,1
    - Dst: memcmp
      Src: /src/glib/glib/tests/hash.c:1867,1
    - Dst: g_hash_table_steal_all_values
      Src: /src/glib/glib/tests/hash.c:1880,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/hash.c:1881,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1878,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/hash.c:1884,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:1886,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/tests/hash.c:1875,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/hash.c:1894,1
    - Dst: g_ptr_array_find_with_equal_func
      Src: /src/glib/glib/tests/hash.c:1892,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/tests/hash.c:1851,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1852,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1852,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/hash.c:1853,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/tests/hash.c:1857,1
    - Dst: g_ptr_array_find
      Src: /src/glib/glib/tests/hash.c:1863,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1864,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1869,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1869,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/hash.c:1873,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:1883,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hash.c:1887,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 67
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1895
      start: 1845
    functionDepth: 0
    functionLinenumber: 1845
    functionLinenumberEnd: 1895
    functionName: test_steal_all_values
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_ptr_array_find
    - g_strdup
    - g_assert_true
    - GUINT_TO_POINTER
    - g_assert_cmpuint
    - memcmp
    - g_hash_table_insert
    - g_clear_pointer
    - g_ptr_array_find_with_equal_func
    - g_hash_table_new_full
    - g_hash_table_steal_all_values
    - g_hash_table_size
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_steal_all_values (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:188,1
    - Dst: strlen
      Src: /src/glib/glib/tests/hash.c:191,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - key
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 197
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 197
    functionName: honeyman_hash
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_assert
    - strlen
    linkageType: ''
    returnType: guint
    signature: 'static guint honeyman_hash (gconstpointer key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/tests/hash.c:884,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:889,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:891,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:888,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:890,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:892,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:893,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:894,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:895,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/hash.c:896,1
    - Dst: g_hash_table_remove_all
      Src: /src/glib/glib/tests/hash.c:901,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:903,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hash.c:902,1
    - Dst: g_hash_table_unref
      Src: /src/glib/glib/tests/hash.c:905,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 906
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 906
    functionName: test_recursive_remove_all_subprocess
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_hash_table_unref
    - g_hash_table_insert
    - g_hash_table_new_full
    - g_hash_table_remove_all
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_recursive_remove_all_subprocess (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - p
    argTypes:
    - guint
    constantsTouched: []
    func_position:
      end: 1916
      start: 1897
    functionDepth: 0
    functionLinenumber: 1897
    functionLinenumberEnd: 1916
    functionName: is_prime
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_prime (guint p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/glib/tests/hash.c:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 204
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 204
    functionName: second_hash_cmp
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean second_hash_cmp (gconstpointer a, gconstpointer b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/hash.c:911,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/hash.c:913,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 914
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 914
    functionName: test_recursive_remove_all
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_passed
    - g_test_trap_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_recursive_remove_all (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_str_hash
      Src: /src/glib/glib/tests/hash.c:926,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 927
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 927
    functionName: hash_func
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_str_hash
    linkageType: ''
    returnType: guint
    signature: 'static guint hash_func (gconstpointer key) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_spaced_primes_closest
      Src: /src/glib/glib/tests/hash.c:1929,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hash.c:1930,1
    - Dst: is_prime
      Src: /src/glib/glib/tests/hash.c:1930,1
    - Dst: MIN
      Src: /src/glib/glib/tests/hash.c:1934,1
    - Dst: MAX
      Src: /src/glib/glib/tests/hash.c:1935,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/hash.c:1938,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/hash.c:1939,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1940
      start: 1918
    functionDepth: 0
    functionLinenumber: 1918
    functionLinenumberEnd: 1940
    functionName: test_primes
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_spaced_primes_closest
    - g_assert
    - g_assert_cmpfloat
    - MIN
    - MAX
    - is_prime
    linkageType: ''
    returnType: void
    signature: 'static void test_primes (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/hash.c:1948,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1948,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1947,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1957,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1958,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1959,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1961,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1960,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1962,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1963,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1964,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1967,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1982,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1969,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1971,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1975,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1977,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1979,1
    - Dst: g_test_init
      Src: /src/glib/glib/tests/hash.c:1945,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/hash.c:1949,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/hash.c:1949,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1950,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1951,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1952,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1953,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1955,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1956,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1954,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1965,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1981,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1966,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1983,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1968,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1970,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/hash.c:1985,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1972,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1976,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1978,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hash.c:1980,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 40
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1987
      start: 1942
    functionDepth: 0
    functionLinenumber: 1942
    functionLinenumberEnd: 1987
    functionName: main
    functionSourceFile: /src/glib/glib/tests/hash.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_add_data_func
    - g_test_run
    - GINT_TO_POINTER
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/glib/glib/tests/spawn-test-helper.c:4,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 6
      start: 2
    functionDepth: 0
    functionLinenumber: 2
    functionLinenumberEnd: 6
    functionName: main
    functionSourceFile: /src/glib/glib/tests/spawn-test-helper.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: 'int main (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_timer_elapsed
      Src: /src/glib/glib/tests/timer.c:40,1
    - Dst: g_timer_start
      Src: /src/glib/glib/tests/timer.c:48,1
    - Dst: g_timer_elapsed
      Src: /src/glib/glib/tests/timer.c:49,1
    - Dst: g_timer_destroy
      Src: /src/glib/glib/tests/timer.c:53,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/timer.c:51,1
    - Dst: g_timer_stop
      Src: /src/glib/glib/tests/timer.c:41,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/timer.c:42,1
    - Dst: g_timer_new
      Src: /src/glib/glib/tests/timer.c:46,1
    - Dst: g_timer_elapsed
      Src: /src/glib/glib/tests/timer.c:51,1
    - Dst: g_timer_start
      Src: /src/glib/glib/tests/timer.c:39,1
    - Dst: g_timer_elapsed
      Src: /src/glib/glib/tests/timer.c:42,1
    - Dst: g_timer_destroy
      Src: /src/glib/glib/tests/timer.c:44,1
    - Dst: g_timer_destroy
      Src: /src/glib/glib/tests/timer.c:62,1
    - Dst: g_timer_new
      Src: /src/glib/glib/tests/timer.c:37,1
    - Dst: g_timer_stop
      Src: /src/glib/glib/tests/timer.c:50,1
    - Dst: g_timer_new
      Src: /src/glib/glib/tests/timer.c:55,1
    - Dst: g_timer_elapsed
      Src: /src/glib/glib/tests/timer.c:57,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/timer.c:59,1
    - Dst: g_assert_cmpfloat_with_epsilon
      Src: /src/glib/glib/tests/timer.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 63
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 63
    functionName: test_timer_basic
    functionSourceFile: /src/glib/glib/tests/timer.c
    functionUses: []
    functionsReached:
    - g_timer_start
    - g_assert_cmpfloat
    - g_assert_cmpfloat_with_epsilon
    - g_timer_elapsed
    - g_timer_stop
    - g_timer_new
    - g_timer_destroy
    linkageType: ''
    returnType: void
    signature: 'static void test_timer_basic (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_timer_new
      Src: /src/glib/glib/tests/timer.c:142,1
    - Dst: g_timer_is_active
      Src: /src/glib/glib/tests/timer.c:143,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/timer.c:144,1
    - Dst: g_timer_stop
      Src: /src/glib/glib/tests/timer.c:145,1
    - Dst: g_timer_is_active
      Src: /src/glib/glib/tests/timer.c:146,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/timer.c:147,1
    - Dst: g_timer_destroy
      Src: /src/glib/glib/tests/timer.c:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 150
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 150
    functionName: test_timer_is_active
    functionSourceFile: /src/glib/glib/tests/timer.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_timer_stop
    - g_timer_new
    - g_assert_false
    - g_timer_is_active
    - g_timer_destroy
    linkageType: ''
    returnType: void
    signature: 'static void test_timer_is_active (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_timer_new
      Src: /src/glib/glib/tests/timer.c:90,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/timer.c:95,1
    - Dst: g_timer_continue
      Src: /src/glib/glib/tests/timer.c:97,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/timer.c:93,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/timer.c:98,1
    - Dst: g_timer_reset
      Src: /src/glib/glib/tests/timer.c:101,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/timer.c:104,1
    - Dst: g_timer_stop
      Src: /src/glib/glib/tests/timer.c:105,1
    - Dst: g_timer_elapsed
      Src: /src/glib/glib/tests/timer.c:107,1
    - Dst: g_timer_continue
      Src: /src/glib/glib/tests/timer.c:108,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/timer.c:109,1
    - Dst: g_timer_elapsed
      Src: /src/glib/glib/tests/timer.c:110,1
    - Dst: g_timer_destroy
      Src: /src/glib/glib/tests/timer.c:114,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/timer.c:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 115
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 115
    functionName: test_timer_continue
    functionSourceFile: /src/glib/glib/tests/timer.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_timer_continue
    - g_timer_reset
    - g_test_undefined
    - g_assert_cmpfloat
    - g_usleep
    - g_test_expect_message
    - g_timer_elapsed
    - g_timer_stop
    - g_timer_new
    - g_timer_destroy
    linkageType: ''
    returnType: void
    signature: 'static void test_timer_continue (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/timer.c:335,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/timer.c:345,1
    - Dst: g_unsetenv
      Src: /src/glib/glib/tests/timer.c:339,1
    - Dst: g_time_val_to_iso8601
      Src: /src/glib/glib/tests/timer.c:344,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 346
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 346
    functionName: test_timeval_to_iso8601_overflow
    functionSourceFile: /src/glib/glib/tests/timer.c
    functionUses: []
    functionsReached:
    - g_assert_null
    - g_time_val_to_iso8601
    - g_test_skip
    - g_unsetenv
    linkageType: ''
    returnType: void
    signature: 'static void test_timeval_to_iso8601_overflow (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_timer_new
      Src: /src/glib/glib/tests/timer.c:71,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/timer.c:76,1
    - Dst: g_timer_stop
      Src: /src/glib/glib/tests/timer.c:73,1
    - Dst: g_timer_elapsed
      Src: /src/glib/glib/tests/timer.c:77,1
    - Dst: g_timer_elapsed
      Src: /src/glib/glib/tests/timer.c:75,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/timer.c:79,1
    - Dst: g_timer_destroy
      Src: /src/glib/glib/tests/timer.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 82
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 82
    functionName: test_timer_stop
    functionSourceFile: /src/glib/glib/tests/timer.c
    functionUses: []
    functionsReached:
    - g_assert_cmpfloat
    - g_usleep
    - g_timer_elapsed
    - g_timer_stop
    - g_timer_new
    - g_timer_destroy
    linkageType: ''
    returnType: void
    signature: 'static void test_timer_stop (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_timer_new
      Src: /src/glib/glib/tests/timer.c:123,1
    - Dst: g_timer_elapsed
      Src: /src/glib/glib/tests/timer.c:127,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/timer.c:124,1
    - Dst: g_timer_reset
      Src: /src/glib/glib/tests/timer.c:128,1
    - Dst: g_timer_stop
      Src: /src/glib/glib/tests/timer.c:125,1
    - Dst: g_timer_elapsed
      Src: /src/glib/glib/tests/timer.c:129,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/timer.c:131,1
    - Dst: g_timer_destroy
      Src: /src/glib/glib/tests/timer.c:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 134
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 134
    functionName: test_timer_reset
    functionSourceFile: /src/glib/glib/tests/timer.c
    functionUses: []
    functionsReached:
    - g_timer_reset
    - g_assert_cmpfloat
    - g_usleep
    - g_timer_elapsed
    - g_timer_stop
    - g_timer_new
    - g_timer_destroy
    linkageType: ''
    returnType: void
    signature: 'static void test_timer_reset (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_time_val_add
      Src: /src/glib/glib/tests/timer.c:157,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/timer.c:160,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/timer.c:163,1
    - Dst: g_time_val_add
      Src: /src/glib/glib/tests/timer.c:162,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/timer.c:159,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/timer.c:164,1
    - Dst: g_time_val_add
      Src: /src/glib/glib/tests/timer.c:166,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/timer.c:167,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/timer.c:168,1
    - Dst: g_time_val_add
      Src: /src/glib/glib/tests/timer.c:170,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/timer.c:172,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/timer.c:176,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/timer.c:171,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/timer.c:175,1
    - Dst: g_time_val_add
      Src: /src/glib/glib/tests/timer.c:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 177
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 177
    functionName: test_timeval_add
    functionSourceFile: /src/glib/glib/tests/timer.c
    functionUses: []
    functionsReached:
    - g_time_val_add
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_timeval_add (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/tests/timer.c:188,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/timer.c:259,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/timer.c:188,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/timer.c:263,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/timer.c:257,1
    - Dst: g_time_val_from_iso8601
      Src: /src/glib/glib/tests/timer.c:267,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/timer.c:268,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/timer.c:271,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/timer.c:272,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/timer.c:278,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/timer.c:278,1
    - Dst: g_time_val_from_iso8601
      Src: /src/glib/glib/tests/timer.c:287,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/timer.c:283,1
    - Dst: g_free
      Src: /src/glib/glib/tests/timer.c:291,1
    - Dst: tzset
      Src: /src/glib/glib/tests/timer.c:281,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/timer.c:288,1
    - Dst: g_unsetenv
      Src: /src/glib/glib/tests/timer.c:280,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 292
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 292
    functionName: test_timeval_from_iso8601
    functionSourceFile: /src/glib/glib/tests/timer.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_assert_true
    - g_unsetenv
    - g_getenv
    - g_setenv
    - G_N_ELEMENTS
    - tzset
    - g_time_val_from_iso8601
    - g_test_skip
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_timeval_from_iso8601 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unsetenv
      Src: /src/glib/glib/tests/timer.c:311,1
    - Dst: g_time_val_to_iso8601
      Src: /src/glib/glib/tests/timer.c:315,1
    - Dst: g_time_val_from_iso8601
      Src: /src/glib/glib/tests/timer.c:318,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/timer.c:316,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/timer.c:313,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/timer.c:319,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/timer.c:320,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/timer.c:321,1
    - Dst: g_free
      Src: /src/glib/glib/tests/timer.c:322,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 324
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 324
    functionName: test_timeval_to_iso8601
    functionSourceFile: /src/glib/glib/tests/timer.c
    functionUses: []
    functionsReached:
    - g_time_val_to_iso8601
    - G_N_ELEMENTS
    - g_unsetenv
    - g_assert
    - g_assert_cmpstr
    - g_time_val_from_iso8601
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_timeval_to_iso8601 (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_timer_new
      Src: /src/glib/glib/tests/timer.c:354,1
    - Dst: g_timer_stop
      Src: /src/glib/glib/tests/timer.c:367,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/timer.c:365,1
    - Dst: g_timer_start
      Src: /src/glib/glib/tests/timer.c:364,1
    - Dst: g_timer_elapsed
      Src: /src/glib/glib/tests/timer.c:366,1
    - Dst: g_timer_start
      Src: /src/glib/glib/tests/timer.c:369,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/timer.c:370,1
    - Dst: g_timer_elapsed
      Src: /src/glib/glib/tests/timer.c:371,1
    - Dst: g_timer_stop
      Src: /src/glib/glib/tests/timer.c:372,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/timer.c:378,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/timer.c:380,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 381
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 381
    functionName: test_usleep_with_zero_wait
    functionSourceFile: /src/glib/glib/tests/timer.c
    functionUses: []
    functionsReached:
    - g_timer_start
    - g_assert_cmpuint
    - g_usleep
    - g_clear_pointer
    - g_timer_elapsed
    - g_timer_stop
    - g_timer_new
    linkageType: ''
    returnType: void
    signature: 'static void test_usleep_with_zero_wait (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/timer.c:386,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/timer.c:388,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/timer.c:390,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/timer.c:391,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/timer.c:389,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/timer.c:392,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/timer.c:393,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/timer.c:394,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/timer.c:395,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/timer.c:396,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/timer.c:397,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/timer.c:399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 400
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 400
    functionName: main
    functionSourceFile: /src/glib/glib/tests/timer.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/overflow.c:40,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/overflow.c:46,1
    - Dst: g_uint_checked_add
      Src: /src/glib/glib/tests/overflow.c:44,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/overflow.c:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 48
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 48
    functionName: test_checked_guint_add
    functionSourceFile: /src/glib/glib/tests/overflow.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - g_assert_cmpuint
    - g_uint_checked_add
    linkageType: ''
    returnType: void
    signature: 'static void test_checked_guint_add (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/overflow.c:150,1
    - Dst: g_size_checked_add
      Src: /src/glib/glib/tests/overflow.c:154,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/overflow.c:156,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/overflow.c:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 158
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 158
    functionName: test_checked_gsize_add
    functionSourceFile: /src/glib/glib/tests/overflow.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - g_assert_cmpuint
    - g_size_checked_add
    linkageType: ''
    returnType: void
    signature: 'static void test_checked_gsize_add (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/overflow.c:95,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/overflow.c:101,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/overflow.c:99,1
    - Dst: g_uint64_checked_add
      Src: /src/glib/glib/tests/overflow.c:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 103
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 103
    functionName: test_checked_guint64_add
    functionSourceFile: /src/glib/glib/tests/overflow.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - g_uint64_checked_add
    - g_assert_cmpuint
    linkageType: ''
    returnType: void
    signature: 'static void test_checked_guint64_add (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/overflow.c:122,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/overflow.c:128,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/overflow.c:126,1
    - Dst: g_uint64_checked_mul
      Src: /src/glib/glib/tests/overflow.c:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 130
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 130
    functionName: test_checked_guint64_mul
    functionSourceFile: /src/glib/glib/tests/overflow.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - g_assert_cmpuint
    - g_uint64_checked_mul
    linkageType: ''
    returnType: void
    signature: 'static void test_checked_guint64_mul (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/overflow.c:67,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/overflow.c:73,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/overflow.c:71,1
    - Dst: g_uint_checked_mul
      Src: /src/glib/glib/tests/overflow.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 75
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 75
    functionName: test_checked_guint_mul
    functionSourceFile: /src/glib/glib/tests/overflow.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - g_assert_cmpuint
    - g_uint_checked_mul
    linkageType: ''
    returnType: void
    signature: 'static void test_checked_guint_mul (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/overflow.c:177,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/overflow.c:183,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/overflow.c:181,1
    - Dst: g_size_checked_mul
      Src: /src/glib/glib/tests/overflow.c:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 185
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 185
    functionName: test_checked_gsize_mul
    functionSourceFile: /src/glib/glib/tests/overflow.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - g_assert_cmpuint
    - g_size_checked_mul
    linkageType: ''
    returnType: void
    signature: 'static void test_checked_gsize_mul (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/overflow.c:190,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/overflow.c:192,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/overflow.c:194,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/overflow.c:193,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/overflow.c:195,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/overflow.c:196,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/overflow.c:197,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/overflow.c:199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 200
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 200
    functionName: main
    functionSourceFile: /src/glib/glib/tests/overflow.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/mainloop.c:39,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - source
    - time
    argTypes:
    - GSource*
    - gint*
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: prepare
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_assert_cmpint
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean prepare (GSource *source, gint *time) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/mainloop.c:73,1
    - Dst: g_source_set_static_name
      Src: /src/glib/glib/tests/mainloop.c:84,1
    - Dst: g_source_set_can_recurse
      Src: /src/glib/glib/tests/mainloop.c:83,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/mainloop.c:80,1
    - Dst: g_source_get_name
      Src: /src/glib/glib/tests/mainloop.c:87,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/mainloop.c:92,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:96,1
    - Dst: g_source_get_id
      Src: /src/glib/glib/tests/mainloop.c:96,1
    - Dst: g_main_context_find_source_by_id
      Src: /src/glib/glib/tests/mainloop.c:97,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:100,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:122,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/mainloop.c:112,1
    - Dst: g_source_new
      Src: /src/glib/glib/tests/mainloop.c:129,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:132,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:133,1
    - Dst: g_source_remove_by_user_data
      Src: /src/glib/glib/tests/mainloop.c:135,1
    - Dst: g_source_set_priority
      Src: /src/glib/glib/tests/mainloop.c:99,1
    - Dst: g_source_get_context
      Src: /src/glib/glib/tests/mainloop.c:103,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/tests/mainloop.c:106,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:127,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/mainloop.c:136,1
    - Dst: g_source_set_name_by_id
      Src: /src/glib/glib/tests/mainloop.c:124,1
    - Dst: g_main_context_new
      Src: /src/glib/glib/tests/mainloop.c:71,1
    - Dst: g_source_new
      Src: /src/glib/glib/tests/mainloop.c:76,1
    - Dst: g_source_get_priority
      Src: /src/glib/glib/tests/mainloop.c:77,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/mainloop.c:93,1
    - Dst: g_source_destroy
      Src: /src/glib/glib/tests/mainloop.c:102,1
    - Dst: g_source_get_context
      Src: /src/glib/glib/tests/mainloop.c:112,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:116,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:123,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:103,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:135,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:139,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/mainloop.c:108,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:134,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/mainloop.c:113,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/mainloop.c:110,1
    - Dst: g_source_remove_by_user_data
      Src: /src/glib/glib/tests/mainloop.c:136,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:131,1
    - Dst: g_idle_add
      Src: /src/glib/glib/tests/mainloop.c:138,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/mainloop.c:74,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/mainloop.c:78,1
    - Dst: g_source_get_can_recurse
      Src: /src/glib/glib/tests/mainloop.c:80,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/mainloop.c:81,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/mainloop.c:87,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:86,1
    - Dst: g_source_get_name
      Src: /src/glib/glib/tests/mainloop.c:90,1
    - Dst: g_main_context_find_source_by_funcs_user_data
      Src: /src/glib/glib/tests/mainloop.c:93,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:97,1
    - Dst: g_main_context_find_source_by_id
      Src: /src/glib/glib/tests/mainloop.c:104,1
    - Dst: g_source_remove_by_funcs_user_data
      Src: /src/glib/glib/tests/mainloop.c:127,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/mainloop.c:104,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:126,1
    - Dst: g_source_get_context
      Src: /src/glib/glib/tests/mainloop.c:126,1
    - Dst: g_source_new
      Src: /src/glib/glib/tests/mainloop.c:119,1
    - Dst: g_main_context_pending
      Src: /src/glib/glib/tests/mainloop.c:73,1
    - Dst: g_main_context_iteration
      Src: /src/glib/glib/tests/mainloop.c:74,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:77,1
    - Dst: g_source_is_destroyed
      Src: /src/glib/glib/tests/mainloop.c:78,1
    - Dst: g_source_get_can_recurse
      Src: /src/glib/glib/tests/mainloop.c:86,1
    - Dst: g_source_get_name
      Src: /src/glib/glib/tests/mainloop.c:81,1
    - Dst: g_source_set_static_name
      Src: /src/glib/glib/tests/mainloop.c:89,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/mainloop.c:90,1
    - Dst: g_main_context_find_source_by_user_data
      Src: /src/glib/glib/tests/mainloop.c:92,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:95,1
    - Dst: g_source_get_priority
      Src: /src/glib/glib/tests/mainloop.c:100,1
    - Dst: g_source_set_funcs
      Src: /src/glib/glib/tests/mainloop.c:120,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/mainloop.c:125,1
    - Dst: g_source_set_funcs
      Src: /src/glib/glib/tests/mainloop.c:130,1
    - Dst: g_idle_remove_by_data
      Src: /src/glib/glib/tests/mainloop.c:139,1
    - Dst: g_main_context_default
      Src: /src/glib/glib/tests/mainloop.c:118,1
    - Dst: g_source_get_name
      Src: /src/glib/glib/tests/mainloop.c:125,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 86
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 140
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 140
    functionName: test_maincontext_basic
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_main_context_unref
    - g_source_set_callback
    - g_assert_null
    - g_source_set_funcs
    - g_source_set_name_by_id
    - g_test_assert_expected_messages
    - g_assert_true
    - g_main_context_find_source_by_id
    - g_source_attach
    - g_main_context_default
    - g_main_context_new
    - g_main_context_find_source_by_funcs_user_data
    - g_source_unref
    - g_source_get_name
    - g_assert_false
    - g_source_remove_by_user_data
    - g_source_is_destroyed
    - g_assert_cmpint
    - g_source_remove_by_funcs_user_data
    - g_source_set_priority
    - g_source_get_priority
    - g_source_destroy
    - g_test_undefined
    - g_test_expect_message
    - g_main_context_pending
    - g_source_set_can_recurse
    - g_source_set_static_name
    - g_idle_remove_by_data
    - g_source_new
    - g_source_get_id
    - g_assert_cmpstr
    - g_source_get_can_recurse
    - g_source_get_context
    - g_main_context_iteration
    - g_idle_add
    - g_main_context_find_source_by_user_data
    linkageType: ''
    returnType: void
    signature: 'static void test_maincontext_basic (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_source_new
      Src: /src/glib/glib/tests/mainloop.c:488,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 495
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 495
    functionName: counter_source_new
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_source_new
    linkageType: ''
    returnType: GSource*
    signature: 'static GSource *counter_source_new (gint interval) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1276,1
    - Dst: write
      Src: /src/glib/glib/tests/mainloop.c:1279,1
    - Dst: MIN
      Src: /src/glib/glib/tests/mainloop.c:1278,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - fd
    - condition
    - user_data
    argTypes:
    - gint
    - GIOCondition
    - gpointer
    constantsTouched: []
    func_position:
      end: 1282
      start: 1264
    functionDepth: 0
    functionLinenumber: 1264
    functionLinenumberEnd: 1282
    functionName: write_bytes
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - write
    - MIN
    - g_assert_cmpint
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean write_bytes (gint fd, GIOCondition condition, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_idle_source_new
      Src: /src/glib/glib/tests/mainloop.c:2039,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/mainloop.c:2036,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/mainloop.c:2044,1
    - Dst: g_source_get_id
      Src: /src/glib/glib/tests/mainloop.c:2050,1
    - Dst: shuffle_nsources
      Src: /src/glib/glib/tests/mainloop.c:2055,1
    - Dst: g_main_context_iteration
      Src: /src/glib/glib/tests/mainloop.c:2068,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/mainloop.c:2051,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/mainloop.c:2052,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/mainloop.c:2057,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:2061,1
    - Dst: g_source_destroy
      Src: /src/glib/glib/tests/mainloop.c:2060,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/mainloop.c:2064,1
    - Dst: g_free
      Src: /src/glib/glib/tests/mainloop.c:2070,1
    - Dst: g_source_set_priority
      Src: /src/glib/glib/tests/mainloop.c:2041,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/mainloop.c:2048,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:2050,1
    - Dst: g_main_context_find_source_by_id
      Src: /src/glib/glib/tests/mainloop.c:2050,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/mainloop.c:2063,1
    - Dst: g_main_context_default
      Src: /src/glib/glib/tests/mainloop.c:2033,1
    - Dst: g_new0
      Src: /src/glib/glib/tests/mainloop.c:2034,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:2040,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:2042,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/mainloop.c:2045,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 50
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2071
      start: 2025
    functionDepth: 0
    functionLinenumber: 2025
    functionLinenumberEnd: 2071
    functionName: test_nsources_different_priority
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_source_set_priority
    - g_source_set_callback
    - g_main_context_find_source_by_id
    - g_idle_source_new
    - g_test_message
    - g_source_attach
    - g_main_context_default
    - g_source_get_id
    - g_source_destroy
    - g_main_context_iteration
    - g_source_unref
    - g_get_monotonic_time
    - g_new0
    - g_free
    - shuffle_nsources
    linkageType: ''
    returnType: void
    signature: 'static void test_nsources_different_priority (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: check
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean check (GSource *source) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/mainloop.c:148,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/mainloop.c:150,1
    - Dst: g_main_loop_get_context
      Src: /src/glib/glib/tests/mainloop.c:154,1
    - Dst: g_main_loop_ref
      Src: /src/glib/glib/tests/mainloop.c:152,1
    - Dst: g_main_loop_is_running
      Src: /src/glib/glib/tests/mainloop.c:150,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:155,1
    - Dst: g_main_context_default
      Src: /src/glib/glib/tests/mainloop.c:155,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/mainloop.c:157,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:159,1
    - Dst: g_main_depth
      Src: /src/glib/glib/tests/mainloop.c:159,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/mainloop.c:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 162
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 162
    functionName: test_mainloop_basic
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_main_loop_ref
    - g_assert_true
    - g_main_context_default
    - g_main_loop_unref
    - g_main_depth
    - g_main_loop_new
    - g_main_loop_get_context
    - g_main_loop_is_running
    - g_assert_false
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_mainloop_basic (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/mainloop.c:507,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:510,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:509,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:511,1
    - Dst: counter_source_new
      Src: /src/glib/glib/tests/mainloop.c:508,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/mainloop.c:513,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/mainloop.c:514,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 517
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 517
    functionName: run_inner_loop
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_main_loop_run
    - g_source_set_callback
    - counter_source_new
    - g_source_attach
    - g_main_loop_unref
    - g_main_loop_new
    - g_source_unref
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean run_inner_loop (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/glib/glib/tests/mainloop.c:1292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - fd
    - condition
    - user_data
    argTypes:
    - gint
    - GIOCondition
    - gpointer
    constantsTouched: []
    func_position:
      end: 1298
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1298
    functionName: read_bytes
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - read
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean read_bytes (gint fd, GIOCondition condition, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:2080,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:2081,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - data
    - user_data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 2082
      start: 2073
    functionDepth: 0
    functionLinenumber: 2073
    functionLinenumberEnd: 2082
    functionName: thread_pool_attach_func
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_source_attach
    - g_source_unref
    linkageType: ''
    returnType: void
    signature: 'static void thread_pool_attach_func (gpointer data, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_new
      Src: /src/glib/glib/tests/mainloop.c:1100,1
    - Dst: g_main_context_wakeup
      Src: /src/glib/glib/tests/mainloop.c:1115,1
    - Dst: g_main_context_iteration
      Src: /src/glib/glib/tests/mainloop.c:1116,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/tests/mainloop.c:1119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1120
      start: 1094
    functionDepth: 0
    functionLinenumber: 1094
    functionLinenumberEnd: 1120
    functionName: test_wakeup
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_main_context_iteration
    - g_main_context_unref
    - g_main_context_new
    - g_main_context_wakeup
    linkageType: ''
    returnType: void
    signature: 'static void test_wakeup(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pipe
      Src: /src/glib/glib/tests/mainloop.c:1312,1
    - Dst: g_source_ref
      Src: /src/glib/glib/tests/mainloop.c:1318,1
    - Dst: g_unix_fd_add
      Src: /src/glib/glib/tests/mainloop.c:1324,1
    - Dst: g_source_ref
      Src: /src/glib/glib/tests/mainloop.c:1325,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:1353,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1349,1
    - Dst: close
      Src: /src/glib/glib/tests/mainloop.c:1358,1
    - Dst: g_main_context_find_source_by_id
      Src: /src/glib/glib/tests/mainloop.c:1318,1
    - Dst: g_main_context_find_source_by_id
      Src: /src/glib/glib/tests/mainloop.c:1325,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:1345,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:1352,1
    - Dst: g_source_is_destroyed
      Src: /src/glib/glib/tests/mainloop.c:1352,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:1355,1
    - Dst: g_source_is_destroyed
      Src: /src/glib/glib/tests/mainloop.c:1355,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1313,1
    - Dst: g_unix_fd_add_full
      Src: /src/glib/glib/tests/mainloop.c:1317,1
    - Dst: g_main_context_iteration
      Src: /src/glib/glib/tests/mainloop.c:1340,1
    - Dst: g_source_remove
      Src: /src/glib/glib/tests/mainloop.c:1354,1
    - Dst: close
      Src: /src/glib/glib/tests/mainloop.c:1357,1
    - Dst: fill_a_pipe
      Src: /src/glib/glib/tests/mainloop.c:1315,1
    - Dst: g_main_context_iteration
      Src: /src/glib/glib/tests/mainloop.c:1320,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1348,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:1356,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1359
      start: 1301
    functionDepth: 0
    functionLinenumber: 1301
    functionLinenumberEnd: 1359
    functionName: test_unix_fd
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_source_remove
    - g_unix_fd_add_full
    - g_source_ref
    - g_assert_true
    - g_main_context_find_source_by_id
    - pipe
    - fill_a_pipe
    - g_source_unref
    - close
    - g_main_context_iteration
    - g_unix_fd_add
    - g_source_is_destroyed
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_unix_fd (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/mainloop.c:1125,1
    - Dst: g_source_remove
      Src: /src/glib/glib/tests/mainloop.c:1126,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/mainloop.c:1127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1128
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1128
    functionName: test_remove_invalid
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_test_expect_message
    - g_test_assert_expected_messages
    - g_source_remove
    linkageType: ''
    returnType: void
    signature: 'static void test_remove_invalid (void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/mainloop.c:2255,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:2267,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:2268,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:2272,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/mainloop.c:2285,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/tests/mainloop.c:2283,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:2291,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/mainloop.c:2294,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:2300,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:2308,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/mainloop.c:2310,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/mainloop.c:2257,1
    - Dst: g_source_new
      Src: /src/glib/glib/tests/mainloop.c:2259,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:2282,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:2281,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/mainloop.c:2277,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/tests/mainloop.c:2292,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/tests/mainloop.c:2301,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/tests/mainloop.c:2306,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:2307,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/tests/mainloop.c:2313,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:2314,1
    - Dst: g_main_context_new
      Src: /src/glib/glib/tests/mainloop.c:2252,1
    - Dst: g_source_destroy
      Src: /src/glib/glib/tests/mainloop.c:2290,1
    - Dst: g_source_destroy
      Src: /src/glib/glib/tests/mainloop.c:2299,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:2315,1
    - Dst: g_source_new
      Src: /src/glib/glib/tests/mainloop.c:2260,1
    - Dst: g_source_ref
      Src: /src/glib/glib/tests/mainloop.c:2261,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/mainloop.c:2265,1
    - Dst: g_source_destroy
      Src: /src/glib/glib/tests/mainloop.c:2288,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:2273,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:2289,1
    - Dst: g_source_destroy
      Src: /src/glib/glib/tests/mainloop.c:2297,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:2298,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/mainloop.c:2303,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 57
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2317
      start: 2249
    functionDepth: 0
    functionLinenumber: 2249
    functionLinenumberEnd: 2317
    functionName: test_maincontext_source_finalization_from_source
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_source_ref
    - GPOINTER_TO_INT
    - g_test_summary
    - g_source_new
    - g_main_context_unref
    - g_source_attach
    - g_source_destroy
    - g_main_context_new
    - g_test_bug
    - g_source_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_maincontext_source_finalization_from_source (gconstpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/mainloop.c:683,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 686
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 686
    functionName: assert_not_reached_callback
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean assert_not_reached_callback (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_get_context
      Src: /src/glib/glib/tests/mainloop.c:1745,1
    - Dst: g_main_loop_is_running
      Src: /src/glib/glib/tests/mainloop.c:1746,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:1747,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:1746,1
    - Dst: g_main_context_is_owner
      Src: /src/glib/glib/tests/mainloop.c:1747,1
    - Dst: g_main_loop_quit
      Src: /src/glib/glib/tests/mainloop.c:1749,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1752
      start: 1739
    functionDepth: 0
    functionLinenumber: 1739
    functionLinenumberEnd: 1752
    functionName: timeout_cb
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_main_loop_quit
    - g_main_loop_get_context
    - g_main_context_is_owner
    - g_main_loop_is_running
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean timeout_cb (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_source_destroy
      Src: /src/glib/glib/tests/mainloop.c:2090,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - data
    - user_data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 2091
      start: 2084
    functionDepth: 0
    functionLinenumber: 2084
    functionLinenumberEnd: 2091
    functionName: thread_pool_destroy_func
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_source_destroy
    linkageType: ''
    returnType: void
    signature: 'static void thread_pool_destroy_func (gpointer data, gpointer user_data) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/mainloop.c:1864,1
    - Dst: g_io_create_watch
      Src: /src/glib/glib/tests/mainloop.c:1876,1
    - Dst: g_main_context_query
      Src: /src/glib/glib/tests/mainloop.c:1863,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1869,1
    - Dst: g_main_context_query
      Src: /src/glib/glib/tests/mainloop.c:1898,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/mainloop.c:1899,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1904,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/mainloop.c:1906,1
    - Dst: g_source_set_priority
      Src: /src/glib/glib/tests/mainloop.c:1910,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1919,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:1944,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/mainloop.c:1893,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/tests/mainloop.c:1952,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:1937,1
    - Dst: g_source_destroy
      Src: /src/glib/glib/tests/mainloop.c:1943,1
    - Dst: g_main_context_query
      Src: /src/glib/glib/tests/mainloop.c:1839,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/mainloop.c:1847,1
    - Dst: g_io_channel_unix_new
      Src: /src/glib/glib/tests/mainloop.c:1849,1
    - Dst: g_io_create_watch
      Src: /src/glib/glib/tests/mainloop.c:1857,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:1861,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/mainloop.c:1871,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:1880,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1889,1
    - Dst: g_io_create_watch
      Src: /src/glib/glib/tests/mainloop.c:1909,1
    - Dst: g_main_context_query
      Src: /src/glib/glib/tests/mainloop.c:1915,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1921,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1900,1
    - Dst: g_main_context_new
      Src: /src/glib/glib/tests/mainloop.c:1838,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/mainloop.c:1840,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/mainloop.c:1846,1
    - Dst: g_io_channel_win32_make_pollfd
      Src: /src/glib/glib/tests/mainloop.c:1852,1
    - Dst: g_source_set_priority
      Src: /src/glib/glib/tests/mainloop.c:1858,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:1859,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:1878,1
    - Dst: g_main_context_query
      Src: /src/glib/glib/tests/mainloop.c:1885,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/mainloop.c:1886,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1891,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/mainloop.c:1923,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1917,1
    - Dst: g_main_context_iteration
      Src: /src/glib/glib/tests/mainloop.c:1929,1
    - Dst: remove
      Src: /src/glib/glib/tests/mainloop.c:1949,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1844,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1865,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1867,1
    - Dst: g_source_set_priority
      Src: /src/glib/glib/tests/mainloop.c:1877,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1887,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1902,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:1911,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:1938,1
    - Dst: g_io_channel_unref
      Src: /src/glib/glib/tests/mainloop.c:1948,1
    - Dst: g_free
      Src: /src/glib/glib/tests/mainloop.c:1950,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:1946,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:1913,1
    - Dst: g_source_destroy
      Src: /src/glib/glib/tests/mainloop.c:1945,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:1942,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/mainloop.c:1916,1
    - Dst: g_source_destroy
      Src: /src/glib/glib/tests/mainloop.c:1941,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 82
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1953
      start: 1826
    functionDepth: 0
    functionLinenumber: 1826
    functionLinenumberEnd: 1953
    functionName: test_nfds
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_main_context_unref
    - g_source_set_callback
    - g_file_open_tmp
    - g_io_channel_unref
    - g_io_channel_unix_new
    - g_assert_true
    - G_N_ELEMENTS
    - g_main_context_query
    - g_io_channel_win32_make_pollfd
    - g_io_create_watch
    - g_source_attach
    - g_main_context_new
    - g_source_unref
    - g_assert_cmpint
    - g_source_set_priority
    - g_source_destroy
    - g_assert_not_reached
    - g_assert_no_error
    - remove
    - g_main_context_iteration
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_nfds (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/mainloop.c:1958,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1960
      start: 1955
    functionDepth: 0
    functionLinenumber: 1955
    functionLinenumberEnd: 1960
    functionName: nsources_cb
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean nsources_cb (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_new
      Src: /src/glib/glib/tests/mainloop.c:695,1
    - Dst: counter_source_new
      Src: /src/glib/glib/tests/mainloop.c:698,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:701,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:700,1
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/mainloop.c:696,1
    - Dst: counter_source_new
      Src: /src/glib/glib/tests/mainloop.c:703,1
    - Dst: g_source_add_child_source
      Src: /src/glib/glib/tests/mainloop.c:704,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:705,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/mainloop.c:708,1
    - Dst: g_source_destroy
      Src: /src/glib/glib/tests/mainloop.c:710,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:711,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/tests/mainloop.c:715,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/mainloop.c:714,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:712,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 716
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 716
    functionName: test_swapping_child_sources
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_main_loop_run
    - g_main_context_unref
    - g_source_set_callback
    - counter_source_new
    - g_source_attach
    - g_source_destroy
    - g_main_context_new
    - g_main_loop_unref
    - g_main_loop_new
    - g_source_unref
    - g_source_add_child_source
    linkageType: ''
    returnType: void
    signature: 'static void test_swapping_child_sources (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/mainloop.c:1761,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:1764,1
    - Dst: g_timeout_source_new
      Src: /src/glib/glib/tests/mainloop.c:1762,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:1763,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/mainloop.c:1766,1
    - Dst: g_source_destroy
      Src: /src/glib/glib/tests/mainloop.c:1768,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:1769,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/mainloop.c:1770,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1773
      start: 1754
    functionDepth: 0
    functionLinenumber: 1754
    functionLinenumberEnd: 1773
    functionName: threadf
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_main_loop_run
    - g_source_set_callback
    - g_timeout_source_new
    - g_source_attach
    - g_source_destroy
    - g_main_loop_unref
    - g_main_loop_new
    - g_source_unref
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer threadf (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_idle_source_new
      Src: /src/glib/glib/tests/mainloop.c:2111,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/mainloop.c:2108,1
    - Dst: g_thread_pool_push
      Src: /src/glib/glib/tests/mainloop.c:2126,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/mainloop.c:2130,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/mainloop.c:2131,1
    - Dst: g_thread_pool_new
      Src: /src/glib/glib/tests/mainloop.c:2121,1
    - Dst: g_main_context_iteration
      Src: /src/glib/glib/tests/mainloop.c:2135,1
    - Dst: g_main_context_default
      Src: /src/glib/glib/tests/mainloop.c:2103,1
    - Dst: g_new0
      Src: /src/glib/glib/tests/mainloop.c:2104,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:2112,1
    - Dst: g_thread_pool_push
      Src: /src/glib/glib/tests/mainloop.c:2113,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/mainloop.c:2114,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/mainloop.c:2118,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/mainloop.c:2117,1
    - Dst: g_thread_pool_free
      Src: /src/glib/glib/tests/mainloop.c:2129,1
    - Dst: g_free
      Src: /src/glib/glib/tests/mainloop.c:2137,1
    - Dst: g_thread_pool_new
      Src: /src/glib/glib/tests/mainloop.c:2106,1
    - Dst: g_thread_pool_free
      Src: /src/glib/glib/tests/mainloop.c:2116,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/mainloop.c:2127,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/mainloop.c:2123,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2138
      start: 2093
    functionDepth: 0
    functionLinenumber: 2093
    functionLinenumberEnd: 2138
    functionName: test_nsources_threadpool
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_thread_pool_push
    - g_source_set_callback
    - g_idle_source_new
    - g_test_message
    - g_main_context_default
    - g_main_context_iteration
    - g_assert_no_error
    - g_get_monotonic_time
    - g_thread_pool_free
    - g_thread_pool_new
    - g_new0
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_nsources_threadpool (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 3
    argNames:
    - source
    - callback
    - user_data
    argTypes:
    - GSource*
    - GSourceFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 2323
      start: 2319
    functionDepth: 0
    functionLinenumber: 2319
    functionLinenumberEnd: 2323
    functionName: dispatch_source_with_source
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean dispatch_source_with_source (GSource *source, GSourceFunc
      callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_new
      Src: /src/glib/glib/tests/mainloop.c:526,1
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/mainloop.c:527,1
    - Dst: g_source_set_priority
      Src: /src/glib/glib/tests/mainloop.c:533,1
    - Dst: g_source_add_child_source
      Src: /src/glib/glib/tests/mainloop.c:538,1
    - Dst: g_source_get_priority
      Src: /src/glib/glib/tests/mainloop.c:548,1
    - Dst: g_source_get_priority
      Src: /src/glib/glib/tests/mainloop.c:547,1
    - Dst: counter_source_new
      Src: /src/glib/glib/tests/mainloop.c:554,1
    - Dst: counter_source_new
      Src: /src/glib/glib/tests/mainloop.c:531,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:532,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:537,1
    - Dst: counter_source_new
      Src: /src/glib/glib/tests/mainloop.c:540,1
    - Dst: g_source_set_priority
      Src: /src/glib/glib/tests/mainloop.c:542,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:546,1
    - Dst: g_source_get_priority
      Src: /src/glib/glib/tests/mainloop.c:552,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:555,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:584,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:589,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/mainloop.c:593,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/tests/mainloop.c:594,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:534,1
    - Dst: g_source_add_child_source
      Src: /src/glib/glib/tests/mainloop.c:543,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:548,1
    - Dst: g_source_get_priority
      Src: /src/glib/glib/tests/mainloop.c:546,1
    - Dst: g_source_set_priority
      Src: /src/glib/glib/tests/mainloop.c:549,1
    - Dst: g_source_get_priority
      Src: /src/glib/glib/tests/mainloop.c:551,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:552,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:556,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/mainloop.c:559,1
    - Dst: g_source_destroy
      Src: /src/glib/glib/tests/mainloop.c:588,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:590,1
    - Dst: counter_source_new
      Src: /src/glib/glib/tests/mainloop.c:536,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:547,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:541,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:550,1
    - Dst: g_source_get_priority
      Src: /src/glib/glib/tests/mainloop.c:550,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:551,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:557,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:585,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:586,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:591,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 50
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 595
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 595
    functionName: test_child_sources
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_main_loop_run
    - g_source_set_priority
    - g_source_set_callback
    - g_main_context_unref
    - g_source_get_priority
    - counter_source_new
    - g_source_attach
    - g_source_destroy
    - g_main_context_new
    - g_main_loop_unref
    - g_main_loop_new
    - g_source_unref
    - g_source_add_child_source
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_child_sources (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - source
    - timeout
    argTypes:
    - GSource*
    - gint*
    constantsTouched: []
    func_position:
      end: 1136
      start: 1130
    functionDepth: 0
    functionLinenumber: 1130
    functionLinenumberEnd: 1136
    functionName: trivial_prepare
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean trivial_prepare (GSource *source, gint *timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/mainloop.c:1198,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/mainloop.c:1201,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/mainloop.c:1202,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 1205
      start: 1193
    functionDepth: 0
    functionLinenumber: 1193
    functionLinenumberEnd: 1205
    functionName: check_loop_run
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_test_expect_message
    - g_test_assert_expected_messages
    - g_main_loop_run
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean check_loop_run (GSource *source) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 2388
      start: 2382
    functionDepth: 0
    functionLinenumber: 2382
    functionLinenumberEnd: 2388
    functionName: once_cb
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void once_cb (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_new
      Src: /src/glib/glib/tests/mainloop.c:604,1
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/mainloop.c:605,1
    - Dst: counter_source_new
      Src: /src/glib/glib/tests/mainloop.c:616,1
    - Dst: g_source_add_child_source
      Src: /src/glib/glib/tests/mainloop.c:618,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/mainloop.c:627,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:624,1
    - Dst: g_source_destroy
      Src: /src/glib/glib/tests/mainloop.c:645,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:647,1
    - Dst: g_source_add_child_source
      Src: /src/glib/glib/tests/mainloop.c:614,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:617,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:625,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:641,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:643,1
    - Dst: counter_source_new
      Src: /src/glib/glib/tests/mainloop.c:609,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:620,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:646,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/mainloop.c:650,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:610,1
    - Dst: counter_source_new
      Src: /src/glib/glib/tests/mainloop.c:612,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:613,1
    - Dst: counter_source_new
      Src: /src/glib/glib/tests/mainloop.c:622,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:642,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:623,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:648,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/tests/mainloop.c:651,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 652
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 652
    functionName: test_recursive_child_sources
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_main_loop_run
    - g_main_context_unref
    - g_source_set_callback
    - counter_source_new
    - g_source_attach
    - g_source_destroy
    - g_main_context_new
    - g_main_loop_unref
    - g_main_loop_new
    - g_source_unref
    - g_source_add_child_source
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_recursive_child_sources (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_quit
      Src: /src/glib/glib/tests/mainloop.c:1214,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - source
    - callback
    - user_data
    argTypes:
    - GSource*
    - GSourceFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 1217
      start: 1207
    functionDepth: 0
    functionLinenumber: 1207
    functionLinenumberEnd: 1217
    functionName: dispatch_loop_run
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean dispatch_loop_run (GSource *source, GSourceFunc callback,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/mainloop.c:2397,1
    - Dst: g_source_ref
      Src: /src/glib/glib/tests/mainloop.c:2402,1
    - Dst: g_idle_add_once
      Src: /src/glib/glib/tests/mainloop.c:2399,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/mainloop.c:2401,1
    - Dst: g_main_context_find_source_by_id
      Src: /src/glib/glib/tests/mainloop.c:2400,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/mainloop.c:2405,1
    - Dst: g_main_context_iteration
      Src: /src/glib/glib/tests/mainloop.c:2406,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/mainloop.c:2407,1
    - Dst: g_main_context_iteration
      Src: /src/glib/glib/tests/mainloop.c:2410,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/mainloop.c:2411,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:2412,1
    - Dst: g_source_is_destroyed
      Src: /src/glib/glib/tests/mainloop.c:2412,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/mainloop.c:2414,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2415
      start: 2390
    functionDepth: 0
    functionLinenumber: 2390
    functionLinenumberEnd: 2415
    functionName: test_maincontext_idle_once
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_source_ref
    - g_assert_true
    - g_test_summary
    - g_main_context_find_source_by_id
    - g_assert_nonnull
    - g_assert_cmpuint
    - g_idle_add_once
    - g_clear_pointer
    - g_main_context_iteration
    - g_source_is_destroyed
    linkageType: ''
    returnType: void
    signature: 'static void test_maincontext_idle_once (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - condition
    - user_data
    argTypes:
    - gint
    - GIOCondition
    - gpointer
    constantsTouched: []
    func_position:
      end: 1428
      start: 1418
    functionDepth: 0
    functionLinenumber: 1418
    functionLinenumberEnd: 1428
    functionName: flag_bool
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean flag_bool (gint fd, GIOCondition condition, gpointer
      user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_source_destroy
      Src: /src/glib/glib/tests/mainloop.c:2234,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:2235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 2238
      start: 2227
    functionDepth: 0
    functionLinenumber: 2227
    functionLinenumberEnd: 2238
    functionName: finalize_source_with_source
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_source_destroy
    - g_source_unref
    linkageType: ''
    returnType: void
    signature: 'static void finalize_source_with_source (GSource *source) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_main_current_source
      Src: /src/glib/glib/tests/mainloop.c:782,1
    - Dst: g_source_is_destroyed
      Src: /src/glib/glib/tests/mainloop.c:788,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/mainloop.c:788,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/mainloop.c:790,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:783,1
    - Dst: g_source_get_time
      Src: /src/glib/glib/tests/mainloop.c:791,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/mainloop.c:799,1
    - Dst: g_source_get_time
      Src: /src/glib/glib/tests/mainloop.c:800,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:802,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:803,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:819,1
    - Dst: g_source_get_time
      Src: /src/glib/glib/tests/mainloop.c:818,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 833
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 833
    functionName: timeout1_callback
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_source_get_time
    - g_main_current_source
    - g_get_monotonic_time
    - g_assert_false
    - g_source_is_destroyed
    - g_assert_cmpint
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean timeout1_callback (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_poll
      Src: /src/glib/glib/tests/mainloop.c:1257,1
    - Dst: write
      Src: /src/glib/glib/tests/mainloop.c:1259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - fd
    argTypes:
    - gint
    constantsTouched: []
    func_position:
      end: 1262
      start: 1249
    functionDepth: 0
    functionLinenumber: 1249
    functionLinenumberEnd: 1262
    functionName: fill_a_pipe
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - write
    - g_poll
    linkageType: ''
    returnType: gsize
    signature: 'static gsize fill_a_pipe (gint fd) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_default
      Src: /src/glib/glib/tests/mainloop.c:1377,1
    - Dst: g_main_context_acquire
      Src: /src/glib/glib/tests/mainloop.c:1379,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:1380,1
    - Dst: g_main_context_prepare
      Src: /src/glib/glib/tests/mainloop.c:1382,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/mainloop.c:1383,1
    - Dst: g_main_context_query
      Src: /src/glib/glib/tests/mainloop.c:1384,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1385,1
    - Dst: va_start
      Src: /src/glib/glib/tests/mainloop.c:1387,1
    - Dst: va_arg
      Src: /src/glib/glib/tests/mainloop.c:1390,1
    - Dst: va_arg
      Src: /src/glib/glib/tests/mainloop.c:1391,1
    - Dst: g_error
      Src: /src/glib/glib/tests/mainloop.c:1403,1
    - Dst: g_main_context_check
      Src: /src/glib/glib/tests/mainloop.c:1412,1
    - Dst: g_main_context_release
      Src: /src/glib/glib/tests/mainloop.c:1415,1
    - Dst: va_end
      Src: /src/glib/glib/tests/mainloop.c:1405,1
    - Dst: va_arg
      Src: /src/glib/glib/tests/mainloop.c:1392,1
    - Dst: g_main_context_dispatch
      Src: /src/glib/glib/tests/mainloop.c:1413,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 1
    argNames:
    - n_to_poll
    - '...'
    argTypes:
    - gint
    constantsTouched: []
    func_position:
      end: 1416
      start: 1362
    functionDepth: 0
    functionLinenumber: 1362
    functionLinenumberEnd: 1416
    functionName: assert_main_context_state
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_main_context_check
    - g_assert_true
    - g_assert_cmpint
    - g_main_context_query
    - g_main_context_default
    - g_main_context_prepare
    - g_main_context_release
    - g_main_context_dispatch
    - va_arg
    - va_end
    - g_assert_false
    - g_error
    - va_start
    - g_main_context_acquire
    linkageType: ''
    returnType: void
    signature: 'static void assert_main_context_state (gint n_to_poll, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_main_context_state
      Src: /src/glib/glib/tests/mainloop.c:1440,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:1470,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:1482,1
    - Dst: g_source_set_priority
      Src: /src/glib/glib/tests/mainloop.c:1491,1
    - Dst: assert_main_context_state
      Src: /src/glib/glib/tests/mainloop.c:1500,1
    - Dst: pipe
      Src: /src/glib/glib/tests/mainloop.c:1442,1
    - Dst: g_main_context_iteration
      Src: /src/glib/glib/tests/mainloop.c:1452,1
    - Dst: G_SOURCE_FUNC
      Src: /src/glib/glib/tests/mainloop.c:1470,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:1474,1
    - Dst: g_unix_fd_source_new
      Src: /src/glib/glib/tests/mainloop.c:1458,1
    - Dst: assert_main_context_state
      Src: /src/glib/glib/tests/mainloop.c:1483,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:1487,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:1495,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:1503,1
    - Dst: g_source_destroy
      Src: /src/glib/glib/tests/mainloop.c:1507,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:1508,1
    - Dst: close
      Src: /src/glib/glib/tests/mainloop.c:1509,1
    - Dst: close
      Src: /src/glib/glib/tests/mainloop.c:1510,1
    - Dst: g_unix_fd_source_new
      Src: /src/glib/glib/tests/mainloop.c:1445,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:1455,1
    - Dst: g_source_set_priority
      Src: /src/glib/glib/tests/mainloop.c:1481,1
    - Dst: assert_main_context_state
      Src: /src/glib/glib/tests/mainloop.c:1492,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:1480,1
    - Dst: g_source_set_priority
      Src: /src/glib/glib/tests/mainloop.c:1499,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:1506,1
    - Dst: g_unix_fd_source_new
      Src: /src/glib/glib/tests/mainloop.c:1479,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1443,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:1446,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/mainloop.c:1451,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/mainloop.c:1453,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:1454,1
    - Dst: g_source_is_destroyed
      Src: /src/glib/glib/tests/mainloop.c:1454,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:1477,1
    - Dst: assert_main_context_state
      Src: /src/glib/glib/tests/mainloop.c:1475,1
    - Dst: G_GNUC_CHECK_VERSION
      Src: /src/glib/glib/tests/mainloop.c:1466,1
    - Dst: G_GNUC_CHECK_VERSION
      Src: /src/glib/glib/tests/mainloop.c:1471,1
    - Dst: g_source_destroy
      Src: /src/glib/glib/tests/mainloop.c:1505,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 56
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1511
      start: 1430
    functionDepth: 0
    functionLinenumber: 1430
    functionLinenumberEnd: 1511
    functionName: test_unix_fd_source
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_assert_true
    - g_source_set_priority
    - g_source_set_callback
    - g_source_attach
    - assert_main_context_state
    - g_source_destroy
    - G_SOURCE_FUNC
    - g_unix_fd_source_new
    - pipe
    - g_test_expect_message
    - close
    - g_source_unref
    - G_GNUC_CHECK_VERSION
    - g_main_context_iteration
    - g_source_is_destroyed
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_unix_fd_source (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/mainloop.c:1690,1
    - Dst: g_idle_source_new
      Src: /src/glib/glib/tests/mainloop.c:1694,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1701,1
    - Dst: g_unix_fd_source_new
      Src: /src/glib/glib/tests/mainloop.c:1702,1
    - Dst: G_SOURCE_FUNC
      Src: /src/glib/glib/tests/mainloop.c:1703,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:1713,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/mainloop.c:1726,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/mainloop.c:1730,1
    - Dst: close
      Src: /src/glib/glib/tests/mainloop.c:1732,1
    - Dst: close
      Src: /src/glib/glib/tests/mainloop.c:1733,1
    - Dst: open
      Src: /src/glib/glib/tests/mainloop.c:1700,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:1703,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1709,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:1711,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:1706,1
    - Dst: G_SOURCE_FUNC
      Src: /src/glib/glib/tests/mainloop.c:1711,1
    - Dst: g_source_set_priority
      Src: /src/glib/glib/tests/mainloop.c:1712,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1724,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:1698,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:1714,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:1728,1
    - Dst: g_source_set_priority
      Src: /src/glib/glib/tests/mainloop.c:1696,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:1695,1
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/mainloop.c:1692,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:1697,1
    - Dst: g_source_set_priority
      Src: /src/glib/glib/tests/mainloop.c:1704,1
    - Dst: open
      Src: /src/glib/glib/tests/mainloop.c:1708,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:1705,1
    - Dst: g_unix_fd_source_new
      Src: /src/glib/glib/tests/mainloop.c:1710,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1719,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:1721,1
    - Dst: g_main_context_iteration
      Src: /src/glib/glib/tests/mainloop.c:1721,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 39
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1734
      start: 1680
    functionDepth: 0
    functionLinenumber: 1680
    functionLinenumberEnd: 1734
    functionName: test_unix_fd_priority
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_source_set_priority
    - g_source_set_callback
    - g_idle_source_new
    - g_source_attach
    - G_SOURCE_FUNC
    - g_test_bug
    - g_main_loop_unref
    - g_unix_fd_source_new
    - g_main_loop_new
    - close
    - g_source_unref
    - open
    - g_assert_false
    - g_main_context_iteration
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_unix_fd_priority (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 3
    argNames:
    - source
    - cb
    - date
    argTypes:
    - GSource*
    - GSourceFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: dispatch
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean dispatch (GSource *source, GSourceFunc cb, gpointer
      date) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/mainloop.c:995,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 998
      start: 992
    functionDepth: 0
    functionLinenumber: 992
    functionLinenumberEnd: 998
    functionName: run_context
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_main_loop_run
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer run_context (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/mainloop.c:1970,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/mainloop.c:1971,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - sources
    - num
    argTypes:
    - GSource**
    - int
    constantsTouched: []
    func_position:
      end: 1976
      start: 1962
    functionDepth: 0
    functionLinenumber: 1962
    functionLinenumberEnd: 1976
    functionName: shuffle_nsources
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_random_int_range
    linkageType: ''
    returnType: void
    signature: 'static void shuffle_nsources (GSource **sources, int num) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/mainloop.c:2147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 2149
      start: 2144
    functionDepth: 0
    functionLinenumber: 2144
    functionLinenumberEnd: 2149
    functionName: finalize
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_assert_false
    linkageType: ''
    returnType: void
    signature: 'static void finalize (GSource *source) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_source_get_ready_time
      Src: /src/glib/glib/tests/mainloop.c:1022,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:1011,1
    - Dst: g_main_context_iteration
      Src: /src/glib/glib/tests/mainloop.c:1023,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/mainloop.c:1024,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1040,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/mainloop.c:1036,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1031,1
    - Dst: g_atomic_int_set
      Src: /src/glib/glib/tests/mainloop.c:1053,1
    - Dst: g_source_set_ready_time
      Src: /src/glib/glib/tests/mainloop.c:1058,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/mainloop.c:1058,1
    - Dst: g_source_set_ready_time
      Src: /src/glib/glib/tests/mainloop.c:1065,1
    - Dst: g_source_get_ready_time
      Src: /src/glib/glib/tests/mainloop.c:1069,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/mainloop.c:1088,1
    - Dst: g_source_new
      Src: /src/glib/glib/tests/mainloop.c:1010,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1022,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1027,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/mainloop.c:1038,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/mainloop.c:1045,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1047,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/mainloop.c:1050,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/mainloop.c:1052,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/mainloop.c:1060,1
    - Dst: g_main_context_iteration
      Src: /src/glib/glib/tests/mainloop.c:1066,1
    - Dst: g_atomic_int_set
      Src: /src/glib/glib/tests/mainloop.c:1068,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1062,1
    - Dst: g_source_set_ready_time
      Src: /src/glib/glib/tests/mainloop.c:1083,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1069,1
    - Dst: g_source_get_ready_time
      Src: /src/glib/glib/tests/mainloop.c:1055,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/mainloop.c:1084,1
    - Dst: g_atomic_int_set
      Src: /src/glib/glib/tests/mainloop.c:1082,1
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/mainloop.c:1077,1
    - Dst: g_source_get_ready_time
      Src: /src/glib/glib/tests/mainloop.c:1027,1
    - Dst: g_source_set_ready_time
      Src: /src/glib/glib/tests/mainloop.c:1030,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/mainloop.c:1038,1
    - Dst: g_main_context_iteration
      Src: /src/glib/glib/tests/mainloop.c:1037,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:1052,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1055,1
    - Dst: g_main_context_iteration
      Src: /src/glib/glib/tests/mainloop.c:1059,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:1060,1
    - Dst: g_source_get_ready_time
      Src: /src/glib/glib/tests/mainloop.c:1062,1
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/mainloop.c:1076,1
    - Dst: g_main_context_iteration
      Src: /src/glib/glib/tests/mainloop.c:1051,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/mainloop.c:1067,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/mainloop.c:1089,1
    - Dst: g_main_loop_quit
      Src: /src/glib/glib/tests/mainloop.c:1087,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:1012,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/mainloop.c:1024,1
    - Dst: g_source_get_ready_time
      Src: /src/glib/glib/tests/mainloop.c:1031,1
    - Dst: g_source_set_ready_time
      Src: /src/glib/glib/tests/mainloop.c:1036,1
    - Dst: g_source_get_ready_time
      Src: /src/glib/glib/tests/mainloop.c:1040,1
    - Dst: g_source_set_ready_time
      Src: /src/glib/glib/tests/mainloop.c:1043,1
    - Dst: g_main_context_iteration
      Src: /src/glib/glib/tests/mainloop.c:1044,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/mainloop.c:1045,1
    - Dst: g_source_get_ready_time
      Src: /src/glib/glib/tests/mainloop.c:1047,1
    - Dst: g_source_set_ready_time
      Src: /src/glib/glib/tests/mainloop.c:1050,1
    - Dst: g_atomic_int_set
      Src: /src/glib/glib/tests/mainloop.c:1061,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:1067,1
    - Dst: g_source_destroy
      Src: /src/glib/glib/tests/mainloop.c:1091,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/mainloop.c:1078,1
    - Dst: g_source_set_ready_time
      Src: /src/glib/glib/tests/mainloop.c:1075,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/mainloop.c:1081,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 71
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1092
      start: 1000
    functionDepth: 0
    functionLinenumber: 1000
    functionLinenumberEnd: 1092
    functionName: test_ready_time
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_thread_new
    - g_usleep
    - g_assert_true
    - g_source_attach
    - g_atomic_int_set
    - g_source_unref
    - g_get_monotonic_time
    - g_assert_false
    - g_assert_cmpint
    - g_source_destroy
    - g_main_loop_new
    - g_source_new
    - g_source_get_ready_time
    - g_main_context_iteration
    - g_main_loop_unref
    - g_main_loop_quit
    - g_thread_join
    - g_source_set_ready_time
    linkageType: ''
    returnType: void
    signature: 'static void test_ready_time (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_default
      Src: /src/glib/glib/tests/mainloop.c:1986,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/mainloop.c:1996,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/mainloop.c:2015,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/mainloop.c:2003,1
    - Dst: shuffle_nsources
      Src: /src/glib/glib/tests/mainloop.c:2007,1
    - Dst: g_idle_source_new
      Src: /src/glib/glib/tests/mainloop.c:1992,1
    - Dst: g_new0
      Src: /src/glib/glib/tests/mainloop.c:1987,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:1993,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:1994,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/mainloop.c:2000,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/mainloop.c:2009,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:2013,1
    - Dst: g_source_destroy
      Src: /src/glib/glib/tests/mainloop.c:2012,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/mainloop.c:1989,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:2002,1
    - Dst: g_source_get_id
      Src: /src/glib/glib/tests/mainloop.c:2002,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/mainloop.c:2016,1
    - Dst: g_main_context_iteration
      Src: /src/glib/glib/tests/mainloop.c:2020,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/mainloop.c:1997,1
    - Dst: g_main_context_find_source_by_id
      Src: /src/glib/glib/tests/mainloop.c:2002,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/mainloop.c:2004,1
    - Dst: g_free
      Src: /src/glib/glib/tests/mainloop.c:2022,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 48
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2023
      start: 1978
    functionDepth: 0
    functionLinenumber: 1978
    functionLinenumberEnd: 2023
    functionName: test_nsources_same_priority
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_main_context_find_source_by_id
    - g_source_set_callback
    - g_idle_source_new
    - g_test_message
    - g_source_attach
    - g_main_context_default
    - g_source_get_id
    - g_source_destroy
    - g_main_context_iteration
    - g_source_unref
    - g_get_monotonic_time
    - g_new0
    - g_free
    - shuffle_nsources
    linkageType: ''
    returnType: void
    signature: 'static void test_nsources_same_priority (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/glib/glib/tests/mainloop.c:354,1
    - Dst: g_thread_self
      Src: /src/glib/glib/tests/mainloop.c:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 357
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 357
    functionName: call_func
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - func
    - g_thread_self
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean call_func (gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: callback
      Src: /src/glib/glib/tests/mainloop.c:468,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - source
    - callback
    - user_data
    argTypes:
    - GSource*
    - GSourceFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 474
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 474
    functionName: counter_source_dispatch
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - callback
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean counter_source_dispatch (GSource *source, GSourceFunc
      callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_current_source
      Src: /src/glib/glib/tests/mainloop.c:842,1
    - Dst: g_source_get_time
      Src: /src/glib/glib/tests/mainloop.c:850,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/mainloop.c:845,1
    - Dst: g_source_is_destroyed
      Src: /src/glib/glib/tests/mainloop.c:845,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:843,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:851,1
    - Dst: g_source_destroy
      Src: /src/glib/glib/tests/mainloop.c:856,1
    - Dst: g_source_get_time
      Src: /src/glib/glib/tests/mainloop.c:857,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:858,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 861
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 861
    functionName: timeout2_callback
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_source_get_time
    - g_main_current_source
    - g_source_destroy
    - g_assert_false
    - g_source_is_destroyed
    - g_assert_cmpint
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean timeout2_callback (gpointer user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_new
      Src: /src/glib/glib/tests/mainloop.c:2337,1
    - Dst: g_source_new
      Src: /src/glib/glib/tests/mainloop.c:2344,1
    - Dst: g_source_new
      Src: /src/glib/glib/tests/mainloop.c:2343,1
    - Dst: g_source_ref
      Src: /src/glib/glib/tests/mainloop.c:2345,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/mainloop.c:2340,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:2347,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:2348,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/mainloop.c:2350,1
    - Dst: g_source_set_ready_time
      Src: /src/glib/glib/tests/mainloop.c:2354,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/mainloop.c:2356,1
    - Dst: g_source_set_ready_time
      Src: /src/glib/glib/tests/mainloop.c:2360,1
    - Dst: g_source_set_ready_time
      Src: /src/glib/glib/tests/mainloop.c:2366,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:2370,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:2371,1
    - Dst: g_main_context_iteration
      Src: /src/glib/glib/tests/mainloop.c:2374,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/tests/mainloop.c:2379,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/mainloop.c:2362,1
    - Dst: g_source_set_ready_time
      Src: /src/glib/glib/tests/mainloop.c:2365,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2380
      start: 2334
    functionDepth: 0
    functionLinenumber: 2334
    functionLinenumberEnd: 2380
    functionName: test_maincontext_source_finalization_from_dispatch
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_source_ref
    - GPOINTER_TO_INT
    - g_test_summary
    - g_source_new
    - g_main_context_unref
    - g_source_attach
    - g_main_context_iteration
    - g_main_context_new
    - g_source_unref
    - g_source_set_ready_time
    linkageType: ''
    returnType: void
    signature: 'static void test_maincontext_source_finalization_from_dispatch (gconstpointer
      user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_source_get_time
      Src: /src/glib/glib/tests/mainloop.c:449,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - source
    - timeout
    argTypes:
    - GSource*
    - gint*
    constantsTouched: []
    func_position:
      end: 458
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 458
    functionName: counter_source_prepare
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_source_get_time
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean counter_source_prepare (GSource *source, gint *timeout) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_source_remove_child_source
      Src: /src/glib/glib/tests/mainloop.c:666,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/mainloop.c:667,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:673,1
    - Dst: g_timeout_source_new
      Src: /src/glib/glib/tests/mainloop.c:672,1
    - Dst: g_source_add_child_source
      Src: /src/glib/glib/tests/mainloop.c:674,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 678
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 678
    functionName: swap_sources
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - g_source_remove_child_source
    - g_timeout_source_new
    - g_clear_pointer
    - g_source_add_child_source
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean swap_sources (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_new
      Src: /src/glib/glib/tests/mainloop.c:868,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:872,1
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/mainloop.c:869,1
    - Dst: g_timeout_source_new
      Src: /src/glib/glib/tests/mainloop.c:871,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:873,1
    - Dst: g_timeout_source_new
      Src: /src/glib/glib/tests/mainloop.c:875,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:876,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:877,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/mainloop.c:881,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/mainloop.c:883,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/mainloop.c:890,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/tests/mainloop.c:891,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:884,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:887,1
    - Dst: g_source_is_destroyed
      Src: /src/glib/glib/tests/mainloop.c:884,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:888,1
    - Dst: g_source_is_destroyed
      Src: /src/glib/glib/tests/mainloop.c:883,1
    - Dst: g_source_destroy
      Src: /src/glib/glib/tests/mainloop.c:886,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 892
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 892
    functionName: test_source_time
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_main_loop_run
    - g_assert_true
    - g_main_context_unref
    - g_source_set_callback
    - g_timeout_source_new
    - g_source_attach
    - g_source_destroy
    - g_main_context_new
    - g_main_loop_unref
    - g_main_loop_new
    - g_source_unref
    - g_assert_false
    - g_source_is_destroyed
    linkageType: ''
    returnType: void
    signature: 'static void test_source_time (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pipe
      Src: /src/glib/glib/tests/mainloop.c:1545,1
    - Dst: pipe
      Src: /src/glib/glib/tests/mainloop.c:1546,1
    - Dst: g_source_add_unix_fd
      Src: /src/glib/glib/tests/mainloop.c:1553,1
    - Dst: assert_not_flagged
      Src: /src/glib/glib/tests/mainloop.c:1558,1
    - Dst: assert_main_context_state
      Src: /src/glib/glib/tests/mainloop.c:1563,1
    - Dst: assert_flagged
      Src: /src/glib/glib/tests/mainloop.c:1580,1
    - Dst: g_source_modify_unix_fd
      Src: /src/glib/glib/tests/mainloop.c:1585,1
    - Dst: assert_not_flagged
      Src: /src/glib/glib/tests/mainloop.c:1591,1
    - Dst: assert_main_context_state
      Src: /src/glib/glib/tests/mainloop.c:1598,1
    - Dst: assert_main_context_state
      Src: /src/glib/glib/tests/mainloop.c:1610,1
    - Dst: assert_main_context_state
      Src: /src/glib/glib/tests/mainloop.c:1619,1
    - Dst: close
      Src: /src/glib/glib/tests/mainloop.c:1633,1
    - Dst: close
      Src: /src/glib/glib/tests/mainloop.c:1634,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:1631,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1545,1
    - Dst: g_source_add_unix_fd
      Src: /src/glib/glib/tests/mainloop.c:1552,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:1554,1
    - Dst: assert_main_context_state
      Src: /src/glib/glib/tests/mainloop.c:1555,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:1562,1
    - Dst: assert_main_context_state
      Src: /src/glib/glib/tests/mainloop.c:1573,1
    - Dst: g_source_modify_unix_fd
      Src: /src/glib/glib/tests/mainloop.c:1584,1
    - Dst: g_source_modify_unix_fd
      Src: /src/glib/glib/tests/mainloop.c:1596,1
    - Dst: clear_flag
      Src: /src/glib/glib/tests/mainloop.c:1606,1
    - Dst: g_source_remove_unix_fd
      Src: /src/glib/glib/tests/mainloop.c:1609,1
    - Dst: close
      Src: /src/glib/glib/tests/mainloop.c:1632,1
    - Dst: assert_main_context_state
      Src: /src/glib/glib/tests/mainloop.c:1628,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:1630,1
    - Dst: clear_flag
      Src: /src/glib/glib/tests/mainloop.c:1568,1
    - Dst: g_source_set_priority
      Src: /src/glib/glib/tests/mainloop.c:1561,1
    - Dst: assert_not_flagged
      Src: /src/glib/glib/tests/mainloop.c:1567,1
    - Dst: g_source_add_unix_fd
      Src: /src/glib/glib/tests/mainloop.c:1572,1
    - Dst: assert_main_context_state
      Src: /src/glib/glib/tests/mainloop.c:1586,1
    - Dst: clear_flag
      Src: /src/glib/glib/tests/mainloop.c:1593,1
    - Dst: g_source_modify_unix_fd
      Src: /src/glib/glib/tests/mainloop.c:1597,1
    - Dst: assert_flagged
      Src: /src/glib/glib/tests/mainloop.c:1604,1
    - Dst: assert_not_flagged
      Src: /src/glib/glib/tests/mainloop.c:1605,1
    - Dst: assert_not_flagged
      Src: /src/glib/glib/tests/mainloop.c:1614,1
    - Dst: g_source_destroy
      Src: /src/glib/glib/tests/mainloop.c:1627,1
    - Dst: g_source_destroy
      Src: /src/glib/glib/tests/mainloop.c:1626,1
    - Dst: close
      Src: /src/glib/glib/tests/mainloop.c:1635,1
    - Dst: assert_not_flagged
      Src: /src/glib/glib/tests/mainloop.c:1615,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1546,1
    - Dst: g_source_new
      Src: /src/glib/glib/tests/mainloop.c:1548,1
    - Dst: g_source_new
      Src: /src/glib/glib/tests/mainloop.c:1549,1
    - Dst: assert_flagged
      Src: /src/glib/glib/tests/mainloop.c:1566,1
    - Dst: g_source_add_unix_fd
      Src: /src/glib/glib/tests/mainloop.c:1571,1
    - Dst: assert_not_flagged
      Src: /src/glib/glib/tests/mainloop.c:1579,1
    - Dst: clear_flag
      Src: /src/glib/glib/tests/mainloop.c:1581,1
    - Dst: assert_flagged
      Src: /src/glib/glib/tests/mainloop.c:1592,1
    - Dst: g_source_remove_unix_fd
      Src: /src/glib/glib/tests/mainloop.c:1618,1
    - Dst: assert_not_flagged
      Src: /src/glib/glib/tests/mainloop.c:1623,1
    - Dst: assert_not_flagged
      Src: /src/glib/glib/tests/mainloop.c:1622,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 57
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1636
      start: 1533
    functionDepth: 0
    functionLinenumber: 1533
    functionLinenumberEnd: 1636
    functionName: test_source_unix_fd_api
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - assert_flagged
    - g_source_set_priority
    - g_source_new
    - g_source_attach
    - assert_main_context_state
    - g_source_destroy
    - assert_not_flagged
    - g_source_remove_unix_fd
    - pipe
    - close
    - g_source_unref
    - clear_flag
    - g_source_modify_unix_fd
    - g_source_add_unix_fd
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_source_unix_fd_api (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/mainloop.c:1228,1
    - Dst: g_source_new
      Src: /src/glib/glib/tests/mainloop.c:1230,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:1233,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:1236,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/mainloop.c:1235,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/mainloop.c:1238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1239
      start: 1219
    functionDepth: 0
    functionLinenumber: 1219
    functionLinenumberEnd: 1239
    functionName: test_recursive_loop_child_sources
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_main_loop_run
    - g_source_new
    - g_source_attach
    - g_main_loop_unref
    - g_main_loop_new
    - g_source_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_recursive_loop_child_sources (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_quit
      Src: /src/glib/glib/tests/mainloop.c:1645,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - condition
    - user_data
    argTypes:
    - gint
    - GIOCondition
    - gpointer
    constantsTouched: []
    func_position:
      end: 1648
      start: 1638
    functionDepth: 0
    functionLinenumber: 1638
    functionLinenumberEnd: 1648
    functionName: unixfd_quit_loop
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean unixfd_quit_loop (gint fd, GIOCondition condition,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/mainloop.c:1184,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/mainloop.c:1187,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/mainloop.c:1188,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - source
    - time
    argTypes:
    - GSource*
    - gint*
    constantsTouched: []
    func_position:
      end: 1191
      start: 1178
    functionDepth: 0
    functionLinenumber: 1178
    functionLinenumberEnd: 1191
    functionName: prepare_loop_run
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_test_expect_message
    - g_test_assert_expected_messages
    - g_main_loop_run
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean prepare_loop_run (GSource *source, gint *time) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/glib/glib/tests/mainloop.c:1657,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:1663,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1658,1
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/mainloop.c:1660,1
    - Dst: g_unix_fd_source_new
      Src: /src/glib/glib/tests/mainloop.c:1662,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:1664,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/mainloop.c:1667,1
    - Dst: g_source_destroy
      Src: /src/glib/glib/tests/mainloop.c:1669,1
    - Dst: assert_main_context_state
      Src: /src/glib/glib/tests/mainloop.c:1671,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:1673,1
    - Dst: close
      Src: /src/glib/glib/tests/mainloop.c:1677,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/mainloop.c:1675,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1678
      start: 1650
    functionDepth: 0
    functionLinenumber: 1650
    functionLinenumberEnd: 1678
    functionName: test_unix_file_poll
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_main_loop_run
    - g_source_set_callback
    - g_source_attach
    - g_source_destroy
    - assert_main_context_state
    - g_main_loop_unref
    - g_unix_fd_source_new
    - g_main_loop_new
    - close
    - g_source_unref
    - open
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_unix_file_poll (void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:209,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/tests/mainloop.c:211,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/mainloop.c:167,1
    - Dst: g_main_context_push_thread_default
      Src: /src/glib/glib/tests/mainloop.c:178,1
    - Dst: g_main_context_default
      Src: /src/glib/glib/tests/mainloop.c:176,1
    - Dst: g_main_context_query
      Src: /src/glib/glib/tests/mainloop.c:185,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/mainloop.c:185,1
    - Dst: g_poll
      Src: /src/glib/glib/tests/mainloop.c:186,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/mainloop.c:192,1
    - Dst: g_poll
      Src: /src/glib/glib/tests/mainloop.c:209,1
    - Dst: g_main_context_dispatch
      Src: /src/glib/glib/tests/mainloop.c:196,1
    - Dst: g_main_context_new_with_flags
      Src: /src/glib/glib/tests/mainloop.c:168,1
    - Dst: g_main_context_pop_thread_default
      Src: /src/glib/glib/tests/mainloop.c:207,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:203,1
    - Dst: g_idle_source_new
      Src: /src/glib/glib/tests/mainloop.c:202,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:176,1
    - Dst: g_main_context_prepare
      Src: /src/glib/glib/tests/mainloop.c:183,1
    - Dst: g_main_context_check
      Src: /src/glib/glib/tests/mainloop.c:194,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:204,1
    - Dst: g_main_context_pop_thread_default
      Src: /src/glib/glib/tests/mainloop.c:200,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 212
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 212
    functionName: test_ownerless_polling
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_assert_true
    - g_main_context_check
    - g_main_context_push_thread_default
    - g_main_context_new_with_flags
    - g_main_context_pop_thread_default
    - G_N_ELEMENTS
    - g_main_context_query
    - g_main_context_default
    - g_main_context_prepare
    - g_idle_source_new
    - g_source_attach
    - g_main_context_unref
    - g_usleep
    - g_main_context_dispatch
    - g_poll
    - g_source_unref
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_ownerless_polling (gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 1144
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1144
    functionName: trivial_finalize
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void trivial_finalize (GSource *source) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_new
      Src: /src/glib/glib/tests/mainloop.c:1155,1
    - Dst: g_main_context_prepare
      Src: /src/glib/glib/tests/mainloop.c:1162,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:1159,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:1158,1
    - Dst: g_source_new
      Src: /src/glib/glib/tests/mainloop.c:1157,1
    - Dst: g_main_context_query
      Src: /src/glib/glib/tests/mainloop.c:1163,1
    - Dst: g_main_context_check
      Src: /src/glib/glib/tests/mainloop.c:1164,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/tests/mainloop.c:1167,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1171
      start: 1146
    functionDepth: 0
    functionLinenumber: 1146
    functionLinenumberEnd: 1171
    functionName: test_unref_while_pending
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_main_context_check
    - g_main_context_unref
    - g_source_new
    - g_source_attach
    - g_main_context_query
    - g_main_context_prepare
    - g_main_context_new
    - g_source_unref
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_unref_while_pending (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1801,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - io
    - condition
    - user_data
    argTypes:
    - GIOChannel*
    - GIOCondition
    - gpointer
    constantsTouched: []
    func_position:
      end: 1803
      start: 1793
    functionDepth: 0
    functionLinenumber: 1793
    functionLinenumberEnd: 1803
    functionName: nfds_in_cb
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean nfds_in_cb (GIOChannel *io, GIOCondition condition,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_set
      Src: /src/glib/glib/tests/mainloop.c:985,1
    - Dst: g_source_set_ready_time
      Src: /src/glib/glib/tests/mainloop.c:987,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - source
    - callback
    - user_data
    argTypes:
    - GSource*
    - GSourceFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 990
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 990
    functionName: ready_time_dispatch
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_atomic_int_set
    - g_source_set_ready_time
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean ready_time_dispatch (GSource *source, GSourceFunc
      callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 226
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 226
    functionName: count_calls
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean count_calls (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_push_thread_default
      Src: /src/glib/glib/tests/mainloop.c:370,1
    - Dst: g_cond_signal
      Src: /src/glib/glib/tests/mainloop.c:375,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/mainloop.c:376,1
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/mainloop.c:371,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/tests/mainloop.c:373,1
    - Dst: g_timeout_source_new
      Src: /src/glib/glib/tests/mainloop.c:378,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:379,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:380,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:381,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/mainloop.c:383,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/mainloop.c:386,1
    - Dst: g_main_context_pop_thread_default
      Src: /src/glib/glib/tests/mainloop.c:385,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 389
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 389
    functionName: thread_func
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_main_loop_run
    - g_main_context_pop_thread_default
    - g_main_context_push_thread_default
    - g_mutex_unlock
    - g_mutex_lock
    - g_source_set_callback
    - g_timeout_source_new
    - g_source_attach
    - g_main_loop_unref
    - g_cond_signal
    - g_main_loop_new
    - g_source_unref
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer thread_func (gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/mainloop.c:2155,1
    - Dst: g_source_ref
      Src: /src/glib/glib/tests/mainloop.c:2158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 2160
      start: 2151
    functionDepth: 0
    functionLinenumber: 2151
    functionLinenumberEnd: 2160
    functionName: dispose
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_source_ref
    linkageType: ''
    returnType: void
    signature: 'static void dispose (GSource *source) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_timeout_source_new
      Src: /src/glib/glib/tests/mainloop.c:251,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:263,1
    - Dst: g_timeout_source_new
      Src: /src/glib/glib/tests/mainloop.c:256,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:253,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/mainloop.c:266,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:271,1
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/mainloop.c:244,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/mainloop.c:237,1
    - Dst: g_timeout_source_new
      Src: /src/glib/glib/tests/mainloop.c:246,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:249,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:252,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:254,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:262,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:257,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:264,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:275,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:276,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:248,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:258,1
    - Dst: g_timeout_source_new
      Src: /src/glib/glib/tests/mainloop.c:261,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/mainloop.c:279,1
    - Dst: g_test_thorough
      Src: /src/glib/glib/tests/mainloop.c:235,1
    - Dst: g_main_context_new
      Src: /src/glib/glib/tests/mainloop.c:243,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:247,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:259,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:272,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:273,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:277,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/tests/mainloop.c:280,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 41
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 281
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 281
    functionName: test_timeouts
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_main_loop_run
    - g_main_context_unref
    - g_source_set_callback
    - g_test_thorough
    - g_timeout_source_new
    - g_source_attach
    - g_main_context_new
    - g_main_loop_unref
    - g_main_loop_new
    - g_source_unref
    - g_test_skip
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_timeouts (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_invoke
      Src: /src/glib/glib/tests/mainloop.c:400,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:401,1
    - Dst: g_idle_add
      Src: /src/glib/glib/tests/mainloop.c:404,1
    - Dst: g_main_context_iteration
      Src: /src/glib/glib/tests/mainloop.c:405,1
    - Dst: g_thread_self
      Src: /src/glib/glib/tests/mainloop.c:400,1
    - Dst: g_main_context_default
      Src: /src/glib/glib/tests/mainloop.c:405,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:406,1
    - Dst: g_main_context_new
      Src: /src/glib/glib/tests/mainloop.c:411,1
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/mainloop.c:412,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/tests/mainloop.c:414,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/mainloop.c:421,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/mainloop.c:417,1
    - Dst: g_main_context_invoke
      Src: /src/glib/glib/tests/mainloop.c:419,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:422,1
    - Dst: g_cond_wait
      Src: /src/glib/glib/tests/mainloop.c:416,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/tests/mainloop.c:424,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 425
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 425
    functionName: test_invoke
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_main_context_unref
    - g_mutex_unlock
    - g_mutex_lock
    - g_main_context_invoke
    - g_main_context_default
    - g_main_context_new
    - g_thread_new
    - g_thread_self
    - g_thread_join
    - g_main_context_iteration
    - g_idle_add
    - g_cond_wait
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_invoke (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_current_source
      Src: /src/glib/glib/tests/mainloop.c:722,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:732,1
    - Dst: g_io_create_watch
      Src: /src/glib/glib/tests/mainloop.c:730,1
    - Dst: g_io_channel_unix_new
      Src: /src/glib/glib/tests/mainloop.c:729,1
    - Dst: g_source_add_child_source
      Src: /src/glib/glib/tests/mainloop.c:731,1
    - Dst: g_io_channel_unref
      Src: /src/glib/glib/tests/mainloop.c:733,1
    - Dst: g_main_loop_quit
      Src: /src/glib/glib/tests/mainloop.c:735,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 737
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 737
    functionName: add_source_callback
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_io_channel_unix_new
    - g_main_current_source
    - g_io_create_watch
    - g_main_loop_quit
    - g_source_unref
    - g_source_add_child_source
    - g_io_channel_unref
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean add_source_callback (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/mainloop.c:2425,1
    - Dst: g_source_ref
      Src: /src/glib/glib/tests/mainloop.c:2430,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/mainloop.c:2433,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/mainloop.c:2435,1
    - Dst: g_timeout_add_once
      Src: /src/glib/glib/tests/mainloop.c:2442,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/mainloop.c:2444,1
    - Dst: g_main_context_iteration
      Src: /src/glib/glib/tests/mainloop.c:2445,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/mainloop.c:2429,1
    - Dst: g_timeout_add_once
      Src: /src/glib/glib/tests/mainloop.c:2427,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/mainloop.c:2437,1
    - Dst: g_source_is_destroyed
      Src: /src/glib/glib/tests/mainloop.c:2448,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/mainloop.c:2443,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:2448,1
    - Dst: g_main_context_find_source_by_id
      Src: /src/glib/glib/tests/mainloop.c:2428,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/mainloop.c:2434,1
    - Dst: g_main_context_iteration
      Src: /src/glib/glib/tests/mainloop.c:2436,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/mainloop.c:2450,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/mainloop.c:2446,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/mainloop.c:2447,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2451
      start: 2417
    functionDepth: 0
    functionLinenumber: 2417
    functionLinenumberEnd: 2451
    functionName: test_maincontext_timeout_once
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_source_ref
    - g_assert_true
    - g_test_summary
    - g_main_context_find_source_by_id
    - g_timeout_add_once
    - g_assert_nonnull
    - g_assert_cmpuint
    - g_clear_pointer
    - g_get_monotonic_time
    - g_main_context_iteration
    - g_source_is_destroyed
    linkageType: ''
    returnType: void
    signature: 'static void test_maincontext_timeout_once (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/mainloop.c:746,1
    - Dst: g_main_context_new
      Src: /src/glib/glib/tests/mainloop.c:748,1
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/mainloop.c:749,1
    - Dst: g_idle_source_new
      Src: /src/glib/glib/tests/mainloop.c:751,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:752,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:753,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/mainloop.c:755,1
    - Dst: g_source_destroy
      Src: /src/glib/glib/tests/mainloop.c:757,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:758,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/mainloop.c:760,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/tests/mainloop.c:761,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 762
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 762
    functionName: test_blocked_child_sources
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_main_loop_run
    - g_main_context_unref
    - g_source_set_callback
    - g_idle_source_new
    - g_source_attach
    - g_source_destroy
    - g_test_bug
    - g_main_context_new
    - g_main_loop_unref
    - g_main_loop_new
    - g_source_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_blocked_child_sources (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_new
      Src: /src/glib/glib/tests/mainloop.c:1781,1
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/mainloop.c:1783,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/mainloop.c:1787,1
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/mainloop.c:1784,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/mainloop.c:1786,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/tests/mainloop.c:1789,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1790
      start: 1775
    functionDepth: 0
    functionLinenumber: 1775
    functionLinenumberEnd: 1790
    functionName: test_mainloop_wait
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_main_context_unref
    - g_main_context_new
    - g_thread_new
    - g_thread_join
    linkageType: ''
    returnType: void
    signature: 'static void test_mainloop_wait (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_steal_fd
      Src: /src/glib/glib/tests/mainloop.c:2462,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/mainloop.c:2469,1
    - Dst: g_steal_fd
      Src: /src/glib/glib/tests/mainloop.c:2475,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:2465,1
    - Dst: g_steal_fd
      Src: /src/glib/glib/tests/mainloop.c:2471,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:2472,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/mainloop.c:2479,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:2462,1
    - Dst: g_steal_fd
      Src: /src/glib/glib/tests/mainloop.c:2464,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:2477,1
    - Dst: remove
      Src: /src/glib/glib/tests/mainloop.c:2479,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:2473,1
    - Dst: g_free
      Src: /src/glib/glib/tests/mainloop.c:2480,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/mainloop.c:2476,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:2464,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:2463,1
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/mainloop.c:2467,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:2468,1
    - Dst: g_close
      Src: /src/glib/glib/tests/mainloop.c:2475,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2481
      start: 2453
    functionDepth: 0
    functionLinenumber: 2453
    functionLinenumberEnd: 2481
    functionName: test_steal_fd
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_steal_fd
    - remove
    - g_close
    - g_assert_no_error
    - g_file_open_tmp
    - g_assert_no_errno
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_steal_fd (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:344,1
    - Dst: g_thread_self
      Src: /src/glib/glib/tests/mainloop.c:344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 349
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 349
    functionName: func
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_thread_self
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean func (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_idle_source_new
      Src: /src/glib/glib/tests/mainloop.c:300,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:301,1
    - Dst: g_main_context_iteration
      Src: /src/glib/glib/tests/mainloop.c:307,1
    - Dst: g_main_context_iteration
      Src: /src/glib/glib/tests/mainloop.c:311,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:304,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:312,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:319,1
    - Dst: g_source_set_priority
      Src: /src/glib/glib/tests/mainloop.c:296,1
    - Dst: g_main_context_pending
      Src: /src/glib/glib/tests/mainloop.c:306,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:309,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:313,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:317,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:318,1
    - Dst: g_main_context_pending
      Src: /src/glib/glib/tests/mainloop.c:321,1
    - Dst: g_main_context_pending
      Src: /src/glib/glib/tests/mainloop.c:323,1
    - Dst: g_main_context_new
      Src: /src/glib/glib/tests/mainloop.c:292,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:295,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:306,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:308,1
    - Dst: g_source_destroy
      Src: /src/glib/glib/tests/mainloop.c:315,1
    - Dst: g_source_destroy
      Src: /src/glib/glib/tests/mainloop.c:322,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/mainloop.c:323,1
    - Dst: g_idle_source_new
      Src: /src/glib/glib/tests/mainloop.c:294,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:297,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:298,1
    - Dst: g_source_set_priority
      Src: /src/glib/glib/tests/mainloop.c:302,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:303,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:311,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:307,1
    - Dst: g_main_context_iteration
      Src: /src/glib/glib/tests/mainloop.c:317,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:321,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/tests/mainloop.c:325,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 326
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 326
    functionName: test_priorities
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_source_set_priority
    - g_source_set_callback
    - g_main_context_unref
    - g_idle_source_new
    - g_source_attach
    - g_source_destroy
    - g_main_context_new
    - g_source_unref
    - g_main_context_pending
    - g_assert_false
    - g_main_context_iteration
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_priorities (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: cb
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean cb (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_quit
      Src: /src/glib/glib/tests/mainloop.c:333,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 336
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 336
    functionName: quit_loop
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean quit_loop (gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_main_current_source
      Src: /src/glib/glib/tests/mainloop.c:909,1
    - Dst: g_main_context_find_source_by_id
      Src: /src/glib/glib/tests/mainloop.c:912,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/mainloop.c:912,1
    - Dst: g_source_get_context
      Src: /src/glib/glib/tests/mainloop.c:910,1
    - Dst: g_source_get_id
      Src: /src/glib/glib/tests/mainloop.c:911,1
    - Dst: g_source_destroy
      Src: /src/glib/glib/tests/mainloop.c:913,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/mainloop.c:914,1
    - Dst: g_main_context_find_source_by_id
      Src: /src/glib/glib/tests/mainloop.c:914,1
    - Dst: g_main_loop_quit
      Src: /src/glib/glib/tests/mainloop.c:917,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 919
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 919
    functionName: on_source_fired_cb
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_main_context_find_source_by_id
    - g_main_current_source
    - g_assert_null
    - g_source_destroy
    - g_source_get_id
    - g_assert_nonnull
    - g_main_loop_quit
    - g_source_get_context
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean on_source_fired_cb (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - source
    - callback
    - user_data
    argTypes:
    - GSource*
    - GSourceFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 1527
      start: 1519
    functionDepth: 0
    functionLinenumber: 1519
    functionLinenumberEnd: 1527
    functionName: return_true
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean return_true (GSource *source, GSourceFunc callback,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_idle_source_new
      Src: /src/glib/glib/tests/mainloop.c:927,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/mainloop.c:928,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/mainloop.c:929,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:930,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 934
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 934
    functionName: add_idle_source
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_source_attach
    - g_source_unref
    - g_source_set_callback
    - g_idle_source_new
    linkageType: ''
    returnType: GSource*
    signature: 'static GSource *add_idle_source (GMainContext *ctx, TestOverflowData
      *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:1813,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - io
    - condition
    - user_data
    argTypes:
    - GIOChannel*
    - GIOCondition
    - gpointer
    constantsTouched: []
    func_position:
      end: 1815
      start: 1805
    functionDepth: 0
    functionLinenumber: 1805
    functionLinenumberEnd: 1815
    functionName: nfds_out_cb
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean nfds_out_cb (GIOChannel *io, GIOCondition condition,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/mainloop.c:945,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/glib/tests/mainloop.c:949,1
    - Dst: memset
      Src: /src/glib/glib/tests/mainloop.c:947,1
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/mainloop.c:951,1
    - Dst: add_idle_source
      Src: /src/glib/glib/tests/mainloop.c:955,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:956,1
    - Dst: add_idle_source
      Src: /src/glib/glib/tests/mainloop.c:958,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:959,1
    - Dst: add_idle_source
      Src: /src/glib/glib/tests/mainloop.c:961,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:972,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/mainloop.c:974,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/tests/mainloop.c:975,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:962,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/mainloop.c:971,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:968,1
    - Dst: add_idle_source
      Src: /src/glib/glib/tests/mainloop.c:967,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 976
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 976
    functionName: test_mainloop_overflow
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_main_loop_run
    - g_main_context_unref
    - g_test_bug
    - g_main_loop_unref
    - GLIB_PRIVATE_CALL
    - g_main_loop_new
    - memset
    - add_idle_source
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_mainloop_overflow (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/mainloop.c:1822,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - io
    - condition
    - user_data
    argTypes:
    - GIOChannel*
    - GIOCondition
    - gpointer
    constantsTouched: []
    func_position:
      end: 1824
      start: 1817
    functionDepth: 0
    functionLinenumber: 1817
    functionLinenumberEnd: 1824
    functionName: nfds_out_low_cb
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean nfds_out_low_cb (GIOChannel *io, GIOCondition condition,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_source_new
      Src: /src/glib/glib/tests/mainloop.c:2181,1
    - Dst: g_source_new
      Src: /src/glib/glib/tests/mainloop.c:2191,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:2184,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:2183,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:2182,1
    - Dst: g_source_set_dispose_function
      Src: /src/glib/glib/tests/mainloop.c:2192,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:2193,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:2194,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:2195,1
    - Dst: g_source_new
      Src: /src/glib/glib/tests/mainloop.c:2202,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:2209,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:2205,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:2213,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mainloop.c:2214,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mainloop.c:2215,1
    - Dst: g_source_set_dispose_function
      Src: /src/glib/glib/tests/mainloop.c:2203,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/mainloop.c:2206,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/mainloop.c:2204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2216
      start: 2171
    functionDepth: 0
    functionLinenumber: 2171
    functionLinenumberEnd: 2216
    functionName: test_maincontext_source_finalization
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_source_new
    - g_source_unref
    - g_source_set_dispose_function
    - g_assert_false
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_maincontext_source_finalization (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mainloop.c:2492,1
    - Dst: g_free
      Src: /src/glib/glib/tests/mainloop.c:2499,1
    - Dst: g_free
      Src: /src/glib/glib/tests/mainloop.c:2505,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mainloop.c:2515,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mainloop.c:2516,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mainloop.c:2517,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mainloop.c:2518,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mainloop.c:2519,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mainloop.c:2520,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mainloop.c:2521,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mainloop.c:2522,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mainloop.c:2526,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mainloop.c:2529,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mainloop.c:2527,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mainloop.c:2493,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mainloop.c:2494,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/mainloop.c:2497,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/mainloop.c:2535,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mainloop.c:2530,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/mainloop.c:2536,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mainloop.c:2491,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/mainloop.c:2498,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mainloop.c:2508,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mainloop.c:2510,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mainloop.c:2512,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/mainloop.c:2504,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mainloop.c:2511,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mainloop.c:2513,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mainloop.c:2514,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mainloop.c:2523,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/mainloop.c:2535,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mainloop.c:2524,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mainloop.c:2528,1
    - Dst: g_test_init
      Src: /src/glib/glib/tests/mainloop.c:2488,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mainloop.c:2490,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/mainloop.c:2498,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mainloop.c:2507,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/mainloop.c:2503,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/mainloop.c:2504,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/mainloop.c:2538,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mainloop.c:2533,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mainloop.c:2531,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mainloop.c:2534,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/mainloop.c:2536,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 51
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 2539
      start: 2483
    functionDepth: 0
    functionLinenumber: 2483
    functionLinenumberEnd: 2539
    functionName: main
    functionSourceFile: /src/glib/glib/tests/mainloop.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_strdup_printf
    - g_test_add_data_func
    - g_free
    - g_test_run
    - GINT_TO_POINTER
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/timeout.c:47,1
    - Dst: g_timeout_add_seconds
      Src: /src/glib/glib/tests/timeout.c:51,1
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/timeout.c:48,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/timeout.c:53,1
    - Dst: g_timeout_add_once
      Src: /src/glib/glib/tests/timeout.c:50,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/timeout.c:54,1
    - Dst: g_source_remove
      Src: /src/glib/glib/tests/timeout.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 57
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 57
    functionName: test_seconds
    functionSourceFile: /src/glib/glib/tests/timeout.c
    functionUses: []
    functionsReached:
    - g_main_loop_run
    - g_timeout_add_seconds
    - g_timeout_add_once
    - g_test_bug
    - g_main_loop_unref
    - g_main_loop_new
    - g_source_remove
    linkageType: ''
    returnType: void
    signature: 'static void test_seconds (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/timeout.c:16,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 19
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 19
    functionName: unreachable_callback
    functionSourceFile: /src/glib/glib/tests/timeout.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean unreachable_callback (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_new
      Src: /src/glib/glib/tests/timeout.c:128,1
    - Dst: g_main_context_acquire
      Src: /src/glib/glib/tests/timeout.c:136,1
    - Dst: g_source_set_ready_time
      Src: /src/glib/glib/tests/timeout.c:133,1
    - Dst: g_source_new
      Src: /src/glib/glib/tests/timeout.c:129,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/timeout.c:134,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/timeout.c:137,1
    - Dst: g_main_context_prepare
      Src: /src/glib/glib/tests/timeout.c:139,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/timeout.c:140,1
    - Dst: g_main_context_query
      Src: /src/glib/glib/tests/timeout.c:143,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/timeout.c:145,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/timeout.c:150,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/tests/timeout.c:155,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/timeout.c:152,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/timeout.c:156,1
    - Dst: g_main_context_release
      Src: /src/glib/glib/tests/timeout.c:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 157
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 157
    functionName: test_far_future_ready_time
    functionSourceFile: /src/glib/glib/tests/timeout.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_main_context_unref
    - g_source_new
    - g_assert_cmpint
    - g_source_attach
    - g_main_context_query
    - g_main_context_prepare
    - g_main_context_release
    - g_main_context_new
    - g_source_unref
    - g_assert_false
    - g_source_set_ready_time
    - g_main_context_acquire
    linkageType: ''
    returnType: void
    signature: 'static void test_far_future_ready_time (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/timeout.c:167,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/timeout.c:185,1
    - Dst: g_main_loop_quit
      Src: /src/glib/glib/tests/timeout.c:190,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/timeout.c:175,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/timeout.c:177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 193
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 193
    functionName: test_func
    functionSourceFile: /src/glib/glib/tests/timeout.c
    functionUses: []
    functionsReached:
    - g_get_monotonic_time
    - g_main_loop_quit
    - g_usleep
    - g_assert_cmpint
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean test_func (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_quit
      Src: /src/glib/glib/tests/timeout.c:10,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 11
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 11
    functionName: stop_waiting
    functionSourceFile: /src/glib/glib/tests/timeout.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    linkageType: ''
    returnType: void
    signature: 'static void stop_waiting (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/timeout.c:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 25
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 25
    functionName: unreachable_void_callback
    functionSourceFile: /src/glib/glib/tests/timeout.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    linkageType: ''
    returnType: void
    signature: 'static void unreachable_void_callback (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/timeout.c:63,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/timeout.c:69,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/timeout.c:68,1
    - Dst: g_timeout_add_once
      Src: /src/glib/glib/tests/timeout.c:65,1
    - Dst: g_timeout_add_seconds_once
      Src: /src/glib/glib/tests/timeout.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: test_seconds_once
    functionSourceFile: /src/glib/glib/tests/timeout.c
    functionUses: []
    functionsReached:
    - g_main_loop_run
    - g_timeout_add_seconds_once
    - g_timeout_add_once
    - g_main_loop_unref
    - g_main_loop_new
    linkageType: ''
    returnType: void
    signature: 'static void test_seconds_once (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/timeout.c:198,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/timeout.c:203,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/timeout.c:200,1
    - Dst: g_timeout_add_seconds
      Src: /src/glib/glib/tests/timeout.c:201,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/timeout.c:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 205
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 205
    functionName: test_rounding
    functionSourceFile: /src/glib/glib/tests/timeout.c
    functionUses: []
    functionsReached:
    - g_main_loop_run
    - g_timeout_add_seconds
    - g_main_loop_unref
    - g_main_loop_new
    - g_get_monotonic_time
    linkageType: ''
    returnType: void
    signature: 'static void test_rounding (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/timeout.c:210,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/timeout.c:214,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/timeout.c:212,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/timeout.c:215,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/timeout.c:213,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/timeout.c:216,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/timeout.c:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 219
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 219
    functionName: main
    functionSourceFile: /src/glib/glib/tests/timeout.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/timeout.c:97,1
    - Dst: g_timeout_add_once
      Src: /src/glib/glib/tests/timeout.c:100,1
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/timeout.c:98,1
    - Dst: g_timeout_add_seconds
      Src: /src/glib/glib/tests/timeout.c:102,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/timeout.c:104,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/timeout.c:105,1
    - Dst: g_source_remove
      Src: /src/glib/glib/tests/timeout.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 108
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 108
    functionName: test_weeks_overflow
    functionSourceFile: /src/glib/glib/tests/timeout.c
    functionUses: []
    functionsReached:
    - g_main_loop_run
    - g_timeout_add_seconds
    - g_timeout_add_once
    - g_test_bug
    - g_main_loop_unref
    - g_main_loop_new
    - g_source_remove
    linkageType: ''
    returnType: void
    signature: 'static void test_weeks_overflow (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unichar_isspace
      Src: /src/glib/glib/tests/unicode.c:767,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:778,1
    - Dst: g_unichar_isspace
      Src: /src/glib/glib/tests/unicode.c:778,1
    - Dst: g_unichar_isspace
      Src: /src/glib/glib/tests/unicode.c:784,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:785,1
    - Dst: g_unichar_isspace
      Src: /src/glib/glib/tests/unicode.c:786,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:768,1
    - Dst: g_unichar_isspace
      Src: /src/glib/glib/tests/unicode.c:768,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:770,1
    - Dst: g_unichar_isspace
      Src: /src/glib/glib/tests/unicode.c:770,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:771,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:773,1
    - Dst: g_unichar_isspace
      Src: /src/glib/glib/tests/unicode.c:771,1
    - Dst: g_unichar_isspace
      Src: /src/glib/glib/tests/unicode.c:773,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:780,1
    - Dst: g_unichar_isspace
      Src: /src/glib/glib/tests/unicode.c:780,1
    - Dst: g_unichar_isspace
      Src: /src/glib/glib/tests/unicode.c:785,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:766,1
    - Dst: g_unichar_isspace
      Src: /src/glib/glib/tests/unicode.c:766,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:774,1
    - Dst: g_unichar_isspace
      Src: /src/glib/glib/tests/unicode.c:774,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:782,1
    - Dst: g_unichar_isspace
      Src: /src/glib/glib/tests/unicode.c:782,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:783,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:786,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:767,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:769,1
    - Dst: g_unichar_isspace
      Src: /src/glib/glib/tests/unicode.c:769,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:775,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:772,1
    - Dst: g_unichar_isspace
      Src: /src/glib/glib/tests/unicode.c:772,1
    - Dst: g_unichar_isspace
      Src: /src/glib/glib/tests/unicode.c:775,1
    - Dst: g_unichar_isspace
      Src: /src/glib/glib/tests/unicode.c:783,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:784,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 787
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 787
    functionName: test_space
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_assert_true
    - g_unichar_isspace
    linkageType: ''
    returnType: void
    signature: 'static void test_space (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1199,1
    - Dst: g_unichar_islower
      Src: /src/glib/glib/tests/unicode.c:1199,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1201,1
    - Dst: g_unichar_islower
      Src: /src/glib/glib/tests/unicode.c:1201,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1203,1
    - Dst: g_unichar_islower
      Src: /src/glib/glib/tests/unicode.c:1203,1
    - Dst: g_unichar_islower
      Src: /src/glib/glib/tests/unicode.c:1211,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1212,1
    - Dst: g_unichar_islower
      Src: /src/glib/glib/tests/unicode.c:1198,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1206,1
    - Dst: g_unichar_islower
      Src: /src/glib/glib/tests/unicode.c:1206,1
    - Dst: g_unichar_islower
      Src: /src/glib/glib/tests/unicode.c:1212,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1213,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1200,1
    - Dst: g_unichar_islower
      Src: /src/glib/glib/tests/unicode.c:1200,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1202,1
    - Dst: g_unichar_islower
      Src: /src/glib/glib/tests/unicode.c:1202,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1208,1
    - Dst: g_unichar_islower
      Src: /src/glib/glib/tests/unicode.c:1208,1
    - Dst: g_unichar_islower
      Src: /src/glib/glib/tests/unicode.c:1213,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1214,1
    - Dst: g_unichar_islower
      Src: /src/glib/glib/tests/unicode.c:1214,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1198,1
    - Dst: g_unichar_islower
      Src: /src/glib/glib/tests/unicode.c:1210,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1211,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1215
      start: 1195
    functionDepth: 0
    functionLinenumber: 1195
    functionLinenumberEnd: 1215
    functionName: test_lower
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_assert_true
    - g_unichar_islower
    linkageType: ''
    returnType: void
    signature: 'static void test_lower (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:443,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:447,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:448,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:449,1
    - Dst: g_unichar_get_mirror_char
      Src: /src/glib/glib/tests/unicode.c:443,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:446,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:450,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:454,1
    - Dst: g_unichar_get_mirror_char
      Src: /src/glib/glib/tests/unicode.c:449,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:452,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:444,1
    - Dst: g_unichar_get_mirror_char
      Src: /src/glib/glib/tests/unicode.c:447,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:451,1
    - Dst: g_unichar_get_mirror_char
      Src: /src/glib/glib/tests/unicode.c:451,1
    - Dst: g_unichar_get_mirror_char
      Src: /src/glib/glib/tests/unicode.c:453,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:445,1
    - Dst: g_unichar_get_mirror_char
      Src: /src/glib/glib/tests/unicode.c:445,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:455,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:453,1
    - Dst: g_unichar_get_mirror_char
      Src: /src/glib/glib/tests/unicode.c:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 456
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 456
    functionName: test_mirror
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_assert_true
    - g_unichar_get_mirror_char
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_mirror (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:940,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:940,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:944,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:944,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:951,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:953,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:953,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:958,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:959,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:959,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:937,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:927,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:932,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:930,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:932,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:934,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:930,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:934,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:936,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:936,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:938,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:943,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:945,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:956,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:958,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:945,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:933,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:957,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:948,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:925,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:927,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:937,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:942,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:939,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:942,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:946,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:946,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:935,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:948,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:955,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:957,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:941,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:939,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:943,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:941,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:956,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:925,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:926,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:926,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:928,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:928,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:929,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:929,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:933,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:931,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:931,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:947,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:938,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:951,1
    - Dst: g_unichar_isxdigit
      Src: /src/glib/glib/tests/unicode.c:947,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:935,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:955,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 65
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 960
      start: 922
    functionDepth: 0
    functionLinenumber: 922
    functionLinenumberEnd: 960
    functionName: test_xdigit
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_unichar_isxdigit
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_xdigit (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1176,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1177,1
    - Dst: g_unichar_isupper
      Src: /src/glib/glib/tests/unicode.c:1177,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1179,1
    - Dst: g_unichar_isupper
      Src: /src/glib/glib/tests/unicode.c:1179,1
    - Dst: g_unichar_isupper
      Src: /src/glib/glib/tests/unicode.c:1187,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1188,1
    - Dst: g_unichar_isupper
      Src: /src/glib/glib/tests/unicode.c:1174,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1175,1
    - Dst: g_unichar_isupper
      Src: /src/glib/glib/tests/unicode.c:1175,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1182,1
    - Dst: g_unichar_isupper
      Src: /src/glib/glib/tests/unicode.c:1182,1
    - Dst: g_unichar_isupper
      Src: /src/glib/glib/tests/unicode.c:1188,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1189,1
    - Dst: g_unichar_isupper
      Src: /src/glib/glib/tests/unicode.c:1176,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1178,1
    - Dst: g_unichar_isupper
      Src: /src/glib/glib/tests/unicode.c:1178,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1184,1
    - Dst: g_unichar_isupper
      Src: /src/glib/glib/tests/unicode.c:1184,1
    - Dst: g_unichar_isupper
      Src: /src/glib/glib/tests/unicode.c:1189,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1190,1
    - Dst: g_unichar_isupper
      Src: /src/glib/glib/tests/unicode.c:1190,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1174,1
    - Dst: g_unichar_isupper
      Src: /src/glib/glib/tests/unicode.c:1186,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1187,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1191
      start: 1171
    functionDepth: 0
    functionLinenumber: 1171
    functionLinenumberEnd: 1191
    functionName: test_upper
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_unichar_isupper
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_upper (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/unicode.c:1418,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:1420,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:1422,1
    - Dst: g_unichar_iswide_cjk
      Src: /src/glib/glib/tests/unicode.c:1422,1
    - Dst: g_unichar_iswide
      Src: /src/glib/glib/tests/unicode.c:1420,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1425
      start: 1341
    functionDepth: 0
    functionLinenumber: 1341
    functionLinenumberEnd: 1425
    functionName: test_wide
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - g_unichar_iswide
    - g_unichar_iswide_cjk
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_wide (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/unicode.c:2072,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:2079,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:2080,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:2081,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:2082,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:2085,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:2086,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:2083,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:2084,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:2096,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:2103,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:2104,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:2106,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:2108,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:2093,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:2110,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/unicode.c:2114,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:2094,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:2111,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:2097,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:2099,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:2101,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:2076,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:2075,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:2077,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:2074,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:2078,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:2087,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:2088,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:2089,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:2090,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:2091,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:2102,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:2105,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:2107,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:2092,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:2109,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:2095,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:2112,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:2098,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode.c:2100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 42
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 2115
      start: 2068
    functionDepth: 0
    functionLinenumber: 2068
    functionLinenumberEnd: 2115
    functionName: main
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/unicode.c:430,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:432,1
    - Dst: g_unichar_combining_class
      Src: /src/glib/glib/tests/unicode.c:432,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 434
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 434
    functionName: test_combining_class
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - g_unichar_combining_class
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_combining_class (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/unicode.c:498,1
    - Dst: g_utf8_strdown
      Src: /src/glib/glib/tests/unicode.c:506,1
    - Dst: g_utf8_strdown
      Src: /src/glib/glib/tests/unicode.c:502,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/unicode.c:503,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/unicode.c:500,1
    - Dst: strlen
      Src: /src/glib/glib/tests/unicode.c:506,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/unicode.c:508,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode.c:509,1
    - Dst: g_utf8_strdown
      Src: /src/glib/glib/tests/unicode.c:511,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/unicode.c:512,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode.c:513,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 514
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 514
    functionName: test_strdown
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_utf8_strdown
    - strlen
    - g_test_undefined
    - g_assert_cmpstr
    - g_test_expect_message
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_strdown (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/unicode.c:595,1
    - Dst: g_utf8_casefold
      Src: /src/glib/glib/tests/unicode.c:603,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/unicode.c:597,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/unicode.c:600,1
    - Dst: g_utf8_casefold
      Src: /src/glib/glib/tests/unicode.c:599,1
    - Dst: strlen
      Src: /src/glib/glib/tests/unicode.c:603,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/unicode.c:605,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode.c:606,1
    - Dst: g_utf8_casefold
      Src: /src/glib/glib/tests/unicode.c:608,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/unicode.c:609,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode.c:610,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 611
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 611
    functionName: test_casefold
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - strlen
    - g_utf8_casefold
    - g_test_undefined
    - g_assert_cmpstr
    - g_test_expect_message
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_casefold (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:894,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:895,1
    - Dst: g_unichar_digit_value
      Src: /src/glib/glib/tests/unicode.c:897,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:898,1
    - Dst: g_unichar_digit_value
      Src: /src/glib/glib/tests/unicode.c:901,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:903,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:902,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:904,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:905,1
    - Dst: g_unichar_digit_value
      Src: /src/glib/glib/tests/unicode.c:911,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:913,1
    - Dst: g_unichar_digit_value
      Src: /src/glib/glib/tests/unicode.c:913,1
    - Dst: g_unichar_digit_value
      Src: /src/glib/glib/tests/unicode.c:895,1
    - Dst: g_unichar_digit_value
      Src: /src/glib/glib/tests/unicode.c:898,1
    - Dst: g_unichar_digit_value
      Src: /src/glib/glib/tests/unicode.c:902,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:899,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:915,1
    - Dst: g_unichar_digit_value
      Src: /src/glib/glib/tests/unicode.c:917,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:916,1
    - Dst: g_unichar_digit_value
      Src: /src/glib/glib/tests/unicode.c:916,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:896,1
    - Dst: g_unichar_digit_value
      Src: /src/glib/glib/tests/unicode.c:896,1
    - Dst: g_unichar_digit_value
      Src: /src/glib/glib/tests/unicode.c:899,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:900,1
    - Dst: g_unichar_digit_value
      Src: /src/glib/glib/tests/unicode.c:903,1
    - Dst: g_unichar_digit_value
      Src: /src/glib/glib/tests/unicode.c:904,1
    - Dst: g_unichar_digit_value
      Src: /src/glib/glib/tests/unicode.c:905,1
    - Dst: g_unichar_digit_value
      Src: /src/glib/glib/tests/unicode.c:906,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:909,1
    - Dst: g_unichar_digit_value
      Src: /src/glib/glib/tests/unicode.c:909,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:914,1
    - Dst: g_unichar_digit_value
      Src: /src/glib/glib/tests/unicode.c:894,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:897,1
    - Dst: g_unichar_digit_value
      Src: /src/glib/glib/tests/unicode.c:900,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:901,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:906,1
    - Dst: g_unichar_digit_value
      Src: /src/glib/glib/tests/unicode.c:914,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:917,1
    - Dst: g_unichar_digit_value
      Src: /src/glib/glib/tests/unicode.c:915,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:911,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 43
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 918
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 918
    functionName: test_digit_value
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - g_unichar_digit_value
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_digit_value (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unichar_toupper
      Src: /src/glib/glib/tests/unicode.c:1249,1
    - Dst: g_unichar_toupper
      Src: /src/glib/glib/tests/unicode.c:1250,1
    - Dst: g_unichar_toupper
      Src: /src/glib/glib/tests/unicode.c:1254,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1257,1
    - Dst: g_unichar_tolower
      Src: /src/glib/glib/tests/unicode.c:1262,1
    - Dst: g_unichar_totitle
      Src: /src/glib/glib/tests/unicode.c:1266,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1267,1
    - Dst: g_unichar_tolower
      Src: /src/glib/glib/tests/unicode.c:1272,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1275,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1278,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1281,1
    - Dst: g_unichar_toupper
      Src: /src/glib/glib/tests/unicode.c:1281,1
    - Dst: g_unichar_toupper
      Src: /src/glib/glib/tests/unicode.c:1288,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1307,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1268,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1303,1
    - Dst: g_unichar_tolower
      Src: /src/glib/glib/tests/unicode.c:1309,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1283,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1299,1
    - Dst: g_unichar_tolower
      Src: /src/glib/glib/tests/unicode.c:1299,1
    - Dst: g_unichar_toupper
      Src: /src/glib/glib/tests/unicode.c:1286,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1284,1
    - Dst: g_unichar_toupper
      Src: /src/glib/glib/tests/unicode.c:1247,1
    - Dst: g_unichar_toupper
      Src: /src/glib/glib/tests/unicode.c:1252,1
    - Dst: g_unichar_toupper
      Src: /src/glib/glib/tests/unicode.c:1256,1
    - Dst: g_unichar_tolower
      Src: /src/glib/glib/tests/unicode.c:1257,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1258,1
    - Dst: g_unichar_toupper
      Src: /src/glib/glib/tests/unicode.c:1255,1
    - Dst: g_unichar_tolower
      Src: /src/glib/glib/tests/unicode.c:1263,1
    - Dst: g_unichar_tolower
      Src: /src/glib/glib/tests/unicode.c:1264,1
    - Dst: g_unichar_tolower
      Src: /src/glib/glib/tests/unicode.c:1265,1
    - Dst: g_unichar_toupper
      Src: /src/glib/glib/tests/unicode.c:1267,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1272,1
    - Dst: g_unichar_toupper
      Src: /src/glib/glib/tests/unicode.c:1278,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1300,1
    - Dst: g_unichar_toupper
      Src: /src/glib/glib/tests/unicode.c:1284,1
    - Dst: g_unichar_tolower
      Src: /src/glib/glib/tests/unicode.c:1300,1
    - Dst: g_unichar_tolower
      Src: /src/glib/glib/tests/unicode.c:1307,1
    - Dst: g_unichar_tolower
      Src: /src/glib/glib/tests/unicode.c:1305,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1247,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1248,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1249,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1252,1
    - Dst: g_unichar_tolower
      Src: /src/glib/glib/tests/unicode.c:1258,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1260,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1265,1
    - Dst: g_unichar_tolower
      Src: /src/glib/glib/tests/unicode.c:1268,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1269,1
    - Dst: g_unichar_toupper
      Src: /src/glib/glib/tests/unicode.c:1269,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1290,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1297,1
    - Dst: g_unichar_tolower
      Src: /src/glib/glib/tests/unicode.c:1303,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1309,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1294,1
    - Dst: g_unichar_toupper
      Src: /src/glib/glib/tests/unicode.c:1290,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1286,1
    - Dst: g_unichar_toupper
      Src: /src/glib/glib/tests/unicode.c:1283,1
    - Dst: g_unichar_tolower
      Src: /src/glib/glib/tests/unicode.c:1248,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1250,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1254,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1256,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1255,1
    - Dst: g_unichar_tolower
      Src: /src/glib/glib/tests/unicode.c:1260,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1262,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1263,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1264,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1266,1
    - Dst: g_unichar_toupper
      Src: /src/glib/glib/tests/unicode.c:1275,1
    - Dst: g_unichar_tolower
      Src: /src/glib/glib/tests/unicode.c:1297,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1302,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1305,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1280,1
    - Dst: g_unichar_tolower
      Src: /src/glib/glib/tests/unicode.c:1302,1
    - Dst: g_unichar_toupper
      Src: /src/glib/glib/tests/unicode.c:1280,1
    - Dst: g_unichar_tolower
      Src: /src/glib/glib/tests/unicode.c:1294,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 85
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1311
      start: 1244
    functionDepth: 0
    functionLinenumber: 1244
    functionLinenumberEnd: 1311
    functionName: test_cases
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - g_unichar_totitle
    - g_assert_cmphex
    - g_unichar_tolower
    - g_unichar_toupper
    linkageType: ''
    returnType: void
    signature: 'static void test_cases (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1318,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1320,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1321,1
    - Dst: g_unichar_isdefined
      Src: /src/glib/glib/tests/unicode.c:1321,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1323,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1327,1
    - Dst: g_unichar_isdefined
      Src: /src/glib/glib/tests/unicode.c:1323,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1330,1
    - Dst: g_unichar_isdefined
      Src: /src/glib/glib/tests/unicode.c:1327,1
    - Dst: g_unichar_isdefined
      Src: /src/glib/glib/tests/unicode.c:1330,1
    - Dst: g_unichar_isdefined
      Src: /src/glib/glib/tests/unicode.c:1334,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1335,1
    - Dst: g_unichar_isdefined
      Src: /src/glib/glib/tests/unicode.c:1319,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1319,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1329,1
    - Dst: g_unichar_isdefined
      Src: /src/glib/glib/tests/unicode.c:1329,1
    - Dst: g_unichar_isdefined
      Src: /src/glib/glib/tests/unicode.c:1335,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1336,1
    - Dst: g_unichar_isdefined
      Src: /src/glib/glib/tests/unicode.c:1336,1
    - Dst: g_unichar_isdefined
      Src: /src/glib/glib/tests/unicode.c:1320,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1322,1
    - Dst: g_unichar_isdefined
      Src: /src/glib/glib/tests/unicode.c:1322,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1324,1
    - Dst: g_unichar_isdefined
      Src: /src/glib/glib/tests/unicode.c:1324,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1332,1
    - Dst: g_unichar_isdefined
      Src: /src/glib/glib/tests/unicode.c:1332,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1333,1
    - Dst: g_unichar_isdefined
      Src: /src/glib/glib/tests/unicode.c:1318,1
    - Dst: g_unichar_isdefined
      Src: /src/glib/glib/tests/unicode.c:1333,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1337
      start: 1315
    functionDepth: 0
    functionLinenumber: 1315
    functionLinenumberEnd: 1337
    functionName: test_defined
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_unichar_isdefined
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_defined (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/unicode.c:1508,1
    - Dst: g_unichar_compose
      Src: /src/glib/glib/tests/unicode.c:1516,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/unicode.c:1513,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1520,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/unicode.c:1519,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/unicode.c:1524,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1525,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1528
      start: 1429
    functionDepth: 0
    functionLinenumber: 1429
    functionLinenumberEnd: 1528
    functionName: test_compose
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - G_N_ELEMENTS
    - g_test_message
    - g_assert_cmpuint
    - g_assert_false
    - g_unichar_compose
    linkageType: ''
    returnType: void
    signature: 'static void test_compose (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/unicode.c:105,1
    - Dst: g_unichar_type
      Src: /src/glib/glib/tests/unicode.c:107,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:111,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:107,1
    - Dst: g_unichar_type
      Src: /src/glib/glib/tests/unicode.c:111,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:113,1
    - Dst: g_unichar_type
      Src: /src/glib/glib/tests/unicode.c:113,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:115,1
    - Dst: g_unichar_type
      Src: /src/glib/glib/tests/unicode.c:115,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:116,1
    - Dst: g_unichar_type
      Src: /src/glib/glib/tests/unicode.c:119,1
    - Dst: g_unichar_type
      Src: /src/glib/glib/tests/unicode.c:117,1
    - Dst: g_unichar_type
      Src: /src/glib/glib/tests/unicode.c:118,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:119,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:118,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:117,1
    - Dst: g_unichar_type
      Src: /src/glib/glib/tests/unicode.c:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 120
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 120
    functionName: test_unichar_character_type
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - g_unichar_type
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_unichar_character_type (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/unicode.c:469,1
    - Dst: g_utf8_strup
      Src: /src/glib/glib/tests/unicode.c:473,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/unicode.c:471,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/unicode.c:474,1
    - Dst: g_utf8_strup
      Src: /src/glib/glib/tests/unicode.c:477,1
    - Dst: strlen
      Src: /src/glib/glib/tests/unicode.c:477,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/unicode.c:479,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode.c:480,1
    - Dst: g_utf8_strup
      Src: /src/glib/glib/tests/unicode.c:482,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/unicode.c:483,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode.c:484,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 485
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 485
    functionName: test_strup
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - g_utf8_strup
    - g_test_assert_expected_messages
    - strlen
    - g_test_undefined
    - g_assert_cmpstr
    - g_test_expect_message
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_strup (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/unicode.c:558,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode.c:565,1
    - Dst: SetThreadLocale
      Src: /src/glib/glib/tests/unicode.c:570,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/unicode.c:578,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode.c:579,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/unicode.c:538,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/unicode.c:538,1
    - Dst: GetThreadLocale
      Src: /src/glib/glib/tests/unicode.c:547,1
    - Dst: strlen
      Src: /src/glib/glib/tests/unicode.c:552,1
    - Dst: g_utf8_strdown
      Src: /src/glib/glib/tests/unicode.c:552,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode.c:580,1
    - Dst: MAKELANGID
      Src: /src/glib/glib/tests/unicode.c:548,1
    - Dst: strlen
      Src: /src/glib/glib/tests/unicode.c:551,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/unicode.c:564,1
    - Dst: g_utf8_strup
      Src: /src/glib/glib/tests/unicode.c:551,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode.c:572,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/unicode.c:574,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/unicode.c:576,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode.c:581,1
    - Dst: save_and_clear_env
      Src: /src/glib/glib/tests/unicode.c:534,1
    - Dst: save_and_clear_env
      Src: /src/glib/glib/tests/unicode.c:535,1
    - Dst: save_and_clear_env
      Src: /src/glib/glib/tests/unicode.c:536,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/unicode.c:541,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode.c:542,1
    - Dst: SetThreadLocale
      Src: /src/glib/glib/tests/unicode.c:548,1
    - Dst: MAKELCID
      Src: /src/glib/glib/tests/unicode.c:548,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode.c:566,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/unicode.c:568,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 582
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 582
    functionName: test_turkish_strupdown
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - g_utf8_strup
    - g_strdup
    - g_utf8_strdown
    - strlen
    - g_setenv
    - MAKELCID
    - g_assert_cmpstr
    - setlocale
    - SetThreadLocale
    - GetThreadLocale
    - MAKELANGID
    - g_test_skip
    - g_free
    - save_and_clear_env
    linkageType: ''
    returnType: void
    signature: 'static void test_turkish_strupdown (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:862,1
    - Dst: g_unichar_isdigit
      Src: /src/glib/glib/tests/unicode.c:862,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:873,1
    - Dst: g_unichar_isdigit
      Src: /src/glib/glib/tests/unicode.c:873,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:880,1
    - Dst: g_unichar_isdigit
      Src: /src/glib/glib/tests/unicode.c:880,1
    - Dst: g_unichar_isdigit
      Src: /src/glib/glib/tests/unicode.c:885,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:886,1
    - Dst: g_unichar_isdigit
      Src: /src/glib/glib/tests/unicode.c:886,1
    - Dst: g_unichar_isdigit
      Src: /src/glib/glib/tests/unicode.c:884,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:885,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:883,1
    - Dst: g_unichar_isdigit
      Src: /src/glib/glib/tests/unicode.c:863,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:863,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:865,1
    - Dst: g_unichar_isdigit
      Src: /src/glib/glib/tests/unicode.c:865,1
    - Dst: g_unichar_isdigit
      Src: /src/glib/glib/tests/unicode.c:867,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:869,1
    - Dst: g_unichar_isdigit
      Src: /src/glib/glib/tests/unicode.c:869,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:867,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:874,1
    - Dst: g_unichar_isdigit
      Src: /src/glib/glib/tests/unicode.c:874,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:882,1
    - Dst: g_unichar_isdigit
      Src: /src/glib/glib/tests/unicode.c:878,1
    - Dst: g_unichar_isdigit
      Src: /src/glib/glib/tests/unicode.c:882,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:871,1
    - Dst: g_unichar_isdigit
      Src: /src/glib/glib/tests/unicode.c:871,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:875,1
    - Dst: g_unichar_isdigit
      Src: /src/glib/glib/tests/unicode.c:875,1
    - Dst: g_unichar_isdigit
      Src: /src/glib/glib/tests/unicode.c:883,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:884,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:878,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:864,1
    - Dst: g_unichar_isdigit
      Src: /src/glib/glib/tests/unicode.c:864,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:866,1
    - Dst: g_unichar_isdigit
      Src: /src/glib/glib/tests/unicode.c:866,1
    - Dst: g_unichar_isdigit
      Src: /src/glib/glib/tests/unicode.c:868,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:868,1
    - Dst: g_unichar_isdigit
      Src: /src/glib/glib/tests/unicode.c:870,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:870,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:872,1
    - Dst: g_unichar_isdigit
      Src: /src/glib/glib/tests/unicode.c:872,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 45
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 887
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 887
    functionName: test_digit
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_assert_true
    - g_unichar_isdigit
    linkageType: ''
    returnType: void
    signature: 'static void test_digit (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1224,1
    - Dst: g_unichar_isprint
      Src: /src/glib/glib/tests/unicode.c:1224,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1227,1
    - Dst: g_unichar_isprint
      Src: /src/glib/glib/tests/unicode.c:1227,1
    - Dst: g_unichar_isprint
      Src: /src/glib/glib/tests/unicode.c:1235,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1236,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1222,1
    - Dst: g_unichar_isprint
      Src: /src/glib/glib/tests/unicode.c:1222,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1230,1
    - Dst: g_unichar_isprint
      Src: /src/glib/glib/tests/unicode.c:1230,1
    - Dst: g_unichar_isprint
      Src: /src/glib/glib/tests/unicode.c:1236,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1237,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1223,1
    - Dst: g_unichar_isprint
      Src: /src/glib/glib/tests/unicode.c:1223,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1225,1
    - Dst: g_unichar_isprint
      Src: /src/glib/glib/tests/unicode.c:1225,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1226,1
    - Dst: g_unichar_isprint
      Src: /src/glib/glib/tests/unicode.c:1226,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1232,1
    - Dst: g_unichar_isprint
      Src: /src/glib/glib/tests/unicode.c:1232,1
    - Dst: g_unichar_isprint
      Src: /src/glib/glib/tests/unicode.c:1237,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1238,1
    - Dst: g_unichar_isprint
      Src: /src/glib/glib/tests/unicode.c:1234,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1235,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1234,1
    - Dst: g_unichar_isprint
      Src: /src/glib/glib/tests/unicode.c:1238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1239
      start: 1219
    functionDepth: 0
    functionLinenumber: 1219
    functionLinenumberEnd: 1239
    functionName: test_print
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_unichar_isprint
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_print (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST1
      Src: /src/glib/glib/tests/unicode.c:1582,1
    - Dst: TEST0
      Src: /src/glib/glib/tests/unicode.c:1588,1
    - Dst: TEST2
      Src: /src/glib/glib/tests/unicode.c:1592,1
    - Dst: TEST2
      Src: /src/glib/glib/tests/unicode.c:1596,1
    - Dst: TEST3
      Src: /src/glib/glib/tests/unicode.c:1608,1
    - Dst: TEST2
      Src: /src/glib/glib/tests/unicode.c:1603,1
    - Dst: TEST3
      Src: /src/glib/glib/tests/unicode.c:1610,1
    - Dst: TEST0
      Src: /src/glib/glib/tests/unicode.c:1589,1
    - Dst: TEST2
      Src: /src/glib/glib/tests/unicode.c:1600,1
    - Dst: TEST3
      Src: /src/glib/glib/tests/unicode.c:1602,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/unicode.c:1620,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/unicode.c:1632,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/unicode.c:1633,1
    - Dst: g_unichar_fully_decompose
      Src: /src/glib/glib/tests/unicode.c:1640,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/unicode.c:1641,1
    - Dst: TEST0
      Src: /src/glib/glib/tests/unicode.c:1581,1
    - Dst: TEST2
      Src: /src/glib/glib/tests/unicode.c:1597,1
    - Dst: TEST2
      Src: /src/glib/glib/tests/unicode.c:1609,1
    - Dst: TEST2
      Src: /src/glib/glib/tests/unicode.c:1605,1
    - Dst: TEST4
      Src: /src/glib/glib/tests/unicode.c:1585,1
    - Dst: TEST3
      Src: /src/glib/glib/tests/unicode.c:1584,1
    - Dst: TEST1
      Src: /src/glib/glib/tests/unicode.c:1593,1
    - Dst: TEST2
      Src: /src/glib/glib/tests/unicode.c:1601,1
    - Dst: TEST2
      Src: /src/glib/glib/tests/unicode.c:1604,1
    - Dst: TEST2
      Src: /src/glib/glib/tests/unicode.c:1611,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/unicode.c:1625,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/unicode.c:1630,1
    - Dst: g_unichar_fully_decompose
      Src: /src/glib/glib/tests/unicode.c:1632,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/unicode.c:1635,1
    - Dst: TEST2
      Src: /src/glib/glib/tests/unicode.c:1583,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 43
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1643
      start: 1570
    functionDepth: 0
    functionLinenumber: 1570
    functionLinenumberEnd: 1643
    functionName: test_fully_decompose_canonical
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - TEST4
    - TEST1
    - G_N_ELEMENTS
    - TEST2
    - TEST0
    - g_test_message
    - TEST3
    - g_assert_cmpuint
    - g_assert_cmpmem
    - g_unichar_fully_decompose
    linkageType: ''
    returnType: void
    signature: 'static void test_fully_decompose_canonical (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/unicode.c:1769,1
    - Dst: g_utf8_normalize
      Src: /src/glib/glib/tests/unicode.c:1773,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/unicode.c:1774,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/unicode.c:1777,1
    - Dst: g_utf8_normalize
      Src: /src/glib/glib/tests/unicode.c:1776,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode.c:1779,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode.c:1780,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1782
      start: 1739
    functionDepth: 0
    functionLinenumber: 1739
    functionLinenumberEnd: 1782
    functionName: test_normalization
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - g_utf8_normalize
    - g_free
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void test_normalization (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:2000,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:2002,1
    - Dst: g_unicode_script_to_iso15924
      Src: /src/glib/glib/tests/unicode.c:2002,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:2003,1
    - Dst: g_unicode_script_to_iso15924
      Src: /src/glib/glib/tests/unicode.c:2001,1
    - Dst: g_unicode_script_to_iso15924
      Src: /src/glib/glib/tests/unicode.c:2004,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:2006,1
    - Dst: g_unicode_script_from_iso15924
      Src: /src/glib/glib/tests/unicode.c:2007,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:2008,1
    - Dst: g_unicode_script_from_iso15924
      Src: /src/glib/glib/tests/unicode.c:2009,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/unicode.c:2014,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:2022,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:2023,1
    - Dst: g_unicode_script_from_iso15924
      Src: /src/glib/glib/tests/unicode.c:2023,1
    - Dst: g_unicode_script_to_iso15924
      Src: /src/glib/glib/tests/unicode.c:2022,1
    - Dst: PACK
      Src: /src/glib/glib/tests/unicode.c:2016,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/unicode.c:2021,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2027
      start: 1784
    functionDepth: 0
    functionLinenumber: 1784
    functionLinenumberEnd: 2027
    functionName: test_iso15924
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - PACK
    - G_N_ELEMENTS
    - g_test_message
    - g_assert_cmphex
    - g_unicode_script_from_iso15924
    - g_unicode_script_to_iso15924
    linkageType: ''
    returnType: void
    signature: 'static void test_iso15924 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/unicode.c:2057,1
    - Dst: TEST
      Src: /src/glib/glib/tests/unicode.c:2060,1
    - Dst: TEST
      Src: /src/glib/glib/tests/unicode.c:2059,1
    - Dst: TEST
      Src: /src/glib/glib/tests/unicode.c:2062,1
    - Dst: TEST
      Src: /src/glib/glib/tests/unicode.c:2061,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2066
      start: 2029
    functionDepth: 0
    functionLinenumber: 2029
    functionLinenumberEnd: 2066
    functionName: test_normalize
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - TEST
    linkageType: ''
    returnType: void
    signature: 'static void test_normalize (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:55,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:57,1
    - Dst: g_unichar_validate
      Src: /src/glib/glib/tests/unicode.c:55,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:56,1
    - Dst: g_unichar_validate
      Src: /src/glib/glib/tests/unicode.c:56,1
    - Dst: g_unichar_validate
      Src: /src/glib/glib/tests/unicode.c:57,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:58,1
    - Dst: g_unichar_validate
      Src: /src/glib/glib/tests/unicode.c:58,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:59,1
    - Dst: g_unichar_validate
      Src: /src/glib/glib/tests/unicode.c:59,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:60,1
    - Dst: g_unichar_validate
      Src: /src/glib/glib/tests/unicode.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: test_unichar_validate
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - g_unichar_validate
    - g_assert_false
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_unichar_validate (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/unicode.c:374,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:375,1
    - Dst: g_unichar_get_script
      Src: /src/glib/glib/tests/unicode.c:375,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 376
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 376
    functionName: test_unichar_script
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - g_unichar_get_script
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_unichar_script (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:830,1
    - Dst: g_unichar_isalpha
      Src: /src/glib/glib/tests/unicode.c:830,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:832,1
    - Dst: g_unichar_isalpha
      Src: /src/glib/glib/tests/unicode.c:832,1
    - Dst: g_unichar_isalpha
      Src: /src/glib/glib/tests/unicode.c:834,1
    - Dst: g_unichar_isalpha
      Src: /src/glib/glib/tests/unicode.c:836,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:836,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:834,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:838,1
    - Dst: g_unichar_isalpha
      Src: /src/glib/glib/tests/unicode.c:838,1
    - Dst: g_unichar_isalpha
      Src: /src/glib/glib/tests/unicode.c:842,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:828,1
    - Dst: g_unichar_isalpha
      Src: /src/glib/glib/tests/unicode.c:828,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:839,1
    - Dst: g_unichar_isalpha
      Src: /src/glib/glib/tests/unicode.c:839,1
    - Dst: g_unichar_isalpha
      Src: /src/glib/glib/tests/unicode.c:843,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:848,1
    - Dst: g_unichar_isalpha
      Src: /src/glib/glib/tests/unicode.c:848,1
    - Dst: g_unichar_isalpha
      Src: /src/glib/glib/tests/unicode.c:853,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:854,1
    - Dst: g_unichar_isalpha
      Src: /src/glib/glib/tests/unicode.c:854,1
    - Dst: g_unichar_isalpha
      Src: /src/glib/glib/tests/unicode.c:852,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:840,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:853,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:851,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:842,1
    - Dst: g_unichar_isalpha
      Src: /src/glib/glib/tests/unicode.c:840,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:829,1
    - Dst: g_unichar_isalpha
      Src: /src/glib/glib/tests/unicode.c:829,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:831,1
    - Dst: g_unichar_isalpha
      Src: /src/glib/glib/tests/unicode.c:831,1
    - Dst: g_unichar_isalpha
      Src: /src/glib/glib/tests/unicode.c:833,1
    - Dst: g_unichar_isalpha
      Src: /src/glib/glib/tests/unicode.c:835,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:837,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:833,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:835,1
    - Dst: g_unichar_isalpha
      Src: /src/glib/glib/tests/unicode.c:837,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:846,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:850,1
    - Dst: g_unichar_isalpha
      Src: /src/glib/glib/tests/unicode.c:846,1
    - Dst: g_unichar_isalpha
      Src: /src/glib/glib/tests/unicode.c:850,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:841,1
    - Dst: g_unichar_isalpha
      Src: /src/glib/glib/tests/unicode.c:841,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:843,1
    - Dst: g_unichar_isalpha
      Src: /src/glib/glib/tests/unicode.c:851,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:852,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 49
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 855
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 855
    functionName: test_alpha
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_unichar_isalpha
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_alpha (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unichar_istitle
      Src: /src/glib/glib/tests/unicode.c:1135,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1135,1
    - Dst: g_unichar_istitle
      Src: /src/glib/glib/tests/unicode.c:1140,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1141,1
    - Dst: g_unichar_istitle
      Src: /src/glib/glib/tests/unicode.c:1141,1
    - Dst: g_unichar_totitle
      Src: /src/glib/glib/tests/unicode.c:1144,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1145,1
    - Dst: g_unichar_totitle
      Src: /src/glib/glib/tests/unicode.c:1148,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1150,1
    - Dst: g_unichar_totitle
      Src: /src/glib/glib/tests/unicode.c:1150,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1159,1
    - Dst: g_unichar_totitle
      Src: /src/glib/glib/tests/unicode.c:1161,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1165,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1127,1
    - Dst: g_unichar_istitle
      Src: /src/glib/glib/tests/unicode.c:1127,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1129,1
    - Dst: g_unichar_istitle
      Src: /src/glib/glib/tests/unicode.c:1129,1
    - Dst: g_unichar_istitle
      Src: /src/glib/glib/tests/unicode.c:1137,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1138,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1130,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1137,1
    - Dst: g_unichar_totitle
      Src: /src/glib/glib/tests/unicode.c:1145,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1146,1
    - Dst: g_unichar_totitle
      Src: /src/glib/glib/tests/unicode.c:1149,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1158,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1125,1
    - Dst: g_unichar_istitle
      Src: /src/glib/glib/tests/unicode.c:1125,1
    - Dst: g_unichar_istitle
      Src: /src/glib/glib/tests/unicode.c:1130,1
    - Dst: g_unichar_istitle
      Src: /src/glib/glib/tests/unicode.c:1138,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1139,1
    - Dst: g_unichar_totitle
      Src: /src/glib/glib/tests/unicode.c:1146,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1147,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1149,1
    - Dst: g_unichar_totitle
      Src: /src/glib/glib/tests/unicode.c:1155,1
    - Dst: g_unichar_totitle
      Src: /src/glib/glib/tests/unicode.c:1158,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1161,1
    - Dst: g_unichar_totitle
      Src: /src/glib/glib/tests/unicode.c:1147,1
    - Dst: g_unichar_totitle
      Src: /src/glib/glib/tests/unicode.c:1159,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1155,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1126,1
    - Dst: g_unichar_istitle
      Src: /src/glib/glib/tests/unicode.c:1126,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1128,1
    - Dst: g_unichar_istitle
      Src: /src/glib/glib/tests/unicode.c:1128,1
    - Dst: g_unichar_istitle
      Src: /src/glib/glib/tests/unicode.c:1133,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1133,1
    - Dst: g_unichar_istitle
      Src: /src/glib/glib/tests/unicode.c:1139,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1140,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1143,1
    - Dst: g_unichar_totitle
      Src: /src/glib/glib/tests/unicode.c:1143,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1148,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1163,1
    - Dst: g_unichar_totitle
      Src: /src/glib/glib/tests/unicode.c:1165,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1156,1
    - Dst: g_unichar_totitle
      Src: /src/glib/glib/tests/unicode.c:1156,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1153,1
    - Dst: g_unichar_totitle
      Src: /src/glib/glib/tests/unicode.c:1163,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/unicode.c:1144,1
    - Dst: g_unichar_totitle
      Src: /src/glib/glib/tests/unicode.c:1153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 65
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1167
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1167
    functionName: test_title
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_assert_cmphex
    - g_unichar_totitle
    - g_assert_false
    - g_unichar_istitle
    linkageType: ''
    returnType: void
    signature: 'static void test_title (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unichar_decompose
      Src: /src/glib/glib/tests/unicode.c:1538,1
    - Dst: g_unichar_decompose
      Src: /src/glib/glib/tests/unicode.c:1546,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1553,1
    - Dst: g_unichar_decompose
      Src: /src/glib/glib/tests/unicode.c:1547,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1558,1
    - Dst: g_unichar_decompose
      Src: /src/glib/glib/tests/unicode.c:1561,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1565,1
    - Dst: g_unichar_decompose
      Src: /src/glib/glib/tests/unicode.c:1558,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1560,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1552,1
    - Dst: g_unichar_decompose
      Src: /src/glib/glib/tests/unicode.c:1552,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1551,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1547,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1555,1
    - Dst: g_unichar_decompose
      Src: /src/glib/glib/tests/unicode.c:1555,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1559,1
    - Dst: g_unichar_decompose
      Src: /src/glib/glib/tests/unicode.c:1559,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1564,1
    - Dst: g_unichar_decompose
      Src: /src/glib/glib/tests/unicode.c:1565,1
    - Dst: g_unichar_decompose
      Src: /src/glib/glib/tests/unicode.c:1564,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1539,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1543,1
    - Dst: g_unichar_decompose
      Src: /src/glib/glib/tests/unicode.c:1550,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1550,1
    - Dst: g_unichar_decompose
      Src: /src/glib/glib/tests/unicode.c:1560,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1561,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1538,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1542,1
    - Dst: g_unichar_decompose
      Src: /src/glib/glib/tests/unicode.c:1539,1
    - Dst: g_unichar_decompose
      Src: /src/glib/glib/tests/unicode.c:1542,1
    - Dst: g_unichar_decompose
      Src: /src/glib/glib/tests/unicode.c:1543,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1546,1
    - Dst: g_unichar_decompose
      Src: /src/glib/glib/tests/unicode.c:1551,1
    - Dst: g_unichar_decompose
      Src: /src/glib/glib/tests/unicode.c:1553,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1554,1
    - Dst: g_unichar_decompose
      Src: /src/glib/glib/tests/unicode.c:1554,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 109
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1566
      start: 1532
    functionDepth: 0
    functionLinenumber: 1532
    functionLinenumberEnd: 1566
    functionName: test_decompose
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_unichar_decompose
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_decompose (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_unichar_decompose
      Src: /src/glib/glib/tests/unicode.c:1709,1
    - Dst: g_unichar_decompose
      Src: /src/glib/glib/tests/unicode.c:1710,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/unicode.c:1713,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1710,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/unicode.c:1714,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1716
      start: 1700
    functionDepth: 0
    functionLinenumber: 1700
    functionLinenumberEnd: 1716
    functionName: test_decompose_tail
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_unichar_decompose
    - g_assert_cmpuint
    linkageType: ''
    returnType: void
    signature: 'static void test_decompose_tail (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:1731,1
    - Dst: g_unichar_fully_decompose
      Src: /src/glib/glib/tests/unicode.c:1731,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:1732,1
    - Dst: g_unichar_fully_decompose
      Src: /src/glib/glib/tests/unicode.c:1732,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1734
      start: 1721
    functionDepth: 0
    functionLinenumber: 1721
    functionLinenumberEnd: 1734
    functionName: test_fully_decompose_len
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - g_unichar_fully_decompose
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_fully_decompose_len (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/unicode.c:182,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:184,1
    - Dst: g_unichar_break_type
      Src: /src/glib/glib/tests/unicode.c:184,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 186
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 186
    functionName: test_unichar_break_type
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - g_unichar_break_type
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_unichar_break_type (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unichar_ismark
      Src: /src/glib/glib/tests/unicode.c:746,1
    - Dst: g_unichar_ismark
      Src: /src/glib/glib/tests/unicode.c:747,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:750,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:756,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:757,1
    - Dst: g_unichar_ismark
      Src: /src/glib/glib/tests/unicode.c:745,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:746,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:747,1
    - Dst: g_unichar_ismark
      Src: /src/glib/glib/tests/unicode.c:752,1
    - Dst: g_unichar_ismark
      Src: /src/glib/glib/tests/unicode.c:755,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:754,1
    - Dst: g_unichar_ismark
      Src: /src/glib/glib/tests/unicode.c:757,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:745,1
    - Dst: g_unichar_ismark
      Src: /src/glib/glib/tests/unicode.c:744,1
    - Dst: g_unichar_ismark
      Src: /src/glib/glib/tests/unicode.c:750,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:755,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:744,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:752,1
    - Dst: g_unichar_ismark
      Src: /src/glib/glib/tests/unicode.c:756,1
    - Dst: g_unichar_ismark
      Src: /src/glib/glib/tests/unicode.c:754,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:758,1
    - Dst: g_unichar_ismark
      Src: /src/glib/glib/tests/unicode.c:758,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 759
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 759
    functionName: test_mark
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - g_unichar_ismark
    - g_assert_false
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_mark (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1006,1
    - Dst: g_unichar_ispunct
      Src: /src/glib/glib/tests/unicode.c:1008,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1016,1
    - Dst: g_unichar_ispunct
      Src: /src/glib/glib/tests/unicode.c:1016,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1021,1
    - Dst: g_unichar_ispunct
      Src: /src/glib/glib/tests/unicode.c:1021,1
    - Dst: g_unichar_ispunct
      Src: /src/glib/glib/tests/unicode.c:1026,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1027,1
    - Dst: g_unichar_ispunct
      Src: /src/glib/glib/tests/unicode.c:1027,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1023,1
    - Dst: g_unichar_ispunct
      Src: /src/glib/glib/tests/unicode.c:1023,1
    - Dst: g_unichar_ispunct
      Src: /src/glib/glib/tests/unicode.c:1007,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1007,1
    - Dst: g_unichar_ispunct
      Src: /src/glib/glib/tests/unicode.c:1006,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1009,1
    - Dst: g_unichar_ispunct
      Src: /src/glib/glib/tests/unicode.c:1009,1
    - Dst: g_unichar_ispunct
      Src: /src/glib/glib/tests/unicode.c:1011,1
    - Dst: g_unichar_ispunct
      Src: /src/glib/glib/tests/unicode.c:1014,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1011,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1014,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1019,1
    - Dst: g_unichar_ispunct
      Src: /src/glib/glib/tests/unicode.c:1024,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1025,1
    - Dst: g_unichar_ispunct
      Src: /src/glib/glib/tests/unicode.c:1019,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1008,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1010,1
    - Dst: g_unichar_ispunct
      Src: /src/glib/glib/tests/unicode.c:1010,1
    - Dst: g_unichar_ispunct
      Src: /src/glib/glib/tests/unicode.c:1012,1
    - Dst: g_unichar_ispunct
      Src: /src/glib/glib/tests/unicode.c:1015,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1012,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1015,1
    - Dst: g_unichar_ispunct
      Src: /src/glib/glib/tests/unicode.c:1025,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1026,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1024,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1028
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1028
    functionName: test_punctuation
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_unichar_ispunct
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_punctuation (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unichar_isgraph
      Src: /src/glib/glib/tests/unicode.c:1058,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1058,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1060,1
    - Dst: g_unichar_isgraph
      Src: /src/glib/glib/tests/unicode.c:1060,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1062,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1064,1
    - Dst: g_unichar_isgraph
      Src: /src/glib/glib/tests/unicode.c:1062,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1066,1
    - Dst: g_unichar_isgraph
      Src: /src/glib/glib/tests/unicode.c:1064,1
    - Dst: g_unichar_isgraph
      Src: /src/glib/glib/tests/unicode.c:1066,1
    - Dst: g_unichar_isgraph
      Src: /src/glib/glib/tests/unicode.c:1080,1
    - Dst: g_unichar_isgraph
      Src: /src/glib/glib/tests/unicode.c:1083,1
    - Dst: g_unichar_isgraph
      Src: /src/glib/glib/tests/unicode.c:1082,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1084,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1070,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1067,1
    - Dst: g_unichar_isgraph
      Src: /src/glib/glib/tests/unicode.c:1067,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1071,1
    - Dst: g_unichar_isgraph
      Src: /src/glib/glib/tests/unicode.c:1071,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1073,1
    - Dst: g_unichar_isgraph
      Src: /src/glib/glib/tests/unicode.c:1073,1
    - Dst: g_unichar_isgraph
      Src: /src/glib/glib/tests/unicode.c:1081,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1082,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1076,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1080,1
    - Dst: g_unichar_isgraph
      Src: /src/glib/glib/tests/unicode.c:1076,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1059,1
    - Dst: g_unichar_isgraph
      Src: /src/glib/glib/tests/unicode.c:1059,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1061,1
    - Dst: g_unichar_isgraph
      Src: /src/glib/glib/tests/unicode.c:1061,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1063,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1065,1
    - Dst: g_unichar_isgraph
      Src: /src/glib/glib/tests/unicode.c:1063,1
    - Dst: g_unichar_isgraph
      Src: /src/glib/glib/tests/unicode.c:1065,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1068,1
    - Dst: g_unichar_isgraph
      Src: /src/glib/glib/tests/unicode.c:1068,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1057,1
    - Dst: g_unichar_isgraph
      Src: /src/glib/glib/tests/unicode.c:1057,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1069,1
    - Dst: g_unichar_isgraph
      Src: /src/glib/glib/tests/unicode.c:1069,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1078,1
    - Dst: g_unichar_isgraph
      Src: /src/glib/glib/tests/unicode.c:1078,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1081,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1072,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1083,1
    - Dst: g_unichar_isgraph
      Src: /src/glib/glib/tests/unicode.c:1070,1
    - Dst: g_unichar_isgraph
      Src: /src/glib/glib/tests/unicode.c:1072,1
    - Dst: g_unichar_isgraph
      Src: /src/glib/glib/tests/unicode.c:1084,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 51
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1085
      start: 1054
    functionDepth: 0
    functionLinenumber: 1054
    functionLinenumberEnd: 1085
    functionName: test_graph
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_assert_true
    - g_unichar_isgraph
    linkageType: ''
    returnType: void
    signature: 'static void test_graph (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unichar_iszerowidth
      Src: /src/glib/glib/tests/unicode.c:1104,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1106,1
    - Dst: g_unichar_iszerowidth
      Src: /src/glib/glib/tests/unicode.c:1106,1
    - Dst: g_unichar_iszerowidth
      Src: /src/glib/glib/tests/unicode.c:1111,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1112,1
    - Dst: g_unichar_iszerowidth
      Src: /src/glib/glib/tests/unicode.c:1112,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1094,1
    - Dst: g_unichar_iszerowidth
      Src: /src/glib/glib/tests/unicode.c:1094,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1096,1
    - Dst: g_unichar_iszerowidth
      Src: /src/glib/glib/tests/unicode.c:1096,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1098,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1101,1
    - Dst: g_unichar_iszerowidth
      Src: /src/glib/glib/tests/unicode.c:1098,1
    - Dst: g_unichar_iszerowidth
      Src: /src/glib/glib/tests/unicode.c:1101,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1108,1
    - Dst: g_unichar_iszerowidth
      Src: /src/glib/glib/tests/unicode.c:1108,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1109,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1111,1
    - Dst: g_unichar_iszerowidth
      Src: /src/glib/glib/tests/unicode.c:1116,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1092,1
    - Dst: g_unichar_iszerowidth
      Src: /src/glib/glib/tests/unicode.c:1092,1
    - Dst: g_unichar_iszerowidth
      Src: /src/glib/glib/tests/unicode.c:1109,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1110,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1117,1
    - Dst: g_unichar_iszerowidth
      Src: /src/glib/glib/tests/unicode.c:1110,1
    - Dst: g_unichar_iszerowidth
      Src: /src/glib/glib/tests/unicode.c:1117,1
    - Dst: g_unichar_iszerowidth
      Src: /src/glib/glib/tests/unicode.c:1093,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1093,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1095,1
    - Dst: g_unichar_iszerowidth
      Src: /src/glib/glib/tests/unicode.c:1095,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1097,1
    - Dst: g_unichar_iszerowidth
      Src: /src/glib/glib/tests/unicode.c:1100,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1099,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1100,1
    - Dst: g_unichar_iszerowidth
      Src: /src/glib/glib/tests/unicode.c:1097,1
    - Dst: g_unichar_iszerowidth
      Src: /src/glib/glib/tests/unicode.c:1099,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1116,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 41
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1118
      start: 1089
    functionDepth: 0
    functionLinenumber: 1089
    functionLinenumberEnd: 1118
    functionName: test_zerowidth
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_unichar_iszerowidth
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_zerowidth (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST0
      Src: /src/glib/glib/tests/unicode.c:1670,1
    - Dst: TEST2
      Src: /src/glib/glib/tests/unicode.c:1674,1
    - Dst: TEST0
      Src: /src/glib/glib/tests/unicode.c:1671,1
    - Dst: TEST1
      Src: /src/glib/glib/tests/unicode.c:1675,1
    - Dst: TEST2
      Src: /src/glib/glib/tests/unicode.c:1678,1
    - Dst: TEST2
      Src: /src/glib/glib/tests/unicode.c:1679,1
    - Dst: TEST2
      Src: /src/glib/glib/tests/unicode.c:1682,1
    - Dst: TEST2
      Src: /src/glib/glib/tests/unicode.c:1683,1
    - Dst: TEST3
      Src: /src/glib/glib/tests/unicode.c:1684,1
    - Dst: TEST2
      Src: /src/glib/glib/tests/unicode.c:1685,1
    - Dst: TEST2
      Src: /src/glib/glib/tests/unicode.c:1686,1
    - Dst: TEST3
      Src: /src/glib/glib/tests/unicode.c:1690,1
    - Dst: TEST3
      Src: /src/glib/glib/tests/unicode.c:1692,1
    - Dst: TEST2
      Src: /src/glib/glib/tests/unicode.c:1693,1
    - Dst: TEST2
      Src: /src/glib/glib/tests/unicode.c:1691,1
    - Dst: TEST2
      Src: /src/glib/glib/tests/unicode.c:1687,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1696
      start: 1648
    functionDepth: 0
    functionLinenumber: 1648
    functionLinenumberEnd: 1696
    functionName: test_canonical_decomposition
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - TEST2
    - TEST0
    - TEST1
    - TEST3
    linkageType: ''
    returnType: void
    signature: 'static void test_canonical_decomposition (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/tests/unicode.c:46,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/unicode.c:46,1
    - Dst: g_unsetenv
      Src: /src/glib/glib/tests/unicode.c:47,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - name
    - save
    argTypes:
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: save_and_clear_env
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - g_getenv
    - g_strdup
    - g_unsetenv
    linkageType: ''
    returnType: void
    signature: 'static void save_and_clear_env (const char *name, char **save) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GetThreadLocale
      Src: /src/glib/glib/tests/unicode.c:629,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/unicode.c:653,1
    - Dst: g_utf8_strdown
      Src: /src/glib/glib/tests/unicode.c:688,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/unicode.c:690,1
    - Dst: fgets
      Src: /src/glib/glib/tests/unicode.c:705,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/unicode.c:719,1
    - Dst: fopen
      Src: /src/glib/glib/tests/unicode.c:702,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode.c:717,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/unicode.c:726,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/unicode.c:728,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode.c:733,1
    - Dst: g_utf8_casefold
      Src: /src/glib/glib/tests/unicode.c:715,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/unicode.c:624,1
    - Dst: save_and_clear_env
      Src: /src/glib/glib/tests/unicode.c:633,1
    - Dst: fopen
      Src: /src/glib/glib/tests/unicode.c:638,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/unicode.c:639,1
    - Dst: fgets
      Src: /src/glib/glib/tests/unicode.c:641,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/unicode.c:658,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/unicode.c:651,1
    - Dst: strstr
      Src: /src/glib/glib/tests/unicode.c:666,1
    - Dst: SetThreadLocale
      Src: /src/glib/glib/tests/unicode.c:667,1
    - Dst: MAKELCID
      Src: /src/glib/glib/tests/unicode.c:667,1
    - Dst: SetThreadLocale
      Src: /src/glib/glib/tests/unicode.c:669,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/unicode.c:694,1
    - Dst: strlen
      Src: /src/glib/glib/tests/unicode.c:710,1
    - Dst: g_test_build_filename
      Src: /src/glib/glib/tests/unicode.c:700,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/unicode.c:703,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/unicode.c:685,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/unicode.c:711,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode.c:691,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/unicode.c:716,1
    - Dst: fclose
      Src: /src/glib/glib/tests/unicode.c:722,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode.c:723,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode.c:731,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode.c:699,1
    - Dst: save_and_clear_env
      Src: /src/glib/glib/tests/unicode.c:635,1
    - Dst: save_and_clear_env
      Src: /src/glib/glib/tests/unicode.c:634,1
    - Dst: g_test_build_filename
      Src: /src/glib/glib/tests/unicode.c:637,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/unicode.c:646,1
    - Dst: strstr
      Src: /src/glib/glib/tests/unicode.c:664,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/unicode.c:654,1
    - Dst: strncmp
      Src: /src/glib/glib/tests/unicode.c:656,1
    - Dst: SetThreadLocale
      Src: /src/glib/glib/tests/unicode.c:665,1
    - Dst: MAKELANGID
      Src: /src/glib/glib/tests/unicode.c:665,1
    - Dst: MAKELCID
      Src: /src/glib/glib/tests/unicode.c:665,1
    - Dst: MAKELANGID
      Src: /src/glib/glib/tests/unicode.c:667,1
    - Dst: g_utf8_strup
      Src: /src/glib/glib/tests/unicode.c:683,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/unicode.c:730,1
    - Dst: SetThreadLocale
      Src: /src/glib/glib/tests/unicode.c:735,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode.c:732,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode.c:686,1
    - Dst: fclose
      Src: /src/glib/glib/tests/unicode.c:697,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 83
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 737
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 737
    functionName: test_casemap_and_casefold
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - g_test_build_filename
    - g_utf8_casefold
    - strcmp
    - SetThreadLocale
    - g_strsplit
    - save_and_clear_env
    - fgets
    - MAKELCID
    - setlocale
    - g_strfreev
    - g_utf8_strdown
    - strlen
    - g_test_message
    - g_setenv
    - MAKELANGID
    - strstr
    - g_utf8_strup
    - fclose
    - g_assert
    - g_assert_cmpstr
    - strncmp
    - fopen
    - g_free
    - GetThreadLocale
    linkageType: ''
    returnType: void
    signature: 'static void test_casemap_and_casefold (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:794,1
    - Dst: g_unichar_isalnum
      Src: /src/glib/glib/tests/unicode.c:794,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:807,1
    - Dst: g_unichar_isalnum
      Src: /src/glib/glib/tests/unicode.c:807,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:814,1
    - Dst: g_unichar_isalnum
      Src: /src/glib/glib/tests/unicode.c:814,1
    - Dst: g_unichar_isalnum
      Src: /src/glib/glib/tests/unicode.c:820,1
    - Dst: g_unichar_isalnum
      Src: /src/glib/glib/tests/unicode.c:804,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:819,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:808,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:795,1
    - Dst: g_unichar_isalnum
      Src: /src/glib/glib/tests/unicode.c:795,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:797,1
    - Dst: g_unichar_isalnum
      Src: /src/glib/glib/tests/unicode.c:797,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:798,1
    - Dst: g_unichar_isalnum
      Src: /src/glib/glib/tests/unicode.c:800,1
    - Dst: g_unichar_isalnum
      Src: /src/glib/glib/tests/unicode.c:802,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:800,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:802,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:804,1
    - Dst: g_unichar_isalnum
      Src: /src/glib/glib/tests/unicode.c:798,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:805,1
    - Dst: g_unichar_isalnum
      Src: /src/glib/glib/tests/unicode.c:805,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:809,1
    - Dst: g_unichar_isalnum
      Src: /src/glib/glib/tests/unicode.c:809,1
    - Dst: g_unichar_isalnum
      Src: /src/glib/glib/tests/unicode.c:817,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:818,1
    - Dst: g_unichar_isalnum
      Src: /src/glib/glib/tests/unicode.c:819,1
    - Dst: g_unichar_isalnum
      Src: /src/glib/glib/tests/unicode.c:818,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:817,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:812,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:796,1
    - Dst: g_unichar_isalnum
      Src: /src/glib/glib/tests/unicode.c:796,1
    - Dst: g_unichar_isalnum
      Src: /src/glib/glib/tests/unicode.c:799,1
    - Dst: g_unichar_isalnum
      Src: /src/glib/glib/tests/unicode.c:801,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:803,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:799,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:801,1
    - Dst: g_unichar_isalnum
      Src: /src/glib/glib/tests/unicode.c:803,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:806,1
    - Dst: g_unichar_isalnum
      Src: /src/glib/glib/tests/unicode.c:806,1
    - Dst: g_unichar_isalnum
      Src: /src/glib/glib/tests/unicode.c:808,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:816,1
    - Dst: g_unichar_isalnum
      Src: /src/glib/glib/tests/unicode.c:812,1
    - Dst: g_unichar_isalnum
      Src: /src/glib/glib/tests/unicode.c:816,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:820,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 49
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 821
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 821
    functionName: test_alnum
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_assert_true
    - g_unichar_isalnum
    linkageType: ''
    returnType: void
    signature: 'static void test_alnum (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:967,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:968,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:969,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:971,1
    - Dst: g_unichar_xdigit_value
      Src: /src/glib/glib/tests/unicode.c:974,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:975,1
    - Dst: g_unichar_xdigit_value
      Src: /src/glib/glib/tests/unicode.c:978,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:979,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:980,1
    - Dst: g_unichar_xdigit_value
      Src: /src/glib/glib/tests/unicode.c:982,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:992,1
    - Dst: g_unichar_xdigit_value
      Src: /src/glib/glib/tests/unicode.c:992,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:997,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:986,1
    - Dst: g_unichar_xdigit_value
      Src: /src/glib/glib/tests/unicode.c:986,1
    - Dst: g_unichar_xdigit_value
      Src: /src/glib/glib/tests/unicode.c:968,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:970,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:972,1
    - Dst: g_unichar_xdigit_value
      Src: /src/glib/glib/tests/unicode.c:975,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:976,1
    - Dst: g_unichar_xdigit_value
      Src: /src/glib/glib/tests/unicode.c:979,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:995,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:987,1
    - Dst: g_unichar_xdigit_value
      Src: /src/glib/glib/tests/unicode.c:995,1
    - Dst: g_unichar_xdigit_value
      Src: /src/glib/glib/tests/unicode.c:987,1
    - Dst: g_unichar_xdigit_value
      Src: /src/glib/glib/tests/unicode.c:997,1
    - Dst: g_unichar_xdigit_value
      Src: /src/glib/glib/tests/unicode.c:996,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:984,1
    - Dst: g_unichar_xdigit_value
      Src: /src/glib/glib/tests/unicode.c:984,1
    - Dst: g_unichar_xdigit_value
      Src: /src/glib/glib/tests/unicode.c:969,1
    - Dst: g_unichar_xdigit_value
      Src: /src/glib/glib/tests/unicode.c:970,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:973,1
    - Dst: g_unichar_xdigit_value
      Src: /src/glib/glib/tests/unicode.c:972,1
    - Dst: g_unichar_xdigit_value
      Src: /src/glib/glib/tests/unicode.c:976,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:977,1
    - Dst: g_unichar_xdigit_value
      Src: /src/glib/glib/tests/unicode.c:980,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:981,1
    - Dst: g_unichar_xdigit_value
      Src: /src/glib/glib/tests/unicode.c:981,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:982,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:985,1
    - Dst: g_unichar_xdigit_value
      Src: /src/glib/glib/tests/unicode.c:985,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:994,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:996,1
    - Dst: g_unichar_xdigit_value
      Src: /src/glib/glib/tests/unicode.c:994,1
    - Dst: g_unichar_xdigit_value
      Src: /src/glib/glib/tests/unicode.c:967,1
    - Dst: g_unichar_xdigit_value
      Src: /src/glib/glib/tests/unicode.c:971,1
    - Dst: g_unichar_xdigit_value
      Src: /src/glib/glib/tests/unicode.c:973,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:974,1
    - Dst: g_unichar_xdigit_value
      Src: /src/glib/glib/tests/unicode.c:977,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:978,1
    - Dst: g_unichar_xdigit_value
      Src: /src/glib/glib/tests/unicode.c:998,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:983,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:998,1
    - Dst: g_unichar_xdigit_value
      Src: /src/glib/glib/tests/unicode.c:983,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode.c:990,1
    - Dst: g_unichar_xdigit_value
      Src: /src/glib/glib/tests/unicode.c:990,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 59
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 999
      start: 964
    functionDepth: 0
    functionLinenumber: 964
    functionLinenumberEnd: 999
    functionName: test_xdigit_value
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - g_unichar_xdigit_value
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_xdigit_value (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unichar_iscntrl
      Src: /src/glib/glib/tests/unicode.c:1036,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1036,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1038,1
    - Dst: g_unichar_iscntrl
      Src: /src/glib/glib/tests/unicode.c:1038,1
    - Dst: g_unichar_iscntrl
      Src: /src/glib/glib/tests/unicode.c:1046,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1047,1
    - Dst: g_unichar_iscntrl
      Src: /src/glib/glib/tests/unicode.c:1048,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1041,1
    - Dst: g_unichar_iscntrl
      Src: /src/glib/glib/tests/unicode.c:1041,1
    - Dst: g_unichar_iscntrl
      Src: /src/glib/glib/tests/unicode.c:1047,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1037,1
    - Dst: g_unichar_iscntrl
      Src: /src/glib/glib/tests/unicode.c:1037,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1043,1
    - Dst: g_unichar_iscntrl
      Src: /src/glib/glib/tests/unicode.c:1043,1
    - Dst: g_unichar_iscntrl
      Src: /src/glib/glib/tests/unicode.c:1049,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode.c:1035,1
    - Dst: g_unichar_iscntrl
      Src: /src/glib/glib/tests/unicode.c:1035,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1045,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1048,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1046,1
    - Dst: g_unichar_iscntrl
      Src: /src/glib/glib/tests/unicode.c:1045,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode.c:1049,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1050
      start: 1032
    functionDepth: 0
    functionLinenumber: 1032
    functionLinenumberEnd: 1050
    functionName: test_cntrl
    functionSourceFile: /src/glib/glib/tests/unicode.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_assert_true
    - g_unichar_iscntrl
    linkageType: ''
    returnType: void
    signature: 'static void test_cntrl (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/rand.c:90,1
    - Dst: g_rand_set_seed
      Src: /src/glib/glib/tests/rand.c:93,1
    - Dst: g_rand_int
      Src: /src/glib/glib/tests/rand.c:91,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/rand.c:96,1
    - Dst: g_rand_int
      Src: /src/glib/glib/tests/rand.c:101,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/rand.c:110,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/rand.c:114,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/rand.c:115,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/rand.c:118,1
    - Dst: g_random_double
      Src: /src/glib/glib/tests/rand.c:121,1
    - Dst: g_random_double_range
      Src: /src/glib/glib/tests/rand.c:129,1
    - Dst: g_rand_free
      Src: /src/glib/glib/tests/rand.c:155,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/rand.c:91,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/rand.c:111,1
    - Dst: g_rand_double
      Src: /src/glib/glib/tests/rand.c:117,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/rand.c:130,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/rand.c:131,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/rand.c:147,1
    - Dst: g_rand_new_with_seed
      Src: /src/glib/glib/tests/rand.c:88,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/rand.c:97,1
    - Dst: g_rand_int
      Src: /src/glib/glib/tests/rand.c:97,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/rand.c:113,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/rand.c:101,1
    - Dst: g_rand_int_range
      Src: /src/glib/glib/tests/rand.c:109,1
    - Dst: g_rand_double_range
      Src: /src/glib/glib/tests/rand.c:125,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/rand.c:126,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/rand.c:137,1
    - Dst: g_random_boolean
      Src: /src/glib/glib/tests/rand.c:133,1
    - Dst: g_rand_set_seed_array
      Src: /src/glib/glib/tests/rand.c:94,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/rand.c:94,1
    - Dst: g_rand_copy
      Src: /src/glib/glib/tests/rand.c:99,1
    - Dst: g_rand_int
      Src: /src/glib/glib/tests/rand.c:101,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/rand.c:119,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/rand.c:123,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/rand.c:127,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/rand.c:134,1
    - Dst: g_rand_boolean
      Src: /src/glib/glib/tests/rand.c:136,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/rand.c:153,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/rand.c:122,1
    - Dst: ABS
      Src: /src/glib/glib/tests/rand.c:153,1
    - Dst: g_rand_free
      Src: /src/glib/glib/tests/rand.c:156,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 75
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 157
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 157
    functionName: test_rand
    functionSourceFile: /src/glib/glib/tests/rand.c
    functionUses: []
    functionsReached:
    - g_rand_copy
    - g_assert_true
    - G_N_ELEMENTS
    - g_rand_int_range
    - g_rand_double
    - g_assert_cmpint
    - g_rand_int
    - g_random_double_range
    - g_assert_cmpuint
    - g_rand_boolean
    - g_rand_set_seed_array
    - ABS
    - g_random_int_range
    - g_rand_set_seed
    - g_random_boolean
    - g_assert_cmpfloat
    - g_random_double
    - g_rand_new_with_seed
    - g_rand_double_range
    - g_rand_free
    linkageType: ''
    returnType: void
    signature: 'static void test_rand (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/rand.c:176,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/rand.c:178,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/rand.c:181,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/rand.c:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 182
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 182
    functionName: main
    functionSourceFile: /src/glib/glib/tests/rand.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/rand.c:164,1
    - Dst: g_random_double_range
      Src: /src/glib/glib/tests/rand.c:166,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/rand.c:169,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/rand.c:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 170
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 170
    functionName: test_double_range
    functionSourceFile: /src/glib/glib/tests/rand.c
    functionUses: []
    functionsReached:
    - g_assert_cmpfloat
    - g_test_bug
    - g_random_double_range
    linkageType: ''
    returnType: void
    signature: 'static void test_double_range (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_debug
      Src: /src/glib/glib/tests/search-utils.c:73,1
    - Dst: g_str_match_string
      Src: /src/glib/glib/tests/search-utils.c:85,1
    - Dst: g_debug
      Src: /src/glib/glib/tests/search-utils.c:94,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/search-utils.c:91,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/search-utils.c:81,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/search-utils.c:98,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/search-utils.c:102,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 103
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 103
    functionName: test_search
    functionSourceFile: /src/glib/glib/tests/search-utils.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_test_message
    - g_debug
    - setlocale
    - g_str_match_string
    - g_test_skip
    linkageType: ''
    returnType: void
    signature: 'static void test_search (gconstpointer d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/search-utils.c:111,1
    - Dst: g_debug
      Src: /src/glib/glib/tests/search-utils.c:115,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/search-utils.c:113,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/search-utils.c:114,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/search-utils.c:117,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/search-utils.c:118,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/search-utils.c:119,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/search-utils.c:120,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/search-utils.c:121,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/search-utils.c:122,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/search-utils.c:124,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 125
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 125
    functionName: main
    functionSourceFile: /src/glib/glib/tests/search-utils.c
    functionUses: []
    functionsReached:
    - g_test_add_data_func
    - g_debug
    - g_test_run
    - setlocale
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/asyncqueue.c:36,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/asyncqueue.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - d1
    - d2
    - data
    argTypes:
    - gconstpointer
    - gconstpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: compare_func
    functionSourceFile: /src/glib/glib/tests/asyncqueue.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    linkageType: ''
    returnType: gint
    signature: 'static gint compare_func (gconstpointer d1, gconstpointer d2, gpointer
      data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_async_queue_new_full
      Src: /src/glib/glib/tests/asyncqueue.c:119,1
    - Dst: g_async_queue_push
      Src: /src/glib/glib/tests/asyncqueue.c:123,1
    - Dst: g_async_queue_push
      Src: /src/glib/glib/tests/asyncqueue.c:124,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/asyncqueue.c:121,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/asyncqueue.c:123,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/asyncqueue.c:124,1
    - Dst: g_async_queue_push
      Src: /src/glib/glib/tests/asyncqueue.c:125,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/asyncqueue.c:125,1
    - Dst: g_async_queue_push
      Src: /src/glib/glib/tests/asyncqueue.c:126,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/asyncqueue.c:126,1
    - Dst: g_async_queue_length
      Src: /src/glib/glib/tests/asyncqueue.c:128,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/asyncqueue.c:128,1
    - Dst: g_async_queue_unref
      Src: /src/glib/glib/tests/asyncqueue.c:130,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/asyncqueue.c:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 133
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 133
    functionName: test_async_queue_destroy
    functionSourceFile: /src/glib/glib/tests/asyncqueue.c
    functionUses: []
    functionsReached:
    - g_async_queue_new_full
    - g_async_queue_length
    - g_async_queue_push
    - GINT_TO_POINTER
    - g_async_queue_unref
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_async_queue_destroy (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/asyncqueue.c:145,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/asyncqueue.c:158,1
    - Dst: g_async_queue_pop
      Src: /src/glib/glib/tests/asyncqueue.c:150,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/asyncqueue.c:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 162
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 162
    functionName: thread_func
    functionSourceFile: /src/glib/glib/tests/asyncqueue.c
    functionUses: []
    functionsReached:
    - g_async_queue_pop
    - GPOINTER_TO_INT
    - g_usleep
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer thread_func (gpointer data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_date_time_unref
      Src: /src/glib/glib/tests/asyncqueue.c:224,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/asyncqueue.c:227,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/asyncqueue.c:232,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/asyncqueue.c:234,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/asyncqueue.c:250,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/asyncqueue.c:261,1
    - Dst: g_get_current_time
      Src: /src/glib/glib/tests/asyncqueue.c:264,1
    - Dst: g_async_queue_timed_pop
      Src: /src/glib/glib/tests/asyncqueue.c:266,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/asyncqueue.c:271,1
    - Dst: g_async_queue_push
      Src: /src/glib/glib/tests/asyncqueue.c:273,1
    - Dst: g_async_queue_timed_pop_unlocked
      Src: /src/glib/glib/tests/asyncqueue.c:274,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/asyncqueue.c:275,1
    - Dst: g_async_queue_timed_pop_unlocked
      Src: /src/glib/glib/tests/asyncqueue.c:282,1
    - Dst: g_async_queue_push
      Src: /src/glib/glib/tests/asyncqueue.c:258,1
    - Dst: g_async_queue_try_pop
      Src: /src/glib/glib/tests/asyncqueue.c:261,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/asyncqueue.c:275,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/asyncqueue.c:273,1
    - Dst: g_get_current_time
      Src: /src/glib/glib/tests/asyncqueue.c:279,1
    - Dst: g_async_queue_lock
      Src: /src/glib/glib/tests/asyncqueue.c:281,1
    - Dst: g_async_queue_unlock
      Src: /src/glib/glib/tests/asyncqueue.c:283,1
    - Dst: g_time_val_add
      Src: /src/glib/glib/tests/asyncqueue.c:280,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/asyncqueue.c:266,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/asyncqueue.c:270,1
    - Dst: g_get_current_time
      Src: /src/glib/glib/tests/asyncqueue.c:231,1
    - Dst: g_date_time_get_year
      Src: /src/glib/glib/tests/asyncqueue.c:223,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/asyncqueue.c:237,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/asyncqueue.c:242,1
    - Dst: g_async_queue_new
      Src: /src/glib/glib/tests/asyncqueue.c:245,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/asyncqueue.c:256,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/asyncqueue.c:252,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/asyncqueue.c:247,1
    - Dst: g_async_queue_timed_pop
      Src: /src/glib/glib/tests/asyncqueue.c:259,1
    - Dst: g_time_val_add
      Src: /src/glib/glib/tests/asyncqueue.c:265,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/asyncqueue.c:282,1
    - Dst: g_async_queue_unref
      Src: /src/glib/glib/tests/asyncqueue.c:290,1
    - Dst: g_async_queue_try_pop
      Src: /src/glib/glib/tests/asyncqueue.c:276,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/asyncqueue.c:287,1
    - Dst: g_date_time_new_now_utc
      Src: /src/glib/glib/tests/asyncqueue.c:222,1
    - Dst: g_async_queue_timed_pop
      Src: /src/glib/glib/tests/asyncqueue.c:236,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/asyncqueue.c:239,1
    - Dst: g_async_queue_timeout_pop
      Src: /src/glib/glib/tests/asyncqueue.c:248,1
    - Dst: g_async_queue_timed_pop_unlocked
      Src: /src/glib/glib/tests/asyncqueue.c:241,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/asyncqueue.c:248,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/asyncqueue.c:258,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/asyncqueue.c:260,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/asyncqueue.c:260,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/asyncqueue.c:268,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/asyncqueue.c:285,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/asyncqueue.c:288,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/asyncqueue.c:276,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 78
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 291
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 291
    functionName: test_async_queue_timed
    functionSourceFile: /src/glib/glib/tests/asyncqueue.c
    functionUses: []
    functionsReached:
    - g_time_val_add
    - g_date_time_unref
    - g_async_queue_timed_pop
    - g_assert_null
    - g_date_time_get_year
    - g_async_queue_new
    - g_test_assert_expected_messages
    - g_async_queue_timed_pop_unlocked
    - g_async_queue_unlock
    - g_async_queue_timeout_pop
    - g_async_queue_push
    - g_async_queue_unref
    - g_get_monotonic_time
    - g_get_current_time
    - g_test_skip
    - g_assert_cmpint
    - GPOINTER_TO_INT
    - g_async_queue_lock
    - g_test_undefined
    - g_test_expect_message
    - GINT_TO_POINTER
    - g_async_queue_try_pop
    - g_date_time_new_now_utc
    linkageType: ''
    returnType: void
    signature: 'static void test_async_queue_timed (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_async_queue_new
      Src: /src/glib/glib/tests/asyncqueue.c:344,1
    - Dst: g_async_queue_push_front
      Src: /src/glib/glib/tests/asyncqueue.c:350,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/asyncqueue.c:348,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/asyncqueue.c:351,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/asyncqueue.c:373,1
    - Dst: g_async_queue_pop
      Src: /src/glib/glib/tests/asyncqueue.c:375,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/asyncqueue.c:378,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/asyncqueue.c:380,1
    - Dst: g_async_queue_unref
      Src: /src/glib/glib/tests/asyncqueue.c:382,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/asyncqueue.c:371,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/asyncqueue.c:378,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/asyncqueue.c:346,1
    - Dst: g_async_queue_push_front
      Src: /src/glib/glib/tests/asyncqueue.c:373,1
    - Dst: g_async_queue_pop
      Src: /src/glib/glib/tests/asyncqueue.c:376,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/asyncqueue.c:377,1
    - Dst: g_async_queue_pop
      Src: /src/glib/glib/tests/asyncqueue.c:377,1
    - Dst: g_async_queue_try_pop
      Src: /src/glib/glib/tests/asyncqueue.c:380,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/asyncqueue.c:350,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/asyncqueue.c:353,1
    - Dst: g_async_queue_push_front
      Src: /src/glib/glib/tests/asyncqueue.c:355,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/asyncqueue.c:356,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/asyncqueue.c:360,1
    - Dst: g_async_queue_push_front_unlocked
      Src: /src/glib/glib/tests/asyncqueue.c:365,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/asyncqueue.c:366,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/asyncqueue.c:369,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/asyncqueue.c:361,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/asyncqueue.c:370,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/asyncqueue.c:377,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/asyncqueue.c:358,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/asyncqueue.c:363,1
    - Dst: g_async_queue_push
      Src: /src/glib/glib/tests/asyncqueue.c:369,1
    - Dst: g_async_queue_push_front_unlocked
      Src: /src/glib/glib/tests/asyncqueue.c:360,1
    - Dst: g_async_queue_push
      Src: /src/glib/glib/tests/asyncqueue.c:370,1
    - Dst: g_async_queue_push
      Src: /src/glib/glib/tests/asyncqueue.c:371,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/asyncqueue.c:375,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/asyncqueue.c:375,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/asyncqueue.c:376,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/asyncqueue.c:376,1
    - Dst: g_async_queue_pop
      Src: /src/glib/glib/tests/asyncqueue.c:378,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 42
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 383
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 383
    functionName: test_async_queue_push_front
    functionSourceFile: /src/glib/glib/tests/asyncqueue.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - GPOINTER_TO_INT
    - g_async_queue_push_front_unlocked
    - g_assert_null
    - g_test_undefined
    - g_async_queue_push_front
    - g_test_expect_message
    - g_async_queue_push
    - g_async_queue_pop
    - g_async_queue_try_pop
    - GINT_TO_POINTER
    - g_async_queue_new
    - g_async_queue_unref
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_async_queue_push_front (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - item
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: destroy_notify
    functionSourceFile: /src/glib/glib/tests/asyncqueue.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void destroy_notify (gpointer item) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/asyncqueue.c:49,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/asyncqueue.c:57,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/asyncqueue.c:77,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/asyncqueue.c:87,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/asyncqueue.c:95,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/asyncqueue.c:95,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/asyncqueue.c:96,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/asyncqueue.c:97,1
    - Dst: g_async_queue_pop
      Src: /src/glib/glib/tests/asyncqueue.c:94,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/asyncqueue.c:99,1
    - Dst: g_async_queue_pop
      Src: /src/glib/glib/tests/asyncqueue.c:97,1
    - Dst: g_async_queue_try_pop
      Src: /src/glib/glib/tests/asyncqueue.c:99,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/asyncqueue.c:90,1
    - Dst: g_async_queue_pop
      Src: /src/glib/glib/tests/asyncqueue.c:95,1
    - Dst: g_async_queue_sort
      Src: /src/glib/glib/tests/asyncqueue.c:53,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/asyncqueue.c:63,1
    - Dst: g_async_queue_push_sorted_unlocked
      Src: /src/glib/glib/tests/asyncqueue.c:65,1
    - Dst: g_async_queue_sort
      Src: /src/glib/glib/tests/asyncqueue.c:71,1
    - Dst: g_async_queue_push_sorted
      Src: /src/glib/glib/tests/asyncqueue.c:59,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/asyncqueue.c:74,1
    - Dst: g_async_queue_sort_unlocked
      Src: /src/glib/glib/tests/asyncqueue.c:81,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/asyncqueue.c:84,1
    - Dst: g_async_queue_push_sorted
      Src: /src/glib/glib/tests/asyncqueue.c:91,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/asyncqueue.c:93,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/asyncqueue.c:96,1
    - Dst: g_async_queue_push
      Src: /src/glib/glib/tests/asyncqueue.c:49,1
    - Dst: g_async_queue_push
      Src: /src/glib/glib/tests/asyncqueue.c:50,1
    - Dst: g_async_queue_push
      Src: /src/glib/glib/tests/asyncqueue.c:51,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/asyncqueue.c:55,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/asyncqueue.c:67,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/asyncqueue.c:61,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/asyncqueue.c:65,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/asyncqueue.c:59,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/asyncqueue.c:72,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/asyncqueue.c:82,1
    - Dst: g_async_queue_pop
      Src: /src/glib/glib/tests/asyncqueue.c:96,1
    - Dst: g_async_queue_unref
      Src: /src/glib/glib/tests/asyncqueue.c:101,1
    - Dst: g_async_queue_pop
      Src: /src/glib/glib/tests/asyncqueue.c:93,1
    - Dst: g_async_queue_new
      Src: /src/glib/glib/tests/asyncqueue.c:47,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/asyncqueue.c:50,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/asyncqueue.c:51,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/asyncqueue.c:69,1
    - Dst: g_async_queue_sort
      Src: /src/glib/glib/tests/asyncqueue.c:76,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/asyncqueue.c:79,1
    - Dst: g_async_queue_sort_unlocked
      Src: /src/glib/glib/tests/asyncqueue.c:86,1
    - Dst: g_async_queue_push_sorted
      Src: /src/glib/glib/tests/asyncqueue.c:90,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/asyncqueue.c:91,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/asyncqueue.c:94,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/asyncqueue.c:93,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/asyncqueue.c:97,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/asyncqueue.c:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 54
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 102
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 102
    functionName: test_async_queue_sort
    functionSourceFile: /src/glib/glib/tests/asyncqueue.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_async_queue_push_sorted_unlocked
    - GPOINTER_TO_INT
    - g_assert_null
    - g_async_queue_sort
    - g_test_undefined
    - g_async_queue_push_sorted
    - g_test_expect_message
    - g_async_queue_push
    - g_async_queue_pop
    - g_async_queue_try_pop
    - GINT_TO_POINTER
    - g_async_queue_new
    - g_async_queue_unref
    - g_async_queue_sort_unlocked
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_async_queue_sort (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/asyncqueue.c:181,1
    - Dst: g_async_queue_lock
      Src: /src/glib/glib/tests/asyncqueue.c:178,1
    - Dst: g_async_queue_push_unlocked
      Src: /src/glib/glib/tests/asyncqueue.c:183,1
    - Dst: g_async_queue_unlock
      Src: /src/glib/glib/tests/asyncqueue.c:185,1
    - Dst: g_async_queue_push
      Src: /src/glib/glib/tests/asyncqueue.c:191,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/asyncqueue.c:194,1
    - Dst: g_async_queue_unref
      Src: /src/glib/glib/tests/asyncqueue.c:211,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/asyncqueue.c:196,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/asyncqueue.c:209,1
    - Dst: g_async_queue_new
      Src: /src/glib/glib/tests/asyncqueue.c:171,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/asyncqueue.c:187,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/asyncqueue.c:202,1
    - Dst: g_async_queue_length
      Src: /src/glib/glib/tests/asyncqueue.c:196,1
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/asyncqueue.c:174,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/asyncqueue.c:174,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/asyncqueue.c:191,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/asyncqueue.c:203,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/asyncqueue.c:183,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/asyncqueue.c:208,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 212
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 212
    functionName: test_async_queue_threads
    functionSourceFile: /src/glib/glib/tests/asyncqueue.c
    functionUses: []
    functionsReached:
    - g_async_queue_lock
    - g_async_queue_length
    - g_async_queue_unlock
    - g_thread_new
    - g_usleep
    - g_async_queue_push_unlocked
    - g_async_queue_push
    - GINT_TO_POINTER
    - g_async_queue_new
    - g_thread_join
    - g_async_queue_unref
    - g_random_int_range
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_async_queue_threads (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/asyncqueue.c:300,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/asyncqueue.c:302,1
    - Dst: g_async_queue_remove
      Src: /src/glib/glib/tests/asyncqueue.c:304,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/asyncqueue.c:307,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/asyncqueue.c:317,1
    - Dst: g_async_queue_push
      Src: /src/glib/glib/tests/asyncqueue.c:323,1
    - Dst: g_async_queue_remove_unlocked
      Src: /src/glib/glib/tests/asyncqueue.c:314,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/asyncqueue.c:330,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/asyncqueue.c:332,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/asyncqueue.c:304,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/asyncqueue.c:314,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/asyncqueue.c:325,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/asyncqueue.c:326,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/asyncqueue.c:328,1
    - Dst: g_async_queue_pop
      Src: /src/glib/glib/tests/asyncqueue.c:330,1
    - Dst: g_async_queue_pop
      Src: /src/glib/glib/tests/asyncqueue.c:332,1
    - Dst: g_async_queue_try_pop
      Src: /src/glib/glib/tests/asyncqueue.c:334,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/asyncqueue.c:312,1
    - Dst: g_async_queue_push
      Src: /src/glib/glib/tests/asyncqueue.c:324,1
    - Dst: g_async_queue_push
      Src: /src/glib/glib/tests/asyncqueue.c:325,1
    - Dst: g_async_queue_push
      Src: /src/glib/glib/tests/asyncqueue.c:326,1
    - Dst: g_async_queue_remove
      Src: /src/glib/glib/tests/asyncqueue.c:328,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/asyncqueue.c:330,1
    - Dst: g_async_queue_pop
      Src: /src/glib/glib/tests/asyncqueue.c:331,1
    - Dst: g_async_queue_unref
      Src: /src/glib/glib/tests/asyncqueue.c:336,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/asyncqueue.c:331,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/asyncqueue.c:332,1
    - Dst: g_async_queue_new
      Src: /src/glib/glib/tests/asyncqueue.c:298,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/asyncqueue.c:305,1
    - Dst: g_async_queue_remove
      Src: /src/glib/glib/tests/asyncqueue.c:309,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/asyncqueue.c:310,1
    - Dst: g_async_queue_remove_unlocked
      Src: /src/glib/glib/tests/asyncqueue.c:319,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/asyncqueue.c:320,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/asyncqueue.c:323,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/asyncqueue.c:315,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/asyncqueue.c:324,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/asyncqueue.c:331,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/asyncqueue.c:334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 41
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 337
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 337
    functionName: test_async_queue_remove
    functionSourceFile: /src/glib/glib/tests/asyncqueue.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - GPOINTER_TO_INT
    - g_assert_null
    - g_test_undefined
    - g_test_expect_message
    - g_async_queue_push
    - g_async_queue_pop
    - g_async_queue_try_pop
    - GINT_TO_POINTER
    - g_async_queue_new
    - g_async_queue_remove
    - g_async_queue_unref
    - g_async_queue_remove_unlocked
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_async_queue_remove (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/asyncqueue.c:413,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/asyncqueue.c:483,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/asyncqueue.c:507,1
    - Dst: g_async_queue_push_unlocked
      Src: /src/glib/glib/tests/asyncqueue.c:487,1
    - Dst: g_async_queue_unref_and_unlock
      Src: /src/glib/glib/tests/asyncqueue.c:496,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/asyncqueue.c:420,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/asyncqueue.c:470,1
    - Dst: g_async_queue_try_pop
      Src: /src/glib/glib/tests/asyncqueue.c:447,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/asyncqueue.c:499,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/asyncqueue.c:509,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/asyncqueue.c:468,1
    - Dst: g_async_queue_push
      Src: /src/glib/glib/tests/asyncqueue.c:506,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/asyncqueue.c:482,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/asyncqueue.c:423,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/asyncqueue.c:440,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/asyncqueue.c:475,1
    - Dst: g_async_queue_unlock
      Src: /src/glib/glib/tests/asyncqueue.c:493,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/asyncqueue.c:430,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/asyncqueue.c:460,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/asyncqueue.c:519,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/asyncqueue.c:438,1
    - Dst: g_async_queue_ref
      Src: /src/glib/glib/tests/asyncqueue.c:492,1
    - Dst: g_async_queue_unref
      Src: /src/glib/glib/tests/asyncqueue.c:511,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/asyncqueue.c:506,1
    - Dst: g_async_queue_length
      Src: /src/glib/glib/tests/asyncqueue.c:397,1
    - Dst: g_async_queue_unref
      Src: /src/glib/glib/tests/asyncqueue.c:417,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/asyncqueue.c:445,1
    - Dst: g_async_queue_lock
      Src: /src/glib/glib/tests/asyncqueue.c:494,1
    - Dst: g_async_queue_push
      Src: /src/glib/glib/tests/asyncqueue.c:507,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/asyncqueue.c:455,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/asyncqueue.c:485,1
    - Dst: g_async_queue_pop
      Src: /src/glib/glib/tests/asyncqueue.c:514,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/asyncqueue.c:504,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/asyncqueue.c:398,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/asyncqueue.c:395,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/asyncqueue.c:448,1
    - Dst: g_async_queue_timeout_pop_unlocked
      Src: /src/glib/glib/tests/asyncqueue.c:462,1
    - Dst: g_async_queue_try_pop
      Src: /src/glib/glib/tests/asyncqueue.c:498,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/asyncqueue.c:400,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/asyncqueue.c:410,1
    - Dst: g_async_queue_lock
      Src: /src/glib/glib/tests/asyncqueue.c:427,1
    - Dst: g_async_queue_pop
      Src: /src/glib/glib/tests/asyncqueue.c:437,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/asyncqueue.c:515,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/asyncqueue.c:408,1
    - Dst: g_async_queue_timeout_pop
      Src: /src/glib/glib/tests/asyncqueue.c:457,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/asyncqueue.c:508,1
    - Dst: g_async_queue_lock
      Src: /src/glib/glib/tests/asyncqueue.c:501,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/asyncqueue.c:415,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/asyncqueue.c:425,1
    - Dst: g_async_queue_pop_unlocked
      Src: /src/glib/glib/tests/asyncqueue.c:442,1
    - Dst: g_async_queue_try_pop_unlocked
      Src: /src/glib/glib/tests/asyncqueue.c:452,1
    - Dst: g_async_queue_push
      Src: /src/glib/glib/tests/asyncqueue.c:472,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/asyncqueue.c:478,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/asyncqueue.c:418,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/asyncqueue.c:428,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/asyncqueue.c:463,1
    - Dst: g_async_queue_try_pop_unlocked
      Src: /src/glib/glib/tests/asyncqueue.c:502,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/asyncqueue.c:435,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/asyncqueue.c:393,1
    - Dst: g_async_queue_length_unlocked
      Src: /src/glib/glib/tests/asyncqueue.c:402,1
    - Dst: g_async_queue_ref
      Src: /src/glib/glib/tests/asyncqueue.c:407,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/asyncqueue.c:433,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/asyncqueue.c:443,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/asyncqueue.c:473,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/asyncqueue.c:450,1
    - Dst: g_async_queue_new_full
      Src: /src/glib/glib/tests/asyncqueue.c:466,1
    - Dst: g_async_queue_ref_unlocked
      Src: /src/glib/glib/tests/asyncqueue.c:412,1
    - Dst: g_async_queue_unref_and_unlock
      Src: /src/glib/glib/tests/asyncqueue.c:422,1
    - Dst: g_async_queue_push
      Src: /src/glib/glib/tests/asyncqueue.c:508,1
    - Dst: g_async_queue_lock
      Src: /src/glib/glib/tests/asyncqueue.c:491,1
    - Dst: g_async_queue_push_unlocked
      Src: /src/glib/glib/tests/asyncqueue.c:482,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/asyncqueue.c:512,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/asyncqueue.c:516,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/asyncqueue.c:472,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/asyncqueue.c:453,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/asyncqueue.c:458,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/asyncqueue.c:488,1
    - Dst: g_async_queue_push
      Src: /src/glib/glib/tests/asyncqueue.c:477,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/asyncqueue.c:480,1
    - Dst: g_async_queue_ref_unlocked
      Src: /src/glib/glib/tests/asyncqueue.c:495,1
    - Dst: g_async_queue_unlock
      Src: /src/glib/glib/tests/asyncqueue.c:503,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/asyncqueue.c:403,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/asyncqueue.c:405,1
    - Dst: g_async_queue_unlock
      Src: /src/glib/glib/tests/asyncqueue.c:432,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/asyncqueue.c:515,1
    - Dst: g_async_queue_unref
      Src: /src/glib/glib/tests/asyncqueue.c:518,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 94
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 520
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 520
    functionName: test_basics
    functionSourceFile: /src/glib/glib/tests/asyncqueue.c
    functionUses: []
    functionsReached:
    - g_async_queue_new_full
    - g_assert_null
    - g_async_queue_try_pop_unlocked
    - g_test_assert_expected_messages
    - g_async_queue_timeout_pop_unlocked
    - g_async_queue_length
    - g_async_queue_unlock
    - g_async_queue_timeout_pop
    - g_async_queue_push
    - g_async_queue_unref
    - g_async_queue_ref_unlocked
    - g_assert_cmpint
    - g_async_queue_ref
    - GPOINTER_TO_INT
    - g_async_queue_lock
    - g_test_undefined
    - g_test_expect_message
    - g_async_queue_pop
    - g_async_queue_push_unlocked
    - g_async_queue_length_unlocked
    - GINT_TO_POINTER
    - g_async_queue_unref_and_unlock
    - g_async_queue_try_pop
    - g_async_queue_pop_unlocked
    linkageType: ''
    returnType: void
    signature: 'static void test_basics (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/asyncqueue.c:525,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/asyncqueue.c:530,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/asyncqueue.c:529,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/asyncqueue.c:528,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/asyncqueue.c:527,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/asyncqueue.c:531,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/asyncqueue.c:532,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/asyncqueue.c:533,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/asyncqueue.c:535,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 536
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 536
    functionName: main
    functionSourceFile: /src/glib/glib/tests/asyncqueue.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_append
      Src: /src/glib/glib/tests/slist.c:80,1
    - Dst: g_slist_sort
      Src: /src/glib/glib/tests/slist.c:84,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/slist.c:80,1
    - Dst: g_slist_copy
      Src: /src/glib/glib/tests/slist.c:83,1
    - Dst: g_slist_nth_data
      Src: /src/glib/glib/tests/slist.c:92,1
    - Dst: g_slist_nth_data
      Src: /src/glib/glib/tests/slist.c:93,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/slist.c:95,1
    - Dst: g_slist_free
      Src: /src/glib/glib/tests/slist.c:98,1
    - Dst: g_slist_free_full
      Src: /src/glib/glib/tests/slist.c:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 100
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 100
    functionName: test_slist_sort_stable
    functionSourceFile: /src/glib/glib/tests/slist.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_slist_copy
    - g_assert
    - g_slist_sort
    - g_slist_nth_data
    - g_slist_free_full
    - g_slist_append
    - g_slist_free
    linkageType: ''
    returnType: void
    signature: 'static void test_slist_sort_stable (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_append
      Src: /src/glib/glib/tests/slist.c:31,1
    - Dst: g_slist_nth_data
      Src: /src/glib/glib/tests/slist.c:38,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/slist.c:31,1
    - Dst: g_slist_sort
      Src: /src/glib/glib/tests/slist.c:33,1
    - Dst: g_slist_nth_data
      Src: /src/glib/glib/tests/slist.c:39,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/slist.c:41,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/slist.c:41,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/slist.c:41,1
    - Dst: g_slist_free
      Src: /src/glib/glib/tests/slist.c:44,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 45
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 45
    functionName: test_slist_sort
    functionSourceFile: /src/glib/glib/tests/slist.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_assert
    - GINT_TO_POINTER
    - g_slist_sort
    - g_slist_nth_data
    - g_slist_append
    - g_slist_free
    linkageType: ''
    returnType: void
    signature: 'static void test_slist_sort (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_insert_sorted_with_data
      Src: /src/glib/glib/tests/slist.c:131,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/slist.c:143,1
    - Dst: g_slist_nth_data
      Src: /src/glib/glib/tests/slist.c:140,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/slist.c:132,1
    - Dst: g_slist_nth_data
      Src: /src/glib/glib/tests/slist.c:141,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/slist.c:143,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/slist.c:143,1
    - Dst: g_slist_free
      Src: /src/glib/glib/tests/slist.c:146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 147
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 147
    functionName: test_slist_insert_sorted_with_data
    functionSourceFile: /src/glib/glib/tests/slist.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_assert
    - g_slist_insert_sorted_with_data
    - GINT_TO_POINTER
    - g_slist_nth_data
    - g_slist_free
    linkageType: ''
    returnType: void
    signature: 'static void test_slist_insert_sorted_with_data (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_append
      Src: /src/glib/glib/tests/slist.c:180,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/slist.c:185,1
    - Dst: g_slist_nth
      Src: /src/glib/glib/tests/slist.c:184,1
    - Dst: g_slist_free
      Src: /src/glib/glib/tests/slist.c:188,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 189
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 189
    functionName: test_slist_nth
    functionSourceFile: /src/glib/glib/tests/slist.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_slist_nth
    - g_slist_append
    - g_slist_free
    linkageType: ''
    returnType: void
    signature: 'static void test_slist_nth (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_append
      Src: /src/glib/glib/tests/slist.c:232,1
    - Dst: g_slist_remove_all
      Src: /src/glib/glib/tests/slist.c:240,1
    - Dst: g_slist_append
      Src: /src/glib/glib/tests/slist.c:233,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/slist.c:236,1
    - Dst: g_slist_length
      Src: /src/glib/glib/tests/slist.c:236,1
    - Dst: g_slist_remove_all
      Src: /src/glib/glib/tests/slist.c:241,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/slist.c:244,1
    - Dst: g_slist_length
      Src: /src/glib/glib/tests/slist.c:244,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/slist.c:245,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 246
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 246
    functionName: test_slist_remove_all
    functionSourceFile: /src/glib/glib/tests/slist.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_slist_length
    - g_slist_remove_all
    - g_slist_append
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_slist_remove_all (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/slist.c:303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - l
    - data
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 304
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 304
    functionName: find_num
    functionSourceFile: /src/glib/glib/tests/slist.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    linkageType: ''
    returnType: gint
    signature: 'static gint find_num (gconstpointer l, gconstpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_append
      Src: /src/glib/glib/tests/slist.c:343,1
    - Dst: g_slist_concat
      Src: /src/glib/glib/tests/slist.c:345,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/slist.c:346,1
    - Dst: g_slist_append
      Src: /src/glib/glib/tests/slist.c:344,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/slist.c:347,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/slist.c:348,1
    - Dst: g_slist_free
      Src: /src/glib/glib/tests/slist.c:349,1
    - Dst: g_slist_append
      Src: /src/glib/glib/tests/slist.c:351,1
    - Dst: g_slist_concat
      Src: /src/glib/glib/tests/slist.c:353,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/slist.c:354,1
    - Dst: g_slist_concat
      Src: /src/glib/glib/tests/slist.c:355,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/slist.c:356,1
    - Dst: g_slist_concat
      Src: /src/glib/glib/tests/slist.c:360,1
    - Dst: g_slist_length
      Src: /src/glib/glib/tests/slist.c:354,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/slist.c:361,1
    - Dst: g_slist_length
      Src: /src/glib/glib/tests/slist.c:356,1
    - Dst: g_slist_free
      Src: /src/glib/glib/tests/slist.c:358,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 362
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 362
    functionName: test_slist_concat
    functionSourceFile: /src/glib/glib/tests/slist.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_slist_length
    - g_slist_concat
    - g_slist_append
    - g_slist_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_slist_concat (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/tests/slist.c:399,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - src
    - data
    argTypes:
    - gconstpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 400
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 400
    functionName: copy_and_count_string
    functionSourceFile: /src/glib/glib/tests/slist.c
    functionUses: []
    functionsReached:
    - g_strdup
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer copy_and_count_string (gconstpointer src, gpointer
      data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/slist.c:15,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/slist.c:16,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 19
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 19
    functionName: sort
    functionSourceFile: /src/glib/glib/tests/slist.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    linkageType: ''
    returnType: gint
    signature: 'static gint sort (gconstpointer p1, gconstpointer p2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_append
      Src: /src/glib/glib/tests/slist.c:54,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/slist.c:54,1
    - Dst: g_slist_nth_data
      Src: /src/glib/glib/tests/slist.c:61,1
    - Dst: g_slist_sort_with_data
      Src: /src/glib/glib/tests/slist.c:56,1
    - Dst: g_slist_nth_data
      Src: /src/glib/glib/tests/slist.c:62,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/slist.c:64,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/slist.c:64,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/slist.c:64,1
    - Dst: g_slist_free
      Src: /src/glib/glib/tests/slist.c:67,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 68
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 68
    functionName: test_slist_sort_with_data
    functionSourceFile: /src/glib/glib/tests/slist.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_assert
    - GINT_TO_POINTER
    - g_slist_sort_with_data
    - g_slist_nth_data
    - g_slist_append
    - g_slist_free
    linkageType: ''
    returnType: void
    signature: 'static void test_slist_sort_with_data (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_insert_sorted
      Src: /src/glib/glib/tests/slist.c:109,1
    - Dst: g_slist_nth_data
      Src: /src/glib/glib/tests/slist.c:116,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/slist.c:109,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/slist.c:118,1
    - Dst: g_slist_nth_data
      Src: /src/glib/glib/tests/slist.c:115,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/slist.c:118,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/slist.c:118,1
    - Dst: g_slist_free
      Src: /src/glib/glib/tests/slist.c:121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 122
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 122
    functionName: test_slist_insert_sorted
    functionSourceFile: /src/glib/glib/tests/slist.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_assert
    - GINT_TO_POINTER
    - g_slist_nth_data
    - g_slist_free
    - g_slist_insert_sorted
    linkageType: ''
    returnType: void
    signature: 'static void test_slist_insert_sorted (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_append
      Src: /src/glib/glib/tests/slist.c:158,1
    - Dst: g_slist_nth
      Src: /src/glib/glib/tests/slist.c:164,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/slist.c:165,1
    - Dst: g_slist_reverse
      Src: /src/glib/glib/tests/slist.c:160,1
    - Dst: g_slist_free
      Src: /src/glib/glib/tests/slist.c:168,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 169
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 169
    functionName: test_slist_reverse
    functionSourceFile: /src/glib/glib/tests/slist.c
    functionUses: []
    functionsReached:
    - g_slist_nth
    - g_assert
    - g_slist_reverse
    - g_slist_append
    - g_slist_free
    linkageType: ''
    returnType: void
    signature: 'static void test_slist_reverse (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_append
      Src: /src/glib/glib/tests/slist.c:201,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/slist.c:205,1
    - Dst: g_slist_length
      Src: /src/glib/glib/tests/slist.c:205,1
    - Dst: g_slist_append
      Src: /src/glib/glib/tests/slist.c:202,1
    - Dst: g_slist_remove
      Src: /src/glib/glib/tests/slist.c:209,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/slist.c:212,1
    - Dst: g_slist_length
      Src: /src/glib/glib/tests/slist.c:212,1
    - Dst: g_slist_nth
      Src: /src/glib/glib/tests/slist.c:216,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/slist.c:217,1
    - Dst: g_slist_free
      Src: /src/glib/glib/tests/slist.c:220,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 221
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 221
    functionName: test_slist_remove
    functionSourceFile: /src/glib/glib/tests/slist.c
    functionUses: []
    functionsReached:
    - g_slist_nth
    - g_slist_remove
    - g_assert
    - g_slist_length
    - g_slist_append
    - g_slist_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_slist_remove (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_insert_before
      Src: /src/glib/glib/tests/slist.c:259,1
    - Dst: g_slist_insert
      Src: /src/glib/glib/tests/slist.c:262,1
    - Dst: g_slist_insert
      Src: /src/glib/glib/tests/slist.c:261,1
    - Dst: g_slist_insert_before
      Src: /src/glib/glib/tests/slist.c:265,1
    - Dst: g_slist_insert
      Src: /src/glib/glib/tests/slist.c:269,1
    - Dst: g_slist_nth
      Src: /src/glib/glib/tests/slist.c:273,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/slist.c:281,1
    - Dst: g_slist_free
      Src: /src/glib/glib/tests/slist.c:277,1
    - Dst: g_slist_insert
      Src: /src/glib/glib/tests/slist.c:279,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/slist.c:274,1
    - Dst: g_slist_free
      Src: /src/glib/glib/tests/slist.c:290,1
    - Dst: g_slist_free
      Src: /src/glib/glib/tests/slist.c:297,1
    - Dst: g_slist_append
      Src: /src/glib/glib/tests/slist.c:284,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/slist.c:296,1
    - Dst: g_slist_insert
      Src: /src/glib/glib/tests/slist.c:263,1
    - Dst: g_slist_insert
      Src: /src/glib/glib/tests/slist.c:260,1
    - Dst: g_slist_insert_before
      Src: /src/glib/glib/tests/slist.c:264,1
    - Dst: g_slist_insert
      Src: /src/glib/glib/tests/slist.c:267,1
    - Dst: g_slist_insert
      Src: /src/glib/glib/tests/slist.c:268,1
    - Dst: g_slist_free
      Src: /src/glib/glib/tests/slist.c:282,1
    - Dst: g_slist_append
      Src: /src/glib/glib/tests/slist.c:285,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/slist.c:280,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/slist.c:288,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/slist.c:289,1
    - Dst: g_slist_append
      Src: /src/glib/glib/tests/slist.c:292,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/slist.c:294,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/slist.c:295,1
    - Dst: g_slist_insert_before
      Src: /src/glib/glib/tests/slist.c:293,1
    - Dst: g_slist_insert
      Src: /src/glib/glib/tests/slist.c:286,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 58
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 298
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 298
    functionName: test_slist_insert
    functionSourceFile: /src/glib/glib/tests/slist.c
    functionUses: []
    functionsReached:
    - g_slist_nth
    - g_slist_insert_before
    - g_assert
    - g_slist_insert
    - g_slist_append
    - g_slist_free
    linkageType: ''
    returnType: void
    signature: 'static void test_slist_insert (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_append
      Src: /src/glib/glib/tests/slist.c:316,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/slist.c:319,1
    - Dst: g_slist_position
      Src: /src/glib/glib/tests/slist.c:320,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/slist.c:320,1
    - Dst: g_slist_index
      Src: /src/glib/glib/tests/slist.c:319,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/slist.c:324,1
    - Dst: g_slist_index
      Src: /src/glib/glib/tests/slist.c:324,1
    - Dst: g_slist_find_custom
      Src: /src/glib/glib/tests/slist.c:325,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/slist.c:325,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/slist.c:326,1
    - Dst: g_slist_position
      Src: /src/glib/glib/tests/slist.c:327,1
    - Dst: g_slist_free
      Src: /src/glib/glib/tests/slist.c:333,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/slist.c:327,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/slist.c:331,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/slist.c:330,1
    - Dst: g_slist_find_custom
      Src: /src/glib/glib/tests/slist.c:330,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 334
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 334
    functionName: test_slist_position
    functionSourceFile: /src/glib/glib/tests/slist.c
    functionUses: []
    functionsReached:
    - g_slist_position
    - g_assert_cmpint
    - g_assert
    - g_slist_find_custom
    - GINT_TO_POINTER
    - g_slist_append
    - g_slist_free
    - g_slist_index
    linkageType: ''
    returnType: void
    signature: 'static void test_slist_position (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_append
      Src: /src/glib/glib/tests/slist.c:374,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/slist.c:378,1
    - Dst: g_slist_copy
      Src: /src/glib/glib/tests/slist.c:376,1
    - Dst: g_slist_length
      Src: /src/glib/glib/tests/slist.c:378,1
    - Dst: g_slist_length
      Src: /src/glib/glib/tests/slist.c:378,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/slist.c:381,1
    - Dst: g_slist_free
      Src: /src/glib/glib/tests/slist.c:383,1
    - Dst: g_slist_free
      Src: /src/glib/glib/tests/slist.c:384,1
    - Dst: g_slist_copy
      Src: /src/glib/glib/tests/slist.c:387,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/slist.c:388,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 389
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 389
    functionName: test_slist_copy
    functionSourceFile: /src/glib/glib/tests/slist.c
    functionUses: []
    functionsReached:
    - g_slist_copy
    - g_assert_null
    - g_assert
    - g_slist_length
    - g_assert_cmpuint
    - g_slist_append
    - g_slist_free
    linkageType: ''
    returnType: void
    signature: 'static void test_slist_copy (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_append
      Src: /src/glib/glib/tests/slist.c:410,1
    - Dst: g_slist_append
      Src: /src/glib/glib/tests/slist.c:411,1
    - Dst: g_slist_append
      Src: /src/glib/glib/tests/slist.c:412,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/slist.c:417,1
    - Dst: g_slist_copy_deep
      Src: /src/glib/glib/tests/slist.c:415,1
    - Dst: g_slist_length
      Src: /src/glib/glib/tests/slist.c:417,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/slist.c:418,1
    - Dst: g_slist_length
      Src: /src/glib/glib/tests/slist.c:418,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/slist.c:421,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/slist.c:422,1
    - Dst: g_slist_free_full
      Src: /src/glib/glib/tests/slist.c:425,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/slist.c:432,1
    - Dst: g_slist_copy_deep
      Src: /src/glib/glib/tests/slist.c:430,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/slist.c:431,1
    - Dst: g_slist_free
      Src: /src/glib/glib/tests/slist.c:426,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 433
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 433
    functionName: test_slist_copy_deep
    functionSourceFile: /src/glib/glib/tests/slist.c
    functionUses: []
    functionsReached:
    - g_assert_null
    - g_assert
    - g_slist_length
    - g_assert_cmpuint
    - g_slist_copy_deep
    - g_assert_cmpstr
    - g_slist_free_full
    - g_slist_append
    - g_slist_free
    linkageType: ''
    returnType: void
    signature: 'static void test_slist_copy_deep (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/slist.c:440,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/glib/tests/slist.c:444,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/slist.c:448,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/slist.c:446,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/slist.c:447,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/slist.c:449,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/slist.c:450,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/slist.c:451,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/slist.c:452,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/slist.c:453,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/slist.c:457,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/slist.c:458,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/slist.c:459,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/slist.c:461,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/slist.c:454,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/slist.c:455,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/slist.c:456,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 462
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 462
    functionName: main
    functionSourceFile: /src/glib/glib/tests/slist.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_run
    - g_test_init
    - g_test_rand_int_range
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_add
      Src: /src/glib/glib/tests/onceinit.c:38,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/onceinit.c:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: assert_singleton_execution1
    functionSourceFile: /src/glib/glib/tests/onceinit.c
    functionUses: []
    functionsReached:
    - g_atomic_int_add
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void assert_singleton_execution1 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_add
      Src: /src/glib/glib/tests/onceinit.c:54,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/onceinit.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: assert_singleton_execution3
    functionSourceFile: /src/glib/glib/tests/onceinit.c
    functionUses: []
    functionsReached:
    - g_atomic_int_add
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void assert_singleton_execution3 (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter_pointer
      Src: /src/glib/glib/tests/onceinit.c:74,1
    - Dst: assert_singleton_execution2
      Src: /src/glib/glib/tests/onceinit.c:77,1
    - Dst: g_once_init_leave_pointer
      Src: /src/glib/glib/tests/onceinit.c:78,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 81
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 81
    functionName: initializer2
    functionSourceFile: /src/glib/glib/tests/onceinit.c
    functionUses: []
    functionsReached:
    - assert_singleton_execution2
    - g_once_init_leave_pointer
    - g_once_init_enter_pointer
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer initializer2 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIST_256_TEST_INITIALIZERS
      Src: /src/glib/glib/tests/onceinit.c:212,1
    - Dst: LIST_256_TEST_INITIALIZERS
      Src: /src/glib/glib/tests/onceinit.c:215,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/tests/onceinit.c:219,1
    - Dst: LIST_256_TEST_INITIALIZERS
      Src: /src/glib/glib/tests/onceinit.c:214,1
    - Dst: LIST_256_TEST_INITIALIZERS
      Src: /src/glib/glib/tests/onceinit.c:213,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/onceinit.c:220,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/onceinit.c:222,1
    - Dst: g_atomic_int_add
      Src: /src/glib/glib/tests/onceinit.c:225,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 228
    functionName: stress_concurrent_initializers
    functionSourceFile: /src/glib/glib/tests/onceinit.c
    functionUses: []
    functionsReached:
    - LIST_256_TEST_INITIALIZERS
    - g_mutex_unlock
    - g_mutex_lock
    - G_N_ELEMENTS
    - g_atomic_int_add
    linkageType: ''
    returnType: void*
    signature: 'static void *stress_concurrent_initializers (void *user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_add
      Src: /src/glib/glib/tests/onceinit.c:46,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/onceinit.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: assert_singleton_execution2
    functionSourceFile: /src/glib/glib/tests/onceinit.c
    functionUses: []
    functionsReached:
    - g_atomic_int_add
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void assert_singleton_execution2 (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/glib/tests/onceinit.c:62,1
    - Dst: assert_singleton_execution1
      Src: /src/glib/glib/tests/onceinit.c:65,1
    - Dst: g_once_init_leave
      Src: /src/glib/glib/tests/onceinit.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 68
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 68
    functionName: initializer1
    functionSourceFile: /src/glib/glib/tests/onceinit.c
    functionUses: []
    functionsReached:
    - g_once_init_leave
    - assert_singleton_execution1
    - g_once_init_enter
    linkageType: ''
    returnType: void
    signature: 'static void initializer1 (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/glib/tests/onceinit.c:87,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/onceinit.c:91,1
    - Dst: g_once_init_leave
      Src: /src/glib/glib/tests/onceinit.c:92,1
    - Dst: assert_singleton_execution3
      Src: /src/glib/glib/tests/onceinit.c:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 94
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 94
    functionName: initializer3
    functionSourceFile: /src/glib/glib/tests/onceinit.c
    functionUses: []
    functionsReached:
    - g_once_init_leave
    - g_once_init_enter
    - assert_singleton_execution3
    - g_usleep
    linkageType: ''
    returnType: void
    signature: 'static void initializer3 (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/tests/onceinit.c:245,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/tests/onceinit.c:248,1
    - Dst: g_cond_broadcast
      Src: /src/glib/glib/tests/onceinit.c:256,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/onceinit.c:264,1
    - Dst: g_cond_broadcast
      Src: /src/glib/glib/tests/onceinit.c:265,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/tests/onceinit.c:272,1
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/onceinit.c:276,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/onceinit.c:269,1
    - Dst: rand
      Src: /src/glib/glib/tests/onceinit.c:261,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/onceinit.c:279,1
    - Dst: initializer1
      Src: /src/glib/glib/tests/onceinit.c:239,1
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/onceinit.c:251,1
    - Dst: initializer2
      Src: /src/glib/glib/tests/onceinit.c:244,1
    - Dst: initializer2
      Src: /src/glib/glib/tests/onceinit.c:242,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/onceinit.c:253,1
    - Dst: g_thread_yield
      Src: /src/glib/glib/tests/onceinit.c:262,1
    - Dst: g_atomic_int_set
      Src: /src/glib/glib/tests/onceinit.c:273,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/onceinit.c:277,1
    - Dst: initializer1
      Src: /src/glib/glib/tests/onceinit.c:238,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/onceinit.c:243,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/onceinit.c:259,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/onceinit.c:280,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/onceinit.c:283,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 284
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 284
    functionName: test_onceinit
    functionSourceFile: /src/glib/glib/tests/onceinit.c
    functionUses: []
    functionsReached:
    - initializer2
    - g_thread_yield
    - g_mutex_unlock
    - g_mutex_lock
    - g_assert
    - g_cond_broadcast
    - g_atomic_int_get
    - g_thread_new
    - g_usleep
    - g_atomic_int_set
    - initializer1
    - g_thread_join
    - rand
    linkageType: ''
    returnType: void
    signature: 'static void test_onceinit (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/onceinit.c:289,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/onceinit.c:293,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/onceinit.c:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 294
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 294
    functionName: main
    functionSourceFile: /src/glib/glib/tests/onceinit.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/glib/tests/onceinit.c:99,1
    - Dst: g_atomic_int_add
      Src: /src/glib/glib/tests/onceinit.c:105,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/onceinit.c:101,1
    - Dst: initializer3
      Src: /src/glib/glib/tests/onceinit.c:103,1
    - Dst: g_cond_wait
      Src: /src/glib/glib/tests/onceinit.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 107
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 107
    functionName: tmain_call_initializer3
    functionSourceFile: /src/glib/glib/tests/onceinit.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_mutex_lock
    - g_atomic_int_add
    - initializer3
    - g_cond_wait
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer tmain_call_initializer3 (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/uri.c:361,1
    - Dst: g_uri_unescape_string
      Src: /src/glib/glib/tests/uri.c:367,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/uri.c:365,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:369,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:368,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 371
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 371
    functionName: test_uri_unescape_string
    functionSourceFile: /src/glib/glib/tests/uri.c
    functionUses: []
    functionsReached:
    - g_uri_unescape_string
    - G_N_ELEMENTS
    - g_test_message
    - g_assert_cmpstr
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_uri_unescape_string (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_uri_escape_bytes
      Src: /src/glib/glib/tests/uri.c:502,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:503,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:504,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 505
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 505
    functionName: test_uri_escape_bytes
    functionSourceFile: /src/glib/glib/tests/uri.c
    functionUses: []
    functionsReached:
    - g_free
    - g_assert_cmpstr
    - g_uri_escape_bytes
    linkageType: ''
    returnType: void
    signature: 'static void test_uri_escape_bytes (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/uri.c:944,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:960,1
    - Dst: g_uri_to_string
      Src: /src/glib/glib/tests/uri.c:962,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:963,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:964,1
    - Dst: g_uri_unref
      Src: /src/glib/glib/tests/uri.c:966,1
    - Dst: g_uri_resolve_relative
      Src: /src/glib/glib/tests/uri.c:968,1
    - Dst: g_uri_parse_relative
      Src: /src/glib/glib/tests/uri.c:973,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:982,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/uri.c:996,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:1003,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/uri.c:981,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:955,1
    - Dst: g_uri_get_userinfo
      Src: /src/glib/glib/tests/uri.c:955,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:956,1
    - Dst: g_uri_get_host
      Src: /src/glib/glib/tests/uri.c:956,1
    - Dst: g_uri_get_fragment
      Src: /src/glib/glib/tests/uri.c:960,1
    - Dst: g_uri_get_port
      Src: /src/glib/glib/tests/uri.c:957,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/uri.c:969,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:971,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/uri.c:974,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:983,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:987,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/uri.c:991,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/uri.c:1001,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:998,1
    - Dst: g_uri_get_scheme
      Src: /src/glib/glib/tests/uri.c:954,1
    - Dst: g_uri_get_path
      Src: /src/glib/glib/tests/uri.c:958,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/uri.c:957,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:975,1
    - Dst: g_uri_resolve_relative
      Src: /src/glib/glib/tests/uri.c:980,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/uri.c:986,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:988,1
    - Dst: g_uri_resolve_relative
      Src: /src/glib/glib/tests/uri.c:990,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:993,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:997,1
    - Dst: g_uri_resolve_relative
      Src: /src/glib/glib/tests/uri.c:1000,1
    - Dst: g_uri_resolve_relative
      Src: /src/glib/glib/tests/uri.c:985,1
    - Dst: g_uri_resolve_relative
      Src: /src/glib/glib/tests/uri.c:995,1
    - Dst: g_uri_parse
      Src: /src/glib/glib/tests/uri.c:943,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/uri.c:952,1
    - Dst: g_uri_parse_relative
      Src: /src/glib/glib/tests/uri.c:951,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:954,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:958,1
    - Dst: g_uri_get_query
      Src: /src/glib/glib/tests/uri.c:959,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:959,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:970,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:976,1
    - Dst: g_uri_unref
      Src: /src/glib/glib/tests/uri.c:978,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:992,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1002,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 65
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1004
      start: 935
    functionDepth: 0
    functionLinenumber: 935
    functionLinenumberEnd: 1004
    functionName: test_uri_parsing_relative
    functionSourceFile: /src/glib/glib/tests/uri.c
    functionUses: []
    functionsReached:
    - g_assert_null
    - g_uri_get_query
    - g_uri_unref
    - g_uri_get_userinfo
    - g_uri_get_fragment
    - g_uri_get_host
    - g_uri_get_path
    - g_assert_cmpint
    - g_assert_no_error
    - g_uri_to_string
    - g_assert_error
    - g_clear_error
    - g_uri_get_scheme
    - g_assert_cmpstr
    - g_uri_parse_relative
    - g_uri_get_port
    - g_uri_resolve_relative
    - g_uri_parse
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_uri_parsing_relative (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1727,1
    - Dst: g_uri_join
      Src: /src/glib/glib/tests/uri.c:1733,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1745,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1769,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1726,1
    - Dst: g_uri_join_with_user
      Src: /src/glib/glib/tests/uri.c:1742,1
    - Dst: g_uri_join
      Src: /src/glib/glib/tests/uri.c:1758,1
    - Dst: g_uri_join
      Src: /src/glib/glib/tests/uri.c:1762,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1768,1
    - Dst: g_uri_join
      Src: /src/glib/glib/tests/uri.c:1725,1
    - Dst: g_uri_join
      Src: /src/glib/glib/tests/uri.c:1729,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1734,1
    - Dst: g_uri_join_with_user
      Src: /src/glib/glib/tests/uri.c:1737,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1744,1
    - Dst: g_uri_join
      Src: /src/glib/glib/tests/uri.c:1754,1
    - Dst: g_uri_join_with_user
      Src: /src/glib/glib/tests/uri.c:1747,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1739,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1756,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1759,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1764,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1730,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1731,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1735,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1752,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1740,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1750,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1755,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1763,1
    - Dst: g_uri_join
      Src: /src/glib/glib/tests/uri.c:1767,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1760,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 41
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1770
      start: 1720
    functionDepth: 0
    functionLinenumber: 1720
    functionLinenumberEnd: 1770
    functionName: test_uri_join
    functionSourceFile: /src/glib/glib/tests/uri.c
    functionUses: []
    functionsReached:
    - g_uri_join_with_user
    - g_uri_join
    - g_free
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void test_uri_join (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/uri.c:377,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/uri.c:397,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/uri.c:403,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/uri.c:412,1
    - Dst: strlen
      Src: /src/glib/glib/tests/uri.c:416,1
    - Dst: g_memdup2
      Src: /src/glib/glib/tests/uri.c:417,1
    - Dst: g_uri_unescape_bytes
      Src: /src/glib/glib/tests/uri.c:420,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/uri.c:424,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:425,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:426,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/uri.c:430,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:438,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/uri.c:431,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/tests/uri.c:431,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/uri.c:437,1
    - Dst: g_bytes_get_size
      Src: /src/glib/glib/tests/uri.c:432,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 440
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 440
    functionName: test_uri_unescape_bytes
    functionSourceFile: /src/glib/glib/tests/uri.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - GPOINTER_TO_INT
    - g_strdup
    - strlen
    - g_assert_null
    - G_N_ELEMENTS
    - g_test_message
    - g_uri_unescape_bytes
    - g_assert_no_error
    - g_bytes_get_size
    - g_clear_pointer
    - g_assert_cmpmem
    - g_memdup2
    - g_free
    - g_bytes_get_data
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_uri_unescape_bytes (gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/uri.c:524,1
    - Dst: g_uri_peek_scheme
      Src: /src/glib/glib/tests/uri.c:534,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/uri.c:526,1
    - Dst: g_uri_parse_scheme
      Src: /src/glib/glib/tests/uri.c:527,1
    - Dst: g_uri_peek_scheme
      Src: /src/glib/glib/tests/uri.c:537,1
    - Dst: g_uri_parse_scheme
      Src: /src/glib/glib/tests/uri.c:513,1
    - Dst: g_uri_parse_scheme
      Src: /src/glib/glib/tests/uri.c:517,1
    - Dst: g_uri_parse_scheme
      Src: /src/glib/glib/tests/uri.c:521,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/uri.c:522,1
    - Dst: g_uri_parse_scheme
      Src: /src/glib/glib/tests/uri.c:525,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:533,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:535,1
    - Dst: g_uri_peek_scheme
      Src: /src/glib/glib/tests/uri.c:539,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/uri.c:540,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:515,1
    - Dst: g_uri_parse_scheme
      Src: /src/glib/glib/tests/uri.c:523,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/uri.c:528,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/uri.c:530,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:514,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:518,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:519,1
    - Dst: g_uri_parse_scheme
      Src: /src/glib/glib/tests/uri.c:529,1
    - Dst: g_uri_peek_scheme
      Src: /src/glib/glib/tests/uri.c:532,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/uri.c:536,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/uri.c:538,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 541
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 541
    functionName: test_uri_scheme
    functionSourceFile: /src/glib/glib/tests/uri.c
    functionUses: []
    functionsReached:
    - g_uri_parse_scheme
    - g_assert_true
    - g_assert_null
    - g_uri_peek_scheme
    - g_assert_cmpstr
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_uri_scheme (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/uri.c:790,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/uri.c:801,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:803,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:804,1
    - Dst: g_uri_get_userinfo
      Src: /src/glib/glib/tests/uri.c:804,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:805,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:809,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/uri.c:806,1
    - Dst: g_uri_get_query
      Src: /src/glib/glib/tests/uri.c:808,1
    - Dst: g_uri_get_path
      Src: /src/glib/glib/tests/uri.c:807,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:808,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/uri.c:817,1
    - Dst: g_uri_get_scheme
      Src: /src/glib/glib/tests/uri.c:803,1
    - Dst: g_uri_get_port
      Src: /src/glib/glib/tests/uri.c:806,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:807,1
    - Dst: g_uri_parse
      Src: /src/glib/glib/tests/uri.c:798,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/uri.c:796,1
    - Dst: g_uri_get_host
      Src: /src/glib/glib/tests/uri.c:805,1
    - Dst: g_uri_get_fragment
      Src: /src/glib/glib/tests/uri.c:809,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:813,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/uri.c:814,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:818,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 820
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 820
    functionName: test_uri_parsing_absolute
    functionSourceFile: /src/glib/glib/tests/uri.c
    functionUses: []
    functionsReached:
    - g_uri_get_fragment
    - g_uri_get_scheme
    - g_clear_error
    - g_assert_null
    - G_N_ELEMENTS
    - g_test_message
    - g_uri_get_host
    - g_uri_get_query
    - g_assert_cmpstr
    - g_uri_get_path
    - g_assert_no_error
    - g_assert_error
    - g_uri_get_port
    - g_clear_pointer
    - g_uri_get_userinfo
    - g_uri_parse
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_uri_parsing_absolute (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_uri_to_string
      Src: /src/glib/glib/tests/uri.c:1015,1
    - Dst: g_uri_to_string_partial
      Src: /src/glib/glib/tests/uri.c:1031,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1035,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1029,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1036,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1038,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1039,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1046,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1016,1
    - Dst: g_uri_build
      Src: /src/glib/glib/tests/uri.c:1020,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1023,1
    - Dst: g_uri_unref
      Src: /src/glib/glib/tests/uri.c:1024,1
    - Dst: g_uri_to_string
      Src: /src/glib/glib/tests/uri.c:1028,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1047,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1049,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1050,1
    - Dst: g_uri_build
      Src: /src/glib/glib/tests/uri.c:1012,1
    - Dst: g_uri_unref
      Src: /src/glib/glib/tests/uri.c:1018,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1022,1
    - Dst: g_uri_build_with_user
      Src: /src/glib/glib/tests/uri.c:1026,1
    - Dst: g_uri_to_string_partial
      Src: /src/glib/glib/tests/uri.c:1034,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1032,1
    - Dst: g_uri_build_with_user
      Src: /src/glib/glib/tests/uri.c:1042,1
    - Dst: g_uri_to_string
      Src: /src/glib/glib/tests/uri.c:1045,1
    - Dst: g_uri_to_string_partial
      Src: /src/glib/glib/tests/uri.c:1051,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1052,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1056,1
    - Dst: g_uri_unref
      Src: /src/glib/glib/tests/uri.c:1057,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1017,1
    - Dst: g_uri_to_string
      Src: /src/glib/glib/tests/uri.c:1021,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1030,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1033,1
    - Dst: g_uri_to_string_partial
      Src: /src/glib/glib/tests/uri.c:1037,1
    - Dst: g_uri_unref
      Src: /src/glib/glib/tests/uri.c:1040,1
    - Dst: g_uri_to_string_partial
      Src: /src/glib/glib/tests/uri.c:1048,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1053,1
    - Dst: g_uri_to_string_partial
      Src: /src/glib/glib/tests/uri.c:1054,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1055,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 54
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1058
      start: 1006
    functionDepth: 0
    functionLinenumber: 1006
    functionLinenumberEnd: 1058
    functionName: test_uri_to_string
    functionSourceFile: /src/glib/glib/tests/uri.c
    functionUses: []
    functionsReached:
    - g_uri_to_string_partial
    - g_assert_cmpstr
    - g_uri_unref
    - g_uri_build_with_user
    - g_uri_to_string
    - g_uri_build
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_uri_to_string (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/uri.c:1778,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1818,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1832,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1833,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/uri.c:1794,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1820,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1822,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1824,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1828,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/uri.c:1823,1
    - Dst: g_uri_join_with_user
      Src: /src/glib/glib/tests/uri.c:1806,1
    - Dst: g_uri_split_with_user
      Src: /src/glib/glib/tests/uri.c:1810,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/uri.c:1808,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/uri.c:1815,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1826,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1821,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1825,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1831,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1834,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1835,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/uri.c:1816,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1819,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1829,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1830,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1836,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 72
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1838
      start: 1772
    functionDepth: 0
    functionLinenumber: 1772
    functionLinenumberEnd: 1838
    functionName: test_uri_join_split_round_trip
    functionSourceFile: /src/glib/glib/tests/uri.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_test_summary
    - g_test_message
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_assert_no_error
    - g_uri_join_with_user
    - g_uri_split_with_user
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_uri_join_split_round_trip (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/glib/tests/uri.c:238,1
    - Dst: g_strcmp0
      Src: /src/glib/glib/tests/uri.c:241,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/tests/uri.c:246,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/glib/tests/uri.c:246,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 255
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 255
    functionName: safe_strcmp_filename
    functionSourceFile: /src/glib/glib/tests/uri.c
    functionUses: []
    functionsReached:
    - G_IS_DIR_SEPARATOR
    - g_strcmp0
    linkageType: ''
    returnType: gint
    signature: 'static gint safe_strcmp_filename (const gchar *a, const gchar *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_uri_unescape_segment
      Src: /src/glib/glib/tests/uri.c:448,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/uri.c:453,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:449,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:450,1
    - Dst: g_uri_unescape_segment
      Src: /src/glib/glib/tests/uri.c:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 454
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 454
    functionName: test_uri_unescape_segment
    functionSourceFile: /src/glib/glib/tests/uri.c
    functionUses: []
    functionsReached:
    - g_assert_null
    - g_free
    - g_assert_cmpstr
    - g_uri_unescape_segment
    linkageType: ''
    returnType: void
    signature: 'static void test_uri_unescape_segment (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/glib/tests/uri.c:265,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/uri.c:267,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/uri.c:270,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 272
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 272
    functionName: safe_strcmp_hostname
    functionSourceFile: /src/glib/glib/tests/uri.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: gint
    signature: 'static gint safe_strcmp_hostname (const gchar *a, const gchar *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/uri.c:481,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:491,1
    - Dst: g_uri_escape_string
      Src: /src/glib/glib/tests/uri.c:488,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/uri.c:486,1
    - Dst: g_strescape
      Src: /src/glib/glib/tests/uri.c:484,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:492,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:493,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 495
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 495
    functionName: test_uri_escape_string
    functionSourceFile: /src/glib/glib/tests/uri.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - g_test_message
    - g_assert_cmpstr
    - g_strescape
    - g_uri_escape_string
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_uri_escape_string (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/uri.c:2012,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:2028,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:2030,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/uri.c:2047,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:2052,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:2053,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/uri.c:2025,1
    - Dst: g_uri_to_string
      Src: /src/glib/glib/tests/uri.c:2023,1
    - Dst: g_uri_get_path
      Src: /src/glib/glib/tests/uri.c:2026,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/uri.c:2027,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/uri.c:2044,1
    - Dst: g_uri_unref
      Src: /src/glib/glib/tests/uri.c:2031,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:2045,1
    - Dst: g_uri_unref
      Src: /src/glib/glib/tests/uri.c:2033,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/uri.c:2041,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:2050,1
    - Dst: g_uri_join
      Src: /src/glib/glib/tests/uri.c:2058,1
    - Dst: g_uri_parse_relative
      Src: /src/glib/glib/tests/uri.c:2019,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/uri.c:2036,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:2049,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:2061,1
    - Dst: g_uri_parse
      Src: /src/glib/glib/tests/uri.c:2017,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:2026,1
    - Dst: g_uri_get_port
      Src: /src/glib/glib/tests/uri.c:2027,1
    - Dst: g_uri_split
      Src: /src/glib/glib/tests/uri.c:2041,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:2043,1
    - Dst: g_uri_split
      Src: /src/glib/glib/tests/uri.c:2047,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/uri.c:2051,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/uri.c:2056,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:2062,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2064
      start: 2004
    functionDepth: 0
    functionLinenumber: 2004
    functionLinenumberEnd: 2064
    functionName: test_uri_normalize
    functionSourceFile: /src/glib/glib/tests/uri.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - G_N_ELEMENTS
    - g_assert_nonnull
    - g_uri_join
    - g_assert_cmpstr
    - g_uri_parse_relative
    - g_uri_get_path
    - g_uri_unref
    - g_uri_to_string
    - g_uri_get_port
    - g_uri_parse
    - g_free
    - g_uri_split
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_uri_normalize (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/uri.c:177,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:189,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:187,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:185,1
    - Dst: g_filename_to_uri
      Src: /src/glib/glib/tests/uri.c:180,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:190,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 192
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 192
    functionName: run_file_to_uri_tests
    functionSourceFile: /src/glib/glib/tests/uri.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - G_N_ELEMENTS
    - g_filename_to_uri
    - g_assert_cmpstr
    - g_free
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void run_file_to_uri_tests (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/uri.c:281,1
    - Dst: g_filename_to_uri
      Src: /src/glib/glib/tests/uri.c:287,1
    - Dst: g_filename_from_uri
      Src: /src/glib/glib/tests/uri.c:293,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/uri.c:294,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/uri.c:290,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/uri.c:296,1
    - Dst: safe_strcmp_filename
      Src: /src/glib/glib/tests/uri.c:296,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/uri.c:297,1
    - Dst: safe_strcmp_hostname
      Src: /src/glib/glib/tests/uri.c:297,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:298,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:299,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:300,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 302
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 302
    functionName: run_file_roundtrip_tests
    functionSourceFile: /src/glib/glib/tests/uri.c
    functionUses: []
    functionsReached:
    - g_filename_from_uri
    - G_N_ELEMENTS
    - g_filename_to_uri
    - safe_strcmp_hostname
    - safe_strcmp_filename
    - g_assert_no_error
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void run_file_roundtrip_tests (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1073,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1074,1
    - Dst: g_uri_get_query
      Src: /src/glib/glib/tests/uri.c:1078,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1078,1
    - Dst: g_uri_get_user
      Src: /src/glib/glib/tests/uri.c:1080,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1081,1
    - Dst: g_uri_unref
      Src: /src/glib/glib/tests/uri.c:1082,1
    - Dst: g_uri_get_flags
      Src: /src/glib/glib/tests/uri.c:1088,1
    - Dst: g_uri_get_userinfo
      Src: /src/glib/glib/tests/uri.c:1090,1
    - Dst: g_uri_get_port
      Src: /src/glib/glib/tests/uri.c:1092,1
    - Dst: g_uri_build_with_user
      Src: /src/glib/glib/tests/uri.c:1107,1
    - Dst: g_uri_build_with_user
      Src: /src/glib/glib/tests/uri.c:1113,1
    - Dst: g_uri_unref
      Src: /src/glib/glib/tests/uri.c:1099,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1095,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1094,1
    - Dst: g_uri_build
      Src: /src/glib/glib/tests/uri.c:1065,1
    - Dst: g_uri_get_userinfo
      Src: /src/glib/glib/tests/uri.c:1074,1
    - Dst: g_uri_get_port
      Src: /src/glib/glib/tests/uri.c:1076,1
    - Dst: g_uri_get_path
      Src: /src/glib/glib/tests/uri.c:1077,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/uri.c:1076,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/uri.c:1088,1
    - Dst: g_uri_get_scheme
      Src: /src/glib/glib/tests/uri.c:1089,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1091,1
    - Dst: g_uri_get_query
      Src: /src/glib/glib/tests/uri.c:1094,1
    - Dst: g_uri_get_fragment
      Src: /src/glib/glib/tests/uri.c:1095,1
    - Dst: g_uri_get_user
      Src: /src/glib/glib/tests/uri.c:1096,1
    - Dst: g_uri_unref
      Src: /src/glib/glib/tests/uri.c:1105,1
    - Dst: g_uri_get_path
      Src: /src/glib/glib/tests/uri.c:1093,1
    - Dst: g_uri_unref
      Src: /src/glib/glib/tests/uri.c:1123,1
    - Dst: g_uri_get_userinfo
      Src: /src/glib/glib/tests/uri.c:1110,1
    - Dst: g_uri_build_with_user
      Src: /src/glib/glib/tests/uri.c:1119,1
    - Dst: g_uri_get_userinfo
      Src: /src/glib/glib/tests/uri.c:1116,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/uri.c:1116,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/uri.c:1072,1
    - Dst: g_uri_get_flags
      Src: /src/glib/glib/tests/uri.c:1072,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1077,1
    - Dst: g_uri_get_fragment
      Src: /src/glib/glib/tests/uri.c:1079,1
    - Dst: g_uri_get_password
      Src: /src/glib/glib/tests/uri.c:1081,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1089,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1090,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1096,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1097,1
    - Dst: g_uri_get_password
      Src: /src/glib/glib/tests/uri.c:1097,1
    - Dst: g_uri_get_auth_params
      Src: /src/glib/glib/tests/uri.c:1098,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1104,1
    - Dst: g_uri_get_userinfo
      Src: /src/glib/glib/tests/uri.c:1104,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1098,1
    - Dst: g_uri_unref
      Src: /src/glib/glib/tests/uri.c:1070,1
    - Dst: g_uri_ref
      Src: /src/glib/glib/tests/uri.c:1069,1
    - Dst: g_uri_get_scheme
      Src: /src/glib/glib/tests/uri.c:1073,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1075,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1079,1
    - Dst: g_uri_get_host
      Src: /src/glib/glib/tests/uri.c:1075,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1080,1
    - Dst: g_uri_build_with_user
      Src: /src/glib/glib/tests/uri.c:1084,1
    - Dst: g_uri_get_host
      Src: /src/glib/glib/tests/uri.c:1091,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/uri.c:1092,1
    - Dst: g_uri_build_with_user
      Src: /src/glib/glib/tests/uri.c:1101,1
    - Dst: g_uri_get_userinfo
      Src: /src/glib/glib/tests/uri.c:1122,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1093,1
    - Dst: g_uri_unref
      Src: /src/glib/glib/tests/uri.c:1117,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1110,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1122,1
    - Dst: g_uri_unref
      Src: /src/glib/glib/tests/uri.c:1111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 72
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1124
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1124
    functionName: test_uri_build
    functionSourceFile: /src/glib/glib/tests/uri.c
    functionUses: []
    functionsReached:
    - g_uri_get_userinfo
    - g_uri_get_scheme
    - g_uri_get_fragment
    - g_uri_ref
    - g_assert_null
    - g_uri_get_host
    - g_uri_get_query
    - g_uri_get_user
    - g_uri_get_password
    - g_assert_cmpstr
    - g_uri_get_flags
    - g_uri_unref
    - g_uri_get_path
    - g_uri_get_port
    - g_uri_build_with_user
    - g_uri_get_auth_params
    - g_uri_build
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_uri_build (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/uri.c:202,1
    - Dst: strchr
      Src: /src/glib/glib/tests/uri.c:215,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/uri.c:214,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:223,1
    - Dst: g_filename_from_uri
      Src: /src/glib/glib/tests/uri.c:205,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:225,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:226,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:228,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:229,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:230,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 232
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 232
    functionName: run_file_from_uri_tests
    functionSourceFile: /src/glib/glib/tests/uri.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_strdup
    - g_filename_from_uri
    - G_N_ELEMENTS
    - g_assert_cmpstr
    - strchr
    - g_free
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void run_file_from_uri_tests (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_uri_list_extract_uris
      Src: /src/glib/glib/tests/uri.c:322,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:326,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/uri.c:323,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/uri.c:323,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/uri.c:328,1
    - Dst: g_uri_list_extract_uris
      Src: /src/glib/glib/tests/uri.c:330,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/uri.c:331,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/uri.c:331,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/uri.c:332,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 333
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 333
    functionName: run_uri_list_tests
    functionSourceFile: /src/glib/glib/tests/uri.c
    functionUses: []
    functionsReached:
    - g_strv_length
    - g_uri_list_extract_uris
    - g_assert_cmpstr
    - g_strfreev
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void run_uri_list_tests (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1163,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1178,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/uri.c:1317,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/uri.c:1309,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1321,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1158,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1162,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1223,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1319,1
    - Dst: g_uri_split_network
      Src: /src/glib/glib/tests/uri.c:1324,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1297,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1349,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:1362,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:1368,1
    - Dst: g_uri_split
      Src: /src/glib/glib/tests/uri.c:1376,1
    - Dst: g_uri_split_network
      Src: /src/glib/glib/tests/uri.c:1311,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1206,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1207,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1220,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1298,1
    - Dst: g_uri_split_network
      Src: /src/glib/glib/tests/uri.c:1303,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1422,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/uri.c:1265,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/uri.c:1295,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1157,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1177,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/uri.c:1205,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1238,1
    - Dst: g_uri_split_network
      Src: /src/glib/glib/tests/uri.c:1329,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:1336,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:1356,1
    - Dst: g_uri_split_network
      Src: /src/glib/glib/tests/uri.c:1358,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/uri.c:1155,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/uri.c:1190,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1236,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1464,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1160,1
    - Dst: g_uri_split
      Src: /src/glib/glib/tests/uri.c:1195,1
    - Dst: g_uri_split
      Src: /src/glib/glib/tests/uri.c:1255,1
    - Dst: g_uri_split_with_user
      Src: /src/glib/glib/tests/uri.c:1283,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:1345,1
    - Dst: g_uri_split_network
      Src: /src/glib/glib/tests/uri.c:1352,1
    - Dst: g_uri_split_network
      Src: /src/glib/glib/tests/uri.c:1370,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1416,1
    - Dst: g_uri_split
      Src: /src/glib/glib/tests/uri.c:1426,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/uri.c:1320,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1266,1
    - Dst: g_uri_split
      Src: /src/glib/glib/tests/uri.c:1180,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1296,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1322,1
    - Dst: g_uri_split_network
      Src: /src/glib/glib/tests/uri.c:1338,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1192,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:1350,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:1402,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1436,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1161,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1221,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1222,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1301,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:1374,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:1451,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:1465,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1326,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1152,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1156,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1191,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1318,1
    - Dst: g_uri_split_network
      Src: /src/glib/glib/tests/uri.c:1347,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1386,1
    - Dst: g_uri_split_with_user
      Src: /src/glib/glib/tests/uri.c:1389,1
    - Dst: g_uri_split_network
      Src: /src/glib/glib/tests/uri.c:1419,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:1423,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/uri.c:1176,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1300,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1252,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1299,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1281,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/uri.c:1151,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/uri.c:1235,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1237,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/uri.c:1251,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1361,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1401,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:1417,1
    - Dst: g_uri_split
      Src: /src/glib/glib/tests/uri.c:1440,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1450,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1159,1
    - Dst: g_uri_split
      Src: /src/glib/glib/tests/uri.c:1166,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/uri.c:1219,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/uri.c:1279,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1267,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1239,1
    - Dst: g_uri_split
      Src: /src/glib/glib/tests/uri.c:1454,1
    - Dst: g_uri_split
      Src: /src/glib/glib/tests/uri.c:1241,1
    - Dst: g_uri_split
      Src: /src/glib/glib/tests/uri.c:1141,1
    - Dst: g_uri_split
      Src: /src/glib/glib/tests/uri.c:1225,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1280,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1335,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1355,1
    - Dst: g_uri_split_network
      Src: /src/glib/glib/tests/uri.c:1364,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1367,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1373,1
    - Dst: g_uri_split_with_user
      Src: /src/glib/glib/tests/uri.c:1404,1
    - Dst: g_uri_split
      Src: /src/glib/glib/tests/uri.c:1269,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1154,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1164,1
    - Dst: g_uri_split
      Src: /src/glib/glib/tests/uri.c:1209,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1253,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:1327,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1344,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1153,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:1387,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:1437,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 121
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1466
      start: 1126
    functionDepth: 0
    functionLinenumber: 1126
    functionLinenumberEnd: 1466
    functionName: test_uri_split
    functionSourceFile: /src/glib/glib/tests/uri.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_assert_cmpstr
    - g_assert_error
    - g_assert_no_error
    - g_uri_split_network
    - g_uri_split_with_user
    - g_free
    - g_uri_split
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_uri_split (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/uri.c:2074,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/uri.c:2072,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/uri.c:2076,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/uri.c:2083,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/uri.c:2081,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/uri.c:2082,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/uri.c:2091,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/uri.c:2092,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/uri.c:2093,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/uri.c:2075,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/uri.c:2079,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/uri.c:2087,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/uri.c:2089,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/uri.c:2093,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/uri.c:2094,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/uri.c:2094,1
    - Dst: g_test_init
      Src: /src/glib/glib/tests/uri.c:2070,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/uri.c:2077,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/uri.c:2078,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/uri.c:2080,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/uri.c:2084,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/uri.c:2085,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/uri.c:2086,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/uri.c:2090,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/uri.c:2092,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/uri.c:2095,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/uri.c:2073,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/uri.c:2077,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/uri.c:2078,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/uri.c:2088,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/uri.c:2095,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/uri.c:2097,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 2098
      start: 2066
    functionDepth: 0
    functionLinenumber: 2066
    functionLinenumberEnd: 2098
    functionName: main
    functionSourceFile: /src/glib/glib/tests/uri.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_add_data_func
    - g_test_run
    - GINT_TO_POINTER
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1503,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:1508,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1531,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1526,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1473,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/uri.c:1478,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/uri.c:1518,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1528,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1493,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/uri.c:1506,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/uri.c:1510,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1475,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1479,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1537,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/uri.c:1475,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1488,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1511,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1520,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/uri.c:1537,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/uri.c:1474,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1499,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/uri.c:1522,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/uri.c:1531,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1523,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1533,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:1516,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/uri.c:1476,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1527,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1525,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/uri.c:1526,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:1485,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:1504,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/uri.c:1502,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1535,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1521,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1522,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/uri.c:1514,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:1481,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1507,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1487,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1492,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/uri.c:1536,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:1494,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1476,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1483,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/uri.c:1488,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/uri.c:1492,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1496,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/uri.c:1520,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1502,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1478,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:1500,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1536,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/uri.c:1523,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/uri.c:1533,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1514,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1506,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1510,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1518,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1480,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1489,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/uri.c:1498,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:1512,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/uri.c:1525,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/uri.c:1535,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/uri.c:1473,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1474,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/uri.c:1479,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/uri.c:1521,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1529,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1532,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/uri.c:1532,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/uri.c:1483,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/uri.c:1487,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:1490,1
    - Dst: g_uri_is_valid
      Src: /src/glib/glib/tests/uri.c:1498,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/uri.c:1528,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/uri.c:1527,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1515,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/uri.c:1529,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1484,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/uri.c:1496,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 83
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1538
      start: 1468
    functionDepth: 0
    functionLinenumber: 1468
    functionLinenumberEnd: 1538
    functionName: test_uri_is_valid
    functionSourceFile: /src/glib/glib/tests/uri.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_assert_true
    - g_uri_is_valid
    - g_assert_false
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_uri_is_valid (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/tests/uri.c:1620,1
    - Dst: strlen
      Src: /src/glib/glib/tests/uri.c:1624,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1648,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/uri.c:1610,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/uri.c:1602,1
    - Dst: g_uri_params_iter_init
      Src: /src/glib/glib/tests/uri.c:1642,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/uri.c:1633,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1646,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:1655,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1658,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/uri.c:1599,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/uri.c:1611,1
    - Dst: g_memdup2
      Src: /src/glib/glib/tests/uri.c:1625,1
    - Dst: g_uri_params_iter_init
      Src: /src/glib/glib/tests/uri.c:1630,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1645,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/uri.c:1608,1
    - Dst: g_uri_params_iter_next
      Src: /src/glib/glib/tests/uri.c:1631,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:1637,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1649,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1636,1
    - Dst: g_uri_params_iter_next
      Src: /src/glib/glib/tests/uri.c:1643,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/uri.c:1651,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1654,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1660
      start: 1595
    functionDepth: 0
    functionLinenumber: 1595
    functionLinenumberEnd: 1660
    functionName: test_uri_iter_params
    functionSourceFile: /src/glib/glib/tests/uri.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - GPOINTER_TO_INT
    - g_strdup
    - strlen
    - G_N_ELEMENTS
    - g_assert
    - g_test_message
    - g_uri_params_iter_init
    - g_uri_params_iter_next
    - g_assert_error
    - g_assert_cmpstr
    - g_memdup2
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_uri_iter_params (gconstpointer test_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_size
      Src: /src/glib/glib/tests/uri.c:1708,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/uri.c:1701,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/uri.c:1669,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/uri.c:1677,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/uri.c:1678,1
    - Dst: g_uri_parse_params
      Src: /src/glib/glib/tests/uri.c:1695,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/uri.c:1700,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/uri.c:1711,1
    - Dst: g_free
      Src: /src/glib/glib/tests/uri.c:1716,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/uri.c:1707,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/uri.c:1708,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/tests/uri.c:1711,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/uri.c:1715,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/uri.c:1666,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/uri.c:1675,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/uri.c:1687,1
    - Dst: strlen
      Src: /src/glib/glib/tests/uri.c:1691,1
    - Dst: g_memdup2
      Src: /src/glib/glib/tests/uri.c:1692,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/uri.c:1699,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1718
      start: 1662
    functionDepth: 0
    functionLinenumber: 1662
    functionLinenumberEnd: 1718
    functionName: test_uri_parse_params
    functionSourceFile: /src/glib/glib/tests/uri.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - GPOINTER_TO_INT
    - g_strdup
    - g_assert_cmpint
    - strlen
    - g_assert_null
    - G_N_ELEMENTS
    - g_assert
    - g_test_message
    - g_hash_table_lookup
    - g_assert_cmpstr
    - g_assert_no_error
    - g_clear_pointer
    - g_uri_parse_params
    - g_hash_table_size
    - g_memdup2
    - g_free
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_uri_parse_params (gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/glib/tests/test-spawn-echo.c:36,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: main
    functionSourceFile: /src/glib/glib/tests/test-spawn-echo.c
    functionUses: []
    functionsReached:
    - g_print
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_validate
      Src: /src/glib/glib/tests/utf8-validate.c:306,1
    - Dst: g_utf8_validate
      Src: /src/glib/glib/tests/utf8-validate.c:313,1
    - Dst: strlen
      Src: /src/glib/glib/tests/utf8-validate.c:313,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utf8-validate.c:309,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/utf8-validate.c:308,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/utf8-validate.c:315,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utf8-validate.c:316,1
    - Dst: g_utf8_validate_len
      Src: /src/glib/glib/tests/utf8-validate.c:320,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/utf8-validate.c:322,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utf8-validate.c:323,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 325
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 325
    functionName: do_test
    functionSourceFile: /src/glib/glib/tests/utf8-validate.c
    functionUses: []
    functionsReached:
    - g_utf8_validate_len
    - g_assert_true
    - strlen
    - g_utf8_validate
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void do_test (gconstpointer d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/utf8-validate.c:373,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/utf8-validate.c:377,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/utf8-validate.c:380,1
    - Dst: g_utf8_get_char_validated
      Src: /src/glib/glib/tests/utf8-validate.c:378,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 382
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 382
    functionName: test_utf8_get_char_validated
    functionSourceFile: /src/glib/glib/tests/utf8-validate.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - g_utf8_get_char_validated
    - g_assert_cmpint
    - g_test_message
    linkageType: ''
    returnType: void
    signature: 'static void test_utf8_get_char_validated (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/utf8-validate.c:390,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/utf8-validate.c:395,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utf8-validate.c:399,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/utf8-validate.c:394,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utf8-validate.c:396,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/utf8-validate.c:401,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 402
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 402
    functionName: main
    functionSourceFile: /src/glib/glib/tests/utf8-validate.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_strdup_printf
    - g_test_init
    - g_test_add_data_func
    - g_test_run
    - g_free
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_string_append_c
      Src: /src/glib/glib/tests/node.c:46,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/node.c:46,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - node
    - data
    argTypes:
    - GNode*
    - gpointer
    constantsTouched: []
    func_position:
      end: 54
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 54
    functionName: node_build_string
    functionSourceFile: /src/glib/glib/tests/node.c
    functionUses: []
    functionsReached:
    - g_string_append_c
    - GPOINTER_TO_INT
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean node_build_string (GNode *node, gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_node_new
      Src: /src/glib/glib/tests/node.c:330,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/node.c:339,1
    - Dst: g_node_append
      Src: /src/glib/glib/tests/node.c:335,1
    - Dst: g_node_max_height
      Src: /src/glib/glib/tests/node.c:339,1
    - Dst: g_node_new
      Src: /src/glib/glib/tests/node.c:335,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/node.c:340,1
    - Dst: g_node_n_nodes
      Src: /src/glib/glib/tests/node.c:340,1
    - Dst: g_node_destroy
      Src: /src/glib/glib/tests/node.c:342,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 343
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 343
    functionName: allocation_test
    functionSourceFile: /src/glib/glib/tests/node.c
    functionUses: []
    functionsReached:
    - g_node_max_height
    - g_node_new
    - g_node_append
    - g_node_destroy
    - g_node_n_nodes
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void allocation_test (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_node_new
      Src: /src/glib/glib/tests/node.c:172,1
    - Dst: g_node_new
      Src: /src/glib/glib/tests/node.c:179,1
    - Dst: g_node_append
      Src: /src/glib/glib/tests/node.c:180,1
    - Dst: g_node_new
      Src: /src/glib/glib/tests/node.c:181,1
    - Dst: g_node_new
      Src: /src/glib/glib/tests/node.c:183,1
    - Dst: g_node_append
      Src: /src/glib/glib/tests/node.c:182,1
    - Dst: g_node_prepend
      Src: /src/glib/glib/tests/node.c:184,1
    - Dst: g_node_insert
      Src: /src/glib/glib/tests/node.c:185,1
    - Dst: g_node_new
      Src: /src/glib/glib/tests/node.c:185,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/node.c:207,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:228,1
    - Dst: g_string_set_size
      Src: /src/glib/glib/tests/node.c:223,1
    - Dst: g_node_append
      Src: /src/glib/glib/tests/node.c:228,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/node.c:211,1
    - Dst: g_node_reverse_children
      Src: /src/glib/glib/tests/node.c:221,1
    - Dst: g_string_set_size
      Src: /src/glib/glib/tests/node.c:231,1
    - Dst: g_string_set_size
      Src: /src/glib/glib/tests/node.c:241,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/node.c:226,1
    - Dst: g_string_set_size
      Src: /src/glib/glib/tests/node.c:236,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:173,1
    - Dst: g_node_new
      Src: /src/glib/glib/tests/node.c:177,1
    - Dst: g_node_insert
      Src: /src/glib/glib/tests/node.c:187,1
    - Dst: g_node_new
      Src: /src/glib/glib/tests/node.c:187,1
    - Dst: g_node_last_sibling
      Src: /src/glib/glib/tests/node.c:204,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/node.c:209,1
    - Dst: g_string_set_size
      Src: /src/glib/glib/tests/node.c:214,1
    - Dst: g_node_traverse
      Src: /src/glib/glib/tests/node.c:216,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/node.c:217,1
    - Dst: g_node_new
      Src: /src/glib/glib/tests/node.c:228,1
    - Dst: g_node_traverse
      Src: /src/glib/glib/tests/node.c:233,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/node.c:244,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/node.c:234,1
    - Dst: g_node_new
      Src: /src/glib/glib/tests/node.c:229,1
    - Dst: g_node_destroy
      Src: /src/glib/glib/tests/node.c:246,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:172,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:175,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:176,1
    - Dst: g_node_insert
      Src: /src/glib/glib/tests/node.c:178,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:181,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:179,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:183,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:185,1
    - Dst: g_node_last_sibling
      Src: /src/glib/glib/tests/node.c:206,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/node.c:212,1
    - Dst: g_node_traverse
      Src: /src/glib/glib/tests/node.c:238,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/node.c:247,1
    - Dst: g_node_traverse
      Src: /src/glib/glib/tests/node.c:225,1
    - Dst: g_node_insert
      Src: /src/glib/glib/tests/node.c:229,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/node.c:239,1
    - Dst: g_node_new
      Src: /src/glib/glib/tests/node.c:173,1
    - Dst: g_node_append
      Src: /src/glib/glib/tests/node.c:174,1
    - Dst: g_node_append_data
      Src: /src/glib/glib/tests/node.c:175,1
    - Dst: g_node_prepend_data
      Src: /src/glib/glib/tests/node.c:176,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:177,1
    - Dst: g_node_insert_data
      Src: /src/glib/glib/tests/node.c:186,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:186,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:187,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/node.c:205,1
    - Dst: g_node_last_sibling
      Src: /src/glib/glib/tests/node.c:208,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:229,1
    - Dst: g_node_traverse
      Src: /src/glib/glib/tests/node.c:243,1
    - Dst: g_node_reverse_children
      Src: /src/glib/glib/tests/node.c:220,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 86
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 248
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 248
    functionName: traversal_test
    functionSourceFile: /src/glib/glib/tests/node.c
    functionUses: []
    functionsReached:
    - g_node_prepend_data
    - g_node_new
    - g_assert
    - g_node_append
    - g_node_insert
    - g_node_prepend
    - g_node_append_data
    - G_N_ELEMENTS
    - g_assert_cmpstr
    - g_node_reverse_children
    - g_node_destroy
    - g_string_free
    - GINT_TO_POINTER
    - g_node_last_sibling
    - g_string_new
    - g_node_insert_data
    - g_string_set_size
    - g_node_traverse
    linkageType: ''
    returnType: void
    signature: 'static void traversal_test (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/node.c:404,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/node.c:405,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - node
    - data
    argTypes:
    - GNode*
    - gpointer
    constantsTouched: []
    func_position:
      end: 409
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 409
    functionName: check_order
    functionSourceFile: /src/glib/glib/tests/node.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_assert_cmpint
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean check_order (GNode *node, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/node.c:471,1
    - Dst: g_ascii_toupper
      Src: /src/glib/glib/tests/node.c:472,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - src
    - data
    argTypes:
    - gconstpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 475
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 475
    functionName: copy_up
    functionSourceFile: /src/glib/glib/tests/node.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_ascii_toupper
    - GINT_TO_POINTER
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer copy_up (gconstpointer src, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/node.c:264,1
    - Dst: g_node_depth
      Src: /src/glib/glib/tests/node.c:264,1
    - Dst: g_node_max_height
      Src: /src/glib/glib/tests/node.c:265,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:271,1
    - Dst: g_node_append
      Src: /src/glib/glib/tests/node.c:277,1
    - Dst: g_node_depth
      Src: /src/glib/glib/tests/node.c:297,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/node.c:298,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/node.c:299,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/node.c:300,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/node.c:303,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:285,1
    - Dst: g_node_n_children
      Src: /src/glib/glib/tests/node.c:317,1
    - Dst: g_node_nth_child
      Src: /src/glib/glib/tests/node.c:318,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/node.c:306,1
    - Dst: g_node_depth
      Src: /src/glib/glib/tests/node.c:299,1
    - Dst: g_node_max_height
      Src: /src/glib/glib/tests/node.c:303,1
    - Dst: g_node_n_nodes
      Src: /src/glib/glib/tests/node.c:300,1
    - Dst: g_node_n_children
      Src: /src/glib/glib/tests/node.c:311,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/node.c:318,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/node.c:307,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/node.c:304,1
    - Dst: g_node_find
      Src: /src/glib/glib/tests/node.c:309,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:305,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:306,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/node.c:314,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/node.c:314,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/node.c:265,1
    - Dst: g_node_append
      Src: /src/glib/glib/tests/node.c:268,1
    - Dst: g_node_prepend_data
      Src: /src/glib/glib/tests/node.c:272,1
    - Dst: g_node_insert
      Src: /src/glib/glib/tests/node.c:274,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:276,1
    - Dst: g_node_new
      Src: /src/glib/glib/tests/node.c:276,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:273,1
    - Dst: g_node_new
      Src: /src/glib/glib/tests/node.c:273,1
    - Dst: g_node_insert
      Src: /src/glib/glib/tests/node.c:284,1
    - Dst: g_node_new
      Src: /src/glib/glib/tests/node.c:284,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/node.c:297,1
    - Dst: g_node_find
      Src: /src/glib/glib/tests/node.c:308,1
    - Dst: g_node_find_child
      Src: /src/glib/glib/tests/node.c:307,1
    - Dst: g_node_nth_child
      Src: /src/glib/glib/tests/node.c:313,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/node.c:302,1
    - Dst: g_node_find_child
      Src: /src/glib/glib/tests/node.c:306,1
    - Dst: g_node_destroy
      Src: /src/glib/glib/tests/node.c:320,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/node.c:309,1
    - Dst: g_node_max_height
      Src: /src/glib/glib/tests/node.c:298,1
    - Dst: g_node_new
      Src: /src/glib/glib/tests/node.c:285,1
    - Dst: g_node_new
      Src: /src/glib/glib/tests/node.c:267,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:267,1
    - Dst: g_node_append_data
      Src: /src/glib/glib/tests/node.c:271,1
    - Dst: g_node_append
      Src: /src/glib/glib/tests/node.c:281,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/node.c:301,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/node.c:305,1
    - Dst: g_node_new
      Src: /src/glib/glib/tests/node.c:287,1
    - Dst: g_node_find_child
      Src: /src/glib/glib/tests/node.c:305,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/node.c:308,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:308,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:309,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:287,1
    - Dst: g_node_n_nodes
      Src: /src/glib/glib/tests/node.c:301,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:284,1
    - Dst: g_node_new
      Src: /src/glib/glib/tests/node.c:263,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:263,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/node.c:269,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:272,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/node.c:278,1
    - Dst: g_node_new
      Src: /src/glib/glib/tests/node.c:280,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:280,1
    - Dst: g_node_new
      Src: /src/glib/glib/tests/node.c:282,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:282,1
    - Dst: g_node_insert_after
      Src: /src/glib/glib/tests/node.c:283,1
    - Dst: g_node_insert_after
      Src: /src/glib/glib/tests/node.c:286,1
    - Dst: g_node_child_position
      Src: /src/glib/glib/tests/node.c:318,1
    - Dst: g_node_n_nodes
      Src: /src/glib/glib/tests/node.c:302,1
    - Dst: g_node_n_children
      Src: /src/glib/glib/tests/node.c:304,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:307,1
    - Dst: g_node_insert
      Src: /src/glib/glib/tests/node.c:287,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 98
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 321
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 321
    functionName: construct_test
    functionSourceFile: /src/glib/glib/tests/node.c
    functionUses: []
    functionsReached:
    - g_node_append
    - g_node_prepend_data
    - g_node_nth_child
    - g_node_new
    - g_node_n_nodes
    - g_node_insert_after
    - g_node_child_position
    - g_node_n_children
    - g_assert_cmpint
    - GPOINTER_TO_INT
    - g_node_find_child
    - g_node_insert
    - g_node_find
    - GINT_TO_POINTER
    - g_node_max_height
    - g_assert
    - g_node_append_data
    - g_node_destroy
    - g_node_depth
    linkageType: ''
    returnType: void
    signature: 'static void construct_test (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_node_append
      Src: /src/glib/glib/tests/node.c:360,1
    - Dst: g_node_is_ancestor
      Src: /src/glib/glib/tests/node.c:367,1
    - Dst: g_node_get_root
      Src: /src/glib/glib/tests/node.c:366,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/node.c:368,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/node.c:369,1
    - Dst: g_node_first_sibling
      Src: /src/glib/glib/tests/node.c:371,1
    - Dst: g_node_first_sibling
      Src: /src/glib/glib/tests/node.c:372,1
    - Dst: g_node_child_index
      Src: /src/glib/glib/tests/node.c:374,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/node.c:374,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/node.c:375,1
    - Dst: g_node_children_foreach
      Src: /src/glib/glib/tests/node.c:380,1
    - Dst: g_node_children_foreach
      Src: /src/glib/glib/tests/node.c:390,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/node.c:381,1
    - Dst: g_node_child_index
      Src: /src/glib/glib/tests/node.c:375,1
    - Dst: g_node_new
      Src: /src/glib/glib/tests/node.c:356,1
    - Dst: g_node_append
      Src: /src/glib/glib/tests/node.c:358,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:356,1
    - Dst: g_node_new
      Src: /src/glib/glib/tests/node.c:359,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:359,1
    - Dst: g_node_new
      Src: /src/glib/glib/tests/node.c:361,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:361,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/node.c:367,1
    - Dst: g_node_is_ancestor
      Src: /src/glib/glib/tests/node.c:368,1
    - Dst: g_node_is_ancestor
      Src: /src/glib/glib/tests/node.c:369,1
    - Dst: g_node_child_index
      Src: /src/glib/glib/tests/node.c:376,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/node.c:378,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/node.c:392,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/node.c:391,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:374,1
    - Dst: g_string_set_size
      Src: /src/glib/glib/tests/node.c:383,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/node.c:366,1
    - Dst: g_node_append
      Src: /src/glib/glib/tests/node.c:364,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/node.c:370,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/node.c:372,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/node.c:376,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:376,1
    - Dst: g_node_children_foreach
      Src: /src/glib/glib/tests/node.c:385,1
    - Dst: g_string_set_size
      Src: /src/glib/glib/tests/node.c:388,1
    - Dst: g_node_destroy
      Src: /src/glib/glib/tests/node.c:394,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:357,1
    - Dst: g_node_new
      Src: /src/glib/glib/tests/node.c:357,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:363,1
    - Dst: g_node_insert_after
      Src: /src/glib/glib/tests/node.c:362,1
    - Dst: g_node_new
      Src: /src/glib/glib/tests/node.c:363,1
    - Dst: g_node_first_sibling
      Src: /src/glib/glib/tests/node.c:370,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/node.c:371,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/node.c:373,1
    - Dst: g_node_child_index
      Src: /src/glib/glib/tests/node.c:373,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:373,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:375,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/node.c:386,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 66
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 395
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 395
    functionName: misc_test
    functionSourceFile: /src/glib/glib/tests/node.c
    functionUses: []
    functionsReached:
    - g_node_new
    - g_assert
    - g_node_append
    - g_node_children_foreach
    - g_node_is_ancestor
    - g_node_first_sibling
    - g_node_get_root
    - g_string_new
    - g_assert_cmpstr
    - g_node_destroy
    - g_string_free
    - GINT_TO_POINTER
    - g_node_insert_after
    - g_node_child_index
    - g_string_set_size
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void misc_test (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:438,1
    - Dst: g_node_destroy
      Src: /src/glib/glib/tests/node.c:462,1
    - Dst: g_node_new
      Src: /src/glib/glib/tests/node.c:429,1
    - Dst: g_node_append_data
      Src: /src/glib/glib/tests/node.c:431,1
    - Dst: g_node_append_data
      Src: /src/glib/glib/tests/node.c:430,1
    - Dst: g_node_append_data
      Src: /src/glib/glib/tests/node.c:432,1
    - Dst: g_node_append_data
      Src: /src/glib/glib/tests/node.c:433,1
    - Dst: g_node_append_data
      Src: /src/glib/glib/tests/node.c:436,1
    - Dst: g_node_append_data
      Src: /src/glib/glib/tests/node.c:435,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:440,1
    - Dst: g_node_append_data
      Src: /src/glib/glib/tests/node.c:441,1
    - Dst: g_node_append_data
      Src: /src/glib/glib/tests/node.c:442,1
    - Dst: g_node_append_data
      Src: /src/glib/glib/tests/node.c:443,1
    - Dst: g_node_traverse
      Src: /src/glib/glib/tests/node.c:451,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:431,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:432,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:433,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:436,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:441,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:442,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:443,1
    - Dst: g_node_traverse
      Src: /src/glib/glib/tests/node.c:459,1
    - Dst: g_node_destroy
      Src: /src/glib/glib/tests/node.c:461,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:430,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:429,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:435,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:437,1
    - Dst: g_node_append_data
      Src: /src/glib/glib/tests/node.c:438,1
    - Dst: g_node_append_data
      Src: /src/glib/glib/tests/node.c:440,1
    - Dst: g_node_append_data
      Src: /src/glib/glib/tests/node.c:437,1
    - Dst: g_node_unlink
      Src: /src/glib/glib/tests/node.c:445,1
    - Dst: g_node_traverse
      Src: /src/glib/glib/tests/node.c:448,1
    - Dst: g_node_traverse
      Src: /src/glib/glib/tests/node.c:454,1
    - Dst: g_node_destroy
      Src: /src/glib/glib/tests/node.c:456,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 45
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 463
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 463
    functionName: unlink_test
    functionSourceFile: /src/glib/glib/tests/node.c
    functionUses: []
    functionsReached:
    - g_node_new
    - g_node_append_data
    - g_node_unlink
    - g_node_destroy
    - GINT_TO_POINTER
    - g_node_traverse
    linkageType: ''
    returnType: void
    signature: 'static void unlink_test (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_node_new
      Src: /src/glib/glib/tests/node.c:484,1
    - Dst: g_node_append_data
      Src: /src/glib/glib/tests/node.c:486,1
    - Dst: g_node_append_data
      Src: /src/glib/glib/tests/node.c:485,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:485,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:484,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:486,1
    - Dst: g_node_append_data
      Src: /src/glib/glib/tests/node.c:487,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/node.c:487,1
    - Dst: g_node_traverse
      Src: /src/glib/glib/tests/node.c:490,1
    - Dst: g_node_copy
      Src: /src/glib/glib/tests/node.c:492,1
    - Dst: g_node_traverse
      Src: /src/glib/glib/tests/node.c:495,1
    - Dst: g_node_traverse
      Src: /src/glib/glib/tests/node.c:502,1
    - Dst: g_node_destroy
      Src: /src/glib/glib/tests/node.c:504,1
    - Dst: g_node_copy_deep
      Src: /src/glib/glib/tests/node.c:499,1
    - Dst: g_node_destroy
      Src: /src/glib/glib/tests/node.c:506,1
    - Dst: g_node_destroy
      Src: /src/glib/glib/tests/node.c:497,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 507
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 507
    functionName: copy_test
    functionSourceFile: /src/glib/glib/tests/node.c
    functionUses: []
    functionsReached:
    - g_node_copy_deep
    - g_node_new
    - g_node_append_data
    - g_node_destroy
    - g_node_copy
    - GINT_TO_POINTER
    - g_node_traverse
    linkageType: ''
    returnType: void
    signature: 'static void copy_test (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/node.c:513,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/node.c:516,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/node.c:518,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/node.c:515,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/node.c:517,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/node.c:519,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/node.c:520,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/node.c:522,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 523
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 523
    functionName: main
    functionSourceFile: /src/glib/glib/tests/node.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_string_to_unsigned
      Src: /src/glib/glib/tests/macros.c:85,1
    - Dst: G_C_STD_CHECK_VERSION
      Src: /src/glib/glib/tests/macros.c:93,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/macros.c:99,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/macros.c:93,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/macros.c:88,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/macros.c:101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 102
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 102
    functionName: test_c_standard
    functionSourceFile: /src/glib/glib/tests/macros.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_ascii_string_to_unsigned
    - g_assert_cmpuint
    - G_C_STD_CHECK_VERSION
    - g_test_skip
    linkageType: ''
    returnType: void
    signature: 'static void test_c_standard (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_STATIC_ASSERT
      Src: /src/glib/glib/tests/macros.c:109,1
    - Dst: G_STATIC_ASSERT_EXPR
      Src: /src/glib/glib/tests/macros.c:110,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/macros.c:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 112
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 112
    functionName: test_assert_static
    functionSourceFile: /src/glib/glib/tests/macros.c
    functionUses: []
    functionsReached:
    - G_STATIC_ASSERT
    - g_assert_not_reached
    - G_STATIC_ASSERT_EXPR
    linkageType: ''
    returnType: void
    signature: 'static void test_assert_static (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_alignof
      Src: /src/glib/glib/tests/macros.c:128,1
    - Dst: check_alignof
      Src: /src/glib/glib/tests/macros.c:131,1
    - Dst: check_alignof
      Src: /src/glib/glib/tests/macros.c:130,1
    - Dst: check_alignof
      Src: /src/glib/glib/tests/macros.c:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 133
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 133
    functionName: test_alignof_fallback
    functionSourceFile: /src/glib/glib/tests/macros.c
    functionUses: []
    functionsReached:
    - check_alignof
    linkageType: ''
    returnType: void
    signature: 'static void test_alignof_fallback (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: test_struct_sizeof_member
    functionSourceFile: /src/glib/glib/tests/macros.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_struct_sizeof_member (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/macros.c:146,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/macros.c:149,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/macros.c:153,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/macros.c:154,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/macros.c:152,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/macros.c:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 157
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 157
    functionName: main
    functionSourceFile: /src/glib/glib/tests/macros.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ascii_function
      Src: /src/glib/glib/tests/strfuncs.c:128,1
    - Dst: g_error
      Src: /src/glib/glib/tests/strfuncs.c:133,1
    - Dst: g_error
      Src: /src/glib/glib/tests/strfuncs.c:138,1
    - Dst: c_library_function
      Src: /src/glib/glib/tests/strfuncs.c:129,1
    - Dst: unicode_function
      Src: /src/glib/glib/tests/strfuncs.c:130,1
    - Dst: ascii_function
      Src: /src/glib/glib/tests/strfuncs.c:144,1
    - Dst: g_error
      Src: /src/glib/glib/tests/strfuncs.c:147,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 4
    argNames:
    - name
    - (* ascii_function)
    - (* c_library_function)
    - (* unicode_function)
    argTypes:
    - char*
    - gchar
    - int
    - gunichar
    constantsTouched: []
    func_position:
      end: 151
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 151
    functionName: test_to_function
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_error
    - unicode_function
    - ascii_function
    - c_library_function
    linkageType: ''
    returnType: void
    signature: "static void test_to_function (const char *name,\t\t gchar (* ascii_function)\
      \ (gchar),\t\t int (* c_library_function) (int),\t\t gunichar (* unicode_function)\
      \ (gunichar)) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/strfuncs.c:256,1
    - Dst: g_stpcpy
      Src: /src/glib/glib/tests/strfuncs.c:261,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:262,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:259,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:264,1
    - Dst: g_stpcpy
      Src: /src/glib/glib/tests/strfuncs.c:266,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:267,1
    - Dst: g_stpcpy
      Src: /src/glib/glib/tests/strfuncs.c:271,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:272,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:273,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:275,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:274,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:273,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:275,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 276
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 276
    functionName: test_stpcpy
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_stpcpy
    - g_test_assert_expected_messages
    - g_assert_true
    - strlen
    - g_test_undefined
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_test_expect_message
    linkageType: ''
    returnType: void
    signature: 'static void test_stpcpy (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/strfuncs.c:581,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:584,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:583,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:582,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 585
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 585
    functionName: test_strdup_printf
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_strdup_printf
    - g_free
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void test_strdup_printf (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:1347,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:1346,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1352,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1353,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/strfuncs.c:1329,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:1334,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:1333,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:1339,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:1348,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1354,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:1331,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:1336,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:1338,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:1343,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1355
      start: 1326
    functionDepth: 0
    functionLinenumber: 1326
    functionLinenumberEnd: 1355
    functionName: test_has_suffix
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_assert_true
    - g_test_undefined
    - g_test_expect_message
    - g_assert_false
    linkageType: ''
    returnType: void
    signature: 'static void test_has_suffix (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/strfuncs.c:1641,1
    - Dst: g_ascii_formatd
      Src: /src/glib/glib/tests/strfuncs.c:1644,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/strfuncs.c:1643,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:1645,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - num
    - fmt
    - str
    argTypes:
    - gdouble
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1647
      start: 1635
    functionDepth: 0
    functionLinenumber: 1635
    functionLinenumberEnd: 1647
    functionName: check_strtod_number
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - g_assert_cmpstr
    - setlocale
    - g_ascii_formatd
    linkageType: ''
    returnType: void
    signature: 'static void check_strtod_number (gdouble num, gchar *fmt, gchar *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strsignal
      Src: /src/glib/glib/tests/strfuncs.c:2092,1
    - Dst: g_utf8_validate
      Src: /src/glib/glib/tests/strfuncs.c:2094,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:2094,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:2093,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2096
      start: 2084
    functionDepth: 0
    functionLinenumber: 2084
    functionLinenumberEnd: 2096
    functionName: test_strsignal
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_utf8_validate
    - g_assert_nonnull
    - g_strsignal
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_strsignal (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strup
      Src: /src/glib/glib/tests/strfuncs.c:2109,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:2112,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:2117,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:2122,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:2131,1
    - Dst: g_strcasecmp
      Src: /src/glib/glib/tests/strfuncs.c:2131,1
    - Dst: g_strcasecmp
      Src: /src/glib/glib/tests/strfuncs.c:2124,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:2129,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:2130,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/strfuncs.c:2128,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:2132,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/strfuncs.c:2104,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:2107,1
    - Dst: g_strcasecmp
      Src: /src/glib/glib/tests/strfuncs.c:2119,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:2120,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:2110,1
    - Dst: g_strdown
      Src: /src/glib/glib/tests/strfuncs.c:2114,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:2115,1
    - Dst: g_strdown
      Src: /src/glib/glib/tests/strfuncs.c:2130,1
    - Dst: g_strup
      Src: /src/glib/glib/tests/strfuncs.c:2129,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:2125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2133
      start: 2099
    functionDepth: 0
    functionLinenumber: 2099
    functionLinenumberEnd: 2133
    functionName: test_strup
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_strdup
    - g_assert_true
    - g_strdown
    - g_test_undefined
    - g_assert_cmpstr
    - g_test_expect_message
    - g_strup
    - g_strcasecmp
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_strup (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strv_contains
      Src: /src/glib/glib/tests/strfuncs.c:2294,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:2294,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:2299,1
    - Dst: g_strv_contains
      Src: /src/glib/glib/tests/strfuncs.c:2299,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:2282,1
    - Dst: g_strv_contains
      Src: /src/glib/glib/tests/strfuncs.c:2281,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:2289,1
    - Dst: g_strv_contains
      Src: /src/glib/glib/tests/strfuncs.c:2295,1
    - Dst: g_strv_contains
      Src: /src/glib/glib/tests/strfuncs.c:2297,1
    - Dst: g_strv_contains
      Src: /src/glib/glib/tests/strfuncs.c:2293,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:2297,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:2293,1
    - Dst: g_strv_contains
      Src: /src/glib/glib/tests/strfuncs.c:2300,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:2285,1
    - Dst: g_strv_contains
      Src: /src/glib/glib/tests/strfuncs.c:2292,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:2295,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:2300,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/strfuncs.c:2276,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:2283,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:2279,1
    - Dst: g_strv_contains
      Src: /src/glib/glib/tests/strfuncs.c:2287,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:2288,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:2292,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2301
      start: 2268
    functionDepth: 0
    functionLinenumber: 2268
    functionLinenumberEnd: 2301
    functionName: test_strv_contains
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_assert_true
    - g_test_undefined
    - g_strv_contains
    - g_test_expect_message
    - g_assert_false
    linkageType: ''
    returnType: void
    signature: 'static void test_strv_contains (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ascii_function
      Src: /src/glib/glib/tests/strfuncs.c:162,1
    - Dst: unicode_function
      Src: /src/glib/glib/tests/strfuncs.c:163,1
    - Dst: g_error
      Src: /src/glib/glib/tests/strfuncs.c:166,1
    - Dst: g_error
      Src: /src/glib/glib/tests/strfuncs.c:175,1
    - Dst: ascii_function
      Src: /src/glib/glib/tests/strfuncs.c:172,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 3
    argNames:
    - name
    - (* ascii_function)
    - (* unicode_function)
    argTypes:
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 179
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 179
    functionName: test_digit_function
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_error
    - unicode_function
    - ascii_function
    linkageType: ''
    returnType: void
    signature: "static void test_digit_function (const char *name,\t\t int (* ascii_function)\
      \ (gchar),\t\t int (* unicode_function) (gunichar)) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_set_str
      Src: /src/glib/glib/tests/strfuncs.c:2702,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:2709,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:2712,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:2708,1
    - Dst: g_set_str
      Src: /src/glib/glib/tests/strfuncs.c:2711,1
    - Dst: g_set_str
      Src: /src/glib/glib/tests/strfuncs.c:2708,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:2699,1
    - Dst: g_set_str
      Src: /src/glib/glib/tests/strfuncs.c:2699,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:2700,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:2703,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:2715,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:2711,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:2716,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:2702,1
    - Dst: g_set_str
      Src: /src/glib/glib/tests/strfuncs.c:2712,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:2713,1
    - Dst: g_set_str
      Src: /src/glib/glib/tests/strfuncs.c:2703,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:2704,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:2705,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:2706,1
    - Dst: g_set_str
      Src: /src/glib/glib/tests/strfuncs.c:2715,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:2718,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2719
      start: 2693
    functionDepth: 0
    functionLinenumber: 2693
    functionLinenumberEnd: 2719
    functionName: test_set_str
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_assert_null
    - g_assert_nonnull
    - g_set_str
    - g_assert_cmpstr
    - g_assert_false
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_set_str (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/strfuncs.c:2735,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/strfuncs.c:2738,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:2736,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:2739,1
    - Dst: g_str_is_ascii
      Src: /src/glib/glib/tests/strfuncs.c:2736,1
    - Dst: g_str_is_ascii
      Src: /src/glib/glib/tests/strfuncs.c:2739,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2740
      start: 2721
    functionDepth: 0
    functionLinenumber: 2721
    functionLinenumberEnd: 2740
    functionName: test_str_is_ascii
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - g_assert_false
    - g_assert_true
    - g_str_is_ascii
    linkageType: ''
    returnType: void
    signature: 'static void test_str_is_ascii (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:215,1
    - Dst: g_memdup
      Src: /src/glib/glib/tests/strfuncs.c:216,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:217,1
    - Dst: g_memdup
      Src: /src/glib/glib/tests/strfuncs.c:215,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:216,1
    - Dst: g_memdup
      Src: /src/glib/glib/tests/strfuncs.c:217,1
    - Dst: g_memdup
      Src: /src/glib/glib/tests/strfuncs.c:220,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:220,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:221,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:222,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 227
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 227
    functionName: test_memdup
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - strlen
    - g_assert_null
    - g_assert_nonnull
    - g_free
    - g_assert_cmpstr
    - g_memdup
    linkageType: ''
    returnType: void
    signature: 'static void test_memdup (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:237,1
    - Dst: g_memdup2
      Src: /src/glib/glib/tests/strfuncs.c:238,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:239,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:238,1
    - Dst: g_memdup2
      Src: /src/glib/glib/tests/strfuncs.c:237,1
    - Dst: g_memdup2
      Src: /src/glib/glib/tests/strfuncs.c:239,1
    - Dst: g_memdup2
      Src: /src/glib/glib/tests/strfuncs.c:242,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:242,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:243,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:244,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 247
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 247
    functionName: test_memdup2
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - strlen
    - g_assert_null
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_memdup2
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_memdup2 (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:348,1
    - Dst: g_strlcat
      Src: /src/glib/glib/tests/strfuncs.c:350,1
    - Dst: g_strlcat
      Src: /src/glib/glib/tests/strfuncs.c:357,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:373,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/strfuncs.c:370,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:372,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:371,1
    - Dst: g_strlcat
      Src: /src/glib/glib/tests/strfuncs.c:371,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:380,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:383,1
    - Dst: g_strlcat
      Src: /src/glib/glib/tests/strfuncs.c:386,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:391,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/strfuncs.c:345,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:351,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:353,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:370,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:364,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:364,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:376,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/strfuncs.c:380,1
    - Dst: g_strlcat
      Src: /src/glib/glib/tests/strfuncs.c:381,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:381,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:394,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:355,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:360,1
    - Dst: g_strlcat
      Src: /src/glib/glib/tests/strfuncs.c:363,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:373,1
    - Dst: g_strlcat
      Src: /src/glib/glib/tests/strfuncs.c:376,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/strfuncs.c:385,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:388,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:388,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:392,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:390,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:387,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:358,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/strfuncs.c:375,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:375,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:377,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:378,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:378,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:382,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:383,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/strfuncs.c:390,1
    - Dst: g_strlcat
      Src: /src/glib/glib/tests/strfuncs.c:391,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:394,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 65
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 395
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 395
    functionName: test_strlcat
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_strlcat
    - strlen
    - g_test_undefined
    - g_assert_cmpuint
    - g_assert_cmpstr
    - g_test_expect_message
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_strlcat (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strndup
      Src: /src/glib/glib/tests/strfuncs.c:561,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:565,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:566,1
    - Dst: g_strndup
      Src: /src/glib/glib/tests/strfuncs.c:564,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:562,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:567,1
    - Dst: g_strndup
      Src: /src/glib/glib/tests/strfuncs.c:569,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:570,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:571,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:572,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 573
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 573
    functionName: test_strndup
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_assert_null
    - g_strndup
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_strndup (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/strfuncs.c:1232,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:1235,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:1238,1
    - Dst: g_strdelimit
      Src: /src/glib/glib/tests/strfuncs.c:1241,1
    - Dst: g_strdelimit
      Src: /src/glib/glib/tests/strfuncs.c:1237,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/strfuncs.c:1241,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:1242,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:1243,1
    - Dst: g_strdelimit
      Src: /src/glib/glib/tests/strfuncs.c:1245,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/strfuncs.c:1245,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:1246,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:1247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1248
      start: 1226
    functionDepth: 0
    functionLinenumber: 1226
    functionLinenumberEnd: 1248
    functionName: test_strdelimit
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_strdup
    - g_strdelimit
    - g_test_undefined
    - g_assert_cmpstr
    - g_test_expect_message
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_strdelimit (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1451,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1463,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1489,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1466,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1469,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1483,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1491,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:1452,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1461,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1477,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1479,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1486,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1462,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1445,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:1447,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1458,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1460,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1485,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:1446,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1466,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:1441,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1458,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1464,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1473,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1475,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1471,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1493,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1488,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1465,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1483,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1477,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1479,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1439,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:1449,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1465,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1484,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1491,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1474,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1486,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:1440,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1463,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1470,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1472,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1492,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:1437,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1464,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1487,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1482,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/strfuncs.c:1434,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1462,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1476,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1478,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1480,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1489,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1482,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1490,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1485,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1457,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1456,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:1443,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1459,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1456,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1459,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1461,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1474,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1488,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1476,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1470,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1472,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1457,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1467,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1484,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1490,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1492,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1487,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1467,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:1453,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1460,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1478,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1480,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1493,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1475,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1473,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1469,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1471,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 90
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1494
      start: 1429
    functionDepth: 0
    functionLinenumber: 1429
    functionLinenumberEnd: 1494
    functionName: test_strsplit
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_assert_null
    - g_test_undefined
    - g_test_expect_message
    - strv_check
    - g_strsplit
    linkageType: ''
    returnType: void
    signature: 'static void test_strsplit (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/glib/glib/tests/strfuncs.c:2065,1
    - Dst: g_hash_table_new
      Src: /src/glib/glib/tests/strfuncs.c:2068,1
    - Dst: g_strerror
      Src: /src/glib/glib/tests/strfuncs.c:2072,1
    - Dst: g_strerror
      Src: /src/glib/glib/tests/strfuncs.c:2067,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/strfuncs.c:2073,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:2074,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:2075,1
    - Dst: g_utf8_validate
      Src: /src/glib/glib/tests/strfuncs.c:2075,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:2076,1
    - Dst: g_hash_table_contains
      Src: /src/glib/glib/tests/strfuncs.c:2076,1
    - Dst: g_hash_table_add
      Src: /src/glib/glib/tests/strfuncs.c:2077,1
    - Dst: g_hash_table_unref
      Src: /src/glib/glib/tests/strfuncs.c:2080,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2081
      start: 2058
    functionDepth: 0
    functionLinenumber: 2058
    functionLinenumberEnd: 2081
    functionName: test_strerror
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_hash_table_unref
    - g_assert_nonnull
    - g_strerror
    - strcmp
    - setlocale
    - g_hash_table_new
    - g_hash_table_contains
    - g_utf8_validate
    - g_hash_table_add
    linkageType: ''
    returnType: void
    signature: 'static void test_strerror (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/strfuncs.c:2247,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:2251,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:2250,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:2254,1
    - Dst: g_str_equal
      Src: /src/glib/glib/tests/strfuncs.c:2254,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:2255,1
    - Dst: g_str_equal
      Src: /src/glib/glib/tests/strfuncs.c:2255,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:2260,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:2263,1
    - Dst: g_str_equal
      Src: /src/glib/glib/tests/strfuncs.c:2264,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:2264,1
    - Dst: g_str_equal
      Src: /src/glib/glib/tests/strfuncs.c:2263,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:2261,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2265
      start: 2242
    functionDepth: 0
    functionLinenumber: 2242
    functionLinenumberEnd: 2265
    functionName: test_str_equal
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_assert_true
    - g_test_summary
    - g_str_equal
    linkageType: ''
    returnType: void
    signature: 'static void test_str_equal (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:2630,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/strfuncs.c:2636,1
    - Dst: g_ascii_string_to_unsigned
      Src: /src/glib/glib/tests/strfuncs.c:2630,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/strfuncs.c:2671,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/strfuncs.c:2655,1
    - Dst: g_ascii_string_to_unsigned
      Src: /src/glib/glib/tests/strfuncs.c:2665,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:2674,1
    - Dst: g_ascii_string_to_signed
      Src: /src/glib/glib/tests/strfuncs.c:2674,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/strfuncs.c:2689,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:2648,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/strfuncs.c:2654,1
    - Dst: g_ascii_string_to_signed
      Src: /src/glib/glib/tests/strfuncs.c:2656,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:2683,1
    - Dst: g_ascii_string_to_signed
      Src: /src/glib/glib/tests/strfuncs.c:2683,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/strfuncs.c:2637,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/strfuncs.c:2645,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/strfuncs.c:2663,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:2665,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:2681,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:2638,1
    - Dst: g_ascii_string_to_unsigned
      Src: /src/glib/glib/tests/strfuncs.c:2638,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/strfuncs.c:2646,1
    - Dst: g_ascii_string_to_signed
      Src: /src/glib/glib/tests/strfuncs.c:2648,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:2656,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/strfuncs.c:2662,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:2672,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/strfuncs.c:2680,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:2690,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2691
      start: 2618
    functionDepth: 0
    functionLinenumber: 2618
    functionLinenumberEnd: 2691
    functionName: test_ascii_string_to_number_pathological
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_assert_true
    - g_assert_cmpint
    - g_ascii_string_to_unsigned
    - g_ascii_string_to_signed
    - g_assert_no_error
    - g_assert_false
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_ascii_string_to_number_pathological (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:501,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:504,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:505,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:508,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:510,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:511,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/strfuncs.c:512,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/strfuncs.c:517,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:515,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:516,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 518
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 518
    functionName: test_strdup
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_assert_null
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_clear_pointer
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_strdup (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:852,1
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/glib/tests/strfuncs.c:856,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:863,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:869,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:878,1
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/glib/tests/strfuncs.c:880,1
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/glib/tests/strfuncs.c:892,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:893,1
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/glib/tests/strfuncs.c:895,1
    - Dst: g_ascii_strncasecmp
      Src: /src/glib/glib/tests/strfuncs.c:899,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:911,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:896,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:912,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:915,1
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/glib/tests/strfuncs.c:886,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:831,1
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/glib/tests/strfuncs.c:833,1
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/glib/tests/strfuncs.c:839,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:853,1
    - Dst: g_ascii_strncasecmp
      Src: /src/glib/glib/tests/strfuncs.c:845,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:857,1
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/glib/tests/strfuncs.c:862,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:866,1
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/glib/tests/strfuncs.c:871,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:881,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:884,1
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/glib/tests/strfuncs.c:889,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:906,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:909,1
    - Dst: g_ascii_strncasecmp
      Src: /src/glib/glib/tests/strfuncs.c:914,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:887,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/strfuncs.c:829,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:834,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:837,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:840,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:843,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:849,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:846,1
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/glib/tests/strfuncs.c:865,1
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/glib/tests/strfuncs.c:877,1
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/glib/tests/strfuncs.c:883,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:905,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:908,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:900,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:903,1
    - Dst: g_ascii_strncasecmp
      Src: /src/glib/glib/tests/strfuncs.c:902,1
    - Dst: g_ascii_strncasecmp
      Src: /src/glib/glib/tests/strfuncs.c:905,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:835,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:841,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:847,1
    - Dst: g_ascii_strncasecmp
      Src: /src/glib/glib/tests/strfuncs.c:851,1
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/glib/tests/strfuncs.c:859,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:860,1
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/glib/tests/strfuncs.c:868,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:872,1
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/glib/tests/strfuncs.c:874,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:875,1
    - Dst: g_ascii_strncasecmp
      Src: /src/glib/glib/tests/strfuncs.c:911,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:914,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:890,1
    - Dst: g_ascii_strncasecmp
      Src: /src/glib/glib/tests/strfuncs.c:908,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:902,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 92
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 916
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 916
    functionName: test_ascii_strcasecmp
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - strlen
    - g_test_undefined
    - g_ascii_strcasecmp
    - g_test_expect_message
    - g_assert_false
    - g_ascii_strncasecmp
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_ascii_strcasecmp (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/tests/strfuncs.c:960,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/strfuncs.c:963,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:966,1
    - Dst: g_strchomp
      Src: /src/glib/glib/tests/strfuncs.c:962,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:964,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - str
    - expected
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 967
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 967
    functionName: do_test_strchomp
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_strdup
    - strcmp
    - g_strchomp
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void do_test_strchomp (const gchar *str, const gchar *expected) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1070,1
    - Dst: g_strncasecmp
      Src: /src/glib/glib/tests/strfuncs.c:1070,1
    - Dst: g_strncasecmp
      Src: /src/glib/glib/tests/strfuncs.c:1071,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1071,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1072
      start: 1067
    functionDepth: 0
    functionLinenumber: 1067
    functionLinenumberEnd: 1072
    functionName: test_strncasecmp
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_strncasecmp
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_strncasecmp (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:1256,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:1259,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:1258,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:1261,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:1264,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:1271,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1276,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:1272,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1278,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/strfuncs.c:1254,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:1263,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:1268,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:1273,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1279,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1280
      start: 1251
    functionDepth: 0
    functionLinenumber: 1251
    functionLinenumberEnd: 1280
    functionName: test_has_prefix
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_assert_true
    - g_test_undefined
    - g_test_expect_message
    - g_assert_false
    linkageType: ''
    returnType: void
    signature: 'static void test_has_prefix (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:2329,1
    - Dst: g_strv_equal
      Src: /src/glib/glib/tests/strfuncs.c:2332,1
    - Dst: g_strv_equal
      Src: /src/glib/glib/tests/strfuncs.c:2344,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/strfuncs.c:2316,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:2325,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:2332,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:2333,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:2334,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:2335,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:2336,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:2337,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:2338,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:2339,1
    - Dst: g_strv_equal
      Src: /src/glib/glib/tests/strfuncs.c:2343,1
    - Dst: g_strv_equal
      Src: /src/glib/glib/tests/strfuncs.c:2341,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:2323,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:2322,1
    - Dst: g_strv_equal
      Src: /src/glib/glib/tests/strfuncs.c:2321,1
    - Dst: g_strv_equal
      Src: /src/glib/glib/tests/strfuncs.c:2327,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:2328,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:2344,1
    - Dst: g_strv_equal
      Src: /src/glib/glib/tests/strfuncs.c:2342,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:2343,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:2319,1
    - Dst: g_strv_equal
      Src: /src/glib/glib/tests/strfuncs.c:2333,1
    - Dst: g_strv_equal
      Src: /src/glib/glib/tests/strfuncs.c:2334,1
    - Dst: g_strv_equal
      Src: /src/glib/glib/tests/strfuncs.c:2335,1
    - Dst: g_strv_equal
      Src: /src/glib/glib/tests/strfuncs.c:2336,1
    - Dst: g_strv_equal
      Src: /src/glib/glib/tests/strfuncs.c:2337,1
    - Dst: g_strv_equal
      Src: /src/glib/glib/tests/strfuncs.c:2338,1
    - Dst: g_strv_equal
      Src: /src/glib/glib/tests/strfuncs.c:2339,1
    - Dst: g_strv_equal
      Src: /src/glib/glib/tests/strfuncs.c:2340,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:2341,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:2345,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:2340,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:2342,1
    - Dst: g_strv_equal
      Src: /src/glib/glib/tests/strfuncs.c:2345,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2346
      start: 2304
    functionDepth: 0
    functionLinenumber: 2304
    functionLinenumberEnd: 2346
    functionName: test_strv_equal
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_strv_equal
    - g_test_assert_expected_messages
    - g_assert_true
    - g_test_undefined
    - g_test_expect_message
    - g_assert_false
    linkageType: ''
    returnType: void
    signature: 'static void test_strv_equal (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:536,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/strfuncs.c:536,1
    - Dst: g_test_incomplete
      Src: /src/glib/glib/tests/strfuncs.c:530,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/strfuncs.c:538,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:539,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:540,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/strfuncs.c:542,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/strfuncs.c:543,1
    - Dst: G_GNUC_CHECK_VERSION
      Src: /src/glib/glib/tests/strfuncs.c:525,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:545,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:550,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/strfuncs.c:547,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/strfuncs.c:552,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:546,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/strfuncs.c:549,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:551,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 553
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 553
    functionName: test_strdup_inline
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_assert_null
    - g_test_incomplete
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_clear_pointer
    - G_GNUC_CHECK_VERSION
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_strdup_inline (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:1085,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:1090,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:1098,1
    - Dst: g_strstr_len
      Src: /src/glib/glib/tests/strfuncs.c:1114,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:1124,1
    - Dst: g_strrstr
      Src: /src/glib/glib/tests/strfuncs.c:1142,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:1152,1
    - Dst: g_strrstr_len
      Src: /src/glib/glib/tests/strfuncs.c:1166,1
    - Dst: g_strrstr_len
      Src: /src/glib/glib/tests/strfuncs.c:1173,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:1175,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:1186,1
    - Dst: g_strrstr_len
      Src: /src/glib/glib/tests/strfuncs.c:1163,1
    - Dst: g_strrstr
      Src: /src/glib/glib/tests/strfuncs.c:1138,1
    - Dst: g_strrstr_len
      Src: /src/glib/glib/tests/strfuncs.c:1169,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:1179,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:1171,1
    - Dst: g_strrstr
      Src: /src/glib/glib/tests/strfuncs.c:1123,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/strfuncs.c:1080,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1107,1
    - Dst: g_strstr_len
      Src: /src/glib/glib/tests/strfuncs.c:1110,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:1116,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:1126,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:1129,1
    - Dst: g_strrstr
      Src: /src/glib/glib/tests/strfuncs.c:1132,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:1133,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:1136,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:1140,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1170,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1139,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1143,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:1167,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:1161,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1178,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/strfuncs.c:1082,1
    - Dst: g_strstr_len
      Src: /src/glib/glib/tests/strfuncs.c:1092,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:1093,1
    - Dst: g_strstr_len
      Src: /src/glib/glib/tests/strfuncs.c:1097,1
    - Dst: g_strstr_len
      Src: /src/glib/glib/tests/strfuncs.c:1103,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:1104,1
    - Dst: g_strrstr
      Src: /src/glib/glib/tests/strfuncs.c:1135,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:1144,1
    - Dst: g_strrstr_len
      Src: /src/glib/glib/tests/strfuncs.c:1151,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:1154,1
    - Dst: g_strrstr_len
      Src: /src/glib/glib/tests/strfuncs.c:1156,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:1157,1
    - Dst: g_strrstr
      Src: /src/glib/glib/tests/strfuncs.c:1128,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:1149,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:1184,1
    - Dst: g_strstr_len
      Src: /src/glib/glib/tests/strfuncs.c:1087,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:1088,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:1108,1
    - Dst: g_strstr_len
      Src: /src/glib/glib/tests/strfuncs.c:1100,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:1101,1
    - Dst: g_strstr_len
      Src: /src/glib/glib/tests/strfuncs.c:1106,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1111,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:1112,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1115,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/strfuncs.c:1119,1
    - Dst: g_strrstr_len
      Src: /src/glib/glib/tests/strfuncs.c:1160,1
    - Dst: g_strrstr_len
      Src: /src/glib/glib/tests/strfuncs.c:1177,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/strfuncs.c:1147,1
    - Dst: g_strstr_len
      Src: /src/glib/glib/tests/strfuncs.c:1183,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1174,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:1121,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:1164,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 109
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1187
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1187
    functionName: test_strstr
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_strrstr
    - g_strdup
    - g_assert_true
    - g_assert_null
    - g_test_undefined
    - g_assert_cmpstr
    - g_strrstr_len
    - g_test_expect_message
    - g_strstr_len
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_strstr (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:783,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:794,1
    - Dst: g_strcompress
      Src: /src/glib/glib/tests/strfuncs.c:800,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:801,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:802,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:812,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:813,1
    - Dst: g_strcompress
      Src: /src/glib/glib/tests/strfuncs.c:817,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:819,1
    - Dst: g_strescape
      Src: /src/glib/glib/tests/strfuncs.c:807,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:818,1
    - Dst: g_strcompress
      Src: /src/glib/glib/tests/strfuncs.c:759,1
    - Dst: g_strcompress
      Src: /src/glib/glib/tests/strfuncs.c:766,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:774,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:780,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:784,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:775,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:773,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:796,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:809,1
    - Dst: g_strcompress
      Src: /src/glib/glib/tests/strfuncs.c:810,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:811,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:814,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/strfuncs.c:755,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:760,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:757,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:764,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:767,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:768,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:789,1
    - Dst: g_strescape
      Src: /src/glib/glib/tests/strfuncs.c:792,1
    - Dst: g_strescape
      Src: /src/glib/glib/tests/strfuncs.c:799,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:803,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:820,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:761,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:769,1
    - Dst: g_strcompress
      Src: /src/glib/glib/tests/strfuncs.c:772,1
    - Dst: g_strescape
      Src: /src/glib/glib/tests/strfuncs.c:782,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/strfuncs.c:778,1
    - Dst: g_strescape
      Src: /src/glib/glib/tests/strfuncs.c:787,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:788,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:790,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:795,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:808,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:804,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 59
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 821
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 821
    functionName: test_strcompress_strescape
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_assert_null
    - g_strcompress
    - g_test_undefined
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_test_expect_message
    - g_strescape
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_strcompress_strescape (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_incomplete
      Src: /src/glib/glib/tests/strfuncs.c:1366,1
    - Dst: g_str_has_suffix
      Src: /src/glib/glib/tests/strfuncs.c:1373,1
    - Dst: g_str_has_suffix
      Src: /src/glib/glib/tests/strfuncs.c:1378,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:1387,1
    - Dst: g_str_has_suffix
      Src: /src/glib/glib/tests/strfuncs.c:1388,1
    - Dst: g_str_has_suffix
      Src: /src/glib/glib/tests/strfuncs.c:1383,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1391,1
    - Dst: g_str_has_suffix
      Src: /src/glib/glib/tests/strfuncs.c:1392,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1393,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1394,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/strfuncs.c:1369,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:1378,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:1386,1
    - Dst: G_GNUC_CHECK_VERSION
      Src: /src/glib/glib/tests/strfuncs.c:1361,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:1373,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:1376,1
    - Dst: g_str_has_suffix
      Src: /src/glib/glib/tests/strfuncs.c:1387,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:1388,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:1383,1
    - Dst: g_str_has_suffix
      Src: /src/glib/glib/tests/strfuncs.c:1391,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1392,1
    - Dst: g_str_has_suffix
      Src: /src/glib/glib/tests/strfuncs.c:1393,1
    - Dst: g_str_has_suffix
      Src: /src/glib/glib/tests/strfuncs.c:1394,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:1371,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:1374,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:1379,1
    - Dst: g_str_has_suffix
      Src: /src/glib/glib/tests/strfuncs.c:1386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1395
      start: 1358
    functionDepth: 0
    functionLinenumber: 1358
    functionLinenumberEnd: 1395
    functionName: test_has_suffix_macro
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_assert_true
    - g_str_has_suffix
    - g_test_incomplete
    - g_test_undefined
    - g_test_expect_message
    - g_assert_false
    - G_GNUC_CHECK_VERSION
    linkageType: ''
    returnType: void
    signature: 'static void test_has_suffix_macro (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1669,1
    - Dst: g_isnan
      Src: /src/glib/glib/tests/strfuncs.c:1662,1
    - Dst: check_strtod_string
      Src: /src/glib/glib/tests/strfuncs.c:1687,1
    - Dst: check_strtod_string
      Src: /src/glib/glib/tests/strfuncs.c:1688,1
    - Dst: check_strtod_string
      Src: /src/glib/glib/tests/strfuncs.c:1689,1
    - Dst: check_strtod_string
      Src: /src/glib/glib/tests/strfuncs.c:1692,1
    - Dst: check_strtod_string
      Src: /src/glib/glib/tests/strfuncs.c:1695,1
    - Dst: check_strtod_string
      Src: /src/glib/glib/tests/strfuncs.c:1696,1
    - Dst: check_strtod_string
      Src: /src/glib/glib/tests/strfuncs.c:1702,1
    - Dst: check_strtod_string
      Src: /src/glib/glib/tests/strfuncs.c:1704,1
    - Dst: check_strtod_string
      Src: /src/glib/glib/tests/strfuncs.c:1705,1
    - Dst: check_strtod_string
      Src: /src/glib/glib/tests/strfuncs.c:1694,1
    - Dst: g_ascii_strtod
      Src: /src/glib/glib/tests/strfuncs.c:1712,1
    - Dst: g_ascii_strtod
      Src: /src/glib/glib/tests/strfuncs.c:1722,1
    - Dst: check_strtod_number
      Src: /src/glib/glib/tests/strfuncs.c:1739,1
    - Dst: check_strtod_string
      Src: /src/glib/glib/tests/strfuncs.c:1731,1
    - Dst: g_ascii_dtostr
      Src: /src/glib/glib/tests/strfuncs.c:1715,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1715,1
    - Dst: check_strtod_number
      Src: /src/glib/glib/tests/strfuncs.c:1740,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1662,1
    - Dst: g_ascii_strtod
      Src: /src/glib/glib/tests/strfuncs.c:1719,1
    - Dst: check_strtod_string
      Src: /src/glib/glib/tests/strfuncs.c:1730,1
    - Dst: check_strtod_string
      Src: /src/glib/glib/tests/strfuncs.c:1703,1
    - Dst: check_strtod_number
      Src: /src/glib/glib/tests/strfuncs.c:1742,1
    - Dst: atof
      Src: /src/glib/glib/tests/strfuncs.c:1667,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:1674,1
    - Dst: g_ascii_strtod
      Src: /src/glib/glib/tests/strfuncs.c:1676,1
    - Dst: check_strtod_string
      Src: /src/glib/glib/tests/strfuncs.c:1681,1
    - Dst: check_strtod_string
      Src: /src/glib/glib/tests/strfuncs.c:1682,1
    - Dst: check_strtod_string
      Src: /src/glib/glib/tests/strfuncs.c:1683,1
    - Dst: check_strtod_string
      Src: /src/glib/glib/tests/strfuncs.c:1684,1
    - Dst: check_strtod_string
      Src: /src/glib/glib/tests/strfuncs.c:1685,1
    - Dst: check_strtod_string
      Src: /src/glib/glib/tests/strfuncs.c:1686,1
    - Dst: check_strtod_string
      Src: /src/glib/glib/tests/strfuncs.c:1693,1
    - Dst: g_ascii_strtod
      Src: /src/glib/glib/tests/strfuncs.c:1715,1
    - Dst: check_strtod_string
      Src: /src/glib/glib/tests/strfuncs.c:1729,1
    - Dst: pow
      Src: /src/glib/glib/tests/strfuncs.c:1718,1
    - Dst: check_strtod_string
      Src: /src/glib/glib/tests/strfuncs.c:1726,1
    - Dst: check_strtod_number
      Src: /src/glib/glib/tests/strfuncs.c:1743,1
    - Dst: g_ascii_dtostr
      Src: /src/glib/glib/tests/strfuncs.c:1712,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1712,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1722,1
    - Dst: check_strtod_string
      Src: /src/glib/glib/tests/strfuncs.c:1728,1
    - Dst: atof
      Src: /src/glib/glib/tests/strfuncs.c:1660,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/strfuncs.c:1672,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:1677,1
    - Dst: check_strtod_string
      Src: /src/glib/glib/tests/strfuncs.c:1707,1
    - Dst: pow
      Src: /src/glib/glib/tests/strfuncs.c:1721,1
    - Dst: g_ascii_dtostr
      Src: /src/glib/glib/tests/strfuncs.c:1722,1
    - Dst: check_strtod_number
      Src: /src/glib/glib/tests/strfuncs.c:1741,1
    - Dst: check_strtod_string
      Src: /src/glib/glib/tests/strfuncs.c:1699,1
    - Dst: g_ascii_dtostr
      Src: /src/glib/glib/tests/strfuncs.c:1719,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1719,1
    - Dst: check_strtod_string
      Src: /src/glib/glib/tests/strfuncs.c:1727,1
    - Dst: check_strtod_string
      Src: /src/glib/glib/tests/strfuncs.c:1735,1
    - Dst: check_strtod_string
      Src: /src/glib/glib/tests/strfuncs.c:1725,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 78
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1744
      start: 1650
    functionDepth: 0
    functionLinenumber: 1650
    functionLinenumberEnd: 1744
    functionName: test_ascii_strtod
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_ascii_dtostr
    - g_assert_true
    - check_strtod_string
    - g_test_undefined
    - g_ascii_strtod
    - pow
    - check_strtod_number
    - atof
    - g_test_expect_message
    - g_isnan
    linkageType: ''
    returnType: void
    signature: 'static void test_ascii_strtod (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:2146,1
    - Dst: g_str_to_ascii
      Src: /src/glib/glib/tests/strfuncs.c:2168,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:2182,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:2183,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:2191,1
    - Dst: g_str_to_ascii
      Src: /src/glib/glib/tests/strfuncs.c:2194,1
    - Dst: g_str_to_ascii
      Src: /src/glib/glib/tests/strfuncs.c:2198,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:2187,1
    - Dst: g_str_to_ascii
      Src: /src/glib/glib/tests/strfuncs.c:2207,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:2220,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:2225,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:2226,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:2229,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:2209,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:2208,1
    - Dst: g_str_to_ascii
      Src: /src/glib/glib/tests/strfuncs.c:2237,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:2212,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/strfuncs.c:2142,1
    - Dst: g_str_to_ascii
      Src: /src/glib/glib/tests/strfuncs.c:2150,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:2165,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:2166,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:2162,1
    - Dst: g_str_to_ascii
      Src: /src/glib/glib/tests/strfuncs.c:2164,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:2174,1
    - Dst: g_str_to_ascii
      Src: /src/glib/glib/tests/strfuncs.c:2181,1
    - Dst: g_str_to_ascii
      Src: /src/glib/glib/tests/strfuncs.c:2190,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:2196,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:2213,1
    - Dst: g_str_to_ascii
      Src: /src/glib/glib/tests/strfuncs.c:2224,1
    - Dst: g_str_to_ascii
      Src: /src/glib/glib/tests/strfuncs.c:2228,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:2203,1
    - Dst: g_str_to_ascii
      Src: /src/glib/glib/tests/strfuncs.c:2232,1
    - Dst: g_str_to_ascii
      Src: /src/glib/glib/tests/strfuncs.c:2211,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:2234,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:2221,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:2147,1
    - Dst: g_str_to_ascii
      Src: /src/glib/glib/tests/strfuncs.c:2145,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:2151,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:2157,1
    - Dst: g_str_to_ascii
      Src: /src/glib/glib/tests/strfuncs.c:2160,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:2161,1
    - Dst: g_str_to_ascii
      Src: /src/glib/glib/tests/strfuncs.c:2173,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:2175,1
    - Dst: g_str_to_ascii
      Src: /src/glib/glib/tests/strfuncs.c:2177,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:2178,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:2239,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:2230,1
    - Dst: g_str_to_ascii
      Src: /src/glib/glib/tests/strfuncs.c:2202,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:2238,1
    - Dst: g_str_to_ascii
      Src: /src/glib/glib/tests/strfuncs.c:2219,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:2152,1
    - Dst: g_str_to_ascii
      Src: /src/glib/glib/tests/strfuncs.c:2155,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:2156,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:2169,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:2170,1
    - Dst: g_str_to_ascii
      Src: /src/glib/glib/tests/strfuncs.c:2185,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:2192,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:2195,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:2199,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:2200,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:2233,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:2179,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:2204,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:2186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 86
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2240
      start: 2136
    functionDepth: 0
    functionLinenumber: 2136
    functionLinenumberEnd: 2240
    functionName: test_transliteration
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - setlocale
    - g_assert_cmpstr
    - g_free
    - g_str_to_ascii
    linkageType: ''
    returnType: void
    signature: 'static void test_transliteration (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ascii_function
      Src: /src/glib/glib/tests/strfuncs.c:94,1
    - Dst: c_library_function
      Src: /src/glib/glib/tests/strfuncs.c:95,1
    - Dst: unicode_function
      Src: /src/glib/glib/tests/strfuncs.c:96,1
    - Dst: g_error
      Src: /src/glib/glib/tests/strfuncs.c:99,1
    - Dst: g_error
      Src: /src/glib/glib/tests/strfuncs.c:104,1
    - Dst: ascii_function
      Src: /src/glib/glib/tests/strfuncs.c:110,1
    - Dst: g_error
      Src: /src/glib/glib/tests/strfuncs.c:113,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 22
    argCount: 0
    argNames:
    - DEFINE_CALL_G_ASCII_CTYPE
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 116
    functionName: FOR_ALL_CTYPE
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_error
    - unicode_function
    - ascii_function
    - c_library_function
    linkageType: ''
    returnType: FOR_ALL_CTYPE (DEFINE_CALL_CTYPE)
    signature: "FOR_ALL_CTYPE (DEFINE_CALL_CTYPE) FOR_ALL_CTYPE (DEFINE_CALL_G_ASCII_CTYPE)\
      \ static voidtest_is_function (const char *name,\t\t gboolean (* ascii_function)\
      \ (gchar),\t\t int (* c_library_function) (int),\t\t gboolean (* unicode_function)\
      \ (gunichar)) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/strfuncs.c:454,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:465,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:469,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:477,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:481,1
    - Dst: g_ascii_strup
      Src: /src/glib/glib/tests/strfuncs.c:484,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:491,1
    - Dst: g_ascii_strup
      Src: /src/glib/glib/tests/strfuncs.c:459,1
    - Dst: g_ascii_strup
      Src: /src/glib/glib/tests/strfuncs.c:463,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:464,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:475,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:476,1
    - Dst: g_ascii_strup
      Src: /src/glib/glib/tests/strfuncs.c:474,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:482,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:485,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:486,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:492,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:460,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:466,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:471,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:479,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:480,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:487,1
    - Dst: g_ascii_strup
      Src: /src/glib/glib/tests/strfuncs.c:489,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:457,1
    - Dst: g_ascii_strup
      Src: /src/glib/glib/tests/strfuncs.c:468,1
    - Dst: g_ascii_strup
      Src: /src/glib/glib/tests/strfuncs.c:479,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:474,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:470,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:490,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 39
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 493
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 493
    functionName: test_ascii_strup
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_ascii_strup
    - strlen
    - g_test_undefined
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_test_expect_message
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_ascii_strup (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strnfill
      Src: /src/glib/glib/tests/strfuncs.c:609,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:610,1
    - Dst: g_strnfill
      Src: /src/glib/glib/tests/strfuncs.c:614,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:611,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:612,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:615,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:616,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:617,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 618
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 618
    functionName: test_strnfill
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_strnfill
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_strnfill (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strconcat
      Src: /src/glib/glib/tests/strfuncs.c:626,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:627,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:629,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:628,1
    - Dst: g_strconcat
      Src: /src/glib/glib/tests/strfuncs.c:631,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:635,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:636,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:637,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:639,1
    - Dst: g_strconcat
      Src: /src/glib/glib/tests/strfuncs.c:639,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 640
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 640
    functionName: test_strconcat
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_strconcat
    - g_assert_null
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_strconcat (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/strfuncs.c:721,1
    - Dst: g_strcanon
      Src: /src/glib/glib/tests/strfuncs.c:727,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:729,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:725,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:728,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/strfuncs.c:731,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:732,1
    - Dst: g_strcanon
      Src: /src/glib/glib/tests/strfuncs.c:734,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:735,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:736,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:737,1
    - Dst: g_strcanon
      Src: /src/glib/glib/tests/strfuncs.c:741,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:743,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:742,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/strfuncs.c:740,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:744,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 745
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 745
    functionName: test_strcanon
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_strdup
    - g_assert_null
    - g_test_undefined
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_test_expect_message
    - g_strcanon
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_strcanon (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/strfuncs.c:937,1
    - Dst: do_test_strchug
      Src: /src/glib/glib/tests/strfuncs.c:945,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:942,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:939,1
    - Dst: g_strchug
      Src: /src/glib/glib/tests/strfuncs.c:941,1
    - Dst: do_test_strchug
      Src: /src/glib/glib/tests/strfuncs.c:946,1
    - Dst: do_test_strchug
      Src: /src/glib/glib/tests/strfuncs.c:947,1
    - Dst: do_test_strchug
      Src: /src/glib/glib/tests/strfuncs.c:948,1
    - Dst: do_test_strchug
      Src: /src/glib/glib/tests/strfuncs.c:949,1
    - Dst: do_test_strchug
      Src: /src/glib/glib/tests/strfuncs.c:950,1
    - Dst: do_test_strchug
      Src: /src/glib/glib/tests/strfuncs.c:951,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 952
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 952
    functionName: test_strchug
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_test_undefined
    - g_strchug
    - g_test_expect_message
    - do_test_strchug
    linkageType: ''
    returnType: void
    signature: 'static void test_strchug (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1533,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1535,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1555,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1557,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1559,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1561,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1573,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1574,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:1508,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1526,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1529,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1541,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1565,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1568,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1570,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1543,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:1505,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1524,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1528,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1529,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1537,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1563,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1565,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1572,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1553,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1555,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1519,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1527,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/strfuncs.c:1502,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:1514,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1525,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1526,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1528,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1575,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1542,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1544,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1520,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1521,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1527,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1533,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1535,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1557,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1559,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1561,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1554,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1541,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1518,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1552,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1567,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1573,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1577,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1577,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1550,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1537,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1552,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1563,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1570,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1574,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1520,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1519,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1543,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1531,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1534,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1536,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1556,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1558,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1560,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1569,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1507,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1540,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1566,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1572,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1549,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1550,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1522,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1538,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1540,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1545,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1562,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1568,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1571,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1548,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1531,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1554,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1562,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:1511,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1513,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1518,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1524,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1546,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1547,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1530,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:1509,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1521,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1534,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1536,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1548,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1549,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1544,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1556,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1558,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1560,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1567,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1553,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1547,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:1515,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1542,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1566,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1569,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1571,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1575,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1545,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1538,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1522,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1525,1
    - Dst: g_strsplit_set
      Src: /src/glib/glib/tests/strfuncs.c:1530,1
    - Dst: strv_check
      Src: /src/glib/glib/tests/strfuncs.c:1546,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 121
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1578
      start: 1497
    functionDepth: 0
    functionLinenumber: 1497
    functionLinenumberEnd: 1578
    functionName: test_strsplit_set
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_assert_null
    - g_test_undefined
    - g_test_expect_message
    - strv_check
    - g_strsplit_set
    linkageType: ''
    returnType: void
    signature: 'static void test_strsplit_set (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_uint64
      Src: /src/glib/glib/tests/strfuncs.c:1789,1
    - Dst: check_uint64
      Src: /src/glib/glib/tests/strfuncs.c:1792,1
    - Dst: check_uint64
      Src: /src/glib/glib/tests/strfuncs.c:1790,1
    - Dst: check_uint64
      Src: /src/glib/glib/tests/strfuncs.c:1793,1
    - Dst: check_uint64
      Src: /src/glib/glib/tests/strfuncs.c:1791,1
    - Dst: check_uint64
      Src: /src/glib/glib/tests/strfuncs.c:1794,1
    - Dst: check_uint64
      Src: /src/glib/glib/tests/strfuncs.c:1795,1
    - Dst: check_uint64
      Src: /src/glib/glib/tests/strfuncs.c:1796,1
    - Dst: check_int64
      Src: /src/glib/glib/tests/strfuncs.c:1798,1
    - Dst: check_int64
      Src: /src/glib/glib/tests/strfuncs.c:1799,1
    - Dst: check_int64
      Src: /src/glib/glib/tests/strfuncs.c:1802,1
    - Dst: check_int64
      Src: /src/glib/glib/tests/strfuncs.c:1803,1
    - Dst: check_int64
      Src: /src/glib/glib/tests/strfuncs.c:1801,1
    - Dst: check_int64
      Src: /src/glib/glib/tests/strfuncs.c:1800,1
    - Dst: check_int64
      Src: /src/glib/glib/tests/strfuncs.c:1806,1
    - Dst: check_int64
      Src: /src/glib/glib/tests/strfuncs.c:1805,1
    - Dst: check_int64
      Src: /src/glib/glib/tests/strfuncs.c:1804,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1807
      start: 1786
    functionDepth: 0
    functionLinenumber: 1786
    functionLinenumberEnd: 1807
    functionName: test_strtoll
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - check_uint64
    - check_int64
    linkageType: ''
    returnType: void
    signature: 'static void test_strtoll (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/glib/glib/tests/strfuncs.c:1617,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:1619,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/strfuncs.c:1625,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/strfuncs.c:1621,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/strfuncs.c:1618,1
    - Dst: g_ascii_strtod
      Src: /src/glib/glib/tests/strfuncs.c:1626,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1627,1
    - Dst: g_isnan
      Src: /src/glib/glib/tests/strfuncs.c:1627,1
    - Dst: g_isnan
      Src: /src/glib/glib/tests/strfuncs.c:1627,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1628,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:1629,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:1632,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - number
    - res
    - check_end
    - correct_len
    argTypes:
    - gchar*
    - double
    - gboolean
    - gsize
    constantsTouched: []
    func_position:
      end: 1633
      start: 1604
    functionDepth: 0
    functionLinenumber: 1604
    functionLinenumberEnd: 1633
    functionName: check_strtod_string
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_assert_true
    - strlen
    - G_N_ELEMENTS
    - g_ascii_strtod
    - g_malloc
    - setlocale
    - g_isnan
    - g_free
    linkageType: ''
    returnType: void
    signature: "static void check_strtod_string (gchar *number,\t\t double res,\t\t\
      \ gboolean check_end,\t\t gsize correct_len) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2778,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2795,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2771,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2798,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2776,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2793,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2774,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2791,1
    - Dst: g_test_init
      Src: /src/glib/glib/tests/strfuncs.c:2746,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2756,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2760,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2761,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2762,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2759,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2758,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2757,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2764,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2763,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2770,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2787,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2768,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2785,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2788,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2783,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2780,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2797,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/strfuncs.c:2800,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2779,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2796,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2777,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2794,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2775,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2792,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2773,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2790,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2772,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2789,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2750,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2749,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2748,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2751,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2752,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2753,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2754,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2755,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2765,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2766,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2769,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2786,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2767,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2784,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2782,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/strfuncs.c:2781,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 54
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 2801
      start: 2742
    functionDepth: 0
    functionLinenumber: 2742
    functionLinenumberEnd: 2801
    functionName: main
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:428,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:421,1
    - Dst: g_ascii_strdown
      Src: /src/glib/glib/tests/strfuncs.c:425,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:431,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:432,1
    - Dst: g_ascii_strdown
      Src: /src/glib/glib/tests/strfuncs.c:435,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:442,1
    - Dst: g_ascii_strdown
      Src: /src/glib/glib/tests/strfuncs.c:410,1
    - Dst: g_ascii_strdown
      Src: /src/glib/glib/tests/strfuncs.c:414,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:415,1
    - Dst: g_ascii_strdown
      Src: /src/glib/glib/tests/strfuncs.c:419,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:420,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:425,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:427,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:436,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:437,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:443,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/strfuncs.c:405,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:411,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:416,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:426,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:433,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:438,1
    - Dst: g_ascii_strdown
      Src: /src/glib/glib/tests/strfuncs.c:440,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:408,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:417,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:422,1
    - Dst: g_ascii_strdown
      Src: /src/glib/glib/tests/strfuncs.c:430,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:430,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:441,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 39
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 444
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 444
    functionName: test_ascii_strdown
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - strlen
    - g_ascii_strdown
    - g_test_undefined
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_test_expect_message
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_ascii_strdown (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdupv
      Src: /src/glib/glib/tests/strfuncs.c:594,1
    - Dst: g_strdupv
      Src: /src/glib/glib/tests/strfuncs.c:597,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:595,1
    - Dst: g_assert_cmpstrv
      Src: /src/glib/glib/tests/strfuncs.c:599,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:598,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/strfuncs.c:600,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 601
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 601
    functionName: test_strdupv
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_strdupv
    - g_assert_null
    - g_assert_nonnull
    - g_strfreev
    - g_assert_cmpstrv
    linkageType: ''
    returnType: void
    signature: 'static void test_strdupv (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:684,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:682,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:687,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:689,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:692,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:694,1
    - Dst: g_strjoin
      Src: /src/glib/glib/tests/strfuncs.c:696,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:688,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:702,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:703,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:710,1
    - Dst: g_strjoin
      Src: /src/glib/glib/tests/strfuncs.c:681,1
    - Dst: g_strjoin
      Src: /src/glib/glib/tests/strfuncs.c:686,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:683,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:693,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:711,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:712,1
    - Dst: g_strjoin
      Src: /src/glib/glib/tests/strfuncs.c:691,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:701,1
    - Dst: g_strjoin
      Src: /src/glib/glib/tests/strfuncs.c:705,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 713
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 713
    functionName: test_strjoin
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_strjoin
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_strjoin (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/tests/strfuncs.c:924,1
    - Dst: g_strchug
      Src: /src/glib/glib/tests/strfuncs.c:926,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:928,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:930,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/strfuncs.c:927,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - str
    - expected
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 931
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 931
    functionName: do_test_strchug
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_strchug
    - strcmp
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void do_test_strchug (const gchar *str, const gchar *expected) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/strfuncs.c:973,1
    - Dst: g_strchomp
      Src: /src/glib/glib/tests/strfuncs.c:977,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:975,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:978,1
    - Dst: do_test_strchomp
      Src: /src/glib/glib/tests/strfuncs.c:981,1
    - Dst: do_test_strchomp
      Src: /src/glib/glib/tests/strfuncs.c:982,1
    - Dst: do_test_strchomp
      Src: /src/glib/glib/tests/strfuncs.c:983,1
    - Dst: do_test_strchomp
      Src: /src/glib/glib/tests/strfuncs.c:984,1
    - Dst: do_test_strchomp
      Src: /src/glib/glib/tests/strfuncs.c:985,1
    - Dst: do_test_strchomp
      Src: /src/glib/glib/tests/strfuncs.c:986,1
    - Dst: do_test_strchomp
      Src: /src/glib/glib/tests/strfuncs.c:987,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 988
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 988
    functionName: test_strchomp
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - do_test_strchomp
    - g_test_undefined
    - g_test_expect_message
    - g_strchomp
    linkageType: ''
    returnType: void
    signature: 'static void test_strchomp (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:1296,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/strfuncs.c:1298,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:1303,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:1304,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:1311,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:1313,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/strfuncs.c:1322,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/strfuncs.c:1294,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:1301,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/strfuncs.c:1308,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/strfuncs.c:1313,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/strfuncs.c:1318,1
    - Dst: G_GNUC_CHECK_VERSION
      Src: /src/glib/glib/tests/strfuncs.c:1286,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/tests/strfuncs.c:1322,1
    - Dst: g_test_incomplete
      Src: /src/glib/glib/tests/strfuncs.c:1291,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:1298,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:1299,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/strfuncs.c:1311,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1316,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/strfuncs.c:1316,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1317,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/strfuncs.c:1317,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1318,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1319,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/strfuncs.c:1303,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:1312,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/strfuncs.c:1312,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:1308,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:1322,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/strfuncs.c:1319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1323
      start: 1283
    functionDepth: 0
    functionLinenumber: 1283
    functionLinenumberEnd: 1323
    functionName: test_has_prefix_macro
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_assert_true
    - g_test_incomplete
    - g_test_undefined
    - g_test_expect_message
    - g_str_has_prefix
    - g_assert_false
    - G_UNLIKELY
    - G_GNUC_CHECK_VERSION
    linkageType: ''
    returnType: void
    signature: 'static void test_has_prefix_macro (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_TO
      Src: /src/glib/glib/tests/strfuncs.c:192,1
    - Dst: TEST_DIGIT
      Src: /src/glib/glib/tests/strfuncs.c:199,1
    - Dst: TEST_DIGIT
      Src: /src/glib/glib/tests/strfuncs.c:200,1
    - Dst: TEST_TO
      Src: /src/glib/glib/tests/strfuncs.c:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 203
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 203
    functionName: test_is_to_digit
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - TEST_TO
    - TEST_DIGIT
    linkageType: ''
    returnType: void
    signature: 'static void test_is_to_digit (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:289,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:301,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:305,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:313,1
    - Dst: g_strlcpy
      Src: /src/glib/glib/tests/strfuncs.c:316,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:317,1
    - Dst: g_strlcpy
      Src: /src/glib/glib/tests/strfuncs.c:326,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:327,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:329,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:334,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:334,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:296,1
    - Dst: g_strlcpy
      Src: /src/glib/glib/tests/strfuncs.c:298,1
    - Dst: g_strlcpy
      Src: /src/glib/glib/tests/strfuncs.c:311,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:311,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:314,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:318,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:319,1
    - Dst: g_strlcpy
      Src: /src/glib/glib/tests/strfuncs.c:321,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:321,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:333,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:324,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:328,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:294,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:305,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:319,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:323,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:329,1
    - Dst: g_strlcpy
      Src: /src/glib/glib/tests/strfuncs.c:331,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:331,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:332,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/strfuncs.c:286,1
    - Dst: g_strlcpy
      Src: /src/glib/glib/tests/strfuncs.c:291,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:292,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:299,1
    - Dst: g_strlcpy
      Src: /src/glib/glib/tests/strfuncs.c:304,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:314,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:312,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:316,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:322,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:324,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 54
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 335
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 335
    functionName: test_strlcpy
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_strlcpy
    - strlen
    - g_test_undefined
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_test_expect_message
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_strlcpy (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/strfuncs.c:1049,1
    - Dst: g_strreverse
      Src: /src/glib/glib/tests/strfuncs.c:1053,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:1055,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:1051,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:1054,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/strfuncs.c:1058,1
    - Dst: g_strreverse
      Src: /src/glib/glib/tests/strfuncs.c:1059,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:1060,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1061,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:1062,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:1063,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1064
      start: 1043
    functionDepth: 0
    functionLinenumber: 1043
    functionLinenumberEnd: 1064
    functionName: test_strreverse
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_strdup
    - g_assert_true
    - g_assert_null
    - g_test_undefined
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_test_expect_message
    - g_strreverse
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_strreverse (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/strfuncs.c:1199,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/strfuncs.c:1209,1
    - Dst: g_strtod
      Src: /src/glib/glib/tests/strfuncs.c:1209,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/strfuncs.c:1217,1
    - Dst: g_strtod
      Src: /src/glib/glib/tests/strfuncs.c:1218,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/strfuncs.c:1221,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1222,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:1222,1
    - Dst: g_strtod
      Src: /src/glib/glib/tests/strfuncs.c:1204,1
    - Dst: g_strtod
      Src: /src/glib/glib/tests/strfuncs.c:1212,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/strfuncs.c:1213,1
    - Dst: g_strtod
      Src: /src/glib/glib/tests/strfuncs.c:1213,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:1214,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/strfuncs.c:1220,1
    - Dst: g_strtod
      Src: /src/glib/glib/tests/strfuncs.c:1220,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:1205,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/strfuncs.c:1210,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/strfuncs.c:1212,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/strfuncs.c:1218,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/strfuncs.c:1206,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:1202,1
    - Dst: g_strtod
      Src: /src/glib/glib/tests/strfuncs.c:1210,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:1211,1
    - Dst: g_strtod
      Src: /src/glib/glib/tests/strfuncs.c:1217,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1219,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:1219,1
    - Dst: g_strtod
      Src: /src/glib/glib/tests/strfuncs.c:1221,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1223
      start: 1190
    functionDepth: 0
    functionLinenumber: 1190
    functionLinenumberEnd: 1223
    functionName: test_strtod
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_assert_true
    - strlen
    - g_test_undefined
    - g_assert_cmpfloat
    - g_assert_cmpstr
    - g_test_expect_message
    - g_strtod
    linkageType: ''
    returnType: void
    signature: 'static void test_strtod (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/tests/strfuncs.c:1404,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:1410,1
    - Dst: va_arg
      Src: /src/glib/glib/tests/strfuncs.c:1407,1
    - Dst: va_end
      Src: /src/glib/glib/tests/strfuncs.c:1423,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:1419,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/strfuncs.c:1425,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - strv
    - '...'
    argTypes:
    - gchar**
    constantsTouched: []
    func_position:
      end: 1426
      start: 1397
    functionDepth: 0
    functionLinenumber: 1397
    functionLinenumberEnd: 1426
    functionName: strv_check
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_assert_null
    - g_assert_cmpstr
    - g_strfreev
    - va_arg
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: 'static void strv_check (gchar **strv, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_strtoull
      Src: /src/glib/glib/tests/strfuncs.c:1758,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1763,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:1762,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1761,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 5
    argNames:
    - str
    - end
    - base
    - result
    - error
    argTypes:
    - gchar*
    - gchar*
    - gint
    - guint64
    - gint
    constantsTouched: []
    func_position:
      end: 1764
      start: 1746
    functionDepth: 0
    functionLinenumber: 1746
    functionLinenumberEnd: 1764
    functionName: check_uint64
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_assert_cmpstr
    - g_ascii_strtoull
    linkageType: ''
    returnType: void
    signature: "static void check_uint64 (const gchar *str,\t const gchar *end,\t\
      \ gint base,\t guint64 result,\t gint error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strip_context
      Src: /src/glib/glib/tests/strfuncs.c:2039,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:2044,1
    - Dst: g_strip_context
      Src: /src/glib/glib/tests/strfuncs.c:2043,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:2040,1
    - Dst: g_strip_context
      Src: /src/glib/glib/tests/strfuncs.c:2047,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:2048,1
    - Dst: g_strip_context
      Src: /src/glib/glib/tests/strfuncs.c:2051,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:2052,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2053
      start: 2030
    functionDepth: 0
    functionLinenumber: 2030
    functionLinenumberEnd: 2053
    functionName: test_strip_context
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_strip_context
    linkageType: ''
    returnType: void
    signature: 'static void test_strip_context (void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_string_to_signed
      Src: /src/glib/glib/tests/strfuncs.c:2454,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:2460,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:2452,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:2463,1
    - Dst: g_ascii_string_to_signed
      Src: /src/glib/glib/tests/strfuncs.c:2465,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:2471,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:2474,1
    - Dst: g_ascii_string_to_signed
      Src: /src/glib/glib/tests/strfuncs.c:2498,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:2483,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:2511,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:2610,1
    - Dst: g_ascii_string_to_unsigned
      Src: /src/glib/glib/tests/strfuncs.c:2557,1
    - Dst: g_ascii_string_to_unsigned
      Src: /src/glib/glib/tests/strfuncs.c:2524,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:2531,1
    - Dst: g_ascii_string_to_signed
      Src: /src/glib/glib/tests/strfuncs.c:2487,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:2493,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:2553,1
    - Dst: g_ascii_string_to_unsigned
      Src: /src/glib/glib/tests/strfuncs.c:2587,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:2541,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:2520,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:2544,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/strfuncs.c:2605,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:2563,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:2533,1
    - Dst: g_ascii_string_to_signed
      Src: /src/glib/glib/tests/strfuncs.c:2574,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/strfuncs.c:2449,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:2461,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:2472,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:2482,1
    - Dst: g_ascii_string_to_signed
      Src: /src/glib/glib/tests/strfuncs.c:2476,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:2485,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:2504,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/strfuncs.c:2509,1
    - Dst: g_ascii_string_to_unsigned
      Src: /src/glib/glib/tests/strfuncs.c:2513,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:2519,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:2522,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:2604,1
    - Dst: g_ascii_string_to_unsigned
      Src: /src/glib/glib/tests/strfuncs.c:2535,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:2542,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:2612,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:2494,1
    - Dst: g_ascii_string_to_unsigned
      Src: /src/glib/glib/tests/strfuncs.c:2546,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:2552,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:2581,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:2594,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/strfuncs.c:2599,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/strfuncs.c:2606,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/strfuncs.c:2566,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/strfuncs.c:2611,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:2530,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 78
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2615
      start: 2435
    functionDepth: 0
    functionLinenumber: 2435
    functionLinenumberEnd: 2615
    functionName: test_ascii_string_to_number_usual
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_test_assert_expected_messages
    - g_assert_true
    - G_N_ELEMENTS
    - g_test_undefined
    - g_ascii_string_to_unsigned
    - g_ascii_string_to_signed
    - g_assert_not_reached
    - g_assert_error
    - g_test_expect_message
    - g_assert_no_error
    - g_assert_false
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_ascii_string_to_number_usual (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_strtoll
      Src: /src/glib/glib/tests/strfuncs.c:1778,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:1782,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1781,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1783,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 5
    argNames:
    - str
    - end
    - base
    - result
    - error
    argTypes:
    - gchar*
    - gchar*
    - gint
    - gint64
    - gint
    constantsTouched: []
    func_position:
      end: 1784
      start: 1766
    functionDepth: 0
    functionLinenumber: 1766
    functionLinenumberEnd: 1784
    functionName: check_int64
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_assert_cmpstr
    - g_ascii_strtoll
    linkageType: ''
    returnType: void
    signature: "static void check_int64 (const gchar *str,\t const gchar *end,\t gint\
      \ base,\t gint64 result,\t gint error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/strfuncs.c:650,1
    - Dst: g_strjoinv
      Src: /src/glib/glib/tests/strfuncs.c:659,1
    - Dst: g_strjoinv
      Src: /src/glib/glib/tests/strfuncs.c:655,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:656,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:653,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:660,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:661,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:662,1
    - Dst: g_strjoinv
      Src: /src/glib/glib/tests/strfuncs.c:664,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:665,1
    - Dst: g_strjoinv
      Src: /src/glib/glib/tests/strfuncs.c:669,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:666,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:670,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:671,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:667,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:672,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 673
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 673
    functionName: test_strjoinv
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_test_undefined
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_test_expect_message
    - g_strjoinv
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_strjoinv (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_str_tokenize_and_fold
      Src: /src/glib/glib/tests/strfuncs.c:1009,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/strfuncs.c:1019,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/strfuncs.c:1022,1
    - Dst: g_str_tokenize_and_fold
      Src: /src/glib/glib/tests/strfuncs.c:1021,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/strfuncs.c:1018,1
    - Dst: g_strv_equal
      Src: /src/glib/glib/tests/strfuncs.c:1023,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1029,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/strfuncs.c:1029,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/strfuncs.c:1029,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/strfuncs.c:1035,1
    - Dst: g_strv_equal
      Src: /src/glib/glib/tests/strfuncs.c:1036,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:1010,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/strfuncs.c:1014,1
    - Dst: g_strv_equal
      Src: /src/glib/glib/tests/strfuncs.c:1030,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/strfuncs.c:1032,1
    - Dst: g_str_tokenize_and_fold
      Src: /src/glib/glib/tests/strfuncs.c:1034,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/strfuncs.c:1035,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/strfuncs.c:1039,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/strfuncs.c:1038,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:1007,1
    - Dst: g_str_tokenize_and_fold
      Src: /src/glib/glib/tests/strfuncs.c:1013,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1014,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1016,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1022,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/strfuncs.c:1025,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1023,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/strfuncs.c:1026,1
    - Dst: g_str_tokenize_and_fold
      Src: /src/glib/glib/tests/strfuncs.c:1028,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1036,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/strfuncs.c:1004,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/strfuncs.c:1015,1
    - Dst: g_strv_equal
      Src: /src/glib/glib/tests/strfuncs.c:1016,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/strfuncs.c:1022,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/strfuncs.c:1030,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1035,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1040
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 1040
    functionName: test_str_tokenize_and_fold
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_strv_equal
    - g_assert_true
    - g_strv_length
    - g_test_undefined
    - g_test_expect_message
    - g_strfreev
    - g_str_tokenize_and_fold
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_str_tokenize_and_fold (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/strfuncs.c:1587,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:1592,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/strfuncs.c:1591,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1593,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:1589,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1596,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/strfuncs.c:1597,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/strfuncs.c:1598,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/strfuncs.c:1599,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1600
      start: 1581
    functionDepth: 0
    functionLinenumber: 1581
    functionLinenumberEnd: 1600
    functionName: test_strv_length
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_strv_length
    - g_test_undefined
    - g_assert_cmpuint
    - g_test_expect_message
    - g_strfreev
    - g_strsplit
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_strv_length (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/strfuncs.c:1816,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:1823,1
    - Dst: g_str_match_string
      Src: /src/glib/glib/tests/strfuncs.c:1821,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:1822,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:1819,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/strfuncs.c:1825,1
    - Dst: g_str_match_string
      Src: /src/glib/glib/tests/strfuncs.c:1827,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/strfuncs.c:1828,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:1829,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:1832,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/strfuncs.c:1833,1
    - Dst: g_str_match_string
      Src: /src/glib/glib/tests/strfuncs.c:1833,1
    - Dst: g_str_match_string
      Src: /src/glib/glib/tests/strfuncs.c:1832,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1834
      start: 1810
    functionDepth: 0
    functionLinenumber: 1810
    functionLinenumberEnd: 1834
    functionName: test_str_match_string
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_test_undefined
    - g_test_expect_message
    - g_str_match_string
    - g_assert_false
    linkageType: ''
    returnType: void
    signature: 'static void test_str_match_string (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strndup
      Src: /src/glib/glib/tests/strfuncs.c:1875,1
    - Dst: g_ascii_strdown
      Src: /src/glib/glib/tests/strfuncs.c:1899,1
    - Dst: g_str_has_suffix
      Src: /src/glib/glib/tests/strfuncs.c:1942,1
    - Dst: g_strrstr
      Src: /src/glib/glib/tests/strfuncs.c:1930,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/strfuncs.c:1953,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1954,1
    - Dst: g_ascii_strncasecmp
      Src: /src/glib/glib/tests/strfuncs.c:1972,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:1989,1
    - Dst: g_strjoinv
      Src: /src/glib/glib/tests/strfuncs.c:1998,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:2004,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:1868,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1892,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1911,1
    - Dst: g_strndup
      Src: /src/glib/glib/tests/strfuncs.c:1918,1
    - Dst: g_strrstr_len
      Src: /src/glib/glib/tests/strfuncs.c:1936,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1951,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1971,1
    - Dst: g_ascii_strncasecmp
      Src: /src/glib/glib/tests/strfuncs.c:1893,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1864,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/strfuncs.c:1880,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:1954,1
    - Dst: g_ascii_strdown
      Src: /src/glib/glib/tests/strfuncs.c:1957,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1961,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:1964,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1972,1
    - Dst: g_strjoinv
      Src: /src/glib/glib/tests/strfuncs.c:1992,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:1999,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:2012,1
    - Dst: g_strrstr
      Src: /src/glib/glib/tests/strfuncs.c:1933,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/strfuncs.c:1940,1
    - Dst: g_strrstr_len
      Src: /src/glib/glib/tests/strfuncs.c:1935,1
    - Dst: g_strstr_len
      Src: /src/glib/glib/tests/strfuncs.c:1882,1
    - Dst: g_strrstr_len
      Src: /src/glib/glib/tests/strfuncs.c:1886,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1923,1
    - Dst: g_strrstr_len
      Src: /src/glib/glib/tests/strfuncs.c:1938,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:1969,1
    - Dst: g_strreverse
      Src: /src/glib/glib/tests/strfuncs.c:1981,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:2003,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/strfuncs.c:2022,1
    - Dst: g_mapped_file_unref
      Src: /src/glib/glib/tests/strfuncs.c:2026,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1989,1
    - Dst: g_mapped_file_unref
      Src: /src/glib/glib/tests/strfuncs.c:1860,1
    - Dst: g_str_has_suffix
      Src: /src/glib/glib/tests/strfuncs.c:1941,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:1915,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1902,1
    - Dst: g_strstr_len
      Src: /src/glib/glib/tests/strfuncs.c:1925,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:1895,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:1970,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1973,1
    - Dst: g_ascii_strncasecmp
      Src: /src/glib/glib/tests/strfuncs.c:1973,1
    - Dst: g_strchomp
      Src: /src/glib/glib/tests/strfuncs.c:1983,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:2023,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:2008,1
    - Dst: g_strlcpy
      Src: /src/glib/glib/tests/strfuncs.c:1946,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:1919,1
    - Dst: g_ascii_strncasecmp
      Src: /src/glib/glib/tests/strfuncs.c:1901,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1947,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:1923,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:1951,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:1960,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1963,1
    - Dst: g_ascii_strncasecmp
      Src: /src/glib/glib/tests/strfuncs.c:1963,1
    - Dst: g_ascii_strup
      Src: /src/glib/glib/tests/strfuncs.c:1967,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:2007,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:1916,1
    - Dst: g_ascii_strncasecmp
      Src: /src/glib/glib/tests/strfuncs.c:1900,1
    - Dst: g_mapped_file_new
      Src: /src/glib/glib/tests/strfuncs.c:1858,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:1876,1
    - Dst: g_strrstr_len
      Src: /src/glib/glib/tests/strfuncs.c:1885,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1901,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:1959,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/strfuncs.c:1993,1
    - Dst: g_markup_escape_text
      Src: /src/glib/glib/tests/strfuncs.c:2014,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:2018,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:1974,1
    - Dst: g_markup_printf_escaped
      Src: /src/glib/glib/tests/strfuncs.c:2017,1
    - Dst: g_strcompress
      Src: /src/glib/glib/tests/strfuncs.c:2021,1
    - Dst: g_ascii_strup
      Src: /src/glib/glib/tests/strfuncs.c:1891,1
    - Dst: g_ascii_strdown
      Src: /src/glib/glib/tests/strfuncs.c:1958,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:2024,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:2015,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:1969,1
    - Dst: g_mapped_file_new
      Src: /src/glib/glib/tests/strfuncs.c:1852,1
    - Dst: g_mapped_file_new
      Src: /src/glib/glib/tests/strfuncs.c:1859,1
    - Dst: g_strrstr_len
      Src: /src/glib/glib/tests/strfuncs.c:1887,1
    - Dst: g_ascii_strncasecmp
      Src: /src/glib/glib/tests/strfuncs.c:1892,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1894,1
    - Dst: g_stpcpy
      Src: /src/glib/glib/tests/strfuncs.c:1922,1
    - Dst: g_ascii_strdown
      Src: /src/glib/glib/tests/strfuncs.c:1898,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:1903,1
    - Dst: g_str_has_suffix
      Src: /src/glib/glib/tests/strfuncs.c:1944,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:1907,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:1920,1
    - Dst: g_mapped_file_get_contents
      Src: /src/glib/glib/tests/strfuncs.c:1865,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/strfuncs.c:1914,1
    - Dst: g_strstr_len
      Src: /src/glib/glib/tests/strfuncs.c:1927,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:1955,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1962,1
    - Dst: g_ascii_strncasecmp
      Src: /src/glib/glib/tests/strfuncs.c:1962,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1970,1
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/glib/tests/strfuncs.c:1977,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:1985,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:2007,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:1877,1
    - Dst: g_strstr_len
      Src: /src/glib/glib/tests/strfuncs.c:1880,1
    - Dst: g_strstr_len
      Src: /src/glib/glib/tests/strfuncs.c:1881,1
    - Dst: memchr
      Src: /src/glib/glib/tests/strfuncs.c:1868,1
    - Dst: g_strrstr
      Src: /src/glib/glib/tests/strfuncs.c:1932,1
    - Dst: g_strrstr
      Src: /src/glib/glib/tests/strfuncs.c:1931,1
    - Dst: g_ascii_strncasecmp
      Src: /src/glib/glib/tests/strfuncs.c:1961,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:1970,1
    - Dst: g_strchug
      Src: /src/glib/glib/tests/strfuncs.c:1982,1
    - Dst: g_strconcat
      Src: /src/glib/glib/tests/strfuncs.c:2006,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:2011,1
    - Dst: g_strstr_len
      Src: /src/glib/glib/tests/strfuncs.c:1926,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1919,1
    - Dst: g_mapped_file_get_length
      Src: /src/glib/glib/tests/strfuncs.c:1864,1
    - Dst: g_strstr_len
      Src: /src/glib/glib/tests/strfuncs.c:1883,1
    - Dst: g_strrstr_len
      Src: /src/glib/glib/tests/strfuncs.c:1888,1
    - Dst: g_ascii_strncasecmp
      Src: /src/glib/glib/tests/strfuncs.c:1902,1
    - Dst: g_strlcpy
      Src: /src/glib/glib/tests/strfuncs.c:1948,1
    - Dst: g_strlcat
      Src: /src/glib/glib/tests/strfuncs.c:1950,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1959,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1969,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:1995,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/strfuncs.c:1991,1
    - Dst: g_strjoin
      Src: /src/glib/glib/tests/strfuncs.c:2010,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/strfuncs.c:1863,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1893,1
    - Dst: g_ascii_strncasecmp
      Src: /src/glib/glib/tests/strfuncs.c:1894,1
    - Dst: g_str_has_suffix
      Src: /src/glib/glib/tests/strfuncs.c:1943,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:1959,1
    - Dst: g_ascii_strup
      Src: /src/glib/glib/tests/strfuncs.c:1968,1
    - Dst: g_ascii_strncasecmp
      Src: /src/glib/glib/tests/strfuncs.c:1978,1
    - Dst: g_strreverse
      Src: /src/glib/glib/tests/strfuncs.c:1980,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:2000,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1876,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:1896,1
    - Dst: g_strstr_len
      Src: /src/glib/glib/tests/strfuncs.c:1928,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:1965,1
    - Dst: g_strcanon
      Src: /src/glib/glib/tests/strfuncs.c:1988,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1985,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1915,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1900,1
    - Dst: g_ascii_strup
      Src: /src/glib/glib/tests/strfuncs.c:1890,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:1947,1
    - Dst: strlen
      Src: /src/glib/glib/tests/strfuncs.c:1960,1
    - Dst: g_ascii_strncasecmp
      Src: /src/glib/glib/tests/strfuncs.c:1971,1
    - Dst: g_strstrip
      Src: /src/glib/glib/tests/strfuncs.c:1984,1
    - Dst: g_strdelimit
      Src: /src/glib/glib/tests/strfuncs.c:1987,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/strfuncs.c:1995,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:1996,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:2011,1
    - Dst: g_strrstr_len
      Src: /src/glib/glib/tests/strfuncs.c:1937,1
    - Dst: g_mapped_file_unref
      Src: /src/glib/glib/tests/strfuncs.c:1861,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:1904,1
    - Dst: g_markup_escape_text
      Src: /src/glib/glib/tests/strfuncs.c:1906,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/strfuncs.c:1960,1
    - Dst: g_free
      Src: /src/glib/glib/tests/strfuncs.c:1975,1
    - Dst: g_strjoinv
      Src: /src/glib/glib/tests/strfuncs.c:2002,1
    - Dst: g_strescape
      Src: /src/glib/glib/tests/strfuncs.c:2020,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 196
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2027
      start: 1837
    functionDepth: 0
    functionLinenumber: 1837
    functionLinenumberEnd: 2027
    functionName: test_bounds
    functionSourceFile: /src/glib/glib/tests/strfuncs.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_strconcat
    - g_assert_null
    - g_ascii_strdown
    - g_strchug
    - g_strsplit
    - g_strreverse
    - g_assert_cmpmem
    - memchr
    - g_mapped_file_get_length
    - g_assert_nonnull
    - g_ascii_strcasecmp
    - g_strfreev
    - g_ascii_strncasecmp
    - g_mapped_file_unref
    - g_assert_cmpint
    - g_strdup
    - g_ascii_strup
    - strlen
    - g_str_has_suffix
    - g_strlcpy
    - g_strdelimit
    - g_strndup
    - g_strcompress
    - g_strrstr_len
    - g_markup_printf_escaped
    - g_mapped_file_new
    - g_markup_escape_text
    - g_strstrip
    - g_stpcpy
    - g_strrstr
    - g_strlcat
    - g_strjoin
    - g_assert_cmpstr
    - g_str_has_prefix
    - g_mapped_file_get_contents
    - g_strstr_len
    - g_strjoinv
    - g_strescape
    - g_strcanon
    - g_strchomp
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_bounds (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_usleep
      Src: /src/glib/glib/tests/test-spawn-sleep.c:31,1
    - Dst: atoi
      Src: /src/glib/glib/tests/test-spawn-sleep.c:31,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: main
    functionSourceFile: /src/glib/glib/tests/test-spawn-sleep.c
    functionUses: []
    functionsReached:
    - atoi
    - g_usleep
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_checksum_type_get_length
      Src: /src/glib/glib/tests/hmac.c:401,1
    - Dst: g_hmac_get_digest
      Src: /src/glib/glib/tests/hmac.c:406,1
    - Dst: g_malloc
      Src: /src/glib/glib/tests/hmac.c:402,1
    - Dst: g_hmac_update
      Src: /src/glib/glib/tests/hmac.c:405,1
    - Dst: g_hmac_new
      Src: /src/glib/glib/tests/hmac.c:404,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/hmac.c:408,1
    - Dst: g_free
      Src: /src/glib/glib/tests/hmac.c:410,1
    - Dst: g_hmac_unref
      Src: /src/glib/glib/tests/hmac.c:411,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - t
    argTypes:
    - HmacCase*
    constantsTouched: []
    func_position:
      end: 412
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 412
    functionName: test_hmac
    functionSourceFile: /src/glib/glib/tests/hmac.c
    functionUses: []
    functionsReached:
    - g_hmac_get_digest
    - g_hmac_new
    - g_malloc
    - g_assert_cmpmem
    - g_hmac_update
    - g_hmac_unref
    - g_checksum_type_get_length
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_hmac (HmacCase *t) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hmac_new
      Src: /src/glib/glib/tests/hmac.c:431,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hmac.c:434,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hmac.c:433,1
    - Dst: g_hmac_copy
      Src: /src/glib/glib/tests/hmac.c:432,1
    - Dst: g_hmac_get_string
      Src: /src/glib/glib/tests/hmac.c:434,1
    - Dst: g_hmac_get_string
      Src: /src/glib/glib/tests/hmac.c:434,1
    - Dst: g_hmac_unref
      Src: /src/glib/glib/tests/hmac.c:435,1
    - Dst: g_hmac_unref
      Src: /src/glib/glib/tests/hmac.c:436,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 437
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 437
    functionName: test_hmac_copy
    functionSourceFile: /src/glib/glib/tests/hmac.c
    functionUses: []
    functionsReached:
    - g_hmac_new
    - g_hmac_copy
    - g_hmac_get_string
    - g_assert
    - g_assert_cmpstr
    - g_hmac_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_hmac_copy (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_compute_hmac_for_string
      Src: /src/glib/glib/tests/hmac.c:462,1
    - Dst: g_hmac_update
      Src: /src/glib/glib/tests/hmac.c:467,1
    - Dst: g_hmac_new
      Src: /src/glib/glib/tests/hmac.c:466,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hmac.c:468,1
    - Dst: g_hmac_get_string
      Src: /src/glib/glib/tests/hmac.c:468,1
    - Dst: g_hmac_unref
      Src: /src/glib/glib/tests/hmac.c:469,1
    - Dst: g_free
      Src: /src/glib/glib/tests/hmac.c:470,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 471
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 471
    functionName: test_hmac_for_string
    functionSourceFile: /src/glib/glib/tests/hmac.c
    functionUses: []
    functionsReached:
    - g_hmac_new
    - g_hmac_get_string
    - g_free
    - g_assert_cmpstr
    - g_hmac_update
    - g_compute_hmac_for_string
    - g_hmac_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_hmac_for_string (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hmac_new
      Src: /src/glib/glib/tests/hmac.c:419,1
    - Dst: g_hmac_unref
      Src: /src/glib/glib/tests/hmac.c:423,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/hmac.c:421,1
    - Dst: g_hmac_ref
      Src: /src/glib/glib/tests/hmac.c:420,1
    - Dst: g_hmac_unref
      Src: /src/glib/glib/tests/hmac.c:422,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 424
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 424
    functionName: test_hmac_ref_unref
    functionSourceFile: /src/glib/glib/tests/hmac.c
    functionUses: []
    functionsReached:
    - g_hmac_ref
    - g_hmac_unref
    - g_assert
    - g_hmac_new
    linkageType: ''
    returnType: void
    signature: 'static void test_hmac_ref_unref (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_compute_hmac_for_data
      Src: /src/glib/glib/tests/hmac.c:445,1
    - Dst: g_hmac_get_string
      Src: /src/glib/glib/tests/hmac.c:451,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hmac.c:451,1
    - Dst: g_hmac_new
      Src: /src/glib/glib/tests/hmac.c:449,1
    - Dst: g_hmac_update
      Src: /src/glib/glib/tests/hmac.c:450,1
    - Dst: g_hmac_unref
      Src: /src/glib/glib/tests/hmac.c:452,1
    - Dst: g_free
      Src: /src/glib/glib/tests/hmac.c:453,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 454
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 454
    functionName: test_hmac_for_data
    functionSourceFile: /src/glib/glib/tests/hmac.c
    functionUses: []
    functionsReached:
    - g_compute_hmac_for_data
    - g_hmac_new
    - g_hmac_get_string
    - g_free
    - g_assert_cmpstr
    - g_hmac_update
    - g_hmac_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_hmac_for_data (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_new
      Src: /src/glib/glib/tests/hmac.c:480,1
    - Dst: g_compute_hmac_for_bytes
      Src: /src/glib/glib/tests/hmac.c:483,1
    - Dst: g_bytes_new
      Src: /src/glib/glib/tests/hmac.c:481,1
    - Dst: g_hmac_update
      Src: /src/glib/glib/tests/hmac.c:486,1
    - Dst: g_hmac_new
      Src: /src/glib/glib/tests/hmac.c:485,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/hmac.c:487,1
    - Dst: g_hmac_get_string
      Src: /src/glib/glib/tests/hmac.c:487,1
    - Dst: g_hmac_unref
      Src: /src/glib/glib/tests/hmac.c:488,1
    - Dst: g_free
      Src: /src/glib/glib/tests/hmac.c:489,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/hmac.c:491,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/hmac.c:492,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 493
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 493
    functionName: test_hmac_for_bytes
    functionSourceFile: /src/glib/glib/tests/hmac.c
    functionUses: []
    functionsReached:
    - g_bytes_new
    - g_hmac_new
    - g_hmac_get_string
    - g_free
    - g_assert_cmpstr
    - g_bytes_unref
    - g_hmac_update
    - g_compute_hmac_for_bytes
    - g_hmac_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_hmac_for_bytes (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/hmac.c:528,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/hmac.c:536,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/hmac.c:548,1
    - Dst: g_test_init
      Src: /src/glib/glib/tests/hmac.c:500,1
    - Dst: g_free
      Src: /src/glib/glib/tests/hmac.c:507,1
    - Dst: g_free
      Src: /src/glib/glib/tests/hmac.c:515,1
    - Dst: g_free
      Src: /src/glib/glib/tests/hmac.c:523,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/hmac.c:537,1
    - Dst: g_free
      Src: /src/glib/glib/tests/hmac.c:531,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/hmac.c:504,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/hmac.c:512,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/hmac.c:520,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/hmac.c:505,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/hmac.c:513,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/hmac.c:521,1
    - Dst: g_free
      Src: /src/glib/glib/tests/hmac.c:539,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hmac.c:542,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hmac.c:543,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hmac.c:544,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/hmac.c:529,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hmac.c:545,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hmac.c:546,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 549
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 549
    functionName: main
    functionSourceFile: /src/glib/glib/tests/hmac.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_strdup_printf
    - g_test_init
    - g_test_add_data_func
    - g_test_run
    - g_free
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WSAStartup
      Src: /src/glib/glib/tests/gpoll.c:35,1
    - Dst: g_error
      Src: /src/glib/glib/tests/gpoll.c:36,1
    - Dst: MAKEWORD
      Src: /src/glib/glib/tests/gpoll.c:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: init_networking
    functionSourceFile: /src/glib/glib/tests/gpoll.c
    functionUses: []
    functionsReached:
    - MAKEWORD
    - g_error
    - WSAStartup
    linkageType: ''
    returnType: void
    signature: 'static void init_networking (void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:88,1
    - Dst: WSAEnumNetworkEvents
      Src: /src/glib/glib/tests/gpoll.c:88,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 3
    argNames:
    - sockets
    - fds
    - num_pollees
    argTypes:
    - SOCKET
    - GPollFD
    - int
    constantsTouched: []
    func_position:
      end: 113
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 113
    functionName: check_fds
    functionSourceFile: /src/glib/glib/tests/gpoll.c
    functionUses: []
    functionsReached:
    - g_assert
    - WSAEnumNetworkEvents
    linkageType: ''
    returnType: void
    signature: 'static void check_fds (SOCKET sockets[], GPollFD fds[], int num_pollees) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WSAResetEvent
      Src: /src/glib/glib/tests/gpoll.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - fds
    - num_pollees
    argTypes:
    - GPollFD
    - int
    constantsTouched: []
    func_position:
      end: 65
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 65
    functionName: reset_fds
    functionSourceFile: /src/glib/glib/tests/gpoll.c
    functionUses: []
    functionsReached:
    - WSAResetEvent
    linkageType: ''
    returnType: void
    signature: 'static void reset_fds (GPollFD fds[], int num_pollees) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: closesocket
      Src: /src/glib/glib/tests/gpoll.c:168,1
    - Dst: closesocket
      Src: /src/glib/glib/tests/gpoll.c:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - sockets
    - opp_sockets
    - num_pollees
    argTypes:
    - SOCKET
    - SOCKET
    - int
    constantsTouched: []
    func_position:
      end: 171
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 171
    functionName: cleanup_sockets
    functionSourceFile: /src/glib/glib/tests/gpoll.c
    functionUses: []
    functionsReached:
    - closesocket
    linkageType: ''
    returnType: void
    signature: 'static void cleanup_sockets (SOCKET sockets[], SOCKET opp_sockets[],
      int num_pollees) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_printerr
      Src: /src/glib/glib/tests/gpoll.c:206,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/gpoll.c:208,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/gpoll.c:210,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/gpoll.c:227,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/gpoll.c:229,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/gpoll.c:231,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/gpoll.c:233,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/gpoll.c:234,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/gpoll.c:237,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 3
    argNames:
    - buckets
    - bucket_limits
    - count
    argTypes:
    - gint
    - gint64
    - gint
    constantsTouched: []
    func_position:
      end: 238
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 238
    functionName: print_buckets
    functionSourceFile: /src/glib/glib/tests/gpoll.c
    functionUses: []
    functionsReached:
    - g_printerr
    linkageType: ''
    returnType: void
    signature: 'static void print_buckets (gint buckets[], gint64 bucket_limits[],
      gint count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - fds
    - num_pollfds
    argTypes:
    - GPollFD
    - int
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: reset_fds_msg
    functionSourceFile: /src/glib/glib/tests/gpoll.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void reset_fds_msg (GPollFD fds[], int num_pollfds) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WSACreateEvent
      Src: /src/glib/glib/tests/gpoll.c:48,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:49,1
    - Dst: WSAEventSelect
      Src: /src/glib/glib/tests/gpoll.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - sockets
    - fds
    - num_pollees
    argTypes:
    - SOCKET
    - GPollFD
    - int
    constantsTouched: []
    func_position:
      end: 51
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 51
    functionName: prepare_fds
    functionSourceFile: /src/glib/glib/tests/gpoll.c
    functionUses: []
    functionsReached:
    - g_assert
    - WSACreateEvent
    - WSAEventSelect
    linkageType: ''
    returnType: void
    signature: 'static void prepare_fds (SOCKET sockets[], GPollFD fds[], int num_pollees) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/glib/glib/tests/gpoll.c:135,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:138,1
    - Dst: bind
      Src: /src/glib/glib/tests/gpoll.c:138,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:152,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:149,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:129,1
    - Dst: memset
      Src: /src/glib/glib/tests/gpoll.c:131,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:139,1
    - Dst: getsockname
      Src: /src/glib/glib/tests/gpoll.c:139,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:140,1
    - Dst: connect
      Src: /src/glib/glib/tests/gpoll.c:148,1
    - Dst: socket
      Src: /src/glib/glib/tests/gpoll.c:144,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:153,1
    - Dst: ioctlsocket
      Src: /src/glib/glib/tests/gpoll.c:153,1
    - Dst: listen
      Src: /src/glib/glib/tests/gpoll.c:140,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:145,1
    - Dst: closesocket
      Src: /src/glib/glib/tests/gpoll.c:156,1
    - Dst: socket
      Src: /src/glib/glib/tests/gpoll.c:128,1
    - Dst: ioctlsocket
      Src: /src/glib/glib/tests/gpoll.c:146,1
    - Dst: accept
      Src: /src/glib/glib/tests/gpoll.c:151,1
    - Dst: ASYNC_CONNECT_OK
      Src: /src/glib/glib/tests/gpoll.c:149,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:146,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 4
    argNames:
    - sockets
    - opp_sockets
    - fds
    - num_pollees
    argTypes:
    - SOCKET
    - SOCKET
    - GPollFD
    - int
    constantsTouched: []
    func_position:
      end: 157
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 157
    functionName: prepare_sockets
    functionSourceFile: /src/glib/glib/tests/gpoll.c
    functionUses: []
    functionsReached:
    - accept
    - getsockname
    - listen
    - g_assert
    - closesocket
    - socket
    - bind
    - htonl
    - connect
    - ASYNC_CONNECT_OK
    - ioctlsocket
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void prepare_sockets (SOCKET sockets[], SOCKET opp_sockets[],
      GPollFD fds[], int num_pollees) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - val
    - buckets
    - bucket_limits
    - count
    argTypes:
    - gint64
    - gint
    - gint64
    - gint
    constantsTouched: []
    func_position:
      end: 195
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 195
    functionName: bucketize
    functionSourceFile: /src/glib/glib/tests/gpoll.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void bucketize (gint64 val, gint buckets[], gint64 bucket_limits[],
      gint count) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: g_usleep
      Src: /src/glib/glib/tests/gpoll.c:305,1
    - Dst: PostMessage
      Src: /src/glib/glib/tests/gpoll.c:303,1
    - Dst: reset_fds
      Src: /src/glib/glib/tests/gpoll.c:300,1
    - Dst: check_fds
      Src: /src/glib/glib/tests/gpoll.c:311,1
    - Dst: recv
      Src: /src/glib/glib/tests/gpoll.c:364,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/gpoll.c:386,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:373,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:474,1
    - Dst: reset_fds_msg
      Src: /src/glib/glib/tests/gpoll.c:560,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/gpoll.c:569,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/gpoll.c:567,1
    - Dst: bucketize
      Src: /src/glib/glib/tests/gpoll.c:538,1
    - Dst: send
      Src: /src/glib/glib/tests/gpoll.c:564,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/gpoll.c:411,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/gpoll.c:361,1
    - Dst: send
      Src: /src/glib/glib/tests/gpoll.c:456,1
    - Dst: g_poll
      Src: /src/glib/glib/tests/gpoll.c:463,1
    - Dst: g_poll
      Src: /src/glib/glib/tests/gpoll.c:479,1
    - Dst: PostMessage
      Src: /src/glib/glib/tests/gpoll.c:565,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:588,1
    - Dst: g_poll
      Src: /src/glib/glib/tests/gpoll.c:586,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:580,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/gpoll.c:542,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:581,1
    - Dst: print_buckets
      Src: /src/glib/glib/tests/gpoll.c:602,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/gpoll.c:307,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:319,1
    - Dst: bucketize
      Src: /src/glib/glib/tests/gpoll.c:334,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:365,1
    - Dst: g_poll
      Src: /src/glib/glib/tests/gpoll.c:371,1
    - Dst: recv
      Src: /src/glib/glib/tests/gpoll.c:414,1
    - Dst: PeekMessage
      Src: /src/glib/glib/tests/gpoll.c:469,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/gpoll.c:518,1
    - Dst: check_fds
      Src: /src/glib/glib/tests/gpoll.c:529,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:582,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:326,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/gpoll.c:338,1
    - Dst: bucketize
      Src: /src/glib/glib/tests/gpoll.c:382,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:457,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:473,1
    - Dst: reset_fds
      Src: /src/glib/glib/tests/gpoll.c:507,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/gpoll.c:571,1
    - Dst: reset_fds
      Src: /src/glib/glib/tests/gpoll.c:353,1
    - Dst: check_fds
      Src: /src/glib/glib/tests/gpoll.c:465,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/gpoll.c:435,1
    - Dst: reset_fds
      Src: /src/glib/glib/tests/gpoll.c:419,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/gpoll.c:269,1
    - Dst: print_buckets
      Src: /src/glib/glib/tests/gpoll.c:284,1
    - Dst: memset
      Src: /src/glib/glib/tests/gpoll.c:289,1
    - Dst: g_poll
      Src: /src/glib/glib/tests/gpoll.c:410,1
    - Dst: g_poll
      Src: /src/glib/glib/tests/gpoll.c:360,1
    - Dst: g_poll
      Src: /src/glib/glib/tests/gpoll.c:324,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:524,1
    - Dst: reset_fds_msg
      Src: /src/glib/glib/tests/gpoll.c:527,1
    - Dst: cleanup_sockets
      Src: /src/glib/glib/tests/gpoll.c:604,1
    - Dst: reset_fds
      Src: /src/glib/glib/tests/gpoll.c:400,1
    - Dst: recv
      Src: /src/glib/glib/tests/gpoll.c:312,1
    - Dst: memset
      Src: /src/glib/glib/tests/gpoll.c:441,1
    - Dst: PostMessage
      Src: /src/glib/glib/tests/gpoll.c:457,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/gpoll.c:460,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:475,1
    - Dst: reset_fds_msg
      Src: /src/glib/glib/tests/gpoll.c:508,1
    - Dst: g_poll
      Src: /src/glib/glib/tests/gpoll.c:517,1
    - Dst: check_fds
      Src: /src/glib/glib/tests/gpoll.c:587,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:472,1
    - Dst: reset_fds
      Src: /src/glib/glib/tests/gpoll.c:477,1
    - Dst: reset_fds_msg
      Src: /src/glib/glib/tests/gpoll.c:301,1
    - Dst: g_poll
      Src: /src/glib/glib/tests/gpoll.c:570,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/gpoll.c:601,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/gpoll.c:516,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/gpoll.c:271,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:317,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:320,1
    - Dst: check_fds
      Src: /src/glib/glib/tests/gpoll.c:363,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:417,1
    - Dst: reset_fds_msg
      Src: /src/glib/glib/tests/gpoll.c:420,1
    - Dst: check_fds
      Src: /src/glib/glib/tests/gpoll.c:412,1
    - Dst: print_buckets
      Src: /src/glib/glib/tests/gpoll.c:436,1
    - Dst: reset_fds
      Src: /src/glib/glib/tests/gpoll.c:451,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/gpoll.c:462,1
    - Dst: memset
      Src: /src/glib/glib/tests/gpoll.c:549,1
    - Dst: reset_fds
      Src: /src/glib/glib/tests/gpoll.c:267,1
    - Dst: send
      Src: /src/glib/glib/tests/gpoll.c:302,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/gpoll.c:283,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/gpoll.c:309,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:366,1
    - Dst: check_fds
      Src: /src/glib/glib/tests/gpoll.c:422,1
    - Dst: reset_fds
      Src: /src/glib/glib/tests/gpoll.c:369,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:530,1
    - Dst: reset_fds_msg
      Src: /src/glib/glib/tests/gpoll.c:585,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/gpoll.c:409,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:272,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/gpoll.c:359,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:565,1
    - Dst: check_fds
      Src: /src/glib/glib/tests/gpoll.c:572,1
    - Dst: recv
      Src: /src/glib/glib/tests/gpoll.c:574,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:579,1
    - Dst: g_poll
      Src: /src/glib/glib/tests/gpoll.c:528,1
    - Dst: send
      Src: /src/glib/glib/tests/gpoll.c:355,1
    - Dst: reset_fds_msg
      Src: /src/glib/glib/tests/gpoll.c:401,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:416,1
    - Dst: prepare_fds
      Src: /src/glib/glib/tests/gpoll.c:255,1
    - Dst: memset
      Src: /src/glib/glib/tests/gpoll.c:260,1
    - Dst: reset_fds_msg
      Src: /src/glib/glib/tests/gpoll.c:354,1
    - Dst: reset_fds_msg
      Src: /src/glib/glib/tests/gpoll.c:478,1
    - Dst: print_buckets
      Src: /src/glib/glib/tests/gpoll.c:494,1
    - Dst: memset
      Src: /src/glib/glib/tests/gpoll.c:499,1
    - Dst: recv
      Src: /src/glib/glib/tests/gpoll.c:521,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:522,1
    - Dst: bucketize
      Src: /src/glib/glib/tests/gpoll.c:596,1
    - Dst: reset_fds_msg
      Src: /src/glib/glib/tests/gpoll.c:268,1
    - Dst: g_poll
      Src: /src/glib/glib/tests/gpoll.c:270,1
    - Dst: PeekMessage
      Src: /src/glib/glib/tests/gpoll.c:314,1
    - Dst: print_buckets
      Src: /src/glib/glib/tests/gpoll.c:387,1
    - Dst: check_fds
      Src: /src/glib/glib/tests/gpoll.c:325,1
    - Dst: reset_fds_msg
      Src: /src/glib/glib/tests/gpoll.c:370,1
    - Dst: memset
      Src: /src/glib/glib/tests/gpoll.c:392,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:415,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:367,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:423,1
    - Dst: print_buckets
      Src: /src/glib/glib/tests/gpoll.c:543,1
    - Dst: reset_fds
      Src: /src/glib/glib/tests/gpoll.c:584,1
    - Dst: check_fds
      Src: /src/glib/glib/tests/gpoll.c:372,1
    - Dst: bucketize
      Src: /src/glib/glib/tests/gpoll.c:279,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:303,1
    - Dst: g_poll
      Src: /src/glib/glib/tests/gpoll.c:308,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/gpoll.c:407,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/gpoll.c:357,1
    - Dst: send
      Src: /src/glib/glib/tests/gpoll.c:405,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/tests/gpoll.c:464,1
    - Dst: check_fds
      Src: /src/glib/glib/tests/gpoll.c:519,1
    - Dst: reset_fds
      Src: /src/glib/glib/tests/gpoll.c:559,1
    - Dst: reset_fds
      Src: /src/glib/glib/tests/gpoll.c:322,1
    - Dst: g_poll
      Src: /src/glib/glib/tests/gpoll.c:421,1
    - Dst: recv
      Src: /src/glib/glib/tests/gpoll.c:467,1
    - Dst: bucketize
      Src: /src/glib/glib/tests/gpoll.c:489,1
    - Dst: send
      Src: /src/glib/glib/tests/gpoll.c:512,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/gpoll.c:514,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:523,1
    - Dst: reset_fds
      Src: /src/glib/glib/tests/gpoll.c:526,1
    - Dst: PeekMessage
      Src: /src/glib/glib/tests/gpoll.c:576,1
    - Dst: bucketize
      Src: /src/glib/glib/tests/gpoll.c:431,1
    - Dst: prepare_sockets
      Src: /src/glib/glib/tests/gpoll.c:254,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:318,1
    - Dst: reset_fds_msg
      Src: /src/glib/glib/tests/gpoll.c:323,1
    - Dst: print_buckets
      Src: /src/glib/glib/tests/gpoll.c:339,1
    - Dst: memset
      Src: /src/glib/glib/tests/gpoll.c:344,1
    - Dst: reset_fds_msg
      Src: /src/glib/glib/tests/gpoll.c:452,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gpoll.c:481,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/gpoll.c:493,1
    - Dst: check_fds
      Src: /src/glib/glib/tests/gpoll.c:480,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 410
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 605
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 605
    functionName: test_gpoll
    functionSourceFile: /src/glib/glib/tests/gpoll.c
    functionUses: []
    functionsReached:
    - reset_fds
    - g_printerr
    - prepare_sockets
    - prepare_fds
    - send
    - recv
    - g_assert
    - print_buckets
    - bucketize
    - check_fds
    - g_usleep
    - g_poll
    - g_get_monotonic_time
    - cleanup_sockets
    - reset_fds_msg
    - memset
    - PeekMessage
    - PostMessage
    linkageType: ''
    returnType: void
    signature: 'static void test_gpoll (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/gpoll.c:614,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/gpoll.c:620,1
    - Dst: init_networking
      Src: /src/glib/glib/tests/gpoll.c:615,1
    - Dst: g_main_context_new
      Src: /src/glib/glib/tests/gpoll.c:616,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gpoll.c:618,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/tests/gpoll.c:622,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 625
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 625
    functionName: main
    functionSourceFile: /src/glib/glib/tests/gpoll.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_main_context_unref
    - g_test_run
    - g_main_context_new
    - init_networking
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_prepend
      Src: /src/glib/glib/tests/markup.c:41,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/markup.c:41,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 4
    argCount: 6
    argNames:
    - context
    - element_name
    - attribute_names
    - attribute_values
    - user_data
    - error
    argTypes:
    - GMarkupParseContext*
    - gchar*
    - gchar**
    - gchar**
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 42
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 42
    functionName: start
    functionSourceFile: /src/glib/glib/tests/markup.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_slist_prepend
    linkageType: ''
    returnType: void
    signature: 'static void start (GMarkupParseContext *context, const gchar *element_name,
      const gchar **attribute_names, const gchar **attribute_values, gpointer user_data,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_markup_parse_context_new
      Src: /src/glib/glib/tests/markup.c:84,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/markup.c:87,1
    - Dst: g_markup_parse_context_free
      Src: /src/glib/glib/tests/markup.c:88,1
    - Dst: g_markup_parse_context_parse
      Src: /src/glib/glib/tests/markup.c:85,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/markup.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 89
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 89
    functionName: test_markup_stack
    functionSourceFile: /src/glib/glib/tests/markup.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_assert_no_error
    - g_markup_parse_context_new
    - g_markup_parse_context_parse
    - g_markup_parse_context_free
    linkageType: ''
    returnType: void
    signature: 'static void test_markup_stack (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/markup.c:94,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/markup.c:96,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/markup.c:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: main
    functionSourceFile: /src/glib/glib/tests/markup.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_markup_parse_context_get_element_stack
      Src: /src/glib/glib/tests/markup.c:55,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/markup.c:58,1
    - Dst: g_slist_free_full
      Src: /src/glib/glib/tests/markup.c:63,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/markup.c:57,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 4
    argNames:
    - context
    - element_name
    - user_data
    - error
    argTypes:
    - GMarkupParseContext*
    - gchar*
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 64
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 64
    functionName: end
    functionSourceFile: /src/glib/glib/tests/markup.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_markup_parse_context_get_element_stack
    - g_assert_cmpstr
    - g_slist_free_full
    linkageType: ''
    returnType: void
    signature: 'static void end (GMarkupParseContext *context, const gchar *element_name,
      gpointer user_data, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:533,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:535,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 536
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 536
    functionName: test_c
    functionSourceFile: /src/glib/glib/tests/test-printf.c
    functionUses: []
    functionsReached:
    - g_snprintf
    - g_assert_cmpstr
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_c (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:613,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:615,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:617,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:614,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:618,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:619,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:621,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:622,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:623,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 624
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 624
    functionName: test_positional_params
    functionSourceFile: /src/glib/glib/tests/test-printf.c
    functionUses: []
    functionsReached:
    - g_snprintf
    - g_assert_cmpstr
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_positional_params (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: upper_bound
      Src: /src/glib/glib/tests/test-printf.c:897,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:898,1
    - Dst: upper_bound
      Src: /src/glib/glib/tests/test-printf.c:900,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:901,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 902
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 902
    functionName: test_upper_bound
    functionSourceFile: /src/glib/glib/tests/test-printf.c
    functionUses: []
    functionsReached:
    - upper_bound
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_upper_bound (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:208,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:214,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:209,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:210,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:213,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 216
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 216
    functionName: test_d_invalid
    functionSourceFile: /src/glib/glib/tests/test-printf.c
    functionUses: []
    functionsReached:
    - g_snprintf
    - g_assert_cmpstr
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_d_invalid (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:544,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:548,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:550,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:556,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:564,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:565,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:557,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:558,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:570,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:572,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:552,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:554,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:560,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:562,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:569,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:573,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:574,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:545,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:546,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:568,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:566,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:549,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:553,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:561,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 575
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 575
    functionName: test_s
    functionSourceFile: /src/glib/glib/tests/test-printf.c
    functionUses: []
    functionsReached:
    - g_snprintf
    - g_assert_cmpstr
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_s (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/test-printf.c:629,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:634,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:637,1
    - Dst: g_printf
      Src: /src/glib/glib/tests/test-printf.c:636,1
    - Dst: g_printf
      Src: /src/glib/glib/tests/test-printf.c:633,1
    - Dst: g_printf
      Src: /src/glib/glib/tests/test-printf.c:639,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:640,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/test-printf.c:643,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/test-printf.c:644,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/glib/tests/test-printf.c:645,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 646
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 646
    functionName: test_positional_params2
    functionSourceFile: /src/glib/glib/tests/test-printf.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_passed
    - g_printf
    - g_test_trap_subprocess
    - g_test_subprocess
    - g_test_trap_assert_stdout
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_positional_params2 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/tests/test-printf.c:918,1
    - Dst: g_vasprintf
      Src: /src/glib/glib/tests/test-printf.c:919,1
    - Dst: va_end
      Src: /src/glib/glib/tests/test-printf.c:920,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - string
    - format
    - '...'
    argTypes:
    - gchar**
    - gchar*
    constantsTouched: []
    func_position:
      end: 923
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 923
    functionName: test_vasprintf_va
    functionSourceFile: /src/glib/glib/tests/test-printf.c
    functionUses: []
    functionsReached:
    - g_vasprintf
    - va_start
    - va_end
    linkageType: ''
    returnType: gint
    signature: 'static gint test_vasprintf_va (gchar **string, const gchar *format,
      ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:362,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:366,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:380,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:381,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:388,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:389,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:394,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:395,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:400,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:402,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:360,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:361,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:368,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:369,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:376,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:377,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:378,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:374,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:382,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:390,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:370,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:384,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:385,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:404,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:403,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:364,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:365,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:372,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:373,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:386,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:396,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:398,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:399,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:406,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:407,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 49
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 409
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 409
    functionName: test_X
    functionSourceFile: /src/glib/glib/tests/test-printf.c
    functionUses: []
    functionsReached:
    - g_snprintf
    - g_assert_cmpstr
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_X (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_strtod
      Src: /src/glib/glib/tests/test-printf.c:464,1
    - Dst: g_ascii_strtod
      Src: /src/glib/glib/tests/test-printf.c:465,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - actual
    - expected
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 468
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 468
    functionName: same_value
    functionSourceFile: /src/glib/glib/tests/test-printf.c
    functionUses: []
    functionsReached:
    - g_ascii_strtod
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean same_value (const gchar *actual, const gchar *expected) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:39,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:40,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:42,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:58,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/test-printf.c:55,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:53,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:46,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:61,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:54,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:64,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/test-printf.c:65,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/test-printf.c:70,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:43,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:48,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:49,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/test-printf.c:50,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:51,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:56,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:63,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:68,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:45,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:59,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/test-printf.c:60,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:66,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:69,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 40
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 72
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 72
    functionName: test_retval_and_trunc
    functionSourceFile: /src/glib/glib/tests/test-printf.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_snprintf
    - g_assert_cmpstr
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_retval_and_trunc (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:227,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:237,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:251,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:248,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:247,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:252,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:239,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:240,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:243,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:245,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:249,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:253,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:229,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:228,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:233,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:255,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:256,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:231,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:232,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:235,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:236,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:244,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:241,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 258
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 258
    functionName: test_o
    functionSourceFile: /src/glib/glib/tests/test-printf.c
    functionUses: []
    functionsReached:
    - g_snprintf
    - g_assert_cmpstr
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_o (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/tests/test-printf.c:425,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:428,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:433,1
    - Dst: strncmp
      Src: /src/glib/glib/tests/test-printf.c:443,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:445,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:446,1
    - Dst: strncmp
      Src: /src/glib/glib/tests/test-printf.c:447,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:450,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:454,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:419,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:424,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:435,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:436,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:432,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/test-printf.c:447,1
    - Dst: strncmp
      Src: /src/glib/glib/tests/test-printf.c:421,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:427,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:437,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:429,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/test-printf.c:443,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:453,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/test-printf.c:421,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:420,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:423,1
    - Dst: strncmp
      Src: /src/glib/glib/tests/test-printf.c:425,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:431,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:441,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:442,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:449,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:451,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 45
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 456
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 456
    functionName: test_f
    functionSourceFile: /src/glib/glib/tests/test-printf.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_assert_cmpstr
    - strncmp
    - g_snprintf
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_f (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:484,1
    - Dst: same_value
      Src: /src/glib/glib/tests/test-printf.c:486,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/test-printf.c:486,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:492,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:493,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/test-printf.c:494,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/test-printf.c:498,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/test-printf.c:502,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:501,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:497,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:514,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:518,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/test-printf.c:490,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:496,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:500,1
    - Dst: same_value
      Src: /src/glib/glib/tests/test-printf.c:494,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:510,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:511,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/test-printf.c:512,1
    - Dst: same_value
      Src: /src/glib/glib/tests/test-printf.c:516,1
    - Dst: same_value
      Src: /src/glib/glib/tests/test-printf.c:520,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:523,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:488,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:489,1
    - Dst: same_value
      Src: /src/glib/glib/tests/test-printf.c:490,1
    - Dst: same_value
      Src: /src/glib/glib/tests/test-printf.c:498,1
    - Dst: same_value
      Src: /src/glib/glib/tests/test-printf.c:502,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:505,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/test-printf.c:506,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:522,1
    - Dst: same_value
      Src: /src/glib/glib/tests/test-printf.c:506,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:485,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:504,1
    - Dst: same_value
      Src: /src/glib/glib/tests/test-printf.c:512,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:515,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/test-printf.c:516,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:519,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/test-printf.c:520,1
    - Dst: same_value
      Src: /src/glib/glib/tests/test-printf.c:524,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/test-printf.c:524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 51
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 525
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 525
    functionName: test_e
    functionSourceFile: /src/glib/glib/tests/test-printf.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_snprintf
    - same_value
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_e (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/tests/test-printf.c:885,1
    - Dst: va_end
      Src: /src/glib/glib/tests/test-printf.c:887,1
    - Dst: g_printf_string_upper_bound
      Src: /src/glib/glib/tests/test-printf.c:886,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - format
    - '...'
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 890
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 890
    functionName: upper_bound
    functionSourceFile: /src/glib/glib/tests/test-printf.c
    functionUses: []
    functionsReached:
    - g_printf_string_upper_bound
    - va_start
    - va_end
    linkageType: ''
    returnType: gsize
    signature: 'static gsize upper_bound (const gchar *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _setmode
      Src: /src/glib/glib/tests/test-printf.c:983,1
    - Dst: g_test_init
      Src: /src/glib/glib/tests/test-printf.c:985,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/test-printf.c:988,1
    - Dst: fileno
      Src: /src/glib/glib/tests/test-printf.c:983,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/test-printf.c:989,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/test-printf.c:990,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/test-printf.c:1017,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/test-printf.c:987,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/test-printf.c:992,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/test-printf.c:996,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/test-printf.c:994,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/test-printf.c:1000,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/test-printf.c:998,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/test-printf.c:1003,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/test-printf.c:1005,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/test-printf.c:1008,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/test-printf.c:1012,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/test-printf.c:1014,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/test-printf.c:991,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/test-printf.c:993,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/test-printf.c:995,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/test-printf.c:1001,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/test-printf.c:999,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/test-printf.c:997,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/test-printf.c:1004,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/test-printf.c:1006,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/test-printf.c:1011,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/test-printf.c:1015,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1018
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 1018
    functionName: main
    functionSourceFile: /src/glib/glib/tests/test-printf.c
    functionUses: []
    functionsReached:
    - fileno
    - g_test_add_func
    - g_test_run
    - _setmode
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:84,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:92,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:149,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:99,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:111,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:118,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:125,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:126,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:187,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:175,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:138,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:163,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:164,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:100,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:112,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:133,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:140,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:150,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:176,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:188,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:106,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:170,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:182,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:95,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:142,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:119,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:120,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:153,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:152,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:87,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:90,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:94,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:96,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:158,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:146,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:183,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:171,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:136,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:178,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:83,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:102,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:107,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:114,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:124,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:91,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:104,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:108,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:184,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:172,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:148,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:180,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:159,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:130,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:166,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:86,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:132,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:141,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:179,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:167,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:103,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:115,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:82,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:116,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:134,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:137,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:174,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:98,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:110,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:162,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:145,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:144,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:186,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:168,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:129,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:154,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:160,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:88,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 109
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 189
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 189
    functionName: test_d
    functionSourceFile: /src/glib/glib/tests/test-printf.c
    functionUses: []
    functionsReached:
    - g_snprintf
    - g_assert_cmpstr
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_d (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:268,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:269,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:273,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:270,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:272,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:274,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:276,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:277,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:278,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:280,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:281,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:282,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:284,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:288,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:289,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:285,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:286,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 291
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 291
    functionName: test_u
    functionSourceFile: /src/glib/glib/tests/test-printf.c
    functionUses: []
    functionsReached:
    - g_snprintf
    - g_assert_cmpstr
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_u (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:701,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:706,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:710,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:714,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:717,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:718,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:719,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:742,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:751,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:752,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:759,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:768,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:764,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:739,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:693,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:690,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:695,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:699,1
    - Dst: _Pragma
      Src: /src/glib/glib/tests/test-printf.c:733,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:746,1
    - Dst: G_GNUC_CHECK_VERSION
      Src: /src/glib/glib/tests/test-printf.c:732,1
    - Dst: G_GNUC_CHECK_VERSION
      Src: /src/glib/glib/tests/test-printf.c:770,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:715,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:758,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:711,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:743,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:754,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:689,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:694,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:691,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:698,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:702,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:707,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:709,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:703,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:705,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:713,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:744,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:750,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:766,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:755,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:762,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:697,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:738,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:740,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:747,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:748,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:760,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:767,1
    - Dst: _Pragma
      Src: /src/glib/glib/tests/test-printf.c:771,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:756,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:763,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 73
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 775
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 775
    functionName: test_64bit
    functionSourceFile: /src/glib/glib/tests/test-printf.c
    functionUses: []
    functionsReached:
    - g_assert_cmpstr
    - _Pragma
    - g_snprintf
    - G_GNUC_CHECK_VERSION
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_64bit (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:329,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:330,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:341,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:349,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:306,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:302,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:305,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:309,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:310,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:315,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:318,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:331,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:340,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:343,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:348,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:307,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:311,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:323,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:325,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:321,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:322,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:326,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:335,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:336,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:345,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:301,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:303,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:313,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:319,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:314,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:317,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:327,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:337,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:339,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:347,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 49
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 350
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 350
    functionName: test_x
    functionSourceFile: /src/glib/glib/tests/test-printf.c
    functionUses: []
    functionsReached:
    - g_snprintf
    - g_assert_cmpstr
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_x (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_printf
      Src: /src/glib/glib/tests/test-printf.c:782,1
    - Dst: g_printf
      Src: /src/glib/glib/tests/test-printf.c:788,1
    - Dst: g_printf
      Src: /src/glib/glib/tests/test-printf.c:785,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:786,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:783,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:789,1
    - Dst: g_printf
      Src: /src/glib/glib/tests/test-printf.c:791,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:792,1
    - Dst: g_printf
      Src: /src/glib/glib/tests/test-printf.c:794,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:795,1
    - Dst: g_printf
      Src: /src/glib/glib/tests/test-printf.c:800,1
    - Dst: g_printf
      Src: /src/glib/glib/tests/test-printf.c:803,1
    - Dst: g_printf
      Src: /src/glib/glib/tests/test-printf.c:797,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:801,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:804,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:798,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 805
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 805
    functionName: test_64bit2_base
    functionSourceFile: /src/glib/glib/tests/test-printf.c
    functionUses: []
    functionsReached:
    - g_printf
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_64bit2_base (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/test-printf.c:862,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/test-printf.c:869,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/test-printf.c:871,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/test-printf.c:864,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/glib/tests/test-printf.c:865,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/glib/tests/test-printf.c:872,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 876
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 876
    functionName: test_64bit2
    functionSourceFile: /src/glib/glib/tests/test-printf.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_passed
    - g_test_trap_assert_stdout
    - g_test_trap_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_64bit2 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_printf
      Src: /src/glib/glib/tests/test-printf.c:835,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:842,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:839,1
    - Dst: _Pragma
      Src: /src/glib/glib/tests/test-printf.c:824,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:830,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:836,1
    - Dst: g_printf
      Src: /src/glib/glib/tests/test-printf.c:838,1
    - Dst: G_GNUC_CHECK_VERSION
      Src: /src/glib/glib/tests/test-printf.c:823,1
    - Dst: G_GNUC_CHECK_VERSION
      Src: /src/glib/glib/tests/test-printf.c:853,1
    - Dst: g_printf
      Src: /src/glib/glib/tests/test-printf.c:829,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:833,1
    - Dst: _Pragma
      Src: /src/glib/glib/tests/test-printf.c:854,1
    - Dst: g_printf
      Src: /src/glib/glib/tests/test-printf.c:832,1
    - Dst: g_printf
      Src: /src/glib/glib/tests/test-printf.c:841,1
    - Dst: g_printf
      Src: /src/glib/glib/tests/test-printf.c:847,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:848,1
    - Dst: g_printf
      Src: /src/glib/glib/tests/test-printf.c:844,1
    - Dst: g_printf
      Src: /src/glib/glib/tests/test-printf.c:850,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:845,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:851,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 856
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 856
    functionName: test_64bit2_win32
    functionSourceFile: /src/glib/glib/tests/test-printf.c
    functionUses: []
    functionsReached:
    - G_GNUC_CHECK_VERSION
    - g_printf
    - g_assert_cmpint
    - _Pragma
    linkageType: ''
    returnType: void
    signature: 'static void test_64bit2_win32 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:585,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:588,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:587,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:590,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:586,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:591,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:592,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:593,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 594
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 594
    functionName: test_n
    functionSourceFile: /src/glib/glib/tests/test-printf.c
    functionUses: []
    functionsReached:
    - g_snprintf
    - g_assert_cmpstr
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_n (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_sprintf
      Src: /src/glib/glib/tests/test-printf.c:654,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:656,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:659,1
    - Dst: g_sprintf
      Src: /src/glib/glib/tests/test-printf.c:658,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:655,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:660,1
    - Dst: g_sprintf
      Src: /src/glib/glib/tests/test-printf.c:662,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:663,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:664,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 665
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 665
    functionName: test_positional_params3
    functionSourceFile: /src/glib/glib/tests/test-printf.c
    functionUses: []
    functionsReached:
    - g_sprintf
    - g_assert_cmpstr
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_positional_params3 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/test-printf.c:934,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/test-printf.c:944,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/test-printf.c:946,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:943,1
    - Dst: test_vasprintf_va
      Src: /src/glib/glib/tests/test-printf.c:940,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 948
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 948
    functionName: test_vasprintf_invalid_format_placeholder
    functionSourceFile: /src/glib/glib/tests/test-printf.c
    functionUses: []
    functionsReached:
    - test_vasprintf_va
    - g_test_summary
    - g_assert_null
    - g_test_skip
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_vasprintf_invalid_format_placeholder (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/test-printf.c:602,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:603,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/test-printf.c:604,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 605
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 605
    functionName: test_percent
    functionSourceFile: /src/glib/glib/tests/test-printf.c
    functionUses: []
    functionsReached:
    - g_snprintf
    - g_assert_cmpstr
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_percent (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/test-printf.c:670,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:675,1
    - Dst: g_printf
      Src: /src/glib/glib/tests/test-printf.c:674,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/test-printf.c:679,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/test-printf.c:678,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/glib/tests/test-printf.c:680,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 681
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 681
    functionName: test_percent2
    functionSourceFile: /src/glib/glib/tests/test-printf.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_passed
    - g_printf
    - g_test_trap_subprocess
    - g_test_subprocess
    - g_test_trap_assert_stdout
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_percent2 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/test-printf.c:958,1
    - Dst: test_vasprintf_va
      Src: /src/glib/glib/tests/test-printf.c:964,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/test-printf.c:970,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/test-printf.c:968,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/test-printf.c:967,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 972
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 972
    functionName: test_vasprintf_invalid_wide_string
    functionSourceFile: /src/glib/glib/tests/test-printf.c
    functionUses: []
    functionsReached:
    - test_vasprintf_va
    - g_test_summary
    - g_assert_null
    - g_test_skip
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_vasprintf_invalid_wide_string (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_log_set_default_handler
      Src: /src/glib/glib/tests/logging.c:63,1
    - Dst: g_error
      Src: /src/glib/glib/tests/logging.c:64,1
    - Dst: exit
      Src: /src/glib/glib/tests/logging.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: test_default_handler_error
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_error
    - g_log_set_default_handler
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void test_default_handler_error (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_log_writer_default_set_use_stderr
      Src: /src/glib/glib/tests/logging.c:98,1
    - Dst: g_warning
      Src: /src/glib/glib/tests/logging.c:100,1
    - Dst: exit
      Src: /src/glib/glib/tests/logging.c:101,1
    - Dst: g_log_set_default_handler
      Src: /src/glib/glib/tests/logging.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 102
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 102
    functionName: test_default_handler_warning_stderr
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - exit
    - g_log_writer_default_set_use_stderr
    - g_log_set_default_handler
    - g_warning
    linkageType: ''
    returnType: void
    signature: 'static void test_default_handler_warning_stderr (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_log_writer_default_set_use_stderr
      Src: /src/glib/glib/tests/logging.c:134,1
    - Dst: exit
      Src: /src/glib/glib/tests/logging.c:137,1
    - Dst: g_log_set_default_handler
      Src: /src/glib/glib/tests/logging.c:135,1
    - Dst: g_log
      Src: /src/glib/glib/tests/logging.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 138
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 138
    functionName: test_default_handler_info
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_log
    - g_log_writer_default_set_use_stderr
    - g_log_set_default_handler
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void test_default_handler_info (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_set_print_handler
      Src: /src/glib/glib/tests/logging.c:643,1
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/logging.c:650,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/logging.c:648,1
    - Dst: g_print
      Src: /src/glib/glib/tests/logging.c:647,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/logging.c:644,1
    - Dst: g_set_print_handler
      Src: /src/glib/glib/tests/logging.c:652,1
    - Dst: old_print_handler
      Src: /src/glib/glib/tests/logging.c:653,1
    - Dst: g_print
      Src: /src/glib/glib/tests/logging.c:654,1
    - Dst: g_set_print_handler
      Src: /src/glib/glib/tests/logging.c:658,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/logging.c:659,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/glib/tests/logging.c:660,1
    - Dst: g_test_trap_has_passed
      Src: /src/glib/glib/tests/logging.c:664,1
    - Dst: g_test_trap_assert_stdout_unmatched
      Src: /src/glib/glib/tests/logging.c:663,1
    - Dst: g_test_trap_assert_stdout_unmatched
      Src: /src/glib/glib/tests/logging.c:662,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/glib/tests/logging.c:661,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 665
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 665
    functionName: test_print_handler
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_test_trap_has_passed
    - g_assert_nonnull
    - g_set_print_handler
    - g_test_trap_assert_stdout_unmatched
    - g_test_trap_subprocess
    - g_print
    - g_test_subprocess
    - old_print_handler
    - g_test_trap_assert_stdout
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_print_handler (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_message
      Src: /src/glib/glib/tests/logging.c:703,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/logging.c:704,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/logging.c:705,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - log_domain
    - log_level
    - msg
    - user_data
    argTypes:
    - gchar*
    - GLogLevelFlags
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 708
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 708
    functionName: good_failure_handler
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_assert
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean good_failure_handler (const gchar *log_domain, GLogLevelFlags
      log_level, const gchar *msg, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/logging.c:844,1
    - Dst: g_log_structured
      Src: /src/glib/glib/tests/logging.c:852,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/logging.c:846,1
    - Dst: g_log_set_writer_func
      Src: /src/glib/glib/tests/logging.c:850,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/logging.c:858,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/logging.c:862,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/logging.c:863,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 865
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 865
    functionName: test_structured_logging_no_state
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_passed
    - g_log_structured
    - g_log_set_writer_func
    - GUINT_TO_POINTER
    - g_test_trap_subprocess
    - g_test_subprocess
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_structured_logging_no_state (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/logging.c:1079,1
    - Dst: g_log_variant
      Src: /src/glib/glib/tests/logging.c:1095,1
    - Dst: g_log_set_writer_func
      Src: /src/glib/glib/tests/logging.c:1093,1
    - Dst: create_variant_fields
      Src: /src/glib/glib/tests/logging.c:1090,1
    - Dst: g_slist_append
      Src: /src/glib/glib/tests/logging.c:1092,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/logging.c:1096,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/logging.c:1097,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/logging.c:1101,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/logging.c:1102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1104
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1104
    functionName: test_structured_logging_variant2
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_passed
    - g_log_set_writer_func
    - g_assert
    - g_variant_unref
    - g_log_variant
    - g_test_trap_subprocess
    - create_variant_fields
    - g_test_subprocess
    - g_slist_append
    linkageType: ''
    returnType: void
    signature: 'static void test_structured_logging_variant2 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_log_writer_default_set_use_stderr
      Src: /src/glib/glib/tests/logging.c:71,1
    - Dst: g_error
      Src: /src/glib/glib/tests/logging.c:73,1
    - Dst: g_log_set_default_handler
      Src: /src/glib/glib/tests/logging.c:72,1
    - Dst: exit
      Src: /src/glib/glib/tests/logging.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 75
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 75
    functionName: test_default_handler_error_stderr
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_error
    - g_log_writer_default_set_use_stderr
    - g_log_set_default_handler
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void test_default_handler_error_stderr (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_log_writer_default_set_use_stderr
      Src: /src/glib/glib/tests/logging.c:107,1
    - Dst: exit
      Src: /src/glib/glib/tests/logging.c:110,1
    - Dst: g_warning
      Src: /src/glib/glib/tests/logging.c:109,1
    - Dst: g_log_set_default_handler
      Src: /src/glib/glib/tests/logging.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 111
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 111
    functionName: test_default_handler_warning
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - exit
    - g_log_writer_default_set_use_stderr
    - g_log_set_default_handler
    - g_warning
    linkageType: ''
    returnType: void
    signature: 'static void test_default_handler_warning (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_log_writer_default_set_use_stderr
      Src: /src/glib/glib/tests/logging.c:143,1
    - Dst: g_log
      Src: /src/glib/glib/tests/logging.c:145,1
    - Dst: g_log_set_default_handler
      Src: /src/glib/glib/tests/logging.c:144,1
    - Dst: exit
      Src: /src/glib/glib/tests/logging.c:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 147
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 147
    functionName: test_default_handler_info_stderr
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_log
    - g_log_writer_default_set_use_stderr
    - g_log_set_default_handler
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void test_default_handler_info_stderr (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/logging.c:403,1
    - Dst: test_would_drop_robustness_random_domain
      Src: /src/glib/glib/tests/logging.c:409,1
    - Dst: g_log_writer_default_set_debug_domains
      Src: /src/glib/glib/tests/logging.c:413,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/logging.c:411,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/logging.c:408,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 416
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 416
    functionName: test_would_drop_robustness_thread
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - test_would_drop_robustness_random_domain
    - g_log_writer_default_set_debug_domains
    - g_atomic_int_get
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer test_would_drop_robustness_thread (gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_set_printerr_handler
      Src: /src/glib/glib/tests/logging.c:672,1
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/logging.c:679,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/logging.c:673,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/logging.c:677,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/logging.c:676,1
    - Dst: g_set_printerr_handler
      Src: /src/glib/glib/tests/logging.c:681,1
    - Dst: old_printerr_handler
      Src: /src/glib/glib/tests/logging.c:682,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/logging.c:683,1
    - Dst: g_set_printerr_handler
      Src: /src/glib/glib/tests/logging.c:687,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/logging.c:688,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/logging.c:689,1
    - Dst: g_test_trap_has_passed
      Src: /src/glib/glib/tests/logging.c:691,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/logging.c:690,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 692
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 692
    functionName: test_printerr_handler
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_printerr
    - g_assert_nonnull
    - old_printerr_handler
    - g_test_trap_assert_stderr
    - g_set_printerr_handler
    - g_test_trap_subprocess
    - g_test_subprocess
    - g_test_trap_has_passed
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_printerr_handler (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_message
      Src: /src/glib/glib/tests/logging.c:716,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/logging.c:717,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/logging.c:718,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - log_domain
    - log_level
    - msg
    - user_data
    argTypes:
    - gchar*
    - GLogLevelFlags
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 721
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 721
    functionName: bad_failure_handler
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_assert
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean bad_failure_handler (const gchar *log_domain, GLogLevelFlags
      log_level, const gchar *msg, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/logging.c:872,1
    - Dst: g_log_structured_array
      Src: /src/glib/glib/tests/logging.c:885,1
    - Dst: g_log_set_writer_func
      Src: /src/glib/glib/tests/logging.c:883,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/logging.c:885,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/logging.c:887,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/logging.c:891,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/logging.c:892,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 894
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 894
    functionName: test_structured_logging_some_state
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_passed
    - g_log_set_writer_func
    - G_N_ELEMENTS
    - g_log_structured_array
    - g_test_trap_subprocess
    - g_test_subprocess
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_structured_logging_some_state (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/logging.c:1111,1
    - Dst: g_log_set_writer_func
      Src: /src/glib/glib/tests/logging.c:1113,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/logging.c:1119,1
    - Dst: g_log_set_writer_func
      Src: /src/glib/glib/tests/logging.c:1114,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/logging.c:1118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1121
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1121
    functionName: test_structured_logging_set_writer_func_twice
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_test_subprocess
    - g_test_trap_assert_failed
    - g_test_trap_subprocess
    - g_log_set_writer_func
    linkageType: ''
    returnType: void
    signature: 'static void test_structured_logging_set_writer_func_twice (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/logging.c:975,1
    - Dst: g_slist_append
      Src: /src/glib/glib/tests/logging.c:987,1
    - Dst: g_log_structured
      Src: /src/glib/glib/tests/logging.c:990,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/logging.c:996,1
    - Dst: g_log_set_writer_func
      Src: /src/glib/glib/tests/logging.c:988,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/logging.c:1000,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/logging.c:1001,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1003
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 1003
    functionName: test_structured_logging_roundtrip2
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_passed
    - g_log_structured
    - g_log_set_writer_func
    - g_assert
    - g_test_trap_subprocess
    - g_test_subprocess
    - g_slist_append
    linkageType: ''
    returnType: void
    signature: 'static void test_structured_logging_roundtrip2 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/logging.c:15,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/logging.c:20,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/logging.c:18,1
    - Dst: g_warn_if_reached
      Src: /src/glib/glib/tests/logging.c:17,1
    - Dst: g_warn_if_fail
      Src: /src/glib/glib/tests/logging.c:22,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/logging.c:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 24
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 24
    functionName: test_warnings
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_test_expect_message
    - g_test_assert_expected_messages
    - g_warn_if_fail
    - g_warn_if_reached
    linkageType: ''
    returnType: void
    signature: 'static void test_warnings (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/logging.c:206,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:209,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:208,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/logging.c:206,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:208,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 210
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 210
    functionName: test_default_handler_would_drop_env_systemd
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_getenv
    - g_log_writer_default_would_drop
    - g_assert_false
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void test_default_handler_would_drop_env_systemd (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_message
      Src: /src/glib/glib/tests/logging.c:729,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/logging.c:730,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/logging.c:731,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - log_domain
    - log_level
    - msg
    - user_data
    argTypes:
    - gchar*
    - GLogLevelFlags
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 732
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 732
    functionName: test_handler
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_assert
    linkageType: ''
    returnType: void
    signature: 'static void test_handler (const gchar *log_domain, GLogLevelFlags
      log_level, const gchar *msg, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: compare_field
      Src: /src/glib/glib/tests/logging.c:801,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - f1
    - n1
    - f2
    - n2
    argTypes:
    - GLogField*
    - gsize
    - GLogField*
    - gsize
    constantsTouched: []
    func_position:
      end: 809
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 809
    functionName: compare_fields
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - compare_field
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean compare_fields (const GLogField *f1, gsize n1, const
      GLogField *f2, gsize n2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/logging.c:215,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:217,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/logging.c:215,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/logging.c:218,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/logging.c:217,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 219
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 219
    functionName: test_default_handler_would_drop_env5
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_getenv
    - g_log_writer_default_would_drop
    - g_assert_true
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void test_default_handler_would_drop_env5 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - text
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 636
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 636
    functionName: my_print_handler
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void my_print_handler (const gchar *text) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/logging.c:737,1
    - Dst: g_test_log_set_fatal_handler
      Src: /src/glib/glib/tests/logging.c:744,1
    - Dst: g_log_set_default_handler
      Src: /src/glib/glib/tests/logging.c:740,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/tests/logging.c:742,1
    - Dst: g_test_log_set_fatal_handler
      Src: /src/glib/glib/tests/logging.c:739,1
    - Dst: g_log_set_default_handler
      Src: /src/glib/glib/tests/logging.c:745,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/tests/logging.c:747,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 748
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 748
    functionName: bug653052
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_test_log_set_fatal_handler
    - g_log_set_default_handler
    - g_test_bug
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void bug653052 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:1130,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:1128,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:1132,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:1141,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:1142,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:1143,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:1139,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:1140,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:1153,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:1154,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:1158,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:1161,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:1156,1
    - Dst: g_test_init
      Src: /src/glib/glib/tests/logging.c:1126,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:1136,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/logging.c:1170,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:1151,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:1168,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:1166,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:1164,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:1133,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:1135,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:1138,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:1144,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:1145,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:1146,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:1147,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:1148,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:1149,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:1150,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:1162,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:1159,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:1160,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:1157,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:1155,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:1131,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:1129,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:1134,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:1137,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:1152,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:1167,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:1165,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/logging.c:1163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 44
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1171
      start: 1123
    functionDepth: 0
    functionLinenumber: 1123
    functionLinenumberEnd: 1171
    functionName: main
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_log_writer_default_set_use_stderr
      Src: /src/glib/glib/tests/logging.c:80,1
    - Dst: g_critical
      Src: /src/glib/glib/tests/logging.c:82,1
    - Dst: exit
      Src: /src/glib/glib/tests/logging.c:83,1
    - Dst: g_log_set_default_handler
      Src: /src/glib/glib/tests/logging.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: test_default_handler_critical_stderr
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_critical
    - g_log_writer_default_set_use_stderr
    - g_log_set_default_handler
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void test_default_handler_critical_stderr (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_log_writer_default_set_use_stderr
      Src: /src/glib/glib/tests/logging.c:116,1
    - Dst: g_log_set_default_handler
      Src: /src/glib/glib/tests/logging.c:117,1
    - Dst: g_message
      Src: /src/glib/glib/tests/logging.c:118,1
    - Dst: exit
      Src: /src/glib/glib/tests/logging.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: test_default_handler_message
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_log_writer_default_set_use_stderr
    - g_message
    - g_log_set_default_handler
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void test_default_handler_message (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_log_writer_default_set_use_stderr
      Src: /src/glib/glib/tests/logging.c:176,1
    - Dst: g_log_set_default_handler
      Src: /src/glib/glib/tests/logging.c:177,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/logging.c:179,1
    - Dst: g_log
      Src: /src/glib/glib/tests/logging.c:181,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/logging.c:179,1
    - Dst: g_log
      Src: /src/glib/glib/tests/logging.c:182,1
    - Dst: g_log
      Src: /src/glib/glib/tests/logging.c:183,1
    - Dst: exit
      Src: /src/glib/glib/tests/logging.c:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 186
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 186
    functionName: test_default_handler_debug
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_log_set_default_handler
    - g_getenv
    - g_assert_cmpstr
    - g_log_writer_default_set_use_stderr
    - g_log
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void test_default_handler_debug (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_log_writer_default_set_debug_domains
      Src: /src/glib/glib/tests/logging.c:424,1
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/logging.c:427,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:430,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/logging.c:426,1
    - Dst: test_would_drop_robustness_random_domain
      Src: /src/glib/glib/tests/logging.c:430,1
    - Dst: g_atomic_int_set
      Src: /src/glib/glib/tests/logging.c:432,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/logging.c:433,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/logging.c:434,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 435
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 435
    functionName: test_default_handler_would_drop_robustness
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - g_thread_new
    - g_atomic_int_set
    - test_would_drop_robustness_random_domain
    - g_log_writer_default_set_debug_domains
    - g_thread_join
    - g_log_writer_default_would_drop
    linkageType: ''
    returnType: void
    signature: 'static void test_default_handler_would_drop_robustness (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_get_environ
      Src: /src/glib/glib/tests/logging.c:479,1
    - Dst: g_environ_unsetenv
      Src: /src/glib/glib/tests/logging.c:484,1
    - Dst: g_environ_setenv
      Src: /src/glib/glib/tests/logging.c:482,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/logging.c:482,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/logging.c:484,1
    - Dst: g_environ_setenv
      Src: /src/glib/glib/tests/logging.c:487,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/logging.c:487,1
    - Dst: g_environ_unsetenv
      Src: /src/glib/glib/tests/logging.c:489,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/logging.c:489,1
    - Dst: g_test_trap_subprocess_with_envp
      Src: /src/glib/glib/tests/logging.c:491,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/logging.c:493,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 3
    argNames:
    - test_path
    - g_messages_debug
    - debug_invocation
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 494
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 494
    functionName: test_trap_subprocess_with_logging_envp
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_environ_unsetenv
    - g_steal_pointer
    - g_test_trap_subprocess_with_envp
    - g_strfreev
    - g_environ_setenv
    - g_get_environ
    linkageType: ''
    returnType: void
    signature: 'static void test_trap_subprocess_with_logging_envp (const char *test_path,
      const char *g_messages_debug, const char *debug_invocation) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_fixed_array
      Src: /src/glib/glib/tests/logging.c:1040,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/tests/logging.c:1043,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/logging.c:1040,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/logging.c:1042,1
    - Dst: g_variant_builder_init
      Src: /src/glib/glib/tests/logging.c:1042,1
    - Dst: g_variant_new_string
      Src: /src/glib/glib/tests/logging.c:1043,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/tests/logging.c:1044,1
    - Dst: g_variant_new_string
      Src: /src/glib/glib/tests/logging.c:1044,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/tests/logging.c:1045,1
    - Dst: g_variant_new_string
      Src: /src/glib/glib/tests/logging.c:1045,1
    - Dst: g_variant_builder_end
      Src: /src/glib/glib/tests/logging.c:1048,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/tests/logging.c:1046,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1049
    functionName: create_variant_fields
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_variant_new_fixed_array
    - G_N_ELEMENTS
    - g_variant_new_string
    - g_variant_builder_init
    - g_variant_builder_end
    - g_variant_builder_add
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *create_variant_fields (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_log_writer_default_set_use_stderr
      Src: /src/glib/glib/tests/logging.c:89,1
    - Dst: g_critical
      Src: /src/glib/glib/tests/logging.c:91,1
    - Dst: g_log_set_default_handler
      Src: /src/glib/glib/tests/logging.c:90,1
    - Dst: exit
      Src: /src/glib/glib/tests/logging.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: test_default_handler_critical
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_critical
    - g_log_writer_default_set_use_stderr
    - g_log_set_default_handler
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void test_default_handler_critical (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_log_writer_default_set_use_stderr
      Src: /src/glib/glib/tests/logging.c:125,1
    - Dst: g_log_set_default_handler
      Src: /src/glib/glib/tests/logging.c:126,1
    - Dst: g_message
      Src: /src/glib/glib/tests/logging.c:127,1
    - Dst: exit
      Src: /src/glib/glib/tests/logging.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: test_default_handler_message_stderr
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_log_writer_default_set_use_stderr
    - g_message
    - g_log_set_default_handler
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void test_default_handler_message_stderr (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_log_writer_default_set_use_stderr
      Src: /src/glib/glib/tests/logging.c:191,1
    - Dst: g_log
      Src: /src/glib/glib/tests/logging.c:196,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/logging.c:194,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/logging.c:194,1
    - Dst: g_log_set_default_handler
      Src: /src/glib/glib/tests/logging.c:192,1
    - Dst: g_log
      Src: /src/glib/glib/tests/logging.c:197,1
    - Dst: g_log
      Src: /src/glib/glib/tests/logging.c:198,1
    - Dst: exit
      Src: /src/glib/glib/tests/logging.c:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 201
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 201
    functionName: test_default_handler_debug_stderr
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_log_set_default_handler
    - g_getenv
    - g_assert_cmpstr
    - g_log_writer_default_set_use_stderr
    - g_log
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void test_default_handler_debug_stderr (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_log_writer_default_set_use_stderr
      Src: /src/glib/glib/tests/logging.c:440,1
    - Dst: g_log
      Src: /src/glib/glib/tests/logging.c:442,1
    - Dst: g_log_set_default_handler
      Src: /src/glib/glib/tests/logging.c:441,1
    - Dst: exit
      Src: /src/glib/glib/tests/logging.c:443,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 444
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 444
    functionName: test_default_handler_0x400
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_log
    - g_log_writer_default_set_use_stderr
    - g_log_set_default_handler
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void test_default_handler_0x400 (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: compare_fields
      Src: /src/glib/glib/tests/logging.c:823,1
    - Dst: g_slist_delete_link
      Src: /src/glib/glib/tests/logging.c:825,1
    - Dst: g_test_fail_printf
      Src: /src/glib/glib/tests/logging.c:832,1
    - Dst: g_log_writer_format_fields
      Src: /src/glib/glib/tests/logging.c:831,1
    - Dst: g_free
      Src: /src/glib/glib/tests/logging.c:833,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - log_level
    - fields
    - n_fields
    - user_data
    argTypes:
    - GLogLevelFlags
    - GLogField*
    - gsize
    - gpointer
    constantsTouched: []
    func_position:
      end: 837
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 837
    functionName: expect_log_writer
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_slist_delete_link
    - g_test_fail_printf
    - g_log_writer_format_fields
    - compare_fields
    - g_free
    linkageType: ''
    returnType: GLogWriterOutput
    signature: 'static GLogWriterOutput expect_log_writer (GLogLevelFlags log_level,
      const GLogField *fields, gsize n_fields, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/logging.c:1056,1
    - Dst: g_log_set_writer_func
      Src: /src/glib/glib/tests/logging.c:1061,1
    - Dst: create_variant_fields
      Src: /src/glib/glib/tests/logging.c:1058,1
    - Dst: g_log_variant
      Src: /src/glib/glib/tests/logging.c:1063,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/logging.c:1064,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/logging.c:1065,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/logging.c:1069,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/logging.c:1070,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1072
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1072
    functionName: test_structured_logging_variant1
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_passed
    - g_log_set_writer_func
    - g_variant_unref
    - g_log_variant
    - g_test_trap_subprocess
    - create_variant_fields
    - g_test_subprocess
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_structured_logging_variant1 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_log_writer_default_set_use_stderr
      Src: /src/glib/glib/tests/logging.c:449,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/logging.c:451,1
    - Dst: g_log_structured_array
      Src: /src/glib/glib/tests/logging.c:466,1
    - Dst: g_log_set_default_handler
      Src: /src/glib/glib/tests/logging.c:450,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/logging.c:451,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/logging.c:466,1
    - Dst: g_log_structured_array
      Src: /src/glib/glib/tests/logging.c:467,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/logging.c:467,1
    - Dst: exit
      Src: /src/glib/glib/tests/logging.c:469,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 470
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 470
    functionName: test_default_handler_structured_logging_non_nul_terminated_strings
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_log_set_default_handler
    - g_getenv
    - G_N_ELEMENTS
    - g_assert_cmpstr
    - g_log_structured_array
    - g_log_writer_default_set_use_stderr
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void test_default_handler_structured_logging_non_nul_terminated_strings
      (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_log_set_handler
      Src: /src/glib/glib/tests/logging.c:48,1
    - Dst: g_log
      Src: /src/glib/glib/tests/logging.c:51,1
    - Dst: g_log
      Src: /src/glib/glib/tests/logging.c:53,1
    - Dst: g_log
      Src: /src/glib/glib/tests/logging.c:50,1
    - Dst: g_log
      Src: /src/glib/glib/tests/logging.c:52,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/logging.c:55,1
    - Dst: g_log_remove_handler
      Src: /src/glib/glib/tests/logging.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 58
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 58
    functionName: test_set_handler
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_log_set_handler
    - g_log
    - g_log_remove_handler
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_set_handler (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_log_writer_default_set_use_stderr
      Src: /src/glib/glib/tests/logging.c:152,1
    - Dst: g_log_set_default_handler
      Src: /src/glib/glib/tests/logging.c:153,1
    - Dst: g_log
      Src: /src/glib/glib/tests/logging.c:157,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/logging.c:155,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/logging.c:155,1
    - Dst: exit
      Src: /src/glib/glib/tests/logging.c:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 159
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 159
    functionName: test_default_handler_bar_info
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_log_set_default_handler
    - g_getenv
    - g_assert_cmpstr
    - g_log_writer_default_set_use_stderr
    - g_log
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void test_default_handler_bar_info (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/logging.c:224,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/logging.c:224,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:226,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:226,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:227,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:227,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:228,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:228,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:229,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:229,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:230,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:230,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:231,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:232,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:232,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 233
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 233
    functionName: test_default_handler_would_drop_env4
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_getenv
    - g_log_writer_default_would_drop
    - g_assert_false
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void test_default_handler_would_drop_env4 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/logging.c:252,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:254,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/logging.c:252,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:255,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:254,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:255,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:256,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:256,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:257,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:257,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/logging.c:258,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:259,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/logging.c:259,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:260,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:260,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 261
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 261
    functionName: test_default_handler_would_drop_env2
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_getenv
    - g_assert_cmpstr
    - g_assert_false
    - g_log_writer_default_would_drop
    linkageType: ''
    returnType: void
    signature: 'static void test_default_handler_would_drop_env2 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:286,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:288,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:297,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:311,1
    - Dst: g_log_writer_default_set_debug_domains
      Src: /src/glib/glib/tests/logging.c:378,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/logging.c:280,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:285,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:296,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:310,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:361,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:369,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:381,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/logging.c:334,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:299,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/logging.c:342,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/logging.c:318,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/logging.c:370,1
    - Dst: g_log_writer_default_set_debug_domains
      Src: /src/glib/glib/tests/logging.c:384,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:350,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/logging.c:287,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/logging.c:298,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:369,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:282,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:293,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:327,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:334,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:342,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:318,1
    - Dst: g_log_writer_default_set_debug_domains
      Src: /src/glib/glib/tests/logging.c:303,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:351,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/logging.c:372,1
    - Dst: exit
      Src: /src/glib/glib/tests/logging.c:388,1
    - Dst: g_log_writer_default_set_debug_domains
      Src: /src/glib/glib/tests/logging.c:324,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:359,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:350,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:371,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:386,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:311,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/logging.c:280,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:284,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/logging.c:291,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:288,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:295,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:307,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:309,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:360,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/logging.c:380,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:306,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:335,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:352,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:359,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/logging.c:343,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/logging.c:319,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:308,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:283,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:294,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:373,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/logging.c:286,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/logging.c:297,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:299,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/logging.c:385,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:285,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:296,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:310,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:361,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/logging.c:381,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:305,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:370,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:385,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/logging.c:326,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:287,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:298,1
    - Dst: g_log_writer_default_set_debug_domains
      Src: /src/glib/glib/tests/logging.c:367,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:380,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:282,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:293,1
    - Dst: g_log_writer_default_set_debug_domains
      Src: /src/glib/glib/tests/logging.c:340,1
    - Dst: g_log_writer_default_set_debug_domains
      Src: /src/glib/glib/tests/logging.c:316,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:307,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:327,1
    - Dst: g_log_writer_default_set_debug_domains
      Src: /src/glib/glib/tests/logging.c:332,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:351,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:305,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:372,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:326,1
    - Dst: g_log_writer_default_set_debug_domains
      Src: /src/glib/glib/tests/logging.c:348,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/logging.c:371,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/logging.c:386,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:284,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:295,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:309,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:360,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:335,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:308,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:343,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:283,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:294,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:306,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:319,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/logging.c:352,1
    - Dst: g_log_writer_default_set_debug_domains
      Src: /src/glib/glib/tests/logging.c:357,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/logging.c:373,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 115
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 389
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 389
    functionName: test_default_handler_would_drop
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_assert_null
    - g_getenv
    - g_setenv
    - g_log_writer_default_set_debug_domains
    - g_assert_false
    - g_log_writer_default_would_drop
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void test_default_handler_would_drop (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_trap_subprocess_with_logging_envp
      Src: /src/glib/glib/tests/logging.c:504,1
    - Dst: test_trap_subprocess_with_logging_envp
      Src: /src/glib/glib/tests/logging.c:509,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/logging.c:512,1
    - Dst: test_trap_subprocess_with_logging_envp
      Src: /src/glib/glib/tests/logging.c:529,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/logging.c:522,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/logging.c:517,1
    - Dst: test_trap_subprocess_with_logging_envp
      Src: /src/glib/glib/tests/logging.c:534,1
    - Dst: test_trap_subprocess_with_logging_envp
      Src: /src/glib/glib/tests/logging.c:539,1
    - Dst: g_test_trap_assert_stdout_unmatched
      Src: /src/glib/glib/tests/logging.c:542,1
    - Dst: g_test_trap_assert_stderr_unmatched
      Src: /src/glib/glib/tests/logging.c:547,1
    - Dst: test_trap_subprocess_with_logging_envp
      Src: /src/glib/glib/tests/logging.c:575,1
    - Dst: test_trap_subprocess_with_logging_envp
      Src: /src/glib/glib/tests/logging.c:579,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/glib/tests/logging.c:562,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/logging.c:526,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/logging.c:521,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/logging.c:516,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/logging.c:541,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/logging.c:546,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/logging.c:551,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/logging.c:572,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/logging.c:577,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/logging.c:581,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/logging.c:601,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/logging.c:605,1
    - Dst: test_trap_subprocess_with_logging_envp
      Src: /src/glib/glib/tests/logging.c:603,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/glib/tests/logging.c:612,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/logging.c:609,1
    - Dst: test_trap_subprocess_with_logging_envp
      Src: /src/glib/glib/tests/logging.c:599,1
    - Dst: test_trap_subprocess_with_logging_envp
      Src: /src/glib/glib/tests/logging.c:564,1
    - Dst: test_trap_subprocess_with_logging_envp
      Src: /src/glib/glib/tests/logging.c:607,1
    - Dst: test_trap_subprocess_with_logging_envp
      Src: /src/glib/glib/tests/logging.c:499,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/logging.c:502,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/logging.c:507,1
    - Dst: test_trap_subprocess_with_logging_envp
      Src: /src/glib/glib/tests/logging.c:514,1
    - Dst: test_trap_subprocess_with_logging_envp
      Src: /src/glib/glib/tests/logging.c:524,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/logging.c:527,1
    - Dst: test_trap_subprocess_with_logging_envp
      Src: /src/glib/glib/tests/logging.c:519,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/logging.c:532,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/logging.c:537,1
    - Dst: test_trap_subprocess_with_logging_envp
      Src: /src/glib/glib/tests/logging.c:544,1
    - Dst: g_test_trap_assert_stdout_unmatched
      Src: /src/glib/glib/tests/logging.c:567,1
    - Dst: test_trap_subprocess_with_logging_envp
      Src: /src/glib/glib/tests/logging.c:554,1
    - Dst: g_test_trap_assert_stdout_unmatched
      Src: /src/glib/glib/tests/logging.c:610,1
    - Dst: test_trap_subprocess_with_logging_envp
      Src: /src/glib/glib/tests/logging.c:583,1
    - Dst: test_trap_subprocess_with_logging_envp
      Src: /src/glib/glib/tests/logging.c:549,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/logging.c:589,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/logging.c:585,1
    - Dst: test_trap_subprocess_with_logging_envp
      Src: /src/glib/glib/tests/logging.c:591,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/logging.c:597,1
    - Dst: test_trap_subprocess_with_logging_envp
      Src: /src/glib/glib/tests/logging.c:587,1
    - Dst: test_trap_subprocess_with_logging_envp
      Src: /src/glib/glib/tests/logging.c:570,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/logging.c:506,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/logging.c:501,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/logging.c:511,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/logging.c:531,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/logging.c:536,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/logging.c:556,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/glib/tests/logging.c:557,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/logging.c:561,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/logging.c:566,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/glib/tests/logging.c:552,1
    - Dst: test_trap_subprocess_with_logging_envp
      Src: /src/glib/glib/tests/logging.c:595,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/logging.c:593,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/glib/tests/logging.c:573,1
    - Dst: test_trap_subprocess_with_logging_envp
      Src: /src/glib/glib/tests/logging.c:559,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/logging.c:568,1
    - Dst: g_test_trap_assert_stdout_unmatched
      Src: /src/glib/glib/tests/logging.c:611,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 68
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 613
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 613
    functionName: test_default_handler
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_passed
    - g_test_trap_assert_failed
    - test_trap_subprocess_with_logging_envp
    - g_test_trap_assert_stdout_unmatched
    - g_test_trap_assert_stderr
    - g_test_trap_assert_stderr_unmatched
    - g_test_trap_assert_stdout
    linkageType: ''
    returnType: void
    signature: 'static void test_default_handler (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/logging.c:753,1
    - Dst: g_warning
      Src: /src/glib/glib/tests/logging.c:755,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/logging.c:759,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/logging.c:758,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/logging.c:760,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 761
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 761
    functionName: test_gibberish
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_failed
    - g_warning
    - g_test_trap_assert_stderr
    - g_test_trap_subprocess
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_gibberish (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/logging.c:901,1
    - Dst: g_log
      Src: /src/glib/glib/tests/logging.c:907,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/logging.c:910,1
    - Dst: g_log_structured
      Src: /src/glib/glib/tests/logging.c:908,1
    - Dst: g_log_set_writer_func
      Src: /src/glib/glib/tests/logging.c:904,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/logging.c:914,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/logging.c:915,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 917
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 917
    functionName: test_structured_logging_robustness
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_passed
    - g_log_structured
    - g_log_set_writer_func
    - g_test_trap_subprocess
    - g_log
    - g_test_subprocess
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_structured_logging_robustness (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_log_writer_default_set_use_stderr
      Src: /src/glib/glib/tests/logging.c:164,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/logging.c:167,1
    - Dst: g_log_set_default_handler
      Src: /src/glib/glib/tests/logging.c:165,1
    - Dst: g_log
      Src: /src/glib/glib/tests/logging.c:169,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/logging.c:167,1
    - Dst: exit
      Src: /src/glib/glib/tests/logging.c:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 171
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 171
    functionName: test_default_handler_baz_debug
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_log_set_default_handler
    - g_getenv
    - g_assert_cmpstr
    - g_log_writer_default_set_use_stderr
    - g_log
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void test_default_handler_baz_debug (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/logging.c:238,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:240,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:240,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/logging.c:238,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:241,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:241,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:242,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:242,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:243,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:243,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:245,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:244,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:246,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:246,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:244,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 247
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 247
    functionName: test_default_handler_would_drop_env3
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_getenv
    - g_log_writer_default_would_drop
    - g_assert_false
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void test_default_handler_would_drop_env3 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/logging.c:266,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:268,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:268,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/logging.c:266,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:269,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:269,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:270,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:270,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:271,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:271,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/logging.c:273,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/logging.c:274,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:272,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:274,1
    - Dst: g_log_writer_default_would_drop
      Src: /src/glib/glib/tests/logging.c:273,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/logging.c:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 275
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 275
    functionName: test_default_handler_would_drop_env1
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_assert_null
    - g_getenv
    - g_assert_false
    - g_log_writer_default_would_drop
    linkageType: ''
    returnType: void
    signature: 'static void test_default_handler_would_drop_env1 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/logging.c:395,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/logging.c:395,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 396
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 396
    functionName: test_would_drop_robustness_random_domain
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - g_random_int_range
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *test_would_drop_robustness_random_domain (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/logging.c:618,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/logging.c:621,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/logging.c:621,1
    - Dst: g_log_set_fatal_mask
      Src: /src/glib/glib/tests/logging.c:620,1
    - Dst: g_log
      Src: /src/glib/glib/tests/logging.c:622,1
    - Dst: test_trap_subprocess_with_logging_envp
      Src: /src/glib/glib/tests/logging.c:625,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/logging.c:626,1
    - Dst: g_test_trap_assert_stdout_unmatched
      Src: /src/glib/glib/tests/logging.c:628,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 629
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 629
    functionName: test_fatal_log_mask
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_failed
    - test_trap_subprocess_with_logging_envp
    - g_assert_null
    - g_getenv
    - g_test_trap_assert_stdout_unmatched
    - g_log_set_fatal_mask
    - g_log
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_fatal_log_mask (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 4
    argNames:
    - log_level
    - fields
    - n_fields
    - user_data
    argTypes:
    - GLogLevelFlags
    - GLogField*
    - gsize
    - gpointer
    constantsTouched: []
    func_position:
      end: 771
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 771
    functionName: null_log_writer
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GLogWriterOutput
    signature: 'static GLogWriterOutput null_log_writer (GLogLevelFlags log_level,
      const GLogField *fields, gsize n_fields, gpointer user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/glib/tests/logging.c:781,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/logging.c:787,1
    - Dst: memcmp
      Src: /src/glib/glib/tests/logging.c:789,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - f1
    - f2
    argTypes:
    - GLogField*
    - GLogField*
    constantsTouched: []
    func_position:
      end: 790
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 790
    functionName: compare_field
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - strcmp
    - memcmp
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean compare_field (const GLogField *f1, const GLogField
      *f2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/logging.c:924,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/logging.c:926,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/logging.c:939,1
    - Dst: g_log_set_writer_func
      Src: /src/glib/glib/tests/logging.c:945,1
    - Dst: g_slist_append
      Src: /src/glib/glib/tests/logging.c:944,1
    - Dst: g_log_structured
      Src: /src/glib/glib/tests/logging.c:947,1
    - Dst: g_log_writer_format_fields
      Src: /src/glib/glib/tests/logging.c:958,1
    - Dst: g_test_fail_printf
      Src: /src/glib/glib/tests/logging.c:959,1
    - Dst: g_free
      Src: /src/glib/glib/tests/logging.c:960,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/logging.c:965,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/logging.c:966,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 968
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 968
    functionName: test_structured_logging_roundtrip1
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_passed
    - g_log_structured
    - g_log_set_writer_func
    - GUINT_TO_POINTER
    - g_test_fail_printf
    - g_snprintf
    - g_log_writer_format_fields
    - g_test_trap_subprocess
    - g_test_subprocess
    - g_slist_append
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_structured_logging_roundtrip1 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/logging.c:34,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/logging.c:35,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 4
    argNames:
    - log_domain
    - log_level
    - message
    - user_data
    argTypes:
    - gchar*
    - GLogLevelFlags
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 38
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 38
    functionName: log_handler
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_assert_cmpstr
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void log_handler (const gchar *log_domain, GLogLevelFlags log_level,
      const gchar *message, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/logging.c:1010,1
    - Dst: g_log_structured
      Src: /src/glib/glib/tests/logging.c:1022,1
    - Dst: g_slist_append
      Src: /src/glib/glib/tests/logging.c:1019,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/logging.c:1025,1
    - Dst: g_log_set_writer_func
      Src: /src/glib/glib/tests/logging.c:1020,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/logging.c:1029,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/logging.c:1030,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1032
      start: 1005
    functionDepth: 0
    functionLinenumber: 1005
    functionLinenumberEnd: 1032
    functionName: test_structured_logging_roundtrip3
    functionSourceFile: /src/glib/glib/tests/logging.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_passed
    - g_log_structured
    - g_log_set_writer_func
    - g_assert
    - g_test_trap_subprocess
    - g_test_subprocess
    - g_slist_append
    linkageType: ''
    returnType: void
    signature: 'static void test_structured_logging_roundtrip3 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_exit
      Src: /src/glib/glib/tests/thread.c:51,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/thread.c:51,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/thread.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: thread1_func
    functionSourceFile: /src/glib/glib/tests/thread.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    - GINT_TO_POINTER
    - g_thread_exit
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer thread1_func (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/thread.c:87,1
    - Dst: g_thread_self
      Src: /src/glib/glib/tests/thread.c:89,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/thread.c:93,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/thread.c:89,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/thread.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 94
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 94
    functionName: test_thread2
    functionSourceFile: /src/glib/glib/tests/thread.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_thread_self
    - g_thread_new
    - g_thread_join
    linkageType: ''
    returnType: void
    signature: 'static void test_thread2 (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/thread.c:108,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/thread.c:113,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/thread.c:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 114
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 114
    functionName: thread3_func
    functionSourceFile: /src/glib/glib/tests/thread.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - GINT_TO_POINTER
    - g_thread_join
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer thread3_func (gpointer data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_test_incomplete
      Src: /src/glib/glib/tests/thread.c:139,1
    - Dst: getpid
      Src: /src/glib/glib/tests/thread.c:148,1
    - Dst: g_error
      Src: /src/glib/glib/tests/thread.c:149,1
    - Dst: getrlimit
      Src: /src/glib/glib/tests/thread.c:145,1
    - Dst: prlimit
      Src: /src/glib/glib/tests/thread.c:148,1
    - Dst: g_strerror
      Src: /src/glib/glib/tests/thread.c:150,1
    - Dst: g_thread_try_new
      Src: /src/glib/glib/tests/thread.c:153,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/thread.c:162,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/thread.c:165,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/thread.c:166,1
    - Dst: prlimit
      Src: /src/glib/glib/tests/thread.c:175,1
    - Dst: g_error
      Src: /src/glib/glib/tests/thread.c:176,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/thread.c:170,1
    - Dst: g_strerror
      Src: /src/glib/glib/tests/thread.c:176,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/thread.c:166,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/thread.c:171,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/thread.c:172,1
    - Dst: getpid
      Src: /src/glib/glib/tests/thread.c:175,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 178
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 178
    functionName: test_thread4
    functionSourceFile: /src/glib/glib/tests/thread.c
    functionUses: []
    functionsReached:
    - g_thread_try_new
    - GPOINTER_TO_INT
    - g_test_incomplete
    - g_assert
    - getrlimit
    - getpid
    - g_strerror
    - g_assert_error
    - g_error_free
    - g_thread_join
    - g_error
    - g_test_skip
    - prlimit
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_thread4 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_getname_np
      Src: /src/glib/glib/tests/thread.c:198,1
    - Dst: g_thread_self
      Src: /src/glib/glib/tests/thread.c:202,1
    - Dst: pthread_self
      Src: /src/glib/glib/tests/thread.c:198,1
    - Dst: g_thread_get_name
      Src: /src/glib/glib/tests/thread.c:202,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/thread.c:200,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/thread.c:204,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 208
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 208
    functionName: thread6_func
    functionSourceFile: /src/glib/glib/tests/thread.c
    functionUses: []
    functionsReached:
    - pthread_self
    - g_thread_get_name
    - g_assert_cmpstr
    - g_thread_self
    - pthread_getname_np
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer thread6_func (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/thread.c:185,1
    - Dst: g_thread_ref
      Src: /src/glib/glib/tests/thread.c:186,1
    - Dst: g_thread_unref
      Src: /src/glib/glib/tests/thread.c:188,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/thread.c:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 189
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 189
    functionName: test_thread5
    functionSourceFile: /src/glib/glib/tests/thread.c
    functionUses: []
    functionsReached:
    - g_thread_ref
    - g_thread_unref
    - g_thread_new
    - g_thread_join
    linkageType: ''
    returnType: void
    signature: 'static void test_thread5 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/thread.c:215,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/thread.c:216,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 217
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 217
    functionName: test_thread6
    functionSourceFile: /src/glib/glib/tests/thread.c
    functionUses: []
    functionsReached:
    - g_thread_new
    - g_thread_join
    linkageType: ''
    returnType: void
    signature: 'static void test_thread6 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/thread.c:251,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/thread.c:254,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/thread.c:254,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/thread.c:256,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/thread.c:252,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 258
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 258
    functionName: test_thread7
    functionSourceFile: /src/glib/glib/tests/thread.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_thread_new
    - g_thread_join
    - g_test_skip
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_thread7 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/thread.c:263,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/thread.c:266,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/thread.c:267,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/thread.c:265,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/thread.c:268,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/thread.c:269,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/thread.c:270,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/thread.c:271,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/thread.c:273,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 274
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 274
    functionName: main
    functionSourceFile: /src/glib/glib/tests/thread.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_self
      Src: /src/glib/glib/tests/thread.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: thread2_func
    functionSourceFile: /src/glib/glib/tests/thread.c
    functionUses: []
    functionsReached:
    - g_thread_self
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer thread2_func (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_try_new
      Src: /src/glib/glib/tests/thread.c:66,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/thread.c:71,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/thread.c:71,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/thread.c:69,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/thread.c:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 72
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 72
    functionName: test_thread1
    functionSourceFile: /src/glib/glib/tests/thread.c
    functionUses: []
    functionsReached:
    - g_thread_try_new
    - GPOINTER_TO_INT
    - g_assert_no_error
    - g_thread_join
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_thread1 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/thread.c:123,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/thread.c:129,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/thread.c:127,1
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/thread.c:124,1
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/thread.c:125,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/thread.c:129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 130
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 130
    functionName: test_thread3
    functionSourceFile: /src/glib/glib/tests/thread.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_assert_cmpint
    - g_thread_new
    - g_thread_join
    linkageType: ''
    returnType: void
    signature: 'static void test_thread3 (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/glib/glib/tests/thread.c:224,1
    - Dst: pthread_getaffinity_np
      Src: /src/glib/glib/tests/thread.c:228,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/thread.c:230,1
    - Dst: pthread_self
      Src: /src/glib/glib/tests/thread.c:228,1
    - Dst: CPU_ZERO
      Src: /src/glib/glib/tests/thread.c:229,1
    - Dst: CPU_ISSET
      Src: /src/glib/glib/tests/thread.c:233,1
    - Dst: CPU_SET
      Src: /src/glib/glib/tests/thread.c:235,1
    - Dst: pthread_setaffinity_np
      Src: /src/glib/glib/tests/thread.c:239,1
    - Dst: pthread_self
      Src: /src/glib/glib/tests/thread.c:239,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/thread.c:240,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/thread.c:243,1
    - Dst: g_get_num_processors
      Src: /src/glib/glib/tests/thread.c:242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 244
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 244
    functionName: thread7_func
    functionSourceFile: /src/glib/glib/tests/thread.c
    functionUses: []
    functionsReached:
    - CPU_ISSET
    - pthread_self
    - pthread_setaffinity_np
    - CPU_ZERO
    - pthread_getaffinity_np
    - g_get_num_processors
    - GINT_TO_POINTER
    - CPU_SET
    - sysconf
    - g_assert_cmpint
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer thread7_func (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_append
      Src: /src/glib/glib/tests/markup-parse.c:17,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - extra
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 20
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 20
    functionName: indent
    functionSourceFile: /src/glib/glib/tests/markup-parse.c
    functionUses: []
    functionsReached:
    - g_string_append
    linkageType: ''
    returnType: void
    signature: 'static void indent (int extra) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: indent
      Src: /src/glib/glib/tests/markup-parse.c:57,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/tests/markup-parse.c:58,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - context
    - element_name
    - user_data
    - error
    argTypes:
    - GMarkupParseContext*
    - gchar*
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 59
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 59
    functionName: end_element_handler
    functionSourceFile: /src/glib/glib/tests/markup-parse.c
    functionUses: []
    functionsReached:
    - g_string_append_printf
    - indent
    linkageType: ''
    returnType: void
    signature: 'static void end_element_handler (GMarkupParseContext *context, const
      gchar *element_name, gpointer user_data, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: indent
      Src: /src/glib/glib/tests/markup-parse.c:80,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/tests/markup-parse.c:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 5
    argNames:
    - context
    - passthrough_text
    - text_len
    - user_data
    - error
    argTypes:
    - GMarkupParseContext*
    - gchar*
    - gsize
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 83
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 83
    functionName: passthrough_handler
    functionSourceFile: /src/glib/glib/tests/markup-parse.c
    functionUses: []
    functionsReached:
    - g_string_append_printf
    - indent
    linkageType: ''
    returnType: void
    signature: 'static void passthrough_handler (GMarkupParseContext *context, const
      gchar *passthrough_text, gsize text_len, gpointer user_data, GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/markup-parse.c:167,1
    - Dst: memcpy
      Src: /src/glib/glib/tests/markup-parse.c:172,1
    - Dst: g_markup_parse_context_new
      Src: /src/glib/glib/tests/markup-parse.c:175,1
    - Dst: g_markup_parse_context_get_user_data
      Src: /src/glib/glib/tests/markup-parse.c:176,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/markup-parse.c:224,1
    - Dst: g_markup_parse_context_get_position
      Src: /src/glib/glib/tests/markup-parse.c:177,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/markup-parse.c:178,1
    - Dst: g_markup_parse_context_parse
      Src: /src/glib/glib/tests/markup-parse.c:181,1
    - Dst: test_in_chunks
      Src: /src/glib/glib/tests/markup-parse.c:201,1
    - Dst: g_free
      Src: /src/glib/glib/tests/markup-parse.c:213,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/markup-parse.c:217,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/markup-parse.c:218,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/tests/markup-parse.c:166,1
    - Dst: g_malloc
      Src: /src/glib/glib/tests/markup-parse.c:170,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/markup-parse.c:179,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/markup-parse.c:191,1
    - Dst: g_free
      Src: /src/glib/glib/tests/markup-parse.c:214,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/markup-parse.c:176,1
    - Dst: g_markup_parse_context_free
      Src: /src/glib/glib/tests/markup-parse.c:186,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/markup-parse.c:192,1
    - Dst: test_in_chunks
      Src: /src/glib/glib/tests/markup-parse.c:196,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/markup-parse.c:206,1
    - Dst: test_in_chunks
      Src: /src/glib/glib/tests/markup-parse.c:208,1
    - Dst: g_markup_parse_context_end_parse
      Src: /src/glib/glib/tests/markup-parse.c:182,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 2
    argNames:
    - filename
    - flags
    argTypes:
    - gchar*
    - GMarkupParseFlags
    constantsTouched: []
    func_position:
      end: 227
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 227
    functionName: test_file
    functionSourceFile: /src/glib/glib/tests/markup-parse.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_steal_pointer
    - g_markup_parse_context_get_position
    - g_markup_parse_context_end_parse
    - test_in_chunks
    - g_assert
    - G_N_ELEMENTS
    - g_markup_parse_context_get_user_data
    - g_malloc
    - g_assert_no_error
    - g_string_free
    - g_file_get_contents
    - g_markup_parse_context_new
    - g_string_new
    - g_markup_parse_context_parse
    - g_markup_parse_context_free
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean test_file (const gchar *filename, GMarkupParseFlags
      flags) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/tests/markup-parse.c:235,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/markup-parse.c:244,1
    - Dst: g_strconcat
      Src: /src/glib/glib/tests/markup-parse.c:240,1
    - Dst: g_strconcat
      Src: /src/glib/glib/tests/markup-parse.c:242,1
    - Dst: strstr
      Src: /src/glib/glib/tests/markup-parse.c:236,1
    - Dst: g_free
      Src: /src/glib/glib/tests/markup-parse.c:246,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 249
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 249
    functionName: get_expected_filename
    functionSourceFile: /src/glib/glib/tests/markup-parse.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_strconcat
    - g_assert_not_reached
    - g_free
    - strstr
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *get_expected_filename (const gchar *filename, GMarkupParseFlags
      flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: indent
      Src: /src/glib/glib/tests/markup-parse.c:32,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/tests/markup-parse.c:33,1
    - Dst: indent
      Src: /src/glib/glib/tests/markup-parse.c:38,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/tests/markup-parse.c:40,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 6
    argNames:
    - context
    - element_name
    - attribute_names
    - attribute_values
    - user_data
    - error
    argTypes:
    - GMarkupParseContext*
    - gchar*
    - gchar**
    - gchar**
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 48
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 48
    functionName: start_element_handler
    functionSourceFile: /src/glib/glib/tests/markup-parse.c
    functionUses: []
    functionsReached:
    - g_string_append_printf
    - indent
    linkageType: ''
    returnType: void
    signature: 'static void start_element_handler (GMarkupParseContext *context, const
      gchar *element_name, const gchar **attribute_names, const gchar **attribute_values,
      gpointer user_data, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: indent
      Src: /src/glib/glib/tests/markup-parse.c:68,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/tests/markup-parse.c:69,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 5
    argNames:
    - context
    - text
    - text_len
    - user_data
    - error
    argTypes:
    - GMarkupParseContext*
    - gchar*
    - gsize
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 70
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionName: text_handler
    functionSourceFile: /src/glib/glib/tests/markup-parse.c
    functionUses: []
    functionsReached:
    - g_string_append_printf
    - indent
    linkageType: ''
    returnType: void
    signature: 'static void text_handler (GMarkupParseContext *context, const gchar
      *text, gsize text_len, gpointer user_data, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_append_printf
      Src: /src/glib/glib/tests/markup-parse.c:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - context
    - error
    - user_data
    argTypes:
    - GMarkupParseContext*
    - GError*
    - gpointer
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: error_handler
    functionSourceFile: /src/glib/glib/tests/markup-parse.c
    functionUses: []
    functionsReached:
    - g_string_append_printf
    linkageType: ''
    returnType: void
    signature: 'static void error_handler (GMarkupParseContext *context, GError *error,
      gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_file
      Src: /src/glib/glib/tests/markup-parse.c:285,1
    - Dst: g_free
      Src: /src/glib/glib/tests/markup-parse.c:296,1
    - Dst: get_expected_filename
      Src: /src/glib/glib/tests/markup-parse.c:262,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/tests/markup-parse.c:270,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/markup-parse.c:271,1
    - Dst: g_free
      Src: /src/glib/glib/tests/markup-parse.c:277,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/tests/markup-parse.c:283,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/markup-parse.c:289,1
    - Dst: g_free
      Src: /src/glib/glib/tests/markup-parse.c:291,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/markup-parse.c:272,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/tests/markup-parse.c:288,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/markup-parse.c:290,1
    - Dst: get_expected_filename
      Src: /src/glib/glib/tests/markup-parse.c:279,1
    - Dst: strstr
      Src: /src/glib/glib/tests/markup-parse.c:261,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/markup-parse.c:268,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/tests/markup-parse.c:265,1
    - Dst: test_file
      Src: /src/glib/glib/tests/markup-parse.c:267,1
    - Dst: g_free
      Src: /src/glib/glib/tests/markup-parse.c:273,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/markup-parse.c:275,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/markup-parse.c:280,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/markup-parse.c:286,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/markup-parse.c:293,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 297
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 297
    functionName: test_parse
    functionSourceFile: /src/glib/glib/tests/markup-parse.c
    functionUses: []
    functionsReached:
    - get_expected_filename
    - g_assert_cmpstr
    - g_assert_no_error
    - g_string_free
    - g_file_get_contents
    - g_string_sized_new
    - g_file_test
    - g_free
    - strstr
    - test_file
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_parse (gconstpointer d) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_setenv
      Src: /src/glib/glib/tests/markup-parse.c:307,1
    - Dst: g_test_init
      Src: /src/glib/glib/tests/markup-parse.c:310,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/markup-parse.c:308,1
    - Dst: g_print
      Src: /src/glib/glib/tests/markup-parse.c:325,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/markup-parse.c:346,1
    - Dst: g_test_add_data_func_full
      Src: /src/glib/glib/tests/markup-parse.c:340,1
    - Dst: g_free
      Src: /src/glib/glib/tests/markup-parse.c:342,1
    - Dst: g_dir_close
      Src: /src/glib/glib/tests/markup-parse.c:344,1
    - Dst: g_dir_read_name
      Src: /src/glib/glib/tests/markup-parse.c:334,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/markup-parse.c:318,1
    - Dst: g_string_sized_new
      Src: /src/glib/glib/tests/markup-parse.c:323,1
    - Dst: test_file
      Src: /src/glib/glib/tests/markup-parse.c:324,1
    - Dst: g_test_build_filename
      Src: /src/glib/glib/tests/markup-parse.c:330,1
    - Dst: g_dir_open
      Src: /src/glib/glib/tests/markup-parse.c:331,1
    - Dst: g_free
      Src: /src/glib/glib/tests/markup-parse.c:332,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/markup-parse.c:339,1
    - Dst: g_test_build_filename
      Src: /src/glib/glib/tests/markup-parse.c:340,1
    - Dst: strstr
      Src: /src/glib/glib/tests/markup-parse.c:336,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/markup-parse.c:333,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 347
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 347
    functionName: main
    functionSourceFile: /src/glib/glib/tests/markup-parse.c
    functionUses: []
    functionsReached:
    - g_dir_open
    - g_strdup_printf
    - g_test_build_filename
    - g_setenv
    - g_test_add_data_func_full
    - strcmp
    - g_free
    - g_test_run
    - setlocale
    - g_assert_no_error
    - g_dir_read_name
    - g_print
    - g_string_sized_new
    - g_dir_close
    - g_test_init
    - strstr
    - test_file
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_markup_parse_context_new
      Src: /src/glib/glib/tests/markup-parse.c:118,1
    - Dst: g_markup_parse_context_parse
      Src: /src/glib/glib/tests/markup-parse.c:124,1
    - Dst: g_markup_parse_context_free
      Src: /src/glib/glib/tests/markup-parse.c:129,1
    - Dst: g_markup_parse_context_end_parse
      Src: /src/glib/glib/tests/markup-parse.c:136,1
    - Dst: MIN
      Src: /src/glib/glib/tests/markup-parse.c:122,1
    - Dst: g_markup_parse_context_free
      Src: /src/glib/glib/tests/markup-parse.c:138,1
    - Dst: g_markup_parse_context_free
      Src: /src/glib/glib/tests/markup-parse.c:142,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - contents
    - length
    - chunk_size
    - flags
    argTypes:
    - gchar*
    - gint
    - gint
    - GMarkupParseFlags
    constantsTouched: []
    func_position:
      end: 145
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 145
    functionName: test_in_chunks
    functionSourceFile: /src/glib/glib/tests/markup-parse.c
    functionUses: []
    functionsReached:
    - g_markup_parse_context_end_parse
    - MIN
    - g_markup_parse_context_new
    - g_markup_parse_context_parse
    - g_markup_parse_context_free
    linkageType: ''
    returnType: int
    signature: 'static int test_in_chunks (const gchar *contents, gint length, gint
      chunk_size, GMarkupParseFlags flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_new
      Src: /src/glib/glib/tests/bytes.c:55,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/tests/bytes.c:57,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/bytes.c:58,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:57,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/bytes.c:56,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/bytes.c:59,1
    - Dst: g_bytes_get_size
      Src: /src/glib/glib/tests/bytes.c:59,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/bytes.c:60,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/tests/bytes.c:60,1
    - Dst: g_bytes_get_size
      Src: /src/glib/glib/tests/bytes.c:60,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 63
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 63
    functionName: test_new
    functionSourceFile: /src/glib/glib/tests/bytes.c
    functionUses: []
    functionsReached:
    - g_bytes_new
    - g_assert_true
    - g_assert_nonnull
    - g_assert_cmpuint
    - g_bytes_unref
    - g_bytes_get_size
    - g_assert_cmpmem
    - g_bytes_get_data
    linkageType: ''
    returnType: void
    signature: 'static void test_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/bytes.c:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 176
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 176
    functionName: on_destroy_increment
    functionSourceFile: /src/glib/glib/tests/bytes.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    linkageType: ''
    returnType: void
    signature: 'static void on_destroy_increment (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_new
      Src: /src/glib/glib/tests/bytes.c:304,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/tests/bytes.c:306,1
    - Dst: g_bytes_unref_to_data
      Src: /src/glib/glib/tests/bytes.c:307,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:308,1
    - Dst: g_bytes_ref
      Src: /src/glib/glib/tests/bytes.c:305,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/bytes.c:309,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bytes.c:310,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:311,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/tests/bytes.c:311,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/bytes.c:312,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/bytes.c:313,1
    - Dst: g_bytes_get_size
      Src: /src/glib/glib/tests/bytes.c:313,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 315
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 315
    functionName: test_to_data_two_refs
    functionSourceFile: /src/glib/glib/tests/bytes.c
    functionUses: []
    functionsReached:
    - g_bytes_new
    - g_assert_true
    - g_bytes_unref_to_data
    - g_assert_cmpuint
    - g_bytes_unref
    - g_bytes_get_size
    - g_bytes_ref
    - g_assert_cmpmem
    - g_free
    - g_bytes_get_data
    linkageType: ''
    returnType: void
    signature: 'static void test_to_data_two_refs (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_new_static
      Src: /src/glib/glib/tests/bytes.c:436,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/tests/bytes.c:437,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/bytes.c:439,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:437,1
    - Dst: g_bytes_unref_to_array
      Src: /src/glib/glib/tests/bytes.c:438,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:440,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/bytes.c:441,1
    - Dst: g_byte_array_unref
      Src: /src/glib/glib/tests/bytes.c:442,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 443
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 443
    functionName: test_to_array_non_malloc
    functionSourceFile: /src/glib/glib/tests/bytes.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_byte_array_unref
    - g_assert_nonnull
    - g_bytes_new_static
    - g_bytes_unref_to_array
    - g_assert_cmpmem
    - g_bytes_get_data
    linkageType: ''
    returnType: void
    signature: 'static void test_to_array_non_malloc (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_get_region
      Src: /src/glib/glib/tests/bytes.c:477,1
    - Dst: g_bytes_get_region
      Src: /src/glib/glib/tests/bytes.c:481,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:484,1
    - Dst: g_bytes_get_region
      Src: /src/glib/glib/tests/bytes.c:484,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:487,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:490,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:491,1
    - Dst: g_bytes_get_region
      Src: /src/glib/glib/tests/bytes.c:495,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:496,1
    - Dst: g_bytes_new_static
      Src: /src/glib/glib/tests/bytes.c:474,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:478,1
    - Dst: g_bytes_get_region
      Src: /src/glib/glib/tests/bytes.c:478,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:481,1
    - Dst: g_bytes_get_region
      Src: /src/glib/glib/tests/bytes.c:491,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:494,1
    - Dst: g_bytes_get_region
      Src: /src/glib/glib/tests/bytes.c:490,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:477,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:498,1
    - Dst: g_bytes_get_region
      Src: /src/glib/glib/tests/bytes.c:487,1
    - Dst: g_bytes_get_region
      Src: /src/glib/glib/tests/bytes.c:494,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:495,1
    - Dst: g_bytes_get_region
      Src: /src/glib/glib/tests/bytes.c:496,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 42
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 499
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 499
    functionName: test_get_region
    functionSourceFile: /src/glib/glib/tests/bytes.c
    functionUses: []
    functionsReached:
    - g_bytes_get_region
    - g_bytes_new_static
    - g_assert_true
    - g_bytes_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_get_region (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/tests/bytes.c:72,1
    - Dst: g_bytes_new_take
      Src: /src/glib/glib/tests/bytes.c:73,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:75,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/bytes.c:74,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/tests/bytes.c:75,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/bytes.c:76,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/bytes.c:77,1
    - Dst: g_bytes_get_size
      Src: /src/glib/glib/tests/bytes.c:77,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 80
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 80
    functionName: test_new_take
    functionSourceFile: /src/glib/glib/tests/bytes.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_strdup
    - g_assert_nonnull
    - g_assert_cmpuint
    - g_bytes_unref
    - g_bytes_get_size
    - g_bytes_new_take
    - g_bytes_get_data
    linkageType: ''
    returnType: void
    signature: 'static void test_new_take (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_new_with_free_func
      Src: /src/glib/glib/tests/bytes.c:187,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:190,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bytes.c:189,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/bytes.c:188,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/tests/bytes.c:190,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/bytes.c:191,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/bytes.c:192,1
    - Dst: g_bytes_get_size
      Src: /src/glib/glib/tests/bytes.c:192,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:194,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/bytes.c:195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 196
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 196
    functionName: test_new_with_free_func
    functionSourceFile: /src/glib/glib/tests/bytes.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_assert_nonnull
    - g_assert_cmpuint
    - g_bytes_unref
    - g_bytes_get_size
    - g_bytes_new_with_free_func
    - g_bytes_get_data
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_new_with_free_func (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_new_static
      Src: /src/glib/glib/tests/bytes.c:325,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:326,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/tests/bytes.c:326,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:328,1
    - Dst: g_bytes_unref_to_data
      Src: /src/glib/glib/tests/bytes.c:327,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/bytes.c:329,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bytes.c:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 331
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 331
    functionName: test_to_data_non_malloc
    functionSourceFile: /src/glib/glib/tests/bytes.c
    functionUses: []
    functionsReached:
    - g_bytes_unref_to_data
    - g_assert_true
    - g_bytes_new_static
    - g_assert_cmpmem
    - g_free
    - g_bytes_get_data
    linkageType: ''
    returnType: void
    signature: 'static void test_to_data_non_malloc (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_new
      Src: /src/glib/glib/tests/bytes.c:452,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/tests/bytes.c:453,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/bytes.c:457,1
    - Dst: g_bytes_unref_to_data
      Src: /src/glib/glib/tests/bytes.c:455,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/bytes.c:453,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/bytes.c:458,1
    - Dst: g_bytes_new
      Src: /src/glib/glib/tests/bytes.c:460,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/bytes.c:461,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/tests/bytes.c:461,1
    - Dst: g_bytes_unref_to_data
      Src: /src/glib/glib/tests/bytes.c:463,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/bytes.c:465,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/bytes.c:466,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 467
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 467
    functionName: test_null
    functionSourceFile: /src/glib/glib/tests/bytes.c
    functionUses: []
    functionsReached:
    - g_bytes_new
    - g_bytes_unref_to_data
    - g_assert_null
    - g_assert_cmpuint
    - g_bytes_get_data
    linkageType: ''
    returnType: void
    signature: 'static void test_null (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/bytes.c:504,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:505,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 506
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 506
    functionName: test_unref_null
    functionSourceFile: /src/glib/glib/tests/bytes.c
    functionUses: []
    functionsReached:
    - g_test_summary
    - g_bytes_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_unref_null (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/bytes.c:515,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/bytes.c:513,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/bytes.c:517,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/bytes.c:519,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/bytes.c:530,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/bytes.c:528,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/bytes.c:526,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/bytes.c:524,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/bytes.c:522,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/bytes.c:532,1
    - Dst: g_test_init
      Src: /src/glib/glib/tests/bytes.c:511,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/bytes.c:516,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/bytes.c:514,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/bytes.c:518,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/bytes.c:520,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/bytes.c:521,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/bytes.c:529,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/bytes.c:527,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/bytes.c:525,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/bytes.c:523,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/bytes.c:531,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/bytes.c:535,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/bytes.c:533,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 536
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 536
    functionName: main
    functionSourceFile: /src/glib/glib/tests/bytes.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_new
      Src: /src/glib/glib/tests/bytes.c:206,1
    - Dst: g_bytes_new
      Src: /src/glib/glib/tests/bytes.c:207,1
    - Dst: g_bytes_hash
      Src: /src/glib/glib/tests/bytes.c:210,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/bytes.c:211,1
    - Dst: g_bytes_hash
      Src: /src/glib/glib/tests/bytes.c:209,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:213,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:214,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 215
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 215
    functionName: test_hash
    functionSourceFile: /src/glib/glib/tests/bytes.c
    functionUses: []
    functionsReached:
    - g_bytes_new
    - g_bytes_hash
    - g_assert_cmpuint
    - g_bytes_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_hash (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bytes.c:252,1
    - Dst: g_bytes_compare
      Src: /src/glib/glib/tests/bytes.c:264,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bytes.c:264,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:265,1
    - Dst: g_bytes_compare
      Src: /src/glib/glib/tests/bytes.c:268,1
    - Dst: g_bytes_new
      Src: /src/glib/glib/tests/bytes.c:271,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bytes.c:272,1
    - Dst: g_bytes_compare
      Src: /src/glib/glib/tests/bytes.c:272,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:253,1
    - Dst: g_bytes_compare
      Src: /src/glib/glib/tests/bytes.c:252,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bytes.c:256,1
    - Dst: g_bytes_compare
      Src: /src/glib/glib/tests/bytes.c:256,1
    - Dst: g_bytes_new
      Src: /src/glib/glib/tests/bytes.c:259,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:261,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:273,1
    - Dst: g_bytes_new
      Src: /src/glib/glib/tests/bytes.c:249,1
    - Dst: g_bytes_new
      Src: /src/glib/glib/tests/bytes.c:251,1
    - Dst: g_bytes_new
      Src: /src/glib/glib/tests/bytes.c:255,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:257,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bytes.c:268,1
    - Dst: g_bytes_compare
      Src: /src/glib/glib/tests/bytes.c:260,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bytes.c:260,1
    - Dst: g_bytes_new
      Src: /src/glib/glib/tests/bytes.c:263,1
    - Dst: g_bytes_new
      Src: /src/glib/glib/tests/bytes.c:267,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:269,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 276
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 276
    functionName: test_compare
    functionSourceFile: /src/glib/glib/tests/bytes.c
    functionUses: []
    functionsReached:
    - g_bytes_new
    - g_bytes_compare
    - g_bytes_unref
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_compare (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_new
      Src: /src/glib/glib/tests/bytes.c:223,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:227,1
    - Dst: g_bytes_new
      Src: /src/glib/glib/tests/bytes.c:225,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:228,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bytes.c:231,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bytes.c:236,1
    - Dst: g_bytes_equal
      Src: /src/glib/glib/tests/bytes.c:227,1
    - Dst: g_bytes_equal
      Src: /src/glib/glib/tests/bytes.c:231,1
    - Dst: g_bytes_equal
      Src: /src/glib/glib/tests/bytes.c:236,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:226,1
    - Dst: g_bytes_new
      Src: /src/glib/glib/tests/bytes.c:230,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:238,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bytes.c:232,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/bytes.c:237,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:233,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:240,1
    - Dst: g_bytes_equal
      Src: /src/glib/glib/tests/bytes.c:226,1
    - Dst: g_bytes_new
      Src: /src/glib/glib/tests/bytes.c:235,1
    - Dst: g_bytes_equal
      Src: /src/glib/glib/tests/bytes.c:232,1
    - Dst: g_bytes_equal
      Src: /src/glib/glib/tests/bytes.c:237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 241
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 241
    functionName: test_equal
    functionSourceFile: /src/glib/glib/tests/bytes.c
    functionUses: []
    functionsReached:
    - g_bytes_new
    - g_assert_true
    - g_bytes_unref
    - g_assert_false
    - g_bytes_equal
    linkageType: ''
    returnType: void
    signature: 'static void test_equal (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_new
      Src: /src/glib/glib/tests/bytes.c:287,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/tests/bytes.c:288,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:290,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/bytes.c:291,1
    - Dst: g_bytes_unref_to_data
      Src: /src/glib/glib/tests/bytes.c:289,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bytes.c:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 293
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 293
    functionName: test_to_data_transferred
    functionSourceFile: /src/glib/glib/tests/bytes.c
    functionUses: []
    functionsReached:
    - g_bytes_new
    - g_assert_true
    - g_bytes_unref_to_data
    - g_assert_cmpmem
    - g_free
    - g_bytes_get_data
    linkageType: ''
    returnType: void
    signature: 'static void test_to_data_transferred (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/glib/tests/bytes.c:123,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bytes.c:129,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/bytes.c:133,1
    - Dst: g_bytes_get_size
      Src: /src/glib/glib/tests/bytes.c:138,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bytes.c:141,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bytes.c:144,1
    - Dst: strncmp
      Src: /src/glib/glib/tests/bytes.c:145,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:148,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:151,1
    - Dst: strncmp
      Src: /src/glib/glib/tests/bytes.c:144,1
    - Dst: g_bytes_new_from_bytes
      Src: /src/glib/glib/tests/bytes.c:125,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bytes.c:130,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:134,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:135,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bytes.c:138,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bytes.c:140,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:136,1
    - Dst: g_bytes_get_size
      Src: /src/glib/glib/tests/bytes.c:140,1
    - Dst: g_bytes_get_size
      Src: /src/glib/glib/tests/bytes.c:141,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bytes.c:143,1
    - Dst: g_bytes_new_from_bytes
      Src: /src/glib/glib/tests/bytes.c:124,1
    - Dst: g_bytes_new_from_bytes
      Src: /src/glib/glib/tests/bytes.c:126,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bytes.c:128,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bytes.c:131,1
    - Dst: strncmp
      Src: /src/glib/glib/tests/bytes.c:143,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bytes.c:146,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:150,1
    - Dst: g_bytes_new_static
      Src: /src/glib/glib/tests/bytes.c:123,1
    - Dst: g_bytes_get_size
      Src: /src/glib/glib/tests/bytes.c:139,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bytes.c:139,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bytes.c:145,1
    - Dst: strncmp
      Src: /src/glib/glib/tests/bytes.c:146,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:149,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 152
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 152
    functionName: test_new_from_bytes_slice
    functionSourceFile: /src/glib/glib/tests/bytes.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - strlen
    - g_assert_null
    - g_bytes_new_static
    - g_bytes_unref
    - strncmp
    - g_bytes_get_size
    - g_bytes_new_from_bytes
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_new_from_bytes_slice (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/tests/bytes.c:339,1
    - Dst: g_bytes_new_with_free_func
      Src: /src/glib/glib/tests/bytes.c:342,1
    - Dst: g_bytes_unref_to_data
      Src: /src/glib/glib/tests/bytes.c:345,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/tests/bytes.c:343,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:343,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:346,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/bytes.c:347,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bytes.c:348,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 355
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 355
    functionName: test_to_data_different_free_func
    functionSourceFile: /src/glib/glib/tests/bytes.c
    functionUses: []
    functionsReached:
    - g_bytes_unref_to_data
    - g_strdup
    - g_assert_true
    - g_free
    - g_assert_cmpmem
    - g_bytes_new_with_free_func
    - g_bytes_get_data
    linkageType: ''
    returnType: void
    signature: 'static void test_to_data_different_free_func (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_new
      Src: /src/glib/glib/tests/bytes.c:365,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:369,1
    - Dst: g_bytes_unref_to_array
      Src: /src/glib/glib/tests/bytes.c:367,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/tests/bytes.c:366,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/bytes.c:368,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/bytes.c:370,1
    - Dst: g_byte_array_unref
      Src: /src/glib/glib/tests/bytes.c:371,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 372
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 372
    functionName: test_to_array_transferred
    functionSourceFile: /src/glib/glib/tests/bytes.c
    functionUses: []
    functionsReached:
    - g_bytes_new
    - g_assert_true
    - g_byte_array_unref
    - g_assert_nonnull
    - g_bytes_unref_to_array
    - g_assert_cmpmem
    - g_bytes_get_data
    linkageType: ''
    returnType: void
    signature: 'static void test_to_array_transferred (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_new_static
      Src: /src/glib/glib/tests/bytes.c:90,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:92,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/bytes.c:93,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/bytes.c:91,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/tests/bytes.c:92,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/bytes.c:94,1
    - Dst: g_bytes_get_size
      Src: /src/glib/glib/tests/bytes.c:94,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 97
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 97
    functionName: test_new_static
    functionSourceFile: /src/glib/glib/tests/bytes.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_assert_nonnull
    - g_bytes_new_static
    - g_assert_cmpuint
    - g_bytes_unref
    - g_bytes_get_size
    - g_bytes_get_data
    linkageType: ''
    returnType: void
    signature: 'static void test_new_static (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_test_message
      Src: /src/glib/glib/tests/bytes.c:377,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/bytes.c:382,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/bytes.c:384,1
    - Dst: g_memdup2
      Src: /src/glib/glib/tests/bytes.c:388,1
    - Dst: g_bytes_new_take
      Src: /src/glib/glib/tests/bytes.c:391,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/bytes.c:392,1
    - Dst: g_bytes_unref_to_array
      Src: /src/glib/glib/tests/bytes.c:394,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/bytes.c:394,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/bytes.c:395,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/bytes.c:396,1
    - Dst: g_free
      Src: /src/glib/glib/tests/bytes.c:398,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/bytes.c:402,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 404
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 404
    functionName: test_to_array_transferred_oversize
    functionSourceFile: /src/glib/glib/tests/bytes.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_test_assert_expected_messages
    - g_assert_null
    - g_test_message
    - g_test_undefined
    - g_memdup2
    - g_test_expect_message
    - g_bytes_new_take
    - g_bytes_unref_to_array
    - g_test_skip
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_to_array_transferred_oversize (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_new
      Src: /src/glib/glib/tests/bytes.c:106,1
    - Dst: g_bytes_new_from_bytes
      Src: /src/glib/glib/tests/bytes.c:107,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/tests/bytes.c:110,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/bytes.c:109,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:110,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/tests/bytes.c:110,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:111,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/bytes.c:113,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/tests/bytes.c:113,1
    - Dst: g_bytes_get_size
      Src: /src/glib/glib/tests/bytes.c:113,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:114,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 115
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 115
    functionName: test_new_from_bytes
    functionSourceFile: /src/glib/glib/tests/bytes.c
    functionUses: []
    functionsReached:
    - g_bytes_new
    - g_assert_true
    - g_assert_nonnull
    - g_bytes_unref
    - g_bytes_get_size
    - g_assert_cmpmem
    - g_bytes_new_from_bytes
    - g_bytes_get_data
    linkageType: ''
    returnType: void
    signature: 'static void test_new_from_bytes (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_new
      Src: /src/glib/glib/tests/bytes.c:415,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/tests/bytes.c:417,1
    - Dst: g_bytes_unref_to_array
      Src: /src/glib/glib/tests/bytes.c:418,1
    - Dst: g_bytes_ref
      Src: /src/glib/glib/tests/bytes.c:416,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/bytes.c:419,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:420,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/bytes.c:421,1
    - Dst: g_byte_array_unref
      Src: /src/glib/glib/tests/bytes.c:422,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:423,1
    - Dst: g_bytes_get_data
      Src: /src/glib/glib/tests/bytes.c:423,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/bytes.c:424,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/bytes.c:425,1
    - Dst: g_bytes_get_size
      Src: /src/glib/glib/tests/bytes.c:425,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:426,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 427
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 427
    functionName: test_to_array_two_refs
    functionSourceFile: /src/glib/glib/tests/bytes.c
    functionUses: []
    functionsReached:
    - g_bytes_new
    - g_assert_true
    - g_byte_array_unref
    - g_assert_nonnull
    - g_assert_cmpuint
    - g_bytes_unref
    - g_bytes_get_size
    - g_bytes_unref_to_array
    - g_bytes_ref
    - g_assert_cmpmem
    - g_bytes_get_data
    linkageType: ''
    returnType: void
    signature: 'static void test_to_array_two_refs (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_new_static
      Src: /src/glib/glib/tests/bytes.c:160,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/bytes.c:163,1
    - Dst: g_bytes_new_from_bytes
      Src: /src/glib/glib/tests/bytes.c:161,1
    - Dst: g_bytes_get_size
      Src: /src/glib/glib/tests/bytes.c:161,1
    - Dst: strlen
      Src: /src/glib/glib/tests/bytes.c:160,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/bytes.c:164,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:166,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/bytes.c:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 168
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 168
    functionName: test_new_from_bytes_shared_ref
    functionSourceFile: /src/glib/glib/tests/bytes.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - strlen
    - g_bytes_new_static
    - g_bytes_unref
    - g_bytes_get_size
    - g_bytes_new_from_bytes
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_new_from_bytes_shared_ref (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode
      Src: /src/glib/glib/tests/unicode-normalize.c:77,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/unicode-normalize.c:78,1
    - Dst: test_form
      Src: /src/glib/glib/tests/unicode-normalize.c:82,1
    - Dst: test_form
      Src: /src/glib/glib/tests/unicode-normalize.c:83,1
    - Dst: test_form
      Src: /src/glib/glib/tests/unicode-normalize.c:81,1
    - Dst: test_form
      Src: /src/glib/glib/tests/unicode-normalize.c:84,1
    - Dst: test_form
      Src: /src/glib/glib/tests/unicode-normalize.c:85,1
    - Dst: test_form
      Src: /src/glib/glib/tests/unicode-normalize.c:86,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode-normalize.c:89,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - line
    - columns
    argTypes:
    - int
    - gchar**
    constantsTouched: []
    func_position:
      end: 90
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 90
    functionName: process_one
    functionSourceFile: /src/glib/glib/tests/unicode-normalize.c
    functionUses: []
    functionsReached:
    - test_form
    - g_assert_nonnull
    - g_free
    - decode
    linkageType: ''
    returnType: void
    signature: 'static void process_one (int line, gchar **columns) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/unicode-normalize.c:175,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/unicode-normalize.c:178,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/unicode-normalize.c:177,1
    - Dst: g_utf8_normalize
      Src: /src/glib/glib/tests/unicode-normalize.c:178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 182
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 182
    functionName: test_unicode_normalize_invalid
    functionSourceFile: /src/glib/glib/tests/unicode-normalize.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - g_utf8_normalize
    - g_assert_null
    - g_test_message
    linkageType: ''
    returnType: void
    signature: 'static void test_unicode_normalize_invalid (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/tests/unicode-normalize.c:13,1
    - Dst: g_string_append_unichar
      Src: /src/glib/glib/tests/unicode-normalize.c:18,1
    - Dst: sscanf
      Src: /src/glib/glib/tests/unicode-normalize.c:17,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/unicode-normalize.c:27,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode-normalize.c:17,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 28
    functionName: decode
    functionSourceFile: /src/glib/glib/tests/unicode-normalize.c
    functionUses: []
    functionsReached:
    - g_string_append_unichar
    - sscanf
    - g_string_free
    - g_string_new
    - g_assert_cmpint
    linkageType: ''
    returnType: char*
    signature: 'static char *decode (const gchar *input) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_normalize
      Src: /src/glib/glib/tests/unicode-normalize.c:53,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/unicode-normalize.c:54,1
    - Dst: g_utf8_normalize
      Src: /src/glib/glib/tests/unicode-normalize.c:62,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode-normalize.c:55,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/unicode-normalize.c:63,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode-normalize.c:64,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 6
    argNames:
    - line
    - mode
    - do_compat
    - expected
    - c
    - raw
    argTypes:
    - int
    - GNormalizeMode
    - gboolean
    - int
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 67
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 67
    functionName: test_form
    functionSourceFile: /src/glib/glib/tests/unicode-normalize.c
    functionUses: []
    functionsReached:
    - g_utf8_normalize
    - g_free
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: "static void test_form (int line,\t GNormalizeMode mode,\t gboolean\
      \ do_compat,\t int expected,\t char **c,\t char **raw) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/tests/unicode-normalize.c:98,1
    - Dst: g_test_build_filename
      Src: /src/glib/glib/tests/unicode-normalize.c:101,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/unicode-normalize.c:105,1
    - Dst: g_io_channel_new_file
      Src: /src/glib/glib/tests/unicode-normalize.c:104,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/unicode-normalize.c:102,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/unicode-normalize.c:106,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode-normalize.c:107,1
    - Dst: g_io_channel_read_line_string
      Src: /src/glib/glib/tests/unicode-normalize.c:114,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/unicode-normalize.c:123,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/unicode-normalize.c:127,1
    - Dst: g_string_truncate
      Src: /src/glib/glib/tests/unicode-normalize.c:138,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/unicode-normalize.c:145,1
    - Dst: g_io_channel_unref
      Src: /src/glib/glib/tests/unicode-normalize.c:144,1
    - Dst: process_one
      Src: /src/glib/glib/tests/unicode-normalize.c:134,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/unicode-normalize.c:142,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/unicode-normalize.c:135,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/unicode-normalize.c:130,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 146
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 146
    functionName: test_unicode_normalize
    functionSourceFile: /src/glib/glib/tests/unicode-normalize.c
    functionUses: []
    functionsReached:
    - g_io_channel_read_line_string
    - g_test_build_filename
    - g_io_channel_new_file
    - g_string_truncate
    - g_test_message
    - g_assert_nonnull
    - g_assert_no_error
    - g_strfreev
    - g_string_free
    - g_strsplit
    - g_string_new
    - g_io_channel_unref
    - g_free
    - process_one
    linkageType: ''
    returnType: void
    signature: 'static void test_unicode_normalize (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_normalize
      Src: /src/glib/glib/tests/unicode-normalize.c:191,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/unicode-normalize.c:192,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode-normalize.c:194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 195
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 195
    functionName: test_unicode_normalize_bad_length
    functionSourceFile: /src/glib/glib/tests/unicode-normalize.c
    functionUses: []
    functionsReached:
    - g_utf8_normalize
    - g_free
    - g_assert_null
    linkageType: ''
    returnType: void
    signature: 'static void test_unicode_normalize_bad_length (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/unicode-normalize.c:200,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode-normalize.c:205,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode-normalize.c:202,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/unicode-normalize.c:207,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode-normalize.c:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 208
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 208
    functionName: main
    functionSourceFile: /src/glib/glib/tests/unicode-normalize.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_printerr
      Src: /src/glib/glib/tests/markup-example.c:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - context
    - error
    - user_data
    argTypes:
    - GMarkupParseContext*
    - GError*
    - gpointer
    constantsTouched: []
    func_position:
      end: 127
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 127
    functionName: foo_parser_error
    functionSourceFile: /src/glib/glib/tests/markup-example.c
    functionUses: []
    functionsReached:
    - g_printerr
    linkageType: ''
    returnType: void
    signature: 'static void foo_parser_error (GMarkupParseContext *context, GError
      *error, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/glib/tests/markup-example.c:85,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - context
    - element_name
    - user_data
    - error
    argTypes:
    - GMarkupParseContext*
    - gchar*
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: foo_parser_end_element
    functionSourceFile: /src/glib/glib/tests/markup-example.c
    functionUses: []
    functionsReached:
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void foo_parser_end_element (GMarkupParseContext *context,
      const gchar *element_name, gpointer user_data, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_strlen
      Src: /src/glib/glib/tests/markup-example.c:147,1
    - Dst: g_print
      Src: /src/glib/glib/tests/markup-example.c:149,1
    - Dst: g_markup_parse_context_new
      Src: /src/glib/glib/tests/markup-example.c:151,1
    - Dst: g_markup_parse_context_parse
      Src: /src/glib/glib/tests/markup-example.c:153,1
    - Dst: g_print
      Src: /src/glib/glib/tests/markup-example.c:148,1
    - Dst: g_markup_parse_context_free
      Src: /src/glib/glib/tests/markup-example.c:155,1
    - Dst: g_print
      Src: /src/glib/glib/tests/markup-example.c:159,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/markup-example.c:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 167
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 167
    functionName: main
    functionSourceFile: /src/glib/glib/tests/markup-example.c
    functionUses: []
    functionsReached:
    - g_printerr
    - g_markup_parse_context_new
    - g_utf8_strlen
    - g_print
    - g_markup_parse_context_parse
    - g_markup_parse_context_free
    linkageType: ''
    returnType: int
    signature: 'int main (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/glib/tests/markup-example.c:67,1
    - Dst: g_print
      Src: /src/glib/glib/tests/markup-example.c:71,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 4
    argCount: 6
    argNames:
    - context
    - element_name
    - attribute_names
    - attribute_values
    - user_data
    - error
    argTypes:
    - GMarkupParseContext*
    - gchar*
    - gchar**
    - gchar**
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 74
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 74
    functionName: foo_parser_start_element
    functionSourceFile: /src/glib/glib/tests/markup-example.c
    functionUses: []
    functionsReached:
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void foo_parser_start_element (GMarkupParseContext *context,
      const gchar *element_name, const gchar **attribute_names, const gchar **attribute_values,
      gpointer user_data, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/glib/tests/markup-example.c:114,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - context
    - passthrough_text
    - text_len
    - user_data
    - error
    argTypes:
    - GMarkupParseContext*
    - gchar*
    - gsize
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 115
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 115
    functionName: foo_parser_passthrough
    functionSourceFile: /src/glib/glib/tests/markup-example.c
    functionUses: []
    functionsReached:
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void foo_parser_passthrough (GMarkupParseContext *context,
      const gchar *passthrough_text, gsize text_len, gpointer user_data, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/glib/tests/markup-example.c:98,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - context
    - text
    - text_len
    - user_data
    - error
    argTypes:
    - GMarkupParseContext*
    - gchar*
    - gsize
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: foo_parser_characters
    functionSourceFile: /src/glib/glib/tests/markup-example.c
    functionUses: []
    functionsReached:
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void foo_parser_characters (GMarkupParseContext *context, const
      gchar *text, gsize text_len, gpointer user_data, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_checksum_new
      Src: /src/glib/glib/tests/checksum.c:1041,1
    - Dst: MIN
      Src: /src/glib/glib/tests/checksum.c:1048,1
    - Dst: MIN
      Src: /src/glib/glib/tests/checksum.c:1043,1
    - Dst: g_checksum_update
      Src: /src/glib/glib/tests/checksum.c:1047,1
    - Dst: g_checksum_type_get_length
      Src: /src/glib/glib/tests/checksum.c:1051,1
    - Dst: sum_to_digest
      Src: /src/glib/glib/tests/checksum.c:1052,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/checksum.c:1053,1
    - Dst: g_malloc
      Src: /src/glib/glib/tests/checksum.c:1054,1
    - Dst: g_checksum_get_digest
      Src: /src/glib/glib/tests/checksum.c:1055,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/checksum.c:1056,1
    - Dst: g_free
      Src: /src/glib/glib/tests/checksum.c:1058,1
    - Dst: g_checksum_free
      Src: /src/glib/glib/tests/checksum.c:1063,1
    - Dst: g_checksum_reset
      Src: /src/glib/glib/tests/checksum.c:1060,1
    - Dst: g_free
      Src: /src/glib/glib/tests/checksum.c:1057,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1064
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1064
    functionName: test_checksum_reset
    functionSourceFile: /src/glib/glib/tests/checksum.c
    functionUses: []
    functionsReached:
    - g_checksum_get_digest
    - g_checksum_free
    - g_checksum_update
    - sum_to_digest
    - MIN
    - g_malloc
    - g_checksum_new
    - g_assert_cmpmem
    - g_checksum_reset
    - g_checksum_type_get_length
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_checksum_reset (gconstpointer d) '
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 5
    argCount: 1
    argNames:
    - c
    argTypes:
    - gchar
    constantsTouched: []
    func_position:
      end: 1011
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 1011
    functionName: hexval
    functionSourceFile: /src/glib/glib/tests/checksum.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint
    signature: 'static gint hexval (const gchar c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_compute_checksum_for_string
      Src: /src/glib/glib/tests/checksum.c:1080,1
    - Dst: g_free
      Src: /src/glib/glib/tests/checksum.c:1084,1
    - Dst: g_compute_checksum_for_string
      Src: /src/glib/glib/tests/checksum.c:1087,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/checksum.c:1090,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/checksum.c:1083,1
    - Dst: g_free
      Src: /src/glib/glib/tests/checksum.c:1091,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1092
      start: 1071
    functionDepth: 0
    functionLinenumber: 1071
    functionLinenumberEnd: 1092
    functionName: test_checksum_string
    functionSourceFile: /src/glib/glib/tests/checksum.c
    functionUses: []
    functionsReached:
    - g_compute_checksum_for_string
    - g_free
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void test_checksum_string (gconstpointer d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/glib/tests/checksum.c:1122,1
    - Dst: g_free
      Src: /src/glib/glib/tests/checksum.c:1129,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/checksum.c:1131,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/checksum.c:1127,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/checksum.c:1128,1
    - Dst: g_test_add_data_func_full
      Src: /src/glib/glib/tests/checksum.c:1132,1
    - Dst: g_free
      Src: /src/glib/glib/tests/checksum.c:1133,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - type
    - type_name
    - sum
    - length
    argTypes:
    - GChecksumType
    - char*
    - char*
    - gint
    constantsTouched: []
    func_position:
      end: 1134
      start: 1113
    functionDepth: 0
    functionLinenumber: 1113
    functionLinenumberEnd: 1134
    functionName: add_checksum_test
    functionSourceFile: /src/glib/glib/tests/checksum.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_test_add_data_func
    - g_test_add_data_func_full
    - g_new0
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void add_checksum_test (GChecksumType type, const char *type_name,
      const char *sum, gint length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/glib/tests/checksum.c:1161,1
    - Dst: g_free
      Src: /src/glib/glib/tests/checksum.c:1167,1
    - Dst: g_test_add_data_func_full
      Src: /src/glib/glib/tests/checksum.c:1166,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/checksum.c:1165,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - type
    - type_name
    - sums
    argTypes:
    - GChecksumType
    - gchar*
    - gchar**
    constantsTouched: []
    func_position:
      end: 1168
      start: 1153
    functionDepth: 0
    functionLinenumber: 1153
    functionLinenumberEnd: 1168
    functionName: add_checksum_bytes_test
    functionSourceFile: /src/glib/glib/tests/checksum.c
    functionUses: []
    functionsReached:
    - g_test_add_data_func_full
    - g_new0
    - g_strdup_printf
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void add_checksum_bytes_test (GChecksumType type, const gchar
      *type_name, const gchar **sums) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/glib/glib/tests/checksum.c:968,1
    - Dst: MIN
      Src: /src/glib/glib/tests/checksum.c:974,1
    - Dst: g_checksum_copy
      Src: /src/glib/glib/tests/checksum.c:976,1
    - Dst: g_checksum_new
      Src: /src/glib/glib/tests/checksum.c:970,1
    - Dst: g_checksum_update
      Src: /src/glib/glib/tests/checksum.c:973,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/checksum.c:977,1
    - Dst: g_checksum_get_string
      Src: /src/glib/glib/tests/checksum.c:977,1
    - Dst: g_checksum_free
      Src: /src/glib/glib/tests/checksum.c:978,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/checksum.c:980,1
    - Dst: g_checksum_get_string
      Src: /src/glib/glib/tests/checksum.c:980,1
    - Dst: g_checksum_free
      Src: /src/glib/glib/tests/checksum.c:981,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 983
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 983
    functionName: test_checksum
    functionSourceFile: /src/glib/glib/tests/checksum.c
    functionUses: []
    functionsReached:
    - g_checksum_free
    - g_checksum_update
    - MIN
    - g_assert_cmpstr
    - g_checksum_new
    - g_checksum_copy
    - g_checksum_get_string
    linkageType: ''
    returnType: void
    signature: 'static void test_checksum (gconstpointer d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/tests/checksum.c:1019,1
    - Dst: strlen
      Src: /src/glib/glib/tests/checksum.c:1020,1
    - Dst: hexval
      Src: /src/glib/glib/tests/checksum.c:1024,1
    - Dst: g_malloc
      Src: /src/glib/glib/tests/checksum.c:1022,1
    - Dst: strlen
      Src: /src/glib/glib/tests/checksum.c:1019,1
    - Dst: hexval
      Src: /src/glib/glib/tests/checksum.c:1024,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1028
    functionName: sum_to_digest
    functionSourceFile: /src/glib/glib/tests/checksum.c
    functionUses: []
    functionsReached:
    - g_assert
    - hexval
    - strlen
    - g_malloc
    linkageType: ''
    returnType: guint8*
    signature: 'static guint8 *sum_to_digest (const gchar *sum, gsize *len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_new_static
      Src: /src/glib/glib/tests/checksum.c:1104,1
    - Dst: g_compute_checksum_for_bytes
      Src: /src/glib/glib/tests/checksum.c:1105,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/checksum.c:1108,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/checksum.c:1106,1
    - Dst: g_free
      Src: /src/glib/glib/tests/checksum.c:1109,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1111
      start: 1094
    functionDepth: 0
    functionLinenumber: 1094
    functionLinenumberEnd: 1111
    functionName: test_checksum_bytes
    functionSourceFile: /src/glib/glib/tests/checksum.c
    functionUses: []
    functionsReached:
    - g_compute_checksum_for_bytes
    - g_bytes_new_static
    - g_assert_cmpstr
    - g_bytes_unref
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_checksum_bytes (gconstpointer d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/glib/tests/checksum.c:1144,1
    - Dst: g_free
      Src: /src/glib/glib/tests/checksum.c:1150,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/checksum.c:1148,1
    - Dst: g_test_add_data_func_full
      Src: /src/glib/glib/tests/checksum.c:1149,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - type
    - type_name
    - sums
    argTypes:
    - GChecksumType
    - gchar*
    - gchar**
    constantsTouched: []
    func_position:
      end: 1151
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1151
    functionName: add_checksum_string_test
    functionSourceFile: /src/glib/glib/tests/checksum.c
    functionUses: []
    functionsReached:
    - g_test_add_data_func_full
    - g_new0
    - g_strdup_printf
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void add_checksum_string_test (GChecksumType type, const gchar
      *type_name, const gchar **sums) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/checksum.c:1173,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/checksum.c:1174,1
    - Dst: g_checksum_type_get_length
      Src: /src/glib/glib/tests/checksum.c:1173,1
    - Dst: g_checksum_new
      Src: /src/glib/glib/tests/checksum.c:1174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1175
      start: 1170
    functionDepth: 0
    functionLinenumber: 1170
    functionLinenumberEnd: 1175
    functionName: test_unsupported
    functionSourceFile: /src/glib/glib/tests/checksum.c
    functionUses: []
    functionsReached:
    - g_checksum_type_get_length
    - g_assert
    - g_checksum_new
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_unsupported (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/checksum.c:1182,1
    - Dst: add_checksum_string_test
      Src: /src/glib/glib/tests/checksum.c:1188,1
    - Dst: add_checksum_test
      Src: /src/glib/glib/tests/checksum.c:1187,1
    - Dst: add_checksum_bytes_test
      Src: /src/glib/glib/tests/checksum.c:1189,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/checksum.c:1184,1
    - Dst: add_checksum_test
      Src: /src/glib/glib/tests/checksum.c:1192,1
    - Dst: add_checksum_string_test
      Src: /src/glib/glib/tests/checksum.c:1193,1
    - Dst: add_checksum_bytes_test
      Src: /src/glib/glib/tests/checksum.c:1194,1
    - Dst: add_checksum_test
      Src: /src/glib/glib/tests/checksum.c:1197,1
    - Dst: add_checksum_string_test
      Src: /src/glib/glib/tests/checksum.c:1198,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/checksum.c:1211,1
    - Dst: add_checksum_bytes_test
      Src: /src/glib/glib/tests/checksum.c:1199,1
    - Dst: add_checksum_bytes_test
      Src: /src/glib/glib/tests/checksum.c:1204,1
    - Dst: add_checksum_string_test
      Src: /src/glib/glib/tests/checksum.c:1203,1
    - Dst: add_checksum_test
      Src: /src/glib/glib/tests/checksum.c:1207,1
    - Dst: add_checksum_bytes_test
      Src: /src/glib/glib/tests/checksum.c:1209,1
    - Dst: add_checksum_string_test
      Src: /src/glib/glib/tests/checksum.c:1208,1
    - Dst: add_checksum_test
      Src: /src/glib/glib/tests/checksum.c:1202,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1212
      start: 1177
    functionDepth: 0
    functionLinenumber: 1177
    functionLinenumberEnd: 1212
    functionName: main
    functionSourceFile: /src/glib/glib/tests/checksum.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_run
    - add_checksum_string_test
    - add_checksum_bytes_test
    - add_checksum_test
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_copy
      Src: /src/glib/glib/tests/slice.c:12,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/slice.c:13,1
    - Dst: memcmp
      Src: /src/glib/glib/tests/slice.c:13,1
    - Dst: g_slice_free1
      Src: /src/glib/glib/tests/slice.c:14,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 15
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 15
    functionName: test_slice_copy
    functionSourceFile: /src/glib/glib/tests/slice.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_slice_copy
    - g_slice_free1
    - memcmp
    linkageType: ''
    returnType: G_GNUC_BEGIN_IGNORE_DEPRECATIONS
    signature: 'G_GNUC_BEGIN_IGNORE_DEPRECATIONS static void test_slice_copy (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/slice.c:53,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/slice.c:54,1
    - Dst: g_atomic_pointer_compare_and_exchange
      Src: /src/glib/glib/tests/slice.c:61,1
    - Dst: g_slice_alloc
      Src: /src/glib/glib/tests/slice.c:60,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/glib/tests/slice.c:57,1
    - Dst: g_slice_free1
      Src: /src/glib/glib/tests/slice.c:62,1
    - Dst: g_atomic_pointer_compare_and_exchange
      Src: /src/glib/glib/tests/slice.c:66,1
    - Dst: g_slice_free1
      Src: /src/glib/glib/tests/slice.c:67,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 72
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 72
    functionName: thread_allocate
    functionSourceFile: /src/glib/glib/tests/slice.c
    functionUses: []
    functionsReached:
    - g_atomic_pointer_get
    - g_slice_free1
    - g_atomic_pointer_compare_and_exchange
    - g_random_int_range
    - g_slice_alloc
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer thread_allocate (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/glib/tests/slice.c:30,1
    - Dst: g_slice_new
      Src: /src/glib/glib/tests/slice.c:33,1
    - Dst: g_slice_free_chain
      Src: /src/glib/glib/tests/slice.c:37,1
    - Dst: g_slice_new
      Src: /src/glib/glib/tests/slice.c:31,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 38
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 38
    functionName: test_chain
    functionSourceFile: /src/glib/glib/tests/slice.c
    functionUses: []
    functionsReached:
    - g_slice_new
    - g_slice_free_chain
    linkageType: ''
    returnType: void
    signature: 'static void test_chain (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/slice.c:95,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/slice.c:99,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/slice.c:97,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/slice.c:101,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/slice.c:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 102
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 102
    functionName: main
    functionSourceFile: /src/glib/glib/tests/slice.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/slice.c:85,1
    - Dst: g_thread_create
      Src: /src/glib/glib/tests/slice.c:86,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/slice.c:88,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/slice.c:89,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 90
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 90
    functionName: test_allocate
    functionSourceFile: /src/glib/glib/tests/slice.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - g_thread_create
    - g_thread_join
    linkageType: ''
    returnType: void
    signature: 'static void test_allocate (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_self
      Src: /src/glib/glib/tests/1bit-mutex.c:76,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/1bit-mutex.c:78,1
    - Dst: g_pointer_bit_trylock
      Src: /src/glib/glib/tests/1bit-mutex.c:81,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/1bit-mutex.c:84,1
    - Dst: g_bit_trylock
      Src: /src/glib/glib/tests/1bit-mutex.c:82,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/1bit-mutex.c:85,1
    - Dst: g_pointer_bit_lock
      Src: /src/glib/glib/tests/1bit-mutex.c:88,1
    - Dst: g_bit_lock
      Src: /src/glib/glib/tests/1bit-mutex.c:90,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/1bit-mutex.c:93,1
    - Dst: g_thread_yield
      Src: /src/glib/glib/tests/1bit-mutex.c:97,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/1bit-mutex.c:101,1
    - Dst: g_thread_yield
      Src: /src/glib/glib/tests/1bit-mutex.c:99,1
    - Dst: g_pointer_bit_unlock
      Src: /src/glib/glib/tests/1bit-mutex.c:105,1
    - Dst: g_thread_yield
      Src: /src/glib/glib/tests/1bit-mutex.c:98,1
    - Dst: g_bit_unlock
      Src: /src/glib/glib/tests/1bit-mutex.c:107,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - nr
    - use_pointers
    argTypes:
    - int
    - gboolean
    constantsTouched: []
    func_position:
      end: 108
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 108
    functionName: acquire
    functionSourceFile: /src/glib/glib/tests/1bit-mutex.c
    functionUses: []
    functionsReached:
    - g_thread_yield
    - g_printerr
    - g_assert
    - g_test_verbose
    - g_pointer_bit_unlock
    - g_bit_unlock
    - g_pointer_bit_lock
    - g_thread_self
    - g_bit_lock
    - g_bit_trylock
    - g_pointer_bit_trylock
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void acquire (int nr, gboolean use_pointers) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/1bit-mutex.c:130,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/1bit-mutex.c:140,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/1bit-mutex.c:150,1
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/1bit-mutex.c:149,1
    - Dst: g_random_int
      Src: /src/glib/glib/tests/1bit-mutex.c:146,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/1bit-mutex.c:153,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/1bit-mutex.c:157,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/1bit-mutex.c:158,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 160
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 160
    functionName: testcase
    functionSourceFile: /src/glib/glib/tests/1bit-mutex.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_assert
    - g_random_int
    - g_thread_new
    - GINT_TO_POINTER
    - g_thread_join
    linkageType: ''
    returnType: void
    signature: 'static void testcase (gconstpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/1bit-mutex.c:113,1
    - Dst: acquire
      Src: /src/glib/glib/tests/1bit-mutex.c:120,1
    - Dst: g_rand_int_range
      Src: /src/glib/glib/tests/1bit-mutex.c:120,1
    - Dst: g_rand_new
      Src: /src/glib/glib/tests/1bit-mutex.c:117,1
    - Dst: g_rand_free
      Src: /src/glib/glib/tests/1bit-mutex.c:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 125
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 125
    functionName: thread_func
    functionSourceFile: /src/glib/glib/tests/1bit-mutex.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_rand_int_range
    - g_rand_free
    - acquire
    - g_rand_new
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer thread_func (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/1bit-mutex.c:165,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/1bit-mutex.c:167,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/1bit-mutex.c:168,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/1bit-mutex.c:170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 171
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 171
    functionName: main
    functionSourceFile: /src/glib/glib/tests/1bit-mutex.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_data_func
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/tests/utf8-performance.c:61,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/tests/utf8-performance.c:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - gsize
    constantsTouched: []
    func_position:
      end: 67
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 67
    functionName: grind_get_char
    functionSourceFile: /src/glib/glib/tests/utf8-performance.c
    functionUses: []
    functionsReached:
    - g_utf8_next_char
    - g_utf8_get_char
    linkageType: ''
    returnType: int
    signature: 'static int grind_get_char (const char *str, gsize len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_to_ucs4
      Src: /src/glib/glib/tests/utf8-performance.c:123,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utf8-performance.c:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - gsize
    constantsTouched: []
    func_position:
      end: 128
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 128
    functionName: grind_utf8_to_ucs4_sized
    functionSourceFile: /src/glib/glib/tests/utf8-performance.c
    functionUses: []
    functionsReached:
    - g_utf8_to_ucs4
    - g_free
    linkageType: ''
    returnType: int
    signature: 'static int grind_utf8_to_ucs4_sized (const char *str, gsize len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_to_ucs4
      Src: /src/glib/glib/tests/utf8-performance.c:92,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utf8-performance.c:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - gsize
    constantsTouched: []
    func_position:
      end: 97
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 97
    functionName: grind_utf8_to_ucs4
    functionSourceFile: /src/glib/glib/tests/utf8-performance.c
    functionUses: []
    functionsReached:
    - g_utf8_to_ucs4
    - g_free
    linkageType: ''
    returnType: int
    signature: 'static int grind_utf8_to_ucs4 (const char *str, gsize len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_to_ucs4_fast
      Src: /src/glib/glib/tests/utf8-performance.c:149,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utf8-performance.c:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - gsize
    constantsTouched: []
    func_position:
      end: 154
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 154
    functionName: grind_utf8_to_ucs4_fast_sized
    functionSourceFile: /src/glib/glib/tests/utf8-performance.c
    functionUses: []
    functionsReached:
    - g_utf8_to_ucs4_fast
    - g_free
    linkageType: ''
    returnType: int
    signature: 'static int grind_utf8_to_ucs4_fast_sized (const char *str, gsize len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - gsize
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: grind_utf8_validate_sized
    functionSourceFile: /src/glib/glib/tests/utf8-performance.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int grind_utf8_validate_sized (const char *str, gsize len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/glib/tests/utf8-performance.c:190,1
    - Dst: g_test_timer_start
      Src: /src/glib/glib/tests/utf8-performance.c:193,1
    - Dst: g_test_maximized_result
      Src: /src/glib/glib/tests/utf8-performance.c:201,1
    - Dst: grind_func
      Src: /src/glib/glib/tests/utf8-performance.c:195,1
    - Dst: g_test_timer_elapsed
      Src: /src/glib/glib/tests/utf8-performance.c:197,1
    - Dst: g_slice_free
      Src: /src/glib/glib/tests/utf8-performance.c:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 204
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 204
    functionName: perform
    functionSourceFile: /src/glib/glib/tests/utf8-performance.c
    functionUses: []
    functionsReached:
    - grind_func
    - strlen
    - g_test_maximized_result
    - g_test_timer_elapsed
    - g_test_timer_start
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void perform (gconstpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_prev_char
      Src: /src/glib/glib/tests/utf8-performance.c:108,1
    - Dst: g_utf8_get_char
      Src: /src/glib/glib/tests/utf8-performance.c:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - gsize
    constantsTouched: []
    func_position:
      end: 115
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 115
    functionName: grind_get_char_backwards
    functionSourceFile: /src/glib/glib/tests/utf8-performance.c
    functionUses: []
    functionsReached:
    - g_utf8_prev_char
    - g_utf8_get_char
    linkageType: ''
    returnType: int
    signature: 'static int grind_get_char_backwards (const char *str, gsize len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_get_char_validated
      Src: /src/glib/glib/tests/utf8-performance.c:78,1
    - Dst: g_utf8_next_char
      Src: /src/glib/glib/tests/utf8-performance.c:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - gsize
    constantsTouched: []
    func_position:
      end: 84
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 84
    functionName: grind_get_char_validated
    functionSourceFile: /src/glib/glib/tests/utf8-performance.c
    functionUses: []
    functionsReached:
    - g_utf8_get_char_validated
    - g_utf8_next_char
    linkageType: ''
    returnType: int
    signature: 'static int grind_get_char_validated (const char *str, gsize len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_to_ucs4_fast
      Src: /src/glib/glib/tests/utf8-performance.c:136,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utf8-performance.c:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - gsize
    constantsTouched: []
    func_position:
      end: 141
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 141
    functionName: grind_utf8_to_ucs4_fast
    functionSourceFile: /src/glib/glib/tests/utf8-performance.c
    functionUses: []
    functionsReached:
    - g_utf8_to_ucs4_fast
    - g_free
    linkageType: ''
    returnType: int
    signature: 'static int grind_utf8_to_ucs4_fast (const char *str, gsize len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - gsize
    constantsTouched: []
    func_position:
      end: 163
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 163
    functionName: grind_utf8_validate
    functionSourceFile: /src/glib/glib/tests/utf8-performance.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int grind_utf8_validate (const char *str, gsize len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_CASE
      Src: /src/glib/glib/tests/utf8-performance.c:221,1
    - Dst: ADD_CASE
      Src: /src/glib/glib/tests/utf8-performance.c:224,1
    - Dst: ADD_CASE
      Src: /src/glib/glib/tests/utf8-performance.c:223,1
    - Dst: ADD_CASE
      Src: /src/glib/glib/tests/utf8-performance.c:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - path
    - func
    argTypes:
    - char*
    - GrindFunc
    constantsTouched: []
    func_position:
      end: 227
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 227
    functionName: add_cases
    functionSourceFile: /src/glib/glib/tests/utf8-performance.c
    functionUses: []
    functionsReached:
    - ADD_CASE
    linkageType: ''
    returnType: void
    signature: 'static void add_cases(const char *path, GrindFunc func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/utf8-performance.c:232,1
    - Dst: add_cases
      Src: /src/glib/glib/tests/utf8-performance.c:236,1
    - Dst: add_cases
      Src: /src/glib/glib/tests/utf8-performance.c:237,1
    - Dst: add_cases
      Src: /src/glib/glib/tests/utf8-performance.c:238,1
    - Dst: g_test_perf
      Src: /src/glib/glib/tests/utf8-performance.c:234,1
    - Dst: add_cases
      Src: /src/glib/glib/tests/utf8-performance.c:239,1
    - Dst: add_cases
      Src: /src/glib/glib/tests/utf8-performance.c:240,1
    - Dst: add_cases
      Src: /src/glib/glib/tests/utf8-performance.c:241,1
    - Dst: add_cases
      Src: /src/glib/glib/tests/utf8-performance.c:242,1
    - Dst: add_cases
      Src: /src/glib/glib/tests/utf8-performance.c:243,1
    - Dst: add_cases
      Src: /src/glib/glib/tests/utf8-performance.c:244,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/utf8-performance.c:246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 247
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 247
    functionName: main
    functionSourceFile: /src/glib/glib/tests/utf8-performance.c
    functionUses: []
    functionsReached:
    - add_cases
    - g_test_run
    - g_test_init
    - g_test_perf
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetErrorMode
      Src: /src/glib/glib/tests/win32.c:95,1
    - Dst: RaiseException
      Src: /src/glib/glib/tests/win32.c:97,1
    - Dst: SetErrorMode
      Src: /src/glib/glib/tests/win32.c:98,1
    - Dst: SetErrorMode
      Src: /src/glib/glib/tests/win32.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: test_illegal_instruction
    functionSourceFile: /src/glib/glib/tests/win32.c
    functionUses: []
    functionsReached:
    - RaiseException
    - SetErrorMode
    linkageType: ''
    returnType: void
    signature: 'static void test_illegal_instruction (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unsetenv
      Src: /src/glib/glib/tests/win32.c:104,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/win32.c:106,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/win32.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 109
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 109
    functionName: test_veh_crash_access_violation
    functionSourceFile: /src/glib/glib/tests/win32.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_failed
    - g_test_trap_subprocess
    - g_unsetenv
    linkageType: ''
    returnType: void
    signature: 'static void test_veh_crash_access_violation (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/win32.c:125,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/win32.c:126,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/win32.c:131,1
    - Dst: g_free
      Src: /src/glib/glib/tests/win32.c:132,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/win32.c:134,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/win32.c:136,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/win32.c:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 138
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 138
    functionName: test_veh_debug
    functionSourceFile: /src/glib/glib/tests/win32.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_failed
    - g_strdup_printf
    - g_setenv
    - g_test_trap_assert_stderr
    - g_test_trap_subprocess
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_veh_debug (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/glib/glib/tests/win32.c:151,1
    - Dst: SetEvent
      Src: /src/glib/glib/tests/win32.c:154,1
    - Dst: g_fprintf
      Src: /src/glib/glib/tests/win32.c:156,1
    - Dst: _strtoui64
      Src: /src/glib/glib/tests/win32.c:152,1
    - Dst: CloseHandle
      Src: /src/glib/glib/tests/win32.c:155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 157
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 157
    functionName: veh_debugger
    functionSourceFile: /src/glib/glib/tests/win32.c
    functionUses: []
    functionsReached:
    - g_fprintf
    - SetEvent
    - CloseHandle
    - _strtoui64
    - strtoul
    linkageType: ''
    returnType: void
    signature: 'static void veh_debugger (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/win32.c:52,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/win32.c:55,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/win32.c:62,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/tests/win32.c:64,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/tests/win32.c:70,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/win32.c:72,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/win32.c:52,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/win32.c:55,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/win32.c:58,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/win32.c:65,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/win32.c:68,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/win32.c:42,1
    - Dst: _g_win32_subst_pid_and_event_w
      Src: /src/glib/glib/tests/win32.c:58,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/win32.c:62,1
    - Dst: _g_win32_subst_pid_and_event_w
      Src: /src/glib/glib/tests/win32.c:62,1
    - Dst: g_free
      Src: /src/glib/glib/tests/win32.c:73,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/win32.c:43,1
    - Dst: _g_win32_subst_pid_and_event_w
      Src: /src/glib/glib/tests/win32.c:52,1
    - Dst: _g_win32_subst_pid_and_event_w
      Src: /src/glib/glib/tests/win32.c:55,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/win32.c:58,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/win32.c:68,1
    - Dst: _g_win32_subst_pid_and_event_w
      Src: /src/glib/glib/tests/win32.c:68,1
    - Dst: g_free
      Src: /src/glib/glib/tests/win32.c:66,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/win32.c:71,1
    - Dst: g_free
      Src: /src/glib/glib/tests/win32.c:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 75
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 75
    functionName: test_subst_pid_and_event
    functionSourceFile: /src/glib/glib/tests/win32.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - _g_win32_subst_pid_and_event_w
    - g_strdup_printf
    - G_N_ELEMENTS
    - g_assert_cmpstr
    - g_assert_false
    - g_free
    - g_utf16_to_utf8
    linkageType: ''
    returnType: void
    signature: 'static void test_subst_pid_and_event (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unsetenv
      Src: /src/glib/glib/tests/win32.c:114,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/win32.c:116,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/win32.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 119
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 119
    functionName: test_veh_crash_illegal_instruction
    functionSourceFile: /src/glib/glib/tests/win32.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_failed
    - g_test_trap_subprocess
    - g_unsetenv
    linkageType: ''
    returnType: void
    signature: 'static void test_veh_crash_illegal_instruction (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_access_violation
      Src: /src/glib/glib/tests/win32.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: test_veh_debuggee
    functionSourceFile: /src/glib/glib/tests/win32.c
    functionUses: []
    functionsReached:
    - test_access_violation
    linkageType: ''
    returnType: void
    signature: 'static void test_veh_debuggee (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoInitialize
      Src: /src/glib/glib/tests/win32.c:165,1
    - Dst: SUCCEEDED
      Src: /src/glib/glib/tests/win32.c:168,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/win32.c:167,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/win32.c:168,1
    - Dst: g_win32_clear_com
      Src: /src/glib/glib/tests/win32.c:166,1
    - Dst: CoCreateInstance
      Src: /src/glib/glib/tests/win32.c:168,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/win32.c:169,1
    - Dst: IWICImagingFactory_QueryInterface
      Src: /src/glib/glib/tests/win32.c:170,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/win32.c:171,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/win32.c:172,1
    - Dst: IWICImagingFactory_AddRef
      Src: /src/glib/glib/tests/win32.c:172,1
    - Dst: g_win32_clear_com
      Src: /src/glib/glib/tests/win32.c:173,1
    - Dst: g_win32_clear_com
      Src: /src/glib/glib/tests/win32.c:176,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/win32.c:174,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/win32.c:177,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/win32.c:175,1
    - Dst: IWICImagingFactory_Release
      Src: /src/glib/glib/tests/win32.c:175,1
    - Dst: CoUninitialize
      Src: /src/glib/glib/tests/win32.c:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 180
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 180
    functionName: test_clear_com
    functionSourceFile: /src/glib/glib/tests/win32.c
    functionUses: []
    functionsReached:
    - SUCCEEDED
    - g_assert_true
    - CoInitialize
    - g_assert_null
    - g_win32_clear_com
    - CoUninitialize
    - g_assert_nonnull
    - IWICImagingFactory_Release
    - IWICImagingFactory_QueryInterface
    - CoCreateInstance
    - IWICImagingFactory_AddRef
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_clear_com (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/win32.c:188,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/win32.c:199,1
    - Dst: veh_debugger
      Src: /src/glib/glib/tests/win32.c:192,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/win32.c:198,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/win32.c:196,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/win32.c:200,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/win32.c:202,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/win32.c:203,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/win32.c:204,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/win32.c:205,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/win32.c:207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 208
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 208
    functionName: main
    functionSourceFile: /src/glib/glib/tests/win32.c
    functionUses: []
    functionsReached:
    - veh_debugger
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetErrorMode
      Src: /src/glib/glib/tests/win32.c:85,1
    - Dst: SetErrorMode
      Src: /src/glib/glib/tests/win32.c:88,1
    - Dst: SetErrorMode
      Src: /src/glib/glib/tests/win32.c:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 89
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 89
    functionName: test_access_violation
    functionSourceFile: /src/glib/glib/tests/win32.c
    functionUses: []
    functionsReached:
    - SetErrorMode
    linkageType: ''
    returnType: void
    signature: 'static void test_access_violation (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/tests/gvariant.c:494,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/gvariant.c:495,1
    - Dst: strcspn
      Src: /src/glib/glib/tests/gvariant.c:509,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/glib/tests/gvariant.c:505,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:510,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/tests/gvariant.c:515,1
    - Dst: append_tuple_type_string
      Src: /src/glib/glib/tests/gvariant.c:519,1
    - Dst: append_type_string
      Src: /src/glib/glib/tests/gvariant.c:522,1
    - Dst: append_type_string
      Src: /src/glib/glib/tests/gvariant.c:525,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/gvariant.c:528,1
    - Dst: g_string_append
      Src: /src/glib/glib/tests/gvariant.c:535,1
    - Dst: g_variant_type_free
      Src: /src/glib/glib/tests/gvariant.c:537,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/gvariant.c:538,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/gvariant.c:540,1
    - Dst: g_variant_type_is_subtype_of
      Src: /src/glib/glib/tests/gvariant.c:531,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:531,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 541
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 541
    functionName: generate_subtype
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_variant_type_is_subtype_of
    - g_string_append_len
    - g_variant_type_free
    - g_test_rand_int_range
    - g_assert_not_reached
    - g_string_new
    - g_string_free
    - strcspn
    - append_type_string
    - g_string_append
    - append_tuple_type_string
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *generate_subtype (const gchar *type_string) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_rand_int_range
      Src: /src/glib/glib/tests/gvariant.c:1112,1
    - Dst: g_strndup
      Src: /src/glib/glib/tests/gvariant.c:1135,1
    - Dst: g_strndup
      Src: /src/glib/glib/tests/gvariant.c:1128,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/glib/tests/gvariant.c:1121,1
    - Dst: g_test_rand_bit
      Src: /src/glib/glib/tests/gvariant.c:1114,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1137
    functionName: random_type_string
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_strndup
    - g_test_rand_int_range
    - g_test_rand_bit
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *random_type_string (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5930,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5936,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5938,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5939,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5940,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5954,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:5950,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5956,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5958,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5960,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5971,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5982,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5990,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5967,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5984,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:6007,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:6011,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/gvariant.c:6035,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5978,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5999,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5974,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5994,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:6026,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5929,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/gvariant.c:5948,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5970,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5988,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:6017,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:6019,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5964,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5981,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:6005,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5987,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5977,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5997,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:6029,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5973,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5992,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:6024,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5996,1
    - Dst: g_test_init
      Src: /src/glib/glib/tests/gvariant.c:5927,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5935,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/gvariant.c:5948,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5955,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5957,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5959,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5961,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5963,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5965,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5968,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5969,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:6015,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5980,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:6003,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:6032,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5976,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5934,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5932,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5937,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5941,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/gvariant.c:5947,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5953,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5995,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5972,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5991,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:6021,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5966,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5983,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5985,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:6009,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:6013,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5962,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5979,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:6001,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gvariant.c:5975,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 81
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 6036
      start: 5922
    functionDepth: 0
    functionLinenumber: 5922
    functionLinenumberEnd: 6036
    functionName: main
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_strdup_printf
    - g_test_add_data_func
    - g_free
    - g_test_run
    - GINT_TO_POINTER
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: g_strjoin
      Src: /src/glib/glib/tests/gvariant.c:417,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gvariant.c:457,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:452,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:438,1
    - Dst: g_variant_type_is_definite
      Src: /src/glib/glib/tests/gvariant.c:432,1
    - Dst: g_string_append
      Src: /src/glib/glib/tests/gvariant.c:394,1
    - Dst: g_variant_type_next
      Src: /src/glib/glib/tests/gvariant.c:412,1
    - Dst: g_variant_type_first
      Src: /src/glib/glib/tests/gvariant.c:414,1
    - Dst: describe_type
      Src: /src/glib/glib/tests/gvariant.c:371,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:444,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:471,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gvariant.c:451,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gvariant.c:443,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/gvariant.c:399,1
    - Dst: g_variant_type_is_maybe
      Src: /src/glib/glib/tests/gvariant.c:369,1
    - Dst: g_variant_type_is_tuple
      Src: /src/glib/glib/tests/gvariant.c:375,1
    - Dst: g_string_append
      Src: /src/glib/glib/tests/gvariant.c:390,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:419,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:448,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:436,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gvariant.c:473,1
    - Dst: describe_type
      Src: /src/glib/glib/tests/gvariant.c:411,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/gvariant.c:428,1
    - Dst: g_variant_type_is_container
      Src: /src/glib/glib/tests/gvariant.c:359,1
    - Dst: g_variant_type_element
      Src: /src/glib/glib/tests/gvariant.c:371,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:373,1
    - Dst: g_variant_type_first
      Src: /src/glib/glib/tests/gvariant.c:410,1
    - Dst: g_variant_type_next
      Src: /src/glib/glib/tests/gvariant.c:413,1
    - Dst: g_variant_type_key
      Src: /src/glib/glib/tests/gvariant.c:408,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gvariant.c:441,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gvariant.c:459,1
    - Dst: describe_type
      Src: /src/glib/glib/tests/gvariant.c:365,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/tests/gvariant.c:397,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/gvariant.c:463,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:420,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:434,1
    - Dst: g_variant_type_element
      Src: /src/glib/glib/tests/gvariant.c:365,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gvariant.c:402,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/gvariant.c:476,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:377,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gvariant.c:445,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gvariant.c:449,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gvariant.c:453,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:367,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/gvariant.c:372,1
    - Dst: describe_type
      Src: /src/glib/glib/tests/gvariant.c:410,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gvariant.c:413,1
    - Dst: describe_type
      Src: /src/glib/glib/tests/gvariant.c:409,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:442,1
    - Dst: describe_type
      Src: /src/glib/glib/tests/gvariant.c:408,1
    - Dst: g_variant_type_value
      Src: /src/glib/glib/tests/gvariant.c:409,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gvariant.c:425,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gvariant.c:455,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:454,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:440,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:456,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gvariant.c:396,1
    - Dst: g_variant_type_is_dict_entry
      Src: /src/glib/glib/tests/gvariant.c:404,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:416,1
    - Dst: g_variant_type_is_basic
      Src: /src/glib/glib/tests/gvariant.c:361,1
    - Dst: g_variant_type_next
      Src: /src/glib/glib/tests/gvariant.c:413,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gvariant.c:447,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:467,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:450,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:458,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:361,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/gvariant.c:366,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:391,1
    - Dst: g_variant_type_next
      Src: /src/glib/glib/tests/gvariant.c:393,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:418,1
    - Dst: g_variant_type_first
      Src: /src/glib/glib/tests/gvariant.c:412,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:421,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:460,1
    - Dst: describe_type
      Src: /src/glib/glib/tests/gvariant.c:389,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gvariant.c:437,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gvariant.c:469,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:423,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gvariant.c:439,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:446,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:415,1
    - Dst: g_variant_type_is_basic
      Src: /src/glib/glib/tests/gvariant.c:434,1
    - Dst: g_variant_type_is_array
      Src: /src/glib/glib/tests/gvariant.c:363,1
    - Dst: g_variant_type_n_items
      Src: /src/glib/glib/tests/gvariant.c:385,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/gvariant.c:383,1
    - Dst: g_variant_type_first
      Src: /src/glib/glib/tests/gvariant.c:386,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gvariant.c:461,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 132
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 481
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 481
    functionName: describe_type
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_assert_null
    - g_variant_type_is_basic
    - g_variant_type_value
    - g_variant_type_is_container
    - describe_type
    - g_variant_type_is_definite
    - g_assert_true
    - g_variant_type_is_array
    - g_variant_type_element
    - g_assert_false
    - g_variant_type_equal
    - g_variant_type_is_dict_entry
    - g_strdup
    - g_variant_type_n_items
    - g_assert_not_reached
    - g_variant_type_first
    - g_string_new
    - g_string_append
    - g_variant_type_is_tuple
    - g_string_append_c
    - g_variant_type_is_maybe
    - g_strjoin
    - g_variant_type_key
    - g_assert_cmpstr
    - g_string_free
    - g_variant_type_next
    - g_free
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *describe_type (const GVariantType *type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/glib/glib/tests/gvariant.c:1363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1364
      start: 1360
    functionDepth: 0
    functionLinenumber: 1360
    functionLinenumberEnd: 1364
    functionName: align_free
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'static void align_free (gpointer mem) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_parsed
      Src: /src/glib/glib/tests/gvariant.c:4442,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/gvariant.c:4444,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4445
      start: 4439
    functionDepth: 0
    functionLinenumber: 4439
    functionLinenumberEnd: 4445
    functionName: test_parse_bad_format_char
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    - g_variant_new_parsed
    linkageType: ''
    returnType: void
    signature: 'static void test_parse_bad_format_char (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GSIZE_TO_LE
      Src: /src/glib/glib/tests/gvariant.c:1377,1
    - Dst: memcpy
      Src: /src/glib/glib/tests/gvariant.c:1378,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - offset_ptr
    - offset
    - offset_size
    argTypes:
    - guchar**
    - gsize
    - guint
    constantsTouched: []
    func_position:
      end: 1380
      start: 1366
    functionDepth: 0
    functionLinenumber: 1366
    functionLinenumberEnd: 1380
    functionName: append_offset
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - memcpy
    - GSIZE_TO_LE
    linkageType: ''
    returnType: void
    signature: 'static void append_offset (guchar **offset_ptr, gsize offset, guint
      offset_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_parsed
      Src: /src/glib/glib/tests/gvariant.c:4450,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/gvariant.c:4452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4453
      start: 4447
    functionDepth: 0
    functionLinenumber: 4447
    functionLinenumberEnd: 4453
    functionName: test_parse_bad_format_string
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    - g_variant_new_parsed
    linkageType: ''
    returnType: void
    signature: 'static void test_parse_bad_format_string (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/gvariant.c:3912,1
    - Dst: g_variant_is_normal_form
      Src: /src/glib/glib/tests/gvariant.c:3917,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:3917,1
    - Dst: g_variant_byteswap
      Src: /src/glib/glib/tests/gvariant.c:3919,1
    - Dst: g_variant_new_from_data
      Src: /src/glib/glib/tests/gvariant.c:3916,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:3920,1
    - Dst: g_variant_is_normal_form
      Src: /src/glib/glib/tests/gvariant.c:3920,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:3922,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3924,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3925,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3926
      start: 3905
    functionDepth: 0
    functionLinenumber: 3905
    functionLinenumberEnd: 3926
    functionName: test_gv_byteswap_non_normal_non_aligned
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_test_summary
    - g_variant_is_normal_form
    - g_assert_cmpvariant
    - g_variant_byteswap
    - g_variant_new_from_data
    - g_variant_unref
    - g_assert_false
    linkageType: ''
    returnType: void
    signature: 'static void test_gv_byteswap_non_normal_non_aligned (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_parse
      Src: /src/glib/glib/tests/gvariant.c:4003,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:3995,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:3994,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:4006,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:4004,1
    - Dst: g_variant_get_string
      Src: /src/glib/glib/tests/gvariant.c:4023,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4024,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:4040,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:4052,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/glib/tests/gvariant.c:4052,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4053,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4099,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:4097,1
    - Dst: g_variant_print
      Src: /src/glib/glib/tests/gvariant.c:4018,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4019,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:4021,1
    - Dst: g_variant_new_string
      Src: /src/glib/glib/tests/gvariant.c:4034,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:4038,1
    - Dst: g_variant_get_string
      Src: /src/glib/glib/tests/gvariant.c:4040,1
    - Dst: g_variant_parse
      Src: /src/glib/glib/tests/gvariant.c:4073,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/gvariant.c:4074,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4065,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:4075,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/gvariant.c:4089,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:4098,1
    - Dst: g_variant_type_info_assert_no_infos
      Src: /src/glib/glib/tests/gvariant.c:4104,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/glib/tests/gvariant.c:4075,1
    - Dst: g_variant_print
      Src: /src/glib/glib/tests/gvariant.c:4093,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4076,1
    - Dst: test_parser
      Src: /src/glib/glib/tests/gvariant.c:3969,1
    - Dst: g_variant_new_string
      Src: /src/glib/glib/tests/gvariant.c:3983,1
    - Dst: g_variant_parse
      Src: /src/glib/glib/tests/gvariant.c:3987,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3985,1
    - Dst: g_variant_print
      Src: /src/glib/glib/tests/gvariant.c:3984,1
    - Dst: g_variant_print
      Src: /src/glib/glib/tests/gvariant.c:3988,1
    - Dst: g_variant_get_string
      Src: /src/glib/glib/tests/gvariant.c:3990,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:3991,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3993,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:4023,1
    - Dst: g_variant_parse
      Src: /src/glib/glib/tests/gvariant.c:4039,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:4042,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:4096,1
    - Dst: g_variant_parse
      Src: /src/glib/glib/tests/gvariant.c:4092,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/gvariant.c:4051,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/gvariant.c:4063,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:3990,1
    - Dst: g_variant_get_int32
      Src: /src/glib/glib/tests/gvariant.c:4004,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4007,1
    - Dst: g_variant_new_string
      Src: /src/glib/glib/tests/gvariant.c:4017,1
    - Dst: g_variant_parse
      Src: /src/glib/glib/tests/gvariant.c:4022,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:4025,1
    - Dst: g_variant_print
      Src: /src/glib/glib/tests/gvariant.c:4035,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4036,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4041,1
    - Dst: g_variant_parse
      Src: /src/glib/glib/tests/gvariant.c:4050,1
    - Dst: g_ascii_strdown
      Src: /src/glib/glib/tests/gvariant.c:4095,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/glib/tests/gvariant.c:4064,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:4064,1
    - Dst: g_variant_parse
      Src: /src/glib/glib/tests/gvariant.c:4062,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/gvariant.c:4096,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 97
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4105
      start: 3962
    functionDepth: 0
    functionLinenumber: 3962
    functionLinenumberEnd: 4105
    functionName: test_parses
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_parse
    - g_assert_true
    - g_variant_type_info_assert_no_infos
    - g_variant_get_int32
    - G_N_ELEMENTS
    - test_parser
    - g_ascii_strdown
    - g_assert_cmpstr
    - g_variant_get_string
    - g_assert_no_error
    - g_variant_new_string
    - g_variant_unref
    - g_str_has_prefix
    - g_variant_print
    - g_variant_get_type_string
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_parses (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: verify_gvariant_checksum_va
      Src: /src/glib/glib/tests/gvariant.c:4963,1
    - Dst: g_variant_new_bytestring
      Src: /src/glib/glib/tests/gvariant.c:4970,1
    - Dst: verify_gvariant_checksum_va
      Src: /src/glib/glib/tests/gvariant.c:4967,1
    - Dst: verify_gvariant_checksum_va
      Src: /src/glib/glib/tests/gvariant.c:4965,1
    - Dst: verify_gvariant_checksum_va
      Src: /src/glib/glib/tests/gvariant.c:4969,1
    - Dst: verify_gvariant_checksum_va
      Src: /src/glib/glib/tests/gvariant.c:4971,1
    - Dst: verify_gvariant_checksum_va
      Src: /src/glib/glib/tests/gvariant.c:4973,1
    - Dst: g_variant_new
      Src: /src/glib/glib/tests/gvariant.c:4974,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4975
      start: 4958
    functionDepth: 0
    functionLinenumber: 4958
    functionLinenumberEnd: 4975
    functionName: test_checksum_nested
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_new_bytestring
    - g_variant_new
    - verify_gvariant_checksum_va
    linkageType: ''
    returnType: void
    signature: 'static void test_checksum_nested (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_rand_double_range
      Src: /src/glib/glib/tests/gvariant.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - prob
    argTypes:
    - gdouble
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: randomly
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_test_rand_double_range
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean randomly (gdouble prob) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tree_instance_new
      Src: /src/glib/glib/tests/gvariant.c:3937,1
    - Dst: tree_instance_get_gvariant
      Src: /src/glib/glib/tests/gvariant.c:3938,1
    - Dst: tree_instance_free
      Src: /src/glib/glib/tests/gvariant.c:3939,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3947,1
    - Dst: g_variant_print
      Src: /src/glib/glib/tests/gvariant.c:3952,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:3953,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:3959,1
    - Dst: g_variant_print
      Src: /src/glib/glib/tests/gvariant.c:3941,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:3946,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:3948,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3954,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:3955,1
    - Dst: g_variant_parse
      Src: /src/glib/glib/tests/gvariant.c:3950,1
    - Dst: g_variant_get_type
      Src: /src/glib/glib/tests/gvariant.c:3950,1
    - Dst: g_variant_print
      Src: /src/glib/glib/tests/gvariant.c:3942,1
    - Dst: g_variant_parse
      Src: /src/glib/glib/tests/gvariant.c:3944,1
    - Dst: g_variant_print
      Src: /src/glib/glib/tests/gvariant.c:3945,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3957,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:3958,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3960
      start: 3928
    functionDepth: 0
    functionLinenumber: 3928
    functionLinenumberEnd: 3960
    functionName: test_parser
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_parse
    - g_variant_get_type
    - g_free
    - g_assert_cmpstr
    - g_variant_unref
    - g_variant_print
    - tree_instance_get_gvariant
    - tree_instance_free
    - tree_instance_new
    linkageType: ''
    returnType: void
    signature: 'static void test_parser (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gvariant.c:4251,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/gvariant.c:4238,1
    - Dst: MAX
      Src: /src/glib/glib/tests/gvariant.c:4246,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:4253,1
    - Dst: g_error
      Src: /src/glib/glib/tests/gvariant.c:4260,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/gvariant.c:4272,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gvariant.c:4266,1
    - Dst: strlen
      Src: /src/glib/glib/tests/gvariant.c:4246,1
    - Dst: memcpy
      Src: /src/glib/glib/tests/gvariant.c:4249,1
    - Dst: strstr
      Src: /src/glib/glib/tests/gvariant.c:4255,1
    - Dst: g_error
      Src: /src/glib/glib/tests/gvariant.c:4256,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:4269,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:4270,1
    - Dst: g_malloc0
      Src: /src/glib/glib/tests/gvariant.c:4247,1
    - Dst: g_variant_parse
      Src: /src/glib/glib/tests/gvariant.c:4250,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/gvariant.c:4259,1
    - Dst: g_variant_parse
      Src: /src/glib/glib/tests/gvariant.c:4265,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/gvariant.c:4273,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:4268,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4275
      start: 4107
    functionDepth: 0
    functionLinenumber: 4107
    functionLinenumberEnd: 4275
    functionName: test_parse_failures
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - memcpy
    - g_variant_parse
    - strlen
    - g_malloc0
    - G_N_ELEMENTS
    - g_assert_null
    - MAX
    - g_assert_cmpstr
    - g_str_has_prefix
    - g_error
    - g_free
    - strstr
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_parse_failures (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_new
      Src: /src/glib/glib/tests/gvariant.c:4989,1
    - Dst: g_variant_get_data_as_bytes
      Src: /src/glib/glib/tests/gvariant.c:4998,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:5002,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:5010,1
    - Dst: g_variant_get_data_as_bytes
      Src: /src/glib/glib/tests/gvariant.c:5009,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/tests/gvariant.c:5008,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/gvariant.c:5012,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/gvariant.c:5013,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:4996,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5014,1
    - Dst: g_variant_new_from_bytes
      Src: /src/glib/glib/tests/gvariant.c:5018,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:5020,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/gvariant.c:4991,1
    - Dst: g_variant_get_fixed_array
      Src: /src/glib/glib/tests/gvariant.c:4993,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:4994,1
    - Dst: g_variant_new_from_bytes
      Src: /src/glib/glib/tests/gvariant.c:4990,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4999,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/gvariant.c:5003,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/gvariant.c:5004,1
    - Dst: g_variant_get_data_as_bytes
      Src: /src/glib/glib/tests/gvariant.c:5007,1
    - Dst: g_bytes_equal
      Src: /src/glib/glib/tests/gvariant.c:5010,1
    - Dst: g_bytes_new
      Src: /src/glib/glib/tests/gvariant.c:5017,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:5018,1
    - Dst: g_bytes_new
      Src: /src/glib/glib/tests/gvariant.c:5001,1
    - Dst: g_bytes_equal
      Src: /src/glib/glib/tests/gvariant.c:5002,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/glib/tests/gvariant.c:5006,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5015,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/tests/gvariant.c:5020,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/gvariant.c:5019,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5021,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 46
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5022
      start: 4977
    functionDepth: 0
    functionLinenumber: 4977
    functionLinenumberEnd: 5022
    functionName: test_gbytes
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_bytes_new
    - g_assert_true
    - g_variant_get_child_value
    - g_variant_n_children
    - g_variant_new_from_bytes
    - g_assert_cmpuint
    - g_variant_get_fixed_array
    - g_bytes_unref
    - g_variant_unref
    - g_assert_false
    - g_variant_new_parsed
    - g_bytes_equal
    - g_variant_get_data_as_bytes
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: void
    signature: 'static void test_gbytes (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_new
      Src: /src/glib/glib/tests/gvariant.c:3740,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:3742,1
    - Dst: hash_get
      Src: /src/glib/glib/tests/gvariant.c:3741,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3743,1
    - Dst: hash_new
      Src: /src/glib/glib/tests/gvariant.c:3746,1
    - Dst: hash_get
      Src: /src/glib/glib/tests/gvariant.c:3747,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:3748,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3749,1
    - Dst: g_variant_type_info_assert_no_infos
      Src: /src/glib/glib/tests/gvariant.c:3751,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3752
      start: 3733
    functionDepth: 0
    functionLinenumber: 3733
    functionLinenumberEnd: 3752
    functionName: test_valist
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - hash_get
    - hash_new
    - g_variant_type_info_assert_no_infos
    - g_variant_unref
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_valist (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/glib/glib/tests/gvariant.c:3792,1
    - Dst: tree_instance_get_gvariant
      Src: /src/glib/glib/tests/gvariant.c:3803,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/gvariant.c:3796,1
    - Dst: tree_instance_new
      Src: /src/glib/glib/tests/gvariant.c:3802,1
    - Dst: tree_instance_free
      Src: /src/glib/glib/tests/gvariant.c:3804,1
    - Dst: g_variant_equal
      Src: /src/glib/glib/tests/gvariant.c:3807,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3809,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/tests/gvariant.c:3813,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/tests/gvariant.c:3814,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/gvariant.c:3815,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/gvariant.c:3818,1
    - Dst: g_hash_table_unref
      Src: /src/glib/glib/tests/gvariant.c:3826,1
    - Dst: g_variant_type_info_assert_no_infos
      Src: /src/glib/glib/tests/gvariant.c:3828,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/tests/gvariant.c:3822,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:3823,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/gvariant.c:3823,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3829
      start: 3785
    functionDepth: 0
    functionLinenumber: 3785
    functionLinenumberEnd: 3829
    functionName: test_hashing
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - GPOINTER_TO_INT
    - g_variant_equal
    - g_variant_type_info_assert_no_infos
    - g_hash_table_unref
    - G_N_ELEMENTS
    - g_hash_table_lookup
    - g_hash_table_insert
    - g_variant_unref
    - g_hash_table_new_full
    - tree_instance_get_gvariant
    - GINT_TO_POINTER
    - tree_instance_free
    - tree_instance_new
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_hashing (void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: describe_info
      Src: /src/glib/glib/tests/gvariant.c:857,1
    - Dst: g_variant_type_info_element
      Src: /src/glib/glib/tests/gvariant.c:867,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/gvariant.c:868,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/tests/gvariant.c:896,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/gvariant.c:898,1
    - Dst: g_variant_type_info_n_members
      Src: /src/glib/glib/tests/gvariant.c:907,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:914,1
    - Dst: strlen
      Src: /src/glib/glib/tests/gvariant.c:924,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:869,1
    - Dst: g_variant_type_info_member_info
      Src: /src/glib/glib/tests/gvariant.c:908,1
    - Dst: g_variant_type_info_member_info
      Src: /src/glib/glib/tests/gvariant.c:909,1
    - Dst: g_strjoin
      Src: /src/glib/glib/tests/gvariant.c:912,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:913,1
    - Dst: g_variant_type_info_get_type_char
      Src: /src/glib/glib/tests/gvariant.c:851,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/gvariant.c:858,1
    - Dst: g_variant_type_info_element
      Src: /src/glib/glib/tests/gvariant.c:857,1
    - Dst: describe_info
      Src: /src/glib/glib/tests/gvariant.c:867,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/gvariant.c:879,1
    - Dst: g_string_append
      Src: /src/glib/glib/tests/gvariant.c:887,1
    - Dst: describe_info
      Src: /src/glib/glib/tests/gvariant.c:891,1
    - Dst: g_string_append
      Src: /src/glib/glib/tests/gvariant.c:892,1
    - Dst: g_variant_type_info_n_members
      Src: /src/glib/glib/tests/gvariant.c:880,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:893,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:859,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:907,1
    - Dst: g_variant_type_info_member_info
      Src: /src/glib/glib/tests/gvariant.c:890,1
    - Dst: describe_info
      Src: /src/glib/glib/tests/gvariant.c:910,1
    - Dst: describe_info
      Src: /src/glib/glib/tests/gvariant.c:911,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gvariant.c:919,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gvariant.c:923,1
    - Dst: g_variant_type_info_get_type_string
      Src: /src/glib/glib/tests/gvariant.c:923,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:924,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 929
      start: 846
    functionDepth: 0
    functionLinenumber: 846
    functionLinenumberEnd: 929
    functionName: describe_info
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - describe_info
    - g_strdup_printf
    - g_strdup
    - strlen
    - g_variant_type_info_get_type_char
    - g_string_append_c
    - g_variant_type_info_get_type_string
    - g_strjoin
    - g_variant_type_info_member_info
    - g_variant_type_info_n_members
    - g_string_free
    - g_string_new
    - g_variant_type_info_element
    - g_free
    - g_string_append
    - g_assert_cmpint
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *describe_info (GVariantTypeInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get_data_as_bytes
      Src: /src/glib/glib/tests/gvariant.c:2388,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/tests/gvariant.c:2394,1
    - Dst: g_variant_get_data_as_bytes
      Src: /src/glib/glib/tests/gvariant.c:2395,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:2403,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/gvariant.c:2405,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:2398,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:2401,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/gvariant.c:2378,1
    - Dst: g_variant_new_maybe
      Src: /src/glib/glib/tests/gvariant.c:2383,1
    - Dst: g_variant_new_array
      Src: /src/glib/glib/tests/gvariant.c:2384,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/gvariant.c:2377,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/tests/gvariant.c:2387,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/tests/gvariant.c:2391,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/gvariant.c:2404,1
    - Dst: g_variant_type_free
      Src: /src/glib/glib/tests/gvariant.c:2406,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:2399,1
    - Dst: g_variant_type_new_maybe
      Src: /src/glib/glib/tests/gvariant.c:2374,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:2402,1
    - Dst: g_bytes_equal
      Src: /src/glib/glib/tests/gvariant.c:2399,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2407
      start: 2369
    functionDepth: 0
    functionLinenumber: 2369
    functionLinenumberEnd: 2407
    functionName: test_serialiser_children
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_test_summary
    - g_assert_cmpvariant
    - g_variant_type_free
    - g_test_bug
    - g_bytes_unref
    - g_variant_new_maybe
    - g_variant_unref
    - g_variant_type_new_maybe
    - g_variant_get_data
    - g_bytes_equal
    - g_variant_get_child_value
    - g_variant_get_data_as_bytes
    - g_variant_new_array
    linkageType: ''
    returnType: void
    signature: 'static void test_serialiser_children (void) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_info_get_type_char
      Src: /src/glib/glib/tests/gvariant.c:2634,1
    - Dst: tree_instance_check_gvariant
      Src: /src/glib/glib/tests/gvariant.c:2644,1
    - Dst: g_variant_type_info_get_type_string
      Src: /src/glib/glib/tests/gvariant.c:2691,1
    - Dst: g_variant_get_variant
      Src: /src/glib/glib/tests/gvariant.c:2689,1
    - Dst: g_variant_get_boolean
      Src: /src/glib/glib/tests/gvariant.c:2703,1
    - Dst: g_variant_get_int16
      Src: /src/glib/glib/tests/gvariant.c:2709,1
    - Dst: g_variant_get_byte
      Src: /src/glib/glib/tests/gvariant.c:2706,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/glib/tests/gvariant.c:2690,1
    - Dst: g_variant_get_uint16
      Src: /src/glib/glib/tests/gvariant.c:2712,1
    - Dst: g_variant_get_int32
      Src: /src/glib/glib/tests/gvariant.c:2715,1
    - Dst: g_variant_get_double
      Src: /src/glib/glib/tests/gvariant.c:2731,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:2632,1
    - Dst: g_variant_get_maybe
      Src: /src/glib/glib/tests/gvariant.c:2641,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/glib/tests/gvariant.c:2632,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/tests/gvariant.c:2663,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/tests/gvariant.c:2671,1
    - Dst: g_variant_type_info_get_type_string
      Src: /src/glib/glib/tests/gvariant.c:2631,1
    - Dst: tree_instance_check_gvariant
      Src: /src/glib/glib/tests/gvariant.c:2694,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:2696,1
    - Dst: g_variant_get_uint32
      Src: /src/glib/glib/tests/gvariant.c:2718,1
    - Dst: g_variant_get_int64
      Src: /src/glib/glib/tests/gvariant.c:2721,1
    - Dst: g_variant_get_uint64
      Src: /src/glib/glib/tests/gvariant.c:2724,1
    - Dst: g_variant_get_handle
      Src: /src/glib/glib/tests/gvariant.c:2727,1
    - Dst: memcmp
      Src: /src/glib/glib/tests/gvariant.c:2733,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/gvariant.c:2739,1
    - Dst: g_variant_get_string
      Src: /src/glib/glib/tests/gvariant.c:2739,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:2651,1
    - Dst: tree_instance_check_gvariant
      Src: /src/glib/glib/tests/gvariant.c:2672,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:2673,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/gvariant.c:2743,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 72
    argCount: 2
    argNames:
    - tree
    - value
    argTypes:
    - TreeInstance*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 2745
      start: 2625
    functionDepth: 0
    functionLinenumber: 2625
    functionLinenumberEnd: 2745
    functionName: tree_instance_check_gvariant
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_get_handle
    - g_variant_type_info_get_type_char
    - strcmp
    - g_variant_get_double
    - g_variant_get_int16
    - tree_instance_check_gvariant
    - g_assert_true
    - g_variant_is_of_type
    - g_variant_get_string
    - g_variant_unref
    - g_variant_get_uint64
    - g_variant_get_type_string
    - g_variant_get_child_value
    - g_variant_get_boolean
    - g_variant_get_variant
    - g_variant_get_int32
    - g_variant_get_int64
    - g_assert_not_reached
    - g_variant_get_uint16
    - g_variant_get_byte
    - memcmp
    - g_variant_get_maybe
    - g_variant_get_uint32
    - g_variant_n_children
    - g_variant_type_info_get_type_string
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean tree_instance_check_gvariant (TreeInstance *tree,
      GVariant *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get_type
      Src: /src/glib/glib/tests/gvariant.c:4663,1
    - Dst: g_variant_get_data_as_bytes
      Src: /src/glib/glib/tests/gvariant.c:4664,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4667,1
    - Dst: g_variant_new_from_bytes
      Src: /src/glib/glib/tests/gvariant.c:4665,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/gvariant.c:4666,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4670
      start: 4656
    functionDepth: 0
    functionLinenumber: 4656
    functionLinenumberEnd: 4670
    functionName: untrusted
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_get_type
    - g_variant_new_from_bytes
    - g_bytes_unref
    - g_variant_unref
    - g_variant_get_data_as_bytes
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *untrusted (GVariant *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_builder_ref
      Src: /src/glib/glib/tests/gvariant.c:3765,1
    - Dst: g_variant_builder_unref
      Src: /src/glib/glib/tests/gvariant.c:3767,1
    - Dst: g_variant_builder_new
      Src: /src/glib/glib/tests/gvariant.c:3769,1
    - Dst: g_variant_builder_new
      Src: /src/glib/glib/tests/gvariant.c:3772,1
    - Dst: g_variant_builder_unref
      Src: /src/glib/glib/tests/gvariant.c:3774,1
    - Dst: g_variant_type_info_assert_no_infos
      Src: /src/glib/glib/tests/gvariant.c:3782,1
    - Dst: g_variant_builder_clear
      Src: /src/glib/glib/tests/gvariant.c:3780,1
    - Dst: g_variant_builder_open
      Src: /src/glib/glib/tests/gvariant.c:3778,1
    - Dst: g_variant_builder_open
      Src: /src/glib/glib/tests/gvariant.c:3777,1
    - Dst: g_variant_builder_open
      Src: /src/glib/glib/tests/gvariant.c:3761,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/tests/gvariant.c:3764,1
    - Dst: g_variant_builder_unref
      Src: /src/glib/glib/tests/gvariant.c:3770,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/tests/gvariant.c:3779,1
    - Dst: g_variant_builder_open
      Src: /src/glib/glib/tests/gvariant.c:3762,1
    - Dst: g_variant_builder_open
      Src: /src/glib/glib/tests/gvariant.c:3763,1
    - Dst: g_variant_builder_init
      Src: /src/glib/glib/tests/gvariant.c:3776,1
    - Dst: g_variant_builder_new
      Src: /src/glib/glib/tests/gvariant.c:3760,1
    - Dst: g_variant_builder_unref
      Src: /src/glib/glib/tests/gvariant.c:3766,1
    - Dst: g_variant_builder_clear
      Src: /src/glib/glib/tests/gvariant.c:3773,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3783
      start: 3754
    functionDepth: 0
    functionLinenumber: 3754
    functionLinenumberEnd: 3783
    functionName: test_builder_memory
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_type_info_assert_no_infos
    - g_variant_builder_new
    - g_variant_builder_unref
    - g_variant_builder_clear
    - g_variant_builder_init
    - g_variant_builder_ref
    - g_variant_builder_open
    - g_variant_builder_add
    linkageType: ''
    returnType: void
    signature: 'static void test_builder_memory (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tree_instance_new
      Src: /src/glib/glib/tests/gvariant.c:2416,1
    - Dst: g_variant_serialised_is_normal
      Src: /src/glib/glib/tests/gvariant.c:2421,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:2422,1
    - Dst: serialise_tree
      Src: /src/glib/glib/tests/gvariant.c:2419,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:2421,1
    - Dst: check_tree
      Src: /src/glib/glib/tests/gvariant.c:2422,1
    - Dst: randomly
      Src: /src/glib/glib/tests/gvariant.c:2434,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/glib/tests/gvariant.c:2436,1
    - Dst: g_variant_serialised_is_normal
      Src: /src/glib/glib/tests/gvariant.c:2454,1
    - Dst: check_tree
      Src: /src/glib/glib/tests/gvariant.c:2455,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:2457,1
    - Dst: tree_instance_free
      Src: /src/glib/glib/tests/gvariant.c:2460,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:2461,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - fuzziness
    argTypes:
    - gdouble*
    constantsTouched: []
    func_position:
      end: 2462
      start: 2409
    functionDepth: 0
    functionLinenumber: 2409
    functionLinenumberEnd: 2462
    functionName: test_fuzz
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_variant_serialised_is_normal
    - g_test_rand_int_range
    - g_free
    - randomly
    - serialise_tree
    - check_tree
    - tree_instance_free
    - tree_instance_new
    linkageType: ''
    returnType: void
    signature: 'static void test_fuzz (gdouble *fuzziness) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_info_get_type_string
      Src: /src/glib/glib/tests/gvariant.c:2754,1
    - Dst: randomly
      Src: /src/glib/glib/tests/gvariant.c:2761,1
    - Dst: g_variant_type_is_container
      Src: /src/glib/glib/tests/gvariant.c:2756,1
    - Dst: g_variant_type_is_array
      Src: /src/glib/glib/tests/gvariant.c:2763,1
    - Dst: g_variant_type_is_maybe
      Src: /src/glib/glib/tests/gvariant.c:2766,1
    - Dst: g_variant_type_is_tuple
      Src: /src/glib/glib/tests/gvariant.c:2769,1
    - Dst: g_variant_type_is_dict_entry
      Src: /src/glib/glib/tests/gvariant.c:2772,1
    - Dst: g_variant_builder_open
      Src: /src/glib/glib/tests/gvariant.c:2778,1
    - Dst: tree_instance_build_gvariant
      Src: /src/glib/glib/tests/gvariant.c:2781,1
    - Dst: g_variant_builder_close
      Src: /src/glib/glib/tests/gvariant.c:2783,1
    - Dst: tree_instance_get_gvariant
      Src: /src/glib/glib/tests/gvariant.c:2786,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/glib/tests/gvariant.c:2786,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 3
    argNames:
    - tree
    - builder
    - guess_ok
    argTypes:
    - TreeInstance*
    - GVariantBuilder*
    - gboolean
    constantsTouched: []
    func_position:
      end: 2787
      start: 2747
    functionDepth: 0
    functionLinenumber: 2747
    functionLinenumberEnd: 2787
    functionName: tree_instance_build_gvariant
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_type_is_dict_entry
    - g_variant_type_is_array
    - g_variant_builder_close
    - g_variant_type_is_tuple
    - g_variant_type_is_maybe
    - g_variant_builder_add_value
    - tree_instance_get_gvariant
    - randomly
    - g_variant_type_is_container
    - tree_instance_build_gvariant
    - g_variant_builder_open
    - g_variant_type_info_get_type_string
    linkageType: ''
    returnType: void
    signature: 'static void tree_instance_build_gvariant (TreeInstance *tree, GVariantBuilder
      *builder, gboolean guess_ok) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swapped16
      Src: /src/glib/glib/tests/gvariant.c:3852,1
    - Dst: g_variant_new_from_data
      Src: /src/glib/glib/tests/gvariant.c:3864,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:3876,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:3881,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3883,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3893,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:3894,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:3898,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:3902,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3896,1
    - Dst: swapped16
      Src: /src/glib/glib/tests/gvariant.c:3850,1
    - Dst: memcpy
      Src: /src/glib/glib/tests/gvariant.c:3860,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:3864,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3871,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:3872,1
    - Dst: g_variant_new_from_data
      Src: /src/glib/glib/tests/gvariant.c:3876,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:3873,1
    - Dst: g_variant_byteswap
      Src: /src/glib/glib/tests/gvariant.c:3879,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/tests/gvariant.c:3881,1
    - Dst: g_variant_print
      Src: /src/glib/glib/tests/gvariant.c:3891,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/tests/gvariant.c:3898,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:3900,1
    - Dst: g_variant_byteswap
      Src: /src/glib/glib/tests/gvariant.c:3892,1
    - Dst: swapped16
      Src: /src/glib/glib/tests/gvariant.c:3848,1
    - Dst: memcpy
      Src: /src/glib/glib/tests/gvariant.c:3861,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/tests/gvariant.c:3869,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:3885,1
    - Dst: g_variant_new_from_data
      Src: /src/glib/glib/tests/gvariant.c:3888,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:3888,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3899,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:3901,1
    - Dst: g_variant_print
      Src: /src/glib/glib/tests/gvariant.c:3897,1
    - Dst: swapped16
      Src: /src/glib/glib/tests/gvariant.c:3854,1
    - Dst: g_variant_byteswap
      Src: /src/glib/glib/tests/gvariant.c:3867,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3868,1
    - Dst: g_variant_print
      Src: /src/glib/glib/tests/gvariant.c:3870,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:3869,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3880,1
    - Dst: g_variant_print
      Src: /src/glib/glib/tests/gvariant.c:3882,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:3884,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/tests/gvariant.c:3894,1
    - Dst: g_variant_byteswap
      Src: /src/glib/glib/tests/gvariant.c:3895,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 55
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3903
      start: 3831
    functionDepth: 0
    functionLinenumber: 3831
    functionLinenumberEnd: 3903
    functionName: test_gv_byteswap
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - memcpy
    - swapped16
    - g_variant_byteswap
    - g_variant_new_from_data
    - g_variant_get_size
    - g_assert_cmpuint
    - g_free
    - g_assert_cmpstr
    - g_variant_unref
    - g_variant_print
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: void
    signature: 'static void test_gv_byteswap (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: untrusted
      Src: /src/glib/glib/tests/gvariant.c:4678,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4701,1
    - Dst: untrusted
      Src: /src/glib/glib/tests/gvariant.c:4728,1
    - Dst: g_variant_new_object_path
      Src: /src/glib/glib/tests/gvariant.c:4723,1
    - Dst: g_variant_new_uint64
      Src: /src/glib/glib/tests/gvariant.c:4709,1
    - Dst: g_variant_compare
      Src: /src/glib/glib/tests/gvariant.c:4680,1
    - Dst: g_variant_new_int16
      Src: /src/glib/glib/tests/gvariant.c:4683,1
    - Dst: untrusted
      Src: /src/glib/glib/tests/gvariant.c:4698,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4702,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4707,1
    - Dst: untrusted
      Src: /src/glib/glib/tests/gvariant.c:4703,1
    - Dst: g_variant_compare
      Src: /src/glib/glib/tests/gvariant.c:4735,1
    - Dst: g_variant_new_double
      Src: /src/glib/glib/tests/gvariant.c:4713,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4731,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:4720,1
    - Dst: g_variant_compare
      Src: /src/glib/glib/tests/gvariant.c:4730,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4681,1
    - Dst: untrusted
      Src: /src/glib/glib/tests/gvariant.c:4693,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4696,1
    - Dst: g_variant_compare
      Src: /src/glib/glib/tests/gvariant.c:4700,1
    - Dst: untrusted
      Src: /src/glib/glib/tests/gvariant.c:4708,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4716,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:4680,1
    - Dst: g_variant_new_uint32
      Src: /src/glib/glib/tests/gvariant.c:4698,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4706,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:4735,1
    - Dst: g_variant_new_uint16
      Src: /src/glib/glib/tests/gvariant.c:4688,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4692,1
    - Dst: g_variant_new_int64
      Src: /src/glib/glib/tests/gvariant.c:4703,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4712,1
    - Dst: g_variant_compare
      Src: /src/glib/glib/tests/gvariant.c:4710,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4686,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4691,1
    - Dst: g_variant_new_int32
      Src: /src/glib/glib/tests/gvariant.c:4694,1
    - Dst: g_variant_new_signature
      Src: /src/glib/glib/tests/gvariant.c:4728,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4727,1
    - Dst: untrusted
      Src: /src/glib/glib/tests/gvariant.c:4713,1
    - Dst: g_variant_new_boolean
      Src: /src/glib/glib/tests/gvariant.c:4733,1
    - Dst: untrusted
      Src: /src/glib/glib/tests/gvariant.c:4718,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4682,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:4685,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:4725,1
    - Dst: untrusted
      Src: /src/glib/glib/tests/gvariant.c:4733,1
    - Dst: untrusted
      Src: /src/glib/glib/tests/gvariant.c:4683,1
    - Dst: g_variant_compare
      Src: /src/glib/glib/tests/gvariant.c:4695,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4697,1
    - Dst: g_variant_new_string
      Src: /src/glib/glib/tests/gvariant.c:4718,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4722,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:4710,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:4690,1
    - Dst: g_variant_new_uint16
      Src: /src/glib/glib/tests/gvariant.c:4689,1
    - Dst: g_variant_new_int32
      Src: /src/glib/glib/tests/gvariant.c:4693,1
    - Dst: g_variant_new_string
      Src: /src/glib/glib/tests/gvariant.c:4719,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:4715,1
    - Dst: g_variant_new_int64
      Src: /src/glib/glib/tests/gvariant.c:4704,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4736,1
    - Dst: g_variant_compare
      Src: /src/glib/glib/tests/gvariant.c:4705,1
    - Dst: g_variant_new_byte
      Src: /src/glib/glib/tests/gvariant.c:4679,1
    - Dst: g_variant_compare
      Src: /src/glib/glib/tests/gvariant.c:4720,1
    - Dst: g_variant_new_object_path
      Src: /src/glib/glib/tests/gvariant.c:4724,1
    - Dst: g_variant_new_double
      Src: /src/glib/glib/tests/gvariant.c:4714,1
    - Dst: g_variant_new_int16
      Src: /src/glib/glib/tests/gvariant.c:4684,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4711,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4721,1
    - Dst: g_variant_compare
      Src: /src/glib/glib/tests/gvariant.c:4690,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4726,1
    - Dst: g_variant_new_boolean
      Src: /src/glib/glib/tests/gvariant.c:4734,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4717,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:4700,1
    - Dst: g_variant_new_byte
      Src: /src/glib/glib/tests/gvariant.c:4678,1
    - Dst: g_variant_compare
      Src: /src/glib/glib/tests/gvariant.c:4685,1
    - Dst: untrusted
      Src: /src/glib/glib/tests/gvariant.c:4723,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4737,1
    - Dst: g_variant_compare
      Src: /src/glib/glib/tests/gvariant.c:4715,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4687,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:4705,1
    - Dst: g_variant_compare
      Src: /src/glib/glib/tests/gvariant.c:4725,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4732,1
    - Dst: g_variant_new_signature
      Src: /src/glib/glib/tests/gvariant.c:4729,1
    - Dst: untrusted
      Src: /src/glib/glib/tests/gvariant.c:4688,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:4695,1
    - Dst: g_variant_new_uint32
      Src: /src/glib/glib/tests/gvariant.c:4699,1
    - Dst: g_variant_new_uint64
      Src: /src/glib/glib/tests/gvariant.c:4708,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:4730,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 109
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4738
      start: 4672
    functionDepth: 0
    functionLinenumber: 4672
    functionLinenumberEnd: 4738
    functionName: test_compare
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_new_boolean
    - g_variant_compare
    - g_variant_new_byte
    - g_variant_new_signature
    - g_variant_new_int16
    - g_variant_unref
    - g_variant_new_uint16
    - g_variant_new_int32
    - g_variant_new_double
    - g_variant_new_string
    - untrusted
    - g_variant_new_int64
    - g_variant_new_uint32
    - g_variant_new_uint64
    - g_variant_new_object_path
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_compare (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: generate_subtype
      Src: /src/glib/glib/tests/gvariant.c:561,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:563,1
    - Dst: g_variant_type_is_subtype_of
      Src: /src/glib/glib/tests/gvariant.c:569,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:572,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:569,1
    - Dst: g_variant_type_is_subtype_of
      Src: /src/glib/glib/tests/gvariant.c:572,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:573,1
    - Dst: g_variant_type_is_definite
      Src: /src/glib/glib/tests/gvariant.c:578,1
    - Dst: subtype_check
      Src: /src/glib/glib/tests/gvariant.c:584,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:587,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - type_string
    - parent_ts
    argTypes:
    - gchar*
    - struct typestack*
    constantsTouched: []
    func_position:
      end: 588
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 588
    functionName: subtype_check
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_type_equal
    - g_variant_type_is_definite
    - g_assert_true
    - g_variant_type_is_subtype_of
    - g_free
    - generate_subtype
    - subtype_check
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: void
    signature: 'static void subtype_check (const gchar *type_string, struct typestack
      *parent_ts) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_is_tuple
      Src: /src/glib/glib/tests/gvariant.c:736,1
    - Dst: calculate_type_info
      Src: /src/glib/glib/tests/gvariant.c:731,1
    - Dst: g_variant_type_is_dict_entry
      Src: /src/glib/glib/tests/gvariant.c:737,1
    - Dst: g_variant_type_first
      Src: /src/glib/glib/tests/gvariant.c:750,1
    - Dst: calculate_type_info
      Src: /src/glib/glib/tests/gvariant.c:756,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:808,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:814,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:821,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:827,1
    - Dst: ALIGNED
      Src: /src/glib/glib/tests/gvariant.c:774,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:801,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:809,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:822,1
    - Dst: g_variant_type_is_array
      Src: /src/glib/glib/tests/gvariant.c:728,1
    - Dst: g_variant_type_is_maybe
      Src: /src/glib/glib/tests/gvariant.c:729,1
    - Dst: g_variant_type_element
      Src: /src/glib/glib/tests/gvariant.c:731,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:796,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:795,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:807,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:815,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:820,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/gvariant.c:833,1
    - Dst: g_variant_type_n_items
      Src: /src/glib/glib/tests/gvariant.c:739,1
    - Dst: MAX
      Src: /src/glib/glib/tests/gvariant.c:758,1
    - Dst: ALIGNED
      Src: /src/glib/glib/tests/gvariant.c:768,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:802,1
    - Dst: g_variant_type_next
      Src: /src/glib/glib/tests/gvariant.c:772,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:816,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 85
    argCount: 3
    argNames:
    - type
    - fixed_size
    - alignment
    argTypes:
    - GVariantType*
    - gsize*
    - guint*
    constantsTouched: []
    func_position:
      end: 841
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 841
    functionName: calculate_type_info
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_type_equal
    - g_variant_type_is_dict_entry
    - g_variant_type_is_array
    - g_variant_type_is_tuple
    - g_variant_type_n_items
    - g_variant_type_is_maybe
    - g_assert_not_reached
    - MAX
    - ALIGNED
    - g_variant_type_first
    - g_variant_type_element
    - g_variant_type_next
    - calculate_type_info
    linkageType: ''
    returnType: void
    signature: 'static void calculate_type_info (const GVariantType *type, gsize *fixed_size,
      guint *alignment) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: g_test_rand_int
      Src: /src/glib/glib/tests/gvariant.c:2058,1
    - Dst: make_random_definite_type
      Src: /src/glib/glib/tests/gvariant.c:2018,1
    - Dst: g_slice_new
      Src: /src/glib/glib/tests/gvariant.c:2020,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/glib/tests/gvariant.c:2028,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/glib/tests/gvariant.c:2031,1
    - Dst: g_variant_type_element
      Src: /src/glib/glib/tests/gvariant.c:2032,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/glib/tests/gvariant.c:2036,1
    - Dst: g_variant_type_element
      Src: /src/glib/glib/tests/gvariant.c:2037,1
    - Dst: g_variant_type_n_items
      Src: /src/glib/glib/tests/gvariant.c:2042,1
    - Dst: g_variant_type_first
      Src: /src/glib/glib/tests/gvariant.c:2043,1
    - Dst: make_random_string
      Src: /src/glib/glib/tests/gvariant.c:2086,1
    - Dst: tree_instance_new
      Src: /src/glib/glib/tests/gvariant.c:2099,1
    - Dst: g_test_rand_int
      Src: /src/glib/glib/tests/gvariant.c:2063,1
    - Dst: g_test_rand_int
      Src: /src/glib/glib/tests/gvariant.c:2073,1
    - Dst: g_test_rand_double
      Src: /src/glib/glib/tests/gvariant.c:2080,1
    - Dst: g_test_rand_int
      Src: /src/glib/glib/tests/gvariant.c:2075,1
    - Dst: g_test_rand_int
      Src: /src/glib/glib/tests/gvariant.c:2068,1
    - Dst: g_variant_type_info_get
      Src: /src/glib/glib/tests/gvariant.c:2021,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/glib/tests/gvariant.c:2053,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/glib/tests/gvariant.c:2085,1
    - Dst: g_new
      Src: /src/glib/glib/tests/gvariant.c:2095,1
    - Dst: g_variant_type_next
      Src: /src/glib/glib/tests/gvariant.c:2102,1
    - Dst: g_variant_type_free
      Src: /src/glib/glib/tests/gvariant.c:2108,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:2105,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 72
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2111
      start: 2008
    functionDepth: 0
    functionLinenumber: 2008
    functionLinenumberEnd: 2111
    functionName: tree_instance_new
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - make_random_string
    - g_assert_true
    - g_test_rand_double
    - g_new
    - g_test_rand_int
    - make_random_definite_type
    - g_variant_type_n_items
    - g_variant_type_free
    - g_variant_type_peek_string
    - g_test_rand_int_range
    - g_variant_type_first
    - g_slice_new
    - g_variant_type_element
    - g_variant_type_next
    - tree_instance_new
    - g_variant_type_info_get
    linkageType: ''
    returnType: TreeInstance*
    signature: 'static TreeInstance *tree_instance_new (const GVariantType *type,
      int depth) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:2924,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:2932,1
    - Dst: g_utf8_validate
      Src: /src/glib/glib/tests/gvariant.c:2924,1
    - Dst: g_variant_new_from_data
      Src: /src/glib/glib/tests/gvariant.c:2927,1
    - Dst: g_utf8_validate
      Src: /src/glib/glib/tests/gvariant.c:2932,1
    - Dst: g_variant_get_string
      Src: /src/glib/glib/tests/gvariant.c:2932,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:2933,1
    - Dst: g_variant_new_from_data
      Src: /src/glib/glib/tests/gvariant.c:2937,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:2944,1
    - Dst: g_variant_get_string
      Src: /src/glib/glib/tests/gvariant.c:2944,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:2945,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2946
      start: 2917
    functionDepth: 0
    functionLinenumber: 2917
    functionLinenumberEnd: 2946
    functionName: test_utf8
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_variant_new_from_data
    - g_variant_get_string
    - g_variant_unref
    - g_assert_false
    - g_utf8_validate
    linkageType: ''
    returnType: void
    signature: 'static void test_utf8 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_info_unref
      Src: /src/glib/glib/tests/gvariant.c:2118,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:2121,1
    - Dst: g_slice_free
      Src: /src/glib/glib/tests/gvariant.c:2122,1
    - Dst: tree_instance_free
      Src: /src/glib/glib/tests/gvariant.c:2120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - instance
    argTypes:
    - TreeInstance*
    constantsTouched: []
    func_position:
      end: 2123
      start: 2113
    functionDepth: 0
    functionLinenumber: 2113
    functionLinenumberEnd: 2123
    functionName: tree_instance_free
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - tree_instance_free
    - g_free
    - g_variant_type_info_unref
    linkageType: ''
    returnType: void
    signature: 'static void tree_instance_free (TreeInstance *instance) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_string
      Src: /src/glib/glib/tests/gvariant.c:2951,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/gvariant.c:2953,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2954
      start: 2948
    functionDepth: 0
    functionLinenumber: 2948
    functionLinenumberEnd: 2954
    functionName: test_utf8_bad_new_string
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_new_string
    - g_assert_not_reached
    linkageType: ''
    returnType: void
    signature: 'static void test_utf8_bad_new_string (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:5588,1
    - Dst: g_variant_is_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5609,1
    - Dst: g_variant_new_from_data
      Src: /src/glib/glib/tests/gvariant.c:5606,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5607,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:5609,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5611,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5612,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:5613,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/tests/gvariant.c:5613,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/glib/tests/gvariant.c:5615,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:5616,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5620,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5621,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5619,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:5617,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5622
      start: 5569
    functionDepth: 0
    functionLinenumber: 5569
    functionLinenumberEnd: 5622
    functionName: test_normal_checking_tuple_offsets3
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_is_normal_form
    - g_assert_cmpvariant
    - g_variant_new_from_data
    - g_assert_nonnull
    - g_assert_cmpuint
    - g_variant_get_size
    - g_variant_get_normal_form
    - g_variant_unref
    - g_variant_new_parsed
    - g_assert_false
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: void
    signature: 'static void test_normal_checking_tuple_offsets3 (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tree_instance_new
      Src: /src/glib/glib/tests/gvariant.c:2306,1
    - Dst: g_variant_new_from_data
      Src: /src/glib/glib/tests/gvariant.c:2309,1
    - Dst: g_variant_type_info_get_type_string
      Src: /src/glib/glib/tests/gvariant.c:2309,1
    - Dst: serialise_tree
      Src: /src/glib/glib/tests/gvariant.c:2307,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:2309,1
    - Dst: serialise_tree
      Src: /src/glib/glib/tests/gvariant.c:2313,1
    - Dst: g_variant_new_from_data
      Src: /src/glib/glib/tests/gvariant.c:2318,1
    - Dst: g_variant_byteswap
      Src: /src/glib/glib/tests/gvariant.c:2334,1
    - Dst: g_variant_equal
      Src: /src/glib/glib/tests/gvariant.c:2343,1
    - Dst: g_malloc
      Src: /src/glib/glib/tests/gvariant.c:2328,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:2346,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:2341,1
    - Dst: tree_instance_free
      Src: /src/glib/glib/tests/gvariant.c:2351,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:2344,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:2350,1
    - Dst: serialise_tree
      Src: /src/glib/glib/tests/gvariant.c:2314,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:2318,1
    - Dst: g_variant_type_info_get_type_string
      Src: /src/glib/glib/tests/gvariant.c:2318,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:2332,1
    - Dst: memcpy
      Src: /src/glib/glib/tests/gvariant.c:2329,1
    - Dst: g_variant_type_info_get_type_string
      Src: /src/glib/glib/tests/gvariant.c:2332,1
    - Dst: g_variant_new_from_data
      Src: /src/glib/glib/tests/gvariant.c:2332,1
    - Dst: g_variant_byteswap
      Src: /src/glib/glib/tests/gvariant.c:2320,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:2348,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:2349,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:2355,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:2347,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:2353,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:2354,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:2352,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2356
      start: 2292
    functionDepth: 0
    functionLinenumber: 2292
    functionLinenumberEnd: 2356
    functionName: test_byteswap
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_variant_equal
    - g_assert_cmpvariant
    - g_variant_byteswap
    - g_variant_new_from_data
    - g_free
    - g_malloc
    - g_variant_unref
    - tree_instance_new
    - serialise_tree
    - tree_instance_free
    - G_VARIANT_TYPE
    - g_variant_type_info_get_type_string
    linkageType: ''
    returnType: void
    signature: 'static void test_byteswap (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/gvariant.c:2892,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/gvariant.c:2893,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/gvariant.c:2894,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - test
    - pattern
    argTypes:
    - char*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2895
      start: 2888
    functionDepth: 0
    functionLinenumber: 2888
    functionLinenumberEnd: 2895
    functionName: do_failed_test
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_failed
    - g_test_trap_subprocess
    - g_test_trap_assert_stderr
    linkageType: ''
    returnType: void
    signature: 'static void do_failed_test (const char *test, const gchar *pattern) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:5717,1
    - Dst: g_variant_new_from_data
      Src: /src/glib/glib/tests/gvariant.c:5726,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:5729,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/gvariant.c:5724,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5727,1
    - Dst: g_variant_is_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5729,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5731,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5732,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/glib/tests/gvariant.c:5734,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:5735,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:5736,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5738,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5739,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5740,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5741
      start: 5690
    functionDepth: 0
    functionLinenumber: 5690
    functionLinenumberEnd: 5741
    functionName: test_normal_checking_tuple_offsets5
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_is_normal_form
    - g_assert_cmpvariant
    - g_variant_new_from_data
    - g_assert_nonnull
    - g_test_bug
    - g_variant_get_normal_form
    - g_variant_unref
    - g_variant_new_parsed
    - g_assert_false
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: void
    signature: 'static void test_normal_checking_tuple_offsets5 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_byteswap
      Src: /src/glib/glib/tests/gvariant.c:2364,1
    - Dst: g_variant_type_info_assert_no_infos
      Src: /src/glib/glib/tests/gvariant.c:2366,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2367
      start: 2358
    functionDepth: 0
    functionLinenumber: 2358
    functionLinenumberEnd: 2367
    functionName: test_byteswaps
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - test_byteswap
    - g_variant_type_info_assert_no_infos
    linkageType: ''
    returnType: void
    signature: 'static void test_byteswaps (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_string
      Src: /src/glib/glib/tests/gvariant.c:2903,1
    - Dst: g_variant_new_take_string
      Src: /src/glib/glib/tests/gvariant.c:2908,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:2905,1
    - Dst: g_variant_get_string
      Src: /src/glib/glib/tests/gvariant.c:2904,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:2904,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gvariant.c:2908,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:2909,1
    - Dst: g_variant_get_string
      Src: /src/glib/glib/tests/gvariant.c:2909,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:2910,1
    - Dst: g_variant_new_printf
      Src: /src/glib/glib/tests/gvariant.c:2912,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:2913,1
    - Dst: g_variant_get_string
      Src: /src/glib/glib/tests/gvariant.c:2913,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:2914,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2915
      start: 2897
    functionDepth: 0
    functionLinenumber: 2897
    functionLinenumberEnd: 2915
    functionName: test_string
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_variant_new_printf
    - g_variant_new_take_string
    - g_assert_cmpstr
    - g_variant_get_string
    - g_variant_new_string
    - g_variant_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_string (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:5647,1
    - Dst: g_variant_is_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5667,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5665,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:5667,1
    - Dst: g_variant_new_from_data
      Src: /src/glib/glib/tests/gvariant.c:5664,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5669,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5670,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:5671,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/tests/gvariant.c:5671,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/glib/tests/gvariant.c:5673,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:5674,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5678,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:5675,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5677,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5679,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5680
      start: 5628
    functionDepth: 0
    functionLinenumber: 5628
    functionLinenumberEnd: 5680
    functionName: test_normal_checking_tuple_offsets4
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_is_normal_form
    - g_assert_cmpvariant
    - g_variant_new_from_data
    - g_assert_nonnull
    - g_assert_cmpuint
    - g_variant_get_size
    - g_variant_get_normal_form
    - g_variant_unref
    - g_variant_new_parsed
    - g_assert_false
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: void
    signature: 'static void test_normal_checking_tuple_offsets4 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/tests/gvariant.c:1978,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/gvariant.c:1982,1
    - Dst: append_type_string
      Src: /src/glib/glib/tests/gvariant.c:1980,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/gvariant.c:1981,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/gvariant.c:1979,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1985
      start: 1971
    functionDepth: 0
    functionLinenumber: 1971
    functionLinenumberEnd: 1985
    functionName: make_random_definite_type
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_string_free
    - append_type_string
    - g_string_new
    linkageType: ''
    returnType: GVariantType*
    signature: 'static GVariantType *make_random_definite_type (int depth) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_bound
      Src: /src/glib/glib/tests/gvariant.c:4295,1
    - Dst: test_bound
      Src: /src/glib/glib/tests/gvariant.c:4299,1
    - Dst: test_bound
      Src: /src/glib/glib/tests/gvariant.c:4298,1
    - Dst: test_bound
      Src: /src/glib/glib/tests/gvariant.c:4296,1
    - Dst: test_bound
      Src: /src/glib/glib/tests/gvariant.c:4297,1
    - Dst: test_bound
      Src: /src/glib/glib/tests/gvariant.c:4300,1
    - Dst: test_bound
      Src: /src/glib/glib/tests/gvariant.c:4301,1
    - Dst: test_bound
      Src: /src/glib/glib/tests/gvariant.c:4302,1
    - Dst: test_bound
      Src: /src/glib/glib/tests/gvariant.c:4303,1
    - Dst: test_bound
      Src: /src/glib/glib/tests/gvariant.c:4304,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4307
      start: 4281
    functionDepth: 0
    functionLinenumber: 4281
    functionLinenumberEnd: 4307
    functionName: test_parser_integer_bounds
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - test_bound
    linkageType: ''
    returnType: void
    signature: 'static void test_parser_integer_bounds (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_VARIANT_BUILDER_INIT
      Src: /src/glib/glib/tests/gvariant.c:5132,1
    - Dst: g_variant_new_string
      Src: /src/glib/glib/tests/gvariant.c:5134,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/tests/gvariant.c:5134,1
    - Dst: g_variant_new_variant
      Src: /src/glib/glib/tests/gvariant.c:5134,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/tests/gvariant.c:5135,1
    - Dst: g_variant_new_variant
      Src: /src/glib/glib/tests/gvariant.c:5135,1
    - Dst: g_variant_new_string
      Src: /src/glib/glib/tests/gvariant.c:5135,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/tests/gvariant.c:5137,1
    - Dst: g_variant_builder_end
      Src: /src/glib/glib/tests/gvariant.c:5137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5138
      start: 5129
    functionDepth: 0
    functionLinenumber: 5129
    functionLinenumberEnd: 5138
    functionName: get_asv
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - G_VARIANT_BUILDER_INIT
    - g_variant_ref_sink
    - g_variant_new_string
    - g_variant_builder_end
    - g_variant_builder_add
    - g_variant_new_variant
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *get_asv (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_from_data
      Src: /src/glib/glib/tests/gvariant.c:5198,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5200,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5205,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5203,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5202,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5207
      start: 5187
    functionDepth: 0
    functionLinenumber: 5187
    functionLinenumberEnd: 5207
    functionName: test_normal_checking_tuples
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_get_normal_form
    - g_variant_new_from_data
    - g_assert_nonnull
    - g_variant_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_normal_checking_tuples (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_STATIC_ASSERT
      Src: /src/glib/glib/tests/gvariant.c:5884,1
    - Dst: g_variant_new_from_data
      Src: /src/glib/glib/tests/gvariant.c:5890,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/gvariant.c:5886,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5895,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5893,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5896,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5898,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5899,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5902
      start: 5863
    functionDepth: 0
    functionLinenumber: 5863
    functionLinenumberEnd: 5902
    functionName: test_unaligned_construction
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - G_STATIC_ASSERT
    - G_N_ELEMENTS
    - g_variant_new_from_data
    - g_assert_nonnull
    - g_variant_get_normal_form
    - g_variant_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_unaligned_construction (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_rand_int_range
      Src: /src/glib/glib/tests/gvariant.c:1998,1
    - Dst: strlen
      Src: /src/glib/glib/tests/gvariant.c:1998,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/glib/tests/gvariant.c:2002,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - string
    - size
    - type
    argTypes:
    - gchar*
    - gsize
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 2006
      start: 1987
    functionDepth: 0
    functionLinenumber: 1987
    functionLinenumberEnd: 2006
    functionName: make_random_string
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_type_peek_string
    - g_test_rand_int_range
    - strlen
    linkageType: ''
    returnType: void
    signature: 'static void make_random_string (gchar *string, gsize size, const GVariantType
      *type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_VARIANT_DICT_INIT
      Src: /src/glib/glib/tests/gvariant.c:5144,1
    - Dst: g_variant_dict_lookup
      Src: /src/glib/glib/tests/gvariant.c:5153,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:5161,1
    - Dst: g_variant_dict_end
      Src: /src/glib/glib/tests/gvariant.c:5164,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5181,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:5152,1
    - Dst: g_variant_dict_lookup
      Src: /src/glib/glib/tests/gvariant.c:5159,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:5159,1
    - Dst: g_variant_dict_lookup
      Src: /src/glib/glib/tests/gvariant.c:5161,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:5166,1
    - Dst: g_variant_get_type
      Src: /src/glib/glib/tests/gvariant.c:5166,1
    - Dst: g_variant_iter_init
      Src: /src/glib/glib/tests/gvariant.c:5170,1
    - Dst: g_variant_iter_next
      Src: /src/glib/glib/tests/gvariant.c:5171,1
    - Dst: g_variant_get_string
      Src: /src/glib/glib/tests/gvariant.c:5175,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:5176,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:5153,1
    - Dst: g_variant_dict_insert_value
      Src: /src/glib/glib/tests/gvariant.c:5156,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:5160,1
    - Dst: g_variant_dict_insert_value
      Src: /src/glib/glib/tests/gvariant.c:5157,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/tests/gvariant.c:5164,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:5162,1
    - Dst: g_variant_new_string
      Src: /src/glib/glib/tests/gvariant.c:5157,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5165,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:5168,1
    - Dst: g_ascii_strup
      Src: /src/glib/glib/tests/gvariant.c:5173,1
    - Dst: get_asv
      Src: /src/glib/glib/tests/gvariant.c:5143,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:5151,1
    - Dst: g_variant_dict_lookup
      Src: /src/glib/glib/tests/gvariant.c:5151,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:5154,1
    - Dst: g_variant_new_string
      Src: /src/glib/glib/tests/gvariant.c:5156,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:5166,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/tests/gvariant.c:5168,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:5175,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:5177,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5178,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5182,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5183
      start: 5140
    functionDepth: 0
    functionLinenumber: 5140
    functionLinenumberEnd: 5183
    functionName: test_stack_dict_init
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_iter_next
    - g_variant_dict_insert_value
    - get_asv
    - g_assert_true
    - g_variant_dict_lookup
    - G_VARIANT_DICT_INIT
    - g_assert_nonnull
    - g_variant_get_string
    - g_variant_unref
    - g_variant_type_equal
    - g_variant_iter_init
    - g_ascii_strup
    - g_variant_get_type
    - g_assert_cmpuint
    - g_variant_ref_sink
    - g_variant_n_children
    - g_variant_dict_end
    - g_assert_cmpstr
    - g_variant_new_string
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_stack_dict_init (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:5909,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:5909,1
    - Dst: g_variant_type_hash
      Src: /src/glib/glib/tests/gvariant.c:5911,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:5911,1
    - Dst: g_variant_type_hash
      Src: /src/glib/glib/tests/gvariant.c:5909,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:5913,1
    - Dst: g_variant_type_hash
      Src: /src/glib/glib/tests/gvariant.c:5913,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:5913,1
    - Dst: g_variant_type_hash
      Src: /src/glib/glib/tests/gvariant.c:5915,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:5915,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:5917,1
    - Dst: g_variant_type_hash
      Src: /src/glib/glib/tests/gvariant.c:5917,1
    - Dst: g_variant_type_hash
      Src: /src/glib/glib/tests/gvariant.c:5919,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:5917,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5920
      start: 5904
    functionDepth: 0
    functionLinenumber: 5904
    functionLinenumberEnd: 5920
    functionName: test_g_variant_type_hash
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_type_hash
    - G_VARIANT_TYPE
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_g_variant_type_hash (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/glib/tests/gvariant.c:676,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:688,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:690,1
    - Dst: g_variant_type_string_is_valid
      Src: /src/glib/glib/tests/gvariant.c:688,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 691
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 691
    functionName: test_gvarianttype_string_scan_recursion_tuple
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_new0
    - g_free
    - g_variant_type_string_is_valid
    linkageType: ''
    returnType: void
    signature: 'static void test_gvarianttype_string_scan_recursion_tuple (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_str_has_suffix
      Src: /src/glib/glib/tests/gvariant.c:3702,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:3709,1
    - Dst: g_variant_get_va
      Src: /src/glib/glib/tests/gvariant.c:3705,1
    - Dst: va_start
      Src: /src/glib/glib/tests/gvariant.c:3704,1
    - Dst: va_end
      Src: /src/glib/glib/tests/gvariant.c:3706,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - value
    - format
    - '...'
    argTypes:
    - GVariant*
    - gchar*
    constantsTouched: []
    func_position:
      end: 3710
      start: 3693
    functionDepth: 0
    functionLinenumber: 3693
    functionLinenumberEnd: 3710
    functionName: hash_get
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_str_has_suffix
    - g_variant_get_va
    - va_end
    - va_start
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void hash_get (GVariant *value, const gchar *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:5521,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5551,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5549,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5552,1
    - Dst: g_variant_new_from_data
      Src: /src/glib/glib/tests/gvariant.c:5548,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:5553,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/tests/gvariant.c:5553,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/glib/tests/gvariant.c:5555,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:5557,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:5558,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5561,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5562,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5560,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5563
      start: 5518
    functionDepth: 0
    functionLinenumber: 5518
    functionLinenumberEnd: 5563
    functionName: test_normal_checking_tuple_offsets2
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_assert_cmpvariant
    - g_variant_new_from_data
    - g_assert_nonnull
    - g_assert_cmpuint
    - g_variant_get_size
    - g_variant_get_normal_form
    - g_variant_unref
    - g_variant_new_parsed
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: void
    signature: 'static void test_normal_checking_tuple_offsets2 (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_str_has_suffix
      Src: /src/glib/glib/tests/gvariant.c:3721,1
    - Dst: g_variant_new_va
      Src: /src/glib/glib/tests/gvariant.c:3724,1
    - Dst: va_end
      Src: /src/glib/glib/tests/gvariant.c:3725,1
    - Dst: va_start
      Src: /src/glib/glib/tests/gvariant.c:3723,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:3728,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3731
      start: 3712
    functionDepth: 0
    functionLinenumber: 3712
    functionLinenumberEnd: 3731
    functionName: hash_new
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_str_has_suffix
    - g_variant_new_va
    - va_end
    - va_start
    - g_assert_cmpint
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *hash_new (const gchar *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/gvariant.c:5046,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gvariant.c:5049,1
    - Dst: g_variant_parse_error_print_context
      Src: /src/glib/glib/tests/gvariant.c:5050,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5051,1
    - Dst: g_variant_parse
      Src: /src/glib/glib/tests/gvariant.c:5048,1
    - Dst: strstr
      Src: /src/glib/glib/tests/gvariant.c:5051,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:5052,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/gvariant.c:5053,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5055
      start: 5030
    functionDepth: 0
    functionLinenumber: 5030
    functionLinenumberEnd: 5055
    functionName: test_print_context
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_variant_parse
    - g_assert_null
    - G_N_ELEMENTS
    - g_assert_nonnull
    - strstr
    - g_free
    - g_variant_parse_error_print_context
    linkageType: ''
    returnType: void
    signature: 'static void test_print_context (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc0
      Src: /src/glib/glib/tests/gvariant.c:4316,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/gvariant.c:4328,1
    - Dst: g_variant_parse
      Src: /src/glib/glib/tests/gvariant.c:4325,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/gvariant.c:4326,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gvariant.c:4327,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:4329,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4330
      start: 4310
    functionDepth: 0
    functionLinenumber: 4310
    functionLinenumberEnd: 4330
    functionName: test_parser_recursion
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_parse
    - g_assert_null
    - g_malloc0
    - g_error_free
    - g_free
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_parser_recursion (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_variant
      Src: /src/glib/glib/tests/gvariant.c:5224,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/gvariant.c:5224,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5234,1
    - Dst: g_variant_is_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5243,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5250,1
    - Dst: g_variant_new_string
      Src: /src/glib/glib/tests/gvariant.c:5221,1
    - Dst: g_variant_is_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5231,1
    - Dst: g_variant_get_data_as_bytes
      Src: /src/glib/glib/tests/gvariant.c:5239,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:5243,1
    - Dst: g_variant_is_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5251,1
    - Dst: g_variant_get_data_as_bytes
      Src: /src/glib/glib/tests/gvariant.c:5227,1
    - Dst: g_variant_new_from_bytes
      Src: /src/glib/glib/tests/gvariant.c:5228,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5230,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:5231,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5245,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:5251,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5255,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/gvariant.c:5233,1
    - Dst: g_variant_new_from_bytes
      Src: /src/glib/glib/tests/gvariant.c:5240,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5242,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/gvariant.c:5237,1
    - Dst: g_variant_new_from_bytes
      Src: /src/glib/glib/tests/gvariant.c:5248,1
    - Dst: g_variant_new_variant
      Src: /src/glib/glib/tests/gvariant.c:5237,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/gvariant.c:5253,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5254,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5256
      start: 5211
    functionDepth: 0
    functionLinenumber: 5211
    functionLinenumberEnd: 5256
    functionName: test_recursion_limits_variant_in_variant
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_assert_true
    - g_variant_is_normal_form
    - g_variant_new_from_bytes
    - g_assert_nonnull
    - g_bytes_unref
    - g_variant_new_string
    - g_variant_unref
    - g_assert_false
    - g_variant_get_data_as_bytes
    - g_variant_new_variant
    linkageType: ''
    returnType: void
    signature: 'static void test_recursion_limits_variant_in_variant (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new
      Src: /src/glib/glib/tests/gvariant.c:3086,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/gvariant.c:3088,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3089
      start: 3083
    functionDepth: 0
    functionLinenumber: 3083
    functionLinenumberEnd: 3089
    functionName: test_varargs_empty_array
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_new
    - g_assert_not_reached
    linkageType: ''
    returnType: void
    signature: 'static void test_varargs_empty_array (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new
      Src: /src/glib/glib/tests/gvariant.c:3128,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:3190,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/glib/tests/gvariant.c:3220,1
    - Dst: g_assert_cmpstrv
      Src: /src/glib/glib/tests/gvariant.c:3240,1
    - Dst: g_variant_iter_init
      Src: /src/glib/glib/tests/gvariant.c:3216,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:3269,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/tests/gvariant.c:3284,1
    - Dst: g_variant_iter_init
      Src: /src/glib/glib/tests/gvariant.c:3346,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:3379,1
    - Dst: g_variant_new
      Src: /src/glib/glib/tests/gvariant.c:3388,1
    - Dst: g_variant_print
      Src: /src/glib/glib/tests/gvariant.c:3428,1
    - Dst: do_failed_test
      Src: /src/glib/glib/tests/gvariant.c:3686,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/glib/tests/gvariant.c:3426,1
    - Dst: g_variant_get
      Src: /src/glib/glib/tests/gvariant.c:3493,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:3543,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:3292,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3164,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:3148,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/glib/tests/gvariant.c:3101,1
    - Dst: g_variant_new_double
      Src: /src/glib/glib/tests/gvariant.c:3104,1
    - Dst: check_and_free
      Src: /src/glib/glib/tests/gvariant.c:3125,1
    - Dst: check_and_free
      Src: /src/glib/glib/tests/gvariant.c:3121,1
    - Dst: g_variant_iter_next
      Src: /src/glib/glib/tests/gvariant.c:3237,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/gvariant.c:3314,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:3315,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/tests/gvariant.c:3332,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:3640,1
    - Dst: g_variant_get
      Src: /src/glib/glib/tests/gvariant.c:3652,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/tests/gvariant.c:3679,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/gvariant.c:3363,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:3617,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:3682,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:3221,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/glib/tests/gvariant.c:3231,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/tests/gvariant.c:3212,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/tests/gvariant.c:3261,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:3276,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3362,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/tests/gvariant.c:3386,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/glib/tests/gvariant.c:3391,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:3418,1
    - Dst: g_variant_get
      Src: /src/glib/glib/tests/gvariant.c:3451,1
    - Dst: g_variant_iter_next_value
      Src: /src/glib/glib/tests/gvariant.c:3423,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/tests/gvariant.c:3382,1
    - Dst: g_variant_new_dict_entry
      Src: /src/glib/glib/tests/gvariant.c:3102,1
    - Dst: g_variant_new
      Src: /src/glib/glib/tests/gvariant.c:3105,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:3158,1
    - Dst: g_variant_iter_init
      Src: /src/glib/glib/tests/gvariant.c:3395,1
    - Dst: g_variant_iter_init
      Src: /src/glib/glib/tests/gvariant.c:3400,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/glib/tests/gvariant.c:3401,1
    - Dst: g_variant_iter_next
      Src: /src/glib/glib/tests/gvariant.c:3357,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3459,1
    - Dst: memset
      Src: /src/glib/glib/tests/gvariant.c:3507,1
    - Dst: g_variant_get
      Src: /src/glib/glib/tests/gvariant.c:3529,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:3644,1
    - Dst: g_variant_get
      Src: /src/glib/glib/tests/gvariant.c:3626,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/tests/gvariant.c:3214,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3243,1
    - Dst: g_variant_new
      Src: /src/glib/glib/tests/gvariant.c:3264,1
    - Dst: g_variant_iter_new
      Src: /src/glib/glib/tests/gvariant.c:3265,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/glib/tests/gvariant.c:3301,1
    - Dst: g_variant_iter_next
      Src: /src/glib/glib/tests/gvariant.c:3336,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/glib/tests/gvariant.c:3450,1
    - Dst: g_variant_iter_free
      Src: /src/glib/glib/tests/gvariant.c:3305,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:3398,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:3541,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gvariant.c:3547,1
    - Dst: g_variant_iter_free
      Src: /src/glib/glib/tests/gvariant.c:3343,1
    - Dst: g_assert_cmpstrv
      Src: /src/glib/glib/tests/gvariant.c:3359,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/glib/tests/gvariant.c:3406,1
    - Dst: g_variant_iter_next
      Src: /src/glib/glib/tests/gvariant.c:3238,1
    - Dst: g_variant_iter_free
      Src: /src/glib/glib/tests/gvariant.c:3235,1
    - Dst: g_variant_builder_init
      Src: /src/glib/glib/tests/gvariant.c:3097,1
    - Dst: g_variant_new_string
      Src: /src/glib/glib/tests/gvariant.c:3100,1
    - Dst: g_variant_new_variant
      Src: /src/glib/glib/tests/gvariant.c:3103,1
    - Dst: g_variant_new
      Src: /src/glib/glib/tests/gvariant.c:3112,1
    - Dst: g_variant_builder_end
      Src: /src/glib/glib/tests/gvariant.c:3151,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:3191,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:3341,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/glib/tests/gvariant.c:3350,1
    - Dst: g_variant_builder_init
      Src: /src/glib/glib/tests/gvariant.c:3281,1
    - Dst: memset
      Src: /src/glib/glib/tests/gvariant.c:3621,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:3364,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:3520,1
    - Dst: g_variant_iter_next
      Src: /src/glib/glib/tests/gvariant.c:3347,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/tests/gvariant.c:3384,1
    - Dst: g_variant_builder_close
      Src: /src/glib/glib/tests/gvariant.c:3385,1
    - Dst: g_variant_iter_init
      Src: /src/glib/glib/tests/gvariant.c:3227,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/gvariant.c:3146,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:3175,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/glib/tests/gvariant.c:3179,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:3245,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/glib/tests/gvariant.c:3267,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3277,1
    - Dst: g_variant_new
      Src: /src/glib/glib/tests/gvariant.c:3285,1
    - Dst: g_variant_iter_init
      Src: /src/glib/glib/tests/gvariant.c:3286,1
    - Dst: g_variant_iter_free
      Src: /src/glib/glib/tests/gvariant.c:3294,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/gvariant.c:3424,1
    - Dst: g_variant_get
      Src: /src/glib/glib/tests/gvariant.c:3508,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:3416,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:3452,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:3352,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:3448,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:3185,1
    - Dst: g_variant_builder_add_parsed
      Src: /src/glib/glib/tests/gvariant.c:3098,1
    - Dst: g_variant_new
      Src: /src/glib/glib/tests/gvariant.c:3127,1
    - Dst: g_variant_new
      Src: /src/glib/glib/tests/gvariant.c:3129,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/tests/gvariant.c:3282,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:3303,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/tests/gvariant.c:3331,1
    - Dst: g_variant_iter_init
      Src: /src/glib/glib/tests/gvariant.c:3335,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/glib/tests/gvariant.c:3339,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:3340,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:3407,1
    - Dst: g_variant_iter_free
      Src: /src/glib/glib/tests/gvariant.c:3434,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:3393,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3671,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:3544,1
    - Dst: g_variant_new
      Src: /src/glib/glib/tests/gvariant.c:3126,1
    - Dst: g_variant_iter_init
      Src: /src/glib/glib/tests/gvariant.c:3172,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/glib/tests/gvariant.c:3173,1
    - Dst: g_variant_builder_init
      Src: /src/glib/glib/tests/gvariant.c:3211,1
    - Dst: g_variant_new
      Src: /src/glib/glib/tests/gvariant.c:3215,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/tests/gvariant.c:3262,1
    - Dst: g_variant_iter_free
      Src: /src/glib/glib/tests/gvariant.c:3278,1
    - Dst: g_variant_builder_init
      Src: /src/glib/glib/tests/gvariant.c:3378,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/tests/gvariant.c:3387,1
    - Dst: g_variant_iter_init
      Src: /src/glib/glib/tests/gvariant.c:3390,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:3641,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/glib/tests/gvariant.c:3413,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3645,1
    - Dst: g_variant_new
      Src: /src/glib/glib/tests/gvariant.c:3678,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/gvariant.c:3157,1
    - Dst: g_variant_new
      Src: /src/glib/glib/tests/gvariant.c:3121,1
    - Dst: g_variant_iter_next
      Src: /src/glib/glib/tests/gvariant.c:3287,1
    - Dst: g_variant_iter_next
      Src: /src/glib/glib/tests/gvariant.c:3308,1
    - Dst: g_variant_iter_free
      Src: /src/glib/glib/tests/gvariant.c:3354,1
    - Dst: g_variant_iter_next
      Src: /src/glib/glib/tests/gvariant.c:3356,1
    - Dst: g_assert_cmpstrv
      Src: /src/glib/glib/tests/gvariant.c:3360,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/tests/gvariant.c:3436,1
    - Dst: g_variant_get_child
      Src: /src/glib/glib/tests/gvariant.c:3440,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:3566,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3572,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/glib/tests/gvariant.c:3668,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:3684,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:3222,1
    - Dst: g_variant_new
      Src: /src/glib/glib/tests/gvariant.c:3130,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/glib/tests/gvariant.c:3155,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/tests/gvariant.c:3168,1
    - Dst: g_variant_iter_next
      Src: /src/glib/glib/tests/gvariant.c:3228,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/tests/gvariant.c:3213,1
    - Dst: g_variant_iter_next
      Src: /src/glib/glib/tests/gvariant.c:3217,1
    - Dst: g_variant_iter_free
      Src: /src/glib/glib/tests/gvariant.c:3224,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:3211,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/glib/tests/gvariant.c:3274,1
    - Dst: g_variant_get_child
      Src: /src/glib/glib/tests/gvariant.c:3447,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:3429,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3453,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/gvariant.c:3421,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:3232,1
    - Dst: check_and_free
      Src: /src/glib/glib/tests/gvariant.c:3105,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/tests/gvariant.c:3147,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:3159,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:3281,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/tests/gvariant.c:3283,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/tests/gvariant.c:3333,1
    - Dst: g_variant_new
      Src: /src/glib/glib/tests/gvariant.c:3479,1
    - Dst: memset
      Src: /src/glib/glib/tests/gvariant.c:3524,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:3567,1
    - Dst: g_variant_new
      Src: /src/glib/glib/tests/gvariant.c:3576,1
    - Dst: memset
      Src: /src/glib/glib/tests/gvariant.c:3604,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3669,1
    - Dst: g_variant_iter_init
      Src: /src/glib/glib/tests/gvariant.c:3411,1
    - Dst: g_variant_print
      Src: /src/glib/glib/tests/gvariant.c:3415,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:3408,1
    - Dst: g_variant_iter_copy
      Src: /src/glib/glib/tests/gvariant.c:3412,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:3638,1
    - Dst: g_variant_builder_init
      Src: /src/glib/glib/tests/gvariant.c:3143,1
    - Dst: g_variant_iter_init
      Src: /src/glib/glib/tests/gvariant.c:3152,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:3194,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3196,1
    - Dst: g_assert_cmpstrv
      Src: /src/glib/glib/tests/gvariant.c:3241,1
    - Dst: g_variant_builder_init
      Src: /src/glib/glib/tests/gvariant.c:3260,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/tests/gvariant.c:3263,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:3302,1
    - Dst: g_assert_cmpstrv
      Src: /src/glib/glib/tests/gvariant.c:3310,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:3351,1
    - Dst: g_variant_new
      Src: /src/glib/glib/tests/gvariant.c:3587,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/glib/tests/gvariant.c:3644,1
    - Dst: g_variant_get
      Src: /src/glib/glib/tests/gvariant.c:3554,1
    - Dst: g_variant_builder_add
      Src: /src/glib/glib/tests/gvariant.c:3099,1
    - Dst: check_and_free
      Src: /src/glib/glib/tests/gvariant.c:3112,1
    - Dst: g_variant_builder_init
      Src: /src/glib/glib/tests/gvariant.c:3166,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:3233,1
    - Dst: g_variant_iter_init
      Src: /src/glib/glib/tests/gvariant.c:3272,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:3291,1
    - Dst: g_variant_iter_next
      Src: /src/glib/glib/tests/gvariant.c:3298,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/tests/gvariant.c:3442,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3456,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gvariant.c:3570,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:3664,1
    - Dst: g_variant_print
      Src: /src/glib/glib/tests/gvariant.c:3681,1
    - Dst: g_variant_iter_init
      Src: /src/glib/glib/tests/gvariant.c:3297,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:3378,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:3260,1
    - Dst: g_variant_new
      Src: /src/glib/glib/tests/gvariant.c:3125,1
    - Dst: g_variant_builder_end
      Src: /src/glib/glib/tests/gvariant.c:3169,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:3174,1
    - Dst: g_variant_builder_open
      Src: /src/glib/glib/tests/gvariant.c:3379,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/glib/tests/gvariant.c:3396,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:3431,1
    - Dst: g_assert_cmpstrv
      Src: /src/glib/glib/tests/gvariant.c:3311,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:3665,1
    - Dst: g_variant_new
      Src: /src/glib/glib/tests/gvariant.c:3334,1
    - Dst: g_variant_get
      Src: /src/glib/glib/tests/gvariant.c:3605,1
    - Dst: g_variant_get
      Src: /src/glib/glib/tests/gvariant.c:3590,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:3186,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gvariant.c:3161,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/gvariant.c:3244,1
    - Dst: g_variant_new_string
      Src: /src/glib/glib/tests/gvariant.c:3102,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:3162,1
    - Dst: g_variant_iter_init
      Src: /src/glib/glib/tests/gvariant.c:3178,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/glib/tests/gvariant.c:3290,1
    - Dst: g_variant_iter_next
      Src: /src/glib/glib/tests/gvariant.c:3307,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3313,1
    - Dst: g_variant_builder_init
      Src: /src/glib/glib/tests/gvariant.c:3330,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:3668,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3683,1
    - Dst: g_variant_type_info_assert_no_infos
      Src: /src/glib/glib/tests/gvariant.c:3690,1
    CyclomaticComplexity: 142
    EdgeCount: 142
    ICount: 453
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3691
      start: 3091
    functionDepth: 0
    functionLinenumber: 3091
    functionLinenumberEnd: 3691
    functionName: test_varargs
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_assert_null
    - g_variant_iter_next
    - g_variant_iter_loop
    - g_variant_iter_new
    - g_test_assert_expected_messages
    - g_assert_true
    - g_variant_is_of_type
    - g_strfreev
    - g_variant_unref
    - g_variant_new_double
    - do_failed_test
    - g_variant_get
    - g_variant_builder_end
    - g_variant_builder_add_parsed
    - g_variant_builder_add
    - g_assert_false
    - g_variant_get_child_value
    - g_assert_cmpint
    - g_variant_iter_init
    - g_assert_cmpstrv
    - g_variant_builder_close
    - g_assert_cmpuint
    - g_test_expect_message
    - g_variant_get_child
    - g_variant_print
    - g_variant_iter_next_value
    - g_variant_builder_open
    - G_VARIANT_TYPE
    - g_variant_new_variant
    - memset
    - g_variant_ref_sink
    - g_variant_iter_copy
    - g_variant_type_info_assert_no_infos
    - g_variant_n_children
    - g_assert_cmpstr
    - g_variant_builder_add_value
    - g_variant_new_string
    - g_variant_builder_init
    - g_variant_new
    - check_and_free
    - g_variant_iter_free
    - g_free
    - g_variant_new_dict_entry
    linkageType: ''
    returnType: void
    signature: 'static void test_varargs (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_from_data
      Src: /src/glib/glib/tests/gvariant.c:5325,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:5325,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5330,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5329,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5327,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/glib/tests/gvariant.c:5332,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:5333,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/gvariant.c:5335,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/tests/gvariant.c:5335,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/tests/gvariant.c:5335,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/tests/gvariant.c:5336,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5340,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/tests/gvariant.c:5336,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5338,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5339,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5341
      start: 5314
    functionDepth: 0
    functionLinenumber: 5314
    functionLinenumberEnd: 5341
    functionName: test_normal_checking_array_offsets_overlapped
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_assert_cmpvariant
    - g_variant_new_from_data
    - g_assert_nonnull
    - g_variant_get_size
    - g_variant_get_normal_form
    - g_variant_unref
    - g_variant_new_parsed
    - g_variant_get_data
    - g_assert_cmpmem
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: void
    signature: 'static void test_normal_checking_array_offsets_overlapped (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/tests/gvariant.c:603,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:617,1
    - Dst: g_variant_type_is_subtype_of
      Src: /src/glib/glib/tests/gvariant.c:619,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:645,1
    - Dst: invalid_mutation
      Src: /src/glib/glib/tests/gvariant.c:649,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/gvariant.c:659,1
    - Dst: append_type_string
      Src: /src/glib/glib/tests/gvariant.c:610,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:616,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:616,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:618,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:619,1
    - Dst: g_variant_type_is_subtype_of
      Src: /src/glib/glib/tests/gvariant.c:618,1
    - Dst: g_variant_type_string_is_valid
      Src: /src/glib/glib/tests/gvariant.c:650,1
    - Dst: g_variant_type_string_is_valid
      Src: /src/glib/glib/tests/gvariant.c:651,1
    - Dst: append_type_string
      Src: /src/glib/glib/tests/gvariant.c:657,1
    - Dst: g_variant_type_free
      Src: /src/glib/glib/tests/gvariant.c:661,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/gvariant.c:604,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:615,1
    - Dst: g_variant_type_hash
      Src: /src/glib/glib/tests/gvariant.c:617,1
    - Dst: g_variant_type_hash
      Src: /src/glib/glib/tests/gvariant.c:617,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:634,1
    - Dst: strcspn
      Src: /src/glib/glib/tests/gvariant.c:634,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:652,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/gvariant.c:660,1
    - Dst: g_variant_type_free
      Src: /src/glib/glib/tests/gvariant.c:662,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:644,1
    - Dst: g_variant_type_is_definite
      Src: /src/glib/glib/tests/gvariant.c:622,1
    - Dst: describe_type
      Src: /src/glib/glib/tests/gvariant.c:641,1
    - Dst: subtype_check
      Src: /src/glib/glib/tests/gvariant.c:630,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:650,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:651,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 664
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 664
    functionName: test_gvarianttype
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - invalid_mutation
    - g_variant_type_hash
    - append_type_string
    - describe_type
    - g_variant_type_is_definite
    - g_assert_true
    - strcspn
    - g_assert_false
    - g_assert_cmpint
    - g_variant_type_equal
    - g_assert_cmpuint
    - g_variant_type_string_is_valid
    - g_string_new
    - G_VARIANT_TYPE
    - g_variant_type_is_subtype_of
    - g_variant_type_free
    - g_assert_cmpstr
    - g_string_free
    - subtype_check
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_gvarianttype (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/gvariant.c:1313,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - body_size
    - n_offsets
    argTypes:
    - gsize
    - gsize
    constantsTouched: []
    func_position:
      end: 1314
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1314
    functionName: calculate_offset_size
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    linkageType: ''
    returnType: gsize
    signature: 'static gsize calculate_offset_size (gsize body_size, gsize n_offsets) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_tuple
      Src: /src/glib/glib/tests/gvariant.c:1798,1
    - Dst: g_variant_type_info_assert_no_infos
      Src: /src/glib/glib/tests/gvariant.c:1800,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1801
      start: 1792
    functionDepth: 0
    functionLinenumber: 1792
    functionLinenumberEnd: 1801
    functionName: test_tuples
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - test_tuple
    - g_variant_type_info_assert_no_infos
    linkageType: ''
    returnType: void
    signature: 'static void test_tuples (void) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_serialised_n_children
      Src: /src/glib/glib/tests/gvariant.c:2221,1
    - Dst: g_variant_serialised_get_child
      Src: /src/glib/glib/tests/gvariant.c:2231,1
    - Dst: g_variant_type_info_unref
      Src: /src/glib/glib/tests/gvariant.c:2235,1
    - Dst: check_tree
      Src: /src/glib/glib/tests/gvariant.c:2234,1
    - Dst: g_malloc0
      Src: /src/glib/glib/tests/gvariant.c:2233,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:2236,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:2250,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:2255,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:2260,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:2265,1
    - Dst: memcmp
      Src: /src/glib/glib/tests/gvariant.c:2273,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 2
    argNames:
    - instance
    - serialised
    argTypes:
    - TreeInstance*
    - GVariantSerialised
    constantsTouched: []
    func_position:
      end: 2278
      start: 2209
    functionDepth: 0
    functionLinenumber: 2209
    functionLinenumberEnd: 2278
    functionName: check_tree
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_malloc0
    - g_assert_cmpuint
    - g_variant_serialised_n_children
    - g_variant_serialised_get_child
    - g_variant_type_info_unref
    - check_tree
    - g_free
    - memcmp
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean check_tree (TreeInstance *instance, GVariantSerialised
      serialised) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_take_string
      Src: /src/glib/glib/tests/gvariant.c:2959,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gvariant.c:2959,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/gvariant.c:2961,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2962
      start: 2956
    functionDepth: 0
    functionLinenumber: 2956
    functionLinenumberEnd: 2962
    functionName: test_utf8_bad_new_take_string
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_new_take_string
    - g_assert_not_reached
    - g_strdup
    linkageType: ''
    returnType: void
    signature: 'static void test_utf8_bad_new_take_string (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:5103,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:5104,1
    - Dst: g_variant_builder_init_static
      Src: /src/glib/glib/tests/gvariant.c:5092,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/glib/tests/gvariant.c:5093,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/glib/tests/gvariant.c:5094,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/glib/tests/gvariant.c:5095,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/glib/tests/gvariant.c:5096,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/glib/tests/gvariant.c:5097,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:5101,1
    - Dst: g_variant_get_bytestring
      Src: /src/glib/glib/tests/gvariant.c:5104,1
    - Dst: g_variant_get_type
      Src: /src/glib/glib/tests/gvariant.c:5101,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/tests/gvariant.c:5103,1
    - Dst: g_variant_new_byte
      Src: /src/glib/glib/tests/gvariant.c:5093,1
    - Dst: g_variant_new_byte
      Src: /src/glib/glib/tests/gvariant.c:5094,1
    - Dst: g_variant_new_byte
      Src: /src/glib/glib/tests/gvariant.c:5095,1
    - Dst: g_variant_new_byte
      Src: /src/glib/glib/tests/gvariant.c:5096,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/tests/gvariant.c:5099,1
    - Dst: g_variant_builder_end
      Src: /src/glib/glib/tests/gvariant.c:5099,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5100,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:5101,1
    - Dst: g_variant_new_byte
      Src: /src/glib/glib/tests/gvariant.c:5097,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5106
      start: 5086
    functionDepth: 0
    functionLinenumber: 5086
    functionLinenumberEnd: 5106
    functionName: test_stack_builder_init_static
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - g_variant_type_equal
    - g_assert_true
    - g_variant_new_byte
    - g_variant_get_type
    - g_variant_n_children
    - g_variant_builder_init_static
    - g_assert_nonnull
    - g_assert_cmpuint
    - g_assert_cmpstr
    - g_variant_get_bytestring
    - g_variant_builder_add_value
    - g_variant_unref
    - g_variant_builder_end
    linkageType: ''
    returnType: void
    signature: 'static void test_stack_builder_init_static (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:1319,1
    - Dst: g_malloc
      Src: /src/glib/glib/tests/gvariant.c:1324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - size
    - flavour
    argTypes:
    - gsize
    - gsize
    constantsTouched: []
    func_position:
      end: 1325
      start: 1316
    functionDepth: 0
    functionLinenumber: 1316
    functionLinenumberEnd: 1325
    functionName: flavoured_malloc
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_assert_cmpuint
    - g_malloc
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer flavoured_malloc (gsize size, gsize flavour) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_info_get
      Src: /src/glib/glib/tests/gvariant.c:1813,1
    - Dst: g_variant_type_info_get_type_string
      Src: /src/glib/glib/tests/gvariant.c:1816,1
    - Dst: g_variant_serialiser_needed_size
      Src: /src/glib/glib/tests/gvariant.c:1819,1
    - Dst: align_malloc
      Src: /src/glib/glib/tests/gvariant.c:1828,1
    - Dst: append_instance_data
      Src: /src/glib/glib/tests/gvariant.c:1829,1
    - Dst: random_instance_check
      Src: /src/glib/glib/tests/gvariant.c:1866,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:1865,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:1834,1
    - Dst: flavoured_malloc
      Src: /src/glib/glib/tests/gvariant.c:1850,1
    - Dst: g_variant_serialiser_serialise
      Src: /src/glib/glib/tests/gvariant.c:1856,1
    - Dst: g_variant_serialised_get_child
      Src: /src/glib/glib/tests/gvariant.c:1864,1
    - Dst: g_variant_serialised_n_children
      Src: /src/glib/glib/tests/gvariant.c:1862,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:1862,1
    - Dst: flavoured_free
      Src: /src/glib/glib/tests/gvariant.c:1869,1
    - Dst: random_instance_free
      Src: /src/glib/glib/tests/gvariant.c:1874,1
    - Dst: align_free
      Src: /src/glib/glib/tests/gvariant.c:1875,1
    - Dst: strlen
      Src: /src/glib/glib/tests/gvariant.c:1817,1
    - Dst: random_instance
      Src: /src/glib/glib/tests/gvariant.c:1814,1
    - Dst: g_variant_type_info_unref
      Src: /src/glib/glib/tests/gvariant.c:1868,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:1823,1
    - Dst: memcpy
      Src: /src/glib/glib/tests/gvariant.c:1831,1
    - Dst: memcmp
      Src: /src/glib/glib/tests/gvariant.c:1860,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:1860,1
    - Dst: g_variant_type_info_unref
      Src: /src/glib/glib/tests/gvariant.c:1873,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 54
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1876
      start: 1803
    functionDepth: 0
    functionLinenumber: 1803
    functionLinenumberEnd: 1876
    functionName: test_variant
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - memcpy
    - random_instance_check
    - g_variant_type_info_get
    - g_assert_true
    - g_variant_serialised_n_children
    - align_free
    - g_variant_type_info_unref
    - random_instance_free
    - g_assert_cmpint
    - strlen
    - append_instance_data
    - flavoured_malloc
    - g_variant_serialiser_needed_size
    - g_assert_cmpuint
    - flavoured_free
    - g_variant_serialiser_serialise
    - memcmp
    - random_instance
    - align_malloc
    - g_variant_serialised_get_child
    - g_variant_type_info_get_type_string
    linkageType: ''
    returnType: void
    signature: 'static void test_variant (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tree_filler
      Src: /src/glib/glib/tests/gvariant.c:2287,1
    - Dst: tree_filler
      Src: /src/glib/glib/tests/gvariant.c:2289,1
    - Dst: g_malloc
      Src: /src/glib/glib/tests/gvariant.c:2288,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - tree
    - serialised
    argTypes:
    - TreeInstance*
    - GVariantSerialised*
    constantsTouched: []
    func_position:
      end: 2290
      start: 2280
    functionDepth: 0
    functionLinenumber: 2280
    functionLinenumberEnd: 2290
    functionName: serialise_tree
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - tree_filler
    - g_malloc
    linkageType: ''
    returnType: void
    signature: 'static void serialise_tree (TreeInstance *tree, GVariantSerialised
      *serialised) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/gvariant.c:2967,1
    - Dst: do_failed_test
      Src: /src/glib/glib/tests/gvariant.c:2969,1
    - Dst: do_failed_test
      Src: /src/glib/glib/tests/gvariant.c:2972,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2975
      start: 2964
    functionDepth: 0
    functionLinenumber: 2964
    functionLinenumberEnd: 2975
    functionName: test_utf8_new_strings
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_test_undefined
    - do_failed_test
    linkageType: ''
    returnType: void
    signature: 'static void test_utf8_new_strings (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_VARIANT_BUILDER_INIT_UNSET
      Src: /src/glib/glib/tests/gvariant.c:5111,1
    - Dst: G_VARIANT_BUILDER_INIT_UNSET
      Src: /src/glib/glib/tests/gvariant.c:5112,1
    - Dst: g_variant_builder_init_static
      Src: /src/glib/glib/tests/gvariant.c:5118,1
    - Dst: g_variant_builder_clear
      Src: /src/glib/glib/tests/gvariant.c:5116,1
    - Dst: G_VARIANT_BUILDER_INIT_UNSET
      Src: /src/glib/glib/tests/gvariant.c:5113,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/glib/tests/gvariant.c:5119,1
    - Dst: g_variant_new_byte
      Src: /src/glib/glib/tests/gvariant.c:5119,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/tests/gvariant.c:5120,1
    - Dst: g_variant_builder_end
      Src: /src/glib/glib/tests/gvariant.c:5120,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5121,1
    - Dst: g_variant_builder_clear
      Src: /src/glib/glib/tests/gvariant.c:5123,1
    - Dst: g_variant_builder_clear
      Src: /src/glib/glib/tests/gvariant.c:5126,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5122,1
    - Dst: g_variant_builder_init
      Src: /src/glib/glib/tests/gvariant.c:5125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5127
      start: 5108
    functionDepth: 0
    functionLinenumber: 5108
    functionLinenumberEnd: 5127
    functionName: test_stack_builder_init_unset
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - G_VARIANT_BUILDER_INIT_UNSET
    - g_variant_new_byte
    - g_variant_builder_init_static
    - g_assert_nonnull
    - g_variant_builder_clear
    - g_variant_builder_add_value
    - g_variant_unref
    - g_variant_builder_init
    - g_variant_builder_end
    linkageType: ''
    returnType: void
    signature: 'static void test_stack_builder_init_unset (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_string_append_c
      Src: /src/glib/glib/tests/gvariant.c:202,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/glib/tests/gvariant.c:205,1
    - Dst: append_type_string
      Src: /src/glib/glib/tests/gvariant.c:210,1
    - Dst: g_string_append
      Src: /src/glib/glib/tests/gvariant.c:203,1
    - Dst: g_new
      Src: /src/glib/glib/tests/gvariant.c:206,1
    - Dst: g_string_append
      Src: /src/glib/glib/tests/gvariant.c:213,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/tests/gvariant.c:218,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/tests/gvariant.c:219,1
    - Dst: g_variant_type_new_tuple
      Src: /src/glib/glib/tests/gvariant.c:221,1
    - Dst: g_variant_type_new_tuple
      Src: /src/glib/glib/tests/gvariant.c:222,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:223,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:223,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:227,1
    - Dst: g_variant_type_free
      Src: /src/glib/glib/tests/gvariant.c:224,1
    - Dst: g_variant_type_free
      Src: /src/glib/glib/tests/gvariant.c:226,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 230
    functionName: append_tuple_type_string
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_type_equal
    - g_assert_true
    - g_new
    - g_variant_type_free
    - g_string_append_c
    - g_test_rand_int_range
    - g_free
    - g_variant_type_new_tuple
    - append_type_string
    - g_string_append
    linkageType: ''
    returnType: GVariantType*
    signature: 'static GVariantType *append_tuple_type_string (GString *string, GString
      *description, gboolean definite, gint depth) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/glib/tests/gvariant.c:1157,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:1162,1
    - Dst: random_type_string
      Src: /src/glib/glib/tests/gvariant.c:1161,1
    - Dst: g_variant_type_info_get
      Src: /src/glib/glib/tests/gvariant.c:1162,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:1163,1
    - Dst: g_variant_type_info_ref
      Src: /src/glib/glib/tests/gvariant.c:1166,1
    - Dst: g_test_rand_int
      Src: /src/glib/glib/tests/gvariant.c:1168,1
    - Dst: g_variant_type_info_query
      Src: /src/glib/glib/tests/gvariant.c:1170,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/glib/tests/gvariant.c:1177,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1182
    functionName: random_instance
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - random_type_string
    - g_variant_type_info_ref
    - g_test_rand_int
    - g_test_rand_int_range
    - g_variant_type_info_query
    - g_slice_new
    - g_free
    - g_variant_type_info_get
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: RandomInstance*
    signature: 'static RandomInstance *random_instance (GVariantTypeInfo *type_info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: random_instance_write
      Src: /src/glib/glib/tests/gvariant.c:1221,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - instance
    - buffer
    argTypes:
    - RandomInstance*
    - guchar**
    constantsTouched: []
    func_position:
      end: 1223
      start: 1214
    functionDepth: 0
    functionLinenumber: 1214
    functionLinenumberEnd: 1223
    functionName: append_instance_data
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - random_instance_write
    linkageType: ''
    returnType: void
    signature: 'static void append_instance_data (RandomInstance *instance, guchar
      **buffer) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_iter_next_value
      Src: /src/glib/glib/tests/gvariant.c:2796,1
    - Dst: g_variant_iter_new
      Src: /src/glib/glib/tests/gvariant.c:2802,1
    - Dst: g_variant_is_container
      Src: /src/glib/glib/tests/gvariant.c:2798,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:2803,1
    - Dst: g_variant_iter_n_children
      Src: /src/glib/glib/tests/gvariant.c:2805,1
    - Dst: g_variant_iter_free
      Src: /src/glib/glib/tests/gvariant.c:2807,1
    - Dst: tree_instance_check_iter
      Src: /src/glib/glib/tests/gvariant.c:2812,1
    - Dst: g_variant_iter_free
      Src: /src/glib/glib/tests/gvariant.c:2814,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gvariant.c:2818,1
    - Dst: g_variant_iter_next_value
      Src: /src/glib/glib/tests/gvariant.c:2818,1
    - Dst: g_variant_iter_free
      Src: /src/glib/glib/tests/gvariant.c:2819,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:2829,1
    - Dst: tree_instance_check_gvariant
      Src: /src/glib/glib/tests/gvariant.c:2828,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - tree
    - iter
    argTypes:
    - TreeInstance*
    - GVariantIter*
    constantsTouched: []
    func_position:
      end: 2833
      start: 2790
    functionDepth: 0
    functionLinenumber: 2790
    functionLinenumberEnd: 2833
    functionName: tree_instance_check_iter
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - tree_instance_check_gvariant
    - g_assert_null
    - g_variant_is_container
    - g_variant_unref
    - g_variant_iter_next_value
    - g_variant_iter_n_children
    - g_variant_iter_free
    - tree_instance_check_iter
    - g_variant_iter_new
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean tree_instance_check_iter (TreeInstance *tree, GVariantIter
      *iter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_info_unref
      Src: /src/glib/glib/tests/gvariant.c:1187,1
    - Dst: g_slice_free
      Src: /src/glib/glib/tests/gvariant.c:1188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - instance
    argTypes:
    - RandomInstance*
    constantsTouched: []
    func_position:
      end: 1189
      start: 1184
    functionDepth: 0
    functionLinenumber: 1184
    functionLinenumberEnd: 1189
    functionName: random_instance_free
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_variant_type_info_unref
    linkageType: ''
    returnType: void
    signature: 'static void random_instance_free (RandomInstance *instance) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:1233,1
    - Dst: g_rand_new_with_seed
      Src: /src/glib/glib/tests/gvariant.c:1237,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:1234,1
    - Dst: g_rand_int
      Src: /src/glib/glib/tests/gvariant.c:1240,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:1235,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:1242,1
    - Dst: g_rand_free
      Src: /src/glib/glib/tests/gvariant.c:1244,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - instance
    - buffer
    - size
    argTypes:
    - RandomInstance*
    - guchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 1247
      start: 1225
    functionDepth: 0
    functionLinenumber: 1225
    functionLinenumberEnd: 1247
    functionName: random_instance_assert
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_rand_int
    - g_assert_true
    - g_assert_cmpuint
    - g_rand_new_with_seed
    - g_rand_free
    - g_assert_cmpint
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean random_instance_assert (RandomInstance *instance,
      guchar *buffer, gsize size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tree_instance_get_gvariant
      Src: /src/glib/glib/tests/gvariant.c:2843,1
    - Dst: g_variant_print
      Src: /src/glib/glib/tests/gvariant.c:2845,1
    - Dst: tree_instance_check_gvariant
      Src: /src/glib/glib/tests/gvariant.c:2851,1
    - Dst: tree_instance_build_gvariant
      Src: /src/glib/glib/tests/gvariant.c:2864,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:2874,1
    - Dst: tree_instance_free
      Src: /src/glib/glib/tests/gvariant.c:2882,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:2883,1
    - Dst: tree_instance_check_gvariant
      Src: /src/glib/glib/tests/gvariant.c:2846,1
    - Dst: g_variant_print
      Src: /src/glib/glib/tests/gvariant.c:2850,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:2853,1
    - Dst: g_variant_builder_init
      Src: /src/glib/glib/tests/gvariant.c:2863,1
    - Dst: g_variant_iter_init
      Src: /src/glib/glib/tests/gvariant.c:2873,1
    - Dst: tree_instance_check_iter
      Src: /src/glib/glib/tests/gvariant.c:2874,1
    - Dst: g_variant_iter_next_value
      Src: /src/glib/glib/tests/gvariant.c:2875,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:2879,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:2884,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:2885,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:2846,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:2851,1
    - Dst: g_variant_builder_end
      Src: /src/glib/glib/tests/gvariant.c:2865,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:2871,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gvariant.c:2875,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:2877,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:2878,1
    - Dst: tree_instance_new
      Src: /src/glib/glib/tests/gvariant.c:2842,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/tests/gvariant.c:2843,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/tests/gvariant.c:2848,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/tests/gvariant.c:2867,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/tests/gvariant.c:2866,1
    - Dst: g_variant_print
      Src: /src/glib/glib/tests/gvariant.c:2870,1
    - Dst: g_variant_is_container
      Src: /src/glib/glib/tests/gvariant.c:2855,1
    - Dst: g_variant_get_variant
      Src: /src/glib/glib/tests/gvariant.c:2868,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2886
      start: 2835
    functionDepth: 0
    functionLinenumber: 2835
    functionLinenumberEnd: 2886
    functionName: test_container
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_assert_null
    - tree_instance_new
    - tree_instance_check_gvariant
    - g_assert_true
    - g_variant_unref
    - tree_instance_get_gvariant
    - g_variant_builder_end
    - g_variant_iter_init
    - g_variant_get_variant
    - g_variant_is_container
    - g_variant_print
    - g_variant_iter_next_value
    - g_variant_get_data
    - tree_instance_build_gvariant
    - g_variant_ref_sink
    - tree_instance_free
    - g_assert_cmpstr
    - g_variant_builder_init
    - tree_instance_check_iter
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_container (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:1333,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - data
    - flavour
    argTypes:
    - gpointer
    - gsize
    constantsTouched: []
    func_position:
      end: 1334
      start: 1327
    functionDepth: 0
    functionLinenumber: 1327
    functionLinenumberEnd: 1334
    functionName: flavoured_free
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void flavoured_free (gpointer data, gsize flavour) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_parsed
      Src: /src/glib/glib/tests/gvariant.c:4458,1
    - Dst: g_variant_new_uint32
      Src: /src/glib/glib/tests/gvariant.c:4458,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/gvariant.c:4460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4461
      start: 4455
    functionDepth: 0
    functionLinenumber: 4455
    functionLinenumberEnd: 4461
    functionName: test_parse_bad_args
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_new_uint32
    - g_assert_not_reached
    - g_variant_new_parsed
    linkageType: ''
    returnType: void
    signature: 'static void test_parse_bad_args (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5063
      start: 5057
    functionDepth: 0
    functionLinenumber: 5057
    functionLinenumberEnd: 5063
    functionName: test_error_quark
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_error_quark (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/gvariant.c:5286,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5287,1
    - Dst: g_variant_get_data_as_bytes
      Src: /src/glib/glib/tests/gvariant.c:5292,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:5296,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5308,1
    - Dst: g_variant_new_string
      Src: /src/glib/glib/tests/gvariant.c:5274,1
    - Dst: g_variant_new_array
      Src: /src/glib/glib/tests/gvariant.c:5277,1
    - Dst: g_variant_new_from_bytes
      Src: /src/glib/glib/tests/gvariant.c:5281,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5283,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5298,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/gvariant.c:5290,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5303,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5307,1
    - Dst: g_variant_is_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5284,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5295,1
    - Dst: g_variant_new_from_bytes
      Src: /src/glib/glib/tests/gvariant.c:5293,1
    - Dst: g_variant_new_from_bytes
      Src: /src/glib/glib/tests/gvariant.c:5301,1
    - Dst: g_variant_new_variant
      Src: /src/glib/glib/tests/gvariant.c:5290,1
    - Dst: g_variant_is_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5304,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/gvariant.c:5306,1
    - Dst: g_variant_get_type
      Src: /src/glib/glib/tests/gvariant.c:5281,1
    - Dst: g_variant_get_data_as_bytes
      Src: /src/glib/glib/tests/gvariant.c:5280,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:5284,1
    - Dst: g_variant_is_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5296,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:5304,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5309
      start: 5263
    functionDepth: 0
    functionLinenumber: 5263
    functionLinenumberEnd: 5309
    functionName: test_recursion_limits_array_in_variant
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_assert_true
    - g_variant_is_normal_form
    - g_variant_get_type
    - g_variant_new_from_bytes
    - g_assert_nonnull
    - g_bytes_unref
    - g_variant_new_string
    - g_variant_unref
    - g_assert_false
    - g_variant_get_data_as_bytes
    - g_variant_new_array
    - g_variant_new_variant
    linkageType: ''
    returnType: void
    signature: 'static void test_recursion_limits_array_in_variant (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_from_data
      Src: /src/glib/glib/tests/gvariant.c:5848,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5855,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5853,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5850,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5852,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5856,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5857
      start: 5837
    functionDepth: 0
    functionLinenumber: 5837
    functionLinenumberEnd: 5857
    functionName: test_normal_checking_empty_object_path
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_get_normal_form
    - g_variant_new_from_data
    - g_assert_nonnull
    - g_variant_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_normal_checking_empty_object_path (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: posix_memalign
      Src: /src/glib/glib/tests/gvariant.c:1347,1
    - Dst: MAX
      Src: /src/glib/glib/tests/gvariant.c:1347,1
    - Dst: g_error
      Src: /src/glib/glib/tests/gvariant.c:1348,1
    - Dst: malloc
      Src: /src/glib/glib/tests/gvariant.c:1354,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - size
    argTypes:
    - gsize
    constantsTouched: []
    func_position:
      end: 1358
      start: 1336
    functionDepth: 0
    functionLinenumber: 1336
    functionLinenumberEnd: 1358
    functionName: align_malloc
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_error
    - malloc
    - MAX
    - posix_memalign
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer align_malloc (gsize size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_and_free
      Src: /src/glib/glib/tests/gvariant.c:4467,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/glib/tests/gvariant.c:4470,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:4472,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/glib/tests/gvariant.c:4472,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/glib/tests/gvariant.c:4467,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:4472,1
    - Dst: check_and_free
      Src: /src/glib/glib/tests/gvariant.c:4473,1
    - Dst: check_and_free
      Src: /src/glib/glib/tests/gvariant.c:4474,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/glib/tests/gvariant.c:4474,1
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/gvariant.c:4476,1
    - Dst: do_failed_test
      Src: /src/glib/glib/tests/gvariant.c:4484,1
    - Dst: do_failed_test
      Src: /src/glib/glib/tests/gvariant.c:4481,1
    - Dst: do_failed_test
      Src: /src/glib/glib/tests/gvariant.c:4478,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4487
      start: 4463
    functionDepth: 0
    functionLinenumber: 4463
    functionLinenumberEnd: 4487
    functionName: test_parse_positional
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_variant_is_of_type
    - g_test_undefined
    - check_and_free
    - g_variant_new_parsed
    - do_failed_test
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: void
    signature: 'static void test_parse_positional (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_byte
      Src: /src/glib/glib/tests/gvariant.c:5071,1
    - Dst: g_variant_builder_end
      Src: /src/glib/glib/tests/gvariant.c:5077,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:5082,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/glib/tests/gvariant.c:5071,1
    - Dst: g_variant_new_byte
      Src: /src/glib/glib/tests/gvariant.c:5074,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:5079,1
    - Dst: g_variant_get_bytestring
      Src: /src/glib/glib/tests/gvariant.c:5082,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/glib/tests/gvariant.c:5072,1
    - Dst: g_variant_new_byte
      Src: /src/glib/glib/tests/gvariant.c:5072,1
    - Dst: g_variant_new_byte
      Src: /src/glib/glib/tests/gvariant.c:5073,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/glib/tests/gvariant.c:5075,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/tests/gvariant.c:5077,1
    - Dst: g_variant_new_byte
      Src: /src/glib/glib/tests/gvariant.c:5075,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5078,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/tests/gvariant.c:5081,1
    - Dst: G_VARIANT_BUILDER_INIT
      Src: /src/glib/glib/tests/gvariant.c:5068,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/glib/tests/gvariant.c:5073,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/glib/tests/gvariant.c:5074,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:5081,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:5079,1
    - Dst: g_variant_get_type
      Src: /src/glib/glib/tests/gvariant.c:5079,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5083,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5084
      start: 5065
    functionDepth: 0
    functionLinenumber: 5065
    functionLinenumberEnd: 5084
    functionName: test_stack_builder_init
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - G_VARIANT_BUILDER_INIT
    - g_variant_ref_sink
    - g_variant_type_equal
    - g_assert_true
    - g_variant_new_byte
    - g_variant_get_type
    - g_variant_n_children
    - g_assert_nonnull
    - g_assert_cmpuint
    - g_variant_get_bytestring
    - g_assert_cmpstr
    - g_variant_builder_add_value
    - g_variant_unref
    - g_variant_builder_end
    linkageType: ''
    returnType: void
    signature: 'static void test_stack_builder_init (void) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gvariant.c:294,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:274,1
    - Dst: strchr
      Src: /src/glib/glib/tests/gvariant.c:298,1
    - Dst: randomly
      Src: /src/glib/glib/tests/gvariant.c:242,1
    - Dst: randomly
      Src: /src/glib/glib/tests/gvariant.c:252,1
    - Dst: strchr
      Src: /src/glib/glib/tests/gvariant.c:262,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/glib/tests/gvariant.c:299,1
    - Dst: randomly
      Src: /src/glib/glib/tests/gvariant.c:290,1
    - Dst: strchr
      Src: /src/glib/glib/tests/gvariant.c:301,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:302,1
    - Dst: randomly
      Src: /src/glib/glib/tests/gvariant.c:319,1
    - Dst: randomly
      Src: /src/glib/glib/tests/gvariant.c:322,1
    - Dst: randomly
      Src: /src/glib/glib/tests/gvariant.c:323,1
    - Dst: g_malloc
      Src: /src/glib/glib/tests/gvariant.c:340,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/gvariant.c:250,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/glib/tests/gvariant.c:265,1
    - Dst: randomly
      Src: /src/glib/glib/tests/gvariant.c:281,1
    - Dst: memcpy
      Src: /src/glib/glib/tests/gvariant.c:344,1
    - Dst: strchr
      Src: /src/glib/glib/tests/gvariant.c:239,1
    - Dst: strchr
      Src: /src/glib/glib/tests/gvariant.c:240,1
    - Dst: strchr
      Src: /src/glib/glib/tests/gvariant.c:261,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/glib/tests/gvariant.c:266,1
    - Dst: strchr
      Src: /src/glib/glib/tests/gvariant.c:270,1
    - Dst: randomly
      Src: /src/glib/glib/tests/gvariant.c:292,1
    - Dst: strchr
      Src: /src/glib/glib/tests/gvariant.c:271,1
    - Dst: randomly
      Src: /src/glib/glib/tests/gvariant.c:325,1
    - Dst: randomly
      Src: /src/glib/glib/tests/gvariant.c:327,1
    - Dst: strlen
      Src: /src/glib/glib/tests/gvariant.c:339,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/glib/tests/gvariant.c:341,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/glib/tests/gvariant.c:330,1
    - Dst: memcpy
      Src: /src/glib/glib/tests/gvariant.c:342,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 112
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 349
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 349
    functionName: invalid_mutation
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_strdup
    - g_assert_true
    - strlen
    - g_test_rand_int_range
    - g_malloc
    - strchr
    - randomly
    - g_assert_cmpint
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *invalid_mutation (const gchar *type_string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_append
      Src: /src/glib/glib/tests/gvariant.c:5777,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:5780,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/glib/tests/gvariant.c:5783,1
    - Dst: g_variant_builder_end
      Src: /src/glib/glib/tests/gvariant.c:5785,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:5789,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:5795,1
    - Dst: g_malloc0
      Src: /src/glib/glib/tests/gvariant.c:5802,1
    - Dst: g_variant_new_from_data
      Src: /src/glib/glib/tests/gvariant.c:5803,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/gvariant.c:5808,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/tests/gvariant.c:5811,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:5812,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/tests/gvariant.c:5775,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/tests/gvariant.c:5778,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/tests/gvariant.c:5790,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/tests/gvariant.c:5791,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/tests/gvariant.c:5815,1
    - Dst: g_variant_is_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5821,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:5827,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5830,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5831,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5819,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/tests/gvariant.c:5825,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/gvariant.c:5774,1
    - Dst: g_variant_builder_init
      Src: /src/glib/glib/tests/gvariant.c:5780,1
    - Dst: g_variant_new_array
      Src: /src/glib/glib/tests/gvariant.c:5783,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/tests/gvariant.c:5794,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:5790,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:5803,1
    - Dst: g_variant_is_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5810,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5829,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/gvariant.c:5832,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/tests/gvariant.c:5826,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:5823,1
    - Dst: g_variant_is_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5789,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/tests/gvariant.c:5793,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:5791,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:5810,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:5811,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/tests/gvariant.c:5812,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/tests/gvariant.c:5814,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:5816,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:5822,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/tests/gvariant.c:5822,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/tests/gvariant.c:5823,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:5821,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 65
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5833
      start: 5747
    functionDepth: 0
    functionLinenumber: 5747
    functionLinenumberEnd: 5833
    functionName: test_normal_checking_tuple_offsets_minimal_sized
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_variant_new_from_data
    - g_variant_get_size
    - g_assert_true
    - g_variant_unref
    - g_assert_false
    - g_variant_builder_end
    - g_variant_is_normal_form
    - g_assert_cmpuint
    - g_variant_get_normal_form
    - g_variant_get_data
    - g_string_new
    - G_VARIANT_TYPE
    - g_string_append
    - g_malloc0
    - g_string_append_c
    - g_variant_n_children
    - g_variant_builder_add_value
    - g_variant_builder_init
    - g_string_free
    - g_variant_new_array
    linkageType: ''
    returnType: void
    signature: 'static void test_normal_checking_tuple_offsets_minimal_sized (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_int32
      Src: /src/glib/glib/tests/gvariant.c:4494,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:4495,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/tests/gvariant.c:4496,1
    - Dst: g_variant_is_floating
      Src: /src/glib/glib/tests/gvariant.c:4495,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:4497,1
    - Dst: g_variant_is_floating
      Src: /src/glib/glib/tests/gvariant.c:4497,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4498,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4499
      start: 4489
    functionDepth: 0
    functionLinenumber: 4489
    functionLinenumberEnd: 4499
    functionName: test_floating
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - g_assert_true
    - g_variant_unref
    - g_variant_new_int32
    - g_variant_is_floating
    linkageType: ''
    returnType: void
    signature: 'static void test_floating (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:4763,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:4793,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:4803,1
    - Dst: untrusted
      Src: /src/glib/glib/tests/gvariant.c:4799,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4779,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4754,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4797,1
    - Dst: untrusted
      Src: /src/glib/glib/tests/gvariant.c:4781,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:4789,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4810,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:4768,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4770,1
    - Dst: g_variant_new_object_path
      Src: /src/glib/glib/tests/gvariant.c:4792,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:4808,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4791,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/glib/tests/gvariant.c:4801,1
    - Dst: untrusted
      Src: /src/glib/glib/tests/gvariant.c:4776,1
    - Dst: untrusted
      Src: /src/glib/glib/tests/gvariant.c:4802,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4755,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/glib/tests/gvariant.c:4762,1
    - Dst: g_variant_new_int64
      Src: /src/glib/glib/tests/gvariant.c:4771,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4784,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/glib/tests/gvariant.c:4807,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4759,1
    - Dst: untrusted
      Src: /src/glib/glib/tests/gvariant.c:4761,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/glib/tests/gvariant.c:4767,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4785,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/glib/tests/gvariant.c:4788,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:4748,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4750,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:4773,1
    - Dst: g_variant_new_string
      Src: /src/glib/glib/tests/gvariant.c:4786,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:4800,1
    - Dst: g_variant_new_int16
      Src: /src/glib/glib/tests/gvariant.c:4751,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4764,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4804,1
    - Dst: untrusted
      Src: /src/glib/glib/tests/gvariant.c:4746,1
    - Dst: g_variant_new_uint64
      Src: /src/glib/glib/tests/gvariant.c:4776,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:4778,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4780,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4798,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:4796,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:4787,1
    - Dst: g_variant_new_signature
      Src: /src/glib/glib/tests/gvariant.c:4799,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/glib/tests/gvariant.c:4772,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/glib/tests/gvariant.c:4747,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4765,1
    - Dst: g_variant_new_double
      Src: /src/glib/glib/tests/gvariant.c:4781,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4805,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:4753,1
    - Dst: untrusted
      Src: /src/glib/glib/tests/gvariant.c:4792,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4790,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/glib/tests/gvariant.c:4777,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4809,1
    - Dst: untrusted
      Src: /src/glib/glib/tests/gvariant.c:4756,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4769,1
    - Dst: untrusted
      Src: /src/glib/glib/tests/gvariant.c:4771,1
    - Dst: untrusted
      Src: /src/glib/glib/tests/gvariant.c:4795,1
    - Dst: g_variant_new_uint16
      Src: /src/glib/glib/tests/gvariant.c:4756,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4760,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:4758,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:4783,1
    - Dst: g_variant_new_byte
      Src: /src/glib/glib/tests/gvariant.c:4746,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/glib/tests/gvariant.c:4752,1
    - Dst: g_variant_new_int32
      Src: /src/glib/glib/tests/gvariant.c:4761,1
    - Dst: untrusted
      Src: /src/glib/glib/tests/gvariant.c:4766,1
    - Dst: untrusted
      Src: /src/glib/glib/tests/gvariant.c:4806,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/glib/tests/gvariant.c:4794,1
    - Dst: g_variant_new_boolean
      Src: /src/glib/glib/tests/gvariant.c:4806,1
    - Dst: g_variant_new_uint32
      Src: /src/glib/glib/tests/gvariant.c:4766,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4775,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4774,1
    - Dst: untrusted
      Src: /src/glib/glib/tests/gvariant.c:4786,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/glib/tests/gvariant.c:4782,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4749,1
    - Dst: untrusted
      Src: /src/glib/glib/tests/gvariant.c:4751,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/glib/tests/gvariant.c:4757,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 104
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4811
      start: 4740
    functionDepth: 0
    functionLinenumber: 4740
    functionLinenumberEnd: 4811
    functionName: test_equal
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_new_boolean
    - g_variant_new_byte
    - g_assert_cmpvariant
    - g_variant_new_signature
    - g_variant_new_int16
    - g_variant_get_normal_form
    - g_variant_unref
    - g_variant_new_uint16
    - g_variant_new_int32
    - g_variant_new_double
    - g_variant_new_string
    - untrusted
    - g_variant_new_int64
    - g_variant_new_uint32
    - g_variant_new_uint64
    - g_variant_new_object_path
    linkageType: ''
    returnType: void
    signature: 'static void test_equal (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/gvariant.c:4511,1
    - Dst: g_variant_is_floating
      Src: /src/glib/glib/tests/gvariant.c:4514,1
    - Dst: g_variant_print
      Src: /src/glib/glib/tests/gvariant.c:4517,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/gvariant.c:4527,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/gvariant.c:4535,1
    - Dst: g_strjoinv
      Src: /src/glib/glib/tests/gvariant.c:4538,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:4540,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:4541,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:4546,1
    - Dst: g_variant_get_child
      Src: /src/glib/glib/tests/gvariant.c:4555,1
    - Dst: g_strjoinv
      Src: /src/glib/glib/tests/gvariant.c:4556,1
    - Dst: g_variant_get_child
      Src: /src/glib/glib/tests/gvariant.c:4561,1
    - Dst: g_variant_get_bytestring
      Src: /src/glib/glib/tests/gvariant.c:4578,1
    - Dst: g_variant_get_child
      Src: /src/glib/glib/tests/gvariant.c:4543,1
    - Dst: g_variant_get_child
      Src: /src/glib/glib/tests/gvariant.c:4565,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:4552,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:4521,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4524,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:4529,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:4530,1
    - Dst: g_strjoinv
      Src: /src/glib/glib/tests/gvariant.c:4544,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:4547,1
    - Dst: g_strjoinv
      Src: /src/glib/glib/tests/gvariant.c:4550,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:4553,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/gvariant.c:4557,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:4562,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/glib/tests/gvariant.c:4577,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:4559,1
    - Dst: g_variant_new_from_data
      Src: /src/glib/glib/tests/gvariant.c:4576,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:4573,1
    - Dst: g_variant_new_bytestring_array
      Src: /src/glib/glib/tests/gvariant.c:4513,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:4514,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4518,1
    - Dst: g_variant_parse
      Src: /src/glib/glib/tests/gvariant.c:4520,1
    - Dst: g_variant_dup_bytestring_array
      Src: /src/glib/glib/tests/gvariant.c:4523,1
    - Dst: g_strjoinv
      Src: /src/glib/glib/tests/gvariant.c:4526,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/gvariant.c:4532,1
    - Dst: g_variant_new
      Src: /src/glib/glib/tests/gvariant.c:4533,1
    - Dst: g_variant_get_child
      Src: /src/glib/glib/tests/gvariant.c:4537,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:4539,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:4570,1
    - Dst: g_variant_get_child
      Src: /src/glib/glib/tests/gvariant.c:4549,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:4551,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/gvariant.c:4515,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:4558,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:4569,1
    - Dst: g_variant_get_child
      Src: /src/glib/glib/tests/gvariant.c:4572,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4574,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:4576,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4581,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:4563,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/gvariant.c:4545,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:4566,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4580,1
    - Dst: g_variant_get_child
      Src: /src/glib/glib/tests/gvariant.c:4568,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 71
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4582
      start: 4501
    functionDepth: 0
    functionLinenumber: 4501
    functionLinenumberEnd: 4582
    functionName: test_bytestring
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_variant_parse
    - g_variant_new_bytestring_array
    - g_variant_new_from_data
    - g_variant_get_bytestring
    - g_assert_cmpstr
    - g_strfreev
    - g_variant_unref
    - g_variant_get_child
    - g_variant_new
    - g_variant_print
    - g_strjoinv
    - g_strsplit
    - g_variant_is_floating
    - g_variant_get_normal_form
    - g_free
    - g_variant_dup_bytestring_array
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: void
    signature: 'static void test_bytestring (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_parsed
      Src: /src/glib/glib/tests/gvariant.c:4823,1
    - Dst: g_variant_get_fixed_array
      Src: /src/glib/glib/tests/gvariant.c:4824,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4828,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:4827,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:4825,1
    - Dst: g_variant_new_fixed_array
      Src: /src/glib/glib/tests/gvariant.c:4833,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/gvariant.c:4834,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:4835,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/glib/tests/gvariant.c:4835,1
    - Dst: g_variant_get_fixed_array
      Src: /src/glib/glib/tests/gvariant.c:4836,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:4837,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4840,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:4839,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4841
      start: 4813
    functionDepth: 0
    functionLinenumber: 4813
    functionLinenumberEnd: 4841
    functionName: test_fixed_array
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_new_fixed_array
    - G_N_ELEMENTS
    - g_assert_cmpuint
    - g_variant_get_fixed_array
    - g_assert_cmpstr
    - g_variant_unref
    - g_variant_new_parsed
    - g_variant_get_type_string
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_fixed_array (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:5386,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5395,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5394,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5392,1
    - Dst: g_variant_new_from_data
      Src: /src/glib/glib/tests/gvariant.c:5391,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:5396,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/tests/gvariant.c:5396,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/glib/tests/gvariant.c:5398,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:5400,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:5401,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5403,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5404,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5405,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5406
      start: 5372
    functionDepth: 0
    functionLinenumber: 5372
    functionLinenumberEnd: 5406
    functionName: test_normal_checking_array_offsets2
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_assert_cmpvariant
    - g_variant_new_from_data
    - g_assert_nonnull
    - g_assert_cmpuint
    - g_variant_get_size
    - g_variant_get_normal_form
    - g_variant_unref
    - g_variant_new_parsed
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: void
    signature: 'static void test_normal_checking_array_offsets2 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_from_data
      Src: /src/glib/glib/tests/gvariant.c:5501,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5503,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5505,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5508,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5506,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5509,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5510
      start: 5490
    functionDepth: 0
    functionLinenumber: 5490
    functionLinenumberEnd: 5510
    functionName: test_normal_checking_tuple_offsets
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_get_normal_form
    - g_variant_new_from_data
    - g_assert_nonnull
    - g_variant_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_normal_checking_tuple_offsets (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - instance
    - offset
    argTypes:
    - RandomInstance*
    - gsize*
    constantsTouched: []
    func_position:
      end: 1197
      start: 1191
    functionDepth: 0
    functionLinenumber: 1191
    functionLinenumberEnd: 1197
    functionName: append_instance_size
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void append_instance_size (RandomInstance *instance, gsize
      *offset) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:1257,1
    - Dst: g_rand_new_with_seed
      Src: /src/glib/glib/tests/gvariant.c:1262,1
    - Dst: g_rand_free
      Src: /src/glib/glib/tests/gvariant.c:1266,1
    - Dst: g_rand_int
      Src: /src/glib/glib/tests/gvariant.c:1264,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - instance
    - buffer
    - size
    argTypes:
    - RandomInstance*
    - guchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 1269
      start: 1249
    functionDepth: 0
    functionLinenumber: 1249
    functionLinenumberEnd: 1269
    functionName: random_instance_check
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_rand_int
    - g_rand_new_with_seed
    - g_rand_free
    - g_assert_cmpint
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean random_instance_check (RandomInstance *instance, guchar
      *buffer, gsize size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_maybe
      Src: /src/glib/glib/tests/gvariant.c:1487,1
    - Dst: g_variant_type_info_assert_no_infos
      Src: /src/glib/glib/tests/gvariant.c:1489,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1490
      start: 1481
    functionDepth: 0
    functionLinenumber: 1481
    functionLinenumberEnd: 1490
    functionName: test_maybes
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - test_maybe
    - g_variant_type_info_assert_no_infos
    linkageType: ''
    returnType: void
    signature: 'static void test_maybes (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_container
      Src: /src/glib/glib/tests/gvariant.c:2984,1
    - Dst: g_variant_type_info_assert_no_infos
      Src: /src/glib/glib/tests/gvariant.c:2987,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2988
      start: 2977
    functionDepth: 0
    functionLinenumber: 2977
    functionLinenumberEnd: 2988
    functionName: test_containers
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - test_container
    - g_variant_type_info_assert_no_infos
    linkageType: ''
    returnType: void
    signature: 'static void test_containers (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/gvariant.c:2471,1
    - Dst: test_fuzz
      Src: /src/glib/glib/tests/gvariant.c:2474,1
    - Dst: g_variant_type_info_assert_no_infos
      Src: /src/glib/glib/tests/gvariant.c:2476,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 2477
      start: 2465
    functionDepth: 0
    functionLinenumber: 2465
    functionLinenumberEnd: 2477
    functionName: test_fuzzes
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - test_fuzz
    - g_variant_type_info_assert_no_infos
    linkageType: ''
    returnType: void
    signature: 'static void test_fuzzes (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc0
      Src: /src/glib/glib/tests/gvariant.c:4345,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gvariant.c:4357,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/gvariant.c:4356,1
    - Dst: g_variant_parse
      Src: /src/glib/glib/tests/gvariant.c:4355,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/gvariant.c:4353,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/gvariant.c:4358,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:4359,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:4360,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4361
      start: 4339
    functionDepth: 0
    functionLinenumber: 4339
    functionLinenumberEnd: 4361
    functionName: test_parser_recursion_typedecls
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_parse
    - g_strdup_printf
    - g_assert_null
    - g_malloc0
    - g_error_free
    - g_free
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_parser_recursion_typedecls (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new
      Src: /src/glib/glib/tests/gvariant.c:4848,1
    - Dst: g_variant_check_format_string
      Src: /src/glib/glib/tests/gvariant.c:4852,1
    - Dst: g_variant_check_format_string
      Src: /src/glib/glib/tests/gvariant.c:4876,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:4877,1
    - Dst: g_variant_check_format_string
      Src: /src/glib/glib/tests/gvariant.c:4877,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:4882,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4869,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/gvariant.c:4883,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:4885,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:4891,1
    - Dst: g_variant_check_format_string
      Src: /src/glib/glib/tests/gvariant.c:4886,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/gvariant.c:4890,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/tests/gvariant.c:4849,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:4854,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:4856,1
    - Dst: g_variant_check_format_string
      Src: /src/glib/glib/tests/gvariant.c:4861,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:4862,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/gvariant.c:4859,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/gvariant.c:4857,1
    - Dst: g_variant_check_format_string
      Src: /src/glib/glib/tests/gvariant.c:4862,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/gvariant.c:4866,1
    - Dst: g_variant_check_format_string
      Src: /src/glib/glib/tests/gvariant.c:4867,1
    - Dst: g_variant_check_format_string
      Src: /src/glib/glib/tests/gvariant.c:4880,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:4886,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/gvariant.c:4881,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:4894,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:4889,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:4875,1
    - Dst: g_variant_check_format_string
      Src: /src/glib/glib/tests/gvariant.c:4851,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:4851,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:4853,1
    - Dst: g_variant_check_format_string
      Src: /src/glib/glib/tests/gvariant.c:4853,1
    - Dst: g_variant_check_format_string
      Src: /src/glib/glib/tests/gvariant.c:4854,1
    - Dst: g_variant_check_format_string
      Src: /src/glib/glib/tests/gvariant.c:4858,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:4861,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:4867,1
    - Dst: g_variant_new
      Src: /src/glib/glib/tests/gvariant.c:4872,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:4878,1
    - Dst: g_variant_check_format_string
      Src: /src/glib/glib/tests/gvariant.c:4893,1
    - Dst: g_variant_check_format_string
      Src: /src/glib/glib/tests/gvariant.c:4889,1
    - Dst: g_variant_check_format_string
      Src: /src/glib/glib/tests/gvariant.c:4885,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4896,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:4852,1
    - Dst: g_variant_check_format_string
      Src: /src/glib/glib/tests/gvariant.c:4856,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:4858,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/gvariant.c:4864,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:4865,1
    - Dst: g_variant_check_format_string
      Src: /src/glib/glib/tests/gvariant.c:4865,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/tests/gvariant.c:4873,1
    - Dst: g_variant_check_format_string
      Src: /src/glib/glib/tests/gvariant.c:4875,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:4876,1
    - Dst: g_variant_check_format_string
      Src: /src/glib/glib/tests/gvariant.c:4878,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:4880,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/gvariant.c:4888,1
    - Dst: g_variant_check_format_string
      Src: /src/glib/glib/tests/gvariant.c:4891,1
    - Dst: g_variant_check_format_string
      Src: /src/glib/glib/tests/gvariant.c:4894,1
    - Dst: g_variant_check_format_string
      Src: /src/glib/glib/tests/gvariant.c:4882,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:4893,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 61
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4897
      start: 4843
    functionDepth: 0
    functionLinenumber: 4843
    functionLinenumberEnd: 4897
    functionName: test_check_format_string
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - g_test_assert_expected_messages
    - g_assert_true
    - g_variant_check_format_string
    - g_test_expect_message
    - g_variant_unref
    - g_variant_new
    - g_assert_false
    linkageType: ''
    returnType: void
    signature: 'static void test_check_format_string (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:2997,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:2998,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/tests/gvariant.c:2998,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:3005,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:3003,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/tests/gvariant.c:3007,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:3010,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/tests/gvariant.c:3010,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:3013,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/tests/gvariant.c:3013,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:3019,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:3030,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:3016,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:3031,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:3031,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:3026,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:3024,1
    - Dst: g_variant_format_string_scan_type
      Src: /src/glib/glib/tests/gvariant.c:3029,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/tests/gvariant.c:2996,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:3004,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:3006,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/tests/gvariant.c:3002,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:3008,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/tests/gvariant.c:3008,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:3012,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:3015,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:3020,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/tests/gvariant.c:3020,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/tests/gvariant.c:3027,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/tests/gvariant.c:3023,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:3031,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/tests/gvariant.c:3025,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/tests/gvariant.c:2997,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:3000,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/tests/gvariant.c:3000,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/tests/gvariant.c:3005,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/tests/gvariant.c:3003,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:3007,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/tests/gvariant.c:3016,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/tests/gvariant.c:3019,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:3021,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:3023,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/tests/gvariant.c:3026,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gvariant.c:3035,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:3022,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/tests/gvariant.c:3024,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/tests/gvariant.c:3022,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:2996,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:2999,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/tests/gvariant.c:2999,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/tests/gvariant.c:3004,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:3002,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/tests/gvariant.c:3006,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/tests/gvariant.c:3012,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/tests/gvariant.c:3015,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:3017,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/tests/gvariant.c:3017,1
    - Dst: g_variant_type_free
      Src: /src/glib/glib/tests/gvariant.c:3032,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:3027,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:3025,1
    - Dst: g_variant_format_string_scan_type
      Src: /src/glib/glib/tests/gvariant.c:3034,1
    - Dst: g_variant_format_string_scan
      Src: /src/glib/glib/tests/gvariant.c:3021,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 87
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3036
      start: 2990
    functionDepth: 0
    functionLinenumber: 2990
    functionLinenumberEnd: 3036
    functionName: test_format_strings
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_type_equal
    - g_assert_true
    - g_variant_type_free
    - g_assert_null
    - g_variant_format_string_scan_type
    - g_variant_format_string_scan
    - g_assert_false
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: void
    signature: 'static void test_format_strings (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:1206,1
    - Dst: g_rand_new_with_seed
      Src: /src/glib/glib/tests/gvariant.c:1208,1
    - Dst: g_rand_free
      Src: /src/glib/glib/tests/gvariant.c:1211,1
    - Dst: g_rand_int
      Src: /src/glib/glib/tests/gvariant.c:1210,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - instance
    - buffer
    argTypes:
    - RandomInstance*
    - guchar*
    constantsTouched: []
    func_position:
      end: 1212
      start: 1199
    functionDepth: 0
    functionLinenumber: 1199
    functionLinenumberEnd: 1212
    functionName: random_instance_write
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_rand_int
    - g_rand_new_with_seed
    - g_rand_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void random_instance_write (RandomInstance *instance, guchar
      *buffer) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:1277,1
    - Dst: random_instance_write
      Src: /src/glib/glib/tests/gvariant.c:1293,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:1290,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:1289,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - serialised
    - data
    argTypes:
    - GVariantSerialised*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1294
      start: 1271
    functionDepth: 0
    functionLinenumber: 1271
    functionLinenumberEnd: 1294
    functionName: random_instance_filler
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - random_instance_write
    - g_assert_true
    - g_assert_cmpuint
    linkageType: ''
    returnType: void
    signature: 'static void random_instance_filler (GVariantSerialised *serialised,
      gpointer data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: random_instance
      Src: /src/glib/glib/tests/gvariant.c:1523,1
    - Dst: append_instance_size
      Src: /src/glib/glib/tests/gvariant.c:1537,1
    - Dst: calculate_offset_size
      Src: /src/glib/glib/tests/gvariant.c:1543,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:1551,1
    - Dst: g_variant_serialiser_needed_size
      Src: /src/glib/glib/tests/gvariant.c:1526,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:1568,1
    - Dst: g_variant_type_info_query
      Src: /src/glib/glib/tests/gvariant.c:1576,1
    - Dst: flavoured_malloc
      Src: /src/glib/glib/tests/gvariant.c:1584,1
    - Dst: memcmp
      Src: /src/glib/glib/tests/gvariant.c:1594,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:1596,1
    - Dst: align_free
      Src: /src/glib/glib/tests/gvariant.c:1623,1
    - Dst: g_variant_serialised_n_children
      Src: /src/glib/glib/tests/gvariant.c:1596,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:1509,1
    - Dst: g_variant_type_info_get
      Src: /src/glib/glib/tests/gvariant.c:1509,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:1514,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:1603,1
    - Dst: random_instance_assert
      Src: /src/glib/glib/tests/gvariant.c:1605,1
    - Dst: g_variant_type_info_unref
      Src: /src/glib/glib/tests/gvariant.c:1621,1
    - Dst: random_type_string
      Src: /src/glib/glib/tests/gvariant.c:1506,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/gvariant.c:1507,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:1511,1
    - Dst: g_variant_type_info_element
      Src: /src/glib/glib/tests/gvariant.c:1511,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:1513,1
    - Dst: g_new
      Src: /src/glib/glib/tests/gvariant.c:1521,1
    - Dst: align_malloc
      Src: /src/glib/glib/tests/gvariant.c:1558,1
    - Dst: append_offset
      Src: /src/glib/glib/tests/gvariant.c:1564,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:1567,1
    - Dst: g_variant_serialiser_serialise
      Src: /src/glib/glib/tests/gvariant.c:1590,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:1618,1
    - Dst: g_variant_type_info_unref
      Src: /src/glib/glib/tests/gvariant.c:1622,1
    - Dst: g_variant_type_info_get
      Src: /src/glib/glib/tests/gvariant.c:1510,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:1510,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/glib/tests/gvariant.c:1520,1
    - Dst: g_variant_type_info_query
      Src: /src/glib/glib/tests/gvariant.c:1539,1
    - Dst: append_instance_data
      Src: /src/glib/glib/tests/gvariant.c:1563,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:1594,1
    - Dst: g_variant_serialised_get_child
      Src: /src/glib/glib/tests/gvariant.c:1602,1
    - Dst: g_variant_type_info_unref
      Src: /src/glib/glib/tests/gvariant.c:1606,1
    - Dst: flavoured_free
      Src: /src/glib/glib/tests/gvariant.c:1609,1
    - Dst: random_instance_free
      Src: /src/glib/glib/tests/gvariant.c:1617,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 106
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1624
      start: 1492
    functionDepth: 0
    functionLinenumber: 1492
    functionLinenumberEnd: 1624
    functionName: test_array
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_test_rand_int_range
    - g_variant_type_info_query
    - append_instance_size
    - g_variant_type_info_get
    - g_assert_true
    - g_variant_serialised_n_children
    - align_free
    - g_variant_type_info_unref
    - random_instance_free
    - g_variant_type_info_element
    - g_assert_cmpint
    - random_type_string
    - g_new
    - append_offset
    - append_instance_data
    - flavoured_malloc
    - g_variant_serialiser_needed_size
    - calculate_offset_size
    - g_assert_cmpuint
    - flavoured_free
    - G_VARIANT_TYPE
    - g_variant_serialiser_serialise
    - memcmp
    - random_instance
    - align_malloc
    - g_variant_serialised_get_child
    - g_free
    - random_instance_assert
    linkageType: ''
    returnType: void
    signature: 'static void test_array (void) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: tree_instance_get_gvariant
      Src: /src/glib/glib/tests/gvariant.c:2516,1
    - Dst: g_variant_type_element
      Src: /src/glib/glib/tests/gvariant.c:2518,1
    - Dst: randomly
      Src: /src/glib/glib/tests/gvariant.c:2520,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:2524,1
    - Dst: g_variant_new_tuple
      Src: /src/glib/glib/tests/gvariant.c:2537,1
    - Dst: tree_instance_get_gvariant
      Src: /src/glib/glib/tests/gvariant.c:2548,1
    - Dst: tree_instance_get_gvariant
      Src: /src/glib/glib/tests/gvariant.c:2549,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:2538,1
    - Dst: g_variant_new_uint16
      Src: /src/glib/glib/tests/gvariant.c:2579,1
    - Dst: g_variant_new_uint64
      Src: /src/glib/glib/tests/gvariant.c:2595,1
    - Dst: g_variant_type_info_get_type_char
      Src: /src/glib/glib/tests/gvariant.c:2487,1
    - Dst: tree_instance_get_gvariant
      Src: /src/glib/glib/tests/gvariant.c:2495,1
    - Dst: g_new
      Src: /src/glib/glib/tests/gvariant.c:2514,1
    - Dst: g_variant_new_dict_entry
      Src: /src/glib/glib/tests/gvariant.c:2551,1
    - Dst: tree_instance_get_gvariant
      Src: /src/glib/glib/tests/gvariant.c:2561,1
    - Dst: g_variant_new_boolean
      Src: /src/glib/glib/tests/gvariant.c:2567,1
    - Dst: g_variant_new_uint32
      Src: /src/glib/glib/tests/gvariant.c:2587,1
    - Dst: g_variant_new_object_path
      Src: /src/glib/glib/tests/gvariant.c:2611,1
    - Dst: g_variant_new_array
      Src: /src/glib/glib/tests/gvariant.c:2523,1
    - Dst: g_new
      Src: /src/glib/glib/tests/gvariant.c:2533,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:2559,1
    - Dst: g_variant_new_variant
      Src: /src/glib/glib/tests/gvariant.c:2562,1
    - Dst: g_variant_new_byte
      Src: /src/glib/glib/tests/gvariant.c:2571,1
    - Dst: g_variant_new_int32
      Src: /src/glib/glib/tests/gvariant.c:2583,1
    - Dst: g_variant_new_string
      Src: /src/glib/glib/tests/gvariant.c:2607,1
    - Dst: g_variant_new_signature
      Src: /src/glib/glib/tests/gvariant.c:2615,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/gvariant.c:2619,1
    - Dst: g_variant_type_info_get_type_string
      Src: /src/glib/glib/tests/gvariant.c:2485,1
    - Dst: g_variant_type_element
      Src: /src/glib/glib/tests/gvariant.c:2499,1
    - Dst: randomly
      Src: /src/glib/glib/tests/gvariant.c:2501,1
    - Dst: g_variant_new_maybe
      Src: /src/glib/glib/tests/gvariant.c:2504,1
    - Dst: tree_instance_get_gvariant
      Src: /src/glib/glib/tests/gvariant.c:2535,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:2546,1
    - Dst: g_variant_new_int16
      Src: /src/glib/glib/tests/gvariant.c:2575,1
    - Dst: g_variant_new_int64
      Src: /src/glib/glib/tests/gvariant.c:2591,1
    - Dst: g_variant_new_double
      Src: /src/glib/glib/tests/gvariant.c:2603,1
    - Dst: g_variant_new_handle
      Src: /src/glib/glib/tests/gvariant.c:2599,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 87
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2623
      start: 2479
    functionDepth: 0
    functionLinenumber: 2479
    functionLinenumberEnd: 2623
    functionName: tree_instance_get_gvariant
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_new_handle
    - g_variant_type_info_get_type_char
    - g_variant_new_int64
    - g_variant_new_uint32
    - g_variant_new_object_path
    - g_variant_new_byte
    - g_variant_new_signature
    - g_variant_new_int32
    - g_variant_new_double
    - tree_instance_get_gvariant
    - g_variant_type_element
    - g_variant_new_boolean
    - g_new
    - g_variant_new_tuple
    - g_assert_cmpuint
    - g_assert_not_reached
    - g_variant_new_uint64
    - g_variant_new_variant
    - g_variant_new_int16
    - g_variant_new_maybe
    - g_variant_new_uint16
    - g_variant_new_string
    - randomly
    - g_variant_new_array
    - g_free
    - g_variant_new_dict_entry
    - g_variant_type_info_get_type_string
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *tree_instance_get_gvariant (TreeInstance *tree) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_uint32
      Src: /src/glib/glib/tests/gvariant.c:4377,1
    - Dst: g_variant_new_maybe
      Src: /src/glib/glib/tests/gvariant.c:4377,1
    - Dst: g_variant_new_maybe
      Src: /src/glib/glib/tests/gvariant.c:4382,1
    - Dst: g_variant_new_strv
      Src: /src/glib/glib/tests/gvariant.c:4382,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/tests/gvariant.c:4397,1
    - Dst: g_variant_new_maybe
      Src: /src/glib/glib/tests/gvariant.c:4387,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/tests/gvariant.c:4387,1
    - Dst: g_variant_new_maybe
      Src: /src/glib/glib/tests/gvariant.c:4387,1
    - Dst: g_variant_new_maybe
      Src: /src/glib/glib/tests/gvariant.c:4392,1
    - Dst: g_variant_new_maybe
      Src: /src/glib/glib/tests/gvariant.c:4397,1
    - Dst: g_variant_new_maybe
      Src: /src/glib/glib/tests/gvariant.c:4407,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4433,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/gvariant.c:4418,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:4397,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/gvariant.c:4431,1
    - Dst: g_variant_parse
      Src: /src/glib/glib/tests/gvariant.c:4427,1
    - Dst: g_variant_new_maybe
      Src: /src/glib/glib/tests/gvariant.c:4402,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/tests/gvariant.c:4407,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/gvariant.c:4425,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:4429,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/tests/gvariant.c:4402,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/gvariant.c:4435,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/gvariant.c:4428,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:4407,1
    - Dst: g_variant_new_maybe
      Src: /src/glib/glib/tests/gvariant.c:4412,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/tests/gvariant.c:4377,1
    - Dst: g_variant_new_maybe
      Src: /src/glib/glib/tests/gvariant.c:4377,1
    - Dst: g_variant_new_maybe
      Src: /src/glib/glib/tests/gvariant.c:4377,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/tests/gvariant.c:4382,1
    - Dst: g_variant_new_maybe
      Src: /src/glib/glib/tests/gvariant.c:4382,1
    - Dst: g_variant_new_maybe
      Src: /src/glib/glib/tests/gvariant.c:4382,1
    - Dst: g_variant_new_maybe
      Src: /src/glib/glib/tests/gvariant.c:4387,1
    - Dst: g_variant_new_maybe
      Src: /src/glib/glib/tests/gvariant.c:4392,1
    - Dst: g_variant_new_maybe
      Src: /src/glib/glib/tests/gvariant.c:4392,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/tests/gvariant.c:4392,1
    - Dst: g_variant_new_maybe
      Src: /src/glib/glib/tests/gvariant.c:4402,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/gvariant.c:4420,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/tests/gvariant.c:4412,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/gvariant.c:4417,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:4412,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:4402,1
    - Dst: g_variant_new_maybe
      Src: /src/glib/glib/tests/gvariant.c:4397,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 47
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4437
      start: 4363
    functionDepth: 0
    functionLinenumber: 4363
    functionLinenumberEnd: 4437
    functionName: test_parser_recursion_maybes
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - g_variant_parse
    - g_test_summary
    - g_assert_cmpvariant
    - g_variant_new_strv
    - G_N_ELEMENTS
    - g_test_message
    - g_assert_nonnull
    - g_test_bug
    - g_assert_no_error
    - g_variant_new_maybe
    - g_variant_unref
    - g_clear_pointer
    - g_variant_new_uint32
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: void
    signature: 'static void test_parser_recursion_maybes (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_compute_checksum_for_data
      Src: /src/glib/glib/tests/gvariant.c:4905,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:4909,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/tests/gvariant.c:4907,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/tests/gvariant.c:4906,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:4908,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - sha256
    - v
    argTypes:
    - gchar*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 4910
      start: 4899
    functionDepth: 0
    functionLinenumber: 4899
    functionLinenumberEnd: 4910
    functionName: verify_gvariant_checksum
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_compute_checksum_for_data
    - g_variant_get_size
    - g_assert_cmpstr
    - g_variant_get_data
    - g_free
    linkageType: ''
    returnType: void
    signature: "static void verify_gvariant_checksum (const gchar *sha256,\t\t\t GVariant\
      \ *v) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_info_n_members
      Src: /src/glib/glib/tests/gvariant.c:940,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:941,1
    - Dst: g_variant_type_first
      Src: /src/glib/glib/tests/gvariant.c:955,1
    - Dst: g_variant_type_n_items
      Src: /src/glib/glib/tests/gvariant.c:941,1
    - Dst: calculate_type_info
      Src: /src/glib/glib/tests/gvariant.c:966,1
    - Dst: ALIGNED
      Src: /src/glib/glib/tests/gvariant.c:968,1
    - Dst: g_variant_type_info_member_info
      Src: /src/glib/glib/tests/gvariant.c:978,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:979,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:988,1
    - Dst: g_variant_type_next
      Src: /src/glib/glib/tests/gvariant.c:1010,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gvariant.c:1014,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - info
    - type
    argTypes:
    - GVariantTypeInfo*
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 1016
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 1016
    functionName: check_offsets
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_assert_null
    - g_variant_type_n_items
    - g_assert_cmpuint
    - ALIGNED
    - g_variant_type_info_n_members
    - g_variant_type_first
    - g_variant_type_next
    - g_variant_type_info_member_info
    - calculate_type_info
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void check_offsets (GVariantTypeInfo *info, const GVariantType
      *type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GSIZE_TO_LE
      Src: /src/glib/glib/tests/gvariant.c:1394,1
    - Dst: memcpy
      Src: /src/glib/glib/tests/gvariant.c:1395,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - offset_ptr
    - offset
    - offset_size
    argTypes:
    - guchar**
    - gsize
    - guint
    constantsTouched: []
    func_position:
      end: 1396
      start: 1382
    functionDepth: 0
    functionLinenumber: 1382
    functionLinenumberEnd: 1396
    functionName: prepend_offset
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - memcpy
    - GSIZE_TO_LE
    linkageType: ''
    returnType: void
    signature: 'static void prepend_offset (guchar **offset_ptr, gsize offset, guint
      offset_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_variant
      Src: /src/glib/glib/tests/gvariant.c:1884,1
    - Dst: g_variant_type_info_assert_no_infos
      Src: /src/glib/glib/tests/gvariant.c:1886,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1887
      start: 1878
    functionDepth: 0
    functionLinenumber: 1878
    functionLinenumberEnd: 1887
    functionName: test_variants
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - test_variant
    - g_variant_type_info_assert_no_infos
    linkageType: ''
    returnType: void
    signature: 'static void test_variants (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/gvariant.c:4600,1
    - Dst: g_variant_parse
      Src: /src/glib/glib/tests/gvariant.c:4606,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4608,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:4613,1
    - Dst: g_variant_lookup_value
      Src: /src/glib/glib/tests/gvariant.c:4607,1
    - Dst: g_variant_print
      Src: /src/glib/glib/tests/gvariant.c:4614,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:4615,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4616,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:4617,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4619
      start: 4584
    functionDepth: 0
    functionLinenumber: 4584
    functionLinenumberEnd: 4619
    functionName: test_lookup_value
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_variant_parse
    - G_N_ELEMENTS
    - g_assert_cmpstr
    - g_variant_unref
    - g_variant_print
    - g_variant_lookup_value
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_lookup_value (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_info_get
      Src: /src/glib/glib/tests/gvariant.c:1039,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:1057,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:1074,1
    - Dst: g_variant_type_is_dict_entry
      Src: /src/glib/glib/tests/gvariant.c:1077,1
    - Dst: check_offsets
      Src: /src/glib/glib/tests/gvariant.c:1080,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/gvariant.c:1083,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/gvariant.c:1032,1
    - Dst: g_variant_type_info_get_type_string
      Src: /src/glib/glib/tests/gvariant.c:1042,1
    - Dst: g_variant_type_is_array
      Src: /src/glib/glib/tests/gvariant.c:1060,1
    - Dst: g_variant_type_is_maybe
      Src: /src/glib/glib/tests/gvariant.c:1061,1
    - Dst: calculate_type_info
      Src: /src/glib/glib/tests/gvariant.c:1068,1
    - Dst: g_variant_type_element
      Src: /src/glib/glib/tests/gvariant.c:1067,1
    - Dst: g_variant_type_info_query_element
      Src: /src/glib/glib/tests/gvariant.c:1069,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:1087,1
    - Dst: append_type_string
      Src: /src/glib/glib/tests/gvariant.c:1036,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:1042,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/gvariant.c:1033,1
    - Dst: calculate_type_info
      Src: /src/glib/glib/tests/gvariant.c:1048,1
    - Dst: g_variant_type_info_query
      Src: /src/glib/glib/tests/gvariant.c:1049,1
    - Dst: describe_info
      Src: /src/glib/glib/tests/gvariant.c:1056,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:1071,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:1073,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/gvariant.c:1084,1
    - Dst: g_variant_type_free
      Src: /src/glib/glib/tests/gvariant.c:1086,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:1050,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:1051,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:1070,1
    - Dst: g_variant_type_is_tuple
      Src: /src/glib/glib/tests/gvariant.c:1076,1
    - Dst: g_variant_type_info_unref
      Src: /src/glib/glib/tests/gvariant.c:1085,1
    - Dst: g_variant_type_info_assert_no_infos
      Src: /src/glib/glib/tests/gvariant.c:1090,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1091
      start: 1018
    functionDepth: 0
    functionLinenumber: 1018
    functionLinenumberEnd: 1091
    functionName: test_gvarianttypeinfo
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_type_info_query_element
    - g_variant_type_info_query
    - check_offsets
    - append_type_string
    - g_variant_type_info_get
    - describe_info
    - g_variant_type_is_array
    - g_variant_type_element
    - g_variant_type_info_unref
    - g_assert_cmpint
    - g_variant_type_is_dict_entry
    - g_string_new
    - g_variant_type_info_assert_no_infos
    - g_variant_type_is_tuple
    - g_variant_type_free
    - g_variant_type_is_maybe
    - g_assert_cmpstr
    - g_string_free
    - g_free
    - calculate_type_info
    - g_variant_type_info_get_type_string
    linkageType: ''
    returnType: void
    signature: 'static void test_gvarianttypeinfo (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_info_get
      Src: /src/glib/glib/tests/gvariant.c:1414,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:1414,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:1415,1
    - Dst: g_variant_serialiser_needed_size
      Src: /src/glib/glib/tests/gvariant.c:1418,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:1421,1
    - Dst: align_malloc
      Src: /src/glib/glib/tests/gvariant.c:1435,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:1430,1
    - Dst: g_variant_serialised_get_child
      Src: /src/glib/glib/tests/gvariant.c:1466,1
    - Dst: random_instance_assert
      Src: /src/glib/glib/tests/gvariant.c:1469,1
    - Dst: random_instance_free
      Src: /src/glib/glib/tests/gvariant.c:1477,1
    - Dst: random_instance
      Src: /src/glib/glib/tests/gvariant.c:1406,1
    - Dst: g_variant_type_info_get_type_string
      Src: /src/glib/glib/tests/gvariant.c:1412,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:1441,1
    - Dst: flavoured_free
      Src: /src/glib/glib/tests/gvariant.c:1472,1
    - Dst: g_variant_type_info_unref
      Src: /src/glib/glib/tests/gvariant.c:1476,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/gvariant.c:1413,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:1467,1
    - Dst: flavoured_malloc
      Src: /src/glib/glib/tests/gvariant.c:1456,1
    - Dst: g_variant_serialiser_needed_size
      Src: /src/glib/glib/tests/gvariant.c:1423,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:1428,1
    - Dst: append_instance_data
      Src: /src/glib/glib/tests/gvariant.c:1436,1
    - Dst: g_variant_serialiser_serialise
      Src: /src/glib/glib/tests/gvariant.c:1462,1
    - Dst: g_variant_type_info_unref
      Src: /src/glib/glib/tests/gvariant.c:1470,1
    - Dst: align_free
      Src: /src/glib/glib/tests/gvariant.c:1478,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 56
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1479
      start: 1398
    functionDepth: 0
    functionLinenumber: 1398
    functionLinenumberEnd: 1479
    functionName: test_maybe
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_variant_type_info_get
    - g_assert_true
    - align_free
    - g_variant_type_info_unref
    - random_instance_free
    - g_assert_cmpint
    - append_instance_data
    - flavoured_malloc
    - g_variant_serialiser_needed_size
    - flavoured_free
    - G_VARIANT_TYPE
    - g_variant_serialiser_serialise
    - random_instance
    - align_malloc
    - g_variant_serialised_get_child
    - g_free
    - random_instance_assert
    - g_variant_type_info_get_type_string
    linkageType: ''
    returnType: void
    signature: 'static void test_maybe (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/gvariant.c:1935,1
    - Dst: g_variant_serialiser_is_object_path
      Src: /src/glib/glib/tests/gvariant.c:1943,1
    - Dst: g_variant_serialiser_is_signature
      Src: /src/glib/glib/tests/gvariant.c:1947,1
    - Dst: g_variant_serialiser_is_string
      Src: /src/glib/glib/tests/gvariant.c:1939,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:1951,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1953
      start: 1889
    functionDepth: 0
    functionLinenumber: 1889
    functionLinenumberEnd: 1953
    functionName: test_strings
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_serialiser_is_signature
    - g_variant_serialiser_is_string
    - G_N_ELEMENTS
    - g_assert_cmpuint
    - g_variant_serialiser_is_object_path
    linkageType: ''
    returnType: void
    signature: 'static void test_strings (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_parse
      Src: /src/glib/glib/tests/gvariant.c:4629,1
    - Dst: g_variant_lookup
      Src: /src/glib/glib/tests/gvariant.c:4637,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:4635,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:4634,1
    - Dst: g_variant_lookup
      Src: /src/glib/glib/tests/gvariant.c:4633,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:4638,1
    - Dst: g_variant_lookup
      Src: /src/glib/glib/tests/gvariant.c:4640,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:4641,1
    - Dst: g_variant_lookup
      Src: /src/glib/glib/tests/gvariant.c:4643,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:4644,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:4651,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4653,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:4648,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:4647,1
    - Dst: g_variant_lookup
      Src: /src/glib/glib/tests/gvariant.c:4650,1
    - Dst: g_variant_lookup
      Src: /src/glib/glib/tests/gvariant.c:4646,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4654
      start: 4621
    functionDepth: 0
    functionLinenumber: 4621
    functionLinenumberEnd: 4654
    functionName: test_lookup
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_parse
    - g_assert_true
    - g_variant_lookup
    - g_assert_cmpstr
    - g_variant_unref
    - g_assert_false
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_lookup (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/glib/tests/gvariant.c:702,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:714,1
    - Dst: g_variant_type_string_is_valid
      Src: /src/glib/glib/tests/gvariant.c:712,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:712,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 715
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 715
    functionName: test_gvarianttype_string_scan_recursion_array
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_assert_false
    - g_new0
    - g_free
    - g_variant_type_string_is_valid
    linkageType: ''
    returnType: void
    signature: 'static void test_gvarianttype_string_scan_recursion_array (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_array
      Src: /src/glib/glib/tests/gvariant.c:1632,1
    - Dst: g_variant_type_info_assert_no_infos
      Src: /src/glib/glib/tests/gvariant.c:1634,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1635
      start: 1626
    functionDepth: 0
    functionLinenumber: 1626
    functionLinenumberEnd: 1635
    functionName: test_arrays
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_type_info_assert_no_infos
    - test_array
    linkageType: ''
    returnType: void
    signature: 'static void test_arrays (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/gvariant.c:3044,1
    - Dst: g_variant_new
      Src: /src/glib/glib/tests/gvariant.c:3051,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/gvariant.c:3052,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/gvariant.c:3049,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/gvariant.c:3047,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gvariant.c:3053,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/gvariant.c:3055,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/gvariant.c:3057,1
    - Dst: g_variant_new_va
      Src: /src/glib/glib/tests/gvariant.c:3059,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/gvariant.c:3060,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/gvariant.c:3066,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3070,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/gvariant.c:3061,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/gvariant.c:3069,1
    - Dst: g_variant_new
      Src: /src/glib/glib/tests/gvariant.c:3063,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/gvariant.c:3064,1
    - Dst: g_variant_get
      Src: /src/glib/glib/tests/gvariant.c:3068,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3071
      start: 3038
    functionDepth: 0
    functionLinenumber: 3038
    functionLinenumberEnd: 3071
    functionName: test_invalid_varargs
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_assert_null
    - g_test_undefined
    - g_test_expect_message
    - g_variant_unref
    - g_variant_new_va
    - g_variant_new
    - g_variant_get
    linkageType: ''
    returnType: void
    signature: 'static void test_invalid_varargs (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/tests/gvariant.c:4920,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/glib/tests/gvariant.c:4923,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4927,1
    - Dst: g_variant_byteswap
      Src: /src/glib/glib/tests/gvariant.c:4926,1
    - Dst: g_variant_new_va
      Src: /src/glib/glib/tests/gvariant.c:4922,1
    - Dst: va_end
      Src: /src/glib/glib/tests/gvariant.c:4932,1
    - Dst: verify_gvariant_checksum
      Src: /src/glib/glib/tests/gvariant.c:4934,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:4936,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - sha256
    - fmt
    - '...'
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 4937
      start: 4912
    functionDepth: 0
    functionLinenumber: 4912
    functionLinenumberEnd: 4937
    functionName: verify_gvariant_checksum_va
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - verify_gvariant_checksum
    - g_variant_byteswap
    - g_variant_unref
    - g_variant_new_va
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: "static void verify_gvariant_checksum_va (const gchar *sha256,\t\t\t\
      \ const gchar *fmt,\t\t\t ...) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_from_data
      Src: /src/glib/glib/tests/gvariant.c:5356,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5363,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5358,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/gvariant.c:5361,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5360,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5364,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5365
      start: 5345
    functionDepth: 0
    functionLinenumber: 5345
    functionLinenumberEnd: 5365
    functionName: test_normal_checking_array_offsets
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_get_normal_form
    - g_variant_new_from_data
    - g_assert_nonnull
    - g_variant_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_normal_checking_array_offsets (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_is_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5443,1
    - Dst: g_malloc0
      Src: /src/glib/glib/tests/gvariant.c:5456,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/gvariant.c:5462,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/tests/gvariant.c:5465,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:5470,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:5475,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/tests/gvariant.c:5477,1
    - Dst: g_variant_builder_end
      Src: /src/glib/glib/tests/gvariant.c:5439,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/gvariant.c:5464,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/tests/gvariant.c:5447,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:5449,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5473,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:5481,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5485,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/tests/gvariant.c:5479,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:5434,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/glib/tests/gvariant.c:5437,1
    - Dst: g_variant_new_array
      Src: /src/glib/glib/tests/gvariant.c:5437,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/tests/gvariant.c:5444,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/tests/gvariant.c:5448,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/tests/gvariant.c:5445,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:5457,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/tests/gvariant.c:5466,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/tests/gvariant.c:5469,1
    - Dst: g_variant_is_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5475,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5483,1
    - Dst: g_variant_get_size
      Src: /src/glib/glib/tests/gvariant.c:5480,1
    - Dst: g_variant_builder_init
      Src: /src/glib/glib/tests/gvariant.c:5434,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:5443,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:5444,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:5445,1
    - Dst: g_variant_new_from_data
      Src: /src/glib/glib/tests/gvariant.c:5457,1
    - Dst: g_variant_is_normal_form
      Src: /src/glib/glib/tests/gvariant.c:5464,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:5465,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:5466,1
    - Dst: g_variant_get_data
      Src: /src/glib/glib/tests/gvariant.c:5468,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:5476,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:5484,1
    - Dst: g_variant_n_children
      Src: /src/glib/glib/tests/gvariant.c:5476,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:5477,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 57
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5486
      start: 5412
    functionDepth: 0
    functionLinenumber: 5412
    functionLinenumberEnd: 5486
    functionName: test_normal_checking_array_offsets_minimal_sized
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_assert_true
    - g_variant_is_normal_form
    - g_malloc0
    - g_variant_n_children
    - g_variant_new_from_data
    - g_variant_get_size
    - g_assert_cmpuint
    - g_variant_builder_add_value
    - g_variant_get_normal_form
    - g_variant_builder_init
    - g_assert_false
    - g_variant_unref
    - g_variant_get_data
    - g_variant_builder_end
    - g_variant_new_array
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: void
    signature: 'static void test_normal_checking_array_offsets_minimal_sized (void) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_string_append
      Src: /src/glib/glib/tests/gvariant.c:1671,1
    - Dst: calculate_offset_size
      Src: /src/glib/glib/tests/gvariant.c:1705,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:1761,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:1785,1
    - Dst: align_free
      Src: /src/glib/glib/tests/gvariant.c:1789,1
    - Dst: g_variant_type_info_get_type_string
      Src: /src/glib/glib/tests/gvariant.c:1670,1
    - Dst: random_instance
      Src: /src/glib/glib/tests/gvariant.c:1664,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/gvariant.c:1659,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/glib/tests/gvariant.c:1675,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:1730,1
    - Dst: memcmp
      Src: /src/glib/glib/tests/gvariant.c:1761,1
    - Dst: g_variant_serialised_n_children
      Src: /src/glib/glib/tests/gvariant.c:1763,1
    - Dst: flavoured_free
      Src: /src/glib/glib/tests/gvariant.c:1776,1
    - Dst: g_variant_type_info_unref
      Src: /src/glib/glib/tests/gvariant.c:1773,1
    - Dst: random_instance_free
      Src: /src/glib/glib/tests/gvariant.c:1784,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/glib/tests/gvariant.c:1649,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/tests/gvariant.c:1673,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/gvariant.c:1676,1
    - Dst: append_instance_data
      Src: /src/glib/glib/tests/gvariant.c:1719,1
    - Dst: g_variant_serialiser_needed_size
      Src: /src/glib/glib/tests/gvariant.c:1679,1
    - Dst: append_instance_size
      Src: /src/glib/glib/tests/gvariant.c:1690,1
    - Dst: g_variant_serialised_get_child
      Src: /src/glib/glib/tests/gvariant.c:1769,1
    - Dst: random_instance_assert
      Src: /src/glib/glib/tests/gvariant.c:1772,1
    - Dst: g_variant_type_info_unref
      Src: /src/glib/glib/tests/gvariant.c:1788,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:1770,1
    - Dst: g_new
      Src: /src/glib/glib/tests/gvariant.c:1650,1
    - Dst: g_variant_type_info_get
      Src: /src/glib/glib/tests/gvariant.c:1675,1
    - Dst: align_malloc
      Src: /src/glib/glib/tests/gvariant.c:1714,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:1700,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/gvariant.c:1706,1
    - Dst: prepend_offset
      Src: /src/glib/glib/tests/gvariant.c:1722,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:1737,1
    - Dst: flavoured_malloc
      Src: /src/glib/glib/tests/gvariant.c:1751,1
    - Dst: g_variant_serialiser_serialise
      Src: /src/glib/glib/tests/gvariant.c:1757,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/gvariant.c:1763,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 118
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1790
      start: 1637
    functionDepth: 0
    functionLinenumber: 1637
    functionLinenumberEnd: 1790
    functionName: test_tuple
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_test_rand_int_range
    - append_instance_size
    - g_variant_type_info_get
    - g_assert_true
    - g_variant_serialised_n_children
    - align_free
    - g_variant_type_info_unref
    - random_instance_free
    - g_assert_cmpint
    - g_new
    - append_instance_data
    - flavoured_malloc
    - g_variant_serialiser_needed_size
    - calculate_offset_size
    - g_assert_cmpuint
    - prepend_offset
    - g_string_new
    - flavoured_free
    - G_VARIANT_TYPE
    - g_string_append
    - g_variant_serialiser_serialise
    - memcmp
    - random_instance
    - g_string_append_c
    - align_malloc
    - g_variant_serialised_get_child
    - g_string_free
    - g_free
    - random_instance_assert
    - g_variant_type_info_get_type_string
    linkageType: ''
    returnType: void
    signature: 'static void test_tuple (void) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_serialiser_needed_size
      Src: /src/glib/glib/tests/gvariant.c:2143,1
    - Dst: GUINT64_SWAP_LE_BE
      Src: /src/glib/glib/tests/gvariant.c:2193,1
    - Dst: GUINT16_SWAP_LE_BE
      Src: /src/glib/glib/tests/gvariant.c:2171,1
    - Dst: g_variant_serialiser_serialise
      Src: /src/glib/glib/tests/gvariant.c:2148,1
    - Dst: GUINT32_SWAP_LE_BE
      Src: /src/glib/glib/tests/gvariant.c:2182,1
    - Dst: memcpy
      Src: /src/glib/glib/tests/gvariant.c:2200,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 29
    argCount: 2
    argNames:
    - serialised
    - data
    argTypes:
    - GVariantSerialised*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2207
      start: 2127
    functionDepth: 0
    functionLinenumber: 2127
    functionLinenumberEnd: 2207
    functionName: tree_filler
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - GUINT64_SWAP_LE_BE
    - GUINT16_SWAP_LE_BE
    - memcpy
    - g_variant_serialiser_needed_size
    - GUINT32_SWAP_LE_BE
    - g_variant_serialiser_serialise
    linkageType: ''
    returnType: void
    signature: 'static void tree_filler (GVariantSerialised *serialised, gpointer
      data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_print
      Src: /src/glib/glib/tests/gvariant.c:3077,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/gvariant.c:3078,1
    - Dst: g_free
      Src: /src/glib/glib/tests/gvariant.c:3080,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/gvariant.c:3079,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - value
    - str
    argTypes:
    - GVariant*
    - gchar*
    constantsTouched: []
    func_position:
      end: 3081
      start: 3073
    functionDepth: 0
    functionLinenumber: 3073
    functionLinenumberEnd: 3081
    functionName: check_and_free
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_unref
    - g_free
    - g_variant_print
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void check_and_free (GVariant *value, const gchar *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: verify_gvariant_checksum_va
      Src: /src/glib/glib/tests/gvariant.c:4942,1
    - Dst: verify_gvariant_checksum_va
      Src: /src/glib/glib/tests/gvariant.c:4950,1
    - Dst: verify_gvariant_checksum_va
      Src: /src/glib/glib/tests/gvariant.c:4946,1
    - Dst: verify_gvariant_checksum_va
      Src: /src/glib/glib/tests/gvariant.c:4948,1
    - Dst: verify_gvariant_checksum_va
      Src: /src/glib/glib/tests/gvariant.c:4944,1
    - Dst: verify_gvariant_checksum_va
      Src: /src/glib/glib/tests/gvariant.c:4952,1
    - Dst: verify_gvariant_checksum_va
      Src: /src/glib/glib/tests/gvariant.c:4954,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4956
      start: 4939
    functionDepth: 0
    functionLinenumber: 4939
    functionLinenumberEnd: 4956
    functionName: test_checksum_basic
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - verify_gvariant_checksum_va
    linkageType: ''
    returnType: void
    signature: 'static void test_checksum_basic (void) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: randomly
      Src: /src/glib/glib/tests/gvariant.c:61,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/tests/gvariant.c:64,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/tests/gvariant.c:72,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/tests/gvariant.c:78,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/tests/gvariant.c:90,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/tests/gvariant.c:86,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/glib/tests/gvariant.c:105,1
    - Dst: g_variant_type_is_array
      Src: /src/glib/glib/tests/gvariant.c:119,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:134,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:141,1
    - Dst: g_string_append
      Src: /src/glib/glib/tests/gvariant.c:149,1
    - Dst: append_tuple_type_string
      Src: /src/glib/glib/tests/gvariant.c:138,1
    - Dst: g_string_append
      Src: /src/glib/glib/tests/gvariant.c:151,1
    - Dst: g_variant_type_is_dict_entry
      Src: /src/glib/glib/tests/gvariant.c:160,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/tests/gvariant.c:171,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:181,1
    - Dst: append_type_string
      Src: /src/glib/glib/tests/gvariant.c:150,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/tests/gvariant.c:179,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:174,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/tests/gvariant.c:164,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/gvariant.c:185,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/tests/gvariant.c:88,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/tests/gvariant.c:92,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/gvariant.c:98,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/tests/gvariant.c:111,1
    - Dst: g_string_append
      Src: /src/glib/glib/tests/gvariant.c:112,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:119,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/tests/gvariant.c:154,1
    - Dst: append_type_string
      Src: /src/glib/glib/tests/gvariant.c:152,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/tests/gvariant.c:165,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/tests/gvariant.c:166,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/tests/gvariant.c:173,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:167,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:160,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/tests/gvariant.c:153,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/tests/gvariant.c:70,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/glib/tests/gvariant.c:63,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/tests/gvariant.c:74,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/tests/gvariant.c:80,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/tests/gvariant.c:82,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/tests/gvariant.c:94,1
    - Dst: append_type_string
      Src: /src/glib/glib/tests/gvariant.c:113,1
    - Dst: g_variant_type_new_array
      Src: /src/glib/glib/tests/gvariant.c:115,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/tests/gvariant.c:126,1
    - Dst: g_variant_type_free
      Src: /src/glib/glib/tests/gvariant.c:131,1
    - Dst: g_variant_type_free
      Src: /src/glib/glib/tests/gvariant.c:156,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/tests/gvariant.c:178,1
    - Dst: g_variant_type_is_tuple
      Src: /src/glib/glib/tests/gvariant.c:181,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/tests/gvariant.c:180,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/tests/gvariant.c:65,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/tests/gvariant.c:76,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/tests/gvariant.c:84,1
    - Dst: g_variant_type_copy
      Src: /src/glib/glib/tests/gvariant.c:96,1
    - Dst: g_variant_type_free
      Src: /src/glib/glib/tests/gvariant.c:116,1
    - Dst: g_string_append
      Src: /src/glib/glib/tests/gvariant.c:127,1
    - Dst: append_type_string
      Src: /src/glib/glib/tests/gvariant.c:128,1
    - Dst: g_variant_type_new_maybe
      Src: /src/glib/glib/tests/gvariant.c:130,1
    - Dst: g_variant_type_is_maybe
      Src: /src/glib/glib/tests/gvariant.c:134,1
    - Dst: g_variant_type_is_tuple
      Src: /src/glib/glib/tests/gvariant.c:141,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/tests/gvariant.c:172,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/gvariant.c:167,1
    - Dst: g_variant_type_equal
      Src: /src/glib/glib/tests/gvariant.c:174,1
    - Dst: g_variant_type_free
      Src: /src/glib/glib/tests/gvariant.c:157,1
    - Dst: g_variant_type_new_dict_entry
      Src: /src/glib/glib/tests/gvariant.c:155,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/tests/gvariant.c:148,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 87
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 190
    functionName: append_type_string
    functionSourceFile: /src/glib/glib/tests/gvariant.c
    functionUses: []
    functionsReached:
    - g_variant_type_equal
    - g_variant_type_is_dict_entry
    - g_assert_true
    - g_variant_type_is_array
    - append_tuple_type_string
    - g_variant_type_free
    - g_string_append_c
    - g_variant_type_is_maybe
    - g_variant_type_is_tuple
    - g_variant_type_new_dict_entry
    - g_test_rand_int_range
    - g_assert_not_reached
    - g_variant_type_copy
    - g_variant_type_new_maybe
    - randomly
    - append_type_string
    - g_string_append
    - g_variant_type_new_array
    linkageType: ''
    returnType: GVariantType*
    signature: 'static GVariantType *append_type_string (GString *string, GString
      *description, gboolean definite, gint depth) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_system_config_dirs
      Src: /src/glib/glib/tests/utils-isolated.c:60,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/utils-isolated.c:61,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/utils-isolated.c:61,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: test_system_config_dirs
    functionSourceFile: /src/glib/glib/tests/utils-isolated.c
    functionUses: []
    functionsReached:
    - g_str_has_prefix
    - g_assert_true
    - g_get_system_config_dirs
    linkageType: ''
    returnType: void
    signature: 'static void test_system_config_dirs (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/utils-isolated.c:46,1
    - Dst: g_get_home_dir
      Src: /src/glib/glib/tests/utils-isolated.c:46,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/utils-isolated.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: test_home_dir
    functionSourceFile: /src/glib/glib/tests/utils-isolated.c
    functionUses: []
    functionsReached:
    - g_str_has_prefix
    - g_assert_true
    - g_get_home_dir
    linkageType: ''
    returnType: void
    signature: 'static void test_home_dir (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_system_data_dirs
      Src: /src/glib/glib/tests/utils-isolated.c:75,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/utils-isolated.c:76,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/utils-isolated.c:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: test_system_data_dirs
    functionSourceFile: /src/glib/glib/tests/utils-isolated.c
    functionUses: []
    functionsReached:
    - g_str_has_prefix
    - g_assert_true
    - g_get_system_data_dirs
    linkageType: ''
    returnType: void
    signature: 'static void test_system_data_dirs (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/utils-isolated.c:88,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/utils-isolated.c:88,1
    - Dst: g_get_user_state_dir
      Src: /src/glib/glib/tests/utils-isolated.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: test_user_state_dir
    functionSourceFile: /src/glib/glib/tests/utils-isolated.c
    functionUses: []
    functionsReached:
    - g_str_has_prefix
    - g_assert_true
    - g_get_user_state_dir
    linkageType: ''
    returnType: void
    signature: 'static void test_user_state_dir (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_get_user_runtime_dir
      Src: /src/glib/glib/tests/utils-isolated.c:100,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/utils-isolated.c:106,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/utils-isolated.c:101,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/glib/tests/utils-isolated.c:106,1
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/utils-isolated.c:103,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/utils-isolated.c:107,1
    - Dst: g_chmod
      Src: /src/glib/glib/tests/utils-isolated.c:107,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/utils-isolated.c:109,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/utils-isolated.c:117,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/utils-isolated.c:118,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/utils-isolated.c:128,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utils-isolated.c:130,1
    - Dst: g_chmod
      Src: /src/glib/glib/tests/utils-isolated.c:128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 131
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 131
    functionName: test_cleanup_handles_errors
    functionSourceFile: /src/glib/glib/tests/utils-isolated.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_passed
    - g_mkdir_with_parents
    - g_clear_pointer
    - g_test_trap_subprocess
    - g_build_filename
    - g_chmod
    - g_test_subprocess
    - g_free
    - g_get_user_runtime_dir
    - g_assert_no_errno
    linkageType: ''
    returnType: void
    signature: 'static void test_cleanup_handles_errors (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils-isolated.c:40,1
    - Dst: g_get_tmp_dir
      Src: /src/glib/glib/tests/utils-isolated.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: test_tmp_dir
    functionSourceFile: /src/glib/glib/tests/utils-isolated.c
    functionUses: []
    functionsReached:
    - g_get_tmp_dir
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void test_tmp_dir (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/utils-isolated.c:52,1
    - Dst: g_get_user_cache_dir
      Src: /src/glib/glib/tests/utils-isolated.c:52,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/utils-isolated.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: test_user_cache_dir
    functionSourceFile: /src/glib/glib/tests/utils-isolated.c
    functionUses: []
    functionsReached:
    - g_str_has_prefix
    - g_assert_true
    - g_get_user_cache_dir
    linkageType: ''
    returnType: void
    signature: 'static void test_user_cache_dir (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/utils-isolated.c:67,1
    - Dst: g_get_user_config_dir
      Src: /src/glib/glib/tests/utils-isolated.c:67,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/utils-isolated.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: test_user_config_dir
    functionSourceFile: /src/glib/glib/tests/utils-isolated.c
    functionUses: []
    functionsReached:
    - g_str_has_prefix
    - g_assert_true
    - g_get_user_config_dir
    linkageType: ''
    returnType: void
    signature: 'static void test_user_config_dir (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/utils-isolated.c:82,1
    - Dst: g_get_user_data_dir
      Src: /src/glib/glib/tests/utils-isolated.c:82,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/utils-isolated.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: test_user_data_dir
    functionSourceFile: /src/glib/glib/tests/utils-isolated.c
    functionUses: []
    functionsReached:
    - g_str_has_prefix
    - g_assert_true
    - g_get_user_data_dir
    linkageType: ''
    returnType: void
    signature: 'static void test_user_data_dir (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/utils-isolated.c:94,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/utils-isolated.c:94,1
    - Dst: g_get_user_runtime_dir
      Src: /src/glib/glib/tests/utils-isolated.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: test_user_runtime_dir
    functionSourceFile: /src/glib/glib/tests/utils-isolated.c
    functionUses: []
    functionsReached:
    - g_str_has_prefix
    - g_assert_true
    - g_get_user_runtime_dir
    linkageType: ''
    returnType: void
    signature: 'static void test_user_runtime_dir (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_get_user_runtime_dir
      Src: /src/glib/glib/tests/utils-isolated.c:140,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/utils-isolated.c:142,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/utils-isolated.c:145,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/utils-isolated.c:149,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utils-isolated.c:153,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/utils-isolated.c:162,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/utils-isolated.c:164,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/utils-isolated.c:174,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utils-isolated.c:181,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utils-isolated.c:182,1
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/utils-isolated.c:147,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/utils-isolated.c:150,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/utils-isolated.c:166,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/utils-isolated.c:167,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/utils-isolated.c:174,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/utils-isolated.c:178,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/utils-isolated.c:179,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/utils-isolated.c:141,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/utils-isolated.c:139,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utils-isolated.c:154,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/glib/tests/utils-isolated.c:162,1
    - Dst: symlink
      Src: /src/glib/glib/tests/utils-isolated.c:150,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/glib/tests/utils-isolated.c:149,1
    - Dst: g_file_set_contents
      Src: /src/glib/glib/tests/utils-isolated.c:163,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/utils-isolated.c:175,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/utils-isolated.c:179,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/utils-isolated.c:137,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/utils-isolated.c:142,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/utils-isolated.c:143,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/utils-isolated.c:144,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utils-isolated.c:152,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/utils-isolated.c:175,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/utils-isolated.c:178,1
    - Dst: g_free
      Src: /src/glib/glib/tests/utils-isolated.c:183,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 186
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 186
    functionName: test_cleanup_doesnt_follow_symlinks
    functionSourceFile: /src/glib/glib/tests/utils-isolated.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_passed
    - symlink
    - g_assert_true
    - g_mkdir_with_parents
    - g_getenv
    - g_file_set_contents
    - g_file_test
    - g_assert_cmpstr
    - g_str_has_prefix
    - g_assert_no_error
    - g_test_trap_subprocess
    - g_build_filename
    - g_assert_false
    - g_test_subprocess
    - g_test_skip
    - g_free
    - g_get_user_runtime_dir
    - g_assert_no_errno
    linkageType: ''
    returnType: void
    signature: 'static void test_cleanup_doesnt_follow_symlinks (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_setenv
      Src: /src/glib/glib/tests/utils-isolated.c:192,1
    - Dst: g_test_init
      Src: /src/glib/glib/tests/utils-isolated.c:193,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/utils-isolated.c:196,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils-isolated.c:198,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/utils-isolated.c:195,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils-isolated.c:199,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils-isolated.c:200,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils-isolated.c:201,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils-isolated.c:202,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils-isolated.c:203,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils-isolated.c:208,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/utils-isolated.c:209,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils-isolated.c:206,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils-isolated.c:207,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils-isolated.c:204,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/utils-isolated.c:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 210
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 210
    functionName: main
    functionSourceFile: /src/glib/glib/tests/utils-isolated.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_setenv
    - g_getenv
    - g_assert_nonnull
    - g_test_run
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_io_channel_read_chars
      Src: /src/glib/glib/tests/spawn-singlethread.c:96,1
    - Dst: g_string_append_len
      Src: /src/glib/glib/tests/spawn-singlethread.c:98,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-singlethread.c:97,1
    - Dst: g_main_loop_quit
      Src: /src/glib/glib/tests/spawn-singlethread.c:108,1
    - Dst: g_error
      Src: /src/glib/glib/tests/spawn-singlethread.c:105,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 3
    argNames:
    - channel
    - condition
    - datap
    argTypes:
    - GIOChannel*
    - GIOCondition
    - gpointer
    constantsTouched: []
    func_position:
      end: 111
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 111
    functionName: on_child_stdout
    functionSourceFile: /src/glib/glib/tests/spawn-singlethread.c
    functionUses: []
    functionsReached:
    - g_string_append_len
    - g_io_channel_read_chars
    - g_assert_no_error
    - g_main_loop_quit
    - g_error
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean on_child_stdout (GIOChannel *channel,\t\t GIOCondition\
      \ condition,\t\t gpointer datap) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-singlethread.c:208,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-singlethread.c:210,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/spawn-singlethread.c:207,1
    - Dst: g_main_context_new
      Src: /src/glib/glib/tests/spawn-singlethread.c:255,1
    - Dst: safe_close
      Src: /src/glib/glib/tests/spawn-singlethread.c:263,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/spawn-singlethread.c:246,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/spawn-singlethread.c:275,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/spawn-singlethread.c:284,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-singlethread.c:304,1
    - Dst: safe_close
      Src: /src/glib/glib/tests/spawn-singlethread.c:311,1
    - Dst: g_io_channel_unix_new
      Src: /src/glib/glib/tests/spawn-singlethread.c:280,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/tests/spawn-singlethread.c:316,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/spawn-singlethread.c:212,1
    - Dst: _pipe
      Src: /src/glib/glib/tests/spawn-singlethread.c:242,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/spawn-singlethread.c:251,1
    - Dst: safe_close
      Src: /src/glib/glib/tests/spawn-singlethread.c:266,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-singlethread.c:262,1
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/spawn-singlethread.c:256,1
    - Dst: safe_close
      Src: /src/glib/glib/tests/spawn-singlethread.c:264,1
    - Dst: g_child_watch_source_new
      Src: /src/glib/glib/tests/spawn-singlethread.c:273,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/spawn-singlethread.c:274,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/spawn-singlethread.c:276,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/spawn-singlethread.c:301,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-singlethread.c:317,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/spawn-singlethread.c:306,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-singlethread.c:209,1
    - Dst: g_unix_open_pipe
      Src: /src/glib/glib/tests/spawn-singlethread.c:239,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/spawn-singlethread.c:242,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/spawn-singlethread.c:299,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/spawn-singlethread.c:302,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/tests/spawn-singlethread.c:308,1
    - Dst: safe_close
      Src: /src/glib/glib/tests/spawn-singlethread.c:313,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/spawn-singlethread.c:282,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/spawn-singlethread.c:205,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-singlethread.c:240,1
    - Dst: g_spawn_async_with_fds
      Src: /src/glib/glib/tests/spawn-singlethread.c:258,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/spawn-singlethread.c:271,1
    - Dst: g_io_create_watch
      Src: /src/glib/glib/tests/spawn-singlethread.c:281,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/spawn-singlethread.c:285,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/spawn-singlethread.c:293,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/spawn-singlethread.c:295,1
    - Dst: g_io_channel_unref
      Src: /src/glib/glib/tests/spawn-singlethread.c:303,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/spawn-singlethread.c:309,1
    - Dst: safe_close
      Src: /src/glib/glib/tests/spawn-singlethread.c:310,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 79
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 318
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 318
    functionName: test_spawn_async_with_fds
    functionSourceFile: /src/glib/glib/tests/spawn-singlethread.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_spawn_async_with_fds
    - g_source_set_callback
    - g_main_context_unref
    - g_ptr_array_new
    - g_io_channel_unref
    - g_io_channel_unix_new
    - g_assert_true
    - G_N_ELEMENTS
    - g_source_attach
    - g_io_create_watch
    - g_free
    - g_main_context_new
    - g_source_unref
    - g_ptr_array_add
    - _pipe
    - g_assert_cmpint
    - g_main_loop_run
    - g_child_watch_source_new
    - g_assert_not_reached
    - g_assert_no_error
    - g_main_loop_new
    - g_string_new
    - g_ptr_array_free
    - g_unix_open_pipe
    - g_main_loop_unref
    - g_assert_cmpstr
    - g_string_free
    - safe_close
    linkageType: ''
    returnType: void
    signature: 'static void test_spawn_async_with_fds (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/spawn-singlethread.c:335,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/spawn-singlethread.c:340,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/spawn-singlethread.c:348,1
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/spawn-singlethread.c:345,1
    - Dst: g_spawn_async_with_pipes_and_fds
      Src: /src/glib/glib/tests/spawn-singlethread.c:338,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/spawn-singlethread.c:349,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/spawn-singlethread.c:350,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 351
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 351
    functionName: test_spawn_async_with_invalid_fds
    functionSourceFile: /src/glib/glib/tests/spawn-singlethread.c
    functionUses: []
    functionsReached:
    - g_spawn_async_with_pipes_and_fds
    - G_N_ELEMENTS
    - g_error_free
    - g_assert_false
    - g_test_skip
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_spawn_async_with_invalid_fds (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WSAStartup
      Src: /src/glib/glib/tests/spawn-singlethread.c:400,1
    - Dst: MAKEWORD
      Src: /src/glib/glib/tests/spawn-singlethread.c:400,1
    - Dst: g_error
      Src: /src/glib/glib/tests/spawn-singlethread.c:401,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 403
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 403
    functionName: init_networking
    functionSourceFile: /src/glib/glib/tests/spawn-singlethread.c
    functionUses: []
    functionsReached:
    - MAKEWORD
    - g_error
    - WSAStartup
    linkageType: ''
    returnType: void
    signature: 'static void init_networking (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/spawn-singlethread.c:458,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-singlethread.c:462,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-singlethread.c:461,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-singlethread.c:463,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/spawn-singlethread.c:460,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/spawn-singlethread.c:465,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-singlethread.c:466,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/spawn-singlethread.c:467,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-singlethread.c:468,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-singlethread.c:469,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/tests/spawn-singlethread.c:470,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 471
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 471
    functionName: test_posix_spawn
    functionSourceFile: /src/glib/glib/tests/spawn-singlethread.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_assert_cmpstr
    - g_assert_no_error
    - g_spawn_sync
    - g_ptr_array_free
    - g_ptr_array_new
    - g_free
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void test_posix_spawn (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/spawn-singlethread.c:501,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/spawn-singlethread.c:505,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-singlethread.c:503,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/spawn-singlethread.c:507,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-singlethread.c:502,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/spawn-singlethread.c:508,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/spawn-singlethread.c:509,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/tests/spawn-singlethread.c:511,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/spawn-singlethread.c:513,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 514
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 514
    functionName: test_spawn_nonexistent
    functionSourceFile: /src/glib/glib/tests/spawn-singlethread.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_assert_cmpint
    - g_assert_null
    - g_spawn_sync
    - g_ptr_array_free
    - g_ptr_array_new
    - g_ptr_array_add
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_spawn_nonexistent (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_quit
      Src: /src/glib/glib/tests/spawn-singlethread.c:78,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - pid
    - status
    - datap
    argTypes:
    - GPid
    - gint
    - gpointer
    constantsTouched: []
    func_position:
      end: 81
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 81
    functionName: on_child_exited
    functionSourceFile: /src/glib/glib/tests/spawn-singlethread.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean on_child_exited (GPid pid,\t\t gint status,\t\t gpointer\
      \ datap) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-singlethread.c:134,1
    - Dst: g_io_create_watch
      Src: /src/glib/glib/tests/spawn-singlethread.c:154,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/spawn-singlethread.c:150,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/spawn-singlethread.c:159,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-singlethread.c:170,1
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/spawn-singlethread.c:129,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-singlethread.c:136,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-singlethread.c:140,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/spawn-singlethread.c:146,1
    - Dst: g_child_watch_source_new
      Src: /src/glib/glib/tests/spawn-singlethread.c:148,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/spawn-singlethread.c:163,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/spawn-singlethread.c:164,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/spawn-singlethread.c:131,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/spawn-singlethread.c:133,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/spawn-singlethread.c:151,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/spawn-singlethread.c:155,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/spawn-singlethread.c:161,1
    - Dst: g_main_context_unref
      Src: /src/glib/glib/tests/spawn-singlethread.c:167,1
    - Dst: g_main_context_new
      Src: /src/glib/glib/tests/spawn-singlethread.c:128,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-singlethread.c:135,1
    - Dst: g_spawn_async_with_pipes
      Src: /src/glib/glib/tests/spawn-singlethread.c:138,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/tests/spawn-singlethread.c:141,1
    - Dst: g_source_set_callback
      Src: /src/glib/glib/tests/spawn-singlethread.c:149,1
    - Dst: g_source_attach
      Src: /src/glib/glib/tests/spawn-singlethread.c:156,1
    - Dst: g_io_channel_unix_new
      Src: /src/glib/glib/tests/spawn-singlethread.c:153,1
    - Dst: g_source_unref
      Src: /src/glib/glib/tests/spawn-singlethread.c:157,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/spawn-singlethread.c:162,1
    - Dst: g_io_channel_unref
      Src: /src/glib/glib/tests/spawn-singlethread.c:166,1
    - Dst: g_main_loop_unref
      Src: /src/glib/glib/tests/spawn-singlethread.c:168,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 171
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 171
    functionName: test_spawn_async
    functionSourceFile: /src/glib/glib/tests/spawn-singlethread.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_main_context_unref
    - g_source_set_callback
    - g_ptr_array_new
    - g_io_channel_unref
    - g_io_channel_unix_new
    - g_source_attach
    - g_io_create_watch
    - g_main_context_new
    - g_source_unref
    - g_ptr_array_add
    - g_main_loop_run
    - g_child_watch_source_new
    - g_spawn_async_with_pipes
    - g_main_loop_new
    - g_assert_no_error
    - g_string_new
    - g_ptr_array_free
    - g_assert
    - g_main_loop_unref
    - g_assert_cmpstr
    - g_string_free
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_spawn_async (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/spawn-singlethread.c:358,1
    - Dst: g_strjoinv
      Src: /src/glib/glib/tests/spawn-singlethread.c:382,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/spawn-singlethread.c:388,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-singlethread.c:387,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/spawn-singlethread.c:386,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-singlethread.c:389,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-singlethread.c:390,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-singlethread.c:391,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 392
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 392
    functionName: test_spawn_sync
    functionSourceFile: /src/glib/glib/tests/spawn-singlethread.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_assert_cmpstr
    - g_assert_no_error
    - g_strjoinv
    - g_spawn_sync
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_spawn_sync (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: init_networking
      Src: /src/glib/glib/tests/spawn-singlethread.c:417,1
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/spawn-singlethread.c:415,1
    - Dst: dup2
      Src: /src/glib/glib/tests/spawn-singlethread.c:425,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/tests/spawn-singlethread.c:434,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/spawn-singlethread.c:432,1
    - Dst: g_close
      Src: /src/glib/glib/tests/spawn-singlethread.c:435,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/spawn-singlethread.c:419,1
    - Dst: _open_osfhandle
      Src: /src/glib/glib/tests/spawn-singlethread.c:421,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/spawn-singlethread.c:426,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-singlethread.c:436,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-singlethread.c:430,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/spawn-singlethread.c:440,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-singlethread.c:433,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-singlethread.c:429,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/spawn-singlethread.c:413,1
    - Dst: socket
      Src: /src/glib/glib/tests/spawn-singlethread.c:418,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/spawn-singlethread.c:422,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/spawn-singlethread.c:428,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/spawn-singlethread.c:441,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 442
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 442
    functionName: test_spawn_stderr_socket
    functionSourceFile: /src/glib/glib/tests/spawn-singlethread.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_passed
    - g_test_summary
    - socket
    - _open_osfhandle
    - g_close
    - g_assert_no_error
    - init_networking
    - g_test_trap_subprocess
    - g_spawn_sync
    - g_test_subprocess
    - g_ptr_array_free
    - g_ptr_array_new
    - g_ptr_array_add
    - dup2
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_spawn_stderr_socket (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/spawn-singlethread.c:481,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-singlethread.c:482,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/spawn-singlethread.c:483,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/spawn-singlethread.c:486,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/spawn-singlethread.c:485,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/spawn-singlethread.c:487,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-singlethread.c:488,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/tests/spawn-singlethread.c:489,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 490
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 490
    functionName: test_spawn_script
    functionSourceFile: /src/glib/glib/tests/spawn-singlethread.c
    functionUses: []
    functionsReached:
    - g_assert_cmpstr
    - g_assert_no_error
    - g_spawn_sync
    - g_ptr_array_free
    - g_ptr_array_new
    - g_free
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void test_spawn_script (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_test
      Src: /src/glib/glib/tests/spawn-singlethread.c:604,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/spawn-singlethread.c:607,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/spawn-singlethread.c:617,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-singlethread.c:620,1
    - Dst: g_test_init
      Src: /src/glib/glib/tests/spawn-singlethread.c:592,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/spawn-singlethread.c:596,1
    - Dst: g_path_get_dirname
      Src: /src/glib/glib/tests/spawn-singlethread.c:594,1
    - Dst: g_test_build_filename
      Src: /src/glib/glib/tests/spawn-singlethread.c:600,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/spawn-singlethread.c:609,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/spawn-singlethread.c:605,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/spawn-singlethread.c:610,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/spawn-singlethread.c:612,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/spawn-singlethread.c:611,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/spawn-singlethread.c:613,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/spawn-singlethread.c:615,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-singlethread.c:619,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/spawn-singlethread.c:605,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/spawn-singlethread.c:590,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/spawn-singlethread.c:595,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/spawn-singlethread.c:597,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-singlethread.c:599,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-singlethread.c:602,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/spawn-singlethread.c:604,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/spawn-singlethread.c:608,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/spawn-singlethread.c:614,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 623
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 623
    functionName: main
    functionSourceFile: /src/glib/glib/tests/spawn-singlethread.c
    functionUses: []
    functionsReached:
    - g_path_get_dirname
    - g_test_add_func
    - g_test_build_filename
    - g_assert
    - g_free
    - g_test_run
    - setlocale
    - g_build_filename
    - g_file_test
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/glib/glib/tests/spawn-singlethread.c:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 181
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 181
    functionName: safe_close
    functionSourceFile: /src/glib/glib/tests/spawn-singlethread.c
    functionUses: []
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: 'static void safe_close (int fd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_open_tmp
      Src: /src/glib/glib/tests/spawn-singlethread.c:536,1
    - Dst: dup
      Src: /src/glib/glib/tests/spawn-singlethread.c:545,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/spawn-singlethread.c:547,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/spawn-singlethread.c:537,1
    - Dst: fcntl
      Src: /src/glib/glib/tests/spawn-singlethread.c:543,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/spawn-singlethread.c:556,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/spawn-singlethread.c:558,1
    - Dst: g_spawn_async_with_pipes_and_fds
      Src: /src/glib/glib/tests/spawn-singlethread.c:562,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/spawn-singlethread.c:567,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/spawn-singlethread.c:568,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/spawn-singlethread.c:570,1
    - Dst: fstat
      Src: /src/glib/glib/tests/spawn-singlethread.c:575,1
    - Dst: g_close
      Src: /src/glib/glib/tests/spawn-singlethread.c:580,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/spawn-singlethread.c:576,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/spawn-singlethread.c:575,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 581
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 581
    functionName: test_spawn_fd_assignment_clash
    functionSourceFile: /src/glib/glib/tests/spawn-singlethread.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_spawn_async_with_pipes_and_fds
    - fstat
    - dup
    - g_test_message
    - g_assert_cmpuint
    - g_assert_error
    - g_close
    - g_file_open_tmp
    - fcntl
    - g_assert_false
    - g_assert_no_errno
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_spawn_fd_assignment_clash (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - hook
    - data
    argTypes:
    - GHook*
    - gpointer
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: hook_find_true
    functionSourceFile: /src/glib/glib/tests/hook.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean hook_find_true (GHook *hook, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: hook_destroy
    functionSourceFile: /src/glib/glib/tests/hook.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void hook_destroy (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - hook
    - marshal_data
    argTypes:
    - GHook*
    - gpointer
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: hook_marshaller_check
    functionSourceFile: /src/glib/glib/tests/hook.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean hook_marshaller_check (GHook *hook, gpointer marshal_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/glib/tests/hook.c:73,1
    - Dst: g_new
      Src: /src/glib/glib/tests/hook.c:81,1
    - Dst: g_hook_list_clear
      Src: /src/glib/glib/tests/hook.c:77,1
    - Dst: g_hook_list_init
      Src: /src/glib/glib/tests/hook.c:74,1
    - Dst: g_free
      Src: /src/glib/glib/tests/hook.c:78,1
    - Dst: g_hook_list_init
      Src: /src/glib/glib/tests/hook.c:82,1
    - Dst: g_hook_alloc
      Src: /src/glib/glib/tests/hook.c:84,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/hook.c:85,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/hook.c:86,1
    - Dst: g_hook_append
      Src: /src/glib/glib/tests/hook.c:90,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/hook.c:92,1
    - Dst: g_hook_destroy
      Src: /src/glib/glib/tests/hook.c:92,1
    - Dst: g_free
      Src: /src/glib/glib/tests/hook.c:95,1
    - Dst: g_hook_list_clear
      Src: /src/glib/glib/tests/hook.c:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 96
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 96
    functionName: test_hook_corner_cases
    functionSourceFile: /src/glib/glib/tests/hook.c
    functionUses: []
    functionsReached:
    - g_new
    - g_hook_append
    - g_hook_list_clear
    - g_hook_list_init
    - g_assert_nonnull
    - g_hook_destroy
    - g_hook_alloc
    - GINT_TO_POINTER
    - g_assert_false
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_hook_corner_cases (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: hook_func
    functionSourceFile: /src/glib/glib/tests/hook.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void hook_func (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - hook
    - data
    argTypes:
    - GHook*
    - gpointer
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: hook_find_false
    functionSourceFile: /src/glib/glib/tests/hook.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean hook_find_false (GHook *hook, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - hook
    - marshal_data
    argTypes:
    - GHook*
    - gpointer
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: hook_marshaller
    functionSourceFile: /src/glib/glib/tests/hook.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void hook_marshaller (GHook *hook, gpointer marshal_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - new_hook
    - sibling
    argTypes:
    - GHook*
    - GHook*
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: hook_compare
    functionSourceFile: /src/glib/glib/tests/hook.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint
    signature: 'static gint hook_compare (GHook *new_hook, GHook *sibling) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hook_destroy
      Src: /src/glib/glib/tests/hook.c:147,1
    - Dst: g_hook_list_invoke
      Src: /src/glib/glib/tests/hook.c:180,1
    - Dst: g_hook_list_invoke_check
      Src: /src/glib/glib/tests/hook.c:181,1
    - Dst: g_hook_find_func
      Src: /src/glib/glib/tests/hook.c:191,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/hook.c:199,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/hook.c:136,1
    - Dst: g_hook_alloc
      Src: /src/glib/glib/tests/hook.c:140,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/hook.c:184,1
    - Dst: g_hook_insert_sorted
      Src: /src/glib/glib/tests/hook.c:163,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hook.c:156,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/hook.c:190,1
    - Dst: g_hook_list_marshal
      Src: /src/glib/glib/tests/hook.c:200,1
    - Dst: g_hook_list_marshal_check
      Src: /src/glib/glib/tests/hook.c:203,1
    - Dst: g_hook_alloc
      Src: /src/glib/glib/tests/hook.c:158,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/hook.c:183,1
    - Dst: g_hook_alloc
      Src: /src/glib/glib/tests/hook.c:172,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/hook.c:186,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/hook.c:116,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/hook.c:128,1
    - Dst: g_hook_alloc
      Src: /src/glib/glib/tests/hook.c:165,1
    - Dst: g_hook_compare_ids
      Src: /src/glib/glib/tests/hook.c:138,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/hook.c:187,1
    - Dst: g_hook_list_marshal
      Src: /src/glib/glib/tests/hook.c:199,1
    - Dst: g_hook_list_marshal_check
      Src: /src/glib/glib/tests/hook.c:202,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hook.c:110,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hook.c:122,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/hook.c:141,1
    - Dst: g_hook_find_func_data
      Src: /src/glib/glib/tests/hook.c:196,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/hook.c:192,1
    - Dst: g_hook_find_data
      Src: /src/glib/glib/tests/hook.c:187,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/hook.c:111,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/hook.c:112,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/hook.c:113,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/hook.c:114,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hook.c:124,1
    - Dst: g_hook_prepend
      Src: /src/glib/glib/tests/hook.c:145,1
    - Dst: g_hook_compare_ids
      Src: /src/glib/glib/tests/hook.c:156,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/hook.c:194,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/hook.c:196,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/hook.c:191,1
    - Dst: g_hook_find_func_data
      Src: /src/glib/glib/tests/hook.c:195,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/hook.c:150,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/hook.c:166,1
    - Dst: g_hook_append
      Src: /src/glib/glib/tests/hook.c:132,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/hook.c:194,1
    - Dst: g_hook_find_func
      Src: /src/glib/glib/tests/hook.c:190,1
    - Dst: g_hook_list_marshal_check
      Src: /src/glib/glib/tests/hook.c:204,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/hook.c:195,1
    - Dst: g_hook_alloc
      Src: /src/glib/glib/tests/hook.c:118,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hook.c:138,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/hook.c:187,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/hook.c:159,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/hook.c:196,1
    - Dst: g_free
      Src: /src/glib/glib/tests/hook.c:207,1
    - Dst: g_hook_find_func
      Src: /src/glib/glib/tests/hook.c:192,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/hook.c:195,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/hook.c:108,1
    - Dst: g_hook_list_marshal
      Src: /src/glib/glib/tests/hook.c:198,1
    - Dst: g_hook_insert_before
      Src: /src/glib/glib/tests/hook.c:177,1
    - Dst: g_new
      Src: /src/glib/glib/tests/hook.c:106,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hook.c:123,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/hook.c:125,1
    - Dst: g_hook_insert_sorted
      Src: /src/glib/glib/tests/hook.c:154,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/hook.c:173,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/hook.c:109,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/hook.c:119,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/hook.c:121,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/hook.c:120,1
    - Dst: g_hook_find
      Src: /src/glib/glib/tests/hook.c:184,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/hook.c:188,1
    - Dst: g_hook_list_init
      Src: /src/glib/glib/tests/hook.c:107,1
    - Dst: g_hook_get
      Src: /src/glib/glib/tests/hook.c:135,1
    - Dst: g_hook_alloc
      Src: /src/glib/glib/tests/hook.c:149,1
    - Dst: g_hook_insert_before
      Src: /src/glib/glib/tests/hook.c:170,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/hook.c:203,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/hook.c:126,1
    - Dst: g_hook_find_data
      Src: /src/glib/glib/tests/hook.c:186,1
    - Dst: g_hook_list_clear
      Src: /src/glib/glib/tests/hook.c:206,1
    - Dst: g_hook_find_func_data
      Src: /src/glib/glib/tests/hook.c:194,1
    - Dst: g_hook_find_data
      Src: /src/glib/glib/tests/hook.c:188,1
    - Dst: g_hook_find
      Src: /src/glib/glib/tests/hook.c:183,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/hook.c:115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 117
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 208
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 208
    functionName: test_hook_basics
    functionSourceFile: /src/glib/glib/tests/hook.c
    functionUses: []
    functionsReached:
    - g_assert_null
    - g_hook_compare_ids
    - g_assert_cmpmem
    - g_hook_list_invoke
    - g_assert_true
    - g_hook_insert_before
    - g_hook_append
    - g_assert_nonnull
    - g_hook_destroy
    - g_hook_insert_sorted
    - g_hook_find
    - g_hook_list_marshal_check
    - g_hook_get
    - g_assert_cmpint
    - g_hook_find_data
    - g_new
    - g_hook_list_clear
    - g_hook_find_func_data
    - g_hook_alloc
    - g_hook_find_func
    - GINT_TO_POINTER
    - g_hook_list_invoke_check
    - g_hook_prepend
    - g_hook_list_marshal
    - g_hook_list_init
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_hook_basics (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/hook.c:212,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hook.c:214,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/hook.c:215,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/hook.c:217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 218
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 218
    functionName: main
    functionSourceFile: /src/glib/glib/tests/hook.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/testing.c:348,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/testing.c:350,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/testing.c:355,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/testing.c:356,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:354,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 357
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 357
    functionName: test_subprocess_fail
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_failed
    - g_test_trap_assert_stderr
    - g_assert_not_reached
    - g_test_trap_subprocess
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_subprocess_fail (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/testing.c:758,1
    - Dst: g_print
      Src: /src/glib/glib/tests/testing.c:761,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 762
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 762
    functionName: test_dash_p_child_sub
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_test_subprocess
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void test_dash_p_child_sub (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/testing.c:615,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/testing.c:616,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/testing.c:617,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 618
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 618
    functionName: test_expected_messages_expect_error
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_test_expect_message
    - g_test_assert_expected_messages
    linkageType: ''
    returnType: void
    signature: 'static void test_expected_messages_expect_error (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/testing.c:2283,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2288,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2289,1
    - Dst: g_test_get_filename
      Src: /src/glib/glib/tests/testing.c:2285,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:2287,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2290,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2291,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:2293,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2297,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:2299,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2300,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:2303,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:2303,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2304,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:2311,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2304,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:2310,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2312
      start: 2274
    functionDepth: 0
    functionLinenumber: 2274
    functionLinenumberEnd: 2312
    functionName: test_tap_subtest_summary
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_ptr_array_unref
    - g_assert_true
    - g_test_summary
    - g_spawn_check_wait_status
    - g_assert_nonnull
    - g_test_get_filename
    - g_assert_no_error
    - g_str_has_prefix
    - strstr
    - g_spawn_sync
    - g_ptr_array_new
    - g_free
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void test_tap_subtest_summary (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/testing.c:362,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:369,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/testing.c:370,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/testing.c:366,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:364,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/testing.c:371,1
    - Dst: g_test_trap_assert_stderr_unmatched
      Src: /src/glib/glib/tests/testing.c:372,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 373
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 373
    functionName: test_subprocess_no_such_test
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_failed
    - g_test_trap_assert_stderr
    - g_assert_not_reached
    - g_test_trap_assert_stderr_unmatched
    - g_test_trap_subprocess
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_subprocess_no_such_test (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/testing.c:623,1
    - Dst: test_expected_messages_warning
      Src: /src/glib/glib/tests/testing.c:630,1
    - Dst: exit
      Src: /src/glib/glib/tests/testing.c:633,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/testing.c:625,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/testing.c:627,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 634
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 634
    functionName: test_expected_messages_extra_warning
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_test_expect_message
    - test_expected_messages_warning
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void test_expected_messages_extra_warning (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/testing.c:767,1
    - Dst: g_print
      Src: /src/glib/glib/tests/testing.c:770,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 771
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 771
    functionName: test_dash_p_child_sub2
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_test_subprocess
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void test_dash_p_child_sub2 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2332,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:2349,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2362,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2363,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2364,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2368,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:2376,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2369,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/testing.c:2325,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:2329,1
    - Dst: g_test_get_filename
      Src: /src/glib/glib/tests/testing.c:2327,1
    - Dst: g_get_environ
      Src: /src/glib/glib/tests/testing.c:2336,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:2340,1
    - Dst: g_environ_unsetenv
      Src: /src/glib/glib/tests/testing.c:2338,1
    - Dst: strlen
      Src: /src/glib/glib/tests/testing.c:2354,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/testing.c:2356,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2360,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2365,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:2373,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2331,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2330,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2333,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2337,1
    - Dst: g_environ_getenv
      Src: /src/glib/glib/tests/testing.c:2337,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:2346,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/testing.c:2338,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/testing.c:2357,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/testing.c:2357,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2366,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/testing.c:2375,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/testing.c:2374,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2344,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2347,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2352,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2349,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2353,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2361,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2367,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2371,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2370,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2377
      start: 2314
    functionDepth: 0
    functionLinenumber: 2314
    functionLinenumberEnd: 2377
    functionName: test_tap_message
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_assert_null
    - g_strsplit
    - g_ptr_array_new
    - g_assert_nonnull
    - g_strfreev
    - g_environ_getenv
    - g_environ_unsetenv
    - g_get_environ
    - g_ptr_array_add
    - g_ptr_array_unref
    - g_strv_length
    - strlen
    - g_test_get_filename
    - g_assert_cmpuint
    - g_assert_no_error
    - strstr
    - g_test_summary
    - g_spawn_check_wait_status
    - g_assert_cmpstr
    - g_spawn_sync
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_tap_message (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_trap_fork
      Src: /src/glib/glib/tests/testing.c:332,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/testing.c:338,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:339,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/testing.c:336,1
    - Dst: g_test_trap_reached_timeout
      Src: /src/glib/glib/tests/testing.c:339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 340
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 340
    functionName: test_fork_timeout
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_failed
    - g_assert_true
    - g_test_trap_fork
    - g_usleep
    - g_test_trap_reached_timeout
    linkageType: ''
    returnType: void
    signature: 'static void test_fork_timeout (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/testing.c:576,1
    - Dst: test_expected_messages_warning
      Src: /src/glib/glib/tests/testing.c:578,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 579
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 579
    functionName: test_expected_messages_expect_warning
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_test_expect_message
    - test_expected_messages_warning
    linkageType: ''
    returnType: void
    signature: 'static void test_expected_messages_expect_warning (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 4
    argNames:
    - log_domain
    - log_level
    - message
    - user_data
    argTypes:
    - gchar*
    - GLogLevelFlags
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 519
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 519
    functionName: fatal_handler
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean fatal_handler (const gchar *log_domain, GLogLevelFlags
      log_level, const gchar *message, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_log_set_fatal_handler
      Src: /src/glib/glib/tests/testing.c:524,1
    - Dst: exit
      Src: /src/glib/glib/tests/testing.c:527,1
    - Dst: g_critical
      Src: /src/glib/glib/tests/testing.c:526,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 528
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 528
    functionName: test_fatal_log_handler_critical_pass
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_str_has_prefix
    - g_critical
    - g_test_log_set_fatal_handler
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void test_fatal_log_handler_critical_pass (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/testing.c:584,1
    - Dst: test_expected_messages_warning
      Src: /src/glib/glib/tests/testing.c:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 587
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 587
    functionName: test_expected_messages_wrong_warning
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_test_expect_message
    - test_expected_messages_warning
    linkageType: ''
    returnType: void
    signature: 'static void test_expected_messages_wrong_warning (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/testing.c:167,1
    - Dst: return_errno
      Src: /src/glib/glib/tests/testing.c:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: test_assertions_bad_no_errno
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - return_errno
    - g_assert_no_errno
    linkageType: ''
    returnType: void
    signature: 'static void test_assertions_bad_no_errno (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/testing.c:181,1
    - Dst: g_assert_cmpfloat_with_epsilon
      Src: /src/glib/glib/tests/testing.c:182,1
    - Dst: g_assert_cmpfloat_with_epsilon
      Src: /src/glib/glib/tests/testing.c:183,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:195,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/testing.c:197,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/testing.c:199,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/testing.c:200,1
    - Dst: return_no_errno
      Src: /src/glib/glib/tests/testing.c:201,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/glib/tests/testing.c:207,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/testing.c:212,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:260,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/testing.c:243,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:271,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/testing.c:262,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/testing.c:218,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/testing.c:273,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:250,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/testing.c:269,1
    - Dst: g_test_trap_assert_stderr_unmatched
      Src: /src/glib/glib/tests/testing.c:264,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/testing.c:278,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/testing.c:252,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:276,1
    - Dst: g_assert_cmphex
      Src: /src/glib/glib/tests/testing.c:179,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:185,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:186,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/testing.c:187,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:189,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:190,1
    - Dst: g_assert_cmpstrv
      Src: /src/glib/glib/tests/testing.c:203,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/testing.c:209,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/testing.c:217,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/testing.c:222,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/testing.c:223,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:225,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:255,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/testing.c:263,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/testing.c:274,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:230,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/testing.c:257,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/testing.c:279,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/testing.c:253,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/testing.c:178,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/testing.c:184,1
    - Dst: g_test_queue_free
      Src: /src/glib/glib/tests/testing.c:188,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:192,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:196,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/testing.c:198,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/glib/tests/testing.c:206,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/testing.c:213,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:215,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:220,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/testing.c:228,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:235,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/testing.c:247,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/testing.c:258,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/testing.c:233,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/testing.c:180,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:191,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:194,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:193,1
    - Dst: g_assert_no_errno
      Src: /src/glib/glib/tests/testing.c:201,1
    - Dst: g_assert_cmpstrv
      Src: /src/glib/glib/tests/testing.c:204,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/testing.c:210,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/testing.c:232,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/testing.c:237,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:240,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/testing.c:248,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/testing.c:242,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:266,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/testing.c:238,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/testing.c:268,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:245,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/testing.c:227,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 81
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 280
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 280
    functionName: test_assertions
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_assert_cmpvariant
    - g_variant_new_parsed
    - g_assert_cmpmem
    - g_assert_no_errno
    - g_assert_true
    - g_test_trap_assert_stderr_unmatched
    - g_variant_unref
    - g_assert_cmpstrv
    - g_assert_cmpint
    - g_test_trap_assert_failed
    - g_test_trap_subprocess
    - g_assert
    - g_test_queue_free
    - return_no_errno
    - g_assert_cmphex
    - g_assert_cmpfloat
    - g_assert_cmpfloat_with_epsilon
    - g_assert_cmpstr
    - g_test_trap_assert_stderr
    linkageType: ''
    returnType: void
    signature: 'static void test_assertions (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:2505,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2507,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:2517,1
    - Dst: strlen
      Src: /src/glib/glib/tests/testing.c:2523,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2529,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/testing.c:2526,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2506,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2515,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2522,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2508,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2509,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/testing.c:2526,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2531,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/testing.c:2501,1
    - Dst: g_test_get_filename
      Src: /src/glib/glib/tests/testing.c:2503,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:2511,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/testing.c:2525,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2518,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2530,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2521,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:2533,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/testing.c:2534,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:2535,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2536
      start: 2491
    functionDepth: 0
    functionLinenumber: 2491
    functionLinenumberEnd: 2536
    functionName: test_tap_subtest_print
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_ptr_array_unref
    - g_test_summary
    - g_spawn_check_wait_status
    - strlen
    - g_strv_length
    - g_assert_nonnull
    - g_test_get_filename
    - g_assert_cmpuint
    - g_assert_cmpstr
    - g_assert_no_error
    - strstr
    - g_strfreev
    - g_strsplit
    - g_spawn_sync
    - g_ptr_array_new
    - g_free
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void test_tap_subtest_print (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstrv
      Src: /src/glib/glib/tests/testing.c:94,1
    - Dst: exit
      Src: /src/glib/glib/tests/testing.c:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: test_assertions_bad_cmpstrv_length
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - exit
    - g_assert_cmpstrv
    linkageType: ''
    returnType: void
    signature: 'static void test_assertions_bad_cmpstrv_length (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_timer_start
      Src: /src/glib/glib/tests/testing.c:287,1
    - Dst: g_test_timer_last
      Src: /src/glib/glib/tests/testing.c:288,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/testing.c:288,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/testing.c:289,1
    - Dst: g_test_timer_elapsed
      Src: /src/glib/glib/tests/testing.c:290,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/testing.c:291,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/testing.c:292,1
    - Dst: g_test_timer_last
      Src: /src/glib/glib/tests/testing.c:292,1
    - Dst: g_test_minimized_result
      Src: /src/glib/glib/tests/testing.c:293,1
    - Dst: g_test_maximized_result
      Src: /src/glib/glib/tests/testing.c:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 295
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 295
    functionName: test_timer
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_assert_cmpfloat
    - g_usleep
    - g_test_maximized_result
    - g_test_timer_elapsed
    - g_test_timer_last
    - g_test_timer_start
    - g_test_minimized_result
    linkageType: ''
    returnType: void
    signature: 'static void test_timer (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/testing.c:378,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:384,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/testing.c:381,1
    - Dst: exit
      Src: /src/glib/glib/tests/testing.c:382,1
    - Dst: g_print
      Src: /src/glib/glib/tests/testing.c:380,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/testing.c:385,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/glib/tests/testing.c:386,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/testing.c:387,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 388
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 388
    functionName: test_subprocess_patterns
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_passed
    - g_printerr
    - g_test_trap_assert_stderr
    - g_test_trap_subprocess
    - g_print
    - g_test_subprocess
    - g_test_trap_assert_stdout
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void test_subprocess_patterns (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:548,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:554,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/testing.c:551,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/testing.c:550,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/testing.c:552,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/testing.c:556,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/testing.c:557,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:559,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/testing.c:561,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/testing.c:562,1
    - Dst: g_test_trap_assert_stderr_unmatched
      Src: /src/glib/glib/tests/testing.c:563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 564
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 564
    functionName: test_fatal_log_handler
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_passed
    - g_test_trap_assert_failed
    - g_test_trap_assert_stderr
    - g_test_trap_assert_stderr_unmatched
    - g_test_trap_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_fatal_log_handler (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/testing.c:639,1
    - Dst: test_expected_messages_warning
      Src: /src/glib/glib/tests/testing.c:646,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/testing.c:648,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/testing.c:643,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/testing.c:641,1
    - Dst: exit
      Src: /src/glib/glib/tests/testing.c:649,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 650
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 650
    functionName: test_expected_messages_unexpected_extra_warning
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_test_expect_message
    - g_test_assert_expected_messages
    - test_expected_messages_warning
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void test_expected_messages_unexpected_extra_warning (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstrv
      Src: /src/glib/glib/tests/testing.c:103,1
    - Dst: exit
      Src: /src/glib/glib/tests/testing.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 105
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 105
    functionName: test_assertions_bad_cmpstrv_values
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - exit
    - g_assert_cmpstrv
    linkageType: ''
    returnType: void
    signature: 'static void test_assertions_bad_cmpstrv_values (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/testing.c:393,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/testing.c:397,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:401,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/testing.c:402,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:403,1
    - Dst: g_test_trap_reached_timeout
      Src: /src/glib/glib/tests/testing.c:403,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 404
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 404
    functionName: test_subprocess_timeout
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_failed
    - g_assert_true
    - g_usleep
    - g_test_trap_subprocess
    - g_test_trap_reached_timeout
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_subprocess_timeout (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_warning
      Src: /src/glib/glib/tests/testing.c:569,1
    - Dst: g_random_int
      Src: /src/glib/glib/tests/testing.c:569,1
    - Dst: g_return_if_reached
      Src: /src/glib/glib/tests/testing.c:570,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 571
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 571
    functionName: test_expected_messages_warning
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_return_if_reached
    - g_random_int
    - g_warning
    linkageType: ''
    returnType: void
    signature: 'static void test_expected_messages_warning (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/testing.c:657,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/testing.c:663,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/testing.c:680,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/testing.c:685,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:661,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:667,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/testing.c:669,1
    - Dst: g_test_trap_assert_stderr_unmatched
      Src: /src/glib/glib/tests/testing.c:670,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:683,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:678,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/testing.c:681,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/testing.c:671,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/testing.c:686,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/testing.c:691,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/testing.c:675,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/testing.c:690,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:655,1
    - Dst: g_test_trap_assert_stderr_unmatched
      Src: /src/glib/glib/tests/testing.c:659,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/testing.c:658,1
    - Dst: g_test_trap_assert_stderr_unmatched
      Src: /src/glib/glib/tests/testing.c:664,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/testing.c:665,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:673,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/testing.c:676,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:688,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 692
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 692
    functionName: test_expected_messages
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_passed
    - g_test_trap_assert_failed
    - g_test_trap_assert_stderr
    - g_test_trap_assert_stderr_unmatched
    - g_test_trap_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_expected_messages (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2395,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:2393,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2396,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2397,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:2405,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/testing.c:2416,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:2408,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2421,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/testing.c:2433,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/testing.c:2389,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2394,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2403,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2406,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:2408,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/testing.c:2415,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2424,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/testing.c:2416,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2420,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2422,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2423,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2427,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2429,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2430,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:2434,1
    - Dst: g_test_get_filename
      Src: /src/glib/glib/tests/testing.c:2391,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:2399,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2411,1
    - Dst: strlen
      Src: /src/glib/glib/tests/testing.c:2413,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2412,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2419,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2425,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2426,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2428,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:2432,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2435
      start: 2379
    functionDepth: 0
    functionLinenumber: 2379
    functionLinenumberEnd: 2435
    functionName: test_tap_subtest_message
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_strsplit
    - g_ptr_array_new
    - g_assert_true
    - g_assert_nonnull
    - g_strfreev
    - g_ptr_array_add
    - g_ptr_array_unref
    - g_strv_length
    - strlen
    - g_test_get_filename
    - g_assert_cmpuint
    - g_assert_no_error
    - strstr
    - g_test_summary
    - g_spawn_check_wait_status
    - g_assert_cmpstr
    - g_str_has_prefix
    - g_spawn_sync
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_tap_subtest_message (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2454,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:2452,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2455,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2456,1
    - Dst: g_get_environ
      Src: /src/glib/glib/tests/testing.c:2459,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2460,1
    - Dst: strlen
      Src: /src/glib/glib/tests/testing.c:2475,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2481,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2482,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2453,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/testing.c:2461,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:2463,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:2469,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2474,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/testing.c:2477,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2483,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:2485,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/testing.c:2487,1
    - Dst: g_environ_getenv
      Src: /src/glib/glib/tests/testing.c:2460,1
    - Dst: g_environ_unsetenv
      Src: /src/glib/glib/tests/testing.c:2461,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2467,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/testing.c:2478,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/testing.c:2486,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/testing.c:2448,1
    - Dst: g_test_get_filename
      Src: /src/glib/glib/tests/testing.c:2450,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2470,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2473,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/testing.c:2478,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:2488,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2489
      start: 2437
    functionDepth: 0
    functionLinenumber: 2437
    functionLinenumberEnd: 2489
    functionName: test_tap_print
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_strsplit
    - g_ptr_array_new
    - g_assert_nonnull
    - g_strfreev
    - g_environ_getenv
    - g_environ_unsetenv
    - g_get_environ
    - g_ptr_array_add
    - g_ptr_array_unref
    - g_strv_length
    - strlen
    - g_test_get_filename
    - g_assert_cmpuint
    - g_assert_no_error
    - strstr
    - g_test_summary
    - g_spawn_check_wait_status
    - g_assert_cmpstr
    - g_spawn_sync
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_tap_print (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/testing.c:888,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/testing.c:899,1
    - Dst: subprocess_incomplete
      Src: /src/glib/glib/tests/testing.c:890,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:893,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 900
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 900
    functionName: test_incomplete
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - subprocess_incomplete
    - g_test_subprocess
    - g_test_trap_assert_failed
    - g_test_trap_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_incomplete (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/testing.c:124,1
    - Dst: exit
      Src: /src/glib/glib/tests/testing.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: test_assertions_bad_cmpmem_len
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_assert_cmpmem
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void test_assertions_bad_cmpmem_len (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_error
      Src: /src/glib/glib/tests/testing.c:533,1
    - Dst: exit
      Src: /src/glib/glib/tests/testing.c:534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 535
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 535
    functionName: test_fatal_log_handler_error_fail
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_error
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void test_fatal_log_handler_error_fail (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1856,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1869,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1906,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2011,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1978,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1943,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:2065,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2146,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2207,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1830,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1860,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2009,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1976,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1894,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1914,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2120,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2149,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2205,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:1679,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1766,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1874,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1996,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2180,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1677,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1724,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1872,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1900,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1987,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:2005,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1950,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2029,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2045,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2054,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2214,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1904,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1663,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1676,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:1792,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1938,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1958,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2052,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2085,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:2096,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2163,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1858,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1918,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1884,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/testing.c:1810,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1868,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1696,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:1704,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1744,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1780,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1790,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1796,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1813,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1916,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1948,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1982,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2069,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2085,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2134,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1878,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1710,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1740,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1832,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:2044,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2169,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1798,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2058,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2073,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1924,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1890,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1686,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1789,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1855,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1915,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2021,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:2095,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2182,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1839,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1922,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1690,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:1701,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:1748,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1768,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1888,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2033,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2104,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2222,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1699,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1862,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1968,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1934,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1899,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1959,1
    - Dst: g_get_environ
      Src: /src/glib/glib/tests/testing.c:1666,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1678,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1698,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2071,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2089,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1966,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1932,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1998,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1870,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:2027,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2043,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:2141,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1994,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:2197,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2212,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:2006,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:1726,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1746,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1688,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1718,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2031,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2102,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2136,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2138,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:2176,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2198,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1784,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1901,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1928,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1962,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:2092,1
    - Dst: g_test_get_filename
      Src: /src/glib/glib/tests/testing.c:1657,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1732,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/testing.c:1833,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1841,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1844,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1985,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2129,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1820,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2007,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1974,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:2078,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:2111,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2120,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2186,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2203,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1972,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1745,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1708,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1824,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1945,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2037,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2201,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1685,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:1723,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1712,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1762,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1794,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:2045,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2083,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2198,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2214,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1721,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1788,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1811,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2017,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2050,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2075,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2108,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2161,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2015,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1700,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1720,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1835,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1989,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2048,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2159,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2184,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2218,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:1770,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1822,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1871,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1880,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2035,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2106,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1853,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1871,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1744,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1752,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1993,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2011,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1978,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2145,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2207,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1680,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1876,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1947,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2133,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:1679,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1765,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:1815,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1874,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2056,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2118,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:2175,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1776,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1897,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1915,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1756,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1764,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1789,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2028,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2054,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:2064,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2155,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1886,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1920,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1991,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1730,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1803,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1819,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:2061,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:2127,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1884,1
    - Dst: g_environ_getenv
      Src: /src/glib/glib/tests/testing.c:1667,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1707,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1857,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1918,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2131,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2147,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:2191,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2199,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:2197,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2165,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1959,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1941,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1743,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1813,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2087,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2188,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2151,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1930,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1850,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1800,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/testing.c:1793,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1964,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1734,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1722,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1742,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1754,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1767,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2155,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1709,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1767,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/testing.c:1787,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1997,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1960,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1660,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1670,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1913,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1926,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2005,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2030,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2084,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2101,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2137,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1702,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1664,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1683,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1751,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1812,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1890,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1905,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1924,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1952,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:2146,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:1701,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1859,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1957,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1745,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1766,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1970,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1995,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1774,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1811,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:2024,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:2126,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1949,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1968,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1934,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2135,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2151,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2165,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:2225,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1729,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1662,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1903,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2013,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1687,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1778,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1786,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2046,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2157,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1937,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1957,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:2068,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2183,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2216,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1976,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:1940,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1731,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2009,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2034,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2105,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2128,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2205,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1974,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1817,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2007,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2093,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2196,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2203,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1872,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1724,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1678,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1705,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1848,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1981,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2072,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2199,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2210,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1864,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:1984,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1692,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:1723,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2052,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2082,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:2099,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2115,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2163,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2181,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2017,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1689,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2032,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2050,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2103,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2139,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2161,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1916,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1882,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1773,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1790,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1869,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:2147,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2167,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1882,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2210,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2218,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1908,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:2000,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1821,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1861,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1880,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2070,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1749,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1878,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:2020,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1914,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2169,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2187,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2212,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:2224,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2107,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1680,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1799,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1876,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2058,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:2178,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:2196,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:2221,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:2172,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:2039,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2056,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:2067,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:2084,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2117,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:2124,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1768,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1775,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1812,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1840,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1888,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1851,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1958,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1922,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2076,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2109,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1920,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1700,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1727,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1886,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2185,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:2026,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/testing.c:2121,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2173,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1893,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1913,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1714,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1667,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1753,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/testing.c:1816,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1823,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1826,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2036,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2089,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1807,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1932,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1711,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:1896,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1966,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2044,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2062,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:2083,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2087,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:2098,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1964,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1746,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1930,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2074,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2119,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2148,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:2179,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2195,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:2123,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1902,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1962,1
    - Dst: g_clear_pointer
      Src: /src/glib/glib/tests/testing.c:1668,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1837,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1928,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:2119,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2148,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1944,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2216,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1960,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1988,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2004,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1777,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1912,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1926,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2100,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1992,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1702,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1758,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2149,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1946,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1972,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2132,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2201,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1956,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/testing.c:1834,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1659,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1771,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1797,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1970,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:2118,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2167,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2189,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1801,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1788,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1809,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1870,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:1682,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1722,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1674,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1755,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1990,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2015,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2006,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1661,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1736,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1838,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2048,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2159,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:2116,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1842,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2013,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1733,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:2023,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2046,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2130,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2157,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 510
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2226
      start: 1647
    functionDepth: 0
    functionLinenumber: 1647
    functionLinenumberEnd: 2226
    functionName: test_tap_subtest
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_assert_null
    - g_ptr_array_new
    - g_assert_true
    - g_assert_nonnull
    - g_clear_pointer
    - g_environ_getenv
    - g_get_environ
    - g_ptr_array_add
    - g_ptr_array_unref
    - g_test_message
    - g_test_get_filename
    - g_assert_no_error
    - strstr
    - g_assert_error
    - g_clear_error
    - g_spawn_check_wait_status
    - g_str_has_prefix
    - g_spawn_sync
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_tap_subtest (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2243,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2245,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2264,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:2269,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/testing.c:2238,1
    - Dst: g_get_environ
      Src: /src/glib/glib/tests/testing.c:2249,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:2253,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2260,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2261,1
    - Dst: g_environ_unsetenv
      Src: /src/glib/glib/tests/testing.c:2251,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2265,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:2270,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2244,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2246,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2250,1
    - Dst: g_environ_getenv
      Src: /src/glib/glib/tests/testing.c:2250,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/testing.c:2251,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:2259,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2265,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/testing.c:2271,1
    - Dst: g_test_get_filename
      Src: /src/glib/glib/tests/testing.c:2240,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:2242,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2257,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:2261,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:2264,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2272
      start: 2228
    functionDepth: 0
    functionLinenumber: 2228
    functionLinenumberEnd: 2272
    functionName: test_tap_summary
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_environ_unsetenv
    - g_steal_pointer
    - g_ptr_array_unref
    - g_test_summary
    - g_get_environ
    - g_spawn_check_wait_status
    - g_assert_null
    - g_assert_nonnull
    - g_test_get_filename
    - g_assert_no_error
    - g_environ_getenv
    - strstr
    - g_strfreev
    - g_spawn_sync
    - g_ptr_array_new
    - g_free
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void test_tap_summary (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/testing.c:131,1
    - Dst: exit
      Src: /src/glib/glib/tests/testing.c:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: test_assertions_bad_cmpmem_data
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_assert_cmpmem
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void test_assertions_bad_cmpmem_data (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:540,1
    - Dst: exit
      Src: /src/glib/glib/tests/testing.c:542,1
    - Dst: g_critical
      Src: /src/glib/glib/tests/testing.c:541,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 543
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 543
    functionName: test_fatal_log_handler_critical_fail
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_str_has_prefix
    - g_critical
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void test_fatal_log_handler_critical_fail (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:905,1
    - Dst: g_test_get_path
      Src: /src/glib/glib/tests/testing.c:905,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 906
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 906
    functionName: test_path_first
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_test_get_path
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void test_path_first (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2609,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2618,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/testing.c:2631,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2624,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2621,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2634,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2628,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2636,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:2639,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/testing.c:2640,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:2641,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/testing.c:2604,1
    - Dst: g_test_get_filename
      Src: /src/glib/glib/tests/testing.c:2606,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/testing.c:2631,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:2614,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2625,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/testing.c:2630,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2610,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:2608,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2611,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2612,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:2620,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2627,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2642
      start: 2594
    functionDepth: 0
    functionLinenumber: 2594
    functionLinenumberEnd: 2642
    functionName: test_tap_subtest_stdout_no_new_line
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_ptr_array_unref
    - g_test_summary
    - g_spawn_check_wait_status
    - g_strv_length
    - g_assert_nonnull
    - g_test_get_filename
    - g_assert_cmpuint
    - g_assert_cmpstr
    - g_assert_no_error
    - strstr
    - g_strfreev
    - g_strsplit
    - g_spawn_sync
    - g_ptr_array_new
    - g_free
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void test_tap_subtest_stdout_no_new_line (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_environ_getenv
      Src: /src/glib/glib/tests/testing.c:2666,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/testing.c:2678,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:2678,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2681,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/testing.c:2690,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/testing.c:2654,1
    - Dst: g_test_get_filename
      Src: /src/glib/glib/tests/testing.c:2656,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2660,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2666,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:2669,1
    - Dst: strlen
      Src: /src/glib/glib/tests/testing.c:2683,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:2689,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:2691,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/testing.c:2692,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:2658,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2659,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2661,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2673,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2676,1
    - Dst: g_environ_unsetenv
      Src: /src/glib/glib/tests/testing.c:2667,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2682,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2685,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2662,1
    - Dst: g_get_environ
      Src: /src/glib/glib/tests/testing.c:2665,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/testing.c:2667,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:2675,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2693
      start: 2644
    functionDepth: 0
    functionLinenumber: 2644
    functionLinenumberEnd: 2693
    functionName: test_tap_error
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_ptr_array_new
    - g_assert_nonnull
    - g_strfreev
    - g_environ_getenv
    - g_assert_false
    - g_environ_unsetenv
    - g_get_environ
    - g_ptr_array_add
    - g_ptr_array_unref
    - strlen
    - g_test_get_filename
    - g_assert_no_error
    - strstr
    - g_clear_error
    - g_test_summary
    - g_spawn_check_wait_status
    - g_assert_cmpstr
    - g_str_has_prefix
    - g_spawn_sync
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_tap_error (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2710,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2711,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2712,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:2720,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:2736,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2726,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2709,1
    - Dst: g_test_get_filename
      Src: /src/glib/glib/tests/testing.c:2706,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2718,1
    - Dst: strlen
      Src: /src/glib/glib/tests/testing.c:2728,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:2723,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2727,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:2735,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2721,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/testing.c:2737,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/testing.c:2704,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:2708,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2730,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:2714,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:2723,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2738
      start: 2695
    functionDepth: 0
    functionLinenumber: 2695
    functionLinenumberEnd: 2738
    functionName: test_tap_subtest_error
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_ptr_array_unref
    - g_assert_true
    - g_test_summary
    - g_spawn_check_wait_status
    - strlen
    - g_assert_nonnull
    - g_test_get_filename
    - g_assert_cmpstr
    - g_assert_no_error
    - g_str_has_prefix
    - strstr
    - g_spawn_sync
    - g_ptr_array_new
    - g_free
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void test_tap_subtest_error (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_boolean
      Src: /src/glib/glib/tests/testing.c:46,1
    - Dst: g_variant_new_string
      Src: /src/glib/glib/tests/testing.c:47,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/testing.c:52,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/testing.c:51,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/testing.c:49,1
    - Dst: exit
      Src: /src/glib/glib/tests/testing.c:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 55
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 55
    functionName: test_assertions_bad_cmpvariant_types
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_variant_new_boolean
    - g_assert_cmpvariant
    - g_variant_new_string
    - g_variant_unref
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void test_assertions_bad_cmpvariant_types (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1170,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1185,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1213,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1371,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1437,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1573,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1602,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1267,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1395,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1369,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1455,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1492,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1500,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1540,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1557,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1585,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1600,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1138,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1185,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1271,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1310,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1473,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1569,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1348,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1207,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1261,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1335,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1364,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1453,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1471,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:1497,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1563,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1597,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1406,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:1272,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1143,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1165,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1243,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1337,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1369,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1489,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1579,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1595,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1567,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1361,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1425,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1583,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1623,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1401,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1165,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/testing.c:1251,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1258,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1276,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1396,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1487,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1534,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1558,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1568,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1201,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:1229,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1314,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1330,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1399,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1451,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/testing.c:1531,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1566,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/testing.c:1643,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1436,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1321,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1366,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1441,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1504,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1570,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1605,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1588,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1152,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1222,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1278,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1318,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1350,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1499,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1589,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:1614,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1378,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1233,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:1326,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1460,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1468,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:1478,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1510,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1526,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1607,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1611,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1362,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1237,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1245,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1334,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1416,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1470,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1475,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1514,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1544,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1405,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1207,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1332,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:1465,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1630,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1316,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1403,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1151,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1192,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1457,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1542,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1587,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1627,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/testing.c:1637,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1344,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1167,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1227,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:1596,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1328,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1439,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1382,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1398,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1235,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1512,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1565,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1186,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1365,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1389,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1472,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1528,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1551,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1598,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1626,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1283,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1363,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1386,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1418,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1338,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1527,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:1533,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1580,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1182,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1183,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1190,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1248,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:1394,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1467,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:1556,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1642,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1227,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1270,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1518,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1548,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/testing.c:1639,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1209,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:1226,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/testing.c:1246,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1249,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1274,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1331,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1400,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:1269,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1355,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1509,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:1641,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:1637,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1336,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1402,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1153,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1329,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1352,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1384,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1433,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1530,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1412,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:1166,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:1360,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1638,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1396,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1305,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1368,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1434,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:1444,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1516,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1546,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1558,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1218,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1257,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1295,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1335,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1471,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1486,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:1497,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1563,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1602,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1299,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1333,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1193,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1186,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1232,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:1343,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1406,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1450,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1488,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1605,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1171,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1204,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1340,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1404,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1498,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/testing.c:1529,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1422,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1216,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1225,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1230,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1496,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1597,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1620,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1399,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1155,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1174,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1191,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1203,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1228,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1484,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1566,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1576,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1438,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1397,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1159,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1214,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1297,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1308,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1372,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1564,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1603,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1370,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1141,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1206,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1307,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1501,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1601,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1280,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/testing.c:1273,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1420,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1124,1
    - Dst: g_environ_getenv
      Src: /src/glib/glib/tests/testing.c:1131,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:1145,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1265,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1520,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1608,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1617,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1134,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1188,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:1247,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1327,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1332,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1401,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:1411,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1454,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1481,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1559,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1325,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1403,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1294,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1330,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1408,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1442,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1490,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1507,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1206,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1150,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1255,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1466,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1539,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1584,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1624,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1427,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1149,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1195,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1224,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1259,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1448,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1464,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1559,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1608,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1612,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1437,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1122,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1164,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1173,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1197,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1228,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:1377,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1367,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1452,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1476,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1564,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:1432,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1215,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/testing.c:1291,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1374,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1500,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1530,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1600,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1618,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1634,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1234,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1424,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1482,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1511,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1582,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1622,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1144,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:1184,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:1247,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:1360,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1435,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1536,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1591,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1400,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1249,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1162,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:1184,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1395,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1515,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1545,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1557,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1567,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1625,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1398,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:1205,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1239,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1313,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1329,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1393,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1439,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1555,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1565,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1599,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1287,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1371,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1317,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1349,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1140,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:1250,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1270,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1458,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1469,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1543,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1638,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1434,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:1326,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1560,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:1596,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1609,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1636,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1366,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1236,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1254,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1271,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1361,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1473,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1513,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1570,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1609,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1635,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1359,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1364,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1336,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:1142,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1148,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1211,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1447,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:1465,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1469,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1537,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1337,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1315,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1176,1
    - Dst: g_environ_unsetenv
      Src: /src/glib/glib/tests/testing.c:1132,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:1142,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/testing.c:1268,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1456,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1468,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1541,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1586,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1256,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1292,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1346,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1402,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1375,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1522,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1598,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1606,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1606,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1172,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:1163,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1279,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1449,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1519,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1549,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1569,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1368,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1435,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1146,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1161,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:1226,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1289,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1438,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1381,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1397,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1498,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1127,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:1163,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1353,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1385,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1417,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1370,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1436,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1501,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1601,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1619,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1312,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1341,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:1394,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1483,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1499,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:1556,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1126,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1131,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1296,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1472,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1517,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1547,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:1575,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1334,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1194,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1169,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1125,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/testing.c:1132,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1180,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1347,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1363,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1470,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1572,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1405,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1319,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1351,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1383,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1372,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1414,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:1432,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:1529,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1603,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1327,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1423,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1164,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:1205,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:1187,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1581,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1607,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1621,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1362,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1367,1
    - Dst: g_test_get_filename
      Src: /src/glib/glib/tests/testing.c:1120,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1144,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:1208,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1248,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1485,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/testing.c:1290,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1298,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1365,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1143,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1252,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/testing.c:1466,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1538,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1599,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1409,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1338,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1123,1
    - Dst: g_get_environ
      Src: /src/glib/glib/tests/testing.c:1130,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:1269,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1277,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1380,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1445,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1503,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1578,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1433,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1421,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1281,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1301,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1467,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:1506,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1560,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1415,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1333,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1431,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1328,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1615,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1568,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1628,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1387,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1419,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:1331,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:1404,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:1212,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1479,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 535
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1644
      start: 1110
    functionDepth: 0
    functionLinenumber: 1110
    functionLinenumberEnd: 1644
    functionName: test_tap
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_assert_null
    - g_ptr_array_new
    - g_assert_true
    - g_assert_nonnull
    - g_strfreev
    - g_environ_getenv
    - g_assert_false
    - g_environ_unsetenv
    - g_get_environ
    - g_ptr_array_add
    - g_ptr_array_unref
    - g_test_message
    - g_test_get_filename
    - g_assert_no_error
    - strstr
    - g_assert_error
    - g_clear_error
    - g_spawn_check_wait_status
    - g_str_has_prefix
    - g_spawn_sync
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_tap (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2803,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2812,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2815,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2824,1
    - Dst: strlen
      Src: /src/glib/glib/tests/testing.c:2822,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2821,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:2830,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/testing.c:2831,1
    - Dst: g_test_get_filename
      Src: /src/glib/glib/tests/testing.c:2800,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:2808,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:2817,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:2829,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/testing.c:2798,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2804,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:2802,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2805,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2806,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:2814,1
    - Dst: g_str_has_prefix
      Src: /src/glib/glib/tests/testing.c:2817,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2820,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2832
      start: 2789
    functionDepth: 0
    functionLinenumber: 2789
    functionLinenumberEnd: 2832
    functionName: test_tap_subtest_error_and_pass
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_ptr_array_unref
    - g_assert_true
    - g_test_summary
    - g_spawn_check_wait_status
    - strlen
    - g_assert_nonnull
    - g_test_get_filename
    - g_assert_cmpstr
    - g_assert_no_error
    - g_str_has_prefix
    - strstr
    - g_spawn_sync
    - g_ptr_array_new
    - g_free
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void test_tap_subtest_error_and_pass (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_string
      Src: /src/glib/glib/tests/testing.c:62,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/glib/tests/testing.c:65,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/testing.c:67,1
    - Dst: g_variant_unref
      Src: /src/glib/glib/tests/testing.c:68,1
    - Dst: g_variant_new_string
      Src: /src/glib/glib/tests/testing.c:63,1
    - Dst: exit
      Src: /src/glib/glib/tests/testing.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 71
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 71
    functionName: test_assertions_bad_cmpvariant_values
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_variant_new_string
    - g_assert_cmpvariant
    - exit
    - g_variant_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_assertions_bad_cmpvariant_values (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/testing.c:2843,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2849,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:2847,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2848,1
    - Dst: g_test_get_filename
      Src: /src/glib/glib/tests/testing.c:2845,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2850,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:2855,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2859,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:2861,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2862,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2863,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:2865,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:2864,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2863,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2866
      start: 2834
    functionDepth: 0
    functionLinenumber: 2834
    functionLinenumberEnd: 2866
    functionName: test_init_no_argv0
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_ptr_array_unref
    - g_test_summary
    - g_spawn_check_wait_status
    - g_assert_nonnull
    - g_test_get_filename
    - g_assert_no_error
    - strstr
    - g_spawn_sync
    - g_ptr_array_new
    - g_free
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void test_init_no_argv0 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/testing.c:938,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/testing.c:960,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:965,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:975,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1016,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1096,1
    - Dst: g_ptr_array_set_size
      Src: /src/glib/glib/tests/testing.c:964,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:925,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:935,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:953,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1008,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:967,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1047,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/testing.c:1103,1
    - Dst: g_ptr_array_set_size
      Src: /src/glib/glib/tests/testing.c:1085,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1094,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1012,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:943,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:971,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1000,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1037,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/testing.c:1062,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1064,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1091,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:990,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1029,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:977,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:986,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1018,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1025,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1051,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/testing.c:1081,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1086,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1087,1
    - Dst: g_ptr_array_set_size
      Src: /src/glib/glib/tests/testing.c:942,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:949,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:951,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1023,1
    - Dst: g_ptr_array_set_size
      Src: /src/glib/glib/tests/testing.c:1003,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1033,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1058,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1072,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:945,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:948,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:966,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1002,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1007,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1031,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1039,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1046,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1050,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/testing.c:1104,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:928,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/testing.c:961,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:963,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/testing.c:978,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:983,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:997,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1044,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1054,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1089,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1028,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1024,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:924,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:946,1
    - Dst: g_ptr_array_set_size
      Src: /src/glib/glib/tests/testing.c:982,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:985,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:989,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:931,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:993,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1090,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1102,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:984,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:927,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:950,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1006,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1010,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:999,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:969,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1045,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1049,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1071,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:1074,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1092,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:944,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:957,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1004,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:988,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:941,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1027,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1042,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1068,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/testing.c:1082,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1093,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:926,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/testing.c:979,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1019,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:981,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1060,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/testing.c:1061,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1066,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1070,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:1080,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1088,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1100,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:923,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:937,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:959,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:968,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1005,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1009,1
    - Dst: g_ptr_array_set_size
      Src: /src/glib/glib/tests/testing.c:1043,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1048,1
    - Dst: g_ptr_array_set_size
      Src: /src/glib/glib/tests/testing.c:1065,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1084,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:1106,1
    - Dst: g_ptr_array_set_size
      Src: /src/glib/glib/tests/testing.c:1022,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/testing.c:939,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1040,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:1078,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/testing.c:1021,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:991,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:929,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:947,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:987,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1026,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1030,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1052,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1067,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:1069,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 141
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1107
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 1107
    functionName: test_combining
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_ptr_array_unref
    - g_spawn_check_wait_status
    - g_test_message
    - g_assert_no_error
    - g_spawn_sync
    - g_ptr_array_set_size
    - g_ptr_array_new
    - g_ptr_array_add
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_combining (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_trap_fork
      Src: /src/glib/glib/tests/testing.c:316,1
    - Dst: g_print
      Src: /src/glib/glib/tests/testing.c:318,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/testing.c:319,1
    - Dst: exit
      Src: /src/glib/glib/tests/testing.c:320,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/testing.c:322,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/glib/tests/testing.c:323,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/testing.c:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 325
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 325
    functionName: test_fork_patterns
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_passed
    - g_printerr
    - g_test_trap_fork
    - g_test_trap_assert_stderr
    - g_print
    - g_test_trap_assert_stdout
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void test_fork_patterns (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 851
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 851
    functionName: test_pass
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_pass (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_set_nonfatal_assertions
      Src: /src/glib/glib/tests/testing.c:858,1
    - Dst: g_test_fail
      Src: /src/glib/glib/tests/testing.c:859,1
    - Dst: g_test_failed
      Src: /src/glib/glib/tests/testing.c:860,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:860,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 861
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 861
    functionName: subprocess_fail
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_test_fail
    - g_test_failed
    - g_assert_true
    - g_test_set_nonfatal_assertions
    linkageType: ''
    returnType: void
    signature: 'static void subprocess_fail (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2886,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2917,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2938,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2929,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2949,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2969,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2958,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2977,1
    - Dst: g_test_build_filename
      Src: /src/glib/glib/tests/testing.c:2987,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2988,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2891,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2937,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2946,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2967,1
    - Dst: g_test_add
      Src: /src/glib/glib/tests/testing.c:2903,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2911,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2916,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2927,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2928,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2947,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2968,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/testing.c:2981,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2915,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2935,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2956,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2926,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2945,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2966,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2975,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2965,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/testing.c:2877,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2914,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2924,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2934,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2955,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2944,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2974,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2897,1
    - Dst: g_test_perf
      Src: /src/glib/glib/tests/testing.c:2904,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2890,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2909,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2923,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2943,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2964,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2933,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2954,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2973,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2889,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2901,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2957,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2976,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2942,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2962,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2922,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2932,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2953,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2972,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2888,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2900,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2894,1
    - Dst: g_test_init
      Src: /src/glib/glib/tests/testing.c:2879,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2887,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2892,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2905,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2921,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2952,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2971,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2941,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2961,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2931,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2885,1
    - Dst: g_test_build_filename
      Src: /src/glib/glib/tests/testing.c:2883,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2899,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2896,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2895,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2908,1
    - Dst: g_test_slow
      Src: /src/glib/glib/tests/testing.c:2910,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2930,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2893,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2919,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2951,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2970,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2940,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2959,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2979,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:2990,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:2991,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/testing.c:2898,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/testing.c:2902,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 94
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 2993
      start: 2868
    functionDepth: 0
    functionLinenumber: 2868
    functionLinenumberEnd: 2993
    functionName: main
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_build_filename
    - g_test_add_data_func
    - g_test_slow
    - g_test_run
    - g_free
    - g_assert_cmpstr
    - setlocale
    - g_test_perf
    - g_test_add
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_trap_fork
      Src: /src/glib/glib/tests/testing.c:304,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/testing.c:308,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/testing.c:306,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/testing.c:309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 310
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 310
    functionName: test_fork_fail
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_test_trap_fork
    - g_test_trap_assert_failed
    - g_test_trap_assert_stderr
    - g_assert_not_reached
    linkageType: ''
    returnType: G_GNUC_BEGIN_IGNORE_DEPRECATIONS
    signature: 'G_GNUC_BEGIN_IGNORE_DEPRECATIONS /* fork out for a failing test */
      static void test_fork_fail (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/testing.c:714,1
    - Dst: g_log
      Src: /src/glib/glib/tests/testing.c:716,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/testing.c:719,1
    - Dst: g_log
      Src: /src/glib/glib/tests/testing.c:715,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/testing.c:717,1
    - Dst: g_log
      Src: /src/glib/glib/tests/testing.c:720,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/testing.c:721,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 722
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 722
    functionName: test_expected_messages_debug
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_test_expect_message
    - g_log
    - g_test_assert_expected_messages
    linkageType: ''
    returnType: void
    signature: 'static void test_expected_messages_debug (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:697,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/testing.c:700,1
    - Dst: g_test_trap_has_passed
      Src: /src/glib/glib/tests/testing.c:701,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/testing.c:699,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 702
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 702
    functionName: test_messages
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_test_trap_has_passed
    - g_test_trap_subprocess
    - g_test_trap_assert_stderr
    linkageType: ''
    returnType: void
    signature: 'static void test_messages (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:435,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/testing.c:438,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - fix
    - test_data
    argTypes:
    - Fixturetest*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 439
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 439
    functionName: fixturetest_setup
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_strdup_printf
    linkageType: ''
    returnType: void
    signature: 'static void fixturetest_setup (Fixturetest *fix, gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:911,1
    - Dst: g_test_get_path
      Src: /src/glib/glib/tests/testing.c:911,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 912
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 912
    functionName: test_path_second
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_test_get_path
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void test_path_second (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/testing.c:727,1
    - Dst: g_print
      Src: /src/glib/glib/tests/testing.c:730,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/testing.c:728,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 731
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 731
    functionName: test_dash_p_hidden
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_test_subprocess
    - g_assert_not_reached
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void test_dash_p_hidden (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_spaced_primes_closest
      Src: /src/glib/glib/tests/testing.c:444,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/testing.c:445,1
    - Dst: g_ascii_strtoull
      Src: /src/glib/glib/tests/testing.c:446,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/testing.c:447,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:448,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - fix
    - test_data
    argTypes:
    - Fixturetest*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 449
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 449
    functionName: fixturetest_test
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_ascii_strtoull
    - g_assert_true
    - g_assert_cmpint
    - g_spaced_primes_closest
    linkageType: ''
    returnType: void
    signature: 'static void fixturetest_test (Fixturetest *fix, gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_message
      Src: /src/glib/glib/tests/testing.c:707,1
    - Dst: g_warning
      Src: /src/glib/glib/tests/testing.c:708,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 709
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 709
    functionName: test_messages_use_stderr
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_message
    - g_warning
    linkageType: ''
    returnType: void
    signature: 'static void test_messages_use_stderr (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/testing.c:592,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/testing.c:599,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/testing.c:594,1
    - Dst: exit
      Src: /src/glib/glib/tests/testing.c:600,1
    - Dst: test_expected_messages_warning
      Src: /src/glib/glib/tests/testing.c:597,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 601
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 601
    functionName: test_expected_messages_expected
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_test_expect_message
    - g_test_assert_expected_messages
    - test_expected_messages_warning
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void test_expected_messages_expected (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/testing.c:825,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/testing.c:828,1
    - Dst: g_test_set_nonfatal_assertions
      Src: /src/glib/glib/tests/testing.c:827,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:832,1
    - Dst: g_print
      Src: /src/glib/glib/tests/testing.c:829,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/testing.c:833,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/testing.c:834,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/glib/tests/testing.c:835,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 836
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 836
    functionName: test_nonfatal
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_failed
    - g_test_set_nonfatal_assertions
    - g_test_trap_assert_stderr
    - g_test_trap_subprocess
    - g_print
    - g_test_subprocess
    - g_test_trap_assert_stdout
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_nonfatal (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/testing.c:606,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/testing.c:608,1
    - Dst: g_log
      Src: /src/glib/glib/tests/testing.c:607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 609
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 609
    functionName: test_expected_messages_null_domain
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_test_expect_message
    - g_log
    - g_test_assert_expected_messages
    linkageType: ''
    returnType: void
    signature: 'static void test_expected_messages_null_domain (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/glib/tests/testing.c:841,1
    - Dst: g_test_failed
      Src: /src/glib/glib/tests/testing.c:845,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:845,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 846
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 846
    functionName: test_skip
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_test_skip
    - g_test_failed
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_skip (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:454,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:455,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - fix
    - test_data
    argTypes:
    - Fixturetest*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 456
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 456
    functionName: fixturetest_teardown
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void fixturetest_teardown (Fixturetest *fix, gconstpointer
      test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:497,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 498
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 498
    functionName: test_data_test
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_data_test (gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_rand_int
      Src: /src/glib/glib/tests/testing.c:504,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/testing.c:505,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:508,1
    - Dst: g_ascii_strtoll
      Src: /src/glib/glib/tests/testing.c:506,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/testing.c:507,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:509,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 510
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 510
    functionName: test_random_conversions
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_assert_true
    - g_test_rand_int
    - g_ascii_strtoll
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_random_conversions (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/testing.c:866,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:871,1
    - Dst: subprocess_fail
      Src: /src/glib/glib/tests/testing.c:868,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/testing.c:872,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 873
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 873
    functionName: test_fail
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_test_subprocess
    - g_test_trap_assert_failed
    - g_test_trap_subprocess
    - subprocess_fail
    linkageType: ''
    returnType: void
    signature: 'static void test_fail (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/testing.c:736,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/testing.c:737,1
    - Dst: g_print
      Src: /src/glib/glib/tests/testing.c:739,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 740
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 740
    functionName: test_dash_p_hidden_sub
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_test_subprocess
    - g_assert_not_reached
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void test_dash_p_hidden_sub (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstrv
      Src: /src/glib/glib/tests/testing.c:77,1
    - Dst: exit
      Src: /src/glib/glib/tests/testing.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: test_assertions_bad_cmpstrv_null1
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - exit
    - g_assert_cmpstrv
    linkageType: ''
    returnType: void
    signature: 'static void test_assertions_bad_cmpstrv_null1 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:110,1
    - Dst: exit
      Src: /src/glib/glib/tests/testing.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: test_assertions_bad_cmpstr
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_assert_cmpstr
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void test_assertions_bad_cmpstr (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: return_no_errno
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int return_no_errno (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/testing.c:411,1
    - Dst: g_environ_setenv
      Src: /src/glib/glib/tests/testing.c:418,1
    - Dst: g_get_environ
      Src: /src/glib/glib/tests/testing.c:417,1
    - Dst: g_getenv
      Src: /src/glib/glib/tests/testing.c:413,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:413,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/testing.c:418,1
    - Dst: g_test_trap_subprocess_with_envp
      Src: /src/glib/glib/tests/testing.c:419,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/testing.c:421,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/testing.c:422,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 423
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 423
    functionName: test_subprocess_envp
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_test_trap_assert_passed
    - g_getenv
    - g_assert_cmpstr
    - g_test_trap_subprocess_with_envp
    - g_strfreev
    - g_environ_setenv
    - g_test_subprocess
    - g_get_environ
    linkageType: ''
    returnType: void
    signature: 'static void test_subprocess_envp (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_rand_bit
      Src: /src/glib/glib/tests/testing.c:466,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/glib/tests/testing.c:470,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/testing.c:469,1
    - Dst: g_test_rand_int
      Src: /src/glib/glib/tests/testing.c:468,1
    - Dst: g_test_rand_int
      Src: /src/glib/glib/tests/testing.c:467,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/testing.c:471,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/testing.c:472,1
    - Dst: g_test_rand_double
      Src: /src/glib/glib/tests/testing.c:473,1
    - Dst: g_test_rand_double_range
      Src: /src/glib/glib/tests/testing.c:474,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/testing.c:475,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/testing.c:476,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 477
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 477
    functionName: test_rand1
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_test_rand_double
    - g_test_rand_int
    - g_test_rand_int_range
    - g_test_rand_bit
    - g_assert_cmpfloat
    - g_test_rand_double_range
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_rand1 (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/testing.c:776,1
    - Dst: g_print
      Src: /src/glib/glib/tests/testing.c:779,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 780
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 780
    functionName: test_dash_p_child_sub_child
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_test_subprocess
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void test_dash_p_child_sub_child (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/testing.c:2548,1
    - Dst: g_test_get_filename
      Src: /src/glib/glib/tests/testing.c:2550,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2556,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/testing.c:2575,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2571,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2582,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:2589,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:2552,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2554,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2555,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:2558,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:2564,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2565,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/testing.c:2575,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2568,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2584,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/testing.c:2590,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2553,1
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/testing.c:2574,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2562,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2578,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2572,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2569,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2580,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2586,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:2591,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2592
      start: 2538
    functionDepth: 0
    functionLinenumber: 2538
    functionLinenumberEnd: 2592
    functionName: test_tap_subtest_stdout
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_ptr_array_unref
    - g_test_summary
    - g_spawn_check_wait_status
    - g_strv_length
    - g_assert_nonnull
    - g_test_get_filename
    - g_assert_cmpuint
    - g_assert_cmpstr
    - g_assert_no_error
    - strstr
    - g_strfreev
    - g_strsplit
    - g_spawn_sync
    - g_ptr_array_new
    - g_free
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void test_tap_subtest_stdout (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_incomplete
      Src: /src/glib/glib/tests/testing.c:878,1
    - Dst: g_test_failed
      Src: /src/glib/glib/tests/testing.c:882,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/testing.c:882,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 883
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 883
    functionName: subprocess_incomplete
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_test_incomplete
    - g_assert_true
    - g_test_failed
    linkageType: ''
    returnType: void
    signature: 'static void subprocess_incomplete (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstrv
      Src: /src/glib/glib/tests/testing.c:85,1
    - Dst: exit
      Src: /src/glib/glib/tests/testing.c:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: test_assertions_bad_cmpstrv_null2
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - exit
    - g_assert_cmpstrv
    linkageType: ''
    returnType: void
    signature: 'static void test_assertions_bad_cmpstrv_null2 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/testing.c:117,1
    - Dst: exit
      Src: /src/glib/glib/tests/testing.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: test_assertions_bad_cmpint
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - exit
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_assertions_bad_cmpint (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/testing.c:486,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/testing.c:487,1
    - Dst: g_test_rand_int
      Src: /src/glib/glib/tests/testing.c:487,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/testing.c:488,1
    - Dst: g_test_rand_bit
      Src: /src/glib/glib/tests/testing.c:486,1
    - Dst: g_test_rand_int
      Src: /src/glib/glib/tests/testing.c:488,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/testing.c:489,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/glib/tests/testing.c:489,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/testing.c:490,1
    - Dst: g_test_rand_double
      Src: /src/glib/glib/tests/testing.c:490,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/testing.c:491,1
    - Dst: g_test_rand_double_range
      Src: /src/glib/glib/tests/testing.c:491,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 492
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 492
    functionName: test_rand2
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_test_rand_double
    - g_test_rand_int
    - g_assert_cmpfloat
    - g_test_rand_int_range
    - g_test_rand_bit
    - g_test_rand_double_range
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_rand2 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/testing.c:787,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/glib/tests/testing.c:807,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:803,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/glib/tests/testing.c:808,1
    - Dst: g_test_trap_assert_stdout_unmatched
      Src: /src/glib/glib/tests/testing.c:810,1
    - Dst: g_test_trap_assert_stdout_unmatched
      Src: /src/glib/glib/tests/testing.c:790,1
    - Dst: g_test_trap_assert_stdout_unmatched
      Src: /src/glib/glib/tests/testing.c:789,1
    - Dst: g_test_trap_assert_stdout_unmatched
      Src: /src/glib/glib/tests/testing.c:791,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:794,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/testing.c:796,1
    - Dst: g_test_trap_assert_stdout_unmatched
      Src: /src/glib/glib/tests/testing.c:799,1
    - Dst: g_test_trap_assert_stdout_unmatched
      Src: /src/glib/glib/tests/testing.c:801,1
    - Dst: g_test_trap_assert_stdout_unmatched
      Src: /src/glib/glib/tests/testing.c:800,1
    - Dst: g_test_trap_assert_stdout_unmatched
      Src: /src/glib/glib/tests/testing.c:809,1
    - Dst: g_test_trap_assert_stdout_unmatched
      Src: /src/glib/glib/tests/testing.c:818,1
    - Dst: g_test_trap_assert_stdout_unmatched
      Src: /src/glib/glib/tests/testing.c:792,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:812,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/testing.c:814,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/glib/tests/testing.c:815,1
    - Dst: g_test_trap_assert_stdout_unmatched
      Src: /src/glib/glib/tests/testing.c:819,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/testing.c:785,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/glib/tests/testing.c:788,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/glib/tests/testing.c:797,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/testing.c:805,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/glib/tests/testing.c:806,1
    - Dst: g_test_trap_assert_stdout_unmatched
      Src: /src/glib/glib/tests/testing.c:798,1
    - Dst: g_test_trap_assert_stdout_unmatched
      Src: /src/glib/glib/tests/testing.c:816,1
    - Dst: g_test_trap_assert_stdout_unmatched
      Src: /src/glib/glib/tests/testing.c:817,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 820
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 820
    functionName: test_dash_p
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_passed
    - g_test_trap_assert_stdout
    - g_test_trap_subprocess
    - g_test_trap_assert_stdout_unmatched
    linkageType: ''
    returnType: void
    signature: 'static void test_dash_p (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_environ
      Src: /src/glib/glib/tests/testing.c:2755,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2756,1
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/testing.c:2759,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/testing.c:2769,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/testing.c:2779,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/glib/tests/testing.c:2785,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/testing.c:2750,1
    - Dst: g_environ_unsetenv
      Src: /src/glib/glib/tests/testing.c:2757,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2760,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2763,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2776,1
    - Dst: strstr
      Src: /src/glib/glib/tests/testing.c:2775,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2762,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/testing.c:2784,1
    - Dst: g_environ_getenv
      Src: /src/glib/glib/tests/testing.c:2756,1
    - Dst: g_steal_pointer
      Src: /src/glib/glib/tests/testing.c:2757,1
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/testing.c:2761,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/testing.c:2772,1
    - Dst: g_free
      Src: /src/glib/glib/tests/testing.c:2783,1
    - Dst: g_test_get_filename
      Src: /src/glib/glib/tests/testing.c:2752,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/testing.c:2771,1
    - Dst: strlen
      Src: /src/glib/glib/tests/testing.c:2777,1
    - Dst: g_spawn_sync
      Src: /src/glib/glib/tests/testing.c:2765,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/testing.c:2786,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2787
      start: 2740
    functionDepth: 0
    functionLinenumber: 2740
    functionLinenumberEnd: 2787
    functionName: test_tap_error_and_pass
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_ptr_array_new
    - g_assert_nonnull
    - g_strfreev
    - g_environ_getenv
    - g_environ_unsetenv
    - g_get_environ
    - g_ptr_array_add
    - g_ptr_array_unref
    - strlen
    - g_test_get_filename
    - g_assert_no_error
    - strstr
    - g_clear_error
    - g_test_summary
    - g_spawn_check_wait_status
    - g_assert_cmpstr
    - g_spawn_sync
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_tap_error_and_pass (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 155
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 155
    functionName: return_errno
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int return_errno (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpmem
      Src: /src/glib/glib/tests/testing.c:138,1
    - Dst: exit
      Src: /src/glib/glib/tests/testing.c:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: test_assertions_bad_cmpmem_null
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_assert_cmpmem
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void test_assertions_bad_cmpmem_null (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpfloat_with_epsilon
      Src: /src/glib/glib/tests/testing.c:145,1
    - Dst: exit
      Src: /src/glib/glib/tests/testing.c:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 147
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 147
    functionName: test_assertions_bad_cmpfloat_epsilon
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_assert_cmpfloat_with_epsilon
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void test_assertions_bad_cmpfloat_epsilon (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/testing.c:749,1
    - Dst: g_print
      Src: /src/glib/glib/tests/testing.c:752,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 753
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 753
    functionName: test_dash_p_child
    functionSourceFile: /src/glib/glib/tests/testing.c
    functionUses: []
    functionsReached:
    - g_test_subprocess
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void test_dash_p_child (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_integer_value
      Src: /src/glib/glib/tests/keyfile.c:721,1
    - Dst: check_integer_value
      Src: /src/glib/glib/tests/keyfile.c:727,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:733,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:739,1
    - Dst: g_key_file_get_double
      Src: /src/glib/glib/tests/keyfile.c:744,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/keyfile.c:758,1
    - Dst: check_integer_value
      Src: /src/glib/glib/tests/keyfile.c:720,1
    - Dst: check_integer_value
      Src: /src/glib/glib/tests/keyfile.c:724,1
    - Dst: check_integer_value
      Src: /src/glib/glib/tests/keyfile.c:726,1
    - Dst: check_double_value
      Src: /src/glib/glib/tests/keyfile.c:730,1
    - Dst: g_key_file_get_integer
      Src: /src/glib/glib/tests/keyfile.c:735,1
    - Dst: g_key_file_get_integer
      Src: /src/glib/glib/tests/keyfile.c:741,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:745,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/keyfile.c:746,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:749,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/keyfile.c:750,1
    - Dst: check_integer_value
      Src: /src/glib/glib/tests/keyfile.c:723,1
    - Dst: check_integer_value
      Src: /src/glib/glib/tests/keyfile.c:725,1
    - Dst: g_key_file_get_integer
      Src: /src/glib/glib/tests/keyfile.c:732,1
    - Dst: g_key_file_get_integer
      Src: /src/glib/glib/tests/keyfile.c:738,1
    - Dst: check_double_value
      Src: /src/glib/glib/tests/keyfile.c:729,1
    - Dst: g_key_file_get_double
      Src: /src/glib/glib/tests/keyfile.c:752,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/keyfile.c:754,1
    - Dst: g_key_file_get_double
      Src: /src/glib/glib/tests/keyfile.c:756,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:760,1
    - Dst: load_data
      Src: /src/glib/glib/tests/keyfile.c:718,1
    - Dst: check_integer_value
      Src: /src/glib/glib/tests/keyfile.c:722,1
    - Dst: check_double_value
      Src: /src/glib/glib/tests/keyfile.c:728,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:736,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:742,1
    - Dst: g_key_file_get_double
      Src: /src/glib/glib/tests/keyfile.c:748,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:753,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:757,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 761
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 761
    functionName: test_number
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_free
    - check_double_value
    - g_key_file_get_double
    - g_assert_cmpfloat
    - check_error
    - g_key_file_get_integer
    - check_integer_value
    - load_data
    linkageType: ''
    returnType: void
    signature: 'static void test_number (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1650,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/keyfile.c:1653,1
    - Dst: g_key_file_get_string
      Src: /src/glib/glib/tests/keyfile.c:1656,1
    - Dst: strlen
      Src: /src/glib/glib/tests/keyfile.c:1652,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1652,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/keyfile.c:1657,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/keyfile.c:1658,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/keyfile.c:1660,1
    - Dst: g_key_file_get_string_list
      Src: /src/glib/glib/tests/keyfile.c:1661,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/keyfile.c:1662,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/keyfile.c:1665,1
    - Dst: g_key_file_get_string_list
      Src: /src/glib/glib/tests/keyfile.c:1666,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/keyfile.c:1670,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1672,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/keyfile.c:1667,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/keyfile.c:1668,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/keyfile.c:1663,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1673
      start: 1636
    functionDepth: 0
    functionLinenumber: 1636
    functionLinenumberEnd: 1673
    functionName: test_non_utf8
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_new
    - g_clear_error
    - g_key_file_free
    - g_assert_true
    - strlen
    - g_assert_null
    - g_key_file_get_string_list
    - g_key_file_load_from_data
    - g_key_file_get_string
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_non_utf8 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/keyfile.c:1819,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1828,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1831,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/keyfile.c:1826,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/keyfile.c:1829,1
    - Dst: strlen
      Src: /src/glib/glib/tests/keyfile.c:1831,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/keyfile.c:1832,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/keyfile.c:1833,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/keyfile.c:1834,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1835,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:1836,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1838
      start: 1808
    functionDepth: 0
    functionLinenumber: 1808
    functionLinenumberEnd: 1838
    functionName: test_utf8
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_new
    - g_clear_error
    - g_key_file_free
    - g_strdup_printf
    - strlen
    - G_N_ELEMENTS
    - g_test_message
    - g_key_file_load_from_data
    - g_assert_false
    - g_free
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_utf8 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/keyfile.c:1688,1
    - Dst: g_test_get_filename
      Src: /src/glib/glib/tests/keyfile.c:1693,1
    - Dst: g_key_file_load_from_file
      Src: /src/glib/glib/tests/keyfile.c:1693,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1690,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/keyfile.c:1694,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/keyfile.c:1701,1
    - Dst: g_key_file_get_integer
      Src: /src/glib/glib/tests/keyfile.c:1702,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:1703,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/keyfile.c:1704,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/keyfile.c:1705,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1708,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1709
      start: 1675
    functionDepth: 0
    functionLinenumber: 1675
    functionLinenumberEnd: 1709
    functionName: test_page_boundary
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_new
    - g_key_file_free
    - g_strdup_printf
    - g_test_get_filename
    - g_test_bug
    - g_assert_no_error
    - g_key_file_get_integer
    - g_key_file_load_from_file
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_page_boundary (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1754,1
    - Dst: g_key_file_set_list_separator
      Src: /src/glib/glib/tests/keyfile.c:1755,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1756,1
    - Dst: g_key_file_unref
      Src: /src/glib/glib/tests/keyfile.c:1759,1
    - Dst: check_string_list_value
      Src: /src/glib/glib/tests/keyfile.c:1758,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1760
      start: 1744
    functionDepth: 0
    functionLinenumber: 1744
    functionLinenumberEnd: 1760
    functionName: test_list_separator
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_new
    - g_key_file_set_list_separator
    - check_string_list_value
    - g_key_file_load_from_data
    - g_key_file_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_list_separator (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_data
      Src: /src/glib/glib/tests/keyfile.c:660,1
    - Dst: check_boolean_value
      Src: /src/glib/glib/tests/keyfile.c:662,1
    - Dst: check_boolean_value
      Src: /src/glib/glib/tests/keyfile.c:665,1
    - Dst: check_boolean_value
      Src: /src/glib/glib/tests/keyfile.c:663,1
    - Dst: check_boolean_value
      Src: /src/glib/glib/tests/keyfile.c:664,1
    - Dst: check_boolean_value
      Src: /src/glib/glib/tests/keyfile.c:666,1
    - Dst: check_boolean_value
      Src: /src/glib/glib/tests/keyfile.c:667,1
    - Dst: g_key_file_get_boolean
      Src: /src/glib/glib/tests/keyfile.c:669,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:670,1
    - Dst: g_key_file_get_boolean
      Src: /src/glib/glib/tests/keyfile.c:672,1
    - Dst: check_boolean_value
      Src: /src/glib/glib/tests/keyfile.c:682,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:684,1
    - Dst: g_key_file_get_boolean
      Src: /src/glib/glib/tests/keyfile.c:675,1
    - Dst: g_key_file_set_boolean
      Src: /src/glib/glib/tests/keyfile.c:681,1
    - Dst: g_key_file_get_boolean
      Src: /src/glib/glib/tests/keyfile.c:678,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:673,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:676,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:679,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 685
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 685
    functionName: test_boolean
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_free
    - g_key_file_get_boolean
    - g_key_file_set_boolean
    - check_error
    - check_boolean_value
    - load_data
    linkageType: ''
    returnType: void
    signature: 'static void test_boolean (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_get_locale_for_key
      Src: /src/glib/glib/tests/keyfile.c:78,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/keyfile.c:79,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:80,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 5
    argNames:
    - keyfile
    - group
    - key
    - locale
    - expected
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 81
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 81
    functionName: check_string_locale_value
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_free
    - g_assert_cmpstr
    - g_key_file_get_locale_for_key
    linkageType: ''
    returnType: void
    signature: 'static void check_string_locale_value (GKeyFile *keyfile, const gchar
      *group, const gchar *key, const gchar *locale, const gchar *expected) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:397,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/keyfile.c:418,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/keyfile.c:489,1
    - Dst: g_key_file_get_comment
      Src: /src/glib/glib/tests/keyfile.c:497,1
    - Dst: g_key_file_remove_comment
      Src: /src/glib/glib/tests/keyfile.c:442,1
    - Dst: check_name
      Src: /src/glib/glib/tests/keyfile.c:422,1
    - Dst: g_key_file_set_value
      Src: /src/glib/glib/tests/keyfile.c:495,1
    - Dst: check_length
      Src: /src/glib/glib/tests/keyfile.c:418,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:473,1
    - Dst: g_key_file_get_comment
      Src: /src/glib/glib/tests/keyfile.c:481,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:440,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/keyfile.c:474,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:401,1
    - Dst: g_key_file_get_comment
      Src: /src/glib/glib/tests/keyfile.c:448,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/keyfile.c:483,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:411,1
    - Dst: load_data
      Src: /src/glib/glib/tests/keyfile.c:413,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:471,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/keyfile.c:446,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:396,1
    - Dst: check_length
      Src: /src/glib/glib/tests/keyfile.c:403,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:416,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:438,1
    - Dst: check_name
      Src: /src/glib/glib/tests/keyfile.c:439,1
    - Dst: g_key_file_remove_comment
      Src: /src/glib/glib/tests/keyfile.c:470,1
    - Dst: g_key_file_get_comment
      Src: /src/glib/glib/tests/keyfile.c:476,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:482,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/keyfile.c:499,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:454,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:445,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:465,1
    - Dst: g_key_file_remove_comment
      Src: /src/glib/glib/tests/keyfile.c:431,1
    - Dst: g_key_file_get_comment
      Src: /src/glib/glib/tests/keyfile.c:437,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:463,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:456,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:443,1
    - Dst: load_data
      Src: /src/glib/glib/tests/keyfile.c:393,1
    - Dst: g_key_file_get_keys
      Src: /src/glib/glib/tests/keyfile.c:400,1
    - Dst: check_name
      Src: /src/glib/glib/tests/keyfile.c:404,1
    - Dst: g_key_file_get_comment
      Src: /src/glib/glib/tests/keyfile.c:472,1
    - Dst: check_name
      Src: /src/glib/glib/tests/keyfile.c:455,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:479,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/keyfile.c:491,1
    - Dst: check_name
      Src: /src/glib/glib/tests/keyfile.c:428,1
    - Dst: g_key_file_get_comment
      Src: /src/glib/glib/tests/keyfile.c:444,1
    - Dst: check_name
      Src: /src/glib/glib/tests/keyfile.c:464,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:486,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:395,1
    - Dst: g_key_file_get_keys
      Src: /src/glib/glib/tests/keyfile.c:415,1
    - Dst: check_name
      Src: /src/glib/glib/tests/keyfile.c:419,1
    - Dst: g_key_file_set_string
      Src: /src/glib/glib/tests/keyfile.c:496,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:429,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/keyfile.c:435,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/keyfile.c:458,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/keyfile.c:467,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:498,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:434,1
    - Dst: g_key_file_get_comment
      Src: /src/glib/glib/tests/keyfile.c:453,1
    - Dst: check_name
      Src: /src/glib/glib/tests/keyfile.c:405,1
    - Dst: check_name
      Src: /src/glib/glib/tests/keyfile.c:420,1
    - Dst: g_key_file_get_comment
      Src: /src/glib/glib/tests/keyfile.c:462,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:477,1
    - Dst: check_name
      Src: /src/glib/glib/tests/keyfile.c:478,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/keyfile.c:409,1
    - Dst: check_name
      Src: /src/glib/glib/tests/keyfile.c:406,1
    - Dst: g_key_file_get_comment
      Src: /src/glib/glib/tests/keyfile.c:426,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:451,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:432,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:501,1
    - Dst: g_key_file_get_comment
      Src: /src/glib/glib/tests/keyfile.c:485,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:449,1
    - Dst: check_name
      Src: /src/glib/glib/tests/keyfile.c:450,1
    - Dst: g_key_file_set_string
      Src: /src/glib/glib/tests/keyfile.c:461,1
    - Dst: g_key_file_get_comment
      Src: /src/glib/glib/tests/keyfile.c:433,1
    - Dst: check_name
      Src: /src/glib/glib/tests/keyfile.c:421,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/keyfile.c:424,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:398,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/keyfile.c:403,1
    - Dst: check_name
      Src: /src/glib/glib/tests/keyfile.c:407,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:427,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 97
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 502
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 502
    functionName: test_comments
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_free
    - check_length
    - g_strv_length
    - check_name
    - g_assert_null
    - g_key_file_get_comment
    - check_string_value
    - g_key_file_set_string
    - g_test_bug
    - check_no_error
    - check_error
    - g_strfreev
    - g_key_file_get_keys
    - g_key_file_remove_comment
    - load_data
    - g_key_file_set_value
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_comments (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_remove_group
      Src: /src/glib/glib/tests/keyfile.c:1000,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/keyfile.c:1020,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/keyfile.c:1026,1
    - Dst: load_data
      Src: /src/glib/glib/tests/keyfile.c:990,1
    - Dst: check_length
      Src: /src/glib/glib/tests/keyfile.c:995,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/keyfile.c:1006,1
    - Dst: check_name
      Src: /src/glib/glib/tests/keyfile.c:1010,1
    - Dst: check_length
      Src: /src/glib/glib/tests/keyfile.c:1008,1
    - Dst: g_key_file_get_groups
      Src: /src/glib/glib/tests/keyfile.c:1005,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1028,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/keyfile.c:988,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/keyfile.c:995,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/keyfile.c:1008,1
    - Dst: check_name
      Src: /src/glib/glib/tests/keyfile.c:1009,1
    - Dst: g_key_file_remove_group
      Src: /src/glib/glib/tests/keyfile.c:1012,1
    - Dst: g_key_file_get_groups
      Src: /src/glib/glib/tests/keyfile.c:1017,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/keyfile.c:1018,1
    - Dst: check_length
      Src: /src/glib/glib/tests/keyfile.c:1020,1
    - Dst: g_key_file_remove_group
      Src: /src/glib/glib/tests/keyfile.c:1023,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:1024,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/keyfile.c:993,1
    - Dst: g_key_file_get_groups
      Src: /src/glib/glib/tests/keyfile.c:992,1
    - Dst: check_name
      Src: /src/glib/glib/tests/keyfile.c:996,1
    - Dst: check_name
      Src: /src/glib/glib/tests/keyfile.c:997,1
    - Dst: check_name
      Src: /src/glib/glib/tests/keyfile.c:998,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/keyfile.c:1003,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:1001,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:1013,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/keyfile.c:1015,1
    - Dst: check_name
      Src: /src/glib/glib/tests/keyfile.c:1021,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1029
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 1029
    functionName: test_group_remove
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_free
    - check_length
    - g_strv_length
    - check_name
    - g_key_file_remove_group
    - g_assert_nonnull
    - g_test_bug
    - check_no_error
    - check_error
    - g_strfreev
    - g_key_file_get_groups
    - load_data
    linkageType: ''
    returnType: void
    signature: 'static void test_group_remove (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/keyfile.c:1599,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:1613,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/keyfile.c:1594,1
    - Dst: strlen
      Src: /src/glib/glib/tests/keyfile.c:1591,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/keyfile.c:1596,1
    - Dst: g_close
      Src: /src/glib/glib/tests/keyfile.c:1597,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/keyfile.c:1610,1
    - Dst: g_key_file_get_uint64
      Src: /src/glib/glib/tests/keyfile.c:1609,1
    - Dst: remove
      Src: /src/glib/glib/tests/keyfile.c:1612,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1615,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/keyfile.c:1592,1
    - Dst: g_mkstemp
      Src: /src/glib/glib/tests/keyfile.c:1595,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1604,1
    - Dst: g_key_file_save_to_file
      Src: /src/glib/glib/tests/keyfile.c:1600,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/keyfile.c:1602,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/keyfile.c:1601,1
    - Dst: G_GUINT64_CONSTANT
      Src: /src/glib/glib/tests/keyfile.c:1610,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1590,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1591,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/keyfile.c:1598,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/keyfile.c:1606,1
    - Dst: g_key_file_load_from_file
      Src: /src/glib/glib/tests/keyfile.c:1605,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/keyfile.c:1607,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1614,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1616
      start: 1573
    functionDepth: 0
    functionLinenumber: 1573
    functionLinenumberEnd: 1616
    functionName: test_save
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_new
    - g_key_file_get_uint64
    - g_key_file_free
    - g_strdup
    - g_assert_true
    - strlen
    - G_GUINT64_CONSTANT
    - remove
    - g_mkstemp
    - g_assert_cmpuint
    - g_key_file_load_from_data
    - g_close
    - g_assert_no_error
    - g_key_file_load_from_file
    - g_key_file_save_to_file
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_save (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1905,1
    - Dst: check_locale_string_value
      Src: /src/glib/glib/tests/keyfile.c:1917,1
    - Dst: check_string_locale_value
      Src: /src/glib/glib/tests/keyfile.c:1915,1
    - Dst: check_locale_string_value
      Src: /src/glib/glib/tests/keyfile.c:1914,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1906,1
    - Dst: check_string_locale_value
      Src: /src/glib/glib/tests/keyfile.c:1918,1
    - Dst: check_locale_string_value
      Src: /src/glib/glib/tests/keyfile.c:1920,1
    - Dst: check_string_locale_value
      Src: /src/glib/glib/tests/keyfile.c:1921,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1923,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1924
      start: 1900
    functionDepth: 0
    functionLinenumber: 1900
    functionLinenumberEnd: 1924
    functionName: test_get_locale
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_new
    - g_key_file_free
    - check_locale_string_value
    - g_key_file_load_from_data
    - check_string_locale_value
    linkageType: ''
    returnType: void
    signature: 'static void test_get_locale (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_get_string_list
      Src: /src/glib/glib/tests/keyfile.c:95,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:96,1
    - Dst: va_arg
      Src: /src/glib/glib/tests/keyfile.c:101,1
    - Dst: va_start
      Src: /src/glib/glib/tests/keyfile.c:99,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/keyfile.c:97,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/keyfile.c:104,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/keyfile.c:105,1
    - Dst: va_arg
      Src: /src/glib/glib/tests/keyfile.c:107,1
    - Dst: va_end
      Src: /src/glib/glib/tests/keyfile.c:110,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/keyfile.c:112,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - keyfile
    - group
    - key
    - '...'
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 113
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 113
    functionName: check_string_list_value
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_key_file_get_string_list
    - check_no_error
    - g_assert_cmpstr
    - g_strfreev
    - va_arg
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: 'static void check_string_list_value (GKeyFile *keyfile, const gchar
      *group, const gchar *key, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/keyfile.c:1043,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:1050,1
    - Dst: load_data
      Src: /src/glib/glib/tests/keyfile.c:1045,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:1047,1
    - Dst: g_key_file_remove_key
      Src: /src/glib/glib/tests/keyfile.c:1049,1
    - Dst: g_key_file_get_string
      Src: /src/glib/glib/tests/keyfile.c:1052,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:1053,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:1054,1
    - Dst: g_key_file_remove_key
      Src: /src/glib/glib/tests/keyfile.c:1056,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:1057,1
    - Dst: g_key_file_remove_key
      Src: /src/glib/glib/tests/keyfile.c:1059,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:1060,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1062,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1063
      start: 1031
    functionDepth: 0
    functionLinenumber: 1031
    functionLinenumberEnd: 1063
    functionName: test_key_remove
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_free
    - check_string_value
    - g_test_bug
    - check_no_error
    - check_error
    - g_key_file_remove_key
    - load_data
    - g_free
    - g_key_file_get_string
    linkageType: ''
    returnType: void
    signature: 'static void test_key_remove (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1624,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/keyfile.c:1626,1
    - Dst: g_key_file_load_from_file
      Src: /src/glib/glib/tests/keyfile.c:1626,1
    - Dst: g_test_get_filename
      Src: /src/glib/glib/tests/keyfile.c:1626,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/keyfile.c:1627,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/keyfile.c:1628,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/keyfile.c:1629,1
    - Dst: g_key_file_load_from_file
      Src: /src/glib/glib/tests/keyfile.c:1629,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/keyfile.c:1630,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/keyfile.c:1631,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1633,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1634
      start: 1618
    functionDepth: 0
    functionLinenumber: 1618
    functionLinenumberEnd: 1634
    functionName: test_load_fail
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_new
    - g_clear_error
    - g_key_file_free
    - g_test_get_filename
    - g_key_file_load_from_file
    - g_assert_false
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_load_fail (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_has_key
      Src: /src/glib/glib/tests/keyfile.c:1941,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/keyfile.c:1957,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/keyfile.c:1949,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1953,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:1950,1
    - Dst: load_data
      Src: /src/glib/glib/tests/keyfile.c:1935,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/keyfile.c:1941,1
    - Dst: g_key_file_has_group
      Src: /src/glib/glib/tests/keyfile.c:1940,1
    - Dst: g_key_file_ref
      Src: /src/glib/glib/tests/keyfile.c:1937,1
    - Dst: g_key_file_has_group
      Src: /src/glib/glib/tests/keyfile.c:1948,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/keyfile.c:1954,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/keyfile.c:1951,1
    - Dst: g_key_file_unref
      Src: /src/glib/glib/tests/keyfile.c:1959,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/keyfile.c:1942,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1945,1
    - Dst: g_key_file_has_group
      Src: /src/glib/glib/tests/keyfile.c:1956,1
    - Dst: g_key_file_has_key
      Src: /src/glib/glib/tests/keyfile.c:1957,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/keyfile.c:1940,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/keyfile.c:1948,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/keyfile.c:1956,1
    - Dst: g_key_file_has_key
      Src: /src/glib/glib/tests/keyfile.c:1949,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1960
      start: 1926
    functionDepth: 0
    functionLinenumber: 1926
    functionLinenumberEnd: 1960
    functionName: test_free_when_not_last_ref
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_free
    - g_clear_error
    - g_key_file_has_group
    - g_assert_true
    - g_key_file_load_from_data
    - check_error
    - g_assert_no_error
    - g_key_file_ref
    - g_assert_false
    - g_key_file_unref
    - load_data
    - g_key_file_has_key
    linkageType: ''
    returnType: void
    signature: 'static void test_free_when_not_last_ref (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_data
      Src: /src/glib/glib/tests/keyfile.c:348,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:352,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:350,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:351,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:353,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:354,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 357
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 357
    functionName: test_whitespace
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_free
    - load_data
    - check_string_value
    linkageType: ''
    returnType: void
    signature: 'static void test_whitespace (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/keyfile.c:25,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/keyfile.c:26,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - error
    - domain
    - code
    argTypes:
    - GError**
    - GQuark
    - gint
    constantsTouched: []
    func_position:
      end: 28
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 28
    functionName: check_error
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_error_free
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void check_error (GError **error, GQuark domain, gint code) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_get_double
      Src: /src/glib/glib/tests/keyfile.c:281,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/keyfile.c:283,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:282,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - keyfile
    - group
    - key
    - expected
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar*
    - gdouble
    constantsTouched: []
    func_position:
      end: 284
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 284
    functionName: check_double_value
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_assert_cmpfloat
    - g_key_file_get_double
    - check_no_error
    linkageType: ''
    returnType: void
    signature: 'static void check_double_value (GKeyFile *keyfile, const gchar *group,
      const gchar *key, gdouble expected) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/keyfile.c:301,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/keyfile.c:302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 4
    argNames:
    - what
    - n_items
    - length
    - expected
    argTypes:
    - gchar*
    - gint
    - gint
    - gint
    constantsTouched: []
    func_position:
      end: 303
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 303
    functionName: check_length
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void check_length (const gchar *what, gint n_items, gint length,
      gint expected) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_get_groups
      Src: /src/glib/glib/tests/keyfile.c:525,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/keyfile.c:526,1
    - Dst: check_name
      Src: /src/glib/glib/tests/keyfile.c:530,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/keyfile.c:548,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:544,1
    - Dst: g_key_file_has_group
      Src: /src/glib/glib/tests/keyfile.c:549,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/keyfile.c:554,1
    - Dst: g_key_file_has_key
      Src: /src/glib/glib/tests/keyfile.c:557,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/keyfile.c:561,1
    - Dst: load_data
      Src: /src/glib/glib/tests/keyfile.c:523,1
    - Dst: check_length
      Src: /src/glib/glib/tests/keyfile.c:528,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/keyfile.c:532,1
    - Dst: g_key_file_get_keys
      Src: /src/glib/glib/tests/keyfile.c:534,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:535,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/keyfile.c:537,1
    - Dst: check_name
      Src: /src/glib/glib/tests/keyfile.c:539,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/keyfile.c:541,1
    - Dst: g_key_file_has_group
      Src: /src/glib/glib/tests/keyfile.c:550,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/keyfile.c:551,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/keyfile.c:557,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:560,1
    - Dst: check_name
      Src: /src/glib/glib/tests/keyfile.c:538,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/keyfile.c:550,1
    - Dst: g_key_file_has_group
      Src: /src/glib/glib/tests/keyfile.c:551,1
    - Dst: g_key_file_get_start_group
      Src: /src/glib/glib/tests/keyfile.c:553,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:555,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:558,1
    - Dst: g_key_file_has_key
      Src: /src/glib/glib/tests/keyfile.c:563,1
    - Dst: g_key_file_has_key
      Src: /src/glib/glib/tests/keyfile.c:561,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/keyfile.c:528,1
    - Dst: check_name
      Src: /src/glib/glib/tests/keyfile.c:529,1
    - Dst: g_key_file_get_keys
      Src: /src/glib/glib/tests/keyfile.c:543,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/keyfile.c:546,1
    - Dst: check_length
      Src: /src/glib/glib/tests/keyfile.c:537,1
    - Dst: g_key_file_has_group
      Src: /src/glib/glib/tests/keyfile.c:548,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/keyfile.c:549,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/keyfile.c:559,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:564,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:566,1
    - Dst: g_key_file_has_key
      Src: /src/glib/glib/tests/keyfile.c:559,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 46
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 567
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 567
    functionName: test_listing
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_free
    - check_length
    - g_assert_true
    - g_strv_length
    - check_name
    - g_key_file_has_group
    - g_assert_nonnull
    - check_no_error
    - check_error
    - g_strfreev
    - g_assert_cmpstr
    - g_key_file_get_keys
    - g_key_file_get_start_group
    - g_assert_false
    - g_key_file_get_groups
    - load_data
    - g_free
    - g_key_file_has_key
    linkageType: ''
    returnType: void
    signature: 'static void test_listing (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/glib/glib/tests/keyfile.c:811,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/keyfile.c:845,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:846,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/keyfile.c:834,1
    - Dst: check_locale_string_value
      Src: /src/glib/glib/tests/keyfile.c:836,1
    - Dst: check_string_locale_value
      Src: /src/glib/glib/tests/keyfile.c:837,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:821,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/keyfile.c:830,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/keyfile.c:797,1
    - Dst: check_locale_string_value
      Src: /src/glib/glib/tests/keyfile.c:782,1
    - Dst: check_locale_string_value
      Src: /src/glib/glib/tests/keyfile.c:784,1
    - Dst: check_locale_string_value
      Src: /src/glib/glib/tests/keyfile.c:783,1
    - Dst: check_locale_string_value
      Src: /src/glib/glib/tests/keyfile.c:789,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/keyfile.c:795,1
    - Dst: load_data
      Src: /src/glib/glib/tests/keyfile.c:799,1
    - Dst: check_locale_string_value
      Src: /src/glib/glib/tests/keyfile.c:804,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/keyfile.c:796,1
    - Dst: check_locale_string_value
      Src: /src/glib/glib/tests/keyfile.c:801,1
    - Dst: check_locale_string_value
      Src: /src/glib/glib/tests/keyfile.c:802,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/keyfile.c:839,1
    - Dst: check_locale_string_value
      Src: /src/glib/glib/tests/keyfile.c:831,1
    - Dst: check_string_locale_value
      Src: /src/glib/glib/tests/keyfile.c:832,1
    - Dst: check_locale_string_value
      Src: /src/glib/glib/tests/keyfile.c:803,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/keyfile.c:795,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/keyfile.c:816,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:844,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:809,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/keyfile.c:816,1
    - Dst: check_string_locale_value
      Src: /src/glib/glib/tests/keyfile.c:822,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/keyfile.c:840,1
    - Dst: load_data
      Src: /src/glib/glib/tests/keyfile.c:780,1
    - Dst: check_locale_string_value
      Src: /src/glib/glib/tests/keyfile.c:785,1
    - Dst: check_locale_string_value
      Src: /src/glib/glib/tests/keyfile.c:786,1
    - Dst: check_locale_string_value
      Src: /src/glib/glib/tests/keyfile.c:787,1
    - Dst: check_locale_string_value
      Src: /src/glib/glib/tests/keyfile.c:788,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:791,1
    - Dst: check_locale_string_value
      Src: /src/glib/glib/tests/keyfile.c:805,1
    - Dst: check_locale_string_value
      Src: /src/glib/glib/tests/keyfile.c:806,1
    - Dst: check_locale_string_value
      Src: /src/glib/glib/tests/keyfile.c:807,1
    - Dst: load_data
      Src: /src/glib/glib/tests/keyfile.c:817,1
    - Dst: g_key_file_set_locale_string
      Src: /src/glib/glib/tests/keyfile.c:819,1
    - Dst: check_locale_string_value
      Src: /src/glib/glib/tests/keyfile.c:820,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/keyfile.c:835,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/keyfile.c:829,1
    - Dst: check_locale_string_value
      Src: /src/glib/glib/tests/keyfile.c:841,1
    - Dst: check_string_locale_value
      Src: /src/glib/glib/tests/keyfile.c:842,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:812,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 53
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 847
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 847
    functionName: test_locale_string
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_free
    - g_strdup
    - g_setenv
    - g_key_file_set_locale_string
    - check_string_value
    - check_locale_string_value
    - check_string_locale_value
    - setlocale
    - load_data
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_locale_string (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_data
      Src: /src/glib/glib/tests/keyfile.c:908,1
    - Dst: check_string_list_value
      Src: /src/glib/glib/tests/keyfile.c:910,1
    - Dst: check_string_list_value
      Src: /src/glib/glib/tests/keyfile.c:913,1
    - Dst: check_string_list_value
      Src: /src/glib/glib/tests/keyfile.c:912,1
    - Dst: check_string_list_value
      Src: /src/glib/glib/tests/keyfile.c:911,1
    - Dst: check_boolean_list_value
      Src: /src/glib/glib/tests/keyfile.c:914,1
    - Dst: check_integer_list_value
      Src: /src/glib/glib/tests/keyfile.c:915,1
    - Dst: check_double_list_value
      Src: /src/glib/glib/tests/keyfile.c:916,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:921,1
    - Dst: load_data
      Src: /src/glib/glib/tests/keyfile.c:925,1
    - Dst: check_string_list_value
      Src: /src/glib/glib/tests/keyfile.c:929,1
    - Dst: check_string_list_value
      Src: /src/glib/glib/tests/keyfile.c:930,1
    - Dst: g_key_file_set_list_separator
      Src: /src/glib/glib/tests/keyfile.c:926,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:932,1
    - Dst: check_string_list_value
      Src: /src/glib/glib/tests/keyfile.c:928,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 933
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 933
    functionName: test_lists
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_free
    - check_double_list_value
    - g_key_file_set_list_separator
    - check_string_list_value
    - check_boolean_list_value
    - check_integer_list_value
    - load_data
    linkageType: ''
    returnType: void
    signature: 'static void test_lists (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/keyfile.c:1077,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:1082,1
    - Dst: load_data
      Src: /src/glib/glib/tests/keyfile.c:1079,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:1081,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1084,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1085
      start: 1066
    functionDepth: 0
    functionLinenumber: 1066
    functionLinenumberEnd: 1085
    functionName: test_groups
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_free
    - load_data
    - check_string_value
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_groups (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1720,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1722,1
    - Dst: strlen
      Src: /src/glib/glib/tests/keyfile.c:1722,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/keyfile.c:1723,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/keyfile.c:1724,1
    - Dst: g_key_file_has_key
      Src: /src/glib/glib/tests/keyfile.c:1724,1
    - Dst: g_key_file_ref
      Src: /src/glib/glib/tests/keyfile.c:1725,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1726,1
    - Dst: g_key_file_unref
      Src: /src/glib/glib/tests/keyfile.c:1727,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1728
      start: 1711
    functionDepth: 0
    functionLinenumber: 1711
    functionLinenumberEnd: 1728
    functionName: test_ref
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_new
    - g_key_file_free
    - g_assert_true
    - strlen
    - g_key_file_load_from_data
    - g_key_file_ref
    - g_key_file_unref
    - g_key_file_has_key
    linkageType: ''
    returnType: void
    signature: 'static void test_ref (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/keyfile.c:33,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError**
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: check_no_error
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_assert_no_error
    linkageType: ''
    returnType: void
    signature: 'static void check_no_error (GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/keyfile.c:292,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - what
    - value
    - expected
    - position
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    - gint
    constantsTouched: []
    func_position:
      end: 293
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 293
    functionName: check_name
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void check_name (const gchar *what, const gchar *value, const
      gchar *expected, gint position) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/keyfile.c:866,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/keyfile.c:870,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/keyfile.c:869,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/keyfile.c:869,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/keyfile.c:867,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/keyfile.c:871,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:873,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:877,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/keyfile.c:878,1
    - Dst: check_locale_string_value
      Src: /src/glib/glib/tests/keyfile.c:880,1
    - Dst: check_locale_string_value
      Src: /src/glib/glib/tests/keyfile.c:881,1
    - Dst: check_locale_string_value
      Src: /src/glib/glib/tests/keyfile.c:882,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:885,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:888,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/keyfile.c:887,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 889
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 889
    functionName: test_locale_string_multiple_loads
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_new
    - g_key_file_free
    - g_strdup
    - g_test_summary
    - g_setenv
    - g_test_bug
    - g_key_file_load_from_data
    - check_locale_string_value
    - setlocale
    - g_assert_no_error
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_locale_string_multiple_loads (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:944,1
    - Dst: g_key_file_set_double_list
      Src: /src/glib/glib/tests/keyfile.c:948,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/keyfile.c:948,1
    - Dst: check_locale_string_list_value
      Src: /src/glib/glib/tests/keyfile.c:951,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/keyfile.c:962,1
    - Dst: g_key_file_set_string_list
      Src: /src/glib/glib/tests/keyfile.c:945,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/keyfile.c:946,1
    - Dst: g_key_file_set_integer_list
      Src: /src/glib/glib/tests/keyfile.c:947,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/keyfile.c:947,1
    - Dst: check_string_list_value
      Src: /src/glib/glib/tests/keyfile.c:950,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:954,1
    - Dst: g_key_file_set_list_separator
      Src: /src/glib/glib/tests/keyfile.c:958,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/keyfile.c:959,1
    - Dst: check_double_list_value
      Src: /src/glib/glib/tests/keyfile.c:953,1
    - Dst: g_key_file_set_integer_list
      Src: /src/glib/glib/tests/keyfile.c:961,1
    - Dst: g_key_file_set_double_list
      Src: /src/glib/glib/tests/keyfile.c:962,1
    - Dst: check_integer_list_value
      Src: /src/glib/glib/tests/keyfile.c:966,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/keyfile.c:945,1
    - Dst: g_key_file_set_locale_string_list
      Src: /src/glib/glib/tests/keyfile.c:960,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:957,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/keyfile.c:960,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/keyfile.c:961,1
    - Dst: check_double_list_value
      Src: /src/glib/glib/tests/keyfile.c:967,1
    - Dst: g_key_file_set_locale_string_list
      Src: /src/glib/glib/tests/keyfile.c:946,1
    - Dst: g_key_file_set_string_list
      Src: /src/glib/glib/tests/keyfile.c:959,1
    - Dst: check_integer_list_value
      Src: /src/glib/glib/tests/keyfile.c:952,1
    - Dst: check_string_list_value
      Src: /src/glib/glib/tests/keyfile.c:964,1
    - Dst: check_locale_string_list_value
      Src: /src/glib/glib/tests/keyfile.c:965,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:968,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 969
      start: 935
    functionDepth: 0
    functionLinenumber: 935
    functionLinenumberEnd: 969
    functionName: test_lists_set_get
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_new
    - check_double_list_value
    - g_key_file_set_double_list
    - g_key_file_free
    - g_key_file_set_list_separator
    - g_key_file_set_locale_string_list
    - check_string_list_value
    - G_N_ELEMENTS
    - g_key_file_set_string_list
    - check_integer_list_value
    - g_key_file_set_integer_list
    - check_locale_string_list_value
    linkageType: ''
    returnType: void
    signature: 'static void test_lists_set_get (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1099,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1109,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1120,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1129,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:1146,1
    - Dst: g_key_file_get_string
      Src: /src/glib/glib/tests/keyfile.c:1163,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/keyfile.c:1167,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1170,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1173,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1098,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1108,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1128,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1139,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:1121,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1150,1
    - Dst: g_key_file_get_string
      Src: /src/glib/glib/tests/keyfile.c:1154,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/keyfile.c:1158,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1161,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1168,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:1172,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1100,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1110,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1119,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1130,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1138,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:1141,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1143,1
    - Dst: g_key_file_get_string
      Src: /src/glib/glib/tests/keyfile.c:1145,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/keyfile.c:1149,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1152,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1159,1
    - Dst: g_key_file_set_string
      Src: /src/glib/glib/tests/keyfile.c:1171,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:1101,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:1111,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1118,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:1131,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1140,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:1155,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:1164,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 57
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1174
      start: 1087
    functionDepth: 0
    functionLinenumber: 1087
    functionLinenumberEnd: 1174
    functionName: test_group_names
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_new
    - g_key_file_free
    - g_assert_null
    - check_string_value
    - g_key_file_set_string
    - check_no_error
    - g_key_file_load_from_data
    - check_error
    - g_key_file_get_string
    linkageType: ''
    returnType: void
    signature: 'static void test_group_names (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1768,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/keyfile.c:1774,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1773,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1770,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/keyfile.c:1771,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1777,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/keyfile.c:1778,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1781,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/keyfile.c:1781,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/keyfile.c:1782,1
    - Dst: g_key_file_unref
      Src: /src/glib/glib/tests/keyfile.c:1784,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1785
      start: 1762
    functionDepth: 0
    functionLinenumber: 1762
    functionLinenumberEnd: 1785
    functionName: test_empty_string
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_new
    - g_key_file_load_from_data
    - g_assert_no_error
    - GINT_TO_POINTER
    - g_key_file_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_empty_string (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1874,1
    - Dst: strlen
      Src: /src/glib/glib/tests/keyfile.c:1875,1
    - Dst: g_key_file_load_from_bytes
      Src: /src/glib/glib/tests/keyfile.c:1881,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/keyfile.c:1883,1
    - Dst: g_bytes_new
      Src: /src/glib/glib/tests/keyfile.c:1875,1
    - Dst: g_key_file_get_groups
      Src: /src/glib/glib/tests/keyfile.c:1885,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/keyfile.c:1886,1
    - Dst: check_length
      Src: /src/glib/glib/tests/keyfile.c:1888,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/keyfile.c:1888,1
    - Dst: check_name
      Src: /src/glib/glib/tests/keyfile.c:1889,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:1892,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:1893,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/keyfile.c:1896,1
    - Dst: check_name
      Src: /src/glib/glib/tests/keyfile.c:1890,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1897,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/keyfile.c:1895,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1898
      start: 1864
    functionDepth: 0
    functionLinenumber: 1864
    functionLinenumberEnd: 1898
    functionName: test_bytes
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_new
    - g_key_file_free
    - g_bytes_new
    - check_length
    - g_strv_length
    - strlen
    - check_name
    - g_assert_nonnull
    - check_string_value
    - g_bytes_unref
    - g_assert_no_error
    - g_strfreev
    - g_key_file_load_from_bytes
    - g_key_file_get_groups
    linkageType: ''
    returnType: void
    signature: 'static void test_bytes (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/keyfile.c:1965,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1978,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1994,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1997,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:2000,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:2002,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:2004,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:2006,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:2005,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1976,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1977,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1979,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1983,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1982,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1986,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1988,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1996,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:2003,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/keyfile.c:2008,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1971,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1973,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1975,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1980,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1984,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1989,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1991,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1993,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1998,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1999,1
    - Dst: g_test_get_dir
      Src: /src/glib/glib/tests/keyfile.c:1968,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1972,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/keyfile.c:1968,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1974,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1981,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1985,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1987,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1990,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1992,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:1995,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/keyfile.c:2001,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 41
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 2009
      start: 1962
    functionDepth: 0
    functionLinenumber: 1962
    functionLinenumberEnd: 2009
    functionName: main
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_setenv
    - g_test_run
    - g_test_get_dir
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1798,1
    - Dst: strlen
      Src: /src/glib/glib/tests/keyfile.c:1801,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/keyfile.c:1802,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/keyfile.c:1803,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1801,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/keyfile.c:1804,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1805,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1806
      start: 1787
    functionDepth: 0
    functionLinenumber: 1787
    functionLinenumberEnd: 1806
    functionName: test_limbo
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_new
    - g_clear_error
    - g_key_file_free
    - strlen
    - g_key_file_load_from_data
    - g_assert_false
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_limbo (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_get_string
      Src: /src/glib/glib/tests/keyfile.c:45,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:46,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/keyfile.c:48,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/keyfile.c:47,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:49,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 4
    argNames:
    - keyfile
    - group
    - key
    - expected
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: check_string_value
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_assert_cmpstr
    - check_no_error
    - g_free
    - g_key_file_get_string
    linkageType: ''
    returnType: void
    signature: 'static void check_string_value (GKeyFile *keyfile, const gchar *group,
      const gchar *key, const gchar *expected) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_get_locale_string_list
      Src: /src/glib/glib/tests/keyfile.c:128,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:129,1
    - Dst: va_start
      Src: /src/glib/glib/tests/keyfile.c:132,1
    - Dst: va_arg
      Src: /src/glib/glib/tests/keyfile.c:134,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/keyfile.c:130,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/keyfile.c:137,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/keyfile.c:138,1
    - Dst: va_arg
      Src: /src/glib/glib/tests/keyfile.c:140,1
    - Dst: va_end
      Src: /src/glib/glib/tests/keyfile.c:143,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/keyfile.c:145,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 4
    argNames:
    - keyfile
    - group
    - key
    - locale
    - '...'
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 146
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 146
    functionName: check_locale_string_list_value
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - check_no_error
    - g_assert_cmpstr
    - g_strfreev
    - va_arg
    - va_end
    - va_start
    - g_key_file_get_locale_string_list
    linkageType: ''
    returnType: void
    signature: 'static void check_locale_string_list_value (GKeyFile *keyfile, const
      gchar *group, const gchar *key, const gchar *locale, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_get_double_list
      Src: /src/glib/glib/tests/keyfile.c:192,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/keyfile.c:194,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:193,1
    - Dst: va_start
      Src: /src/glib/glib/tests/keyfile.c:196,1
    - Dst: va_arg
      Src: /src/glib/glib/tests/keyfile.c:198,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/keyfile.c:201,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/glib/tests/keyfile.c:202,1
    - Dst: va_arg
      Src: /src/glib/glib/tests/keyfile.c:204,1
    - Dst: va_end
      Src: /src/glib/glib/tests/keyfile.c:207,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:209,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - keyfile
    - group
    - key
    - '...'
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 210
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 210
    functionName: check_double_list_value
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_key_file_get_double_list
    - g_assert_cmpfloat
    - check_no_error
    - va_arg
    - va_end
    - g_free
    - va_start
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void check_double_list_value (GKeyFile *keyfile, const gchar
      *group, const gchar *key, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_get_boolean
      Src: /src/glib/glib/tests/keyfile.c:253,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/keyfile.c:255,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:254,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - keyfile
    - group
    - key
    - expected
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 256
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 256
    functionName: check_boolean_value
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_get_boolean
    - check_no_error
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void check_boolean_value (GKeyFile *keyfile, const gchar *group,
      const gchar *key, gboolean expected) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:1238,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1240,1
    - Dst: g_key_file_set_string
      Src: /src/glib/glib/tests/keyfile.c:1278,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:1324,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:1291,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:1301,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:1190,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1188,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1273,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1303,1
    - Dst: g_key_file_set_string
      Src: /src/glib/glib/tests/keyfile.c:1327,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1330,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1315,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1265,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:1281,1
    - Dst: g_key_file_get_string
      Src: /src/glib/glib/tests/keyfile.c:1300,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1272,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1187,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1207,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:1210,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1255,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1199,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1208,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1228,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1236,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1246,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1254,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1264,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1285,1
    - Dst: g_key_file_set_string
      Src: /src/glib/glib/tests/keyfile.c:1299,1
    - Dst: g_key_file_get_string
      Src: /src/glib/glib/tests/keyfile.c:1308,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1227,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:1230,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1237,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1245,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:1248,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:1320,1
    - Dst: g_key_file_set_string
      Src: /src/glib/glib/tests/keyfile.c:1325,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1219,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:1239,1
    - Dst: g_key_file_get_string
      Src: /src/glib/glib/tests/keyfile.c:1290,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1297,1
    - Dst: g_key_file_set_string
      Src: /src/glib/glib/tests/keyfile.c:1316,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1277,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:1275,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:1267,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/keyfile.c:1312,1
    - Dst: g_key_file_set_string
      Src: /src/glib/glib/tests/keyfile.c:1298,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:1328,1
    - Dst: g_key_file_get_string
      Src: /src/glib/glib/tests/keyfile.c:1280,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:1200,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1259,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1305,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1198,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/keyfile.c:1294,1
    - Dst: g_key_file_set_string
      Src: /src/glib/glib/tests/keyfile.c:1306,1
    - Dst: g_key_file_set_string
      Src: /src/glib/glib/tests/keyfile.c:1323,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1197,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:1220,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1287,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1189,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1218,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:1326,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1274,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1217,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:1256,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:1302,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1266,1
    - Dst: g_key_file_set_string
      Src: /src/glib/glib/tests/keyfile.c:1288,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1313,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1209,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:1309,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1295,1
    - Dst: g_key_file_set_string
      Src: /src/glib/glib/tests/keyfile.c:1319,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/keyfile.c:1284,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:1229,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1231,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:1247,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1249,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 109
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1331
      start: 1176
    functionDepth: 0
    functionLinenumber: 1176
    functionLinenumberEnd: 1331
    functionName: test_key_names
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_new
    - g_key_file_free
    - g_assert_null
    - check_string_value
    - g_key_file_set_string
    - check_no_error
    - g_key_file_load_from_data
    - check_error
    - g_free
    - g_key_file_get_string
    linkageType: ''
    returnType: void
    signature: 'static void test_key_names (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/keyfile.c:1358,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1364,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:1362,1
    - Dst: load_data
      Src: /src/glib/glib/tests/keyfile.c:1360,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:1361,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1365
      start: 1348
    functionDepth: 0
    functionLinenumber: 1348
    functionLinenumberEnd: 1365
    functionName: test_duplicate_groups
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_free
    - load_data
    - check_string_value
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_duplicate_groups (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:1430,1
    - Dst: g_key_file_to_data
      Src: /src/glib/glib/tests/keyfile.c:1432,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:1441,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:1452,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/keyfile.c:1451,1
    - Dst: g_key_file_to_data
      Src: /src/glib/glib/tests/keyfile.c:1443,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:1450,1
    - Dst: g_key_file_get_comment
      Src: /src/glib/glib/tests/keyfile.c:1459,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:1460,1
    - Dst: g_key_file_get_comment
      Src: /src/glib/glib/tests/keyfile.c:1474,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/keyfile.c:1422,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1426,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/keyfile.c:1433,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1436,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1437,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/keyfile.c:1444,1
    - Dst: g_key_file_get_comment
      Src: /src/glib/glib/tests/keyfile.c:1449,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/keyfile.c:1461,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:1462,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/keyfile.c:1471,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:1475,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1425,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1434,1
    - Dst: g_key_file_get_comment
      Src: /src/glib/glib/tests/keyfile.c:1454,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:1455,1
    - Dst: g_key_file_get_comment
      Src: /src/glib/glib/tests/keyfile.c:1464,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:1465,1
    - Dst: g_key_file_get_comment
      Src: /src/glib/glib/tests/keyfile.c:1469,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:1470,1
    - Dst: g_key_file_get_comment
      Src: /src/glib/glib/tests/keyfile.c:1479,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:1480,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/keyfile.c:1481,1
    - Dst: strlen
      Src: /src/glib/glib/tests/keyfile.c:1427,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/keyfile.c:1446,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/keyfile.c:1456,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:1457,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/keyfile.c:1466,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:1467,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:1472,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1483,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/keyfile.c:1485,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:1487,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/keyfile.c:1476,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:1477,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:1488,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 57
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1489
      start: 1388
    functionDepth: 0
    functionLinenumber: 1388
    functionLinenumberEnd: 1489
    functionName: test_reload_idempotency
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_new
    - g_key_file_free
    - strlen
    - g_assert_null
    - g_key_file_get_comment
    - g_assert_nonnull
    - g_free
    - g_test_bug
    - g_key_file_load_from_data
    - check_no_error
    - g_assert_cmpstr
    - g_key_file_to_data
    linkageType: ''
    returnType: void
    signature: 'static void test_reload_idempotency (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/keyfile.c:1513,1
    - Dst: strlen
      Src: /src/glib/glib/tests/keyfile.c:1511,1
    - Dst: g_key_file_get_uint64
      Src: /src/glib/glib/tests/keyfile.c:1515,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/keyfile.c:1516,1
    - Dst: G_GUINT64_CONSTANT
      Src: /src/glib/glib/tests/keyfile.c:1516,1
    - Dst: g_key_file_get_int64
      Src: /src/glib/glib/tests/keyfile.c:1518,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/keyfile.c:1519,1
    - Dst: g_key_file_set_int64
      Src: /src/glib/glib/tests/keyfile.c:1527,1
    - Dst: G_GUINT64_CONSTANT
      Src: /src/glib/glib/tests/keyfile.c:1522,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/keyfile.c:1524,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1509,1
    - Dst: G_GINT64_CONSTANT
      Src: /src/glib/glib/tests/keyfile.c:1519,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1533,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:1525,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:1531,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:1511,1
    - Dst: g_key_file_set_uint64
      Src: /src/glib/glib/tests/keyfile.c:1521,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/keyfile.c:1530,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/keyfile.c:1507,1
    - Dst: G_GINT64_CONSTANT
      Src: /src/glib/glib/tests/keyfile.c:1528,1
    - Dst: g_key_file_get_value
      Src: /src/glib/glib/tests/keyfile.c:1523,1
    - Dst: g_key_file_get_value
      Src: /src/glib/glib/tests/keyfile.c:1529,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1534
      start: 1498
    functionDepth: 0
    functionLinenumber: 1498
    functionLinenumberEnd: 1534
    functionName: test_int64
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_new
    - g_key_file_get_uint64
    - g_key_file_set_uint64
    - g_assert_true
    - g_key_file_free
    - strlen
    - G_GUINT64_CONSTANT
    - G_GINT64_CONSTANT
    - g_assert_cmpuint
    - g_test_bug
    - g_key_file_load_from_data
    - g_assert_cmpstr
    - g_key_file_set_int64
    - g_key_file_get_value
    - g_key_file_get_int64
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_int64 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:14,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/glib/tests/keyfile.c:15,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/keyfile.c:16,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 18
    functionName: load_data
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_new
    - g_key_file_load_from_data
    - g_assert_no_error
    linkageType: ''
    returnType: GKeyFile*
    signature: 'static GKeyFile *load_data (const gchar *data, GKeyFileFlags flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_get_locale_string
      Src: /src/glib/glib/tests/keyfile.c:62,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:66,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/keyfile.c:64,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:63,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/keyfile.c:65,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 5
    argNames:
    - keyfile
    - group
    - key
    - locale
    - expected
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 67
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 67
    functionName: check_locale_string_value
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_key_file_get_locale_string
    - check_no_error
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void check_locale_string_value (GKeyFile *keyfile, const gchar
      *group, const gchar *key, const gchar *locale, const gchar *expected) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_get_integer_list
      Src: /src/glib/glib/tests/keyfile.c:160,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:161,1
    - Dst: va_start
      Src: /src/glib/glib/tests/keyfile.c:164,1
    - Dst: va_arg
      Src: /src/glib/glib/tests/keyfile.c:166,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/keyfile.c:162,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/keyfile.c:169,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/keyfile.c:170,1
    - Dst: va_arg
      Src: /src/glib/glib/tests/keyfile.c:172,1
    - Dst: va_end
      Src: /src/glib/glib/tests/keyfile.c:175,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:177,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - keyfile
    - group
    - key
    - '...'
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 178
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 178
    functionName: check_integer_list_value
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - check_no_error
    - va_arg
    - va_end
    - g_key_file_get_integer_list
    - g_free
    - va_start
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void check_integer_list_value (GKeyFile *keyfile, const gchar
      *group, const gchar *key, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_get_boolean_list
      Src: /src/glib/glib/tests/keyfile.c:224,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/keyfile.c:226,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:225,1
    - Dst: va_start
      Src: /src/glib/glib/tests/keyfile.c:228,1
    - Dst: va_arg
      Src: /src/glib/glib/tests/keyfile.c:230,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/keyfile.c:233,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/keyfile.c:234,1
    - Dst: va_arg
      Src: /src/glib/glib/tests/keyfile.c:236,1
    - Dst: va_end
      Src: /src/glib/glib/tests/keyfile.c:239,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:241,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - keyfile
    - group
    - key
    - '...'
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 242
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 242
    functionName: check_boolean_list_value
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_key_file_get_boolean_list
    - check_no_error
    - va_arg
    - va_end
    - g_free
    - va_start
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void check_boolean_list_value (GKeyFile *keyfile, const gchar
      *group, const gchar *key, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_get_integer
      Src: /src/glib/glib/tests/keyfile.c:267,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/keyfile.c:269,1
    - Dst: check_no_error
      Src: /src/glib/glib/tests/keyfile.c:268,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - keyfile
    - group
    - key
    - expected
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar*
    - gint
    constantsTouched: []
    func_position:
      end: 270
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 270
    functionName: check_integer_value
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_get_integer
    - check_no_error
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void check_integer_value (GKeyFile *keyfile, const gchar *group,
      const gchar *key, gint expected) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_data
      Src: /src/glib/glib/tests/keyfile.c:1342,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1345,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:1343,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1346
      start: 1333
    functionDepth: 0
    functionLinenumber: 1333
    functionLinenumberEnd: 1346
    functionName: test_duplicate_keys
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_free
    - load_data
    - check_string_value
    linkageType: ''
    returnType: void
    signature: 'static void test_duplicate_keys (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/keyfile.c:1379,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1385,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:1383,1
    - Dst: load_data
      Src: /src/glib/glib/tests/keyfile.c:1381,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:1382,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1386
      start: 1367
    functionDepth: 0
    functionLinenumber: 1367
    functionLinenumberEnd: 1386
    functionName: test_duplicate_groups2
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_free
    - load_data
    - check_string_value
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_duplicate_groups2 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_error_free
      Src: /src/glib/glib/tests/keyfile.c:1569,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/keyfile.c:1567,1
    - Dst: g_key_file_load_from_file
      Src: /src/glib/glib/tests/keyfile.c:1550,1
    - Dst: g_key_file_set_integer
      Src: /src/glib/glib/tests/keyfile.c:1557,1
    - Dst: g_key_file_set_comment
      Src: /src/glib/glib/tests/keyfile.c:1559,1
    - Dst: g_key_file_set_comment
      Src: /src/glib/glib/tests/keyfile.c:1560,1
    - Dst: g_key_file_set_comment
      Src: /src/glib/glib/tests/keyfile.c:1561,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1544,1
    - Dst: g_key_file_load_from_data_dirs
      Src: /src/glib/glib/tests/keyfile.c:1567,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/keyfile.c:1568,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/keyfile.c:1552,1
    - Dst: g_test_get_filename
      Src: /src/glib/glib/tests/keyfile.c:1550,1
    - Dst: g_key_file_load_from_data_dirs
      Src: /src/glib/glib/tests/keyfile.c:1548,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/keyfile.c:1553,1
    - Dst: g_key_file_set_locale_string
      Src: /src/glib/glib/tests/keyfile.c:1555,1
    - Dst: g_key_file_set_boolean_list
      Src: /src/glib/glib/tests/keyfile.c:1556,1
    - Dst: g_key_file_set_double
      Src: /src/glib/glib/tests/keyfile.c:1558,1
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1565,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1563,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1570,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1571
      start: 1536
    functionDepth: 0
    functionLinenumber: 1536
    functionLinenumberEnd: 1571
    functionName: test_load
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_new
    - g_key_file_free
    - g_assert_true
    - g_key_file_set_comment
    - g_key_file_set_boolean_list
    - g_key_file_set_locale_string
    - g_test_get_filename
    - g_key_file_set_double
    - g_assert_no_error
    - g_key_file_load_from_file
    - g_key_file_load_from_data_dirs
    - g_error_free
    - g_assert_false
    - g_key_file_set_integer
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_load (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_data
      Src: /src/glib/glib/tests/keyfile.c:322,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:327,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:324,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:325,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:326,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:329,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 330
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 330
    functionName: test_line_ends
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_free
    - load_data
    - check_string_value
    linkageType: ''
    returnType: void
    signature: 'static void test_line_ends (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:597,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:602,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:605,1
    - Dst: g_key_file_get_string
      Src: /src/glib/glib/tests/keyfile.c:608,1
    - Dst: g_key_file_get_string
      Src: /src/glib/glib/tests/keyfile.c:616,1
    - Dst: g_key_file_set_string
      Src: /src/glib/glib/tests/keyfile.c:622,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:629,1
    - Dst: load_data
      Src: /src/glib/glib/tests/keyfile.c:595,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:598,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:600,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:606,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:609,1
    - Dst: g_key_file_set_string
      Src: /src/glib/glib/tests/keyfile.c:620,1
    - Dst: g_key_file_set_string
      Src: /src/glib/glib/tests/keyfile.c:621,1
    - Dst: g_key_file_set_string
      Src: /src/glib/glib/tests/keyfile.c:623,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:630,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:631,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:632,1
    - Dst: g_key_file_get_string
      Src: /src/glib/glib/tests/keyfile.c:604,1
    - Dst: g_key_file_get_string
      Src: /src/glib/glib/tests/keyfile.c:612,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:613,1
    - Dst: check_error
      Src: /src/glib/glib/tests/keyfile.c:617,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:618,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:628,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:599,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:601,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:614,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:610,1
    - Dst: g_key_file_set_string
      Src: /src/glib/glib/tests/keyfile.c:624,1
    - Dst: g_key_file_set_string
      Src: /src/glib/glib/tests/keyfile.c:625,1
    - Dst: g_key_file_set_string_list
      Src: /src/glib/glib/tests/keyfile.c:626,1
    - Dst: check_string_list_value
      Src: /src/glib/glib/tests/keyfile.c:634,1
    - Dst: check_string_value
      Src: /src/glib/glib/tests/keyfile.c:633,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:636,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 637
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 637
    functionName: test_string
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_free
    - check_string_list_value
    - check_string_value
    - g_key_file_set_string
    - g_key_file_set_string_list
    - check_error
    - load_data
    - g_free
    - g_key_file_get_string
    linkageType: ''
    returnType: void
    signature: 'static void test_string (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_new
      Src: /src/glib/glib/tests/keyfile.c:1736,1
    - Dst: g_key_file_set_value
      Src: /src/glib/glib/tests/keyfile.c:1738,1
    - Dst: g_key_file_set_value
      Src: /src/glib/glib/tests/keyfile.c:1737,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:1740,1
    - Dst: g_key_file_remove_group
      Src: /src/glib/glib/tests/keyfile.c:1739,1
    - Dst: g_key_file_to_data
      Src: /src/glib/glib/tests/keyfile.c:1740,1
    - Dst: g_key_file_unref
      Src: /src/glib/glib/tests/keyfile.c:1741,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1742
      start: 1731
    functionDepth: 0
    functionLinenumber: 1731
    functionLinenumberEnd: 1742
    functionName: test_replace_value
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_new
    - g_key_file_remove_group
    - g_free
    - g_key_file_unref
    - g_key_file_set_value
    - g_key_file_to_data
    linkageType: ''
    returnType: void
    signature: 'static void test_replace_value (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_data
      Src: /src/glib/glib/tests/keyfile.c:1853,1
    - Dst: g_key_file_to_data
      Src: /src/glib/glib/tests/keyfile.c:1857,1
    - Dst: g_key_file_remove_key
      Src: /src/glib/glib/tests/keyfile.c:1855,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/keyfile.c:1858,1
    - Dst: g_key_file_set_integer
      Src: /src/glib/glib/tests/keyfile.c:1854,1
    - Dst: g_free
      Src: /src/glib/glib/tests/keyfile.c:1860,1
    - Dst: g_key_file_free
      Src: /src/glib/glib/tests/keyfile.c:1861,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1862
      start: 1840
    functionDepth: 0
    functionLinenumber: 1840
    functionLinenumberEnd: 1862
    functionName: test_roundtrip
    functionSourceFile: /src/glib/glib/tests/keyfile.c
    functionUses: []
    functionsReached:
    - g_key_file_free
    - g_free
    - g_assert_cmpstr
    - g_key_file_remove_key
    - load_data
    - g_key_file_set_integer
    - g_key_file_to_data
    linkageType: ''
    returnType: void
    signature: 'static void test_roundtrip (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_tree_new
      Src: /src/glib/glib/tests/tree.c:336,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/tree.c:341,1
    - Dst: strlen
      Src: /src/glib/glib/tests/tree.c:341,1
    - Dst: g_tree_insert
      Src: /src/glib/glib/tests/tree.c:339,1
    - Dst: g_tree_nnodes
      Src: /src/glib/glib/tests/tree.c:341,1
    - Dst: g_tree_ref
      Src: /src/glib/glib/tests/tree.c:343,1
    - Dst: g_tree_destroy
      Src: /src/glib/glib/tests/tree.c:344,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/tree.c:346,1
    - Dst: g_tree_nnodes
      Src: /src/glib/glib/tests/tree.c:346,1
    - Dst: g_tree_unref
      Src: /src/glib/glib/tests/tree.c:348,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 349
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 349
    functionName: test_tree_destroy
    functionSourceFile: /src/glib/glib/tests/tree.c
    functionUses: []
    functionsReached:
    - g_tree_new
    - g_tree_ref
    - strlen
    - g_tree_destroy
    - g_tree_unref
    - g_tree_insert
    - g_tree_nnodes
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_tree_destroy (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binary_tree_bounds
      Src: /src/glib/glib/tests/tree.c:617,1
    - Dst: binary_tree_bounds
      Src: /src/glib/glib/tests/tree.c:619,1
    - Dst: binary_tree_bounds
      Src: /src/glib/glib/tests/tree.c:620,1
    - Dst: binary_tree_bounds
      Src: /src/glib/glib/tests/tree.c:618,1
    - Dst: binary_tree_bounds
      Src: /src/glib/glib/tests/tree.c:621,1
    - Dst: binary_tree_bounds
      Src: /src/glib/glib/tests/tree.c:622,1
    - Dst: binary_tree_bounds
      Src: /src/glib/glib/tests/tree.c:623,1
    - Dst: binary_tree_bounds
      Src: /src/glib/glib/tests/tree.c:624,1
    - Dst: binary_tree_bounds
      Src: /src/glib/glib/tests/tree.c:625,1
    - Dst: binary_tree_bounds
      Src: /src/glib/glib/tests/tree.c:626,1
    - Dst: binary_tree_bounds
      Src: /src/glib/glib/tests/tree.c:627,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - tree
    - mode
    argTypes:
    - GTree*
    - int
    constantsTouched: []
    func_position:
      end: 628
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 628
    functionName: binary_tree_bounds_test
    functionSourceFile: /src/glib/glib/tests/tree.c
    functionUses: []
    functionsReached:
    - binary_tree_bounds
    linkageType: ''
    returnType: void
    signature: 'static void binary_tree_bounds_test (GTree *tree, int mode) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_queue_push_tail
      Src: /src/glib/glib/tests/tree.c:656,1
    - Dst: g_queue_get_length
      Src: /src/glib/glib/tests/tree.c:664,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/tree.c:669,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/tree.c:681,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/tree.c:684,1
    - Dst: binary_tree_bounds_test
      Src: /src/glib/glib/tests/tree.c:691,1
    - Dst: g_tree_remove
      Src: /src/glib/glib/tests/tree.c:694,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/tree.c:697,1
    - Dst: g_tree_height
      Src: /src/glib/glib/tests/tree.c:698,1
    - Dst: g_tree_foreach
      Src: /src/glib/glib/tests/tree.c:703,1
    - Dst: binary_tree_bounds_test
      Src: /src/glib/glib/tests/tree.c:726,1
    - Dst: g_tree_remove
      Src: /src/glib/glib/tests/tree.c:721,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/tree.c:680,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/tree.c:659,1
    - Dst: g_tree_node_value
      Src: /src/glib/glib/tests/tree.c:674,1
    - Dst: g_tree_node_key
      Src: /src/glib/glib/tests/tree.c:673,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/tree.c:674,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/tree.c:682,1
    - Dst: g_tree_height
      Src: /src/glib/glib/tests/tree.c:682,1
    - Dst: g_tree_foreach
      Src: /src/glib/glib/tests/tree.c:687,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/tree.c:688,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/tree.c:696,1
    - Dst: g_tree_nnodes
      Src: /src/glib/glib/tests/tree.c:696,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/tree.c:704,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/tree.c:714,1
    - Dst: g_tree_remove
      Src: /src/glib/glib/tests/tree.c:710,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/tree.c:672,1
    - Dst: g_tree_height
      Src: /src/glib/glib/tests/tree.c:697,1
    - Dst: g_tree_unref
      Src: /src/glib/glib/tests/tree.c:728,1
    - Dst: g_tree_new
      Src: /src/glib/glib/tests/tree.c:638,1
    - Dst: g_queue_push_tail
      Src: /src/glib/glib/tests/tree.c:644,1
    - Dst: g_queue_push_tail
      Src: /src/glib/glib/tests/tree.c:650,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/tree.c:660,1
    - Dst: g_queue_is_empty
      Src: /src/glib/glib/tests/tree.c:662,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/tree.c:664,1
    - Dst: g_queue_pop_nth
      Src: /src/glib/glib/tests/tree.c:665,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/tree.c:677,1
    - Dst: g_tree_insert_node
      Src: /src/glib/glib/tests/tree.c:671,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/tree.c:673,1
    - Dst: g_tree_height
      Src: /src/glib/glib/tests/tree.c:681,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/tree.c:702,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/tree.c:723,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/tree.c:724,1
    - Dst: g_tree_foreach
      Src: /src/glib/glib/tests/tree.c:715,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/tree.c:668,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/tree.c:678,1
    - Dst: g_tree_nnodes
      Src: /src/glib/glib/tests/tree.c:680,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/tree.c:686,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/tree.c:698,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/tree.c:700,1
    - Dst: binary_tree_bounds_test
      Src: /src/glib/glib/tests/tree.c:707,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/tree.c:712,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/tree.c:716,1
    - Dst: binary_tree_bounds_test
      Src: /src/glib/glib/tests/tree.c:719,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 93
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 729
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 729
    functionName: test_tree_bounds
    functionSourceFile: /src/glib/glib/tests/tree.c
    functionUses: []
    functionsReached:
    - g_tree_new
    - binary_tree_bounds_test
    - g_queue_push_tail
    - g_tree_unref
    - g_queue_get_length
    - g_tree_nnodes
    - g_tree_node_value
    - g_queue_pop_nth
    - g_assert_true
    - g_tree_remove
    - g_assert_nonnull
    - g_tree_foreach
    - g_assert_cmpint
    - g_test_message
    - g_random_int_range
    - g_tree_height
    - g_tree_node_key
    - g_test_verbose
    - g_tree_insert_node
    - g_queue_is_empty
    linkageType: ''
    returnType: void
    signature: 'static void test_tree_bounds (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: my_compare
    functionSourceFile: /src/glib/glib/tests/tree.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint
    signature: 'static gint my_compare (gconstpointer a, gconstpointer b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: my_value_destroy
    functionSourceFile: /src/glib/glib/tests/tree.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void my_value_destroy (gpointer value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: my_compare
      Src: /src/glib/glib/tests/tree.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: my_search
    functionSourceFile: /src/glib/glib/tests/tree.c
    functionUses: []
    functionsReached:
    - my_compare
    linkageType: ''
    returnType: gint
    signature: 'static gint my_search (gconstpointer a, gconstpointer b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/tree.c:121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - key
    - value
    - data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 126
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 126
    functionName: check_order
    functionSourceFile: /src/glib/glib/tests/tree.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    linkageType: ''
    returnType: gint
    signature: 'static gint check_order (gpointer key, gpointer value, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_tree_new_full
      Src: /src/glib/glib/tests/tree.c:245,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/tree.c:254,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/tree.c:262,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/tree.c:268,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/tree.c:274,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/tree.c:270,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/tree.c:284,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/tree.c:290,1
    - Dst: g_tree_insert
      Src: /src/glib/glib/tests/tree.c:250,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/tree.c:261,1
    - Dst: g_tree_steal
      Src: /src/glib/glib/tests/tree.c:281,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/tree.c:269,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/tree.c:276,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/tree.c:298,1
    - Dst: g_tree_replace
      Src: /src/glib/glib/tests/tree.c:260,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/tree.c:282,1
    - Dst: g_tree_replace_node
      Src: /src/glib/glib/tests/tree.c:287,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/tree.c:289,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/tree.c:255,1
    - Dst: g_tree_insert
      Src: /src/glib/glib/tests/tree.c:253,1
    - Dst: g_tree_insert_node
      Src: /src/glib/glib/tests/tree.c:267,1
    - Dst: g_tree_remove
      Src: /src/glib/glib/tests/tree.c:273,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/tree.c:275,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/tree.c:283,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/tree.c:288,1
    - Dst: g_tree_remove
      Src: /src/glib/glib/tests/tree.c:297,1
    - Dst: g_tree_destroy
      Src: /src/glib/glib/tests/tree.c:301,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 60
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 302
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 302
    functionName: test_tree_remove
    functionSourceFile: /src/glib/glib/tests/tree.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_assert_null
    - g_tree_remove
    - g_tree_destroy
    - g_assert_nonnull
    - g_tree_insert_node
    - g_tree_insert
    - g_tree_steal
    - g_tree_new_full
    - g_tree_replace_node
    - g_tree_replace
    linkageType: ''
    returnType: void
    signature: 'static void test_tree_remove (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/tree.c:58,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/tree.c:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - a
    - b
    - user_data
    argTypes:
    - gconstpointer
    - gconstpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 61
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 61
    functionName: my_compare_with_data
    functionSourceFile: /src/glib/glib/tests/tree.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_assert_cmpint
    linkageType: ''
    returnType: gint
    signature: 'static gint my_compare_with_data (gconstpointer a, gconstpointer b,
      gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/tree.c:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - key
    - value
    - data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 102
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 102
    functionName: my_traverse
    functionSourceFile: /src/glib/glib/tests/tree.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    linkageType: ''
    returnType: gint
    signature: 'static gint my_traverse (gpointer key, gpointer value, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/tree.c:137,1
    - Dst: g_tree_foreach
      Src: /src/glib/glib/tests/tree.c:142,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/tree.c:144,1
    - Dst: g_tree_insert
      Src: /src/glib/glib/tests/tree.c:140,1
    - Dst: strlen
      Src: /src/glib/glib/tests/tree.c:144,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/tree.c:153,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/tree.c:163,1
    - Dst: g_tree_height
      Src: /src/glib/glib/tests/tree.c:163,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/tree.c:194,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/tree.c:206,1
    - Dst: g_tree_search
      Src: /src/glib/glib/tests/tree.c:221,1
    - Dst: g_tree_search
      Src: /src/glib/glib/tests/tree.c:217,1
    - Dst: g_tree_search
      Src: /src/glib/glib/tests/tree.c:225,1
    - Dst: g_tree_lookup
      Src: /src/glib/glib/tests/tree.c:193,1
    - Dst: g_tree_destroy
      Src: /src/glib/glib/tests/tree.c:232,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/tree.c:145,1
    - Dst: strlen
      Src: /src/glib/glib/tests/tree.c:162,1
    - Dst: g_tree_foreach
      Src: /src/glib/glib/tests/tree.c:172,1
    - Dst: g_tree_lookup
      Src: /src/glib/glib/tests/tree.c:175,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/tree.c:176,1
    - Dst: g_tree_lookup_extended
      Src: /src/glib/glib/tests/tree.c:177,1
    - Dst: g_tree_lookup
      Src: /src/glib/glib/tests/tree.c:201,1
    - Dst: g_tree_search
      Src: /src/glib/glib/tests/tree.c:209,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/tree.c:214,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/tree.c:218,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/tree.c:202,1
    - Dst: g_tree_new_with_data
      Src: /src/glib/glib/tests/tree.c:137,1
    - Dst: g_tree_foreach
      Src: /src/glib/glib/tests/tree.c:148,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/tree.c:162,1
    - Dst: g_tree_foreach
      Src: /src/glib/glib/tests/tree.c:160,1
    - Dst: g_tree_nnodes
      Src: /src/glib/glib/tests/tree.c:162,1
    - Dst: g_tree_remove
      Src: /src/glib/glib/tests/tree.c:152,1
    - Dst: g_tree_foreach
      Src: /src/glib/glib/tests/tree.c:166,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/tree.c:178,1
    - Dst: g_tree_lookup
      Src: /src/glib/glib/tests/tree.c:185,1
    - Dst: g_tree_lookup
      Src: /src/glib/glib/tests/tree.c:189,1
    - Dst: g_tree_search
      Src: /src/glib/glib/tests/tree.c:213,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/tree.c:226,1
    - Dst: g_tree_lookup
      Src: /src/glib/glib/tests/tree.c:197,1
    - Dst: g_tree_search
      Src: /src/glib/glib/tests/tree.c:205,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/tree.c:230,1
    - Dst: g_tree_nnodes
      Src: /src/glib/glib/tests/tree.c:144,1
    - Dst: g_tree_height
      Src: /src/glib/glib/tests/tree.c:145,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/tree.c:158,1
    - Dst: g_tree_remove
      Src: /src/glib/glib/tests/tree.c:157,1
    - Dst: g_tree_insert
      Src: /src/glib/glib/tests/tree.c:169,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/tree.c:177,1
    - Dst: g_tree_lookup
      Src: /src/glib/glib/tests/tree.c:181,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/tree.c:182,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/tree.c:186,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/tree.c:190,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/tree.c:210,1
    - Dst: g_tree_search
      Src: /src/glib/glib/tests/tree.c:229,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/tree.c:222,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/tree.c:198,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 119
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 233
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 233
    functionName: test_tree_search
    functionSourceFile: /src/glib/glib/tests/tree.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - strlen
    - g_assert_null
    - g_tree_remove
    - g_tree_destroy
    - g_tree_foreach
    - g_tree_lookup
    - g_tree_new_with_data
    - g_tree_insert
    - g_assert_false
    - g_tree_search
    - GINT_TO_POINTER
    - g_tree_nnodes
    - g_tree_height
    - g_tree_lookup_extended
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_tree_search (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_tree_new_full
      Src: /src/glib/glib/tests/tree.c:310,1
    - Dst: strlen
      Src: /src/glib/glib/tests/tree.c:322,1
    - Dst: g_tree_insert
      Src: /src/glib/glib/tests/tree.c:315,1
    - Dst: g_tree_remove_all
      Src: /src/glib/glib/tests/tree.c:320,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/tree.c:322,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/tree.c:323,1
    - Dst: strlen
      Src: /src/glib/glib/tests/tree.c:323,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/tree.c:324,1
    - Dst: g_tree_height
      Src: /src/glib/glib/tests/tree.c:324,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/tree.c:325,1
    - Dst: g_tree_nnodes
      Src: /src/glib/glib/tests/tree.c:325,1
    - Dst: g_tree_unref
      Src: /src/glib/glib/tests/tree.c:327,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 328
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 328
    functionName: test_tree_remove_all
    functionSourceFile: /src/glib/glib/tests/tree.c
    functionUses: []
    functionsReached:
    - g_tree_remove_all
    - strlen
    - g_assert_cmpuint
    - g_tree_unref
    - g_tree_insert
    - g_tree_new_full
    - g_tree_nnodes
    - g_tree_height
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_tree_remove_all (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_string_append_c
      Src: /src/glib/glib/tests/tree.c:362,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - key
    - value
    - data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 370
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 370
    functionName: traverse_func
    functionSourceFile: /src/glib/glib/tests/tree.c
    functionUses: []
    functionsReached:
    - g_string_append_c
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean traverse_func (gpointer key, gpointer value, gpointer
      data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_tree_new
      Src: /src/glib/glib/tests/tree.c:434,1
    - Dst: g_tree_insert
      Src: /src/glib/glib/tests/tree.c:437,1
    - Dst: g_string_new
      Src: /src/glib/glib/tests/tree.c:439,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/tree.c:440,1
    - Dst: g_string_set_size
      Src: /src/glib/glib/tests/tree.c:442,1
    - Dst: g_tree_traverse
      Src: /src/glib/glib/tests/tree.c:444,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/tree.c:445,1
    - Dst: g_tree_unref
      Src: /src/glib/glib/tests/tree.c:448,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/tree.c:449,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 450
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 450
    functionName: test_tree_traverse
    functionSourceFile: /src/glib/glib/tests/tree.c
    functionUses: []
    functionsReached:
    - g_tree_new
    - g_tree_traverse
    - G_N_ELEMENTS
    - g_tree_unref
    - g_assert_cmpstr
    - g_tree_insert
    - g_string_free
    - g_string_new
    - g_string_set_size
    linkageType: ''
    returnType: void
    signature: 'static void test_tree_traverse (void) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: g_test_message
      Src: /src/glib/glib/tests/tree.c:515,1
    - Dst: g_tree_upper_bound
      Src: /src/glib/glib/tests/tree.c:512,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/tree.c:522,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/tree.c:528,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/tree.c:529,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/tree.c:530,1
    - Dst: g_tree_node_key
      Src: /src/glib/glib/tests/tree.c:552,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/tree.c:556,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/tree.c:570,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/tree.c:576,1
    - Dst: g_tree_node_last
      Src: /src/glib/glib/tests/tree.c:526,1
    - Dst: g_tree_node_first
      Src: /src/glib/glib/tests/tree.c:537,1
    - Dst: g_tree_node_next
      Src: /src/glib/glib/tests/tree.c:540,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/tree.c:543,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/tree.c:545,1
    - Dst: g_tree_node_key
      Src: /src/glib/glib/tests/tree.c:546,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/tree.c:552,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/tree.c:565,1
    - Dst: g_tree_node_key
      Src: /src/glib/glib/tests/tree.c:565,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/tree.c:575,1
    - Dst: g_tree_lower_bound
      Src: /src/glib/glib/tests/tree.c:510,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/tree.c:514,1
    - Dst: g_tree_nnodes
      Src: /src/glib/glib/tests/tree.c:519,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/tree.c:533,1
    - Dst: g_tree_node_key
      Src: /src/glib/glib/tests/tree.c:531,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/tree.c:546,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/tree.c:550,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/tree.c:551,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/tree.c:557,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/tree.c:563,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/tree.c:521,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/tree.c:542,1
    - Dst: g_tree_node_previous
      Src: /src/glib/glib/tests/tree.c:539,1
    - Dst: g_tree_node_last
      Src: /src/glib/glib/tests/tree.c:538,1
    - Dst: g_tree_node_key
      Src: /src/glib/glib/tests/tree.c:543,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/tree.c:558,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/tree.c:564,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/tree.c:569,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/tree.c:571,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 55
    argCount: 4
    argNames:
    - tree
    - c
    - expected
    - lower
    argTypes:
    - GTree*
    - char
    - char
    - int
    constantsTouched: []
    func_position:
      end: 577
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 577
    functionName: binary_tree_bound
    functionSourceFile: /src/glib/glib/tests/tree.c
    functionUses: []
    functionsReached:
    - g_tree_node_key
    - g_tree_upper_bound
    - g_assert_null
    - g_tree_lower_bound
    - g_test_verbose
    - g_test_message
    - g_tree_node_last
    - g_assert_nonnull
    - g_tree_node_next
    - g_tree_node_first
    - g_tree_nnodes
    - g_tree_node_previous
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void binary_tree_bound (GTree *tree, char c, char expected,
      int lower) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: my_key_destroy
    functionSourceFile: /src/glib/glib/tests/tree.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void my_key_destroy (gpointer key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_tree_insert
      Src: /src/glib/glib/tests/tree.c:463,1
    - Dst: g_tree_new
      Src: /src/glib/glib/tests/tree.c:468,1
    - Dst: g_tree_insert
      Src: /src/glib/glib/tests/tree.c:471,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/tree.c:485,1
    - Dst: g_tree_foreach
      Src: /src/glib/glib/tests/tree.c:495,1
    - Dst: g_tree_new
      Src: /src/glib/glib/tests/tree.c:460,1
    - Dst: g_tree_unref
      Src: /src/glib/glib/tests/tree.c:475,1
    - Dst: g_tree_new
      Src: /src/glib/glib/tests/tree.c:476,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/tree.c:486,1
    - Dst: g_tree_unref
      Src: /src/glib/glib/tests/tree.c:498,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/tree.c:478,1
    - Dst: g_tree_foreach
      Src: /src/glib/glib/tests/tree.c:473,1
    - Dst: g_free
      Src: /src/glib/glib/tests/tree.c:497,1
    - Dst: strlen
      Src: /src/glib/glib/tests/tree.c:486,1
    - Dst: g_tree_foreach
      Src: /src/glib/glib/tests/tree.c:465,1
    - Dst: g_tree_unref
      Src: /src/glib/glib/tests/tree.c:467,1
    - Dst: strlen
      Src: /src/glib/glib/tests/tree.c:470,1
    - Dst: strlen
      Src: /src/glib/glib/tests/tree.c:485,1
    - Dst: g_tree_insert
      Src: /src/glib/glib/tests/tree.c:493,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 499
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 499
    functionName: test_tree_insert
    functionSourceFile: /src/glib/glib/tests/tree.c
    functionUses: []
    functionsReached:
    - g_tree_new
    - g_strdup
    - strlen
    - g_tree_unref
    - g_tree_foreach
    - g_tree_insert
    - g_random_int_range
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_tree_insert (void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/tree.c:587,1
    - Dst: binary_tree_bound
      Src: /src/glib/glib/tests/tree.c:609,1
    - Dst: binary_tree_bound
      Src: /src/glib/glib/tests/tree.c:610,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - tree
    - c
    - mode
    argTypes:
    - GTree*
    - char
    - int
    constantsTouched: []
    func_position:
      end: 611
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 611
    functionName: binary_tree_bounds
    functionSourceFile: /src/glib/glib/tests/tree.c
    functionUses: []
    functionsReached:
    - binary_tree_bound
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: 'static void binary_tree_bounds (GTree *tree, char c, int mode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/tree.c:734,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/tree.c:736,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/tree.c:738,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/tree.c:737,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/tree.c:739,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/tree.c:740,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/tree.c:741,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/tree.c:742,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/tree.c:744,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 745
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 745
    functionName: main
    functionSourceFile: /src/glib/glib/tests/tree.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/once.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: do_once
    functionSourceFile: /src/glib/glib/tests/once.c
    functionUses: []
    functionsReached:
    - GINT_TO_POINTER
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer do_once (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/tests/once.c:87,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/once.c:99,1
    - Dst: g_cond_wait
      Src: /src/glib/glib/tests/once.c:98,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/tests/once.c:92,1
    - Dst: g_cond_broadcast
      Src: /src/glib/glib/tests/once.c:95,1
    - Dst: g_once
      Src: /src/glib/glib/tests/once.c:102,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/once.c:103,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/once.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 106
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 106
    functionName: once_thread_func
    functionSourceFile: /src/glib/glib/tests/once.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_mutex_unlock
    - g_cond_broadcast
    - g_mutex_lock
    - GPOINTER_TO_UINT
    - g_once
    - g_cond_wait
    - g_assert_cmpint
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer once_thread_func (gpointer data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/once.c:135,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/once.c:143,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/once.c:139,1
    - Dst: g_once_init_enter
      Src: /src/glib/glib/tests/once.c:137,1
    - Dst: g_once_init_leave
      Src: /src/glib/glib/tests/once.c:140,1
    - Dst: g_once_init_enter
      Src: /src/glib/glib/tests/once.c:144,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/once.c:146,1
    - Dst: g_once_init_leave
      Src: /src/glib/glib/tests/once.c:147,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/once.c:149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 150
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 150
    functionName: test_once_init_single_threaded
    functionSourceFile: /src/glib/glib/tests/once.c
    functionUses: []
    functionsReached:
    - g_once_init_leave
    - g_test_summary
    - g_assert
    - g_once_init_enter
    - g_assert_not_reached
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_once_init_single_threaded (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/glib/tests/once.c:159,1
    - Dst: g_once_init_leave
      Src: /src/glib/glib/tests/once.c:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 165
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 165
    functionName: init_shared
    functionSourceFile: /src/glib/glib/tests/once.c
    functionUses: []
    functionsReached:
    - g_once_init_leave
    - g_once_init_enter
    linkageType: ''
    returnType: void
    signature: 'static void init_shared (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/once.c:181,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/once.c:188,1
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/once.c:186,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/once.c:185,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/once.c:189,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/once.c:191,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 192
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 192
    functionName: test_once_init_multi_threaded
    functionSourceFile: /src/glib/glib/tests/once.c
    functionUses: []
    functionsReached:
    - g_test_summary
    - G_N_ELEMENTS
    - g_thread_new
    - g_thread_join
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_once_init_multi_threaded (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/once.c:50,1
    - Dst: g_once
      Src: /src/glib/glib/tests/once.c:54,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/once.c:55,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/once.c:52,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/once.c:55,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/once.c:57,1
    - Dst: g_once
      Src: /src/glib/glib/tests/once.c:59,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/once.c:60,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/once.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 61
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 61
    functionName: test_once_single_threaded
    functionSourceFile: /src/glib/glib/tests/once.c
    functionUses: []
    functionsReached:
    - g_once
    - GPOINTER_TO_INT
    - g_test_summary
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_once_single_threaded (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_add
      Src: /src/glib/glib/tests/once.c:78,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/once.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 81
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 81
    functionName: do_once_multi_threaded
    functionSourceFile: /src/glib/glib/tests/once.c
    functionUses: []
    functionsReached:
    - g_atomic_int_add
    - GINT_TO_POINTER
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer do_once_multi_threaded (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/once.c:114,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/once.c:119,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/once.c:116,1
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/once.c:117,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/once.c:119,1
    - Dst: g_cond_broadcast
      Src: /src/glib/glib/tests/once.c:122,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/once.c:124,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/once.c:125,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/once.c:127,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/once.c:127,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 128
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 128
    functionName: test_once_multi_threaded
    functionSourceFile: /src/glib/glib/tests/once.c
    functionUses: []
    functionsReached:
    - g_test_summary
    - g_cond_broadcast
    - g_atomic_int_get
    - G_N_ELEMENTS
    - GUINT_TO_POINTER
    - g_thread_new
    - g_thread_join
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_once_multi_threaded (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init_shared
      Src: /src/glib/glib/tests/once.c:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 173
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 173
    functionName: thread_func
    functionSourceFile: /src/glib/glib/tests/once.c
    functionUses: []
    functionsReached:
    - init_shared
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer thread_func (gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/once.c:199,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/once.c:204,1
    - Dst: g_once_init_enter_pointer
      Src: /src/glib/glib/tests/once.c:201,1
    - Dst: g_once_init_leave_pointer
      Src: /src/glib/glib/tests/once.c:202,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 205
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 205
    functionName: test_once_init_string
    functionSourceFile: /src/glib/glib/tests/once.c
    functionUses: []
    functionsReached:
    - g_once_init_leave_pointer
    - g_test_summary
    - g_once_init_enter_pointer
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void test_once_init_string (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/once.c:210,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/once.c:212,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/once.c:215,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/once.c:213,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/once.c:214,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/once.c:216,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/once.c:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 219
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 219
    functionName: main
    functionSourceFile: /src/glib/glib/tests/once.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/glib/tests/thread-pool.c:38,1
    - Dst: g_cond_signal
      Src: /src/glib/glib/tests/thread-pool.c:42,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/thread-pool.c:40,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/thread-pool.c:39,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/thread-pool.c:40,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/thread-pool.c:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - data
    - user_data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 44
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 44
    functionName: pool_func
    functionSourceFile: /src/glib/glib/tests/thread-pool.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_mutex_unlock
    - g_mutex_lock
    - GUINT_TO_POINTER
    - g_cond_signal
    - g_assert_false
    linkageType: ''
    returnType: void
    signature: 'static void pool_func (gpointer data, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/thread-pool.c:88,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/thread-pool.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - data
    - user_data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: dummy_pool_func
    functionSourceFile: /src/glib/glib/tests/thread-pool.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - GUINT_TO_POINTER
    linkageType: ''
    returnType: void
    signature: 'static void dummy_pool_func (gpointer data, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/tests/thread-pool.c:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 180
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 180
    functionName: free_func
    functionSourceFile: /src/glib/glib/tests/thread-pool.c
    functionUses: []
    functionsReached:
    - g_atomic_int_inc
    linkageType: ''
    returnType: void
    signature: 'static void free_func (gpointer user_data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/thread-pool.c:110,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/thread-pool.c:112,1
    - Dst: g_thread_pool_new
      Src: /src/glib/glib/tests/thread-pool.c:120,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/thread-pool.c:123,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/thread-pool.c:127,1
    - Dst: g_thread_pool_push
      Src: /src/glib/glib/tests/thread-pool.c:139,1
    - Dst: g_thread_pool_free
      Src: /src/glib/glib/tests/thread-pool.c:143,1
    - Dst: g_thread_pool_set_max_unused_threads
      Src: /src/glib/glib/tests/thread-pool.c:117,1
    - Dst: g_thread_pool_new
      Src: /src/glib/glib/tests/thread-pool.c:122,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/thread-pool.c:124,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/thread-pool.c:128,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/thread-pool.c:132,1
    - Dst: g_thread_pool_free
      Src: /src/glib/glib/tests/thread-pool.c:130,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/thread-pool.c:136,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/thread-pool.c:140,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/thread-pool.c:98,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/thread-pool.c:101,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/thread-pool.c:106,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/thread-pool.c:113,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/thread-pool.c:119,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/thread-pool.c:126,1
    - Dst: g_thread_pool_new
      Src: /src/glib/glib/tests/thread-pool.c:135,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/thread-pool.c:137,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/thread-pool.c:141,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/thread-pool.c:99,1
    - Dst: g_thread_pool_push
      Src: /src/glib/glib/tests/thread-pool.c:126,1
    - Dst: g_thread_pool_new
      Src: /src/glib/glib/tests/thread-pool.c:133,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/thread-pool.c:139,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 1
    argNames:
    - shared_first
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 144
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 144
    functionName: test_create_first_pool
    functionSourceFile: /src/glib/glib/tests/thread-pool.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_passed
    - GPOINTER_TO_INT
    - g_thread_pool_set_max_unused_threads
    - g_test_summary
    - g_thread_pool_push
    - g_assert_true
    - g_assert_nonnull
    - GUINT_TO_POINTER
    - g_test_bug
    - g_assert_no_error
    - g_thread_pool_free
    - g_test_trap_subprocess
    - g_thread_pool_new
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_create_first_pool (gconstpointer shared_first) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/tests/thread-pool.c:163,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/tests/thread-pool.c:171,1
    - Dst: g_cond_wait
      Src: /src/glib/glib/tests/thread-pool.c:168,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/thread-pool.c:169,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/tests/thread-pool.c:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - data
    - user_data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 172
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 172
    functionName: full_thread_func
    functionSourceFile: /src/glib/glib/tests/thread-pool.c
    functionUses: []
    functionsReached:
    - g_atomic_int_inc
    - g_cond_wait
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void full_thread_func (gpointer data, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_init
      Src: /src/glib/glib/tests/thread-pool.c:54,1
    - Dst: g_cond_init
      Src: /src/glib/glib/tests/thread-pool.c:55,1
    - Dst: g_thread_pool_new
      Src: /src/glib/glib/tests/thread-pool.c:61,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/thread-pool.c:59,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/thread-pool.c:57,1
    - Dst: g_test_summary
      Src: /src/glib/glib/tests/thread-pool.c:65,1
    - Dst: g_thread_pool_new
      Src: /src/glib/glib/tests/thread-pool.c:66,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/thread-pool.c:68,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/thread-pool.c:69,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/tests/thread-pool.c:71,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/thread-pool.c:75,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/thread-pool.c:80,1
    - Dst: g_thread_pool_free
      Src: /src/glib/glib/tests/thread-pool.c:82,1
    - Dst: g_thread_pool_push
      Src: /src/glib/glib/tests/thread-pool.c:74,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/thread-pool.c:76,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/thread-pool.c:74,1
    - Dst: g_cond_wait
      Src: /src/glib/glib/tests/thread-pool.c:79,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - shared
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 83
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 83
    functionName: test_simple
    functionSourceFile: /src/glib/glib/tests/thread-pool.c
    functionUses: []
    functionsReached:
    - g_mutex_init
    - GPOINTER_TO_INT
    - g_test_summary
    - g_thread_pool_push
    - g_assert_true
    - g_cond_init
    - g_mutex_lock
    - g_mutex_unlock
    - g_assert_nonnull
    - GUINT_TO_POINTER
    - g_assert_no_error
    - g_thread_pool_free
    - g_thread_pool_new
    - g_cond_wait
    linkageType: ''
    returnType: void
    signature: 'static void test_simple (gconstpointer shared) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/thread-pool.c:222,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/thread-pool.c:226,1
    - Dst: g_cond_signal
      Src: /src/glib/glib/tests/thread-pool.c:241,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/thread-pool.c:242,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/thread-pool.c:245,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/thread-pool.c:246,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/thread-pool.c:250,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/thread-pool.c:187,1
    - Dst: g_mutex_init
      Src: /src/glib/glib/tests/thread-pool.c:200,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/thread-pool.c:212,1
    - Dst: g_thread_pool_push
      Src: /src/glib/glib/tests/thread-pool.c:220,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/thread-pool.c:234,1
    - Dst: g_thread_pool_set_max_unused_threads
      Src: /src/glib/glib/tests/thread-pool.c:189,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/thread-pool.c:213,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/tests/thread-pool.c:239,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/thread-pool.c:236,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/thread-pool.c:235,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/thread-pool.c:234,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/thread-pool.c:248,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/thread-pool.c:249,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/thread-pool.c:249,1
    - Dst: g_cond_init
      Src: /src/glib/glib/tests/thread-pool.c:201,1
    - Dst: g_thread_pool_new_full
      Src: /src/glib/glib/tests/thread-pool.c:209,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/thread-pool.c:221,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/thread-pool.c:236,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/thread-pool.c:235,1
    - Dst: g_thread_pool_free
      Src: /src/glib/glib/tests/thread-pool.c:232,1
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/thread-pool.c:248,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/thread-pool.c:250,1
    - Dst: g_cond_clear
      Src: /src/glib/glib/tests/thread-pool.c:252,1
    - Dst: g_mutex_clear
      Src: /src/glib/glib/tests/thread-pool.c:253,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 50
    argCount: 1
    argNames:
    - shared_first
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 255
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 255
    functionName: test_thread_pool_full
    functionSourceFile: /src/glib/glib/tests/thread-pool.c
    functionUses: []
    functionsReached:
    - g_mutex_init
    - g_thread_pool_set_max_unused_threads
    - g_thread_pool_push
    - g_assert_true
    - g_atomic_int_get
    - g_thread_pool_new_full
    - g_cond_init
    - g_mutex_lock
    - g_mutex_unlock
    - g_assert_nonnull
    - g_assert_cmpuint
    - g_test_bug
    - g_mutex_clear
    - g_cond_signal
    - g_assert_no_error
    - g_thread_pool_free
    - g_cond_clear
    linkageType: ''
    returnType: void
    signature: 'static void test_thread_pool_full (gconstpointer shared_first) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/thread-pool.c:260,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/thread-pool.c:263,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/thread-pool.c:262,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/thread-pool.c:263,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/thread-pool.c:262,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/thread-pool.c:264,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/thread-pool.c:264,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/thread-pool.c:265,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/thread-pool.c:266,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/thread-pool.c:266,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/thread-pool.c:268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 269
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 269
    functionName: main
    functionSourceFile: /src/glib/glib/tests/thread-pool.c
    functionUses: []
    functionsReached:
    - g_test_run
    - g_test_init
    - g_test_add_data_func
    - GINT_TO_POINTER
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mapped_file_new
      Src: /src/glib/glib/tests/mappedfile.c:41,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/mappedfile.c:42,1
    - Dst: g_test_get_filename
      Src: /src/glib/glib/tests/mappedfile.c:41,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/mappedfile.c:44,1
    - Dst: g_mapped_file_get_contents
      Src: /src/glib/glib/tests/mappedfile.c:44,1
    - Dst: g_mapped_file_free
      Src: /src/glib/glib/tests/mappedfile.c:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 47
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 47
    functionName: test_empty
    functionSourceFile: /src/glib/glib/tests/mappedfile.c
    functionUses: []
    functionsReached:
    - g_assert_null
    - g_mapped_file_free
    - g_test_get_filename
    - g_mapped_file_new
    - g_mapped_file_get_contents
    - g_assert_no_error
    linkageType: ''
    returnType: void
    signature: 'static void test_empty (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mapped_file_new
      Src: /src/glib/glib/tests/mappedfile.c:56,1
    - Dst: g_error_matches
      Src: /src/glib/glib/tests/mappedfile.c:59,1
    - Dst: g_error_matches
      Src: /src/glib/glib/tests/mappedfile.c:57,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mappedfile.c:57,1
    - Dst: g_error_matches
      Src: /src/glib/glib/tests/mappedfile.c:58,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/mappedfile.c:60,1
    - Dst: g_error_free
      Src: /src/glib/glib/tests/mappedfile.c:61,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: test_device
    functionSourceFile: /src/glib/glib/tests/mappedfile.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_assert_null
    - g_error_matches
    - g_mapped_file_new
    - g_error_free
    linkageType: ''
    returnType: void
    signature: 'static void test_device (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mapped_file_new
      Src: /src/glib/glib/tests/mappedfile.c:72,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/mappedfile.c:75,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/mappedfile.c:73,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/mappedfile.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 76
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 76
    functionName: test_nonexisting
    functionSourceFile: /src/glib/glib/tests/mappedfile.c
    functionUses: []
    functionsReached:
    - g_mapped_file_new
    - g_assert_null
    - g_clear_error
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_nonexisting (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/mappedfile.c:133,1
    - Dst: g_get_tmp_dir
      Src: /src/glib/glib/tests/mappedfile.c:133,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mappedfile.c:143,1
    - Dst: memcpy
      Src: /src/glib/glib/tests/mappedfile.c:150,1
    - Dst: strlen
      Src: /src/glib/glib/tests/mappedfile.c:150,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/mappedfile.c:145,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/mappedfile.c:148,1
    - Dst: strlen
      Src: /src/glib/glib/tests/mappedfile.c:151,1
    - Dst: g_mapped_file_get_contents
      Src: /src/glib/glib/tests/mappedfile.c:162,1
    - Dst: strncmp
      Src: /src/glib/glib/tests/mappedfile.c:163,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/mappedfile.c:136,1
    - Dst: g_test_get_filename
      Src: /src/glib/glib/tests/mappedfile.c:135,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/tests/mappedfile.c:135,1
    - Dst: g_file_set_contents
      Src: /src/glib/glib/tests/mappedfile.c:137,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/mappedfile.c:151,1
    - Dst: strncmp
      Src: /src/glib/glib/tests/mappedfile.c:151,1
    - Dst: close
      Src: /src/glib/glib/tests/mappedfile.c:154,1
    - Dst: g_open
      Src: /src/glib/glib/tests/mappedfile.c:157,1
    - Dst: g_mapped_file_new_from_fd
      Src: /src/glib/glib/tests/mappedfile.c:159,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/mappedfile.c:160,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/mappedfile.c:138,1
    - Dst: g_free
      Src: /src/glib/glib/tests/mappedfile.c:140,1
    - Dst: g_open
      Src: /src/glib/glib/tests/mappedfile.c:142,1
    - Dst: g_mapped_file_new_from_fd
      Src: /src/glib/glib/tests/mappedfile.c:144,1
    - Dst: strncmp
      Src: /src/glib/glib/tests/mappedfile.c:148,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mappedfile.c:158,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/mappedfile.c:163,1
    - Dst: strlen
      Src: /src/glib/glib/tests/mappedfile.c:163,1
    - Dst: g_mapped_file_get_contents
      Src: /src/glib/glib/tests/mappedfile.c:147,1
    - Dst: strlen
      Src: /src/glib/glib/tests/mappedfile.c:148,1
    - Dst: g_mapped_file_free
      Src: /src/glib/glib/tests/mappedfile.c:153,1
    - Dst: g_free
      Src: /src/glib/glib/tests/mappedfile.c:167,1
    - Dst: g_mapped_file_free
      Src: /src/glib/glib/tests/mappedfile.c:165,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 44
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 168
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 168
    functionName: test_writable_fd
    functionSourceFile: /src/glib/glib/tests/mappedfile.c
    functionUses: []
    functionsReached:
    - memcpy
    - strlen
    - g_mapped_file_free
    - g_test_get_filename
    - g_file_set_contents
    - g_assert_cmpuint
    - g_assert_no_error
    - g_mapped_file_get_contents
    - strncmp
    - g_file_get_contents
    - g_get_tmp_dir
    - g_build_filename
    - close
    - g_mapped_file_new_from_fd
    - g_open
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_writable_fd (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mapped_file_new
      Src: /src/glib/glib/tests/mappedfile.c:25,1
    - Dst: g_test_get_filename
      Src: /src/glib/glib/tests/mappedfile.c:25,1
    - Dst: g_mapped_file_ref
      Src: /src/glib/glib/tests/mappedfile.c:28,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/mappedfile.c:26,1
    - Dst: g_mapped_file_unref
      Src: /src/glib/glib/tests/mappedfile.c:29,1
    - Dst: g_mapped_file_unref
      Src: /src/glib/glib/tests/mappedfile.c:31,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 32
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 32
    functionName: test_basic
    functionSourceFile: /src/glib/glib/tests/mappedfile.c
    functionUses: []
    functionsReached:
    - g_test_get_filename
    - g_mapped_file_new
    - g_assert_no_error
    - g_mapped_file_ref
    - g_mapped_file_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_basic (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_tmp_dir
      Src: /src/glib/glib/tests/mappedfile.c:89,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/mappedfile.c:99,1
    - Dst: memcpy
      Src: /src/glib/glib/tests/mappedfile.c:104,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/mappedfile.c:105,1
    - Dst: strlen
      Src: /src/glib/glib/tests/mappedfile.c:105,1
    - Dst: g_mapped_file_new
      Src: /src/glib/glib/tests/mappedfile.c:110,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/mappedfile.c:111,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/mappedfile.c:92,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/mappedfile.c:94,1
    - Dst: strlen
      Src: /src/glib/glib/tests/mappedfile.c:104,1
    - Dst: strncmp
      Src: /src/glib/glib/tests/mappedfile.c:105,1
    - Dst: g_test_get_filename
      Src: /src/glib/glib/tests/mappedfile.c:91,1
    - Dst: g_free
      Src: /src/glib/glib/tests/mappedfile.c:96,1
    - Dst: strncmp
      Src: /src/glib/glib/tests/mappedfile.c:102,1
    - Dst: g_mapped_file_get_contents
      Src: /src/glib/glib/tests/mappedfile.c:101,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/mappedfile.c:114,1
    - Dst: strlen
      Src: /src/glib/glib/tests/mappedfile.c:114,1
    - Dst: g_free
      Src: /src/glib/glib/tests/mappedfile.c:118,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/mappedfile.c:89,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/tests/mappedfile.c:91,1
    - Dst: g_file_set_contents
      Src: /src/glib/glib/tests/mappedfile.c:93,1
    - Dst: g_mapped_file_new
      Src: /src/glib/glib/tests/mappedfile.c:98,1
    - Dst: strlen
      Src: /src/glib/glib/tests/mappedfile.c:102,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/mappedfile.c:102,1
    - Dst: g_mapped_file_free
      Src: /src/glib/glib/tests/mappedfile.c:107,1
    - Dst: g_mapped_file_get_contents
      Src: /src/glib/glib/tests/mappedfile.c:113,1
    - Dst: strncmp
      Src: /src/glib/glib/tests/mappedfile.c:114,1
    - Dst: g_mapped_file_free
      Src: /src/glib/glib/tests/mappedfile.c:116,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 119
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 119
    functionName: test_writable
    functionSourceFile: /src/glib/glib/tests/mappedfile.c
    functionUses: []
    functionsReached:
    - memcpy
    - strlen
    - g_mapped_file_free
    - g_test_get_filename
    - g_file_set_contents
    - g_assert_cmpuint
    - g_assert_no_error
    - g_mapped_file_new
    - g_mapped_file_get_contents
    - g_file_get_contents
    - g_get_tmp_dir
    - g_build_filename
    - strncmp
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_writable (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mapped_file_new
      Src: /src/glib/glib/tests/mappedfile.c:178,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/mappedfile.c:179,1
    - Dst: g_mapped_file_get_bytes
      Src: /src/glib/glib/tests/mappedfile.c:181,1
    - Dst: g_mapped_file_unref
      Src: /src/glib/glib/tests/mappedfile.c:182,1
    - Dst: g_test_get_filename
      Src: /src/glib/glib/tests/mappedfile.c:178,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mappedfile.c:184,1
    - Dst: g_bytes_get_size
      Src: /src/glib/glib/tests/mappedfile.c:184,1
    - Dst: g_bytes_unref
      Src: /src/glib/glib/tests/mappedfile.c:185,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 186
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 186
    functionName: test_gbytes
    functionSourceFile: /src/glib/glib/tests/mappedfile.c
    functionUses: []
    functionsReached:
    - g_test_get_filename
    - g_bytes_unref
    - g_mapped_file_new
    - g_assert_no_error
    - g_bytes_get_size
    - g_mapped_file_get_bytes
    - g_mapped_file_unref
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_gbytes (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/mappedfile.c:191,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mappedfile.c:196,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mappedfile.c:198,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mappedfile.c:193,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mappedfile.c:194,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mappedfile.c:199,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mappedfile.c:200,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mappedfile.c:201,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/mappedfile.c:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 204
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 204
    functionName: main
    functionSourceFile: /src/glib/glib/tests/mappedfile.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/refcount.c:86,1
    - Dst: g_ref_count_inc
      Src: /src/glib/glib/tests/refcount.c:96,1
    - Dst: g_ref_count_inc
      Src: /src/glib/glib/tests/refcount.c:93,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/refcount.c:94,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/refcount.c:97,1
    - Dst: exit
      Src: /src/glib/glib/tests/refcount.c:99,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/refcount.c:102,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/refcount.c:106,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/refcount.c:112,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/refcount.c:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 115
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 115
    functionName: test_grefcount_saturation
    functionSourceFile: /src/glib/glib/tests/refcount.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_passed
    - g_test_trap_assert_failed
    - g_assert_true
    - g_ref_count_inc
    - g_test_trap_assert_stderr
    - g_test_trap_subprocess
    - g_test_subprocess
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void test_grefcount_saturation (void) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_test_message
      Src: /src/glib/glib/tests/refcount.c:126,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/refcount.c:131,1
    - Dst: g_atomic_ref_count_compare
      Src: /src/glib/glib/tests/refcount.c:133,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/refcount.c:139,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/refcount.c:134,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/refcount.c:143,1
    - Dst: g_atomic_ref_count_dec
      Src: /src/glib/glib/tests/refcount.c:149,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/refcount.c:153,1
    - Dst: g_atomic_ref_count_dec
      Src: /src/glib/glib/tests/refcount.c:154,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/refcount.c:158,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/refcount.c:169,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/refcount.c:127,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/refcount.c:125,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/refcount.c:152,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/refcount.c:157,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/refcount.c:167,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/refcount.c:164,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/refcount.c:168,1
    - Dst: g_atomic_ref_count_inc
      Src: /src/glib/glib/tests/refcount.c:130,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/refcount.c:133,1
    - Dst: g_atomic_ref_count_compare
      Src: /src/glib/glib/tests/refcount.c:134,1
    - Dst: g_atomic_ref_count_inc
      Src: /src/glib/glib/tests/refcount.c:142,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/refcount.c:148,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/refcount.c:149,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/refcount.c:154,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/refcount.c:159,1
    - Dst: g_atomic_ref_count_dec
      Src: /src/glib/glib/tests/refcount.c:159,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/refcount.c:163,1
    - Dst: g_atomic_ref_count_dec
      Src: /src/glib/glib/tests/refcount.c:169,1
    - Dst: g_atomic_ref_count_init
      Src: /src/glib/glib/tests/refcount.c:124,1
    - Dst: g_atomic_ref_count_compare
      Src: /src/glib/glib/tests/refcount.c:127,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/refcount.c:132,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/refcount.c:144,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/refcount.c:147,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/refcount.c:138,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/refcount.c:162,1
    - Dst: g_atomic_ref_count_dec
      Src: /src/glib/glib/tests/refcount.c:164,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 170
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 170
    functionName: test_gatomicrefcount
    functionSourceFile: /src/glib/glib/tests/refcount.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_atomic_ref_count_compare
    - g_atomic_ref_count_dec
    - g_test_message
    - g_test_verbose
    - g_atomic_ref_count_inc
    - g_atomic_ref_count_init
    - g_assert_false
    linkageType: ''
    returnType: void
    signature: 'static void test_gatomicrefcount (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/refcount.c:214,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/refcount.c:220,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/refcount.c:219,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/refcount.c:217,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/refcount.c:216,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/refcount.c:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 223
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 223
    functionName: main
    functionSourceFile: /src/glib/glib/tests/refcount.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_test_message
      Src: /src/glib/glib/tests/refcount.c:32,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/refcount.c:31,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/refcount.c:39,1
    - Dst: g_ref_count_compare
      Src: /src/glib/glib/tests/refcount.c:39,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/refcount.c:44,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/refcount.c:58,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/refcount.c:68,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/refcount.c:73,1
    - Dst: g_ref_count_dec
      Src: /src/glib/glib/tests/refcount.c:75,1
    - Dst: g_ref_count_init
      Src: /src/glib/glib/tests/refcount.c:30,1
    - Dst: g_ref_count_compare
      Src: /src/glib/glib/tests/refcount.c:33,1
    - Dst: g_ref_count_inc
      Src: /src/glib/glib/tests/refcount.c:36,1
    - Dst: g_ref_count_compare
      Src: /src/glib/glib/tests/refcount.c:40,1
    - Dst: g_ref_count_inc
      Src: /src/glib/glib/tests/refcount.c:48,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/refcount.c:54,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/refcount.c:55,1
    - Dst: g_ref_count_dec
      Src: /src/glib/glib/tests/refcount.c:60,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/refcount.c:64,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/refcount.c:65,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/refcount.c:37,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/refcount.c:50,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/refcount.c:53,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/refcount.c:40,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/refcount.c:63,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/refcount.c:75,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/refcount.c:33,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/refcount.c:38,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/refcount.c:49,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/refcount.c:45,1
    - Dst: g_ref_count_dec
      Src: /src/glib/glib/tests/refcount.c:55,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/refcount.c:59,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/refcount.c:60,1
    - Dst: g_ref_count_dec
      Src: /src/glib/glib/tests/refcount.c:65,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/refcount.c:69,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/refcount.c:70,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/refcount.c:74,1
    - Dst: g_ref_count_dec
      Src: /src/glib/glib/tests/refcount.c:70,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 76
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 76
    functionName: test_grefcount
    functionSourceFile: /src/glib/glib/tests/refcount.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_test_message
    - g_test_verbose
    - g_ref_count_inc
    - g_assert_false
    - g_ref_count_compare
    - g_ref_count_dec
    - g_ref_count_init
    linkageType: ''
    returnType: void
    signature: 'static void test_grefcount (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/glib/tests/refcount.c:179,1
    - Dst: g_atomic_ref_count_inc
      Src: /src/glib/glib/tests/refcount.c:189,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/refcount.c:190,1
    - Dst: g_atomic_ref_count_inc
      Src: /src/glib/glib/tests/refcount.c:186,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/refcount.c:187,1
    - Dst: exit
      Src: /src/glib/glib/tests/refcount.c:192,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/refcount.c:195,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/refcount.c:199,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/glib/tests/refcount.c:205,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/refcount.c:206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 208
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 208
    functionName: test_gatomicrefcount_saturation
    functionSourceFile: /src/glib/glib/tests/refcount.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_passed
    - g_test_trap_assert_failed
    - g_assert_true
    - g_test_trap_assert_stderr
    - g_atomic_ref_count_inc
    - g_test_trap_subprocess
    - g_test_subprocess
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void test_gatomicrefcount_saturation (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fix_pointer
      Src: /src/glib/glib/tests/sequence.c:183,1
    - Dst: get_item
      Src: /src/glib/glib/tests/sequence.c:191,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:187,1
    - Dst: g_random_int
      Src: /src/glib/glib/tests/sequence.c:193,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:191,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - data
    - user_data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 196
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 196
    functionName: seq_foreach
    functionSourceFile: /src/glib/glib/tests/sequence.c
    functionUses: []
    functionsReached:
    - g_assert
    - get_item
    - g_random_int
    - fix_pointer
    linkageType: ''
    returnType: void
    signature: 'static void seq_foreach (gpointer data, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_integrity
      Src: /src/glib/glib/tests/sequence.c:274,1
    - Dst: g_sequence_iter_next
      Src: /src/glib/glib/tests/sequence.c:288,1
    - Dst: get_item
      Src: /src/glib/glib/tests/sequence.c:281,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:283,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:288,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - info
    argTypes:
    - SequenceInfo*
    constantsTouched: []
    func_position:
      end: 293
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 293
    functionName: check_sorted
    functionSourceFile: /src/glib/glib/tests/sequence.c
    functionUses: []
    functionsReached:
    - check_integrity
    - get_item
    - g_assert
    - g_sequence_iter_next
    linkageType: ''
    returnType: void
    signature: 'static void check_sorted (SequenceInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_sequence_new
      Src: /src/glib/glib/tests/sequence.c:1187,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:1192,1
    - Dst: g_sequence_iter_is_begin
      Src: /src/glib/glib/tests/sequence.c:1192,1
    - Dst: g_sequence_get_begin_iter
      Src: /src/glib/glib/tests/sequence.c:1188,1
    - Dst: g_sequence_iter_move
      Src: /src/glib/glib/tests/sequence.c:1190,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:1193,1
    - Dst: g_sequence_iter_is_end
      Src: /src/glib/glib/tests/sequence.c:1193,1
    - Dst: g_sequence_free
      Src: /src/glib/glib/tests/sequence.c:1195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1196
      start: 1184
    functionDepth: 0
    functionLinenumber: 1184
    functionLinenumberEnd: 1196
    functionName: test_out_of_range_jump
    functionSourceFile: /src/glib/glib/tests/sequence.c
    functionUses: []
    functionsReached:
    - g_sequence_new
    - g_assert
    - g_sequence_get_begin_iter
    - g_sequence_iter_is_begin
    - g_sequence_free
    - g_sequence_iter_is_end
    - g_sequence_iter_move
    linkageType: ''
    returnType: void
    signature: 'static void test_out_of_range_jump (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/sequence.c:1206,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/sequence.c:1217,1
    - Dst: g_sequence_free
      Src: /src/glib/glib/tests/sequence.c:1222,1
    - Dst: g_sequence_new
      Src: /src/glib/glib/tests/sequence.c:1201,1
    - Dst: g_sequence_iter_move
      Src: /src/glib/glib/tests/sequence.c:1209,1
    - Dst: g_sequence_get
      Src: /src/glib/glib/tests/sequence.c:1210,1
    - Dst: g_sequence_iter_is_end
      Src: /src/glib/glib/tests/sequence.c:1220,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:1220,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/sequence.c:1210,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/sequence.c:1210,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:1213,1
    - Dst: g_sequence_get
      Src: /src/glib/glib/tests/sequence.c:1217,1
    - Dst: g_sequence_get_begin_iter
      Src: /src/glib/glib/tests/sequence.c:1208,1
    - Dst: g_sequence_append
      Src: /src/glib/glib/tests/sequence.c:1206,1
    - Dst: g_sequence_iter_move
      Src: /src/glib/glib/tests/sequence.c:1212,1
    - Dst: g_sequence_iter_move
      Src: /src/glib/glib/tests/sequence.c:1219,1
    - Dst: g_sequence_get_end_iter
      Src: /src/glib/glib/tests/sequence.c:1215,1
    - Dst: g_sequence_iter_is_begin
      Src: /src/glib/glib/tests/sequence.c:1213,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/sequence.c:1217,1
    - Dst: g_sequence_iter_move
      Src: /src/glib/glib/tests/sequence.c:1216,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1223
      start: 1198
    functionDepth: 0
    functionLinenumber: 1198
    functionLinenumberEnd: 1223
    functionName: test_iter_move
    functionSourceFile: /src/glib/glib/tests/sequence.c
    functionUses: []
    functionsReached:
    - g_sequence_append
    - GPOINTER_TO_INT
    - g_sequence_new
    - g_sequence_get_end_iter
    - g_assert
    - g_sequence_get_begin_iter
    - g_sequence_iter_is_begin
    - g_sequence_free
    - g_sequence_iter_is_end
    - GINT_TO_POINTER
    - g_sequence_get
    - g_sequence_iter_move
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_iter_move (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fix_pointer
      Src: /src/glib/glib/tests/sequence.c:203,1
    - Dst: fix_pointer
      Src: /src/glib/glib/tests/sequence.c:204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - data
    argTypes:
    - gconstpointer
    - gconstpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 212
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 212
    functionName: simple_items_cmp
    functionSourceFile: /src/glib/glib/tests/sequence.c
    functionUses: []
    functionsReached:
    - fix_pointer
    linkageType: ''
    returnType: gint
    signature: "static gint simple_items_cmp (gconstpointer a,\t gconstpointer b,\t\
      \ gpointer data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_sequence_get
      Src: /src/glib/glib/tests/sequence.c:304,1
    - Dst: g_sequence_iter_get_sequence
      Src: /src/glib/glib/tests/sequence.c:309,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:310,1
    - Dst: g_sequence_get
      Src: /src/glib/glib/tests/sequence.c:305,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:309,1
    - Dst: g_sequence_iter_get_sequence
      Src: /src/glib/glib/tests/sequence.c:310,1
    - Dst: compare_items
      Src: /src/glib/glib/tests/sequence.c:313,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - a
    - b
    - data
    argTypes:
    - gconstpointer
    - gconstpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 314
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 314
    functionName: compare_iters
    functionSourceFile: /src/glib/glib/tests/sequence.c
    functionUses: []
    functionsReached:
    - g_assert
    - compare_items
    - g_sequence_get
    - g_sequence_iter_get_sequence
    linkageType: ''
    returnType: gint
    signature: 'static gint compare_iters (gconstpointer a, gconstpointer b, gpointer
      data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/sequence.c:1230,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/sequence.c:1231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - a
    - b
    - userdata
    argTypes:
    - gconstpointer
    - gconstpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1239
      start: 1225
    functionDepth: 0
    functionLinenumber: 1225
    functionLinenumberEnd: 1239
    functionName: compare
    functionSourceFile: /src/glib/glib/tests/sequence.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    linkageType: ''
    returnType: int
    signature: 'static int compare (gconstpointer a, gconstpointer b, gpointer userdata) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_node
      Src: /src/glib/glib/tests/sequence.c:60,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:66,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:65,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - seq
    argTypes:
    - GSequence*
    constantsTouched: []
    func_position:
      end: 68
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 68
    functionName: g_sequence_check
    functionSourceFile: /src/glib/glib/tests/sequence.c
    functionUses: []
    functionsReached:
    - g_assert
    - check_node
    linkageType: ''
    returnType: void
    signature: 'static void g_sequence_check (GSequence *seq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/glib/tests/sequence.c:159,1
    - Dst: g_random_int
      Src: /src/glib/glib/tests/sequence.c:162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - seq
    argTypes:
    - SequenceInfo*
    constantsTouched: []
    func_position:
      end: 169
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 169
    functionName: new_item
    functionSourceFile: /src/glib/glib/tests/sequence.c
    functionUses: []
    functionsReached:
    - g_random_int
    - g_new
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer new_item (SequenceInfo *seq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_queue_link_index
      Src: /src/glib/glib/tests/sequence.c:323,1
    - Dst: g_queue_get_length
      Src: /src/glib/glib/tests/sequence.c:325,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - seq
    - link
    argTypes:
    - SequenceInfo*
    - GList*
    constantsTouched: []
    func_position:
      end: 326
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 326
    functionName: queue_link_index
    functionSourceFile: /src/glib/glib/tests/sequence.c
    functionUses: []
    functionsReached:
    - g_queue_link_index
    - g_queue_get_length
    linkageType: ''
    returnType: int
    signature: 'static int queue_link_index (SequenceInfo *seq, GList *link) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: fix_pointer
    functionSourceFile: /src/glib/glib/tests/sequence.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Item*
    signature: 'static Item *fix_pointer (gconstpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fix_pointer
      Src: /src/glib/glib/tests/sequence.c:174,1
    - Dst: g_free
      Src: /src/glib/glib/tests/sequence.c:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 177
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 177
    functionName: free_item
    functionSourceFile: /src/glib/glib/tests/sequence.c
    functionUses: []
    functionsReached:
    - g_free
    - fix_pointer
    linkageType: ''
    returnType: void
    signature: 'static void free_item (gpointer data) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_queue_get_length
      Src: /src/glib/glib/tests/sequence.c:335,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/sequence.c:336,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:339,1
    - Dst: g_sequence_get_length
      Src: /src/glib/glib/tests/sequence.c:339,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/sequence.c:337,1
    - Dst: g_sequence_get_iter_at_pos
      Src: /src/glib/glib/tests/sequence.c:342,1
    - Dst: g_sequence_get_iter_at_pos
      Src: /src/glib/glib/tests/sequence.c:344,1
    - Dst: g_queue_peek_nth_link
      Src: /src/glib/glib/tests/sequence.c:346,1
    - Dst: g_queue_peek_nth_link
      Src: /src/glib/glib/tests/sequence.c:348,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:351,1
    - Dst: queue_link_index
      Src: /src/glib/glib/tests/sequence.c:358,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:357,1
    - Dst: g_sequence_iter_get_position
      Src: /src/glib/glib/tests/sequence.c:353,1
    - Dst: queue_link_index
      Src: /src/glib/glib/tests/sequence.c:352,1
    - Dst: g_sequence_iter_get_position
      Src: /src/glib/glib/tests/sequence.c:359,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 29
    argCount: 5
    argNames:
    - seq
    - begin_iter
    - end_iter
    - begin_link
    - end_link
    argTypes:
    - SequenceInfo*
    - GSequenceIter**
    - GSequenceIter**
    - GList**
    - GList**
    constantsTouched: []
    func_position:
      end: 361
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 361
    functionName: get_random_range
    functionSourceFile: /src/glib/glib/tests/sequence.c
    functionUses: []
    functionsReached:
    - g_sequence_get_iter_at_pos
    - g_queue_peek_nth_link
    - g_assert
    - g_sequence_get_length
    - queue_link_index
    - g_sequence_iter_get_position
    - g_queue_get_length
    - g_random_int_range
    linkageType: ''
    returnType: void
    signature: 'static void get_random_range (SequenceInfo *seq, GSequenceIter **begin_iter,
      GSequenceIter **end_iter, GList **begin_link, GList **end_link) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/sequence.c:1378,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/sequence.c:1381,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/sequence.c:1384,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/sequence.c:1383,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/sequence.c:1382,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/sequence.c:1385,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/sequence.c:1388,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/sequence.c:1390,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/sequence.c:1391,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/sequence.c:1391,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/sequence.c:1401,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/sequence.c:1398,1
    - Dst: g_test_rand_int_range
      Src: /src/glib/glib/tests/sequence.c:1396,1
    - Dst: g_free
      Src: /src/glib/glib/tests/sequence.c:1392,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/tests/sequence.c:1398,1
    - Dst: g_free
      Src: /src/glib/glib/tests/sequence.c:1399,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/sequence.c:1397,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1402
      start: 1370
    functionDepth: 0
    functionLinenumber: 1370
    functionLinenumberEnd: 1402
    functionName: main
    functionSourceFile: /src/glib/glib/tests/sequence.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_strdup_printf
    - g_test_add_data_func
    - G_N_ELEMENTS
    - GUINT_TO_POINTER
    - g_free
    - g_test_rand_int_range
    - g_test_run
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - node
    argTypes:
    - GSequenceNode*
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: get_priority
    functionSourceFile: /src/glib/glib/tests/sequence.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint
    signature: 'static guint get_priority (GSequenceNode *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fix_pointer
      Src: /src/glib/glib/tests/sequence.c:116,1
    - Dst: g_sequence_get
      Src: /src/glib/glib/tests/sequence.c:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: get_item
    functionSourceFile: /src/glib/glib/tests/sequence.c
    functionUses: []
    functionsReached:
    - g_sequence_get
    - fix_pointer
    linkageType: ''
    returnType: Item*
    signature: 'static Item *get_item (GSequenceIter *iter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_sequence_get
      Src: /src/glib/glib/tests/sequence.c:222,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:227,1
    - Dst: g_sequence_get
      Src: /src/glib/glib/tests/sequence.c:223,1
    - Dst: g_sequence_iter_get_sequence
      Src: /src/glib/glib/tests/sequence.c:227,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:228,1
    - Dst: g_sequence_iter_get_sequence
      Src: /src/glib/glib/tests/sequence.c:228,1
    - Dst: simple_items_cmp
      Src: /src/glib/glib/tests/sequence.c:231,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - a
    - b
    - data
    argTypes:
    - gconstpointer
    - gconstpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 232
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 232
    functionName: simple_iters_cmp
    functionSourceFile: /src/glib/glib/tests/sequence.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_sequence_get
    - simple_items_cmp
    - g_sequence_iter_get_sequence
    linkageType: ''
    returnType: gint
    signature: "static gint simple_iters_cmp (gconstpointer a,\t gconstpointer b,\t\
      \ gpointer data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_queue_get_length
      Src: /src/glib/glib/tests/sequence.c:366,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:368,1
    - Dst: g_sequence_get_length
      Src: /src/glib/glib/tests/sequence.c:368,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/sequence.c:370,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - seq
    argTypes:
    - SequenceInfo*
    constantsTouched: []
    func_position:
      end: 371
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 371
    functionName: get_random_position
    functionSourceFile: /src/glib/glib/tests/sequence.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_random_int_range
    - g_sequence_get_length
    - g_queue_get_length
    linkageType: ''
    returnType: gint
    signature: 'static gint get_random_position (SequenceInfo *seq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_sequence_get_begin_iter
      Src: /src/glib/glib/tests/sequence.c:394,1
    - Dst: g_sequence_iter_next
      Src: /src/glib/glib/tests/sequence.c:402,1
    - Dst: get_item
      Src: /src/glib/glib/tests/sequence.c:399,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/sequence.c:400,1
    - Dst: g_sequence_get_end_iter
      Src: /src/glib/glib/tests/sequence.c:397,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - seq
    argTypes:
    - SequenceInfo*
    constantsTouched: []
    func_position:
      end: 406
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 406
    functionName: dump_info
    functionSourceFile: /src/glib/glib/tests/sequence.c
    functionUses: []
    functionsReached:
    - g_printerr
    - g_sequence_get_end_iter
    - get_item
    - g_sequence_get_begin_iter
    - g_sequence_iter_next
    linkageType: ''
    returnType: void
    signature: 'static void dump_info (SequenceInfo *seq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare
      Src: /src/glib/glib/tests/sequence.c:1246,1
    - Dst: g_sequence_get
      Src: /src/glib/glib/tests/sequence.c:1246,1
    - Dst: g_sequence_get
      Src: /src/glib/glib/tests/sequence.c:1247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - a
    - b
    - data
    argTypes:
    - GSequenceIter*
    - GSequenceIter*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1249
      start: 1241
    functionDepth: 0
    functionLinenumber: 1241
    functionLinenumberEnd: 1249
    functionName: compare_iter
    functionSourceFile: /src/glib/glib/tests/sequence.c
    functionUses: []
    functionsReached:
    - g_sequence_get
    - compare
    linkageType: ''
    returnType: int
    signature: 'static int compare_iter (GSequenceIter *a, GSequenceIter *b, gpointer
      data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:39,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:42,1
    - Dst: get_priority
      Src: /src/glib/glib/tests/sequence.c:44,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:41,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:44,1
    - Dst: get_priority
      Src: /src/glib/glib/tests/sequence.c:44,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:46,1
    - Dst: get_priority
      Src: /src/glib/glib/tests/sequence.c:46,1
    - Dst: get_priority
      Src: /src/glib/glib/tests/sequence.c:46,1
    - Dst: check_node
      Src: /src/glib/glib/tests/sequence.c:47,1
    - Dst: check_node
      Src: /src/glib/glib/tests/sequence.c:48,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - node
    argTypes:
    - GSequenceNode*
    constantsTouched: []
    func_position:
      end: 50
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 50
    functionName: check_node
    functionSourceFile: /src/glib/glib/tests/sequence.c
    functionUses: []
    functionsReached:
    - g_assert
    - check_node
    - get_priority
    linkageType: ''
    returnType: void
    signature: 'static void check_node (GSequenceNode *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_sequence_get_length
      Src: /src/glib/glib/tests/sequence.c:134,1
    - Dst: g_sequence_get_end_iter
      Src: /src/glib/glib/tests/sequence.c:139,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:144,1
    - Dst: g_sequence_check
      Src: /src/glib/glib/tests/sequence.c:126,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:133,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/sequence.c:151,1
    - Dst: g_queue_get_length
      Src: /src/glib/glib/tests/sequence.c:152,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:153,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/sequence.c:130,1
    - Dst: g_queue_get_length
      Src: /src/glib/glib/tests/sequence.c:133,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:134,1
    - Dst: g_sequence_get_begin_iter
      Src: /src/glib/glib/tests/sequence.c:136,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:142,1
    - Dst: g_sequence_get_length
      Src: /src/glib/glib/tests/sequence.c:153,1
    - Dst: g_sequence_get_length
      Src: /src/glib/glib/tests/sequence.c:129,1
    - Dst: g_sequence_get_length
      Src: /src/glib/glib/tests/sequence.c:131,1
    - Dst: get_item
      Src: /src/glib/glib/tests/sequence.c:143,1
    - Dst: g_sequence_iter_next
      Src: /src/glib/glib/tests/sequence.c:146,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:152,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 1
    argNames:
    - info
    argTypes:
    - SequenceInfo*
    constantsTouched: []
    func_position:
      end: 154
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 154
    functionName: check_integrity
    functionSourceFile: /src/glib/glib/tests/sequence.c
    functionUses: []
    functionsReached:
    - g_printerr
    - g_sequence_get_end_iter
    - g_sequence_get_length
    - g_assert
    - get_item
    - g_sequence_get_begin_iter
    - g_assert_cmpuint
    - g_sequence_iter_next
    - g_sequence_check
    - g_queue_get_length
    linkageType: ''
    returnType: void
    signature: 'static void check_integrity (SequenceInfo *info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fix_pointer
      Src: /src/glib/glib/tests/sequence.c:239,1
    - Dst: fix_pointer
      Src: /src/glib/glib/tests/sequence.c:240,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - a
    - b
    - data
    argTypes:
    - gconstpointer
    - gconstpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 265
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 265
    functionName: compare_items
    functionSourceFile: /src/glib/glib/tests/sequence.c
    functionUses: []
    functionsReached:
    - fix_pointer
    linkageType: ''
    returnType: gint
    signature: 'static gint compare_items (gconstpointer a, gconstpointer b, gpointer
      data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_random_position
      Src: /src/glib/glib/tests/sequence.c:378,1
    - Dst: g_sequence_get_iter_at_pos
      Src: /src/glib/glib/tests/sequence.c:381,1
    - Dst: g_queue_peek_nth_link
      Src: /src/glib/glib/tests/sequence.c:380,1
    - Dst: queue_link_index
      Src: /src/glib/glib/tests/sequence.c:383,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:383,1
    - Dst: g_sequence_iter_get_position
      Src: /src/glib/glib/tests/sequence.c:383,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 385
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 385
    functionName: get_random_iter
    functionSourceFile: /src/glib/glib/tests/sequence.c
    functionUses: []
    functionsReached:
    - g_sequence_get_iter_at_pos
    - g_queue_peek_nth_link
    - g_assert
    - get_random_position
    - queue_link_index
    - g_sequence_iter_get_position
    linkageType: ''
    returnType: GSequenceIter*
    signature: 'static GSequenceIter *get_random_iter (SequenceInfo *seq, GList **link) '
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: get_item
      Src: /src/glib/glib/tests/sequence.c:620,1
    - Dst: check_sorted
      Src: /src/glib/glib/tests/sequence.c:754,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:987,1
    - Dst: new_item
      Src: /src/glib/glib/tests/sequence.c:1020,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:1011,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/sequence.c:457,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:547,1
    - Dst: g_sequence_insert_sorted
      Src: /src/glib/glib/tests/sequence.c:911,1
    - Dst: g_sequence_iter_get_position
      Src: /src/glib/glib/tests/sequence.c:1060,1
    - Dst: g_queue_push_head
      Src: /src/glib/glib/tests/sequence.c:1050,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:841,1
    - Dst: get_random_iter
      Src: /src/glib/glib/tests/sequence.c:628,1
    - Dst: get_item
      Src: /src/glib/glib/tests/sequence.c:839,1
    - Dst: g_sequence_get
      Src: /src/glib/glib/tests/sequence.c:957,1
    - Dst: g_sequence_prepend
      Src: /src/glib/glib/tests/sequence.c:1039,1
    - Dst: RANDOM_SEQUENCE
      Src: /src/glib/glib/tests/sequence.c:797,1
    - Dst: queue_link_index
      Src: /src/glib/glib/tests/sequence.c:830,1
    - Dst: g_sequence_free
      Src: /src/glib/glib/tests/sequence.c:450,1
    - Dst: g_sequence_sort_iter
      Src: /src/glib/glib/tests/sequence.c:504,1
    - Dst: RANDOM_SEQUENCE
      Src: /src/glib/glib/tests/sequence.c:638,1
    - Dst: g_queue_sort
      Src: /src/glib/glib/tests/sequence.c:664,1
    - Dst: g_sequence_get_begin_iter
      Src: /src/glib/glib/tests/sequence.c:1008,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:563,1
    - Dst: g_sequence_sort_changed_iter
      Src: /src/glib/glib/tests/sequence.c:747,1
    - Dst: g_sequence_iter_next
      Src: /src/glib/glib/tests/sequence.c:871,1
    - Dst: g_queue_push_head
      Src: /src/glib/glib/tests/sequence.c:1052,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/sequence.c:482,1
    - Dst: g_queue_push_head
      Src: /src/glib/glib/tests/sequence.c:582,1
    - Dst: g_sequence_sort
      Src: /src/glib/glib/tests/sequence.c:685,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:1142,1
    - Dst: g_queue_insert_before
      Src: /src/glib/glib/tests/sequence.c:597,1
    - Dst: g_queue_insert_before
      Src: /src/glib/glib/tests/sequence.c:616,1
    - Dst: g_queue_delete_link
      Src: /src/glib/glib/tests/sequence.c:843,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:977,1
    - Dst: check_sorted
      Src: /src/glib/glib/tests/sequence.c:507,1
    - Dst: g_queue_insert_sorted
      Src: /src/glib/glib/tests/sequence.c:673,1
    - Dst: g_sequence_iter_get_position
      Src: /src/glib/glib/tests/sequence.c:1147,1
    - Dst: g_sequence_iter_move
      Src: /src/glib/glib/tests/sequence.c:1082,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/sequence.c:441,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:1024,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:1108,1
    - Dst: g_queue_insert_sorted
      Src: /src/glib/glib/tests/sequence.c:896,1
    - Dst: g_sequence_iter_next
      Src: /src/glib/glib/tests/sequence.c:1025,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:1116,1
    - Dst: get_random_range
      Src: /src/glib/glib/tests/sequence.c:810,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:465,1
    - Dst: g_sequence_get_end_iter
      Src: /src/glib/glib/tests/sequence.c:522,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/sequence.c:818,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/sequence.c:979,1
    - Dst: get_random_iter
      Src: /src/glib/glib/tests/sequence.c:1099,1
    - Dst: g_sequence_get_end_iter
      Src: /src/glib/glib/tests/sequence.c:983,1
    - Dst: g_queue_delete_link
      Src: /src/glib/glib/tests/sequence.c:788,1
    - Dst: new_item
      Src: /src/glib/glib/tests/sequence.c:965,1
    - Dst: g_sequence_append
      Src: /src/glib/glib/tests/sequence.c:1020,1
    - Dst: g_sequence_get_length
      Src: /src/glib/glib/tests/sequence.c:555,1
    - Dst: check_sorted
      Src: /src/glib/glib/tests/sequence.c:908,1
    - Dst: g_sequence_get_length
      Src: /src/glib/glib/tests/sequence.c:996,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:540,1
    - Dst: g_sequence_insert_sorted
      Src: /src/glib/glib/tests/sequence.c:671,1
    - Dst: g_queue_insert_sorted
      Src: /src/glib/glib/tests/sequence.c:699,1
    - Dst: g_queue_push_tail
      Src: /src/glib/glib/tests/sequence.c:573,1
    - Dst: check_sorted
      Src: /src/glib/glib/tests/sequence.c:712,1
    - Dst: new_item
      Src: /src/glib/glib/tests/sequence.c:910,1
    - Dst: g_sequence_iter_is_end
      Src: /src/glib/glib/tests/sequence.c:1011,1
    - Dst: g_sequence_iter_is_begin
      Src: /src/glib/glib/tests/sequence.c:987,1
    - Dst: g_queue_peek_nth_link
      Src: /src/glib/glib/tests/sequence.c:553,1
    - Dst: queue_link_index
      Src: /src/glib/glib/tests/sequence.c:829,1
    - Dst: g_queue_sort
      Src: /src/glib/glib/tests/sequence.c:862,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:871,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:538,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/sequence.c:593,1
    - Dst: dump_info
      Src: /src/glib/glib/tests/sequence.c:661,1
    - Dst: g_sequence_set
      Src: /src/glib/glib/tests/sequence.c:956,1
    - Dst: g_sequence_iter_get_position
      Src: /src/glib/glib/tests/sequence.c:1148,1
    - Dst: g_sequence_iter_is_end
      Src: /src/glib/glib/tests/sequence.c:644,1
    - Dst: g_queue_delete_link
      Src: /src/glib/glib/tests/sequence.c:768,1
    - Dst: queue_link_index
      Src: /src/glib/glib/tests/sequence.c:830,1
    - Dst: check_sorted
      Src: /src/glib/glib/tests/sequence.c:864,1
    - Dst: g_sequence_iter_prev
      Src: /src/glib/glib/tests/sequence.c:1044,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:558,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:935,1
    - Dst: g_sequence_sort
      Src: /src/glib/glib/tests/sequence.c:663,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:1073,1
    - Dst: new_item
      Src: /src/glib/glib/tests/sequence.c:955,1
    - Dst: g_queue_get_length
      Src: /src/glib/glib/tests/sequence.c:463,1
    - Dst: get_random_position
      Src: /src/glib/glib/tests/sequence.c:551,1
    - Dst: g_sequence_sort
      Src: /src/glib/glib/tests/sequence.c:709,1
    - Dst: get_random_iter
      Src: /src/glib/glib/tests/sequence.c:763,1
    - Dst: new_item
      Src: /src/glib/glib/tests/sequence.c:887,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/sequence.c:1155,1
    - Dst: simple_iters_cmp
      Src: /src/glib/glib/tests/sequence.c:935,1
    - Dst: g_sequence_get_begin_iter
      Src: /src/glib/glib/tests/sequence.c:1042,1
    - Dst: g_sequence_iter_get_position
      Src: /src/glib/glib/tests/sequence.c:1071,1
    - Dst: queue_link_index
      Src: /src/glib/glib/tests/sequence.c:1061,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:1146,1
    - Dst: g_printerr
      Src: /src/glib/glib/tests/sequence.c:420,1
    - Dst: g_queue_free
      Src: /src/glib/glib/tests/sequence.c:449,1
    - Dst: new_item
      Src: /src/glib/glib/tests/sequence.c:746,1
    - Dst: g_sequence_prepend
      Src: /src/glib/glib/tests/sequence.c:1038,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:1025,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:1112,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:1084,1
    - Dst: g_sequence_iter_compare
      Src: /src/glib/glib/tests/sequence.c:1102,1
    - Dst: get_random_iter
      Src: /src/glib/glib/tests/sequence.c:640,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:1060,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:537,1
    - Dst: RANDOM_SEQUENCE
      Src: /src/glib/glib/tests/sequence.c:605,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/tests/sequence.c:411,1
    - Dst: dump_info
      Src: /src/glib/glib/tests/sequence.c:491,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:530,1
    - Dst: check_sorted
      Src: /src/glib/glib/tests/sequence.c:666,1
    - Dst: dump_info
      Src: /src/glib/glib/tests/sequence.c:678,1
    - Dst: g_sequence_insert_sorted
      Src: /src/glib/glib/tests/sequence.c:892,1
    - Dst: g_sequence_iter_next
      Src: /src/glib/glib/tests/sequence.c:1026,1
    - Dst: g_queue_insert_sorted
      Src: /src/glib/glib/tests/sequence.c:873,1
    - Dst: RANDOM_SEQUENCE
      Src: /src/glib/glib/tests/sequence.c:604,1
    - Dst: get_item
      Src: /src/glib/glib/tests/sequence.c:650,1
    - Dst: check_sorted
      Src: /src/glib/glib/tests/sequence.c:885,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/sequence.c:952,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:1047,1
    - Dst: g_queue_new
      Src: /src/glib/glib/tests/sequence.c:454,1
    - Dst: check_sorted
      Src: /src/glib/glib/tests/sequence.c:688,1
    - Dst: g_queue_delete_link
      Src: /src/glib/glib/tests/sequence.c:724,1
    - Dst: get_random_iter
      Src: /src/glib/glib/tests/sequence.c:742,1
    - Dst: g_sequence_search_iter
      Src: /src/glib/glib/tests/sequence.c:888,1
    - Dst: g_sequence_iter_is_end
      Src: /src/glib/glib/tests/sequence.c:744,1
    - Dst: g_sequence_iter_prev
      Src: /src/glib/glib/tests/sequence.c:1048,1
    - Dst: g_sequence_iter_get_sequence
      Src: /src/glib/glib/tests/sequence.c:1091,1
    - Dst: g_queue_new
      Src: /src/glib/glib/tests/sequence.c:427,1
    - Dst: check_sorted
      Src: /src/glib/glib/tests/sequence.c:702,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:808,1
    - Dst: g_sequence_iter_is_begin
      Src: /src/glib/glib/tests/sequence.c:990,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:1045,1
    - Dst: g_queue_sort
      Src: /src/glib/glib/tests/sequence.c:925,1
    - Dst: g_sequence_get_end_iter
      Src: /src/glib/glib/tests/sequence.c:1011,1
    - Dst: get_random_iter
      Src: /src/glib/glib/tests/sequence.c:1089,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:486,1
    - Dst: g_sequence_get_end_iter
      Src: /src/glib/glib/tests/sequence.c:987,1
    - Dst: g_sequence_iter_is_end
      Src: /src/glib/glib/tests/sequence.c:948,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:990,1
    - Dst: g_sequence_get_length
      Src: /src/glib/glib/tests/sequence.c:547,1
    - Dst: g_queue_sort
      Src: /src/glib/glib/tests/sequence.c:735,1
    - Dst: g_sequence_get_iter_at_pos
      Src: /src/glib/glib/tests/sequence.c:975,1
    - Dst: g_sequence_free
      Src: /src/glib/glib/tests/sequence.c:1161,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:1027,1
    - Dst: RANDOM_SEQUENCE
      Src: /src/glib/glib/tests/sequence.c:639,1
    - Dst: new_item
      Src: /src/glib/glib/tests/sequence.c:695,1
    - Dst: g_sequence_iter_is_end
      Src: /src/glib/glib/tests/sequence.c:1004,1
    - Dst: g_sequence_get_begin_iter
      Src: /src/glib/glib/tests/sequence.c:1004,1
    - Dst: g_queue_push_tail
      Src: /src/glib/glib/tests/sequence.c:1030,1
    - Dst: g_sequence_iter_is_end
      Src: /src/glib/glib/tests/sequence.c:765,1
    - Dst: g_sequence_append
      Src: /src/glib/glib/tests/sequence.c:1019,1
    - Dst: g_queue_insert_sorted
      Src: /src/glib/glib/tests/sequence.c:912,1
    - Dst: g_sequence_get_length
      Src: /src/glib/glib/tests/sequence.c:981,1
    - Dst: g_sequence_sort
      Src: /src/glib/glib/tests/sequence.c:905,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/sequence.c:520,1
    - Dst: g_sequence_foreach
      Src: /src/glib/glib/tests/sequence.c:471,1
    - Dst: g_sequence_iter_is_end
      Src: /src/glib/glib/tests/sequence.c:631,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:539,1
    - Dst: g_sequence_iter_is_end
      Src: /src/glib/glib/tests/sequence.c:719,1
    - Dst: g_queue_insert_before
      Src: /src/glib/glib/tests/sequence.c:842,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:1004,1
    - Dst: g_sequence_get_iter_at_pos
      Src: /src/glib/glib/tests/sequence.c:552,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:452,1
    - Dst: g_sequence_iter_prev
      Src: /src/glib/glib/tests/sequence.c:525,1
    - Dst: g_sequence_append
      Src: /src/glib/glib/tests/sequence.c:572,1
    - Dst: new_item
      Src: /src/glib/glib/tests/sequence.c:595,1
    - Dst: g_queue_sort
      Src: /src/glib/glib/tests/sequence.c:906,1
    - Dst: g_sequence_append
      Src: /src/glib/glib/tests/sequence.c:1018,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/sequence.c:554,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:807,1
    - Dst: get_random_iter
      Src: /src/glib/glib/tests/sequence.c:1058,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:845,1
    - Dst: g_sequence_set
      Src: /src/glib/glib/tests/sequence.c:965,1
    - Dst: g_queue_delete_link
      Src: /src/glib/glib/tests/sequence.c:618,1
    - Dst: g_sequence_sort
      Src: /src/glib/glib/tests/sequence.c:861,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:983,1
    - Dst: g_queue_get_length
      Src: /src/glib/glib/tests/sequence.c:547,1
    - Dst: g_sequence_iter_is_end
      Src: /src/glib/glib/tests/sequence.c:643,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:562,1
    - Dst: g_sequence_insert_sorted
      Src: /src/glib/glib/tests/sequence.c:869,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:1048,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:1080,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:1148,1
    - Dst: get_random_iter
      Src: /src/glib/glib/tests/sequence.c:717,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/sequence.c:817,1
    - Dst: new_item
      Src: /src/glib/glib/tests/sequence.c:1019,1
    - Dst: g_sequence_insert_sorted_iter
      Src: /src/glib/glib/tests/sequence.c:694,1
    - Dst: check_sorted
      Src: /src/glib/glib/tests/sequence.c:728,1
    - Dst: get_random_iter
      Src: /src/glib/glib/tests/sequence.c:1076,1
    - Dst: check_sorted
      Src: /src/glib/glib/tests/sequence.c:737,1
    - Dst: new_item
      Src: /src/glib/glib/tests/sequence.c:929,1
    - Dst: new_item
      Src: /src/glib/glib/tests/sequence.c:961,1
    - Dst: g_queue_push_head
      Src: /src/glib/glib/tests/sequence.c:1051,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:541,1
    - Dst: get_random_iter
      Src: /src/glib/glib/tests/sequence.c:811,1
    - Dst: g_sequence_lookup
      Src: /src/glib/glib/tests/sequence.c:914,1
    - Dst: get_random_iter
      Src: /src/glib/glib/tests/sequence.c:946,1
    - Dst: g_sequence_get_begin_iter
      Src: /src/glib/glib/tests/sequence.c:990,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:957,1
    - Dst: get_random_iter
      Src: /src/glib/glib/tests/sequence.c:591,1
    - Dst: g_sequence_move
      Src: /src/glib/glib/tests/sequence.c:611,1
    - Dst: new_item
      Src: /src/glib/glib/tests/sequence.c:1039,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:1091,1
    - Dst: queue_link_index
      Src: /src/glib/glib/tests/sequence.c:1104,1
    - Dst: dump_info
      Src: /src/glib/glib/tests/sequence.c:498,1
    - Dst: g_queue_insert_sorted
      Src: /src/glib/glib/tests/sequence.c:725,1
    - Dst: new_item
      Src: /src/glib/glib/tests/sequence.c:866,1
    - Dst: g_sequence_iter_get_position
      Src: /src/glib/glib/tests/sequence.c:1149,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:1000,1
    - Dst: g_sequence_iter_is_begin
      Src: /src/glib/glib/tests/sequence.c:977,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:532,1
    - Dst: g_queue_sort
      Src: /src/glib/glib/tests/sequence.c:494,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:1026,1
    - Dst: g_sequence_get_end_iter
      Src: /src/glib/glib/tests/sequence.c:1022,1
    - Dst: g_sequence_sort
      Src: /src/glib/glib/tests/sequence.c:882,1
    - Dst: g_random_int_range
      Src: /src/glib/glib/tests/sequence.c:438,1
    - Dst: g_sequence_get_begin_iter
      Src: /src/glib/glib/tests/sequence.c:519,1
    - Dst: g_sequence_get_length
      Src: /src/glib/glib/tests/sequence.c:528,1
    - Dst: g_sequence_remove_range
      Src: /src/glib/glib/tests/sequence.c:781,1
    - Dst: g_sequence_set
      Src: /src/glib/glib/tests/sequence.c:721,1
    - Dst: new_item
      Src: /src/glib/glib/tests/sequence.c:1038,1
    - Dst: g_sequence_iter_next
      Src: /src/glib/glib/tests/sequence.c:1024,1
    - Dst: g_sequence_iter_get_position
      Src: /src/glib/glib/tests/sequence.c:1077,1
    - Dst: check_sorted
      Src: /src/glib/glib/tests/sequence.c:927,1
    - Dst: new_item
      Src: /src/glib/glib/tests/sequence.c:671,1
    - Dst: g_sequence_set
      Src: /src/glib/glib/tests/sequence.c:961,1
    - Dst: g_sequence_iter_compare
      Src: /src/glib/glib/tests/sequence.c:1127,1
    - Dst: g_sequence_get_length
      Src: /src/glib/glib/tests/sequence.c:1066,1
    - Dst: g_sequence_search
      Src: /src/glib/glib/tests/sequence.c:867,1
    - Dst: get_random_iter
      Src: /src/glib/glib/tests/sequence.c:606,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/sequence.c:523,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/sequence.c:963,1
    - Dst: g_sequence_iter_is_begin
      Src: /src/glib/glib/tests/sequence.c:983,1
    - Dst: get_random_iter
      Src: /src/glib/glib/tests/sequence.c:607,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:533,1
    - Dst: g_sequence_set
      Src: /src/glib/glib/tests/sequence.c:746,1
    - Dst: get_random_range
      Src: /src/glib/glib/tests/sequence.c:779,1
    - Dst: g_sequence_move_range
      Src: /src/glib/glib/tests/sequence.c:813,1
    - Dst: g_queue_insert_sorted
      Src: /src/glib/glib/tests/sequence.c:931,1
    - Dst: g_sequence_move
      Src: /src/glib/glib/tests/sequence.c:632,1
    - Dst: g_sequence_sort
      Src: /src/glib/glib/tests/sequence.c:924,1
    - Dst: g_sequence_get_iter_at_pos
      Src: /src/glib/glib/tests/sequence.c:998,1
    - Dst: g_sequence_iter_is_end
      Src: /src/glib/glib/tests/sequence.c:609,1
    - Dst: RANDOM_SEQUENCE
      Src: /src/glib/glib/tests/sequence.c:437,1
    - Dst: g_sequence_new
      Src: /src/glib/glib/tests/sequence.c:455,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/sequence.c:526,1
    - Dst: new_item
      Src: /src/glib/glib/tests/sequence.c:721,1
    - Dst: g_sequence_remove
      Src: /src/glib/glib/tests/sequence.c:767,1
    - Dst: g_sequence_iter_is_end
      Src: /src/glib/glib/tests/sequence.c:1080,1
    - Dst: g_sequence_insert_before
      Src: /src/glib/glib/tests/sequence.c:595,1
    - Dst: get_random_range
      Src: /src/glib/glib/tests/sequence.c:480,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:614,1
    - Dst: dump_info
      Src: /src/glib/glib/tests/sequence.c:683,1
    - Dst: g_sequence_iter_next
      Src: /src/glib/glib/tests/sequence.c:1027,1
    - Dst: g_sequence_sort
      Src: /src/glib/glib/tests/sequence.c:734,1
    - Dst: RANDOM_SEQUENCE
      Src: /src/glib/glib/tests/sequence.c:796,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:915,1
    - Dst: queue_link_index
      Src: /src/glib/glib/tests/sequence.c:1103,1
    - Dst: g_sequence_get_end_iter
      Src: /src/glib/glib/tests/sequence.c:557,1
    - Dst: new_item
      Src: /src/glib/glib/tests/sequence.c:581,1
    - Dst: g_sequence_iter_is_end
      Src: /src/glib/glib/tests/sequence.c:614,1
    - Dst: queue_link_index
      Src: /src/glib/glib/tests/sequence.c:822,1
    - Dst: g_sequence_iter_next
      Src: /src/glib/glib/tests/sequence.c:894,1
    - Dst: g_sequence_lookup_iter
      Src: /src/glib/glib/tests/sequence.c:933,1
    - Dst: simple_iters_cmp
      Src: /src/glib/glib/tests/sequence.c:915,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:472,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/sequence.c:503,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:531,1
    - Dst: g_sequence_swap
      Src: /src/glib/glib/tests/sequence.c:648,1
    - Dst: dump_info
      Src: /src/glib/glib/tests/sequence.c:704,1
    - Dst: g_queue_sort
      Src: /src/glib/glib/tests/sequence.c:883,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:1008,1
    - Dst: g_queue_insert_sorted
      Src: /src/glib/glib/tests/sequence.c:751,1
    - Dst: new_item
      Src: /src/glib/glib/tests/sequence.c:1040,1
    - Dst: g_queue_sort
      Src: /src/glib/glib/tests/sequence.c:686,1
    - Dst: g_random_set_seed
      Src: /src/glib/glib/tests/sequence.c:423,1
    - Dst: get_random_iter
      Src: /src/glib/glib/tests/sequence.c:641,1
    - Dst: check_sorted
      Src: /src/glib/glib/tests/sequence.c:676,1
    - Dst: queue_link_index
      Src: /src/glib/glib/tests/sequence.c:829,1
    - Dst: g_sequence_iter_get_position
      Src: /src/glib/glib/tests/sequence.c:1146,1
    - Dst: g_queue_free
      Src: /src/glib/glib/tests/sequence.c:1160,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:1046,1
    - Dst: g_queue_push_tail
      Src: /src/glib/glib/tests/sequence.c:1029,1
    - Dst: g_sequence_new
      Src: /src/glib/glib/tests/sequence.c:428,1
    - Dst: g_sequence_sort
      Src: /src/glib/glib/tests/sequence.c:493,1
    - Dst: g_sequence_prepend
      Src: /src/glib/glib/tests/sequence.c:581,1
    - Dst: queue_link_index
      Src: /src/glib/glib/tests/sequence.c:823,1
    - Dst: g_sequence_iter_is_end
      Src: /src/glib/glib/tests/sequence.c:1073,1
    - Dst: g_sequence_get_length
      Src: /src/glib/glib/tests/sequence.c:462,1
    - Dst: g_queue_delete_link
      Src: /src/glib/glib/tests/sequence.c:750,1
    - Dst: get_random_iter
      Src: /src/glib/glib/tests/sequence.c:1122,1
    - Dst: g_sequence_insert_sorted
      Src: /src/glib/glib/tests/sequence.c:930,1
    - Dst: get_random_iter
      Src: /src/glib/glib/tests/sequence.c:1070,1
    - Dst: g_sequence_foreach_range
      Src: /src/glib/glib/tests/sequence.c:484,1
    - Dst: g_queue_sort
      Src: /src/glib/glib/tests/sequence.c:710,1
    - Dst: g_sequence_sort_changed
      Src: /src/glib/glib/tests/sequence.c:722,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:894,1
    - Dst: g_sequence_iter_prev
      Src: /src/glib/glib/tests/sequence.c:1045,1
    - Dst: g_sequence_iter_is_end
      Src: /src/glib/glib/tests/sequence.c:1000,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:557,1
    - Dst: check_integrity
      Src: /src/glib/glib/tests/sequence.c:626,1
    - Dst: get_random_iter
      Src: /src/glib/glib/tests/sequence.c:1100,1
    - Dst: g_sequence_range_get_midpoint
      Src: /src/glib/glib/tests/sequence.c:1138,1
    - Dst: g_queue_sort
      Src: /src/glib/glib/tests/sequence.c:506,1
    - Dst: new_item
      Src: /src/glib/glib/tests/sequence.c:572,1
    - Dst: get_item
      Src: /src/glib/glib/tests/sequence.c:651,1
    - Dst: g_queue_push_tail
      Src: /src/glib/glib/tests/sequence.c:1031,1
    - Dst: g_sequence_iter_is_end
      Src: /src/glib/glib/tests/sequence.c:1008,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:1143,1
    - Dst: g_sequence_iter_is_end
      Src: /src/glib/glib/tests/sequence.c:1084,1
    - Dst: g_sequence_prepend
      Src: /src/glib/glib/tests/sequence.c:1040,1
    - Dst: get_random_iter
      Src: /src/glib/glib/tests/sequence.c:1123,1
    - Dst: new_item
      Src: /src/glib/glib/tests/sequence.c:1018,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:1044,1
    - Dst: g_sequence_iter_move
      Src: /src/glib/glib/tests/sequence.c:1072,1
    - Dst: g_sequence_iter_prev
      Src: /src/glib/glib/tests/sequence.c:1047,1
    - Dst: check_sorted
      Src: /src/glib/glib/tests/sequence.c:496,1
    CyclomaticComplexity: 170
    EdgeCount: 170
    ICount: 553
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1164
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 1164
    functionName: run_random_tests
    functionSourceFile: /src/glib/glib/tests/sequence.c
    functionUses: []
    functionsReached:
    - g_queue_insert_before
    - g_printerr
    - new_item
    - GPOINTER_TO_UINT
    - g_sequence_free
    - get_random_position
    - g_queue_push_tail
    - g_sequence_iter_prev
    - g_queue_get_length
    - g_sequence_sort
    - get_random_iter
    - g_sequence_range_get_midpoint
    - RANDOM_SEQUENCE
    - g_sequence_lookup
    - g_sequence_lookup_iter
    - g_sequence_get_length
    - get_item
    - g_sequence_get_begin_iter
    - g_sequence_remove
    - g_sequence_iter_get_position
    - check_sorted
    - g_sequence_sort_changed_iter
    - g_sequence_iter_is_end
    - g_sequence_remove_range
    - g_queue_delete_link
    - g_random_set_seed
    - g_sequence_foreach_range
    - g_queue_sort
    - get_random_range
    - g_sequence_insert_sorted_iter
    - g_sequence_get_iter_at_pos
    - g_sequence_get_end_iter
    - check_integrity
    - g_queue_free
    - g_sequence_sort_iter
    - g_queue_push_head
    - simple_iters_cmp
    - queue_link_index
    - g_queue_insert_sorted
    - g_sequence_search_iter
    - g_sequence_swap
    - g_sequence_search
    - g_sequence_iter_get_sequence
    - g_sequence_move
    - g_random_int_range
    - g_sequence_get
    - g_sequence_iter_move
    - g_sequence_move_range
    - g_sequence_append
    - g_sequence_set
    - g_sequence_new
    - g_queue_peek_nth_link
    - g_assert
    - dump_info
    - g_sequence_iter_is_begin
    - g_sequence_insert_before
    - g_sequence_iter_next
    - g_queue_new
    - g_sequence_iter_compare
    - g_sequence_sort_changed
    - g_sequence_insert_sorted
    - g_sequence_foreach
    - g_sequence_prepend
    linkageType: ''
    returnType: void
    signature: 'static void run_random_tests (gconstpointer d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_sequence_new
      Src: /src/glib/glib/tests/sequence.c:1258,1
    - Dst: g_random_int
      Src: /src/glib/glib/tests/sequence.c:1263,1
    - Dst: g_sequence_insert_sorted_iter
      Src: /src/glib/glib/tests/sequence.c:1266,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/sequence.c:1263,1
    - Dst: g_sequence_insert_sorted
      Src: /src/glib/glib/tests/sequence.c:1263,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/sequence.c:1266,1
    - Dst: g_random_int
      Src: /src/glib/glib/tests/sequence.c:1266,1
    - Dst: g_sequence_check
      Src: /src/glib/glib/tests/sequence.c:1270,1
    - Dst: g_sequence_free
      Src: /src/glib/glib/tests/sequence.c:1272,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1274
      start: 1251
    functionDepth: 0
    functionLinenumber: 1251
    functionLinenumberEnd: 1274
    functionName: test_insert_sorted_non_pointer
    functionSourceFile: /src/glib/glib/tests/sequence.c
    functionUses: []
    functionsReached:
    - g_sequence_insert_sorted_iter
    - g_sequence_new
    - g_random_int
    - g_sequence_free
    - g_sequence_check
    - GINT_TO_POINTER
    - g_sequence_insert_sorted
    linkageType: ''
    returnType: void
    signature: 'static void test_insert_sorted_non_pointer (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_sequence_new
      Src: /src/glib/glib/tests/sequence.c:1280,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:1291,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:1326,1
    - Dst: g_sequence_get_begin_iter
      Src: /src/glib/glib/tests/sequence.c:1331,1
    - Dst: g_sequence_iter_next
      Src: /src/glib/glib/tests/sequence.c:1336,1
    - Dst: g_sequence_free
      Src: /src/glib/glib/tests/sequence.c:1340,1
    - Dst: g_sequence_iter_is_end
      Src: /src/glib/glib/tests/sequence.c:1332,1
    - Dst: g_sequence_check
      Src: /src/glib/glib/tests/sequence.c:1290,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/sequence.c:1289,1
    - Dst: g_sequence_get_begin_iter
      Src: /src/glib/glib/tests/sequence.c:1295,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:1300,1
    - Dst: g_sequence_sort
      Src: /src/glib/glib/tests/sequence.c:1307,1
    - Dst: g_sequence_iter_next
      Src: /src/glib/glib/tests/sequence.c:1303,1
    - Dst: g_sequence_check
      Src: /src/glib/glib/tests/sequence.c:1317,1
    - Dst: g_sequence_check
      Src: /src/glib/glib/tests/sequence.c:1324,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:1325,1
    - Dst: g_sequence_iter_get_sequence
      Src: /src/glib/glib/tests/sequence.c:1291,1
    - Dst: g_sequence_check
      Src: /src/glib/glib/tests/sequence.c:1297,1
    - Dst: g_sequence_iter_is_end
      Src: /src/glib/glib/tests/sequence.c:1298,1
    - Dst: g_sequence_iter_get_sequence
      Src: /src/glib/glib/tests/sequence.c:1300,1
    - Dst: g_sequence_get_begin_iter
      Src: /src/glib/glib/tests/sequence.c:1310,1
    - Dst: g_sequence_iter_get_sequence
      Src: /src/glib/glib/tests/sequence.c:1325,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:1334,1
    - Dst: g_sequence_get_end_iter
      Src: /src/glib/glib/tests/sequence.c:1326,1
    - Dst: g_sequence_check
      Src: /src/glib/glib/tests/sequence.c:1337,1
    - Dst: g_sequence_append
      Src: /src/glib/glib/tests/sequence.c:1289,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:1296,1
    - Dst: g_sequence_iter_get_sequence
      Src: /src/glib/glib/tests/sequence.c:1296,1
    - Dst: g_sequence_check
      Src: /src/glib/glib/tests/sequence.c:1304,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:1301,1
    - Dst: g_sequence_iter_is_end
      Src: /src/glib/glib/tests/sequence.c:1311,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:1313,1
    - Dst: g_sequence_iter_get_sequence
      Src: /src/glib/glib/tests/sequence.c:1313,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/sequence.c:1314,1
    - Dst: g_sequence_iter_next
      Src: /src/glib/glib/tests/sequence.c:1316,1
    - Dst: g_sequence_sort_changed
      Src: /src/glib/glib/tests/sequence.c:1327,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 69
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1341
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1341
    functionName: test_stable_sort
    functionSourceFile: /src/glib/glib/tests/sequence.c
    functionUses: []
    functionsReached:
    - g_sequence_append
    - g_sequence_new
    - g_sequence_sort_changed
    - g_sequence_get_end_iter
    - g_assert
    - g_sequence_get_begin_iter
    - g_sequence_free
    - g_sequence_iter_next
    - g_sequence_check
    - GINT_TO_POINTER
    - g_sequence_iter_is_end
    - g_sequence_iter_get_sequence
    - g_sequence_sort
    linkageType: ''
    returnType: void
    signature: 'static void test_stable_sort (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_sequence_new
      Src: /src/glib/glib/tests/sequence.c:1349,1
    - Dst: g_sequence_append
      Src: /src/glib/glib/tests/sequence.c:1354,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/sequence.c:1354,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/sequence.c:1350,1
    - Dst: g_sequence_is_empty
      Src: /src/glib/glib/tests/sequence.c:1350,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/sequence.c:1355,1
    - Dst: g_sequence_is_empty
      Src: /src/glib/glib/tests/sequence.c:1355,1
    - Dst: g_sequence_get_end_iter
      Src: /src/glib/glib/tests/sequence.c:1360,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/sequence.c:1361,1
    - Dst: g_sequence_is_empty
      Src: /src/glib/glib/tests/sequence.c:1361,1
    - Dst: g_sequence_remove
      Src: /src/glib/glib/tests/sequence.c:1362,1
    - Dst: g_sequence_iter_prev
      Src: /src/glib/glib/tests/sequence.c:1362,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/sequence.c:1365,1
    - Dst: g_sequence_free
      Src: /src/glib/glib/tests/sequence.c:1367,1
    - Dst: g_sequence_is_empty
      Src: /src/glib/glib/tests/sequence.c:1365,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1368
      start: 1343
    functionDepth: 0
    functionLinenumber: 1343
    functionLinenumberEnd: 1368
    functionName: test_empty
    functionSourceFile: /src/glib/glib/tests/sequence.c
    functionUses: []
    functionsReached:
    - g_sequence_append
    - g_assert_true
    - g_sequence_new
    - g_sequence_get_end_iter
    - g_sequence_remove
    - g_sequence_free
    - g_sequence_iter_prev
    - g_sequence_is_empty
    - GINT_TO_POINTER
    - g_assert_false
    linkageType: ''
    returnType: void
    signature: 'static void test_empty (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_message
      Src: /src/glib/glib/tests/charset.c:50,1
    - Dst: g_get_language_names_with_category
      Src: /src/glib/glib/tests/charset.c:52,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/charset.c:51,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/charset.c:51,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/glib/tests/charset.c:53,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/charset.c:53,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/charset.c:53,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/charset.c:57,1
    - Dst: g_unsetenv
      Src: /src/glib/glib/tests/charset.c:59,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 61
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 61
    functionName: test_language_names_with_category
    functionSourceFile: /src/glib/glib/tests/charset.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_strv_length
    - g_unsetenv
    - g_test_message
    - g_setenv
    - g_assert_cmpuint
    - g_assert_cmpstr
    - g_get_language_names_with_category
    linkageType: ''
    returnType: void
    signature: 'static void test_language_names_with_category (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/charset.c:66,1
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/charset.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 73
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 73
    functionName: test_language_names_with_category_async
    functionSourceFile: /src/glib/glib/tests/charset.c
    functionUses: []
    functionsReached:
    - g_thread_new
    - g_thread_join
    linkageType: ''
    returnType: void
    signature: 'static void test_language_names_with_category_async (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/charset.c:78,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/charset.c:80,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/charset.c:83,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/charset.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 84
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 84
    functionName: main
    functionSourceFile: /src/glib/glib/tests/charset.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/glib/tests/markup-collect.c:41,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/tests/markup-collect.c:55,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/markup-collect.c:49,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/markup-collect.c:59,1
    - Dst: collect
      Src: /src/glib/glib/tests/markup-collect.c:45,1
    - Dst: collect
      Src: /src/glib/glib/tests/markup-collect.c:64,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/markup-collect.c:69,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/tests/markup-collect.c:72,1
    - Dst: n
      Src: /src/glib/glib/tests/markup-collect.c:73,1
    - Dst: n
      Src: /src/glib/glib/tests/markup-collect.c:73,1
    - Dst: n
      Src: /src/glib/glib/tests/markup-collect.c:73,1
    - Dst: g_free
      Src: /src/glib/glib/tests/markup-collect.c:76,1
    - Dst: n
      Src: /src/glib/glib/tests/markup-collect.c:73,1
    - Dst: g_free
      Src: /src/glib/glib/tests/markup-collect.c:75,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 41
    argCount: 6
    argNames:
    - context
    - element_name
    - attribute_names
    - attribute_values
    - user_data
    - error
    argTypes:
    - GMarkupParseContext*
    - char*
    - char**
    - char**
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 78
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 78
    functionName: start
    functionSourceFile: /src/glib/glib/tests/markup-collect.c
    functionUses: []
    functionsReached:
    - g_assert
    - n
    - strcmp
    - collect
    - g_string_append_printf
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void start (GMarkupParseContext *context, const char *element_name,
      const char **attribute_names, const char **attribute_values, gpointer user_data,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/markup-collect.c:207,1
    - Dst: g_markup_parse_context_parse
      Src: /src/glib/glib/tests/markup-collect.c:213,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/markup-collect.c:215,1
    - Dst: g_markup_parse_context_end_parse
      Src: /src/glib/glib/tests/markup-collect.c:217,1
    - Dst: g_markup_parse_context_new
      Src: /src/glib/glib/tests/markup-collect.c:210,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/markup-collect.c:218,1
    - Dst: g_markup_parse_context_free
      Src: /src/glib/glib/tests/markup-collect.c:220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 221
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 221
    functionName: test_cleanup
    functionSourceFile: /src/glib/glib/tests/markup-collect.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_markup_parse_context_end_parse
    - g_test_undefined
    - g_test_expect_message
    - g_markup_parse_context_new
    - g_markup_parse_context_parse
    - g_markup_parse_context_free
    linkageType: ''
    returnType: void
    signature: 'static void test_cleanup (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_markup_collect_attributes
      Src: /src/glib/glib/tests/markup-collect.c:189,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 6
    argNames:
    - context
    - element_name
    - attribute_names
    - attribute_values
    - user_data
    - error
    argTypes:
    - GMarkupParseContext*
    - gchar*
    - gchar**
    - gchar**
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 196
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 196
    functionName: start_element
    functionSourceFile: /src/glib/glib/tests/markup-collect.c
    functionUses: []
    functionsReached:
    - g_markup_collect_attributes
    linkageType: ''
    returnType: void
    signature: 'static void start_element (GMarkupParseContext *context, const gchar
      *element_name, const gchar **attribute_names, const gchar **attribute_values,
      gpointer user_data, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/tests/markup-collect.c:154,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/markup-collect.c:164,1
    - Dst: g_markup_parse_context_parse
      Src: /src/glib/glib/tests/markup-collect.c:156,1
    - Dst: g_markup_parse_context_new
      Src: /src/glib/glib/tests/markup-collect.c:155,1
    - Dst: g_markup_parse_context_end_parse
      Src: /src/glib/glib/tests/markup-collect.c:160,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/markup-collect.c:165,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/markup-collect.c:166,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/markup-collect.c:170,1
    - Dst: g_markup_parse_context_free
      Src: /src/glib/glib/tests/markup-collect.c:173,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/markup-collect.c:174,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/markup-collect.c:175,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 176
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 176
    functionName: test_collect
    functionSourceFile: /src/glib/glib/tests/markup-collect.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_markup_parse_context_end_parse
    - g_assert_cmpstr
    - g_assert_error
    - g_assert_no_error
    - g_string_free
    - g_markup_parse_context_new
    - g_string_new
    - g_markup_parse_context_parse
    - g_markup_parse_context_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_collect (gconstpointer d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/markup-collect.c:229,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/markup-collect.c:234,1
    - Dst: g_free
      Src: /src/glib/glib/tests/markup-collect.c:235,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/markup-collect.c:233,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/markup-collect.c:231,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/markup-collect.c:238,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/markup-collect.c:240,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 241
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 241
    functionName: main
    functionSourceFile: /src/glib/glib/tests/markup-collect.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_strdup_printf
    - g_test_init
    - g_test_add_data_func
    - G_N_ELEMENTS
    - g_test_run
    - g_free
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_memdup2
      Src: /src/glib/glib/tests/option-context.c:262,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 263
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 263
    functionName: copy_stringv
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_memdup2
    linkageType: ''
    returnType: char**
    signature: 'static char **copy_stringv (char **argv, int argc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:952,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:956,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:957,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:959,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:953,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/option-context.c:960,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:961,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:963,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:965,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:967,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:969,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:971,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:970,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 972
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 972
    functionName: callback_test_optional_5
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_option_context_free
    - split_string
    - g_option_context_new
    - g_assert
    - copy_stringv
    - g_assert_no_error
    - g_strfreev
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void callback_test_optional_5 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_get_help_enabled
      Src: /src/glib/glib/tests/option-context.c:1998,1
    - Dst: g_option_context_set_summary
      Src: /src/glib/glib/tests/option-context.c:2005,1
    - Dst: g_option_context_set_description
      Src: /src/glib/glib/tests/option-context.c:2006,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/option-context.c:2010,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:1996,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1999,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/option-context.c:2000,1
    - Dst: g_option_context_get_summary
      Src: /src/glib/glib/tests/option-context.c:2000,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2008,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2009,1
    - Dst: g_option_context_get_ignore_unknown_options
      Src: /src/glib/glib/tests/option-context.c:1999,1
    - Dst: g_option_context_get_description
      Src: /src/glib/glib/tests/option-context.c:2001,1
    - Dst: g_option_context_get_ignore_unknown_options
      Src: /src/glib/glib/tests/option-context.c:2009,1
    - Dst: g_option_context_set_ignore_unknown_options
      Src: /src/glib/glib/tests/option-context.c:2004,1
    - Dst: g_option_context_get_help_enabled
      Src: /src/glib/glib/tests/option-context.c:2008,1
    - Dst: g_option_context_get_description
      Src: /src/glib/glib/tests/option-context.c:2011,1
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:1995,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1998,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/option-context.c:2001,1
    - Dst: g_option_context_set_help_enabled
      Src: /src/glib/glib/tests/option-context.c:2003,1
    - Dst: g_option_context_get_summary
      Src: /src/glib/glib/tests/option-context.c:2010,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/option-context.c:2011,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:2013,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2014
      start: 1986
    functionDepth: 0
    functionLinenumber: 1986
    functionLinenumberEnd: 2014
    functionName: test_basic
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_option_context_get_ignore_unknown_options
    - g_option_context_set_description
    - g_option_context_get_summary
    - g_option_context_set_ignore_unknown_options
    - g_option_context_free
    - g_option_context_new
    - g_assert
    - g_option_context_set_summary
    - g_assert_cmpstr
    - g_option_context_get_help_enabled
    - g_option_context_get_description
    - g_option_context_set_help_enabled
    - g_option_context_add_main_entries
    linkageType: ''
    returnType: void
    signature: 'static void test_basic (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/option-context.c:2570,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:2576,1
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:2574,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:2572,1
    - Dst: g_option_context_set_ignore_unknown_options
      Src: /src/glib/glib/tests/option-context.c:2577,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:2578,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/option-context.c:2580,1
    - Dst: g_assert_null
      Src: /src/glib/glib/tests/option-context.c:2581,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:2583,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/option-context.c:2584,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:2585,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2587
      start: 2556
    functionDepth: 0
    functionLinenumber: 2556
    functionLinenumberEnd: 2587
    functionName: double_free
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_option_context_set_ignore_unknown_options
    - g_option_context_free
    - g_option_context_new
    - split_string
    - g_assert_null
    - g_test_bug
    - g_strfreev
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void double_free (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/option-context.c:272,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:276,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:278,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - before
    - after
    argTypes:
    - gchar**
    - gchar**
    constantsTouched: []
    func_position:
      end: 279
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 279
    functionName: check_identical_stringv
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void check_identical_stringv (gchar **before, gchar **after) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:990,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:997,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:994,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:995,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:991,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/option-context.c:998,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:999,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1001,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1003,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:1005,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:1009,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:1008,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:1007,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1010
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 1010
    functionName: callback_test_optional_6
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_option_context_free
    - split_string
    - g_option_context_new
    - g_assert
    - copy_stringv
    - g_assert_no_error
    - g_strfreev
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void callback_test_optional_6 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:2603,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:2607,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:2604,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:2608,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:2610,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/option-context.c:2611,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2612,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2615,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:2617,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:2618,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:2619,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2620
      start: 2589
    functionDepth: 0
    functionLinenumber: 2589
    functionLinenumberEnd: 2620
    functionName: double_zero
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_option_context_free
    - split_string
    - g_option_context_new
    - g_assert
    - copy_stringv
    - g_assert_no_error
    - g_strfreev
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void double_zero (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:1396,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:1399,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:1397,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1400
      start: 1391
    functionDepth: 0
    functionLinenumber: 1391
    functionLinenumberEnd: 1400
    functionName: empty_test2
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_option_context_parse
    - g_option_context_free
    - g_option_context_new
    linkageType: ''
    returnType: void
    signature: 'static void empty_test2 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:2141,1
    - Dst: g_option_context_get_help
      Src: /src/glib/glib/tests/option-context.c:2144,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2145,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2145,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:2142,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2146,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2146,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2147,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2147,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2148,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2148,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:2151,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:2150,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2152
      start: 2130
    functionDepth: 0
    functionLinenumber: 2130
    functionLinenumberEnd: 2152
    functionName: test_help_no_options
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_option_context_free
    - g_option_context_new
    - g_assert
    - g_option_context_get_help
    - g_option_context_add_main_entries
    - g_free
    - strstr
    linkageType: ''
    returnType: void
    signature: 'static void test_help_no_options (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:2347,1
    - Dst: g_option_context_add_group
      Src: /src/glib/glib/tests/option-context.c:2350,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/option-context.c:2363,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:2365,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:2368,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/option-context.c:2359,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:2371,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:2373,1
    - Dst: g_memdup2
      Src: /src/glib/glib/tests/option-context.c:2353,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2358,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:2366,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/option-context.c:2362,1
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:2346,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:2352,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/option-context.c:2357,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/option-context.c:2361,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:2367,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:2369,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:2372,1
    - Dst: g_option_group_new
      Src: /src/glib/glib/tests/option-context.c:2348,1
    - Dst: g_option_group_add_entries
      Src: /src/glib/glib/tests/option-context.c:2349,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:2355,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/option-context.c:2360,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2374
      start: 2320
    functionDepth: 0
    functionLinenumber: 2320
    functionLinenumberEnd: 2374
    functionName: test_group_parse
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_option_context_parse
    - g_option_context_free
    - g_option_context_new
    - split_string
    - g_assert
    - g_assert_cmpstr
    - g_option_group_new
    - g_assert_no_error
    - g_strfreev
    - g_option_group_add_entries
    - g_option_context_add_group
    - g_option_context_add_main_entries
    - g_memdup2
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_group_parse (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:1412,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:1415,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:1413,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1416
      start: 1402
    functionDepth: 0
    functionLinenumber: 1402
    functionLinenumberEnd: 1416
    functionName: empty_test3
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_option_context_parse
    - g_option_context_free
    - g_option_context_new
    linkageType: ''
    returnType: void
    signature: 'static void empty_test3 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:2178,1
    - Dst: g_option_context_set_summary
      Src: /src/glib/glib/tests/option-context.c:2179,1
    - Dst: g_option_group_new
      Src: /src/glib/glib/tests/option-context.c:2183,1
    - Dst: g_option_group_add_entries
      Src: /src/glib/glib/tests/option-context.c:2184,1
    - Dst: g_option_context_get_help
      Src: /src/glib/glib/tests/option-context.c:2188,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2190,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2189,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2191,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2200,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2203,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2204,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2207,1
    - Dst: g_option_context_add_group
      Src: /src/glib/glib/tests/option-context.c:2186,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2192,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2193,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2194,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2195,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2196,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2197,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2198,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2199,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2200,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:2208,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2207,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:2210,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2201,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/option-context.c:2175,1
    - Dst: g_option_context_set_description
      Src: /src/glib/glib/tests/option-context.c:2180,1
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:2177,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2192,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2193,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2194,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2195,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2196,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2197,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2198,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2202,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2205,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2201,1
    - Dst: g_option_context_set_help_enabled
      Src: /src/glib/glib/tests/option-context.c:2181,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2190,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2191,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2189,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2203,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2204,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2205,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2202,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2206,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2206,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2199,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 73
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2211
      start: 2154
    functionDepth: 0
    functionLinenumber: 2154
    functionLinenumberEnd: 2211
    functionName: test_help_no_help_options
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_option_context_set_description
    - g_option_context_free
    - g_option_context_new
    - g_option_context_set_summary
    - g_assert
    - g_test_bug
    - g_option_context_get_help
    - g_option_group_new
    - g_option_context_set_help_enabled
    - g_option_group_add_entries
    - g_option_context_add_group
    - g_option_context_add_main_entries
    - g_free
    - strstr
    linkageType: ''
    returnType: void
    signature: 'static void test_help_no_help_options (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:2384,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/option-context.c:2385,1
    - Dst: g_strv_length
      Src: /src/glib/glib/tests/option-context.c:2388,1
    - Dst: g_option_context_parse_strv
      Src: /src/glib/glib/tests/option-context.c:2387,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:2390,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - context
    - command_line
    argTypes:
    - GOptionContext*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2392
      start: 2376
    functionDepth: 0
    functionLinenumber: 2376
    functionLinenumberEnd: 2392
    functionName: option_context_parse_command_line
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_strfreev
    - g_option_context_parse_strv
    - g_strv_length
    - split_string
    linkageType: ''
    returnType: gint
    signature: 'static gint option_context_parse_command_line (GOptionContext *context,
      const gchar *command_line) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:1703,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:1708,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:1710,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:1707,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:1704,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/option-context.c:1711,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1712,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1715,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1716,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:1716,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:1720,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:1724,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1718,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:1723,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:1717,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1717,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:1722,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1725
      start: 1688
    functionDepth: 0
    functionLinenumber: 1688
    functionLinenumberEnd: 1725
    functionName: rest_test4
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_option_context_free
    - split_string
    - g_option_context_new
    - g_assert
    - strcmp
    - copy_stringv
    - g_assert_no_error
    - g_strfreev
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void rest_test4 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:2253,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2254,1
    - Dst: g_option_group_new
      Src: /src/glib/glib/tests/option-context.c:2255,1
    - Dst: g_option_context_add_group
      Src: /src/glib/glib/tests/option-context.c:2256,1
    - Dst: g_option_context_get_main_group
      Src: /src/glib/glib/tests/option-context.c:2254,1
    - Dst: g_option_group_new
      Src: /src/glib/glib/tests/option-context.c:2257,1
    - Dst: g_option_context_add_group
      Src: /src/glib/glib/tests/option-context.c:2258,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2259,1
    - Dst: g_option_context_get_main_group
      Src: /src/glib/glib/tests/option-context.c:2259,1
    - Dst: g_option_group_new
      Src: /src/glib/glib/tests/option-context.c:2260,1
    - Dst: g_option_context_set_main_group
      Src: /src/glib/glib/tests/option-context.c:2261,1
    - Dst: g_option_context_get_main_group
      Src: /src/glib/glib/tests/option-context.c:2262,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2262,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2266,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:2264,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2267
      start: 2246
    functionDepth: 0
    functionLinenumber: 2246
    functionLinenumberEnd: 2267
    functionName: test_main_group
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_option_context_set_main_group
    - g_option_context_free
    - g_option_context_new
    - g_assert
    - g_option_context_get_main_group
    - g_option_group_new
    - g_option_context_add_group
    linkageType: ''
    returnType: void
    signature: 'static void test_main_group (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:422,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - context
    - group
    - data
    - error
    argTypes:
    - GOptionContext*
    - GOptionGroup*
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 425
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 425
    functionName: error_test3_pre_parse
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_assert
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean error_test3_pre_parse (GOptionContext *context,\t\t\
      \ GOptionGroup *group,\t\t gpointer\t data,\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:433,1
    - Dst: g_set_error
      Src: /src/glib/glib/tests/option-context.c:436,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - context
    - group
    - data
    - error
    argTypes:
    - GOptionContext*
    - GOptionGroup*
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 439
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 439
    functionName: error_test3_post_parse
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_set_error
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean error_test3_post_parse (GOptionContext *context,\t\
      \t\tGOptionGroup *group,\t\t\tgpointer\t data,\t\t\tGError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:2407,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/option-context.c:2413,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:2408,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2414,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2422,1
    - Dst: g_option_context_set_strict_posix
      Src: /src/glib/glib/tests/option-context.c:2425,1
    - Dst: option_context_parse_command_line
      Src: /src/glib/glib/tests/option-context.c:2433,1
    - Dst: g_option_context_set_strict_posix
      Src: /src/glib/glib/tests/option-context.c:2432,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:2438,1
    - Dst: g_option_context_set_strict_posix
      Src: /src/glib/glib/tests/option-context.c:2411,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2415,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2429,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/option-context.c:2427,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2435,1
    - Dst: option_context_parse_command_line
      Src: /src/glib/glib/tests/option-context.c:2412,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/option-context.c:2420,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2421,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2428,1
    - Dst: option_context_parse_command_line
      Src: /src/glib/glib/tests/option-context.c:2426,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/option-context.c:2434,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2436,1
    - Dst: g_option_context_set_strict_posix
      Src: /src/glib/glib/tests/option-context.c:2418,1
    - Dst: option_context_parse_command_line
      Src: /src/glib/glib/tests/option-context.c:2419,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 45
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2439
      start: 2394
    functionDepth: 0
    functionLinenumber: 2394
    functionLinenumberEnd: 2439
    functionName: test_strict_posix
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_option_context_free
    - g_option_context_new
    - g_assert
    - option_context_parse_command_line
    - g_option_context_add_main_entries
    - g_option_context_set_strict_posix
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_strict_posix (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/option-context.c:2454,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/option-context.c:2459,1
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:2457,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:2461,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/option-context.c:2462,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:2464,1
    - Dst: g_option_context_parse_strv
      Src: /src/glib/glib/tests/option-context.c:2466,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2467,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/option-context.c:2468,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:2469,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:2471,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:2470,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2472
      start: 2441
    functionDepth: 0
    functionLinenumber: 2441
    functionLinenumberEnd: 2472
    functionName: flag_reverse_string
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_option_context_free
    - g_option_context_new
    - split_string
    - g_assert
    - g_test_undefined
    - g_option_context_parse_strv
    - g_test_expect_message
    - g_assert_no_error
    - g_strfreev
    - g_option_context_add_main_entries
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void flag_reverse_string (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:877,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:882,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:878,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:884,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:881,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/option-context.c:885,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:886,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:888,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:888,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:890,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:896,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:892,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:895,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:894,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 897
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 897
    functionName: callback_test_optional_3
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_option_context_free
    - split_string
    - g_option_context_new
    - g_assert
    - strcmp
    - copy_stringv
    - g_assert_no_error
    - g_strfreev
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void callback_test_optional_3 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:1158,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/option-context.c:1199,1
    - Dst: check_identical_stringv
      Src: /src/glib/glib/tests/option-context.c:1201,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:1203,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:1212,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/option-context.c:1216,1
    - Dst: check_identical_stringv
      Src: /src/glib/glib/tests/option-context.c:1218,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:1205,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:1220,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:1222,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:1195,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:1164,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:1172,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:1179,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:1189,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:1196,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1200,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/option-context.c:1204,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:1206,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:1213,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1217,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/option-context.c:1221,1
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:1157,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:1161,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/option-context.c:1165,1
    - Dst: check_identical_stringv
      Src: /src/glib/glib/tests/option-context.c:1167,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:1169,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:1171,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/option-context.c:1182,1
    - Dst: check_identical_stringv
      Src: /src/glib/glib/tests/option-context.c:1184,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:1186,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:1188,1
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:1209,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:1223,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:1162,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1166,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/option-context.c:1170,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:1178,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:1181,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:1176,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1183,1
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:1175,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/option-context.c:1187,1
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:1192,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:1193,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:1210,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:1215,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:1198,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 69
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1224
      start: 1142
    functionDepth: 0
    functionLinenumber: 1142
    functionLinenumberEnd: 1224
    functionName: callback_returns_false
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_option_context_free
    - split_string
    - g_option_context_new
    - g_assert
    - copy_stringv
    - g_strfreev
    - g_option_context_parse
    - g_option_context_add_main_entries
    - check_identical_stringv
    - g_free
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void callback_returns_false (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:1349,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:1354,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:1356,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:1350,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:1353,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/option-context.c:1357,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1358,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1361,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:1361,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1362,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:1365,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1363,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:1362,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:1369,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:1368,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:1367,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1370
      start: 1336
    functionDepth: 0
    functionLinenumber: 1336
    functionLinenumberEnd: 1370
    functionName: array_test1
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_option_context_free
    - split_string
    - g_option_context_new
    - g_assert
    - strcmp
    - copy_stringv
    - g_assert_no_error
    - g_strfreev
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void array_test1 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:914,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:918,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:921,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:915,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:919,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/option-context.c:922,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:923,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:925,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:927,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:929,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:933,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:932,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:931,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 934
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 934
    functionName: callback_test_optional_4
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_option_context_free
    - split_string
    - g_option_context_new
    - g_assert
    - copy_stringv
    - g_assert_no_error
    - g_strfreev
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void callback_test_optional_4 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:1240,1
    - Dst: g_option_context_set_ignore_unknown_options
      Src: /src/glib/glib/tests/option-context.c:1241,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:1242,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:1246,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:1245,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:1248,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/option-context.c:1249,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1250,1
    - Dst: join_stringv
      Src: /src/glib/glib/tests/option-context.c:1253,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1254,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:1254,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:1257,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:1256,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:1259,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:1258,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1260
      start: 1227
    functionDepth: 0
    functionLinenumber: 1227
    functionLinenumberEnd: 1260
    functionName: ignore_test1
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_option_context_set_ignore_unknown_options
    - g_option_context_free
    - split_string
    - g_option_context_new
    - g_assert
    - strcmp
    - copy_stringv
    - g_assert_no_error
    - join_stringv
    - g_strfreev
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void ignore_test1 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:1384,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:1386,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:1388,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:1385,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1389
      start: 1372
    functionDepth: 0
    functionLinenumber: 1372
    functionLinenumberEnd: 1389
    functionName: add_test1
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_option_context_add_main_entries
    - g_option_context_free
    - g_option_context_new
    linkageType: ''
    returnType: void
    signature: 'static void add_test1 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new
      Src: /src/glib/glib/tests/option-context.c:1110,1
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:1111,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:1116,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:1112,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:1115,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:1118,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/option-context.c:1119,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1120,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1122,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1123,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:1124,1
    - Dst: g_ptr_array_foreach
      Src: /src/glib/glib/tests/option-context.c:1126,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:1123,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:1129,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:1130,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:1131,1
    - Dst: g_ptr_array_free
      Src: /src/glib/glib/tests/option-context.c:1127,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1124,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1132
      start: 1097
    functionDepth: 0
    functionLinenumber: 1097
    functionLinenumberEnd: 1132
    functionName: callback_remaining_test1
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_option_context_free
    - split_string
    - g_option_context_new
    - g_assert
    - strcmp
    - copy_stringv
    - g_assert_no_error
    - g_ptr_array_foreach
    - g_strfreev
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_ptr_array_free
    - g_ptr_array_new
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void callback_remaining_test1 (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_undefined
      Src: /src/glib/glib/tests/option-context.c:2487,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:2494,1
    - Dst: g_test_expect_message
      Src: /src/glib/glib/tests/option-context.c:2492,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/glib/tests/option-context.c:2495,1
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:2490,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:2497,1
    - Dst: g_option_context_parse_strv
      Src: /src/glib/glib/tests/option-context.c:2499,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2500,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/option-context.c:2501,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:2502,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:2503,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2504
      start: 2474
    functionDepth: 0
    functionLinenumber: 2474
    functionLinenumberEnd: 2504
    functionName: flag_optional_int
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_option_context_free
    - g_option_context_new
    - split_string
    - g_assert
    - g_test_undefined
    - g_option_context_parse_strv
    - g_test_expect_message
    - g_assert_no_error
    - g_strfreev
    - g_option_context_add_main_entries
    linkageType: ''
    returnType: void
    signature: 'static void flag_optional_int (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/glib/tests/option-context.c:1138,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - option_name
    - value
    - data
    - error
    argTypes:
    - gchar*
    - gchar*
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 1140
      start: 1134
    functionDepth: 0
    functionLinenumber: 1134
    functionLinenumberEnd: 1140
    functionName: callback_error
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_set_error
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean callback_error (const gchar *option_name, const gchar
      *value, gpointer data, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:2550,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:2535,1
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:2533,1
    - Dst: g_option_context_set_ignore_unknown_options
      Src: /src/glib/glib/tests/option-context.c:2536,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/option-context.c:2539,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/option-context.c:2543,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/option-context.c:2545,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:2552,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:2549,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:2551,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/option-context.c:2544,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/option-context.c:2528,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2541,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/option-context.c:2546,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2547,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:2531,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:2530,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:2538,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2542,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:2553,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2554
      start: 2506
    functionDepth: 0
    functionLinenumber: 2506
    functionLinenumberEnd: 2554
    functionName: short_remaining
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_option_context_set_ignore_unknown_options
    - g_option_context_free
    - g_option_context_new
    - split_string
    - g_assert
    - g_test_bug
    - copy_stringv
    - g_assert_cmpstr
    - g_assert_no_error
    - g_strfreev
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void short_remaining (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_options
      Src: /src/glib/glib/tests/option-context.c:107,1
    - Dst: print_help
      Src: /src/glib/glib/tests/option-context.c:108,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/option-context.c:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - test_number
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 109
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 109
    functionName: test_group_captions_help_test
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - make_options
    - print_help
    linkageType: ''
    returnType: void
    signature: 'static void test_group_captions_help_test (gconstpointer test_number) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:1662,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:1663,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:1667,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:1669,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:1666,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/option-context.c:1670,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1671,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1674,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1675,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:1675,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1676,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:1676,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1677,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:1681,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:1682,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:1683,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:1679,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1684
      start: 1647
    functionDepth: 0
    functionLinenumber: 1647
    functionLinenumberEnd: 1684
    functionName: rest_test3
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_option_context_free
    - split_string
    - g_option_context_new
    - g_assert
    - strcmp
    - copy_stringv
    - g_assert_no_error
    - g_strfreev
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void rest_test3 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/tests/option-context.c:1931,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - option_name
    - value
    - data
    - error
    argTypes:
    - gchar*
    - gchar*
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 1933
      start: 1926
    functionDepth: 0
    functionLinenumber: 1926
    functionLinenumberEnd: 1933
    functionName: cb
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_strdup
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean cb (const gchar *option_name, const gchar *value,
      gpointer data, GError **error) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:141,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/option-context.c:148,1
    - Dst: g_test_verbose
      Src: /src/glib/glib/tests/option-context.c:135,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/option-context.c:138,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/glib/tests/option-context.c:143,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/glib/tests/option-context.c:174,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/glib/tests/option-context.c:183,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/glib/tests/option-context.c:178,1
    - Dst: g_test_trap_assert_stdout_unmatched
      Src: /src/glib/glib/tests/option-context.c:189,1
    - Dst: g_test_trap_assert_stdout_unmatched
      Src: /src/glib/glib/tests/option-context.c:194,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/glib/tests/option-context.c:140,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/glib/tests/option-context.c:126,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/glib/tests/option-context.c:142,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/option-context.c:161,1
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/option-context.c:166,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/option-context.c:119,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/option-context.c:154,1
    - Dst: g_test_trap_assert_stdout_unmatched
      Src: /src/glib/glib/tests/option-context.c:180,1
    - Dst: g_test_trap_assert_stdout_unmatched
      Src: /src/glib/glib/tests/option-context.c:185,1
    - Dst: g_test_trap_assert_stdout_unmatched
      Src: /src/glib/glib/tests/option-context.c:176,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/glib/tests/option-context.c:187,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/glib/tests/option-context.c:192,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 197
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 197
    functionName: test_group_captions
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_passed
    - g_strdup_printf
    - G_N_ELEMENTS
    - g_test_verbose
    - g_test_trap_assert_stdout_unmatched
    - g_test_trap_assert_stderr
    - g_test_bug
    - g_assert_cmpstr
    - g_assert_not_reached
    - g_test_trap_subprocess
    - g_test_trap_assert_stdout
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_group_captions (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/option-context.c:1963,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:1956,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:1953,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1962,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:1966,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/option-context.c:1979,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:1981,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/option-context.c:1977,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:1972,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:1976,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:1957,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:1961,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:1967,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1978,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:1983,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/option-context.c:1950,1
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:1952,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/option-context.c:1964,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:1973,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:1968,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:1982,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1984
      start: 1935
    functionDepth: 0
    functionLinenumber: 1935
    functionLinenumberEnd: 1984
    functionName: dash_arg_test
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_option_context_free
    - split_string
    - g_option_context_new
    - g_assert
    - g_test_bug
    - copy_stringv
    - g_assert_cmpstr
    - g_assert_no_error
    - g_strfreev
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void dash_arg_test (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:598,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:605,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:599,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:602,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:603,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/option-context.c:606,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:607,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:610,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:612,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:613,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:614,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 615
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 615
    functionName: arg_test4
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_option_context_free
    - split_string
    - g_option_context_new
    - g_assert
    - copy_stringv
    - g_assert_no_error
    - g_strfreev
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void arg_test4 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:761,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:762,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:766,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:765,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:768,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/option-context.c:769,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:770,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:772,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:774,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:775,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:776,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 777
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 777
    functionName: callback_test2
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_option_context_free
    - split_string
    - g_option_context_new
    - g_assert
    - copy_stringv
    - g_assert_no_error
    - g_strfreev
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void callback_test2 (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:2029,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:2033,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:2031,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2037
      start: 2023
    functionDepth: 0
    functionLinenumber: 2023
    functionLinenumberEnd: 2037
    functionName: translate_func
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *translate_func (const gchar *str, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:2058,1
    - Dst: g_option_context_set_description
      Src: /src/glib/glib/tests/option-context.c:2061,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:2059,1
    - Dst: g_option_context_set_summary
      Src: /src/glib/glib/tests/option-context.c:2060,1
    - Dst: g_option_context_set_translate_func
      Src: /src/glib/glib/tests/option-context.c:2063,1
    - Dst: g_option_context_get_help
      Src: /src/glib/glib/tests/option-context.c:2065,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:2066,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:2067,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2069,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2070,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2072,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2071,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2073
      start: 2047
    functionDepth: 0
    functionLinenumber: 2047
    functionLinenumberEnd: 2073
    functionName: test_translate
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_option_context_set_description
    - g_option_context_free
    - g_option_context_new
    - g_option_context_set_summary
    - g_assert
    - g_option_context_get_help
    - g_option_context_set_translate_func
    - g_option_context_add_main_entries
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_translate (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_set_description
      Src: /src/glib/glib/tests/option-context.c:2099,1
    - Dst: g_option_group_add_entries
      Src: /src/glib/glib/tests/option-context.c:2102,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2111,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2112,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2113,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2115,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2117,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2118,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2122,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2123,1
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:2096,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:2097,1
    - Dst: g_option_group_new
      Src: /src/glib/glib/tests/option-context.c:2101,1
    - Dst: g_option_context_get_help
      Src: /src/glib/glib/tests/option-context.c:2106,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2107,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2108,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2111,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2112,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2109,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2114,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2124,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:2125,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2116,1
    - Dst: g_option_context_set_summary
      Src: /src/glib/glib/tests/option-context.c:2098,1
    - Dst: g_option_context_add_group
      Src: /src/glib/glib/tests/option-context.c:2104,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2110,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2110,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2113,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2115,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2117,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2120,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2124,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:2127,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2119,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2107,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2108,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2109,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2114,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2116,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2119,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2120,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2121,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2121,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2122,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2123,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2118,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 68
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2128
      start: 2075
    functionDepth: 0
    functionLinenumber: 2075
    functionLinenumberEnd: 2128
    functionName: test_help
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_option_context_set_description
    - g_option_context_free
    - g_option_context_new
    - g_option_context_set_summary
    - g_assert
    - g_option_context_get_help
    - g_option_group_new
    - g_option_group_add_entries
    - g_option_context_add_group
    - g_option_context_add_main_entries
    - g_free
    - strstr
    linkageType: ''
    returnType: void
    signature: 'static void test_help (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:632,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:633,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:637,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:636,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/option-context.c:641,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/option-context.c:641,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/option-context.c:642,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:643,1
    - Dst: fprintf
      Src: /src/glib/glib/tests/option-context.c:645,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:649,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/option-context.c:650,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:654,1
    - Dst: setlocale
      Src: /src/glib/glib/tests/option-context.c:657,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:658,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:661,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:651,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:660,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:662,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 663
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 663
    functionName: arg_test5
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_option_context_free
    - fprintf
    - split_string
    - g_option_context_new
    - g_assert
    - strcmp
    - copy_stringv
    - setlocale
    - g_assert_no_error
    - g_strfreev
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void arg_test5 (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/tests/option-context.c:785,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 4
    argNames:
    - option_name
    - value
    - data
    - error
    argTypes:
    - gchar*
    - gchar*
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 789
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 789
    functionName: callback_parse_optional
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_strdup
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean callback_parse_optional (const gchar *option_name,\
      \ const gchar *value,\t\t gpointer data, GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 2045
      start: 2039
    functionDepth: 0
    functionLinenumber: 2039
    functionLinenumberEnd: 2045
    functionName: destroy_notify
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void destroy_notify (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:1433,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:1437,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:1438,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:1440,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:1434,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/option-context.c:1441,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1442,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1445,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1446,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:1446,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:1447,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1448,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:1452,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1449,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:1451,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1447,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:1448,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:1453,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1454
      start: 1419
    functionDepth: 0
    functionLinenumber: 1419
    functionLinenumberEnd: 1454
    functionName: rest_test1
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_option_context_free
    - split_string
    - g_option_context_new
    - g_assert
    - strcmp
    - copy_stringv
    - g_assert_no_error
    - g_strfreev
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void rest_test1 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:1743,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:1748,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:1747,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:1750,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:1744,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/option-context.c:1751,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1752,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1755,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1756,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:1756,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:1757,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:1762,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:1763,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1757,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:1760,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1758,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:1764,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1765
      start: 1728
    functionDepth: 0
    functionLinenumber: 1728
    functionLinenumberEnd: 1765
    functionName: rest_test5
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_option_context_free
    - split_string
    - g_option_context_new
    - g_assert
    - strcmp
    - copy_stringv
    - g_assert_no_error
    - g_strfreev
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void rest_test5 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:2225,1
    - Dst: g_option_context_set_summary
      Src: /src/glib/glib/tests/option-context.c:2227,1
    - Dst: g_option_context_get_help
      Src: /src/glib/glib/tests/option-context.c:2230,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:2226,1
    - Dst: g_option_context_set_description
      Src: /src/glib/glib/tests/option-context.c:2228,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/option-context.c:2231,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2232,1
    - Dst: strstr
      Src: /src/glib/glib/tests/option-context.c:2232,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:2233,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:2235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2236
      start: 2213
    functionDepth: 0
    functionLinenumber: 2213
    functionLinenumberEnd: 2236
    functionName: test_help_deprecated
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_option_context_set_description
    - g_option_context_free
    - g_option_context_new
    - g_option_context_set_summary
    - g_test_message
    - g_assert
    - g_option_context_get_help
    - g_option_context_add_main_entries
    - g_free
    - strstr
    linkageType: ''
    returnType: void
    signature: 'static void test_help_deprecated (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/option-context.c:1778,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:1784,1
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:1780,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:1781,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:1785,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:1787,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1788,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1789,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/option-context.c:1790,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:1792,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:1794,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:1793,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1795
      start: 1767
    functionDepth: 0
    functionLinenumber: 1767
    functionLinenumberEnd: 1795
    functionName: unknown_short_test
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_option_context_free
    - split_string
    - g_option_context_new
    - g_assert
    - g_test_bug
    - copy_stringv
    - g_strfreev
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void unknown_short_test (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 2244
      start: 2238
    functionDepth: 0
    functionLinenumber: 2238
    functionLinenumberEnd: 2244
    functionName: set_bool
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void set_bool (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:805,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:812,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:809,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:810,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:806,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/option-context.c:813,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:814,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:816,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:816,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:818,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:820,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:824,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:823,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:822,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 825
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 825
    functionName: callback_test_optional_1
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_option_context_free
    - split_string
    - g_option_context_new
    - g_assert
    - strcmp
    - copy_stringv
    - g_assert_no_error
    - g_strfreev
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void callback_test_optional_1 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:841,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:848,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:842,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:845,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:846,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/option-context.c:849,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:850,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:852,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:854,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:856,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:860,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:859,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:858,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 861
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 861
    functionName: callback_test_optional_2
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_option_context_free
    - split_string
    - g_option_context_new
    - g_assert
    - copy_stringv
    - g_assert_no_error
    - g_strfreev
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void callback_test_optional_2 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:1585,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:1586,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:1590,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:1592,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:1589,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/option-context.c:1593,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1594,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1597,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1598,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:1598,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:1605,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:1604,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1600,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:1599,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1599,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:1603,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:1600,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1601,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1606
      start: 1571
    functionDepth: 0
    functionLinenumber: 1571
    functionLinenumberEnd: 1606
    functionName: rest_test2c
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_option_context_free
    - split_string
    - g_option_context_new
    - g_assert
    - strcmp
    - copy_stringv
    - g_assert_no_error
    - g_strfreev
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void rest_test2c (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strsplit
      Src: /src/glib/glib/tests/option-context.c:229,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 237
    functionName: split_string
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_strsplit
    linkageType: ''
    returnType: gchar**
    signature: 'static gchar **split_string (const char *str, int *argc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:367,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:367,1
    - Dst: g_set_error
      Src: /src/glib/glib/tests/option-context.c:370,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - context
    - group
    - data
    - error
    argTypes:
    - GOptionContext*
    - GOptionGroup*
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 373
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 373
    functionName: error_test2_post_parse
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_set_error
    - strcmp
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean error_test2_post_parse (GOptionContext *context,\t\
      \t\tGOptionGroup *group,\t\t\tgpointer\t data,\t\t\tGError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:530,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:531,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:537,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:534,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:535,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/option-context.c:538,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:539,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:542,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:542,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:544,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:548,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:547,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:546,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 549
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 549
    functionName: arg_test2
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_option_context_free
    - split_string
    - g_option_context_new
    - g_assert
    - strcmp
    - copy_stringv
    - g_assert_no_error
    - g_strfreev
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void arg_test2 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:1028,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:1033,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:1029,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:1035,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:1032,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/option-context.c:1036,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1037,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1039,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1041,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:1043,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:1046,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:1045,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:1047,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1048
      start: 1012
    functionDepth: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1048
    functionName: callback_test_optional_7
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_option_context_free
    - split_string
    - g_option_context_new
    - g_assert
    - copy_stringv
    - g_assert_no_error
    - g_strfreev
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void callback_test_optional_7 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:1510,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:1511,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:1515,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:1517,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:1514,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/option-context.c:1518,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1519,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1522,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1523,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:1523,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1524,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:1524,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1525,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:1528,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:1529,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:1525,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1526,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:1530,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1531
      start: 1496
    functionDepth: 0
    functionLinenumber: 1496
    functionLinenumberEnd: 1531
    functionName: rest_test2a
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_option_context_free
    - split_string
    - g_option_context_new
    - g_assert
    - strcmp
    - copy_stringv
    - g_assert_no_error
    - g_strfreev
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void rest_test2a (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/tests/option-context.c:245,1
    - Dst: g_string_append
      Src: /src/glib/glib/tests/option-context.c:249,1
    - Dst: g_string_append_c
      Src: /src/glib/glib/tests/option-context.c:252,1
    - Dst: g_string_free
      Src: /src/glib/glib/tests/option-context.c:255,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 256
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 256
    functionName: join_stringv
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_string_append_c
    - g_string_free
    - g_string_append
    - g_string_new
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *join_stringv (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:391,1
    - Dst: g_option_group_set_parse_hooks
      Src: /src/glib/glib/tests/option-context.c:396,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:400,1
    - Dst: g_option_context_get_main_group
      Src: /src/glib/glib/tests/option-context.c:395,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:392,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:401,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:402,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:404,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:405,1
    - Dst: check_identical_stringv
      Src: /src/glib/glib/tests/option-context.c:406,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/option-context.c:407,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:409,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:409,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:412,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:413,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:411,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 414
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 414
    functionName: error_test2
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_option_group_set_parse_hooks
    - g_clear_error
    - g_option_context_free
    - split_string
    - g_option_context_new
    - g_assert
    - g_option_context_get_main_group
    - strcmp
    - copy_stringv
    - g_strfreev
    - g_option_context_parse
    - g_option_context_add_main_entries
    - check_identical_stringv
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void error_test2 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:564,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:565,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:569,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:571,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:568,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/option-context.c:572,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:573,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:576,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:576,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:578,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:581,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:580,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:582,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 583
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 583
    functionName: arg_test3
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_option_context_free
    - split_string
    - g_option_context_new
    - g_assert
    - strcmp
    - copy_stringv
    - g_assert_no_error
    - g_strfreev
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void arg_test3 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:1066,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:1067,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:1071,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:1073,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:1070,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/option-context.c:1074,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1075,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1077,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1079,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:1081,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:1085,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:1084,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:1083,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1086
      start: 1050
    functionDepth: 0
    functionLinenumber: 1050
    functionLinenumberEnd: 1086
    functionName: callback_test_optional_8
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_option_context_free
    - split_string
    - g_option_context_new
    - g_assert
    - copy_stringv
    - g_assert_no_error
    - g_strfreev
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void callback_test_optional_8 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:1555,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1557,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1563,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:1566,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:1549,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:1552,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/option-context.c:1556,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1561,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1564,1
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:1547,1
    - Dst: g_option_context_set_ignore_unknown_options
      Src: /src/glib/glib/tests/option-context.c:1548,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:1553,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:1561,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:1562,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:1568,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1560,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1562,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:1567,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:1563,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1569
      start: 1533
    functionDepth: 0
    functionLinenumber: 1533
    functionLinenumberEnd: 1569
    functionName: rest_test2b
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_option_context_set_ignore_unknown_options
    - g_option_context_free
    - split_string
    - g_option_context_new
    - g_assert
    - strcmp
    - copy_stringv
    - g_assert_no_error
    - g_strfreev
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void rest_test2b (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:1622,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:1629,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:1623,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:1626,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:1627,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/option-context.c:1630,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1631,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1634,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1635,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:1635,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:1637,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1638,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:1642,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1637,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:1636,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:1641,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:1640,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1636,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1643
      start: 1608
    functionDepth: 0
    functionLinenumber: 1608
    functionLinenumberEnd: 1643
    functionName: rest_test2d
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_option_context_free
    - split_string
    - g_option_context_new
    - g_assert
    - strcmp
    - copy_stringv
    - g_assert_no_error
    - g_strfreev
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void rest_test2d (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:323,1
    - Dst: g_option_group_set_parse_hooks
      Src: /src/glib/glib/tests/option-context.c:328,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:332,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:324,1
    - Dst: g_option_context_get_main_group
      Src: /src/glib/glib/tests/option-context.c:327,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:333,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:335,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:336,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:337,1
    - Dst: check_identical_stringv
      Src: /src/glib/glib/tests/option-context.c:339,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/option-context.c:340,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:347,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:343,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:346,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:345,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 348
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 348
    functionName: error_test1
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_option_group_set_parse_hooks
    - g_clear_error
    - g_option_context_free
    - split_string
    - g_option_context_new
    - g_assert
    - g_option_context_get_main_group
    - copy_stringv
    - g_strfreev
    - g_option_context_parse
    - g_option_context_add_main_entries
    - check_identical_stringv
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void error_test1 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:679,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:683,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:684,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:686,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:680,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/option-context.c:687,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:688,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:691,1
    - Dst: G_GINT64_CONSTANT
      Src: /src/glib/glib/tests/option-context.c:691,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:692,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:696,1
    - Dst: G_GINT64_CONSTANT
      Src: /src/glib/glib/tests/option-context.c:692,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:695,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:694,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 697
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 697
    functionName: arg_test6
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_option_context_free
    - split_string
    - g_option_context_new
    - g_assert
    - G_GINT64_CONSTANT
    - copy_stringv
    - g_assert_no_error
    - g_strfreev
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void arg_test6 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:720,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:721,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:725,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:727,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:724,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/option-context.c:728,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:729,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:731,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:731,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:733,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:735,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:737,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:736,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 738
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 738
    functionName: callback_test1
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_option_context_free
    - split_string
    - g_option_context_new
    - g_assert
    - strcmp
    - copy_stringv
    - g_assert_no_error
    - g_strfreev
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void callback_test1 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:1276,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:1281,1
    - Dst: g_option_context_set_ignore_unknown_options
      Src: /src/glib/glib/tests/option-context.c:1277,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:1278,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:1282,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:1284,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/option-context.c:1285,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1286,1
    - Dst: join_stringv
      Src: /src/glib/glib/tests/option-context.c:1289,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1290,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:1290,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:1293,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:1292,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:1295,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:1294,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1296
      start: 1262
    functionDepth: 0
    functionLinenumber: 1262
    functionLinenumberEnd: 1296
    functionName: ignore_test2
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_option_context_set_ignore_unknown_options
    - g_option_context_free
    - split_string
    - g_option_context_new
    - g_assert
    - strcmp
    - copy_stringv
    - g_assert_no_error
    - join_stringv
    - g_strfreev
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void ignore_test2 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:356,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:356,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - context
    - group
    - data
    - error
    argTypes:
    - GOptionContext*
    - GOptionGroup*
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 359
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 359
    functionName: error_test2_pre_parse
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_assert
    - strcmp
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean error_test2_pre_parse (GOptionContext *context,\t\t\
      \ GOptionGroup *group,\t\t gpointer\t data,\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/glib/tests/option-context.c:703,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - option_name
    - value
    - data
    - error
    argTypes:
    - gchar*
    - gchar*
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 705
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 705
    functionName: callback_parse1
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_strdup
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean callback_parse1 (const gchar *option_name, const gchar\
      \ *value,\t\t gpointer data, GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 4
    argNames:
    - option_name
    - value
    - data
    - error
    argTypes:
    - gchar*
    - gchar*
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 746
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 746
    functionName: callback_parse2
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean callback_parse2 (const gchar *option_name, const gchar\
      \ *value,\t\t gpointer data, GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:1311,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:1313,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:1317,1
    - Dst: g_option_context_set_ignore_unknown_options
      Src: /src/glib/glib/tests/option-context.c:1312,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:1316,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:1319,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/option-context.c:1320,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1321,1
    - Dst: join_stringv
      Src: /src/glib/glib/tests/option-context.c:1324,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1325,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:1325,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:1331,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1327,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:1330,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:1333,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:1327,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:1328,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:1332,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1334
      start: 1298
    functionDepth: 0
    functionLinenumber: 1298
    functionLinenumberEnd: 1334
    functionName: ignore_test3
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_option_context_set_ignore_unknown_options
    - g_option_context_free
    - split_string
    - g_option_context_new
    - g_assert
    - strcmp
    - copy_stringv
    - g_assert_no_error
    - join_stringv
    - g_strfreev
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void ignore_test3 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:1478,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1480,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1486,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:1487,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:1491,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:1472,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:1475,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1484,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:1490,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1487,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:1476,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:1484,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1488,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:1485,1
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:1471,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/option-context.c:1479,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1483,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1485,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:1486,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:1492,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1493
      start: 1457
    functionDepth: 0
    functionLinenumber: 1457
    functionLinenumberEnd: 1493
    functionName: rest_test2
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_option_context_free
    - split_string
    - g_option_context_new
    - g_assert
    - strcmp
    - copy_stringv
    - g_assert_no_error
    - g_strfreev
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void rest_test2 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/option-context.c:1808,1
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:1810,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:1813,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:1814,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:1816,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/option-context.c:1817,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1818,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1820,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/option-context.c:1820,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:1822,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:1823,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:1824,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1825
      start: 1798
    functionDepth: 0
    functionLinenumber: 1798
    functionLinenumberEnd: 1825
    functionName: lonely_dash_test
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_option_context_free
    - split_string
    - g_option_context_new
    - g_assert
    - strcmp
    - g_test_bug
    - copy_stringv
    - g_assert_no_error
    - g_strfreev
    - g_option_context_parse
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void lonely_dash_test (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_options
      Src: /src/glib/glib/tests/option-context.c:87,1
    - Dst: print_help
      Src: /src/glib/glib/tests/option-context.c:88,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/option-context.c:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - test_number
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: test_group_captions_help
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - make_options
    - print_help
    linkageType: ''
    returnType: void
    signature: 'static void test_group_captions_help (gconstpointer test_number) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:288,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - context
    - group
    - data
    - error
    argTypes:
    - GOptionContext*
    - GOptionGroup*
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 291
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 291
    functionName: error_test1_pre_parse
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_assert
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean error_test1_pre_parse (GOptionContext *context,\t\t\
      \ GOptionGroup *group,\t\t gpointer\t data,\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:457,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:466,1
    - Dst: g_option_group_set_parse_hooks
      Src: /src/glib/glib/tests/option-context.c:462,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:458,1
    - Dst: g_option_context_get_main_group
      Src: /src/glib/glib/tests/option-context.c:461,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:467,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:468,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:470,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:471,1
    - Dst: check_identical_stringv
      Src: /src/glib/glib/tests/option-context.c:472,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:479,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:475,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:478,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/option-context.c:473,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:477,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 480
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 480
    functionName: error_test3
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_option_group_set_parse_hooks
    - g_clear_error
    - g_option_context_free
    - split_string
    - g_option_context_new
    - g_assert
    - g_option_context_get_main_group
    - copy_stringv
    - g_strfreev
    - g_option_context_parse
    - g_option_context_add_main_entries
    - check_identical_stringv
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void error_test3 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_options
      Src: /src/glib/glib/tests/option-context.c:97,1
    - Dst: print_help
      Src: /src/glib/glib/tests/option-context.c:98,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/option-context.c:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - test_number
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: test_group_captions_help_all
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - make_options
    - print_help
    linkageType: ''
    returnType: void
    signature: 'static void test_group_captions_help_all (gconstpointer test_number) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:299,1
    - Dst: g_set_error
      Src: /src/glib/glib/tests/option-context.c:302,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - context
    - group
    - data
    - error
    argTypes:
    - GOptionContext*
    - GOptionGroup*
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 305
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 305
    functionName: error_test1_post_parse
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_set_error
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean error_test1_post_parse (GOptionContext *context,\t\
      \t\tGOptionGroup *group,\t\t\tgpointer\t data,\t\t\tGError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:495,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:502,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:496,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:500,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:499,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/option-context.c:503,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:504,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:507,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:512,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:513,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:514,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 515
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 515
    functionName: arg_test1
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_option_context_free
    - split_string
    - g_option_context_new
    - g_assert
    - copy_stringv
    - g_assert_no_error
    - g_strfreev
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void arg_test1 (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:54,1
    - Dst: g_option_group_new
      Src: /src/glib/glib/tests/option-context.c:60,1
    - Dst: g_option_context_add_group
      Src: /src/glib/glib/tests/option-context.c:63,1
    - Dst: g_option_group_add_entries
      Src: /src/glib/glib/tests/option-context.c:64,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:57,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 68
    functionName: make_options
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_option_context_new
    - g_option_group_new
    - g_option_group_add_entries
    - g_option_context_add_group
    - g_option_context_add_main_entries
    linkageType: ''
    returnType: GOptionContext*
    signature: 'static GOptionContext *make_options (int test_number) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/option-context.c:2277,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/glib/tests/option-context.c:2277,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - context
    - group
    - data
    - error
    argTypes:
    - GOptionContext*
    - GOptionGroup*
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 2279
      start: 2271
    functionDepth: 0
    functionLinenumber: 2271
    functionLinenumberEnd: 2279
    functionName: error_func
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void error_func (GOptionContext *context, GOptionGroup *group,
      gpointer data, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:1890,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:1887,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/option-context.c:1898,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/option-context.c:1912,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:1916,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:1891,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1894,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:1901,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:1904,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:1905,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1908,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:1915,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:1921,1
    - Dst: g_test_bug
      Src: /src/glib/glib/tests/option-context.c:1884,1
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:1886,1
    - Dst: check_identical_stringv
      Src: /src/glib/glib/tests/option-context.c:1897,1
    - Dst: check_identical_stringv
      Src: /src/glib/glib/tests/option-context.c:1911,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:1900,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:1914,1
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:1919,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/option-context.c:1920,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:1893,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1895,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:1907,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1909,1
    - Dst: g_option_context_parse_strv
      Src: /src/glib/glib/tests/option-context.c:1920,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1922
      start: 1870
    functionDepth: 0
    functionLinenumber: 1870
    functionLinenumberEnd: 1922
    functionName: missing_arg_test
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_assert_true
    - g_option_context_free
    - split_string
    - g_option_context_new
    - g_assert
    - g_option_context_parse_strv
    - g_test_bug
    - copy_stringv
    - g_strfreev
    - g_option_context_parse
    - g_option_context_add_main_entries
    - check_identical_stringv
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void missing_arg_test (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:76,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:77,1
    - Dst: exit
      Src: /src/glib/glib/tests/option-context.c:78,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - options
    - argv
    argTypes:
    - GOptionContext*
    - gchar**
    constantsTouched: []
    func_position:
      end: 79
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 79
    functionName: print_help
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - exit
    - g_option_context_free
    - g_option_context_parse
    linkageType: ''
    returnType: void
    signature: 'static void print_help (GOptionContext *options, gchar **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:2296,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/option-context.c:2297,1
    - Dst: g_option_group_add_entries
      Src: /src/glib/glib/tests/option-context.c:2298,1
    - Dst: g_option_group_new
      Src: /src/glib/glib/tests/option-context.c:2297,1
    - Dst: g_option_context_set_main_group
      Src: /src/glib/glib/tests/option-context.c:2299,1
    - Dst: g_option_group_set_error_hook
      Src: /src/glib/glib/tests/option-context.c:2300,1
    - Dst: g_option_context_get_main_group
      Src: /src/glib/glib/tests/option-context.c:2300,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:2303,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:2304,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:2306,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2307,1
    - Dst: check_identical_stringv
      Src: /src/glib/glib/tests/option-context.c:2310,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:2315,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2308,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:2316,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:2313,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:2317,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/option-context.c:2311,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2318
      start: 2281
    functionDepth: 0
    functionLinenumber: 2281
    functionLinenumberEnd: 2318
    functionName: test_error_hook
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_option_context_parse
    - g_option_context_set_main_group
    - g_option_context_free
    - g_option_context_new
    - split_string
    - g_assert
    - g_option_context_get_main_group
    - copy_stringv
    - g_option_group_new
    - g_strfreev
    - GINT_TO_POINTER
    - g_option_group_add_entries
    - g_option_group_set_error_hook
    - check_identical_stringv
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_error_hook (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/option-context.c:2647,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/option-context.c:2648,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/option-context.c:2651,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/option-context.c:2652,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2658,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2674,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2677,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2716,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2732,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2733,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2672,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2730,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2694,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2714,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2700,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2681,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2735,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2697,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2718,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/option-context.c:2629,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2638,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2640,1
    - Dst: g_strdup_printf
      Src: /src/glib/glib/tests/option-context.c:2643,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/option-context.c:2648,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:2646,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/option-context.c:2652,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:2650,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2659,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2660,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2669,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2684,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2685,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2702,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2665,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2725,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2724,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2729,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2670,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2690,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2713,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2680,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/glib/tests/option-context.c:2644,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2687,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2715,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/option-context.c:2737,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2734,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2691,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2673,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2731,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2661,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2719,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2720,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2717,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2634,1
    - Dst: g_test_init
      Src: /src/glib/glib/tests/option-context.c:2630,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2632,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2633,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2635,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2637,1
    - Dst: g_test_add_data_func
      Src: /src/glib/glib/tests/option-context.c:2644,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:2655,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2664,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2666,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2703,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2709,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2721,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2701,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2689,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2688,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2710,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2671,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2728,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/option-context.c:2686,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 80
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 2738
      start: 2622
    functionDepth: 0
    functionLinenumber: 2622
    functionLinenumberEnd: 2738
    functionName: main
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_strdup_printf
    - g_test_add_data_func
    - g_setenv
    - g_free
    - g_test_run
    - GINT_TO_POINTER
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/glib/tests/option-context.c:1093,1
    - Dst: g_strdup
      Src: /src/glib/glib/tests/option-context.c:1093,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - option_name
    - value
    - data
    - error
    argTypes:
    - gchar*
    - gchar*
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 1095
      start: 1089
    functionDepth: 0
    functionLinenumber: 1089
    functionLinenumberEnd: 1095
    functionName: callback_remaining_test1_callback
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_ptr_array_add
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean callback_remaining_test1_callback (const gchar *option_name,\
      \ const gchar *value,\t\t gpointer data, GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/option-context.c:1848,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/option-context.c:1849,1
    - Dst: g_option_context_add_group
      Src: /src/glib/glib/tests/option-context.c:1854,1
    - Dst: g_option_group_new
      Src: /src/glib/glib/tests/option-context.c:1851,1
    - Dst: g_option_group_add_entries
      Src: /src/glib/glib/tests/option-context.c:1852,1
    - Dst: split_string
      Src: /src/glib/glib/tests/option-context.c:1857,1
    - Dst: copy_stringv
      Src: /src/glib/glib/tests/option-context.c:1858,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/option-context.c:1860,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/option-context.c:1861,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/option-context.c:1862,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/option-context.c:1866,1
    - Dst: g_free
      Src: /src/glib/glib/tests/option-context.c:1867,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/option-context.c:1864,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/option-context.c:1865,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1868
      start: 1828
    functionDepth: 0
    functionLinenumber: 1828
    functionLinenumberEnd: 1868
    functionName: triple_dash_test
    functionSourceFile: /src/glib/glib/tests/option-context.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_option_context_parse
    - g_option_context_free
    - g_option_context_new
    - split_string
    - g_assert
    - copy_stringv
    - g_option_group_new
    - g_strfreev
    - g_option_group_add_entries
    - g_option_context_add_group
    - g_option_context_add_main_entries
    - g_free
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void triple_dash_test (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - signum
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: handle_usr1
    functionSourceFile: /src/glib/glib/tests/mapping.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void handle_usr1 (int signum) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_test
      Src: /src/glib/glib/tests/mapping.c:52,1
    - Dst: g_main_loop_quit
      Src: /src/glib/glib/tests/mapping.c:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 59
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 59
    functionName: check_stop
    functionSourceFile: /src/glib/glib/tests/mapping.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    - g_file_test
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean check_stop (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mapped_file_new
      Src: /src/glib/glib/tests/mapping.c:81,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/mapping.c:82,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/mapping.c:83,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 86
    functionName: map_or_die
    functionSourceFile: /src/glib/glib/tests/mapping.c
    functionUses: []
    functionsReached:
    - g_mapped_file_new
    - g_assert_nonnull
    - g_assert_no_error
    linkageType: ''
    returnType: GMappedFile*
    signature: "static GMappedFile *map_or_die (const gchar *filename,\t gboolean\
      \ writable) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/mapping.c:105,1
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/mapping.c:113,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/mapping.c:118,1
    - Dst: g_free
      Src: /src/glib/glib/tests/mapping.c:126,1
    - Dst: signal_parent
      Src: /src/glib/glib/tests/mapping.c:129,1
    - Dst: atoi
      Src: /src/glib/glib/tests/mapping.c:107,1
    - Dst: g_idle_add
      Src: /src/glib/glib/tests/mapping.c:114,1
    - Dst: write_or_die
      Src: /src/glib/glib/tests/mapping.c:120,1
    - Dst: g_get_current_dir
      Src: /src/glib/glib/tests/mapping.c:103,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/mapping.c:104,1
    - Dst: map_or_die
      Src: /src/glib/glib/tests/mapping.c:108,1
    - Dst: g_idle_add_once
      Src: /src/glib/glib/tests/mapping.c:115,1
    - Dst: g_free
      Src: /src/glib/glib/tests/mapping.c:124,1
    - Dst: g_free
      Src: /src/glib/glib/tests/mapping.c:125,1
    - Dst: g_mapped_file_unref
      Src: /src/glib/glib/tests/mapping.c:127,1
    - Dst: signal
      Src: /src/glib/glib/tests/mapping.c:111,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/mapping.c:116,1
    - Dst: g_mapped_file_get_length
      Src: /src/glib/glib/tests/mapping.c:122,1
    - Dst: g_mapped_file_get_contents
      Src: /src/glib/glib/tests/mapping.c:121,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 130
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 130
    functionName: child_main
    functionSourceFile: /src/glib/glib/tests/mapping.c
    functionUses: []
    functionsReached:
    - signal
    - g_main_loop_run
    - g_mapped_file_get_length
    - map_or_die
    - g_test_message
    - signal_parent
    - g_free
    - g_idle_add_once
    - g_idle_add
    - g_main_loop_new
    - write_or_die
    - g_mapped_file_get_contents
    - g_build_filename
    - g_get_current_dir
    - atoi
    - g_mapped_file_unref
    linkageType: ''
    returnType: void
    signature: 'static void child_main (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_current_dir
      Src: /src/glib/glib/tests/mapping.c:169,1
    - Dst: map_or_die
      Src: /src/glib/glib/tests/mapping.c:173,1
    - Dst: g_mapped_file_get_contents
      Src: /src/glib/glib/tests/mapping.c:175,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/mapping.c:170,1
    - Dst: write_or_die
      Src: /src/glib/glib/tests/mapping.c:172,1
    - Dst: g_mapped_file_unref
      Src: /src/glib/glib/tests/mapping.c:179,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/tests/mapping.c:181,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/mapping.c:182,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mapping.c:183,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mapping.c:184,1
    - Dst: g_free
      Src: /src/glib/glib/tests/mapping.c:188,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/mapping.c:192,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/mapping.c:185,1
    - Dst: g_free
      Src: /src/glib/glib/tests/mapping.c:186,1
    - Dst: g_free
      Src: /src/glib/glib/tests/mapping.c:189,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 193
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 193
    functionName: test_private
    functionSourceFile: /src/glib/glib/tests/mapping.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - map_or_die
    - g_assert_cmpstr
    - g_assert_no_error
    - write_or_die
    - g_mapped_file_get_contents
    - g_file_get_contents
    - g_build_filename
    - g_remove
    - g_get_current_dir
    - g_free
    - g_mapped_file_unref
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_private (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: kill
      Src: /src/glib/glib/tests/mapping.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: signal_parent
    functionSourceFile: /src/glib/glib/tests/mapping.c
    functionUses: []
    functionsReached:
    - kill
    linkageType: ''
    returnType: void
    signature: 'static void signal_parent (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_set_contents
      Src: /src/glib/glib/tests/mapping.c:69,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/mapping.c:70,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mapping.c:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - filename
    - contents
    - length
    argTypes:
    - gchar*
    - gchar*
    - gssize
    constantsTouched: []
    func_position:
      end: 72
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 72
    functionName: write_or_die
    functionSourceFile: /src/glib/glib/tests/mapping.c
    functionUses: []
    functionsReached:
    - g_assert_no_error
    - g_assert_true
    - g_file_set_contents
    linkageType: ''
    returnType: void
    signature: "static void write_or_die (const gchar *filename,\t const gchar *contents,\t\
      \ gssize length) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_current_dir
      Src: /src/glib/glib/tests/mapping.c:138,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/mapping.c:139,1
    - Dst: map_or_die
      Src: /src/glib/glib/tests/mapping.c:143,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mapping.c:144,1
    - Dst: write_or_die
      Src: /src/glib/glib/tests/mapping.c:141,1
    - Dst: g_mapped_file_get_length
      Src: /src/glib/glib/tests/mapping.c:144,1
    - Dst: g_mapped_file_unref
      Src: /src/glib/glib/tests/mapping.c:145,1
    - Dst: map_or_die
      Src: /src/glib/glib/tests/mapping.c:147,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mapping.c:148,1
    - Dst: g_mapped_file_get_length
      Src: /src/glib/glib/tests/mapping.c:148,1
    - Dst: g_free
      Src: /src/glib/glib/tests/mapping.c:155,1
    - Dst: g_free
      Src: /src/glib/glib/tests/mapping.c:156,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/mapping.c:150,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/mapping.c:153,1
    - Dst: g_mapped_file_unref
      Src: /src/glib/glib/tests/mapping.c:149,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 157
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 157
    functionName: test_mapping_flags
    functionSourceFile: /src/glib/glib/tests/mapping.c
    functionUses: []
    functionsReached:
    - g_mapped_file_get_length
    - map_or_die
    - g_test_message
    - write_or_die
    - g_build_filename
    - g_remove
    - g_get_current_dir
    - g_free
    - g_mapped_file_unref
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_mapping_flags (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/mapping.c:215,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/mapping.c:219,1
    - Dst: getpid
      Src: /src/glib/glib/tests/mapping.c:230,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/mapping.c:240,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/mapping.c:245,1
    - Dst: g_main_loop_run
      Src: /src/glib/glib/tests/mapping.c:267,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/mapping.c:271,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mapping.c:280,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/mapping.c:282,1
    - Dst: g_free
      Src: /src/glib/glib/tests/mapping.c:285,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/mapping.c:290,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/mapping.c:214,1
    - Dst: g_file_test
      Src: /src/glib/glib/tests/mapping.c:215,1
    - Dst: g_get_current_dir
      Src: /src/glib/glib/tests/mapping.c:218,1
    - Dst: map_or_die
      Src: /src/glib/glib/tests/mapping.c:223,1
    - Dst: signal
      Src: /src/glib/glib/tests/mapping.c:226,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/mapping.c:248,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/mapping.c:251,1
    - Dst: kill
      Src: /src/glib/glib/tests/mapping.c:260,1
    - Dst: waitpid
      Src: /src/glib/glib/tests/mapping.c:268,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/mapping.c:269,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/mapping.c:281,1
    - Dst: g_free
      Src: /src/glib/glib/tests/mapping.c:287,1
    - Dst: g_snprintf
      Src: /src/glib/glib/tests/mapping.c:230,1
    - Dst: g_spawn_async
      Src: /src/glib/glib/tests/mapping.c:236,1
    - Dst: g_main_loop_new
      Src: /src/glib/glib/tests/mapping.c:243,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/mapping.c:238,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/glib/tests/mapping.c:270,1
    - Dst: g_usleep
      Src: /src/glib/glib/tests/mapping.c:273,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/tests/mapping.c:278,1
    - Dst: g_remove
      Src: /src/glib/glib/tests/mapping.c:291,1
    - Dst: g_build_filename
      Src: /src/glib/glib/tests/mapping.c:220,1
    - Dst: write_or_die
      Src: /src/glib/glib/tests/mapping.c:222,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/mapping.c:239,1
    - Dst: g_idle_add
      Src: /src/glib/glib/tests/mapping.c:244,1
    - Dst: g_mapped_file_get_contents
      Src: /src/glib/glib/tests/mapping.c:253,1
    - Dst: g_mapped_file_unref
      Src: /src/glib/glib/tests/mapping.c:257,1
    - Dst: g_file_set_contents
      Src: /src/glib/glib/tests/mapping.c:262,1
    - Dst: g_idle_add
      Src: /src/glib/glib/tests/mapping.c:266,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/mapping.c:276,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/mapping.c:279,1
    - Dst: g_free
      Src: /src/glib/glib/tests/mapping.c:286,1
    - Dst: g_free
      Src: /src/glib/glib/tests/mapping.c:283,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 61
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 292
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 292
    functionName: test_child_private
    functionSourceFile: /src/glib/glib/tests/mapping.c
    functionUses: []
    functionsReached:
    - g_usleep
    - waitpid
    - g_snprintf
    - g_file_get_contents
    - g_spawn_async
    - g_get_current_dir
    - g_assert_true
    - g_free
    - g_build_filename
    - kill
    - g_assert_false
    - g_file_test
    - g_mapped_file_unref
    - g_assert_cmpint
    - signal
    - g_main_loop_run
    - g_test_message
    - g_file_set_contents
    - g_assert_no_error
    - write_or_die
    - g_main_loop_new
    - g_spawn_check_wait_status
    - map_or_die
    - getpid
    - g_assert_cmpstr
    - g_mapped_file_get_contents
    - g_remove
    - g_idle_add
    linkageType: ''
    returnType: void
    signature: 'static void test_child_private (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sigemptyset
      Src: /src/glib/glib/tests/mapping.c:301,1
    - Dst: sigismember
      Src: /src/glib/glib/tests/mapping.c:305,1
    - Dst: g_test_message
      Src: /src/glib/glib/tests/mapping.c:306,1
    - Dst: sigprocmask
      Src: /src/glib/glib/tests/mapping.c:303,1
    - Dst: sigaddset
      Src: /src/glib/glib/tests/mapping.c:302,1
    - Dst: g_test_init
      Src: /src/glib/glib/tests/mapping.c:310,1
    - Dst: child_main
      Src: /src/glib/glib/tests/mapping.c:315,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mapping.c:319,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mapping.c:320,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/mapping.c:321,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/mapping.c:323,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 324
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 324
    functionName: main
    functionSourceFile: /src/glib/glib/tests/mapping.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_message
    - sigprocmask
    - g_test_run
    - child_main
    - sigemptyset
    - sigaddset
    - sigismember
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dlsym
      Src: /src/glib/glib/tests/messages-low-memory.c:41,1
    - Dst: real_malloc
      Src: /src/glib/glib/tests/messages-low-memory.c:50,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 51
    functionName: malloc
    functionSourceFile: /src/glib/glib/tests/messages-low-memory.c
    functionUses: []
    functionsReached:
    - dlsym
    - real_malloc
    linkageType: ''
    returnType: void*
    signature: 'void *malloc (size_t size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_disable_crash_reporting
      Src: /src/glib/glib/tests/messages-low-memory.c:59,1
    - Dst: g_message
      Src: /src/glib/glib/tests/messages-low-memory.c:64,1
    - Dst: g_message
      Src: /src/glib/glib/tests/messages-low-memory.c:68,1
    - Dst: g_setenv
      Src: /src/glib/glib/tests/messages-low-memory.c:61,1
    - Dst: g_message
      Src: /src/glib/glib/tests/messages-low-memory.c:70,1
    - Dst: g_message
      Src: /src/glib/glib/tests/messages-low-memory.c:75,1
    - Dst: g_message
      Src: /src/glib/glib/tests/messages-low-memory.c:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 90
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 90
    functionName: main
    functionSourceFile: /src/glib/glib/tests/messages-low-memory.c
    functionUses: []
    functionsReached:
    - g_setenv
    - g_test_disable_crash_reporting
    - g_message
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gunichar2*
    - gunichar2*
    constantsTouched: []
    func_position:
      end: 37
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 37
    functionName: utf16_equal
    functionSourceFile: /src/glib/glib/tests/unicode-encoding.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean utf16_equal (gunichar2 *a, gunichar2 *b) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_validate
      Src: /src/glib/glib/tests/unicode-encoding.c:58,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode-encoding.c:72,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/unicode-encoding.c:84,1
    - Dst: g_utf8_to_ucs4
      Src: /src/glib/glib/tests/unicode-encoding.c:98,1
    - Dst: ucs4_equal
      Src: /src/glib/glib/tests/unicode-encoding.c:117,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode-encoding.c:128,1
    - Dst: g_utf16_to_ucs4
      Src: /src/glib/glib/tests/unicode-encoding.c:202,1
    - Dst: strlen
      Src: /src/glib/glib/tests/unicode-encoding.c:89,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode-encoding.c:91,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/unicode-encoding.c:121,1
    - Dst: strlen
      Src: /src/glib/glib/tests/unicode-encoding.c:177,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode-encoding.c:212,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/unicode-encoding.c:182,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/unicode-encoding.c:190,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/unicode-encoding.c:99,1
    - Dst: memcpy
      Src: /src/glib/glib/tests/unicode-encoding.c:159,1
    - Dst: memcpy
      Src: /src/glib/glib/tests/unicode-encoding.c:167,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode-encoding.c:206,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/unicode-encoding.c:183,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode-encoding.c:186,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode-encoding.c:103,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/unicode-encoding.c:115,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/unicode-encoding.c:122,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode-encoding.c:214,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode-encoding.c:104,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode-encoding.c:118,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode-encoding.c:125,1
    - Dst: g_assert_false
      Src: /src/glib/glib/tests/unicode-encoding.c:165,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/unicode-encoding.c:196,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode-encoding.c:198,1
    - Dst: g_convert
      Src: /src/glib/glib/tests/unicode-encoding.c:150,1
    - Dst: strlen
      Src: /src/glib/glib/tests/unicode-encoding.c:199,1
    - Dst: utf16_equal
      Src: /src/glib/glib/tests/unicode-encoding.c:188,1
    - Dst: g_ucs4_to_utf16
      Src: /src/glib/glib/tests/unicode-encoding.c:181,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode-encoding.c:185,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/unicode-encoding.c:204,1
    - Dst: g_utf8_to_ucs4
      Src: /src/glib/glib/tests/unicode-encoding.c:80,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/unicode-encoding.c:175,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode-encoding.c:217,1
    - Dst: utf16_count
      Src: /src/glib/glib/tests/unicode-encoding.c:198,1
    - Dst: utf16_count
      Src: /src/glib/glib/tests/unicode-encoding.c:178,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode-encoding.c:102,1
    - Dst: g_utf8_to_ucs4_fast
      Src: /src/glib/glib/tests/unicode-encoding.c:114,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode-encoding.c:117,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode-encoding.c:177,1
    - Dst: utf16_count
      Src: /src/glib/glib/tests/unicode-encoding.c:186,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode-encoding.c:178,1
    - Dst: utf16_equal
      Src: /src/glib/glib/tests/unicode-encoding.c:189,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode-encoding.c:213,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode-encoding.c:199,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode-encoding.c:215,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/unicode-encoding.c:174,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/unicode-encoding.c:203,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode-encoding.c:89,1
    - Dst: ucs4_equal
      Src: /src/glib/glib/tests/unicode-encoding.c:102,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/unicode-encoding.c:124,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/unicode-encoding.c:151,1
    - Dst: g_new
      Src: /src/glib/glib/tests/unicode-encoding.c:158,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/unicode-encoding.c:209,1
    - Dst: strlen
      Src: /src/glib/glib/tests/unicode-encoding.c:126,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/unicode-encoding.c:195,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode-encoding.c:129,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode-encoding.c:188,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode-encoding.c:65,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/unicode-encoding.c:88,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode-encoding.c:126,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/unicode-encoding.c:191,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/glib/tests/unicode-encoding.c:194,1
    - Dst: g_assert_error
      Src: /src/glib/glib/tests/unicode-encoding.c:82,1
    - Dst: g_utf8_to_ucs4
      Src: /src/glib/glib/tests/unicode-encoding.c:86,1
    - Dst: g_ucs4_to_utf8
      Src: /src/glib/glib/tests/unicode-encoding.c:120,1
    - Dst: utf16_count
      Src: /src/glib/glib/tests/unicode-encoding.c:206,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/glib/tests/unicode-encoding.c:173,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/unicode-encoding.c:87,1
    - Dst: g_new
      Src: /src/glib/glib/tests/unicode-encoding.c:166,1
    - Dst: g_assert_true
      Src: /src/glib/glib/tests/unicode-encoding.c:189,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/glib/tests/unicode-encoding.c:210,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode-encoding.c:207,1
    - Dst: g_assert_nonnull
      Src: /src/glib/glib/tests/unicode-encoding.c:100,1
    - Dst: strlen
      Src: /src/glib/glib/tests/unicode-encoding.c:103,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode-encoding.c:106,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode-encoding.c:216,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 120
    argCount: 5
    argNames:
    - line
    - utf8
    - status
    - ucs4
    - ucs4_len
    argTypes:
    - gint
    - gchar*
    - Status
    - gunichar*
    - gint
    constantsTouched: []
    func_position:
      end: 219
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 219
    functionName: process
    functionSourceFile: /src/glib/glib/tests/unicode-encoding.c
    functionUses: []
    functionsReached:
    - memcpy
    - utf16_equal
    - g_utf8_to_ucs4
    - g_utf16_to_utf8
    - g_assert_true
    - g_utf8_to_ucs4_fast
    - g_assert_nonnull
    - g_ucs4_to_utf16
    - g_assert_false
    - g_assert_cmpint
    - strlen
    - g_new
    - utf16_count
    - g_assert_no_error
    - g_ucs4_to_utf8
    - g_utf16_to_ucs4
    - g_assert_error
    - g_clear_error
    - g_utf8_to_utf16
    - g_assert_cmpstr
    - ucs4_equal
    - g_convert
    - g_utf8_validate
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void process (gint line, gchar *utf8, Status status, gunichar
      *ucs4, gint ucs4_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gunichar*
    - gunichar*
    constantsTouched: []
    func_position:
      end: 25
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 25
    functionName: ucs4_equal
    functionSourceFile: /src/glib/glib/tests/unicode-encoding.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean ucs4_equal (gunichar *a, gunichar *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - gunichar2*
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: utf16_count
    functionSourceFile: /src/glib/glib/tests/unicode-encoding.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint
    signature: 'static gint utf16_count (gunichar2 *a) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/glib/glib/tests/unicode-encoding.c:282,1
    - Dst: g_array_set_size
      Src: /src/glib/glib/tests/unicode-encoding.c:310,1
    - Dst: g_array_free
      Src: /src/glib/glib/tests/unicode-encoding.c:324,1
    - Dst: g_test_build_filename
      Src: /src/glib/glib/tests/unicode-encoding.c:236,1
    - Dst: g_assert_no_error
      Src: /src/glib/glib/tests/unicode-encoding.c:239,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/unicode-encoding.c:271,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/unicode-encoding.c:277,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode-encoding.c:304,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/unicode-encoding.c:295,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode-encoding.c:325,1
    - Dst: process
      Src: /src/glib/glib/tests/unicode-encoding.c:309,1
    - Dst: strtok
      Src: /src/glib/glib/tests/unicode-encoding.c:299,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode-encoding.c:311,1
    - Dst: g_free
      Src: /src/glib/glib/tests/unicode-encoding.c:323,1
    - Dst: g_strstrip
      Src: /src/glib/glib/tests/unicode-encoding.c:258,1
    - Dst: g_file_get_contents
      Src: /src/glib/glib/tests/unicode-encoding.c:238,1
    - Dst: g_array_new
      Src: /src/glib/glib/tests/unicode-encoding.c:241,1
    - Dst: g_strndup
      Src: /src/glib/glib/tests/unicode-encoding.c:258,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/unicode-encoding.c:273,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/unicode-encoding.c:275,1
    - Dst: strcmp
      Src: /src/glib/glib/tests/unicode-encoding.c:279,1
    - Dst: strtok
      Src: /src/glib/glib/tests/unicode-encoding.c:290,1
    - Dst: g_array_append_val
      Src: /src/glib/glib/tests/unicode-encoding.c:297,1
    - Dst: strtoul
      Src: /src/glib/glib/tests/unicode-encoding.c:294,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 77
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 326
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 326
    functionName: test_unicode_encoding
    functionSourceFile: /src/glib/glib/tests/unicode-encoding.c
    functionUses: []
    functionsReached:
    - g_array_free
    - strtok
    - g_test_build_filename
    - g_assert_cmpint
    - g_array_set_size
    - g_array_append_val
    - process
    - g_strndup
    - strcmp
    - g_assert_not_reached
    - g_assert_no_error
    - g_file_get_contents
    - g_array_new
    - g_strstrip
    - g_free
    - strtoul
    linkageType: ''
    returnType: void
    signature: 'static void test_unicode_encoding (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/unicode-encoding.c:331,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/unicode-encoding.c:335,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/unicode-encoding.c:333,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 336
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 336
    functionName: main
    functionSourceFile: /src/glib/glib/tests/unicode-encoding.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/glib/tests/cache.c:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 39
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 39
    functionName: value_create
    functionSourceFile: /src/glib/glib/tests/cache.c
    functionUses: []
    functionsReached:
    - g_new
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer value_create (gpointer key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/glib/tests/cache.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: key_dup
    functionSourceFile: /src/glib/glib/tests/cache.c
    functionUses: []
    functionsReached:
    - g_new
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer key_dup (gpointer key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - key
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: key_hash
    functionSourceFile: /src/glib/glib/tests/cache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint
    signature: 'static guint key_hash (gconstpointer key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: key_equal
    functionSourceFile: /src/glib/glib/tests/cache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean key_equal (gconstpointer key1, gconstpointer key2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/cache.c:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - keyp
    - nodep
    - data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: value_foreach
    functionSourceFile: /src/glib/glib/tests/cache.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void value_foreach (gpointer keyp, gpointer nodep, gpointer
      data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/tests/cache.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: value_destroy
    functionSourceFile: /src/glib/glib/tests/cache.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void value_destroy (gpointer value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/tests/cache.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: key_destroy
    functionSourceFile: /src/glib/glib/tests/cache.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void key_destroy (gpointer key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: value_hash
    functionSourceFile: /src/glib/glib/tests/cache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint
    signature: 'static guint value_hash (gconstpointer value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/cache.c:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - valuep
    - keyp
    - data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 92
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 92
    functionName: key_foreach
    functionSourceFile: /src/glib/glib/tests/cache.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void key_foreach (gpointer valuep, gpointer keyp, gpointer
      data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/cache.c:125,1
    - Dst: g_cache_value_foreach
      Src: /src/glib/glib/tests/cache.c:133,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/cache.c:134,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/cache.c:137,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/cache.c:146,1
    - Dst: g_cache_remove
      Src: /src/glib/glib/tests/cache.c:145,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/cache.c:147,1
    - Dst: g_cache_insert
      Src: /src/glib/glib/tests/cache.c:149,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/cache.c:151,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/cache.c:152,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/cache.c:124,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/cache.c:142,1
    - Dst: g_cache_remove
      Src: /src/glib/glib/tests/cache.c:141,1
    - Dst: g_cache_insert
      Src: /src/glib/glib/tests/cache.c:136,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/cache.c:126,1
    - Dst: g_cache_key_foreach
      Src: /src/glib/glib/tests/cache.c:129,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/cache.c:130,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/cache.c:139,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/cache.c:138,1
    - Dst: g_cache_destroy
      Src: /src/glib/glib/tests/cache.c:155,1
    - Dst: g_cache_new
      Src: /src/glib/glib/tests/cache.c:116,1
    - Dst: g_cache_insert
      Src: /src/glib/glib/tests/cache.c:123,1
    - Dst: g_new
      Src: /src/glib/glib/tests/cache.c:120,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/cache.c:143,1
    - Dst: g_assert_cmpint
      Src: /src/glib/glib/tests/cache.c:150,1
    - Dst: g_cache_remove
      Src: /src/glib/glib/tests/cache.c:154,1
    - Dst: g_free
      Src: /src/glib/glib/tests/cache.c:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 157
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 157
    functionName: test_cache_basic
    functionSourceFile: /src/glib/glib/tests/cache.c
    functionUses: []
    functionsReached:
    - g_cache_new
    - g_cache_destroy
    - g_new
    - g_cache_insert
    - g_cache_remove
    - g_cache_key_foreach
    - g_cache_value_foreach
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_cache_basic (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/cache.c:162,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/cache.c:164,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/cache.c:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 168
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 168
    functionName: main
    functionSourceFile: /src/glib/glib/tests/cache.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/tests/gwakeuptest.c:95,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gwakeuptest.c:96,1
    - Dst: g_mutex_clear
      Src: /src/glib/glib/tests/gwakeuptest.c:98,1
    - Dst: g_wakeup_free
      Src: /src/glib/glib/tests/gwakeuptest.c:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct context*
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: context_clear
    functionSourceFile: /src/glib/glib/tests/gwakeuptest.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_wakeup_free
    - g_mutex_clear
    linkageType: ''
    returnType: void
    signature: 'static void context_clear (struct context *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_wakeup_get_pollfd
      Src: /src/glib/glib/tests/gwakeuptest.c:17,1
    - Dst: g_poll
      Src: /src/glib/glib/tests/gwakeuptest.c:18,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - wakeup
    argTypes:
    - GWakeup*
    constantsTouched: []
    func_position:
      end: 19
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 19
    functionName: wait_for_signaled
    functionSourceFile: /src/glib/glib/tests/gwakeuptest.c
    functionUses: []
    functionsReached:
    - g_poll
    - g_wakeup_get_pollfd
    linkageType: ''
    returnType: void
    signature: 'static void wait_for_signaled (GWakeup *wakeup) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/glib/tests/gwakeuptest.c:114,1
    - Dst: g_slist_delete_link
      Src: /src/glib/glib/tests/gwakeuptest.c:118,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/gwakeuptest.c:121,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 124
    functionName: context_try_pop_token
    functionSourceFile: /src/glib/glib/tests/gwakeuptest.c
    functionUses: []
    functionsReached:
    - g_slist_delete_link
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: struct token*
    signature: 'static struct token *context_try_pop_token (struct context *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_test_rand_int_range
      Src: /src/glib/glib/tests/gwakeuptest.c:147,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/glib/tests/gwakeuptest.c:158,1
    - Dst: g_wakeup_signal
      Src: /src/glib/glib/tests/gwakeuptest.c:159,1
    - Dst: context_push_token
      Src: /src/glib/glib/tests/gwakeuptest.c:152,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 1
    argNames:
    - token
    argTypes:
    - struct token*
    constantsTouched: []
    func_position:
      end: 161
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 161
    functionName: dispatch_token
    functionSourceFile: /src/glib/glib/tests/gwakeuptest.c
    functionUses: []
    functionsReached:
    - context_push_token
    - g_test_rand_int_range
    - g_atomic_int_dec_and_test
    - g_wakeup_signal
    linkageType: ''
    returnType: void
    signature: 'static void dispatch_token (struct token *token) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/glib/tests/gwakeuptest.c:182,1
    - Dst: g_wakeup_acknowledge
      Src: /src/glib/glib/tests/gwakeuptest.c:185,1
    - Dst: wait_for_signaled
      Src: /src/glib/glib/tests/gwakeuptest.c:184,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gwakeuptest.c:189,1
    - Dst: context_try_pop_token
      Src: /src/glib/glib/tests/gwakeuptest.c:187,1
    - Dst: dispatch_token
      Src: /src/glib/glib/tests/gwakeuptest.c:190,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 195
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 195
    functionName: thread_func
    functionSourceFile: /src/glib/glib/tests/gwakeuptest.c
    functionUses: []
    functionsReached:
    - g_wakeup_acknowledge
    - g_atomic_int_get
    - g_assert
    - dispatch_token
    - wait_for_signaled
    - context_try_pop_token
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer thread_func (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_wakeup_get_pollfd
      Src: /src/glib/glib/tests/gwakeuptest.c:8,1
    - Dst: g_poll
      Src: /src/glib/glib/tests/gwakeuptest.c:9,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - wakeup
    argTypes:
    - GWakeup*
    constantsTouched: []
    func_position:
      end: 10
      start: 3
    functionDepth: 0
    functionLinenumber: 3
    functionLinenumberEnd: 10
    functionName: check_signaled
    functionSourceFile: /src/glib/glib/tests/gwakeuptest.c
    functionUses: []
    functionsReached:
    - g_poll
    - g_wakeup_get_pollfd
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean check_signaled (GWakeup *wakeup) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_signaled
      Src: /src/glib/glib/tests/gwakeuptest.c:31,1
    - Dst: g_wakeup_free
      Src: /src/glib/glib/tests/gwakeuptest.c:36,1
    - Dst: g_wakeup_signal
      Src: /src/glib/glib/tests/gwakeuptest.c:44,1
    - Dst: g_wakeup_signal
      Src: /src/glib/glib/tests/gwakeuptest.c:50,1
    - Dst: g_wakeup_new
      Src: /src/glib/glib/tests/gwakeuptest.c:43,1
    - Dst: g_wakeup_new
      Src: /src/glib/glib/tests/gwakeuptest.c:48,1
    - Dst: g_wakeup_acknowledge
      Src: /src/glib/glib/tests/gwakeuptest.c:54,1
    - Dst: check_signaled
      Src: /src/glib/glib/tests/gwakeuptest.c:55,1
    - Dst: g_wakeup_new
      Src: /src/glib/glib/tests/gwakeuptest.c:27,1
    - Dst: g_wakeup_signal
      Src: /src/glib/glib/tests/gwakeuptest.c:30,1
    - Dst: check_signaled
      Src: /src/glib/glib/tests/gwakeuptest.c:34,1
    - Dst: g_wakeup_free
      Src: /src/glib/glib/tests/gwakeuptest.c:40,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gwakeuptest.c:51,1
    - Dst: g_wakeup_new
      Src: /src/glib/glib/tests/gwakeuptest.c:39,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gwakeuptest.c:55,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gwakeuptest.c:31,1
    - Dst: check_signaled
      Src: /src/glib/glib/tests/gwakeuptest.c:28,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gwakeuptest.c:28,1
    - Dst: g_wakeup_acknowledge
      Src: /src/glib/glib/tests/gwakeuptest.c:33,1
    - Dst: g_assert
      Src: /src/glib/glib/tests/gwakeuptest.c:34,1
    - Dst: g_wakeup_free
      Src: /src/glib/glib/tests/gwakeuptest.c:45,1
    - Dst: check_signaled
      Src: /src/glib/glib/tests/gwakeuptest.c:51,1
    - Dst: g_wakeup_free
      Src: /src/glib/glib/tests/gwakeuptest.c:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 58
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 58
    functionName: test_semantics
    functionSourceFile: /src/glib/glib/tests/gwakeuptest.c
    functionUses: []
    functionsReached:
    - g_wakeup_acknowledge
    - check_signaled
    - g_wakeup_new
    - g_assert
    - g_wakeup_free
    - g_wakeup_signal
    linkageType: ''
    returnType: void
    signature: 'static void test_semantics (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_set
      Src: /src/glib/glib/tests/gwakeuptest.c:105,1
    - Dst: g_wakeup_signal
      Src: /src/glib/glib/tests/gwakeuptest.c:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct context*
    constantsTouched: []
    func_position:
      end: 107
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionName: context_quit
    functionSourceFile: /src/glib/glib/tests/gwakeuptest.c
    functionUses: []
    functionsReached:
    - g_atomic_int_set
    - g_wakeup_signal
    linkageType: ''
    returnType: void
    signature: 'static void context_quit (struct context *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/tests/gwakeuptest.c:130,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/tests/gwakeuptest.c:133,1
    - Dst: g_mutex_lock
      Src: /src/glib/glib/tests/gwakeuptest.c:132,1
    - Dst: g_mutex_unlock
      Src: /src/glib/glib/tests/gwakeuptest.c:134,1
    - Dst: g_wakeup_signal
      Src: /src/glib/glib/tests/gwakeuptest.c:136,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - token
    argTypes:
    - struct context*
    - struct token*
    constantsTouched: []
    func_position:
      end: 137
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 137
    functionName: context_push_token
    functionSourceFile: /src/glib/glib/tests/gwakeuptest.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_mutex_lock
    - g_assert
    - g_slist_prepend
    - g_wakeup_signal
    linkageType: ''
    returnType: void
    signature: 'static void context_push_token (struct context *ctx, struct token
      *token) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/glib/tests/gwakeuptest.c:168,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/glib/tests/gwakeuptest.c:171,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 174
    functionName: token_new
    functionSourceFile: /src/glib/glib/tests/gwakeuptest.c
    functionUses: []
    functionsReached:
    - g_atomic_int_inc
    - g_slice_new
    linkageType: ''
    returnType: struct token*
    signature: 'static struct token *token_new (int ttl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_wakeup_new
      Src: /src/glib/glib/tests/gwakeuptest.c:213,1
    - Dst: token_new
      Src: /src/glib/glib/tests/gwakeuptest.c:224,1
    - Dst: context_init
      Src: /src/glib/glib/tests/gwakeuptest.c:218,1
    - Dst: dispatch_token
      Src: /src/glib/glib/tests/gwakeuptest.c:224,1
    - Dst: g_thread_new
      Src: /src/glib/glib/tests/gwakeuptest.c:219,1
    - Dst: wait_for_signaled
      Src: /src/glib/glib/tests/gwakeuptest.c:227,1
    - Dst: context_quit
      Src: /src/glib/glib/tests/gwakeuptest.c:232,1
    - Dst: g_thread_join
      Src: /src/glib/glib/tests/gwakeuptest.c:233,1
    - Dst: context_clear
      Src: /src/glib/glib/tests/gwakeuptest.c:234,1
    - Dst: g_wakeup_free
      Src: /src/glib/glib/tests/gwakeuptest.c:237,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 238
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 238
    functionName: test_threaded
    functionSourceFile: /src/glib/glib/tests/gwakeuptest.c
    functionUses: []
    functionsReached:
    - token_new
    - g_wakeup_new
    - g_wakeup_free
    - g_thread_new
    - context_quit
    - dispatch_token
    - wait_for_signaled
    - context_clear
    - g_thread_join
    - context_init
    linkageType: ''
    returnType: void
    signature: 'static void test_threaded (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/glib/tests/gwakeuptest.c:243,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gwakeuptest.c:253,1
    - Dst: g_test_run
      Src: /src/glib/glib/tests/gwakeuptest.c:255,1
    - Dst: g_test_add_func
      Src: /src/glib/glib/tests/gwakeuptest.c:252,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 256
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 256
    functionName: main
    functionSourceFile: /src/glib/glib/tests/gwakeuptest.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_init
      Src: /src/glib/glib/tests/gwakeuptest.c:87,1
    - Dst: g_wakeup_new
      Src: /src/glib/glib/tests/gwakeuptest.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct context*
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: context_init
    functionSourceFile: /src/glib/glib/tests/gwakeuptest.c
    functionUses: []
    functionsReached:
    - g_wakeup_new
    - g_mutex_init
    linkageType: ''
    returnType: void
    signature: 'static void context_init (struct context *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: child_setup
    functionSourceFile: /src/glib/glib/tests/spawn-path-search-helper.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void child_setup (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - pid
    - status
    - user_data
    argTypes:
    - GPid
    - gint
    - gpointer
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: child_watch_cb
    functionSourceFile: /src/glib/glib/tests/spawn-path-search-helper.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void child_watch_cb (GPid pid, gint status, gpointer user_data) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/glib/tests/spawn-path-search-helper.c:92,1
    - Dst: g_environ_unsetenv
      Src: /src/glib/glib/tests/spawn-path-search-helper.c:122,1
    - Dst: g_spawn_async_with_pipes
      Src: /src/glib/glib/tests/spawn-path-search-helper.c:130,1
    - Dst: g_spawn_close_pid
      Src: /src/glib/glib/tests/spawn-path-search-helper.c:151,1
    - Dst: g_clear_error
      Src: /src/glib/glib/tests/spawn-path-search-helper.c:168,1
    - Dst: g_option_context_free
      Src: /src/glib/glib/tests/spawn-path-search-helper.c:170,1
    - Dst: g_option_context_new
      Src: /src/glib/glib/tests/spawn-path-search-helper.c:91,1
    - Dst: g_option_context_parse
      Src: /src/glib/glib/tests/spawn-path-search-helper.c:94,1
    - Dst: g_get_environ
      Src: /src/glib/glib/tests/spawn-path-search-helper.c:108,1
    - Dst: g_set_error
      Src: /src/glib/glib/tests/spawn-path-search-helper.c:102,1
    - Dst: WEXITSTATUS
      Src: /src/glib/glib/tests/spawn-path-search-helper.c:155,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-path-search-helper.c:167,1
    - Dst: g_main_context_iteration
      Src: /src/glib/glib/tests/spawn-path-search-helper.c:149,1
    - Dst: g_strfreev
      Src: /src/glib/glib/tests/spawn-path-search-helper.c:169,1
    - Dst: g_set_error
      Src: /src/glib/glib/tests/spawn-path-search-helper.c:112,1
    - Dst: WIFEXITED
      Src: /src/glib/glib/tests/spawn-path-search-helper.c:154,1
    - Dst: fprintf
      Src: /src/glib/glib/tests/spawn-path-search-helper.c:164,1
    - Dst: g_free
      Src: /src/glib/glib/tests/spawn-path-search-helper.c:166,1
    - Dst: g_environ_setenv
      Src: /src/glib/glib/tests/spawn-path-search-helper.c:119,1
    - Dst: g_child_watch_add
      Src: /src/glib/glib/tests/spawn-path-search-helper.c:146,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 46
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 172
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 172
    functionName: main
    functionSourceFile: /src/glib/glib/tests/spawn-path-search-helper.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_environ_unsetenv
    - g_clear_error
    - g_spawn_close_pid
    - g_option_context_free
    - fprintf
    - g_option_context_new
    - WIFEXITED
    - g_spawn_async_with_pipes
    - g_child_watch_add
    - g_strfreev
    - WEXITSTATUS
    - g_environ_setenv
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_main_context_iteration
    - g_get_environ
    - g_free
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/glib/glib/tests/path-test-subdir/spawn-test-helper.c:4,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 6
      start: 2
    functionDepth: 0
    functionLinenumber: 2
    functionLinenumberEnd: 6
    functionName: main
    functionSourceFile: /src/glib/glib/tests/path-test-subdir/spawn-test-helper.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: 'int main (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isnanl
      Src: /src/glib/glib/gnulib/frexpl.c:12,1
    - Dst: isinf
      Src: /src/glib/glib/gnulib/frexpl.c:14,1
    - Dst: frexpl
      Src: /src/glib/glib/gnulib/frexpl.c:19,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - x
    - expptr
    argTypes:
    - long double
    - int*
    constantsTouched: []
    func_position:
      end: 20
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 20
    functionName: rpl_frexpl
    functionSourceFile: /src/glib/glib/gnulib/frexpl.c
    functionUses: []
    functionsReached:
    - isinf
    - frexpl
    - isnanl
    linkageType: ''
    returnType: long double
    signature: 'long double rpl_frexpl (long double x, int *expptr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isnan
      Src: /src/glib/glib/gnulib/frexp.c:15,1
    - Dst: frexp
      Src: /src/glib/glib/gnulib/frexp.c:20,1
    - Dst: isinf
      Src: /src/glib/glib/gnulib/frexp.c:17,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - x
    - expptr
    argTypes:
    - double
    - int*
    constantsTouched: []
    func_position:
      end: 21
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 21
    functionName: rpl_frexp
    functionSourceFile: /src/glib/glib/gnulib/frexp.c
    functionUses: []
    functionsReached:
    - frexp
    - isnan
    - isinf
    linkageType: ''
    returnType: double
    signature: 'double rpl_frexp (double x, int *expptr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: copysign
      Src: /src/glib/glib/gnulib/signbitd.c:45,1
    - Dst: memcmp
      Src: /src/glib/glib/gnulib/signbitd.c:58,1
    - Dst: isnand
      Src: /src/glib/glib/gnulib/signbitd.c:49,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - arg
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 63
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 63
    functionName: gl_signbitd
    functionSourceFile: /src/glib/glib/gnulib/signbitd.c
    functionUses: []
    functionsReached:
    - isnand
    - copysign
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'int gl_signbitd (double arg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/glib/glib/gnulib/printf-parse.c:117,1
    - Dst: malloc
      Src: /src/glib/glib/gnulib/printf-parse.c:118,1
    - Dst: memcpy
      Src: /src/glib/glib/gnulib/printf-parse.c:123,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - format
    - d
    - a
    argTypes:
    - CHAR_T*
    - DIRECTIVES*
    - arguments*
    constantsTouched: []
    func_position:
      end: 125
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 125
    functionName: PRINTF_PARSE
    functionSourceFile: /src/glib/glib/gnulib/printf-parse.c
    functionUses: []
    functionsReached:
    - malloc
    - realloc
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'int PRINTF_PARSE (const CHAR_T *format, DIRECTIVES *d, arguments *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - '!'
    - (c)
    argTypes:
    - c_isascii
    constantsTouched: []
    func_position:
      end: 609
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 609
    functionName: if
    functionSourceFile: /src/glib/glib/gnulib/printf-parse.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: else
    signature: 'else if (!c_isascii (c)) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: copysignf
      Src: /src/glib/glib/gnulib/signbitf.c:45,1
    - Dst: memcmp
      Src: /src/glib/glib/gnulib/signbitf.c:58,1
    - Dst: isnanf
      Src: /src/glib/glib/gnulib/signbitf.c:49,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - arg
    argTypes:
    - float
    constantsTouched: []
    func_position:
      end: 63
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 63
    functionName: gl_signbitf
    functionSourceFile: /src/glib/glib/gnulib/signbitf.c
    functionUses: []
    functionsReached:
    - isnanf
    - copysignf
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'int gl_signbitf (float arg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/glib/gnulib/vasnprintf.c:381,1
    - Dst: malloc
      Src: /src/glib/glib/gnulib/vasnprintf.c:391,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 417
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 417
    functionName: multiply
    functionSourceFile: /src/glib/glib/gnulib/vasnprintf.c
    functionUses: []
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void*
    signature: 'static void *multiply (mpn_t src1, mpn_t src2, mpn_t *dest) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - digits
    - precision
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1530
      start: 1520
    functionDepth: 0
    functionLinenumber: 1520
    functionLinenumberEnd: 1530
    functionName: is_borderline
    functionSourceFile: /src/glib/glib/gnulib/vasnprintf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int is_borderline (const char *digits, size_t precision) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - wchar_t*
    constantsTouched: []
    func_position:
      end: 257
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 257
    functionName: local_wcslen
    functionSourceFile: /src/glib/glib/gnulib/vasnprintf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'static size_t local_wcslen (const wchar_t *s) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: scale10_round_decimal_double
      Src: /src/glib/glib/gnulib/vasnprintf.c:4359,1
    - Dst: sprintf
      Src: /src/glib/glib/gnulib/vasnprintf.c:4471,1
    - Dst: strlen
      Src: /src/glib/glib/gnulib/vasnprintf.c:4366,1
    - Dst: decimal_point_char
      Src: /src/glib/glib/gnulib/vasnprintf.c:4496,1
    - Dst: decimal_point_char
      Src: /src/glib/glib/gnulib/vasnprintf.c:4506,1
    - Dst: decimal_point_char
      Src: /src/glib/glib/gnulib/vasnprintf.c:4527,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:4533,1
    - Dst: decimal_point_char
      Src: /src/glib/glib/gnulib/vasnprintf.c:4305,1
    - Dst: floorlog10
      Src: /src/glib/glib/gnulib/vasnprintf.c:4322,1
    - Dst: scale10_round_decimal_double
      Src: /src/glib/glib/gnulib/vasnprintf.c:4327,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:4339,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:4345,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:4363,1
    - Dst: decimal_point_char
      Src: /src/glib/glib/gnulib/vasnprintf.c:4401,1
    - Dst: decimal_point_char
      Src: /src/glib/glib/gnulib/vasnprintf.c:4413,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:4487,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:4344,1
    - Dst: SNPRINTF
      Src: /src/glib/glib/gnulib/vasnprintf.c:4447,1
    - Dst: sprintf
      Src: /src/glib/glib/gnulib/vasnprintf.c:4463,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:4368,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:4479,1
    - Dst: strlen
      Src: /src/glib/glib/gnulib/vasnprintf.c:4331,1
    - Dst: is_borderline
      Src: /src/glib/glib/gnulib/vasnprintf.c:4353,1
    - Dst: decimal_point_char
      Src: /src/glib/glib/gnulib/vasnprintf.c:4429,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:4373,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 183
    argCount: 1
    argNames:
    - G
    - ''''
    argTypes:
    - dp
    constantsTouched: []
    func_position:
      end: 4535
      start: 4285
    functionDepth: 0
    functionLinenumber: 4285
    functionLinenumberEnd: 4535
    functionName: if
    functionSourceFile: /src/glib/glib/gnulib/vasnprintf.c
    functionUses: []
    functionsReached:
    - floorlog10
    - SNPRINTF
    - strlen
    - abort
    - free
    - scale10_round_decimal_double
    - is_borderline
    - decimal_point_char
    - sprintf
    linkageType: ''
    returnType: else
    signature: 'else if (dp->conversion == ''g'' || dp->conversion == ''G'') '
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: xsum
      Src: /src/glib/glib/gnulib/vasnprintf.c:1581,1
    - Dst: xsum
      Src: /src/glib/glib/gnulib/vasnprintf.c:1611,1
    - Dst: xsum
      Src: /src/glib/glib/gnulib/vasnprintf.c:1583,1
    - Dst: xsum
      Src: /src/glib/glib/gnulib/vasnprintf.c:1659,1
    - Dst: xsum
      Src: /src/glib/glib/gnulib/vasnprintf.c:1639,1
    - Dst: xsum
      Src: /src/glib/glib/gnulib/vasnprintf.c:1665,1
    - Dst: xsum
      Src: /src/glib/glib/gnulib/vasnprintf.c:1684,1
    - Dst: local_wcsnlen
      Src: /src/glib/glib/gnulib/vasnprintf.c:1708,1
    - Dst: local_wcslen
      Src: /src/glib/glib/gnulib/vasnprintf.c:1710,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:1721,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:1734,1
    - Dst: xsum
      Src: /src/glib/glib/gnulib/vasnprintf.c:1771,1
    - Dst: xsum
      Src: /src/glib/glib/gnulib/vasnprintf.c:1779,1
    - Dst: strlen
      Src: /src/glib/glib/gnulib/vasnprintf.c:1745,1
    - Dst: local_strnlen
      Src: /src/glib/glib/gnulib/vasnprintf.c:1743,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:1760,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 129
    argCount: 9
    argNames:
    - ap
    - arg_index
    - conversion
    - type
    - flags
    - width
    - has_precision
    - precision
    - pad_ourselves
    argTypes:
    - arguments*
    - size_t
    - FCHAR_T
    - arg_type
    - int
    - size_t
    - int
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 1782
      start: 1547
    functionDepth: 0
    functionLinenumber: 1547
    functionLinenumberEnd: 1782
    functionName: MAX_ROOM_NEEDED
    functionSourceFile: /src/glib/glib/gnulib/vasnprintf.c
    functionUses: []
    functionsReached:
    - strlen
    - abort
    - xsum
    - local_wcsnlen
    - local_wcslen
    - local_strnlen
    linkageType: ''
    returnType: size_t
    signature: 'static size_t MAX_ROOM_NEEDED (const arguments *ap, size_t arg_index,
      FCHAR_T conversion, arg_type type, int flags, size_t width, int has_precision,
      size_t precision, int pad_ourselves) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/glib/glib/gnulib/vasnprintf.c:232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - string
    - maxlen
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 234
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 234
    functionName: local_strnlen
    functionSourceFile: /src/glib/glib/gnulib/vasnprintf.c
    functionUses: []
    functionsReached:
    - memchr
    linkageType: ''
    returnType: size_t
    signature: 'static size_t local_strnlen (const char *string, size_t maxlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - s
    - maxlen
    argTypes:
    - wchar_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 276
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 276
    functionName: local_wcsnlen
    functionSourceFile: /src/glib/glib/gnulib/vasnprintf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'static size_t local_wcsnlen (const wchar_t *s, size_t maxlen) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/glib/gnulib/vasnprintf.c:1122,1
    - Dst: multiply
      Src: /src/glib/glib/gnulib/vasnprintf.c:1219,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:1127,1
    - Dst: multiply
      Src: /src/glib/glib/gnulib/vasnprintf.c:1200,1
    - Dst: divide
      Src: /src/glib/glib/gnulib/vasnprintf.c:1205,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:1222,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:1223,1
    - Dst: divide
      Src: /src/glib/glib/gnulib/vasnprintf.c:1236,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:1237,1
    - Dst: malloc
      Src: /src/glib/glib/gnulib/vasnprintf.c:1245,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:1250,1
    - Dst: divide
      Src: /src/glib/glib/gnulib/vasnprintf.c:1284,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:1285,1
    - Dst: convert_to_decimal
      Src: /src/glib/glib/gnulib/vasnprintf.c:1295,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:1289,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:1296,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:1249,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:1288,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 164
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1298
    functionName: scale10_round_decimal_decoded
    functionSourceFile: /src/glib/glib/gnulib/vasnprintf.c
    functionUses: []
    functionsReached:
    - malloc
    - free
    - convert_to_decimal
    - divide
    - multiply
    linkageType: ''
    returnType: char*
    signature: 'static char *scale10_round_decimal_decoded (int e, mpn_t m, void *memory,
      int n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nl_langinfo
      Src: /src/glib/glib/gnulib/vasnprintf.c:294,1
    - Dst: sprintf
      Src: /src/glib/glib/gnulib/vasnprintf.c:297,1
    - Dst: localeconv
      Src: /src/glib/glib/gnulib/vasnprintf.c:300,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 304
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 304
    functionName: decimal_point_char
    functionSourceFile: /src/glib/glib/gnulib/vasnprintf.c
    functionUses: []
    functionsReached:
    - localeconv
    - sprintf
    - nl_langinfo
    linkageType: ''
    returnType: char
    signature: 'static char decimal_point_char (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isnand
      Src: /src/glib/glib/gnulib/vasnprintf.c:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 315
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 315
    functionName: is_infinite_or_zero
    functionSourceFile: /src/glib/glib/gnulib/vasnprintf.c
    functionUses: []
    functionsReached:
    - isnand
    linkageType: ''
    returnType: int
    signature: 'static int is_infinite_or_zero (double x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isnanl
      Src: /src/glib/glib/gnulib/vasnprintf.c:325,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - long double
    constantsTouched: []
    func_position:
      end: 326
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 326
    functionName: is_infinite_or_zerol
    functionSourceFile: /src/glib/glib/gnulib/vasnprintf.c
    functionUses: []
    functionsReached:
    - isnanl
    linkageType: ''
    returnType: int
    signature: 'static int is_infinite_or_zerol (long double x) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/glib/gnulib/vasnprintf.c:866,1
    - Dst: xsum
      Src: /src/glib/glib/gnulib/vasnprintf.c:866,1
    - Dst: xsum
      Src: /src/glib/glib/gnulib/vasnprintf.c:866,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 905
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 905
    functionName: convert_to_decimal
    functionSourceFile: /src/glib/glib/gnulib/vasnprintf.c
    functionUses: []
    functionsReached:
    - malloc
    - xsum
    linkageType: ''
    returnType: char*
    signature: 'static char *convert_to_decimal (mpn_t a, size_t extra_zeroes) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/glib/gnulib/vasnprintf.c:923,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:929,1
    - Dst: frexpl
      Src: /src/glib/glib/gnulib/vasnprintf.c:927,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:950,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:945,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:960,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:972,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:977,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:983,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 99
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 991
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 991
    functionName: decode_long_double
    functionSourceFile: /src/glib/glib/gnulib/vasnprintf.c
    functionUses: []
    functionsReached:
    - abort
    - malloc
    - frexpl
    linkageType: ''
    returnType: void*
    signature: 'static void *decode_long_double (long double x, int *ep, mpn_t *mp) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/glib/gnulib/vasnprintf.c:1011,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:1033,1
    - Dst: frexp
      Src: /src/glib/glib/gnulib/vasnprintf.c:1015,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:1017,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:1038,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:1048,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:1060,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:1065,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:1069,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 99
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1076
    functionName: decode_double
    functionSourceFile: /src/glib/glib/gnulib/vasnprintf.c
    functionUses: []
    functionsReached:
    - frexp
    - malloc
    - abort
    linkageType: ''
    returnType: void*
    signature: 'static void *decode_double (double x, int *ep, mpn_t *mp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_long_double
      Src: /src/glib/glib/gnulib/vasnprintf.c:1312,1
    - Dst: scale10_round_decimal_decoded
      Src: /src/glib/glib/gnulib/vasnprintf.c:1313,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1307
    functionDepth: 0
    functionLinenumber: 1307
    functionLinenumberEnd: 1314
    functionName: scale10_round_decimal_long_double
    functionSourceFile: /src/glib/glib/gnulib/vasnprintf.c
    functionUses: []
    functionsReached:
    - decode_long_double
    - scale10_round_decimal_decoded
    linkageType: ''
    returnType: char*
    signature: 'static char *scale10_round_decimal_long_double (long double x, int
      n) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: frexpl
      Src: /src/glib/glib/gnulib/vasnprintf.c:1350,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:1389,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:1352,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 105
    argCount: 1
    argNames:
    - x
    argTypes:
    - long double
    constantsTouched: []
    func_position:
      end: 1423
      start: 1341
    functionDepth: 0
    functionLinenumber: 1341
    functionLinenumberEnd: 1423
    functionName: floorlog10l
    functionSourceFile: /src/glib/glib/gnulib/vasnprintf.c
    functionUses: []
    functionsReached:
    - abort
    - frexpl
    linkageType: ''
    returnType: int
    signature: 'static int floorlog10l (long double x) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: frexp
      Src: /src/glib/glib/gnulib/vasnprintf.c:1441,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:1443,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:1480,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 105
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 1514
      start: 1432
    functionDepth: 0
    functionLinenumber: 1432
    functionLinenumberEnd: 1514
    functionName: floorlog10
    functionSourceFile: /src/glib/glib/gnulib/vasnprintf.c
    functionUses: []
    functionsReached:
    - frexp
    - abort
    linkageType: ''
    returnType: int
    signature: 'static int floorlog10 (double x) '
  - BBCount: 61
    BranchProfiles: []
    Callsites:
    - Dst: xsum
      Src: /src/glib/glib/gnulib/vasnprintf.c:2145,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2251,1
    - Dst: xsum
      Src: /src/glib/glib/gnulib/vasnprintf.c:1988,1
    - Dst: DCHAR_SET
      Src: /src/glib/glib/gnulib/vasnprintf.c:2093,1
    - Dst: u8_conv_to_encoding
      Src: /src/glib/glib/gnulib/vasnprintf.c:2111,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2127,1
    - Dst: DCHAR_CPY
      Src: /src/glib/glib/gnulib/vasnprintf.c:2227,1
    - Dst: U16_TO_DCHAR
      Src: /src/glib/glib/gnulib/vasnprintf.c:2244,1
    - Dst: locale_charset
      Src: /src/glib/glib/gnulib/vasnprintf.c:2363,1
    - Dst: xsum
      Src: /src/glib/glib/gnulib/vasnprintf.c:2386,1
    - Dst: xsum
      Src: /src/glib/glib/gnulib/vasnprintf.c:2397,1
    - Dst: locale_charset
      Src: /src/glib/glib/gnulib/vasnprintf.c:2111,1
    - Dst: xsum
      Src: /src/glib/glib/gnulib/vasnprintf.c:2134,1
    - Dst: u16_strmblen
      Src: /src/glib/glib/gnulib/vasnprintf.c:2165,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2198,1
    - Dst: DCHAR_SET
      Src: /src/glib/glib/gnulib/vasnprintf.c:2398,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2196,1
    - Dst: ENSURE_ALLOCATION
      Src: /src/glib/glib/gnulib/vasnprintf.c:2226,1
    - Dst: xtimes
      Src: /src/glib/glib/gnulib/vasnprintf.c:2019,1
    - Dst: CLEANUP
      Src: /src/glib/glib/gnulib/vasnprintf.c:2048,1
    - Dst: u8_strmblen
      Src: /src/glib/glib/gnulib/vasnprintf.c:2064,1
    - Dst: ENSURE_ALLOCATION
      Src: /src/glib/glib/gnulib/vasnprintf.c:2092,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2136,1
    - Dst: xsum
      Src: /src/glib/glib/gnulib/vasnprintf.c:2218,1
    - Dst: DCHAR_SET
      Src: /src/glib/glib/gnulib/vasnprintf.c:2219,1
    - Dst: CLEANUP
      Src: /src/glib/glib/gnulib/vasnprintf.c:2325,1
    - Dst: xsum
      Src: /src/glib/glib/gnulib/vasnprintf.c:2352,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2253,1
    - Dst: u16_conv_to_encoding
      Src: /src/glib/glib/gnulib/vasnprintf.c:2237,1
    - Dst: CLEANUP
      Src: /src/glib/glib/gnulib/vasnprintf.c:2380,1
    - Dst: ENSURE_ALLOCATION
      Src: /src/glib/glib/gnulib/vasnprintf.c:2386,1
    - Dst: DCHAR_CPY
      Src: /src/glib/glib/gnulib/vasnprintf.c:2387,1
    - Dst: ENSURE_ALLOCATION
      Src: /src/glib/glib/gnulib/vasnprintf.c:2397,1
    - Dst: DCHAR_SET
      Src: /src/glib/glib/gnulib/vasnprintf.c:2146,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2299,1
    - Dst: ENSURE_ALLOCATION
      Src: /src/glib/glib/gnulib/vasnprintf.c:2218,1
    - Dst: CLEANUP
      Src: /src/glib/glib/gnulib/vasnprintf.c:2174,1
    - Dst: u16_strmblen
      Src: /src/glib/glib/gnulib/vasnprintf.c:2190,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2262,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2379,1
    - Dst: u16_strlen
      Src: /src/glib/glib/gnulib/vasnprintf.c:2210,1
    - Dst: ENSURE_ALLOCATION
      Src: /src/glib/glib/gnulib/vasnprintf.c:2145,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2297,1
    - Dst: xsum
      Src: /src/glib/glib/gnulib/vasnprintf.c:2271,1
    - Dst: xtimes
      Src: /src/glib/glib/gnulib/vasnprintf.c:1988,1
    - Dst: CLEANUP
      Src: /src/glib/glib/gnulib/vasnprintf.c:2073,1
    - Dst: u8_strmblen
      Src: /src/glib/glib/gnulib/vasnprintf.c:2039,1
    - Dst: U8_TO_DCHAR
      Src: /src/glib/glib/gnulib/vasnprintf.c:2118,1
    - Dst: DCHAR_SET
      Src: /src/glib/glib/gnulib/vasnprintf.c:2272,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2377,1
    - Dst: xsum
      Src: /src/glib/glib/gnulib/vasnprintf.c:2019,1
    - Dst: xsum
      Src: /src/glib/glib/gnulib/vasnprintf.c:2100,1
    - Dst: CLEANUP
      Src: /src/glib/glib/gnulib/vasnprintf.c:2128,1
    - Dst: ENSURE_ALLOCATION
      Src: /src/glib/glib/gnulib/vasnprintf.c:2134,1
    - Dst: DCHAR_CPY
      Src: /src/glib/glib/gnulib/vasnprintf.c:2135,1
    - Dst: DCHAR_CPY
      Src: /src/glib/glib/gnulib/vasnprintf.c:2353,1
    - Dst: xsum
      Src: /src/glib/glib/gnulib/vasnprintf.c:2260,1
    - Dst: locale_charset
      Src: /src/glib/glib/gnulib/vasnprintf.c:2237,1
    - Dst: U32_TO_DCHAR
      Src: /src/glib/glib/gnulib/vasnprintf.c:2370,1
    - Dst: ENSURE_ALLOCATION
      Src: /src/glib/glib/gnulib/vasnprintf.c:2271,1
    - Dst: DCHAR_CPY
      Src: /src/glib/glib/gnulib/vasnprintf.c:2101,1
    - Dst: CLEANUP
      Src: /src/glib/glib/gnulib/vasnprintf.c:2199,1
    - Dst: u32_strmblen
      Src: /src/glib/glib/gnulib/vasnprintf.c:2291,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2322,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2047,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2125,1
    - Dst: ENSURE_ALLOCATION
      Src: /src/glib/glib/gnulib/vasnprintf.c:2352,1
    - Dst: xsum
      Src: /src/glib/glib/gnulib/vasnprintf.c:2344,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:1972,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2070,1
    - Dst: xsum
      Src: /src/glib/glib/gnulib/vasnprintf.c:2092,1
    - Dst: ENSURE_ALLOCATION
      Src: /src/glib/glib/gnulib/vasnprintf.c:2100,1
    - Dst: xsum
      Src: /src/glib/glib/gnulib/vasnprintf.c:2226,1
    - Dst: ENSURE_ALLOCATION
      Src: /src/glib/glib/gnulib/vasnprintf.c:2260,1
    - Dst: DCHAR_SET
      Src: /src/glib/glib/gnulib/vasnprintf.c:2345,1
    - Dst: CLEANUP
      Src: /src/glib/glib/gnulib/vasnprintf.c:2254,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2324,1
    - Dst: DCHAR_CPY
      Src: /src/glib/glib/gnulib/vasnprintf.c:2261,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2045,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:2003,1
    - Dst: u8_strlen
      Src: /src/glib/glib/gnulib/vasnprintf.c:2084,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2173,1
    - Dst: ENSURE_ALLOCATION
      Src: /src/glib/glib/gnulib/vasnprintf.c:2344,1
    - Dst: u32_strmblen
      Src: /src/glib/glib/gnulib/vasnprintf.c:2316,1
    - Dst: CLEANUP
      Src: /src/glib/glib/gnulib/vasnprintf.c:2300,1
    - Dst: u32_conv_to_encoding
      Src: /src/glib/glib/gnulib/vasnprintf.c:2363,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2388,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:2405,1
    - Dst: u32_strlen
      Src: /src/glib/glib/gnulib/vasnprintf.c:2336,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2171,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2072,1
    CyclomaticComplexity: 96
    EdgeCount: 96
    ICount: 352
    argCount: 1
    argNames:
    - conversion
    - == 'U'
    argTypes:
    - dp
    constantsTouched: []
    func_position:
      end: 2407
      start: 1954
    functionDepth: 0
    functionLinenumber: 1954
    functionLinenumberEnd: 2407
    functionName: if
    functionSourceFile: /src/glib/glib/gnulib/vasnprintf.c
    functionUses: []
    functionsReached:
    - U16_TO_DCHAR
    - abort
    - u16_strlen
    - locale_charset
    - ENSURE_ALLOCATION
    - CLEANUP
    - U32_TO_DCHAR
    - u8_strlen
    - u32_strmblen
    - u8_conv_to_encoding
    - DCHAR_CPY
    - xtimes
    - u16_strmblen
    - DCHAR_SET
    - u16_conv_to_encoding
    - u32_conv_to_encoding
    - u8_strmblen
    - free
    - xsum
    - U8_TO_DCHAR
    - u32_strlen
    linkageType: ''
    returnType: else
    signature: 'else if (dp->conversion == ''U'') '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_double
      Src: /src/glib/glib/gnulib/vasnprintf.c:1330,1
    - Dst: scale10_round_decimal_decoded
      Src: /src/glib/glib/gnulib/vasnprintf.c:1331,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1332
      start: 1325
    functionDepth: 0
    functionLinenumber: 1325
    functionLinenumberEnd: 1332
    functionName: scale10_round_decimal_double
    functionSourceFile: /src/glib/glib/gnulib/vasnprintf.c
    functionUses: []
    functionsReached:
    - scale10_round_decimal_decoded
    - decode_double
    linkageType: ''
    returnType: char*
    signature: 'static char *scale10_round_decimal_double (double x, int n) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/glib/gnulib/vasnprintf.c:494,1
    - Dst: memcpy
      Src: /src/glib/glib/gnulib/vasnprintf.c:521,1
    - Dst: malloc
      Src: /src/glib/glib/gnulib/vasnprintf.c:627,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:507,1
    - Dst: __builtin_clz
      Src: /src/glib/glib/gnulib/vasnprintf.c:570,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:630,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:646,1
    - Dst: memcpy
      Src: /src/glib/glib/gnulib/vasnprintf.c:657,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:845,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 272
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 849
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 849
    functionName: divide
    functionSourceFile: /src/glib/glib/gnulib/vasnprintf.c
    functionUses: []
    functionsReached:
    - malloc
    - memcpy
    - abort
    - free
    - __builtin_clz
    linkageType: ''
    returnType: void*
    signature: 'static void *divide (mpn_t a, mpn_t b, mpn_t *q) '
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: mbrlen
      Src: /src/glib/glib/gnulib/vasnprintf.c:2552,1
    - Dst: malloc
      Src: /src/glib/glib/gnulib/vasnprintf.c:2761,1
    - Dst: wcrtomb
      Src: /src/glib/glib/gnulib/vasnprintf.c:2730,1
    - Dst: memcpy
      Src: /src/glib/glib/gnulib/vasnprintf.c:2786,1
    - Dst: DCHAR_MBSNLEN
      Src: /src/glib/glib/gnulib/vasnprintf.c:2823,1
    - Dst: memcpy
      Src: /src/glib/glib/gnulib/vasnprintf.c:2867,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:2873,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:2887,1
    - Dst: CLEANUP
      Src: /src/glib/glib/gnulib/vasnprintf.c:2741,1
    - Dst: wctomb
      Src: /src/glib/glib/gnulib/vasnprintf.c:2862,1
    - Dst: xsum
      Src: /src/glib/glib/gnulib/vasnprintf.c:2598,1
    - Dst: DCHAR_CONV_FROM_ENCODING
      Src: /src/glib/glib/gnulib/vasnprintf.c:2797,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:2785,1
    - Dst: memset
      Src: /src/glib/glib/gnulib/vasnprintf.c:2849,1
    - Dst: ENSURE_ALLOCATION
      Src: /src/glib/glib/gnulib/vasnprintf.c:2911,1
    - Dst: DCHAR_CPY
      Src: /src/glib/glib/gnulib/vasnprintf.c:2912,1
    - Dst: DCHAR_SET
      Src: /src/glib/glib/gnulib/vasnprintf.c:2921,1
    - Dst: ENSURE_ALLOCATION
      Src: /src/glib/glib/gnulib/vasnprintf.c:2904,1
    - Dst: wctomb
      Src: /src/glib/glib/gnulib/vasnprintf.c:2732,1
    - Dst: mbrtowc
      Src: /src/glib/glib/gnulib/vasnprintf.c:2629,1
    - Dst: mbtowc
      Src: /src/glib/glib/gnulib/vasnprintf.c:2631,1
    - Dst: memset
      Src: /src/glib/glib/gnulib/vasnprintf.c:2508,1
    - Dst: mblen
      Src: /src/glib/glib/gnulib/vasnprintf.c:2518,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2807,1
    - Dst: wcrtomb
      Src: /src/glib/glib/gnulib/vasnprintf.c:2860,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:2474,1
    - Dst: CLEANUP
      Src: /src/glib/glib/gnulib/vasnprintf.c:2530,1
    - Dst: ENSURE_ALLOCATION
      Src: /src/glib/glib/gnulib/vasnprintf.c:2598,1
    - Dst: CLEANUP
      Src: /src/glib/glib/gnulib/vasnprintf.c:2810,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:2858,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2897,1
    - Dst: memset
      Src: /src/glib/glib/gnulib/vasnprintf.c:2622,1
    - Dst: xsum
      Src: /src/glib/glib/gnulib/vasnprintf.c:2646,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:2866,1
    - Dst: ENSURE_ALLOCATION
      Src: /src/glib/glib/gnulib/vasnprintf.c:2920,1
    - Dst: xsum
      Src: /src/glib/glib/gnulib/vasnprintf.c:2837,1
    - Dst: mbrlen
      Src: /src/glib/glib/gnulib/vasnprintf.c:2516,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2565,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2695,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2805,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:2636,1
    - Dst: wcrtomb
      Src: /src/glib/glib/gnulib/vasnprintf.c:2779,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2563,1
    - Dst: xsum
      Src: /src/glib/glib/gnulib/vasnprintf.c:2585,1
    - Dst: memset
      Src: /src/glib/glib/gnulib/vasnprintf.c:2596,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2693,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2899,1
    - Dst: DCHAR_SET
      Src: /src/glib/glib/gnulib/vasnprintf.c:2586,1
    - Dst: ENSURE_ALLOCATION
      Src: /src/glib/glib/gnulib/vasnprintf.c:2646,1
    - Dst: wctomb
      Src: /src/glib/glib/gnulib/vasnprintf.c:2781,1
    - Dst: strlen
      Src: /src/glib/glib/gnulib/vasnprintf.c:2577,1
    - Dst: local_wcslen
      Src: /src/glib/glib/gnulib/vasnprintf.c:2753,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2809,1
    - Dst: xsum
      Src: /src/glib/glib/gnulib/vasnprintf.c:2637,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:2443,1
    - Dst: memset
      Src: /src/glib/glib/gnulib/vasnprintf.c:2544,1
    - Dst: ENSURE_ALLOCATION
      Src: /src/glib/glib/gnulib/vasnprintf.c:2585,1
    - Dst: mbrtowc
      Src: /src/glib/glib/gnulib/vasnprintf.c:2604,1
    - Dst: mbtowc
      Src: /src/glib/glib/gnulib/vasnprintf.c:2606,1
    - Dst: xsum
      Src: /src/glib/glib/gnulib/vasnprintf.c:2911,1
    - Dst: DCHAR_SET
      Src: /src/glib/glib/gnulib/vasnprintf.c:2838,1
    - Dst: xsum
      Src: /src/glib/glib/gnulib/vasnprintf.c:2459,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2814,1
    - Dst: xsum
      Src: /src/glib/glib/gnulib/vasnprintf.c:2851,1
    - Dst: xsum
      Src: /src/glib/glib/gnulib/vasnprintf.c:2904,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2913,1
    - Dst: xsum
      Src: /src/glib/glib/gnulib/vasnprintf.c:2490,1
    - Dst: xtimes
      Src: /src/glib/glib/gnulib/vasnprintf.c:2490,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2529,1
    - Dst: ENSURE_ALLOCATION
      Src: /src/glib/glib/gnulib/vasnprintf.c:2637,1
    - Dst: locale_charset
      Src: /src/glib/glib/gnulib/vasnprintf.c:2797,1
    - Dst: memset
      Src: /src/glib/glib/gnulib/vasnprintf.c:2717,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2738,1
    - Dst: memset
      Src: /src/glib/glib/gnulib/vasnprintf.c:2879,1
    - Dst: wcrtomb
      Src: /src/glib/glib/gnulib/vasnprintf.c:2889,1
    - Dst: memcpy
      Src: /src/glib/glib/gnulib/vasnprintf.c:2905,1
    - Dst: xtimes
      Src: /src/glib/glib/gnulib/vasnprintf.c:2459,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2527,1
    - Dst: mblen
      Src: /src/glib/glib/gnulib/vasnprintf.c:2554,1
    - Dst: memset
      Src: /src/glib/glib/gnulib/vasnprintf.c:2672,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:2777,1
    - Dst: ENSURE_ALLOCATION
      Src: /src/glib/glib/gnulib/vasnprintf.c:2837,1
    - Dst: verify
      Src: /src/glib/glib/gnulib/vasnprintf.c:2659,1
    - Dst: wctomb
      Src: /src/glib/glib/gnulib/vasnprintf.c:2687,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:2792,1
    - Dst: CLEANUP
      Src: /src/glib/glib/gnulib/vasnprintf.c:2696,1
    - Dst: ENSURE_ALLOCATION
      Src: /src/glib/glib/gnulib/vasnprintf.c:2851,1
    - Dst: DCHAR_SET
      Src: /src/glib/glib/gnulib/vasnprintf.c:2647,1
    - Dst: CLEANUP
      Src: /src/glib/glib/gnulib/vasnprintf.c:2566,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:2611,1
    - Dst: memset
      Src: /src/glib/glib/gnulib/vasnprintf.c:2769,1
    - Dst: free
      Src: /src/glib/glib/gnulib/vasnprintf.c:2740,1
    - Dst: xsum
      Src: /src/glib/glib/gnulib/vasnprintf.c:2920,1
    - Dst: abort
      Src: /src/glib/glib/gnulib/vasnprintf.c:2616,1
    - Dst: wcrtomb
      Src: /src/glib/glib/gnulib/vasnprintf.c:2685,1
    - Dst: wctomb
      Src: /src/glib/glib/gnulib/vasnprintf.c:2891,1
    - Dst: CLEANUP
      Src: /src/glib/glib/gnulib/vasnprintf.c:2900,1
    CyclomaticComplexity: 99
    EdgeCount: 99
    ICount: 354
    argCount: 1
    argNames:
    - TYPE_WIDE_STRING
    - '# endif'
    argTypes:
    - dp
    constantsTouched: []
    func_position:
      end: 2926
      start: 2410
    functionDepth: 0
    functionLinenumber: 2410
    functionLinenumberEnd: 2926
    functionName: if
    functionSourceFile: /src/glib/glib/gnulib/vasnprintf.c
    functionUses: []
    functionsReached:
    - memcpy
    - wctomb
    - abort
    - local_wcslen
    - mblen
    - locale_charset
    - ENSURE_ALLOCATION
    - DCHAR_CONV_FROM_ENCODING
    - DCHAR_MBSNLEN
    - verify
    - CLEANUP
    - wcrtomb
    - strlen
    - DCHAR_CPY
    - mbrtowc
    - xtimes
    - DCHAR_SET
    - malloc
    - free
    - xsum
    - mbrlen
    - memset
    - mbtowc
    linkageType: ''
    returnType: else
    signature: 'else if (dp->conversion == ''s''# if WIDE_CHAR_VERSION && a.arg[dp->arg_index].type
      != TYPE_WIDE_STRING# else && a.arg[dp->arg_index].type == TYPE_WIDE_STRING#
      endif ) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: FREXP
      Src: /src/glib/glib/gnulib/printf-frexp.c:75,1
    - Dst: L_
      Src: /src/glib/glib/gnulib/printf-frexp.c:103,1
    - Dst: LDEXP
      Src: /src/glib/glib/gnulib/printf-frexp.c:82,1
    - Dst: L_
      Src: /src/glib/glib/gnulib/printf-frexp.c:103,1
    - Dst: L_
      Src: /src/glib/glib/gnulib/printf-frexp.c:94,1
    - Dst: L_
      Src: /src/glib/glib/gnulib/printf-frexp.c:130,1
    - Dst: L_
      Src: /src/glib/glib/gnulib/printf-frexp.c:130,1
    - Dst: L_
      Src: /src/glib/glib/gnulib/printf-frexp.c:139,1
    - Dst: L_
      Src: /src/glib/glib/gnulib/printf-frexp.c:149,1
    - Dst: L_
      Src: /src/glib/glib/gnulib/printf-frexp.c:159,1
    - Dst: END_ROUNDING
      Src: /src/glib/glib/gnulib/printf-frexp.c:185,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 84
    argCount: 2
    argNames:
    - x
    - expptr
    argTypes:
    - DOUBLE
    - int*
    constantsTouched: []
    func_position:
      end: 189
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 189
    functionName: FUNC
    functionSourceFile: /src/glib/glib/gnulib/printf-frexp.c
    functionUses: []
    functionsReached:
    - L_
    - END_ROUNDING
    - FREXP
    - LDEXP
    linkageType: ''
    returnType: DOUBLE
    signature: 'DOUBLE FUNC (DOUBLE x, int *expptr) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/glib/glib/gnulib/printf-args.c:46,1
    - Dst: va_arg
      Src: /src/glib/glib/gnulib/printf-args.c:52,1
    - Dst: va_arg
      Src: /src/glib/glib/gnulib/printf-args.c:55,1
    - Dst: va_arg
      Src: /src/glib/glib/gnulib/printf-args.c:49,1
    - Dst: va_arg
      Src: /src/glib/glib/gnulib/printf-args.c:67,1
    - Dst: va_arg
      Src: /src/glib/glib/gnulib/printf-args.c:107,1
    - Dst: va_arg
      Src: /src/glib/glib/gnulib/printf-args.c:81,1
    - Dst: va_arg
      Src: /src/glib/glib/gnulib/printf-args.c:125,1
    - Dst: va_arg
      Src: /src/glib/glib/gnulib/printf-args.c:134,1
    - Dst: va_arg
      Src: /src/glib/glib/gnulib/printf-args.c:137,1
    - Dst: va_arg
      Src: /src/glib/glib/gnulib/printf-args.c:64,1
    - Dst: va_arg
      Src: /src/glib/glib/gnulib/printf-args.c:74,1
    - Dst: va_arg
      Src: /src/glib/glib/gnulib/printf-args.c:93,1
    - Dst: va_arg
      Src: /src/glib/glib/gnulib/printf-args.c:98,1
    - Dst: va_arg
      Src: /src/glib/glib/gnulib/printf-args.c:147,1
    - Dst: va_arg
      Src: /src/glib/glib/gnulib/printf-args.c:58,1
    - Dst: va_arg
      Src: /src/glib/glib/gnulib/printf-args.c:71,1
    - Dst: va_arg
      Src: /src/glib/glib/gnulib/printf-args.c:78,1
    - Dst: va_arg
      Src: /src/glib/glib/gnulib/printf-args.c:128,1
    - Dst: va_arg
      Src: /src/glib/glib/gnulib/printf-args.c:171,1
    - Dst: va_arg
      Src: /src/glib/glib/gnulib/printf-args.c:61,1
    - Dst: va_arg
      Src: /src/glib/glib/gnulib/printf-args.c:84,1
    - Dst: va_arg
      Src: /src/glib/glib/gnulib/printf-args.c:94,1
    - Dst: va_arg
      Src: /src/glib/glib/gnulib/printf-args.c:131,1
    - Dst: va_arg
      Src: /src/glib/glib/gnulib/printf-args.c:141,1
    - Dst: va_arg
      Src: /src/glib/glib/gnulib/printf-args.c:159,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 71
    argCount: 2
    argNames:
    - args
    - a
    argTypes:
    - va_list
    - arguments*
    constantsTouched: []
    func_position:
      end: 188
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 188
    functionName: PRINTF_FETCHARGS
    functionSourceFile: /src/glib/glib/gnulib/printf-args.c
    functionUses: []
    functionsReached:
    - va_arg
    linkageType: ''
    returnType: int
    signature: 'int PRINTF_FETCHARGS (va_list args, arguments *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf_frexp
      Src: /src/glib/glib/gnulib/printf-frexpl.c:28,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - x
    - expptr
    argTypes:
    - long double
    - int*
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: printf_frexpl
    functionSourceFile: /src/glib/glib/gnulib/printf-frexpl.c
    functionUses: []
    functionsReached:
    - printf_frexp
    linkageType: ''
    returnType: long double
    signature: 'long double printf_frexpl (long double x, int *expptr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: copysignl
      Src: /src/glib/glib/gnulib/signbitl.c:45,1
    - Dst: isnanl
      Src: /src/glib/glib/gnulib/signbitl.c:49,1
    - Dst: memcmp
      Src: /src/glib/glib/gnulib/signbitl.c:58,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - arg
    argTypes:
    - long double
    constantsTouched: []
    func_position:
      end: 63
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 63
    functionName: gl_signbitl
    functionSourceFile: /src/glib/glib/gnulib/signbitl.c
    functionUses: []
    functionsReached:
    - copysignl
    - memcmp
    - isnanl
    linkageType: ''
    returnType: int
    signature: 'int gl_signbitl (long double arg) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: L_
      Src: /src/glib/glib/gnulib/isnan.c:140,1
    - Dst: L_
      Src: /src/glib/glib/gnulib/isnan.c:142,1
    - Dst: L_
      Src: /src/glib/glib/gnulib/isnan.c:146,1
    - Dst: L_
      Src: /src/glib/glib/gnulib/isnan.c:143,1
    - Dst: L_
      Src: /src/glib/glib/gnulib/isnan.c:146,1
    - Dst: L_
      Src: /src/glib/glib/gnulib/isnan.c:147,1
    - Dst: L_
      Src: /src/glib/glib/gnulib/isnan.c:147,1
    - Dst: L_
      Src: /src/glib/glib/gnulib/isnan.c:148,1
    - Dst: L_
      Src: /src/glib/glib/gnulib/isnan.c:148,1
    - Dst: memcmp
      Src: /src/glib/glib/gnulib/isnan.c:159,1
    - Dst: memset
      Src: /src/glib/glib/gnulib/isnan.c:176,1
    - Dst: memset
      Src: /src/glib/glib/gnulib/isnan.c:177,1
    - Dst: memcmp
      Src: /src/glib/glib/gnulib/isnan.c:180,1
    - Dst: memcmp
      Src: /src/glib/glib/gnulib/isnan.c:160,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 96
    argCount: 1
    argNames:
    - x
    argTypes:
    - DOUBLE
    constantsTouched: []
    func_position:
      end: 188
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 188
    functionName: FUNC
    functionSourceFile: /src/glib/glib/gnulib/isnan.c
    functionUses: []
    functionsReached:
    - L_
    - memset
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'int FUNC (DOUBLE x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gnulib/printf.c:37,1
    - Dst: va_end
      Src: /src/glib/glib/gnulib/printf.c:39,1
    - Dst: _g_gnulib_vprintf
      Src: /src/glib/glib/gnulib/printf.c:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - format
    - '...'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: _g_gnulib_printf
    functionSourceFile: /src/glib/glib/gnulib/printf.c
    functionUses: []
    functionsReached:
    - _g_gnulib_vprintf
    - va_start
    - va_end
    linkageType: ''
    returnType: int
    signature: 'int _g_gnulib_printf (char const *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gnulib/printf.c:61,1
    - Dst: va_end
      Src: /src/glib/glib/gnulib/printf.c:63,1
    - Dst: _g_gnulib_vsprintf
      Src: /src/glib/glib/gnulib/printf.c:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - string
    - format
    - '...'
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 66
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 66
    functionName: _g_gnulib_sprintf
    functionSourceFile: /src/glib/glib/gnulib/printf.c
    functionUses: []
    functionsReached:
    - _g_gnulib_vsprintf
    - va_start
    - va_end
    linkageType: ''
    returnType: int
    signature: 'int _g_gnulib_sprintf (char *string, char const *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_gnulib_vfprintf
      Src: /src/glib/glib/gnulib/printf.c:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - format
    - args
    argTypes:
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: _g_gnulib_vprintf
    functionSourceFile: /src/glib/glib/gnulib/printf.c
    functionUses: []
    functionsReached:
    - _g_gnulib_vfprintf
    linkageType: ''
    returnType: int
    signature: 'int _g_gnulib_vprintf (char const *format, va_list args) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vasnprintf
      Src: /src/glib/glib/gnulib/printf.c:105,1
    - Dst: memcpy
      Src: /src/glib/glib/gnulib/printf.c:109,1
    - Dst: free
      Src: /src/glib/glib/gnulib/printf.c:110,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - string
    - format
    - args
    argTypes:
    - char*
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 113
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 113
    functionName: _g_gnulib_vsprintf
    functionSourceFile: /src/glib/glib/gnulib/printf.c
    functionUses: []
    functionsReached:
    - vasnprintf
    - memcpy
    - free
    linkageType: ''
    returnType: int
    signature: 'int _g_gnulib_vsprintf (char *string, char const *format, va_list
      args) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gnulib/printf.c:49,1
    - Dst: _g_gnulib_vfprintf
      Src: /src/glib/glib/gnulib/printf.c:50,1
    - Dst: va_end
      Src: /src/glib/glib/gnulib/printf.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - file
    - format
    - '...'
    argTypes:
    - FILE*
    - char*
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: _g_gnulib_fprintf
    functionSourceFile: /src/glib/glib/gnulib/printf.c
    functionUses: []
    functionsReached:
    - va_start
    - va_end
    - _g_gnulib_vfprintf
    linkageType: ''
    returnType: int
    signature: 'int _g_gnulib_fprintf (FILE *file, char const *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gnulib/printf.c:73,1
    - Dst: _g_gnulib_vsnprintf
      Src: /src/glib/glib/gnulib/printf.c:74,1
    - Dst: va_end
      Src: /src/glib/glib/gnulib/printf.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - string
    - n
    - format
    - '...'
    argTypes:
    - char*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 78
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 78
    functionName: _g_gnulib_snprintf
    functionSourceFile: /src/glib/glib/gnulib/printf.c
    functionUses: []
    functionsReached:
    - _g_gnulib_vsnprintf
    - va_start
    - va_end
    linkageType: ''
    returnType: int
    signature: 'int _g_gnulib_snprintf (char *string, size_t n, char const *format,
      ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vasnprintf
      Src: /src/glib/glib/gnulib/printf.c:90,1
    - Dst: free
      Src: /src/glib/glib/gnulib/printf.c:95,1
    - Dst: fwrite
      Src: /src/glib/glib/gnulib/printf.c:94,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - file
    - format
    - args
    argTypes:
    - FILE*
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 98
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 98
    functionName: _g_gnulib_vfprintf
    functionSourceFile: /src/glib/glib/gnulib/printf.c
    functionUses: []
    functionsReached:
    - vasnprintf
    - free
    - fwrite
    linkageType: ''
    returnType: int
    signature: 'int _g_gnulib_vfprintf (FILE *file, char const *format, va_list args) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vasnprintf
      Src: /src/glib/glib/gnulib/printf.c:120,1
    - Dst: memcpy
      Src: /src/glib/glib/gnulib/printf.c:126,1
    - Dst: MIN
      Src: /src/glib/glib/gnulib/printf.c:126,1
    - Dst: free
      Src: /src/glib/glib/gnulib/printf.c:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - string
    - n
    - format
    - args
    argTypes:
    - char*
    - size_t
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 133
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 133
    functionName: _g_gnulib_vsnprintf
    functionSourceFile: /src/glib/glib/gnulib/printf.c
    functionUses: []
    functionsReached:
    - vasnprintf
    - memcpy
    - free
    - MIN
    linkageType: ''
    returnType: int
    signature: 'int _g_gnulib_vsnprintf (char *string, size_t n, char const *format,
      va_list args) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vasnprintf
      Src: /src/glib/glib/gnulib/printf.c:139,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - result
    - format
    - args
    argTypes:
    - char**
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 144
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 144
    functionName: _g_gnulib_vasprintf
    functionSourceFile: /src/glib/glib/gnulib/printf.c
    functionUses: []
    functionsReached:
    - vasnprintf
    linkageType: ''
    returnType: int
    signature: 'int _g_gnulib_vasprintf (char **result, char const *format, va_list
      args) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/glib/gnulib/asnprintf.c:31,1
    - Dst: vasnprintf
      Src: /src/glib/glib/gnulib/asnprintf.c:32,1
    - Dst: va_end
      Src: /src/glib/glib/gnulib/asnprintf.c:33,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 35
    functionName: asnprintf
    functionSourceFile: /src/glib/glib/gnulib/asnprintf.c
    functionUses: []
    functionsReached:
    - vasnprintf
    - va_start
    - va_end
    linkageType: ''
    returnType: char*
    signature: 'char *asnprintf (char *resultbuf, size_t *lengthp, const char *format,
      ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _finitef
      Src: /src/glib/glib/gnulib/isinf.c:13,1
    - Dst: _finite
      Src: /src/glib/glib/gnulib/isinf.c:15,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - float
    constantsTouched: []
    func_position:
      end: 17
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 17
    functionName: gl_isinff
    functionSourceFile: /src/glib/glib/gnulib/isinf.c
    functionUses: []
    functionsReached:
    - _finitef
    - _finite
    linkageType: ''
    returnType: int
    signature: 'int gl_isinff (float x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _finite
      Src: /src/glib/glib/gnulib/isinf.c:22,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: gl_isinfd
    functionSourceFile: /src/glib/glib/gnulib/isinf.c
    functionUses: []
    functionsReached:
    - _finite
    linkageType: ''
    returnType: int
    signature: 'int gl_isinfd (double x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gl_isinfd
      Src: /src/glib/glib/gnulib/isinf.c:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - long double
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: gl_isinfl
    functionSourceFile: /src/glib/glib/gnulib/isinf.c
    functionUses: []
    functionsReached:
    - gl_isinfd
    linkageType: ''
    returnType: int
    signature: 'int gl_isinfl (long double x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/deprecated/gcache.c:211,1
    - Dst: g_slice_free
      Src: /src/glib/glib/deprecated/gcache.c:215,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/glib/deprecated/gcache.c:213,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/glib/deprecated/gcache.c:214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - cache
    argTypes:
    - GCache*
    constantsTouched: []
    func_position:
      end: 216
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 216
    functionName: g_cache_destroy
    functionSourceFile: /src/glib/glib/deprecated/gcache.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_hash_table_destroy
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_cache_destroy (GCache *cache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_free
      Src: /src/glib/glib/deprecated/gcache.c:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - GCacheNode*
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: g_cache_node_destroy
    functionSourceFile: /src/glib/glib/deprecated/gcache.c
    functionUses: []
    functionsReached:
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static inline void g_cache_node_destroy (GCacheNode *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/deprecated/gcache.c:280,1
    - Dst: g_hash_table_remove
      Src: /src/glib/glib/deprecated/gcache.c:290,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/deprecated/gcache.c:282,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/deprecated/gcache.c:283,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/deprecated/gcache.c:285,1
    - Dst: g_hash_table_remove
      Src: /src/glib/glib/deprecated/gcache.c:291,1
    - Dst: g_cache_node_destroy
      Src: /src/glib/glib/deprecated/gcache.c:295,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - cache
    - value
    argTypes:
    - GCache*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 297
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 297
    functionName: g_cache_remove
    functionSourceFile: /src/glib/glib/deprecated/gcache.c
    functionUses: []
    functionsReached:
    - g_hash_table_remove
    - g_hash_table_lookup
    - g_cache_node_destroy
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_cache_remove (GCache *cache, gconstpointer value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/glib/deprecated/gcache.c:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 95
    functionName: g_cache_node_new
    functionSourceFile: /src/glib/glib/deprecated/gcache.c
    functionUses: []
    functionsReached:
    - g_slice_new
    linkageType: ''
    returnType: GCacheNode*
    signature: 'static inline GCacheNode *g_cache_node_new (gpointer value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/deprecated/gcache.c:178,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/deprecated/gcache.c:182,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/deprecated/gcache.c:180,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/deprecated/gcache.c:179,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/deprecated/gcache.c:181,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/deprecated/gcache.c:183,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/deprecated/gcache.c:184,1
    - Dst: g_slice_new
      Src: /src/glib/glib/deprecated/gcache.c:186,1
    - Dst: g_hash_table_new
      Src: /src/glib/glib/deprecated/gcache.c:191,1
    - Dst: g_hash_table_new
      Src: /src/glib/glib/deprecated/gcache.c:192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 195
    functionName: g_cache_new
    functionSourceFile: /src/glib/glib/deprecated/gcache.c
    functionUses: []
    functionsReached:
    - g_hash_table_new
    - g_return_val_if_fail
    - g_slice_new
    linkageType: ''
    returnType: GCache*
    signature: 'GCache *g_cache_new (GCacheNewFunc value_new_func, GCacheDestroyFunc
      value_destroy_func, GCacheDupFunc key_dup_func, GCacheDestroyFunc key_destroy_func,
      GHashFunc hash_key_func, GHashFunc hash_value_func, GEqualFunc key_equal_func) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/deprecated/gcache.c:243,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/deprecated/gcache.c:245,1
    - Dst: g_cache_node_new
      Src: /src/glib/glib/deprecated/gcache.c:254,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/deprecated/gcache.c:256,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/deprecated/gcache.c:257,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - cache
    - key
    argTypes:
    - GCache*
    - gpointer
    constantsTouched: []
    func_position:
      end: 260
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 260
    functionName: g_cache_insert
    functionSourceFile: /src/glib/glib/deprecated/gcache.c
    functionUses: []
    functionsReached:
    - g_hash_table_insert
    - g_return_val_if_fail
    - g_hash_table_lookup
    - g_cache_node_new
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_cache_insert (GCache *cache, gpointer key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/deprecated/gcache.c:319,1
    - Dst: g_hash_table_foreach
      Src: /src/glib/glib/deprecated/gcache.c:322,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/deprecated/gcache.c:320,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - cache
    - func
    - user_data
    argTypes:
    - GCache*
    - GHFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 323
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 323
    functionName: g_cache_key_foreach
    functionSourceFile: /src/glib/glib/deprecated/gcache.c
    functionUses: []
    functionsReached:
    - g_hash_table_foreach
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_cache_key_foreach (GCache *cache, GHFunc func, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/deprecated/gcache.c:341,1
    - Dst: g_hash_table_foreach
      Src: /src/glib/glib/deprecated/gcache.c:344,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/deprecated/gcache.c:342,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - cache
    - func
    - user_data
    argTypes:
    - GCache*
    - GHFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 345
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 345
    functionName: g_cache_value_foreach
    functionSourceFile: /src/glib/glib/deprecated/gcache.c
    functionUses: []
    functionsReached:
    - g_hash_table_foreach
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_cache_value_foreach (GCache *cache, GHFunc func, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_static_rec_mutex_get_rec_mutex_impl
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:776,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:779,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - mutex
    - depth
    argTypes:
    - GStaticRecMutex*
    - guint
    constantsTouched: []
    func_position:
      end: 782
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 782
    functionName: g_static_rec_mutex_lock_full
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_lock
    - g_static_rec_mutex_get_rec_mutex_impl
    linkageType: ''
    returnType: void
    signature: 'void g_static_rec_mutex_lock_full (GStaticRecMutex *mutex, guint depth) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_array_index
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1238,1
    - Dst: g_array_free
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1243,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1244
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1244
    functionName: g_static_private_cleanup
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_array_free
    - g_array_index
    linkageType: ''
    returnType: void
    signature: 'static void g_static_private_cleanup (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_cond_clear
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1522,1
    - Dst: g_slice_free
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1523,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cond
    argTypes:
    - GCond*
    constantsTouched: []
    func_position:
      end: 1524
      start: 1519
    functionDepth: 0
    functionLinenumber: 1519
    functionLinenumberEnd: 1524
    functionName: g_cond_free
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_cond_clear
    linkageType: ''
    returnType: void
    signature: 'void g_cond_free (GCond *cond) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:294,1
    - Dst: g_private_set
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:298,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:296,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - thread
    argTypes:
    - GRealThread*
    constantsTouched: []
    func_position:
      end: 299
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 299
    functionName: g_enumerable_thread_add
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - g_private_set
    - G_LOCK
    - g_slist_prepend
    linkageType: ''
    returnType: void
    signature: 'static void g_enumerable_thread_add (GRealThread *thread) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_create_full
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:341,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 342
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 342
    functionName: g_thread_create
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_thread_create_full
    linkageType: ''
    returnType: GThread*
    signature: 'GThread *g_thread_create (GThreadFunc func, gpointer data, gboolean
      joinable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_static_rec_mutex_get_rec_mutex_impl
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:705,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:706,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GStaticRecMutex*
    constantsTouched: []
    func_position:
      end: 708
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 708
    functionName: g_static_rec_mutex_lock
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_lock
    - g_static_rec_mutex_get_rec_mutex_impl
    linkageType: ''
    returnType: void
    signature: 'void g_static_rec_mutex_lock (GStaticRecMutex* mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_clear
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1480,1
    - Dst: g_slice_free
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1481,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GMutex*
    constantsTouched: []
    func_position:
      end: 1482
      start: 1477
    functionDepth: 0
    functionLinenumber: 1477
    functionLinenumberEnd: 1482
    functionName: g_mutex_free
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_mutex_clear
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'void g_mutex_free (GMutex *mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1501,1
    - Dst: g_cond_init
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1502,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1505
      start: 1496
    functionDepth: 0
    functionLinenumber: 1496
    functionLinenumberEnd: 1505
    functionName: g_cond_new
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_slice_new
    - g_cond_init
    linkageType: ''
    returnType: GCond*
    signature: 'GCond *g_cond_new (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:256,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:260,1
    - Dst: G_LOCK
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:267,1
    - Dst: g_slist_copy
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:259,1
    - Dst: G_LOCK
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:258,1
    - Dst: g_slist_find
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:268,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:272,1
    - Dst: thread_func
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:274,1
    - Dst: g_slist_free_1
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:275,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - thread_func
    - user_data
    argTypes:
    - GFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 277
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 277
    functionName: g_thread_foreach
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_slist_find
    - g_slist_copy
    - g_slist_free_1
    - g_return_if_fail
    - G_UNLOCK
    - thread_func
    - G_LOCK
    linkageType: ''
    returnType: void
    signature: 'void g_thread_foreach (GFunc thread_func, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_enumerable_thread_add
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:306,1
    - Dst: g_thread_proxy
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:308,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 309
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 309
    functionName: g_deprecated_thread_proxy
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_thread_proxy
    - g_enumerable_thread_add
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer g_deprecated_thread_proxy (gpointer data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_supported
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:667,1
    - Dst: g_rec_mutex_init
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:680,1
    - Dst: g_slice_new
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:679,1
    - Dst: G_LOCK
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:674,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:670,1
    - Dst: g_atomic_pointer_set
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:681,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:684,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 688
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 688
    functionName: g_static_rec_mutex_get_rec_mutex_impl
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_thread_supported
    - g_rec_mutex_init
    - G_UNLOCK
    - g_atomic_pointer_set
    - g_atomic_pointer_get
    - g_slice_new
    - G_LOCK
    linkageType: ''
    returnType: GRecMutex*
    signature: 'static GRecMutex *g_static_rec_mutex_get_rec_mutex_impl (GStaticRecMutex*
      mutex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1153,1
    - Dst: g_static_mutex_lock
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1158,1
    - Dst: g_static_rw_lock_signal
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1160,1
    - Dst: g_static_mutex_unlock
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - lock
    argTypes:
    - GStaticRWLock*
    constantsTouched: []
    func_position:
      end: 1162
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1162
    functionName: g_static_rw_lock_writer_unlock
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_static_mutex_unlock
    - g_static_mutex_lock
    - g_static_rw_lock_signal
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_static_rw_lock_writer_unlock (GStaticRWLock* lock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1459,1
    - Dst: g_mutex_init
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1460,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1463
      start: 1454
    functionDepth: 0
    functionLinenumber: 1454
    functionLinenumberEnd: 1463
    functionName: g_mutex_new
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_mutex_init
    - g_slice_new
    linkageType: ''
    returnType: GMutex*
    signature: 'GMutex *g_mutex_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - thread
    - priority
    argTypes:
    - GThread*
    - GThreadPriority
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: g_thread_set_priority
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void g_thread_set_priority (GThread *thread, GThreadPriority priority) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:284,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:286,1
    - Dst: g_slist_remove
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 287
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 287
    functionName: g_enumerable_thread_remove
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - G_LOCK
    - g_slist_remove
    linkageType: ''
    returnType: void
    signature: 'static void g_enumerable_thread_remove (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:657,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GStaticRecMutex*
    constantsTouched: []
    func_position:
      end: 660
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 660
    functionName: g_static_rec_mutex_init
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_static_rec_mutex_init (GStaticRecMutex *mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:957,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - lock
    argTypes:
    - GStaticRWLock*
    constantsTouched: []
    func_position:
      end: 960
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 960
    functionName: g_static_rw_lock_init
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_static_rw_lock_init (GStaticRWLock* lock) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1122,1
    - Dst: g_static_mutex_unlock
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1133,1
    - Dst: g_static_mutex_lock
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - lock
    argTypes:
    - GStaticRWLock*
    constantsTouched: []
    func_position:
      end: 1135
      start: 1117
    functionDepth: 0
    functionLinenumber: 1117
    functionLinenumberEnd: 1135
    functionName: g_static_rw_lock_writer_trylock
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_static_mutex_unlock
    - g_static_mutex_lock
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_static_rw_lock_writer_trylock (GStaticRWLock* lock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1436,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1438,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1439,1
    - Dst: g_slist_prepend
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1437,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - private_key
    argTypes:
    - GStaticPrivate*
    constantsTouched: []
    func_position:
      end: 1440
      start: 1422
    functionDepth: 0
    functionLinenumber: 1422
    functionLinenumberEnd: 1440
    functionName: g_static_private_free
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - GUINT_TO_POINTER
    - G_UNLOCK
    - G_LOCK
    - g_slist_prepend
    linkageType: ''
    returnType: void
    signature: 'void g_static_private_free (GStaticPrivate *private_key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_supported
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: g_thread_get_initialized
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_thread_supported
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_thread_get_initialized (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - location
    argTypes:
    - gsize*
    constantsTouched: []
    func_position:
      end: 389
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 389
    functionName: g_once_init_enter_impl
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_once_init_enter_impl (volatile gsize *location) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:590,1
    - Dst: g_mutex_free
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:600,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GStaticMutex*
    constantsTouched: []
    func_position:
      end: 603
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 603
    functionName: g_static_mutex_free
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_mutex_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_static_mutex_free (GStaticMutex* mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_static_rec_mutex_get_rec_mutex_impl
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:755,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:757,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GStaticRecMutex*
    constantsTouched: []
    func_position:
      end: 758
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 758
    functionName: g_static_rec_mutex_unlock
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_static_rec_mutex_get_rec_mutex_impl
    - g_rec_mutex_unlock
    linkageType: ''
    returnType: void
    signature: 'void g_static_rec_mutex_unlock (GStaticRecMutex* mutex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:837,1
    - Dst: g_slice_free
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:844,1
    - Dst: g_rec_mutex_clear
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:843,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GStaticRecMutex*
    constantsTouched: []
    func_position:
      end: 846
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 846
    functionName: g_static_rec_mutex_free
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_rec_mutex_clear
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_static_rec_mutex_free (GStaticRecMutex *mutex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1090,1
    - Dst: g_static_mutex_unlock
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1101,1
    - Dst: g_static_rw_lock_wait
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1098,1
    - Dst: g_static_mutex_lock
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1095,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - lock
    argTypes:
    - GStaticRWLock*
    constantsTouched: []
    func_position:
      end: 1102
      start: 1087
    functionDepth: 0
    functionLinenumber: 1087
    functionLinenumberEnd: 1102
    functionName: g_static_rw_lock_writer_lock
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_static_mutex_unlock
    - g_static_rw_lock_wait
    - g_static_mutex_lock
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_static_rw_lock_writer_lock (GStaticRWLock* lock) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1375,1
    - Dst: g_private_get
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1392,1
    - Dst: g_slist_delete_link
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1382,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1381,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1389,1
    - Dst: g_array_new
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1395,1
    - Dst: g_private_set
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1396,1
    - Dst: g_array_set_size
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1399,1
    - Dst: g_array_index
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1401,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 3
    argNames:
    - private_key
    - data
    - notify
    argTypes:
    - GStaticPrivate*
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 1409
      start: 1364
    functionDepth: 0
    functionLinenumber: 1364
    functionLinenumberEnd: 1409
    functionName: g_static_private_set
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_slist_delete_link
    - G_UNLOCK
    - g_array_set_size
    - g_private_set
    - GPOINTER_TO_UINT
    - g_array_index
    - g_private_get
    - g_array_new
    - G_LOCK
    linkageType: ''
    returnType: void
    signature: 'void g_static_private_set (GStaticPrivate *private_key, gpointer data,
      GDestroyNotify notify) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: gettime
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_get_monotonic_time
    linkageType: ''
    returnType: guint64
    signature: 'static guint64 gettime (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_supported
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:510,1
    - Dst: G_LOCK
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:517,1
    - Dst: g_mutex_new
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:522,1
    - Dst: g_atomic_pointer_set
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:523,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:513,1
    - Dst: G_UNLOCK
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:526,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 530
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 530
    functionName: g_static_mutex_get_mutex_impl
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_thread_supported
    - G_UNLOCK
    - g_atomic_pointer_set
    - g_atomic_pointer_get
    - G_LOCK
    - g_mutex_new
    linkageType: ''
    returnType: GMutex*
    signature: 'GMutex *g_static_mutex_get_mutex_impl (GStaticMutex* mutex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_new_internal
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:372,1
    - Dst: g_thread_unref
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:378,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 382
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 382
    functionName: g_thread_create_full
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_thread_new_internal
    - g_thread_unref
    linkageType: ''
    returnType: GThread*
    signature: 'GThread *g_thread_create_full (GThreadFunc func, gpointer data, gulong
      stack_size, gboolean joinable, gboolean bound, GThreadPriority priority, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:471,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GStaticMutex*
    constantsTouched: []
    func_position:
      end: 474
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 474
    functionName: g_static_mutex_init
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_static_mutex_init (GStaticMutex *mutex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_static_rec_mutex_get_rec_mutex_impl
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:728,1
    - Dst: g_rec_mutex_trylock
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:730,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GStaticRecMutex*
    constantsTouched: []
    func_position:
      end: 737
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 737
    functionName: g_static_rec_mutex_trylock
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_static_rec_mutex_get_rec_mutex_impl
    - g_rec_mutex_trylock
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_static_rec_mutex_trylock (GStaticRecMutex* mutex) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1033,1
    - Dst: g_static_mutex_unlock
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1044,1
    - Dst: g_static_mutex_lock
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1038,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - lock
    argTypes:
    - GStaticRWLock*
    constantsTouched: []
    func_position:
      end: 1046
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1046
    functionName: g_static_rw_lock_reader_trylock
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_static_mutex_unlock
    - g_static_mutex_lock
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_static_rw_lock_reader_trylock (GStaticRWLock* lock) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1061,1
    - Dst: g_static_mutex_unlock
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1070,1
    - Dst: g_static_mutex_lock
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1066,1
    - Dst: g_static_rw_lock_signal
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1069,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - lock
    argTypes:
    - GStaticRWLock*
    constantsTouched: []
    func_position:
      end: 1071
      start: 1058
    functionDepth: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1071
    functionName: g_static_rw_lock_reader_unlock
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_static_mutex_unlock
    - g_static_mutex_lock
    - g_static_rw_lock_signal
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_static_rw_lock_reader_unlock (GStaticRWLock* lock) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_private_get
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1318,1
    - Dst: g_array_index
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1324,1
    - Dst: G_UNLIKELY
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1331,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - private_key
    argTypes:
    - GStaticPrivate*
    constantsTouched: []
    func_position:
      end: 1343
      start: 1312
    functionDepth: 0
    functionLinenumber: 1312
    functionLinenumberEnd: 1343
    functionName: g_static_private_get
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_private_get
    - g_array_index
    - G_UNLIKELY
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_static_private_get (GStaticPrivate *private_key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_cond_wait
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1557,1
    - Dst: g_cond_wait_until
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1570,1
    - Dst: g_get_real_time
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1568,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1568,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - cond
    - mutex
    - abs_time
    argTypes:
    - GCond*
    - GMutex*
    - GTimeVal*
    constantsTouched: []
    func_position:
      end: 1571
      start: 1548
    functionDepth: 0
    functionLinenumber: 1548
    functionLinenumberEnd: 1571
    functionName: g_cond_timed_wait
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_get_monotonic_time
    - g_get_real_time
    - g_cond_wait
    - g_cond_wait_until
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_cond_timed_wait (GCond *cond, GMutex *mutex, GTimeVal *abs_time) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PRIVATE_INIT
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1211,1
    - Dst: g_slice_new
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1214,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1208
    functionDepth: 0
    functionLinenumber: 1208
    functionLinenumberEnd: 1218
    functionName: g_private_new
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - G_PRIVATE_INIT
    - g_slice_new
    linkageType: ''
    returnType: GPrivate*
    signature: 'GPrivate *g_private_new (GDestroyNotify notify) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_cond_new
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:966,1
    - Dst: g_static_mutex_get_mutex
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:967,1
    - Dst: g_cond_wait
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:967,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - cond
    - mutex
    argTypes:
    - GCond**
    - GStaticMutex*
    constantsTouched: []
    func_position:
      end: 968
      start: 962
    functionDepth: 0
    functionLinenumber: 962
    functionLinenumberEnd: 968
    functionName: g_static_rw_lock_wait
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_static_mutex_get_mutex
    - g_cond_new
    - g_cond_wait
    linkageType: ''
    returnType: void
    signature: 'inline static void g_static_rw_lock_wait (GCond** cond, GStaticMutex*
      mutex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1000,1
    - Dst: g_static_mutex_unlock
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1011,1
    - Dst: g_static_rw_lock_wait
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1008,1
    - Dst: g_static_mutex_lock
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1005,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - lock
    argTypes:
    - GStaticRWLock*
    constantsTouched: []
    func_position:
      end: 1012
      start: 997
    functionDepth: 0
    functionLinenumber: 997
    functionLinenumberEnd: 1012
    functionName: g_static_rw_lock_reader_lock
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_static_mutex_unlock
    - g_static_rw_lock_wait
    - g_static_mutex_lock
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_static_rw_lock_reader_lock (GStaticRWLock* lock) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1180,1
    - Dst: g_cond_free
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1184,1
    - Dst: g_static_mutex_free
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1192,1
    - Dst: g_cond_free
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:1189,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - lock
    argTypes:
    - GStaticRWLock*
    constantsTouched: []
    func_position:
      end: 1193
      start: 1177
    functionDepth: 0
    functionLinenumber: 1177
    functionLinenumberEnd: 1193
    functionName: g_static_rw_lock_free
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_cond_free
    - g_static_mutex_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_static_rw_lock_free (GStaticRWLock* lock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - private_key
    argTypes:
    - GStaticPrivate*
    constantsTouched: []
    func_position:
      end: 1300
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1300
    functionName: g_static_private_init
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void g_static_private_init (GStaticPrivate *private_key) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_cond_signal
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:974,1
    - Dst: g_cond_broadcast
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:976,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - lock
    argTypes:
    - GStaticRWLock*
    constantsTouched: []
    func_position:
      end: 977
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 977
    functionName: g_static_rw_lock_signal
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_cond_broadcast
    - g_cond_signal
    linkageType: ''
    returnType: void
    signature: 'inline static void g_static_rw_lock_signal (GStaticRWLock* lock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 199
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 199
    functionName: g_thread_init_glib
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void g_thread_init_glib (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_static_rec_mutex_get_rec_mutex_impl
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:808,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/glib/deprecated/gthread-deprecated.c:816,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - GStaticRecMutex*
    constantsTouched: []
    func_position:
      end: 819
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 819
    functionName: g_static_rec_mutex_unlock_full
    functionSourceFile: /src/glib/glib/deprecated/gthread-deprecated.c
    functionUses: []
    functionsReached:
    - g_static_rec_mutex_get_rec_mutex_impl
    - g_rec_mutex_unlock
    linkageType: ''
    returnType: guint
    signature: 'guint g_static_rec_mutex_unlock_full (GStaticRecMutex *mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/glib/deprecated/gcompletion.c:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 137
    functionName: g_completion_new
    functionSourceFile: /src/glib/glib/deprecated/gcompletion.c
    functionUses: []
    functionsReached:
    - g_new
    linkageType: ''
    returnType: GCompletion*
    signature: 'GCompletion * g_completion_new (GCompletionFunc func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/deprecated/gcompletion.c:194,1
    - Dst: g_list_remove
      Src: /src/glib/glib/deprecated/gcompletion.c:206,1
    - Dst: g_list_remove
      Src: /src/glib/glib/deprecated/gcompletion.c:199,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - cmp
    - items
    argTypes:
    - GCompletion*
    - GList*
    constantsTouched: []
    func_position:
      end: 209
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 209
    functionName: g_completion_remove_items
    functionSourceFile: /src/glib/glib/deprecated/gcompletion.c
    functionUses: []
    functionsReached:
    - g_list_remove
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_completion_remove_items (GCompletion* cmp,\t\t\t GList*\titems) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/deprecated/gcompletion.c:224,1
    - Dst: g_list_free
      Src: /src/glib/glib/deprecated/gcompletion.c:226,1
    - Dst: g_free
      Src: /src/glib/glib/deprecated/gcompletion.c:230,1
    - Dst: g_list_free
      Src: /src/glib/glib/deprecated/gcompletion.c:228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - cmp
    argTypes:
    - GCompletion*
    constantsTouched: []
    func_position:
      end: 232
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 232
    functionName: g_completion_clear_items
    functionSourceFile: /src/glib/glib/deprecated/gcompletion.c
    functionUses: []
    functionsReached:
    - g_list_free
    - g_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_completion_clear_items (GCompletion* cmp) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_completion_complete
      Src: /src/glib/glib/deprecated/gcompletion.c:310,1
    - Dst: strlen
      Src: /src/glib/glib/deprecated/gcompletion.c:314,1
    - Dst: g_utf8_find_prev_char
      Src: /src/glib/glib/deprecated/gcompletion.c:315,1
    - Dst: g_utf8_get_char_validated
      Src: /src/glib/glib/deprecated/gcompletion.c:317,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 329
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 329
    functionName: g_completion_complete_utf8
    functionSourceFile: /src/glib/glib/deprecated/gcompletion.c
    functionUses: []
    functionsReached:
    - g_utf8_get_char_validated
    - g_utf8_find_prev_char
    - g_completion_complete
    - strlen
    linkageType: ''
    returnType: GList*
    signature: "GList *g_completion_complete_utf8 (GCompletion *cmp,\t\t\t const gchar\
      \ *prefix,\t\t\t gchar **new_prefix) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/deprecated/gcompletion.c:424,1
    - Dst: g_free
      Src: /src/glib/glib/deprecated/gcompletion.c:427,1
    - Dst: g_completion_clear_items
      Src: /src/glib/glib/deprecated/gcompletion.c:426,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - cmp
    argTypes:
    - GCompletion*
    constantsTouched: []
    func_position:
      end: 428
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 428
    functionName: g_completion_free
    functionSourceFile: /src/glib/glib/deprecated/gcompletion.c
    functionUses: []
    functionsReached:
    - g_completion_clear_items
    - g_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_completion_free (GCompletion* cmp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/glib/deprecated/gcompletion.c:253,1
    - Dst: strlen
      Src: /src/glib/glib/deprecated/gcompletion.c:257,1
    - Dst: g_new0
      Src: /src/glib/glib/deprecated/gcompletion.c:273,1
    - Dst: strncpy
      Src: /src/glib/glib/deprecated/gcompletion.c:274,1
    - Dst: strncpy
      Src: /src/glib/glib/deprecated/gcompletion.c:275,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 2
    argNames:
    - cmp
    - new_prefix
    argTypes:
    - GCompletion*
    - gchar**
    constantsTouched: []
    func_position:
      end: 276
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 276
    functionName: completion_check_cache
    functionSourceFile: /src/glib/glib/deprecated/gcompletion.c
    functionUses: []
    functionsReached:
    - strncpy
    - g_new0
    - strlen
    linkageType: ''
    returnType: void
    signature: "static void completion_check_cache (GCompletion* cmp,\t\t\tgchar**\t\
      \ new_prefix) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_warning
      Src: /src/glib/glib/deprecated/gcompletion.c:464,1
    - Dst: g_list_alloc
      Src: /src/glib/glib/deprecated/gcompletion.c:477,1
    - Dst: g_completion_new
      Src: /src/glib/glib/deprecated/gcompletion.c:476,1
    - Dst: fopen
      Src: /src/glib/glib/deprecated/gcompletion.c:469,1
    - Dst: g_warning
      Src: /src/glib/glib/deprecated/gcompletion.c:472,1
    - Dst: fgets
      Src: /src/glib/glib/deprecated/gcompletion.c:478,1
    - Dst: g_strdup
      Src: /src/glib/glib/deprecated/gcompletion.c:480,1
    - Dst: g_completion_add_items
      Src: /src/glib/glib/deprecated/gcompletion.c:481,1
    - Dst: fclose
      Src: /src/glib/glib/deprecated/gcompletion.c:483,1
    - Dst: printf
      Src: /src/glib/glib/deprecated/gcompletion.c:487,1
    - Dst: g_free
      Src: /src/glib/glib/deprecated/gcompletion.c:491,1
    - Dst: g_list_foreach
      Src: /src/glib/glib/deprecated/gcompletion.c:489,1
    - Dst: printf
      Src: /src/glib/glib/deprecated/gcompletion.c:490,1
    - Dst: g_completion_free
      Src: /src/glib/glib/deprecated/gcompletion.c:496,1
    - Dst: g_list_foreach
      Src: /src/glib/glib/deprecated/gcompletion.c:495,1
    - Dst: g_list_free
      Src: /src/glib/glib/deprecated/gcompletion.c:497,1
    - Dst: g_completion_complete
      Src: /src/glib/glib/deprecated/gcompletion.c:488,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 500
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 500
    functionName: main
    functionSourceFile: /src/glib/glib/deprecated/gcompletion.c
    functionUses: []
    functionsReached:
    - printf
    - fgets
    - g_strdup
    - g_completion_complete
    - g_warning
    - fclose
    - g_completion_free
    - g_list_free
    - g_completion_new
    - fopen
    - g_list_alloc
    - g_list_foreach
    - g_free
    - g_completion_add_items
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char* argv[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/deprecated/gcompletion.c:154,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/deprecated/gcompletion.c:172,1
    - Dst: g_list_free
      Src: /src/glib/glib/deprecated/gcompletion.c:159,1
    - Dst: g_free
      Src: /src/glib/glib/deprecated/gcompletion.c:165,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - cmp
    - items
    argTypes:
    - GCompletion*
    - GList*
    constantsTouched: []
    func_position:
      end: 175
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 175
    functionName: g_completion_add_items
    functionSourceFile: /src/glib/glib/deprecated/gcompletion.c
    functionUses: []
    functionsReached:
    - g_list_prepend
    - g_list_free
    - g_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_completion_add_items (GCompletion* cmp,\t\t\tGList*\t items) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/deprecated/gcompletion.c:358,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/deprecated/gcompletion.c:359,1
    - Dst: strlen
      Src: /src/glib/glib/deprecated/gcompletion.c:364,1
    - Dst: strlen
      Src: /src/glib/glib/deprecated/gcompletion.c:361,1
    - Dst: g_list_delete_link
      Src: /src/glib/glib/deprecated/gcompletion.c:376,1
    - Dst: g_list_free
      Src: /src/glib/glib/deprecated/gcompletion.c:387,1
    - Dst: g_strdup
      Src: /src/glib/glib/deprecated/gcompletion.c:405,1
    - Dst: completion_check_cache
      Src: /src/glib/glib/deprecated/gcompletion.c:406,1
    - Dst: g_list_prepend
      Src: /src/glib/glib/deprecated/gcompletion.c:395,1
    - Dst: g_free
      Src: /src/glib/glib/deprecated/gcompletion.c:401,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 409
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 409
    functionName: g_completion_complete
    functionSourceFile: /src/glib/glib/deprecated/gcompletion.c
    functionUses: []
    functionsReached:
    - g_list_delete_link
    - g_return_val_if_fail
    - g_strdup
    - strlen
    - g_list_free
    - completion_check_cache
    - g_list_prepend
    - g_free
    linkageType: ''
    returnType: GList*
    signature: "GList * g_completion_complete (GCompletion* cmp,\t\t const gchar*\
      \ prefix,\t\t gchar**\t new_prefix) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - cmp
    - strncmp_func
    argTypes:
    - GCompletion*
    - GCompletionStrncmpFunc
    constantsTouched: []
    func_position:
      end: 445
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 445
    functionName: g_completion_set_compare
    functionSourceFile: /src/glib/glib/deprecated/gcompletion.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void g_completion_set_compare(GCompletion *cmp,\t\t\t GCompletionStrncmpFunc\
      \ strncmp_func) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_foreach
      Src: /src/glib/glib/deprecated/grel.c:242,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/glib/deprecated/grel.c:248,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/glib/deprecated/grel.c:243,1
    - Dst: g_free
      Src: /src/glib/glib/deprecated/grel.c:250,1
    - Dst: g_hash_table_foreach
      Src: /src/glib/glib/deprecated/grel.c:247,1
    - Dst: g_free
      Src: /src/glib/glib/deprecated/grel.c:251,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - relation
    argTypes:
    - GRelation*
    constantsTouched: []
    func_position:
      end: 253
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 253
    functionName: g_relation_destroy
    functionSourceFile: /src/glib/glib/deprecated/grel.c
    functionUses: []
    functionsReached:
    - g_free
    - g_hash_table_foreach
    - g_hash_table_destroy
    linkageType: ''
    returnType: void
    signature: 'void g_relation_destroy (GRelation *relation) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/deprecated/grel.c:427,1
    - Dst: memcpy
      Src: /src/glib/glib/deprecated/grel.c:429,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - tuple_key
    - tuple_value
    - user_data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 434
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 434
    functionName: g_relation_select_tuple
    functionSourceFile: /src/glib/glib/deprecated/grel.c
    functionUses: []
    functionsReached:
    - g_assert
    - memcpy
    linkageType: ''
    returnType: void
    signature: "static void g_relation_select_tuple (gpointer tuple_key,\t\t\t gpointer\
      \ tuple_value,\t\t\t gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_destroy
      Src: /src/glib/glib/deprecated/grel.c:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - key
    - value
    - user_data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 219
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 219
    functionName: g_relation_free_array
    functionSourceFile: /src/glib/glib/deprecated/grel.c
    functionUses: []
    functionsReached:
    - g_hash_table_destroy
    linkageType: ''
    returnType: void
    signature: 'static void g_relation_free_array (gpointer key, gpointer value, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/deprecated/grel.c:599,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/deprecated/grel.c:600,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - tuples0
    - index
    - field
    argTypes:
    - GTuples*
    - gint
    - gint
    constantsTouched: []
    func_position:
      end: 603
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 603
    functionName: g_tuples_index
    functionSourceFile: /src/glib/glib/deprecated/grel.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gpointer
    signature: "gpointer g_tuples_index (GTuples *tuples0,\t\tgint index,\t\tgint\
      \ field) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - v_a
    - v_b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 134
    functionName: tuple_equal_2
    functionSourceFile: /src/glib/glib/deprecated/grel.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean tuple_equal_2 (gconstpointer v_a,\t gconstpointer\
      \ v_b) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/deprecated/grel.c:393,1
    - Dst: g_hash_table_remove
      Src: /src/glib/glib/deprecated/grel.c:409,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/deprecated/grel.c:400,1
    - Dst: g_hash_table_foreach
      Src: /src/glib/glib/deprecated/grel.c:407,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/deprecated/grel.c:398,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/glib/deprecated/grel.c:411,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - relation
    - key
    - field
    argTypes:
    - GRelation*
    - gconstpointer
    - gint
    constantsTouched: []
    func_position:
      end: 416
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 416
    functionName: g_relation_delete
    functionSourceFile: /src/glib/glib/deprecated/grel.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_hash_table_remove
    - g_hash_table_lookup
    - g_hash_table_foreach
    - g_hash_table_destroy
    linkageType: ''
    returnType: gint
    signature: "gint g_relation_delete (GRelation *relation,\t\t gconstpointer key,\t\
      \t gint field) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - v_a
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 152
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 152
    functionName: tuple_hash_2
    functionSourceFile: /src/glib/glib/deprecated/grel.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint
    signature: 'static guint tuple_hash_2 (gconstpointer v_a) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/glib/deprecated/grel.c:343,1
    - Dst: g_slice_free1
      Src: /src/glib/glib/deprecated/grel.c:366,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/deprecated/grel.c:360,1
    - Dst: g_hash_table_remove
      Src: /src/glib/glib/deprecated/grel.c:365,1
    - Dst: g_hash_table_remove
      Src: /src/glib/glib/deprecated/grel.c:362,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 3
    argNames:
    - tuple_key
    - tuple_value
    - user_data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 369
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 369
    functionName: g_relation_delete_tuple
    functionSourceFile: /src/glib/glib/deprecated/grel.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_hash_table_lookup
    - g_slice_free1
    - g_hash_table_remove
    linkageType: ''
    returnType: void
    signature: "static void g_relation_delete_tuple (gpointer tuple_key,\t\t\t gpointer\
      \ tuple_value,\t\t\t gpointer user_data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/deprecated/grel.c:460,1
    - Dst: g_relation_count
      Src: /src/glib/glib/deprecated/grel.c:472,1
    - Dst: g_new0
      Src: /src/glib/glib/deprecated/grel.c:466,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/deprecated/grel.c:464,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/deprecated/grel.c:467,1
    - Dst: g_malloc
      Src: /src/glib/glib/deprecated/grel.c:474,1
    - Dst: g_hash_table_foreach
      Src: /src/glib/glib/deprecated/grel.c:477,1
    - Dst: g_assert
      Src: /src/glib/glib/deprecated/grel.c:479,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 482
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 482
    functionName: g_relation_select
    functionSourceFile: /src/glib/glib/deprecated/grel.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_assert
    - g_hash_table_lookup
    - g_malloc
    - g_new0
    - g_hash_table_foreach
    - g_relation_count
    linkageType: ''
    returnType: GTuples*
    signature: "GTuples *g_relation_select (GRelation *relation,\t\t gconstpointer\
      \ key,\t\t gint field) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_error
      Src: /src/glib/glib/deprecated/grel.c:162,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - fields
    argTypes:
    - gint
    constantsTouched: []
    func_position:
      end: 166
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 166
    functionName: tuple_hash
    functionSourceFile: /src/glib/glib/deprecated/grel.c
    functionUses: []
    functionsReached:
    - g_error
    linkageType: ''
    returnType: GHashFunc
    signature: 'static GHashFunc tuple_hash (gint fields) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/deprecated/grel.c:273,1
    - Dst: g_return_if_fail
      Src: /src/glib/glib/deprecated/grel.c:275,1
    - Dst: g_hash_table_new
      Src: /src/glib/glib/deprecated/grel.c:277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - relation
    - field
    - hash_func
    - key_equal_func
    argTypes:
    - GRelation*
    - gint
    - GHashFunc
    - GEqualFunc
    constantsTouched: []
    func_position:
      end: 278
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 278
    functionName: g_relation_index
    functionSourceFile: /src/glib/glib/deprecated/grel.c
    functionUses: []
    functionsReached:
    - g_hash_table_new
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_relation_index (GRelation *relation,\t\t gint field,\t\t GHashFunc\
      \ hash_func,\t\t GEqualFunc key_equal_func) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_error
      Src: /src/glib/glib/deprecated/grel.c:176,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - fields
    argTypes:
    - gint
    constantsTouched: []
    func_position:
      end: 180
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 180
    functionName: tuple_equal
    functionSourceFile: /src/glib/glib/deprecated/grel.c
    functionUses: []
    functionsReached:
    - g_error
    linkageType: ''
    returnType: GEqualFunc
    signature: 'static GEqualFunc tuple_equal (gint fields) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/glib/deprecated/grel.c:196,1
    - Dst: g_hash_table_new
      Src: /src/glib/glib/deprecated/grel.c:199,1
    - Dst: g_new0
      Src: /src/glib/glib/deprecated/grel.c:200,1
    - Dst: tuple_hash
      Src: /src/glib/glib/deprecated/grel.c:199,1
    - Dst: tuple_equal
      Src: /src/glib/glib/deprecated/grel.c:199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 203
    functionName: g_relation_new
    functionSourceFile: /src/glib/glib/deprecated/grel.c
    functionUses: []
    functionsReached:
    - tuple_hash
    - g_new0
    - g_hash_table_new
    - tuple_equal
    linkageType: ''
    returnType: GRelation*
    signature: 'GRelation *g_relation_new (gint fields) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_alloc
      Src: /src/glib/glib/deprecated/grel.c:536,1
    - Dst: va_end
      Src: /src/glib/glib/deprecated/grel.c:546,1
    - Dst: va_arg
      Src: /src/glib/glib/deprecated/grel.c:544,1
    - Dst: va_start
      Src: /src/glib/glib/deprecated/grel.c:541,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/deprecated/grel.c:548,1
    - Dst: g_slice_free1
      Src: /src/glib/glib/deprecated/grel.c:550,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - relation
    - '...'
    argTypes:
    - GRelation*
    constantsTouched: []
    func_position:
      end: 553
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 553
    functionName: g_relation_exists
    functionSourceFile: /src/glib/glib/deprecated/grel.c
    functionUses: []
    functionsReached:
    - g_hash_table_lookup
    - g_slice_free1
    - va_arg
    - va_end
    - va_start
    - g_slice_alloc
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_relation_exists (GRelation *relation, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/glib/deprecated/grel.c:573,1
    - Dst: g_free
      Src: /src/glib/glib/deprecated/grel.c:574,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - tuples0
    argTypes:
    - GTuples*
    constantsTouched: []
    func_position:
      end: 576
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 576
    functionName: g_tuples_destroy
    functionSourceFile: /src/glib/glib/deprecated/grel.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_tuples_destroy (GTuples *tuples0) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/glib/deprecated/grel.c:618,1
    - Dst: g_string_append
      Src: /src/glib/glib/deprecated/grel.c:625,1
    - Dst: g_string_append
      Src: /src/glib/glib/deprecated/grel.c:628,1
    - Dst: g_string_append_printf
      Src: /src/glib/glib/deprecated/grel.c:622,1
    - Dst: g_log
      Src: /src/glib/glib/deprecated/grel.c:629,1
    - Dst: g_string_free
      Src: /src/glib/glib/deprecated/grel.c:630,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - tuple_key
    - tuple_value
    - user_data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 631
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 631
    functionName: g_relation_print_one
    functionSourceFile: /src/glib/glib/deprecated/grel.c
    functionUses: []
    functionsReached:
    - g_string_free
    - g_string_new
    - g_log
    - g_string_append_printf
    - g_string_append
    linkageType: ''
    returnType: void
    signature: "static void g_relation_print_one (gpointer tuple_key,\t\t gpointer\
      \ tuple_value,\t\t gpointer user_data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_log
      Src: /src/glib/glib/deprecated/grel.c:662,1
    - Dst: g_hash_table_foreach
      Src: /src/glib/glib/deprecated/grel.c:675,1
    - Dst: g_hash_table_foreach
      Src: /src/glib/glib/deprecated/grel.c:664,1
    - Dst: g_log
      Src: /src/glib/glib/deprecated/grel.c:673,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - relation
    argTypes:
    - GRelation*
    constantsTouched: []
    func_position:
      end: 680
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 680
    functionName: g_relation_print
    functionSourceFile: /src/glib/glib/deprecated/grel.c
    functionUses: []
    functionsReached:
    - g_log
    - g_hash_table_foreach
    linkageType: ''
    returnType: void
    signature: 'void g_relation_print (GRelation *relation) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_free1
      Src: /src/glib/glib/deprecated/grel.c:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - tuple_key
    - tuple_value
    - user_data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 213
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 213
    functionName: relation_delete_value_tuple
    functionSourceFile: /src/glib/glib/deprecated/grel.c
    functionUses: []
    functionsReached:
    - g_slice_free1
    linkageType: ''
    returnType: void
    signature: 'static void relation_delete_value_tuple (gpointer tuple_key, gpointer
      tuple_value, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_log
      Src: /src/glib/glib/deprecated/grel.c:641,1
    - Dst: g_hash_table_foreach
      Src: /src/glib/glib/deprecated/grel.c:643,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - tuple_key
    - tuple_value
    - user_data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 646
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 646
    functionName: g_relation_print_index
    functionSourceFile: /src/glib/glib/deprecated/grel.c
    functionUses: []
    functionsReached:
    - g_log
    - g_hash_table_foreach
    linkageType: ''
    returnType: void
    signature: "static void g_relation_print_index (gpointer tuple_key,\t\t\tgpointer\
      \ tuple_value,\t\t\tgpointer user_data) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_alloc
      Src: /src/glib/glib/deprecated/grel.c:295,1
    - Dst: va_end
      Src: /src/glib/glib/deprecated/grel.c:304,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/deprecated/grel.c:306,1
    - Dst: va_start
      Src: /src/glib/glib/deprecated/grel.c:299,1
    - Dst: va_arg
      Src: /src/glib/glib/deprecated/grel.c:302,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/deprecated/grel.c:322,1
    - Dst: g_hash_table_new
      Src: /src/glib/glib/deprecated/grel.c:326,1
    - Dst: tuple_hash
      Src: /src/glib/glib/deprecated/grel.c:326,1
    - Dst: tuple_equal
      Src: /src/glib/glib/deprecated/grel.c:326,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/deprecated/grel.c:327,1
    - Dst: g_hash_table_insert
      Src: /src/glib/glib/deprecated/grel.c:330,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - relation
    - '...'
    argTypes:
    - GRelation*
    constantsTouched: []
    func_position:
      end: 332
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 332
    functionName: g_relation_insert
    functionSourceFile: /src/glib/glib/deprecated/grel.c
    functionUses: []
    functionsReached:
    - g_hash_table_lookup
    - g_hash_table_insert
    - tuple_hash
    - tuple_equal
    - va_arg
    - va_end
    - g_hash_table_new
    - va_start
    - g_slice_alloc
    linkageType: ''
    returnType: void
    signature: "void g_relation_insert (GRelation *relation,\t\t ...) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/deprecated/grel.c:505,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/deprecated/grel.c:509,1
    - Dst: g_hash_table_size
      Src: /src/glib/glib/deprecated/grel.c:516,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/glib/deprecated/grel.c:511,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - relation
    - key
    - field
    argTypes:
    - GRelation*
    - gconstpointer
    - gint
    constantsTouched: []
    func_position:
      end: 517
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 517
    functionName: g_relation_count
    functionSourceFile: /src/glib/glib/deprecated/grel.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_hash_table_lookup
    - g_hash_table_size
    linkageType: ''
    returnType: gint
    signature: "gint g_relation_count (GRelation *relation,\t\t gconstpointer key,\t\
      \t gint field) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/deprecated/gallocator.c:66,1
    - Dst: g_slice_alloc0
      Src: /src/glib/glib/deprecated/gallocator.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - mem_chunk
    argTypes:
    - GMemChunk*
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: g_mem_chunk_alloc0
    functionSourceFile: /src/glib/glib/deprecated/gallocator.c
    functionUses: []
    functionsReached:
    - g_slice_alloc0
    - g_return_val_if_fail
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_mem_chunk_alloc0 (GMemChunk *mem_chunk) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/deprecated/gallocator.c:50,1
    - Dst: g_slice_free
      Src: /src/glib/glib/deprecated/gallocator.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - mem_chunk
    argTypes:
    - GMemChunk*
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: g_mem_chunk_destroy
    functionSourceFile: /src/glib/glib/deprecated/gallocator.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_mem_chunk_destroy (GMemChunk *mem_chunk) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: g_allocator_new
    functionSourceFile: /src/glib/glib/deprecated/gallocator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GAllocator*
    signature: 'GAllocator *g_allocator_new (const gchar *name, guint n_preallocs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - mem_chunk
    argTypes:
    - GMemChunk*
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: g_mem_chunk_clean
    functionSourceFile: /src/glib/glib/deprecated/gallocator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void g_mem_chunk_clean (GMemChunk *mem_chunk) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - mem_chunk
    argTypes:
    - GMemChunk*
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: g_mem_chunk_print
    functionSourceFile: /src/glib/glib/deprecated/gallocator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void g_mem_chunk_print (GMemChunk *mem_chunk) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: g_blow_chunks
    functionSourceFile: /src/glib/glib/deprecated/gallocator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void g_blow_chunks (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: g_list_pop_allocator
    functionSourceFile: /src/glib/glib/deprecated/gallocator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void g_list_pop_allocator (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: g_slist_pop_allocator
    functionSourceFile: /src/glib/glib/deprecated/gallocator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void g_slist_pop_allocator (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/deprecated/gallocator.c:39,1
    - Dst: g_slice_new
      Src: /src/glib/glib/deprecated/gallocator.c:41,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 45
    functionName: g_mem_chunk_new
    functionSourceFile: /src/glib/glib/deprecated/gallocator.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_slice_new
    linkageType: ''
    returnType: GMemChunk*
    signature: 'GMemChunk *g_mem_chunk_new (const gchar *name, gint atom_size, gsize
      area_size, gint type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/glib/deprecated/gallocator.c:58,1
    - Dst: g_slice_alloc
      Src: /src/glib/glib/deprecated/gallocator.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - mem_chunk
    argTypes:
    - GMemChunk*
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: g_mem_chunk_alloc
    functionSourceFile: /src/glib/glib/deprecated/gallocator.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_slice_alloc
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_mem_chunk_alloc (GMemChunk *mem_chunk) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/glib/deprecated/gallocator.c:75,1
    - Dst: g_slice_free1
      Src: /src/glib/glib/deprecated/gallocator.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - mem_chunk
    - mem
    argTypes:
    - GMemChunk*
    - gpointer
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: g_mem_chunk_free
    functionSourceFile: /src/glib/glib/deprecated/gallocator.c
    functionUses: []
    functionsReached:
    - g_slice_free1
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_mem_chunk_free (GMemChunk *mem_chunk, gpointer mem) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - allocator
    argTypes:
    - GAllocator*
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: g_allocator_free
    functionSourceFile: /src/glib/glib/deprecated/gallocator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void g_allocator_free (GAllocator *allocator) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - mem_chunk
    argTypes:
    - GMemChunk*
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: g_mem_chunk_reset
    functionSourceFile: /src/glib/glib/deprecated/gallocator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void g_mem_chunk_reset (GMemChunk *mem_chunk) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: g_mem_chunk_info
    functionSourceFile: /src/glib/glib/deprecated/gallocator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void g_mem_chunk_info (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - allocator
    argTypes:
    - GAllocator*
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: g_list_push_allocator
    functionSourceFile: /src/glib/glib/deprecated/gallocator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void g_list_push_allocator (GAllocator *allocator) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - allocator
    argTypes:
    - GAllocator*
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: g_slist_push_allocator
    functionSourceFile: /src/glib/glib/deprecated/gallocator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void g_slist_push_allocator (GAllocator *allocator) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - allocator
    argTypes:
    - GAllocator*
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: g_node_push_allocator
    functionSourceFile: /src/glib/glib/deprecated/gallocator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void g_node_push_allocator (GAllocator *allocator) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: g_node_pop_allocator
    functionSourceFile: /src/glib/glib/deprecated/gallocator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void g_node_pop_allocator (void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _tfindfirst
      Src: /src/glib/glib/dirent/dirent.c:171,1
    - Dst: _tfindnext
      Src: /src/glib/glib/dirent/dirent.c:187,1
    - Dst: _findclose
      Src: /src/glib/glib/dirent/dirent.c:195,1
    - Dst: _tcslen
      Src: /src/glib/glib/dirent/dirent.c:212,1
    - Dst: GetLastError
      Src: /src/glib/glib/dirent/dirent.c:192,1
    - Dst: _tcscpy
      Src: /src/glib/glib/dirent/dirent.c:213,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 218
    functionName: _treaddir
    functionSourceFile: /src/glib/glib/dirent/dirent.c
    functionUses: []
    functionsReached:
    - _tcslen
    - _tfindnext
    - _tcscpy
    - _findclose
    - GetLastError
    - _tfindfirst
    linkageType: ''
    returnType: struct _tdirent*
    signature: "struct _tdirent *\r_treaddir (_TDIR * dirp) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - dirp
    argTypes:
    - _TDIR*
    constantsTouched: []
    func_position:
      end: 294
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 294
    functionName: _ttelldir
    functionSourceFile: /src/glib/glib/dirent/dirent.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: 'long _ttelldir (_TDIR * dirp) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _findclose
      Src: /src/glib/glib/dirent/dirent.c:327,1
    - Dst: _trewinddir
      Src: /src/glib/glib/dirent/dirent.c:335,1
    - Dst: _treaddir
      Src: /src/glib/glib/dirent/dirent.c:337,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - dirp
    - lPos
    argTypes:
    - _TDIR*
    - long
    constantsTouched: []
    func_position:
      end: 340
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 340
    functionName: _tseekdir
    functionSourceFile: /src/glib/glib/dirent/dirent.c
    functionUses: []
    functionsReached:
    - _trewinddir
    - _treaddir
    - _findclose
    linkageType: ''
    returnType: void
    signature: 'void _tseekdir (_TDIR * dirp, long lPos) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _T
      Src: /src/glib/glib/dirent/dirent.c:74,1
    - Dst: _tfullpath
      Src: /src/glib/glib/dirent/dirent.c:96,1
    - Dst: malloc
      Src: /src/glib/glib/dirent/dirent.c:100,1
    - Dst: GetFileAttributes
      Src: /src/glib/glib/dirent/dirent.c:81,1
    - Dst: _tcslen
      Src: /src/glib/glib/dirent/dirent.c:100,1
    - Dst: _tcslen
      Src: /src/glib/glib/dirent/dirent.c:100,1
    - Dst: _tcslen
      Src: /src/glib/glib/dirent/dirent.c:101,1
    - Dst: _tcscpy
      Src: /src/glib/glib/dirent/dirent.c:111,1
    - Dst: _T
      Src: /src/glib/glib/dirent/dirent.c:114,1
    - Dst: _tcslen
      Src: /src/glib/glib/dirent/dirent.c:115,1
    - Dst: _T
      Src: /src/glib/glib/dirent/dirent.c:115,1
    - Dst: _tcscat
      Src: /src/glib/glib/dirent/dirent.c:118,1
    - Dst: _tcscat
      Src: /src/glib/glib/dirent/dirent.c:122,1
    - Dst: _T
      Src: /src/glib/glib/dirent/dirent.c:116,1
    - Dst: _tcslen
      Src: /src/glib/glib/dirent/dirent.c:116,1
    - Dst: memset
      Src: /src/glib/glib/dirent/dirent.c:137,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 140
    functionName: _topendir
    functionSourceFile: /src/glib/glib/dirent/dirent.c
    functionUses: []
    functionsReached:
    - _T
    - malloc
    - GetFileAttributes
    - _tcslen
    - _tcscpy
    - _tfullpath
    - memset
    - _tcscat
    linkageType: ''
    returnType: _TDIR*
    signature: "_TDIR *\r_topendir (const _TCHAR *szPath) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _findclose
      Src: /src/glib/glib/dirent/dirent.c:242,1
    - Dst: free
      Src: /src/glib/glib/dirent/dirent.c:246,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - dirp
    argTypes:
    - _TDIR*
    constantsTouched: []
    func_position:
      end: 249
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 249
    functionName: _tclosedir
    functionSourceFile: /src/glib/glib/dirent/dirent.c
    functionUses: []
    functionsReached:
    - free
    - _findclose
    linkageType: ''
    returnType: int
    signature: 'int _tclosedir (_TDIR * dirp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _findclose
      Src: /src/glib/glib/dirent/dirent.c:270,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - dirp
    argTypes:
    - _TDIR*
    constantsTouched: []
    func_position:
      end: 275
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 275
    functionName: _trewinddir
    functionSourceFile: /src/glib/glib/dirent/dirent.c
    functionUses: []
    functionsReached:
    - _findclose
    linkageType: ''
    returnType: void
    signature: 'void _trewinddir (_TDIR * dirp) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ISSLASH
      Src: /src/glib/glib/libcharset/localcharset.c:125,1
    - Dst: getc
      Src: /src/glib/glib/libcharset/localcharset.c:162,1
    - Dst: free
      Src: /src/glib/glib/libcharset/localcharset.c:206,1
    - Dst: relocate
      Src: /src/glib/glib/libcharset/localcharset.c:119,1
    - Dst: malloc
      Src: /src/glib/glib/libcharset/localcharset.c:126,1
    - Dst: fopen
      Src: /src/glib/glib/libcharset/localcharset.c:136,1
    - Dst: getc
      Src: /src/glib/glib/libcharset/localcharset.c:153,1
    - Dst: ungetc
      Src: /src/glib/glib/libcharset/localcharset.c:168,1
    - Dst: fclose
      Src: /src/glib/glib/libcharset/localcharset.c:195,1
    - Dst: strlen
      Src: /src/glib/glib/libcharset/localcharset.c:123,1
    - Dst: free
      Src: /src/glib/glib/libcharset/localcharset.c:189,1
    - Dst: strcpy
      Src: /src/glib/glib/libcharset/localcharset.c:193,1
    - Dst: strcpy
      Src: /src/glib/glib/libcharset/localcharset.c:192,1
    - Dst: strlen
      Src: /src/glib/glib/libcharset/localcharset.c:124,1
    - Dst: memcpy
      Src: /src/glib/glib/libcharset/localcharset.c:129,1
    - Dst: memcpy
      Src: /src/glib/glib/libcharset/localcharset.c:132,1
    - Dst: strlen
      Src: /src/glib/glib/libcharset/localcharset.c:172,1
    - Dst: malloc
      Src: /src/glib/glib/libcharset/localcharset.c:177,1
    - Dst: strlen
      Src: /src/glib/glib/libcharset/localcharset.c:171,1
    - Dst: realloc
      Src: /src/glib/glib/libcharset/localcharset.c:182,1
    - Dst: fscanf
      Src: /src/glib/glib/libcharset/localcharset.c:169,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 110
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 270
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 270
    functionName: _g_locale_get_charset_aliases
    functionSourceFile: /src/glib/glib/libcharset/localcharset.c
    functionUses: []
    functionsReached:
    - malloc
    - memcpy
    - ungetc
    - strlen
    - fclose
    - free
    - getc
    - strcpy
    - fopen
    - realloc
    - fscanf
    - relocate
    - ISSLASH
    linkageType: ''
    returnType: char*
    signature: 'const char *_g_locale_get_charset_aliases (void) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/glib/glib/libcharset/localcharset.c:303,1
    - Dst: strcmp
      Src: /src/glib/glib/libcharset/localcharset.c:295,1
    - Dst: strchr
      Src: /src/glib/glib/libcharset/localcharset.c:311,1
    - Dst: getenv
      Src: /src/glib/glib/libcharset/localcharset.c:387,1
    - Dst: strchr
      Src: /src/glib/glib/libcharset/localcharset.c:394,1
    - Dst: strchr
      Src: /src/glib/glib/libcharset/localcharset.c:402,1
    - Dst: getenv
      Src: /src/glib/glib/libcharset/localcharset.c:354,1
    - Dst: setlocale
      Src: /src/glib/glib/libcharset/localcharset.c:347,1
    - Dst: sprintf
      Src: /src/glib/glib/libcharset/localcharset.c:423,1
    - Dst: memcpy
      Src: /src/glib/glib/libcharset/localcharset.c:407,1
    - Dst: nl_langinfo
      Src: /src/glib/glib/libcharset/localcharset.c:288,1
    - Dst: getenv
      Src: /src/glib/glib/libcharset/localcharset.c:305,1
    - Dst: strchr
      Src: /src/glib/glib/libcharset/localcharset.c:319,1
    - Dst: memcpy
      Src: /src/glib/glib/libcharset/localcharset.c:324,1
    - Dst: sprintf
      Src: /src/glib/glib/libcharset/localcharset.c:332,1
    - Dst: GetACP
      Src: /src/glib/glib/libcharset/localcharset.c:332,1
    - Dst: GetACP
      Src: /src/glib/glib/libcharset/localcharset.c:372,1
    - Dst: sprintf
      Src: /src/glib/glib/libcharset/localcharset.c:372,1
    - Dst: getenv
      Src: /src/glib/glib/libcharset/localcharset.c:389,1
    - Dst: getenv
      Src: /src/glib/glib/libcharset/localcharset.c:384,1
    - Dst: getenv
      Src: /src/glib/glib/libcharset/localcharset.c:300,1
    - Dst: getenv
      Src: /src/glib/glib/libcharset/localcharset.c:356,1
    - Dst: getenv
      Src: /src/glib/glib/libcharset/localcharset.c:351,1
    - Dst: DosQueryCp
      Src: /src/glib/glib/libcharset/localcharset.c:419,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 109
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 431
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 431
    functionName: _g_locale_charset_raw
    functionSourceFile: /src/glib/glib/libcharset/localcharset.c
    functionUses: []
    functionsReached:
    - memcpy
    - getenv
    - DosQueryCp
    - GetACP
    - strcmp
    - setlocale
    - strchr
    - sprintf
    - nl_langinfo
    linkageType: ''
    returnType: char*
    signature: 'const char *_g_locale_charset_raw (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _g_locale_get_charset_aliases
      Src: /src/glib/glib/libcharset/localcharset.c:443,1
    - Dst: strlen
      Src: /src/glib/glib/libcharset/localcharset.c:445,1
    - Dst: strcmp
      Src: /src/glib/glib/libcharset/localcharset.c:446,1
    - Dst: strlen
      Src: /src/glib/glib/libcharset/localcharset.c:449,1
    - Dst: strlen
      Src: /src/glib/glib/libcharset/localcharset.c:445,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 460
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 460
    functionName: _g_locale_charset_unalias
    functionSourceFile: /src/glib/glib/libcharset/localcharset.c
    functionUses: []
    functionsReached:
    - _g_locale_get_charset_aliases
    - strcmp
    - strlen
    linkageType: ''
    returnType: char*
    signature: 'const char *_g_locale_charset_unalias (const char *codeset) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __coverity_tainted_string_sanitize_content__
      Src: /src/glib/.gitlab-ci/coverity-model.c:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 118
    functionName: g_path_skip_root
    functionSourceFile: /src/glib/.gitlab-ci/coverity-model.c
    functionUses: []
    functionsReached:
    - __coverity_tainted_string_sanitize_content__
    linkageType: ''
    returnType: char*
    signature: 'const char *g_path_skip_root (const char *file_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __coverity_panic__
      Src: /src/glib/.gitlab-ci/coverity-model.c:153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - log_domain
    - log_level
    - format
    - '...'
    argTypes:
    - gchar*
    - GLogLevelFlags
    - gchar*
    constantsTouched: []
    func_position:
      end: 154
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 154
    functionName: g_log
    functionSourceFile: /src/glib/.gitlab-ci/coverity-model.c
    functionUses: []
    functionsReached:
    - __coverity_panic__
    linkageType: ''
    returnType: void
    signature: 'void g_log (const gchar *log_domain, GLogLevelFlags log_level, const
      gchar *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: g_list_reverse
    functionSourceFile: /src/glib/.gitlab-ci/coverity-model.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_list_reverse (GList *list) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - buffer
    - length
    argTypes:
    - guchar*
    - gulong
    constantsTouched: []
    func_position:
      end: 200
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 200
    functionName: md5_byte_reverse
    functionSourceFile: /src/glib/.gitlab-ci/coverity-model.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void md5_byte_reverse (guchar *buffer, gulong length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __coverity_panic__
      Src: /src/glib/.gitlab-ci/coverity-model.c:239,1
    - Dst: malloc
      Src: /src/glib/.gitlab-ci/coverity-model.c:241,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 245
    functionName: g_dir_new_from_dirp
    functionSourceFile: /src/glib/.gitlab-ci/coverity-model.c
    functionUses: []
    functionsReached:
    - malloc
    - __coverity_panic__
    linkageType: ''
    returnType: GDir*
    signature: 'GDir *g_dir_new_from_dirp (gpointer dirp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __coverity_tainted_string_sanitize_content__
      Src: /src/glib/.gitlab-ci/coverity-model.c:99,1
    - Dst: stat
      Src: /src/glib/.gitlab-ci/coverity-model.c:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - filename
    - buf
    argTypes:
    - char*
    - GStatBuf*
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: g_stat
    functionSourceFile: /src/glib/.gitlab-ci/coverity-model.c
    functionUses: []
    functionsReached:
    - __coverity_tainted_string_sanitize_content__
    - stat
    linkageType: ''
    returnType: int
    signature: 'int g_stat (const char *filename, GStatBuf *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - buffer
    - length
    argTypes:
    - guint32*
    - gint
    constantsTouched: []
    func_position:
      end: 207
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 207
    functionName: sha_byte_reverse
    functionSourceFile: /src/glib/.gitlab-ci/coverity-model.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void sha_byte_reverse (guint32 *buffer, gint length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __coverity_tainted_string_sanitize_content__
      Src: /src/glib/.gitlab-ci/coverity-model.c:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - action_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 134
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 134
    functionName: g_action_name_is_valid
    functionSourceFile: /src/glib/.gitlab-ci/coverity-model.c
    functionUses: []
    functionsReached:
    - __coverity_tainted_string_sanitize_content__
    linkageType: ''
    returnType: int
    signature: 'int g_action_name_is_valid (const char *action_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __coverity_panic__
      Src: /src/glib/.gitlab-ci/coverity-model.c:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - log_domain
    - pretty_function
    - expression
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: g_return_if_fail_warning
    functionSourceFile: /src/glib/.gitlab-ci/coverity-model.c
    functionUses: []
    functionsReached:
    - __coverity_panic__
    linkageType: ''
    returnType: void
    signature: 'void g_return_if_fail_warning (const char *log_domain, const char
      *pretty_function, const char *expression) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __coverity_escape__
      Src: /src/glib/.gitlab-ci/coverity-model.c:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - location
    - result
    argTypes:
    - void*
    - gsize
    constantsTouched: []
    func_position:
      end: 164
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 164
    functionName: (g_once_init_leave)
    functionSourceFile: /src/glib/.gitlab-ci/coverity-model.c
    functionUses: []
    functionsReached:
    - __coverity_escape__
    linkageType: ''
    returnType: void
    signature: 'void (g_once_init_leave) (volatile void *location, gsize result) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __coverity_tainted_string_sink_content__
      Src: /src/glib/.gitlab-ci/coverity-model.c:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - gchar
    constantsTouched: []
    func_position:
      end: 186
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 186
    functionName: g_ascii_isspace
    functionSourceFile: /src/glib/.gitlab-ci/coverity-model.c
    functionUses: []
    functionsReached:
    - __coverity_tainted_string_sink_content__
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_ascii_isspace (gchar c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __coverity_tainted_data_sink__
      Src: /src/glib/.gitlab-ci/coverity-model.c:214,1
    - Dst: __coverity_alloc_nosize__
      Src: /src/glib/.gitlab-ci/coverity-model.c:215,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 216
    functionName: g_variant_parse_error_print_context
    functionSourceFile: /src/glib/.gitlab-ci/coverity-model.c
    functionUses: []
    functionsReached:
    - __coverity_alloc_nosize__
    - __coverity_tainted_data_sink__
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_variant_parse_error_print_context (GError *error, const gchar
      *source_str) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_vprintf
      Src: /src/glib/gmodule/gmodule-win32.c:57,1
    - Dst: SetThreadErrorMode
      Src: /src/glib/gmodule/gmodule-win32.c:90,1
    - Dst: set_error
      Src: /src/glib/gmodule/gmodule-win32.c:92,1
    - Dst: cygwin_conv_to_win32_path
      Src: /src/glib/gmodule/gmodule-win32.c:84,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gmodule/gmodule-win32.c:87,1
    - Dst: LoadPackagedLibrary
      Src: /src/glib/gmodule/gmodule-win32.c:97,1
    - Dst: LoadLibraryW
      Src: /src/glib/gmodule/gmodule-win32.c:99,1
    - Dst: SetThreadErrorMode
      Src: /src/glib/gmodule/gmodule-win32.c:103,1
    - Dst: g_free
      Src: /src/glib/gmodule/gmodule-win32.c:104,1
    - Dst: set_error
      Src: /src/glib/gmodule/gmodule-win32.c:107,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 21
    argCount: 0
    argNames:
    - 2, 3
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 110
    functionName: G_GNUC_PRINTF
    functionSourceFile: /src/glib/gmodule/gmodule-win32.c
    functionUses: []
    functionsReached:
    - g_strdup_vprintf
    - set_error
    - LoadLibraryW
    - g_utf8_to_utf16
    - LoadPackagedLibrary
    - SetThreadErrorMode
    - g_free
    - cygwin_conv_to_win32_path
    linkageType: ''
    returnType: void
    signature: "static void G_GNUC_PRINTF (2, 3) set_error (GError **error, const\
      \ gchar *format, ...){ gchar *win32_error; gchar *detail; gchar *message; va_list\
      \ args; win32_error = g_win32_error_message (GetLastError ()); va_start (args,\
      \ format); detail = g_strdup_vprintf (format, args); va_end (args); message\
      \ = g_strconcat (detail, win32_error, NULL); g_module_set_error (message); g_set_error_literal\
      \ (error, G_MODULE_ERROR, G_MODULE_ERROR_FAILED, message); g_free (message);\
      \ g_free (detail); g_free (win32_error); } /* --- functions --- */ static gpointer_g_module_open\
      \ (const gchar *file_name,\t\tgboolean bind_lazy,\t\tgboolean bind_local, GError\
      \ **error) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FreeLibrary
      Src: /src/glib/gmodule/gmodule-win32.c:125,1
    - Dst: set_error
      Src: /src/glib/gmodule/gmodule-win32.c:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - handle
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 127
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 127
    functionName: _g_module_close
    functionSourceFile: /src/glib/gmodule/gmodule-win32.c
    functionUses: []
    functionsReached:
    - FreeLibrary
    - set_error
    linkageType: ''
    returnType: void
    signature: 'static void _g_module_close (gpointer handle) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find_in_any_module_using_toolhelp
      Src: /src/glib/gmodule/gmodule-win32.c:177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - symbol_name
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 181
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 181
    functionName: find_in_any_module
    functionSourceFile: /src/glib/gmodule/gmodule-win32.c
    functionUses: []
    functionsReached:
    - find_in_any_module_using_toolhelp
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer find_in_any_module (const gchar *symbol_name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CreateToolhelp32Snapshot
      Src: /src/glib/gmodule/gmodule-win32.c:144,1
    - Dst: g_thread_yield
      Src: /src/glib/gmodule/gmodule-win32.c:147,1
    - Dst: GetProcAddress
      Src: /src/glib/gmodule/gmodule-win32.c:161,1
    - Dst: GetLastError
      Src: /src/glib/gmodule/gmodule-win32.c:145,1
    - Dst: Module32First
      Src: /src/glib/gmodule/gmodule-win32.c:158,1
    - Dst: Module32Next
      Src: /src/glib/gmodule/gmodule-win32.c:163,1
    - Dst: CloseHandle
      Src: /src/glib/gmodule/gmodule-win32.c:166,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - symbol_name
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 170
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 170
    functionName: find_in_any_module_using_toolhelp
    functionSourceFile: /src/glib/gmodule/gmodule-win32.c
    functionUses: []
    functionsReached:
    - g_thread_yield
    - CreateToolhelp32Snapshot
    - Module32First
    - Module32Next
    - GetProcAddress
    - GetLastError
    - CloseHandle
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer find_in_any_module_using_toolhelp (const gchar *symbol_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: _g_module_self
    functionSourceFile: /src/glib/gmodule/gmodule-win32.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer _g_module_self (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetProcAddress
      Src: /src/glib/gmodule/gmodule-win32.c:191,1
    - Dst: GetProcAddress
      Src: /src/glib/gmodule/gmodule-win32.c:195,1
    - Dst: find_in_any_module
      Src: /src/glib/gmodule/gmodule-win32.c:192,1
    - Dst: set_error
      Src: /src/glib/gmodule/gmodule-win32.c:198,1
    - Dst: GetModuleHandle
      Src: /src/glib/gmodule/gmodule-win32.c:191,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - handle
    - symbol_name
    argTypes:
    - gpointer
    - gchar*
    constantsTouched: []
    func_position:
      end: 201
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 201
    functionName: _g_module_symbol
    functionSourceFile: /src/glib/gmodule/gmodule-win32.c
    functionUses: []
    functionsReached:
    - set_error
    - GetModuleHandle
    - find_in_any_module
    - GetProcAddress
    linkageType: ''
    returnType: gpointer
    signature: "static gpointer _g_module_symbol (gpointer handle,\t\t const gchar\
      \ *symbol_name) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/gmodule/gmodule-win32.c:209,1
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/gmodule/gmodule-win32.c:212,1
    - Dst: g_strconcat
      Src: /src/glib/gmodule/gmodule-win32.c:213,1
    - Dst: g_strconcat
      Src: /src/glib/gmodule/gmodule-win32.c:218,1
    - Dst: strncmp
      Src: /src/glib/gmodule/gmodule-win32.c:228,1
    - Dst: g_strconcat
      Src: /src/glib/gmodule/gmodule-win32.c:234,1
    - Dst: g_strconcat
      Src: /src/glib/gmodule/gmodule-win32.c:236,1
    - Dst: g_strdup
      Src: /src/glib/gmodule/gmodule-win32.c:226,1
    - Dst: g_strconcat
      Src: /src/glib/gmodule/gmodule-win32.c:229,1
    - Dst: g_strconcat
      Src: /src/glib/gmodule/gmodule-win32.c:231,1
    - Dst: G_WITH_CYGWIN
      Src: /src/glib/gmodule/gmodule-win32.c:227,1
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/gmodule/gmodule-win32.c:225,1
    - Dst: strncmp
      Src: /src/glib/gmodule/gmodule-win32.c:228,1
    - Dst: strncmp
      Src: /src/glib/gmodule/gmodule-win32.c:233,1
    - Dst: dll
      Src: /src/glib/gmodule/gmodule-win32.c:223,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 238
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 238
    functionName: _g_module_build_path
    functionSourceFile: /src/glib/gmodule/gmodule-win32.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_strconcat
    - strlen
    - g_ascii_strcasecmp
    - strncmp
    - G_WITH_CYGWIN
    - dll
    linkageType: ''
    returnType: gchar*
    signature: "static gchar *_g_module_build_path (const gchar *directory,\t\t const\
      \ gchar *module_name) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gmodule/gmodule-dl.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: lock_dlerror
    functionSourceFile: /src/glib/gmodule/gmodule-dl.c
    functionUses: []
    functionsReached:
    - G_LOCK
    linkageType: ''
    returnType: void
    signature: 'static void lock_dlerror (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dlerror
      Src: /src/glib/gmodule/gmodule-dl.c:117,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: fetch_dlerror
    functionSourceFile: /src/glib/gmodule/gmodule-dl.c
    functionUses: []
    functionsReached:
    - dlerror
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *fetch_dlerror (gboolean replace_null) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lock_dlerror
      Src: /src/glib/gmodule/gmodule-dl.c:168,1
    - Dst: unlock_dlerror
      Src: /src/glib/gmodule/gmodule-dl.c:176,1
    - Dst: g_module_set_error
      Src: /src/glib/gmodule/gmodule-dl.c:175,1
    - Dst: dlopen
      Src: /src/glib/gmodule/gmodule-dl.c:172,1
    - Dst: fetch_dlerror
      Src: /src/glib/gmodule/gmodule-dl.c:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 179
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 179
    functionName: _g_module_self
    functionSourceFile: /src/glib/gmodule/gmodule-dl.c
    functionUses: []
    functionsReached:
    - fetch_dlerror
    - g_module_set_error
    - dlopen
    - lock_dlerror
    - unlock_dlerror
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer _g_module_self (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLOCK
      Src: /src/glib/gmodule/gmodule-dl.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: unlock_dlerror
    functionSourceFile: /src/glib/gmodule/gmodule-dl.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    linkageType: ''
    returnType: void
    signature: 'static void unlock_dlerror (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lock_dlerror
      Src: /src/glib/gmodule/gmodule-dl.c:136,1
    - Dst: g_module_set_error
      Src: /src/glib/gmodule/gmodule-dl.c:143,1
    - Dst: fetch_dlerror
      Src: /src/glib/gmodule/gmodule-dl.c:141,1
    - Dst: g_set_error_literal
      Src: /src/glib/gmodule/gmodule-dl.c:144,1
    - Dst: dlopen
      Src: /src/glib/gmodule/gmodule-dl.c:137,1
    - Dst: unlock_dlerror
      Src: /src/glib/gmodule/gmodule-dl.c:147,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - file_name
    - bind_lazy
    - bind_local
    - error
    argTypes:
    - gchar*
    - gboolean
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 150
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 150
    functionName: _g_module_open
    functionSourceFile: /src/glib/gmodule/gmodule-dl.c
    functionUses: []
    functionsReached:
    - fetch_dlerror
    - g_module_set_error
    - dlopen
    - g_set_error_literal
    - lock_dlerror
    - unlock_dlerror
    linkageType: ''
    returnType: gpointer
    signature: "static gpointer _g_module_open (const gchar *file_name,\t\tgboolean\
      \ bind_lazy,\t\tgboolean bind_local, GError **error) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lock_dlerror
      Src: /src/glib/gmodule/gmodule-dl.c:188,1
    - Dst: dlclose
      Src: /src/glib/gmodule/gmodule-dl.c:189,1
    - Dst: fetch_dlerror
      Src: /src/glib/gmodule/gmodule-dl.c:190,1
    - Dst: unlock_dlerror
      Src: /src/glib/gmodule/gmodule-dl.c:191,1
    - Dst: g_module_set_error
      Src: /src/glib/gmodule/gmodule-dl.c:190,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - handle
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 193
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 193
    functionName: _g_module_close
    functionSourceFile: /src/glib/gmodule/gmodule-dl.c
    functionUses: []
    functionsReached:
    - fetch_dlerror
    - g_module_set_error
    - dlclose
    - lock_dlerror
    - unlock_dlerror
    linkageType: ''
    returnType: void
    signature: 'static void _g_module_close (gpointer handle) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lock_dlerror
      Src: /src/glib/gmodule/gmodule-dl.c:202,1
    - Dst: dlsym
      Src: /src/glib/gmodule/gmodule-dl.c:204,1
    - Dst: fetch_dlerror
      Src: /src/glib/gmodule/gmodule-dl.c:203,1
    - Dst: fetch_dlerror
      Src: /src/glib/gmodule/gmodule-dl.c:205,1
    - Dst: g_module_set_error
      Src: /src/glib/gmodule/gmodule-dl.c:207,1
    - Dst: unlock_dlerror
      Src: /src/glib/gmodule/gmodule-dl.c:208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - handle
    - symbol_name
    argTypes:
    - gpointer
    - gchar*
    constantsTouched: []
    func_position:
      end: 211
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 211
    functionName: _g_module_symbol
    functionSourceFile: /src/glib/gmodule/gmodule-dl.c
    functionUses: []
    functionsReached:
    - fetch_dlerror
    - g_module_set_error
    - dlsym
    - lock_dlerror
    - unlock_dlerror
    linkageType: ''
    returnType: gpointer
    signature: "static gpointer _g_module_symbol (gpointer handle,\t\t const gchar\
      \ *symbol_name) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dlopen
      Src: /src/glib/gmodule/gmodule-ar.c:143,1
    - Dst: g_module_set_error
      Src: /src/glib/gmodule/gmodule-ar.c:145,1
    - Dst: fetch_dlerror
      Src: /src/glib/gmodule/gmodule-ar.c:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 148
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 148
    functionName: _g_module_self
    functionSourceFile: /src/glib/gmodule/gmodule-ar.c
    functionUses: []
    functionsReached:
    - fetch_dlerror
    - g_module_set_error
    - dlopen
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer _g_module_self (void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/glib/gmodule/gmodule-ar.c:58,1
    - Dst: read
      Src: /src/glib/gmodule/gmodule-ar.c:62,1
    - Dst: lseek
      Src: /src/glib/gmodule/gmodule-ar.c:72,1
    - Dst: strncmp
      Src: /src/glib/gmodule/gmodule-ar.c:65,1
    - Dst: atol
      Src: /src/glib/gmodule/gmodule-ar.c:70,1
    - Dst: read
      Src: /src/glib/gmodule/gmodule-ar.c:75,1
    - Dst: atol
      Src: /src/glib/gmodule/gmodule-ar.c:80,1
    - Dst: g_malloc
      Src: /src/glib/gmodule/gmodule-ar.c:82,1
    - Dst: read
      Src: /src/glib/gmodule/gmodule-ar.c:86,1
    - Dst: g_free
      Src: /src/glib/gmodule/gmodule-ar.c:88,1
    - Dst: close
      Src: /src/glib/gmodule/gmodule-ar.c:96,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 99
    functionName: _g_module_get_member
    functionSourceFile: /src/glib/gmodule/gmodule-ar.c
    functionUses: []
    functionsReached:
    - atol
    - g_free
    - g_malloc
    - strncmp
    - close
    - lseek
    - open
    - read
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar * _g_module_get_member(const gchar* file_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dlclose
      Src: /src/glib/gmodule/gmodule-ar.c:153,1
    - Dst: fetch_dlerror
      Src: /src/glib/gmodule/gmodule-ar.c:154,1
    - Dst: g_module_set_error
      Src: /src/glib/gmodule/gmodule-ar.c:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - handle
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 155
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 155
    functionName: _g_module_close
    functionSourceFile: /src/glib/gmodule/gmodule-ar.c
    functionUses: []
    functionsReached:
    - fetch_dlerror
    - g_module_set_error
    - dlclose
    linkageType: ''
    returnType: void
    signature: 'static void _g_module_close (gpointer handle) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _g_module_get_member
      Src: /src/glib/gmodule/gmodule-ar.c:113,1
    - Dst: dlopen
      Src: /src/glib/gmodule/gmodule-ar.c:122,1
    - Dst: g_strdup
      Src: /src/glib/gmodule/gmodule-ar.c:120,1
    - Dst: g_strconcat
      Src: /src/glib/gmodule/gmodule-ar.c:116,1
    - Dst: g_free
      Src: /src/glib/gmodule/gmodule-ar.c:117,1
    - Dst: g_free
      Src: /src/glib/gmodule/gmodule-ar.c:125,1
    - Dst: fetch_dlerror
      Src: /src/glib/gmodule/gmodule-ar.c:129,1
    - Dst: g_module_set_error
      Src: /src/glib/gmodule/gmodule-ar.c:131,1
    - Dst: g_set_error_literal
      Src: /src/glib/gmodule/gmodule-ar.c:132,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 4
    argNames:
    - file_name
    - bind_lazy
    - bind_local
    - error
    argTypes:
    - gchar*
    - gboolean
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 136
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 136
    functionName: _g_module_open
    functionSourceFile: /src/glib/gmodule/gmodule-ar.c
    functionUses: []
    functionsReached:
    - fetch_dlerror
    - g_module_set_error
    - g_strdup
    - g_strconcat
    - dlopen
    - g_set_error_literal
    - _g_module_get_member
    - g_free
    linkageType: ''
    returnType: gpointer
    signature: "static gpointer _g_module_open (const gchar *file_name,\t\tgboolean\
      \ bind_lazy,\t\tgboolean bind_local, GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dlsym
      Src: /src/glib/gmodule/gmodule-ar.c:163,1
    - Dst: fetch_dlerror
      Src: /src/glib/gmodule/gmodule-ar.c:165,1
    - Dst: g_module_set_error
      Src: /src/glib/gmodule/gmodule-ar.c:165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - handle
    - symbol_name
    argTypes:
    - gpointer
    - gchar*
    constantsTouched: []
    func_position:
      end: 168
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 168
    functionName: _g_module_symbol
    functionSourceFile: /src/glib/gmodule/gmodule-ar.c
    functionUses: []
    functionsReached:
    - g_module_set_error
    - dlsym
    - fetch_dlerror
    linkageType: ''
    returnType: gpointer
    signature: "static gpointer _g_module_symbol (gpointer handle,\t\t const gchar\
      \ *symbol_name) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dlerror
      Src: /src/glib/gmodule/gmodule-ar.c:38,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 47
    functionName: fetch_dlerror
    functionSourceFile: /src/glib/gmodule/gmodule-ar.c
    functionUses: []
    functionsReached:
    - dlerror
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *fetch_dlerror (gboolean replace_null) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/glib/gmodule/gmodule-deprecated.c:22,1
    - Dst: strncmp
      Src: /src/glib/gmodule/gmodule-deprecated.c:26,1
    - Dst: g_strconcat
      Src: /src/glib/gmodule/gmodule-deprecated.c:25,1
    - Dst: g_strconcat
      Src: /src/glib/gmodule/gmodule-deprecated.c:23,1
    - Dst: g_strdup
      Src: /src/glib/gmodule/gmodule-deprecated.c:27,1
    - Dst: g_strconcat
      Src: /src/glib/gmodule/gmodule-deprecated.c:29,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 30
    functionName: _g_module_build_path
    functionSourceFile: /src/glib/gmodule/gmodule-deprecated.c
    functionUses: []
    functionsReached:
    - strncmp
    - g_strdup
    - g_strconcat
    linkageType: ''
    returnType: gchar*
    signature: "gchar *_g_module_build_path (const gchar *directory,\t\t const gchar\
      \ *module_name) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_module_set_error
      Src: /src/glib/gmodule/gmodule.c:251,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - file_name
    - bind_lazy
    - bind_local
    - error
    argTypes:
    - gchar*
    - gboolean
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 253
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 253
    functionName: _g_module_open
    functionSourceFile: /src/glib/gmodule/gmodule.c
    functionUses: []
    functionsReached:
    - g_module_set_error
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer _g_module_open (const gchar *file_name, gboolean bind_lazy,
      gboolean bind_local, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_private_replace
      Src: /src/glib/gmodule/gmodule.c:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - error
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 224
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 224
    functionName: g_module_set_error_unduped
    functionSourceFile: /src/glib/gmodule/gmodule.c
    functionUses: []
    functionsReached:
    - g_private_replace
    linkageType: ''
    returnType: void
    signature: 'static inline void g_module_set_error_unduped (gchar *error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_open
      Src: /src/glib/gmodule/gmodule.c:316,1
    - Dst: g_filename_display_name
      Src: /src/glib/gmodule/gmodule.c:319,1
    - Dst: g_scanner_input_file
      Src: /src/glib/gmodule/gmodule.c:326,1
    - Dst: g_scanner_scope_add_symbol
      Src: /src/glib/gmodule/gmodule.c:328,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gmodule/gmodule.c:329,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gmodule/gmodule.c:333,1
    - Dst: g_scanner_scope_add_symbol
      Src: /src/glib/gmodule/gmodule.c:332,1
    - Dst: g_scanner_destroy
      Src: /src/glib/gmodule/gmodule.c:351,1
    - Dst: strcmp
      Src: /src/glib/gmodule/gmodule.c:365,1
    - Dst: g_free
      Src: /src/glib/gmodule/gmodule.c:368,1
    - Dst: g_path_get_dirname
      Src: /src/glib/gmodule/gmodule.c:377,1
    - Dst: g_module_set_error_unduped
      Src: /src/glib/gmodule/gmodule.c:389,1
    - Dst: g_strconcat
      Src: /src/glib/gmodule/gmodule.c:395,1
    - Dst: g_free
      Src: /src/glib/gmodule/gmodule.c:398,1
    - Dst: g_module_set_error_unduped
      Src: /src/glib/gmodule/gmodule.c:320,1
    - Dst: g_scanner_scope_add_symbol
      Src: /src/glib/gmodule/gmodule.c:330,1
    - Dst: g_scanner_eof
      Src: /src/glib/gmodule/gmodule.c:334,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gmodule/gmodule.c:331,1
    - Dst: g_scanner_get_next_token
      Src: /src/glib/gmodule/gmodule.c:340,1
    - Dst: g_strdup_printf
      Src: /src/glib/gmodule/gmodule.c:346,1
    - Dst: g_free
      Src: /src/glib/gmodule/gmodule.c:347,1
    - Dst: close
      Src: /src/glib/gmodule/gmodule.c:352,1
    - Dst: g_strdup
      Src: /src/glib/gmodule/gmodule.c:361,1
    - Dst: g_strdup
      Src: /src/glib/gmodule/gmodule.c:369,1
    - Dst: g_free
      Src: /src/glib/gmodule/gmodule.c:378,1
    - Dst: g_filename_display_name
      Src: /src/glib/gmodule/gmodule.c:388,1
    - Dst: g_filename_display_name
      Src: /src/glib/gmodule/gmodule.c:345,1
    - Dst: g_free
      Src: /src/glib/gmodule/gmodule.c:349,1
    - Dst: g_free
      Src: /src/glib/gmodule/gmodule.c:360,1
    - Dst: g_clear_pointer
      Src: /src/glib/gmodule/gmodule.c:383,1
    - Dst: g_steal_fd
      Src: /src/glib/gmodule/gmodule.c:384,1
    - Dst: g_free
      Src: /src/glib/gmodule/gmodule.c:397,1
    - Dst: g_free
      Src: /src/glib/gmodule/gmodule.c:390,1
    - Dst: g_strdup_printf
      Src: /src/glib/gmodule/gmodule.c:389,1
    - Dst: g_free
      Src: /src/glib/gmodule/gmodule.c:321,1
    - Dst: g_strdup_printf
      Src: /src/glib/gmodule/gmodule.c:320,1
    - Dst: g_scanner_new
      Src: /src/glib/gmodule/gmodule.c:325,1
    - Dst: g_scanner_get_next_token
      Src: /src/glib/gmodule/gmodule.c:336,1
    - Dst: g_scanner_get_next_token
      Src: /src/glib/gmodule/gmodule.c:341,1
    - Dst: g_module_set_error_unduped
      Src: /src/glib/gmodule/gmodule.c:346,1
    - Dst: g_free
      Src: /src/glib/gmodule/gmodule.c:350,1
    - Dst: g_strconcat
      Src: /src/glib/gmodule/gmodule.c:379,1
    - Dst: g_free
      Src: /src/glib/gmodule/gmodule.c:380,1
    - Dst: close
      Src: /src/glib/gmodule/gmodule.c:384,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 84
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 401
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 401
    functionName: parse_libtool_archive
    functionSourceFile: /src/glib/gmodule/gmodule.c
    functionUses: []
    functionsReached:
    - g_scanner_eof
    - g_strdup_printf
    - g_strconcat
    - g_steal_fd
    - strcmp
    - g_filename_display_name
    - g_scanner_scope_add_symbol
    - g_open
    - g_scanner_destroy
    - g_clear_pointer
    - g_module_set_error_unduped
    - g_scanner_input_file
    - g_path_get_dirname
    - g_scanner_new
    - g_strdup
    - GUINT_TO_POINTER
    - close
    - g_free
    - g_scanner_get_next_token
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *parse_libtool_archive (const gchar* libtool_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gmodule/gmodule.c:781,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - module
    argTypes:
    - GModule*
    constantsTouched: []
    func_position:
      end: 784
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 784
    functionName: g_module_make_resident
    functionSourceFile: /src/glib/gmodule/gmodule.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_module_make_resident (GModule *module) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_module_set_error_unduped
      Src: /src/glib/gmodule/gmodule.c:229,1
    - Dst: g_strdup
      Src: /src/glib/gmodule/gmodule.c:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - error
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 230
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 230
    functionName: g_module_set_error
    functionSourceFile: /src/glib/gmodule/gmodule.c
    functionUses: []
    functionsReached:
    - g_module_set_error_unduped
    - g_strdup
    linkageType: ''
    returnType: void
    signature: 'static inline void g_module_set_error (const gchar *error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - handle
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: _g_module_close
    functionSourceFile: /src/glib/gmodule/gmodule.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _g_module_close (gpointer handle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_module_open_full
      Src: /src/glib/gmodule/gmodule.c:707,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 708
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 708
    functionName: g_module_open
    functionSourceFile: /src/glib/gmodule/gmodule.c
    functionUses: []
    functionsReached:
    - g_module_open_full
    linkageType: ''
    returnType: GModule*
    signature: 'GModule *g_module_open (const gchar *file_name, GModuleFlags flags) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SUPPORT_OR_RETURN
      Src: /src/glib/gmodule/gmodule.c:721,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gmodule/gmodule.c:724,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gmodule/gmodule.c:723,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/gmodule/gmodule.c:726,1
    - Dst: unload
      Src: /src/glib/gmodule/gmodule.c:736,1
    - Dst: _g_module_close
      Src: /src/glib/gmodule/gmodule.c:762,1
    - Dst: g_free
      Src: /src/glib/gmodule/gmodule.c:763,1
    - Dst: g_free
      Src: /src/glib/gmodule/gmodule.c:764,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gmodule/gmodule.c:767,1
    - Dst: g_module_error
      Src: /src/glib/gmodule/gmodule.c:768,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 1
    argNames:
    - module
    argTypes:
    - GModule*
    constantsTouched: []
    func_position:
      end: 769
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 769
    functionName: g_module_close
    functionSourceFile: /src/glib/gmodule/gmodule.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_lock
    - g_return_val_if_fail
    - g_module_error
    - g_rec_mutex_unlock
    - SUPPORT_OR_RETURN
    - unload
    - _g_module_close
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_module_close (GModule *module) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SUPPORT_OR_RETURN
      Src: /src/glib/gmodule/gmodule.c:819,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/gmodule/gmodule.c:825,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gmodule/gmodule.c:822,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gmodule/gmodule.c:821,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gmodule/gmodule.c:823,1
    - Dst: g_strconcat
      Src: /src/glib/gmodule/gmodule.c:831,1
    - Dst: _g_module_symbol
      Src: /src/glib/gmodule/gmodule.c:832,1
    - Dst: g_free
      Src: /src/glib/gmodule/gmodule.c:833,1
    - Dst: _g_module_symbol
      Src: /src/glib/gmodule/gmodule.c:836,1
    - Dst: g_module_error
      Src: /src/glib/gmodule/gmodule.c:839,1
    - Dst: g_module_set_error
      Src: /src/glib/gmodule/gmodule.c:845,1
    - Dst: g_strconcat
      Src: /src/glib/gmodule/gmodule.c:844,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gmodule/gmodule.c:850,1
    - Dst: g_free
      Src: /src/glib/gmodule/gmodule.c:846,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - module
    - symbol_name
    - symbol
    argTypes:
    - GModule*
    - gchar*
    - gpointer*
    constantsTouched: []
    func_position:
      end: 852
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 852
    functionName: g_module_symbol
    functionSourceFile: /src/glib/gmodule/gmodule.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_lock
    - _g_module_symbol
    - g_module_set_error
    - g_return_val_if_fail
    - g_strconcat
    - g_module_error
    - g_rec_mutex_unlock
    - SUPPORT_OR_RETURN
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_module_symbol (GModule *module, const gchar *symbol_name,
      gpointer *symbol) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 201
    functionName: g_module_find_by_handle
    functionSourceFile: /src/glib/gmodule/gmodule.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GModule*
    signature: 'static inline GModule *g_module_find_by_handle (gpointer handle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 262
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 262
    functionName: _g_module_self
    functionSourceFile: /src/glib/gmodule/gmodule.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer _g_module_self (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_getenv
      Src: /src/glib/gmodule/gmodule.c:418,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gmodule/gmodule.c:421,1
    - Dst: g_parse_debug_string
      Src: /src/glib/gmodule/gmodule.c:421,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 424
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 424
    functionName: _g_module_debug_init
    functionSourceFile: /src/glib/gmodule/gmodule.c
    functionUses: []
    functionsReached:
    - g_getenv
    - g_parse_debug_string
    - G_N_ELEMENTS
    linkageType: ''
    returnType: void
    signature: 'static void _g_module_debug_init (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gmodule/gmodule.c:906,1
    - Dst: _g_module_build_path
      Src: /src/glib/gmodule/gmodule.c:908,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 909
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 909
    functionName: g_module_build_path
    functionSourceFile: /src/glib/gmodule/gmodule.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - _g_module_build_path
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_module_build_path (const gchar *directory, const gchar *module_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gmodule/gmodule.c:210,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 217
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 217
    functionName: g_module_find_by_name
    functionSourceFile: /src/glib/gmodule/gmodule.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: GModule*
    signature: 'static inline GModule *g_module_find_by_name (const gchar *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - handle
    - symbol_name
    argTypes:
    - gpointer
    - gchar*
    constantsTouched: []
    func_position:
      end: 268
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 268
    functionName: _g_module_symbol
    functionSourceFile: /src/glib/gmodule/gmodule.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gpointer
    signature: "static gpointer _g_module_symbol (gpointer\t handle,\t\t const gchar\t\
      *symbol_name) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SUPPORT_OR_RETURN
      Src: /src/glib/gmodule/gmodule.c:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 301
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 301
    functionName: g_module_supported
    functionSourceFile: /src/glib/gmodule/gmodule.c
    functionUses: []
    functionsReached:
    - SUPPORT_OR_RETURN
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_module_supported (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gmodule/gmodule.c:867,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 873
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 873
    functionName: g_module_name
    functionSourceFile: /src/glib/gmodule/gmodule.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_module_name (GModule *module) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 274
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 274
    functionName: _g_module_build_path
    functionSourceFile: /src/glib/gmodule/gmodule.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: "static gchar *_g_module_build_path (const gchar *directory,\t\t const\
      \ gchar *module_name) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_module_open
      Src: /src/glib/gmodule/gmodule.c:925,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 926
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 926
    functionName: g_module_open_utf8
    functionSourceFile: /src/glib/gmodule/gmodule.c
    functionUses: []
    functionsReached:
    - g_module_open
    linkageType: ''
    returnType: GModule*
    signature: 'GModule *g_module_open_utf8 (const gchar *file_name, GModuleFlags
      flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_module_name
      Src: /src/glib/gmodule/gmodule.c:931,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 932
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 932
    functionName: g_module_name_utf8
    functionSourceFile: /src/glib/gmodule/gmodule.c
    functionUses: []
    functionsReached:
    - g_module_name
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_module_name_utf8 (GModule *module) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gmodule/gmodule.c:475,1
    - Dst: _g_module_debug_init
      Src: /src/glib/gmodule/gmodule.c:480,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gmodule/gmodule.c:554,1
    - Dst: g_free
      Src: /src/glib/gmodule/gmodule.c:573,1
    - Dst: g_free
      Src: /src/glib/gmodule/gmodule.c:587,1
    - Dst: strrchr
      Src: /src/glib/gmodule/gmodule.c:597,1
    - Dst: g_strconcat
      Src: /src/glib/gmodule/gmodule.c:602,1
    - Dst: g_free
      Src: /src/glib/gmodule/gmodule.c:625,1
    - Dst: _g_module_close
      Src: /src/glib/gmodule/gmodule.c:637,1
    - Dst: g_strdup
      Src: /src/glib/gmodule/gmodule.c:649,1
    - Dst: g_strdup
      Src: /src/glib/gmodule/gmodule.c:604,1
    - Dst: g_strconcat
      Src: /src/glib/gmodule/gmodule.c:669,1
    - Dst: g_module_set_error
      Src: /src/glib/gmodule/gmodule.c:679,1
    - Dst: check_init
      Src: /src/glib/gmodule/gmodule.c:659,1
    - Dst: SUPPORT_OR_RETURN
      Src: /src/glib/gmodule/gmodule.c:473,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gmodule/gmodule.c:508,1
    - Dst: g_module_find_by_name
      Src: /src/glib/gmodule/gmodule.c:513,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gmodule/gmodule.c:518,1
    - Dst: g_file_test
      Src: /src/glib/gmodule/gmodule.c:523,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gmodule/gmodule.c:538,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gmodule/gmodule.c:542,1
    - Dst: g_strdup
      Src: /src/glib/gmodule/gmodule.c:524,1
    - Dst: g_free
      Src: /src/glib/gmodule/gmodule.c:578,1
    - Dst: g_file_test
      Src: /src/glib/gmodule/gmodule.c:585,1
    - Dst: g_free
      Src: /src/glib/gmodule/gmodule.c:618,1
    - Dst: g_module_close
      Src: /src/glib/gmodule/gmodule.c:672,1
    - Dst: g_new
      Src: /src/glib/gmodule/gmodule.c:648,1
    - Dst: g_strdup
      Src: /src/glib/gmodule/gmodule.c:645,1
    - Dst: g_module_symbol
      Src: /src/glib/gmodule/gmodule.c:658,1
    - Dst: g_module_set_error
      Src: /src/glib/gmodule/gmodule.c:639,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gmodule/gmodule.c:479,1
    - Dst: g_path_get_dirname
      Src: /src/glib/gmodule/gmodule.c:533,1
    - Dst: g_path_get_basename
      Src: /src/glib/gmodule/gmodule.c:532,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gmodule/gmodule.c:545,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gmodule/gmodule.c:561,1
    - Dst: g_file_test
      Src: /src/glib/gmodule/gmodule.c:571,1
    - Dst: g_free
      Src: /src/glib/gmodule/gmodule.c:579,1
    - Dst: g_strconcat
      Src: /src/glib/gmodule/gmodule.c:584,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gmodule/gmodule.c:611,1
    - Dst: parse_libtool_archive
      Src: /src/glib/gmodule/gmodule.c:613,1
    - Dst: g_module_find_by_handle
      Src: /src/glib/gmodule/gmodule.c:634,1
    - Dst: g_module_set_error
      Src: /src/glib/gmodule/gmodule.c:646,1
    - Dst: g_module_symbol
      Src: /src/glib/gmodule/gmodule.c:663,1
    - Dst: g_set_error_literal
      Src: /src/glib/gmodule/gmodule.c:675,1
    - Dst: g_module_error
      Src: /src/glib/gmodule/gmodule.c:645,1
    - Dst: g_free
      Src: /src/glib/gmodule/gmodule.c:681,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gmodule/gmodule.c:688,1
    - Dst: g_module_set_error
      Src: /src/glib/gmodule/gmodule.c:674,1
    - Dst: g_free
      Src: /src/glib/gmodule/gmodule.c:676,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/gmodule/gmodule.c:477,1
    - Dst: _g_module_self
      Src: /src/glib/gmodule/gmodule.c:489,1
    - Dst: g_new
      Src: /src/glib/gmodule/gmodule.c:496,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gmodule/gmodule.c:535,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gmodule/gmodule.c:555,1
    - Dst: g_strconcat
      Src: /src/glib/gmodule/gmodule.c:569,1
    - Dst: strrchr
      Src: /src/glib/gmodule/gmodule.c:596,1
    - Dst: g_assert
      Src: /src/glib/gmodule/gmodule.c:608,1
    - Dst: _g_module_open
      Src: /src/glib/gmodule/gmodule.c:623,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gmodule/gmodule.c:641,1
    - Dst: g_module_make_resident
      Src: /src/glib/gmodule/gmodule.c:686,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 161
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 690
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 690
    functionName: g_module_open_full
    functionSourceFile: /src/glib/gmodule/gmodule.c
    functionUses: []
    functionsReached:
    - _g_module_debug_init
    - g_path_get_basename
    - g_strconcat
    - strrchr
    - g_set_error_literal
    - G_UNLIKELY
    - _g_module_close
    - _g_module_open
    - g_module_error
    - g_module_set_error
    - SUPPORT_OR_RETURN
    - _g_module_self
    - g_module_symbol
    - g_file_test
    - g_rec_mutex_lock
    - g_path_get_dirname
    - g_strdup
    - parse_libtool_archive
    - g_new
    - g_str_has_suffix
    - g_module_find_by_name
    - g_module_make_resident
    - g_module_find_by_handle
    - g_return_val_if_fail
    - g_assert
    - g_rec_mutex_unlock
    - g_str_has_prefix
    - g_module_close
    - check_init
    - g_free
    linkageType: ''
    returnType: GModule*
    signature: 'GModule *g_module_open_full (const gchar *file_name, GModuleFlags
      flags, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_private_get
      Src: /src/glib/gmodule/gmodule.c:796,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 797
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 797
    functionName: g_module_error
    functionSourceFile: /src/glib/gmodule/gmodule.c
    functionUses: []
    functionsReached:
    - g_private_get
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_module_error (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_debug
      Src: /src/glib/gmodule/tests/max-version.c:34,1
    - Dst: g_module_supported
      Src: /src/glib/gmodule/tests/max-version.c:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: nothing
    functionSourceFile: /src/glib/gmodule/tests/max-version.c
    functionUses: []
    functionsReached:
    - g_module_supported
    - g_debug
    linkageType: ''
    returnType: void
    signature: 'static void nothing (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gmodule/tests/max-version.c:41,1
    - Dst: g_test_add_func
      Src: /src/glib/gmodule/tests/max-version.c:43,1
    - Dst: g_test_run
      Src: /src/glib/gmodule/tests/max-version.c:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/glib/gmodule/tests/max-version.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/gmodule/tests/module-test.c:229,1
    - Dst: g_assert_true
      Src: /src/glib/gmodule/tests/module-test.c:234,1
    - Dst: g_assert_no_error
      Src: /src/glib/gmodule/tests/module-test.c:233,1
    - Dst: g_file_open_tmp
      Src: /src/glib/gmodule/tests/module-test.c:232,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gmodule/tests/module-test.c:234,1
    - Dst: g_close
      Src: /src/glib/gmodule/tests/module-test.c:235,1
    - Dst: g_module_open_full
      Src: /src/glib/gmodule/tests/module-test.c:238,1
    - Dst: g_assert_error
      Src: /src/glib/gmodule/tests/module-test.c:239,1
    - Dst: g_assert_null
      Src: /src/glib/gmodule/tests/module-test.c:240,1
    - Dst: g_clear_error
      Src: /src/glib/gmodule/tests/module-test.c:241,1
    - Dst: g_free
      Src: /src/glib/gmodule/tests/module-test.c:245,1
    - Dst: g_unlink
      Src: /src/glib/gmodule/tests/module-test.c:243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 246
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 246
    functionName: test_module_invalid_libtool_archive
    functionSourceFile: /src/glib/gmodule/tests/module-test.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_assert_true
    - g_test_summary
    - g_unlink
    - g_str_has_suffix
    - g_assert_null
    - g_close
    - g_assert_no_error
    - g_file_open_tmp
    - g_module_open_full
    - g_free
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_module_invalid_libtool_archive (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gmodule/tests/module-test.c:57,1
    - Dst: g_error
      Src: /src/glib/gmodule/tests/module-test.c:60,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 3
    argNames:
    - desc
    - expected
    - found
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 62
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 62
    functionName: compare
    functionSourceFile: /src/glib/gmodule/tests/module-test.c
    functionUses: []
    functionsReached:
    - g_error
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void compare (const gchar *desc, const gchar *expected, const
      gchar *found) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: g_clash_func
    functionSourceFile: /src/glib/gmodule/tests/module-test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: G_MODULE_EXPORT
    signature: 'G_MODULE_EXPORT void g_clash_func (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare
      Src: /src/glib/gmodule/tests/module-test.c:67,1
    - Dst: compare
      Src: /src/glib/gmodule/tests/module-test.c:69,1
    - Dst: compare
      Src: /src/glib/gmodule/tests/module-test.c:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - global
    - gplugin_a
    - gplugin_b
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: test_states
    functionSourceFile: /src/glib/gmodule/tests/module-test.c
    functionUses: []
    functionsReached:
    - compare
    linkageType: ''
    returnType: void
    signature: 'static void test_states (const gchar *global, const gchar *gplugin_a,
      const gchar *gplugin_b) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: g_module_error
      Src: /src/glib/gmodule/tests/module-test.c:109,1
    - Dst: g_module_symbol
      Src: /src/glib/gmodule/tests/module-test.c:124,1
    - Dst: g_module_symbol
      Src: /src/glib/gmodule/tests/module-test.c:128,1
    - Dst: g_module_symbol
      Src: /src/glib/gmodule/tests/module-test.c:135,1
    - Dst: g_module_symbol
      Src: /src/glib/gmodule/tests/module-test.c:155,1
    - Dst: g_module_symbol
      Src: /src/glib/gmodule/tests/module-test.c:159,1
    - Dst: g_module_error
      Src: /src/glib/gmodule/tests/module-test.c:179,1
    - Dst: plugin_clash_func
      Src: /src/glib/gmodule/tests/module-test.c:187,1
    - Dst: g_module_error
      Src: /src/glib/gmodule/tests/module-test.c:205,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/gmodule/tests/module-test.c:217,1
    - Dst: plugin_clash_func
      Src: /src/glib/gmodule/tests/module-test.c:183,1
    - Dst: g_module_open_full
      Src: /src/glib/gmodule/tests/module-test.c:100,1
    - Dst: g_error
      Src: /src/glib/gmodule/tests/module-test.c:103,1
    - Dst: g_assert_no_error
      Src: /src/glib/gmodule/tests/module-test.c:113,1
    - Dst: f_b
      Src: /src/glib/gmodule/tests/module-test.c:169,1
    - Dst: g_free
      Src: /src/glib/gmodule/tests/module-test.c:210,1
    - Dst: g_module_open_full
      Src: /src/glib/gmodule/tests/module-test.c:112,1
    - Dst: g_error
      Src: /src/glib/gmodule/tests/module-test.c:208,1
    - Dst: g_error
      Src: /src/glib/gmodule/tests/module-test.c:120,1
    - Dst: test_states
      Src: /src/glib/gmodule/tests/module-test.c:137,1
    - Dst: g_error
      Src: /src/glib/gmodule/tests/module-test.c:140,1
    - Dst: g_error
      Src: /src/glib/gmodule/tests/module-test.c:136,1
    - Dst: g_test_build_filename
      Src: /src/glib/gmodule/tests/module-test.c:96,1
    - Dst: g_assert_no_error
      Src: /src/glib/gmodule/tests/module-test.c:118,1
    - Dst: g_error
      Src: /src/glib/gmodule/tests/module-test.c:126,1
    - Dst: g_error
      Src: /src/glib/gmodule/tests/module-test.c:130,1
    - Dst: test_states
      Src: /src/glib/gmodule/tests/module-test.c:131,1
    - Dst: test_states
      Src: /src/glib/gmodule/tests/module-test.c:153,1
    - Dst: g_module_error
      Src: /src/glib/gmodule/tests/module-test.c:193,1
    - Dst: test_states
      Src: /src/glib/gmodule/tests/module-test.c:157,1
    - Dst: g_error
      Src: /src/glib/gmodule/tests/module-test.c:156,1
    - Dst: gmod_f
      Src: /src/glib/gmodule/tests/module-test.c:196,1
    - Dst: g_module_symbol
      Src: /src/glib/gmodule/tests/module-test.c:151,1
    - Dst: g_assert_no_error
      Src: /src/glib/gmodule/tests/module-test.c:101,1
    - Dst: test_states
      Src: /src/glib/gmodule/tests/module-test.c:141,1
    - Dst: g_module_error
      Src: /src/glib/gmodule/tests/module-test.c:175,1
    - Dst: g_module_close
      Src: /src/glib/gmodule/tests/module-test.c:204,1
    - Dst: g_free
      Src: /src/glib/gmodule/tests/module-test.c:211,1
    - Dst: test_states
      Src: /src/glib/gmodule/tests/module-test.c:161,1
    - Dst: gmod_f
      Src: /src/glib/gmodule/tests/module-test.c:199,1
    - Dst: g_error
      Src: /src/glib/gmodule/tests/module-test.c:109,1
    - Dst: g_error
      Src: /src/glib/gmodule/tests/module-test.c:160,1
    - Dst: g_module_symbol
      Src: /src/glib/gmodule/tests/module-test.c:178,1
    - Dst: g_test_skip
      Src: /src/glib/gmodule/tests/module-test.c:81,1
    - Dst: g_test_subprocess
      Src: /src/glib/gmodule/tests/module-test.c:87,1
    - Dst: test_states
      Src: /src/glib/gmodule/tests/module-test.c:144,1
    - Dst: g_module_error
      Src: /src/glib/gmodule/tests/module-test.c:120,1
    - Dst: f_a
      Src: /src/glib/gmodule/tests/module-test.c:143,1
    - Dst: test_states
      Src: /src/glib/gmodule/tests/module-test.c:164,1
    - Dst: g_module_error
      Src: /src/glib/gmodule/tests/module-test.c:140,1
    - Dst: g_module_symbol
      Src: /src/glib/gmodule/tests/module-test.c:174,1
    - Dst: g_test_build_filename
      Src: /src/glib/gmodule/tests/module-test.c:95,1
    - Dst: g_module_error
      Src: /src/glib/gmodule/tests/module-test.c:103,1
    - Dst: g_module_symbol
      Src: /src/glib/gmodule/tests/module-test.c:108,1
    - Dst: g_module_open_full
      Src: /src/glib/gmodule/tests/module-test.c:117,1
    - Dst: test_states
      Src: /src/glib/gmodule/tests/module-test.c:147,1
    - Dst: g_error
      Src: /src/glib/gmodule/tests/module-test.c:152,1
    - Dst: test_states
      Src: /src/glib/gmodule/tests/module-test.c:194,1
    - Dst: test_states
      Src: /src/glib/gmodule/tests/module-test.c:167,1
    - Dst: g_module_supported
      Src: /src/glib/gmodule/tests/module-test.c:79,1
    - Dst: g_error
      Src: /src/glib/gmodule/tests/module-test.c:115,1
    - Dst: f_b
      Src: /src/glib/gmodule/tests/module-test.c:146,1
    - Dst: g_module_symbol
      Src: /src/glib/gmodule/tests/module-test.c:192,1
    - Dst: test_states
      Src: /src/glib/gmodule/tests/module-test.c:176,1
    - Dst: g_error
      Src: /src/glib/gmodule/tests/module-test.c:205,1
    - Dst: g_module_error
      Src: /src/glib/gmodule/tests/module-test.c:208,1
    - Dst: g_module_close
      Src: /src/glib/gmodule/tests/module-test.c:212,1
    - Dst: test_states
      Src: /src/glib/gmodule/tests/module-test.c:197,1
    - Dst: test_states
      Src: /src/glib/gmodule/tests/module-test.c:184,1
    - Dst: test_states
      Src: /src/glib/gmodule/tests/module-test.c:170,1
    - Dst: g_error
      Src: /src/glib/gmodule/tests/module-test.c:175,1
    - Dst: g_module_error
      Src: /src/glib/gmodule/tests/module-test.c:136,1
    - Dst: g_module_error
      Src: /src/glib/gmodule/tests/module-test.c:126,1
    - Dst: g_module_error
      Src: /src/glib/gmodule/tests/module-test.c:130,1
    - Dst: test_states
      Src: /src/glib/gmodule/tests/module-test.c:180,1
    - Dst: g_module_error
      Src: /src/glib/gmodule/tests/module-test.c:156,1
    - Dst: g_error
      Src: /src/glib/gmodule/tests/module-test.c:179,1
    - Dst: f_self
      Src: /src/glib/gmodule/tests/module-test.c:163,1
    - Dst: test_states
      Src: /src/glib/gmodule/tests/module-test.c:200,1
    - Dst: g_module_error
      Src: /src/glib/gmodule/tests/module-test.c:115,1
    - Dst: g_module_error
      Src: /src/glib/gmodule/tests/module-test.c:152,1
    - Dst: g_module_close
      Src: /src/glib/gmodule/tests/module-test.c:207,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gmodule/tests/module-test.c:216,1
    - Dst: test_states
      Src: /src/glib/gmodule/tests/module-test.c:188,1
    - Dst: g_module_symbol
      Src: /src/glib/gmodule/tests/module-test.c:139,1
    - Dst: g_module_error
      Src: /src/glib/gmodule/tests/module-test.c:160,1
    - Dst: f_a
      Src: /src/glib/gmodule/tests/module-test.c:166,1
    - Dst: g_error
      Src: /src/glib/gmodule/tests/module-test.c:193,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 119
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 219
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 219
    functionName: test_module_basics
    functionSourceFile: /src/glib/gmodule/tests/module-test.c
    functionUses: []
    functionsReached:
    - f_b
    - g_test_build_filename
    - test_states
    - plugin_clash_func
    - g_module_open_full
    - g_error
    - g_module_error
    - g_test_trap_assert_passed
    - g_module_supported
    - g_module_symbol
    - gmod_f
    - g_test_skip
    - f_self
    - g_assert_no_error
    - g_test_trap_subprocess
    - g_test_subprocess
    - f_a
    - g_module_close
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_module_basics (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/gmodule/tests/module-test.c:251,1
    - Dst: g_test_build_filename
      Src: /src/glib/gmodule/tests/module-test.c:269,1
    - Dst: g_test_subprocess
      Src: /src/glib/gmodule/tests/module-test.c:260,1
    - Dst: g_module_open_full
      Src: /src/glib/gmodule/tests/module-test.c:271,1
    - Dst: g_test_skip
      Src: /src/glib/gmodule/tests/module-test.c:254,1
    - Dst: g_assert_no_error
      Src: /src/glib/gmodule/tests/module-test.c:272,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gmodule/tests/module-test.c:273,1
    - Dst: g_module_open_full
      Src: /src/glib/gmodule/tests/module-test.c:275,1
    - Dst: g_assert_no_error
      Src: /src/glib/gmodule/tests/module-test.c:276,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gmodule/tests/module-test.c:277,1
    - Dst: g_module_symbol
      Src: /src/glib/gmodule/tests/module-test.c:279,1
    - Dst: g_assert_null
      Src: /src/glib/gmodule/tests/module-test.c:281,1
    - Dst: g_module_close
      Src: /src/glib/gmodule/tests/module-test.c:283,1
    - Dst: g_free
      Src: /src/glib/gmodule/tests/module-test.c:285,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gmodule/tests/module-test.c:289,1
    - Dst: g_assert_false
      Src: /src/glib/gmodule/tests/module-test.c:280,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/gmodule/tests/module-test.c:290,1
    - Dst: g_module_close
      Src: /src/glib/gmodule/tests/module-test.c:284,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 292
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 292
    functionName: test_local_binding
    functionSourceFile: /src/glib/gmodule/tests/module-test.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_passed
    - g_test_summary
    - g_test_build_filename
    - g_assert_null
    - g_assert_nonnull
    - g_assert_no_error
    - g_module_symbol
    - g_test_trap_subprocess
    - g_module_close
    - g_module_open_full
    - g_assert_false
    - g_test_subprocess
    - g_test_skip
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_local_binding (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gmodule/tests/module-test.c:297,1
    - Dst: g_test_add_func
      Src: /src/glib/gmodule/tests/module-test.c:299,1
    - Dst: g_test_run
      Src: /src/glib/gmodule/tests/module-test.c:303,1
    - Dst: g_test_add_func
      Src: /src/glib/gmodule/tests/module-test.c:300,1
    - Dst: g_test_add_func
      Src: /src/glib/gmodule/tests/module-test.c:301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 304
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 304
    functionName: main
    functionSourceFile: /src/glib/gmodule/tests/module-test.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: gplugin_clash_func
    functionSourceFile: /src/glib/gmodule/tests/libmoduletestplugin_b.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: G_MODULE_EXPORT
    signature: 'G_MODULE_EXPORT void gplugin_clash_func (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - module
    argTypes:
    - GModule*
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: g_module_unload
    functionSourceFile: /src/glib/gmodule/tests/libmoduletestplugin_b.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: G_MODULE_EXPORT
    signature: 'G_MODULE_EXPORT void g_module_unload (GModule *module) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: g_module_check_init
    functionSourceFile: /src/glib/gmodule/tests/libmoduletestplugin_b.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: G_MODULE_EXPORT*
    signature: 'G_MODULE_EXPORT const gchar *g_module_check_init (GModule *module) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: gplugin_b_func
    functionSourceFile: /src/glib/gmodule/tests/libmoduletestplugin_b.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: G_MODULE_EXPORT
    signature: 'G_MODULE_EXPORT void gplugin_b_func (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: g_clash_func
    functionSourceFile: /src/glib/gmodule/tests/libmoduletestplugin_b.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: G_MODULE_EXPORT
    signature: 'G_MODULE_EXPORT void g_clash_func (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: gplugin_say_boo_func
    functionSourceFile: /src/glib/gmodule/tests/libmoduletestplugin_b.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: G_MODULE_EXPORT
    signature: 'G_MODULE_EXPORT void gplugin_say_boo_func (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: gplugin_a_func
    functionSourceFile: /src/glib/gmodule/tests/libmoduletestplugin_a.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: G_MODULE_EXPORT
    signature: 'G_MODULE_EXPORT void gplugin_a_func (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: g_clash_func
    functionSourceFile: /src/glib/gmodule/tests/libmoduletestplugin_a.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: G_MODULE_EXPORT
    signature: 'G_MODULE_EXPORT void g_clash_func (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: gplugin_say_boo_func
    functionSourceFile: /src/glib/gmodule/tests/libmoduletestplugin_a.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: G_MODULE_EXPORT
    signature: 'G_MODULE_EXPORT void gplugin_say_boo_func (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: gplugin_clash_func
    functionSourceFile: /src/glib/gmodule/tests/libmoduletestplugin_a.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: G_MODULE_EXPORT
    signature: 'G_MODULE_EXPORT void gplugin_clash_func (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_module_symbol
      Src: /src/glib/gmodule/tests/libmoduletestplugin_a.c:65,1
    - Dst: exit
      Src: /src/glib/gmodule/tests/libmoduletestplugin_a.c:68,1
    - Dst: g_module_error
      Src: /src/glib/gmodule/tests/libmoduletestplugin_a.c:67,1
    - Dst: g_print
      Src: /src/glib/gmodule/tests/libmoduletestplugin_a.c:67,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - module
    argTypes:
    - GModule*
    constantsTouched: []
    func_position:
      end: 72
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 72
    functionName: gplugin_a_module_func
    functionSourceFile: /src/glib/gmodule/tests/libmoduletestplugin_a.c
    functionUses: []
    functionsReached:
    - g_module_symbol
    - g_module_error
    - g_print
    - exit
    linkageType: ''
    returnType: G_MODULE_EXPORT
    signature: 'G_MODULE_EXPORT void gplugin_a_module_func (GModule *module) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - g_class
    - class_data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: gi_unresolved_info_class_init
    functionSourceFile: /src/glib/girepository/giunresolvedinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gi_unresolved_info_class_init (gpointer g_class, gpointer class_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gi_base_info_new
      Src: /src/glib/girepository/giunioninfo.c:128,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 130
    functionName: gi_union_info_get_method
    functionSourceFile: /src/glib/girepository/giunioninfo.c
    functionUses: []
    functionsReached:
    - gi_base_info_new
    linkageType: ''
    returnType: GIFunctionInfo*
    signature: 'GIFunctionInfo *gi_union_info_get_method (GIUnionInfo *info, unsigned
      int n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gi_base_info_new
      Src: /src/glib/girepository/giunioninfo.c:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionName: gi_union_info_get_field
    functionSourceFile: /src/glib/girepository/giunioninfo.c
    functionUses: []
    functionsReached:
    - gi_base_info_new
    linkageType: ''
    returnType: GIFieldInfo*
    signature: 'GIFieldInfo *gi_union_info_get_field (GIUnionInfo *info, unsigned
      int n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gi_type_info_new
      Src: /src/glib/girepository/giunioninfo.c:199,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 200
    functionName: gi_union_info_get_discriminator_type
    functionSourceFile: /src/glib/girepository/giunioninfo.c
    functionUses: []
    functionsReached:
    - gi_type_info_new
    linkageType: ''
    returnType: GITypeInfo*
    signature: 'GITypeInfo *gi_union_info_get_discriminator_type (GIUnionInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gi_base_info_new
      Src: /src/glib/girepository/giunioninfo.c:235,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 240
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 240
    functionName: gi_union_info_get_discriminator
    functionSourceFile: /src/glib/girepository/giunioninfo.c
    functionUses: []
    functionsReached:
    - gi_base_info_new
    linkageType: ''
    returnType: GIConstantInfo*
    signature: 'GIConstantInfo *gi_union_info_get_discriminator (GIUnionInfo *info,
      size_t n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIUnionInfo*
    constantsTouched: []
    func_position:
      end: 303
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 303
    functionName: gi_union_info_get_alignment
    functionSourceFile: /src/glib/girepository/giunioninfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t gi_union_info_get_alignment (GIUnionInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giunioninfo.c:348,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giunioninfo.c:349,1
    - Dst: GI_IS_UNION_INFO
      Src: /src/glib/girepository/giunioninfo.c:349,1
    - Dst: gi_typelib_get_string
      Src: /src/glib/girepository/giunioninfo.c:354,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 357
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 357
    functionName: gi_union_info_get_free_function_name
    functionSourceFile: /src/glib/girepository/giunioninfo.c
    functionUses: []
    functionsReached:
    - gi_typelib_get_string
    - g_return_val_if_fail
    - GI_IS_UNION_INFO
    linkageType: ''
    returnType: char*
    signature: 'const char *gi_union_info_get_free_function_name (GIUnionInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - g_class
    - class_data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 366
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 366
    functionName: gi_union_info_class_init
    functionSourceFile: /src/glib/girepository/giunioninfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gi_union_info_class_init (gpointer g_class, gpointer class_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIUnionInfo*
    constantsTouched: []
    func_position:
      end: 148
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 148
    functionName: gi_union_info_is_discriminated
    functionSourceFile: /src/glib/girepository/giunioninfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean gi_union_info_is_discriminated (GIUnionInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIUnionInfo*
    constantsTouched: []
    func_position:
      end: 103
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 103
    functionName: gi_union_info_get_n_methods
    functionSourceFile: /src/glib/girepository/giunioninfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: 'unsigned int gi_union_info_get_n_methods (GIUnionInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - info
    - out_offset
    argTypes:
    - GIUnionInfo*
    - size_t*
    constantsTouched: []
    func_position:
      end: 177
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 177
    functionName: gi_union_info_get_discriminator_offset
    functionSourceFile: /src/glib/girepository/giunioninfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean gi_union_info_get_discriminator_offset (GIUnionInfo *info,
      size_t *out_offset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gi_base_info_find_method
      Src: /src/glib/girepository/giunioninfo.c:266,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 267
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 267
    functionName: gi_union_info_find_method
    functionSourceFile: /src/glib/girepository/giunioninfo.c
    functionUses: []
    functionsReached:
    - gi_base_info_find_method
    linkageType: ''
    returnType: GIFunctionInfo*
    signature: 'GIFunctionInfo *gi_union_info_find_method (GIUnionInfo *info, const
      char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIUnionInfo*
    constantsTouched: []
    func_position:
      end: 285
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 285
    functionName: gi_union_info_get_size
    functionSourceFile: /src/glib/girepository/giunioninfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t gi_union_info_get_size (GIUnionInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giunioninfo.c:321,1
    - Dst: GI_IS_UNION_INFO
      Src: /src/glib/girepository/giunioninfo.c:322,1
    - Dst: gi_typelib_get_string
      Src: /src/glib/girepository/giunioninfo.c:327,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giunioninfo.c:322,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 330
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 330
    functionName: gi_union_info_get_copy_function_name
    functionSourceFile: /src/glib/girepository/giunioninfo.c
    functionUses: []
    functionsReached:
    - gi_typelib_get_string
    - g_return_val_if_fail
    - GI_IS_UNION_INFO
    linkageType: ''
    returnType: char*
    signature: 'const char *gi_union_info_get_copy_function_name (GIUnionInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIUnionInfo*
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: gi_union_info_get_n_fields
    functionSourceFile: /src/glib/girepository/giunioninfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: 'unsigned int gi_union_info_get_n_fields (GIUnionInfo *info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gipropertyinfo.c:160,1
    - Dst: GI_IS_PROPERTY_INFO
      Src: /src/glib/girepository/gipropertyinfo.c:161,1
    - Dst: gi_base_info_get_info_type
      Src: /src/glib/girepository/gipropertyinfo.c:171,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gipropertyinfo.c:161,1
    - Dst: gi_object_info_get_method
      Src: /src/glib/girepository/gipropertyinfo.c:173,1
    - Dst: gi_interface_info_get_method
      Src: /src/glib/girepository/gipropertyinfo.c:175,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 178
    functionName: gi_property_info_get_setter
    functionSourceFile: /src/glib/girepository/gipropertyinfo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - gi_base_info_get_info_type
    - GI_IS_PROPERTY_INFO
    - gi_object_info_get_method
    - gi_interface_info_get_method
    linkageType: ''
    returnType: GIFunctionInfo*
    signature: 'GIFunctionInfo *gi_property_info_get_setter (GIPropertyInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gipropertyinfo.c:101,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/girepository/gipropertyinfo.c:106,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gipropertyinfo.c:102,1
    - Dst: GI_IS_PROPERTY_INFO
      Src: /src/glib/girepository/gipropertyinfo.c:102,1
    - Dst: gi_type_info_new
      Src: /src/glib/girepository/gipropertyinfo.c:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 107
    functionName: gi_property_info_get_type_info
    functionSourceFile: /src/glib/girepository/gipropertyinfo.c
    functionUses: []
    functionsReached:
    - G_STRUCT_OFFSET
    - GI_IS_PROPERTY_INFO
    - g_return_val_if_fail
    - gi_type_info_new
    linkageType: ''
    returnType: GITypeInfo*
    signature: 'GITypeInfo *gi_property_info_get_type_info (GIPropertyInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - g_class
    - class_data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 227
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 227
    functionName: gi_property_info_class_init
    functionSourceFile: /src/glib/girepository/gipropertyinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gi_property_info_class_init (gpointer g_class, gpointer class_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gipropertyinfo.c:126,1
    - Dst: GI_IS_PROPERTY_INFO
      Src: /src/glib/girepository/gipropertyinfo.c:127,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gipropertyinfo.c:127,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIPropertyInfo*
    constantsTouched: []
    func_position:
      end: 137
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 137
    functionName: gi_property_info_get_ownership_transfer
    functionSourceFile: /src/glib/girepository/gipropertyinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_PROPERTY_INFO
    - g_return_val_if_fail
    linkageType: ''
    returnType: GITransfer
    signature: 'GITransfer gi_property_info_get_ownership_transfer (GIPropertyInfo
      *info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gipropertyinfo.c:200,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gipropertyinfo.c:201,1
    - Dst: GI_IS_PROPERTY_INFO
      Src: /src/glib/girepository/gipropertyinfo.c:201,1
    - Dst: gi_base_info_get_info_type
      Src: /src/glib/girepository/gipropertyinfo.c:211,1
    - Dst: gi_object_info_get_method
      Src: /src/glib/girepository/gipropertyinfo.c:213,1
    - Dst: gi_interface_info_get_method
      Src: /src/glib/girepository/gipropertyinfo.c:215,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 218
    functionName: gi_property_info_get_getter
    functionSourceFile: /src/glib/girepository/gipropertyinfo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - gi_base_info_get_info_type
    - GI_IS_PROPERTY_INFO
    - gi_object_info_get_method
    - gi_interface_info_get_method
    linkageType: ''
    returnType: GIFunctionInfo*
    signature: 'GIFunctionInfo *gi_property_info_get_getter (GIPropertyInfo *info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gipropertyinfo.c:64,1
    - Dst: GI_IS_PROPERTY_INFO
      Src: /src/glib/girepository/gipropertyinfo.c:65,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gipropertyinfo.c:65,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIPropertyInfo*
    constantsTouched: []
    func_position:
      end: 84
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 84
    functionName: gi_property_info_get_flags
    functionSourceFile: /src/glib/girepository/gipropertyinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_PROPERTY_INFO
    - g_return_val_if_fail
    linkageType: ''
    returnType: GParamFlags
    signature: 'GParamFlags gi_property_info_get_flags (GIPropertyInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/gibaseinfo.c:127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - self
    argTypes:
    - GIBaseInfo*
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: gi_base_info_finalize
    functionSourceFile: /src/glib/girepository/gibaseinfo.c
    functionUses: []
    functionsReached:
    - gi_base_info_unref
    linkageType: ''
    returnType: void
    signature: 'static void gi_base_info_finalize (GIBaseInfo *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_ref_count_init
      Src: /src/glib/girepository/gibaseinfo.c:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - GIBaseInfo*
    constantsTouched: []
    func_position:
      end: 144
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 144
    functionName: gi_base_info_init
    functionSourceFile: /src/glib/girepository/gibaseinfo.c
    functionUses: []
    functionsReached:
    - g_atomic_ref_count_init
    linkageType: ''
    returnType: void
    signature: 'static void gi_base_info_init (GIBaseInfo *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/girepository/gibaseinfo.c:225,1
    - Dst: g_type_register_static
      Src: /src/glib/girepository/gibaseinfo.c:238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - type_name
    - instance_size
    - class_init
    - parent_type
    - type_flags
    argTypes:
    - char*
    - size_t
    - GClassInitFunc
    - GType
    - GTypeFlags
    constantsTouched: []
    func_position:
      end: 239
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 239
    functionName: gi_base_info_type_register_static
    functionSourceFile: /src/glib/girepository/gibaseinfo.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_type_register_static
    linkageType: ''
    returnType: GType
    signature: 'GType gi_base_info_type_register_static (const char *type_name, size_t
      instance_size, GClassInitFunc class_init, GType parent_type, GTypeFlags type_flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gibaseinfo.c:340,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gibaseinfo.c:342,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gibaseinfo.c:341,1
    - Dst: gi_base_info_init_types
      Src: /src/glib/girepository/gibaseinfo.c:344,1
    - Dst: GI_IS_REPOSITORY
      Src: /src/glib/girepository/gibaseinfo.c:341,1
    - Dst: g_assert
      Src: /src/glib/girepository/gibaseinfo.c:345,1
    - Dst: g_type_create_instance
      Src: /src/glib/girepository/gibaseinfo.c:346,1
    - Dst: gi_base_info_ref
      Src: /src/glib/girepository/gibaseinfo.c:354,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 366
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 366
    functionName: gi_info_new_full
    functionSourceFile: /src/glib/girepository/gibaseinfo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - gi_base_info_ref
    - g_assert
    - gi_base_info_init_types
    - GI_IS_REPOSITORY
    - g_type_create_instance
    linkageType: ''
    returnType: GIBaseInfo*
    signature: 'GIBaseInfo *gi_info_new_full (GIInfoType type, GIRepository *repository,
      GIBaseInfo *container, GITypelib *typelib, uint32_t offset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GI_BASE_INFO_GET_CLASS
      Src: /src/glib/girepository/gibaseinfo.c:654,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIBaseInfo*
    constantsTouched: []
    func_position:
      end: 655
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 655
    functionName: gi_base_info_get_info_type
    functionSourceFile: /src/glib/girepository/gibaseinfo.c
    functionUses: []
    functionsReached:
    - GI_BASE_INFO_GET_CLASS
    linkageType: ''
    returnType: GIInfoType
    signature: 'GIInfoType gi_base_info_get_info_type (GIBaseInfo *info) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gi_base_info_get_info_type
      Src: /src/glib/girepository/gibaseinfo.c:798,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 7
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIBaseInfo*
    constantsTouched: []
    func_position:
      end: 848
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 848
    functionName: gi_base_info_is_deprecated
    functionSourceFile: /src/glib/girepository/gibaseinfo.c
    functionUses: []
    functionsReached:
    - gi_base_info_get_info_type
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean gi_base_info_is_deprecated (GIBaseInfo *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _attribute_blob_find_first
      Src: /src/glib/girepository/gibaseinfo.c:982,1
    - Dst: gi_typelib_get_string
      Src: /src/glib/girepository/gibaseinfo.c:988,1
    - Dst: gi_typelib_get_string
      Src: /src/glib/girepository/gibaseinfo.c:987,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 19
    argCount: 4
    argNames:
    - info
    - iterator
    - name
    - value
    argTypes:
    - GIBaseInfo*
    - GIAttributeIter*
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 992
      start: 966
    functionDepth: 0
    functionLinenumber: 966
    functionLinenumberEnd: 992
    functionName: gi_base_info_iterate_attributes
    functionSourceFile: /src/glib/girepository/gibaseinfo.c
    functionUses: []
    functionsReached:
    - gi_typelib_get_string
    - _attribute_blob_find_first
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean gi_base_info_iterate_attributes (GIBaseInfo *info, GIAttributeIter
      *iterator, const char **name, const char **value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1011
    functionName: gi_base_info_get_container
    functionSourceFile: /src/glib/girepository/gibaseinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GIBaseInfo*
    signature: 'GIBaseInfo *gi_base_info_get_container (GIBaseInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GIBaseInfoClass*
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: gi_base_info_class_init
    functionSourceFile: /src/glib/girepository/gibaseinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void gi_base_info_class_init (GIBaseInfoClass *klass) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter_pointer
      Src: /src/glib/girepository/gibaseinfo.c:151,1
    - Dst: g_type_fundamental_next
      Src: /src/glib/girepository/gibaseinfo.c:190,1
    - Dst: g_type_register_fundamental
      Src: /src/glib/girepository/gibaseinfo.c:190,1
    - Dst: g_intern_static_string
      Src: /src/glib/girepository/gibaseinfo.c:191,1
    - Dst: g_once_init_leave_pointer
      Src: /src/glib/girepository/gibaseinfo.c:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 199
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 199
    functionName: gi_base_info_get_type
    functionSourceFile: /src/glib/girepository/gibaseinfo.c
    functionUses: []
    functionsReached:
    - g_once_init_leave_pointer
    - g_intern_static_string
    - g_once_init_enter_pointer
    - g_type_register_fundamental
    - g_type_fundamental_next
    linkageType: ''
    returnType: GType
    signature: 'GType gi_base_info_get_type (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/girepository/gibaseinfo.c:277,1
    - Dst: gi_base_info_type_register_static
      Src: /src/glib/girepository/gibaseinfo.c:318,1
    - Dst: g_intern_static_string
      Src: /src/glib/girepository/gibaseinfo.c:318,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/girepository/gibaseinfo.c:311,1
    - Dst: g_assert
      Src: /src/glib/girepository/gibaseinfo.c:316,1
    - Dst: g_once_init_leave
      Src: /src/glib/girepository/gibaseinfo.c:326,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 328
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 328
    functionName: gi_base_info_init_types
    functionSourceFile: /src/glib/girepository/gibaseinfo.c
    functionUses: []
    functionsReached:
    - g_once_init_leave
    - gi_base_info_type_register_static
    - G_N_ELEMENTS
    - g_assert
    - g_once_init_enter
    - g_intern_static_string
    linkageType: ''
    returnType: void
    signature: 'void gi_base_info_init_types (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/girepository/gibaseinfo.c:772,1
    - Dst: gi_base_info_get_info_type
      Src: /src/glib/girepository/gibaseinfo.c:774,1
    - Dst: gi_typelib_get_string
      Src: /src/glib/girepository/gibaseinfo.c:781,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 782
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 782
    functionName: gi_base_info_get_namespace
    functionSourceFile: /src/glib/girepository/gibaseinfo.c
    functionUses: []
    functionsReached:
    - g_assert
    - gi_typelib_get_string
    - gi_base_info_get_info_type
    linkageType: ''
    returnType: char*
    signature: 'const char *gi_base_info_get_namespace (GIBaseInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bsearch
      Src: /src/glib/girepository/gibaseinfo.c:914,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 928
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 928
    functionName: _attribute_blob_find_first
    functionSourceFile: /src/glib/girepository/gibaseinfo.c
    functionUses: []
    functionsReached:
    - bsearch
    linkageType: ''
    returnType: AttributeBlob*
    signature: 'AttributeBlob *_attribute_blob_find_first (GIBaseInfo *info, uint32_t
      blob_offset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: value_base_info_init
    functionSourceFile: /src/glib/girepository/gibaseinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void value_base_info_init (GValue *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gi_base_info_iterate_attributes
      Src: /src/glib/girepository/gibaseinfo.c:867,1
    - Dst: strcmp
      Src: /src/glib/girepository/gibaseinfo.c:869,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 874
      start: 861
    functionDepth: 0
    functionLinenumber: 861
    functionLinenumberEnd: 874
    functionName: gi_base_info_get_attribute
    functionSourceFile: /src/glib/girepository/gibaseinfo.c
    functionUses: []
    functionsReached:
    - strcmp
    - gi_base_info_iterate_attributes
    linkageType: ''
    returnType: char*
    signature: 'const char *gi_base_info_get_attribute (GIBaseInfo *info, const char
      *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/gibaseinfo.c:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - GValue*
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: value_base_info_free_value
    functionSourceFile: /src/glib/girepository/gibaseinfo.c
    functionUses: []
    functionsReached:
    - gi_base_info_unref
    linkageType: ''
    returnType: void
    signature: 'static void value_base_info_free_value (GValue *value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 2
    argNames:
    - av
    - bv
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 889
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 889
    functionName: cmp_attribute
    functionSourceFile: /src/glib/girepository/gibaseinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int cmp_attribute (const void *av, const void *bv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - info1
    - info2
    argTypes:
    - GIBaseInfo*
    - GIBaseInfo*
    constantsTouched: []
    func_position:
      end: 1049
      start: 1042
    functionDepth: 0
    functionLinenumber: 1042
    functionLinenumberEnd: 1049
    functionName: gi_base_info_equal
    functionSourceFile: /src/glib/girepository/gibaseinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean gi_base_info_equal (GIBaseInfo *info1, GIBaseInfo *info2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_strconcat
      Src: /src/glib/girepository/gibaseinfo.c:87,1
    - Dst: gi_base_info_ref
      Src: /src/glib/girepository/gibaseinfo.c:93,1
    - Dst: G_VALUE_TYPE_NAME
      Src: /src/glib/girepository/gibaseinfo.c:89,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 96
    functionName: value_base_info_collect_value
    functionSourceFile: /src/glib/girepository/gibaseinfo.c
    functionUses: []
    functionsReached:
    - G_VALUE_TYPE_NAME
    - g_strconcat
    - gi_base_info_ref
    linkageType: ''
    returnType: char*
    signature: 'static char *value_base_info_collect_value (GValue *value, guint n_collect_values,
      GTypeCValue *collect_values, guint collect_flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gi_base_info_ref
      Src: /src/glib/girepository/gibaseinfo.c:61,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - GValue*
    - GValue*
    constantsTouched: []
    func_position:
      end: 64
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 64
    functionName: value_base_info_copy_value
    functionSourceFile: /src/glib/girepository/gibaseinfo.c
    functionUses: []
    functionsReached:
    - gi_base_info_ref
    linkageType: ''
    returnType: void
    signature: 'static void value_base_info_copy_value (const GValue *src, GValue
      *dst) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/glib/girepository/gibaseinfo.c:413,1
    - Dst: GI_IS_REPOSITORY
      Src: /src/glib/girepository/gibaseinfo.c:437,1
    - Dst: g_assert
      Src: /src/glib/girepository/gibaseinfo.c:437,1
    - Dst: g_type_class_ref
      Src: /src/glib/girepository/gibaseinfo.c:420,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 6
    argNames:
    - info
    - type
    - repository
    - container
    - typelib
    - offset
    argTypes:
    - GIRealInfo*
    - GType
    - GIRepository*
    - GIBaseInfo*
    - GITypelib*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 439
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 439
    functionName: gi_info_init
    functionSourceFile: /src/glib/girepository/gibaseinfo.c
    functionUses: []
    functionsReached:
    - g_type_class_ref
    - GI_IS_REPOSITORY
    - g_assert
    - memset
    linkageType: ''
    returnType: void
    signature: 'void gi_info_init (GIRealInfo *info, GType type, GIRepository *repository,
      GIBaseInfo *container, GITypelib *typelib, uint32_t offset) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/girepository/gibaseinfo.c:467,1
    - Dst: g_assert
      Src: /src/glib/girepository/gibaseinfo.c:469,1
    - Dst: GI_IS_BASE_INFO
      Src: /src/glib/girepository/gibaseinfo.c:467,1
    - Dst: GI_BASE_INFO_GET_CLASS
      Src: /src/glib/girepository/gibaseinfo.c:471,1
    - Dst: g_type_class_unref
      Src: /src/glib/girepository/gibaseinfo.c:473,1
    - Dst: memset
      Src: /src/glib/girepository/gibaseinfo.c:475,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - info
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 476
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 476
    functionName: gi_base_info_clear
    functionSourceFile: /src/glib/girepository/gibaseinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_BASE_INFO
    - g_return_if_fail
    - g_assert
    - GI_BASE_INFO_GET_CLASS
    - g_type_class_unref
    - memset
    linkageType: ''
    returnType: void
    signature: 'void gi_base_info_clear (void *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/girepository/gibaseinfo.c:631,1
    - Dst: g_atomic_ref_count_dec
      Src: /src/glib/girepository/gibaseinfo.c:635,1
    - Dst: g_assert
      Src: /src/glib/girepository/gibaseinfo.c:633,1
    - Dst: GI_IS_BASE_INFO
      Src: /src/glib/girepository/gibaseinfo.c:631,1
    - Dst: GI_BASE_INFO_GET_CLASS
      Src: /src/glib/girepository/gibaseinfo.c:637,1
    - Dst: g_type_free_instance
      Src: /src/glib/girepository/gibaseinfo.c:638,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - info
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 640
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 640
    functionName: gi_base_info_unref
    functionSourceFile: /src/glib/girepository/gibaseinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_BASE_INFO
    - g_atomic_ref_count_dec
    - g_assert
    - g_return_if_fail
    - GI_BASE_INFO_GET_CLASS
    - g_type_free_instance
    linkageType: ''
    returnType: void
    signature: 'void gi_base_info_unref (void *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: value_base_info_peek_pointer
    functionSourceFile: /src/glib/girepository/gibaseinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'static void *value_base_info_peek_pointer (const GValue *value) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_strconcat
      Src: /src/glib/girepository/gibaseinfo.c:107,1
    - Dst: G_VALUE_TYPE_NAME
      Src: /src/glib/girepository/gibaseinfo.c:108,1
    - Dst: gi_base_info_ref
      Src: /src/glib/girepository/gibaseinfo.c:117,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 120
    functionName: value_base_info_lcopy_value
    functionSourceFile: /src/glib/girepository/gibaseinfo.c
    functionUses: []
    functionsReached:
    - G_VALUE_TYPE_NAME
    - g_strconcat
    - gi_base_info_ref
    linkageType: ''
    returnType: char*
    signature: 'static char *value_base_info_lcopy_value (const GValue *value, guint
      n_collect_values, GTypeCValue *collect_values, guint collect_flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gi_typelib_get_dir_entry
      Src: /src/glib/girepository/gibaseinfo.c:484,1
    - Dst: gi_typelib_blob_type_to_info_type
      Src: /src/glib/girepository/gibaseinfo.c:487,1
    - Dst: gi_info_new_full
      Src: /src/glib/girepository/gibaseinfo.c:487,1
    - Dst: gi_typelib_get_string
      Src: /src/glib/girepository/gibaseinfo.c:492,1
    - Dst: gi_typelib_get_string
      Src: /src/glib/girepository/gibaseinfo.c:491,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/gibaseinfo.c:494,1
    - Dst: gi_info_new_full
      Src: /src/glib/girepository/gibaseinfo.c:499,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 514
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 514
    functionName: gi_info_from_entry
    functionSourceFile: /src/glib/girepository/gibaseinfo.c
    functionUses: []
    functionsReached:
    - gi_typelib_get_string
    - gi_typelib_get_dir_entry
    - gi_typelib_blob_type_to_info_type
    - gi_repository_find_by_name
    - gi_info_new_full
    linkageType: ''
    returnType: GIBaseInfo*
    signature: 'GIBaseInfo *gi_info_from_entry (GIRepository *repository, GITypelib
      *typelib, uint16_t index) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gi_info_new_full
      Src: /src/glib/girepository/gibaseinfo.c:388,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 389
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 389
    functionName: gi_base_info_new
    functionSourceFile: /src/glib/girepository/gibaseinfo.c
    functionUses: []
    functionsReached:
    - gi_info_new_full
    linkageType: ''
    returnType: GIBaseInfo*
    signature: 'GIBaseInfo *gi_base_info_new (GIInfoType type, GIBaseInfo *container,
      GITypelib *typelib, size_t offset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gi_info_init
      Src: /src/glib/girepository/gibaseinfo.c:551,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 4
    argNames:
    - info
    - container
    - typelib
    - offset
    argTypes:
    - GITypeInfo*
    - GIBaseInfo*
    - GITypelib*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 553
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 553
    functionName: gi_type_info_init
    functionSourceFile: /src/glib/girepository/gibaseinfo.c
    functionUses: []
    functionsReached:
    - gi_info_init
    linkageType: ''
    returnType: void
    signature: 'void gi_type_info_init (GITypeInfo *info, GIBaseInfo *container, GITypelib
      *typelib, uint32_t offset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gibaseinfo.c:606,1
    - Dst: g_assert
      Src: /src/glib/girepository/gibaseinfo.c:608,1
    - Dst: g_atomic_ref_count_inc
      Src: /src/glib/girepository/gibaseinfo.c:609,1
    - Dst: GI_IS_BASE_INFO
      Src: /src/glib/girepository/gibaseinfo.c:606,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 612
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 612
    functionName: gi_base_info_ref
    functionSourceFile: /src/glib/girepository/gibaseinfo.c
    functionUses: []
    functionsReached:
    - g_assert
    - GI_IS_BASE_INFO
    - g_return_val_if_fail
    - g_atomic_ref_count_inc
    linkageType: ''
    returnType: GIBaseInfo*
    signature: 'GIBaseInfo *gi_base_info_ref (void *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gi_base_info_new
      Src: /src/glib/girepository/gibaseinfo.c:523,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 525
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 525
    functionName: gi_type_info_new
    functionSourceFile: /src/glib/girepository/gibaseinfo.c
    functionUses: []
    functionsReached:
    - gi_base_info_new
    linkageType: ''
    returnType: GITypeInfo*
    signature: 'GITypeInfo *gi_type_info_new (GIBaseInfo *container, GITypelib *typelib,
      uint32_t offset) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/girepository/gibaseinfo.c:674,1
    - Dst: gi_typelib_get_string
      Src: /src/glib/girepository/gibaseinfo.c:705,1
    - Dst: gi_typelib_get_string
      Src: /src/glib/girepository/gibaseinfo.c:689,1
    - Dst: gi_typelib_get_string
      Src: /src/glib/girepository/gibaseinfo.c:697,1
    - Dst: gi_base_info_get_info_type
      Src: /src/glib/girepository/gibaseinfo.c:675,1
    - Dst: gi_typelib_get_string
      Src: /src/glib/girepository/gibaseinfo.c:713,1
    - Dst: gi_typelib_get_string
      Src: /src/glib/girepository/gibaseinfo.c:721,1
    - Dst: gi_typelib_get_string
      Src: /src/glib/girepository/gibaseinfo.c:729,1
    - Dst: gi_typelib_get_string
      Src: /src/glib/girepository/gibaseinfo.c:737,1
    - Dst: g_assert_not_reached
      Src: /src/glib/girepository/gibaseinfo.c:750,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 755
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 755
    functionName: gi_base_info_get_name
    functionSourceFile: /src/glib/girepository/gibaseinfo.c
    functionUses: []
    functionsReached:
    - g_assert
    - gi_typelib_get_string
    - gi_base_info_get_info_type
    - g_assert_not_reached
    linkageType: ''
    returnType: char*
    signature: 'const char *gi_base_info_get_name (GIBaseInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1026
    functionName: gi_base_info_get_typelib
    functionSourceFile: /src/glib/girepository/gibaseinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GITypelib*
    signature: 'GITypelib *gi_base_info_get_typelib (GIBaseInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giconstantinfo.c:62,1
    - Dst: GI_IS_CONSTANT_INFO
      Src: /src/glib/girepository/giconstantinfo.c:63,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giconstantinfo.c:63,1
    - Dst: gi_type_info_new
      Src: /src/glib/girepository/giconstantinfo.c:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: gi_constant_info_get_type_info
    functionSourceFile: /src/glib/girepository/giconstantinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_CONSTANT_INFO
    - g_return_val_if_fail
    - gi_type_info_new
    linkageType: ''
    returnType: GITypeInfo*
    signature: 'GITypeInfo *gi_constant_info_get_type_info (GIConstantInfo *info) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giconstantinfo.c:125,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giconstantinfo.c:126,1
    - Dst: g_memdup2
      Src: /src/glib/girepository/giconstantinfo.c:137,1
    - Dst: DO_ALIGNED_COPY
      Src: /src/glib/girepository/giconstantinfo.c:165,1
    - Dst: GI_IS_CONSTANT_INFO
      Src: /src/glib/girepository/giconstantinfo.c:126,1
    - Dst: DO_ALIGNED_COPY
      Src: /src/glib/girepository/giconstantinfo.c:168,1
    - Dst: DO_ALIGNED_COPY
      Src: /src/glib/girepository/giconstantinfo.c:171,1
    - Dst: DO_ALIGNED_COPY
      Src: /src/glib/girepository/giconstantinfo.c:174,1
    - Dst: g_assert_not_reached
      Src: /src/glib/girepository/giconstantinfo.c:177,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 27
    argCount: 2
    argNames:
    - info
    - value
    argTypes:
    - GIConstantInfo*
    - GIArgument*
    constantsTouched: []
    func_position:
      end: 183
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 183
    functionName: gi_constant_info_get_value
    functionSourceFile: /src/glib/girepository/giconstantinfo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - DO_ALIGNED_COPY
    - g_assert_not_reached
    - GI_IS_CONSTANT_INFO
    - g_memdup2
    linkageType: ''
    returnType: size_t
    signature: 'size_t gi_constant_info_get_value (GIConstantInfo *info, GIArgument
      *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - g_class
    - class_data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 192
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 192
    functionName: gi_constant_info_class_init
    functionSourceFile: /src/glib/girepository/giconstantinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gi_constant_info_class_init (gpointer g_class, gpointer class_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/girepository/giconstantinfo.c:87,1
    - Dst: g_return_if_fail
      Src: /src/glib/girepository/giconstantinfo.c:88,1
    - Dst: GI_IS_CONSTANT_INFO
      Src: /src/glib/girepository/giconstantinfo.c:88,1
    - Dst: g_free
      Src: /src/glib/girepository/giconstantinfo.c:96,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - info
    - value
    argTypes:
    - GIConstantInfo*
    - GIArgument*
    constantsTouched: []
    func_position:
      end: 98
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 98
    functionName: gi_constant_info_free_value
    functionSourceFile: /src/glib/girepository/giconstantinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_CONSTANT_INFO
    - g_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void gi_constant_info_free_value (GIConstantInfo *info, GIArgument
      *value) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gi_typelib_get_dir_entry
      Src: /src/glib/girepository/gitypelib.c:256,1
    - Dst: strcmp
      Src: /src/glib/girepository/gitypelib.c:265,1
    - Dst: BLOB_IS_REGISTERED_TYPE
      Src: /src/glib/girepository/gitypelib.c:257,1
    - Dst: gi_typelib_get_string
      Src: /src/glib/girepository/gitypelib.c:264,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 269
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 269
    functionName: gi_typelib_get_dir_entry_by_gtype_name
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached:
    - BLOB_IS_REGISTERED_TYPE
    - gi_typelib_get_string
    - strcmp
    - gi_typelib_get_dir_entry
    linkageType: ''
    returnType: DirEntry*
    signature: 'DirEntry *gi_typelib_get_dir_entry_by_gtype_name (GITypelib *typelib,
      const char *gtype_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/girepository/gitypelib.c:285,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - iter
    - s
    - separator
    argTypes:
    - StrSplitIter*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 289
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 289
    functionName: strsplit_iter_init
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: void
    signature: 'static void strsplit_iter_init (StrSplitIter *iter, const char *s,
      const char *separator) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:539,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:558,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:548,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:569,1
    - Dst: strncmp
      Src: /src/glib/girepository/gitypelib.c:546,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:578,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:611,1
    - Dst: is_aligned
      Src: /src/glib/girepository/gitypelib.c:618,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:620,1
    - Dst: is_aligned
      Src: /src/glib/girepository/gitypelib.c:627,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:629,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:638,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 65
    argCount: 3
    argNames:
    - memory
    - len
    - error
    argTypes:
    - uint8_t*
    - size_t
    - GError**
    constantsTouched: []
    func_position:
      end: 646
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 646
    functionName: validate_header_basic
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached:
    - g_set_error
    - strncmp
    - is_aligned
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean validate_header_basic (const uint8_t *memory, size_t
      len, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: validate_header_basic
      Src: /src/glib/girepository/gitypelib.c:654,1
    - Dst: validate_name
      Src: /src/glib/girepository/gitypelib.c:659,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - error
    argTypes:
    - ValidateContext*
    - GError**
    constantsTouched: []
    func_position:
      end: 664
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 664
    functionName: validate_header
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached:
    - validate_name
    - validate_header_basic
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean validate_header (ValidateContext *ctx, GError **error) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:965,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:976,1
    - Dst: validate_name
      Src: /src/glib/girepository/gitypelib.c:983,1
    - Dst: get_string_nofail
      Src: /src/glib/girepository/gitypelib.c:986,1
    - Dst: push_context
      Src: /src/glib/girepository/gitypelib.c:986,1
    - Dst: validate_name
      Src: /src/glib/girepository/gitypelib.c:988,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:1002,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:1018,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:1030,1
    - Dst: validate_signature_blob
      Src: /src/glib/girepository/gitypelib.c:1040,1
    - Dst: return_type_from_signature
      Src: /src/glib/girepository/gitypelib.c:1045,1
    - Dst: get_type_blob
      Src: /src/glib/girepository/gitypelib.c:1052,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:1059,1
    - Dst: pop_context
      Src: /src/glib/girepository/gitypelib.c:1069,1
    - Dst: get_string_nofail
      Src: /src/glib/girepository/gitypelib.c:1064,1
    - Dst: gi_type_tag_to_string
      Src: /src/glib/girepository/gitypelib.c:1063,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 47
    argCount: 4
    argNames:
    - ctx
    - offset
    - container_type
    - error
    argTypes:
    - ValidateContext*
    - uint32_t
    - uint16_t
    - GError**
    constantsTouched: []
    func_position:
      end: 1072
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 1072
    functionName: validate_function_blob
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached:
    - g_set_error
    - validate_name
    - validate_signature_blob
    - gi_type_tag_to_string
    - get_type_blob
    - pop_context
    - return_type_from_signature
    - push_context
    - get_string_nofail
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean validate_function_blob (ValidateContext *ctx, uint32_t
      offset, uint16_t container_type, GError **error) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/girepository/gitypelib.c:1147,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/girepository/gitypelib.c:1147,1
    - Dst: validate_name
      Src: /src/glib/girepository/gitypelib.c:1169,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:1162,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:1151,1
    - Dst: validate_type_blob
      Src: /src/glib/girepository/gitypelib.c:1172,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/girepository/gitypelib.c:1172,1
    - Dst: is_aligned
      Src: /src/glib/girepository/gitypelib.c:1176,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:1178,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/girepository/gitypelib.c:1185,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:1190,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:1200,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 3
    argNames:
    - typelib
    - offset
    - error
    argTypes:
    - GITypelib*
    - uint32_t
    - GError**
    constantsTouched: []
    func_position:
      end: 1210
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1210
    functionName: validate_constant_blob
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached:
    - g_set_error
    - validate_name
    - G_STRUCT_OFFSET
    - g_assert
    - G_N_ELEMENTS
    - is_aligned
    - validate_type_blob
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean validate_constant_blob (GITypelib *typelib, uint32_t
      offset, GError **error) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: validate_name
      Src: /src/glib/girepository/gitypelib.c:1666,1
    - Dst: get_string_nofail
      Src: /src/glib/girepository/gitypelib.c:1770,1
    - Dst: get_dir_entry_checked
      Src: /src/glib/girepository/gitypelib.c:1753,1
    - Dst: validate_constant_blob
      Src: /src/glib/girepository/gitypelib.c:1825,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:1746,1
    - Dst: push_context
      Src: /src/glib/girepository/gitypelib.c:1770,1
    - Dst: validate_field_blob
      Src: /src/glib/girepository/gitypelib.c:1777,1
    - Dst: validate_function_blob
      Src: /src/glib/girepository/gitypelib.c:1807,1
    - Dst: validate_vfunc_blob
      Src: /src/glib/girepository/gitypelib.c:1819,1
    - Dst: pop_context
      Src: /src/glib/girepository/gitypelib.c:1829,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:1648,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:1659,1
    - Dst: validate_name
      Src: /src/glib/girepository/gitypelib.c:1672,1
    - Dst: validate_name
      Src: /src/glib/girepository/gitypelib.c:1669,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:1677,1
    - Dst: get_dir_entry_checked
      Src: /src/glib/girepository/gitypelib.c:1688,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:1694,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:1790,1
    - Dst: get_dir_entry_checked
      Src: /src/glib/girepository/gitypelib.c:1706,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:1711,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:1729,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:1760,1
    - Dst: validate_property_blob
      Src: /src/glib/girepository/gitypelib.c:1801,1
    - Dst: validate_signal_blob
      Src: /src/glib/girepository/gitypelib.c:1813,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 128
    argCount: 3
    argNames:
    - ctx
    - offset
    - error
    argTypes:
    - ValidateContext*
    - uint32_t
    - GError**
    constantsTouched: []
    func_position:
      end: 1832
      start: 1632
    functionDepth: 0
    functionLinenumber: 1632
    functionLinenumberEnd: 1832
    functionName: validate_object_blob
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached:
    - g_set_error
    - validate_name
    - pop_context
    - validate_function_blob
    - validate_property_blob
    - validate_signal_blob
    - validate_vfunc_blob
    - validate_constant_blob
    - get_dir_entry_checked
    - push_context
    - get_string_nofail
    - validate_field_blob
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean validate_object_blob (ValidateContext *ctx, uint32_t
      offset, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_prefix_error
      Src: /src/glib/girepository/gitypelib.c:2143,1
    - Dst: g_string_new
      Src: /src/glib/girepository/gitypelib.c:2147,1
    - Dst: g_string_append_c
      Src: /src/glib/girepository/gitypelib.c:2153,1
    - Dst: g_string_append
      Src: /src/glib/girepository/gitypelib.c:2151,1
    - Dst: g_string_append_c
      Src: /src/glib/girepository/gitypelib.c:2155,1
    - Dst: g_string_free
      Src: /src/glib/girepository/gitypelib.c:2156,1
    - Dst: g_prefix_error
      Src: /src/glib/girepository/gitypelib.c:2157,1
    - Dst: g_free
      Src: /src/glib/girepository/gitypelib.c:2158,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 3
    argNames:
    - error
    - section
    - ctx
    argTypes:
    - GError**
    - char*
    - ValidateContext*
    constantsTouched: []
    func_position:
      end: 2159
      start: 2131
    functionDepth: 0
    functionLinenumber: 2131
    functionLinenumberEnd: 2159
    functionName: prefix_with_context
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached:
    - g_prefix_error
    - g_string_append_c
    - g_string_free
    - g_string_new
    - g_free
    - g_string_append
    linkageType: ''
    returnType: void
    signature: 'static void prefix_with_context (GError **error, const char *section,
      ValidateContext *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/glib/girepository/gitypelib.c:301,1
    - Dst: strlen
      Src: /src/glib/girepository/gitypelib.c:310,1
    - Dst: g_string_overwrite_len
      Src: /src/glib/girepository/gitypelib.c:318,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - iter
    - out_val
    argTypes:
    - StrSplitIter*
    - char**
    constantsTouched: []
    func_position:
      end: 323
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 323
    functionName: strsplit_iter_next
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached:
    - g_string_overwrite_len
    - strstr
    - strlen
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean strsplit_iter_next (StrSplitIter *iter, const char
      **out_val) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:1084,1
    - Dst: push_context
      Src: /src/glib/girepository/gitypelib.c:1105,1
    - Dst: get_string_nofail
      Src: /src/glib/girepository/gitypelib.c:1105,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:1095,1
    - Dst: validate_name
      Src: /src/glib/girepository/gitypelib.c:1102,1
    - Dst: validate_signature_blob
      Src: /src/glib/girepository/gitypelib.c:1107,1
    - Dst: pop_context
      Src: /src/glib/girepository/gitypelib.c:1110,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 3
    argNames:
    - ctx
    - offset
    - error
    argTypes:
    - ValidateContext*
    - uint32_t
    - GError**
    constantsTouched: []
    func_position:
      end: 1113
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1113
    functionName: validate_callback_blob
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached:
    - g_set_error
    - validate_name
    - validate_signature_blob
    - pop_context
    - push_context
    - get_string_nofail
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean validate_callback_blob (ValidateContext *ctx, uint32_t
      offset, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:1221,1
    - Dst: validate_name
      Src: /src/glib/girepository/gitypelib.c:1230,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - typelib
    - offset
    - error
    argTypes:
    - GITypelib*
    - uint32_t
    - GError**
    constantsTouched: []
    func_position:
      end: 1234
      start: 1212
    functionDepth: 0
    functionLinenumber: 1212
    functionLinenumberEnd: 1234
    functionName: validate_value_blob
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached:
    - g_set_error
    - validate_name
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean validate_value_blob (GITypelib *typelib, uint32_t
      offset, GError **error) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:1849,1
    - Dst: validate_name
      Src: /src/glib/girepository/gitypelib.c:1873,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:1860,1
    - Dst: validate_name
      Src: /src/glib/girepository/gitypelib.c:1870,1
    - Dst: validate_name
      Src: /src/glib/girepository/gitypelib.c:1867,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:1885,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:1902,1
    - Dst: gi_typelib_get_dir_entry
      Src: /src/glib/girepository/gitypelib.c:1909,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:1914,1
    - Dst: push_context
      Src: /src/glib/girepository/gitypelib.c:1924,1
    - Dst: validate_vfunc_blob
      Src: /src/glib/girepository/gitypelib.c:1946,1
    - Dst: validate_property_blob
      Src: /src/glib/girepository/gitypelib.c:1928,1
    - Dst: validate_function_blob
      Src: /src/glib/girepository/gitypelib.c:1934,1
    - Dst: get_string_nofail
      Src: /src/glib/girepository/gitypelib.c:1924,1
    - Dst: pop_context
      Src: /src/glib/girepository/gitypelib.c:1956,1
    - Dst: validate_constant_blob
      Src: /src/glib/girepository/gitypelib.c:1952,1
    - Dst: validate_signal_blob
      Src: /src/glib/girepository/gitypelib.c:1940,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 92
    argCount: 3
    argNames:
    - ctx
    - offset
    - error
    argTypes:
    - ValidateContext*
    - uint32_t
    - GError**
    constantsTouched: []
    func_position:
      end: 1959
      start: 1834
    functionDepth: 0
    functionLinenumber: 1834
    functionLinenumberEnd: 1959
    functionName: validate_interface_blob
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached:
    - g_set_error
    - validate_name
    - gi_typelib_get_dir_entry
    - pop_context
    - validate_function_blob
    - validate_property_blob
    - validate_signal_blob
    - validate_vfunc_blob
    - get_string_nofail
    - push_context
    - validate_constant_blob
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean validate_interface_blob (ValidateContext *ctx, uint32_t
      offset, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gi_typelib_do_dlopen
      Src: /src/glib/girepository/gitypelib.c:2330,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - typelib
    argTypes:
    - GITypelib*
    constantsTouched: []
    func_position:
      end: 2331
      start: 2324
    functionDepth: 0
    functionLinenumber: 2324
    functionLinenumberEnd: 2331
    functionName: gi_typelib_ensure_open
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached:
    - gi_typelib_do_dlopen
    linkageType: ''
    returnType: void
    signature: 'static inline void gi_typelib_ensure_open (GITypelib *typelib) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_get_data
      Src: /src/glib/girepository/gitypelib.c:2352,1
    - Dst: validate_header_basic
      Src: /src/glib/girepository/gitypelib.c:2354,1
    - Dst: g_slice_new0
      Src: /src/glib/girepository/gitypelib.c:2357,1
    - Dst: g_bytes_ref
      Src: /src/glib/girepository/gitypelib.c:2359,1
    - Dst: g_atomic_ref_count_init
      Src: /src/glib/girepository/gitypelib.c:2358,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2365
      start: 2346
    functionDepth: 0
    functionLinenumber: 2346
    functionLinenumberEnd: 2365
    functionName: gi_typelib_new_from_bytes
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached:
    - validate_header_basic
    - g_slice_new0
    - g_atomic_ref_count_init
    - g_bytes_ref
    - g_bytes_get_data
    linkageType: ''
    returnType: GITypelib*
    signature: 'GITypelib *gi_typelib_new_from_bytes (GBytes *bytes, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_section_by_id
      Src: /src/glib/girepository/gitypelib.c:206,1
    - Dst: gi_typelib_get_string
      Src: /src/glib/girepository/gitypelib.c:214,1
    - Dst: strcmp
      Src: /src/glib/girepository/gitypelib.c:215,1
    - Dst: gi_typelib_hash_search
      Src: /src/glib/girepository/gitypelib.c:225,1
    - Dst: gi_typelib_get_dir_entry
      Src: /src/glib/girepository/gitypelib.c:213,1
    - Dst: gi_typelib_get_dir_entry
      Src: /src/glib/girepository/gitypelib.c:226,1
    - Dst: gi_typelib_get_string
      Src: /src/glib/girepository/gitypelib.c:227,1
    - Dst: strcmp
      Src: /src/glib/girepository/gitypelib.c:228,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 232
    functionName: gi_typelib_get_dir_entry_by_name
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached:
    - gi_typelib_get_string
    - gi_typelib_get_dir_entry
    - get_section_by_id
    - strcmp
    - gi_typelib_hash_search
    linkageType: ''
    returnType: DirEntry*
    signature: 'DirEntry *gi_typelib_get_dir_entry_by_name (GITypelib *typelib, const
      char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gi_typelib_get_string
      Src: /src/glib/girepository/gitypelib.c:353,1
    - Dst: strsplit_iter_next
      Src: /src/glib/girepository/gitypelib.c:367,1
    - Dst: strsplit_iter_init
      Src: /src/glib/girepository/gitypelib.c:366,1
    - Dst: strlen
      Src: /src/glib/girepository/gitypelib.c:357,1
    - Dst: strlen
      Src: /src/glib/girepository/gitypelib.c:354,1
    - Dst: strlen
      Src: /src/glib/girepository/gitypelib.c:369,1
    - Dst: strncmp
      Src: /src/glib/girepository/gitypelib.c:374,1
    - Dst: g_ascii_isupper
      Src: /src/glib/girepository/gitypelib.c:377,1
    - Dst: strsplit_iter_clear
      Src: /src/glib/girepository/gitypelib.c:383,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 2
    argNames:
    - typelib
    - gtype_name
    argTypes:
    - GITypelib*
    - char*
    constantsTouched: []
    func_position:
      end: 385
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 385
    functionName: gi_typelib_matches_gtype_name_prefix
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached:
    - gi_typelib_get_string
    - g_ascii_isupper
    - strlen
    - strsplit_iter_init
    - strsplit_iter_clear
    - strncmp
    - strsplit_iter_next
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean gi_typelib_matches_gtype_name_prefix (GITypelib *typelib,
      const char *gtype_name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_string
      Src: /src/glib/girepository/gitypelib.c:502,1
    - Dst: strlen
      Src: /src/glib/girepository/gitypelib.c:516,1
    - Dst: strspn
      Src: /src/glib/girepository/gitypelib.c:516,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:508,1
    - Dst: memchr
      Src: /src/glib/girepository/gitypelib.c:506,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:518,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 5
    argNames:
    - typelib
    - msg
    - data
    - offset
    - error
    argTypes:
    - GITypelib*
    - char*
    - uint8_t*
    - uint32_t
    - GError**
    constantsTouched: []
    func_position:
      end: 527
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 527
    functionName: validate_name
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached:
    - g_set_error
    - strlen
    - get_string
    - strspn
    - memchr
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean validate_name (GITypelib *typelib, const char *msg,
      const uint8_t *data, uint32_t offset, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gitypelib.c:2379,1
    - Dst: g_atomic_ref_count_inc
      Src: /src/glib/girepository/gitypelib.c:2381,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2384
      start: 2376
    functionDepth: 0
    functionLinenumber: 2376
    functionLinenumberEnd: 2384
    functionName: gi_typelib_ref
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_atomic_ref_count_inc
    linkageType: ''
    returnType: GITypelib*
    signature: 'GITypelib *gi_typelib_ref (GITypelib *typelib) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gi_typelib_ensure_open
      Src: /src/glib/girepository/gitypelib.c:2448,1
    - Dst: g_module_symbol
      Src: /src/glib/girepository/gitypelib.c:2465,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 3
    argNames:
    - typelib
    - symbol_name
    - symbol
    argTypes:
    - GITypelib*
    - char*
    - void**
    constantsTouched: []
    func_position:
      end: 2470
      start: 2443
    functionDepth: 0
    functionLinenumber: 2443
    functionLinenumberEnd: 2470
    functionName: gi_typelib_symbol
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached:
    - g_module_symbol
    - gi_typelib_ensure_open
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean gi_typelib_symbol (GITypelib *typelib, const char *symbol_name,
      void **symbol) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/girepository/gitypelib.c:2399,1
    - Dst: g_list_foreach
      Src: /src/glib/girepository/gitypelib.c:2409,1
    - Dst: g_atomic_ref_count_dec
      Src: /src/glib/girepository/gitypelib.c:2401,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/gitypelib.c:2403,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/gitypelib.c:2405,1
    - Dst: g_list_free
      Src: /src/glib/girepository/gitypelib.c:2410,1
    - Dst: g_slice_free
      Src: /src/glib/girepository/gitypelib.c:2412,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - typelib
    argTypes:
    - GITypelib*
    constantsTouched: []
    func_position:
      end: 2414
      start: 2396
    functionDepth: 0
    functionLinenumber: 2396
    functionLinenumberEnd: 2414
    functionName: gi_typelib_unref
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached:
    - g_atomic_ref_count_dec
    - g_return_if_fail
    - g_clear_pointer
    - g_list_free
    - g_slice_free
    - g_list_foreach
    linkageType: ''
    returnType: void
    signature: 'void gi_typelib_unref (GITypelib *typelib) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/girepository/gitypelib.c:62,1
    - Dst: g_slist_delete_link
      Src: /src/glib/girepository/gitypelib.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - ValidateContext*
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: pop_context
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_slist_delete_link
    linkageType: ''
    returnType: void
    signature: 'static void pop_context (ValidateContext *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:127,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:136,1
    - Dst: get_blob
      Src: /src/glib/girepository/gitypelib.c:144,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 145
    functionName: get_type_blob
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached:
    - g_set_error
    - get_blob
    linkageType: ''
    returnType: InterfaceTypeBlob*
    signature: 'static InterfaceTypeBlob *get_type_blob (GITypelib *typelib, SimpleTypeBlob
      *simple, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:475,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 483
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 483
    functionName: get_string
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached:
    - g_set_error
    linkageType: ''
    returnType: char*
    signature: 'static const char *get_string (GITypelib *typelib, uint32_t offset,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/gitypelib.c:465,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - offset
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 466
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 466
    functionName: is_aligned
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached:
    - ALIGN_VALUE
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_aligned (uint32_t offset) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: validate_type_blob
      Src: /src/glib/girepository/gitypelib.c:681,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/girepository/gitypelib.c:682,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 5
    argNames:
    - typelib
    - offset
    - signature_offset
    - return_type
    - error
    argTypes:
    - GITypelib*
    - uint32_t
    - uint32_t
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 687
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 687
    functionName: validate_array_type_blob
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached:
    - G_STRUCT_OFFSET
    - validate_type_blob
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean validate_array_type_blob (GITypelib *typelib, uint32_t
      offset, uint32_t signature_offset, gboolean return_type, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:725,1
    - Dst: validate_type_blob
      Src: /src/glib/girepository/gitypelib.c:743,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:734,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 6
    argNames:
    - typelib
    - offset
    - signature_offset
    - return_type
    - n_params
    - error
    argTypes:
    - GITypelib*
    - uint32_t
    - uint32_t
    - gboolean
    - size_t
    - GError**
    constantsTouched: []
    func_position:
      end: 751
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 751
    functionName: validate_param_type_blob
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached:
    - g_set_error
    - validate_type_blob
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean validate_param_type_blob (GITypelib *typelib, uint32_t
      offset, uint32_t signature_offset, gboolean return_type, size_t n_params, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - typelib
    - offset
    - error
    argTypes:
    - GITypelib*
    - uint32_t
    - GError**
    constantsTouched: []
    func_position:
      end: 1967
      start: 1961
    functionDepth: 0
    functionLinenumber: 1961
    functionLinenumberEnd: 1967
    functionName: validate_union_blob
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean validate_union_blob (GITypelib *typelib, uint32_t
      offset, GError **error) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:2046,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:2074,1
    - Dst: validate_name
      Src: /src/glib/girepository/gitypelib.c:2057,1
    - Dst: gi_typelib_get_dir_entry
      Src: /src/glib/girepository/gitypelib.c:2055,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:2063,1
    - Dst: is_aligned
      Src: /src/glib/girepository/gitypelib.c:2081,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:2083,1
    - Dst: validate_blob
      Src: /src/glib/girepository/gitypelib.c:2090,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:2097,1
    - Dst: validate_name
      Src: /src/glib/girepository/gitypelib.c:2104,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 36
    argCount: 2
    argNames:
    - ctx
    - error
    argTypes:
    - ValidateContext*
    - GError**
    constantsTouched: []
    func_position:
      end: 2110
      start: 2035
    functionDepth: 0
    functionLinenumber: 2035
    functionLinenumberEnd: 2110
    functionName: validate_directory
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached:
    - g_set_error
    - validate_name
    - gi_typelib_get_dir_entry
    - is_aligned
    - validate_blob
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean validate_directory (ValidateContext *ctx, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_string
      Src: /src/glib/girepository/gitypelib.c:488,1
    - Dst: g_assert
      Src: /src/glib/girepository/gitypelib.c:489,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 491
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 491
    functionName: get_string_nofail
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached:
    - get_string
    - g_assert
    linkageType: ''
    returnType: char*
    signature: 'static const char *get_string_nofail (GITypelib *typelib, uint32_t
      offset) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_dir_entry_checked
      Src: /src/glib/girepository/gitypelib.c:701,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 5
    argNames:
    - typelib
    - offset
    - signature_offset
    - return_type
    - error
    argTypes:
    - GITypelib*
    - uint32_t
    - uint32_t
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 709
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 709
    functionName: validate_iface_type_blob
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached:
    - get_dir_entry_checked
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean validate_iface_type_blob (GITypelib *typelib, uint32_t
      offset, uint32_t signature_offset, gboolean return_type, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:766,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 5
    argNames:
    - typelib
    - offset
    - signature_offset
    - return_type
    - error
    argTypes:
    - GITypelib*
    - uint32_t
    - uint32_t
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 774
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 774
    functionName: validate_error_type_blob
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached:
    - g_set_error
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean validate_error_type_blob (GITypelib *typelib, uint32_t
      offset, uint32_t signature_offset, gboolean return_type, GError **error) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:1979,1
    - Dst: validate_enum_blob
      Src: /src/glib/girepository/gitypelib.c:2005,1
    - Dst: validate_callback_blob
      Src: /src/glib/girepository/gitypelib.c:1995,1
    - Dst: validate_function_blob
      Src: /src/glib/girepository/gitypelib.c:1991,1
    - Dst: validate_struct_blob
      Src: /src/glib/girepository/gitypelib.c:2000,1
    - Dst: validate_object_blob
      Src: /src/glib/girepository/gitypelib.c:2009,1
    - Dst: validate_interface_blob
      Src: /src/glib/girepository/gitypelib.c:2013,1
    - Dst: validate_constant_blob
      Src: /src/glib/girepository/gitypelib.c:2017,1
    - Dst: validate_union_blob
      Src: /src/glib/girepository/gitypelib.c:2021,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:2025,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 24
    argCount: 3
    argNames:
    - ctx
    - offset
    - error
    argTypes:
    - ValidateContext*
    - uint32_t
    - GError**
    constantsTouched: []
    func_position:
      end: 2033
      start: 1969
    functionDepth: 0
    functionLinenumber: 1969
    functionLinenumberEnd: 2033
    functionName: validate_blob
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached:
    - g_set_error
    - validate_object_blob
    - validate_interface_blob
    - validate_callback_blob
    - validate_function_blob
    - validate_union_blob
    - validate_constant_blob
    - validate_struct_blob
    - validate_enum_blob
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean validate_blob (ValidateContext *ctx, uint32_t offset,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:2121,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - error
    argTypes:
    - ValidateContext*
    - GError**
    constantsTouched: []
    func_position:
      end: 2129
      start: 2112
    functionDepth: 0
    functionLinenumber: 2112
    functionLinenumberEnd: 2129
    functionName: validate_attributes
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached:
    - g_set_error
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean validate_attributes (ValidateContext *ctx, GError
      **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: validate_header
      Src: /src/glib/girepository/gitypelib.c:2180,1
    - Dst: validate_attributes
      Src: /src/glib/girepository/gitypelib.c:2192,1
    - Dst: prefix_with_context
      Src: /src/glib/girepository/gitypelib.c:2182,1
    - Dst: prefix_with_context
      Src: /src/glib/girepository/gitypelib.c:2188,1
    - Dst: validate_directory
      Src: /src/glib/girepository/gitypelib.c:2186,1
    - Dst: prefix_with_context
      Src: /src/glib/girepository/gitypelib.c:2194,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - typelib
    - error
    argTypes:
    - GITypelib*
    - GError**
    constantsTouched: []
    func_position:
      end: 2199
      start: 2172
    functionDepth: 0
    functionLinenumber: 2172
    functionLinenumberEnd: 2199
    functionName: gi_typelib_validate
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached:
    - prefix_with_context
    - validate_attributes
    - validate_header
    - validate_directory
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean gi_typelib_validate (GITypelib *typelib, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_quark_to_string
      Src: /src/glib/girepository/gitypelib.c:405,1
    - Dst: gi_typelib_get_string
      Src: /src/glib/girepository/gitypelib.c:421,1
    - Dst: strcmp
      Src: /src/glib/girepository/gitypelib.c:422,1
    - Dst: gi_typelib_get_dir_entry
      Src: /src/glib/girepository/gitypelib.c:413,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 426
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 426
    functionName: gi_typelib_get_dir_entry_by_error_domain
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached:
    - gi_typelib_get_string
    - strcmp
    - gi_typelib_get_dir_entry
    - g_quark_to_string
    linkageType: ''
    returnType: DirEntry*
    signature: 'DirEntry *gi_typelib_get_dir_entry_by_error_domain (GITypelib *typelib,
      GQuark error_domain) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:1441,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:1452,1
    - Dst: validate_name
      Src: /src/glib/girepository/gitypelib.c:1459,1
    - Dst: get_string_nofail
      Src: /src/glib/girepository/gitypelib.c:1462,1
    - Dst: push_context
      Src: /src/glib/girepository/gitypelib.c:1462,1
    - Dst: validate_name
      Src: /src/glib/girepository/gitypelib.c:1466,1
    - Dst: validate_name
      Src: /src/glib/girepository/gitypelib.c:1469,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:1476,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:1488,1
    - Dst: validate_field_blob
      Src: /src/glib/girepository/gitypelib.c:1500,1
    - Dst: validate_function_blob
      Src: /src/glib/girepository/gitypelib.c:1512,1
    - Dst: pop_context
      Src: /src/glib/girepository/gitypelib.c:1520,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 48
    argCount: 4
    argNames:
    - ctx
    - offset
    - blob_type
    - error
    argTypes:
    - ValidateContext*
    - uint32_t
    - uint16_t
    - GError**
    constantsTouched: []
    func_position:
      end: 1523
      start: 1428
    functionDepth: 0
    functionLinenumber: 1428
    functionLinenumberEnd: 1523
    functionName: validate_struct_blob
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached:
    - g_set_error
    - validate_name
    - pop_context
    - validate_function_blob
    - push_context
    - get_string_nofail
    - validate_field_blob
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean validate_struct_blob (ValidateContext *ctx, uint32_t
      offset, uint16_t blob_type, GError **error) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:1537,1
    - Dst: validate_name
      Src: /src/glib/girepository/gitypelib.c:1557,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:1548,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:1567,1
    - Dst: validate_name
      Src: /src/glib/girepository/gitypelib.c:1560,1
    - Dst: validate_name
      Src: /src/glib/girepository/gitypelib.c:1575,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:1582,1
    - Dst: push_context
      Src: /src/glib/girepository/gitypelib.c:1591,1
    - Dst: get_string_nofail
      Src: /src/glib/girepository/gitypelib.c:1591,1
    - Dst: validate_value_blob
      Src: /src/glib/girepository/gitypelib.c:1595,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:1611,1
    - Dst: pop_context
      Src: /src/glib/girepository/gitypelib.c:1627,1
    - Dst: validate_function_blob
      Src: /src/glib/girepository/gitypelib.c:1623,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 54
    argCount: 4
    argNames:
    - ctx
    - offset
    - blob_type
    - error
    argTypes:
    - ValidateContext*
    - uint32_t
    - uint16_t
    - GError**
    constantsTouched: []
    func_position:
      end: 1630
      start: 1525
    functionDepth: 0
    functionLinenumber: 1525
    functionLinenumberEnd: 1630
    functionName: validate_enum_blob
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached:
    - g_set_error
    - validate_name
    - pop_context
    - validate_function_blob
    - push_context
    - get_string_nofail
    - validate_value_blob
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean validate_enum_blob (ValidateContext *ctx, uint32_t
      offset, uint16_t blob_type, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gi_typelib_get_string
      Src: /src/glib/girepository/gitypelib.c:2275,1
    - Dst: load_one_shared_library
      Src: /src/glib/girepository/gitypelib.c:2294,1
    - Dst: g_strsplit
      Src: /src/glib/girepository/gitypelib.c:2284,1
    - Dst: g_warning
      Src: /src/glib/girepository/gitypelib.c:2298,1
    - Dst: g_module_error
      Src: /src/glib/girepository/gitypelib.c:2299,1
    - Dst: g_list_append
      Src: /src/glib/girepository/gitypelib.c:2303,1
    - Dst: g_strfreev
      Src: /src/glib/girepository/gitypelib.c:2307,1
    - Dst: g_module_open
      Src: /src/glib/girepository/gitypelib.c:2316,1
    - Dst: g_warning
      Src: /src/glib/girepository/gitypelib.c:2318,1
    - Dst: g_module_error
      Src: /src/glib/girepository/gitypelib.c:2318,1
    - Dst: g_list_prepend
      Src: /src/glib/girepository/gitypelib.c:2320,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 1
    argNames:
    - typelib
    argTypes:
    - GITypelib*
    constantsTouched: []
    func_position:
      end: 2322
      start: 2266
    functionDepth: 0
    functionLinenumber: 2266
    functionLinenumberEnd: 2322
    functionName: gi_typelib_do_dlopen
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached:
    - g_list_append
    - gi_typelib_get_string
    - g_warning
    - load_one_shared_library
    - g_strfreev
    - g_module_open
    - g_strsplit
    - g_list_prepend
    - g_module_error
    linkageType: ''
    returnType: void
    signature: 'static void gi_typelib_do_dlopen (GITypelib *typelib) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 164
    functionName: gi_typelib_get_dir_entry
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DirEntry*
    signature: 'DirEntry *gi_typelib_get_dir_entry (GITypelib *typelib, uint16_t index) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gi_typelib_get_string
      Src: /src/glib/girepository/gitypelib.c:2428,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2429
      start: 2425
    functionDepth: 0
    functionLinenumber: 2425
    functionLinenumberEnd: 2429
    functionName: gi_typelib_get_namespace
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached:
    - gi_typelib_get_string
    linkageType: ''
    returnType: char*
    signature: 'const char *gi_typelib_get_namespace (GITypelib *typelib) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:82,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:93,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 101
    functionName: get_dir_entry_checked
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached:
    - g_set_error
    linkageType: ''
    returnType: DirEntry*
    signature: 'static DirEntry *get_dir_entry_checked (GITypelib *typelib, uint16_t
      index, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 184
    functionName: get_section_by_id
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Section*
    signature: 'static Section *get_section_by_id (GITypelib *typelib, SectionType
      section_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/girepository/gitypelib.c:328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - StrSplitIter*
    constantsTouched: []
    func_position:
      end: 329
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 329
    functionName: strsplit_iter_clear
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void strsplit_iter_clear (StrSplitIter *iter) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: GI_TYPE_TAG_IS_BASIC
      Src: /src/glib/girepository/gitypelib.c:791,1
    - Dst: validate_iface_type_blob
      Src: /src/glib/girepository/gitypelib.c:824,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:793,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:804,1
    - Dst: validate_array_type_blob
      Src: /src/glib/girepository/gitypelib.c:819,1
    - Dst: validate_param_type_blob
      Src: /src/glib/girepository/gitypelib.c:830,1
    - Dst: validate_param_type_blob
      Src: /src/glib/girepository/gitypelib.c:835,1
    - Dst: validate_error_type_blob
      Src: /src/glib/girepository/gitypelib.c:840,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:845,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 30
    argCount: 5
    argNames:
    - typelib
    - offset
    - signature_offset
    - return_type
    - error
    argTypes:
    - GITypelib*
    - uint32_t
    - uint32_t
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 853
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 853
    functionName: validate_type_blob
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached:
    - g_set_error
    - validate_param_type_blob
    - validate_array_type_blob
    - validate_iface_type_blob
    - validate_error_type_blob
    - GI_TYPE_TAG_IS_BASIC
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean validate_type_blob (GITypelib *typelib, uint32_t offset,
      uint32_t signature_offset, gboolean return_type, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:893,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/girepository/gitypelib.c:910,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:903,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 911
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 911
    functionName: return_type_from_signature
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached:
    - g_set_error
    - G_STRUCT_OFFSET
    linkageType: ''
    returnType: SimpleTypeBlob*
    signature: 'static SimpleTypeBlob *return_type_from_signature (GITypelib *typelib,
      uint32_t offset, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:1247,1
    - Dst: validate_name
      Src: /src/glib/girepository/gitypelib.c:1256,1
    - Dst: validate_callback_blob
      Src: /src/glib/girepository/gitypelib.c:1261,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/girepository/gitypelib.c:1265,1
    - Dst: validate_type_blob
      Src: /src/glib/girepository/gitypelib.c:1264,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 3
    argNames:
    - ctx
    - offset
    - error
    argTypes:
    - ValidateContext*
    - uint32_t
    - GError**
    constantsTouched: []
    func_position:
      end: 1270
      start: 1236
    functionDepth: 0
    functionLinenumber: 1236
    functionLinenumberEnd: 1270
    functionName: validate_field_blob
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached:
    - g_set_error
    - validate_name
    - G_STRUCT_OFFSET
    - validate_callback_blob
    - validate_type_blob
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean validate_field_blob (ValidateContext *ctx, uint32_t
      offset, GError **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:1312,1
    - Dst: validate_signature_blob
      Src: /src/glib/girepository/gitypelib.c:1364,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:1356,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:1328,1
    - Dst: validate_name
      Src: /src/glib/girepository/gitypelib.c:1321,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 4
    argNames:
    - typelib
    - offset
    - container_offset
    - error
    argTypes:
    - GITypelib*
    - uint32_t
    - uint32_t
    - GError**
    constantsTouched: []
    func_position:
      end: 1368
      start: 1301
    functionDepth: 0
    functionLinenumber: 1301
    functionLinenumberEnd: 1368
    functionName: validate_signal_blob
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached:
    - g_set_error
    - validate_signature_blob
    - validate_name
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean validate_signal_blob (GITypelib *typelib, uint32_t
      offset, uint32_t container_offset, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_path_is_absolute
      Src: /src/glib/girepository/gitypelib.c:2241,1
    - Dst: g_path_is_absolute
      Src: /src/glib/girepository/gitypelib.c:2243,1
    - Dst: g_module_open
      Src: /src/glib/girepository/gitypelib.c:2251,1
    - Dst: g_str_has_prefix
      Src: /src/glib/girepository/gitypelib.c:2241,1
    - Dst: g_build_filename
      Src: /src/glib/girepository/gitypelib.c:2249,1
    - Dst: g_free
      Src: /src/glib/girepository/gitypelib.c:2253,1
    - Dst: g_module_open
      Src: /src/glib/girepository/gitypelib.c:2263,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2264
      start: 2228
    functionDepth: 0
    functionLinenumber: 2228
    functionLinenumberEnd: 2264
    functionName: load_one_shared_library
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached:
    - g_str_has_prefix
    - g_build_filename
    - g_module_open
    - g_free
    - g_path_is_absolute
    linkageType: ''
    returnType: GModule*
    signature: 'static GModule *load_one_shared_library (GITypelib *typelib, const
      char *shlib) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_prepend
      Src: /src/glib/girepository/gitypelib.c:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - ValidateContext*
    - char*
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: push_context
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached:
    - g_slist_prepend
    linkageType: ''
    returnType: void
    signature: 'static void push_context (ValidateContext *ctx, const char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:111,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 118
    functionName: get_blob
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached:
    - g_set_error
    linkageType: ''
    returnType: CommonBlob*
    signature: 'static CommonBlob *get_blob (GITypelib *typelib, uint32_t offset,
      GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:865,1
    - Dst: validate_name
      Src: /src/glib/girepository/gitypelib.c:874,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/girepository/gitypelib.c:878,1
    - Dst: validate_type_blob
      Src: /src/glib/girepository/gitypelib.c:877,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 4
    argNames:
    - typelib
    - offset
    - signature_offset
    - error
    argTypes:
    - GITypelib*
    - uint32_t
    - uint32_t
    - GError**
    constantsTouched: []
    func_position:
      end: 883
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 883
    functionName: validate_arg_blob
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached:
    - g_set_error
    - G_STRUCT_OFFSET
    - validate_type_blob
    - validate_name
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean validate_arg_blob (GITypelib *typelib, uint32_t offset,
      uint32_t signature_offset, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:922,1
    - Dst: validate_arg_blob
      Src: /src/glib/girepository/gitypelib.c:941,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/girepository/gitypelib.c:934,1
    - Dst: validate_type_blob
      Src: /src/glib/girepository/gitypelib.c:933,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - typelib
    - offset
    - error
    argTypes:
    - GITypelib*
    - uint32_t
    - GError**
    constantsTouched: []
    func_position:
      end: 952
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 952
    functionName: validate_signature_blob
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached:
    - g_set_error
    - G_STRUCT_OFFSET
    - validate_type_blob
    - validate_arg_blob
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean validate_signature_blob (GITypelib *typelib, uint32_t
      offset, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:1281,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/girepository/gitypelib.c:1294,1
    - Dst: validate_name
      Src: /src/glib/girepository/gitypelib.c:1290,1
    - Dst: validate_type_blob
      Src: /src/glib/girepository/gitypelib.c:1293,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - typelib
    - offset
    - error
    argTypes:
    - GITypelib*
    - uint32_t
    - GError**
    constantsTouched: []
    func_position:
      end: 1299
      start: 1272
    functionDepth: 0
    functionLinenumber: 1272
    functionLinenumberEnd: 1299
    functionName: validate_property_blob
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached:
    - g_set_error
    - G_STRUCT_OFFSET
    - validate_type_blob
    - validate_name
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean validate_property_blob (GITypelib *typelib, uint32_t
      offset, GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:1381,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gitypelib.c:1414,1
    - Dst: validate_name
      Src: /src/glib/girepository/gitypelib.c:1390,1
    - Dst: validate_signature_blob
      Src: /src/glib/girepository/gitypelib.c:1422,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 4
    argNames:
    - typelib
    - offset
    - container_offset
    - error
    argTypes:
    - GITypelib*
    - uint32_t
    - uint32_t
    - GError**
    constantsTouched: []
    func_position:
      end: 1426
      start: 1370
    functionDepth: 0
    functionLinenumber: 1370
    functionLinenumberEnd: 1426
    functionName: validate_vfunc_blob
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached:
    - g_set_error
    - validate_signature_blob
    - validate_name
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean validate_vfunc_blob (GITypelib *typelib, uint32_t
      offset, uint32_t container_offset, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_quark_from_static_string
      Src: /src/glib/girepository/gitypelib.c:2214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2216
      start: 2209
    functionDepth: 0
    functionLinenumber: 2209
    functionLinenumberEnd: 2216
    functionName: gi_typelib_error_quark
    functionSourceFile: /src/glib/girepository/gitypelib.c
    functionUses: []
    functionsReached:
    - g_quark_from_static_string
    linkageType: ''
    returnType: GQuark
    signature: 'GQuark gi_typelib_error_quark (void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_type_size_alignment
      Src: /src/glib/girepository/giroffsets.c:283,1
    - Dst: g_warning
      Src: /src/glib/girepository/giroffsets.c:308,1
    - Dst: gi_type_tag_get_ffi_type
      Src: /src/glib/girepository/giroffsets.c:304,1
    - Dst: g_warning
      Src: /src/glib/girepository/giroffsets.c:315,1
    - Dst: get_interface_size_alignment
      Src: /src/glib/girepository/giroffsets.c:300,1
    - Dst: gi_type_tag_to_string
      Src: /src/glib/girepository/giroffsets.c:317,1
    - Dst: g_assert
      Src: /src/glib/girepository/giroffsets.c:325,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 5
    argNames:
    - build
    - type
    - size
    - alignment
    - who
    argTypes:
    - GIIrTypelibBuild*
    - GIIrNodeType*
    - size_t*
    - size_t*
    - char*
    constantsTouched: []
    func_position:
      end: 330
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 330
    functionName: get_type_size_alignment
    functionSourceFile: /src/glib/girepository/giroffsets.c
    functionUses: []
    functionsReached:
    - gi_type_tag_to_string
    - get_type_size_alignment
    - g_warning
    - g_assert
    - gi_type_tag_get_ffi_type
    - get_interface_size_alignment
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean get_type_size_alignment (GIIrTypelibBuild *build,
      GIIrNodeType *type, size_t *size, size_t *alignment, const char *who) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: compute_enum_storage_type
      Src: /src/glib/girepository/giroffsets.c:156,1
    - Dst: gi_type_tag_to_string
      Src: /src/glib/girepository/giroffsets.c:178,1
    - Dst: g_error
      Src: /src/glib/girepository/giroffsets.c:177,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 11
    argCount: 3
    argNames:
    - enum_node
    - size
    - alignment
    argTypes:
    - GIIrNodeEnum*
    - size_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 185
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 185
    functionName: get_enum_size_alignment
    functionSourceFile: /src/glib/girepository/giroffsets.c
    functionUses: []
    functionsReached:
    - g_error
    - gi_type_tag_to_string
    - compute_enum_storage_type
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean get_enum_size_alignment (GIIrNodeEnum *enum_node,
      size_t *size, size_t *alignment) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_field_size_alignment
      Src: /src/glib/girepository/giroffsets.c:462,1
    - Dst: GI_ALIGN
      Src: /src/glib/girepository/giroffsets.c:475,1
    - Dst: MAX
      Src: /src/glib/girepository/giroffsets.c:465,1
    - Dst: MAX
      Src: /src/glib/girepository/giroffsets.c:466,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 6
    argNames:
    - build
    - node
    - members
    - size_out
    - alignment_out
    - offsets_state_out
    argTypes:
    - GIIrTypelibBuild*
    - GIIrNode*
    - GList*
    - size_t*
    - size_t*
    - GIIrOffsetsState*
    constantsTouched: []
    func_position:
      end: 491
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 491
    functionName: compute_union_field_offsets
    functionSourceFile: /src/glib/girepository/giroffsets.c
    functionUses: []
    functionsReached:
    - get_field_size_alignment
    - GI_ALIGN
    - MAX
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean compute_union_field_offsets (GIIrTypelibBuild *build,
      GIIrNode *node, GList *members, size_t *size_out, size_t *alignment_out, GIIrOffsetsState
      *offsets_state_out) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: g_list_prepend
      Src: /src/glib/girepository/giroffsets.c:531,1
    - Dst: check_needs_computation
      Src: /src/glib/girepository/giroffsets.c:539,1
    - Dst: check_needs_computation
      Src: /src/glib/girepository/giroffsets.c:550,1
    - Dst: compute_struct_field_offsets
      Src: /src/glib/girepository/giroffsets.c:542,1
    - Dst: compute_struct_field_offsets
      Src: /src/glib/girepository/giroffsets.c:553,1
    - Dst: check_needs_computation
      Src: /src/glib/girepository/giroffsets.c:562,1
    - Dst: compute_struct_field_offsets
      Src: /src/glib/girepository/giroffsets.c:565,1
    - Dst: check_needs_computation
      Src: /src/glib/girepository/giroffsets.c:573,1
    - Dst: compute_union_field_offsets
      Src: /src/glib/girepository/giroffsets.c:576,1
    - Dst: compute_enum_storage_type
      Src: /src/glib/girepository/giroffsets.c:588,1
    - Dst: g_list_delete_link
      Src: /src/glib/girepository/giroffsets.c:597,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 28
    argCount: 2
    argNames:
    - build
    - node
    argTypes:
    - GIIrTypelibBuild*
    - GIIrNode*
    constantsTouched: []
    func_position:
      end: 598
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 598
    functionName: gi_ir_node_compute_offsets
    functionSourceFile: /src/glib/girepository/giroffsets.c
    functionUses: []
    functionsReached:
    - g_list_delete_link
    - compute_struct_field_offsets
    - compute_union_field_offsets
    - check_needs_computation
    - g_list_prepend
    - compute_enum_storage_type
    linkageType: ''
    returnType: void
    signature: 'void gi_ir_node_compute_offsets (GIIrTypelibBuild *build, GIIrNode
      *node) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: g_error
      Src: /src/glib/girepository/giroffsets.c:146,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 66
    argCount: 1
    argNames:
    - enum_node
    argTypes:
    - GIIrNodeEnum*
    constantsTouched: []
    func_position:
      end: 147
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 147
    functionName: compute_enum_storage_type
    functionSourceFile: /src/glib/girepository/giroffsets.c
    functionUses: []
    functionsReached:
    - g_error
    linkageType: ''
    returnType: void
    signature: 'static void compute_enum_storage_type (GIIrNodeEnum *enum_node) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gi_ir_find_node
      Src: /src/glib/girepository/giroffsets.c:196,1
    - Dst: gi_ir_node_compute_offsets
      Src: /src/glib/girepository/giroffsets.c:205,1
    - Dst: get_enum_size_alignment
      Src: /src/glib/girepository/giroffsets.c:241,1
    - Dst: gi_ir_module_fatal
      Src: /src/glib/girepository/giroffsets.c:199,1
    - Dst: g_warning
      Src: /src/glib/girepository/giroffsets.c:252,1
    - Dst: gi_ir_node_type_to_string
      Src: /src/glib/girepository/giroffsets.c:254,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 33
    argCount: 5
    argNames:
    - build
    - type
    - size
    - alignment
    - who
    argTypes:
    - GIIrTypelibBuild*
    - GIIrNodeType*
    - size_t*
    - size_t*
    - char*
    constantsTouched: []
    func_position:
      end: 262
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 262
    functionName: get_interface_size_alignment
    functionSourceFile: /src/glib/girepository/giroffsets.c
    functionUses: []
    functionsReached:
    - gi_ir_node_type_to_string
    - get_enum_size_alignment
    - g_warning
    - gi_ir_node_compute_offsets
    - gi_ir_find_node
    - gi_ir_module_fatal
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean get_interface_size_alignment (GIIrTypelibBuild *build,
      GIIrNodeType *type, size_t *size, size_t *alignment, const char *who) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/girepository/giroffsets.c:343,1
    - Dst: get_type_size_alignment
      Src: /src/glib/girepository/giroffsets.c:352,1
    - Dst: g_free
      Src: /src/glib/girepository/giroffsets.c:353,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 5
    argNames:
    - build
    - field
    - parent_node
    - size
    - alignment
    argTypes:
    - GIIrTypelibBuild*
    - GIIrNodeField*
    - GIIrNode*
    - size_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 356
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 356
    functionName: get_field_size_alignment
    functionSourceFile: /src/glib/girepository/giroffsets.c
    functionUses: []
    functionsReached:
    - g_free
    - g_strdup_printf
    - get_type_size_alignment
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean get_field_size_alignment (GIIrTypelibBuild *build,
      GIIrNodeField *field, GIIrNode *parent_node, size_t *size, size_t *alignment) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_field_size_alignment
      Src: /src/glib/girepository/giroffsets.c:388,1
    - Dst: GI_ALIGN
      Src: /src/glib/girepository/giroffsets.c:391,1
    - Dst: MAX
      Src: /src/glib/girepository/giroffsets.c:392,1
    - Dst: MAX
      Src: /src/glib/girepository/giroffsets.c:410,1
    - Dst: GI_ALIGN
      Src: /src/glib/girepository/giroffsets.c:409,1
    - Dst: GI_ALIGN
      Src: /src/glib/girepository/giroffsets.c:416,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 41
    argCount: 6
    argNames:
    - build
    - node
    - members
    - size_out
    - alignment_out
    - offsets_state_out
    argTypes:
    - GIIrTypelibBuild*
    - GIIrNode*
    - GList*
    - size_t*
    - size_t*
    - GIIrOffsetsState*
    constantsTouched: []
    func_position:
      end: 432
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 432
    functionName: compute_struct_field_offsets
    functionSourceFile: /src/glib/girepository/giroffsets.c
    functionUses: []
    functionsReached:
    - get_field_size_alignment
    - MAX
    - GI_ALIGN
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean compute_struct_field_offsets (GIIrTypelibBuild *build,
      GIIrNode *node, GList *members, size_t *size_out, size_t *alignment_out, GIIrOffsetsState
      *offsets_state_out) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_warning
      Src: /src/glib/girepository/giroffsets.c:502,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - build
    - node
    - offsets_state
    argTypes:
    - GIIrTypelibBuild*
    - GIIrNode*
    - GIIrOffsetsState
    constantsTouched: []
    func_position:
      end: 507
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 507
    functionName: check_needs_computation
    functionSourceFile: /src/glib/girepository/giroffsets.c
    functionUses: []
    functionsReached:
    - g_warning
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean check_needs_computation (GIIrTypelibBuild *build,
      GIIrNode *node, GIIrOffsetsState offsets_state) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: g_type_fundamental
      Src: /src/glib/girepository/ginvoke.c:49,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/girepository/ginvoke.c:49,1
    - Dst: g_assert
      Src: /src/glib/girepository/ginvoke.c:50,1
    - Dst: g_warning
      Src: /src/glib/girepository/ginvoke.c:100,1
    - Dst: g_type_name
      Src: /src/glib/girepository/ginvoke.c:100,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 104
    functionName: value_to_ffi_type
    functionSourceFile: /src/glib/girepository/ginvoke.c
    functionUses: []
    functionsReached:
    - g_warning
    - G_VALUE_TYPE
    - g_assert
    - g_type_fundamental
    - g_type_name
    linkageType: ''
    returnType: ffi_type*
    signature: 'static ffi_type *value_to_ffi_type (const GValue *gvalue, void **value) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: g_type_fundamental
      Src: /src/glib/girepository/ginvoke.c:200,1
    - Dst: g_value_set_string
      Src: /src/glib/girepository/ginvoke.c:214,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/girepository/ginvoke.c:248,1
    - Dst: g_value_set_pointer
      Src: /src/glib/girepository/ginvoke.c:226,1
    - Dst: g_value_set_int
      Src: /src/glib/girepository/ginvoke.c:202,1
    - Dst: g_value_set_ulong
      Src: /src/glib/girepository/ginvoke.c:232,1
    - Dst: g_type_name
      Src: /src/glib/girepository/ginvoke.c:248,1
    - Dst: g_value_set_double
      Src: /src/glib/girepository/ginvoke.c:208,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/girepository/ginvoke.c:200,1
    - Dst: g_value_set_float
      Src: /src/glib/girepository/ginvoke.c:205,1
    - Dst: g_value_set_boolean
      Src: /src/glib/girepository/ginvoke.c:211,1
    - Dst: g_value_set_schar
      Src: /src/glib/girepository/ginvoke.c:217,1
    - Dst: g_value_set_uchar
      Src: /src/glib/girepository/ginvoke.c:220,1
    - Dst: g_value_set_uint
      Src: /src/glib/girepository/ginvoke.c:223,1
    - Dst: g_value_set_long
      Src: /src/glib/girepository/ginvoke.c:229,1
    - Dst: g_value_set_int64
      Src: /src/glib/girepository/ginvoke.c:235,1
    - Dst: g_value_set_boxed
      Src: /src/glib/girepository/ginvoke.c:241,1
    - Dst: g_type_fundamental
      Src: /src/glib/girepository/ginvoke.c:248,1
    - Dst: g_value_set_uint64
      Src: /src/glib/girepository/ginvoke.c:238,1
    - Dst: g_warning
      Src: /src/glib/girepository/ginvoke.c:247,1
    - Dst: g_value_set_param
      Src: /src/glib/girepository/ginvoke.c:244,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 23
    argCount: 2
    argNames:
    - gvalue
    - value
    argTypes:
    - GValue*
    - GIArgument*
    constantsTouched: []
    func_position:
      end: 251
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 251
    functionName: g_value_from_ffi_value
    functionSourceFile: /src/glib/girepository/ginvoke.c
    functionUses: []
    functionsReached:
    - g_value_set_uint
    - g_value_set_int
    - g_value_set_float
    - g_value_set_param
    - g_value_set_uint64
    - g_value_set_int64
    - g_value_set_schar
    - g_warning
    - G_VALUE_TYPE
    - g_value_set_long
    - g_value_set_uchar
    - g_value_set_string
    - g_value_set_boolean
    - g_value_set_boxed
    - g_value_set_double
    - g_value_set_ulong
    - g_type_fundamental
    - g_value_set_pointer
    - g_type_name
    linkageType: ''
    returnType: void
    signature: 'static void g_value_from_ffi_value (GValue *gvalue, const GIArgument
      *value) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_VALUE_TYPE
      Src: /src/glib/girepository/ginvoke.c:287,1
    - Dst: g_alloca
      Src: /src/glib/girepository/ginvoke.c:299,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/girepository/ginvoke.c:304,1
    - Dst: g_value_to_ffi_return_type
      Src: /src/glib/girepository/ginvoke.c:289,1
    - Dst: g_alloca
      Src: /src/glib/girepository/ginvoke.c:300,1
    - Dst: value_to_ffi_type
      Src: /src/glib/girepository/ginvoke.c:306,1
    - Dst: value_to_ffi_type
      Src: /src/glib/girepository/ginvoke.c:313,1
    - Dst: value_to_ffi_type
      Src: /src/glib/girepository/ginvoke.c:325,1
    - Dst: ffi_prep_cif
      Src: /src/glib/girepository/ginvoke.c:327,1
    - Dst: ffi_call
      Src: /src/glib/girepository/ginvoke.c:330,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/girepository/ginvoke.c:332,1
    - Dst: g_value_from_ffi_value
      Src: /src/glib/girepository/ginvoke.c:333,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 51
    argCount: 6
    argNames:
    - closure
    - return_gvalue
    - n_param_values
    - param_values
    - invocation_hint
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - unsigned int
    - GValue*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 334
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 334
    functionName: gi_cclosure_marshal_generic
    functionSourceFile: /src/glib/girepository/ginvoke.c
    functionUses: []
    functionsReached:
    - g_value_to_ffi_return_type
    - value_to_ffi_type
    - G_VALUE_TYPE
    - g_alloca
    - ffi_prep_cif
    - g_value_from_ffi_value
    - G_CCLOSURE_SWAP_DATA
    - ffi_call
    linkageType: ''
    returnType: void
    signature: 'void gi_cclosure_marshal_generic (GClosure *closure, GValue *return_gvalue,
      unsigned int n_param_values, const GValue *param_values, void *invocation_hint,
      void *marshal_data) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: g_type_fundamental
      Src: /src/glib/girepository/ginvoke.c:127,1
    - Dst: g_warning
      Src: /src/glib/girepository/ginvoke.c:178,1
    - Dst: g_assert
      Src: /src/glib/girepository/ginvoke.c:128,1
    - Dst: g_type_name
      Src: /src/glib/girepository/ginvoke.c:178,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/girepository/ginvoke.c:127,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 182
    functionName: g_value_to_ffi_return_type
    functionSourceFile: /src/glib/girepository/ginvoke.c
    functionUses: []
    functionsReached:
    - g_warning
    - G_VALUE_TYPE
    - g_assert
    - g_type_fundamental
    - g_type_name
    linkageType: ''
    returnType: ffi_type*
    signature: 'static ffi_type *g_value_to_ffi_return_type (const GValue *gvalue,
      const GIArgument *ffi_value, void **value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/givalueinfo.c:62,1
    - Dst: GI_IS_VALUE_INFO
      Src: /src/glib/girepository/givalueinfo.c:63,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/givalueinfo.c:63,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIValueInfo*
    constantsTouched: []
    func_position:
      end: 71
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 71
    functionName: gi_value_info_get_value
    functionSourceFile: /src/glib/girepository/givalueinfo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - GI_IS_VALUE_INFO
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t gi_value_info_get_value (GIValueInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - g_class
    - class_data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: gi_value_info_class_init
    functionSourceFile: /src/glib/girepository/givalueinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gi_value_info_class_init (gpointer g_class, gpointer class_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - g_class
    - class_data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: gi_callback_info_class_init
    functionSourceFile: /src/glib/girepository/gicallbackinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gi_callback_info_class_init (gpointer g_class, gpointer class_data) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gisignalinfo.c:67,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gisignalinfo.c:68,1
    - Dst: GI_IS_SIGNAL_INFO
      Src: /src/glib/girepository/gisignalinfo.c:68,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 1
    argNames:
    - info
    argTypes:
    - GISignalInfo*
    constantsTouched: []
    func_position:
      end: 95
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 95
    functionName: gi_signal_info_get_flags
    functionSourceFile: /src/glib/girepository/gisignalinfo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - GI_IS_SIGNAL_INFO
    linkageType: ''
    returnType: GSignalFlags
    signature: 'GSignalFlags gi_signal_info_get_flags (GISignalInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - g_class
    - class_data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 158
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 158
    functionName: gi_signal_info_class_init
    functionSourceFile: /src/glib/girepository/gisignalinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gi_signal_info_class_init (gpointer g_class, gpointer class_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gisignalinfo.c:143,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gisignalinfo.c:144,1
    - Dst: GI_IS_SIGNAL_INFO
      Src: /src/glib/girepository/gisignalinfo.c:144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - info
    argTypes:
    - GISignalInfo*
    constantsTouched: []
    func_position:
      end: 149
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 149
    functionName: gi_signal_info_true_stops_emit
    functionSourceFile: /src/glib/girepository/gisignalinfo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - GI_IS_SIGNAL_INFO
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean gi_signal_info_true_stops_emit (GISignalInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gisignalinfo.c:116,1
    - Dst: GI_IS_SIGNAL_INFO
      Src: /src/glib/girepository/gisignalinfo.c:117,1
    - Dst: gi_interface_info_get_vfunc
      Src: /src/glib/girepository/gisignalinfo.c:122,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gisignalinfo.c:117,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 125
    functionName: gi_signal_info_get_class_closure
    functionSourceFile: /src/glib/girepository/gisignalinfo.c
    functionUses: []
    functionsReached:
    - gi_interface_info_get_vfunc
    - g_return_val_if_fail
    - GI_IS_SIGNAL_INFO
    linkageType: ''
    returnType: GIVFuncInfo*
    signature: 'GIVFuncInfo *gi_signal_info_get_class_closure (GISignalInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gifieldinfo.c:103,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gifieldinfo.c:104,1
    - Dst: GI_IS_FIELD_INFO
      Src: /src/glib/girepository/gifieldinfo.c:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIFieldInfo*
    constantsTouched: []
    func_position:
      end: 109
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 109
    functionName: gi_field_info_get_size
    functionSourceFile: /src/glib/girepository/gifieldinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_FIELD_INFO
    - g_return_val_if_fail
    linkageType: ''
    returnType: size_t
    signature: 'size_t gi_field_info_get_size (GIFieldInfo *info) '
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: gi_field_info_get_flags
      Src: /src/glib/girepository/gifieldinfo.c:199,1
    - Dst: G_STRUCT_MEMBER
      Src: /src/glib/girepository/gifieldinfo.c:207,1
    - Dst: G_STRUCT_MEMBER
      Src: /src/glib/girepository/gifieldinfo.c:235,1
    - Dst: G_STRUCT_MEMBER
      Src: /src/glib/girepository/gifieldinfo.c:240,1
    - Dst: gi_type_tag_to_string
      Src: /src/glib/girepository/gifieldinfo.c:268,1
    - Dst: gi_enum_info_get_storage_type
      Src: /src/glib/girepository/gifieldinfo.c:294,1
    - Dst: G_STRUCT_MEMBER
      Src: /src/glib/girepository/gifieldinfo.c:299,1
    - Dst: g_warning
      Src: /src/glib/girepository/gifieldinfo.c:327,1
    - Dst: gi_base_info_get_info_type
      Src: /src/glib/girepository/gifieldinfo.c:329,1
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/gifieldinfo.c:343,1
    - Dst: G_STRUCT_MEMBER_P
      Src: /src/glib/girepository/gifieldinfo.c:258,1
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/gifieldinfo.c:328,1
    - Dst: g_warning
      Src: /src/glib/girepository/gifieldinfo.c:266,1
    - Dst: G_STRUCT_MEMBER
      Src: /src/glib/girepository/gifieldinfo.c:252,1
    - Dst: GI_IS_FIELD_INFO
      Src: /src/glib/girepository/gifieldinfo.c:197,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gifieldinfo.c:197,1
    - Dst: G_STRUCT_MEMBER
      Src: /src/glib/girepository/gifieldinfo.c:248,1
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/gifieldinfo.c:216,1
    - Dst: gi_type_info_get_tag
      Src: /src/glib/girepository/gifieldinfo.c:268,1
    - Dst: gi_type_info_get_interface
      Src: /src/glib/girepository/gifieldinfo.c:275,1
    - Dst: g_warning
      Src: /src/glib/girepository/gifieldinfo.c:342,1
    - Dst: gi_base_info_get_info_type
      Src: /src/glib/girepository/gifieldinfo.c:344,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/gifieldinfo.c:350,1
    - Dst: gi_type_tag_to_string
      Src: /src/glib/girepository/gifieldinfo.c:320,1
    - Dst: gi_base_info_get_info_type
      Src: /src/glib/girepository/gifieldinfo.c:276,1
    - Dst: G_STRUCT_MEMBER
      Src: /src/glib/girepository/gifieldinfo.c:309,1
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/gifieldinfo.c:319,1
    - Dst: g_warning
      Src: /src/glib/girepository/gifieldinfo.c:318,1
    - Dst: G_STRUCT_MEMBER
      Src: /src/glib/girepository/gifieldinfo.c:304,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/gifieldinfo.c:359,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gifieldinfo.c:196,1
    - Dst: gi_field_info_get_offset
      Src: /src/glib/girepository/gifieldinfo.c:202,1
    - Dst: gi_field_info_get_type_info
      Src: /src/glib/girepository/gifieldinfo.c:203,1
    - Dst: gi_type_info_is_pointer
      Src: /src/glib/girepository/gifieldinfo.c:205,1
    - Dst: gi_type_info_get_tag
      Src: /src/glib/girepository/gifieldinfo.c:212,1
    - Dst: g_warning
      Src: /src/glib/girepository/gifieldinfo.c:215,1
    - Dst: G_STRUCT_MEMBER
      Src: /src/glib/girepository/gifieldinfo.c:229,1
    - Dst: G_STRUCT_MEMBER
      Src: /src/glib/girepository/gifieldinfo.c:219,1
    - Dst: G_STRUCT_MEMBER
      Src: /src/glib/girepository/gifieldinfo.c:224,1
    - Dst: G_STRUCT_MEMBER
      Src: /src/glib/girepository/gifieldinfo.c:244,1
    - Dst: G_STRUCT_MEMBER
      Src: /src/glib/girepository/gifieldinfo.c:314,1
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/gifieldinfo.c:267,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 85
    argCount: 3
    argNames:
    - field_info
    - mem
    - value
    argTypes:
    - GIFieldInfo*
    - void*
    - GIArgument*
    constantsTouched: []
    func_position:
      end: 362
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 362
    functionName: gi_field_info_get_field
    functionSourceFile: /src/glib/girepository/gifieldinfo.c
    functionUses: []
    functionsReached:
    - gi_type_info_is_pointer
    - gi_type_tag_to_string
    - gi_field_info_get_offset
    - g_return_val_if_fail
    - g_warning
    - gi_type_info_get_interface
    - gi_base_info_unref
    - gi_field_info_get_type_info
    - gi_base_info_get_info_type
    - G_STRUCT_MEMBER
    - G_STRUCT_MEMBER_P
    - gi_enum_info_get_storage_type
    - gi_type_info_get_tag
    - GI_IS_FIELD_INFO
    - gi_base_info_get_name
    - gi_field_info_get_flags
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean gi_field_info_get_field (GIFieldInfo *field_info, void *mem,
      GIArgument *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gifieldinfo.c:127,1
    - Dst: GI_IS_FIELD_INFO
      Src: /src/glib/girepository/gifieldinfo.c:128,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gifieldinfo.c:128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIFieldInfo*
    constantsTouched: []
    func_position:
      end: 133
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 133
    functionName: gi_field_info_get_offset
    functionSourceFile: /src/glib/girepository/gifieldinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_FIELD_INFO
    - g_return_val_if_fail
    linkageType: ''
    returnType: size_t
    signature: 'size_t gi_field_info_get_offset (GIFieldInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - g_class
    - class_data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 574
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 574
    functionName: gi_field_info_class_init
    functionSourceFile: /src/glib/girepository/gifieldinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gi_field_info_class_init (gpointer g_class, gpointer class_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gifieldinfo.c:71,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gifieldinfo.c:72,1
    - Dst: GI_IS_FIELD_INFO
      Src: /src/glib/girepository/gifieldinfo.c:72,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIFieldInfo*
    constantsTouched: []
    func_position:
      end: 85
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 85
    functionName: gi_field_info_get_flags
    functionSourceFile: /src/glib/girepository/gifieldinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_FIELD_INFO
    - g_return_val_if_fail
    linkageType: ''
    returnType: GIFieldInfoFlags
    signature: 'GIFieldInfoFlags gi_field_info_get_flags (GIFieldInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gifieldinfo.c:153,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gifieldinfo.c:154,1
    - Dst: GI_IS_FIELD_INFO
      Src: /src/glib/girepository/gifieldinfo.c:154,1
    - Dst: gi_type_info_new
      Src: /src/glib/girepository/gifieldinfo.c:166,1
    - Dst: gi_base_info_new
      Src: /src/glib/girepository/gifieldinfo.c:160,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/girepository/gifieldinfo.c:166,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 169
    functionName: gi_field_info_get_type_info
    functionSourceFile: /src/glib/girepository/gifieldinfo.c
    functionUses: []
    functionsReached:
    - G_STRUCT_OFFSET
    - g_return_val_if_fail
    - gi_type_info_new
    - gi_base_info_new
    - GI_IS_FIELD_INFO
    linkageType: ''
    returnType: GITypeInfo*
    signature: 'GITypeInfo *gi_field_info_get_type_info (GIFieldInfo *info) '
  - BBCount: 59
    BranchProfiles: []
    Callsites:
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/gifieldinfo.c:406,1
    - Dst: g_warning
      Src: /src/glib/girepository/gifieldinfo.c:451,1
    - Dst: G_STRUCT_MEMBER
      Src: /src/glib/girepository/gifieldinfo.c:430,1
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/gifieldinfo.c:452,1
    - Dst: gi_type_tag_to_string
      Src: /src/glib/girepository/gifieldinfo.c:453,1
    - Dst: G_STRUCT_MEMBER
      Src: /src/glib/girepository/gifieldinfo.c:484,1
    - Dst: g_warning
      Src: /src/glib/girepository/gifieldinfo.c:498,1
    - Dst: gi_type_tag_to_string
      Src: /src/glib/girepository/gifieldinfo.c:500,1
    - Dst: g_warning
      Src: /src/glib/girepository/gifieldinfo.c:523,1
    - Dst: gi_base_info_get_info_type
      Src: /src/glib/girepository/gifieldinfo.c:525,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gifieldinfo.c:391,1
    - Dst: gi_field_info_get_offset
      Src: /src/glib/girepository/gifieldinfo.c:397,1
    - Dst: gi_field_info_get_type_info
      Src: /src/glib/girepository/gifieldinfo.c:398,1
    - Dst: gi_type_info_is_pointer
      Src: /src/glib/girepository/gifieldinfo.c:400,1
    - Dst: G_STRUCT_MEMBER
      Src: /src/glib/girepository/gifieldinfo.c:425,1
    - Dst: G_STRUCT_MEMBER
      Src: /src/glib/girepository/gifieldinfo.c:438,1
    - Dst: gi_enum_info_get_storage_type
      Src: /src/glib/girepository/gifieldinfo.c:474,1
    - Dst: G_STRUCT_MEMBER
      Src: /src/glib/girepository/gifieldinfo.c:479,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/gifieldinfo.c:554,1
    - Dst: G_STRUCT_MEMBER
      Src: /src/glib/girepository/gifieldinfo.c:419,1
    - Dst: gi_field_info_get_flags
      Src: /src/glib/girepository/gifieldinfo.c:394,1
    - Dst: gi_type_info_get_tag
      Src: /src/glib/girepository/gifieldinfo.c:453,1
    - Dst: gi_type_info_get_interface
      Src: /src/glib/girepository/gifieldinfo.c:460,1
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/gifieldinfo.c:509,1
    - Dst: gi_type_info_get_tag
      Src: /src/glib/girepository/gifieldinfo.c:539,1
    - Dst: gi_base_info_get_info_type
      Src: /src/glib/girepository/gifieldinfo.c:544,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/gifieldinfo.c:562,1
    - Dst: G_STRUCT_MEMBER
      Src: /src/glib/girepository/gifieldinfo.c:414,1
    - Dst: G_STRUCT_MEMBER
      Src: /src/glib/girepository/gifieldinfo.c:434,1
    - Dst: gi_type_info_get_interface
      Src: /src/glib/girepository/gifieldinfo.c:543,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gifieldinfo.c:392,1
    - Dst: GI_IS_FIELD_INFO
      Src: /src/glib/girepository/gifieldinfo.c:392,1
    - Dst: gi_type_info_get_tag
      Src: /src/glib/girepository/gifieldinfo.c:402,1
    - Dst: g_warning
      Src: /src/glib/girepository/gifieldinfo.c:405,1
    - Dst: gi_base_info_get_info_type
      Src: /src/glib/girepository/gifieldinfo.c:461,1
    - Dst: G_STRUCT_MEMBER
      Src: /src/glib/girepository/gifieldinfo.c:494,1
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/gifieldinfo.c:499,1
    - Dst: g_warning
      Src: /src/glib/girepository/gifieldinfo.c:508,1
    - Dst: gi_base_info_get_info_type
      Src: /src/glib/girepository/gifieldinfo.c:510,1
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/gifieldinfo.c:524,1
    - Dst: G_STRUCT_MEMBER
      Src: /src/glib/girepository/gifieldinfo.c:409,1
    - Dst: G_STRUCT_MEMBER
      Src: /src/glib/girepository/gifieldinfo.c:442,1
    - Dst: G_STRUCT_MEMBER
      Src: /src/glib/girepository/gifieldinfo.c:489,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/gifieldinfo.c:531,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 87
    argCount: 3
    argNames:
    - field_info
    - mem
    - value
    argTypes:
    - GIFieldInfo*
    - void*
    - GIArgument*
    constantsTouched: []
    func_position:
      end: 565
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 565
    functionName: gi_field_info_set_field
    functionSourceFile: /src/glib/girepository/gifieldinfo.c
    functionUses: []
    functionsReached:
    - gi_type_info_is_pointer
    - gi_type_tag_to_string
    - gi_field_info_get_offset
    - g_return_val_if_fail
    - g_warning
    - gi_type_info_get_interface
    - gi_base_info_unref
    - gi_field_info_get_type_info
    - gi_base_info_get_info_type
    - G_STRUCT_MEMBER
    - gi_enum_info_get_storage_type
    - gi_type_info_get_tag
    - GI_IS_FIELD_INFO
    - gi_base_info_get_name
    - gi_field_info_get_flags
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean gi_field_info_set_field (GIFieldInfo *field_info, void *mem,
      const GIArgument *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: _GIBaseInfoClass
    functionSourceFile: /src/glib/girepository/gibaseinfo-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: G_BEGIN_DECLS
    signature: 'G_BEGIN_DECLS struct _GIBaseInfoClass '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: signature_offset
      Src: /src/glib/girepository/gicallableinfo.c:494,1
    - Dst: gi_typelib_get_string
      Src: /src/glib/girepository/gicallableinfo.c:505,1
    - Dst: _attribute_blob_find_first
      Src: /src/glib/girepository/gicallableinfo.c:499,1
    - Dst: gi_typelib_get_string
      Src: /src/glib/girepository/gicallableinfo.c:504,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 21
    argCount: 4
    argNames:
    - info
    - iterator
    - name
    - value
    argTypes:
    - GICallableInfo*
    - GIAttributeIter*
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 509
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 509
    functionName: gi_callable_info_iterate_return_attributes
    functionSourceFile: /src/glib/girepository/gicallableinfo.c
    functionUses: []
    functionsReached:
    - signature_offset
    - gi_typelib_get_string
    - _attribute_blob_find_first
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean gi_callable_info_iterate_return_attributes (GICallableInfo
      *info, GIAttributeIter *iterator, const char **name, const char **value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - g_class
    - class_data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 850
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 850
    functionName: gi_callable_info_class_init
    functionSourceFile: /src/glib/girepository/gicallableinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gi_callable_info_class_init (gpointer g_class, gpointer class_data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gi_base_info_get_info_type
      Src: /src/glib/girepository/gicallableinfo.c:1023,1
    - Dst: GET_BLOB
      Src: /src/glib/girepository/gicallableinfo.c:1031,1
    - Dst: g_assert_not_reached
      Src: /src/glib/girepository/gicallableinfo.c:1037,1
    - Dst: GET_BLOB
      Src: /src/glib/girepository/gicallableinfo.c:1027,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 1
    argNames:
    - callable_info
    argTypes:
    - GICallableInfo*
    constantsTouched: []
    func_position:
      end: 1039
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1039
    functionName: gi_callable_info_is_async
    functionSourceFile: /src/glib/girepository/gicallableinfo.c
    functionUses: []
    functionsReached:
    - GET_BLOB
    - gi_base_info_get_info_type
    - g_assert_not_reached
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean gi_callable_info_is_async (GICallableInfo *callable_info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/girepository/gicallableinfo.c:858,1
    - Dst: GI_IS_INTERFACE_INFO
      Src: /src/glib/girepository/gicallableinfo.c:863,1
    - Dst: gi_interface_info_get_method
      Src: /src/glib/girepository/gicallableinfo.c:864,1
    - Dst: gi_object_info_get_method
      Src: /src/glib/girepository/gicallableinfo.c:861,1
    - Dst: GI_IS_OBJECT_INFO
      Src: /src/glib/girepository/gicallableinfo.c:860,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 868
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 868
    functionName: get_method_callable_info_for_index
    functionSourceFile: /src/glib/girepository/gicallableinfo.c
    functionUses: []
    functionsReached:
    - g_assert
    - GI_IS_INTERFACE_INFO
    - gi_object_info_get_method
    - gi_interface_info_get_method
    - GI_IS_OBJECT_INFO
    linkageType: ''
    returnType: GICallableInfo*
    signature: 'static GICallableInfo *get_method_callable_info_for_index (GIBaseInfo
      *rinfo, unsigned int index) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gicallableinfo.c:299,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gicallableinfo.c:300,1
    - Dst: signature_offset
      Src: /src/glib/girepository/gicallableinfo.c:302,1
    - Dst: GI_IS_CALLABLE_INFO
      Src: /src/glib/girepository/gicallableinfo.c:300,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - info
    argTypes:
    - GICallableInfo*
    constantsTouched: []
    func_position:
      end: 310
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 310
    functionName: gi_callable_info_get_caller_owns
    functionSourceFile: /src/glib/girepository/gicallableinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_CALLABLE_INFO
    - signature_offset
    - g_return_val_if_fail
    linkageType: ''
    returnType: GITransfer
    signature: 'GITransfer gi_callable_info_get_caller_owns (GICallableInfo *info) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gi_callable_info_get_return_type
      Src: /src/glib/girepository/gicallableinfo.c:672,1
    - Dst: gi_callable_info_is_method
      Src: /src/glib/girepository/gicallableinfo.c:675,1
    - Dst: gi_type_info_get_ffi_type
      Src: /src/glib/girepository/gicallableinfo.c:673,1
    - Dst: gi_type_info_get_tag
      Src: /src/glib/girepository/gicallableinfo.c:674,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/gicallableinfo.c:737,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/gicallableinfo.c:720,1
    - Dst: g_alloca
      Src: /src/glib/girepository/gicallableinfo.c:702,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/gicallableinfo.c:753,1
    - Dst: gi_arg_info_get_type_info
      Src: /src/glib/girepository/gicallableinfo.c:717,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gicallableinfo.c:766,1
    - Dst: g_propagate_error
      Src: /src/glib/girepository/gicallableinfo.c:830,1
    - Dst: gi_type_info_extract_ffi_return_value
      Src: /src/glib/girepository/gicallableinfo.c:835,1
    - Dst: gi_callable_info_can_throw_gerror
      Src: /src/glib/girepository/gicallableinfo.c:676,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gicallableinfo.c:686,1
    - Dst: gi_callable_info_get_arg
      Src: /src/glib/girepository/gicallableinfo.c:713,1
    - Dst: gi_arg_info_get_direction
      Src: /src/glib/girepository/gicallableinfo.c:714,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gicallableinfo.c:741,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gicallableinfo.c:724,1
    - Dst: g_assert_not_reached
      Src: /src/glib/girepository/gicallableinfo.c:779,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gicallableinfo.c:791,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gicallableinfo.c:809,1
    - Dst: ffi_call
      Src: /src/glib/girepository/gicallableinfo.c:826,1
    - Dst: gi_callable_info_get_n_args
      Src: /src/glib/girepository/gicallableinfo.c:681,1
    - Dst: g_alloca
      Src: /src/glib/girepository/gicallableinfo.c:703,1
    - Dst: gi_type_info_get_ffi_type
      Src: /src/glib/girepository/gicallableinfo.c:718,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/gicallableinfo.c:719,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gicallableinfo.c:757,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/gicallableinfo.c:778,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gicallableinfo.c:799,1
    - Dst: ffi_prep_cif
      Src: /src/glib/girepository/gicallableinfo.c:806,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/gicallableinfo.c:839,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 98
    argCount: 8
    argNames:
    - info
    - function
    - in_args
    - n_in_args
    - out_args
    - n_out_args
    - return_value
    - error
    argTypes:
    - GICallableInfo*
    - void*
    - GIArgument*
    - size_t
    - GIArgument*
    - size_t
    - GIArgument*
    - GError**
    constantsTouched: []
    func_position:
      end: 841
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 841
    functionName: gi_callable_info_invoke
    functionSourceFile: /src/glib/girepository/gicallableinfo.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_propagate_error
    - gi_callable_info_get_n_args
    - gi_callable_info_get_arg
    - g_return_val_if_fail
    - gi_base_info_unref
    - gi_arg_info_get_type_info
    - gi_arg_info_get_direction
    - gi_callable_info_can_throw_gerror
    - g_alloca
    - gi_callable_info_is_method
    - gi_callable_info_get_return_type
    - g_assert_not_reached
    - ffi_prep_cif
    - gi_type_info_get_ffi_type
    - gi_type_info_get_tag
    - gi_type_info_extract_ffi_return_value
    - ffi_call
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean gi_callable_info_invoke (GICallableInfo *info, void *function,
      const GIArgument *in_args, size_t n_in_args, GIArgument *out_args, size_t n_out_args,
      GIArgument *return_value, GError **error) '
  - BBCount: 16
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 18
    argCount: 4
    argNames:
    - return_tag
    - interface_type
    - ffi_value
    - arg
    argTypes:
    - GITypeTag
    - GType
    - GIFFIReturnValue*
    - GIArgument*
    constantsTouched: []
    func_position:
      end: 583
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 583
    functionName: gi_type_tag_extract_ffi_return_value
    functionSourceFile: /src/glib/girepository/gicallableinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gi_type_tag_extract_ffi_return_value (GITypeTag return_tag, GType
      interface_type, GIFFIReturnValue *ffi_value, GIArgument *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gi_type_info_get_tag
      Src: /src/glib/girepository/gicallableinfo.c:608,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/girepository/gicallableinfo.c:614,1
    - Dst: gi_type_tag_extract_ffi_return_value
      Src: /src/glib/girepository/gicallableinfo.c:618,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/gicallableinfo.c:615,1
    - Dst: gi_type_info_get_interface
      Src: /src/glib/girepository/gicallableinfo.c:613,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - return_info
    - ffi_value
    - arg
    argTypes:
    - GITypeInfo*
    - GIFFIReturnValue*
    - GIArgument*
    constantsTouched: []
    func_position:
      end: 620
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 620
    functionName: gi_type_info_extract_ffi_return_value
    functionSourceFile: /src/glib/girepository/gicallableinfo.c
    functionUses: []
    functionsReached:
    - gi_type_info_get_interface
    - gi_base_info_unref
    - G_TYPE_FROM_INSTANCE
    - gi_type_tag_extract_ffi_return_value
    - gi_type_info_get_tag
    linkageType: ''
    returnType: void
    signature: 'void gi_type_info_extract_ffi_return_value (GITypeInfo *return_info,
      GIFFIReturnValue *ffi_value, GIArgument *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/girepository/gicallableinfo.c:228,1
    - Dst: GI_IS_CALLABLE_INFO
      Src: /src/glib/girepository/gicallableinfo.c:229,1
    - Dst: gi_type_info_init
      Src: /src/glib/girepository/gicallableinfo.c:233,1
    - Dst: g_return_if_fail
      Src: /src/glib/girepository/gicallableinfo.c:229,1
    - Dst: signature_offset
      Src: /src/glib/girepository/gicallableinfo.c:231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - info
    - type
    argTypes:
    - GICallableInfo*
    - GITypeInfo*
    constantsTouched: []
    func_position:
      end: 234
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 234
    functionName: gi_callable_info_load_return_type
    functionSourceFile: /src/glib/girepository/gicallableinfo.c
    functionUses: []
    functionsReached:
    - signature_offset
    - GI_IS_CALLABLE_INFO
    - gi_type_info_init
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void gi_callable_info_load_return_type (GICallableInfo *info, GITypeInfo
      *type) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gi_base_info_get_info_type
      Src: /src/glib/girepository/gicallableinfo.c:156,1
    - Dst: g_assert_not_reached
      Src: /src/glib/girepository/gicallableinfo.c:174,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 12
    argCount: 1
    argNames:
    - info
    argTypes:
    - GICallableInfo*
    constantsTouched: []
    func_position:
      end: 176
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 176
    functionName: gi_callable_info_is_method
    functionSourceFile: /src/glib/girepository/gicallableinfo.c
    functionUses: []
    functionsReached:
    - gi_base_info_get_info_type
    - g_assert_not_reached
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean gi_callable_info_is_method (GICallableInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gicallableinfo.c:251,1
    - Dst: signature_offset
      Src: /src/glib/girepository/gicallableinfo.c:254,1
    - Dst: GI_IS_CALLABLE_INFO
      Src: /src/glib/girepository/gicallableinfo.c:252,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gicallableinfo.c:252,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - info
    argTypes:
    - GICallableInfo*
    constantsTouched: []
    func_position:
      end: 257
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 257
    functionName: gi_callable_info_may_return_null
    functionSourceFile: /src/glib/girepository/gicallableinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_CALLABLE_INFO
    - signature_offset
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean gi_callable_info_may_return_null (GICallableInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/girepository/gicallableinfo.c:421,1
    - Dst: signature_offset
      Src: /src/glib/girepository/gicallableinfo.c:425,1
    - Dst: g_return_if_fail
      Src: /src/glib/girepository/gicallableinfo.c:422,1
    - Dst: g_return_if_fail
      Src: /src/glib/girepository/gicallableinfo.c:423,1
    - Dst: GI_IS_CALLABLE_INFO
      Src: /src/glib/girepository/gicallableinfo.c:422,1
    - Dst: gi_info_init
      Src: /src/glib/girepository/gicallableinfo.c:428,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - info
    - n
    - arg
    argTypes:
    - GICallableInfo*
    - unsigned int
    - GIArgInfo*
    constantsTouched: []
    func_position:
      end: 430
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 430
    functionName: gi_callable_info_load_arg
    functionSourceFile: /src/glib/girepository/gicallableinfo.c
    functionUses: []
    functionsReached:
    - signature_offset
    - GI_IS_CALLABLE_INFO
    - gi_info_init
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void gi_callable_info_load_arg (GICallableInfo *info, unsigned int
      n, GIArgInfo *arg) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gi_base_info_get_info_type
      Src: /src/glib/girepository/gicallableinfo.c:983,1
    - Dst: GET_BLOB
      Src: /src/glib/girepository/gicallableinfo.c:995,1
    - Dst: GET_BLOB
      Src: /src/glib/girepository/gicallableinfo.c:987,1
    - Dst: get_method_callable_info_for_index
      Src: /src/glib/girepository/gicallableinfo.c:999,1
    - Dst: get_callable_info_for_index
      Src: /src/glib/girepository/gicallableinfo.c:991,1
    - Dst: g_assert_not_reached
      Src: /src/glib/girepository/gicallableinfo.c:1005,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 1007
    functionName: gi_callable_info_get_finish_function
    functionSourceFile: /src/glib/girepository/gicallableinfo.c
    functionUses: []
    functionsReached:
    - get_method_callable_info_for_index
    - GET_BLOB
    - gi_base_info_get_info_type
    - g_assert_not_reached
    - get_callable_info_for_index
    linkageType: ''
    returnType: GICallableInfo*
    signature: 'GICallableInfo *gi_callable_info_get_finish_function (GICallableInfo
      *info) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gi_base_info_get_info_type
      Src: /src/glib/girepository/gicallableinfo.c:64,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/girepository/gicallableinfo.c:76,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/girepository/gicallableinfo.c:67,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/girepository/gicallableinfo.c:73,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/girepository/gicallableinfo.c:70,1
    - Dst: g_assert_not_reached
      Src: /src/glib/girepository/gicallableinfo.c:79,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 1
    argNames:
    - info
    argTypes:
    - GICallableInfo*
    constantsTouched: []
    func_position:
      end: 84
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 84
    functionName: signature_offset
    functionSourceFile: /src/glib/girepository/gicallableinfo.c
    functionUses: []
    functionsReached:
    - G_STRUCT_OFFSET
    - gi_base_info_get_info_type
    - g_assert_not_reached
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t signature_offset (GICallableInfo *info) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: signature_offset
      Src: /src/glib/girepository/gicallableinfo.c:101,1
    - Dst: g_assert_not_reached
      Src: /src/glib/girepository/gicallableinfo.c:127,1
    - Dst: gi_base_info_get_info_type
      Src: /src/glib/girepository/gicallableinfo.c:110,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 10
    argCount: 1
    argNames:
    - info
    argTypes:
    - GICallableInfo*
    constantsTouched: []
    func_position:
      end: 129
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 129
    functionName: gi_callable_info_can_throw_gerror
    functionSourceFile: /src/glib/girepository/gicallableinfo.c
    functionUses: []
    functionsReached:
    - signature_offset
    - gi_base_info_get_info_type
    - g_assert_not_reached
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean gi_callable_info_can_throw_gerror (GICallableInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gicallableinfo.c:197,1
    - Dst: gi_type_info_new
      Src: /src/glib/girepository/gicallableinfo.c:202,1
    - Dst: GI_IS_CALLABLE_INFO
      Src: /src/glib/girepository/gicallableinfo.c:198,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gicallableinfo.c:198,1
    - Dst: signature_offset
      Src: /src/glib/girepository/gicallableinfo.c:200,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 203
    functionName: gi_callable_info_get_return_type
    functionSourceFile: /src/glib/girepository/gicallableinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_CALLABLE_INFO
    - signature_offset
    - g_return_val_if_fail
    - gi_type_info_new
    linkageType: ''
    returnType: GITypeInfo*
    signature: 'GITypeInfo *gi_callable_info_get_return_type (GICallableInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gicallableinfo.c:329,1
    - Dst: signature_offset
      Src: /src/glib/girepository/gicallableinfo.c:332,1
    - Dst: GI_IS_CALLABLE_INFO
      Src: /src/glib/girepository/gicallableinfo.c:330,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gicallableinfo.c:330,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - info
    argTypes:
    - GICallableInfo*
    constantsTouched: []
    func_position:
      end: 338
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 338
    functionName: gi_callable_info_get_instance_ownership_transfer
    functionSourceFile: /src/glib/girepository/gicallableinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_CALLABLE_INFO
    - signature_offset
    - g_return_val_if_fail
    linkageType: ''
    returnType: GITransfer
    signature: 'GITransfer gi_callable_info_get_instance_ownership_transfer (GICallableInfo
      *info) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gi_base_info_get_info_type
      Src: /src/glib/girepository/gicallableinfo.c:942,1
    - Dst: GET_BLOB
      Src: /src/glib/girepository/gicallableinfo.c:946,1
    - Dst: get_method_callable_info_for_index
      Src: /src/glib/girepository/gicallableinfo.c:958,1
    - Dst: get_callable_info_for_index
      Src: /src/glib/girepository/gicallableinfo.c:950,1
    - Dst: GET_BLOB
      Src: /src/glib/girepository/gicallableinfo.c:954,1
    - Dst: g_assert_not_reached
      Src: /src/glib/girepository/gicallableinfo.c:964,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 966
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 966
    functionName: gi_callable_info_get_sync_function
    functionSourceFile: /src/glib/girepository/gicallableinfo.c
    functionUses: []
    functionsReached:
    - get_method_callable_info_for_index
    - GET_BLOB
    - gi_base_info_get_info_type
    - g_assert_not_reached
    - get_callable_info_for_index
    linkageType: ''
    returnType: GICallableInfo*
    signature: 'GICallableInfo *gi_callable_info_get_sync_function (GICallableInfo
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gicallableinfo.c:384,1
    - Dst: signature_offset
      Src: /src/glib/girepository/gicallableinfo.c:388,1
    - Dst: GI_IS_CALLABLE_INFO
      Src: /src/glib/girepository/gicallableinfo.c:385,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gicallableinfo.c:385,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gicallableinfo.c:386,1
    - Dst: gi_base_info_new
      Src: /src/glib/girepository/gicallableinfo.c:391,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 393
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 393
    functionName: gi_callable_info_get_arg
    functionSourceFile: /src/glib/girepository/gicallableinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_CALLABLE_INFO
    - signature_offset
    - gi_base_info_new
    - g_return_val_if_fail
    linkageType: ''
    returnType: GIArgInfo*
    signature: 'GIArgInfo *gi_callable_info_get_arg (GICallableInfo *info, unsigned
      int n) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gi_base_info_get_info_type
      Src: /src/glib/girepository/gicallableinfo.c:901,1
    - Dst: GET_BLOB
      Src: /src/glib/girepository/gicallableinfo.c:905,1
    - Dst: get_method_callable_info_for_index
      Src: /src/glib/girepository/gicallableinfo.c:917,1
    - Dst: get_callable_info_for_index
      Src: /src/glib/girepository/gicallableinfo.c:909,1
    - Dst: GET_BLOB
      Src: /src/glib/girepository/gicallableinfo.c:913,1
    - Dst: g_assert_not_reached
      Src: /src/glib/girepository/gicallableinfo.c:923,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 925
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 925
    functionName: gi_callable_info_get_async_function
    functionSourceFile: /src/glib/girepository/gicallableinfo.c
    functionUses: []
    functionsReached:
    - get_method_callable_info_for_index
    - GET_BLOB
    - gi_base_info_get_info_type
    - g_assert_not_reached
    - get_callable_info_for_index
    linkageType: ''
    returnType: GICallableInfo*
    signature: 'GICallableInfo *gi_callable_info_get_async_function (GICallableInfo
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gicallableinfo.c:274,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gicallableinfo.c:275,1
    - Dst: signature_offset
      Src: /src/glib/girepository/gicallableinfo.c:277,1
    - Dst: GI_IS_CALLABLE_INFO
      Src: /src/glib/girepository/gicallableinfo.c:275,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - info
    argTypes:
    - GICallableInfo*
    constantsTouched: []
    func_position:
      end: 280
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 280
    functionName: gi_callable_info_skip_return
    functionSourceFile: /src/glib/girepository/gicallableinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_CALLABLE_INFO
    - signature_offset
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean gi_callable_info_skip_return (GICallableInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gicallableinfo.c:356,1
    - Dst: signature_offset
      Src: /src/glib/girepository/gicallableinfo.c:359,1
    - Dst: GI_IS_CALLABLE_INFO
      Src: /src/glib/girepository/gicallableinfo.c:357,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gicallableinfo.c:357,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - info
    argTypes:
    - GICallableInfo*
    constantsTouched: []
    func_position:
      end: 363
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 363
    functionName: gi_callable_info_get_n_args
    functionSourceFile: /src/glib/girepository/gicallableinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_CALLABLE_INFO
    - signature_offset
    - g_return_val_if_fail
    linkageType: ''
    returnType: unsigned int
    signature: 'unsigned int gi_callable_info_get_n_args (GICallableInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gi_callable_info_iterate_return_attributes
      Src: /src/glib/girepository/gicallableinfo.c:449,1
    - Dst: g_strcmp0
      Src: /src/glib/girepository/gicallableinfo.c:451,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 456
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 456
    functionName: gi_callable_info_get_return_attribute
    functionSourceFile: /src/glib/girepository/gicallableinfo.c
    functionUses: []
    functionsReached:
    - gi_callable_info_iterate_return_attributes
    - g_strcmp0
    linkageType: ''
    returnType: char*
    signature: 'const char *gi_callable_info_get_return_attribute (GICallableInfo
      *info, const char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gi_info_from_entry
      Src: /src/glib/girepository/gicallableinfo.c:876,1
    - Dst: GI_IS_CALLABLE_INFO
      Src: /src/glib/girepository/gicallableinfo.c:878,1
    - Dst: get_method_callable_info_for_index
      Src: /src/glib/girepository/gicallableinfo.c:883,1
    - Dst: g_assert
      Src: /src/glib/girepository/gicallableinfo.c:878,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 884
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 884
    functionName: get_callable_info_for_index
    functionSourceFile: /src/glib/girepository/gicallableinfo.c
    functionUses: []
    functionsReached:
    - g_assert
    - GI_IS_CALLABLE_INFO
    - get_method_callable_info_for_index
    - gi_info_from_entry
    linkageType: ''
    returnType: GICallableInfo*
    signature: 'static GICallableInfo *get_callable_info_for_index (GIBaseInfo *rinfo,
      unsigned int index) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giarginfo.c:173,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giarginfo.c:174,1
    - Dst: GI_IS_ARG_INFO
      Src: /src/glib/girepository/giarginfo.c:174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIArgInfo*
    constantsTouched: []
    func_position:
      end: 179
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 179
    functionName: gi_arg_info_may_be_null
    functionSourceFile: /src/glib/girepository/giarginfo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - GI_IS_ARG_INFO
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean gi_arg_info_may_be_null (GIArgInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giarginfo.c:145,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giarginfo.c:146,1
    - Dst: GI_IS_ARG_INFO
      Src: /src/glib/girepository/giarginfo.c:146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIArgInfo*
    constantsTouched: []
    func_position:
      end: 151
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 151
    functionName: gi_arg_info_is_optional
    functionSourceFile: /src/glib/girepository/giarginfo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - GI_IS_ARG_INFO
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean gi_arg_info_is_optional (GIArgInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giarginfo.c:91,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giarginfo.c:92,1
    - Dst: GI_IS_ARG_INFO
      Src: /src/glib/girepository/giarginfo.c:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIArgInfo*
    constantsTouched: []
    func_position:
      end: 97
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 97
    functionName: gi_arg_info_is_return_value
    functionSourceFile: /src/glib/girepository/giarginfo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - GI_IS_ARG_INFO
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean gi_arg_info_is_return_value (GIArgInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giarginfo.c:253,1
    - Dst: GI_IS_ARG_INFO
      Src: /src/glib/girepository/giarginfo.c:254,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giarginfo.c:254,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIArgInfo*
    constantsTouched: []
    func_position:
      end: 259
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 259
    functionName: gi_arg_info_get_scope
    functionSourceFile: /src/glib/girepository/giarginfo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - GI_IS_ARG_INFO
    linkageType: ''
    returnType: GIScopeType
    signature: 'GIScopeType gi_arg_info_get_scope (GIArgInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giarginfo.c:311,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giarginfo.c:312,1
    - Dst: GI_IS_ARG_INFO
      Src: /src/glib/girepository/giarginfo.c:312,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - info
    - out_destroy_index
    argTypes:
    - GIArgInfo*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 321
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 321
    functionName: gi_arg_info_get_destroy_index
    functionSourceFile: /src/glib/girepository/giarginfo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - GI_IS_ARG_INFO
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean gi_arg_info_get_destroy_index (GIArgInfo *info, unsigned
      int *out_destroy_index) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giarginfo.c:339,1
    - Dst: gi_type_info_new
      Src: /src/glib/girepository/giarginfo.c:342,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/girepository/giarginfo.c:342,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giarginfo.c:340,1
    - Dst: GI_IS_ARG_INFO
      Src: /src/glib/girepository/giarginfo.c:340,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 343
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 343
    functionName: gi_arg_info_get_type_info
    functionSourceFile: /src/glib/girepository/giarginfo.c
    functionUses: []
    functionsReached:
    - G_STRUCT_OFFSET
    - g_return_val_if_fail
    - GI_IS_ARG_INFO
    - gi_type_info_new
    linkageType: ''
    returnType: GITypeInfo*
    signature: 'GITypeInfo *gi_arg_info_get_type_info (GIArgInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - g_class
    - class_data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 380
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 380
    functionName: gi_arg_info_class_init
    functionSourceFile: /src/glib/girepository/giarginfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gi_arg_info_class_init (gpointer g_class, gpointer class_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giarginfo.c:62,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giarginfo.c:63,1
    - Dst: GI_IS_ARG_INFO
      Src: /src/glib/girepository/giarginfo.c:63,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIArgInfo*
    constantsTouched: []
    func_position:
      end: 73
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 73
    functionName: gi_arg_info_get_direction
    functionSourceFile: /src/glib/girepository/giarginfo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - GI_IS_ARG_INFO
    linkageType: ''
    returnType: GIDirection
    signature: 'GIDirection gi_arg_info_get_direction (GIArgInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giarginfo.c:119,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giarginfo.c:120,1
    - Dst: GI_IS_ARG_INFO
      Src: /src/glib/girepository/giarginfo.c:120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIArgInfo*
    constantsTouched: []
    func_position:
      end: 125
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 125
    functionName: gi_arg_info_is_caller_allocates
    functionSourceFile: /src/glib/girepository/giarginfo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - GI_IS_ARG_INFO
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean gi_arg_info_is_caller_allocates (GIArgInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giarginfo.c:196,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giarginfo.c:197,1
    - Dst: GI_IS_ARG_INFO
      Src: /src/glib/girepository/giarginfo.c:197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIArgInfo*
    constantsTouched: []
    func_position:
      end: 202
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 202
    functionName: gi_arg_info_is_skip
    functionSourceFile: /src/glib/girepository/giarginfo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - GI_IS_ARG_INFO
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean gi_arg_info_is_skip (GIArgInfo *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giarginfo.c:220,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giarginfo.c:221,1
    - Dst: GI_IS_ARG_INFO
      Src: /src/glib/girepository/giarginfo.c:221,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIArgInfo*
    constantsTouched: []
    func_position:
      end: 231
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 231
    functionName: gi_arg_info_get_ownership_transfer
    functionSourceFile: /src/glib/girepository/giarginfo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - GI_IS_ARG_INFO
    linkageType: ''
    returnType: GITransfer
    signature: 'GITransfer gi_arg_info_get_ownership_transfer (GIArgInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giarginfo.c:280,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giarginfo.c:281,1
    - Dst: GI_IS_ARG_INFO
      Src: /src/glib/girepository/giarginfo.c:281,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - info
    - out_closure_index
    argTypes:
    - GIArgInfo*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 290
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 290
    functionName: gi_arg_info_get_closure_index
    functionSourceFile: /src/glib/girepository/giarginfo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - GI_IS_ARG_INFO
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean gi_arg_info_get_closure_index (GIArgInfo *info, unsigned
      int *out_closure_index) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/girepository/giarginfo.c:367,1
    - Dst: gi_type_info_init
      Src: /src/glib/girepository/giarginfo.c:370,1
    - Dst: GI_IS_ARG_INFO
      Src: /src/glib/girepository/giarginfo.c:368,1
    - Dst: g_return_if_fail
      Src: /src/glib/girepository/giarginfo.c:368,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/girepository/giarginfo.c:370,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - info
    - type
    argTypes:
    - GIArgInfo*
    - GITypeInfo*
    constantsTouched: []
    func_position:
      end: 371
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 371
    functionName: gi_arg_info_load_type_info
    functionSourceFile: /src/glib/girepository/giarginfo.c
    functionUses: []
    functionsReached:
    - G_STRUCT_OFFSET
    - GI_IS_ARG_INFO
    - gi_type_info_init
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void gi_arg_info_load_type_info (GIArgInfo *info, GITypeInfo *type) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GI_BASE_INFO
      Src: /src/glib/girepository/giregisteredtypeinfo.c:191,1
    - Dst: GI_IS_REGISTERED_TYPE_INFO
      Src: /src/glib/girepository/giregisteredtypeinfo.c:194,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giregisteredtypeinfo.c:194,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIRegisteredTypeInfo*
    constantsTouched: []
    func_position:
      end: 219
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 219
    functionName: gi_registered_type_info_is_boxed
    functionSourceFile: /src/glib/girepository/giregisteredtypeinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_REGISTERED_TYPE_INFO
    - g_return_val_if_fail
    - GI_BASE_INFO
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean gi_registered_type_info_is_boxed (GIRegisteredTypeInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giregisteredtypeinfo.c:112,1
    - Dst: gi_typelib_get_string
      Src: /src/glib/girepository/giregisteredtypeinfo.c:118,1
    - Dst: GI_IS_REGISTERED_TYPE_INFO
      Src: /src/glib/girepository/giregisteredtypeinfo.c:113,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giregisteredtypeinfo.c:113,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 121
    functionName: gi_registered_type_info_get_type_init_function_name
    functionSourceFile: /src/glib/girepository/giregisteredtypeinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_REGISTERED_TYPE_INFO
    - gi_typelib_get_string
    - g_return_val_if_fail
    linkageType: ''
    returnType: char*
    signature: 'const char *gi_registered_type_info_get_type_init_function_name (GIRegisteredTypeInfo
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - g_class
    - class_data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 228
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 228
    functionName: gi_registered_type_info_class_init
    functionSourceFile: /src/glib/girepository/giregisteredtypeinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gi_registered_type_info_class_init (gpointer g_class, gpointer
      class_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giregisteredtypeinfo.c:80,1
    - Dst: gi_typelib_get_string
      Src: /src/glib/girepository/giregisteredtypeinfo.c:86,1
    - Dst: GI_IS_REGISTERED_TYPE_INFO
      Src: /src/glib/girepository/giregisteredtypeinfo.c:81,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giregisteredtypeinfo.c:81,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 89
    functionName: gi_registered_type_info_get_type_name
    functionSourceFile: /src/glib/girepository/giregisteredtypeinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_REGISTERED_TYPE_INFO
    - gi_typelib_get_string
    - g_return_val_if_fail
    linkageType: ''
    returnType: char*
    signature: 'const char *gi_registered_type_info_get_type_name (GIRegisteredTypeInfo
      *info) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GType
      Src: /src/glib/girepository/giregisteredtypeinfo.c:140,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giregisteredtypeinfo.c:143,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giregisteredtypeinfo.c:144,1
    - Dst: GI_IS_REGISTERED_TYPE_INFO
      Src: /src/glib/girepository/giregisteredtypeinfo.c:144,1
    - Dst: gi_registered_type_info_get_type_init_function_name
      Src: /src/glib/girepository/giregisteredtypeinfo.c:146,1
    - Dst: strcmp
      Src: /src/glib/girepository/giregisteredtypeinfo.c:150,1
    - Dst: g_type_from_name
      Src: /src/glib/girepository/giregisteredtypeinfo.c:153,1
    - Dst: gi_registered_type_info_get_type_name
      Src: /src/glib/girepository/giregisteredtypeinfo.c:153,1
    - Dst: gi_typelib_symbol
      Src: /src/glib/girepository/giregisteredtypeinfo.c:156,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIRegisteredTypeInfo*
    constantsTouched: []
    func_position:
      end: 162
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 162
    functionName: gi_registered_type_info_get_g_type
    functionSourceFile: /src/glib/girepository/giregisteredtypeinfo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - gi_typelib_symbol
    - strcmp
    - gi_registered_type_info_get_type_name
    - GType
    - GI_IS_REGISTERED_TYPE_INFO
    - g_type_from_name
    - gi_registered_type_info_get_type_init_function_name
    linkageType: ''
    returnType: GType
    signature: 'GType gi_registered_type_info_get_g_type (GIRegisteredTypeInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:129,1
    - Dst: GI_IS_OBJECT_INFO
      Src: /src/glib/girepository/giobjectinfo.c:130,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIObjectInfo*
    constantsTouched: []
    func_position:
      end: 135
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 135
    functionName: gi_object_info_get_abstract
    functionSourceFile: /src/glib/girepository/giobjectinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_OBJECT_INFO
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean gi_object_info_get_abstract (GIObjectInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:666,1
    - Dst: object_get_signal_offset
      Src: /src/glib/girepository/giobjectinfo.c:669,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:667,1
    - Dst: find_signal
      Src: /src/glib/girepository/giobjectinfo.c:669,1
    - Dst: GI_IS_OBJECT_INFO
      Src: /src/glib/girepository/giobjectinfo.c:667,1
    - Dst: gi_object_info_get_n_signals
      Src: /src/glib/girepository/giobjectinfo.c:670,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 671
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 671
    functionName: gi_object_info_find_signal
    functionSourceFile: /src/glib/girepository/giobjectinfo.c
    functionUses: []
    functionsReached:
    - object_get_signal_offset
    - g_return_val_if_fail
    - find_signal
    - gi_object_info_get_n_signals
    - GI_IS_OBJECT_INFO
    linkageType: ''
    returnType: GISignalInfo*
    signature: 'GISignalInfo *gi_object_info_find_signal (GIObjectInfo *info, const
      char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:1168,1
    - Dst: gi_typelib_get_string
      Src: /src/glib/girepository/giobjectinfo.c:1174,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:1169,1
    - Dst: GI_IS_OBJECT_INFO
      Src: /src/glib/girepository/giobjectinfo.c:1169,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1162
    functionDepth: 0
    functionLinenumber: 1162
    functionLinenumberEnd: 1177
    functionName: gi_object_info_get_get_value_function_name
    functionSourceFile: /src/glib/girepository/giobjectinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_OBJECT_INFO
    - gi_typelib_get_string
    - g_return_val_if_fail
    linkageType: ''
    returnType: char*
    signature: 'const char *gi_object_info_get_get_value_function_name (GIObjectInfo
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - g_class
    - class_data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1209
      start: 1202
    functionDepth: 0
    functionLinenumber: 1202
    functionLinenumberEnd: 1209
    functionName: gi_object_info_class_init
    functionSourceFile: /src/glib/girepository/giobjectinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gi_object_info_class_init (gpointer g_class, gpointer class_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:101,1
    - Dst: GI_IS_OBJECT_INFO
      Src: /src/glib/girepository/giobjectinfo.c:102,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:102,1
    - Dst: gi_info_from_entry
      Src: /src/glib/girepository/giobjectinfo.c:107,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 111
    functionName: gi_object_info_get_parent
    functionSourceFile: /src/glib/girepository/giobjectinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_OBJECT_INFO
    - g_return_val_if_fail
    - gi_info_from_entry
    linkageType: ''
    returnType: GIObjectInfo*
    signature: 'GIObjectInfo *gi_object_info_get_parent (GIObjectInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:766,1
    - Dst: GI_IS_OBJECT_INFO
      Src: /src/glib/girepository/giobjectinfo.c:767,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:767,1
    - Dst: gi_base_info_find_vfunc
      Src: /src/glib/girepository/giobjectinfo.c:780,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 781
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 781
    functionName: gi_object_info_find_vfunc
    functionSourceFile: /src/glib/girepository/giobjectinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_OBJECT_INFO
    - g_return_val_if_fail
    - gi_base_info_find_vfunc
    linkageType: ''
    returnType: GIVFuncInfo*
    signature: 'GIVFuncInfo *gi_object_info_find_vfunc (GIObjectInfo *info, const
      char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:1141,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:1142,1
    - Dst: _get_func
      Src: /src/glib/girepository/giobjectinfo.c:1144,1
    - Dst: GI_IS_OBJECT_INFO
      Src: /src/glib/girepository/giobjectinfo.c:1142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIObjectInfo*
    constantsTouched: []
    func_position:
      end: 1145
      start: 1138
    functionDepth: 0
    functionLinenumber: 1138
    functionLinenumberEnd: 1145
    functionName: gi_object_info_get_set_value_function_pointer
    functionSourceFile: /src/glib/girepository/giobjectinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_OBJECT_INFO
    - g_return_val_if_fail
    - _get_func
    linkageType: ''
    returnType: GIObjectInfoSetValueFunction
    signature: 'GIObjectInfoSetValueFunction gi_object_info_get_set_value_function_pointer
      (GIObjectInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:202,1
    - Dst: GI_IS_OBJECT_INFO
      Src: /src/glib/girepository/giobjectinfo.c:203,1
    - Dst: gi_typelib_get_string
      Src: /src/glib/girepository/giobjectinfo.c:207,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 208
    functionName: gi_object_info_get_type_name
    functionSourceFile: /src/glib/girepository/giobjectinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_OBJECT_INFO
    - gi_typelib_get_string
    - g_return_val_if_fail
    linkageType: ''
    returnType: char*
    signature: 'const char *gi_object_info_get_type_name (GIObjectInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:300,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:301,1
    - Dst: GI_IS_OBJECT_INFO
      Src: /src/glib/girepository/giobjectinfo.c:301,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIObjectInfo*
    constantsTouched: []
    func_position:
      end: 306
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 306
    functionName: gi_object_info_get_n_fields
    functionSourceFile: /src/glib/girepository/giobjectinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_OBJECT_INFO
    - g_return_val_if_fail
    linkageType: ''
    returnType: unsigned int
    signature: 'unsigned int gi_object_info_get_n_fields (GIObjectInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:350,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:351,1
    - Dst: GI_IS_OBJECT_INFO
      Src: /src/glib/girepository/giobjectinfo.c:351,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIObjectInfo*
    constantsTouched: []
    func_position:
      end: 355
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 355
    functionName: gi_object_info_get_n_properties
    functionSourceFile: /src/glib/girepository/giobjectinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_OBJECT_INFO
    - g_return_val_if_fail
    linkageType: ''
    returnType: unsigned int
    signature: 'unsigned int gi_object_info_get_n_properties (GIObjectInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:1003,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:1004,1
    - Dst: gi_typelib_get_string
      Src: /src/glib/girepository/giobjectinfo.c:1009,1
    - Dst: GI_IS_OBJECT_INFO
      Src: /src/glib/girepository/giobjectinfo.c:1004,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 997
    functionDepth: 0
    functionLinenumber: 997
    functionLinenumberEnd: 1012
    functionName: gi_object_info_get_ref_function_name
    functionSourceFile: /src/glib/girepository/giobjectinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_OBJECT_INFO
    - gi_typelib_get_string
    - g_return_val_if_fail
    linkageType: ''
    returnType: char*
    signature: 'const char *gi_object_info_get_ref_function_name (GIObjectInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:689,1
    - Dst: GI_IS_OBJECT_INFO
      Src: /src/glib/girepository/giobjectinfo.c:690,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:690,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIObjectInfo*
    constantsTouched: []
    func_position:
      end: 695
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 695
    functionName: gi_object_info_get_n_vfuncs
    functionSourceFile: /src/glib/girepository/giobjectinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_OBJECT_INFO
    - g_return_val_if_fail
    linkageType: ''
    returnType: unsigned int
    signature: 'unsigned int gi_object_info_get_n_vfuncs (GIObjectInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:1196,1
    - Dst: _get_func
      Src: /src/glib/girepository/giobjectinfo.c:1199,1
    - Dst: GI_IS_OBJECT_INFO
      Src: /src/glib/girepository/giobjectinfo.c:1197,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:1197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIObjectInfo*
    constantsTouched: []
    func_position:
      end: 1200
      start: 1193
    functionDepth: 0
    functionLinenumber: 1193
    functionLinenumberEnd: 1200
    functionName: gi_object_info_get_get_value_function_pointer
    functionSourceFile: /src/glib/girepository/giobjectinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_OBJECT_INFO
    - g_return_val_if_fail
    - _get_func
    linkageType: ''
    returnType: GIObjectInfoGetValueFunction
    signature: 'GIObjectInfoGetValueFunction gi_object_info_get_get_value_function_pointer
      (GIObjectInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - info
    - n
    argTypes:
    - GIObjectInfo*
    - size_t
    constantsTouched: []
    func_position:
      end: 83
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 83
    functionName: gi_object_info_get_field_offset
    functionSourceFile: /src/glib/girepository/giobjectinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'static size_t gi_object_info_get_field_offset (GIObjectInfo *info,
      size_t n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:275,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:276,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:277,1
    - Dst: gi_info_from_entry
      Src: /src/glib/girepository/giobjectinfo.c:281,1
    - Dst: GI_IS_OBJECT_INFO
      Src: /src/glib/girepository/giobjectinfo.c:276,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 283
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 283
    functionName: gi_object_info_get_interface
    functionSourceFile: /src/glib/girepository/giobjectinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_OBJECT_INFO
    - g_return_val_if_fail
    - gi_info_from_entry
    linkageType: ''
    returnType: GIInterfaceInfo*
    signature: 'GIInterfaceInfo *gi_object_info_get_interface (GIObjectInfo *info,
      unsigned int n) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gi_object_info_find_vfunc
      Src: /src/glib/girepository/giobjectinfo.c:818,1
    - Dst: gi_interface_info_find_vfunc
      Src: /src/glib/girepository/giobjectinfo.c:834,1
    - Dst: gi_base_info_ref
      Src: /src/glib/girepository/giobjectinfo.c:820,1
    - Dst: gi_object_info_get_interface
      Src: /src/glib/girepository/giobjectinfo.c:832,1
    - Dst: gi_object_info_get_n_interfaces
      Src: /src/glib/girepository/giobjectinfo.c:827,1
    - Dst: GI_BASE_INFO
      Src: /src/glib/girepository/giobjectinfo.c:838,1
    - Dst: g_steal_pointer
      Src: /src/glib/girepository/giobjectinfo.c:838,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/giobjectinfo.c:841,1
    - Dst: g_steal_pointer
      Src: /src/glib/girepository/giobjectinfo.c:846,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/giobjectinfo.c:848,1
    - Dst: g_steal_pointer
      Src: /src/glib/girepository/giobjectinfo.c:850,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 851
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 851
    functionName: gi_object_info_find_vfunc_using_interfaces
    functionSourceFile: /src/glib/girepository/giobjectinfo.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - gi_base_info_ref
    - GI_BASE_INFO
    - gi_base_info_unref
    - gi_interface_info_find_vfunc
    - gi_object_info_find_vfunc
    - gi_object_info_get_n_interfaces
    - g_clear_pointer
    - gi_object_info_get_interface
    linkageType: ''
    returnType: GIVFuncInfo*
    signature: 'GIVFuncInfo *gi_object_info_find_vfunc_using_interfaces (GIObjectInfo
      *info, const char *name, GIBaseInfo **declarer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:896,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:897,1
    - Dst: GI_IS_OBJECT_INFO
      Src: /src/glib/girepository/giobjectinfo.c:897,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:898,1
    - Dst: gi_base_info_new
      Src: /src/glib/girepository/giobjectinfo.c:913,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 915
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 915
    functionName: gi_object_info_get_constant
    functionSourceFile: /src/glib/girepository/giobjectinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_OBJECT_INFO
    - gi_base_info_new
    - g_return_val_if_fail
    linkageType: ''
    returnType: GIConstantInfo*
    signature: 'GIConstantInfo *gi_object_info_get_constant (GIObjectInfo *info, unsigned
      int n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:1058,1
    - Dst: GI_IS_OBJECT_INFO
      Src: /src/glib/girepository/giobjectinfo.c:1059,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:1059,1
    - Dst: gi_typelib_get_string
      Src: /src/glib/girepository/giobjectinfo.c:1064,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1052
    functionDepth: 0
    functionLinenumber: 1052
    functionLinenumberEnd: 1067
    functionName: gi_object_info_get_unref_function_name
    functionSourceFile: /src/glib/girepository/giobjectinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_OBJECT_INFO
    - gi_typelib_get_string
    - g_return_val_if_fail
    linkageType: ''
    returnType: char*
    signature: 'const char *gi_object_info_get_unref_function_name (GIObjectInfo *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gi_base_info_ref
      Src: /src/glib/girepository/giobjectinfo.c:958,1
    - Dst: getter
      Src: /src/glib/girepository/giobjectinfo.c:968,1
    - Dst: gi_typelib_symbol
      Src: /src/glib/girepository/giobjectinfo.c:972,1
    - Dst: g_slist_prepend
      Src: /src/glib/girepository/giobjectinfo.c:961,1
    - Dst: gi_object_info_get_parent
      Src: /src/glib/girepository/giobjectinfo.c:962,1
    - Dst: g_slist_free_full
      Src: /src/glib/girepository/giobjectinfo.c:977,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 979
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 979
    functionName: _get_func
    functionSourceFile: /src/glib/girepository/giobjectinfo.c
    functionUses: []
    functionsReached:
    - gi_object_info_get_parent
    - gi_base_info_ref
    - getter
    - g_slist_free_full
    - g_slist_prepend
    - gi_typelib_symbol
    linkageType: ''
    returnType: void*
    signature: 'static void *_get_func(GIObjectInfo *info, SymbolGetter getter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:226,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:227,1
    - Dst: GI_IS_OBJECT_INFO
      Src: /src/glib/girepository/giobjectinfo.c:227,1
    - Dst: gi_typelib_get_string
      Src: /src/glib/girepository/giobjectinfo.c:231,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 232
    functionName: gi_object_info_get_type_init_function_name
    functionSourceFile: /src/glib/girepository/giobjectinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_OBJECT_INFO
    - gi_typelib_get_string
    - g_return_val_if_fail
    linkageType: ''
    returnType: char*
    signature: 'const char *gi_object_info_get_type_init_function_name (GIObjectInfo
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:249,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:250,1
    - Dst: GI_IS_OBJECT_INFO
      Src: /src/glib/girepository/giobjectinfo.c:250,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIObjectInfo*
    constantsTouched: []
    func_position:
      end: 255
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 255
    functionName: gi_object_info_get_n_interfaces
    functionSourceFile: /src/glib/girepository/giobjectinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_OBJECT_INFO
    - g_return_val_if_fail
    linkageType: ''
    returnType: unsigned int
    signature: 'unsigned int gi_object_info_get_n_interfaces (GIObjectInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:326,1
    - Dst: gi_object_info_get_field_offset
      Src: /src/glib/girepository/giobjectinfo.c:330,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:328,1
    - Dst: GI_IS_OBJECT_INFO
      Src: /src/glib/girepository/giobjectinfo.c:327,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:327,1
    - Dst: gi_base_info_new
      Src: /src/glib/girepository/giobjectinfo.c:332,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 333
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 333
    functionName: gi_object_info_get_field
    functionSourceFile: /src/glib/girepository/giobjectinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_OBJECT_INFO
    - gi_base_info_new
    - g_return_val_if_fail
    - gi_object_info_get_field_offset
    linkageType: ''
    returnType: GIFieldInfo*
    signature: 'GIFieldInfo *gi_object_info_get_field (GIObjectInfo *info, unsigned
      int n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:377,1
    - Dst: GI_IS_OBJECT_INFO
      Src: /src/glib/girepository/giobjectinfo.c:378,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:379,1
    - Dst: gi_base_info_new
      Src: /src/glib/girepository/giobjectinfo.c:390,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:378,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 392
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 392
    functionName: gi_object_info_get_property
    functionSourceFile: /src/glib/girepository/giobjectinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_OBJECT_INFO
    - gi_base_info_new
    - g_return_val_if_fail
    linkageType: ''
    returnType: GIPropertyInfo*
    signature: 'GIPropertyInfo *gi_object_info_get_property (GIObjectInfo *info, unsigned
      int n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:1031,1
    - Dst: GI_IS_OBJECT_INFO
      Src: /src/glib/girepository/giobjectinfo.c:1032,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:1032,1
    - Dst: _get_func
      Src: /src/glib/girepository/giobjectinfo.c:1034,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIObjectInfo*
    constantsTouched: []
    func_position:
      end: 1035
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1035
    functionName: gi_object_info_get_ref_function_pointer
    functionSourceFile: /src/glib/girepository/giobjectinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_OBJECT_INFO
    - g_return_val_if_fail
    - _get_func
    linkageType: ''
    returnType: GIObjectInfoRefFunction
    signature: 'GIObjectInfoRefFunction gi_object_info_get_ref_function_pointer (GIObjectInfo
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:179,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:180,1
    - Dst: GI_IS_OBJECT_INFO
      Src: /src/glib/girepository/giobjectinfo.c:180,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIObjectInfo*
    constantsTouched: []
    func_position:
      end: 185
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 185
    functionName: gi_object_info_get_fundamental
    functionSourceFile: /src/glib/girepository/giobjectinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_OBJECT_INFO
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean gi_object_info_get_fundamental (GIObjectInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:437,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:439,1
    - Dst: GI_IS_OBJECT_INFO
      Src: /src/glib/girepository/giobjectinfo.c:438,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:438,1
    - Dst: gi_base_info_new
      Src: /src/glib/girepository/giobjectinfo.c:452,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 454
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 454
    functionName: gi_object_info_get_method
    functionSourceFile: /src/glib/girepository/giobjectinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_OBJECT_INFO
    - gi_base_info_new
    - g_return_val_if_fail
    linkageType: ''
    returnType: GIFunctionInfo*
    signature: 'GIFunctionInfo *gi_object_info_get_method (GIObjectInfo *info, unsigned
      int n) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gi_object_info_find_method
      Src: /src/glib/girepository/giobjectinfo.c:524,1
    - Dst: gi_base_info_ref
      Src: /src/glib/girepository/giobjectinfo.c:526,1
    - Dst: gi_object_info_get_interface
      Src: /src/glib/girepository/giobjectinfo.c:538,1
    - Dst: gi_object_info_get_n_interfaces
      Src: /src/glib/girepository/giobjectinfo.c:533,1
    - Dst: gi_interface_info_find_method
      Src: /src/glib/girepository/giobjectinfo.c:540,1
    - Dst: GI_BASE_INFO
      Src: /src/glib/girepository/giobjectinfo.c:544,1
    - Dst: g_steal_pointer
      Src: /src/glib/girepository/giobjectinfo.c:544,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/giobjectinfo.c:547,1
    - Dst: g_steal_pointer
      Src: /src/glib/girepository/giobjectinfo.c:552,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/giobjectinfo.c:554,1
    - Dst: g_steal_pointer
      Src: /src/glib/girepository/giobjectinfo.c:556,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 557
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 557
    functionName: gi_object_info_find_method_using_interfaces
    functionSourceFile: /src/glib/girepository/giobjectinfo.c
    functionUses: []
    functionsReached:
    - gi_interface_info_find_method
    - g_steal_pointer
    - gi_base_info_ref
    - GI_BASE_INFO
    - gi_base_info_unref
    - gi_object_info_find_method
    - gi_object_info_get_n_interfaces
    - g_clear_pointer
    - gi_object_info_get_interface
    linkageType: ''
    returnType: GIFunctionInfo*
    signature: 'GIFunctionInfo *gi_object_info_find_method_using_interfaces (GIObjectInfo
      *info, const char *name, GIBaseInfo **declarer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:574,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:575,1
    - Dst: GI_IS_OBJECT_INFO
      Src: /src/glib/girepository/giobjectinfo.c:575,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIObjectInfo*
    constantsTouched: []
    func_position:
      end: 580
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 580
    functionName: gi_object_info_get_n_signals
    functionSourceFile: /src/glib/girepository/giobjectinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_OBJECT_INFO
    - g_return_val_if_fail
    linkageType: ''
    returnType: unsigned int
    signature: 'unsigned int gi_object_info_get_n_signals (GIObjectInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:615,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:616,1
    - Dst: gi_base_info_new
      Src: /src/glib/girepository/giobjectinfo.c:619,1
    - Dst: GI_IS_OBJECT_INFO
      Src: /src/glib/girepository/giobjectinfo.c:616,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:617,1
    - Dst: object_get_signal_offset
      Src: /src/glib/girepository/giobjectinfo.c:620,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 621
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 621
    functionName: gi_object_info_get_signal
    functionSourceFile: /src/glib/girepository/giobjectinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_OBJECT_INFO
    - object_get_signal_offset
    - gi_base_info_new
    - g_return_val_if_fail
    linkageType: ''
    returnType: GISignalInfo*
    signature: 'GISignalInfo *gi_object_info_get_signal (GIObjectInfo *info, unsigned
      int n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:717,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:718,1
    - Dst: gi_base_info_new
      Src: /src/glib/girepository/giobjectinfo.c:733,1
    - Dst: GI_IS_OBJECT_INFO
      Src: /src/glib/girepository/giobjectinfo.c:718,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:719,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 735
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 735
    functionName: gi_object_info_get_vfunc
    functionSourceFile: /src/glib/girepository/giobjectinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_OBJECT_INFO
    - gi_base_info_new
    - g_return_val_if_fail
    linkageType: ''
    returnType: GIVFuncInfo*
    signature: 'GIVFuncInfo *gi_object_info_get_vfunc (GIObjectInfo *info, unsigned
      int n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:1113,1
    - Dst: gi_typelib_get_string
      Src: /src/glib/girepository/giobjectinfo.c:1119,1
    - Dst: GI_IS_OBJECT_INFO
      Src: /src/glib/girepository/giobjectinfo.c:1114,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:1114,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1122
    functionName: gi_object_info_get_set_value_function_name
    functionSourceFile: /src/glib/girepository/giobjectinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_OBJECT_INFO
    - gi_typelib_get_string
    - g_return_val_if_fail
    linkageType: ''
    returnType: char*
    signature: 'const char *gi_object_info_get_set_value_function_name (GIObjectInfo
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - info
    - n
    argTypes:
    - GIObjectInfo*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 596
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 596
    functionName: object_get_signal_offset
    functionSourceFile: /src/glib/girepository/giobjectinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t object_get_signal_offset (GIObjectInfo *info, unsigned
      int n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gi_typelib_get_string
      Src: /src/glib/girepository/giobjectinfo.c:634,1
    - Dst: gi_base_info_new
      Src: /src/glib/girepository/giobjectinfo.c:637,1
    - Dst: strcmp
      Src: /src/glib/girepository/giobjectinfo.c:636,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 644
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 644
    functionName: find_signal
    functionSourceFile: /src/glib/girepository/giobjectinfo.c
    functionUses: []
    functionsReached:
    - gi_typelib_get_string
    - strcmp
    - gi_base_info_new
    linkageType: ''
    returnType: GISignalInfo*
    signature: 'static GISignalInfo *find_signal (GIRealInfo *rinfo, uint32_t offset,
      uint16_t n_signals, const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:153,1
    - Dst: GI_IS_OBJECT_INFO
      Src: /src/glib/girepository/giobjectinfo.c:154,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIObjectInfo*
    constantsTouched: []
    func_position:
      end: 159
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 159
    functionName: gi_object_info_get_final
    functionSourceFile: /src/glib/girepository/giobjectinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_OBJECT_INFO
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean gi_object_info_get_final (GIObjectInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:409,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:410,1
    - Dst: GI_IS_OBJECT_INFO
      Src: /src/glib/girepository/giobjectinfo.c:410,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIObjectInfo*
    constantsTouched: []
    func_position:
      end: 415
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 415
    functionName: gi_object_info_get_n_methods
    functionSourceFile: /src/glib/girepository/giobjectinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_OBJECT_INFO
    - g_return_val_if_fail
    linkageType: ''
    returnType: unsigned int
    signature: 'unsigned int gi_object_info_get_n_methods (GIObjectInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:479,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:480,1
    - Dst: gi_base_info_find_method
      Src: /src/glib/girepository/giobjectinfo.c:491,1
    - Dst: GI_IS_OBJECT_INFO
      Src: /src/glib/girepository/giobjectinfo.c:480,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 492
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 492
    functionName: gi_object_info_find_method
    functionSourceFile: /src/glib/girepository/giobjectinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_OBJECT_INFO
    - g_return_val_if_fail
    - gi_base_info_find_method
    linkageType: ''
    returnType: GIFunctionInfo*
    signature: 'GIFunctionInfo *gi_object_info_find_method (GIObjectInfo *info, const
      char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:868,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:869,1
    - Dst: GI_IS_OBJECT_INFO
      Src: /src/glib/girepository/giobjectinfo.c:869,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIObjectInfo*
    constantsTouched: []
    func_position:
      end: 874
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 874
    functionName: gi_object_info_get_n_constants
    functionSourceFile: /src/glib/girepository/giobjectinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_OBJECT_INFO
    - g_return_val_if_fail
    linkageType: ''
    returnType: unsigned int
    signature: 'unsigned int gi_object_info_get_n_constants (GIObjectInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:935,1
    - Dst: gi_info_from_entry
      Src: /src/glib/girepository/giobjectinfo.c:941,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:936,1
    - Dst: GI_IS_OBJECT_INFO
      Src: /src/glib/girepository/giobjectinfo.c:936,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 945
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 945
    functionName: gi_object_info_get_class_struct
    functionSourceFile: /src/glib/girepository/giobjectinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_OBJECT_INFO
    - g_return_val_if_fail
    - gi_info_from_entry
    linkageType: ''
    returnType: GIStructInfo*
    signature: 'GIStructInfo *gi_object_info_get_class_struct (GIObjectInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:1086,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giobjectinfo.c:1087,1
    - Dst: _get_func
      Src: /src/glib/girepository/giobjectinfo.c:1089,1
    - Dst: GI_IS_OBJECT_INFO
      Src: /src/glib/girepository/giobjectinfo.c:1087,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIObjectInfo*
    constantsTouched: []
    func_position:
      end: 1090
      start: 1083
    functionDepth: 0
    functionLinenumber: 1083
    functionLinenumberEnd: 1090
    functionName: gi_object_info_get_unref_function_pointer
    functionSourceFile: /src/glib/girepository/giobjectinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_OBJECT_INFO
    - g_return_val_if_fail
    - _get_func
    linkageType: ''
    returnType: GIObjectInfoUnrefFunction
    signature: 'GIObjectInfoUnrefFunction gi_object_info_get_unref_function_pointer
      (GIObjectInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GI_REPOSITORY
      Src: /src/glib/girepository/girepository.c:335,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/girepository/girepository.c:338,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/girepository/girepository.c:340,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/girepository/girepository.c:339,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/girepository/girepository.c:337,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/girepository/girepository.c:342,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/girepository/girepository.c:343,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/girepository/girepository.c:344,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/girepository/girepository.c:345,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/girepository.c:347,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/girepository/girepository.c:352,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/girepository.c:349,1
    - Dst: G_OBJECT
      Src: /src/glib/girepository/girepository.c:352,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/girepository.c:350,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 353
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 353
    functionName: gi_repository_finalize
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached:
    - g_ptr_array_unref
    - GI_REPOSITORY
    - G_OBJECT
    - G_OBJECT_CLASS
    - g_clear_pointer
    - g_hash_table_destroy
    linkageType: ''
    returnType: void
    signature: 'static void gi_repository_finalize (GObject *object) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/girepository.c:408,1
    - Dst: GI_IS_REPOSITORY
      Src: /src/glib/girepository/girepository.c:408,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 425
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 425
    functionName: gi_repository_get_search_path
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached:
    - GI_IS_REPOSITORY
    - g_return_val_if_fail
    linkageType: ''
    returnType: char**
    signature: 'const char * const *gi_repository_get_search_path (GIRepository *repository,
      size_t *n_paths_out) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/girepository.c:837,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/girepository.c:841,1
    - Dst: get_registered
      Src: /src/glib/girepository/girepository.c:840,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/girepository.c:838,1
    - Dst: GI_IS_REPOSITORY
      Src: /src/glib/girepository/girepository.c:837,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/girepository/girepository.c:844,1
    - Dst: get_typelib_dependencies_transitive
      Src: /src/glib/girepository/girepository.c:846,1
    - Dst: g_ptr_array_new_null_terminated
      Src: /src/glib/girepository/girepository.c:850,1
    - Dst: g_hash_table_size
      Src: /src/glib/girepository/girepository.c:850,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/girepository/girepository.c:852,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/girepository/girepository.c:854,1
    - Dst: g_hash_table_iter_steal
      Src: /src/glib/girepository/girepository.c:857,1
    - Dst: g_ptr_array_add
      Src: /src/glib/girepository/girepository.c:856,1
    - Dst: g_hash_table_unref
      Src: /src/glib/girepository/girepository.c:860,1
    - Dst: g_ptr_array_free
      Src: /src/glib/girepository/girepository.c:865,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 866
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 866
    functionName: gi_repository_get_dependencies
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached:
    - g_hash_table_iter_init
    - g_return_val_if_fail
    - g_hash_table_unref
    - get_typelib_dependencies_transitive
    - GI_IS_REPOSITORY
    - g_hash_table_new_full
    - g_ptr_array_new_null_terminated
    - get_registered
    - g_hash_table_size
    - g_ptr_array_free
    - g_hash_table_iter_steal
    - g_ptr_array_add
    - g_hash_table_iter_next
    linkageType: ''
    returnType: char**
    signature: 'char **gi_repository_get_dependencies (GIRepository *repository, const
      char *namespace, size_t *n_dependencies_out) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/girepository.c:1087,1
    - Dst: gi_base_info_ref
      Src: /src/glib/girepository/girepository.c:1094,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/girepository.c:1088,1
    - Dst: GI_IS_REPOSITORY
      Src: /src/glib/girepository/girepository.c:1087,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/girepository/girepository.c:1090,1
    - Dst: g_hash_table_contains
      Src: /src/glib/girepository/girepository.c:1096,1
    - Dst: g_type_name
      Src: /src/glib/girepository/girepository.c:1099,1
    - Dst: find_by_gtype
      Src: /src/glib/girepository/girepository.c:1108,1
    - Dst: find_by_gtype
      Src: /src/glib/girepository/girepository.c:1110,1
    - Dst: find_by_gtype
      Src: /src/glib/girepository/girepository.c:1118,1
    - Dst: gi_typelib_blob_type_to_info_type
      Src: /src/glib/girepository/girepository.c:1124,1
    - Dst: g_hash_table_insert
      Src: /src/glib/girepository/girepository.c:1128,1
    - Dst: gi_info_new_full
      Src: /src/glib/girepository/girepository.c:1124,1
    - Dst: find_by_gtype
      Src: /src/glib/girepository/girepository.c:1120,1
    - Dst: g_hash_table_add
      Src: /src/glib/girepository/girepository.c:1135,1
    - Dst: gi_base_info_ref
      Src: /src/glib/girepository/girepository.c:1130,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1078
    functionDepth: 0
    functionLinenumber: 1078
    functionLinenumberEnd: 1138
    functionName: gi_repository_find_by_gtype
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - gi_base_info_ref
    - find_by_gtype
    - g_hash_table_lookup
    - g_hash_table_insert
    - g_hash_table_add
    - GI_IS_REPOSITORY
    - gi_typelib_blob_type_to_info_type
    - g_hash_table_contains
    - gi_info_new_full
    - g_type_name
    linkageType: ''
    returnType: GIBaseInfo*
    signature: 'GIBaseInfo *gi_repository_find_by_gtype (GIRepository *repository,
      GType gtype) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/girepository.c:1404,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/girepository.c:1405,1
    - Dst: GI_IS_REPOSITORY
      Src: /src/glib/girepository/girepository.c:1404,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/girepository.c:1409,1
    - Dst: get_registered
      Src: /src/glib/girepository/girepository.c:1407,1
    - Dst: gi_typelib_get_string
      Src: /src/glib/girepository/girepository.c:1412,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1413
      start: 1397
    functionDepth: 0
    functionLinenumber: 1397
    functionLinenumberEnd: 1413
    functionName: gi_repository_get_version
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached:
    - gi_typelib_get_string
    - GI_IS_REPOSITORY
    - g_return_val_if_fail
    - get_registered
    linkageType: ''
    returnType: char*
    signature: 'const char *gi_repository_get_version (GIRepository *repository, const
      char *namespace) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/girepository.c:1508,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/girepository.c:1509,1
    - Dst: GI_IS_REPOSITORY
      Src: /src/glib/girepository/girepository.c:1508,1
    - Dst: get_registered
      Src: /src/glib/girepository/girepository.c:1511,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/girepository.c:1513,1
    - Dst: gi_typelib_get_string
      Src: /src/glib/girepository/girepository.c:1517,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1520
      start: 1501
    functionDepth: 0
    functionLinenumber: 1501
    functionLinenumberEnd: 1520
    functionName: gi_repository_get_c_prefix
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached:
    - gi_typelib_get_string
    - GI_IS_REPOSITORY
    - g_return_val_if_fail
    - get_registered
    linkageType: ''
    returnType: char*
    signature: 'const char *gi_repository_get_c_prefix (GIRepository *repository,
      const char *namespace_) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/girepository.c:107,1
    - Dst: g_free
      Src: /src/glib/girepository/girepository.c:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 109
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 109
    functionName: gtype_interface_cache_free
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached:
    - g_free
    - gi_base_info_unref
    linkageType: ''
    returnType: void
    signature: 'static void gtype_interface_cache_free (gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - hinstDLL
    - fdwReason
    - lpvReserved
    argTypes:
    - HINSTANCE
    - DWORD
    - LPVOID
    constantsTouched: []
    func_position:
      end: 155
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 155
    functionName: DllMain
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BOOL
    signature: 'BOOL WINAPI DllMain (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/girepository/girepository.c:360,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - class
    argTypes:
    - GIRepositoryClass*
    constantsTouched: []
    func_position:
      end: 363
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 363
    functionName: gi_repository_class_init
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void gi_repository_class_init (GIRepositoryClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/girepository/girepository.c:381,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girepository.c:383,1
    - Dst: GI_IS_REPOSITORY
      Src: /src/glib/girepository/girepository.c:381,1
    - Dst: g_ptr_array_insert
      Src: /src/glib/girepository/girepository.c:383,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - repository
    - directory
    argTypes:
    - GIRepository*
    - char*
    constantsTouched: []
    func_position:
      end: 384
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 384
    functionName: gi_repository_prepend_search_path
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached:
    - GI_IS_REPOSITORY
    - g_strdup
    - g_ptr_array_insert
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void gi_repository_prepend_search_path (GIRepository *repository,
      const char *directory) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_index
      Src: /src/glib/girepository/girepository.c:1041,1
    - Dst: gi_typelib_matches_gtype_name_prefix
      Src: /src/glib/girepository/girepository.c:1046,1
    - Dst: gi_typelib_get_dir_entry_by_gtype_name
      Src: /src/glib/girepository/girepository.c:1050,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1031
    functionDepth: 0
    functionLinenumber: 1031
    functionLinenumberEnd: 1059
    functionName: find_by_gtype
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached:
    - gi_typelib_matches_gtype_name_prefix
    - g_ptr_array_index
    - gi_typelib_get_dir_entry_by_gtype_name
    linkageType: ''
    returnType: DirEntry*
    signature: 'static DirEntry *find_by_gtype (GPtrArray *ordered_table, const char
      *gtype_name, gboolean check_prefix, GITypelib **out_result_typelib) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/girepository/girepository.c:453,1
    - Dst: GI_IS_REPOSITORY
      Src: /src/glib/girepository/girepository.c:453,1
    - Dst: g_ptr_array_insert
      Src: /src/glib/girepository/girepository.c:455,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girepository.c:455,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - repository
    - directory
    argTypes:
    - GIRepository*
    - char*
    constantsTouched: []
    func_position:
      end: 456
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 456
    functionName: gi_repository_prepend_library_path
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached:
    - GI_IS_REPOSITORY
    - g_strdup
    - g_ptr_array_insert
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void gi_repository_prepend_library_path (GIRepository *repository,
      const char *directory) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_registered_status
      Src: /src/glib/girepository/girepository.c:585,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 586
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 586
    functionName: get_registered
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached:
    - get_registered_status
    linkageType: ''
    returnType: GITypelib*
    signature: 'static GITypelib *get_registered (GIRepository *repository, const
      char *namespace, const char *version) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/girepository/girepository.c:955,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 956
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 956
    functionName: gi_repository_new
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: GIRepository*
    signature: 'GIRepository *gi_repository_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/girepository.c:978,1
    - Dst: get_registered
      Src: /src/glib/girepository/girepository.c:981,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/girepository.c:983,1
    - Dst: GI_IS_REPOSITORY
      Src: /src/glib/girepository/girepository.c:978,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/girepository.c:979,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - repository
    - namespace
    argTypes:
    - GIRepository*
    - char*
    constantsTouched: []
    func_position:
      end: 988
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 988
    functionName: gi_repository_get_n_infos
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached:
    - GI_IS_REPOSITORY
    - g_return_val_if_fail
    - get_registered
    linkageType: ''
    returnType: unsigned int
    signature: 'unsigned int gi_repository_get_n_infos (GIRepository *repository,
      const char *namespace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_index
      Src: /src/glib/girepository/girepository.c:1338,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girepository.c:1340,1
    - Dst: gi_typelib_get_namespace
      Src: /src/glib/girepository/girepository.c:1339,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 3
    argNames:
    - ordered_typelibs
    - names
    - inout_i
    argTypes:
    - GPtrArray*
    - char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 1342
      start: 1331
    functionDepth: 0
    functionLinenumber: 1331
    functionLinenumberEnd: 1342
    functionName: collect_namespaces
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached:
    - gi_typelib_get_namespace
    - g_strdup
    - g_ptr_array_index
    linkageType: ''
    returnType: void
    signature: 'static void collect_namespaces (GPtrArray *ordered_typelibs, char
      **names, size_t *inout_i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: require_internal
      Src: /src/glib/girepository/girepository.c:2073,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2075
      start: 2063
    functionDepth: 0
    functionLinenumber: 2063
    functionLinenumberEnd: 2075
    functionName: gi_repository_require_private
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached:
    - require_internal
    linkageType: ''
    returnType: GITypelib*
    signature: 'GITypelib *gi_repository_require_private (GIRepository *repository,
      const char *typelib_dir, const char *namespace, const char *version, GIRepositoryLoadFlags
      flags, GError **error) '
  - BBCount: 24
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2195
      start: 2143
    functionDepth: 0
    functionLinenumber: 2143
    functionLinenumberEnd: 2195
    functionName: gi_type_tag_to_string
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *gi_type_tag_to_string (GITypeTag type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_typelib_dependencies
      Src: /src/glib/girepository/girepository.c:595,1
    - Dst: gi_repository_require
      Src: /src/glib/girepository/girepository.c:612,1
    - Dst: g_free
      Src: /src/glib/girepository/girepository.c:615,1
    - Dst: strrchr
      Src: /src/glib/girepository/girepository.c:608,1
    - Dst: g_strndup
      Src: /src/glib/girepository/girepository.c:609,1
    - Dst: g_strfreev
      Src: /src/glib/girepository/girepository.c:616,1
    - Dst: g_free
      Src: /src/glib/girepository/girepository.c:619,1
    - Dst: g_strfreev
      Src: /src/glib/girepository/girepository.c:621,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 3
    argNames:
    - repository
    - typelib
    - error
    argTypes:
    - GIRepository*
    - GITypelib*
    - GError**
    constantsTouched: []
    func_position:
      end: 624
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 624
    functionName: load_dependencies_recurse
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached:
    - gi_repository_require
    - g_strndup
    - strrchr
    - g_strfreev
    - get_typelib_dependencies
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean load_dependencies_recurse (GIRepository *repository,
      GITypelib *typelib, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _dyld_image_count
      Src: /src/glib/girepository/girepository.c:182,1
    - Dst: _dyld_get_image_vmaddr_slide
      Src: /src/glib/girepository/girepository.c:186,1
    - Dst: _dyld_get_image_name
      Src: /src/glib/girepository/girepository.c:204,1
    - Dst: _dyld_get_image_name
      Src: /src/glib/girepository/girepository.c:210,1
    - Dst: _dyld_get_image_header
      Src: /src/glib/girepository/girepository.c:185,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 218
    functionName: gi_repository_get_library_path_macos
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached:
    - _dyld_get_image_vmaddr_slide
    - _dyld_get_image_header
    - _dyld_image_count
    - _dyld_get_image_name
    linkageType: ''
    returnType: char*
    signature: 'static const char *gi_repository_get_library_path_macos (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/girepository.c:893,1
    - Dst: gi_typelib_get_string
      Src: /src/glib/girepository/girepository.c:896,1
    - Dst: gi_typelib_get_string
      Src: /src/glib/girepository/girepository.c:897,1
    - Dst: GI_IS_REPOSITORY
      Src: /src/glib/girepository/girepository.c:893,1
    - Dst: get_registered_status
      Src: /src/glib/girepository/girepository.c:899,1
    - Dst: g_set_error
      Src: /src/glib/girepository/girepository.c:904,1
    - Dst: register_internal
      Src: /src/glib/girepository/girepository.c:912,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 914
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 914
    functionName: gi_repository_load_typelib
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached:
    - g_set_error
    - gi_typelib_get_string
    - g_return_val_if_fail
    - register_internal
    - GI_IS_REPOSITORY
    - get_registered_status
    linkageType: ''
    returnType: char*
    signature: 'const char *gi_repository_load_typelib (GIRepository *repository,
      GITypelib *typelib, GIRepositoryLoadFlags flags, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/girepository.c:939,1
    - Dst: get_registered
      Src: /src/glib/girepository/girepository.c:941,1
    - Dst: GI_IS_REPOSITORY
      Src: /src/glib/girepository/girepository.c:939,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - repository
    - namespace
    - version
    argTypes:
    - GIRepository*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 942
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 942
    functionName: gi_repository_is_registered
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached:
    - GI_IS_REPOSITORY
    - g_return_val_if_fail
    - get_registered
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean gi_repository_is_registered (GIRepository *repository, const
      char *namespace, const char *version) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/girepository.c:1450,1
    - Dst: GI_IS_REPOSITORY
      Src: /src/glib/girepository/girepository.c:1450,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/girepository.c:1451,1
    - Dst: get_registered
      Src: /src/glib/girepository/girepository.c:1453,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/girepository.c:1455,1
    - Dst: gi_typelib_get_string
      Src: /src/glib/girepository/girepository.c:1468,1
    - Dst: g_strsplit
      Src: /src/glib/girepository/girepository.c:1472,1
    - Dst: g_strv_length
      Src: /src/glib/girepository/girepository.c:1473,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1481
      start: 1442
    functionDepth: 0
    functionLinenumber: 1442
    functionLinenumberEnd: 1481
    functionName: gi_repository_get_shared_libraries
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached:
    - gi_typelib_get_string
    - g_return_val_if_fail
    - g_strv_length
    - GI_IS_REPOSITORY
    - get_registered
    - g_strsplit
    linkageType: ''
    returnType: char**
    signature: 'const char * const *gi_repository_get_shared_libraries (GIRepository
      *repository, const char *namespace, size_t *out_n_elements) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/girepository.c:1543,1
    - Dst: strlen
      Src: /src/glib/girepository/girepository.c:1553,1
    - Dst: GI_IS_REPOSITORY
      Src: /src/glib/girepository/girepository.c:1543,1
    - Dst: g_hash_table_lookup_extended
      Src: /src/glib/girepository/girepository.c:1545,1
    - Dst: g_hash_table_lookup_extended
      Src: /src/glib/girepository/girepository.c:1548,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1554
      start: 1537
    functionDepth: 0
    functionLinenumber: 1537
    functionLinenumberEnd: 1554
    functionName: gi_repository_get_typelib_path
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached:
    - GI_IS_REPOSITORY
    - g_return_val_if_fail
    - strlen
    - g_hash_table_lookup_extended
    linkageType: ''
    returnType: char*
    signature: 'const char *gi_repository_get_typelib_path (GIRepository *repository,
      const char *namespace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: require_internal
      Src: /src/glib/girepository/girepository.c:2035,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2040
      start: 2026
    functionDepth: 0
    functionLinenumber: 2026
    functionLinenumberEnd: 2040
    functionName: gi_repository_require
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached:
    - require_internal
    linkageType: ''
    returnType: GITypelib*
    signature: 'GITypelib *gi_repository_require (GIRepository *repository, const
      char *namespace, const char *version, GIRepositoryLoadFlags flags, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter_pointer
      Src: /src/glib/girepository/girepository.c:245,1
    - Dst: g_build_filename
      Src: /src/glib/girepository/girepository.c:250,1
    - Dst: g_ignore_leak
      Src: /src/glib/girepository/girepository.c:251,1
    - Dst: g_win32_get_package_installation_directory_of_module
      Src: /src/glib/girepository/girepository.c:249,1
    - Dst: gi_repository_get_library_path_macos
      Src: /src/glib/girepository/girepository.c:253,1
    - Dst: g_path_get_dirname
      Src: /src/glib/girepository/girepository.c:256,1
    - Dst: g_ignore_leak
      Src: /src/glib/girepository/girepository.c:257,1
    - Dst: g_once_init_leave_pointer
      Src: /src/glib/girepository/girepository.c:264,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 267
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 267
    functionName: gi_repository_get_libdir
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached:
    - g_path_get_dirname
    - g_once_init_leave_pointer
    - gi_repository_get_library_path_macos
    - g_build_filename
    - g_once_init_enter_pointer
    - g_ignore_leak
    - g_win32_get_package_installation_directory_of_module
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *gi_repository_get_libdir (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/girepository/girepository.c:501,1
    - Dst: g_string_append_c
      Src: /src/glib/girepository/girepository.c:502,1
    - Dst: g_string_free
      Src: /src/glib/girepository/girepository.c:504,1
    - Dst: g_string_append
      Src: /src/glib/girepository/girepository.c:503,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 505
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 505
    functionName: build_typelib_key
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached:
    - g_string_append_c
    - g_string_free
    - g_string_append
    - g_string_new
    linkageType: ''
    returnType: char*
    signature: 'static char *build_typelib_key (const char *name, const char *source) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gi_typelib_get_string
      Src: /src/glib/girepository/girepository.c:541,1
    - Dst: g_assert
      Src: /src/glib/girepository/girepository.c:542,1
    - Dst: strcmp
      Src: /src/glib/girepository/girepository.c:544,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 553
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 553
    functionName: check_version_conflict
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached:
    - g_assert
    - gi_typelib_get_string
    - strcmp
    linkageType: ''
    returnType: GITypelib*
    signature: 'static GITypelib *check_version_conflict (GITypelib *typelib, const
      char *namespace, const char *expected_version, char **version_conflict) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/girepository.c:743,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/girepository.c:744,1
    - Dst: GI_IS_REPOSITORY
      Src: /src/glib/girepository/girepository.c:743,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/girepository.c:747,1
    - Dst: get_registered
      Src: /src/glib/girepository/girepository.c:746,1
    - Dst: get_typelib_dependencies
      Src: /src/glib/girepository/girepository.c:750,1
    - Dst: g_strsplit
      Src: /src/glib/girepository/girepository.c:752,1
    - Dst: g_strv_length
      Src: /src/glib/girepository/girepository.c:755,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 758
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 758
    functionName: gi_repository_get_immediate_dependencies
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_strv_length
    - GI_IS_REPOSITORY
    - get_registered
    - g_strsplit
    - get_typelib_dependencies
    linkageType: ''
    returnType: char**
    signature: 'char **gi_repository_get_immediate_dependencies (GIRepository *repository,
      const char *namespace, size_t *n_dependencies_out) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/girepository.c:1164,1
    - Dst: get_registered
      Src: /src/glib/girepository/girepository.c:1167,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/girepository.c:1165,1
    - Dst: GI_IS_REPOSITORY
      Src: /src/glib/girepository/girepository.c:1164,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/girepository.c:1168,1
    - Dst: gi_typelib_get_dir_entry_by_name
      Src: /src/glib/girepository/girepository.c:1170,1
    - Dst: gi_info_new_full
      Src: /src/glib/girepository/girepository.c:1173,1
    - Dst: gi_typelib_blob_type_to_info_type
      Src: /src/glib/girepository/girepository.c:1173,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1156
    functionDepth: 0
    functionLinenumber: 1156
    functionLinenumberEnd: 1176
    functionName: gi_repository_find_by_name
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - gi_typelib_get_dir_entry_by_name
    - GI_IS_REPOSITORY
    - gi_typelib_blob_type_to_info_type
    - get_registered
    - gi_info_new_full
    linkageType: ''
    returnType: GIBaseInfo*
    signature: 'GIBaseInfo *gi_repository_find_by_name (GIRepository *repository,
      const char *namespace, const char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/girepository/girepository.c:1282,1
    - Dst: g_return_if_fail
      Src: /src/glib/girepository/girepository.c:1283,1
    - Dst: g_type_fundamental
      Src: /src/glib/girepository/girepository.c:1283,1
    - Dst: GI_IS_REPOSITORY
      Src: /src/glib/girepository/girepository.c:1282,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/girepository/girepository.c:1285,1
    - Dst: g_type_interfaces
      Src: /src/glib/girepository/girepository.c:1294,1
    - Dst: gi_repository_find_by_gtype
      Src: /src/glib/girepository/girepository.c:1299,1
    - Dst: gi_base_info_get_info_type
      Src: /src/glib/girepository/girepository.c:1303,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/girepository.c:1306,1
    - Dst: g_list_find
      Src: /src/glib/girepository/girepository.c:1310,1
    - Dst: g_malloc
      Src: /src/glib/girepository/girepository.c:1314,1
    - Dst: g_list_length
      Src: /src/glib/girepository/girepository.c:1316,1
    - Dst: g_hash_table_insert
      Src: /src/glib/girepository/girepository.c:1321,1
    - Dst: g_list_free
      Src: /src/glib/girepository/girepository.c:1319,1
    - Dst: g_free
      Src: /src/glib/girepository/girepository.c:1324,1
    - Dst: g_list_prepend
      Src: /src/glib/girepository/girepository.c:1311,1
    - Dst: g_list_length
      Src: /src/glib/girepository/girepository.c:1315,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 4
    argNames:
    - repository
    - gtype
    - n_interfaces_out
    - interfaces_out
    argTypes:
    - GIRepository*
    - GType
    - size_t*
    - GIInterfaceInfo***
    constantsTouched: []
    func_position:
      end: 1329
      start: 1274
    functionDepth: 0
    functionLinenumber: 1274
    functionLinenumberEnd: 1329
    functionName: gi_repository_get_object_gtype_interfaces
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached:
    - gi_repository_find_by_gtype
    - gi_base_info_unref
    - g_return_if_fail
    - g_list_prepend
    - g_list_length
    - g_hash_table_lookup
    - gi_base_info_get_info_type
    - g_malloc
    - g_hash_table_insert
    - g_list_free
    - g_type_interfaces
    - GI_IS_REPOSITORY
    - g_list_find
    - g_type_fundamental
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void gi_repository_get_object_gtype_interfaces (GIRepository *repository,
      GType gtype, size_t *n_interfaces_out, GIInterfaceInfo ***interfaces_out) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_str_equal
      Src: /src/glib/girepository/girepository.c:1734,1
    - Dst: g_free
      Src: /src/glib/girepository/girepository.c:1747,1
    - Dst: g_free
      Src: /src/glib/girepository/girepository.c:1765,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/girepository/girepository.c:1783,1
    - Dst: g_hash_table_new
      Src: /src/glib/girepository/girepository.c:1698,1
    - Dst: g_strdup_printf
      Src: /src/glib/girepository/girepository.c:1705,1
    - Dst: g_str_has_suffix
      Src: /src/glib/girepository/girepository.c:1724,1
    - Dst: g_str_has_prefix
      Src: /src/glib/girepository/girepository.c:1727,1
    - Dst: parse_version
      Src: /src/glib/girepository/girepository.c:1745,1
    - Dst: g_free
      Src: /src/glib/girepository/girepository.c:1756,1
    - Dst: strrchr
      Src: /src/glib/girepository/girepository.c:1742,1
    - Dst: g_slist_prepend
      Src: /src/glib/girepository/girepository.c:1774,1
    - Dst: g_dir_close
      Src: /src/glib/girepository/girepository.c:1777,1
    - Dst: g_free
      Src: /src/glib/girepository/girepository.c:1781,1
    - Dst: g_strdup_printf
      Src: /src/glib/girepository/girepository.c:1704,1
    - Dst: g_str_equal
      Src: /src/glib/girepository/girepository.c:1733,1
    - Dst: g_strndup
      Src: /src/glib/girepository/girepository.c:1744,1
    - Dst: g_build_filename
      Src: /src/glib/girepository/girepository.c:1760,1
    - Dst: g_free
      Src: /src/glib/girepository/girepository.c:1764,1
    - Dst: g_hash_table_add
      Src: /src/glib/girepository/girepository.c:1775,1
    - Dst: g_free
      Src: /src/glib/girepository/girepository.c:1782,1
    - Dst: g_dir_open
      Src: /src/glib/girepository/girepository.c:1715,1
    - Dst: g_dir_read_name
      Src: /src/glib/girepository/girepository.c:1718,1
    - Dst: g_debug
      Src: /src/glib/girepository/girepository.c:1736,1
    - Dst: g_mapped_file_new
      Src: /src/glib/girepository/girepository.c:1761,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/girepository/girepository.c:1754,1
    - Dst: strrchr
      Src: /src/glib/girepository/girepository.c:1743,1
    - Dst: g_clear_error
      Src: /src/glib/girepository/girepository.c:1766,1
    - Dst: g_slice_new0
      Src: /src/glib/girepository/girepository.c:1769,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1786
      start: 1692
    functionDepth: 0
    functionLinenumber: 1692
    functionLinenumberEnd: 1786
    functionName: enumerate_namespace_versions
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached:
    - g_dir_open
    - g_strdup_printf
    - g_slice_new0
    - strrchr
    - g_hash_table_lookup
    - g_build_filename
    - g_slist_prepend
    - parse_version
    - g_str_has_suffix
    - g_strndup
    - g_mapped_file_new
    - g_hash_table_new
    - g_hash_table_add
    - g_str_equal
    - g_clear_error
    - g_hash_table_destroy
    - g_debug
    - g_dir_read_name
    - g_str_has_prefix
    - g_free
    - g_dir_close
    linkageType: ''
    returnType: GSList*
    signature: 'static GSList *enumerate_namespace_versions (const char *namespace,
      const char * const *search_paths, size_t n_search_paths) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_group_new
      Src: /src/glib/girepository/girepository.c:2119,1
    - Dst: g_option_group_add_entries
      Src: /src/glib/girepository/girepository.c:2121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2123
      start: 2115
    functionDepth: 0
    functionLinenumber: 2115
    functionLinenumberEnd: 2123
    functionName: gi_repository_get_option_group
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached:
    - g_option_group_add_entries
    - g_option_group_new
    linkageType: ''
    returnType: GOptionGroup*
    signature: 'GOptionGroup *gi_repository_get_option_group (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_getenv
      Src: /src/glib/girepository/girepository.c:282,1
    - Dst: g_strsplit
      Src: /src/glib/girepository/girepository.c:288,1
    - Dst: g_ptr_array_new_null_terminated
      Src: /src/glib/girepository/girepository.c:294,1
    - Dst: g_ptr_array_new_take_null_terminated
      Src: /src/glib/girepository/girepository.c:290,1
    - Dst: g_steal_pointer
      Src: /src/glib/girepository/girepository.c:290,1
    - Dst: gi_repository_get_libdir
      Src: /src/glib/girepository/girepository.c:297,1
    - Dst: g_build_filename
      Src: /src/glib/girepository/girepository.c:299,1
    - Dst: g_ptr_array_add
      Src: /src/glib/girepository/girepository.c:301,1
    - Dst: g_steal_pointer
      Src: /src/glib/girepository/girepository.c:301,1
    - Dst: g_ptr_array_new_null_terminated
      Src: /src/glib/girepository/girepository.c:304,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/girepository/girepository.c:318,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/girepository/girepository.c:326,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/girepository/girepository.c:310,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/girepository/girepository.c:307,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/girepository/girepository.c:315,1
    - Dst: g_hash_table_new
      Src: /src/glib/girepository/girepository.c:329,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/girepository/girepository.c:322,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/girepository/girepository.c:312,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 1
    argNames:
    - repository
    argTypes:
    - GIRepository*
    constantsTouched: []
    func_position:
      end: 330
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 330
    functionName: gi_repository_init
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_getenv
    - g_ptr_array_new_take_null_terminated
    - g_ptr_array_new_null_terminated
    - g_hash_table_new_full
    - g_build_filename
    - g_ptr_array_new_with_free_func
    - g_strsplit
    - g_hash_table_new
    - gi_repository_get_libdir
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void gi_repository_init (GIRepository *repository) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/girepository/girepository.c:567,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/girepository/girepository.c:570,1
    - Dst: check_version_conflict
      Src: /src/glib/girepository/girepository.c:577,1
    - Dst: check_version_conflict
      Src: /src/glib/girepository/girepository.c:569,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 578
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 578
    functionName: get_registered_status
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached:
    - check_version_conflict
    - g_hash_table_lookup
    linkageType: ''
    returnType: GITypelib*
    signature: 'static GITypelib *get_registered_status (GIRepository *repository,
      const char *namespace, const char *version, gboolean allow_lazy, gboolean *lazy_status,
      char **version_conflict) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_index
      Src: /src/glib/girepository/girepository.c:1187,1
    - Dst: gi_typelib_get_dir_entry_by_error_domain
      Src: /src/glib/girepository/girepository.c:1190,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1178
    functionDepth: 0
    functionLinenumber: 1178
    functionLinenumberEnd: 1199
    functionName: find_by_error_domain
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached:
    - g_ptr_array_index
    - gi_typelib_get_dir_entry_by_error_domain
    linkageType: ''
    returnType: DirEntry*
    signature: 'static DirEntry *find_by_error_domain (GPtrArray *ordered_typelibs,
      GQuark target_domain, GITypelib **out_typelib) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: enumerate_namespace_versions
      Src: /src/glib/girepository/girepository.c:1801,1
    - Dst: g_slist_delete_link
      Src: /src/glib/girepository/girepository.c:1810,1
    - Dst: g_slist_free
      Src: /src/glib/girepository/girepository.c:1817,1
    - Dst: g_slist_foreach
      Src: /src/glib/girepository/girepository.c:1816,1
    - Dst: g_slist_sort
      Src: /src/glib/girepository/girepository.c:1806,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1820
      start: 1788
    functionDepth: 0
    functionLinenumber: 1788
    functionLinenumberEnd: 1820
    functionName: find_namespace_latest
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached:
    - g_slist_delete_link
    - enumerate_namespace_versions
    - g_slist_sort
    - g_slist_foreach
    - g_slist_free
    linkageType: ''
    returnType: GMappedFile*
    signature: 'static GMappedFile *find_namespace_latest (const char *namespace,
      const char * const *search_paths, size_t n_search_paths, char **version_ret,
      char **path_ret) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_quark_from_static_string
      Src: /src/glib/girepository/girepository.c:2130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2132
      start: 2125
    functionDepth: 0
    functionLinenumber: 2125
    functionLinenumberEnd: 2132
    functionName: gi_repository_error_quark
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached:
    - g_quark_from_static_string
    linkageType: ''
    returnType: GQuark
    signature: 'GQuark gi_repository_error_quark (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/girepository.c:480,1
    - Dst: GI_IS_REPOSITORY
      Src: /src/glib/girepository/girepository.c:480,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 496
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 496
    functionName: gi_repository_get_library_path
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached:
    - GI_IS_REPOSITORY
    - g_return_val_if_fail
    linkageType: ''
    returnType: char**
    signature: 'const char * const *gi_repository_get_library_path (GIRepository *repository,
      size_t *n_paths_out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/girepository.c:1015,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/girepository.c:1017,1
    - Dst: get_registered
      Src: /src/glib/girepository/girepository.c:1019,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/girepository.c:1016,1
    - Dst: GI_IS_REPOSITORY
      Src: /src/glib/girepository/girepository.c:1015,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/girepository.c:1021,1
    - Dst: gi_typelib_get_dir_entry
      Src: /src/glib/girepository/girepository.c:1023,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/girepository.c:1024,1
    - Dst: gi_info_new_full
      Src: /src/glib/girepository/girepository.c:1026,1
    - Dst: gi_typelib_blob_type_to_info_type
      Src: /src/glib/girepository/girepository.c:1026,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1029
    functionName: gi_repository_get_info
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - gi_typelib_get_dir_entry
    - GI_IS_REPOSITORY
    - gi_typelib_blob_type_to_info_type
    - get_registered
    - gi_info_new_full
    linkageType: ''
    returnType: GIBaseInfo*
    signature: 'GIBaseInfo *gi_repository_get_info (GIRepository *repository, const
      char *namespace, unsigned int idx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/girepository.c:1225,1
    - Dst: gi_base_info_ref
      Src: /src/glib/girepository/girepository.c:1231,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/girepository/girepository.c:1228,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/girepository/girepository.c:1227,1
    - Dst: GI_IS_REPOSITORY
      Src: /src/glib/girepository/girepository.c:1225,1
    - Dst: find_by_error_domain
      Src: /src/glib/girepository/girepository.c:1233,1
    - Dst: find_by_error_domain
      Src: /src/glib/girepository/girepository.c:1235,1
    - Dst: gi_info_new_full
      Src: /src/glib/girepository/girepository.c:1239,1
    - Dst: gi_typelib_blob_type_to_info_type
      Src: /src/glib/girepository/girepository.c:1239,1
    - Dst: g_hash_table_insert
      Src: /src/glib/girepository/girepository.c:1243,1
    - Dst: gi_base_info_ref
      Src: /src/glib/girepository/girepository.c:1245,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/girepository/girepository.c:1244,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1249
      start: 1217
    functionDepth: 0
    functionLinenumber: 1217
    functionLinenumberEnd: 1249
    functionName: gi_repository_find_by_error_domain
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - gi_base_info_ref
    - GUINT_TO_POINTER
    - g_hash_table_lookup
    - g_hash_table_insert
    - GI_IS_REPOSITORY
    - gi_typelib_blob_type_to_info_type
    - find_by_error_domain
    - gi_info_new_full
    linkageType: ''
    returnType: GIEnumInfo*
    signature: 'GIEnumInfo *gi_repository_find_by_error_domain (GIRepository *repository,
      GQuark domain) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/girepository.c:1367,1
    - Dst: collect_namespaces
      Src: /src/glib/girepository/girepository.c:1373,1
    - Dst: g_malloc0
      Src: /src/glib/girepository/girepository.c:1370,1
    - Dst: GI_IS_REPOSITORY
      Src: /src/glib/girepository/girepository.c:1367,1
    - Dst: collect_namespaces
      Src: /src/glib/girepository/girepository.c:1374,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1380
      start: 1359
    functionDepth: 0
    functionLinenumber: 1359
    functionLinenumberEnd: 1380
    functionName: gi_repository_get_loaded_namespaces
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached:
    - GI_IS_REPOSITORY
    - g_return_val_if_fail
    - collect_namespaces
    - g_malloc0
    linkageType: ''
    returnType: char**
    signature: 'char **gi_repository_get_loaded_namespaces (GIRepository *repository,
      size_t *n_namespaces_out) '
  - BBCount: 20
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2250
      start: 2206
    functionDepth: 0
    functionLinenumber: 2206
    functionLinenumberEnd: 2250
    functionName: gi_info_type_to_string
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *gi_info_type_to_string (GIInfoType type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/girepository/girepository.c:645,1
    - Dst: gi_typelib_get_namespace
      Src: /src/glib/girepository/girepository.c:646,1
    - Dst: gi_typelib_get_namespace
      Src: /src/glib/girepository/girepository.c:645,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 647
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 647
    functionName: sort_typelibs_cb
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached:
    - gi_typelib_get_namespace
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'static int sort_typelibs_cb (const void *a, const void *b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_str_equal
      Src: /src/glib/girepository/girepository.c:1569,1
    - Dst: g_str_equal
      Src: /src/glib/girepository/girepository.c:1570,1
    - Dst: g_debug
      Src: /src/glib/girepository/girepository.c:1572,1
    - Dst: g_strdup_printf
      Src: /src/glib/girepository/girepository.c:1579,1
    - Dst: g_build_filename
      Src: /src/glib/girepository/girepository.c:1583,1
    - Dst: g_mapped_file_new
      Src: /src/glib/girepository/girepository.c:1585,1
    - Dst: g_free
      Src: /src/glib/girepository/girepository.c:1588,1
    - Dst: g_clear_error
      Src: /src/glib/girepository/girepository.c:1589,1
    - Dst: g_free
      Src: /src/glib/girepository/girepository.c:1595,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1597
      start: 1558
    functionDepth: 0
    functionLinenumber: 1558
    functionLinenumberEnd: 1597
    functionName: find_namespace_version
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_strdup_printf
    - g_debug
    - g_mapped_file_new
    - g_build_filename
    - g_free
    - g_str_equal
    linkageType: ''
    returnType: GMappedFile*
    signature: 'static GMappedFile *find_namespace_version (const char *namespace,
      const char *version, const char * const *search_paths, size_t n_search_paths,
      char **path_ret) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: parse_version
      Src: /src/glib/girepository/girepository.c:1630,1
    - Dst: g_assert
      Src: /src/glib/girepository/girepository.c:1631,1
    - Dst: g_assert
      Src: /src/glib/girepository/girepository.c:1634,1
    - Dst: parse_version
      Src: /src/glib/girepository/girepository.c:1633,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1648
      start: 1622
    functionDepth: 0
    functionLinenumber: 1622
    functionLinenumberEnd: 1648
    functionName: compare_version
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached:
    - g_assert
    - parse_version
    linkageType: ''
    returnType: int
    signature: 'static int compare_version (const char *v1, const char *v2) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: compare_version
      Src: /src/glib/girepository/girepository.c:1662,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 2
    argNames:
    - c1
    - c2
    argTypes:
    - struct NamespaceVersionCandidadate*
    - struct NamespaceVersionCandidadate*
    constantsTouched: []
    func_position:
      end: 1681
      start: 1658
    functionDepth: 0
    functionLinenumber: 1658
    functionLinenumberEnd: 1681
    functionName: compare_candidate_reverse
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached:
    - compare_version
    linkageType: ''
    returnType: int
    signature: 'static int compare_candidate_reverse (struct NamespaceVersionCandidadate
      *c1, struct NamespaceVersionCandidadate *c2) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/girepository.c:1847,1
    - Dst: g_ptr_array_new_null_terminated
      Src: /src/glib/girepository/girepository.c:1860,1
    - Dst: GI_IS_REPOSITORY
      Src: /src/glib/girepository/girepository.c:1847,1
    - Dst: enumerate_namespace_versions
      Src: /src/glib/girepository/girepository.c:1849,1
    - Dst: g_strdupv
      Src: /src/glib/girepository/girepository.c:1857,1
    - Dst: g_ptr_array_add
      Src: /src/glib/girepository/girepository.c:1864,1
    - Dst: g_steal_pointer
      Src: /src/glib/girepository/girepository.c:1864,1
    - Dst: free_candidate
      Src: /src/glib/girepository/girepository.c:1865,1
    - Dst: g_slist_free
      Src: /src/glib/girepository/girepository.c:1867,1
    - Dst: gi_repository_is_registered
      Src: /src/glib/girepository/girepository.c:1873,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girepository.c:1878,1
    - Dst: g_ptr_array_find_with_equal_func
      Src: /src/glib/girepository/girepository.c:1877,1
    - Dst: g_ptr_array_steal
      Src: /src/glib/girepository/girepository.c:1881,1
    - Dst: g_steal_pointer
      Src: /src/glib/girepository/girepository.c:1882,1
    - Dst: g_ptr_array_add
      Src: /src/glib/girepository/girepository.c:1878,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/girepository/girepository.c:1882,1
    - Dst: gi_repository_get_version
      Src: /src/glib/girepository/girepository.c:1875,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1885
      start: 1837
    functionDepth: 0
    functionLinenumber: 1837
    functionLinenumberEnd: 1885
    functionName: gi_repository_enumerate_versions
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_ptr_array_unref
    - g_return_val_if_fail
    - g_strdupv
    - g_strdup
    - g_ptr_array_steal
    - free_candidate
    - enumerate_namespace_versions
    - gi_repository_is_registered
    - g_ptr_array_find_with_equal_func
    - g_ptr_array_new_null_terminated
    - GI_IS_REPOSITORY
    - gi_repository_get_version
    - g_slist_free
    - g_ptr_array_add
    linkageType: ''
    returnType: char**
    signature: 'char **gi_repository_enumerate_versions (GIRepository *repository,
      const char *namespace_, size_t *n_versions_out) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strsplit
      Src: /src/glib/girepository/girepository.c:2086,1
    - Dst: exit
      Src: /src/glib/girepository/girepository.c:2092,1
    - Dst: g_error
      Src: /src/glib/girepository/girepository.c:2090,1
    - Dst: exit
      Src: /src/glib/girepository/girepository.c:2094,1
    - Dst: gi_repository_dump
      Src: /src/glib/girepository/girepository.c:2088,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 4
    argNames:
    - option_name
    - value
    - data
    - error
    argTypes:
    - char*
    - char*
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 2095
      start: 2077
    functionDepth: 0
    functionLinenumber: 2077
    functionLinenumberEnd: 2095
    functionName: gi_repository_introspect_cb
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached:
    - g_error
    - gi_repository_dump
    - g_strsplit
    - exit
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean gi_repository_introspect_cb (const char *option_name,
      const char *value, gpointer data, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gi_typelib_get_string
      Src: /src/glib/girepository/girepository.c:665,1
    - Dst: g_hash_table_remove
      Src: /src/glib/girepository/girepository.c:690,1
    - Dst: g_hash_table_insert
      Src: /src/glib/girepository/girepository.c:671,1
    - Dst: gi_typelib_ref
      Src: /src/glib/girepository/girepository.c:672,1
    - Dst: g_ptr_array_sort
      Src: /src/glib/girepository/girepository.c:674,1
    - Dst: g_hash_table_insert
      Src: /src/glib/girepository/girepository.c:698,1
    - Dst: gi_typelib_ref
      Src: /src/glib/girepository/girepository.c:700,1
    - Dst: build_typelib_key
      Src: /src/glib/girepository/girepository.c:695,1
    - Dst: g_ptr_array_sort
      Src: /src/glib/girepository/girepository.c:702,1
    - Dst: g_hash_table_remove_all
      Src: /src/glib/girepository/girepository.c:706,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/girepository.c:659,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/girepository.c:663,1
    - Dst: build_typelib_key
      Src: /src/glib/girepository/girepository.c:672,1
    - Dst: g_steal_pointer
      Src: /src/glib/girepository/girepository.c:699,1
    - Dst: g_assert
      Src: /src/glib/girepository/girepository.c:669,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/girepository/girepository.c:669,1
    - Dst: g_ptr_array_add
      Src: /src/glib/girepository/girepository.c:673,1
    - Dst: load_dependencies_recurse
      Src: /src/glib/girepository/girepository.c:682,1
    - Dst: g_hash_table_lookup_extended
      Src: /src/glib/girepository/girepository.c:686,1
    - Dst: g_ptr_array_add
      Src: /src/glib/girepository/girepository.c:701,1
    - Dst: g_ptr_array_remove
      Src: /src/glib/girepository/girepository.c:691,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 709
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 709
    functionName: register_internal
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached:
    - g_ptr_array_remove
    - g_steal_pointer
    - gi_typelib_get_string
    - g_return_val_if_fail
    - gi_typelib_ref
    - g_hash_table_lookup_extended
    - g_hash_table_remove
    - g_assert
    - build_typelib_key
    - g_hash_table_lookup
    - g_hash_table_insert
    - g_ptr_array_sort
    - g_hash_table_remove_all
    - g_ptr_array_add
    - load_dependencies_recurse
    linkageType: ''
    returnType: char*
    signature: 'static const char *register_internal (GIRepository *repository, const
      char *source, gboolean lazy, GITypelib *typelib, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/glib/girepository/girepository.c:1607,1
    - Dst: strlen
      Src: /src/glib/girepository/girepository.c:1617,1
    - Dst: strtol
      Src: /src/glib/girepository/girepository.c:1616,1
    - Dst: strchr
      Src: /src/glib/girepository/girepository.c:1608,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - version
    - major
    - minor
    argTypes:
    - char*
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 1620
      start: 1599
    functionDepth: 0
    functionLinenumber: 1599
    functionLinenumberEnd: 1620
    functionName: parse_version
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached:
    - strchr
    - strlen
    - strtol
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean parse_version (const char *version, int *major, int
      *minor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mapped_file_unref
      Src: /src/glib/girepository/girepository.c:1686,1
    - Dst: g_free
      Src: /src/glib/girepository/girepository.c:1688,1
    - Dst: g_free
      Src: /src/glib/girepository/girepository.c:1687,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - candidate
    argTypes:
    - struct NamespaceVersionCandidadate*
    constantsTouched: []
    func_position:
      end: 1690
      start: 1683
    functionDepth: 0
    functionLinenumber: 1683
    functionLinenumberEnd: 1690
    functionName: free_candidate
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached:
    - g_free
    - g_mapped_file_unref
    linkageType: ''
    returnType: void
    signature: 'static void free_candidate (struct NamespaceVersionCandidadate *candidate) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/girepository.c:1908,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girepository.c:1929,1
    - Dst: find_namespace_latest
      Src: /src/glib/girepository/girepository.c:1933,1
    - Dst: g_set_error
      Src: /src/glib/girepository/girepository.c:1945,1
    - Dst: gi_typelib_new_from_bytes
      Src: /src/glib/girepository/girepository.c:1957,1
    - Dst: g_bytes_unref
      Src: /src/glib/girepository/girepository.c:1958,1
    - Dst: strcmp
      Src: /src/glib/girepository/girepository.c:1986,1
    - Dst: g_set_error
      Src: /src/glib/girepository/girepository.c:1988,1
    - Dst: register_internal
      Src: /src/glib/girepository/girepository.c:1996,1
    - Dst: g_free
      Src: /src/glib/girepository/girepository.c:2003,1
    - Dst: g_ptr_array_ref
      Src: /src/glib/girepository/girepository.c:1971,1
    - Dst: g_clear_error
      Src: /src/glib/girepository/girepository.c:1967,1
    - Dst: g_set_error
      Src: /src/glib/girepository/girepository.c:1963,1
    - Dst: strcmp
      Src: /src/glib/girepository/girepository.c:1977,1
    - Dst: g_set_error
      Src: /src/glib/girepository/girepository.c:1979,1
    - Dst: get_registered_status
      Src: /src/glib/girepository/girepository.c:1911,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/girepository.c:1909,1
    - Dst: g_set_error
      Src: /src/glib/girepository/girepository.c:1940,1
    - Dst: g_mapped_file_get_bytes
      Src: /src/glib/girepository/girepository.c:1956,1
    - Dst: gi_typelib_get_string
      Src: /src/glib/girepository/girepository.c:1974,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/girepository.c:2001,1
    - Dst: g_set_error
      Src: /src/glib/girepository/girepository.c:1918,1
    - Dst: GI_IS_REPOSITORY
      Src: /src/glib/girepository/girepository.c:1908,1
    - Dst: find_namespace_version
      Src: /src/glib/girepository/girepository.c:1927,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/girepository.c:1959,1
    - Dst: gi_typelib_get_string
      Src: /src/glib/girepository/girepository.c:1975,1
    - Dst: g_free
      Src: /src/glib/girepository/girepository.c:2002,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2005
      start: 1887
    functionDepth: 0
    functionLinenumber: 1887
    functionLinenumberEnd: 2005
    functionName: require_internal
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_clear_error
    - gi_typelib_get_string
    - g_return_val_if_fail
    - g_strdup
    - register_internal
    - gi_typelib_new_from_bytes
    - strcmp
    - find_namespace_latest
    - g_bytes_unref
    - g_clear_pointer
    - GI_IS_REPOSITORY
    - find_namespace_version
    - get_registered_status
    - g_mapped_file_get_bytes
    - g_free
    - g_ptr_array_ref
    linkageType: ''
    returnType: GITypelib*
    signature: 'static GITypelib *require_internal (GIRepository *repository, const
      char *namespace, const char *version, GIRepositoryLoadFlags flags, const char
      * const *search_paths, size_t n_search_paths, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - blob_type
    argTypes:
    - GITypelibBlobType
    constantsTouched: []
    func_position:
      end: 2268
      start: 2252
    functionDepth: 0
    functionLinenumber: 2252
    functionLinenumberEnd: 2268
    functionName: gi_typelib_blob_type_to_info_type
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GIInfoType
    signature: 'GIInfoType gi_typelib_blob_type_to_info_type (GITypelibBlobType blob_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gi_typelib_get_string
      Src: /src/glib/girepository/girepository.c:520,1
    - Dst: g_strsplit
      Src: /src/glib/girepository/girepository.c:521,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 522
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 522
    functionName: get_typelib_dependencies
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached:
    - gi_typelib_get_string
    - g_strsplit
    linkageType: ''
    returnType: char**
    signature: 'static char **get_typelib_dependencies (GITypelib *typelib) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_typelib_dependencies
      Src: /src/glib/girepository/girepository.c:771,1
    - Dst: get_registered
      Src: /src/glib/girepository/girepository.c:789,1
    - Dst: strrchr
      Src: /src/glib/girepository/girepository.c:786,1
    - Dst: g_strndup
      Src: /src/glib/girepository/girepository.c:787,1
    - Dst: g_hash_table_add
      Src: /src/glib/girepository/girepository.c:782,1
    - Dst: g_return_if_fail
      Src: /src/glib/girepository/girepository.c:790,1
    - Dst: get_typelib_dependencies_transitive
      Src: /src/glib/girepository/girepository.c:791,1
    - Dst: g_free
      Src: /src/glib/girepository/girepository.c:794,1
    - Dst: g_free
      Src: /src/glib/girepository/girepository.c:797,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 3
    argNames:
    - repository
    - typelib
    - transitive_dependencies
    argTypes:
    - GIRepository*
    - GITypelib*
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 798
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 798
    functionName: get_typelib_dependencies_transitive
    functionSourceFile: /src/glib/girepository/girepository.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - g_strndup
    - strrchr
    - get_typelib_dependencies_transitive
    - get_registered
    - get_typelib_dependencies
    - g_free
    - g_hash_table_add
    linkageType: ''
    returnType: void
    signature: 'static void get_typelib_dependencies_transitive (GIRepository *repository,
      GITypelib *typelib, GHashTable *transitive_dependencies) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gitypeinfo.c:252,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gitypeinfo.c:253,1
    - Dst: GI_IS_TYPE_INFO
      Src: /src/glib/girepository/gitypeinfo.c:253,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 2
    argNames:
    - info
    - out_length_index
    argTypes:
    - GITypeInfo*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 275
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 275
    functionName: gi_type_info_get_array_length_index
    functionSourceFile: /src/glib/girepository/gitypeinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_TYPE_INFO
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean gi_type_info_get_array_length_index (GITypeInfo *info, unsigned
      int *out_length_index) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gitypeinfo.c:143,1
    - Dst: gi_type_info_new
      Src: /src/glib/girepository/gitypeinfo.c:158,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gitypeinfo.c:144,1
    - Dst: GI_IS_TYPE_INFO
      Src: /src/glib/girepository/gitypeinfo.c:144,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 168
    functionName: gi_type_info_get_param_type
    functionSourceFile: /src/glib/girepository/gitypeinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_TYPE_INFO
    - g_return_val_if_fail
    - gi_type_info_new
    linkageType: ''
    returnType: GITypeInfo*
    signature: 'GITypeInfo *gi_type_info_get_param_type (GITypeInfo *info, unsigned
      int n) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gitypeinfo.c:297,1
    - Dst: GI_IS_TYPE_INFO
      Src: /src/glib/girepository/gitypeinfo.c:298,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gitypeinfo.c:298,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 2
    argNames:
    - info
    - out_size
    argTypes:
    - GITypeInfo*
    - size_t*
    constantsTouched: []
    func_position:
      end: 320
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 320
    functionName: gi_type_info_get_array_fixed_size
    functionSourceFile: /src/glib/girepository/gitypeinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_TYPE_INFO
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean gi_type_info_get_array_fixed_size (GITypeInfo *info, size_t
      *out_size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gi_type_info_get_tag
      Src: /src/glib/girepository/gitypeinfo.c:407,1
    - Dst: gi_base_info_get_info_type
      Src: /src/glib/girepository/gitypeinfo.c:412,1
    - Dst: gi_enum_info_get_storage_type
      Src: /src/glib/girepository/gitypeinfo.c:414,1
    - Dst: gi_type_info_get_interface
      Src: /src/glib/girepository/gitypeinfo.c:411,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/gitypeinfo.c:415,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - info
    argTypes:
    - GITypeInfo*
    constantsTouched: []
    func_position:
      end: 419
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 419
    functionName: gi_type_info_get_storage_type
    functionSourceFile: /src/glib/girepository/gitypeinfo.c
    functionUses: []
    functionsReached:
    - gi_type_info_get_interface
    - gi_base_info_unref
    - gi_base_info_get_info_type
    - gi_enum_info_get_storage_type
    - gi_type_info_get_tag
    linkageType: ''
    returnType: GITypeTag
    signature: 'GITypeTag gi_type_info_get_storage_type (GITypeInfo *info) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/girepository/gitypeinfo.c:455,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/girepository/gitypeinfo.c:461,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/girepository/gitypeinfo.c:458,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/girepository/gitypeinfo.c:467,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/girepository/gitypeinfo.c:464,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/girepository/gitypeinfo.c:470,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/girepository/gitypeinfo.c:474,1
    - Dst: GPOINTER_TO_SIZE
      Src: /src/glib/girepository/gitypeinfo.c:477,1
    - Dst: g_critical
      Src: /src/glib/girepository/gitypeinfo.c:494,1
    - Dst: gi_type_tag_to_string
      Src: /src/glib/girepository/gitypeinfo.c:495,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 24
    argCount: 3
    argNames:
    - storage_type
    - hash_pointer
    - arg
    argTypes:
    - GITypeTag
    - void*
    - GIArgument*
    constantsTouched: []
    func_position:
      end: 498
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 498
    functionName: gi_type_tag_argument_from_hash_pointer
    functionSourceFile: /src/glib/girepository/gitypeinfo.c
    functionUses: []
    functionsReached:
    - gi_type_tag_to_string
    - GPOINTER_TO_INT
    - GPOINTER_TO_SIZE
    - GPOINTER_TO_UINT
    - g_critical
    linkageType: ''
    returnType: void
    signature: 'void gi_type_tag_argument_from_hash_pointer (GITypeTag storage_type,
      void *hash_pointer, GIArgument *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gi_type_info_get_storage_type
      Src: /src/glib/girepository/gitypeinfo.c:632,1
    - Dst: gi_type_tag_hash_pointer_from_argument
      Src: /src/glib/girepository/gitypeinfo.c:633,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 634
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 634
    functionName: gi_type_info_hash_pointer_from_argument
    functionSourceFile: /src/glib/girepository/gitypeinfo.c
    functionUses: []
    functionsReached:
    - gi_type_info_get_storage_type
    - gi_type_tag_hash_pointer_from_argument
    linkageType: ''
    returnType: void*
    signature: 'void *gi_type_info_hash_pointer_from_argument (GITypeInfo *info, GIArgument
      *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gitypeinfo.c:76,1
    - Dst: GI_IS_TYPE_INFO
      Src: /src/glib/girepository/gitypeinfo.c:77,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gitypeinfo.c:77,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - info
    argTypes:
    - GITypeInfo*
    constantsTouched: []
    func_position:
      end: 89
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 89
    functionName: gi_type_info_is_pointer
    functionSourceFile: /src/glib/girepository/gitypeinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_TYPE_INFO
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean gi_type_info_is_pointer (GITypeInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - g_class
    - class_data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 643
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 643
    functionName: gi_type_info_class_init
    functionSourceFile: /src/glib/girepository/gitypeinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gi_type_info_class_init (gpointer g_class, gpointer class_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gitypeinfo.c:108,1
    - Dst: GI_IS_TYPE_INFO
      Src: /src/glib/girepository/gitypeinfo.c:109,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gitypeinfo.c:109,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 1
    argNames:
    - info
    argTypes:
    - GITypeInfo*
    constantsTouched: []
    func_position:
      end: 123
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 123
    functionName: gi_type_info_get_tag
    functionSourceFile: /src/glib/girepository/gitypeinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_TYPE_INFO
    - g_return_val_if_fail
    linkageType: ''
    returnType: GITypeTag
    signature: 'GITypeTag gi_type_info_get_tag (GITypeInfo *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gitypeinfo.c:193,1
    - Dst: gi_base_info_new
      Src: /src/glib/girepository/gitypeinfo.c:214,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gitypeinfo.c:194,1
    - Dst: g_assert_not_reached
      Src: /src/glib/girepository/gitypeinfo.c:211,1
    - Dst: GI_IS_TYPE_INFO
      Src: /src/glib/girepository/gitypeinfo.c:194,1
    - Dst: gi_info_from_entry
      Src: /src/glib/girepository/gitypeinfo.c:225,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 230
    functionName: gi_type_info_get_interface
    functionSourceFile: /src/glib/girepository/gitypeinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_TYPE_INFO
    - g_return_val_if_fail
    - gi_info_from_entry
    - gi_base_info_new
    - g_assert_not_reached
    linkageType: ''
    returnType: GIBaseInfo*
    signature: 'GIBaseInfo *gi_type_info_get_interface (GITypeInfo *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gitypeinfo.c:339,1
    - Dst: GI_IS_TYPE_INFO
      Src: /src/glib/girepository/gitypeinfo.c:340,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gitypeinfo.c:340,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - info
    argTypes:
    - GITypeInfo*
    constantsTouched: []
    func_position:
      end: 353
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 353
    functionName: gi_type_info_is_zero_terminated
    functionSourceFile: /src/glib/girepository/gitypeinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_TYPE_INFO
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean gi_type_info_is_zero_terminated (GITypeInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gitypeinfo.c:375,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gitypeinfo.c:383,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gitypeinfo.c:376,1
    - Dst: GI_IS_TYPE_INFO
      Src: /src/glib/girepository/gitypeinfo.c:376,1
    - Dst: g_assert_not_reached
      Src: /src/glib/girepository/gitypeinfo.c:389,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - info
    argTypes:
    - GITypeInfo*
    constantsTouched: []
    func_position:
      end: 390
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 390
    functionName: gi_type_info_get_array_type
    functionSourceFile: /src/glib/girepository/gitypeinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_TYPE_INFO
    - g_return_val_if_fail
    - g_assert_not_reached
    linkageType: ''
    returnType: GIArrayType
    signature: 'GIArrayType gi_type_info_get_array_type (GITypeInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gi_type_info_get_storage_type
      Src: /src/glib/girepository/gitypeinfo.c:529,1
    - Dst: gi_type_tag_argument_from_hash_pointer
      Src: /src/glib/girepository/gitypeinfo.c:530,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - info
    - hash_pointer
    - arg
    argTypes:
    - GITypeInfo*
    - void*
    - GIArgument*
    constantsTouched: []
    func_position:
      end: 532
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 532
    functionName: gi_type_info_argument_from_hash_pointer
    functionSourceFile: /src/glib/girepository/gitypeinfo.c
    functionUses: []
    functionsReached:
    - gi_type_info_get_storage_type
    - gi_type_tag_argument_from_hash_pointer
    linkageType: ''
    returnType: void
    signature: 'void gi_type_info_argument_from_hash_pointer (GITypeInfo *info, void
      *hash_pointer, GIArgument *arg) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: GINT_TO_POINTER
      Src: /src/glib/girepository/gitypeinfo.c:567,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/girepository/gitypeinfo.c:575,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/girepository/gitypeinfo.c:571,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/girepository/gitypeinfo.c:569,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/girepository/gitypeinfo.c:573,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/girepository/gitypeinfo.c:577,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/girepository/gitypeinfo.c:580,1
    - Dst: GSIZE_TO_POINTER
      Src: /src/glib/girepository/gitypeinfo.c:582,1
    - Dst: g_critical
      Src: /src/glib/girepository/gitypeinfo.c:597,1
    - Dst: gi_type_tag_to_string
      Src: /src/glib/girepository/gitypeinfo.c:598,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 601
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 601
    functionName: gi_type_tag_hash_pointer_from_argument
    functionSourceFile: /src/glib/girepository/gitypeinfo.c
    functionUses: []
    functionsReached:
    - gi_type_tag_to_string
    - GSIZE_TO_POINTER
    - GUINT_TO_POINTER
    - g_critical
    - GINT_TO_POINTER
    linkageType: ''
    returnType: void*
    signature: 'void *gi_type_tag_hash_pointer_from_argument (GITypeTag storage_type,
      GIArgument *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/girepository/givfuncinfo.c:61,1
    - Dst: gi_base_info_new
      Src: /src/glib/girepository/givfuncinfo.c:62,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 69
    functionName: gi_base_info_find_vfunc
    functionSourceFile: /src/glib/girepository/givfuncinfo.c
    functionUses: []
    functionsReached:
    - gi_base_info_new
    - strcmp
    linkageType: ''
    returnType: GIVFuncInfo*
    signature: 'GIVFuncInfo *gi_base_info_find_vfunc (GIRealInfo *rinfo, uint32_t
      offset, uint16_t n_vfuncs, const char *name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/givfuncinfo.c:185,1
    - Dst: GI_IS_VFUNC_INFO
      Src: /src/glib/girepository/givfuncinfo.c:186,1
    - Dst: gi_base_info_get_info_type
      Src: /src/glib/girepository/givfuncinfo.c:195,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/givfuncinfo.c:186,1
    - Dst: gi_object_info_get_method
      Src: /src/glib/girepository/givfuncinfo.c:197,1
    - Dst: gi_interface_info_get_method
      Src: /src/glib/girepository/givfuncinfo.c:199,1
    - Dst: g_assert_not_reached
      Src: /src/glib/girepository/givfuncinfo.c:201,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 202
    functionName: gi_vfunc_info_get_invoker
    functionSourceFile: /src/glib/girepository/givfuncinfo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - gi_base_info_get_info_type
    - g_assert_not_reached
    - gi_object_info_get_method
    - gi_interface_info_get_method
    - GI_IS_VFUNC_INFO
    linkageType: ''
    returnType: GIFunctionInfo*
    signature: 'GIFunctionInfo *gi_vfunc_info_get_invoker (GIVFuncInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/givfuncinfo.c:126,1
    - Dst: GI_IS_VFUNC_INFO
      Src: /src/glib/girepository/givfuncinfo.c:127,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/givfuncinfo.c:127,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIVFuncInfo*
    constantsTouched: []
    func_position:
      end: 132
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 132
    functionName: gi_vfunc_info_get_offset
    functionSourceFile: /src/glib/girepository/givfuncinfo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - GI_IS_VFUNC_INFO
    linkageType: ''
    returnType: size_t
    signature: 'size_t gi_vfunc_info_get_offset (GIVFuncInfo *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/girepository/givfuncinfo.c:253,1
    - Dst: g_set_error
      Src: /src/glib/girepository/givfuncinfo.c:265,1
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/givfuncinfo.c:253,1
    - Dst: GI_IS_VFUNC_INFO
      Src: /src/glib/girepository/givfuncinfo.c:231,1
    - Dst: gi_object_info_get_class_struct
      Src: /src/glib/girepository/givfuncinfo.c:239,1
    - Dst: gi_struct_info_get_field
      Src: /src/glib/girepository/givfuncinfo.c:251,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/givfuncinfo.c:255,1
    - Dst: g_type_class_ref
      Src: /src/glib/girepository/givfuncinfo.c:272,1
    - Dst: g_type_interface_peek
      Src: /src/glib/girepository/givfuncinfo.c:283,1
    - Dst: g_type_class_unref
      Src: /src/glib/girepository/givfuncinfo.c:288,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/givfuncinfo.c:289,1
    - Dst: gi_base_info_get_container
      Src: /src/glib/girepository/givfuncinfo.c:234,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/givfuncinfo.c:232,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/givfuncinfo.c:231,1
    - Dst: gi_base_info_get_info_type
      Src: /src/glib/girepository/givfuncinfo.c:235,1
    - Dst: g_type_name
      Src: /src/glib/girepository/givfuncinfo.c:297,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/givfuncinfo.c:230,1
    - Dst: gi_interface_info_get_iface_struct
      Src: /src/glib/girepository/givfuncinfo.c:245,1
    - Dst: gi_struct_info_get_n_fields
      Src: /src/glib/girepository/givfuncinfo.c:248,1
    - Dst: gi_field_info_get_offset
      Src: /src/glib/girepository/givfuncinfo.c:286,1
    - Dst: gi_registered_type_info_get_g_type
      Src: /src/glib/girepository/givfuncinfo.c:282,1
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/givfuncinfo.c:254,1
    - Dst: G_STRUCT_MEMBER_P
      Src: /src/glib/girepository/givfuncinfo.c:287,1
    - Dst: g_set_error
      Src: /src/glib/girepository/givfuncinfo.c:293,1
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/givfuncinfo.c:298,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/givfuncinfo.c:303,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 306
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 306
    functionName: gi_vfunc_info_get_address
    functionSourceFile: /src/glib/girepository/givfuncinfo.c
    functionUses: []
    functionsReached:
    - gi_field_info_get_offset
    - gi_struct_info_get_field
    - gi_base_info_unref
    - gi_object_info_get_class_struct
    - strcmp
    - gi_base_info_get_container
    - G_STRUCT_MEMBER_P
    - gi_registered_type_info_get_g_type
    - g_type_class_unref
    - gi_base_info_get_name
    - g_set_error
    - gi_base_info_get_info_type
    - g_return_val_if_fail
    - g_type_class_ref
    - gi_interface_info_get_iface_struct
    - g_type_interface_peek
    - gi_struct_info_get_n_fields
    - GI_IS_VFUNC_INFO
    - g_type_name
    linkageType: ''
    returnType: void*
    signature: 'void *gi_vfunc_info_get_address (GIVFuncInfo *vfunc_info, GType implementor_gtype,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - g_class
    - class_data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 379
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 379
    functionName: gi_vfunc_info_class_init
    functionSourceFile: /src/glib/girepository/givfuncinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gi_vfunc_info_class_init (gpointer g_class, gpointer class_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/givfuncinfo.c:152,1
    - Dst: GI_IS_VFUNC_INFO
      Src: /src/glib/girepository/givfuncinfo.c:153,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/givfuncinfo.c:153,1
    - Dst: gi_interface_info_get_signal
      Src: /src/glib/girepository/givfuncinfo.c:158,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 161
    functionName: gi_vfunc_info_get_signal
    functionSourceFile: /src/glib/girepository/givfuncinfo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - GI_IS_VFUNC_INFO
    - gi_interface_info_get_signal
    linkageType: ''
    returnType: GISignalInfo*
    signature: 'GISignalInfo *gi_vfunc_info_get_signal (GIVFuncInfo *info) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/givfuncinfo.c:90,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/givfuncinfo.c:91,1
    - Dst: GI_IS_VFUNC_INFO
      Src: /src/glib/girepository/givfuncinfo.c:91,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIVFuncInfo*
    constantsTouched: []
    func_position:
      end: 107
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 107
    functionName: gi_vfunc_info_get_flags
    functionSourceFile: /src/glib/girepository/givfuncinfo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - GI_IS_VFUNC_INFO
    linkageType: ''
    returnType: GIVFuncInfoFlags
    signature: 'GIVFuncInfoFlags gi_vfunc_info_get_flags (GIVFuncInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/givfuncinfo.c:349,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/givfuncinfo.c:352,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/givfuncinfo.c:350,1
    - Dst: GI_IS_VFUNC_INFO
      Src: /src/glib/girepository/givfuncinfo.c:350,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/givfuncinfo.c:351,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/givfuncinfo.c:353,1
    - Dst: gi_vfunc_info_get_address
      Src: /src/glib/girepository/givfuncinfo.c:355,1
    - Dst: g_propagate_error
      Src: /src/glib/girepository/givfuncinfo.c:358,1
    - Dst: g_steal_pointer
      Src: /src/glib/girepository/givfuncinfo.c:358,1
    - Dst: gi_callable_info_invoke
      Src: /src/glib/girepository/givfuncinfo.c:362,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 8
    argNames:
    - info
    - implementor
    - in_args
    - n_in_args
    - out_args
    - n_out_args
    - return_value
    - error
    argTypes:
    - GIVFuncInfo*
    - GType
    - GIArgument*
    - size_t
    - GIArgument*
    - size_t
    - GIArgument*
    - GError**
    constantsTouched: []
    func_position:
      end: 370
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 370
    functionName: gi_vfunc_info_invoke
    functionSourceFile: /src/glib/girepository/givfuncinfo.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_steal_pointer
    - g_return_val_if_fail
    - gi_vfunc_info_get_address
    - gi_callable_info_invoke
    - GI_IS_VFUNC_INFO
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean gi_vfunc_info_invoke (GIVFuncInfo *info, GType implementor,
      const GIArgument *in_args, size_t n_in_args, GIArgument *out_args, size_t n_out_args,
      GIArgument *return_value, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_type_class_ref
      Src: /src/glib/girepository/gdump.c:482,1
    - Dst: escaped_printf
      Src: /src/glib/girepository/gdump.c:483,1
    - Dst: goutput_write
      Src: /src/glib/girepository/gdump.c:493,1
    - Dst: g_type_name
      Src: /src/glib/girepository/gdump.c:484,1
    - Dst: escaped_printf
      Src: /src/glib/girepository/gdump.c:490,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - type
    - symbol
    - out
    argTypes:
    - GType
    - char*
    - FILE*
    constantsTouched: []
    func_position:
      end: 494
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 494
    functionName: dump_enum_type
    functionSourceFile: /src/glib/girepository/gdump.c
    functionUses: []
    functionsReached:
    - goutput_write
    - escaped_printf
    - g_type_class_ref
    - g_type_name
    linkageType: ''
    returnType: void
    signature: 'static void dump_enum_type (GType type, const char *symbol, FILE *out) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/girepository/gdump.c:109,1
    - Dst: g_critical
      Src: /src/glib/girepository/gdump.c:114,1
    - Dst: strlen
      Src: /src/glib/girepository/gdump.c:112,1
    - Dst: write_all
      Src: /src/glib/girepository/gdump.c:112,1
    - Dst: g_markup_vprintf_escaped
      Src: /src/glib/girepository/gdump.c:111,1
    - Dst: g_clear_error
      Src: /src/glib/girepository/gdump.c:115,1
    - Dst: g_free
      Src: /src/glib/girepository/gdump.c:117,1
    - Dst: va_end
      Src: /src/glib/girepository/gdump.c:119,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - out
    - fmt
    - '...'
    argTypes:
    - FILE*
    - char*
    constantsTouched: []
    func_position:
      end: 120
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 120
    functionName: escaped_printf
    functionSourceFile: /src/glib/girepository/gdump.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - strlen
    - write_all
    - g_critical
    - va_end
    - g_free
    - va_start
    - g_markup_vprintf_escaped
    linkageType: ''
    returnType: void
    signature: 'static void escaped_printf (FILE *out, const char *fmt, ...) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: G_TYPE_IS_ABSTRACT
      Src: /src/glib/girepository/gdump.c:510,1
    - Dst: escaped_printf
      Src: /src/glib/girepository/gdump.c:514,1
    - Dst: G_TYPE_IS_INSTANTIATABLE
      Src: /src/glib/girepository/gdump.c:516,1
    - Dst: g_string_new
      Src: /src/glib/girepository/gdump.c:520,1
    - Dst: goutput_write
      Src: /src/glib/girepository/gdump.c:537,1
    - Dst: g_type_name
      Src: /src/glib/girepository/gdump.c:527,1
    - Dst: g_free
      Src: /src/glib/girepository/gdump.c:546,1
    - Dst: g_string_append
      Src: /src/glib/girepository/gdump.c:529,1
    - Dst: escaped_printf
      Src: /src/glib/girepository/gdump.c:534,1
    - Dst: g_type_interfaces
      Src: /src/glib/girepository/gdump.c:539,1
    - Dst: g_string_free
      Src: /src/glib/girepository/gdump.c:535,1
    - Dst: escaped_printf
      Src: /src/glib/girepository/gdump.c:543,1
    - Dst: g_type_name
      Src: /src/glib/girepository/gdump.c:544,1
    - Dst: escaped_printf
      Src: /src/glib/girepository/gdump.c:511,1
    - Dst: G_TYPE_IS_FINAL
      Src: /src/glib/girepository/gdump.c:513,1
    - Dst: g_type_name
      Src: /src/glib/girepository/gdump.c:508,1
    - Dst: escaped_printf
      Src: /src/glib/girepository/gdump.c:517,1
    - Dst: g_type_parent
      Src: /src/glib/girepository/gdump.c:519,1
    - Dst: g_type_parent
      Src: /src/glib/girepository/gdump.c:530,1
    - Dst: g_type_name
      Src: /src/glib/girepository/gdump.c:529,1
    - Dst: g_string_append_c
      Src: /src/glib/girepository/gdump.c:526,1
    - Dst: escaped_printf
      Src: /src/glib/girepository/gdump.c:507,1
    - Dst: goutput_write
      Src: /src/glib/girepository/gdump.c:547,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 3
    argNames:
    - type
    - symbol
    - out
    argTypes:
    - GType
    - char*
    - FILE*
    constantsTouched: []
    func_position:
      end: 548
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 548
    functionName: dump_fundamental_type
    functionSourceFile: /src/glib/girepository/gdump.c
    functionUses: []
    functionsReached:
    - g_string_append_c
    - G_TYPE_IS_FINAL
    - g_free
    - goutput_write
    - escaped_printf
    - g_string_free
    - g_type_interfaces
    - g_string_new
    - G_TYPE_IS_INSTANTIATABLE
    - G_TYPE_IS_ABSTRACT
    - g_type_parent
    - g_string_append
    - g_type_name
    linkageType: ''
    returnType: void
    signature: 'static void dump_fundamental_type (GType type, const char *symbol,
      FILE *out) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_type_fundamental
      Src: /src/glib/girepository/gdump.c:553,1
    - Dst: dump_interface_type
      Src: /src/glib/girepository/gdump.c:559,1
    - Dst: dump_flags_type
      Src: /src/glib/girepository/gdump.c:565,1
    - Dst: dump_boxed_type
      Src: /src/glib/girepository/gdump.c:562,1
    - Dst: dump_object_type
      Src: /src/glib/girepository/gdump.c:556,1
    - Dst: dump_enum_type
      Src: /src/glib/girepository/gdump.c:568,1
    - Dst: dump_pointer_type
      Src: /src/glib/girepository/gdump.c:571,1
    - Dst: dump_fundamental_type
      Src: /src/glib/girepository/gdump.c:574,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 3
    argNames:
    - type
    - symbol
    - out
    argTypes:
    - GType
    - char*
    - FILE*
    constantsTouched: []
    func_position:
      end: 577
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 577
    functionName: dump_type
    functionSourceFile: /src/glib/girepository/gdump.c
    functionUses: []
    functionsReached:
    - dump_flags_type
    - dump_boxed_type
    - dump_object_type
    - dump_enum_type
    - g_type_fundamental
    - dump_interface_type
    - dump_fundamental_type
    - dump_pointer_type
    linkageType: ''
    returnType: void
    signature: 'static void dump_type (GType type, const char *symbol, FILE *out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: escaped_printf
      Src: /src/glib/girepository/gdump.c:582,1
    - Dst: g_quark_to_string
      Src: /src/glib/girepository/gdump.c:583,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - quark
    - symbol
    - out
    argTypes:
    - GQuark
    - char*
    - FILE*
    constantsTouched: []
    func_position:
      end: 584
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 584
    functionName: dump_error_quark
    functionSourceFile: /src/glib/girepository/gdump.c
    functionUses: []
    functionsReached:
    - escaped_printf
    - g_quark_to_string
    linkageType: ''
    returnType: void
    signature: 'static void dump_error_quark (GQuark quark, const char *symbol, FILE
      *out) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_byte_array_new
      Src: /src/glib/girepository/gdump.c:72,1
    - Dst: g_byte_array_append
      Src: /src/glib/girepository/gdump.c:90,1
    - Dst: g_byte_array_free
      Src: /src/glib/girepository/gdump.c:95,1
    - Dst: g_byte_array_append
      Src: /src/glib/girepository/gdump.c:87,1
    - Dst: fread
      Src: /src/glib/girepository/gdump.c:80,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 96
    functionName: read_line
    functionSourceFile: /src/glib/girepository/gdump.c
    functionUses: []
    functionsReached:
    - g_byte_array_free
    - g_byte_array_new
    - g_byte_array_append
    - fread
    linkageType: ''
    returnType: char*
    signature: 'static char *read_line (FILE *input, size_t *len_out) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: G_VALUE_HOLDS_STRING
      Src: /src/glib/girepository/gdump.c:210,1
    - Dst: g_strdup
      Src: /src/glib/girepository/gdump.c:215,1
    - Dst: g_strescape
      Src: /src/glib/girepository/gdump.c:217,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/girepository/gdump.c:221,1
    - Dst: g_value_get_string
      Src: /src/glib/girepository/gdump.c:212,1
    - Dst: G_TYPE_FUNDAMENTAL
      Src: /src/glib/girepository/gdump.c:223,1
    - Dst: g_value_get_boxed
      Src: /src/glib/girepository/gdump.c:226,1
    - Dst: value_transform_to_string
      Src: /src/glib/girepository/gdump.c:229,1
    - Dst: g_value_get_object
      Src: /src/glib/girepository/gdump.c:233,1
    - Dst: value_transform_to_string
      Src: /src/glib/girepository/gdump.c:236,1
    - Dst: value_transform_to_string
      Src: /src/glib/girepository/gdump.c:243,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 248
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 248
    functionName: value_to_string
    functionSourceFile: /src/glib/girepository/gdump.c
    functionUses: []
    functionsReached:
    - g_strdup
    - G_VALUE_TYPE
    - g_value_get_string
    - G_TYPE_FUNDAMENTAL
    - G_VALUE_HOLDS_STRING
    - g_value_get_boxed
    - value_transform_to_string
    - g_strescape
    - g_value_get_object
    linkageType: ''
    returnType: char*
    signature: 'static char *value_to_string (const GValue *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: escaped_printf
      Src: /src/glib/girepository/gdump.c:452,1
    - Dst: g_type_name
      Src: /src/glib/girepository/gdump.c:453,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - type
    - symbol
    - out
    argTypes:
    - GType
    - char*
    - FILE*
    constantsTouched: []
    func_position:
      end: 454
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 454
    functionName: dump_pointer_type
    functionSourceFile: /src/glib/girepository/gdump.c
    functionUses: []
    functionsReached:
    - escaped_printf
    - g_type_name
    linkageType: ''
    returnType: void
    signature: 'static void dump_pointer_type (GType type, const char *symbol, FILE
      *out) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_TYPE_FUNDAMENTAL
      Src: /src/glib/girepository/gdump.c:257,1
    - Dst: g_object_class_list_properties
      Src: /src/glib/girepository/gdump.c:261,1
    - Dst: g_type_class_ref
      Src: /src/glib/girepository/gdump.c:260,1
    - Dst: g_type_default_interface_ref
      Src: /src/glib/girepository/gdump.c:266,1
    - Dst: g_object_interface_list_properties
      Src: /src/glib/girepository/gdump.c:267,1
    - Dst: g_param_spec_get_default_value
      Src: /src/glib/girepository/gdump.c:278,1
    - Dst: value_to_string
      Src: /src/glib/girepository/gdump.c:279,1
    - Dst: escaped_printf
      Src: /src/glib/girepository/gdump.c:283,1
    - Dst: g_type_name
      Src: /src/glib/girepository/gdump.c:285,1
    - Dst: escaped_printf
      Src: /src/glib/girepository/gdump.c:291,1
    - Dst: g_type_name
      Src: /src/glib/girepository/gdump.c:293,1
    - Dst: g_free
      Src: /src/glib/girepository/gdump.c:297,1
    - Dst: g_free
      Src: /src/glib/girepository/gdump.c:300,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 2
    argNames:
    - type
    - out
    argTypes:
    - GType
    - FILE*
    constantsTouched: []
    func_position:
      end: 301
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 301
    functionName: dump_properties
    functionSourceFile: /src/glib/girepository/gdump.c
    functionUses: []
    functionsReached:
    - g_type_class_ref
    - g_object_class_list_properties
    - g_param_spec_get_default_value
    - G_TYPE_FUNDAMENTAL
    - g_object_interface_list_properties
    - g_type_default_interface_ref
    - escaped_printf
    - value_to_string
    - g_free
    - g_type_name
    linkageType: ''
    returnType: void
    signature: 'static void dump_properties (GType type, FILE *out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_type_class_ref
      Src: /src/glib/girepository/gdump.c:462,1
    - Dst: escaped_printf
      Src: /src/glib/girepository/gdump.c:470,1
    - Dst: escaped_printf
      Src: /src/glib/girepository/gdump.c:463,1
    - Dst: g_type_name
      Src: /src/glib/girepository/gdump.c:464,1
    - Dst: goutput_write
      Src: /src/glib/girepository/gdump.c:473,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - type
    - symbol
    - out
    argTypes:
    - GType
    - char*
    - FILE*
    constantsTouched: []
    func_position:
      end: 474
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 474
    functionName: dump_flags_type
    functionSourceFile: /src/glib/girepository/gdump.c
    functionUses: []
    functionsReached:
    - goutput_write
    - escaped_printf
    - g_type_class_ref
    - g_type_name
    linkageType: ''
    returnType: void
    signature: 'static void dump_flags_type (GType type, const char *symbol, FILE
      *out) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_module_close
      Src: /src/glib/girepository/gdump.c:659,1
    - Dst: strlen
      Src: /src/glib/girepository/gdump.c:705,1
    - Dst: strlen
      Src: /src/glib/girepository/gdump.c:687,1
    - Dst: invoke_error_quark
      Src: /src/glib/girepository/gdump.c:709,1
    - Dst: dump_error_quark
      Src: /src/glib/girepository/gdump.c:719,1
    - Dst: goutput_write
      Src: /src/glib/girepository/gdump.c:729,1
    - Dst: fclose
      Src: /src/glib/girepository/gdump.c:733,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/girepository/gdump.c:737,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gdump.c:737,1
    - Dst: g_strchomp
      Src: /src/glib/girepository/gdump.c:681,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gdump.c:643,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gdump.c:631,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/girepository/gdump.c:643,1
    - Dst: g_strerror
      Src: /src/glib/girepository/gdump.c:644,1
    - Dst: g_module_close
      Src: /src/glib/girepository/gdump.c:646,1
    - Dst: fopen
      Src: /src/glib/girepository/gdump.c:651,1
    - Dst: read_line
      Src: /src/glib/girepository/gdump.c:672,1
    - Dst: g_free
      Src: /src/glib/girepository/gdump.c:677,1
    - Dst: goutput_write
      Src: /src/glib/girepository/gdump.c:664,1
    - Dst: fclose
      Src: /src/glib/girepository/gdump.c:658,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/girepository/gdump.c:699,1
    - Dst: strncmp
      Src: /src/glib/girepository/gdump.c:705,1
    - Dst: strlen
      Src: /src/glib/girepository/gdump.c:683,1
    - Dst: g_hash_table_insert
      Src: /src/glib/girepository/gdump.c:701,1
    - Dst: g_module_error
      Src: /src/glib/girepository/gdump.c:635,1
    - Dst: strlen
      Src: /src/glib/girepository/gdump.c:708,1
    - Dst: g_printerr
      Src: /src/glib/girepository/gdump.c:713,1
    - Dst: g_free
      Src: /src/glib/girepository/gdump.c:715,1
    - Dst: g_free
      Src: /src/glib/girepository/gdump.c:724,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/girepository/gdump.c:727,1
    - Dst: g_strerror
      Src: /src/glib/girepository/gdump.c:749,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gdump.c:747,1
    - Dst: strncmp
      Src: /src/glib/girepository/gdump.c:683,1
    - Dst: invoke_get_type
      Src: /src/glib/girepository/gdump.c:689,1
    - Dst: fclose
      Src: /src/glib/girepository/gdump.c:743,1
    - Dst: g_module_open
      Src: /src/glib/girepository/gdump.c:628,1
    - Dst: fopen
      Src: /src/glib/girepository/gdump.c:639,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gdump.c:655,1
    - Dst: g_hash_table_new
      Src: /src/glib/girepository/gdump.c:667,1
    - Dst: goutput_write
      Src: /src/glib/girepository/gdump.c:665,1
    - Dst: g_strerror
      Src: /src/glib/girepository/gdump.c:656,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/girepository/gdump.c:655,1
    - Dst: g_printerr
      Src: /src/glib/girepository/gdump.c:693,1
    - Dst: g_free
      Src: /src/glib/girepository/gdump.c:695,1
    - Dst: dump_type
      Src: /src/glib/girepository/gdump.c:703,1
    - Dst: g_file_error_from_errno
      Src: /src/glib/girepository/gdump.c:747,1
    - Dst: g_strerror
      Src: /src/glib/girepository/gdump.c:739,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 91
    argCount: 3
    argNames:
    - input_filename
    - output_filename
    - error
    argTypes:
    - char*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 755
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 755
    functionName: gi_repository_dump
    functionSourceFile: /src/glib/girepository/gdump.c
    functionUses: []
    functionsReached:
    - g_printerr
    - g_strerror
    - g_file_error_from_errno
    - g_module_error
    - invoke_error_quark
    - g_hash_table_lookup
    - goutput_write
    - g_hash_table_insert
    - invoke_get_type
    - read_line
    - g_set_error
    - dump_error_quark
    - strlen
    - g_hash_table_new
    - g_hash_table_destroy
    - fclose
    - strncmp
    - fopen
    - g_module_open
    - g_module_close
    - dump_type
    - g_strchomp
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean gi_repository_dump (const char *input_filename, const char
      *output_filename, GError **error) #endif '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/glib/girepository/gdump.c:52,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gdump.c:59,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 5
    argNames:
    - out
    - buffer
    - count
    - bytes_written
    - error
    argTypes:
    - FILE*
    - void*
    - size_t
    - size_t*
    - GError**
    constantsTouched: []
    func_position:
      end: 65
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 65
    functionName: write_all
    functionSourceFile: /src/glib/girepository/gdump.c
    functionUses: []
    functionsReached:
    - g_set_error
    - fwrite
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean write_all (FILE *out, const void *buffer, size_t count,
      size_t *bytes_written, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write_all
      Src: /src/glib/girepository/gdump.c:127,1
    - Dst: g_clear_error
      Src: /src/glib/girepository/gdump.c:130,1
    - Dst: strlen
      Src: /src/glib/girepository/gdump.c:127,1
    - Dst: g_critical
      Src: /src/glib/girepository/gdump.c:129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - out
    - str
    argTypes:
    - FILE*
    - char*
    constantsTouched: []
    func_position:
      end: 132
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 132
    functionName: goutput_write
    functionSourceFile: /src/glib/girepository/gdump.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - write_all
    - g_critical
    - strlen
    linkageType: ''
    returnType: void
    signature: 'static void goutput_write (FILE *out, const char *str) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_module_symbol
      Src: /src/glib/girepository/gdump.c:168,1
    - Dst: sym
      Src: /src/glib/girepository/gdump.c:177,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gdump.c:170,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - self
    - symbol
    - error
    argTypes:
    - GModule*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 178
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 178
    functionName: invoke_error_quark
    functionSourceFile: /src/glib/girepository/gdump.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_module_symbol
    - sym
    linkageType: ''
    returnType: GQuark
    signature: 'static GQuark invoke_error_quark (GModule *self, const char *symbol,
      GError **error) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_list_ids
      Src: /src/glib/girepository/gdump.c:310,1
    - Dst: escaped_printf
      Src: /src/glib/girepository/gdump.c:324,1
    - Dst: g_signal_query
      Src: /src/glib/girepository/gdump.c:318,1
    - Dst: g_type_name
      Src: /src/glib/girepository/gdump.c:321,1
    - Dst: escaped_printf
      Src: /src/glib/girepository/gdump.c:320,1
    - Dst: escaped_printf
      Src: /src/glib/girepository/gdump.c:326,1
    - Dst: escaped_printf
      Src: /src/glib/girepository/gdump.c:328,1
    - Dst: escaped_printf
      Src: /src/glib/girepository/gdump.c:330,1
    - Dst: escaped_printf
      Src: /src/glib/girepository/gdump.c:332,1
    - Dst: escaped_printf
      Src: /src/glib/girepository/gdump.c:335,1
    - Dst: escaped_printf
      Src: /src/glib/girepository/gdump.c:341,1
    - Dst: goutput_write
      Src: /src/glib/girepository/gdump.c:343,1
    - Dst: goutput_write
      Src: /src/glib/girepository/gdump.c:350,1
    - Dst: escaped_printf
      Src: /src/glib/girepository/gdump.c:347,1
    - Dst: g_free
      Src: /src/glib/girepository/gdump.c:352,1
    - Dst: escaped_printf
      Src: /src/glib/girepository/gdump.c:338,1
    - Dst: g_type_name
      Src: /src/glib/girepository/gdump.c:348,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 2
    argNames:
    - type
    - out
    argTypes:
    - GType
    - FILE*
    constantsTouched: []
    func_position:
      end: 353
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 353
    functionName: dump_signals
    functionSourceFile: /src/glib/girepository/gdump.c
    functionUses: []
    functionsReached:
    - goutput_write
    - escaped_printf
    - g_signal_list_ids
    - g_free
    - g_signal_query
    - g_type_name
    linkageType: ''
    returnType: void
    signature: 'static void dump_signals (GType type, FILE *out) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: escaped_printf
      Src: /src/glib/girepository/gdump.c:416,1
    - Dst: g_type_interface_prerequisites
      Src: /src/glib/girepository/gdump.c:419,1
    - Dst: g_type_name
      Src: /src/glib/girepository/gdump.c:433,1
    - Dst: g_type_name
      Src: /src/glib/girepository/gdump.c:417,1
    - Dst: escaped_printf
      Src: /src/glib/girepository/gdump.c:432,1
    - Dst: g_free
      Src: /src/glib/girepository/gdump.c:435,1
    - Dst: dump_properties
      Src: /src/glib/girepository/gdump.c:437,1
    - Dst: dump_signals
      Src: /src/glib/girepository/gdump.c:438,1
    - Dst: goutput_write
      Src: /src/glib/girepository/gdump.c:439,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - type
    - symbol
    - out
    argTypes:
    - GType
    - char*
    - FILE*
    constantsTouched: []
    func_position:
      end: 440
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 440
    functionName: dump_interface_type
    functionSourceFile: /src/glib/girepository/gdump.c
    functionUses: []
    functionsReached:
    - dump_properties
    - dump_signals
    - goutput_write
    - escaped_printf
    - g_type_interface_prerequisites
    - g_free
    - g_type_name
    linkageType: ''
    returnType: void
    signature: 'static void dump_interface_type (GType type, const char *symbol, FILE
      *out) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_module_symbol
      Src: /src/glib/girepository/gdump.c:143,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gdump.c:155,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gdump.c:145,1
    - Dst: sym
      Src: /src/glib/girepository/gdump.c:152,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - self
    - symbol
    - error
    argTypes:
    - GModule*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 161
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 161
    functionName: invoke_get_type
    functionSourceFile: /src/glib/girepository/gdump.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_module_symbol
    - sym
    linkageType: ''
    returnType: GType
    signature: 'static GType invoke_get_type (GModule *self, const char *symbol, GError
      **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/girepository/gdump.c:186,1
    - Dst: g_strescape
      Src: /src/glib/girepository/gdump.c:193,1
    - Dst: g_value_unset
      Src: /src/glib/girepository/gdump.c:196,1
    - Dst: g_value_transform
      Src: /src/glib/girepository/gdump.c:188,1
    - Dst: g_value_get_string
      Src: /src/glib/girepository/gdump.c:190,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 199
    functionName: value_transform_to_string
    functionSourceFile: /src/glib/girepository/gdump.c
    functionUses: []
    functionsReached:
    - g_value_get_string
    - g_value_init
    - g_strescape
    - g_value_transform
    - g_value_unset
    linkageType: ''
    returnType: char*
    signature: 'static char *value_transform_to_string (const GValue *value) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dump_signals
      Src: /src/glib/girepository/gdump.c:405,1
    - Dst: g_string_new
      Src: /src/glib/girepository/gdump.c:371,1
    - Dst: escaped_printf
      Src: /src/glib/girepository/gdump.c:391,1
    - Dst: escaped_printf
      Src: /src/glib/girepository/gdump.c:388,1
    - Dst: g_free
      Src: /src/glib/girepository/gdump.c:402,1
    - Dst: goutput_write
      Src: /src/glib/girepository/gdump.c:393,1
    - Dst: g_type_name
      Src: /src/glib/girepository/gdump.c:363,1
    - Dst: g_string_append
      Src: /src/glib/girepository/gdump.c:378,1
    - Dst: escaped_printf
      Src: /src/glib/girepository/gdump.c:382,1
    - Dst: g_type_interfaces
      Src: /src/glib/girepository/gdump.c:395,1
    - Dst: escaped_printf
      Src: /src/glib/girepository/gdump.c:399,1
    - Dst: g_type_name
      Src: /src/glib/girepository/gdump.c:400,1
    - Dst: escaped_printf
      Src: /src/glib/girepository/gdump.c:362,1
    - Dst: g_type_parent
      Src: /src/glib/girepository/gdump.c:370,1
    - Dst: g_string_append_c
      Src: /src/glib/girepository/gdump.c:377,1
    - Dst: g_type_name
      Src: /src/glib/girepository/gdump.c:378,1
    - Dst: g_type_parent
      Src: /src/glib/girepository/gdump.c:379,1
    - Dst: g_string_free
      Src: /src/glib/girepository/gdump.c:384,1
    - Dst: G_TYPE_IS_FINAL
      Src: /src/glib/girepository/gdump.c:390,1
    - Dst: G_TYPE_IS_ABSTRACT
      Src: /src/glib/girepository/gdump.c:387,1
    - Dst: dump_properties
      Src: /src/glib/girepository/gdump.c:404,1
    - Dst: goutput_write
      Src: /src/glib/girepository/gdump.c:406,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 3
    argNames:
    - type
    - symbol
    - out
    argTypes:
    - GType
    - char*
    - FILE*
    constantsTouched: []
    func_position:
      end: 407
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 407
    functionName: dump_object_type
    functionSourceFile: /src/glib/girepository/gdump.c
    functionUses: []
    functionsReached:
    - dump_properties
    - g_string_append_c
    - G_TYPE_IS_FINAL
    - g_free
    - dump_signals
    - goutput_write
    - escaped_printf
    - g_string_free
    - g_type_interfaces
    - g_string_new
    - G_TYPE_IS_ABSTRACT
    - g_type_parent
    - g_string_append
    - g_type_name
    linkageType: ''
    returnType: void
    signature: 'static void dump_object_type (GType type, const char *symbol, FILE
      *out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: escaped_printf
      Src: /src/glib/girepository/gdump.c:445,1
    - Dst: g_type_name
      Src: /src/glib/girepository/gdump.c:446,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - type
    - symbol
    - out
    argTypes:
    - GType
    - char*
    - FILE*
    constantsTouched: []
    func_position:
      end: 447
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 447
    functionName: dump_boxed_type
    functionSourceFile: /src/glib/girepository/gdump.c
    functionUses: []
    functionsReached:
    - escaped_printf
    - g_type_name
    linkageType: ''
    returnType: void
    signature: 'static void dump_boxed_type (GType type, const char *symbol, FILE
      *out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gienuminfo.c:63,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gienuminfo.c:64,1
    - Dst: GI_IS_ENUM_INFO
      Src: /src/glib/girepository/gienuminfo.c:64,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIEnumInfo*
    constantsTouched: []
    func_position:
      end: 69
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 69
    functionName: gi_enum_info_get_n_values
    functionSourceFile: /src/glib/girepository/gienuminfo.c
    functionUses: []
    functionsReached:
    - GI_IS_ENUM_INFO
    - g_return_val_if_fail
    linkageType: ''
    returnType: unsigned int
    signature: 'unsigned int gi_enum_info_get_n_values (GIEnumInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gienuminfo.c:172,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gienuminfo.c:174,1
    - Dst: GI_IS_ENUM_INFO
      Src: /src/glib/girepository/gienuminfo.c:173,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gienuminfo.c:173,1
    - Dst: gi_base_info_new
      Src: /src/glib/girepository/gienuminfo.c:183,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 185
    functionName: gi_enum_info_get_method
    functionSourceFile: /src/glib/girepository/gienuminfo.c
    functionUses: []
    functionsReached:
    - GI_IS_ENUM_INFO
    - gi_base_info_new
    - g_return_val_if_fail
    linkageType: ''
    returnType: GIFunctionInfo*
    signature: 'GIFunctionInfo *gi_enum_info_get_method (GIEnumInfo *info, unsigned
      int n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gienuminfo.c:118,1
    - Dst: gi_base_info_new
      Src: /src/glib/girepository/gienuminfo.c:126,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gienuminfo.c:120,1
    - Dst: GI_IS_ENUM_INFO
      Src: /src/glib/girepository/gienuminfo.c:119,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gienuminfo.c:119,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 127
    functionName: gi_enum_info_get_value
    functionSourceFile: /src/glib/girepository/gienuminfo.c
    functionUses: []
    functionsReached:
    - GI_IS_ENUM_INFO
    - gi_base_info_new
    - g_return_val_if_fail
    linkageType: ''
    returnType: GIValueInfo*
    signature: 'GIValueInfo *gi_enum_info_get_value (GIEnumInfo *info, unsigned int
      n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - g_class
    - class_data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 222
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 222
    functionName: gi_enum_info_class_init
    functionSourceFile: /src/glib/girepository/gienuminfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gi_enum_info_class_init (gpointer g_class, gpointer class_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gienuminfo.c:144,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gienuminfo.c:145,1
    - Dst: GI_IS_ENUM_INFO
      Src: /src/glib/girepository/gienuminfo.c:145,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIEnumInfo*
    constantsTouched: []
    func_position:
      end: 150
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 150
    functionName: gi_enum_info_get_n_methods
    functionSourceFile: /src/glib/girepository/gienuminfo.c
    functionUses: []
    functionsReached:
    - GI_IS_ENUM_INFO
    - g_return_val_if_fail
    linkageType: ''
    returnType: unsigned int
    signature: 'unsigned int gi_enum_info_get_n_methods (GIEnumInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gienuminfo.c:88,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gienuminfo.c:89,1
    - Dst: gi_typelib_get_string
      Src: /src/glib/girepository/gienuminfo.c:94,1
    - Dst: GI_IS_ENUM_INFO
      Src: /src/glib/girepository/gienuminfo.c:89,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 97
    functionName: gi_enum_info_get_error_domain
    functionSourceFile: /src/glib/girepository/gienuminfo.c
    functionUses: []
    functionsReached:
    - GI_IS_ENUM_INFO
    - gi_typelib_get_string
    - g_return_val_if_fail
    linkageType: ''
    returnType: char*
    signature: 'const char *gi_enum_info_get_error_domain (GIEnumInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gienuminfo.c:207,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gienuminfo.c:208,1
    - Dst: GI_IS_ENUM_INFO
      Src: /src/glib/girepository/gienuminfo.c:208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIEnumInfo*
    constantsTouched: []
    func_position:
      end: 213
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 213
    functionName: gi_enum_info_get_storage_type
    functionSourceFile: /src/glib/girepository/gienuminfo.c
    functionUses: []
    functionsReached:
    - GI_IS_ENUM_INFO
    - g_return_val_if_fail
    linkageType: ''
    returnType: GITypeTag
    signature: 'GITypeTag gi_enum_info_get_storage_type (GIEnumInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/girepository/gthash.c:68,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/girepository/gthash.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: gi_typelib_hash_builder_new
    functionSourceFile: /src/glib/girepository/gthash.c
    functionUses: []
    functionsReached:
    - g_hash_table_new_full
    - g_slice_new0
    linkageType: ''
    returnType: GITypelibHashBuilder*
    signature: 'GITypelibHashBuilder *gi_typelib_hash_builder_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/girepository/gthash.c:160,1
    - Dst: g_return_if_fail
      Src: /src/glib/girepository/gthash.c:162,1
    - Dst: g_return_if_fail
      Src: /src/glib/girepository/gthash.c:161,1
    - Dst: g_assert
      Src: /src/glib/girepository/gthash.c:164,1
    - Dst: g_assert
      Src: /src/glib/girepository/gthash.c:165,1
    - Dst: memset
      Src: /src/glib/girepository/gthash.c:167,1
    - Dst: cmph_pack
      Src: /src/glib/girepository/gthash.c:171,1
    - Dst: g_hash_table_size
      Src: /src/glib/girepository/gthash.c:176,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/girepository/gthash.c:178,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/girepository/gthash.c:179,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/girepository/gthash.c:182,1
    - Dst: strlen
      Src: /src/glib/girepository/gthash.c:185,1
    - Dst: cmph_search_packed
      Src: /src/glib/girepository/gthash.c:185,1
    - Dst: g_assert
      Src: /src/glib/girepository/gthash.c:186,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - builder
    - mem
    - len
    argTypes:
    - GITypelibHashBuilder*
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 189
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 189
    functionName: gi_typelib_hash_builder_pack
    functionSourceFile: /src/glib/girepository/gthash.c
    functionUses: []
    functionsReached:
    - g_hash_table_iter_init
    - cmph_pack
    - strlen
    - g_return_if_fail
    - g_assert
    - GPOINTER_TO_UINT
    - cmph_search_packed
    - g_hash_table_size
    - memset
    - g_hash_table_iter_next
    linkageType: ''
    returnType: void
    signature: 'void gi_typelib_hash_builder_pack (GITypelibHashBuilder *builder,
      uint8_t* mem, uint32_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/girepository/gthash.c:97,1
    - Dst: g_assert
      Src: /src/glib/girepository/gthash.c:100,1
    - Dst: g_new
      Src: /src/glib/girepository/gthash.c:102,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/girepository/gthash.c:105,1
    - Dst: g_hash_table_size
      Src: /src/glib/girepository/gthash.c:99,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/girepository/gthash.c:106,1
    - Dst: g_strdup
      Src: /src/glib/girepository/gthash.c:110,1
    - Dst: cmph_io_vector_adapter
      Src: /src/glib/girepository/gthash.c:114,1
    - Dst: cmph_config_new
      Src: /src/glib/girepository/gthash.c:115,1
    - Dst: cmph_config_set_algo
      Src: /src/glib/girepository/gthash.c:116,1
    - Dst: g_strfreev
      Src: /src/glib/girepository/gthash.c:133,1
    - Dst: g_assert
      Src: /src/glib/girepository/gthash.c:126,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/gthash.c:130,1
    - Dst: cmph_config_destroy
      Src: /src/glib/girepository/gthash.c:134,1
    - Dst: cmph_size
      Src: /src/glib/girepository/gthash.c:126,1
    - Dst: cmph_packed_size
      Src: /src/glib/girepository/gthash.c:129,1
    - Dst: cmph_io_vector_adapter_destroy
      Src: /src/glib/girepository/gthash.c:135,1
    - Dst: cmph_new
      Src: /src/glib/girepository/gthash.c:118,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 1
    argNames:
    - builder
    argTypes:
    - GITypelibHashBuilder*
    constantsTouched: []
    func_position:
      end: 137
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 137
    functionName: gi_typelib_hash_builder_prepare
    functionSourceFile: /src/glib/girepository/gthash.c
    functionUses: []
    functionsReached:
    - cmph_config_destroy
    - g_hash_table_iter_init
    - g_strdup
    - cmph_io_vector_adapter
    - g_new
    - g_assert
    - ALIGN_VALUE
    - cmph_io_vector_adapter_destroy
    - g_strfreev
    - cmph_config_new
    - cmph_size
    - g_hash_table_size
    - cmph_packed_size
    - cmph_config_set_algo
    - g_hash_table_iter_next
    - cmph_new
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean gi_typelib_hash_builder_prepare (GITypelibHashBuilder *builder) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/girepository/gthash.c:79,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/girepository/gthash.c:80,1
    - Dst: g_strdup
      Src: /src/glib/girepository/gthash.c:80,1
    - Dst: g_hash_table_insert
      Src: /src/glib/girepository/gthash.c:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - builder
    - str
    - value
    argTypes:
    - GITypelibHashBuilder*
    - char*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: gi_typelib_hash_builder_add_string
    functionSourceFile: /src/glib/girepository/gthash.c
    functionUses: []
    functionsReached:
    - g_hash_table_insert
    - g_strdup
    - GUINT_TO_POINTER
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void gi_typelib_hash_builder_add_string (GITypelibHashBuilder *builder,
      const char *str, uint16_t value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gthash.c:142,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gthash.c:144,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gthash.c:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - builder
    argTypes:
    - GITypelibHashBuilder*
    constantsTouched: []
    func_position:
      end: 147
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 147
    functionName: gi_typelib_hash_builder_get_buffer_size
    functionSourceFile: /src/glib/girepository/gthash.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t gi_typelib_hash_builder_get_buffer_size (GITypelibHashBuilder
      *builder) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmph_destroy
      Src: /src/glib/girepository/gthash.c:196,1
    - Dst: g_slice_free
      Src: /src/glib/girepository/gthash.c:200,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/girepository/gthash.c:199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - builder
    argTypes:
    - GITypelibHashBuilder*
    constantsTouched: []
    func_position:
      end: 201
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 201
    functionName: gi_typelib_hash_builder_destroy
    functionSourceFile: /src/glib/girepository/gthash.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_hash_table_destroy
    - cmph_destroy
    linkageType: ''
    returnType: void
    signature: 'void gi_typelib_hash_builder_destroy (GITypelibHashBuilder *builder) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/girepository/gthash.c:211,1
    - Dst: strlen
      Src: /src/glib/girepository/gthash.c:214,1
    - Dst: cmph_search_packed
      Src: /src/glib/girepository/gthash.c:214,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - memory
    - str
    - n_entries
    argTypes:
    - uint8_t*
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 228
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 228
    functionName: gi_typelib_hash_search
    functionSourceFile: /src/glib/girepository/gthash.c
    functionUses: []
    functionsReached:
    - g_assert
    - cmph_search_packed
    - strlen
    linkageType: ''
    returnType: uint16_t
    signature: 'uint16_t gi_typelib_hash_search (uint8_t* memory, const char *str,
      uint32_t n_entries) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/girepository/girwriter.c:57,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girwriter.c:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: xml_element_new
    functionSourceFile: /src/glib/girepository/girwriter.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_slice_new
    linkageType: ''
    returnType: XmlElement*
    signature: 'static XmlElement *xml_element_new (const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xml_end_element
      Src: /src/glib/girepository/girwriter.c:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - xml
    argTypes:
    - Xml*
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: xml_end_element_unchecked
    functionSourceFile: /src/glib/girepository/girwriter.c
    functionUses: []
    functionsReached:
    - xml_end_element
    linkageType: ''
    returnType: void
    signature: 'static void xml_end_element_unchecked (Xml *xml) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:193,1
    - Dst: write_type_name
      Src: /src/glib/girepository/girwriter.c:194,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:195,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - ns
    - info
    - attr_name
    - file
    argTypes:
    - char*
    - GIBaseInfo*
    - char*
    - Xml*
    constantsTouched: []
    func_position:
      end: 196
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 196
    functionName: write_type_name_attribute
    functionSourceFile: /src/glib/girepository/girwriter.c
    functionUses: []
    functionsReached:
    - write_type_name
    - xml_printf
    linkageType: ''
    returnType: void
    signature: 'static void write_type_name_attribute (const char *ns, GIBaseInfo
      *info, const char *attr_name, Xml *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/girwriter.c:824,1
    - Dst: gi_constant_info_get_type_info
      Src: /src/glib/girepository/girwriter.c:829,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:827,1
    - Dst: xml_start_element
      Src: /src/glib/girepository/girwriter.c:826,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:830,1
    - Dst: gi_constant_info_get_value
      Src: /src/glib/girepository/girwriter.c:832,1
    - Dst: write_constant_value
      Src: /src/glib/girepository/girwriter.c:833,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:834,1
    - Dst: write_type_info
      Src: /src/glib/girepository/girwriter.c:836,1
    - Dst: write_attributes
      Src: /src/glib/girepository/girwriter.c:838,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/girwriter.c:842,1
    - Dst: xml_end_element
      Src: /src/glib/girepository/girwriter.c:840,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - ns
    - info
    - file
    argTypes:
    - char*
    - GIConstantInfo*
    - Xml*
    constantsTouched: []
    func_position:
      end: 843
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 843
    functionName: write_constant_info
    functionSourceFile: /src/glib/girepository/girwriter.c
    functionUses: []
    functionsReached:
    - gi_constant_info_get_value
    - xml_printf
    - write_attributes
    - gi_constant_info_get_type_info
    - xml_start_element
    - gi_base_info_unref
    - write_type_info
    - write_constant_value
    - xml_end_element
    - gi_base_info_get_name
    linkageType: ''
    returnType: void
    signature: 'static void write_constant_info (const char *ns, GIConstantInfo *info,
      Xml *file) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/girwriter.c:899,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:904,1
    - Dst: gi_signal_info_get_flags
      Src: /src/glib/girepository/girwriter.c:900,1
    - Dst: gi_base_info_is_deprecated
      Src: /src/glib/girepository/girwriter.c:901,1
    - Dst: xml_start_element
      Src: /src/glib/girepository/girwriter.c:903,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:907,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:910,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:912,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:914,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:917,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:923,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:926,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:920,1
    - Dst: write_callable_info
      Src: /src/glib/girepository/girwriter.c:928,1
    - Dst: xml_end_element
      Src: /src/glib/girepository/girwriter.c:930,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 3
    argNames:
    - ns
    - info
    - file
    argTypes:
    - char*
    - GISignalInfo*
    - Xml*
    constantsTouched: []
    func_position:
      end: 931
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 931
    functionName: write_signal_info
    functionSourceFile: /src/glib/girepository/girwriter.c
    functionUses: []
    functionsReached:
    - xml_printf
    - xml_start_element
    - gi_signal_info_get_flags
    - write_callable_info
    - xml_end_element
    - gi_base_info_is_deprecated
    - gi_base_info_get_name
    linkageType: ''
    returnType: void
    signature: 'static void write_signal_info (const char *ns, GISignalInfo *info,
      Xml *file) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/girwriter.c:1015,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/girwriter.c:1027,1
    - Dst: write_ownership_transfer
      Src: /src/glib/girepository/girwriter.c:1031,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:1015,1
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/girwriter.c:987,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:992,1
    - Dst: gi_property_info_get_flags
      Src: /src/glib/girepository/girwriter.c:988,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:1001,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:1026,1
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/girwriter.c:1026,1
    - Dst: gi_property_info_get_type_info
      Src: /src/glib/girepository/girwriter.c:1035,1
    - Dst: gi_base_info_is_deprecated
      Src: /src/glib/girepository/girwriter.c:989,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:1004,1
    - Dst: gi_property_info_get_getter
      Src: /src/glib/girepository/girwriter.c:1011,1
    - Dst: gi_property_info_get_ownership_transfer
      Src: /src/glib/girepository/girwriter.c:1031,1
    - Dst: write_type_info
      Src: /src/glib/girepository/girwriter.c:1037,1
    - Dst: xml_end_element
      Src: /src/glib/girepository/girwriter.c:1039,1
    - Dst: xml_start_element
      Src: /src/glib/girepository/girwriter.c:991,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:995,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:999,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:1007,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/girwriter.c:1016,1
    - Dst: gi_property_info_get_setter
      Src: /src/glib/girepository/girwriter.c:1022,1
    - Dst: write_attributes
      Src: /src/glib/girepository/girwriter.c:1033,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 3
    argNames:
    - ns
    - info
    - file
    argTypes:
    - char*
    - GIPropertyInfo*
    - Xml*
    constantsTouched: []
    func_position:
      end: 1040
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 1040
    functionName: write_property_info
    functionSourceFile: /src/glib/girepository/girwriter.c
    functionUses: []
    functionsReached:
    - xml_printf
    - write_attributes
    - xml_start_element
    - gi_base_info_unref
    - gi_property_info_get_flags
    - write_ownership_transfer
    - gi_property_info_get_ownership_transfer
    - gi_property_info_get_type_info
    - gi_property_info_get_setter
    - write_type_info
    - gi_property_info_get_getter
    - xml_end_element
    - gi_base_info_is_deprecated
    - gi_base_info_get_name
    linkageType: ''
    returnType: void
    signature: 'static void write_property_info (const char *ns, GIPropertyInfo *info,
      Xml *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/girepository/girwriter.c:66,1
    - Dst: g_slice_free
      Src: /src/glib/girepository/girwriter.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - elem
    argTypes:
    - XmlElement*
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: xml_element_free
    functionSourceFile: /src/glib/girepository/girwriter.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void xml_element_free (XmlElement *elem) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/girepository/girwriter.c:138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 143
    functionName: xml_open
    functionSourceFile: /src/glib/girepository/girwriter.c
    functionUses: []
    functionsReached:
    - g_slice_new
    linkageType: ''
    returnType: Xml*
    signature: 'static Xml *xml_open (FILE *file) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:205,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:211,1
    - Dst: g_assert_not_reached
      Src: /src/glib/girepository/girwriter.c:214,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:208,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - transfer
    - file
    argTypes:
    - GITransfer
    - Xml*
    constantsTouched: []
    func_position:
      end: 216
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 216
    functionName: write_ownership_transfer
    functionSourceFile: /src/glib/girepository/girwriter.c
    functionUses: []
    functionsReached:
    - xml_printf
    - g_assert_not_reached
    linkageType: ''
    returnType: void
    signature: 'static void write_ownership_transfer (GITransfer transfer, Xml *file) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/girwriter.c:405,1
    - Dst: xml_start_element
      Src: /src/glib/girepository/girwriter.c:410,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:411,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:422,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:430,1
    - Dst: write_constant_value
      Src: /src/glib/girepository/girwriter.c:434,1
    - Dst: write_type_info
      Src: /src/glib/girepository/girwriter.c:447,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/girwriter.c:452,1
    - Dst: gi_field_info_get_offset
      Src: /src/glib/girepository/girwriter.c:408,1
    - Dst: gi_field_info_get_size
      Src: /src/glib/girepository/girwriter.c:407,1
    - Dst: gi_field_info_get_flags
      Src: /src/glib/girepository/girwriter.c:406,1
    - Dst: gi_type_info_get_interface
      Src: /src/glib/girepository/girwriter.c:443,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:435,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/girwriter.c:450,1
    - Dst: write_attributes
      Src: /src/glib/girepository/girwriter.c:424,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/girwriter.c:431,1
    - Dst: gi_constant_info_get_type_info
      Src: /src/glib/girepository/girwriter.c:432,1
    - Dst: gi_field_info_get_type_info
      Src: /src/glib/girepository/girwriter.c:426,1
    - Dst: write_callback_info
      Src: /src/glib/girepository/girwriter.c:445,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:417,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:419,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:440,1
    - Dst: gi_constant_info_get_value
      Src: /src/glib/girepository/girwriter.c:433,1
    - Dst: GI_IS_CALLBACK_INFO
      Src: /src/glib/girepository/girwriter.c:444,1
    - Dst: xml_end_element
      Src: /src/glib/girepository/girwriter.c:454,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 4
    argNames:
    - ns
    - info
    - branch
    - file
    argTypes:
    - char*
    - GIFieldInfo*
    - GIConstantInfo*
    - Xml*
    constantsTouched: []
    func_position:
      end: 455
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 455
    functionName: write_field_info
    functionSourceFile: /src/glib/girepository/girwriter.c
    functionUses: []
    functionsReached:
    - GI_IS_CALLBACK_INFO
    - gi_field_info_get_offset
    - xml_printf
    - write_attributes
    - gi_constant_info_get_type_info
    - xml_start_element
    - gi_base_info_unref
    - gi_field_info_get_type_info
    - gi_constant_info_get_value
    - gi_type_info_get_interface
    - xml_end_element
    - write_constant_value
    - gi_field_info_get_size
    - write_type_info
    - gi_base_info_get_name
    - write_callback_info
    - gi_field_info_get_flags
    linkageType: ''
    returnType: void
    signature: 'static void write_field_info (const char *ns, GIFieldInfo *info, GIConstantInfo
      *branch, Xml *file) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/girwriter.c:857,1
    - Dst: gi_registered_type_info_get_type_name
      Src: /src/glib/girepository/girwriter.c:860,1
    - Dst: gi_registered_type_info_get_type_init_function_name
      Src: /src/glib/girepository/girwriter.c:861,1
    - Dst: gi_enum_info_get_error_domain
      Src: /src/glib/girepository/girwriter.c:862,1
    - Dst: gi_base_info_is_deprecated
      Src: /src/glib/girepository/girwriter.c:858,1
    - Dst: GI_IS_ENUM_INFO
      Src: /src/glib/girepository/girwriter.c:864,1
    - Dst: xml_start_element
      Src: /src/glib/girepository/girwriter.c:865,1
    - Dst: xml_start_element
      Src: /src/glib/girepository/girwriter.c:867,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:868,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:871,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:873,1
    - Dst: write_attributes
      Src: /src/glib/girepository/girwriter.c:878,1
    - Dst: gi_enum_info_get_value
      Src: /src/glib/girepository/girwriter.c:882,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:876,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/girwriter.c:884,1
    - Dst: write_value_info
      Src: /src/glib/girepository/girwriter.c:883,1
    - Dst: xml_end_element_unchecked
      Src: /src/glib/girepository/girwriter.c:887,1
    - Dst: gi_enum_info_get_n_values
      Src: /src/glib/girepository/girwriter.c:880,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 3
    argNames:
    - ns
    - info
    - file
    argTypes:
    - char*
    - GIEnumInfo*
    - Xml*
    constantsTouched: []
    func_position:
      end: 888
      start: 846
    functionDepth: 0
    functionLinenumber: 846
    functionLinenumberEnd: 888
    functionName: write_enum_info
    functionSourceFile: /src/glib/girepository/girwriter.c
    functionUses: []
    functionsReached:
    - GI_IS_ENUM_INFO
    - xml_printf
    - gi_enum_info_get_error_domain
    - write_attributes
    - xml_start_element
    - gi_base_info_unref
    - gi_enum_info_get_value
    - xml_end_element_unchecked
    - gi_registered_type_info_get_type_name
    - gi_enum_info_get_n_values
    - write_value_info
    - gi_base_info_is_deprecated
    - gi_registered_type_info_get_type_init_function_name
    - gi_base_info_get_name
    linkageType: ''
    returnType: void
    signature: 'static void write_enum_info (const char *ns, GIEnumInfo *info, Xml
      *file) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/girwriter.c:944,1
    - Dst: gi_vfunc_info_get_invoker
      Src: /src/glib/girepository/girwriter.c:948,1
    - Dst: gi_vfunc_info_get_flags
      Src: /src/glib/girepository/girwriter.c:945,1
    - Dst: gi_vfunc_info_get_offset
      Src: /src/glib/girepository/girwriter.c:947,1
    - Dst: gi_base_info_is_deprecated
      Src: /src/glib/girepository/girwriter.c:946,1
    - Dst: xml_start_element
      Src: /src/glib/girepository/girwriter.c:950,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:951,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:954,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:957,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:960,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/girwriter.c:969,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:968,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:962,1
    - Dst: write_callable_info
      Src: /src/glib/girepository/girwriter.c:972,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:964,1
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/girwriter.c:968,1
    - Dst: xml_end_element
      Src: /src/glib/girepository/girwriter.c:974,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - ns
    - info
    - file
    argTypes:
    - char*
    - GIVFuncInfo*
    - Xml*
    constantsTouched: []
    func_position:
      end: 975
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 975
    functionName: write_vfunc_info
    functionSourceFile: /src/glib/girepository/girwriter.c
    functionUses: []
    functionsReached:
    - gi_vfunc_info_get_flags
    - xml_printf
    - xml_start_element
    - gi_vfunc_info_get_offset
    - gi_base_info_unref
    - write_callable_info
    - gi_vfunc_info_get_invoker
    - xml_end_element
    - gi_base_info_is_deprecated
    - gi_base_info_get_name
    linkageType: ''
    returnType: void
    signature: 'static void write_vfunc_info (const char *ns, GIVFuncInfo *info, Xml
      *file) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/girwriter.c:1058,1
    - Dst: gi_registered_type_info_get_type_name
      Src: /src/glib/girepository/girwriter.c:1064,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:1067,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:1111,1
    - Dst: gi_object_info_get_n_interfaces
      Src: /src/glib/girepository/girwriter.c:1115,1
    - Dst: gi_object_info_get_n_interfaces
      Src: /src/glib/girepository/girwriter.c:1117,1
    - Dst: xml_start_element
      Src: /src/glib/girepository/girwriter.c:1120,1
    - Dst: gi_object_info_get_method
      Src: /src/glib/girepository/girwriter.c:1136,1
    - Dst: write_vfunc_info
      Src: /src/glib/girepository/girwriter.c:1158,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/girwriter.c:1138,1
    - Dst: write_function_info
      Src: /src/glib/girepository/girwriter.c:1137,1
    - Dst: gi_object_info_get_abstract
      Src: /src/glib/girepository/girwriter.c:1060,1
    - Dst: gi_base_info_is_deprecated
      Src: /src/glib/girepository/girwriter.c:1059,1
    - Dst: gi_registered_type_info_get_type_init_function_name
      Src: /src/glib/girepository/girwriter.c:1065,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/girwriter.c:1073,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:1092,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/girwriter.c:1080,1
    - Dst: gi_object_info_get_unref_function_name
      Src: /src/glib/girepository/girwriter.c:1094,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:1100,1
    - Dst: gi_object_info_get_set_value_function_name
      Src: /src/glib/girepository/girwriter.c:1102,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:1108,1
    - Dst: gi_object_info_get_n_fields
      Src: /src/glib/girepository/girwriter.c:1127,1
    - Dst: write_signal_info
      Src: /src/glib/girepository/girwriter.c:1151,1
    - Dst: gi_object_info_get_property
      Src: /src/glib/girepository/girwriter.c:1143,1
    - Dst: write_constant_info
      Src: /src/glib/girepository/girwriter.c:1165,1
    - Dst: gi_object_info_get_field
      Src: /src/glib/girepository/girwriter.c:1129,1
    - Dst: gi_object_info_get_vfunc
      Src: /src/glib/girepository/girwriter.c:1157,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/girwriter.c:1131,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/girwriter.c:1145,1
    - Dst: gi_object_info_get_n_methods
      Src: /src/glib/girepository/girwriter.c:1134,1
    - Dst: write_type_name_attribute
      Src: /src/glib/girepository/girwriter.c:1121,1
    - Dst: write_field_info
      Src: /src/glib/girepository/girwriter.c:1130,1
    - Dst: write_property_info
      Src: /src/glib/girepository/girwriter.c:1144,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/girwriter.c:1159,1
    - Dst: xml_start_element
      Src: /src/glib/girepository/girwriter.c:1066,1
    - Dst: write_type_name_attribute
      Src: /src/glib/girepository/girwriter.c:1072,1
    - Dst: write_type_name_attribute
      Src: /src/glib/girepository/girwriter.c:1079,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:1084,1
    - Dst: gi_object_info_get_interface
      Src: /src/glib/girepository/girwriter.c:1119,1
    - Dst: gi_object_info_get_n_signals
      Src: /src/glib/girepository/girwriter.c:1148,1
    - Dst: xml_end_element
      Src: /src/glib/girepository/girwriter.c:1169,1
    - Dst: xml_end_element
      Src: /src/glib/girepository/girwriter.c:1122,1
    - Dst: gi_object_info_get_n_constants
      Src: /src/glib/girepository/girwriter.c:1162,1
    - Dst: gi_object_info_get_signal
      Src: /src/glib/girepository/girwriter.c:1150,1
    - Dst: gi_object_info_get_constant
      Src: /src/glib/girepository/girwriter.c:1164,1
    - Dst: write_attributes
      Src: /src/glib/girepository/girwriter.c:1113,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/girwriter.c:1152,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/girwriter.c:1123,1
    - Dst: gi_object_info_get_n_properties
      Src: /src/glib/girepository/girwriter.c:1141,1
    - Dst: gi_object_info_get_final
      Src: /src/glib/girepository/girwriter.c:1062,1
    - Dst: gi_object_info_get_fundamental
      Src: /src/glib/girepository/girwriter.c:1061,1
    - Dst: gi_object_info_get_parent
      Src: /src/glib/girepository/girwriter.c:1069,1
    - Dst: gi_object_info_get_class_struct
      Src: /src/glib/girepository/girwriter.c:1076,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:1087,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:1089,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:1096,1
    - Dst: gi_object_info_get_ref_function_name
      Src: /src/glib/girepository/girwriter.c:1098,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:1104,1
    - Dst: gi_object_info_get_get_value_function_name
      Src: /src/glib/girepository/girwriter.c:1106,1
    - Dst: gi_object_info_get_n_vfuncs
      Src: /src/glib/girepository/girwriter.c:1155,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/girwriter.c:1166,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 93
    argCount: 3
    argNames:
    - ns
    - info
    - file
    argTypes:
    - char*
    - GIObjectInfo*
    - Xml*
    constantsTouched: []
    func_position:
      end: 1170
      start: 1042
    functionDepth: 0
    functionLinenumber: 1042
    functionLinenumberEnd: 1170
    functionName: write_object_info
    functionSourceFile: /src/glib/girepository/girwriter.c
    functionUses: []
    functionsReached:
    - gi_object_info_get_n_constants
    - gi_base_info_unref
    - write_field_info
    - write_constant_info
    - gi_object_info_get_signal
    - gi_object_info_get_n_signals
    - gi_object_info_get_ref_function_name
    - gi_object_info_get_class_struct
    - gi_object_info_get_n_interfaces
    - gi_object_info_get_fundamental
    - gi_object_info_get_constant
    - xml_end_element
    - gi_registered_type_info_get_type_init_function_name
    - xml_printf
    - gi_object_info_get_set_value_function_name
    - xml_start_element
    - gi_object_info_get_get_value_function_name
    - gi_object_info_get_method
    - gi_registered_type_info_get_type_name
    - gi_object_info_get_property
    - write_property_info
    - gi_object_info_get_n_properties
    - write_type_name_attribute
    - gi_object_info_get_n_methods
    - write_function_info
    - gi_object_info_get_n_vfuncs
    - gi_object_info_get_vfunc
    - gi_object_info_get_interface
    - gi_object_info_get_abstract
    - gi_object_info_get_parent
    - gi_object_info_get_final
    - write_attributes
    - gi_object_info_get_unref_function_name
    - gi_object_info_get_n_fields
    - write_vfunc_info
    - write_signal_info
    - gi_object_info_get_field
    - gi_base_info_is_deprecated
    - gi_base_info_get_name
    linkageType: ''
    returnType: void
    signature: 'static void write_object_info (const char *ns, GIObjectInfo *info,
      Xml *file) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: xml_start_element
      Src: /src/glib/girepository/girwriter.c:234,1
    - Dst: xml_end_element
      Src: /src/glib/girepository/girwriter.c:238,1
    - Dst: xml_end_element
      Src: /src/glib/girepository/girwriter.c:244,1
    - Dst: xml_end_element
      Src: /src/glib/girepository/girwriter.c:288,1
    - Dst: gi_type_info_get_interface
      Src: /src/glib/girepository/girwriter.c:292,1
    - Dst: xml_end_element
      Src: /src/glib/girepository/girwriter.c:295,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/girwriter.c:330,1
    - Dst: write_type_info
      Src: /src/glib/girepository/girwriter.c:332,1
    - Dst: write_type_name_attribute
      Src: /src/glib/girepository/girwriter.c:294,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:340,1
    - Dst: write_type_info
      Src: /src/glib/girepository/girwriter.c:329,1
    - Dst: gi_type_info_get_param_type
      Src: /src/glib/girepository/girwriter.c:331,1
    - Dst: xml_end_element
      Src: /src/glib/girepository/girwriter.c:341,1
    - Dst: gi_type_info_get_param_type
      Src: /src/glib/girepository/girwriter.c:314,1
    - Dst: xml_start_element
      Src: /src/glib/girepository/girwriter.c:300,1
    - Dst: check_unresolved
      Src: /src/glib/girepository/girwriter.c:227,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:276,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:279,1
    - Dst: gi_type_info_get_array_fixed_size
      Src: /src/glib/girepository/girwriter.c:278,1
    - Dst: gi_type_info_is_zero_terminated
      Src: /src/glib/girepository/girwriter.c:281,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:282,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/girwriter.c:296,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:301,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:313,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/girwriter.c:318,1
    - Dst: g_assert_not_reached
      Src: /src/glib/girepository/girwriter.c:346,1
    - Dst: g_printerr
      Src: /src/glib/girepository/girwriter.c:345,1
    - Dst: write_type_info
      Src: /src/glib/girepository/girwriter.c:284,1
    - Dst: write_type_info
      Src: /src/glib/girepository/girwriter.c:305,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/girwriter.c:333,1
    - Dst: xml_start_element
      Src: /src/glib/girepository/girwriter.c:242,1
    - Dst: xml_start_element
      Src: /src/glib/girepository/girwriter.c:252,1
    - Dst: xml_start_element
      Src: /src/glib/girepository/girwriter.c:293,1
    - Dst: xml_end_element
      Src: /src/glib/girepository/girwriter.c:308,1
    - Dst: xml_start_element
      Src: /src/glib/girepository/girwriter.c:312,1
    - Dst: write_type_info
      Src: /src/glib/girepository/girwriter.c:317,1
    - Dst: xml_end_element
      Src: /src/glib/girepository/girwriter.c:320,1
    - Dst: xml_start_element
      Src: /src/glib/girepository/girwriter.c:324,1
    - Dst: xml_end_element
      Src: /src/glib/girepository/girwriter.c:335,1
    - Dst: xml_start_element
      Src: /src/glib/girepository/girwriter.c:339,1
    - Dst: gi_type_info_get_param_type
      Src: /src/glib/girepository/girwriter.c:302,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:325,1
    - Dst: gi_type_info_get_tag
      Src: /src/glib/girepository/girwriter.c:229,1
    - Dst: gi_type_info_is_pointer
      Src: /src/glib/girepository/girwriter.c:230,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:236,1
    - Dst: GI_TYPE_TAG_IS_BASIC
      Src: /src/glib/girepository/girwriter.c:240,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:243,1
    - Dst: gi_type_tag_to_string
      Src: /src/glib/girepository/girwriter.c:243,1
    - Dst: gi_type_info_get_array_type
      Src: /src/glib/girepository/girwriter.c:254,1
    - Dst: gi_type_info_get_param_type
      Src: /src/glib/girepository/girwriter.c:273,1
    - Dst: gi_type_info_get_array_length_index
      Src: /src/glib/girepository/girwriter.c:275,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:271,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/girwriter.c:286,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/girwriter.c:306,1
    - Dst: gi_type_info_get_param_type
      Src: /src/glib/girepository/girwriter.c:326,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 86
    argCount: 3
    argNames:
    - ns
    - info
    - file
    argTypes:
    - char*
    - GITypeInfo*
    - Xml*
    constantsTouched: []
    func_position:
      end: 348
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 348
    functionName: write_type_info
    functionSourceFile: /src/glib/girepository/girwriter.c
    functionUses: []
    functionsReached:
    - gi_type_tag_to_string
    - g_printerr
    - gi_base_info_unref
    - GI_TYPE_TAG_IS_BASIC
    - xml_end_element
    - gi_type_info_is_pointer
    - xml_printf
    - xml_start_element
    - gi_type_info_get_interface
    - gi_type_info_get_array_length_index
    - gi_type_info_get_array_type
    - write_type_name_attribute
    - g_assert_not_reached
    - gi_type_info_is_zero_terminated
    - gi_type_info_get_tag
    - check_unresolved
    - gi_type_info_get_param_type
    - write_type_info
    - gi_type_info_get_array_fixed_size
    linkageType: ''
    returnType: void
    signature: 'static void write_type_info (const char *ns, GITypeInfo *info, Xml
      *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gi_base_info_iterate_attributes
      Src: /src/glib/girepository/girwriter.c:357,1
    - Dst: xml_start_element
      Src: /src/glib/girepository/girwriter.c:359,1
    - Dst: xml_end_element
      Src: /src/glib/girepository/girwriter.c:361,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:360,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - file
    - info
    argTypes:
    - Xml*
    - GIBaseInfo*
    constantsTouched: []
    func_position:
      end: 363
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 363
    functionName: write_attributes
    functionSourceFile: /src/glib/girepository/girwriter.c
    functionUses: []
    functionsReached:
    - xml_printf
    - xml_end_element
    - gi_base_info_iterate_attributes
    - xml_start_element
    linkageType: ''
    returnType: void
    signature: 'static void write_attributes (Xml *file, GIBaseInfo *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:96,1
    - Dst: g_slist_length
      Src: /src/glib/girepository/girwriter.c:101,1
    - Dst: xml_element_new
      Src: /src/glib/girepository/girwriter.c:103,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:101,1
    - Dst: g_slist_prepend
      Src: /src/glib/girepository/girwriter.c:103,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - xml
    - element_name
    argTypes:
    - Xml*
    - char*
    constantsTouched: []
    func_position:
      end: 104
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 104
    functionName: xml_start_element
    functionSourceFile: /src/glib/girepository/girwriter.c
    functionUses: []
    functionsReached:
    - g_slist_length
    - xml_printf
    - g_slist_prepend
    - xml_element_new
    linkageType: ''
    returnType: void
    signature: 'static void xml_start_element (Xml *xml, const char *element_name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/girepository/girwriter.c:148,1
    - Dst: fclose
      Src: /src/glib/girepository/girwriter.c:153,1
    - Dst: fflush
      Src: /src/glib/girepository/girwriter.c:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - xml
    argTypes:
    - Xml*
    constantsTouched: []
    func_position:
      end: 156
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 156
    functionName: xml_close
    functionSourceFile: /src/glib/girepository/girwriter.c
    functionUses: []
    functionsReached:
    - g_assert
    - fflush
    - fclose
    linkageType: ''
    returnType: void
    signature: 'static void xml_close (Xml *xml) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GI_IS_UNRESOLVED_INFO
      Src: /src/glib/girepository/girwriter.c:169,1
    - Dst: g_critical
      Src: /src/glib/girepository/girwriter.c:172,1
    - Dst: gi_base_info_get_namespace
      Src: /src/glib/girepository/girwriter.c:173,1
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/girwriter.c:173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIBaseInfo*
    constantsTouched: []
    func_position:
      end: 174
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 174
    functionName: check_unresolved
    functionSourceFile: /src/glib/girepository/girwriter.c
    functionUses: []
    functionsReached:
    - GI_IS_UNRESOLVED_INFO
    - gi_base_info_get_namespace
    - g_critical
    - gi_base_info_get_name
    linkageType: ''
    returnType: void
    signature: 'static void check_unresolved (GIBaseInfo *info) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:491,1
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/girwriter.c:484,1
    - Dst: write_ownership_transfer
      Src: /src/glib/girepository/girwriter.c:488,1
    - Dst: write_return_value_attributes
      Src: /src/glib/girepository/girwriter.c:496,1
    - Dst: write_type_info
      Src: /src/glib/girepository/girwriter.c:498,1
    - Dst: xml_start_element
      Src: /src/glib/girepository/girwriter.c:505,1
    - Dst: gi_callable_info_get_arg
      Src: /src/glib/girepository/girwriter.c:508,1
    - Dst: gi_arg_info_get_ownership_transfer
      Src: /src/glib/girepository/girwriter.c:515,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:522,1
    - Dst: gi_arg_info_is_caller_allocates
      Src: /src/glib/girepository/girwriter.c:523,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/girwriter.c:581,1
    - Dst: g_assert_not_reached
      Src: /src/glib/girepository/girwriter.c:529,1
    - Dst: xml_end_element
      Src: /src/glib/girepository/girwriter.c:575,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:468,1
    - Dst: gi_callable_info_skip_return
      Src: /src/glib/girepository/girwriter.c:493,1
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/girwriter.c:481,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:494,1
    - Dst: xml_end_element
      Src: /src/glib/girepository/girwriter.c:500,1
    - Dst: xml_start_element
      Src: /src/glib/girepository/girwriter.c:511,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:512,1
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/girwriter.c:513,1
    - Dst: write_ownership_transfer
      Src: /src/glib/girepository/girwriter.c:515,1
    - Dst: gi_arg_info_may_be_null
      Src: /src/glib/girepository/girwriter.c:532,1
    - Dst: gi_arg_info_get_scope
      Src: /src/glib/girepository/girwriter.c:541,1
    - Dst: xml_end_element
      Src: /src/glib/girepository/girwriter.c:580,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:565,1
    - Dst: write_attributes
      Src: /src/glib/girepository/girwriter.c:570,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:539,1
    - Dst: gi_arg_info_get_type_info
      Src: /src/glib/girepository/girwriter.c:572,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:546,1
    - Dst: gi_callable_info_can_throw_gerror
      Src: /src/glib/girepository/girwriter.c:467,1
    - Dst: write_attributes
      Src: /src/glib/girepository/girwriter.c:470,1
    - Dst: gi_callable_info_get_sync_function
      Src: /src/glib/girepository/girwriter.c:474,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:481,1
    - Dst: gi_callable_info_may_return_null
      Src: /src/glib/girepository/girwriter.c:490,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:484,1
    - Dst: gi_callable_info_get_n_args
      Src: /src/glib/girepository/girwriter.c:506,1
    - Dst: gi_arg_info_get_direction
      Src: /src/glib/girepository/girwriter.c:517,1
    - Dst: g_assert_not_reached
      Src: /src/glib/girepository/girwriter.c:558,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:568,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:549,1
    - Dst: gi_arg_info_is_return_value
      Src: /src/glib/girepository/girwriter.c:535,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:552,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:533,1
    - Dst: gi_arg_info_is_skip
      Src: /src/glib/girepository/girwriter.c:567,1
    - Dst: gi_arg_info_is_optional
      Src: /src/glib/girepository/girwriter.c:538,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:562,1
    - Dst: gi_callable_info_get_async_function
      Src: /src/glib/girepository/girwriter.c:473,1
    - Dst: gi_callable_info_get_return_type
      Src: /src/glib/girepository/girwriter.c:472,1
    - Dst: gi_callable_info_get_finish_function
      Src: /src/glib/girepository/girwriter.c:475,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:478,1
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/girwriter.c:478,1
    - Dst: gi_callable_info_get_caller_owns
      Src: /src/glib/girepository/girwriter.c:488,1
    - Dst: xml_start_element
      Src: /src/glib/girepository/girwriter.c:486,1
    - Dst: gi_callable_info_get_n_args
      Src: /src/glib/girepository/girwriter.c:502,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:526,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:536,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:555,1
    - Dst: gi_arg_info_get_closure_index
      Src: /src/glib/girepository/girwriter.c:561,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/girwriter.c:577,1
    - Dst: write_type_info
      Src: /src/glib/girepository/girwriter.c:573,1
    - Dst: gi_arg_info_get_destroy_index
      Src: /src/glib/girepository/girwriter.c:564,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 73
    argCount: 3
    argNames:
    - ns
    - info
    - file
    argTypes:
    - char*
    - GICallableInfo*
    - Xml*
    constantsTouched: []
    func_position:
      end: 582
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 582
    functionName: write_callable_info
    functionSourceFile: /src/glib/girepository/girwriter.c
    functionUses: []
    functionsReached:
    - gi_callable_info_may_return_null
    - gi_callable_info_get_n_args
    - gi_callable_info_get_arg
    - gi_arg_info_is_optional
    - gi_base_info_unref
    - gi_callable_info_can_throw_gerror
    - gi_callable_info_get_caller_owns
    - gi_arg_info_may_be_null
    - xml_end_element
    - xml_printf
    - gi_callable_info_get_async_function
    - xml_start_element
    - gi_arg_info_get_type_info
    - gi_callable_info_get_return_type
    - write_return_value_attributes
    - gi_arg_info_get_destroy_index
    - gi_callable_info_skip_return
    - g_assert_not_reached
    - gi_arg_info_is_skip
    - gi_callable_info_get_sync_function
    - gi_callable_info_get_finish_function
    - gi_arg_info_get_closure_index
    - gi_arg_info_is_caller_allocates
    - write_attributes
    - gi_arg_info_get_scope
    - gi_arg_info_is_return_value
    - gi_arg_info_get_direction
    - write_ownership_transfer
    - write_type_info
    - gi_arg_info_get_ownership_transfer
    - gi_base_info_get_name
    linkageType: ''
    returnType: void
    signature: 'static void write_callable_info (const char *ns, GICallableInfo *info,
      Xml *file) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/girwriter.c:643,1
    - Dst: gi_base_info_is_deprecated
      Src: /src/glib/girepository/girwriter.c:644,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:650,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:647,1
    - Dst: xml_start_element
      Src: /src/glib/girepository/girwriter.c:646,1
    - Dst: write_callable_info
      Src: /src/glib/girepository/girwriter.c:652,1
    - Dst: xml_end_element
      Src: /src/glib/girepository/girwriter.c:653,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - ns
    - info
    - file
    argTypes:
    - char*
    - GICallbackInfo*
    - Xml*
    constantsTouched: []
    func_position:
      end: 654
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 654
    functionName: write_callback_info
    functionSourceFile: /src/glib/girepository/girwriter.c
    functionUses: []
    functionsReached:
    - xml_printf
    - xml_start_element
    - write_callable_info
    - xml_end_element
    - gi_base_info_is_deprecated
    - gi_base_info_get_name
    linkageType: ''
    returnType: void
    signature: 'static void write_callback_info (const char *ns, GICallbackInfo *info,
      Xml *file) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/girwriter.c:748,1
    - Dst: g_strdup_printf
      Src: /src/glib/girepository/girwriter.c:753,1
    - Dst: gi_value_info_get_value
      Src: /src/glib/girepository/girwriter.c:749,1
    - Dst: gi_base_info_is_deprecated
      Src: /src/glib/girepository/girwriter.c:750,1
    - Dst: xml_start_element
      Src: /src/glib/girepository/girwriter.c:752,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:754,1
    - Dst: g_free
      Src: /src/glib/girepository/girwriter.c:755,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:758,1
    - Dst: write_attributes
      Src: /src/glib/girepository/girwriter.c:760,1
    - Dst: xml_end_element
      Src: /src/glib/girepository/girwriter.c:762,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - ns
    - info
    - file
    argTypes:
    - char*
    - GIValueInfo*
    - Xml*
    constantsTouched: []
    func_position:
      end: 763
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 763
    functionName: write_value_info
    functionSourceFile: /src/glib/girepository/girwriter.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - xml_printf
    - write_attributes
    - xml_start_element
    - xml_end_element
    - g_free
    - gi_base_info_is_deprecated
    - gi_value_info_get_value
    - gi_base_info_get_name
    linkageType: ''
    returnType: void
    signature: 'static void write_value_info (const char *ns, GIValueInfo *info, Xml
      *file) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gi_registered_type_info_get_type_init_function_name
      Src: /src/glib/girepository/girwriter.c:1187,1
    - Dst: gi_interface_info_get_iface_struct
      Src: /src/glib/girepository/girwriter.c:1192,1
    - Dst: gi_interface_info_get_n_signals
      Src: /src/glib/girepository/girwriter.c:1232,1
    - Dst: gi_interface_info_get_n_constants
      Src: /src/glib/girepository/girwriter.c:1246,1
    - Dst: gi_interface_info_get_constant
      Src: /src/glib/girepository/girwriter.c:1248,1
    - Dst: xml_start_element
      Src: /src/glib/girepository/girwriter.c:1188,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:1189,1
    - Dst: gi_interface_info_get_prerequisite
      Src: /src/glib/girepository/girwriter.c:1208,1
    - Dst: write_type_name_attribute
      Src: /src/glib/girepository/girwriter.c:1211,1
    - Dst: gi_interface_info_get_n_methods
      Src: /src/glib/girepository/girwriter.c:1218,1
    - Dst: gi_interface_info_get_n_prerequisites
      Src: /src/glib/girepository/girwriter.c:1206,1
    - Dst: gi_interface_info_get_n_prerequisites
      Src: /src/glib/girepository/girwriter.c:1204,1
    - Dst: write_function_info
      Src: /src/glib/girepository/girwriter.c:1221,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/girwriter.c:1222,1
    - Dst: gi_interface_info_get_n_properties
      Src: /src/glib/girepository/girwriter.c:1225,1
    - Dst: gi_base_info_is_deprecated
      Src: /src/glib/girepository/girwriter.c:1184,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/girwriter.c:1196,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/girwriter.c:1214,1
    - Dst: write_attributes
      Src: /src/glib/girepository/girwriter.c:1202,1
    - Dst: xml_end_element
      Src: /src/glib/girepository/girwriter.c:1253,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/girwriter.c:1243,1
    - Dst: write_property_info
      Src: /src/glib/girepository/girwriter.c:1228,1
    - Dst: write_vfunc_info
      Src: /src/glib/girepository/girwriter.c:1242,1
    - Dst: gi_interface_info_get_signal
      Src: /src/glib/girepository/girwriter.c:1234,1
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/girwriter.c:1183,1
    - Dst: gi_registered_type_info_get_type_name
      Src: /src/glib/girepository/girwriter.c:1186,1
    - Dst: write_type_name_attribute
      Src: /src/glib/girepository/girwriter.c:1195,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:1200,1
    - Dst: xml_start_element
      Src: /src/glib/girepository/girwriter.c:1210,1
    - Dst: xml_end_element_unchecked
      Src: /src/glib/girepository/girwriter.c:1213,1
    - Dst: gi_interface_info_get_method
      Src: /src/glib/girepository/girwriter.c:1220,1
    - Dst: gi_interface_info_get_property
      Src: /src/glib/girepository/girwriter.c:1227,1
    - Dst: write_signal_info
      Src: /src/glib/girepository/girwriter.c:1235,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/girwriter.c:1236,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/girwriter.c:1250,1
    - Dst: gi_interface_info_get_n_vfuncs
      Src: /src/glib/girepository/girwriter.c:1239,1
    - Dst: write_constant_info
      Src: /src/glib/girepository/girwriter.c:1249,1
    - Dst: gi_interface_info_get_vfunc
      Src: /src/glib/girepository/girwriter.c:1241,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/girwriter.c:1229,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 60
    argCount: 3
    argNames:
    - ns
    - info
    - file
    argTypes:
    - char*
    - GIInterfaceInfo*
    - Xml*
    constantsTouched: []
    func_position:
      end: 1254
      start: 1172
    functionDepth: 0
    functionLinenumber: 1172
    functionLinenumberEnd: 1254
    functionName: write_interface_info
    functionSourceFile: /src/glib/girepository/girwriter.c
    functionUses: []
    functionsReached:
    - gi_interface_info_get_property
    - gi_base_info_unref
    - write_constant_info
    - gi_interface_info_get_n_vfuncs
    - gi_interface_info_get_prerequisite
    - xml_end_element
    - xml_end_element_unchecked
    - gi_registered_type_info_get_type_init_function_name
    - gi_interface_info_get_signal
    - xml_printf
    - xml_start_element
    - gi_registered_type_info_get_type_name
    - write_property_info
    - write_type_name_attribute
    - gi_interface_info_get_vfunc
    - gi_interface_info_get_constant
    - write_function_info
    - gi_interface_info_get_n_signals
    - gi_interface_info_get_n_methods
    - write_attributes
    - gi_interface_info_get_iface_struct
    - gi_base_info_is_deprecated
    - gi_interface_info_get_n_prerequisites
    - gi_interface_info_get_n_constants
    - gi_interface_info_get_method
    - write_vfunc_info
    - write_signal_info
    - gi_interface_info_get_n_properties
    - gi_base_info_get_name
    linkageType: ''
    returnType: void
    signature: 'static void write_interface_info (const char *ns, GIInterfaceInfo
      *info, Xml *file) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/girepository/girwriter.c:111,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:120,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/girepository/girwriter.c:117,1
    - Dst: g_slist_length
      Src: /src/glib/girepository/girwriter.c:120,1
    - Dst: g_slist_delete_link
      Src: /src/glib/girepository/girwriter.c:114,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:122,1
    - Dst: xml_element_free
      Src: /src/glib/girepository/girwriter.c:124,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - xml
    - name
    argTypes:
    - Xml*
    - char*
    constantsTouched: []
    func_position:
      end: 125
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 125
    functionName: xml_end_element
    functionSourceFile: /src/glib/girepository/girwriter.c
    functionUses: []
    functionsReached:
    - xml_printf
    - g_slist_delete_link
    - g_assert
    - g_slist_length
    - g_assert_cmpstr
    - xml_element_free
    linkageType: ''
    returnType: void
    signature: 'static void xml_end_element (Xml *xml, const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xml_close
      Src: /src/glib/girepository/girwriter.c:161,1
    - Dst: g_slice_free
      Src: /src/glib/girepository/girwriter.c:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - xml
    argTypes:
    - Xml*
    constantsTouched: []
    func_position:
      end: 163
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 163
    functionName: xml_free
    functionSourceFile: /src/glib/girepository/girwriter.c
    functionUses: []
    functionsReached:
    - xml_close
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void xml_free (Xml *xml) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/girepository/girwriter.c:181,1
    - Dst: gi_base_info_get_namespace
      Src: /src/glib/girepository/girwriter.c:181,1
    - Dst: gi_base_info_get_namespace
      Src: /src/glib/girepository/girwriter.c:182,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:184,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:182,1
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/girwriter.c:184,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - ns
    - info
    - file
    argTypes:
    - char*
    - GIBaseInfo*
    - Xml*
    constantsTouched: []
    func_position:
      end: 185
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 185
    functionName: write_type_name
    functionSourceFile: /src/glib/girepository/girwriter.c
    functionUses: []
    functionsReached:
    - gi_base_info_get_namespace
    - xml_printf
    - strcmp
    - gi_base_info_get_name
    linkageType: ''
    returnType: void
    signature: 'static void write_type_name (const char *ns, GIBaseInfo *info, Xml
      *file) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gi_function_info_get_flags
      Src: /src/glib/girepository/girwriter.c:595,1
    - Dst: xml_start_element
      Src: /src/glib/girepository/girwriter.c:607,1
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/girwriter.c:596,1
    - Dst: gi_base_info_is_deprecated
      Src: /src/glib/girepository/girwriter.c:598,1
    - Dst: gi_function_info_get_symbol
      Src: /src/glib/girepository/girwriter.c:597,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:608,1
    - Dst: gi_function_info_get_property
      Src: /src/glib/girepository/girwriter.c:613,1
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/girwriter.c:617,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:620,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:622,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:629,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/girwriter.c:624,1
    - Dst: write_callable_info
      Src: /src/glib/girepository/girwriter.c:631,1
    - Dst: xml_end_element
      Src: /src/glib/girepository/girwriter.c:632,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 32
    argCount: 3
    argNames:
    - ns
    - info
    - file
    argTypes:
    - char*
    - GIFunctionInfo*
    - Xml*
    constantsTouched: []
    func_position:
      end: 633
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 633
    functionName: write_function_info
    functionSourceFile: /src/glib/girepository/girwriter.c
    functionUses: []
    functionsReached:
    - xml_printf
    - xml_start_element
    - gi_base_info_unref
    - write_callable_info
    - gi_function_info_get_property
    - gi_function_info_get_symbol
    - gi_function_info_get_flags
    - xml_end_element
    - gi_base_info_is_deprecated
    - gi_base_info_get_name
    linkageType: ''
    returnType: void
    signature: 'static void write_function_info (const char *ns, GIFunctionInfo *info,
      Xml *file) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/girwriter.c:671,1
    - Dst: GI_REGISTERED_TYPE_INFO
      Src: /src/glib/girepository/girwriter.c:677,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:680,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:692,1
    - Dst: write_attributes
      Src: /src/glib/girepository/girwriter.c:706,1
    - Dst: gi_struct_info_get_n_methods
      Src: /src/glib/girepository/girwriter.c:726,1
    - Dst: write_function_info
      Src: /src/glib/girepository/girwriter.c:729,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/girwriter.c:730,1
    - Dst: xml_end_element_unchecked
      Src: /src/glib/girepository/girwriter.c:735,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/girwriter.c:723,1
    - Dst: gi_base_info_is_deprecated
      Src: /src/glib/girepository/girwriter.c:672,1
    - Dst: xml_start_element
      Src: /src/glib/girepository/girwriter.c:684,1
    - Dst: gi_struct_info_get_copy_function_name
      Src: /src/glib/girepository/girwriter.c:698,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:704,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:689,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:696,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:714,1
    - Dst: gi_struct_info_get_n_fields
      Src: /src/glib/girepository/girwriter.c:716,1
    - Dst: gi_struct_info_get_n_methods
      Src: /src/glib/girepository/girwriter.c:716,1
    - Dst: write_field_info
      Src: /src/glib/girepository/girwriter.c:722,1
    - Dst: gi_registered_type_info_is_boxed
      Src: /src/glib/girepository/girwriter.c:677,1
    - Dst: gi_registered_type_info_get_type_name
      Src: /src/glib/girepository/girwriter.c:674,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:685,1
    - Dst: gi_struct_info_is_gtype_struct
      Src: /src/glib/girepository/girwriter.c:694,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:710,1
    - Dst: gi_struct_info_is_foreign
      Src: /src/glib/girepository/girwriter.c:712,1
    - Dst: gi_struct_info_get_method
      Src: /src/glib/girepository/girwriter.c:728,1
    - Dst: gi_registered_type_info_get_type_init_function_name
      Src: /src/glib/girepository/girwriter.c:675,1
    - Dst: xml_start_element
      Src: /src/glib/girepository/girwriter.c:679,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:700,1
    - Dst: gi_struct_info_get_free_function_name
      Src: /src/glib/girepository/girwriter.c:702,1
    - Dst: gi_struct_info_get_size
      Src: /src/glib/girepository/girwriter.c:708,1
    - Dst: gi_struct_info_get_n_fields
      Src: /src/glib/girepository/girwriter.c:719,1
    - Dst: gi_struct_info_get_field
      Src: /src/glib/girepository/girwriter.c:721,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 55
    argCount: 3
    argNames:
    - ns
    - info
    - file
    argTypes:
    - char*
    - GIStructInfo*
    - Xml*
    constantsTouched: []
    func_position:
      end: 736
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 736
    functionName: write_struct_info
    functionSourceFile: /src/glib/girepository/girwriter.c
    functionUses: []
    functionsReached:
    - gi_struct_info_get_method
    - gi_struct_info_get_n_methods
    - gi_struct_info_get_field
    - write_field_info
    - gi_base_info_unref
    - gi_struct_info_get_size
    - GI_REGISTERED_TYPE_INFO
    - gi_registered_type_info_get_type_init_function_name
    - gi_struct_info_get_free_function_name
    - xml_end_element_unchecked
    - xml_printf
    - xml_start_element
    - gi_registered_type_info_get_type_name
    - gi_struct_info_get_copy_function_name
    - gi_struct_info_is_gtype_struct
    - gi_registered_type_info_is_boxed
    - gi_struct_info_is_foreign
    - write_function_info
    - write_attributes
    - gi_struct_info_get_n_fields
    - gi_base_info_is_deprecated
    - gi_base_info_get_name
    linkageType: ''
    returnType: void
    signature: 'static void write_struct_info (const char *ns, GIStructInfo *info,
      Xml *file) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gi_type_info_get_tag
      Src: /src/glib/girepository/girwriter.c:771,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:783,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:780,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:774,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:777,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:786,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:789,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:792,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:795,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:798,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:801,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:808,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:804,1
    - Dst: g_assert_not_reached
      Src: /src/glib/girepository/girwriter.c:811,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 16
    argCount: 4
    argNames:
    - ns
    - type
    - value
    - file
    argTypes:
    - char*
    - GITypeInfo*
    - GIArgument*
    - Xml*
    constantsTouched: []
    func_position:
      end: 813
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 813
    functionName: write_constant_value
    functionSourceFile: /src/glib/girepository/girwriter.c
    functionUses: []
    functionsReached:
    - gi_type_info_get_tag
    - xml_printf
    - g_assert_not_reached
    linkageType: ''
    returnType: void
    signature: 'static void write_constant_value (const char *ns, GITypeInfo *type,
      GIArgument *value, Xml *file) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gi_registered_type_info_get_type_name
      Src: /src/glib/girepository/girwriter.c:1271,1
    - Dst: gi_union_info_get_discriminator_offset
      Src: /src/glib/girepository/girwriter.c:1303,1
    - Dst: write_attributes
      Src: /src/glib/girepository/girwriter.c:1296,1
    - Dst: xml_start_element
      Src: /src/glib/girepository/girwriter.c:1306,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:1307,1
    - Dst: write_type_info
      Src: /src/glib/girepository/girwriter.c:1308,1
    - Dst: xml_end_element
      Src: /src/glib/girepository/girwriter.c:1309,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/girwriter.c:1310,1
    - Dst: gi_union_info_get_n_fields
      Src: /src/glib/girepository/girwriter.c:1313,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/girwriter.c:1320,1
    - Dst: gi_registered_type_info_get_type_init_function_name
      Src: /src/glib/girepository/girwriter.c:1272,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:1286,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:1294,1
    - Dst: gi_union_info_get_copy_function_name
      Src: /src/glib/girepository/girwriter.c:1288,1
    - Dst: gi_union_info_get_discriminator
      Src: /src/glib/girepository/girwriter.c:1316,1
    - Dst: write_field_info
      Src: /src/glib/girepository/girwriter.c:1317,1
    - Dst: gi_union_info_get_n_methods
      Src: /src/glib/girepository/girwriter.c:1323,1
    - Dst: write_function_info
      Src: /src/glib/girepository/girwriter.c:1326,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/girwriter.c:1327,1
    - Dst: xml_end_element
      Src: /src/glib/girepository/girwriter.c:1330,1
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/girwriter.c:1268,1
    - Dst: xml_start_element
      Src: /src/glib/girepository/girwriter.c:1275,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:1282,1
    - Dst: gi_union_info_get_size
      Src: /src/glib/girepository/girwriter.c:1284,1
    - Dst: gi_union_info_get_field
      Src: /src/glib/girepository/girwriter.c:1315,1
    - Dst: gi_base_info_is_deprecated
      Src: /src/glib/girepository/girwriter.c:1269,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:1276,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:1279,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:1290,1
    - Dst: gi_union_info_get_free_function_name
      Src: /src/glib/girepository/girwriter.c:1292,1
    - Dst: gi_union_info_get_discriminator_type
      Src: /src/glib/girepository/girwriter.c:1304,1
    - Dst: gi_union_info_is_discriminated
      Src: /src/glib/girepository/girwriter.c:1298,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/girwriter.c:1318,1
    - Dst: gi_union_info_get_method
      Src: /src/glib/girepository/girwriter.c:1325,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 48
    argCount: 3
    argNames:
    - ns
    - info
    - file
    argTypes:
    - char*
    - GIUnionInfo*
    - Xml*
    constantsTouched: []
    func_position:
      end: 1331
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1331
    functionName: write_union_info
    functionSourceFile: /src/glib/girepository/girwriter.c
    functionUses: []
    functionsReached:
    - gi_union_info_get_copy_function_name
    - gi_union_info_get_discriminator_type
    - gi_base_info_unref
    - write_field_info
    - gi_union_info_get_field
    - xml_end_element
    - gi_registered_type_info_get_type_init_function_name
    - xml_printf
    - gi_union_info_get_size
    - xml_start_element
    - gi_union_info_get_method
    - gi_union_info_is_discriminated
    - gi_registered_type_info_get_type_name
    - gi_union_info_get_discriminator_offset
    - gi_union_info_get_discriminator
    - write_function_info
    - gi_union_info_get_free_function_name
    - write_attributes
    - write_type_info
    - gi_union_info_get_n_fields
    - gi_base_info_is_deprecated
    - gi_union_info_get_n_methods
    - gi_base_info_get_name
    linkageType: ''
    returnType: void
    signature: 'static void write_union_info (const char *ns, GIUnionInfo *info, Xml
      *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gi_callable_info_iterate_return_attributes
      Src: /src/glib/girepository/girwriter.c:372,1
    - Dst: xml_end_element
      Src: /src/glib/girepository/girwriter.c:376,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:375,1
    - Dst: xml_start_element
      Src: /src/glib/girepository/girwriter.c:374,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - file
    - info
    argTypes:
    - Xml*
    - GICallableInfo*
    constantsTouched: []
    func_position:
      end: 378
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 378
    functionName: write_return_value_attributes
    functionSourceFile: /src/glib/girepository/girwriter.c
    functionUses: []
    functionsReached:
    - gi_callable_info_iterate_return_attributes
    - xml_printf
    - xml_end_element
    - xml_start_element
    linkageType: ''
    returnType: void
    signature: 'static void write_return_value_attributes (Xml *file, GICallableInfo
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/girepository/girwriter.c:79,1
    - Dst: fputs
      Src: /src/glib/girepository/girwriter.c:81,1
    - Dst: va_end
      Src: /src/glib/girepository/girwriter.c:83,1
    - Dst: g_markup_vprintf_escaped
      Src: /src/glib/girepository/girwriter.c:80,1
    - Dst: g_free
      Src: /src/glib/girepository/girwriter.c:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - xml
    - fmt
    - '...'
    argTypes:
    - Xml*
    - char*
    constantsTouched: []
    func_position:
      end: 84
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 84
    functionName: xml_printf
    functionSourceFile: /src/glib/girepository/girwriter.c
    functionUses: []
    functionsReached:
    - va_end
    - fputs
    - g_free
    - va_start
    - g_markup_vprintf_escaped
    linkageType: ''
    returnType: void
    signature: 'static void xml_printf (Xml *xml, const char *fmt, ...) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/girepository/girwriter.c:1367,1
    - Dst: g_fopen
      Src: /src/glib/girepository/girwriter.c:1370,1
    - Dst: xml_open
      Src: /src/glib/girepository/girwriter.c:1384,1
    - Dst: g_strfreev
      Src: /src/glib/girepository/girwriter.c:1402,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:1400,1
    - Dst: xml_end_element
      Src: /src/glib/girepository/girwriter.c:1401,1
    - Dst: g_free
      Src: /src/glib/girepository/girwriter.c:1424,1
    - Dst: GI_IS_CONSTANT_INFO
      Src: /src/glib/girepository/girwriter.c:1445,1
    - Dst: GI_IS_OBJECT_INFO
      Src: /src/glib/girepository/girwriter.c:1447,1
    - Dst: GI_IS_INTERFACE_INFO
      Src: /src/glib/girepository/girwriter.c:1449,1
    - Dst: write_interface_info
      Src: /src/glib/girepository/girwriter.c:1450,1
    - Dst: GI_IS_FLAGS_INFO
      Src: /src/glib/girepository/girwriter.c:1443,1
    - Dst: GI_IS_STRUCT_INFO
      Src: /src/glib/girepository/girwriter.c:1438,1
    - Dst: GI_IS_ENUM_INFO
      Src: /src/glib/girepository/girwriter.c:1442,1
    - Dst: g_fprintf
      Src: /src/glib/girepository/girwriter.c:1374,1
    - Dst: g_strerror
      Src: /src/glib/girepository/girwriter.c:1375,1
    - Dst: gi_repository_get_version
      Src: /src/glib/girepository/girwriter.c:1414,1
    - Dst: gi_repository_get_c_prefix
      Src: /src/glib/girepository/girwriter.c:1417,1
    - Dst: g_strjoinv
      Src: /src/glib/girepository/girwriter.c:1422,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:1427,1
    - Dst: write_function_info
      Src: /src/glib/girepository/girwriter.c:1435,1
    - Dst: write_callback_info
      Src: /src/glib/girepository/girwriter.c:1437,1
    - Dst: write_struct_info
      Src: /src/glib/girepository/girwriter.c:1439,1
    - Dst: write_union_info
      Src: /src/glib/girepository/girwriter.c:1441,1
    - Dst: g_type_name
      Src: /src/glib/girepository/girwriter.c:1452,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/girwriter.c:1454,1
    - Dst: xml_free
      Src: /src/glib/girepository/girwriter.c:1462,1
    - Dst: g_error
      Src: /src/glib/girepository/girwriter.c:1452,1
    - Dst: g_free
      Src: /src/glib/girepository/girwriter.c:1376,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:1388,1
    - Dst: g_strsplit
      Src: /src/glib/girepository/girwriter.c:1398,1
    - Dst: xml_start_element
      Src: /src/glib/girepository/girwriter.c:1418,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:1423,1
    - Dst: gi_repository_get_info
      Src: /src/glib/girepository/girwriter.c:1432,1
    - Dst: write_enum_info
      Src: /src/glib/girepository/girwriter.c:1444,1
    - Dst: write_constant_info
      Src: /src/glib/girepository/girwriter.c:1446,1
    - Dst: write_object_info
      Src: /src/glib/girepository/girwriter.c:1448,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/girepository/girwriter.c:1452,1
    - Dst: GI_IS_CALLBACK_INFO
      Src: /src/glib/girepository/girwriter.c:1436,1
    - Dst: GI_IS_UNION_INFO
      Src: /src/glib/girepository/girwriter.c:1440,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girwriter.c:1369,1
    - Dst: g_free
      Src: /src/glib/girepository/girwriter.c:1381,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:1386,1
    - Dst: xml_start_element
      Src: /src/glib/girepository/girwriter.c:1387,1
    - Dst: gi_repository_get_immediate_dependencies
      Src: /src/glib/girepository/girwriter.c:1393,1
    - Dst: gi_repository_get_shared_libraries
      Src: /src/glib/girepository/girwriter.c:1416,1
    - Dst: xml_start_element
      Src: /src/glib/girepository/girwriter.c:1399,1
    - Dst: xml_printf
      Src: /src/glib/girepository/girwriter.c:1419,1
    - Dst: gi_repository_get_n_infos
      Src: /src/glib/girepository/girwriter.c:1429,1
    - Dst: GI_IS_FUNCTION_INFO
      Src: /src/glib/girepository/girwriter.c:1434,1
    - Dst: xml_end_element
      Src: /src/glib/girepository/girwriter.c:1457,1
    - Dst: xml_end_element
      Src: /src/glib/girepository/girwriter.c:1460,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 79
    argCount: 5
    argNames:
    - repository
    - filename
    - ns
    - needs_prefix
    - show_all
    argTypes:
    - GIRepository*
    - char*
    - char*
    - gboolean
    - gboolean
    constantsTouched: []
    func_position:
      end: 1463
      start: 1347
    functionDepth: 0
    functionLinenumber: 1347
    functionLinenumberEnd: 1463
    functionName: gi_ir_writer_write
    functionSourceFile: /src/glib/girepository/girwriter.c
    functionUses: []
    functionsReached:
    - GI_IS_CALLBACK_INFO
    - g_strdup_printf
    - gi_base_info_unref
    - write_constant_info
    - g_strerror
    - GI_IS_FLAGS_INFO
    - g_strsplit
    - g_error
    - GI_IS_OBJECT_INFO
    - xml_end_element
    - write_struct_info
    - xml_printf
    - write_object_info
    - xml_start_element
    - g_strfreev
    - g_fopen
    - GI_IS_STRUCT_INFO
    - gi_repository_get_n_infos
    - GI_IS_FUNCTION_INFO
    - g_type_name
    - GI_IS_ENUM_INFO
    - g_strdup
    - gi_repository_get_c_prefix
    - GI_IS_INTERFACE_INFO
    - gi_repository_get_info
    - GI_IS_UNION_INFO
    - gi_repository_get_version
    - write_function_info
    - write_union_info
    - write_callback_info
    - xml_open
    - g_fprintf
    - G_TYPE_FROM_INSTANCE
    - GI_IS_CONSTANT_INFO
    - g_strjoinv
    - write_enum_info
    - gi_repository_get_immediate_dependencies
    - gi_repository_get_shared_libraries
    - g_free
    - xml_free
    - write_interface_info
    linkageType: ''
    returnType: void
    signature: 'void gi_ir_writer_write (GIRepository *repository, const char *filename,
      const char *ns, gboolean needs_prefix, gboolean show_all) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_module_open
      Src: /src/glib/girepository/gi-dump-types.c:34,1
    - Dst: dump_type
      Src: /src/glib/girepository/gi-dump-types.c:48,1
    - Dst: invoke_get_type
      Src: /src/glib/girepository/gi-dump-types.c:41,1
    - Dst: g_printerr
      Src: /src/glib/girepository/gi-dump-types.c:44,1
    - Dst: g_clear_error
      Src: /src/glib/girepository/gi-dump-types.c:45,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 52
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 52
    functionName: main
    functionSourceFile: /src/glib/girepository/gi-dump-types.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_printerr
    - invoke_get_type
    - dump_type
    - g_module_open
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_message
      Src: /src/glib/girepository/girnode.c:60,1
    - Dst: g_message
      Src: /src/glib/girepository/girnode.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: gi_ir_node_dump_stats
    functionSourceFile: /src/glib/girepository/girnode.c
    functionUses: []
    functionsReached:
    - g_message
    linkageType: ''
    returnType: void
    signature: 'void gi_ir_node_dump_stats (void) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc0
      Src: /src/glib/girepository/girnode.c:132,1
    - Dst: g_malloc0
      Src: /src/glib/girepository/girnode.c:149,1
    - Dst: g_malloc0
      Src: /src/glib/girepository/girnode.c:136,1
    - Dst: g_malloc0
      Src: /src/glib/girepository/girnode.c:140,1
    - Dst: g_malloc0
      Src: /src/glib/girepository/girnode.c:145,1
    - Dst: g_malloc0
      Src: /src/glib/girepository/girnode.c:153,1
    - Dst: g_malloc0
      Src: /src/glib/girepository/girnode.c:157,1
    - Dst: g_malloc0
      Src: /src/glib/girepository/girnode.c:161,1
    - Dst: g_malloc0
      Src: /src/glib/girepository/girnode.c:166,1
    - Dst: g_malloc0
      Src: /src/glib/girepository/girnode.c:170,1
    - Dst: g_malloc0
      Src: /src/glib/girepository/girnode.c:174,1
    - Dst: g_malloc0
      Src: /src/glib/girepository/girnode.c:178,1
    - Dst: g_malloc0
      Src: /src/glib/girepository/girnode.c:186,1
    - Dst: g_malloc0
      Src: /src/glib/girepository/girnode.c:190,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/girepository/girnode.c:201,1
    - Dst: g_error
      Src: /src/glib/girepository/girnode.c:194,1
    - Dst: g_malloc0
      Src: /src/glib/girepository/girnode.c:182,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 205
    functionName: gi_ir_node_new
    functionSourceFile: /src/glib/girepository/girnode.c
    functionUses: []
    functionsReached:
    - g_error
    - g_hash_table_new_full
    - g_malloc0
    linkageType: ''
    returnType: GIIrNode*
    signature: 'GIIrNode *gi_ir_node_new (GIIrNodeTypeId type, GIIrModule *module) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/girepository/girnode.c:919,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - node
    - other
    argTypes:
    - GIIrNode*
    - GIIrNode*
    constantsTouched: []
    func_position:
      end: 920
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 920
    functionName: gi_ir_node_cmp
    functionSourceFile: /src/glib/girepository/girnode.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'int gi_ir_node_cmp (GIIrNode *node, GIIrNode *other) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_strtoll
      Src: /src/glib/girepository/girnode.c:1023,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1024
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1024
    functionName: parse_int_value
    functionSourceFile: /src/glib/girepository/girnode.c
    functionUses: []
    functionsReached:
    - g_ascii_strtoll
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t parse_int_value (const char *str) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/girepository/girnode.c:1063,1
    - Dst: g_strsplit
      Src: /src/glib/girepository/girnode.c:1066,1
    - Dst: strlen
      Src: /src/glib/girepository/girnode.c:1064,1
    - Dst: g_strv_length
      Src: /src/glib/girepository/girnode.c:1067,1
    - Dst: g_assert
      Src: /src/glib/girepository/girnode.c:1064,1
    - Dst: g_error
      Src: /src/glib/girepository/girnode.c:1069,1
    - Dst: strcmp
      Src: /src/glib/girepository/girnode.c:1081,1
    - Dst: strcmp
      Src: /src/glib/girepository/girnode.c:1085,1
    - Dst: gi_ir_node_new
      Src: /src/glib/girepository/girnode.c:1097,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girnode.c:1099,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girnode.c:1100,1
    - Dst: g_list_length
      Src: /src/glib/girepository/girnode.c:1105,1
    - Dst: gi_ir_module_fatal
      Src: /src/glib/girepository/girnode.c:1115,1
    - Dst: g_debug
      Src: /src/glib/girepository/girnode.c:1109,1
    - Dst: g_strfreev
      Src: /src/glib/girepository/girnode.c:1118,1
    - Dst: g_list_append
      Src: /src/glib/girepository/girnode.c:1102,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1050
    functionDepth: 0
    functionLinenumber: 1050
    functionLinenumberEnd: 1121
    functionName: find_entry_node
    functionSourceFile: /src/glib/girepository/girnode.c
    functionUses: []
    functionsReached:
    - gi_ir_node_new
    - g_list_append
    - g_strdup
    - g_strv_length
    - strlen
    - g_assert
    - g_list_length
    - g_debug
    - strcmp
    - g_strfreev
    - g_strsplit
    - g_error
    - gi_ir_module_fatal
    linkageType: ''
    returnType: GIIrNode*
    signature: 'static GIIrNode *find_entry_node (GIIrTypelibBuild *build, const char
      *name, uint16_t *idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: gi_ir_node_init_stats
    functionSourceFile: /src/glib/girepository/girnode.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gi_ir_node_init_stats (void) '
  - BBCount: 20
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 120
    functionName: gi_ir_node_type_to_string
    functionSourceFile: /src/glib/girepository/girnode.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *gi_ir_node_type_to_string (GIIrNodeTypeId type) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: g_list_free
      Src: /src/glib/girepository/girnode.c:332,1
    - Dst: g_free
      Src: /src/glib/girepository/girnode.c:325,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/girepository/girnode.c:433,1
    - Dst: gi_ir_node_free
      Src: /src/glib/girepository/girnode.c:422,1
    - Dst: g_free
      Src: /src/glib/girepository/girnode.c:225,1
    - Dst: g_free
      Src: /src/glib/girepository/girnode.c:227,1
    - Dst: gi_ir_node_free
      Src: /src/glib/girepository/girnode.c:275,1
    - Dst: gi_ir_node_free
      Src: /src/glib/girepository/girnode.c:303,1
    - Dst: gi_ir_node_free
      Src: /src/glib/girepository/girnode.c:372,1
    - Dst: gi_ir_node_free
      Src: /src/glib/girepository/girnode.c:388,1
    - Dst: g_free
      Src: /src/glib/girepository/girnode.c:313,1
    - Dst: g_free
      Src: /src/glib/girepository/girnode.c:314,1
    - Dst: gi_ir_node_free
      Src: /src/glib/girepository/girnode.c:358,1
    - Dst: g_clear_list
      Src: /src/glib/girepository/girnode.c:423,1
    - Dst: gi_ir_node_free
      Src: /src/glib/girepository/girnode.c:277,1
    - Dst: g_list_free
      Src: /src/glib/girepository/girnode.c:276,1
    - Dst: g_free
      Src: /src/glib/girepository/girnode.c:315,1
    - Dst: g_free
      Src: /src/glib/girepository/girnode.c:317,1
    - Dst: g_list_free
      Src: /src/glib/girepository/girnode.c:373,1
    - Dst: g_free
      Src: /src/glib/girepository/girnode.c:321,1
    - Dst: g_free
      Src: /src/glib/girepository/girnode.c:408,1
    - Dst: g_free
      Src: /src/glib/girepository/girnode.c:417,1
    - Dst: g_free
      Src: /src/glib/girepository/girnode.c:418,1
    - Dst: g_error
      Src: /src/glib/girepository/girnode.c:429,1
    - Dst: g_list_free
      Src: /src/glib/girepository/girnode.c:359,1
    - Dst: g_free
      Src: /src/glib/girepository/girnode.c:243,1
    - Dst: g_free
      Src: /src/glib/girepository/girnode.c:245,1
    - Dst: g_free
      Src: /src/glib/girepository/girnode.c:287,1
    - Dst: g_list_free
      Src: /src/glib/girepository/girnode.c:389,1
    - Dst: g_free
      Src: /src/glib/girepository/girnode.c:286,1
    - Dst: gi_ir_node_free
      Src: /src/glib/girepository/girnode.c:265,1
    - Dst: g_free
      Src: /src/glib/girepository/girnode.c:289,1
    - Dst: g_free
      Src: /src/glib/girepository/girnode.c:407,1
    - Dst: g_free
      Src: /src/glib/girepository/girnode.c:416,1
    - Dst: gi_ir_node_free
      Src: /src/glib/girepository/girnode.c:240,1
    - Dst: gi_ir_node_free
      Src: /src/glib/girepository/girnode.c:254,1
    - Dst: g_free
      Src: /src/glib/girepository/girnode.c:384,1
    - Dst: g_free
      Src: /src/glib/girepository/girnode.c:420,1
    - Dst: g_free
      Src: /src/glib/girepository/girnode.c:351,1
    - Dst: g_list_free
      Src: /src/glib/girepository/girnode.c:231,1
    - Dst: g_free
      Src: /src/glib/girepository/girnode.c:285,1
    - Dst: g_clear_list
      Src: /src/glib/girepository/girnode.c:424,1
    - Dst: gi_ir_node_free
      Src: /src/glib/girepository/girnode.c:228,1
    - Dst: g_free
      Src: /src/glib/girepository/girnode.c:262,1
    - Dst: g_free
      Src: /src/glib/girepository/girnode.c:226,1
    - Dst: g_free
      Src: /src/glib/girepository/girnode.c:223,1
    - Dst: g_free
      Src: /src/glib/girepository/girnode.c:224,1
    - Dst: g_free
      Src: /src/glib/girepository/girnode.c:239,1
    - Dst: g_free
      Src: /src/glib/girepository/girnode.c:253,1
    - Dst: gi_ir_node_free
      Src: /src/glib/girepository/girnode.c:291,1
    - Dst: g_list_free_full
      Src: /src/glib/girepository/girnode.c:328,1
    - Dst: gi_ir_node_free
      Src: /src/glib/girepository/girnode.c:302,1
    - Dst: g_free
      Src: /src/glib/girepository/girnode.c:435,1
    - Dst: gi_ir_node_free
      Src: /src/glib/girepository/girnode.c:354,1
    - Dst: g_free
      Src: /src/glib/girepository/girnode.c:222,1
    - Dst: gi_ir_node_free
      Src: /src/glib/girepository/girnode.c:293,1
    - Dst: g_list_free
      Src: /src/glib/girepository/girnode.c:326,1
    - Dst: gi_ir_node_free
      Src: /src/glib/girepository/girnode.c:230,1
    - Dst: g_list_free
      Src: /src/glib/girepository/girnode.c:292,1
    - Dst: g_free
      Src: /src/glib/girepository/girnode.c:312,1
    - Dst: g_free
      Src: /src/glib/girepository/girnode.c:316,1
    - Dst: g_free
      Src: /src/glib/girepository/girnode.c:318,1
    - Dst: gi_ir_node_free
      Src: /src/glib/girepository/girnode.c:399,1
    - Dst: g_free
      Src: /src/glib/girepository/girnode.c:322,1
    - Dst: g_free
      Src: /src/glib/girepository/girnode.c:382,1
    - Dst: g_free
      Src: /src/glib/girepository/girnode.c:398,1
    - Dst: g_strfreev
      Src: /src/glib/girepository/girnode.c:244,1
    - Dst: g_free
      Src: /src/glib/girepository/girnode.c:288,1
    - Dst: gi_ir_node_free
      Src: /src/glib/girepository/girnode.c:241,1
    - Dst: g_free
      Src: /src/glib/girepository/girnode.c:301,1
    - Dst: gi_ir_node_free
      Src: /src/glib/girepository/girnode.c:331,1
    - Dst: g_free
      Src: /src/glib/girepository/girnode.c:369,1
    - Dst: g_free
      Src: /src/glib/girepository/girnode.c:368,1
    - Dst: g_free
      Src: /src/glib/girepository/girnode.c:350,1
    - Dst: g_free
      Src: /src/glib/girepository/girnode.c:349,1
    - Dst: g_free
      Src: /src/glib/girepository/girnode.c:263,1
    - Dst: g_free
      Src: /src/glib/girepository/girnode.c:264,1
    - Dst: g_list_free
      Src: /src/glib/girepository/girnode.c:355,1
    - Dst: g_free
      Src: /src/glib/girepository/girnode.c:385,1
    - Dst: g_free
      Src: /src/glib/girepository/girnode.c:381,1
    - Dst: g_free
      Src: /src/glib/girepository/girnode.c:383,1
    - Dst: g_free
      Src: /src/glib/girepository/girnode.c:419,1
    - Dst: g_free
      Src: /src/glib/girepository/girnode.c:367,1
    - Dst: g_free
      Src: /src/glib/girepository/girnode.c:397,1
    - Dst: g_free
      Src: /src/glib/girepository/girnode.c:339,1
    - Dst: g_free
      Src: /src/glib/girepository/girnode.c:348,1
    - Dst: g_free
      Src: /src/glib/girepository/girnode.c:273,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 123
    argCount: 1
    argNames:
    - node
    argTypes:
    - GIIrNode*
    constantsTouched: []
    func_position:
      end: 436
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 436
    functionName: gi_ir_node_free
    functionSourceFile: /src/glib/girepository/girnode.c
    functionUses: []
    functionsReached:
    - g_list_free_full
    - g_clear_list
    - gi_ir_node_free
    - g_strfreev
    - g_list_free
    - g_error
    - g_free
    - g_hash_table_destroy
    linkageType: ''
    returnType: void
    signature: 'void gi_ir_node_free (GIIrNode *node) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/glib/girepository/girnode.c:953,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GIIrNode*
    constantsTouched: []
    func_position:
      end: 956
      start: 922
    functionDepth: 0
    functionLinenumber: 922
    functionLinenumberEnd: 956
    functionName: gi_ir_node_can_have_member
    functionSourceFile: /src/glib/girepository/girnode.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean gi_ir_node_can_have_member (GIIrNode *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_strtoull
      Src: /src/glib/girepository/girnode.c:1029,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1030
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1030
    functionName: parse_uint_value
    functionSourceFile: /src/glib/girepository/girnode.c
    functionUses: []
    functionsReached:
    - g_ascii_strtoull
    linkageType: ''
    returnType: uint64_t
    signature: 'static uint64_t parse_uint_value (const char *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_entry_node
      Src: /src/glib/girepository/girnode.c:1129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - build
    - name
    argTypes:
    - GIIrTypelibBuild*
    - char*
    constantsTouched: []
    func_position:
      end: 1132
      start: 1123
    functionDepth: 0
    functionLinenumber: 1123
    functionLinenumberEnd: 1132
    functionName: find_entry
    functionSourceFile: /src/glib/girepository/girnode.c
    functionUses: []
    functionsReached:
    - find_entry_node
    linkageType: ''
    returnType: uint16_t
    signature: 'static uint16_t find_entry (GIIrTypelibBuild *build, const char *name) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: g_list_length
      Src: /src/glib/girepository/girnode.c:468,1
    - Dst: gi_ir_node_get_size
      Src: /src/glib/girepository/girnode.c:495,1
    - Dst: gi_ir_node_get_size
      Src: /src/glib/girepository/girnode.c:484,1
    - Dst: gi_ir_node_get_size
      Src: /src/glib/girepository/girnode.c:472,1
    - Dst: g_list_length
      Src: /src/glib/girepository/girnode.c:480,1
    - Dst: gi_ir_node_get_size
      Src: /src/glib/girepository/girnode.c:497,1
    - Dst: gi_ir_node_get_size
      Src: /src/glib/girepository/girnode.c:511,1
    - Dst: gi_ir_node_get_size
      Src: /src/glib/girepository/girnode.c:521,1
    - Dst: gi_ir_node_get_size
      Src: /src/glib/girepository/girnode.c:543,1
    - Dst: gi_ir_node_get_size
      Src: /src/glib/girepository/girnode.c:561,1
    - Dst: g_debug
      Src: /src/glib/girepository/girnode.c:572,1
    - Dst: gi_ir_node_type_to_string
      Src: /src/glib/girepository/girnode.c:568,1
    - Dst: g_assert
      Src: /src/glib/girepository/girnode.c:575,1
    - Dst: g_error
      Src: /src/glib/girepository/girnode.c:568,1
    - Dst: gi_ir_node_type_to_string
      Src: /src/glib/girepository/girnode.c:573,1
    - Dst: gi_ir_node_get_size
      Src: /src/glib/girepository/girnode.c:563,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 80
    argCount: 1
    argNames:
    - node
    argTypes:
    - GIIrNode*
    constantsTouched: []
    func_position:
      end: 578
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 578
    functionName: gi_ir_node_get_size
    functionSourceFile: /src/glib/girepository/girnode.c
    functionUses: []
    functionsReached:
    - gi_ir_node_type_to_string
    - g_assert
    - g_list_length
    - g_debug
    - gi_ir_node_get_size
    - g_error
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t gi_ir_node_get_size (GIIrNode *node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/girepository/girnode.c:1219,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 3
    argNames:
    - node
    - type
    - name
    argTypes:
    - GIIrNodeInterface*
    - GIIrNodeTypeId
    - char*
    constantsTouched: []
    func_position:
      end: 1224
      start: 1202
    functionDepth: 0
    functionLinenumber: 1202
    functionLinenumberEnd: 1224
    functionName: get_index_of_member_type
    functionSourceFile: /src/glib/girepository/girnode.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'static int get_index_of_member_type (GIIrNodeInterface *node, GIIrNodeTypeId
      type, const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:588,1
    - Dst: strlen
      Src: /src/glib/girepository/girnode.c:589,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:589,1
    - Dst: strlen
      Src: /src/glib/girepository/girnode.c:588,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - key
    - value
    - data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 590
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 590
    functionName: add_attribute_size
    functionSourceFile: /src/glib/girepository/girnode.c
    functionUses: []
    functionsReached:
    - strlen
    - ALIGN_VALUE
    linkageType: ''
    returnType: void
    signature: 'static void add_attribute_size (gpointer key, gpointer value, gpointer
      data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find_entry
      Src: /src/glib/girepository/girnode.c:1233,1
    - Dst: get_index_of_member_type
      Src: /src/glib/girepository/girnode.c:1240,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - build
    - parent
    - name
    argTypes:
    - GIIrTypelibBuild*
    - GIIrNode*
    - char*
    constantsTouched: []
    func_position:
      end: 1245
      start: 1226
    functionDepth: 0
    functionLinenumber: 1226
    functionLinenumberEnd: 1245
    functionName: get_index_for_function
    functionSourceFile: /src/glib/girepository/girnode.c
    functionUses: []
    functionsReached:
    - get_index_of_member_type
    - find_entry
    linkageType: ''
    returnType: int
    signature: 'static int get_index_for_function (GIIrTypelibBuild *build, GIIrNode
      *parent, const char *name) '
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/girepository/girnode.c:600,1
    - Dst: gi_ir_node_get_full_size_internal
      Src: /src/glib/girepository/girnode.c:728,1
    - Dst: strlen
      Src: /src/glib/girepository/girnode.c:702,1
    - Dst: gi_ir_node_get_full_size_internal
      Src: /src/glib/girepository/girnode.c:748,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:789,1
    - Dst: strlen
      Src: /src/glib/girepository/girnode.c:872,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:697,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:772,1
    - Dst: strlen
      Src: /src/glib/girepository/girnode.c:788,1
    - Dst: strlen
      Src: /src/glib/girepository/girnode.c:801,1
    - Dst: strlen
      Src: /src/glib/girepository/girnode.c:724,1
    - Dst: strlen
      Src: /src/glib/girepository/girnode.c:723,1
    - Dst: strlen
      Src: /src/glib/girepository/girnode.c:625,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:702,1
    - Dst: strlen
      Src: /src/glib/girepository/girnode.c:706,1
    - Dst: strlen
      Src: /src/glib/girepository/girnode.c:722,1
    - Dst: gi_ir_node_get_full_size_internal
      Src: /src/glib/girepository/girnode.c:776,1
    - Dst: strlen
      Src: /src/glib/girepository/girnode.c:861,1
    - Dst: strlen
      Src: /src/glib/girepository/girnode.c:870,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:872,1
    - Dst: strlen
      Src: /src/glib/girepository/girnode.c:785,1
    - Dst: g_debug
      Src: /src/glib/girepository/girnode.c:602,1
    - Dst: GI_TYPE_TAG_IS_BASIC
      Src: /src/glib/girepository/girnode.c:648,1
    - Dst: gi_ir_node_get_full_size_internal
      Src: /src/glib/girepository/girnode.c:672,1
    - Dst: strlen
      Src: /src/glib/girepository/girnode.c:694,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:698,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:788,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:811,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:823,1
    - Dst: strlen
      Src: /src/glib/girepository/girnode.c:860,1
    - Dst: gi_ir_node_get_full_size_internal
      Src: /src/glib/girepository/girnode.c:628,1
    - Dst: strlen
      Src: /src/glib/girepository/girnode.c:696,1
    - Dst: gi_ir_node_get_full_size_internal
      Src: /src/glib/girepository/girnode.c:712,1
    - Dst: g_list_length
      Src: /src/glib/girepository/girnode.c:720,1
    - Dst: strlen
      Src: /src/glib/girepository/girnode.c:848,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:870,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:861,1
    - Dst: strlen
      Src: /src/glib/girepository/girnode.c:766,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:768,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:708,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:785,1
    - Dst: strlen
      Src: /src/glib/girepository/girnode.c:757,1
    - Dst: gi_ir_node_get_full_size_internal
      Src: /src/glib/girepository/girnode.c:826,1
    - Dst: strlen
      Src: /src/glib/girepository/girnode.c:878,1
    - Dst: g_error
      Src: /src/glib/girepository/girnode.c:887,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:860,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:696,1
    - Dst: strlen
      Src: /src/glib/girepository/girnode.c:789,1
    - Dst: gi_ir_node_get_full_size_internal
      Src: /src/glib/girepository/girnode.c:792,1
    - Dst: strlen
      Src: /src/glib/girepository/girnode.c:772,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:757,1
    - Dst: strlen
      Src: /src/glib/girepository/girnode.c:698,1
    - Dst: gi_ir_node_get_full_size_internal
      Src: /src/glib/girepository/girnode.c:616,1
    - Dst: gi_type_tag_to_string
      Src: /src/glib/girepository/girnode.c:651,1
    - Dst: strlen
      Src: /src/glib/girepository/girnode.c:697,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:878,1
    - Dst: gi_ir_node_get_full_size_internal
      Src: /src/glib/girepository/girnode.c:882,1
    - Dst: strlen
      Src: /src/glib/girepository/girnode.c:611,1
    - Dst: gi_ir_node_get_full_size_internal
      Src: /src/glib/girepository/girnode.c:640,1
    - Dst: gi_ir_node_get_full_size_internal
      Src: /src/glib/girepository/girnode.c:750,1
    - Dst: strlen
      Src: /src/glib/girepository/girnode.c:741,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:745,1
    - Dst: strlen
      Src: /src/glib/girepository/girnode.c:774,1
    - Dst: gi_ir_node_get_full_size_internal
      Src: /src/glib/girepository/girnode.c:813,1
    - Dst: gi_ir_node_get_full_size_internal
      Src: /src/glib/girepository/girnode.c:839,1
    - Dst: gi_ir_node_get_full_size_internal
      Src: /src/glib/girepository/girnode.c:614,1
    - Dst: gi_ir_node_get_full_size_internal
      Src: /src/glib/girepository/girnode.c:627,1
    - Dst: gi_ir_node_get_full_size_internal
      Src: /src/glib/girepository/girnode.c:674,1
    - Dst: g_list_length
      Src: /src/glib/girepository/girnode.c:691,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:700,1
    - Dst: strlen
      Src: /src/glib/girepository/girnode.c:704,1
    - Dst: strlen
      Src: /src/glib/girepository/girnode.c:811,1
    - Dst: strlen
      Src: /src/glib/girepository/girnode.c:823,1
    - Dst: strlen
      Src: /src/glib/girepository/girnode.c:874,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:774,1
    - Dst: strlen
      Src: /src/glib/girepository/girnode.c:738,1
    - Dst: strlen
      Src: /src/glib/girepository/girnode.c:624,1
    - Dst: g_error
      Src: /src/glib/girepository/girnode.c:680,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:741,1
    - Dst: gi_ir_node_get_full_size_internal
      Src: /src/glib/girepository/girnode.c:825,1
    - Dst: g_debug
      Src: /src/glib/girepository/girnode.c:891,1
    - Dst: strlen
      Src: /src/glib/girepository/girnode.c:768,1
    - Dst: strlen
      Src: /src/glib/girepository/girnode.c:708,1
    - Dst: g_debug
      Src: /src/glib/girepository/girnode.c:650,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:704,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:801,1
    - Dst: gi_ir_node_get_full_size_internal
      Src: /src/glib/girepository/girnode.c:802,1
    - Dst: gi_ir_node_get_full_size_internal
      Src: /src/glib/girepository/girnode.c:814,1
    - Dst: strlen
      Src: /src/glib/girepository/girnode.c:835,1
    - Dst: gi_ir_node_get_full_size_internal
      Src: /src/glib/girepository/girnode.c:837,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:874,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:611,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:624,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:625,1
    - Dst: gi_ir_node_get_full_size_internal
      Src: /src/glib/girepository/girnode.c:667,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:722,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:724,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:738,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:706,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:723,1
    - Dst: strlen
      Src: /src/glib/girepository/girnode.c:770,1
    - Dst: strlen
      Src: /src/glib/girepository/girnode.c:742,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:639,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:694,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:835,1
    - Dst: gi_ir_node_get_full_size_internal
      Src: /src/glib/girepository/girnode.c:851,1
    - Dst: gi_ir_node_type_to_string
      Src: /src/glib/girepository/girnode.c:895,1
    - Dst: strlen
      Src: /src/glib/girepository/girnode.c:876,1
    - Dst: g_assert
      Src: /src/glib/girepository/girnode.c:899,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:770,1
    - Dst: strlen
      Src: /src/glib/girepository/girnode.c:639,1
    - Dst: gi_ir_node_get_full_size_internal
      Src: /src/glib/girepository/girnode.c:658,1
    - Dst: strlen
      Src: /src/glib/girepository/girnode.c:745,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:848,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:850,1
    - Dst: strlen
      Src: /src/glib/girepository/girnode.c:700,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:766,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:742,1
    - Dst: gi_ir_node_type_to_string
      Src: /src/glib/girepository/girnode.c:603,1
    - Dst: gi_ir_node_get_full_size_internal
      Src: /src/glib/girepository/girnode.c:880,1
    - Dst: g_hash_table_foreach
      Src: /src/glib/girepository/girnode.c:897,1
    - Dst: strlen
      Src: /src/glib/girepository/girnode.c:850,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:876,1
    CyclomaticComplexity: 85
    EdgeCount: 85
    ICount: 318
    argCount: 2
    argNames:
    - parent
    - node
    argTypes:
    - GIIrNode*
    - GIIrNode*
    constantsTouched: []
    func_position:
      end: 902
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 902
    functionName: gi_ir_node_get_full_size_internal
    functionSourceFile: /src/glib/girepository/girnode.c
    functionUses: []
    functionsReached:
    - gi_ir_node_type_to_string
    - gi_type_tag_to_string
    - strlen
    - g_assert
    - g_list_length
    - g_debug
    - gi_ir_node_get_full_size_internal
    - g_error
    - GI_TYPE_TAG_IS_BASIC
    - g_hash_table_foreach
    - ALIGN_VALUE
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t gi_ir_node_get_full_size_internal (GIIrNode *parent,
      GIIrNode *node) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/girepository/girnode.c:962,1
    - Dst: g_list_insert_sorted
      Src: /src/glib/girepository/girnode.c:972,1
    - Dst: g_list_insert_sorted
      Src: /src/glib/girepository/girnode.c:980,1
    - Dst: g_list_insert_sorted
      Src: /src/glib/girepository/girnode.c:988,1
    - Dst: g_return_if_fail
      Src: /src/glib/girepository/girnode.c:963,1
    - Dst: g_list_insert_sorted
      Src: /src/glib/girepository/girnode.c:996,1
    - Dst: g_error
      Src: /src/glib/girepository/girnode.c:1001,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 19
    argCount: 2
    argNames:
    - node
    - member
    argTypes:
    - GIIrNode*
    - GIIrNodeFunction*
    constantsTouched: []
    func_position:
      end: 1005
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 1005
    functionName: gi_ir_node_add_member
    functionSourceFile: /src/glib/girepository/girnode.c
    functionUses: []
    functionsReached:
    - g_error
    - g_list_insert_sorted
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void gi_ir_node_add_member (GIIrNode *node, GIIrNodeFunction *member) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_strtod
      Src: /src/glib/girepository/girnode.c:1035,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1036
      start: 1032
    functionDepth: 0
    functionLinenumber: 1032
    functionLinenumberEnd: 1036
    functionName: parse_float_value
    functionSourceFile: /src/glib/girepository/girnode.c
    functionUses: []
    functionsReached:
    - g_ascii_strtod
    linkageType: ''
    returnType: double
    signature: 'static double parse_float_value (const char *str) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: g_string_append
      Src: /src/glib/girepository/girnode.c:1264,1
    - Dst: g_string_append_printf
      Src: /src/glib/girepository/girnode.c:1256,1
    - Dst: g_string_append
      Src: /src/glib/girepository/girnode.c:1291,1
    - Dst: g_string_append
      Src: /src/glib/girepository/girnode.c:1323,1
    - Dst: g_string_append
      Src: /src/glib/girepository/girnode.c:1336,1
    - Dst: g_string_append
      Src: /src/glib/girepository/girnode.c:1343,1
    - Dst: serialize_type
      Src: /src/glib/girepository/girnode.c:1349,1
    - Dst: g_string_append
      Src: /src/glib/girepository/girnode.c:1350,1
    - Dst: g_string_append
      Src: /src/glib/girepository/girnode.c:1275,1
    - Dst: g_string_append
      Src: /src/glib/girepository/girnode.c:1284,1
    - Dst: g_warning
      Src: /src/glib/girepository/girnode.c:1314,1
    - Dst: find_entry_node
      Src: /src/glib/girepository/girnode.c:1305,1
    - Dst: g_string_append
      Src: /src/glib/girepository/girnode.c:1289,1
    - Dst: g_string_append
      Src: /src/glib/girepository/girnode.c:1296,1
    - Dst: serialize_type
      Src: /src/glib/girepository/girnode.c:1295,1
    - Dst: g_string_append_printf
      Src: /src/glib/girepository/girnode.c:1318,1
    - Dst: serialize_type
      Src: /src/glib/girepository/girnode.c:1327,1
    - Dst: g_string_append
      Src: /src/glib/girepository/girnode.c:1328,1
    - Dst: g_string_append
      Src: /src/glib/girepository/girnode.c:1346,1
    - Dst: GI_TYPE_TAG_IS_BASIC
      Src: /src/glib/girepository/girnode.c:1254,1
    - Dst: gi_type_tag_to_string
      Src: /src/glib/girepository/girnode.c:1256,1
    - Dst: g_string_append_printf
      Src: /src/glib/girepository/girnode.c:1267,1
    - Dst: g_string_append_printf
      Src: /src/glib/girepository/girnode.c:1272,1
    - Dst: serialize_type
      Src: /src/glib/girepository/girnode.c:1337,1
    - Dst: g_string_append
      Src: /src/glib/girepository/girnode.c:1338,1
    - Dst: g_string_append
      Src: /src/glib/girepository/girnode.c:1355,1
    - Dst: g_string_append
      Src: /src/glib/girepository/girnode.c:1362,1
    - Dst: g_string_append
      Src: /src/glib/girepository/girnode.c:1363,1
    - Dst: g_string_append
      Src: /src/glib/girepository/girnode.c:1358,1
    - Dst: serialize_type
      Src: /src/glib/girepository/girnode.c:1263,1
    - Dst: g_string_append_printf
      Src: /src/glib/girepository/girnode.c:1269,1
    - Dst: g_string_append
      Src: /src/glib/girepository/girnode.c:1277,1
    - Dst: g_string_append
      Src: /src/glib/girepository/girnode.c:1294,1
    - Dst: g_string_append_printf
      Src: /src/glib/girepository/girnode.c:1309,1
    - Dst: g_string_append
      Src: /src/glib/girepository/girnode.c:1326,1
    - Dst: g_string_append
      Src: /src/glib/girepository/girnode.c:1333,1
    - Dst: serialize_type
      Src: /src/glib/girepository/girnode.c:1347,1
    - Dst: g_string_append
      Src: /src/glib/girepository/girnode.c:1348,1
    - Dst: g_string_append
      Src: /src/glib/girepository/girnode.c:1365,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 73
    argCount: 3
    argNames:
    - build
    - node
    - str
    argTypes:
    - GIIrTypelibBuild*
    - GIIrNodeType*
    - GString*
    constantsTouched: []
    func_position:
      end: 1368
      start: 1247
    functionDepth: 0
    functionLinenumber: 1247
    functionLinenumberEnd: 1368
    functionName: serialize_type
    functionSourceFile: /src/glib/girepository/girnode.c
    functionUses: []
    functionsReached:
    - gi_type_tag_to_string
    - serialize_type
    - g_warning
    - find_entry_node
    - g_string_append_printf
    - GI_TYPE_TAG_IS_BASIC
    - g_string_append
    linkageType: ''
    returnType: void
    signature: 'static void serialize_type (GIIrTypelibBuild *build, GIIrNodeType
      *node, GString *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gi_ir_node_get_full_size_internal
      Src: /src/glib/girepository/girnode.c:907,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - GIIrNode*
    constantsTouched: []
    func_position:
      end: 908
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 908
    functionName: gi_ir_node_get_full_size
    functionSourceFile: /src/glib/girepository/girnode.c
    functionUses: []
    functionsReached:
    - gi_ir_node_get_full_size_internal
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t gi_ir_node_get_full_size (GIIrNode *node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1018
    functionName: gi_ir_node_param_direction_string
    functionSourceFile: /src/glib/girepository/girnode.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *gi_ir_node_param_direction_string (GIIrNodeParam * node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/girepository/girnode.c:1041,1
    - Dst: parse_int_value
      Src: /src/glib/girepository/girnode.c:1047,1
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/girepository/girnode.c:1044,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1048
      start: 1038
    functionDepth: 0
    functionLinenumber: 1038
    functionLinenumberEnd: 1048
    functionName: parse_boolean_value
    functionSourceFile: /src/glib/girepository/girnode.c
    functionUses: []
    functionsReached:
    - g_ascii_strcasecmp
    - parse_int_value
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean parse_boolean_value (const char *str) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gi_ir_node_build_typelib
      Src: /src/glib/girepository/girnode.c:1390,1
    - Dst: g_list_delete_link
      Src: /src/glib/girepository/girnode.c:1391,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 8
    argCount: 8
    argNames:
    - members
    - type
    - count
    - parent
    - build
    - offset
    - offset2
    - count2
    argTypes:
    - GList**
    - GIIrNodeTypeId
    - uint16_t*
    - GIIrNode*
    - GIIrTypelibBuild*
    - uint32_t*
    - uint32_t*
    - uint16_t*
    constantsTouched: []
    func_position:
      end: 1395
      start: 1370
    functionDepth: 0
    functionLinenumber: 1370
    functionLinenumberEnd: 1395
    functionName: gi_ir_node_build_members
    functionSourceFile: /src/glib/girepository/girnode.c
    functionUses: []
    functionsReached:
    - g_list_delete_link
    - gi_ir_node_build_typelib
    linkageType: ''
    returnType: void
    signature: 'static void gi_ir_node_build_members (GList **members, GIIrNodeTypeId
      type, uint16_t *count, GIIrNode *parent, GIIrTypelibBuild *build, uint32_t *offset,
      uint32_t *offset2, uint16_t *count2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/girepository/girnode.c:2563,1
    - Dst: g_hash_table_insert
      Src: /src/glib/girepository/girnode.c:2573,1
    - Dst: strlen
      Src: /src/glib/girepository/girnode.c:2571,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/girepository/girnode.c:2565,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/girepository/girnode.c:2568,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/girepository/girnode.c:2573,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:2576,1
    - Dst: strlen
      Src: /src/glib/girepository/girnode.c:2576,1
    - Dst: strcpy
      Src: /src/glib/girepository/girnode.c:2578,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - str
    - strings
    - data
    - offset
    argTypes:
    - char*
    - GHashTable*
    - uint8_t*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 2581
      start: 2553
    functionDepth: 0
    functionLinenumber: 2553
    functionLinenumberEnd: 2581
    functionName: gi_ir_write_string
    functionSourceFile: /src/glib/girepository/girnode.c
    functionUses: []
    functionsReached:
    - strlen
    - GUINT_TO_POINTER
    - g_hash_table_lookup
    - GPOINTER_TO_UINT
    - g_hash_table_insert
    - strcpy
    - ALIGN_VALUE
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t gi_ir_write_string (const char *str, GHashTable *strings,
      uint8_t *data, uint32_t *offset) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/girepository/girnode.c:1141,1
    - Dst: find_namespace
      Src: /src/glib/girepository/girnode.c:1151,1
    - Dst: strcmp
      Src: /src/glib/girepository/girnode.c:1148,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1134
    functionDepth: 0
    functionLinenumber: 1134
    functionLinenumberEnd: 1156
    functionName: find_namespace
    functionSourceFile: /src/glib/girepository/girnode.c
    functionUses: []
    functionsReached:
    - strcmp
    - find_namespace
    linkageType: ''
    returnType: GIIrModule*
    signature: 'static GIIrModule *find_namespace (GIIrModule *module, const char
      *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_printerr
      Src: /src/glib/girepository/girnode.c:1409,1
    - Dst: gi_ir_node_type_to_string
      Src: /src/glib/girepository/girnode.c:1410,1
    - Dst: g_list_free
      Src: /src/glib/girepository/girnode.c:1415,1
    - Dst: g_error
      Src: /src/glib/girepository/girnode.c:1418,1
    - Dst: gi_ir_node_type_to_string
      Src: /src/glib/girepository/girnode.c:1412,1
    - Dst: g_list_free
      Src: /src/glib/girepository/girnode.c:1421,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - members
    - container_type
    argTypes:
    - GList**
    - GIIrNodeTypeId
    constantsTouched: []
    func_position:
      end: 1424
      start: 1397
    functionDepth: 0
    functionLinenumber: 1397
    functionLinenumberEnd: 1424
    functionName: gi_ir_node_check_unhandled_members
    functionSourceFile: /src/glib/girepository/girnode.c
    functionUses: []
    functionsReached:
    - gi_ir_node_type_to_string
    - g_error
    - g_printerr
    - g_list_free
    linkageType: ''
    returnType: void
    signature: 'static void gi_ir_node_check_unhandled_members (GList **members, GIIrNodeTypeId
      container_type) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_strsplit
      Src: /src/glib/girepository/girnode.c:1165,1
    - Dst: strcmp
      Src: /src/glib/girepository/girnode.c:1189,1
    - Dst: find_namespace
      Src: /src/glib/girepository/girnode.c:1177,1
    - Dst: g_strfreev
      Src: /src/glib/girepository/girnode.c:1197,1
    - Dst: g_strv_length
      Src: /src/glib/girepository/girnode.c:1166,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1200
      start: 1158
    functionDepth: 0
    functionLinenumber: 1158
    functionLinenumberEnd: 1200
    functionName: gi_ir_find_node
    functionSourceFile: /src/glib/girepository/girnode.c
    functionUses: []
    functionsReached:
    - find_namespace
    - g_strv_length
    - strcmp
    - g_strfreev
    - g_strsplit
    linkageType: ''
    returnType: GIIrNode*
    signature: 'GIIrNode *gi_ir_find_node (GIIrTypelibBuild *build, GIIrModule *src_module,
      const char *name) '
  - BBCount: 90
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/girepository/girnode.c:1489,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/girepository/girnode.c:1496,1
    - Dst: g_list_length
      Src: /src/glib/girepository/girnode.c:1718,1
    - Dst: gi_ir_node_build_typelib
      Src: /src/glib/girepository/girnode.c:1816,1
    - Dst: gi_ir_node_build_typelib
      Src: /src/glib/girepository/girnode.c:1834,1
    - Dst: gi_ir_write_string
      Src: /src/glib/girepository/girnode.c:2204,1
    - Dst: g_list_copy
      Src: /src/glib/girepository/girnode.c:2222,1
    - Dst: gi_ir_node_build_typelib
      Src: /src/glib/girepository/girnode.c:2240,1
    - Dst: g_list_copy
      Src: /src/glib/girepository/girnode.c:2413,1
    - Dst: gi_ir_node_build_members
      Src: /src/glib/girepository/girnode.c:2416,1
    - Dst: g_debug
      Src: /src/glib/girepository/girnode.c:2534,1
    - Dst: g_debug
      Src: /src/glib/girepository/girnode.c:1814,1
    - Dst: gi_ir_node_build_typelib
      Src: /src/glib/girepository/girnode.c:1531,1
    - Dst: get_index_of_member_type
      Src: /src/glib/girepository/girnode.c:1691,1
    - Dst: gi_ir_write_string
      Src: /src/glib/girepository/girnode.c:2102,1
    - Dst: gi_ir_write_string
      Src: /src/glib/girepository/girnode.c:2202,1
    - Dst: gi_ir_node_build_members
      Src: /src/glib/girepository/girnode.c:2361,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:2427,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:2525,1
    - Dst: DO_ALIGNED_COPY
      Src: /src/glib/girepository/girnode.c:2515,1
    - Dst: memcpy
      Src: /src/glib/girepository/girnode.c:2520,1
    - Dst: gi_ir_node_build_members
      Src: /src/glib/girepository/girnode.c:2432,1
    - Dst: get_index_of_member_type
      Src: /src/glib/girepository/girnode.c:1793,1
    - Dst: get_index_for_function
      Src: /src/glib/girepository/girnode.c:1777,1
    - Dst: g_debug
      Src: /src/glib/girepository/girnode.c:1444,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/girepository/girnode.c:1493,1
    - Dst: g_error
      Src: /src/glib/girepository/girnode.c:2003,1
    - Dst: gi_ir_write_string
      Src: /src/glib/girepository/girnode.c:1907,1
    - Dst: gi_ir_write_string
      Src: /src/glib/girepository/girnode.c:2313,1
    - Dst: gi_ir_write_string
      Src: /src/glib/girepository/girnode.c:2391,1
    - Dst: parse_boolean_value
      Src: /src/glib/girepository/girnode.c:2475,1
    - Dst: parse_uint_value
      Src: /src/glib/girepository/girnode.c:2507,1
    - Dst: gi_ir_node_build_members
      Src: /src/glib/girepository/girnode.c:2424,1
    - Dst: g_hash_table_size
      Src: /src/glib/girepository/girnode.c:1810,1
    - Dst: g_error
      Src: /src/glib/girepository/girnode.c:1750,1
    - Dst: gi_ir_node_build_typelib
      Src: /src/glib/girepository/girnode.c:2033,1
    - Dst: g_string_free_and_steal
      Src: /src/glib/girepository/girnode.c:1502,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/girepository/girnode.c:1528,1
    - Dst: gi_ir_write_string
      Src: /src/glib/girepository/girnode.c:1733,1
    - Dst: g_list_prepend
      Src: /src/glib/girepository/girnode.c:1809,1
    - Dst: gi_ir_node_check_unhandled_members
      Src: /src/glib/girepository/girnode.c:2130,1
    - Dst: g_assert
      Src: /src/glib/girepository/girnode.c:2132,1
    - Dst: gi_ir_write_string
      Src: /src/glib/girepository/girnode.c:2468,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:2419,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:2423,1
    - Dst: g_assert
      Src: /src/glib/girepository/girnode.c:1442,1
    - Dst: get_index_of_member_type
      Src: /src/glib/girepository/girnode.c:1966,1
    - Dst: gi_ir_write_string
      Src: /src/glib/girepository/girnode.c:2095,1
    - Dst: gi_ir_node_build_members
      Src: /src/glib/girepository/girnode.c:2124,1
    - Dst: g_list_copy
      Src: /src/glib/girepository/girnode.c:2157,1
    - Dst: g_assert
      Src: /src/glib/girepository/girnode.c:2378,1
    - Dst: gi_ir_write_string
      Src: /src/glib/girepository/girnode.c:2451,1
    - Dst: DO_ALIGNED_COPY
      Src: /src/glib/girepository/girnode.c:2507,1
    - Dst: g_hash_table_size
      Src: /src/glib/girepository/girnode.c:1465,1
    - Dst: g_steal_pointer
      Src: /src/glib/girepository/girnode.c:1502,1
    - Dst: find_entry
      Src: /src/glib/girepository/girnode.c:1545,1
    - Dst: gi_ir_write_string
      Src: /src/glib/girepository/girnode.c:1857,1
    - Dst: gi_ir_node_build_typelib
      Src: /src/glib/girepository/girnode.c:2050,1
    - Dst: get_index_of_member_type
      Src: /src/glib/girepository/girnode.c:2015,1
    - Dst: g_list_length
      Src: /src/glib/girepository/girnode.c:1849,1
    - Dst: gi_ir_write_string
      Src: /src/glib/girepository/girnode.c:2180,1
    - Dst: g_assert
      Src: /src/glib/girepository/girnode.c:2232,1
    - Dst: gi_ir_write_string
      Src: /src/glib/girepository/girnode.c:2276,1
    - Dst: parse_uint_value
      Src: /src/glib/girepository/girnode.c:2491,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:2372,1
    - Dst: g_steal_pointer
      Src: /src/glib/girepository/girnode.c:1497,1
    - Dst: get_index_of_member_type
      Src: /src/glib/girepository/girnode.c:1676,1
    - Dst: g_assert
      Src: /src/glib/girepository/girnode.c:1915,1
    - Dst: gi_ir_node_build_typelib
      Src: /src/glib/girepository/girnode.c:2080,1
    - Dst: gi_ir_write_string
      Src: /src/glib/girepository/girnode.c:2262,1
    - Dst: gi_ir_write_string
      Src: /src/glib/girepository/girnode.c:2315,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:2356,1
    - Dst: gi_ir_node_build_members
      Src: /src/glib/girepository/girnode.c:2365,1
    - Dst: gi_ir_node_check_unhandled_members
      Src: /src/glib/girepository/girnode.c:2376,1
    - Dst: gi_ir_write_string
      Src: /src/glib/girepository/girnode.c:2393,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/girepository/girnode.c:2462,1
    - Dst: gi_ir_node_build_typelib
      Src: /src/glib/girepository/girnode.c:1860,1
    - Dst: g_list_length
      Src: /src/glib/girepository/girnode.c:1890,1
    - Dst: g_error
      Src: /src/glib/girepository/girnode.c:1783,1
    - Dst: g_list_prepend
      Src: /src/glib/girepository/girnode.c:1463,1
    - Dst: g_error
      Src: /src/glib/girepository/girnode.c:1606,1
    - Dst: gi_ir_node_build_members
      Src: /src/glib/girepository/girnode.c:2127,1
    - Dst: gi_ir_write_string
      Src: /src/glib/girepository/girnode.c:2147,1
    - Dst: gi_ir_node_check_unhandled_members
      Src: /src/glib/girepository/girnode.c:2230,1
    - Dst: gi_ir_write_string
      Src: /src/glib/girepository/girnode.c:2267,1
    - Dst: g_list_copy
      Src: /src/glib/girepository/girnode.c:2350,1
    - Dst: DO_ALIGNED_COPY
      Src: /src/glib/girepository/girnode.c:2511,1
    - Dst: gi_ir_node_build_members
      Src: /src/glib/girepository/girnode.c:2369,1
    - Dst: parse_uint_value
      Src: /src/glib/girepository/girnode.c:2483,1
    - Dst: DO_ALIGNED_COPY
      Src: /src/glib/girepository/girnode.c:2503,1
    - Dst: gi_ir_node_build_typelib
      Src: /src/glib/girepository/girnode.c:2527,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/girepository/girnode.c:1503,1
    - Dst: g_list_prepend
      Src: /src/glib/girepository/girnode.c:1913,1
    - Dst: g_hash_table_size
      Src: /src/glib/girepository/girnode.c:1914,1
    - Dst: gi_ir_node_build_members
      Src: /src/glib/girepository/girnode.c:2224,1
    - Dst: gi_ir_write_string
      Src: /src/glib/girepository/girnode.c:2314,1
    - Dst: gi_ir_write_string
      Src: /src/glib/girepository/girnode.c:2321,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:2364,1
    - Dst: gi_ir_write_string
      Src: /src/glib/girepository/girnode.c:2392,1
    - Dst: find_entry
      Src: /src/glib/girepository/girnode.c:2395,1
    - Dst: g_assert
      Src: /src/glib/girepository/girnode.c:2437,1
    - Dst: strlen
      Src: /src/glib/girepository/girnode.c:2519,1
    - Dst: parse_int_value
      Src: /src/glib/girepository/girnode.c:2487,1
    - Dst: g_assert
      Src: /src/glib/girepository/girnode.c:1461,1
    - Dst: get_index_for_function
      Src: /src/glib/girepository/girnode.c:1760,1
    - Dst: g_error
      Src: /src/glib/girepository/girnode.c:1969,1
    - Dst: g_assert
      Src: /src/glib/girepository/girnode.c:1811,1
    - Dst: get_index_of_member_type
      Src: /src/glib/girepository/girnode.c:1997,1
    - Dst: gi_ir_write_string
      Src: /src/glib/girepository/girnode.c:2146,1
    - Dst: g_assert
      Src: /src/glib/girepository/girnode.c:2167,1
    - Dst: gi_ir_write_string
      Src: /src/glib/girepository/girnode.c:2266,1
    - Dst: gi_ir_write_string
      Src: /src/glib/girepository/girnode.c:2319,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:2352,1
    - Dst: gi_ir_node_build_members
      Src: /src/glib/girepository/girnode.c:2428,1
    - Dst: gi_ir_node_get_full_size
      Src: /src/glib/girepository/girnode.c:2541,1
    - Dst: gi_ir_node_build_typelib
      Src: /src/glib/girepository/girnode.c:1651,1
    - Dst: g_list_prepend
      Src: /src/glib/girepository/girnode.c:1454,1
    - Dst: g_string_free
      Src: /src/glib/girepository/girnode.c:1497,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/girepository/girnode.c:1562,1
    - Dst: gi_ir_node_build_typelib
      Src: /src/glib/girepository/girnode.c:1636,1
    - Dst: gi_ir_node_build_typelib
      Src: /src/glib/girepository/girnode.c:1704,1
    - Dst: g_error
      Src: /src/glib/girepository/girnode.c:1696,1
    - Dst: gi_ir_write_string
      Src: /src/glib/girepository/girnode.c:2187,1
    - Dst: gi_ir_write_string
      Src: /src/glib/girepository/girnode.c:2317,1
    - Dst: gi_ir_node_build_members
      Src: /src/glib/girepository/girnode.c:2373,1
    - Dst: parse_int_value
      Src: /src/glib/girepository/girnode.c:2479,1
    - Dst: gi_ir_node_type_to_string
      Src: /src/glib/girepository/girnode.c:2538,1
    - Dst: gi_ir_write_string
      Src: /src/glib/girepository/girnode.c:1953,1
    - Dst: get_index_of_member_type
      Src: /src/glib/girepository/girnode.c:1981,1
    - Dst: gi_ir_node_build_typelib
      Src: /src/glib/girepository/girnode.c:1584,1
    - Dst: gi_ir_write_string
      Src: /src/glib/girepository/girnode.c:1732,1
    - Dst: g_error
      Src: /src/glib/girepository/girnode.c:1798,1
    - Dst: gi_ir_node_check_unhandled_members
      Src: /src/glib/girepository/girnode.c:2165,1
    - Dst: gi_ir_node_build_members
      Src: /src/glib/girepository/girnode.c:2227,1
    - Dst: gi_ir_node_build_typelib
      Src: /src/glib/girepository/girnode.c:2288,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:2360,1
    - Dst: parse_int_value
      Src: /src/glib/girepository/girnode.c:2503,1
    - Dst: gi_ir_node_get_full_size
      Src: /src/glib/girepository/girnode.c:2543,1
    - Dst: g_assert_not_reached
      Src: /src/glib/girepository/girnode.c:2531,1
    - Dst: g_hash_table_insert
      Src: /src/glib/girepository/girnode.c:1502,1
    - Dst: gi_ir_node_build_typelib
      Src: /src/glib/girepository/girnode.c:1876,1
    - Dst: gi_ir_node_build_typelib
      Src: /src/glib/girepository/girnode.c:1918,1
    - Dst: g_list_length
      Src: /src/glib/girepository/girnode.c:1948,1
    - Dst: g_error
      Src: /src/glib/girepository/girnode.c:1987,1
    - Dst: gi_ir_node_build_members
      Src: /src/glib/girepository/girnode.c:2159,1
    - Dst: gi_ir_write_string
      Src: /src/glib/girepository/girnode.c:2186,1
    - Dst: gi_ir_node_build_typelib
      Src: /src/glib/girepository/girnode.c:2296,1
    - Dst: find_entry
      Src: /src/glib/girepository/girnode.c:2325,1
    - Dst: gi_ir_node_build_members
      Src: /src/glib/girepository/girnode.c:2357,1
    - Dst: gi_ir_node_check_unhandled_members
      Src: /src/glib/girepository/girnode.c:2435,1
    - Dst: gi_ir_node_compute_offsets
      Src: /src/glib/girepository/girnode.c:1456,1
    - Dst: serialize_type
      Src: /src/glib/girepository/girnode.c:1490,1
    - Dst: gi_ir_node_build_typelib
      Src: /src/glib/girepository/girnode.c:1586,1
    - Dst: gi_ir_write_string
      Src: /src/glib/girepository/girnode.c:2148,1
    - Dst: find_entry
      Src: /src/glib/girepository/girnode.c:2329,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:2368,1
    - Dst: find_entry
      Src: /src/glib/girepository/girnode.c:2409,1
    - Dst: parse_float_value
      Src: /src/glib/girepository/girnode.c:2511,1
    - Dst: parse_float_value
      Src: /src/glib/girepository/girnode.c:2515,1
    - Dst: g_list_delete_link
      Src: /src/glib/girepository/girnode.c:2546,1
    - Dst: parse_uint_value
      Src: /src/glib/girepository/girnode.c:2499,1
    - Dst: gi_ir_node_build_members
      Src: /src/glib/girepository/girnode.c:2420,1
    - Dst: g_error
      Src: /src/glib/girepository/girnode.c:2020,1
    - Dst: g_error
      Src: /src/glib/girepository/girnode.c:1766,1
    - Dst: gi_ir_node_type_to_string
      Src: /src/glib/girepository/girnode.c:1447,1
    - Dst: GI_TYPE_TAG_IS_BASIC
      Src: /src/glib/girepository/girnode.c:1476,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/girepository/girnode.c:1581,1
    - Dst: gi_ir_write_string
      Src: /src/glib/girepository/girnode.c:1664,1
    - Dst: get_index_for_function
      Src: /src/glib/girepository/girnode.c:1744,1
    - Dst: gi_ir_write_string
      Src: /src/glib/girepository/girnode.c:2115,1
    - Dst: g_list_copy
      Src: /src/glib/girepository/girnode.c:2122,1
    - Dst: find_entry
      Src: /src/glib/girepository/girnode.c:2346,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:2431,1
    - Dst: parse_int_value
      Src: /src/glib/girepository/girnode.c:2495,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girnode.c:2415,1
    - Dst: gi_ir_node_build_typelib
      Src: /src/glib/girepository/girnode.c:1934,1
    - Dst: gi_ir_node_build_typelib
      Src: /src/glib/girepository/girnode.c:1565,1
    - Dst: gi_ir_write_string
      Src: /src/glib/girepository/girnode.c:1621,1
    - Dst: g_error
      Src: /src/glib/girepository/girnode.c:1681,1
    - Dst: gi_ir_write_string
      Src: /src/glib/girepository/girnode.c:2065,1
    - Dst: gi_ir_write_string
      Src: /src/glib/girepository/girnode.c:2103,1
    - Dst: gi_ir_write_string
      Src: /src/glib/girepository/girnode.c:2113,1
    - Dst: gi_ir_node_build_members
      Src: /src/glib/girepository/girnode.c:2162,1
    - Dst: gi_ir_write_string
      Src: /src/glib/girepository/girnode.c:2323,1
    - Dst: gi_ir_node_build_members
      Src: /src/glib/girepository/girnode.c:2353,1
    - Dst: g_error
      Src: /src/glib/girepository/girnode.c:2542,1
    CyclomaticComplexity: 167
    EdgeCount: 167
    ICount: 705
    argCount: 6
    argNames:
    - node
    - parent
    - build
    - offset
    - offset2
    - count2
    argTypes:
    - GIIrNode*
    - GIIrNode*
    - GIIrTypelibBuild*
    - uint32_t*
    - uint32_t*
    - uint16_t*
    constantsTouched: []
    func_position:
      end: 2547
      start: 1426
    functionDepth: 0
    functionLinenumber: 1426
    functionLinenumberEnd: 2547
    functionName: gi_ir_node_build_typelib
    functionSourceFile: /src/glib/girepository/girnode.c
    functionUses: []
    functionsReached:
    - g_list_delete_link
    - g_steal_pointer
    - memcpy
    - g_list_length
    - GPOINTER_TO_UINT
    - parse_uint_value
    - gi_ir_node_build_typelib
    - g_list_prepend
    - g_error
    - find_entry
    - GI_TYPE_TAG_IS_BASIC
    - ALIGN_VALUE
    - gi_ir_node_type_to_string
    - parse_boolean_value
    - serialize_type
    - DO_ALIGNED_COPY
    - g_hash_table_lookup
    - g_hash_table_insert
    - g_string_free_and_steal
    - g_hash_table_size
    - get_index_of_member_type
    - G_STRUCT_OFFSET
    - strlen
    - gi_ir_node_build_members
    - g_assert_not_reached
    - gi_ir_node_get_full_size
    - gi_ir_write_string
    - g_string_new
    - parse_int_value
    - gi_ir_node_check_unhandled_members
    - get_index_for_function
    - g_assert
    - g_debug
    - GUINT_TO_POINTER
    - g_list_copy
    - g_string_free
    - gi_ir_node_compute_offsets
    - parse_float_value
    linkageType: ''
    returnType: void
    signature: 'void gi_ir_node_build_typelib (GIIrNode *node, GIIrNode *parent, GIIrTypelibBuild
      *build, uint32_t *offset, uint32_t *offset2, uint16_t *count2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 48
    functionName: typedef
    functionSourceFile: /src/glib/girepository/gibaseinfo.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: G_BEGIN_DECLS
    signature: 'G_BEGIN_DECLS /** * GIAttributeIter: * * An opaque structure used
      to iterate over attributes * in a [class@GIRepository.BaseInfo] struct. * *
      Since: 2.80 */ typedef struct '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/girepository/girmodule.c:56,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girmodule.c:58,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girmodule.c:60,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girmodule.c:61,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girmodule.c:59,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 69
    functionName: gi_ir_module_new
    functionSourceFile: /src/glib/girepository/girmodule.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_slice_new0
    linkageType: ''
    returnType: GIIrModule*
    signature: 'GIIrModule *gi_ir_module_new (const char *name, const char *version,
      const char *shared_library, const char *c_prefix) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_replace
      Src: /src/glib/girepository/girmodule.c:157,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girmodule.c:157,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girmodule.c:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - key
    - value
    - data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 158
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 158
    functionName: add_alias_foreach
    functionSourceFile: /src/glib/girepository/girmodule.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_hash_table_replace
    linkageType: ''
    returnType: void
    signature: 'static void add_alias_foreach (gpointer key, gpointer value, gpointer
      data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/girepository/girmodule.c:76,1
    - Dst: gi_ir_node_free
      Src: /src/glib/girepository/girmodule.c:82,1
    - Dst: g_free
      Src: /src/glib/girepository/girmodule.c:79,1
    - Dst: g_free
      Src: /src/glib/girepository/girmodule.c:77,1
    - Dst: g_free
      Src: /src/glib/girepository/girmodule.c:78,1
    - Dst: g_list_free
      Src: /src/glib/girepository/girmodule.c:84,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/girmodule.c:85,1
    - Dst: g_list_free
      Src: /src/glib/girepository/girmodule.c:87,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/girepository/girmodule.c:89,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/girepository/girmodule.c:90,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/girepository/girmodule.c:91,1
    - Dst: g_slice_free
      Src: /src/glib/girepository/girmodule.c:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - module
    argTypes:
    - GIIrModule*
    constantsTouched: []
    func_position:
      end: 94
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 94
    functionName: gi_ir_module_free
    functionSourceFile: /src/glib/girepository/girmodule.c
    functionUses: []
    functionsReached:
    - gi_ir_node_free
    - g_clear_pointer
    - g_list_free
    - g_slice_free
    - g_free
    - g_hash_table_destroy
    linkageType: ''
    returnType: void
    signature: 'void gi_ir_module_free (GIIrModule *module) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_replace
      Src: /src/glib/girepository/girmodule.c:177,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girmodule.c:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - key
    - value
    - data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 178
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 178
    functionName: add_disguised_structure_foreach
    functionSourceFile: /src/glib/girepository/girmodule.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_hash_table_replace
    linkageType: ''
    returnType: void
    signature: 'static void add_disguised_structure_foreach (gpointer key, gpointer
      value, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_foreach
      Src: /src/glib/girepository/girmodule.c:241,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 6
    argNames:
    - module
    - node
    - strings
    - data
    - offset
    - offset2
    argTypes:
    - GIIrModule*
    - GIIrNode*
    - GHashTable*
    - uint8_t*
    - uint32_t*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 244
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 244
    functionName: write_attributes
    functionSourceFile: /src/glib/girepository/girmodule.c
    functionUses: []
    functionsReached:
    - g_hash_table_foreach
    linkageType: ''
    returnType: unsigned
    signature: 'static unsigned write_attributes (GIIrModule *module, GIIrNode *node,
      GHashTable *strings, uint8_t *data, uint32_t *offset, uint32_t *offset2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/girepository/girmodule.c:262,1
    - Dst: g_assert_not_reached
      Src: /src/glib/girepository/girmodule.c:274,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - data
    - section_id
    - offset
    argTypes:
    - uint8_t*
    - SectionType
    - uint32_t
    constantsTouched: []
    func_position:
      end: 275
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 275
    functionName: alloc_section
    functionSourceFile: /src/glib/girepository/girmodule.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_assert_not_reached
    linkageType: ''
    returnType: void
    signature: 'static void alloc_section (uint8_t *data, SectionType section_id,
      uint32_t offset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_replace
      Src: /src/glib/girepository/girmodule.c:167,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girmodule.c:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - key
    - value
    - data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 168
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 168
    functionName: add_pointer_structure_foreach
    functionSourceFile: /src/glib/girepository/girmodule.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_hash_table_replace
    linkageType: ''
    returnType: void
    signature: 'static void add_pointer_structure_foreach (gpointer key, gpointer
      value, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_prepend
      Src: /src/glib/girepository/girmodule.c:184,1
    - Dst: g_hash_table_foreach
      Src: /src/glib/girepository/girmodule.c:191,1
    - Dst: g_hash_table_foreach
      Src: /src/glib/girepository/girmodule.c:194,1
    - Dst: g_hash_table_foreach
      Src: /src/glib/girepository/girmodule.c:187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - module
    - include_module
    argTypes:
    - GIIrModule*
    - GIIrModule*
    constantsTouched: []
    func_position:
      end: 197
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 197
    functionName: gi_ir_module_add_include_module
    functionSourceFile: /src/glib/girepository/girmodule.c
    functionUses: []
    functionsReached:
    - g_hash_table_foreach
    - g_list_prepend
    linkageType: ''
    returnType: void
    signature: 'void gi_ir_module_add_include_module (GIIrModule *module, GIIrModule
      *include_module) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gi_ir_write_string
      Src: /src/glib/girepository/girmodule.c:219,1
    - Dst: gi_ir_write_string
      Src: /src/glib/girepository/girmodule.c:220,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - key
    - value
    - datap
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 223
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 223
    functionName: write_attribute
    functionSourceFile: /src/glib/girepository/girmodule.c
    functionUses: []
    functionsReached:
    - gi_ir_write_string
    linkageType: ''
    returnType: void
    signature: 'static void write_attribute (gpointer key, gpointer value, gpointer
      datap) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: node_cmp_offset_func
    functionSourceFile: /src/glib/girepository/girmodule.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int node_cmp_offset_func (const void *a, const void *b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gi_typelib_hash_builder_new
      Src: /src/glib/girepository/girmodule.c:287,1
    - Dst: alloc_section
      Src: /src/glib/girepository/girmodule.c:308,1
    - Dst: gi_typelib_hash_builder_prepare
      Src: /src/glib/girepository/girmodule.c:299,1
    - Dst: gi_typelib_hash_builder_destroy
      Src: /src/glib/girepository/girmodule.c:304,1
    - Dst: gi_typelib_hash_builder_add_string
      Src: /src/glib/girepository/girmodule.c:296,1
    - Dst: gi_typelib_hash_builder_get_buffer_size
      Src: /src/glib/girepository/girmodule.c:310,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girmodule.c:311,1
    - Dst: g_realloc
      Src: /src/glib/girepository/girmodule.c:315,1
    - Dst: gi_typelib_hash_builder_pack
      Src: /src/glib/girepository/girmodule.c:317,1
    - Dst: gi_typelib_hash_builder_destroy
      Src: /src/glib/girepository/girmodule.c:321,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 323
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 323
    functionName: add_directory_index_section
    functionSourceFile: /src/glib/girepository/girmodule.c
    functionUses: []
    functionsReached:
    - gi_typelib_hash_builder_new
    - gi_typelib_hash_builder_add_string
    - g_realloc
    - gi_typelib_hash_builder_destroy
    - gi_typelib_hash_builder_get_buffer_size
    - gi_typelib_hash_builder_pack
    - gi_typelib_hash_builder_prepare
    - alloc_section
    - ALIGN_VALUE
    linkageType: ''
    returnType: uint8_t*
    signature: 'static uint8_t *add_directory_index_section (uint8_t *data, GIIrModule
      *module, uint32_t *offset2) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girmodule.c:348,1
    - Dst: g_string_append
      Src: /src/glib/girepository/girmodule.c:361,1
    - Dst: g_string_free
      Src: /src/glib/girepository/girmodule.c:365,1
    - Dst: g_hash_table_new
      Src: /src/glib/girepository/girmodule.c:379,1
    - Dst: g_list_length
      Src: /src/glib/girepository/girmodule.c:382,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girmodule.c:405,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girmodule.c:407,1
    - Dst: strlen
      Src: /src/glib/girepository/girmodule.c:409,1
    - Dst: g_malloc0
      Src: /src/glib/girepository/girmodule.c:416,1
    - Dst: memcpy
      Src: /src/glib/girepository/girmodule.c:420,1
    - Dst: write_attributes
      Src: /src/glib/girepository/girmodule.c:572,1
    - Dst: g_realloc
      Src: /src/glib/girepository/girmodule.c:577,1
    - Dst: g_bytes_unref
      Src: /src/glib/girepository/girmodule.c:587,1
    - Dst: gi_ir_write_string
      Src: /src/glib/girepository/girmodule.c:436,1
    - Dst: gi_ir_node_get_full_size
      Src: /src/glib/girepository/girmodule.c:551,1
    - Dst: gi_ir_node_build_typelib
      Src: /src/glib/girepository/girmodule.c:544,1
    - Dst: gi_ir_write_string
      Src: /src/glib/girepository/girmodule.c:525,1
    - Dst: g_error
      Src: /src/glib/girepository/girmodule.c:551,1
    - Dst: g_string_new
      Src: /src/glib/girepository/girmodule.c:355,1
    - Dst: g_list_length
      Src: /src/glib/girepository/girmodule.c:349,1
    - Dst: g_free
      Src: /src/glib/girepository/girmodule.c:368,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girmodule.c:390,1
    - Dst: strlen
      Src: /src/glib/girepository/girmodule.c:403,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/girepository/girmodule.c:380,1
    - Dst: g_message
      Src: /src/glib/girepository/girmodule.c:413,1
    - Dst: gi_ir_write_string
      Src: /src/glib/girepository/girmodule.c:439,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/girepository/girmodule.c:500,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/girepository/girmodule.c:501,1
    - Dst: gi_ir_write_string
      Src: /src/glib/girepository/girmodule.c:536,1
    - Dst: gi_ir_write_string
      Src: /src/glib/girepository/girmodule.c:432,1
    - Dst: g_free
      Src: /src/glib/girepository/girmodule.c:510,1
    - Dst: gi_ir_node_dump_stats
      Src: /src/glib/girepository/girmodule.c:562,1
    - Dst: g_list_free
      Src: /src/glib/girepository/girmodule.c:507,1
    - Dst: gi_ir_node_get_size
      Src: /src/glib/girepository/girmodule.c:531,1
    - Dst: strcmp
      Src: /src/glib/girepository/girmodule.c:359,1
    - Dst: g_string_append_c
      Src: /src/glib/girepository/girmodule.c:363,1
    - Dst: gi_ir_node_init_stats
      Src: /src/glib/girepository/girmodule.c:378,1
    - Dst: gi_ir_node_get_full_size
      Src: /src/glib/girepository/girmodule.c:396,1
    - Dst: strlen
      Src: /src/glib/girepository/girmodule.c:405,1
    - Dst: strlen
      Src: /src/glib/girepository/girmodule.c:407,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girmodule.c:409,1
    - Dst: g_clear_list
      Src: /src/glib/girepository/girmodule.c:545,1
    - Dst: g_message
      Src: /src/glib/girepository/girmodule.c:560,1
    - Dst: g_error
      Src: /src/glib/girepository/girmodule.c:491,1
    - Dst: g_steal_pointer
      Src: /src/glib/girepository/girmodule.c:585,1
    - Dst: g_free
      Src: /src/glib/girepository/girmodule.c:598,1
    - Dst: g_bytes_new_take
      Src: /src/glib/girepository/girmodule.c:585,1
    - Dst: g_list_free
      Src: /src/glib/girepository/girmodule.c:597,1
    - Dst: g_ptr_array_index
      Src: /src/glib/girepository/girmodule.c:358,1
    - Dst: g_message
      Src: /src/glib/girepository/girmodule.c:384,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girmodule.c:403,1
    - Dst: strlen
      Src: /src/glib/girepository/girmodule.c:390,1
    - Dst: gi_ir_write_string
      Src: /src/glib/girepository/girmodule.c:437,1
    - Dst: gi_ir_write_string
      Src: /src/glib/girepository/girmodule.c:442,1
    - Dst: strchr
      Src: /src/glib/girepository/girmodule.c:489,1
    - Dst: g_list_sort
      Src: /src/glib/girepository/girmodule.c:558,1
    - Dst: g_message
      Src: /src/glib/girepository/girmodule.c:575,1
    - Dst: gi_ir_node_get_full_size
      Src: /src/glib/girepository/girmodule.c:550,1
    - Dst: gi_ir_write_string
      Src: /src/glib/girepository/girmodule.c:524,1
    - Dst: ALIGN_VALUE
      Src: /src/glib/girepository/girmodule.c:464,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/girepository/girmodule.c:596,1
    - Dst: add_directory_index_section
      Src: /src/glib/girepository/girmodule.c:580,1
    - Dst: gi_typelib_new_from_bytes
      Src: /src/glib/girepository/girmodule.c:586,1
    - Dst: g_error
      Src: /src/glib/girepository/girmodule.c:591,1
    - Dst: g_message
      Src: /src/glib/girepository/girmodule.c:498,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/girepository/girmodule.c:595,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 218
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 601
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 601
    functionName: gi_ir_module_build_typelib
    functionSourceFile: /src/glib/girepository/girmodule.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_steal_pointer
    - g_message
    - g_list_length
    - g_clear_list
    - g_realloc
    - strcmp
    - gi_ir_node_build_typelib
    - g_hash_table_new_full
    - gi_ir_node_dump_stats
    - g_error
    - ALIGN_VALUE
    - g_list_free
    - g_bytes_new_take
    - strlen
    - g_bytes_unref
    - gi_ir_node_get_full_size
    - gi_ir_node_get_size
    - g_hash_table_new
    - gi_ir_write_string
    - g_string_new
    - g_list_sort
    - g_ptr_array_index
    - g_string_append
    - g_hash_table_destroy
    - write_attributes
    - g_malloc0
    - g_string_append_c
    - gi_ir_node_init_stats
    - add_directory_index_section
    - gi_typelib_new_from_bytes
    - strchr
    - g_string_free
    - g_free
    linkageType: ''
    returnType: GITypelib*
    signature: 'GITypelib *gi_ir_module_build_typelib (GIIrModule *module) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/girepository/girmodule.c:119,1
    - Dst: g_string_new
      Src: /src/glib/girepository/girmodule.c:123,1
    - Dst: g_string_append_printf
      Src: /src/glib/girepository/girmodule.c:125,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/girepository/girmodule.c:121,1
    - Dst: g_string_append
      Src: /src/glib/girepository/girmodule.c:127,1
    - Dst: g_list_last
      Src: /src/glib/girepository/girmodule.c:128,1
    - Dst: g_string_append
      Src: /src/glib/girepository/girmodule.c:133,1
    - Dst: g_string_append
      Src: /src/glib/girepository/girmodule.c:135,1
    - Dst: g_string_append
      Src: /src/glib/girepository/girmodule.c:138,1
    - Dst: g_printerr
      Src: /src/glib/girepository/girmodule.c:140,1
    - Dst: va_end
      Src: /src/glib/girepository/girmodule.c:147,1
    - Dst: exit
      Src: /src/glib/girepository/girmodule.c:145,1
    - Dst: g_string_free
      Src: /src/glib/girepository/girmodule.c:143,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 20
    argCount: 3
    argNames:
    - build
    - line
    - msg
    - '...'
    argTypes:
    - GIIrTypelibBuild*
    - unsigned int
    - char*
    constantsTouched: []
    func_position:
      end: 148
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 148
    functionName: gi_ir_module_fatal
    functionSourceFile: /src/glib/girepository/girmodule.c
    functionUses: []
    functionsReached:
    - g_strdup_vprintf
    - va_start
    - g_printerr
    - g_list_last
    - g_string_free
    - va_end
    - g_string_new
    - g_string_append_printf
    - g_string_append
    - exit
    linkageType: ''
    returnType: void
    signature: 'void gi_ir_module_fatal (GIIrTypelibBuild *build, unsigned int line,
      const char *msg, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/girffi.c:249,1
    - Dst: gi_callable_info_get_return_type
      Src: /src/glib/girepository/girffi.c:251,1
    - Dst: gi_type_info_get_ffi_type
      Src: /src/glib/girepository/girffi.c:252,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/girffi.c:253,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 256
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 256
    functionName: gi_callable_info_get_ffi_return_type
    functionSourceFile: /src/glib/girepository/girffi.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - gi_type_info_get_ffi_type
    - gi_base_info_unref
    - gi_callable_info_get_return_type
    linkageType: ''
    returnType: ffi_type*
    signature: 'static ffi_type *gi_callable_info_get_ffi_return_type (GICallableInfo
      *callable_info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gi_type_tag_get_ffi_type_internal
      Src: /src/glib/girepository/girffi.c:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: gi_type_tag_get_ffi_type
    functionSourceFile: /src/glib/girepository/girffi.c
    functionUses: []
    functionsReached:
    - gi_type_tag_get_ffi_type_internal
    linkageType: ''
    returnType: ffi_type*
    signature: 'ffi_type *gi_type_tag_get_ffi_type (GITypeTag type_tag, gboolean is_pointer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/girffi.c:332,1
    - Dst: ffi_prep_cif
      Src: /src/glib/girepository/girffi.c:339,1
    - Dst: gi_callable_info_get_ffi_return_type
      Src: /src/glib/girepository/girffi.c:340,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/girffi.c:333,1
    - Dst: gi_callable_info_get_ffi_arg_types
      Src: /src/glib/girepository/girffi.c:337,1
    - Dst: g_steal_pointer
      Src: /src/glib/girepository/girffi.c:341,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 4
    argNames:
    - addr
    - info
    - invoker
    - error
    argTypes:
    - void*
    - GICallableInfo*
    - GIFunctionInvoker*
    - GError**
    constantsTouched: []
    func_position:
      end: 342
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 342
    functionName: gi_function_invoker_new_for_address
    functionSourceFile: /src/glib/girepository/girffi.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_return_val_if_fail
    - ffi_prep_cif
    - gi_callable_info_get_ffi_arg_types
    - gi_callable_info_get_ffi_return_type
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean gi_function_invoker_new_for_address (void *addr, GICallableInfo
      *info, GIFunctionInvoker *invoker, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/girepository/girffi.c:358,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - invoker
    argTypes:
    - GIFunctionInvoker*
    constantsTouched: []
    func_position:
      end: 359
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 359
    functionName: gi_function_invoker_clear
    functionSourceFile: /src/glib/girepository/girffi.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void gi_function_invoker_clear (GIFunctionInvoker *invoker) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 451
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 451
    functionName: gi_callable_info_get_closure_native_address
    functionSourceFile: /src/glib/girepository/girffi.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void**
    signature: 'void **gi_callable_info_get_closure_native_address (GICallableInfo
      *callable_info, ffi_closure *closure) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/girepository/girffi.c:469,1
    - Dst: ffi_closure_free
      Src: /src/glib/girepository/girffi.c:470,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - callable_info
    - closure
    argTypes:
    - GICallableInfo*
    - ffi_closure*
    constantsTouched: []
    func_position:
      end: 471
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 471
    functionName: gi_callable_info_destroy_closure
    functionSourceFile: /src/glib/girepository/girffi.c
    functionUses: []
    functionsReached:
    - ffi_closure_free
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void gi_callable_info_destroy_closure (GICallableInfo *callable_info,
      ffi_closure *closure) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/glib/girepository/girffi.c:103,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 106
    functionName: gi_type_tag_get_ffi_type_internal
    functionSourceFile: /src/glib/girepository/girffi.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    linkageType: ''
    returnType: ffi_type*
    signature: 'static ffi_type *gi_type_tag_get_ffi_type_internal (GITypeTag tag,
      gboolean is_pointer, gboolean is_enum) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gi_type_info_get_tag
      Src: /src/glib/girepository/girffi.c:142,1
    - Dst: gi_type_tag_get_ffi_type_internal
      Src: /src/glib/girepository/girffi.c:157,1
    - Dst: gi_type_info_get_interface
      Src: /src/glib/girepository/girffi.c:144,1
    - Dst: gi_base_info_get_info_type
      Src: /src/glib/girepository/girffi.c:145,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/girffi.c:154,1
    - Dst: gi_type_info_get_tag
      Src: /src/glib/girepository/girffi.c:157,1
    - Dst: gi_type_info_is_pointer
      Src: /src/glib/girepository/girffi.c:157,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 158
    functionName: gi_type_info_get_ffi_type
    functionSourceFile: /src/glib/girepository/girffi.c
    functionUses: []
    functionsReached:
    - gi_type_info_get_interface
    - gi_base_info_unref
    - gi_base_info_get_info_type
    - gi_type_tag_get_ffi_type_internal
    - gi_type_info_get_tag
    - gi_type_info_is_pointer
    linkageType: ''
    returnType: ffi_type*
    signature: 'ffi_type *gi_type_info_get_ffi_type (GITypeInfo *info) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/girffi.c:180,1
    - Dst: g_new0
      Src: /src/glib/girepository/girffi.c:197,1
    - Dst: gi_callable_info_can_throw_gerror
      Src: /src/glib/girepository/girffi.c:184,1
    - Dst: gi_callable_info_is_method
      Src: /src/glib/girepository/girffi.c:183,1
    - Dst: gi_callable_info_get_n_args
      Src: /src/glib/girepository/girffi.c:182,1
    - Dst: gi_callable_info_load_arg
      Src: /src/glib/girepository/girffi.c:209,1
    - Dst: gi_arg_info_load_type_info
      Src: /src/glib/girepository/girffi.c:210,1
    - Dst: gi_arg_info_get_direction
      Src: /src/glib/girepository/girffi.c:211,1
    - Dst: gi_type_info_get_ffi_type
      Src: /src/glib/girepository/girffi.c:214,1
    - Dst: g_assert_not_reached
      Src: /src/glib/girepository/girffi.c:221,1
    - Dst: gi_base_info_clear
      Src: /src/glib/girepository/girffi.c:224,1
    - Dst: gi_base_info_clear
      Src: /src/glib/girepository/girffi.c:225,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 231
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 231
    functionName: gi_callable_info_get_ffi_arg_types
    functionSourceFile: /src/glib/girepository/girffi.c
    functionUses: []
    functionsReached:
    - gi_callable_info_get_n_args
    - g_return_val_if_fail
    - gi_arg_info_get_direction
    - gi_callable_info_can_throw_gerror
    - g_assert_not_reached
    - gi_callable_info_load_arg
    - gi_base_info_clear
    - gi_type_info_get_ffi_type
    - gi_callable_info_is_method
    - g_new0
    - gi_arg_info_load_type_info
    linkageType: ''
    returnType: ffi_type**
    signature: 'static ffi_type **gi_callable_info_get_ffi_arg_types (GICallableInfo
      *callable_info, size_t *n_args_p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/girffi.c:286,1
    - Dst: gi_typelib_symbol
      Src: /src/glib/girepository/girffi.c:291,1
    - Dst: gi_function_info_get_symbol
      Src: /src/glib/girepository/girffi.c:289,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/girffi.c:287,1
    - Dst: gi_base_info_get_typelib
      Src: /src/glib/girepository/girffi.c:291,1
    - Dst: g_set_error
      Src: /src/glib/girepository/girffi.c:294,1
    - Dst: g_module_error
      Src: /src/glib/girepository/girffi.c:297,1
    - Dst: gi_function_invoker_new_for_address
      Src: /src/glib/girepository/girffi.c:302,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - info
    - invoker
    - error
    argTypes:
    - GIFunctionInfo*
    - GIFunctionInvoker*
    - GError**
    constantsTouched: []
    func_position:
      end: 303
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 303
    functionName: gi_function_info_prep_invoker
    functionSourceFile: /src/glib/girepository/girffi.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_return_val_if_fail
    - gi_function_invoker_new_for_address
    - gi_function_info_get_symbol
    - g_module_error
    - gi_base_info_get_typelib
    - gi_typelib_symbol
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean gi_function_info_prep_invoker (GIFunctionInfo *info, GIFunctionInvoker
      *invoker, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/girffi.c:393,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/girffi.c:395,1
    - Dst: g_warning
      Src: /src/glib/girepository/girffi.c:400,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/girffi.c:394,1
    - Dst: ffi_closure_alloc
      Src: /src/glib/girepository/girffi.c:397,1
    - Dst: gi_callable_info_get_ffi_arg_types
      Src: /src/glib/girepository/girffi.c:407,1
    - Dst: ffi_prep_cif
      Src: /src/glib/girepository/girffi.c:408,1
    - Dst: gi_callable_info_get_ffi_return_type
      Src: /src/glib/girepository/girffi.c:409,1
    - Dst: g_steal_pointer
      Src: /src/glib/girepository/girffi.c:414,1
    - Dst: g_warning
      Src: /src/glib/girepository/girffi.c:418,1
    - Dst: ffi_prep_closure_loc
      Src: /src/glib/girepository/girffi.c:423,1
    - Dst: g_warning
      Src: /src/glib/girepository/girffi.c:426,1
    - Dst: gi_callable_info_destroy_closure
      Src: /src/glib/girepository/girffi.c:427,1
    - Dst: gi_callable_info_destroy_closure
      Src: /src/glib/girepository/girffi.c:419,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 432
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 432
    functionName: gi_callable_info_create_closure
    functionSourceFile: /src/glib/girepository/girffi.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_return_val_if_fail
    - g_warning
    - ffi_closure_alloc
    - gi_callable_info_destroy_closure
    - ffi_prep_cif
    - ffi_prep_closure_loc
    - gi_callable_info_get_ffi_arg_types
    - gi_callable_info_get_ffi_return_type
    linkageType: ''
    returnType: ffi_closure*
    signature: 'ffi_closure *gi_callable_info_create_closure (GICallableInfo *callable_info,
      ffi_cif *cif, GIFFIClosureCallback callback, void *user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giinterfaceinfo.c:173,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giinterfaceinfo.c:174,1
    - Dst: GI_IS_INTERFACE_INFO
      Src: /src/glib/girepository/giinterfaceinfo.c:174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIInterfaceInfo*
    constantsTouched: []
    func_position:
      end: 179
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 179
    functionName: gi_interface_info_get_n_methods
    functionSourceFile: /src/glib/girepository/giinterfaceinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_INTERFACE_INFO
    - g_return_val_if_fail
    linkageType: ''
    returnType: unsigned int
    signature: 'unsigned int gi_interface_info_get_n_methods (GIInterfaceInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giinterfaceinfo.c:89,1
    - Dst: GI_IS_INTERFACE_INFO
      Src: /src/glib/girepository/giinterfaceinfo.c:90,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giinterfaceinfo.c:91,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giinterfaceinfo.c:90,1
    - Dst: gi_info_from_entry
      Src: /src/glib/girepository/giinterfaceinfo.c:95,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 97
    functionName: gi_interface_info_get_prerequisite
    functionSourceFile: /src/glib/girepository/giinterfaceinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_INTERFACE_INFO
    - g_return_val_if_fail
    - gi_info_from_entry
    linkageType: ''
    returnType: GIBaseInfo*
    signature: 'GIBaseInfo *gi_interface_info_get_prerequisite (GIInterfaceInfo *info,
      unsigned int n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giinterfaceinfo.c:143,1
    - Dst: gi_base_info_new
      Src: /src/glib/girepository/giinterfaceinfo.c:154,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giinterfaceinfo.c:145,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giinterfaceinfo.c:144,1
    - Dst: GI_IS_INTERFACE_INFO
      Src: /src/glib/girepository/giinterfaceinfo.c:144,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 156
    functionName: gi_interface_info_get_property
    functionSourceFile: /src/glib/girepository/giinterfaceinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_INTERFACE_INFO
    - gi_base_info_new
    - g_return_val_if_fail
    linkageType: ''
    returnType: GIPropertyInfo*
    signature: 'GIPropertyInfo *gi_interface_info_get_property (GIInterfaceInfo *info,
      unsigned int n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gi_base_info_find_method
      Src: /src/glib/girepository/giinterfaceinfo.c:244,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 245
    functionName: gi_interface_info_find_method
    functionSourceFile: /src/glib/girepository/giinterfaceinfo.c
    functionUses: []
    functionsReached:
    - gi_base_info_find_method
    linkageType: ''
    returnType: GIFunctionInfo*
    signature: 'GIFunctionInfo *gi_interface_info_find_method (GIInterfaceInfo *info,
      const char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gi_interface_info_get_n_signals
      Src: /src/glib/girepository/giinterfaceinfo.c:327,1
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/giinterfaceinfo.c:332,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/giinterfaceinfo.c:334,1
    - Dst: gi_interface_info_get_signal
      Src: /src/glib/girepository/giinterfaceinfo.c:330,1
    - Dst: g_strcmp0
      Src: /src/glib/girepository/giinterfaceinfo.c:332,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 341
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 341
    functionName: gi_interface_info_find_signal
    functionSourceFile: /src/glib/girepository/giinterfaceinfo.c
    functionUses: []
    functionsReached:
    - gi_base_info_unref
    - g_strcmp0
    - gi_interface_info_get_n_signals
    - gi_interface_info_get_signal
    - gi_base_info_get_name
    linkageType: ''
    returnType: GISignalInfo*
    signature: 'GISignalInfo *gi_interface_info_find_signal (GIInterfaceInfo *info,
      const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giinterfaceinfo.c:386,1
    - Dst: gi_base_info_new
      Src: /src/glib/girepository/giinterfaceinfo.c:400,1
    - Dst: GI_IS_INTERFACE_INFO
      Src: /src/glib/girepository/giinterfaceinfo.c:387,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giinterfaceinfo.c:387,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giinterfaceinfo.c:388,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 402
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 402
    functionName: gi_interface_info_get_vfunc
    functionSourceFile: /src/glib/girepository/giinterfaceinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_INTERFACE_INFO
    - gi_base_info_new
    - g_return_val_if_fail
    linkageType: ''
    returnType: GIVFuncInfo*
    signature: 'GIVFuncInfo *gi_interface_info_get_vfunc (GIInterfaceInfo *info, unsigned
      int n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giinterfaceinfo.c:428,1
    - Dst: GI_IS_INTERFACE_INFO
      Src: /src/glib/girepository/giinterfaceinfo.c:429,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giinterfaceinfo.c:429,1
    - Dst: gi_base_info_find_vfunc
      Src: /src/glib/girepository/giinterfaceinfo.c:440,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 441
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 441
    functionName: gi_interface_info_find_vfunc
    functionSourceFile: /src/glib/girepository/giinterfaceinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_INTERFACE_INFO
    - g_return_val_if_fail
    - gi_base_info_find_vfunc
    linkageType: ''
    returnType: GIVFuncInfo*
    signature: 'GIVFuncInfo *gi_interface_info_find_vfunc (GIInterfaceInfo *info,
      const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giinterfaceinfo.c:486,1
    - Dst: gi_base_info_new
      Src: /src/glib/girepository/giinterfaceinfo.c:501,1
    - Dst: GI_IS_INTERFACE_INFO
      Src: /src/glib/girepository/giinterfaceinfo.c:487,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giinterfaceinfo.c:487,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giinterfaceinfo.c:488,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 503
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 503
    functionName: gi_interface_info_get_constant
    functionSourceFile: /src/glib/girepository/giinterfaceinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_INTERFACE_INFO
    - gi_base_info_new
    - g_return_val_if_fail
    linkageType: ''
    returnType: GIConstantInfo*
    signature: 'GIConstantInfo *gi_interface_info_get_constant (GIInterfaceInfo *info,
      unsigned int n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - g_class
    - class_data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 541
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 541
    functionName: gi_interface_info_class_init
    functionSourceFile: /src/glib/girepository/giinterfaceinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gi_interface_info_class_init (gpointer g_class, gpointer class_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giinterfaceinfo.c:63,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giinterfaceinfo.c:64,1
    - Dst: GI_IS_INTERFACE_INFO
      Src: /src/glib/girepository/giinterfaceinfo.c:64,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIInterfaceInfo*
    constantsTouched: []
    func_position:
      end: 69
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 69
    functionName: gi_interface_info_get_n_prerequisites
    functionSourceFile: /src/glib/girepository/giinterfaceinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_INTERFACE_INFO
    - g_return_val_if_fail
    linkageType: ''
    returnType: unsigned int
    signature: 'unsigned int gi_interface_info_get_n_prerequisites (GIInterfaceInfo
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giinterfaceinfo.c:115,1
    - Dst: GI_IS_INTERFACE_INFO
      Src: /src/glib/girepository/giinterfaceinfo.c:116,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giinterfaceinfo.c:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIInterfaceInfo*
    constantsTouched: []
    func_position:
      end: 121
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 121
    functionName: gi_interface_info_get_n_properties
    functionSourceFile: /src/glib/girepository/giinterfaceinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_INTERFACE_INFO
    - g_return_val_if_fail
    linkageType: ''
    returnType: unsigned int
    signature: 'unsigned int gi_interface_info_get_n_properties (GIInterfaceInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giinterfaceinfo.c:201,1
    - Dst: GI_IS_INTERFACE_INFO
      Src: /src/glib/girepository/giinterfaceinfo.c:202,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giinterfaceinfo.c:202,1
    - Dst: gi_base_info_new
      Src: /src/glib/girepository/giinterfaceinfo.c:213,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giinterfaceinfo.c:203,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 215
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 215
    functionName: gi_interface_info_get_method
    functionSourceFile: /src/glib/girepository/giinterfaceinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_INTERFACE_INFO
    - gi_base_info_new
    - g_return_val_if_fail
    linkageType: ''
    returnType: GIFunctionInfo*
    signature: 'GIFunctionInfo *gi_interface_info_get_method (GIInterfaceInfo *info,
      unsigned int n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giinterfaceinfo.c:262,1
    - Dst: GI_IS_INTERFACE_INFO
      Src: /src/glib/girepository/giinterfaceinfo.c:263,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giinterfaceinfo.c:263,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIInterfaceInfo*
    constantsTouched: []
    func_position:
      end: 268
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 268
    functionName: gi_interface_info_get_n_signals
    functionSourceFile: /src/glib/girepository/giinterfaceinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_INTERFACE_INFO
    - g_return_val_if_fail
    linkageType: ''
    returnType: unsigned int
    signature: 'unsigned int gi_interface_info_get_n_signals (GIInterfaceInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giinterfaceinfo.c:290,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giinterfaceinfo.c:292,1
    - Dst: GI_IS_INTERFACE_INFO
      Src: /src/glib/girepository/giinterfaceinfo.c:291,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giinterfaceinfo.c:291,1
    - Dst: gi_base_info_new
      Src: /src/glib/girepository/giinterfaceinfo.c:303,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 305
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 305
    functionName: gi_interface_info_get_signal
    functionSourceFile: /src/glib/girepository/giinterfaceinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_INTERFACE_INFO
    - gi_base_info_new
    - g_return_val_if_fail
    linkageType: ''
    returnType: GISignalInfo*
    signature: 'GISignalInfo *gi_interface_info_get_signal (GIInterfaceInfo *info,
      unsigned int n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giinterfaceinfo.c:358,1
    - Dst: GI_IS_INTERFACE_INFO
      Src: /src/glib/girepository/giinterfaceinfo.c:359,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giinterfaceinfo.c:359,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIInterfaceInfo*
    constantsTouched: []
    func_position:
      end: 364
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 364
    functionName: gi_interface_info_get_n_vfuncs
    functionSourceFile: /src/glib/girepository/giinterfaceinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_INTERFACE_INFO
    - g_return_val_if_fail
    linkageType: ''
    returnType: unsigned int
    signature: 'unsigned int gi_interface_info_get_n_vfuncs (GIInterfaceInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giinterfaceinfo.c:458,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giinterfaceinfo.c:459,1
    - Dst: GI_IS_INTERFACE_INFO
      Src: /src/glib/girepository/giinterfaceinfo.c:459,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIInterfaceInfo*
    constantsTouched: []
    func_position:
      end: 464
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 464
    functionName: gi_interface_info_get_n_constants
    functionSourceFile: /src/glib/girepository/giinterfaceinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_INTERFACE_INFO
    - g_return_val_if_fail
    linkageType: ''
    returnType: unsigned int
    signature: 'unsigned int gi_interface_info_get_n_constants (GIInterfaceInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giinterfaceinfo.c:522,1
    - Dst: gi_info_from_entry
      Src: /src/glib/girepository/giinterfaceinfo.c:528,1
    - Dst: GI_IS_INTERFACE_INFO
      Src: /src/glib/girepository/giinterfaceinfo.c:523,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/giinterfaceinfo.c:523,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 532
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 532
    functionName: gi_interface_info_get_iface_struct
    functionSourceFile: /src/glib/girepository/giinterfaceinfo.c
    functionUses: []
    functionsReached:
    - GI_IS_INTERFACE_INFO
    - g_return_val_if_fail
    - gi_info_from_entry
    linkageType: ''
    returnType: GIStructInfo*
    signature: 'GIStructInfo *gi_interface_info_get_iface_struct (GIInterfaceInfo
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gistructinfo.c:111,1
    - Dst: gi_base_info_new
      Src: /src/glib/girepository/gistructinfo.c:113,1
    - Dst: gi_struct_get_field_offset
      Src: /src/glib/girepository/gistructinfo.c:114,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 115
    functionName: gi_struct_info_get_field
    functionSourceFile: /src/glib/girepository/gistructinfo.c
    functionUses: []
    functionsReached:
    - gi_base_info_new
    - g_return_val_if_fail
    - gi_struct_get_field_offset
    linkageType: ''
    returnType: GIFieldInfo*
    signature: 'GIFieldInfo *gi_struct_info_get_field (GIStructInfo *info, unsigned
      int n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIStructInfo*
    constantsTouched: []
    func_position:
      end: 175
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 175
    functionName: gi_struct_info_get_n_methods
    functionSourceFile: /src/glib/girepository/gistructinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: 'unsigned int gi_struct_info_get_n_methods (GIStructInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gi_struct_get_field_offset
      Src: /src/glib/girepository/gistructinfo.c:224,1
    - Dst: gi_base_info_find_method
      Src: /src/glib/girepository/gistructinfo.c:225,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 226
    functionName: gi_struct_info_find_method
    functionSourceFile: /src/glib/girepository/gistructinfo.c
    functionUses: []
    functionsReached:
    - gi_struct_get_field_offset
    - gi_base_info_find_method
    linkageType: ''
    returnType: GIFunctionInfo*
    signature: 'GIFunctionInfo *gi_struct_info_find_method (GIStructInfo *info, const
      char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIStructInfo*
    constantsTouched: []
    func_position:
      end: 244
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 244
    functionName: gi_struct_info_get_size
    functionSourceFile: /src/glib/girepository/gistructinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t gi_struct_info_get_size (GIStructInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIStructInfo*
    constantsTouched: []
    func_position:
      end: 281
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 281
    functionName: gi_struct_info_is_foreign
    functionSourceFile: /src/glib/girepository/gistructinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean gi_struct_info_is_foreign (GIStructInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gistructinfo.c:321,1
    - Dst: GI_IS_STRUCT_INFO
      Src: /src/glib/girepository/gistructinfo.c:322,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gistructinfo.c:322,1
    - Dst: gi_typelib_get_string
      Src: /src/glib/girepository/gistructinfo.c:327,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 330
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 330
    functionName: gi_struct_info_get_copy_function_name
    functionSourceFile: /src/glib/girepository/gistructinfo.c
    functionUses: []
    functionsReached:
    - gi_typelib_get_string
    - g_return_val_if_fail
    - GI_IS_STRUCT_INFO
    linkageType: ''
    returnType: char*
    signature: 'const char *gi_struct_info_get_copy_function_name (GIStructInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIStructInfo*
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: gi_struct_info_get_n_fields
    functionSourceFile: /src/glib/girepository/gistructinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: 'unsigned int gi_struct_info_get_n_fields (GIStructInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - g_class
    - class_data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 366
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 366
    functionName: gi_struct_info_class_init
    functionSourceFile: /src/glib/girepository/gistructinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gi_struct_info_class_init (gpointer g_class, gpointer class_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - info
    - n
    argTypes:
    - GIStructInfo*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 92
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 92
    functionName: gi_struct_get_field_offset
    functionSourceFile: /src/glib/girepository/gistructinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'static size_t gi_struct_get_field_offset (GIStructInfo *info, uint16_t
      n) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/girepository/gistructinfo.c:143,1
    - Dst: gi_base_info_new
      Src: /src/glib/girepository/gistructinfo.c:145,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 157
    functionName: gi_struct_info_find_field
    functionSourceFile: /src/glib/girepository/gistructinfo.c
    functionUses: []
    functionsReached:
    - gi_base_info_new
    - strcmp
    linkageType: ''
    returnType: GIFieldInfo*
    signature: 'GIFieldInfo *gi_struct_info_find_field (GIStructInfo *info, const
      char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gistructinfo.c:197,1
    - Dst: gi_struct_get_field_offset
      Src: /src/glib/girepository/gistructinfo.c:199,1
    - Dst: gi_base_info_new
      Src: /src/glib/girepository/gistructinfo.c:200,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 202
    functionName: gi_struct_info_get_method
    functionSourceFile: /src/glib/girepository/gistructinfo.c
    functionUses: []
    functionsReached:
    - gi_struct_get_field_offset
    - g_return_val_if_fail
    - gi_base_info_new
    linkageType: ''
    returnType: GIFunctionInfo*
    signature: 'GIFunctionInfo *gi_struct_info_get_method (GIStructInfo *info, unsigned
      int n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIStructInfo*
    constantsTouched: []
    func_position:
      end: 262
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 262
    functionName: gi_struct_info_get_alignment
    functionSourceFile: /src/glib/girepository/gistructinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t gi_struct_info_get_alignment (GIStructInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIStructInfo*
    constantsTouched: []
    func_position:
      end: 303
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 303
    functionName: gi_struct_info_is_gtype_struct
    functionSourceFile: /src/glib/girepository/gistructinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean gi_struct_info_is_gtype_struct (GIStructInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gistructinfo.c:348,1
    - Dst: gi_typelib_get_string
      Src: /src/glib/girepository/gistructinfo.c:354,1
    - Dst: GI_IS_STRUCT_INFO
      Src: /src/glib/girepository/gistructinfo.c:349,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gistructinfo.c:349,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 357
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 357
    functionName: gi_struct_info_get_free_function_name
    functionSourceFile: /src/glib/girepository/gistructinfo.c
    functionUses: []
    functionsReached:
    - gi_typelib_get_string
    - g_return_val_if_fail
    - GI_IS_STRUCT_INFO
    linkageType: ''
    returnType: char*
    signature: 'const char *gi_struct_info_get_free_function_name (GIStructInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strfreev
      Src: /src/glib/girepository/girparser.c:227,1
    - Dst: g_strdupv
      Src: /src/glib/girepository/girparser.c:229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - parser
    - includes
    argTypes:
    - GIIrParser*
    - char**
    constantsTouched: []
    func_position:
      end: 230
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 230
    functionName: gi_ir_parser_set_includes
    functionSourceFile: /src/glib/girepository/girparser.c
    functionUses: []
    functionsReached:
    - g_strfreev
    - g_strdupv
    linkageType: ''
    returnType: void
    signature: 'void gi_ir_parser_set_includes (GIIrParser *parser, const char *const
      *includes) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: MISSING_ATTRIBUTE
      Src: /src/glib/girepository/girparser.c:2043,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:2052,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:2059,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:2060,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:2067,1
    - Dst: g_list_append
      Src: /src/glib/girepository/girparser.c:2075,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2018,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2020,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2022,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2024,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2025,1
    - Dst: MISSING_ATTRIBUTE
      Src: /src/glib/girepository/girparser.c:2038,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2029,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2027,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:2049,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:2053,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:2010,1
    - Dst: MISSING_ATTRIBUTE
      Src: /src/glib/girepository/girparser.c:2033,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:2041,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:2050,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:2071,1
    - Dst: push_node
      Src: /src/glib/girepository/girparser.c:2073,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:2065,1
    - Dst: introspectable_prelude
      Src: /src/glib/girepository/girparser.c:2014,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2017,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2019,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2021,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2023,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2028,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2026,1
    - Dst: gi_ir_node_new
      Src: /src/glib/girepository/girparser.c:2047,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:2051,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:2069,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 79
    argCount: 6
    argNames:
    - context
    - element_name
    - attribute_names
    - attribute_values
    - ctx
    - error
    argTypes:
    - GMarkupParseContext*
    - char*
    - char**
    - char**
    - ParseContext*
    - GError**
    constantsTouched: []
    func_position:
      end: 2078
      start: 1987
    functionDepth: 0
    functionLinenumber: 1987
    functionLinenumberEnd: 2078
    functionName: start_class
    functionSourceFile: /src/glib/girepository/girparser.c
    functionUses: []
    functionsReached:
    - gi_ir_node_new
    - g_list_append
    - g_strdup
    - strcmp
    - MISSING_ATTRIBUTE
    - introspectable_prelude
    - push_node
    - find_attribute
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean start_class (GMarkupParseContext *context, const char
      *element_name, const char **attribute_names, const char **attribute_values,
      ParseContext *ctx, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: end_type_top
      Src: /src/glib/girepository/girparser.c:2410,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:2411,1
    - Dst: end_type_recurse
      Src: /src/glib/girepository/girparser.c:2415,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - ParseContext*
    constantsTouched: []
    func_position:
      end: 2418
      start: 2405
    functionDepth: 0
    functionLinenumber: 2405
    functionLinenumberEnd: 2418
    functionName: end_type
    functionSourceFile: /src/glib/girepository/girparser.c
    functionUses: []
    functionsReached:
    - end_type_recurse
    - state_switch
    - end_type_top
    linkageType: ''
    returnType: void
    signature: 'static void end_type (ParseContext *ctx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:2478,1
    - Dst: gi_ir_node_new
      Src: /src/glib/girepository/girparser.c:2482,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2492,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:2490,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:2493,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2498,1
    - Dst: parse_param_transfer
      Src: /src/glib/girepository/girparser.c:2499,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2502,1
    - Dst: g_str_equal
      Src: /src/glib/girepository/girparser.c:2503,1
    - Dst: CURRENT_NODE
      Src: /src/glib/girepository/girparser.c:2506,1
    - Dst: CURRENT_NODE
      Src: /src/glib/girepository/girparser.c:2523,1
    - Dst: CURRENT_NODE
      Src: /src/glib/girepository/girparser.c:2511,1
    - Dst: g_assert_not_reached
      Src: /src/glib/girepository/girparser.c:2528,1
    - Dst: CURRENT_NODE
      Src: /src/glib/girepository/girparser.c:2517,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 41
    argCount: 6
    argNames:
    - context
    - element_name
    - attribute_names
    - attribute_values
    - ctx
    - error
    argTypes:
    - GMarkupParseContext*
    - char*
    - char**
    - char**
    - ParseContext*
    - GError**
    constantsTouched: []
    func_position:
      end: 2532
      start: 2465
    functionDepth: 0
    functionLinenumber: 2465
    functionLinenumberEnd: 2532
    functionName: start_return_value
    functionSourceFile: /src/glib/girepository/girparser.c
    functionUses: []
    functionsReached:
    - gi_ir_node_new
    - CURRENT_NODE
    - strcmp
    - g_assert_not_reached
    - parse_param_transfer
    - state_switch
    - g_str_equal
    - find_attribute
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean start_return_value (GMarkupParseContext *context,
      const char *element_name, const char **attribute_names, const char **attribute_values,
      ParseContext *ctx, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:2972,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2977,1
    - Dst: MISSING_ATTRIBUTE
      Src: /src/glib/girepository/girparser.c:2980,1
    - Dst: MISSING_ATTRIBUTE
      Src: /src/glib/girepository/girparser.c:2985,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2976,1
    - Dst: CURRENT_NODE
      Src: /src/glib/girepository/girparser.c:2989,1
    - Dst: parse_type
      Src: /src/glib/girepository/girparser.c:2990,1
    - Dst: g_ascii_string_to_unsigned
      Src: /src/glib/girepository/girparser.c:2992,1
    - Dst: CURRENT_NODE
      Src: /src/glib/girepository/girparser.c:2993,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 22
    argCount: 6
    argNames:
    - context
    - element_name
    - attribute_names
    - attribute_values
    - ctx
    - error
    argTypes:
    - GMarkupParseContext*
    - char*
    - char**
    - char**
    - ParseContext*
    - GError**
    constantsTouched: []
    func_position:
      end: 2998
      start: 2960
    functionDepth: 0
    functionLinenumber: 2960
    functionLinenumberEnd: 2998
    functionName: start_discriminator
    functionSourceFile: /src/glib/girepository/girparser.c
    functionUses: []
    functionsReached:
    - CURRENT_NODE
    - parse_type
    - g_ascii_string_to_unsigned
    - strcmp
    - MISSING_ATTRIBUTE
    - find_attribute
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean start_discriminator (GMarkupParseContext *context,
      const char *element_name, const char **attribute_names, const char **attribute_values,
      ParseContext *ctx, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:242,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:252,1
    - Dst: start_type
      Src: /src/glib/girepository/girparser.c:249,1
    - Dst: start_alias
      Src: /src/glib/girepository/girparser.c:244,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:247,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:258,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:259,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:260,1
    - Dst: g_strcmp0
      Src: /src/glib/girepository/girparser.c:262,1
    - Dst: g_strdup_printf
      Src: /src/glib/girepository/girparser.c:266,1
    - Dst: g_hash_table_replace
      Src: /src/glib/girepository/girparser.c:267,1
    - Dst: g_strcmp0
      Src: /src/glib/girepository/girparser.c:269,1
    - Dst: g_hash_table_replace
      Src: /src/glib/girepository/girparser.c:274,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/girepository/girparser.c:274,1
    - Dst: g_strdup_printf
      Src: /src/glib/girepository/girparser.c:273,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/girepository/girparser.c:267,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 34
    argCount: 6
    argNames:
    - context
    - element_name
    - attribute_names
    - attribute_values
    - user_data
    - error
    argTypes:
    - GMarkupParseContext*
    - char*
    - char**
    - char**
    - void*
    - GError**
    constantsTouched: []
    func_position:
      end: 277
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 277
    functionName: firstpass_start_element_handler
    functionSourceFile: /src/glib/girepository/girparser.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_hash_table_replace
    - start_alias
    - strcmp
    - start_type
    - g_strcmp0
    - GINT_TO_POINTER
    - find_attribute
    linkageType: ''
    returnType: void
    signature: 'static void firstpass_start_element_handler (GMarkupParseContext *context,
      const char *element_name, const char **attribute_names, const char **attribute_values,
      void *user_data, GError **error) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:2095,1
    - Dst: g_strdup_printf
      Src: /src/glib/girepository/girparser.c:2143,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:2196,1
    - Dst: g_hash_table_replace
      Src: /src/glib/girepository/girparser.c:2160,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:2154,1
    - Dst: g_set_error
      Src: /src/glib/girepository/girparser.c:2169,1
    - Dst: g_strdup_printf
      Src: /src/glib/girepository/girparser.c:2150,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:2158,1
    - Dst: gi_ir_node_free
      Src: /src/glib/girepository/girparser.c:2227,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:2232,1
    - Dst: g_list_append
      Src: /src/glib/girepository/girparser.c:2298,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:2098,1
    - Dst: g_list_prepend
      Src: /src/glib/girepository/girparser.c:2104,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:2096,1
    - Dst: gi_ir_node_new
      Src: /src/glib/girepository/girparser.c:2185,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2206,1
    - Dst: gi_ir_node_free
      Src: /src/glib/girepository/girparser.c:2216,1
    - Dst: strlen
      Src: /src/glib/girepository/girparser.c:2261,1
    - Dst: g_str_has_prefix
      Src: /src/glib/girepository/girparser.c:2265,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:2124,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2130,1
    - Dst: MISSING_ATTRIBUTE
      Src: /src/glib/girepository/girparser.c:2139,1
    - Dst: strchr
      Src: /src/glib/girepository/girparser.c:2144,1
    - Dst: parse_basic
      Src: /src/glib/girepository/girparser.c:2146,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:2192,1
    - Dst: g_ascii_string_to_unsigned
      Src: /src/glib/girepository/girparser.c:2223,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2258,1
    - Dst: g_str_has_prefix
      Src: /src/glib/girepository/girparser.c:2266,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:2194,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2205,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2207,1
    - Dst: g_ascii_string_to_unsigned
      Src: /src/glib/girepository/girparser.c:2212,1
    - Dst: MISSING_ATTRIBUTE
      Src: /src/glib/girepository/girparser.c:2253,1
    - Dst: parse_type
      Src: /src/glib/girepository/girparser.c:2275,1
    - Dst: is_pointer_or_disguised_structure
      Src: /src/glib/girepository/girparser.c:2286,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 171
    argCount: 6
    argNames:
    - context
    - element_name
    - attribute_names
    - attribute_values
    - ctx
    - error
    argTypes:
    - GMarkupParseContext*
    - char*
    - char**
    - char**
    - ParseContext*
    - GError**
    constantsTouched: []
    func_position:
      end: 2301
      start: 2080
    functionDepth: 0
    functionLinenumber: 2080
    functionLinenumberEnd: 2301
    functionName: start_type
    functionSourceFile: /src/glib/girepository/girparser.c
    functionUses: []
    functionsReached:
    - gi_ir_node_new
    - g_strdup_printf
    - g_hash_table_replace
    - parse_type
    - g_ascii_string_to_unsigned
    - strcmp
    - g_list_prepend
    - MISSING_ATTRIBUTE
    - parse_basic
    - g_list_append
    - state_switch
    - is_pointer_or_disguised_structure
    - g_set_error
    - g_strdup
    - strlen
    - gi_ir_node_free
    - g_str_has_prefix
    - strchr
    - find_attribute
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean start_type (GMarkupParseContext *context, const char
      *element_name, const char **attribute_names, const char **attribute_values,
      ParseContext *ctx, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:2432,1
    - Dst: MISSING_ATTRIBUTE
      Src: /src/glib/girepository/girparser.c:2445,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2435,1
    - Dst: MISSING_ATTRIBUTE
      Src: /src/glib/girepository/girparser.c:2440,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2436,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:2449,1
    - Dst: CURRENT_NODE
      Src: /src/glib/girepository/girparser.c:2451,1
    - Dst: g_hash_table_insert
      Src: /src/glib/girepository/girparser.c:2455,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:2455,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:2455,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:2459,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:2459,1
    - Dst: g_hash_table_insert
      Src: /src/glib/girepository/girparser.c:2459,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 28
    argCount: 6
    argNames:
    - context
    - element_name
    - attribute_names
    - attribute_values
    - ctx
    - error
    argTypes:
    - GMarkupParseContext*
    - char*
    - char**
    - char**
    - ParseContext*
    - GError**
    constantsTouched: []
    func_position:
      end: 2463
      start: 2420
    functionDepth: 0
    functionLinenumber: 2420
    functionLinenumberEnd: 2463
    functionName: start_attribute
    functionSourceFile: /src/glib/girepository/girparser.c
    functionUses: []
    functionsReached:
    - CURRENT_NODE
    - g_strdup
    - strcmp
    - state_switch
    - g_hash_table_insert
    - MISSING_ATTRIBUTE
    - find_attribute
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean start_attribute (GMarkupParseContext *context, const
      char *element_name, const char **attribute_names, const char **attribute_values,
      ParseContext *ctx, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:2545,1
    - Dst: MISSING_ATTRIBUTE
      Src: /src/glib/girepository/girparser.c:2554,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2551,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:2549,1
    - Dst: CURRENT_NODE
      Src: /src/glib/girepository/girparser.c:2558,1
    - Dst: g_list_append
      Src: /src/glib/girepository/girparser.c:2559,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:2559,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 17
    argCount: 6
    argNames:
    - context
    - element_name
    - attribute_names
    - attribute_values
    - ctx
    - error
    argTypes:
    - GMarkupParseContext*
    - char*
    - char**
    - char**
    - ParseContext*
    - GError**
    constantsTouched: []
    func_position:
      end: 2562
      start: 2534
    functionDepth: 0
    functionLinenumber: 2534
    functionLinenumberEnd: 2562
    functionName: start_implements
    functionSourceFile: /src/glib/girepository/girparser.c
    functionUses: []
    functionsReached:
    - CURRENT_NODE
    - g_list_append
    - g_strdup
    - strcmp
    - state_switch
    - MISSING_ATTRIBUTE
    - find_attribute
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean start_implements (GMarkupParseContext *context, const
      char *element_name, const char **attribute_names, const char **attribute_values,
      ParseContext *ctx, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/girepository/girparser.c:3034,1
    - Dst: g_free
      Src: /src/glib/girepository/girparser.c:3041,1
    - Dst: g_printerr
      Src: /src/glib/girepository/girparser.c:3062,1
    - Dst: g_free
      Src: /src/glib/girepository/girparser.c:3067,1
    - Dst: g_list_prepend
      Src: /src/glib/girepository/girparser.c:3021,1
    - Dst: g_free
      Src: /src/glib/girepository/girparser.c:3044,1
    - Dst: g_clear_error
      Src: /src/glib/girepository/girparser.c:3063,1
    - Dst: g_clear_error
      Src: /src/glib/girepository/girparser.c:3051,1
    - Dst: g_file_get_contents
      Src: /src/glib/girepository/girparser.c:3048,1
    - Dst: g_free
      Src: /src/glib/girepository/girparser.c:3057,1
    - Dst: g_printerr
      Src: /src/glib/girepository/girparser.c:3050,1
    - Dst: g_list_append
      Src: /src/glib/girepository/girparser.c:3069,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:3017,1
    - Dst: gi_ir_parser_parse_string
      Src: /src/glib/girepository/girparser.c:3056,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:3019,1
    - Dst: g_printerr
      Src: /src/glib/girepository/girparser.c:3027,1
    - Dst: locate_gir
      Src: /src/glib/girepository/girparser.c:3035,1
    - Dst: g_printerr
      Src: /src/glib/girepository/girparser.c:3039,1
    - Dst: g_debug
      Src: /src/glib/girepository/girparser.c:3046,1
    - Dst: g_markup_parse_context_get_position
      Src: /src/glib/girepository/girparser.c:3061,1
    - Dst: g_free
      Src: /src/glib/girepository/girparser.c:3052,1
    - Dst: g_free
      Src: /src/glib/girepository/girparser.c:3064,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 42
    argCount: 4
    argNames:
    - context
    - ctx
    - name
    - version
    argTypes:
    - GMarkupParseContext*
    - ParseContext*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 3073
      start: 3000
    functionDepth: 0
    functionLinenumber: 3000
    functionLinenumberEnd: 3073
    functionName: parse_include
    functionSourceFile: /src/glib/girepository/girparser.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_list_append
    - g_strdup_printf
    - g_printerr
    - g_markup_parse_context_get_position
    - g_debug
    - strcmp
    - g_file_get_contents
    - gi_ir_parser_parse_string
    - g_list_prepend
    - locate_gir
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean parse_include (GMarkupParseContext *context, ParseContext
      *ctx, const char *name, const char *version) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_markup_parse_context_new
      Src: /src/glib/girepository/girparser.c:3923,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/girepository/girparser.c:3920,1
    - Dst: g_markup_parse_context_parse
      Src: /src/glib/girepository/girparser.c:3925,1
    - Dst: g_markup_parse_context_new
      Src: /src/glib/girepository/girparser.c:3934,1
    - Dst: g_markup_parse_context_parse
      Src: /src/glib/girepository/girparser.c:3935,1
    - Dst: g_list_concat
      Src: /src/glib/girepository/girparser.c:3944,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/girparser.c:3955,1
    - Dst: g_clear_slist
      Src: /src/glib/girepository/girparser.c:3961,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/girparser.c:3956,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/girparser.c:3962,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/girepository/girparser.c:3916,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/girepository/girparser.c:3918,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/girparser.c:3954,1
    - Dst: g_set_error
      Src: /src/glib/girepository/girparser.c:3969,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/girepository/girparser.c:3917,1
    - Dst: g_markup_parse_context_end_parse
      Src: /src/glib/girepository/girparser.c:3928,1
    - Dst: g_markup_parse_context_free
      Src: /src/glib/girepository/girparser.c:3931,1
    - Dst: g_clear_list
      Src: /src/glib/girepository/girparser.c:3957,1
    - Dst: g_markup_parse_context_end_parse
      Src: /src/glib/girepository/girparser.c:3938,1
    - Dst: g_steal_pointer
      Src: /src/glib/girepository/girparser.c:3944,1
    - Dst: g_list_free
      Src: /src/glib/girepository/girparser.c:3958,1
    - Dst: g_markup_parse_context_free
      Src: /src/glib/girepository/girparser.c:3963,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3974
      start: 3899
    functionDepth: 0
    functionLinenumber: 3899
    functionLinenumberEnd: 3974
    functionName: gi_ir_parser_parse_string
    functionSourceFile: /src/glib/girepository/girparser.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_steal_pointer
    - g_markup_parse_context_end_parse
    - g_clear_list
    - g_list_concat
    - g_clear_pointer
    - g_list_free
    - g_ptr_array_new_with_free_func
    - g_hash_table_new_full
    - g_markup_parse_context_new
    - g_clear_slist
    - g_markup_parse_context_parse
    - g_markup_parse_context_free
    linkageType: ''
    returnType: GIIrModule*
    signature: 'GIIrModule *gi_ir_parser_parse_string (GIIrParser *parser, const char
      *namespace, const char *filename, const char *buffer, gssize length, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - parser
    - logged_levels
    argTypes:
    - GIIrParser*
    - GLogLevelFlags
    constantsTouched: []
    func_position:
      end: 210
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 210
    functionName: gi_ir_parser_set_debug
    functionSourceFile: /src/glib/girepository/girparser.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gi_ir_parser_set_debug (GIIrParser *parser, GLogLevelFlags logged_levels) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:286,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:292,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:288,1
    - Dst: g_free
      Src: /src/glib/girepository/girparser.c:289,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:293,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 4
    argNames:
    - context
    - element_name
    - user_data
    - error
    argTypes:
    - GMarkupParseContext*
    - char*
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 294
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 294
    functionName: firstpass_end_element_handler
    functionSourceFile: /src/glib/girepository/girparser.c
    functionUses: []
    functionsReached:
    - g_free
    - strcmp
    - state_switch
    linkageType: ''
    returnType: void
    signature: 'static void firstpass_end_element_handler (GMarkupParseContext *context,
      const char *element_name, gpointer user_data, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:796,1
    - Dst: parse_basic
      Src: /src/glib/girepository/girparser.c:800,1
    - Dst: resolve_aliases
      Src: /src/glib/girepository/girparser.c:802,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:797,1
    - Dst: parse_type_internal
      Src: /src/glib/girepository/girparser.c:804,1
    - Dst: g_debug
      Src: /src/glib/girepository/girparser.c:806,1
    - Dst: g_critical
      Src: /src/glib/girepository/girparser.c:808,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 811
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 811
    functionName: parse_type
    functionSourceFile: /src/glib/girepository/girparser.c
    functionUses: []
    functionsReached:
    - g_debug
    - strcmp
    - parse_type_internal
    - g_critical
    - resolve_aliases
    - parse_basic
    linkageType: ''
    returnType: GIIrNodeType*
    signature: 'static GIIrNodeType *parse_type (ParseContext *ctx, const char *type) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:1242,1
    - Dst: g_strcmp0
      Src: /src/glib/girepository/girparser.c:1250,1
    - Dst: g_strcmp0
      Src: /src/glib/girepository/girparser.c:1252,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:1246,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:1248,1
    - Dst: g_set_error
      Src: /src/glib/girepository/girparser.c:1256,1
    - Dst: CURRENT_NODE
      Src: /src/glib/girepository/girparser.c:1262,1
    - Dst: CURRENT_NODE
      Src: /src/glib/girepository/girparser.c:1269,1
    - Dst: CURRENT_NODE
      Src: /src/glib/girepository/girparser.c:1277,1
    - Dst: CURRENT_NODE
      Src: /src/glib/girepository/girparser.c:1285,1
    - Dst: g_assert_not_reached
      Src: /src/glib/girepository/girparser.c:1290,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 32
    argCount: 6
    argNames:
    - context
    - element_name
    - attribute_names
    - attribute_values
    - ctx
    - error
    argTypes:
    - GMarkupParseContext*
    - char*
    - char**
    - char**
    - ParseContext*
    - GError**
    constantsTouched: []
    func_position:
      end: 1294
      start: 1231
    functionDepth: 0
    functionLinenumber: 1231
    functionLinenumberEnd: 1294
    functionName: start_instance_parameter
    functionSourceFile: /src/glib/girepository/girparser.c
    functionUses: []
    functionsReached:
    - g_set_error
    - CURRENT_NODE
    - strcmp
    - g_assert_not_reached
    - g_strcmp0
    - state_switch
    - find_attribute
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean start_instance_parameter (GMarkupParseContext *context,
      const char *element_name, const char **attribute_names, const char **attribute_values,
      ParseContext *ctx, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:1636,1
    - Dst: introspectable_prelude
      Src: /src/glib/girepository/girparser.c:1640,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:1637,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:1643,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:1644,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:1645,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:1646,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:1647,1
    - Dst: MISSING_ATTRIBUTE
      Src: /src/glib/girepository/girparser.c:1651,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:1655,1
    - Dst: gi_ir_node_new
      Src: /src/glib/girepository/girparser.c:1659,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:1663,1
    - Dst: g_list_append
      Src: /src/glib/girepository/girparser.c:1673,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:1664,1
    - Dst: gi_ir_node_new
      Src: /src/glib/girepository/girparser.c:1656,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:1661,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:1662,1
    - Dst: push_node
      Src: /src/glib/girepository/girparser.c:1671,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 45
    argCount: 6
    argNames:
    - context
    - element_name
    - attribute_names
    - attribute_values
    - ctx
    - error
    argTypes:
    - GMarkupParseContext*
    - char*
    - char**
    - char**
    - ParseContext*
    - GError**
    constantsTouched: []
    func_position:
      end: 1676
      start: 1621
    functionDepth: 0
    functionLinenumber: 1621
    functionLinenumberEnd: 1676
    functionName: start_enum
    functionSourceFile: /src/glib/girepository/girparser.c
    functionUses: []
    functionsReached:
    - gi_ir_node_new
    - g_list_append
    - g_strdup
    - strcmp
    - MISSING_ATTRIBUTE
    - introspectable_prelude
    - push_node
    - find_attribute
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean start_enum (GMarkupParseContext *context, const char
      *element_name, const char **attribute_names, const char **attribute_values,
      ParseContext *ctx, GError **error) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:1854,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:1881,1
    - Dst: introspectable_prelude
      Src: /src/glib/girepository/girparser.c:1877,1
    - Dst: g_assert_not_reached
      Src: /src/glib/girepository/girparser.c:1872,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:1880,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:1882,1
    - Dst: MISSING_ATTRIBUTE
      Src: /src/glib/girepository/girparser.c:1886,1
    - Dst: MISSING_ATTRIBUTE
      Src: /src/glib/girepository/girparser.c:1891,1
    - Dst: gi_ir_node_new
      Src: /src/glib/girepository/girparser.c:1895,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:1898,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:1899,1
    - Dst: push_node
      Src: /src/glib/girepository/girparser.c:1910,1
    - Dst: CURRENT_NODE
      Src: /src/glib/girepository/girparser.c:1918,1
    - Dst: g_list_append
      Src: /src/glib/girepository/girparser.c:1912,1
    - Dst: g_list_append
      Src: /src/glib/girepository/girparser.c:1919,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 49
    argCount: 6
    argNames:
    - context
    - element_name
    - attribute_names
    - attribute_values
    - ctx
    - error
    argTypes:
    - GMarkupParseContext*
    - char*
    - char**
    - char**
    - ParseContext*
    - GError**
    constantsTouched: []
    func_position:
      end: 1923
      start: 1839
    functionDepth: 0
    functionLinenumber: 1839
    functionLinenumberEnd: 1923
    functionName: start_constant
    functionSourceFile: /src/glib/girepository/girparser.c
    functionUses: []
    functionsReached:
    - gi_ir_node_new
    - g_list_append
    - CURRENT_NODE
    - g_strdup
    - strcmp
    - g_assert_not_reached
    - MISSING_ATTRIBUTE
    - introspectable_prelude
    - push_node
    - find_attribute
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean start_constant (GMarkupParseContext *context, const
      char *element_name, const char **attribute_names, const char **attribute_values,
      ParseContext *ctx, GError **error) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: introspectable_prelude
      Src: /src/glib/girepository/girparser.c:2587,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2592,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2590,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2593,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2595,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:2582,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:2626,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:2630,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:2618,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:2634,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:2622,1
    - Dst: CURRENT_NODE
      Src: /src/glib/girepository/girparser.c:2639,1
    - Dst: push_node
      Src: /src/glib/girepository/girparser.c:2642,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2591,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2594,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2596,1
    - Dst: gi_ir_node_new
      Src: /src/glib/girepository/girparser.c:2603,1
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/girepository/girparser.c:2613,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:2606,1
    - Dst: g_list_append
      Src: /src/glib/girepository/girparser.c:2640,1
    - Dst: MISSING_ATTRIBUTE
      Src: /src/glib/girepository/girparser.c:2600,1
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/girepository/girparser.c:2611,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 73
    argCount: 6
    argNames:
    - context
    - element_name
    - attribute_names
    - attribute_values
    - ctx
    - error
    argTypes:
    - GMarkupParseContext*
    - char*
    - char**
    - char**
    - ParseContext*
    - GError**
    constantsTouched: []
    func_position:
      end: 2645
      start: 2564
    functionDepth: 0
    functionLinenumber: 2564
    functionLinenumberEnd: 2645
    functionName: start_glib_signal
    functionSourceFile: /src/glib/girepository/girparser.c
    functionUses: []
    functionsReached:
    - gi_ir_node_new
    - CURRENT_NODE
    - g_list_append
    - g_strdup
    - g_ascii_strcasecmp
    - strcmp
    - MISSING_ATTRIBUTE
    - introspectable_prelude
    - push_node
    - find_attribute
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean start_glib_signal (GMarkupParseContext *context, const
      char *element_name, const char **attribute_names, const char **attribute_values,
      ParseContext *ctx, GError **error) '
  - BBCount: 87
    BranchProfiles: []
    Callsites:
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:3643,1
    - Dst: g_debug
      Src: /src/glib/girepository/girparser.c:3647,1
    - Dst: g_markup_parse_context_get_position
      Src: /src/glib/girepository/girparser.c:3669,1
    - Dst: require_end_element
      Src: /src/glib/girepository/girparser.c:3783,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:3796,1
    - Dst: require_end_element
      Src: /src/glib/girepository/girparser.c:3810,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:3816,1
    - Dst: g_assert
      Src: /src/glib/girepository/girparser.c:3846,1
    - Dst: require_end_element
      Src: /src/glib/girepository/girparser.c:3576,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:3592,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:3625,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:3662,1
    - Dst: require_end_element
      Src: /src/glib/girepository/girparser.c:3790,1
    - Dst: g_assert_not_reached
      Src: /src/glib/girepository/girparser.c:3825,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:3630,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:3609,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:3618,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:3660,1
    - Dst: require_end_element
      Src: /src/glib/girepository/girparser.c:3726,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:3769,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:3712,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:3721,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:3650,1
    - Dst: CURRENT_NODE
      Src: /src/glib/girepository/girparser.c:3663,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:3743,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:3840,1
    - Dst: require_end_element
      Src: /src/glib/girepository/girparser.c:3605,1
    - Dst: pop_node
      Src: /src/glib/girepository/girparser.c:3640,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:3682,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:3691,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:3751,1
    - Dst: pop_node
      Src: /src/glib/girepository/girparser.c:3742,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:3756,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:3785,1
    - Dst: require_end_element
      Src: /src/glib/girepository/girparser.c:3798,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:3822,1
    - Dst: g_set_error
      Src: /src/glib/girepository/girparser.c:3670,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:3578,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:3600,1
    - Dst: g_free
      Src: /src/glib/girepository/girparser.c:3607,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:3654,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:3703,1
    - Dst: require_one_of_end_elements
      Src: /src/glib/girepository/girparser.c:3738,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:3831,1
    - Dst: require_end_element
      Src: /src/glib/girepository/girparser.c:3632,1
    - Dst: CURRENT_NODE
      Src: /src/glib/girepository/girparser.c:3653,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:3799,1
    - Dst: require_end_element
      Src: /src/glib/girepository/girparser.c:3597,1
    - Dst: CURRENT_NODE
      Src: /src/glib/girepository/girparser.c:3655,1
    - Dst: pop_node
      Src: /src/glib/girepository/girparser.c:3815,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:3614,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:3656,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:3729,1
    - Dst: require_end_element
      Src: /src/glib/girepository/girparser.c:3758,1
    - Dst: require_end_element
      Src: /src/glib/girepository/girparser.c:3693,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:3803,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:3819,1
    - Dst: g_debug
      Src: /src/glib/girepository/girparser.c:3562,1
    - Dst: CURRENT_NODE
      Src: /src/glib/girepository/girparser.c:3659,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:3717,1
    - Dst: pop_node
      Src: /src/glib/girepository/girparser.c:3750,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:3736,1
    - Dst: state_switch_end_struct_or_union
      Src: /src/glib/girepository/girparser.c:3776,1
    - Dst: end_type
      Src: /src/glib/girepository/girparser.c:3834,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:3848,1
    - Dst: require_end_element
      Src: /src/glib/girepository/girparser.c:3684,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:3634,1
    - Dst: CURRENT_NODE
      Src: /src/glib/girepository/girparser.c:3657,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:3765,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:3832,1
    - Dst: require_end_element
      Src: /src/glib/girepository/girparser.c:3583,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:3708,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:3831,1
    - Dst: CURRENT_NODE
      Src: /src/glib/girepository/girparser.c:3647,1
    - Dst: CURRENT_NODE
      Src: /src/glib/girepository/girparser.c:3661,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:3665,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:3781,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:3760,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:3695,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:3808,1
    - Dst: g_error
      Src: /src/glib/girepository/girparser.c:3851,1
    - Dst: pop_node
      Src: /src/glib/girepository/girparser.c:3728,1
    - Dst: require_end_element
      Src: /src/glib/girepository/girparser.c:3774,1
    - Dst: require_end_element
      Src: /src/glib/girepository/girparser.c:3590,1
    - Dst: require_end_element
      Src: /src/glib/girepository/girparser.c:3623,1
    - Dst: state_switch_end_struct_or_union
      Src: /src/glib/girepository/girparser.c:3792,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:3838,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:3686,1
    - Dst: require_end_element
      Src: /src/glib/girepository/girparser.c:3748,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:3734,1
    - Dst: require_end_element
      Src: /src/glib/girepository/girparser.c:3767,1
    - Dst: pop_node
      Src: /src/glib/girepository/girparser.c:3702,1
    - Dst: require_end_element
      Src: /src/glib/girepository/girparser.c:3616,1
    - Dst: CURRENT_NODE
      Src: /src/glib/girepository/girparser.c:3664,1
    - Dst: require_end_element
      Src: /src/glib/girepository/girparser.c:3802,1
    - Dst: require_end_element
      Src: /src/glib/girepository/girparser.c:3710,1
    - Dst: require_end_element
      Src: /src/glib/girepository/girparser.c:3719,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:3572,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:3585,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:3658,1
    - Dst: require_end_element
      Src: /src/glib/girepository/girparser.c:3700,1
    CyclomaticComplexity: 97
    EdgeCount: 97
    ICount: 168
    argCount: 4
    argNames:
    - context
    - element_name
    - user_data
    - error
    argTypes:
    - GMarkupParseContext*
    - char*
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 3853
      start: 3554
    functionDepth: 0
    functionLinenumber: 3554
    functionLinenumberEnd: 3853
    functionName: end_element_handler
    functionSourceFile: /src/glib/girepository/girparser.c
    functionUses: []
    functionsReached:
    - CURRENT_NODE
    - g_set_error
    - require_end_element
    - g_markup_parse_context_get_position
    - end_type
    - g_assert
    - pop_node
    - g_debug
    - strcmp
    - state_switch_end_struct_or_union
    - g_assert_not_reached
    - require_one_of_end_elements
    - state_switch
    - g_error
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void end_element_handler (GMarkupParseContext *context, const
      char *element_name, gpointer user_data, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strfreev
      Src: /src/glib/girepository/girparser.c:215,1
    - Dst: g_clear_list
      Src: /src/glib/girepository/girparser.c:218,1
    - Dst: g_slice_free
      Src: /src/glib/girepository/girparser.c:220,1
    - Dst: g_strfreev
      Src: /src/glib/girepository/girparser.c:216,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - parser
    argTypes:
    - GIIrParser*
    constantsTouched: []
    func_position:
      end: 221
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 221
    functionName: gi_ir_parser_free
    functionSourceFile: /src/glib/girepository/girparser.c
    functionUses: []
    functionsReached:
    - g_strfreev
    - g_slice_free
    - g_clear_list
    linkageType: ''
    returnType: void
    signature: 'void gi_ir_parser_free (GIIrParser *parser) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/girepository/girparser.c:824,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:827,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:826,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:832,1
    - Dst: atoi
      Src: /src/glib/girepository/girparser.c:829,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:834,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 5
    argNames:
    - context
    - attribute_names
    - attribute_values
    - ctx
    - new_state
    argTypes:
    - GMarkupParseContext*
    - char**
    - char**
    - ParseContext*
    - ParseState
    constantsTouched: []
    func_position:
      end: 837
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 837
    functionName: introspectable_prelude
    functionSourceFile: /src/glib/girepository/girparser.c
    functionUses: []
    functionsReached:
    - g_assert
    - atoi
    - state_switch
    - find_attribute
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean introspectable_prelude (GMarkupParseContext *context,
      const char **attribute_names, const char **attribute_values, ParseContext *ctx,
      ParseState new_state) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:1355,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:1346,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:1368,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:1373,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:1378,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:1399,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:1401,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:1403,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:1405,1
    - Dst: atoi
      Src: /src/glib/girepository/girparser.c:1410,1
    - Dst: g_assert_not_reached
      Src: /src/glib/girepository/girparser.c:1441,1
    - Dst: atoi
      Src: /src/glib/girepository/girparser.c:1411,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:1318,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:1324,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:1322,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:1327,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:1329,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:1333,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:1331,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:1344,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:1342,1
    - Dst: CURRENT_NODE
      Src: /src/glib/girepository/girparser.c:1428,1
    - Dst: g_list_append
      Src: /src/glib/girepository/girparser.c:1437,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:1383,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:1391,1
    - Dst: parse_param_transfer
      Src: /src/glib/girepository/girparser.c:1396,1
    - Dst: CURRENT_NODE
      Src: /src/glib/girepository/girparser.c:1420,1
    - Dst: g_list_append
      Src: /src/glib/girepository/girparser.c:1421,1
    - Dst: CURRENT_NODE
      Src: /src/glib/girepository/girparser.c:1436,1
    - Dst: g_list_append
      Src: /src/glib/girepository/girparser.c:1429,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:1323,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:1325,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:1326,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:1328,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:1330,1
    - Dst: gi_ir_node_new
      Src: /src/glib/girepository/girparser.c:1338,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:1353,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:1332,1
    - Dst: CURRENT_NODE
      Src: /src/glib/girepository/girparser.c:1413,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 127
    argCount: 6
    argNames:
    - context
    - element_name
    - attribute_names
    - attribute_values
    - ctx
    - error
    argTypes:
    - GMarkupParseContext*
    - char*
    - char**
    - char**
    - ParseContext*
    - GError**
    constantsTouched: []
    func_position:
      end: 1445
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1445
    functionName: start_parameter
    functionSourceFile: /src/glib/girepository/girparser.c
    functionUses: []
    functionsReached:
    - gi_ir_node_new
    - CURRENT_NODE
    - g_list_append
    - g_strdup
    - strcmp
    - g_assert_not_reached
    - parse_param_transfer
    - state_switch
    - atoi
    - find_attribute
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean start_parameter (GMarkupParseContext *context, const
      char *element_name, const char **attribute_names, const char **attribute_values,
      ParseContext *ctx, GError **error) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:1740,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:1744,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:1748,1
    - Dst: CURRENT_NODE
      Src: /src/glib/girepository/girparser.c:1758,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:1715,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:1717,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:1719,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:1736,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:1721,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:1753,1
    - Dst: g_list_append
      Src: /src/glib/girepository/girparser.c:1759,1
    - Dst: MISSING_ATTRIBUTE
      Src: /src/glib/girepository/girparser.c:1725,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:1733,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:1754,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:1698,1
    - Dst: g_assert_not_reached
      Src: /src/glib/girepository/girparser.c:1708,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:1714,1
    - Dst: introspectable_prelude
      Src: /src/glib/girepository/girparser.c:1710,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:1716,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:1718,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:1720,1
    - Dst: gi_ir_node_new
      Src: /src/glib/girepository/girparser.c:1729,1
    - Dst: parse_property_transfer
      Src: /src/glib/girepository/girparser.c:1756,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 69
    argCount: 6
    argNames:
    - context
    - element_name
    - attribute_names
    - attribute_values
    - ctx
    - error
    argTypes:
    - GMarkupParseContext*
    - char*
    - char**
    - char**
    - ParseContext*
    - GError**
    constantsTouched: []
    func_position:
      end: 1762
      start: 1678
    functionDepth: 0
    functionLinenumber: 1678
    functionLinenumberEnd: 1762
    functionName: start_property
    functionSourceFile: /src/glib/girepository/girparser.c
    functionUses: []
    functionsReached:
    - gi_ir_node_new
    - CURRENT_NODE
    - g_list_append
    - g_strdup
    - parse_property_transfer
    - strcmp
    - g_assert_not_reached
    - MISSING_ATTRIBUTE
    - introspectable_prelude
    - find_attribute
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean start_property (GMarkupParseContext *context, const
      char *element_name, const char **attribute_names, const char **attribute_values,
      ParseContext *ctx, GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:1940,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:1948,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:1947,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:1949,1
    - Dst: introspectable_prelude
      Src: /src/glib/girepository/girparser.c:1944,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:1950,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:1951,1
    - Dst: MISSING_ATTRIBUTE
      Src: /src/glib/girepository/girparser.c:1955,1
    - Dst: MISSING_ATTRIBUTE
      Src: /src/glib/girepository/girparser.c:1960,1
    - Dst: MISSING_ATTRIBUTE
      Src: /src/glib/girepository/girparser.c:1965,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:1974,1
    - Dst: push_node
      Src: /src/glib/girepository/girparser.c:1980,1
    - Dst: g_list_append
      Src: /src/glib/girepository/girparser.c:1982,1
    - Dst: gi_ir_node_new
      Src: /src/glib/girepository/girparser.c:1969,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:1972,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:1973,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:1971,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 42
    argCount: 6
    argNames:
    - context
    - element_name
    - attribute_names
    - attribute_values
    - ctx
    - error
    argTypes:
    - GMarkupParseContext*
    - char*
    - char**
    - char**
    - ParseContext*
    - GError**
    constantsTouched: []
    func_position:
      end: 1985
      start: 1925
    functionDepth: 0
    functionLinenumber: 1925
    functionLinenumberEnd: 1985
    functionName: start_interface
    functionSourceFile: /src/glib/girepository/girparser.c
    functionUses: []
    functionsReached:
    - gi_ir_node_new
    - g_list_append
    - g_strdup
    - strcmp
    - MISSING_ATTRIBUTE
    - introspectable_prelude
    - push_node
    - find_attribute
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean start_interface (GMarkupParseContext *context, const
      char *element_name, const char **attribute_names, const char **attribute_values,
      ParseContext *ctx, GError **error) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2679,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2681,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2683,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2685,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2688,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:2701,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:2699,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2687,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:2706,1
    - Dst: gi_ir_node_new
      Src: /src/glib/girepository/girparser.c:2696,1
    - Dst: INVALID_ATTRIBUTE
      Src: /src/glib/girepository/girparser.c:2772,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:2670,1
    - Dst: MISSING_ATTRIBUTE
      Src: /src/glib/girepository/girparser.c:2692,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:2727,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:2732,1
    - Dst: G_UNLIKELY
      Src: /src/glib/girepository/girparser.c:2755,1
    - Dst: CURRENT_NODE
      Src: /src/glib/girepository/girparser.c:2799,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2678,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2680,1
    - Dst: introspectable_prelude
      Src: /src/glib/girepository/girparser.c:2675,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2682,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2684,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2686,1
    - Dst: g_ascii_string_to_unsigned
      Src: /src/glib/girepository/girparser.c:2739,1
    - Dst: INVALID_ATTRIBUTE
      Src: /src/glib/girepository/girparser.c:2757,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:2764,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:2779,1
    - Dst: push_node
      Src: /src/glib/girepository/girparser.c:2802,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:2797,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:2711,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:2722,1
    - Dst: G_UNLIKELY
      Src: /src/glib/girepository/girparser.c:2770,1
    - Dst: G_UNLIKELY
      Src: /src/glib/girepository/girparser.c:2784,1
    - Dst: g_list_append
      Src: /src/glib/girepository/girparser.c:2800,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:2793,1
    - Dst: gi_ir_node_free
      Src: /src/glib/girepository/girparser.c:2743,1
    - Dst: INVALID_ATTRIBUTE
      Src: /src/glib/girepository/girparser.c:2786,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 118
    argCount: 6
    argNames:
    - context
    - element_name
    - attribute_names
    - attribute_values
    - ctx
    - error
    argTypes:
    - GMarkupParseContext*
    - char*
    - char**
    - char**
    - ParseContext*
    - GError**
    constantsTouched: []
    func_position:
      end: 2805
      start: 2647
    functionDepth: 0
    functionLinenumber: 2647
    functionLinenumberEnd: 2805
    functionName: start_vfunc
    functionSourceFile: /src/glib/girepository/girparser.c
    functionUses: []
    functionsReached:
    - gi_ir_node_new
    - CURRENT_NODE
    - g_list_append
    - g_strdup
    - g_ascii_string_to_unsigned
    - strcmp
    - gi_ir_node_free
    - INVALID_ATTRIBUTE
    - G_UNLIKELY
    - MISSING_ATTRIBUTE
    - introspectable_prelude
    - push_node
    - find_attribute
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean start_vfunc (GMarkupParseContext *context, const char
      *element_name, const char **attribute_names, const char **attribute_values,
      ParseContext *ctx, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 5
    argNames:
    - context
    - text
    - text_len
    - user_data
    - error
    argTypes:
    - GMarkupParseContext*
    - char*
    - gsize
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 3863
      start: 3855
    functionDepth: 0
    functionLinenumber: 3855
    functionLinenumberEnd: 3863
    functionName: text_handler
    functionSourceFile: /src/glib/girepository/girparser.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void text_handler (GMarkupParseContext *context, const char
      *text, gsize text_len, gpointer user_data, GError **error) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_file_test
      Src: /src/glib/girepository/girparser.c:322,1
    - Dst: g_file_test
      Src: /src/glib/girepository/girparser.c:337,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/girparser.c:347,1
    - Dst: g_debug
      Src: /src/glib/girepository/girparser.c:344,1
    - Dst: g_file_test
      Src: /src/glib/girepository/girparser.c:360,1
    - Dst: g_debug
      Src: /src/glib/girepository/girparser.c:365,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/girparser.c:368,1
    - Dst: g_debug
      Src: /src/glib/girepository/girparser.c:372,1
    - Dst: g_file_test
      Src: /src/glib/girepository/girparser.c:373,1
    - Dst: g_debug
      Src: /src/glib/girepository/girparser.c:378,1
    - Dst: g_steal_pointer
      Src: /src/glib/girepository/girparser.c:374,1
    - Dst: g_steal_pointer
      Src: /src/glib/girepository/girparser.c:367,1
    - Dst: g_debug
      Src: /src/glib/girepository/girparser.c:321,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/girparser.c:324,1
    - Dst: g_debug
      Src: /src/glib/girepository/girparser.c:336,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/girparser.c:339,1
    - Dst: g_steal_pointer
      Src: /src/glib/girepository/girparser.c:346,1
    - Dst: g_build_filename
      Src: /src/glib/girepository/girparser.c:343,1
    - Dst: g_file_test
      Src: /src/glib/girepository/girparser.c:353,1
    - Dst: g_debug
      Src: /src/glib/girepository/girparser.c:359,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/girparser.c:362,1
    - Dst: g_build_filename
      Src: /src/glib/girepository/girparser.c:364,1
    - Dst: g_build_filename
      Src: /src/glib/girepository/girparser.c:371,1
    - Dst: g_get_system_data_dirs
      Src: /src/glib/girepository/girparser.c:314,1
    - Dst: g_steal_pointer
      Src: /src/glib/girepository/girparser.c:323,1
    - Dst: g_build_filename
      Src: /src/glib/girepository/girparser.c:335,1
    - Dst: g_steal_pointer
      Src: /src/glib/girepository/girparser.c:338,1
    - Dst: g_get_user_data_dir
      Src: /src/glib/girepository/girparser.c:343,1
    - Dst: g_build_filename
      Src: /src/glib/girepository/girparser.c:351,1
    - Dst: g_debug
      Src: /src/glib/girepository/girparser.c:352,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/girparser.c:355,1
    - Dst: g_build_filename
      Src: /src/glib/girepository/girparser.c:358,1
    - Dst: g_steal_pointer
      Src: /src/glib/girepository/girparser.c:361,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/girparser.c:375,1
    - Dst: g_debug
      Src: /src/glib/girepository/girparser.c:313,1
    - Dst: g_build_filename
      Src: /src/glib/girepository/girparser.c:320,1
    - Dst: g_file_test
      Src: /src/glib/girepository/girparser.c:345,1
    - Dst: g_steal_pointer
      Src: /src/glib/girepository/girparser.c:354,1
    - Dst: g_file_test
      Src: /src/glib/girepository/girparser.c:366,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 380
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 380
    functionName: locate_gir
    functionSourceFile: /src/glib/girepository/girparser.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_get_system_data_dirs
    - g_debug
    - g_get_user_data_dir
    - g_clear_pointer
    - g_build_filename
    - g_file_test
    linkageType: ''
    returnType: char*
    signature: 'static char *locate_gir (GIIrParser *parser, const char *girname) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/girepository/girparser.c:421,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - newstate
    argTypes:
    - ParseContext*
    - ParseState
    constantsTouched: []
    func_position:
      end: 427
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 427
    functionName: state_switch
    functionSourceFile: /src/glib/girepository/girparser.c
    functionUses: []
    functionsReached:
    - g_assert
    linkageType: ''
    returnType: void
    signature: 'static void state_switch (ParseContext *ctx, ParseState newstate) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/girepository/girparser.c:528,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:537,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:532,1
    - Dst: g_assert_not_reached
      Src: /src/glib/girepository/girparser.c:566,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/girepository/girparser.c:535,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 571
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 571
    functionName: parse_basic
    functionSourceFile: /src/glib/girepository/girparser.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - strcmp
    - g_assert_not_reached
    linkageType: ''
    returnType: BasicTypeInfo*
    signature: 'static const BasicTypeInfo *parse_basic (const char *str) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:2828,1
    - Dst: MISSING_ATTRIBUTE
      Src: /src/glib/girepository/girparser.c:2852,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:2886,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2839,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2841,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2843,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2845,1
    - Dst: gi_ir_node_new
      Src: /src/glib/girepository/girparser.c:2866,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2847,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2848,1
    - Dst: g_strcmp0
      Src: /src/glib/girepository/girparser.c:2878,1
    - Dst: g_strcmp0
      Src: /src/glib/girepository/girparser.c:2881,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:2887,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:2891,1
    - Dst: push_node
      Src: /src/glib/girepository/girparser.c:2897,1
    - Dst: MISSING_ATTRIBUTE
      Src: /src/glib/girepository/girparser.c:2862,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:2869,1
    - Dst: g_strcmp0
      Src: /src/glib/girepository/girparser.c:2889,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:2892,1
    - Dst: g_list_append
      Src: /src/glib/girepository/girparser.c:2896,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2838,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2840,1
    - Dst: introspectable_prelude
      Src: /src/glib/girepository/girparser.c:2835,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2842,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2844,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2846,1
    - Dst: MISSING_ATTRIBUTE
      Src: /src/glib/girepository/girparser.c:2857,1
    - Dst: g_strcmp0
      Src: /src/glib/girepository/girparser.c:2875,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 83
    argCount: 6
    argNames:
    - context
    - element_name
    - attribute_names
    - attribute_values
    - ctx
    - error
    argTypes:
    - GMarkupParseContext*
    - char*
    - char**
    - char**
    - ParseContext*
    - GError**
    constantsTouched: []
    func_position:
      end: 2899
      start: 2807
    functionDepth: 0
    functionLinenumber: 2807
    functionLinenumberEnd: 2899
    functionName: start_struct
    functionSourceFile: /src/glib/girepository/girparser.c
    functionUses: []
    functionsReached:
    - gi_ir_node_new
    - g_list_append
    - g_strdup
    - strcmp
    - g_strcmp0
    - MISSING_ATTRIBUTE
    - introspectable_prelude
    - push_node
    - find_attribute
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean start_struct (GMarkupParseContext *context, const
      char *element_name, const char **attribute_names, const char **attribute_values,
      ParseContext *ctx, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pop_node
      Src: /src/glib/girepository/girparser.c:3509,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:3513,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:3523,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/girparser.c:3520,1
    - Dst: CURRENT_NODE
      Src: /src/glib/girepository/girparser.c:3522,1
    - Dst: CURRENT_NODE
      Src: /src/glib/girepository/girparser.c:3524,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:3525,1
    - Dst: CURRENT_NODE
      Src: /src/glib/girepository/girparser.c:3526,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:3527,1
    - Dst: g_markup_parse_context_get_position
      Src: /src/glib/girepository/girparser.c:3531,1
    - Dst: g_set_error
      Src: /src/glib/girepository/girparser.c:3532,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 4
    argNames:
    - context
    - ctx
    - element_name
    - error
    argTypes:
    - GMarkupParseContext*
    - ParseContext*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 3542
      start: 3503
    functionDepth: 0
    functionLinenumber: 3503
    functionLinenumberEnd: 3542
    functionName: state_switch_end_struct_or_union
    functionSourceFile: /src/glib/girepository/girparser.c
    functionUses: []
    functionsReached:
    - CURRENT_NODE
    - g_set_error
    - g_markup_parse_context_get_position
    - pop_node
    - g_clear_pointer
    - state_switch
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean state_switch_end_struct_or_union (GMarkupParseContext
      *context, ParseContext *ctx, const char *element_name, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/girepository/girparser.c:195,1
    - Dst: g_getenv
      Src: /src/glib/girepository/girparser.c:196,1
    - Dst: g_strsplit
      Src: /src/glib/girepository/girparser.c:199,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 203
    functionName: gi_ir_parser_new
    functionSourceFile: /src/glib/girepository/girparser.c
    functionUses: []
    functionsReached:
    - g_getenv
    - g_strsplit
    - g_slice_new0
    linkageType: ''
    returnType: GIIrParser*
    signature: 'GIIrParser *gi_ir_parser_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/girepository/girparser.c:434,1
    - Dst: g_debug
      Src: /src/glib/girepository/girparser.c:439,1
    - Dst: g_slist_free_1
      Src: /src/glib/girepository/girparser.c:441,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 443
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 443
    functionName: pop_node
    functionSourceFile: /src/glib/girepository/girparser.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_debug
    - g_slist_free_1
    linkageType: ''
    returnType: GIIrNode*
    signature: 'static GIIrNode *pop_node (ParseContext *ctx) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:589,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:586,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:591,1
    - Dst: strlen
      Src: /src/glib/girepository/girparser.c:641,1
    - Dst: strlen
      Src: /src/glib/girepository/girparser.c:647,1
    - Dst: strlen
      Src: /src/glib/girepository/girparser.c:664,1
    - Dst: g_str_has_prefix
      Src: /src/glib/girepository/girparser.c:666,1
    - Dst: g_free
      Src: /src/glib/girepository/girparser.c:717,1
    - Dst: g_assert
      Src: /src/glib/girepository/girparser.c:676,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:617,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:629,1
    - Dst: g_strdup_printf
      Src: /src/glib/girepository/girparser.c:631,1
    - Dst: g_strdup_printf
      Src: /src/glib/girepository/girparser.c:619,1
    - Dst: strlen
      Src: /src/glib/girepository/girparser.c:654,1
    - Dst: g_str_has_prefix
      Src: /src/glib/girepository/girparser.c:657,1
    - Dst: strlen
      Src: /src/glib/girepository/girparser.c:668,1
    - Dst: g_ascii_isalnum
      Src: /src/glib/girepository/girparser.c:699,1
    - Dst: g_strndup
      Src: /src/glib/girepository/girparser.c:706,1
    - Dst: g_assert
      Src: /src/glib/girepository/girparser.c:711,1
    - Dst: gi_ir_node_new
      Src: /src/glib/girepository/girparser.c:584,1
    - Dst: parse_basic
      Src: /src/glib/girepository/girparser.c:595,1
    - Dst: strlen
      Src: /src/glib/girepository/girparser.c:602,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:611,1
    - Dst: g_strdup_printf
      Src: /src/glib/girepository/girparser.c:613,1
    - Dst: g_str_has_prefix
      Src: /src/glib/girepository/girparser.c:616,1
    - Dst: g_str_has_prefix
      Src: /src/glib/girepository/girparser.c:628,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:623,1
    - Dst: g_strdup_printf
      Src: /src/glib/girepository/girparser.c:625,1
    - Dst: g_str_has_prefix
      Src: /src/glib/girepository/girparser.c:639,1
    - Dst: g_str_has_prefix
      Src: /src/glib/girepository/girparser.c:642,1
    - Dst: g_str_has_prefix
      Src: /src/glib/girepository/girparser.c:610,1
    - Dst: g_str_has_prefix
      Src: /src/glib/girepository/girparser.c:622,1
    - Dst: g_str_has_prefix
      Src: /src/glib/girepository/girparser.c:638,1
    - Dst: strlen
      Src: /src/glib/girepository/girparser.c:673,1
    - Dst: strchr
      Src: /src/glib/girepository/girparser.c:683,1
    - Dst: g_strndup
      Src: /src/glib/girepository/girparser.c:684,1
    - Dst: g_free
      Src: /src/glib/girepository/girparser.c:686,1
    - Dst: strlen
      Src: /src/glib/girepository/girparser.c:659,1
    - Dst: g_free
      Src: /src/glib/girepository/girparser.c:712,1
    - Dst: gi_ir_node_free
      Src: /src/glib/girepository/girparser.c:716,1
    - Dst: g_strsplit
      Src: /src/glib/girepository/girparser.c:685,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 133
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 719
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 719
    functionName: parse_type_internal
    functionSourceFile: /src/glib/girepository/girparser.c
    functionUses: []
    functionsReached:
    - gi_ir_node_new
    - g_strdup
    - g_strdup_printf
    - strlen
    - g_ascii_isalnum
    - g_assert
    - g_strndup
    - strcmp
    - gi_ir_node_free
    - g_str_has_prefix
    - strchr
    - g_strsplit
    - parse_basic
    - g_free
    linkageType: ''
    returnType: GIIrNodeType*
    signature: 'static GIIrNodeType *parse_type_internal (GIIrModule *module, const
      char *str, char **next, gboolean in_glib, gboolean in_gobject) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:2917,1
    - Dst: introspectable_prelude
      Src: /src/glib/girepository/girparser.c:2924,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2928,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2927,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2929,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2930,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2931,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:2932,1
    - Dst: MISSING_ATTRIBUTE
      Src: /src/glib/girepository/girparser.c:2936,1
    - Dst: gi_ir_node_new
      Src: /src/glib/girepository/girparser.c:2940,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:2947,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:2945,1
    - Dst: push_node
      Src: /src/glib/girepository/girparser.c:2956,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:2946,1
    - Dst: g_list_append
      Src: /src/glib/girepository/girparser.c:2955,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:2944,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:2943,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 49
    argCount: 6
    argNames:
    - context
    - element_name
    - attribute_names
    - attribute_values
    - ctx
    - error
    argTypes:
    - GMarkupParseContext*
    - char*
    - char**
    - char**
    - ParseContext*
    - GError**
    constantsTouched: []
    func_position:
      end: 2958
      start: 2901
    functionDepth: 0
    functionLinenumber: 2901
    functionLinenumberEnd: 2958
    functionName: start_union
    functionSourceFile: /src/glib/girepository/girparser.c
    functionUses: []
    functionsReached:
    - gi_ir_node_new
    - g_list_append
    - g_strdup
    - strcmp
    - MISSING_ATTRIBUTE
    - introspectable_prelude
    - push_node
    - find_attribute
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean start_union (GMarkupParseContext *context, const char
      *element_name, const char **attribute_names, const char **attribute_values,
      ParseContext *ctx, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: require_one_of_end_elements
      Src: /src/glib/girepository/girparser.c:3551,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 5
    argNames:
    - context
    - ctx
    - expected_name
    - actual_name
    - error
    argTypes:
    - GMarkupParseContext*
    - ParseContext*
    - char*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 3552
      start: 3544
    functionDepth: 0
    functionLinenumber: 3544
    functionLinenumberEnd: 3552
    functionName: require_end_element
    functionSourceFile: /src/glib/girepository/girparser.c
    functionUses: []
    functionsReached:
    - require_one_of_end_elements
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean require_end_element (GMarkupParseContext *context,
      ParseContext *ctx, const char *expected_name, const char *actual_name, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/girepository/girparser.c:448,1
    - Dst: g_slist_prepend
      Src: /src/glib/girepository/girparser.c:450,1
    - Dst: g_debug
      Src: /src/glib/girepository/girparser.c:449,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - node
    argTypes:
    - ParseContext*
    - GIIrNode*
    constantsTouched: []
    func_position:
      end: 451
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 451
    functionName: push_node
    functionSourceFile: /src/glib/girepository/girparser.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_debug
    - g_slist_prepend
    linkageType: ''
    returnType: void
    signature: 'static void push_node (ParseContext *ctx, GIIrNode *node) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/glib/girepository/girparser.c:730,1
    - Dst: g_strdup_printf
      Src: /src/glib/girepository/girparser.c:732,1
    - Dst: g_hash_table_lookup_extended
      Src: /src/glib/girepository/girparser.c:742,1
    - Dst: g_slist_prepend
      Src: /src/glib/girepository/girparser.c:741,1
    - Dst: g_debug
      Src: /src/glib/girepository/girparser.c:744,1
    - Dst: g_slist_find_custom
      Src: /src/glib/girepository/girparser.c:746,1
    - Dst: g_slist_prepend
      Src: /src/glib/girepository/girparser.c:749,1
    - Dst: g_slist_free
      Src: /src/glib/girepository/girparser.c:751,1
    - Dst: g_free
      Src: /src/glib/girepository/girparser.c:756,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 759
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 759
    functionName: resolve_aliases
    functionSourceFile: /src/glib/girepository/girparser.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_hash_table_lookup_extended
    - g_debug
    - g_free
    - strchr
    - g_slist_find_custom
    - g_slist_free
    - g_slist_prepend
    linkageType: ''
    returnType: char*
    signature: 'static const char *resolve_aliases (ParseContext *ctx, const char
      *type) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:853,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:862,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:860,1
    - Dst: introspectable_prelude
      Src: /src/glib/girepository/girparser.c:857,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:861,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:863,1
    - Dst: MISSING_ATTRIBUTE
      Src: /src/glib/girepository/girparser.c:867,1
    - Dst: MISSING_ATTRIBUTE
      Src: /src/glib/girepository/girparser.c:872,1
    - Dst: MISSING_ATTRIBUTE
      Src: /src/glib/girepository/girparser.c:877,1
    - Dst: gi_ir_node_new
      Src: /src/glib/girepository/girparser.c:881,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:885,1
    - Dst: push_node
      Src: /src/glib/girepository/girparser.c:892,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:886,1
    - Dst: g_list_append
      Src: /src/glib/girepository/girparser.c:894,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:884,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 38
    argCount: 6
    argNames:
    - context
    - element_name
    - attribute_names
    - attribute_values
    - ctx
    - error
    argTypes:
    - GMarkupParseContext*
    - char*
    - char**
    - char**
    - ParseContext*
    - GError**
    constantsTouched: []
    func_position:
      end: 897
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 897
    functionName: start_glib_boxed
    functionSourceFile: /src/glib/girepository/girparser.c
    functionUses: []
    functionsReached:
    - gi_ir_node_new
    - g_list_append
    - g_strdup
    - strcmp
    - MISSING_ATTRIBUTE
    - introspectable_prelude
    - push_node
    - find_attribute
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean start_glib_boxed (GMarkupParseContext *context, const
      char *element_name, const char **attribute_names, const char **attribute_values,
      ParseContext *ctx, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CURRENT_NODE
      Src: /src/glib/girepository/girparser.c:1162,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:1170,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:1180,1
    - Dst: g_debug
      Src: /src/glib/girepository/girparser.c:1164,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:1175,1
    - Dst: CURRENT_NODE
      Src: /src/glib/girepository/girparser.c:1187,1
    - Dst: g_warning
      Src: /src/glib/girepository/girparser.c:1189,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 3
    argNames:
    - property
    - transfer
    - ctx
    argTypes:
    - GIIrNodeProperty*
    - char*
    - ParseContext*
    constantsTouched: []
    func_position:
      end: 1193
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1193
    functionName: parse_property_transfer
    functionSourceFile: /src/glib/girepository/girparser.c
    functionUses: []
    functionsReached:
    - CURRENT_NODE
    - g_debug
    - strcmp
    - g_warning
    linkageType: ''
    returnType: void
    signature: 'static void parse_property_transfer (GIIrNodeProperty *property, const
      char *transfer, ParseContext *ctx) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:1486,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:1497,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:1496,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:1499,1
    - Dst: CURRENT_NODE
      Src: /src/glib/girepository/girparser.c:1550,1
    - Dst: g_list_append
      Src: /src/glib/girepository/girparser.c:1551,1
    - Dst: CURRENT_NODE
      Src: /src/glib/girepository/girparser.c:1566,1
    - Dst: g_list_append
      Src: /src/glib/girepository/girparser.c:1567,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:1582,1
    - Dst: g_assert
      Src: /src/glib/girepository/girparser.c:1489,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:1523,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:1524,1
    - Dst: g_ascii_string_to_unsigned
      Src: /src/glib/girepository/girparser.c:1528,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:1519,1
    - Dst: gi_ir_node_new
      Src: /src/glib/girepository/girparser.c:1580,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:1583,1
    - Dst: g_assert_not_reached
      Src: /src/glib/girepository/girparser.c:1592,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:1498,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:1500,1
    - Dst: gi_ir_node_new
      Src: /src/glib/girepository/girparser.c:1508,1
    - Dst: CURRENT_NODE
      Src: /src/glib/girepository/girparser.c:1536,1
    - Dst: CURRENT_NODE
      Src: /src/glib/girepository/girparser.c:1542,1
    - Dst: g_list_append
      Src: /src/glib/girepository/girparser.c:1543,1
    - Dst: g_list_append
      Src: /src/glib/girepository/girparser.c:1587,1
    - Dst: introspectable_prelude
      Src: /src/glib/girepository/girparser.c:1494,1
    - Dst: MISSING_ATTRIBUTE
      Src: /src/glib/girepository/girparser.c:1504,1
    - Dst: parse_type
      Src: /src/glib/girepository/girparser.c:1516,1
    - Dst: gi_ir_node_free
      Src: /src/glib/girepository/girparser.c:1532,1
    - Dst: CURRENT_NODE
      Src: /src/glib/girepository/girparser.c:1558,1
    - Dst: g_list_append
      Src: /src/glib/girepository/girparser.c:1559,1
    - Dst: CURRENT_NODE
      Src: /src/glib/girepository/girparser.c:1574,1
    - Dst: g_list_append
      Src: /src/glib/girepository/girparser.c:1575,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 90
    argCount: 6
    argNames:
    - context
    - element_name
    - attribute_names
    - attribute_values
    - ctx
    - error
    argTypes:
    - GMarkupParseContext*
    - char*
    - char**
    - char**
    - ParseContext*
    - GError**
    constantsTouched: []
    func_position:
      end: 1596
      start: 1447
    functionDepth: 0
    functionLinenumber: 1447
    functionLinenumberEnd: 1596
    functionName: start_field
    functionSourceFile: /src/glib/girepository/girparser.c
    functionUses: []
    functionsReached:
    - gi_ir_node_new
    - CURRENT_NODE
    - g_list_append
    - g_strdup
    - g_assert
    - parse_type
    - g_ascii_string_to_unsigned
    - strcmp
    - gi_ir_node_free
    - g_assert_not_reached
    - MISSING_ATTRIBUTE
    - introspectable_prelude
    - find_attribute
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean start_field (GMarkupParseContext *context, const char
      *element_name, const char **attribute_names, const char **attribute_values,
      ParseContext *ctx, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/glib/girepository/girparser.c:1770,1
    - Dst: g_ascii_strtoll
      Src: /src/glib/girepository/girparser.c:1776,1
    - Dst: g_ascii_strtoll
      Src: /src/glib/girepository/girparser.c:1777,1
    - Dst: g_ascii_strtoll
      Src: /src/glib/girepository/girparser.c:1782,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1785
      start: 1764
    functionDepth: 0
    functionLinenumber: 1764
    functionLinenumberEnd: 1785
    functionName: parse_value
    functionSourceFile: /src/glib/girepository/girparser.c
    functionUses: []
    functionsReached:
    - strstr
    - g_ascii_strtoll
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t parse_value (const char *str) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: parse_type
      Src: /src/glib/girepository/girparser.c:2319,1
    - Dst: g_printerr
      Src: /src/glib/girepository/girparser.c:2357,1
    - Dst: parse_type
      Src: /src/glib/girepository/girparser.c:2326,1
    - Dst: parse_type
      Src: /src/glib/girepository/girparser.c:2325,1
    - Dst: CURRENT_NODE
      Src: /src/glib/girepository/girparser.c:2357,1
    - Dst: g_assert_not_reached
      Src: /src/glib/girepository/girparser.c:2358,1
    - Dst: g_list_free
      Src: /src/glib/girepository/girparser.c:2360,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 36
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - ParseContext*
    constantsTouched: []
    func_position:
      end: 2366
      start: 2303
    functionDepth: 0
    functionLinenumber: 2303
    functionLinenumberEnd: 2366
    functionName: end_type_top
    functionSourceFile: /src/glib/girepository/girparser.c
    functionUses: []
    functionsReached:
    - CURRENT_NODE
    - g_printerr
    - parse_type
    - g_assert_not_reached
    - g_list_free
    linkageType: ''
    returnType: void
    signature: 'static void end_type_top (ParseContext *ctx) '
  - BBCount: 73
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:3154,1
    - Dst: g_set_error
      Src: /src/glib/girepository/girparser.c:3300,1
    - Dst: start_field
      Src: /src/glib/girepository/girparser.c:3179,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:3395,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:3410,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:3367,1
    - Dst: g_string_truncate
      Src: /src/glib/girepository/girparser.c:3097,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:3153,1
    - Dst: start_enum
      Src: /src/glib/girepository/girparser.c:3162,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:3246,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:3254,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:3329,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:3374,1
    - Dst: g_printerr
      Src: /src/glib/girepository/girparser.c:3449,1
    - Dst: start_function
      Src: /src/glib/girepository/girparser.c:3259,1
    - Dst: start_implements
      Src: /src/glib/girepository/girparser.c:3238,1
    - Dst: start_property
      Src: /src/glib/girepository/girparser.c:3336,1
    - Dst: g_ptr_array_ref
      Src: /src/glib/girepository/girparser.c:3326,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:3284,1
    - Dst: g_list_free
      Src: /src/glib/girepository/girparser.c:3318,1
    - Dst: g_string_insert_c
      Src: /src/glib/girepository/girparser.c:3096,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:3114,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:3371,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:3388,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:3112,1
    - Dst: start_type
      Src: /src/glib/girepository/girparser.c:3117,1
    - Dst: start_glib_signal
      Src: /src/glib/girepository/girparser.c:3190,1
    - Dst: MISSING_ATTRIBUTE
      Src: /src/glib/girepository/girparser.c:3208,1
    - Dst: MISSING_ATTRIBUTE
      Src: /src/glib/girepository/girparser.c:3292,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:3358,1
    - Dst: start_struct
      Src: /src/glib/girepository/girparser.c:3403,1
    - Dst: g_str_has_prefix
      Src: /src/glib/girepository/girparser.c:3448,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:3452,1
    - Dst: start_function
      Src: /src/glib/girepository/girparser.c:3133,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:3152,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:3285,1
    - Dst: g_list_append
      Src: /src/glib/girepository/girparser.c:3367,1
    - Dst: start_union
      Src: /src/glib/girepository/girparser.c:3417,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:3412,1
    - Dst: MISSING_ATTRIBUTE
      Src: /src/glib/girepository/girparser.c:3361,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:3299,1
    - Dst: g_markup_parse_context_get_position
      Src: /src/glib/girepository/girparser.c:3447,1
    - Dst: g_printerr
      Src: /src/glib/girepository/girparser.c:3461,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:3204,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:3351,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:3289,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:3270,1
    - Dst: g_string_new
      Src: /src/glib/girepository/girparser.c:3087,1
    - Dst: start_class
      Src: /src/glib/girepository/girparser.c:3141,1
    - Dst: start_vfunc
      Src: /src/glib/girepository/girparser.c:3431,1
    - Dst: start_interface
      Src: /src/glib/girepository/girparser.c:3234,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:3384,1
    - Dst: g_string_append_printf
      Src: /src/glib/girepository/girparser.c:3090,1
    - Dst: MISSING_ATTRIBUTE
      Src: /src/glib/girepository/girparser.c:3213,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:3256,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:3283,1
    - Dst: MISSING_ATTRIBUTE
      Src: /src/glib/girepository/girparser.c:3387,1
    - Dst: g_set_error
      Src: /src/glib/girepository/girparser.c:3389,1
    - Dst: CURRENT_NODE
      Src: /src/glib/girepository/girparser.c:3366,1
    - Dst: g_string_free
      Src: /src/glib/girepository/girparser.c:3100,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:3231,1
    - Dst: start_instance_parameter
      Src: /src/glib/girepository/girparser.c:3242,1
    - Dst: start_member
      Src: /src/glib/girepository/girparser.c:3263,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:3343,1
    - Dst: g_list_append
      Src: /src/glib/girepository/girparser.c:3321,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:3340,1
    - Dst: g_strdup_printf
      Src: /src/glib/girepository/girparser.c:3229,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:3169,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:3172,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:3197,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:3153,1
    - Dst: start_constant
      Src: /src/glib/girepository/girparser.c:3137,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:3170,1
    - Dst: start_function
      Src: /src/glib/girepository/girparser.c:3175,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:3356,1
    - Dst: gi_ir_module_add_include_module
      Src: /src/glib/girepository/girparser.c:3316,1
    - Dst: g_set_error
      Src: /src/glib/girepository/girparser.c:3219,1
    - Dst: g_set_error
      Src: /src/glib/girepository/girparser.c:3276,1
    - Dst: gi_ir_module_new
      Src: /src/glib/girepository/girparser.c:3306,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:3248,1
    - Dst: start_discriminator
      Src: /src/glib/girepository/girparser.c:3148,1
    - Dst: start_enum
      Src: /src/glib/girepository/girparser.c:3127,1
    - Dst: start_glib_boxed
      Src: /src/glib/girepository/girparser.c:3186,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:3203,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:3380,1
    - Dst: start_return_value
      Src: /src/glib/girepository/girparser.c:3399,1
    - Dst: start_type
      Src: /src/glib/girepository/girparser.c:3424,1
    - Dst: g_markup_parse_context_get_position
      Src: /src/glib/girepository/girparser.c:3459,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/girparser.c:3325,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:3152,1
    - Dst: start_type
      Src: /src/glib/girepository/girparser.c:3435,1
    - Dst: MISSING_ATTRIBUTE
      Src: /src/glib/girepository/girparser.c:3294,1
    - Dst: g_ptr_array_insert
      Src: /src/glib/girepository/girparser.c:3228,1
    - Dst: parse_include
      Src: /src/glib/girepository/girparser.c:3217,1
    - Dst: g_debug
      Src: /src/glib/girepository/girparser.c:3099,1
    - Dst: start_attribute
      Src: /src/glib/girepository/girparser.c:3121,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:3156,1
    - Dst: start_parameter
      Src: /src/glib/girepository/girparser.c:3347,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:3286,1
    CyclomaticComplexity: 147
    EdgeCount: 147
    ICount: 205
    argCount: 6
    argNames:
    - context
    - element_name
    - attribute_names
    - attribute_values
    - user_data
    - error
    argTypes:
    - GMarkupParseContext*
    - char*
    - char**
    - char**
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 3463
      start: 3075
    functionDepth: 0
    functionLinenumber: 3075
    functionLinenumberEnd: 3463
    functionName: start_element_handler
    functionSourceFile: /src/glib/girepository/girparser.c
    functionUses: []
    functionsReached:
    - CURRENT_NODE
    - g_strdup_printf
    - g_printerr
    - start_attribute
    - parse_include
    - start_property
    - start_interface
    - find_attribute
    - strcmp
    - start_glib_signal
    - start_union
    - gi_ir_module_new
    - start_struct
    - gi_ir_module_add_include_module
    - g_ptr_array_insert
    - start_function
    - start_return_value
    - start_glib_boxed
    - MISSING_ATTRIBUTE
    - g_string_truncate
    - g_string_insert_c
    - g_list_append
    - g_ptr_array_ref
    - g_markup_parse_context_get_position
    - start_enum
    - start_vfunc
    - g_clear_pointer
    - g_list_free
    - state_switch
    - start_discriminator
    - g_set_error
    - g_strdup
    - start_type
    - start_class
    - g_string_new
    - g_string_append_printf
    - start_member
    - start_parameter
    - start_constant
    - start_implements
    - g_debug
    - g_str_has_prefix
    - g_string_free
    - start_instance_parameter
    - start_field
    linkageType: ''
    returnType: void
    signature: 'static void start_element_handler (GMarkupParseContext *context, const
      char *element_name, const char **attribute_names, const char **attribute_values,
      gpointer user_data, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:412,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 416
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 416
    functionName: find_attribute
    functionSourceFile: /src/glib/girepository/girparser.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: char*
    signature: 'static const char *find_attribute (const char *name, const char **attribute_names,
      const char **attribute_values) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/glib/girepository/girparser.c:770,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/girepository/girparser.c:784,1
    - Dst: g_free
      Src: /src/glib/girepository/girparser.c:786,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/girepository/girparser.c:782,1
    - Dst: g_strdup_printf
      Src: /src/glib/girepository/girparser.c:772,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 4
    argNames:
    - ctx
    - type
    - is_pointer
    - is_disguised
    argTypes:
    - ParseContext*
    - char*
    - gboolean*
    - gboolean*
    constantsTouched: []
    func_position:
      end: 787
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 787
    functionName: is_pointer_or_disguised_structure
    functionSourceFile: /src/glib/girepository/girparser.c
    functionUses: []
    functionsReached:
    - strchr
    - g_free
    - g_strdup_printf
    - g_hash_table_lookup
    linkageType: ''
    returnType: void
    signature: 'static void is_pointer_or_disguised_structure (ParseContext *ctx,
      const char *type, gboolean *is_pointer, gboolean *is_disguised) '
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:925,1
    - Dst: MISSING_ATTRIBUTE
      Src: /src/glib/girepository/girparser.c:973,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:989,1
    - Dst: INVALID_ATTRIBUTE
      Src: /src/glib/girepository/girparser.c:1006,1
    - Dst: INVALID_ATTRIBUTE
      Src: /src/glib/girepository/girparser.c:1021,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:1028,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:1042,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:1059,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:1080,1
    - Dst: CURRENT_NODE
      Src: /src/glib/girepository/girparser.c:1132,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:1084,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:936,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:938,1
    - Dst: introspectable_prelude
      Src: /src/glib/girepository/girparser.c:955,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:968,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:966,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:961,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:964,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:976,1
    - Dst: MISSING_ATTRIBUTE
      Src: /src/glib/girepository/girparser.c:978,1
    - Dst: gi_ir_node_new
      Src: /src/glib/girepository/girparser.c:985,1
    - Dst: G_UNLIKELY
      Src: /src/glib/girepository/girparser.c:1019,1
    - Dst: CURRENT_NODE
      Src: /src/glib/girepository/girparser.c:1141,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:988,1
    - Dst: g_list_append
      Src: /src/glib/girepository/girparser.c:1110,1
    - Dst: g_list_append
      Src: /src/glib/girepository/girparser.c:1142,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:931,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:1013,1
    - Dst: INVALID_ATTRIBUTE
      Src: /src/glib/girepository/girparser.c:1035,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:1045,1
    - Dst: G_UNLIKELY
      Src: /src/glib/girepository/girparser.c:1004,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:1050,1
    - Dst: G_UNLIKELY
      Src: /src/glib/girepository/girparser.c:1033,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:1065,1
    - Dst: g_list_append
      Src: /src/glib/girepository/girparser.c:1092,1
    - Dst: CURRENT_NODE
      Src: /src/glib/girepository/girparser.c:1117,1
    - Dst: g_list_append
      Src: /src/glib/girepository/girparser.c:1126,1
    - Dst: g_list_append
      Src: /src/glib/girepository/girparser.c:1133,1
    - Dst: CURRENT_NODE
      Src: /src/glib/girepository/girparser.c:1102,1
    - Dst: CURRENT_NODE
      Src: /src/glib/girepository/girparser.c:1109,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:924,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:937,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:941,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:945,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:960,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:969,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:963,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:967,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:965,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:962,1
    - Dst: CURRENT_NODE
      Src: /src/glib/girepository/girparser.c:1125,1
    - Dst: g_assert_not_reached
      Src: /src/glib/girepository/girparser.c:1146,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:1046,1
    - Dst: push_node
      Src: /src/glib/girepository/girparser.c:1149,1
    - Dst: g_list_append
      Src: /src/glib/girepository/girparser.c:1118,1
    CyclomaticComplexity: 75
    EdgeCount: 75
    ICount: 179
    argCount: 6
    argNames:
    - context
    - element_name
    - attribute_names
    - attribute_values
    - ctx
    - error
    argTypes:
    - GMarkupParseContext*
    - char*
    - char**
    - char**
    - ParseContext*
    - GError**
    constantsTouched: []
    func_position:
      end: 1152
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 1152
    functionName: start_function
    functionSourceFile: /src/glib/girepository/girparser.c
    functionUses: []
    functionsReached:
    - gi_ir_node_new
    - g_list_append
    - CURRENT_NODE
    - g_strdup
    - strcmp
    - INVALID_ATTRIBUTE
    - g_assert_not_reached
    - G_UNLIKELY
    - MISSING_ATTRIBUTE
    - introspectable_prelude
    - push_node
    - find_attribute
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean start_function (GMarkupParseContext *context, const
      char *element_name, const char **attribute_names, const char **attribute_values,
      ParseContext *ctx, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/girepository/girparser.c:1201,1
    - Dst: g_set_error
      Src: /src/glib/girepository/girparser.c:1223,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:1216,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:1211,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:1206,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 4
    argNames:
    - param
    - transfer
    - name
    - error
    argTypes:
    - GIIrNodeParam*
    - char*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 1229
      start: 1195
    functionDepth: 0
    functionLinenumber: 1195
    functionLinenumberEnd: 1229
    functionName: parse_param_transfer
    functionSourceFile: /src/glib/girepository/girparser.c
    functionUses: []
    functionsReached:
    - g_set_error
    - strcmp
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean parse_param_transfer (GIIrNodeParam *param, const
      char *transfer, const char *name, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:1608,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:1615,1
    - Dst: state_switch
      Src: /src/glib/girepository/girparser.c:1616,1
    - Dst: MISSING_ATTRIBUTE
      Src: /src/glib/girepository/girparser.c:1611,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 9
    argCount: 6
    argNames:
    - context
    - element_name
    - attribute_names
    - attribute_values
    - ctx
    - error
    argTypes:
    - GMarkupParseContext*
    - char*
    - char**
    - char**
    - ParseContext*
    - GError**
    constantsTouched: []
    func_position:
      end: 1619
      start: 1598
    functionDepth: 0
    functionLinenumber: 1598
    functionLinenumberEnd: 1619
    functionName: start_alias
    functionSourceFile: /src/glib/girepository/girparser.c
    functionUses: []
    functionsReached:
    - g_strdup
    - MISSING_ATTRIBUTE
    - state_switch
    - find_attribute
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean start_alias (GMarkupParseContext *context, const char
      *element_name, const char **attribute_names, const char **attribute_values,
      ParseContext *ctx, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:1802,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:1807,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:1808,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:1809,1
    - Dst: find_attribute
      Src: /src/glib/girepository/girparser.c:1806,1
    - Dst: MISSING_ATTRIBUTE
      Src: /src/glib/girepository/girparser.c:1813,1
    - Dst: gi_ir_node_new
      Src: /src/glib/girepository/girparser.c:1817,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:1820,1
    - Dst: parse_value
      Src: /src/glib/girepository/girparser.c:1822,1
    - Dst: g_hash_table_insert
      Src: /src/glib/girepository/girparser.c:1829,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:1831,1
    - Dst: CURRENT_NODE
      Src: /src/glib/girepository/girparser.c:1833,1
    - Dst: g_list_append
      Src: /src/glib/girepository/girparser.c:1834,1
    - Dst: g_strdup
      Src: /src/glib/girepository/girparser.c:1830,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 32
    argCount: 6
    argNames:
    - context
    - element_name
    - attribute_names
    - attribute_values
    - ctx
    - error
    argTypes:
    - GMarkupParseContext*
    - char*
    - char**
    - char**
    - ParseContext*
    - GError**
    constantsTouched: []
    func_position:
      end: 1837
      start: 1787
    functionDepth: 0
    functionLinenumber: 1787
    functionLinenumberEnd: 1837
    functionName: start_member
    functionSourceFile: /src/glib/girepository/girparser.c
    functionUses: []
    functionsReached:
    - gi_ir_node_new
    - CURRENT_NODE
    - g_list_append
    - g_strdup
    - strcmp
    - g_hash_table_insert
    - parse_value
    - MISSING_ATTRIBUTE
    - find_attribute
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean start_member (GMarkupParseContext *context, const
      char *element_name, const char **attribute_names, const char **attribute_values,
      ParseContext *ctx, GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/girepository/girparser.c:2382,1
    - Dst: g_assert_not_reached
      Src: /src/glib/girepository/girparser.c:2398,1
    - Dst: g_assert_not_reached
      Src: /src/glib/girepository/girparser.c:2387,1
    - Dst: g_assert
      Src: /src/glib/girepository/girparser.c:2391,1
    - Dst: g_list_free
      Src: /src/glib/girepository/girparser.c:2400,1
    - Dst: g_list_delete_link
      Src: /src/glib/girepository/girparser.c:2402,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - ParseContext*
    constantsTouched: []
    func_position:
      end: 2403
      start: 2368
    functionDepth: 0
    functionLinenumber: 2368
    functionLinenumberEnd: 2403
    functionName: end_type_recurse
    functionSourceFile: /src/glib/girepository/girparser.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_list_free
    - g_list_delete_link
    - g_assert_not_reached
    linkageType: ''
    returnType: void
    signature: 'static void end_type_recurse (ParseContext *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/girepository/girparser.c:3477,1
    - Dst: g_markup_parse_context_get_position
      Src: /src/glib/girepository/girparser.c:3493,1
    - Dst: va_end
      Src: /src/glib/girepository/girparser.c:3488,1
    - Dst: strcmp
      Src: /src/glib/girepository/girparser.c:3481,1
    - Dst: va_arg
      Src: /src/glib/girepository/girparser.c:3479,1
    - Dst: g_set_error
      Src: /src/glib/girepository/girparser.c:3494,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 4
    argNames:
    - context
    - ctx
    - actual_name
    - error
    - '...'
    argTypes:
    - GMarkupParseContext*
    - ParseContext*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 3501
      start: 3465
    functionDepth: 0
    functionLinenumber: 3465
    functionLinenumberEnd: 3501
    functionName: require_one_of_end_elements
    functionSourceFile: /src/glib/girepository/girparser.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_markup_parse_context_get_position
    - strcmp
    - va_arg
    - va_end
    - va_start
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean require_one_of_end_elements (GMarkupParseContext *context,
      ParseContext *ctx, const char *actual_name, GError **error, ...) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_str_has_suffix
      Src: /src/glib/girepository/girparser.c:4002,1
    - Dst: strlen
      Src: /src/glib/girepository/girparser.c:4014,1
    - Dst: g_debug
      Src: /src/glib/girepository/girparser.c:4011,1
    - Dst: g_path_get_basename
      Src: /src/glib/girepository/girparser.c:4013,1
    - Dst: g_set_error
      Src: /src/glib/girepository/girparser.c:4004,1
    - Dst: strstr
      Src: /src/glib/girepository/girparser.c:4017,1
    - Dst: g_file_get_contents
      Src: /src/glib/girepository/girparser.c:4021,1
    - Dst: g_free
      Src: /src/glib/girepository/girparser.c:4023,1
    - Dst: gi_ir_parser_parse_string
      Src: /src/glib/girepository/girparser.c:4028,1
    - Dst: g_free
      Src: /src/glib/girepository/girparser.c:4030,1
    - Dst: g_free
      Src: /src/glib/girepository/girparser.c:4032,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4035
      start: 3991
    functionDepth: 0
    functionLinenumber: 3991
    functionLinenumberEnd: 4035
    functionName: gi_ir_parser_parse_file
    functionSourceFile: /src/glib/girepository/girparser.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_path_get_basename
    - strlen
    - g_str_has_suffix
    - g_debug
    - g_file_get_contents
    - gi_ir_parser_parse_string
    - g_free
    - strstr
    linkageType: ''
    returnType: GIIrModule*
    signature: 'GIIrModule *gi_ir_parser_parse_file (GIIrParser *parser, const char
      *filename, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_slist
      Src: /src/glib/girepository/girparser.c:3873,1
    - Dst: gi_ir_module_free
      Src: /src/glib/girepository/girparser.c:3876,1
    - Dst: g_list_free
      Src: /src/glib/girepository/girparser.c:3877,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - context
    - error
    - user_data
    argTypes:
    - GMarkupParseContext*
    - GError*
    - void*
    constantsTouched: []
    func_position:
      end: 3881
      start: 3865
    functionDepth: 0
    functionLinenumber: 3865
    functionLinenumberEnd: 3881
    functionName: cleanup
    functionSourceFile: /src/glib/girepository/girparser.c
    functionUses: []
    functionsReached:
    - g_list_free
    - gi_ir_module_free
    - g_clear_slist
    linkageType: ''
    returnType: void
    signature: 'static void cleanup (GMarkupParseContext *context, GError *error,
      void *user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DECLARE_FINAL_TYPE
      Src: /src/glib/girepository/girepository.h:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ()
    argTypes:
    - gi_repository_get_type
    constantsTouched: []
    func_position:
      end: 75
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 75
    functionName: GI_TYPE_REPOSITORY
    functionSourceFile: /src/glib/girepository/girepository.h
    functionUses: []
    functionsReached:
    - G_DECLARE_FINAL_TYPE
    linkageType: ''
    returnType: G_BEGIN_DECLS
    signature: 'G_BEGIN_DECLS #define GI_TYPE_REPOSITORY (gi_repository_get_type ())GI_AVAILABLE_IN_ALLG_DECLARE_FINAL_TYPE
      (GIRepository, gi_repository, GI, REPOSITORY, GObject)/** * GIRepositoryLoadFlags:
      * @GI_REPOSITORY_LOAD_FLAG_NONE: No flags set. * @GI_REPOSITORY_LOAD_FLAG_LAZY:
      Lazily load the typelib. * * Flags that control how a typelib is loaded. * *
      Since: 2.80 */typedef enum '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - g_class
    - class_data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: gi_flags_info_class_init
    functionSourceFile: /src/glib/girepository/giflagsinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gi_flags_info_class_init (gpointer g_class, gpointer class_data) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 1
    argNames:
    - blob_type
    argTypes:
    - GITypelibBlobType
    constantsTouched: []
    func_position:
      end: 215
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 215
    functionName: _blob_is_registered_type
    functionSourceFile: /src/glib/girepository/gitypelib-internal.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: G_ALWAYS_INLINE
    signature: 'G_ALWAYS_INLINE static inline gboolean _blob_is_registered_type (GITypelibBlobType
      blob_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gifunctioninfo.c:210,1
    - Dst: GI_IS_FUNCTION_INFO
      Src: /src/glib/girepository/gifunctioninfo.c:211,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gifunctioninfo.c:211,1
    - Dst: gi_interface_info_get_vfunc
      Src: /src/glib/girepository/gifunctioninfo.c:217,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 218
    functionName: gi_function_info_get_vfunc
    functionSourceFile: /src/glib/girepository/gifunctioninfo.c
    functionUses: []
    functionsReached:
    - gi_interface_info_get_vfunc
    - g_return_val_if_fail
    - GI_IS_FUNCTION_INFO
    linkageType: ''
    returnType: GIVFuncInfo*
    signature: 'GIVFuncInfo *gi_function_info_get_vfunc (GIFunctionInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gifunctioninfo.c:93,1
    - Dst: gi_typelib_get_string
      Src: /src/glib/girepository/gifunctioninfo.c:99,1
    - Dst: GI_IS_FUNCTION_INFO
      Src: /src/glib/girepository/gifunctioninfo.c:94,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gifunctioninfo.c:94,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 100
    functionName: gi_function_info_get_symbol
    functionSourceFile: /src/glib/girepository/gifunctioninfo.c
    functionUses: []
    functionsReached:
    - gi_typelib_get_string
    - g_return_val_if_fail
    - GI_IS_FUNCTION_INFO
    linkageType: ''
    returnType: char*
    signature: 'const char *gi_function_info_get_symbol (GIFunctionInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_quark_from_static_string
      Src: /src/glib/girepository/gifunctioninfo.c:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 235
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 235
    functionName: gi_invoke_error_quark
    functionSourceFile: /src/glib/girepository/gifunctioninfo.c
    functionUses: []
    functionsReached:
    - g_quark_from_static_string
    linkageType: ''
    returnType: GQuark
    signature: 'GQuark gi_invoke_error_quark (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - g_class
    - class_data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 307
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 307
    functionName: gi_function_info_class_init
    functionSourceFile: /src/glib/girepository/gifunctioninfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gi_function_info_class_init (gpointer g_class, gpointer class_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/girepository/gifunctioninfo.c:65,1
    - Dst: gi_base_info_new
      Src: /src/glib/girepository/gifunctioninfo.c:66,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 73
    functionName: gi_base_info_find_method
    functionSourceFile: /src/glib/girepository/gifunctioninfo.c
    functionUses: []
    functionsReached:
    - gi_base_info_new
    - strcmp
    linkageType: ''
    returnType: GIFunctionInfo*
    signature: 'GIFunctionInfo *gi_base_info_find_method (GIBaseInfo *base, uint32_t
      offset, uint16_t n_methods, const char *name) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gifunctioninfo.c:118,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gifunctioninfo.c:119,1
    - Dst: GI_IS_FUNCTION_INFO
      Src: /src/glib/girepository/gifunctioninfo.c:119,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 1
    argNames:
    - info
    argTypes:
    - GIFunctionInfo*
    constantsTouched: []
    func_position:
      end: 146
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 146
    functionName: gi_function_info_get_flags
    functionSourceFile: /src/glib/girepository/gifunctioninfo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - GI_IS_FUNCTION_INFO
    linkageType: ''
    returnType: GIFunctionInfoFlags
    signature: 'GIFunctionInfoFlags gi_function_info_get_flags (GIFunctionInfo *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gifunctioninfo.c:168,1
    - Dst: gi_base_info_get_info_type
      Src: /src/glib/girepository/gifunctioninfo.c:174,1
    - Dst: GI_IS_FUNCTION_INFO
      Src: /src/glib/girepository/gifunctioninfo.c:169,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/girepository/gifunctioninfo.c:169,1
    - Dst: gi_interface_info_get_property
      Src: /src/glib/girepository/gifunctioninfo.c:178,1
    - Dst: gi_base_info_get_info_type
      Src: /src/glib/girepository/gifunctioninfo.c:180,1
    - Dst: gi_object_info_get_property
      Src: /src/glib/girepository/gifunctioninfo.c:184,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 188
    functionName: gi_function_info_get_property
    functionSourceFile: /src/glib/girepository/gifunctioninfo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - gi_interface_info_get_property
    - gi_base_info_get_info_type
    - gi_object_info_get_property
    - GI_IS_FUNCTION_INFO
    linkageType: ''
    returnType: GIPropertyInfo*
    signature: 'GIPropertyInfo *gi_function_info_get_property (GIFunctionInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gi_function_info_get_symbol
      Src: /src/glib/girepository/gifunctioninfo.c:277,1
    - Dst: g_module_error
      Src: /src/glib/girepository/gifunctioninfo.c:285,1
    - Dst: gi_base_info_get_typelib
      Src: /src/glib/girepository/gifunctioninfo.c:279,1
    - Dst: gi_typelib_symbol
      Src: /src/glib/girepository/gifunctioninfo.c:279,1
    - Dst: g_set_error
      Src: /src/glib/girepository/gifunctioninfo.c:282,1
    - Dst: gi_callable_info_invoke
      Src: /src/glib/girepository/gifunctioninfo.c:290,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 7
    argNames:
    - info
    - in_args
    - n_in_args
    - out_args
    - n_out_args
    - return_value
    - error
    argTypes:
    - GIFunctionInfo*
    - GIArgument*
    - size_t
    - GIArgument*
    - size_t
    - GIArgument*
    - GError**
    constantsTouched: []
    func_position:
      end: 298
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 298
    functionName: gi_function_info_invoke
    functionSourceFile: /src/glib/girepository/gifunctioninfo.c
    functionUses: []
    functionsReached:
    - g_set_error
    - gi_callable_info_invoke
    - gi_function_info_get_symbol
    - g_module_error
    - gi_base_info_get_typelib
    - gi_typelib_symbol
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean gi_function_info_invoke (GIFunctionInfo *info, const GIArgument
      *in_args, size_t n_in_args, GIArgument *out_args, size_t n_out_args, GIArgument
      *return_value, GError **error) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/girepository/decompiler/decompiler.c:64,1
    - Dst: _
      Src: /src/glib/girepository/decompiler/decompiler.c:70,1
    - Dst: g_fprintf
      Src: /src/glib/girepository/decompiler/decompiler.c:71,1
    - Dst: g_free
      Src: /src/glib/girepository/decompiler/decompiler.c:66,1
    - Dst: g_fprintf
      Src: /src/glib/girepository/decompiler/decompiler.c:86,1
    - Dst: _
      Src: /src/glib/girepository/decompiler/decompiler.c:86,1
    - Dst: gi_repository_new
      Src: /src/glib/girepository/decompiler/decompiler.c:91,1
    - Dst: g_error
      Src: /src/glib/girepository/decompiler/decompiler.c:112,1
    - Dst: g_mapped_file_get_bytes
      Src: /src/glib/girepository/decompiler/decompiler.c:114,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/decompiler/decompiler.c:115,1
    - Dst: g_fprintf
      Src: /src/glib/girepository/decompiler/decompiler.c:136,1
    - Dst: N_
      Src: /src/glib/girepository/decompiler/decompiler.c:51,1
    - Dst: N_
      Src: /src/glib/girepository/decompiler/decompiler.c:53,1
    - Dst: N_
      Src: /src/glib/girepository/decompiler/decompiler.c:54,1
    - Dst: _
      Src: /src/glib/girepository/decompiler/decompiler.c:64,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/girepository/decompiler/decompiler.c:67,1
    - Dst: g_strdup_printf
      Src: /src/glib/girepository/decompiler/decompiler.c:70,1
    - Dst: g_error_free
      Src: /src/glib/girepository/decompiler/decompiler.c:73,1
    - Dst: g_mapped_file_new
      Src: /src/glib/girepository/decompiler/decompiler.c:110,1
    - Dst: gi_typelib_new_from_bytes
      Src: /src/glib/girepository/decompiler/decompiler.c:122,1
    - Dst: g_error
      Src: /src/glib/girepository/decompiler/decompiler.c:124,1
    - Dst: N_
      Src: /src/glib/girepository/decompiler/decompiler.c:51,1
    - Dst: N_
      Src: /src/glib/girepository/decompiler/decompiler.c:52,1
    - Dst: setlocale
      Src: /src/glib/girepository/decompiler/decompiler.c:61,1
    - Dst: g_free
      Src: /src/glib/girepository/decompiler/decompiler.c:72,1
    - Dst: g_printf
      Src: /src/glib/girepository/decompiler/decompiler.c:79,1
    - Dst: _
      Src: /src/glib/girepository/decompiler/decompiler.c:112,1
    - Dst: _
      Src: /src/glib/girepository/decompiler/decompiler.c:124,1
    - Dst: _
      Src: /src/glib/girepository/decompiler/decompiler.c:128,1
    - Dst: gi_ir_writer_write
      Src: /src/glib/girepository/decompiler/decompiler.c:130,1
    - Dst: g_strdup_printf
      Src: /src/glib/girepository/decompiler/decompiler.c:135,1
    - Dst: g_strv_length
      Src: /src/glib/girepository/decompiler/decompiler.c:135,1
    - Dst: _
      Src: /src/glib/girepository/decompiler/decompiler.c:135,1
    - Dst: g_clear_object
      Src: /src/glib/girepository/decompiler/decompiler.c:143,1
    - Dst: N_
      Src: /src/glib/girepository/decompiler/decompiler.c:52,1
    - Dst: g_log_set_always_fatal
      Src: /src/glib/girepository/decompiler/decompiler.c:59,1
    - Dst: g_option_context_new
      Src: /src/glib/girepository/decompiler/decompiler.c:65,1
    - Dst: g_option_context_parse
      Src: /src/glib/girepository/decompiler/decompiler.c:68,1
    - Dst: g_strv_length
      Src: /src/glib/girepository/decompiler/decompiler.c:95,1
    - Dst: gi_repository_prepend_search_path
      Src: /src/glib/girepository/decompiler/decompiler.c:99,1
    - Dst: g_error
      Src: /src/glib/girepository/decompiler/decompiler.c:128,1
    - Dst: g_free
      Src: /src/glib/girepository/decompiler/decompiler.c:137,1
    - Dst: gi_repository_load_typelib
      Src: /src/glib/girepository/decompiler/decompiler.c:126,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 77
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 146
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 146
    functionName: main
    functionSourceFile: /src/glib/girepository/decompiler/decompiler.c
    functionUses: []
    functionsReached:
    - gi_repository_new
    - g_strdup_printf
    - g_error
    - g_log_set_always_fatal
    - setlocale
    - g_clear_pointer
    - g_clear_object
    - g_error_free
    - g_option_context_parse
    - g_strv_length
    - gi_repository_prepend_search_path
    - g_option_context_new
    - g_printf
    - g_mapped_file_new
    - gi_repository_load_typelib
    - g_mapped_file_get_bytes
    - _
    - g_option_context_add_main_entries
    - N_
    - gi_ir_writer_write
    - g_fprintf
    - gi_typelib_new_from_bytes
    - g_free
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strsplit
      Src: /src/glib/girepository/tests/cmph-bdz.c:34,1
    - Dst: cmph_config_set_algo
      Src: /src/glib/girepository/tests/cmph-bdz.c:38,1
    - Dst: cmph_config_new
      Src: /src/glib/girepository/tests/cmph-bdz.c:37,1
    - Dst: g_strv_length
      Src: /src/glib/girepository/tests/cmph-bdz.c:36,1
    - Dst: cmph_io_vector_adapter
      Src: /src/glib/girepository/tests/cmph-bdz.c:36,1
    - Dst: cmph_new
      Src: /src/glib/girepository/tests/cmph-bdz.c:40,1
    - Dst: cmph_size
      Src: /src/glib/girepository/tests/cmph-bdz.c:41,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/girepository/tests/cmph-bdz.c:42,1
    - Dst: g_strv_length
      Src: /src/glib/girepository/tests/cmph-bdz.c:42,1
    - Dst: cmph_config_destroy
      Src: /src/glib/girepository/tests/cmph-bdz.c:44,1
    - Dst: g_strfreev
      Src: /src/glib/girepository/tests/cmph-bdz.c:46,1
    - Dst: cmph_io_vector_adapter_destroy
      Src: /src/glib/girepository/tests/cmph-bdz.c:45,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 49
    functionName: build
    functionSourceFile: /src/glib/girepository/tests/cmph-bdz.c
    functionUses: []
    functionsReached:
    - cmph_config_destroy
    - cmph_io_vector_adapter
    - g_strv_length
    - g_assert_cmpuint
    - g_strfreev
    - cmph_config_new
    - cmph_size
    - g_strsplit
    - cmph_io_vector_adapter_destroy
    - cmph_config_set_algo
    - cmph_new
    linkageType: ''
    returnType: cmph_t*
    signature: 'static cmph_t *build (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: build
      Src: /src/glib/girepository/tests/cmph-bdz.c:70,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/girepository/tests/cmph-bdz.c:81,1
    - Dst: cmph_size
      Src: /src/glib/girepository/tests/cmph-bdz.c:76,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/girepository/tests/cmph-bdz.c:80,1
    - Dst: cmph_search
      Src: /src/glib/girepository/tests/cmph-bdz.c:79,1
    - Dst: cmph_search
      Src: /src/glib/girepository/tests/cmph-bdz.c:84,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/girepository/tests/cmph-bdz.c:85,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/girepository/tests/cmph-bdz.c:86,1
    - Dst: cmph_search
      Src: /src/glib/girepository/tests/cmph-bdz.c:89,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/girepository/tests/cmph-bdz.c:90,1
    - Dst: assert_hashes_unique
      Src: /src/glib/girepository/tests/cmph-bdz.c:94,1
    - Dst: cmph_destroy
      Src: /src/glib/girepository/tests/cmph-bdz.c:96,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/girepository/tests/cmph-bdz.c:91,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/girepository/tests/cmph-bdz.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 97
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 97
    functionName: test_search
    functionSourceFile: /src/glib/girepository/tests/cmph-bdz.c
    functionUses: []
    functionsReached:
    - build
    - assert_hashes_unique
    - cmph_search
    - G_N_ELEMENTS
    - cmph_destroy
    - g_assert_cmpuint
    - cmph_size
    linkageType: ''
    returnType: void
    signature: 'static void test_search (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: build
      Src: /src/glib/girepository/tests/cmph-bdz.c:102,1
    - Dst: cmph_packed_size
      Src: /src/glib/girepository/tests/cmph-bdz.c:110,1
    - Dst: g_malloc
      Src: /src/glib/girepository/tests/cmph-bdz.c:111,1
    - Dst: cmph_size
      Src: /src/glib/girepository/tests/cmph-bdz.c:114,1
    - Dst: cmph_pack
      Src: /src/glib/girepository/tests/cmph-bdz.c:112,1
    - Dst: cmph_destroy
      Src: /src/glib/girepository/tests/cmph-bdz.c:116,1
    - Dst: cmph_search_packed
      Src: /src/glib/girepository/tests/cmph-bdz.c:120,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/girepository/tests/cmph-bdz.c:121,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/girepository/tests/cmph-bdz.c:122,1
    - Dst: cmph_search_packed
      Src: /src/glib/girepository/tests/cmph-bdz.c:125,1
    - Dst: cmph_search_packed
      Src: /src/glib/girepository/tests/cmph-bdz.c:130,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/girepository/tests/cmph-bdz.c:132,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/girepository/tests/cmph-bdz.c:135,1
    - Dst: assert_hashes_unique
      Src: /src/glib/girepository/tests/cmph-bdz.c:135,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/girepository/tests/cmph-bdz.c:127,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/girepository/tests/cmph-bdz.c:126,1
    - Dst: g_free
      Src: /src/glib/girepository/tests/cmph-bdz.c:137,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/girepository/tests/cmph-bdz.c:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 138
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 138
    functionName: test_search_packed
    functionSourceFile: /src/glib/girepository/tests/cmph-bdz.c
    functionUses: []
    functionsReached:
    - build
    - cmph_pack
    - cmph_destroy
    - assert_hashes_unique
    - G_N_ELEMENTS
    - g_assert_cmpuint
    - g_malloc
    - cmph_size
    - cmph_search_packed
    - cmph_packed_size
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_search_packed (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/girepository/tests/cmph-bdz.c:143,1
    - Dst: g_test_add_func
      Src: /src/glib/girepository/tests/cmph-bdz.c:146,1
    - Dst: g_test_add_func
      Src: /src/glib/girepository/tests/cmph-bdz.c:145,1
    - Dst: g_test_run
      Src: /src/glib/girepository/tests/cmph-bdz.c:148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 149
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 149
    functionName: main
    functionSourceFile: /src/glib/girepository/tests/cmph-bdz.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpuint
      Src: /src/glib/girepository/tests/cmph-bdz.c:62,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - n_hashes
    - hashes
    argTypes:
    - size_t
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 65
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 65
    functionName: assert_hashes_unique
    functionSourceFile: /src/glib/girepository/tests/cmph-bdz.c
    functionUses: []
    functionsReached:
    - g_assert_cmpuint
    linkageType: ''
    returnType: void
    signature: 'static void assert_hashes_unique (size_t n_hashes, uint32_t* hashes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/girepository/tests/struct-info.c:32,1
    - Dst: GI_STRUCT_INFO
      Src: /src/glib/girepository/tests/struct-info.c:34,1
    - Dst: gi_struct_info_get_field
      Src: /src/glib/girepository/tests/struct-info.c:42,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/girepository/tests/struct-info.c:50,1
    - Dst: GI_BASE_INFO
      Src: /src/glib/girepository/tests/struct-info.c:50,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/struct-info.c:49,1
    - Dst: gi_struct_info_find_field
      Src: /src/glib/girepository/tests/struct-info.c:56,1
    - Dst: g_assert_null
      Src: /src/glib/girepository/tests/struct-info.c:57,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/struct-info.c:35,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/struct-info.c:43,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/struct-info.c:46,1
    - Dst: gi_struct_info_find_field
      Src: /src/glib/girepository/tests/struct-info.c:48,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/struct-info.c:34,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/struct-info.c:52,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/struct-info.c:53,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/struct-info.c:59,1
    - Dst: gi_struct_info_get_n_fields
      Src: /src/glib/girepository/tests/struct-info.c:37,1
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/tests/struct-info.c:45,1
    - Dst: GI_BASE_INFO
      Src: /src/glib/girepository/tests/struct-info.c:45,1
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/tests/struct-info.c:50,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 60
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 60
    functionName: test_field_iterators
    functionSourceFile: /src/glib/girepository/tests/struct-info.c
    functionUses: []
    functionsReached:
    - g_test_summary
    - GI_STRUCT_INFO
    - gi_struct_info_get_field
    - GI_BASE_INFO
    - g_assert_null
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_clear_pointer
    - gi_repository_find_by_name
    - gi_struct_info_get_n_fields
    - gi_struct_info_find_field
    - gi_base_info_get_name
    linkageType: ''
    returnType: void
    signature: 'static void test_field_iterators (RepositoryFixture *fx, const void
      *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/girepository/tests/struct-info.c:87,1
    - Dst: gi_struct_info_find_method
      Src: /src/glib/girepository/tests/struct-info.c:92,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/struct-info.c:90,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/struct-info.c:89,1
    - Dst: GI_STRUCT_INFO
      Src: /src/glib/girepository/tests/struct-info.c:89,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/struct-info.c:93,1
    - Dst: gi_callable_info_get_arg
      Src: /src/glib/girepository/tests/struct-info.c:95,1
    - Dst: GI_CALLABLE_INFO
      Src: /src/glib/girepository/tests/struct-info.c:95,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/struct-info.c:96,1
    - Dst: gi_arg_info_get_type_info
      Src: /src/glib/girepository/tests/struct-info.c:98,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/struct-info.c:102,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/struct-info.c:103,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/struct-info.c:104,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/struct-info.c:105,1
    - Dst: gi_type_info_is_pointer
      Src: /src/glib/girepository/tests/struct-info.c:100,1
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/struct-info.c:100,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/struct-info.c:99,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 106
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 106
    functionName: test_is_pointer_for_struct_method_arg
    functionSourceFile: /src/glib/girepository/tests/struct-info.c
    functionUses: []
    functionsReached:
    - gi_struct_info_find_method
    - gi_callable_info_get_arg
    - g_test_summary
    - GI_STRUCT_INFO
    - g_assert_true
    - gi_arg_info_get_type_info
    - g_assert_nonnull
    - g_clear_pointer
    - GI_CALLABLE_INFO
    - gi_repository_find_by_name
    - gi_type_info_is_pointer
    linkageType: ''
    returnType: void
    signature: 'static void test_is_pointer_for_struct_method_arg (RepositoryFixture
      *fx, const void *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: repository_init
      Src: /src/glib/girepository/tests/struct-info.c:127,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/struct-info.c:132,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/struct-info.c:130,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/struct-info.c:129,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/struct-info.c:131,1
    - Dst: g_test_run
      Src: /src/glib/girepository/tests/struct-info.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 135
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 135
    functionName: main
    functionSourceFile: /src/glib/girepository/tests/struct-info.c
    functionUses: []
    functionsReached:
    - g_test_run
    - ADD_REPOSITORY_TEST
    - repository_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/girepository/tests/struct-info.c:68,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/struct-info.c:70,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/struct-info.c:71,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/girepository/tests/struct-info.c:73,1
    - Dst: GI_STRUCT_INFO
      Src: /src/glib/girepository/tests/struct-info.c:70,1
    - Dst: gi_struct_info_get_size
      Src: /src/glib/girepository/tests/struct-info.c:73,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/struct-info.c:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 76
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 76
    functionName: test_size_of_gvalue
    functionSourceFile: /src/glib/girepository/tests/struct-info.c
    functionUses: []
    functionsReached:
    - g_test_summary
    - GI_STRUCT_INFO
    - gi_struct_info_get_size
    - g_assert_nonnull
    - g_assert_cmpuint
    - g_clear_pointer
    - gi_repository_find_by_name
    linkageType: ''
    returnType: void
    signature: 'static void test_size_of_gvalue (RepositoryFixture *fx, const void
      *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/girepository/tests/struct-info.c:114,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/struct-info.c:117,1
    - Dst: GI_STRUCT_INFO
      Src: /src/glib/girepository/tests/struct-info.c:116,1
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/struct-info.c:118,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/struct-info.c:116,1
    - Dst: gi_registered_type_info_is_boxed
      Src: /src/glib/girepository/tests/struct-info.c:118,1
    - Dst: GI_REGISTERED_TYPE_INFO
      Src: /src/glib/girepository/tests/struct-info.c:118,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/struct-info.c:120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 121
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 121
    functionName: test_boxed
    functionSourceFile: /src/glib/girepository/tests/struct-info.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_test_summary
    - GI_STRUCT_INFO
    - g_assert_nonnull
    - gi_registered_type_info_is_boxed
    - g_clear_pointer
    - GI_REGISTERED_TYPE_INFO
    - gi_repository_find_by_name
    linkageType: ''
    returnType: void
    signature: 'static void test_boxed (RepositoryFixture *fx, const void *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/girepository/tests/throws.c:35,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/throws.c:37,1
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/throws.c:39,1
    - Dst: GI_FUNCTION_INFO
      Src: /src/glib/girepository/tests/throws.c:37,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/throws.c:38,1
    - Dst: gi_callable_info_can_throw_gerror
      Src: /src/glib/girepository/tests/throws.c:39,1
    - Dst: GI_CALLABLE_INFO
      Src: /src/glib/girepository/tests/throws.c:39,1
    - Dst: g_strdup
      Src: /src/glib/girepository/tests/throws.c:41,1
    - Dst: gi_function_info_invoke
      Src: /src/glib/girepository/tests/throws.c:42,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/throws.c:43,1
    - Dst: g_assert_error
      Src: /src/glib/girepository/tests/throws.c:46,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/throws.c:49,1
    - Dst: g_clear_error
      Src: /src/glib/girepository/tests/throws.c:48,1
    - Dst: g_assert_false
      Src: /src/glib/girepository/tests/throws.c:45,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 50
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 50
    functionName: test_invoke_gerror
    functionSourceFile: /src/glib/girepository/tests/throws.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_assert_true
    - g_test_summary
    - g_strdup
    - gi_function_info_invoke
    - g_assert_nonnull
    - gi_callable_info_can_throw_gerror
    - g_clear_pointer
    - GI_FUNCTION_INFO
    - GI_CALLABLE_INFO
    - gi_repository_find_by_name
    - g_assert_false
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_invoke_gerror (RepositoryFixture *fx, const void
      *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/girepository/tests/throws.c:60,1
    - Dst: GI_INTERFACE_INFO
      Src: /src/glib/girepository/tests/throws.c:62,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/throws.c:62,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/throws.c:63,1
    - Dst: gi_interface_info_find_method
      Src: /src/glib/girepository/tests/throws.c:65,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/throws.c:66,1
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/throws.c:67,1
    - Dst: gi_callable_info_can_throw_gerror
      Src: /src/glib/girepository/tests/throws.c:67,1
    - Dst: GI_CALLABLE_INFO
      Src: /src/glib/girepository/tests/throws.c:67,1
    - Dst: gi_interface_info_find_vfunc
      Src: /src/glib/girepository/tests/throws.c:69,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/throws.c:70,1
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/throws.c:71,1
    - Dst: GI_CALLABLE_INFO
      Src: /src/glib/girepository/tests/throws.c:71,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/throws.c:75,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/throws.c:73,1
    - Dst: gi_callable_info_can_throw_gerror
      Src: /src/glib/girepository/tests/throws.c:71,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/throws.c:74,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 76
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 76
    functionName: test_vfunc_can_throw_gerror
    functionSourceFile: /src/glib/girepository/tests/throws.c
    functionUses: []
    functionsReached:
    - gi_interface_info_find_method
    - g_assert_true
    - g_test_summary
    - gi_interface_info_find_vfunc
    - g_assert_nonnull
    - gi_callable_info_can_throw_gerror
    - g_clear_pointer
    - GI_INTERFACE_INFO
    - GI_CALLABLE_INFO
    - gi_repository_find_by_name
    linkageType: ''
    returnType: void
    signature: 'static void test_vfunc_can_throw_gerror (RepositoryFixture *fx, const
      void *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/throws.c:89,1
    - Dst: GI_IS_FIELD_INFO
      Src: /src/glib/girepository/tests/throws.c:94,1
    - Dst: gi_type_info_get_interface
      Src: /src/glib/girepository/tests/throws.c:101,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/throws.c:102,1
    - Dst: g_assert
      Src: /src/glib/girepository/tests/throws.c:103,1
    - Dst: GI_CALLBACK_INFO
      Src: /src/glib/girepository/tests/throws.c:101,1
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/throws.c:98,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/throws.c:105,1
    - Dst: g_test_summary
      Src: /src/glib/girepository/tests/throws.c:87,1
    - Dst: gi_struct_info_find_field
      Src: /src/glib/girepository/tests/throws.c:92,1
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/throws.c:94,1
    - Dst: g_assert_cmpint
      Src: /src/glib/girepository/tests/throws.c:99,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/throws.c:108,1
    - Dst: GI_STRUCT_INFO
      Src: /src/glib/girepository/tests/throws.c:89,1
    - Dst: gi_field_info_get_type_info
      Src: /src/glib/girepository/tests/throws.c:96,1
    - Dst: gi_callable_info_can_throw_gerror
      Src: /src/glib/girepository/tests/throws.c:103,1
    - Dst: gi_type_info_get_tag
      Src: /src/glib/girepository/tests/throws.c:99,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/throws.c:90,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/throws.c:93,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/throws.c:97,1
    - Dst: GI_IS_TYPE_INFO
      Src: /src/glib/girepository/tests/throws.c:98,1
    - Dst: GI_CALLABLE_INFO
      Src: /src/glib/girepository/tests/throws.c:103,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/throws.c:106,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/throws.c:107,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 109
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 109
    functionName: test_callback_can_throw_gerror
    functionSourceFile: /src/glib/girepository/tests/throws.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_test_summary
    - GI_STRUCT_INFO
    - GI_IS_TYPE_INFO
    - gi_type_info_get_interface
    - gi_field_info_get_type_info
    - GI_CALLBACK_INFO
    - g_assert
    - g_assert_nonnull
    - gi_callable_info_can_throw_gerror
    - gi_type_info_get_tag
    - g_clear_pointer
    - GI_CALLABLE_INFO
    - gi_repository_find_by_name
    - gi_struct_info_find_field
    - GI_IS_FIELD_INFO
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_callback_can_throw_gerror (RepositoryFixture *fx,
      const void *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: repository_init
      Src: /src/glib/girepository/tests/throws.c:115,1
    - Dst: g_test_run
      Src: /src/glib/girepository/tests/throws.c:121,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/throws.c:117,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/throws.c:119,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/throws.c:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 122
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 122
    functionName: main
    functionSourceFile: /src/glib/girepository/tests/throws.c
    functionUses: []
    functionsReached:
    - g_test_run
    - ADD_REPOSITORY_TEST
    - repository_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/autoptr.c:54,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/autoptr.c:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: test_autoptr_base_info
    functionSourceFile: /src/glib/girepository/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - gi_repository_find_by_name
    linkageType: ''
    returnType: void
    signature: 'static void test_autoptr_base_info (RepositoryFixture *fx, const void
      *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GI_FUNCTION_INFO
      Src: /src/glib/girepository/tests/autoptr.c:136,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/autoptr.c:136,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/autoptr.c:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 138
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 138
    functionName: test_autoptr_function_info
    functionSourceFile: /src/glib/girepository/tests/autoptr.c
    functionUses: []
    functionsReached:
    - GI_FUNCTION_INFO
    - g_assert_nonnull
    - gi_repository_find_by_name
    linkageType: ''
    returnType: void
    signature: 'static void test_autoptr_function_info (RepositoryFixture *fx, const
      void *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GI_REGISTERED_TYPE_INFO
      Src: /src/glib/girepository/tests/autoptr.c:176,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/autoptr.c:176,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/autoptr.c:177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 178
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 178
    functionName: test_autoptr_registered_type_info
    functionSourceFile: /src/glib/girepository/tests/autoptr.c
    functionUses: []
    functionsReached:
    - GI_REGISTERED_TYPE_INFO
    - g_assert_nonnull
    - gi_repository_find_by_name
    linkageType: ''
    returnType: void
    signature: 'static void test_autoptr_registered_type_info (RepositoryFixture *fx,
      const void *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GI_OBJECT_INFO
      Src: /src/glib/girepository/tests/autoptr.c:66,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/autoptr.c:66,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/autoptr.c:69,1
    - Dst: gi_object_info_find_method
      Src: /src/glib/girepository/tests/autoptr.c:68,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/autoptr.c:67,1
    - Dst: gi_callable_info_get_arg
      Src: /src/glib/girepository/tests/autoptr.c:70,1
    - Dst: GI_CALLABLE_INFO
      Src: /src/glib/girepository/tests/autoptr.c:70,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/autoptr.c:71,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/autoptr.c:73,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/autoptr.c:74,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 75
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 75
    functionName: test_autoptr_arg_info
    functionSourceFile: /src/glib/girepository/tests/autoptr.c
    functionUses: []
    functionsReached:
    - gi_callable_info_get_arg
    - g_assert_nonnull
    - gi_object_info_find_method
    - g_clear_pointer
    - GI_OBJECT_INFO
    - GI_CALLABLE_INFO
    - gi_repository_find_by_name
    linkageType: ''
    returnType: void
    signature: 'static void test_autoptr_arg_info (RepositoryFixture *fx, const void
      *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GI_INTERFACE_INFO
      Src: /src/glib/girepository/tests/autoptr.c:144,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/autoptr.c:144,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/autoptr.c:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 146
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 146
    functionName: test_autoptr_interface_info
    functionSourceFile: /src/glib/girepository/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - GI_INTERFACE_INFO
    - gi_repository_find_by_name
    linkageType: ''
    returnType: void
    signature: 'static void test_autoptr_interface_info (RepositoryFixture *fx, const
      void *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GI_OBJECT_INFO
      Src: /src/glib/girepository/tests/autoptr.c:187,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/autoptr.c:188,1
    - Dst: gi_object_info_find_signal
      Src: /src/glib/girepository/tests/autoptr.c:189,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/autoptr.c:190,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/autoptr.c:187,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/autoptr.c:192,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 193
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 193
    functionName: test_autoptr_signal_info
    functionSourceFile: /src/glib/girepository/tests/autoptr.c
    functionUses: []
    functionsReached:
    - gi_object_info_find_signal
    - g_assert_nonnull
    - g_clear_pointer
    - GI_OBJECT_INFO
    - gi_repository_find_by_name
    linkageType: ''
    returnType: void
    signature: 'static void test_autoptr_signal_info (RepositoryFixture *fx, const
      void *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GI_CALLABLE_INFO
      Src: /src/glib/girepository/tests/autoptr.c:81,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/autoptr.c:81,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/autoptr.c:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: test_autoptr_callable_info
    functionSourceFile: /src/glib/girepository/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - GI_CALLABLE_INFO
    - gi_repository_find_by_name
    linkageType: ''
    returnType: void
    signature: 'static void test_autoptr_callable_info (RepositoryFixture *fx, const
      void *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GI_UNION_INFO
      Src: /src/glib/girepository/tests/autoptr.c:226,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/autoptr.c:227,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/autoptr.c:226,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 228
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 228
    functionName: test_autoptr_union_info
    functionSourceFile: /src/glib/girepository/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - GI_UNION_INFO
    - gi_repository_find_by_name
    linkageType: ''
    returnType: void
    signature: 'static void test_autoptr_union_info (RepositoryFixture *fx, const
      void *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GI_CALLBACK_INFO
      Src: /src/glib/girepository/tests/autoptr.c:89,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/autoptr.c:89,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/autoptr.c:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: test_autoptr_callback_info
    functionSourceFile: /src/glib/girepository/tests/autoptr.c
    functionUses: []
    functionsReached:
    - GI_CALLBACK_INFO
    - g_assert_nonnull
    - gi_repository_find_by_name
    linkageType: ''
    returnType: void
    signature: 'static void test_autoptr_callback_info (RepositoryFixture *fx, const
      void *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GI_ENUM_INFO
      Src: /src/glib/girepository/tests/autoptr.c:237,1
    - Dst: gi_enum_info_get_value
      Src: /src/glib/girepository/tests/autoptr.c:239,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/autoptr.c:240,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/autoptr.c:237,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/autoptr.c:238,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/autoptr.c:242,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 243
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 243
    functionName: test_autoptr_value_info
    functionSourceFile: /src/glib/girepository/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - gi_enum_info_get_value
    - g_clear_pointer
    - gi_repository_find_by_name
    - GI_ENUM_INFO
    linkageType: ''
    returnType: void
    signature: 'static void test_autoptr_value_info (RepositoryFixture *fx, const
      void *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GI_STRUCT_INFO
      Src: /src/glib/girepository/tests/autoptr.c:116,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/autoptr.c:119,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/autoptr.c:116,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/autoptr.c:117,1
    - Dst: gi_struct_info_find_field
      Src: /src/glib/girepository/tests/autoptr.c:118,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/autoptr.c:121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 122
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 122
    functionName: test_autoptr_field_info
    functionSourceFile: /src/glib/girepository/tests/autoptr.c
    functionUses: []
    functionsReached:
    - GI_STRUCT_INFO
    - g_assert_nonnull
    - g_clear_pointer
    - gi_repository_find_by_name
    - gi_struct_info_find_field
    linkageType: ''
    returnType: void
    signature: 'static void test_autoptr_field_info (RepositoryFixture *fx, const
      void *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GI_INTERFACE_INFO
      Src: /src/glib/girepository/tests/autoptr.c:252,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/autoptr.c:255,1
    - Dst: gi_interface_info_find_vfunc
      Src: /src/glib/girepository/tests/autoptr.c:254,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/autoptr.c:252,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/autoptr.c:253,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/autoptr.c:257,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 258
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 258
    functionName: test_autoptr_vfunc_info
    functionSourceFile: /src/glib/girepository/tests/autoptr.c
    functionUses: []
    functionsReached:
    - gi_interface_info_find_vfunc
    - g_assert_nonnull
    - g_clear_pointer
    - GI_INTERFACE_INFO
    - gi_repository_find_by_name
    linkageType: ''
    returnType: void
    signature: 'static void test_autoptr_vfunc_info (RepositoryFixture *fx, const
      void *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GI_OBJECT_INFO
      Src: /src/glib/girepository/tests/autoptr.c:288,1
    - Dst: gi_object_info_find_method
      Src: /src/glib/girepository/tests/autoptr.c:290,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/autoptr.c:288,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/autoptr.c:289,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/autoptr.c:291,1
    - Dst: gi_callable_info_get_arg
      Src: /src/glib/girepository/tests/autoptr.c:292,1
    - Dst: GI_CALLABLE_INFO
      Src: /src/glib/girepository/tests/autoptr.c:292,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/autoptr.c:293,1
    - Dst: gi_arg_info_load_type_info
      Src: /src/glib/girepository/tests/autoptr.c:294,1
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/autoptr.c:295,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/autoptr.c:298,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/autoptr.c:297,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/autoptr.c:299,1
    - Dst: GI_IS_TYPE_INFO
      Src: /src/glib/girepository/tests/autoptr.c:295,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 300
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 300
    functionName: test_auto_type_info
    functionSourceFile: /src/glib/girepository/tests/autoptr.c
    functionUses: []
    functionsReached:
    - gi_callable_info_get_arg
    - g_assert_true
    - GI_IS_TYPE_INFO
    - g_assert_nonnull
    - gi_object_info_find_method
    - g_clear_pointer
    - GI_OBJECT_INFO
    - GI_CALLABLE_INFO
    - gi_repository_find_by_name
    - gi_arg_info_load_type_info
    linkageType: ''
    returnType: void
    signature: 'static void test_auto_type_info (RepositoryFixture *fx, const void
      *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GI_FLAGS_INFO
      Src: /src/glib/girepository/tests/autoptr.c:128,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/autoptr.c:129,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/autoptr.c:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 130
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 130
    functionName: test_autoptr_flags_info
    functionSourceFile: /src/glib/girepository/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - gi_repository_find_by_name
    - GI_FLAGS_INFO
    linkageType: ''
    returnType: void
    signature: 'static void test_autoptr_flags_info (RepositoryFixture *fx, const
      void *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GI_OBJECT_INFO
      Src: /src/glib/girepository/tests/autoptr.c:268,1
    - Dst: gi_object_info_find_method
      Src: /src/glib/girepository/tests/autoptr.c:270,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/autoptr.c:268,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/autoptr.c:269,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/autoptr.c:271,1
    - Dst: gi_callable_info_load_arg
      Src: /src/glib/girepository/tests/autoptr.c:272,1
    - Dst: GI_CALLABLE_INFO
      Src: /src/glib/girepository/tests/autoptr.c:272,1
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/autoptr.c:273,1
    - Dst: GI_IS_ARG_INFO
      Src: /src/glib/girepository/tests/autoptr.c:273,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/autoptr.c:275,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/autoptr.c:276,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 277
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 277
    functionName: test_auto_arg_info
    functionSourceFile: /src/glib/girepository/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_assert_nonnull
    - gi_object_info_find_method
    - GI_IS_ARG_INFO
    - gi_callable_info_load_arg
    - g_clear_pointer
    - GI_OBJECT_INFO
    - GI_CALLABLE_INFO
    - gi_repository_find_by_name
    linkageType: ''
    returnType: void
    signature: 'static void test_auto_arg_info (RepositoryFixture *fx, const void
      *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GI_FUNCTION_INFO
      Src: /src/glib/girepository/tests/autoptr.c:310,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/autoptr.c:311,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/autoptr.c:310,1
    - Dst: gi_function_info_prep_invoker
      Src: /src/glib/girepository/tests/autoptr.c:312,1
    - Dst: g_assert_no_error
      Src: /src/glib/girepository/tests/autoptr.c:313,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/autoptr.c:315,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 316
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 316
    functionName: test_auto_function_invoker
    functionSourceFile: /src/glib/girepository/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - gi_function_info_prep_invoker
    - g_assert_no_error
    - GI_FUNCTION_INFO
    - g_clear_pointer
    - gi_repository_find_by_name
    linkageType: ''
    returnType: void
    signature: 'static void test_auto_function_invoker (RepositoryFixture *fx, const
      void *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gi_repository_new
      Src: /src/glib/girepository/tests/autoptr.c:30,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/autoptr.c:31,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: test_autoptr_repository
    functionSourceFile: /src/glib/girepository/tests/autoptr.c
    functionUses: []
    functionsReached:
    - gi_repository_new
    - g_assert_nonnull
    linkageType: ''
    returnType: void
    signature: 'static void test_autoptr_repository (RepositoryFixture *fx, const
      void *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GI_CONSTANT_INFO
      Src: /src/glib/girepository/tests/autoptr.c:97,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/autoptr.c:97,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/autoptr.c:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: test_autoptr_constant_info
    functionSourceFile: /src/glib/girepository/tests/autoptr.c
    functionUses: []
    functionsReached:
    - GI_CONSTANT_INFO
    - g_assert_nonnull
    - gi_repository_find_by_name
    linkageType: ''
    returnType: void
    signature: 'static void test_autoptr_constant_info (RepositoryFixture *fx, const
      void *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GI_OBJECT_INFO
      Src: /src/glib/girepository/tests/autoptr.c:152,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/autoptr.c:152,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/autoptr.c:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 154
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 154
    functionName: test_autoptr_object_info
    functionSourceFile: /src/glib/girepository/tests/autoptr.c
    functionUses: []
    functionsReached:
    - GI_OBJECT_INFO
    - g_assert_nonnull
    - gi_repository_find_by_name
    linkageType: ''
    returnType: void
    signature: 'static void test_autoptr_object_info (RepositoryFixture *fx, const
      void *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GI_STRUCT_INFO
      Src: /src/glib/girepository/tests/autoptr.c:199,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/autoptr.c:199,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/autoptr.c:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 201
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 201
    functionName: test_autoptr_struct_info
    functionSourceFile: /src/glib/girepository/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - GI_STRUCT_INFO
    - gi_repository_find_by_name
    linkageType: ''
    returnType: void
    signature: 'static void test_autoptr_struct_info (RepositoryFixture *fx, const
      void *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gi_repository_require
      Src: /src/glib/girepository/tests/autoptr.c:41,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/autoptr.c:44,1
    - Dst: g_assert_no_error
      Src: /src/glib/girepository/tests/autoptr.c:43,1
    - Dst: gi_typelib_ref
      Src: /src/glib/girepository/tests/autoptr.c:47,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 48
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 48
    functionName: test_autoptr_typelib
    functionSourceFile: /src/glib/girepository/tests/autoptr.c
    functionUses: []
    functionsReached:
    - gi_repository_require
    - gi_typelib_ref
    - g_assert_nonnull
    - g_assert_no_error
    linkageType: ''
    returnType: void
    signature: 'static void test_autoptr_typelib (RepositoryFixture *fx, const void
      *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GI_ENUM_INFO
      Src: /src/glib/girepository/tests/autoptr.c:105,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/autoptr.c:105,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/autoptr.c:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: test_autoptr_enum_info
    functionSourceFile: /src/glib/girepository/tests/autoptr.c
    functionUses: []
    functionsReached:
    - GI_ENUM_INFO
    - g_assert_nonnull
    - gi_repository_find_by_name
    linkageType: ''
    returnType: void
    signature: 'static void test_autoptr_enum_info (RepositoryFixture *fx, const void
      *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GI_OBJECT_INFO
      Src: /src/glib/girepository/tests/autoptr.c:163,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/autoptr.c:163,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/autoptr.c:164,1
    - Dst: gi_object_info_get_property
      Src: /src/glib/girepository/tests/autoptr.c:165,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/autoptr.c:166,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/autoptr.c:168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 169
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 169
    functionName: test_autoptr_property_info
    functionSourceFile: /src/glib/girepository/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_clear_pointer
    - GI_OBJECT_INFO
    - gi_repository_find_by_name
    - gi_object_info_get_property
    linkageType: ''
    returnType: void
    signature: 'static void test_autoptr_property_info (RepositoryFixture *fx, const
      void *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GI_STRUCT_INFO
      Src: /src/glib/girepository/tests/autoptr.c:211,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/autoptr.c:211,1
    - Dst: gi_struct_info_find_field
      Src: /src/glib/girepository/tests/autoptr.c:213,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/autoptr.c:214,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/autoptr.c:212,1
    - Dst: gi_field_info_get_type_info
      Src: /src/glib/girepository/tests/autoptr.c:215,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/autoptr.c:216,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/autoptr.c:218,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/autoptr.c:219,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 220
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 220
    functionName: test_autoptr_type_info
    functionSourceFile: /src/glib/girepository/tests/autoptr.c
    functionUses: []
    functionsReached:
    - GI_STRUCT_INFO
    - gi_field_info_get_type_info
    - g_assert_nonnull
    - g_clear_pointer
    - gi_repository_find_by_name
    - gi_struct_info_find_field
    linkageType: ''
    returnType: void
    signature: 'static void test_autoptr_type_info (RepositoryFixture *fx, const void
      *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/autoptr.c:325,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/autoptr.c:329,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/autoptr.c:333,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/autoptr.c:339,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/autoptr.c:335,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/autoptr.c:344,1
    - Dst: g_test_run
      Src: /src/glib/girepository/tests/autoptr.c:352,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/autoptr.c:324,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/autoptr.c:328,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/autoptr.c:332,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/autoptr.c:334,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/autoptr.c:338,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/autoptr.c:342,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/autoptr.c:350,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/autoptr.c:327,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/autoptr.c:331,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/autoptr.c:337,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/autoptr.c:341,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/autoptr.c:345,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/autoptr.c:348,1
    - Dst: repository_init
      Src: /src/glib/girepository/tests/autoptr.c:322,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/autoptr.c:326,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/autoptr.c:330,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/autoptr.c:340,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/autoptr.c:336,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/autoptr.c:347,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 353
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 353
    functionName: main
    functionSourceFile: /src/glib/girepository/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_test_run
    - ADD_REPOSITORY_TEST
    - repository_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/girepository/tests/repository.c:372,1
    - Dst: GI_STRUCT_INFO
      Src: /src/glib/girepository/tests/repository.c:374,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:375,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/repository.c:374,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:379,1
    - Dst: gi_callable_info_get_return_type
      Src: /src/glib/girepository/tests/repository.c:381,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:382,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/girepository/tests/repository.c:383,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/girepository/tests/repository.c:394,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:386,1
    - Dst: GI_CALLABLE_INFO
      Src: /src/glib/girepository/tests/repository.c:381,1
    - Dst: gi_callable_info_get_return_type
      Src: /src/glib/girepository/tests/repository.c:392,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:396,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:398,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:390,1
    - Dst: GI_CALLABLE_INFO
      Src: /src/glib/girepository/tests/repository.c:392,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:385,1
    - Dst: gi_type_info_get_tag
      Src: /src/glib/girepository/tests/repository.c:394,1
    - Dst: gi_struct_info_find_method
      Src: /src/glib/girepository/tests/repository.c:378,1
    - Dst: gi_struct_info_find_method
      Src: /src/glib/girepository/tests/repository.c:389,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:393,1
    - Dst: gi_type_info_get_tag
      Src: /src/glib/girepository/tests/repository.c:383,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:397,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 399
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 399
    functionName: test_repository_char_types
    functionSourceFile: /src/glib/girepository/tests/repository.c
    functionUses: []
    functionsReached:
    - gi_struct_info_find_method
    - g_test_summary
    - GI_STRUCT_INFO
    - g_assert_nonnull
    - g_assert_cmpuint
    - gi_callable_info_get_return_type
    - g_clear_pointer
    - GI_CALLABLE_INFO
    - gi_repository_find_by_name
    - gi_type_info_get_tag
    linkageType: ''
    returnType: void
    signature: 'static void test_repository_char_types (RepositoryFixture *fx, const
      void *unused) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/girepository/tests/repository.c:449,1
    - Dst: GI_IS_ENUM_INFO
      Src: /src/glib/girepository/tests/repository.c:457,1
    - Dst: gi_enum_info_get_n_values
      Src: /src/glib/girepository/tests/repository.c:459,1
    - Dst: gi_repository_get_n_infos
      Src: /src/glib/girepository/tests/repository.c:451,1
    - Dst: gi_repository_get_info
      Src: /src/glib/girepository/tests/repository.c:455,1
    - Dst: GI_ENUM_INFO
      Src: /src/glib/girepository/tests/repository.c:459,1
    - Dst: gi_enum_info_get_value
      Src: /src/glib/girepository/tests/repository.c:462,1
    - Dst: GI_ENUM_INFO
      Src: /src/glib/girepository/tests/repository.c:462,1
    - Dst: gi_base_info_get_attribute
      Src: /src/glib/girepository/tests/repository.c:463,1
    - Dst: GI_BASE_INFO
      Src: /src/glib/girepository/tests/repository.c:463,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:470,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:466,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:464,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 472
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 472
    functionName: test_repository_enum_info_c_identifier
    functionSourceFile: /src/glib/girepository/tests/repository.c
    functionUses: []
    functionsReached:
    - GI_IS_ENUM_INFO
    - g_test_summary
    - GI_BASE_INFO
    - gi_base_info_get_attribute
    - g_assert_nonnull
    - gi_repository_get_info
    - gi_enum_info_get_value
    - g_clear_pointer
    - gi_repository_get_n_infos
    - gi_enum_info_get_n_values
    - GI_ENUM_INFO
    linkageType: ''
    returnType: void
    signature: 'static void test_repository_enum_info_c_identifier (RepositoryFixture
      *fx, const void *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/girepository/tests/repository.c:757,1
    - Dst: GI_INTERFACE_INFO
      Src: /src/glib/girepository/tests/repository.c:759,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/repository.c:759,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:760,1
    - Dst: gi_interface_info_find_vfunc
      Src: /src/glib/girepository/tests/repository.c:762,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:763,1
    - Dst: gi_vfunc_info_get_invoker
      Src: /src/glib/girepository/tests/repository.c:765,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:766,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/girepository/tests/repository.c:768,1
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/tests/repository.c:768,1
    - Dst: GI_BASE_INFO
      Src: /src/glib/girepository/tests/repository.c:768,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:771,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:772,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:770,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 773
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 773
    functionName: test_repository_vfunc_info_with_invoker_on_interface
    functionSourceFile: /src/glib/girepository/tests/repository.c
    functionUses: []
    functionsReached:
    - g_test_summary
    - GI_BASE_INFO
    - gi_interface_info_find_vfunc
    - g_assert_nonnull
    - gi_vfunc_info_get_invoker
    - g_assert_cmpstr
    - g_clear_pointer
    - GI_INTERFACE_INFO
    - gi_repository_find_by_name
    - gi_base_info_get_name
    linkageType: ''
    returnType: void
    signature: 'static void test_repository_vfunc_info_with_invoker_on_interface (RepositoryFixture
      *fx, const void *unused) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:816,1
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/repository.c:817,1
    - Dst: gi_repository_find_by_gtype
      Src: /src/glib/girepository/tests/repository.c:815,1
    - Dst: GI_BASE_INFO
      Src: /src/glib/girepository/tests/repository.c:826,1
    - Dst: g_assert_null
      Src: /src/glib/girepository/tests/repository.c:831,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:824,1
    - Dst: g_assert_null
      Src: /src/glib/girepository/tests/repository.c:834,1
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/repository.c:860,1
    - Dst: GI_BASE_INFO
      Src: /src/glib/girepository/tests/repository.c:861,1
    - Dst: GI_BASE_INFO
      Src: /src/glib/girepository/tests/repository.c:862,1
    - Dst: GI_IS_OBJECT_INFO
      Src: /src/glib/girepository/tests/repository.c:817,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/girepository/tests/repository.c:818,1
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/tests/repository.c:826,1
    - Dst: gi_repository_find_by_gtype
      Src: /src/glib/girepository/tests/repository.c:858,1
    - Dst: GI_IS_OBJECT_INFO
      Src: /src/glib/girepository/tests/repository.c:860,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/girepository/tests/repository.c:861,1
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/tests/repository.c:861,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/girepository/tests/repository.c:862,1
    - Dst: gi_base_info_get_namespace
      Src: /src/glib/girepository/tests/repository.c:862,1
    - Dst: g_test_summary
      Src: /src/glib/girepository/tests/repository.c:813,1
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/tests/repository.c:818,1
    - Dst: gi_repository_find_by_gtype
      Src: /src/glib/girepository/tests/repository.c:834,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:859,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:863,1
    - Dst: GI_BASE_INFO
      Src: /src/glib/girepository/tests/repository.c:818,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:820,1
    - Dst: gi_repository_find_by_gtype
      Src: /src/glib/girepository/tests/repository.c:823,1
    - Dst: GI_IS_OBJECT_INFO
      Src: /src/glib/girepository/tests/repository.c:825,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/girepository/tests/repository.c:826,1
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/repository.c:825,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:828,1
    - Dst: gi_repository_find_by_gtype
      Src: /src/glib/girepository/tests/repository.c:831,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 50
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 866
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 866
    functionName: test_repository_find_by_gtype
    functionSourceFile: /src/glib/girepository/tests/repository.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - gi_repository_find_by_gtype
    - g_test_summary
    - GI_BASE_INFO
    - g_assert_null
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_clear_pointer
    - gi_base_info_get_namespace
    - GI_IS_OBJECT_INFO
    - gi_base_info_get_name
    linkageType: ''
    returnType: void
    signature: 'static void test_repository_find_by_gtype (RepositoryFixture *fx,
      const void *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/girepository/tests/repository.c:55,1
    - Dst: gi_repository_enumerate_versions
      Src: /src/glib/girepository/tests/repository.c:57,1
    - Dst: g_assert_cmpstrv
      Src: /src/glib/girepository/tests/repository.c:59,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/girepository/tests/repository.c:60,1
    - Dst: gi_repository_enumerate_versions
      Src: /src/glib/girepository/tests/repository.c:63,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:64,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:66,1
    - Dst: gi_repository_get_search_path
      Src: /src/glib/girepository/tests/repository.c:68,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/girepository/tests/repository.c:70,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:69,1
    - Dst: g_strfreev
      Src: /src/glib/girepository/tests/repository.c:76,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/girepository/tests/repository.c:71,1
    - Dst: gi_repository_get_loaded_namespaces
      Src: /src/glib/girepository/tests/repository.c:73,1
    - Dst: g_strv_length
      Src: /src/glib/girepository/tests/repository.c:75,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:61,1
    - Dst: g_assert_cmpstrv
      Src: /src/glib/girepository/tests/repository.c:65,1
    - Dst: gi_repository_get_c_prefix
      Src: /src/glib/girepository/tests/repository.c:78,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:79,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/girepository/tests/repository.c:80,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:58,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/girepository/tests/repository.c:75,1
    - Dst: g_strv_length
      Src: /src/glib/girepository/tests/repository.c:70,1
    - Dst: g_assert_cmpstrv
      Src: /src/glib/girepository/tests/repository.c:74,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 81
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 81
    functionName: test_repository_basic
    functionSourceFile: /src/glib/girepository/tests/repository.c
    functionUses: []
    functionsReached:
    - gi_repository_get_c_prefix
    - g_test_summary
    - g_strv_length
    - g_assert_nonnull
    - g_assert_cmpuint
    - g_assert_cmpstr
    - gi_repository_enumerate_versions
    - g_clear_pointer
    - gi_repository_get_search_path
    - gi_repository_get_loaded_namespaces
    - g_strfreev
    - g_assert_cmpstrv
    linkageType: ''
    returnType: void
    signature: 'static void test_repository_basic (RepositoryFixture *fx, const void
      *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/girepository/tests/repository.c:412,1
    - Dst: gi_type_info_get_interface
      Src: /src/glib/girepository/tests/repository.c:427,1
    - Dst: gi_registered_type_info_get_type_name
      Src: /src/glib/girepository/tests/repository.c:430,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/girepository/tests/repository.c:432,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:435,1
    - Dst: gi_registered_type_info_get_type_name
      Src: /src/glib/girepository/tests/repository.c:417,1
    - Dst: gi_object_info_find_method
      Src: /src/glib/girepository/tests/repository.c:420,1
    - Dst: gi_callable_info_get_return_type
      Src: /src/glib/girepository/tests/repository.c:423,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/girepository/tests/repository.c:425,1
    - Dst: GI_REGISTERED_TYPE_INFO
      Src: /src/glib/girepository/tests/repository.c:430,1
    - Dst: gi_type_info_get_tag
      Src: /src/glib/girepository/tests/repository.c:425,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:434,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:436,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:437,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:415,1
    - Dst: GI_OBJECT_INFO
      Src: /src/glib/girepository/tests/repository.c:414,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/repository.c:414,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:418,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:421,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:424,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:431,1
    - Dst: GI_REGISTERED_TYPE_INFO
      Src: /src/glib/girepository/tests/repository.c:417,1
    - Dst: GI_CALLABLE_INFO
      Src: /src/glib/girepository/tests/repository.c:423,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:428,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 438
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 438
    functionName: test_repository_constructor_return_type
    functionSourceFile: /src/glib/girepository/tests/repository.c
    functionUses: []
    functionsReached:
    - g_test_summary
    - gi_type_info_get_interface
    - g_assert_nonnull
    - gi_object_info_find_method
    - g_assert_cmpuint
    - g_assert_cmpstr
    - gi_callable_info_get_return_type
    - g_clear_pointer
    - GI_OBJECT_INFO
    - GI_REGISTERED_TYPE_INFO
    - GI_CALLABLE_INFO
    - gi_registered_type_info_get_type_name
    - gi_repository_find_by_name
    - gi_type_info_get_tag
    linkageType: ''
    returnType: void
    signature: 'static void test_repository_constructor_return_type (RepositoryFixture
      *fx, const void *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/girepository/tests/repository.c:484,1
    - Dst: GI_ENUM_INFO
      Src: /src/glib/girepository/tests/repository.c:486,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:487,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/repository.c:486,1
    - Dst: gi_enum_info_get_n_methods
      Src: /src/glib/girepository/tests/repository.c:489,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/girepository/tests/repository.c:490,1
    - Dst: gi_enum_info_get_method
      Src: /src/glib/girepository/tests/repository.c:494,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:495,1
    - Dst: gi_function_info_get_flags
      Src: /src/glib/girepository/tests/repository.c:497,1
    - Dst: g_assert_false
      Src: /src/glib/girepository/tests/repository.c:498,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:501,1
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/repository.c:502,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:504,1
    - Dst: gi_function_info_get_symbol
      Src: /src/glib/girepository/tests/repository.c:500,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:507,1
    - Dst: g_str_has_prefix
      Src: /src/glib/girepository/tests/repository.c:502,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 508
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 508
    functionName: test_repository_enum_info_static_methods
    functionSourceFile: /src/glib/girepository/tests/repository.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_test_summary
    - g_assert_nonnull
    - g_assert_cmpuint
    - g_str_has_prefix
    - g_clear_pointer
    - gi_function_info_get_symbol
    - gi_repository_find_by_name
    - gi_enum_info_get_method
    - g_assert_false
    - GI_ENUM_INFO
    - gi_function_info_get_flags
    - gi_enum_info_get_n_methods
    linkageType: ''
    returnType: void
    signature: 'static void test_repository_enum_info_static_methods (RepositoryFixture
      *fx, const void *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GI_OBJECT_INFO
      Src: /src/glib/girepository/tests/repository.c:785,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/repository.c:785,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:792,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/girepository/tests/repository.c:793,1
    - Dst: GI_BASE_INFO
      Src: /src/glib/girepository/tests/repository.c:793,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:799,1
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/tests/repository.c:793,1
    - Dst: GI_BASE_INFO
      Src: /src/glib/girepository/tests/repository.c:800,1
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/tests/repository.c:800,1
    - Dst: gi_object_info_find_method
      Src: /src/glib/girepository/tests/repository.c:798,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:786,1
    - Dst: gi_object_info_find_vfunc
      Src: /src/glib/girepository/tests/repository.c:788,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:789,1
    - Dst: gi_vfunc_info_get_invoker
      Src: /src/glib/girepository/tests/repository.c:791,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/girepository/tests/repository.c:800,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:803,1
    - Dst: g_test_summary
      Src: /src/glib/girepository/tests/repository.c:783,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:796,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:802,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:804,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 805
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 805
    functionName: test_repository_vfunc_info_with_invoker_on_object
    functionSourceFile: /src/glib/girepository/tests/repository.c
    functionUses: []
    functionsReached:
    - g_test_summary
    - GI_BASE_INFO
    - gi_object_info_find_vfunc
    - g_assert_nonnull
    - gi_vfunc_info_get_invoker
    - gi_object_info_find_method
    - g_assert_cmpstr
    - g_clear_pointer
    - GI_OBJECT_INFO
    - gi_repository_find_by_name
    - gi_base_info_get_name
    linkageType: ''
    returnType: void
    signature: 'static void test_repository_vfunc_info_with_invoker_on_object (RepositoryFixture
      *fx, const void *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/girepository/tests/repository.c:884,1
    - Dst: g_strv_length
      Src: /src/glib/girepository/tests/repository.c:888,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/girepository/tests/repository.c:888,1
    - Dst: gi_repository_get_loaded_namespaces
      Src: /src/glib/girepository/tests/repository.c:886,1
    - Dst: g_assert_cmpstrv
      Src: /src/glib/girepository/tests/repository.c:887,1
    - Dst: g_strfreev
      Src: /src/glib/girepository/tests/repository.c:889,1
    - Dst: gi_repository_get_loaded_namespaces
      Src: /src/glib/girepository/tests/repository.c:892,1
    - Dst: g_assert_cmpstrv
      Src: /src/glib/girepository/tests/repository.c:893,1
    - Dst: g_strfreev
      Src: /src/glib/girepository/tests/repository.c:894,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 895
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 895
    functionName: test_repository_loaded_namespaces
    functionSourceFile: /src/glib/girepository/tests/repository.c
    functionUses: []
    functionsReached:
    - g_test_summary
    - g_strv_length
    - g_assert_cmpuint
    - gi_repository_get_loaded_namespaces
    - g_strfreev
    - g_assert_cmpstrv
    linkageType: ''
    returnType: void
    signature: 'static void test_repository_loaded_namespaces (RepositoryFixture *fx,
      const void *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/girepository/tests/repository.c:585,1
    - Dst: GI_OBJECT_INFO
      Src: /src/glib/girepository/tests/repository.c:587,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:590,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/repository.c:587,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:588,1
    - Dst: gi_object_info_get_ref_function_pointer
      Src: /src/glib/girepository/tests/repository.c:590,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:592,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 593
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 593
    functionName: test_repository_fundamental_ref_func
    functionSourceFile: /src/glib/girepository/tests/repository.c
    functionUses: []
    functionsReached:
    - g_test_summary
    - g_assert_nonnull
    - g_clear_pointer
    - GI_OBJECT_INFO
    - gi_object_info_get_ref_function_pointer
    - gi_repository_find_by_name
    linkageType: ''
    returnType: void
    signature: 'static void test_repository_fundamental_ref_func (RepositoryFixture
      *fx, const void *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/girepository/tests/repository.c:603,1
    - Dst: gi_object_info_find_method
      Src: /src/glib/girepository/tests/repository.c:608,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/repository.c:605,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:606,1
    - Dst: GI_OBJECT_INFO
      Src: /src/glib/girepository/tests/repository.c:605,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:609,1
    - Dst: gi_callable_info_get_instance_ownership_transfer
      Src: /src/glib/girepository/tests/repository.c:610,1
    - Dst: GI_CALLABLE_INFO
      Src: /src/glib/girepository/tests/repository.c:610,1
    - Dst: g_assert_cmpint
      Src: /src/glib/girepository/tests/repository.c:611,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:613,1
    - Dst: gi_callable_info_get_instance_ownership_transfer
      Src: /src/glib/girepository/tests/repository.c:617,1
    - Dst: g_assert_cmpint
      Src: /src/glib/girepository/tests/repository.c:618,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:621,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:616,1
    - Dst: GI_CALLABLE_INFO
      Src: /src/glib/girepository/tests/repository.c:617,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:620,1
    - Dst: gi_object_info_find_method
      Src: /src/glib/girepository/tests/repository.c:615,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 622
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 622
    functionName: test_repository_instance_method_ownership_transfer
    functionSourceFile: /src/glib/girepository/tests/repository.c
    functionUses: []
    functionsReached:
    - g_test_summary
    - gi_callable_info_get_instance_ownership_transfer
    - gi_object_info_find_method
    - g_assert_nonnull
    - g_clear_pointer
    - GI_OBJECT_INFO
    - GI_CALLABLE_INFO
    - gi_repository_find_by_name
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_repository_instance_method_ownership_transfer (RepositoryFixture
      *fx, const void *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gi_base_info_clear
      Src: /src/glib/girepository/tests/repository.c:198,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:194,1
    - Dst: gi_base_info_clear
      Src: /src/glib/girepository/tests/repository.c:199,1
    - Dst: g_test_summary
      Src: /src/glib/girepository/tests/repository.c:177,1
    - Dst: gi_object_info_find_method
      Src: /src/glib/girepository/tests/repository.c:183,1
    - Dst: GI_OBJECT_INFO
      Src: /src/glib/girepository/tests/repository.c:181,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:184,1
    - Dst: gi_callable_info_get_arg
      Src: /src/glib/girepository/tests/repository.c:185,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:186,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:193,1
    - Dst: gi_base_info_clear
      Src: /src/glib/girepository/tests/repository.c:190,1
    - Dst: gi_base_info_clear
      Src: /src/glib/girepository/tests/repository.c:200,1
    - Dst: gi_arg_info_load_type_info
      Src: /src/glib/girepository/tests/repository.c:187,1
    - Dst: gi_base_info_clear
      Src: /src/glib/girepository/tests/repository.c:191,1
    - Dst: gi_base_info_clear
      Src: /src/glib/girepository/tests/repository.c:189,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:182,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/repository.c:181,1
    - Dst: GI_CALLABLE_INFO
      Src: /src/glib/girepository/tests/repository.c:185,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:195,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 201
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 201
    functionName: test_repository_base_info_clear
    functionSourceFile: /src/glib/girepository/tests/repository.c
    functionUses: []
    functionsReached:
    - gi_callable_info_get_arg
    - g_test_summary
    - gi_object_info_find_method
    - g_assert_nonnull
    - g_clear_pointer
    - GI_OBJECT_INFO
    - GI_CALLABLE_INFO
    - gi_repository_find_by_name
    - gi_base_info_clear
    - gi_arg_info_load_type_info
    linkageType: ''
    returnType: void
    signature: 'static void test_repository_base_info_clear (RepositoryFixture *fx,
      const void *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GI_IS_ENUM_INFO
      Src: /src/glib/girepository/tests/repository.c:529,1
    - Dst: g_test_summary
      Src: /src/glib/girepository/tests/repository.c:516,1
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/repository.c:521,1
    - Dst: GI_IS_ENUM_INFO
      Src: /src/glib/girepository/tests/repository.c:521,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:524,1
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/repository.c:529,1
    - Dst: gi_repository_find_by_error_domain
      Src: /src/glib/girepository/tests/repository.c:535,1
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/tests/repository.c:530,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/girepository/tests/repository.c:530,1
    - Dst: g_assert_null
      Src: /src/glib/girepository/tests/repository.c:538,1
    - Dst: gi_repository_find_by_error_domain
      Src: /src/glib/girepository/tests/repository.c:538,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:520,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/girepository/tests/repository.c:522,1
    - Dst: gi_repository_find_by_error_domain
      Src: /src/glib/girepository/tests/repository.c:527,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:532,1
    - Dst: g_assert_null
      Src: /src/glib/girepository/tests/repository.c:535,1
    - Dst: gi_repository_find_by_error_domain
      Src: /src/glib/girepository/tests/repository.c:519,1
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/tests/repository.c:522,1
    - Dst: GI_BASE_INFO
      Src: /src/glib/girepository/tests/repository.c:522,1
    - Dst: GI_BASE_INFO
      Src: /src/glib/girepository/tests/repository.c:530,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:528,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 543
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 543
    functionName: test_repository_error_quark
    functionSourceFile: /src/glib/girepository/tests/repository.c
    functionUses: []
    functionsReached:
    - GI_IS_ENUM_INFO
    - g_assert_true
    - g_test_summary
    - GI_BASE_INFO
    - g_assert_null
    - gi_repository_find_by_error_domain
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_clear_pointer
    - gi_base_info_get_name
    linkageType: ''
    returnType: void
    signature: 'static void test_repository_error_quark (RepositoryFixture *fx, const
      void *unused) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/girepository/tests/repository.c:633,1
    - Dst: GI_BASE_INFO
      Src: /src/glib/girepository/tests/repository.c:641,1
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/tests/repository.c:641,1
    - Dst: gi_repository_get_object_gtype_interfaces
      Src: /src/glib/girepository/tests/repository.c:635,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/girepository/tests/repository.c:637,1
    - Dst: strcmp
      Src: /src/glib/girepository/tests/repository.c:642,1
    - Dst: strcmp
      Src: /src/glib/girepository/tests/repository.c:644,1
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/repository.c:648,1
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/repository.c:649,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 650
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 650
    functionName: test_repository_object_gtype_interfaces
    functionSourceFile: /src/glib/girepository/tests/repository.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - GI_BASE_INFO
    - g_test_summary
    - gi_repository_get_object_gtype_interfaces
    - g_assert_cmpuint
    - strcmp
    - gi_base_info_get_name
    linkageType: ''
    returnType: void
    signature: 'static void test_repository_object_gtype_interfaces (RepositoryFixture
      *fx, const void *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GI_OBJECT_INFO
      Src: /src/glib/girepository/tests/repository.c:220,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:221,1
    - Dst: GI_CALLABLE_INFO
      Src: /src/glib/girepository/tests/repository.c:226,1
    - Dst: g_assert_false
      Src: /src/glib/girepository/tests/repository.c:230,1
    - Dst: gi_arg_info_may_be_null
      Src: /src/glib/girepository/tests/repository.c:233,1
    - Dst: g_assert_cmpint
      Src: /src/glib/girepository/tests/repository.c:236,1
    - Dst: gi_arg_info_get_closure_index
      Src: /src/glib/girepository/tests/repository.c:238,1
    - Dst: g_assert_false
      Src: /src/glib/girepository/tests/repository.c:241,1
    - Dst: gi_arg_info_get_destroy_index
      Src: /src/glib/girepository/tests/repository.c:241,1
    - Dst: gi_arg_info_get_type_info
      Src: /src/glib/girepository/tests/repository.c:244,1
    - Dst: gi_type_info_get_tag
      Src: /src/glib/girepository/tests/repository.c:251,1
    - Dst: gi_arg_info_is_optional
      Src: /src/glib/girepository/tests/repository.c:272,1
    - Dst: g_assert_cmpint
      Src: /src/glib/girepository/tests/repository.c:274,1
    - Dst: gi_type_info_get_tag
      Src: /src/glib/girepository/tests/repository.c:247,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/repository.c:262,1
    - Dst: g_assert_cmpint
      Src: /src/glib/girepository/tests/repository.c:271,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:277,1
    - Dst: GI_STRUCT_INFO
      Src: /src/glib/girepository/tests/repository.c:262,1
    - Dst: gi_arg_info_get_direction
      Src: /src/glib/girepository/tests/repository.c:229,1
    - Dst: gi_arg_info_is_return_value
      Src: /src/glib/girepository/tests/repository.c:230,1
    - Dst: g_assert_false
      Src: /src/glib/girepository/tests/repository.c:231,1
    - Dst: gi_arg_info_is_skip
      Src: /src/glib/girepository/tests/repository.c:234,1
    - Dst: g_assert_cmpint
      Src: /src/glib/girepository/tests/repository.c:235,1
    - Dst: g_assert_false
      Src: /src/glib/girepository/tests/repository.c:237,1
    - Dst: g_assert_false
      Src: /src/glib/girepository/tests/repository.c:238,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/girepository/tests/repository.c:239,1
    - Dst: gi_arg_info_get_destroy_index
      Src: /src/glib/girepository/tests/repository.c:240,1
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/repository.c:250,1
    - Dst: gi_base_info_clear
      Src: /src/glib/girepository/tests/repository.c:253,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:254,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:256,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:245,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:257,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:258,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:263,1
    - Dst: gi_type_info_get_tag
      Src: /src/glib/girepository/tests/repository.c:251,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:278,1
    - Dst: gi_arg_info_is_caller_allocates
      Src: /src/glib/girepository/tests/repository.c:273,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:276,1
    - Dst: g_test_summary
      Src: /src/glib/girepository/tests/repository.c:215,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/repository.c:220,1
    - Dst: gi_object_info_find_method
      Src: /src/glib/girepository/tests/repository.c:223,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:224,1
    - Dst: gi_callable_info_get_arg
      Src: /src/glib/girepository/tests/repository.c:226,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:227,1
    - Dst: g_assert_false
      Src: /src/glib/girepository/tests/repository.c:232,1
    - Dst: gi_arg_info_is_optional
      Src: /src/glib/girepository/tests/repository.c:231,1
    - Dst: g_assert_false
      Src: /src/glib/girepository/tests/repository.c:234,1
    - Dst: g_assert_false
      Src: /src/glib/girepository/tests/repository.c:240,1
    - Dst: g_assert_false
      Src: /src/glib/girepository/tests/repository.c:272,1
    - Dst: g_assert_false
      Src: /src/glib/girepository/tests/repository.c:273,1
    - Dst: g_assert_cmpint
      Src: /src/glib/girepository/tests/repository.c:247,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:269,1
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/repository.c:246,1
    - Dst: gi_callable_info_get_arg
      Src: /src/glib/girepository/tests/repository.c:268,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:266,1
    - Dst: gi_arg_info_get_ownership_transfer
      Src: /src/glib/girepository/tests/repository.c:274,1
    - Dst: gi_struct_info_find_method
      Src: /src/glib/girepository/tests/repository.c:265,1
    - Dst: g_assert_cmpint
      Src: /src/glib/girepository/tests/repository.c:229,1
    - Dst: g_assert_false
      Src: /src/glib/girepository/tests/repository.c:233,1
    - Dst: gi_arg_info_is_caller_allocates
      Src: /src/glib/girepository/tests/repository.c:232,1
    - Dst: gi_arg_info_get_ownership_transfer
      Src: /src/glib/girepository/tests/repository.c:235,1
    - Dst: gi_arg_info_get_scope
      Src: /src/glib/girepository/tests/repository.c:236,1
    - Dst: gi_arg_info_get_closure_index
      Src: /src/glib/girepository/tests/repository.c:237,1
    - Dst: gi_type_info_is_pointer
      Src: /src/glib/girepository/tests/repository.c:246,1
    - Dst: gi_arg_info_load_type_info
      Src: /src/glib/girepository/tests/repository.c:249,1
    - Dst: gi_type_info_is_pointer
      Src: /src/glib/girepository/tests/repository.c:250,1
    - Dst: gi_type_info_is_pointer
      Src: /src/glib/girepository/tests/repository.c:250,1
    - Dst: g_assert_cmpint
      Src: /src/glib/girepository/tests/repository.c:251,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/girepository/tests/repository.c:242,1
    - Dst: gi_arg_info_get_direction
      Src: /src/glib/girepository/tests/repository.c:271,1
    - Dst: GI_CALLABLE_INFO
      Src: /src/glib/girepository/tests/repository.c:268,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 81
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 279
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 279
    functionName: test_repository_arg_info
    functionSourceFile: /src/glib/girepository/tests/repository.c
    functionUses: []
    functionsReached:
    - gi_callable_info_get_arg
    - gi_arg_info_is_optional
    - GI_STRUCT_INFO
    - gi_object_info_find_method
    - GI_OBJECT_INFO
    - gi_arg_info_may_be_null
    - gi_base_info_clear
    - gi_type_info_is_pointer
    - g_assert_true
    - gi_arg_info_get_type_info
    - g_assert_nonnull
    - g_clear_pointer
    - gi_arg_info_get_destroy_index
    - g_assert_false
    - g_assert_cmpint
    - g_assert_cmpuint
    - gi_arg_info_is_skip
    - gi_repository_find_by_name
    - gi_type_info_get_tag
    - gi_arg_info_get_closure_index
    - gi_arg_info_is_caller_allocates
    - gi_struct_info_find_method
    - g_test_summary
    - gi_arg_info_get_scope
    - gi_arg_info_is_return_value
    - gi_arg_info_get_direction
    - GI_CALLABLE_INFO
    - gi_arg_info_get_ownership_transfer
    - gi_arg_info_load_type_info
    linkageType: ''
    returnType: void
    signature: 'static void test_repository_arg_info (RepositoryFixture *fx, const
      void *unused) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/girepository/tests/repository.c:554,1
    - Dst: gi_repository_get_info
      Src: /src/glib/girepository/tests/repository.c:560,1
    - Dst: GI_IS_FLAGS_INFO
      Src: /src/glib/girepository/tests/repository.c:562,1
    - Dst: gi_enum_info_get_n_values
      Src: /src/glib/girepository/tests/repository.c:564,1
    - Dst: gi_repository_get_n_infos
      Src: /src/glib/girepository/tests/repository.c:556,1
    - Dst: GI_ENUM_INFO
      Src: /src/glib/girepository/tests/repository.c:564,1
    - Dst: gi_enum_info_get_value
      Src: /src/glib/girepository/tests/repository.c:567,1
    - Dst: GI_ENUM_INFO
      Src: /src/glib/girepository/tests/repository.c:567,1
    - Dst: gi_base_info_get_attribute
      Src: /src/glib/girepository/tests/repository.c:568,1
    - Dst: GI_BASE_INFO
      Src: /src/glib/girepository/tests/repository.c:568,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:571,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:569,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:575,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 577
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 577
    functionName: test_repository_flags_info_c_identifier
    functionSourceFile: /src/glib/girepository/tests/repository.c
    functionUses: []
    functionsReached:
    - g_test_summary
    - GI_BASE_INFO
    - gi_base_info_get_attribute
    - g_assert_nonnull
    - gi_repository_get_info
    - gi_enum_info_get_value
    - GI_IS_FLAGS_INFO
    - g_clear_pointer
    - gi_repository_get_n_infos
    - gi_enum_info_get_n_values
    - GI_ENUM_INFO
    linkageType: ''
    returnType: void
    signature: 'static void test_repository_flags_info_c_identifier (RepositoryFixture
      *fx, const void *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/girepository/tests/repository.c:662,1
    - Dst: gi_callable_info_get_arg
      Src: /src/glib/girepository/tests/repository.c:673,1
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/tests/repository.c:675,1
    - Dst: gi_arg_info_get_type_info
      Src: /src/glib/girepository/tests/repository.c:677,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/girepository/tests/repository.c:675,1
    - Dst: gi_type_info_get_array_type
      Src: /src/glib/girepository/tests/repository.c:680,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/girepository/tests/repository.c:684,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:686,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:691,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:695,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:697,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:668,1
    - Dst: gi_type_info_get_tag
      Src: /src/glib/girepository/tests/repository.c:679,1
    - Dst: g_assert_cmpint
      Src: /src/glib/girepository/tests/repository.c:679,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:674,1
    - Dst: g_assert_cmpint
      Src: /src/glib/girepository/tests/repository.c:680,1
    - Dst: g_assert_false
      Src: /src/glib/girepository/tests/repository.c:681,1
    - Dst: gi_type_info_is_zero_terminated
      Src: /src/glib/girepository/tests/repository.c:681,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:687,1
    - Dst: GI_CALLABLE_INFO
      Src: /src/glib/girepository/tests/repository.c:690,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/girepository/tests/repository.c:692,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:696,1
    - Dst: GI_BASE_INFO
      Src: /src/glib/girepository/tests/repository.c:692,1
    - Dst: gi_object_info_find_signal
      Src: /src/glib/girepository/tests/repository.c:667,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/girepository/tests/repository.c:670,1
    - Dst: GI_CALLABLE_INFO
      Src: /src/glib/girepository/tests/repository.c:670,1
    - Dst: GI_CALLABLE_INFO
      Src: /src/glib/girepository/tests/repository.c:673,1
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/repository.c:683,1
    - Dst: gi_callable_info_get_arg
      Src: /src/glib/girepository/tests/repository.c:690,1
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/tests/repository.c:692,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:694,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/repository.c:664,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:665,1
    - Dst: GI_OBJECT_INFO
      Src: /src/glib/girepository/tests/repository.c:664,1
    - Dst: gi_callable_info_get_n_args
      Src: /src/glib/girepository/tests/repository.c:670,1
    - Dst: GI_BASE_INFO
      Src: /src/glib/girepository/tests/repository.c:675,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:678,1
    - Dst: gi_type_info_get_array_length_index
      Src: /src/glib/girepository/tests/repository.c:682,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 44
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 698
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 698
    functionName: test_repository_signal_info_with_array_length_arg
    functionSourceFile: /src/glib/girepository/tests/repository.c
    functionUses: []
    functionsReached:
    - gi_object_info_find_signal
    - gi_callable_info_get_n_args
    - gi_callable_info_get_arg
    - GI_OBJECT_INFO
    - g_assert_true
    - gi_arg_info_get_type_info
    - g_assert_nonnull
    - g_clear_pointer
    - g_assert_false
    - g_assert_cmpint
    - GI_BASE_INFO
    - gi_type_info_get_array_length_index
    - g_assert_cmpuint
    - gi_type_info_get_array_type
    - gi_repository_find_by_name
    - gi_type_info_get_tag
    - g_test_summary
    - g_assert_cmpstr
    - GI_CALLABLE_INFO
    - gi_type_info_is_zero_terminated
    - gi_base_info_get_name
    linkageType: ''
    returnType: void
    signature: 'static void test_repository_signal_info_with_array_length_arg (RepositoryFixture
      *fx, const void *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: repository_init
      Src: /src/glib/girepository/tests/repository.c:901,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/repository.c:924,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/repository.c:903,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/repository.c:905,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/repository.c:908,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/repository.c:910,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/repository.c:917,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/repository.c:918,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/repository.c:915,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/repository.c:920,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/repository.c:913,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/repository.c:912,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/repository.c:922,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/repository.c:925,1
    - Dst: g_test_run
      Src: /src/glib/girepository/tests/repository.c:927,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/repository.c:906,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/repository.c:904,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/repository.c:907,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/repository.c:909,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/repository.c:911,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/repository.c:916,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/repository.c:914,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/repository.c:919,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/repository.c:921,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/repository.c:923,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 928
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 928
    functionName: main
    functionSourceFile: /src/glib/girepository/tests/repository.c
    functionUses: []
    functionsReached:
    - g_test_run
    - ADD_REPOSITORY_TEST
    - repository_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GI_IS_REGISTERED_TYPE_INFO
      Src: /src/glib/girepository/tests/repository.c:101,1
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/repository.c:102,1
    - Dst: GI_IS_BASE_INFO
      Src: /src/glib/girepository/tests/repository.c:102,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/girepository/tests/repository.c:105,1
    - Dst: GI_BASE_INFO
      Src: /src/glib/girepository/tests/repository.c:104,1
    - Dst: g_type_is_a
      Src: /src/glib/girepository/tests/repository.c:108,1
    - Dst: GI_OBJECT_INFO
      Src: /src/glib/girepository/tests/repository.c:110,1
    - Dst: gi_repository_find_by_gtype
      Src: /src/glib/girepository/tests/repository.c:110,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:111,1
    - Dst: gi_object_info_find_signal
      Src: /src/glib/girepository/tests/repository.c:113,1
    - Dst: GI_IS_CALLABLE_INFO
      Src: /src/glib/girepository/tests/repository.c:130,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/girepository/tests/repository.c:140,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/tests/repository.c:144,1
    - Dst: GI_IS_BASE_INFO
      Src: /src/glib/girepository/tests/repository.c:120,1
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/repository.c:131,1
    - Dst: GI_CALLABLE_INFO
      Src: /src/glib/girepository/tests/repository.c:134,1
    - Dst: GI_CALLABLE_INFO
      Src: /src/glib/girepository/tests/repository.c:139,1
    - Dst: gi_callable_info_get_n_args
      Src: /src/glib/girepository/tests/repository.c:140,1
    - Dst: g_test_summary
      Src: /src/glib/girepository/tests/repository.c:93,1
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/tests/repository.c:104,1
    - Dst: gi_base_info_get_namespace
      Src: /src/glib/girepository/tests/repository.c:105,1
    - Dst: g_assert_null
      Src: /src/glib/girepository/tests/repository.c:114,1
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/repository.c:118,1
    - Dst: g_assert_cmpint
      Src: /src/glib/girepository/tests/repository.c:122,1
    - Dst: gi_signal_info_get_flags
      Src: /src/glib/girepository/tests/repository.c:122,1
    - Dst: gi_object_info_find_method
      Src: /src/glib/girepository/tests/repository.c:127,1
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/repository.c:120,1
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/repository.c:129,1
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/repository.c:133,1
    - Dst: GI_IS_CALLABLE_INFO
      Src: /src/glib/girepository/tests/repository.c:119,1
    - Dst: GI_CALLABLE_INFO
      Src: /src/glib/girepository/tests/repository.c:133,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/girepository/tests/repository.c:134,1
    - Dst: GI_IS_OBJECT_INFO
      Src: /src/glib/girepository/tests/repository.c:100,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/girepository/tests/repository.c:104,1
    - Dst: GI_BASE_INFO
      Src: /src/glib/girepository/tests/repository.c:105,1
    - Dst: gi_registered_type_info_get_g_type
      Src: /src/glib/girepository/tests/repository.c:107,1
    - Dst: GI_IS_SIGNAL_INFO
      Src: /src/glib/girepository/tests/repository.c:118,1
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/repository.c:119,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/girepository/tests/repository.c:125,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:128,1
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/repository.c:130,1
    - Dst: gi_object_info_get_n_methods
      Src: /src/glib/girepository/tests/repository.c:125,1
    - Dst: gi_callable_info_get_n_args
      Src: /src/glib/girepository/tests/repository.c:134,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/tests/repository.c:143,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:135,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:117,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/repository.c:98,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/repository.c:95,1
    - Dst: g_assert_null
      Src: /src/glib/girepository/tests/repository.c:96,1
    - Dst: GI_OBJECT_INFO
      Src: /src/glib/girepository/tests/repository.c:98,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:99,1
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/repository.c:100,1
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/repository.c:101,1
    - Dst: GI_REGISTERED_TYPE_INFO
      Src: /src/glib/girepository/tests/repository.c:107,1
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/repository.c:108,1
    - Dst: gi_object_info_find_signal
      Src: /src/glib/girepository/tests/repository.c:116,1
    - Dst: gi_callable_info_is_method
      Src: /src/glib/girepository/tests/repository.c:133,1
    - Dst: gi_object_info_get_n_methods
      Src: /src/glib/girepository/tests/repository.c:138,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:141,1
    - Dst: gi_object_info_get_method
      Src: /src/glib/girepository/tests/repository.c:137,1
    - Dst: GI_IS_BASE_INFO
      Src: /src/glib/girepository/tests/repository.c:131,1
    - Dst: gi_callable_info_is_method
      Src: /src/glib/girepository/tests/repository.c:139,1
    - Dst: GI_IS_FUNCTION_INFO
      Src: /src/glib/girepository/tests/repository.c:129,1
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/repository.c:139,1
    - Dst: GI_CALLABLE_INFO
      Src: /src/glib/girepository/tests/repository.c:140,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/tests/repository.c:145,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 80
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 146
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 146
    functionName: test_repository_info
    functionSourceFile: /src/glib/girepository/tests/repository.c
    functionUses: []
    functionsReached:
    - gi_object_info_find_signal
    - GI_IS_BASE_INFO
    - GI_IS_CALLABLE_INFO
    - gi_callable_info_get_n_args
    - gi_base_info_unref
    - g_assert_null
    - gi_signal_info_get_flags
    - gi_object_info_find_method
    - GI_OBJECT_INFO
    - GI_REGISTERED_TYPE_INFO
    - GI_IS_SIGNAL_INFO
    - g_type_is_a
    - GI_IS_OBJECT_INFO
    - g_assert_true
    - gi_repository_find_by_gtype
    - g_assert_nonnull
    - g_clear_pointer
    - gi_object_info_get_method
    - gi_registered_type_info_get_g_type
    - gi_callable_info_is_method
    - GI_IS_FUNCTION_INFO
    - g_assert_cmpint
    - GI_BASE_INFO
    - g_assert_cmpuint
    - gi_base_info_get_namespace
    - gi_object_info_get_n_methods
    - gi_repository_find_by_name
    - g_test_summary
    - g_assert_cmpstr
    - GI_CALLABLE_INFO
    - GI_IS_REGISTERED_TYPE_INFO
    - gi_base_info_get_name
    linkageType: ''
    returnType: void
    signature: 'static void test_repository_info (RepositoryFixture *fx, const void
      *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/girepository/tests/repository.c:295,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/repository.c:299,1
    - Dst: GI_OBJECT_INFO
      Src: /src/glib/girepository/tests/repository.c:299,1
    - Dst: GI_CALLABLE_INFO
      Src: /src/glib/girepository/tests/repository.c:305,1
    - Dst: gi_callable_info_can_throw_gerror
      Src: /src/glib/girepository/tests/repository.c:308,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:311,1
    - Dst: gi_callable_info_load_return_type
      Src: /src/glib/girepository/tests/repository.c:315,1
    - Dst: gi_type_info_get_tag
      Src: /src/glib/girepository/tests/repository.c:313,1
    - Dst: gi_callable_info_get_return_type
      Src: /src/glib/girepository/tests/repository.c:310,1
    - Dst: gi_type_info_get_tag
      Src: /src/glib/girepository/tests/repository.c:317,1
    - Dst: gi_arg_info_get_direction
      Src: /src/glib/girepository/tests/repository.c:337,1
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/repository.c:338,1
    - Dst: gi_callable_info_get_instance_ownership_transfer
      Src: /src/glib/girepository/tests/repository.c:343,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/girepository/tests/repository.c:331,1
    - Dst: g_assert_cmpint
      Src: /src/glib/girepository/tests/repository.c:343,1
    - Dst: gi_callable_info_get_arg
      Src: /src/glib/girepository/tests/repository.c:333,1
    - Dst: gi_base_info_clear
      Src: /src/glib/girepository/tests/repository.c:340,1
    - Dst: gi_callable_info_get_n_args
      Src: /src/glib/girepository/tests/repository.c:331,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:345,1
    - Dst: gi_object_info_find_method
      Src: /src/glib/girepository/tests/repository.c:302,1
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/repository.c:316,1
    - Dst: g_assert_cmpint
      Src: /src/glib/girepository/tests/repository.c:313,1
    - Dst: gi_type_info_is_pointer
      Src: /src/glib/girepository/tests/repository.c:316,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:320,1
    - Dst: g_assert_false
      Src: /src/glib/girepository/tests/repository.c:323,1
    - Dst: gi_callable_info_get_return_attribute
      Src: /src/glib/girepository/tests/repository.c:325,1
    - Dst: gi_callable_info_may_return_null
      Src: /src/glib/girepository/tests/repository.c:328,1
    - Dst: gi_arg_info_may_be_null
      Src: /src/glib/girepository/tests/repository.c:338,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:341,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:300,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:303,1
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/repository.c:307,1
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/repository.c:312,1
    - Dst: gi_type_info_is_pointer
      Src: /src/glib/girepository/tests/repository.c:316,1
    - Dst: g_assert_cmpint
      Src: /src/glib/girepository/tests/repository.c:317,1
    - Dst: gi_type_info_get_tag
      Src: /src/glib/girepository/tests/repository.c:317,1
    - Dst: gi_callable_info_iterate_return_attributes
      Src: /src/glib/girepository/tests/repository.c:323,1
    - Dst: g_assert_false
      Src: /src/glib/girepository/tests/repository.c:327,1
    - Dst: gi_callable_info_get_caller_owns
      Src: /src/glib/girepository/tests/repository.c:327,1
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/repository.c:328,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:346,1
    - Dst: gi_callable_info_is_method
      Src: /src/glib/girepository/tests/repository.c:307,1
    - Dst: g_assert_false
      Src: /src/glib/girepository/tests/repository.c:308,1
    - Dst: gi_type_info_is_pointer
      Src: /src/glib/girepository/tests/repository.c:312,1
    - Dst: g_assert_null
      Src: /src/glib/girepository/tests/repository.c:325,1
    - Dst: g_assert_false
      Src: /src/glib/girepository/tests/repository.c:329,1
    - Dst: gi_callable_info_load_arg
      Src: /src/glib/girepository/tests/repository.c:336,1
    - Dst: g_assert_cmpint
      Src: /src/glib/girepository/tests/repository.c:337,1
    - Dst: gi_arg_info_get_direction
      Src: /src/glib/girepository/tests/repository.c:337,1
    - Dst: gi_arg_info_may_be_null
      Src: /src/glib/girepository/tests/repository.c:338,1
    - Dst: gi_base_info_clear
      Src: /src/glib/girepository/tests/repository.c:319,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:334,1
    - Dst: gi_callable_info_skip_return
      Src: /src/glib/girepository/tests/repository.c:329,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 61
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 347
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 347
    functionName: test_repository_callable_info
    functionSourceFile: /src/glib/girepository/tests/repository.c
    functionUses: []
    functionsReached:
    - gi_callable_info_may_return_null
    - gi_callable_info_get_n_args
    - gi_callable_info_get_arg
    - g_assert_null
    - gi_object_info_find_method
    - gi_callable_info_can_throw_gerror
    - gi_callable_info_get_caller_owns
    - GI_OBJECT_INFO
    - gi_base_info_clear
    - gi_arg_info_may_be_null
    - gi_type_info_is_pointer
    - g_assert_true
    - g_assert_nonnull
    - gi_callable_info_get_return_type
    - g_clear_pointer
    - gi_callable_info_load_arg
    - gi_callable_info_load_return_type
    - g_assert_false
    - gi_callable_info_is_method
    - gi_callable_info_skip_return
    - g_assert_cmpint
    - gi_callable_info_get_instance_ownership_transfer
    - g_assert_cmpuint
    - gi_repository_find_by_name
    - gi_type_info_get_tag
    - gi_callable_info_get_return_attribute
    - g_test_summary
    - gi_arg_info_get_direction
    - gi_callable_info_iterate_return_attributes
    - GI_CALLABLE_INFO
    linkageType: ''
    returnType: void
    signature: 'static void test_repository_callable_info (RepositoryFixture *fx,
      const void *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/girepository/tests/repository.c:708,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/repository.c:711,1
    - Dst: g_test_bug
      Src: /src/glib/girepository/tests/repository.c:709,1
    - Dst: GI_INTERFACE_INFO
      Src: /src/glib/girepository/tests/repository.c:711,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:712,1
    - Dst: gi_interface_info_find_vfunc
      Src: /src/glib/girepository/tests/repository.c:713,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:714,1
    - Dst: gi_callable_info_get_return_type
      Src: /src/glib/girepository/tests/repository.c:716,1
    - Dst: GI_CALLABLE_INFO
      Src: /src/glib/girepository/tests/repository.c:716,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:717,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:722,1
    - Dst: GI_BASE_INFO
      Src: /src/glib/girepository/tests/repository.c:719,1
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/tests/repository.c:719,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:723,1
    - Dst: g_assert_null
      Src: /src/glib/girepository/tests/repository.c:719,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:721,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 724
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 724
    functionName: test_repository_type_info_name
    functionSourceFile: /src/glib/girepository/tests/repository.c
    functionUses: []
    functionsReached:
    - g_test_summary
    - GI_BASE_INFO
    - g_assert_null
    - gi_interface_info_find_vfunc
    - g_assert_nonnull
    - g_test_bug
    - gi_callable_info_get_return_type
    - g_clear_pointer
    - GI_INTERFACE_INFO
    - GI_CALLABLE_INFO
    - gi_repository_find_by_name
    - gi_base_info_get_name
    linkageType: ''
    returnType: void
    signature: 'static void test_repository_type_info_name (RepositoryFixture *fx,
      const void *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/girepository/tests/repository.c:156,1
    - Dst: gi_repository_get_dependencies
      Src: /src/glib/girepository/tests/repository.c:158,1
    - Dst: g_strv_length
      Src: /src/glib/girepository/tests/repository.c:159,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/girepository/tests/repository.c:160,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/girepository/tests/repository.c:159,1
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/repository.c:161,1
    - Dst: g_strv_contains
      Src: /src/glib/girepository/tests/repository.c:161,1
    - Dst: g_clear_error
      Src: /src/glib/girepository/tests/repository.c:163,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:164,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 165
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 165
    functionName: test_repository_dependencies
    functionSourceFile: /src/glib/girepository/tests/repository.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_assert_true
    - g_test_summary
    - g_strv_length
    - g_assert_cmpuint
    - g_strv_contains
    - g_clear_pointer
    - gi_repository_get_dependencies
    linkageType: ''
    returnType: void
    signature: 'static void test_repository_dependencies (RepositoryFixture *fx, const
      void *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/girepository/tests/repository.c:355,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:359,1
    - Dst: GI_CALLBACK_INFO
      Src: /src/glib/girepository/tests/repository.c:358,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:361,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/repository.c:358,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 362
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 362
    functionName: test_repository_callback_info
    functionSourceFile: /src/glib/girepository/tests/repository.c
    functionUses: []
    functionsReached:
    - g_test_summary
    - GI_CALLBACK_INFO
    - g_assert_nonnull
    - g_clear_pointer
    - gi_repository_find_by_name
    linkageType: ''
    returnType: void
    signature: 'static void test_repository_callback_info (RepositoryFixture *fx,
      const void *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/girepository/tests/repository.c:734,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/repository.c:736,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:737,1
    - Dst: gi_object_info_find_vfunc
      Src: /src/glib/girepository/tests/repository.c:739,1
    - Dst: GI_OBJECT_INFO
      Src: /src/glib/girepository/tests/repository.c:736,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository.c:740,1
    - Dst: gi_vfunc_info_get_invoker
      Src: /src/glib/girepository/tests/repository.c:742,1
    - Dst: g_assert_null
      Src: /src/glib/girepository/tests/repository.c:743,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:745,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository.c:746,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 747
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 747
    functionName: test_repository_vfunc_info_with_no_invoker
    functionSourceFile: /src/glib/girepository/tests/repository.c
    functionUses: []
    functionsReached:
    - g_test_summary
    - g_assert_null
    - gi_object_info_find_vfunc
    - g_assert_nonnull
    - gi_vfunc_info_get_invoker
    - g_clear_pointer
    - GI_OBJECT_INFO
    - gi_repository_find_by_name
    linkageType: ''
    returnType: void
    signature: 'static void test_repository_vfunc_info_with_no_invoker (RepositoryFixture
      *fx, const void *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/girepository/tests/function-info.c:35,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/function-info.c:38,1
    - Dst: GI_FUNCTION_INFO
      Src: /src/glib/girepository/tests/function-info.c:37,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/function-info.c:37,1
    - Dst: gi_function_info_prep_invoker
      Src: /src/glib/girepository/tests/function-info.c:40,1
    - Dst: g_assert_no_error
      Src: /src/glib/girepository/tests/function-info.c:41,1
    - Dst: gi_function_invoker_clear
      Src: /src/glib/girepository/tests/function-info.c:43,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/function-info.c:44,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 45
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 45
    functionName: test_function_info_invoker
    functionSourceFile: /src/glib/girepository/tests/function-info.c
    functionUses: []
    functionsReached:
    - g_test_summary
    - gi_function_invoker_clear
    - g_assert_nonnull
    - gi_function_info_prep_invoker
    - g_assert_no_error
    - GI_FUNCTION_INFO
    - g_clear_pointer
    - gi_repository_find_by_name
    linkageType: ''
    returnType: void
    signature: 'static void test_function_info_invoker (RepositoryFixture *fx, const
      void *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: repository_init
      Src: /src/glib/girepository/tests/function-info.c:51,1
    - Dst: g_test_run
      Src: /src/glib/girepository/tests/function-info.c:55,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/function-info.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 56
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 56
    functionName: main
    functionSourceFile: /src/glib/girepository/tests/function-info.c
    functionUses: []
    functionsReached:
    - g_test_run
    - ADD_REPOSITORY_TEST
    - repository_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gi_typelib_hash_builder_new
      Src: /src/glib/girepository/tests/gthash.c:34,1
    - Dst: gi_typelib_hash_builder_prepare
      Src: /src/glib/girepository/tests/gthash.c:41,1
    - Dst: gi_typelib_hash_search
      Src: /src/glib/girepository/tests/gthash.c:54,1
    - Dst: gi_typelib_hash_builder_destroy
      Src: /src/glib/girepository/tests/gthash.c:49,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/girepository/tests/gthash.c:52,1
    - Dst: g_free
      Src: /src/glib/girepository/tests/gthash.c:56,1
    - Dst: gi_typelib_hash_builder_add_string
      Src: /src/glib/girepository/tests/gthash.c:37,1
    - Dst: gi_typelib_hash_search
      Src: /src/glib/girepository/tests/gthash.c:51,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/girepository/tests/gthash.c:53,1
    - Dst: gi_typelib_hash_builder_add_string
      Src: /src/glib/girepository/tests/gthash.c:38,1
    - Dst: gi_typelib_hash_builder_add_string
      Src: /src/glib/girepository/tests/gthash.c:36,1
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/gthash.c:41,1
    - Dst: g_malloc
      Src: /src/glib/girepository/tests/gthash.c:45,1
    - Dst: gi_typelib_hash_builder_pack
      Src: /src/glib/girepository/tests/gthash.c:47,1
    - Dst: gi_typelib_hash_search
      Src: /src/glib/girepository/tests/gthash.c:52,1
    - Dst: gi_typelib_hash_builder_add_string
      Src: /src/glib/girepository/tests/gthash.c:39,1
    - Dst: gi_typelib_hash_builder_get_buffer_size
      Src: /src/glib/girepository/tests/gthash.c:43,1
    - Dst: gi_typelib_hash_search
      Src: /src/glib/girepository/tests/gthash.c:53,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/girepository/tests/gthash.c:54,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/girepository/tests/gthash.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 57
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 57
    functionName: test_build_retrieve
    functionSourceFile: /src/glib/girepository/tests/gthash.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - gi_typelib_hash_builder_new
    - gi_typelib_hash_builder_add_string
    - g_assert_cmpuint
    - gi_typelib_hash_builder_destroy
    - g_malloc
    - gi_typelib_hash_search
    - gi_typelib_hash_builder_get_buffer_size
    - gi_typelib_hash_builder_pack
    - g_free
    - gi_typelib_hash_builder_prepare
    linkageType: ''
    returnType: void
    signature: 'static void test_build_retrieve (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/girepository/tests/gthash.c:62,1
    - Dst: g_test_add_func
      Src: /src/glib/girepository/tests/gthash.c:64,1
    - Dst: g_test_run
      Src: /src/glib/girepository/tests/gthash.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 67
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 67
    functionName: main
    functionSourceFile: /src/glib/girepository/tests/gthash.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_open_tmp
      Src: /src/glib/girepository/tests/dump.c:76,1
    - Dst: g_strconcat
      Src: /src/glib/girepository/tests/dump.c:80,1
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/dump.c:78,1
    - Dst: g_close
      Src: /src/glib/girepository/tests/dump.c:78,1
    - Dst: g_assert_cmpint
      Src: /src/glib/girepository/tests/dump.c:77,1
    - Dst: g_file_set_contents
      Src: /src/glib/girepository/tests/dump.c:82,1
    - Dst: g_assert_no_error
      Src: /src/glib/girepository/tests/dump.c:83,1
    - Dst: gi_repository_dump
      Src: /src/glib/girepository/tests/dump.c:85,1
    - Dst: g_assert_no_error
      Src: /src/glib/girepository/tests/dump.c:86,1
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/dump.c:87,1
    - Dst: g_assert_no_error
      Src: /src/glib/girepository/tests/dump.c:90,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/girepository/tests/dump.c:92,1
    - Dst: g_free
      Src: /src/glib/girepository/tests/dump.c:98,1
    - Dst: g_unlink
      Src: /src/glib/girepository/tests/dump.c:95,1
    - Dst: g_file_get_contents
      Src: /src/glib/girepository/tests/dump.c:89,1
    - Dst: g_unlink
      Src: /src/glib/girepository/tests/dump.c:94,1
    - Dst: g_free
      Src: /src/glib/girepository/tests/dump.c:96,1
    - Dst: g_free
      Src: /src/glib/girepository/tests/dump.c:97,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - input
    - expected_output
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 99
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 99
    functionName: assert_dump
    functionSourceFile: /src/glib/girepository/tests/dump.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_strconcat
    - g_unlink
    - g_file_set_contents
    - gi_repository_dump
    - g_close
    - g_assert_cmpstr
    - g_assert_no_error
    - g_file_open_tmp
    - g_file_get_contents
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void assert_dump (const char *input, const char *expected_output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - TestObject*
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: test_object_init
    functionSourceFile: /src/glib/girepository/tests/dump.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_object_init (TestObject *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_dump
      Src: /src/glib/girepository/tests/dump.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 139
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 139
    functionName: test_empty_file
    functionSourceFile: /src/glib/girepository/tests/dump.c
    functionUses: []
    functionsReached:
    - assert_dump
    linkageType: ''
    returnType: void
    signature: 'static void test_empty_file (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_dump_error
      Src: /src/glib/girepository/tests/dump.c:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: test_missing_quark
    functionSourceFile: /src/glib/girepository/tests/dump.c
    functionUses: []
    functionsReached:
    - assert_dump_error
    linkageType: ''
    returnType: void
    signature: 'static void test_missing_quark (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DEFINE_FINAL_TYPE
      Src: /src/glib/girepository/tests/dump.c:37,1
    - Dst: test_object_class_init
      Src: /src/glib/girepository/tests/dump.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - TestObject
    - test_object
    - TEST
    - OBJECT
    - GObject
    argTypes:
    - TestObject
    - test_object
    - TEST
    - OBJECT
    - GObject
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: G_DECLARE_FINAL_TYPE
    functionSourceFile: /src/glib/girepository/tests/dump.c
    functionUses: []
    functionsReached:
    - test_object_class_init
    - G_DEFINE_FINAL_TYPE
    linkageType: ''
    returnType: G_MODULE_EXPORT
    signature: 'G_MODULE_EXPORT G_DECLARE_FINAL_TYPE (TestObject, test_object, TEST,
      OBJECT, GObject)G_DEFINE_FINAL_TYPE (TestObject, test_object, G_TYPE_OBJECT)static
      voidtest_object_class_init (TestObjectClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_open_tmp
      Src: /src/glib/girepository/tests/dump.c:112,1
    - Dst: g_assert_cmpint
      Src: /src/glib/girepository/tests/dump.c:113,1
    - Dst: g_strconcat
      Src: /src/glib/girepository/tests/dump.c:116,1
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/dump.c:114,1
    - Dst: g_close
      Src: /src/glib/girepository/tests/dump.c:114,1
    - Dst: g_file_set_contents
      Src: /src/glib/girepository/tests/dump.c:118,1
    - Dst: g_assert_no_error
      Src: /src/glib/girepository/tests/dump.c:119,1
    - Dst: gi_repository_dump
      Src: /src/glib/girepository/tests/dump.c:121,1
    - Dst: g_assert_error
      Src: /src/glib/girepository/tests/dump.c:122,1
    - Dst: g_assert_false
      Src: /src/glib/girepository/tests/dump.c:123,1
    - Dst: g_clear_error
      Src: /src/glib/girepository/tests/dump.c:124,1
    - Dst: g_unlink
      Src: /src/glib/girepository/tests/dump.c:127,1
    - Dst: g_free
      Src: /src/glib/girepository/tests/dump.c:129,1
    - Dst: g_free
      Src: /src/glib/girepository/tests/dump.c:128,1
    - Dst: g_unlink
      Src: /src/glib/girepository/tests/dump.c:126,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - input
    - expected_error_domain
    - expected_error_code
    argTypes:
    - char*
    - GQuark
    - int
    constantsTouched: []
    func_position:
      end: 130
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 130
    functionName: assert_dump_error
    functionSourceFile: /src/glib/girepository/tests/dump.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_assert_true
    - g_strconcat
    - g_unlink
    - g_file_set_contents
    - gi_repository_dump
    - g_close
    - g_assert_error
    - g_assert_no_error
    - g_file_open_tmp
    - g_assert_false
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void assert_dump_error (const char *input, GQuark expected_error_domain,
      int expected_error_code) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DEFINE_INTERFACE
      Src: /src/glib/girepository/tests/dump.c:57,1
    - Dst: test_interface_default_init
      Src: /src/glib/girepository/tests/dump.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - TestInterface
    - test_interface
    - TEST
    - INTERFACE
    - GObject
    argTypes:
    - TestInterface
    - test_interface
    - TEST
    - INTERFACE
    - GObject
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: G_DECLARE_INTERFACE
    functionSourceFile: /src/glib/girepository/tests/dump.c
    functionUses: []
    functionsReached:
    - test_interface_default_init
    - G_DEFINE_INTERFACE
    linkageType: ''
    returnType: G_MODULE_EXPORT
    signature: 'G_MODULE_EXPORT G_DECLARE_INTERFACE (TestInterface, test_interface,
      TEST, INTERFACE, GObject)G_DEFINE_INTERFACE (TestInterface, test_interface,
      G_TYPE_OBJECT)static voidtest_interface_default_init (TestInterfaceInterface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_dump_error
      Src: /src/glib/girepository/tests/dump.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: test_missing_get_type
    functionSourceFile: /src/glib/girepository/tests/dump.c
    functionUses: []
    functionsReached:
    - assert_dump_error
    linkageType: ''
    returnType: void
    signature: 'static void test_missing_get_type (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_dump
      Src: /src/glib/girepository/tests/dump.c:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 167
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 167
    functionName: test_basic
    functionSourceFile: /src/glib/girepository/tests/dump.c
    functionUses: []
    functionsReached:
    - assert_dump
    linkageType: ''
    returnType: void
    signature: 'static void test_basic (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: repository_init
      Src: /src/glib/girepository/tests/dump.c:173,1
    - Dst: g_test_add_func
      Src: /src/glib/girepository/tests/dump.c:176,1
    - Dst: g_test_add_func
      Src: /src/glib/girepository/tests/dump.c:178,1
    - Dst: g_test_add_func
      Src: /src/glib/girepository/tests/dump.c:177,1
    - Dst: g_test_add_func
      Src: /src/glib/girepository/tests/dump.c:175,1
    - Dst: g_test_run
      Src: /src/glib/girepository/tests/dump.c:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 181
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 181
    functionName: main
    functionSourceFile: /src/glib/girepository/tests/dump.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - repository_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/girepository/tests/union-info.c:32,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/girepository/tests/union-info.c:37,1
    - Dst: g_assert_null
      Src: /src/glib/girepository/tests/union-info.c:45,1
    - Dst: gi_union_info_get_n_methods
      Src: /src/glib/girepository/tests/union-info.c:44,1
    - Dst: gi_union_info_find_method
      Src: /src/glib/girepository/tests/union-info.c:45,1
    - Dst: GI_BASE_INFO
      Src: /src/glib/girepository/tests/union-info.c:41,1
    - Dst: gi_union_info_get_discriminator_offset
      Src: /src/glib/girepository/tests/union-info.c:48,1
    - Dst: gi_union_info_get_free_function_name
      Src: /src/glib/girepository/tests/union-info.c:57,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/union-info.c:59,1
    - Dst: g_assert_null
      Src: /src/glib/girepository/tests/union-info.c:51,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/union-info.c:35,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/union-info.c:34,1
    - Dst: gi_union_info_get_n_fields
      Src: /src/glib/girepository/tests/union-info.c:37,1
    - Dst: gi_union_info_get_field
      Src: /src/glib/girepository/tests/union-info.c:39,1
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/union-info.c:40,1
    - Dst: GI_IS_FIELD_INFO
      Src: /src/glib/girepository/tests/union-info.c:40,1
    - Dst: gi_union_info_is_discriminated
      Src: /src/glib/girepository/tests/union-info.c:47,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/girepository/tests/union-info.c:44,1
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/tests/union-info.c:41,1
    - Dst: g_assert_false
      Src: /src/glib/girepository/tests/union-info.c:47,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/girepository/tests/union-info.c:53,1
    - Dst: GI_UNION_INFO
      Src: /src/glib/girepository/tests/union-info.c:34,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/girepository/tests/union-info.c:41,1
    - Dst: g_assert_null
      Src: /src/glib/girepository/tests/union-info.c:50,1
    - Dst: gi_union_info_get_discriminator
      Src: /src/glib/girepository/tests/union-info.c:51,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/girepository/tests/union-info.c:54,1
    - Dst: gi_union_info_get_alignment
      Src: /src/glib/girepository/tests/union-info.c:54,1
    - Dst: g_assert_null
      Src: /src/glib/girepository/tests/union-info.c:56,1
    - Dst: gi_union_info_get_copy_function_name
      Src: /src/glib/girepository/tests/union-info.c:56,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/union-info.c:42,1
    - Dst: g_assert_false
      Src: /src/glib/girepository/tests/union-info.c:48,1
    - Dst: gi_union_info_get_discriminator_type
      Src: /src/glib/girepository/tests/union-info.c:50,1
    - Dst: gi_union_info_get_size
      Src: /src/glib/girepository/tests/union-info.c:53,1
    - Dst: G_ALIGNOF
      Src: /src/glib/girepository/tests/union-info.c:54,1
    - Dst: g_assert_null
      Src: /src/glib/girepository/tests/union-info.c:57,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/girepository/tests/union-info.c:49,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 39
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 60
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 60
    functionName: test_basic
    functionSourceFile: /src/glib/girepository/tests/union-info.c
    functionUses: []
    functionsReached:
    - gi_union_info_get_copy_function_name
    - gi_union_info_get_discriminator_type
    - g_assert_null
    - gi_union_info_get_field
    - GI_IS_FIELD_INFO
    - g_assert_true
    - gi_union_info_get_size
    - g_assert_nonnull
    - gi_union_info_is_discriminated
    - g_clear_pointer
    - g_assert_false
    - gi_union_info_get_discriminator_offset
    - gi_union_info_find_method
    - GI_BASE_INFO
    - gi_union_info_get_discriminator
    - g_assert_cmpuint
    - gi_repository_find_by_name
    - G_ALIGNOF
    - gi_union_info_get_free_function_name
    - gi_union_info_get_alignment
    - g_test_summary
    - GI_UNION_INFO
    - g_assert_cmpstr
    - gi_union_info_get_n_fields
    - gi_union_info_get_n_methods
    - gi_base_info_get_name
    linkageType: ''
    returnType: void
    signature: 'static void test_basic (RepositoryFixture *fx, const void *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpuint
      Src: /src/glib/girepository/tests/union-info.c:74,1
    - Dst: gi_union_info_get_n_methods
      Src: /src/glib/girepository/tests/union-info.c:74,1
    - Dst: GI_IS_FUNCTION_INFO
      Src: /src/glib/girepository/tests/union-info.c:77,1
    - Dst: GI_BASE_INFO
      Src: /src/glib/girepository/tests/union-info.c:83,1
    - Dst: GI_BASE_INFO
      Src: /src/glib/girepository/tests/union-info.c:78,1
    - Dst: gi_union_info_find_method
      Src: /src/glib/girepository/tests/union-info.c:81,1
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/union-info.c:82,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/union-info.c:84,1
    - Dst: GI_IS_FUNCTION_INFO
      Src: /src/glib/girepository/tests/union-info.c:82,1
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/tests/union-info.c:83,1
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/tests/union-info.c:78,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/girepository/tests/union-info.c:83,1
    - Dst: g_test_summary
      Src: /src/glib/girepository/tests/union-info.c:69,1
    - Dst: gi_union_info_get_method
      Src: /src/glib/girepository/tests/union-info.c:76,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/union-info.c:86,1
    - Dst: GI_UNION_INFO
      Src: /src/glib/girepository/tests/union-info.c:71,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/union-info.c:71,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/union-info.c:72,1
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/union-info.c:77,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/girepository/tests/union-info.c:78,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/union-info.c:79,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 87
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 87
    functionName: test_methods
    functionSourceFile: /src/glib/girepository/tests/union-info.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_test_summary
    - GI_BASE_INFO
    - GI_IS_FUNCTION_INFO
    - g_assert_nonnull
    - g_assert_cmpuint
    - GI_UNION_INFO
    - gi_union_info_get_method
    - g_assert_cmpstr
    - g_clear_pointer
    - gi_repository_find_by_name
    - gi_union_info_find_method
    - gi_union_info_get_n_methods
    - gi_base_info_get_name
    linkageType: ''
    returnType: void
    signature: 'static void test_methods (RepositoryFixture *fx, const void *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: repository_init
      Src: /src/glib/girepository/tests/union-info.c:93,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/union-info.c:95,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/union-info.c:96,1
    - Dst: g_test_run
      Src: /src/glib/girepository/tests/union-info.c:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 99
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 99
    functionName: main
    functionSourceFile: /src/glib/girepository/tests/union-info.c
    functionUses: []
    functionsReached:
    - g_test_run
    - ADD_REPOSITORY_TEST
    - repository_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/callable-info.c:173,1
    - Dst: GI_OBJECT_INFO
      Src: /src/glib/girepository/tests/callable-info.c:176,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/callable-info.c:174,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/callable-info.c:177,1
    - Dst: gi_object_info_find_method
      Src: /src/glib/girepository/tests/callable-info.c:176,1
    - Dst: g_assert_false
      Src: /src/glib/girepository/tests/callable-info.c:179,1
    - Dst: gi_callable_info_is_method
      Src: /src/glib/girepository/tests/callable-info.c:179,1
    - Dst: GI_CALLABLE_INFO
      Src: /src/glib/girepository/tests/callable-info.c:179,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/tests/callable-info.c:181,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/tests/callable-info.c:182,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 183
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 183
    functionName: test_callable_info_static_method
    functionSourceFile: /src/glib/girepository/tests/callable-info.c
    functionUses: []
    functionsReached:
    - gi_base_info_unref
    - g_assert_nonnull
    - gi_object_info_find_method
    - gi_callable_info_is_method
    - GI_OBJECT_INFO
    - GI_CALLABLE_INFO
    - gi_repository_find_by_name
    - g_assert_false
    linkageType: ''
    returnType: void
    signature: 'static void test_callable_info_static_method (RepositoryFixture *fx,
      const void *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/callable-info.c:67,1
    - Dst: gi_interface_info_get_type
      Src: /src/glib/girepository/tests/callable-info.c:68,1
    - Dst: gi_callable_info_get_async_function
      Src: /src/glib/girepository/tests/callable-info.c:85,1
    - Dst: gi_callable_info_get_async_function
      Src: /src/glib/girepository/tests/callable-info.c:88,1
    - Dst: gi_callable_info_get_sync_function
      Src: /src/glib/girepository/tests/callable-info.c:79,1
    - Dst: gi_callable_info_get_finish_function
      Src: /src/glib/girepository/tests/callable-info.c:109,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/girepository/tests/callable-info.c:68,1
    - Dst: g_assert_null
      Src: /src/glib/girepository/tests/callable-info.c:89,1
    - Dst: g_assert_null
      Src: /src/glib/girepository/tests/callable-info.c:77,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/callable-info.c:95,1
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/tests/callable-info.c:101,1
    - Dst: gi_callable_info_get_sync_function
      Src: /src/glib/girepository/tests/callable-info.c:103,1
    - Dst: g_assert_null
      Src: /src/glib/girepository/tests/callable-info.c:110,1
    - Dst: gi_callable_info_get_sync_function
      Src: /src/glib/girepository/tests/callable-info.c:112,1
    - Dst: g_assert_null
      Src: /src/glib/girepository/tests/callable-info.c:113,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/tests/callable-info.c:115,1
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/tests/callable-info.c:118,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/tests/callable-info.c:121,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/callable-info.c:66,1
    - Dst: g_type_is_a
      Src: /src/glib/girepository/tests/callable-info.c:68,1
    - Dst: gi_callable_info_get_async_function
      Src: /src/glib/girepository/tests/callable-info.c:73,1
    - Dst: gi_callable_info_get_finish_function
      Src: /src/glib/girepository/tests/callable-info.c:76,1
    - Dst: gi_callable_info_get_sync_function
      Src: /src/glib/girepository/tests/callable-info.c:94,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/girepository/tests/callable-info.c:101,1
    - Dst: gi_callable_info_get_async_function
      Src: /src/glib/girepository/tests/callable-info.c:106,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/callable-info.c:107,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/tests/callable-info.c:120,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/tests/callable-info.c:123,1
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/callable-info.c:68,1
    - Dst: gi_interface_info_find_method
      Src: /src/glib/girepository/tests/callable-info.c:70,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/callable-info.c:74,1
    - Dst: gi_callable_info_get_finish_function
      Src: /src/glib/girepository/tests/callable-info.c:91,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/callable-info.c:92,1
    - Dst: g_assert_null
      Src: /src/glib/girepository/tests/callable-info.c:80,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/tests/callable-info.c:82,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/tests/callable-info.c:97,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/tests/callable-info.c:98,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/girepository/tests/callable-info.c:118,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/tests/callable-info.c:122,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 124
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 124
    functionName: test_callable_get_async_function_for_sync_function
    functionSourceFile: /src/glib/girepository/tests/callable-info.c
    functionUses: []
    functionsReached:
    - gi_interface_info_find_method
    - g_assert_true
    - gi_callable_info_get_async_function
    - gi_interface_info_get_type
    - g_assert_null
    - gi_base_info_unref
    - G_TYPE_FROM_INSTANCE
    - g_assert_nonnull
    - g_assert_cmpstr
    - gi_repository_find_by_name
    - g_type_is_a
    - gi_callable_info_get_sync_function
    - gi_callable_info_get_finish_function
    - gi_base_info_get_name
    linkageType: ''
    returnType: void
    signature: 'static void test_callable_get_async_function_for_sync_function (RepositoryFixture
      *fx, const void *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/callable-info.c:31,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/callable-info.c:36,1
    - Dst: gi_callable_info_get_sync_function
      Src: /src/glib/girepository/tests/callable-info.c:40,1
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/tests/callable-info.c:46,1
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/tests/callable-info.c:47,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/tests/callable-info.c:53,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/tests/callable-info.c:56,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/girepository/tests/callable-info.c:51,1
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/tests/callable-info.c:51,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/callable-info.c:44,1
    - Dst: GI_IS_INTERFACE_INFO
      Src: /src/glib/girepository/tests/callable-info.c:33,1
    - Dst: gi_callable_info_is_async
      Src: /src/glib/girepository/tests/callable-info.c:38,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/callable-info.c:41,1
    - Dst: gi_callable_info_get_finish_function
      Src: /src/glib/girepository/tests/callable-info.c:43,1
    - Dst: gi_callable_info_get_async_function
      Src: /src/glib/girepository/tests/callable-info.c:49,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/girepository/tests/callable-info.c:46,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/tests/callable-info.c:54,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/tests/callable-info.c:55,1
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/callable-info.c:33,1
    - Dst: gi_interface_info_find_method
      Src: /src/glib/girepository/tests/callable-info.c:35,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/callable-info.c:32,1
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/callable-info.c:38,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/girepository/tests/callable-info.c:47,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/tests/callable-info.c:57,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 58
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 58
    functionName: test_callable_get_sync_function_for_async_function
    functionSourceFile: /src/glib/girepository/tests/callable-info.c
    functionUses: []
    functionsReached:
    - gi_interface_info_find_method
    - g_assert_true
    - gi_callable_info_get_async_function
    - gi_base_info_unref
    - GI_IS_INTERFACE_INFO
    - g_assert_nonnull
    - gi_callable_info_is_async
    - g_assert_cmpstr
    - gi_repository_find_by_name
    - gi_callable_info_get_sync_function
    - gi_callable_info_get_finish_function
    - gi_base_info_get_name
    linkageType: ''
    returnType: void
    signature: 'static void test_callable_get_sync_function_for_async_function (RepositoryFixture
      *fx, const void *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/callable-info.c:142,1
    - Dst: GI_CALLABLE_INFO
      Src: /src/glib/girepository/tests/callable-info.c:142,1
    - Dst: GI_INTERFACE_INFO
      Src: /src/glib/girepository/tests/callable-info.c:144,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/callable-info.c:145,1
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/callable-info.c:147,1
    - Dst: GI_CALLABLE_INFO
      Src: /src/glib/girepository/tests/callable-info.c:152,1
    - Dst: g_assert_false
      Src: /src/glib/girepository/tests/callable-info.c:157,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/callable-info.c:140,1
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/callable-info.c:152,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/callable-info.c:150,1
    - Dst: GI_INTERFACE_INFO
      Src: /src/glib/girepository/tests/callable-info.c:149,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/callable-info.c:154,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/tests/callable-info.c:161,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/tests/callable-info.c:162,1
    - Dst: gi_interface_info_find_method
      Src: /src/glib/girepository/tests/callable-info.c:139,1
    - Dst: GI_INTERFACE_INFO
      Src: /src/glib/girepository/tests/callable-info.c:139,1
    - Dst: gi_interface_info_find_signal
      Src: /src/glib/girepository/tests/callable-info.c:149,1
    - Dst: gi_callable_info_is_method
      Src: /src/glib/girepository/tests/callable-info.c:147,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/callable-info.c:155,1
    - Dst: gi_callable_info_is_method
      Src: /src/glib/girepository/tests/callable-info.c:157,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/tests/callable-info.c:159,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/callable-info.c:136,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/callable-info.c:137,1
    - Dst: gi_callable_info_is_method
      Src: /src/glib/girepository/tests/callable-info.c:142,1
    - Dst: gi_interface_info_find_vfunc
      Src: /src/glib/girepository/tests/callable-info.c:144,1
    - Dst: GI_CALLABLE_INFO
      Src: /src/glib/girepository/tests/callable-info.c:147,1
    - Dst: gi_callable_info_is_method
      Src: /src/glib/girepository/tests/callable-info.c:152,1
    - Dst: GI_CALLABLE_INFO
      Src: /src/glib/girepository/tests/callable-info.c:157,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/tests/callable-info.c:160,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/tests/callable-info.c:163,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 164
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 164
    functionName: test_callable_info_is_method
    functionSourceFile: /src/glib/girepository/tests/callable-info.c
    functionUses: []
    functionsReached:
    - gi_interface_info_find_method
    - g_assert_true
    - gi_base_info_unref
    - gi_interface_info_find_vfunc
    - g_assert_nonnull
    - g_assert_false
    - GI_INTERFACE_INFO
    - GI_CALLABLE_INFO
    - gi_repository_find_by_name
    - gi_callable_info_is_method
    - gi_interface_info_find_signal
    linkageType: ''
    returnType: void
    signature: 'static void test_callable_info_is_method (RepositoryFixture *fx, const
      void *unused) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/girepository/tests/callable-info.c:192,1
    - Dst: gi_interface_info_find_vfunc
      Src: /src/glib/girepository/tests/callable-info.c:197,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/callable-info.c:194,1
    - Dst: GI_INTERFACE_INFO
      Src: /src/glib/girepository/tests/callable-info.c:197,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/callable-info.c:195,1
    - Dst: g_test_skip
      Src: /src/glib/girepository/tests/callable-info.c:200,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/tests/callable-info.c:201,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/callable-info.c:204,1
    - Dst: g_assert_false
      Src: /src/glib/girepository/tests/callable-info.c:206,1
    - Dst: gi_callable_info_is_method
      Src: /src/glib/girepository/tests/callable-info.c:206,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/tests/callable-info.c:208,1
    - Dst: gi_base_info_unref
      Src: /src/glib/girepository/tests/callable-info.c:209,1
    - Dst: GI_CALLABLE_INFO
      Src: /src/glib/girepository/tests/callable-info.c:206,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 210
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 210
    functionName: test_callable_info_static_vfunc
    functionSourceFile: /src/glib/girepository/tests/callable-info.c
    functionUses: []
    functionsReached:
    - gi_base_info_unref
    - gi_interface_info_find_vfunc
    - g_assert_nonnull
    - g_test_bug
    - gi_callable_info_is_method
    - GI_INTERFACE_INFO
    - GI_CALLABLE_INFO
    - gi_repository_find_by_name
    - g_assert_false
    - g_test_skip
    linkageType: ''
    returnType: void
    signature: 'static void test_callable_info_static_vfunc (RepositoryFixture *fx,
      const void *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: repository_init
      Src: /src/glib/girepository/tests/callable-info.c:215,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/callable-info.c:220,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/callable-info.c:219,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/callable-info.c:217,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/callable-info.c:218,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/callable-info.c:221,1
    - Dst: g_test_run
      Src: /src/glib/girepository/tests/callable-info.c:223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 224
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 224
    functionName: main
    functionSourceFile: /src/glib/girepository/tests/callable-info.c
    functionUses: []
    functionsReached:
    - g_test_run
    - ADD_REPOSITORY_TEST
    - repository_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gi_registered_type_info_get_type_init_function_name
      Src: /src/glib/girepository/tests/registered-type-info.c:107,1
    - Dst: gi_struct_info_is_gtype_struct
      Src: /src/glib/girepository/tests/registered-type-info.c:113,1
    - Dst: g_assert_false
      Src: /src/glib/girepository/tests/registered-type-info.c:115,1
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/registered-type-info.c:119,1
    - Dst: gi_registered_type_info_is_boxed
      Src: /src/glib/girepository/tests/registered-type-info.c:119,1
    - Dst: g_test_summary
      Src: /src/glib/girepository/tests/registered-type-info.c:88,1
    - Dst: GI_REGISTERED_TYPE_INFO
      Src: /src/glib/girepository/tests/registered-type-info.c:92,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/girepository/tests/registered-type-info.c:90,1
    - Dst: g_assert_null
      Src: /src/glib/girepository/tests/registered-type-info.c:107,1
    - Dst: GI_IS_STRUCT_INFO
      Src: /src/glib/girepository/tests/registered-type-info.c:110,1
    - Dst: gi_registered_type_info_get_type_init_function_name
      Src: /src/glib/girepository/tests/registered-type-info.c:102,1
    - Dst: GI_STRUCT_INFO
      Src: /src/glib/girepository/tests/registered-type-info.c:113,1
    - Dst: gi_registered_type_info_is_boxed
      Src: /src/glib/girepository/tests/registered-type-info.c:121,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/registered-type-info.c:123,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/registered-type-info.c:92,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/girepository/tests/registered-type-info.c:97,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/registered-type-info.c:101,1
    - Dst: gi_registered_type_info_get_type_name
      Src: /src/glib/girepository/tests/registered-type-info.c:101,1
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/registered-type-info.c:113,1
    - Dst: gi_struct_info_is_gtype_struct
      Src: /src/glib/girepository/tests/registered-type-info.c:115,1
    - Dst: GI_STRUCT_INFO
      Src: /src/glib/girepository/tests/registered-type-info.c:115,1
    - Dst: g_assert_false
      Src: /src/glib/girepository/tests/registered-type-info.c:121,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/registered-type-info.c:93,1
    - Dst: g_test_message
      Src: /src/glib/girepository/tests/registered-type-info.c:95,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/girepository/tests/registered-type-info.c:97,1
    - Dst: g_assert_null
      Src: /src/glib/girepository/tests/registered-type-info.c:106,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/registered-type-info.c:102,1
    - Dst: gi_registered_type_info_get_type_name
      Src: /src/glib/girepository/tests/registered-type-info.c:106,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 125
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 125
    functionName: test_boxed
    functionSourceFile: /src/glib/girepository/tests/registered-type-info.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_test_summary
    - GI_STRUCT_INFO
    - g_assert_null
    - G_N_ELEMENTS
    - g_test_message
    - G_TYPE_FROM_INSTANCE
    - g_assert_nonnull
    - g_assert_cmpuint
    - gi_registered_type_info_is_boxed
    - g_clear_pointer
    - GI_REGISTERED_TYPE_INFO
    - GI_IS_STRUCT_INFO
    - gi_registered_type_info_get_type_name
    - gi_repository_find_by_name
    - g_assert_false
    - gi_struct_info_is_gtype_struct
    - gi_registered_type_info_get_type_init_function_name
    linkageType: ''
    returnType: void
    signature: 'static void test_boxed (RepositoryFixture *fx, const void *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: repository_init
      Src: /src/glib/girepository/tests/registered-type-info.c:131,1
    - Dst: g_test_run
      Src: /src/glib/girepository/tests/registered-type-info.c:135,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/registered-type-info.c:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: main
    functionSourceFile: /src/glib/girepository/tests/registered-type-info.c
    functionUses: []
    functionsReached:
    - g_test_run
    - ADD_REPOSITORY_TEST
    - repository_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GI_OBJECT_INFO
      Src: /src/glib/girepository/tests/object-info.c:33,1
    - Dst: gi_object_info_find_method_using_interfaces
      Src: /src/glib/girepository/tests/object-info.c:36,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/object-info.c:33,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/object-info.c:34,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/object-info.c:38,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/girepository/tests/object-info.c:39,1
    - Dst: gi_base_info_get_namespace
      Src: /src/glib/girepository/tests/object-info.c:39,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/girepository/tests/object-info.c:40,1
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/tests/object-info.c:40,1
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/object-info.c:41,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/object-info.c:43,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/object-info.c:44,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/object-info.c:45,1
    - Dst: GI_IS_INTERFACE_INFO
      Src: /src/glib/girepository/tests/object-info.c:41,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 46
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 46
    functionName: test_object_info_find_method_using_interfaces
    functionSourceFile: /src/glib/girepository/tests/object-info.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - GI_IS_INTERFACE_INFO
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_clear_pointer
    - gi_object_info_find_method_using_interfaces
    - GI_OBJECT_INFO
    - gi_base_info_get_namespace
    - gi_repository_find_by_name
    - gi_base_info_get_name
    linkageType: ''
    returnType: void
    signature: 'static void test_object_info_find_method_using_interfaces (RepositoryFixture
      *fx, const void *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GI_OBJECT_INFO
      Src: /src/glib/girepository/tests/object-info.c:56,1
    - Dst: gi_object_info_find_vfunc_using_interfaces
      Src: /src/glib/girepository/tests/object-info.c:59,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/object-info.c:61,1
    - Dst: gi_repository_find_by_name
      Src: /src/glib/girepository/tests/object-info.c:56,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/object-info.c:57,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/girepository/tests/object-info.c:62,1
    - Dst: gi_base_info_get_namespace
      Src: /src/glib/girepository/tests/object-info.c:62,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/girepository/tests/object-info.c:63,1
    - Dst: gi_base_info_get_name
      Src: /src/glib/girepository/tests/object-info.c:63,1
    - Dst: g_assert_true
      Src: /src/glib/girepository/tests/object-info.c:64,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/object-info.c:67,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/object-info.c:68,1
    - Dst: GI_IS_OBJECT_INFO
      Src: /src/glib/girepository/tests/object-info.c:64,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/object-info.c:66,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 69
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 69
    functionName: test_object_info_find_vfunc_using_interfaces
    functionSourceFile: /src/glib/girepository/tests/object-info.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - gi_object_info_find_vfunc_using_interfaces
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_clear_pointer
    - GI_OBJECT_INFO
    - gi_base_info_get_namespace
    - gi_repository_find_by_name
    - GI_IS_OBJECT_INFO
    - gi_base_info_get_name
    linkageType: ''
    returnType: void
    signature: 'static void test_object_info_find_vfunc_using_interfaces (RepositoryFixture
      *fx, const void *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: repository_init
      Src: /src/glib/girepository/tests/object-info.c:75,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/object-info.c:77,1
    - Dst: ADD_REPOSITORY_TEST
      Src: /src/glib/girepository/tests/object-info.c:78,1
    - Dst: g_test_run
      Src: /src/glib/girepository/tests/object-info.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 81
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 81
    functionName: main
    functionSourceFile: /src/glib/girepository/tests/object-info.c
    functionUses: []
    functionsReached:
    - g_test_run
    - ADD_REPOSITORY_TEST
    - repository_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_setenv
      Src: /src/glib/girepository/tests/test-common.c:31,1
    - Dst: g_test_init
      Src: /src/glib/girepository/tests/test-common.c:34,1
    - Dst: g_setenv
      Src: /src/glib/girepository/tests/test-common.c:32,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char**
    constantsTouched: []
    func_position:
      end: 35
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 35
    functionName: repository_init
    functionSourceFile: /src/glib/girepository/tests/test-common.c
    functionUses: []
    functionsReached:
    - g_setenv
    - g_test_init
    linkageType: ''
    returnType: void
    signature: 'void repository_init (int *argc, char **argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gi_repository_new
      Src: /src/glib/girepository/tests/test-common.c:45,1
    - Dst: gi_repository_prepend_search_path
      Src: /src/glib/girepository/tests/test-common.c:50,1
    - Dst: g_test_message
      Src: /src/glib/girepository/tests/test-common.c:49,1
    - Dst: g_test_build_filename
      Src: /src/glib/girepository/tests/test-common.c:48,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/test-common.c:46,1
    - Dst: gi_repository_require
      Src: /src/glib/girepository/tests/test-common.c:54,1
    - Dst: g_assert_no_error
      Src: /src/glib/girepository/tests/test-common.c:55,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/test-common.c:56,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - fx
    - data
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 58
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 58
    functionName: repository_setup
    functionSourceFile: /src/glib/girepository/tests/test-common.c
    functionUses: []
    functionsReached:
    - gi_repository_require
    - gi_repository_new
    - g_test_build_filename
    - gi_repository_prepend_search_path
    - g_test_message
    - g_assert_nonnull
    - g_assert_no_error
    linkageType: ''
    returnType: void
    signature: 'void repository_setup (RepositoryFixture *fx, const void *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/test-common.c:64,1
    - Dst: g_clear_object
      Src: /src/glib/girepository/tests/test-common.c:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - fx
    - unused
    argTypes:
    - RepositoryFixture*
    - void*
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: repository_teardown
    functionSourceFile: /src/glib/girepository/tests/test-common.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_clear_object
    linkageType: ''
    returnType: void
    signature: 'void repository_teardown (RepositoryFixture *fx, const void *unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gi_repository_new
      Src: /src/glib/girepository/tests/repository-search-paths.c:107,1
    - Dst: gi_repository_get_library_path
      Src: /src/glib/girepository/tests/repository-search-paths.c:109,1
    - Dst: g_strv_length
      Src: /src/glib/girepository/tests/repository-search-paths.c:111,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository-search-paths.c:110,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/girepository/tests/repository-search-paths.c:111,1
    - Dst: g_clear_object
      Src: /src/glib/girepository/tests/repository-search-paths.c:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 114
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 114
    functionName: test_repository_library_paths_default
    functionSourceFile: /src/glib/girepository/tests/repository-search-paths.c
    functionUses: []
    functionsReached:
    - gi_repository_new
    - gi_repository_get_library_path
    - g_strv_length
    - g_assert_nonnull
    - g_assert_cmpuint
    - g_clear_object
    linkageType: ''
    returnType: void
    signature: 'static void test_repository_library_paths_default (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gi_repository_new
      Src: /src/glib/girepository/tests/repository-search-paths.c:48,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository-search-paths.c:51,1
    - Dst: g_strv_length
      Src: /src/glib/girepository/tests/repository-search-paths.c:52,1
    - Dst: gi_repository_get_search_path
      Src: /src/glib/girepository/tests/repository-search-paths.c:50,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/girepository/tests/repository-search-paths.c:52,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/girepository/tests/repository-search-paths.c:54,1
    - Dst: g_get_tmp_dir
      Src: /src/glib/girepository/tests/repository-search-paths.c:54,1
    - Dst: test_repository_search_paths_get_expected_libdir_path
      Src: /src/glib/girepository/tests/repository-search-paths.c:56,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/girepository/tests/repository-search-paths.c:57,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository-search-paths.c:58,1
    - Dst: g_clear_object
      Src: /src/glib/girepository/tests/repository-search-paths.c:60,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 61
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 61
    functionName: test_repository_search_paths_default
    functionSourceFile: /src/glib/girepository/tests/repository-search-paths.c
    functionUses: []
    functionsReached:
    - gi_repository_new
    - g_strv_length
    - g_assert_nonnull
    - g_assert_cmpuint
    - g_assert_cmpstr
    - gi_repository_get_search_path
    - g_clear_pointer
    - g_clear_object
    - g_get_tmp_dir
    - test_repository_search_paths_get_expected_libdir_path
    linkageType: ''
    returnType: void
    signature: 'static void test_repository_search_paths_default (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_getenv
      Src: /src/glib/girepository/tests/repository-search-paths.c:28,1
    - Dst: g_build_filename
      Src: /src/glib/girepository/tests/repository-search-paths.c:34,1
    - Dst: g_getenv
      Src: /src/glib/girepository/tests/repository-search-paths.c:31,1
    - Dst: g_build_filename
      Src: /src/glib/girepository/tests/repository-search-paths.c:32,1
    - Dst: g_build_filename
      Src: /src/glib/girepository/tests/repository-search-paths.c:29,1
    - Dst: g_canonicalize_filename
      Src: /src/glib/girepository/tests/repository-search-paths.c:36,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository-search-paths.c:37,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 39
    functionName: test_repository_search_paths_get_expected_libdir_path
    functionSourceFile: /src/glib/girepository/tests/repository-search-paths.c
    functionUses: []
    functionsReached:
    - g_getenv
    - g_clear_pointer
    - g_build_filename
    - g_canonicalize_filename
    linkageType: ''
    returnType: char*
    signature: 'static char *test_repository_search_paths_get_expected_libdir_path
      (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gi_repository_get_search_path
      Src: /src/glib/girepository/tests/repository-search-paths.c:73,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/girepository/tests/repository-search-paths.c:78,1
    - Dst: g_strv_length
      Src: /src/glib/girepository/tests/repository-search-paths.c:87,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/girepository/tests/repository-search-paths.c:89,1
    - Dst: g_strv_length
      Src: /src/glib/girepository/tests/repository-search-paths.c:75,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/girepository/tests/repository-search-paths.c:81,1
    - Dst: gi_repository_get_search_path
      Src: /src/glib/girepository/tests/repository-search-paths.c:85,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository-search-paths.c:86,1
    - Dst: g_get_tmp_dir
      Src: /src/glib/girepository/tests/repository-search-paths.c:78,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/girepository/tests/repository-search-paths.c:87,1
    - Dst: g_test_get_dir
      Src: /src/glib/girepository/tests/repository-search-paths.c:89,1
    - Dst: g_test_get_dir
      Src: /src/glib/girepository/tests/repository-search-paths.c:90,1
    - Dst: test_repository_search_paths_get_expected_libdir_path
      Src: /src/glib/girepository/tests/repository-search-paths.c:93,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/girepository/tests/repository-search-paths.c:94,1
    - Dst: gi_repository_new
      Src: /src/glib/girepository/tests/repository-search-paths.c:70,1
    - Dst: gi_repository_prepend_search_path
      Src: /src/glib/girepository/tests/repository-search-paths.c:72,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository-search-paths.c:74,1
    - Dst: g_get_tmp_dir
      Src: /src/glib/girepository/tests/repository-search-paths.c:91,1
    - Dst: g_clear_object
      Src: /src/glib/girepository/tests/repository-search-paths.c:97,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository-search-paths.c:95,1
    - Dst: g_test_get_dir
      Src: /src/glib/girepository/tests/repository-search-paths.c:72,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/girepository/tests/repository-search-paths.c:75,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/girepository/tests/repository-search-paths.c:77,1
    - Dst: g_test_get_dir
      Src: /src/glib/girepository/tests/repository-search-paths.c:77,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/tests/repository-search-paths.c:82,1
    - Dst: gi_repository_prepend_search_path
      Src: /src/glib/girepository/tests/repository-search-paths.c:84,1
    - Dst: test_repository_search_paths_get_expected_libdir_path
      Src: /src/glib/girepository/tests/repository-search-paths.c:80,1
    - Dst: g_test_get_dir
      Src: /src/glib/girepository/tests/repository-search-paths.c:84,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/girepository/tests/repository-search-paths.c:90,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/girepository/tests/repository-search-paths.c:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 98
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 98
    functionName: test_repository_search_paths_prepend
    functionSourceFile: /src/glib/girepository/tests/repository-search-paths.c
    functionUses: []
    functionsReached:
    - gi_repository_new
    - gi_repository_prepend_search_path
    - g_strv_length
    - g_assert_nonnull
    - g_assert_cmpuint
    - g_test_get_dir
    - g_assert_cmpstr
    - gi_repository_get_search_path
    - g_clear_pointer
    - g_clear_object
    - g_get_tmp_dir
    - test_repository_search_paths_get_expected_libdir_path
    linkageType: ''
    returnType: void
    signature: 'static void test_repository_search_paths_prepend (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_get_dir
      Src: /src/glib/girepository/tests/repository-search-paths.c:125,1
    - Dst: g_test_get_dir
      Src: /src/glib/girepository/tests/repository-search-paths.c:137,1
    - Dst: gi_repository_get_library_path
      Src: /src/glib/girepository/tests/repository-search-paths.c:133,1
    - Dst: g_clear_object
      Src: /src/glib/girepository/tests/repository-search-paths.c:140,1
    - Dst: gi_repository_get_library_path
      Src: /src/glib/girepository/tests/repository-search-paths.c:126,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository-search-paths.c:127,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/girepository/tests/repository-search-paths.c:128,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/girepository/tests/repository-search-paths.c:130,1
    - Dst: g_test_get_dir
      Src: /src/glib/girepository/tests/repository-search-paths.c:132,1
    - Dst: g_strv_length
      Src: /src/glib/girepository/tests/repository-search-paths.c:128,1
    - Dst: g_test_get_dir
      Src: /src/glib/girepository/tests/repository-search-paths.c:130,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/girepository/tests/repository-search-paths.c:138,1
    - Dst: g_test_get_dir
      Src: /src/glib/girepository/tests/repository-search-paths.c:138,1
    - Dst: gi_repository_new
      Src: /src/glib/girepository/tests/repository-search-paths.c:123,1
    - Dst: gi_repository_prepend_library_path
      Src: /src/glib/girepository/tests/repository-search-paths.c:125,1
    - Dst: gi_repository_prepend_library_path
      Src: /src/glib/girepository/tests/repository-search-paths.c:132,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/girepository/tests/repository-search-paths.c:135,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/girepository/tests/repository-search-paths.c:137,1
    - Dst: g_strv_length
      Src: /src/glib/girepository/tests/repository-search-paths.c:135,1
    - Dst: g_assert_nonnull
      Src: /src/glib/girepository/tests/repository-search-paths.c:134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 141
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 141
    functionName: test_repository_library_paths_prepend
    functionSourceFile: /src/glib/girepository/tests/repository-search-paths.c
    functionUses: []
    functionsReached:
    - gi_repository_new
    - gi_repository_get_library_path
    - g_strv_length
    - g_assert_nonnull
    - g_assert_cmpuint
    - g_test_get_dir
    - g_assert_cmpstr
    - g_clear_object
    - gi_repository_prepend_library_path
    linkageType: ''
    returnType: void
    signature: 'static void test_repository_library_paths_prepend (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/girepository/tests/repository-search-paths.c:147,1
    - Dst: g_get_user_cache_dir
      Src: /src/glib/girepository/tests/repository-search-paths.c:151,1
    - Dst: g_setenv
      Src: /src/glib/girepository/tests/repository-search-paths.c:151,1
    - Dst: g_get_tmp_dir
      Src: /src/glib/girepository/tests/repository-search-paths.c:150,1
    - Dst: g_setenv
      Src: /src/glib/girepository/tests/repository-search-paths.c:150,1
    - Dst: g_test_add_func
      Src: /src/glib/girepository/tests/repository-search-paths.c:153,1
    - Dst: g_test_add_func
      Src: /src/glib/girepository/tests/repository-search-paths.c:154,1
    - Dst: g_test_add_func
      Src: /src/glib/girepository/tests/repository-search-paths.c:155,1
    - Dst: g_test_add_func
      Src: /src/glib/girepository/tests/repository-search-paths.c:156,1
    - Dst: g_test_run
      Src: /src/glib/girepository/tests/repository-search-paths.c:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 159
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 159
    functionName: main
    functionSourceFile: /src/glib/girepository/tests/repository-search-paths.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_get_user_cache_dir
    - g_setenv
    - g_test_run
    - g_get_tmp_dir
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/glib/girepository/cmph/bdz_ph.c:67,1
    - Dst: free
      Src: /src/glib/girepository/cmph/bdz_ph.c:68,1
    - Dst: free
      Src: /src/glib/girepository/cmph/bdz_ph.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - graph3
    argTypes:
    - bdz_ph_graph3_t*
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: bdz_ph_free_graph3
    functionSourceFile: /src/glib/girepository/cmph/bdz_ph.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'static void bdz_ph_free_graph3(bdz_ph_graph3_t *graph3) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/glib/girepository/cmph/bdz_ph.c:61,1
    - Dst: memset
      Src: /src/glib/girepository/cmph/bdz_ph.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - graph3
    - nedges
    - nvertices
    argTypes:
    - bdz_ph_graph3_t*
    - cmph_uint32
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: bdz_ph_init_graph3
    functionSourceFile: /src/glib/girepository/cmph/bdz_ph.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void bdz_ph_init_graph3(bdz_ph_graph3_t * graph3, cmph_uint32
      nedges, cmph_uint32 nvertices) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/glib/girepository/cmph/bdz_ph.c:74,1
    - Dst: free
      Src: /src/glib/girepository/cmph/bdz_ph.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - graph3
    argTypes:
    - bdz_ph_graph3_t*
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: bdz_ph_partial_free_graph3
    functionSourceFile: /src/glib/girepository/cmph/bdz_ph.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'static void bdz_ph_partial_free_graph3(bdz_ph_graph3_t *graph3) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/glib/girepository/cmph/bdz_ph.c:129,1
    - Dst: exit
      Src: /src/glib/girepository/cmph/bdz_ph.c:131,1
    - Dst: bdz_ph_dump_graph
      Src: /src/glib/girepository/cmph/bdz_ph.c:130,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - graph3
    - curr_edge
    argTypes:
    - bdz_ph_graph3_t*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 143
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 143
    functionName: bdz_ph_remove_edge
    functionSourceFile: /src/glib/girepository/cmph/bdz_ph.c
    functionUses: []
    functionsReached:
    - printf
    - bdz_ph_dump_graph
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void bdz_ph_remove_edge(bdz_ph_graph3_t * graph3, cmph_uint32
      curr_edge) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_get_type
      Src: /src/glib/girepository/cmph/bdz_ph.c:564,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/bdz_ph.c:578,1
    - Dst: ceil
      Src: /src/glib/girepository/cmph/bdz_ph.c:577,1
    - Dst: hash_state_pack
      Src: /src/glib/girepository/cmph/bdz_ph.c:569,1
    - Dst: hash_state_packed_size
      Src: /src/glib/girepository/cmph/bdz_ph.c:570,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - mphf
    - packed_mphf
    argTypes:
    - cmph_t*
    - void*
    constantsTouched: []
    func_position:
      end: 579
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 579
    functionName: bdz_ph_pack
    functionSourceFile: /src/glib/girepository/cmph/bdz_ph.c
    functionUses: []
    functionsReached:
    - memcpy
    - hash_get_type
    - hash_state_packed_size
    - hash_state_pack
    - ceil
    linkageType: ''
    returnType: void
    signature: 'void bdz_ph_pack(cmph_t *mphf, void *packed_mphf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/girepository/cmph/bdz_ph.c:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - queuep
    - nedges
    argTypes:
    - bdz_ph_queue_t*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: bdz_ph_alloc_queue
    functionSourceFile: /src/glib/girepository/cmph/bdz_ph.c
    functionUses: []
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: 'static void bdz_ph_alloc_queue(bdz_ph_queue_t * queuep, cmph_uint32
      nedges) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/girepository/cmph/bdz_ph.c:55,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/bdz_ph.c:56,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/bdz_ph.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - graph3
    - nedges
    - nvertices
    argTypes:
    - bdz_ph_graph3_t*
    - cmph_uint32
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: bdz_ph_alloc_graph3
    functionSourceFile: /src/glib/girepository/cmph/bdz_ph.c
    functionUses: []
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: 'static void bdz_ph_alloc_graph3(bdz_ph_graph3_t * graph3, cmph_uint32
      nedges, cmph_uint32 nvertices) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/glib/girepository/cmph/bdz_ph.c:99,1
    - Dst: printf
      Src: /src/glib/girepository/cmph/bdz_ph.c:106,1
    - Dst: printf
      Src: /src/glib/girepository/cmph/bdz_ph.c:101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - graph3
    - nedges
    - nvertices
    argTypes:
    - bdz_ph_graph3_t*
    - cmph_uint32
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 109
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 109
    functionName: bdz_ph_dump_graph
    functionSourceFile: /src/glib/girepository/cmph/bdz_ph.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'static void bdz_ph_dump_graph(bdz_ph_graph3_t* graph3, cmph_uint32
      nedges, cmph_uint32 nvertices) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/glib/girepository/cmph/bdz_ph.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - queue
    argTypes:
    - bdz_ph_queue_t*
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: bdz_ph_free_queue
    functionSourceFile: /src/glib/girepository/cmph/bdz_ph.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'static void bdz_ph_free_queue(bdz_ph_queue_t * queue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/girepository/cmph/bdz_ph.c:208,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/bdz_ph.c:209,1
    - Dst: memset
      Src: /src/glib/girepository/cmph/bdz_ph.c:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 215
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 215
    functionName: bdz_ph_config_new
    functionSourceFile: /src/glib/girepository/cmph/bdz_ph.c
    functionUses: []
    functionsReached:
    - malloc
    - memset
    - assert
    linkageType: ''
    returnType: bdz_ph_config_data_t*
    signature: 'bdz_ph_config_data_t *bdz_ph_config_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_get_type
      Src: /src/glib/girepository/cmph/bdz_ph.c:589,1
    - Dst: hash_state_packed_size
      Src: /src/glib/girepository/cmph/bdz_ph.c:591,1
    - Dst: ceil
      Src: /src/glib/girepository/cmph/bdz_ph.c:590,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - mphf
    argTypes:
    - cmph_t*
    constantsTouched: []
    func_position:
      end: 592
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 592
    functionName: bdz_ph_packed_size
    functionSourceFile: /src/glib/girepository/cmph/bdz_ph.c
    functionUses: []
    functionsReached:
    - hash_get_type
    - ceil
    - hash_state_packed_size
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 bdz_ph_packed_size(cmph_t *mphf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bdz_ph.c:220,1
    - Dst: free
      Src: /src/glib/girepository/cmph/bdz_ph.c:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - mph
    argTypes:
    - cmph_config_t*
    constantsTouched: []
    func_position:
      end: 222
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 222
    functionName: bdz_ph_config_destroy
    functionSourceFile: /src/glib/girepository/cmph/bdz_ph.c
    functionUses: []
    functionsReached:
    - free
    - DEBUGP
    linkageType: ''
    returnType: void
    signature: 'void bdz_ph_config_destroy(cmph_config_t *mph) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bdz_ph.c:262,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bdz_ph.c:270,1
    - Dst: hash_state_new
      Src: /src/glib/girepository/cmph/bdz_ph.c:276,1
    - Dst: hash_state_destroy
      Src: /src/glib/girepository/cmph/bdz_ph.c:282,1
    - Dst: bdz_ph_free_graph3
      Src: /src/glib/girepository/cmph/bdz_ph.c:298,1
    - Dst: bdz_ph_free_queue
      Src: /src/glib/girepository/cmph/bdz_ph.c:297,1
    - Dst: assigning
      Src: /src/glib/girepository/cmph/bdz_ph.c:307,1
    - Dst: bdz_ph_partial_free_graph3
      Src: /src/glib/girepository/cmph/bdz_ph.c:301,1
    - Dst: bdz_ph_free_graph3
      Src: /src/glib/girepository/cmph/bdz_ph.c:310,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bdz_ph.c:338,1
    - Dst: bdz_ph_alloc_queue
      Src: /src/glib/girepository/cmph/bdz_ph.c:261,1
    - Dst: bdz_ph_alloc_graph3
      Src: /src/glib/girepository/cmph/bdz_ph.c:260,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bdz_ph.c:264,1
    - Dst: bdz_ph_mapping
      Src: /src/glib/girepository/cmph/bdz_ph.c:278,1
    - Dst: bdz_ph_free_queue
      Src: /src/glib/girepository/cmph/bdz_ph.c:309,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bdz_ph.c:335,1
    - Dst: bdz_ph_packed_size
      Src: /src/glib/girepository/cmph/bdz_ph.c:342,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bdz_ph.c:345,1
    - Dst: ceil
      Src: /src/glib/girepository/cmph/bdz_ph.c:255,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bdz_ph.c:253,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bdz_ph.c:287,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bdz_ph.c:284,1
    - Dst: ELAPSED_TIME_IN_SECONDS
      Src: /src/glib/girepository/cmph/bdz_ph.c:320,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/bdz_ph.c:322,1
    - Dst: ELAPSED_TIME_IN_SECONDS
      Src: /src/glib/girepository/cmph/bdz_ph.c:248,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bdz_ph.c:275,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bdz_ph.c:305,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bdz_ph.c:314,1
    - Dst: bdz_ph_optimization
      Src: /src/glib/girepository/cmph/bdz_ph.c:317,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/bdz_ph.c:324,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 74
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 349
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 349
    functionName: bdz_ph_new
    functionSourceFile: /src/glib/girepository/cmph/bdz_ph.c
    functionUses: []
    functionsReached:
    - malloc
    - bdz_ph_free_queue
    - DEBUGP
    - fprintf
    - hash_state_destroy
    - bdz_ph_alloc_queue
    - bdz_ph_packed_size
    - bdz_ph_partial_free_graph3
    - assigning
    - bdz_ph_alloc_graph3
    - hash_state_new
    - ELAPSED_TIME_IN_SECONDS
    - bdz_ph_mapping
    - bdz_ph_free_graph3
    - ceil
    - bdz_ph_optimization
    linkageType: ''
    returnType: cmph_t*
    signature: 'cmph_t *bdz_ph_new(cmph_config_t *mph, double c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - mph
    - hashfuncs
    argTypes:
    - cmph_config_t*
    - CMPH_HASH*
    constantsTouched: []
    func_position:
      end: 235
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 235
    functionName: bdz_ph_config_set_hashfuncs
    functionSourceFile: /src/glib/girepository/cmph/bdz_ph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void bdz_ph_config_set_hashfuncs(cmph_config_t *mph, CMPH_HASH *hashfuncs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bdz_ph_init_graph3
      Src: /src/glib/girepository/cmph/bdz_ph.c:359,1
    - Dst: hash_vector
      Src: /src/glib/girepository/cmph/bdz_ph.c:367,1
    - Dst: bdz_ph_add_edge
      Src: /src/glib/girepository/cmph/bdz_ph.c:372,1
    - Dst: bdz_ph_generate_queue
      Src: /src/glib/girepository/cmph/bdz_ph.c:374,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - mph
    - graph3
    - queue
    argTypes:
    - cmph_config_t*
    - bdz_ph_graph3_t*
    - bdz_ph_queue_t
    constantsTouched: []
    func_position:
      end: 376
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 376
    functionName: bdz_ph_mapping
    functionSourceFile: /src/glib/girepository/cmph/bdz_ph.c
    functionUses: []
    functionsReached:
    - bdz_ph_generate_queue
    - hash_vector
    - bdz_ph_add_edge
    - bdz_ph_init_graph3
    linkageType: ''
    returnType: int
    signature: 'static int bdz_ph_mapping(cmph_config_t *mph, bdz_ph_graph3_t* graph3,
      bdz_ph_queue_t queue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_state_packed_size
      Src: /src/glib/girepository/cmph/bdz_ph.c:607,1
    - Dst: hash_vector_packed
      Src: /src/glib/girepository/cmph/bdz_ph.c:616,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 3
    argNames:
    - packed_mphf
    - key
    - keylen
    argTypes:
    - void*
    - char*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 632
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 632
    functionName: bdz_ph_search_packed
    functionSourceFile: /src/glib/girepository/cmph/bdz_ph.c
    functionUses: []
    functionsReached:
    - hash_state_packed_size
    - hash_vector_packed
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 bdz_ph_search_packed(void *packed_mphf, const char *key,
      cmph_uint32 keylen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - graph3
    - v0
    - v1
    - v2
    argTypes:
    - bdz_ph_graph3_t*
    - cmph_uint32
    - cmph_uint32
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 93
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 93
    functionName: bdz_ph_add_edge
    functionSourceFile: /src/glib/girepository/cmph/bdz_ph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void bdz_ph_add_edge(bdz_ph_graph3_t * graph3, cmph_uint32
      v0, cmph_uint32 v1, cmph_uint32 v2) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/girepository/cmph/bdz_ph.c:151,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/bdz_ph.c:161,1
    - Dst: memset
      Src: /src/glib/girepository/cmph/bdz_ph.c:152,1
    - Dst: SETBIT
      Src: /src/glib/girepository/cmph/bdz_ph.c:163,1
    - Dst: bdz_ph_remove_edge
      Src: /src/glib/girepository/cmph/bdz_ph.c:169,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/bdz_ph.c:175,1
    - Dst: SETBIT
      Src: /src/glib/girepository/cmph/bdz_ph.c:177,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/bdz_ph.c:183,1
    - Dst: SETBIT
      Src: /src/glib/girepository/cmph/bdz_ph.c:185,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/bdz_ph.c:191,1
    - Dst: free
      Src: /src/glib/girepository/cmph/bdz_ph.c:197,1
    - Dst: SETBIT
      Src: /src/glib/girepository/cmph/bdz_ph.c:193,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 4
    argNames:
    - nedges
    - nvertices
    - queue
    - graph3
    argTypes:
    - cmph_uint32
    - cmph_uint32
    - bdz_ph_queue_t
    - bdz_ph_graph3_t*
    constantsTouched: []
    func_position:
      end: 199
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 199
    functionName: bdz_ph_generate_queue
    functionSourceFile: /src/glib/girepository/cmph/bdz_ph.c
    functionUses: []
    functionsReached:
    - malloc
    - GETBIT
    - free
    - SETBIT
    - memset
    - bdz_ph_remove_edge
    linkageType: ''
    returnType: int
    signature: 'static int bdz_ph_generate_queue(cmph_uint32 nedges, cmph_uint32 nvertices,
      bdz_ph_queue_t queue, bdz_ph_graph3_t* graph3) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/girepository/cmph/bdz_ph.c:384,1
    - Dst: memset
      Src: /src/glib/girepository/cmph/bdz_ph.c:387,1
    - Dst: GETVALUE
      Src: /src/glib/girepository/cmph/bdz_ph.c:395,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/bdz_ph.c:402,1
    - Dst: SETBIT
      Src: /src/glib/girepository/cmph/bdz_ph.c:400,1
    - Dst: SETBIT
      Src: /src/glib/girepository/cmph/bdz_ph.c:413,1
    - Dst: GETVALUE
      Src: /src/glib/girepository/cmph/bdz_ph.c:418,1
    - Dst: GETVALUE
      Src: /src/glib/girepository/cmph/bdz_ph.c:421,1
    - Dst: GETVALUE
      Src: /src/glib/girepository/cmph/bdz_ph.c:395,1
    - Dst: SETVALUE0
      Src: /src/glib/girepository/cmph/bdz_ph.c:407,1
    - Dst: GETVALUE
      Src: /src/glib/girepository/cmph/bdz_ph.c:415,1
    - Dst: GETVALUE
      Src: /src/glib/girepository/cmph/bdz_ph.c:418,1
    - Dst: SETBIT
      Src: /src/glib/girepository/cmph/bdz_ph.c:419,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bdz_ph.c:421,1
    - Dst: GETVALUE
      Src: /src/glib/girepository/cmph/bdz_ph.c:421,1
    - Dst: ceil
      Src: /src/glib/girepository/cmph/bdz_ph.c:385,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/bdz_ph.c:396,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/bdz_ph.c:397,1
    - Dst: SETBIT
      Src: /src/glib/girepository/cmph/bdz_ph.c:405,1
    - Dst: SETBIT
      Src: /src/glib/girepository/cmph/bdz_ph.c:408,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/bdz_ph.c:410,1
    - Dst: GETVALUE
      Src: /src/glib/girepository/cmph/bdz_ph.c:407,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/bdz_ph.c:409,1
    - Dst: SETVALUE0
      Src: /src/glib/girepository/cmph/bdz_ph.c:415,1
    - Dst: GETVALUE
      Src: /src/glib/girepository/cmph/bdz_ph.c:415,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/bdz_ph.c:386,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bdz_ph.c:395,1
    - Dst: GETVALUE
      Src: /src/glib/girepository/cmph/bdz_ph.c:395,1
    - Dst: GETVALUE
      Src: /src/glib/girepository/cmph/bdz_ph.c:407,1
    - Dst: SETBIT
      Src: /src/glib/girepository/cmph/bdz_ph.c:416,1
    - Dst: SETVALUE0
      Src: /src/glib/girepository/cmph/bdz_ph.c:418,1
    - Dst: GETVALUE
      Src: /src/glib/girepository/cmph/bdz_ph.c:421,1
    - Dst: free
      Src: /src/glib/girepository/cmph/bdz_ph.c:423,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 69
    argCount: 3
    argNames:
    - bdz_ph
    - graph3
    - queue
    argTypes:
    - bdz_ph_config_data_t*
    - bdz_ph_graph3_t*
    - bdz_ph_queue_t
    constantsTouched: []
    func_position:
      end: 424
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 424
    functionName: assigning
    functionSourceFile: /src/glib/girepository/cmph/bdz_ph.c
    functionUses: []
    functionsReached:
    - malloc
    - GETBIT
    - DEBUGP
    - ceil
    - free
    - calloc
    - GETVALUE
    - SETBIT
    - SETVALUE0
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void assigning(bdz_ph_config_data_t *bdz_ph, bdz_ph_graph3_t*
      graph3, bdz_ph_queue_t queue) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __cmph_dump
      Src: /src/glib/girepository/cmph/bdz_ph.c:458,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/bdz_ph.c:462,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/bdz_ph.c:463,1
    - Dst: hash_state_dump
      Src: /src/glib/girepository/cmph/bdz_ph.c:460,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bdz_ph.c:461,1
    - Dst: free
      Src: /src/glib/girepository/cmph/bdz_ph.c:464,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/bdz_ph.c:466,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/bdz_ph.c:467,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/bdz_ph.c:468,1
    - Dst: ceil
      Src: /src/glib/girepository/cmph/bdz_ph.c:469,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bdz_ph.c:473,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bdz_ph.c:478,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bdz_ph.c:479,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/bdz_ph.c:470,1
    - Dst: ferror
      Src: /src/glib/girepository/cmph/bdz_ph.c:472,1
    - Dst: strerror
      Src: /src/glib/girepository/cmph/bdz_ph.c:473,1
    - Dst: GETVALUE
      Src: /src/glib/girepository/cmph/bdz_ph.c:478,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bdz_ph.c:477,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 2
    argNames:
    - mphf
    - fd
    argTypes:
    - cmph_t*
    - FILE*
    constantsTouched: []
    func_position:
      end: 482
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 482
    functionName: bdz_ph_dump
    functionSourceFile: /src/glib/girepository/cmph/bdz_ph.c
    functionUses: []
    functionsReached:
    - ferror
    - DEBUGP
    - fwrite
    - fprintf
    - strerror
    - hash_state_dump
    - free
    - GETVALUE
    - ceil
    - __cmph_dump
    linkageType: ''
    returnType: int
    signature: 'int bdz_ph_dump(cmph_t *mphf, FILE *fd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_vector
      Src: /src/glib/girepository/cmph/bdz_ph.c:525,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 3
    argNames:
    - mphf
    - key
    - keylen
    argTypes:
    - cmph_t*
    - char*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 540
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 540
    functionName: bdz_ph_search
    functionSourceFile: /src/glib/girepository/cmph/bdz_ph.c
    functionUses: []
    functionsReached:
    - hash_vector
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 bdz_ph_search(cmph_t *mphf, const char *key, cmph_uint32
      keylen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ceil
      Src: /src/glib/girepository/cmph/bdz_ph.c:430,1
    - Dst: free
      Src: /src/glib/girepository/cmph/bdz_ph.c:442,1
    - Dst: GETVALUE
      Src: /src/glib/girepository/cmph/bdz_ph.c:438,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/bdz_ph.c:431,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - bdz_ph
    argTypes:
    - bdz_ph_config_data_t*
    constantsTouched: []
    func_position:
      end: 444
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 444
    functionName: bdz_ph_optimization
    functionSourceFile: /src/glib/girepository/cmph/bdz_ph.c
    functionUses: []
    functionsReached:
    - calloc
    - free
    - ceil
    - GETVALUE
    linkageType: ''
    returnType: void
    signature: 'static void bdz_ph_optimization(bdz_ph_config_data_t *bdz_ph) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/girepository/cmph/bdz_ph.c:490,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/bdz_ph.c:495,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bdz_ph.c:496,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/bdz_ph.c:497,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bdz_ph.c:492,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/bdz_ph.c:498,1
    - Dst: hash_state_load
      Src: /src/glib/girepository/cmph/bdz_ph.c:499,1
    - Dst: free
      Src: /src/glib/girepository/cmph/bdz_ph.c:500,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bdz_ph.c:503,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/bdz_ph.c:504,1
    - Dst: ceil
      Src: /src/glib/girepository/cmph/bdz_ph.c:507,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bdz_ph.c:512,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/bdz_ph.c:505,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/bdz_ph.c:508,1
    - Dst: strerror
      Src: /src/glib/girepository/cmph/bdz_ph.c:512,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/bdz_ph.c:506,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/bdz_ph.c:509,1
    - Dst: ferror
      Src: /src/glib/girepository/cmph/bdz_ph.c:511,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 2
    argNames:
    - f
    - mphf
    argTypes:
    - FILE*
    - cmph_t*
    constantsTouched: []
    func_position:
      end: 515
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 515
    functionName: bdz_ph_load
    functionSourceFile: /src/glib/girepository/cmph/bdz_ph.c
    functionUses: []
    functionsReached:
    - malloc
    - ferror
    - DEBUGP
    - fprintf
    - strerror
    - free
    - hash_state_load
    - calloc
    - fread
    - ceil
    linkageType: ''
    returnType: void
    signature: 'void bdz_ph_load(FILE *f, cmph_t *mphf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/glib/girepository/cmph/bdz_ph.c:546,1
    - Dst: free
      Src: /src/glib/girepository/cmph/bdz_ph.c:548,1
    - Dst: hash_state_destroy
      Src: /src/glib/girepository/cmph/bdz_ph.c:547,1
    - Dst: free
      Src: /src/glib/girepository/cmph/bdz_ph.c:549,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - mphf
    argTypes:
    - cmph_t*
    constantsTouched: []
    func_position:
      end: 550
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 550
    functionName: bdz_ph_destroy
    functionSourceFile: /src/glib/girepository/cmph/bdz_ph.c
    functionUses: []
    functionsReached:
    - free
    - hash_state_destroy
    linkageType: ''
    returnType: void
    signature: 'void bdz_ph_destroy(cmph_t *mphf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/girepository/cmph/bmz.c:26,1
    - Dst: memset
      Src: /src/glib/girepository/cmph/bmz.c:28,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/bmz.c:27,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 35
    functionName: bmz_config_new
    functionSourceFile: /src/glib/girepository/cmph/bmz.c
    functionUses: []
    functionsReached:
    - malloc
    - memset
    - assert
    linkageType: ''
    returnType: bmz_config_data_t*
    signature: 'bmz_config_data_t *bmz_config_new(void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vqueue_new
      Src: /src/glib/girepository/cmph/bmz.c:198,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bmz.c:201,1
    - Dst: floor
      Src: /src/glib/girepository/cmph/bmz.c:204,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/bmz.c:222,1
    - Dst: graph_node_is_critical
      Src: /src/glib/girepository/cmph/bmz.c:222,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/bmz.c:242,1
    - Dst: SETBIT
      Src: /src/glib/girepository/cmph/bmz.c:203,1
    - Dst: vqueue_insert
      Src: /src/glib/girepository/cmph/bmz.c:205,1
    - Dst: vqueue_is_empty
      Src: /src/glib/girepository/cmph/bmz.c:206,1
    - Dst: graph_neighbors_it
      Src: /src/glib/girepository/cmph/bmz.c:209,1
    - Dst: graph_node_is_critical
      Src: /src/glib/girepository/cmph/bmz.c:212,1
    - Dst: vqueue_destroy
      Src: /src/glib/girepository/cmph/bmz.c:226,1
    - Dst: graph_next_neighbor
      Src: /src/glib/girepository/cmph/bmz.c:220,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/bmz.c:229,1
    - Dst: SETBIT
      Src: /src/glib/girepository/cmph/bmz.c:244,1
    - Dst: vqueue_destroy
      Src: /src/glib/girepository/cmph/bmz.c:255,1
    - Dst: ceil
      Src: /src/glib/girepository/cmph/bmz.c:202,1
    - Dst: graph_next_neighbor
      Src: /src/glib/girepository/cmph/bmz.c:210,1
    - Dst: graph_node_is_critical
      Src: /src/glib/girepository/cmph/bmz.c:242,1
    - Dst: graph_ncritical_nodes
      Src: /src/glib/girepository/cmph/bmz.c:198,1
    - Dst: vqueue_remove
      Src: /src/glib/girepository/cmph/bmz.c:208,1
    - Dst: graph_neighbors_it
      Src: /src/glib/girepository/cmph/bmz.c:218,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/bmz.c:212,1
    - Dst: graph_neighbors_it
      Src: /src/glib/girepository/cmph/bmz.c:239,1
    - Dst: graph_next_neighbor
      Src: /src/glib/girepository/cmph/bmz.c:240,1
    - Dst: SETBIT
      Src: /src/glib/girepository/cmph/bmz.c:249,1
    - Dst: vqueue_insert
      Src: /src/glib/girepository/cmph/bmz.c:250,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 76
    argCount: 6
    argNames:
    - bmz
    - v
    - biggest_g_value
    - biggest_edge_value
    - used_edges
    - visited
    argTypes:
    - bmz_config_data_t*
    - cmph_uint32
    - cmph_uint32*
    - cmph_uint32*
    - cmph_uint8*
    - cmph_uint8*
    constantsTouched: []
    func_position:
      end: 257
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 257
    functionName: bmz_traverse_critical_nodes
    functionSourceFile: /src/glib/girepository/cmph/bmz.c
    functionUses: []
    functionsReached:
    - vqueue_insert
    - graph_next_neighbor
    - vqueue_is_empty
    - DEBUGP
    - GETBIT
    - graph_node_is_critical
    - graph_ncritical_nodes
    - vqueue_new
    - vqueue_remove
    - SETBIT
    - graph_neighbors_it
    - ceil
    - vqueue_destroy
    - floor
    linkageType: ''
    returnType: cmph_uint8
    signature: 'static cmph_uint8 bmz_traverse_critical_nodes(bmz_config_data_t *bmz,
      cmph_uint32 v, cmph_uint32 * biggest_g_value, cmph_uint32 * biggest_edge_value,
      cmph_uint8 * used_edges, cmph_uint8 * visited) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - mph
    - hashfuncs
    argTypes:
    - cmph_config_t*
    - CMPH_HASH*
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: bmz_config_set_hashfuncs
    functionSourceFile: /src/glib/girepository/cmph/bmz.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void bmz_config_set_hashfuncs(cmph_config_t *mph, CMPH_HASH *hashfuncs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/glib/girepository/cmph/bmz.c:357,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/bmz.c:358,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - bmz
    - used_edges
    - unused_edge_index
    argTypes:
    - bmz_config_data_t*
    - cmph_uint8*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 362
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 362
    functionName: next_unused_edge
    functionSourceFile: /src/glib/girepository/cmph/bmz.c
    functionUses: []
    functionsReached:
    - GETBIT
    - assert
    linkageType: ''
    returnType: cmph_uint32
    signature: 'static cmph_uint32 next_unused_edge(bmz_config_data_t *bmz, cmph_uint8
      * used_edges, cmph_uint32 unused_edge_index) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bmz.c:386,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/bmz.c:391,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/bmz.c:391,1
    - Dst: graph_vertex_id
      Src: /src/glib/girepository/cmph/bmz.c:389,1
    - Dst: graph_vertex_id
      Src: /src/glib/girepository/cmph/bmz.c:390,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/bmz.c:391,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/bmz.c:391,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/bmz.c:392,1
    - Dst: bmz_traverse
      Src: /src/glib/girepository/cmph/bmz.c:392,1
    - Dst: bmz_traverse
      Src: /src/glib/girepository/cmph/bmz.c:393,1
    - Dst: SETBIT
      Src: /src/glib/girepository/cmph/bmz.c:402,1
    - Dst: bmz_traverse
      Src: /src/glib/girepository/cmph/bmz.c:403,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/bmz.c:399,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 3
    argNames:
    - bmz
    - used_edges
    - visited
    argTypes:
    - bmz_config_data_t*
    - cmph_uint8*
    - cmph_uint8*
    constantsTouched: []
    func_position:
      end: 407
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 407
    functionName: bmz_traverse_non_critical_nodes
    functionSourceFile: /src/glib/girepository/cmph/bmz.c
    functionUses: []
    functionsReached:
    - GETBIT
    - DEBUGP
    - graph_vertex_id
    - SETBIT
    - bmz_traverse
    linkageType: ''
    returnType: void
    signature: 'static void bmz_traverse_non_critical_nodes(bmz_config_data_t *bmz,
      cmph_uint8 * used_edges, cmph_uint8 * visited) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/bmz.c:458,1
    - Dst: hash_state_dump
      Src: /src/glib/girepository/cmph/bmz.c:460,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/bmz.c:463,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/bmz.c:473,1
    - Dst: free
      Src: /src/glib/girepository/cmph/bmz.c:470,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bmz.c:477,1
    - Dst: strerror
      Src: /src/glib/girepository/cmph/bmz.c:477,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/bmz.c:469,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/bmz.c:462,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bmz.c:467,1
    - Dst: ferror
      Src: /src/glib/girepository/cmph/bmz.c:476,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bmz.c:481,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/bmz.c:472,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bmz.c:482,1
    - Dst: __cmph_dump
      Src: /src/glib/girepository/cmph/bmz.c:456,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bmz.c:461,1
    - Dst: free
      Src: /src/glib/girepository/cmph/bmz.c:464,1
    - Dst: hash_state_dump
      Src: /src/glib/girepository/cmph/bmz.c:466,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/bmz.c:468,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/bmz.c:475,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bmz.c:483,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 2
    argNames:
    - mphf
    - fd
    argTypes:
    - cmph_t*
    - FILE*
    constantsTouched: []
    func_position:
      end: 486
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 486
    functionName: bmz_dump
    functionSourceFile: /src/glib/girepository/cmph/bmz.c
    functionUses: []
    functionsReached:
    - ferror
    - DEBUGP
    - fwrite
    - fprintf
    - strerror
    - hash_state_dump
    - free
    - __cmph_dump
    linkageType: ''
    returnType: int
    signature: 'int bmz_dump(cmph_t *mphf, FILE *fd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hash
      Src: /src/glib/girepository/cmph/bmz.c:537,1
    - Dst: hash
      Src: /src/glib/girepository/cmph/bmz.c:538,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bmz.c:541,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bmz.c:539,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - mphf
    - key
    - keylen
    argTypes:
    - cmph_t*
    - char*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 543
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 543
    functionName: bmz_search
    functionSourceFile: /src/glib/girepository/cmph/bmz.c
    functionUses: []
    functionsReached:
    - hash
    - DEBUGP
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 bmz_search(cmph_t *mphf, const char *key, cmph_uint32
      keylen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_get_type
      Src: /src/glib/girepository/cmph/bmz.c:601,1
    - Dst: hash_state_packed_size
      Src: /src/glib/girepository/cmph/bmz.c:604,1
    - Dst: hash_get_type
      Src: /src/glib/girepository/cmph/bmz.c:602,1
    - Dst: hash_state_packed_size
      Src: /src/glib/girepository/cmph/bmz.c:604,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - mphf
    argTypes:
    - cmph_t*
    constantsTouched: []
    func_position:
      end: 606
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 606
    functionName: bmz_packed_size
    functionSourceFile: /src/glib/girepository/cmph/bmz.c
    functionUses: []
    functionsReached:
    - hash_get_type
    - hash_state_packed_size
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 bmz_packed_size(cmph_t *mphf) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ceil
      Src: /src/glib/girepository/cmph/bmz.c:72,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bmz.c:88,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bmz.c:130,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/bmz.c:136,1
    - Dst: graph_node_is_critical
      Src: /src/glib/girepository/cmph/bmz.c:143,1
    - Dst: bmz_traverse_non_critical_nodes
      Src: /src/glib/girepository/cmph/bmz.c:156,1
    - Dst: free
      Src: /src/glib/girepository/cmph/bmz.c:164,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/bmz.c:172,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bmz.c:184,1
    - Dst: graph_destroy
      Src: /src/glib/girepository/cmph/bmz.c:166,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bmz.c:75,1
    - Dst: graph_new
      Src: /src/glib/girepository/cmph/bmz.c:74,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bmz.c:73,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/bmz.c:77,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bmz.c:95,1
    - Dst: hash_state_new
      Src: /src/glib/girepository/cmph/bmz.c:96,1
    - Dst: hash_state_destroy
      Src: /src/glib/girepository/cmph/bmz.c:102,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/bmz.c:134,1
    - Dst: memset
      Src: /src/glib/girepository/cmph/bmz.c:135,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/bmz.c:140,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bmz.c:187,1
    - Dst: hash_state_destroy
      Src: /src/glib/girepository/cmph/bmz.c:104,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bmz.c:106,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bmz.c:109,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bmz.c:123,1
    - Dst: bmz_gen_edges
      Src: /src/glib/girepository/cmph/bmz.c:98,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bmz.c:133,1
    - Dst: memset
      Src: /src/glib/girepository/cmph/bmz.c:137,1
    - Dst: free
      Src: /src/glib/girepository/cmph/bmz.c:138,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/bmz.c:143,1
    - Dst: bmz_traverse_critical_nodes_heuristic
      Src: /src/glib/girepository/cmph/bmz.c:146,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bmz.c:161,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bmz.c:70,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bmz.c:93,1
    - Dst: hash_state_new
      Src: /src/glib/girepository/cmph/bmz.c:94,1
    - Dst: graph_destroy
      Src: /src/glib/girepository/cmph/bmz.c:117,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bmz.c:97,1
    - Dst: graph_obtain_critical_nodes
      Src: /src/glib/girepository/cmph/bmz.c:125,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bmz.c:131,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/bmz.c:139,1
    - Dst: bmz_traverse_critical_nodes
      Src: /src/glib/girepository/cmph/bmz.c:145,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bmz.c:154,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/bmz.c:174,1
    - Dst: free
      Src: /src/glib/girepository/cmph/bmz.c:163,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 114
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 190
    functionName: bmz_new
    functionSourceFile: /src/glib/girepository/cmph/bmz.c
    functionUses: []
    functionsReached:
    - GETBIT
    - bmz_traverse_non_critical_nodes
    - hash_state_new
    - fprintf
    - graph_destroy
    - bmz_gen_edges
    - ceil
    - DEBUGP
    - hash_state_destroy
    - bmz_traverse_critical_nodes_heuristic
    - assert
    - malloc
    - graph_obtain_critical_nodes
    - graph_new
    - free
    - graph_node_is_critical
    - calloc
    - bmz_traverse_critical_nodes
    - memset
    linkageType: ''
    returnType: cmph_t*
    signature: 'cmph_t *bmz_new(cmph_config_t *mph, double c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bmz.c:40,1
    - Dst: free
      Src: /src/glib/girepository/cmph/bmz.c:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - mph
    argTypes:
    - cmph_config_t*
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: bmz_config_destroy
    functionSourceFile: /src/glib/girepository/cmph/bmz.c
    functionUses: []
    functionsReached:
    - free
    - DEBUGP
    linkageType: ''
    returnType: void
    signature: 'void bmz_config_destroy(cmph_config_t *mph) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: graph_ncritical_nodes
      Src: /src/glib/girepository/cmph/bmz.c:268,1
    - Dst: vqueue_insert
      Src: /src/glib/girepository/cmph/bmz.c:275,1
    - Dst: vqueue_is_empty
      Src: /src/glib/girepository/cmph/bmz.c:276,1
    - Dst: graph_neighbors_it
      Src: /src/glib/girepository/cmph/bmz.c:279,1
    - Dst: graph_node_is_critical
      Src: /src/glib/girepository/cmph/bmz.c:282,1
    - Dst: graph_node_is_critical
      Src: /src/glib/girepository/cmph/bmz.c:301,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/bmz.c:309,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/bmz.c:335,1
    - Dst: free
      Src: /src/glib/girepository/cmph/bmz.c:349,1
    - Dst: vqueue_new
      Src: /src/glib/girepository/cmph/bmz.c:268,1
    - Dst: vqueue_destroy
      Src: /src/glib/girepository/cmph/bmz.c:305,1
    - Dst: graph_next_neighbor
      Src: /src/glib/girepository/cmph/bmz.c:280,1
    - Dst: graph_next_neighbor
      Src: /src/glib/girepository/cmph/bmz.c:299,1
    - Dst: SETBIT
      Src: /src/glib/girepository/cmph/bmz.c:342,1
    - Dst: vqueue_insert
      Src: /src/glib/girepository/cmph/bmz.c:343,1
    - Dst: vqueue_destroy
      Src: /src/glib/girepository/cmph/bmz.c:348,1
    - Dst: SETBIT
      Src: /src/glib/girepository/cmph/bmz.c:273,1
    - Dst: vqueue_remove
      Src: /src/glib/girepository/cmph/bmz.c:278,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/bmz.c:282,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/bmz.c:301,1
    - Dst: graph_node_is_critical
      Src: /src/glib/girepository/cmph/bmz.c:335,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bmz.c:271,1
    - Dst: ceil
      Src: /src/glib/girepository/cmph/bmz.c:272,1
    - Dst: floor
      Src: /src/glib/girepository/cmph/bmz.c:274,1
    - Dst: graph_neighbors_it
      Src: /src/glib/girepository/cmph/bmz.c:297,1
    - Dst: free
      Src: /src/glib/girepository/cmph/bmz.c:306,1
    - Dst: realloc
      Src: /src/glib/girepository/cmph/bmz.c:320,1
    - Dst: graph_neighbors_it
      Src: /src/glib/girepository/cmph/bmz.c:332,1
    - Dst: graph_next_neighbor
      Src: /src/glib/girepository/cmph/bmz.c:333,1
    - Dst: SETBIT
      Src: /src/glib/girepository/cmph/bmz.c:337,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 97
    argCount: 6
    argNames:
    - bmz
    - v
    - biggest_g_value
    - biggest_edge_value
    - used_edges
    - visited
    argTypes:
    - bmz_config_data_t*
    - cmph_uint32
    - cmph_uint32*
    - cmph_uint32*
    - cmph_uint8*
    - cmph_uint8*
    constantsTouched: []
    func_position:
      end: 351
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 351
    functionName: bmz_traverse_critical_nodes_heuristic
    functionSourceFile: /src/glib/girepository/cmph/bmz.c
    functionUses: []
    functionsReached:
    - vqueue_insert
    - graph_next_neighbor
    - vqueue_is_empty
    - DEBUGP
    - GETBIT
    - free
    - graph_node_is_critical
    - graph_ncritical_nodes
    - vqueue_new
    - vqueue_remove
    - SETBIT
    - realloc
    - graph_neighbors_it
    - ceil
    - vqueue_destroy
    - floor
    linkageType: ''
    returnType: cmph_uint8
    signature: 'static cmph_uint8 bmz_traverse_critical_nodes_heuristic(bmz_config_data_t
      *bmz, cmph_uint32 v, cmph_uint32 * biggest_g_value, cmph_uint32 * biggest_edge_value,
      cmph_uint8 * used_edges, cmph_uint8 * visited) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: graph_neighbors_it
      Src: /src/glib/girepository/cmph/bmz.c:366,1
    - Dst: graph_next_neighbor
      Src: /src/glib/girepository/cmph/bmz.c:368,1
    - Dst: SETBIT
      Src: /src/glib/girepository/cmph/bmz.c:375,1
    - Dst: next_unused_edge
      Src: /src/glib/girepository/cmph/bmz.c:372,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/bmz.c:370,1
    - Dst: bmz_traverse
      Src: /src/glib/girepository/cmph/bmz.c:377,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 5
    argNames:
    - bmz
    - used_edges
    - v
    - unused_edge_index
    - visited
    argTypes:
    - bmz_config_data_t*
    - cmph_uint8*
    - cmph_uint32
    - cmph_uint32*
    - cmph_uint8*
    constantsTouched: []
    func_position:
      end: 380
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 380
    functionName: bmz_traverse
    functionSourceFile: /src/glib/girepository/cmph/bmz.c
    functionUses: []
    functionsReached:
    - next_unused_edge
    - graph_next_neighbor
    - GETBIT
    - SETBIT
    - graph_neighbors_it
    - bmz_traverse
    linkageType: ''
    returnType: void
    signature: 'static void bmz_traverse(bmz_config_data_t *bmz, cmph_uint8 * used_edges,
      cmph_uint32 v, cmph_uint32 * unused_edge_index, cmph_uint8 * visited) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bmz.c:414,1
    - Dst: graph_clear_edges
      Src: /src/glib/girepository/cmph/bmz.c:415,1
    - Dst: hash
      Src: /src/glib/girepository/cmph/bmz.c:425,1
    - Dst: hash
      Src: /src/glib/girepository/cmph/bmz.c:426,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bmz.c:430,1
    - Dst: graph_contains_edge
      Src: /src/glib/girepository/cmph/bmz.c:437,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bmz.c:438,1
    - Dst: graph_add_edge
      Src: /src/glib/girepository/cmph/bmz.c:440,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 1
    argNames:
    - mph
    argTypes:
    - cmph_config_t*
    constantsTouched: []
    func_position:
      end: 443
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 443
    functionName: bmz_gen_edges
    functionSourceFile: /src/glib/girepository/cmph/bmz.c
    functionUses: []
    functionsReached:
    - DEBUGP
    - fprintf
    - graph_add_edge
    - graph_contains_edge
    - graph_clear_edges
    - hash
    linkageType: ''
    returnType: int
    signature: 'static int bmz_gen_edges(cmph_config_t *mph) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/girepository/cmph/bmz.c:494,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/bmz.c:499,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/bmz.c:498,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/bmz.c:507,1
    - Dst: free
      Src: /src/glib/girepository/cmph/bmz.c:511,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/bmz.c:519,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bmz.c:514,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/bmz.c:505,1
    - Dst: hash_state_load
      Src: /src/glib/girepository/cmph/bmz.c:509,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/bmz.c:518,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bmz.c:527,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bmz.c:501,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bmz.c:506,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/bmz.c:515,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bmz.c:521,1
    - Dst: strerror
      Src: /src/glib/girepository/cmph/bmz.c:521,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/bmz.c:516,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bmz.c:528,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bmz.c:496,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/bmz.c:508,1
    - Dst: ferror
      Src: /src/glib/girepository/cmph/bmz.c:520,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bmz.c:526,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 2
    argNames:
    - f
    - mphf
    argTypes:
    - FILE*
    - cmph_t*
    constantsTouched: []
    func_position:
      end: 531
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 531
    functionName: bmz_load
    functionSourceFile: /src/glib/girepository/cmph/bmz.c
    functionUses: []
    functionsReached:
    - malloc
    - ferror
    - DEBUGP
    - fprintf
    - strerror
    - free
    - hash_state_load
    - fread
    linkageType: ''
    returnType: void
    signature: 'void bmz_load(FILE *f, cmph_t *mphf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/glib/girepository/cmph/bmz.c:547,1
    - Dst: free
      Src: /src/glib/girepository/cmph/bmz.c:551,1
    - Dst: free
      Src: /src/glib/girepository/cmph/bmz.c:550,1
    - Dst: hash_state_destroy
      Src: /src/glib/girepository/cmph/bmz.c:549,1
    - Dst: hash_state_destroy
      Src: /src/glib/girepository/cmph/bmz.c:548,1
    - Dst: free
      Src: /src/glib/girepository/cmph/bmz.c:552,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - mphf
    argTypes:
    - cmph_t*
    constantsTouched: []
    func_position:
      end: 553
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 553
    functionName: bmz_destroy
    functionSourceFile: /src/glib/girepository/cmph/bmz.c
    functionUses: []
    functionsReached:
    - free
    - hash_state_destroy
    linkageType: ''
    returnType: void
    signature: 'void bmz_destroy(cmph_t *mphf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_get_type
      Src: /src/glib/girepository/cmph/bmz.c:568,1
    - Dst: hash_state_pack
      Src: /src/glib/girepository/cmph/bmz.c:582,1
    - Dst: hash_state_pack
      Src: /src/glib/girepository/cmph/bmz.c:573,1
    - Dst: hash_get_type
      Src: /src/glib/girepository/cmph/bmz.c:577,1
    - Dst: hash_state_packed_size
      Src: /src/glib/girepository/cmph/bmz.c:574,1
    - Dst: hash_state_packed_size
      Src: /src/glib/girepository/cmph/bmz.c:583,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/bmz.c:590,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - mphf
    - packed_mphf
    argTypes:
    - cmph_t*
    - void*
    constantsTouched: []
    func_position:
      end: 591
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 591
    functionName: bmz_pack
    functionSourceFile: /src/glib/girepository/cmph/bmz.c
    functionUses: []
    functionsReached:
    - hash_get_type
    - hash_state_packed_size
    - hash_state_pack
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void bmz_pack(cmph_t *mphf, void *packed_mphf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hash_state_packed_size
      Src: /src/glib/girepository/cmph/bmz.c:625,1
    - Dst: hash_state_packed_size
      Src: /src/glib/girepository/cmph/bmz.c:629,1
    - Dst: hash_packed
      Src: /src/glib/girepository/cmph/bmz.c:634,1
    - Dst: hash_packed
      Src: /src/glib/girepository/cmph/bmz.c:633,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - packed_mphf
    - key
    - keylen
    argTypes:
    - void*
    - char*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 637
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 637
    functionName: bmz_search_packed
    functionSourceFile: /src/glib/girepository/cmph/bmz.c
    functionUses: []
    functionsReached:
    - hash_state_packed_size
    - hash_packed
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 bmz_search_packed(void *packed_mphf, const char *key,
      cmph_uint32 keylen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/glib/girepository/cmph/cmph.c:242,1
    - Dst: free
      Src: /src/glib/girepository/cmph/cmph.c:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - key_source
    argTypes:
    - cmph_io_adapter_t*
    constantsTouched: []
    func_position:
      end: 244
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 244
    functionName: cmph_io_vector_destroy
    functionSourceFile: /src/glib/girepository/cmph/cmph.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'static void cmph_io_vector_destroy(cmph_io_adapter_t * key_source) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmph_io_vector_destroy
      Src: /src/glib/girepository/cmph/cmph.c:256,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - key_source
    argTypes:
    - cmph_io_adapter_t*
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: cmph_io_byte_vector_adapter_destroy
    functionSourceFile: /src/glib/girepository/cmph/cmph.c
    functionUses: []
    functionsReached:
    - cmph_io_vector_destroy
    linkageType: ''
    returnType: void
    signature: 'void cmph_io_byte_vector_adapter_destroy(cmph_io_adapter_t * key_source) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmph_io_vector_destroy
      Src: /src/glib/girepository/cmph/cmph.c:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - key_source
    argTypes:
    - cmph_io_adapter_t*
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: cmph_io_vector_adapter_destroy
    functionSourceFile: /src/glib/girepository/cmph/cmph.c
    functionUses: []
    functionsReached:
    - cmph_io_vector_destroy
    linkageType: ''
    returnType: void
    signature: 'void cmph_io_vector_adapter_destroy(cmph_io_adapter_t * key_source) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmph_io_vector_new
      Src: /src/glib/girepository/cmph/cmph.c:248,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: cmph_io_byte_vector_adapter
    functionSourceFile: /src/glib/girepository/cmph/cmph.c
    functionUses: []
    functionsReached:
    - cmph_io_vector_new
    linkageType: ''
    returnType: cmph_io_adapter_t*
    signature: 'cmph_io_adapter_t *cmph_io_byte_vector_adapter(cmph_uint8 ** vector,
      cmph_uint32 nkeys) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmph_io_struct_vector_new
      Src: /src/glib/girepository/cmph/cmph.c:261,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 266
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 266
    functionName: cmph_io_struct_vector_adapter
    functionSourceFile: /src/glib/girepository/cmph/cmph.c
    functionUses: []
    functionsReached:
    - cmph_io_struct_vector_new
    linkageType: ''
    returnType: cmph_io_adapter_t*
    signature: 'cmph_io_adapter_t *cmph_io_struct_vector_adapter(void * vector, cmph_uint32
      struct_size, cmph_uint32 key_offset, cmph_uint32 key_len, cmph_uint32 nkeys) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __config_new
      Src: /src/glib/girepository/cmph/cmph.c:290,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/cmph.c:291,1
    - Dst: chm_config_new
      Src: /src/glib/girepository/cmph/cmph.c:293,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: cmph_config_new
    functionSourceFile: /src/glib/girepository/cmph/cmph.c
    functionUses: []
    functionsReached:
    - __config_new
    - chm_config_new
    - assert
    linkageType: ''
    returnType: cmph_config_t*
    signature: 'cmph_config_t *cmph_config_new(cmph_io_adapter_t *key_source) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/glib/girepository/cmph/cmph.c:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - key_source
    argTypes:
    - cmph_io_adapter_t*
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: cmph_io_nlfile_adapter_destroy
    functionSourceFile: /src/glib/girepository/cmph/cmph.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void cmph_io_nlfile_adapter_destroy(cmph_io_adapter_t * key_source) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmph_io_struct_vector_destroy
      Src: /src/glib/girepository/cmph/cmph.c:270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - key_source
    argTypes:
    - cmph_io_adapter_t*
    constantsTouched: []
    func_position:
      end: 271
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 271
    functionName: cmph_io_struct_vector_adapter_destroy
    functionSourceFile: /src/glib/girepository/cmph/cmph.c
    functionUses: []
    functionsReached:
    - cmph_io_struct_vector_destroy
    linkageType: ''
    returnType: void
    signature: 'void cmph_io_struct_vector_adapter_destroy(cmph_io_adapter_t * key_source) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/cmph.c:430,1
    - Dst: bmz8_config_destroy
      Src: /src/glib/girepository/cmph/cmph.c:440,1
    - Dst: chm_config_destroy
      Src: /src/glib/girepository/cmph/cmph.c:434,1
    - Dst: brz_config_destroy
      Src: /src/glib/girepository/cmph/cmph.c:443,1
    - Dst: bmz_config_destroy
      Src: /src/glib/girepository/cmph/cmph.c:437,1
    - Dst: fch_config_destroy
      Src: /src/glib/girepository/cmph/cmph.c:446,1
    - Dst: bdz_config_destroy
      Src: /src/glib/girepository/cmph/cmph.c:449,1
    - Dst: bdz_ph_config_destroy
      Src: /src/glib/girepository/cmph/cmph.c:452,1
    - Dst: chd_ph_config_destroy
      Src: /src/glib/girepository/cmph/cmph.c:455,1
    - Dst: chd_config_destroy
      Src: /src/glib/girepository/cmph/cmph.c:458,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/cmph.c:461,1
    - Dst: __config_destroy
      Src: /src/glib/girepository/cmph/cmph.c:463,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 15
    argCount: 1
    argNames:
    - mph
    argTypes:
    - cmph_config_t*
    constantsTouched: []
    func_position:
      end: 465
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 465
    functionName: cmph_config_destroy
    functionSourceFile: /src/glib/girepository/cmph/cmph.c
    functionUses: []
    functionsReached:
    - chm_config_destroy
    - bmz8_config_destroy
    - bdz_config_destroy
    - DEBUGP
    - brz_config_destroy
    - chd_config_destroy
    - bmz_config_destroy
    - assert
    - __config_destroy
    - bdz_ph_config_destroy
    - chd_ph_config_destroy
    - fch_config_destroy
    linkageType: ''
    returnType: void
    signature: 'void cmph_config_destroy(cmph_config_t *mph) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: chm_packed_size
      Src: /src/glib/girepository/cmph/cmph.c:785,1
    - Dst: brz_packed_size
      Src: /src/glib/girepository/cmph/cmph.c:791,1
    - Dst: bmz_packed_size
      Src: /src/glib/girepository/cmph/cmph.c:787,1
    - Dst: fch_packed_size
      Src: /src/glib/girepository/cmph/cmph.c:793,1
    - Dst: bmz8_packed_size
      Src: /src/glib/girepository/cmph/cmph.c:789,1
    - Dst: bdz_packed_size
      Src: /src/glib/girepository/cmph/cmph.c:795,1
    - Dst: bdz_ph_packed_size
      Src: /src/glib/girepository/cmph/cmph.c:797,1
    - Dst: chd_ph_packed_size
      Src: /src/glib/girepository/cmph/cmph.c:799,1
    - Dst: chd_packed_size
      Src: /src/glib/girepository/cmph/cmph.c:801,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/cmph.c:803,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 12
    argCount: 1
    argNames:
    - mphf
    argTypes:
    - cmph_t*
    constantsTouched: []
    func_position:
      end: 806
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 806
    functionName: cmph_packed_size
    functionSourceFile: /src/glib/girepository/cmph/cmph.c
    functionUses: []
    functionsReached:
    - brz_packed_size
    - chm_packed_size
    - bdz_packed_size
    - bmz_packed_size
    - chd_packed_size
    - chd_ph_packed_size
    - bdz_ph_packed_size
    - assert
    - fch_packed_size
    - bmz8_packed_size
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 cmph_packed_size(cmph_t *mphf) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fgets
      Src: /src/glib/girepository/cmph/cmph.c:63,1
    - Dst: realloc
      Src: /src/glib/girepository/cmph/cmph.c:66,1
    - Dst: feof
      Src: /src/glib/girepository/cmph/cmph.c:65,1
    - Dst: strlen
      Src: /src/glib/girepository/cmph/cmph.c:66,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/cmph.c:67,1
    - Dst: strlen
      Src: /src/glib/girepository/cmph/cmph.c:67,1
    - Dst: strlen
      Src: /src/glib/girepository/cmph/cmph.c:68,1
    - Dst: strlen
      Src: /src/glib/girepository/cmph/cmph.c:69,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 3
    argNames:
    - data
    - key
    - keylen
    argTypes:
    - void*
    - char**
    - cmph_uint32*
    constantsTouched: []
    func_position:
      end: 78
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 78
    functionName: key_nlfile_read
    functionSourceFile: /src/glib/girepository/cmph/cmph.c
    functionUses: []
    functionsReached:
    - memcpy
    - fgets
    - feof
    - strlen
    - realloc
    linkageType: ''
    returnType: int
    signature: 'static int key_nlfile_read(void *data, char **key, cmph_uint32 *keylen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/girepository/cmph/cmph.c:185,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/cmph.c:186,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 193
    functionName: cmph_io_nlnkfile_adapter
    functionSourceFile: /src/glib/girepository/cmph/cmph.c
    functionUses: []
    functionsReached:
    - malloc
    - assert
    linkageType: ''
    returnType: cmph_io_adapter_t*
    signature: 'cmph_io_adapter_t *cmph_io_nlnkfile_adapter(FILE * keys_fd, cmph_uint32
      nkeys) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmph_io_vector_new
      Src: /src/glib/girepository/cmph/cmph.c:275,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: cmph_io_vector_adapter
    functionSourceFile: /src/glib/girepository/cmph/cmph.c
    functionUses: []
    functionsReached:
    - cmph_io_vector_new
    linkageType: ''
    returnType: cmph_io_adapter_t*
    signature: 'cmph_io_adapter_t *cmph_io_vector_adapter(char ** vector, cmph_uint32
      nkeys) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - mph
    - verbosity
    argTypes:
    - cmph_config_t*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 470
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 470
    functionName: cmph_config_set_verbosity
    functionSourceFile: /src/glib/girepository/cmph/cmph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void cmph_config_set_verbosity(cmph_config_t *mph, cmph_uint32 verbosity) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/cmph.c:739,1
    - Dst: bmz_pack
      Src: /src/glib/girepository/cmph/cmph.c:746,1
    - Dst: chm_pack
      Src: /src/glib/girepository/cmph/cmph.c:743,1
    - Dst: brz_pack
      Src: /src/glib/girepository/cmph/cmph.c:752,1
    - Dst: bmz8_pack
      Src: /src/glib/girepository/cmph/cmph.c:749,1
    - Dst: fch_pack
      Src: /src/glib/girepository/cmph/cmph.c:755,1
    - Dst: bdz_pack
      Src: /src/glib/girepository/cmph/cmph.c:758,1
    - Dst: bdz_ph_pack
      Src: /src/glib/girepository/cmph/cmph.c:761,1
    - Dst: chd_ph_pack
      Src: /src/glib/girepository/cmph/cmph.c:764,1
    - Dst: chd_pack
      Src: /src/glib/girepository/cmph/cmph.c:767,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/cmph.c:770,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 14
    argCount: 2
    argNames:
    - mphf
    - packed_mphf
    argTypes:
    - cmph_t*
    - void*
    constantsTouched: []
    func_position:
      end: 773
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 773
    functionName: cmph_pack
    functionSourceFile: /src/glib/girepository/cmph/cmph.c
    functionUses: []
    functionsReached:
    - bdz_pack
    - chm_pack
    - DEBUGP
    - bdz_ph_pack
    - bmz8_pack
    - fch_pack
    - bmz_pack
    - assert
    - brz_pack
    - chd_ph_pack
    - chd_pack
    linkageType: ''
    returnType: void
    signature: 'void cmph_pack(cmph_t *mphf, void *packed_mphf) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: chm_search_packed
      Src: /src/glib/girepository/cmph/cmph.c:822,1
    - Dst: brz_search_packed
      Src: /src/glib/girepository/cmph/cmph.c:828,1
    - Dst: bmz_search_packed
      Src: /src/glib/girepository/cmph/cmph.c:824,1
    - Dst: bmz8_search_packed
      Src: /src/glib/girepository/cmph/cmph.c:826,1
    - Dst: fch_search_packed
      Src: /src/glib/girepository/cmph/cmph.c:830,1
    - Dst: bdz_search_packed
      Src: /src/glib/girepository/cmph/cmph.c:832,1
    - Dst: bdz_ph_search_packed
      Src: /src/glib/girepository/cmph/cmph.c:834,1
    - Dst: chd_ph_search_packed
      Src: /src/glib/girepository/cmph/cmph.c:836,1
    - Dst: chd_search_packed
      Src: /src/glib/girepository/cmph/cmph.c:838,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/cmph.c:840,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 12
    argCount: 3
    argNames:
    - packed_mphf
    - key
    - keylen
    argTypes:
    - void*
    - char*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 843
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 843
    functionName: cmph_search_packed
    functionSourceFile: /src/glib/girepository/cmph/cmph.c
    functionUses: []
    functionsReached:
    - chm_search_packed
    - chd_search_packed
    - fch_search_packed
    - brz_search_packed
    - bmz8_search_packed
    - assert
    - bmz_search_packed
    - bdz_ph_search_packed
    - chd_ph_search_packed
    - bdz_search_packed
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 cmph_search_packed(void *packed_mphf, const char *key,
      cmph_uint32 keylen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/cmph.c:85,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/cmph.c:87,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/cmph.c:88,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - data
    - key
    - keylen
    argTypes:
    - void*
    - char**
    - cmph_uint32*
    constantsTouched: []
    func_position:
      end: 92
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 92
    functionName: key_byte_vector_read
    functionSourceFile: /src/glib/girepository/cmph/cmph.c
    functionUses: []
    functionsReached:
    - memcpy
    - malloc
    linkageType: ''
    returnType: int
    signature: 'static int key_byte_vector_read(void *data, char **key, cmph_uint32
      *keylen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: key_struct_vector_rewind
    functionSourceFile: /src/glib/girepository/cmph/cmph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void key_struct_vector_rewind(void *data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rewind
      Src: /src/glib/girepository/cmph/cmph.c:153,1
    - Dst: fgets
      Src: /src/glib/girepository/cmph/cmph.c:157,1
    - Dst: rewind
      Src: /src/glib/girepository/cmph/cmph.c:162,1
    - Dst: strlen
      Src: /src/glib/girepository/cmph/cmph.c:159,1
    - Dst: feof
      Src: /src/glib/girepository/cmph/cmph.c:158,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - fd
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 164
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 164
    functionName: count_nlfile_keys
    functionSourceFile: /src/glib/girepository/cmph/cmph.c
    functionUses: []
    functionsReached:
    - fgets
    - feof
    - rewind
    - strlen
    linkageType: ''
    returnType: cmph_uint32
    signature: 'static cmph_uint32 count_nlfile_keys(FILE *fd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/glib/girepository/cmph/cmph.c:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - key_source
    argTypes:
    - cmph_io_adapter_t*
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: cmph_io_nlnkfile_adapter_destroy
    functionSourceFile: /src/glib/girepository/cmph/cmph.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void cmph_io_nlnkfile_adapter_destroy(cmph_io_adapter_t * key_source) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: brz_config_destroy
      Src: /src/glib/girepository/cmph/cmph.c:313,1
    - Dst: bmz_config_destroy
      Src: /src/glib/girepository/cmph/cmph.c:307,1
    - Dst: bdz_ph_config_destroy
      Src: /src/glib/girepository/cmph/cmph.c:322,1
    - Dst: chd_config_destroy
      Src: /src/glib/girepository/cmph/cmph.c:328,1
    - Dst: chm_config_new
      Src: /src/glib/girepository/cmph/cmph.c:336,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/cmph.c:331,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/cmph.c:363,1
    - Dst: fch_config_destroy
      Src: /src/glib/girepository/cmph/cmph.c:316,1
    - Dst: bmz8_config_destroy
      Src: /src/glib/girepository/cmph/cmph.c:310,1
    - Dst: bdz_config_destroy
      Src: /src/glib/girepository/cmph/cmph.c:319,1
    - Dst: chd_ph_config_destroy
      Src: /src/glib/girepository/cmph/cmph.c:325,1
    - Dst: chm_config_destroy
      Src: /src/glib/girepository/cmph/cmph.c:304,1
    - Dst: bdz_ph_config_new
      Src: /src/glib/girepository/cmph/cmph.c:354,1
    - Dst: chd_ph_config_new
      Src: /src/glib/girepository/cmph/cmph.c:357,1
    - Dst: bmz_config_new
      Src: /src/glib/girepository/cmph/cmph.c:339,1
    - Dst: fch_config_new
      Src: /src/glib/girepository/cmph/cmph.c:348,1
    - Dst: chd_config_new
      Src: /src/glib/girepository/cmph/cmph.c:360,1
    - Dst: brz_config_new
      Src: /src/glib/girepository/cmph/cmph.c:345,1
    - Dst: bmz8_config_new
      Src: /src/glib/girepository/cmph/cmph.c:342,1
    - Dst: bdz_config_new
      Src: /src/glib/girepository/cmph/cmph.c:351,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 35
    argCount: 2
    argNames:
    - mph
    - algo
    argTypes:
    - cmph_config_t*
    - CMPH_ALGO
    constantsTouched: []
    func_position:
      end: 367
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 367
    functionName: cmph_config_set_algo
    functionSourceFile: /src/glib/girepository/cmph/cmph.c
    functionUses: []
    functionsReached:
    - chd_config_destroy
    - bdz_ph_config_destroy
    - chm_config_destroy
    - fch_config_new
    - bdz_config_destroy
    - bmz8_config_new
    - brz_config_destroy
    - chm_config_new
    - chd_ph_config_new
    - brz_config_new
    - bmz8_config_destroy
    - bdz_ph_config_new
    - bmz_config_destroy
    - assert
    - bdz_config_new
    - bmz_config_new
    - chd_ph_config_destroy
    - chd_config_new
    - fch_config_destroy
    linkageType: ''
    returnType: void
    signature: 'void cmph_config_set_algo(cmph_config_t *mph, CMPH_ALGO algo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: chd_ph_config_set_keys_per_bin
      Src: /src/glib/girepository/cmph/cmph.c:410,1
    - Dst: chd_config_set_keys_per_bin
      Src: /src/glib/girepository/cmph/cmph.c:414,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - mph
    - keys_per_bin
    argTypes:
    - cmph_config_t*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 416
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 416
    functionName: cmph_config_set_keys_per_bin
    functionSourceFile: /src/glib/girepository/cmph/cmph.c
    functionUses: []
    functionsReached:
    - chd_config_set_keys_per_bin
    - chd_ph_config_set_keys_per_bin
    linkageType: ''
    returnType: void
    signature: 'void cmph_config_set_keys_per_bin(cmph_config_t *mph, cmph_uint32
      keys_per_bin) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/cmph.c:519,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/cmph.c:523,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/cmph.c:527,1
    - Dst: bmz8_new
      Src: /src/glib/girepository/cmph/cmph.c:532,1
    - Dst: brz_config_set_algo
      Src: /src/glib/girepository/cmph/cmph.c:536,1
    - Dst: brz_config_set_algo
      Src: /src/glib/girepository/cmph/cmph.c:537,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/cmph.c:549,1
    - Dst: chd_ph_new
      Src: /src/glib/girepository/cmph/cmph.c:554,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/cmph.c:561,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/cmph.c:531,1
    - Dst: fch_new
      Src: /src/glib/girepository/cmph/cmph.c:542,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/cmph.c:553,1
    - Dst: chd_new
      Src: /src/glib/girepository/cmph/cmph.c:558,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/cmph.c:535,1
    - Dst: brz_new
      Src: /src/glib/girepository/cmph/cmph.c:538,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/cmph.c:541,1
    - Dst: bdz_new
      Src: /src/glib/girepository/cmph/cmph.c:546,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/cmph.c:557,1
    - Dst: chm_new
      Src: /src/glib/girepository/cmph/cmph.c:524,1
    - Dst: bmz_new
      Src: /src/glib/girepository/cmph/cmph.c:528,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/cmph.c:545,1
    - Dst: bdz_ph_new
      Src: /src/glib/girepository/cmph/cmph.c:550,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 564
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 564
    functionName: cmph_new
    functionSourceFile: /src/glib/girepository/cmph/cmph.c
    functionUses: []
    functionsReached:
    - DEBUGP
    - bmz8_new
    - bdz_new
    - bdz_ph_new
    - brz_config_set_algo
    - assert
    - bmz_new
    - chm_new
    - chd_new
    - chd_ph_new
    - brz_new
    - fch_new
    linkageType: ''
    returnType: cmph_t*
    signature: 'cmph_t *cmph_new(cmph_config_t *mph) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/girepository/cmph/cmph.c:101,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/cmph.c:102,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - data
    - key
    - keylen
    argTypes:
    - void*
    - char**
    - cmph_uint32*
    constantsTouched: []
    func_position:
      end: 105
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 105
    functionName: key_struct_vector_read
    functionSourceFile: /src/glib/girepository/cmph/cmph.c
    functionUses: []
    functionsReached:
    - malloc
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int key_struct_vector_read(void *data, char **key, cmph_uint32
      *keylen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: key_vector_rewind
    functionSourceFile: /src/glib/girepository/cmph/cmph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void key_vector_rewind(void *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/girepository/cmph/cmph.c:168,1
    - Dst: count_nlfile_keys
      Src: /src/glib/girepository/cmph/cmph.c:171,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/cmph.c:169,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 176
    functionName: cmph_io_nlfile_adapter
    functionSourceFile: /src/glib/girepository/cmph/cmph.c
    functionUses: []
    functionsReached:
    - malloc
    - count_nlfile_keys
    - assert
    linkageType: ''
    returnType: cmph_io_adapter_t*
    signature: 'cmph_io_adapter_t *cmph_io_nlfile_adapter(FILE * keys_fd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/girepository/cmph/cmph.c:203,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/cmph.c:206,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/cmph.c:204,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/cmph.c:205,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 215
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 215
    functionName: cmph_io_struct_vector_new
    functionSourceFile: /src/glib/girepository/cmph/cmph.c
    functionUses: []
    functionsReached:
    - malloc
    - assert
    linkageType: ''
    returnType: cmph_io_adapter_t*
    signature: 'static cmph_io_adapter_t *cmph_io_struct_vector_new(void * vector,
      cmph_uint32 struct_size, cmph_uint32 key_offset, cmph_uint32 key_len, cmph_uint32
      nkeys) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: brz_config_set_tmp_dir
      Src: /src/glib/girepository/cmph/cmph.c:373,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - mph
    - tmp_dir
    argTypes:
    - cmph_config_t*
    - cmph_uint8*
    constantsTouched: []
    func_position:
      end: 375
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 375
    functionName: cmph_config_set_tmp_dir
    functionSourceFile: /src/glib/girepository/cmph/cmph.c
    functionUses: []
    functionsReached:
    - brz_config_set_tmp_dir
    linkageType: ''
    returnType: void
    signature: 'void cmph_config_set_tmp_dir(cmph_config_t *mph, cmph_uint8 *tmp_dir) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: brz_config_set_memory_availability
      Src: /src/glib/girepository/cmph/cmph.c:422,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - mph
    - memory_availability
    argTypes:
    - cmph_config_t*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 424
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 424
    functionName: cmph_config_set_memory_availability
    functionSourceFile: /src/glib/girepository/cmph/cmph.c
    functionUses: []
    functionsReached:
    - brz_config_set_memory_availability
    linkageType: ''
    returnType: void
    signature: 'void cmph_config_set_memory_availability(cmph_config_t *mph, cmph_uint32
      memory_availability) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: chm_dump
      Src: /src/glib/girepository/cmph/cmph.c:571,1
    - Dst: fch_dump
      Src: /src/glib/girepository/cmph/cmph.c:579,1
    - Dst: bmz8_dump
      Src: /src/glib/girepository/cmph/cmph.c:575,1
    - Dst: bmz_dump
      Src: /src/glib/girepository/cmph/cmph.c:573,1
    - Dst: brz_dump
      Src: /src/glib/girepository/cmph/cmph.c:577,1
    - Dst: bdz_dump
      Src: /src/glib/girepository/cmph/cmph.c:581,1
    - Dst: bdz_ph_dump
      Src: /src/glib/girepository/cmph/cmph.c:583,1
    - Dst: chd_ph_dump
      Src: /src/glib/girepository/cmph/cmph.c:585,1
    - Dst: chd_dump
      Src: /src/glib/girepository/cmph/cmph.c:587,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/cmph.c:589,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/cmph.c:591,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 13
    argCount: 2
    argNames:
    - mphf
    - f
    argTypes:
    - cmph_t*
    - FILE*
    constantsTouched: []
    func_position:
      end: 593
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 593
    functionName: cmph_dump
    functionSourceFile: /src/glib/girepository/cmph/cmph.c
    functionUses: []
    functionsReached:
    - brz_dump
    - chd_dump
    - chm_dump
    - bdz_dump
    - bdz_ph_dump
    - bmz_dump
    - assert
    - fch_dump
    - chd_ph_dump
    - bmz8_dump
    linkageType: ''
    returnType: int
    signature: 'int cmph_dump(cmph_t *mphf, FILE *f) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/girepository/cmph/cmph.c:112,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/cmph.c:114,1
    - Dst: strcpy
      Src: /src/glib/girepository/cmph/cmph.c:115,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - data
    - key
    - keylen
    argTypes:
    - void*
    - char**
    - cmph_uint32*
    constantsTouched: []
    func_position:
      end: 119
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 119
    functionName: key_vector_read
    functionSourceFile: /src/glib/girepository/cmph/cmph.c
    functionUses: []
    functionsReached:
    - malloc
    - strcpy
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int key_vector_read(void *data, char **key, cmph_uint32 *keylen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/glib/girepository/cmph/cmph.c:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - data
    - key
    - keylen
    argTypes:
    - void*
    - char*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: key_vector_dispose
    functionSourceFile: /src/glib/girepository/cmph/cmph.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'static void key_vector_dispose(void *data, char *key, cmph_uint32
      keylen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/glib/girepository/cmph/cmph.c:221,1
    - Dst: free
      Src: /src/glib/girepository/cmph/cmph.c:222,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - key_source
    argTypes:
    - cmph_io_adapter_t*
    constantsTouched: []
    func_position:
      end: 223
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 223
    functionName: cmph_io_struct_vector_destroy
    functionSourceFile: /src/glib/girepository/cmph/cmph.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'static void cmph_io_struct_vector_destroy(cmph_io_adapter_t * key_source) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: brz_config_set_mphf_fd
      Src: /src/glib/girepository/cmph/cmph.c:382,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - mph
    - mphf_fd
    argTypes:
    - cmph_config_t*
    - FILE*
    constantsTouched: []
    func_position:
      end: 384
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 384
    functionName: cmph_config_set_mphf_fd
    functionSourceFile: /src/glib/girepository/cmph/cmph.c
    functionUses: []
    functionsReached:
    - brz_config_set_mphf_fd
    linkageType: ''
    returnType: void
    signature: 'void cmph_config_set_mphf_fd(cmph_config_t *mph, FILE *mphf_fd) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: chm_config_set_hashfuncs
      Src: /src/glib/girepository/cmph/cmph.c:477,1
    - Dst: fch_config_set_hashfuncs
      Src: /src/glib/girepository/cmph/cmph.c:489,1
    - Dst: bmz8_config_set_hashfuncs
      Src: /src/glib/girepository/cmph/cmph.c:483,1
    - Dst: brz_config_set_hashfuncs
      Src: /src/glib/girepository/cmph/cmph.c:486,1
    - Dst: bmz_config_set_hashfuncs
      Src: /src/glib/girepository/cmph/cmph.c:480,1
    - Dst: bdz_config_set_hashfuncs
      Src: /src/glib/girepository/cmph/cmph.c:492,1
    - Dst: bdz_ph_config_set_hashfuncs
      Src: /src/glib/girepository/cmph/cmph.c:495,1
    - Dst: chd_ph_config_set_hashfuncs
      Src: /src/glib/girepository/cmph/cmph.c:498,1
    - Dst: chd_config_set_hashfuncs
      Src: /src/glib/girepository/cmph/cmph.c:501,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 11
    argCount: 2
    argNames:
    - mph
    - hashfuncs
    argTypes:
    - cmph_config_t*
    - CMPH_HASH*
    constantsTouched: []
    func_position:
      end: 507
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 507
    functionName: cmph_config_set_hashfuncs
    functionSourceFile: /src/glib/girepository/cmph/cmph.c
    functionUses: []
    functionsReached:
    - bdz_ph_config_set_hashfuncs
    - chd_ph_config_set_hashfuncs
    - bmz_config_set_hashfuncs
    - bdz_config_set_hashfuncs
    - chd_config_set_hashfuncs
    - chm_config_set_hashfuncs
    - fch_config_set_hashfuncs
    - bmz8_config_set_hashfuncs
    - brz_config_set_hashfuncs
    linkageType: ''
    returnType: void
    signature: 'void cmph_config_set_hashfuncs(cmph_config_t *mph, CMPH_HASH *hashfuncs) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: chm_load
      Src: /src/glib/girepository/cmph/cmph.c:605,1
    - Dst: brz_load
      Src: /src/glib/girepository/cmph/cmph.c:617,1
    - Dst: fch_load
      Src: /src/glib/girepository/cmph/cmph.c:621,1
    - Dst: bdz_load
      Src: /src/glib/girepository/cmph/cmph.c:625,1
    - Dst: bdz_ph_load
      Src: /src/glib/girepository/cmph/cmph.c:629,1
    - Dst: chd_ph_load
      Src: /src/glib/girepository/cmph/cmph.c:633,1
    - Dst: chd_load
      Src: /src/glib/girepository/cmph/cmph.c:637,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/cmph.c:640,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/cmph.c:608,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/cmph.c:612,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/cmph.c:600,1
    - Dst: __cmph_load
      Src: /src/glib/girepository/cmph/cmph.c:598,1
    - Dst: bmz_load
      Src: /src/glib/girepository/cmph/cmph.c:609,1
    - Dst: bmz8_load
      Src: /src/glib/girepository/cmph/cmph.c:613,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/cmph.c:597,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/cmph.c:616,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/cmph.c:620,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/cmph.c:632,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/cmph.c:636,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/cmph.c:624,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/cmph.c:628,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/cmph.c:642,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 644
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 644
    functionName: cmph_load
    functionSourceFile: /src/glib/girepository/cmph/cmph.c
    functionUses: []
    functionsReached:
    - DEBUGP
    - fch_load
    - chd_load
    - brz_load
    - assert
    - bmz_load
    - bdz_ph_load
    - __cmph_load
    - bmz8_load
    - chm_load
    - bdz_load
    - chd_ph_load
    linkageType: ''
    returnType: cmph_t*
    signature: 'cmph_t *cmph_load(FILE *f) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - mphf
    argTypes:
    - cmph_t*
    constantsTouched: []
    func_position:
      end: 688
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 688
    functionName: cmph_size
    functionSourceFile: /src/glib/girepository/cmph/cmph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 cmph_size(cmph_t *mphf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/glib/girepository/cmph/cmph.c:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - data
    - key
    - keylen
    argTypes:
    - void*
    - char*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: key_nlfile_dispose
    functionSourceFile: /src/glib/girepository/cmph/cmph.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'static void key_nlfile_dispose(void *data, char *key, cmph_uint32
      keylen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rewind
      Src: /src/glib/girepository/cmph/cmph.c:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: key_nlfile_rewind
    functionSourceFile: /src/glib/girepository/cmph/cmph.c
    functionUses: []
    functionsReached:
    - rewind
    linkageType: ''
    returnType: void
    signature: 'static void key_nlfile_rewind(void *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/girepository/cmph/cmph.c:227,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/cmph.c:229,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/cmph.c:230,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/cmph.c:228,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 236
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 236
    functionName: cmph_io_vector_new
    functionSourceFile: /src/glib/girepository/cmph/cmph.c
    functionUses: []
    functionsReached:
    - malloc
    - assert
    linkageType: ''
    returnType: cmph_io_adapter_t*
    signature: 'static cmph_io_adapter_t *cmph_io_vector_new(void * vector, cmph_uint32
      nkeys) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: brz_config_set_b
      Src: /src/glib/girepository/cmph/cmph.c:390,1
    - Dst: bdz_config_set_b
      Src: /src/glib/girepository/cmph/cmph.c:394,1
    - Dst: chd_ph_config_set_b
      Src: /src/glib/girepository/cmph/cmph.c:398,1
    - Dst: chd_config_set_b
      Src: /src/glib/girepository/cmph/cmph.c:402,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - mph
    - b
    argTypes:
    - cmph_config_t*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 404
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 404
    functionName: cmph_config_set_b
    functionSourceFile: /src/glib/girepository/cmph/cmph.c
    functionUses: []
    functionsReached:
    - chd_config_set_b
    - chd_ph_config_set_b
    - bdz_config_set_b
    - brz_config_set_b
    linkageType: ''
    returnType: void
    signature: 'void cmph_config_set_b(cmph_config_t *mph, cmph_uint32 b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - mph
    - c
    argTypes:
    - cmph_config_t*
    - double
    constantsTouched: []
    func_position:
      end: 512
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 512
    functionName: cmph_config_set_graphsize
    functionSourceFile: /src/glib/girepository/cmph/cmph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void cmph_config_set_graphsize(cmph_config_t *mph, double c) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/cmph.c:658,1
    - Dst: chm_search
      Src: /src/glib/girepository/cmph/cmph.c:653,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/cmph.c:655,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/cmph.c:661,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/cmph.c:664,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/cmph.c:670,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/cmph.c:673,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/cmph.c:667,1
    - Dst: chd_search
      Src: /src/glib/girepository/cmph/cmph.c:677,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/cmph.c:681,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/cmph.c:649,1
    - Dst: bmz_search
      Src: /src/glib/girepository/cmph/cmph.c:656,1
    - Dst: bmz8_search
      Src: /src/glib/girepository/cmph/cmph.c:659,1
    - Dst: brz_search
      Src: /src/glib/girepository/cmph/cmph.c:662,1
    - Dst: fch_search
      Src: /src/glib/girepository/cmph/cmph.c:665,1
    - Dst: bdz_ph_search
      Src: /src/glib/girepository/cmph/cmph.c:671,1
    - Dst: chd_ph_search
      Src: /src/glib/girepository/cmph/cmph.c:674,1
    - Dst: bdz_search
      Src: /src/glib/girepository/cmph/cmph.c:668,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/cmph.c:676,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/cmph.c:679,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 3
    argNames:
    - mphf
    - key
    - keylen
    argTypes:
    - cmph_t*
    - char*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 683
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 683
    functionName: cmph_search
    functionSourceFile: /src/glib/girepository/cmph/cmph.c
    functionUses: []
    functionsReached:
    - bdz_ph_search
    - DEBUGP
    - brz_search
    - chd_search
    - assert
    - chm_search
    - bdz_search
    - fch_search
    - bmz_search
    - chd_ph_search
    - bmz8_search
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 cmph_search(cmph_t *mphf, const char *key, cmph_uint32
      keylen) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: chm_destroy
      Src: /src/glib/girepository/cmph/cmph.c:695,1
    - Dst: bmz8_destroy
      Src: /src/glib/girepository/cmph/cmph.c:701,1
    - Dst: brz_destroy
      Src: /src/glib/girepository/cmph/cmph.c:704,1
    - Dst: fch_destroy
      Src: /src/glib/girepository/cmph/cmph.c:707,1
    - Dst: bmz_destroy
      Src: /src/glib/girepository/cmph/cmph.c:698,1
    - Dst: bdz_destroy
      Src: /src/glib/girepository/cmph/cmph.c:710,1
    - Dst: bdz_ph_destroy
      Src: /src/glib/girepository/cmph/cmph.c:713,1
    - Dst: chd_ph_destroy
      Src: /src/glib/girepository/cmph/cmph.c:716,1
    - Dst: chd_destroy
      Src: /src/glib/girepository/cmph/cmph.c:719,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/cmph.c:722,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/cmph.c:724,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 13
    argCount: 1
    argNames:
    - mphf
    argTypes:
    - cmph_t*
    constantsTouched: []
    func_position:
      end: 726
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 726
    functionName: cmph_destroy
    functionSourceFile: /src/glib/girepository/cmph/cmph.c
    functionUses: []
    functionsReached:
    - chd_ph_destroy
    - chm_destroy
    - chd_destroy
    - fch_destroy
    - assert
    - bdz_destroy
    - brz_destroy
    - bdz_ph_destroy
    - bmz_destroy
    - bmz8_destroy
    linkageType: ''
    returnType: void
    signature: 'void cmph_destroy(cmph_t *mphf) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/brz.c:134,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/brz.c:187,1
    - Dst: free
      Src: /src/glib/girepository/cmph/brz.c:184,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/brz.c:145,1
    - Dst: ceil
      Src: /src/glib/girepository/cmph/brz.c:150,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/brz.c:149,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/brz.c:163,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/brz.c:165,1
    - Dst: hash_state_destroy
      Src: /src/glib/girepository/cmph/brz.c:170,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/brz.c:197,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/brz.c:219,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/brz.c:152,1
    - Dst: brz_gen_mphf
      Src: /src/glib/girepository/cmph/brz.c:166,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/brz.c:216,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/brz.c:151,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/brz.c:157,1
    - Dst: hash_state_new
      Src: /src/glib/girepository/cmph/brz.c:164,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/brz.c:183,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/brz.c:175,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/brz.c:195,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/brz.c:189,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/brz.c:172,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 77
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 222
    functionName: brz_new
    functionSourceFile: /src/glib/girepository/cmph/brz.c
    functionUses: []
    functionsReached:
    - malloc
    - DEBUGP
    - fprintf
    - hash_state_destroy
    - free
    - brz_gen_mphf
    - assert
    - calloc
    - hash_state_new
    - ceil
    linkageType: ''
    returnType: cmph_t*
    signature: 'cmph_t *brz_new(cmph_config_t *mph, double c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - vector
    - n
    argTypes:
    - cmph_uint32*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 517
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 517
    functionName: brz_min_index
    functionSourceFile: /src/glib/girepository/cmph/brz.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cmph_uint32
    signature: 'static cmph_uint32 brz_min_index(cmph_uint32 * vector, cmph_uint32
      n) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: hash
      Src: /src/glib/girepository/cmph/brz.c:341,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/brz.c:346,1
    - Dst: cmph_new
      Src: /src/glib/girepository/cmph/brz.c:456,1
    - Dst: brz_copy_partial_bmz8_mphf
      Src: /src/glib/girepository/cmph/brz.c:486,1
    - Dst: cmph_config_destroy
      Src: /src/glib/girepository/cmph/brz.c:494,1
    - Dst: cmph_destroy
      Src: /src/glib/girepository/cmph/brz.c:496,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/brz.c:386,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/brz.c:323,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/brz.c:459,1
    - Dst: strlen
      Src: /src/glib/girepository/cmph/brz.c:373,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/brz.c:380,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/brz.c:275,1
    - Dst: hash
      Src: /src/glib/girepository/cmph/brz.c:279,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/brz.c:284,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/brz.c:337,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/brz.c:378,1
    - Dst: free
      Src: /src/glib/girepository/cmph/brz.c:395,1
    - Dst: free
      Src: /src/glib/girepository/cmph/brz.c:502,1
    - Dst: hash
      Src: /src/glib/girepository/cmph/brz.c:398,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/brz.c:260,1
    - Dst: free
      Src: /src/glib/girepository/cmph/brz.c:360,1
    - Dst: ferror
      Src: /src/glib/girepository/cmph/brz.c:379,1
    - Dst: buffer_manager_read_key
      Src: /src/glib/girepository/cmph/brz.c:422,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/brz.c:436,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/brz.c:248,1
    - Dst: hash
      Src: /src/glib/girepository/cmph/brz.c:304,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/brz.c:404,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/brz.c:387,1
    - Dst: sprintf
      Src: /src/glib/girepository/cmph/brz.c:393,1
    - Dst: brz_destroy_keys_vd
      Src: /src/glib/girepository/cmph/brz.c:462,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/brz.c:489,1
    - Dst: memset
      Src: /src/glib/girepository/cmph/brz.c:358,1
    - Dst: free
      Src: /src/glib/girepository/cmph/brz.c:298,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/brz.c:301,1
    - Dst: free
      Src: /src/glib/girepository/cmph/brz.c:309,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/brz.c:370,1
    - Dst: cmph_io_byte_vector_adapter_destroy
      Src: /src/glib/girepository/cmph/brz.c:497,1
    - Dst: strlen
      Src: /src/glib/girepository/cmph/brz.c:392,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/brz.c:426,1
    - Dst: free
      Src: /src/glib/girepository/cmph/brz.c:349,1
    - Dst: free
      Src: /src/glib/girepository/cmph/brz.c:364,1
    - Dst: strerror
      Src: /src/glib/girepository/cmph/brz.c:380,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/brz.c:278,1
    - Dst: free
      Src: /src/glib/girepository/cmph/brz.c:287,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/brz.c:302,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/brz.c:340,1
    - Dst: buffer_manager_read_key
      Src: /src/glib/girepository/cmph/brz.c:397,1
    - Dst: memset
      Src: /src/glib/girepository/cmph/brz.c:296,1
    - Dst: fopen
      Src: /src/glib/girepository/cmph/brz.c:348,1
    - Dst: free
      Src: /src/glib/girepository/cmph/brz.c:503,1
    - Dst: strlen
      Src: /src/glib/girepository/cmph/brz.c:346,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/brz.c:354,1
    - Dst: fclose
      Src: /src/glib/girepository/cmph/brz.c:361,1
    - Dst: cmph_config_set_graphsize
      Src: /src/glib/girepository/cmph/brz.c:455,1
    - Dst: buffer_manager_open
      Src: /src/glib/girepository/cmph/brz.c:394,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/brz.c:470,1
    - Dst: brz_copy_partial_fch_mphf
      Src: /src/glib/girepository/cmph/brz.c:479,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/brz.c:231,1
    - Dst: fopen
      Src: /src/glib/girepository/cmph/brz.c:286,1
    - Dst: sprintf
      Src: /src/glib/girepository/cmph/brz.c:347,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/brz.c:375,1
    - Dst: free
      Src: /src/glib/girepository/cmph/brz.c:492,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/brz.c:373,1
    - Dst: cmph_config_set_algo
      Src: /src/glib/girepository/cmph/brz.c:453,1
    - Dst: buffer_manager_read_key
      Src: /src/glib/girepository/cmph/brz.c:411,1
    - Dst: fclose
      Src: /src/glib/girepository/cmph/brz.c:299,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/brz.c:292,1
    - Dst: strlen
      Src: /src/glib/girepository/cmph/brz.c:284,1
    - Dst: cmph_io_byte_vector_adapter
      Src: /src/glib/girepository/cmph/brz.c:451,1
    - Dst: cmph_config_destroy
      Src: /src/glib/girepository/cmph/brz.c:461,1
    - Dst: cmph_io_byte_vector_adapter_destroy
      Src: /src/glib/girepository/cmph/brz.c:463,1
    - Dst: brz_destroy_keys_vd
      Src: /src/glib/girepository/cmph/brz.c:495,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/brz.c:374,1
    - Dst: sprintf
      Src: /src/glib/girepository/cmph/brz.c:285,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/brz.c:291,1
    - Dst: free
      Src: /src/glib/girepository/cmph/brz.c:308,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/brz.c:353,1
    - Dst: free
      Src: /src/glib/girepository/cmph/brz.c:365,1
    - Dst: hash
      Src: /src/glib/girepository/cmph/brz.c:417,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/brz.c:491,1
    - Dst: free
      Src: /src/glib/girepository/cmph/brz.c:504,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/brz.c:230,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/brz.c:376,1
    - Dst: buffer_manager_destroy
      Src: /src/glib/girepository/cmph/brz.c:501,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/brz.c:377,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/brz.c:392,1
    - Dst: brz_min_index
      Src: /src/glib/girepository/cmph/brz.c:409,1
    - Dst: buffer_manager_new
      Src: /src/glib/girepository/cmph/brz.c:385,1
    - Dst: cmph_config_new
      Src: /src/glib/girepository/cmph/brz.c:452,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 284
    argCount: 1
    argNames:
    - mph
    argTypes:
    - cmph_config_t*
    constantsTouched: []
    func_position:
      end: 507
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 507
    functionName: brz_gen_mphf
    functionSourceFile: /src/glib/girepository/cmph/brz.c
    functionUses: []
    functionsReached:
    - memcpy
    - hash
    - cmph_config_set_algo
    - buffer_manager_open
    - cmph_config_destroy
    - ferror
    - brz_destroy_keys_vd
    - fprintf
    - cmph_io_byte_vector_adapter_destroy
    - cmph_config_set_graphsize
    - buffer_manager_destroy
    - DEBUGP
    - strlen
    - assert
    - cmph_config_new
    - sprintf
    - buffer_manager_new
    - cmph_new
    - malloc
    - cmph_io_byte_vector_adapter
    - fwrite
    - fclose
    - strerror
    - free
    - buffer_manager_read_key
    - cmph_destroy
    - brz_min_index
    - calloc
    - fopen
    - brz_copy_partial_fch_mphf
    - brz_copy_partial_bmz8_mphf
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int brz_gen_mphf(cmph_config_t *mph) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/glib/girepository/cmph/brz.c:522,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - keys_vd
    - nkeys
    argTypes:
    - cmph_uint8**
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 523
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 523
    functionName: brz_destroy_keys_vd
    functionSourceFile: /src/glib/girepository/cmph/brz.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'static void brz_destroy_keys_vd(cmph_uint8 ** keys_vd, cmph_uint32
      nkeys) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - mph
    - hashfuncs
    argTypes:
    - cmph_config_t*
    - CMPH_HASH*
    constantsTouched: []
    func_position:
      end: 71
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 71
    functionName: brz_config_set_hashfuncs
    functionSourceFile: /src/glib/girepository/cmph/brz.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void brz_config_set_hashfuncs(cmph_config_t *mph, CMPH_HASH *hashfuncs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_state_dump
      Src: /src/glib/girepository/cmph/brz.c:534,1
    - Dst: hash_state_dump
      Src: /src/glib/girepository/cmph/brz.c:535,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/brz.c:537,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/brz.c:539,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/brz.c:538,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/brz.c:540,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/brz.c:541,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/brz.c:542,1
    - Dst: free
      Src: /src/glib/girepository/cmph/brz.c:543,1
    - Dst: free
      Src: /src/glib/girepository/cmph/brz.c:544,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 546
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 546
    functionName: brz_copy_partial_fch_mphf
    functionSourceFile: /src/glib/girepository/cmph/brz.c
    functionUses: []
    functionsReached:
    - hash_state_dump
    - free
    - malloc
    - memcpy
    linkageType: ''
    returnType: char*
    signature: 'static char * brz_copy_partial_fch_mphf(brz_config_data_t *brz, fch_data_t
      * fchf, cmph_uint32 index, cmph_uint32 *buflen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hash_vector
      Src: /src/glib/girepository/cmph/brz.c:669,1
    - Dst: ceil
      Src: /src/glib/girepository/cmph/brz.c:673,1
    - Dst: hash
      Src: /src/glib/girepository/cmph/brz.c:675,1
    - Dst: hash
      Src: /src/glib/girepository/cmph/brz.c:674,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/brz.c:679,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/brz.c:680,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/brz.c:681,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 4
    argNames:
    - brz
    - key
    - keylen
    - fingerprint
    argTypes:
    - brz_data_t*
    - char*
    - cmph_uint32
    - cmph_uint32*
    constantsTouched: []
    func_position:
      end: 683
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 683
    functionName: brz_bmz8_search
    functionSourceFile: /src/glib/girepository/cmph/brz.c
    functionUses: []
    functionsReached:
    - hash_vector
    - ceil
    - DEBUGP
    - hash
    linkageType: ''
    returnType: cmph_uint32
    signature: 'static cmph_uint32 brz_bmz8_search(brz_data_t *brz, const char *key,
      cmph_uint32 keylen, cmph_uint32 * fingerprint) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - mph
    - memory_availability
    argTypes:
    - cmph_config_t*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: brz_config_set_memory_availability
    functionSourceFile: /src/glib/girepository/cmph/brz.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void brz_config_set_memory_availability(cmph_config_t *mph, cmph_uint32
      memory_availability) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ceil
      Src: /src/glib/girepository/cmph/brz.c:554,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/brz.c:559,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/brz.c:558,1
    - Dst: hash_state_dump
      Src: /src/glib/girepository/cmph/brz.c:555,1
    - Dst: hash_state_dump
      Src: /src/glib/girepository/cmph/brz.c:556,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/brz.c:560,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/brz.c:561,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/brz.c:562,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/brz.c:563,1
    - Dst: free
      Src: /src/glib/girepository/cmph/brz.c:564,1
    - Dst: free
      Src: /src/glib/girepository/cmph/brz.c:565,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 567
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 567
    functionName: brz_copy_partial_bmz8_mphf
    functionSourceFile: /src/glib/girepository/cmph/brz.c
    functionUses: []
    functionsReached:
    - malloc
    - memcpy
    - hash_state_dump
    - free
    - ceil
    linkageType: ''
    returnType: char*
    signature: 'static char * brz_copy_partial_bmz8_mphf(brz_config_data_t *brz, bmz8_data_t
      * bmzf, cmph_uint32 index, cmph_uint32 *buflen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_vector
      Src: /src/glib/girepository/cmph/brz.c:692,1
    - Dst: hash
      Src: /src/glib/girepository/cmph/brz.c:699,1
    - Dst: fch_calc_p2
      Src: /src/glib/girepository/cmph/brz.c:698,1
    - Dst: fch_calc_p1
      Src: /src/glib/girepository/cmph/brz.c:697,1
    - Dst: fch_calc_b
      Src: /src/glib/girepository/cmph/brz.c:696,1
    - Dst: hash
      Src: /src/glib/girepository/cmph/brz.c:700,1
    - Dst: mixh10h11h12
      Src: /src/glib/girepository/cmph/brz.c:702,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 4
    argNames:
    - brz
    - key
    - keylen
    - fingerprint
    argTypes:
    - brz_data_t*
    - char*
    - cmph_uint32
    - cmph_uint32*
    constantsTouched: []
    func_position:
      end: 705
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 705
    functionName: brz_fch_search
    functionSourceFile: /src/glib/girepository/cmph/brz.c
    functionUses: []
    functionsReached:
    - mixh10h11h12
    - fch_calc_p1
    - hash_vector
    - fch_calc_p2
    - fch_calc_b
    - hash
    linkageType: ''
    returnType: cmph_uint32
    signature: 'static cmph_uint32 brz_fch_search(brz_data_t *brz, const char *key,
      cmph_uint32 keylen, cmph_uint32 * fingerprint) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/girepository/cmph/brz.c:84,1
    - Dst: sprintf
      Src: /src/glib/girepository/cmph/brz.c:89,1
    - Dst: free
      Src: /src/glib/girepository/cmph/brz.c:85,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/brz.c:93,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/brz.c:88,1
    - Dst: sprintf
      Src: /src/glib/girepository/cmph/brz.c:94,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - mph
    - tmp_dir
    argTypes:
    - cmph_config_t*
    - cmph_uint8*
    constantsTouched: []
    func_position:
      end: 98
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 98
    functionName: brz_config_set_tmp_dir
    functionSourceFile: /src/glib/girepository/cmph/brz.c
    functionUses: []
    functionsReached:
    - sprintf
    - free
    - calloc
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void brz_config_set_tmp_dir(cmph_config_t *mph, cmph_uint8 *tmp_dir) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - mph
    - b
    argTypes:
    - cmph_config_t*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 115
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 115
    functionName: brz_config_set_b
    functionSourceFile: /src/glib/girepository/cmph/brz.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void brz_config_set_b(cmph_config_t *mph, cmph_uint32 b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/brz.c:576,1
    - Dst: hash_state_dump
      Src: /src/glib/girepository/cmph/brz.c:579,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/brz.c:581,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/brz.c:582,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/brz.c:580,1
    - Dst: free
      Src: /src/glib/girepository/cmph/brz.c:583,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/brz.c:585,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/brz.c:586,1
    - Dst: ferror
      Src: /src/glib/girepository/cmph/brz.c:587,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/brz.c:588,1
    - Dst: strerror
      Src: /src/glib/girepository/cmph/brz.c:588,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - mphf
    - fd
    argTypes:
    - cmph_t*
    - FILE*
    constantsTouched: []
    func_position:
      end: 592
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 592
    functionName: brz_dump
    functionSourceFile: /src/glib/girepository/cmph/brz.c
    functionUses: []
    functionsReached:
    - ferror
    - DEBUGP
    - fwrite
    - fprintf
    - strerror
    - hash_state_dump
    - free
    linkageType: ''
    returnType: int
    signature: 'int brz_dump(cmph_t *mphf, FILE *fd) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: brz_fch_search
      Src: /src/glib/girepository/cmph/brz.c:714,1
    - Dst: brz_bmz8_search
      Src: /src/glib/girepository/cmph/brz.c:716,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/brz.c:717,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 3
    argNames:
    - mphf
    - key
    - keylen
    argTypes:
    - cmph_t*
    - char*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 720
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 720
    functionName: brz_search
    functionSourceFile: /src/glib/girepository/cmph/brz.c
    functionUses: []
    functionsReached:
    - brz_fch_search
    - assert
    - brz_bmz8_search
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 brz_search(cmph_t *mphf, const char *key, cmph_uint32
      keylen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hash_get_type
      Src: /src/glib/girepository/cmph/brz.c:840,1
    - Dst: hash_get_type
      Src: /src/glib/girepository/cmph/brz.c:841,1
    - Dst: hash_get_type
      Src: /src/glib/girepository/cmph/brz.c:842,1
    - Dst: hash_state_packed_size
      Src: /src/glib/girepository/cmph/brz.c:844,1
    - Dst: hash_state_packed_size
      Src: /src/glib/girepository/cmph/brz.c:848,1
    - Dst: hash_state_packed_size
      Src: /src/glib/girepository/cmph/brz.c:849,1
    - Dst: fch_calc_b
      Src: /src/glib/girepository/cmph/brz.c:857,1
    - Dst: ceil
      Src: /src/glib/girepository/cmph/brz.c:860,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/brz.c:862,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 1
    argNames:
    - mphf
    argTypes:
    - cmph_t*
    constantsTouched: []
    func_position:
      end: 867
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 867
    functionName: brz_packed_size
    functionSourceFile: /src/glib/girepository/cmph/brz.c
    functionUses: []
    functionsReached:
    - hash_get_type
    - hash_state_packed_size
    - assert
    - fch_calc_b
    - ceil
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 brz_packed_size(cmph_t *mphf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/glib/girepository/cmph/brz.c:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - mph
    - mphf_fd
    argTypes:
    - cmph_config_t*
    - FILE*
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: brz_config_set_mphf_fd
    functionSourceFile: /src/glib/girepository/cmph/brz.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: 'void brz_config_set_mphf_fd(cmph_config_t *mph, FILE *mphf_fd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - mph
    - algo
    argTypes:
    - cmph_config_t*
    - CMPH_ALGO
    constantsTouched: []
    func_position:
      end: 124
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 124
    functionName: brz_config_set_algo
    functionSourceFile: /src/glib/girepository/cmph/brz.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void brz_config_set_algo(cmph_config_t *mph, CMPH_ALGO algo) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/girepository/cmph/brz.c:600,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/brz.c:612,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/brz.c:617,1
    - Dst: free
      Src: /src/glib/girepository/cmph/brz.c:622,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/brz.c:620,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/brz.c:624,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/brz.c:638,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/brz.c:647,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/brz.c:606,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/brz.c:609,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/brz.c:618,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/brz.c:626,1
    - Dst: hash_state_load
      Src: /src/glib/girepository/cmph/brz.c:628,1
    - Dst: fch_calc_b
      Src: /src/glib/girepository/cmph/brz.c:633,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/brz.c:641,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/brz.c:642,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/brz.c:645,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/brz.c:648,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/brz.c:657,1
    - Dst: strerror
      Src: /src/glib/girepository/cmph/brz.c:657,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/brz.c:602,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/brz.c:604,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/brz.c:610,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/brz.c:611,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/brz.c:627,1
    - Dst: free
      Src: /src/glib/girepository/cmph/brz.c:629,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/brz.c:646,1
    - Dst: hash_state_load
      Src: /src/glib/girepository/cmph/brz.c:649,1
    - Dst: ferror
      Src: /src/glib/girepository/cmph/brz.c:656,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/brz.c:653,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/brz.c:605,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/brz.c:607,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/brz.c:608,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/brz.c:619,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/brz.c:625,1
    - Dst: hash_state_load
      Src: /src/glib/girepository/cmph/brz.c:621,1
    - Dst: ceil
      Src: /src/glib/girepository/cmph/brz.c:636,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/brz.c:640,1
    - Dst: free
      Src: /src/glib/girepository/cmph/brz.c:650,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/brz.c:654,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/brz.c:655,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 85
    argCount: 2
    argNames:
    - f
    - mphf
    argTypes:
    - FILE*
    - cmph_t*
    constantsTouched: []
    func_position:
      end: 661
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 661
    functionName: brz_load
    functionSourceFile: /src/glib/girepository/cmph/brz.c
    functionUses: []
    functionsReached:
    - malloc
    - ferror
    - DEBUGP
    - fprintf
    - strerror
    - free
    - hash_state_load
    - assert
    - calloc
    - fread
    - fch_calc_b
    - ceil
    linkageType: ''
    returnType: void
    signature: 'void brz_load(FILE *f, cmph_t *mphf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/glib/girepository/cmph/brz.c:729,1
    - Dst: free
      Src: /src/glib/girepository/cmph/brz.c:733,1
    - Dst: hash_state_destroy
      Src: /src/glib/girepository/cmph/brz.c:730,1
    - Dst: hash_state_destroy
      Src: /src/glib/girepository/cmph/brz.c:731,1
    - Dst: free
      Src: /src/glib/girepository/cmph/brz.c:734,1
    - Dst: free
      Src: /src/glib/girepository/cmph/brz.c:735,1
    - Dst: hash_state_destroy
      Src: /src/glib/girepository/cmph/brz.c:737,1
    - Dst: free
      Src: /src/glib/girepository/cmph/brz.c:738,1
    - Dst: free
      Src: /src/glib/girepository/cmph/brz.c:739,1
    - Dst: free
      Src: /src/glib/girepository/cmph/brz.c:740,1
    - Dst: free
      Src: /src/glib/girepository/cmph/brz.c:741,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - mphf
    argTypes:
    - cmph_t*
    constantsTouched: []
    func_position:
      end: 742
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 742
    functionName: brz_destroy
    functionSourceFile: /src/glib/girepository/cmph/brz.c
    functionUses: []
    functionsReached:
    - free
    - hash_state_destroy
    linkageType: ''
    returnType: void
    signature: 'void brz_destroy(cmph_t *mphf) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hash_state_pack
      Src: /src/glib/girepository/cmph/brz.c:768,1
    - Dst: hash_state_packed_size
      Src: /src/glib/girepository/cmph/brz.c:769,1
    - Dst: hash_get_type
      Src: /src/glib/girepository/cmph/brz.c:780,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/brz.c:781,1
    - Dst: hash_state_packed_size
      Src: /src/glib/girepository/cmph/brz.c:810,1
    - Dst: hash_get_type
      Src: /src/glib/girepository/cmph/brz.c:785,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/brz.c:786,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/brz.c:790,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/brz.c:794,1
    - Dst: ceil
      Src: /src/glib/girepository/cmph/brz.c:819,1
    - Dst: hash_state_pack
      Src: /src/glib/girepository/cmph/brz.c:805,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/brz.c:823,1
    - Dst: hash_state_pack
      Src: /src/glib/girepository/cmph/brz.c:809,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/brz.c:821,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/brz.c:759,1
    - Dst: hash_get_type
      Src: /src/glib/girepository/cmph/brz.c:763,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/brz.c:764,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/brz.c:772,1
    - Dst: hash_state_packed_size
      Src: /src/glib/girepository/cmph/brz.c:806,1
    - Dst: fch_calc_b
      Src: /src/glib/girepository/cmph/brz.c:816,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 52
    argCount: 2
    argNames:
    - mphf
    - packed_mphf
    argTypes:
    - cmph_t*
    - void*
    constantsTouched: []
    func_position:
      end: 828
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 828
    functionName: brz_pack
    functionSourceFile: /src/glib/girepository/cmph/brz.c
    functionUses: []
    functionsReached:
    - memcpy
    - hash_get_type
    - hash_state_packed_size
    - hash_state_pack
    - assert
    - fch_calc_b
    - ceil
    linkageType: ''
    returnType: void
    signature: 'void brz_pack(cmph_t *mphf, void *packed_mphf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/girepository/cmph/brz.c:32,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/brz.c:45,1
    - Dst: strcpy
      Src: /src/glib/girepository/cmph/brz.c:47,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/brz.c:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 50
    functionName: brz_config_new
    functionSourceFile: /src/glib/girepository/cmph/brz.c
    functionUses: []
    functionsReached:
    - malloc
    - calloc
    - strcpy
    - assert
    linkageType: ''
    returnType: brz_config_data_t*
    signature: 'brz_config_data_t *brz_config_new(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hash_state_packed_size
      Src: /src/glib/girepository/cmph/brz.c:884,1
    - Dst: hash_state_packed_size
      Src: /src/glib/girepository/cmph/brz.c:914,1
    - Dst: hash_vector_packed
      Src: /src/glib/girepository/cmph/brz.c:902,1
    - Dst: ceil
      Src: /src/glib/girepository/cmph/brz.c:906,1
    - Dst: hash_state_packed_size
      Src: /src/glib/girepository/cmph/brz.c:912,1
    - Dst: hash_packed
      Src: /src/glib/girepository/cmph/brz.c:916,1
    - Dst: hash_packed
      Src: /src/glib/girepository/cmph/brz.c:917,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/brz.c:921,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/brz.c:922,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 4
    argNames:
    - packed_mphf
    - key
    - keylen
    - fingerprint
    argTypes:
    - cmph_uint32*
    - char*
    - cmph_uint32
    - cmph_uint32*
    constantsTouched: []
    func_position:
      end: 924
      start: 871
    functionDepth: 0
    functionLinenumber: 871
    functionLinenumberEnd: 924
    functionName: brz_bmz8_search_packed
    functionSourceFile: /src/glib/girepository/cmph/brz.c
    functionUses: []
    functionsReached:
    - DEBUGP
    - hash_state_packed_size
    - hash_vector_packed
    - hash_packed
    - ceil
    linkageType: ''
    returnType: cmph_uint32
    signature: 'static cmph_uint32 brz_bmz8_search_packed(cmph_uint32 *packed_mphf,
      const char *key, cmph_uint32 keylen, cmph_uint32 * fingerprint) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/glib/girepository/cmph/brz.c:55,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/brz.c:56,1
    - Dst: free
      Src: /src/glib/girepository/cmph/brz.c:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - mph
    argTypes:
    - cmph_config_t*
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: brz_config_destroy
    functionSourceFile: /src/glib/girepository/cmph/brz.c
    functionUses: []
    functionsReached:
    - free
    - DEBUGP
    linkageType: ''
    returnType: void
    signature: 'void brz_config_destroy(cmph_config_t *mph) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_state_packed_size
      Src: /src/glib/girepository/cmph/brz.c:939,1
    - Dst: fch_calc_p2
      Src: /src/glib/girepository/cmph/brz.c:962,1
    - Dst: hash_vector_packed
      Src: /src/glib/girepository/cmph/brz.c:956,1
    - Dst: fch_calc_b
      Src: /src/glib/girepository/cmph/brz.c:960,1
    - Dst: fch_calc_p1
      Src: /src/glib/girepository/cmph/brz.c:961,1
    - Dst: hash_state_packed_size
      Src: /src/glib/girepository/cmph/brz.c:968,1
    - Dst: hash_state_packed_size
      Src: /src/glib/girepository/cmph/brz.c:970,1
    - Dst: hash_packed
      Src: /src/glib/girepository/cmph/brz.c:972,1
    - Dst: hash_packed
      Src: /src/glib/girepository/cmph/brz.c:973,1
    - Dst: mixh10h11h12
      Src: /src/glib/girepository/cmph/brz.c:976,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 4
    argNames:
    - packed_mphf
    - key
    - keylen
    - fingerprint
    argTypes:
    - cmph_uint32*
    - char*
    - cmph_uint32
    - cmph_uint32*
    constantsTouched: []
    func_position:
      end: 979
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 979
    functionName: brz_fch_search_packed
    functionSourceFile: /src/glib/girepository/cmph/brz.c
    functionUses: []
    functionsReached:
    - mixh10h11h12
    - hash_state_packed_size
    - hash_vector_packed
    - fch_calc_p2
    - fch_calc_b
    - fch_calc_p1
    - hash_packed
    linkageType: ''
    returnType: cmph_uint32
    signature: 'static cmph_uint32 brz_fch_search_packed(cmph_uint32 *packed_mphf,
      const char *key, cmph_uint32 keylen, cmph_uint32 * fingerprint) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: brz_fch_search_packed
      Src: /src/glib/girepository/cmph/brz.c:996,1
    - Dst: brz_bmz8_search_packed
      Src: /src/glib/girepository/cmph/brz.c:998,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/brz.c:1000,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 3
    argNames:
    - packed_mphf
    - key
    - keylen
    argTypes:
    - void*
    - char*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 1003
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 1003
    functionName: brz_search_packed
    functionSourceFile: /src/glib/girepository/cmph/brz.c
    functionUses: []
    functionsReached:
    - brz_bmz8_search_packed
    - brz_fch_search_packed
    - assert
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 brz_search_packed(void *packed_mphf, const char *key,
      cmph_uint32 keylen) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: hash_state_new
      Src: /src/glib/girepository/cmph/hashtree.c:74,1
    - Dst: hashtree_gen_edges
      Src: /src/glib/girepository/cmph/hashtree.c:75,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/hashtree.c:101,1
    - Dst: free
      Src: /src/glib/girepository/cmph/hashtree.c:118,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/hashtree.c:123,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/hashtree.c:135,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/hashtree.c:63,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/hashtree.c:61,1
    - Dst: hash_state_new
      Src: /src/glib/girepository/cmph/hashtree.c:73,1
    - Dst: hash_state_destroy
      Src: /src/glib/girepository/cmph/hashtree.c:79,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/hashtree.c:107,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/hashtree.c:111,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/hashtree.c:132,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/hashtree.c:68,1
    - Dst: hash_state_destroy
      Src: /src/glib/girepository/cmph/hashtree.c:81,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/hashtree.c:83,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/hashtree.c:103,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/hashtree.c:104,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/hashtree.c:86,1
    - Dst: graph_destroy
      Src: /src/glib/girepository/cmph/hashtree.c:117,1
    - Dst: ceil
      Src: /src/glib/girepository/cmph/hashtree.c:58,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/hashtree.c:59,1
    - Dst: graph_new
      Src: /src/glib/girepository/cmph/hashtree.c:60,1
    - Dst: free
      Src: /src/glib/girepository/cmph/hashtree.c:106,1
    - Dst: memset
      Src: /src/glib/girepository/cmph/hashtree.c:105,1
    - Dst: graph_destroy
      Src: /src/glib/girepository/cmph/hashtree.c:94,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/hashtree.c:108,1
    - Dst: hashtree_traverse
      Src: /src/glib/girepository/cmph/hashtree.c:114,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/hashtree.c:121,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 79
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 138
    functionName: hashtree_new
    functionSourceFile: /src/glib/girepository/cmph/hashtree.c
    functionUses: []
    functionsReached:
    - memset
    - malloc
    - graph_new
    - DEBUGP
    - fprintf
    - hash_state_destroy
    - GETBIT
    - free
    - graph_destroy
    - assert
    - hash_state_new
    - hashtree_gen_edges
    - hashtree_traverse
    - ceil
    linkageType: ''
    returnType: cmph_t*
    signature: 'cmph_t *hashtree_new(cmph_config_t *mph, double c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/hashtree.c:31,1
    - Dst: free
      Src: /src/glib/girepository/cmph/hashtree.c:32,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - mph
    argTypes:
    - cmph_config_t*
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: hashtree_config_destroy
    functionSourceFile: /src/glib/girepository/cmph/hashtree.c
    functionUses: []
    functionsReached:
    - free
    - DEBUGP
    linkageType: ''
    returnType: void
    signature: 'void hashtree_config_destroy(cmph_config_t *mph) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/hashtree.c:166,1
    - Dst: graph_clear_edges
      Src: /src/glib/girepository/cmph/hashtree.c:167,1
    - Dst: hash
      Src: /src/glib/girepository/cmph/hashtree.c:175,1
    - Dst: hash
      Src: /src/glib/girepository/cmph/hashtree.c:176,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/hashtree.c:180,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/hashtree.c:184,1
    - Dst: graph_add_edge
      Src: /src/glib/girepository/cmph/hashtree.c:186,1
    - Dst: graph_is_cyclic
      Src: /src/glib/girepository/cmph/hashtree.c:188,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/hashtree.c:190,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/hashtree.c:189,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 1
    argNames:
    - mph
    argTypes:
    - cmph_config_t*
    constantsTouched: []
    func_position:
      end: 193
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 193
    functionName: hashtree_gen_edges
    functionSourceFile: /src/glib/girepository/cmph/hashtree.c
    functionUses: []
    functionsReached:
    - DEBUGP
    - fprintf
    - graph_add_edge
    - graph_is_cyclic
    - graph_clear_edges
    - hash
    linkageType: ''
    returnType: int
    signature: 'static int hashtree_gen_edges(cmph_config_t *mph) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/hashtree.c:236,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/hashtree.c:247,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/hashtree.c:262,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/hashtree.c:256,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/hashtree.c:241,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/hashtree.c:254,1
    - Dst: free
      Src: /src/glib/girepository/cmph/hashtree.c:251,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/hashtree.c:234,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/hashtree.c:238,1
    - Dst: hash_state_load
      Src: /src/glib/girepository/cmph/hashtree.c:249,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/hashtree.c:255,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/hashtree.c:258,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/hashtree.c:259,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/hashtree.c:261,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/hashtree.c:239,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/hashtree.c:245,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/hashtree.c:246,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/hashtree.c:248,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/hashtree.c:263,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 2
    argNames:
    - f
    - mphf
    argTypes:
    - FILE*
    - cmph_t*
    constantsTouched: []
    func_position:
      end: 266
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 266
    functionName: hashtree_load
    functionSourceFile: /src/glib/girepository/cmph/hashtree.c
    functionUses: []
    functionsReached:
    - malloc
    - DEBUGP
    - fprintf
    - free
    - hash_state_load
    - fread
    linkageType: ''
    returnType: void
    signature: 'void hashtree_load(FILE *f, cmph_t *mphf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/girepository/cmph/hashtree.c:19,1
    - Dst: memset
      Src: /src/glib/girepository/cmph/hashtree.c:21,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 27
    functionName: hashtree_config_new
    functionSourceFile: /src/glib/girepository/cmph/hashtree.c
    functionUses: []
    functionsReached:
    - malloc
    - memset
    linkageType: ''
    returnType: hashtree_config_data_t*
    signature: 'hashtree_config_data_t *hashtree_config_new() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: graph_neighbors_it
      Src: /src/glib/girepository/cmph/hashtree.c:143,1
    - Dst: SETBIT
      Src: /src/glib/girepository/cmph/hashtree.c:145,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/hashtree.c:150,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/hashtree.c:147,1
    - Dst: graph_next_neighbor
      Src: /src/glib/girepository/cmph/hashtree.c:148,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/hashtree.c:151,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/hashtree.c:152,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/hashtree.c:153,1
    - Dst: graph_edge_id
      Src: /src/glib/girepository/cmph/hashtree.c:153,1
    - Dst: graph_edge_id
      Src: /src/glib/girepository/cmph/hashtree.c:154,1
    - Dst: hashtree_traverse
      Src: /src/glib/girepository/cmph/hashtree.c:156,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/hashtree.c:155,1
    - Dst: graph_edge_id
      Src: /src/glib/girepository/cmph/hashtree.c:155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - hashtree
    - visited
    - v
    argTypes:
    - hashtree_config_data_t*
    - cmph_uint8*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 158
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 158
    functionName: hashtree_traverse
    functionSourceFile: /src/glib/girepository/cmph/hashtree.c
    functionUses: []
    functionsReached:
    - graph_next_neighbor
    - GETBIT
    - DEBUGP
    - graph_edge_id
    - SETBIT
    - hashtree_traverse
    - graph_neighbors_it
    linkageType: ''
    returnType: void
    signature: 'static void hashtree_traverse(hashtree_config_data_t *hashtree, cmph_uint8
      *visited, cmph_uint32 v) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - mph
    - hashfuncs
    argTypes:
    - cmph_config_t*
    - CMPH_HASH*
    constantsTouched: []
    func_position:
      end: 46
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 46
    functionName: hashtree_config_set_hashfuncs
    functionSourceFile: /src/glib/girepository/cmph/hashtree.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void hashtree_config_set_hashfuncs(cmph_config_t *mph, CMPH_HASH *hashfuncs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __cmph_dump
      Src: /src/glib/girepository/cmph/hashtree.c:201,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/hashtree.c:206,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/hashtree.c:203,1
    - Dst: hash_state_dump
      Src: /src/glib/girepository/cmph/hashtree.c:204,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/hashtree.c:205,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/hashtree.c:207,1
    - Dst: free
      Src: /src/glib/girepository/cmph/hashtree.c:208,1
    - Dst: hash_state_dump
      Src: /src/glib/girepository/cmph/hashtree.c:210,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/hashtree.c:211,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/hashtree.c:212,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/hashtree.c:213,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/hashtree.c:217,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/hashtree.c:221,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/hashtree.c:222,1
    - Dst: free
      Src: /src/glib/girepository/cmph/hashtree.c:214,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/hashtree.c:216,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/hashtree.c:219,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/hashtree.c:223,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - mphf
    - fd
    argTypes:
    - cmph_t*
    - FILE*
    constantsTouched: []
    func_position:
      end: 226
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 226
    functionName: hashtree_dump
    functionSourceFile: /src/glib/girepository/cmph/hashtree.c
    functionUses: []
    functionsReached:
    - DEBUGP
    - fwrite
    - fprintf
    - hash_state_dump
    - free
    - __cmph_dump
    linkageType: ''
    returnType: int
    signature: 'int hashtree_dump(cmph_t *mphf, FILE *fd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hash
      Src: /src/glib/girepository/cmph/hashtree.c:272,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/hashtree.c:274,1
    - Dst: hash
      Src: /src/glib/girepository/cmph/hashtree.c:273,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/hashtree.c:276,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - mphf
    - key
    - keylen
    argTypes:
    - cmph_t*
    - char*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 278
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 278
    functionName: hashtree_search
    functionSourceFile: /src/glib/girepository/cmph/hashtree.c
    functionUses: []
    functionsReached:
    - hash
    - DEBUGP
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 hashtree_search(cmph_t *mphf, const char *key, cmph_uint32
      keylen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/glib/girepository/cmph/hashtree.c:282,1
    - Dst: free
      Src: /src/glib/girepository/cmph/hashtree.c:285,1
    - Dst: free
      Src: /src/glib/girepository/cmph/hashtree.c:286,1
    - Dst: hash_state_destroy
      Src: /src/glib/girepository/cmph/hashtree.c:284,1
    - Dst: hash_state_destroy
      Src: /src/glib/girepository/cmph/hashtree.c:283,1
    - Dst: free
      Src: /src/glib/girepository/cmph/hashtree.c:287,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - mphf
    argTypes:
    - cmph_t*
    constantsTouched: []
    func_position:
      end: 288
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 288
    functionName: hashtree_destroy
    functionSourceFile: /src/glib/girepository/cmph/hashtree.c
    functionUses: []
    functionsReached:
    - free
    - hash_state_destroy
    linkageType: ''
    returnType: void
    signature: 'void hashtree_destroy(cmph_t *mphf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/glib/girepository/cmph/fch_buckets.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - bucket
    argTypes:
    - fch_bucket_t*
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: fch_bucket_is_empty
    functionSourceFile: /src/glib/girepository/cmph/fch_buckets.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: cmph_uint8
    signature: 'static cmph_uint8 fch_bucket_is_empty(fch_bucket_t *bucket) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/glib/girepository/cmph/fch_buckets.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - bucket
    argTypes:
    - fch_bucket_t*
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: fch_bucket_size
    functionSourceFile: /src/glib/girepository/cmph/fch_buckets.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: cmph_uint32
    signature: 'static cmph_uint32 fch_bucket_size(fch_bucket_t *bucket) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/glib/girepository/cmph/fch_buckets.c:135,1
    - Dst: fch_bucket_size
      Src: /src/glib/girepository/cmph/fch_buckets.c:137,1
    - Dst: fch_bucket_size
      Src: /src/glib/girepository/cmph/fch_buckets.c:139,1
    - Dst: fch_bucket_insert
      Src: /src/glib/girepository/cmph/fch_buckets.c:136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - buckets
    - index
    - key
    - length
    argTypes:
    - fch_buckets_t*
    - cmph_uint32
    - char*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: fch_buckets_insert
    functionSourceFile: /src/glib/girepository/cmph/fch_buckets.c
    functionUses: []
    functionsReached:
    - fch_bucket_insert
    - fch_bucket_size
    - assert
    linkageType: ''
    returnType: void
    signature: 'void fch_buckets_insert(fch_buckets_t * buckets, cmph_uint32 index,
      char * key, cmph_uint32 length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - buckets
    argTypes:
    - fch_buckets_t*
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: fch_buckets_get_max_size
    functionSourceFile: /src/glib/girepository/cmph/fch_buckets.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 fch_buckets_get_max_size(fch_buckets_t * buckets) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/glib/girepository/cmph/fch_buckets.c:145,1
    - Dst: fch_bucket_size
      Src: /src/glib/girepository/cmph/fch_buckets.c:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - buckets
    - index
    argTypes:
    - fch_buckets_t*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: fch_buckets_get_size
    functionSourceFile: /src/glib/girepository/cmph/fch_buckets.c
    functionUses: []
    functionsReached:
    - fch_bucket_size
    - assert
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 fch_buckets_get_size(fch_buckets_t * buckets, cmph_uint32
      index) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - buckets
    argTypes:
    - fch_buckets_t*
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: fch_buckets_get_nbuckets
    functionSourceFile: /src/glib/girepository/cmph/fch_buckets.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 fch_buckets_get_nbuckets(fch_buckets_t * buckets) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/glib/girepository/cmph/fch_buckets.c:97,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/fch_buckets.c:98,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/fch_buckets.c:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - bucket
    - index
    argTypes:
    - fch_bucket_t*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: fch_bucket_print
    functionSourceFile: /src/glib/girepository/cmph/fch_buckets.c
    functionUses: []
    functionsReached:
    - fprintf
    - assert
    linkageType: ''
    returnType: void
    signature: 'static void fch_bucket_print(fch_bucket_t * bucket, cmph_uint32 index) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/glib/girepository/cmph/fch_buckets.c:84,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/fch_buckets.c:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: fch_bucket_get_key
    functionSourceFile: /src/glib/girepository/cmph/fch_buckets.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: char*
    signature: 'static char * fch_bucket_get_key(fch_bucket_t *bucket, cmph_uint32
      index_key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/glib/girepository/cmph/fch_buckets.c:90,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/fch_buckets.c:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - bucket
    - index_key
    argTypes:
    - fch_bucket_t*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: fch_bucket_get_length
    functionSourceFile: /src/glib/girepository/cmph/fch_buckets.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: cmph_uint32
    signature: 'static cmph_uint32 fch_bucket_get_length(fch_bucket_t *bucket, cmph_uint32
      index_key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fch_bucket_destroy
      Src: /src/glib/girepository/cmph/fch_buckets.c:210,1
    - Dst: free
      Src: /src/glib/girepository/cmph/fch_buckets.c:211,1
    - Dst: free
      Src: /src/glib/girepository/cmph/fch_buckets.c:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - buckets
    argTypes:
    - fch_buckets_t*
    constantsTouched: []
    func_position:
      end: 213
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 213
    functionName: fch_buckets_destroy
    functionSourceFile: /src/glib/girepository/cmph/fch_buckets.c
    functionUses: []
    functionsReached:
    - free
    - fch_bucket_destroy
    linkageType: ''
    returnType: void
    signature: 'void fch_buckets_destroy(fch_buckets_t * buckets) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/glib/girepository/cmph/fch_buckets.c:24,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - bucket
    argTypes:
    - fch_bucket_t*
    constantsTouched: []
    func_position:
      end: 28
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 28
    functionName: fch_bucket_new
    functionSourceFile: /src/glib/girepository/cmph/fch_buckets.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: 'static void fch_bucket_new(fch_bucket_t *bucket) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/glib/girepository/cmph/fch_buckets.c:44,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/fch_buckets.c:56,1
    - Dst: realloc
      Src: /src/glib/girepository/cmph/fch_buckets.c:53,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/fch_buckets.c:54,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/fch_buckets.c:48,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - bucket
    - size
    argTypes:
    - fch_bucket_t*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 58
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 58
    functionName: fch_bucket_reserve
    functionSourceFile: /src/glib/girepository/cmph/fch_buckets.c
    functionUses: []
    functionsReached:
    - realloc
    - DEBUGP
    - assert
    linkageType: ''
    returnType: void
    signature: 'static void fch_bucket_reserve(fch_bucket_t *bucket, cmph_uint32 size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/girepository/cmph/fch_buckets.c:117,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/fch_buckets.c:121,1
    - Dst: fch_bucket_new
      Src: /src/glib/girepository/cmph/fch_buckets.c:120,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/fch_buckets.c:118,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/fch_buckets.c:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 125
    functionName: fch_buckets_new
    functionSourceFile: /src/glib/girepository/cmph/fch_buckets.c
    functionUses: []
    functionsReached:
    - fch_bucket_new
    - malloc
    - calloc
    - assert
    linkageType: ''
    returnType: fch_buckets_t*
    signature: 'fch_buckets_t * fch_buckets_new(cmph_uint32 nbuckets) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/glib/girepository/cmph/fch_buckets.c:152,1
    - Dst: fch_bucket_get_key
      Src: /src/glib/girepository/cmph/fch_buckets.c:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: fch_buckets_get_key
    functionSourceFile: /src/glib/girepository/cmph/fch_buckets.c
    functionUses: []
    functionsReached:
    - fch_bucket_get_key
    - assert
    linkageType: ''
    returnType: char*
    signature: 'char * fch_buckets_get_key(fch_buckets_t * buckets, cmph_uint32 index,
      cmph_uint32 index_key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/glib/girepository/cmph/fch_buckets.c:176,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/fch_buckets.c:177,1
    - Dst: fch_bucket_size
      Src: /src/glib/girepository/cmph/fch_buckets.c:180,1
    - Dst: fch_bucket_size
      Src: /src/glib/girepository/cmph/fch_buckets.c:194,1
    - Dst: fch_bucket_size
      Src: /src/glib/girepository/cmph/fch_buckets.c:195,1
    - Dst: free
      Src: /src/glib/girepository/cmph/fch_buckets.c:197,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 199
    functionName: fch_buckets_get_indexes_sorted_by_size
    functionSourceFile: /src/glib/girepository/cmph/fch_buckets.c
    functionUses: []
    functionsReached:
    - calloc
    - free
    - fch_bucket_size
    linkageType: ''
    returnType: cmph_uint32*
    signature: 'cmph_uint32 * fch_buckets_get_indexes_sorted_by_size(fch_buckets_t
      * buckets) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/glib/girepository/cmph/fch_buckets.c:33,1
    - Dst: free
      Src: /src/glib/girepository/cmph/fch_buckets.c:36,1
    - Dst: free
      Src: /src/glib/girepository/cmph/fch_buckets.c:38,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - bucket
    argTypes:
    - fch_bucket_t*
    constantsTouched: []
    func_position:
      end: 39
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 39
    functionName: fch_bucket_destroy
    functionSourceFile: /src/glib/girepository/cmph/fch_buckets.c
    functionUses: []
    functionsReached:
    - free
    - assert
    linkageType: ''
    returnType: void
    signature: 'static void fch_bucket_destroy(fch_bucket_t *bucket) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/glib/girepository/cmph/fch_buckets.c:62,1
    - Dst: fch_bucket_reserve
      Src: /src/glib/girepository/cmph/fch_buckets.c:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - bucket
    - val
    - val_length
    argTypes:
    - fch_bucket_t*
    - char*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: fch_bucket_insert
    functionSourceFile: /src/glib/girepository/cmph/fch_buckets.c
    functionUses: []
    functionsReached:
    - fch_bucket_reserve
    - assert
    linkageType: ''
    returnType: void
    signature: 'static void fch_bucket_insert(fch_bucket_t *bucket, char *val, cmph_uint32
      val_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/glib/girepository/cmph/fch_buckets.c:129,1
    - Dst: fch_bucket_is_empty
      Src: /src/glib/girepository/cmph/fch_buckets.c:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - buckets
    - index
    argTypes:
    - fch_buckets_t*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: fch_buckets_is_empty
    functionSourceFile: /src/glib/girepository/cmph/fch_buckets.c
    functionUses: []
    functionsReached:
    - fch_bucket_is_empty
    - assert
    linkageType: ''
    returnType: cmph_uint8
    signature: 'cmph_uint8 fch_buckets_is_empty(fch_buckets_t * buckets, cmph_uint32
      index) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/glib/girepository/cmph/fch_buckets.c:158,1
    - Dst: fch_bucket_get_length
      Src: /src/glib/girepository/cmph/fch_buckets.c:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - buckets
    - index
    - index_key
    argTypes:
    - fch_buckets_t*
    - cmph_uint32
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: fch_buckets_get_keylength
    functionSourceFile: /src/glib/girepository/cmph/fch_buckets.c
    functionUses: []
    functionsReached:
    - fch_bucket_get_length
    - assert
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 fch_buckets_get_keylength(fch_buckets_t * buckets, cmph_uint32
      index, cmph_uint32 index_key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fch_bucket_print
      Src: /src/glib/girepository/cmph/fch_buckets.c:204,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - buckets
    argTypes:
    - fch_buckets_t*
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 205
    functionName: fch_buckets_print
    functionSourceFile: /src/glib/girepository/cmph/fch_buckets.c
    functionUses: []
    functionsReached:
    - fch_bucket_print
    linkageType: ''
    returnType: void
    signature: 'void fch_buckets_print(fch_buckets_t * buckets) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/girepository/cmph/bmz8.c:25,1
    - Dst: memset
      Src: /src/glib/girepository/cmph/bmz8.c:27,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/bmz8.c:26,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 34
    functionName: bmz8_config_new
    functionSourceFile: /src/glib/girepository/cmph/bmz8.c
    functionUses: []
    functionsReached:
    - malloc
    - memset
    - assert
    linkageType: ''
    returnType: bmz8_config_data_t*
    signature: 'bmz8_config_data_t *bmz8_config_new(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - mph
    - hashfuncs
    argTypes:
    - cmph_config_t*
    - CMPH_HASH*
    constantsTouched: []
    func_position:
      end: 54
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 54
    functionName: bmz8_config_set_hashfuncs
    functionSourceFile: /src/glib/girepository/cmph/bmz8.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void bmz8_config_set_hashfuncs(cmph_config_t *mph, CMPH_HASH *hashfuncs) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bmz8.c:208,1
    - Dst: ceil
      Src: /src/glib/girepository/cmph/bmz8.c:209,1
    - Dst: SETBIT
      Src: /src/glib/girepository/cmph/bmz8.c:210,1
    - Dst: vqueue_insert
      Src: /src/glib/girepository/cmph/bmz8.c:212,1
    - Dst: vqueue_is_empty
      Src: /src/glib/girepository/cmph/bmz8.c:213,1
    - Dst: graph_neighbors_it
      Src: /src/glib/girepository/cmph/bmz8.c:225,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/bmz8.c:219,1
    - Dst: vqueue_destroy
      Src: /src/glib/girepository/cmph/bmz8.c:233,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/bmz8.c:236,1
    - Dst: vqueue_destroy
      Src: /src/glib/girepository/cmph/bmz8.c:264,1
    - Dst: vqueue_new
      Src: /src/glib/girepository/cmph/bmz8.c:205,1
    - Dst: graph_ncritical_nodes
      Src: /src/glib/girepository/cmph/bmz8.c:205,1
    - Dst: graph_node_is_critical
      Src: /src/glib/girepository/cmph/bmz8.c:229,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/bmz8.c:249,1
    - Dst: vqueue_remove
      Src: /src/glib/girepository/cmph/bmz8.c:215,1
    - Dst: graph_neighbors_it
      Src: /src/glib/girepository/cmph/bmz8.c:216,1
    - Dst: graph_node_is_critical
      Src: /src/glib/girepository/cmph/bmz8.c:219,1
    - Dst: graph_next_neighbor
      Src: /src/glib/girepository/cmph/bmz8.c:227,1
    - Dst: SETBIT
      Src: /src/glib/girepository/cmph/bmz8.c:251,1
    - Dst: vqueue_insert
      Src: /src/glib/girepository/cmph/bmz8.c:259,1
    - Dst: graph_next_neighbor
      Src: /src/glib/girepository/cmph/bmz8.c:247,1
    - Dst: floor
      Src: /src/glib/girepository/cmph/bmz8.c:211,1
    - Dst: graph_next_neighbor
      Src: /src/glib/girepository/cmph/bmz8.c:217,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/bmz8.c:229,1
    - Dst: graph_node_is_critical
      Src: /src/glib/girepository/cmph/bmz8.c:249,1
    - Dst: graph_neighbors_it
      Src: /src/glib/girepository/cmph/bmz8.c:246,1
    - Dst: SETBIT
      Src: /src/glib/girepository/cmph/bmz8.c:258,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 78
    argCount: 6
    argNames:
    - bmz8
    - v
    - biggest_g_value
    - biggest_edge_value
    - used_edges
    - visited
    argTypes:
    - bmz8_config_data_t*
    - cmph_uint32
    - cmph_uint8*
    - cmph_uint8*
    - cmph_uint8*
    - cmph_uint8*
    constantsTouched: []
    func_position:
      end: 266
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 266
    functionName: bmz8_traverse_critical_nodes
    functionSourceFile: /src/glib/girepository/cmph/bmz8.c
    functionUses: []
    functionsReached:
    - vqueue_insert
    - graph_next_neighbor
    - vqueue_is_empty
    - DEBUGP
    - GETBIT
    - graph_node_is_critical
    - graph_ncritical_nodes
    - vqueue_new
    - vqueue_remove
    - SETBIT
    - graph_neighbors_it
    - ceil
    - vqueue_destroy
    - floor
    linkageType: ''
    returnType: cmph_uint8
    signature: 'static cmph_uint8 bmz8_traverse_critical_nodes(bmz8_config_data_t
      *bmz8, cmph_uint32 v, cmph_uint8 * biggest_g_value, cmph_uint8 * biggest_edge_value,
      cmph_uint8 * used_edges, cmph_uint8 * visited) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/glib/girepository/cmph/bmz8.c:370,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/bmz8.c:371,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - bmz8
    - used_edges
    - unused_edge_index
    argTypes:
    - bmz8_config_data_t*
    - cmph_uint8*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 375
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 375
    functionName: next_unused_edge
    functionSourceFile: /src/glib/girepository/cmph/bmz8.c
    functionUses: []
    functionsReached:
    - GETBIT
    - assert
    linkageType: ''
    returnType: cmph_uint8
    signature: 'static cmph_uint8 next_unused_edge(bmz8_config_data_t *bmz8, cmph_uint8
      * used_edges, cmph_uint32 unused_edge_index) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bmz8.c:399,1
    - Dst: graph_vertex_id
      Src: /src/glib/girepository/cmph/bmz8.c:403,1
    - Dst: graph_vertex_id
      Src: /src/glib/girepository/cmph/bmz8.c:402,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/bmz8.c:404,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/bmz8.c:404,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/bmz8.c:404,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/bmz8.c:404,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/bmz8.c:405,1
    - Dst: bmz8_traverse
      Src: /src/glib/girepository/cmph/bmz8.c:405,1
    - Dst: bmz8_traverse
      Src: /src/glib/girepository/cmph/bmz8.c:406,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/bmz8.c:412,1
    - Dst: SETBIT
      Src: /src/glib/girepository/cmph/bmz8.c:415,1
    - Dst: bmz8_traverse
      Src: /src/glib/girepository/cmph/bmz8.c:416,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 3
    argNames:
    - bmz8
    - used_edges
    - visited
    argTypes:
    - bmz8_config_data_t*
    - cmph_uint8*
    - cmph_uint8*
    constantsTouched: []
    func_position:
      end: 420
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 420
    functionName: bmz8_traverse_non_critical_nodes
    functionSourceFile: /src/glib/girepository/cmph/bmz8.c
    functionUses: []
    functionsReached:
    - GETBIT
    - bmz8_traverse
    - DEBUGP
    - graph_vertex_id
    - SETBIT
    linkageType: ''
    returnType: void
    signature: 'static void bmz8_traverse_non_critical_nodes(bmz8_config_data_t *bmz8,
      cmph_uint8 * used_edges, cmph_uint8 * visited) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __cmph_dump
      Src: /src/glib/girepository/cmph/bmz8.c:465,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bmz8.c:470,1
    - Dst: hash_state_dump
      Src: /src/glib/girepository/cmph/bmz8.c:469,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/bmz8.c:471,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/bmz8.c:467,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/bmz8.c:472,1
    - Dst: free
      Src: /src/glib/girepository/cmph/bmz8.c:473,1
    - Dst: hash_state_dump
      Src: /src/glib/girepository/cmph/bmz8.c:475,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bmz8.c:476,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/bmz8.c:477,1
    - Dst: free
      Src: /src/glib/girepository/cmph/bmz8.c:479,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/bmz8.c:482,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bmz8.c:486,1
    - Dst: ferror
      Src: /src/glib/girepository/cmph/bmz8.c:485,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/bmz8.c:478,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/bmz8.c:484,1
    - Dst: strerror
      Src: /src/glib/girepository/cmph/bmz8.c:486,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/bmz8.c:481,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 2
    argNames:
    - mphf
    - fd
    argTypes:
    - cmph_t*
    - FILE*
    constantsTouched: []
    func_position:
      end: 495
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 495
    functionName: bmz8_dump
    functionSourceFile: /src/glib/girepository/cmph/bmz8.c
    functionUses: []
    functionsReached:
    - ferror
    - DEBUGP
    - fwrite
    - fprintf
    - strerror
    - hash_state_dump
    - free
    - __cmph_dump
    linkageType: ''
    returnType: int
    signature: 'int bmz8_dump(cmph_t *mphf, FILE *fd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hash
      Src: /src/glib/girepository/cmph/bmz8.c:548,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bmz8.c:549,1
    - Dst: hash
      Src: /src/glib/girepository/cmph/bmz8.c:547,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bmz8.c:551,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - mphf
    - key
    - keylen
    argTypes:
    - cmph_t*
    - char*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 553
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 553
    functionName: bmz8_search
    functionSourceFile: /src/glib/girepository/cmph/bmz8.c
    functionUses: []
    functionsReached:
    - hash
    - DEBUGP
    linkageType: ''
    returnType: cmph_uint8
    signature: 'cmph_uint8 bmz8_search(cmph_t *mphf, const char *key, cmph_uint32
      keylen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_get_type
      Src: /src/glib/girepository/cmph/bmz8.c:577,1
    - Dst: hash_state_pack
      Src: /src/glib/girepository/cmph/bmz8.c:591,1
    - Dst: hash_get_type
      Src: /src/glib/girepository/cmph/bmz8.c:586,1
    - Dst: hash_state_pack
      Src: /src/glib/girepository/cmph/bmz8.c:582,1
    - Dst: hash_state_packed_size
      Src: /src/glib/girepository/cmph/bmz8.c:583,1
    - Dst: hash_state_packed_size
      Src: /src/glib/girepository/cmph/bmz8.c:592,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/bmz8.c:598,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - mphf
    - packed_mphf
    argTypes:
    - cmph_t*
    - void*
    constantsTouched: []
    func_position:
      end: 599
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 599
    functionName: bmz8_pack
    functionSourceFile: /src/glib/girepository/cmph/bmz8.c
    functionUses: []
    functionsReached:
    - hash_get_type
    - hash_state_packed_size
    - hash_state_pack
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void bmz8_pack(cmph_t *mphf, void *packed_mphf) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: bmz8_gen_edges
      Src: /src/glib/girepository/cmph/bmz8.c:102,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bmz8.c:128,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bmz8.c:139,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/bmz8.c:142,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/bmz8.c:149,1
    - Dst: bmz8_traverse_critical_nodes_heuristic
      Src: /src/glib/girepository/cmph/bmz8.c:152,1
    - Dst: bmz8_traverse_non_critical_nodes
      Src: /src/glib/girepository/cmph/bmz8.c:162,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bmz8.c:191,1
    - Dst: graph_destroy
      Src: /src/glib/girepository/cmph/bmz8.c:174,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/bmz8.c:180,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bmz8.c:79,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/bmz8.c:81,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bmz8.c:97,1
    - Dst: hash_state_new
      Src: /src/glib/girepository/cmph/bmz8.c:98,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bmz8.c:101,1
    - Dst: graph_destroy
      Src: /src/glib/girepository/cmph/bmz8.c:121,1
    - Dst: graph_obtain_critical_nodes
      Src: /src/glib/girepository/cmph/bmz8.c:131,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bmz8.c:137,1
    - Dst: memset
      Src: /src/glib/girepository/cmph/bmz8.c:141,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/bmz8.c:145,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/bmz8.c:182,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bmz8.c:194,1
    - Dst: bmz8_traverse_critical_nodes
      Src: /src/glib/girepository/cmph/bmz8.c:151,1
    - Dst: ceil
      Src: /src/glib/girepository/cmph/bmz8.c:76,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bmz8.c:74,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bmz8.c:92,1
    - Dst: hash_state_destroy
      Src: /src/glib/girepository/cmph/bmz8.c:108,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bmz8.c:110,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bmz8.c:113,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bmz8.c:136,1
    - Dst: memset
      Src: /src/glib/girepository/cmph/bmz8.c:143,1
    - Dst: free
      Src: /src/glib/girepository/cmph/bmz8.c:144,1
    - Dst: graph_node_is_critical
      Src: /src/glib/girepository/cmph/bmz8.c:149,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bmz8.c:167,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bmz8.c:70,1
    - Dst: graph_new
      Src: /src/glib/girepository/cmph/bmz8.c:78,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bmz8.c:77,1
    - Dst: hash_state_new
      Src: /src/glib/girepository/cmph/bmz8.c:100,1
    - Dst: hash_state_destroy
      Src: /src/glib/girepository/cmph/bmz8.c:106,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bmz8.c:99,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/bmz8.c:140,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/bmz8.c:146,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bmz8.c:160,1
    - Dst: free
      Src: /src/glib/girepository/cmph/bmz8.c:170,1
    - Dst: free
      Src: /src/glib/girepository/cmph/bmz8.c:171,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 117
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 197
    functionName: bmz8_new
    functionSourceFile: /src/glib/girepository/cmph/bmz8.c
    functionUses: []
    functionsReached:
    - GETBIT
    - bmz8_traverse_critical_nodes
    - hash_state_new
    - fprintf
    - graph_destroy
    - ceil
    - bmz8_traverse_critical_nodes_heuristic
    - DEBUGP
    - hash_state_destroy
    - bmz8_gen_edges
    - assert
    - malloc
    - graph_obtain_critical_nodes
    - graph_new
    - bmz8_traverse_non_critical_nodes
    - free
    - graph_node_is_critical
    - calloc
    - memset
    linkageType: ''
    returnType: cmph_t*
    signature: 'cmph_t *bmz8_new(cmph_config_t *mph, double c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bmz8.c:39,1
    - Dst: free
      Src: /src/glib/girepository/cmph/bmz8.c:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - mph
    argTypes:
    - cmph_config_t*
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: bmz8_config_destroy
    functionSourceFile: /src/glib/girepository/cmph/bmz8.c
    functionUses: []
    functionsReached:
    - free
    - DEBUGP
    linkageType: ''
    returnType: void
    signature: 'void bmz8_config_destroy(cmph_config_t *mph) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: graph_neighbors_it
      Src: /src/glib/girepository/cmph/bmz8.c:306,1
    - Dst: graph_next_neighbor
      Src: /src/glib/girepository/cmph/bmz8.c:289,1
    - Dst: vqueue_destroy
      Src: /src/glib/girepository/cmph/bmz8.c:314,1
    - Dst: realloc
      Src: /src/glib/girepository/cmph/bmz8.c:329,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/bmz8.c:345,1
    - Dst: free
      Src: /src/glib/girepository/cmph/bmz8.c:362,1
    - Dst: floor
      Src: /src/glib/girepository/cmph/bmz8.c:283,1
    - Dst: vqueue_remove
      Src: /src/glib/girepository/cmph/bmz8.c:287,1
    - Dst: graph_node_is_critical
      Src: /src/glib/girepository/cmph/bmz8.c:291,1
    - Dst: graph_node_is_critical
      Src: /src/glib/girepository/cmph/bmz8.c:310,1
    - Dst: SETBIT
      Src: /src/glib/girepository/cmph/bmz8.c:347,1
    - Dst: SETBIT
      Src: /src/glib/girepository/cmph/bmz8.c:354,1
    - Dst: vqueue_insert
      Src: /src/glib/girepository/cmph/bmz8.c:355,1
    - Dst: vqueue_destroy
      Src: /src/glib/girepository/cmph/bmz8.c:361,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bmz8.c:280,1
    - Dst: ceil
      Src: /src/glib/girepository/cmph/bmz8.c:281,1
    - Dst: SETBIT
      Src: /src/glib/girepository/cmph/bmz8.c:282,1
    - Dst: vqueue_insert
      Src: /src/glib/girepository/cmph/bmz8.c:284,1
    - Dst: graph_next_neighbor
      Src: /src/glib/girepository/cmph/bmz8.c:308,1
    - Dst: free
      Src: /src/glib/girepository/cmph/bmz8.c:315,1
    - Dst: graph_node_is_critical
      Src: /src/glib/girepository/cmph/bmz8.c:345,1
    - Dst: vqueue_new
      Src: /src/glib/girepository/cmph/bmz8.c:277,1
    - Dst: graph_ncritical_nodes
      Src: /src/glib/girepository/cmph/bmz8.c:277,1
    - Dst: vqueue_is_empty
      Src: /src/glib/girepository/cmph/bmz8.c:285,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/bmz8.c:291,1
    - Dst: graph_neighbors_it
      Src: /src/glib/girepository/cmph/bmz8.c:288,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/bmz8.c:310,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/bmz8.c:318,1
    - Dst: graph_neighbors_it
      Src: /src/glib/girepository/cmph/bmz8.c:342,1
    - Dst: graph_next_neighbor
      Src: /src/glib/girepository/cmph/bmz8.c:343,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 98
    argCount: 6
    argNames:
    - bmz8
    - v
    - biggest_g_value
    - biggest_edge_value
    - used_edges
    - visited
    argTypes:
    - bmz8_config_data_t*
    - cmph_uint32
    - cmph_uint8*
    - cmph_uint8*
    - cmph_uint8*
    - cmph_uint8*
    constantsTouched: []
    func_position:
      end: 364
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 364
    functionName: bmz8_traverse_critical_nodes_heuristic
    functionSourceFile: /src/glib/girepository/cmph/bmz8.c
    functionUses: []
    functionsReached:
    - vqueue_insert
    - graph_next_neighbor
    - vqueue_is_empty
    - DEBUGP
    - GETBIT
    - free
    - graph_node_is_critical
    - graph_ncritical_nodes
    - vqueue_new
    - vqueue_remove
    - SETBIT
    - realloc
    - graph_neighbors_it
    - ceil
    - vqueue_destroy
    - floor
    linkageType: ''
    returnType: cmph_uint8
    signature: 'static cmph_uint8 bmz8_traverse_critical_nodes_heuristic(bmz8_config_data_t
      *bmz8, cmph_uint32 v, cmph_uint8 * biggest_g_value, cmph_uint8 * biggest_edge_value,
      cmph_uint8 * used_edges, cmph_uint8 * visited) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: graph_neighbors_it
      Src: /src/glib/girepository/cmph/bmz8.c:379,1
    - Dst: graph_next_neighbor
      Src: /src/glib/girepository/cmph/bmz8.c:381,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/bmz8.c:383,1
    - Dst: next_unused_edge
      Src: /src/glib/girepository/cmph/bmz8.c:385,1
    - Dst: SETBIT
      Src: /src/glib/girepository/cmph/bmz8.c:388,1
    - Dst: bmz8_traverse
      Src: /src/glib/girepository/cmph/bmz8.c:390,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 5
    argNames:
    - bmz8
    - used_edges
    - v
    - unused_edge_index
    - visited
    argTypes:
    - bmz8_config_data_t*
    - cmph_uint8*
    - cmph_uint32
    - cmph_uint8*
    - cmph_uint8*
    constantsTouched: []
    func_position:
      end: 393
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 393
    functionName: bmz8_traverse
    functionSourceFile: /src/glib/girepository/cmph/bmz8.c
    functionUses: []
    functionsReached:
    - next_unused_edge
    - graph_next_neighbor
    - GETBIT
    - bmz8_traverse
    - SETBIT
    - graph_neighbors_it
    linkageType: ''
    returnType: void
    signature: 'static void bmz8_traverse(bmz8_config_data_t *bmz8, cmph_uint8 * used_edges,
      cmph_uint32 v, cmph_uint8 * unused_edge_index, cmph_uint8 * visited) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bmz8.c:427,1
    - Dst: graph_clear_edges
      Src: /src/glib/girepository/cmph/bmz8.c:428,1
    - Dst: hash
      Src: /src/glib/girepository/cmph/bmz8.c:438,1
    - Dst: hash
      Src: /src/glib/girepository/cmph/bmz8.c:439,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bmz8.c:443,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bmz8.c:451,1
    - Dst: graph_add_edge
      Src: /src/glib/girepository/cmph/bmz8.c:453,1
    - Dst: graph_contains_edge
      Src: /src/glib/girepository/cmph/bmz8.c:450,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 1
    argNames:
    - mph
    argTypes:
    - cmph_config_t*
    constantsTouched: []
    func_position:
      end: 456
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 456
    functionName: bmz8_gen_edges
    functionSourceFile: /src/glib/girepository/cmph/bmz8.c
    functionUses: []
    functionsReached:
    - DEBUGP
    - fprintf
    - graph_add_edge
    - graph_contains_edge
    - graph_clear_edges
    - hash
    linkageType: ''
    returnType: int
    signature: 'static int bmz8_gen_edges(cmph_config_t *mph) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/glib/girepository/cmph/bmz8.c:515,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/bmz8.c:518,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/bmz8.c:528,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bmz8.c:536,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/bmz8.c:504,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/bmz8.c:509,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bmz8.c:506,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bmz8.c:516,1
    - Dst: free
      Src: /src/glib/girepository/cmph/bmz8.c:521,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/bmz8.c:526,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bmz8.c:524,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bmz8.c:531,1
    - Dst: strerror
      Src: /src/glib/girepository/cmph/bmz8.c:531,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/bmz8.c:508,1
    - Dst: hash_state_load
      Src: /src/glib/girepository/cmph/bmz8.c:519,1
    - Dst: ferror
      Src: /src/glib/girepository/cmph/bmz8.c:530,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bmz8.c:537,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bmz8.c:511,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/bmz8.c:517,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/bmz8.c:529,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/bmz8.c:525,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bmz8.c:538,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 2
    argNames:
    - f
    - mphf
    argTypes:
    - FILE*
    - cmph_t*
    constantsTouched: []
    func_position:
      end: 541
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 541
    functionName: bmz8_load
    functionSourceFile: /src/glib/girepository/cmph/bmz8.c
    functionUses: []
    functionsReached:
    - malloc
    - ferror
    - DEBUGP
    - fprintf
    - strerror
    - free
    - hash_state_load
    - fread
    linkageType: ''
    returnType: void
    signature: 'void bmz8_load(FILE *f, cmph_t *mphf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/glib/girepository/cmph/bmz8.c:557,1
    - Dst: hash_state_destroy
      Src: /src/glib/girepository/cmph/bmz8.c:559,1
    - Dst: free
      Src: /src/glib/girepository/cmph/bmz8.c:561,1
    - Dst: hash_state_destroy
      Src: /src/glib/girepository/cmph/bmz8.c:558,1
    - Dst: free
      Src: /src/glib/girepository/cmph/bmz8.c:560,1
    - Dst: free
      Src: /src/glib/girepository/cmph/bmz8.c:562,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - mphf
    argTypes:
    - cmph_t*
    constantsTouched: []
    func_position:
      end: 563
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 563
    functionName: bmz8_destroy
    functionSourceFile: /src/glib/girepository/cmph/bmz8.c
    functionUses: []
    functionsReached:
    - free
    - hash_state_destroy
    linkageType: ''
    returnType: void
    signature: 'void bmz8_destroy(cmph_t *mphf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hash_state_packed_size
      Src: /src/glib/girepository/cmph/bmz8.c:633,1
    - Dst: hash_state_packed_size
      Src: /src/glib/girepository/cmph/bmz8.c:637,1
    - Dst: hash_packed
      Src: /src/glib/girepository/cmph/bmz8.c:641,1
    - Dst: hash_packed
      Src: /src/glib/girepository/cmph/bmz8.c:642,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bmz8.c:643,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - packed_mphf
    - key
    - keylen
    argTypes:
    - void*
    - char*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 646
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 646
    functionName: bmz8_search_packed
    functionSourceFile: /src/glib/girepository/cmph/bmz8.c
    functionUses: []
    functionsReached:
    - hash_state_packed_size
    - hash_packed
    - DEBUGP
    linkageType: ''
    returnType: cmph_uint8
    signature: 'cmph_uint8 bmz8_search_packed(void *packed_mphf, const char *key,
      cmph_uint32 keylen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_get_type
      Src: /src/glib/girepository/cmph/bmz8.c:609,1
    - Dst: hash_state_packed_size
      Src: /src/glib/girepository/cmph/bmz8.c:612,1
    - Dst: hash_state_packed_size
      Src: /src/glib/girepository/cmph/bmz8.c:612,1
    - Dst: hash_get_type
      Src: /src/glib/girepository/cmph/bmz8.c:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - mphf
    argTypes:
    - cmph_t*
    constantsTouched: []
    func_position:
      end: 614
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 614
    functionName: bmz8_packed_size
    functionSourceFile: /src/glib/girepository/cmph/bmz8.c
    functionUses: []
    functionsReached:
    - hash_get_type
    - hash_state_packed_size
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 bmz8_packed_size(cmph_t *mphf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/chd.c:33,1
    - Dst: cmph_config_destroy
      Src: /src/glib/girepository/cmph/chd.c:36,1
    - Dst: free
      Src: /src/glib/girepository/cmph/chd.c:39,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - mph
    argTypes:
    - cmph_config_t*
    constantsTouched: []
    func_position:
      end: 40
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 40
    functionName: chd_config_destroy
    functionSourceFile: /src/glib/girepository/cmph/chd.c
    functionUses: []
    functionsReached:
    - cmph_config_destroy
    - free
    - DEBUGP
    linkageType: ''
    returnType: void
    signature: 'void chd_config_destroy(cmph_config_t *mph) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmph_config_set_b
      Src: /src/glib/girepository/cmph/chd.c:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - mph
    - keys_per_bucket
    argTypes:
    - cmph_config_t*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: chd_config_set_b
    functionSourceFile: /src/glib/girepository/cmph/chd.c
    functionUses: []
    functionsReached:
    - cmph_config_set_b
    linkageType: ''
    returnType: void
    signature: 'void chd_config_set_b(cmph_config_t *mph, cmph_uint32 keys_per_bucket) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/glib/girepository/cmph/chd.c:107,1
    - Dst: free
      Src: /src/glib/girepository/cmph/chd.c:137,1
    - Dst: compressed_rank_pack
      Src: /src/glib/girepository/cmph/chd.c:141,1
    - Dst: GETBIT32
      Src: /src/glib/girepository/cmph/chd.c:130,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/chd.c:144,1
    - Dst: cmph_new
      Src: /src/glib/girepository/cmph/chd.c:96,1
    - Dst: cmph_pack
      Src: /src/glib/girepository/cmph/chd.c:110,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/chd.c:140,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/chd.c:117,1
    - Dst: compressed_rank_init
      Src: /src/glib/girepository/cmph/chd.c:120,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/chd.c:146,1
    - Dst: chd_packed_size
      Src: /src/glib/girepository/cmph/chd.c:167,1
    - Dst: cmph_destroy
      Src: /src/glib/girepository/cmph/chd.c:112,1
    - Dst: compressed_rank_generate
      Src: /src/glib/girepository/cmph/chd.c:136,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/chd.c:125,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/chd.c:163,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/chd.c:169,1
    - Dst: ELAPSED_TIME_IN_SECONDS
      Src: /src/glib/girepository/cmph/chd.c:85,1
    - Dst: cmph_config_set_graphsize
      Src: /src/glib/girepository/cmph/chd.c:89,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/chd.c:93,1
    - Dst: cmph_config_set_verbosity
      Src: /src/glib/girepository/cmph/chd.c:88,1
    - Dst: cmph_packed_size
      Src: /src/glib/girepository/cmph/chd.c:103,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/chd.c:104,1
    - Dst: compressed_rank_packed_size
      Src: /src/glib/girepository/cmph/chd.c:139,1
    - Dst: compressed_rank_destroy
      Src: /src/glib/girepository/cmph/chd.c:142,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/chd.c:160,1
    - Dst: ELAPSED_TIME_IN_SECONDS
      Src: /src/glib/girepository/cmph/chd.c:166,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 173
    functionName: chd_new
    functionSourceFile: /src/glib/girepository/cmph/chd.c
    functionUses: []
    functionsReached:
    - compressed_rank_destroy
    - ELAPSED_TIME_IN_SECONDS
    - compressed_rank_packed_size
    - fprintf
    - cmph_config_set_graphsize
    - GETBIT32
    - DEBUGP
    - compressed_rank_generate
    - compressed_rank_pack
    - cmph_new
    - compressed_rank_init
    - malloc
    - cmph_pack
    - cmph_destroy
    - chd_packed_size
    - free
    - cmph_config_set_verbosity
    - calloc
    - cmph_packed_size
    linkageType: ''
    returnType: cmph_t*
    signature: 'cmph_t *chd_new(cmph_config_t *mph, double c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __cmph_dump
      Src: /src/glib/girepository/cmph/chd.c:203,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/chd.c:206,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/chd.c:208,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/chd.c:207,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/chd.c:210,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/chd.c:211,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/chd.c:212,1
    - Dst: ferror
      Src: /src/glib/girepository/cmph/chd.c:213,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/chd.c:214,1
    - Dst: strerror
      Src: /src/glib/girepository/cmph/chd.c:214,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - mphf
    - fd
    argTypes:
    - cmph_t*
    - FILE*
    constantsTouched: []
    func_position:
      end: 219
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 219
    functionName: chd_dump
    functionSourceFile: /src/glib/girepository/cmph/chd.c
    functionUses: []
    functionsReached:
    - ferror
    - DEBUGP
    - fwrite
    - fprintf
    - strerror
    - __cmph_dump
    linkageType: ''
    returnType: int
    signature: 'int chd_dump(cmph_t *mphf, FILE *fd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmph_search_packed
      Src: /src/glib/girepository/cmph/chd.c:232,1
    - Dst: compressed_rank_query_packed
      Src: /src/glib/girepository/cmph/chd.c:233,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - packed_chd_phf
    - packed_cr
    - key
    - keylen
    argTypes:
    - void*
    - void*
    - char*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 235
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 235
    functionName: _chd_search
    functionSourceFile: /src/glib/girepository/cmph/chd.c
    functionUses: []
    functionsReached:
    - compressed_rank_query_packed
    - cmph_search_packed
    linkageType: ''
    returnType: cmph_uint32
    signature: 'static inline cmph_uint32 _chd_search(void * packed_chd_phf, void
      * packed_cr, const char *key, cmph_uint32 keylen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/chd.c:253,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/chd.c:260,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - mphf
    - packed_mphf
    argTypes:
    - cmph_t*
    - void*
    constantsTouched: []
    func_position:
      end: 261
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 261
    functionName: chd_pack
    functionSourceFile: /src/glib/girepository/cmph/chd.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void chd_pack(cmph_t *mphf, void *packed_mphf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/girepository/cmph/chd.c:20,1
    - Dst: cmph_config_new
      Src: /src/glib/girepository/cmph/chd.c:24,1
    - Dst: memset
      Src: /src/glib/girepository/cmph/chd.c:22,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/chd.c:21,1
    - Dst: cmph_config_set_algo
      Src: /src/glib/girepository/cmph/chd.c:25,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 28
    functionName: chd_config_new
    functionSourceFile: /src/glib/girepository/cmph/chd.c
    functionUses: []
    functionsReached:
    - malloc
    - assert
    - cmph_config_new
    - cmph_config_set_algo
    - memset
    linkageType: ''
    returnType: chd_config_data_t*
    signature: 'chd_config_data_t *chd_config_new(cmph_config_t *mph) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmph_config_set_keys_per_bin
      Src: /src/glib/girepository/cmph/chd.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - mph
    - keys_per_bin
    argTypes:
    - cmph_config_t*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: chd_config_set_keys_per_bin
    functionSourceFile: /src/glib/girepository/cmph/chd.c
    functionUses: []
    functionsReached:
    - cmph_config_set_keys_per_bin
    linkageType: ''
    returnType: void
    signature: 'void chd_config_set_keys_per_bin(cmph_config_t *mph, cmph_uint32 keys_per_bin) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmph_config_set_hashfuncs
      Src: /src/glib/girepository/cmph/chd.c:46,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - mph
    - hashfuncs
    argTypes:
    - cmph_config_t*
    - CMPH_HASH*
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: chd_config_set_hashfuncs
    functionSourceFile: /src/glib/girepository/cmph/chd.c
    functionUses: []
    functionsReached:
    - cmph_config_set_hashfuncs
    linkageType: ''
    returnType: void
    signature: 'void chd_config_set_hashfuncs(cmph_config_t *mph, CMPH_HASH *hashfuncs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/girepository/cmph/chd.c:178,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/chd.c:180,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/chd.c:183,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/chd.c:184,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/chd.c:185,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/chd.c:186,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/chd.c:188,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/chd.c:189,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/chd.c:190,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/chd.c:191,1
    - Dst: strerror
      Src: /src/glib/girepository/cmph/chd.c:193,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/chd.c:193,1
    - Dst: ferror
      Src: /src/glib/girepository/cmph/chd.c:192,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - fd
    - mphf
    argTypes:
    - FILE*
    - cmph_t*
    constantsTouched: []
    func_position:
      end: 196
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 196
    functionName: chd_load
    functionSourceFile: /src/glib/girepository/cmph/chd.c
    functionUses: []
    functionsReached:
    - malloc
    - ferror
    - DEBUGP
    - fprintf
    - strerror
    - calloc
    - fread
    linkageType: ''
    returnType: void
    signature: 'void chd_load(FILE *fd, cmph_t *mphf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/glib/girepository/cmph/chd.c:224,1
    - Dst: free
      Src: /src/glib/girepository/cmph/chd.c:227,1
    - Dst: free
      Src: /src/glib/girepository/cmph/chd.c:226,1
    - Dst: free
      Src: /src/glib/girepository/cmph/chd.c:225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - mphf
    argTypes:
    - cmph_t*
    constantsTouched: []
    func_position:
      end: 228
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 228
    functionName: chd_destroy
    functionSourceFile: /src/glib/girepository/cmph/chd.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void chd_destroy(cmph_t *mphf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _chd_search
      Src: /src/glib/girepository/cmph/chd.c:240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - mphf
    - key
    - keylen
    argTypes:
    - cmph_t*
    - char*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 241
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 241
    functionName: chd_search
    functionSourceFile: /src/glib/girepository/cmph/chd.c
    functionUses: []
    functionsReached:
    - _chd_search
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 chd_search(cmph_t *mphf, const char *key, cmph_uint32
      keylen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - mphf
    argTypes:
    - cmph_t*
    constantsTouched: []
    func_position:
      end: 268
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 268
    functionName: chd_packed_size
    functionSourceFile: /src/glib/girepository/cmph/chd.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 chd_packed_size(cmph_t *mphf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _chd_search
      Src: /src/glib/girepository/cmph/chd.c:276,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - packed_mphf
    - key
    - keylen
    argTypes:
    - void*
    - char*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 277
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 277
    functionName: chd_search_packed
    functionSourceFile: /src/glib/girepository/cmph/chd.c
    functionUses: []
    functionsReached:
    - _chd_search
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 chd_search_packed(void *packed_mphf, const char *key,
      cmph_uint32 keylen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 5
    argNames:
    - bits_table
    - index
    - bits_string
    - string_length
    - string_mask
    argTypes:
    - cmph_uint32*
    - cmph_uint32
    - cmph_uint32
    - cmph_uint32
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 128
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 128
    functionName: set_bits_value
    functionSourceFile: /src/glib/girepository/cmph/bitbool.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void set_bits_value(cmph_uint32 * bits_table, cmph_uint32
      index, cmph_uint32 bits_string, cmph_uint32 string_length, cmph_uint32 string_mask) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - bits_table
    - pos
    - bits_string
    - string_length
    argTypes:
    - cmph_uint32*
    - cmph_uint32
    - cmph_uint32
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 160
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 160
    functionName: set_bits_at_pos
    functionSourceFile: /src/glib/girepository/cmph/bitbool.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void set_bits_at_pos(cmph_uint32 * bits_table, cmph_uint32
      pos, cmph_uint32 bits_string, cmph_uint32 string_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - bits_table
    - index
    - string_length
    - string_mask
    argTypes:
    - cmph_uint32*
    - cmph_uint32
    - cmph_uint32
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 144
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 144
    functionName: get_bits_value
    functionSourceFile: /src/glib/girepository/cmph/bitbool.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cmph_uint32
    signature: 'static inline cmph_uint32 get_bits_value(cmph_uint32 * bits_table,cmph_uint32
      index, cmph_uint32 string_length, cmph_uint32 string_mask) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - bits_table
    - pos
    - string_length
    argTypes:
    - cmph_uint32*
    - cmph_uint32
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 175
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 175
    functionName: get_bits_at_pos
    functionSourceFile: /src/glib/girepository/cmph/bitbool.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cmph_uint32
    signature: 'static inline cmph_uint32 get_bits_at_pos(cmph_uint32 * bits_table,cmph_uint32
      pos,cmph_uint32 string_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/glib/girepository/cmph/fnv_hash.c:12,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - fnv_state_t*
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: fnv_state_destroy
    functionSourceFile: /src/glib/girepository/cmph/fnv_hash.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void fnv_state_destroy(fnv_state_t *state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - state
    - buf
    - buflen
    argTypes:
    - fnv_state_t*
    - char**
    - cmph_uint32*
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: fnv_state_dump
    functionSourceFile: /src/glib/girepository/cmph/fnv_hash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void fnv_state_dump(fnv_state_t *state, char **buf, cmph_uint32 *buflen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/girepository/cmph/fnv_hash.c:5,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8
      start: 3
    functionDepth: 0
    functionLinenumber: 3
    functionLinenumberEnd: 8
    functionName: fnv_state_new
    functionSourceFile: /src/glib/girepository/cmph/fnv_hash.c
    functionUses: []
    functionsReached:
    - malloc
    linkageType: ''
    returnType: fnv_state_t*
    signature: 'fnv_state_t *fnv_state_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - state
    - k
    - keylen
    argTypes:
    - fnv_state_t*
    - char*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 30
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 30
    functionName: fnv_hash
    functionSourceFile: /src/glib/girepository/cmph/fnv_hash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 fnv_hash(fnv_state_t *state, const char *k, cmph_uint32
      keylen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/girepository/cmph/fnv_hash.c:42,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: fnv_state_copy
    functionSourceFile: /src/glib/girepository/cmph/fnv_hash.c
    functionUses: []
    functionsReached:
    - malloc
    linkageType: ''
    returnType: fnv_state_t*
    signature: 'fnv_state_t * fnv_state_copy(fnv_state_t *src_state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/girepository/cmph/fnv_hash.c:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: fnv_state_load
    functionSourceFile: /src/glib/girepository/cmph/fnv_hash.c
    functionUses: []
    functionsReached:
    - malloc
    linkageType: ''
    returnType: fnv_state_t*
    signature: 'fnv_state_t *fnv_state_load(const char *buf, cmph_uint32 buflen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/glib/girepository/cmph/jenkins_hash.c:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - jenkins_state_t*
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: jenkins_state_destroy
    functionSourceFile: /src/glib/girepository/cmph/jenkins_hash.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void jenkins_state_destroy(jenkins_state_t *state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __jenkins_hash_vector
      Src: /src/glib/girepository/cmph/jenkins_hash.c:155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - state
    - k
    - keylen
    argTypes:
    - jenkins_state_t*
    - char*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 212
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 212
    functionName: jenkins_hash
    functionSourceFile: /src/glib/girepository/cmph/jenkins_hash.c
    functionUses: []
    functionsReached:
    - __jenkins_hash_vector
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 jenkins_hash(jenkins_state_t *state, const char *k, cmph_uint32
      keylen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/girepository/cmph/jenkins_hash.c:222,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/jenkins_hash.c:229,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/jenkins_hash.c:228,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - state
    - buf
    - buflen
    argTypes:
    - jenkins_state_t*
    - char**
    - cmph_uint32*
    constantsTouched: []
    func_position:
      end: 231
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 231
    functionName: jenkins_state_dump
    functionSourceFile: /src/glib/girepository/cmph/jenkins_hash.c
    functionUses: []
    functionsReached:
    - malloc
    - DEBUGP
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void jenkins_state_dump(jenkins_state_t *state, char **buf, cmph_uint32
      *buflen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/girepository/cmph/jenkins_hash.c:243,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/jenkins_hash.c:246,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 248
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 248
    functionName: jenkins_state_load
    functionSourceFile: /src/glib/girepository/cmph/jenkins_hash.c
    functionUses: []
    functionsReached:
    - malloc
    - DEBUGP
    linkageType: ''
    returnType: jenkins_state_t*
    signature: 'jenkins_state_t *jenkins_state_load(const char *buf, cmph_uint32 buflen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __jenkins_hash_vector
      Src: /src/glib/girepository/cmph/jenkins_hash.c:283,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - jenkins_packed
    - k
    - keylen
    argTypes:
    - void*
    - char*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 285
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 285
    functionName: jenkins_hash_packed
    functionSourceFile: /src/glib/girepository/cmph/jenkins_hash.c
    functionUses: []
    functionsReached:
    - __jenkins_hash_vector
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 jenkins_hash_packed(void *jenkins_packed, const char *k,
      cmph_uint32 keylen) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: mix
      Src: /src/glib/girepository/cmph/jenkins_hash.c:115,1
    - Dst: mix
      Src: /src/glib/girepository/cmph/jenkins_hash.c:149,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 4
    argNames:
    - seed
    - k
    - keylen
    - hashes
    argTypes:
    - cmph_uint32
    - char*
    - cmph_uint32
    - cmph_uint32*
    constantsTouched: []
    func_position:
      end: 150
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 150
    functionName: __jenkins_hash_vector
    functionSourceFile: /src/glib/girepository/cmph/jenkins_hash.c
    functionUses: []
    functionsReached:
    - mix
    linkageType: ''
    returnType: void
    signature: 'static inline void __jenkins_hash_vector(cmph_uint32 seed, const char
      *k, cmph_uint32 keylen, cmph_uint32 * hashes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __jenkins_hash_vector
      Src: /src/glib/girepository/cmph/jenkins_hash.c:216,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - state
    - k
    - keylen
    - hashes
    argTypes:
    - jenkins_state_t*
    - char*
    - cmph_uint32
    - cmph_uint32*
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: jenkins_hash_vector_
    functionSourceFile: /src/glib/girepository/cmph/jenkins_hash.c
    functionUses: []
    functionsReached:
    - __jenkins_hash_vector
    linkageType: ''
    returnType: void
    signature: 'void jenkins_hash_vector_(jenkins_state_t *state, const char *k, cmph_uint32
      keylen, cmph_uint32 * hashes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/girepository/cmph/jenkins_hash.c:235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 239
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 239
    functionName: jenkins_state_copy
    functionSourceFile: /src/glib/girepository/cmph/jenkins_hash.c
    functionUses: []
    functionsReached:
    - malloc
    linkageType: ''
    returnType: jenkins_state_t*
    signature: 'jenkins_state_t *jenkins_state_copy(jenkins_state_t *src_state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/girepository/cmph/jenkins_hash.c:88,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/jenkins_hash.c:89,1
    - Dst: rand
      Src: /src/glib/girepository/cmph/jenkins_hash.c:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: jenkins_state_new
    functionSourceFile: /src/glib/girepository/cmph/jenkins_hash.c
    functionUses: []
    functionsReached:
    - malloc
    - DEBUGP
    - rand
    linkageType: ''
    returnType: jenkins_state_t*
    signature: 'jenkins_state_t *jenkins_state_new(cmph_uint32 size) //size of hash
      table '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/jenkins_hash.c:260,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - state
    - jenkins_packed
    argTypes:
    - jenkins_state_t*
    - void*
    constantsTouched: []
    func_position:
      end: 262
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 262
    functionName: jenkins_state_pack
    functionSourceFile: /src/glib/girepository/cmph/jenkins_hash.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void jenkins_state_pack(jenkins_state_t *state, void *jenkins_packed) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 271
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 271
    functionName: jenkins_state_packed_size
    functionSourceFile: /src/glib/girepository/cmph/jenkins_hash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 jenkins_state_packed_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __jenkins_hash_vector
      Src: /src/glib/girepository/cmph/jenkins_hash.c:295,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - jenkins_packed
    - k
    - keylen
    - hashes
    argTypes:
    - void*
    - char*
    - cmph_uint32
    - cmph_uint32*
    constantsTouched: []
    func_position:
      end: 296
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 296
    functionName: jenkins_hash_vector_packed
    functionSourceFile: /src/glib/girepository/cmph/jenkins_hash.c
    functionUses: []
    functionsReached:
    - __jenkins_hash_vector
    linkageType: ''
    returnType: void
    signature: 'void jenkins_hash_vector_packed(void *jenkins_packed, const char *k,
      cmph_uint32 keylen, cmph_uint32 * hashes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/girepository/cmph/debug.h:25,1
    - Dst: va_start
      Src: /src/glib/girepository/cmph/debug.h:26,1
    - Dst: strlen
      Src: /src/glib/girepository/cmph/debug.h:27,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/debug.h:27,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/debug.h:29,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/debug.h:30,1
    - Dst: strlen
      Src: /src/glib/girepository/cmph/debug.h:30,1
    - Dst: vfprintf
      Src: /src/glib/girepository/cmph/debug.h:31,1
    - Dst: va_end
      Src: /src/glib/girepository/cmph/debug.h:32,1
    - Dst: free
      Src: /src/glib/girepository/cmph/debug.h:33,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - format
    - '...'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 34
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 34
    functionName: debugprintf
    functionSourceFile: /src/glib/girepository/cmph/debug.h
    functionUses: []
    functionsReached:
    - malloc
    - memcpy
    - strlen
    - free
    - vfprintf
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: 'static void debugprintf(const char *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - format
    - '...'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: dummyprintf
    functionSourceFile: /src/glib/girepository/cmph/debug.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void dummyprintf(const char *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/girepository/cmph/chm.c:23,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/chm.c:24,1
    - Dst: memset
      Src: /src/glib/girepository/cmph/chm.c:25,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 32
    functionName: chm_config_new
    functionSourceFile: /src/glib/girepository/cmph/chm.c
    functionUses: []
    functionsReached:
    - malloc
    - memset
    - assert
    linkageType: ''
    returnType: chm_config_data_t*
    signature: 'chm_config_data_t *chm_config_new(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: graph_neighbors_it
      Src: /src/glib/girepository/cmph/chm.c:149,1
    - Dst: graph_next_neighbor
      Src: /src/glib/girepository/cmph/chm.c:154,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/chm.c:156,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/chm.c:153,1
    - Dst: SETBIT
      Src: /src/glib/girepository/cmph/chm.c:151,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/chm.c:157,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/chm.c:158,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/chm.c:159,1
    - Dst: graph_edge_id
      Src: /src/glib/girepository/cmph/chm.c:159,1
    - Dst: graph_edge_id
      Src: /src/glib/girepository/cmph/chm.c:160,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/chm.c:161,1
    - Dst: graph_edge_id
      Src: /src/glib/girepository/cmph/chm.c:161,1
    - Dst: chm_traverse
      Src: /src/glib/girepository/cmph/chm.c:162,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - chm
    - visited
    - v
    argTypes:
    - chm_config_data_t*
    - cmph_uint8*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 164
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 164
    functionName: chm_traverse
    functionSourceFile: /src/glib/girepository/cmph/chm.c
    functionUses: []
    functionsReached:
    - chm_traverse
    - graph_next_neighbor
    - GETBIT
    - DEBUGP
    - graph_edge_id
    - SETBIT
    - graph_neighbors_it
    linkageType: ''
    returnType: void
    signature: 'static void chm_traverse(chm_config_data_t *chm, cmph_uint8 *visited,
      cmph_uint32 v) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - mph
    - hashfuncs
    argTypes:
    - cmph_config_t*
    - CMPH_HASH*
    constantsTouched: []
    func_position:
      end: 51
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 51
    functionName: chm_config_set_hashfuncs
    functionSourceFile: /src/glib/girepository/cmph/chm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void chm_config_set_hashfuncs(cmph_config_t *mph, CMPH_HASH *hashfuncs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __cmph_dump
      Src: /src/glib/girepository/cmph/chm.c:209,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/chm.c:213,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/chm.c:211,1
    - Dst: hash_state_dump
      Src: /src/glib/girepository/cmph/chm.c:212,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/chm.c:214,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/chm.c:215,1
    - Dst: free
      Src: /src/glib/girepository/cmph/chm.c:216,1
    - Dst: hash_state_dump
      Src: /src/glib/girepository/cmph/chm.c:218,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/chm.c:219,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/chm.c:220,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/chm.c:221,1
    - Dst: free
      Src: /src/glib/girepository/cmph/chm.c:222,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/chm.c:227,1
    - Dst: ferror
      Src: /src/glib/girepository/cmph/chm.c:228,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/chm.c:224,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/chm.c:229,1
    - Dst: strerror
      Src: /src/glib/girepository/cmph/chm.c:229,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/chm.c:225,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 2
    argNames:
    - mphf
    - fd
    argTypes:
    - cmph_t*
    - FILE*
    constantsTouched: []
    func_position:
      end: 238
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 238
    functionName: chm_dump
    functionSourceFile: /src/glib/girepository/cmph/chm.c
    functionUses: []
    functionsReached:
    - ferror
    - DEBUGP
    - fwrite
    - fprintf
    - strerror
    - hash_state_dump
    - free
    - __cmph_dump
    linkageType: ''
    returnType: int
    signature: 'int chm_dump(cmph_t *mphf, FILE *fd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hash
      Src: /src/glib/girepository/cmph/chm.c:288,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/chm.c:292,1
    - Dst: hash
      Src: /src/glib/girepository/cmph/chm.c:289,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/chm.c:290,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - mphf
    - key
    - keylen
    argTypes:
    - cmph_t*
    - char*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 294
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 294
    functionName: chm_search
    functionSourceFile: /src/glib/girepository/cmph/chm.c
    functionUses: []
    functionsReached:
    - hash
    - DEBUGP
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 chm_search(cmph_t *mphf, const char *key, cmph_uint32
      keylen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_get_type
      Src: /src/glib/girepository/cmph/chm.c:355,1
    - Dst: hash_get_type
      Src: /src/glib/girepository/cmph/chm.c:356,1
    - Dst: hash_state_packed_size
      Src: /src/glib/girepository/cmph/chm.c:358,1
    - Dst: hash_state_packed_size
      Src: /src/glib/girepository/cmph/chm.c:358,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - mphf
    argTypes:
    - cmph_t*
    constantsTouched: []
    func_position:
      end: 360
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 360
    functionName: chm_packed_size
    functionSourceFile: /src/glib/girepository/cmph/chm.c
    functionUses: []
    functionsReached:
    - hash_get_type
    - hash_state_packed_size
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 chm_packed_size(cmph_t *mphf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hash_state_packed_size
      Src: /src/glib/girepository/cmph/chm.c:380,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/chm.c:391,1
    - Dst: hash_packed
      Src: /src/glib/girepository/cmph/chm.c:389,1
    - Dst: hash_packed
      Src: /src/glib/girepository/cmph/chm.c:390,1
    - Dst: hash_state_packed_size
      Src: /src/glib/girepository/cmph/chm.c:384,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/chm.c:393,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - packed_mphf
    - key
    - keylen
    argTypes:
    - void*
    - char*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 395
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 395
    functionName: chm_search_packed
    functionSourceFile: /src/glib/girepository/cmph/chm.c
    functionUses: []
    functionsReached:
    - hash_state_packed_size
    - hash_packed
    - DEBUGP
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 chm_search_packed(void *packed_mphf, const char *key,
      cmph_uint32 keylen) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/girepository/cmph/chm.c:69,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/chm.c:67,1
    - Dst: hash_state_destroy
      Src: /src/glib/girepository/cmph/chm.c:85,1
    - Dst: graph_destroy
      Src: /src/glib/girepository/cmph/chm.c:100,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/chm.c:113,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/chm.c:117,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/chm.c:127,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/chm.c:138,1
    - Dst: hash_state_destroy
      Src: /src/glib/girepository/cmph/chm.c:87,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/chm.c:110,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/chm.c:89,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/chm.c:107,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/chm.c:92,1
    - Dst: graph_destroy
      Src: /src/glib/girepository/cmph/chm.c:123,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/chm.c:129,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/chm.c:65,1
    - Dst: graph_new
      Src: /src/glib/girepository/cmph/chm.c:66,1
    - Dst: hash_state_new
      Src: /src/glib/girepository/cmph/chm.c:79,1
    - Dst: memset
      Src: /src/glib/girepository/cmph/chm.c:111,1
    - Dst: free
      Src: /src/glib/girepository/cmph/chm.c:112,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/chm.c:114,1
    - Dst: chm_traverse
      Src: /src/glib/girepository/cmph/chm.c:120,1
    - Dst: ceil
      Src: /src/glib/girepository/cmph/chm.c:64,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/chm.c:74,1
    - Dst: hash_state_new
      Src: /src/glib/girepository/cmph/chm.c:80,1
    - Dst: chm_gen_edges
      Src: /src/glib/girepository/cmph/chm.c:81,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/chm.c:109,1
    - Dst: free
      Src: /src/glib/girepository/cmph/chm.c:124,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/chm.c:141,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 144
    functionName: chm_new
    functionSourceFile: /src/glib/girepository/cmph/chm.c
    functionUses: []
    functionsReached:
    - chm_gen_edges
    - malloc
    - memset
    - chm_traverse
    - graph_new
    - DEBUGP
    - fprintf
    - hash_state_destroy
    - GETBIT
    - free
    - graph_destroy
    - assert
    - hash_state_new
    - ceil
    linkageType: ''
    returnType: cmph_t*
    signature: 'cmph_t *chm_new(cmph_config_t *mph, double c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/chm.c:36,1
    - Dst: free
      Src: /src/glib/girepository/cmph/chm.c:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - mph
    argTypes:
    - cmph_config_t*
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: chm_config_destroy
    functionSourceFile: /src/glib/girepository/cmph/chm.c
    functionUses: []
    functionsReached:
    - free
    - DEBUGP
    linkageType: ''
    returnType: void
    signature: 'void chm_config_destroy(cmph_config_t *mph) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/chm.c:172,1
    - Dst: graph_clear_edges
      Src: /src/glib/girepository/cmph/chm.c:173,1
    - Dst: hash
      Src: /src/glib/girepository/cmph/chm.c:181,1
    - Dst: hash
      Src: /src/glib/girepository/cmph/chm.c:182,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/chm.c:186,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/chm.c:190,1
    - Dst: graph_add_edge
      Src: /src/glib/girepository/cmph/chm.c:192,1
    - Dst: graph_is_cyclic
      Src: /src/glib/girepository/cmph/chm.c:194,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/chm.c:195,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/chm.c:196,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 1
    argNames:
    - mph
    argTypes:
    - cmph_config_t*
    constantsTouched: []
    func_position:
      end: 199
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 199
    functionName: chm_gen_edges
    functionSourceFile: /src/glib/girepository/cmph/chm.c
    functionUses: []
    functionsReached:
    - DEBUGP
    - fprintf
    - graph_add_edge
    - graph_is_cyclic
    - graph_clear_edges
    - hash
    linkageType: ''
    returnType: int
    signature: 'static int chm_gen_edges(cmph_config_t *mph) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/glib/girepository/cmph/chm.c:257,1
    - Dst: hash_state_load
      Src: /src/glib/girepository/cmph/chm.c:261,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/chm.c:270,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/chm.c:246,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/chm.c:253,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/chm.c:259,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/chm.c:267,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/chm.c:271,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/chm.c:279,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/chm.c:248,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/chm.c:260,1
    - Dst: ferror
      Src: /src/glib/girepository/cmph/chm.c:272,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/chm.c:277,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/chm.c:278,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/chm.c:250,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/chm.c:251,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/chm.c:258,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/chm.c:266,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/chm.c:268,1
    - Dst: free
      Src: /src/glib/girepository/cmph/chm.c:263,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/chm.c:273,1
    - Dst: strerror
      Src: /src/glib/girepository/cmph/chm.c:273,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 2
    argNames:
    - f
    - mphf
    argTypes:
    - FILE*
    - cmph_t*
    constantsTouched: []
    func_position:
      end: 282
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 282
    functionName: chm_load
    functionSourceFile: /src/glib/girepository/cmph/chm.c
    functionUses: []
    functionsReached:
    - malloc
    - ferror
    - DEBUGP
    - fprintf
    - strerror
    - free
    - hash_state_load
    - fread
    linkageType: ''
    returnType: void
    signature: 'void chm_load(FILE *f, cmph_t *mphf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/glib/girepository/cmph/chm.c:298,1
    - Dst: free
      Src: /src/glib/girepository/cmph/chm.c:301,1
    - Dst: hash_state_destroy
      Src: /src/glib/girepository/cmph/chm.c:300,1
    - Dst: hash_state_destroy
      Src: /src/glib/girepository/cmph/chm.c:299,1
    - Dst: free
      Src: /src/glib/girepository/cmph/chm.c:302,1
    - Dst: free
      Src: /src/glib/girepository/cmph/chm.c:303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - mphf
    argTypes:
    - cmph_t*
    constantsTouched: []
    func_position:
      end: 304
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 304
    functionName: chm_destroy
    functionSourceFile: /src/glib/girepository/cmph/chm.c
    functionUses: []
    functionsReached:
    - free
    - hash_state_destroy
    linkageType: ''
    returnType: void
    signature: 'void chm_destroy(cmph_t *mphf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_get_type
      Src: /src/glib/girepository/cmph/chm.c:318,1
    - Dst: hash_state_packed_size
      Src: /src/glib/girepository/cmph/chm.c:324,1
    - Dst: hash_get_type
      Src: /src/glib/girepository/cmph/chm.c:327,1
    - Dst: hash_state_pack
      Src: /src/glib/girepository/cmph/chm.c:323,1
    - Dst: hash_state_pack
      Src: /src/glib/girepository/cmph/chm.c:332,1
    - Dst: hash_state_packed_size
      Src: /src/glib/girepository/cmph/chm.c:333,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/chm.c:344,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - mphf
    - packed_mphf
    argTypes:
    - cmph_t*
    - void*
    constantsTouched: []
    func_position:
      end: 345
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 345
    functionName: chm_pack
    functionSourceFile: /src/glib/girepository/cmph/chm.c
    functionUses: []
    functionsReached:
    - hash_get_type
    - hash_state_packed_size
    - hash_state_pack
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void chm_pack(cmph_t *mphf, void *packed_mphf) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jenkins_hash
      Src: /src/glib/girepository/cmph/hash.c:32,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/hash.c:36,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/hash.c:34,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - state
    - key
    - keylen
    argTypes:
    - hash_state_t*
    - char*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 38
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 38
    functionName: hash
    functionSourceFile: /src/glib/girepository/cmph/hash.c
    functionUses: []
    functionsReached:
    - jenkins_hash
    - assert
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 hash(hash_state_t *state, const char *key, cmph_uint32
      keylen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: jenkins_state_dump
      Src: /src/glib/girepository/cmph/hash.c:60,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/hash.c:64,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/hash.c:67,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/hash.c:66,1
    - Dst: strlen
      Src: /src/glib/girepository/cmph/hash.c:66,1
    - Dst: strlen
      Src: /src/glib/girepository/cmph/hash.c:67,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/hash.c:68,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/hash.c:70,1
    - Dst: strlen
      Src: /src/glib/girepository/cmph/hash.c:70,1
    - Dst: strlen
      Src: /src/glib/girepository/cmph/hash.c:71,1
    - Dst: free
      Src: /src/glib/girepository/cmph/hash.c:72,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 3
    argNames:
    - state
    - buf
    - buflen
    argTypes:
    - hash_state_t*
    - char**
    - cmph_uint32*
    constantsTouched: []
    func_position:
      end: 74
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 74
    functionName: hash_state_dump
    functionSourceFile: /src/glib/girepository/cmph/hash.c
    functionUses: []
    functionsReached:
    - memcpy
    - jenkins_state_dump
    - malloc
    - DEBUGP
    - strlen
    - free
    - assert
    linkageType: ''
    returnType: void
    signature: 'void hash_state_dump(hash_state_t *state, char **buf, cmph_uint32
      *buflen) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/girepository/cmph/hash.c:98,1
    - Dst: jenkins_state_load
      Src: /src/glib/girepository/cmph/hash.c:109,1
    - Dst: strlen
      Src: /src/glib/girepository/cmph/hash.c:105,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 114
    functionName: hash_state_load
    functionSourceFile: /src/glib/girepository/cmph/hash.c
    functionUses: []
    functionsReached:
    - strcmp
    - jenkins_state_load
    - strlen
    linkageType: ''
    returnType: hash_state_t*
    signature: 'hash_state_t *hash_state_load(const char *buf, cmph_uint32 buflen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jenkins_state_packed_size
      Src: /src/glib/girepository/cmph/hash.c:161,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/hash.c:164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - hashfunc
    argTypes:
    - CMPH_HASH
    constantsTouched: []
    func_position:
      end: 167
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 167
    functionName: hash_state_packed_size
    functionSourceFile: /src/glib/girepository/cmph/hash.c
    functionUses: []
    functionsReached:
    - jenkins_state_packed_size
    - assert
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 hash_state_packed_size(CMPH_HASH hashfunc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jenkins_hash_packed
      Src: /src/glib/girepository/cmph/hash.c:181,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/hash.c:183,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/hash.c:185,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 4
    argNames:
    - hash_packed
    - hashfunc
    - k
    - keylen
    argTypes:
    - void*
    - CMPH_HASH
    - char*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 187
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 187
    functionName: hash_packed
    functionSourceFile: /src/glib/girepository/cmph/hash.c
    functionUses: []
    functionsReached:
    - jenkins_hash_packed
    - assert
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 hash_packed(void *hash_packed, CMPH_HASH hashfunc, const
      char *k, cmph_uint32 keylen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/hash.c:17,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/hash.c:19,1
    - Dst: jenkins_state_new
      Src: /src/glib/girepository/cmph/hash.c:18,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/hash.c:22,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 26
    functionName: hash_state_new
    functionSourceFile: /src/glib/girepository/cmph/hash.c
    functionUses: []
    functionsReached:
    - jenkins_state_new
    - DEBUGP
    - assert
    linkageType: ''
    returnType: hash_state_t*
    signature: 'hash_state_t *hash_state_new(CMPH_HASH hashfunc, cmph_uint32 hashsize) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jenkins_state_copy
      Src: /src/glib/girepository/cmph/hash.c:82,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/hash.c:85,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 89
    functionName: hash_state_copy
    functionSourceFile: /src/glib/girepository/cmph/hash.c
    functionUses: []
    functionsReached:
    - assert
    - jenkins_state_copy
    linkageType: ''
    returnType: hash_state_t*
    signature: 'hash_state_t * hash_state_copy(hash_state_t *src_state) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jenkins_hash_vector_
      Src: /src/glib/girepository/cmph/hash.c:45,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/hash.c:48,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 4
    argNames:
    - state
    - key
    - keylen
    - hashes
    argTypes:
    - hash_state_t*
    - char*
    - cmph_uint32
    - cmph_uint32*
    constantsTouched: []
    func_position:
      end: 50
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 50
    functionName: hash_vector
    functionSourceFile: /src/glib/girepository/cmph/hash.c
    functionUses: []
    functionsReached:
    - jenkins_hash_vector_
    - assert
    linkageType: ''
    returnType: void
    signature: 'void hash_vector(hash_state_t *state, const char *key, cmph_uint32
      keylen, cmph_uint32 * hashes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jenkins_state_destroy
      Src: /src/glib/girepository/cmph/hash.c:120,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/hash.c:123,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - hash_state_t*
    constantsTouched: []
    func_position:
      end: 126
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 126
    functionName: hash_state_destroy
    functionSourceFile: /src/glib/girepository/cmph/hash.c
    functionUses: []
    functionsReached:
    - jenkins_state_destroy
    - assert
    linkageType: ''
    returnType: void
    signature: 'void hash_state_destroy(hash_state_t *state) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jenkins_state_pack
      Src: /src/glib/girepository/cmph/hash.c:142,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/hash.c:145,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - state
    - hash_packed
    argTypes:
    - hash_state_t*
    - void*
    constantsTouched: []
    func_position:
      end: 148
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 148
    functionName: hash_state_pack
    functionSourceFile: /src/glib/girepository/cmph/hash.c
    functionUses: []
    functionsReached:
    - jenkins_state_pack
    - assert
    linkageType: ''
    returnType: void
    signature: 'void hash_state_pack(hash_state_t *state, void *hash_packed) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jenkins_hash_vector_packed
      Src: /src/glib/girepository/cmph/hash.c:200,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/hash.c:203,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 5
    argNames:
    - hash_packed
    - hashfunc
    - k
    - keylen
    - hashes
    argTypes:
    - void*
    - CMPH_HASH
    - char*
    - cmph_uint32
    - cmph_uint32*
    constantsTouched: []
    func_position:
      end: 205
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 205
    functionName: hash_vector_packed
    functionSourceFile: /src/glib/girepository/cmph/hash.c
    functionUses: []
    functionsReached:
    - jenkins_hash_vector_packed
    - assert
    linkageType: ''
    returnType: void
    signature: 'void hash_vector_packed(void *hash_packed, CMPH_HASH hashfunc, const
      char *k, cmph_uint32 keylen, cmph_uint32 * hashes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - hash_state_t*
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 215
    functionName: hash_get_type
    functionSourceFile: /src/glib/girepository/cmph/hash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CMPH_HASH
    signature: 'CMPH_HASH hash_get_type(hash_state_t *state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - q
    argTypes:
    - vqueue_t*
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: vqueue_is_empty
    functionSourceFile: /src/glib/girepository/cmph/vqueue.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cmph_uint8
    signature: 'cmph_uint8 vqueue_is_empty(vqueue_t * q) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/glib/girepository/cmph/vqueue.c:35,1
    - Dst: vqueue_is_empty
      Src: /src/glib/girepository/cmph/vqueue.c:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - q
    argTypes:
    - vqueue_t*
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: vqueue_remove
    functionSourceFile: /src/glib/girepository/cmph/vqueue.c
    functionUses: []
    functionsReached:
    - vqueue_is_empty
    - assert
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 vqueue_remove(vqueue_t * q) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/girepository/cmph/vqueue.c:13,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/vqueue.c:15,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/vqueue.c:14,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 19
    functionName: vqueue_new
    functionSourceFile: /src/glib/girepository/cmph/vqueue.c
    functionUses: []
    functionsReached:
    - malloc
    - calloc
    - assert
    linkageType: ''
    returnType: vqueue_t*
    signature: 'vqueue_t * vqueue_new(cmph_uint32 capacity) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/glib/girepository/cmph/vqueue.c:28,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - q
    - val
    argTypes:
    - vqueue_t*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: vqueue_insert
    functionSourceFile: /src/glib/girepository/cmph/vqueue.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: 'void vqueue_insert(vqueue_t * q, cmph_uint32 val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/vqueue.c:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - q
    argTypes:
    - vqueue_t*
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: vqueue_print
    functionSourceFile: /src/glib/girepository/cmph/vqueue.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'void vqueue_print(vqueue_t * q) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/glib/girepository/cmph/vqueue.c:49,1
    - Dst: free
      Src: /src/glib/girepository/cmph/vqueue.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - q
    argTypes:
    - vqueue_t*
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: vqueue_destroy
    functionSourceFile: /src/glib/girepository/cmph/vqueue.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void vqueue_destroy(vqueue_t *q) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/glib/girepository/cmph/cmph_time.h:21,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - elapsed_time
    argTypes:
    - double*
    constantsTouched: []
    func_position:
      end: 25
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 25
    functionName: elapsed_time_in_seconds
    functionSourceFile: /src/glib/girepository/cmph/cmph_time.h
    functionUses: []
    functionsReached:
    - gettimeofday
    linkageType: ''
    returnType: void
    signature: 'static inline void elapsed_time_in_seconds(double * elapsed_time) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/glib/girepository/cmph/cmph_time.h:33,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - elapsed_time
    argTypes:
    - cmph_uint64*
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: elapsed_time_in_useconds
    functionSourceFile: /src/glib/girepository/cmph/cmph_time.h
    functionUses: []
    functionsReached:
    - gettimeofday
    linkageType: ''
    returnType: void
    signature: 'static inline void elapsed_time_in_useconds(cmph_uint64 * elapsed_time) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - elapsed_time
    argTypes:
    - double*
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: dummy_elapsed_time_in_seconds
    functionSourceFile: /src/glib/girepository/cmph/cmph_time.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void dummy_elapsed_time_in_seconds(double * elapsed_time) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - elapsed_time
    argTypes:
    - cmph_uint64*
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: dummy_elapsed_time_in_useconds
    functionSourceFile: /src/glib/girepository/cmph/cmph_time.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void dummy_elapsed_time_in_useconds(cmph_uint64 * elapsed_time) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - a
    - d
    - n
    argTypes:
    - cmph_uint64
    - cmph_uint64
    - cmph_uint64
    constantsTouched: []
    func_position:
      end: 14
      start: 2
    functionDepth: 0
    functionLinenumber: 2
    functionLinenumberEnd: 14
    functionName: int_pow
    functionSourceFile: /src/glib/girepository/cmph/miller_rabin.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cmph_uint64
    signature: 'static inline cmph_uint64 int_pow(cmph_uint64 a, cmph_uint64 d, cmph_uint64
      n) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: int_pow
      Src: /src/glib/girepository/cmph/miller_rabin.c:52,1
    - Dst: check_witness
      Src: /src/glib/girepository/cmph/miller_rabin.c:53,1
    - Dst: check_witness
      Src: /src/glib/girepository/cmph/miller_rabin.c:57,1
    - Dst: int_pow
      Src: /src/glib/girepository/cmph/miller_rabin.c:56,1
    - Dst: int_pow
      Src: /src/glib/girepository/cmph/miller_rabin.c:60,1
    - Dst: check_witness
      Src: /src/glib/girepository/cmph/miller_rabin.c:61,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - n
    argTypes:
    - cmph_uint64
    constantsTouched: []
    func_position:
      end: 64
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 64
    functionName: check_primality
    functionSourceFile: /src/glib/girepository/cmph/miller_rabin.c
    functionUses: []
    functionsReached:
    - check_witness
    - int_pow
    linkageType: ''
    returnType: cmph_uint8
    signature: 'cmph_uint8 check_primality(cmph_uint64 n) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - a_exp_d
    - n
    - s
    argTypes:
    - cmph_uint64
    - cmph_uint64
    - cmph_uint64
    constantsTouched: []
    func_position:
      end: 29
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 29
    functionName: check_witness
    functionSourceFile: /src/glib/girepository/cmph/miller_rabin.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cmph_uint8
    signature: 'static inline cmph_uint8 check_witness(cmph_uint64 a_exp_d, cmph_uint64
      n, cmph_uint64 s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bdz_gen_lookup_table.c:5,1
    - Dst: exit
      Src: /src/glib/girepository/cmph/bdz_gen_lookup_table.c:6,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - prname
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 7
      start: 3
    functionDepth: 0
    functionLinenumber: 3
    functionLinenumberEnd: 7
    functionName: help
    functionSourceFile: /src/glib/girepository/cmph/bdz_gen_lookup_table.c
    functionUses: []
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: 'void help(char * prname) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: help
      Src: /src/glib/girepository/cmph/bdz_gen_lookup_table.c:11,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bdz_gen_lookup_table.c:28,1
    - Dst: atoi
      Src: /src/glib/girepository/cmph/bdz_gen_lookup_table.c:12,1
    - Dst: atoi
      Src: /src/glib/girepository/cmph/bdz_gen_lookup_table.c:13,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bdz_gen_lookup_table.c:29,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bdz_gen_lookup_table.c:31,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 32
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 32
    functionName: main
    functionSourceFile: /src/glib/girepository/cmph/bdz_gen_lookup_table.c
    functionUses: []
    functionsReached:
    - help
    - atoi
    - fprintf
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char ** argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/girepository/cmph/buffer_manage.c:17,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/buffer_manage.c:18,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/buffer_manage.c:21,1
    - Dst: buffer_entry_new
      Src: /src/glib/girepository/cmph/buffer_manage.c:27,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/buffer_manage.c:20,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 30
    functionName: buffer_manage_new
    functionSourceFile: /src/glib/girepository/cmph/buffer_manage.c
    functionUses: []
    functionsReached:
    - buffer_entry_new
    - malloc
    - calloc
    - assert
    linkageType: ''
    returnType: buffer_manage_t*
    signature: 'buffer_manage_t * buffer_manage_new(cmph_uint32 memory_avail, cmph_uint32
      nentries) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: buffer_entry_get_capacity
      Src: /src/glib/girepository/cmph/buffer_manage.c:42,1
    - Dst: buffer_entry_set_capacity
      Src: /src/glib/girepository/cmph/buffer_manage.c:43,1
    - Dst: buffer_entry_get_capacity
      Src: /src/glib/girepository/cmph/buffer_manage.c:49,1
    - Dst: buffer_entry_read_key
      Src: /src/glib/girepository/cmph/buffer_manage.c:46,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 53
    functionName: buffer_manage_read_key
    functionSourceFile: /src/glib/girepository/cmph/buffer_manage.c
    functionUses: []
    functionsReached:
    - buffer_entry_set_capacity
    - buffer_entry_get_capacity
    - buffer_entry_read_key
    linkageType: ''
    returnType: cmph_uint8*
    signature: 'cmph_uint8 * buffer_manage_read_key(buffer_manage_t * buffer_manage,
      cmph_uint32 index) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buffer_entry_destroy
      Src: /src/glib/girepository/cmph/buffer_manage.c:60,1
    - Dst: free
      Src: /src/glib/girepository/cmph/buffer_manage.c:63,1
    - Dst: free
      Src: /src/glib/girepository/cmph/buffer_manage.c:62,1
    - Dst: free
      Src: /src/glib/girepository/cmph/buffer_manage.c:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - buffer_manage
    argTypes:
    - buffer_manage_t*
    constantsTouched: []
    func_position:
      end: 65
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 65
    functionName: buffer_manage_destroy
    functionSourceFile: /src/glib/girepository/cmph/buffer_manage.c
    functionUses: []
    functionsReached:
    - free
    - buffer_entry_destroy
    linkageType: ''
    returnType: void
    signature: 'void buffer_manage_destroy(buffer_manage_t * buffer_manage) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buffer_entry_open
      Src: /src/glib/girepository/cmph/buffer_manage.c:34,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - buffer_manage
    - index
    - filename
    argTypes:
    - buffer_manage_t*
    - cmph_uint32
    - char*
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: buffer_manage_open
    functionSourceFile: /src/glib/girepository/cmph/buffer_manage.c
    functionUses: []
    functionsReached:
    - buffer_entry_open
    linkageType: ''
    returnType: void
    signature: 'void buffer_manage_open(buffer_manage_t * buffer_manage, cmph_uint32
      index, char * filename) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - state
    - buf
    - buflen
    argTypes:
    - sdbm_state_t*
    - char**
    - cmph_uint32*
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: sdbm_state_dump
    functionSourceFile: /src/glib/girepository/cmph/sdbm_hash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void sdbm_state_dump(sdbm_state_t *state, char **buf, cmph_uint32
      *buflen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/glib/girepository/cmph/sdbm_hash.c:12,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - sdbm_state_t*
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: sdbm_state_destroy
    functionSourceFile: /src/glib/girepository/cmph/sdbm_hash.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void sdbm_state_destroy(sdbm_state_t *state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/girepository/cmph/sdbm_hash.c:5,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8
      start: 3
    functionDepth: 0
    functionLinenumber: 3
    functionLinenumberEnd: 8
    functionName: sdbm_state_new
    functionSourceFile: /src/glib/girepository/cmph/sdbm_hash.c
    functionUses: []
    functionsReached:
    - malloc
    linkageType: ''
    returnType: sdbm_state_t*
    signature: 'sdbm_state_t *sdbm_state_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - state
    - k
    - keylen
    argTypes:
    - sdbm_state_t*
    - char*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 26
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 26
    functionName: sdbm_hash
    functionSourceFile: /src/glib/girepository/cmph/sdbm_hash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 sdbm_hash(sdbm_state_t *state, const char *k, cmph_uint32
      keylen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/girepository/cmph/sdbm_hash.c:38,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: sdbm_state_copy
    functionSourceFile: /src/glib/girepository/cmph/sdbm_hash.c
    functionUses: []
    functionsReached:
    - malloc
    linkageType: ''
    returnType: sdbm_state_t*
    signature: 'sdbm_state_t *sdbm_state_copy(sdbm_state_t *src_state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/girepository/cmph/sdbm_hash.c:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: sdbm_state_load
    functionSourceFile: /src/glib/girepository/cmph/sdbm_hash.c
    functionUses: []
    functionsReached:
    - malloc
    linkageType: ''
    returnType: sdbm_state_t*
    signature: 'sdbm_state_t *sdbm_state_load(const char *buf, cmph_uint32 buflen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - state
    - buf
    - buflen
    argTypes:
    - djb2_state_t*
    - char**
    - cmph_uint32*
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: djb2_state_dump
    functionSourceFile: /src/glib/girepository/cmph/djb2_hash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void djb2_state_dump(djb2_state_t *state, char **buf, cmph_uint32
      *buflen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/glib/girepository/cmph/djb2_hash.c:12,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - djb2_state_t*
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: djb2_state_destroy
    functionSourceFile: /src/glib/girepository/cmph/djb2_hash.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void djb2_state_destroy(djb2_state_t *state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/girepository/cmph/djb2_hash.c:5,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8
      start: 3
    functionDepth: 0
    functionLinenumber: 3
    functionLinenumberEnd: 8
    functionName: djb2_state_new
    functionSourceFile: /src/glib/girepository/cmph/djb2_hash.c
    functionUses: []
    functionsReached:
    - malloc
    linkageType: ''
    returnType: djb2_state_t*
    signature: 'djb2_state_t *djb2_state_new() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/girepository/cmph/djb2_hash.c:38,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: djb2_state_copy
    functionSourceFile: /src/glib/girepository/cmph/djb2_hash.c
    functionUses: []
    functionsReached:
    - malloc
    linkageType: ''
    returnType: djb2_state_t*
    signature: 'djb2_state_t *djb2_state_copy(djb2_state_t *src_state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - state
    - k
    - keylen
    argTypes:
    - djb2_state_t*
    - char*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 26
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 26
    functionName: djb2_hash
    functionSourceFile: /src/glib/girepository/cmph/djb2_hash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 djb2_hash(djb2_state_t *state, const char *k, cmph_uint32
      keylen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/girepository/cmph/djb2_hash.c:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: djb2_state_load
    functionSourceFile: /src/glib/girepository/cmph/djb2_hash.c
    functionUses: []
    functionsReached:
    - malloc
    linkageType: ''
    returnType: djb2_state_t*
    signature: 'djb2_state_t *djb2_state_load(const char *buf, cmph_uint32 buflen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/girepository/cmph/cmph_structs.c:10,1
    - Dst: memset
      Src: /src/glib/girepository/cmph/cmph_structs.c:11,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 18
    functionName: __config_new
    functionSourceFile: /src/glib/girepository/cmph/cmph_structs.c
    functionUses: []
    functionsReached:
    - malloc
    - memset
    linkageType: ''
    returnType: cmph_config_t*
    signature: 'cmph_config_t *__config_new(cmph_io_adapter_t *key_source) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/cmph_structs.c:43,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/cmph_structs.c:60,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/cmph_structs.c:46,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/cmph_structs.c:63,1
    - Dst: strcmp
      Src: /src/glib/girepository/cmph/cmph_structs.c:53,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/cmph_structs.c:65,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/cmph_structs.c:67,1
    - Dst: ferror
      Src: /src/glib/girepository/cmph/cmph_structs.c:68,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/cmph_structs.c:69,1
    - Dst: strerror
      Src: /src/glib/girepository/cmph/cmph_structs.c:69,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 73
    functionName: __cmph_load
    functionSourceFile: /src/glib/girepository/cmph/cmph_structs.c
    functionUses: []
    functionsReached:
    - malloc
    - ferror
    - DEBUGP
    - fprintf
    - strerror
    - strcmp
    - fread
    linkageType: ''
    returnType: cmph_t*
    signature: 'cmph_t *__cmph_load(FILE *f) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/glib/girepository/cmph/cmph_structs.c:22,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - mph
    argTypes:
    - cmph_config_t*
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: __config_destroy
    functionSourceFile: /src/glib/girepository/cmph/cmph_structs.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void __config_destroy(cmph_config_t *mph) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/cmph_structs.c:28,1
    - Dst: strlen
      Src: /src/glib/girepository/cmph/cmph_structs.c:28,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/cmph_structs.c:29,1
    - Dst: ferror
      Src: /src/glib/girepository/cmph/cmph_structs.c:30,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/cmph_structs.c:31,1
    - Dst: strerror
      Src: /src/glib/girepository/cmph/cmph_structs.c:31,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - mphf
    - fd
    argTypes:
    - cmph_t*
    - FILE*
    constantsTouched: []
    func_position:
      end: 33
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 33
    functionName: __cmph_dump
    functionSourceFile: /src/glib/girepository/cmph/cmph_structs.c
    functionUses: []
    functionsReached:
    - ferror
    - fprintf
    - strlen
    - fwrite
    - strerror
    linkageType: ''
    returnType: void
    signature: 'void __cmph_dump(cmph_t *mphf, FILE *fd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/girepository/cmph/graph.c:37,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/graph.c:41,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/graph.c:40,1
    - Dst: graph_clear_edges
      Src: /src/glib/girepository/cmph/graph.c:48,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/graph.c:42,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 50
    functionName: graph_new
    functionSourceFile: /src/glib/girepository/cmph/graph.c
    functionUses: []
    functionsReached:
    - malloc
    - graph_clear_edges
    linkageType: ''
    returnType: graph_t*
    signature: 'graph_t *graph_new(cmph_uint32 nnodes, cmph_uint32 nedges) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/graph.c:255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - g
    - v
    argTypes:
    - graph_t*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 256
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 256
    functionName: graph_node_is_critical
    functionSourceFile: /src/glib/girepository/cmph/graph.c
    functionUses: []
    functionsReached:
    - GETBIT
    linkageType: ''
    returnType: cmph_uint8
    signature: 'cmph_uint8 graph_node_is_critical(graph_t * g, cmph_uint32 v) /* included
      -- Fabiano */ '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_edge
      Src: /src/glib/girepository/cmph/graph.c:300,1
    - Dst: check_edge
      Src: /src/glib/girepository/cmph/graph.c:306,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - g
    - v1
    - v2
    argTypes:
    - graph_t*
    - cmph_uint32
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 308
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 308
    functionName: graph_contains_edge
    functionSourceFile: /src/glib/girepository/cmph/graph.c
    functionUses: []
    functionsReached:
    - check_edge
    linkageType: ''
    returnType: cmph_uint8
    signature: 'cmph_uint8 graph_contains_edge(graph_t *g, cmph_uint32 v1, cmph_uint32
      v2) /* included -- Fabiano*/ '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/graph.c:55,1
    - Dst: free
      Src: /src/glib/girepository/cmph/graph.c:56,1
    - Dst: free
      Src: /src/glib/girepository/cmph/graph.c:59,1
    - Dst: free
      Src: /src/glib/girepository/cmph/graph.c:58,1
    - Dst: free
      Src: /src/glib/girepository/cmph/graph.c:57,1
    - Dst: free
      Src: /src/glib/girepository/cmph/graph.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - graph
    argTypes:
    - graph_t*
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: graph_destroy
    functionSourceFile: /src/glib/girepository/cmph/graph.c
    functionUses: []
    functionsReached:
    - free
    - DEBUGP
    linkageType: ''
    returnType: void
    signature: 'void graph_destroy(graph_t *graph) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/girepository/cmph/graph.c:262,1
    - Dst: free
      Src: /src/glib/girepository/cmph/graph.c:265,1
    - Dst: memset
      Src: /src/glib/girepository/cmph/graph.c:268,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/graph.c:266,1
    - Dst: memset
      Src: /src/glib/girepository/cmph/graph.c:264,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/graph.c:269,1
    - Dst: cyclic_del_edge
      Src: /src/glib/girepository/cmph/graph.c:272,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/graph.c:277,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/graph.c:279,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/graph.c:280,1
    - Dst: free
      Src: /src/glib/girepository/cmph/graph.c:292,1
    - Dst: SETBIT
      Src: /src/glib/girepository/cmph/graph.c:283,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/graph.c:285,1
    - Dst: SETBIT
      Src: /src/glib/girepository/cmph/graph.c:288,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 1
    argNames:
    - g
    argTypes:
    - graph_t*
    constantsTouched: []
    func_position:
      end: 293
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 293
    functionName: graph_obtain_critical_nodes
    functionSourceFile: /src/glib/girepository/cmph/graph.c
    functionUses: []
    functionsReached:
    - malloc
    - GETBIT
    - DEBUGP
    - cyclic_del_edge
    - free
    - SETBIT
    - memset
    linkageType: ''
    returnType: void
    signature: 'void graph_obtain_critical_nodes(graph_t *g) /* included -- Fabiano*/ '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - g
    - e
    - id
    argTypes:
    - graph_t*
    - cmph_uint32
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: graph_vertex_id
    functionSourceFile: /src/glib/girepository/cmph/graph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 graph_vertex_id(graph_t *g, cmph_uint32 e, cmph_uint32
      id) /* included -- Fabiano*/ '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - g
    - it
    argTypes:
    - graph_t*
    - graph_iterator_t*
    constantsTouched: []
    func_position:
      end: 335
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 335
    functionName: graph_next_neighbor
    functionSourceFile: /src/glib/girepository/cmph/graph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 graph_next_neighbor(graph_t *g, graph_iterator_t* it) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/graph.c:69,1
    - Dst: abs_edge
      Src: /src/glib/girepository/cmph/graph.c:73,1
    - Dst: printf
      Src: /src/glib/girepository/cmph/graph.c:73,1
    - Dst: printf
      Src: /src/glib/girepository/cmph/graph.c:76,1
    - Dst: abs_edge
      Src: /src/glib/girepository/cmph/graph.c:73,1
    - Dst: abs_edge
      Src: /src/glib/girepository/cmph/graph.c:76,1
    - Dst: abs_edge
      Src: /src/glib/girepository/cmph/graph.c:76,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - g
    argTypes:
    - graph_t*
    constantsTouched: []
    func_position:
      end: 82
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 82
    functionName: graph_print
    functionSourceFile: /src/glib/girepository/cmph/graph.c
    functionUses: []
    functionsReached:
    - printf
    - abs_edge
    - DEBUGP
    linkageType: ''
    returnType: void
    signature: 'void graph_print(graph_t *g) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/graph.c:130,1
    - Dst: check_edge
      Src: /src/glib/girepository/cmph/graph.c:132,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/graph.c:139,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/graph.c:144,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/graph.c:136,1
    - Dst: check_edge
      Src: /src/glib/girepository/cmph/graph.c:146,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/graph.c:150,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - g
    - v1
    - v2
    argTypes:
    - graph_t*
    - cmph_uint32
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 151
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 151
    functionName: del_edge_point
    functionSourceFile: /src/glib/girepository/cmph/graph.c
    functionUses: []
    functionsReached:
    - check_edge
    - DEBUGP
    - assert
    linkageType: ''
    returnType: void
    signature: 'static void del_edge_point(graph_t *g, cmph_uint32 v1, cmph_uint32
      v2) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find_degree1_edge
      Src: /src/glib/girepository/cmph/graph.c:206,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/graph.c:210,1
    - Dst: SETBIT
      Src: /src/glib/girepository/cmph/graph.c:211,1
    - Dst: abs_edge
      Src: /src/glib/girepository/cmph/graph.c:210,1
    - Dst: abs_edge
      Src: /src/glib/girepository/cmph/graph.c:210,1
    - Dst: abs_edge
      Src: /src/glib/girepository/cmph/graph.c:211,1
    - Dst: abs_edge
      Src: /src/glib/girepository/cmph/graph.c:213,1
    - Dst: abs_edge
      Src: /src/glib/girepository/cmph/graph.c:214,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/graph.c:216,1
    - Dst: find_degree1_edge
      Src: /src/glib/girepository/cmph/graph.c:217,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/graph.c:220,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - g
    - v
    - deleted
    argTypes:
    - graph_t*
    - cmph_uint32
    - cmph_uint8*
    constantsTouched: []
    func_position:
      end: 225
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 225
    functionName: cyclic_del_edge
    functionSourceFile: /src/glib/girepository/cmph/graph.c
    functionUses: []
    functionsReached:
    - abs_edge
    - SETBIT
    - DEBUGP
    - find_degree1_edge
    linkageType: ''
    returnType: void
    signature: 'static void cyclic_del_edge(graph_t *g, cmph_uint32 v, cmph_uint8
      *deleted) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/glib/girepository/cmph/graph.c:88,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/graph.c:91,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/graph.c:90,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/graph.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - g
    - v1
    - v2
    argTypes:
    - graph_t*
    - cmph_uint32
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 102
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 102
    functionName: graph_add_edge
    functionSourceFile: /src/glib/girepository/cmph/graph.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: 'void graph_add_edge(graph_t *g, cmph_uint32 v1, cmph_uint32 v2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: del_edge_point
      Src: /src/glib/girepository/cmph/graph.c:157,1
    - Dst: del_edge_point
      Src: /src/glib/girepository/cmph/graph.c:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - g
    - v1
    - v2
    argTypes:
    - graph_t*
    - cmph_uint32
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 159
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 159
    functionName: graph_del_edge
    functionSourceFile: /src/glib/girepository/cmph/graph.c
    functionUses: []
    functionsReached:
    - del_edge_point
    linkageType: ''
    returnType: void
    signature: 'void graph_del_edge(graph_t *g, cmph_uint32 v1, cmph_uint32 v2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/girepository/cmph/graph.c:231,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/graph.c:235,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/graph.c:242,1
    - Dst: cyclic_del_edge
      Src: /src/glib/girepository/cmph/graph.c:238,1
    - Dst: memset
      Src: /src/glib/girepository/cmph/graph.c:233,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/graph.c:244,1
    - Dst: free
      Src: /src/glib/girepository/cmph/graph.c:245,1
    - Dst: free
      Src: /src/glib/girepository/cmph/graph.c:249,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - g
    argTypes:
    - graph_t*
    constantsTouched: []
    func_position:
      end: 251
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 251
    functionName: graph_is_cyclic
    functionSourceFile: /src/glib/girepository/cmph/graph.c
    functionUses: []
    functionsReached:
    - malloc
    - GETBIT
    - DEBUGP
    - cyclic_del_edge
    - free
    - memset
    linkageType: ''
    returnType: int
    signature: 'int graph_is_cyclic(graph_t *g) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/graph.c:106,1
    - Dst: abs_edge
      Src: /src/glib/girepository/cmph/graph.c:107,1
    - Dst: abs_edge
      Src: /src/glib/girepository/cmph/graph.c:106,1
    - Dst: abs_edge
      Src: /src/glib/girepository/cmph/graph.c:107,1
    - Dst: abs_edge
      Src: /src/glib/girepository/cmph/graph.c:106,1
    - Dst: abs_edge
      Src: /src/glib/girepository/cmph/graph.c:108,1
    - Dst: abs_edge
      Src: /src/glib/girepository/cmph/graph.c:108,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - g
    - e
    - v1
    - v2
    argTypes:
    - graph_t*
    - cmph_uint32
    - cmph_uint32
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: check_edge
    functionSourceFile: /src/glib/girepository/cmph/graph.c
    functionUses: []
    functionsReached:
    - abs_edge
    - DEBUGP
    linkageType: ''
    returnType: int
    signature: 'static int check_edge(graph_t *g, cmph_uint32 e, cmph_uint32 v1, cmph_uint32
      v2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/glib/girepository/cmph/graph.c:116,1
    - Dst: abs_edge
      Src: /src/glib/girepository/cmph/graph.c:117,1
    - Dst: check_edge
      Src: /src/glib/girepository/cmph/graph.c:123,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/graph.c:121,1
    - Dst: check_edge
      Src: /src/glib/girepository/cmph/graph.c:117,1
    - Dst: abs_edge
      Src: /src/glib/girepository/cmph/graph.c:124,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - g
    - v1
    - v2
    argTypes:
    - graph_t*
    - cmph_uint32
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 125
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 125
    functionName: graph_edge_id
    functionSourceFile: /src/glib/girepository/cmph/graph.c
    functionUses: []
    functionsReached:
    - abs_edge
    - check_edge
    - assert
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 graph_edge_id(graph_t *g, cmph_uint32 v1, cmph_uint32
      v2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - g
    argTypes:
    - graph_t*
    constantsTouched: []
    func_position:
      end: 172
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 172
    functionName: graph_clear_edges
    functionSourceFile: /src/glib/girepository/cmph/graph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void graph_clear_edges(graph_t *g) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - g
    argTypes:
    - graph_t*
    constantsTouched: []
    func_position:
      end: 318
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 318
    functionName: graph_ncritical_nodes
    functionSourceFile: /src/glib/girepository/cmph/graph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 graph_ncritical_nodes(graph_t *g) /* included -- Fabiano*/ '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/graph.c:178,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/graph.c:189,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/graph.c:180,1
    - Dst: abs_edge
      Src: /src/glib/girepository/cmph/graph.c:189,1
    - Dst: abs_edge
      Src: /src/glib/girepository/cmph/graph.c:180,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/graph.c:191,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 4
    argNames:
    - g
    - v
    - deleted
    - e
    argTypes:
    - graph_t*
    - cmph_uint32
    - cmph_uint8*
    - cmph_uint32*
    constantsTouched: []
    func_position:
      end: 196
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 196
    functionName: find_degree1_edge
    functionSourceFile: /src/glib/girepository/cmph/graph.c
    functionUses: []
    functionsReached:
    - abs_edge
    - GETBIT
    - DEBUGP
    linkageType: ''
    returnType: cmph_uint8
    signature: 'static cmph_uint8 find_degree1_edge(graph_t *g, cmph_uint32 v, cmph_uint8
      *deleted, cmph_uint32 *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - g
    - v
    argTypes:
    - graph_t*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 326
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 326
    functionName: graph_neighbors_it
    functionSourceFile: /src/glib/girepository/cmph/graph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: graph_iterator_t
    signature: 'graph_iterator_t graph_neighbors_it(graph_t *g, cmph_uint32 v) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/chd_ph.c:93,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 5
    argNames:
    - buckets
    - map_items
    - items
    - nbuckets
    - item_idx
    argTypes:
    - chd_ph_bucket_t*
    - chd_ph_map_item_t*
    - chd_ph_item_t*
    - cmph_uint32
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 102
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 102
    functionName: chd_ph_bucket_insert
    functionSourceFile: /src/glib/girepository/cmph/chd_ph.c
    functionUses: []
    functionsReached:
    - DEBUGP
    linkageType: ''
    returnType: cmph_uint8
    signature: "static cmph_uint8 chd_ph_bucket_insert(chd_ph_bucket_t * buckets,chd_ph_map_item_t\
      \ * map_items, chd_ph_item_t * items,\t\t\t\tcmph_uint32 nbuckets,cmph_uint32\
      \ item_idx) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log
      Src: /src/glib/girepository/cmph/chd_ph.c:120,1
    - Dst: log
      Src: /src/glib/girepository/cmph/chd_ph.c:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - _n
    - _r
    argTypes:
    - cmph_uint32
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: chd_ph_space_lower_bound
    functionSourceFile: /src/glib/girepository/cmph/chd_ph.c
    functionUses: []
    functionsReached:
    - log
    linkageType: ''
    returnType: double
    signature: 'static inline double chd_ph_space_lower_bound(cmph_uint32 _n, cmph_uint32
      _r) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/glib/girepository/cmph/chd_ph.c:126,1
    - Dst: log
      Src: /src/glib/girepository/cmph/chd_ph.c:138,1
    - Dst: log
      Src: /src/glib/girepository/cmph/chd_ph.c:138,1
    - Dst: free
      Src: /src/glib/girepository/cmph/chd_ph.c:140,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - disp_table
    - n
    - max_probes
    argTypes:
    - cmph_uint32*
    - cmph_uint32
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 142
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 142
    functionName: chd_ph_get_entropy
    functionSourceFile: /src/glib/girepository/cmph/chd_ph.c
    functionUses: []
    functionsReached:
    - calloc
    - free
    - log
    linkageType: ''
    returnType: double
    signature: 'static inline double chd_ph_get_entropy(cmph_uint32 * disp_table,
      cmph_uint32 n, cmph_uint32 max_probes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/girepository/cmph/chd_ph.c:147,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/chd_ph.c:148,1
    - Dst: memset
      Src: /src/glib/girepository/cmph/chd_ph.c:149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 164
    functionName: chd_ph_config_new
    functionSourceFile: /src/glib/girepository/cmph/chd_ph.c
    functionUses: []
    functionsReached:
    - malloc
    - memset
    - assert
    linkageType: ''
    returnType: chd_ph_config_data_t*
    signature: 'chd_ph_config_data_t *chd_ph_config_new(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/chd_ph.c:507,1
    - Dst: place_bucket_probe
      Src: /src/glib/girepository/cmph/chd_ph.c:520,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 7
    argNames:
    - chd_ph
    - buckets
    - items
    - max_bucket_size
    - sorted_lists
    - max_probes
    - disp_table
    argTypes:
    - chd_ph_config_data_t*
    - chd_ph_bucket_t*
    - chd_ph_item_t*
    - cmph_uint32
    - chd_ph_sorted_list_t*
    - cmph_uint32
    - cmph_uint32*
    constantsTouched: []
    func_position:
      end: 559
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 559
    functionName: place_buckets2
    functionSourceFile: /src/glib/girepository/cmph/chd_ph.c
    functionUses: []
    functionsReached:
    - place_bucket_probe
    - DEBUGP
    linkageType: ''
    returnType: cmph_uint8
    signature: "static inline cmph_uint8 place_buckets2(chd_ph_config_data_t *chd_ph,\
      \ chd_ph_bucket_t *buckets, chd_ph_item_t * items, \t\t\t\t\tcmph_uint32 max_bucket_size,\
      \ chd_ph_sorted_list_t *sorted_lists, cmph_uint32 max_probes, \t\t\t\t\tcmph_uint32\
      \ * disp_table) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/chd_ph.c:169,1
    - Dst: free
      Src: /src/glib/girepository/cmph/chd_ph.c:175,1
    - Dst: free
      Src: /src/glib/girepository/cmph/chd_ph.c:172,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - mph
    argTypes:
    - cmph_config_t*
    constantsTouched: []
    func_position:
      end: 176
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 176
    functionName: chd_ph_config_destroy
    functionSourceFile: /src/glib/girepository/cmph/chd_ph.c
    functionUses: []
    functionsReached:
    - free
    - DEBUGP
    linkageType: ''
    returnType: void
    signature: 'void chd_ph_config_destroy(cmph_config_t *mph) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/glib/girepository/cmph/chd_ph.c:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: chd_ph_bucket_new
    functionSourceFile: /src/glib/girepository/cmph/chd_ph.c
    functionUses: []
    functionsReached:
    - calloc
    linkageType: ''
    returnType: chd_ph_bucket_t*
    signature: 'chd_ph_bucket_t * chd_ph_bucket_new(cmph_uint32 nbuckets) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/glib/girepository/cmph/chd_ph.c:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - buckets
    argTypes:
    - chd_ph_bucket_t*
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: chd_ph_bucket_destroy
    functionSourceFile: /src/glib/girepository/cmph/chd_ph.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void chd_ph_bucket_destroy(chd_ph_bucket_t * buckets) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SETBIT32
      Src: /src/glib/girepository/cmph/chd_ph.c:401,1
    - Dst: GETBIT32
      Src: /src/glib/girepository/cmph/chd_ph.c:397,1
    - Dst: UNSETBIT32
      Src: /src/glib/girepository/cmph/chd_ph.c:430,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 7
    argNames:
    - chd_ph
    - buckets
    - items
    - probe0_num
    - probe1_num
    - bucket_num
    - size
    argTypes:
    - chd_ph_config_data_t*
    - chd_ph_bucket_t*
    - chd_ph_item_t*
    - cmph_uint32
    - cmph_uint32
    - cmph_uint32
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 440
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 440
    functionName: place_bucket_probe
    functionSourceFile: /src/glib/girepository/cmph/chd_ph.c
    functionUses: []
    functionsReached:
    - SETBIT32
    - GETBIT32
    - UNSETBIT32
    linkageType: ''
    returnType: cmph_uint8
    signature: "static inline cmph_uint8 place_bucket_probe(chd_ph_config_data_t *chd_ph,\
      \ chd_ph_bucket_t *buckets,\t\t\t\t\t chd_ph_item_t *items, cmph_uint32 probe0_num,\
      \ cmph_uint32 probe1_num,\t\t\t\t\t cmph_uint32 bucket_num, cmph_uint32 size) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: place_buckets2
      Src: /src/glib/girepository/cmph/chd_ph.c:567,1
    - Dst: place_buckets1
      Src: /src/glib/girepository/cmph/chd_ph.c:571,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 7
    argNames:
    - chd_ph
    - buckets
    - items
    - max_bucket_size
    - sorted_lists
    - max_probes
    - disp_table
    argTypes:
    - chd_ph_config_data_t*
    - chd_ph_bucket_t*
    - chd_ph_item_t*
    - cmph_uint32
    - chd_ph_sorted_list_t*
    - cmph_uint32
    - cmph_uint32*
    constantsTouched: []
    func_position:
      end: 574
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 574
    functionName: chd_ph_searching
    functionSourceFile: /src/glib/girepository/cmph/chd_ph.c
    functionUses: []
    functionsReached:
    - place_buckets1
    - place_buckets2
    linkageType: ''
    returnType: cmph_uint8
    signature: "cmph_uint8 chd_ph_searching(chd_ph_config_data_t *chd_ph, chd_ph_bucket_t\
      \ *buckets, chd_ph_item_t *items ,\t\t\t cmph_uint32 max_bucket_size, chd_ph_sorted_list_t\
      \ *sorted_lists, cmph_uint32 max_probes, \t\t\t cmph_uint32 * disp_table) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/chd_ph.c:844,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/chd_ph.c:850,1
    - Dst: free
      Src: /src/glib/girepository/cmph/chd_ph.c:860,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/chd_ph.c:856,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/chd_ph.c:865,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/chd_ph.c:848,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/chd_ph.c:847,1
    - Dst: hash_state_load
      Src: /src/glib/girepository/cmph/chd_ph.c:851,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/chd_ph.c:857,1
    - Dst: ferror
      Src: /src/glib/girepository/cmph/chd_ph.c:866,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/chd_ph.c:842,1
    - Dst: free
      Src: /src/glib/girepository/cmph/chd_ph.c:852,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/chd_ph.c:854,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/chd_ph.c:855,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/chd_ph.c:864,1
    - Dst: compressed_seq_load
      Src: /src/glib/girepository/cmph/chd_ph.c:859,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/chd_ph.c:867,1
    - Dst: strerror
      Src: /src/glib/girepository/cmph/chd_ph.c:867,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/chd_ph.c:849,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/chd_ph.c:863,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/chd_ph.c:858,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 2
    argNames:
    - fd
    - mphf
    argTypes:
    - FILE*
    - cmph_t*
    constantsTouched: []
    func_position:
      end: 870
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 870
    functionName: chd_ph_load
    functionSourceFile: /src/glib/girepository/cmph/chd_ph.c
    functionUses: []
    functionsReached:
    - malloc
    - ferror
    - DEBUGP
    - fprintf
    - strerror
    - free
    - hash_state_load
    - calloc
    - compressed_seq_load
    - fread
    linkageType: ''
    returnType: void
    signature: 'void chd_ph_load(FILE *fd, cmph_t *mphf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compressed_seq_destroy
      Src: /src/glib/girepository/cmph/chd_ph.c:906,1
    - Dst: hash_state_destroy
      Src: /src/glib/girepository/cmph/chd_ph.c:908,1
    - Dst: free
      Src: /src/glib/girepository/cmph/chd_ph.c:907,1
    - Dst: free
      Src: /src/glib/girepository/cmph/chd_ph.c:909,1
    - Dst: free
      Src: /src/glib/girepository/cmph/chd_ph.c:910,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - mphf
    argTypes:
    - cmph_t*
    constantsTouched: []
    func_position:
      end: 912
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 912
    functionName: chd_ph_destroy
    functionSourceFile: /src/glib/girepository/cmph/chd_ph.c
    functionUses: []
    functionsReached:
    - free
    - hash_state_destroy
    - compressed_seq_destroy
    linkageType: ''
    returnType: void
    signature: 'void chd_ph_destroy(cmph_t *mphf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/glib/girepository/cmph/chd_ph.c:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - buckets
    - nbuckets
    argTypes:
    - chd_ph_bucket_t*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: chd_ph_bucket_clean
    functionSourceFile: /src/glib/girepository/cmph/chd_ph.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: 'void chd_ph_bucket_clean(chd_ph_bucket_t * buckets, cmph_uint32 nbuckets) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/glib/girepository/cmph/chd_ph.c:584,1
    - Dst: SETBIT32
      Src: /src/glib/girepository/cmph/chd_ph.c:616,1
    - Dst: GETBIT32
      Src: /src/glib/girepository/cmph/chd_ph.c:612,1
    - Dst: memset
      Src: /src/glib/girepository/cmph/chd_ph.c:586,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/chd_ph.c:621,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 6
    argNames:
    - chd_ph
    - buckets
    - items
    - disp_table
    - sorted_lists
    - max_bucket_size
    argTypes:
    - chd_ph_config_data_t*
    - chd_ph_bucket_t*
    - chd_ph_item_t*
    - cmph_uint32*
    - chd_ph_sorted_list_t*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 623
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 623
    functionName: chd_ph_check_bin_hashing
    functionSourceFile: /src/glib/girepository/cmph/chd_ph.c
    functionUses: []
    functionsReached:
    - SETBIT32
    - GETBIT32
    - memset
    - DEBUGP
    linkageType: ''
    returnType: cmph_uint8
    signature: 'static inline cmph_uint8 chd_ph_check_bin_hashing(chd_ph_config_data_t
      *chd_ph, chd_ph_bucket_t *buckets, chd_ph_item_t *items, cmph_uint32 * disp_table,
      chd_ph_sorted_list_t * sorted_lists,cmph_uint32 max_bucket_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __cmph_dump
      Src: /src/glib/girepository/cmph/chd_ph.c:879,1
    - Dst: hash_state_dump
      Src: /src/glib/girepository/cmph/chd_ph.c:881,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/chd_ph.c:882,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/chd_ph.c:884,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/chd_ph.c:883,1
    - Dst: free
      Src: /src/glib/girepository/cmph/chd_ph.c:885,1
    - Dst: compressed_seq_dump
      Src: /src/glib/girepository/cmph/chd_ph.c:887,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/chd_ph.c:888,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/chd_ph.c:889,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/chd_ph.c:890,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/chd_ph.c:897,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/chd_ph.c:894,1
    - Dst: free
      Src: /src/glib/girepository/cmph/chd_ph.c:891,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/chd_ph.c:895,1
    - Dst: ferror
      Src: /src/glib/girepository/cmph/chd_ph.c:896,1
    - Dst: strerror
      Src: /src/glib/girepository/cmph/chd_ph.c:897,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - mphf
    - fd
    argTypes:
    - cmph_t*
    - FILE*
    constantsTouched: []
    func_position:
      end: 901
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 901
    functionName: chd_ph_dump
    functionSourceFile: /src/glib/girepository/cmph/chd_ph.c
    functionUses: []
    functionsReached:
    - ferror
    - DEBUGP
    - fwrite
    - fprintf
    - strerror
    - hash_state_dump
    - free
    - compressed_seq_dump
    - __cmph_dump
    linkageType: ''
    returnType: int
    signature: 'int chd_ph_dump(cmph_t *mphf, FILE *fd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_vector
      Src: /src/glib/girepository/cmph/chd_ph.c:921,1
    - Dst: compressed_seq_query
      Src: /src/glib/girepository/cmph/chd_ph.c:926,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - mphf
    - key
    - keylen
    argTypes:
    - cmph_t*
    - char*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 931
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 931
    functionName: chd_ph_search
    functionSourceFile: /src/glib/girepository/cmph/chd_ph.c
    functionUses: []
    functionsReached:
    - compressed_seq_query
    - hash_vector
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 chd_ph_search(cmph_t *mphf, const char *key, cmph_uint32
      keylen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_state_packed_size
      Src: /src/glib/girepository/cmph/chd_ph.c:977,1
    - Dst: compressed_seq_query_packed
      Src: /src/glib/girepository/cmph/chd_ph.c:992,1
    - Dst: hash_vector_packed
      Src: /src/glib/girepository/cmph/chd_ph.c:986,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - packed_mphf
    - key
    - keylen
    argTypes:
    - void*
    - char*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 997
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 997
    functionName: chd_ph_search_packed
    functionSourceFile: /src/glib/girepository/cmph/chd_ph.c
    functionUses: []
    functionsReached:
    - hash_state_packed_size
    - compressed_seq_query_packed
    - hash_vector_packed
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 chd_ph_search_packed(void *packed_mphf, const char *key,
      cmph_uint32 keylen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - mph
    - hashfuncs
    argTypes:
    - cmph_config_t*
    - CMPH_HASH*
    constantsTouched: []
    func_position:
      end: 190
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 190
    functionName: chd_ph_config_set_hashfuncs
    functionSourceFile: /src/glib/girepository/cmph/chd_ph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void chd_ph_config_set_hashfuncs(cmph_config_t *mph, CMPH_HASH *hashfuncs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/glib/girepository/cmph/chd_ph.c:209,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - mph
    - keys_per_bin
    argTypes:
    - cmph_config_t*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 216
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 216
    functionName: chd_ph_config_set_keys_per_bin
    functionSourceFile: /src/glib/girepository/cmph/chd_ph.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: 'void chd_ph_config_set_keys_per_bin(cmph_config_t *mph, cmph_uint32
      keys_per_bin) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/glib/girepository/cmph/chd_ph.c:296,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/chd_ph.c:304,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/chd_ph.c:346,1
    - Dst: free
      Src: /src/glib/girepository/cmph/chd_ph.c:341,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/chd_ph.c:322,1
    - Dst: free
      Src: /src/glib/girepository/cmph/chd_ph.c:365,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 368
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 368
    functionName: chd_ph_ordering
    functionSourceFile: /src/glib/girepository/cmph/chd_ph.c
    functionUses: []
    functionsReached:
    - calloc
    - free
    - DEBUGP
    linkageType: ''
    returnType: chd_ph_sorted_list_t*
    signature: "chd_ph_sorted_list_t * chd_ph_ordering(chd_ph_bucket_t ** _buckets,\
      \ chd_ph_item_t ** _items,\tcmph_uint32 nbuckets, cmph_uint32 nitems, cmph_uint32\
      \ max_bucket_size) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: place_bucket_probe
      Src: /src/glib/girepository/cmph/chd_ph.c:453,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 7
    argNames:
    - chd_ph
    - buckets
    - items
    - max_probes
    - disp_table
    - bucket_num
    - size
    argTypes:
    - chd_ph_config_data_t*
    - chd_ph_bucket_t*
    - chd_ph_item_t*
    - cmph_uint32
    - cmph_uint32*
    - cmph_uint32
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 471
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 471
    functionName: place_bucket
    functionSourceFile: /src/glib/girepository/cmph/chd_ph.c
    functionUses: []
    functionsReached:
    - place_bucket_probe
    linkageType: ''
    returnType: cmph_uint8
    signature: 'static inline cmph_uint8 place_bucket(chd_ph_config_data_t *chd_ph,
      chd_ph_bucket_t *buckets, chd_ph_item_t * items, cmph_uint32 max_probes, cmph_uint32
      * disp_table, cmph_uint32 bucket_num, cmph_uint32 size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/glib/girepository/cmph/chd_ph.c:196,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - mph
    - keys_per_bucket
    argTypes:
    - cmph_config_t*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 203
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 203
    functionName: chd_ph_config_set_b
    functionSourceFile: /src/glib/girepository/cmph/chd_ph.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: 'void chd_ph_config_set_b(cmph_config_t *mph, cmph_uint32 keys_per_bucket) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/girepository/cmph/chd_ph.c:226,1
    - Dst: chd_ph_bucket_clean
      Src: /src/glib/girepository/cmph/chd_ph.c:235,1
    - Dst: hash_state_new
      Src: /src/glib/girepository/cmph/chd_ph.c:233,1
    - Dst: hash_state_destroy
      Src: /src/glib/girepository/cmph/chd_ph.c:232,1
    - Dst: hash_vector
      Src: /src/glib/girepository/cmph/chd_ph.c:242,1
    - Dst: chd_ph_bucket_insert
      Src: /src/glib/girepository/cmph/chd_ph.c:272,1
    - Dst: free
      Src: /src/glib/girepository/cmph/chd_ph.c:277,1
    - Dst: free
      Src: /src/glib/girepository/cmph/chd_ph.c:287,1
    - Dst: hash_state_destroy
      Src: /src/glib/girepository/cmph/chd_ph.c:288,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 4
    argNames:
    - mph
    - buckets
    - items
    - max_bucket_size
    argTypes:
    - cmph_config_t*
    - chd_ph_bucket_t*
    - chd_ph_item_t*
    - cmph_uint32*
    constantsTouched: []
    func_position:
      end: 291
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 291
    functionName: chd_ph_mapping
    functionSourceFile: /src/glib/girepository/cmph/chd_ph.c
    functionUses: []
    functionsReached:
    - malloc
    - hash_state_destroy
    - free
    - chd_ph_bucket_clean
    - hash_vector
    - hash_state_new
    - chd_ph_bucket_insert
    linkageType: ''
    returnType: cmph_uint8
    signature: 'cmph_uint8 chd_ph_mapping(cmph_config_t *mph, chd_ph_bucket_t * buckets,
      chd_ph_item_t * items, cmph_uint32 *max_bucket_size) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: ELAPSED_TIME_IN_SECONDS
      Src: /src/glib/girepository/cmph/chd_ph.c:646,1
    - Dst: chd_ph_space_lower_bound
      Src: /src/glib/girepository/cmph/chd_ph.c:683,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/chd_ph.c:693,1
    - Dst: chd_ph_mapping
      Src: /src/glib/girepository/cmph/chd_ph.c:714,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/chd_ph.c:718,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/chd_ph.c:726,1
    - Dst: chd_ph_ordering
      Src: /src/glib/girepository/cmph/chd_ph.c:733,1
    - Dst: chd_ph_searching
      Src: /src/glib/girepository/cmph/chd_ph.c:740,1
    - Dst: memset
      Src: /src/glib/girepository/cmph/chd_ph.c:745,1
    - Dst: chd_ph_check_bin_hashing
      Src: /src/glib/girepository/cmph/chd_ph.c:762,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/chd_ph.c:788,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/chd_ph.c:823,1
    - Dst: chd_ph_packed_size
      Src: /src/glib/girepository/cmph/chd_ph.c:827,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/chd_ph.c:654,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/chd_ph.c:651,1
    - Dst: check_primality
      Src: /src/glib/girepository/cmph/chd_ph.c:674,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/chd_ph.c:711,1
    - Dst: chd_ph_bucket_new
      Src: /src/glib/girepository/cmph/chd_ph.c:692,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/chd_ph.c:753,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/chd_ph.c:765,1
    - Dst: compressed_seq_init
      Src: /src/glib/girepository/cmph/chd_ph.c:782,1
    - Dst: free
      Src: /src/glib/girepository/cmph/chd_ph.c:793,1
    - Dst: chd_ph_get_entropy
      Src: /src/glib/girepository/cmph/chd_ph.c:787,1
    - Dst: free
      Src: /src/glib/girepository/cmph/chd_ph.c:794,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/chd_ph.c:829,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/chd_ph.c:666,1
    - Dst: log
      Src: /src/glib/girepository/cmph/chd_ph.c:695,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/chd_ph.c:698,1
    - Dst: log
      Src: /src/glib/girepository/cmph/chd_ph.c:695,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/chd_ph.c:702,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/chd_ph.c:737,1
    - Dst: memset
      Src: /src/glib/girepository/cmph/chd_ph.c:747,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/chd_ph.c:774,1
    - Dst: free
      Src: /src/glib/girepository/cmph/chd_ph.c:779,1
    - Dst: ELAPSED_TIME_IN_SECONDS
      Src: /src/glib/girepository/cmph/chd_ph.c:786,1
    - Dst: chd_ph_bucket_destroy
      Src: /src/glib/girepository/cmph/chd_ph.c:792,1
    - Dst: hash_state_destroy
      Src: /src/glib/girepository/cmph/chd_ph.c:800,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/chd_ph.c:808,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/chd_ph.c:680,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/chd_ph.c:688,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/chd_ph.c:700,1
    - Dst: free
      Src: /src/glib/girepository/cmph/chd_ph.c:730,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/chd_ph.c:781,1
    - Dst: compressed_seq_generate
      Src: /src/glib/girepository/cmph/chd_ph.c:783,1
    - Dst: free
      Src: /src/glib/girepository/cmph/chd_ph.c:795,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/chd_ph.c:820,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/chd_ph.c:806,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 134
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 833
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 833
    functionName: chd_ph_new
    functionSourceFile: /src/glib/girepository/cmph/chd_ph.c
    functionUses: []
    functionsReached:
    - chd_ph_searching
    - chd_ph_packed_size
    - log
    - chd_ph_get_entropy
    - ELAPSED_TIME_IN_SECONDS
    - fprintf
    - chd_ph_ordering
    - compressed_seq_init
    - DEBUGP
    - hash_state_destroy
    - chd_ph_space_lower_bound
    - chd_ph_bucket_destroy
    - compressed_seq_generate
    - chd_ph_mapping
    - malloc
    - chd_ph_check_bin_hashing
    - chd_ph_bucket_new
    - check_primality
    - free
    - calloc
    - memset
    linkageType: ''
    returnType: cmph_t*
    signature: 'cmph_t *chd_ph_new(cmph_config_t *mph, double c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: place_bucket
      Src: /src/glib/girepository/cmph/chd_ph.c:485,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 7
    argNames:
    - chd_ph
    - buckets
    - items
    - max_bucket_size
    - sorted_lists
    - max_probes
    - disp_table
    argTypes:
    - chd_ph_config_data_t*
    - chd_ph_bucket_t*
    - chd_ph_item_t*
    - cmph_uint32
    - chd_ph_sorted_list_t*
    - cmph_uint32
    - cmph_uint32*
    constantsTouched: []
    func_position:
      end: 493
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 493
    functionName: place_buckets1
    functionSourceFile: /src/glib/girepository/cmph/chd_ph.c
    functionUses: []
    functionsReached:
    - place_bucket
    linkageType: ''
    returnType: cmph_uint8
    signature: "static inline cmph_uint8 place_buckets1(chd_ph_config_data_t *chd_ph,\
      \ chd_ph_bucket_t * buckets, chd_ph_item_t *items,\t\t\t\t\tcmph_uint32 max_bucket_size,\
      \ chd_ph_sorted_list_t *sorted_lists, cmph_uint32 max_probes, \t\t\t\t\tcmph_uint32\
      \ * disp_table) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_get_type
      Src: /src/glib/girepository/cmph/chd_ph.c:939,1
    - Dst: hash_state_packed_size
      Src: /src/glib/girepository/cmph/chd_ph.c:945,1
    - Dst: compressed_seq_pack
      Src: /src/glib/girepository/cmph/chd_ph.c:956,1
    - Dst: hash_state_pack
      Src: /src/glib/girepository/cmph/chd_ph.c:944,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - mphf
    - packed_mphf
    argTypes:
    - cmph_t*
    - void*
    constantsTouched: []
    func_position:
      end: 959
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 959
    functionName: chd_ph_pack
    functionSourceFile: /src/glib/girepository/cmph/chd_ph.c
    functionUses: []
    functionsReached:
    - compressed_seq_pack
    - hash_get_type
    - hash_state_packed_size
    - hash_state_pack
    linkageType: ''
    returnType: void
    signature: 'void chd_ph_pack(cmph_t *mphf, void *packed_mphf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_get_type
      Src: /src/glib/girepository/cmph/chd_ph.c:964,1
    - Dst: compressed_seq_packed_size
      Src: /src/glib/girepository/cmph/chd_ph.c:966,1
    - Dst: hash_state_packed_size
      Src: /src/glib/girepository/cmph/chd_ph.c:965,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - mphf
    argTypes:
    - cmph_t*
    constantsTouched: []
    func_position:
      end: 970
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 970
    functionName: chd_ph_packed_size
    functionSourceFile: /src/glib/girepository/cmph/chd_ph.c
    functionUses: []
    functionsReached:
    - hash_get_type
    - compressed_seq_packed_size
    - hash_state_packed_size
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 chd_ph_packed_size(cmph_t *mphf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/girepository/cmph/buffer_manager.c:17,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/buffer_manager.c:21,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/buffer_manager.c:18,1
    - Dst: buffer_entry_new
      Src: /src/glib/girepository/cmph/buffer_manager.c:27,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/buffer_manager.c:20,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 30
    functionName: buffer_manager_new
    functionSourceFile: /src/glib/girepository/cmph/buffer_manager.c
    functionUses: []
    functionsReached:
    - buffer_entry_new
    - malloc
    - calloc
    - assert
    linkageType: ''
    returnType: buffer_manager_t*
    signature: 'buffer_manager_t * buffer_manager_new(cmph_uint32 memory_avail, cmph_uint32
      nentries) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buffer_entry_destroy
      Src: /src/glib/girepository/cmph/buffer_manager.c:58,1
    - Dst: free
      Src: /src/glib/girepository/cmph/buffer_manager.c:61,1
    - Dst: free
      Src: /src/glib/girepository/cmph/buffer_manager.c:60,1
    - Dst: free
      Src: /src/glib/girepository/cmph/buffer_manager.c:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - buffer_manager
    argTypes:
    - buffer_manager_t*
    constantsTouched: []
    func_position:
      end: 63
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 63
    functionName: buffer_manager_destroy
    functionSourceFile: /src/glib/girepository/cmph/buffer_manager.c
    functionUses: []
    functionsReached:
    - free
    - buffer_entry_destroy
    linkageType: ''
    returnType: void
    signature: 'void buffer_manager_destroy(buffer_manager_t * buffer_manager) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: buffer_entry_get_capacity
      Src: /src/glib/girepository/cmph/buffer_manager.c:42,1
    - Dst: buffer_entry_read_key
      Src: /src/glib/girepository/cmph/buffer_manager.c:45,1
    - Dst: buffer_entry_get_capacity
      Src: /src/glib/girepository/cmph/buffer_manager.c:48,1
    - Dst: buffer_entry_set_capacity
      Src: /src/glib/girepository/cmph/buffer_manager.c:43,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 51
    functionName: buffer_manager_read_key
    functionSourceFile: /src/glib/girepository/cmph/buffer_manager.c
    functionUses: []
    functionsReached:
    - buffer_entry_set_capacity
    - buffer_entry_get_capacity
    - buffer_entry_read_key
    linkageType: ''
    returnType: cmph_uint8*
    signature: 'cmph_uint8 * buffer_manager_read_key(buffer_manager_t * buffer_manager,
      cmph_uint32 index, cmph_uint32 * keylen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buffer_entry_open
      Src: /src/glib/girepository/cmph/buffer_manager.c:34,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - buffer_manager
    - index
    - filename
    argTypes:
    - buffer_manager_t*
    - cmph_uint32
    - char*
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: buffer_manager_open
    functionSourceFile: /src/glib/girepository/cmph/buffer_manager.c
    functionUses: []
    functionsReached:
    - buffer_entry_open
    linkageType: ''
    returnType: void
    signature: 'void buffer_manager_open(buffer_manager_t * buffer_manager, cmph_uint32
      index, char * filename) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 22
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 22
    functionName: compressed_seq_i_log2
    functionSourceFile: /src/glib/girepository/cmph/compressed_seq.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cmph_uint32
    signature: 'static inline cmph_uint32 compressed_seq_i_log2(cmph_uint32 x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: select_init
      Src: /src/glib/girepository/cmph/compressed_seq.c:26,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - cs
    argTypes:
    - compressed_seq_t*
    constantsTouched: []
    func_position:
      end: 32
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 32
    functionName: compressed_seq_init
    functionSourceFile: /src/glib/girepository/cmph/compressed_seq.c
    functionUses: []
    functionsReached:
    - select_init
    linkageType: ''
    returnType: void
    signature: 'void compressed_seq_init(compressed_seq_t * cs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/glib/girepository/cmph/compressed_seq.c:132,1
    - Dst: select_query
      Src: /src/glib/girepository/cmph/compressed_seq.c:139,1
    - Dst: select_next_query
      Src: /src/glib/girepository/cmph/compressed_seq.c:148,1
    - Dst: get_bits_value
      Src: /src/glib/girepository/cmph/compressed_seq.c:146,1
    - Dst: select_query
      Src: /src/glib/girepository/cmph/compressed_seq.c:143,1
    - Dst: get_bits_value
      Src: /src/glib/girepository/cmph/compressed_seq.c:152,1
    - Dst: get_bits_at_pos
      Src: /src/glib/girepository/cmph/compressed_seq.c:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 2
    argNames:
    - cs
    - idx
    argTypes:
    - compressed_seq_t*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 159
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 159
    functionName: compressed_seq_query
    functionSourceFile: /src/glib/girepository/cmph/compressed_seq.c
    functionUses: []
    functionsReached:
    - get_bits_value
    - get_bits_at_pos
    - select_query
    - assert
    - select_next_query
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 compressed_seq_query(compressed_seq_t * cs, cmph_uint32
      idx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: select_packed_size
      Src: /src/glib/girepository/cmph/compressed_seq.c:163,1
    - Dst: BITS_TABLE_SIZE
      Src: /src/glib/girepository/cmph/compressed_seq.c:164,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/compressed_seq.c:178,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/compressed_seq.c:191,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/compressed_seq.c:193,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/compressed_seq.c:197,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/compressed_seq.c:237,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/compressed_seq.c:175,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/compressed_seq.c:177,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/compressed_seq.c:206,1
    - Dst: free
      Src: /src/glib/girepository/cmph/compressed_seq.c:216,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/compressed_seq.c:204,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/compressed_seq.c:223,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/compressed_seq.c:229,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/compressed_seq.c:234,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/compressed_seq.c:176,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/compressed_seq.c:189,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/compressed_seq.c:195,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/compressed_seq.c:202,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/compressed_seq.c:187,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/compressed_seq.c:211,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/compressed_seq.c:219,1
    - Dst: select_dump
      Src: /src/glib/girepository/cmph/compressed_seq.c:201,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 65
    argCount: 3
    argNames:
    - cs
    - buf
    - buflen
    argTypes:
    - compressed_seq_t*
    - char**
    - cmph_uint32*
    constantsTouched: []
    func_position:
      end: 238
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 238
    functionName: compressed_seq_dump
    functionSourceFile: /src/glib/girepository/cmph/compressed_seq.c
    functionUses: []
    functionsReached:
    - memcpy
    - select_dump
    - DEBUGP
    - BITS_TABLE_SIZE
    - free
    - calloc
    - select_packed_size
    linkageType: ''
    returnType: void
    signature: 'void compressed_seq_dump(compressed_seq_t * cs, char ** buf, cmph_uint32
      * buflen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: compressed_seq_dump
      Src: /src/glib/girepository/cmph/compressed_seq.c:322,1
    - Dst: free
      Src: /src/glib/girepository/cmph/compressed_seq.c:324,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/compressed_seq.c:323,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - cs
    - cs_packed
    argTypes:
    - compressed_seq_t*
    - void*
    constantsTouched: []
    func_position:
      end: 327
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 327
    functionName: compressed_seq_pack
    functionSourceFile: /src/glib/girepository/cmph/compressed_seq.c
    functionUses: []
    functionsReached:
    - memcpy
    - compressed_seq_dump
    - free
    linkageType: ''
    returnType: void
    signature: 'void compressed_seq_pack(compressed_seq_t *cs, void *cs_packed) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/glib/girepository/cmph/compressed_seq.c:36,1
    - Dst: select_destroy
      Src: /src/glib/girepository/cmph/compressed_seq.c:40,1
    - Dst: free
      Src: /src/glib/girepository/cmph/compressed_seq.c:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - cs
    argTypes:
    - compressed_seq_t*
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: compressed_seq_destroy
    functionSourceFile: /src/glib/girepository/cmph/compressed_seq.c
    functionUses: []
    functionsReached:
    - free
    - select_destroy
    linkageType: ''
    returnType: void
    signature: 'void compressed_seq_destroy(compressed_seq_t * cs) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/glib/girepository/cmph/compressed_seq.c:48,1
    - Dst: free
      Src: /src/glib/girepository/cmph/compressed_seq.c:70,1
    - Dst: set_bits_at_pos
      Src: /src/glib/girepository/cmph/compressed_seq.c:80,1
    - Dst: compressed_seq_i_log2
      Src: /src/glib/girepository/cmph/compressed_seq.c:63,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/compressed_seq.c:72,1
    - Dst: compressed_seq_i_log2
      Src: /src/glib/girepository/cmph/compressed_seq.c:84,1
    - Dst: free
      Src: /src/glib/girepository/cmph/compressed_seq.c:93,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/compressed_seq.c:96,1
    - Dst: BITS_TABLE_SIZE
      Src: /src/glib/girepository/cmph/compressed_seq.c:96,1
    - Dst: set_bits_value
      Src: /src/glib/girepository/cmph/compressed_seq.c:104,1
    - Dst: free
      Src: /src/glib/girepository/cmph/compressed_seq.c:114,1
    - Dst: select_generate
      Src: /src/glib/girepository/cmph/compressed_seq.c:112,1
    - Dst: select_init
      Src: /src/glib/girepository/cmph/compressed_seq.c:108,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 59
    argCount: 3
    argNames:
    - cs
    - vals_table
    - n
    argTypes:
    - compressed_seq_t*
    - cmph_uint32*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 115
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 115
    functionName: compressed_seq_generate
    functionSourceFile: /src/glib/girepository/cmph/compressed_seq.c
    functionUses: []
    functionsReached:
    - select_init
    - set_bits_at_pos
    - free
    - BITS_TABLE_SIZE
    - set_bits_value
    - calloc
    - compressed_seq_i_log2
    - select_generate
    linkageType: ''
    returnType: void
    signature: 'void compressed_seq_generate(compressed_seq_t * cs, cmph_uint32 *
      vals_table, cmph_uint32 n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: select_get_space_usage
      Src: /src/glib/girepository/cmph/compressed_seq.c:119,1
    - Dst: BITS_TABLE_SIZE
      Src: /src/glib/girepository/cmph/compressed_seq.c:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - cs
    argTypes:
    - compressed_seq_t*
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: compressed_seq_get_space_usage
    functionSourceFile: /src/glib/girepository/cmph/compressed_seq.c
    functionUses: []
    functionsReached:
    - BITS_TABLE_SIZE
    - select_get_space_usage
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 compressed_seq_get_space_usage(compressed_seq_t * cs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/compressed_seq.c:286,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/compressed_seq.c:302,1
    - Dst: BITS_TABLE_SIZE
      Src: /src/glib/girepository/cmph/compressed_seq.c:283,1
    - Dst: free
      Src: /src/glib/girepository/cmph/compressed_seq.c:281,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/compressed_seq.c:264,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/compressed_seq.c:309,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/compressed_seq.c:251,1
    - Dst: select_load
      Src: /src/glib/girepository/cmph/compressed_seq.c:268,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/compressed_seq.c:273,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/compressed_seq.c:304,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/compressed_seq.c:284,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/compressed_seq.c:313,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/compressed_seq.c:257,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/compressed_seq.c:255,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/compressed_seq.c:253,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/compressed_seq.c:259,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/compressed_seq.c:261,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/compressed_seq.c:266,1
    - Dst: free
      Src: /src/glib/girepository/cmph/compressed_seq.c:300,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/compressed_seq.c:291,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 59
    argCount: 3
    argNames:
    - cs
    - buf
    - buflen
    argTypes:
    - compressed_seq_t*
    - char*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 314
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 314
    functionName: compressed_seq_load
    functionSourceFile: /src/glib/girepository/cmph/compressed_seq.c
    functionUses: []
    functionsReached:
    - memcpy
    - DEBUGP
    - free
    - BITS_TABLE_SIZE
    - select_load
    - calloc
    linkageType: ''
    returnType: void
    signature: 'void compressed_seq_load(compressed_seq_t * cs, const char * buf,
      cmph_uint32 buflen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: select_packed_size
      Src: /src/glib/girepository/cmph/compressed_seq.c:331,1
    - Dst: BITS_TABLE_SIZE
      Src: /src/glib/girepository/cmph/compressed_seq.c:333,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - cs
    argTypes:
    - compressed_seq_t*
    constantsTouched: []
    func_position:
      end: 335
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 335
    functionName: compressed_seq_packed_size
    functionSourceFile: /src/glib/girepository/cmph/compressed_seq.c
    functionUses: []
    functionsReached:
    - BITS_TABLE_SIZE
    - select_packed_size
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 compressed_seq_packed_size(compressed_seq_t *cs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BITS_TABLE_SIZE
      Src: /src/glib/girepository/cmph/compressed_seq.c:354,1
    - Dst: select_next_query_packed
      Src: /src/glib/girepository/cmph/compressed_seq.c:372,1
    - Dst: get_bits_value
      Src: /src/glib/girepository/cmph/compressed_seq.c:370,1
    - Dst: select_query_packed
      Src: /src/glib/girepository/cmph/compressed_seq.c:363,1
    - Dst: select_query_packed
      Src: /src/glib/girepository/cmph/compressed_seq.c:367,1
    - Dst: get_bits_value
      Src: /src/glib/girepository/cmph/compressed_seq.c:376,1
    - Dst: get_bits_at_pos
      Src: /src/glib/girepository/cmph/compressed_seq.c:381,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 2
    argNames:
    - cs_packed
    - idx
    argTypes:
    - void*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 383
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 383
    functionName: compressed_seq_query_packed
    functionSourceFile: /src/glib/girepository/cmph/compressed_seq.c
    functionUses: []
    functionsReached:
    - select_query_packed
    - get_bits_value
    - get_bits_at_pos
    - BITS_TABLE_SIZE
    - select_next_query_packed
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 compressed_seq_query_packed(void * cs_packed, cmph_uint32
      idx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/glib/girepository/cmph/fch.c:162,1
    - Dst: fch_buckets_get_nbuckets
      Src: /src/glib/girepository/cmph/fch.c:167,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/fch.c:163,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/fch.c:170,1
    - Dst: free
      Src: /src/glib/girepository/cmph/fch.c:169,1
    - Dst: permut
      Src: /src/glib/girepository/cmph/fch.c:178,1
    - Dst: hash_state_destroy
      Src: /src/glib/girepository/cmph/fch.c:184,1
    - Dst: hash_state_new
      Src: /src/glib/girepository/cmph/fch.c:185,1
    - Dst: check_for_collisions_h2
      Src: /src/glib/girepository/cmph/fch.c:186,1
    - Dst: fch_buckets_get_size
      Src: /src/glib/girepository/cmph/fch.c:198,1
    - Dst: fch_buckets_get_key
      Src: /src/glib/girepository/cmph/fch.c:206,1
    - Dst: fch_buckets_get_key
      Src: /src/glib/girepository/cmph/fch.c:216,1
    - Dst: free
      Src: /src/glib/girepository/cmph/fch.c:244,1
    - Dst: fch_buckets_get_keylength
      Src: /src/glib/girepository/cmph/fch.c:217,1
    - Dst: fch_buckets_get_keylength
      Src: /src/glib/girepository/cmph/fch.c:207,1
    - Dst: free
      Src: /src/glib/girepository/cmph/fch.c:243,1
    - Dst: hash
      Src: /src/glib/girepository/cmph/fch.c:218,1
    - Dst: hash
      Src: /src/glib/girepository/cmph/fch.c:208,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 87
    argCount: 3
    argNames:
    - fch
    - buckets
    - sorted_indexes
    argTypes:
    - fch_config_data_t*
    - fch_buckets_t*
    - cmph_uint32*
    constantsTouched: []
    func_position:
      end: 246
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 246
    functionName: searching
    functionSourceFile: /src/glib/girepository/cmph/fch.c
    functionUses: []
    functionsReached:
    - hash_state_destroy
    - free
    - check_for_collisions_h2
    - fch_buckets_get_keylength
    - fch_buckets_get_nbuckets
    - fch_buckets_get_key
    - calloc
    - hash_state_new
    - fch_buckets_get_size
    - hash
    - permut
    linkageType: ''
    returnType: cmph_uint8
    signature: 'static cmph_uint8 searching(fch_config_data_t *fch, fch_buckets_t
      *buckets, cmph_uint32 *sorted_indexes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hash_state_dump
      Src: /src/glib/girepository/cmph/fch.c:329,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/fch.c:332,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/fch.c:337,1
    - Dst: free
      Src: /src/glib/girepository/cmph/fch.c:339,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/fch.c:341,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/fch.c:346,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/fch.c:344,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/fch.c:354,1
    - Dst: free
      Src: /src/glib/girepository/cmph/fch.c:333,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/fch.c:331,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/fch.c:343,1
    - Dst: ferror
      Src: /src/glib/girepository/cmph/fch.c:347,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/fch.c:353,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/fch.c:348,1
    - Dst: strerror
      Src: /src/glib/girepository/cmph/fch.c:348,1
    - Dst: __cmph_dump
      Src: /src/glib/girepository/cmph/fch.c:327,1
    - Dst: hash_state_dump
      Src: /src/glib/girepository/cmph/fch.c:335,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/fch.c:338,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/fch.c:342,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/fch.c:345,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/fch.c:352,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 2
    argNames:
    - mphf
    - fd
    argTypes:
    - cmph_t*
    - FILE*
    constantsTouched: []
    func_position:
      end: 357
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 357
    functionName: fch_dump
    functionSourceFile: /src/glib/girepository/cmph/fch.c
    functionUses: []
    functionsReached:
    - ferror
    - fwrite
    - fprintf
    - strerror
    - hash_state_dump
    - free
    - __cmph_dump
    linkageType: ''
    returnType: int
    signature: 'int fch_dump(cmph_t *mphf, FILE *fd) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/fch.c:271,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/fch.c:277,1
    - Dst: free
      Src: /src/glib/girepository/cmph/fch.c:279,1
    - Dst: mapping
      Src: /src/glib/girepository/cmph/fch.c:274,1
    - Dst: fch_buckets_destroy
      Src: /src/glib/girepository/cmph/fch.c:273,1
    - Dst: ordering
      Src: /src/glib/girepository/cmph/fch.c:280,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/fch.c:283,1
    - Dst: searching
      Src: /src/glib/girepository/cmph/fch.c:285,1
    - Dst: fch_buckets_destroy
      Src: /src/glib/girepository/cmph/fch.c:289,1
    - Dst: free
      Src: /src/glib/girepository/cmph/fch.c:290,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/fch.c:292,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/fch.c:311,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/fch.c:294,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 314
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 314
    functionName: fch_new
    functionSourceFile: /src/glib/girepository/cmph/fch.c
    functionUses: []
    functionsReached:
    - searching
    - malloc
    - mapping
    - fprintf
    - free
    - fch_buckets_destroy
    - ordering
    linkageType: ''
    returnType: cmph_t*
    signature: 'cmph_t *fch_new(cmph_config_t *mph, double c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/girepository/cmph/fch.c:375,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/fch.c:376,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/fch.c:386,1
    - Dst: free
      Src: /src/glib/girepository/cmph/fch.c:389,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/fch.c:397,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/fch.c:402,1
    - Dst: strerror
      Src: /src/glib/girepository/cmph/fch.c:402,1
    - Dst: hash_state_load
      Src: /src/glib/girepository/cmph/fch.c:377,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/fch.c:396,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/fch.c:399,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/fch.c:364,1
    - Dst: free
      Src: /src/glib/girepository/cmph/fch.c:378,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/fch.c:387,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/fch.c:394,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/fch.c:400,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/fch.c:395,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/fch.c:393,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/fch.c:409,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/fch.c:373,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/fch.c:384,1
    - Dst: hash_state_load
      Src: /src/glib/girepository/cmph/fch.c:388,1
    - Dst: ferror
      Src: /src/glib/girepository/cmph/fch.c:401,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/fch.c:407,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/fch.c:408,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 51
    argCount: 2
    argNames:
    - f
    - mphf
    argTypes:
    - FILE*
    - cmph_t*
    constantsTouched: []
    func_position:
      end: 412
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 412
    functionName: fch_load
    functionSourceFile: /src/glib/girepository/cmph/fch.c
    functionUses: []
    functionsReached:
    - malloc
    - ferror
    - fprintf
    - strerror
    - free
    - hash_state_load
    - fread
    linkageType: ''
    returnType: void
    signature: 'void fch_load(FILE *f, cmph_t *mphf) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - b
    - p1
    - p2
    - initial_index
    argTypes:
    - cmph_uint32
    - double
    - double
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: mixh10h11h12
    functionSourceFile: /src/glib/girepository/cmph/fch.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 mixh10h11h12(cmph_uint32 b, double p1, double p2, cmph_uint32
      initial_index) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/glib/girepository/cmph/fch.c:43,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - mph
    argTypes:
    - cmph_config_t*
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: fch_config_destroy
    functionSourceFile: /src/glib/girepository/cmph/fch.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void fch_config_destroy(cmph_config_t *mph) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hash_state_destroy
      Src: /src/glib/girepository/cmph/fch.c:91,1
    - Dst: fch_calc_p2
      Src: /src/glib/girepository/cmph/fch.c:95,1
    - Dst: fch_calc_p1
      Src: /src/glib/girepository/cmph/fch.c:94,1
    - Dst: fch_calc_b
      Src: /src/glib/girepository/cmph/fch.c:93,1
    - Dst: hash_state_new
      Src: /src/glib/girepository/cmph/fch.c:92,1
    - Dst: fch_buckets_new
      Src: /src/glib/girepository/cmph/fch.c:97,1
    - Dst: hash
      Src: /src/glib/girepository/cmph/fch.c:105,1
    - Dst: mixh10h11h12
      Src: /src/glib/girepository/cmph/fch.c:106,1
    - Dst: fch_buckets_insert
      Src: /src/glib/girepository/cmph/fch.c:107,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 112
    functionName: mapping
    functionSourceFile: /src/glib/girepository/cmph/fch.c
    functionUses: []
    functionsReached:
    - hash_state_destroy
    - mixh10h11h12
    - fch_buckets_insert
    - fch_buckets_new
    - hash
    - hash_state_new
    - fch_calc_p2
    - fch_calc_b
    - fch_calc_p1
    linkageType: ''
    returnType: fch_buckets_t*
    signature: 'static fch_buckets_t * mapping(cmph_config_t *mph) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/glib/girepository/cmph/fch.c:125,1
    - Dst: fch_buckets_get_size
      Src: /src/glib/girepository/cmph/fch.c:130,1
    - Dst: memset
      Src: /src/glib/girepository/cmph/fch.c:131,1
    - Dst: fch_buckets_get_nbuckets
      Src: /src/glib/girepository/cmph/fch.c:126,1
    - Dst: fch_buckets_get_key
      Src: /src/glib/girepository/cmph/fch.c:135,1
    - Dst: fch_buckets_get_keylength
      Src: /src/glib/girepository/cmph/fch.c:136,1
    - Dst: hash
      Src: /src/glib/girepository/cmph/fch.c:137,1
    - Dst: free
      Src: /src/glib/girepository/cmph/fch.c:139,1
    - Dst: free
      Src: /src/glib/girepository/cmph/fch.c:145,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - fch
    - buckets
    - sorted_indexes
    argTypes:
    - fch_config_data_t*
    - fch_buckets_t*
    - cmph_uint32*
    constantsTouched: []
    func_position:
      end: 147
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 147
    functionName: check_for_collisions_h2
    functionSourceFile: /src/glib/girepository/cmph/fch.c
    functionUses: []
    functionsReached:
    - free
    - fch_buckets_get_keylength
    - fch_buckets_get_nbuckets
    - fch_buckets_get_key
    - calloc
    - fch_buckets_get_size
    - hash
    - memset
    linkageType: ''
    returnType: cmph_uint8
    signature: 'static cmph_uint8 check_for_collisions_h2(fch_config_data_t *fch,
      fch_buckets_t * buckets, cmph_uint32 *sorted_indexes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash
      Src: /src/glib/girepository/cmph/fch.c:417,1
    - Dst: mixh10h11h12
      Src: /src/glib/girepository/cmph/fch.c:419,1
    - Dst: hash
      Src: /src/glib/girepository/cmph/fch.c:418,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - mphf
    - key
    - keylen
    argTypes:
    - cmph_t*
    - char*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 422
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 422
    functionName: fch_search
    functionSourceFile: /src/glib/girepository/cmph/fch.c
    functionUses: []
    functionsReached:
    - mixh10h11h12
    - hash
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 fch_search(cmph_t *mphf, const char *key, cmph_uint32
      keylen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_state_packed_size
      Src: /src/glib/girepository/cmph/fch.c:517,1
    - Dst: mixh10h11h12
      Src: /src/glib/girepository/cmph/fch.c:535,1
    - Dst: hash_packed
      Src: /src/glib/girepository/cmph/fch.c:534,1
    - Dst: hash_state_packed_size
      Src: /src/glib/girepository/cmph/fch.c:521,1
    - Dst: hash_packed
      Src: /src/glib/girepository/cmph/fch.c:533,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - packed_mphf
    - key
    - keylen
    argTypes:
    - void*
    - char*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 537
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 537
    functionName: fch_search_packed
    functionSourceFile: /src/glib/girepository/cmph/fch.c
    functionUses: []
    functionsReached:
    - mixh10h11h12
    - hash_state_packed_size
    - hash_packed
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 fch_search_packed(void *packed_mphf, const char *key,
      cmph_uint32 keylen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ceil
      Src: /src/glib/girepository/cmph/fch.c:73,1
    - Dst: log
      Src: /src/glib/girepository/cmph/fch.c:73,1
    - Dst: log
      Src: /src/glib/girepository/cmph/fch.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - c
    - m
    argTypes:
    - double
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: fch_calc_b
    functionSourceFile: /src/glib/girepository/cmph/fch.c
    functionUses: []
    functionsReached:
    - log
    - ceil
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 fch_calc_b(double c, cmph_uint32 m) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - mph
    - hashfuncs
    argTypes:
    - cmph_config_t*
    - CMPH_HASH*
    constantsTouched: []
    func_position:
      end: 57
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 57
    functionName: fch_config_set_hashfuncs
    functionSourceFile: /src/glib/girepository/cmph/fch.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void fch_config_set_hashfuncs(cmph_config_t *mph, CMPH_HASH *hashfuncs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/glib/girepository/cmph/fch.c:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - vector
    - n
    argTypes:
    - cmph_uint32*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 158
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 158
    functionName: permut
    functionSourceFile: /src/glib/girepository/cmph/fch.c
    functionUses: []
    functionsReached:
    - rand
    linkageType: ''
    returnType: void
    signature: 'static void permut(cmph_uint32 * vector, cmph_uint32 n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/glib/girepository/cmph/fch.c:426,1
    - Dst: hash_state_destroy
      Src: /src/glib/girepository/cmph/fch.c:427,1
    - Dst: free
      Src: /src/glib/girepository/cmph/fch.c:430,1
    - Dst: hash_state_destroy
      Src: /src/glib/girepository/cmph/fch.c:428,1
    - Dst: free
      Src: /src/glib/girepository/cmph/fch.c:429,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - mphf
    argTypes:
    - cmph_t*
    constantsTouched: []
    func_position:
      end: 431
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 431
    functionName: fch_destroy
    functionSourceFile: /src/glib/girepository/cmph/fch.c
    functionUses: []
    functionsReached:
    - free
    - hash_state_destroy
    linkageType: ''
    returnType: void
    signature: 'void fch_destroy(cmph_t *mphf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fch_buckets_get_indexes_sorted_by_size
      Src: /src/glib/girepository/cmph/fch.c:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: ordering
    functionSourceFile: /src/glib/girepository/cmph/fch.c
    functionUses: []
    functionsReached:
    - fch_buckets_get_indexes_sorted_by_size
    linkageType: ''
    returnType: cmph_uint32*
    signature: 'static cmph_uint32 * ordering(fch_buckets_t * buckets) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ceil
      Src: /src/glib/girepository/cmph/fch.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - m
    argTypes:
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: fch_calc_p1
    functionSourceFile: /src/glib/girepository/cmph/fch.c
    functionUses: []
    functionsReached:
    - ceil
    linkageType: ''
    returnType: double
    signature: 'double fch_calc_p1(cmph_uint32 m) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_get_type
      Src: /src/glib/girepository/cmph/fch.c:490,1
    - Dst: hash_state_packed_size
      Src: /src/glib/girepository/cmph/fch.c:493,1
    - Dst: hash_get_type
      Src: /src/glib/girepository/cmph/fch.c:491,1
    - Dst: hash_state_packed_size
      Src: /src/glib/girepository/cmph/fch.c:493,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - mphf
    argTypes:
    - cmph_t*
    constantsTouched: []
    func_position:
      end: 495
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 495
    functionName: fch_packed_size
    functionSourceFile: /src/glib/girepository/cmph/fch.c
    functionUses: []
    functionsReached:
    - hash_get_type
    - hash_state_packed_size
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 fch_packed_size(cmph_t *mphf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/girepository/cmph/fch.c:26,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/fch.c:27,1
    - Dst: memset
      Src: /src/glib/girepository/cmph/fch.c:28,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 37
    functionName: fch_config_new
    functionSourceFile: /src/glib/girepository/cmph/fch.c
    functionUses: []
    functionsReached:
    - malloc
    - memset
    - assert
    linkageType: ''
    returnType: fch_config_data_t*
    signature: 'fch_config_data_t *fch_config_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ceil
      Src: /src/glib/girepository/cmph/fch.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: fch_calc_p2
    functionSourceFile: /src/glib/girepository/cmph/fch.c
    functionUses: []
    functionsReached:
    - ceil
    linkageType: ''
    returnType: double
    signature: 'double fch_calc_p2(cmph_uint32 b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_get_type
      Src: /src/glib/girepository/cmph/fch.c:444,1
    - Dst: hash_state_pack
      Src: /src/glib/girepository/cmph/fch.c:450,1
    - Dst: hash_state_pack
      Src: /src/glib/girepository/cmph/fch.c:459,1
    - Dst: hash_state_packed_size
      Src: /src/glib/girepository/cmph/fch.c:451,1
    - Dst: hash_get_type
      Src: /src/glib/girepository/cmph/fch.c:454,1
    - Dst: hash_state_packed_size
      Src: /src/glib/girepository/cmph/fch.c:460,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/fch.c:479,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - mphf
    - packed_mphf
    argTypes:
    - cmph_t*
    - void*
    constantsTouched: []
    func_position:
      end: 480
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 480
    functionName: fch_pack
    functionSourceFile: /src/glib/girepository/cmph/fch.c
    functionUses: []
    functionsReached:
    - hash_get_type
    - hash_state_packed_size
    - hash_state_pack
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void fch_pack(cmph_t *mphf, void *packed_mphf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/glib/girepository/cmph/vstack.c:27,1
    - Dst: free
      Src: /src/glib/girepository/cmph/vstack.c:29,1
    - Dst: free
      Src: /src/glib/girepository/cmph/vstack.c:28,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - stack
    argTypes:
    - vstack_t*
    constantsTouched: []
    func_position:
      end: 30
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 30
    functionName: vstack_destroy
    functionSourceFile: /src/glib/girepository/cmph/vstack.c
    functionUses: []
    functionsReached:
    - free
    - assert
    linkageType: ''
    returnType: void
    signature: 'void vstack_destroy(vstack_t *stack) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/glib/girepository/cmph/vstack.c:41,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/vstack.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - stack
    argTypes:
    - vstack_t*
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: vstack_pop
    functionSourceFile: /src/glib/girepository/cmph/vstack.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: 'void vstack_pop(vstack_t *stack) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/glib/girepository/cmph/vstack.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stack
    argTypes:
    - vstack_t*
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: vstack_empty
    functionSourceFile: /src/glib/girepository/cmph/vstack.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: 'int vstack_empty(vstack_t *stack) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/girepository/cmph/vstack.c:17,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/vstack.c:18,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 23
    functionName: vstack_new
    functionSourceFile: /src/glib/girepository/cmph/vstack.c
    functionUses: []
    functionsReached:
    - malloc
    - assert
    linkageType: ''
    returnType: vstack_t*
    signature: 'vstack_t *vstack_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/glib/girepository/cmph/vstack.c:48,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/vstack.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - stack
    argTypes:
    - vstack_t*
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: vstack_top
    functionSourceFile: /src/glib/girepository/cmph/vstack.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 vstack_top(vstack_t *stack) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/glib/girepository/cmph/vstack.c:34,1
    - Dst: vstack_reserve
      Src: /src/glib/girepository/cmph/vstack.c:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - stack
    - val
    argTypes:
    - vstack_t*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: vstack_push
    functionSourceFile: /src/glib/girepository/cmph/vstack.c
    functionUses: []
    functionsReached:
    - vstack_reserve
    - assert
    linkageType: ''
    returnType: void
    signature: 'void vstack_push(vstack_t *stack, cmph_uint32 val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - stack
    argTypes:
    - vstack_t*
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: vstack_size
    functionSourceFile: /src/glib/girepository/cmph/vstack.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 vstack_size(vstack_t *stack) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/glib/girepository/cmph/vstack.c:63,1
    - Dst: realloc
      Src: /src/glib/girepository/cmph/vstack.c:72,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/vstack.c:73,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/vstack.c:67,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/vstack.c:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - stack
    - size
    argTypes:
    - vstack_t*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 77
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 77
    functionName: vstack_reserve
    functionSourceFile: /src/glib/girepository/cmph/vstack.c
    functionUses: []
    functionsReached:
    - realloc
    - DEBUGP
    - assert
    linkageType: ''
    returnType: void
    signature: 'void vstack_reserve(vstack_t *stack, cmph_uint32 size) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: select_query
      Src: /src/glib/girepository/cmph/compressed_rank.c:94,1
    - Dst: GETBIT32
      Src: /src/glib/girepository/cmph/compressed_rank.c:100,1
    - Dst: get_bits_value
      Src: /src/glib/girepository/cmph/compressed_rank.c:104,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - cr
    - idx
    argTypes:
    - compressed_rank_t*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 113
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 113
    functionName: compressed_rank_query
    functionSourceFile: /src/glib/girepository/cmph/compressed_rank.c
    functionUses: []
    functionsReached:
    - get_bits_value
    - select_query
    - GETBIT32
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 compressed_rank_query(compressed_rank_t * cr, cmph_uint32
      idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/glib/girepository/cmph/compressed_rank.c:31,1
    - Dst: select_destroy
      Src: /src/glib/girepository/cmph/compressed_rank.c:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - cr
    argTypes:
    - compressed_rank_t*
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: compressed_rank_destroy
    functionSourceFile: /src/glib/girepository/cmph/compressed_rank.c
    functionUses: []
    functionsReached:
    - free
    - select_destroy
    linkageType: ''
    returnType: void
    signature: 'void compressed_rank_destroy(compressed_rank_t * cr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/compressed_rank.c:137,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/compressed_rank.c:172,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/compressed_rank.c:164,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/compressed_rank.c:180,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/compressed_rank.c:184,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/compressed_rank.c:166,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/compressed_rank.c:189,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/compressed_rank.c:136,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/compressed_rank.c:150,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/compressed_rank.c:152,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/compressed_rank.c:154,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/compressed_rank.c:162,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/compressed_rank.c:148,1
    - Dst: select_dump
      Src: /src/glib/girepository/cmph/compressed_rank.c:161,1
    - Dst: free
      Src: /src/glib/girepository/cmph/compressed_rank.c:177,1
    - Dst: select_packed_size
      Src: /src/glib/girepository/cmph/compressed_rank.c:125,1
    - Dst: BITS_TABLE_SIZE
      Src: /src/glib/girepository/cmph/compressed_rank.c:126,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/compressed_rank.c:139,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/compressed_rank.c:156,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/compressed_rank.c:158,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 52
    argCount: 3
    argNames:
    - cr
    - buf
    - buflen
    argTypes:
    - compressed_rank_t*
    - char**
    - cmph_uint32*
    constantsTouched: []
    func_position:
      end: 190
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 190
    functionName: compressed_rank_dump
    functionSourceFile: /src/glib/girepository/cmph/compressed_rank.c
    functionUses: []
    functionsReached:
    - memcpy
    - select_dump
    - DEBUGP
    - BITS_TABLE_SIZE
    - free
    - calloc
    - select_packed_size
    linkageType: ''
    returnType: void
    signature: 'void compressed_rank_dump(compressed_rank_t * cr, char **buf, cmph_uint32
      *buflen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: compressed_rank_dump
      Src: /src/glib/girepository/cmph/compressed_rank.c:258,1
    - Dst: free
      Src: /src/glib/girepository/cmph/compressed_rank.c:260,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/compressed_rank.c:259,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - cr
    - cr_packed
    argTypes:
    - compressed_rank_t*
    - void*
    constantsTouched: []
    func_position:
      end: 262
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 262
    functionName: compressed_rank_pack
    functionSourceFile: /src/glib/girepository/cmph/compressed_rank.c
    functionUses: []
    functionsReached:
    - memcpy
    - compressed_rank_dump
    - free
    linkageType: ''
    returnType: void
    signature: 'void compressed_rank_pack(compressed_rank_t *cr, void *cr_packed) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 18
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 18
    functionName: compressed_rank_i_log2
    functionSourceFile: /src/glib/girepository/cmph/compressed_rank.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cmph_uint32
    signature: 'static inline cmph_uint32 compressed_rank_i_log2(cmph_uint32 x) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: compressed_rank_i_log2
      Src: /src/glib/girepository/cmph/compressed_rank.c:43,1
    - Dst: set_bits_value
      Src: /src/glib/girepository/cmph/compressed_rank.c:54,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/compressed_rank.c:48,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/compressed_rank.c:49,1
    - Dst: BITS_TABLE_SIZE
      Src: /src/glib/girepository/cmph/compressed_rank.c:49,1
    - Dst: select_generate
      Src: /src/glib/girepository/cmph/compressed_rank.c:69,1
    - Dst: free
      Src: /src/glib/girepository/cmph/compressed_rank.c:71,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 3
    argNames:
    - cr
    - vals_table
    - n
    argTypes:
    - compressed_rank_t*
    - cmph_uint32*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 72
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 72
    functionName: compressed_rank_generate
    functionSourceFile: /src/glib/girepository/cmph/compressed_rank.c
    functionUses: []
    functionsReached:
    - compressed_rank_i_log2
    - BITS_TABLE_SIZE
    - free
    - set_bits_value
    - calloc
    - select_generate
    linkageType: ''
    returnType: void
    signature: 'void compressed_rank_generate(compressed_rank_t * cr, cmph_uint32
      * vals_table, cmph_uint32 n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: select_init
      Src: /src/glib/girepository/cmph/compressed_rank.c:25,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - cr
    argTypes:
    - compressed_rank_t*
    constantsTouched: []
    func_position:
      end: 27
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 27
    functionName: compressed_rank_init
    functionSourceFile: /src/glib/girepository/cmph/compressed_rank.c
    functionUses: []
    functionsReached:
    - select_init
    linkageType: ''
    returnType: void
    signature: 'void compressed_rank_init(compressed_rank_t * cr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: select_get_space_usage
      Src: /src/glib/girepository/cmph/compressed_rank.c:117,1
    - Dst: BITS_TABLE_SIZE
      Src: /src/glib/girepository/cmph/compressed_rank.c:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - cr
    argTypes:
    - compressed_rank_t*
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 121
    functionName: compressed_rank_get_space_usage
    functionSourceFile: /src/glib/girepository/cmph/compressed_rank.c
    functionUses: []
    functionsReached:
    - BITS_TABLE_SIZE
    - select_get_space_usage
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 compressed_rank_get_space_usage(compressed_rank_t * cr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/compressed_rank.c:202,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/compressed_rank.c:210,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/compressed_rank.c:204,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/compressed_rank.c:206,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/compressed_rank.c:208,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/compressed_rank.c:212,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/compressed_rank.c:215,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/compressed_rank.c:217,1
    - Dst: select_load
      Src: /src/glib/girepository/cmph/compressed_rank.c:219,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/compressed_rank.c:224,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/compressed_rank.c:237,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/compressed_rank.c:247,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/compressed_rank.c:235,1
    - Dst: free
      Src: /src/glib/girepository/cmph/compressed_rank.c:232,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/compressed_rank.c:242,1
    - Dst: BITS_TABLE_SIZE
      Src: /src/glib/girepository/cmph/compressed_rank.c:234,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 43
    argCount: 3
    argNames:
    - cr
    - buf
    - buflen
    argTypes:
    - compressed_rank_t*
    - char*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 248
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 248
    functionName: compressed_rank_load
    functionSourceFile: /src/glib/girepository/cmph/compressed_rank.c
    functionUses: []
    functionsReached:
    - memcpy
    - DEBUGP
    - free
    - BITS_TABLE_SIZE
    - select_load
    - calloc
    linkageType: ''
    returnType: void
    signature: 'void compressed_rank_load(compressed_rank_t * cr, const char *buf,
      cmph_uint32 buflen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: select_packed_size
      Src: /src/glib/girepository/cmph/compressed_rank.c:266,1
    - Dst: BITS_TABLE_SIZE
      Src: /src/glib/girepository/cmph/compressed_rank.c:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - cr
    argTypes:
    - compressed_rank_t*
    constantsTouched: []
    func_position:
      end: 269
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 269
    functionName: compressed_rank_packed_size
    functionSourceFile: /src/glib/girepository/cmph/compressed_rank.c
    functionUses: []
    functionsReached:
    - BITS_TABLE_SIZE
    - select_packed_size
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 compressed_rank_packed_size(compressed_rank_t *cr) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: select_query_packed
      Src: /src/glib/girepository/cmph/compressed_rank.c:304,1
    - Dst: GETBIT32
      Src: /src/glib/girepository/cmph/compressed_rank.c:310,1
    - Dst: get_bits_value
      Src: /src/glib/girepository/cmph/compressed_rank.c:314,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - cr_packed
    - idx
    argTypes:
    - void*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 323
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 323
    functionName: compressed_rank_query_packed
    functionSourceFile: /src/glib/girepository/cmph/compressed_rank.c
    functionUses: []
    functionsReached:
    - get_bits_value
    - select_query_packed
    - GETBIT32
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 compressed_rank_query_packed(void * cr_packed, cmph_uint32
      idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/girepository/cmph/buffer_entry.c:18,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/buffer_entry.c:19,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 27
    functionName: buffer_entry_new
    functionSourceFile: /src/glib/girepository/cmph/buffer_entry.c
    functionUses: []
    functionsReached:
    - malloc
    - assert
    linkageType: ''
    returnType: buffer_entry_t*
    signature: 'buffer_entry_t * buffer_entry_new(cmph_uint32 capacity) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - buffer_entry
    - capacity
    argTypes:
    - buffer_entry_t*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: buffer_entry_set_capacity
    functionSourceFile: /src/glib/girepository/cmph/buffer_entry.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void buffer_entry_set_capacity(buffer_entry_t * buffer_entry, cmph_uint32
      capacity) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/glib/girepository/cmph/buffer_entry.c:47,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/buffer_entry.c:49,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/buffer_entry.c:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - buffer_entry
    argTypes:
    - buffer_entry_t*
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: buffer_entry_load
    functionSourceFile: /src/glib/girepository/cmph/buffer_entry.c
    functionUses: []
    functionsReached:
    - free
    - calloc
    - fread
    linkageType: ''
    returnType: void
    signature: 'static void buffer_entry_load(buffer_entry_t * buffer_entry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/glib/girepository/cmph/buffer_entry.c:31,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - buffer_entry
    - filename
    argTypes:
    - buffer_entry_t*
    - char*
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: buffer_entry_open
    functionSourceFile: /src/glib/girepository/cmph/buffer_entry.c
    functionUses: []
    functionsReached:
    - fopen
    linkageType: ''
    returnType: void
    signature: 'void buffer_entry_open(buffer_entry_t * buffer_entry, char * filename) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - buffer_entry
    argTypes:
    - buffer_entry_t*
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: buffer_entry_get_capacity
    functionSourceFile: /src/glib/girepository/cmph/buffer_entry.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 buffer_entry_get_capacity(buffer_entry_t * buffer_entry) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/glib/girepository/cmph/buffer_entry.c:61,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/buffer_entry.c:71,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/buffer_entry.c:76,1
    - Dst: buffer_entry_load
      Src: /src/glib/girepository/cmph/buffer_entry.c:69,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/buffer_entry.c:68,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/buffer_entry.c:77,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/buffer_entry.c:82,1
    - Dst: buffer_entry_load
      Src: /src/glib/girepository/cmph/buffer_entry.c:84,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/buffer_entry.c:86,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 89
    functionName: buffer_entry_read_key
    functionSourceFile: /src/glib/girepository/cmph/buffer_entry.c
    functionUses: []
    functionsReached:
    - free
    - buffer_entry_load
    - malloc
    - memcpy
    linkageType: ''
    returnType: cmph_uint8*
    signature: 'cmph_uint8 * buffer_entry_read_key(buffer_entry_t * buffer_entry,
      cmph_uint32 * keylen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/glib/girepository/cmph/buffer_entry.c:93,1
    - Dst: free
      Src: /src/glib/girepository/cmph/buffer_entry.c:95,1
    - Dst: free
      Src: /src/glib/girepository/cmph/buffer_entry.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - buffer_entry
    argTypes:
    - buffer_entry_t*
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: buffer_entry_destroy
    functionSourceFile: /src/glib/girepository/cmph/buffer_entry.c
    functionUses: []
    functionsReached:
    - free
    - fclose
    linkageType: ''
    returnType: void
    signature: 'void buffer_entry_destroy(buffer_entry_t * buffer_entry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - cmph_uint32*
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: select_insert_0
    functionSourceFile: /src/glib/girepository/cmph/select.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void select_insert_0(cmph_uint32 * buffer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - sel
    argTypes:
    - select_t*
    constantsTouched: []
    func_position:
      end: 57
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 57
    functionName: select_get_space_usage
    functionSourceFile: /src/glib/girepository/cmph/select.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 select_get_space_usage(select_t * sel) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - sel
    argTypes:
    - select_t*
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: select_init
    functionSourceFile: /src/glib/girepository/cmph/select.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void select_init(select_t * sel) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - cmph_uint32*
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: select_insert_1
    functionSourceFile: /src/glib/girepository/cmph/select.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void select_insert_1(cmph_uint32 * buffer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _select_query
      Src: /src/glib/girepository/cmph/select.c:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - sel
    - one_idx
    argTypes:
    - select_t*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 192
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 192
    functionName: select_query
    functionSourceFile: /src/glib/girepository/cmph/select.c
    functionUses: []
    functionsReached:
    - _select_query
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 select_query(select_t * sel, cmph_uint32 one_idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - bits_table
    - vec_bit_idx
    argTypes:
    - cmph_uint8*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 214
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 214
    functionName: _select_next_query
    functionSourceFile: /src/glib/girepository/cmph/select.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cmph_uint32
    signature: 'static inline cmph_uint32 _select_next_query(cmph_uint8 * bits_table,
      cmph_uint32 vec_bit_idx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/select.c:256,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/select.c:269,1
    - Dst: free
      Src: /src/glib/girepository/cmph/select.c:267,1
    - Dst: free
      Src: /src/glib/girepository/cmph/select.c:273,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/select.c:258,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/select.c:275,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/select.c:277,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/select.c:279,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/select.c:281,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 3
    argNames:
    - sel
    - buf
    - buflen
    argTypes:
    - select_t*
    - char*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 282
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 282
    functionName: select_load
    functionSourceFile: /src/glib/girepository/cmph/select.c
    functionUses: []
    functionsReached:
    - memcpy
    - calloc
    - DEBUGP
    - free
    linkageType: ''
    returnType: void
    signature: 'void select_load(select_t * sel, const char *buf, cmph_uint32 buflen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - sel
    argTypes:
    - select_t*
    constantsTouched: []
    func_position:
      end: 313
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 313
    functionName: select_packed_size
    functionSourceFile: /src/glib/girepository/cmph/select.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 select_packed_size(select_t *sel) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/glib/girepository/cmph/select.c:61,1
    - Dst: free
      Src: /src/glib/girepository/cmph/select.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - sel
    argTypes:
    - select_t*
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: select_destroy
    functionSourceFile: /src/glib/girepository/cmph/select.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void select_destroy(select_t * sel) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - sel
    argTypes:
    - select_t*
    constantsTouched: []
    func_position:
      end: 91
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 91
    functionName: select_generate_sel_table
    functionSourceFile: /src/glib/girepository/cmph/select.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void select_generate_sel_table(select_t * sel) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/glib/girepository/cmph/select.c:111,1
    - Dst: free
      Src: /src/glib/girepository/cmph/select.c:117,1
    - Dst: select_insert_1
      Src: /src/glib/girepository/cmph/select.c:129,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/select.c:119,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/select.c:113,1
    - Dst: select_insert_0
      Src: /src/glib/girepository/cmph/select.c:147,1
    - Dst: select_generate_sel_table
      Src: /src/glib/girepository/cmph/select.c:163,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 51
    argCount: 4
    argNames:
    - sel
    - keys_vec
    - n
    - m
    argTypes:
    - select_t*
    - cmph_uint32*
    - cmph_uint32
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 164
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 164
    functionName: select_generate
    functionSourceFile: /src/glib/girepository/cmph/select.c
    functionUses: []
    functionsReached:
    - select_insert_0
    - free
    - select_insert_1
    - calloc
    - select_generate_sel_table
    linkageType: ''
    returnType: void
    signature: 'void select_generate(select_t * sel, cmph_uint32 * keys_vec, cmph_uint32
      n, cmph_uint32 m) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - bits_table
    - select_table
    - one_idx
    argTypes:
    - cmph_uint8*
    - cmph_uint32*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 187
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 187
    functionName: _select_query
    functionSourceFile: /src/glib/girepository/cmph/select.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cmph_uint32
    signature: 'static inline cmph_uint32 _select_query(cmph_uint8 * bits_table, cmph_uint32
      * select_table, cmph_uint32 one_idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _select_next_query
      Src: /src/glib/girepository/cmph/select.c:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - sel
    - vec_bit_idx
    argTypes:
    - select_t*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: select_next_query
    functionSourceFile: /src/glib/girepository/cmph/select.c
    functionUses: []
    functionsReached:
    - _select_next_query
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 select_next_query(select_t * sel, cmph_uint32 vec_bit_idx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/glib/girepository/cmph/select.c:230,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/select.c:244,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/select.c:238,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/select.c:240,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/select.c:242,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/select.c:246,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 3
    argNames:
    - sel
    - buf
    - buflen
    argTypes:
    - select_t*
    - char**
    - cmph_uint32*
    constantsTouched: []
    func_position:
      end: 247
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 247
    functionName: select_dump
    functionSourceFile: /src/glib/girepository/cmph/select.c
    functionUses: []
    functionsReached:
    - calloc
    - DEBUGP
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void select_dump(select_t *sel, char **buf, cmph_uint32 *buflen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _select_query
      Src: /src/glib/girepository/cmph/select.c:327,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - sel_packed
    - one_idx
    argTypes:
    - void*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 328
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 328
    functionName: select_query_packed
    functionSourceFile: /src/glib/girepository/cmph/select.c
    functionUses: []
    functionsReached:
    - _select_query
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 select_query_packed(void * sel_packed, cmph_uint32 one_idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _select_next_query
      Src: /src/glib/girepository/cmph/select.c:335,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - sel_packed
    - vec_bit_idx
    argTypes:
    - void*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 336
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 336
    functionName: select_next_query_packed
    functionSourceFile: /src/glib/girepository/cmph/select.c
    functionUses: []
    functionsReached:
    - _select_next_query
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 select_next_query_packed(void * sel_packed, cmph_uint32
      vec_bit_idx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: select_dump
      Src: /src/glib/girepository/cmph/select.c:296,1
    - Dst: free
      Src: /src/glib/girepository/cmph/select.c:298,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/select.c:297,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - sel
    - sel_packed
    argTypes:
    - select_t*
    - void*
    constantsTouched: []
    func_position:
      end: 300
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 300
    functionName: select_pack
    functionSourceFile: /src/glib/girepository/cmph/select.c
    functionUses: []
    functionsReached:
    - memcpy
    - select_dump
    - free
    linkageType: ''
    returnType: void
    signature: 'void select_pack(select_t *sel, void *sel_packed) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - mph
    - hashfuncs
    argTypes:
    - cmph_config_t*
    - CMPH_HASH*
    constantsTouched: []
    func_position:
      end: 262
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 262
    functionName: bdz_config_set_hashfuncs
    functionSourceFile: /src/glib/girepository/cmph/bdz.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void bdz_config_set_hashfuncs(cmph_config_t *mph, CMPH_HASH *hashfuncs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - graph3
    - v0
    - v1
    - v2
    argTypes:
    - bdz_graph3_t*
    - cmph_uint32
    - cmph_uint32
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 106
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 106
    functionName: bdz_add_edge
    functionSourceFile: /src/glib/girepository/cmph/bdz.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void bdz_add_edge(bdz_graph3_t * graph3, cmph_uint32 v0, cmph_uint32
      v1, cmph_uint32 v2) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bdz.c:287,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bdz.c:295,1
    - Dst: hash_state_new
      Src: /src/glib/girepository/cmph/bdz.c:309,1
    - Dst: hash_state_destroy
      Src: /src/glib/girepository/cmph/bdz.c:316,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bdz.c:338,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bdz.c:346,1
    - Dst: ranking
      Src: /src/glib/girepository/cmph/bdz.c:348,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/bdz.c:354,1
    - Dst: bdz_packed_size
      Src: /src/glib/girepository/cmph/bdz.c:378,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bdz.c:381,1
    - Dst: ceil
      Src: /src/glib/girepository/cmph/bdz.c:282,1
    - Dst: ceil
      Src: /src/glib/girepository/cmph/bdz.c:289,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bdz.c:308,1
    - Dst: assigning
      Src: /src/glib/girepository/cmph/bdz.c:340,1
    - Dst: ELAPSED_TIME_IN_SECONDS
      Src: /src/glib/girepository/cmph/bdz.c:350,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/bdz.c:352,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bdz.c:373,1
    - Dst: ELAPSED_TIME_IN_SECONDS
      Src: /src/glib/girepository/cmph/bdz.c:275,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bdz.c:321,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bdz.c:318,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bdz.c:303,1
    - Dst: bdz_free_queue
      Src: /src/glib/girepository/cmph/bdz.c:342,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bdz.c:370,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bdz.c:280,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bdz.c:290,1
    - Dst: bdz_alloc_graph3
      Src: /src/glib/girepository/cmph/bdz.c:293,1
    - Dst: bdz_alloc_queue
      Src: /src/glib/girepository/cmph/bdz.c:294,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bdz.c:297,1
    - Dst: bdz_free_queue
      Src: /src/glib/girepository/cmph/bdz.c:330,1
    - Dst: bdz_free_graph3
      Src: /src/glib/girepository/cmph/bdz.c:331,1
    - Dst: bdz_mapping
      Src: /src/glib/girepository/cmph/bdz.c:311,1
    - Dst: bdz_partial_free_graph3
      Src: /src/glib/girepository/cmph/bdz.c:334,1
    - Dst: bdz_free_graph3
      Src: /src/glib/girepository/cmph/bdz.c:343,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 86
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 385
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 385
    functionName: bdz_new
    functionSourceFile: /src/glib/girepository/cmph/bdz.c
    functionUses: []
    functionsReached:
    - malloc
    - ranking
    - bdz_packed_size
    - DEBUGP
    - fprintf
    - hash_state_destroy
    - bdz_free_graph3
    - bdz_alloc_graph3
    - bdz_partial_free_graph3
    - bdz_alloc_queue
    - assigning
    - hash_state_new
    - ELAPSED_TIME_IN_SECONDS
    - bdz_mapping
    - bdz_free_queue
    - ceil
    linkageType: ''
    returnType: cmph_t*
    signature: 'cmph_t *bdz_new(cmph_config_t *mph, double c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_state_packed_size
      Src: /src/glib/girepository/cmph/bdz.c:706,1
    - Dst: GETVALUE
      Src: /src/glib/girepository/cmph/bdz.c:718,1
    - Dst: hash_vector_packed
      Src: /src/glib/girepository/cmph/bdz.c:714,1
    - Dst: GETVALUE
      Src: /src/glib/girepository/cmph/bdz.c:718,1
    - Dst: GETVALUE
      Src: /src/glib/girepository/cmph/bdz.c:718,1
    - Dst: rank
      Src: /src/glib/girepository/cmph/bdz.c:719,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - packed_mphf
    - key
    - keylen
    argTypes:
    - void*
    - char*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 720
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 720
    functionName: bdz_search_packed
    functionSourceFile: /src/glib/girepository/cmph/bdz.c
    functionUses: []
    functionsReached:
    - hash_state_packed_size
    - hash_vector_packed
    - GETVALUE
    - rank
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 bdz_search_packed(void *packed_mphf, const char *key,
      cmph_uint32 keylen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/glib/girepository/cmph/bdz.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - queue
    argTypes:
    - bdz_queue_t*
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: bdz_free_queue
    functionSourceFile: /src/glib/girepository/cmph/bdz.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'static void bdz_free_queue(bdz_queue_t * queue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bdz_init_graph3
      Src: /src/glib/girepository/cmph/bdz.c:394,1
    - Dst: hash_vector
      Src: /src/glib/girepository/cmph/bdz.c:402,1
    - Dst: bdz_add_edge
      Src: /src/glib/girepository/cmph/bdz.c:407,1
    - Dst: bdz_generate_queue
      Src: /src/glib/girepository/cmph/bdz.c:409,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - mph
    - graph3
    - queue
    argTypes:
    - cmph_config_t*
    - bdz_graph3_t*
    - bdz_queue_t
    constantsTouched: []
    func_position:
      end: 411
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 411
    functionName: bdz_mapping
    functionSourceFile: /src/glib/girepository/cmph/bdz.c
    functionUses: []
    functionsReached:
    - hash_vector
    - bdz_generate_queue
    - bdz_add_edge
    - bdz_init_graph3
    linkageType: ''
    returnType: int
    signature: 'static int bdz_mapping(cmph_config_t *mph, bdz_graph3_t* graph3, bdz_queue_t
      queue) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GETVALUE
      Src: /src/glib/girepository/cmph/bdz.c:607,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 4
    argNames:
    - b
    - ranktable
    - g
    - vertex
    argTypes:
    - cmph_uint32
    - cmph_uint32*
    - cmph_uint8*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 612
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 612
    functionName: rank
    functionSourceFile: /src/glib/girepository/cmph/bdz.c
    functionUses: []
    functionsReached:
    - GETVALUE
    linkageType: ''
    returnType: cmph_uint32
    signature: 'static inline cmph_uint32 rank(cmph_uint32 b, cmph_uint32 * ranktable,
      cmph_uint8 * g, cmph_uint32 vertex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_vector
      Src: /src/glib/girepository/cmph/bdz.c:619,1
    - Dst: rank
      Src: /src/glib/girepository/cmph/bdz.c:624,1
    - Dst: GETVALUE
      Src: /src/glib/girepository/cmph/bdz.c:623,1
    - Dst: GETVALUE
      Src: /src/glib/girepository/cmph/bdz.c:623,1
    - Dst: GETVALUE
      Src: /src/glib/girepository/cmph/bdz.c:623,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - mphf
    - key
    - keylen
    argTypes:
    - cmph_t*
    - char*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 625
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 625
    functionName: bdz_search
    functionSourceFile: /src/glib/girepository/cmph/bdz.c
    functionUses: []
    functionsReached:
    - GETVALUE
    - hash_vector
    - rank
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 bdz_search(cmph_t *mphf, const char *key, cmph_uint32
      keylen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_get_type
      Src: /src/glib/girepository/cmph/bdz.c:687,1
    - Dst: ceil
      Src: /src/glib/girepository/cmph/bdz.c:689,1
    - Dst: hash_state_packed_size
      Src: /src/glib/girepository/cmph/bdz.c:689,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - mphf
    argTypes:
    - cmph_t*
    constantsTouched: []
    func_position:
      end: 690
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 690
    functionName: bdz_packed_size
    functionSourceFile: /src/glib/girepository/cmph/bdz.c
    functionUses: []
    functionsReached:
    - hash_get_type
    - ceil
    - hash_state_packed_size
    linkageType: ''
    returnType: cmph_uint32
    signature: 'cmph_uint32 bdz_packed_size(cmph_t *mphf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/glib/girepository/cmph/bdz.c:74,1
    - Dst: memset
      Src: /src/glib/girepository/cmph/bdz.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - graph3
    - nedges
    - nvertices
    argTypes:
    - bdz_graph3_t*
    - cmph_uint32
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: bdz_init_graph3
    functionSourceFile: /src/glib/girepository/cmph/bdz.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void bdz_init_graph3(bdz_graph3_t * graph3, cmph_uint32 nedges,
      cmph_uint32 nvertices) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/girepository/cmph/bdz.c:164,1
    - Dst: memset
      Src: /src/glib/girepository/cmph/bdz.c:165,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/bdz.c:174,1
    - Dst: SETBIT
      Src: /src/glib/girepository/cmph/bdz.c:176,1
    - Dst: bdz_remove_edge
      Src: /src/glib/girepository/cmph/bdz.c:182,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/bdz.c:188,1
    - Dst: SETBIT
      Src: /src/glib/girepository/cmph/bdz.c:190,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/bdz.c:196,1
    - Dst: SETBIT
      Src: /src/glib/girepository/cmph/bdz.c:198,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/bdz.c:204,1
    - Dst: free
      Src: /src/glib/girepository/cmph/bdz.c:210,1
    - Dst: SETBIT
      Src: /src/glib/girepository/cmph/bdz.c:206,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 4
    argNames:
    - nedges
    - nvertices
    - queue
    - graph3
    argTypes:
    - cmph_uint32
    - cmph_uint32
    - bdz_queue_t
    - bdz_graph3_t*
    constantsTouched: []
    func_position:
      end: 212
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 212
    functionName: bdz_generate_queue
    functionSourceFile: /src/glib/girepository/cmph/bdz.c
    functionUses: []
    functionsReached:
    - malloc
    - GETBIT
    - free
    - SETBIT
    - bdz_remove_edge
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int bdz_generate_queue(cmph_uint32 nedges, cmph_uint32 nvertices,
      bdz_queue_t queue, bdz_graph3_t* graph3) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/girepository/cmph/bdz.c:222,1
    - Dst: memset
      Src: /src/glib/girepository/cmph/bdz.c:224,1
    - Dst: assert
      Src: /src/glib/girepository/cmph/bdz.c:223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 233
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 233
    functionName: bdz_config_new
    functionSourceFile: /src/glib/girepository/cmph/bdz.c
    functionUses: []
    functionsReached:
    - malloc
    - memset
    - assert
    linkageType: ''
    returnType: bdz_config_data_t*
    signature: 'bdz_config_data_t *bdz_config_new(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bdz.c:430,1
    - Dst: GETVALUE
      Src: /src/glib/girepository/cmph/bdz.c:430,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/bdz.c:437,1
    - Dst: GETVALUE
      Src: /src/glib/girepository/cmph/bdz.c:442,1
    - Dst: SETVALUE1
      Src: /src/glib/girepository/cmph/bdz.c:439,1
    - Dst: SETVALUE1
      Src: /src/glib/girepository/cmph/bdz.c:450,1
    - Dst: SETBIT
      Src: /src/glib/girepository/cmph/bdz.c:454,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/bdz.c:419,1
    - Dst: memset
      Src: /src/glib/girepository/cmph/bdz.c:423,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/bdz.c:431,1
    - Dst: GETVALUE
      Src: /src/glib/girepository/cmph/bdz.c:442,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/bdz.c:432,1
    - Dst: SETVALUE1
      Src: /src/glib/girepository/cmph/bdz.c:434,1
    - Dst: SETBIT
      Src: /src/glib/girepository/cmph/bdz.c:443,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/bdz.c:444,1
    - Dst: GETBIT
      Src: /src/glib/girepository/cmph/bdz.c:445,1
    - Dst: SETVALUE1
      Src: /src/glib/girepository/cmph/bdz.c:447,1
    - Dst: free
      Src: /src/glib/girepository/cmph/bdz.c:458,1
    - Dst: memset
      Src: /src/glib/girepository/cmph/bdz.c:422,1
    - Dst: GETVALUE
      Src: /src/glib/girepository/cmph/bdz.c:430,1
    - Dst: SETBIT
      Src: /src/glib/girepository/cmph/bdz.c:440,1
    - Dst: SETVALUE1
      Src: /src/glib/girepository/cmph/bdz.c:442,1
    - Dst: GETVALUE
      Src: /src/glib/girepository/cmph/bdz.c:450,1
    - Dst: GETVALUE
      Src: /src/glib/girepository/cmph/bdz.c:453,1
    - Dst: GETVALUE
      Src: /src/glib/girepository/cmph/bdz.c:456,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/bdz.c:421,1
    - Dst: ceil
      Src: /src/glib/girepository/cmph/bdz.c:420,1
    - Dst: GETVALUE
      Src: /src/glib/girepository/cmph/bdz.c:430,1
    - Dst: SETBIT
      Src: /src/glib/girepository/cmph/bdz.c:435,1
    - Dst: SETBIT
      Src: /src/glib/girepository/cmph/bdz.c:448,1
    - Dst: GETVALUE
      Src: /src/glib/girepository/cmph/bdz.c:450,1
    - Dst: SETBIT
      Src: /src/glib/girepository/cmph/bdz.c:451,1
    - Dst: SETVALUE1
      Src: /src/glib/girepository/cmph/bdz.c:453,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bdz.c:456,1
    - Dst: GETVALUE
      Src: /src/glib/girepository/cmph/bdz.c:456,1
    - Dst: GETVALUE
      Src: /src/glib/girepository/cmph/bdz.c:456,1
    - Dst: GETVALUE
      Src: /src/glib/girepository/cmph/bdz.c:453,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 73
    argCount: 3
    argNames:
    - bdz
    - graph3
    - queue
    argTypes:
    - bdz_config_data_t*
    - bdz_graph3_t*
    - bdz_queue_t
    constantsTouched: []
    func_position:
      end: 459
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 459
    functionName: assigning
    functionSourceFile: /src/glib/girepository/cmph/bdz.c
    functionUses: []
    functionsReached:
    - malloc
    - SETVALUE1
    - GETBIT
    - DEBUGP
    - ceil
    - free
    - calloc
    - GETVALUE
    - SETBIT
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void assigning(bdz_config_data_t *bdz, bdz_graph3_t* graph3,
      bdz_queue_t queue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/glib/girepository/cmph/bdz.c:631,1
    - Dst: free
      Src: /src/glib/girepository/cmph/bdz.c:634,1
    - Dst: free
      Src: /src/glib/girepository/cmph/bdz.c:635,1
    - Dst: hash_state_destroy
      Src: /src/glib/girepository/cmph/bdz.c:632,1
    - Dst: free
      Src: /src/glib/girepository/cmph/bdz.c:633,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - mphf
    argTypes:
    - cmph_t*
    constantsTouched: []
    func_position:
      end: 636
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 636
    functionName: bdz_destroy
    functionSourceFile: /src/glib/girepository/cmph/bdz.c
    functionUses: []
    functionsReached:
    - free
    - hash_state_destroy
    linkageType: ''
    returnType: void
    signature: 'void bdz_destroy(cmph_t *mphf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/glib/girepository/cmph/bdz.c:543,1
    - Dst: ceil
      Src: /src/glib/girepository/cmph/bdz.c:552,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/bdz.c:561,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bdz.c:570,1
    - Dst: GETVALUE
      Src: /src/glib/girepository/cmph/bdz.c:570,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bdz.c:571,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/bdz.c:557,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/bdz.c:542,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/bdz.c:550,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/bdz.c:558,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/bdz.c:554,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bdz.c:563,1
    - Dst: strerror
      Src: /src/glib/girepository/cmph/bdz.c:563,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bdz.c:537,1
    - Dst: free
      Src: /src/glib/girepository/cmph/bdz.c:545,1
    - Dst: ferror
      Src: /src/glib/girepository/cmph/bdz.c:562,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bdz.c:569,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/bdz.c:532,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bdz.c:541,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/bdz.c:540,1
    - Dst: hash_state_load
      Src: /src/glib/girepository/cmph/bdz.c:544,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bdz.c:548,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/bdz.c:549,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/bdz.c:556,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/bdz.c:560,1
    - Dst: fread
      Src: /src/glib/girepository/cmph/bdz.c:551,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/bdz.c:553,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 53
    argCount: 2
    argNames:
    - f
    - mphf
    argTypes:
    - FILE*
    - cmph_t*
    constantsTouched: []
    func_position:
      end: 574
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 574
    functionName: bdz_load
    functionSourceFile: /src/glib/girepository/cmph/bdz.c
    functionUses: []
    functionsReached:
    - malloc
    - ferror
    - DEBUGP
    - fprintf
    - strerror
    - free
    - hash_state_load
    - calloc
    - GETVALUE
    - fread
    - ceil
    linkageType: ''
    returnType: void
    signature: 'void bdz_load(FILE *f, cmph_t *mphf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_get_type
      Src: /src/glib/girepository/cmph/bdz.c:650,1
    - Dst: hash_state_pack
      Src: /src/glib/girepository/cmph/bdz.c:655,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/bdz.c:667,1
    - Dst: hash_state_packed_size
      Src: /src/glib/girepository/cmph/bdz.c:656,1
    - Dst: ceil
      Src: /src/glib/girepository/cmph/bdz.c:674,1
    - Dst: memcpy
      Src: /src/glib/girepository/cmph/bdz.c:675,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - mphf
    - packed_mphf
    argTypes:
    - cmph_t*
    - void*
    constantsTouched: []
    func_position:
      end: 676
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 676
    functionName: bdz_pack
    functionSourceFile: /src/glib/girepository/cmph/bdz.c
    functionUses: []
    functionsReached:
    - memcpy
    - hash_get_type
    - hash_state_packed_size
    - hash_state_pack
    - ceil
    linkageType: ''
    returnType: void
    signature: 'void bdz_pack(cmph_t *mphf, void *packed_mphf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bdz.c:238,1
    - Dst: free
      Src: /src/glib/girepository/cmph/bdz.c:239,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - mph
    argTypes:
    - cmph_config_t*
    constantsTouched: []
    func_position:
      end: 240
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 240
    functionName: bdz_config_destroy
    functionSourceFile: /src/glib/girepository/cmph/bdz.c
    functionUses: []
    functionsReached:
    - free
    - DEBUGP
    linkageType: ''
    returnType: void
    signature: 'void bdz_config_destroy(cmph_config_t *mph) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/girepository/cmph/bdz.c:68,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/bdz.c:69,1
    - Dst: malloc
      Src: /src/glib/girepository/cmph/bdz.c:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - graph3
    - nedges
    - nvertices
    argTypes:
    - bdz_graph3_t*
    - cmph_uint32
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: bdz_alloc_graph3
    functionSourceFile: /src/glib/girepository/cmph/bdz.c
    functionUses: []
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: 'static void bdz_alloc_graph3(bdz_graph3_t * graph3, cmph_uint32 nedges,
      cmph_uint32 nvertices) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/glib/girepository/cmph/bdz.c:112,1
    - Dst: printf
      Src: /src/glib/girepository/cmph/bdz.c:119,1
    - Dst: printf
      Src: /src/glib/girepository/cmph/bdz.c:114,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - graph3
    - nedges
    - nvertices
    argTypes:
    - bdz_graph3_t*
    - cmph_uint32
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 122
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 122
    functionName: bdz_dump_graph
    functionSourceFile: /src/glib/girepository/cmph/bdz.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'static void bdz_dump_graph(bdz_graph3_t* graph3, cmph_uint32 nedges,
      cmph_uint32 nvertices) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bdz.c:247,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - mph
    - b
    argTypes:
    - cmph_config_t*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 249
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 249
    functionName: bdz_config_set_b
    functionSourceFile: /src/glib/girepository/cmph/bdz.c
    functionUses: []
    functionsReached:
    - DEBUGP
    linkageType: ''
    returnType: void
    signature: 'void bdz_config_set_b(cmph_config_t *mph, cmph_uint32 b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/glib/girepository/cmph/bdz.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - queuep
    - nedges
    argTypes:
    - bdz_queue_t*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: bdz_alloc_queue
    functionSourceFile: /src/glib/girepository/cmph/bdz.c
    functionUses: []
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: 'static void bdz_alloc_queue(bdz_queue_t * queuep, cmph_uint32 nedges) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ceil
      Src: /src/glib/girepository/cmph/bdz.c:464,1
    - Dst: calloc
      Src: /src/glib/girepository/cmph/bdz.c:465,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - bdz
    argTypes:
    - bdz_config_data_t*
    constantsTouched: []
    func_position:
      end: 482
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 482
    functionName: ranking
    functionSourceFile: /src/glib/girepository/cmph/bdz.c
    functionUses: []
    functionsReached:
    - calloc
    - ceil
    linkageType: ''
    returnType: void
    signature: 'static void ranking(bdz_config_data_t *bdz) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/glib/girepository/cmph/bdz.c:80,1
    - Dst: free
      Src: /src/glib/girepository/cmph/bdz.c:82,1
    - Dst: free
      Src: /src/glib/girepository/cmph/bdz.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - graph3
    argTypes:
    - bdz_graph3_t*
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: bdz_free_graph3
    functionSourceFile: /src/glib/girepository/cmph/bdz.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'static void bdz_free_graph3(bdz_graph3_t *graph3) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/glib/girepository/cmph/bdz.c:87,1
    - Dst: free
      Src: /src/glib/girepository/cmph/bdz.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - graph3
    argTypes:
    - bdz_graph3_t*
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: bdz_partial_free_graph3
    functionSourceFile: /src/glib/girepository/cmph/bdz.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'static void bdz_partial_free_graph3(bdz_graph3_t *graph3) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/glib/girepository/cmph/bdz.c:142,1
    - Dst: exit
      Src: /src/glib/girepository/cmph/bdz.c:144,1
    - Dst: bdz_dump_graph
      Src: /src/glib/girepository/cmph/bdz.c:143,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - graph3
    - curr_edge
    argTypes:
    - bdz_graph3_t*
    - cmph_uint32
    constantsTouched: []
    func_position:
      end: 156
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 156
    functionName: bdz_remove_edge
    functionSourceFile: /src/glib/girepository/cmph/bdz.c
    functionUses: []
    functionsReached:
    - printf
    - bdz_dump_graph
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void bdz_remove_edge(bdz_graph3_t * graph3, cmph_uint32 curr_edge) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __cmph_dump
      Src: /src/glib/girepository/cmph/bdz.c:495,1
    - Dst: free
      Src: /src/glib/girepository/cmph/bdz.c:501,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/bdz.c:504,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/bdz.c:514,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bdz.c:521,1
    - Dst: GETVALUE
      Src: /src/glib/girepository/cmph/bdz.c:521,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/bdz.c:500,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/bdz.c:499,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/bdz.c:508,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/bdz.c:512,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bdz.c:522,1
    - Dst: DEBUGP
      Src: /src/glib/girepository/cmph/bdz.c:498,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/bdz.c:503,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/bdz.c:505,1
    - Dst: strerror
      Src: /src/glib/girepository/cmph/bdz.c:516,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bdz.c:516,1
    - Dst: hash_state_dump
      Src: /src/glib/girepository/cmph/bdz.c:497,1
    - Dst: ceil
      Src: /src/glib/girepository/cmph/bdz.c:507,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/bdz.c:511,1
    - Dst: ferror
      Src: /src/glib/girepository/cmph/bdz.c:515,1
    - Dst: fwrite
      Src: /src/glib/girepository/cmph/bdz.c:510,1
    - Dst: fprintf
      Src: /src/glib/girepository/cmph/bdz.c:520,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 2
    argNames:
    - mphf
    - fd
    argTypes:
    - cmph_t*
    - FILE*
    constantsTouched: []
    func_position:
      end: 525
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 525
    functionName: bdz_dump
    functionSourceFile: /src/glib/girepository/cmph/bdz.c
    functionUses: []
    functionsReached:
    - ferror
    - DEBUGP
    - fwrite
    - fprintf
    - strerror
    - hash_state_dump
    - free
    - GETVALUE
    - ceil
    - __cmph_dump
    linkageType: ''
    returnType: int
    signature: 'int bdz_dump(cmph_t *mphf, FILE *fd) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/girepository/compiler/compiler.c:79,1
    - Dst: g_strdup_printf
      Src: /src/glib/girepository/compiler/compiler.c:86,1
    - Dst: g_file_new_for_path
      Src: /src/glib/girepository/compiler/compiler.c:87,1
    - Dst: g_strdup_printf
      Src: /src/glib/girepository/compiler/compiler.c:92,1
    - Dst: fwrite
      Src: /src/glib/girepository/compiler/compiler.c:99,1
    - Dst: g_strerror
      Src: /src/glib/girepository/compiler/compiler.c:92,1
    - Dst: g_strdup_printf
      Src: /src/glib/girepository/compiler/compiler.c:102,1
    - Dst: g_file_move
      Src: /src/glib/girepository/compiler/compiler.c:112,1
    - Dst: g_strdup_printf
      Src: /src/glib/girepository/compiler/compiler.c:114,1
    - Dst: g_clear_object
      Src: /src/glib/girepository/compiler/compiler.c:125,1
    - Dst: g_strdup
      Src: /src/glib/girepository/compiler/compiler.c:83,1
    - Dst: g_fopen
      Src: /src/glib/girepository/compiler/compiler.c:88,1
    - Dst: g_fprintf
      Src: /src/glib/girepository/compiler/compiler.c:93,1
    - Dst: g_fprintf
      Src: /src/glib/girepository/compiler/compiler.c:103,1
    - Dst: g_fprintf
      Src: /src/glib/girepository/compiler/compiler.c:117,1
    - Dst: setmode
      Src: /src/glib/girepository/compiler/compiler.c:72,1
    - Dst: fileno
      Src: /src/glib/girepository/compiler/compiler.c:72,1
    - Dst: _
      Src: /src/glib/girepository/compiler/compiler.c:92,1
    - Dst: fclose
      Src: /src/glib/girepository/compiler/compiler.c:109,1
    - Dst: g_clear_error
      Src: /src/glib/girepository/compiler/compiler.c:119,1
    - Dst: g_clear_object
      Src: /src/glib/girepository/compiler/compiler.c:126,1
    - Dst: g_free
      Src: /src/glib/girepository/compiler/compiler.c:127,1
    - Dst: g_file_new_for_path
      Src: /src/glib/girepository/compiler/compiler.c:85,1
    - Dst: _
      Src: /src/glib/girepository/compiler/compiler.c:102,1
    - Dst: g_free
      Src: /src/glib/girepository/compiler/compiler.c:104,1
    - Dst: g_strerror
      Src: /src/glib/girepository/compiler/compiler.c:102,1
    - Dst: g_free
      Src: /src/glib/girepository/compiler/compiler.c:94,1
    - Dst: _
      Src: /src/glib/girepository/compiler/compiler.c:114,1
    - Dst: g_free
      Src: /src/glib/girepository/compiler/compiler.c:118,1
    - Dst: g_free
      Src: /src/glib/girepository/compiler/compiler.c:128,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 58
    argCount: 2
    argNames:
    - prefix
    - typelib
    argTypes:
    - gchar*
    - GITypelib*
    constantsTouched: []
    func_position:
      end: 131
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 131
    functionName: write_out_typelib
    functionSourceFile: /src/glib/girepository/compiler/compiler.c
    functionUses: []
    functionsReached:
    - g_file_new_for_path
    - fileno
    - g_clear_error
    - g_strdup_printf
    - g_strdup
    - g_fprintf
    - fwrite
    - fclose
    - g_strerror
    - g_fopen
    - setmode
    - g_clear_object
    - _
    - g_file_move
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean write_out_typelib (gchar *prefix, GITypelib *typelib) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_log_default_handler
      Src: /src/glib/girepository/compiler/compiler.c:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - log_domain
    - log_level
    - message
    - user_data
    argTypes:
    - gchar*
    - GLogLevelFlags
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: log_handler
    functionSourceFile: /src/glib/girepository/compiler/compiler.c
    functionUses: []
    functionsReached:
    - g_log_default_handler
    linkageType: ''
    returnType: void
    signature: 'static void log_handler (const gchar *log_domain, GLogLevelFlags log_level,
      const gchar *message, gpointer user_data) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/girepository/compiler/compiler.c:168,1
    - Dst: g_strdup_printf
      Src: /src/glib/girepository/compiler/compiler.c:174,1
    - Dst: g_error_free
      Src: /src/glib/girepository/compiler/compiler.c:178,1
    - Dst: g_strdup_printf
      Src: /src/glib/girepository/compiler/compiler.c:217,1
    - Dst: gi_ir_parser_free
      Src: /src/glib/girepository/compiler/compiler.c:220,1
    - Dst: g_debug
      Src: /src/glib/girepository/compiler/compiler.c:239,1
    - Dst: gi_ir_module_build_typelib
      Src: /src/glib/girepository/compiler/compiler.c:241,1
    - Dst: g_error
      Src: /src/glib/girepository/compiler/compiler.c:245,1
    - Dst: gi_ir_parser_free
      Src: /src/glib/girepository/compiler/compiler.c:256,1
    - Dst: gi_typelib_validate
      Src: /src/glib/girepository/compiler/compiler.c:244,1
    - Dst: g_option_context_new
      Src: /src/glib/girepository/compiler/compiler.c:167,1
    - Dst: g_option_context_free
      Src: /src/glib/girepository/compiler/compiler.c:170,1
    - Dst: _
      Src: /src/glib/girepository/compiler/compiler.c:174,1
    - Dst: g_fprintf
      Src: /src/glib/girepository/compiler/compiler.c:175,1
    - Dst: g_strv_length
      Src: /src/glib/girepository/compiler/compiler.c:199,1
    - Dst: gi_ir_parser_set_includes
      Src: /src/glib/girepository/compiler/compiler.c:212,1
    - Dst: gi_ir_parser_parse_file
      Src: /src/glib/girepository/compiler/compiler.c:214,1
    - Dst: g_fprintf
      Src: /src/glib/girepository/compiler/compiler.c:218,1
    - Dst: g_debug
      Src: /src/glib/girepository/compiler/compiler.c:225,1
    - Dst: g_error
      Src: /src/glib/girepository/compiler/compiler.c:243,1
    - Dst: g_debug
      Src: /src/glib/girepository/compiler/compiler.c:254,1
    - Dst: _
      Src: /src/glib/girepository/compiler/compiler.c:245,1
    - Dst: setlocale
      Src: /src/glib/girepository/compiler/compiler.c:164,1
    - Dst: g_log_set_always_fatal
      Src: /src/glib/girepository/compiler/compiler.c:188,1
    - Dst: g_log_set_default_handler
      Src: /src/glib/girepository/compiler/compiler.c:190,1
    - Dst: g_debug
      Src: /src/glib/girepository/compiler/compiler.c:206,1
    - Dst: g_printf
      Src: /src/glib/girepository/compiler/compiler.c:194,1
    - Dst: _
      Src: /src/glib/girepository/compiler/compiler.c:217,1
    - Dst: g_free
      Src: /src/glib/girepository/compiler/compiler.c:235,1
    - Dst: _
      Src: /src/glib/girepository/compiler/compiler.c:243,1
    - Dst: g_clear_pointer
      Src: /src/glib/girepository/compiler/compiler.c:251,1
    - Dst: g_strjoinv
      Src: /src/glib/girepository/compiler/compiler.c:236,1
    - Dst: g_option_context_parse
      Src: /src/glib/girepository/compiler/compiler.c:169,1
    - Dst: _
      Src: /src/glib/girepository/compiler/compiler.c:167,1
    - Dst: g_free
      Src: /src/glib/girepository/compiler/compiler.c:176,1
    - Dst: _
      Src: /src/glib/girepository/compiler/compiler.c:201,1
    - Dst: g_fprintf
      Src: /src/glib/girepository/compiler/compiler.c:201,1
    - Dst: g_strv_length
      Src: /src/glib/girepository/compiler/compiler.c:207,1
    - Dst: gi_ir_parser_new
      Src: /src/glib/girepository/compiler/compiler.c:209,1
    - Dst: gi_ir_parser_set_debug
      Src: /src/glib/girepository/compiler/compiler.c:210,1
    - Dst: g_free
      Src: /src/glib/girepository/compiler/compiler.c:219,1
    - Dst: g_debug
      Src: /src/glib/girepository/compiler/compiler.c:227,1
    - Dst: write_out_typelib
      Src: /src/glib/girepository/compiler/compiler.c:248,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 71
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 259
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 259
    functionName: main
    functionSourceFile: /src/glib/girepository/compiler/compiler.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - gi_ir_module_build_typelib
    - g_option_context_free
    - gi_typelib_validate
    - g_error
    - g_log_set_default_handler
    - gi_ir_parser_parse_file
    - gi_ir_parser_set_includes
    - g_log_set_always_fatal
    - setlocale
    - g_clear_pointer
    - g_error_free
    - g_option_context_parse
    - gi_ir_parser_free
    - g_strv_length
    - g_option_context_new
    - g_printf
    - gi_ir_parser_set_debug
    - write_out_typelib
    - _
    - g_option_context_add_main_entries
    - gi_ir_parser_new
    - g_fprintf
    - g_debug
    - g_strjoinv
    - g_free
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuzz_set_logging_func
      Src: /src/glib/fuzzing/fuzz_variant_text.c:28,1
    - Dst: g_variant_parse
      Src: /src/glib/fuzzing/fuzz_variant_text.c:30,1
    - Dst: g_variant_print
      Src: /src/glib/fuzzing/fuzz_variant_text.c:34,1
    - Dst: g_variant_unref
      Src: /src/glib/fuzzing/fuzz_variant_text.c:37,1
    - Dst: g_free
      Src: /src/glib/fuzzing/fuzz_variant_text.c:36,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 39
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 39
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/glib/fuzzing/fuzz_variant_text.c
    functionUses: []
    functionsReached:
    - g_variant_parse
    - fuzz_set_logging_func
    - g_variant_unref
    - g_variant_print
    - g_free
    linkageType: ''
    returnType: int
    signature: 'int LLVMFuzzerTestOneInput (const unsigned char *data, size_t size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 4
    argNames:
    - log_level
    - fields
    - n_fields
    - user_data
    argTypes:
    - GLogLevelFlags
    - GLogField*
    - gsize
    - gpointer
    constantsTouched: []
    func_position:
      end: 30
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 30
    functionName: empty_logging_func
    functionSourceFile: /src/glib/fuzzing/fuzz.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GLogWriterOutput
    signature: 'static GLogWriterOutput empty_logging_func (GLogLevelFlags log_level,
      const GLogField *fields, gsize n_fields, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_log_set_writer_func
      Src: /src/glib/fuzzing/fuzz.h:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 46
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 46
    functionName: fuzz_set_logging_func
    functionSourceFile: /src/glib/fuzzing/fuzz.h
    functionUses: []
    functionsReached:
    - g_log_set_writer_func
    linkageType: ''
    returnType: void
    signature: 'static void fuzz_set_logging_func (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_resolver_records_from_res_query
      Src: /src/glib/fuzzing/fuzz_resolver.c:40,1
    - Dst: g_list_free_full
      Src: /src/glib/fuzzing/fuzz_resolver.c:47,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - data
    - data_len
    - rrtype
    argTypes:
    - guint8*
    - gsize
    - gint
    constantsTouched: []
    func_position:
      end: 49
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 49
    functionName: test_for_rrtype
    functionSourceFile: /src/glib/fuzzing/fuzz_resolver.c
    functionUses: []
    functionsReached:
    - g_resolver_records_from_res_query
    - g_list_free_full
    linkageType: ''
    returnType: void
    signature: 'static void test_for_rrtype (const guint8 *data, gsize data_len, gint
      rrtype) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_uri_unescape_bytes
      Src: /src/glib/fuzzing/fuzz_uri_escape.c:33,1
    - Dst: g_assert_nonnull
      Src: /src/glib/fuzzing/fuzz_uri_escape.c:36,1
    - Dst: g_bytes_get_data
      Src: /src/glib/fuzzing/fuzz_uri_escape.c:41,1
    - Dst: g_uri_escape_bytes
      Src: /src/glib/fuzzing/fuzz_uri_escape.c:41,1
    - Dst: g_clear_error
      Src: /src/glib/fuzzing/fuzz_uri_escape.c:37,1
    - Dst: g_bytes_get_size
      Src: /src/glib/fuzzing/fuzz_uri_escape.c:42,1
    - Dst: g_bytes_unref
      Src: /src/glib/fuzzing/fuzz_uri_escape.c:44,1
    - Dst: g_free
      Src: /src/glib/fuzzing/fuzz_uri_escape.c:49,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - guint8*
    - gsize
    constantsTouched: []
    func_position:
      end: 50
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 50
    functionName: test_bytes
    functionSourceFile: /src/glib/fuzzing/fuzz_uri_escape.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_assert_nonnull
    - g_bytes_unref
    - g_uri_unescape_bytes
    - g_bytes_get_size
    - g_free
    - g_bytes_get_data
    - g_uri_escape_bytes
    linkageType: ''
    returnType: void
    signature: 'static void test_bytes (const guint8 *data, gsize size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_uri_unescape_segment
      Src: /src/glib/fuzzing/fuzz_uri_escape.c:59,1
    - Dst: g_free
      Src: /src/glib/fuzzing/fuzz_uri_escape.c:64,1
    - Dst: g_free
      Src: /src/glib/fuzzing/fuzz_uri_escape.c:69,1
    - Dst: g_uri_escape_string
      Src: /src/glib/fuzzing/fuzz_uri_escape.c:63,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - guint8*
    - gsize
    constantsTouched: []
    func_position:
      end: 70
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 70
    functionName: test_string
    functionSourceFile: /src/glib/fuzzing/fuzz_uri_escape.c
    functionUses: []
    functionsReached:
    - g_uri_escape_string
    - g_free
    - g_uri_unescape_segment
    linkageType: ''
    returnType: void
    signature: 'static void test_string (const guint8 *data, gsize size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_new
      Src: /src/glib/fuzzing/fuzz_key.c:29,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/fuzzing/fuzz_key.c:30,1
    - Dst: g_key_file_free
      Src: /src/glib/fuzzing/fuzz_key.c:33,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - data
    - size
    - flags
    argTypes:
    - gchar*
    - size_t
    - GKeyFileFlags
    constantsTouched: []
    func_position:
      end: 34
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 34
    functionName: test_parse
    functionSourceFile: /src/glib/fuzzing/fuzz_key.c
    functionUses: []
    functionsReached:
    - g_key_file_new
    - g_key_file_free
    - g_key_file_load_from_data
    linkageType: ''
    returnType: void
    signature: 'static void test_parse (const gchar *data, size_t size, GKeyFileFlags
      flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/glib/fuzzing/driver.c:28,1
    - Dst: assert
      Src: /src/glib/fuzzing/driver.c:32,1
    - Dst: assert
      Src: /src/glib/fuzzing/driver.c:29,1
    - Dst: ftell
      Src: /src/glib/fuzzing/driver.c:31,1
    - Dst: fseek
      Src: /src/glib/fuzzing/driver.c:30,1
    - Dst: fseek
      Src: /src/glib/fuzzing/driver.c:34,1
    - Dst: malloc
      Src: /src/glib/fuzzing/driver.c:35,1
    - Dst: fread
      Src: /src/glib/fuzzing/driver.c:36,1
    - Dst: assert
      Src: /src/glib/fuzzing/driver.c:37,1
    - Dst: LLVMFuzzerTestOneInput
      Src: /src/glib/fuzzing/driver.c:38,1
    - Dst: fclose
      Src: /src/glib/fuzzing/driver.c:41,1
    - Dst: free
      Src: /src/glib/fuzzing/driver.c:40,1
    - Dst: printf
      Src: /src/glib/fuzzing/driver.c:42,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 44
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 44
    functionName: main
    functionSourceFile: /src/glib/fuzzing/driver.c
    functionUses: []
    functionsReached:
    - printf
    - malloc
    - fclose
    - free
    - assert
    - fseek
    - fopen
    - LLVMFuzzerTestOneInput
    - fread
    - ftell
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_uri_parse
      Src: /src/glib/fuzzing/fuzz_uri_parse.c:28,1
    - Dst: g_free
      Src: /src/glib/fuzzing/fuzz_uri_parse.c:39,1
    - Dst: g_uri_to_string
      Src: /src/glib/fuzzing/fuzz_uri_parse.c:33,1
    - Dst: g_uri_unref
      Src: /src/glib/fuzzing/fuzz_uri_parse.c:34,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - data
    - flags
    argTypes:
    - gchar*
    - GUriFlags
    constantsTouched: []
    func_position:
      end: 40
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 40
    functionName: test_with_flags
    functionSourceFile: /src/glib/fuzzing/fuzz_uri_parse.c
    functionUses: []
    functionsReached:
    - g_uri_unref
    - g_uri_to_string
    - g_uri_parse
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_with_flags (const gchar *data, GUriFlags flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmemoryoutputstream.c:420,1
    - Dst: G_IS_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/gmemoryoutputstream.c:420,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ostream
    argTypes:
    - GMemoryOutputStream*
    constantsTouched: []
    func_position:
      end: 423
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 423
    functionName: g_memory_output_stream_get_data
    functionSourceFile: /src/glib/gio/gmemoryoutputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_MEMORY_OUTPUT_STREAM
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_memory_output_stream_get_data (GMemoryOutputStream *ostream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/gmemoryoutputstream.c:673,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gmemoryoutputstream.c:680,1
    - Dst: g_memory_output_stream_close
      Src: /src/glib/gio/gmemoryoutputstream.c:677,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gmemoryoutputstream.c:679,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gmemoryoutputstream.c:674,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 5
    argNames:
    - stream
    - io_priority
    - cancellable
    - callback
    - data
    argTypes:
    - GOutputStream*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 681
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 681
    functionName: g_memory_output_stream_close_async
    functionSourceFile: /src/glib/gio/gmemoryoutputstream.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_task_new
    - g_object_unref
    - g_memory_output_stream_close
    - g_task_set_source_tag
    linkageType: ''
    returnType: void
    signature: 'static void g_memory_output_stream_close_async (GOutputStream *stream,
      int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer
      data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmemoryoutputstream.c:688,1
    - Dst: G_TASK
      Src: /src/glib/gio/gmemoryoutputstream.c:690,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gmemoryoutputstream.c:688,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gmemoryoutputstream.c:690,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - stream
    - result
    - error
    argTypes:
    - GOutputStream*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 691
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 691
    functionName: g_memory_output_stream_close_finish
    functionSourceFile: /src/glib/gio/gmemoryoutputstream.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_task_is_valid
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_memory_output_stream_close_finish (GOutputStream
      *stream, GAsyncResult *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GPollableOutputStreamInterface*
    constantsTouched: []
    func_position:
      end: 217
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 217
    functionName: g_memory_output_stream_pollable_iface_init
    functionSourceFile: /src/glib/gio/gmemoryoutputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_memory_output_stream_pollable_iface_init (GPollableOutputStreamInterface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gmemoryoutputstream.c:381,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 389
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 389
    functionName: g_memory_output_stream_new
    functionSourceFile: /src/glib/gio/gmemoryoutputstream.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: GOutputStream*
    signature: 'GOutputStream *g_memory_output_stream_new (gpointer data, gsize size,
      GReallocFunc realloc_function, GDestroyNotify destroy_function) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/gmemoryoutputstream.c:722,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gmemoryoutputstream.c:757,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gmemoryoutputstream.c:747,1
    - Dst: _
      Src: /src/glib/gio/gmemoryoutputstream.c:750,1
    - Dst: _
      Src: /src/glib/gio/gmemoryoutputstream.c:760,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gmemoryoutputstream.c:772,1
    - Dst: _
      Src: /src/glib/gio/gmemoryoutputstream.c:775,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 25
    argCount: 5
    argNames:
    - seekable
    - offset
    - type
    - cancellable
    - error
    argTypes:
    - GSeekable*
    - goffset
    - GSeekType
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 782
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 782
    functionName: g_memory_output_stream_seek
    functionSourceFile: /src/glib/gio/gmemoryoutputstream.c
    functionUses: []
    functionsReached:
    - G_MEMORY_OUTPUT_STREAM
    - g_set_error_literal
    - _
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_memory_output_stream_seek (GSeekable *seekable,
      goffset offset, GSeekType type, GCancellable *cancellable, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/gmemoryoutputstream.c:228,1
    - Dst: g_value_get_pointer
      Src: /src/glib/gio/gmemoryoutputstream.c:234,1
    - Dst: g_value_get_ulong
      Src: /src/glib/gio/gmemoryoutputstream.c:237,1
    - Dst: g_value_get_pointer
      Src: /src/glib/gio/gmemoryoutputstream.c:243,1
    - Dst: g_value_get_pointer
      Src: /src/glib/gio/gmemoryoutputstream.c:240,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gmemoryoutputstream.c:246,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 249
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 249
    functionName: g_memory_output_stream_set_property
    functionSourceFile: /src/glib/gio/gmemoryoutputstream.c
    functionUses: []
    functionsReached:
    - G_MEMORY_OUTPUT_STREAM
    - g_value_get_ulong
    - g_value_get_pointer
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: 'static void g_memory_output_stream_set_property (GObject *object,
      guint prop_id, const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/gmemoryoutputstream.c:790,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - seekable
    argTypes:
    - GSeekable*
    constantsTouched: []
    func_position:
      end: 795
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 795
    functionName: g_memory_output_stream_can_truncate
    functionSourceFile: /src/glib/gio/gmemoryoutputstream.c
    functionUses: []
    functionsReached:
    - G_MEMORY_OUTPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_memory_output_stream_can_truncate (GSeekable *seekable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gmemoryoutputstream.c:132,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gmemoryoutputstream.c:164,1
    - Dst: g_param_spec_pointer
      Src: /src/glib/gio/gmemoryoutputstream.c:153,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gmemoryoutputstream.c:151,1
    - Dst: G_OUTPUT_STREAM_CLASS
      Src: /src/glib/gio/gmemoryoutputstream.c:137,1
    - Dst: g_param_spec_ulong
      Src: /src/glib/gio/gmemoryoutputstream.c:166,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gmemoryoutputstream.c:178,1
    - Dst: g_param_spec_ulong
      Src: /src/glib/gio/gmemoryoutputstream.c:180,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gmemoryoutputstream.c:192,1
    - Dst: g_param_spec_pointer
      Src: /src/glib/gio/gmemoryoutputstream.c:194,1
    - Dst: g_param_spec_pointer
      Src: /src/glib/gio/gmemoryoutputstream.c:207,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gmemoryoutputstream.c:205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GMemoryOutputStreamClass*
    constantsTouched: []
    func_position:
      end: 210
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 210
    functionName: g_memory_output_stream_class_init
    functionSourceFile: /src/glib/gio/gmemoryoutputstream.c
    functionUses: []
    functionsReached:
    - g_param_spec_pointer
    - G_OUTPUT_STREAM_CLASS
    - g_object_class_install_property
    - G_OBJECT_CLASS
    - g_param_spec_ulong
    linkageType: ''
    returnType: void
    signature: 'static void g_memory_output_stream_class_init (GMemoryOutputStreamClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmemoryoutputstream.c:450,1
    - Dst: G_IS_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/gmemoryoutputstream.c:450,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ostream
    argTypes:
    - GMemoryOutputStream*
    constantsTouched: []
    func_position:
      end: 453
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 453
    functionName: g_memory_output_stream_get_size
    functionSourceFile: /src/glib/gio/gmemoryoutputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_MEMORY_OUTPUT_STREAM
    linkageType: ''
    returnType: gsize
    signature: 'gsize g_memory_output_stream_get_size (GMemoryOutputStream *ostream) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/gmemoryoutputstream.c:260,1
    - Dst: g_value_set_pointer
      Src: /src/glib/gio/gmemoryoutputstream.c:266,1
    - Dst: g_value_set_pointer
      Src: /src/glib/gio/gmemoryoutputstream.c:275,1
    - Dst: g_value_set_ulong
      Src: /src/glib/gio/gmemoryoutputstream.c:272,1
    - Dst: g_value_set_ulong
      Src: /src/glib/gio/gmemoryoutputstream.c:269,1
    - Dst: g_value_set_pointer
      Src: /src/glib/gio/gmemoryoutputstream.c:278,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gmemoryoutputstream.c:281,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 11
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 284
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 284
    functionName: g_memory_output_stream_get_property
    functionSourceFile: /src/glib/gio/gmemoryoutputstream.c
    functionUses: []
    functionsReached:
    - G_MEMORY_OUTPUT_STREAM
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_pointer
    - g_value_set_ulong
    linkageType: ''
    returnType: void
    signature: 'static void g_memory_output_stream_get_property (GObject *object,
      guint prop_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/gmemoryoutputstream.c:699,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - seekable
    argTypes:
    - GSeekable*
    constantsTouched: []
    func_position:
      end: 703
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 703
    functionName: g_memory_output_stream_tell
    functionSourceFile: /src/glib/gio/gmemoryoutputstream.c
    functionUses: []
    functionsReached:
    - G_MEMORY_OUTPUT_STREAM
    linkageType: ''
    returnType: goffset
    signature: 'static goffset g_memory_output_stream_tell (GSeekable *seekable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/gmemoryoutputstream.c:292,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gmemoryoutputstream.c:298,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 299
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 299
    functionName: g_memory_output_stream_finalize
    functionSourceFile: /src/glib/gio/gmemoryoutputstream.c
    functionUses: []
    functionsReached:
    - G_MEMORY_OUTPUT_STREAM
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_memory_output_stream_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - seekable
    argTypes:
    - GSeekable*
    constantsTouched: []
    func_position:
      end: 709
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 709
    functionName: g_memory_output_stream_can_seek
    functionSourceFile: /src/glib/gio/gmemoryoutputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_memory_output_stream_can_seek (GSeekable *seekable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_memory_output_stream_new
      Src: /src/glib/gio/gmemoryoutputstream.c:402,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 403
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 403
    functionName: g_memory_output_stream_new_resizable
    functionSourceFile: /src/glib/gio/gmemoryoutputstream.c
    functionUses: []
    functionsReached:
    - g_memory_output_stream_new
    linkageType: ''
    returnType: GOutputStream*
    signature: 'GOutputStream *g_memory_output_stream_new_resizable (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GSeekableIface*
    constantsTouched: []
    func_position:
      end: 309
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 309
    functionName: g_memory_output_stream_seekable_iface_init
    functionSourceFile: /src/glib/gio/gmemoryoutputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_memory_output_stream_seekable_iface_init (GSeekableIface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmemoryoutputstream.c:495,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gmemoryoutputstream.c:496,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmemoryoutputstream.c:496,1
    - Dst: g_output_stream_is_closed
      Src: /src/glib/gio/gmemoryoutputstream.c:496,1
    - Dst: G_IS_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/gmemoryoutputstream.c:495,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ostream
    argTypes:
    - GMemoryOutputStream*
    constantsTouched: []
    func_position:
      end: 502
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 502
    functionName: g_memory_output_stream_steal_data
    functionSourceFile: /src/glib/gio/gmemoryoutputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_OUTPUT_STREAM
    - G_IS_MEMORY_OUTPUT_STREAM
    - g_output_stream_is_closed
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_memory_output_stream_steal_data (GMemoryOutputStream *ostream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmemoryoutputstream.c:520,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gmemoryoutputstream.c:521,1
    - Dst: g_output_stream_is_closed
      Src: /src/glib/gio/gmemoryoutputstream.c:521,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmemoryoutputstream.c:521,1
    - Dst: G_IS_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/gmemoryoutputstream.c:520,1
    - Dst: g_bytes_new_with_free_func
      Src: /src/glib/gio/gmemoryoutputstream.c:523,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 530
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 530
    functionName: g_memory_output_stream_steal_as_bytes
    functionSourceFile: /src/glib/gio/gmemoryoutputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_MEMORY_OUTPUT_STREAM
    - g_output_stream_is_closed
    - g_bytes_new_with_free_func
    - G_OUTPUT_STREAM
    linkageType: ''
    returnType: GBytes*
    signature: 'GBytes *g_memory_output_stream_steal_as_bytes (GMemoryOutputStream
      *ostream) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/gmemoryoutputstream.c:600,1
    - Dst: MIN
      Src: /src/glib/gio/gmemoryoutputstream.c:635,1
    - Dst: MAX
      Src: /src/glib/gio/gmemoryoutputstream.c:628,1
    - Dst: array_resize
      Src: /src/glib/gio/gmemoryoutputstream.c:629,1
    - Dst: g_nearest_pow
      Src: /src/glib/gio/gmemoryoutputstream.c:621,1
    - Dst: memcpy
      Src: /src/glib/gio/gmemoryoutputstream.c:638,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gmemoryoutputstream.c:648,1
    - Dst: _
      Src: /src/glib/gio/gmemoryoutputstream.c:651,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 30
    argCount: 5
    argNames:
    - stream
    - buffer
    - count
    - cancellable
    - error
    argTypes:
    - GOutputStream*
    - void*
    - gsize
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 654
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 654
    functionName: g_memory_output_stream_write
    functionSourceFile: /src/glib/gio/gmemoryoutputstream.c
    functionUses: []
    functionsReached:
    - memcpy
    - MIN
    - MAX
    - array_resize
    - g_set_error_literal
    - g_nearest_pow
    - _
    - G_MEMORY_OUTPUT_STREAM
    linkageType: ''
    returnType: gssize
    signature: 'static gssize g_memory_output_stream_write (GOutputStream *stream,
      const void *buffer, gsize count, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/gmemoryoutputstream.c:803,1
    - Dst: array_resize
      Src: /src/glib/gio/gmemoryoutputstream.c:805,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 4
    argNames:
    - seekable
    - offset
    - cancellable
    - error
    argTypes:
    - GSeekable*
    - goffset
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 811
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 811
    functionName: g_memory_output_stream_truncate
    functionSourceFile: /src/glib/gio/gmemoryoutputstream.c
    functionUses: []
    functionsReached:
    - G_MEMORY_OUTPUT_STREAM
    - array_resize
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_memory_output_stream_truncate (GSeekable *seekable,
      goffset offset, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_memory_output_stream_get_instance_private
      Src: /src/glib/gio/gmemoryoutputstream.c:315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GMemoryOutputStream*
    constantsTouched: []
    func_position:
      end: 318
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 318
    functionName: g_memory_output_stream_init
    functionSourceFile: /src/glib/gio/gmemoryoutputstream.c
    functionUses: []
    functionsReached:
    - g_memory_output_stream_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_memory_output_stream_init (GMemoryOutputStream *stream) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gmemoryoutputstream.c:553,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gmemoryoutputstream.c:569,1
    - Dst: _
      Src: /src/glib/gio/gmemoryoutputstream.c:556,1
    - Dst: _
      Src: /src/glib/gio/gmemoryoutputstream.c:572,1
    - Dst: memset
      Src: /src/glib/gio/gmemoryoutputstream.c:577,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 4
    argNames:
    - ostream
    - size
    - allow_partial
    - error
    argTypes:
    - GMemoryOutputStream*
    - gsize
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 586
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 586
    functionName: array_resize
    functionSourceFile: /src/glib/gio/gmemoryoutputstream.c
    functionUses: []
    functionsReached:
    - _
    - g_set_error_literal
    - memset
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean array_resize (GMemoryOutputStream *ostream, gsize
      size, gboolean allow_partial, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GOutputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 662
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 662
    functionName: g_memory_output_stream_close
    functionSourceFile: /src/glib/gio/gmemoryoutputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_memory_output_stream_close (GOutputStream *stream,
      GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GPollableOutputStream*
    constantsTouched: []
    func_position:
      end: 817
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 817
    functionName: g_memory_output_stream_is_writable
    functionSourceFile: /src/glib/gio/gmemoryoutputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_memory_output_stream_is_writable (GPollableOutputStream
      *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_timeout_source_new
      Src: /src/glib/gio/gmemoryoutputstream.c:825,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gmemoryoutputstream.c:827,1
    - Dst: g_pollable_source_new_full
      Src: /src/glib/gio/gmemoryoutputstream.c:826,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 830
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 830
    functionName: g_memory_output_stream_create_source
    functionSourceFile: /src/glib/gio/gmemoryoutputstream.c
    functionUses: []
    functionsReached:
    - g_pollable_source_new_full
    - g_timeout_source_new
    - g_source_unref
    linkageType: ''
    returnType: GSource*
    signature: 'static GSource *g_memory_output_stream_create_source (GPollableOutputStream
      *stream, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmemoryoutputstream.c:469,1
    - Dst: G_IS_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/gmemoryoutputstream.c:469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ostream
    argTypes:
    - GMemoryOutputStream*
    constantsTouched: []
    func_position:
      end: 472
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 472
    functionName: g_memory_output_stream_get_data_size
    functionSourceFile: /src/glib/gio/gmemoryoutputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_MEMORY_OUTPUT_STREAM
    linkageType: ''
    returnType: gsize
    signature: 'gsize g_memory_output_stream_get_data_size (GMemoryOutputStream *ostream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusintrospection.c:784,1
    - Dst: g_dbus_method_info_generate_xml
      Src: /src/glib/gio/gdbusintrospection.c:794,1
    - Dst: g_dbus_property_info_generate_xml
      Src: /src/glib/gio/gdbusintrospection.c:804,1
    - Dst: g_dbus_signal_info_generate_xml
      Src: /src/glib/gio/gdbusintrospection.c:799,1
    - Dst: g_dbus_annotation_info_generate_xml
      Src: /src/glib/gio/gdbusintrospection.c:789,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusintrospection.c:808,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - info
    - indent
    - string_builder
    argTypes:
    - GDBusInterfaceInfo*
    - guint
    - GString*
    constantsTouched: []
    func_position:
      end: 809
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 809
    functionName: g_dbus_interface_info_generate_xml
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_dbus_signal_info_generate_xml
    - g_dbus_property_info_generate_xml
    - g_dbus_method_info_generate_xml
    - g_dbus_annotation_info_generate_xml
    - g_string_append_printf
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_interface_info_generate_xml (GDBusInterfaceInfo *info,
      guint indent, GString *string_builder) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusintrospection.c:1001,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gdbusintrospection.c:1004,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gdbusintrospection.c:1002,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 1006
    functionName: parse_data_steal_nodes
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_ptr_array_free
    - g_ptr_array_new
    - g_ptr_array_add
    linkageType: ''
    returnType: GDBusNodeInfo**
    signature: 'static GDBusNodeInfo **parse_data_steal_nodes (ParseData *data, guint
      *out_num_elements) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_foreach
      Src: /src/glib/gio/gdbusintrospection.c:1025,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gdbusintrospection.c:1026,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - ParseData*
    constantsTouched: []
    func_position:
      end: 1028
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1028
    functionName: parse_data_free_args
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_ptr_array_foreach
    - g_ptr_array_free
    linkageType: ''
    returnType: void
    signature: 'static void parse_data_free_args (ParseData *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_foreach
      Src: /src/glib/gio/gdbusintrospection.c:1045,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gdbusintrospection.c:1046,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - ParseData*
    constantsTouched: []
    func_position:
      end: 1048
      start: 1040
    functionDepth: 0
    functionLinenumber: 1040
    functionLinenumberEnd: 1048
    functionName: parse_data_free_methods
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_ptr_array_foreach
    - g_ptr_array_free
    linkageType: ''
    returnType: void
    signature: 'static void parse_data_free_methods (ParseData *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_foreach
      Src: /src/glib/gio/gdbusintrospection.c:1065,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gdbusintrospection.c:1066,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - ParseData*
    constantsTouched: []
    func_position:
      end: 1068
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1068
    functionName: parse_data_free_properties
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_ptr_array_foreach
    - g_ptr_array_free
    linkageType: ''
    returnType: void
    signature: 'static void parse_data_free_properties (ParseData *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusintrospection.c:1097,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusintrospection.c:1097,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1092
    functionDepth: 0
    functionLinenumber: 1092
    functionLinenumberEnd: 1099
    functionName: parse_data_get_annotation
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_new0
    - g_ptr_array_add
    linkageType: ''
    returnType: GDBusAnnotationInfo*
    signature: 'static GDBusAnnotationInfo *parse_data_get_annotation (ParseData *data,
      gboolean create_new) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_data_steal_annotations
      Src: /src/glib/gio/gdbusintrospection.c:1576,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1577
      start: 1573
    functionDepth: 0
    functionLinenumber: 1573
    functionLinenumberEnd: 1577
    functionName: steal_annotations
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - parse_data_steal_annotations
    linkageType: ''
    returnType: GDBusAnnotationInfo**
    signature: 'static GDBusAnnotationInfo **steal_annotations (ParseData *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_markup_parse_context_get_position
      Src: /src/glib/gio/gdbusintrospection.c:1732,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/gdbusintrospection.c:1734,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - context
    - error
    - user_data
    argTypes:
    - GMarkupParseContext*
    - GError*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1737
      start: 1724
    functionDepth: 0
    functionLinenumber: 1724
    functionLinenumberEnd: 1737
    functionName: parser_error
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_prefix_error
    - g_markup_parse_context_get_position
    linkageType: ''
    returnType: void
    signature: 'static void parser_error (GMarkupParseContext *context, GError *error,
      gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_foreach
      Src: /src/glib/gio/gdbusintrospection.c:1035,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gdbusintrospection.c:1036,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - ParseData*
    constantsTouched: []
    func_position:
      end: 1038
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1038
    functionName: parse_data_free_out_args
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_ptr_array_foreach
    - g_ptr_array_free
    linkageType: ''
    returnType: void
    signature: 'static void parse_data_free_out_args (ParseData *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_foreach
      Src: /src/glib/gio/gdbusintrospection.c:1055,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gdbusintrospection.c:1056,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - ParseData*
    constantsTouched: []
    func_position:
      end: 1058
      start: 1050
    functionDepth: 0
    functionLinenumber: 1050
    functionLinenumberEnd: 1058
    functionName: parse_data_free_signals
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_ptr_array_foreach
    - g_ptr_array_free
    linkageType: ''
    returnType: void
    signature: 'static void parse_data_free_signals (ParseData *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_foreach
      Src: /src/glib/gio/gdbusintrospection.c:1075,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gdbusintrospection.c:1076,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - ParseData*
    constantsTouched: []
    func_position:
      end: 1078
      start: 1070
    functionDepth: 0
    functionLinenumber: 1070
    functionLinenumberEnd: 1078
    functionName: parse_data_free_interfaces
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_ptr_array_foreach
    - g_ptr_array_free
    linkageType: ''
    returnType: void
    signature: 'static void parse_data_free_interfaces (ParseData *data) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: parse_data_free_interfaces
      Src: /src/glib/gio/gdbusintrospection.c:1604,1
    - Dst: g_slist_remove
      Src: /src/glib/gio/gdbusintrospection.c:1610,1
    - Dst: parse_data_get_node
      Src: /src/glib/gio/gdbusintrospection.c:1613,1
    - Dst: parse_data_steal_out_args
      Src: /src/glib/gio/gdbusintrospection.c:1664,1
    - Dst: g_dbus_signal_info_set
      Src: /src/glib/gio/gdbusintrospection.c:1666,1
    - Dst: parse_data_get_signal
      Src: /src/glib/gio/gdbusintrospection.c:1667,1
    - Dst: steal_annotations
      Src: /src/glib/gio/gdbusintrospection.c:1670,1
    - Dst: g_dbus_annotation_info_set
      Src: /src/glib/gio/gdbusintrospection.c:1702,1
    - Dst: steal_annotations
      Src: /src/glib/gio/gdbusintrospection.c:1679,1
    - Dst: parse_data_get_arg
      Src: /src/glib/gio/gdbusintrospection.c:1684,1
    - Dst: parse_data_free_annotations
      Src: /src/glib/gio/gdbusintrospection.c:1696,1
    - Dst: g_slist_remove
      Src: /src/glib/gio/gdbusintrospection.c:1718,1
    - Dst: steal_annotations
      Src: /src/glib/gio/gdbusintrospection.c:1693,1
    - Dst: g_dbus_node_info_set
      Src: /src/glib/gio/gdbusintrospection.c:1612,1
    - Dst: steal_annotations
      Src: /src/glib/gio/gdbusintrospection.c:1617,1
    - Dst: steal_annotations
      Src: /src/glib/gio/gdbusintrospection.c:1639,1
    - Dst: g_dbus_interface_info_set
      Src: /src/glib/gio/gdbusintrospection.c:1633,1
    - Dst: parse_data_steal_args
      Src: /src/glib/gio/gdbusintrospection.c:1649,1
    - Dst: parse_data_steal_out_args
      Src: /src/glib/gio/gdbusintrospection.c:1650,1
    - Dst: parse_data_get_method
      Src: /src/glib/gio/gdbusintrospection.c:1653,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1672,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1681,1
    - Dst: g_dbus_arg_info_set
      Src: /src/glib/gio/gdbusintrospection.c:1683,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1591,1
    - Dst: g_slist_remove
      Src: /src/glib/gio/gdbusintrospection.c:1606,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1620,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1642,1
    - Dst: g_dbus_method_info_set
      Src: /src/glib/gio/gdbusintrospection.c:1652,1
    - Dst: steal_annotations
      Src: /src/glib/gio/gdbusintrospection.c:1657,1
    - Dst: parse_data_get_annotation
      Src: /src/glib/gio/gdbusintrospection.c:1703,1
    - Dst: parse_data_free_annotations
      Src: /src/glib/gio/gdbusintrospection.c:1716,1
    - Dst: g_slist_remove
      Src: /src/glib/gio/gdbusintrospection.c:1698,1
    - Dst: steal_annotations
      Src: /src/glib/gio/gdbusintrospection.c:1687,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1689,1
    - Dst: parse_data_steal_nodes
      Src: /src/glib/gio/gdbusintrospection.c:1598,1
    - Dst: parse_data_steal_interfaces
      Src: /src/glib/gio/gdbusintrospection.c:1599,1
    - Dst: parse_data_free_nodes
      Src: /src/glib/gio/gdbusintrospection.c:1608,1
    - Dst: parse_data_steal_signals
      Src: /src/glib/gio/gdbusintrospection.c:1630,1
    - Dst: parse_data_steal_methods
      Src: /src/glib/gio/gdbusintrospection.c:1629,1
    - Dst: parse_data_get_interface
      Src: /src/glib/gio/gdbusintrospection.c:1634,1
    - Dst: parse_data_steal_properties
      Src: /src/glib/gio/gdbusintrospection.c:1631,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1659,1
    - Dst: g_dbus_property_info_set
      Src: /src/glib/gio/gdbusintrospection.c:1674,1
    - Dst: parse_data_get_property
      Src: /src/glib/gio/gdbusintrospection.c:1675,1
    - Dst: parse_data_get_out_arg
      Src: /src/glib/gio/gdbusintrospection.c:1684,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 82
    argCount: 4
    argNames:
    - context
    - element_name
    - user_data
    - error
    argTypes:
    - GMarkupParseContext*
    - gchar*
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 1720
      start: 1580
    functionDepth: 0
    functionLinenumber: 1580
    functionLinenumberEnd: 1720
    functionName: parser_end_element
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_dbus_node_info_set
    - strcmp
    - parse_data_steal_args
    - parse_data_steal_signals
    - parse_data_get_method
    - g_dbus_interface_info_set
    - g_slist_remove
    - parse_data_get_node
    - parse_data_steal_methods
    - parse_data_get_out_arg
    - parse_data_get_property
    - parse_data_get_annotation
    - parse_data_free_nodes
    - parse_data_steal_properties
    - parse_data_get_interface
    - parse_data_steal_interfaces
    - parse_data_free_interfaces
    - g_dbus_method_info_set
    - g_dbus_signal_info_set
    - g_dbus_arg_info_set
    - g_dbus_annotation_info_set
    - parse_data_steal_nodes
    - parse_data_get_arg
    - g_dbus_property_info_set
    - steal_annotations
    - parse_data_free_annotations
    - parse_data_steal_out_args
    - parse_data_get_signal
    linkageType: ''
    returnType: void
    signature: 'static void parser_end_element (GMarkupParseContext *context, const
      gchar *element_name, gpointer user_data, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gdbusintrospection.c:115,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/gdbusintrospection.c:117,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 119
    functionName: g_dbus_interface_info_ref
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_atomic_int_inc
    - g_atomic_int_get
    linkageType: ''
    returnType: GDBusInterfaceInfo*
    signature: 'GDBusInterfaceInfo *g_dbus_interface_info_ref (GDBusInterfaceInfo
      *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unref_func
      Src: /src/glib/gio/gdbusintrospection.c:231,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusintrospection.c:232,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - array
    - unref_func
    argTypes:
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 233
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 233
    functionName: free_null_terminated_array
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_free
    - unref_func
    linkageType: ''
    returnType: void
    signature: 'static void free_null_terminated_array (gpointer array, GDestroyNotify
      unref_func) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gdbusintrospection.c:369,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusintrospection.c:373,1
    - Dst: free_null_terminated_array
      Src: /src/glib/gio/gdbusintrospection.c:374,1
    - Dst: free_null_terminated_array
      Src: /src/glib/gio/gdbusintrospection.c:375,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/gio/gdbusintrospection.c:371,1
    - Dst: free_null_terminated_array
      Src: /src/glib/gio/gdbusintrospection.c:376,1
    - Dst: free_null_terminated_array
      Src: /src/glib/gio/gdbusintrospection.c:377,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusintrospection.c:378,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - info
    argTypes:
    - GDBusInterfaceInfo*
    constantsTouched: []
    func_position:
      end: 380
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 380
    functionName: g_dbus_interface_info_unref
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - free_null_terminated_array
    - g_free
    - g_atomic_int_dec_and_test
    - g_atomic_int_get
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_interface_info_unref (GDBusInterfaceInfo *info) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusintrospection.c:419,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusintrospection.c:422,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 5
    argNames:
    - data
    - info
    - key
    - value
    - embedded_annotations
    argTypes:
    - ParseData*
    - GDBusAnnotationInfo*
    - gchar*
    - gchar*
    - GDBusAnnotationInfo**
    constantsTouched: []
    func_position:
      end: 426
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 426
    functionName: g_dbus_annotation_info_set
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_strdup
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_annotation_info_set (ParseData *data, GDBusAnnotationInfo
      *info, const gchar *key, const gchar *value, GDBusAnnotationInfo **embedded_annotations) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gdbusintrospection.c:735,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusintrospection.c:750,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusintrospection.c:738,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusintrospection.c:746,1
    - Dst: g_dbus_annotation_info_generate_xml
      Src: /src/glib/gio/gdbusintrospection.c:753,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusintrospection.c:757,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - info
    - indent
    - string_builder
    argTypes:
    - GDBusPropertyInfo*
    - guint
    - GString*
    constantsTouched: []
    func_position:
      end: 760
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 760
    functionName: g_dbus_property_info_generate_xml
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_string_append_printf
    - g_dbus_annotation_info_generate_xml
    - g_string_append
    - g_assert_not_reached
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_property_info_generate_xml (GDBusPropertyInfo *info,
      guint indent, GString *string_builder) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusintrospection.c:893,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gdbusintrospection.c:894,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gdbusintrospection.c:896,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 898
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 898
    functionName: parse_data_steal_args
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_ptr_array_free
    - g_ptr_array_new
    - g_ptr_array_add
    linkageType: ''
    returnType: GDBusArgInfo**
    signature: 'static GDBusArgInfo **parse_data_steal_args (ParseData *data, guint
      *out_num_elements) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_foreach
      Src: /src/glib/gio/gdbusintrospection.c:1085,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gdbusintrospection.c:1086,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - ParseData*
    constantsTouched: []
    func_position:
      end: 1088
      start: 1080
    functionDepth: 0
    functionLinenumber: 1080
    functionLinenumberEnd: 1088
    functionName: parse_data_free_nodes
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_ptr_array_foreach
    - g_ptr_array_free
    linkageType: ''
    returnType: void
    signature: 'static void parse_data_free_nodes (ParseData *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gdbusintrospection.c:1171,1
    - Dst: parse_data_steal_out_args
      Src: /src/glib/gio/gdbusintrospection.c:1176,1
    - Dst: parse_data_steal_annotations
      Src: /src/glib/gio/gdbusintrospection.c:1174,1
    - Dst: parse_data_steal_methods
      Src: /src/glib/gio/gdbusintrospection.c:1177,1
    - Dst: parse_data_steal_args
      Src: /src/glib/gio/gdbusintrospection.c:1175,1
    - Dst: parse_data_steal_signals
      Src: /src/glib/gio/gdbusintrospection.c:1178,1
    - Dst: parse_data_steal_properties
      Src: /src/glib/gio/gdbusintrospection.c:1179,1
    - Dst: parse_data_steal_interfaces
      Src: /src/glib/gio/gdbusintrospection.c:1180,1
    - Dst: parse_data_steal_nodes
      Src: /src/glib/gio/gdbusintrospection.c:1181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1166
    functionDepth: 0
    functionLinenumber: 1166
    functionLinenumberEnd: 1184
    functionName: parse_data_new
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - parse_data_steal_methods
    - parse_data_steal_annotations
    - parse_data_steal_args
    - parse_data_steal_properties
    - parse_data_steal_signals
    - parse_data_steal_nodes
    - parse_data_steal_interfaces
    - g_new0
    - parse_data_steal_out_args
    linkageType: ''
    returnType: ParseData*
    signature: 'static ParseData *parse_data_new (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusintrospection.c:2120,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusintrospection.c:2128,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusintrospection.c:2127,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusintrospection.c:2121,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusintrospection.c:2123,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusintrospection.c:2130,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusintrospection.c:2136,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusintrospection.c:2140,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - info
    argTypes:
    - GDBusInterfaceInfo*
    constantsTouched: []
    func_position:
      end: 2141
      start: 2115
    functionDepth: 0
    functionLinenumber: 2115
    functionLinenumberEnd: 2141
    functionName: g_dbus_interface_info_cache_release
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_warning
    - g_hash_table_remove
    - G_UNLOCK
    - g_hash_table_lookup
    - G_UNLIKELY
    - G_LOCK
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_interface_info_cache_release (GDBusInterfaceInfo *info) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusintrospection.c:1970,1
    - Dst: G_LIKELY
      Src: /src/glib/gio/gdbusintrospection.c:1975,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusintrospection.c:1974,1
    - Dst: G_LIKELY
      Src: /src/glib/gio/gdbusintrospection.c:1971,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusintrospection.c:1977,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusintrospection.c:1978,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusintrospection.c:1982,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusintrospection.c:1988,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1999
      start: 1963
    functionDepth: 0
    functionLinenumber: 1963
    functionLinenumberEnd: 1999
    functionName: g_dbus_interface_info_lookup_signal
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - g_hash_table_lookup
    - G_LIKELY
    - g_strcmp0
    - G_LOCK
    linkageType: ''
    returnType: GDBusSignalInfo*
    signature: 'GDBusSignalInfo *g_dbus_interface_info_lookup_signal (GDBusInterfaceInfo
      *info, const gchar *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gdbusintrospection.c:175,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/gdbusintrospection.c:177,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 179
    functionName: g_dbus_property_info_ref
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_atomic_int_inc
    - g_atomic_int_get
    linkageType: ''
    returnType: GDBusPropertyInfo*
    signature: 'GDBusPropertyInfo *g_dbus_property_info_ref (GDBusPropertyInfo *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gdbusintrospection.c:248,1
    - Dst: free_null_terminated_array
      Src: /src/glib/gio/gdbusintrospection.c:254,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/gio/gdbusintrospection.c:250,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusintrospection.c:252,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusintrospection.c:253,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusintrospection.c:255,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - info
    argTypes:
    - GDBusAnnotationInfo*
    constantsTouched: []
    func_position:
      end: 257
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 257
    functionName: g_dbus_annotation_info_unref
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - free_null_terminated_array
    - g_free
    - g_atomic_int_dec_and_test
    - g_atomic_int_get
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_annotation_info_unref (GDBusAnnotationInfo *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gdbusintrospection.c:321,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusintrospection.c:325,1
    - Dst: free_null_terminated_array
      Src: /src/glib/gio/gdbusintrospection.c:327,1
    - Dst: free_null_terminated_array
      Src: /src/glib/gio/gdbusintrospection.c:326,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/gio/gdbusintrospection.c:323,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusintrospection.c:328,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - info
    argTypes:
    - GDBusSignalInfo*
    constantsTouched: []
    func_position:
      end: 330
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 330
    functionName: g_dbus_signal_info_unref
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - free_null_terminated_array
    - g_free
    - g_atomic_int_dec_and_test
    - g_atomic_int_get
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_signal_info_unref (GDBusSignalInfo *info) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusintrospection.c:439,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusintrospection.c:442,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 5
    argNames:
    - data
    - info
    - name
    - signature
    - annotations
    argTypes:
    - ParseData*
    - GDBusArgInfo*
    - gchar*
    - gchar*
    - GDBusAnnotationInfo**
    constantsTouched: []
    func_position:
      end: 446
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 446
    functionName: g_dbus_arg_info_set
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_strdup
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_arg_info_set (ParseData *data, GDBusArgInfo *info,
      const gchar *name, const gchar *signature, GDBusAnnotationInfo **annotations) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusintrospection.c:481,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 9
    argCount: 5
    argNames:
    - data
    - info
    - name
    - args
    - annotations
    argTypes:
    - ParseData*
    - GDBusSignalInfo*
    - gchar*
    - GDBusArgInfo**
    - GDBusAnnotationInfo**
    constantsTouched: []
    func_position:
      end: 488
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 488
    functionName: g_dbus_signal_info_set
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_strdup
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_signal_info_set (ParseData *data, GDBusSignalInfo
      *info, const gchar *name, GDBusArgInfo **args, GDBusAnnotationInfo **annotations) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusintrospection.c:929,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gdbusintrospection.c:932,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gdbusintrospection.c:930,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 934
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 934
    functionName: parse_data_steal_methods
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_ptr_array_free
    - g_ptr_array_new
    - g_ptr_array_add
    linkageType: ''
    returnType: GDBusMethodInfo**
    signature: 'static GDBusMethodInfo **parse_data_steal_methods (ParseData *data,
      guint *out_num_elements) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusintrospection.c:965,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gdbusintrospection.c:966,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gdbusintrospection.c:968,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 970
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 970
    functionName: parse_data_steal_properties
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_ptr_array_free
    - g_ptr_array_new
    - g_ptr_array_add
    linkageType: ''
    returnType: GDBusPropertyInfo**
    signature: 'static GDBusPropertyInfo **parse_data_steal_properties (ParseData
      *data, guint *out_num_elements) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusintrospection.c:1124,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusintrospection.c:1124,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1119
    functionDepth: 0
    functionLinenumber: 1119
    functionLinenumberEnd: 1126
    functionName: parse_data_get_method
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_new0
    - g_ptr_array_add
    linkageType: ''
    returnType: GDBusMethodInfo*
    signature: 'static GDBusMethodInfo *parse_data_get_method (ParseData *data, gboolean
      create_new) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusintrospection.c:459,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 11
    argCount: 6
    argNames:
    - data
    - info
    - name
    - in_args
    - out_args
    - annotations
    argTypes:
    - ParseData*
    - GDBusMethodInfo*
    - gchar*
    - GDBusArgInfo**
    - GDBusArgInfo**
    - GDBusAnnotationInfo**
    constantsTouched: []
    func_position:
      end: 469
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 469
    functionName: g_dbus_method_info_set
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_strdup
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_method_info_set (ParseData *data, GDBusMethodInfo
      *info, const gchar *name, GDBusArgInfo **in_args, GDBusArgInfo **out_args, GDBusAnnotationInfo
      **annotations) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusintrospection.c:501,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusintrospection.c:507,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 6
    argNames:
    - data
    - info
    - name
    - signature
    - flags
    - annotations
    argTypes:
    - ParseData*
    - GDBusPropertyInfo*
    - gchar*
    - gchar*
    - GDBusPropertyInfoFlags
    - GDBusAnnotationInfo**
    constantsTouched: []
    func_position:
      end: 511
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 511
    functionName: g_dbus_property_info_set
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_strdup
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_property_info_set (ParseData *data, GDBusPropertyInfo
      *info, const gchar *name, const gchar *signature, GDBusPropertyInfoFlags flags,
      GDBusAnnotationInfo **annotations) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusintrospection.c:947,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gdbusintrospection.c:950,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gdbusintrospection.c:948,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 952
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 952
    functionName: parse_data_steal_signals
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_ptr_array_free
    - g_ptr_array_new
    - g_ptr_array_add
    linkageType: ''
    returnType: GDBusSignalInfo**
    signature: 'static GDBusSignalInfo **parse_data_steal_signals (ParseData *data,
      guint *out_num_elements) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusintrospection.c:983,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gdbusintrospection.c:986,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gdbusintrospection.c:984,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 988
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 988
    functionName: parse_data_steal_interfaces
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_ptr_array_free
    - g_ptr_array_new
    - g_ptr_array_add
    linkageType: ''
    returnType: GDBusInterfaceInfo**
    signature: 'static GDBusInterfaceInfo **parse_data_steal_interfaces (ParseData
      *data, guint *out_num_elements) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusintrospection.c:1106,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusintrospection.c:1106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1101
    functionDepth: 0
    functionLinenumber: 1101
    functionLinenumberEnd: 1108
    functionName: parse_data_get_arg
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_new0
    - g_ptr_array_add
    linkageType: ''
    returnType: GDBusArgInfo*
    signature: 'static GDBusArgInfo *parse_data_get_arg (ParseData *data, gboolean
      create_new) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusintrospection.c:1133,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusintrospection.c:1133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1128
    functionDepth: 0
    functionLinenumber: 1128
    functionLinenumberEnd: 1135
    functionName: parse_data_get_signal
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_new0
    - g_ptr_array_add
    linkageType: ''
    returnType: GDBusSignalInfo*
    signature: 'static GDBusSignalInfo *parse_data_get_signal (ParseData *data, gboolean
      create_new) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusintrospection.c:1142,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusintrospection.c:1142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1137
    functionDepth: 0
    functionLinenumber: 1137
    functionLinenumberEnd: 1144
    functionName: parse_data_get_property
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_new0
    - g_ptr_array_add
    linkageType: ''
    returnType: GDBusPropertyInfo*
    signature: 'static GDBusPropertyInfo *parse_data_get_property (ParseData *data,
      gboolean create_new) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusintrospection.c:1151,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusintrospection.c:1151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1146
    functionDepth: 0
    functionLinenumber: 1146
    functionLinenumberEnd: 1153
    functionName: parse_data_get_interface
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_new0
    - g_ptr_array_add
    linkageType: ''
    returnType: GDBusInterfaceInfo*
    signature: 'static GDBusInterfaceInfo *parse_data_get_interface (ParseData *data,
      gboolean create_new) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gdbusintrospection.c:296,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/gio/gdbusintrospection.c:298,1
    - Dst: free_null_terminated_array
      Src: /src/glib/gio/gdbusintrospection.c:301,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusintrospection.c:300,1
    - Dst: free_null_terminated_array
      Src: /src/glib/gio/gdbusintrospection.c:302,1
    - Dst: free_null_terminated_array
      Src: /src/glib/gio/gdbusintrospection.c:303,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusintrospection.c:304,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - info
    argTypes:
    - GDBusMethodInfo*
    constantsTouched: []
    func_position:
      end: 306
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 306
    functionName: g_dbus_method_info_unref
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - free_null_terminated_array
    - g_free
    - g_atomic_int_dec_and_test
    - g_atomic_int_get
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_method_info_unref (GDBusMethodInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_foreach
      Src: /src/glib/gio/gdbusintrospection.c:1015,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gdbusintrospection.c:1016,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - ParseData*
    constantsTouched: []
    func_position:
      end: 1018
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1018
    functionName: parse_data_free_annotations
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_ptr_array_foreach
    - g_ptr_array_free
    linkageType: ''
    returnType: void
    signature: 'static void parse_data_free_annotations (ParseData *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusintrospection.c:1160,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusintrospection.c:1160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1162
    functionName: parse_data_get_node
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_new0
    - g_ptr_array_add
    linkageType: ''
    returnType: GDBusNodeInfo*
    signature: 'static GDBusNodeInfo *parse_data_get_node (ParseData *data, gboolean
      create_new) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gdbusintrospection.c:1775,1
    - Dst: parse_data_new
      Src: /src/glib/gio/gdbusintrospection.c:1780,1
    - Dst: g_markup_parse_context_new
      Src: /src/glib/gio/gdbusintrospection.c:1781,1
    - Dst: strlen
      Src: /src/glib/gio/gdbusintrospection.c:1788,1
    - Dst: g_markup_parse_context_parse
      Src: /src/glib/gio/gdbusintrospection.c:1786,1
    - Dst: g_markup_parse_context_end_parse
      Src: /src/glib/gio/gdbusintrospection.c:1792,1
    - Dst: parse_data_steal_nodes
      Src: /src/glib/gio/gdbusintrospection.c:1795,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusintrospection.c:1801,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/gdbusintrospection.c:1810,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusintrospection.c:1816,1
    - Dst: g_markup_parse_context_free
      Src: /src/glib/gio/gdbusintrospection.c:1821,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusintrospection.c:1819,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1824
      start: 1760
    functionDepth: 0
    functionLinenumber: 1760
    functionLinenumberEnd: 1824
    functionName: g_dbus_node_info_new_for_xml
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_markup_parse_context_end_parse
    - strlen
    - g_dbus_node_info_unref
    - parse_data_steal_nodes
    - g_markup_parse_context_new
    - parse_data_new
    - g_markup_parse_context_parse
    - g_new0
    - g_markup_parse_context_free
    - g_free
    linkageType: ''
    returnType: GDBusNodeInfo*
    signature: 'GDBusNodeInfo *g_dbus_node_info_new_for_xml (const gchar *xml_data,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusintrospection.c:1851,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1860
      start: 1841
    functionDepth: 0
    functionLinenumber: 1841
    functionLinenumberEnd: 1860
    functionName: g_dbus_annotation_info_lookup
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_dbus_annotation_info_lookup (GDBusAnnotationInfo **annotations,
      const gchar *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gdbusintrospection.c:135,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/gdbusintrospection.c:137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 139
    functionName: g_dbus_method_info_ref
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_atomic_int_inc
    - g_atomic_int_get
    linkageType: ''
    returnType: GDBusMethodInfo*
    signature: 'GDBusMethodInfo *g_dbus_method_info_ref (GDBusMethodInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_foreach
      Src: /src/glib/gio/gdbusintrospection.c:1195,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gdbusintrospection.c:1196,1
    - Dst: g_slist_free
      Src: /src/glib/gio/gdbusintrospection.c:1198,1
    - Dst: g_ptr_array_foreach
      Src: /src/glib/gio/gdbusintrospection.c:1204,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gdbusintrospection.c:1205,1
    - Dst: g_slist_free
      Src: /src/glib/gio/gdbusintrospection.c:1207,1
    - Dst: g_ptr_array_foreach
      Src: /src/glib/gio/gdbusintrospection.c:1213,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gdbusintrospection.c:1214,1
    - Dst: g_slist_free
      Src: /src/glib/gio/gdbusintrospection.c:1216,1
    - Dst: parse_data_free_args
      Src: /src/glib/gio/gdbusintrospection.c:1219,1
    - Dst: parse_data_free_out_args
      Src: /src/glib/gio/gdbusintrospection.c:1220,1
    - Dst: parse_data_free_methods
      Src: /src/glib/gio/gdbusintrospection.c:1221,1
    - Dst: parse_data_free_properties
      Src: /src/glib/gio/gdbusintrospection.c:1223,1
    - Dst: parse_data_free_interfaces
      Src: /src/glib/gio/gdbusintrospection.c:1224,1
    - Dst: parse_data_free_nodes
      Src: /src/glib/gio/gdbusintrospection.c:1226,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusintrospection.c:1228,1
    - Dst: parse_data_free_annotations
      Src: /src/glib/gio/gdbusintrospection.c:1225,1
    - Dst: parse_data_free_signals
      Src: /src/glib/gio/gdbusintrospection.c:1222,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - data
    argTypes:
    - ParseData*
    constantsTouched: []
    func_position:
      end: 1229
      start: 1186
    functionDepth: 0
    functionLinenumber: 1186
    functionLinenumberEnd: 1229
    functionName: parse_data_free
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - parse_data_free_args
    - parse_data_free_interfaces
    - parse_data_free_properties
    - parse_data_free_signals
    - parse_data_free_nodes
    - g_free
    - parse_data_free_methods
    - g_ptr_array_foreach
    - parse_data_free_out_args
    - parse_data_free_annotations
    - g_ptr_array_free
    - g_slist_free
    linkageType: ''
    returnType: void
    signature: 'static void parse_data_free (ParseData *data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusintrospection.c:1916,1
    - Dst: G_LIKELY
      Src: /src/glib/gio/gdbusintrospection.c:1917,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusintrospection.c:1920,1
    - Dst: G_LIKELY
      Src: /src/glib/gio/gdbusintrospection.c:1921,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusintrospection.c:1923,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusintrospection.c:1924,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusintrospection.c:1928,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusintrospection.c:1934,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1945
      start: 1909
    functionDepth: 0
    functionLinenumber: 1909
    functionLinenumberEnd: 1945
    functionName: g_dbus_interface_info_lookup_method
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - g_hash_table_lookup
    - G_LIKELY
    - g_strcmp0
    - G_LOCK
    linkageType: ''
    returnType: GDBusMethodInfo*
    signature: 'GDBusMethodInfo *g_dbus_interface_info_lookup_method (GDBusInterfaceInfo
      *info, const gchar *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gdbusintrospection.c:195,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/gdbusintrospection.c:197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 199
    functionName: g_dbus_arg_info_ref
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_atomic_int_inc
    - g_atomic_int_get
    linkageType: ''
    returnType: GDBusArgInfo*
    signature: 'GDBusArgInfo *g_dbus_arg_info_ref (GDBusArgInfo *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gdbusintrospection.c:272,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusintrospection.c:276,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusintrospection.c:277,1
    - Dst: free_null_terminated_array
      Src: /src/glib/gio/gdbusintrospection.c:278,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/gio/gdbusintrospection.c:274,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusintrospection.c:279,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - info
    argTypes:
    - GDBusArgInfo*
    constantsTouched: []
    func_position:
      end: 281
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 281
    functionName: g_dbus_arg_info_unref
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - free_null_terminated_array
    - g_free
    - g_atomic_int_dec_and_test
    - g_atomic_int_get
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_arg_info_unref (GDBusArgInfo *info) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusintrospection.c:2024,1
    - Dst: G_LIKELY
      Src: /src/glib/gio/gdbusintrospection.c:2029,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusintrospection.c:2031,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusintrospection.c:2028,1
    - Dst: G_LIKELY
      Src: /src/glib/gio/gdbusintrospection.c:2025,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusintrospection.c:2032,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusintrospection.c:2036,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusintrospection.c:2042,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2053
      start: 2017
    functionDepth: 0
    functionLinenumber: 2017
    functionLinenumberEnd: 2053
    functionName: g_dbus_interface_info_lookup_property
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - g_hash_table_lookup
    - G_LIKELY
    - g_strcmp0
    - G_LOCK
    linkageType: ''
    returnType: GDBusPropertyInfo*
    signature: 'GDBusPropertyInfo *g_dbus_interface_info_lookup_property (GDBusInterfaceInfo
      *info, const gchar *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusintrospection.c:2170,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2181
      start: 2159
    functionDepth: 0
    functionLinenumber: 2159
    functionLinenumberEnd: 2181
    functionName: g_dbus_node_info_lookup_interface
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    linkageType: ''
    returnType: GDBusInterfaceInfo*
    signature: 'GDBusInterfaceInfo *g_dbus_node_info_lookup_interface (GDBusNodeInfo
      *info, const gchar *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gdbusintrospection.c:95,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/gdbusintrospection.c:97,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: g_dbus_node_info_ref
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_atomic_int_inc
    - g_atomic_int_get
    linkageType: ''
    returnType: GDBusNodeInfo*
    signature: 'GDBusNodeInfo *g_dbus_node_info_ref (GDBusNodeInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gdbusintrospection.c:215,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/gdbusintrospection.c:217,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 219
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 219
    functionName: g_dbus_annotation_info_ref
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_atomic_int_inc
    - g_atomic_int_get
    linkageType: ''
    returnType: GDBusAnnotationInfo*
    signature: 'GDBusAnnotationInfo *g_dbus_annotation_info_ref (GDBusAnnotationInfo
      *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gdbusintrospection.c:345,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusintrospection.c:349,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/gio/gdbusintrospection.c:347,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusintrospection.c:350,1
    - Dst: free_null_terminated_array
      Src: /src/glib/gio/gdbusintrospection.c:351,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusintrospection.c:352,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - info
    argTypes:
    - GDBusPropertyInfo*
    constantsTouched: []
    func_position:
      end: 354
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 354
    functionName: g_dbus_property_info_unref
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - free_null_terminated_array
    - g_free
    - g_atomic_int_dec_and_test
    - g_atomic_int_get
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_property_info_unref (GDBusPropertyInfo *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gdbusintrospection.c:395,1
    - Dst: free_null_terminated_array
      Src: /src/glib/gio/gdbusintrospection.c:401,1
    - Dst: free_null_terminated_array
      Src: /src/glib/gio/gdbusintrospection.c:400,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/gio/gdbusintrospection.c:397,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusintrospection.c:399,1
    - Dst: free_null_terminated_array
      Src: /src/glib/gio/gdbusintrospection.c:402,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusintrospection.c:403,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - info
    argTypes:
    - GDBusNodeInfo*
    constantsTouched: []
    func_position:
      end: 405
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 405
    functionName: g_dbus_node_info_unref
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - free_null_terminated_array
    - g_free
    - g_atomic_int_dec_and_test
    - g_atomic_int_get
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_node_info_unref (GDBusNodeInfo *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusintrospection.c:525,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 13
    argCount: 7
    argNames:
    - data
    - info
    - name
    - methods
    - signals
    - properties
    - annotations
    argTypes:
    - ParseData*
    - GDBusInterfaceInfo*
    - gchar*
    - GDBusMethodInfo**
    - GDBusSignalInfo**
    - GDBusPropertyInfo**
    - GDBusAnnotationInfo**
    constantsTouched: []
    func_position:
      end: 538
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 538
    functionName: g_dbus_interface_info_set
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_strdup
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_interface_info_set (ParseData *data, GDBusInterfaceInfo
      *info, const gchar *name, GDBusMethodInfo **methods, GDBusSignalInfo **signals,
      GDBusPropertyInfo **properties, GDBusAnnotationInfo **annotations) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_markup_printf_escaped
      Src: /src/glib/gio/gdbusintrospection.c:576,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusintrospection.c:589,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusintrospection.c:585,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusintrospection.c:580,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusintrospection.c:581,1
    - Dst: g_dbus_annotation_info_generate_xml
      Src: /src/glib/gio/gdbusintrospection.c:592,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusintrospection.c:596,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - info
    - indent
    - string_builder
    argTypes:
    - GDBusAnnotationInfo*
    - guint
    - GString*
    constantsTouched: []
    func_position:
      end: 600
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 600
    functionName: g_dbus_annotation_info_generate_xml
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_dbus_annotation_info_generate_xml
    - g_markup_printf_escaped
    - g_string_append_printf
    - g_free
    - g_string_append
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_annotation_info_generate_xml (GDBusAnnotationInfo
      *info, guint indent, GString *string_builder) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusintrospection.c:645,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusintrospection.c:655,1
    - Dst: g_dbus_annotation_info_generate_xml
      Src: /src/glib/gio/gdbusintrospection.c:658,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusintrospection.c:651,1
    - Dst: g_dbus_arg_info_generate_xml
      Src: /src/glib/gio/gdbusintrospection.c:663,1
    - Dst: g_dbus_arg_info_generate_xml
      Src: /src/glib/gio/gdbusintrospection.c:669,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusintrospection.c:674,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 3
    argNames:
    - info
    - indent
    - string_builder
    argTypes:
    - GDBusMethodInfo*
    - guint
    - GString*
    constantsTouched: []
    func_position:
      end: 676
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 676
    functionName: g_dbus_method_info_generate_xml
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_dbus_arg_info_generate_xml
    - g_string_append_printf
    - g_dbus_annotation_info_generate_xml
    - g_string_append
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_method_info_generate_xml (GDBusMethodInfo *info,
      guint indent, GString *string_builder) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusintrospection.c:875,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gdbusintrospection.c:876,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gdbusintrospection.c:878,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 880
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 880
    functionName: parse_data_steal_annotations
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_ptr_array_free
    - g_ptr_array_new
    - g_ptr_array_add
    linkageType: ''
    returnType: GDBusAnnotationInfo**
    signature: 'static GDBusAnnotationInfo **parse_data_steal_annotations (ParseData
      *data, guint *out_num_elements) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusintrospection.c:552,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 12
    argCount: 6
    argNames:
    - data
    - info
    - path
    - interfaces
    - nodes
    - annotations
    argTypes:
    - ParseData*
    - GDBusNodeInfo*
    - gchar*
    - GDBusInterfaceInfo**
    - GDBusNodeInfo**
    - GDBusAnnotationInfo**
    constantsTouched: []
    func_position:
      end: 564
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 564
    functionName: g_dbus_node_info_set
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_strdup
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_node_info_set (ParseData *data, GDBusNodeInfo *info,
      const gchar *path, GDBusInterfaceInfo **interfaces, GDBusNodeInfo **nodes, GDBusAnnotationInfo
      **annotations) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusintrospection.c:610,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusintrospection.c:622,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusintrospection.c:626,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusintrospection.c:615,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusintrospection.c:618,1
    - Dst: g_dbus_annotation_info_generate_xml
      Src: /src/glib/gio/gdbusintrospection.c:629,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusintrospection.c:633,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 4
    argNames:
    - info
    - indent
    - extra_attributes
    - string_builder
    argTypes:
    - GDBusArgInfo*
    - guint
    - gchar*
    - GString*
    constantsTouched: []
    func_position:
      end: 636
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 636
    functionName: g_dbus_arg_info_generate_xml
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_string_append_printf
    - g_dbus_annotation_info_generate_xml
    - g_string_append
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_arg_info_generate_xml (GDBusArgInfo *info, guint
      indent, const gchar *extra_attributes, GString *string_builder) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusintrospection.c:685,1
    - Dst: g_dbus_arg_info_generate_xml
      Src: /src/glib/gio/gdbusintrospection.c:703,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusintrospection.c:691,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusintrospection.c:695,1
    - Dst: g_dbus_annotation_info_generate_xml
      Src: /src/glib/gio/gdbusintrospection.c:698,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusintrospection.c:708,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - info
    - indent
    - string_builder
    argTypes:
    - GDBusSignalInfo*
    - guint
    - GString*
    constantsTouched: []
    func_position:
      end: 710
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 710
    functionName: g_dbus_signal_info_generate_xml
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_dbus_arg_info_generate_xml
    - g_string_append_printf
    - g_dbus_annotation_info_generate_xml
    - g_string_append
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_signal_info_generate_xml (GDBusSignalInfo *info,
      guint indent, GString *string_builder) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusintrospection.c:911,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gdbusintrospection.c:912,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gdbusintrospection.c:914,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 916
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 916
    functionName: parse_data_steal_out_args
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_ptr_array_free
    - g_ptr_array_new
    - g_ptr_array_add
    linkageType: ''
    returnType: GDBusArgInfo**
    signature: 'static GDBusArgInfo **parse_data_steal_out_args (ParseData *data,
      guint *out_num_elements) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusintrospection.c:1115,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusintrospection.c:1115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1110
    functionDepth: 0
    functionLinenumber: 1110
    functionLinenumberEnd: 1117
    functionName: parse_data_get_out_arg
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_new0
    - g_ptr_array_add
    linkageType: ''
    returnType: GDBusArgInfo*
    signature: 'static GDBusArgInfo *parse_data_get_out_arg (ParseData *data, gboolean
      create_new) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gdbusintrospection.c:1883,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusintrospection.c:1884,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusintrospection.c:1886,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gdbusintrospection.c:1887,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusintrospection.c:1885,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - cache
    argTypes:
    - InfoCacheEntry*
    constantsTouched: []
    func_position:
      end: 1888
      start: 1880
    functionDepth: 0
    functionLinenumber: 1880
    functionLinenumberEnd: 1888
    functionName: info_cache_free
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_slice_free
    - g_hash_table_unref
    linkageType: ''
    returnType: void
    signature: 'static void info_cache_free (InfoCacheEntry *cache) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gdbusintrospection.c:155,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/gdbusintrospection.c:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 159
    functionName: g_dbus_signal_info_ref
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_atomic_int_inc
    - g_atomic_int_get
    linkageType: ''
    returnType: GDBusSignalInfo*
    signature: 'GDBusSignalInfo *g_dbus_signal_info_ref (GDBusSignalInfo *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusintrospection.c:831,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusintrospection.c:833,1
    - Dst: g_dbus_annotation_info_generate_xml
      Src: /src/glib/gio/gdbusintrospection.c:844,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusintrospection.c:837,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusintrospection.c:841,1
    - Dst: g_dbus_interface_info_generate_xml
      Src: /src/glib/gio/gdbusintrospection.c:849,1
    - Dst: g_dbus_node_info_generate_xml
      Src: /src/glib/gio/gdbusintrospection.c:854,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusintrospection.c:858,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 3
    argNames:
    - info
    - indent
    - string_builder
    argTypes:
    - GDBusNodeInfo*
    - guint
    - GString*
    constantsTouched: []
    func_position:
      end: 860
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 860
    functionName: g_dbus_node_info_generate_xml
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_dbus_annotation_info_generate_xml
    - g_dbus_node_info_generate_xml
    - g_dbus_interface_info_generate_xml
    - g_string_append_printf
    - g_string_append
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_node_info_generate_xml (GDBusNodeInfo *info, guint indent,
      GString *string_builder) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1297,1
    - Dst: g_markup_collect_attributes
      Src: /src/glib/gio/gdbusintrospection.c:1339,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1444,1
    - Dst: g_dbus_arg_info_set
      Src: /src/glib/gio/gdbusintrospection.c:1510,1
    - Dst: g_markup_collect_attributes
      Src: /src/glib/gio/gdbusintrospection.c:1453,1
    - Dst: g_markup_collect_attributes
      Src: /src/glib/gio/gdbusintrospection.c:1269,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusintrospection.c:1533,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1437,1
    - Dst: parse_data_get_annotation
      Src: /src/glib/gio/gdbusintrospection.c:1550,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1522,1
    - Dst: parse_data_get_property
      Src: /src/glib/gio/gdbusintrospection.c:1429,1
    - Dst: g_slist_length
      Src: /src/glib/gio/gdbusintrospection.c:1442,1
    - Dst: g_dbus_node_info_set
      Src: /src/glib/gio/gdbusintrospection.c:1279,1
    - Dst: g_dbus_property_info_set
      Src: /src/glib/gio/gdbusintrospection.c:1428,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1484,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusintrospection.c:1486,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1528,1
    - Dst: parse_data_steal_interfaces
      Src: /src/glib/gio/gdbusintrospection.c:1289,1
    - Dst: g_dbus_method_info_set
      Src: /src/glib/gio/gdbusintrospection.c:1349,1
    - Dst: parse_data_get_signal
      Src: /src/glib/gio/gdbusintrospection.c:1380,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1443,1
    - Dst: parse_data_get_arg
      Src: /src/glib/gio/gdbusintrospection.c:1502,1
    - Dst: g_markup_collect_attributes
      Src: /src/glib/gio/gdbusintrospection.c:1308,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1389,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1412,1
    - Dst: g_slist_prepend
      Src: /src/glib/gio/gdbusintrospection.c:1563,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusintrospection.c:1475,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusintrospection.c:1496,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1463,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1416,1
    - Dst: g_slist_length
      Src: /src/glib/gio/gdbusintrospection.c:1260,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusintrospection.c:1395,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1527,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1471,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1531,1
    - Dst: parse_data_get_node
      Src: /src/glib/gio/gdbusintrospection.c:1280,1
    - Dst: g_slist_length
      Src: /src/glib/gio/gdbusintrospection.c:1330,1
    - Dst: g_markup_collect_attributes
      Src: /src/glib/gio/gdbusintrospection.c:1371,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1393,1
    - Dst: g_markup_collect_attributes
      Src: /src/glib/gio/gdbusintrospection.c:1402,1
    - Dst: g_markup_collect_attributes
      Src: /src/glib/gio/gdbusintrospection.c:1540,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusintrospection.c:1494,1
    - Dst: g_dbus_annotation_info_set
      Src: /src/glib/gio/gdbusintrospection.c:1549,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1260,1
    - Dst: parse_data_steal_nodes
      Src: /src/glib/gio/gdbusintrospection.c:1293,1
    - Dst: g_slist_prepend
      Src: /src/glib/gio/gdbusintrospection.c:1291,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1330,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusintrospection.c:1332,1
    - Dst: g_dbus_signal_info_set
      Src: /src/glib/gio/gdbusintrospection.c:1379,1
    - Dst: parse_data_get_out_arg
      Src: /src/glib/gio/gdbusintrospection.c:1511,1
    - Dst: parse_data_steal_annotations
      Src: /src/glib/gio/gdbusintrospection.c:1565,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusintrospection.c:1446,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1258,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1328,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1525,1
    - Dst: g_dbus_arg_info_set
      Src: /src/glib/gio/gdbusintrospection.c:1501,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1530,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1526,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusintrospection.c:1519,1
    - Dst: parse_data_get_method
      Src: /src/glib/gio/gdbusintrospection.c:1350,1
    - Dst: g_slist_length
      Src: /src/glib/gio/gdbusintrospection.c:1393,1
    - Dst: g_slist_length
      Src: /src/glib/gio/gdbusintrospection.c:1362,1
    - Dst: g_slist_length
      Src: /src/glib/gio/gdbusintrospection.c:1524,1
    - Dst: g_dbus_interface_info_set
      Src: /src/glib/gio/gdbusintrospection.c:1318,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1362,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusintrospection.c:1364,1
    - Dst: g_markup_parse_context_get_element_stack
      Src: /src/glib/gio/gdbusintrospection.c:1255,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusintrospection.c:1262,1
    - Dst: g_slist_prepend
      Src: /src/glib/gio/gdbusintrospection.c:1287,1
    - Dst: g_slist_length
      Src: /src/glib/gio/gdbusintrospection.c:1299,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1360,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1469,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusintrospection.c:1420,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1299,1
    - Dst: parse_data_get_interface
      Src: /src/glib/gio/gdbusintrospection.c:1319,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusintrospection.c:1301,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1414,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusintrospection.c:1529,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 192
    argCount: 6
    argNames:
    - context
    - element_name
    - attribute_names
    - attribute_values
    - user_data
    - error
    argTypes:
    - GMarkupParseContext*
    - gchar*
    - gchar**
    - gchar**
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 1569
      start: 1233
    functionDepth: 0
    functionLinenumber: 1233
    functionLinenumberEnd: 1569
    functionName: parser_start_element
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_dbus_node_info_set
    - strcmp
    - g_set_error_literal
    - parse_data_get_method
    - g_dbus_interface_info_set
    - parse_data_get_out_arg
    - parse_data_get_node
    - parse_data_get_property
    - g_slist_length
    - parse_data_get_annotation
    - parse_data_get_interface
    - parse_data_steal_interfaces
    - g_slist_prepend
    - parse_data_steal_annotations
    - g_set_error
    - g_strdup
    - g_dbus_method_info_set
    - parse_data_get_signal
    - g_dbus_signal_info_set
    - g_dbus_arg_info_set
    - g_dbus_annotation_info_set
    - parse_data_steal_nodes
    - parse_data_get_arg
    - g_markup_parse_context_get_element_stack
    - g_free
    - g_markup_collect_attributes
    - g_dbus_property_info_set
    linkageType: ''
    returnType: void
    signature: 'static void parser_start_element (GMarkupParseContext *context, const
      gchar *element_name, const gchar **attribute_names, const gchar **attribute_values,
      gpointer user_data, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusintrospection.c:2080,1
    - Dst: g_slice_new0
      Src: /src/glib/gio/gdbusintrospection.c:2089,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdbusintrospection.c:2082,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusintrospection.c:2083,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/gdbusintrospection.c:2091,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/gdbusintrospection.c:2092,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/gdbusintrospection.c:2093,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusintrospection.c:2095,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusintrospection.c:2097,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusintrospection.c:2099,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusintrospection.c:2100,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusintrospection.c:2102,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 1
    argNames:
    - info
    argTypes:
    - GDBusInterfaceInfo*
    constantsTouched: []
    func_position:
      end: 2103
      start: 2074
    functionDepth: 0
    functionLinenumber: 2074
    functionLinenumberEnd: 2103
    functionName: g_dbus_interface_info_cache_build
    functionSourceFile: /src/glib/gio/gdbusintrospection.c
    functionUses: []
    functionsReached:
    - g_slice_new0
    - G_UNLOCK
    - g_hash_table_lookup
    - g_hash_table_insert
    - g_hash_table_new_full
    - g_hash_table_new
    - G_LOCK
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_interface_info_cache_build (GDBusInterfaceInfo *info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_hostname_is_ip_address
      Src: /src/glib/gio/gsocks5proxy.c:293,1
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/gsocks5proxy.c:295,1
    - Dst: g_inet_address_to_bytes
      Src: /src/glib/gio/gsocks5proxy.c:302,1
    - Dst: memcpy
      Src: /src/glib/gio/gsocks5proxy.c:302,1
    - Dst: g_inet_address_get_native_size
      Src: /src/glib/gio/gsocks5proxy.c:296,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocks5proxy.c:305,1
    - Dst: strlen
      Src: /src/glib/gio/gsocks5proxy.c:309,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocks5proxy.c:313,1
    - Dst: _
      Src: /src/glib/gio/gsocks5proxy.c:314,1
    - Dst: memcpy
      Src: /src/glib/gio/gsocks5proxy.c:321,1
    - Dst: g_htons
      Src: /src/glib/gio/gsocks5proxy.c:326,1
    - Dst: memcpy
      Src: /src/glib/gio/gsocks5proxy.c:327,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 5
    argNames:
    - msg
    - hostname
    - port
    - out_len
    - error
    argTypes:
    - guint8*
    - gchar*
    - guint16
    - size_t*
    - GError**
    constantsTouched: []
    func_position:
      end: 335
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 335
    functionName: set_connect_msg
    functionSourceFile: /src/glib/gio/gsocks5proxy.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_inet_address_get_native_size
    - memcpy
    - g_htons
    - g_object_unref
    - strlen
    - g_inet_address_to_bytes
    - g_hostname_is_ip_address
    - _
    - g_inet_address_new_from_string
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean set_connect_msg (guint8 *msg, const gchar *hostname,
      guint16 port, size_t *out_len, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/gsocks5proxy.c:635,1
    - Dst: g_task_get_priority
      Src: /src/glib/gio/gsocks5proxy.c:639,1
    - Dst: g_output_stream_write_async
      Src: /src/glib/gio/gsocks5proxy.c:636,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gsocks5proxy.c:640,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - callback
    - task
    - data
    argTypes:
    - GAsyncReadyCallback
    - GTask*
    - ConnectAsyncData*
    constantsTouched: []
    func_position:
      end: 642
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 642
    functionName: do_write
    functionSourceFile: /src/glib/gio/gsocks5proxy.c
    functionUses: []
    functionsReached:
    - g_output_stream_write_async
    - g_io_stream_get_output_stream
    - g_task_get_cancellable
    - g_task_get_priority
    linkageType: ''
    returnType: void
    signature: 'static void do_write (GAsyncReadyCallback callback, GTask *task, ConnectAsyncData
      *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - msg
    - has_auth
    argTypes:
    - guint8*
    - gboolean
    constantsTouched: []
    func_position:
      end: 134
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 134
    functionName: set_nego_msg
    functionSourceFile: /src/glib/gio/gsocks5proxy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'static size_t set_nego_msg (guint8 *msg, gboolean has_auth) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/gio/gsocks5proxy.c:655,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocks5proxy.c:656,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gsocks5proxy.c:660,1
    - Dst: g_task_new
      Src: /src/glib/gio/gsocks5proxy.c:658,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gsocks5proxy.c:659,1
    - Dst: g_object_get
      Src: /src/glib/gio/gsocks5proxy.c:662,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocks5proxy.c:662,1
    - Dst: g_malloc0
      Src: /src/glib/gio/gsocks5proxy.c:669,1
    - Dst: set_nego_msg
      Src: /src/glib/gio/gsocks5proxy.c:670,1
    - Dst: do_write
      Src: /src/glib/gio/gsocks5proxy.c:674,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 6
    argNames:
    - proxy
    - io_stream
    - proxy_address
    - cancellable
    - callback
    - user_data
    argTypes:
    - GProxy*
    - GIOStream*
    - GProxyAddress*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 675
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 675
    functionName: g_socks5_proxy_connect_async
    functionSourceFile: /src/glib/gio/gsocks5proxy.c
    functionUses: []
    functionsReached:
    - g_object_get
    - do_write
    - g_task_new
    - g_slice_new0
    - g_task_set_source_tag
    - g_malloc0
    - G_OBJECT
    - g_object_ref
    - g_task_set_task_data
    - set_nego_msg
    linkageType: ''
    returnType: void
    signature: "static void g_socks5_proxy_connect_async (GProxy *proxy,\t\t\t GIOStream\
      \ *io_stream,\t\t\t GProxyAddress *proxy_address,\t\t\t GCancellable *cancellable,\t\
      \t\t GAsyncReadyCallback callback,\t\t\t gpointer user_data) "
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocks5proxy.c:404,1
    - Dst: _
      Src: /src/glib/gio/gsocks5proxy.c:405,1
    - Dst: _
      Src: /src/glib/gio/gsocks5proxy.c:411,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocks5proxy.c:398,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocks5proxy.c:422,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocks5proxy.c:416,1
    - Dst: _
      Src: /src/glib/gio/gsocks5proxy.c:417,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocks5proxy.c:410,1
    - Dst: _
      Src: /src/glib/gio/gsocks5proxy.c:423,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocks5proxy.c:354,1
    - Dst: _
      Src: /src/glib/gio/gsocks5proxy.c:355,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocks5proxy.c:364,1
    - Dst: _
      Src: /src/glib/gio/gsocks5proxy.c:365,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocks5proxy.c:385,1
    - Dst: _
      Src: /src/glib/gio/gsocks5proxy.c:386,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocks5proxy.c:391,1
    - Dst: _
      Src: /src/glib/gio/gsocks5proxy.c:392,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocks5proxy.c:428,1
    - Dst: _
      Src: /src/glib/gio/gsocks5proxy.c:429,1
    - Dst: _
      Src: /src/glib/gio/gsocks5proxy.c:399,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocks5proxy.c:378,1
    - Dst: _
      Src: /src/glib/gio/gsocks5proxy.c:379,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 30
    argCount: 3
    argNames:
    - data
    - atype
    - error
    argTypes:
    - guint8*
    - gint*
    - GError**
    constantsTouched: []
    func_position:
      end: 435
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 435
    functionName: parse_connect_reply
    functionSourceFile: /src/glib/gio/gsocks5proxy.c
    functionUses: []
    functionsReached:
    - _
    - g_set_error_literal
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean parse_connect_reply (const guint8 *data, gint *atype,
      GError **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gsocks5proxy.c:947,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gsocks5proxy.c:951,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocks5proxy.c:957,1
    - Dst: g_input_stream_read_finish
      Src: /src/glib/gio/gsocks5proxy.c:951,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gsocks5proxy.c:956,1
    - Dst: g_task_return_new_error_literal
      Src: /src/glib/gio/gsocks5proxy.c:963,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocks5proxy.c:967,1
    - Dst: parse_connect_reply
      Src: /src/glib/gio/gsocks5proxy.c:977,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gsocks5proxy.c:979,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocks5proxy.c:980,1
    - Dst: do_read
      Src: /src/glib/gio/gsocks5proxy.c:989,1
    - Dst: do_read
      Src: /src/glib/gio/gsocks5proxy.c:1001,1
    - Dst: do_read
      Src: /src/glib/gio/gsocks5proxy.c:995,1
    - Dst: do_read
      Src: /src/glib/gio/gsocks5proxy.c:1007,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1009
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 1009
    functionName: connect_reply_read_cb
    functionSourceFile: /src/glib/gio/gsocks5proxy.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_input_stream_read_finish
    - g_task_return_new_error_literal
    - do_read
    - G_INPUT_STREAM
    - g_task_get_task_data
    - g_task_return_error
    - parse_connect_reply
    linkageType: ''
    returnType: void
    signature: "static void connect_reply_read_cb (GObject *source,\t\t GAsyncResult\
      \ *result,\t\t gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - GProxy*
    constantsTouched: []
    func_position:
      end: 1103
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1103
    functionName: g_socks5_proxy_supports_hostname
    functionSourceFile: /src/glib/gio/gsocks5proxy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_socks5_proxy_supports_hostname (GProxy *proxy) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/gio/gsocks5proxy.c:218,1
    - Dst: _
      Src: /src/glib/gio/gsocks5proxy.c:226,1
    - Dst: strlen
      Src: /src/glib/gio/gsocks5proxy.c:221,1
    - Dst: memcpy
      Src: /src/glib/gio/gsocks5proxy.c:235,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocks5proxy.c:225,1
    - Dst: memcpy
      Src: /src/glib/gio/gsocks5proxy.c:241,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 5
    argNames:
    - msg
    - username
    - password
    - out_len
    - error
    argTypes:
    - guint8*
    - gchar*
    - gchar*
    - size_t*
    - GError**
    constantsTouched: []
    func_position:
      end: 249
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 249
    functionName: set_auth_msg
    functionSourceFile: /src/glib/gio/gsocks5proxy.c
    functionUses: []
    functionsReached:
    - _
    - g_set_error_literal
    - strlen
    - memcpy
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean set_auth_msg (guint8 *msg, const gchar *username,
      const gchar *password, size_t *out_len, GError **error) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/gsocks5proxy.c:459,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/gsocks5proxy.c:460,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/gsocks5proxy.c:515,1
    - Dst: g_input_stream_read_all
      Src: /src/glib/gio/gsocks5proxy.c:535,1
    - Dst: g_input_stream_read_all
      Src: /src/glib/gio/gsocks5proxy.c:498,1
    - Dst: set_nego_msg
      Src: /src/glib/gio/gsocks5proxy.c:467,1
    - Dst: check_auth_status
      Src: /src/glib/gio/gsocks5proxy.c:502,1
    - Dst: g_input_stream_read_all
      Src: /src/glib/gio/gsocks5proxy.c:542,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocks5proxy.c:560,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/gsocks5proxy.c:469,1
    - Dst: g_input_stream_read_all
      Src: /src/glib/gio/gsocks5proxy.c:479,1
    - Dst: set_connect_msg
      Src: /src/glib/gio/gsocks5proxy.c:512,1
    - Dst: g_input_stream_read_all
      Src: /src/glib/gio/gsocks5proxy.c:552,1
    - Dst: g_proxy_address_get_destination_hostname
      Src: /src/glib/gio/gsocks5proxy.c:452,1
    - Dst: g_proxy_address_get_destination_port
      Src: /src/glib/gio/gsocks5proxy.c:453,1
    - Dst: g_proxy_address_get_password
      Src: /src/glib/gio/gsocks5proxy.c:455,1
    - Dst: g_proxy_address_get_username
      Src: /src/glib/gio/gsocks5proxy.c:454,1
    - Dst: parse_nego_reply
      Src: /src/glib/gio/gsocks5proxy.c:483,1
    - Dst: g_input_stream_read_all
      Src: /src/glib/gio/gsocks5proxy.c:525,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/gsocks5proxy.c:494,1
    - Dst: set_auth_msg
      Src: /src/glib/gio/gsocks5proxy.c:491,1
    - Dst: parse_connect_reply
      Src: /src/glib/gio/gsocks5proxy.c:529,1
    - Dst: g_input_stream_read_all
      Src: /src/glib/gio/gsocks5proxy.c:549,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 564
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 564
    functionName: g_socks5_proxy_connect
    functionSourceFile: /src/glib/gio/gsocks5proxy.c
    functionUses: []
    functionsReached:
    - g_proxy_address_get_username
    - g_proxy_address_get_destination_port
    - set_auth_msg
    - check_auth_status
    - g_input_stream_read_all
    - g_io_stream_get_input_stream
    - g_proxy_address_get_password
    - g_output_stream_write_all
    - g_proxy_address_get_destination_hostname
    - set_connect_msg
    - parse_nego_reply
    - g_io_stream_get_output_stream
    - set_nego_msg
    - g_object_ref
    - parse_connect_reply
    linkageType: ''
    returnType: GIOStream*
    signature: "static GIOStream *g_socks5_proxy_connect (GProxy *proxy,\t\t\tGIOStream\
      \ *io_stream,\t\t\tGProxyAddress *proxy_address,\t\t\tGCancellable *cancellable,\t\
      \t\tGError **error) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gsocks5proxy.c:1017,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gsocks5proxy.c:1021,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocks5proxy.c:1027,1
    - Dst: g_input_stream_read_finish
      Src: /src/glib/gio/gsocks5proxy.c:1021,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gsocks5proxy.c:1026,1
    - Dst: g_task_return_new_error_literal
      Src: /src/glib/gio/gsocks5proxy.c:1033,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocks5proxy.c:1037,1
    - Dst: do_read
      Src: /src/glib/gio/gsocks5proxy.c:1044,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1045
      start: 1011
    functionDepth: 0
    functionLinenumber: 1011
    functionLinenumberEnd: 1045
    functionName: connect_addr_len_read_cb
    functionSourceFile: /src/glib/gio/gsocks5proxy.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_input_stream_read_finish
    - g_task_return_new_error_literal
    - do_read
    - G_INPUT_STREAM
    - g_task_get_task_data
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: "static void connect_addr_len_read_cb (GObject *source,\t\t\t GAsyncResult\
      \ *result,\t\t\t gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - class
    argTypes:
    - GSocks5ProxyClass*
    constantsTouched: []
    func_position:
      end: 1112
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1112
    functionName: g_socks5_proxy_class_init
    functionSourceFile: /src/glib/gio/gsocks5proxy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_socks5_proxy_class_init (GSocks5ProxyClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - proxy_iface
    argTypes:
    - GProxyInterface*
    constantsTouched: []
    func_position:
      end: 1121
      start: 1114
    functionDepth: 0
    functionLinenumber: 1114
    functionLinenumberEnd: 1121
    functionName: g_socks5_proxy_iface_init
    functionSourceFile: /src/glib/gio/gsocks5proxy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_socks5_proxy_iface_init (GProxyInterface *proxy_iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsocks5proxy.c:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: g_socks5_proxy_finalize
    functionSourceFile: /src/glib/gio/gsocks5proxy.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_socks5_proxy_finalize (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocks5proxy.c:258,1
    - Dst: _
      Src: /src/glib/gio/gsocks5proxy.c:259,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - data
    - error
    argTypes:
    - guint8*
    - GError**
    constantsTouched: []
    func_position:
      end: 264
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 264
    functionName: check_auth_status
    functionSourceFile: /src/glib/gio/gsocks5proxy.c
    functionUses: []
    functionsReached:
    - _
    - g_set_error_literal
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean check_auth_status (const guint8 *data, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocks5proxy.c:608,1
    - Dst: g_free
      Src: /src/glib/gio/gsocks5proxy.c:613,1
    - Dst: g_free
      Src: /src/glib/gio/gsocks5proxy.c:610,1
    - Dst: g_free
      Src: /src/glib/gio/gsocks5proxy.c:612,1
    - Dst: g_free
      Src: /src/glib/gio/gsocks5proxy.c:611,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gsocks5proxy.c:615,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - ConnectAsyncData*
    constantsTouched: []
    func_position:
      end: 616
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 616
    functionName: free_connect_data
    functionSourceFile: /src/glib/gio/gsocks5proxy.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_free
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void free_connect_data (ConnectAsyncData *data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gsocks5proxy.c:797,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gsocks5proxy.c:806,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gsocks5proxy.c:801,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocks5proxy.c:807,1
    - Dst: g_output_stream_write_finish
      Src: /src/glib/gio/gsocks5proxy.c:801,1
    - Dst: g_free
      Src: /src/glib/gio/gsocks5proxy.c:815,1
    - Dst: g_malloc0
      Src: /src/glib/gio/gsocks5proxy.c:817,1
    - Dst: do_read
      Src: /src/glib/gio/gsocks5proxy.c:821,1
    - Dst: do_write
      Src: /src/glib/gio/gsocks5proxy.c:825,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 827
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 827
    functionName: auth_msg_write_cb
    functionSourceFile: /src/glib/gio/gsocks5proxy.c
    functionUses: []
    functionsReached:
    - do_write
    - g_object_unref
    - g_malloc0
    - g_output_stream_write_finish
    - do_read
    - g_task_get_task_data
    - g_free
    - g_task_return_error
    - G_OUTPUT_STREAM
    linkageType: ''
    returnType: void
    signature: "static void auth_msg_write_cb (GObject *source,\t\t GAsyncResult *result,\t\
      \t gpointer user_data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gsocks5proxy.c:881,1
    - Dst: g_malloc0
      Src: /src/glib/gio/gsocks5proxy.c:886,1
    - Dst: set_connect_msg
      Src: /src/glib/gio/gsocks5proxy.c:889,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gsocks5proxy.c:895,1
    - Dst: g_free
      Src: /src/glib/gio/gsocks5proxy.c:884,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocks5proxy.c:896,1
    - Dst: do_write
      Src: /src/glib/gio/gsocks5proxy.c:900,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - task
    argTypes:
    - GTask*
    constantsTouched: []
    func_position:
      end: 901
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 901
    functionName: send_connect_msg
    functionSourceFile: /src/glib/gio/gsocks5proxy.c
    functionUses: []
    functionsReached:
    - do_write
    - g_object_unref
    - g_malloc0
    - g_task_get_task_data
    - set_connect_msg
    - g_free
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void send_connect_msg (GTask *task) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gsocks5proxy.c:1053,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocks5proxy.c:1063,1
    - Dst: g_input_stream_read_finish
      Src: /src/glib/gio/gsocks5proxy.c:1057,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gsocks5proxy.c:1062,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gsocks5proxy.c:1057,1
    - Dst: g_task_return_new_error_literal
      Src: /src/glib/gio/gsocks5proxy.c:1069,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocks5proxy.c:1073,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gsocks5proxy.c:1081,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocks5proxy.c:1081,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocks5proxy.c:1082,1
    - Dst: do_read
      Src: /src/glib/gio/gsocks5proxy.c:1087,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1089
      start: 1047
    functionDepth: 0
    functionLinenumber: 1047
    functionLinenumberEnd: 1089
    functionName: connect_addr_read_cb
    functionSourceFile: /src/glib/gio/gsocks5proxy.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_task_return_pointer
    - g_input_stream_read_finish
    - g_task_return_new_error_literal
    - do_read
    - G_INPUT_STREAM
    - g_task_get_task_data
    - g_object_ref
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: "static void connect_addr_read_cb (GObject *source,\t\t GAsyncResult\
      \ *result,\t\t gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - GSocks5Proxy*
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: g_socks5_proxy_init
    functionSourceFile: /src/glib/gio/gsocks5proxy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_socks5_proxy_init (GSocks5Proxy *proxy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/gsocks5proxy.c:622,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gsocks5proxy.c:627,1
    - Dst: g_input_stream_read_async
      Src: /src/glib/gio/gsocks5proxy.c:623,1
    - Dst: g_task_get_priority
      Src: /src/glib/gio/gsocks5proxy.c:626,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - callback
    - task
    - data
    argTypes:
    - GAsyncReadyCallback
    - GTask*
    - ConnectAsyncData*
    constantsTouched: []
    func_position:
      end: 629
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 629
    functionName: do_read
    functionSourceFile: /src/glib/gio/gsocks5proxy.c
    functionUses: []
    functionsReached:
    - g_task_get_cancellable
    - g_io_stream_get_input_stream
    - g_input_stream_read_async
    - g_task_get_priority
    linkageType: ''
    returnType: void
    signature: 'static void do_read (GAsyncReadyCallback callback, GTask *task, ConnectAsyncData
      *data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gsocks5proxy.c:835,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocks5proxy.c:845,1
    - Dst: g_input_stream_read_finish
      Src: /src/glib/gio/gsocks5proxy.c:839,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gsocks5proxy.c:844,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gsocks5proxy.c:839,1
    - Dst: g_task_return_new_error_literal
      Src: /src/glib/gio/gsocks5proxy.c:851,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocks5proxy.c:855,1
    - Dst: check_auth_status
      Src: /src/glib/gio/gsocks5proxy.c:863,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gsocks5proxy.c:865,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocks5proxy.c:866,1
    - Dst: do_read
      Src: /src/glib/gio/gsocks5proxy.c:874,1
    - Dst: send_connect_msg
      Src: /src/glib/gio/gsocks5proxy.c:870,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 876
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 876
    functionName: auth_reply_read_cb
    functionSourceFile: /src/glib/gio/gsocks5proxy.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - check_auth_status
    - g_input_stream_read_finish
    - g_task_return_new_error_literal
    - do_read
    - G_INPUT_STREAM
    - g_task_get_task_data
    - send_connect_msg
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: "static void auth_reply_read_cb (GObject *source,\t\t GAsyncResult\
      \ *result,\t\t gpointer user_data) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gsocks5proxy.c:909,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocks5proxy.c:919,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gsocks5proxy.c:913,1
    - Dst: g_output_stream_write_finish
      Src: /src/glib/gio/gsocks5proxy.c:913,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gsocks5proxy.c:918,1
    - Dst: g_free
      Src: /src/glib/gio/gsocks5proxy.c:927,1
    - Dst: g_malloc0
      Src: /src/glib/gio/gsocks5proxy.c:929,1
    - Dst: do_read
      Src: /src/glib/gio/gsocks5proxy.c:933,1
    - Dst: do_write
      Src: /src/glib/gio/gsocks5proxy.c:937,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 939
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 939
    functionName: connect_msg_write_cb
    functionSourceFile: /src/glib/gio/gsocks5proxy.c
    functionUses: []
    functionsReached:
    - do_write
    - g_object_unref
    - g_malloc0
    - g_output_stream_write_finish
    - do_read
    - g_task_get_task_data
    - g_free
    - g_task_return_error
    - G_OUTPUT_STREAM
    linkageType: ''
    returnType: void
    signature: "static void connect_msg_write_cb (GObject *source,\t\t GAsyncResult\
      \ *result,\t\t gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gsocks5proxy.c:1096,1
    - Dst: G_TASK
      Src: /src/glib/gio/gsocks5proxy.c:1096,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1091
    functionDepth: 0
    functionLinenumber: 1091
    functionLinenumberEnd: 1097
    functionName: g_socks5_proxy_connect_finish
    functionSourceFile: /src/glib/gio/gsocks5proxy.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_task_propagate_pointer
    linkageType: ''
    returnType: GIOStream*
    signature: "static GIOStream *g_socks5_proxy_connect_finish (GProxy *proxy,\t\t\
      \t GAsyncResult *result,\t\t\t GError **error) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gsocks5proxy.c:684,1
    - Dst: g_output_stream_write_finish
      Src: /src/glib/gio/gsocks5proxy.c:688,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gsocks5proxy.c:693,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocks5proxy.c:694,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gsocks5proxy.c:688,1
    - Dst: g_free
      Src: /src/glib/gio/gsocks5proxy.c:702,1
    - Dst: g_malloc0
      Src: /src/glib/gio/gsocks5proxy.c:704,1
    - Dst: do_read
      Src: /src/glib/gio/gsocks5proxy.c:708,1
    - Dst: do_write
      Src: /src/glib/gio/gsocks5proxy.c:712,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - source
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 714
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 714
    functionName: nego_msg_write_cb
    functionSourceFile: /src/glib/gio/gsocks5proxy.c
    functionUses: []
    functionsReached:
    - do_write
    - g_object_unref
    - g_malloc0
    - g_output_stream_write_finish
    - do_read
    - g_task_get_task_data
    - g_free
    - g_task_return_error
    - G_OUTPUT_STREAM
    linkageType: ''
    returnType: void
    signature: "static void nego_msg_write_cb (GObject *source,\t\t GAsyncResult *res,\t\
      \t gpointer user_data) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocks5proxy.c:153,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocks5proxy.c:184,1
    - Dst: _
      Src: /src/glib/gio/gsocks5proxy.c:168,1
    - Dst: _
      Src: /src/glib/gio/gsocks5proxy.c:154,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocks5proxy.c:167,1
    - Dst: _
      Src: /src/glib/gio/gsocks5proxy.c:185,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocks5proxy.c:191,1
    - Dst: _
      Src: /src/glib/gio/gsocks5proxy.c:192,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 18
    argCount: 4
    argNames:
    - data
    - has_auth
    - must_auth
    - error
    argTypes:
    - guint8*
    - gboolean
    - gboolean*
    - GError**
    constantsTouched: []
    func_position:
      end: 199
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 199
    functionName: parse_nego_reply
    functionSourceFile: /src/glib/gio/gsocks5proxy.c
    functionUses: []
    functionsReached:
    - _
    - g_set_error_literal
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean parse_nego_reply (const guint8 *data,\t\t gboolean\
      \ has_auth,\t\t gboolean *must_auth,\t\t GError **error) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gsocks5proxy.c:722,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gsocks5proxy.c:726,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocks5proxy.c:732,1
    - Dst: g_input_stream_read_finish
      Src: /src/glib/gio/gsocks5proxy.c:726,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gsocks5proxy.c:731,1
    - Dst: g_task_return_new_error_literal
      Src: /src/glib/gio/gsocks5proxy.c:738,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocks5proxy.c:742,1
    - Dst: parse_nego_reply
      Src: /src/glib/gio/gsocks5proxy.c:753,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gsocks5proxy.c:755,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocks5proxy.c:756,1
    - Dst: g_free
      Src: /src/glib/gio/gsocks5proxy.c:762,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gsocks5proxy.c:773,1
    - Dst: send_connect_msg
      Src: /src/glib/gio/gsocks5proxy.c:782,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocks5proxy.c:774,1
    - Dst: set_auth_msg
      Src: /src/glib/gio/gsocks5proxy.c:767,1
    - Dst: do_write
      Src: /src/glib/gio/gsocks5proxy.c:778,1
    - Dst: do_read
      Src: /src/glib/gio/gsocks5proxy.c:787,1
    - Dst: g_malloc0
      Src: /src/glib/gio/gsocks5proxy.c:764,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 3
    argNames:
    - source
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 789
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 789
    functionName: nego_reply_read_cb
    functionSourceFile: /src/glib/gio/gsocks5proxy.c
    functionUses: []
    functionsReached:
    - do_write
    - g_object_unref
    - g_malloc0
    - g_input_stream_read_finish
    - g_task_return_new_error_literal
    - send_connect_msg
    - do_read
    - G_INPUT_STREAM
    - g_task_get_task_data
    - parse_nego_reply
    - set_auth_msg
    - g_free
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: "static void nego_reply_read_cb (GObject *source,\t\t GAsyncResult\
      \ *res,\t\t gpointer user_data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileattribute.c:316,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 319
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 319
    functionName: _g_file_attribute_value_get_byte_string
    functionSourceFile: /src/glib/gio/gfileattribute.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: char*
    signature: 'const char *_g_file_attribute_value_get_byte_string (const GFileAttributeValue
      *attr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileattribute.c:387,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - attr
    argTypes:
    - GFileAttributeValue*
    constantsTouched: []
    func_position:
      end: 390
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 390
    functionName: _g_file_attribute_value_get_int32
    functionSourceFile: /src/glib/gio/gfileattribute.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gint32
    signature: 'gint32 _g_file_attribute_value_get_int32 (const GFileAttributeValue
      *attr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileattribute.c:756,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileattribute.c:759,1
    - Dst: g_atomic_int_add
      Src: /src/glib/gio/gfileattribute.c:758,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 762
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 762
    functionName: g_file_attribute_info_list_ref
    functionSourceFile: /src/glib/gio/gfileattribute.c
    functionUses: []
    functionsReached:
    - g_atomic_int_add
    - g_return_val_if_fail
    linkageType: ''
    returnType: GFileAttributeInfoList*
    signature: 'GFileAttributeInfoList *g_file_attribute_info_list_ref (GFileAttributeInfoList
      *list) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileattribute.c:327,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 330
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 330
    functionName: _g_file_attribute_value_get_stringv
    functionSourceFile: /src/glib/gio/gfileattribute.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: char**
    signature: 'char **_g_file_attribute_value_get_stringv (const GFileAttributeValue
      *attr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - priv
    argTypes:
    - GFileAttributeInfoListPriv*
    constantsTouched: []
    func_position:
      end: 686
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 686
    functionName: list_update_public
    functionSourceFile: /src/glib/gio/gfileattribute.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void list_update_public (GFileAttributeInfoListPriv *priv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileattribute.c:42,1
    - Dst: g_free
      Src: /src/glib/gio/gfileattribute.c:45,1
    - Dst: _g_file_attribute_value_clear
      Src: /src/glib/gio/gfileattribute.c:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - attr
    argTypes:
    - GFileAttributeValue*
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: _g_file_attribute_value_free
    functionSourceFile: /src/glib/gio/gfileattribute.c
    functionUses: []
    functionsReached:
    - _g_file_attribute_value_clear
    - g_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void _g_file_attribute_value_free (GFileAttributeValue *attr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileattribute.c:828,1
    - Dst: g_file_attribute_info_list_bsearch
      Src: /src/glib/gio/gfileattribute.c:831,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileattribute.c:829,1
    - Dst: strcmp
      Src: /src/glib/gio/gfileattribute.c:833,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 837
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 837
    functionName: g_file_attribute_info_list_lookup
    functionSourceFile: /src/glib/gio/gfileattribute.c
    functionUses: []
    functionsReached:
    - strcmp
    - g_return_val_if_fail
    - g_file_attribute_info_list_bsearch
    linkageType: ''
    returnType: GFileAttributeInfo*
    signature: "const GFileAttributeInfo *g_file_attribute_info_list_lookup (GFileAttributeInfoList\
      \ *list,\t\t\t\t const char *name) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileattribute.c:86,1
    - Dst: g_strdupv
      Src: /src/glib/gio/gfileattribute.c:97,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileattribute.c:87,1
    - Dst: _g_file_attribute_value_clear
      Src: /src/glib/gio/gfileattribute.c:89,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfileattribute.c:94,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gfileattribute.c:101,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - attr
    - new_value
    argTypes:
    - GFileAttributeValue*
    - GFileAttributeValue*
    constantsTouched: []
    func_position:
      end: 102
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 102
    functionName: _g_file_attribute_value_set
    functionSourceFile: /src/glib/gio/gfileattribute.c
    functionUses: []
    functionsReached:
    - g_strdupv
    - g_strdup
    - g_return_if_fail
    - g_object_ref
    - _g_file_attribute_value_clear
    linkageType: ''
    returnType: void
    signature: "void _g_file_attribute_value_set (GFileAttributeValue *attr,\t\t\t\
      \ const GFileAttributeValue *new_value) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileattribute.c:367,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - attr
    argTypes:
    - GFileAttributeValue*
    constantsTouched: []
    func_position:
      end: 370
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 370
    functionName: _g_file_attribute_value_get_uint32
    functionSourceFile: /src/glib/gio/gfileattribute.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: guint32
    signature: 'guint32 _g_file_attribute_value_get_uint32 (const GFileAttributeValue
      *attr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileattribute.c:447,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 450
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 450
    functionName: _g_file_attribute_value_get_object
    functionSourceFile: /src/glib/gio/gfileattribute.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: GObject*
    signature: 'GObject *_g_file_attribute_value_get_object (const GFileAttributeValue
      *attr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileattribute.c:594,1
    - Dst: _g_file_attribute_value_clear
      Src: /src/glib/gio/gfileattribute.c:596,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - attr
    - value
    argTypes:
    - GFileAttributeValue*
    - guint32
    constantsTouched: []
    func_position:
      end: 599
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 599
    functionName: _g_file_attribute_value_set_uint32
    functionSourceFile: /src/glib/gio/gfileattribute.c
    functionUses: []
    functionsReached:
    - _g_file_attribute_value_clear
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void _g_file_attribute_value_set_uint32 (GFileAttributeValue *attr,\t\
      \t\t\t guint32 value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileattribute.c:630,1
    - Dst: _g_file_attribute_value_clear
      Src: /src/glib/gio/gfileattribute.c:632,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - attr
    - value
    argTypes:
    - GFileAttributeValue*
    - guint64
    constantsTouched: []
    func_position:
      end: 635
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 635
    functionName: _g_file_attribute_value_set_uint64
    functionSourceFile: /src/glib/gio/gfileattribute.c
    functionUses: []
    functionsReached:
    - _g_file_attribute_value_clear
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void _g_file_attribute_value_set_uint64 (GFileAttributeValue *attr,\t\
      \t\t\t guint64 value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileattribute.c:724,1
    - Dst: g_array_new
      Src: /src/glib/gio/gfileattribute.c:728,1
    - Dst: g_new0
      Src: /src/glib/gio/gfileattribute.c:726,1
    - Dst: list_update_public
      Src: /src/glib/gio/gfileattribute.c:731,1
    - Dst: g_array_set_size
      Src: /src/glib/gio/gfileattribute.c:730,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfileattribute.c:734,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 740
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 740
    functionName: g_file_attribute_info_list_dup
    functionSourceFile: /src/glib/gio/gfileattribute.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_strdup
    - g_array_set_size
    - g_array_new
    - list_update_public
    - g_new0
    linkageType: ''
    returnType: GFileAttributeInfoList*
    signature: 'GFileAttributeInfoList *g_file_attribute_info_list_dup (GFileAttributeInfoList
      *list) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/gfileattribute.c:802,1
    - Dst: strcmp
      Src: /src/glib/gio/gfileattribute.c:804,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - list
    - name
    argTypes:
    - GFileAttributeInfoList*
    - char*
    constantsTouched: []
    func_position:
      end: 810
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 810
    functionName: g_file_attribute_info_list_bsearch
    functionSourceFile: /src/glib/gio/gfileattribute.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: "static int g_file_attribute_info_list_bsearch (GFileAttributeInfoList\
      \ *list,\t\t\t\t const char *name) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileattribute.c:59,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfileattribute.c:70,1
    - Dst: g_free
      Src: /src/glib/gio/gfileattribute.c:63,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gfileattribute.c:66,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - attr
    argTypes:
    - GFileAttributeValue*
    constantsTouched: []
    func_position:
      end: 73
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 73
    functionName: _g_file_attribute_value_clear
    functionSourceFile: /src/glib/gio/gfileattribute.c
    functionUses: []
    functionsReached:
    - g_strfreev
    - g_free
    - g_object_unref
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void _g_file_attribute_value_clear (GFileAttributeValue *attr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: valid_char
    functionSourceFile: /src/glib/gio/gfileattribute.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean valid_char (char c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileattribute.c:347,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - attr
    argTypes:
    - GFileAttributeValue*
    constantsTouched: []
    func_position:
      end: 350
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 350
    functionName: _g_file_attribute_value_get_boolean
    functionSourceFile: /src/glib/gio/gfileattribute.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _g_file_attribute_value_get_boolean (const GFileAttributeValue
      *attr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileattribute.c:427,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - attr
    argTypes:
    - GFileAttributeValue*
    constantsTouched: []
    func_position:
      end: 430
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 430
    functionName: _g_file_attribute_value_get_int64
    functionSourceFile: /src/glib/gio/gfileattribute.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gint64
    signature: 'gint64 _g_file_attribute_value_get_int64 (const GFileAttributeValue
      *attr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileattribute.c:544,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfileattribute.c:549,1
    - Dst: _g_file_attribute_value_clear
      Src: /src/glib/gio/gfileattribute.c:547,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileattribute.c:545,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - attr
    - string
    argTypes:
    - GFileAttributeValue*
    - char*
    constantsTouched: []
    func_position:
      end: 550
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 550
    functionName: _g_file_attribute_value_set_byte_string
    functionSourceFile: /src/glib/gio/gfileattribute.c
    functionUses: []
    functionsReached:
    - _g_file_attribute_value_clear
    - g_strdup
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void _g_file_attribute_value_set_byte_string (GFileAttributeValue\
      \ *attr,\t\t\t\t\t const char *string) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileattribute.c:576,1
    - Dst: _g_file_attribute_value_clear
      Src: /src/glib/gio/gfileattribute.c:578,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - attr
    - value
    argTypes:
    - GFileAttributeValue*
    - gboolean
    constantsTouched: []
    func_position:
      end: 581
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 581
    functionName: _g_file_attribute_value_set_boolean
    functionSourceFile: /src/glib/gio/gfileattribute.c
    functionUses: []
    functionsReached:
    - _g_file_attribute_value_clear
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void _g_file_attribute_value_set_boolean (GFileAttributeValue *attr,\t\
      \t\t\t gboolean value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileattribute.c:612,1
    - Dst: _g_file_attribute_value_clear
      Src: /src/glib/gio/gfileattribute.c:614,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - attr
    - value
    argTypes:
    - GFileAttributeValue*
    - gint32
    constantsTouched: []
    func_position:
      end: 617
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 617
    functionName: _g_file_attribute_value_set_int32
    functionSourceFile: /src/glib/gio/gfileattribute.c
    functionUses: []
    functionsReached:
    - _g_file_attribute_value_clear
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void _g_file_attribute_value_set_int32 (GFileAttributeValue *attr,\t\
      \t\t\t gint32 value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gfileattribute.c:700,1
    - Dst: g_array_new
      Src: /src/glib/gio/gfileattribute.c:703,1
    - Dst: list_update_public
      Src: /src/glib/gio/gfileattribute.c:705,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 708
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 708
    functionName: g_file_attribute_info_list_new
    functionSourceFile: /src/glib/gio/gfileattribute.c
    functionUses: []
    functionsReached:
    - g_new0
    - g_array_new
    - list_update_public
    linkageType: ''
    returnType: GFileAttributeInfoList*
    signature: 'GFileAttributeInfoList *g_file_attribute_info_list_new (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/gio/gfileattribute.c:177,1
    - Dst: valid_char
      Src: /src/glib/gio/gfileattribute.c:182,1
    - Dst: g_malloc
      Src: /src/glib/gio/gfileattribute.c:190,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfileattribute.c:187,1
    - Dst: valid_char
      Src: /src/glib/gio/gfileattribute.c:196,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 209
    functionName: escape_byte_string
    functionSourceFile: /src/glib/gio/gfileattribute.c
    functionUses: []
    functionsReached:
    - g_strdup
    - valid_char
    - strlen
    - g_malloc
    linkageType: ''
    returnType: char*
    signature: 'static char *escape_byte_string (const char *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileattribute.c:556,1
    - Dst: _g_file_attribute_value_clear
      Src: /src/glib/gio/gfileattribute.c:559,1
    - Dst: g_strdupv
      Src: /src/glib/gio/gfileattribute.c:561,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileattribute.c:557,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - attr
    - value
    argTypes:
    - GFileAttributeValue*
    - char**
    constantsTouched: []
    func_position:
      end: 562
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 562
    functionName: _g_file_attribute_value_set_stringv
    functionSourceFile: /src/glib/gio/gfileattribute.c
    functionUses: []
    functionsReached:
    - _g_file_attribute_value_clear
    - g_strdupv
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void _g_file_attribute_value_set_stringv (GFileAttributeValue *attr,\t\
      \t\t\t char **value) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileattribute.c:296,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 299
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 299
    functionName: _g_file_attribute_value_get_string
    functionSourceFile: /src/glib/gio/gfileattribute.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: char*
    signature: 'const char *_g_file_attribute_value_get_string (const GFileAttributeValue
      *attr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/gio/gfileattribute.c:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 119
    functionName: _g_file_attribute_value_new
    functionSourceFile: /src/glib/gio/gfileattribute.c
    functionUses: []
    functionsReached:
    - g_new
    linkageType: ''
    returnType: GFileAttributeValue*
    signature: 'GFileAttributeValue *_g_file_attribute_value_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileattribute.c:150,1
    - Dst: g_new
      Src: /src/glib/gio/gfileattribute.c:152,1
    - Dst: _g_file_attribute_value_set
      Src: /src/glib/gio/gfileattribute.c:154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 156
    functionName: _g_file_attribute_value_dup
    functionSourceFile: /src/glib/gio/gfileattribute.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - _g_file_attribute_value_set
    - g_new
    linkageType: ''
    returnType: GFileAttributeValue*
    signature: 'GFileAttributeValue *_g_file_attribute_value_dup (const GFileAttributeValue
      *other) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileattribute.c:228,1
    - Dst: g_string_new
      Src: /src/glib/gio/gfileattribute.c:236,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfileattribute.c:233,1
    - Dst: g_string_append
      Src: /src/glib/gio/gfileattribute.c:241,1
    - Dst: g_string_append
      Src: /src/glib/gio/gfileattribute.c:239,1
    - Dst: g_string_append
      Src: /src/glib/gio/gfileattribute.c:243,1
    - Dst: g_string_free
      Src: /src/glib/gio/gfileattribute.c:244,1
    - Dst: escape_byte_string
      Src: /src/glib/gio/gfileattribute.c:247,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gfileattribute.c:250,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gfileattribute.c:253,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gfileattribute.c:256,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gfileattribute.c:262,1
    - Dst: g_type_name_from_instance
      Src: /src/glib/gio/gfileattribute.c:265,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gfileattribute.c:259,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfileattribute.c:274,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfileattribute.c:270,1
    - Dst: g_warning
      Src: /src/glib/gio/gfileattribute.c:273,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gfileattribute.c:265,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 279
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 279
    functionName: _g_file_attribute_value_as_string
    functionSourceFile: /src/glib/gio/gfileattribute.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_strdup
    - g_strdup_printf
    - g_type_name_from_instance
    - g_warning
    - escape_byte_string
    - g_string_free
    - g_string_new
    - g_string_append
    linkageType: ''
    returnType: char*
    signature: 'char *_g_file_attribute_value_as_string (const GFileAttributeValue
      *attr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileattribute.c:525,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfileattribute.c:530,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileattribute.c:526,1
    - Dst: _g_file_attribute_value_clear
      Src: /src/glib/gio/gfileattribute.c:528,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - attr
    - string
    argTypes:
    - GFileAttributeValue*
    - char*
    constantsTouched: []
    func_position:
      end: 531
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 531
    functionName: _g_file_attribute_value_set_string
    functionSourceFile: /src/glib/gio/gfileattribute.c
    functionUses: []
    functionsReached:
    - _g_file_attribute_value_clear
    - g_strdup
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void _g_file_attribute_value_set_string (GFileAttributeValue *attr,\t\
      \t\t\t const char *string) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileattribute.c:667,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileattribute.c:668,1
    - Dst: _g_file_attribute_value_clear
      Src: /src/glib/gio/gfileattribute.c:670,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gfileattribute.c:672,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - attr
    - obj
    argTypes:
    - GFileAttributeValue*
    - GObject*
    constantsTouched: []
    func_position:
      end: 673
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 673
    functionName: _g_file_attribute_value_set_object
    functionSourceFile: /src/glib/gio/gfileattribute.c
    functionUses: []
    functionsReached:
    - _g_file_attribute_value_clear
    - g_object_ref
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void _g_file_attribute_value_set_object (GFileAttributeValue *attr,\t\
      \t\t\t GObject *obj) "
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 1
    argNames:
    - attr
    argTypes:
    - GFileAttributeValue*
    constantsTouched: []
    func_position:
      end: 135
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 135
    functionName: _g_file_attribute_value_peek_as_pointer
    functionSourceFile: /src/glib/gio/gfileattribute.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer _g_file_attribute_value_peek_as_pointer (GFileAttributeValue
      *attr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileattribute.c:407,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - attr
    argTypes:
    - GFileAttributeValue*
    constantsTouched: []
    func_position:
      end: 410
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 410
    functionName: _g_file_attribute_value_get_uint64
    functionSourceFile: /src/glib/gio/gfileattribute.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: guint64
    signature: 'guint64 _g_file_attribute_value_get_uint64 (const GFileAttributeValue
      *attr) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: _g_file_attribute_value_clear
      Src: /src/glib/gio/gfileattribute.c:459,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfileattribute.c:466,1
    - Dst: g_warning
      Src: /src/glib/gio/gfileattribute.c:509,1
    - Dst: g_strdupv
      Src: /src/glib/gio/gfileattribute.c:473,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gfileattribute.c:480,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 19
    argCount: 4
    argNames:
    - value
    - type
    - value_p
    - dup
    argTypes:
    - GFileAttributeValue*
    - GFileAttributeType
    - gpointer
    - gboolean
    constantsTouched: []
    func_position:
      end: 512
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 512
    functionName: _g_file_attribute_value_set_from_pointer
    functionSourceFile: /src/glib/gio/gfileattribute.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_strdupv
    - g_warning
    - g_object_ref
    - _g_file_attribute_value_clear
    linkageType: ''
    returnType: void
    signature: "void _g_file_attribute_value_set_from_pointer (GFileAttributeValue\
      \ *value,\t\t\t\t\t GFileAttributeType type,\t\t\t\t\t gpointer value_p,\t\t\
      \t\t\t gboolean dup) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileattribute.c:648,1
    - Dst: _g_file_attribute_value_clear
      Src: /src/glib/gio/gfileattribute.c:650,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - attr
    - value
    argTypes:
    - GFileAttributeValue*
    - gint64
    constantsTouched: []
    func_position:
      end: 653
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 653
    functionName: _g_file_attribute_value_set_int64
    functionSourceFile: /src/glib/gio/gfileattribute.c
    functionUses: []
    functionsReached:
    - _g_file_attribute_value_clear
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void _g_file_attribute_value_set_int64 (GFileAttributeValue *attr,\t\
      \t\t\t gint64 value) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileattribute.c:777,1
    - Dst: g_array_free
      Src: /src/glib/gio/gfileattribute.c:784,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/gio/gfileattribute.c:780,1
    - Dst: g_free
      Src: /src/glib/gio/gfileattribute.c:783,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileattribute.c:778,1
    - Dst: g_free
      Src: /src/glib/gio/gfileattribute.c:785,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - list
    argTypes:
    - GFileAttributeInfoList*
    constantsTouched: []
    func_position:
      end: 787
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 787
    functionName: g_file_attribute_info_list_unref
    functionSourceFile: /src/glib/gio/gfileattribute.c
    functionUses: []
    functionsReached:
    - g_array_free
    - g_free
    - g_atomic_int_dec_and_test
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_file_attribute_info_list_unref (GFileAttributeInfoList *list) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileattribute.c:859,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfileattribute.c:870,1
    - Dst: strcmp
      Src: /src/glib/gio/gfileattribute.c:864,1
    - Dst: g_file_attribute_info_list_bsearch
      Src: /src/glib/gio/gfileattribute.c:862,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileattribute.c:860,1
    - Dst: g_array_insert_vals
      Src: /src/glib/gio/gfileattribute.c:873,1
    - Dst: list_update_public
      Src: /src/glib/gio/gfileattribute.c:875,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - list
    - name
    - type
    - flags
    argTypes:
    - GFileAttributeInfoList*
    - char*
    - GFileAttributeType
    - GFileAttributeInfoFlags
    constantsTouched: []
    func_position:
      end: 876
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 876
    functionName: g_file_attribute_info_list_add
    functionSourceFile: /src/glib/gio/gfileattribute.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_array_insert_vals
    - g_return_if_fail
    - strcmp
    - list_update_public
    - g_file_attribute_info_list_bsearch
    linkageType: ''
    returnType: void
    signature: "void g_file_attribute_info_list_add (GFileAttributeInfoList *list,\t\
      \t\t\tconst char *name,\t\t\t\tGFileAttributeType type,\t\t\t\tGFileAttributeInfoFlags\
      \ flags) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_tree_foreach
      Src: /src/glib/gio/gnullsettingsbackend.c:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - backend
    - tree
    - origin_tag
    argTypes:
    - GSettingsBackend*
    - GTree*
    - gpointer
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: g_null_settings_backend_write_tree
    functionSourceFile: /src/glib/gio/gnullsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_tree_foreach
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_null_settings_backend_write_tree (GSettingsBackend
      *backend, GTree *tree, gpointer origin_tag) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_unref
      Src: /src/glib/gio/gnullsettingsbackend.c:60,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gnullsettingsbackend.c:60,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - backend
    - key
    - value
    - origin_tag
    argTypes:
    - GSettingsBackend*
    - gchar*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: g_null_settings_backend_write
    functionSourceFile: /src/glib/gio/gnullsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - g_variant_unref
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_null_settings_backend_write (GSettingsBackend *backend,
      const gchar *key, GVariant *value, gpointer origin_tag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - backend
    - name
    argTypes:
    - GSettingsBackend*
    - gchar*
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: g_null_settings_backend_get_writable
    functionSourceFile: /src/glib/gio/gnullsettingsbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_null_settings_backend_get_writable (GSettingsBackend
      *backend, const gchar *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - memory
    argTypes:
    - GNullSettingsBackend*
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: g_null_settings_backend_init
    functionSourceFile: /src/glib/gio/gnullsettingsbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_null_settings_backend_init (GNullSettingsBackend *memory) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gnullsettingsbackend.c:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: g_null_settings_backend_new
    functionSourceFile: /src/glib/gio/gnullsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: GSettingsBackend*
    signature: 'GSettingsBackend *g_null_settings_backend_new (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_unref
      Src: /src/glib/gio/gnullsettingsbackend.c:70,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gnullsettingsbackend.c:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - key
    - value
    - data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: g_null_settings_backend_write_one
    functionSourceFile: /src/glib/gio/gnullsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - g_variant_unref
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_null_settings_backend_write_one (gpointer key, gpointer
      value, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - backend
    - key
    - origin_tag
    argTypes:
    - GSettingsBackend*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: g_null_settings_backend_reset
    functionSourceFile: /src/glib/gio/gnullsettingsbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_null_settings_backend_reset (GSettingsBackend *backend,
      const gchar *key, gpointer origin_tag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_simple_permission_new
      Src: /src/glib/gio/gnullsettingsbackend.c:101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: g_null_settings_backend_get_permission
    functionSourceFile: /src/glib/gio/gnullsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_simple_permission_new
    linkageType: ''
    returnType: GPermission*
    signature: 'static GPermission *g_null_settings_backend_get_permission (GSettingsBackend
      *backend, const gchar *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SETTINGS_BACKEND_CLASS
      Src: /src/glib/gio/gnullsettingsbackend.c:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - class
    argTypes:
    - GNullSettingsBackendClass*
    constantsTouched: []
    func_position:
      end: 120
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 120
    functionName: g_null_settings_backend_class_init
    functionSourceFile: /src/glib/gio/gnullsettingsbackend.c
    functionUses: []
    functionsReached:
    - G_SETTINGS_BACKEND_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_null_settings_backend_class_init (GNullSettingsBackendClass
      *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: g_null_settings_backend_read
    functionSourceFile: /src/glib/gio/gnullsettingsbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_null_settings_backend_read (GSettingsBackend *backend,
      const gchar *key, const GVariantType *expected_type, gboolean default_value) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/glib/gio/gmarshal-internal.c:127,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:128,1
    - Dst: va_end
      Src: /src/glib/gio/gmarshal-internal.c:131,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gmarshal-internal.c:130,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:133,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:135,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:147,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gmarshal-internal.c:151,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gmarshal-internal.c:153,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 7
    argNames:
    - closure
    - return_value
    - instance
    - args
    - marshal_data
    - n_params
    - param_types
    argTypes:
    - GClosure*
    - GValue*
    - gpointer
    - va_list
    - gpointer
    - int
    - GType*
    constantsTouched: []
    func_position:
      end: 154
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 154
    functionName: _g_cclosure_marshal_BOOLEAN__OBJECTv
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_return_if_fail
    - g_value_set_boolean
    - callback
    - va_arg
    - va_end
    - g_object_ref
    - va_copy
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_BOOLEAN__OBJECTv (GClosure *closure, GValue
      *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params,
      GType *param_types) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:364,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:370,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:365,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:374,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:367,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:379,1
    - Dst: g_marshal_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:380,1
    - Dst: g_marshal_value_peek_int
      Src: /src/glib/gio/gmarshal-internal.c:381,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gmarshal-internal.c:384,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 6
    argNames:
    - closure
    - return_value
    - n_param_values
    - param_values
    - invocation_hint
    - G_GNUC_UNUSED
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 385
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 385
    functionName: _g_cclosure_marshal_BOOLEAN__POINTER_INT
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - g_value_peek_pointer
    - g_return_if_fail
    - g_value_set_boolean
    - callback
    - g_marshal_value_peek_int
    - g_marshal_value_peek_pointer
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_BOOLEAN__POINTER_INT (GClosure *closure,
      GValue *return_value, guint n_param_values, const GValue *param_values, gpointer
      invocation_hint G_GNUC_UNUSED, gpointer marshal_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:698,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:704,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:701,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:699,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:708,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:713,1
    - Dst: g_marshal_value_peek_boxed
      Src: /src/glib/gio/gmarshal-internal.c:714,1
    - Dst: g_value_set_int
      Src: /src/glib/gio/gmarshal-internal.c:717,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 6
    argNames:
    - closure
    - return_value
    - n_param_values
    - param_values
    - invocation_hint
    - G_GNUC_UNUSED
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 718
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 718
    functionName: _g_cclosure_marshal_INT__BOXED
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - g_value_peek_pointer
    - g_return_if_fail
    - g_value_set_int
    - callback
    - g_marshal_value_peek_boxed
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_INT__BOXED (GClosure *closure, GValue *return_value,
      guint n_param_values, const GValue *param_values, gpointer invocation_hint G_GNUC_UNUSED,
      gpointer marshal_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:1315,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:1320,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:1324,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:1317,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:1329,1
    - Dst: g_marshal_value_peek_object
      Src: /src/glib/gio/gmarshal-internal.c:1330,1
    - Dst: g_marshal_value_peek_object
      Src: /src/glib/gio/gmarshal-internal.c:1331,1
    - Dst: g_marshal_value_peek_enum
      Src: /src/glib/gio/gmarshal-internal.c:1332,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 6
    argNames:
    - closure
    - G_GNUC_UNUSED
    - n_param_values
    - param_values
    - invocation_hint
    - G_GNUC_UNUSED
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1334
      start: 1298
    functionDepth: 0
    functionLinenumber: 1298
    functionLinenumberEnd: 1334
    functionName: _g_cclosure_marshal_VOID__OBJECT_OBJECT_ENUM
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - g_value_peek_pointer
    - g_return_if_fail
    - callback
    - g_marshal_value_peek_object
    - g_marshal_value_peek_enum
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_VOID__OBJECT_OBJECT_ENUM (GClosure *closure,
      GValue *return_value G_GNUC_UNUSED, guint n_param_values, const GValue *param_values,
      gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/glib/gio/gmarshal-internal.c:1576,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:1580,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gmarshal-internal.c:1582,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:1577,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gmarshal-internal.c:1579,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:1583,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gmarshal-internal.c:1585,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:1586,1
    - Dst: g_boxed_copy
      Src: /src/glib/gio/gmarshal-internal.c:1588,1
    - Dst: va_end
      Src: /src/glib/gio/gmarshal-internal.c:1589,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:1604,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gmarshal-internal.c:1615,1
    - Dst: g_boxed_free
      Src: /src/glib/gio/gmarshal-internal.c:1617,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:1592,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gmarshal-internal.c:1613,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gmarshal-internal.c:1611,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 57
    argCount: 7
    argNames:
    - closure
    - G_GNUC_UNUSED
    - instance
    - args
    - marshal_data
    - n_params
    - param_types
    argTypes:
    - GClosure*
    - GValue*
    - gpointer
    - va_list
    - gpointer
    - int
    - GType*
    constantsTouched: []
    func_position:
      end: 1618
      start: 1552
    functionDepth: 0
    functionLinenumber: 1552
    functionLinenumberEnd: 1618
    functionName: _g_cclosure_marshal_VOID__OBJECT_OBJECT_VARIANT_BOXEDv
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - g_object_unref
    - G_CCLOSURE_SWAP_DATA
    - callback
    - g_variant_unref
    - va_arg
    - va_end
    - g_object_ref
    - g_boxed_free
    - va_copy
    - g_boxed_copy
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_VOID__OBJECT_OBJECT_VARIANT_BOXEDv (GClosure
      *closure, GValue *return_value G_GNUC_UNUSED, gpointer instance, va_list args,
      gpointer marshal_data, int n_params, GType *param_types) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/glib/gio/gmarshal-internal.c:1942,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:1946,1
    - Dst: g_boxed_copy
      Src: /src/glib/gio/gmarshal-internal.c:1948,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:1943,1
    - Dst: g_strdup
      Src: /src/glib/gio/gmarshal-internal.c:1945,1
    - Dst: va_end
      Src: /src/glib/gio/gmarshal-internal.c:1949,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:1952,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:1964,1
    - Dst: g_free
      Src: /src/glib/gio/gmarshal-internal.c:1969,1
    - Dst: g_boxed_free
      Src: /src/glib/gio/gmarshal-internal.c:1971,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 7
    argNames:
    - closure
    - G_GNUC_UNUSED
    - instance
    - args
    - marshal_data
    - n_params
    - param_types
    argTypes:
    - GClosure*
    - GValue*
    - gpointer
    - va_list
    - gpointer
    - int
    - GType*
    constantsTouched: []
    func_position:
      end: 1972
      start: 1922
    functionDepth: 0
    functionLinenumber: 1922
    functionLinenumberEnd: 1972
    functionName: _g_cclosure_marshal_VOID__STRING_BOXEDv
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - g_strdup
    - G_CCLOSURE_SWAP_DATA
    - callback
    - g_free
    - va_arg
    - va_end
    - g_boxed_free
    - va_copy
    - g_boxed_copy
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_VOID__STRING_BOXEDv (GClosure *closure, GValue
      *return_value G_GNUC_UNUSED, gpointer instance, va_list args, gpointer marshal_data,
      int n_params, GType *param_types) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/glib/gio/gmarshal-internal.c:2229,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:2233,1
    - Dst: g_strdup
      Src: /src/glib/gio/gmarshal-internal.c:2232,1
    - Dst: g_strdup
      Src: /src/glib/gio/gmarshal-internal.c:2235,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:2230,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:2236,1
    - Dst: g_strdup
      Src: /src/glib/gio/gmarshal-internal.c:2238,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:2239,1
    - Dst: va_end
      Src: /src/glib/gio/gmarshal-internal.c:2240,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:2243,1
    - Dst: g_free
      Src: /src/glib/gio/gmarshal-internal.c:2264,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:2255,1
    - Dst: g_free
      Src: /src/glib/gio/gmarshal-internal.c:2262,1
    - Dst: g_free
      Src: /src/glib/gio/gmarshal-internal.c:2266,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 54
    argCount: 7
    argNames:
    - closure
    - G_GNUC_UNUSED
    - instance
    - args
    - marshal_data
    - n_params
    - param_types
    argTypes:
    - GClosure*
    - GValue*
    - gpointer
    - va_list
    - gpointer
    - int
    - GType*
    constantsTouched: []
    func_position:
      end: 2267
      start: 2205
    functionDepth: 0
    functionLinenumber: 2205
    functionLinenumberEnd: 2267
    functionName: _g_cclosure_marshal_VOID__STRING_STRING_STRING_FLAGSv
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - g_strdup
    - callback
    - g_free
    - va_arg
    - va_end
    - va_copy
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_VOID__STRING_STRING_STRING_FLAGSv (GClosure
      *closure, GValue *return_value G_GNUC_UNUSED, gpointer instance, va_list args,
      gpointer marshal_data, int n_params, GType *param_types) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:2385,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:2387,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:2390,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:2394,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:2399,1
    - Dst: g_marshal_value_peek_string
      Src: /src/glib/gio/gmarshal-internal.c:2400,1
    - Dst: g_marshal_value_peek_variant
      Src: /src/glib/gio/gmarshal-internal.c:2401,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 6
    argNames:
    - closure
    - G_GNUC_UNUSED
    - n_param_values
    - param_values
    - invocation_hint
    - G_GNUC_UNUSED
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 2403
      start: 2369
    functionDepth: 0
    functionLinenumber: 2369
    functionLinenumberEnd: 2403
    functionName: _g_cclosure_marshal_VOID__STRING_VARIANT
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - g_value_peek_pointer
    - g_return_if_fail
    - callback
    - g_marshal_value_peek_string
    - g_marshal_value_peek_variant
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_VOID__STRING_VARIANT (GClosure *closure,
      GValue *return_value G_GNUC_UNUSED, guint n_param_values, const GValue *param_values,
      gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/glib/gio/gmarshal-internal.c:311,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gmarshal-internal.c:317,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:312,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gmarshal-internal.c:314,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:315,1
    - Dst: va_end
      Src: /src/glib/gio/gmarshal-internal.c:318,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:320,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:322,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:334,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gmarshal-internal.c:339,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gmarshal-internal.c:341,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gmarshal-internal.c:343,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 7
    argNames:
    - closure
    - return_value
    - instance
    - args
    - marshal_data
    - n_params
    - param_types
    argTypes:
    - GClosure*
    - GValue*
    - gpointer
    - va_list
    - gpointer
    - int
    - GType*
    constantsTouched: []
    func_position:
      end: 344
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 344
    functionName: _g_cclosure_marshal_BOOLEAN__OBJECT_OBJECTv
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_return_if_fail
    - g_value_set_boolean
    - callback
    - va_arg
    - va_end
    - g_object_ref
    - va_copy
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_BOOLEAN__OBJECT_OBJECTv (GClosure *closure,
      GValue *return_value, gpointer instance, va_list args, gpointer marshal_data,
      int n_params, GType *param_types) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:660,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:662,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gmarshal-internal.c:678,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:674,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 7
    argNames:
    - closure
    - return_value
    - instance
    - args
    - marshal_data
    - n_params
    - param_types
    argTypes:
    - GClosure*
    - GValue*
    - gpointer
    - va_list
    - gpointer
    - int
    - GType*
    constantsTouched: []
    func_position:
      end: 679
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 679
    functionName: _g_cclosure_marshal_BOOLEAN__VOIDv
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - g_value_set_boolean
    - G_CCLOSURE_SWAP_DATA
    - callback
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_BOOLEAN__VOIDv (GClosure *closure, GValue
      *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params,
      GType *param_types) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:957,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:959,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:966,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:962,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:971,1
    - Dst: g_marshal_value_peek_enum
      Src: /src/glib/gio/gmarshal-internal.c:972,1
    - Dst: g_marshal_value_peek_object
      Src: /src/glib/gio/gmarshal-internal.c:973,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 6
    argNames:
    - closure
    - G_GNUC_UNUSED
    - n_param_values
    - param_values
    - invocation_hint
    - G_GNUC_UNUSED
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 975
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 975
    functionName: _g_cclosure_marshal_VOID__ENUM_OBJECT
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - g_value_peek_pointer
    - g_return_if_fail
    - callback
    - g_marshal_value_peek_object
    - g_marshal_value_peek_enum
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_VOID__ENUM_OBJECT (GClosure *closure, GValue
      *return_value G_GNUC_UNUSED, guint n_param_values, const GValue *param_values,
      gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/glib/gio/gmarshal-internal.c:1265,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gmarshal-internal.c:1271,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:1269,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:1266,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gmarshal-internal.c:1268,1
    - Dst: va_end
      Src: /src/glib/gio/gmarshal-internal.c:1272,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:1275,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:1287,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gmarshal-internal.c:1292,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gmarshal-internal.c:1294,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 7
    argNames:
    - closure
    - G_GNUC_UNUSED
    - instance
    - args
    - marshal_data
    - n_params
    - param_types
    argTypes:
    - GClosure*
    - GValue*
    - gpointer
    - va_list
    - gpointer
    - int
    - GType*
    constantsTouched: []
    func_position:
      end: 1295
      start: 1245
    functionDepth: 0
    functionLinenumber: 1245
    functionLinenumberEnd: 1295
    functionName: _g_cclosure_marshal_VOID__OBJECT_OBJECTv
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - callback
    - va_arg
    - va_end
    - g_object_ref
    - va_copy
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_VOID__OBJECT_OBJECTv (GClosure *closure,
      GValue *return_value G_GNUC_UNUSED, gpointer instance, va_list args, gpointer
      marshal_data, int n_params, GType *param_types) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:1727,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:1732,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:1736,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:1729,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:1741,1
    - Dst: g_marshal_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:1742,1
    - Dst: g_marshal_value_peek_int
      Src: /src/glib/gio/gmarshal-internal.c:1743,1
    - Dst: g_marshal_value_peek_string
      Src: /src/glib/gio/gmarshal-internal.c:1744,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 6
    argNames:
    - closure
    - G_GNUC_UNUSED
    - n_param_values
    - param_values
    - invocation_hint
    - G_GNUC_UNUSED
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1746
      start: 1710
    functionDepth: 0
    functionLinenumber: 1710
    functionLinenumberEnd: 1746
    functionName: _g_cclosure_marshal_VOID__POINTER_INT_STRING
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - g_value_peek_pointer
    - g_return_if_fail
    - callback
    - g_marshal_value_peek_int
    - g_marshal_value_peek_string
    - g_marshal_value_peek_pointer
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_VOID__POINTER_INT_STRING (GClosure *closure,
      GValue *return_value G_GNUC_UNUSED, guint n_param_values, const GValue *param_values,
      gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/glib/gio/gmarshal-internal.c:2330,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:2334,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:2331,1
    - Dst: g_strdup
      Src: /src/glib/gio/gmarshal-internal.c:2333,1
    - Dst: g_strdup
      Src: /src/glib/gio/gmarshal-internal.c:2336,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:2337,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gmarshal-internal.c:2339,1
    - Dst: va_end
      Src: /src/glib/gio/gmarshal-internal.c:2340,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:2343,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:2355,1
    - Dst: g_free
      Src: /src/glib/gio/gmarshal-internal.c:2361,1
    - Dst: g_free
      Src: /src/glib/gio/gmarshal-internal.c:2363,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gmarshal-internal.c:2365,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 52
    argCount: 7
    argNames:
    - closure
    - G_GNUC_UNUSED
    - instance
    - args
    - marshal_data
    - n_params
    - param_types
    argTypes:
    - GClosure*
    - GValue*
    - gpointer
    - va_list
    - gpointer
    - int
    - GType*
    constantsTouched: []
    func_position:
      end: 2366
      start: 2308
    functionDepth: 0
    functionLinenumber: 2308
    functionLinenumberEnd: 2366
    functionName: _g_cclosure_marshal_VOID__STRING_STRING_VARIANTv
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - g_strdup
    - callback
    - g_free
    - g_variant_unref
    - va_arg
    - va_end
    - va_copy
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_VOID__STRING_STRING_VARIANTv (GClosure *closure,
      GValue *return_value G_GNUC_UNUSED, gpointer instance, va_list args, gpointer
      marshal_data, int n_params, GType *param_types) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/glib/gio/gmarshal-internal.c:218,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:222,1
    - Dst: va_end
      Src: /src/glib/gio/gmarshal-internal.c:223,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:219,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gmarshal-internal.c:221,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:225,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:227,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:239,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gmarshal-internal.c:244,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gmarshal-internal.c:246,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 7
    argNames:
    - closure
    - return_value
    - instance
    - args
    - marshal_data
    - n_params
    - param_types
    argTypes:
    - GClosure*
    - GValue*
    - gpointer
    - va_list
    - gpointer
    - int
    - GType*
    constantsTouched: []
    func_position:
      end: 247
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 247
    functionName: _g_cclosure_marshal_BOOLEAN__OBJECT_FLAGSv
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_return_if_fail
    - g_value_set_boolean
    - callback
    - va_arg
    - va_end
    - g_object_ref
    - va_copy
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_BOOLEAN__OBJECT_FLAGSv (GClosure *closure,
      GValue *return_value, gpointer instance, va_list args, gpointer marshal_data,
      int n_params, GType *param_types) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/glib/gio/gmarshal-internal.c:408,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:410,1
    - Dst: va_end
      Src: /src/glib/gio/gmarshal-internal.c:411,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:413,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:409,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:415,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:427,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gmarshal-internal.c:433,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 7
    argNames:
    - closure
    - return_value
    - instance
    - args
    - marshal_data
    - n_params
    - param_types
    argTypes:
    - GClosure*
    - GValue*
    - gpointer
    - va_list
    - gpointer
    - int
    - GType*
    constantsTouched: []
    func_position:
      end: 434
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 434
    functionName: _g_cclosure_marshal_BOOLEAN__POINTER_INTv
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - g_value_set_boolean
    - callback
    - va_arg
    - va_end
    - va_copy
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_BOOLEAN__POINTER_INTv (GClosure *closure,
      GValue *return_value, gpointer instance, va_list args, gpointer marshal_data,
      int n_params, GType *param_types) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/glib/gio/gmarshal-internal.c:997,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:998,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:999,1
    - Dst: va_end
      Src: /src/glib/gio/gmarshal-internal.c:1002,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gmarshal-internal.c:1001,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:1005,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:1017,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gmarshal-internal.c:1022,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 7
    argNames:
    - closure
    - G_GNUC_UNUSED
    - instance
    - args
    - marshal_data
    - n_params
    - param_types
    argTypes:
    - GClosure*
    - GValue*
    - gpointer
    - va_list
    - gpointer
    - int
    - GType*
    constantsTouched: []
    func_position:
      end: 1023
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 1023
    functionName: _g_cclosure_marshal_VOID__ENUM_OBJECTv
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - callback
    - va_arg
    - va_end
    - g_object_ref
    - va_copy
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_VOID__ENUM_OBJECTv (GClosure *closure, GValue
      *return_value G_GNUC_UNUSED, gpointer instance, va_list args, gpointer marshal_data,
      int n_params, GType *param_types) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:1412,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:1417,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:1414,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:1421,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:1426,1
    - Dst: g_marshal_value_peek_object
      Src: /src/glib/gio/gmarshal-internal.c:1427,1
    - Dst: g_marshal_value_peek_object
      Src: /src/glib/gio/gmarshal-internal.c:1428,1
    - Dst: g_marshal_value_peek_string
      Src: /src/glib/gio/gmarshal-internal.c:1429,1
    - Dst: g_marshal_value_peek_string
      Src: /src/glib/gio/gmarshal-internal.c:1430,1
    - Dst: g_marshal_value_peek_variant
      Src: /src/glib/gio/gmarshal-internal.c:1431,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 6
    argNames:
    - closure
    - G_GNUC_UNUSED
    - n_param_values
    - param_values
    - invocation_hint
    - G_GNUC_UNUSED
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1433
      start: 1393
    functionDepth: 0
    functionLinenumber: 1393
    functionLinenumberEnd: 1433
    functionName: _g_cclosure_marshal_VOID__OBJECT_OBJECT_STRING_STRING_VARIANT
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - g_value_peek_pointer
    - g_return_if_fail
    - callback
    - g_marshal_value_peek_string
    - g_marshal_value_peek_variant
    - g_marshal_value_peek_object
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_VOID__OBJECT_OBJECT_STRING_STRING_VARIANT
      (GClosure *closure, GValue *return_value G_GNUC_UNUSED, guint n_param_values,
      const GValue *param_values, gpointer invocation_hint G_GNUC_UNUSED, gpointer
      marshal_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:1902,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:1911,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:1907,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:1904,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:1916,1
    - Dst: g_marshal_value_peek_string
      Src: /src/glib/gio/gmarshal-internal.c:1917,1
    - Dst: g_marshal_value_peek_boxed
      Src: /src/glib/gio/gmarshal-internal.c:1918,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 6
    argNames:
    - closure
    - G_GNUC_UNUSED
    - n_param_values
    - param_values
    - invocation_hint
    - G_GNUC_UNUSED
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1920
      start: 1886
    functionDepth: 0
    functionLinenumber: 1886
    functionLinenumberEnd: 1920
    functionName: _g_cclosure_marshal_VOID__STRING_BOXED
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - g_value_peek_pointer
    - g_return_if_fail
    - callback
    - g_marshal_value_peek_string
    - g_marshal_value_peek_boxed
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_VOID__STRING_BOXED (GClosure *closure, GValue
      *return_value G_GNUC_UNUSED, guint n_param_values, const GValue *param_values,
      gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:86,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:96,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:87,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:92,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:89,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:101,1
    - Dst: g_marshal_value_peek_object
      Src: /src/glib/gio/gmarshal-internal.c:102,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gmarshal-internal.c:105,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 6
    argNames:
    - closure
    - return_value
    - n_param_values
    - param_values
    - invocation_hint
    - G_GNUC_UNUSED
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 106
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 106
    functionName: _g_cclosure_marshal_BOOLEAN__OBJECT
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - g_value_peek_pointer
    - g_return_if_fail
    - g_value_set_boolean
    - callback
    - g_marshal_value_peek_object
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_BOOLEAN__OBJECT (GClosure *closure, GValue
      *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint
      G_GNUC_UNUSED, gpointer marshal_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:174,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:184,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:180,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:177,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:175,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:189,1
    - Dst: g_marshal_value_peek_object
      Src: /src/glib/gio/gmarshal-internal.c:190,1
    - Dst: g_marshal_value_peek_flags
      Src: /src/glib/gio/gmarshal-internal.c:191,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gmarshal-internal.c:194,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 6
    argNames:
    - closure
    - return_value
    - n_param_values
    - param_values
    - invocation_hint
    - G_GNUC_UNUSED
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 195
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 195
    functionName: _g_cclosure_marshal_BOOLEAN__OBJECT_FLAGS
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - g_value_peek_pointer
    - g_return_if_fail
    - g_value_set_boolean
    - callback
    - g_marshal_value_peek_flags
    - g_marshal_value_peek_object
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_BOOLEAN__OBJECT_FLAGS (GClosure *closure,
      GValue *return_value, guint n_param_values, const GValue *param_values, gpointer
      invocation_hint G_GNUC_UNUSED, gpointer marshal_data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/glib/gio/gmarshal-internal.c:1358,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:1359,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gmarshal-internal.c:1364,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gmarshal-internal.c:1361,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:1362,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:1365,1
    - Dst: va_end
      Src: /src/glib/gio/gmarshal-internal.c:1366,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:1369,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:1381,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gmarshal-internal.c:1387,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gmarshal-internal.c:1389,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 7
    argNames:
    - closure
    - G_GNUC_UNUSED
    - instance
    - args
    - marshal_data
    - n_params
    - param_types
    argTypes:
    - GClosure*
    - GValue*
    - gpointer
    - va_list
    - gpointer
    - int
    - GType*
    constantsTouched: []
    func_position:
      end: 1390
      start: 1336
    functionDepth: 0
    functionLinenumber: 1336
    functionLinenumberEnd: 1390
    functionName: _g_cclosure_marshal_VOID__OBJECT_OBJECT_ENUMv
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - callback
    - va_arg
    - va_end
    - g_object_ref
    - va_copy
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_VOID__OBJECT_OBJECT_ENUMv (GClosure *closure,
      GValue *return_value G_GNUC_UNUSED, gpointer instance, va_list args, gpointer
      marshal_data, int n_params, GType *param_types) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:1637,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:1639,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:1642,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:1646,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:1651,1
    - Dst: g_marshal_value_peek_object
      Src: /src/glib/gio/gmarshal-internal.c:1652,1
    - Dst: g_marshal_value_peek_variant
      Src: /src/glib/gio/gmarshal-internal.c:1653,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 6
    argNames:
    - closure
    - G_GNUC_UNUSED
    - n_param_values
    - param_values
    - invocation_hint
    - G_GNUC_UNUSED
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1655
      start: 1621
    functionDepth: 0
    functionLinenumber: 1621
    functionLinenumberEnd: 1655
    functionName: _g_cclosure_marshal_VOID__OBJECT_VARIANT
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - g_value_peek_pointer
    - g_return_if_fail
    - callback
    - g_marshal_value_peek_variant
    - g_marshal_value_peek_object
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_VOID__OBJECT_VARIANT (GClosure *closure,
      GValue *return_value G_GNUC_UNUSED, guint n_param_values, const GValue *param_values,
      gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/glib/gio/gmarshal-internal.c:1857,1
    - Dst: g_strdup
      Src: /src/glib/gio/gmarshal-internal.c:1860,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:1858,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:1861,1
    - Dst: va_end
      Src: /src/glib/gio/gmarshal-internal.c:1862,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:1865,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:1877,1
    - Dst: g_free
      Src: /src/glib/gio/gmarshal-internal.c:1882,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 7
    argNames:
    - closure
    - G_GNUC_UNUSED
    - instance
    - args
    - marshal_data
    - n_params
    - param_types
    argTypes:
    - GClosure*
    - GValue*
    - gpointer
    - va_list
    - gpointer
    - int
    - GType*
    constantsTouched: []
    func_position:
      end: 1883
      start: 1837
    functionDepth: 0
    functionLinenumber: 1837
    functionLinenumberEnd: 1883
    functionName: _g_cclosure_marshal_VOID__STRING_BOOLEANv
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - g_strdup
    - callback
    - g_free
    - va_arg
    - va_end
    - va_copy
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_VOID__STRING_BOOLEANv (GClosure *closure,
      GValue *return_value G_GNUC_UNUSED, gpointer instance, va_list args, gpointer
      marshal_data, int n_params, GType *param_types) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:1992,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:1994,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:1997,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:2001,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:2006,1
    - Dst: g_marshal_value_peek_string
      Src: /src/glib/gio/gmarshal-internal.c:2007,1
    - Dst: g_marshal_value_peek_boxed
      Src: /src/glib/gio/gmarshal-internal.c:2008,1
    - Dst: g_marshal_value_peek_boxed
      Src: /src/glib/gio/gmarshal-internal.c:2009,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 6
    argNames:
    - closure
    - G_GNUC_UNUSED
    - n_param_values
    - param_values
    - invocation_hint
    - G_GNUC_UNUSED
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 2011
      start: 1975
    functionDepth: 0
    functionLinenumber: 1975
    functionLinenumberEnd: 2011
    functionName: _g_cclosure_marshal_VOID__STRING_BOXED_BOXED
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - g_value_peek_pointer
    - g_return_if_fail
    - callback
    - g_marshal_value_peek_string
    - g_marshal_value_peek_boxed
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_VOID__STRING_BOXED_BOXED (GClosure *closure,
      GValue *return_value G_GNUC_UNUSED, guint n_param_values, const GValue *param_values,
      gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:2287,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:2296,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:2289,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:2292,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:2301,1
    - Dst: g_marshal_value_peek_string
      Src: /src/glib/gio/gmarshal-internal.c:2302,1
    - Dst: g_marshal_value_peek_string
      Src: /src/glib/gio/gmarshal-internal.c:2303,1
    - Dst: g_marshal_value_peek_variant
      Src: /src/glib/gio/gmarshal-internal.c:2304,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 6
    argNames:
    - closure
    - G_GNUC_UNUSED
    - n_param_values
    - param_values
    - invocation_hint
    - G_GNUC_UNUSED
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 2306
      start: 2270
    functionDepth: 0
    functionLinenumber: 2270
    functionLinenumberEnd: 2306
    functionName: _g_cclosure_marshal_VOID__STRING_STRING_VARIANT
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - g_value_peek_pointer
    - g_return_if_fail
    - callback
    - g_marshal_value_peek_string
    - g_marshal_value_peek_variant
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_VOID__STRING_STRING_VARIANT (GClosure *closure,
      GValue *return_value G_GNUC_UNUSED, guint n_param_values, const GValue *param_values,
      gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:494,1
    - Dst: g_strdup
      Src: /src/glib/gio/gmarshal-internal.c:499,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:497,1
    - Dst: va_end
      Src: /src/glib/gio/gmarshal-internal.c:500,1
    - Dst: va_copy
      Src: /src/glib/gio/gmarshal-internal.c:496,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:502,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:514,1
    - Dst: g_free
      Src: /src/glib/gio/gmarshal-internal.c:518,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gmarshal-internal.c:520,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 7
    argNames:
    - closure
    - return_value
    - instance
    - args
    - marshal_data
    - n_params
    - param_types
    argTypes:
    - GClosure*
    - GValue*
    - gpointer
    - va_list
    - gpointer
    - int
    - GType*
    constantsTouched: []
    func_position:
      end: 521
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 521
    functionName: _g_cclosure_marshal_BOOLEAN__STRINGv
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_return_if_fail
    - g_value_set_boolean
    - callback
    - g_free
    - va_arg
    - va_end
    - va_copy
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_BOOLEAN__STRINGv (GClosure *closure, GValue
      *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params,
      GType *param_types) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:872,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:877,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:881,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:874,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:886,1
    - Dst: g_marshal_value_peek_boolean
      Src: /src/glib/gio/gmarshal-internal.c:887,1
    - Dst: g_marshal_value_peek_boxed
      Src: /src/glib/gio/gmarshal-internal.c:888,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 6
    argNames:
    - closure
    - G_GNUC_UNUSED
    - n_param_values
    - param_values
    - invocation_hint
    - G_GNUC_UNUSED
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 890
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 890
    functionName: _g_cclosure_marshal_VOID__BOOLEAN_BOXED
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - g_value_peek_pointer
    - g_return_if_fail
    - g_marshal_value_peek_boolean
    - callback
    - g_marshal_value_peek_boxed
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_VOID__BOOLEAN_BOXED (GClosure *closure, GValue
      *return_value G_GNUC_UNUSED, guint n_param_values, const GValue *param_values,
      gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/glib/gio/gmarshal-internal.c:1086,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gmarshal-internal.c:1090,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:1091,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:1088,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:1087,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gmarshal-internal.c:1093,1
    - Dst: va_end
      Src: /src/glib/gio/gmarshal-internal.c:1094,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:1097,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:1109,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gmarshal-internal.c:1117,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gmarshal-internal.c:1115,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 7
    argNames:
    - closure
    - G_GNUC_UNUSED
    - instance
    - args
    - marshal_data
    - n_params
    - param_types
    argTypes:
    - GClosure*
    - GValue*
    - gpointer
    - va_list
    - gpointer
    - int
    - GType*
    constantsTouched: []
    func_position:
      end: 1118
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1118
    functionName: _g_cclosure_marshal_VOID__ENUM_OBJECT_OBJECTv
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - callback
    - va_arg
    - va_end
    - g_object_ref
    - va_copy
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_VOID__ENUM_OBJECT_OBJECTv (GClosure *closure,
      GValue *return_value G_GNUC_UNUSED, gpointer instance, va_list args, gpointer
      marshal_data, int n_params, GType *param_types) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/glib/gio/gmarshal-internal.c:1181,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:1182,1
    - Dst: va_end
      Src: /src/glib/gio/gmarshal-internal.c:1185,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:1184,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:1183,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:1188,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:1200,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 7
    argNames:
    - closure
    - G_GNUC_UNUSED
    - instance
    - args
    - marshal_data
    - n_params
    - param_types
    argTypes:
    - GClosure*
    - GValue*
    - gpointer
    - va_list
    - gpointer
    - int
    - GType*
    constantsTouched: []
    func_position:
      end: 1206
      start: 1159
    functionDepth: 0
    functionLinenumber: 1159
    functionLinenumberEnd: 1206
    functionName: _g_cclosure_marshal_VOID__INT_INT_INTv
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - callback
    - va_arg
    - va_end
    - va_copy
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_VOID__INT_INT_INTv (GClosure *closure, GValue
      *return_value G_GNUC_UNUSED, gpointer instance, va_list args, gpointer marshal_data,
      int n_params, GType *param_types) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/glib/gio/gmarshal-internal.c:1461,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:1462,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:1465,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:1471,1
    - Dst: g_strdup
      Src: /src/glib/gio/gmarshal-internal.c:1473,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:1492,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gmarshal-internal.c:1476,1
    - Dst: g_free
      Src: /src/glib/gio/gmarshal-internal.c:1504,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:1480,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gmarshal-internal.c:1467,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gmarshal-internal.c:1464,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:1468,1
    - Dst: g_strdup
      Src: /src/glib/gio/gmarshal-internal.c:1470,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:1474,1
    - Dst: va_end
      Src: /src/glib/gio/gmarshal-internal.c:1477,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gmarshal-internal.c:1500,1
    - Dst: g_free
      Src: /src/glib/gio/gmarshal-internal.c:1506,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gmarshal-internal.c:1502,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gmarshal-internal.c:1508,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 66
    argCount: 7
    argNames:
    - closure
    - G_GNUC_UNUSED
    - instance
    - args
    - marshal_data
    - n_params
    - param_types
    argTypes:
    - GClosure*
    - GValue*
    - gpointer
    - va_list
    - gpointer
    - int
    - GType*
    constantsTouched: []
    func_position:
      end: 1509
      start: 1435
    functionDepth: 0
    functionLinenumber: 1435
    functionLinenumberEnd: 1509
    functionName: _g_cclosure_marshal_VOID__OBJECT_OBJECT_STRING_STRING_VARIANTv
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - g_strdup
    - g_object_unref
    - callback
    - g_free
    - g_variant_unref
    - va_arg
    - va_end
    - g_object_ref
    - va_copy
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_VOID__OBJECT_OBJECT_STRING_STRING_VARIANTv
      (GClosure *closure, GValue *return_value G_GNUC_UNUSED, gpointer instance, va_list
      args, gpointer marshal_data, int n_params, GType *param_types) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:1817,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:1826,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:1819,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:1822,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:1831,1
    - Dst: g_marshal_value_peek_string
      Src: /src/glib/gio/gmarshal-internal.c:1832,1
    - Dst: g_marshal_value_peek_boolean
      Src: /src/glib/gio/gmarshal-internal.c:1833,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 6
    argNames:
    - closure
    - G_GNUC_UNUSED
    - n_param_values
    - param_values
    - invocation_hint
    - G_GNUC_UNUSED
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1835
      start: 1801
    functionDepth: 0
    functionLinenumber: 1801
    functionLinenumberEnd: 1835
    functionName: _g_cclosure_marshal_VOID__STRING_BOOLEAN
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - g_value_peek_pointer
    - g_return_if_fail
    - callback
    - g_marshal_value_peek_boolean
    - g_marshal_value_peek_string
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_VOID__STRING_BOOLEAN (GClosure *closure,
      GValue *return_value G_GNUC_UNUSED, guint n_param_values, const GValue *param_values,
      gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:2091,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:2096,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:2100,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:2093,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:2105,1
    - Dst: g_marshal_value_peek_string
      Src: /src/glib/gio/gmarshal-internal.c:2106,1
    - Dst: g_marshal_value_peek_int64
      Src: /src/glib/gio/gmarshal-internal.c:2107,1
    - Dst: g_marshal_value_peek_int64
      Src: /src/glib/gio/gmarshal-internal.c:2108,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 6
    argNames:
    - closure
    - G_GNUC_UNUSED
    - n_param_values
    - param_values
    - invocation_hint
    - G_GNUC_UNUSED
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 2110
      start: 2074
    functionDepth: 0
    functionLinenumber: 2074
    functionLinenumberEnd: 2110
    functionName: _g_cclosure_marshal_VOID__STRING_INT64_INT64
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - g_marshal_value_peek_int64
    - g_value_peek_pointer
    - g_return_if_fail
    - callback
    - g_marshal_value_peek_string
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_VOID__STRING_INT64_INT64 (GClosure *closure,
      GValue *return_value G_GNUC_UNUSED, guint n_param_values, const GValue *param_values,
      gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/glib/gio/gmarshal-internal.c:2518,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:2519,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:2520,1
    - Dst: va_end
      Src: /src/glib/gio/gmarshal-internal.c:2522,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:2521,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:2525,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:2537,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 7
    argNames:
    - closure
    - G_GNUC_UNUSED
    - instance
    - args
    - marshal_data
    - n_params
    - param_types
    argTypes:
    - GClosure*
    - GValue*
    - gpointer
    - va_list
    - gpointer
    - int
    - GType*
    constantsTouched: []
    func_position:
      end: 2543
      start: 2496
    functionDepth: 0
    functionLinenumber: 2496
    functionLinenumberEnd: 2543
    functionName: _g_cclosure_marshal_VOID__UINT_UINT_UINTv
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - callback
    - va_arg
    - va_end
    - va_copy
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_VOID__UINT_UINT_UINTv (GClosure *closure,
      GValue *return_value G_GNUC_UNUSED, gpointer instance, va_list args, gpointer
      marshal_data, int n_params, GType *param_types) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:267,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:270,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:268,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:273,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:277,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:282,1
    - Dst: g_marshal_value_peek_object
      Src: /src/glib/gio/gmarshal-internal.c:283,1
    - Dst: g_marshal_value_peek_object
      Src: /src/glib/gio/gmarshal-internal.c:284,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gmarshal-internal.c:287,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 6
    argNames:
    - closure
    - return_value
    - n_param_values
    - param_values
    - invocation_hint
    - G_GNUC_UNUSED
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 288
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 288
    functionName: _g_cclosure_marshal_BOOLEAN__OBJECT_OBJECT
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - g_value_peek_pointer
    - g_return_if_fail
    - g_value_set_boolean
    - callback
    - g_marshal_value_peek_object
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_BOOLEAN__OBJECT_OBJECT (GClosure *closure,
      GValue *return_value, guint n_param_values, const GValue *param_values, gpointer
      invocation_hint G_GNUC_UNUSED, gpointer marshal_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:453,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:463,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:454,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:456,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:459,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:468,1
    - Dst: g_marshal_value_peek_string
      Src: /src/glib/gio/gmarshal-internal.c:469,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gmarshal-internal.c:472,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 6
    argNames:
    - closure
    - return_value
    - n_param_values
    - param_values
    - invocation_hint
    - G_GNUC_UNUSED
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 473
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 473
    functionName: _g_cclosure_marshal_BOOLEAN__STRING
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - g_value_peek_pointer
    - g_return_if_fail
    - g_value_set_boolean
    - callback
    - g_marshal_value_peek_string
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_BOOLEAN__STRING (GClosure *closure, GValue
      *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint
      G_GNUC_UNUSED, gpointer marshal_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/glib/gio/gmarshal-internal.c:826,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:832,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gmarshal-internal.c:829,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:827,1
    - Dst: va_end
      Src: /src/glib/gio/gmarshal-internal.c:830,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:834,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:846,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gmarshal-internal.c:850,1
    - Dst: g_value_set_int
      Src: /src/glib/gio/gmarshal-internal.c:852,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 7
    argNames:
    - closure
    - return_value
    - instance
    - args
    - marshal_data
    - n_params
    - param_types
    argTypes:
    - GClosure*
    - GValue*
    - gpointer
    - va_list
    - gpointer
    - int
    - GType*
    constantsTouched: []
    func_position:
      end: 853
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 853
    functionName: _g_cclosure_marshal_INT__OBJECTv
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_return_if_fail
    - g_value_set_int
    - callback
    - va_arg
    - va_end
    - g_object_ref
    - va_copy
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_INT__OBJECTv (GClosure *closure, GValue *return_value,
      gpointer instance, va_list args, gpointer marshal_data, int n_params, GType
      *param_types) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:1043,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:1052,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:1048,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:1045,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:1057,1
    - Dst: g_marshal_value_peek_enum
      Src: /src/glib/gio/gmarshal-internal.c:1058,1
    - Dst: g_marshal_value_peek_object
      Src: /src/glib/gio/gmarshal-internal.c:1059,1
    - Dst: g_marshal_value_peek_object
      Src: /src/glib/gio/gmarshal-internal.c:1060,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 6
    argNames:
    - closure
    - G_GNUC_UNUSED
    - n_param_values
    - param_values
    - invocation_hint
    - G_GNUC_UNUSED
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1062
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1062
    functionName: _g_cclosure_marshal_VOID__ENUM_OBJECT_OBJECT
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - g_value_peek_pointer
    - g_return_if_fail
    - callback
    - g_marshal_value_peek_object
    - g_marshal_value_peek_enum
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_VOID__ENUM_OBJECT_OBJECT (GClosure *closure,
      GValue *return_value G_GNUC_UNUSED, guint n_param_values, const GValue *param_values,
      gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/glib/gio/gmarshal-internal.c:1770,1
    - Dst: g_strdup
      Src: /src/glib/gio/gmarshal-internal.c:1775,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:1771,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:1772,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:1773,1
    - Dst: va_end
      Src: /src/glib/gio/gmarshal-internal.c:1776,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:1779,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:1791,1
    - Dst: g_free
      Src: /src/glib/gio/gmarshal-internal.c:1797,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 7
    argNames:
    - closure
    - G_GNUC_UNUSED
    - instance
    - args
    - marshal_data
    - n_params
    - param_types
    argTypes:
    - GClosure*
    - GValue*
    - gpointer
    - va_list
    - gpointer
    - int
    - GType*
    constantsTouched: []
    func_position:
      end: 1798
      start: 1748
    functionDepth: 0
    functionLinenumber: 1748
    functionLinenumberEnd: 1798
    functionName: _g_cclosure_marshal_VOID__POINTER_INT_STRINGv
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - g_strdup
    - callback
    - g_free
    - va_arg
    - va_end
    - va_copy
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_VOID__POINTER_INT_STRINGv (GClosure *closure,
      GValue *return_value G_GNUC_UNUSED, gpointer instance, va_list args, gpointer
      marshal_data, int n_params, GType *param_types) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/glib/gio/gmarshal-internal.c:2035,1
    - Dst: g_strdup
      Src: /src/glib/gio/gmarshal-internal.c:2038,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:2039,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:2036,1
    - Dst: g_boxed_copy
      Src: /src/glib/gio/gmarshal-internal.c:2041,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:2042,1
    - Dst: g_boxed_copy
      Src: /src/glib/gio/gmarshal-internal.c:2044,1
    - Dst: va_end
      Src: /src/glib/gio/gmarshal-internal.c:2045,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:2048,1
    - Dst: g_boxed_free
      Src: /src/glib/gio/gmarshal-internal.c:2070,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:2060,1
    - Dst: g_boxed_free
      Src: /src/glib/gio/gmarshal-internal.c:2068,1
    - Dst: g_free
      Src: /src/glib/gio/gmarshal-internal.c:2066,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 60
    argCount: 7
    argNames:
    - closure
    - G_GNUC_UNUSED
    - instance
    - args
    - marshal_data
    - n_params
    - param_types
    argTypes:
    - GClosure*
    - GValue*
    - gpointer
    - va_list
    - gpointer
    - int
    - GType*
    constantsTouched: []
    func_position:
      end: 2071
      start: 2013
    functionDepth: 0
    functionLinenumber: 2013
    functionLinenumberEnd: 2071
    functionName: _g_cclosure_marshal_VOID__STRING_BOXED_BOXEDv
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - g_strdup
    - G_CCLOSURE_SWAP_DATA
    - callback
    - g_free
    - va_arg
    - va_end
    - g_boxed_free
    - va_copy
    - g_boxed_copy
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_VOID__STRING_BOXED_BOXEDv (GClosure *closure,
      GValue *return_value G_GNUC_UNUSED, gpointer instance, va_list args, gpointer
      marshal_data, int n_params, GType *param_types) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:623,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:629,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:624,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:626,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:633,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:638,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gmarshal-internal.c:641,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 6
    argNames:
    - closure
    - return_value
    - n_param_values
    - param_values
    - invocation_hint
    - G_GNUC_UNUSED
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 642
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 642
    functionName: _g_cclosure_marshal_BOOLEAN__VOID
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - g_value_peek_pointer
    - g_return_if_fail
    - g_value_set_boolean
    - callback
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_BOOLEAN__VOID (GClosure *closure, GValue
      *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint
      G_GNUC_UNUSED, gpointer marshal_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:785,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:791,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:786,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:795,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:788,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:800,1
    - Dst: g_marshal_value_peek_object
      Src: /src/glib/gio/gmarshal-internal.c:801,1
    - Dst: g_value_set_int
      Src: /src/glib/gio/gmarshal-internal.c:804,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 6
    argNames:
    - closure
    - return_value
    - n_param_values
    - param_values
    - invocation_hint
    - G_GNUC_UNUSED
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 805
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 805
    functionName: _g_cclosure_marshal_INT__OBJECT
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - g_value_peek_pointer
    - g_return_if_fail
    - g_value_set_int
    - callback
    - g_marshal_value_peek_object
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_INT__OBJECT (GClosure *closure, GValue *return_value,
      guint n_param_values, const GValue *param_values, gpointer invocation_hint G_GNUC_UNUSED,
      gpointer marshal_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/glib/gio/gmarshal-internal.c:912,1
    - Dst: g_boxed_copy
      Src: /src/glib/gio/gmarshal-internal.c:916,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:913,1
    - Dst: va_end
      Src: /src/glib/gio/gmarshal-internal.c:917,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:914,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:920,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:932,1
    - Dst: g_boxed_free
      Src: /src/glib/gio/gmarshal-internal.c:937,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 7
    argNames:
    - closure
    - G_GNUC_UNUSED
    - instance
    - args
    - marshal_data
    - n_params
    - param_types
    argTypes:
    - GClosure*
    - GValue*
    - gpointer
    - va_list
    - gpointer
    - int
    - GType*
    constantsTouched: []
    func_position:
      end: 938
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 938
    functionName: _g_cclosure_marshal_VOID__BOOLEAN_BOXEDv
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - callback
    - g_boxed_copy
    - va_arg
    - va_end
    - g_boxed_free
    - va_copy
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_VOID__BOOLEAN_BOXEDv (GClosure *closure,
      GValue *return_value G_GNUC_UNUSED, gpointer instance, va_list args, gpointer
      marshal_data, int n_params, GType *param_types) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/glib/gio/gmarshal-internal.c:1677,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gmarshal-internal.c:1683,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:1678,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:1681,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gmarshal-internal.c:1680,1
    - Dst: va_end
      Src: /src/glib/gio/gmarshal-internal.c:1684,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:1687,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:1699,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gmarshal-internal.c:1704,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gmarshal-internal.c:1706,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 7
    argNames:
    - closure
    - G_GNUC_UNUSED
    - instance
    - args
    - marshal_data
    - n_params
    - param_types
    argTypes:
    - GClosure*
    - GValue*
    - gpointer
    - va_list
    - gpointer
    - int
    - GType*
    constantsTouched: []
    func_position:
      end: 1707
      start: 1657
    functionDepth: 0
    functionLinenumber: 1657
    functionLinenumberEnd: 1707
    functionName: _g_cclosure_marshal_VOID__OBJECT_VARIANTv
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - g_object_unref
    - callback
    - g_variant_unref
    - va_arg
    - va_end
    - g_object_ref
    - va_copy
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_VOID__OBJECT_VARIANTv (GClosure *closure,
      GValue *return_value G_GNUC_UNUSED, gpointer instance, va_list args, gpointer
      marshal_data, int n_params, GType *param_types) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:2183,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:2188,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:2185,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:2192,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:2197,1
    - Dst: g_marshal_value_peek_string
      Src: /src/glib/gio/gmarshal-internal.c:2198,1
    - Dst: g_marshal_value_peek_string
      Src: /src/glib/gio/gmarshal-internal.c:2199,1
    - Dst: g_marshal_value_peek_string
      Src: /src/glib/gio/gmarshal-internal.c:2200,1
    - Dst: g_marshal_value_peek_flags
      Src: /src/glib/gio/gmarshal-internal.c:2201,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 6
    argNames:
    - closure
    - G_GNUC_UNUSED
    - n_param_values
    - param_values
    - invocation_hint
    - G_GNUC_UNUSED
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 2203
      start: 2165
    functionDepth: 0
    functionLinenumber: 2165
    functionLinenumberEnd: 2203
    functionName: _g_cclosure_marshal_VOID__STRING_STRING_STRING_FLAGS
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - g_value_peek_pointer
    - g_return_if_fail
    - callback
    - g_marshal_value_peek_flags
    - g_marshal_value_peek_string
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_VOID__STRING_STRING_STRING_FLAGS (GClosure
      *closure, GValue *return_value G_GNUC_UNUSED, guint n_param_values, const GValue
      *param_values, gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:2475,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:2484,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:2477,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:2480,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:2489,1
    - Dst: g_marshal_value_peek_uint
      Src: /src/glib/gio/gmarshal-internal.c:2490,1
    - Dst: g_marshal_value_peek_uint
      Src: /src/glib/gio/gmarshal-internal.c:2491,1
    - Dst: g_marshal_value_peek_uint
      Src: /src/glib/gio/gmarshal-internal.c:2492,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 6
    argNames:
    - closure
    - G_GNUC_UNUSED
    - n_param_values
    - param_values
    - invocation_hint
    - G_GNUC_UNUSED
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 2494
      start: 2458
    functionDepth: 0
    functionLinenumber: 2458
    functionLinenumberEnd: 2494
    functionName: _g_cclosure_marshal_VOID__UINT_UINT_UINT
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - g_value_peek_pointer
    - g_return_if_fail
    - g_marshal_value_peek_uint
    - callback
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_VOID__UINT_UINT_UINT (GClosure *closure,
      GValue *return_value G_GNUC_UNUSED, guint n_param_values, const GValue *param_values,
      gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/glib/gio/gmarshal-internal.c:2602,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:2603,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:2606,1
    - Dst: g_boxed_copy
      Src: /src/glib/gio/gmarshal-internal.c:2608,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gmarshal-internal.c:2605,1
    - Dst: va_end
      Src: /src/glib/gio/gmarshal-internal.c:2609,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:2612,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:2624,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gmarshal-internal.c:2629,1
    - Dst: g_boxed_free
      Src: /src/glib/gio/gmarshal-internal.c:2631,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 7
    argNames:
    - closure
    - G_GNUC_UNUSED
    - instance
    - args
    - marshal_data
    - n_params
    - param_types
    argTypes:
    - GClosure*
    - GValue*
    - gpointer
    - va_list
    - gpointer
    - int
    - GType*
    constantsTouched: []
    func_position:
      end: 2632
      start: 2582
    functionDepth: 0
    functionLinenumber: 2582
    functionLinenumberEnd: 2632
    functionName: _g_cclosure_marshal_VOID__VARIANT_BOXEDv
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - G_CCLOSURE_SWAP_DATA
    - callback
    - g_variant_unref
    - va_arg
    - va_end
    - g_boxed_free
    - va_copy
    - g_boxed_copy
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_VOID__VARIANT_BOXEDv (GClosure *closure,
      GValue *return_value G_GNUC_UNUSED, gpointer instance, va_list args, gpointer
      marshal_data, int n_params, GType *param_types) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:540,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:541,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:543,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:546,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:550,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:555,1
    - Dst: g_marshal_value_peek_uint
      Src: /src/glib/gio/gmarshal-internal.c:556,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gmarshal-internal.c:559,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 6
    argNames:
    - closure
    - return_value
    - n_param_values
    - param_values
    - invocation_hint
    - G_GNUC_UNUSED
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 560
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 560
    functionName: _g_cclosure_marshal_BOOLEAN__UINT
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - g_value_peek_pointer
    - g_return_if_fail
    - g_value_set_boolean
    - g_marshal_value_peek_uint
    - callback
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_BOOLEAN__UINT (GClosure *closure, GValue
      *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint
      G_GNUC_UNUSED, gpointer marshal_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/glib/gio/gmarshal-internal.c:581,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:587,1
    - Dst: va_end
      Src: /src/glib/gio/gmarshal-internal.c:583,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:585,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:582,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:599,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gmarshal-internal.c:604,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 7
    argNames:
    - closure
    - return_value
    - instance
    - args
    - marshal_data
    - n_params
    - param_types
    argTypes:
    - GClosure*
    - GValue*
    - gpointer
    - va_list
    - gpointer
    - int
    - GType*
    constantsTouched: []
    func_position:
      end: 605
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 605
    functionName: _g_cclosure_marshal_BOOLEAN__UINTv
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - g_value_set_boolean
    - callback
    - va_arg
    - va_end
    - va_copy
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_BOOLEAN__UINTv (GClosure *closure, GValue
      *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params,
      GType *param_types) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/glib/gio/gmarshal-internal.c:739,1
    - Dst: g_boxed_copy
      Src: /src/glib/gio/gmarshal-internal.c:742,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:745,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:740,1
    - Dst: va_end
      Src: /src/glib/gio/gmarshal-internal.c:743,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:747,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:759,1
    - Dst: g_boxed_free
      Src: /src/glib/gio/gmarshal-internal.c:763,1
    - Dst: g_value_set_int
      Src: /src/glib/gio/gmarshal-internal.c:765,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 7
    argNames:
    - closure
    - return_value
    - instance
    - args
    - marshal_data
    - n_params
    - param_types
    argTypes:
    - GClosure*
    - GValue*
    - gpointer
    - va_list
    - gpointer
    - int
    - GType*
    constantsTouched: []
    func_position:
      end: 766
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 766
    functionName: _g_cclosure_marshal_INT__BOXEDv
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - G_CCLOSURE_SWAP_DATA
    - callback
    - g_value_set_int
    - va_arg
    - va_end
    - g_boxed_free
    - va_copy
    - g_boxed_copy
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_INT__BOXEDv (GClosure *closure, GValue *return_value,
      gpointer instance, va_list args, gpointer marshal_data, int n_params, GType
      *param_types) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:1138,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:1143,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:1140,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:1147,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:1152,1
    - Dst: g_marshal_value_peek_int
      Src: /src/glib/gio/gmarshal-internal.c:1153,1
    - Dst: g_marshal_value_peek_int
      Src: /src/glib/gio/gmarshal-internal.c:1154,1
    - Dst: g_marshal_value_peek_int
      Src: /src/glib/gio/gmarshal-internal.c:1155,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 6
    argNames:
    - closure
    - G_GNUC_UNUSED
    - n_param_values
    - param_values
    - invocation_hint
    - G_GNUC_UNUSED
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1157
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1157
    functionName: _g_cclosure_marshal_VOID__INT_INT_INT
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - g_value_peek_pointer
    - g_return_if_fail
    - callback
    - g_marshal_value_peek_int
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_VOID__INT_INT_INT (GClosure *closure, GValue
      *return_value G_GNUC_UNUSED, guint n_param_values, const GValue *param_values,
      gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:1225,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:1230,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:1227,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:1234,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:1239,1
    - Dst: g_marshal_value_peek_object
      Src: /src/glib/gio/gmarshal-internal.c:1240,1
    - Dst: g_marshal_value_peek_object
      Src: /src/glib/gio/gmarshal-internal.c:1241,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 6
    argNames:
    - closure
    - G_GNUC_UNUSED
    - n_param_values
    - param_values
    - invocation_hint
    - G_GNUC_UNUSED
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1243
      start: 1209
    functionDepth: 0
    functionLinenumber: 1209
    functionLinenumberEnd: 1243
    functionName: _g_cclosure_marshal_VOID__OBJECT_OBJECT
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - g_value_peek_pointer
    - g_return_if_fail
    - callback
    - g_marshal_value_peek_object
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_VOID__OBJECT_OBJECT (GClosure *closure, GValue
      *return_value G_GNUC_UNUSED, guint n_param_values, const GValue *param_values,
      gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:1530,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:1532,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:1539,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:1535,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:1544,1
    - Dst: g_marshal_value_peek_object
      Src: /src/glib/gio/gmarshal-internal.c:1545,1
    - Dst: g_marshal_value_peek_object
      Src: /src/glib/gio/gmarshal-internal.c:1546,1
    - Dst: g_marshal_value_peek_variant
      Src: /src/glib/gio/gmarshal-internal.c:1547,1
    - Dst: g_marshal_value_peek_boxed
      Src: /src/glib/gio/gmarshal-internal.c:1548,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 6
    argNames:
    - closure
    - G_GNUC_UNUSED
    - n_param_values
    - param_values
    - invocation_hint
    - G_GNUC_UNUSED
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1550
      start: 1512
    functionDepth: 0
    functionLinenumber: 1512
    functionLinenumberEnd: 1550
    functionName: _g_cclosure_marshal_VOID__OBJECT_OBJECT_VARIANT_BOXED
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - g_value_peek_pointer
    - g_return_if_fail
    - callback
    - g_marshal_value_peek_variant
    - g_marshal_value_peek_object
    - g_marshal_value_peek_boxed
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_VOID__OBJECT_OBJECT_VARIANT_BOXED (GClosure
      *closure, GValue *return_value G_GNUC_UNUSED, guint n_param_values, const GValue
      *param_values, gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/glib/gio/gmarshal-internal.c:2134,1
    - Dst: g_strdup
      Src: /src/glib/gio/gmarshal-internal.c:2137,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:2138,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:2139,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:2135,1
    - Dst: va_end
      Src: /src/glib/gio/gmarshal-internal.c:2140,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:2143,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:2155,1
    - Dst: g_free
      Src: /src/glib/gio/gmarshal-internal.c:2161,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 7
    argNames:
    - closure
    - G_GNUC_UNUSED
    - instance
    - args
    - marshal_data
    - n_params
    - param_types
    argTypes:
    - GClosure*
    - GValue*
    - gpointer
    - va_list
    - gpointer
    - int
    - GType*
    constantsTouched: []
    func_position:
      end: 2162
      start: 2112
    functionDepth: 0
    functionLinenumber: 2112
    functionLinenumberEnd: 2162
    functionName: _g_cclosure_marshal_VOID__STRING_INT64_INT64v
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - g_strdup
    - callback
    - g_free
    - va_arg
    - va_end
    - va_copy
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_VOID__STRING_INT64_INT64v (GClosure *closure,
      GValue *return_value G_GNUC_UNUSED, gpointer instance, va_list args, gpointer
      marshal_data, int n_params, GType *param_types) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/glib/gio/gmarshal-internal.c:2425,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gmarshal-internal.c:2431,1
    - Dst: g_strdup
      Src: /src/glib/gio/gmarshal-internal.c:2428,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:2429,1
    - Dst: va_arg
      Src: /src/glib/gio/gmarshal-internal.c:2426,1
    - Dst: va_end
      Src: /src/glib/gio/gmarshal-internal.c:2432,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:2435,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:2447,1
    - Dst: g_free
      Src: /src/glib/gio/gmarshal-internal.c:2452,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gmarshal-internal.c:2454,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 7
    argNames:
    - closure
    - G_GNUC_UNUSED
    - instance
    - args
    - marshal_data
    - n_params
    - param_types
    argTypes:
    - GClosure*
    - GValue*
    - gpointer
    - va_list
    - gpointer
    - int
    - GType*
    constantsTouched: []
    func_position:
      end: 2455
      start: 2405
    functionDepth: 0
    functionLinenumber: 2405
    functionLinenumberEnd: 2455
    functionName: _g_cclosure_marshal_VOID__STRING_VARIANTv
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - g_strdup
    - callback
    - g_free
    - g_variant_unref
    - va_arg
    - va_end
    - va_copy
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_VOID__STRING_VARIANTv (GClosure *closure,
      GValue *return_value G_GNUC_UNUSED, gpointer instance, va_list args, gpointer
      marshal_data, int n_params, GType *param_types) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmarshal-internal.c:2562,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:2567,1
    - Dst: G_CCLOSURE_SWAP_DATA
      Src: /src/glib/gio/gmarshal-internal.c:2564,1
    - Dst: g_value_peek_pointer
      Src: /src/glib/gio/gmarshal-internal.c:2571,1
    - Dst: callback
      Src: /src/glib/gio/gmarshal-internal.c:2576,1
    - Dst: g_marshal_value_peek_variant
      Src: /src/glib/gio/gmarshal-internal.c:2577,1
    - Dst: g_marshal_value_peek_boxed
      Src: /src/glib/gio/gmarshal-internal.c:2578,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 6
    argNames:
    - closure
    - G_GNUC_UNUSED
    - n_param_values
    - param_values
    - invocation_hint
    - G_GNUC_UNUSED
    - marshal_data
    argTypes:
    - GClosure*
    - GValue*
    - guint
    - GValue*
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 2580
      start: 2546
    functionDepth: 0
    functionLinenumber: 2546
    functionLinenumberEnd: 2580
    functionName: _g_cclosure_marshal_VOID__VARIANT_BOXED
    functionSourceFile: /src/glib/gio/gmarshal-internal.c
    functionUses: []
    functionsReached:
    - g_value_peek_pointer
    - g_return_if_fail
    - callback
    - g_marshal_value_peek_variant
    - g_marshal_value_peek_boxed
    - G_CCLOSURE_SWAP_DATA
    linkageType: ''
    returnType: void
    signature: 'void _g_cclosure_marshal_VOID__VARIANT_BOXED (GClosure *closure, GValue
      *return_value G_GNUC_UNUSED, guint n_param_values, const GValue *param_values,
      gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:462,1
    - Dst: g_str_hash
      Src: /src/glib/gio/glocalfile.c:464,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 465
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 465
    functionName: g_local_file_hash
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_str_hash
    - G_LOCAL_FILE
    linkageType: ''
    returnType: guint
    signature: 'static guint g_local_file_hash (GFile *file) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _g_local_file_output_stream_replace
      Src: /src/glib/gio/glocalfile.c:1495,1
    - Dst: _g_local_file_io_stream_new
      Src: /src/glib/gio/glocalfile.c:1502,1
    - Dst: G_LOCAL_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/glocalfile.c:1502,1
    - Dst: g_object_unref
      Src: /src/glib/gio/glocalfile.c:1503,1
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:1495,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1505
      start: 1484
    functionDepth: 0
    functionLinenumber: 1484
    functionLinenumberEnd: 1505
    functionName: g_local_file_replace_readwrite
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - _g_local_file_output_stream_replace
    - _g_local_file_io_stream_new
    - G_LOCAL_FILE_OUTPUT_STREAM
    - G_LOCAL_FILE
    linkageType: ''
    returnType: GFileIOStream*
    signature: "static GFileIOStream *g_local_file_replace_readwrite (GFile *file,\t\
      \t\t\tconst char *etag,\t\t\t\tgboolean make_backup,\t\t\t\tGFileCreateFlags\
      \ flags,\t\t\t\tGCancellable *cancellable,\t\t\t\tGError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - dirname
    - dir_dev
    argTypes:
    - char*
    - dev_t
    constantsTouched: []
    func_position:
      end: 2426
      start: 2422
    functionDepth: 0
    functionLinenumber: 2422
    functionLinenumberEnd: 2426
    functionName: _g_local_file_has_trash_dir
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _g_local_file_has_trash_dir (const char *dirname, dev_t dir_dev) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:471,1
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:472,1
    - Dst: g_str_equal
      Src: /src/glib/gio/glocalfile.c:474,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - file1
    - file2
    argTypes:
    - GFile*
    - GFile*
    constantsTouched: []
    func_position:
      end: 475
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 475
    functionName: g_local_file_equal
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - G_LOCAL_FILE
    - g_str_equal
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_local_file_equal (GFile *file1,\t\t GFile *file2) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:1512,1
    - Dst: g_remove
      Src: /src/glib/gio/glocalfile.c:1516,1
    - Dst: g_vfs_get_default
      Src: /src/glib/gio/glocalfile.c:1532,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:1527,1
    - Dst: g_set_io_error
      Src: /src/glib/gio/glocalfile.c:1526,1
    - Dst: G_VFS_GET_CLASS
      Src: /src/glib/gio/glocalfile.c:1533,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 3
    argNames:
    - file
    - cancellable
    - error
    argTypes:
    - GFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1538
      start: 1507
    functionDepth: 0
    functionLinenumber: 1507
    functionLinenumberEnd: 1538
    functionName: g_local_file_delete
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_set_io_error
    - G_VFS_GET_CLASS
    - G_LOCAL_FILE
    - g_remove
    - _
    - g_vfs_get_default
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_local_file_delete (GFile *file,\t\t GCancellable\
      \ *cancellable,\t\t GError **error) "
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: g_lstat
      Src: /src/glib/gio/glocalfile.c:2022,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2038,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2342,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2402,1
    - Dst: g_stat
      Src: /src/glib/gio/glocalfile.c:2033,1
    - Dst: g_get_user_data_dir
      Src: /src/glib/gio/glocalfile.c:2076,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2062,1
    - Dst: g_build_filename
      Src: /src/glib/gio/glocalfile.c:2215,1
    - Dst: g_lstat
      Src: /src/glib/gio/glocalfile.c:2162,1
    - Dst: g_mkdir
      Src: /src/glib/gio/glocalfile.c:2140,1
    - Dst: g_build_filename
      Src: /src/glib/gio/glocalfile.c:2378,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2389,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2236,1
    - Dst: g_stat
      Src: /src/glib/gio/glocalfile.c:2059,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2135,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfile.c:2226,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2204,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2313,1
    - Dst: g_file_set_contents_full
      Src: /src/glib/gio/glocalfile.c:2358,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2412,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/glocalfile.c:2154,1
    - Dst: g_mkdir
      Src: /src/glib/gio/glocalfile.c:2178,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2027,1
    - Dst: g_set_io_error
      Src: /src/glib/gio/glocalfile.c:2037,1
    - Dst: g_path_get_dirname
      Src: /src/glib/gio/glocalfile.c:2053,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2065,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2115,1
    - Dst: g_strconcat
      Src: /src/glib/gio/glocalfile.c:2256,1
    - Dst: try_make_relative
      Src: /src/glib/gio/glocalfile.c:2338,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2355,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2365,1
    - Dst: g_set_io_error
      Src: /src/glib/gio/glocalfile.c:2026,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2087,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalfile.c:2091,1
    - Dst: g_snprintf
      Src: /src/glib/gio/glocalfile.c:2100,1
    - Dst: g_set_io_error
      Src: /src/glib/gio/glocalfile.c:2105,1
    - Dst: S_ISDIR
      Src: /src/glib/gio/glocalfile.c:2164,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2228,1
    - Dst: g_mkdir
      Src: /src/glib/gio/glocalfile.c:2220,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2157,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/glocalfile.c:2319,1
    - Dst: g_set_io_error
      Src: /src/glib/gio/glocalfile.c:2397,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2147,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfile.c:2198,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2232,1
    - Dst: g_set_io_error
      Src: /src/glib/gio/glocalfile.c:2064,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2085,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2106,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2200,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2252,1
    - Dst: g_open
      Src: /src/glib/gio/glocalfile.c:2260,1
    - Dst: strlen
      Src: /src/glib/gio/glocalfile.c:2269,1
    - Dst: G_VFS_GET_CLASS
      Src: /src/glib/gio/glocalfile.c:2408,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2142,1
    - Dst: strlen
      Src: /src/glib/gio/glocalfile.c:2245,1
    - Dst: strlen
      Src: /src/glib/gio/glocalfile.c:2294,1
    - Dst: g_vfs_get_default
      Src: /src/glib/gio/glocalfile.c:2407,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalfile.c:2336,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2364,1
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:1999,1
    - Dst: g_unlink
      Src: /src/glib/gio/glocalfile.c:2287,1
    - Dst: g_clear_error
      Src: /src/glib/gio/glocalfile.c:2297,1
    - Dst: g_unlink
      Src: /src/glib/gio/glocalfile.c:2386,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2417,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2366,1
    - Dst: g_remove
      Src: /src/glib/gio/glocalfile.c:2169,1
    - Dst: g_build_filename
      Src: /src/glib/gio/glocalfile.c:2155,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2234,1
    - Dst: g_build_filename
      Src: /src/glib/gio/glocalfile.c:2121,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2258,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2315,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/glocalfile.c:2356,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/glocalfile.c:2372,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2398,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2390,1
    - Dst: glib_should_use_portal
      Src: /src/glib/gio/glocalfile.c:2019,1
    - Dst: g_build_filename
      Src: /src/glib/gio/glocalfile.c:2126,1
    - Dst: g_lstat
      Src: /src/glib/gio/glocalfile.c:2129,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2206,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2237,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2308,1
    - Dst: g_rename
      Src: /src/glib/gio/glocalfile.c:2382,1
    - Dst: g_build_filename
      Src: /src/glib/gio/glocalfile.c:2076,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/gio/glocalfile.c:2077,1
    - Dst: g_filename_display_name
      Src: /src/glib/gio/glocalfile.c:2082,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfile.c:2083,1
    - Dst: ignore_trash_path
      Src: /src/glib/gio/glocalfile.c:2111,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfile.c:2113,1
    - Dst: g_filename_display_name
      Src: /src/glib/gio/glocalfile.c:2225,1
    - Dst: get_unique_filename
      Src: /src/glib/gio/glocalfile.c:2255,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2367,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2388,1
    - Dst: g_filename_display_name
      Src: /src/glib/gio/glocalfile.c:2197,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2088,1
    - Dst: geteuid
      Src: /src/glib/gio/glocalfile.c:2099,1
    - Dst: g_lstat
      Src: /src/glib/gio/glocalfile.c:2122,1
    - Dst: g_build_filename
      Src: /src/glib/gio/glocalfile.c:2216,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2251,1
    - Dst: g_error_matches
      Src: /src/glib/gio/glocalfile.c:2288,1
    - Dst: g_unlink
      Src: /src/glib/gio/glocalfile.c:2362,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2380,1
    - Dst: g_set_io_error
      Src: /src/glib/gio/glocalfile.c:2401,1
    - Dst: g_trash_portal_trash_file
      Src: /src/glib/gio/glocalfile.c:2020,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2069,1
    - Dst: S_ISDIR
      Src: /src/glib/gio/glocalfile.c:2051,1
    - Dst: _g_local_file_find_topdir_for
      Src: /src/glib/gio/glocalfile.c:2102,1
    - Dst: g_filename_display_name
      Src: /src/glib/gio/glocalfile.c:2196,1
    - Dst: S_ISDIR
      Src: /src/glib/gio/glocalfile.c:2131,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2207,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2314,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2316,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2323,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2416,1
    - Dst: g_get_home_dir
      Src: /src/glib/gio/glocalfile.c:2032,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2242,1
    - Dst: g_build_filename
      Src: /src/glib/gio/glocalfile.c:2257,1
    - Dst: strlen
      Src: /src/glib/gio/glocalfile.c:2292,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2341,1
    - Dst: g_date_time_new_now_local
      Src: /src/glib/gio/glocalfile.c:2345,1
    - Dst: g_date_time_format
      Src: /src/glib/gio/glocalfile.c:2347,1
    - Dst: g_date_time_unref
      Src: /src/glib/gio/glocalfile.c:2350,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2114,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2231,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/glocalfile.c:2084,1
    - Dst: g_strerror
      Src: /src/glib/gio/glocalfile.c:2086,1
    - Dst: g_get_user_data_dir
      Src: /src/glib/gio/glocalfile.c:2091,1
    - Dst: S_ISDIR
      Src: /src/glib/gio/glocalfile.c:2123,1
    - Dst: strlen
      Src: /src/glib/gio/glocalfile.c:2271,1
    - Dst: g_file_set_contents_full
      Src: /src/glib/gio/glocalfile.c:2283,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2309,1
    - Dst: g_uri_escape_string
      Src: /src/glib/gio/glocalfile.c:2339,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalfile.c:2349,1
    - Dst: g_mkdir
      Src: /src/glib/gio/glocalfile.c:2219,1
    - Dst: g_filename_display_name
      Src: /src/glib/gio/glocalfile.c:2224,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2235,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2203,1
    - Dst: g_path_get_basename
      Src: /src/glib/gio/glocalfile.c:2244,1
    - Dst: g_close
      Src: /src/glib/gio/glocalfile.c:2280,1
    - Dst: g_set_io_error
      Src: /src/glib/gio/glocalfile.c:2322,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/glocalfile.c:2353,1
    CyclomaticComplexity: 78
    EdgeCount: 78
    ICount: 282
    argCount: 3
    argNames:
    - file
    - cancellable
    - error
    argTypes:
    - GFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2420
      start: 1994
    functionDepth: 0
    functionLinenumber: 1994
    functionLinenumberEnd: 2420
    functionName: g_local_file_trash
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_path_get_basename
    - g_strconcat
    - g_date_time_unref
    - g_vfs_get_default
    - G_VFS_GET_CLASS
    - g_strerror
    - glib_should_use_portal
    - g_trash_portal_trash_file
    - g_filename_display_name
    - g_snprintf
    - g_open
    - geteuid
    - g_unlink
    - g_date_time_format
    - g_mkdir_with_parents
    - get_unique_filename
    - g_clear_pointer
    - g_build_filename
    - S_ISDIR
    - g_uri_escape_string
    - g_mkdir
    - g_path_get_dirname
    - g_set_error
    - g_strdup
    - strlen
    - try_make_relative
    - g_date_time_new_now_local
    - g_get_home_dir
    - g_stat
    - _
    - g_set_io_error
    - g_clear_error
    - g_propagate_error
    - g_io_error_from_errno
    - g_get_user_data_dir
    - g_close
    - g_error_matches
    - g_rename
    - ignore_trash_path
    - G_LOCAL_FILE
    - g_remove
    - g_lstat
    - g_free
    - _g_local_file_find_topdir_for
    - g_file_set_contents_full
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_local_file_trash (GFile *file,\t\t GCancellable\
      \ *cancellable,\t\t GError **error) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:2433,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/glocalfile.c:2452,1
    - Dst: g_renew
      Src: /src/glib/gio/glocalfile.c:2441,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/glocalfile.c:2439,1
    - Dst: SHFileOperationW
      Src: /src/glib/gio/glocalfile.c:2448,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/glocalfile.c:2453,1
    - Dst: g_set_io_error
      Src: /src/glib/gio/glocalfile.c:2454,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2455,1
    - Dst: g_set_io_error
      Src: /src/glib/gio/glocalfile.c:2460,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2461,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2464,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 3
    argNames:
    - file
    - cancellable
    - error
    argTypes:
    - GFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2466
      start: 2428
    functionDepth: 0
    functionLinenumber: 2428
    functionLinenumberEnd: 2466
    functionName: g_local_file_trash
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_set_io_error
    - SHFileOperationW
    - g_renew
    - g_utf8_to_utf16
    - g_cancellable_is_cancelled
    - G_LOCAL_FILE
    - _
    - g_cancellable_cancel
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_local_file_trash (GFile *file,\t\t GCancellable\
      \ *cancellable,\t\t GError **error) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:2474,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2484,1
    - Dst: g_set_io_error
      Src: /src/glib/gio/glocalfile.c:2486,1
    - Dst: g_mkdir
      Src: /src/glib/gio/glocalfile.c:2476,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glocalfile.c:2482,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2487,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - file
    - cancellable
    - error
    argTypes:
    - GFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2493
      start: 2469
    functionDepth: 0
    functionLinenumber: 2469
    functionLinenumberEnd: 2493
    functionName: g_local_file_make_directory
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_set_io_error
    - g_set_error_literal
    - G_LOCAL_FILE
    - _
    - g_mkdir
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_local_file_make_directory (GFile *file,\t\t\t GCancellable\
      \ *cancellable,\t\t\t GError **error) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/glocalfile.c:1962,1
    - Dst: find_mountpoint_for
      Src: /src/glib/gio/glocalfile.c:1965,1
    - Dst: strlen
      Src: /src/glib/gio/glocalfile.c:1969,1
    - Dst: strlen
      Src: /src/glib/gio/glocalfile.c:1975,1
    - Dst: strlen
      Src: /src/glib/gio/glocalfile.c:1975,1
    - Dst: g_lstat
      Src: /src/glib/gio/glocalfile.c:1978,1
    - Dst: S_ISDIR
      Src: /src/glib/gio/glocalfile.c:1981,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1989,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 23
    argCount: 2
    argNames:
    - path
    - path_dev
    argTypes:
    - char*
    - dev_t
    constantsTouched: []
    func_position:
      end: 1991
      start: 1954
    functionDepth: 0
    functionLinenumber: 1954
    functionLinenumberEnd: 1991
    functionName: _g_local_file_is_lost_found_dir
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - strlen
    - g_str_has_suffix
    - S_ISDIR
    - g_lstat
    - find_mountpoint_for
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _g_local_file_is_lost_found_dir (const char *path, dev_t
      path_dev) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_parent
      Src: /src/glib/gio/glocalfile.c:1674,1
    - Dst: g_path_get_basename
      Src: /src/glib/gio/glocalfile.c:1681,1
    - Dst: expand_all_symlinks
      Src: /src/glib/gio/glocalfile.c:1680,1
    - Dst: g_build_filename
      Src: /src/glib/gio/glocalfile.c:1682,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/glocalfile.c:1678,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1683,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1684,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalfile.c:1687,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1689,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1692
      start: 1667
    functionDepth: 0
    functionLinenumber: 1667
    functionLinenumberEnd: 1692
    functionName: expand_all_symlinks
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_path_get_basename
    - get_parent
    - g_build_filename
    - g_strcmp0
    - expand_all_symlinks
    - g_free
    linkageType: ''
    returnType: char*
    signature: 'static char *expand_all_symlinks (const char *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: _g_local_file_get_filename
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *_g_local_file_get_filename (GLocalFile *file) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/glocalfile.c:871,1
    - Dst: g_win32_error_message
      Src: /src/glib/gio/glocalfile.c:876,1
    - Dst: g_new
      Src: /src/glib/gio/glocalfile.c:872,1
    - Dst: GetLastError
      Src: /src/glib/gio/glocalfile.c:876,1
    - Dst: GetVolumePathNameW
      Src: /src/glib/gio/glocalfile.c:874,1
    - Dst: g_critical
      Src: /src/glib/gio/glocalfile.c:877,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:878,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:879,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:880,1
    - Dst: wcslen
      Src: /src/glib/gio/glocalfile.c:884,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:892,1
    - Dst: g_renew
      Src: /src/glib/gio/glocalfile.c:887,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 894
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 894
    functionName: get_volume_for_path
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_renew
    - g_new
    - g_win32_error_message
    - g_utf8_to_utf16
    - wcslen
    - GetVolumePathNameW
    - GetLastError
    - g_critical
    - g_free
    linkageType: ''
    returnType: wchar_t*
    signature: 'static wchar_t *get_volume_for_path (const char *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/glocalfile.c:232,1
    - Dst: g_canonicalize_filename
      Src: /src/glib/gio/glocalfile.c:233,1
    - Dst: G_FILE
      Src: /src/glib/gio/glocalfile.c:235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 236
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 236
    functionName: _g_local_file_new
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_canonicalize_filename
    - g_object_new
    - G_FILE
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *_g_local_file_new (const char *filename) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_volume_for_path
      Src: /src/glib/gio/glocalfile.c:902,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:908,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/glocalfile.c:906,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 910
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 910
    functionName: find_mountpoint_for
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - get_volume_for_path
    - g_free
    - g_utf16_to_utf8
    linkageType: ''
    returnType: char*
    signature: 'static char *find_mountpoint_for (const char *file, dev_t dev, gboolean
      resolve_basename_symlink) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: expand_symlinks
      Src: /src/glib/gio/glocalfile.c:1704,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/glocalfile.c:1713,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1718,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalfile.c:1709,1
    - Dst: get_parent
      Src: /src/glib/gio/glocalfile.c:1715,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1724,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1728,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1733
      start: 1694
    functionDepth: 0
    functionLinenumber: 1694
    functionLinenumberEnd: 1733
    functionName: find_mountpoint_for
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - get_parent
    - g_strcmp0
    - expand_symlinks
    - g_free
    linkageType: ''
    returnType: char*
    signature: 'static char *find_mountpoint_for (const char *file, dev_t dev, gboolean
      resolve_basename_symlink) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 44
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GFileIface*
    constantsTouched: []
    func_position:
      end: 3162
      start: 3113
    functionDepth: 0
    functionLinenumber: 3113
    functionLinenumberEnd: 3162
    functionName: g_local_file_file_iface_init
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_local_file_file_iface_init (GFileIface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:1234,1
    - Dst: g_path_get_dirname
      Src: /src/glib/gio/glocalfile.c:1244,1
    - Dst: _g_local_file_info_get_parent_info
      Src: /src/glib/gio/glocalfile.c:1245,1
    - Dst: g_file_attribute_matcher_new
      Src: /src/glib/gio/glocalfile.c:1240,1
    - Dst: g_path_get_basename
      Src: /src/glib/gio/glocalfile.c:1242,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1246,1
    - Dst: _g_local_file_info_get
      Src: /src/glib/gio/glocalfile.c:1248,1
    - Dst: _g_local_file_info_free_parent_info
      Src: /src/glib/gio/glocalfile.c:1253,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1254,1
    - Dst: g_file_attribute_matcher_unref
      Src: /src/glib/gio/glocalfile.c:1256,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1227
    functionDepth: 0
    functionLinenumber: 1227
    functionLinenumberEnd: 1259
    functionName: g_local_file_query_info
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_path_get_dirname
    - g_path_get_basename
    - _g_local_file_info_get
    - _g_local_file_info_get_parent_info
    - _g_local_file_info_free_parent_info
    - g_file_attribute_matcher_unref
    - G_LOCAL_FILE
    - g_file_attribute_matcher_new
    - g_free
    linkageType: ''
    returnType: GFileInfo*
    signature: "static GFileInfo *g_local_file_query_info (GFile *file,\t\t\t const\
      \ char *attributes,\t\t\t GFileQueryInfoFlags flags,\t\t\t GCancellable *cancellable,\t\
      \t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:2743,1
    - Dst: g_local_file_monitor_new_for_path
      Src: /src/glib/gio/glocalfile.c:2745,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2746
      start: 2737
    functionDepth: 0
    functionLinenumber: 2737
    functionLinenumberEnd: 2746
    functionName: g_local_file_monitor_dir
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - G_LOCAL_FILE
    - g_local_file_monitor_new_for_path
    linkageType: ''
    returnType: GFileMonitor*
    signature: "static GFileMonitor *g_local_file_monitor_dir (GFile *file,\t\t\t\
      \ GFileMonitorFlags flags,\t\t\t GCancellable *cancellable,\t\t\t GError **error) "
  - BBCount: 86
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 88
    EdgeCount: 88
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 757
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 757
    functionName: get_fs_type
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *get_fs_type (long f_type) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:1372,1
    - Dst: S_ISDIR
      Src: /src/glib/gio/glocalfile.c:1386,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/glocalfile.c:1385,1
    - Dst: g_open
      Src: /src/glib/gio/glocalfile.c:1376,1
    - Dst: g_set_io_error
      Src: /src/glib/gio/glocalfile.c:1390,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:1391,1
    - Dst: g_local_file_fstat
      Src: /src/glib/gio/glocalfile.c:1396,1
    - Dst: S_ISDIR
      Src: /src/glib/gio/glocalfile.c:1398,1
    - Dst: _g_stat_mode
      Src: /src/glib/gio/glocalfile.c:1398,1
    - Dst: g_close
      Src: /src/glib/gio/glocalfile.c:1400,1
    - Dst: g_set_io_error
      Src: /src/glib/gio/glocalfile.c:1401,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:1402,1
    - Dst: _g_local_file_input_stream_new
      Src: /src/glib/gio/glocalfile.c:1407,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1408
      start: 1367
    functionDepth: 0
    functionLinenumber: 1367
    functionLinenumberEnd: 1408
    functionName: g_local_file_read
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_set_io_error
    - _g_local_file_input_stream_new
    - _g_stat_mode
    - g_close
    - GLIB_PRIVATE_CALL
    - g_local_file_fstat
    - G_LOCAL_FILE
    - _
    - g_open
    - S_ISDIR
    linkageType: ''
    returnType: GFileInputStream*
    signature: "static GFileInputStream *g_local_file_read (GFile *file,\t\t GCancellable\
      \ *cancellable,\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gio/glocalfile.c:1548,1
    - Dst: strlen
      Src: /src/glib/gio/glocalfile.c:1549,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1554
      start: 1542
    functionDepth: 0
    functionLinenumber: 1542
    functionLinenumberEnd: 1554
    functionName: strip_trailing_slashes
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - strlen
    linkageType: ''
    returnType: char*
    signature: 'static char *strip_trailing_slashes (const char *path) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/gio/glocalfile.c:1777,1
    - Dst: strncmp
      Src: /src/glib/gio/glocalfile.c:1779,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - path
    - prefix
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1787
      start: 1768
    functionDepth: 0
    functionLinenumber: 1768
    functionLinenumberEnd: 1787
    functionName: path_has_prefix
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - strncmp
    - strlen
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean path_has_prefix (const char *path, const char *prefix) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/gio/glocalfile.c:1879,1
    - Dst: g_get_home_dir
      Src: /src/glib/gio/glocalfile.c:1883,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/glocalfile.c:1933,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1940,1
    - Dst: g_access
      Src: /src/glib/gio/glocalfile.c:1947,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1948,1
    - Dst: S_ISDIR
      Src: /src/glib/gio/glocalfile.c:1915,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1924,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1935,1
    - Dst: geteuid
      Src: /src/glib/gio/glocalfile.c:1930,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1923,1
    - Dst: g_stat
      Src: /src/glib/gio/glocalfile.c:1883,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1908,1
    - Dst: g_build_filename
      Src: /src/glib/gio/glocalfile.c:1913,1
    - Dst: g_lstat
      Src: /src/glib/gio/glocalfile.c:1914,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1927,1
    - Dst: g_lstat
      Src: /src/glib/gio/glocalfile.c:1937,1
    - Dst: g_build_filename
      Src: /src/glib/gio/glocalfile.c:1934,1
    - Dst: g_snprintf
      Src: /src/glib/gio/glocalfile.c:1931,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1939,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1944,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/glocalfile.c:1893,1
    - Dst: find_mountpoint_for
      Src: /src/glib/gio/glocalfile.c:1902,1
    - Dst: ignore_trash_path
      Src: /src/glib/gio/glocalfile.c:1906,1
    - Dst: S_ISDIR
      Src: /src/glib/gio/glocalfile.c:1941,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 2
    argNames:
    - dirname
    - dir_dev
    argTypes:
    - char*
    - dev_t
    constantsTouched: []
    func_position:
      end: 1951
      start: 1867
    functionDepth: 0
    functionLinenumber: 1867
    functionLinenumberEnd: 1951
    functionName: _g_local_file_has_trash_dir
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_once_init_leave
    - g_strdup_printf
    - g_access
    - g_once_init_enter
    - g_get_home_dir
    - g_snprintf
    - g_build_filename
    - g_stat
    - S_ISDIR
    - g_lstat
    - find_mountpoint_for
    - g_free
    - ignore_trash_path
    - geteuid
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _g_local_file_has_trash_dir (const char *dirname, dev_t dir_dev) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_local_file_output_stream_append
      Src: /src/glib/gio/glocalfile.c:1416,1
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:1416,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1418
      start: 1410
    functionDepth: 0
    functionLinenumber: 1410
    functionLinenumberEnd: 1418
    functionName: g_local_file_append_to
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - _g_local_file_output_stream_append
    - G_LOCAL_FILE
    linkageType: ''
    returnType: GFileOutputStream*
    signature: "static GFileOutputStream *g_local_file_append_to (GFile *file,\t\t\
      \tGFileCreateFlags flags,\t\t\tGCancellable *cancellable,\t\t\tGError **error) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: readlink
      Src: /src/glib/gio/glocalfile.c:1568,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalfile.c:1571,1
    - Dst: g_canonicalize_filename
      Src: /src/glib/gio/glocalfile.c:1576,1
    - Dst: g_path_is_absolute
      Src: /src/glib/gio/glocalfile.c:1575,1
    - Dst: strip_trailing_slashes
      Src: /src/glib/gio/glocalfile.c:1579,1
    - Dst: g_path_get_dirname
      Src: /src/glib/gio/glocalfile.c:1580,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1581,1
    - Dst: g_build_filename
      Src: /src/glib/gio/glocalfile.c:1583,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1584,1
    - Dst: g_canonicalize_filename
      Src: /src/glib/gio/glocalfile.c:1586,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1588,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1592
      start: 1556
    functionDepth: 0
    functionLinenumber: 1556
    functionLinenumberEnd: 1592
    functionName: expand_symlink
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_path_get_dirname
    - g_strdup
    - g_canonicalize_filename
    - strip_trailing_slashes
    - g_build_filename
    - readlink
    - g_free
    - g_path_is_absolute
    linkageType: ''
    returnType: char*
    signature: 'static char *expand_symlink (const char *link) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: expand_all_symlinks
      Src: /src/glib/gio/glocalfile.c:1796,1
    - Dst: strlen
      Src: /src/glib/gio/glocalfile.c:1802,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalfile.c:1805,1
    - Dst: expand_all_symlinks
      Src: /src/glib/gio/glocalfile.c:1797,1
    - Dst: path_has_prefix
      Src: /src/glib/gio/glocalfile.c:1800,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1807,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1808,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalfile.c:1814,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1815
      start: 1789
    functionDepth: 0
    functionLinenumber: 1789
    functionLinenumberEnd: 1815
    functionName: try_make_relative
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - strlen
    - path_has_prefix
    - expand_all_symlinks
    - g_free
    linkageType: ''
    returnType: char*
    signature: 'static char *try_make_relative (const char *path, const char *base) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/gio/glocalfile.c:2796,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2804,1
    - Dst: g_string_prepend_c
      Src: /src/glib/gio/glocalfile.c:2801,1
    - Dst: g_filename_display_name
      Src: /src/glib/gio/glocalfile.c:2802,1
    - Dst: g_string_prepend
      Src: /src/glib/gio/glocalfile.c:2803,1
    - Dst: g_string_new
      Src: /src/glib/gio/glocalfile.c:2812,1
    - Dst: g_filename_display_name
      Src: /src/glib/gio/glocalfile.c:2813,1
    - Dst: g_string_append
      Src: /src/glib/gio/glocalfile.c:2814,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2815,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfile.c:2819,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/glocalfile.c:2819,1
    - Dst: g_strerror
      Src: /src/glib/gio/glocalfile.c:2821,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2820,1
    - Dst: g_string_free
      Src: /src/glib/gio/glocalfile.c:2823,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 4
    argNames:
    - flags
    - saved_errno
    - name
    - error
    argTypes:
    - GFileMeasureFlags
    - gint
    - GSList*
    - GError**
    constantsTouched: []
    func_position:
      end: 2831
      start: 2776
    functionDepth: 0
    functionLinenumber: 2776
    functionLinenumberEnd: 2831
    functionName: g_local_file_measure_size_error
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_string_prepend_c
    - g_string_prepend
    - g_io_error_from_errno
    - g_strerror
    - g_string_free
    - g_filename_display_name
    - g_string_new
    - _
    - g_free
    - g_string_append
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_local_file_measure_size_error (GFileMeasureFlags
      flags, gint saved_errno, GSList *name, GError **error) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_mount_entries_changed_since
      Src: /src/glib/gio/glocalfile.c:808,1
    - Dst: g_hash_table_remove_all
      Src: /src/glib/gio/glocalfile.c:809,1
    - Dst: g_hash_table_lookup_extended
      Src: /src/glib/gio/glocalfile.c:811,1
    - Dst: find_mountpoint_for
      Src: /src/glib/gio/glocalfile.c:824,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/glocalfile.c:846,1
    - Dst: g_unix_mount_entry_free
      Src: /src/glib/gio/glocalfile.c:836,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/glocalfile.c:846,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/glocalfile.c:847,1
    - Dst: g_file_attribute_matcher_matches
      Src: /src/glib/gio/glocalfile.c:850,1
    - Dst: g_file_info_set_attribute_boolean
      Src: /src/glib/gio/glocalfile.c:857,1
    - Dst: g_lstat
      Src: /src/glib/gio/glocalfile.c:798,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gio/glocalfile.c:818,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalfile.c:826,1
    - Dst: g_unix_mount_entry_get_fs_type
      Src: /src/glib/gio/glocalfile.c:833,1
    - Dst: g_file_info_set_attribute_boolean
      Src: /src/glib/gio/glocalfile.c:852,1
    - Dst: G_LOCK
      Src: /src/glib/gio/glocalfile.c:801,1
    - Dst: g_unix_mount_entry_at
      Src: /src/glib/gio/glocalfile.c:828,1
    - Dst: g_new0
      Src: /src/glib/gio/glocalfile.c:841,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:839,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/glocalfile.c:804,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/glocalfile.c:816,1
    - Dst: is_remote_fs_type
      Src: /src/glib/gio/glocalfile.c:833,1
    - Dst: g_unix_mount_entry_is_readonly
      Src: /src/glib/gio/glocalfile.c:831,1
    - Dst: G_LOCK
      Src: /src/glib/gio/glocalfile.c:844,1
    - Dst: g_file_attribute_matcher_matches
      Src: /src/glib/gio/glocalfile.c:855,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 3
    argNames:
    - fs_info
    - path
    - matcher
    argTypes:
    - GFileInfo*
    - char*
    - GFileAttributeMatcher*
    constantsTouched: []
    func_position:
      end: 858
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 858
    functionName: get_mount_info
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_UINT
    - g_hash_table_new_full
    - g_unix_mount_entry_is_readonly
    - G_LOCK
    - g_hash_table_lookup_extended
    - G_UNLOCK
    - g_unix_mount_entries_changed_since
    - g_hash_table_insert
    - g_file_attribute_matcher_matches
    - g_unix_mount_entry_free
    - find_mountpoint_for
    - g_file_info_set_attribute_boolean
    - g_unix_mount_entry_get_fs_type
    - g_strdup
    - g_hash_table_remove_all
    - is_remote_fs_type
    - GUINT_TO_POINTER
    - g_unix_mount_entry_at
    - g_lstat
    - g_new0
    - g_free
    linkageType: ''
    returnType: void
    signature: "static void get_mount_info (GFileInfo *fs_info,\t\tconst char *path,\t\
      \tGFileAttributeMatcher *matcher) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:2754,1
    - Dst: g_local_file_monitor_new_for_path
      Src: /src/glib/gio/glocalfile.c:2756,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2757
      start: 2748
    functionDepth: 0
    functionLinenumber: 2748
    functionLinenumberEnd: 2757
    functionName: g_local_file_monitor_file
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - G_LOCAL_FILE
    - g_local_file_monitor_new_for_path
    linkageType: ''
    returnType: GFileMonitor*
    signature: "static GFileMonitor *g_local_file_monitor_file (GFile *file,\t\t\t\
      \ GFileMonitorFlags flags,\t\t\t GCancellable *cancellable,\t\t\t GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:432,1
    - Dst: g_path_skip_root
      Src: /src/glib/gio/glocalfile.c:439,1
    - Dst: _g_local_file_new
      Src: /src/glib/gio/glocalfile.c:446,1
    - Dst: g_path_get_dirname
      Src: /src/glib/gio/glocalfile.c:445,1
    - Dst: g_assert
      Src: /src/glib/gio/glocalfile.c:440,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:447,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 449
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 449
    functionName: g_local_file_get_parent
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_path_get_dirname
    - g_assert
    - g_free
    - g_path_skip_root
    - G_LOCAL_FILE
    - _g_local_file_new
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *g_local_file_get_parent (GFile *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:454,1
    - Dst: _g_local_file_new
      Src: /src/glib/gio/glocalfile.c:456,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 457
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 457
    functionName: g_local_file_dup
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - _g_local_file_new
    - G_LOCAL_FILE
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *g_local_file_dup (GFile *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_filename_to_uri
      Src: /src/glib/gio/glocalfile.c:304,1
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:304,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 305
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 305
    functionName: g_local_file_get_uri
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_filename_to_uri
    - G_LOCAL_FILE
    linkageType: ''
    returnType: char*
    signature: 'static char *g_local_file_get_uri (GFile *file) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fdopendir
      Src: /src/glib/gio/glocalfile.c:3028,1
    - Dst: g_assert
      Src: /src/glib/gio/glocalfile.c:3031,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/glocalfile.c:3030,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/glocalfile.c:3034,1
    - Dst: close
      Src: /src/glib/gio/glocalfile.c:3041,1
    - Dst: g_local_file_measure_size_error
      Src: /src/glib/gio/glocalfile.c:3044,1
    - Dst: g_dir_read_name
      Src: /src/glib/gio/glocalfile.c:3047,1
    - Dst: g_build_filename
      Src: /src/glib/gio/glocalfile.c:3055,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:3061,1
    - Dst: g_local_file_measure_size_of_file
      Src: /src/glib/gio/glocalfile.c:3058,1
    - Dst: g_dir_close
      Src: /src/glib/gio/glocalfile.c:3065,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 4
    argNames:
    - fd
    - dir_name
    - state
    - error
    argTypes:
    - gint
    - GSList*
    - MeasureState*
    - GError**
    constantsTouched: []
    func_position:
      end: 3068
      start: 3013
    functionDepth: 0
    functionLinenumber: 3013
    functionLinenumberEnd: 3068
    functionName: g_local_file_measure_size_of_contents
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_local_file_measure_size_error
    - g_local_file_measure_size_of_file
    - GLIB_PRIVATE_CALL
    - g_dir_read_name
    - close
    - g_build_filename
    - g_free
    - g_dir_close
    - fdopendir
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_local_file_measure_size_of_contents (gint fd, GSList
      *dir_name, MeasureState *state, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_get_filename_charsets
      Src: /src/glib/gio/glocalfile.c:313,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 1
    argNames:
    - filename_charset
    argTypes:
    - gchar**
    constantsTouched: []
    func_position:
      end: 319
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 319
    functionName: get_filename_charset
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_get_filename_charsets
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean get_filename_charset (const gchar **filename_charset) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_volume_for_path
      Src: /src/glib/gio/glocalfile.c:918,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:928,1
    - Dst: GetVolumeInformationW
      Src: /src/glib/gio/glocalfile.c:923,1
    - Dst: g_file_info_set_attribute_boolean
      Src: /src/glib/gio/glocalfile.c:924,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - info
    - path
    argTypes:
    - GFileInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 929
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 929
    functionName: get_filesystem_readonly
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_free
    - get_volume_for_path
    - GetVolumeInformationW
    - g_file_info_set_attribute_boolean
    linkageType: ''
    returnType: void
    signature: "static void get_filesystem_readonly (GFileInfo *info,\t\t\t const\
      \ char *path) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:3081,1
    - Dst: g_local_file_measure_size_of_file
      Src: /src/glib/gio/glocalfile.c:3098,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 14
    argCount: 9
    argNames:
    - file
    - flags
    - cancellable
    - progress_callback
    - progress_data
    - disk_usage
    - num_dirs
    - num_files
    - error
    argTypes:
    - GFile*
    - GFileMeasureFlags
    - GCancellable*
    - GFileMeasureProgressCallback
    - gpointer
    - guint64*
    - guint64*
    - guint64*
    - GError**
    constantsTouched: []
    func_position:
      end: 3111
      start: 3070
    functionDepth: 0
    functionLinenumber: 3070
    functionLinenumberEnd: 3111
    functionName: g_local_file_measure_disk_usage
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_local_file_measure_size_of_file
    - G_LOCAL_FILE
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_local_file_measure_disk_usage (GFile *file, GFileMeasureFlags
      flags, GCancellable *cancellable, GFileMeasureProgressCallback progress_callback,
      gpointer progress_data, guint64 *disk_usage, guint64 *num_dirs, guint64 *num_files,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:1268,1
    - Dst: faccessat
      Src: /src/glib/gio/glocalfile.c:1270,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - file
    - cancellable
    argTypes:
    - GFile*
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 1271
      start: 1264
    functionDepth: 0
    functionLinenumber: 1264
    functionLinenumberEnd: 1271
    functionName: g_local_file_query_exists
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - faccessat
    - G_LOCAL_FILE
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_local_file_query_exists (GFile *file, GCancellable
      *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:550,1
    - Dst: _g_local_file_enumerator_new
      Src: /src/glib/gio/glocalfile.c:551,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 554
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 554
    functionName: g_local_file_enumerate_children
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - _g_local_file_enumerator_new
    - G_LOCAL_FILE
    linkageType: ''
    returnType: GFileEnumerator*
    signature: "static GFileEnumerator *g_local_file_enumerate_children (GFile *file,\t\
      \t\t\t const char *attributes,\t\t\t\t GFileQueryInfoFlags flags,\t\t\t\t GCancellable\
      \ *cancellable,\t\t\t\t GError **error) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/glocalfile.c:2686,1
    - Dst: strcmp
      Src: /src/glib/gio/glocalfile.c:2692,1
    - Dst: strcmp
      Src: /src/glib/gio/glocalfile.c:2688,1
    - Dst: strcmp
      Src: /src/glib/gio/glocalfile.c:2694,1
    - Dst: strcmp
      Src: /src/glib/gio/glocalfile.c:2690,1
    - Dst: strcmp
      Src: /src/glib/gio/glocalfile.c:2696,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - fsname
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 2701
      start: 2681
    functionDepth: 0
    functionLinenumber: 2681
    functionLinenumberEnd: 2701
    functionName: is_remote_fs_type
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_remote_fs_type (const gchar *fsname) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_filename_from_utf8
      Src: /src/glib/gio/glocalfile.c:564,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfile.c:567,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/glocalfile.c:573,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:569,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:574,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 577
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 577
    functionName: g_local_file_get_child_for_display_name
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_filename_from_utf8
    - g_file_get_child
    - _
    - g_free
    linkageType: ''
    returnType: GFile*
    signature: "static GFile *g_local_file_get_child_for_display_name (GFile *file,\t\
      \t\t\t\t const char *display_name,\t\t\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:941,1
    - Dst: g_filename_display_name
      Src: /src/glib/gio/glocalfile.c:944,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/glocalfile.c:945,1
    - Dst: g_strerror
      Src: /src/glib/gio/glocalfile.c:946,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfile.c:945,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:947,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 4
    argNames:
    - error
    - msg
    - file
    - errsv
    argTypes:
    - GError**
    - gchar*
    - GFile*
    - gint
    constantsTouched: []
    func_position:
      end: 948
      start: 935
    functionDepth: 0
    functionLinenumber: 935
    functionLinenumberEnd: 948
    functionName: g_set_io_error
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_io_error_from_errno
    - g_strerror
    - g_filename_display_name
    - G_LOCAL_FILE
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void g_set_io_error (GError **error, const gchar *msg, GFile
      *file, gint errsv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_get_home_dir
      Src: /src/glib/gio/glocalfile.c:2710,1
    - Dst: path_has_prefix
      Src: /src/glib/gio/glocalfile.c:2711,1
    - Dst: g_once_init_enter
      Src: /src/glib/gio/glocalfile.c:2713,1
    - Dst: _g_local_file_new
      Src: /src/glib/gio/glocalfile.c:2719,1
    - Dst: g_local_file_query_filesystem_info
      Src: /src/glib/gio/glocalfile.c:2720,1
    - Dst: g_file_info_get_attribute_string
      Src: /src/glib/gio/glocalfile.c:2722,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/glocalfile.c:2723,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/glocalfile.c:2723,1
    - Dst: g_clear_object
      Src: /src/glib/gio/glocalfile.c:2725,1
    - Dst: g_object_unref
      Src: /src/glib/gio/glocalfile.c:2726,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/glocalfile.c:2728,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 1
    argNames:
    - filename
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 2734
      start: 2703
    functionDepth: 0
    functionLinenumber: 2703
    functionLinenumberEnd: 2734
    functionName: g_local_file_is_nfs_home
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_once_init_leave
    - g_object_unref
    - g_once_init_enter
    - g_get_home_dir
    - g_clear_object
    - path_has_prefix
    - g_strcmp0
    - g_file_info_get_attribute_string
    - _g_local_file_new
    - g_local_file_query_filesystem_info
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_local_file_is_nfs_home (const gchar *filename) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/gio/glocalfile.c:483,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/gio/glocalfile.c:490,1
    - Dst: strncmp
      Src: /src/glib/gio/glocalfile.c:484,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 494
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 494
    functionName: match_prefix
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - G_IS_DIR_SEPARATOR
    - strncmp
    - strlen
    linkageType: ''
    returnType: char*
    signature: 'static const char *match_prefix (const char *path, const char *prefix) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:514,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/gio/glocalfile.c:520,1
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:515,1
    - Dst: match_prefix
      Src: /src/glib/gio/glocalfile.c:518,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalfile.c:521,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 523
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 523
    functionName: g_local_file_get_relative_path
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - G_IS_DIR_SEPARATOR
    - g_strdup
    - match_prefix
    - G_LOCAL_FILE
    linkageType: ''
    returnType: char*
    signature: "static char *g_local_file_get_relative_path (GFile *parent,\t\t\t\t\
      GFile *descendant) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_parent
      Src: /src/glib/gio/glocalfile.c:1742,1
    - Dst: find_mountpoint_for
      Src: /src/glib/gio/glocalfile.c:1746,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1747,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1750
      start: 1735
    functionDepth: 0
    functionLinenumber: 1735
    functionLinenumberEnd: 1750
    functionName: _g_local_file_find_topdir_for
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - find_mountpoint_for
    - g_free
    - get_parent
    linkageType: ''
    returnType: char*
    signature: 'char *_g_local_file_find_topdir_for (const char *file) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:500,1
    - Dst: match_prefix
      Src: /src/glib/gio/glocalfile.c:504,1
    - Dst: G_IS_DIR_SEPARATOR
      Src: /src/glib/gio/glocalfile.c:505,1
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:501,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 2
    argNames:
    - parent
    - descendant
    argTypes:
    - GFile*
    - GFile*
    constantsTouched: []
    func_position:
      end: 508
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 508
    functionName: g_local_file_prefix_matches
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - G_IS_DIR_SEPARATOR
    - match_prefix
    - G_LOCAL_FILE
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_local_file_prefix_matches (GFile *parent,\t\t\t\
      \ GFile *descendant) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:529,1
    - Dst: g_build_filename
      Src: /src/glib/gio/glocalfile.c:536,1
    - Dst: _g_local_file_new
      Src: /src/glib/gio/glocalfile.c:537,1
    - Dst: g_path_is_absolute
      Src: /src/glib/gio/glocalfile.c:533,1
    - Dst: _g_local_file_new
      Src: /src/glib/gio/glocalfile.c:534,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:538,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 541
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 541
    functionName: g_local_file_resolve_relative_path
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - _g_local_file_new
    - g_build_filename
    - G_LOCAL_FILE
    - g_free
    - g_path_is_absolute
    linkageType: ''
    returnType: GFile*
    signature: "static GFile *g_local_file_resolve_relative_path (GFile *file,\t\t\
      \t\t const char *relative_path) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gio/glocalfile.c:1759,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/glocalfile.c:1765,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/glocalfile.c:1763,1
    - Dst: strchr
      Src: /src/glib/gio/glocalfile.c:1761,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1766
      start: 1752
    functionDepth: 0
    functionLinenumber: 1752
    functionLinenumberEnd: 1766
    functionName: get_unique_filename
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - strchr
    - g_strdup
    - g_strdup_printf
    linkageType: ''
    returnType: char*
    signature: 'static char *get_unique_filename (const char *basename, int id) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: g_unlink
      Src: /src/glib/gio/glocalfile.c:2623,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2654,1
    - Dst: g_rename
      Src: /src/glib/gio/glocalfile.c:2636,1
    - Dst: G_IS_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:2545,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glocalfile.c:2549,1
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:2553,1
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:2554,1
    - Dst: g_set_io_error
      Src: /src/glib/gio/glocalfile.c:2561,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glocalfile.c:2587,1
    - Dst: g_strconcat
      Src: /src/glib/gio/glocalfile.c:2605,1
    - Dst: g_set_io_error
      Src: /src/glib/gio/glocalfile.c:2596,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2590,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glocalfile.c:2608,1
    - Dst: G_VFS_GET_CLASS
      Src: /src/glib/gio/glocalfile.c:2660,1
    - Dst: g_lstat
      Src: /src/glib/gio/glocalfile.c:2556,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2562,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2597,1
    - Dst: S_ISDIR
      Src: /src/glib/gio/glocalfile.c:2579,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2612,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/glocalfile.c:2629,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2611,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glocalfile.c:2642,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2644,1
    - Dst: g_vfs_get_default
      Src: /src/glib/gio/glocalfile.c:2659,1
    - Dst: g_set_io_error
      Src: /src/glib/gio/glocalfile.c:2653,1
    - Dst: progress_callback
      Src: /src/glib/gio/glocalfile.c:2666,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2651,1
    - Dst: G_IS_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:2546,1
    - Dst: S_ISDIR
      Src: /src/glib/gio/glocalfile.c:2567,1
    - Dst: g_lstat
      Src: /src/glib/gio/glocalfile.c:2571,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glocalfile.c:2582,1
    - Dst: g_rename
      Src: /src/glib/gio/glocalfile.c:2606,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2585,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:2615,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfile.c:2628,1
    - Dst: g_strerror
      Src: /src/glib/gio/glocalfile.c:2631,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glocalfile.c:2649,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2630,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 80
    argCount: 7
    argNames:
    - source
    - destination
    - flags
    - cancellable
    - progress_callback
    - progress_callback_data
    - error
    argTypes:
    - GFile*
    - GFile*
    - GFileCopyFlags
    - GCancellable*
    - GFileProgressCallback
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 2669
      start: 2527
    functionDepth: 0
    functionLinenumber: 2527
    functionLinenumberEnd: 2669
    functionName: g_local_file_move
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_set_io_error
    - g_set_error
    - g_unlink
    - g_strconcat
    - g_vfs_get_default
    - g_io_error_from_errno
    - G_VFS_GET_CLASS
    - G_IS_LOCAL_FILE
    - g_strerror
    - g_rename
    - g_set_error_literal
    - progress_callback
    - G_LOCAL_FILE
    - _
    - g_lstat
    - g_free
    - S_ISDIR
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_local_file_move (GFile *source,\t\t GFile *destination,\t\
      \t GFileCopyFlags flags,\t\t GCancellable *cancellable,\t\t GFileProgressCallback\
      \ progress_callback,\t\t gpointer progress_callback_data,\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/gio/glocalfile.c:280,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - file
    - uri_scheme
    argTypes:
    - GFile*
    - char*
    constantsTouched: []
    func_position:
      end: 281
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 281
    functionName: g_local_file_has_uri_scheme
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_ascii_strcasecmp
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_local_file_has_uri_scheme (GFile *file,\t\t\t const\
      \ char *uri_scheme) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_path_get_basename
      Src: /src/glib/gio/glocalfile.c:292,1
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:292,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 293
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 293
    functionName: g_local_file_get_basename
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_path_get_basename
    - G_LOCAL_FILE
    linkageType: ''
    returnType: char*
    signature: 'static char *g_local_file_get_basename (GFile *file) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:1126,1
    - Dst: _g_mount_get_for_mount_path
      Src: /src/glib/gio/glocalfile.c:1138,1
    - Dst: find_mountpoint_for
      Src: /src/glib/gio/glocalfile.c:1134,1
    - Dst: g_lstat
      Src: /src/glib/gio/glocalfile.c:1131,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1139,1
    - Dst: g_set_io_error
      Src: /src/glib/gio/glocalfile.c:1144,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:1149,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1153
    functionName: g_local_file_find_enclosing_mount
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_set_io_error
    - _g_mount_get_for_mount_path
    - G_LOCAL_FILE
    - _
    - g_lstat
    - find_mountpoint_for
    - g_free
    linkageType: ''
    returnType: GMount*
    signature: 'static GMount *g_local_file_find_enclosing_mount (GFile *file, GCancellable
      *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _g_local_file_output_stream_open
      Src: /src/glib/gio/glocalfile.c:1453,1
    - Dst: g_object_unref
      Src: /src/glib/gio/glocalfile.c:1460,1
    - Dst: G_LOCAL_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/glocalfile.c:1459,1
    - Dst: _g_local_file_io_stream_new
      Src: /src/glib/gio/glocalfile.c:1459,1
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:1453,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1445
    functionDepth: 0
    functionLinenumber: 1445
    functionLinenumberEnd: 1462
    functionName: g_local_file_open_readwrite
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - _g_local_file_io_stream_new
    - G_LOCAL_FILE_OUTPUT_STREAM
    - _g_local_file_output_stream_open
    - G_LOCAL_FILE
    linkageType: ''
    returnType: GFileIOStream*
    signature: "static GFileIOStream *g_local_file_open_readwrite (GFile *file,\t\t\
      \t GCancellable *cancellable,\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gio/glocalfile.c:286,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 287
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 287
    functionName: g_local_file_get_uri_scheme
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    linkageType: ''
    returnType: char*
    signature: 'static char *g_local_file_get_uri_scheme (GFile *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gio/glocalfile.c:298,1
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:298,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 299
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 299
    functionName: g_local_file_get_path
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - G_LOCAL_FILE
    linkageType: ''
    returnType: char*
    signature: 'static char *g_local_file_get_path (GFile *file) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_file_get_parent
      Src: /src/glib/gio/glocalfile.c:1168,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glocalfile.c:1171,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:1172,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:1213,1
    - Dst: g_vfs_get_default
      Src: /src/glib/gio/glocalfile.c:1219,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:1197,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glocalfile.c:1196,1
    - Dst: G_VFS_GET_CLASS
      Src: /src/glib/gio/glocalfile.c:1220,1
    - Dst: g_object_unref
      Src: /src/glib/gio/glocalfile.c:1177,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:1190,1
    - Dst: g_set_io_error
      Src: /src/glib/gio/glocalfile.c:1212,1
    - Dst: g_object_unref
      Src: /src/glib/gio/glocalfile.c:1215,1
    - Dst: g_file_get_child_for_display_name
      Src: /src/glib/gio/glocalfile.c:1176,1
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:1181,1
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:1182,1
    - Dst: g_set_io_error
      Src: /src/glib/gio/glocalfile.c:1190,1
    - Dst: g_rename
      Src: /src/glib/gio/glocalfile.c:1201,1
    - Dst: g_lstat
      Src: /src/glib/gio/glocalfile.c:1184,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:1210,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glocalfile.c:1209,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1225
    functionName: g_local_file_set_display_name
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_set_io_error
    - g_object_unref
    - g_vfs_get_default
    - G_VFS_GET_CLASS
    - g_rename
    - g_set_error_literal
    - g_file_get_child_for_display_name
    - g_file_get_parent
    - G_LOCAL_FILE
    - _
    - g_lstat
    linkageType: ''
    returnType: GFile*
    signature: "static GFile *g_local_file_set_display_name (GFile *file,\t\t\t const\
      \ char *display_name,\t\t\t GCancellable *cancellable,\t\t\t GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _g_local_file_output_stream_create
      Src: /src/glib/gio/glocalfile.c:1473,1
    - Dst: g_object_unref
      Src: /src/glib/gio/glocalfile.c:1480,1
    - Dst: G_LOCAL_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/glocalfile.c:1479,1
    - Dst: _g_local_file_io_stream_new
      Src: /src/glib/gio/glocalfile.c:1479,1
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:1473,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1464
    functionDepth: 0
    functionLinenumber: 1464
    functionLinenumberEnd: 1482
    functionName: g_local_file_create_readwrite
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - _g_local_file_output_stream_create
    - _g_local_file_io_stream_new
    - G_LOCAL_FILE_OUTPUT_STREAM
    - G_LOCAL_FILE
    linkageType: ''
    returnType: GFileIOStream*
    signature: "static GFileIOStream *g_local_file_create_readwrite (GFile *file,\t\
      \t\t GFileCreateFlags flags,\t\t\t GCancellable *cancellable,\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/glocalfile.c:142,1
    - Dst: g_file_attribute_info_list_add
      Src: /src/glib/gio/glocalfile.c:164,1
    - Dst: g_file_attribute_info_list_new
      Src: /src/glib/gio/glocalfile.c:151,1
    - Dst: g_file_attribute_info_list_add
      Src: /src/glib/gio/glocalfile.c:153,1
    - Dst: g_file_attribute_info_list_add
      Src: /src/glib/gio/glocalfile.c:160,1
    - Dst: g_file_attribute_info_list_add
      Src: /src/glib/gio/glocalfile.c:171,1
    - Dst: g_file_attribute_info_list_add
      Src: /src/glib/gio/glocalfile.c:178,1
    - Dst: g_file_attribute_info_list_add
      Src: /src/glib/gio/glocalfile.c:183,1
    - Dst: g_file_attribute_info_list_add
      Src: /src/glib/gio/glocalfile.c:191,1
    - Dst: g_file_attribute_info_list_add
      Src: /src/glib/gio/glocalfile.c:195,1
    - Dst: g_file_attribute_info_list_add
      Src: /src/glib/gio/glocalfile.c:207,1
    - Dst: g_file_attribute_info_list_add
      Src: /src/glib/gio/glocalfile.c:202,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GLocalFileClass*
    constantsTouched: []
    func_position:
      end: 214
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 214
    functionName: g_local_file_class_init
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_file_attribute_info_list_add
    - g_file_attribute_info_list_new
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_local_file_class_init (GLocalFileClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 775
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 775
    functionName: device_equal
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean device_equal (gconstpointer v1, gconstpointer v2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_local_file_output_stream_create
      Src: /src/glib/gio/glocalfile.c:1426,1
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:1426,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1420
    functionDepth: 0
    functionLinenumber: 1420
    functionLinenumberEnd: 1429
    functionName: g_local_file_create
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - _g_local_file_output_stream_create
    - G_LOCAL_FILE
    linkageType: ''
    returnType: GFileOutputStream*
    signature: "static GFileOutputStream *g_local_file_create (GFile *file,\t\t GFileCreateFlags\
      \ flags,\t\t GCancellable *cancellable,\t\t GError **error) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: S_TYPEISSHM
      Src: /src/glib/gio/glocalfile.c:2876,1
    - Dst: S_ISREG
      Src: /src/glib/gio/glocalfile.c:2885,1
    - Dst: S_TYPEISTMO
      Src: /src/glib/gio/glocalfile.c:2880,1
    - Dst: _g_stat_mode
      Src: /src/glib/gio/glocalfile.c:2885,1
    - Dst: S_ISLNK
      Src: /src/glib/gio/glocalfile.c:2885,1
    - Dst: _g_stat_mode
      Src: /src/glib/gio/glocalfile.c:2885,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 2886
      start: 2870
    functionDepth: 0
    functionLinenumber: 2870
    functionLinenumberEnd: 2886
    functionName: _g_stat_is_size_usable
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - S_TYPEISSHM
    - _g_stat_mode
    - S_TYPEISTMO
    - S_ISLNK
    - S_ISREG
    linkageType: ''
    returnType: gboolean
    signature: 'inline static gboolean _g_stat_is_size_usable (const GLocalFileStat
      *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - local
    argTypes:
    - GLocalFile*
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: g_local_file_init
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_local_file_init (GLocalFile *local) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 781
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 781
    functionName: device_hash
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint
    signature: 'static guint device_hash (gconstpointer v) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: statfs
      Src: /src/glib/gio/glocalfile.c:980,1
    - Dst: statvfs
      Src: /src/glib/gio/glocalfile.c:1002,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/glocalfile.c:1026,1
    - Dst: g_path_get_dirname
      Src: /src/glib/gio/glocalfile.c:1044,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1029,1
    - Dst: GetDiskFreeSpaceExW
      Src: /src/glib/gio/glocalfile.c:1049,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1051,1
    - Dst: g_file_info_set_attribute_uint64
      Src: /src/glib/gio/glocalfile.c:1054,1
    - Dst: GetDiskFreeSpaceExW
      Src: /src/glib/gio/glocalfile.c:1070,1
    - Dst: g_set_io_error
      Src: /src/glib/gio/glocalfile.c:1010,1
    - Dst: g_path_get_dirname
      Src: /src/glib/gio/glocalfile.c:1025,1
    - Dst: GetDiskFreeSpaceExW
      Src: /src/glib/gio/glocalfile.c:1030,1
    - Dst: g_file_info_set_attribute_uint64
      Src: /src/glib/gio/glocalfile.c:1035,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1032,1
    - Dst: g_file_info_set_attribute_uint64
      Src: /src/glib/gio/glocalfile.c:1050,1
    - Dst: g_path_get_dirname
      Src: /src/glib/gio/glocalfile.c:1064,1
    - Dst: get_fs_type
      Src: /src/glib/gio/glocalfile.c:1092,1
    - Dst: g_file_attribute_matcher_matches
      Src: /src/glib/gio/glocalfile.c:1099,1
    - Dst: g_file_attribute_matcher_matches
      Src: /src/glib/gio/glocalfile.c:1104,1
    - Dst: get_fs_type
      Src: /src/glib/gio/glocalfile.c:1083,1
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:957,1
    - Dst: statfs
      Src: /src/glib/gio/glocalfile.c:978,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:1011,1
    - Dst: g_file_info_new
      Src: /src/glib/gio/glocalfile.c:1016,1
    - Dst: g_file_attribute_matcher_new
      Src: /src/glib/gio/glocalfile.c:1018,1
    - Dst: g_file_info_set_attribute_uint64
      Src: /src/glib/gio/glocalfile.c:1031,1
    - Dst: g_file_attribute_matcher_matches
      Src: /src/glib/gio/glocalfile.c:1040,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/glocalfile.c:1065,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1072,1
    - Dst: g_file_info_set_attribute_uint64
      Src: /src/glib/gio/glocalfile.c:1074,1
    - Dst: get_filesystem_readonly
      Src: /src/glib/gio/glocalfile.c:1110,1
    - Dst: g_file_attribute_matcher_matches
      Src: /src/glib/gio/glocalfile.c:1021,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/glocalfile.c:1045,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1048,1
    - Dst: g_file_attribute_matcher_matches
      Src: /src/glib/gio/glocalfile.c:1060,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1069,1
    - Dst: g_file_info_set_attribute_uint64
      Src: /src/glib/gio/glocalfile.c:1071,1
    - Dst: g_file_info_set_attribute_string
      Src: /src/glib/gio/glocalfile.c:1101,1
    - Dst: g_file_attribute_matcher_matches
      Src: /src/glib/gio/glocalfile.c:1106,1
    - Dst: get_mount_info
      Src: /src/glib/gio/glocalfile.c:1112,1
    - Dst: g_file_attribute_matcher_unref
      Src: /src/glib/gio/glocalfile.c:1116,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 89
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 1119
    functionName: g_local_file_query_filesystem_info
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_set_io_error
    - g_path_get_dirname
    - g_file_info_set_attribute_uint64
    - g_utf8_to_utf16
    - get_filesystem_readonly
    - get_fs_type
    - GetDiskFreeSpaceExW
    - g_file_info_new
    - g_file_attribute_matcher_matches
    - g_file_info_set_attribute_string
    - get_mount_info
    - statvfs
    - g_file_attribute_matcher_unref
    - G_LOCAL_FILE
    - g_file_attribute_matcher_new
    - _
    - g_free
    - statfs
    linkageType: ''
    returnType: GFileInfo*
    signature: "static GFileInfo *g_local_file_query_filesystem_info (GFile *file,\t\
      \t\t\t const char *attributes,\t\t\t\t GCancellable *cancellable,\t\t\t\t GError\
      \ **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_local_file_output_stream_replace
      Src: /src/glib/gio/glocalfile.c:1439,1
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:1439,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1443
      start: 1431
    functionDepth: 0
    functionLinenumber: 1431
    functionLinenumberEnd: 1443
    functionName: g_local_file_replace
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - _g_local_file_output_stream_replace
    - G_LOCAL_FILE
    linkageType: ''
    returnType: GFileOutputStream*
    signature: "static GFileOutputStream *g_local_file_replace (GFile *file,\t\t const\
      \ char *etag,\t\t gboolean make_backup,\t\t GFileCreateFlags flags,\t\t GCancellable\
      \ *cancellable,\t\t GError **error) "
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: g_local_file_measure_size_error
      Src: /src/glib/gio/glocalfile.c:2906,1
    - Dst: _g_stat_mode
      Src: /src/glib/gio/glocalfile.c:2985,1
    - Dst: g_local_file_fstatat
      Src: /src/glib/gio/glocalfile.c:2900,1
    - Dst: g_local_file_measure_size_error
      Src: /src/glib/gio/glocalfile.c:2912,1
    - Dst: _g_stat_dev
      Src: /src/glib/gio/glocalfile.c:2927,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/glocalfile.c:2965,1
    - Dst: _g_stat_size
      Src: /src/glib/gio/glocalfile.c:2948,1
    - Dst: S_ISDIR
      Src: /src/glib/gio/glocalfile.c:2950,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/glocalfile.c:2981,1
    - Dst: openat
      Src: /src/glib/gio/glocalfile.c:2999,1
    - Dst: g_local_file_measure_size_error
      Src: /src/glib/gio/glocalfile.c:3003,1
    - Dst: g_local_file_measure_size_of_contents
      Src: /src/glib/gio/glocalfile.c:3006,1
    - Dst: g_lstat
      Src: /src/glib/gio/glocalfile.c:2909,1
    - Dst: g_local_file_measure_size_error
      Src: /src/glib/gio/glocalfile.c:2918,1
    - Dst: _g_stat_dev
      Src: /src/glib/gio/glocalfile.c:2935,1
    - Dst: S_ISDIR
      Src: /src/glib/gio/glocalfile.c:2985,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/glocalfile.c:2896,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/glocalfile.c:2915,1
    - Dst: _g_stat_blocks
      Src: /src/glib/gio/glocalfile.c:2944,1
    - Dst: _g_stat_mode
      Src: /src/glib/gio/glocalfile.c:2950,1
    - Dst: G_GUINT64_CONSTANT
      Src: /src/glib/gio/glocalfile.c:2944,1
    - Dst: _g_stat_is_size_usable
      Src: /src/glib/gio/glocalfile.c:2947,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/glocalfile.c:2992,1
    - Dst: openat
      Src: /src/glib/gio/glocalfile.c:2997,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 70
    argCount: 4
    argNames:
    - parent_fd
    - name
    - state
    - error
    argTypes:
    - gint
    - GSList*
    - MeasureState*
    - GError**
    constantsTouched: []
    func_position:
      end: 3011
      start: 2888
    functionDepth: 0
    functionLinenumber: 2888
    functionLinenumberEnd: 3011
    functionName: g_local_file_measure_size_of_file
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_local_file_fstatat
    - _g_stat_size
    - G_GUINT64_CONSTANT
    - g_local_file_measure_size_of_contents
    - g_local_file_measure_size_error
    - _g_stat_dev
    - _g_stat_mode
    - _g_stat_blocks
    - _g_stat_is_size_usable
    - GLIB_PRIVATE_CALL
    - g_get_monotonic_time
    - S_ISDIR
    - g_lstat
    - g_cancellable_set_error_if_cancelled
    - openat
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_local_file_measure_size_of_file (gint parent_fd,
      GSList *name, MeasureState *state, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - filename
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 2677
      start: 2673
    functionDepth: 0
    functionLinenumber: 2673
    functionLinenumberEnd: 2677
    functionName: g_local_file_is_nfs_home
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_local_file_is_nfs_home (const gchar *filename) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_attribute_info_list_ref
      Src: /src/glib/gio/glocalfile.c:1279,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1274
    functionDepth: 0
    functionLinenumber: 1274
    functionLinenumberEnd: 1280
    functionName: g_local_file_query_settable_attributes
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_file_attribute_info_list_ref
    linkageType: ''
    returnType: GFileAttributeInfoList*
    signature: "static GFileAttributeInfoList *g_local_file_query_settable_attributes\
      \ (GFile *file,\t\t\t\t\tGCancellable *cancellable,\t\t\t\t\tGError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:1330,1
    - Dst: _g_local_file_info_set_attribute
      Src: /src/glib/gio/glocalfile.c:1332,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 7
    argNames:
    - file
    - attribute
    - type
    - value_p
    - flags
    - cancellable
    - error
    argTypes:
    - GFile*
    - char*
    - GFileAttributeType
    - gpointer
    - GFileQueryInfoFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1339
      start: 1321
    functionDepth: 0
    functionLinenumber: 1321
    functionLinenumberEnd: 1339
    functionName: g_local_file_set_attribute
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - _g_local_file_info_set_attribute
    - G_LOCAL_FILE
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_local_file_set_attribute (GFile *file,\t\t\t const\
      \ char *attribute,\t\t\t GFileAttributeType type,\t\t\t gpointer value_p,\t\t\
      \t GFileQueryInfoFlags flags,\t\t\t GCancellable *cancellable,\t\t\t GError\
      \ **error) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter_pointer
      Src: /src/glib/gio/glocalfile.c:1291,1
    - Dst: g_file_attribute_info_list_new
      Src: /src/glib/gio/glocalfile.c:1295,1
    - Dst: g_file_attribute_info_list_add
      Src: /src/glib/gio/glocalfile.c:1303,1
    - Dst: g_vfs_get_default
      Src: /src/glib/gio/glocalfile.c:1309,1
    - Dst: g_file_attribute_info_list_add
      Src: /src/glib/gio/glocalfile.c:1298,1
    - Dst: G_VFS_GET_CLASS
      Src: /src/glib/gio/glocalfile.c:1310,1
    - Dst: g_once_init_leave_pointer
      Src: /src/glib/gio/glocalfile.c:1314,1
    - Dst: g_file_attribute_info_list_ref
      Src: /src/glib/gio/glocalfile.c:1318,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1319
    functionName: g_local_file_query_writable_namespaces
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_once_init_leave_pointer
    - G_VFS_GET_CLASS
    - g_file_attribute_info_list_add
    - g_once_init_enter_pointer
    - g_file_attribute_info_list_new
    - g_vfs_get_default
    - g_file_attribute_info_list_ref
    linkageType: ''
    returnType: GFileAttributeInfoList*
    signature: "static GFileAttributeInfoList *g_local_file_query_writable_namespaces\
      \ (GFile *file,\t\t\t\t\tGCancellable *cancellable,\t\t\t\t\tGError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:1348,1
    - Dst: g_type_default_interface_peek
      Src: /src/glib/gio/glocalfile.c:1360,1
    - Dst: _g_local_file_info_set_attributes
      Src: /src/glib/gio/glocalfile.c:1352,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 5
    argNames:
    - file
    - info
    - flags
    - cancellable
    - error
    argTypes:
    - GFile*
    - GFileInfo*
    - GFileQueryInfoFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1365
      start: 1341
    functionDepth: 0
    functionLinenumber: 1341
    functionLinenumberEnd: 1365
    functionName: g_local_file_set_attributes_from_info
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_type_default_interface_peek
    - _g_local_file_info_set_attributes
    - G_LOCAL_FILE
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_local_file_set_attributes_from_info (GFile *file,\t\
      \t\t\t GFileInfo *info,\t\t\t\t GFileQueryInfoFlags flags,\t\t\t\t GCancellable\
      \ *cancellable,\t\t\t\t GError **error) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:2502,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2512,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfile.c:2514,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glocalfile.c:2510,1
    - Dst: symlink
      Src: /src/glib/gio/glocalfile.c:2504,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2516,1
    - Dst: g_set_io_error
      Src: /src/glib/gio/glocalfile.c:2518,1
    - Dst: _
      Src: /src/glib/gio/glocalfile.c:2519,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 4
    argNames:
    - file
    - symlink_value
    - cancellable
    - error
    argTypes:
    - GFile*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2524
      start: 2496
    functionDepth: 0
    functionLinenumber: 2496
    functionLinenumberEnd: 2524
    functionName: g_local_file_make_symbolic_link
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_set_io_error
    - g_set_error_literal
    - G_LOCAL_FILE
    - _
    - symlink
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_local_file_make_symbolic_link (GFile *file,\t\t\t\
      \t const char *symlink_value,\t\t\t\t GCancellable *cancellable,\t\t\t\t GError\
      \ **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/glocalfile.c:261,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/glocalfile.c:262,1
    - Dst: g_object_new
      Src: /src/glib/gio/glocalfile.c:264,1
    - Dst: g_build_filename
      Src: /src/glib/gio/glocalfile.c:265,1
    - Dst: strchr
      Src: /src/glib/gio/glocalfile.c:262,1
    - Dst: G_FILE
      Src: /src/glib/gio/glocalfile.c:267,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 268
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 268
    functionName: g_local_file_new_from_dirname_and_basename
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_object_new
    - strchr
    - g_build_filename
    - G_FILE
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *g_local_file_new_from_dirname_and_basename (const gchar *dirname,
      const gchar *basename) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_validate
      Src: /src/glib/gio/glocalfile.c:328,1
    - Dst: g_ascii_iscntrl
      Src: /src/glib/gio/glocalfile.c:333,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - string
    - is_valid_utf8
    argTypes:
    - char*
    - gboolean
    constantsTouched: []
    func_position:
      end: 338
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 338
    functionName: name_is_valid_for_display
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_utf8_validate
    - g_ascii_iscntrl
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean name_is_valid_for_display (const char *string,\t\t\
      \t gboolean is_valid_utf8) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 274
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 274
    functionName: g_local_file_is_native
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_local_file_is_native (GFile *file) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:352,1
    - Dst: get_filename_charset
      Src: /src/glib/gio/glocalfile.c:353,1
    - Dst: g_convert
      Src: /src/glib/gio/glocalfile.c:369,1
    - Dst: strcmp
      Src: /src/glib/gio/glocalfile.c:373,1
    - Dst: g_convert
      Src: /src/glib/gio/glocalfile.c:361,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:375,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:379,1
    - Dst: name_is_valid_for_display
      Src: /src/glib/gio/glocalfile.c:384,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalfile.c:389,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalfile.c:400,1
    - Dst: strchr
      Src: /src/glib/gio/glocalfile.c:403,1
    - Dst: g_uri_escape_string
      Src: /src/glib/gio/glocalfile.c:410,1
    - Dst: g_strconcat
      Src: /src/glib/gio/glocalfile.c:413,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:418,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:420,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:423,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 427
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 427
    functionName: g_local_file_get_parse_name
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_strconcat
    - name_is_valid_for_display
    - strcmp
    - get_filename_charset
    - strchr
    - g_convert
    - G_LOCAL_FILE
    - g_uri_escape_string
    - g_free
    linkageType: ''
    returnType: char*
    signature: 'static char *g_local_file_get_parse_name (GFile *file) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gio/glocalfile.c:1602,1
    - Dst: S_ISLNK
      Src: /src/glib/gio/glocalfile.c:1613,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1609,1
    - Dst: g_lstat
      Src: /src/glib/gio/glocalfile.c:1607,1
    - Dst: expand_symlink
      Src: /src/glib/gio/glocalfile.c:1616,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1617,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1631,1
    - Dst: S_ISLNK
      Src: /src/glib/gio/glocalfile.c:1635,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1641
      start: 1594
    functionDepth: 0
    functionLinenumber: 1594
    functionLinenumberEnd: 1641
    functionName: expand_symlinks
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - S_ISLNK
    - g_lstat
    - g_free
    - expand_symlink
    linkageType: ''
    returnType: char*
    signature: 'static char *expand_symlinks (const char *path, dev_t *dev) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_mount_entry_get_options
      Src: /src/glib/gio/glocalfile.c:1823,1
    - Dst: g_unix_mount_entry_get_mount_path
      Src: /src/glib/gio/glocalfile.c:1826,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/glocalfile.c:1831,1
    - Dst: g_unix_mount_point_at
      Src: /src/glib/gio/glocalfile.c:1826,1
    - Dst: g_unix_mount_point_get_options
      Src: /src/glib/gio/glocalfile.c:1829,1
    - Dst: strstr
      Src: /src/glib/gio/glocalfile.c:1836,1
    - Dst: strstr
      Src: /src/glib/gio/glocalfile.c:1839,1
    - Dst: g_unix_mount_entry_is_system_internal
      Src: /src/glib/gio/glocalfile.c:1843,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 1
    argNames:
    - mount
    argTypes:
    - GUnixMountEntry*
    constantsTouched: []
    func_position:
      end: 1847
      start: 1817
    functionDepth: 0
    functionLinenumber: 1817
    functionLinenumberEnd: 1847
    functionName: ignore_trash_mount
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_unix_mount_entry_get_options
    - g_unix_mount_point_at
    - g_clear_pointer
    - g_unix_mount_entry_get_mount_path
    - g_unix_mount_point_get_options
    - g_unix_mount_entry_is_system_internal
    - strstr
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean ignore_trash_mount (GUnixMountEntry *mount) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/glocalfile.c:132,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/glocalfile.c:136,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 137
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 137
    functionName: g_local_file_finalize
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_free
    - G_LOCAL_FILE
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_local_file_finalize (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strip_trailing_slashes
      Src: /src/glib/gio/glocalfile.c:1650,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1656,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1655,1
    - Dst: g_path_get_dirname
      Src: /src/glib/gio/glocalfile.c:1652,1
    - Dst: strcmp
      Src: /src/glib/gio/glocalfile.c:1653,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1659,1
    - Dst: expand_symlinks
      Src: /src/glib/gio/glocalfile.c:1661,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfile.c:1662,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1665
      start: 1643
    functionDepth: 0
    functionLinenumber: 1643
    functionLinenumberEnd: 1665
    functionName: get_parent
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_path_get_dirname
    - strcmp
    - strip_trailing_slashes
    - expand_symlinks
    - g_free
    linkageType: ''
    returnType: char*
    signature: 'static char *get_parent (const char *path, dev_t *parent_dev) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_mount_entry_at
      Src: /src/glib/gio/glocalfile.c:1855,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/glocalfile.c:1862,1
    - Dst: ignore_trash_mount
      Src: /src/glib/gio/glocalfile.c:1859,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - topdir
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1865
      start: 1849
    functionDepth: 0
    functionLinenumber: 1849
    functionLinenumberEnd: 1865
    functionName: ignore_trash_path
    functionSourceFile: /src/glib/gio/glocalfile.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_unix_mount_entry_at
    - ignore_trash_mount
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean ignore_trash_path (const gchar *topdir) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GProxyResolverInterface*
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: g_proxy_resolver_default_init
    functionSourceFile: /src/glib/gio/gproxyresolver.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_proxy_resolver_default_init (GProxyResolverInterface
      *iface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter_pointer
      Src: /src/glib/gio/gproxyresolver.c:87,1
    - Dst: _g_io_module_get_default
      Src: /src/glib/gio/gproxyresolver.c:91,1
    - Dst: g_once_init_leave_pointer
      Src: /src/glib/gio/gproxyresolver.c:95,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 99
    functionName: g_proxy_resolver_get_default
    functionSourceFile: /src/glib/gio/gproxyresolver.c
    functionUses: []
    functionsReached:
    - g_once_init_leave_pointer
    - _g_io_module_get_default
    - g_once_init_enter_pointer
    linkageType: ''
    returnType: GProxyResolver*
    signature: 'GProxyResolver *g_proxy_resolver_get_default (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gproxyresolver.c:163,1
    - Dst: G_IS_PROXY_RESOLVER
      Src: /src/glib/gio/gproxyresolver.c:163,1
    - Dst: g_set_error
      Src: /src/glib/gio/gproxyresolver.c:168,1
    - Dst: g_uri_is_valid
      Src: /src/glib/gio/gproxyresolver.c:166,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gproxyresolver.c:164,1
    - Dst: G_PROXY_RESOLVER_GET_IFACE
      Src: /src/glib/gio/gproxyresolver.c:173,1
    - Dst: g_assert
      Src: /src/glib/gio/gproxyresolver.c:177,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 179
    functionName: g_proxy_resolver_lookup
    functionSourceFile: /src/glib/gio/gproxyresolver.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_return_val_if_fail
    - g_assert
    - g_uri_is_valid
    - G_IS_PROXY_RESOLVER
    - G_PROXY_RESOLVER_GET_IFACE
    linkageType: ''
    returnType: gchar**
    signature: "gchar **g_proxy_resolver_lookup (GProxyResolver *resolver,\t\t\t const\
      \ gchar *uri,\t\t\t GCancellable *cancellable,\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gproxyresolver.c:118,1
    - Dst: G_IS_PROXY_RESOLVER
      Src: /src/glib/gio/gproxyresolver.c:118,1
    - Dst: G_PROXY_RESOLVER_GET_IFACE
      Src: /src/glib/gio/gproxyresolver.c:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - resolver
    argTypes:
    - GProxyResolver*
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: g_proxy_resolver_is_supported
    functionSourceFile: /src/glib/gio/gproxyresolver.c
    functionUses: []
    functionsReached:
    - G_IS_PROXY_RESOLVER
    - g_return_val_if_fail
    - G_PROXY_RESOLVER_GET_IFACE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_proxy_resolver_is_supported (GProxyResolver *resolver) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gproxyresolver.c:204,1
    - Dst: G_IS_PROXY_RESOLVER
      Src: /src/glib/gio/gproxyresolver.c:204,1
    - Dst: g_set_error
      Src: /src/glib/gio/gproxyresolver.c:209,1
    - Dst: g_uri_is_valid
      Src: /src/glib/gio/gproxyresolver.c:207,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gproxyresolver.c:205,1
    - Dst: g_task_report_error
      Src: /src/glib/gio/gproxyresolver.c:211,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gproxyresolver.c:213,1
    - Dst: G_PROXY_RESOLVER_GET_IFACE
      Src: /src/glib/gio/gproxyresolver.c:217,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 5
    argNames:
    - resolver
    - uri
    - cancellable
    - callback
    - user_data
    argTypes:
    - GProxyResolver*
    - gchar*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 220
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 220
    functionName: g_proxy_resolver_lookup_async
    functionSourceFile: /src/glib/gio/gproxyresolver.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_steal_pointer
    - g_return_if_fail
    - g_uri_is_valid
    - g_task_report_error
    - G_IS_PROXY_RESOLVER
    - G_PROXY_RESOLVER_GET_IFACE
    linkageType: ''
    returnType: void
    signature: "void g_proxy_resolver_lookup_async (GProxyResolver *resolver,\t\t\t\
      \ const gchar *uri,\t\t\t GCancellable *cancellable,\t\t\t GAsyncReadyCallback\
      \ callback,\t\t\t gpointer user_data) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gproxyresolver.c:246,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gproxyresolver.c:249,1
    - Dst: G_IS_PROXY_RESOLVER
      Src: /src/glib/gio/gproxyresolver.c:246,1
    - Dst: G_TASK
      Src: /src/glib/gio/gproxyresolver.c:249,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gproxyresolver.c:248,1
    - Dst: G_PROXY_RESOLVER_GET_IFACE
      Src: /src/glib/gio/gproxyresolver.c:251,1
    - Dst: g_assert
      Src: /src/glib/gio/gproxyresolver.c:255,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 257
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 257
    functionName: g_proxy_resolver_lookup_finish
    functionSourceFile: /src/glib/gio/gproxyresolver.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_assert
    - G_IS_PROXY_RESOLVER
    - G_PROXY_RESOLVER_GET_IFACE
    - G_TASK
    - g_async_result_is_tagged
    - g_task_propagate_pointer
    linkageType: ''
    returnType: gchar**
    signature: "gchar **g_proxy_resolver_lookup_finish (GProxyResolver *resolver,\t\
      \t\t\tGAsyncResult *result,\t\t\t\tGError **error) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gio/gicon.c:127,1
    - Dst: G_ICON_GET_IFACE
      Src: /src/glib/gio/gicon.c:130,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gio/gicon.c:127,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - icon1
    - icon2
    argTypes:
    - GIcon*
    - GIcon*
    constantsTouched: []
    func_position:
      end: 133
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 133
    functionName: g_icon_equal
    functionSourceFile: /src/glib/gio/gicon.c
    functionUses: []
    functionsReached:
    - G_TYPE_FROM_INSTANCE
    - G_ICON_GET_IFACE
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_icon_equal (GIcon *icon1,\t GIcon *icon2) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gicon.c:99,1
    - Dst: G_ICON_GET_IFACE
      Src: /src/glib/gio/gicon.c:101,1
    - Dst: G_IS_ICON
      Src: /src/glib/gio/gicon.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - icon
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 104
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 104
    functionName: g_icon_hash
    functionSourceFile: /src/glib/gio/gicon.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_ICON_GET_IFACE
    - G_IS_ICON
    linkageType: ''
    returnType: guint
    signature: 'guint g_icon_hash (gconstpointer icon) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: G_IS_FILE_ICON
      Src: /src/glib/gio/gicon.c:220,1
    - Dst: G_FILE_ICON
      Src: /src/glib/gio/gicon.c:224,1
    - Dst: g_file_is_native
      Src: /src/glib/gio/gicon.c:225,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gicon.c:255,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gicon.c:242,1
    - Dst: g_string_free
      Src: /src/glib/gio/gicon.c:265,1
    - Dst: g_file_get_path
      Src: /src/glib/gio/gicon.c:227,1
    - Dst: g_strdup
      Src: /src/glib/gio/gicon.c:253,1
    - Dst: g_object_get
      Src: /src/glib/gio/gicon.c:242,1
    - Dst: g_string_new
      Src: /src/glib/gio/gicon.c:262,1
    - Dst: g_file_get_uri
      Src: /src/glib/gio/gicon.c:235,1
    - Dst: g_string_free
      Src: /src/glib/gio/gicon.c:267,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gicon.c:215,1
    - Dst: g_file_icon_get_file
      Src: /src/glib/gio/gicon.c:224,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gicon.c:216,1
    - Dst: g_utf8_validate
      Src: /src/glib/gio/gicon.c:228,1
    - Dst: g_icon_to_string_tokenized
      Src: /src/glib/gio/gicon.c:264,1
    - Dst: G_IS_ICON
      Src: /src/glib/gio/gicon.c:216,1
    - Dst: g_free
      Src: /src/glib/gio/gicon.c:230,1
    - Dst: G_IS_THEMED_ICON
      Src: /src/glib/gio/gicon.c:237,1
    - Dst: g_utf8_validate
      Src: /src/glib/gio/gicon.c:250,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 271
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 271
    functionName: g_icon_to_string
    functionSourceFile: /src/glib/gio/gicon.c
    functionUses: []
    functionsReached:
    - g_file_is_native
    - g_file_get_uri
    - g_return_val_if_fail
    - g_object_get
    - g_strdup
    - g_icon_to_string_tokenized
    - G_IS_ICON
    - g_file_icon_get_file
    - G_IS_FILE_ICON
    - G_IS_THEMED_ICON
    - G_OBJECT
    - g_strfreev
    - g_file_get_path
    - g_utf8_validate
    - g_string_free
    - g_string_new
    - G_FILE_ICON
    - g_free
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_icon_to_string (GIcon *icon) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_uri_parse_scheme
      Src: /src/glib/gio/gicon.c:408,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gicon.c:414,1
    - Dst: g_file_icon_new
      Src: /src/glib/gio/gicon.c:413,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/gicon.c:412,1
    - Dst: g_themed_icon_new
      Src: /src/glib/gio/gicon.c:417,1
    - Dst: g_free
      Src: /src/glib/gio/gicon.c:419,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 422
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 422
    functionName: g_icon_new_for_string_simple
    functionSourceFile: /src/glib/gio/gicon.c
    functionUses: []
    functionsReached:
    - g_uri_parse_scheme
    - g_object_unref
    - g_free
    - g_file_icon_new
    - g_file_new_for_commandline_arg
    - g_themed_icon_new
    linkageType: ''
    returnType: GIcon*
    signature: 'static GIcon *g_icon_new_for_string_simple (const gchar *str) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gicon.c:447,1
    - Dst: ensure_builtin_icon_types
      Src: /src/glib/gio/gicon.c:453,1
    - Dst: g_strsplit
      Src: /src/glib/gio/gicon.c:460,1
    - Dst: g_icon_new_for_string_simple
      Src: /src/glib/gio/gicon.c:449,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gicon.c:455,1
    - Dst: g_icon_new_from_tokens
      Src: /src/glib/gio/gicon.c:461,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gicon.c:462,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gicon.c:465,1
    - Dst: _
      Src: /src/glib/gio/gicon.c:468,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 471
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 471
    functionName: g_icon_new_for_string
    functionSourceFile: /src/glib/gio/gicon.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_icon_new_from_tokens
    - g_icon_new_for_string_simple
    - ensure_builtin_icon_types
    - g_str_has_prefix
    - g_strfreev
    - g_set_error_literal
    - g_strsplit
    - _
    linkageType: ''
    returnType: GIcon*
    signature: 'GIcon *g_icon_new_for_string (const gchar *str, GError **error) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gicon.c:575,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gicon.c:576,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gicon.c:588,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gicon.c:596,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gicon.c:598,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/gicon.c:615,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gicon.c:625,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gicon.c:629,1
    - Dst: g_vfs_get_default
      Src: /src/glib/gio/gicon.c:634,1
    - Dst: g_icon_new_for_string_simple
      Src: /src/glib/gio/gicon.c:585,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gicon.c:600,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gicon.c:592,1
    - Dst: g_free
      Src: /src/glib/gio/gicon.c:607,1
    - Dst: g_bytes_icon_new
      Src: /src/glib/gio/gicon.c:614,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gicon.c:617,1
    - Dst: g_icon_deserialize_emblem
      Src: /src/glib/gio/gicon.c:621,1
    - Dst: G_ICON
      Src: /src/glib/gio/gicon.c:623,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gicon.c:625,1
    - Dst: g_icon_deserialize_emblemed
      Src: /src/glib/gio/gicon.c:627,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gicon.c:576,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gicon.c:577,1
    - Dst: g_themed_icon_new_from_names
      Src: /src/glib/gio/gicon.c:606,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/gicon.c:596,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gicon.c:600,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gicon.c:609,1
    - Dst: g_variant_get_data_as_bytes
      Src: /src/glib/gio/gicon.c:613,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gicon.c:617,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gicon.c:625,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gicon.c:640,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gicon.c:577,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gicon.c:584,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gicon.c:585,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gicon.c:592,1
    - Dst: g_file_icon_new
      Src: /src/glib/gio/gicon.c:597,1
    - Dst: g_variant_get_strv
      Src: /src/glib/gio/gicon.c:605,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gicon.c:609,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gicon.c:617,1
    - Dst: G_VFS_GET_CLASS
      Src: /src/glib/gio/gicon.c:635,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 643
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 643
    functionName: g_icon_deserialize
    functionSourceFile: /src/glib/gio/gicon.c
    functionUses: []
    functionsReached:
    - G_VFS_GET_CLASS
    - g_icon_new_for_string_simple
    - g_file_new_for_commandline_arg
    - g_variant_get_strv
    - g_object_unref
    - g_variant_is_of_type
    - g_variant_get_string
    - g_variant_unref
    - g_variant_get
    - g_themed_icon_new_from_names
    - g_variant_get_data_as_bytes
    - g_bytes_icon_new
    - g_bytes_unref
    - G_ICON
    - g_file_icon_new
    - G_VARIANT_TYPE
    - g_str_equal
    - g_return_val_if_fail
    - g_icon_deserialize_emblem
    - g_vfs_get_default
    - g_icon_deserialize_emblemed
    - g_free
    linkageType: ''
    returnType: GIcon*
    signature: 'GIcon *g_icon_deserialize (GVariant *value) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_ICON_GET_IFACE
      Src: /src/glib/gio/gicon.c:665,1
    - Dst: g_critical
      Src: /src/glib/gio/gicon.c:669,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/gicon.c:669,1
    - Dst: g_variant_take_ref
      Src: /src/glib/gio/gicon.c:677,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gicon.c:679,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gicon.c:679,1
    - Dst: g_critical
      Src: /src/glib/gio/gicon.c:681,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/gicon.c:682,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gicon.c:682,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gicon.c:683,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 689
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 689
    functionName: g_icon_serialize
    functionSourceFile: /src/glib/gio/gicon.c
    functionUses: []
    functionsReached:
    - g_variant_is_of_type
    - G_OBJECT_TYPE_NAME
    - g_variant_unref
    - g_critical
    - g_variant_get_type_string
    - g_variant_take_ref
    - G_ICON_GET_IFACE
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_icon_serialize (GIcon *icon) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gicon.c:143,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gicon.c:150,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gicon.c:144,1
    - Dst: G_ICON_GET_IFACE
      Src: /src/glib/gio/gicon.c:146,1
    - Dst: G_IS_ICON
      Src: /src/glib/gio/gicon.c:144,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gicon.c:153,1
    - Dst: g_string_append
      Src: /src/glib/gio/gicon.c:161,1
    - Dst: g_type_name_from_instance
      Src: /src/glib/gio/gicon.c:161,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gicon.c:163,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gicon.c:169,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gicon.c:179,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gicon.c:171,1
    - Dst: g_free
      Src: /src/glib/gio/gicon.c:176,1
    - Dst: g_string_append_uri_escaped
      Src: /src/glib/gio/gicon.c:173,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - icon
    - s
    argTypes:
    - GIcon*
    - GString*
    constantsTouched: []
    func_position:
      end: 182
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 182
    functionName: g_icon_to_string_tokenized
    functionSourceFile: /src/glib/gio/gicon.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_type_name_from_instance
    - G_IS_ICON
    - g_string_append_c
    - g_string_append_uri_escaped
    - g_free
    - g_ptr_array_index
    - g_string_append_printf
    - g_ptr_array_free
    - g_ptr_array_new
    - G_ICON_GET_IFACE
    - g_string_append
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_icon_to_string_tokenized (GIcon *icon, GString *s) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_strv_length
      Src: /src/glib/gio/gicon.c:290,1
    - Dst: strchr
      Src: /src/glib/gio/gicon.c:303,1
    - Dst: _
      Src: /src/glib/gio/gicon.c:317,1
    - Dst: _
      Src: /src/glib/gio/gicon.c:327,1
    - Dst: _
      Src: /src/glib/gio/gicon.c:352,1
    - Dst: _
      Src: /src/glib/gio/gicon.c:338,1
    - Dst: g_type_class_ref
      Src: /src/glib/gio/gicon.c:332,1
    - Dst: g_type_from_name
      Src: /src/glib/gio/gicon.c:311,1
    - Dst: g_set_error
      Src: /src/glib/gio/gicon.c:314,1
    - Dst: g_set_error
      Src: /src/glib/gio/gicon.c:324,1
    - Dst: g_set_error
      Src: /src/glib/gio/gicon.c:335,1
    - Dst: strtol
      Src: /src/glib/gio/gicon.c:346,1
    - Dst: g_set_error
      Src: /src/glib/gio/gicon.c:294,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/gicon.c:322,1
    - Dst: g_assert
      Src: /src/glib/gio/gicon.c:359,1
    - Dst: _
      Src: /src/glib/gio/gicon.c:366,1
    - Dst: g_free
      Src: /src/glib/gio/gicon.c:377,1
    - Dst: g_type_class_unref
      Src: /src/glib/gio/gicon.c:384,1
    - Dst: _
      Src: /src/glib/gio/gicon.c:297,1
    - Dst: g_set_error
      Src: /src/glib/gio/gicon.c:349,1
    - Dst: g_type_interface_peek
      Src: /src/glib/gio/gicon.c:358,1
    - Dst: g_set_error
      Src: /src/glib/gio/gicon.c:363,1
    - Dst: g_uri_unescape_string
      Src: /src/glib/gio/gicon.c:376,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 386
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 386
    functionName: g_icon_new_from_tokens
    functionSourceFile: /src/glib/gio/gicon.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_uri_unescape_string
    - g_type_class_ref
    - g_strv_length
    - g_assert
    - strtol
    - strchr
    - g_type_interface_peek
    - g_type_is_a
    - _
    - g_type_class_unref
    - g_free
    - g_type_from_name
    linkageType: ''
    returnType: GIcon*
    signature: "static GIcon *g_icon_new_from_tokens (char **tokens,\t\t\tGError **error) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get
      Src: /src/glib/gio/gicon.c:482,1
    - Dst: g_icon_deserialize
      Src: /src/glib/gio/gicon.c:486,1
    - Dst: g_enum_get_value_by_nick
      Src: /src/glib/gio/gicon.c:496,1
    - Dst: g_type_class_ref
      Src: /src/glib/gio/gicon.c:495,1
    - Dst: g_variant_lookup
      Src: /src/glib/gio/gicon.c:490,1
    - Dst: g_emblem_new_with_origin
      Src: /src/glib/gio/gicon.c:498,1
    - Dst: g_type_class_unref
      Src: /src/glib/gio/gicon.c:499,1
    - Dst: g_emblem_new
      Src: /src/glib/gio/gicon.c:504,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gicon.c:506,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gicon.c:509,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gicon.c:510,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 513
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 513
    functionName: g_icon_deserialize_emblem
    functionSourceFile: /src/glib/gio/gicon.c
    functionUses: []
    functionsReached:
    - g_enum_get_value_by_nick
    - g_type_class_ref
    - g_object_unref
    - g_variant_lookup
    - g_icon_deserialize
    - g_emblem_new_with_origin
    - g_variant_unref
    - g_variant_get
    - g_emblem_new
    - g_type_class_unref
    linkageType: ''
    returnType: GEmblem*
    signature: 'static GEmblem *g_icon_deserialize_emblem (GVariant *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GIconInterface*
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: g_icon_default_init
    functionSourceFile: /src/glib/gio/gicon.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_icon_default_init (GIconInterface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_type_ensure
      Src: /src/glib/gio/gicon.c:391,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/gicon.c:392,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/gicon.c:394,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/gicon.c:393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 395
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 395
    functionName: ensure_builtin_icon_types
    functionSourceFile: /src/glib/gio/gicon.c
    functionUses: []
    functionsReached:
    - g_type_ensure
    linkageType: ''
    returnType: void
    signature: 'static void ensure_builtin_icon_types (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get
      Src: /src/glib/gio/gicon.c:523,1
    - Dst: g_icon_deserialize_emblem
      Src: /src/glib/gio/gicon.c:536,1
    - Dst: g_icon_deserialize
      Src: /src/glib/gio/gicon.c:524,1
    - Dst: g_variant_iter_next_value
      Src: /src/glib/gio/gicon.c:532,1
    - Dst: g_emblemed_icon_new
      Src: /src/glib/gio/gicon.c:530,1
    - Dst: g_emblemed_icon_add_emblem
      Src: /src/glib/gio/gicon.c:540,1
    - Dst: G_EMBLEMED_ICON
      Src: /src/glib/gio/gicon.c:540,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gicon.c:541,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gicon.c:544,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gicon.c:547,1
    - Dst: g_variant_iter_free
      Src: /src/glib/gio/gicon.c:552,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gicon.c:553,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 556
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 556
    functionName: g_icon_deserialize_emblemed
    functionSourceFile: /src/glib/gio/gicon.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_icon_deserialize
    - g_icon_deserialize_emblem
    - g_variant_unref
    - g_variant_iter_next_value
    - g_emblemed_icon_new
    - g_variant_get
    - g_variant_iter_free
    - g_emblemed_icon_add_emblem
    - G_EMBLEMED_ICON
    linkageType: ''
    returnType: GIcon*
    signature: 'static GIcon *g_icon_deserialize_emblemed (GVariant *value) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_SOCKET_ADDRESS
      Src: /src/glib/gio/gunixsocketaddress.c:96,1
    - Dst: g_strlcpy
      Src: /src/glib/gio/gunixsocketaddress.c:107,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gunixsocketaddress.c:104,1
    - Dst: strlen
      Src: /src/glib/gio/gunixsocketaddress.c:109,1
    - Dst: g_value_get_boxed
      Src: /src/glib/gio/gunixsocketaddress.c:114,1
    - Dst: MIN
      Src: /src/glib/gio/gunixsocketaddress.c:119,1
    - Dst: memcpy
      Src: /src/glib/gio/gunixsocketaddress.c:122,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gunixsocketaddress.c:131,1
    - Dst: g_value_get_enum
      Src: /src/glib/gio/gunixsocketaddress.c:137,1
    - Dst: g_value_get_enum
      Src: /src/glib/gio/gunixsocketaddress.c:138,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gunixsocketaddress.c:142,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 26
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 144
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 144
    functionName: g_unix_socket_address_set_property
    functionSourceFile: /src/glib/gio/gunixsocketaddress.c
    functionUses: []
    functionsReached:
    - memcpy
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_strlcpy
    - strlen
    - G_UNIX_SOCKET_ADDRESS
    - g_value_get_boolean
    - g_value_get_string
    - MIN
    - g_value_get_boxed
    - g_value_get_enum
    linkageType: ''
    returnType: void
    signature: "static void g_unix_socket_address_set_property (GObject *object,\t\
      \t\t\t guint prop_id,\t\t\t\t const GValue *value,\t\t\t\t GParamSpec *pspec) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gunixsocketaddress.c:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - address
    argTypes:
    - GSocketAddress*
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: g_unix_socket_address_get_family
    functionSourceFile: /src/glib/gio/gunixsocketaddress.c
    functionUses: []
    functionsReached:
    - g_assert
    linkageType: ''
    returnType: GSocketFamily
    signature: 'static GSocketFamily g_unix_socket_address_get_family (GSocketAddress
      *address) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_SOCKET_ADDRESS
      Src: /src/glib/gio/gunixsocketaddress.c:212,1
    - Dst: g_unix_socket_address_get_native_size
      Src: /src/glib/gio/gunixsocketaddress.c:216,1
    - Dst: g_assert
      Src: /src/glib/gio/gunixsocketaddress.c:217,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gunixsocketaddress.c:220,1
    - Dst: _
      Src: /src/glib/gio/gunixsocketaddress.c:221,1
    - Dst: memset
      Src: /src/glib/gio/gunixsocketaddress.c:226,1
    - Dst: strcpy
      Src: /src/glib/gio/gunixsocketaddress.c:236,1
    - Dst: g_unix_socket_address_abstract_names_supported
      Src: /src/glib/gio/gunixsocketaddress.c:241,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gunixsocketaddress.c:243,1
    - Dst: _
      Src: /src/glib/gio/gunixsocketaddress.c:244,1
    - Dst: memcpy
      Src: /src/glib/gio/gunixsocketaddress.c:249,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 23
    argCount: 4
    argNames:
    - address
    - dest
    - destlen
    - error
    argTypes:
    - GSocketAddress*
    - gpointer
    - gsize
    - GError**
    constantsTouched: []
    func_position:
      end: 254
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 254
    functionName: g_unix_socket_address_to_native
    functionSourceFile: /src/glib/gio/gunixsocketaddress.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_unix_socket_address_abstract_names_supported
    - G_UNIX_SOCKET_ADDRESS
    - g_assert
    - strcpy
    - g_unix_socket_address_get_native_size
    - g_set_error_literal
    - _
    - memset
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_unix_socket_address_to_native (GSocketAddress *address,\t\
      \t\t\t gpointer dest,\t\t\t\t gsize destlen,\t\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_type_interface_peek_parent
      Src: /src/glib/gio/gunixsocketaddress.c:333,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GSocketConnectableIface*
    constantsTouched: []
    func_position:
      end: 338
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 338
    functionName: g_unix_socket_address_connectable_iface_init
    functionSourceFile: /src/glib/gio/gunixsocketaddress.c
    functionUses: []
    functionsReached:
    - g_type_interface_peek_parent
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_socket_address_connectable_iface_init (GSocketConnectableIface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gunixsocketaddress.c:399,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 403
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 403
    functionName: g_unix_socket_address_new
    functionSourceFile: /src/glib/gio/gunixsocketaddress.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: GSocketAddress*
    signature: 'GSocketAddress *g_unix_socket_address_new (const gchar *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_socket_address_new_with_type
      Src: /src/glib/gio/gunixsocketaddress.c:421,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 423
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 423
    functionName: g_unix_socket_address_new_abstract
    functionSourceFile: /src/glib/gio/gunixsocketaddress.c
    functionUses: []
    functionsReached:
    - g_unix_socket_address_new_with_type
    linkageType: ''
    returnType: GSocketAddress*
    signature: "GSocketAddress *g_unix_socket_address_new_abstract (const gchar *path,\t\
      \t\t\t gint path_len) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 519
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 519
    functionName: g_unix_socket_address_get_path
    functionSourceFile: /src/glib/gio/gunixsocketaddress.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *g_unix_socket_address_get_path (GUnixSocketAddress *address) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - address
    argTypes:
    - GUnixSocketAddress*
    constantsTouched: []
    func_position:
      end: 553
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 553
    functionName: g_unix_socket_address_get_address_type
    functionSourceFile: /src/glib/gio/gunixsocketaddress.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GUnixSocketAddressType
    signature: 'GUnixSocketAddressType g_unix_socket_address_get_address_type (GUnixSocketAddress
      *address) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_SOCKET_ADDRESS
      Src: /src/glib/gio/gunixsocketaddress.c:193,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gunixsocketaddress.c:200,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gunixsocketaddress.c:198,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 1
    argNames:
    - address
    argTypes:
    - GSocketAddress*
    constantsTouched: []
    func_position:
      end: 204
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 204
    functionName: g_unix_socket_address_get_native_size
    functionSourceFile: /src/glib/gio/gunixsocketaddress.c
    functionUses: []
    functionsReached:
    - G_STRUCT_OFFSET
    - G_UNIX_SOCKET_ADDRESS
    linkageType: ''
    returnType: gssize
    signature: 'static gssize g_unix_socket_address_get_native_size (GSocketAddress
      *address) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_SOCKET_ADDRESS
      Src: /src/glib/gio/gunixsocketaddress.c:152,1
    - Dst: g_value_take_boxed
      Src: /src/glib/gio/gunixsocketaddress.c:164,1
    - Dst: g_byte_array_sized_new
      Src: /src/glib/gio/gunixsocketaddress.c:162,1
    - Dst: g_byte_array_append
      Src: /src/glib/gio/gunixsocketaddress.c:163,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gunixsocketaddress.c:158,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gunixsocketaddress.c:168,1
    - Dst: g_value_set_enum
      Src: /src/glib/gio/gunixsocketaddress.c:174,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gunixsocketaddress.c:178,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 14
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 180
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 180
    functionName: g_unix_socket_address_get_property
    functionSourceFile: /src/glib/gio/gunixsocketaddress.c
    functionUses: []
    functionsReached:
    - g_byte_array_sized_new
    - g_value_set_enum
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_UNIX_SOCKET_ADDRESS
    - g_value_set_string
    - g_value_set_boolean
    - g_byte_array_append
    - g_value_take_boxed
    linkageType: ''
    returnType: void
    signature: "static void g_unix_socket_address_get_property (GObject *object,\t\
      \t\t\t guint prop_id,\t\t\t\t GValue *value,\t\t\t\t GParamSpec *pspec) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gunixsocketaddress.c:259,1
    - Dst: G_SOCKET_ADDRESS_CLASS
      Src: /src/glib/gio/gunixsocketaddress.c:260,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gunixsocketaddress.c:278,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gunixsocketaddress.c:291,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gunixsocketaddress.c:276,1
    - Dst: g_param_spec_boxed
      Src: /src/glib/gio/gunixsocketaddress.c:292,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gunixsocketaddress.c:307,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gunixsocketaddress.c:308,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gunixsocketaddress.c:321,1
    - Dst: g_param_spec_enum
      Src: /src/glib/gio/gunixsocketaddress.c:322,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GUnixSocketAddressClass*
    constantsTouched: []
    func_position:
      end: 328
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 328
    functionName: g_unix_socket_address_class_init
    functionSourceFile: /src/glib/gio/gunixsocketaddress.c
    functionUses: []
    functionsReached:
    - g_param_spec_boolean
    - g_object_class_install_property
    - g_param_spec_boxed
    - G_OBJECT_CLASS
    - g_param_spec_string
    - G_SOCKET_ADDRESS_CLASS
    - g_param_spec_enum
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_socket_address_class_init (GUnixSocketAddressClass
      *klass) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_SOCKET_ADDRESS
      Src: /src/glib/gio/gunixsocketaddress.c:348,1
    - Dst: g_unix_socket_address_get_path_len
      Src: /src/glib/gio/gunixsocketaddress.c:355,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixsocketaddress.c:352,1
    - Dst: g_unix_socket_address_get_path
      Src: /src/glib/gio/gunixsocketaddress.c:354,1
    - Dst: g_string_sized_new
      Src: /src/glib/gio/gunixsocketaddress.c:356,1
    - Dst: g_ascii_isprint
      Src: /src/glib/gio/gunixsocketaddress.c:364,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gunixsocketaddress.c:365,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gunixsocketaddress.c:367,1
    - Dst: g_string_free
      Src: /src/glib/gio/gunixsocketaddress.c:370,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 371
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 371
    functionName: g_unix_socket_address_connectable_to_string
    functionSourceFile: /src/glib/gio/gunixsocketaddress.c
    functionUses: []
    functionsReached:
    - g_strdup
    - G_UNIX_SOCKET_ADDRESS
    - g_string_append_c
    - g_ascii_isprint
    - g_string_free
    - g_unix_socket_address_get_path
    - g_string_sized_new
    - g_string_append_printf
    - g_unix_socket_address_get_path_len
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *g_unix_socket_address_connectable_to_string (GSocketConnectable
      *connectable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_socket_address_get_instance_private
      Src: /src/glib/gio/gunixsocketaddress.c:376,1
    - Dst: memset
      Src: /src/glib/gio/gunixsocketaddress.c:378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - address
    argTypes:
    - GUnixSocketAddress*
    constantsTouched: []
    func_position:
      end: 381
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 381
    functionName: g_unix_socket_address_init
    functionSourceFile: /src/glib/gio/gunixsocketaddress.c
    functionUses: []
    functionsReached:
    - g_unix_socket_address_get_instance_private
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_socket_address_init (GUnixSocketAddress *address) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/gio/gunixsocketaddress.c:479,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixsocketaddress.c:484,1
    - Dst: g_object_new
      Src: /src/glib/gio/gunixsocketaddress.c:490,1
    - Dst: g_byte_array_append
      Src: /src/glib/gio/gunixsocketaddress.c:488,1
    - Dst: g_byte_array_sized_new
      Src: /src/glib/gio/gunixsocketaddress.c:486,1
    - Dst: g_byte_array_unref
      Src: /src/glib/gio/gunixsocketaddress.c:495,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 498
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 498
    functionName: g_unix_socket_address_new_with_type
    functionSourceFile: /src/glib/gio/gunixsocketaddress.c
    functionUses: []
    functionsReached:
    - g_byte_array_sized_new
    - g_return_val_if_fail
    - g_object_new
    - strlen
    - g_byte_array_unref
    - g_byte_array_append
    linkageType: ''
    returnType: GSocketAddress*
    signature: "GSocketAddress *g_unix_socket_address_new_with_type (const gchar *path,\t\
      \t\t\t gint path_len,\t\t\t\t GUnixSocketAddressType type) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - address
    argTypes:
    - GUnixSocketAddress*
    constantsTouched: []
    func_position:
      end: 537
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 537
    functionName: g_unix_socket_address_get_path_len
    functionSourceFile: /src/glib/gio/gunixsocketaddress.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gsize
    signature: 'gsize g_unix_socket_address_get_path_len (GUnixSocketAddress *address) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - address
    argTypes:
    - GUnixSocketAddress*
    constantsTouched: []
    func_position:
      end: 572
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 572
    functionName: g_unix_socket_address_get_is_abstract
    functionSourceFile: /src/glib/gio/gunixsocketaddress.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unix_socket_address_get_is_abstract (GUnixSocketAddress
      *address) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 591
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 591
    functionName: g_unix_socket_address_abstract_names_supported
    functionSourceFile: /src/glib/gio/gunixsocketaddress.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unix_socket_address_abstract_names_supported (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - gunichar2*
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: g_utf16_len
    functionSourceFile: /src/glib/gio/gwin32packageparser.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gsize
    signature: 'static gsize g_utf16_len (const gunichar2 *str) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MAKE_HRESULT
      Src: /src/glib/gio/gwin32packageparser.c:100,1
    - Dst: HRESULT_CODE
      Src: /src/glib/gio/gwin32packageparser.c:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - hresult
    - win32_error_code
    argTypes:
    - HRESULT
    - DWORD*
    constantsTouched: []
    func_position:
      end: 108
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 108
    functionName: WIN32_FROM_HRESULT
    functionSourceFile: /src/glib/gio/gwin32packageparser.c
    functionUses: []
    functionsReached:
    - HRESULT_CODE
    - MAKE_HRESULT
    linkageType: ''
    returnType: BOOL
    signature: 'static BOOL WIN32_FROM_HRESULT (HRESULT hresult, DWORD *win32_error_code) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/gwin32packageparser.c:124,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/gwin32packageparser.c:125,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32packageparser.c:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - GWin32PackageExtGroup*
    constantsTouched: []
    func_position:
      end: 127
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 127
    functionName: free_extgroup
    functionSourceFile: /src/glib/gio/gwin32packageparser.c
    functionUses: []
    functionsReached:
    - g_ptr_array_unref
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void free_extgroup (GWin32PackageExtGroup *g) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CreateFileW
      Src: /src/glib/gio/gwin32packageparser.c:499,1
    - Dst: IStream_Release
      Src: /src/glib/gio/gwin32packageparser.c:558,1
    - Dst: g_win32_file_sync_stream_new
      Src: /src/glib/gio/gwin32packageparser.c:507,1
    - Dst: GetLastError
      Src: /src/glib/gio/gwin32packageparser.c:503,1
    - Dst: g_warning
      Src: /src/glib/gio/gwin32packageparser.c:502,1
    - Dst: IXmlReader_Release
      Src: /src/glib/gio/gwin32packageparser.c:536,1
    - Dst: g_ptr_array_new_full
      Src: /src/glib/gio/gwin32packageparser.c:543,1
    - Dst: g_ptr_array_new_full
      Src: /src/glib/gio/gwin32packageparser.c:541,1
    - Dst: g_warning
      Src: /src/glib/gio/gwin32packageparser.c:534,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32packageparser.c:551,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32packageparser.c:552,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32packageparser.c:553,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32packageparser.c:554,1
    - Dst: g_warning
      Src: /src/glib/gio/gwin32packageparser.c:510,1
    - Dst: g_warning
      Src: /src/glib/gio/gwin32packageparser.c:525,1
    - Dst: IStream_Release
      Src: /src/glib/gio/gwin32packageparser.c:527,1
    - Dst: FAILED
      Src: /src/glib/gio/gwin32packageparser.c:532,1
    - Dst: IXmlReader_SetInput
      Src: /src/glib/gio/gwin32packageparser.c:531,1
    - Dst: IXmlReader_IsEOF
      Src: /src/glib/gio/gwin32packageparser.c:548,1
    - Dst: IXmlReader_Release
      Src: /src/glib/gio/gwin32packageparser.c:557,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32packageparser.c:555,1
    - Dst: CloseHandle
      Src: /src/glib/gio/gwin32packageparser.c:512,1
    - Dst: sax_CreateXmlReader
      Src: /src/glib/gio/gwin32packageparser.c:519,1
    - Dst: FAILED
      Src: /src/glib/gio/gwin32packageparser.c:523,1
    - Dst: IStream_Release
      Src: /src/glib/gio/gwin32packageparser.c:537,1
    - Dst: g_ptr_array_new_full
      Src: /src/glib/gio/gwin32packageparser.c:544,1
    - Dst: g_ptr_array_new_full
      Src: /src/glib/gio/gwin32packageparser.c:542,1
    - Dst: xml_parser_iteration
      Src: /src/glib/gio/gwin32packageparser.c:549,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 1
    argNames:
    - sax
    argTypes:
    - struct _xml_sax_state*
    constantsTouched: []
    func_position:
      end: 561
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 561
    functionName: parse_manifest_file
    functionSourceFile: /src/glib/gio/gwin32packageparser.c
    functionUses: []
    functionsReached:
    - g_warning
    - IXmlReader_Release
    - IXmlReader_IsEOF
    - CreateFileW
    - g_win32_file_sync_stream_new
    - g_ptr_array_new_full
    - xml_parser_iteration
    - g_clear_pointer
    - GetLastError
    - IStream_Release
    - CloseHandle
    - sax_CreateXmlReader
    - FAILED
    - IXmlReader_SetInput
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean parse_manifest_file (struct _xml_sax_state *sax) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32packageparser.c:83,1
    - Dst: g_utf16_len
      Src: /src/glib/gio/gwin32packageparser.c:86,1
    - Dst: g_memdup2
      Src: /src/glib/gio/gwin32packageparser.c:93,1
    - Dst: g_assert
      Src: /src/glib/gio/gwin32packageparser.c:90,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 94
    functionName: g_wcsdup
    functionSourceFile: /src/glib/gio/gwin32packageparser.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_utf16_len
    - g_return_val_if_fail
    - g_memdup2
    linkageType: ''
    returnType: gunichar2*
    signature: 'static gunichar2 *g_wcsdup (const gunichar2 *str, gssize str_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WIN32_FROM_HRESULT
      Src: /src/glib/gio/gwin32packageparser.c:115,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gwin32packageparser.c:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - hresult
    argTypes:
    - HRESULT
    constantsTouched: []
    func_position:
      end: 119
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 119
    functionName: gio_error_from_hresult
    functionSourceFile: /src/glib/gio/gwin32packageparser.c
    functionUses: []
    functionsReached:
    - WIN32_FROM_HRESULT
    - g_io_error_from_errno
    linkageType: ''
    returnType: GIOErrorEnum
    signature: 'static GIOErrorEnum gio_error_from_hresult (HRESULT hresult) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: LoadLibraryW
      Src: /src/glib/gio/gwin32packageparser.c:223,1
    - Dst: GetProcAddress
      Src: /src/glib/gio/gwin32packageparser.c:232,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gwin32packageparser.c:236,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gwin32packageparser.c:254,1
    - Dst: GetLastError
      Src: /src/glib/gio/gwin32packageparser.c:272,1
    - Dst: LoadedRoActivateInstance
      Src: /src/glib/gio/gwin32packageparser.c:306,1
    - Dst: canned_com_error_handler_pkg_named
      Src: /src/glib/gio/gwin32packageparser.c:400,1
    - Dst: IUnknown_QueryInterface
      Src: /src/glib/gio/gwin32packageparser.c:359,1
    - Dst: LoadedWindowsDeleteString
      Src: /src/glib/gio/gwin32packageparser.c:443,1
    - Dst: GetLastError
      Src: /src/glib/gio/gwin32packageparser.c:227,1
    - Dst: IStorageItem_get_Path
      Src: /src/glib/gio/gwin32packageparser.c:399,1
    - Dst: canned_com_error_handler
      Src: /src/glib/gio/gwin32packageparser.c:304,1
    - Dst: IPackage2_Release
      Src: /src/glib/gio/gwin32packageparser.c:454,1
    - Dst: LoadedWindowsGetStringRawBuffer
      Src: /src/glib/gio/gwin32packageparser.c:402,1
    - Dst: GetProcAddress
      Src: /src/glib/gio/gwin32packageparser.c:268,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gwin32packageparser.c:272,1
    - Dst: CoInitializeEx
      Src: /src/glib/gio/gwin32packageparser.c:279,1
    - Dst: LoadedWindowsCreateStringReference
      Src: /src/glib/gio/gwin32packageparser.c:303,1
    - Dst: canned_com_error_handler_pkg_named
      Src: /src/glib/gio/gwin32packageparser.c:397,1
    - Dst: IPackageId_get_FamilyName
      Src: /src/glib/gio/gwin32packageparser.c:396,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gwin32packageparser.c:227,1
    - Dst: GetLastError
      Src: /src/glib/gio/gwin32packageparser.c:263,1
    - Dst: wcslen
      Src: /src/glib/gio/gwin32packageparser.c:405,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32packageparser.c:436,1
    - Dst: canned_com_error_handler_pkg_named
      Src: /src/glib/gio/gwin32packageparser.c:394,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gwin32packageparser.c:209,1
    - Dst: GetLastError
      Src: /src/glib/gio/gwin32packageparser.c:218,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gwin32packageparser.c:245,1
    - Dst: GetProcAddress
      Src: /src/glib/gio/gwin32packageparser.c:259,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gwin32packageparser.c:263,1
    - Dst: IUnknown_QueryInterface
      Src: /src/glib/gio/gwin32packageparser.c:393,1
    - Dst: LoadedWindowsGetStringRawBuffer
      Src: /src/glib/gio/gwin32packageparser.c:376,1
    - Dst: canned_com_error_handler_pkg
      Src: /src/glib/gio/gwin32packageparser.c:357,1
    - Dst: LoadedWindowsDeleteString
      Src: /src/glib/gio/gwin32packageparser.c:445,1
    - Dst: IUnknown_Release
      Src: /src/glib/gio/gwin32packageparser.c:452,1
    - Dst: LoadLibraryW
      Src: /src/glib/gio/gwin32packageparser.c:214,1
    - Dst: GetLastError
      Src: /src/glib/gio/gwin32packageparser.c:254,1
    - Dst: g_set_error
      Src: /src/glib/gio/gwin32packageparser.c:286,1
    - Dst: LoadedWindowsGetStringRawBuffer
      Src: /src/glib/gio/gwin32packageparser.c:375,1
    - Dst: IUnknown_QueryInterface
      Src: /src/glib/gio/gwin32packageparser.c:356,1
    - Dst: LoadedWindowsDeleteString
      Src: /src/glib/gio/gwin32packageparser.c:439,1
    - Dst: IIterator_Release
      Src: /src/glib/gio/gwin32packageparser.c:468,1
    - Dst: canned_com_error_handler_pkg
      Src: /src/glib/gio/gwin32packageparser.c:372,1
    - Dst: g_new
      Src: /src/glib/gio/gwin32packageparser.c:404,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gwin32packageparser.c:218,1
    - Dst: parse_manifest_file
      Src: /src/glib/gio/gwin32packageparser.c:426,1
    - Dst: IInspectable_Release
      Src: /src/glib/gio/gwin32packageparser.c:474,1
    - Dst: FreeLibrary
      Src: /src/glib/gio/gwin32packageparser.c:484,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gwin32packageparser.c:236,1
    - Dst: GetProcAddress
      Src: /src/glib/gio/gwin32packageparser.c:250,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gwin32packageparser.c:254,1
    - Dst: canned_com_error_handler
      Src: /src/glib/gio/gwin32packageparser.c:319,1
    - Dst: IPackage2_get_DisplayName
      Src: /src/glib/gio/gwin32packageparser.c:371,1
    - Dst: canned_com_error_handler_pkg
      Src: /src/glib/gio/gwin32packageparser.c:369,1
    - Dst: wcslen
      Src: /src/glib/gio/gwin32packageparser.c:303,1
    - Dst: LoadedWindowsGetStringRawBuffer
      Src: /src/glib/gio/gwin32packageparser.c:374,1
    - Dst: canned_com_error_handler
      Src: /src/glib/gio/gwin32packageparser.c:310,1
    - Dst: memset
      Src: /src/glib/gio/gwin32packageparser.c:408,1
    - Dst: IStorageItem_Release
      Src: /src/glib/gio/gwin32packageparser.c:450,1
    - Dst: IUnknown_Release
      Src: /src/glib/gio/gwin32packageparser.c:458,1
    - Dst: IPackageId_get_Name
      Src: /src/glib/gio/gwin32packageparser.c:368,1
    - Dst: canned_com_error_handler_pkg_named
      Src: /src/glib/gio/gwin32packageparser.c:391,1
    - Dst: LoadLibraryW
      Src: /src/glib/gio/gwin32packageparser.c:205,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gwin32packageparser.c:272,1
    - Dst: wcslen
      Src: /src/glib/gio/gwin32packageparser.c:403,1
    - Dst: IInspectable_QueryInterface
      Src: /src/glib/gio/gwin32packageparser.c:309,1
    - Dst: memcpy
      Src: /src/glib/gio/gwin32packageparser.c:405,1
    - Dst: LoadedWindowsDeleteString
      Src: /src/glib/gio/gwin32packageparser.c:447,1
    - Dst: CoUninitialize
      Src: /src/glib/gio/gwin32packageparser.c:476,1
    - Dst: canned_com_error_handler_pkg
      Src: /src/glib/gio/gwin32packageparser.c:366,1
    - Dst: IPackage_get_InstalledLocation
      Src: /src/glib/gio/gwin32packageparser.c:390,1
    - Dst: GetLastError
      Src: /src/glib/gio/gwin32packageparser.c:209,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gwin32packageparser.c:227,1
    - Dst: GetLastError
      Src: /src/glib/gio/gwin32packageparser.c:245,1
    - Dst: IIterator_get_HasCurrent
      Src: /src/glib/gio/gwin32packageparser.c:318,1
    - Dst: wcslen
      Src: /src/glib/gio/gwin32packageparser.c:406,1
    - Dst: LoadedWindowsDeleteString
      Src: /src/glib/gio/gwin32packageparser.c:441,1
    - Dst: IPackageManager_Release
      Src: /src/glib/gio/gwin32packageparser.c:472,1
    - Dst: FreeLibrary
      Src: /src/glib/gio/gwin32packageparser.c:482,1
    - Dst: canned_com_error_handler
      Src: /src/glib/gio/gwin32packageparser.c:316,1
    - Dst: IPackageId_get_FullName
      Src: /src/glib/gio/gwin32packageparser.c:365,1
    - Dst: FreeLibrary
      Src: /src/glib/gio/gwin32packageparser.c:480,1
    - Dst: IPackage_Release
      Src: /src/glib/gio/gwin32packageparser.c:456,1
    - Dst: canned_com_error_handler_pkg
      Src: /src/glib/gio/gwin32packageparser.c:363,1
    - Dst: canned_com_error_handler_pkg
      Src: /src/glib/gio/gwin32packageparser.c:354,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gwin32packageparser.c:209,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gwin32packageparser.c:245,1
    - Dst: GetProcAddress
      Src: /src/glib/gio/gwin32packageparser.c:241,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gwin32packageparser.c:263,1
    - Dst: IIterable_First
      Src: /src/glib/gio/gwin32packageparser.c:315,1
    - Dst: SUCCEEDED
      Src: /src/glib/gio/gwin32packageparser.c:321,1
    - Dst: memcpy
      Src: /src/glib/gio/gwin32packageparser.c:406,1
    - Dst: canned_com_error_handler_pkg_named
      Src: /src/glib/gio/gwin32packageparser.c:429,1
    - Dst: IPackage_get_Id
      Src: /src/glib/gio/gwin32packageparser.c:362,1
    - Dst: IIterator_get_Current
      Src: /src/glib/gio/gwin32packageparser.c:353,1
    - Dst: GetLastError
      Src: /src/glib/gio/gwin32packageparser.c:236,1
    - Dst: canned_com_error_handler
      Src: /src/glib/gio/gwin32packageparser.c:313,1
    - Dst: wcslen
      Src: /src/glib/gio/gwin32packageparser.c:403,1
    - Dst: wcslen
      Src: /src/glib/gio/gwin32packageparser.c:406,1
    - Dst: IIterator_MoveNext
      Src: /src/glib/gio/gwin32packageparser.c:428,1
    - Dst: canned_com_error_handler_pkg
      Src: /src/glib/gio/gwin32packageparser.c:360,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gwin32packageparser.c:218,1
    - Dst: canned_com_error_handler
      Src: /src/glib/gio/gwin32packageparser.c:307,1
    - Dst: IPackageManager_FindPackagesByUserSecurityId
      Src: /src/glib/gio/gwin32packageparser.c:312,1
    - Dst: IIterable_Release
      Src: /src/glib/gio/gwin32packageparser.c:470,1
    - Dst: IPackageId_Release
      Src: /src/glib/gio/gwin32packageparser.c:461,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 189
    argCount: 3
    argNames:
    - callback
    - user_data
    - error
    argTypes:
    - GWin32PackageParserCallback
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 488
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 488
    functionName: g_win32_package_parser_enum_packages
    functionSourceFile: /src/glib/gio/gwin32packageparser.c
    functionUses: []
    functionsReached:
    - FreeLibrary
    - memcpy
    - parse_manifest_file
    - CoUninitialize
    - IInspectable_QueryInterface
    - GetProcAddress
    - g_set_error_literal
    - IIterator_get_HasCurrent
    - IPackage2_get_DisplayName
    - IInspectable_Release
    - IPackage2_Release
    - LoadLibraryW
    - IIterable_Release
    - IPackageManager_Release
    - LoadedWindowsDeleteString
    - canned_com_error_handler_pkg_named
    - canned_com_error_handler_pkg
    - g_clear_pointer
    - IPackageId_get_FamilyName
    - LoadedRoActivateInstance
    - IPackageId_get_FullName
    - IPackageId_Release
    - IIterator_get_Current
    - g_set_error
    - IIterable_First
    - IUnknown_Release
    - g_new
    - IPackage_get_Id
    - IStorageItem_get_Path
    - IPackage_Release
    - IPackageManager_FindPackagesByUserSecurityId
    - IStorageItem_Release
    - LoadedWindowsGetStringRawBuffer
    - IPackage_get_InstalledLocation
    - SUCCEEDED
    - IIterator_Release
    - canned_com_error_handler
    - g_io_error_from_errno
    - wcslen
    - IPackageId_get_Name
    - LoadedWindowsCreateStringReference
    - IIterator_MoveNext
    - GetLastError
    - IUnknown_QueryInterface
    - CoInitializeEx
    - memset
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_win32_package_parser_enum_packages (GWin32PackageParserCallback
      callback, gpointer user_data, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IXmlReader_GetLineNumber
      Src: /src/glib/gio/gwin32packageparser.c:574,1
    - Dst: FAILED
      Src: /src/glib/gio/gwin32packageparser.c:583,1
    - Dst: IXmlReader_GetLinePosition
      Src: /src/glib/gio/gwin32packageparser.c:582,1
    - Dst: g_warning
      Src: /src/glib/gio/gwin32packageparser.c:577,1
    - Dst: FAILED
      Src: /src/glib/gio/gwin32packageparser.c:575,1
    - Dst: g_warning
      Src: /src/glib/gio/gwin32packageparser.c:585,1
    - Dst: IXmlReader_GetLocalName
      Src: /src/glib/gio/gwin32packageparser.c:590,1
    - Dst: FAILED
      Src: /src/glib/gio/gwin32packageparser.c:591,1
    - Dst: g_warning
      Src: /src/glib/gio/gwin32packageparser.c:593,1
    - Dst: IXmlReader_GetPrefix
      Src: /src/glib/gio/gwin32packageparser.c:598,1
    - Dst: FAILED
      Src: /src/glib/gio/gwin32packageparser.c:599,1
    - Dst: g_warning
      Src: /src/glib/gio/gwin32packageparser.c:601,1
    - Dst: IXmlReader_GetValue
      Src: /src/glib/gio/gwin32packageparser.c:606,1
    - Dst: g_warning
      Src: /src/glib/gio/gwin32packageparser.c:609,1
    - Dst: FAILED
      Src: /src/glib/gio/gwin32packageparser.c:607,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 5
    argNames:
    - sax
    - xml_reader
    - local_name
    - prefix
    - value
    argTypes:
    - struct _xml_sax_state*
    - IXmlReader*
    - wchar_t**
    - wchar_t**
    - wchar_t**
    constantsTouched: []
    func_position:
      end: 615
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 615
    functionName: xml_parser_get_current_state
    functionSourceFile: /src/glib/gio/gwin32packageparser.c
    functionUses: []
    functionsReached:
    - IXmlReader_GetPrefix
    - IXmlReader_GetLineNumber
    - g_warning
    - IXmlReader_GetValue
    - IXmlReader_GetLocalName
    - IXmlReader_GetLinePosition
    - FAILED
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean xml_parser_get_current_state (struct _xml_sax_state
      *sax, IXmlReader *xml_reader, const wchar_t **local_name, const wchar_t **prefix,
      const wchar_t **value) '
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:685,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:690,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:709,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32packageparser.c:755,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:742,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:792,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:785,1
    - Dst: sax_WindowsGetStringRawBuffer
      Src: /src/glib/gio/gwin32packageparser.c:732,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:743,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:746,1
    - Dst: FAILED
      Src: /src/glib/gio/gwin32packageparser.c:634,1
    - Dst: xml_parser_get_current_state
      Src: /src/glib/gio/gwin32packageparser.c:641,1
    - Dst: g_ptr_array_new_full
      Src: /src/glib/gio/gwin32packageparser.c:813,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:710,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:800,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:793,1
    - Dst: g_assert
      Src: /src/glib/gio/gwin32packageparser.c:764,1
    - Dst: memcpy
      Src: /src/glib/gio/gwin32packageparser.c:737,1
    - Dst: g_assert
      Src: /src/glib/gio/gwin32packageparser.c:648,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:671,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:680,1
    - Dst: memcpy
      Src: /src/glib/gio/gwin32packageparser.c:738,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:747,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:754,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gwin32packageparser.c:767,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:750,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:704,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32packageparser.c:758,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:801,1
    - Dst: g_new0
      Src: /src/glib/gio/gwin32packageparser.c:821,1
    - Dst: IXmlReader_MoveToNextAttribute
      Src: /src/glib/gio/gwin32packageparser.c:760,1
    - Dst: memcpy
      Src: /src/glib/gio/gwin32packageparser.c:739,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:751,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:656,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:681,1
    - Dst: g_new
      Src: /src/glib/gio/gwin32packageparser.c:735,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:818,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32packageparser.c:824,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gwin32packageparser.c:755,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:776,1
    - Dst: g_assert
      Src: /src/glib/gio/gwin32packageparser.c:770,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:705,1
    - Dst: g_assert
      Src: /src/glib/gio/gwin32packageparser.c:719,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:699,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:725,1
    - Dst: g_ptr_array_new_full
      Src: /src/glib/gio/gwin32packageparser.c:814,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:788,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:819,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32packageparser.c:812,1
    - Dst: g_warning
      Src: /src/glib/gio/gwin32packageparser.c:636,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32packageparser.c:667,1
    - Dst: g_assert
      Src: /src/glib/gio/gwin32packageparser.c:720,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:757,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:796,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:789,1
    - Dst: wcslen
      Src: /src/glib/gio/gwin32packageparser.c:733,1
    - Dst: IXmlReader_Read
      Src: /src/glib/gio/gwin32packageparser.c:633,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:671,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:700,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:780,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:804,1
    - Dst: g_ptr_array_new_full
      Src: /src/glib/gio/gwin32packageparser.c:823,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:675,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:694,1
    - Dst: xml_parser_get_current_state
      Src: /src/glib/gio/gwin32packageparser.c:716,1
    - Dst: g_assert
      Src: /src/glib/gio/gwin32packageparser.c:721,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gwin32packageparser.c:826,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:670,1
    - Dst: IXmlReader_MoveToFirstAttribute
      Src: /src/glib/gio/gwin32packageparser.c:713,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gwin32packageparser.c:758,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:797,1
    - Dst: g_ptr_array_new_full
      Src: /src/glib/gio/gwin32packageparser.c:825,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:695,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32packageparser.c:767,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32packageparser.c:811,1
    - Dst: IXmlReader_IsEmptyElement
      Src: /src/glib/gio/gwin32packageparser.c:647,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:684,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:689,1
    - Dst: wcslen
      Src: /src/glib/gio/gwin32packageparser.c:728,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32packageparser.c:822,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:784,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:772,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:651,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32packageparser.c:661,1
    CyclomaticComplexity: 112
    EdgeCount: 112
    ICount: 303
    argCount: 2
    argNames:
    - sax
    - xml_reader
    argTypes:
    - struct _xml_sax_state*
    - IXmlReader*
    constantsTouched: []
    func_position:
      end: 835
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 835
    functionName: xml_parser_iteration
    functionSourceFile: /src/glib/gio/gwin32packageparser.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_steal_pointer
    - sax_WindowsGetStringRawBuffer
    - _wcsicmp
    - IXmlReader_Read
    - FAILED
    - g_warning
    - g_wcsdup
    - g_clear_pointer
    - IXmlReader_MoveToFirstAttribute
    - g_ptr_array_add
    - IXmlReader_MoveToNextAttribute
    - IXmlReader_IsEmptyElement
    - g_new
    - g_ptr_array_new_full
    - wcslen
    - g_assert
    - g_new0
    - xml_parser_get_current_state
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean xml_parser_iteration (struct _xml_sax_state *sax,
      IXmlReader *xml_reader) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_MEMORY_SETTINGS_BACKEND
      Src: /src/glib/gio/gmemorysettingsbackend.c:53,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gmemorysettingsbackend.c:62,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gmemorysettingsbackend.c:59,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 65
    functionName: g_memory_settings_backend_read
    functionSourceFile: /src/glib/gio/gmemorysettingsbackend.c
    functionUses: []
    functionsReached:
    - G_MEMORY_SETTINGS_BACKEND
    - g_hash_table_lookup
    - g_variant_ref
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_memory_settings_backend_read (GSettingsBackend
      *backend, const gchar *key, const GVariantType *expected_type, gboolean default_value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gmemorysettingsbackend.c:98,1
    - Dst: g_strdup
      Src: /src/glib/gio/gmemorysettingsbackend.c:98,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gmemorysettingsbackend.c:98,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gmemorysettingsbackend.c:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - key
    - value
    - data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 103
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 103
    functionName: g_memory_settings_backend_write_one
    functionSourceFile: /src/glib/gio/gmemorysettingsbackend.c
    functionUses: []
    functionsReached:
    - g_hash_table_remove
    - g_strdup
    - g_variant_ref
    - g_hash_table_insert
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_memory_settings_backend_write_one (gpointer key,
      gpointer value, gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_MEMORY_SETTINGS_BACKEND
      Src: /src/glib/gio/gmemorysettingsbackend.c:121,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gmemorysettingsbackend.c:123,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gmemorysettingsbackend.c:125,1
    - Dst: g_settings_backend_changed
      Src: /src/glib/gio/gmemorysettingsbackend.c:126,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - backend
    - key
    - origin_tag
    argTypes:
    - GSettingsBackend*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 128
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 128
    functionName: g_memory_settings_backend_reset
    functionSourceFile: /src/glib/gio/gmemorysettingsbackend.c
    functionUses: []
    functionsReached:
    - G_MEMORY_SETTINGS_BACKEND
    - g_settings_backend_changed
    - g_hash_table_lookup
    - g_hash_table_remove
    linkageType: ''
    returnType: void
    signature: 'static void g_memory_settings_backend_reset (GSettingsBackend *backend,
      const gchar *key, gpointer origin_tag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_simple_permission_new
      Src: /src/glib/gio/gmemorysettingsbackend.c:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: g_memory_settings_backend_get_permission
    functionSourceFile: /src/glib/gio/gmemorysettingsbackend.c
    functionUses: []
    functionsReached:
    - g_simple_permission_new
    linkageType: ''
    returnType: GPermission*
    signature: 'static GPermission *g_memory_settings_backend_get_permission (GSettingsBackend
      *backend, const gchar *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gmemorysettingsbackend.c:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - memory
    argTypes:
    - GMemorySettingsBackend*
    constantsTouched: []
    func_position:
      end: 160
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 160
    functionName: g_memory_settings_backend_init
    functionSourceFile: /src/glib/gio/gmemorysettingsbackend.c
    functionUses: []
    functionsReached:
    - g_hash_table_new_full
    linkageType: ''
    returnType: void
    signature: 'static void g_memory_settings_backend_init (GMemorySettingsBackend
      *memory) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_tree_foreach
      Src: /src/glib/gio/gmemorysettingsbackend.c:110,1
    - Dst: g_settings_backend_changed_tree
      Src: /src/glib/gio/gmemorysettingsbackend.c:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - backend
    - tree
    - origin_tag
    argTypes:
    - GSettingsBackend*
    - GTree*
    - gpointer
    constantsTouched: []
    func_position:
      end: 114
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 114
    functionName: g_memory_settings_backend_write_tree
    functionSourceFile: /src/glib/gio/gmemorysettingsbackend.c
    functionUses: []
    functionsReached:
    - g_settings_backend_changed_tree
    - g_tree_foreach
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_memory_settings_backend_write_tree (GSettingsBackend
      *backend, GTree *tree, gpointer origin_tag) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_MEMORY_SETTINGS_BACKEND
      Src: /src/glib/gio/gmemorysettingsbackend.c:73,1
    - Dst: g_variant_equal
      Src: /src/glib/gio/gmemorysettingsbackend.c:79,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gmemorysettingsbackend.c:81,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gmemorysettingsbackend.c:77,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gmemorysettingsbackend.c:76,1
    - Dst: g_strdup
      Src: /src/glib/gio/gmemorysettingsbackend.c:81,1
    - Dst: g_settings_backend_changed
      Src: /src/glib/gio/gmemorysettingsbackend.c:82,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gmemorysettingsbackend.c:85,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 4
    argNames:
    - backend
    - key
    - value
    - origin_tag
    argTypes:
    - GSettingsBackend*
    - gchar*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 88
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 88
    functionName: g_memory_settings_backend_write
    functionSourceFile: /src/glib/gio/gmemorysettingsbackend.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - g_variant_equal
    - g_strdup
    - G_MEMORY_SETTINGS_BACKEND
    - g_hash_table_lookup
    - g_hash_table_insert
    - g_variant_unref
    - g_settings_backend_changed
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_memory_settings_backend_write (GSettingsBackend
      *backend, const gchar *key, GVariant *value, gpointer origin_tag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - backend
    - name
    argTypes:
    - GSettingsBackend*
    - gchar*
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: g_memory_settings_backend_get_writable
    functionSourceFile: /src/glib/gio/gmemorysettingsbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_memory_settings_backend_get_writable (GSettingsBackend
      *backend, const gchar *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_MEMORY_SETTINGS_BACKEND
      Src: /src/glib/gio/gmemorysettingsbackend.c:147,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gmemorysettingsbackend.c:151,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gmemorysettingsbackend.c:149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 153
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 153
    functionName: g_memory_settings_backend_finalize
    functionSourceFile: /src/glib/gio/gmemorysettingsbackend.c
    functionUses: []
    functionsReached:
    - G_MEMORY_SETTINGS_BACKEND
    - G_OBJECT_CLASS
    - g_hash_table_unref
    linkageType: ''
    returnType: void
    signature: 'static void g_memory_settings_backend_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SETTINGS_BACKEND_CLASS
      Src: /src/glib/gio/gmemorysettingsbackend.c:165,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gmemorysettingsbackend.c:166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - class
    argTypes:
    - GMemorySettingsBackendClass*
    constantsTouched: []
    func_position:
      end: 175
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 175
    functionName: g_memory_settings_backend_class_init
    functionSourceFile: /src/glib/gio/gmemorysettingsbackend.c
    functionUses: []
    functionsReached:
    - G_SETTINGS_BACKEND_CLASS
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_memory_settings_backend_class_init (GMemorySettingsBackendClass
      *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gmemorysettingsbackend.c:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: g_memory_settings_backend_new
    functionSourceFile: /src/glib/gio/gmemorysettingsbackend.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: GSettingsBackend*
    signature: 'GSettingsBackend *g_memory_settings_backend_new (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_app_info_launch_default_for_uri_finish
      Src: /src/glib/gio/gio-tool-open.c:48,1
    - Dst: print_error
      Src: /src/glib/gio/gio-tool-open.c:50,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-open.c:57,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gio-tool-open.c:51,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 58
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 58
    functionName: launch_default_for_uri_cb
    functionSourceFile: /src/glib/gio/gio-tool-open.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_free
    - g_app_info_launch_default_for_uri_finish
    - print_error
    linkageType: ''
    returnType: void
    signature: 'static void launch_default_for_uri_cb (GObject *source_object, GAsyncResult
      *res, gpointer user_data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/glib/gio/gio-tool-open.c:71,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-open.c:89,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-open.c:97,1
    - Dst: g_uri_parse_scheme
      Src: /src/glib/gio/gio-tool-open.c:113,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/gio-tool-open.c:118,1
    - Dst: g_strdup
      Src: /src/glib/gio/gio-tool-open.c:123,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-open.c:73,1
    - Dst: g_option_context_set_summary
      Src: /src/glib/gio/gio-tool-open.c:75,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/gio/gio-tool-open.c:78,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/gio-tool-open.c:87,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-open.c:102,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-open.c:83,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-open.c:97,1
    - Dst: g_file_get_uri
      Src: /src/glib/gio/gio-tool-open.c:119,1
    - Dst: g_option_context_new
      Src: /src/glib/gio/gio-tool-open.c:72,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-open.c:76,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-open.c:82,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-open.c:91,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-open.c:98,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-open.c:120,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-open.c:124,1
    - Dst: g_app_info_launch_default_for_uri_async
      Src: /src/glib/gio/gio-tool-open.c:126,1
    - Dst: g_strdup
      Src: /src/glib/gio/gio-tool-open.c:130,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-open.c:134,1
    - Dst: g_set_prgname
      Src: /src/glib/gio/gio-tool-open.c:68,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gio-tool-open.c:71,1
    - Dst: g_option_context_set_help_enabled
      Src: /src/glib/gio/gio-tool-open.c:74,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-open.c:90,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/gio-tool-open.c:138,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 3
    argNames:
    - argc
    - argv
    - do_help
    argTypes:
    - int
    - char*
    - gboolean
    constantsTouched: []
    func_position:
      end: 141
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 141
    functionName: handle_open
    functionSourceFile: /src/glib/gio/gio-tool-open.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_option_context_free
    - show_help
    - g_file_new_for_commandline_arg
    - g_uri_parse_scheme
    - g_object_unref
    - g_error_free
    - g_option_context_parse
    - g_strdup
    - g_option_context_new
    - g_app_info_launch_default_for_uri_async
    - g_set_prgname
    - g_option_context_set_help_enabled
    - _
    - g_option_context_add_main_entries
    - g_file_get_uri
    - g_option_context_set_summary
    - g_main_context_iteration
    - g_free
    linkageType: ''
    returnType: int
    signature: 'int handle_open (int argc, char *argv[], gboolean do_help) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/glib/gio/gio-launch-desktop.c:70,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - fd
    - vbuf
    - to_write
    argTypes:
    - int
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 84
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 84
    functionName: write_all
    functionSourceFile: /src/glib/gio/gio-launch-desktop.c
    functionUses: []
    functionsReached:
    - write
    linkageType: ''
    returnType: int
    signature: 'static int write_all (int fd, const void *vbuf, size_t to_write) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: G_STATIC_ASSERT
      Src: /src/glib/gio/gio-launch-desktop.c:123,1
    - Dst: socket
      Src: /src/glib/gio/gio-launch-desktop.c:126,1
    - Dst: connect
      Src: /src/glib/gio/gio-launch-desktop.c:133,1
    - Dst: strlen
      Src: /src/glib/gio/gio-launch-desktop.c:131,1
    - Dst: G_STATIC_ASSERT
      Src: /src/glib/gio/gio-launch-desktop.c:124,1
    - Dst: shutdown
      Src: /src/glib/gio/gio-launch-desktop.c:136,1
    - Dst: setsockopt
      Src: /src/glib/gio/gio-launch-desktop.c:139,1
    - Dst: strlen
      Src: /src/glib/gio/gio-launch-desktop.c:151,1
    - Dst: alloca
      Src: /src/glib/gio/gio-launch-desktop.c:152,1
    - Dst: memcpy
      Src: /src/glib/gio/gio-launch-desktop.c:159,1
    - Dst: write_all
      Src: /src/glib/gio/gio-launch-desktop.c:173,1
    - Dst: close
      Src: /src/glib/gio/gio-launch-desktop.c:182,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 62
    argCount: 3
    argNames:
    - identifier
    - priority
    - level_prefix
    argTypes:
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 186
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 186
    functionName: journal_stream_fd
    functionSourceFile: /src/glib/gio/gio-launch-desktop.c
    functionUses: []
    functionsReached:
    - G_STATIC_ASSERT
    - memcpy
    - strlen
    - alloca
    - socket
    - close
    - write_all
    - connect
    - setsockopt
    - shutdown
    linkageType: ''
    returnType: int
    signature: 'static int journal_stream_fd (const char *identifier, int priority,
      int level_prefix) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _g_fd_is_journal
      Src: /src/glib/gio/gio-launch-desktop.c:197,1
    - Dst: getenv
      Src: /src/glib/gio/gio-launch-desktop.c:203,1
    - Dst: journal_stream_fd
      Src: /src/glib/gio/gio-launch-desktop.c:213,1
    - Dst: strrchr
      Src: /src/glib/gio/gio-launch-desktop.c:208,1
    - Dst: _g_fd_is_journal
      Src: /src/glib/gio/gio-launch-desktop.c:198,1
    - Dst: dup2
      Src: /src/glib/gio/gio-launch-desktop.c:219,1
    - Dst: fprintf
      Src: /src/glib/gio/gio-launch-desktop.c:220,1
    - Dst: getpid
      Src: /src/glib/gio/gio-launch-desktop.c:222,1
    - Dst: strerror
      Src: /src/glib/gio/gio-launch-desktop.c:224,1
    - Dst: dup2
      Src: /src/glib/gio/gio-launch-desktop.c:226,1
    - Dst: fprintf
      Src: /src/glib/gio/gio-launch-desktop.c:227,1
    - Dst: getpid
      Src: /src/glib/gio/gio-launch-desktop.c:229,1
    - Dst: strerror
      Src: /src/glib/gio/gio-launch-desktop.c:231,1
    - Dst: close
      Src: /src/glib/gio/gio-launch-desktop.c:233,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 1
    argNames:
    - argv1
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 234
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 234
    functionName: set_up_journal
    functionSourceFile: /src/glib/gio/gio-launch-desktop.c
    functionUses: []
    functionsReached:
    - getenv
    - fprintf
    - strerror
    - strrchr
    - getpid
    - journal_stream_fd
    - close
    - _g_fd_is_journal
    - dup2
    linkageType: ''
    returnType: void
    signature: 'static void set_up_journal (const char *argv1) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/glib/gio/gio-launch-desktop.c:241,1
    - Dst: putenv
      Src: /src/glib/gio/gio-launch-desktop.c:252,1
    - Dst: set_up_journal
      Src: /src/glib/gio/gio-launch-desktop.c:255,1
    - Dst: snprintf
      Src: /src/glib/gio/gio-launch-desktop.c:248,1
    - Dst: execvp
      Src: /src/glib/gio/gio-launch-desktop.c:258,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 259
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 259
    functionName: main
    functionSourceFile: /src/glib/gio/gio-launch-desktop.c
    functionUses: []
    functionsReached:
    - putenv
    - getpid
    - execvp
    - set_up_journal
    - snprintf
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/glib/gio/gsubprocesslauncher.c:393,1
    - Dst: fcntl
      Src: /src/glib/gio/gsubprocesslauncher.c:402,1
    - Dst: fcntl
      Src: /src/glib/gio/gsubprocesslauncher.c:400,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - fd_ptr
    - fd
    argTypes:
    - gint*
    - gint
    constantsTouched: []
    func_position:
      end: 404
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 404
    functionName: assign_fd
    functionSourceFile: /src/glib/gio/gsubprocesslauncher.c
    functionUses: []
    functionsReached:
    - close
    - fcntl
    linkageType: ''
    returnType: void
    signature: 'static void assign_fd (gint *fd_ptr, gint fd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: verify_disposition
      Src: /src/glib/gio/gsubprocesslauncher.c:558,1
    - Dst: g_free
      Src: /src/glib/gio/gsubprocesslauncher.c:560,1
    - Dst: g_strdup
      Src: /src/glib/gio/gsubprocesslauncher.c:561,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - self
    - path
    argTypes:
    - GSubprocessLauncher*
    - gchar*
    constantsTouched: []
    func_position:
      end: 563
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 563
    functionName: g_subprocess_launcher_set_stderr_file_path
    functionSourceFile: /src/glib/gio/gsubprocesslauncher.c
    functionUses: []
    functionsReached:
    - verify_disposition
    - g_strdup
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_subprocess_launcher_set_stderr_file_path (GSubprocessLauncher
      *self, const gchar *path) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocesslauncher.c:781,1
    - Dst: g_initable_init
      Src: /src/glib/gio/gsubprocesslauncher.c:800,1
    - Dst: g_object_new
      Src: /src/glib/gio/gsubprocesslauncher.c:794,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsubprocesslauncher.c:786,1
    - Dst: g_subprocess_set_launcher
      Src: /src/glib/gio/gsubprocesslauncher.c:798,1
    - Dst: G_INITABLE
      Src: /src/glib/gio/gsubprocesslauncher.c:800,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsubprocesslauncher.c:802,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 807
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 807
    functionName: g_subprocess_launcher_spawnv
    functionSourceFile: /src/glib/gio/gsubprocesslauncher.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_return_val_if_fail
    - g_object_unref
    - g_object_new
    - g_subprocess_set_launcher
    - G_INITABLE
    - g_initable_init
    linkageType: ''
    returnType: GSubprocess*
    signature: 'GSubprocess *g_subprocess_launcher_spawnv (GSubprocessLauncher *launcher,
      const gchar * const *argv, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_environ_getenv
      Src: /src/glib/gio/gsubprocesslauncher.c:320,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 321
    functionName: g_subprocess_launcher_getenv
    functionSourceFile: /src/glib/gio/gsubprocesslauncher.c
    functionUses: []
    functionsReached:
    - g_environ_getenv
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_subprocess_launcher_getenv (GSubprocessLauncher *self,
      const gchar *variable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: verify_disposition
      Src: /src/glib/gio/gsubprocesslauncher.c:528,1
    - Dst: assign_fd
      Src: /src/glib/gio/gsubprocesslauncher.c:529,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - self
    - fd
    argTypes:
    - GSubprocessLauncher*
    - gint
    constantsTouched: []
    func_position:
      end: 530
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 530
    functionName: g_subprocess_launcher_take_stdout_fd
    functionSourceFile: /src/glib/gio/gsubprocesslauncher.c
    functionUses: []
    functionsReached:
    - verify_disposition
    - assign_fd
    linkageType: ''
    returnType: void
    signature: 'void g_subprocess_launcher_take_stdout_fd (GSubprocessLauncher *self,
      gint fd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_environ_setenv
      Src: /src/glib/gio/gsubprocesslauncher.c:276,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - self
    - variable
    - value
    - overwrite
    argTypes:
    - GSubprocessLauncher*
    - gchar*
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 277
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 277
    functionName: g_subprocess_launcher_setenv
    functionSourceFile: /src/glib/gio/gsubprocesslauncher.c
    functionUses: []
    functionsReached:
    - g_environ_setenv
    linkageType: ''
    returnType: void
    signature: 'void g_subprocess_launcher_setenv (GSubprocessLauncher *self, const
      gchar *variable, const gchar *value, gboolean overwrite) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_environ_unsetenv
      Src: /src/glib/gio/gsubprocesslauncher.c:297,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - self
    - variable
    argTypes:
    - GSubprocessLauncher*
    - gchar*
    constantsTouched: []
    func_position:
      end: 298
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 298
    functionName: g_subprocess_launcher_unsetenv
    functionSourceFile: /src/glib/gio/gsubprocesslauncher.c
    functionUses: []
    functionsReached:
    - g_environ_unsetenv
    linkageType: ''
    returnType: void
    signature: 'void g_subprocess_launcher_unsetenv (GSubprocessLauncher *self, const
      gchar *variable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: verify_disposition
      Src: /src/glib/gio/gsubprocesslauncher.c:380,1
    - Dst: verify_disposition
      Src: /src/glib/gio/gsubprocesslauncher.c:381,1
    - Dst: verify_disposition
      Src: /src/glib/gio/gsubprocesslauncher.c:382,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - self
    - flags
    argTypes:
    - GSubprocessLauncher*
    - GSubprocessFlags
    constantsTouched: []
    func_position:
      end: 384
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 384
    functionName: g_subprocess_launcher_set_flags
    functionSourceFile: /src/glib/gio/gsubprocesslauncher.c
    functionUses: []
    functionsReached:
    - verify_disposition
    linkageType: ''
    returnType: void
    signature: 'void g_subprocess_launcher_set_flags (GSubprocessLauncher *self, GSubprocessFlags
      flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: verify_disposition
      Src: /src/glib/gio/gsubprocesslauncher.c:492,1
    - Dst: g_free
      Src: /src/glib/gio/gsubprocesslauncher.c:494,1
    - Dst: g_strdup
      Src: /src/glib/gio/gsubprocesslauncher.c:495,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - self
    - path
    argTypes:
    - GSubprocessLauncher*
    - gchar*
    constantsTouched: []
    func_position:
      end: 497
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 497
    functionName: g_subprocess_launcher_set_stdout_file_path
    functionSourceFile: /src/glib/gio/gsubprocesslauncher.c
    functionUses: []
    functionsReached:
    - verify_disposition
    - g_strdup
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_subprocess_launcher_set_stdout_file_path (GSubprocessLauncher
      *self, const gchar *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocesslauncher.c:742,1
    - Dst: va_start
      Src: /src/glib/gio/gsubprocesslauncher.c:747,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gsubprocesslauncher.c:748,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gsubprocesslauncher.c:745,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocesslauncher.c:743,1
    - Dst: va_arg
      Src: /src/glib/gio/gsubprocesslauncher.c:749,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gsubprocesslauncher.c:750,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gsubprocesslauncher.c:752,1
    - Dst: va_end
      Src: /src/glib/gio/gsubprocesslauncher.c:753,1
    - Dst: g_subprocess_launcher_spawnv
      Src: /src/glib/gio/gsubprocesslauncher.c:755,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gsubprocesslauncher.c:757,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 761
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 761
    functionName: g_subprocess_launcher_spawn
    functionSourceFile: /src/glib/gio/gsubprocesslauncher.c
    functionUses: []
    functionsReached:
    - va_start
    - g_return_val_if_fail
    - g_subprocess_launcher_spawnv
    - va_arg
    - va_end
    - g_ptr_array_free
    - g_ptr_array_new
    - g_ptr_array_add
    linkageType: ''
    returnType: GSubprocess*
    signature: 'GSubprocess *g_subprocess_launcher_spawn (GSubprocessLauncher *launcher,
      GError **error, const gchar *argv0, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: verify_flags
      Src: /src/glib/gio/gsubprocesslauncher.c:206,1
    - Dst: g_object_new
      Src: /src/glib/gio/gsubprocesslauncher.c:209,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 212
    functionName: g_subprocess_launcher_new
    functionSourceFile: /src/glib/gio/gsubprocesslauncher.c
    functionUses: []
    functionsReached:
    - verify_flags
    - g_object_new
    linkageType: ''
    returnType: GSubprocessLauncher*
    signature: 'GSubprocessLauncher *g_subprocess_launcher_new (GSubprocessFlags flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strfreev
      Src: /src/glib/gio/gsubprocesslauncher.c:246,1
    - Dst: g_get_environ
      Src: /src/glib/gio/gsubprocesslauncher.c:250,1
    - Dst: g_strdupv
      Src: /src/glib/gio/gsubprocesslauncher.c:247,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - self
    - env
    argTypes:
    - GSubprocessLauncher*
    - gchar**
    constantsTouched: []
    func_position:
      end: 251
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 251
    functionName: g_subprocess_launcher_set_environ
    functionSourceFile: /src/glib/gio/gsubprocesslauncher.c
    functionUses: []
    functionsReached:
    - g_strfreev
    - g_strdupv
    - g_get_environ
    linkageType: ''
    returnType: void
    signature: 'void g_subprocess_launcher_set_environ (GSubprocessLauncher *self,
      gchar **env) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gsubprocesslauncher.c:340,1
    - Dst: g_strdup
      Src: /src/glib/gio/gsubprocesslauncher.c:341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - self
    - cwd
    argTypes:
    - GSubprocessLauncher*
    - gchar*
    constantsTouched: []
    func_position:
      end: 342
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 342
    functionName: g_subprocess_launcher_set_cwd
    functionSourceFile: /src/glib/gio/gsubprocesslauncher.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_subprocess_launcher_set_cwd (GSubprocessLauncher *self, const
      gchar *cwd) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsubprocesslauncher.c:650,1
    - Dst: close
      Src: /src/glib/gio/gsubprocesslauncher.c:657,1
    - Dst: close
      Src: /src/glib/gio/gsubprocesslauncher.c:661,1
    - Dst: G_IS_SUBPROCESS_LAUNCHER
      Src: /src/glib/gio/gsubprocesslauncher.c:650,1
    - Dst: close
      Src: /src/glib/gio/gsubprocesslauncher.c:653,1
    - Dst: g_assert
      Src: /src/glib/gio/gsubprocesslauncher.c:666,1
    - Dst: g_assert
      Src: /src/glib/gio/gsubprocesslauncher.c:667,1
    - Dst: close
      Src: /src/glib/gio/gsubprocesslauncher.c:672,1
    - Dst: g_array_index
      Src: /src/glib/gio/gsubprocesslauncher.c:672,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gsubprocesslauncher.c:674,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gsubprocesslauncher.c:675,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - self
    argTypes:
    - GSubprocessLauncher*
    constantsTouched: []
    func_position:
      end: 679
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 679
    functionName: g_subprocess_launcher_close
    functionSourceFile: /src/glib/gio/gsubprocesslauncher.c
    functionUses: []
    functionsReached:
    - G_IS_SUBPROCESS_LAUNCHER
    - g_return_if_fail
    - g_assert
    - g_array_index
    - g_clear_pointer
    - close
    linkageType: ''
    returnType: void
    signature: 'void g_subprocess_launcher_close (GSubprocessLauncher *self) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - self
    - child_setup
    - user_data
    - destroy_notify
    argTypes:
    - GSubprocessLauncher*
    - GSpawnChildSetupFunc
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 716
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 716
    functionName: g_subprocess_launcher_set_child_setup
    functionSourceFile: /src/glib/gio/gsubprocesslauncher.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void g_subprocess_launcher_set_child_setup (GSubprocessLauncher *self,
      GSpawnChildSetupFunc child_setup, gpointer user_data, GDestroyNotify destroy_notify) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: verify_disposition
      Src: /src/glib/gio/gsubprocesslauncher.c:115,1
    - Dst: verify_disposition
      Src: /src/glib/gio/gsubprocesslauncher.c:117,1
    - Dst: verify_disposition
      Src: /src/glib/gio/gsubprocesslauncher.c:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - flags
    argTypes:
    - GSubprocessFlags
    constantsTouched: []
    func_position:
      end: 118
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: verify_flags
    functionSourceFile: /src/glib/gio/gsubprocesslauncher.c
    functionUses: []
    functionsReached:
    - verify_disposition
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean verify_flags (GSubprocessFlags flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_SUBPROCESS_LAUNCHER
      Src: /src/glib/gio/gsubprocesslauncher.c:135,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gsubprocesslauncher.c:139,1
    - Dst: g_subprocess_launcher_close
      Src: /src/glib/gio/gsubprocesslauncher.c:142,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gsubprocesslauncher.c:140,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gsubprocesslauncher.c:138,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gsubprocesslauncher.c:150,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gsubprocesslauncher.c:151,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsubprocesslauncher.c:153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 154
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 154
    functionName: g_subprocess_launcher_dispose
    functionSourceFile: /src/glib/gio/gsubprocesslauncher.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - G_SUBPROCESS_LAUNCHER
    - g_subprocess_launcher_close
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_subprocess_launcher_dispose (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsubprocesslauncher.c:173,1
    - Dst: g_param_spec_flags
      Src: /src/glib/gio/gsubprocesslauncher.c:186,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsubprocesslauncher.c:185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - class
    argTypes:
    - GSubprocessLauncherClass*
    constantsTouched: []
    func_position:
      end: 189
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 189
    functionName: g_subprocess_launcher_class_init
    functionSourceFile: /src/glib/gio/gsubprocesslauncher.c
    functionUses: []
    functionsReached:
    - g_param_spec_flags
    - g_object_class_install_property
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_subprocess_launcher_class_init (GSubprocessLauncherClass
      *class) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: verify_disposition
      Src: /src/glib/gio/gsubprocesslauncher.c:465,1
    - Dst: assign_fd
      Src: /src/glib/gio/gsubprocesslauncher.c:466,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - self
    - fd
    argTypes:
    - GSubprocessLauncher*
    - gint
    constantsTouched: []
    func_position:
      end: 467
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 467
    functionName: g_subprocess_launcher_take_stdin_fd
    functionSourceFile: /src/glib/gio/gsubprocesslauncher.c
    functionUses: []
    functionsReached:
    - verify_disposition
    - assign_fd
    linkageType: ''
    returnType: void
    signature: 'void g_subprocess_launcher_take_stdin_fd (GSubprocessLauncher *self,
      gint fd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_array_append_val
      Src: /src/glib/gio/gsubprocesslauncher.c:623,1
    - Dst: g_array_append_val
      Src: /src/glib/gio/gsubprocesslauncher.c:624,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - self
    - source_fd
    - target_fd
    argTypes:
    - GSubprocessLauncher*
    - gint
    - gint
    constantsTouched: []
    func_position:
      end: 626
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 626
    functionName: g_subprocess_launcher_take_fd
    functionSourceFile: /src/glib/gio/gsubprocesslauncher.c
    functionUses: []
    functionsReached:
    - g_array_append_val
    linkageType: ''
    returnType: void
    signature: 'void g_subprocess_launcher_take_fd (GSubprocessLauncher *self, gint
      source_fd, gint target_fd) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/gio/gsubprocesslauncher.c:77,1
    - Dst: g_type_class_unref
      Src: /src/glib/gio/gsubprocesslauncher.c:93,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gsubprocesslauncher.c:90,1
    - Dst: g_type_class_peek
      Src: /src/glib/gio/gsubprocesslauncher.c:83,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gsubprocesslauncher.c:97,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gsubprocesslauncher.c:100,1
    - Dst: g_critical
      Src: /src/glib/gio/gsubprocesslauncher.c:102,1
    - Dst: g_string_free
      Src: /src/glib/gio/gsubprocesslauncher.c:104,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 4
    argNames:
    - stream_name
    - filtered_flags
    - fd
    - filename
    argTypes:
    - gchar*
    - GSubprocessFlags
    - gint
    - gchar*
    constantsTouched: []
    func_position:
      end: 110
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 110
    functionName: verify_disposition
    functionSourceFile: /src/glib/gio/gsubprocesslauncher.c
    functionUses: []
    functionsReached:
    - g_type_class_peek
    - g_string_free
    - g_critical
    - g_string_new
    - g_string_append_printf
    - g_type_class_unref
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean verify_disposition (const gchar *stream_name, GSubprocessFlags
      filtered_flags, gint fd, const gchar *filename) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_SUBPROCESS_LAUNCHER
      Src: /src/glib/gio/gsubprocesslauncher.c:124,1
    - Dst: g_value_get_flags
      Src: /src/glib/gio/gsubprocesslauncher.c:128,1
    - Dst: g_value_get_flags
      Src: /src/glib/gio/gsubprocesslauncher.c:129,1
    - Dst: g_assert
      Src: /src/glib/gio/gsubprocesslauncher.c:126,1
    - Dst: verify_flags
      Src: /src/glib/gio/gsubprocesslauncher.c:128,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 130
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 130
    functionName: g_subprocess_launcher_set_property
    functionSourceFile: /src/glib/gio/gsubprocesslauncher.c
    functionUses: []
    functionsReached:
    - g_assert
    - G_SUBPROCESS_LAUNCHER
    - g_value_get_flags
    - verify_flags
    linkageType: ''
    returnType: void
    signature: 'static void g_subprocess_launcher_set_property (GObject *object, guint
      prop_id, const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_environ
      Src: /src/glib/gio/gsubprocesslauncher.c:159,1
    - Dst: g_array_new
      Src: /src/glib/gio/gsubprocesslauncher.c:166,1
    - Dst: g_array_new
      Src: /src/glib/gio/gsubprocesslauncher.c:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - self
    argTypes:
    - GSubprocessLauncher*
    constantsTouched: []
    func_position:
      end: 168
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 168
    functionName: g_subprocess_launcher_init
    functionSourceFile: /src/glib/gio/gsubprocesslauncher.c
    functionUses: []
    functionsReached:
    - g_get_environ
    - g_array_new
    linkageType: ''
    returnType: void
    signature: 'static void g_subprocess_launcher_init (GSubprocessLauncher *self) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: verify_disposition
      Src: /src/glib/gio/gsubprocesslauncher.c:428,1
    - Dst: g_strdup
      Src: /src/glib/gio/gsubprocesslauncher.c:431,1
    - Dst: g_free
      Src: /src/glib/gio/gsubprocesslauncher.c:430,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - self
    - path
    argTypes:
    - GSubprocessLauncher*
    - gchar*
    constantsTouched: []
    func_position:
      end: 433
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 433
    functionName: g_subprocess_launcher_set_stdin_file_path
    functionSourceFile: /src/glib/gio/gsubprocesslauncher.c
    functionUses: []
    functionsReached:
    - verify_disposition
    - g_strdup
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_subprocess_launcher_set_stdin_file_path (GSubprocessLauncher
      *self, const gchar *path) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: verify_disposition
      Src: /src/glib/gio/gsubprocesslauncher.c:593,1
    - Dst: assign_fd
      Src: /src/glib/gio/gsubprocesslauncher.c:594,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - self
    - fd
    argTypes:
    - GSubprocessLauncher*
    - gint
    constantsTouched: []
    func_position:
      end: 595
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 595
    functionName: g_subprocess_launcher_take_stderr_fd
    functionSourceFile: /src/glib/gio/gsubprocesslauncher.c
    functionUses: []
    functionsReached:
    - verify_disposition
    - assign_fd
    linkageType: ''
    returnType: void
    signature: 'void g_subprocess_launcher_take_stderr_fd (GSubprocessLauncher *self,
      gint fd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdesktopappinfo.c:1665,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1666
      start: 1662
    functionDepth: 0
    functionLinenumber: 1662
    functionLinenumberEnd: 1666
    functionName: desktop_file_dirs_unlock
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    linkageType: ''
    returnType: void
    signature: 'static void desktop_file_dirs_unlock (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:1734,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gdesktopappinfo.c:1743,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gdesktopappinfo.c:1739,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1746
      start: 1728
    functionDepth: 0
    functionLinenumber: 1728
    functionLinenumberEnd: 1746
    functionName: g_desktop_app_info_set_property
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - G_DESKTOP_APP_INFO
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_dup_string
    linkageType: ''
    returnType: void
    signature: 'static void g_desktop_app_info_set_property (GObject *object, guint
      prop_id, const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdesktopappinfo.c:1770,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gdesktopappinfo.c:1783,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdesktopappinfo.c:1781,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GDesktopAppInfoClass*
    constantsTouched: []
    func_position:
      end: 1785
      start: 1767
    functionDepth: 0
    functionLinenumber: 1767
    functionLinenumberEnd: 1785
    functionName: g_desktop_app_info_class_init
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_param_spec_string
    - g_object_class_install_property
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_desktop_app_info_class_init (GDesktopAppInfoClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:2285,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2288
      start: 2282
    functionDepth: 0
    functionLinenumber: 2282
    functionLinenumberEnd: 2288
    functionName: g_desktop_app_info_get_description
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - G_DESKTOP_APP_INFO
    linkageType: ''
    returnType: char*
    signature: 'static const char *g_desktop_app_info_get_description (GAppInfo *appinfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2346
      start: 2342
    functionDepth: 0
    functionLinenumber: 2342
    functionLinenumberEnd: 2346
    functionName: g_desktop_app_info_get_keywords
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char**
    signature: 'const char * const *g_desktop_app_info_get_keywords (GDesktopAppInfo
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_current_desktops
      Src: /src/glib/gio/gdesktopappinfo.c:3683,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - desktop_env
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 3684
      start: 3680
    functionDepth: 0
    functionLinenumber: 3680
    functionLinenumberEnd: 3684
    functionName: g_desktop_app_info_set_desktop_env
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - get_current_desktops
    linkageType: ''
    returnType: void
    signature: 'void g_desktop_app_info_set_desktop_env (const gchar *desktop_env) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdesktopappinfo.c:1671,1
    - Dst: desktop_file_dir_reset
      Src: /src/glib/gio/gdesktopappinfo.c:1674,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdesktopappinfo.c:1676,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1677
      start: 1668
    functionDepth: 0
    functionLinenumber: 1668
    functionLinenumberEnd: 1677
    functionName: desktop_file_dirs_invalidate_user_config
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - desktop_file_dir_reset
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void desktop_file_dirs_invalidate_user_config (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:1754,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gdesktopappinfo.c:1762,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdesktopappinfo.c:1759,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1765
      start: 1748
    functionDepth: 0
    functionLinenumber: 1748
    functionLinenumberEnd: 1765
    functionName: g_desktop_app_info_get_property
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_value_set_string
    - G_DESKTOP_APP_INFO
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: 'static void g_desktop_app_info_get_property (GObject *object, guint
      prop_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - local
    argTypes:
    - GDesktopAppInfo*
    constantsTouched: []
    func_position:
      end: 1790
      start: 1787
    functionDepth: 0
    functionLinenumber: 1787
    functionLinenumberEnd: 1790
    functionName: g_desktop_app_info_init
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_desktop_app_info_init (GDesktopAppInfo *local) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:2293,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2296
      start: 2290
    functionDepth: 0
    functionLinenumber: 2290
    functionLinenumberEnd: 2296
    functionName: g_desktop_app_info_get_executable
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - G_DESKTOP_APP_INFO
    linkageType: ''
    returnType: char*
    signature: 'static const char *g_desktop_app_info_get_executable (GAppInfo *appinfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:3689,1
    - Dst: g_desktop_app_info_get_show_in
      Src: /src/glib/gio/gdesktopappinfo.c:3694,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 3695
      start: 3686
    functionDepth: 0
    functionLinenumber: 3686
    functionLinenumberEnd: 3695
    functionName: g_desktop_app_info_should_show
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_desktop_app_info_get_show_in
    - G_DESKTOP_APP_INFO
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_desktop_app_info_should_show (GAppInfo *appinfo) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_get_user_data_dir
      Src: /src/glib/gio/gdesktopappinfo.c:3719,1
    - Dst: g_get_user_config_dir
      Src: /src/glib/gio/gdesktopappinfo.c:3715,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gdesktopappinfo.c:3727,1
    - Dst: g_filename_display_name
      Src: /src/glib/gio/gdesktopappinfo.c:3737,1
    - Dst: _
      Src: /src/glib/gio/gdesktopappinfo.c:3740,1
    - Dst: g_debug
      Src: /src/glib/gio/gdesktopappinfo.c:3730,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdesktopappinfo.c:3743,1
    - Dst: g_strerror
      Src: /src/glib/gio/gdesktopappinfo.c:3745,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gdesktopappinfo.c:3743,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:3747,1
    - Dst: g_build_filename
      Src: /src/glib/gio/gdesktopappinfo.c:3723,1
    - Dst: _
      Src: /src/glib/gio/gdesktopappinfo.c:3744,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:3748,1
    - Dst: g_build_filename
      Src: /src/glib/gio/gdesktopappinfo.c:3715,1
    - Dst: g_build_filename
      Src: /src/glib/gio/gdesktopappinfo.c:3719,1
    - Dst: g_get_user_data_dir
      Src: /src/glib/gio/gdesktopappinfo.c:3723,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/gio/gdesktopappinfo.c:3733,1
    - Dst: g_strerror
      Src: /src/glib/gio/gdesktopappinfo.c:3741,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdesktopappinfo.c:3739,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gdesktopappinfo.c:3739,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3751
      start: 3705
    functionDepth: 0
    functionLinenumber: 3705
    functionLinenumberEnd: 3751
    functionName: ensure_dir
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_io_error_from_errno
    - g_mkdir_with_parents
    - g_debug
    - g_strerror
    - g_get_user_data_dir
    - g_assert_not_reached
    - g_get_user_config_dir
    - g_build_filename
    - g_filename_display_name
    - _
    - g_free
    linkageType: ''
    returnType: char*
    signature: 'static char *ensure_dir (DirType type, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2329
      start: 2325
    functionDepth: 0
    functionLinenumber: 2325
    functionLinenumberEnd: 2329
    functionName: g_desktop_app_info_get_categories
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *g_desktop_app_info_get_categories (GDesktopAppInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gdesktopappinfo.c:1479,1
    - Dst: g_assert
      Src: /src/glib/gio/gdesktopappinfo.c:1481,1
    - Dst: g_assert
      Src: /src/glib/gio/gdesktopappinfo.c:1482,1
    - Dst: desktop_file_dir_get_alternative_dir
      Src: /src/glib/gio/gdesktopappinfo.c:1484,1
    - Dst: g_local_file_monitor_new_in_worker
      Src: /src/glib/gio/gdesktopappinfo.c:1493,1
    - Dst: desktop_file_dir_ref
      Src: /src/glib/gio/gdesktopappinfo.c:1495,1
    - Dst: desktop_file_dir_unindexed_init
      Src: /src/glib/gio/gdesktopappinfo.c:1498,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - dir
    argTypes:
    - DesktopFileDir*
    constantsTouched: []
    func_position:
      end: 1501
      start: 1474
    functionDepth: 0
    functionLinenumber: 1474
    functionLinenumberEnd: 1501
    functionName: desktop_file_dir_init
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_assert
    - desktop_file_dir_unindexed_init
    - desktop_file_dir_ref
    - g_local_file_monitor_new_in_worker
    - desktop_file_dir_get_alternative_dir
    linkageType: ''
    returnType: void
    signature: 'static void desktop_file_dir_init (DesktopFileDir *dir) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_builder_init_static
      Src: /src/glib/gio/gdesktopappinfo.c:3233,1
    - Dst: g_variant_builder_close
      Src: /src/glib/gio/gdesktopappinfo.c:3242,1
    - Dst: g_desktop_app_info_make_platform_data
      Src: /src/glib/gio/gdesktopappinfo.c:3245,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gdesktopappinfo.c:3241,1
    - Dst: g_variant_builder_open
      Src: /src/glib/gio/gdesktopappinfo.c:3239,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/gio/gdesktopappinfo.c:3247,1
    - Dst: object_path_from_appid
      Src: /src/glib/gio/gdesktopappinfo.c:3248,1
    - Dst: g_new0
      Src: /src/glib/gio/gdesktopappinfo.c:3250,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdesktopappinfo.c:3251,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdesktopappinfo.c:3254,1
    - Dst: emit_launch_started
      Src: /src/glib/gio/gdesktopappinfo.c:3259,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/gdesktopappinfo.c:3261,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdesktopappinfo.c:3264,1
    - Dst: g_variant_dict_clear
      Src: /src/glib/gio/gdesktopappinfo.c:3267,1
    - Dst: g_variant_dict_lookup
      Src: /src/glib/gio/gdesktopappinfo.c:3256,1
    - Dst: g_variant_dict_init
      Src: /src/glib/gio/gdesktopappinfo.c:3255,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gdesktopappinfo.c:3262,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:3265,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 7
    argNames:
    - info
    - session_bus
    - uris
    - launch_context
    - cancellable
    - callback
    - user_data
    argTypes:
    - GDesktopAppInfo*
    - GDBusConnection*
    - GList*
    - GAppLaunchContext*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 3268
      start: 3218
    functionDepth: 0
    functionLinenumber: 3218
    functionLinenumberEnd: 3268
    functionName: launch_uris_with_dbus
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_call
    - g_steal_pointer
    - g_variant_dict_clear
    - g_variant_builder_close
    - g_variant_dict_lookup
    - g_variant_builder_init_static
    - emit_launch_started
    - g_free
    - g_variant_builder_add_value
    - g_variant_dict_init
    - object_path_from_appid
    - g_object_ref
    - g_desktop_app_info_make_platform_data
    - g_variant_builder_end
    - g_new0
    - g_variant_builder_open
    - g_variant_builder_add
    linkageType: ''
    returnType: void
    signature: 'static void launch_uris_with_dbus (GDesktopAppInfo *info, GDBusConnection
      *session_bus, GList *uris, GAppLaunchContext *launch_context, GCancellable *cancellable,
      GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:3499,1
    - Dst: G_TASK
      Src: /src/glib/gio/gdesktopappinfo.c:3501,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gdesktopappinfo.c:3499,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gdesktopappinfo.c:3501,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - appinfo
    - result
    - error
    argTypes:
    - GAppInfo*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 3502
      start: 3494
    functionDepth: 0
    functionLinenumber: 3494
    functionLinenumberEnd: 3502
    functionName: g_desktop_app_info_launch_uris_finish
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_task_is_valid
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_desktop_app_info_launch_uris_finish (GAppInfo *appinfo,
      GAsyncResult *result, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:3282,1
    - Dst: launch_uris_with_dbus
      Src: /src/glib/gio/gdesktopappinfo.c:3294,1
    - Dst: g_desktop_app_info_get_string
      Src: /src/glib/gio/gdesktopappinfo.c:3285,1
    - Dst: g_document_portal_add_documents
      Src: /src/glib/gio/gdesktopappinfo.c:3288,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gdesktopappinfo.c:3298,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:3300,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 7
    argNames:
    - info
    - session_bus
    - uris
    - launch_context
    - cancellable
    - callback
    - user_data
    argTypes:
    - GDesktopAppInfo*
    - GDBusConnection*
    - GList*
    - GAppLaunchContext*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 3303
      start: 3270
    functionDepth: 0
    functionLinenumber: 3270
    functionLinenumberEnd: 3303
    functionName: g_desktop_app_info_launch_uris_with_dbus
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_document_portal_add_documents
    - launch_uris_with_dbus
    - g_return_val_if_fail
    - g_list_free_full
    - g_desktop_app_info_get_string
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_desktop_app_info_launch_uris_with_dbus (GDesktopAppInfo
      *info, GDBusConnection *session_bus, GList *uris, GAppLaunchContext *launch_context,
      GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:3507,1
    - Dst: strstr
      Src: /src/glib/gio/gdesktopappinfo.c:3511,1
    - Dst: strstr
      Src: /src/glib/gio/gdesktopappinfo.c:3510,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 3512
      start: 3504
    functionDepth: 0
    functionLinenumber: 3504
    functionLinenumberEnd: 3512
    functionName: g_desktop_app_info_supports_uris
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - G_DESKTOP_APP_INFO
    - strstr
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_desktop_app_info_supports_uris (GAppInfo *appinfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:2301,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2304
      start: 2298
    functionDepth: 0
    functionLinenumber: 2298
    functionLinenumberEnd: 2304
    functionName: g_desktop_app_info_get_commandline
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - G_DESKTOP_APP_INFO
    linkageType: ''
    returnType: char*
    signature: 'static const char *g_desktop_app_info_get_commandline (GAppInfo *appinfo) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/glib/gio/gdesktopappinfo.c:615,1
    - Dst: MAX
      Src: /src/glib/gio/gdesktopappinfo.c:705,1
    - Dst: g_renew
      Src: /src/glib/gio/gdesktopappinfo.c:637,1
    - Dst: MAX
      Src: /src/glib/gio/gdesktopappinfo.c:703,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 1
    argNames:
    - first
    argTypes:
    - gboolean
    constantsTouched: []
    func_position:
      end: 716
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 716
    functionName: merge_token_results
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_renew
    - MAX
    - qsort
    linkageType: ''
    returnType: void
    signature: 'static void merge_token_results (gboolean first) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:2210,1
    - Dst: G_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:2211,1
    - Dst: strcmp
      Src: /src/glib/gio/gdesktopappinfo.c:2217,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - appinfo1
    - appinfo2
    argTypes:
    - GAppInfo*
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 2218
      start: 2206
    functionDepth: 0
    functionLinenumber: 2206
    functionLinenumberEnd: 2218
    functionName: g_desktop_app_info_equal
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - G_DESKTOP_APP_INFO
    - strcmp
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_desktop_app_info_equal (GAppInfo *appinfo1, GAppInfo
      *appinfo2) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/glib/gio/gdesktopappinfo.c:3776,1
    - Dst: g_key_file_load_from_file
      Src: /src/glib/gio/gdesktopappinfo.c:3780,1
    - Dst: g_key_file_remove_key
      Src: /src/glib/gio/gdesktopappinfo.c:3820,1
    - Dst: g_key_file_set_string
      Src: /src/glib/gio/gdesktopappinfo.c:3825,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:3891,1
    - Dst: g_key_file_remove_key
      Src: /src/glib/gio/gdesktopappinfo.c:3894,1
    - Dst: g_key_file_get_string_list
      Src: /src/glib/gio/gdesktopappinfo.c:3922,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdesktopappinfo.c:3934,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:3913,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:3935,1
    - Dst: g_key_file_free
      Src: /src/glib/gio/gdesktopappinfo.c:3959,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:3967,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:3777,1
    - Dst: g_key_file_get_string
      Src: /src/glib/gio/gdesktopappinfo.c:3804,1
    - Dst: g_key_file_get_keys
      Src: /src/glib/gio/gdesktopappinfo.c:3798,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:3839,1
    - Dst: g_key_file_get_string_list
      Src: /src/glib/gio/gdesktopappinfo.c:3848,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdesktopappinfo.c:3869,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:3872,1
    - Dst: g_file_set_contents_full
      Src: /src/glib/gio/gdesktopappinfo.c:3961,1
    - Dst: g_new
      Src: /src/glib/gio/gdesktopappinfo.c:3851,1
    - Dst: g_key_file_set_string_list
      Src: /src/glib/gio/gdesktopappinfo.c:3899,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:3880,1
    - Dst: g_assert
      Src: /src/glib/gio/gdesktopappinfo.c:3769,1
    - Dst: ensure_dir
      Src: /src/glib/gio/gdesktopappinfo.c:3772,1
    - Dst: g_key_file_has_group
      Src: /src/glib/gio/gdesktopappinfo.c:3784,1
    - Dst: g_key_file_free
      Src: /src/glib/gio/gdesktopappinfo.c:3786,1
    - Dst: g_key_file_get_keys
      Src: /src/glib/gio/gdesktopappinfo.c:3840,1
    - Dst: g_key_file_get_keys
      Src: /src/glib/gio/gdesktopappinfo.c:3914,1
    - Dst: g_new
      Src: /src/glib/gio/gdesktopappinfo.c:3925,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:3929,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:3940,1
    - Dst: g_key_file_to_data
      Src: /src/glib/gio/gdesktopappinfo.c:3958,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:3862,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:3953,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:3968,1
    - Dst: g_key_file_remove_key
      Src: /src/glib/gio/gdesktopappinfo.c:3943,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:3904,1
    - Dst: g_key_file_new
      Src: /src/glib/gio/gdesktopappinfo.c:3779,1
    - Dst: g_key_file_has_group
      Src: /src/glib/gio/gdesktopappinfo.c:3782,1
    - Dst: g_key_file_has_group
      Src: /src/glib/gio/gdesktopappinfo.c:3783,1
    - Dst: g_new
      Src: /src/glib/gio/gdesktopappinfo.c:3792,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:3812,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:3813,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:3793,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdesktopappinfo.c:3809,1
    - Dst: g_key_file_new
      Src: /src/glib/gio/gdesktopappinfo.c:3787,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:3830,1
    - Dst: g_key_file_set_string_list
      Src: /src/glib/gio/gdesktopappinfo.c:3948,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:3887,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:3956,1
    - Dst: desktop_file_dirs_invalidate_user_config
      Src: /src/glib/gio/gdesktopappinfo.c:3965,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 154
    argCount: 4
    argNames:
    - desktop_id
    - content_type
    - flags
    - error
    argTypes:
    - char*
    - char*
    - UpdateMimeFlags
    - GError**
    constantsTouched: []
    func_position:
      end: 3971
      start: 3753
    functionDepth: 0
    functionLinenumber: 3753
    functionLinenumberEnd: 3971
    functionName: update_mimeapps_list
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_key_file_remove_key
    - g_key_file_load_from_file
    - g_key_file_to_data
    - g_key_file_has_group
    - g_strfreev
    - g_key_file_get_keys
    - g_build_filename
    - g_key_file_new
    - desktop_file_dirs_invalidate_user_config
    - g_strdup
    - g_new
    - g_key_file_set_string
    - g_strcmp0
    - g_key_file_get_string
    - g_key_file_free
    - g_assert
    - g_key_file_set_string_list
    - g_key_file_get_string_list
    - ensure_dir
    - g_free
    - g_file_set_contents_full
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean update_mimeapps_list (const char *desktop_id, const
      char *content_type, UpdateMimeFlags flags, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 722
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 722
    functionName: reset_total_search_results
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void reset_total_search_results (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:2223,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2226
      start: 2220
    functionDepth: 0
    functionLinenumber: 2220
    functionLinenumberEnd: 2226
    functionName: g_desktop_app_info_get_id
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - G_DESKTOP_APP_INFO
    linkageType: ''
    returnType: char*
    signature: 'static const char *g_desktop_app_info_get_id (GAppInfo *appinfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:2309,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2312
      start: 2306
    functionDepth: 0
    functionLinenumber: 2306
    functionLinenumberEnd: 2312
    functionName: g_desktop_app_info_get_icon
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - G_DESKTOP_APP_INFO
    linkageType: ''
    returnType: GIcon*
    signature: 'static GIcon *g_desktop_app_info_get_icon (GAppInfo *appinfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_object
      Src: /src/glib/gio/gdesktopappinfo.c:3374,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:3376,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gdesktopappinfo.c:3375,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - LaunchUrisData*
    constantsTouched: []
    func_position:
      end: 3377
      start: 3371
    functionDepth: 0
    functionLinenumber: 3371
    functionLinenumberEnd: 3377
    functionName: launch_uris_data_free
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - g_free
    - g_list_free_full
    linkageType: ''
    returnType: void
    signature: 'static void launch_uris_data_free (LaunchUrisData *data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:3978,1
    - Dst: update_mimeapps_list
      Src: /src/glib/gio/gdesktopappinfo.c:3991,1
    - Dst: _
      Src: /src/glib/gio/gdesktopappinfo.c:3986,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdesktopappinfo.c:3985,1
    - Dst: g_desktop_app_info_ensure_saved
      Src: /src/glib/gio/gdesktopappinfo.c:3980,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - appinfo
    - content_type
    - error
    argTypes:
    - GAppInfo*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 3995
      start: 3973
    functionDepth: 0
    functionLinenumber: 3973
    functionLinenumberEnd: 3995
    functionName: g_desktop_app_info_set_as_last_used_for_type
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_desktop_app_info_ensure_saved
    - update_mimeapps_list
    - G_DESKTOP_APP_INFO
    - g_set_error_literal
    - _
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_desktop_app_info_set_as_last_used_for_type (GAppInfo
      *appinfo, const char *content_type, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:4514,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gdesktopappinfo.c:4527,1
    - Dst: g_desktop_app_info_get_desktop_ids_for_content_type
      Src: /src/glib/gio/gdesktopappinfo.c:4516,1
    - Dst: g_desktop_app_info_new
      Src: /src/glib/gio/gdesktopappinfo.c:4533,1
    - Dst: g_desktop_app_info_get_desktop_ids_for_content_type
      Src: /src/glib/gio/gdesktopappinfo.c:4517,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gdesktopappinfo.c:4536,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:4539,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:4540,1
    - Dst: g_list_reverse
      Src: /src/glib/gio/gdesktopappinfo.c:4542,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4543
      start: 4506
    functionDepth: 0
    functionLinenumber: 4506
    functionLinenumberEnd: 4543
    functionName: g_app_info_get_fallback_for_type_impl
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_list_reverse
    - g_return_val_if_fail
    - g_desktop_app_info_get_desktop_ids_for_content_type
    - g_strfreev
    - g_list_prepend
    - g_desktop_app_info_new
    - g_str_equal
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_app_info_get_fallback_for_type_impl (const gchar *content_type) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_getenv
      Src: /src/glib/gio/gdesktopappinfo.c:334,1
    - Dst: g_ptr_array_new_full
      Src: /src/glib/gio/gdesktopappinfo.c:339,1
    - Dst: validate_xdg_desktop
      Src: /src/glib/gio/gdesktopappinfo.c:342,1
    - Dst: g_strv_length
      Src: /src/glib/gio/gdesktopappinfo.c:339,1
    - Dst: g_strsplit
      Src: /src/glib/gio/gdesktopappinfo.c:338,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdesktopappinfo.c:343,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:345,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdesktopappinfo.c:347,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:348,1
    - Dst: g_ptr_array_steal
      Src: /src/glib/gio/gdesktopappinfo.c:349,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/gdesktopappinfo.c:350,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 352
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 352
    functionName: get_valid_current_desktops
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_ptr_array_unref
    - g_strv_length
    - g_ptr_array_steal
    - g_getenv
    - g_ptr_array_new_full
    - validate_xdg_desktop
    - g_strsplit
    - g_free
    - g_ptr_array_add
    linkageType: ''
    returnType: char**
    signature: 'static char **get_valid_current_desktops (const char *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gdesktopappinfo.c:1399,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdesktopappinfo.c:1405,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:1402,1
    - Dst: g_atomic_ref_count_init
      Src: /src/glib/gio/gdesktopappinfo.c:1401,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1406
      start: 1396
    functionDepth: 0
    functionLinenumber: 1396
    functionLinenumberEnd: 1406
    functionName: desktop_file_dir_new_for_config
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_new0
    - g_strdup
    - g_atomic_ref_count_init
    linkageType: ''
    returnType: DesktopFileDir*
    signature: 'static DesktopFileDir *desktop_file_dir_new_for_config (const gchar
      *config_dir) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/gdesktopappinfo.c:1879,1
    - Dst: g_key_file_get_string
      Src: /src/glib/gio/gdesktopappinfo.c:1897,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1913,1
    - Dst: g_shell_parse_argv
      Src: /src/glib/gio/gdesktopappinfo.c:1927,1
    - Dst: g_key_file_get_locale_string
      Src: /src/glib/gio/gdesktopappinfo.c:1956,1
    - Dst: g_key_file_get_locale_string
      Src: /src/glib/gio/gdesktopappinfo.c:1958,1
    - Dst: g_key_file_get_locale_string
      Src: /src/glib/gio/gdesktopappinfo.c:1960,1
    - Dst: g_key_file_get_boolean
      Src: /src/glib/gio/gdesktopappinfo.c:1961,1
    - Dst: g_key_file_get_locale_string
      Src: /src/glib/gio/gdesktopappinfo.c:1962,1
    - Dst: strcmp
      Src: /src/glib/gio/gdesktopappinfo.c:2000,1
    - Dst: g_key_file_get_boolean
      Src: /src/glib/gio/gdesktopappinfo.c:1970,1
    - Dst: g_themed_icon_new
      Src: /src/glib/gio/gdesktopappinfo.c:2004,1
    - Dst: g_key_file_get_boolean
      Src: /src/glib/gio/gdesktopappinfo.c:1971,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gdesktopappinfo.c:2028,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdesktopappinfo.c:1991,1
    - Dst: g_key_file_get_string
      Src: /src/glib/gio/gdesktopappinfo.c:1886,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1892,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1895,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1930,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gdesktopappinfo.c:1909,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gdesktopappinfo.c:1942,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1948,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1949,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1952,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdesktopappinfo.c:1967,1
    - Dst: binary_from_exec
      Src: /src/glib/gio/gdesktopappinfo.c:2009,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:2013,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/gdesktopappinfo.c:1989,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:2036,1
    - Dst: g_desktop_app_info_get_desktop_id_for_filename
      Src: /src/glib/gio/gdesktopappinfo.c:2040,1
    - Dst: strrchr
      Src: /src/glib/gio/gdesktopappinfo.c:2026,1
    - Dst: g_key_file_get_string_list
      Src: /src/glib/gio/gdesktopappinfo.c:1974,1
    - Dst: g_key_file_get_string
      Src: /src/glib/gio/gdesktopappinfo.c:1973,1
    - Dst: g_key_file_get_start_group
      Src: /src/glib/gio/gdesktopappinfo.c:1878,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1881,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1884,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1912,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1931,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:1943,1
    - Dst: g_key_file_get_locale_string
      Src: /src/glib/gio/gdesktopappinfo.c:1957,1
    - Dst: g_key_file_get_locale_string_list
      Src: /src/glib/gio/gdesktopappinfo.c:1959,1
    - Dst: g_key_file_get_string_list
      Src: /src/glib/gio/gdesktopappinfo.c:1963,1
    - Dst: g_key_file_get_string
      Src: /src/glib/gio/gdesktopappinfo.c:1972,1
    - Dst: g_file_icon_new
      Src: /src/glib/gio/gdesktopappinfo.c:1990,1
    - Dst: g_path_is_absolute
      Src: /src/glib/gio/gdesktopappinfo.c:1985,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdesktopappinfo.c:2032,1
    - Dst: strcmp
      Src: /src/glib/gio/gdesktopappinfo.c:2001,1
    - Dst: g_key_file_get_string_list
      Src: /src/glib/gio/gdesktopappinfo.c:1964,1
    - Dst: g_key_file_get_string_list
      Src: /src/glib/gio/gdesktopappinfo.c:1976,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:2033,1
    - Dst: strrchr
      Src: /src/glib/gio/gdesktopappinfo.c:1998,1
    - Dst: strcmp
      Src: /src/glib/gio/gdesktopappinfo.c:1999,1
    - Dst: strcmp
      Src: /src/glib/gio/gdesktopappinfo.c:1890,1
    - Dst: g_key_file_get_string
      Src: /src/glib/gio/gdesktopappinfo.c:1901,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1916,1
    - Dst: g_key_file_get_string
      Src: /src/glib/gio/gdesktopappinfo.c:1919,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1929,1
    - Dst: g_assert
      Src: /src/glib/gio/gdesktopappinfo.c:1940,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1947,1
    - Dst: g_key_file_get_boolean
      Src: /src/glib/gio/gdesktopappinfo.c:1968,1
    - Dst: g_key_file_get_boolean
      Src: /src/glib/gio/gdesktopappinfo.c:1969,1
    - Dst: g_key_file_get_boolean
      Src: /src/glib/gio/gdesktopappinfo.c:1975,1
    - Dst: g_path_get_basename
      Src: /src/glib/gio/gdesktopappinfo.c:2025,1
    - Dst: g_key_file_ref
      Src: /src/glib/gio/gdesktopappinfo.c:2042,1
    - Dst: g_new0
      Src: /src/glib/gio/gdesktopappinfo.c:1980,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 160
    argCount: 2
    argNames:
    - info
    - key_file
    argTypes:
    - GDesktopAppInfo*
    - GKeyFile*
    constantsTouched: []
    func_position:
      end: 2045
      start: 1867
    functionDepth: 0
    functionLinenumber: 1867
    functionLinenumberEnd: 2045
    functionName: g_desktop_app_info_load_from_keyfile
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_path_get_basename
    - binary_from_exec
    - g_dbus_is_name
    - strrchr
    - strcmp
    - g_themed_icon_new
    - GLIB_PRIVATE_CALL
    - g_key_file_get_locale_string_list
    - g_object_unref
    - g_shell_parse_argv
    - g_key_file_get_locale_string
    - g_strfreev
    - g_file_new_for_path
    - g_strdup
    - g_desktop_app_info_get_desktop_id_for_filename
    - g_key_file_ref
    - g_key_file_get_start_group
    - g_file_icon_new
    - g_key_file_get_string
    - g_str_equal
    - g_key_file_get_boolean
    - g_assert
    - g_key_file_get_string_list
    - g_new0
    - g_free
    - g_path_is_absolute
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_desktop_app_info_load_from_keyfile (GDesktopAppInfo
      *info, GKeyFile *key_file) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_TASK
      Src: /src/glib/gio/gdesktopappinfo.c:3384,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gdesktopappinfo.c:3392,1
    - Dst: g_dbus_error_strip_remote_error
      Src: /src/glib/gio/gdesktopappinfo.c:3391,1
    - Dst: G_DBUS_CONNECTION
      Src: /src/glib/gio/gdesktopappinfo.c:3388,1
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/gdesktopappinfo.c:3388,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdesktopappinfo.c:3392,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gdesktopappinfo.c:3396,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdesktopappinfo.c:3397,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdesktopappinfo.c:3400,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 3401
      start: 3379
    functionDepth: 0
    functionLinenumber: 3379
    functionLinenumberEnd: 3401
    functionName: launch_uris_with_dbus_cb
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_steal_pointer
    - G_DBUS_CONNECTION
    - g_object_unref
    - g_dbus_connection_call_finish
    - g_variant_unref
    - G_TASK
    - g_dbus_error_strip_remote_error
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void launch_uris_with_dbus_cb (GObject *object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_str_tokenize_and_fold
      Src: /src/glib/gio/gdesktopappinfo.c:4748,1
    - Dst: desktop_file_dir_search
      Src: /src/glib/gio/gdesktopappinfo.c:4758,1
    - Dst: desktop_file_dirs_lock
      Src: /src/glib/gio/gdesktopappinfo.c:4750,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gdesktopappinfo.c:4758,1
    - Dst: reset_total_search_results
      Src: /src/glib/gio/gdesktopappinfo.c:4752,1
    - Dst: merge_token_results
      Src: /src/glib/gio/gdesktopappinfo.c:4759,1
    - Dst: merge_directory_results
      Src: /src/glib/gio/gdesktopappinfo.c:4761,1
    - Dst: sort_total_search_results
      Src: /src/glib/gio/gdesktopappinfo.c:4764,1
    - Dst: g_new
      Src: /src/glib/gio/gdesktopappinfo.c:4776,1
    - Dst: g_new
      Src: /src/glib/gio/gdesktopappinfo.c:4795,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:4797,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:4806,1
    - Dst: desktop_file_dirs_unlock
      Src: /src/glib/gio/gdesktopappinfo.c:4804,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4809
      start: 4736
    functionDepth: 0
    functionLinenumber: 4736
    functionLinenumberEnd: 4809
    functionName: g_desktop_app_info_search
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - desktop_file_dirs_lock
    - sort_total_search_results
    - g_strdup
    - g_new
    - reset_total_search_results
    - merge_directory_results
    - g_ptr_array_index
    - g_strfreev
    - merge_token_results
    - desktop_file_dirs_unlock
    - desktop_file_dir_search
    - g_str_tokenize_and_fold
    linkageType: ''
    returnType: gchar***
    signature: 'gchar ***g_desktop_app_info_search (const gchar *search_string) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter_pointer
      Src: /src/glib/gio/gdesktopappinfo.c:359,1
    - Dst: g_ascii_tolower
      Src: /src/glib/gio/gdesktopappinfo.c:368,1
    - Dst: g_once_init_leave_pointer
      Src: /src/glib/gio/gdesktopappinfo.c:371,1
    - Dst: get_valid_current_desktops
      Src: /src/glib/gio/gdesktopappinfo.c:361,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 375
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 375
    functionName: get_lowercase_current_desktops
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - get_valid_current_desktops
    - g_once_init_leave_pointer
    - g_once_init_enter_pointer
    - g_ascii_tolower
    linkageType: ''
    returnType: gchar**
    signature: 'static const gchar * const *get_lowercase_current_desktops (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:2053,1
    - Dst: g_key_file_unref
      Src: /src/glib/gio/gdesktopappinfo.c:2060,1
    - Dst: g_desktop_app_info_load_from_keyfile
      Src: /src/glib/gio/gdesktopappinfo.c:2058,1
    - Dst: g_key_file_new
      Src: /src/glib/gio/gdesktopappinfo.c:2055,1
    - Dst: g_key_file_load_from_file
      Src: /src/glib/gio/gdesktopappinfo.c:2057,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - self
    argTypes:
    - GDesktopAppInfo*
    constantsTouched: []
    func_position:
      end: 2062
      start: 2047
    functionDepth: 0
    functionLinenumber: 2047
    functionLinenumberEnd: 2062
    functionName: g_desktop_app_info_load_file
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_key_file_new
    - g_return_val_if_fail
    - g_key_file_load_from_file
    - g_desktop_app_info_load_from_keyfile
    - g_key_file_unref
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_desktop_app_info_load_file (GDesktopAppInfo *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_TASK
      Src: /src/glib/gio/gdesktopappinfo.c:3408,1
    - Dst: g_dbus_connection_flush_finish
      Src: /src/glib/gio/gdesktopappinfo.c:3410,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gdesktopappinfo.c:3411,1
    - Dst: G_DBUS_CONNECTION
      Src: /src/glib/gio/gdesktopappinfo.c:3410,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdesktopappinfo.c:3412,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 3413
      start: 3403
    functionDepth: 0
    functionLinenumber: 3403
    functionLinenumberEnd: 3413
    functionName: launch_uris_flush_cb
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - G_DBUS_CONNECTION
    - g_object_unref
    - g_dbus_connection_flush_finish
    - G_TASK
    linkageType: ''
    returnType: void
    signature: 'static void launch_uris_flush_cb (GObject *object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdesktopappinfo.c:4820,1
    - Dst: desktop_file_dir_get_all
      Src: /src/glib/gio/gdesktopappinfo.c:4825,1
    - Dst: desktop_file_dirs_lock
      Src: /src/glib/gio/gdesktopappinfo.c:4822,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gdesktopappinfo.c:4825,1
    - Dst: desktop_file_dirs_unlock
      Src: /src/glib/gio/gdesktopappinfo.c:4827,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gdesktopappinfo.c:4830,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gdesktopappinfo.c:4831,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gdesktopappinfo.c:4834,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/gio/gdesktopappinfo.c:4837,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4840
      start: 4811
    functionDepth: 0
    functionLinenumber: 4811
    functionLinenumberEnd: 4840
    functionName: g_app_info_get_all_impl
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - desktop_file_dirs_lock
    - g_hash_table_iter_init
    - g_hash_table_destroy
    - g_hash_table_new_full
    - desktop_file_dirs_unlock
    - g_list_prepend
    - g_ptr_array_index
    - desktop_file_dir_get_all
    - g_hash_table_iter_next
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_app_info_get_all_impl (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gdesktopappinfo.c:1379,1
    - Dst: g_build_filename
      Src: /src/glib/gio/gdesktopappinfo.c:1382,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdesktopappinfo.c:1384,1
    - Dst: g_atomic_ref_count_init
      Src: /src/glib/gio/gdesktopappinfo.c:1381,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1376
    functionDepth: 0
    functionLinenumber: 1376
    functionLinenumberEnd: 1385
    functionName: desktop_file_dir_new
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_new0
    - g_build_filename
    - g_atomic_ref_count_init
    linkageType: ''
    returnType: DesktopFileDir*
    signature: 'static DesktopFileDir *desktop_file_dir_new (const gchar *data_dir) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: desktop_file_dirs_lock
      Src: /src/glib/gio/gdesktopappinfo.c:2106,1
    - Dst: g_desktop_app_info_new_from_filename_unlocked
      Src: /src/glib/gio/gdesktopappinfo.c:2108,1
    - Dst: desktop_file_dirs_unlock
      Src: /src/glib/gio/gdesktopappinfo.c:2110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2113
      start: 2101
    functionDepth: 0
    functionLinenumber: 2101
    functionLinenumberEnd: 2113
    functionName: g_desktop_app_info_new_from_filename
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - desktop_file_dirs_lock
    - desktop_file_dirs_unlock
    - g_desktop_app_info_new_from_filename_unlocked
    linkageType: ''
    returnType: GDesktopAppInfo*
    signature: 'GDesktopAppInfo *g_desktop_app_info_new_from_filename (const char
      *filename) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gdesktopappinfo.c:2079,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdesktopappinfo.c:2085,1
    - Dst: desktop_file_dirs_unlock
      Src: /src/glib/gio/gdesktopappinfo.c:2087,1
    - Dst: desktop_file_dirs_lock
      Src: /src/glib/gio/gdesktopappinfo.c:2082,1
    - Dst: g_desktop_app_info_load_from_keyfile
      Src: /src/glib/gio/gdesktopappinfo.c:2084,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2090
      start: 2074
    functionDepth: 0
    functionLinenumber: 2074
    functionLinenumberEnd: 2090
    functionName: g_desktop_app_info_new_from_keyfile
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - desktop_file_dirs_lock
    - g_object_new
    - g_clear_object
    - g_desktop_app_info_load_from_keyfile
    - desktop_file_dirs_unlock
    linkageType: ''
    returnType: GDesktopAppInfo*
    signature: 'GDesktopAppInfo *g_desktop_app_info_new_from_keyfile (GKeyFile *key_file) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: desktop_file_dirs_lock
      Src: /src/glib/gio/gdesktopappinfo.c:2140,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gdesktopappinfo.c:2144,1
    - Dst: desktop_file_dirs_unlock
      Src: /src/glib/gio/gdesktopappinfo.c:2150,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:2155,1
    - Dst: desktop_file_dir_get_app
      Src: /src/glib/gio/gdesktopappinfo.c:2144,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:2156,1
    - Dst: g_desktop_app_info_get_is_hidden
      Src: /src/glib/gio/gdesktopappinfo.c:2158,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdesktopappinfo.c:2160,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2165
      start: 2134
    functionDepth: 0
    functionLinenumber: 2134
    functionLinenumberEnd: 2165
    functionName: g_desktop_app_info_new
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - desktop_file_dir_get_app
    - desktop_file_dirs_lock
    - g_strdup
    - g_object_unref
    - g_desktop_app_info_get_is_hidden
    - g_ptr_array_index
    - desktop_file_dirs_unlock
    - g_free
    linkageType: ''
    returnType: GDesktopAppInfo*
    signature: 'GDesktopAppInfo *g_desktop_app_info_new (const char *desktop_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:2231,1
    - Dst: _
      Src: /src/glib/gio/gdesktopappinfo.c:2234,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2236
      start: 2228
    functionDepth: 0
    functionLinenumber: 2228
    functionLinenumberEnd: 2236
    functionName: g_desktop_app_info_get_name
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - _
    - G_DESKTOP_APP_INFO
    linkageType: ''
    returnType: char*
    signature: 'static const char *g_desktop_app_info_get_name (GAppInfo *appinfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdesktopappinfo.c:2650,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdesktopappinfo.c:2665,1
    - Dst: expand_macro
      Src: /src/glib/gio/gdesktopappinfo.c:2661,1
    - Dst: g_string_new
      Src: /src/glib/gio/gdesktopappinfo.c:2655,1
    - Dst: _
      Src: /src/glib/gio/gdesktopappinfo.c:2651,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdesktopappinfo.c:2674,1
    - Dst: expand_macro
      Src: /src/glib/gio/gdesktopappinfo.c:2675,1
    - Dst: g_shell_parse_argv
      Src: /src/glib/gio/gdesktopappinfo.c:2678,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdesktopappinfo.c:2679,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 23
    argCount: 6
    argNames:
    - info
    - exec_line
    - uris
    - argc
    - argv
    - error
    argTypes:
    - GDesktopAppInfo*
    - gchar*
    - GList**
    - int*
    - char***
    - GError**
    constantsTouched: []
    func_position:
      end: 2681
      start: 2635
    functionDepth: 0
    functionLinenumber: 2635
    functionLinenumberEnd: 2681
    functionName: expand_application_parameters
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - expand_macro
    - g_string_append_c
    - g_shell_parse_argv
    - g_set_error_literal
    - g_string_free
    - g_string_new
    - _
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean expand_application_parameters (GDesktopAppInfo *info,
      const gchar *exec_line, GList **uris, int *argc, char ***argv, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:2170,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:2175,1
    - Dst: G_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:2201,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:2182,1
    - Dst: g_strdupv
      Src: /src/glib/gio/gdesktopappinfo.c:2184,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:2194,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:2196,1
    - Dst: g_strdupv
      Src: /src/glib/gio/gdesktopappinfo.c:2190,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:2192,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:2176,1
    - Dst: g_key_file_ref
      Src: /src/glib/gio/gdesktopappinfo.c:2179,1
    - Dst: g_object_new
      Src: /src/glib/gio/gdesktopappinfo.c:2173,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdesktopappinfo.c:2189,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:2187,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:2181,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:2183,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:2185,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:2195,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:2193,1
    - Dst: g_strdupv
      Src: /src/glib/gio/gdesktopappinfo.c:2191,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2202
      start: 2167
    functionDepth: 0
    functionLinenumber: 2167
    functionLinenumberEnd: 2202
    functionName: g_desktop_app_info_dup
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_strdupv
    - g_object_new
    - G_DESKTOP_APP_INFO
    - g_key_file_ref
    - g_object_ref
    - G_APP_INFO
    linkageType: ''
    returnType: GAppInfo*
    signature: 'static GAppInfo *g_desktop_app_info_dup (GAppInfo *appinfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:2241,1
    - Dst: g_desktop_app_info_get_name
      Src: /src/glib/gio/gdesktopappinfo.c:2244,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2246
      start: 2238
    functionDepth: 0
    functionLinenumber: 2238
    functionLinenumberEnd: 2246
    functionName: g_desktop_app_info_get_display_name
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - G_DESKTOP_APP_INFO
    - g_desktop_app_info_get_name
    linkageType: ''
    returnType: char*
    signature: 'static const char *g_desktop_app_info_get_display_name (GAppInfo *appinfo) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:2715,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:2716,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/gdesktopappinfo.c:2731,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gdesktopappinfo.c:2733,1
    - Dst: g_debug
      Src: /src/glib/gio/gdesktopappinfo.c:2744,1
    - Dst: g_new
      Src: /src/glib/gio/gdesktopappinfo.c:2752,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:2758,1
    - Dst: g_assert
      Src: /src/glib/gio/gdesktopappinfo.c:2760,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:2766,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 45
    argCount: 4
    argNames:
    - argc
    - argv
    - path
    - working_dir
    argTypes:
    - int*
    - char***
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2774
      start: 2683
    functionDepth: 0
    functionLinenumber: 2683
    functionLinenumberEnd: 2774
    functionName: prepend_terminal_to_vector
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_strdup
    - g_new
    - G_N_ELEMENTS
    - g_assert
    - g_debug
    - GLIB_PRIVATE_CALL
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean prepend_terminal_to_vector (int *argc, char ***argv,
      const char *path, const char *working_dir) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:5070,1
    - Dst: G_IS_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:5070,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5073
      start: 5067
    functionDepth: 0
    functionLinenumber: 5067
    functionLinenumberEnd: 5073
    functionName: g_desktop_app_info_list_actions
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DESKTOP_APP_INFO
    linkageType: ''
    returnType: gchar**
    signature: 'const gchar * const *g_desktop_app_info_list_actions (GDesktopAppInfo
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:5043,1
    - Dst: g_key_file_has_key
      Src: /src/glib/gio/gdesktopappinfo.c:5045,1
    - Dst: G_IS_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:5043,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - info
    - key
    argTypes:
    - GDesktopAppInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 5047
      start: 5039
    functionDepth: 0
    functionLinenumber: 5039
    functionLinenumberEnd: 5047
    functionName: g_desktop_app_info_has_key
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_key_file_has_key
    - G_IS_DESKTOP_APP_INFO
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_desktop_app_info_has_key (GDesktopAppInfo *info, const
      char *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_ref_count_inc
      Src: /src/glib/gio/gdesktopappinfo.c:169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: desktop_file_dir_ref
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_atomic_ref_count_inc
    linkageType: ''
    returnType: DesktopFileDir*
    signature: 'static DesktopFileDir *desktop_file_dir_ref (DesktopFileDir *dir) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_access
      Src: /src/glib/gio/gdesktopappinfo.c:206,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gdesktopappinfo.c:219,1
    - Dst: g_access
      Src: /src/glib/gio/gdesktopappinfo.c:212,1
    - Dst: g_path_get_dirname
      Src: /src/glib/gio/gdesktopappinfo.c:216,1
    - Dst: g_path_get_dirname
      Src: /src/glib/gio/gdesktopappinfo.c:210,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:221,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:225,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 229
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 229
    functionName: desktop_file_dir_get_alternative_dir
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_access
    - g_path_get_dirname
    - g_free
    - g_str_equal
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *desktop_file_dir_get_alternative_dir (DesktopFileDir
      *dir) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdesktopappinfo.c:985,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdesktopappinfo.c:997,1
    - Dst: get_lowercase_current_desktops
      Src: /src/glib/gio/gdesktopappinfo.c:994,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:999,1
    - Dst: desktop_file_dir_unindexed_read_mimeapps_list
      Src: /src/glib/gio/gdesktopappinfo.c:998,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdesktopappinfo.c:1003,1
    - Dst: desktop_file_dir_unindexed_read_mimeapps_list
      Src: /src/glib/gio/gdesktopappinfo.c:1004,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1005,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdesktopappinfo.c:1018,1
    - Dst: desktop_file_dir_unindexed_read_mimeapps_list
      Src: /src/glib/gio/gdesktopappinfo.c:1019,1
    - Dst: desktop_file_dir_unindexed_read_mimeapps_list
      Src: /src/glib/gio/gdesktopappinfo.c:1026,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdesktopappinfo.c:1025,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1027,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1020,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - dir
    argTypes:
    - DesktopFileDir*
    constantsTouched: []
    func_position:
      end: 1028
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 1028
    functionName: desktop_file_dir_unindexed_read_mimeapps_lists
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - get_lowercase_current_desktops
    - g_hash_table_new_full
    - desktop_file_dir_unindexed_read_mimeapps_list
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void desktop_file_dir_unindexed_read_mimeapps_lists (DesktopFileDir
      *dir) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - info
    argTypes:
    - GDesktopAppInfo*
    constantsTouched: []
    func_position:
      end: 2380
      start: 2376
    functionDepth: 0
    functionLinenumber: 2376
    functionLinenumberEnd: 2380
    functionName: g_desktop_app_info_get_nodisplay
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_desktop_app_info_get_nodisplay (GDesktopAppInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_builder_init_static
      Src: /src/glib/gio/gdesktopappinfo.c:2868,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gdesktopappinfo.c:2872,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gdesktopappinfo.c:2871,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdesktopappinfo.c:2872,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gdesktopappinfo.c:2869,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gdesktopappinfo.c:2874,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdesktopappinfo.c:2875,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - context
    - info
    - startup_id
    argTypes:
    - GAppLaunchContext*
    - GDesktopAppInfo*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2876
      start: 2858
    functionDepth: 0
    functionLinenumber: 2858
    functionLinenumberEnd: 2876
    functionName: emit_launch_started
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - g_variant_builder_init_static
    - g_signal_emit_by_name
    - g_variant_new_string
    - g_clear_pointer
    - g_variant_builder_end
    - g_variant_builder_add
    linkageType: ''
    returnType: void
    signature: 'static void emit_launch_started (GAppLaunchContext *context, GDesktopAppInfo
      *info, const gchar *startup_id) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:4002,1
    - Dst: _
      Src: /src/glib/gio/gdesktopappinfo.c:4010,1
    - Dst: g_desktop_app_info_ensure_saved
      Src: /src/glib/gio/gdesktopappinfo.c:4004,1
    - Dst: update_mimeapps_list
      Src: /src/glib/gio/gdesktopappinfo.c:4014,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdesktopappinfo.c:4009,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - appinfo
    - content_type
    - error
    argTypes:
    - GAppInfo*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 4017
      start: 3997
    functionDepth: 0
    functionLinenumber: 3997
    functionLinenumberEnd: 4017
    functionName: g_desktop_app_info_set_as_default_for_type
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_desktop_app_info_ensure_saved
    - update_mimeapps_list
    - G_DESKTOP_APP_INFO
    - g_set_error_literal
    - _
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_desktop_app_info_set_as_default_for_type (GAppInfo
      *appinfo, const char *content_type, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:4130,1
    - Dst: g_desktop_app_info_ensure_saved
      Src: /src/glib/gio/gdesktopappinfo.c:4132,1
    - Dst: G_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:4132,1
    - Dst: update_mimeapps_list
      Src: /src/glib/gio/gdesktopappinfo.c:4135,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - appinfo
    - content_type
    - error
    argTypes:
    - GAppInfo*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 4138
      start: 4125
    functionDepth: 0
    functionLinenumber: 4125
    functionLinenumberEnd: 4138
    functionName: g_desktop_app_info_add_supports_type
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_desktop_app_info_ensure_saved
    - G_DESKTOP_APP_INFO
    - update_mimeapps_list
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_desktop_app_info_add_supports_type (GAppInfo *appinfo,
      const char *content_type, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:4151,1
    - Dst: G_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:4153,1
    - Dst: update_mimeapps_list
      Src: /src/glib/gio/gdesktopappinfo.c:4156,1
    - Dst: g_desktop_app_info_ensure_saved
      Src: /src/glib/gio/gdesktopappinfo.c:4153,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - appinfo
    - content_type
    - error
    argTypes:
    - GAppInfo*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 4159
      start: 4146
    functionDepth: 0
    functionLinenumber: 4146
    functionLinenumberEnd: 4159
    functionName: g_desktop_app_info_remove_supports_type
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_desktop_app_info_ensure_saved
    - G_DESKTOP_APP_INFO
    - update_mimeapps_list
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_desktop_app_info_remove_supports_type (GAppInfo
      *appinfo, const char *content_type, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdesktopappinfo.c:252,1
    - Dst: desktop_file_dir_get_alternative_dir
      Src: /src/glib/gio/gdesktopappinfo.c:258,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gdesktopappinfo.c:259,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:260,1
    - Dst: desktop_file_dir_reset
      Src: /src/glib/gio/gdesktopappinfo.c:264,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdesktopappinfo.c:266,1
    - Dst: g_app_info_monitor_fire
      Src: /src/glib/gio/gdesktopappinfo.c:270,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 5
    argNames:
    - monitor
    - file
    - other_file
    - event_type
    - user_data
    argTypes:
    - GFileMonitor*
    - GFile*
    - GFile*
    - GFileMonitorEvent
    - gpointer
    constantsTouched: []
    func_position:
      end: 271
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 271
    functionName: desktop_file_dir_changed
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - desktop_file_dir_reset
    - g_mutex_unlock
    - g_mutex_lock
    - g_app_info_monitor_fire
    - g_free
    - desktop_file_dir_get_alternative_dir
    - g_str_equal
    linkageType: ''
    returnType: void
    signature: 'static void desktop_file_dir_changed (GFileMonitor *monitor, GFile
      *file, GFile *other_file, GFileMonitorEvent event_type, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_ref_count_dec
      Src: /src/glib/gio/gdesktopappinfo.c:177,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:180,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:181,1
    - Dst: desktop_file_dir_reset
      Src: /src/glib/gio/gdesktopappinfo.c:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - dir
    argTypes:
    - DesktopFileDir*
    constantsTouched: []
    func_position:
      end: 183
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 183
    functionName: desktop_file_dir_unref
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_free
    - desktop_file_dir_reset
    - g_atomic_ref_count_dec
    linkageType: ''
    returnType: void
    signature: 'static void desktop_file_dir_unref (DesktopFileDir *dir) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_apps_from_dir
      Src: /src/glib/gio/gdesktopappinfo.c:1034,1
    - Dst: desktop_file_dir_unindexed_read_mimeapps_lists
      Src: /src/glib/gio/gdesktopappinfo.c:1036,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - dir
    argTypes:
    - DesktopFileDir*
    constantsTouched: []
    func_position:
      end: 1037
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1037
    functionName: desktop_file_dir_unindexed_init
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - desktop_file_dir_unindexed_read_mimeapps_lists
    - get_apps_from_dir
    linkageType: ''
    returnType: void
    signature: 'static void desktop_file_dir_unindexed_init (DesktopFileDir *dir) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/gio/gdesktopappinfo.c:4025,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - pid
    - status
    - data
    argTypes:
    - GPid
    - gint
    - gpointer
    constantsTouched: []
    func_position:
      end: 4029
      start: 4019
    functionDepth: 0
    functionLinenumber: 4019
    functionLinenumberEnd: 4029
    functionName: update_program_done
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_spawn_check_wait_status
    linkageType: ''
    returnType: void
    signature: 'static void update_program_done (GPid pid, gint status, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 4144
      start: 4140
    functionDepth: 0
    functionLinenumber: 4140
    functionLinenumberEnd: 4144
    functionName: g_desktop_app_info_can_remove_supports_type
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_desktop_app_info_can_remove_supports_type (GAppInfo
      *appinfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:4164,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4167
      start: 4161
    functionDepth: 0
    functionLinenumber: 4161
    functionLinenumberEnd: 4167
    functionName: g_desktop_app_info_get_supported_types
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - G_DESKTOP_APP_INFO
    linkageType: ''
    returnType: char**
    signature: 'static const char **g_desktop_app_info_get_supported_types (GAppInfo
      *appinfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:4552,1
    - Dst: g_desktop_app_info_get_desktop_ids_for_content_type
      Src: /src/glib/gio/gdesktopappinfo.c:4554,1
    - Dst: g_desktop_app_info_new
      Src: /src/glib/gio/gdesktopappinfo.c:4561,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:4566,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gdesktopappinfo.c:4563,1
    - Dst: g_list_reverse
      Src: /src/glib/gio/gdesktopappinfo.c:4568,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4569
      start: 4545
    functionDepth: 0
    functionLinenumber: 4545
    functionLinenumberEnd: 4569
    functionName: g_app_info_get_all_for_type_impl
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_list_reverse
    - g_return_val_if_fail
    - g_desktop_app_info_get_desktop_ids_for_content_type
    - g_strfreev
    - g_list_prepend
    - g_desktop_app_info_new
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_app_info_get_all_for_type_impl (const char *content_type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_isalnum
      Src: /src/glib/gio/gdesktopappinfo.c:317,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - desktop
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 324
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 324
    functionName: validate_xdg_desktop
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_ascii_isalnum
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean validate_xdg_desktop (const gchar *desktop) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2361
      start: 2357
    functionDepth: 0
    functionLinenumber: 2357
    functionLinenumberEnd: 2361
    functionName: g_desktop_app_info_get_generic_name
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *g_desktop_app_info_get_generic_name (GDesktopAppInfo *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdesktopappinfo.c:1340,1
    - Dst: array_contains
      Src: /src/glib/gio/gdesktopappinfo.c:1349,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdesktopappinfo.c:1350,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 3
    argNames:
    - dir
    - mime_type
    - results
    argTypes:
    - DesktopFileDir*
    - gchar*
    - GPtrArray*
    constantsTouched: []
    func_position:
      end: 1352
      start: 1332
    functionDepth: 0
    functionLinenumber: 1332
    functionLinenumberEnd: 1352
    functionName: desktop_file_dir_unindexed_default_lookup
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - array_contains
    - g_hash_table_lookup
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void desktop_file_dir_unindexed_default_lookup (DesktopFileDir
      *dir, const gchar *mime_type, GPtrArray *results) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ensure_dir
      Src: /src/glib/gio/gdesktopappinfo.c:4191,1
    - Dst: g_key_file_set_string
      Src: /src/glib/gio/gdesktopappinfo.c:4197,1
    - Dst: g_key_file_set_string
      Src: /src/glib/gio/gdesktopappinfo.c:4199,1
    - Dst: g_key_file_set_boolean
      Src: /src/glib/gio/gdesktopappinfo.c:4208,1
    - Dst: g_key_file_set_string
      Src: /src/glib/gio/gdesktopappinfo.c:4222,1
    - Dst: g_key_file_free
      Src: /src/glib/gio/gdesktopappinfo.c:4232,1
    - Dst: g_key_file_set_boolean
      Src: /src/glib/gio/gdesktopappinfo.c:4228,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:4237,1
    - Dst: g_filename_display_name
      Src: /src/glib/gio/gdesktopappinfo.c:4244,1
    - Dst: _
      Src: /src/glib/gio/gdesktopappinfo.c:4246,1
    - Dst: run_update_command
      Src: /src/glib/gio/gdesktopappinfo.c:4272,1
    - Dst: g_key_file_to_data
      Src: /src/glib/gio/gdesktopappinfo.c:4231,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdesktopappinfo.c:4245,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:4249,1
    - Dst: desktop_file_dirs_invalidate_user_data
      Src: /src/glib/gio/gdesktopappinfo.c:4281,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:4264,1
    - Dst: g_key_file_new
      Src: /src/glib/gio/gdesktopappinfo.c:4195,1
    - Dst: g_key_file_set_boolean
      Src: /src/glib/gio/gdesktopappinfo.c:4205,1
    - Dst: g_key_file_set_string
      Src: /src/glib/gio/gdesktopappinfo.c:4218,1
    - Dst: g_build_filename
      Src: /src/glib/gio/gdesktopappinfo.c:4235,1
    - Dst: g_close
      Src: /src/glib/gio/gdesktopappinfo.c:4256,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:4261,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:4265,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:4248,1
    - Dst: g_key_file_set_string
      Src: /src/glib/gio/gdesktopappinfo.c:4201,1
    - Dst: g_key_file_set_string
      Src: /src/glib/gio/gdesktopappinfo.c:4211,1
    - Dst: g_key_file_set_string
      Src: /src/glib/gio/gdesktopappinfo.c:4214,1
    - Dst: g_key_file_set_string
      Src: /src/glib/gio/gdesktopappinfo.c:4225,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:4236,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdesktopappinfo.c:4234,1
    - Dst: g_mkstemp
      Src: /src/glib/gio/gdesktopappinfo.c:4239,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:4247,1
    - Dst: g_file_set_contents_full
      Src: /src/glib/gio/gdesktopappinfo.c:4258,1
    - Dst: g_path_get_basename
      Src: /src/glib/gio/gdesktopappinfo.c:4253,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 55
    argCount: 2
    argNames:
    - info
    - error
    argTypes:
    - GDesktopAppInfo*
    - GError**
    constantsTouched: []
    func_position:
      end: 4284
      start: 4171
    functionDepth: 0
    functionLinenumber: 4171
    functionLinenumberEnd: 4284
    functionName: g_desktop_app_info_ensure_saved
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_key_file_new
    - g_key_file_free
    - g_set_error
    - g_strdup_printf
    - g_path_get_basename
    - run_update_command
    - g_key_file_set_string
    - g_key_file_set_boolean
    - g_free
    - g_mkstemp
    - g_close
    - desktop_file_dirs_invalidate_user_data
    - g_filename_display_name
    - g_build_filename
    - _
    - ensure_dir
    - g_key_file_to_data
    - g_file_set_contents_full
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_desktop_app_info_ensure_saved (GDesktopAppInfo *info,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:4893,1
    - Dst: G_IS_DESKTOP_APP_INFO_LOOKUP
      Src: /src/glib/gio/gdesktopappinfo.c:4893,1
    - Dst: G_DESKTOP_APP_INFO_LOOKUP_GET_IFACE
      Src: /src/glib/gio/gdesktopappinfo.c:4895,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4898
      start: 4887
    functionDepth: 0
    functionLinenumber: 4887
    functionLinenumberEnd: 4898
    functionName: g_desktop_app_info_lookup_get_default_for_uri_scheme
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - G_DESKTOP_APP_INFO_LOOKUP_GET_IFACE
    - g_return_val_if_fail
    - G_IS_DESKTOP_APP_INFO_LOOKUP
    linkageType: ''
    returnType: GAppInfo*
    signature: 'GAppInfo *g_desktop_app_info_lookup_get_default_for_uri_scheme (GDesktopAppInfoLookup
      *lookup, const char *uri_scheme) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: desktop_file_dir_unindexed_setup_search
      Src: /src/glib/gio/gdesktopappinfo.c:1362,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdesktopappinfo.c:1364,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gdesktopappinfo.c:1365,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:1365,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - dir
    - results
    - interface
    argTypes:
    - DesktopFileDir*
    - GList**
    - gchar*
    constantsTouched: []
    func_position:
      end: 1366
      start: 1354
    functionDepth: 0
    functionLinenumber: 1354
    functionLinenumberEnd: 1366
    functionName: desktop_file_dir_unindexed_get_implementations
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - desktop_file_dir_unindexed_setup_search
    - g_strdup
    - g_hash_table_lookup
    - g_list_prepend
    linkageType: ''
    returnType: void
    signature: 'static void desktop_file_dir_unindexed_get_implementations (DesktopFileDir
      *dir, GList **results, const gchar *interface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:4289,1
    - Dst: strstr
      Src: /src/glib/gio/gdesktopappinfo.c:4293,1
    - Dst: g_access
      Src: /src/glib/gio/gdesktopappinfo.c:4294,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 4298
      start: 4286
    functionDepth: 0
    functionLinenumber: 4286
    functionLinenumberEnd: 4298
    functionName: g_desktop_app_info_can_delete
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_access
    - G_DESKTOP_APP_INFO
    - strstr
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_desktop_app_info_can_delete (GAppInfo *appinfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:4920,1
    - Dst: G_IS_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:4920,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4923
      start: 4900
    functionDepth: 0
    functionLinenumber: 4900
    functionLinenumberEnd: 4923
    functionName: g_desktop_app_info_get_startup_wm_class
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DESKTOP_APP_INFO
    linkageType: ''
    returnType: G_GNUC_END_IGNORE_DEPRECATIONS*
    signature: 'G_GNUC_END_IGNORE_DEPRECATIONS /* Misc getter APIs {{{2 */ /** * g_desktop_app_info_get_startup_wm_class:
      * @info: a [class@Gio.DesktopAppInfo] that supports startup notify * * Retrieves
      the `StartupWMClass` field from @info. This represents the * `WM_CLASS` property
      of the main window of the application, if launched * through @info. * * Returns:
      (nullable) (transfer none): the startup WM class, or `NULL` if none * is set
      in the desktop file. * * Since: 2.34 */ const char *g_desktop_app_info_get_startup_wm_class
      (GDesktopAppInfo *info) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:5164,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:5165,1
    - Dst: app_info_has_action
      Src: /src/glib/gio/gdesktopappinfo.c:5166,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:5166,1
    - Dst: G_IS_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:5164,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/gdesktopappinfo.c:5168,1
    - Dst: object_path_from_appid
      Src: /src/glib/gio/gdesktopappinfo.c:5174,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/gdesktopappinfo.c:5175,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdesktopappinfo.c:5177,1
    - Dst: g_desktop_app_info_make_platform_data
      Src: /src/glib/gio/gdesktopappinfo.c:5178,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:5189,1
    - Dst: g_desktop_app_info_launch_uris_with_spawn
      Src: /src/glib/gio/gdesktopappinfo.c:5192,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:5180,1
    - Dst: g_dbus_connection_flush
      Src: /src/glib/gio/gdesktopappinfo.c:5201,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdesktopappinfo.c:5202,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:5196,1
    - Dst: g_key_file_get_string
      Src: /src/glib/gio/gdesktopappinfo.c:5188,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdesktopappinfo.c:5187,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 3
    argNames:
    - info
    - action_name
    - launch_context
    argTypes:
    - GDesktopAppInfo*
    - gchar*
    - GAppLaunchContext*
    constantsTouched: []
    func_position:
      end: 5204
      start: 5157
    functionDepth: 0
    functionLinenumber: 5157
    functionLinenumberEnd: 5204
    functionName: g_desktop_app_info_launch_action
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_key_file_get_string
    - g_dbus_connection_call
    - g_dbus_connection_flush
    - G_IS_DESKTOP_APP_INFO
    - g_strdup_printf
    - g_object_unref
    - g_return_if_fail
    - g_desktop_app_info_launch_uris_with_spawn
    - g_variant_new
    - g_bus_get_sync
    - object_path_from_appid
    - g_desktop_app_info_make_platform_data
    - g_free
    - app_info_has_action
    linkageType: ''
    returnType: void
    signature: 'void g_desktop_app_info_launch_action (GDesktopAppInfo *info, const
      gchar *action_name, GAppLaunchContext *launch_context) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gdesktopappinfo.c:490,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 492
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 492
    functionName: desktop_key_get_name
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *desktop_key_get_name (guint key_id) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1227,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gdesktopappinfo.c:1177,1
    - Dst: g_key_file_load_from_file
      Src: /src/glib/gio/gdesktopappinfo.c:1187,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/gdesktopappinfo.c:1194,1
    - Dst: strcspn
      Src: /src/glib/gio/gdesktopappinfo.c:1212,1
    - Dst: strrchr
      Src: /src/glib/gio/gdesktopappinfo.c:1216,1
    - Dst: g_key_file_free
      Src: /src/glib/gio/gdesktopappinfo.c:1237,1
    - Dst: memory_index_new
      Src: /src/glib/gio/gdesktopappinfo.c:1171,1
    - Dst: g_key_file_new
      Src: /src/glib/gio/gdesktopappinfo.c:1185,1
    - Dst: g_key_file_get_boolean
      Src: /src/glib/gio/gdesktopappinfo.c:1188,1
    - Dst: g_key_file_get_string_list
      Src: /src/glib/gio/gdesktopappinfo.c:1231,1
    - Dst: memory_index_add_token
      Src: /src/glib/gio/gdesktopappinfo.c:1233,1
    - Dst: g_strv_contains
      Src: /src/glib/gio/gdesktopappinfo.c:1220,1
    - Dst: memory_index_new
      Src: /src/glib/gio/gdesktopappinfo.c:1170,1
    - Dst: desktop_file_dir_app_name_is_masked
      Src: /src/glib/gio/gdesktopappinfo.c:1182,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gdesktopappinfo.c:1178,1
    - Dst: g_key_file_get_locale_string
      Src: /src/glib/gio/gdesktopappinfo.c:1202,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:1234,1
    - Dst: memory_index_add_string
      Src: /src/glib/gio/gdesktopappinfo.c:1225,1
    - Dst: desktop_key_get_name
      Src: /src/glib/gio/gdesktopappinfo.c:1202,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 49
    argCount: 1
    argNames:
    - dir
    argTypes:
    - DesktopFileDir*
    constantsTouched: []
    func_position:
      end: 1239
      start: 1164
    functionDepth: 0
    functionLinenumber: 1164
    functionLinenumberEnd: 1239
    functionName: desktop_file_dir_unindexed_setup_search
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - strrchr
    - g_strv_contains
    - g_key_file_load_from_file
    - memory_index_add_token
    - desktop_key_get_name
    - memory_index_new
    - G_N_ELEMENTS
    - g_key_file_get_locale_string
    - g_strfreev
    - memory_index_add_string
    - strcspn
    - g_key_file_new
    - g_hash_table_iter_next
    - g_key_file_free
    - g_hash_table_iter_init
    - g_key_file_get_boolean
    - g_key_file_get_string_list
    - desktop_file_dir_app_name_is_masked
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void desktop_file_dir_unindexed_setup_search (DesktopFileDir
      *dir) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: desktop_file_dir_unindexed_get_implementations
      Src: /src/glib/gio/gdesktopappinfo.c:1600,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - dir
    - results
    - interface
    argTypes:
    - DesktopFileDir*
    - GList**
    - gchar*
    constantsTouched: []
    func_position:
      end: 1601
      start: 1595
    functionDepth: 0
    functionLinenumber: 1595
    functionLinenumberEnd: 1601
    functionName: desktop_file_dir_get_implementations
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - desktop_file_dir_unindexed_get_implementations
    linkageType: ''
    returnType: void
    signature: 'static void desktop_file_dir_get_implementations (DesktopFileDir *dir,
      GList **results, const gchar *interface) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: g_list_prepend
      Src: /src/glib/gio/gdesktopappinfo.c:2933,1
    - Dst: expand_application_parameters
      Src: /src/glib/gio/gdesktopappinfo.c:2927,1
    - Dst: create_files_for_uris
      Src: /src/glib/gio/gdesktopappinfo.c:2954,1
    - Dst: g_environ_setenv
      Src: /src/glib/gio/gdesktopappinfo.c:2963,1
    - Dst: g_environ_setenv
      Src: /src/glib/gio/gdesktopappinfo.c:2946,1
    - Dst: g_file_test
      Src: /src/glib/gio/gdesktopappinfo.c:2977,1
    - Dst: _
      Src: /src/glib/gio/gdesktopappinfo.c:3001,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdesktopappinfo.c:3005,1
    - Dst: g_app_launch_context_launch_failed
      Src: /src/glib/gio/gdesktopappinfo.c:3055,1
    - Dst: g_list_free
      Src: /src/glib/gio/gdesktopappinfo.c:3058,1
    - Dst: g_variant_builder_init_static
      Src: /src/glib/gio/gdesktopappinfo.c:3072,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdesktopappinfo.c:3076,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdesktopappinfo.c:3078,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:3099,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:3088,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:3057,1
    - Dst: g_app_launch_context_get_environment
      Src: /src/glib/gio/gdesktopappinfo.c:2908,1
    - Dst: g_app_launch_context_get_startup_notify_id
      Src: /src/glib/gio/gdesktopappinfo.c:2958,1
    - Dst: g_path_is_absolute
      Src: /src/glib/gio/gdesktopappinfo.c:2975,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdesktopappinfo.c:3000,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:3004,1
    - Dst: g_clear_list
      Src: /src/glib/gio/gdesktopappinfo.c:3006,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:3010,1
    - Dst: g_once_init_enter_pointer
      Src: /src/glib/gio/gdesktopappinfo.c:3013,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gdesktopappinfo.c:3016,1
    - Dst: g_getenv
      Src: /src/glib/gio/gdesktopappinfo.c:3020,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:3039,1
    - Dst: g_variant_new_int32
      Src: /src/glib/gio/gdesktopappinfo.c:3073,1
    - Dst: notify_desktop_launch
      Src: /src/glib/gio/gdesktopappinfo.c:3081,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:3100,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gdesktopappinfo.c:3077,1
    - Dst: g_once_init_leave_pointer
      Src: /src/glib/gio/gdesktopappinfo.c:3029,1
    - Dst: g_get_environ
      Src: /src/glib/gio/gdesktopappinfo.c:2910,1
    - Dst: prepend_terminal_to_vector
      Src: /src/glib/gio/gdesktopappinfo.c:2936,1
    - Dst: g_environ_getenv
      Src: /src/glib/gio/gdesktopappinfo.c:2937,1
    - Dst: g_environ_setenv
      Src: /src/glib/gio/gdesktopappinfo.c:2964,1
    - Dst: emit_launch_started
      Src: /src/glib/gio/gdesktopappinfo.c:2970,1
    - Dst: g_assert
      Src: /src/glib/gio/gdesktopappinfo.c:2973,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdesktopappinfo.c:2979,1
    - Dst: g_path_is_absolute
      Src: /src/glib/gio/gdesktopappinfo.c:2982,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdesktopappinfo.c:2993,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gdesktopappinfo.c:3076,1
    - Dst: g_list_free
      Src: /src/glib/gio/gdesktopappinfo.c:3089,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdesktopappinfo.c:3036,1
    - Dst: g_spawn_async_with_fds
      Src: /src/glib/gio/gdesktopappinfo.c:3042,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdesktopappinfo.c:3059,1
    - Dst: g_new
      Src: /src/glib/gio/gdesktopappinfo.c:3032,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gdesktopappinfo.c:3075,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:2903,1
    - Dst: g_list_reverse
      Src: /src/glib/gio/gdesktopappinfo.c:2934,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdesktopappinfo.c:2940,1
    - Dst: _
      Src: /src/glib/gio/gdesktopappinfo.c:2941,1
    - Dst: G_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:2959,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gdesktopappinfo.c:2968,1
    - Dst: g_file_test
      Src: /src/glib/gio/gdesktopappinfo.c:2976,1
    - Dst: g_environ_getenv
      Src: /src/glib/gio/gdesktopappinfo.c:2984,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gdesktopappinfo.c:2986,1
    - Dst: g_app_launch_context_launch_failed
      Src: /src/glib/gio/gdesktopappinfo.c:2998,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gdesktopappinfo.c:3075,1
    - Dst: pid_callback
      Src: /src/glib/gio/gdesktopappinfo.c:3065,1
    - Dst: g_file_test
      Src: /src/glib/gio/gdesktopappinfo.c:3023,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gdesktopappinfo.c:3073,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:3091,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:3033,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 134
    argCount: 14
    argNames:
    - info
    - session_bus
    - exec_line
    - uris
    - launch_context
    - spawn_flags
    - user_setup
    - user_setup_data
    - pid_callback
    - pid_callback_data
    - stdin_fd
    - stdout_fd
    - stderr_fd
    - error
    argTypes:
    - GDesktopAppInfo*
    - GDBusConnection*
    - gchar*
    - GList*
    - GAppLaunchContext*
    - GSpawnFlags
    - GSpawnChildSetupFunc
    - gpointer
    - GDesktopAppLaunchCallback
    - gpointer
    - gint
    - gint
    - gint
    - GError**
    constantsTouched: []
    func_position:
      end: 3103
      start: 2880
    functionDepth: 0
    functionLinenumber: 2880
    functionLinenumberEnd: 3103
    functionName: g_desktop_app_info_launch_uris_with_spawn
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_app_launch_context_launch_failed
    - g_spawn_async_with_fds
    - g_list_free_full
    - g_app_launch_context_get_startup_notify_id
    - g_clear_list
    - GLIB_PRIVATE_CALL
    - g_set_error_literal
    - g_signal_emit_by_name
    - g_list_prepend
    - g_environ_setenv
    - g_app_launch_context_get_environment
    - emit_launch_started
    - g_variant_builder_init_static
    - g_clear_pointer
    - g_environ_getenv
    - g_list_free
    - g_variant_new_int32
    - g_variant_unref
    - g_once_init_enter_pointer
    - g_strfreev
    - prepend_terminal_to_vector
    - g_variant_builder_add
    - g_variant_builder_end
    - g_get_environ
    - g_file_test
    - expand_application_parameters
    - g_set_error
    - g_list_reverse
    - g_once_init_leave_pointer
    - g_strdup
    - pid_callback
    - g_new
    - g_getenv
    - _
    - G_APP_INFO
    - g_variant_ref_sink
    - g_return_val_if_fail
    - g_assert
    - notify_desktop_launch
    - g_variant_new_string
    - create_files_for_uris
    - g_free
    - g_path_is_absolute
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_desktop_app_info_launch_uris_with_spawn (GDesktopAppInfo
      *info, GDBusConnection *session_bus, const gchar *exec_line, GList *uris, GAppLaunchContext
      *launch_context, GSpawnFlags spawn_flags, GSpawnChildSetupFunc user_setup, gpointer
      user_setup_data, GDesktopAppLaunchCallback pid_callback, gpointer pid_callback_data,
      gint stdin_fd, gint stdout_fd, gint stderr_fd, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:3517,1
    - Dst: strstr
      Src: /src/glib/gio/gdesktopappinfo.c:3521,1
    - Dst: strstr
      Src: /src/glib/gio/gdesktopappinfo.c:3520,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 3522
      start: 3514
    functionDepth: 0
    functionLinenumber: 3514
    functionLinenumberEnd: 3522
    functionName: g_desktop_app_info_supports_files
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - G_DESKTOP_APP_INFO
    - strstr
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_desktop_app_info_supports_files (GAppInfo *appinfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:4303,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:4315,1
    - Dst: g_remove
      Src: /src/glib/gio/gdesktopappinfo.c:4307,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:4313,1
    - Dst: update_mimeapps_list
      Src: /src/glib/gio/gdesktopappinfo.c:4309,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 4323
      start: 4300
    functionDepth: 0
    functionLinenumber: 4300
    functionLinenumberEnd: 4323
    functionName: g_desktop_app_info_delete
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - G_DESKTOP_APP_INFO
    - update_mimeapps_list
    - g_free
    - g_remove
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_desktop_app_info_delete (GAppInfo *appinfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gdesktopappinfo.c:4455,1
    - Dst: get_list_of_mimetypes
      Src: /src/glib/gio/gdesktopappinfo.c:4458,1
    - Dst: desktop_file_dirs_lock
      Src: /src/glib/gio/gdesktopappinfo.c:4460,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gdesktopappinfo.c:4456,1
    - Dst: desktop_file_dir_mime_lookup
      Src: /src/glib/gio/gdesktopappinfo.c:4464,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gdesktopappinfo.c:4464,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:4468,1
    - Dst: desktop_file_dirs_unlock
      Src: /src/glib/gio/gdesktopappinfo.c:4470,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdesktopappinfo.c:4472,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gdesktopappinfo.c:4474,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:4475,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gdesktopappinfo.c:4477,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4478
      start: 4447
    functionDepth: 0
    functionLinenumber: 4447
    functionLinenumberEnd: 4478
    functionName: g_desktop_app_info_get_desktop_ids_for_content_type
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - desktop_file_dirs_lock
    - g_strdup
    - get_list_of_mimetypes
    - desktop_file_dir_mime_lookup
    - g_strfreev
    - desktop_file_dirs_unlock
    - g_ptr_array_free
    - g_ptr_array_new
    - g_ptr_array_index
    - g_ptr_array_add
    linkageType: ''
    returnType: gchar**
    signature: 'static gchar **g_desktop_app_info_get_desktop_ids_for_content_type
      (const gchar *content_type, gboolean include_fallback) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:4968,1
    - Dst: g_key_file_get_locale_string
      Src: /src/glib/gio/gdesktopappinfo.c:4971,1
    - Dst: G_IS_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:4968,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:4969,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4974
      start: 4964
    functionDepth: 0
    functionLinenumber: 4964
    functionLinenumberEnd: 4974
    functionName: g_desktop_app_info_get_locale_string
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_key_file_get_locale_string
    - G_IS_DESKTOP_APP_INFO
    linkageType: ''
    returnType: char*
    signature: 'char *g_desktop_app_info_get_locale_string (GDesktopAppInfo *info,
      const char *key) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gdesktopappinfo.c:1248,1
    - Dst: desktop_file_dir_unindexed_setup_search
      Src: /src/glib/gio/gdesktopappinfo.c:1251,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gdesktopappinfo.c:1254,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gdesktopappinfo.c:1253,1
    - Dst: strstr
      Src: /src/glib/gio/gdesktopappinfo.c:1264,1
    - Dst: add_token_result
      Src: /src/glib/gio/gdesktopappinfo.c:1274,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - dir
    - search_token
    argTypes:
    - DesktopFileDir*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1278
      start: 1241
    functionDepth: 0
    functionLinenumber: 1241
    functionLinenumberEnd: 1278
    functionName: desktop_file_dir_unindexed_search
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_hash_table_iter_init
    - g_assert
    - desktop_file_dir_unindexed_setup_search
    - add_token_result
    - strstr
    - g_hash_table_iter_next
    linkageType: ''
    returnType: void
    signature: 'static void desktop_file_dir_unindexed_search (DesktopFileDir *dir,
      const gchar *search_token) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_strconcat
      Src: /src/glib/gio/gdesktopappinfo.c:3110,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3121
      start: 3105
    functionDepth: 0
    functionLinenumber: 3105
    functionLinenumberEnd: 3121
    functionName: object_path_from_appid
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_strconcat
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *object_path_from_appid (const gchar *appid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_get_uri
      Src: /src/glib/gio/gdesktopappinfo.c:3537,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gdesktopappinfo.c:3546,1
    - Dst: g_desktop_app_info_launch_uris
      Src: /src/glib/gio/gdesktopappinfo.c:3544,1
    - Dst: g_list_reverse
      Src: /src/glib/gio/gdesktopappinfo.c:3542,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gdesktopappinfo.c:3538,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 4
    argNames:
    - appinfo
    - files
    - launch_context
    - error
    argTypes:
    - GAppInfo*
    - GList*
    - GAppLaunchContext*
    - GError**
    constantsTouched: []
    func_position:
      end: 3549
      start: 3524
    functionDepth: 0
    functionLinenumber: 3524
    functionLinenumberEnd: 3549
    functionName: g_desktop_app_info_launch
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_file_get_uri
    - g_list_reverse
    - g_list_free_full
    - g_desktop_app_info_launch_uris
    - g_list_prepend
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_desktop_app_info_launch (GAppInfo *appinfo, GList
      *files, GAppLaunchContext *launch_context, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:4487,1
    - Dst: g_desktop_app_info_get_desktop_ids_for_content_type
      Src: /src/glib/gio/gdesktopappinfo.c:4489,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gdesktopappinfo.c:4498,1
    - Dst: g_desktop_app_info_new
      Src: /src/glib/gio/gdesktopappinfo.c:4496,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:4501,1
    - Dst: g_list_reverse
      Src: /src/glib/gio/gdesktopappinfo.c:4503,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4504
      start: 4480
    functionDepth: 0
    functionLinenumber: 4480
    functionLinenumberEnd: 4504
    functionName: g_app_info_get_recommended_for_type_impl
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_list_reverse
    - g_return_val_if_fail
    - g_desktop_app_info_get_desktop_ids_for_content_type
    - g_strfreev
    - g_list_prepend
    - g_desktop_app_info_new
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_app_info_get_recommended_for_type_impl (const gchar *content_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: desktop_file_dir_unindexed_search
      Src: /src/glib/gio/gdesktopappinfo.c:1592,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - dir
    - search_token
    argTypes:
    - DesktopFileDir*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1593
      start: 1588
    functionDepth: 0
    functionLinenumber: 1588
    functionLinenumberEnd: 1593
    functionName: desktop_file_dir_search
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - desktop_file_dir_unindexed_search
    linkageType: ''
    returnType: void
    signature: 'static void desktop_file_dir_search (DesktopFileDir *dir, const gchar
      *search_token) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:4943,1
    - Dst: g_key_file_get_string
      Src: /src/glib/gio/gdesktopappinfo.c:4945,1
    - Dst: G_IS_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:4943,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4947
      start: 4939
    functionDepth: 0
    functionLinenumber: 4939
    functionLinenumberEnd: 4947
    functionName: g_desktop_app_info_get_string
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_key_file_get_string
    - G_IS_DESKTOP_APP_INFO
    linkageType: ''
    returnType: char*
    signature: 'char *g_desktop_app_info_get_string (GDesktopAppInfo *info, const
      char *key) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gdesktopappinfo.c:294,1
    - Dst: g_hash_table_contains
      Src: /src/glib/gio/gdesktopappinfo.c:298,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 2
    argNames:
    - dir
    - app_name
    argTypes:
    - DesktopFileDir*
    - gchar*
    constantsTouched: []
    func_position:
      end: 303
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 303
    functionName: desktop_file_dir_app_name_is_masked
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_ptr_array_index
    - g_hash_table_contains
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean desktop_file_dir_app_name_is_masked (DesktopFileDir
      *dir, const gchar *app_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/glib/gio/gdesktopappinfo.c:728,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 729
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 729
    functionName: sort_total_search_results
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - qsort
    linkageType: ''
    returnType: void
    signature: 'static void sort_total_search_results (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:811,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gdesktopappinfo.c:815,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:812,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:813,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 816
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 816
    functionName: free_mime_tweaks
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_strfreev
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void free_mime_tweaks (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_str_tokenize_and_fold
      Src: /src/glib/gio/gdesktopappinfo.c:1146,1
    - Dst: memory_index_add_token
      Src: /src/glib/gio/gdesktopappinfo.c:1149,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:1155,1
    - Dst: memory_index_add_token
      Src: /src/glib/gio/gdesktopappinfo.c:1152,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:1154,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 4
    argNames:
    - mi
    - string
    - match_category
    - app_name
    argTypes:
    - MemoryIndex*
    - gchar*
    - gint
    - gchar*
    constantsTouched: []
    func_position:
      end: 1156
      start: 1137
    functionDepth: 0
    functionLinenumber: 1137
    functionLinenumberEnd: 1156
    functionName: memory_index_add_string
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_strfreev
    - memory_index_add_token
    - g_str_tokenize_and_fold
    linkageType: ''
    returnType: void
    signature: 'static void memory_index_add_string (MemoryIndex *mi, const gchar
      *string, gint match_category, const gchar *app_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_object
      Src: /src/glib/gio/gdesktopappinfo.c:3166,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:3170,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdesktopappinfo.c:3167,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:3168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - LaunchUrisWithDBusData*
    constantsTouched: []
    func_position:
      end: 3171
      start: 3163
    functionDepth: 0
    functionLinenumber: 3163
    functionLinenumberEnd: 3171
    functionName: launch_uris_with_dbus_data_free
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void launch_uris_with_dbus_data_free (LaunchUrisWithDBusData
      *data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MAX
      Src: /src/glib/gio/gdesktopappinfo.c:736,1
    - Dst: g_renew
      Src: /src/glib/gio/gdesktopappinfo.c:739,1
    - Dst: memcpy
      Src: /src/glib/gio/gdesktopappinfo.c:743,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 751
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 751
    functionName: merge_directory_results
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_renew
    - MAX
    linkageType: ''
    returnType: void
    signature: 'static void merge_directory_results (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _g_unix_content_type_unalias
      Src: /src/glib/gio/gdesktopappinfo.c:825,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdesktopappinfo.c:831,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdesktopappinfo.c:826,1
    - Dst: g_slice_new0
      Src: /src/glib/gio/gdesktopappinfo.c:830,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:834,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 837
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 837
    functionName: desktop_file_dir_unindexed_get_tweaks
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_slice_new0
    - g_hash_table_lookup
    - g_hash_table_insert
    - g_free
    - _g_unix_content_type_unalias
    linkageType: ''
    returnType: UnindexedMimeTweaks*
    signature: 'static UnindexedMimeTweaks *desktop_file_dir_unindexed_get_tweaks
      (DesktopFileDir *dir, const gchar *mime_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdesktopappinfo.c:1161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1158
    functionDepth: 0
    functionLinenumber: 1158
    functionLinenumberEnd: 1162
    functionName: memory_index_new
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_hash_table_new_full
    linkageType: ''
    returnType: MemoryIndex*
    signature: 'static MemoryIndex *memory_index_new (void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: G_TASK
      Src: /src/glib/gio/gdesktopappinfo.c:3183,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gdesktopappinfo.c:3195,1
    - Dst: g_variant_new_int32
      Src: /src/glib/gio/gdesktopappinfo.c:3195,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gdesktopappinfo.c:3197,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gdesktopappinfo.c:3199,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gdesktopappinfo.c:3201,1
    - Dst: G_TASK
      Src: /src/glib/gio/gdesktopappinfo.c:3211,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdesktopappinfo.c:3212,1
    - Dst: g_variant_builder_init_static
      Src: /src/glib/gio/gdesktopappinfo.c:3192,1
    - Dst: g_app_launch_context_launch_failed
      Src: /src/glib/gio/gdesktopappinfo.c:3186,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gdesktopappinfo.c:3200,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/gdesktopappinfo.c:3183,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/gdesktopappinfo.c:3211,1
    - Dst: G_DBUS_CONNECTION
      Src: /src/glib/gio/gdesktopappinfo.c:3212,1
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/gdesktopappinfo.c:3212,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdesktopappinfo.c:3205,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdesktopappinfo.c:3200,1
    - Dst: launch_uris_with_dbus_data_free
      Src: /src/glib/gio/gdesktopappinfo.c:3215,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 3216
      start: 3173
    functionDepth: 0
    functionLinenumber: 3173
    functionLinenumberEnd: 3216
    functionName: launch_uris_with_dbus_signal_cb
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - g_app_launch_context_launch_failed
    - G_DBUS_CONNECTION
    - g_task_had_error
    - g_variant_builder_init_static
    - g_dbus_connection_call_finish
    - g_signal_emit_by_name
    - g_variant_new_string
    - g_variant_new_int32
    - g_variant_unref
    - launch_uris_with_dbus_data_free
    - g_variant_builder_end
    - G_TASK
    - g_variant_builder_add
    linkageType: ''
    returnType: void
    signature: 'static void launch_uris_with_dbus_signal_cb (GObject *object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdesktopappinfo.c:1611,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdesktopappinfo.c:1641,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gdesktopappinfo.c:1658,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gdesktopappinfo.c:1659,1
    - Dst: g_debug
      Src: /src/glib/gio/gdesktopappinfo.c:1618,1
    - Dst: desktop_file_dir_new_for_config
      Src: /src/glib/gio/gdesktopappinfo.c:1635,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdesktopappinfo.c:1636,1
    - Dst: desktop_file_dir_new
      Src: /src/glib/gio/gdesktopappinfo.c:1644,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdesktopappinfo.c:1645,1
    - Dst: desktop_file_dir_new
      Src: /src/glib/gio/gdesktopappinfo.c:1650,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdesktopappinfo.c:1622,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/gio/gdesktopappinfo.c:1632,1
    - Dst: desktop_file_dir_ref
      Src: /src/glib/gio/gdesktopappinfo.c:1636,1
    - Dst: g_get_system_config_dirs
      Src: /src/glib/gio/gdesktopappinfo.c:1639,1
    - Dst: desktop_file_dir_ref
      Src: /src/glib/gio/gdesktopappinfo.c:1645,1
    - Dst: g_get_system_data_dirs
      Src: /src/glib/gio/gdesktopappinfo.c:1648,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdesktopappinfo.c:1650,1
    - Dst: desktop_file_dir_init
      Src: /src/glib/gio/gdesktopappinfo.c:1659,1
    - Dst: g_get_user_config_dir
      Src: /src/glib/gio/gdesktopappinfo.c:1609,1
    - Dst: g_ptr_array_set_size
      Src: /src/glib/gio/gdesktopappinfo.c:1621,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdesktopappinfo.c:1616,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdesktopappinfo.c:1623,1
    - Dst: desktop_file_dir_new_for_config
      Src: /src/glib/gio/gdesktopappinfo.c:1641,1
    - Dst: g_get_user_data_dir
      Src: /src/glib/gio/gdesktopappinfo.c:1644,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1660
      start: 1605
    functionDepth: 0
    functionLinenumber: 1605
    functionLinenumberEnd: 1660
    functionName: desktop_file_dirs_lock
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_get_system_data_dirs
    - g_mutex_lock
    - desktop_file_dir_new
    - g_debug
    - g_get_user_data_dir
    - g_clear_pointer
    - g_ptr_array_new_with_free_func
    - g_get_user_config_dir
    - desktop_file_dir_new_for_config
    - g_strcmp0
    - desktop_file_dir_ref
    - g_get_system_config_dirs
    - g_ptr_array_set_size
    - desktop_file_dir_init
    - g_ptr_array_index
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void desktop_file_dirs_lock (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:4337,1
    - Dst: g_object_new
      Src: /src/glib/gio/gdesktopappinfo.c:4339,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gdesktopappinfo.c:4348,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gdesktopappinfo.c:4350,1
    - Dst: binary_from_exec
      Src: /src/glib/gio/gdesktopappinfo.c:4352,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:4355,1
    - Dst: g_strsplit
      Src: /src/glib/gio/gdesktopappinfo.c:4359,1
    - Dst: g_path_get_basename
      Src: /src/glib/gio/gdesktopappinfo.c:4360,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:4361,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:4364,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdesktopappinfo.c:4366,1
    - Dst: G_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:4368,1
    - Dst: _
      Src: /src/glib/gio/gdesktopappinfo.c:4366,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4369
      start: 4327
    functionDepth: 0
    functionLinenumber: 4327
    functionLinenumberEnd: 4369
    functionName: g_app_info_create_from_commandline_impl
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_return_val_if_fail
    - g_strconcat
    - binary_from_exec
    - g_object_new
    - g_path_get_basename
    - g_strdup_printf
    - g_strfreev
    - g_strsplit
    - _
    - G_APP_INFO
    linkageType: ''
    returnType: GAppInfo*
    signature: 'GAppInfo *g_app_info_create_from_commandline_impl (const char *commandline,
      const char *application_name, GAppInfoCreateFlags flags, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 576
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 576
    functionName: compare_results
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint
    signature: 'static gint compare_results (gconstpointer a, gconstpointer b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:2496,1
    - Dst: strchr
      Src: /src/glib/gio/gdesktopappinfo.c:2500,1
    - Dst: expand_macro_single
      Src: /src/glib/gio/gdesktopappinfo.c:2502,1
    - Dst: expand_macro_single
      Src: /src/glib/gio/gdesktopappinfo.c:2506,1
    - Dst: expand_macro_single
      Src: /src/glib/gio/gdesktopappinfo.c:2508,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2512
      start: 2491
    functionDepth: 0
    functionLinenumber: 2491
    functionLinenumberEnd: 2512
    functionName: expand_macro_uri
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - strchr
    - expand_macro_single
    - g_return_val_if_fail
    linkageType: ''
    returnType: char*
    signature: 'static char *expand_macro_uri (char macro, const char *uri, gboolean
      force_file_uri, char force_file_uri_macro) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:3319,1
    - Dst: g_dbus_connection_flush
      Src: /src/glib/gio/gdesktopappinfo.c:3344,1
    - Dst: g_desktop_app_info_launch_uris_with_spawn
      Src: /src/glib/gio/gdesktopappinfo.c:3333,1
    - Dst: g_desktop_app_info_launch_uris_with_dbus
      Src: /src/glib/gio/gdesktopappinfo.c:3330,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/gdesktopappinfo.c:3323,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdesktopappinfo.c:3345,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 12
    argNames:
    - appinfo
    - uris
    - launch_context
    - spawn_flags
    - user_setup
    - user_setup_data
    - pid_callback
    - pid_callback_data
    - stdin_fd
    - stdout_fd
    - stderr_fd
    - error
    argTypes:
    - GAppInfo*
    - GList*
    - GAppLaunchContext*
    - GSpawnFlags
    - GSpawnChildSetupFunc
    - gpointer
    - GDesktopAppLaunchCallback
    - gpointer
    - gint
    - gint
    - gint
    - GError**
    constantsTouched: []
    func_position:
      end: 3349
      start: 3305
    functionDepth: 0
    functionLinenumber: 3305
    functionLinenumberEnd: 3349
    functionName: g_desktop_app_info_launch_uris_internal
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_flush
    - g_object_unref
    - G_DESKTOP_APP_INFO
    - g_desktop_app_info_launch_uris_with_spawn
    - g_bus_get_sync
    - g_desktop_app_info_launch_uris_with_dbus
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_desktop_app_info_launch_uris_internal (GAppInfo
      *appinfo, GList *uris, GAppLaunchContext *launch_context, GSpawnFlags spawn_flags,
      GSpawnChildSetupFunc user_setup, gpointer user_setup_data, GDesktopAppLaunchCallback
      pid_callback, gpointer pid_callback_data, gint stdin_fd, gint stdout_fd, gint
      stderr_fd, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:4650,1
    - Dst: g_ascii_strdown
      Src: /src/glib/gio/gdesktopappinfo.c:4652,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:4654,1
    - Dst: g_app_info_get_default_for_type
      Src: /src/glib/gio/gdesktopappinfo.c:4655,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdesktopappinfo.c:4653,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:4656,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4659
      start: 4644
    functionDepth: 0
    functionLinenumber: 4644
    functionLinenumberEnd: 4659
    functionName: g_app_info_get_default_for_uri_scheme_impl
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_strdup_printf
    - g_ascii_strdown
    - g_app_info_get_default_for_type
    - g_free
    linkageType: ''
    returnType: GAppInfo*
    signature: 'GAppInfo *g_app_info_get_default_for_uri_scheme_impl (const char *uri_scheme) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: expand_macro_uri
      Src: /src/glib/gio/gdesktopappinfo.c:2561,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:2566,1
    - Dst: g_shell_quote
      Src: /src/glib/gio/gdesktopappinfo.c:2609,1
    - Dst: g_shell_quote
      Src: /src/glib/gio/gdesktopappinfo.c:2618,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdesktopappinfo.c:2584,1
    - Dst: g_shell_quote
      Src: /src/glib/gio/gdesktopappinfo.c:2600,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdesktopappinfo.c:2601,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdesktopappinfo.c:2610,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdesktopappinfo.c:2619,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:2611,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:2620,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:2602,1
    - Dst: expand_macro_uri
      Src: /src/glib/gio/gdesktopappinfo.c:2580,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:2585,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdesktopappinfo.c:2599,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:2526,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdesktopappinfo.c:2565,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdesktopappinfo.c:2591,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdesktopappinfo.c:2628,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 50
    argCount: 4
    argNames:
    - macro
    - exec
    - info
    - uri_list
    argTypes:
    - char
    - GString*
    - GDesktopAppInfo*
    - GList**
    constantsTouched: []
    func_position:
      end: 2633
      start: 2514
    functionDepth: 0
    functionLinenumber: 2514
    functionLinenumberEnd: 2633
    functionName: expand_macro
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - g_string_append_c
    - g_shell_quote
    - expand_macro_uri
    - g_free
    - g_string_append
    linkageType: ''
    returnType: void
    signature: 'static void expand_macro (char macro, GString *exec, GDesktopAppInfo
      *info, GList **uri_list) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_desktop_app_info_launch_uris_internal
      Src: /src/glib/gio/gdesktopappinfo.c:3357,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 4
    argNames:
    - appinfo
    - uris
    - launch_context
    - error
    argTypes:
    - GAppInfo*
    - GList*
    - GAppLaunchContext*
    - GError**
    constantsTouched: []
    func_position:
      end: 3363
      start: 3351
    functionDepth: 0
    functionLinenumber: 3351
    functionLinenumberEnd: 3363
    functionName: g_desktop_app_info_launch_uris
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_desktop_app_info_launch_uris_internal
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_desktop_app_info_launch_uris (GAppInfo *appinfo,
      GList *uris, GAppLaunchContext *launch_context, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gdesktopappinfo.c:4416,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdesktopappinfo.c:4418,1
    - Dst: _g_unix_content_type_get_parents
      Src: /src/glib/gio/gdesktopappinfo.c:4427,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gdesktopappinfo.c:4427,1
    - Dst: _g_unix_content_type_unalias
      Src: /src/glib/gio/gdesktopappinfo.c:4417,1
    - Dst: array_contains
      Src: /src/glib/gio/gdesktopappinfo.c:4432,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdesktopappinfo.c:4433,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:4435,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:4438,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdesktopappinfo.c:4442,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gdesktopappinfo.c:4444,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4445
      start: 4409
    functionDepth: 0
    functionLinenumber: 4409
    functionLinenumberEnd: 4445
    functionName: get_list_of_mimetypes
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_free
    - array_contains
    - _g_unix_content_type_unalias
    - _g_unix_content_type_get_parents
    - g_ptr_array_free
    - g_ptr_array_new
    - g_ptr_array_index
    - g_ptr_array_add
    linkageType: ''
    returnType: gchar**
    signature: 'static gchar **get_list_of_mimetypes (const gchar *content_type, gboolean
      include_fallback) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GDesktopAppInfoLookupInterface*
    constantsTouched: []
    func_position:
      end: 4862
      start: 4859
    functionDepth: 0
    functionLinenumber: 4859
    functionLinenumberEnd: 4862
    functionName: g_desktop_app_info_lookup_default_init
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_desktop_app_info_lookup_default_init (GDesktopAppInfoLookupInterface
      *iface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/gdesktopappinfo.c:414,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:421,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:418,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:419,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdesktopappinfo.c:421,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - apps
    - app_name
    - info
    argTypes:
    - GHashTable*
    - gchar*
    - GDesktopAppInfo*
    constantsTouched: []
    func_position:
      end: 422
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 422
    functionName: add_to_table_if_appropriate
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - g_object_unref
    - g_hash_table_insert
    linkageType: ''
    returnType: void
    signature: 'static void add_to_table_if_appropriate (GHashTable *apps, const gchar
      *app_name, GDesktopAppInfo *info) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/gdesktopappinfo.c:2449,1
    - Dst: g_file_get_path
      Src: /src/glib/gio/gdesktopappinfo.c:2459,1
    - Dst: g_shell_quote
      Src: /src/glib/gio/gdesktopappinfo.c:2461,1
    - Dst: g_shell_quote
      Src: /src/glib/gio/gdesktopappinfo.c:2455,1
    - Dst: g_file_get_path
      Src: /src/glib/gio/gdesktopappinfo.c:2465,1
    - Dst: g_path_get_dirname
      Src: /src/glib/gio/gdesktopappinfo.c:2468,1
    - Dst: g_shell_quote
      Src: /src/glib/gio/gdesktopappinfo.c:2469,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:2470,1
    - Dst: g_file_get_path
      Src: /src/glib/gio/gdesktopappinfo.c:2475,1
    - Dst: g_path_get_basename
      Src: /src/glib/gio/gdesktopappinfo.c:2478,1
    - Dst: g_shell_quote
      Src: /src/glib/gio/gdesktopappinfo.c:2479,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:2480,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:2486,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdesktopappinfo.c:2485,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2489
      start: 2441
    functionDepth: 0
    functionLinenumber: 2441
    functionLinenumberEnd: 2489
    functionName: expand_macro_single
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_path_get_dirname
    - g_path_get_basename
    - g_object_unref
    - g_file_new_for_uri
    - g_shell_quote
    - g_file_get_path
    - g_free
    linkageType: ''
    returnType: char*
    signature: 'static char *expand_macro_single (char macro, const char *uri) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GAppInfoIface*
    constantsTouched: []
    func_position:
      end: 4401
      start: 4373
    functionDepth: 0
    functionLinenumber: 4373
    functionLinenumberEnd: 4401
    functionName: g_desktop_app_info_iface_init
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_desktop_app_info_iface_init (GAppInfoIface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_free
      Src: /src/glib/gio/gdesktopappinfo.c:1106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1109
      start: 1097
    functionDepth: 0
    functionLinenumber: 1097
    functionLinenumberEnd: 1109
    functionName: memory_index_entry_free
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void memory_index_entry_free (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: desktop_file_dir_unindexed_default_lookup
      Src: /src/glib/gio/gdesktopappinfo.c:1578,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - dir
    - mime_type
    - results
    argTypes:
    - DesktopFileDir*
    - gchar*
    - GPtrArray*
    constantsTouched: []
    func_position:
      end: 1579
      start: 1573
    functionDepth: 0
    functionLinenumber: 1573
    functionLinenumberEnd: 1579
    functionName: desktop_file_dir_default_lookup
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - desktop_file_dir_unindexed_default_lookup
    linkageType: ''
    returnType: void
    signature: 'static void desktop_file_dir_default_lookup (DesktopFileDir *dir,
      const gchar *mime_type, GPtrArray *results) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:5021,1
    - Dst: G_IS_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:5021,1
    - Dst: g_key_file_get_string_list
      Src: /src/glib/gio/gdesktopappinfo.c:5023,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5025
      start: 5016
    functionDepth: 0
    functionLinenumber: 5016
    functionLinenumberEnd: 5025
    functionName: g_desktop_app_info_get_string_list
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_key_file_get_string_list
    - G_IS_DESKTOP_APP_INFO
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **g_desktop_app_info_get_string_list (GDesktopAppInfo *info,
      const char *key, gsize *length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/gio/gdesktopappinfo.c:1119,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdesktopappinfo.c:1123,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdesktopappinfo.c:1133,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:1133,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 4
    argNames:
    - mi
    - token
    - match_category
    - app_name
    argTypes:
    - MemoryIndex*
    - gchar*
    - gint
    - gchar*
    constantsTouched: []
    func_position:
      end: 1135
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1135
    functionName: memory_index_add_token
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_hash_table_lookup
    - g_slice_new
    - g_hash_table_insert
    linkageType: ''
    returnType: void
    signature: 'static void memory_index_add_token (MemoryIndex *mi, const gchar *token,
      gint match_category, const gchar *app_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:4993,1
    - Dst: G_IS_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:4993,1
    - Dst: g_key_file_get_boolean
      Src: /src/glib/gio/gdesktopappinfo.c:4995,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - info
    - key
    argTypes:
    - GDesktopAppInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 4997
      start: 4989
    functionDepth: 0
    functionLinenumber: 4989
    functionLinenumberEnd: 4997
    functionName: g_desktop_app_info_get_boolean
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_key_file_get_boolean
    - G_IS_DESKTOP_APP_INFO
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_desktop_app_info_get_boolean (GDesktopAppInfo *info, const
      char *key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: desktop_file_dirs_lock
      Src: /src/glib/gio/gdesktopappinfo.c:4684,1
    - Dst: desktop_file_dirs_unlock
      Src: /src/glib/gio/gdesktopappinfo.c:4689,1
    - Dst: g_desktop_app_info_new
      Src: /src/glib/gio/gdesktopappinfo.c:4697,1
    - Dst: desktop_file_dir_get_implementations
      Src: /src/glib/gio/gdesktopappinfo.c:4687,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gdesktopappinfo.c:4687,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:4698,1
    - Dst: g_list_delete_link
      Src: /src/glib/gio/gdesktopappinfo.c:4706,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4710
      start: 4677
    functionDepth: 0
    functionLinenumber: 4677
    functionLinenumberEnd: 4710
    functionName: g_desktop_app_info_get_implementations
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_list_delete_link
    - desktop_file_dirs_lock
    - g_free
    - desktop_file_dir_get_implementations
    - desktop_file_dirs_unlock
    - g_ptr_array_index
    - g_desktop_app_info_new
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_desktop_app_info_get_implementations (const gchar *interface) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1419,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdesktopappinfo.c:1433,1
    - Dst: g_signal_handlers_disconnect_by_func
      Src: /src/glib/gio/gdesktopappinfo.c:1425,1
    - Dst: g_file_monitor_cancel
      Src: /src/glib/gio/gdesktopappinfo.c:1426,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdesktopappinfo.c:1427,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdesktopappinfo.c:1439,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdesktopappinfo.c:1445,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdesktopappinfo.c:1451,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - dir
    argTypes:
    - DesktopFileDir*
    constantsTouched: []
    func_position:
      end: 1456
      start: 1414
    functionDepth: 0
    functionLinenumber: 1414
    functionLinenumberEnd: 1456
    functionName: desktop_file_dir_reset
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_signal_handlers_disconnect_by_func
    - g_object_unref
    - g_hash_table_unref
    - g_file_monitor_cancel
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void desktop_file_dir_reset (DesktopFileDir *dir) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: desktop_file_dir_unindexed_get_all
      Src: /src/glib/gio/gdesktopappinfo.c:1537,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - dir
    - apps
    argTypes:
    - DesktopFileDir*
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 1538
      start: 1533
    functionDepth: 0
    functionLinenumber: 1533
    functionLinenumberEnd: 1538
    functionName: desktop_file_dir_get_all
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - desktop_file_dir_unindexed_get_all
    linkageType: ''
    returnType: void
    signature: 'static void desktop_file_dir_get_all (DesktopFileDir *dir, GHashTable
      *apps) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/gdesktopappinfo.c:2786,1
    - Dst: g_list_reverse
      Src: /src/glib/gio/gdesktopappinfo.c:2790,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gdesktopappinfo.c:2787,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2791
      start: 2776
    functionDepth: 0
    functionLinenumber: 2776
    functionLinenumberEnd: 2791
    functionName: create_files_for_uris
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_file_new_for_uri
    - g_list_reverse
    - g_list_prepend
    linkageType: ''
    returnType: GList*
    signature: 'static GList *create_files_for_uris (GList *uris) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_desktop_app_info_launch_uris_internal
      Src: /src/glib/gio/gdesktopappinfo.c:3592,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 12
    argNames:
    - appinfo
    - uris
    - launch_context
    - spawn_flags
    - user_setup
    - user_setup_data
    - pid_callback
    - pid_callback_data
    - stdin_fd
    - stdout_fd
    - stderr_fd
    - error
    argTypes:
    - GDesktopAppInfo*
    - GList*
    - GAppLaunchContext*
    - GSpawnFlags
    - GSpawnChildSetupFunc
    - gpointer
    - GDesktopAppLaunchCallback
    - gpointer
    - gint
    - gint
    - gint
    - GError**
    constantsTouched: []
    func_position:
      end: 3604
      start: 3578
    functionDepth: 0
    functionLinenumber: 3578
    functionLinenumberEnd: 3604
    functionName: g_desktop_app_info_launch_uris_as_manager_with_fds
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_desktop_app_info_launch_uris_internal
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_desktop_app_info_launch_uris_as_manager_with_fds (GDesktopAppInfo
      *appinfo, GList *uris, GAppLaunchContext *launch_context, GSpawnFlags spawn_flags,
      GSpawnChildSetupFunc user_setup, gpointer user_setup_data, GDesktopAppLaunchCallback
      pid_callback, gpointer pid_callback_data, gint stdin_fd, gint stdout_fd, gint
      stderr_fd, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: update_mimeapps_list
      Src: /src/glib/gio/gdesktopappinfo.c:4574,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - content_type
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 4577
      start: 4571
    functionDepth: 0
    functionLinenumber: 4571
    functionLinenumberEnd: 4577
    functionName: g_app_info_reset_type_associations_impl
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - update_mimeapps_list
    linkageType: ''
    returnType: void
    signature: 'void g_app_info_reset_type_associations_impl (const char *content_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: desktop_file_dir_unref
      Src: /src/glib/gio/gdesktopappinfo.c:1463,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - data
    - closure
    argTypes:
    - gpointer
    - GClosure*
    constantsTouched: []
    func_position:
      end: 1464
      start: 1458
    functionDepth: 0
    functionLinenumber: 1458
    functionLinenumberEnd: 1464
    functionName: closure_notify_cb
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - desktop_file_dir_unref
    linkageType: ''
    returnType: void
    signature: 'static void closure_notify_cb (gpointer data, GClosure *closure) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_builder_init_static
      Src: /src/glib/gio/gdesktopappinfo.c:2811,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/gdesktopappinfo.c:2845,1
    - Dst: g_dbus_connection_send_message
      Src: /src/glib/gio/gdesktopappinfo.c:2851,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdesktopappinfo.c:2815,1
    - Dst: g_utf8_validate
      Src: /src/glib/gio/gdesktopappinfo.c:2816,1
    - Dst: g_getenv
      Src: /src/glib/gio/gdesktopappinfo.c:2821,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gdesktopappinfo.c:2827,1
    - Dst: g_variant_new_bytestring
      Src: /src/glib/gio/gdesktopappinfo.c:2829,1
    - Dst: g_variant_builder_init_static
      Src: /src/glib/gio/gdesktopappinfo.c:2815,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gdesktopappinfo.c:2813,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gdesktopappinfo.c:2817,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdesktopappinfo.c:2819,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gdesktopappinfo.c:2823,1
    - Dst: g_get_prgname
      Src: /src/glib/gio/gdesktopappinfo.c:2826,1
    - Dst: g_variant_new_bytestring
      Src: /src/glib/gio/gdesktopappinfo.c:2825,1
    - Dst: g_variant_new_bytestring
      Src: /src/glib/gio/gdesktopappinfo.c:2846,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdesktopappinfo.c:2855,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdesktopappinfo.c:2811,1
    - Dst: g_dbus_message_new_signal
      Src: /src/glib/gio/gdesktopappinfo.c:2842,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gdesktopappinfo.c:2830,1
    - Dst: g_get_prgname
      Src: /src/glib/gio/gdesktopappinfo.c:2829,1
    - Dst: getpid
      Src: /src/glib/gio/gdesktopappinfo.c:2833,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdesktopappinfo.c:2832,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdesktopappinfo.c:2845,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 37
    argCount: 6
    argNames:
    - session_bus
    - info
    - pid
    - display
    - sn_id
    - uris
    argTypes:
    - GDBusConnection*
    - GDesktopAppInfo*
    - long
    - char*
    - char*
    - GList*
    constantsTouched: []
    func_position:
      end: 2856
      start: 2793
    functionDepth: 0
    functionLinenumber: 2793
    functionLinenumberEnd: 2856
    functionName: notify_desktop_launch
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_dbus_message_new_signal
    - g_getenv
    - g_variant_builder_init_static
    - getpid
    - g_dbus_message_set_body
    - g_dbus_connection_send_message
    - g_variant_new
    - g_variant_new_bytestring
    - g_get_prgname
    - g_utf8_validate
    - g_variant_builder_add
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: void
    signature: 'static void notify_desktop_launch (GDBusConnection *session_bus, GDesktopAppInfo
      *info, long pid, const char *display, const char *sn_id, GList *uris) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gdesktopappinfo.c:4593,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gdesktopappinfo.c:4594,1
    - Dst: get_list_of_mimetypes
      Src: /src/glib/gio/gdesktopappinfo.c:4591,1
    - Dst: desktop_file_dir_default_lookup
      Src: /src/glib/gio/gdesktopappinfo.c:4603,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdesktopappinfo.c:4623,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/gdesktopappinfo.c:4638,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:4589,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gdesktopappinfo.c:4603,1
    - Dst: desktop_file_dir_mime_lookup
      Src: /src/glib/gio/gdesktopappinfo.c:4607,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gdesktopappinfo.c:4607,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gdesktopappinfo.c:4612,1
    - Dst: desktop_file_dir_get_app
      Src: /src/glib/gio/gdesktopappinfo.c:4616,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gdesktopappinfo.c:4616,1
    - Dst: g_app_info_supports_uris
      Src: /src/glib/gio/gdesktopappinfo.c:4620,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:4639,1
    - Dst: g_ptr_array_set_size
      Src: /src/glib/gio/gdesktopappinfo.c:4631,1
    - Dst: desktop_file_dirs_lock
      Src: /src/glib/gio/gdesktopappinfo.c:4597,1
    - Dst: desktop_file_dirs_unlock
      Src: /src/glib/gio/gdesktopappinfo.c:4635,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/gdesktopappinfo.c:4637,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4642
      start: 4579
    functionDepth: 0
    functionLinenumber: 4579
    functionLinenumberEnd: 4642
    functionName: g_app_info_get_default_for_type_impl
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - desktop_file_dir_get_app
    - desktop_file_dirs_lock
    - g_ptr_array_unref
    - g_return_val_if_fail
    - get_list_of_mimetypes
    - desktop_file_dir_default_lookup
    - desktop_file_dir_mime_lookup
    - g_strfreev
    - g_clear_object
    - desktop_file_dirs_unlock
    - g_ptr_array_set_size
    - g_ptr_array_new
    - g_ptr_array_index
    - g_app_info_supports_uris
    linkageType: ''
    returnType: GAppInfo*
    signature: 'GAppInfo *g_app_info_get_default_for_type_impl (const char *content_type,
      gboolean must_support_uris) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2280
      start: 2276
    functionDepth: 0
    functionLinenumber: 2276
    functionLinenumberEnd: 2280
    functionName: g_desktop_app_info_get_filename
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *g_desktop_app_info_get_filename (GDesktopAppInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:5112,1
    - Dst: app_info_has_action
      Src: /src/glib/gio/gdesktopappinfo.c:5114,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:5113,1
    - Dst: G_IS_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:5112,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:5114,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdesktopappinfo.c:5116,1
    - Dst: g_key_file_get_locale_string
      Src: /src/glib/gio/gdesktopappinfo.c:5117,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:5118,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:5126,1
    - Dst: _
      Src: /src/glib/gio/gdesktopappinfo.c:5126,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5129
      start: 5105
    functionDepth: 0
    functionLinenumber: 5105
    functionLinenumberEnd: 5129
    functionName: g_desktop_app_info_get_action_name
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_strdup_printf
    - G_IS_DESKTOP_APP_INFO
    - g_strdup
    - g_key_file_get_locale_string
    - _
    - g_free
    - app_info_has_action
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_desktop_app_info_get_action_name (GDesktopAppInfo *info,
      const gchar *action_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter_pointer
      Src: /src/glib/gio/gdesktopappinfo.c:382,1
    - Dst: get_valid_current_desktops
      Src: /src/glib/gio/gdesktopappinfo.c:384,1
    - Dst: g_once_init_leave_pointer
      Src: /src/glib/gio/gdesktopappinfo.c:386,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 390
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 390
    functionName: get_current_desktops
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - get_valid_current_desktops
    - g_once_init_leave_pointer
    - g_once_init_enter_pointer
    linkageType: ''
    returnType: gchar**
    signature: 'static const gchar * const *get_current_desktops (const gchar *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gdesktopappinfo.c:1044,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdesktopappinfo.c:1047,1
    - Dst: g_desktop_app_info_load_file
      Src: /src/glib/gio/gdesktopappinfo.c:1046,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1050
    functionName: g_desktop_app_info_new_from_filename_unlocked
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_desktop_app_info_load_file
    - g_clear_object
    - g_object_new
    linkageType: ''
    returnType: GDesktopAppInfo*
    signature: 'static GDesktopAppInfo *g_desktop_app_info_new_from_filename_unlocked
      (const char *filename) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:1833,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gdesktopappinfo.c:1848,1
    - Dst: strcmp
      Src: /src/glib/gio/gdesktopappinfo.c:1850,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gdesktopappinfo.c:1847,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gdesktopappinfo.c:1837,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:1852,1
    - Dst: g_path_get_basename
      Src: /src/glib/gio/gdesktopappinfo.c:1862,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdesktopappinfo.c:1864,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1865
      start: 1827
    functionDepth: 0
    functionLinenumber: 1827
    functionLinenumberEnd: 1865
    functionName: g_desktop_app_info_get_desktop_id_for_filename
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_hash_table_iter_init
    - g_steal_pointer
    - g_return_val_if_fail
    - g_strdup
    - g_path_get_basename
    - strcmp
    - g_ptr_array_index
    - g_hash_table_iter_next
    linkageType: ''
    returnType: char*
    signature: 'static char *g_desktop_app_info_get_desktop_id_for_filename (GDesktopAppInfo
      *self) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdesktopappinfo.c:2414,1
    - Dst: get_current_desktops
      Src: /src/glib/gio/gdesktopappinfo.c:2419,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gdesktopappinfo.c:2432,1
    - Dst: G_IS_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:2414,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gdesktopappinfo.c:2427,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 13
    argCount: 2
    argNames:
    - info
    - desktop_env
    argTypes:
    - GDesktopAppInfo*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2437
      start: 2406
    functionDepth: 0
    functionLinenumber: 2406
    functionLinenumberEnd: 2437
    functionName: g_desktop_app_info_get_show_in
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - get_current_desktops
    - g_str_equal
    - g_return_val_if_fail
    - G_IS_DESKTOP_APP_INFO
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_desktop_app_info_get_show_in (GDesktopAppInfo *info, const
      gchar *desktop_env) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_builder_init_static
      Src: /src/glib/gio/gdesktopappinfo.c:3130,1
    - Dst: create_files_for_uris
      Src: /src/glib/gio/gdesktopappinfo.c:3134,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gdesktopappinfo.c:3143,1
    - Dst: g_app_launch_context_get_startup_notify_id
      Src: /src/glib/gio/gdesktopappinfo.c:3140,1
    - Dst: G_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:3140,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gdesktopappinfo.c:3143,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gdesktopappinfo.c:3144,1
    - Dst: g_variant_new_take_string
      Src: /src/glib/gio/gdesktopappinfo.c:3144,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdesktopappinfo.c:3144,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gdesktopappinfo.c:3148,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gdesktopappinfo.c:3151,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3152
      start: 3123
    functionDepth: 0
    functionLinenumber: 3123
    functionLinenumberEnd: 3152
    functionName: g_desktop_app_info_make_platform_data
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_list_free_full
    - g_app_launch_context_get_startup_notify_id
    - g_variant_builder_init_static
    - g_variant_new_take_string
    - g_variant_new_string
    - create_files_for_uris
    - g_variant_builder_end
    - G_APP_INFO
    - g_variant_builder_add
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_desktop_app_info_make_platform_data (GDesktopAppInfo
      *info, GList *uris, GAppLaunchContext *launch_context) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/glib/gio/gdesktopappinfo.c:4044,1
    - Dst: g_child_watch_add
      Src: /src/glib/gio/gdesktopappinfo.c:4055,1
    - Dst: g_spawn_async
      Src: /src/glib/gio/gdesktopappinfo.c:4046,1
    - Dst: g_get_user_data_dir
      Src: /src/glib/gio/gdesktopappinfo.c:4044,1
    - Dst: g_warning
      Src: /src/glib/gio/gdesktopappinfo.c:4064,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdesktopappinfo.c:4065,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:4068,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - command
    - subdir
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 4069
      start: 4031
    functionDepth: 0
    functionLinenumber: 4031
    functionLinenumberEnd: 4069
    functionName: run_update_command
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_warning
    - g_get_user_data_dir
    - g_child_watch_add
    - g_error_free
    - g_build_filename
    - g_spawn_async
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void run_update_command (char *command, char *subdir) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdesktopappinfo.c:1058,1
    - Dst: g_desktop_app_info_new_from_filename_unlocked
      Src: /src/glib/gio/gdesktopappinfo.c:1063,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1052
    functionDepth: 0
    functionLinenumber: 1052
    functionLinenumberEnd: 1064
    functionName: desktop_file_dir_unindexed_get_app
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_hash_table_lookup
    - g_desktop_app_info_new_from_filename_unlocked
    linkageType: ''
    returnType: GDesktopAppInfo*
    signature: 'static GDesktopAppInfo *desktop_file_dir_unindexed_get_app (DesktopFileDir
      *dir, const gchar *desktop_id) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/gdesktopappinfo.c:1711,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:1721,1
    - Dst: G_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:1697,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1700,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1699,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1722,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:1723,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdesktopappinfo.c:1725,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1705,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1706,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1707,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1708,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1709,1
    - Dst: g_key_file_unref
      Src: /src/glib/gio/gdesktopappinfo.c:1703,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:1712,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1716,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1717,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1720,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:1713,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1715,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1719,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:1718,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:1714,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 1726
      start: 1692
    functionDepth: 0
    functionLinenumber: 1692
    functionLinenumberEnd: 1726
    functionName: g_desktop_app_info_finalize
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - G_OBJECT_CLASS
    - g_strfreev
    - G_DESKTOP_APP_INFO
    - g_key_file_unref
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void g_desktop_app_info_finalize (GObject *object) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_desktop_app_info_ensure_saved
      Src: /src/glib/gio/gdesktopappinfo.c:4080,1
    - Dst: G_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:4080,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdesktopappinfo.c:4087,1
    - Dst: ensure_dir
      Src: /src/glib/gio/gdesktopappinfo.c:4083,1
    - Dst: g_build_filename
      Src: /src/glib/gio/gdesktopappinfo.c:4088,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:4089,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:4090,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdesktopappinfo.c:4092,1
    - Dst: g_file_test
      Src: /src/glib/gio/gdesktopappinfo.c:4094,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdesktopappinfo.c:4099,1
    - Dst: g_desktop_app_info_set_as_default_for_type
      Src: /src/glib/gio/gdesktopappinfo.c:4116,1
    - Dst: g_file_set_contents_full
      Src: /src/glib/gio/gdesktopappinfo.c:4107,1
    - Dst: run_update_command
      Src: /src/glib/gio/gdesktopappinfo.c:4112,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:4110,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:4114,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:4120,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 3
    argNames:
    - appinfo
    - extension
    - error
    argTypes:
    - GAppInfo*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 4123
      start: 4071
    functionDepth: 0
    functionLinenumber: 4071
    functionLinenumberEnd: 4123
    functionName: g_desktop_app_info_set_as_default_for_extension
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_desktop_app_info_ensure_saved
    - run_update_command
    - g_strdup_printf
    - G_DESKTOP_APP_INFO
    - g_desktop_app_info_set_as_default_for_type
    - g_build_filename
    - g_file_test
    - ensure_dir
    - g_free
    - g_file_set_contents_full
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_desktop_app_info_set_as_default_for_extension (GAppInfo
      *appinfo, const char *extension, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: desktop_file_dir_unindexed_mime_lookup
      Src: /src/glib/gio/gdesktopappinfo.c:1562,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - dir
    - mime_type
    - hits
    - blocklist
    argTypes:
    - DesktopFileDir*
    - gchar*
    - GPtrArray*
    - GPtrArray*
    constantsTouched: []
    func_position:
      end: 1563
      start: 1556
    functionDepth: 0
    functionLinenumber: 1556
    functionLinenumberEnd: 1563
    functionName: desktop_file_dir_mime_lookup
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - desktop_file_dir_unindexed_mime_lookup
    linkageType: ''
    returnType: void
    signature: 'static void desktop_file_dir_mime_lookup (DesktopFileDir *dir, const
      gchar *mime_type, GPtrArray *hits, GPtrArray *blocklist) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdesktopappinfo.c:1682,1
    - Dst: desktop_file_dir_reset
      Src: /src/glib/gio/gdesktopappinfo.c:1685,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdesktopappinfo.c:1687,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1688
      start: 1679
    functionDepth: 0
    functionLinenumber: 1679
    functionLinenumberEnd: 1688
    functionName: desktop_file_dirs_invalidate_user_data
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - desktop_file_dir_reset
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void desktop_file_dirs_invalidate_user_data (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strndup
      Src: /src/glib/gio/gdesktopappinfo.c:1814,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1815
      start: 1802
    functionDepth: 0
    functionLinenumber: 1802
    functionLinenumberEnd: 1815
    functionName: binary_from_exec
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_strndup
    linkageType: ''
    returnType: char*
    signature: 'static char *binary_from_exec (const char *exec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_desktop_app_info_launch_uris_as_manager_with_fds
      Src: /src/glib/gio/gdesktopappinfo.c:3649,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 9
    argNames:
    - appinfo
    - uris
    - launch_context
    - spawn_flags
    - user_setup
    - user_setup_data
    - pid_callback
    - pid_callback_data
    - error
    argTypes:
    - GDesktopAppInfo*
    - GList*
    - GAppLaunchContext*
    - GSpawnFlags
    - GSpawnChildSetupFunc
    - gpointer
    - GDesktopAppLaunchCallback
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 3659
      start: 3638
    functionDepth: 0
    functionLinenumber: 3638
    functionLinenumberEnd: 3659
    functionName: g_desktop_app_info_launch_uris_as_manager
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_desktop_app_info_launch_uris_as_manager_with_fds
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_desktop_app_info_launch_uris_as_manager (GDesktopAppInfo
      *appinfo, GList *uris, GAppLaunchContext *launch_context, GSpawnFlags spawn_flags,
      GSpawnChildSetupFunc user_setup, gpointer user_setup_data, GDesktopAppLaunchCallback
      pid_callback, gpointer pid_callback_data, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_dir_open
      Src: /src/glib/gio/gdesktopappinfo.c:762,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/gdesktopappinfo.c:773,1
    - Dst: g_dir_read_name
      Src: /src/glib/gio/gdesktopappinfo.c:767,1
    - Dst: g_build_filename
      Src: /src/glib/gio/gdesktopappinfo.c:771,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gdesktopappinfo.c:777,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdesktopappinfo.c:780,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdesktopappinfo.c:782,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdesktopappinfo.c:782,1
    - Dst: g_file_test
      Src: /src/glib/gio/gdesktopappinfo.c:784,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gdesktopappinfo.c:788,1
    - Dst: get_apps_from_dir
      Src: /src/glib/gio/gdesktopappinfo.c:789,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:790,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:793,1
    - Dst: g_dir_close
      Src: /src/glib/gio/gdesktopappinfo.c:796,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 3
    argNames:
    - apps
    - dirname
    - prefix
    argTypes:
    - GHashTable**
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 797
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 797
    functionName: get_apps_from_dir
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_dir_open
    - g_strdup
    - g_strconcat
    - g_str_has_suffix
    - g_hash_table_insert
    - g_dir_read_name
    - g_hash_table_new_full
    - g_build_filename
    - get_apps_from_dir
    - g_file_test
    - g_free
    - g_dir_close
    linkageType: ''
    returnType: void
    signature: 'static void get_apps_from_dir (GHashTable **apps, const char *dirname,
      const char *prefix) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_strv_length
      Src: /src/glib/gio/gdesktopappinfo.c:856,1
    - Dst: g_renew
      Src: /src/glib/gio/gdesktopappinfo.c:858,1
    - Dst: g_strv_length
      Src: /src/glib/gio/gdesktopappinfo.c:857,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gdesktopappinfo.c:870,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gdesktopappinfo.c:865,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:877,1
    - Dst: g_free
      Src: /src/glib/gio/gdesktopappinfo.c:883,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 26
    argCount: 3
    argNames:
    - strv_ptr
    - to_add
    - blocklist
    argTypes:
    - gchar***
    - gchar**
    - gchar**
    constantsTouched: []
    func_position:
      end: 884
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 884
    functionName: expand_strv
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_free
    - g_renew
    - g_strv_length
    - g_str_equal
    linkageType: ''
    returnType: void
    signature: 'static void expand_strv (gchar ***strv_ptr, gchar **to_add, gchar
      * const *blocklist) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_str_equal
      Src: /src/glib/gio/gdesktopappinfo.c:1287,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - array
    - str
    argTypes:
    - GPtrArray*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1291
      start: 1280
    functionDepth: 0
    functionLinenumber: 1280
    functionLinenumberEnd: 1291
    functionName: array_contains
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_str_equal
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean array_contains (GPtrArray *array, const gchar *str) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_new
      Src: /src/glib/gio/gdesktopappinfo.c:898,1
    - Dst: g_key_file_free
      Src: /src/glib/gio/gdesktopappinfo.c:901,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:911,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:928,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:972,1
    - Dst: g_warning
      Src: /src/glib/gio/gdesktopappinfo.c:909,1
    - Dst: g_key_file_get_keys
      Src: /src/glib/gio/gdesktopappinfo.c:905,1
    - Dst: g_key_file_get_keys
      Src: /src/glib/gio/gdesktopappinfo.c:957,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:937,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdesktopappinfo.c:954,1
    - Dst: g_key_file_free
      Src: /src/glib/gio/gdesktopappinfo.c:975,1
    - Dst: desktop_file_dir_unindexed_get_tweaks
      Src: /src/glib/gio/gdesktopappinfo.c:967,1
    - Dst: g_key_file_load_from_file
      Src: /src/glib/gio/gdesktopappinfo.c:899,1
    - Dst: g_key_file_get_string_list
      Src: /src/glib/gio/gdesktopappinfo.c:919,1
    - Dst: desktop_file_dir_unindexed_get_tweaks
      Src: /src/glib/gio/gdesktopappinfo.c:923,1
    - Dst: expand_strv
      Src: /src/glib/gio/gdesktopappinfo.c:924,1
    - Dst: g_key_file_get_string_list
      Src: /src/glib/gio/gdesktopappinfo.c:945,1
    - Dst: expand_strv
      Src: /src/glib/gio/gdesktopappinfo.c:950,1
    - Dst: g_key_file_get_string_list
      Src: /src/glib/gio/gdesktopappinfo.c:963,1
    - Dst: g_key_file_get_keys
      Src: /src/glib/gio/gdesktopappinfo.c:931,1
    - Dst: g_warning
      Src: /src/glib/gio/gdesktopappinfo.c:935,1
    - Dst: desktop_file_dir_unindexed_get_tweaks
      Src: /src/glib/gio/gdesktopappinfo.c:949,1
    - Dst: expand_strv
      Src: /src/glib/gio/gdesktopappinfo.c:968,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 64
    argCount: 4
    argNames:
    - dir
    - filename
    - added_group
    - tweaks_permitted
    argTypes:
    - DesktopFileDir*
    - gchar*
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 976
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 976
    functionName: desktop_file_dir_unindexed_read_mimeapps_list
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_key_file_new
    - g_key_file_free
    - g_warning
    - g_key_file_get_string_list
    - expand_strv
    - g_strfreev
    - g_key_file_get_keys
    - g_key_file_load_from_file
    - desktop_file_dir_unindexed_get_tweaks
    linkageType: ''
    returnType: void
    signature: 'static void desktop_file_dir_unindexed_read_mimeapps_list (DesktopFileDir
      *dir, const gchar *filename, const gchar *added_group, gboolean tweaks_permitted) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdesktopappinfo.c:1302,1
    - Dst: array_contains
      Src: /src/glib/gio/gdesktopappinfo.c:1314,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdesktopappinfo.c:1315,1
    - Dst: desktop_file_dir_app_name_is_masked
      Src: /src/glib/gio/gdesktopappinfo.c:1313,1
    - Dst: array_contains
      Src: /src/glib/gio/gdesktopappinfo.c:1314,1
    - Dst: desktop_file_dir_app_name_is_masked
      Src: /src/glib/gio/gdesktopappinfo.c:1325,1
    - Dst: array_contains
      Src: /src/glib/gio/gdesktopappinfo.c:1326,1
    - Dst: array_contains
      Src: /src/glib/gio/gdesktopappinfo.c:1326,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdesktopappinfo.c:1327,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 28
    argCount: 4
    argNames:
    - dir
    - mime_type
    - hits
    - blocklist
    argTypes:
    - DesktopFileDir*
    - gchar*
    - GPtrArray*
    - GPtrArray*
    constantsTouched: []
    func_position:
      end: 1330
      start: 1293
    functionDepth: 0
    functionLinenumber: 1293
    functionLinenumberEnd: 1330
    functionName: desktop_file_dir_unindexed_mime_lookup
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - desktop_file_dir_app_name_is_masked
    - array_contains
    - g_hash_table_lookup
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void desktop_file_dir_unindexed_mime_lookup (DesktopFileDir
      *dir, const gchar *mime_type, GPtrArray *hits, GPtrArray *blocklist) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: desktop_file_dir_unindexed_get_app
      Src: /src/glib/gio/gdesktopappinfo.c:1521,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1522
      start: 1514
    functionDepth: 0
    functionLinenumber: 1514
    functionLinenumberEnd: 1522
    functionName: desktop_file_dir_get_app
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - desktop_file_dir_unindexed_get_app
    linkageType: ''
    returnType: GDesktopAppInfo*
    signature: 'static GDesktopAppInfo *desktop_file_dir_get_app (DesktopFileDir *dir,
      const gchar *desktop_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 592
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 592
    functionName: compare_categories
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint
    signature: 'static gint compare_categories (gconstpointer a, gconstpointer b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gdesktopappinfo.c:1077,1
    - Dst: g_desktop_app_info_new_from_filename_unlocked
      Src: /src/glib/gio/gdesktopappinfo.c:1083,1
    - Dst: desktop_file_dir_app_name_is_masked
      Src: /src/glib/gio/gdesktopappinfo.c:1080,1
    - Dst: add_to_table_if_appropriate
      Src: /src/glib/gio/gdesktopappinfo.c:1083,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gdesktopappinfo.c:1078,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - dir
    - apps
    argTypes:
    - DesktopFileDir*
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 1085
      start: 1066
    functionDepth: 0
    functionLinenumber: 1066
    functionLinenumberEnd: 1085
    functionName: desktop_file_dir_unindexed_get_all
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_hash_table_iter_init
    - g_desktop_app_info_new_from_filename_unlocked
    - add_to_table_if_appropriate
    - desktop_file_dir_app_name_is_masked
    - g_hash_table_iter_next
    linkageType: ''
    returnType: void
    signature: 'static void desktop_file_dir_unindexed_get_all (DesktopFileDir *dir,
      GHashTable *apps) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - info
    argTypes:
    - GDesktopAppInfo*
    constantsTouched: []
    func_position:
      end: 2262
      start: 2258
    functionDepth: 0
    functionLinenumber: 2258
    functionLinenumberEnd: 2262
    functionName: g_desktop_app_info_get_is_hidden
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_desktop_app_info_get_is_hidden (GDesktopAppInfo *info) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_TASK
      Src: /src/glib/gio/gdesktopappinfo.c:3420,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gdesktopappinfo.c:3423,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gdesktopappinfo.c:3422,1
    - Dst: G_DESKTOP_APP_INFO
      Src: /src/glib/gio/gdesktopappinfo.c:3421,1
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/gdesktopappinfo.c:3421,1
    - Dst: g_bus_get_finish
      Src: /src/glib/gio/gdesktopappinfo.c:3427,1
    - Dst: g_desktop_app_info_launch_uris_with_dbus
      Src: /src/glib/gio/gdesktopappinfo.c:3435,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdesktopappinfo.c:3439,1
    - Dst: g_desktop_app_info_launch_uris_with_spawn
      Src: /src/glib/gio/gdesktopappinfo.c:3447,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gdesktopappinfo.c:3454,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gdesktopappinfo.c:3464,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdesktopappinfo.c:3465,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdesktopappinfo.c:3455,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdesktopappinfo.c:3461,1
    - Dst: g_dbus_connection_flush
      Src: /src/glib/gio/gdesktopappinfo.c:3458,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdesktopappinfo.c:3469,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdesktopappinfo.c:3454,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 3470
      start: 3415
    functionDepth: 0
    functionLinenumber: 3415
    functionLinenumberEnd: 3470
    functionName: launch_uris_bus_get_cb
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_steal_pointer
    - g_dbus_connection_flush
    - g_object_unref
    - g_task_get_cancellable
    - g_task_get_source_object
    - G_DESKTOP_APP_INFO
    - g_desktop_app_info_launch_uris_with_spawn
    - g_clear_object
    - g_desktop_app_info_launch_uris_with_dbus
    - g_task_get_task_data
    - G_TASK
    - g_bus_get_finish
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void launch_uris_bus_get_cb (GObject *object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_str_equal
      Src: /src/glib/gio/gdesktopappinfo.c:5082,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - info
    - action_name
    argTypes:
    - GDesktopAppInfo*
    - gchar*
    constantsTouched: []
    func_position:
      end: 5086
      start: 5075
    functionDepth: 0
    functionLinenumber: 5075
    functionLinenumberEnd: 5086
    functionName: app_info_has_action
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_str_equal
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean app_info_has_action (GDesktopAppInfo *info, const
      gchar *action_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MAX
      Src: /src/glib/gio/gdesktopappinfo.c:601,1
    - Dst: g_renew
      Src: /src/glib/gio/gdesktopappinfo.c:602,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - app_name
    - category
    - match_type
    argTypes:
    - gchar*
    - guint16
    - guint16
    constantsTouched: []
    func_position:
      end: 609
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 609
    functionName: add_token_result
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_renew
    - MAX
    linkageType: ''
    returnType: void
    signature: 'static void add_token_result (const gchar *app_name, guint16 category,
      guint16 match_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/gdesktopappinfo.c:3483,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gdesktopappinfo.c:3484,1
    - Dst: g_new0
      Src: /src/glib/gio/gdesktopappinfo.c:3486,1
    - Dst: g_set_object
      Src: /src/glib/gio/gdesktopappinfo.c:3488,1
    - Dst: g_list_copy_deep
      Src: /src/glib/gio/gdesktopappinfo.c:3487,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gdesktopappinfo.c:3489,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdesktopappinfo.c:3489,1
    - Dst: g_bus_get
      Src: /src/glib/gio/gdesktopappinfo.c:3491,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 6
    argNames:
    - appinfo
    - uris
    - context
    - cancellable
    - callback
    - user_data
    argTypes:
    - GAppInfo*
    - GList*
    - GAppLaunchContext*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 3492
      start: 3472
    functionDepth: 0
    functionLinenumber: 3472
    functionLinenumberEnd: 3492
    functionName: g_desktop_app_info_launch_uris_async
    functionSourceFile: /src/glib/gio/gdesktopappinfo.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_list_copy_deep
    - g_task_new
    - g_task_set_source_tag
    - g_set_object
    - g_bus_get
    - g_task_set_task_data
    - g_new0
    linkageType: ''
    returnType: void
    signature: 'static void g_desktop_app_info_launch_uris_async (GAppInfo *appinfo,
      GList *uris, GAppLaunchContext *context, GCancellable *cancellable, GAsyncReadyCallback
      callback, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_BYTES_ICON
      Src: /src/glib/gio/gbytesicon.c:70,1
    - Dst: g_value_set_boxed
      Src: /src/glib/gio/gbytesicon.c:75,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gbytesicon.c:79,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 81
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 81
    functionName: g_bytes_icon_get_property
    functionSourceFile: /src/glib/gio/gbytesicon.c
    functionUses: []
    functionsReached:
    - G_BYTES_ICON
    - g_value_set_boxed
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: 'static void g_bytes_icon_get_property (GObject *object, guint prop_id,
      GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - GBytesIcon*
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: g_bytes_icon_init
    functionSourceFile: /src/glib/gio/gbytesicon.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_bytes_icon_init (GBytesIcon *bytes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_BYTES_ICON
      Src: /src/glib/gio/gbytesicon.c:107,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/gbytesicon.c:109,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gbytesicon.c:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: g_bytes_icon_finalize
    functionSourceFile: /src/glib/gio/gbytesicon.c
    functionUses: []
    functionsReached:
    - G_BYTES_ICON
    - g_bytes_unref
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_bytes_icon_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gbytesicon.c:174,1
    - Dst: G_IS_BYTES_ICON
      Src: /src/glib/gio/gbytesicon.c:174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 177
    functionName: g_bytes_icon_get_bytes
    functionSourceFile: /src/glib/gio/gbytesicon.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_BYTES_ICON
    linkageType: ''
    returnType: GBytes*
    signature: 'GBytes *g_bytes_icon_get_bytes (GBytesIcon *icon) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_BYTES_ICON
      Src: /src/glib/gio/gbytesicon.c:191,1
    - Dst: G_BYTES_ICON
      Src: /src/glib/gio/gbytesicon.c:192,1
    - Dst: g_bytes_equal
      Src: /src/glib/gio/gbytesicon.c:194,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - icon1
    - icon2
    argTypes:
    - GIcon*
    - GIcon*
    constantsTouched: []
    func_position:
      end: 195
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 195
    functionName: g_bytes_icon_equal
    functionSourceFile: /src/glib/gio/gbytesicon.c
    functionUses: []
    functionsReached:
    - G_BYTES_ICON
    - g_bytes_equal
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_bytes_icon_equal (GIcon *icon1, GIcon *icon2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GIconIface*
    constantsTouched: []
    func_position:
      end: 212
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 212
    functionName: g_bytes_icon_icon_iface_init
    functionSourceFile: /src/glib/gio/gbytesicon.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_bytes_icon_icon_iface_init (GIconIface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_BYTES_ICON
      Src: /src/glib/gio/gbytesicon.c:236,1
    - Dst: g_task_new
      Src: /src/glib/gio/gbytesicon.c:239,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gbytesicon.c:241,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gbytesicon.c:240,1
    - Dst: g_memory_input_stream_new_from_bytes
      Src: /src/glib/gio/gbytesicon.c:241,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gbytesicon.c:242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 5
    argNames:
    - icon
    - size
    - cancellable
    - callback
    - user_data
    argTypes:
    - GLoadableIcon*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 243
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 243
    functionName: g_bytes_icon_load_async
    functionSourceFile: /src/glib/gio/gbytesicon.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_object_unref
    - g_task_return_pointer
    - g_task_set_source_tag
    - g_memory_input_stream_new_from_bytes
    - G_BYTES_ICON
    linkageType: ''
    returnType: void
    signature: 'static void g_bytes_icon_load_async (GLoadableIcon *icon, int size,
      GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_BYTES_ICON
      Src: /src/glib/gio/gbytesicon.c:89,1
    - Dst: g_value_dup_boxed
      Src: /src/glib/gio/gbytesicon.c:94,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gbytesicon.c:98,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 100
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 100
    functionName: g_bytes_icon_set_property
    functionSourceFile: /src/glib/gio/gbytesicon.c
    functionUses: []
    functionsReached:
    - G_BYTES_ICON
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_dup_boxed
    linkageType: ''
    returnType: void
    signature: 'static void g_bytes_icon_set_property (GObject *object, guint prop_id,
      const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gbytesicon.c:117,1
    - Dst: g_param_spec_boxed
      Src: /src/glib/gio/gbytesicon.c:129,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gbytesicon.c:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GBytesIconClass*
    constantsTouched: []
    func_position:
      end: 132
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 132
    functionName: g_bytes_icon_class_init
    functionSourceFile: /src/glib/gio/gbytesicon.c
    functionUses: []
    functionsReached:
    - g_param_spec_boxed
    - g_object_class_install_property
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_bytes_icon_class_init (GBytesIconClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_BYTES_ICON
      Src: /src/glib/gio/gbytesicon.c:182,1
    - Dst: g_bytes_hash
      Src: /src/glib/gio/gbytesicon.c:184,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - icon
    argTypes:
    - GIcon*
    constantsTouched: []
    func_position:
      end: 185
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 185
    functionName: g_bytes_icon_hash
    functionSourceFile: /src/glib/gio/gbytesicon.c
    functionUses: []
    functionsReached:
    - G_BYTES_ICON
    - g_bytes_hash
    linkageType: ''
    returnType: guint
    signature: 'static guint g_bytes_icon_hash (GIcon *icon) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_BYTES_ICON
      Src: /src/glib/gio/gbytesicon.c:200,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gbytesicon.c:202,1
    - Dst: g_variant_new_from_bytes
      Src: /src/glib/gio/gbytesicon.c:203,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 204
    functionName: g_bytes_icon_serialize
    functionSourceFile: /src/glib/gio/gbytesicon.c
    functionUses: []
    functionsReached:
    - G_BYTES_ICON
    - g_variant_new_from_bytes
    - g_variant_new
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_bytes_icon_serialize (GIcon *icon) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_BYTES_ICON
      Src: /src/glib/gio/gbytesicon.c:221,1
    - Dst: g_memory_input_stream_new_from_bytes
      Src: /src/glib/gio/gbytesicon.c:226,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 227
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 227
    functionName: g_bytes_icon_load
    functionSourceFile: /src/glib/gio/gbytesicon.c
    functionUses: []
    functionsReached:
    - G_BYTES_ICON
    - g_memory_input_stream_new_from_bytes
    linkageType: ''
    returnType: GInputStream*
    signature: 'static GInputStream *g_bytes_icon_load (GLoadableIcon *icon, int size,
      char **type, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gbytesicon.c:251,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gbytesicon.c:256,1
    - Dst: G_TASK
      Src: /src/glib/gio/gbytesicon.c:256,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gbytesicon.c:251,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 257
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 257
    functionName: g_bytes_icon_load_finish
    functionSourceFile: /src/glib/gio/gbytesicon.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_return_val_if_fail
    - g_task_is_valid
    - g_task_propagate_pointer
    linkageType: ''
    returnType: GInputStream*
    signature: 'static GInputStream *g_bytes_icon_load_finish (GLoadableIcon *icon,
      GAsyncResult *res, char **type, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GLoadableIconIface*
    constantsTouched: []
    func_position:
      end: 265
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 265
    functionName: g_bytes_icon_loadable_icon_iface_init
    functionSourceFile: /src/glib/gio/gbytesicon.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_bytes_icon_loadable_icon_iface_init (GLoadableIconIface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gbytesicon.c:156,1
    - Dst: g_object_new
      Src: /src/glib/gio/gbytesicon.c:158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: g_bytes_icon_new
    functionSourceFile: /src/glib/gio/gbytesicon.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_object_new
    linkageType: ''
    returnType: GIcon*
    signature: 'GIcon *g_bytes_icon_new (GBytes *bytes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:467,1
    - Dst: G_IS_DTLS_CONNECTION
      Src: /src/glib/gio/gdtlsconnection.c:467,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdtlsconnection.c:469,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdtlsconnection.c:471,1
    - Dst: g_object_get
      Src: /src/glib/gio/gdtlsconnection.c:469,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 474
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 474
    functionName: g_dtls_connection_get_certificate
    functionSourceFile: /src/glib/gio/gdtlsconnection.c
    functionUses: []
    functionsReached:
    - g_object_get
    - g_return_val_if_fail
    - g_object_unref
    - G_OBJECT
    - G_IS_DTLS_CONNECTION
    linkageType: ''
    returnType: GTlsCertificate*
    signature: 'GTlsCertificate *g_dtls_connection_get_certificate (GDtlsConnection
      *conn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_emit
      Src: /src/glib/gio/gdtlsconnection.c:1046,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - conn
    - peer_cert
    - errors
    argTypes:
    - GDtlsConnection*
    - GTlsCertificate*
    - GTlsCertificateFlags
    constantsTouched: []
    func_position:
      end: 1049
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1049
    functionName: g_dtls_connection_emit_accept_certificate
    functionSourceFile: /src/glib/gio/gdtlsconnection.c
    functionUses: []
    functionsReached:
    - g_signal_emit
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dtls_connection_emit_accept_certificate (GDtlsConnection
      *conn, GTlsCertificate *peer_cert, GTlsCertificateFlags errors) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:1145,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:1146,1
    - Dst: G_IS_DTLS_CONNECTION
      Src: /src/glib/gio/gdtlsconnection.c:1145,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdtlsconnection.c:1151,1
    - Dst: G_DTLS_CONNECTION_GET_INTERFACE
      Src: /src/glib/gio/gdtlsconnection.c:1148,1
    - Dst: _
      Src: /src/glib/gio/gdtlsconnection.c:1153,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 4
    argNames:
    - conn
    - type
    - data
    - error
    argTypes:
    - GDtlsConnection*
    - GTlsChannelBindingType
    - GByteArray*
    - GError**
    constantsTouched: []
    func_position:
      end: 1158
      start: 1137
    functionDepth: 0
    functionLinenumber: 1137
    functionLinenumberEnd: 1158
    functionName: g_dtls_connection_get_channel_binding_data
    functionSourceFile: /src/glib/gio/gdtlsconnection.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_set_error_literal
    - G_DTLS_CONNECTION_GET_INTERFACE
    - _
    - G_IS_DTLS_CONNECTION
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dtls_connection_get_channel_binding_data (GDtlsConnection
      *conn, GTlsChannelBindingType type, GByteArray *data, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:665,1
    - Dst: G_IS_DTLS_CONNECTION
      Src: /src/glib/gio/gdtlsconnection.c:665,1
    - Dst: g_object_set
      Src: /src/glib/gio/gdtlsconnection.c:667,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdtlsconnection.c:667,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - conn
    - mode
    argTypes:
    - GDtlsConnection*
    - GTlsRehandshakeMode
    constantsTouched: []
    func_position:
      end: 670
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 670
    functionName: g_dtls_connection_set_rehandshake_mode
    functionSourceFile: /src/glib/gio/gdtlsconnection.c
    functionUses: []
    functionsReached:
    - g_object_set
    - G_IS_DTLS_CONNECTION
    - G_OBJECT
    - g_return_if_fail
    linkageType: ''
    returnType: G_GNUC_BEGIN_IGNORE_DEPRECATIONS
    signature: 'G_GNUC_BEGIN_IGNORE_DEPRECATIONS void g_dtls_connection_set_rehandshake_mode
      (GDtlsConnection *conn, GTlsRehandshakeMode mode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:990,1
    - Dst: G_IS_DTLS_CONNECTION
      Src: /src/glib/gio/gdtlsconnection.c:990,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gdtlsconnection.c:991,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:991,1
    - Dst: G_DTLS_CONNECTION_GET_INTERFACE
      Src: /src/glib/gio/gdtlsconnection.c:993,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 5
    argNames:
    - conn
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GDtlsConnection*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 997
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 997
    functionName: g_dtls_connection_close_async
    functionSourceFile: /src/glib/gio/gdtlsconnection.c
    functionUses: []
    functionsReached:
    - G_DTLS_CONNECTION_GET_INTERFACE
    - G_IS_DTLS_CONNECTION
    - G_IS_CANCELLABLE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dtls_connection_close_async (GDtlsConnection *conn, int io_priority,
      GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:1018,1
    - Dst: G_IS_DTLS_CONNECTION
      Src: /src/glib/gio/gdtlsconnection.c:1018,1
    - Dst: G_DTLS_CONNECTION_GET_INTERFACE
      Src: /src/glib/gio/gdtlsconnection.c:1021,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:1019,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - conn
    - result
    - error
    argTypes:
    - GDtlsConnection*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 1023
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1023
    functionName: g_dtls_connection_close_finish
    functionSourceFile: /src/glib/gio/gdtlsconnection.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DTLS_CONNECTION
    - G_DTLS_CONNECTION_GET_INTERFACE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dtls_connection_close_finish (GDtlsConnection *conn, GAsyncResult
      *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:445,1
    - Dst: g_object_set
      Src: /src/glib/gio/gdtlsconnection.c:448,1
    - Dst: G_IS_DTLS_CONNECTION
      Src: /src/glib/gio/gdtlsconnection.c:445,1
    - Dst: G_IS_TLS_CERTIFICATE
      Src: /src/glib/gio/gdtlsconnection.c:446,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:446,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdtlsconnection.c:448,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - conn
    - certificate
    argTypes:
    - GDtlsConnection*
    - GTlsCertificate*
    constantsTouched: []
    func_position:
      end: 449
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 449
    functionName: g_dtls_connection_set_certificate
    functionSourceFile: /src/glib/gio/gdtlsconnection.c
    functionUses: []
    functionsReached:
    - g_object_set
    - g_return_if_fail
    - G_IS_TLS_CERTIFICATE
    - G_OBJECT
    - G_IS_DTLS_CONNECTION
    linkageType: ''
    returnType: void
    signature: 'void g_dtls_connection_set_certificate (GDtlsConnection *conn, GTlsCertificate
      *certificate) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:800,1
    - Dst: G_DTLS_CONNECTION_GET_INTERFACE
      Src: /src/glib/gio/gdtlsconnection.c:802,1
    - Dst: G_IS_DTLS_CONNECTION
      Src: /src/glib/gio/gdtlsconnection.c:800,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - conn
    - result
    - error
    argTypes:
    - GDtlsConnection*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 805
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 805
    functionName: g_dtls_connection_handshake_finish
    functionSourceFile: /src/glib/gio/gdtlsconnection.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DTLS_CONNECTION
    - G_DTLS_CONNECTION_GET_INTERFACE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dtls_connection_handshake_finish (GDtlsConnection *conn,
      GAsyncResult *result, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:405,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdtlsconnection.c:407,1
    - Dst: G_IS_DTLS_CONNECTION
      Src: /src/glib/gio/gdtlsconnection.c:405,1
    - Dst: g_object_get
      Src: /src/glib/gio/gdtlsconnection.c:407,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdtlsconnection.c:411,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 413
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 413
    functionName: g_dtls_connection_get_database
    functionSourceFile: /src/glib/gio/gdtlsconnection.c
    functionUses: []
    functionsReached:
    - g_object_get
    - g_return_val_if_fail
    - g_object_unref
    - G_OBJECT
    - G_IS_DTLS_CONNECTION
    linkageType: ''
    returnType: GTlsDatabase*
    signature: 'GTlsDatabase *g_dtls_connection_get_database (GDtlsConnection *conn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:494,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:495,1
    - Dst: G_IS_TLS_INTERACTION
      Src: /src/glib/gio/gdtlsconnection.c:495,1
    - Dst: G_IS_DTLS_CONNECTION
      Src: /src/glib/gio/gdtlsconnection.c:494,1
    - Dst: g_object_set
      Src: /src/glib/gio/gdtlsconnection.c:497,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdtlsconnection.c:497,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - conn
    - interaction
    argTypes:
    - GDtlsConnection*
    - GTlsInteraction*
    constantsTouched: []
    func_position:
      end: 498
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 498
    functionName: g_dtls_connection_set_interaction
    functionSourceFile: /src/glib/gio/gdtlsconnection.c
    functionUses: []
    functionsReached:
    - g_object_set
    - g_return_if_fail
    - G_OBJECT
    - G_IS_TLS_INTERACTION
    - G_IS_DTLS_CONNECTION
    linkageType: ''
    returnType: void
    signature: 'void g_dtls_connection_set_interaction (GDtlsConnection *conn, GTlsInteraction
      *interaction) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:1180,1
    - Dst: G_IS_DTLS_CONNECTION
      Src: /src/glib/gio/gdtlsconnection.c:1180,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdtlsconnection.c:1182,1
    - Dst: g_type_class_peek_static
      Src: /src/glib/gio/gdtlsconnection.c:1187,1
    - Dst: g_object_get
      Src: /src/glib/gio/gdtlsconnection.c:1182,1
    - Dst: g_enum_get_value
      Src: /src/glib/gio/gdtlsconnection.c:1188,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - conn
    argTypes:
    - GDtlsConnection*
    constantsTouched: []
    func_position:
      end: 1190
      start: 1173
    functionDepth: 0
    functionLinenumber: 1173
    functionLinenumberEnd: 1190
    functionName: g_dtls_connection_get_protocol_version
    functionSourceFile: /src/glib/gio/gdtlsconnection.c
    functionUses: []
    functionsReached:
    - g_object_get
    - g_return_val_if_fail
    - g_enum_get_value
    - G_OBJECT
    - g_type_class_peek_static
    - G_IS_DTLS_CONNECTION
    linkageType: ''
    returnType: GTlsProtocolVersion
    signature: 'GTlsProtocolVersion g_dtls_connection_get_protocol_version (GDtlsConnection
      *conn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gdtlsconnection.c:139,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gdtlsconnection.c:153,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gdtlsconnection.c:202,1
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gdtlsconnection.c:241,1
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gdtlsconnection.c:184,1
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gdtlsconnection.c:267,1
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gdtlsconnection.c:281,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gdtlsconnection.c:353,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gdtlsconnection.c:98,1
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gdtlsconnection.c:152,1
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gdtlsconnection.c:201,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gdtlsconnection.c:255,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gdtlsconnection.c:344,1
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gdtlsconnection.c:97,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gdtlsconnection.c:126,1
    - Dst: g_param_spec_enum
      Src: /src/glib/gio/gdtlsconnection.c:169,1
    - Dst: g_param_spec_flags
      Src: /src/glib/gio/gdtlsconnection.c:227,1
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gdtlsconnection.c:254,1
    - Dst: I_
      Src: /src/glib/gio/gdtlsconnection.c:344,1
    - Dst: G_TYPE_FROM_INTERFACE
      Src: /src/glib/gio/gdtlsconnection.c:354,1
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gdtlsconnection.c:125,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gdtlsconnection.c:140,1
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gdtlsconnection.c:168,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gdtlsconnection.c:185,1
    - Dst: g_param_spec_boxed
      Src: /src/glib/gio/gdtlsconnection.c:242,1
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gdtlsconnection.c:226,1
    - Dst: g_param_spec_enum
      Src: /src/glib/gio/gdtlsconnection.c:268,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gdtlsconnection.c:282,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gdtlsconnection.c:347,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 47
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GDtlsConnectionInterface*
    constantsTouched: []
    func_position:
      end: 356
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 356
    functionName: g_dtls_connection_default_init
    functionSourceFile: /src/glib/gio/gdtlsconnection.c
    functionUses: []
    functionsReached:
    - I_
    - G_STRUCT_OFFSET
    - g_param_spec_boolean
    - g_object_interface_install_property
    - g_param_spec_object
    - g_param_spec_boxed
    - g_signal_set_va_marshaller
    - G_TYPE_FROM_INTERFACE
    - g_signal_new
    - g_param_spec_string
    - g_param_spec_enum
    - g_param_spec_flags
    linkageType: ''
    returnType: void
    signature: 'static void g_dtls_connection_default_init (GDtlsConnectionInterface
      *iface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:543,1
    - Dst: G_IS_DTLS_CONNECTION
      Src: /src/glib/gio/gdtlsconnection.c:543,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdtlsconnection.c:547,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdtlsconnection.c:545,1
    - Dst: g_object_get
      Src: /src/glib/gio/gdtlsconnection.c:545,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 550
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 550
    functionName: g_dtls_connection_get_peer_certificate
    functionSourceFile: /src/glib/gio/gdtlsconnection.c
    functionUses: []
    functionsReached:
    - g_object_get
    - g_return_val_if_fail
    - g_object_unref
    - G_OBJECT
    - G_IS_DTLS_CONNECTION
    linkageType: ''
    returnType: GTlsCertificate*
    signature: 'GTlsCertificate *g_dtls_connection_get_peer_certificate (GDtlsConnection
      *conn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:569,1
    - Dst: G_IS_DTLS_CONNECTION
      Src: /src/glib/gio/gdtlsconnection.c:569,1
    - Dst: g_object_get
      Src: /src/glib/gio/gdtlsconnection.c:571,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdtlsconnection.c:571,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - conn
    argTypes:
    - GDtlsConnection*
    constantsTouched: []
    func_position:
      end: 573
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 573
    functionName: g_dtls_connection_get_peer_certificate_errors
    functionSourceFile: /src/glib/gio/gdtlsconnection.c
    functionUses: []
    functionsReached:
    - g_object_get
    - g_return_val_if_fail
    - G_IS_DTLS_CONNECTION
    - G_OBJECT
    linkageType: ''
    returnType: GTlsCertificateFlags
    signature: 'GTlsCertificateFlags g_dtls_connection_get_peer_certificate_errors
      (GDtlsConnection *conn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:774,1
    - Dst: G_DTLS_CONNECTION_GET_INTERFACE
      Src: /src/glib/gio/gdtlsconnection.c:776,1
    - Dst: G_IS_DTLS_CONNECTION
      Src: /src/glib/gio/gdtlsconnection.c:774,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 5
    argNames:
    - conn
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GDtlsConnection*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 779
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 779
    functionName: g_dtls_connection_handshake_async
    functionSourceFile: /src/glib/gio/gdtlsconnection.c
    functionUses: []
    functionsReached:
    - G_IS_DTLS_CONNECTION
    - G_DTLS_CONNECTION_GET_INTERFACE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dtls_connection_handshake_async (GDtlsConnection *conn, int
      io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer
      user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DTLS_CONNECTION_GET_INTERFACE
      Src: /src/glib/gio/gdtlsconnection.c:1104,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1109
    functionName: g_dtls_connection_get_negotiated_protocol
    functionSourceFile: /src/glib/gio/gdtlsconnection.c
    functionUses: []
    functionsReached:
    - G_DTLS_CONNECTION_GET_INTERFACE
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_dtls_connection_get_negotiated_protocol (GDtlsConnection
      *conn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:694,1
    - Dst: G_IS_DTLS_CONNECTION
      Src: /src/glib/gio/gdtlsconnection.c:694,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdtlsconnection.c:699,1
    - Dst: g_object_get
      Src: /src/glib/gio/gdtlsconnection.c:699,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - conn
    argTypes:
    - GDtlsConnection*
    constantsTouched: []
    func_position:
      end: 703
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 703
    functionName: g_dtls_connection_get_rehandshake_mode
    functionSourceFile: /src/glib/gio/gdtlsconnection.c
    functionUses: []
    functionsReached:
    - g_object_get
    - g_return_val_if_fail
    - G_IS_DTLS_CONNECTION
    - G_OBJECT
    linkageType: ''
    returnType: GTlsRehandshakeMode
    signature: 'GTlsRehandshakeMode g_dtls_connection_get_rehandshake_mode (GDtlsConnection
      *conn) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:517,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdtlsconnection.c:519,1
    - Dst: G_IS_DTLS_CONNECTION
      Src: /src/glib/gio/gdtlsconnection.c:517,1
    - Dst: g_object_get
      Src: /src/glib/gio/gdtlsconnection.c:519,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdtlsconnection.c:521,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 524
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 524
    functionName: g_dtls_connection_get_interaction
    functionSourceFile: /src/glib/gio/gdtlsconnection.c
    functionUses: []
    functionsReached:
    - g_object_get
    - g_return_val_if_fail
    - g_object_unref
    - G_OBJECT
    - G_IS_DTLS_CONNECTION
    linkageType: ''
    returnType: GTlsInteraction*
    signature: 'GTlsInteraction *g_dtls_connection_get_interaction (GDtlsConnection
      *conn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:748,1
    - Dst: G_IS_DTLS_CONNECTION
      Src: /src/glib/gio/gdtlsconnection.c:748,1
    - Dst: G_DTLS_CONNECTION_GET_INTERFACE
      Src: /src/glib/gio/gdtlsconnection.c:750,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - conn
    - cancellable
    - error
    argTypes:
    - GDtlsConnection*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 752
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 752
    functionName: g_dtls_connection_handshake
    functionSourceFile: /src/glib/gio/gdtlsconnection.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DTLS_CONNECTION
    - G_DTLS_CONNECTION_GET_INTERFACE
    linkageType: ''
    returnType: G_GNUC_END_IGNORE_DEPRECATIONS
    signature: 'G_GNUC_END_IGNORE_DEPRECATIONS /** * g_dtls_connection_handshake:
      * @conn: a #GDtlsConnection * @cancellable: (nullable): a #GCancellable, or
      %NULL * @error: a #GError, or %NULL * * Attempts a TLS handshake on @conn. *
      * On the client side, it is never necessary to call this method; * although
      the connection needs to perform a handshake after * connecting, #GDtlsConnection
      will handle this for you automatically * when you try to send or receive data
      on the connection. You can call * g_dtls_connection_handshake() manually if
      you want to know whether * the initial handshake succeeded or failed (as opposed
      to just * immediately trying to use @conn to read or write, in which case, *
      if it fails, it may not be possible to tell if it failed before * or after completing
      the handshake), but beware that servers may reject * client authentication after
      the handshake has completed, so a * successful handshake does not indicate the
      connection will be usable. * * Likewise, on the server side, although a handshake
      is necessary at * the beginning of the communication, you do not need to call
      this * function explicitly unless you want clearer error reporting. * * Previously,
      calling g_dtls_connection_handshake() after the initial * handshake would trigger
      a rehandshake; however, this usage was * deprecated in GLib 2.60 because rehandshaking
      was removed from the * TLS protocol in TLS 1.3. Since GLib 2.64, calling this
      function after * the initial handshake will no longer do anything. * * #GDtlsConnection::accept_certificate
      may be emitted during the * handshake. * * Returns: success or failure * * Since:
      2.48 */ gboolean g_dtls_connection_handshake (GDtlsConnection *conn, GCancellable
      *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:845,1
    - Dst: G_IS_DTLS_CONNECTION
      Src: /src/glib/gio/gdtlsconnection.c:845,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:846,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:848,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gdtlsconnection.c:846,1
    - Dst: G_DTLS_CONNECTION_GET_INTERFACE
      Src: /src/glib/gio/gdtlsconnection.c:853,1
    - Dst: g_assert
      Src: /src/glib/gio/gdtlsconnection.c:854,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 5
    argNames:
    - conn
    - shutdown_read
    - shutdown_write
    - cancellable
    - error
    argTypes:
    - GDtlsConnection*
    - gboolean
    - gboolean
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 858
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 858
    functionName: g_dtls_connection_shutdown
    functionSourceFile: /src/glib/gio/gdtlsconnection.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_assert
    - G_IS_CANCELLABLE
    - G_DTLS_CONNECTION_GET_INTERFACE
    - G_IS_DTLS_CONNECTION
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dtls_connection_shutdown (GDtlsConnection *conn, gboolean
      shutdown_read, gboolean shutdown_write, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DTLS_CONNECTION_GET_INTERFACE
      Src: /src/glib/gio/gdtlsconnection.c:1076,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - conn
    - protocols
    argTypes:
    - GDtlsConnection*
    - gchar**
    constantsTouched: []
    func_position:
      end: 1081
      start: 1070
    functionDepth: 0
    functionLinenumber: 1070
    functionLinenumberEnd: 1081
    functionName: g_dtls_connection_set_advertised_protocols
    functionSourceFile: /src/glib/gio/gdtlsconnection.c
    functionUses: []
    functionsReached:
    - G_DTLS_CONNECTION_GET_INTERFACE
    linkageType: ''
    returnType: void
    signature: 'void g_dtls_connection_set_advertised_protocols (GDtlsConnection *conn,
      const gchar * const *protocols) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:636,1
    - Dst: g_object_get
      Src: /src/glib/gio/gdtlsconnection.c:638,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdtlsconnection.c:638,1
    - Dst: G_IS_DTLS_CONNECTION
      Src: /src/glib/gio/gdtlsconnection.c:636,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - conn
    argTypes:
    - GDtlsConnection*
    constantsTouched: []
    func_position:
      end: 642
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 642
    functionName: g_dtls_connection_get_require_close_notify
    functionSourceFile: /src/glib/gio/gdtlsconnection.c
    functionUses: []
    functionsReached:
    - g_object_get
    - g_return_val_if_fail
    - G_IS_DTLS_CONNECTION
    - G_OBJECT
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dtls_connection_get_require_close_notify (GDtlsConnection
      *conn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:917,1
    - Dst: g_assert
      Src: /src/glib/gio/gdtlsconnection.c:921,1
    - Dst: G_IS_DTLS_CONNECTION
      Src: /src/glib/gio/gdtlsconnection.c:917,1
    - Dst: G_DTLS_CONNECTION_GET_INTERFACE
      Src: /src/glib/gio/gdtlsconnection.c:920,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:918,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - conn
    - result
    - error
    argTypes:
    - GDtlsConnection*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 924
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 924
    functionName: g_dtls_connection_shutdown_finish
    functionSourceFile: /src/glib/gio/gdtlsconnection.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_return_val_if_fail
    - G_IS_DTLS_CONNECTION
    - G_DTLS_CONNECTION_GET_INTERFACE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dtls_connection_shutdown_finish (GDtlsConnection *conn,
      GAsyncResult *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:961,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:962,1
    - Dst: G_IS_DTLS_CONNECTION
      Src: /src/glib/gio/gdtlsconnection.c:961,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gdtlsconnection.c:962,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:964,1
    - Dst: G_DTLS_CONNECTION_GET_INTERFACE
      Src: /src/glib/gio/gdtlsconnection.c:966,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - conn
    - cancellable
    - error
    argTypes:
    - GDtlsConnection*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 968
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 968
    functionName: g_dtls_connection_close
    functionSourceFile: /src/glib/gio/gdtlsconnection.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DTLS_CONNECTION
    - G_IS_CANCELLABLE
    - G_DTLS_CONNECTION_GET_INTERFACE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dtls_connection_close (GDtlsConnection *conn, GCancellable
      *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:381,1
    - Dst: g_object_set
      Src: /src/glib/gio/gdtlsconnection.c:384,1
    - Dst: G_IS_DTLS_CONNECTION
      Src: /src/glib/gio/gdtlsconnection.c:381,1
    - Dst: G_IS_TLS_DATABASE
      Src: /src/glib/gio/gdtlsconnection.c:382,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:382,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdtlsconnection.c:384,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - conn
    - database
    argTypes:
    - GDtlsConnection*
    - GTlsDatabase*
    constantsTouched: []
    func_position:
      end: 387
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 387
    functionName: g_dtls_connection_set_database
    functionSourceFile: /src/glib/gio/gdtlsconnection.c
    functionUses: []
    functionsReached:
    - g_object_set
    - G_IS_TLS_DATABASE
    - g_return_if_fail
    - G_OBJECT
    - G_IS_DTLS_CONNECTION
    linkageType: ''
    returnType: void
    signature: 'void g_dtls_connection_set_database (GDtlsConnection *conn, GTlsDatabase
      *database) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:612,1
    - Dst: G_IS_DTLS_CONNECTION
      Src: /src/glib/gio/gdtlsconnection.c:612,1
    - Dst: g_object_set
      Src: /src/glib/gio/gdtlsconnection.c:614,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdtlsconnection.c:614,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - conn
    - require_close_notify
    argTypes:
    - GDtlsConnection*
    - gboolean
    constantsTouched: []
    func_position:
      end: 617
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 617
    functionName: g_dtls_connection_set_require_close_notify
    functionSourceFile: /src/glib/gio/gdtlsconnection.c
    functionUses: []
    functionsReached:
    - g_object_set
    - G_IS_DTLS_CONNECTION
    - G_OBJECT
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dtls_connection_set_require_close_notify (GDtlsConnection *conn,
      gboolean require_close_notify) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:886,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:887,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gdtlsconnection.c:887,1
    - Dst: G_IS_DTLS_CONNECTION
      Src: /src/glib/gio/gdtlsconnection.c:886,1
    - Dst: G_DTLS_CONNECTION_GET_INTERFACE
      Src: /src/glib/gio/gdtlsconnection.c:889,1
    - Dst: g_assert
      Src: /src/glib/gio/gdtlsconnection.c:890,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 7
    argNames:
    - conn
    - shutdown_read
    - shutdown_write
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GDtlsConnection*
    - gboolean
    - gboolean
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 894
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 894
    functionName: g_dtls_connection_shutdown_async
    functionSourceFile: /src/glib/gio/gdtlsconnection.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - g_assert
    - G_IS_CANCELLABLE
    - G_DTLS_CONNECTION_GET_INTERFACE
    - G_IS_DTLS_CONNECTION
    linkageType: ''
    returnType: void
    signature: 'void g_dtls_connection_shutdown_async (GDtlsConnection *conn, gboolean
      shutdown_read, gboolean shutdown_write, int io_priority, GCancellable *cancellable,
      GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdtlsconnection.c:1214,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdtlsconnection.c:1220,1
    - Dst: g_object_get
      Src: /src/glib/gio/gdtlsconnection.c:1216,1
    - Dst: G_IS_DTLS_CONNECTION
      Src: /src/glib/gio/gdtlsconnection.c:1214,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdtlsconnection.c:1216,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1209
    functionDepth: 0
    functionLinenumber: 1209
    functionLinenumberEnd: 1221
    functionName: g_dtls_connection_get_ciphersuite_name
    functionSourceFile: /src/glib/gio/gdtlsconnection.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_object_get
    - g_return_val_if_fail
    - G_OBJECT
    - G_IS_DTLS_CONNECTION
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_dtls_connection_get_ciphersuite_name (GDtlsConnection *conn) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:898,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gsubprocess.c:908,1
    - Dst: G_IS_SUBPROCESS
      Src: /src/glib/gio/gsubprocess.c:898,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gsubprocess.c:914,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gsubprocess.c:916,1
    - Dst: g_subprocess_sync_setup
      Src: /src/glib/gio/gsubprocess.c:922,1
    - Dst: g_subprocess_wait_async
      Src: /src/glib/gio/gsubprocess.c:923,1
    - Dst: g_subprocess_sync_complete
      Src: /src/glib/gio/gsubprocess.c:924,1
    - Dst: g_subprocess_wait_finish
      Src: /src/glib/gio/gsubprocess.c:925,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsubprocess.c:926,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - subprocess
    - cancellable
    - error
    argTypes:
    - GSubprocess*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 929
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 929
    functionName: g_subprocess_wait
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_object_unref
    - g_mutex_unlock
    - g_mutex_lock
    - g_subprocess_wait_finish
    - g_subprocess_sync_setup
    - G_IS_SUBPROCESS
    - g_subprocess_sync_complete
    - g_cancellable_set_error_if_cancelled
    - g_subprocess_wait_async
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_subprocess_wait (GSubprocess *subprocess, GCancellable
      *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:1332,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gsubprocess.c:1334,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gsubprocess.c:1337,1
    - Dst: G_IS_SUBPROCESS
      Src: /src/glib/gio/gsubprocess.c:1332,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:1339,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:1342,1
    - Dst: WIFSIGNALED
      Src: /src/glib/gio/gsubprocess.c:1342,1
    - Dst: WTERMSIG
      Src: /src/glib/gio/gsubprocess.c:1344,1
    - Dst: g_critical
      Src: /src/glib/gio/gsubprocess.c:1346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - subprocess
    argTypes:
    - GSubprocess*
    constantsTouched: []
    func_position:
      end: 1350
      start: 1326
    functionDepth: 0
    functionLinenumber: 1326
    functionLinenumberEnd: 1350
    functionName: g_subprocess_get_term_sig
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - WTERMSIG
    - g_mutex_unlock
    - g_mutex_lock
    - G_IS_SUBPROCESS
    - g_critical
    - WIFSIGNALED
    linkageType: ''
    returnType: gint
    signature: 'gint g_subprocess_get_term_sig (GSubprocess *subprocess) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:1739,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:1740,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gsubprocess.c:1740,1
    - Dst: G_IS_SUBPROCESS
      Src: /src/glib/gio/gsubprocess.c:1739,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:1741,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsubprocess.c:1743,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gsubprocess.c:1745,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gsubprocess.c:1746,1
    - Dst: g_memory_output_stream_steal_as_bytes
      Src: /src/glib/gio/gsubprocess.c:1751,1
    - Dst: g_memory_output_stream_steal_as_bytes
      Src: /src/glib/gio/gsubprocess.c:1753,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsubprocess.c:1756,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 5
    argNames:
    - subprocess
    - result
    - stdout_buf
    - stderr_buf
    - error
    argTypes:
    - GSubprocess*
    - GAsyncResult*
    - GBytes**
    - GBytes**
    - GError**
    constantsTouched: []
    func_position:
      end: 1758
      start: 1729
    functionDepth: 0
    functionLinenumber: 1729
    functionLinenumberEnd: 1758
    functionName: g_subprocess_communicate_finish
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_object_unref
    - g_memory_output_stream_steal_as_bytes
    - g_task_is_valid
    - g_task_get_task_data
    - g_object_ref
    - G_IS_SUBPROCESS
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_subprocess_communicate_finish (GSubprocess *subprocess,
      GAsyncResult *result, GBytes **stdout_buf, GBytes **stderr_buf, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gsubprocess.c:1028,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gsubprocess.c:1031,1
    - Dst: kill
      Src: /src/glib/gio/gsubprocess.c:1030,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gsubprocess.c:1035,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsubprocess.c:1033,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1038
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1038
    functionName: g_subprocess_actually_send_signal
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_mutex_unlock
    - g_mutex_lock
    - kill
    - g_slice_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_subprocess_actually_send_signal (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_ref
      Src: /src/glib/gio/gsubprocess.c:1044,1
    - Dst: G_IS_SUBPROCESS
      Src: /src/glib/gio/gsubprocess.c:1046,1
    - Dst: g_main_context_invoke_full
      Src: /src/glib/gio/gsubprocess.c:1059,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsubprocess.c:1046,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gsubprocess.c:1059,1
    - Dst: g_slice_dup
      Src: /src/glib/gio/gsubprocess.c:1062,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - subprocess
    - signalnum
    argTypes:
    - GSubprocess*
    - gint
    constantsTouched: []
    func_position:
      end: 1064
      start: 1040
    functionDepth: 0
    functionLinenumber: 1040
    functionLinenumberEnd: 1064
    functionName: g_subprocess_dispatch_signal
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_main_context_invoke_full
    - g_return_if_fail
    - GLIB_PRIVATE_CALL
    - g_object_ref
    - g_slice_dup
    - G_IS_SUBPROCESS
    linkageType: ''
    returnType: void
    signature: 'static void g_subprocess_dispatch_signal (GSubprocess *subprocess,
      gint signalnum) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unix_open_file
      Src: /src/glib/gio/gsubprocess.c:357,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - launcher
    argTypes:
    - self
    constantsTouched: []
    func_position:
      end: 361
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 361
    functionName: if
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - unix_open_file
    linkageType: ''
    returnType: else
    signature: 'else if (self->launcher) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/gsubprocess.c:788,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gsubprocess.c:800,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gsubprocess.c:791,1
    - Dst: g_signal_connect_object
      Src: /src/glib/gio/gsubprocess.c:799,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gsubprocess.c:789,1
    - Dst: g_slist_prepend
      Src: /src/glib/gio/gsubprocess.c:803,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gsubprocess.c:806,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gsubprocess.c:811,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsubprocess.c:812,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 4
    argNames:
    - subprocess
    - cancellable
    - callback
    - user_data
    argTypes:
    - GSubprocess*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 814
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 814
    functionName: g_subprocess_wait_async
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_task_new
    - g_object_unref
    - g_mutex_unlock
    - g_mutex_lock
    - g_task_set_source_tag
    - G_CALLBACK
    - g_signal_connect_object
    - g_slist_prepend
    linkageType: ''
    returnType: void
    signature: 'void g_subprocess_wait_async (GSubprocess *subprocess, GCancellable
      *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsubprocess.c:1085,1
    - Dst: g_subprocess_dispatch_signal
      Src: /src/glib/gio/gsubprocess.c:1087,1
    - Dst: G_IS_SUBPROCESS
      Src: /src/glib/gio/gsubprocess.c:1085,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - subprocess
    - signal_num
    argTypes:
    - GSubprocess*
    - gint
    constantsTouched: []
    func_position:
      end: 1088
      start: 1081
    functionDepth: 0
    functionLinenumber: 1081
    functionLinenumberEnd: 1088
    functionName: g_subprocess_send_signal
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - G_IS_SUBPROCESS
    - g_subprocess_dispatch_signal
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_subprocess_send_signal (GSubprocess *subprocess, gint signal_num) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsubprocess.c:1108,1
    - Dst: G_IS_SUBPROCESS
      Src: /src/glib/gio/gsubprocess.c:1108,1
    - Dst: TerminateProcess
      Src: /src/glib/gio/gsubprocess.c:1114,1
    - Dst: g_subprocess_dispatch_signal
      Src: /src/glib/gio/gsubprocess.c:1111,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gsubprocess.c:1113,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gsubprocess.c:1115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - subprocess
    argTypes:
    - GSubprocess*
    constantsTouched: []
    func_position:
      end: 1117
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1117
    functionName: g_subprocess_force_exit
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - TerminateProcess
    - g_subprocess_dispatch_signal
    - g_mutex_unlock
    - g_mutex_lock
    - g_return_if_fail
    - G_IS_SUBPROCESS
    linkageType: ''
    returnType: void
    signature: 'void g_subprocess_force_exit (GSubprocess *subprocess) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:1255,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:1262,1
    - Dst: G_IS_SUBPROCESS
      Src: /src/glib/gio/gsubprocess.c:1255,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gsubprocess.c:1257,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gsubprocess.c:1260,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:1265,1
    - Dst: WIFEXITED
      Src: /src/glib/gio/gsubprocess.c:1265,1
    - Dst: WEXITSTATUS
      Src: /src/glib/gio/gsubprocess.c:1267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - subprocess
    argTypes:
    - GSubprocess*
    constantsTouched: []
    func_position:
      end: 1271
      start: 1249
    functionDepth: 0
    functionLinenumber: 1249
    functionLinenumberEnd: 1271
    functionName: g_subprocess_get_exit_status
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_mutex_unlock
    - g_mutex_lock
    - WIFEXITED
    - WEXITSTATUS
    - G_IS_SUBPROCESS
    linkageType: ''
    returnType: gint
    signature: 'gint g_subprocess_get_exit_status (GSubprocess *subprocess) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:1294,1
    - Dst: G_IS_SUBPROCESS
      Src: /src/glib/gio/gsubprocess.c:1294,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:1301,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gsubprocess.c:1299,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gsubprocess.c:1296,1
    - Dst: WIFSIGNALED
      Src: /src/glib/gio/gsubprocess.c:1304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - subprocess
    argTypes:
    - GSubprocess*
    constantsTouched: []
    func_position:
      end: 1308
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1308
    functionName: g_subprocess_get_if_signaled
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_mutex_unlock
    - g_mutex_lock
    - G_IS_SUBPROCESS
    - WIFSIGNALED
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_subprocess_get_if_signaled (GSubprocess *subprocess) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_output_stream_new
      Src: /src/glib/gio/gsubprocess.c:208,1
    - Dst: g_win32_output_stream_new_from_fd
      Src: /src/glib/gio/gsubprocess.c:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 212
    functionName: platform_output_stream_from_spawn_fd
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_win32_output_stream_new_from_fd
    - g_unix_output_stream_new
    linkageType: ''
    returnType: GOutputStream*
    signature: 'static GOutputStream *platform_output_stream_from_spawn_fd (gint fd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_open
      Src: /src/glib/gio/gsubprocess.c:222,1
    - Dst: _
      Src: /src/glib/gio/gsubprocess.c:232,1
    - Dst: g_filename_display_name
      Src: /src/glib/gio/gsubprocess.c:230,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsubprocess.c:231,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gsubprocess.c:231,1
    - Dst: g_strerror
      Src: /src/glib/gio/gsubprocess.c:233,1
    - Dst: g_free
      Src: /src/glib/gio/gsubprocess.c:234,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - filename
    - mode
    - error
    argTypes:
    - char*
    - gint
    - GError**
    constantsTouched: []
    func_position:
      end: 243
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 243
    functionName: unix_open_file
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_io_error_from_errno
    - g_strerror
    - g_filename_display_name
    - _
    - g_open
    - g_free
    linkageType: ''
    returnType: gint
    signature: 'static gint unix_open_file (const char *filename, gint mode, GError
      **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unix_open_file
      Src: /src/glib/gio/gsubprocess.c:338,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - launcher
    argTypes:
    - self
    constantsTouched: []
    func_position:
      end: 342
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 342
    functionName: if
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - unix_open_file
    linkageType: ''
    returnType: else
    signature: 'else if (self->launcher) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:645,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gsubprocess.c:647,1
    - Dst: G_IS_SUBPROCESS
      Src: /src/glib/gio/gsubprocess.c:645,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gsubprocess.c:649,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 652
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 652
    functionName: g_subprocess_get_identifier
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_SUBPROCESS
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_subprocess_get_identifier (GSubprocess *subprocess) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:693,1
    - Dst: G_IS_SUBPROCESS
      Src: /src/glib/gio/gsubprocess.c:693,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 696
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 696
    functionName: g_subprocess_get_stdout_pipe
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_SUBPROCESS
    linkageType: ''
    returnType: GInputStream*
    signature: 'GInputStream *g_subprocess_get_stdout_pipe (GSubprocess *subprocess) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:1178,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gsubprocess.c:1180,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:1185,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gsubprocess.c:1183,1
    - Dst: G_IS_SUBPROCESS
      Src: /src/glib/gio/gsubprocess.c:1178,1
    - Dst: WIFEXITED
      Src: /src/glib/gio/gsubprocess.c:1188,1
    - Dst: WEXITSTATUS
      Src: /src/glib/gio/gsubprocess.c:1188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - subprocess
    argTypes:
    - GSubprocess*
    constantsTouched: []
    func_position:
      end: 1192
      start: 1172
    functionDepth: 0
    functionLinenumber: 1172
    functionLinenumberEnd: 1192
    functionName: g_subprocess_get_successful
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_mutex_unlock
    - g_mutex_lock
    - WIFEXITED
    - WEXITSTATUS
    - G_IS_SUBPROCESS
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_subprocess_get_successful (GSubprocess *subprocess) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:1679,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:1681,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:1680,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gsubprocess.c:1681,1
    - Dst: G_IS_SUBPROCESS
      Src: /src/glib/gio/gsubprocess.c:1679,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:1682,1
    - Dst: g_subprocess_sync_setup
      Src: /src/glib/gio/gsubprocess.c:1684,1
    - Dst: g_subprocess_communicate_internal
      Src: /src/glib/gio/gsubprocess.c:1685,1
    - Dst: g_subprocess_sync_complete
      Src: /src/glib/gio/gsubprocess.c:1687,1
    - Dst: g_subprocess_communicate_finish
      Src: /src/glib/gio/gsubprocess.c:1688,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsubprocess.c:1689,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 6
    argNames:
    - subprocess
    - stdin_buf
    - cancellable
    - stdout_buf
    - stderr_buf
    - error
    argTypes:
    - GSubprocess*
    - GBytes*
    - GCancellable*
    - GBytes**
    - GBytes**
    - GError**
    constantsTouched: []
    func_position:
      end: 1692
      start: 1668
    functionDepth: 0
    functionLinenumber: 1668
    functionLinenumberEnd: 1692
    functionName: g_subprocess_communicate
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_object_unref
    - G_IS_CANCELLABLE
    - g_subprocess_communicate_internal
    - g_subprocess_sync_setup
    - g_subprocess_sync_complete
    - g_subprocess_communicate_finish
    - G_IS_SUBPROCESS
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_subprocess_communicate (GSubprocess *subprocess, GBytes
      *stdin_buf, GCancellable *cancellable, GBytes **stdout_buf, GBytes **stderr_buf,
      GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unix_open_file
      Src: /src/glib/gio/gsubprocess.c:379,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - launcher
    argTypes:
    - self
    constantsTouched: []
    func_position:
      end: 383
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 383
    functionName: if
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - unix_open_file
    linkageType: ''
    returnType: else
    signature: 'else if (self->launcher) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:620,1
    - Dst: g_initable_new
      Src: /src/glib/gio/gsubprocess.c:622,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 626
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 626
    functionName: g_subprocess_newv
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_initable_new
    linkageType: ''
    returnType: GSubprocess*
    signature: 'GSubprocess *g_subprocess_newv (const gchar * const *argv, GSubprocessFlags
      flags, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:671,1
    - Dst: G_IS_SUBPROCESS
      Src: /src/glib/gio/gsubprocess.c:671,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 674
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 674
    functionName: g_subprocess_get_stdin_pipe
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_SUBPROCESS
    linkageType: ''
    returnType: GOutputStream*
    signature: 'GOutputStream *g_subprocess_get_stdin_pipe (GSubprocess *subprocess) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_subprocess_wait
      Src: /src/glib/gio/gsubprocess.c:951,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gsubprocess.c:956,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gsubprocess.c:954,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/gio/gsubprocess.c:958,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - subprocess
    - cancellable
    - error
    argTypes:
    - GSubprocess*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 959
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 959
    functionName: g_subprocess_wait_check
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_spawn_check_wait_status
    - g_subprocess_wait
    - g_mutex_lock
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_subprocess_wait_check (GSubprocess *subprocess, GCancellable
      *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:1145,1
    - Dst: G_IS_SUBPROCESS
      Src: /src/glib/gio/gsubprocess.c:1145,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:1152,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gsubprocess.c:1150,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gsubprocess.c:1147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - subprocess
    argTypes:
    - GSubprocess*
    constantsTouched: []
    func_position:
      end: 1155
      start: 1139
    functionDepth: 0
    functionLinenumber: 1139
    functionLinenumberEnd: 1155
    functionName: g_subprocess_get_status
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_SUBPROCESS
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: gint
    signature: 'gint g_subprocess_get_status (GSubprocess *subprocess) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:1788,1
    - Dst: G_IS_SUBPROCESS
      Src: /src/glib/gio/gsubprocess.c:1788,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:1790,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:1789,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gsubprocess.c:1790,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:1791,1
    - Dst: strlen
      Src: /src/glib/gio/gsubprocess.c:1794,1
    - Dst: g_bytes_new
      Src: /src/glib/gio/gsubprocess.c:1795,1
    - Dst: g_subprocess_sync_setup
      Src: /src/glib/gio/gsubprocess.c:1797,1
    - Dst: g_subprocess_communicate_internal
      Src: /src/glib/gio/gsubprocess.c:1798,1
    - Dst: g_subprocess_sync_complete
      Src: /src/glib/gio/gsubprocess.c:1800,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsubprocess.c:1802,1
    - Dst: g_subprocess_communicate_utf8_finish
      Src: /src/glib/gio/gsubprocess.c:1801,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/gsubprocess.c:1804,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 27
    argCount: 6
    argNames:
    - subprocess
    - stdin_buf
    - cancellable
    - stdout_buf
    - stderr_buf
    - error
    argTypes:
    - GSubprocess*
    - char*
    - GCancellable*
    - char**
    - char**
    - GError**
    constantsTouched: []
    func_position:
      end: 1806
      start: 1775
    functionDepth: 0
    functionLinenumber: 1775
    functionLinenumberEnd: 1806
    functionName: g_subprocess_communicate_utf8
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_bytes_new
    - g_return_val_if_fail
    - g_object_unref
    - strlen
    - G_IS_CANCELLABLE
    - g_bytes_unref
    - g_subprocess_communicate_internal
    - g_subprocess_sync_setup
    - g_subprocess_communicate_utf8_finish
    - g_subprocess_sync_complete
    - G_IS_SUBPROCESS
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_subprocess_communicate_utf8 (GSubprocess *subprocess, const
      char *stdin_buf, GCancellable *cancellable, char **stdout_buf, char **stderr_buf,
      GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:1893,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gsubprocess.c:1894,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:1895,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:1894,1
    - Dst: G_IS_SUBPROCESS
      Src: /src/glib/gio/gsubprocess.c:1893,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsubprocess.c:1897,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gsubprocess.c:1899,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gsubprocess.c:1900,1
    - Dst: communicate_result_validate_utf8
      Src: /src/glib/gio/gsubprocess.c:1905,1
    - Dst: communicate_result_validate_utf8
      Src: /src/glib/gio/gsubprocess.c:1909,1
    - Dst: g_free
      Src: /src/glib/gio/gsubprocess.c:1923,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gsubprocess.c:1919,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsubprocess.c:1916,1
    - Dst: g_free
      Src: /src/glib/gio/gsubprocess.c:1924,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gsubprocess.c:1921,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 30
    argCount: 5
    argNames:
    - subprocess
    - result
    - stdout_buf
    - stderr_buf
    - error
    argTypes:
    - GSubprocess*
    - GAsyncResult*
    - char**
    - char**
    - GError**
    constantsTouched: []
    func_position:
      end: 1927
      start: 1882
    functionDepth: 0
    functionLinenumber: 1882
    functionLinenumberEnd: 1927
    functionName: g_subprocess_communicate_utf8_finish
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_task_propagate_boolean
    - g_steal_pointer
    - g_return_val_if_fail
    - g_object_unref
    - g_free
    - g_task_is_valid
    - g_task_get_task_data
    - g_object_ref
    - G_IS_SUBPROCESS
    - communicate_result_validate_utf8
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_subprocess_communicate_utf8_finish (GSubprocess *subprocess,
      GAsyncResult *result, char **stdout_buf, char **stderr_buf, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_SUBPROCESS
      Src: /src/glib/gio/gsubprocess.c:252,1
    - Dst: g_value_dup_boxed
      Src: /src/glib/gio/gsubprocess.c:261,1
    - Dst: g_value_get_flags
      Src: /src/glib/gio/gsubprocess.c:257,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gsubprocess.c:265,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 267
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 267
    functionName: g_subprocess_set_property
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_value_dup_boxed
    - g_value_get_flags
    - G_SUBPROCESS
    - g_assert_not_reached
    linkageType: ''
    returnType: void
    signature: 'static void g_subprocess_set_property (GObject *object, guint prop_id,
      const GValue *value, GParamSpec *pspec) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: unix_open_file
      Src: /src/glib/gio/gsubprocess.c:357,1
    - Dst: unix_open_file
      Src: /src/glib/gio/gsubprocess.c:379,1
    - Dst: g_assert
      Src: /src/glib/gio/gsubprocess.c:420,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gsubprocess.c:449,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gsubprocess.c:448,1
    - Dst: g_child_watch_source_new
      Src: /src/glib/gio/gsubprocess.c:447,1
    - Dst: platform_input_stream_from_spawn_fd
      Src: /src/glib/gio/gsubprocess.c:464,1
    - Dst: unix_open_file
      Src: /src/glib/gio/gsubprocess.c:338,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gsubprocess.c:422,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gsubprocess.c:424,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gsubprocess.c:446,1
    - Dst: close
      Src: /src/glib/gio/gsubprocess.c:461,1
    - Dst: platform_output_stream_from_spawn_fd
      Src: /src/glib/gio/gsubprocess.c:463,1
    - Dst: G_SUBPROCESS
      Src: /src/glib/gio/gsubprocess.c:303,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gsubprocess.c:319,1
    - Dst: strchr
      Src: /src/glib/gio/gsubprocess.c:387,1
    - Dst: g_spawn_async_with_pipes_and_fds
      Src: /src/glib/gio/gsubprocess.c:401,1
    - Dst: g_assert
      Src: /src/glib/gio/gsubprocess.c:437,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsubprocess.c:448,1
    - Dst: GetProcessId
      Src: /src/glib/gio/gsubprocess.c:431,1
    - Dst: g_snprintf
      Src: /src/glib/gio/gsubprocess.c:436,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gsubprocess.c:450,1
    - Dst: platform_input_stream_from_spawn_fd
      Src: /src/glib/gio/gsubprocess.c:465,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 99
    argCount: 3
    argNames:
    - initable
    - cancellable
    - error
    argTypes:
    - GInitable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 468
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 468
    functionName: initable_init
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - platform_output_stream_from_spawn_fd
    - GLIB_PRIVATE_CALL
    - g_snprintf
    - g_cancellable_set_error_if_cancelled
    - g_mutex_unlock
    - platform_input_stream_from_spawn_fd
    - g_source_attach
    - G_SUBPROCESS
    - g_source_unref
    - g_spawn_async_with_pipes_and_fds
    - g_mutex_lock
    - g_child_watch_source_new
    - GetProcessId
    - unix_open_file
    - g_assert
    - strchr
    - close
    - g_object_ref
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean initable_init (GInitable *initable, GCancellable *cancellable,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_init
      Src: /src/glib/gio/gsubprocess.c:491,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - GSubprocess*
    constantsTouched: []
    func_position:
      end: 492
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 492
    functionName: g_subprocess_init
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_mutex_init
    linkageType: ''
    returnType: void
    signature: 'static void g_subprocess_init (GSubprocess *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:581,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:582,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gsubprocess.c:587,1
    - Dst: va_start
      Src: /src/glib/gio/gsubprocess.c:586,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gsubprocess.c:584,1
    - Dst: va_arg
      Src: /src/glib/gio/gsubprocess.c:588,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gsubprocess.c:589,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gsubprocess.c:590,1
    - Dst: va_end
      Src: /src/glib/gio/gsubprocess.c:591,1
    - Dst: g_subprocess_newv
      Src: /src/glib/gio/gsubprocess.c:593,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gsubprocess.c:595,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 598
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 598
    functionName: g_subprocess_new
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - va_start
    - g_subprocess_newv
    - g_return_val_if_fail
    - va_arg
    - va_end
    - g_ptr_array_free
    - g_ptr_array_new
    - g_ptr_array_add
    linkageType: ''
    returnType: GSubprocess*
    signature: 'GSubprocess *g_subprocess_new (GSubprocessFlags flags, GError **error,
      const gchar *argv0, ...) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_free_1
      Src: /src/glib/gio/gsubprocess.c:737,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - list
    - data
    argTypes:
    - GSList**
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 744
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 744
    functionName: slist_remove_if_present
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_slist_free_1
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean slist_remove_if_present (GSList **list, gconstpointer
      data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_ref
      Src: /src/glib/gio/gsubprocess.c:853,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - source_object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 854
      start: 846
    functionDepth: 0
    functionLinenumber: 846
    functionLinenumberEnd: 854
    functionName: g_subprocess_sync_done
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_object_ref
    linkageType: ''
    returnType: void
    signature: 'static void g_subprocess_sync_done (GObject *source_object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_subprocess_wait_finish
      Src: /src/glib/gio/gsubprocess.c:1003,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gsubprocess.c:1006,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gsubprocess.c:1008,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/gio/gsubprocess.c:1010,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - subprocess
    - result
    - error
    argTypes:
    - GSubprocess*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 1011
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 1011
    functionName: g_subprocess_wait_check_finish
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_spawn_check_wait_status
    - g_subprocess_wait_finish
    - g_mutex_lock
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_subprocess_wait_check_finish (GSubprocess *subprocess,
      GAsyncResult *result, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_input_stream_new
      Src: /src/glib/gio/gsubprocess.c:195,1
    - Dst: g_win32_input_stream_new_from_fd
      Src: /src/glib/gio/gsubprocess.c:197,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 199
    functionName: platform_input_stream_from_spawn_fd
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_win32_input_stream_new_from_fd
    - g_unix_input_stream_new
    linkageType: ''
    returnType: GInputStream*
    signature: 'static GInputStream *platform_input_stream_from_spawn_fd (gint fd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gsubprocess.c:277,1
    - Dst: g_assert
      Src: /src/glib/gio/gsubprocess.c:278,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsubprocess.c:289,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gsubprocess.c:283,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gsubprocess.c:288,1
    - Dst: g_slist_delete_link
      Src: /src/glib/gio/gsubprocess.c:290,1
    - Dst: g_spawn_close_pid
      Src: /src/glib/gio/gsubprocess.c:293,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - pid
    - status
    - user_data
    argTypes:
    - GPid
    - gint
    - gpointer
    constantsTouched: []
    func_position:
      end: 296
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 296
    functionName: g_subprocess_exited
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_spawn_close_pid
    - g_object_unref
    - g_mutex_unlock
    - g_mutex_lock
    - g_assert
    - g_slist_delete_link
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_subprocess_exited (GPid pid, gint status, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SUBPROCESS
      Src: /src/glib/gio/gsubprocess.c:473,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gsubprocess.c:479,1
    - Dst: g_assert
      Src: /src/glib/gio/gsubprocess.c:476,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gsubprocess.c:478,1
    - Dst: g_assert
      Src: /src/glib/gio/gsubprocess.c:475,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gsubprocess.c:480,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gsubprocess.c:481,1
    - Dst: g_mutex_clear
      Src: /src/glib/gio/gsubprocess.c:483,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsubprocess.c:485,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 486
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 486
    functionName: g_subprocess_finalize
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_mutex_clear
    - G_SUBPROCESS
    - G_OBJECT_CLASS
    - g_strfreev
    - g_clear_object
    linkageType: ''
    returnType: void
    signature: 'static void g_subprocess_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - initable_iface
    argTypes:
    - GInitableIface*
    constantsTouched: []
    func_position:
      end: 498
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 498
    functionName: initable_iface_init
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void initable_iface_init (GInitableIface *initable_iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_get_thread_default
      Src: /src/glib/gio/gsubprocess.c:859,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/gsubprocess.c:865,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/gsubprocess.c:862,1
    - Dst: g_main_context_pop_thread_default
      Src: /src/glib/gio/gsubprocess.c:864,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - result
    argTypes:
    - GAsyncResult**
    constantsTouched: []
    func_position:
      end: 866
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 866
    functionName: g_subprocess_sync_complete
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_main_context_iteration
    - g_main_context_pop_thread_default
    - g_main_context_unref
    - g_main_context_get_thread_default
    linkageType: ''
    returnType: void
    signature: 'static void g_subprocess_sync_complete (GAsyncResult **result) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsubprocess.c:503,1
    - Dst: signal
      Src: /src/glib/gio/gsubprocess.c:519,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsubprocess.c:544,1
    - Dst: g_param_spec_flags
      Src: /src/glib/gio/gsubprocess.c:533,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsubprocess.c:532,1
    - Dst: g_param_spec_boxed
      Src: /src/glib/gio/gsubprocess.c:545,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - class
    argTypes:
    - GSubprocessClass*
    constantsTouched: []
    func_position:
      end: 548
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 548
    functionName: g_subprocess_class_init
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - signal
    - g_param_spec_boxed
    - g_object_class_install_property
    - G_OBJECT_CLASS
    - g_param_spec_flags
    linkageType: ''
    returnType: void
    signature: 'static void g_subprocess_class_init (GSubprocessClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:715,1
    - Dst: G_IS_SUBPROCESS
      Src: /src/glib/gio/gsubprocess.c:715,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 718
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 718
    functionName: g_subprocess_get_stderr_pipe
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_SUBPROCESS
    linkageType: ''
    returnType: GInputStream*
    signature: 'GInputStream *g_subprocess_get_stderr_pipe (GSubprocess *subprocess) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_subprocess_wait_async
      Src: /src/glib/gio/gsubprocess.c:980,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - subprocess
    - cancellable
    - callback
    - user_data
    argTypes:
    - GSubprocess*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 981
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 981
    functionName: g_subprocess_wait_check_async
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_subprocess_wait_async
    linkageType: ''
    returnType: void
    signature: 'void g_subprocess_wait_check_async (GSubprocess *subprocess, GCancellable
      *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - subprocess
    - launcher
    argTypes:
    - GSubprocess*
    - GSubprocessLauncher*
    constantsTouched: []
    func_position:
      end: 1358
      start: 1353
    functionDepth: 0
    functionLinenumber: 1353
    functionLinenumberEnd: 1358
    functionName: g_subprocess_set_launcher
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void g_subprocess_set_launcher (GSubprocess *subprocess, GSubprocessLauncher
      *launcher) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsubprocess.c:1712,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsubprocess.c:1713,1
    - Dst: G_IS_SUBPROCESS
      Src: /src/glib/gio/gsubprocess.c:1712,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsubprocess.c:1714,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gsubprocess.c:1714,1
    - Dst: g_subprocess_communicate_internal
      Src: /src/glib/gio/gsubprocess.c:1716,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 5
    argNames:
    - subprocess
    - stdin_buf
    - cancellable
    - callback
    - user_data
    argTypes:
    - GSubprocess*
    - GBytes*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 1717
      start: 1705
    functionDepth: 0
    functionLinenumber: 1705
    functionLinenumberEnd: 1717
    functionName: g_subprocess_communicate_async
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_subprocess_communicate_internal
    - G_IS_SUBPROCESS
    - G_IS_CANCELLABLE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_subprocess_communicate_async (GSubprocess *subprocess, GBytes
      *stdin_buf, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer
      user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/gsubprocess.c:754,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gsubprocess.c:756,1
    - Dst: slist_remove_if_present
      Src: /src/glib/gio/gsubprocess.c:757,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gsubprocess.c:758,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gsubprocess.c:762,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsubprocess.c:763,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - cancellable
    - user_data
    argTypes:
    - GCancellable*
    - gpointer
    constantsTouched: []
    func_position:
      end: 765
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 765
    functionName: g_subprocess_wait_cancelled
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_object_unref
    - g_mutex_unlock
    - g_mutex_lock
    - slist_remove_if_present
    - g_task_get_source_object
    linkageType: ''
    returnType: void
    signature: 'static void g_subprocess_wait_cancelled (GCancellable *cancellable,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_push_thread_default
      Src: /src/glib/gio/gsubprocess.c:843,1
    - Dst: g_main_context_new
      Src: /src/glib/gio/gsubprocess.c:843,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 844
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 844
    functionName: g_subprocess_sync_setup
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_main_context_push_thread_default
    - g_main_context_new
    linkageType: ''
    returnType: void
    signature: 'static void g_subprocess_sync_setup (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:1216,1
    - Dst: G_IS_SUBPROCESS
      Src: /src/glib/gio/gsubprocess.c:1216,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsubprocess.c:1223,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gsubprocess.c:1221,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gsubprocess.c:1218,1
    - Dst: WIFEXITED
      Src: /src/glib/gio/gsubprocess.c:1226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - subprocess
    argTypes:
    - GSubprocess*
    constantsTouched: []
    func_position:
      end: 1230
      start: 1210
    functionDepth: 0
    functionLinenumber: 1210
    functionLinenumberEnd: 1230
    functionName: g_subprocess_get_if_exited
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_mutex_unlock
    - g_mutex_lock
    - WIFEXITED
    - G_IS_SUBPROCESS
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_subprocess_get_if_exited (GSubprocess *subprocess) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gsubprocess.c:1431,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/gsubprocess.c:1456,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gsubprocess.c:1435,1
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/gsubprocess.c:1434,1
    - Dst: g_output_stream_splice_finish
      Src: /src/glib/gio/gsubprocess.c:1444,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/gsubprocess.c:1460,1
    - Dst: g_subprocess_wait_finish
      Src: /src/glib/gio/gsubprocess.c:1466,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gsubprocess.c:1469,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/gsubprocess.c:1482,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gsubprocess.c:1483,1
    - Dst: g_error_free
      Src: /src/glib/gio/gsubprocess.c:1486,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gsubprocess.c:1490,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsubprocess.c:1494,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 41
    argCount: 3
    argNames:
    - source_object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1495
      start: 1420
    functionDepth: 0
    functionLinenumber: 1420
    functionLinenumberEnd: 1495
    functionName: g_subprocess_communicate_made_progress
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_object_unref
    - g_subprocess_wait_finish
    - g_assert
    - g_output_stream_close
    - g_output_stream_splice_finish
    - g_assert_not_reached
    - g_task_get_source_object
    - g_error_free
    - g_output_stream_write_all
    - g_task_get_task_data
    - g_cancellable_cancel
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void g_subprocess_communicate_made_progress (GObject *source_object,
      GAsyncResult *result, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_object
      Src: /src/glib/gio/gsubprocess.c:1513,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gsubprocess.c:1515,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gsubprocess.c:1514,1
    - Dst: g_source_destroy
      Src: /src/glib/gio/gsubprocess.c:1520,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gsubprocess.c:1516,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gsubprocess.c:1521,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gsubprocess.c:1524,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1525
      start: 1508
    functionDepth: 0
    functionLinenumber: 1508
    functionLinenumberEnd: 1525
    functionName: g_subprocess_communicate_state_free
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - g_source_destroy
    - g_source_unref
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void g_subprocess_communicate_state_free (gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsubprocess.c:1829,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsubprocess.c:1830,1
    - Dst: G_IS_SUBPROCESS
      Src: /src/glib/gio/gsubprocess.c:1829,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsubprocess.c:1831,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gsubprocess.c:1831,1
    - Dst: strlen
      Src: /src/glib/gio/gsubprocess.c:1834,1
    - Dst: g_bytes_new
      Src: /src/glib/gio/gsubprocess.c:1835,1
    - Dst: g_subprocess_communicate_internal
      Src: /src/glib/gio/gsubprocess.c:1837,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/gsubprocess.c:1839,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 5
    argNames:
    - subprocess
    - stdin_buf
    - cancellable
    - callback
    - user_data
    argTypes:
    - GSubprocess*
    - char*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 1840
      start: 1819
    functionDepth: 0
    functionLinenumber: 1819
    functionLinenumberEnd: 1840
    functionName: g_subprocess_communicate_utf8_async
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_bytes_new
    - strlen
    - g_return_if_fail
    - G_IS_CANCELLABLE
    - g_bytes_unref
    - g_subprocess_communicate_internal
    - G_IS_SUBPROCESS
    linkageType: ''
    returnType: void
    signature: 'void g_subprocess_communicate_utf8_async (GSubprocess *subprocess,
      const char *stdin_buf, GCancellable *cancellable, GAsyncReadyCallback callback,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/gsubprocess.c:1503,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - cancellable
    - user_data
    argTypes:
    - GCancellable*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1506
      start: 1497
    functionDepth: 0
    functionLinenumber: 1497
    functionLinenumberEnd: 1506
    functionName: g_subprocess_communicate_cancelled
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_cancellable_cancel
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_subprocess_communicate_cancelled (GCancellable *cancellable,
      gpointer user_data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/gio/gsubprocess.c:1541,1
    - Dst: g_assert
      Src: /src/glib/gio/gsubprocess.c:1559,1
    - Dst: g_task_new
      Src: /src/glib/gio/gsubprocess.c:1538,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gsubprocess.c:1539,1
    - Dst: G_SOURCE_FUNC
      Src: /src/glib/gio/gsubprocess.c:1552,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsubprocess.c:1581,1
    - Dst: g_output_stream_splice_async
      Src: /src/glib/gio/gsubprocess.c:1588,1
    - Dst: g_memory_output_stream_new_resizable
      Src: /src/glib/gio/gsubprocess.c:1587,1
    - Dst: g_unix_output_stream_get_fd
      Src: /src/glib/gio/gsubprocess.c:1574,1
    - Dst: g_output_stream_splice_async
      Src: /src/glib/gio/gsubprocess.c:1578,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsubprocess.c:1591,1
    - Dst: g_memory_output_stream_new_resizable
      Src: /src/glib/gio/gsubprocess.c:1597,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsubprocess.c:1609,1
    - Dst: g_main_context_get_thread_default
      Src: /src/glib/gio/gsubprocess.c:1554,1
    - Dst: g_subprocess_wait_async
      Src: /src/glib/gio/gsubprocess.c:1605,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsubprocess.c:1606,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/gsubprocess.c:1544,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gsubprocess.c:1542,1
    - Dst: g_cancellable_source_new
      Src: /src/glib/gio/gsubprocess.c:1549,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gsubprocess.c:1551,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gsubprocess.c:1554,1
    - Dst: g_unix_set_fd_nonblocking
      Src: /src/glib/gio/gsubprocess.c:1574,1
    - Dst: G_UNIX_OUTPUT_STREAM
      Src: /src/glib/gio/gsubprocess.c:1574,1
    - Dst: g_memory_input_stream_new_from_bytes
      Src: /src/glib/gio/gsubprocess.c:1577,1
    - Dst: g_output_stream_splice_async
      Src: /src/glib/gio/gsubprocess.c:1598,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsubprocess.c:1601,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1611
      start: 1527
    functionDepth: 0
    functionLinenumber: 1527
    functionLinenumberEnd: 1611
    functionName: g_subprocess_communicate_internal
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - g_slice_new0
    - G_UNIX_OUTPUT_STREAM
    - G_SOURCE_FUNC
    - g_object_unref
    - g_task_set_source_tag
    - g_source_attach
    - g_cancellable_source_new
    - g_output_stream_splice_async
    - g_task_new
    - g_memory_output_stream_new_resizable
    - g_main_context_get_thread_default
    - g_memory_input_stream_new_from_bytes
    - g_task_set_task_data
    - g_cancellable_new
    - g_subprocess_wait_async
    - g_assert
    - g_unix_output_stream_get_fd
    - g_object_ref
    - g_unix_set_fd_nonblocking
    linkageType: ''
    returnType: CommunicateState*
    signature: 'static CommunicateState *g_subprocess_communicate_internal (GSubprocess
      *subprocess, gboolean add_nul, GBytes *stdin_buf, GCancellable *cancellable,
      GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_memory_output_stream_steal_data
      Src: /src/glib/gio/gsubprocess.c:1854,1
    - Dst: g_free
      Src: /src/glib/gio/gsubprocess.c:1857,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsubprocess.c:1859,1
    - Dst: g_utf8_validate
      Src: /src/glib/gio/gsubprocess.c:1855,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 4
    argNames:
    - stream_name
    - return_location
    - buffer
    - error
    argTypes:
    - char*
    - char**
    - GMemoryOutputStream*
    - GError**
    constantsTouched: []
    func_position:
      end: 1870
      start: 1842
    functionDepth: 0
    functionLinenumber: 1842
    functionLinenumberEnd: 1870
    functionName: communicate_result_validate_utf8
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_utf8_validate
    - g_free
    - g_memory_output_stream_steal_data
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean communicate_result_validate_utf8 (const char *stream_name,
      char **return_location, GMemoryOutputStream *buffer, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gsubprocess.c:834,1
    - Dst: G_TASK
      Src: /src/glib/gio/gsubprocess.c:834,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - subprocess
    - result
    - error
    argTypes:
    - GSubprocess*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 835
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 835
    functionName: g_subprocess_wait_finish
    functionSourceFile: /src/glib/gio/gsubprocess.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_task_propagate_boolean
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_subprocess_wait_finish (GSubprocess *subprocess, GAsyncResult
      *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gpermission.c:186,1
    - Dst: G_PERMISSION_GET_CLASS
      Src: /src/glib/gio/gpermission.c:187,1
    - Dst: G_IS_PERMISSION
      Src: /src/glib/gio/gpermission.c:186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - permission
    - cancellable
    - error
    argTypes:
    - GPermission*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 189
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 189
    functionName: g_permission_release
    functionSourceFile: /src/glib/gio/gpermission.c
    functionUses: []
    functionsReached:
    - G_IS_PERMISSION
    - g_return_val_if_fail
    - G_PERMISSION_GET_CLASS
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_permission_release (GPermission *permission, GCancellable
      *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gpermission.c:150,1
    - Dst: G_IS_PERMISSION
      Src: /src/glib/gio/gpermission.c:150,1
    - Dst: G_PERMISSION_GET_CLASS
      Src: /src/glib/gio/gpermission.c:151,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - permission
    - result
    - error
    argTypes:
    - GPermission*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: g_permission_acquire_finish
    functionSourceFile: /src/glib/gio/gpermission.c
    functionUses: []
    functionsReached:
    - G_IS_PERMISSION
    - g_return_val_if_fail
    - G_PERMISSION_GET_CLASS
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_permission_acquire_finish (GPermission *permission, GAsyncResult
      *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gpermission.c:237,1
    - Dst: G_PERMISSION_GET_CLASS
      Src: /src/glib/gio/gpermission.c:238,1
    - Dst: G_IS_PERMISSION
      Src: /src/glib/gio/gpermission.c:237,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - permission
    - result
    - error
    argTypes:
    - GPermission*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 240
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 240
    functionName: g_permission_release_finish
    functionSourceFile: /src/glib/gio/gpermission.c
    functionUses: []
    functionsReached:
    - G_IS_PERMISSION
    - g_return_val_if_fail
    - G_PERMISSION_GET_CLASS
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_permission_release_finish (GPermission *permission, GAsyncResult
      *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gpermission.c:276,1
    - Dst: G_IS_PERMISSION
      Src: /src/glib/gio/gpermission.c:276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - permission
    argTypes:
    - GPermission*
    constantsTouched: []
    func_position:
      end: 278
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 278
    functionName: g_permission_get_can_acquire
    functionSourceFile: /src/glib/gio/gpermission.c
    functionUses: []
    functionsReached:
    - G_IS_PERMISSION
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_permission_get_can_acquire (GPermission *permission) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gpermission.c:322,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gpermission.c:331,1
    - Dst: G_IS_PERMISSION
      Src: /src/glib/gio/gpermission.c:322,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gpermission.c:324,1
    - Dst: g_object_freeze_notify
      Src: /src/glib/gio/gpermission.c:325,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gpermission.c:338,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gpermission.c:345,1
    - Dst: g_object_thaw_notify
      Src: /src/glib/gio/gpermission.c:348,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - permission
    - allowed
    - can_acquire
    - can_release
    argTypes:
    - GPermission*
    - gboolean
    - gboolean
    - gboolean
    constantsTouched: []
    func_position:
      end: 349
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 349
    functionName: g_permission_impl_update
    functionSourceFile: /src/glib/gio/gpermission.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - g_object_notify
    - g_object_freeze_notify
    - G_OBJECT
    - G_IS_PERMISSION
    - g_object_thaw_notify
    linkageType: ''
    returnType: void
    signature: 'void g_permission_impl_update (GPermission *permission, gboolean allowed,
      gboolean can_acquire, gboolean can_release) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_permission_get_instance_private
      Src: /src/glib/gio/gpermission.c:379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - permission
    argTypes:
    - GPermission*
    constantsTouched: []
    func_position:
      end: 380
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 380
    functionName: g_permission_init
    functionSourceFile: /src/glib/gio/gpermission.c
    functionUses: []
    functionsReached:
    - g_permission_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_permission_init (GPermission *permission) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gpermission.c:399,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - permission
    - cancellable
    - callback
    - user_data
    argTypes:
    - GPermission*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 404
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 404
    functionName: acquire_or_release_async
    functionSourceFile: /src/glib/gio/gpermission.c
    functionUses: []
    functionsReached:
    - g_task_report_new_error
    linkageType: ''
    returnType: void
    signature: 'static void acquire_or_release_async (GPermission *permission, GCancellable
      *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gpermission.c:99,1
    - Dst: G_PERMISSION_GET_CLASS
      Src: /src/glib/gio/gpermission.c:100,1
    - Dst: G_IS_PERMISSION
      Src: /src/glib/gio/gpermission.c:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - permission
    - cancellable
    - error
    argTypes:
    - GPermission*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: g_permission_acquire
    functionSourceFile: /src/glib/gio/gpermission.c
    functionUses: []
    functionsReached:
    - G_IS_PERMISSION
    - g_return_val_if_fail
    - G_PERMISSION_GET_CLASS
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_permission_acquire (GPermission *permission, GCancellable
      *cancellable, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_PERMISSION
      Src: /src/glib/gio/gpermission.c:355,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gpermission.c:372,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gpermission.c:368,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gpermission.c:360,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gpermission.c:364,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 374
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 374
    functionName: g_permission_get_property
    functionSourceFile: /src/glib/gio/gpermission.c
    functionUses: []
    functionsReached:
    - g_value_set_boolean
    - G_PERMISSION
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: 'static void g_permission_get_property (GObject *object, guint prop_id,
      GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gpermission.c:387,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - permission
    - cancellable
    - error
    argTypes:
    - GPermission*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 391
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 391
    functionName: acquire_or_release
    functionSourceFile: /src/glib/gio/gpermission.c
    functionUses: []
    functionsReached:
    - g_set_error_literal
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean acquire_or_release (GPermission *permission, GCancellable
      *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gpermission.c:411,1
    - Dst: G_TASK
      Src: /src/glib/gio/gpermission.c:411,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - permission
    - result
    - error
    argTypes:
    - GPermission*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 412
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 412
    functionName: acquire_or_release_finish
    functionSourceFile: /src/glib/gio/gpermission.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_task_propagate_boolean
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean acquire_or_release_finish (GPermission *permission,
      GAsyncResult *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gpermission.c:417,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gpermission.c:445,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gpermission.c:434,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gpermission.c:446,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gpermission.c:435,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gpermission.c:456,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gpermission.c:457,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - class
    argTypes:
    - GPermissionClass*
    constantsTouched: []
    func_position:
      end: 460
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 460
    functionName: g_permission_class_init
    functionSourceFile: /src/glib/gio/gpermission.c
    functionUses: []
    functionsReached:
    - g_param_spec_boolean
    - g_object_class_install_property
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_permission_class_init (GPermissionClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gpermission.c:211,1
    - Dst: G_IS_PERMISSION
      Src: /src/glib/gio/gpermission.c:211,1
    - Dst: G_PERMISSION_GET_CLASS
      Src: /src/glib/gio/gpermission.c:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - permission
    - cancellable
    - callback
    - user_data
    argTypes:
    - GPermission*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 214
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 214
    functionName: g_permission_release_async
    functionSourceFile: /src/glib/gio/gpermission.c
    functionUses: []
    functionsReached:
    - G_IS_PERMISSION
    - G_PERMISSION_GET_CLASS
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_permission_release_async (GPermission *permission, GCancellable
      *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gpermission.c:124,1
    - Dst: G_PERMISSION_GET_CLASS
      Src: /src/glib/gio/gpermission.c:125,1
    - Dst: G_IS_PERMISSION
      Src: /src/glib/gio/gpermission.c:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - permission
    - cancellable
    - callback
    - user_data
    argTypes:
    - GPermission*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 127
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 127
    functionName: g_permission_acquire_async
    functionSourceFile: /src/glib/gio/gpermission.c
    functionUses: []
    functionsReached:
    - G_IS_PERMISSION
    - G_PERMISSION_GET_CLASS
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_permission_acquire_async (GPermission *permission, GCancellable
      *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gpermission.c:257,1
    - Dst: G_IS_PERMISSION
      Src: /src/glib/gio/gpermission.c:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - permission
    argTypes:
    - GPermission*
    constantsTouched: []
    func_position:
      end: 259
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 259
    functionName: g_permission_get_allowed
    functionSourceFile: /src/glib/gio/gpermission.c
    functionUses: []
    functionsReached:
    - G_IS_PERMISSION
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_permission_get_allowed (GPermission *permission) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gpermission.c:295,1
    - Dst: G_IS_PERMISSION
      Src: /src/glib/gio/gpermission.c:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - permission
    argTypes:
    - GPermission*
    constantsTouched: []
    func_position:
      end: 297
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 297
    functionName: g_permission_get_can_release
    functionSourceFile: /src/glib/gio/gpermission.c
    functionUses: []
    functionsReached:
    - G_IS_PERMISSION
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_permission_get_can_release (GPermission *permission) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - observer
    - stream
    - credentials
    argTypes:
    - GDBusAuthObserver*
    - GIOStream*
    - GCredentials*
    constantsTouched: []
    func_position:
      end: 159
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: g_dbus_auth_observer_authorize_authenticated_peer_real
    functionSourceFile: /src/glib/gio/gdbusauthobserver.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_dbus_auth_observer_authorize_authenticated_peer_real
      (GDBusAuthObserver *observer, GIOStream *stream, GCredentials *credentials) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusauthobserver.c:171,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gdbusauthobserver.c:192,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gdbusauthobserver.c:195,1
    - Dst: I_
      Src: /src/glib/gio/gdbusauthobserver.c:192,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gdbusauthobserver.c:203,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gdbusauthobserver.c:204,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gdbusauthobserver.c:219,1
    - Dst: I_
      Src: /src/glib/gio/gdbusauthobserver.c:219,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gdbusauthobserver.c:222,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gdbusauthobserver.c:229,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gdbusauthobserver.c:230,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GDBusAuthObserverClass*
    constantsTouched: []
    func_position:
      end: 232
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 232
    functionName: g_dbus_auth_observer_class_init
    functionSourceFile: /src/glib/gio/gdbusauthobserver.c
    functionUses: []
    functionsReached:
    - I_
    - G_STRUCT_OFFSET
    - G_TYPE_FROM_CLASS
    - G_OBJECT_CLASS
    - g_signal_set_va_marshaller
    - g_signal_new
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_auth_observer_class_init (GDBusAuthObserverClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusauthobserver.c:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: g_dbus_auth_observer_finalize
    functionSourceFile: /src/glib/gio/gdbusauthobserver.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_auth_observer_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - observer
    argTypes:
    - GDBusAuthObserver*
    constantsTouched: []
    func_position:
      end: 237
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 237
    functionName: g_dbus_auth_observer_init
    functionSourceFile: /src/glib/gio/gdbusauthobserver.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_auth_observer_init (GDBusAuthObserver *observer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - observer
    - mechanism
    argTypes:
    - GDBusAuthObserver*
    - gchar*
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: g_dbus_auth_observer_allow_mechanism_real
    functionSourceFile: /src/glib/gio/gdbusauthobserver.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_dbus_auth_observer_allow_mechanism_real (GDBusAuthObserver
      *observer, const gchar *mechanism) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_emit
      Src: /src/glib/gio/gdbusauthobserver.c:276,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - observer
    - stream
    - credentials
    argTypes:
    - GDBusAuthObserver*
    - GIOStream*
    - GCredentials*
    constantsTouched: []
    func_position:
      end: 283
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 283
    functionName: g_dbus_auth_observer_authorize_authenticated_peer
    functionSourceFile: /src/glib/gio/gdbusauthobserver.c
    functionUses: []
    functionsReached:
    - g_signal_emit
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dbus_auth_observer_authorize_authenticated_peer (GDBusAuthObserver
      *observer, GIOStream *stream, GCredentials *credentials) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gdbusauthobserver.c:251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 252
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 252
    functionName: g_dbus_auth_observer_new
    functionSourceFile: /src/glib/gio/gdbusauthobserver.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: GDBusAuthObserver*
    signature: 'GDBusAuthObserver *g_dbus_auth_observer_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_emit
      Src: /src/glib/gio/gdbusauthobserver.c:303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - observer
    - mechanism
    argTypes:
    - GDBusAuthObserver*
    - gchar*
    constantsTouched: []
    func_position:
      end: 309
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 309
    functionName: g_dbus_auth_observer_allow_mechanism
    functionSourceFile: /src/glib/gio/gdbusauthobserver.c
    functionUses: []
    functionsReached:
    - g_signal_emit
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dbus_auth_observer_allow_mechanism (GDBusAuthObserver *observer,
      const gchar *mechanism) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_content_type_set_mime_dirs_impl
      Src: /src/glib/gio/gcontenttype.c:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - dirs
    argTypes:
    - gchar**
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: g_content_type_set_mime_dirs
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - g_content_type_set_mime_dirs_impl
    linkageType: ''
    returnType: void
    signature: 'void g_content_type_set_mime_dirs (const gchar * const *dirs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_content_type_get_mime_dirs_impl
      Src: /src/glib/gio/gcontenttype.c:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: g_content_type_get_mime_dirs
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - g_content_type_get_mime_dirs_impl
    linkageType: ''
    returnType: gchar**
    signature: 'const gchar * const *g_content_type_get_mime_dirs (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype.c:119,1
    - Dst: g_content_type_is_a_impl
      Src: /src/glib/gio/gcontenttype.c:122,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype.c:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - type
    - supertype
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 123
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 123
    functionName: g_content_type_is_a
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_content_type_is_a_impl
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_content_type_is_a (const gchar *type, const gchar *supertype) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype.c:162,1
    - Dst: g_content_type_is_unknown_impl
      Src: /src/glib/gio/gcontenttype.c:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - type
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 165
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 165
    functionName: g_content_type_is_unknown
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_content_type_is_unknown_impl
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_content_type_is_unknown (const gchar *type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype.c:213,1
    - Dst: g_content_type_get_icon_impl
      Src: /src/glib/gio/gcontenttype.c:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 216
    functionName: g_content_type_get_icon
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_content_type_get_icon_impl
    linkageType: ''
    returnType: GIcon*
    signature: 'GIcon *g_content_type_get_icon (const gchar *type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype.c:255,1
    - Dst: g_content_type_get_generic_icon_name_impl
      Src: /src/glib/gio/gcontenttype.c:257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 258
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 258
    functionName: g_content_type_get_generic_icon_name
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - g_content_type_get_generic_icon_name_impl
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_content_type_get_generic_icon_name (const gchar *type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype.c:292,1
    - Dst: g_content_type_from_mime_type_impl
      Src: /src/glib/gio/gcontenttype.c:294,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 295
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 295
    functionName: g_content_type_from_mime_type
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_content_type_from_mime_type_impl
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_content_type_from_mime_type (const gchar *mime_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_content_type_guess_impl
      Src: /src/glib/gio/gcontenttype.c:319,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 320
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 320
    functionName: g_content_type_guess
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - g_content_type_guess_impl
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_content_type_guess (const gchar *filename, const guchar *data,
      gsize data_size, gboolean *result_uncertain) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype.c:142,1
    - Dst: g_content_type_is_mime_type_impl
      Src: /src/glib/gio/gcontenttype.c:145,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype.c:143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - type
    - mime_type
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 146
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 146
    functionName: g_content_type_is_mime_type
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_content_type_is_mime_type_impl
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_content_type_is_mime_type (const gchar *type, const gchar
      *mime_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype.c:99,1
    - Dst: g_content_type_equals_impl
      Src: /src/glib/gio/gcontenttype.c:102,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype.c:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - type1
    - type2
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 103
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 103
    functionName: g_content_type_equals
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - g_content_type_equals_impl
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_content_type_equals (const gchar *type1, const gchar *type2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype.c:179,1
    - Dst: g_content_type_get_description_impl
      Src: /src/glib/gio/gcontenttype.c:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 182
    functionName: g_content_type_get_description
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_content_type_get_description_impl
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_content_type_get_description (const gchar *type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype.c:196,1
    - Dst: g_content_type_get_mime_type_impl
      Src: /src/glib/gio/gcontenttype.c:198,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 199
    functionName: g_content_type_get_mime_type
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_content_type_get_mime_type_impl
    linkageType: ''
    returnType: char*
    signature: 'char *g_content_type_get_mime_type (const char *type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype.c:232,1
    - Dst: g_content_type_get_symbolic_icon_impl
      Src: /src/glib/gio/gcontenttype.c:234,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 235
    functionName: g_content_type_get_symbolic_icon
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_content_type_get_symbolic_icon_impl
    linkageType: ''
    returnType: GIcon*
    signature: 'GIcon *g_content_type_get_symbolic_icon (const gchar *type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype.c:273,1
    - Dst: g_content_type_can_be_executable_impl
      Src: /src/glib/gio/gcontenttype.c:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - type
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 276
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 276
    functionName: g_content_type_can_be_executable
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - g_content_type_can_be_executable_impl
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_content_type_can_be_executable (const gchar *type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_content_types_get_registered_impl
      Src: /src/glib/gio/gcontenttype.c:335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 336
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 336
    functionName: g_content_types_get_registered
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - g_content_types_get_registered_impl
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_content_types_get_registered (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype.c:363,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gcontenttype.c:363,1
    - Dst: g_content_type_guess_for_tree_impl
      Src: /src/glib/gio/gcontenttype.c:365,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 366
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 366
    functionName: g_content_type_guess_for_tree
    functionSourceFile: /src/glib/gio/gcontenttype.c
    functionUses: []
    functionsReached:
    - G_IS_FILE
    - g_return_val_if_fail
    - g_content_type_guess_for_tree_impl
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **g_content_type_guess_for_tree (GFile *root) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/gio-tool-copy.c:67,1
    - Dst: g_format_size
      Src: /src/glib/gio/gio-tool-copy.c:73,1
    - Dst: g_format_size
      Src: /src/glib/gio/gio-tool-copy.c:72,1
    - Dst: g_format_size
      Src: /src/glib/gio/gio-tool-copy.c:74,1
    - Dst: MAX
      Src: /src/glib/gio/gio-tool-copy.c:75,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-copy.c:76,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-copy.c:77,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-copy.c:77,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-copy.c:81,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-copy.c:82,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-copy.c:83,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - current_num_bytes
    - total_num_bytes
    - user_data
    argTypes:
    - goffset
    - goffset
    - gpointer
    constantsTouched: []
    func_position:
      end: 84
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 84
    functionName: show_progress
    functionSourceFile: /src/glib/gio/gio-tool-copy.c
    functionUses: []
    functionsReached:
    - MAX
    - g_format_size
    - g_print
    - _
    - g_get_monotonic_time
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void show_progress (goffset current_num_bytes, goffset total_num_bytes,
      gpointer user_data) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/glib/gio/gio-tool-copy.c:103,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gio-tool-copy.c:103,1
    - Dst: g_option_context_set_help_enabled
      Src: /src/glib/gio/gio-tool-copy.c:106,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-copy.c:108,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-copy.c:110,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-copy.c:132,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-copy.c:117,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-copy.c:155,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-copy.c:160,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gio-tool-copy.c:172,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-copy.c:229,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/gio-tool-copy.c:189,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/gio-tool-copy.c:208,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-copy.c:201,1
    - Dst: g_file_copy
      Src: /src/glib/gio/gio-tool-copy.c:209,1
    - Dst: g_set_prgname
      Src: /src/glib/gio/gio-tool-copy.c:100,1
    - Dst: g_option_context_new
      Src: /src/glib/gio/gio-tool-copy.c:104,1
    - Dst: g_option_context_set_description
      Src: /src/glib/gio/gio-tool-copy.c:109,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/gio/gio-tool-copy.c:113,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-copy.c:118,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/gio-tool-copy.c:122,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-copy.c:133,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-copy.c:141,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-copy.c:156,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/gio-tool-copy.c:168,1
    - Dst: print_file_error
      Src: /src/glib/gio/gio-tool-copy.c:216,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-copy.c:103,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-copy.c:105,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-copy.c:126,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-copy.c:124,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-copy.c:142,1
    - Dst: file_is_dir
      Src: /src/glib/gio/gio-tool-copy.c:147,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/gio-tool-copy.c:164,1
    - Dst: g_file_get_basename
      Src: /src/glib/gio/gio-tool-copy.c:167,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-copy.c:169,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-copy.c:197,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-copy.c:202,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-copy.c:225,1
    - Dst: g_option_context_set_summary
      Src: /src/glib/gio/gio-tool-copy.c:107,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-copy.c:125,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/gio-tool-copy.c:137,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-copy.c:143,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gio-tool-copy.c:152,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-copy.c:152,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-copy.c:153,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-copy.c:154,1
    - Dst: g_file_copy
      Src: /src/glib/gio/gio-tool-copy.c:191,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gio-tool-copy.c:193,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-copy.c:223,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-copy.c:226,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-copy.c:217,1
    - Dst: g_file_get_uri
      Src: /src/glib/gio/gio-tool-copy.c:200,1
    - Dst: fgets
      Src: /src/glib/gio/gio-tool-copy.c:204,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-copy.c:201,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 113
    argCount: 3
    argNames:
    - argc
    - argv
    - do_help
    argTypes:
    - int
    - char*
    - gboolean
    constantsTouched: []
    func_position:
      end: 232
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 232
    functionName: handle_copy
    functionSourceFile: /src/glib/gio/gio-tool-copy.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_option_context_free
    - print_file_error
    - show_help
    - g_file_new_for_commandline_arg
    - fgets
    - g_object_unref
    - file_is_dir
    - g_error_free
    - g_print
    - g_option_context_parse
    - g_get_monotonic_time
    - g_option_context_new
    - g_set_prgname
    - g_file_get_child
    - g_option_context_set_help_enabled
    - _
    - g_option_context_add_main_entries
    - g_option_context_set_description
    - g_file_get_uri
    - g_option_context_set_summary
    - g_file_get_basename
    - g_error_matches
    - g_object_ref
    - g_file_copy
    - g_free
    linkageType: ''
    returnType: int
    signature: 'int handle_copy (int argc, char *argv[], gboolean do_help) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/gio/strinfo.c:127,1
    - Dst: memcpy
      Src: /src/glib/gio/strinfo.c:136,1
    - Dst: GUINT32_TO_LE
      Src: /src/glib/gio/strinfo.c:134,1
    - Dst: MAX
      Src: /src/glib/gio/strinfo.c:129,1
    - Dst: GUINT32_TO_BE
      Src: /src/glib/gio/strinfo.c:135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - string
    - words
    - alias
    argTypes:
    - gchar*
    - guint32*
    - gboolean
    constantsTouched: []
    func_position:
      end: 139
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 139
    functionName: strinfo_string_to_words
    functionSourceFile: /src/glib/gio/strinfo.c
    functionUses: []
    functionsReached:
    - memcpy
    - strlen
    - MAX
    - GUINT32_TO_LE
    - GUINT32_TO_BE
    linkageType: ''
    returnType: G_GNUC_UNUSED
    signature: 'G_GNUC_UNUSED static guint strinfo_string_to_words (const gchar *string,
      guint32 *words, gboolean alias) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strinfo_string_to_words
      Src: /src/glib/gio/strinfo.c:182,1
    - Dst: strinfo_scan
      Src: /src/glib/gio/strinfo.c:184,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - strinfo
    - length
    - string
    - alias
    argTypes:
    - guint32*
    - guint
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 185
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 185
    functionName: strinfo_find_string
    functionSourceFile: /src/glib/gio/strinfo.c
    functionUses: []
    functionsReached:
    - strinfo_scan
    - strinfo_string_to_words
    linkageType: ''
    returnType: G_GNUC_UNUSED
    signature: 'G_GNUC_UNUSED static gint strinfo_find_string (const guint32 *strinfo,
      guint length, const gchar *string, gboolean alias) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strinfo_find_string
      Src: /src/glib/gio/strinfo.c:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - strinfo
    - length
    - string
    argTypes:
    - guint32*
    - guint
    - gchar*
    constantsTouched: []
    func_position:
      end: 213
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 213
    functionName: strinfo_is_string_valid
    functionSourceFile: /src/glib/gio/strinfo.c
    functionUses: []
    functionsReached:
    - strinfo_find_string
    linkageType: ''
    returnType: G_GNUC_UNUSED
    signature: 'G_GNUC_UNUSED static gboolean strinfo_is_string_valid (const guint32
      *strinfo, guint length, const gchar *string) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strinfo_find_integer
      Src: /src/glib/gio/strinfo.c:239,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 245
    functionName: strinfo_string_from_enum
    functionSourceFile: /src/glib/gio/strinfo.c
    functionUses: []
    functionsReached:
    - strinfo_find_integer
    linkageType: ''
    returnType: G_GNUC_UNUSED*
    signature: 'G_GNUC_UNUSED static const gchar *strinfo_string_from_enum (const
      guint32 *strinfo, guint length, guint value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_builder_init_static
      Src: /src/glib/gio/strinfo.c:274,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/strinfo.c:280,1
    - Dst: g_assert
      Src: /src/glib/gio/strinfo.c:284,1
    - Dst: memchr
      Src: /src/glib/gio/strinfo.c:283,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/strinfo.c:290,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 291
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 291
    functionName: strinfo_enumerate
    functionSourceFile: /src/glib/gio/strinfo.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_variant_builder_init_static
    - g_variant_builder_end
    - memchr
    - g_variant_builder_add
    linkageType: ''
    returnType: G_GNUC_UNUSED*
    signature: 'G_GNUC_UNUSED static GVariant *strinfo_enumerate (const guint32 *strinfo,
      guint length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strinfo_find_string
      Src: /src/glib/gio/strinfo.c:318,1
    - Dst: g_string_append_len
      Src: /src/glib/gio/strinfo.c:327,1
    - Dst: g_string_append_len
      Src: /src/glib/gio/strinfo.c:328,1
    - Dst: strinfo_string_to_words
      Src: /src/glib/gio/strinfo.c:326,1
    - Dst: GUINT32_TO_LE
      Src: /src/glib/gio/strinfo.c:324,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - builder
    - alias
    - target
    argTypes:
    - GString*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 331
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 331
    functionName: strinfo_builder_append_alias
    functionSourceFile: /src/glib/gio/strinfo.c
    functionUses: []
    functionsReached:
    - GUINT32_TO_LE
    - strinfo_find_string
    - g_string_append_len
    - strinfo_string_to_words
    linkageType: ''
    returnType: G_GNUC_UNUSED
    signature: 'G_GNUC_UNUSED static gboolean strinfo_builder_append_alias (GString
      *builder, const gchar *alias, const gchar *target) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 4
    argNames:
    - strinfo
    - length
    - words
    - n_words
    argTypes:
    - guint32*
    - guint
    - guint32*
    - guint
    constantsTouched: []
    func_position:
      end: 168
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 168
    functionName: strinfo_scan
    functionSourceFile: /src/glib/gio/strinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: G_GNUC_UNUSED
    signature: 'G_GNUC_UNUSED static gint strinfo_scan (const guint32 *strinfo, guint
      length, const guint32 *words, guint n_words) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GUINT32_TO_LE
      Src: /src/glib/gio/strinfo.c:195,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - strinfo
    - length
    - value
    argTypes:
    - guint32*
    - guint
    - guint32
    constantsTouched: []
    func_position:
      end: 205
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 205
    functionName: strinfo_find_integer
    functionSourceFile: /src/glib/gio/strinfo.c
    functionUses: []
    functionsReached:
    - GUINT32_TO_LE
    linkageType: ''
    returnType: G_GNUC_UNUSED
    signature: 'G_GNUC_UNUSED static gint strinfo_find_integer (const guint32 *strinfo,
      guint length, guint32 value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strinfo_find_string
      Src: /src/glib/gio/strinfo.c:223,1
    - Dst: GUINT32_FROM_LE
      Src: /src/glib/gio/strinfo.c:228,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - strinfo
    - length
    - string
    - result
    argTypes:
    - guint32*
    - guint
    - gchar*
    - guint*
    constantsTouched: []
    func_position:
      end: 230
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 230
    functionName: strinfo_enum_from_string
    functionSourceFile: /src/glib/gio/strinfo.c
    functionUses: []
    functionsReached:
    - GUINT32_FROM_LE
    - strinfo_find_string
    linkageType: ''
    returnType: G_GNUC_UNUSED
    signature: 'G_GNUC_UNUSED static gboolean strinfo_enum_from_string (const guint32
      *strinfo, guint length, const gchar *string, guint *result) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strinfo_find_string
      Src: /src/glib/gio/strinfo.c:254,1
    - Dst: GUINT32_TO_LE
      Src: /src/glib/gio/strinfo.c:259,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 260
    functionName: strinfo_string_from_alias
    functionSourceFile: /src/glib/gio/strinfo.c
    functionUses: []
    functionsReached:
    - GUINT32_TO_LE
    - strinfo_find_string
    linkageType: ''
    returnType: G_GNUC_UNUSED*
    signature: 'G_GNUC_UNUSED static const gchar *strinfo_string_from_alias (const
      guint32 *strinfo, guint length, const gchar *alias) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GUINT32_TO_LE
      Src: /src/glib/gio/strinfo.c:301,1
    - Dst: g_string_append_len
      Src: /src/glib/gio/strinfo.c:304,1
    - Dst: g_string_append_len
      Src: /src/glib/gio/strinfo.c:305,1
    - Dst: strinfo_string_to_words
      Src: /src/glib/gio/strinfo.c:303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - builder
    - string
    - value
    argTypes:
    - GString*
    - gchar*
    - guint
    constantsTouched: []
    func_position:
      end: 306
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 306
    functionName: strinfo_builder_append_item
    functionSourceFile: /src/glib/gio/strinfo.c
    functionUses: []
    functionsReached:
    - GUINT32_TO_LE
    - g_string_append_len
    - strinfo_string_to_words
    linkageType: ''
    returnType: G_GNUC_UNUSED
    signature: 'G_GNUC_UNUSED static void strinfo_builder_append_item (GString *builder,
      const gchar *string, guint value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strinfo_find_string
      Src: /src/glib/gio/strinfo.c:337,1
    - Dst: strinfo_find_string
      Src: /src/glib/gio/strinfo.c:339,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - builder
    - string
    argTypes:
    - GString*
    - gchar*
    constantsTouched: []
    func_position:
      end: 341
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 341
    functionName: strinfo_builder_contains
    functionSourceFile: /src/glib/gio/strinfo.c
    functionUses: []
    functionsReached:
    - strinfo_find_string
    linkageType: ''
    returnType: G_GNUC_UNUSED
    signature: 'G_GNUC_UNUSED static gboolean strinfo_builder_contains (GString *builder,
      const gchar *string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strinfo_string_from_enum
      Src: /src/glib/gio/strinfo.c:347,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - builder
    - value
    argTypes:
    - GString*
    - guint
    constantsTouched: []
    func_position:
      end: 349
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 349
    functionName: strinfo_builder_contains_value
    functionSourceFile: /src/glib/gio/strinfo.c
    functionUses: []
    functionsReached:
    - strinfo_string_from_enum
    linkageType: ''
    returnType: G_GNUC_UNUSED
    signature: 'G_GNUC_UNUSED static gboolean strinfo_builder_contains_value (GString
      *builder, guint value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:1007,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:1007,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:1008,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:1008,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gio/gfile.c:1010,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gio/gfile.c:1010,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:1013,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1016
    functionName: g_file_get_relative_path
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    - G_TYPE_FROM_INSTANCE
    linkageType: ''
    returnType: char*
    signature: 'char *g_file_get_relative_path (GFile *parent, GFile *descendant) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:1423,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:1423,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:1424,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfile.c:1426,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:1424,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:1429,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1431
      start: 1416
    functionDepth: 0
    functionLinenumber: 1416
    functionLinenumberEnd: 1431
    functionName: g_file_query_info_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    - G_IS_ASYNC_RESULT
    - G_FILE_GET_IFACE
    - G_IS_FILE
    linkageType: ''
    returnType: GFileInfo*
    signature: 'GFileInfo *g_file_query_info_finish (GFile *file, GAsyncResult *res,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: copy_async_closures_data_new
      Src: /src/glib/gio/gfile.c:3939,1
    - Dst: g_file_copy_async
      Src: /src/glib/gio/gfile.c:3941,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 7
    argNames:
    - source
    - destination
    - flags
    - io_priority
    - cancellable
    - progress_callback_closure
    - ready_callback_closure
    argTypes:
    - GFile*
    - GFile*
    - GFileCopyFlags
    - int
    - GCancellable*
    - GClosure*
    - GClosure*
    constantsTouched: []
    func_position:
      end: 3944
      start: 3927
    functionDepth: 0
    functionLinenumber: 3927
    functionLinenumberEnd: 3944
    functionName: g_file_copy_async_with_closures
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - copy_async_closures_data_new
    - g_file_copy_async
    linkageType: ''
    returnType: void
    signature: 'void g_file_copy_async_with_closures (GFile *source, GFile *destination,
      GFileCopyFlags flags, int io_priority, GCancellable *cancellable, GClosure *progress_callback_closure,
      GClosure *ready_callback_closure) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:6218,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfile.c:6218,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:6220,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gfile.c:6220,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6221
      start: 6213
    functionDepth: 0
    functionLinenumber: 6213
    functionLinenumberEnd: 6221
    functionName: g_file_real_query_filesystem_info_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_return_val_if_fail
    - g_task_is_valid
    - g_task_propagate_pointer
    linkageType: ''
    returnType: GFileInfo*
    signature: 'static GFileInfo *g_file_real_query_filesystem_info_finish (GFile
      *file, GAsyncResult *res, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_delete
      Src: /src/glib/gio/gfile.c:6500,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gfile.c:6501,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:6503,1
    - Dst: G_FILE
      Src: /src/glib/gio/gfile.c:6500,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - task
    - object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 6504
      start: 6492
    functionDepth: 0
    functionLinenumber: 6492
    functionLinenumberEnd: 6504
    functionName: delete_async_thread
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_file_delete
    - g_task_return_error
    - G_FILE
    linkageType: ''
    returnType: void
    signature: 'static void delete_async_thread (GTask *task, gpointer object, gpointer
      task_data, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gfile.c:6990,1
    - Dst: g_file_info_dup
      Src: /src/glib/gio/gfile.c:6991,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfile.c:6995,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gfile.c:6996,1
    - Dst: g_task_new
      Src: /src/glib/gio/gfile.c:6994,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gfile.c:6997,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gfile.c:6999,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:7000,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 7
    argNames:
    - file
    - info
    - flags
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFile*
    - GFileInfo*
    - GFileQueryInfoFlags
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 7001
      start: 6978
    functionDepth: 0
    functionLinenumber: 6978
    functionLinenumberEnd: 7001
    functionName: g_file_real_set_attributes_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_object_unref
    - g_task_set_priority
    - g_task_set_source_tag
    - g_task_run_in_thread
    - g_task_set_task_data
    - g_file_info_dup
    - g_new0
    linkageType: ''
    returnType: void
    signature: 'static void g_file_real_set_attributes_async (GFile *file, GFileInfo
      *info, GFileQueryInfoFlags flags, int io_priority, GCancellable *cancellable,
      GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:7262,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/gfile.c:7268,1
    - Dst: _g_local_file_io_stream_new
      Src: /src/glib/gio/gfile.c:7271,1
    - Dst: g_file_open_tmp
      Src: /src/glib/gio/gfile.c:7264,1
    - Dst: _g_local_file_output_stream_new
      Src: /src/glib/gio/gfile.c:7270,1
    - Dst: G_LOCAL_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/gfile.c:7271,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:7273,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:7274,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7277
      start: 7252
    functionDepth: 0
    functionLinenumber: 7252
    functionLinenumberEnd: 7277
    functionName: g_file_new_tmp
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_file_new_for_path
    - g_return_val_if_fail
    - g_object_unref
    - _g_local_file_output_stream_new
    - _g_local_file_io_stream_new
    - G_LOCAL_FILE_OUTPUT_STREAM
    - g_file_open_tmp
    - g_free
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *g_file_new_tmp (const char *tmpl, GFileIOStream **iostream,
      GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:7794,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:7795,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:7794,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:7795,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfile.c:7797,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gfile.c:7799,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gfile.c:7800,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:7800,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:7802,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - location
    - result
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 7805
      start: 7787
    functionDepth: 0
    functionLinenumber: 7787
    functionLinenumberEnd: 7805
    functionName: g_file_mount_enclosing_volume_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    - G_IS_ASYNC_RESULT
    - G_FILE_GET_IFACE
    - G_TASK
    - G_IS_FILE
    - g_async_result_is_tagged
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_mount_enclosing_volume_finish (GFile *location, GAsyncResult
      *result, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_enumerate_children
      Src: /src/glib/gio/gfile.c:6233,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gfile.c:6237,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:6235,1
    - Dst: G_FILE
      Src: /src/glib/gio/gfile.c:6233,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 4
    argNames:
    - task
    - object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 6238
      start: 6223
    functionDepth: 0
    functionLinenumber: 6223
    functionLinenumberEnd: 6238
    functionName: enumerate_children_async_thread
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_FILE
    - g_task_return_error
    - g_task_return_pointer
    - g_file_enumerate_children
    linkageType: ''
    returnType: void
    signature: 'static void enumerate_children_async_thread (GTask *task, gpointer
      object, gpointer task_data, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/gfile.c:6515,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfile.c:6516,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gfile.c:6518,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gfile.c:6517,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:6519,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 5
    argNames:
    - file
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFile*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 6520
      start: 6506
    functionDepth: 0
    functionLinenumber: 6506
    functionLinenumberEnd: 6520
    functionName: g_file_real_delete_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_object_unref
    - g_task_run_in_thread
    - g_task_set_priority
    - g_task_set_source_tag
    linkageType: ''
    returnType: void
    signature: 'static void g_file_real_delete_async (GFile *file, int io_priority,
      GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 6606
      start: 6595
    functionDepth: 0
    functionLinenumber: 6595
    functionLinenumberEnd: 6606
    functionName: move_async_progress_in_main
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean move_async_progress_in_main (gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:7011,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfile.c:7011,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gfile.c:7013,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gfile.c:7016,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:7013,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gfile.c:7018,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:7018,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 4
    argNames:
    - file
    - res
    - info
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GFileInfo**
    - GError**
    constantsTouched: []
    func_position:
      end: 7019
      start: 7003
    functionDepth: 0
    functionLinenumber: 7003
    functionLinenumberEnd: 7019
    functionName: g_file_real_set_attributes_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_task_is_valid
    - g_task_get_task_data
    - g_object_ref
    - G_TASK
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_file_real_set_attributes_finish (GFile *file, GAsyncResult
      *res, GFileInfo **info, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_app_info_get_default_for_uri_scheme_finish
      Src: /src/glib/gio/gfile.c:7973,1
    - Dst: g_file_query_info_async
      Src: /src/glib/gio/gfile.c:7982,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfile.c:7977,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:7978,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gfile.c:7977,1
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/gfile.c:7982,1
    - Dst: g_task_get_priority
      Src: /src/glib/gio/gfile.c:7986,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gfile.c:7987,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 7991
      start: 7965
    functionDepth: 0
    functionLinenumber: 7965
    functionLinenumberEnd: 7991
    functionName: on_query_default_handler_for_uri_cb
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_object_unref
    - g_task_return_pointer
    - g_task_get_priority
    - g_task_get_cancellable
    - g_file_query_info_async
    - g_task_get_source_object
    - g_app_info_get_default_for_uri_scheme_finish
    linkageType: ''
    returnType: void
    signature: 'static void on_query_default_handler_for_uri_cb (GObject *object,
      GAsyncResult *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gfile.c:8213,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gfile.c:8220,1
    - Dst: g_input_stream_close_finish
      Src: /src/glib/gio/gfile.c:8217,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:8221,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:8218,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - obj
    - close_res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 8222
      start: 8208
    functionDepth: 0
    functionLinenumber: 8208
    functionLinenumberEnd: 8222
    functionName: load_contents_close_callback
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_object_unref
    - g_input_stream_close_finish
    - G_INPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void load_contents_close_callback (GObject *obj, GAsyncResult
      *close_res, gpointer user_data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gfile.c:8644,1
    - Dst: g_output_stream_close_async
      Src: /src/glib/gio/gfile.c:8659,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:8657,1
    - Dst: g_output_stream_write_finish
      Src: /src/glib/gio/gfile.c:8649,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gfile.c:8660,1
    - Dst: g_bytes_get_data
      Src: /src/glib/gio/gfile.c:8668,1
    - Dst: g_output_stream_close_async
      Src: /src/glib/gio/gfile.c:8672,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gfile.c:8673,1
    - Dst: g_output_stream_write_async
      Src: /src/glib/gio/gfile.c:8676,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gfile.c:8680,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 3
    argNames:
    - obj
    - read_res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 8684
      start: 8639
    functionDepth: 0
    functionLinenumber: 8639
    functionLinenumberEnd: 8684
    functionName: replace_contents_write_callback
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_output_stream_close_async
    - g_output_stream_write_async
    - g_task_get_cancellable
    - g_output_stream_write_finish
    - g_bytes_get_data
    - g_task_return_error
    - G_OUTPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void replace_contents_write_callback (GObject *obj, GAsyncResult
      *read_res, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/gfile.c:8984,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gfile.c:8986,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfile.c:8985,1
    - Dst: g_memdup2
      Src: /src/glib/gio/gfile.c:8986,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gfile.c:8987,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gfile.c:8989,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:8990,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 8
    argNames:
    - file
    - flags
    - io_priority
    - cancellable
    - progress_callback
    - progress_data
    - callback
    - user_data
    argTypes:
    - GFile*
    - GFileMeasureFlags
    - gint
    - GCancellable*
    - GFileMeasureProgressCallback
    - gpointer
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 8991
      start: 8967
    functionDepth: 0
    functionLinenumber: 8967
    functionLinenumberEnd: 8991
    functionName: g_file_real_measure_disk_usage_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_object_unref
    - g_task_set_priority
    - g_task_set_source_tag
    - g_task_run_in_thread
    - g_task_set_task_data
    - g_memdup2
    linkageType: ''
    returnType: void
    signature: 'static void g_file_real_measure_disk_usage_async (GFile *file, GFileMeasureFlags
      flags, gint io_priority, GCancellable *cancellable, GFileMeasureProgressCallback
      progress_callback, gpointer progress_data, GAsyncReadyCallback callback, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:493,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:494,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:496,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:493,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - file
    - uri_scheme
    argTypes:
    - GFile*
    - char*
    constantsTouched: []
    func_position:
      end: 499
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 499
    functionName: g_file_has_uri_scheme
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_has_uri_scheme (GFile *file, const char *uri_scheme) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:973,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:974,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gio/gfile.c:976,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:974,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:973,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gio/gfile.c:976,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:979,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - file
    - prefix
    argTypes:
    - GFile*
    - GFile*
    constantsTouched: []
    func_position:
      end: 985
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 985
    functionName: g_file_has_prefix
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    - G_TYPE_FROM_INSTANCE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_has_prefix (GFile *file, GFile *prefix) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:1093,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:1098,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:1095,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:1102,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:1093,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:1104,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1084
    functionDepth: 0
    functionLinenumber: 1084
    functionLinenumberEnd: 1110
    functionName: g_file_enumerate_children
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_set_error_literal
    - _
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_cancellable_set_error_if_cancelled
    linkageType: ''
    returnType: GFileEnumerator*
    signature: 'GFileEnumerator *g_file_enumerate_children (GFile *file, const char
      *attributes, GFileQueryInfoFlags flags, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:1178,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfile.c:1181,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:1179,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:1178,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:1179,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:1184,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1171
    functionDepth: 0
    functionLinenumber: 1171
    functionLinenumberEnd: 1186
    functionName: g_file_enumerate_children_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    - G_IS_ASYNC_RESULT
    - G_FILE_GET_IFACE
    - G_IS_FILE
    linkageType: ''
    returnType: GFileEnumerator*
    signature: 'GFileEnumerator *g_file_enumerate_children_finish (GFile *file, GAsyncResult
      *res, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:2163,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:2164,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfile.c:2166,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:2163,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:2164,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:2169,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2171
      start: 2156
    functionDepth: 0
    functionLinenumber: 2156
    functionLinenumberEnd: 2171
    functionName: g_file_read_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    - G_IS_ASYNC_RESULT
    - G_FILE_GET_IFACE
    - G_IS_FILE
    linkageType: ''
    returnType: GFileInputStream*
    signature: 'GFileInputStream *g_file_read_finish (GFile *file, GAsyncResult *res,
      GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:4776,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:4778,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:4785,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:4776,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:4781,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:4787,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - file
    - cancellable
    - error
    argTypes:
    - GFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 4792
      start: 4769
    functionDepth: 0
    functionLinenumber: 4769
    functionLinenumberEnd: 4792
    functionName: g_file_trash
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_set_error_literal
    - _
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_cancellable_set_error_if_cancelled
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_trash (GFile *file, GCancellable *cancellable, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:7224,1
    - Dst: g_vfs_get_default
      Src: /src/glib/gio/gfile.c:7226,1
    - Dst: g_vfs_get_file_for_uri
      Src: /src/glib/gio/gfile.c:7226,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7227
      start: 7221
    functionDepth: 0
    functionLinenumber: 7221
    functionLinenumberEnd: 7227
    functionName: g_file_new_for_uri
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_vfs_get_default
    - g_return_val_if_fail
    - g_vfs_get_file_for_uri
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *g_file_new_for_uri (const char *uri) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:7758,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:7760,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:7758,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gfile.c:7764,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:7767,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 6
    argNames:
    - location
    - flags
    - mount_operation
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFile*
    - GMountMountFlags
    - GMountOperation*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 7773
      start: 7748
    functionDepth: 0
    functionLinenumber: 7748
    functionLinenumberEnd: 7773
    functionName: g_file_mount_enclosing_volume
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - g_task_report_new_error
    - _
    - G_FILE_GET_IFACE
    - G_IS_FILE
    linkageType: ''
    returnType: void
    signature: 'void g_file_mount_enclosing_volume (GFile *location, GMountMountFlags
      flags, GMountOperation *mount_operation, GCancellable *cancellable, GAsyncReadyCallback
      callback, gpointer user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:8564,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:8565,1
    - Dst: g_file_replace
      Src: /src/glib/gio/gfile.c:8567,1
    - Dst: g_output_stream_write
      Src: /src/glib/gio/gfile.c:8574,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:8564,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gfile.c:8574,1
    - Dst: MIN
      Src: /src/glib/gio/gfile.c:8576,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/gfile.c:8587,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gfile.c:8587,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:8588,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/gfile.c:8594,1
    - Dst: g_file_output_stream_get_etag
      Src: /src/glib/gio/gfile.c:8597,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gfile.c:8594,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:8599,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 9
    argNames:
    - file
    - contents
    - length
    - etag
    - make_backup
    - flags
    - new_etag
    - cancellable
    - error
    argTypes:
    - GFile*
    - char*
    - gsize
    - char*
    - gboolean
    - GFileCreateFlags
    - char**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 8602
      start: 8548
    functionDepth: 0
    functionLinenumber: 8548
    functionLinenumberEnd: 8602
    functionName: g_file_replace_contents
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_file_replace
    - g_object_unref
    - g_output_stream_close
    - MIN
    - g_output_stream_write
    - g_file_output_stream_get_etag
    - G_IS_FILE
    - G_OUTPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_replace_contents (GFile *file, const char *contents,
      gsize length, const char *etag, gboolean make_backup, GFileCreateFlags flags,
      char **new_etag, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:8805,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:8805,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:8806,1
    - Dst: g_bytes_ref
      Src: /src/glib/gio/gfile.c:8810,1
    - Dst: g_new0
      Src: /src/glib/gio/gfile.c:8808,1
    - Dst: g_task_new
      Src: /src/glib/gio/gfile.c:8812,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfile.c:8813,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gfile.c:8814,1
    - Dst: g_file_replace_async
      Src: /src/glib/gio/gfile.c:8816,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gfile.c:8821,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 8
    argNames:
    - file
    - contents
    - etag
    - make_backup
    - flags
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFile*
    - GBytes*
    - char*
    - gboolean
    - GFileCreateFlags
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 8824
      start: 8793
    functionDepth: 0
    functionLinenumber: 8793
    functionLinenumberEnd: 8824
    functionName: g_file_replace_contents_bytes_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_return_if_fail
    - g_task_set_source_tag
    - g_task_get_cancellable
    - g_bytes_ref
    - g_task_set_task_data
    - g_new0
    - G_IS_FILE
    - g_file_replace_async
    linkageType: ''
    returnType: void
    signature: 'void g_file_replace_contents_bytes_async (GFile *file, GBytes *contents,
      const char *etag, gboolean make_backup, GFileCreateFlags flags, GCancellable
      *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_file_make_symbolic_link
      Src: /src/glib/gio/gfile.c:2638,1
    - Dst: g_file_info_get_file_type
      Src: /src/glib/gio/gfile.c:2652,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gfile.c:2644,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/gfile.c:2647,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:2653,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:2657,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:2658,1
    - Dst: g_file_delete
      Src: /src/glib/gio/gfile.c:2663,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gfile.c:2670,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 30
    argCount: 5
    argNames:
    - destination
    - flags
    - cancellable
    - target
    - error
    argTypes:
    - GFile*
    - GFileCopyFlags
    - GCancellable*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 2675
      start: 2622
    functionDepth: 0
    functionLinenumber: 2622
    functionLinenumberEnd: 2675
    functionName: copy_symlink
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_propagate_error
    - g_file_query_info
    - g_object_unref
    - g_file_info_get_file_type
    - g_file_make_symbolic_link
    - g_file_delete
    - g_set_error_literal
    - _
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean copy_symlink (GFile *destination, GFileCopyFlags flags,
      GCancellable *cancellable, const char *target, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:4939,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:4942,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:4940,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:4939,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 6
    argNames:
    - file
    - display_name
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFile*
    - gchar*
    - gint
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 4949
      start: 4929
    functionDepth: 0
    functionLinenumber: 4929
    functionLinenumberEnd: 4949
    functionName: g_file_set_display_name_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_file_set_display_name_async (GFile *file, const gchar *display_name,
      gint io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer
      user_data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:5066,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:5066,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:5071,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:5068,1
    - Dst: g_file_attribute_info_list_new
      Src: /src/glib/gio/gfile.c:5074,1
    - Dst: g_warn_if_reached
      Src: /src/glib/gio/gfile.c:5081,1
    - Dst: g_file_attribute_info_list_new
      Src: /src/glib/gio/gfile.c:5082,1
    - Dst: g_error_free
      Src: /src/glib/gio/gfile.c:5089,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gfile.c:5092,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5096
      start: 5057
    functionDepth: 0
    functionLinenumber: 5057
    functionLinenumberEnd: 5096
    functionName: g_file_query_writable_namespaces
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_return_val_if_fail
    - g_warn_if_reached
    - g_error_free
    - g_file_attribute_info_list_new
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_cancellable_set_error_if_cancelled
    linkageType: ''
    returnType: GFileAttributeInfoList*
    signature: 'GFileAttributeInfoList *g_file_query_writable_namespaces (GFile *file,
      GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_set_attribute
      Src: /src/glib/gio/gfile.c:5410,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 6
    argNames:
    - file
    - attribute
    - value
    - flags
    - cancellable
    - error
    argTypes:
    - GFile*
    - gchar*
    - guint32
    - GFileQueryInfoFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 5413
      start: 5402
    functionDepth: 0
    functionLinenumber: 5402
    functionLinenumberEnd: 5413
    functionName: g_file_set_attribute_uint32
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_file_set_attribute
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_set_attribute_uint32 (GFile *file, const gchar *attribute,
      guint32 value, GFileQueryInfoFlags flags, GCancellable *cancellable, GError
      **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_read
      Src: /src/glib/gio/gfile.c:6283,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:6287,1
    - Dst: G_FILE
      Src: /src/glib/gio/gfile.c:6283,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gfile.c:6285,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - task
    - object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 6288
      start: 6274
    functionDepth: 0
    functionLinenumber: 6274
    functionLinenumberEnd: 6288
    functionName: open_read_async_thread
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_file_read
    - g_task_return_error
    - g_task_return_pointer
    - G_FILE
    linkageType: ''
    returnType: void
    signature: 'static void open_read_async_thread (GTask *task, gpointer object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:9003,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gfile.c:9005,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfile.c:9003,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:9019,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:9005,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 11
    argCount: 6
    argNames:
    - file
    - result
    - disk_usage
    - num_dirs
    - num_files
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - guint64*
    - guint64*
    - guint64*
    - GError**
    constantsTouched: []
    func_position:
      end: 9022
      start: 8993
    functionDepth: 0
    functionLinenumber: 8993
    functionLinenumberEnd: 9022
    functionName: g_file_real_measure_disk_usage_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_task_is_valid
    - G_TASK
    - g_free
    - g_task_propagate_pointer
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_file_real_measure_disk_usage_finish (GFile *file,
      GAsyncResult *result, guint64 *disk_usage, guint64 *num_dirs, guint64 *num_files,
      GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_file_read
      Src: /src/glib/gio/gfile.c:2690,1
    - Dst: g_error_free
      Src: /src/glib/gio/gfile.c:2701,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/gfile.c:2704,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/gfile.c:2708,1
    - Dst: g_file_info_get_file_type
      Src: /src/glib/gio/gfile.c:2710,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:2711,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:2717,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:2718,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:2725,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:2726,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gfile.c:2735,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:2744,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gfile.c:2749,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gfile.c:2738,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:2745,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gfile.c:2736,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gfile.c:2741,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2751
      start: 2677
    functionDepth: 0
    functionLinenumber: 2677
    functionLinenumberEnd: 2751
    functionName: open_source_for_copy
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_clear_error
    - g_file_query_info
    - g_file_info_has_attribute
    - g_object_unref
    - g_file_info_get_file_type
    - g_file_read
    - g_error_matches
    - g_set_error_literal
    - g_clear_object
    - g_error_free
    - _
    linkageType: ''
    returnType: GFileInputStream*
    signature: 'static GFileInputStream *open_source_for_copy (GFile *source, GFile
      *destination, GFileCopyFlags flags, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/gfile.c:6299,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfile.c:6300,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gfile.c:6302,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gfile.c:6301,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:6303,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 5
    argNames:
    - file
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFile*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 6304
      start: 6290
    functionDepth: 0
    functionLinenumber: 6290
    functionLinenumberEnd: 6304
    functionName: g_file_real_read_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_object_unref
    - g_task_run_in_thread
    - g_task_set_priority
    - g_task_set_source_tag
    linkageType: ''
    returnType: void
    signature: 'static void g_file_real_read_async (GFile *file, int io_priority,
      GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:1478,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:1483,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:1478,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:1480,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:1487,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:1489,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1494
      start: 1470
    functionDepth: 0
    functionLinenumber: 1470
    functionLinenumberEnd: 1494
    functionName: g_file_query_filesystem_info
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_set_error_literal
    - _
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_cancellable_set_error_if_cancelled
    linkageType: ''
    returnType: GFileInfo*
    signature: 'GFileInfo *g_file_query_filesystem_info (GFile *file, const char *attributes,
      GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:3963,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfile.c:3966,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:3964,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:3963,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:3964,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:3969,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - file
    - res
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 3971
      start: 3956
    functionDepth: 0
    functionLinenumber: 3956
    functionLinenumberEnd: 3971
    functionName: g_file_copy_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    - G_IS_ASYNC_RESULT
    - G_FILE_GET_IFACE
    - G_IS_FILE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_copy_finish (GFile *file, GAsyncResult *res, GError
      **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:4889,1
    - Dst: strchr
      Src: /src/glib/gio/gfile.c:4892,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:4889,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:4890,1
    - Dst: g_set_error
      Src: /src/glib/gio/gfile.c:4894,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:4897,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:4901,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:4904,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4907
      start: 4881
    functionDepth: 0
    functionLinenumber: 4881
    functionLinenumberEnd: 4907
    functionName: g_file_set_display_name
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_return_val_if_fail
    - strchr
    - _
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_cancellable_set_error_if_cancelled
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *g_file_set_display_name (GFile *file, const gchar *display_name,
      GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:6835,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:6836,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - ReplaceRWAsyncData*
    constantsTouched: []
    func_position:
      end: 6837
      start: 6832
    functionDepth: 0
    functionLinenumber: 6832
    functionLinenumberEnd: 6837
    functionName: replace_rw_async_data_free
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void replace_rw_async_data_free (ReplaceRWAsyncData *data) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_get_file_type
      Src: /src/glib/gio/gfile.c:3398,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/gfile.c:3389,1
    - Dst: g_set_error
      Src: /src/glib/gio/gfile.c:3402,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:3443,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/gfile.c:3491,1
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/gfile.c:3500,1
    - Dst: _g_local_file_get_filename
      Src: /src/glib/gio/gfile.c:3507,1
    - Dst: btrfs_reflink_with_progress
      Src: /src/glib/gio/gfile.c:3533,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gfile.c:3539,1
    - Dst: copy_file_range_with_progress
      Src: /src/glib/gio/gfile.c:3560,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfile.c:3569,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gfile.c:3588,1
    - Dst: G_IS_FILE_DESCRIPTOR_BASED
      Src: /src/glib/gio/gfile.c:3580,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/gfile.c:3625,1
    - Dst: g_file_build_attribute_list_for_copy
      Src: /src/glib/gio/gfile.c:3434,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:3422,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gfile.c:3432,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gfile.c:3453,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:3423,1
    - Dst: G_IS_LOCAL_FILE
      Src: /src/glib/gio/gfile.c:3497,1
    - Dst: _g_local_file_output_stream_create
      Src: /src/glib/gio/gfile.c:3507,1
    - Dst: g_file_create
      Src: /src/glib/gio/gfile.c:3522,1
    - Dst: G_IS_FILE_DESCRIPTOR_BASED
      Src: /src/glib/gio/gfile.c:3529,1
    - Dst: G_IS_FILE_DESCRIPTOR_BASED
      Src: /src/glib/gio/gfile.c:3529,1
    - Dst: G_IS_FILE_DESCRIPTOR_BASED
      Src: /src/glib/gio/gfile.c:3556,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gfile.c:3574,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gfile.c:3569,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gfile.c:3537,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gfile.c:3590,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gfile.c:3543,1
    - Dst: g_file_set_attributes_from_info
      Src: /src/glib/gio/gfile.c:3634,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:3392,1
    - Dst: g_file_info_get_symlink_target
      Src: /src/glib/gio/gfile.c:3407,1
    - Dst: copy_symlink
      Src: /src/glib/gio/gfile.c:3410,1
    - Dst: open_source_for_copy
      Src: /src/glib/gio/gfile.c:3429,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/gfile.c:3456,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:3461,1
    - Dst: _g_local_file_output_stream_replace
      Src: /src/glib/gio/gfile.c:3500,1
    - Dst: _g_local_file_get_filename
      Src: /src/glib/gio/gfile.c:3500,1
    - Dst: G_LOCAL_FILE
      Src: /src/glib/gio/gfile.c:3507,1
    - Dst: g_file_replace
      Src: /src/glib/gio/gfile.c:3514,1
    - Dst: G_IS_FILE_DESCRIPTOR_BASED
      Src: /src/glib/gio/gfile.c:3556,1
    - Dst: splice_stream_with_progress
      Src: /src/glib/gio/gfile.c:3584,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gfile.c:3594,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:3619,1
    - Dst: G_IS_FILE_DESCRIPTOR_BASED
      Src: /src/glib/gio/gfile.c:3580,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gfile.c:3641,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/gfile.c:3381,1
    - Dst: g_set_error
      Src: /src/glib/gio/gfile.c:3391,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/gfile.c:3400,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:3403,1
    - Dst: g_file_input_stream_query_info
      Src: /src/glib/gio/gfile.c:3445,1
    - Dst: g_file_info_get_file_type
      Src: /src/glib/gio/gfile.c:3419,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gfile.c:3455,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gfile.c:3462,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:3466,1
    - Dst: G_IS_LOCAL_FILE
      Src: /src/glib/gio/gfile.c:3492,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gfile.c:3567,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:3627,1
    - Dst: g_input_stream_close
      Src: /src/glib/gio/gfile.c:3618,1
    - Dst: copy_stream_with_progress
      Src: /src/glib/gio/gfile.c:3608,1
    CyclomaticComplexity: 73
    EdgeCount: 73
    ICount: 145
    argCount: 7
    argNames:
    - source
    - destination
    - flags
    - cancellable
    - progress_callback
    - progress_callback_data
    - error
    argTypes:
    - GFile*
    - GFile*
    - GFileCopyFlags
    - GCancellable*
    - GFileProgressCallback
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 3644
      start: 3360
    functionDepth: 0
    functionLinenumber: 3360
    functionLinenumberEnd: 3644
    functionName: file_copy_fallback
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_file_create
    - g_input_stream_close
    - g_set_error_literal
    - g_file_build_attribute_list_for_copy
    - G_INPUT_STREAM
    - g_file_query_info
    - copy_stream_with_progress
    - g_object_unref
    - _g_local_file_output_stream_create
    - G_IS_LOCAL_FILE
    - _g_local_file_output_stream_replace
    - _g_local_file_get_filename
    - g_output_stream_close
    - g_clear_object
    - copy_symlink
    - copy_file_range_with_progress
    - g_set_error
    - g_file_info_has_attribute
    - g_file_replace
    - g_file_info_get_file_type
    - g_file_set_attributes_from_info
    - g_file_input_stream_query_info
    - _
    - g_clear_error
    - g_propagate_error
    - g_file_info_get_symlink_target
    - btrfs_reflink_with_progress
    - G_IS_FILE_DESCRIPTOR_BASED
    - open_source_for_copy
    - g_error_matches
    - splice_stream_with_progress
    - G_LOCAL_FILE
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean file_copy_fallback (GFile *source, GFile *destination,
      GFileCopyFlags flags, GCancellable *cancellable, GFileProgressCallback progress_callback,
      gpointer progress_callback_data, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:4846,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:4847,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:4849,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:4846,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:4847,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - file
    - result
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 4851
      start: 4839
    functionDepth: 0
    functionLinenumber: 4839
    functionLinenumberEnd: 4851
    functionName: g_file_trash_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    - G_IS_ASYNC_RESULT
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_trash_finish (GFile *file, GAsyncResult *result, GError
      **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_make_directory
      Src: /src/glib/gio/gfile.c:6699,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gfile.c:6700,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:6702,1
    - Dst: G_FILE
      Src: /src/glib/gio/gfile.c:6699,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - task
    - object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 6703
      start: 6691
    functionDepth: 0
    functionLinenumber: 6691
    functionLinenumberEnd: 6703
    functionName: make_directory_async_thread
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_file_make_directory
    - g_task_return_error
    - G_FILE
    linkageType: ''
    returnType: void
    signature: 'static void make_directory_async_thread (GTask *task, gpointer object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 7099
      start: 7088
    functionDepth: 0
    functionLinenumber: 7088
    functionLinenumberEnd: 7099
    functionName: copy_async_progress_in_main
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean copy_async_progress_in_main (gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_create
      Src: /src/glib/gio/gfile.c:6376,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:6380,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gfile.c:6378,1
    - Dst: G_FILE
      Src: /src/glib/gio/gfile.c:6376,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 4
    argNames:
    - task
    - source_object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 6381
      start: 6366
    functionDepth: 0
    functionLinenumber: 6366
    functionLinenumberEnd: 6381
    functionName: create_async_thread
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_file_create
    - g_task_return_error
    - g_task_return_pointer
    - G_FILE
    linkageType: ''
    returnType: void
    signature: 'static void create_async_thread (GTask *task, gpointer source_object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_file_get_uri_scheme
      Src: /src/glib/gio/gfile.c:7839,1
    - Dst: g_app_info_get_default_for_uri_scheme
      Src: /src/glib/gio/gfile.c:7842,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:7849,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:7843,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/gfile.c:7851,1
    - Dst: g_file_info_get_content_type
      Src: /src/glib/gio/gfile.c:7862,1
    - Dst: g_file_info_get_attribute_string
      Src: /src/glib/gio/gfile.c:7864,1
    - Dst: g_file_get_path
      Src: /src/glib/gio/gfile.c:7868,1
    - Dst: g_app_info_get_default_for_type
      Src: /src/glib/gio/gfile.c:7869,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:7871,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:7874,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:7879,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:7881,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7883
      start: 7828
    functionDepth: 0
    functionLinenumber: 7828
    functionLinenumberEnd: 7883
    functionName: g_file_query_default_handler
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_file_query_info
    - g_object_unref
    - g_set_error_literal
    - g_file_get_path
    - g_file_info_get_content_type
    - g_app_info_get_default_for_type
    - _
    - g_app_info_get_default_for_uri_scheme
    - g_file_info_get_attribute_string
    - g_free
    - g_file_get_uri_scheme
    linkageType: ''
    returnType: GAppInfo*
    signature: 'GAppInfo *g_file_query_default_handler (GFile *file, GCancellable
      *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/gfile.c:8015,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfile.c:8024,1
    - Dst: g_file_get_uri_scheme
      Src: /src/glib/gio/gfile.c:8018,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfile.c:8016,1
    - Dst: g_app_info_get_default_for_uri_scheme_async
      Src: /src/glib/gio/gfile.c:8021,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:8025,1
    - Dst: g_file_query_info_async
      Src: /src/glib/gio/gfile.c:8029,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfile.c:8036,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:8038,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 5
    argNames:
    - file
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFile*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 8039
      start: 8005
    functionDepth: 0
    functionLinenumber: 8005
    functionLinenumberEnd: 8039
    functionName: g_file_query_default_handler_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_task_new
    - g_task_set_source_tag
    - g_file_query_info_async
    - g_app_info_get_default_for_uri_scheme_async
    - g_free
    - g_file_get_uri_scheme
    linkageType: ''
    returnType: void
    signature: 'void g_file_query_default_handler_async (GFile *file, int io_priority,
      GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE
      Src: /src/glib/gio/gfile.c:8691,1
    - Dst: g_output_stream_write_async
      Src: /src/glib/gio/gfile.c:8704,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gfile.c:8704,1
    - Dst: g_file_replace_finish
      Src: /src/glib/gio/gfile.c:8696,1
    - Dst: g_bytes_get_data
      Src: /src/glib/gio/gfile.c:8703,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gfile.c:8708,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:8711,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:8715,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:8716,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - obj
    - open_res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 8718
      start: 8686
    functionDepth: 0
    functionLinenumber: 8686
    functionLinenumberEnd: 8718
    functionName: replace_contents_open_callback
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_output_stream_write_async
    - g_task_get_cancellable
    - G_FILE
    - g_task_return_error
    - g_file_replace_finish
    - g_bytes_get_data
    - G_OUTPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void replace_contents_open_callback (GObject *obj, GAsyncResult
      *open_res, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/gfile.c:6714,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gfile.c:6716,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfile.c:6715,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gfile.c:6717,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:6718,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 5
    argNames:
    - file
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFile*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 6719
      start: 6705
    functionDepth: 0
    functionLinenumber: 6705
    functionLinenumberEnd: 6719
    functionName: g_file_real_make_directory_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_object_unref
    - g_task_run_in_thread
    - g_task_set_priority
    - g_task_set_source_tag
    linkageType: ''
    returnType: void
    signature: 'static void g_file_real_make_directory_async (GFile *file, int io_priority,
      GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gfile.c:7107,1
    - Dst: g_main_context_invoke_full
      Src: /src/glib/gio/gfile.c:7115,1
    - Dst: g_task_get_priority
      Src: /src/glib/gio/gfile.c:7116,1
    - Dst: g_new
      Src: /src/glib/gio/gfile.c:7110,1
    - Dst: g_task_get_context
      Src: /src/glib/gio/gfile.c:7115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - current_num_bytes
    - total_num_bytes
    - user_data
    argTypes:
    - goffset
    - goffset
    - gpointer
    constantsTouched: []
    func_position:
      end: 7120
      start: 7101
    functionDepth: 0
    functionLinenumber: 7101
    functionLinenumberEnd: 7120
    functionName: copy_async_progress_callback
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_main_context_invoke_full
    - g_new
    - g_task_get_priority
    - g_task_get_context
    - g_task_get_task_data
    linkageType: ''
    returnType: void
    signature: 'static void copy_async_progress_callback (goffset current_num_bytes,
      goffset total_num_bytes, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:7890,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gfile.c:7898,1
    - Dst: g_app_info_get_default_for_type_finish
      Src: /src/glib/gio/gfile.c:7894,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfile.c:7898,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gfile.c:7900,1
    - Dst: g_task_return_new_error_literal
      Src: /src/glib/gio/gfile.c:7902,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:7908,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfile.c:7908,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gfile.c:7911,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:7912,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 7913
      start: 7885
    functionDepth: 0
    functionLinenumber: 7885
    functionLinenumberEnd: 7913
    functionName: query_default_handler_query_app_info_for_type_cb
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_steal_pointer
    - g_object_unref
    - g_task_return_pointer
    - g_task_return_new_error_literal
    - g_error_matches
    - G_TASK
    - g_app_info_get_default_for_type_finish
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void query_default_handler_query_app_info_for_type_cb (GObject
      *object, GAsyncResult *result, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:1828,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:1833,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:1830,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:1837,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:1828,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:1839,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1844
      start: 1820
    functionDepth: 0
    functionLinenumber: 1820
    functionLinenumberEnd: 1844
    functionName: g_file_create
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_set_error_literal
    - _
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_cancellable_set_error_if_cancelled
    linkageType: ''
    returnType: GFileOutputStream*
    signature: 'GFileOutputStream *g_file_create (GFile *file, GFileCreateFlags flags,
      GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:4817,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:4817,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:4819,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 5
    argNames:
    - file
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFile*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 4825
      start: 4808
    functionDepth: 0
    functionLinenumber: 4808
    functionLinenumberEnd: 4825
    functionName: g_file_trash_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_file_trash_async (GFile *file, int io_priority, GCancellable
      *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:6057,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:6062,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:6059,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:6057,1
    - Dst: _g_poll_file_monitor_new
      Src: /src/glib/gio/gfile.c:6071,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6074
      start: 6048
    functionDepth: 0
    functionLinenumber: 6048
    functionLinenumberEnd: 6074
    functionName: g_file_monitor_file
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - _g_poll_file_monitor_new
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_cancellable_set_error_if_cancelled
    linkageType: ''
    returnType: GFileMonitor*
    signature: 'GFileMonitor *g_file_monitor_file (GFile *file, GFileMonitorFlags
      flags, GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:9226,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfile.c:9229,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:9226,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:9227,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:9227,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gfile.c:9231,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gfile.c:9232,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:9232,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:9234,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - file
    - result
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 9236
      start: 9219
    functionDepth: 0
    functionLinenumber: 9219
    functionLinenumberEnd: 9236
    functionName: g_file_start_mountable_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    - G_IS_ASYNC_RESULT
    - G_FILE_GET_IFACE
    - G_TASK
    - G_IS_FILE
    - g_async_result_is_tagged
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_start_mountable_finish (GFile *file, GAsyncResult
      *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:466,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:468,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:466,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 471
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 471
    functionName: g_file_is_native
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_is_native (GFile *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:1038,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:1041,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:1039,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:1038,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1032
    functionDepth: 0
    functionLinenumber: 1032
    functionLinenumberEnd: 1044
    functionName: g_file_resolve_relative_path
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *g_file_resolve_relative_path (GFile *file, const char *relative_path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:1146,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:1148,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:1146,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 7
    argNames:
    - file
    - attributes
    - flags
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFile*
    - char*
    - GFileQueryInfoFlags
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 1156
      start: 1135
    functionDepth: 0
    functionLinenumber: 1135
    functionLinenumberEnd: 1156
    functionName: g_file_enumerate_children_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_file_enumerate_children_async (GFile *file, const char *attributes,
      GFileQueryInfoFlags flags, int io_priority, GCancellable *cancellable, GAsyncReadyCallback
      callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:2134,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:2134,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:2136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 5
    argNames:
    - file
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFile*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 2142
      start: 2125
    functionDepth: 0
    functionLinenumber: 2125
    functionLinenumberEnd: 2142
    functionName: g_file_read_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_file_read_async (GFile *file, int io_priority, GCancellable
      *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:2612,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:2613,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:2613,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:2612,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfile.c:2615,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:2618,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2620
      start: 2605
    functionDepth: 0
    functionLinenumber: 2605
    functionLinenumberEnd: 2620
    functionName: g_file_replace_readwrite_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    - G_IS_ASYNC_RESULT
    - G_FILE_GET_IFACE
    - G_IS_FILE
    linkageType: ''
    returnType: GFileIOStream*
    signature: 'GFileIOStream *g_file_replace_readwrite_finish (GFile *file, GAsyncResult
      *res, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:4736,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfile.c:4739,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:4737,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:4736,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:4737,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:4742,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - file
    - result
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 4744
      start: 4729
    functionDepth: 0
    functionLinenumber: 4729
    functionLinenumberEnd: 4744
    functionName: g_file_delete_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    - G_IS_ASYNC_RESULT
    - G_FILE_GET_IFACE
    - G_IS_FILE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_delete_finish (GFile *file, GAsyncResult *result,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_query_filesystem_info
      Src: /src/glib/gio/gfile.c:6188,1
    - Dst: G_FILE
      Src: /src/glib/gio/gfile.c:6188,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gfile.c:6190,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:6192,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 4
    argNames:
    - task
    - object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 6193
      start: 6178
    functionDepth: 0
    functionLinenumber: 6178
    functionLinenumberEnd: 6193
    functionName: query_filesystem_info_async_thread
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_file_query_filesystem_info
    - g_task_return_error
    - g_task_return_pointer
    - G_FILE
    linkageType: ''
    returnType: void
    signature: 'static void query_filesystem_info_async_thread (GTask *task, gpointer
      object, gpointer task_data, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gfile.c:6344,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gfile.c:6350,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gfile.c:6349,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfile.c:6348,1
    - Dst: g_task_new
      Src: /src/glib/gio/gfile.c:6347,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gfile.c:6352,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:6353,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 6
    argNames:
    - file
    - flags
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFile*
    - GFileCreateFlags
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 6354
      start: 6333
    functionDepth: 0
    functionLinenumber: 6333
    functionLinenumberEnd: 6354
    functionName: g_file_real_append_to_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_object_unref
    - g_task_set_priority
    - g_task_set_source_tag
    - g_task_run_in_thread
    - g_task_set_task_data
    - g_new0
    linkageType: ''
    returnType: void
    signature: 'static void g_file_real_append_to_async (GFile *file, GFileCreateFlags
      flags, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/gfile.c:6205,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfile.c:6207,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gfile.c:6208,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gfile.c:6207,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfile.c:6206,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gfile.c:6209,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:6210,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 6
    argNames:
    - file
    - attributes
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFile*
    - char*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 6211
      start: 6195
    functionDepth: 0
    functionLinenumber: 6195
    functionLinenumberEnd: 6211
    functionName: g_file_real_query_filesystem_info_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_task_new
    - g_object_unref
    - g_task_set_priority
    - g_task_set_source_tag
    - g_task_run_in_thread
    - g_task_set_task_data
    linkageType: ''
    returnType: void
    signature: 'static void g_file_real_query_filesystem_info_async (GFile *file,
      const char *attributes, int io_priority, GCancellable *cancellable, GAsyncReadyCallback
      callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:6361,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfile.c:6361,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gfile.c:6363,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:6363,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6364
      start: 6356
    functionDepth: 0
    functionLinenumber: 6356
    functionLinenumberEnd: 6364
    functionName: g_file_real_append_to_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_return_val_if_fail
    - g_task_is_valid
    - g_task_propagate_pointer
    linkageType: ''
    returnType: GFileOutputStream*
    signature: 'static GFileOutputStream *g_file_real_append_to_finish (GFile *file,
      GAsyncResult *res, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gfile.c:6394,1
    - Dst: g_task_new
      Src: /src/glib/gio/gfile.c:6397,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfile.c:6398,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gfile.c:6399,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gfile.c:6400,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gfile.c:6402,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:6403,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 6
    argNames:
    - file
    - flags
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFile*
    - GFileCreateFlags
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 6404
      start: 6383
    functionDepth: 0
    functionLinenumber: 6383
    functionLinenumberEnd: 6404
    functionName: g_file_real_create_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_object_unref
    - g_task_set_priority
    - g_task_set_source_tag
    - g_task_run_in_thread
    - g_task_set_task_data
    - g_new0
    linkageType: ''
    returnType: void
    signature: 'static void g_file_real_create_async (GFile *file, GFileCreateFlags
      flags, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback,
      gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_replace_readwrite
      Src: /src/glib/gio/gfile.c:6849,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:6857,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gfile.c:6859,1
    - Dst: G_FILE
      Src: /src/glib/gio/gfile.c:6849,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 4
    argNames:
    - task
    - object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 6860
      start: 6839
    functionDepth: 0
    functionLinenumber: 6839
    functionLinenumberEnd: 6860
    functionName: replace_readwrite_async_thread
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_file_replace_readwrite
    - g_task_return_error
    - g_task_return_pointer
    - G_FILE
    linkageType: ''
    returnType: void
    signature: 'static void replace_readwrite_async_thread (GTask *task, gpointer
      object, gpointer task_data, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/gfile.c:7047,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfile.c:7048,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:7052,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gfile.c:7051,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gfile.c:7049,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 5
    argNames:
    - file
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFile*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 7053
      start: 7038
    functionDepth: 0
    functionLinenumber: 7038
    functionLinenumberEnd: 7053
    functionName: g_file_real_find_enclosing_mount_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_object_unref
    - g_task_run_in_thread
    - g_task_set_priority
    - g_task_set_source_tag
    linkageType: ''
    returnType: void
    signature: 'static void g_file_real_find_enclosing_mount_async (GFile *file, int
      io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer
      user_data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_task_return_error_if_cancelled
      Src: /src/glib/gio/gfile.c:7430,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:7441,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfile.c:7441,1
    - Dst: g_io_error_from_file_error
      Src: /src/glib/gio/gfile.c:7446,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/gio/gfile.c:7433,1
    - Dst: g_task_return_new_error
      Src: /src/glib/gio/gfile.c:7448,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:7449,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gfile.c:7453,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gfile.c:7457,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/gfile.c:7457,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:7459,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 4
    argNames:
    - task
    - object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 7460
      start: 7420
    functionDepth: 0
    functionLinenumber: 7420
    functionLinenumberEnd: 7460
    functionName: new_tmp_dir_async_thread
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_steal_pointer
    - g_file_new_for_path
    - g_task_return_pointer
    - g_task_return_error_if_cancelled
    - g_dir_make_tmp
    - g_task_return_new_error
    - g_io_error_from_file_error
    - _
    - g_free
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void new_tmp_dir_async_thread (GTask *task, gpointer object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:2578,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:2580,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:2578,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 8
    argNames:
    - file
    - etag
    - make_backup
    - flags
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFile*
    - char*
    - gboolean
    - GFileCreateFlags
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 2589
      start: 2566
    functionDepth: 0
    functionLinenumber: 2566
    functionLinenumberEnd: 2589
    functionName: g_file_replace_readwrite_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_file_replace_readwrite_async (GFile *file, const char *etag,
      gboolean make_backup, GFileCreateFlags flags, int io_priority, GCancellable
      *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:3714,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:3715,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:3714,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:3715,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:3717,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:3720,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gfile.c:3734,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gfile.c:3738,1
    - Dst: G_OBJECT_TYPE
      Src: /src/glib/gio/gfile.c:3744,1
    - Dst: G_OBJECT_TYPE
      Src: /src/glib/gio/gfile.c:3744,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gfile.c:3761,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gfile.c:3765,1
    - Dst: file_copy_fallback
      Src: /src/glib/gio/gfile.c:3769,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:3746,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 35
    argCount: 7
    argNames:
    - source
    - destination
    - flags
    - cancellable
    - progress_callback
    - progress_callback_data
    - error
    argTypes:
    - GFile*
    - GFile*
    - GFileCopyFlags
    - GCancellable*
    - GFileProgressCallback
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 3772
      start: 3701
    functionDepth: 0
    functionLinenumber: 3701
    functionLinenumberEnd: 3772
    functionName: g_file_copy
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_clear_error
    - G_OBJECT_TYPE
    - g_return_val_if_fail
    - file_copy_fallback
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_cancellable_set_error_if_cancelled
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_copy (GFile *source, GFile *destination, GFileCopyFlags
      flags, GCancellable *cancellable, GFileProgressCallback progress_callback, gpointer
      progress_callback_data, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_new_static
      Src: /src/glib/gio/gfile.c:8765,1
    - Dst: g_file_replace_contents_bytes_async
      Src: /src/glib/gio/gfile.c:8766,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/gfile.c:8768,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 9
    argNames:
    - file
    - contents
    - length
    - etag
    - make_backup
    - flags
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFile*
    - char*
    - gsize
    - char*
    - gboolean
    - GFileCreateFlags
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 8769
      start: 8752
    functionDepth: 0
    functionLinenumber: 8752
    functionLinenumberEnd: 8769
    functionName: g_file_replace_contents_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_bytes_new_static
    - g_file_replace_contents_bytes_async
    - g_bytes_unref
    linkageType: ''
    returnType: void
    signature: 'void g_file_replace_contents_async (GFile *file, const char *contents,
      gsize length, const char *etag, gboolean make_backup, GFileCreateFlags flags,
      GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:2234,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:2234,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfile.c:2237,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:2235,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:2235,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:2240,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2242
      start: 2227
    functionDepth: 0
    functionLinenumber: 2227
    functionLinenumberEnd: 2242
    functionName: g_file_append_to_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    - G_IS_ASYNC_RESULT
    - G_FILE_GET_IFACE
    - G_IS_FILE
    linkageType: ''
    returnType: GFileOutputStream*
    signature: 'GFileOutputStream *g_file_append_to_finish (GFile *file, GAsyncResult
      *res, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_query_file_type
      Src: /src/glib/gio/gfile.c:6103,1
    - Dst: g_file_monitor_directory
      Src: /src/glib/gio/gfile.c:6104,1
    - Dst: g_file_monitor_file
      Src: /src/glib/gio/gfile.c:6108,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6109
      start: 6097
    functionDepth: 0
    functionLinenumber: 6097
    functionLinenumberEnd: 6109
    functionName: g_file_monitor
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_file_monitor_file
    - g_file_monitor_directory
    - g_file_query_file_type
    linkageType: ''
    returnType: GFileMonitor*
    signature: 'GFileMonitor *g_file_monitor (GFile *file, GFileMonitorFlags flags,
      GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:6527,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gfile.c:6529,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:6529,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfile.c:6527,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - file
    - res
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 6530
      start: 6522
    functionDepth: 0
    functionLinenumber: 6522
    functionLinenumberEnd: 6530
    functionName: g_file_real_delete_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_task_is_valid
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_file_real_delete_finish (GFile *file, GAsyncResult
      *res, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:7567,1
    - Dst: va_start
      Src: /src/glib/gio/gfile.c:7569,1
    - Dst: va_end
      Src: /src/glib/gio/gfile.c:7571,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/gfile.c:7573,1
    - Dst: g_build_filename_valist
      Src: /src/glib/gio/gfile.c:7570,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:7574,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7577
      start: 7559
    functionDepth: 0
    functionLinenumber: 7559
    functionLinenumberEnd: 7577
    functionName: g_file_new_build_filename
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_build_filename_valist
    - g_file_new_for_path
    - g_return_val_if_fail
    - va_end
    - g_free
    - va_start
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *g_file_new_build_filename (const gchar *first_element, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_trash
      Src: /src/glib/gio/gfile.c:6540,1
    - Dst: G_FILE
      Src: /src/glib/gio/gfile.c:6540,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gfile.c:6541,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:6543,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - task
    - object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 6544
      start: 6532
    functionDepth: 0
    functionLinenumber: 6532
    functionLinenumberEnd: 6544
    functionName: trash_async_thread
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_file_trash
    - g_task_return_error
    - G_FILE
    linkageType: ''
    returnType: void
    signature: 'static void trash_async_thread (GTask *task, gpointer object, gpointer
      task_data, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gfile.c:8183,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:8184,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:8185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - LoadContentsData*
    constantsTouched: []
    func_position:
      end: 8186
      start: 8180
    functionDepth: 0
    functionLinenumber: 8180
    functionLinenumberEnd: 8186
    functionName: load_contents_data_free
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void load_contents_data_free (LoadContentsData *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:2203,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:2205,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:2203,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 6
    argNames:
    - file
    - flags
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFile*
    - GFileCreateFlags
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 2212
      start: 2193
    functionDepth: 0
    functionLinenumber: 2193
    functionLinenumberEnd: 2212
    functionName: g_file_append_to_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_file_append_to_async (GFile *file, GFileCreateFlags flags,
      int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_set_attribute
      Src: /src/glib/gio/gfile.c:5508,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 6
    argNames:
    - file
    - attribute
    - value
    - flags
    - cancellable
    - error
    argTypes:
    - GFile*
    - gchar*
    - gint64
    - GFileQueryInfoFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 5511
      start: 5500
    functionDepth: 0
    functionLinenumber: 5500
    functionLinenumberEnd: 5511
    functionName: g_file_set_attribute_int64
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_file_set_attribute
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_set_attribute_int64 (GFile *file, const gchar *attribute,
      gint64 value, GFileQueryInfoFlags flags, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:7539,1
    - Dst: g_vfs_get_default
      Src: /src/glib/gio/gfile.c:7541,1
    - Dst: g_vfs_parse_name
      Src: /src/glib/gio/gfile.c:7541,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7542
      start: 7536
    functionDepth: 0
    functionLinenumber: 7536
    functionLinenumberEnd: 7542
    functionName: g_file_parse_name
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_vfs_get_default
    - g_return_val_if_fail
    - g_vfs_parse_name
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *g_file_parse_name (const char *parse_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gfile.c:8625,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gfile.c:8634,1
    - Dst: G_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/gfile.c:8633,1
    - Dst: g_output_stream_close_finish
      Src: /src/glib/gio/gfile.c:8629,1
    - Dst: g_file_output_stream_get_etag
      Src: /src/glib/gio/gfile.c:8633,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:8636,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - obj
    - close_res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 8637
      start: 8620
    functionDepth: 0
    functionLinenumber: 8620
    functionLinenumberEnd: 8637
    functionName: replace_contents_close_callback
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_output_stream_close_finish
    - g_object_unref
    - G_FILE_OUTPUT_STREAM
    - g_file_output_stream_get_etag
    - G_OUTPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void replace_contents_close_callback (GObject *obj, GAsyncResult
      *close_res, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_measure_disk_usage
      Src: /src/glib/gio/gfile.c:8958,1
    - Dst: g_memdup2
      Src: /src/glib/gio/gfile.c:8962,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:8964,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gfile.c:8962,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 4
    argNames:
    - task
    - source_object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 8965
      start: 8948
    functionDepth: 0
    functionLinenumber: 8948
    functionLinenumberEnd: 8965
    functionName: measure_disk_usage_thread
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_return_error
    - g_memdup2
    - g_file_measure_disk_usage
    - g_task_return_pointer
    linkageType: ''
    returnType: void
    signature: 'static void measure_disk_usage_thread (GTask *task, gpointer source_object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:9109,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:9109,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:9110,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gfile.c:9110,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:9112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 8
    argNames:
    - file
    - flags
    - io_priority
    - cancellable
    - progress_callback
    - progress_data
    - callback
    - user_data
    argTypes:
    - GFile*
    - GFileMeasureFlags
    - gint
    - GCancellable*
    - GFileMeasureProgressCallback
    - gpointer
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 9115
      start: 9099
    functionDepth: 0
    functionLinenumber: 9099
    functionLinenumberEnd: 9115
    functionName: g_file_measure_disk_usage_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - G_IS_CANCELLABLE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_file_measure_disk_usage_async (GFile *file, GFileMeasureFlags
      flags, gint io_priority, GCancellable *cancellable, GFileMeasureProgressCallback
      progress_callback, gpointer progress_data, GAsyncReadyCallback callback, gpointer
      user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:1560,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:1560,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:1561,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfile.c:1563,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:1561,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:1566,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1568
      start: 1553
    functionDepth: 0
    functionLinenumber: 1553
    functionLinenumberEnd: 1568
    functionName: g_file_query_filesystem_info_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    - G_IS_ASYNC_RESULT
    - G_FILE_GET_IFACE
    - G_IS_FILE
    linkageType: ''
    returnType: GFileInfo*
    signature: 'GFileInfo *g_file_query_filesystem_info_finish (GFile *file, GAsyncResult
      *res, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:1770,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:1772,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:1779,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:1775,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:1770,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:1781,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1786
      start: 1762
    functionDepth: 0
    functionLinenumber: 1762
    functionLinenumberEnd: 1786
    functionName: g_file_append_to
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_set_error_literal
    - _
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_cancellable_set_error_if_cancelled
    linkageType: ''
    returnType: GFileOutputStream*
    signature: 'GFileOutputStream *g_file_append_to (GFile *file, GFileCreateFlags
      flags, GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:1969,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:1969,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:1974,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:1971,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:1978,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:1980,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1985
      start: 1962
    functionDepth: 0
    functionLinenumber: 1962
    functionLinenumberEnd: 1985
    functionName: g_file_open_readwrite
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_set_error_literal
    - _
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_cancellable_set_error_if_cancelled
    linkageType: ''
    returnType: GFileIOStream*
    signature: 'GFileIOStream *g_file_open_readwrite (GFile *file, GCancellable *cancellable,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:2305,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:2305,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:2306,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:2306,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfile.c:2308,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:2311,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2313
      start: 2298
    functionDepth: 0
    functionLinenumber: 2298
    functionLinenumberEnd: 2313
    functionName: g_file_create_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    - G_IS_ASYNC_RESULT
    - G_FILE_GET_IFACE
    - G_IS_FILE
    linkageType: ''
    returnType: GFileOutputStream*
    signature: 'GFileOutputStream *g_file_create_finish (GFile *file, GAsyncResult
      *res, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:6002,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:6003,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:6002,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:6008,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:6005,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:6012,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:6014,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6019
      start: 5994
    functionDepth: 0
    functionLinenumber: 5994
    functionLinenumberEnd: 6019
    functionName: g_file_monitor_directory
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_set_error_literal
    - _
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_cancellable_set_error_if_cancelled
    linkageType: ''
    returnType: GFileMonitor*
    signature: 'GFileMonitor *g_file_monitor_directory (GFile *file, GFileMonitorFlags
      flags, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/gfile.c:6757,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:6762,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gfile.c:6759,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfile.c:6758,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gfile.c:6761,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 5
    argNames:
    - file
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFile*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 6763
      start: 6748
    functionDepth: 0
    functionLinenumber: 6748
    functionLinenumberEnd: 6763
    functionName: g_file_real_open_readwrite_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_object_unref
    - g_task_run_in_thread
    - g_task_set_priority
    - g_task_set_source_tag
    linkageType: ''
    returnType: void
    signature: 'static void g_file_real_open_readwrite_async (GFile *file, int io_priority,
      GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:7398,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:7399,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:7399,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfile.c:7398,1
    - Dst: g_task_get_source_tag
      Src: /src/glib/gio/gfile.c:7399,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:7401,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:7402,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gfile.c:7404,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:7404,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfile.c:7412,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfile.c:7413,1
    - Dst: new_tmp_data_free
      Src: /src/glib/gio/gfile.c:7415,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7418
      start: 7390
    functionDepth: 0
    functionLinenumber: 7390
    functionLinenumberEnd: 7418
    functionName: g_file_new_tmp_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_return_val_if_fail
    - g_task_is_valid
    - g_task_get_source_tag
    - G_TASK
    - new_tmp_data_free
    - g_task_propagate_pointer
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *g_file_new_tmp_finish (GAsyncResult *result, GFileIOStream
      **iostream, GError **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:8106,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:8107,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:8106,1
    - Dst: g_realloc
      Src: /src/glib/gio/gfile.c:8127,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/gfile.c:8141,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:8148,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:8153,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:8142,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfile.c:8165,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gfile.c:8117,1
    - Dst: g_assert
      Src: /src/glib/gio/gfile.c:8125,1
    - Dst: g_file_input_stream_query_info
      Src: /src/glib/gio/gfile.c:8135,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfile.c:8141,1
    - Dst: g_file_read
      Src: /src/glib/gio/gfile.c:8109,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/gfile.c:8117,1
    - Dst: g_input_stream_close
      Src: /src/glib/gio/gfile.c:8147,1
    - Dst: g_malloc
      Src: /src/glib/gio/gfile.c:8114,1
    - Dst: g_realloc
      Src: /src/glib/gio/gfile.c:8162,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gfile.c:8147,1
    - Dst: g_file_info_get_etag
      Src: /src/glib/gio/gfile.c:8141,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 52
    argCount: 6
    argNames:
    - file
    - cancellable
    - contents
    - length
    - etag_out
    - error
    argTypes:
    - GFile*
    - GCancellable*
    - char**
    - gsize*
    - char**
    - GError**
    constantsTouched: []
    func_position:
      end: 8168
      start: 8091
    functionDepth: 0
    functionLinenumber: 8091
    functionLinenumberEnd: 8168
    functionName: g_file_load_contents
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_file_info_get_etag
    - g_return_val_if_fail
    - g_file_info_has_attribute
    - g_strdup
    - g_object_unref
    - g_assert
    - g_realloc
    - g_file_read
    - g_input_stream_close
    - g_malloc
    - g_file_input_stream_query_info
    - g_input_stream_read
    - G_IS_FILE
    - g_free
    - G_INPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_load_contents (GFile *file, GCancellable *cancellable,
      char **contents, gsize *length, char **etag_out, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 43
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GFileIface*
    constantsTouched: []
    func_position:
      end: 440
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 440
    functionName: g_file_default_init
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_file_default_init (GFileIface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:6770,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfile.c:6770,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gfile.c:6772,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:6772,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6773
      start: 6765
    functionDepth: 0
    functionLinenumber: 6765
    functionLinenumberEnd: 6773
    functionName: g_file_real_open_readwrite_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_return_val_if_fail
    - g_task_is_valid
    - g_task_propagate_pointer
    linkageType: ''
    returnType: GFileIOStream*
    signature: 'static GFileIOStream *g_file_real_open_readwrite_finish (GFile *file,
      GAsyncResult *res, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:1529,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:1531,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:1529,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 6
    argNames:
    - file
    - attributes
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFile*
    - char*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 1538
      start: 1519
    functionDepth: 0
    functionLinenumber: 1519
    functionLinenumberEnd: 1538
    functionName: g_file_query_filesystem_info_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_file_query_filesystem_info_async (GFile *file, const char *attributes,
      int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer
      user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:1912,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:1917,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:1914,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:1912,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:1921,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:1923,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1932
      start: 1902
    functionDepth: 0
    functionLinenumber: 1902
    functionLinenumberEnd: 1932
    functionName: g_file_replace
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_set_error_literal
    - _
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_cancellable_set_error_if_cancelled
    linkageType: ''
    returnType: GFileOutputStream*
    signature: 'GFileOutputStream *g_file_replace (GFile *file, const char *etag,
      gboolean make_backup, GFileCreateFlags flags, GCancellable *cancellable, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:2275,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:2275,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:2277,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 6
    argNames:
    - file
    - flags
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFile*
    - GFileCreateFlags
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 2284
      start: 2265
    functionDepth: 0
    functionLinenumber: 2265
    functionLinenumberEnd: 2284
    functionName: g_file_create_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_file_create_async (GFile *file, GFileCreateFlags flags, int
      io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer
      user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:9356,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:9365,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:9358,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:9356,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gfile.c:9362,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - file
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFile*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 9373
      start: 9348
    functionDepth: 0
    functionLinenumber: 9348
    functionLinenumberEnd: 9373
    functionName: g_file_poll_mountable
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - g_task_report_new_error
    - _
    - G_FILE_GET_IFACE
    - G_IS_FILE
    linkageType: ''
    returnType: void
    signature: 'void g_file_poll_mountable (GFile *file, GCancellable *cancellable,
      GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:527,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:527,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:529,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 532
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 532
    functionName: g_file_get_uri_scheme
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    linkageType: ''
    returnType: char*
    signature: 'char *g_file_get_uri_scheme (GFile *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:771,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:771,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:773,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - file
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 776
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 776
    functionName: g_file_hash
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    linkageType: ''
    returnType: guint
    signature: 'guint g_file_hash (gconstpointer file) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gfile.c:3841,1
    - Dst: g_closure_ref
      Src: /src/glib/gio/gfile.c:3845,1
    - Dst: G_CLOSURE_NEEDS_MARSHAL
      Src: /src/glib/gio/gfile.c:3847,1
    - Dst: g_closure_set_marshal
      Src: /src/glib/gio/gfile.c:3848,1
    - Dst: g_closure_sink
      Src: /src/glib/gio/gfile.c:3846,1
    - Dst: g_closure_ref
      Src: /src/glib/gio/gfile.c:3851,1
    - Dst: g_closure_sink
      Src: /src/glib/gio/gfile.c:3852,1
    - Dst: G_CLOSURE_NEEDS_MARSHAL
      Src: /src/glib/gio/gfile.c:3853,1
    - Dst: g_closure_set_marshal
      Src: /src/glib/gio/gfile.c:3854,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3857
      start: 3835
    functionDepth: 0
    functionLinenumber: 3835
    functionLinenumberEnd: 3857
    functionName: copy_async_closures_data_new
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_closure_sink
    - g_closure_set_marshal
    - g_closure_ref
    - g_new0
    - G_CLOSURE_NEEDS_MARSHAL
    linkageType: ''
    returnType: CopyAsyncClosuresData*
    signature: 'static CopyAsyncClosuresData *copy_async_closures_data_new (GClosure
      *progress_callback_closure, GClosure *ready_callback_closure) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_copy
      Src: /src/glib/gio/gfile.c:7132,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:7142,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gfile.c:7140,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - task
    - source
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 7143
      start: 7122
    functionDepth: 0
    functionLinenumber: 7122
    functionLinenumberEnd: 7143
    functionName: copy_async_thread
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_file_copy
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void copy_async_thread (GTask *task, gpointer source, gpointer
      task_data, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_load_partial_contents_async
      Src: /src/glib/gio/gfile.c:8471,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - file
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFile*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 8475
      start: 8465
    functionDepth: 0
    functionLinenumber: 8465
    functionLinenumberEnd: 8475
    functionName: g_file_load_contents_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_file_load_partial_contents_async
    linkageType: ''
    returnType: void
    signature: 'void g_file_load_contents_async (GFile *file, GCancellable *cancellable,
      GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:9182,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gfile.c:9188,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:9184,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:9182,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:9191,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 6
    argNames:
    - file
    - flags
    - start_operation
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFile*
    - GDriveStartFlags
    - GMountOperation*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 9201
      start: 9172
    functionDepth: 0
    functionLinenumber: 9172
    functionLinenumberEnd: 9201
    functionName: g_file_start_mountable
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - g_task_report_new_error
    - _
    - G_FILE_GET_IFACE
    - G_IS_FILE
    linkageType: ''
    returnType: void
    signature: 'void g_file_start_mountable (GFile *file, GDriveStartFlags flags,
      GMountOperation *start_operation, GCancellable *cancellable, GAsyncReadyCallback
      callback, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_closure_unref
      Src: /src/glib/gio/gfile.c:3863,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:3867,1
    - Dst: g_closure_unref
      Src: /src/glib/gio/gfile.c:3865,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - CopyAsyncClosuresData*
    constantsTouched: []
    func_position:
      end: 3868
      start: 3859
    functionDepth: 0
    functionLinenumber: 3859
    functionLinenumberEnd: 3868
    functionName: copy_async_closures_data_free
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_closure_unref
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void copy_async_closures_data_free (CopyAsyncClosuresData *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/gio/gfile.c:7159,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfile.c:7167,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gfile.c:7161,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gfile.c:7160,1
    - Dst: g_task_new
      Src: /src/glib/gio/gfile.c:7166,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gfile.c:7168,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gfile.c:7169,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gfile.c:7170,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:7171,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 9
    argNames:
    - source
    - destination
    - flags
    - io_priority
    - cancellable
    - progress_callback
    - progress_callback_data
    - callback
    - user_data
    argTypes:
    - GFile*
    - GFile*
    - GFileCopyFlags
    - int
    - GCancellable*
    - GFileProgressCallback
    - gpointer
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 7172
      start: 7145
    functionDepth: 0
    functionLinenumber: 7145
    functionLinenumberEnd: 7172
    functionName: g_file_real_copy_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_object_unref
    - g_task_set_priority
    - g_task_set_source_tag
    - g_task_run_in_thread
    - g_slice_new
    - g_object_ref
    - g_task_set_task_data
    linkageType: ''
    returnType: void
    signature: 'static void g_file_real_copy_async (GFile *source, GFile *destination,
      GFileCopyFlags flags, int io_priority, GCancellable *cancellable, GFileProgressCallback
      progress_callback, gpointer progress_callback_data, GAsyncReadyCallback callback,
      gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gfile.c:8229,1
    - Dst: g_file_input_stream_query_info_finish
      Src: /src/glib/gio/gfile.c:8233,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfile.c:8237,1
    - Dst: G_FILE_INPUT_STREAM
      Src: /src/glib/gio/gfile.c:8233,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/gfile.c:8237,1
    - Dst: g_file_info_get_etag
      Src: /src/glib/gio/gfile.c:8237,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:8238,1
    - Dst: g_input_stream_close_async
      Src: /src/glib/gio/gfile.c:8241,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gfile.c:8242,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - obj
    - stat_res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 8244
      start: 8224
    functionDepth: 0
    functionLinenumber: 8224
    functionLinenumberEnd: 8244
    functionName: load_contents_fstat_callback
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_file_info_get_etag
    - g_strdup
    - g_file_info_has_attribute
    - g_object_unref
    - g_file_input_stream_query_info_finish
    - g_task_get_cancellable
    - g_input_stream_close_async
    - G_FILE_INPUT_STREAM
    - G_INPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void load_contents_fstat_callback (GObject *obj, GAsyncResult
      *stat_res, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_unref
      Src: /src/glib/gio/gfile.c:8615,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:8617,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:8616,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - ReplaceContentsData*
    constantsTouched: []
    func_position:
      end: 8618
      start: 8612
    functionDepth: 0
    functionLinenumber: 8612
    functionLinenumberEnd: 8618
    functionName: replace_contents_data_free
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_free
    - g_bytes_unref
    linkageType: ''
    returnType: void
    signature: 'static void replace_contents_data_free (ReplaceContentsData *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:7689,1
    - Dst: new_for_cmdline_arg
      Src: /src/glib/gio/gfile.c:7691,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7692
      start: 7686
    functionDepth: 0
    functionLinenumber: 7686
    functionLinenumberEnd: 7692
    functionName: g_file_new_for_commandline_arg
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - new_for_cmdline_arg
    - g_return_val_if_fail
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *g_file_new_for_commandline_arg (const char *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:1274,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/gfile.c:1275,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:1280,1
    - Dst: g_file_info_get_file_type
      Src: /src/glib/gio/gfile.c:1279,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:1274,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - file
    - flags
    - cancellable
    argTypes:
    - GFile*
    - GFileQueryInfoFlags
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 1286
      start: 1266
    functionDepth: 0
    functionLinenumber: 1266
    functionLinenumberEnd: 1286
    functionName: g_file_query_file_type
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_file_query_info
    - g_return_val_if_fail
    - g_object_unref
    - g_file_info_get_file_type
    - G_IS_FILE
    linkageType: ''
    returnType: GFileType
    signature: 'GFileType g_file_query_file_type (GFile *file, GFileQueryInfoFlags
      flags, GCancellable *cancellable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:2383,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:2384,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:2383,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:2384,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfile.c:2386,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:2389,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2391
      start: 2376
    functionDepth: 0
    functionLinenumber: 2376
    functionLinenumberEnd: 2391
    functionName: g_file_replace_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    - G_IS_ASYNC_RESULT
    - G_FILE_GET_IFACE
    - G_IS_FILE
    linkageType: ''
    returnType: GFileOutputStream*
    signature: 'GFileOutputStream *g_file_replace_finish (GFile *file, GAsyncResult
      *res, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:5861,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:5862,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfile.c:5864,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:5861,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:5862,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gfile.c:5866,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gfile.c:5867,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:5867,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:5869,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - file
    - result
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 5871
      start: 5854
    functionDepth: 0
    functionLinenumber: 5854
    functionLinenumberEnd: 5871
    functionName: g_file_eject_mountable_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    - G_IS_ASYNC_RESULT
    - G_FILE_GET_IFACE
    - G_TASK
    - G_IS_FILE
    - g_async_result_is_tagged
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_eject_mountable_finish (GFile *file, GAsyncResult
      *result, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:8411,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:8411,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:8412,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:8413,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfile.c:8412,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:8415,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gfile.c:8417,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gfile.c:8424,1
    - Dst: load_contents_data_ensure_space
      Src: /src/glib/gio/gfile.c:8436,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfile.c:8439,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 23
    argCount: 6
    argNames:
    - file
    - res
    - contents
    - length
    - etag_out
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - char**
    - gsize*
    - char**
    - GError**
    constantsTouched: []
    func_position:
      end: 8442
      start: 8400
    functionDepth: 0
    functionLinenumber: 8400
    functionLinenumberEnd: 8442
    functionName: g_file_load_partial_contents_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_propagate_boolean
    - g_steal_pointer
    - g_return_val_if_fail
    - g_task_is_valid
    - g_task_get_task_data
    - load_contents_data_ensure_space
    - G_TASK
    - G_IS_FILE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_load_partial_contents_finish (GFile *file, GAsyncResult
      *res, char **contents, gsize *length, char **etag_out, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:8850,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:8850,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:8851,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:8853,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfile.c:8851,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gfile.c:8855,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gfile.c:8858,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 4
    argNames:
    - file
    - res
    - new_etag
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - char**
    - GError**
    constantsTouched: []
    func_position:
      end: 8867
      start: 8841
    functionDepth: 0
    functionLinenumber: 8841
    functionLinenumberEnd: 8867
    functionName: g_file_replace_contents_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_task_is_valid
    - g_task_get_task_data
    - G_TASK
    - G_IS_FILE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_replace_contents_finish (GFile *file, GAsyncResult
      *res, char **new_etag, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:9609,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:9610,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:9611,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:9609,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gfile.c:9610,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfile.c:9611,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:9611,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:9612,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gfile.c:9614,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:9614,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gfile.c:9617,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:9617,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfile.c:9617,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9620
      start: 9601
    functionDepth: 0
    functionLinenumber: 9601
    functionLinenumberEnd: 9620
    functionName: g_file_load_bytes_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_strdup
    - G_IS_TASK
    - g_task_is_valid
    - g_task_get_task_data
    - G_TASK
    - G_IS_FILE
    - g_task_propagate_pointer
    linkageType: ''
    returnType: GBytes*
    signature: 'GBytes *g_file_load_bytes_finish (GFile *file, GAsyncResult *result,
      gchar **etag_out, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:4483,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:4486,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:4484,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:4483,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:4491,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:4493,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:4497,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:4501,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:4503,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 4
    argNames:
    - file
    - symlink_value
    - cancellable
    - error
    argTypes:
    - GFile*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 4508
      start: 4475
    functionDepth: 0
    functionLinenumber: 4475
    functionLinenumberEnd: 4508
    functionName: g_file_make_symbolic_link
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_set_error_literal
    - _
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_cancellable_set_error_if_cancelled
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_make_symbolic_link (GFile *file, const char *symlink_value,
      GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_set_attribute
      Src: /src/glib/gio/gfile.c:5476,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 6
    argNames:
    - file
    - attribute
    - value
    - flags
    - cancellable
    - error
    argTypes:
    - GFile*
    - gchar*
    - guint64
    - GFileQueryInfoFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 5479
      start: 5468
    functionDepth: 0
    functionLinenumber: 5468
    functionLinenumberEnd: 5479
    functionName: g_file_set_attribute_uint64
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_file_set_attribute
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_set_attribute_uint64 (GFile *file, const gchar *attribute,
      guint64 value, GFileQueryInfoFlags flags, GCancellable *cancellable, GError
      **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:5676,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:5677,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:5676,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:5677,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfile.c:5679,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gfile.c:5681,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gfile.c:5682,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:5682,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:5684,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - file
    - result
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 5686
      start: 5669
    functionDepth: 0
    functionLinenumber: 5669
    functionLinenumberEnd: 5686
    functionName: g_file_unmount_mountable_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    - G_IS_ASYNC_RESULT
    - G_FILE_GET_IFACE
    - G_TASK
    - G_IS_FILE
    - g_async_result_is_tagged
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_unmount_mountable_finish (GFile *file, GAsyncResult
      *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gfile.c:6468,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gfile.c:6475,1
    - Dst: g_task_new
      Src: /src/glib/gio/gfile.c:6473,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfile.c:6469,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfile.c:6474,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gfile.c:6476,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gfile.c:6478,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:6479,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 8
    argNames:
    - file
    - etag
    - make_backup
    - flags
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFile*
    - char*
    - gboolean
    - GFileCreateFlags
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 6480
      start: 6455
    functionDepth: 0
    functionLinenumber: 6455
    functionLinenumberEnd: 6480
    functionName: g_file_real_replace_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_task_new
    - g_object_unref
    - g_task_set_priority
    - g_task_set_source_tag
    - g_task_run_in_thread
    - g_task_set_task_data
    - g_new0
    linkageType: ''
    returnType: void
    signature: 'static void g_file_real_replace_async (GFile *file, const char *etag,
      gboolean make_backup, GFileCreateFlags flags, int io_priority, GCancellable
      *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/gio/gfile.c:6666,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gfile.c:6668,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gfile.c:6667,1
    - Dst: g_task_new
      Src: /src/glib/gio/gfile.c:6673,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfile.c:6674,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gfile.c:6675,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfile.c:6675,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gfile.c:6676,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gfile.c:6677,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:6678,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 9
    argNames:
    - source
    - destination
    - flags
    - io_priority
    - cancellable
    - progress_callback
    - progress_callback_data
    - callback
    - user_data
    argTypes:
    - GFile*
    - GFile*
    - GFileCopyFlags
    - int
    - GCancellable*
    - GFileProgressCallback
    - gpointer
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 6679
      start: 6652
    functionDepth: 0
    functionLinenumber: 6652
    functionLinenumberEnd: 6679
    functionName: g_file_real_move_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_task_new
    - g_object_unref
    - g_slice_new0
    - g_task_set_source_tag
    - g_task_set_priority
    - g_task_run_in_thread
    - g_object_ref
    - g_task_set_task_data
    linkageType: ''
    returnType: void
    signature: 'static void g_file_real_move_async (GFile *source, GFile *destination,
      GFileCopyFlags flags, int io_priority, GCancellable *cancellable, GFileProgressCallback
      progress_callback, gpointer progress_callback_data, GAsyncReadyCallback callback,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filenamev
      Src: /src/glib/gio/gfile.c:7601,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/gfile.c:7602,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:7603,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7606
      start: 7595
    functionDepth: 0
    functionLinenumber: 7595
    functionLinenumberEnd: 7606
    functionName: g_file_new_build_filenamev
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_build_filenamev
    - g_file_new_for_path
    - g_free
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *g_file_new_build_filenamev (const gchar * const *args) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:8364,1
    - Dst: g_new0
      Src: /src/glib/gio/gfile.c:8366,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfile.c:8370,1
    - Dst: g_task_new
      Src: /src/glib/gio/gfile.c:8369,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:8364,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gfile.c:8371,1
    - Dst: g_file_read_async
      Src: /src/glib/gio/gfile.c:8373,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gfile.c:8375,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 5
    argNames:
    - file
    - cancellable
    - read_more_callback
    - callback
    - user_data
    argTypes:
    - GFile*
    - GCancellable*
    - GFileReadMoreCallback
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 8378
      start: 8355
    functionDepth: 0
    functionLinenumber: 8355
    functionLinenumberEnd: 8378
    functionName: g_file_load_partial_contents_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_task_set_source_tag
    - g_return_if_fail
    - g_file_read_async
    - g_task_get_cancellable
    - g_task_set_task_data
    - g_new0
    - G_IS_FILE
    linkageType: ''
    returnType: void
    signature: 'void g_file_load_partial_contents_async (GFile *file, GCancellable
      *cancellable, GFileReadMoreCallback read_more_callback, GAsyncReadyCallback
      callback, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:9316,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:9317,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:9317,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfile.c:9319,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:9316,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gfile.c:9321,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gfile.c:9322,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:9322,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:9324,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - file
    - result
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 9326
      start: 9309
    functionDepth: 0
    functionLinenumber: 9309
    functionLinenumberEnd: 9326
    functionName: g_file_stop_mountable_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    - G_IS_ASYNC_RESULT
    - G_FILE_GET_IFACE
    - G_TASK
    - G_IS_FILE
    - g_async_result_is_tagged
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_stop_mountable_finish (GFile *file, GAsyncResult *result,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_make_symbolic_link
      Src: /src/glib/gio/gfile.c:4519,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfile.c:4522,1
    - Dst: G_FILE
      Src: /src/glib/gio/gfile.c:4519,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:4522,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gfile.c:4520,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - task
    - object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 4523
      start: 4510
    functionDepth: 0
    functionLinenumber: 4510
    functionLinenumberEnd: 4523
    functionName: make_symbolic_link_async_thread
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_steal_pointer
    - g_file_make_symbolic_link
    - G_FILE
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void make_symbolic_link_async_thread (GTask *task, gpointer
      object, gpointer task_data, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:6487,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:6489,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfile.c:6487,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gfile.c:6489,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6490
      start: 6482
    functionDepth: 0
    functionLinenumber: 6482
    functionLinenumberEnd: 6490
    functionName: g_file_real_replace_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_return_val_if_fail
    - g_task_is_valid
    - g_task_propagate_pointer
    linkageType: ''
    returnType: GFileOutputStream*
    signature: 'static GFileOutputStream *g_file_real_replace_finish (GFile *file,
      GAsyncResult *res, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:6584,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gfile.c:6586,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:6585,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - MoveAsyncData*
    constantsTouched: []
    func_position:
      end: 6587
      start: 6581
    functionDepth: 0
    functionLinenumber: 6581
    functionLinenumberEnd: 6587
    functionName: move_async_data_free
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void move_async_data_free (MoveAsyncData *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:6686,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:6688,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gfile.c:6688,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfile.c:6686,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - file
    - result
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 6689
      start: 6681
    functionDepth: 0
    functionLinenumber: 6681
    functionLinenumberEnd: 6689
    functionName: g_file_real_move_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_task_is_valid
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_file_real_move_finish (GFile *file, GAsyncResult
      *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_isalnum
      Src: /src/glib/gio/gfile.c:7611,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 7612
      start: 7608
    functionDepth: 0
    functionLinenumber: 7608
    functionLinenumberEnd: 7612
    functionName: is_valid_scheme_character
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_ascii_isalnum
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_valid_scheme_character (char c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:562,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:564,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:562,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 567
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 567
    functionName: g_file_get_basename
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    linkageType: ''
    returnType: char*
    signature: 'char *g_file_get_basename (GFile *file) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:799,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:800,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:800,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gio/gfile.c:805,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:799,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gio/gfile.c:805,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:808,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - file1
    - file2
    argTypes:
    - GFile*
    - GFile*
    constantsTouched: []
    func_position:
      end: 811
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 811
    functionName: g_file_equal
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    - G_TYPE_FROM_INSTANCE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_equal (GFile *file1, GFile *file2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:5632,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:5632,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gfile.c:5638,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:5634,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:5641,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 5
    argNames:
    - file
    - flags
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFile*
    - GMountUnmountFlags
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 5650
      start: 5623
    functionDepth: 0
    functionLinenumber: 5623
    functionLinenumberEnd: 5650
    functionName: g_file_unmount_mountable
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - g_task_report_new_error
    - _
    - G_FILE_GET_IFACE
    - G_IS_FILE
    linkageType: ''
    returnType: void
    signature: 'void g_file_unmount_mountable (GFile *file, GMountUnmountFlags flags,
      GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE
      Src: /src/glib/gio/gfile.c:8307,1
    - Dst: g_input_stream_read_async
      Src: /src/glib/gio/gfile.c:8317,1
    - Dst: g_file_read_finish
      Src: /src/glib/gio/gfile.c:8312,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gfile.c:8317,1
    - Dst: load_contents_data_ensure_space
      Src: /src/glib/gio/gfile.c:8316,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gfile.c:8321,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:8327,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:8328,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - obj
    - open_res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 8330
      start: 8302
    functionDepth: 0
    functionLinenumber: 8302
    functionLinenumberEnd: 8330
    functionName: load_contents_open_callback
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_file_read_finish
    - g_task_get_cancellable
    - G_FILE
    - g_input_stream_read_async
    - load_contents_data_ensure_space
    - g_task_return_error
    - G_INPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void load_contents_open_callback (GObject *obj, GAsyncResult
      *open_res, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:9272,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:9281,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gfile.c:9278,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:9272,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:9274,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 6
    argNames:
    - file
    - flags
    - mount_operation
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFile*
    - GMountUnmountFlags
    - GMountOperation*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 9291
      start: 9262
    functionDepth: 0
    functionLinenumber: 9262
    functionLinenumberEnd: 9291
    functionName: g_file_stop_mountable
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - g_task_report_new_error
    - _
    - G_FILE_GET_IFACE
    - G_IS_FILE
    linkageType: ''
    returnType: void
    signature: 'void g_file_stop_mountable (GFile *file, GMountUnmountFlags flags,
      GMountOperation *mount_operation, GCancellable *cancellable, GAsyncReadyCallback
      callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:587,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:587,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:589,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 592
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 592
    functionName: g_file_get_path
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    linkageType: ''
    returnType: char*
    signature: 'char *g_file_get_path (GFile *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:4593,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gfile.c:4595,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:4595,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfile.c:4593,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - file
    - result
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 4596
      start: 4588
    functionDepth: 0
    functionLinenumber: 4588
    functionLinenumberEnd: 4596
    functionName: g_file_real_make_symbolic_link_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_task_is_valid
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_file_real_make_symbolic_link_finish (GFile *file,
      GAsyncResult *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:6821,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfile.c:6821,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gfile.c:6823,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:6823,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6824
      start: 6816
    functionDepth: 0
    functionLinenumber: 6816
    functionLinenumberEnd: 6824
    functionName: g_file_real_create_readwrite_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_return_val_if_fail
    - g_task_is_valid
    - g_task_propagate_pointer
    linkageType: ''
    returnType: GFileIOStream*
    signature: 'static GFileIOStream *g_file_real_create_readwrite_finish (GFile *file,
      GAsyncResult *res, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:6941,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfile.c:6941,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gfile.c:6943,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:6943,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6944
      start: 6936
    functionDepth: 0
    functionLinenumber: 6936
    functionLinenumberEnd: 6944
    functionName: g_file_real_set_display_name_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_return_val_if_fail
    - g_task_is_valid
    - g_task_propagate_pointer
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *g_file_real_set_display_name_finish (GFile *file, GAsyncResult
      *res, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:7077,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:7078,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gfile.c:7079,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - CopyAsyncData*
    constantsTouched: []
    func_position:
      end: 7080
      start: 7074
    functionDepth: 0
    functionLinenumber: 7074
    functionLinenumberEnd: 7080
    functionName: copy_async_data_free
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void copy_async_data_free (CopyAsyncData *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_isalpha
      Src: /src/glib/gio/gfile.c:7624,1
    - Dst: is_valid_scheme_character
      Src: /src/glib/gio/gfile.c:7629,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - uri
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 7632
      start: 7617
    functionDepth: 0
    functionLinenumber: 7617
    functionLinenumberEnd: 7632
    functionName: has_valid_scheme
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_ascii_isalpha
    - is_valid_scheme_character
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean has_valid_scheme (const char *uri) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:9467,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:9469,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gfile.c:9468,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:9468,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:9467,1
    - Dst: g_file_has_uri_scheme
      Src: /src/glib/gio/gfile.c:9474,1
    - Dst: g_file_get_uri
      Src: /src/glib/gio/gfile.c:9479,1
    - Dst: g_uri_unescape_string
      Src: /src/glib/gio/gfile.c:9480,1
    - Dst: strlen
      Src: /src/glib/gio/gfile.c:9480,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:9481,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:9484,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfile.c:9491,1
    - Dst: g_bytes_new_take
      Src: /src/glib/gio/gfile.c:9491,1
    - Dst: g_file_load_contents
      Src: /src/glib/gio/gfile.c:9490,1
    - Dst: g_resources_lookup_data
      Src: /src/glib/gio/gfile.c:9483,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9494
      start: 9458
    functionDepth: 0
    functionLinenumber: 9458
    functionLinenumberEnd: 9494
    functionName: g_file_load_bytes
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_file_get_uri
    - g_uri_unescape_string
    - g_return_val_if_fail
    - g_steal_pointer
    - strlen
    - g_resources_lookup_data
    - g_file_has_uri_scheme
    - G_IS_CANCELLABLE
    - g_bytes_new_take
    - G_IS_FILE
    - g_free
    - g_file_load_contents
    linkageType: ''
    returnType: GBytes*
    signature: 'GBytes *g_file_load_bytes (GFile *file, GCancellable *cancellable,
      gchar **etag_out, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gfile.c:600,1
    - Dst: g_quark_from_static_string
      Src: /src/glib/gio/gfile.c:601,1
    - Dst: g_object_replace_qdata
      Src: /src/glib/gio/gfile.c:625,1
    - Dst: g_object_get_qdata
      Src: /src/glib/gio/gfile.c:615,1
    - Dst: g_file_get_path
      Src: /src/glib/gio/gfile.c:620,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:633,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 637
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 637
    functionName: file_peek_path_generic
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_object_get_qdata
    - g_quark_from_static_string
    - g_file_get_path
    - G_UNLIKELY
    - g_object_replace_qdata
    - g_free
    linkageType: ''
    returnType: char*
    signature: 'static const char *file_peek_path_generic (GFile *file) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_path_is_absolute
      Src: /src/glib/gio/gfile.c:7641,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/gfile.c:7642,1
    - Dst: has_valid_scheme
      Src: /src/glib/gio/gfile.c:7644,1
    - Dst: g_get_current_dir
      Src: /src/glib/gio/gfile.c:7651,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/gfile.c:7645,1
    - Dst: g_build_filename
      Src: /src/glib/gio/gfile.c:7652,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:7653,1
    - Dst: g_build_filename
      Src: /src/glib/gio/gfile.c:7656,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/gfile.c:7658,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:7659,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7662
      start: 7634
    functionDepth: 0
    functionLinenumber: 7634
    functionLinenumberEnd: 7662
    functionName: new_for_cmdline_arg
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_file_new_for_path
    - g_file_new_for_uri
    - g_build_filename
    - g_get_current_dir
    - has_valid_scheme
    - g_free
    - g_path_is_absolute
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *new_for_cmdline_arg (const gchar *arg, const gchar *cwd) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:1715,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:1717,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:1715,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:1724,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:1720,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:1726,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1731
      start: 1708
    functionDepth: 0
    functionLinenumber: 1708
    functionLinenumberEnd: 1731
    functionName: g_file_read
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_set_error_literal
    - _
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_cancellable_set_error_if_cancelled
    linkageType: ''
    returnType: GFileInputStream*
    signature: 'GFileInputStream *g_file_read (GFile *file, GCancellable *cancellable,
      GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:5011,1
    - Dst: g_file_attribute_info_list_new
      Src: /src/glib/gio/gfile.c:5019,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:5013,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:5011,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:5016,1
    - Dst: g_file_attribute_info_list_new
      Src: /src/glib/gio/gfile.c:5028,1
    - Dst: g_error_free
      Src: /src/glib/gio/gfile.c:5029,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gfile.c:5032,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5036
      start: 5002
    functionDepth: 0
    functionLinenumber: 5002
    functionLinenumberEnd: 5036
    functionName: g_file_query_settable_attributes
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_return_val_if_fail
    - g_error_free
    - g_file_attribute_info_list_new
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_cancellable_set_error_if_cancelled
    linkageType: ''
    returnType: GFileAttributeInfoList*
    signature: 'GFileAttributeInfoList *g_file_query_settable_attributes (GFile *file,
      GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_set_attribute
      Src: /src/glib/gio/gfile.c:5377,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 6
    argNames:
    - file
    - attribute
    - value
    - flags
    - cancellable
    - error
    argTypes:
    - GFile*
    - gchar*
    - gchar*
    - GFileQueryInfoFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 5380
      start: 5369
    functionDepth: 0
    functionLinenumber: 5369
    functionLinenumberEnd: 5380
    functionName: g_file_set_attribute_byte_string
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_file_set_attribute
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_set_attribute_byte_string (GFile *file, const gchar
      *attribute, const gchar *value, GFileQueryInfoFlags flags, GCancellable *cancellable,
      GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:5774,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:5775,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:5774,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:5775,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfile.c:5777,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gfile.c:5779,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gfile.c:5780,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:5780,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:5782,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - file
    - result
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 5787
      start: 5767
    functionDepth: 0
    functionLinenumber: 5767
    functionLinenumberEnd: 5787
    functionName: g_file_unmount_mountable_with_operation_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    - G_IS_ASYNC_RESULT
    - G_FILE_GET_IFACE
    - G_TASK
    - G_IS_FILE
    - g_async_result_is_tagged
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_unmount_mountable_with_operation_finish (GFile *file,
      GAsyncResult *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:9428,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:9428,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:9430,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 9432
      start: 9423
    functionDepth: 0
    functionLinenumber: 9423
    functionLinenumberEnd: 9432
    functionName: g_file_supports_thread_contexts
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_supports_thread_contexts (GFile *file) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:1230,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/gfile.c:1237,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:1232,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:1230,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:1241,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - file
    - cancellable
    argTypes:
    - GFile*
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 1246
      start: 1223
    functionDepth: 0
    functionLinenumber: 1223
    functionLinenumberEnd: 1246
    functionName: g_file_query_exists
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_file_query_info
    - g_return_val_if_fail
    - g_object_unref
    - G_FILE_GET_IFACE
    - G_IS_FILE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_query_exists (GFile *file, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:2351,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:2351,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:2353,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 8
    argNames:
    - file
    - etag
    - make_backup
    - flags
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFile*
    - char*
    - gboolean
    - GFileCreateFlags
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 2362
      start: 2339
    functionDepth: 0
    functionLinenumber: 2339
    functionLinenumberEnd: 2362
    functionName: g_file_replace_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_file_replace_async (GFile *file, const char *etag, gboolean
      make_backup, GFileCreateFlags flags, int io_priority, GCancellable *cancellable,
      GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_file_descriptor_based_get_fd
      Src: /src/glib/gio/gfile.c:3307,1
    - Dst: g_file_descriptor_based_get_fd
      Src: /src/glib/gio/gfile.c:3308,1
    - Dst: G_FILE_DESCRIPTOR_BASED
      Src: /src/glib/gio/gfile.c:3307,1
    - Dst: g_assert
      Src: /src/glib/gio/gfile.c:3314,1
    - Dst: G_FILE_DESCRIPTOR_BASED
      Src: /src/glib/gio/gfile.c:3308,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/gfile.c:3314,1
    - Dst: g_file_info_get_size
      Src: /src/glib/gio/gfile.c:3315,1
    - Dst: ioctl
      Src: /src/glib/gio/gfile.c:3327,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:3333,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:3335,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:3339,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:3337,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:3342,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:3344,1
    - Dst: progress_callback
      Src: /src/glib/gio/gfile.c:3354,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 8
    argNames:
    - in
    - in_info
    - out
    - info
    - cancellable
    - progress_callback
    - progress_callback_data
    - error
    argTypes:
    - GInputStream*
    - GFileInfo*
    - GOutputStream*
    - GFileInfo*
    - GCancellable*
    - GFileProgressCallback
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 3357
      start: 3293
    functionDepth: 0
    functionLinenumber: 3293
    functionLinenumberEnd: 3357
    functionName: btrfs_reflink_with_progress
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_file_descriptor_based_get_fd
    - g_file_info_has_attribute
    - G_FILE_DESCRIPTOR_BASED
    - g_assert
    - ioctl
    - progress_callback
    - g_set_error_literal
    - _
    - g_file_info_get_size
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean btrfs_reflink_with_progress (GInputStream *in, GFileInfo
      *in_info, GOutputStream *out, GFileInfo *info, GCancellable *cancellable, GFileProgressCallback
      progress_callback, gpointer progress_callback_data, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:4219,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:4221,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:4219,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:4220,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:4220,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:4223,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - file
    - result
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 4225
      start: 4212
    functionDepth: 0
    functionLinenumber: 4212
    functionLinenumberEnd: 4225
    functionName: g_file_move_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    - G_IS_ASYNC_RESULT
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_move_finish (GFile *file, GAsyncResult *result, GError
      **error) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:4372,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gfile.c:4397,1
    - Dst: g_file_make_directory
      Src: /src/glib/gio/gfile.c:4429,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gfile.c:4416,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:4435,1
    - Dst: g_file_make_directory
      Src: /src/glib/gio/gfile.c:4380,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gfile.c:4384,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gfile.c:4388,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gfile.c:4405,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gfile.c:4410,1
    - Dst: g_file_make_directory
      Src: /src/glib/gio/gfile.c:4406,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:4413,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gfile.c:4430,1
    - Dst: g_list_remove
      Src: /src/glib/gio/gfile.c:4441,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gfile.c:4381,1
    - Dst: g_file_get_parent
      Src: /src/glib/gio/gfile.c:4401,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gfile.c:4417,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:4440,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gfile.c:4450,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:4370,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:4370,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:4419,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gfile.c:4414,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gfile.c:4411,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gfile.c:4431,1
    - Dst: g_file_make_directory
      Src: /src/glib/gio/gfile.c:4454,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 46
    argCount: 3
    argNames:
    - file
    - cancellable
    - error
    argTypes:
    - GFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 4455
      start: 4361
    functionDepth: 0
    functionLinenumber: 4361
    functionLinenumberEnd: 4455
    functionName: g_file_make_directory_with_parents
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_clear_error
    - g_return_val_if_fail
    - g_object_unref
    - g_list_prepend
    - g_file_make_directory
    - g_list_remove
    - g_error_matches
    - g_object_ref
    - g_file_get_parent
    - G_IS_FILE
    - g_cancellable_set_error_if_cancelled
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_make_directory_with_parents (GFile *file, GCancellable
      *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:5589,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:5589,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:5590,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfile.c:5592,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:5590,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gfile.c:5594,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gfile.c:5595,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:5595,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:5597,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5599
      start: 5582
    functionDepth: 0
    functionLinenumber: 5582
    functionLinenumberEnd: 5599
    functionName: g_file_mount_mountable_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    - G_IS_ASYNC_RESULT
    - G_FILE_GET_IFACE
    - G_TASK
    - G_IS_FILE
    - g_async_result_is_tagged
    - g_task_propagate_pointer
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *g_file_mount_mountable_finish (GFile *file, GAsyncResult *result,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:5819,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gfile.c:5825,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:5819,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:5821,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:5828,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 5
    argNames:
    - file
    - flags
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFile*
    - GMountUnmountFlags
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 5837
      start: 5810
    functionDepth: 0
    functionLinenumber: 5810
    functionLinenumberEnd: 5837
    functionName: g_file_eject_mountable
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - g_task_report_new_error
    - _
    - G_FILE_GET_IFACE
    - G_IS_FILE
    linkageType: ''
    returnType: void
    signature: 'void g_file_eject_mountable (GFile *file, GMountUnmountFlags flags,
      GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:6311,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:6313,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gfile.c:6313,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfile.c:6311,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6314
      start: 6306
    functionDepth: 0
    functionLinenumber: 6306
    functionLinenumberEnd: 6314
    functionName: g_file_real_read_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_return_val_if_fail
    - g_task_is_valid
    - g_task_propagate_pointer
    linkageType: ''
    returnType: GFileInputStream*
    signature: 'static GFileInputStream *g_file_real_read_finish (GFile *file, GAsyncResult
      *res, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_append_to
      Src: /src/glib/gio/gfile.c:6326,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:6330,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gfile.c:6328,1
    - Dst: G_FILE
      Src: /src/glib/gio/gfile.c:6326,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 4
    argNames:
    - task
    - source_object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 6331
      start: 6316
    functionDepth: 0
    functionLinenumber: 6316
    functionLinenumberEnd: 6331
    functionName: append_to_async_thread
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_file_append_to
    - g_task_return_error
    - g_task_return_pointer
    - G_FILE
    linkageType: ''
    returnType: void
    signature: 'static void append_to_async_thread (GTask *task, gpointer source_object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:6955,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:6956,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - SetInfoAsyncData*
    constantsTouched: []
    func_position:
      end: 6957
      start: 6951
    functionDepth: 0
    functionLinenumber: 6951
    functionLinenumberEnd: 6957
    functionName: set_info_data_free
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_free
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void set_info_data_free (SetInfoAsyncData *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_set_attributes_from_info
      Src: /src/glib/gio/gfile.c:6968,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:6975,1
    - Dst: G_FILE
      Src: /src/glib/gio/gfile.c:6968,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gfile.c:6973,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 4
    argNames:
    - task
    - object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 6976
      start: 6959
    functionDepth: 0
    functionLinenumber: 6959
    functionLinenumberEnd: 6976
    functionName: set_info_async_thread
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_file_set_attributes_from_info
    - g_task_return_error
    - G_FILE
    linkageType: ''
    returnType: void
    signature: 'static void set_info_async_thread (GTask *task, gpointer object, gpointer
      task_data, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:7204,1
    - Dst: g_vfs_get_default
      Src: /src/glib/gio/gfile.c:7206,1
    - Dst: g_vfs_get_file_for_path
      Src: /src/glib/gio/gfile.c:7206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7207
      start: 7201
    functionDepth: 0
    functionLinenumber: 7201
    functionLinenumberEnd: 7207
    functionName: g_file_new_for_path
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_vfs_get_file_for_path
    - g_return_val_if_fail
    - g_vfs_get_default
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *g_file_new_for_path (const char *path) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gfile.c:8251,1
    - Dst: g_input_stream_close_async
      Src: /src/glib/gio/gfile.c:8264,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:8261,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:8260,1
    - Dst: g_input_stream_read_finish
      Src: /src/glib/gio/gfile.c:8256,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:8265,1
    - Dst: g_file_input_stream_query_info_async
      Src: /src/glib/gio/gfile.c:8269,1
    - Dst: G_FILE_INPUT_STREAM
      Src: /src/glib/gio/gfile.c:8269,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gfile.c:8272,1
    - Dst: load_contents_data_ensure_space
      Src: /src/glib/gio/gfile.c:8280,1
    - Dst: G_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:8284,1
    - Dst: G_FILE_INPUT_STREAM
      Src: /src/glib/gio/gfile.c:8285,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gfile.c:8288,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gfile.c:8296,1
    - Dst: g_async_result_get_user_data
      Src: /src/glib/gio/gfile.c:8284,1
    - Dst: g_file_input_stream_query_info_async
      Src: /src/glib/gio/gfile.c:8285,1
    - Dst: g_input_stream_read_async
      Src: /src/glib/gio/gfile.c:8292,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 3
    argNames:
    - obj
    - read_res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 8300
      start: 8246
    functionDepth: 0
    functionLinenumber: 8246
    functionLinenumberEnd: 8300
    functionName: load_contents_read_callback
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - G_ASYNC_RESULT
    - g_task_get_cancellable
    - g_input_stream_read_finish
    - G_INPUT_STREAM
    - g_file_input_stream_query_info_async
    - g_input_stream_read_async
    - load_contents_data_ensure_space
    - g_input_stream_close_async
    - G_FILE_INPUT_STREAM
    - g_task_return_error
    - g_async_result_get_user_data
    linkageType: ''
    returnType: void
    signature: 'static void load_contents_read_callback (GObject *obj, GAsyncResult
      *read_res, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_load_partial_contents_finish
      Src: /src/glib/gio/gfile.c:8505,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 2
    argCount: 6
    argNames:
    - file
    - res
    - contents
    - length
    - etag_out
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - char**
    - gsize*
    - char**
    - GError**
    constantsTouched: []
    func_position:
      end: 8511
      start: 8497
    functionDepth: 0
    functionLinenumber: 8497
    functionLinenumberEnd: 8511
    functionName: g_file_load_contents_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_file_load_partial_contents_finish
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_load_contents_finish (GFile *file, GAsyncResult *res,
      char **contents, gsize *length, char **etag_out, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gfile.c:8932,1
    - Dst: g_task_get_priority
      Src: /src/glib/gio/gfile.c:8942,1
    - Dst: g_task_get_context
      Src: /src/glib/gio/gfile.c:8941,1
    - Dst: g_main_context_invoke_full
      Src: /src/glib/gio/gfile.c:8941,1
    - Dst: g_memdup2
      Src: /src/glib/gio/gfile.c:8944,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - reporting
    - current_size
    - num_dirs
    - num_files
    - user_data
    argTypes:
    - gboolean
    - guint64
    - guint64
    - guint64
    - gpointer
    constantsTouched: []
    func_position:
      end: 8946
      start: 8921
    functionDepth: 0
    functionLinenumber: 8921
    functionLinenumberEnd: 8946
    functionName: measure_disk_usage_progress
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_main_context_invoke_full
    - g_task_get_priority
    - g_task_get_context
    - g_task_get_task_data
    - g_memdup2
    linkageType: ''
    returnType: void
    signature: 'static void measure_disk_usage_progress (gboolean reporting, guint64
      current_size, guint64 num_dirs, guint64 num_files, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:8880,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 9
    argNames:
    - file
    - flags
    - cancellable
    - progress_callback
    - progress_data
    - disk_usage
    - num_dirs
    - num_files
    - error
    argTypes:
    - GFile*
    - GFileMeasureFlags
    - GCancellable*
    - GFileMeasureProgressCallback
    - gpointer
    - guint64*
    - guint64*
    - guint64*
    - GError**
    constantsTouched: []
    func_position:
      end: 8883
      start: 8869
    functionDepth: 0
    functionLinenumber: 8869
    functionLinenumberEnd: 8883
    functionName: g_file_real_measure_disk_usage
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_set_error_literal
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_real_measure_disk_usage (GFile *file, GFileMeasureFlags
      flags, GCancellable *cancellable, GFileMeasureProgressCallback progress_callback,
      gpointer progress_data, guint64 *disk_usage, guint64 *num_dirs, guint64 *num_files,
      GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_file_build_attribute_list_for_copy
      Src: /src/glib/gio/gfile.c:2915,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:2930,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:2940,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/gfile.c:2925,1
    - Dst: g_file_set_attributes_from_info
      Src: /src/glib/gio/gfile.c:2935,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 5
    argNames:
    - source
    - destination
    - flags
    - cancellable
    - error
    argTypes:
    - GFile*
    - GFile*
    - GFileCopyFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2944
      start: 2903
    functionDepth: 0
    functionLinenumber: 2903
    functionLinenumberEnd: 2944
    functionName: g_file_copy_attributes
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_file_query_info
    - g_object_unref
    - g_file_set_attributes_from_info
    - g_file_build_attribute_list_for_copy
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_copy_attributes (GFile *source, GFile *destination,
      GFileCopyFlags flags, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: copy_async_closures_data_new
      Src: /src/glib/gio/gfile.c:4192,1
    - Dst: g_file_move_async
      Src: /src/glib/gio/gfile.c:4194,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 7
    argNames:
    - source
    - destination
    - flags
    - io_priority
    - cancellable
    - progress_callback_closure
    - ready_callback_closure
    argTypes:
    - GFile*
    - GFile*
    - GFileCopyFlags
    - int
    - GCancellable*
    - GClosure*
    - GClosure*
    constantsTouched: []
    func_position:
      end: 4197
      start: 4180
    functionDepth: 0
    functionLinenumber: 4180
    functionLinenumberEnd: 4197
    functionName: g_file_move_async_with_closures
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_file_move_async
    - copy_async_closures_data_new
    linkageType: ''
    returnType: void
    signature: 'void g_file_move_async_with_closures (GFile *source, GFile *destination,
      GFileCopyFlags flags, int io_priority, GCancellable *cancellable, GClosure *progress_callback_closure,
      GClosure *ready_callback_closure) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:4328,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:4329,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:4328,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:4329,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:4331,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - file
    - result
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 4333
      start: 4321
    functionDepth: 0
    functionLinenumber: 4321
    functionLinenumberEnd: 4333
    functionName: g_file_make_directory_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    - G_IS_ASYNC_RESULT
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_make_directory_finish (GFile *file, GAsyncResult *result,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:4617,1
    - Dst: g_assert
      Src: /src/glib/gio/gfile.c:4622,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:4618,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:4617,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:4620,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - file
    - result
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 4625
      start: 4610
    functionDepth: 0
    functionLinenumber: 4610
    functionLinenumberEnd: 4625
    functionName: g_file_make_symbolic_link_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    - g_assert
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_make_symbolic_link_finish (GFile *file, GAsyncResult
      *result, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:5547,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gfile.c:5553,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:5556,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:5549,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:5547,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 6
    argNames:
    - file
    - flags
    - mount_operation
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFile*
    - GMountMountFlags
    - GMountOperation*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 5566
      start: 5537
    functionDepth: 0
    functionLinenumber: 5537
    functionLinenumberEnd: 5566
    functionName: g_file_mount_mountable
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - g_task_report_new_error
    - _
    - G_FILE_GET_IFACE
    - G_IS_FILE
    linkageType: ''
    returnType: void
    signature: 'void g_file_mount_mountable (GFile *file, GMountMountFlags flags,
      GMountOperation *mount_operation, GCancellable *cancellable, GAsyncReadyCallback
      callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:7179,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gfile.c:7181,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:7181,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfile.c:7179,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - file
    - res
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 7182
      start: 7174
    functionDepth: 0
    functionLinenumber: 7174
    functionLinenumberEnd: 7182
    functionName: g_file_real_copy_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_task_is_valid
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_file_real_copy_finish (GFile *file, GAsyncResult
      *res, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:833,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:835,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:833,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 838
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 838
    functionName: g_file_get_parent
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *g_file_get_parent (GFile *file) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:2454,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:2455,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfile.c:2457,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:2454,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:2455,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:2460,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2462
      start: 2447
    functionDepth: 0
    functionLinenumber: 2447
    functionLinenumberEnd: 2462
    functionName: g_file_open_readwrite_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    - G_IS_ASYNC_RESULT
    - G_FILE_GET_IFACE
    - G_IS_FILE
    linkageType: ''
    returnType: GFileIOStream*
    signature: 'GFileIOStream *g_file_open_readwrite_finish (GFile *file, GAsyncResult
      *res, GError **error) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_file_input_stream_query_info
      Src: /src/glib/gio/gfile.c:2970,1
    - Dst: g_file_info_get_size
      Src: /src/glib/gio/gfile.c:2976,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:2977,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/gfile.c:2975,1
    - Dst: G_FILE_INPUT_STREAM
      Src: /src/glib/gio/gfile.c:2970,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/gfile.c:2982,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/gfile.c:2988,1
    - Dst: g_file_info_get_size
      Src: /src/glib/gio/gfile.c:2989,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:2990,1
    - Dst: g_malloc0
      Src: /src/glib/gio/gfile.c:2998,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/gfile.c:3015,1
    - Dst: progress_callback
      Src: /src/glib/gio/gfile.c:3020,1
    - Dst: progress_callback
      Src: /src/glib/gio/gfile.c:3026,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/gfile.c:3003,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:3022,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 40
    argCount: 7
    argNames:
    - in
    - out
    - source
    - cancellable
    - progress_callback
    - progress_callback_data
    - error
    argTypes:
    - GInputStream*
    - GOutputStream*
    - GFile*
    - GCancellable*
    - GFileProgressCallback
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 3029
      start: 2949
    functionDepth: 0
    functionLinenumber: 2949
    functionLinenumberEnd: 3029
    functionName: copy_stream_with_progress
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_file_query_info
    - g_file_info_has_attribute
    - g_object_unref
    - g_malloc0
    - g_file_input_stream_query_info
    - progress_callback
    - g_input_stream_read
    - g_output_stream_write_all
    - g_file_info_get_size
    - G_FILE_INPUT_STREAM
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean copy_stream_with_progress (GInputStream *in, GOutputStream
      *out, GFile *source, GCancellable *cancellable, GFileProgressCallback progress_callback,
      gpointer progress_callback_data, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:5274,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:5275,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfile.c:5275,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:5274,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:5277,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 7
    argNames:
    - file
    - info
    - flags
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFile*
    - GFileInfo*
    - GFileQueryInfoFlags
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 5285
      start: 5263
    functionDepth: 0
    functionLinenumber: 5263
    functionLinenumberEnd: 5285
    functionName: g_file_set_attributes_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - G_IS_FILE_INFO
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_file_set_attributes_async (GFile *file, GFileInfo *info, GFileQueryInfoFlags
      flags, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback,
      gpointer user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:5955,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:5956,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfile.c:5958,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:5955,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:5956,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gfile.c:5960,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gfile.c:5961,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:5961,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:5963,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - file
    - result
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 5968
      start: 5948
    functionDepth: 0
    functionLinenumber: 5948
    functionLinenumberEnd: 5968
    functionName: g_file_eject_mountable_with_operation_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    - G_IS_ASYNC_RESULT
    - G_FILE_GET_IFACE
    - G_TASK
    - G_IS_FILE
    - g_async_result_is_tagged
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_eject_mountable_with_operation_finish (GFile *file,
      GAsyncResult *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:6411,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfile.c:6411,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:6413,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gfile.c:6413,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6414
      start: 6406
    functionDepth: 0
    functionLinenumber: 6406
    functionLinenumberEnd: 6414
    functionName: g_file_real_create_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_return_val_if_fail
    - g_task_is_valid
    - g_task_propagate_pointer
    linkageType: ''
    returnType: GFileOutputStream*
    signature: 'static GFileOutputStream *g_file_real_create_finish (GFile *file,
      GAsyncResult *res, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_create_readwrite
      Src: /src/glib/gio/gfile.c:6785,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gfile.c:6790,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:6788,1
    - Dst: G_FILE
      Src: /src/glib/gio/gfile.c:6785,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 4
    argNames:
    - task
    - object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 6791
      start: 6775
    functionDepth: 0
    functionLinenumber: 6775
    functionLinenumberEnd: 6791
    functionName: create_readwrite_async_thread
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_return_error
    - g_file_create_readwrite
    - g_task_return_pointer
    - G_FILE
    linkageType: ''
    returnType: void
    signature: 'static void create_readwrite_async_thread (GTask *task, gpointer object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gfile.c:6804,1
    - Dst: g_task_new
      Src: /src/glib/gio/gfile.c:6807,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gfile.c:6810,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfile.c:6808,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gfile.c:6809,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gfile.c:6812,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:6813,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 6
    argNames:
    - file
    - flags
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFile*
    - GFileCreateFlags
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 6814
      start: 6793
    functionDepth: 0
    functionLinenumber: 6793
    functionLinenumberEnd: 6814
    functionName: g_file_real_create_readwrite_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_object_unref
    - g_task_set_priority
    - g_task_set_source_tag
    - g_task_run_in_thread
    - g_task_set_task_data
    - g_new0
    linkageType: ''
    returnType: void
    signature: 'static void g_file_real_create_readwrite_async (GFile *file, GFileCreateFlags
      flags, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:1647,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:1647,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:1649,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 5
    argNames:
    - file
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFile*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 1655
      start: 1638
    functionDepth: 0
    functionLinenumber: 1638
    functionLinenumberEnd: 1655
    functionName: g_file_find_enclosing_mount_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_file_find_enclosing_mount_async (GFile *file, int io_priority,
      GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:2423,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:2423,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:2425,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 5
    argNames:
    - file
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFile*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 2431
      start: 2414
    functionDepth: 0
    functionLinenumber: 2414
    functionLinenumberEnd: 2431
    functionName: g_file_open_readwrite_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_file_open_readwrite_async (GFile *file, int io_priority, GCancellable
      *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:5906,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:5908,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:5915,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gfile.c:5912,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:5906,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 6
    argNames:
    - file
    - flags
    - mount_operation
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFile*
    - GMountUnmountFlags
    - GMountOperation*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 5932
      start: 5896
    functionDepth: 0
    functionLinenumber: 5896
    functionLinenumberEnd: 5932
    functionName: g_file_eject_mountable_with_operation
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - g_task_report_new_error
    - _
    - G_FILE_GET_IFACE
    - G_IS_FILE
    linkageType: ''
    returnType: void
    signature: 'void g_file_eject_mountable_with_operation (GFile *file, GMountUnmountFlags
      flags, GMountOperation *mount_operation, GCancellable *cancellable, GAsyncReadyCallback
      callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gio/gfile.c:3879,1
    - Dst: g_value_set_int64
      Src: /src/glib/gio/gfile.c:3882,1
    - Dst: g_value_init
      Src: /src/glib/gio/gfile.c:3881,1
    - Dst: g_closure_invoke
      Src: /src/glib/gio/gfile.c:3884,1
    - Dst: g_value_set_int64
      Src: /src/glib/gio/gfile.c:3880,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gfile.c:3886,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gfile.c:3887,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - current_num_bytes
    - total_num_bytes
    - user_data
    argTypes:
    - goffset
    - goffset
    - void*
    constantsTouched: []
    func_position:
      end: 3888
      start: 3870
    functionDepth: 0
    functionLinenumber: 3870
    functionLinenumberEnd: 3888
    functionName: copy_async_invoke_progress
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_value_set_int64
    - g_value_unset
    - g_closure_invoke
    - g_value_init
    linkageType: ''
    returnType: void
    signature: 'static void copy_async_invoke_progress (goffset current_num_bytes,
      goffset total_num_bytes, void *user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:1676,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:1677,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfile.c:1679,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:1676,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:1677,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:1682,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1684
      start: 1669
    functionDepth: 0
    functionLinenumber: 1669
    functionLinenumberEnd: 1684
    functionName: g_file_find_enclosing_mount_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    - G_IS_ASYNC_RESULT
    - G_FILE_GET_IFACE
    - G_IS_FILE
    linkageType: ''
    returnType: GMount*
    signature: 'GMount *g_file_find_enclosing_mount_finish (GFile *file, GAsyncResult
      *res, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:4970,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfile.c:4973,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:4971,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:4970,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:4971,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:4976,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4978
      start: 4963
    functionDepth: 0
    functionLinenumber: 4963
    functionLinenumberEnd: 4978
    functionName: g_file_set_display_name_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    - G_IS_ASYNC_RESULT
    - G_FILE_GET_IFACE
    - G_IS_FILE
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *g_file_set_display_name_finish (GFile *file, GAsyncResult *res,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:5184,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:5187,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:5184,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfile.c:5185,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:5185,1
    - Dst: g_file_info_clear_status
      Src: /src/glib/gio/gfile.c:5190,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:5192,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 5
    argNames:
    - file
    - info
    - flags
    - cancellable
    - error
    argTypes:
    - GFile*
    - GFileInfo*
    - GFileQueryInfoFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 5199
      start: 5175
    functionDepth: 0
    functionLinenumber: 5175
    functionLinenumberEnd: 5199
    functionName: g_file_set_attributes_from_info
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_cancellable_set_error_if_cancelled
    - g_file_info_clear_status
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_set_attributes_from_info (GFile *file, GFileInfo *info,
      GFileQueryInfoFlags flags, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_set_attribute
      Src: /src/glib/gio/gfile.c:5343,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 6
    argNames:
    - file
    - attribute
    - value
    - flags
    - cancellable
    - error
    argTypes:
    - GFile*
    - char*
    - char*
    - GFileQueryInfoFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 5346
      start: 5335
    functionDepth: 0
    functionLinenumber: 5335
    functionLinenumberEnd: 5346
    functionName: g_file_set_attribute_string
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_file_set_attribute
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_set_attribute_string (GFile *file, const char *attribute,
      const char *value, GFileQueryInfoFlags flags, GCancellable *cancellable, GError
      **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:5722,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:5722,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gfile.c:5728,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:5731,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:5724,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 6
    argNames:
    - file
    - flags
    - mount_operation
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFile*
    - GMountUnmountFlags
    - GMountOperation*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 5748
      start: 5712
    functionDepth: 0
    functionLinenumber: 5712
    functionLinenumberEnd: 5748
    functionName: g_file_unmount_mountable_with_operation
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - g_task_report_new_error
    - _
    - G_FILE_GET_IFACE
    - G_IS_FILE
    linkageType: ''
    returnType: void
    signature: 'void g_file_unmount_mountable_with_operation (GFile *file, GMountUnmountFlags
      flags, GMountOperation *mount_operation, GCancellable *cancellable, GAsyncReadyCallback
      callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gfile.c:6156,1
    - Dst: g_task_new
      Src: /src/glib/gio/gfile.c:6160,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfile.c:6157,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gfile.c:6162,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfile.c:6161,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gfile.c:6163,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gfile.c:6164,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:6165,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 7
    argNames:
    - file
    - attributes
    - flags
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFile*
    - char*
    - GFileQueryInfoFlags
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 6166
      start: 6144
    functionDepth: 0
    functionLinenumber: 6144
    functionLinenumberEnd: 6166
    functionName: g_file_real_query_info_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_task_new
    - g_object_unref
    - g_task_set_priority
    - g_task_set_source_tag
    - g_task_run_in_thread
    - g_task_set_task_data
    - g_new0
    linkageType: ''
    returnType: void
    signature: 'static void g_file_real_query_info_async (GFile *file, const char
      *attributes, GFileQueryInfoFlags flags, int io_priority, GCancellable *cancellable,
      GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gfile.c:6614,1
    - Dst: g_main_context_invoke_full
      Src: /src/glib/gio/gfile.c:6622,1
    - Dst: g_task_get_context
      Src: /src/glib/gio/gfile.c:6622,1
    - Dst: g_task_get_priority
      Src: /src/glib/gio/gfile.c:6623,1
    - Dst: g_new0
      Src: /src/glib/gio/gfile.c:6617,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfile.c:6625,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - current_num_bytes
    - total_num_bytes
    - user_data
    argTypes:
    - goffset
    - goffset
    - gpointer
    constantsTouched: []
    func_position:
      end: 6627
      start: 6608
    functionDepth: 0
    functionLinenumber: 6608
    functionLinenumberEnd: 6627
    functionName: move_async_progress_callback
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_main_context_invoke_full
    - g_task_get_priority
    - g_task_get_context
    - g_task_get_task_data
    - g_new0
    linkageType: ''
    returnType: void
    signature: 'static void move_async_progress_callback (goffset current_num_bytes,
      goffset total_num_bytes, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gio/gfile.c:3898,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gfile.c:3901,1
    - Dst: g_closure_invoke
      Src: /src/glib/gio/gfile.c:3903,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gfile.c:3899,1
    - Dst: g_value_init
      Src: /src/glib/gio/gfile.c:3900,1
    - Dst: copy_async_closures_data_free
      Src: /src/glib/gio/gfile.c:3905,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gfile.c:3906,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gfile.c:3907,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - file
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - void*
    constantsTouched: []
    func_position:
      end: 3908
      start: 3890
    functionDepth: 0
    functionLinenumber: 3890
    functionLinenumberEnd: 3908
    functionName: copy_async_invoke_ready
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_closure_invoke
    - g_value_init
    - g_value_set_object
    - copy_async_closures_data_free
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void copy_async_invoke_ready (GObject *file, GAsyncResult *result,
      void *user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_list_attributes
      Src: /src/glib/gio/gfile.c:5215,1
    - Dst: _g_file_info_get_attribute_value
      Src: /src/glib/gio/gfile.c:5219,1
    - Dst: _g_file_attribute_value_peek_as_pointer
      Src: /src/glib/gio/gfile.c:5225,1
    - Dst: g_file_set_attribute
      Src: /src/glib/gio/gfile.c:5224,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gfile.c:5237,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 5
    argNames:
    - file
    - info
    - flags
    - cancellable
    - error
    argTypes:
    - GFile*
    - GFileInfo*
    - GFileQueryInfoFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 5240
      start: 5201
    functionDepth: 0
    functionLinenumber: 5201
    functionLinenumberEnd: 5240
    functionName: g_file_real_set_attributes_from_info
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - _g_file_attribute_value_peek_as_pointer
    - g_file_info_list_attributes
    - g_strfreev
    - g_file_set_attribute
    - _g_file_info_get_attribute_value
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_file_real_set_attributes_from_info (GFile *file,
      GFileInfo *info, GFileQueryInfoFlags flags, GCancellable *cancellable, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:6173,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfile.c:6173,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gfile.c:6175,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:6175,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6176
      start: 6168
    functionDepth: 0
    functionLinenumber: 6168
    functionLinenumberEnd: 6176
    functionName: g_file_real_query_info_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_return_val_if_fail
    - g_task_is_valid
    - g_task_propagate_pointer
    linkageType: ''
    returnType: GFileInfo*
    signature: 'static GFileInfo *g_file_real_query_info_finish (GFile *file, GAsyncResult
      *res, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_move
      Src: /src/glib/gio/gfile.c:6639,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gfile.c:6647,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfile.c:6649,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:6649,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - task
    - source
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 6650
      start: 6629
    functionDepth: 0
    functionLinenumber: 6629
    functionLinenumberEnd: 6650
    functionName: move_async_thread
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_steal_pointer
    - g_file_move
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void move_async_thread (GTask *task, gpointer source, gpointer
      task_data, GCancellable *cancellable) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:863,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:864,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:864,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:863,1
    - Dst: g_file_get_parent
      Src: /src/glib/gio/gfile.c:866,1
    - Dst: g_file_equal
      Src: /src/glib/gio/gfile.c:871,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:875,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - file
    - parent
    argTypes:
    - GFile*
    - GFile*
    constantsTouched: []
    func_position:
      end: 881
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 881
    functionName: g_file_has_parent
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_object_unref
    - g_file_equal
    - g_file_get_parent
    - G_IS_FILE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_has_parent (GFile *file, GFile *parent) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:5306,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:5312,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:5306,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:5307,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:5307,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 4
    argNames:
    - file
    - result
    - info
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GFileInfo**
    - GError**
    constantsTouched: []
    func_position:
      end: 5314
      start: 5298
    functionDepth: 0
    functionLinenumber: 5298
    functionLinenumberEnd: 5314
    functionName: g_file_set_attributes_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    - G_IS_ASYNC_RESULT
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_set_attributes_finish (GFile *file, GAsyncResult *result,
      GFileInfo **info, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 8919
      start: 8909
    functionDepth: 0
    functionLinenumber: 8909
    functionLinenumberEnd: 8919
    functionName: measure_disk_usage_invoke_progress
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean measure_disk_usage_invoke_progress (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:3814,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:3815,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:3815,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:3814,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:3817,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 9
    argNames:
    - source
    - destination
    - flags
    - io_priority
    - cancellable
    - progress_callback
    - progress_callback_data
    - callback
    - user_data
    argTypes:
    - GFile*
    - GFile*
    - GFileCopyFlags
    - int
    - GCancellable*
    - GFileProgressCallback
    - gpointer
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 3827
      start: 3801
    functionDepth: 0
    functionLinenumber: 3801
    functionLinenumberEnd: 3827
    functionName: g_file_copy_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_file_copy_async (GFile *source, GFile *destination, GFileCopyFlags
      flags, int io_priority, GCancellable *cancellable, GFileProgressCallback progress_callback,
      gpointer progress_callback_data, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_task_return_error_if_cancelled
      Src: /src/glib/gio/gfile.c:7304,1
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/gfile.c:7307,1
    - Dst: g_io_error_from_file_error
      Src: /src/glib/gio/gfile.c:7320,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:7315,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfile.c:7315,1
    - Dst: g_task_return_new_error
      Src: /src/glib/gio/gfile.c:7322,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:7323,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gfile.c:7327,1
    - Dst: g_new0
      Src: /src/glib/gio/gfile.c:7331,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfile.c:7332,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gfile.c:7335,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfile.c:7333,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfile.c:7335,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 4
    argNames:
    - task
    - object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 7337
      start: 7292
    functionDepth: 0
    functionLinenumber: 7292
    functionLinenumberEnd: 7337
    functionName: new_tmp_async_thread
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_steal_pointer
    - g_task_return_pointer
    - g_file_new_tmp
    - g_task_return_error_if_cancelled
    - g_task_return_new_error
    - g_io_error_from_file_error
    - _
    - g_new0
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void new_tmp_async_thread (GTask *task, gpointer object, gpointer
      task_data, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:7489,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gfile.c:7493,1
    - Dst: g_task_new
      Src: /src/glib/gio/gfile.c:7491,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gfile.c:7489,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfile.c:7492,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfile.c:7493,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gfile.c:7494,1
    - Dst: g_task_set_check_cancellable
      Src: /src/glib/gio/gfile.c:7495,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gfile.c:7496,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:7497,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 5
    argNames:
    - tmpl
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - char*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 7498
      start: 7480
    functionDepth: 0
    functionLinenumber: 7480
    functionLinenumberEnd: 7498
    functionName: g_file_new_tmp_dir_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_task_new
    - g_object_unref
    - g_task_set_priority
    - g_task_set_source_tag
    - g_return_if_fail
    - g_task_set_check_cancellable
    - g_task_run_in_thread
    - G_IS_CANCELLABLE
    - g_task_set_task_data
    linkageType: ''
    returnType: void
    signature: 'void g_file_new_tmp_dir_async (const char *tmpl, int io_priority,
      GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/glib/gio/gfile.c:8197,1
    - Dst: g_realloc
      Src: /src/glib/gio/gfile.c:8203,1
    - Dst: g_assert
      Src: /src/glib/gio/gfile.c:8201,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - data
    - space
    argTypes:
    - LoadContentsData*
    - gsize
    constantsTouched: []
    func_position:
      end: 8206
      start: 8188
    functionDepth: 0
    functionLinenumber: 8188
    functionLinenumberEnd: 8206
    functionName: load_contents_data_ensure_space
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_realloc
    - g_malloc
    linkageType: ''
    returnType: void
    signature: 'static void load_contents_data_ensure_space (LoadContentsData *data,
      gsize space) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:9398,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:9398,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:9399,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfile.c:9401,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:9399,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gfile.c:9403,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gfile.c:9404,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:9404,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:9406,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - file
    - result
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 9408
      start: 9391
    functionDepth: 0
    functionLinenumber: 9391
    functionLinenumberEnd: 9408
    functionName: g_file_poll_mountable_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    - G_IS_ASYNC_RESULT
    - G_FILE_GET_IFACE
    - G_TASK
    - G_IS_FILE
    - g_async_result_is_tagged
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_poll_mountable_finish (GFile *file, GAsyncResult *result,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_object
      Src: /src/glib/gio/gfile.c:7287,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gfile.c:7288,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:7289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - NewTmpAsyncData*
    constantsTouched: []
    func_position:
      end: 7290
      start: 7284
    functionDepth: 0
    functionLinenumber: 7284
    functionLinenumberEnd: 7290
    functionName: new_tmp_data_free
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void new_tmp_data_free (NewTmpAsyncData *data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:9552,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:9552,1
    - Dst: g_task_new
      Src: /src/glib/gio/gfile.c:9555,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gfile.c:9553,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:9553,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfile.c:9556,1
    - Dst: g_file_has_uri_scheme
      Src: /src/glib/gio/gfile.c:9558,1
    - Dst: g_file_load_contents_async
      Src: /src/glib/gio/gfile.c:9560,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfile.c:9563,1
    - Dst: g_file_load_bytes
      Src: /src/glib/gio/gfile.c:9567,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfile.c:9570,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:9576,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:9570,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfile.c:9573,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gfile.c:9572,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 4
    argNames:
    - file
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFile*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 9577
      start: 9542
    functionDepth: 0
    functionLinenumber: 9542
    functionLinenumberEnd: 9577
    functionName: g_file_load_bytes_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_task_new
    - g_object_unref
    - g_task_return_pointer
    - g_task_set_source_tag
    - g_return_if_fail
    - g_file_has_uri_scheme
    - G_IS_CANCELLABLE
    - g_file_load_bytes
    - G_IS_FILE
    - g_task_return_error
    - g_file_load_contents_async
    linkageType: ''
    returnType: void
    signature: 'void g_file_load_bytes_async (GFile *file, GCancellable *cancellable,
      GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:2806,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:2818,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gfile.c:2861,1
    - Dst: g_string_append
      Src: /src/glib/gio/gfile.c:2847,1
    - Dst: g_string_free
      Src: /src/glib/gio/gfile.c:2869,1
    - Dst: g_file_attribute_info_list_unref
      Src: /src/glib/gio/gfile.c:2877,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:2808,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:2807,1
    - Dst: g_file_query_settable_attributes
      Src: /src/glib/gio/gfile.c:2817,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:2822,1
    - Dst: should_copy
      Src: /src/glib/gio/gfile.c:2840,1
    - Dst: g_file_attribute_info_list_unref
      Src: /src/glib/gio/gfile.c:2875,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:2806,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gfile.c:2845,1
    - Dst: g_string_append
      Src: /src/glib/gio/gfile.c:2864,1
    - Dst: g_string_append
      Src: /src/glib/gio/gfile.c:2863,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gfile.c:2807,1
    - Dst: g_file_query_writable_namespaces
      Src: /src/glib/gio/gfile.c:2821,1
    - Dst: g_string_new
      Src: /src/glib/gio/gfile.c:2829,1
    - Dst: should_copy
      Src: /src/glib/gio/gfile.c:2856,1
    - Dst: g_string_append
      Src: /src/glib/gio/gfile.c:2834,1
    - Dst: g_string_free
      Src: /src/glib/gio/gfile.c:2873,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2880
      start: 2791
    functionDepth: 0
    functionLinenumber: 2791
    functionLinenumberEnd: 2880
    functionName: g_file_build_attribute_list_for_copy
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - should_copy
    - g_return_val_if_fail
    - g_string_append_c
    - G_IS_CANCELLABLE
    - g_string_free
    - g_file_query_writable_namespaces
    - g_string_new
    - g_file_attribute_info_list_unref
    - g_file_query_settable_attributes
    - G_IS_FILE
    - g_cancellable_set_error_if_cancelled
    - g_string_append
    linkageType: ''
    returnType: char*
    signature: 'char *g_file_build_attribute_list_for_copy (GFile *file, GFileCopyFlags
      flags, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:4147,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:4148,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:4147,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:4149,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:4148,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gfile.c:4149,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:4151,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 9
    argNames:
    - source
    - destination
    - flags
    - io_priority
    - cancellable
    - progress_callback
    - progress_callback_data
    - callback
    - user_data
    argTypes:
    - GFile*
    - GFile*
    - GFileCopyFlags
    - int
    - GCancellable*
    - GFileProgressCallback
    - gpointer
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 4161
      start: 4134
    functionDepth: 0
    functionLinenumber: 4134
    functionLinenumberEnd: 4161
    functionName: g_file_move_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - G_IS_CANCELLABLE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_file_move_async (GFile *source, GFile *destination, GFileCopyFlags
      flags, int io_priority, GCancellable *cancellable, GFileProgressCallback progress_callback,
      gpointer progress_callback_data, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:8060,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:8060,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:8061,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gfile.c:8063,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfile.c:8061,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:8063,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8064
      start: 8055
    functionDepth: 0
    functionLinenumber: 8055
    functionLinenumberEnd: 8064
    functionName: g_file_query_default_handler_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_task_is_valid
    - G_TASK
    - G_IS_FILE
    - g_task_propagate_pointer
    linkageType: ''
    returnType: GAppInfo*
    signature: 'GAppInfo *g_file_query_default_handler_finish (GFile *file, GAsyncResult
      *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:936,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:936,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:939,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:937,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 942
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 942
    functionName: g_file_get_child_for_display_name
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *g_file_get_child_for_display_name (GFile *file, const char
      *display_name, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:1598,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:1603,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:1600,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:1607,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:1598,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:1612,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1617
      start: 1591
    functionDepth: 0
    functionLinenumber: 1591
    functionLinenumberEnd: 1617
    functionName: g_file_find_enclosing_mount
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_set_error_literal
    - _
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_cancellable_set_error_if_cancelled
    linkageType: ''
    returnType: GMount*
    signature: 'GMount *g_file_find_enclosing_mount (GFile *file, GCancellable *cancellable,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:6123,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:6124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - QueryInfoAsyncData*
    constantsTouched: []
    func_position:
      end: 6125
      start: 6120
    functionDepth: 0
    functionLinenumber: 6120
    functionLinenumberEnd: 6125
    functionName: query_info_data_free
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void query_info_data_free (QueryInfoAsyncData *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:6427,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:6428,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:6429,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - ReplaceAsyncData*
    constantsTouched: []
    func_position:
      end: 6430
      start: 6423
    functionDepth: 0
    functionLinenumber: 6423
    functionLinenumberEnd: 6430
    functionName: replace_async_data_free
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_free
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void replace_async_data_free (ReplaceAsyncData *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gfile.c:6875,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfile.c:6881,1
    - Dst: g_task_new
      Src: /src/glib/gio/gfile.c:6880,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfile.c:6876,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gfile.c:6882,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gfile.c:6883,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gfile.c:6885,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:6886,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 8
    argNames:
    - file
    - etag
    - make_backup
    - flags
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFile*
    - char*
    - gboolean
    - GFileCreateFlags
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 6887
      start: 6862
    functionDepth: 0
    functionLinenumber: 6862
    functionLinenumberEnd: 6887
    functionName: g_file_real_replace_readwrite_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_task_new
    - g_object_unref
    - g_task_set_priority
    - g_task_set_source_tag
    - g_task_run_in_thread
    - g_task_set_task_data
    - g_new0
    linkageType: ''
    returnType: void
    signature: 'static void g_file_real_replace_readwrite_async (GFile *file, const
      char *etag, gboolean make_backup, GFileCreateFlags flags, int io_priority, GCancellable
      *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_query_info
      Src: /src/glib/gio/gfile.c:6137,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:6141,1
    - Dst: G_FILE
      Src: /src/glib/gio/gfile.c:6137,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gfile.c:6139,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 4
    argNames:
    - task
    - object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 6142
      start: 6127
    functionDepth: 0
    functionLinenumber: 6127
    functionLinenumberEnd: 6142
    functionName: query_info_async_thread
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_file_query_info
    - g_task_return_error
    - g_task_return_pointer
    - G_FILE
    linkageType: ''
    returnType: void
    signature: 'static void query_info_async_thread (GTask *task, gpointer object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_replace
      Src: /src/glib/gio/gfile.c:6442,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:6452,1
    - Dst: G_FILE
      Src: /src/glib/gio/gfile.c:6442,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gfile.c:6450,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 4
    argNames:
    - task
    - source_object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 6453
      start: 6432
    functionDepth: 0
    functionLinenumber: 6432
    functionLinenumberEnd: 6453
    functionName: replace_async_thread
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_return_error
    - g_file_replace
    - g_task_return_pointer
    - G_FILE
    linkageType: ''
    returnType: void
    signature: 'static void replace_async_thread (GTask *task, gpointer source_object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:6894,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfile.c:6894,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gfile.c:6896,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:6896,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6897
      start: 6889
    functionDepth: 0
    functionLinenumber: 6889
    functionLinenumberEnd: 6897
    functionName: g_file_real_replace_readwrite_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_return_val_if_fail
    - g_task_is_valid
    - g_task_propagate_pointer
    linkageType: ''
    returnType: GFileIOStream*
    signature: 'static GFileIOStream *g_file_real_replace_readwrite_finish (GFile
      *file, GAsyncResult *res, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:9143,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:9143,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:9146,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:9144,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 6
    argNames:
    - file
    - result
    - disk_usage
    - num_dirs
    - num_files
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - guint64*
    - guint64*
    - guint64*
    - GError**
    constantsTouched: []
    func_position:
      end: 9147
      start: 9135
    functionDepth: 0
    functionLinenumber: 9135
    functionLinenumberEnd: 9147
    functionName: g_file_measure_disk_usage_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_measure_disk_usage_finish (GFile *file, GAsyncResult
      *result, guint64 *disk_usage, guint64 *num_dirs, guint64 *num_files, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:903,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:903,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:905,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:904,1
    - Dst: g_path_is_absolute
      Src: /src/glib/gio/gfile.c:905,1
    - Dst: g_file_resolve_relative_path
      Src: /src/glib/gio/gfile.c:907,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 908
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 908
    functionName: g_file_get_child
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_FILE
    - g_return_val_if_fail
    - g_file_resolve_relative_path
    - g_path_is_absolute
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *g_file_get_child (GFile *file, const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:7366,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gfile.c:7370,1
    - Dst: g_task_new
      Src: /src/glib/gio/gfile.c:7368,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfile.c:7369,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gfile.c:7366,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfile.c:7370,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gfile.c:7371,1
    - Dst: g_task_set_check_cancellable
      Src: /src/glib/gio/gfile.c:7372,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gfile.c:7373,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:7374,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 5
    argNames:
    - tmpl
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - char*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 7375
      start: 7357
    functionDepth: 0
    functionLinenumber: 7357
    functionLinenumberEnd: 7375
    functionName: g_file_new_tmp_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_task_new
    - g_object_unref
    - g_task_set_priority
    - g_task_set_source_tag
    - g_return_if_fail
    - g_task_set_check_cancellable
    - g_task_run_in_thread
    - G_IS_CANCELLABLE
    - g_task_set_task_data
    linkageType: ''
    returnType: void
    signature: 'void g_file_new_tmp_async (const char *tmpl, int io_priority, GCancellable
      *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:7517,1
    - Dst: g_task_get_source_tag
      Src: /src/glib/gio/gfile.c:7518,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:7518,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfile.c:7517,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:7518,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:7520,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gfile.c:7522,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:7522,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7523
      start: 7513
    functionDepth: 0
    functionLinenumber: 7513
    functionLinenumberEnd: 7523
    functionName: g_file_new_tmp_dir_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_task_is_valid
    - g_task_get_source_tag
    - G_TASK
    - g_task_propagate_pointer
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *g_file_new_tmp_dir_finish (GAsyncResult *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:7060,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfile.c:7060,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:7062,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gfile.c:7062,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7063
      start: 7055
    functionDepth: 0
    functionLinenumber: 7055
    functionLinenumberEnd: 7063
    functionName: g_file_real_find_enclosing_mount_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_return_val_if_fail
    - g_task_is_valid
    - g_task_propagate_pointer
    linkageType: ''
    returnType: GMount*
    signature: 'static GMount *g_file_real_find_enclosing_mount_finish (GFile *file,
      GAsyncResult *res, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_IS_LOCAL_FILE
      Src: /src/glib/gio/gfile.c:658,1
    - Dst: file_peek_path_generic
      Src: /src/glib/gio/gfile.c:660,1
    - Dst: _g_local_file_get_filename
      Src: /src/glib/gio/gfile.c:659,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 661
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 661
    functionName: g_file_peek_path
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_IS_LOCAL_FILE
    - _g_local_file_get_filename
    - file_peek_path_generic
    linkageType: ''
    returnType: char*
    signature: 'const char *g_file_peek_path (GFile *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:746,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:746,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:748,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 751
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 751
    functionName: g_file_dup
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *g_file_dup (GFile *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:2497,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:2499,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:2497,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 6
    argNames:
    - file
    - flags
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFile*
    - GFileCreateFlags
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 2506
      start: 2487
    functionDepth: 0
    functionLinenumber: 2487
    functionLinenumberEnd: 2506
    functionName: g_file_create_readwrite_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_file_create_readwrite_async (GFile *file, GFileCreateFlags
      flags, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback,
      gpointer user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: splice
      Src: /src/glib/gio/gfile.c:3161,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gfile.c:3174,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:3170,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:3171,1
    - Dst: g_set_error
      Src: /src/glib/gio/gfile.c:3173,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:3175,1
    - Dst: g_strerror
      Src: /src/glib/gio/gfile.c:3176,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 7
    argNames:
    - fd_in
    - off_in
    - fd_out
    - off_out
    - len
    - bytes_transferd
    - error
    argTypes:
    - int
    - loff_t*
    - int
    - loff_t*
    - size_t
    - long*
    - GError**
    constantsTouched: []
    func_position:
      end: 3183
      start: 3149
    functionDepth: 0
    functionLinenumber: 3149
    functionLinenumberEnd: 3183
    functionName: do_splice
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_io_error_from_errno
    - g_strerror
    - splice
    - g_set_error_literal
    - _
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean do_splice (int fd_in, loff_t *off_in, int fd_out,
      loff_t *off_out, size_t len, long *bytes_transferd, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:4258,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:4258,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:4267,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:4263,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:4260,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:4269,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - file
    - cancellable
    - error
    argTypes:
    - GFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 4274
      start: 4251
    functionDepth: 0
    functionLinenumber: 4251
    functionLinenumberEnd: 4274
    functionName: g_file_make_directory
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_set_error_literal
    - _
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_cancellable_set_error_if_cancelled
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_make_directory (GFile *file, GCancellable *cancellable,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:4708,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:4710,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:4708,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 5
    argNames:
    - file
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFile*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 4716
      start: 4699
    functionDepth: 0
    functionLinenumber: 4699
    functionLinenumberEnd: 4716
    functionName: g_file_delete_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_file_delete_async (GFile *file, int io_priority, GCancellable
      *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gfile.c:6252,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gfile.c:6258,1
    - Dst: g_task_new
      Src: /src/glib/gio/gfile.c:6256,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfile.c:6257,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfile.c:6253,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gfile.c:6259,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gfile.c:6260,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:6261,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 7
    argNames:
    - file
    - attributes
    - flags
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFile*
    - char*
    - GFileQueryInfoFlags
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 6262
      start: 6240
    functionDepth: 0
    functionLinenumber: 6240
    functionLinenumberEnd: 6262
    functionName: g_file_real_enumerate_children_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_task_new
    - g_object_unref
    - g_task_set_priority
    - g_task_set_source_tag
    - g_task_run_in_thread
    - g_task_set_task_data
    - g_new0
    linkageType: ''
    returnType: void
    signature: 'static void g_file_real_enumerate_children_async (GFile *file, const
      char *attributes, GFileQueryInfoFlags flags, int io_priority, GCancellable *cancellable,
      GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:6726,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfile.c:6726,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gfile.c:6728,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:6728,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - file
    - res
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 6729
      start: 6721
    functionDepth: 0
    functionLinenumber: 6721
    functionLinenumberEnd: 6729
    functionName: g_file_real_make_directory_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_task_is_valid
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_file_real_make_directory_finish (GFile *file, GAsyncResult
      *res, GError **error) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE_DESCRIPTOR_BASED
      Src: /src/glib/gio/gfile.c:3203,1
    - Dst: fcntl
      Src: /src/glib/gio/gfile.c:3213,1
    - Dst: g_assert
      Src: /src/glib/gio/gfile.c:3225,1
    - Dst: do_splice
      Src: /src/glib/gio/gfile.c:3248,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:3259,1
    - Dst: g_file_descriptor_based_get_fd
      Src: /src/glib/gio/gfile.c:3202,1
    - Dst: g_unix_open_pipe
      Src: /src/glib/gio/gfile.c:3205,1
    - Dst: g_close
      Src: /src/glib/gio/gfile.c:3279,1
    - Dst: g_close
      Src: /src/glib/gio/gfile.c:3284,1
    - Dst: g_file_descriptor_based_get_fd
      Src: /src/glib/gio/gfile.c:3203,1
    - Dst: fcntl
      Src: /src/glib/gio/gfile.c:3210,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/gfile.c:3231,1
    - Dst: g_file_info_get_size
      Src: /src/glib/gio/gfile.c:3232,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:3245,1
    - Dst: progress_callback
      Src: /src/glib/gio/gfile.c:3274,1
    - Dst: do_splice
      Src: /src/glib/gio/gfile.c:3262,1
    - Dst: G_FILE_DESCRIPTOR_BASED
      Src: /src/glib/gio/gfile.c:3202,1
    - Dst: g_assert
      Src: /src/glib/gio/gfile.c:3231,1
    - Dst: g_close
      Src: /src/glib/gio/gfile.c:3276,1
    - Dst: progress_callback
      Src: /src/glib/gio/gfile.c:3269,1
    - Dst: g_close
      Src: /src/glib/gio/gfile.c:3286,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 58
    argCount: 7
    argNames:
    - in
    - in_info
    - out
    - cancellable
    - progress_callback
    - progress_callback_data
    - error
    argTypes:
    - GInputStream*
    - GFileInfo*
    - GOutputStream*
    - GCancellable*
    - GFileProgressCallback
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 3289
      start: 3185
    functionDepth: 0
    functionLinenumber: 3185
    functionLinenumberEnd: 3289
    functionName: splice_stream_with_progress
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - do_splice
    - g_file_descriptor_based_get_fd
    - g_file_info_has_attribute
    - G_FILE_DESCRIPTOR_BASED
    - g_assert
    - g_unix_open_pipe
    - g_close
    - progress_callback
    - fcntl
    - g_file_info_get_size
    - g_cancellable_set_error_if_cancelled
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean splice_stream_with_progress (GInputStream *in, GFileInfo
      *in_info, GOutputStream *out, GCancellable *cancellable, GFileProgressCallback
      progress_callback, gpointer progress_callback_data, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:6269,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:6271,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gfile.c:6271,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfile.c:6269,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6272
      start: 6264
    functionDepth: 0
    functionLinenumber: 6264
    functionLinenumberEnd: 6272
    functionName: g_file_real_enumerate_children_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_return_val_if_fail
    - g_task_is_valid
    - g_task_propagate_pointer
    linkageType: ''
    returnType: GFileEnumerator*
    signature: 'static GFileEnumerator *g_file_real_enumerate_children_finish (GFile
      *file, GAsyncResult *res, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_open_readwrite
      Src: /src/glib/gio/gfile.c:6740,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gfile.c:6745,1
    - Dst: G_FILE
      Src: /src/glib/gio/gfile.c:6740,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:6743,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - task
    - object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 6746
      start: 6731
    functionDepth: 0
    functionLinenumber: 6731
    functionLinenumberEnd: 6746
    functionName: open_readwrite_async_thread
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_return_pointer
    - g_task_return_error
    - g_file_open_readwrite
    - G_FILE
    linkageType: ''
    returnType: void
    signature: 'static void open_readwrite_async_thread (GTask *task, gpointer object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:716,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:718,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:716,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 721
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 721
    functionName: g_file_get_parse_name
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    linkageType: ''
    returnType: char*
    signature: 'char *g_file_get_parse_name (GFile *file) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:4665,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:4665,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:4667,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:4670,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:4674,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:4676,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - file
    - cancellable
    - error
    argTypes:
    - GFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 4681
      start: 4658
    functionDepth: 0
    functionLinenumber: 4658
    functionLinenumberEnd: 4681
    functionName: g_file_delete
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_set_error_literal
    - _
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_cancellable_set_error_if_cancelled
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_delete (GFile *file, GCancellable *cancellable, GError
      **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:5132,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:5138,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:5135,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:5132,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:5133,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:5142,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:5144,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 7
    argNames:
    - file
    - attribute
    - type
    - value_p
    - flags
    - cancellable
    - error
    argTypes:
    - GFile*
    - gchar*
    - GFileAttributeType
    - gpointer
    - GFileQueryInfoFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 5149
      start: 5121
    functionDepth: 0
    functionLinenumber: 5121
    functionLinenumberEnd: 5149
    functionName: g_file_set_attribute
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_set_error_literal
    - _
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_cancellable_set_error_if_cancelled
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_set_attribute (GFile *file, const gchar *attribute,
      GFileAttributeType type, gpointer value_p, GFileQueryInfoFlags flags, GCancellable
      *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_set_attribute
      Src: /src/glib/gio/gfile.c:5443,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 6
    argNames:
    - file
    - attribute
    - value
    - flags
    - cancellable
    - error
    argTypes:
    - GFile*
    - gchar*
    - gint32
    - GFileQueryInfoFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 5446
      start: 5435
    functionDepth: 0
    functionLinenumber: 5435
    functionLinenumberEnd: 5446
    functionName: g_file_set_attribute_int32
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_file_set_attribute
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_set_attribute_int32 (GFile *file, const gchar *attribute,
      gint32 value, GFileQueryInfoFlags flags, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_find_enclosing_mount
      Src: /src/glib/gio/gfile.c:7030,1
    - Dst: G_FILE
      Src: /src/glib/gio/gfile.c:7030,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gfile.c:7035,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:7033,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - task
    - object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 7036
      start: 7021
    functionDepth: 0
    functionLinenumber: 7021
    functionLinenumberEnd: 7036
    functionName: find_enclosing_mount_async_thread
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_file_find_enclosing_mount
    - g_task_return_error
    - g_task_return_pointer
    - G_FILE
    linkageType: ''
    returnType: void
    signature: 'static void find_enclosing_mount_async_thread (GTask *task, gpointer
      object, gpointer task_data, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:9071,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:9072,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:9073,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:9071,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gfile.c:9072,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:9075,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 9
    argNames:
    - file
    - flags
    - cancellable
    - progress_callback
    - progress_data
    - disk_usage
    - num_dirs
    - num_files
    - error
    argTypes:
    - GFile*
    - GFileMeasureFlags
    - GCancellable*
    - GFileMeasureProgressCallback
    - gpointer
    - guint64*
    - guint64*
    - guint64*
    - GError**
    constantsTouched: []
    func_position:
      end: 9079
      start: 9060
    functionDepth: 0
    functionLinenumber: 9060
    functionLinenumberEnd: 9079
    functionName: g_file_measure_disk_usage
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    - G_IS_CANCELLABLE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_measure_disk_usage (GFile *file, GFileMeasureFlags
      flags, GCancellable *cancellable, GFileMeasureProgressCallback progress_callback,
      gpointer progress_data, guint64 *disk_usage, guint64 *num_dirs, guint64 *num_files,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE
      Src: /src/glib/gio/gfile.c:9501,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:9512,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfile.c:9509,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gfile.c:9509,1
    - Dst: g_file_load_contents_finish
      Src: /src/glib/gio/gfile.c:9508,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfile.c:9512,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gfile.c:9514,1
    - Dst: g_bytes_new_take
      Src: /src/glib/gio/gfile.c:9515,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfile.c:9515,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:9518,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 9519
      start: 9496
    functionDepth: 0
    functionLinenumber: 9496
    functionLinenumberEnd: 9519
    functionName: g_file_load_bytes_cb
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_object_unref
    - g_task_return_pointer
    - G_FILE
    - g_file_load_contents_finish
    - g_bytes_new_take
    - g_task_set_task_data
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void g_file_load_bytes_cb (GObject *object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE
      Src: /src/glib/gio/gfile.c:7920,1
    - Dst: g_file_query_info_finish
      Src: /src/glib/gio/gfile.c:7926,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:7921,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfile.c:7929,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:7929,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:7930,1
    - Dst: g_file_info_get_content_type
      Src: /src/glib/gio/gfile.c:7934,1
    - Dst: g_file_info_get_attribute_string
      Src: /src/glib/gio/gfile.c:7936,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gfile.c:7939,1
    - Dst: g_file_get_path
      Src: /src/glib/gio/gfile.c:7943,1
    - Dst: g_app_info_get_default_for_type_async
      Src: /src/glib/gio/gfile.c:7945,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:7961,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:7958,1
    - Dst: g_task_return_new_error_literal
      Src: /src/glib/gio/gfile.c:7955,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gfile.c:7962,1
    - Dst: g_free
      Src: /src/glib/gio/gfile.c:7951,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfile.c:7949,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 7963
      start: 7915
    functionDepth: 0
    functionLinenumber: 7915
    functionLinenumberEnd: 7963
    functionName: query_default_handler_query_info_cb
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_file_query_info_finish
    - g_object_unref
    - g_app_info_get_default_for_type_async
    - g_task_get_cancellable
    - g_task_return_new_error_literal
    - g_clear_object
    - g_file_get_path
    - g_file_info_get_content_type
    - G_FILE
    - _
    - G_TASK
    - g_file_info_get_attribute_string
    - g_free
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void query_default_handler_query_info_cb (GObject *object,
      GAsyncResult *result, gpointer user_data) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_propagate_error
      Src: /src/glib/gio/gfile.c:4055,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gfile.c:4086,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:4035,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:4036,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:4036,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:4035,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:4067,1
    - Dst: g_file_copy
      Src: /src/glib/gio/gfile.c:4099,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:4094,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:4092,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:4038,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:4041,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gfile.c:4059,1
    - Dst: G_OBJECT_TYPE
      Src: /src/glib/gio/gfile.c:4065,1
    - Dst: G_OBJECT_TYPE
      Src: /src/glib/gio/gfile.c:4065,1
    - Dst: g_file_delete
      Src: /src/glib/gio/gfile.c:4104,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gfile.c:4082,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 43
    argCount: 7
    argNames:
    - source
    - destination
    - flags
    - cancellable
    - progress_callback
    - progress_callback_data
    - error
    argTypes:
    - GFile*
    - GFile*
    - GFileCopyFlags
    - GCancellable*
    - GFileProgressCallback
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 4105
      start: 4022
    functionDepth: 0
    functionLinenumber: 4022
    functionLinenumberEnd: 4105
    functionName: g_file_move
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_clear_error
    - G_OBJECT_TYPE
    - g_return_val_if_fail
    - g_file_delete
    - g_set_error_literal
    - _
    - G_FILE_GET_IFACE
    - g_file_copy
    - G_IS_FILE
    - g_cancellable_set_error_if_cancelled
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_move (GFile *source, GFile *destination, GFileCopyFlags
      flags, GCancellable *cancellable, GFileProgressCallback progress_callback, gpointer
      progress_callback_data, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:1391,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:1391,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:1393,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 7
    argNames:
    - file
    - attributes
    - flags
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFile*
    - char*
    - GFileQueryInfoFlags
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 1401
      start: 1380
    functionDepth: 0
    functionLinenumber: 1380
    functionLinenumberEnd: 1401
    functionName: g_file_query_info_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_file_query_info_async (GFile *file, const char *attributes,
      GFileQueryInfoFlags flags, int io_priority, GCancellable *cancellable, GAsyncReadyCallback
      callback, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:2088,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:2097,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:2093,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:2088,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:2090,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:2099,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2104
      start: 2078
    functionDepth: 0
    functionLinenumber: 2078
    functionLinenumberEnd: 2104
    functionName: g_file_replace_readwrite
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_set_error_literal
    - _
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_cancellable_set_error_if_cancelled
    linkageType: ''
    returnType: GFileIOStream*
    signature: 'GFileIOStream *g_file_replace_readwrite (GFile *file, const char *etag,
      gboolean make_backup, GFileCreateFlags flags, GCancellable *cancellable, GError
      **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/gfile.c:2759,1
    - Dst: strncmp
      Src: /src/glib/gio/gfile.c:2760,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 4
    argNames:
    - info
    - copy_all_attributes
    - skip_perms
    - skip_modified_time
    argTypes:
    - GFileAttributeInfo*
    - gboolean
    - gboolean
    - gboolean
    constantsTouched: []
    func_position:
      end: 2766
      start: 2753
    functionDepth: 0
    functionLinenumber: 2753
    functionLinenumberEnd: 2766
    functionName: should_copy
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - strncmp
    - strcmp
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean should_copy (GFileAttributeInfo *info, gboolean copy_all_attributes,
      gboolean skip_perms, gboolean skip_modified_time) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: copy_file_range
      Src: /src/glib/gio/gfile.c:3045,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:3057,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gfile.c:3063,1
    - Dst: g_set_error
      Src: /src/glib/gio/gfile.c:3062,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:3058,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:3064,1
    - Dst: g_strerror
      Src: /src/glib/gio/gfile.c:3065,1
    - Dst: g_assert
      Src: /src/glib/gio/gfile.c:3072,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 7
    argNames:
    - fd_in
    - off_in
    - fd_out
    - off_out
    - len
    - bytes_transferred
    - error
    argTypes:
    - int
    - loff_t*
    - int
    - loff_t*
    - size_t
    - size_t*
    - GError**
    constantsTouched: []
    func_position:
      end: 3076
      start: 3032
    functionDepth: 0
    functionLinenumber: 3032
    functionLinenumberEnd: 3076
    functionName: do_copy_file_range
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_io_error_from_errno
    - g_assert
    - g_strerror
    - g_set_error_literal
    - _
    - copy_file_range
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean do_copy_file_range (int fd_in, loff_t *off_in, int
      fd_out, loff_t *off_out, size_t len, size_t *bytes_transferred, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:4575,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:4577,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:4575,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:4576,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gfile.c:4577,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:4579,1
    - Dst: g_assert
      Src: /src/glib/gio/gfile.c:4582,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 6
    argNames:
    - file
    - symlink_value
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFile*
    - char*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 4586
      start: 4565
    functionDepth: 0
    functionLinenumber: 4565
    functionLinenumberEnd: 4586
    functionName: g_file_make_symbolic_link_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - g_assert
    - G_IS_CANCELLABLE
    - G_FILE_GET_IFACE
    - G_IS_FILE
    linkageType: ''
    returnType: void
    signature: 'void g_file_make_symbolic_link_async (GFile *file, const char *symlink_value,
      int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/gfile.c:6555,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gfile.c:6557,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfile.c:6556,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:6559,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gfile.c:6558,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 5
    argNames:
    - file
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFile*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 6560
      start: 6546
    functionDepth: 0
    functionLinenumber: 6546
    functionLinenumberEnd: 6560
    functionName: g_file_real_trash_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_object_unref
    - g_task_run_in_thread
    - g_task_set_priority
    - g_task_set_source_tag
    linkageType: ''
    returnType: void
    signature: 'static void g_file_real_trash_async (GFile *file, int io_priority,
      GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_set_display_name
      Src: /src/glib/gio/gfile.c:6909,1
    - Dst: G_FILE
      Src: /src/glib/gio/gfile.c:6909,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gfile.c:6914,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfile.c:6912,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 4
    argNames:
    - task
    - object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 6915
      start: 6899
    functionDepth: 0
    functionLinenumber: 6899
    functionLinenumberEnd: 6915
    functionName: set_display_name_async_thread
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_FILE
    - g_task_return_error
    - g_task_return_pointer
    - g_file_set_display_name
    linkageType: ''
    returnType: void
    signature: 'static void set_display_name_async_thread (GTask *task, gpointer object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_file_descriptor_based_get_fd
      Src: /src/glib/gio/gfile.c:3093,1
    - Dst: g_file_descriptor_based_get_fd
      Src: /src/glib/gio/gfile.c:3094,1
    - Dst: G_FILE_DESCRIPTOR_BASED
      Src: /src/glib/gio/gfile.c:3094,1
    - Dst: g_assert
      Src: /src/glib/gio/gfile.c:3096,1
    - Dst: G_FILE_DESCRIPTOR_BASED
      Src: /src/glib/gio/gfile.c:3093,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/gfile.c:3096,1
    - Dst: g_file_info_get_size
      Src: /src/glib/gio/gfile.c:3097,1
    - Dst: g_set_error
      Src: /src/glib/gio/gfile.c:3105,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:3106,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:3122,1
    - Dst: do_copy_file_range
      Src: /src/glib/gio/gfile.c:3123,1
    - Dst: g_assert
      Src: /src/glib/gio/gfile.c:3129,1
    - Dst: progress_callback
      Src: /src/glib/gio/gfile.c:3141,1
    - Dst: progress_callback
      Src: /src/glib/gio/gfile.c:3134,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 7
    argNames:
    - in
    - in_info
    - out
    - cancellable
    - progress_callback
    - progress_callback_data
    - error
    argTypes:
    - GInputStream*
    - GFileInfo*
    - GOutputStream*
    - GCancellable*
    - GFileProgressCallback
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 3144
      start: 3078
    functionDepth: 0
    functionLinenumber: 3078
    functionLinenumberEnd: 3144
    functionName: copy_file_range_with_progress
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_file_descriptor_based_get_fd
    - g_file_info_has_attribute
    - G_FILE_DESCRIPTOR_BASED
    - g_assert
    - do_copy_file_range
    - progress_callback
    - _
    - g_file_info_get_size
    - g_cancellable_set_error_if_cancelled
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean copy_file_range_with_progress (GInputStream *in, GFileInfo
      *in_info, GOutputStream *out, GCancellable *cancellable, GFileProgressCallback
      progress_callback, gpointer progress_callback_data, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:6567,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfile.c:6567,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gfile.c:6569,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfile.c:6569,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - file
    - res
    - error
    argTypes:
    - GFile*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 6570
      start: 6562
    functionDepth: 0
    functionLinenumber: 6562
    functionLinenumberEnd: 6570
    functionName: g_file_real_trash_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_task_is_valid
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_file_real_trash_finish (GFile *file, GAsyncResult
      *res, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/gfile.c:6927,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gfile.c:6929,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfile.c:6928,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gfile.c:6930,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfile.c:6929,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gfile.c:6932,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:6933,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 6
    argNames:
    - file
    - display_name
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFile*
    - char*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 6934
      start: 6917
    functionDepth: 0
    functionLinenumber: 6917
    functionLinenumberEnd: 6934
    functionName: g_file_real_set_display_name_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_task_new
    - g_object_unref
    - g_task_set_priority
    - g_task_set_source_tag
    - g_task_run_in_thread
    - g_task_set_task_data
    linkageType: ''
    returnType: void
    signature: 'static void g_file_real_set_display_name_async (GFile *file, const
      char *display_name, int io_priority, GCancellable *cancellable, GAsyncReadyCallback
      callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:681,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:681,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:683,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 686
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 686
    functionName: g_file_get_uri
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_val_if_fail
    linkageType: ''
    returnType: char*
    signature: 'char *g_file_get_uri (GFile *file) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:1340,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:1345,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:1340,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:1342,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:1349,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:1351,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1356
      start: 1331
    functionDepth: 0
    functionLinenumber: 1331
    functionLinenumberEnd: 1356
    functionName: g_file_query_info
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_set_error_literal
    - _
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_cancellable_set_error_if_cancelled
    linkageType: ''
    returnType: GFileInfo*
    signature: 'GFileInfo *g_file_query_info (GFile *file, const char *attributes,
      GFileQueryInfoFlags flags, GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:2033,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfile.c:2042,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:2038,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfile.c:2035,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:2033,1
    - Dst: _
      Src: /src/glib/gio/gfile.c:2044,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2049
      start: 2025
    functionDepth: 0
    functionLinenumber: 2025
    functionLinenumberEnd: 2049
    functionName: g_file_create_readwrite
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_set_error_literal
    - _
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_cancellable_set_error_if_cancelled
    linkageType: ''
    returnType: GFileIOStream*
    signature: 'GFileIOStream *g_file_create_readwrite (GFile *file, GFileCreateFlags
      flags, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:2529,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfile.c:2530,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:2529,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfile.c:2532,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:2530,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:2535,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2537
      start: 2522
    functionDepth: 0
    functionLinenumber: 2522
    functionLinenumberEnd: 2537
    functionName: g_file_create_readwrite_finish
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    - G_IS_ASYNC_RESULT
    - G_FILE_GET_IFACE
    - G_IS_FILE
    linkageType: ''
    returnType: GFileIOStream*
    signature: 'GFileIOStream *g_file_create_readwrite_finish (GFile *file, GAsyncResult
      *res, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:4299,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:4299,1
    - Dst: G_FILE_GET_IFACE
      Src: /src/glib/gio/gfile.c:4301,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 5
    argNames:
    - file
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFile*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 4307
      start: 4290
    functionDepth: 0
    functionLinenumber: 4290
    functionLinenumberEnd: 4307
    functionName: g_file_make_directory_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - G_FILE_GET_IFACE
    - G_IS_FILE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_file_make_directory_async (GFile *file, int io_priority, GCancellable
      *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:4535,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gfile.c:4537,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfile.c:4535,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:4536,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfile.c:4537,1
    - Dst: g_task_new
      Src: /src/glib/gio/gfile.c:4539,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfile.c:4540,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gfile.c:4541,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfile.c:4541,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gfile.c:4542,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gfile.c:4544,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfile.c:4545,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 6
    argNames:
    - file
    - symlink_value
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFile*
    - char*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 4546
      start: 4525
    functionDepth: 0
    functionLinenumber: 4525
    functionLinenumberEnd: 4546
    functionName: g_file_real_make_symbolic_link_async
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_task_new
    - g_object_unref
    - g_task_set_priority
    - g_task_set_source_tag
    - g_return_if_fail
    - g_task_run_in_thread
    - G_IS_CANCELLABLE
    - g_task_set_task_data
    - G_IS_FILE
    linkageType: ''
    returnType: void
    signature: 'static void g_file_real_make_symbolic_link_async (GFile *file, const
      char *symlink_value, int io_priority, GCancellable *cancellable, GAsyncReadyCallback
      callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:7719,1
    - Dst: new_for_cmdline_arg
      Src: /src/glib/gio/gfile.c:7722,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfile.c:7720,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7723
      start: 7715
    functionDepth: 0
    functionLinenumber: 7715
    functionLinenumberEnd: 7723
    functionName: g_file_new_for_commandline_arg_and_cwd
    functionSourceFile: /src/glib/gio/gfile.c
    functionUses: []
    functionsReached:
    - new_for_cmdline_arg
    - g_return_val_if_fail
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *g_file_new_for_commandline_arg_and_cwd (const gchar *arg, const
      gchar *cwd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsocks4proxy.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: g_socks4_proxy_finalize
    functionSourceFile: /src/glib/gio/gsocks4proxy.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_socks4_proxy_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - class
    argTypes:
    - GSocks4ProxyClass*
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: g_socks4_proxy_class_init
    functionSourceFile: /src/glib/gio/gsocks4proxy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_socks4_proxy_class_init (GSocks4ProxyClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKS4A_PROXY
      Src: /src/glib/gio/gsocks4proxy.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - GSocks4Proxy*
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: g_socks4_proxy_init
    functionSourceFile: /src/glib/gio/gsocks4proxy.c
    functionUses: []
    functionsReached:
    - G_SOCKS4A_PROXY
    linkageType: ''
    returnType: void
    signature: 'static void g_socks4_proxy_init (GSocks4Proxy *proxy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_ACTION_MAP_GET_IFACE
      Src: /src/glib/gio/gactionmap.c:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: g_action_map_lookup_action
    functionSourceFile: /src/glib/gio/gactionmap.c
    functionUses: []
    functionsReached:
    - G_ACTION_MAP_GET_IFACE
    linkageType: ''
    returnType: GAction*
    signature: 'GAction *g_action_map_lookup_action (GActionMap *action_map, const
      gchar *action_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_ACTION_MAP_GET_IFACE
      Src: /src/glib/gio/gactionmap.c:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - action_map
    - action_name
    argTypes:
    - GActionMap*
    - gchar*
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: g_action_map_remove_action
    functionSourceFile: /src/glib/gio/gactionmap.c
    functionUses: []
    functionsReached:
    - G_ACTION_MAP_GET_IFACE
    linkageType: ''
    returnType: void
    signature: 'void g_action_map_remove_action (GActionMap *action_map, const gchar
      *action_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GActionMapInterface*
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: g_action_map_default_init
    functionSourceFile: /src/glib/gio/gactionmap.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_action_map_default_init (GActionMapInterface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_ACTION_MAP_GET_IFACE
      Src: /src/glib/gio/gactionmap.c:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - action_map
    - action
    argTypes:
    - GActionMap*
    - GAction*
    constantsTouched: []
    func_position:
      end: 106
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 106
    functionName: g_action_map_add_action
    functionSourceFile: /src/glib/gio/gactionmap.c
    functionUses: []
    functionsReached:
    - G_ACTION_MAP_GET_IFACE
    linkageType: ''
    returnType: void
    signature: 'void g_action_map_add_action (GActionMap *action_map, GAction *action) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gactionmap.c:316,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gactionmap.c:317,1
    - Dst: G_IS_ACTION_MAP
      Src: /src/glib/gio/gactionmap.c:316,1
    - Dst: g_action_map_remove_action
      Src: /src/glib/gio/gactionmap.c:320,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - action_map
    - entries
    - n_entries
    argTypes:
    - GActionMap*
    - GActionEntry
    - gint
    constantsTouched: []
    func_position:
      end: 321
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 321
    functionName: g_action_map_remove_action_entries
    functionSourceFile: /src/glib/gio/gactionmap.c
    functionUses: []
    functionsReached:
    - g_action_map_remove_action
    - G_IS_ACTION_MAP
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_action_map_remove_action_entries (GActionMap *action_map, const
      GActionEntry entries[], gint n_entries) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gactionmap.c:212,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gactionmap.c:213,1
    - Dst: g_variant_type_string_is_valid
      Src: /src/glib/gio/gactionmap.c:223,1
    - Dst: g_critical
      Src: /src/glib/gio/gactionmap.c:225,1
    - Dst: G_IS_ACTION_MAP
      Src: /src/glib/gio/gactionmap.c:212,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gactionmap.c:233,1
    - Dst: g_critical
      Src: /src/glib/gio/gactionmap.c:246,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gactionmap.c:258,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gactionmap.c:275,1
    - Dst: g_variant_parse
      Src: /src/glib/gio/gactionmap.c:243,1
    - Dst: g_error_free
      Src: /src/glib/gio/gactionmap.c:250,1
    - Dst: g_simple_action_new_stateful
      Src: /src/glib/gio/gactionmap.c:254,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gactionmap.c:267,1
    - Dst: G_ACTION
      Src: /src/glib/gio/gactionmap.c:274,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gactionmap.c:271,1
    - Dst: g_simple_action_new
      Src: /src/glib/gio/gactionmap.c:262,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gactionmap.c:272,1
    - Dst: g_action_map_add_action
      Src: /src/glib/gio/gactionmap.c:274,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gactionmap.c:268,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 4
    argNames:
    - action_map
    - entries
    - n_entries
    - user_data
    argTypes:
    - GActionMap*
    - GActionEntry*
    - gint
    - gpointer
    constantsTouched: []
    func_position:
      end: 277
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 277
    functionName: g_action_map_add_action_entries
    functionSourceFile: /src/glib/gio/gactionmap.c
    functionUses: []
    functionsReached:
    - g_simple_action_new
    - g_variant_parse
    - g_object_unref
    - G_ACTION
    - g_return_if_fail
    - g_simple_action_new_stateful
    - g_variant_type_string_is_valid
    - G_IS_ACTION_MAP
    - G_CALLBACK
    - g_variant_unref
    - g_error_free
    - g_critical
    - g_action_map_add_action
    - G_VARIANT_TYPE
    - g_signal_connect
    linkageType: ''
    returnType: void
    signature: 'void g_action_map_add_action_entries (GActionMap *action_map, const
      GActionEntry *entries, gint n_entries, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/ggtknotificationbackend.c:57,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/ggtknotificationbackend.c:64,1
    - Dst: g_dbus_connection_call_sync
      Src: /src/glib/gio/ggtknotificationbackend.c:61,1
    - Dst: g_variant_new
      Src: /src/glib/gio/ggtknotificationbackend.c:63,1
    - Dst: g_object_unref
      Src: /src/glib/gio/ggtknotificationbackend.c:66,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/ggtknotificationbackend.c:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 75
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 75
    functionName: g_gtk_notification_backend_is_supported
    functionSourceFile: /src/glib/gio/ggtknotificationbackend.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_dbus_connection_call_sync
    - g_variant_unref
    - g_variant_new
    - g_bus_get_sync
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_gtk_notification_backend_is_supported (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new
      Src: /src/glib/gio/ggtknotificationbackend.c:101,1
    - Dst: g_application_get_application_id
      Src: /src/glib/gio/ggtknotificationbackend.c:101,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/ggtknotificationbackend.c:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - backend
    - id
    argTypes:
    - GNotificationBackend*
    - gchar*
    constantsTouched: []
    func_position:
      end: 107
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 107
    functionName: g_gtk_notification_backend_withdraw_notification
    functionSourceFile: /src/glib/gio/ggtknotificationbackend.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_call
    - g_variant_new
    - g_application_get_application_id
    linkageType: ''
    returnType: void
    signature: 'static void g_gtk_notification_backend_withdraw_notification (GNotificationBackend
      *backend, const gchar *id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_NOTIFICATION_BACKEND_CLASS
      Src: /src/glib/gio/ggtknotificationbackend.c:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - class
    argTypes:
    - GGtkNotificationBackendClass*
    constantsTouched: []
    func_position:
      end: 122
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 122
    functionName: g_gtk_notification_backend_class_init
    functionSourceFile: /src/glib/gio/ggtknotificationbackend.c
    functionUses: []
    functionsReached:
    - G_NOTIFICATION_BACKEND_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_gtk_notification_backend_class_init (GGtkNotificationBackendClass
      *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - backend
    argTypes:
    - GGtkNotificationBackend*
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: g_gtk_notification_backend_init
    functionSourceFile: /src/glib/gio/ggtknotificationbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_gtk_notification_backend_init (GGtkNotificationBackend
      *backend) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new
      Src: /src/glib/gio/ggtknotificationbackend.c:84,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/ggtknotificationbackend.c:88,1
    - Dst: g_notification_serialize
      Src: /src/glib/gio/ggtknotificationbackend.c:86,1
    - Dst: g_application_get_application_id
      Src: /src/glib/gio/ggtknotificationbackend.c:84,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - backend
    - id
    - notification
    argTypes:
    - GNotificationBackend*
    - gchar*
    - GNotification*
    constantsTouched: []
    func_position:
      end: 93
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 93
    functionName: g_gtk_notification_backend_send_notification
    functionSourceFile: /src/glib/gio/ggtknotificationbackend.c
    functionUses: []
    functionsReached:
    - g_notification_serialize
    - g_variant_new
    - g_application_get_application_id
    - g_dbus_connection_call
    linkageType: ''
    returnType: void
    signature: 'static void g_gtk_notification_backend_send_notification (GNotificationBackend
      *backend, const gchar *id, GNotification *notification) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsocks4aproxy.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: g_socks4a_proxy_finalize
    functionSourceFile: /src/glib/gio/gsocks4aproxy.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_socks4a_proxy_finalize (GObject *object) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_proxy_address_get_destination_hostname
      Src: /src/glib/gio/gsocks4aproxy.c:207,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/gsocks4aproxy.c:211,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/gsocks4aproxy.c:212,1
    - Dst: g_proxy_address_get_destination_port
      Src: /src/glib/gio/gsocks4aproxy.c:208,1
    - Dst: g_proxy_address_get_username
      Src: /src/glib/gio/gsocks4aproxy.c:209,1
    - Dst: set_connect_msg
      Src: /src/glib/gio/gsocks4aproxy.c:219,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/gsocks4aproxy.c:224,1
    - Dst: g_input_stream_read_all
      Src: /src/glib/gio/gsocks4aproxy.c:233,1
    - Dst: parse_connect_reply
      Src: /src/glib/gio/gsocks4aproxy.c:237,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocks4aproxy.c:241,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 245
    functionName: g_socks4a_proxy_connect
    functionSourceFile: /src/glib/gio/gsocks4aproxy.c
    functionUses: []
    functionsReached:
    - g_proxy_address_get_username
    - g_proxy_address_get_destination_port
    - g_input_stream_read_all
    - g_io_stream_get_input_stream
    - g_output_stream_write_all
    - g_proxy_address_get_destination_hostname
    - set_connect_msg
    - g_object_ref
    - g_io_stream_get_output_stream
    - parse_connect_reply
    linkageType: ''
    returnType: GIOStream*
    signature: "static GIOStream *g_socks4a_proxy_connect (GProxy *proxy,\t\t\t GIOStream\
      \ *io_stream,\t\t\t GProxyAddress *proxy_address,\t\t\t GCancellable *cancellable,\t\
      \t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocks4aproxy.c:269,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gsocks4aproxy.c:270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - ConnectAsyncData*
    constantsTouched: []
    func_position:
      end: 271
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 271
    functionName: free_connect_data
    functionSourceFile: /src/glib/gio/gsocks4aproxy.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void free_connect_data (ConnectAsyncData *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/gsocks4aproxy.c:290,1
    - Dst: g_output_stream_write_async
      Src: /src/glib/gio/gsocks4aproxy.c:291,1
    - Dst: g_task_get_priority
      Src: /src/glib/gio/gsocks4aproxy.c:294,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gsocks4aproxy.c:295,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - callback
    - task
    - data
    argTypes:
    - GAsyncReadyCallback
    - GTask*
    - ConnectAsyncData*
    constantsTouched: []
    func_position:
      end: 297
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 297
    functionName: do_write
    functionSourceFile: /src/glib/gio/gsocks4aproxy.c
    functionUses: []
    functionsReached:
    - g_output_stream_write_async
    - g_io_stream_get_output_stream
    - g_task_get_cancellable
    - g_task_get_priority
    linkageType: ''
    returnType: void
    signature: 'static void do_write (GAsyncReadyCallback callback, GTask *task, ConnectAsyncData
      *data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gsocks4aproxy.c:350,1
    - Dst: g_output_stream_write_finish
      Src: /src/glib/gio/gsocks4aproxy.c:354,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gsocks4aproxy.c:359,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gsocks4aproxy.c:354,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocks4aproxy.c:360,1
    - Dst: g_free
      Src: /src/glib/gio/gsocks4aproxy.c:368,1
    - Dst: g_malloc0
      Src: /src/glib/gio/gsocks4aproxy.c:370,1
    - Dst: do_read
      Src: /src/glib/gio/gsocks4aproxy.c:374,1
    - Dst: do_write
      Src: /src/glib/gio/gsocks4aproxy.c:378,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 380
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 380
    functionName: connect_msg_write_cb
    functionSourceFile: /src/glib/gio/gsocks4aproxy.c
    functionUses: []
    functionsReached:
    - do_write
    - g_object_unref
    - g_malloc0
    - g_output_stream_write_finish
    - do_read
    - g_task_get_task_data
    - g_free
    - g_task_return_error
    - G_OUTPUT_STREAM
    linkageType: ''
    returnType: void
    signature: "static void connect_msg_write_cb (GObject *source,\t\t GAsyncResult\
      \ *result,\t\t gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKS4A_PROXY
      Src: /src/glib/gio/gsocks4aproxy.c:440,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - GProxy*
    constantsTouched: []
    func_position:
      end: 441
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 441
    functionName: g_socks4a_proxy_supports_hostname
    functionSourceFile: /src/glib/gio/gsocks4aproxy.c
    functionUses: []
    functionsReached:
    - G_SOCKS4A_PROXY
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_socks4a_proxy_supports_hostname (GProxy *proxy) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_hostname_is_ip_address
      Src: /src/glib/gio/gsocks4aproxy.c:106,1
    - Dst: _
      Src: /src/glib/gio/gsocks4aproxy.c:119,1
    - Dst: g_inet_address_to_bytes
      Src: /src/glib/gio/gsocks4aproxy.c:125,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocks4aproxy.c:136,1
    - Dst: _
      Src: /src/glib/gio/gsocks4aproxy.c:137,1
    - Dst: _
      Src: /src/glib/gio/gsocks4aproxy.c:154,1
    - Dst: memcpy
      Src: /src/glib/gio/gsocks4aproxy.c:141,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocks4aproxy.c:153,1
    - Dst: memcpy
      Src: /src/glib/gio/gsocks4aproxy.c:102,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocks4aproxy.c:121,1
    - Dst: memcpy
      Src: /src/glib/gio/gsocks4aproxy.c:125,1
    - Dst: strlen
      Src: /src/glib/gio/gsocks4aproxy.c:132,1
    - Dst: memcpy
      Src: /src/glib/gio/gsocks4aproxy.c:159,1
    - Dst: g_htons
      Src: /src/glib/gio/gsocks4aproxy.c:101,1
    - Dst: g_inet_address_get_native_size
      Src: /src/glib/gio/gsocks4aproxy.c:114,1
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/gsocks4aproxy.c:113,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocks4aproxy.c:118,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocks4aproxy.c:128,1
    - Dst: strlen
      Src: /src/glib/gio/gsocks4aproxy.c:149,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 5
    argNames:
    - msg
    - hostname
    - port
    - username
    - error
    argTypes:
    - guint8*
    - gchar*
    - guint16
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 165
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 165
    functionName: set_connect_msg
    functionSourceFile: /src/glib/gio/gsocks4aproxy.c
    functionUses: []
    functionsReached:
    - g_set_error
    - memcpy
    - g_inet_address_get_native_size
    - g_object_unref
    - strlen
    - g_inet_address_to_bytes
    - g_set_error_literal
    - g_hostname_is_ip_address
    - _
    - g_htons
    - g_inet_address_new_from_string
    linkageType: ''
    returnType: gint
    signature: "static gint set_connect_msg (guint8 *msg,\t\t const gchar *hostname,\t\
      \t guint16 port,\t\t const char *username,\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - GSocks4aProxy*
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: g_socks4a_proxy_init
    functionSourceFile: /src/glib/gio/gsocks4aproxy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_socks4a_proxy_init (GSocks4aProxy *proxy) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocks4aproxy.c:179,1
    - Dst: _
      Src: /src/glib/gio/gsocks4aproxy.c:187,1
    - Dst: _
      Src: /src/glib/gio/gsocks4aproxy.c:180,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocks4aproxy.c:186,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - data
    - error
    argTypes:
    - guint8*
    - GError**
    constantsTouched: []
    func_position:
      end: 192
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 192
    functionName: parse_connect_reply
    functionSourceFile: /src/glib/gio/gsocks4aproxy.c
    functionUses: []
    functionsReached:
    - _
    - g_set_error_literal
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean parse_connect_reply (const guint8 *data, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/gsocks4aproxy.c:277,1
    - Dst: g_input_stream_read_async
      Src: /src/glib/gio/gsocks4aproxy.c:278,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gsocks4aproxy.c:282,1
    - Dst: g_task_get_priority
      Src: /src/glib/gio/gsocks4aproxy.c:281,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - callback
    - task
    - data
    argTypes:
    - GAsyncReadyCallback
    - GTask*
    - ConnectAsyncData*
    constantsTouched: []
    func_position:
      end: 284
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 284
    functionName: do_read
    functionSourceFile: /src/glib/gio/gsocks4aproxy.c
    functionUses: []
    functionsReached:
    - g_task_get_cancellable
    - g_io_stream_get_input_stream
    - g_input_stream_read_async
    - g_task_get_priority
    linkageType: ''
    returnType: void
    signature: 'static void do_read (GAsyncReadyCallback callback, GTask *task, ConnectAsyncData
      *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/gio/gsocks4aproxy.c:316,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gsocks4aproxy.c:320,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocks4aproxy.c:317,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gsocks4aproxy.c:321,1
    - Dst: g_task_new
      Src: /src/glib/gio/gsocks4aproxy.c:319,1
    - Dst: g_proxy_address_get_destination_hostname
      Src: /src/glib/gio/gsocks4aproxy.c:323,1
    - Dst: g_proxy_address_get_destination_port
      Src: /src/glib/gio/gsocks4aproxy.c:324,1
    - Dst: g_proxy_address_get_username
      Src: /src/glib/gio/gsocks4aproxy.c:325,1
    - Dst: g_malloc0
      Src: /src/glib/gio/gsocks4aproxy.c:327,1
    - Dst: set_connect_msg
      Src: /src/glib/gio/gsocks4aproxy.c:328,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gsocks4aproxy.c:335,1
    - Dst: do_write
      Src: /src/glib/gio/gsocks4aproxy.c:340,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocks4aproxy.c:336,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 6
    argNames:
    - proxy
    - io_stream
    - proxy_address
    - cancellable
    - callback
    - user_data
    argTypes:
    - GProxy*
    - GIOStream*
    - GProxyAddress*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 342
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 342
    functionName: g_socks4a_proxy_connect_async
    functionSourceFile: /src/glib/gio/gsocks4aproxy.c
    functionUses: []
    functionsReached:
    - g_proxy_address_get_destination_port
    - g_proxy_address_get_username
    - do_write
    - g_task_new
    - g_object_unref
    - g_slice_new0
    - g_task_set_source_tag
    - g_malloc0
    - g_object_ref
    - g_task_set_task_data
    - g_proxy_address_get_destination_hostname
    - set_connect_msg
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: "static void g_socks4a_proxy_connect_async (GProxy *proxy,\t\t\t GIOStream\
      \ *io_stream,\t\t\t GProxyAddress *proxy_address,\t\t\t GCancellable *cancellable,\t\
      \t\t GAsyncReadyCallback callback,\t\t\t gpointer user_data) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gsocks4aproxy.c:388,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gsocks4aproxy.c:392,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocks4aproxy.c:398,1
    - Dst: g_input_stream_read_finish
      Src: /src/glib/gio/gsocks4aproxy.c:392,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gsocks4aproxy.c:397,1
    - Dst: parse_connect_reply
      Src: /src/glib/gio/gsocks4aproxy.c:406,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gsocks4aproxy.c:408,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocks4aproxy.c:409,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gsocks4aproxy.c:414,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocks4aproxy.c:414,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocks4aproxy.c:415,1
    - Dst: do_read
      Src: /src/glib/gio/gsocks4aproxy.c:421,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 423
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 423
    functionName: connect_reply_read_cb
    functionSourceFile: /src/glib/gio/gsocks4aproxy.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_task_return_pointer
    - g_input_stream_read_finish
    - do_read
    - G_INPUT_STREAM
    - g_task_get_task_data
    - g_object_ref
    - g_task_return_error
    - parse_connect_reply
    linkageType: ''
    returnType: void
    signature: "static void connect_reply_read_cb (GObject *source,\t\t GAsyncResult\
      \ *result,\t\t gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gsocks4aproxy.c:434,1
    - Dst: G_TASK
      Src: /src/glib/gio/gsocks4aproxy.c:434,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 435
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 435
    functionName: g_socks4a_proxy_connect_finish
    functionSourceFile: /src/glib/gio/gsocks4aproxy.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_task_propagate_pointer
    linkageType: ''
    returnType: GIOStream*
    signature: "static GIOStream *g_socks4a_proxy_connect_finish (GProxy *proxy,\t\
      \t\t GAsyncResult *result,\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - class
    argTypes:
    - GSocks4aProxyClass*
    constantsTouched: []
    func_position:
      end: 450
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 450
    functionName: g_socks4a_proxy_class_init
    functionSourceFile: /src/glib/gio/gsocks4aproxy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_socks4a_proxy_class_init (GSocks4aProxyClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - proxy_iface
    argTypes:
    - GProxyInterface*
    constantsTouched: []
    func_position:
      end: 459
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 459
    functionName: g_socks4a_proxy_iface_init
    functionSourceFile: /src/glib/gio/gsocks4aproxy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_socks4a_proxy_iface_init (GProxyInterface *proxy_iface) '
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:580,1
    - Dst: _g_dbus_auth_mechanism_client_get_state
      Src: /src/glib/gio/gdbusauth.c:681,1
    - Dst: g_data_output_stream_put_string
      Src: /src/glib/gio/gdbusauth.c:831,1
    - Dst: g_data_input_stream_new
      Src: /src/glib/gio/gdbusauth.c:591,1
    - Dst: g_data_output_stream_new
      Src: /src/glib/gio/gdbusauth.c:592,1
    - Dst: g_data_input_stream_set_newline_type
      Src: /src/glib/gio/gdbusauth.c:596,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:659,1
    - Dst: g_strstrip
      Src: /src/glib/gio/gdbusauth.c:798,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusauth.c:888,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gdbusauth.c:760,1
    - Dst: G_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/gdbusauth.c:594,1
    - Dst: g_filter_input_stream_set_close_base_stream
      Src: /src/glib/gio/gdbusauth.c:593,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusauth.c:819,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusauth.c:849,1
    - Dst: g_data_output_stream_put_string
      Src: /src/glib/gio/gdbusauth.c:720,1
    - Dst: g_ascii_isspace
      Src: /src/glib/gio/gdbusauth.c:760,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:800,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/gdbusauth.c:869,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:645,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:670,1
    - Dst: _my_g_data_input_stream_read_line
      Src: /src/glib/gio/gdbusauth.c:689,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:692,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:711,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:751,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:797,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gdbusauth.c:840,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:763,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:744,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusauth.c:774,1
    - Dst: G_FILTER_INPUT_STREAM
      Src: /src/glib/gio/gdbusauth.c:593,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:765,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusauth.c:733,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusauth.c:697,1
    - Dst: g_data_output_stream_put_byte
      Src: /src/glib/gio/gdbusauth.c:609,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:623,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:688,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/gdbusauth.c:803,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:808,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusauth.c:871,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauth.c:578,1
    - Dst: g_data_output_stream_put_byte
      Src: /src/glib/gio/gdbusauth.c:613,1
    - Dst: g_data_output_stream_put_string
      Src: /src/glib/gio/gdbusauth.c:766,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:789,1
    - Dst: g_data_output_stream_put_string
      Src: /src/glib/gio/gdbusauth.c:755,1
    - Dst: _my_g_data_input_stream_read_line
      Src: /src/glib/gio/gdbusauth.c:786,1
    - Dst: _g_dbus_auth_mechanism_client_data_send
      Src: /src/glib/gio/gdbusauth.c:815,1
    - Dst: _g_dbus_hexencode
      Src: /src/glib/gio/gdbusauth.c:823,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:836,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdbusauth.c:870,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gdbusauth.c:726,1
    - Dst: g_unix_connection_send_credentials
      Src: /src/glib/gio/gdbusauth.c:602,1
    - Dst: _my_g_data_input_stream_read_line
      Src: /src/glib/gio/gdbusauth.c:646,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:649,1
    - Dst: g_dbus_is_guid
      Src: /src/glib/gio/gdbusauth.c:695,1
    - Dst: client_choose_mech_and_send_initial_response
      Src: /src/glib/gio/gdbusauth.c:671,1
    - Dst: _g_dbus_auth_mechanism_client_get_state
      Src: /src/glib/gio/gdbusauth.c:810,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:826,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:854,1
    - Dst: _my_g_data_input_stream_read_line
      Src: /src/glib/gio/gdbusauth.c:745,1
    - Dst: G_IS_UNIX_CONNECTION
      Src: /src/glib/gio/gdbusauth.c:599,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusauth.c:654,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:748,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gdbusauth.c:790,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:829,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gdbusauth.c:860,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:877,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusauth.c:868,1
    - Dst: g_data_output_stream_put_string
      Src: /src/glib/gio/gdbusauth.c:712,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:754,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:785,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusauth.c:796,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauth.c:577,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/gdbusauth.c:591,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/gdbusauth.c:592,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusauth.c:619,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:890,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gdbusauth.c:586,1
    - Dst: G_UNIX_CONNECTION
      Src: /src/glib/gio/gdbusauth.c:602,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gdbusauth.c:652,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:779,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusauth.c:825,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusauth.c:872,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:706,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusauth.c:749,1
    - Dst: _g_dbus_auth_add_mechs
      Src: /src/glib/gio/gdbusauth.c:582,1
    - Dst: _g_dbus_debug_authentication
      Src: /src/glib/gio/gdbusauth.c:619,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:622,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusauth.c:705,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gdbusauth.c:790,1
    - Dst: _g_dbus_auth_mechanism_client_data_receive
      Src: /src/glib/gio/gdbusauth.c:807,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:830,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:719,1
    - Dst: g_credentials_new
      Src: /src/glib/gio/gdbusauth.c:601,1
    - Dst: g_filter_output_stream_set_close_base_stream
      Src: /src/glib/gio/gdbusauth.c:594,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:628,1
    - Dst: g_data_output_stream_put_string
      Src: /src/glib/gio/gdbusauth.c:636,1
    - Dst: g_strsplit
      Src: /src/glib/gio/gdbusauth.c:664,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:738,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbusauth.c:667,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:702,1
    - Dst: hexdecode
      Src: /src/glib/gio/gdbusauth.c:799,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gdbusauth.c:693,1
    - Dst: G_DATA_INPUT_STREAM
      Src: /src/glib/gio/gdbusauth.c:591,1
    - Dst: G_DATA_OUTPUT_STREAM
      Src: /src/glib/gio/gdbusauth.c:592,1
    - Dst: g_credentials_to_string
      Src: /src/glib/gio/gdbusauth.c:621,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:635,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:833,1
    CyclomaticComplexity: 96
    EdgeCount: 96
    ICount: 219
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 893
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 893
    functionName: _g_dbus_auth_run_client
    functionSourceFile: /src/glib/gio/gdbusauth.c
    functionUses: []
    functionsReached:
    - g_printerr
    - g_strdup_printf
    - g_prefix_error
    - g_data_input_stream_set_newline_type
    - G_DATA_INPUT_STREAM
    - G_UNLIKELY
    - g_strsplit
    - g_unix_connection_send_credentials
    - _g_dbus_auth_mechanism_client_data_send
    - g_ptr_array_new
    - g_filter_output_stream_set_close_base_stream
    - g_object_unref
    - G_IS_UNIX_CONNECTION
    - _g_dbus_hexencode
    - G_FILTER_OUTPUT_STREAM
    - _my_g_data_input_stream_read_line
    - g_data_input_stream_new
    - g_strfreev
    - g_io_stream_get_output_stream
    - G_DATA_OUTPUT_STREAM
    - _g_dbus_auth_add_mechs
    - g_credentials_new
    - g_filter_input_stream_set_close_base_stream
    - g_set_error
    - g_dbus_is_guid
    - g_ascii_isspace
    - g_strdup
    - _g_dbus_auth_mechanism_client_data_receive
    - g_ptr_array_unref
    - g_data_output_stream_put_byte
    - _g_dbus_debug_authentication
    - hexdecode
    - g_assert_not_reached
    - g_io_stream_get_input_stream
    - G_UNIX_CONNECTION
    - g_data_output_stream_new
    - _g_dbus_auth_mechanism_client_get_state
    - g_strcmp0
    - g_strstrip
    - g_str_equal
    - g_return_val_if_fail
    - g_data_output_stream_put_string
    - g_credentials_to_string
    - client_choose_mech_and_send_initial_response
    - debug_print
    - G_FILTER_INPUT_STREAM
    - g_str_has_prefix
    - g_free
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *_g_dbus_auth_run_client (GDBusAuth *auth, GDBusAuthObserver
      *observer, GDBusConnectionFlags conn_flags, GDBusCapabilityFlags offered_capabilities,
      GDBusCapabilityFlags *out_negotiated_capabilities, GCancellable *cancellable,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusauth.c:167,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusauth.c:172,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gdbusauth.c:174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GDBusAuthClass*
    constantsTouched: []
    func_position:
      end: 182
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 182
    functionName: _g_dbus_auth_class_init
    functionSourceFile: /src/glib/gio/gdbusauth.c
    functionUses: []
    functionsReached:
    - g_param_spec_object
    - g_object_class_install_property
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void _g_dbus_auth_class_init (GDBusAuthClass *klass) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusauth.c:251,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - auth
    - name
    argTypes:
    - GDBusAuth*
    - gchar*
    constantsTouched: []
    func_position:
      end: 260
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 260
    functionName: find_mech_by_name
    functionSourceFile: /src/glib/gio/gdbusauth.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    linkageType: ''
    returnType: GType
    signature: 'static GType find_mech_by_name (GDBusAuth *auth, const gchar *name) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/gio/gdbusauth.c:316,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusauth.c:332,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/gdbusauth.c:321,1
    - Dst: _
      Src: /src/glib/gio/gdbusauth.c:335,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdbusauth.c:340,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusauth.c:345,1
    - Dst: g_string_set_size
      Src: /src/glib/gio/gdbusauth.c:346,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbusauth.c:356,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusauth.c:359,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbusauth.c:360,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 362
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 362
    functionName: _my_g_input_stream_read_line_safe
    functionSourceFile: /src/glib/gio/gdbusauth.c
    functionUses: []
    functionsReached:
    - g_string_append_c
    - g_assert
    - g_set_error_literal
    - g_input_stream_read
    - g_string_free
    - g_string_new
    - _
    - g_string_set_size
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *_my_g_input_stream_read_line_safe (GInputStream *i,
      gsize *out_line_length, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - Mechanism*
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: mechanism_free
    functionSourceFile: /src/glib/gio/gdbusauth.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void mechanism_free (Mechanism *m) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gdbusauth.c:265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 268
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 268
    functionName: _g_dbus_auth_new
    functionSourceFile: /src/glib/gio/gdbusauth.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: GDBusAuth*
    signature: 'GDBusAuth *_g_dbus_auth_new (GIOStream *stream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauth.c:280,1
    - Dst: _
      Src: /src/glib/gio/gdbusauth.c:291,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusauth.c:288,1
    - Dst: g_data_input_stream_read_line
      Src: /src/glib/gio/gdbusauth.c:282,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 295
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 295
    functionName: _my_g_data_input_stream_read_line
    functionSourceFile: /src/glib/gio/gdbusauth.c
    functionUses: []
    functionsReached:
    - _
    - g_set_error_literal
    - g_return_val_if_fail
    - g_data_input_stream_read_line
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *_my_g_data_input_stream_read_line (GDataInputStream
      *dis, gsize *out_line_length, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_dbus_auth_get_instance_private
      Src: /src/glib/gio/gdbusauth.c:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - auth
    argTypes:
    - GDBusAuth*
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: _g_dbus_auth_init
    functionSourceFile: /src/glib/gio/gdbusauth.c
    functionUses: []
    functionsReached:
    - _g_dbus_auth_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void _g_dbus_auth_init (GDBusAuth *auth) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/gio/gdbusauth.c:908,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusauth.c:919,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusauth.c:918,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusauth.c:914,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusauth.c:923,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbusauth.c:924,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 925
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 925
    functionName: get_auth_mechanisms
    functionSourceFile: /src/glib/gio/gdbusauth.c
    functionUses: []
    functionsReached:
    - g_string_free
    - g_string_append
    - g_strcmp0
    - g_string_new
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *get_auth_mechanisms (GDBusAuth *auth, gboolean allow_anonymous,
      const gchar *prefix, const gchar *suffix, const gchar *separator) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusauth.c:51,1
    - Dst: _g_dbus_debug_authentication
      Src: /src/glib/gio/gdbusauth.c:51,1
    - Dst: va_start
      Src: /src/glib/gio/gdbusauth.c:60,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/gio/gdbusauth.c:61,1
    - Dst: _g_dbus_debug_print_lock
      Src: /src/glib/gio/gdbusauth.c:58,1
    - Dst: va_end
      Src: /src/glib/gio/gdbusauth.c:62,1
    - Dst: g_string_new
      Src: /src/glib/gio/gdbusauth.c:64,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusauth.c:67,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusauth.c:68,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusauth.c:69,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusauth.c:74,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdbusauth.c:72,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:76,1
    - Dst: _g_dbus_debug_print_unlock
      Src: /src/glib/gio/gdbusauth.c:78,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusauth.c:70,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbusauth.c:75,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - message
    - '...'
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 80
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 80
    functionName: debug_print
    functionSourceFile: /src/glib/gio/gdbusauth.c
    functionUses: []
    functionsReached:
    - g_strdup_vprintf
    - _g_dbus_debug_authentication
    - g_string_append_c
    - _g_dbus_debug_print_unlock
    - _g_dbus_debug_print_lock
    - g_free
    - g_string_free
    - G_UNLIKELY
    - va_end
    - g_string_new
    - g_print
    - g_string_append
    - va_start
    linkageType: ''
    returnType: void
    signature: 'static void debug_print (const gchar *message, ...) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_AUTH
      Src: /src/glib/gio/gdbusauth.c:112,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gdbusauth.c:116,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusauth.c:118,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusauth.c:115,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusauth.c:119,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 120
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 120
    functionName: _g_dbus_auth_finalize
    functionSourceFile: /src/glib/gio/gdbusauth.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    - G_DBUS_AUTH
    - g_object_unref
    - g_list_free_full
    linkageType: ''
    returnType: void
    signature: 'static void _g_dbus_auth_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_mechanism
      Src: /src/glib/gio/gdbusauth.c:231,1
    - Dst: g_list_sort
      Src: /src/glib/gio/gdbusauth.c:235,1
    - Dst: add_mechanism
      Src: /src/glib/gio/gdbusauth.c:232,1
    - Dst: add_mechanism
      Src: /src/glib/gio/gdbusauth.c:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - auth
    - observer
    argTypes:
    - GDBusAuth*
    - GDBusAuthObserver*
    constantsTouched: []
    func_position:
      end: 237
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 237
    functionName: _g_dbus_auth_add_mechs
    functionSourceFile: /src/glib/gio/gdbusauth.c
    functionUses: []
    functionsReached:
    - add_mechanism
    - g_list_sort
    linkageType: ''
    returnType: void
    signature: 'static void _g_dbus_auth_add_mechs (GDBusAuth *auth, GDBusAuthObserver
      *observer) '
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: g_input_stream_read
      Src: /src/glib/gio/gdbusauth.c:1033,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusauth.c:1039,1
    - Dst: _
      Src: /src/glib/gio/gdbusauth.c:1204,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusauth.c:1051,1
    - Dst: g_data_output_stream_put_string
      Src: /src/glib/gio/gdbusauth.c:1139,1
    - Dst: _g_dbus_auth_mechanism_server_data_send
      Src: /src/glib/gio/gdbusauth.c:1242,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusauth.c:1306,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusauth.c:1324,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:1371,1
    - Dst: find_mech_by_name
      Src: /src/glib/gio/gdbusauth.c:1131,1
    - Dst: g_dbus_auth_observer_authorize_authenticated_peer
      Src: /src/glib/gio/gdbusauth.c:1196,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gdbusauth.c:1020,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:1071,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:1177,1
    - Dst: g_data_output_stream_put_string
      Src: /src/glib/gio/gdbusauth.c:1211,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:1307,1
    - Dst: hexdecode
      Src: /src/glib/gio/gdbusauth.c:1164,1
    - Dst: G_DATA_OUTPUT_STREAM
      Src: /src/glib/gio/gdbusauth.c:988,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gdbusauth.c:1092,1
    - Dst: g_data_output_stream_put_string
      Src: /src/glib/gio/gdbusauth.c:1224,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:1351,1
    - Dst: g_strv_length
      Src: /src/glib/gio/gdbusauth.c:1101,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:1089,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdbusauth.c:1169,1
    - Dst: g_dbus_is_guid
      Src: /src/glib/gio/gdbusauth.c:969,1
    - Dst: G_UNIX_CONNECTION
      Src: /src/glib/gio/gdbusauth.c:1017,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gdbusauth.c:1025,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:1292,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusauth.c:1394,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusauth.c:1411,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:1341,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/gdbusauth.c:1167,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:959,1
    - Dst: g_data_output_stream_new
      Src: /src/glib/gio/gdbusauth.c:988,1
    - Dst: G_IS_UNIX_CONNECTION
      Src: /src/glib/gio/gdbusauth.c:1014,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusauth.c:1201,1
    - Dst: g_credentials_to_string
      Src: /src/glib/gio/gdbusauth.c:1053,1
    - Dst: _g_dbus_hexencode
      Src: /src/glib/gio/gdbusauth.c:1252,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusauth.c:1254,1
    - Dst: g_debug
      Src: /src/glib/gio/gdbusauth.c:1370,1
    - Dst: G_SOCKET_CONNECTION
      Src: /src/glib/gio/gdbusauth.c:995,1
    - Dst: _my_g_input_stream_read_line_safe
      Src: /src/glib/gio/gdbusauth.c:1072,1
    - Dst: _g_dbus_auth_mechanism_server_get_state
      Src: /src/glib/gio/gdbusauth.c:1181,1
    - Dst: get_auth_mechanisms
      Src: /src/glib/gio/gdbusauth.c:1222,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:1286,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:1297,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:1356,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gdbusauth.c:1380,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusauth.c:1392,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusauth.c:1342,1
    - Dst: g_unix_connection_receive_credentials
      Src: /src/glib/gio/gdbusauth.c:1017,1
    - Dst: g_credentials_new
      Src: /src/glib/gio/gdbusauth.c:1063,1
    - Dst: g_data_output_stream_put_string
      Src: /src/glib/gio/gdbusauth.c:1364,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:1263,1
    - Dst: g_strstrip
      Src: /src/glib/gio/gdbusauth.c:1308,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusauth.c:1116,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gdbusauth.c:1002,1
    - Dst: g_data_output_stream_put_string
      Src: /src/glib/gio/gdbusauth.c:1261,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gdbusauth.c:1274,1
    - Dst: _my_g_input_stream_read_line_safe
      Src: /src/glib/gio/gdbusauth.c:1293,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gdbusauth.c:1300,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:1334,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:1363,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusauth.c:1386,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusauth.c:1407,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:1413,1
    - Dst: g_filter_output_stream_set_close_base_stream
      Src: /src/glib/gio/gdbusauth.c:989,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gdbusauth.c:1044,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusauth.c:1133,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:1144,1
    - Dst: g_object_new
      Src: /src/glib/gio/gdbusauth.c:1155,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusauth.c:1079,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:1122,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusauth.c:1154,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdbusauth.c:1136,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:1213,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:1223,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:1138,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusauth.c:971,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/gdbusauth.c:1072,1
    - Dst: get_auth_mechanisms
      Src: /src/glib/gio/gdbusauth.c:1081,1
    - Dst: _
      Src: /src/glib/gio/gdbusauth.c:1192,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:1216,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:1226,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:1258,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:1346,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusauth.c:1349,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gdbusauth.c:1000,1
    - Dst: _g_dbus_debug_authentication
      Src: /src/glib/gio/gdbusauth.c:1051,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:1054,1
    - Dst: get_auth_mechanisms
      Src: /src/glib/gio/gdbusauth.c:1137,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:1229,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gdbusauth.c:1300,1
    - Dst: _g_dbus_auth_mechanism_server_data_receive
      Src: /src/glib/gio/gdbusauth.c:1317,1
    - Dst: g_data_output_stream_put_string
      Src: /src/glib/gio/gdbusauth.c:1357,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:1373,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:1310,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusauth.c:1393,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusauth.c:1281,1
    - Dst: g_strsplit
      Src: /src/glib/gio/gdbusauth.c:1099,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/gdbusauth.c:1033,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:1060,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:1076,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:1085,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:1255,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:1260,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/gdbusauth.c:1293,1
    - Dst: hexdecode
      Src: /src/glib/gio/gdbusauth.c:1309,1
    - Dst: _my_g_input_stream_read_line_safe
      Src: /src/glib/gio/gdbusauth.c:1335,1
    - Dst: _g_dbus_auth_add_mechs
      Src: /src/glib/gio/gdbusauth.c:961,1
    - Dst: G_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/gdbusauth.c:989,1
    - Dst: _
      Src: /src/glib/gio/gdbusauth.c:1042,1
    - Dst: g_data_output_stream_put_string
      Src: /src/glib/gio/gdbusauth.c:1083,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:1055,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:1210,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/gdbusauth.c:1313,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:1318,1
    - Dst: G_IS_SOCKET_CONNECTION
      Src: /src/glib/gio/gdbusauth.c:993,1
    - Dst: g_socket_get_credentials
      Src: /src/glib/gio/gdbusauth.c:998,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:1086,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusauth.c:1189,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusauth.c:1209,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:1126,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:1090,1
    - Dst: g_credentials_is_same_user
      Src: /src/glib/gio/gdbusauth.c:1186,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/gdbusauth.c:988,1
    - Dst: g_socket_connection_get_socket
      Src: /src/glib/gio/gdbusauth.c:995,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gdbusauth.c:1009,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gdbusauth.c:1022,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdbusauth.c:1178,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdbusauth.c:1121,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusauth.c:1248,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:1141,1
    - Dst: _g_dbus_auth_mechanism_server_initiate
      Src: /src/glib/gio/gdbusauth.c:1174,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:1082,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:1266,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:1329,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/gdbusauth.c:1335,1
    - Dst: g_data_output_stream_put_string
      Src: /src/glib/gio/gdbusauth.c:1374,1
    CyclomaticComplexity: 118
    EdgeCount: 118
    ICount: 288
    argCount: 10
    argNames:
    - auth
    - observer
    - guid
    - allow_anonymous
    - require_same_user
    - offered_capabilities
    - out_negotiated_capabilities
    - out_received_credentials
    - cancellable
    - error
    argTypes:
    - GDBusAuth*
    - GDBusAuthObserver*
    - gchar*
    - gboolean
    - gboolean
    - GDBusCapabilityFlags
    - GDBusCapabilityFlags*
    - GCredentials**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1416
      start: 935
    functionDepth: 0
    functionLinenumber: 935
    functionLinenumberEnd: 1416
    functionName: _g_dbus_auth_run_server
    functionSourceFile: /src/glib/gio/gdbusauth.c
    functionUses: []
    functionsReached:
    - G_SOCKET_CONNECTION
    - g_strdup_printf
    - g_prefix_error
    - g_credentials_is_same_user
    - g_set_error_literal
    - G_UNLIKELY
    - g_strsplit
    - g_unix_connection_receive_credentials
    - g_filter_output_stream_set_close_base_stream
    - g_object_unref
    - G_IS_UNIX_CONNECTION
    - g_strfreev
    - G_FILTER_OUTPUT_STREAM
    - g_input_stream_read
    - g_clear_object
    - _g_dbus_hexencode
    - _g_dbus_auth_mechanism_server_data_receive
    - g_io_stream_get_output_stream
    - G_DATA_OUTPUT_STREAM
    - _g_dbus_auth_add_mechs
    - g_dbus_is_guid
    - g_credentials_new
    - g_set_error
    - g_socket_get_credentials
    - _g_dbus_auth_mechanism_server_initiate
    - _g_dbus_auth_mechanism_server_get_state
    - g_strdup
    - g_strv_length
    - g_object_new
    - _g_dbus_debug_authentication
    - hexdecode
    - find_mech_by_name
    - _g_dbus_auth_mechanism_server_data_send
    - g_assert_not_reached
    - G_IS_SOCKET_CONNECTION
    - G_UNIX_CONNECTION
    - g_io_stream_get_input_stream
    - g_data_output_stream_new
    - g_strcmp0
    - get_auth_mechanisms
    - _
    - g_strstrip
    - g_str_equal
    - g_propagate_error
    - g_clear_error
    - g_dbus_auth_observer_authorize_authenticated_peer
    - _my_g_input_stream_read_line_safe
    - g_data_output_stream_put_string
    - g_credentials_to_string
    - debug_print
    - g_debug
    - g_socket_connection_get_socket
    - g_error_matches
    - g_str_has_prefix
    - g_object_ref
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _g_dbus_auth_run_server (GDBusAuth *auth, GDBusAuthObserver
      *observer, const gchar *guid, gboolean allow_anonymous, gboolean require_same_user,
      GDBusCapabilityFlags offered_capabilities, GDBusCapabilityFlags *out_negotiated_capabilities,
      GCredentials **out_received_credentials, GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_AUTH
      Src: /src/glib/gio/gdbusauth.c:128,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gdbusauth.c:133,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gdbusauth.c:137,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 140
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 140
    functionName: _g_dbus_auth_get_property
    functionSourceFile: /src/glib/gio/gdbusauth.c
    functionUses: []
    functionsReached:
    - g_value_set_object
    - G_DBUS_AUTH
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: 'static void _g_dbus_auth_get_property (GObject *object, guint prop_id,
      GValue *value, GParamSpec *pspec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _g_dbus_auth_mechanism_get_name
      Src: /src/glib/gio/gdbusauth.c:197,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusauth.c:201,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gdbusauth.c:205,1
    - Dst: _g_dbus_auth_mechanism_get_priority
      Src: /src/glib/gio/gdbusauth.c:203,1
    - Dst: g_dbus_auth_observer_allow_mechanism
      Src: /src/glib/gio/gdbusauth.c:198,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - auth
    - observer
    - mechanism_type
    argTypes:
    - GDBusAuth*
    - GDBusAuthObserver*
    - GType
    constantsTouched: []
    func_position:
      end: 207
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 207
    functionName: add_mechanism
    functionSourceFile: /src/glib/gio/gdbusauth.c
    functionUses: []
    functionsReached:
    - g_dbus_auth_observer_allow_mechanism
    - _g_dbus_auth_mechanism_get_priority
    - g_list_prepend
    - _g_dbus_auth_mechanism_get_name
    - g_new0
    linkageType: ''
    returnType: void
    signature: 'static void add_mechanism (GDBusAuth *auth, GDBusAuthObserver *observer,
      GType mechanism_type) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusauth.c:446,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:492,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbusauth.c:511,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusauth.c:528,1
    - Dst: _g_dbus_auth_mechanism_get_name
      Src: /src/glib/gio/gdbusauth.c:528,1
    - Dst: _g_dbus_hexencode
      Src: /src/glib/gio/gdbusauth.c:519,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:436,1
    - Dst: find_mech_by_name
      Src: /src/glib/gio/gdbusauth.c:454,1
    - Dst: _
      Src: /src/glib/gio/gdbusauth.c:479,1
    - Dst: g_object_new
      Src: /src/glib/gio/gdbusauth.c:488,1
    - Dst: _g_dbus_auth_mechanism_get_name
      Src: /src/glib/gio/gdbusauth.c:493,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusauth.c:493,1
    - Dst: _g_dbus_auth_mechanism_get_name
      Src: /src/glib/gio/gdbusauth.c:500,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusauth.c:501,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gio/gdbusauth.c:513,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusauth.c:520,1
    - Dst: g_data_output_stream_put_string
      Src: /src/glib/gio/gdbusauth.c:531,1
    - Dst: g_string_new
      Src: /src/glib/gio/gdbusauth.c:469,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusauth.c:476,1
    - Dst: _g_dbus_auth_mechanism_is_supported
      Src: /src/glib/gio/gdbusauth.c:498,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:500,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:523,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:530,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusauth.c:533,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:535,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:538,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:524,1
    - Dst: debug_print
      Src: /src/glib/gio/gdbusauth.c:465,1
    - Dst: g_strjoinv
      Src: /src/glib/gio/gdbusauth.c:467,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusauth.c:473,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusauth.c:474,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauth.c:483,1
    - Dst: _g_dbus_auth_mechanism_get_name
      Src: /src/glib/gio/gdbusauth.c:492,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbusauth.c:482,1
    - Dst: _g_dbus_auth_mechanism_client_initiate
      Src: /src/glib/gio/gdbusauth.c:507,1
    - Dst: _g_dbus_auth_mechanism_get_name
      Src: /src/glib/gio/gdbusauth.c:512,1
    - Dst: g_type_name
      Src: /src/glib/gio/gdbusauth.c:513,1
    - Dst: _g_dbus_auth_mechanism_get_name
      Src: /src/glib/gio/gdbusauth.c:521,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 78
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 542
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 542
    functionName: client_choose_mech_and_send_initial_response
    functionSourceFile: /src/glib/gio/gdbusauth.c
    functionUses: []
    functionsReached:
    - g_printerr
    - g_strdup_printf
    - _g_dbus_auth_mechanism_is_supported
    - _g_dbus_auth_mechanism_get_name
    - g_object_unref
    - _g_dbus_hexencode
    - _g_dbus_auth_mechanism_client_initiate
    - g_ptr_array_add
    - g_set_error
    - g_object_new
    - find_mech_by_name
    - g_strcmp0
    - g_string_new
    - _
    - g_string_append
    - g_data_output_stream_put_string
    - G_TYPE_FROM_INSTANCE
    - debug_print
    - g_string_free
    - g_strjoinv
    - g_free
    - g_type_name
    linkageType: ''
    returnType: GDBusAuthMechanism*
    signature: 'static GDBusAuthMechanism *client_choose_mech_and_send_initial_response
      (GDBusAuth *auth, GCredentials *credentials_that_were_sent, GDBusConnectionFlags
      conn_flags, const gchar* const *supported_auth_mechs, GPtrArray *attempted_auth_mechs,
      GDataOutputStream *dos, GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_AUTH
      Src: /src/glib/gio/gdbusauth.c:148,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/gdbusauth.c:153,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gdbusauth.c:157,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 160
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 160
    functionName: _g_dbus_auth_set_property
    functionSourceFile: /src/glib/gio/gdbusauth.c
    functionUses: []
    functionsReached:
    - G_DBUS_AUTH
    - g_value_dup_object
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: 'static void _g_dbus_auth_set_property (GObject *object, guint prop_id,
      const GValue *value, GParamSpec *pspec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusauth.c:216,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Mechanism*
    - Mechanism*
    constantsTouched: []
    func_position:
      end: 218
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 218
    functionName: mech_compare_func
    functionSourceFile: /src/glib/gio/gdbusauth.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    linkageType: ''
    returnType: gint
    signature: 'static gint mech_compare_func (Mechanism *a, Mechanism *b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/gio/gdbusauth.c:376,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdbusauth.c:396,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusauth.c:388,1
    - Dst: g_ascii_xdigit_value
      Src: /src/glib/gio/gdbusauth.c:385,1
    - Dst: g_ascii_xdigit_value
      Src: /src/glib/gio/gdbusauth.c:384,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbusauth.c:400,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbusauth.c:407,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 410
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 410
    functionName: hexdecode
    functionSourceFile: /src/glib/gio/gdbusauth.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_ascii_xdigit_value
    - g_string_append_c
    - g_string_free
    - g_string_new
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *hexdecode (const gchar *str, gsize *out_len, GError
      **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 573
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 573
    functionName: connection_factory_equal
    functionSourceFile: /src/glib/gio/gsocketconnection.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean connection_factory_equal (gconstpointer _a,\t\t\t\
      \ gconstpointer _b) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_connection_factory_lookup_type
      Src: /src/glib/gio/gsocketconnection.c:690,1
    - Dst: g_socket_get_family
      Src: /src/glib/gio/gsocketconnection.c:690,1
    - Dst: g_object_new
      Src: /src/glib/gio/gsocketconnection.c:693,1
    - Dst: g_socket_get_socket_type
      Src: /src/glib/gio/gsocketconnection.c:691,1
    - Dst: g_socket_get_protocol
      Src: /src/glib/gio/gsocketconnection.c:692,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 694
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 694
    functionName: g_socket_connection_factory_create_connection
    functionSourceFile: /src/glib/gio/gsocketconnection.c
    functionUses: []
    functionsReached:
    - g_socket_get_protocol
    - g_object_new
    - g_socket_get_family
    - g_socket_connection_factory_lookup_type
    - g_socket_get_socket_type
    linkageType: ''
    returnType: GSocketConnection*
    signature: 'GSocketConnection *g_socket_connection_factory_create_connection (GSocket
      *socket) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - key
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 554
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 554
    functionName: connection_factory_hash
    functionSourceFile: /src/glib/gio/gsocketconnection.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint
    signature: 'static guint connection_factory_hash (gconstpointer key) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_CONNECTION
      Src: /src/glib/gio/gsocketconnection.c:359,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gsocketconnection.c:364,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gsocketconnection.c:368,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 370
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 370
    functionName: g_socket_connection_get_property
    functionSourceFile: /src/glib/gio/gsocketconnection.c
    functionUses: []
    functionsReached:
    - G_SOCKET_CONNECTION
    - g_value_set_object
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_connection_get_property (GObject *object, guint
      prop_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_CONNECTION
      Src: /src/glib/gio/gsocketconnection.c:395,1
    - Dst: g_assert
      Src: /src/glib/gio/gsocketconnection.c:398,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 399
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 399
    functionName: g_socket_connection_constructed
    functionSourceFile: /src/glib/gio/gsocketconnection.c
    functionUses: []
    functionsReached:
    - G_SOCKET_CONNECTION
    - g_assert
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_connection_constructed (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_IO_STREAM_GET_CLASS
      Src: /src/glib/gio/gsocketconnection.c:511,1
    - Dst: g_task_new
      Src: /src/glib/gio/gsocketconnection.c:513,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gsocketconnection.c:520,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gsocketconnection.c:514,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gsocketconnection.c:522,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketconnection.c:524,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 5
    argNames:
    - stream
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GIOStream*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 525
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 525
    functionName: g_socket_connection_close_async
    functionSourceFile: /src/glib/gio/gsocketconnection.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_task_new
    - G_IO_STREAM_GET_CLASS
    - g_object_unref
    - g_task_set_source_tag
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: "static void g_socket_connection_close_async (GIOStream *stream,\t\t\
      \t\t int io_priority,\t\t\t\t GCancellable *cancellable,\t\t\t\t GAsyncReadyCallback\
      \ callback,\t\t\t\t gpointer user_data) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_CONNECTION
      Src: /src/glib/gio/gsocketconnection.c:378,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/gsocketconnection.c:383,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gsocketconnection.c:387,1
    - Dst: G_SOCKET
      Src: /src/glib/gio/gsocketconnection.c:383,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 389
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 389
    functionName: g_socket_connection_set_property
    functionSourceFile: /src/glib/gio/gsocketconnection.c
    functionUses: []
    functionsReached:
    - G_SOCKET_CONNECTION
    - G_SOCKET
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_dup_object
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_connection_set_property (GObject *object, guint
      prop_id, const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_CONNECTION
      Src: /src/glib/gio/gsocketconnection.c:404,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gsocketconnection.c:408,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsocketconnection.c:410,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 414
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 414
    functionName: g_socket_connection_dispose
    functionSourceFile: /src/glib/gio/gsocketconnection.c
    functionUses: []
    functionsReached:
    - G_SOCKET_CONNECTION
    - g_clear_object
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_connection_dispose (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gsocketconnection.c:532,1
    - Dst: G_TASK
      Src: /src/glib/gio/gsocketconnection.c:532,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - stream
    - result
    - error
    argTypes:
    - GIOStream*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 533
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 533
    functionName: g_socket_connection_close_finish
    functionSourceFile: /src/glib/gio/gsocketconnection.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_task_propagate_boolean
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_socket_connection_close_finish (GIOStream *stream,\t\
      \t\t\t GAsyncResult *result,\t\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocketconnection.c:155,1
    - Dst: G_IS_SOCKET_CONNECTION
      Src: /src/glib/gio/gsocketconnection.c:155,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocketconnection.c:156,1
    - Dst: g_socket_connect
      Src: /src/glib/gio/gsocketconnection.c:158,1
    - Dst: G_IS_SOCKET_ADDRESS
      Src: /src/glib/gio/gsocketconnection.c:156,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - connection
    - address
    - cancellable
    - error
    argTypes:
    - GSocketConnection*
    - GSocketAddress*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 160
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 160
    functionName: g_socket_connection_connect
    functionSourceFile: /src/glib/gio/gsocketconnection.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET_ADDRESS
    - G_IS_SOCKET_CONNECTION
    - g_return_val_if_fail
    - g_socket_connect
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_socket_connection_connect (GSocketConnection *connection,\t\
      \t\t GSocketAddress *address,\t\t\t GCancellable *cancellable,\t\t\t GError\
      \ **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsocketconnection.c:600,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gsocketconnection.c:605,1
    - Dst: g_new0
      Src: /src/glib/gio/gsocketconnection.c:610,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gsocketconnection.c:602,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/gsocketconnection.c:600,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gsocketconnection.c:616,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gsocketconnection.c:619,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - g_type
    - family
    - type
    - protocol
    argTypes:
    - GType
    - GSocketFamily
    - GSocketType
    - gint
    constantsTouched: []
    func_position:
      end: 620
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 620
    functionName: g_socket_connection_factory_register_type
    functionSourceFile: /src/glib/gio/gsocketconnection.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - G_UNLOCK
    - g_hash_table_insert
    - g_hash_table_new_full
    - g_type_is_a
    - g_new0
    - G_LOCK
    linkageType: ''
    returnType: void
    signature: "void g_socket_connection_factory_register_type (GType g_type,\t\t\t\
      \t\t GSocketFamily family,\t\t\t\t\t GSocketType type,\t\t\t\t\t gint protocol) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: init_builtin_types
      Src: /src/glib/gio/gsocketconnection.c:652,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gsocketconnection.c:654,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gsocketconnection.c:669,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gsocketconnection.c:664,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - family
    - type
    - protocol_id
    argTypes:
    - GSocketFamily
    - GSocketType
    - gint
    constantsTouched: []
    func_position:
      end: 672
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 672
    functionName: g_socket_connection_factory_lookup_type
    functionSourceFile: /src/glib/gio/gsocketconnection.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - init_builtin_types
    - G_LOCK
    - g_hash_table_lookup
    linkageType: ''
    returnType: GType
    signature: "GType g_socket_connection_factory_lookup_type (GSocketFamily family,\t\
      \t\t\t\t GSocketType type,\t\t\t\t\t gint protocol_id) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_CONNECTION
      Src: /src/glib/gio/gsocketconnection.c:98,1
    - Dst: _g_socket_input_stream_new
      Src: /src/glib/gio/gsocketconnection.c:102,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 105
    functionName: g_socket_connection_get_input_stream
    functionSourceFile: /src/glib/gio/gsocketconnection.c
    functionUses: []
    functionsReached:
    - G_SOCKET_CONNECTION
    - _g_socket_input_stream_new
    linkageType: ''
    returnType: GInputStream*
    signature: 'static GInputStream *g_socket_connection_get_input_stream (GIOStream
      *io_stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_is_connected
      Src: /src/glib/gio/gsocketconnection.c:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - connection
    argTypes:
    - GSocketConnection*
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: g_socket_connection_is_connected
    functionSourceFile: /src/glib/gio/gsocketconnection.c
    functionUses: []
    functionsReached:
    - g_socket_is_connected
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_socket_connection_is_connected (GSocketConnection *connection) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_object
      Src: /src/glib/gio/gsocketconnection.c:349,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocketconnection.c:350,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - connection
    - address
    argTypes:
    - GSocketConnection*
    - GSocketAddress*
    constantsTouched: []
    func_position:
      end: 351
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 351
    functionName: g_socket_connection_set_cached_remote_address
    functionSourceFile: /src/glib/gio/gsocketconnection.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - g_object_ref
    linkageType: ''
    returnType: void
    signature: 'void g_socket_connection_set_cached_remote_address (GSocketConnection
      *connection, GSocketAddress *address) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_type_ensure
      Src: /src/glib/gio/gsocketconnection.c:625,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/gsocketconnection.c:626,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 627
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 627
    functionName: init_builtin_types
    functionSourceFile: /src/glib/gio/gsocketconnection.c
    functionUses: []
    functionsReached:
    - g_type_ensure
    linkageType: ''
    returnType: void
    signature: 'static void init_builtin_types (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_CONNECTION
      Src: /src/glib/gio/gsocketconnection.c:110,1
    - Dst: _g_socket_output_stream_new
      Src: /src/glib/gio/gsocketconnection.c:114,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 117
    functionName: g_socket_connection_get_output_stream
    functionSourceFile: /src/glib/gio/gsocketconnection.c
    functionUses: []
    functionsReached:
    - G_SOCKET_CONNECTION
    - _g_socket_output_stream_new
    linkageType: ''
    returnType: GOutputStream*
    signature: 'static GOutputStream *g_socket_connection_get_output_stream (GIOStream
      *io_stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocketconnection.c:264,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocketconnection.c:265,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gsocketconnection.c:267,1
    - Dst: G_IS_SOCKET_CONNECTION
      Src: /src/glib/gio/gsocketconnection.c:264,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gsocketconnection.c:265,1
    - Dst: G_TASK
      Src: /src/glib/gio/gsocketconnection.c:267,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - connection
    - result
    - error
    argTypes:
    - GSocketConnection*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 268
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 268
    functionName: g_socket_connection_connect_finish
    functionSourceFile: /src/glib/gio/gsocketconnection.c
    functionUses: []
    functionsReached:
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - G_IS_SOCKET_CONNECTION
    - g_task_is_valid
    - G_TASK
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_socket_connection_connect_finish (GSocketConnection *connection,\t\
      \t\t\t GAsyncResult *result,\t\t\t\t GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_is_connected
      Src: /src/glib/gio/gsocketconnection.c:332,1
    - Dst: g_socket_get_remote_address
      Src: /src/glib/gio/gsocketconnection.c:337,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocketconnection.c:335,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 338
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 338
    functionName: g_socket_connection_get_remote_address
    functionSourceFile: /src/glib/gio/gsocketconnection.c
    functionUses: []
    functionsReached:
    - g_socket_get_remote_address
    - g_socket_is_connected
    - g_object_ref
    linkageType: ''
    returnType: GSocketAddress*
    signature: "GSocketAddress *g_socket_connection_get_remote_address (GSocketConnection\
      \ *connection,\t\t\t\t\tGError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/gsocketconnection.c:235,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gsocketconnection.c:239,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketconnection.c:243,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gsocketconnection.c:241,1
    - Dst: g_socket_check_connect_result
      Src: /src/glib/gio/gsocketconnection.c:238,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - socket
    - condition
    - user_data
    argTypes:
    - GSocket*
    - GIOCondition
    - gpointer
    constantsTouched: []
    func_position:
      end: 245
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 245
    functionName: g_socket_connection_connect_callback
    functionSourceFile: /src/glib/gio/gsocketconnection.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_object_unref
    - g_socket_check_connect_result
    - g_task_get_source_object
    - g_task_return_error
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_socket_connection_connect_callback (GSocket *socket,\t\
      \t\t\t GIOCondition condition,\t\t\t\t gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_get_local_address
      Src: /src/glib/gio/gsocketconnection.c:306,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 307
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 307
    functionName: g_socket_connection_get_local_address
    functionSourceFile: /src/glib/gio/gsocketconnection.c
    functionUses: []
    functionsReached:
    - g_socket_get_local_address
    linkageType: ''
    returnType: GSocketAddress*
    signature: "GSocketAddress *g_socket_connection_get_local_address (GSocketConnection\
      \ *connection,\t\t\t\t GError **error) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_CONNECTION
      Src: /src/glib/gio/gsocketconnection.c:419,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketconnection.c:425,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketconnection.c:422,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketconnection.c:427,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsocketconnection.c:429,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 431
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 431
    functionName: g_socket_connection_finalize
    functionSourceFile: /src/glib/gio/gsocketconnection.c
    functionUses: []
    functionsReached:
    - G_SOCKET_CONNECTION
    - g_object_unref
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_connection_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_connection_get_instance_private
      Src: /src/glib/gio/gsocketconnection.c:470,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - connection
    argTypes:
    - GSocketConnection*
    constantsTouched: []
    func_position:
      end: 471
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 471
    functionName: g_socket_connection_init
    functionSourceFile: /src/glib/gio/gsocketconnection.c
    functionUses: []
    functionsReached:
    - g_socket_connection_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_connection_init (GSocketConnection *connection) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsocketconnection.c:436,1
    - Dst: G_IO_STREAM_CLASS
      Src: /src/glib/gio/gsocketconnection.c:437,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocketconnection.c:458,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gsocketconnection.c:460,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GSocketConnectionClass*
    constantsTouched: []
    func_position:
      end: 465
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 465
    functionName: g_socket_connection_class_init
    functionSourceFile: /src/glib/gio/gsocketconnection.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_object
    - G_IO_STREAM_CLASS
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_connection_class_init (GSocketConnectionClass
      *klass) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_CONNECTION
      Src: /src/glib/gio/gsocketconnection.c:478,1
    - Dst: g_socket_close
      Src: /src/glib/gio/gsocketconnection.c:496,1
    - Dst: g_input_stream_close
      Src: /src/glib/gio/gsocketconnection.c:484,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/gsocketconnection.c:481,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GIOStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 497
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 497
    functionName: g_socket_connection_close
    functionSourceFile: /src/glib/gio/gsocketconnection.c
    functionUses: []
    functionsReached:
    - G_SOCKET_CONNECTION
    - g_output_stream_close
    - g_socket_close
    - g_input_stream_close
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_socket_connection_close (GIOStream *stream,\t\t\t\
      \ GCancellable *cancellable,\t\t\t GError **error) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsocketconnection.c:197,1
    - Dst: G_IS_SOCKET_CONNECTION
      Src: /src/glib/gio/gsocketconnection.c:197,1
    - Dst: G_IS_SOCKET_ADDRESS
      Src: /src/glib/gio/gsocketconnection.c:198,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsocketconnection.c:198,1
    - Dst: g_task_new
      Src: /src/glib/gio/gsocketconnection.c:200,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gsocketconnection.c:201,1
    - Dst: g_socket_set_blocking
      Src: /src/glib/gio/gsocketconnection.c:203,1
    - Dst: g_socket_connect
      Src: /src/glib/gio/gsocketconnection.c:205,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gsocketconnection.c:208,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketconnection.c:209,1
    - Dst: g_task_attach_source
      Src: /src/glib/gio/gsocketconnection.c:218,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gsocketconnection.c:224,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gsocketconnection.c:211,1
    - Dst: g_error_free
      Src: /src/glib/gio/gsocketconnection.c:215,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gsocketconnection.c:220,1
    - Dst: g_socket_create_source
      Src: /src/glib/gio/gsocketconnection.c:216,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketconnection.c:225,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 5
    argNames:
    - connection
    - address
    - cancellable
    - callback
    - user_data
    argTypes:
    - GSocketConnection*
    - GSocketAddress*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 227
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 227
    functionName: g_socket_connection_connect_async
    functionSourceFile: /src/glib/gio/gsocketconnection.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_task_new
    - g_socket_set_blocking
    - g_object_unref
    - g_task_set_source_tag
    - g_return_if_fail
    - g_socket_connect
    - g_error_matches
    - G_IS_SOCKET_CONNECTION
    - g_error_free
    - g_socket_create_source
    - g_source_unref
    - G_IS_SOCKET_ADDRESS
    - g_task_attach_source
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: "void g_socket_connection_connect_async (GSocketConnection *connection,\t\
      \t\t\t GSocketAddress *address,\t\t\t\t GCancellable *cancellable,\t\t\t\t GAsyncReadyCallback\
      \ callback,\t\t\t\t gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocketconnection.c:285,1
    - Dst: G_IS_SOCKET_CONNECTION
      Src: /src/glib/gio/gsocketconnection.c:285,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 288
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 288
    functionName: g_socket_connection_get_socket
    functionSourceFile: /src/glib/gio/gsocketconnection.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET_CONNECTION
    - g_return_val_if_fail
    linkageType: ''
    returnType: GSocket*
    signature: 'GSocket *g_socket_connection_get_socket (GSocketConnection *connection) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_network_monitor_base_get_instance_private
      Src: /src/glib/gio/gnetworkmonitorbase.c:81,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gnetworkmonitorbase.c:82,1
    - Dst: g_main_context_get_thread_default
      Src: /src/glib/gio/gnetworkmonitorbase.c:85,1
    - Dst: g_main_context_ref
      Src: /src/glib/gio/gnetworkmonitorbase.c:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - monitor
    argTypes:
    - GNetworkMonitorBase*
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: g_network_monitor_base_init
    functionSourceFile: /src/glib/gio/gnetworkmonitorbase.c
    functionUses: []
    functionsReached:
    - g_hash_table_new_full
    - g_network_monitor_base_get_instance_private
    - g_main_context_ref
    - g_main_context_get_thread_default
    linkageType: ''
    returnType: void
    signature: 'static void g_network_monitor_base_init (GNetworkMonitorBase *monitor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_NETWORK_MONITOR_BASE
      Src: /src/glib/gio/gnetworkmonitorbase.c:361,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - initable
    - cancellable
    - error
    argTypes:
    - GInitable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 366
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 366
    functionName: g_network_monitor_base_initable_init
    functionSourceFile: /src/glib/gio/gnetworkmonitorbase.c
    functionUses: []
    functionsReached:
    - G_NETWORK_MONITOR_BASE
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_network_monitor_base_initable_init (GInitable *initable,
      GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GInitableIface*
    constantsTouched: []
    func_position:
      end: 372
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 372
    functionName: g_network_monitor_base_initable_iface_init
    functionSourceFile: /src/glib/gio/gnetworkmonitorbase.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_network_monitor_base_initable_iface_init (GInitableIface
      *iface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_NETWORK_MONITOR_BASE
      Src: /src/glib/gio/gnetworkmonitorbase.c:156,1
    - Dst: g_source_destroy
      Src: /src/glib/gio/gnetworkmonitorbase.c:161,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/gnetworkmonitorbase.c:165,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gnetworkmonitorbase.c:158,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gnetworkmonitorbase.c:162,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gnetworkmonitorbase.c:167,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 168
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 168
    functionName: g_network_monitor_base_finalize
    functionSourceFile: /src/glib/gio/gnetworkmonitorbase.c
    functionUses: []
    functionsReached:
    - g_main_context_unref
    - g_hash_table_unref
    - g_source_destroy
    - G_OBJECT_CLASS
    - g_source_unref
    - G_NETWORK_MONITOR_BASE
    linkageType: ''
    returnType: void
    signature: 'static void g_network_monitor_base_finalize (GObject *object) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_ADDRESS_ENUMERATOR
      Src: /src/glib/gio/gnetworkmonitorbase.c:268,1
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/gnetworkmonitorbase.c:270,1
    - Dst: g_socket_address_enumerator_next_finish
      Src: /src/glib/gio/gnetworkmonitorbase.c:274,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkmonitorbase.c:281,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gnetworkmonitorbase.c:280,1
    - Dst: g_task_return_new_error_literal
      Src: /src/glib/gio/gnetworkmonitorbase.c:287,1
    - Dst: _
      Src: /src/glib/gio/gnetworkmonitorbase.c:289,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkmonitorbase.c:290,1
    - Dst: g_network_monitor_base_can_reach_sockaddr
      Src: /src/glib/gio/gnetworkmonitorbase.c:295,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkmonitorbase.c:297,1
    - Dst: g_socket_address_enumerator_next_async
      Src: /src/glib/gio/gnetworkmonitorbase.c:304,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gnetworkmonitorbase.c:305,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkmonitorbase.c:299,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gnetworkmonitorbase.c:298,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkmonitorbase.c:302,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 307
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 307
    functionName: can_reach_async_got_address
    functionSourceFile: /src/glib/gio/gnetworkmonitorbase.c
    functionUses: []
    functionsReached:
    - g_socket_address_enumerator_next_finish
    - g_task_return_boolean
    - g_object_unref
    - g_network_monitor_base_can_reach_sockaddr
    - g_task_get_cancellable
    - g_task_return_new_error_literal
    - g_task_get_source_object
    - G_SOCKET_ADDRESS_ENUMERATOR
    - _
    - g_task_return_error
    - g_socket_address_enumerator_next_async
    linkageType: ''
    returnType: void
    signature: 'static void can_reach_async_got_address (GObject *object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gnetworkmonitorbase.c:341,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gnetworkmonitorbase.c:341,1
    - Dst: G_TASK
      Src: /src/glib/gio/gnetworkmonitorbase.c:343,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gnetworkmonitorbase.c:343,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - monitor
    - result
    - error
    argTypes:
    - GNetworkMonitor*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 344
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 344
    functionName: g_network_monitor_base_can_reach_finish
    functionSourceFile: /src/glib/gio/gnetworkmonitorbase.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_task_is_valid
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_network_monitor_base_can_reach_finish (GNetworkMonitor
      *monitor, GAsyncResult *result, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_INET_ADDRESS_MASK
      Src: /src/glib/gio/gnetworkmonitorbase.c:377,1
    - Dst: g_inet_address_get_native_size
      Src: /src/glib/gio/gnetworkmonitorbase.c:382,1
    - Dst: g_inet_address_mask_get_length
      Src: /src/glib/gio/gnetworkmonitorbase.c:379,1
    - Dst: g_inet_address_mask_get_address
      Src: /src/glib/gio/gnetworkmonitorbase.c:380,1
    - Dst: g_inet_address_to_bytes
      Src: /src/glib/gio/gnetworkmonitorbase.c:381,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 1
    argNames:
    - key
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 416
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 416
    functionName: inet_address_mask_hash
    functionSourceFile: /src/glib/gio/gnetworkmonitorbase.c
    functionUses: []
    functionsReached:
    - g_inet_address_get_native_size
    - g_inet_address_to_bytes
    - g_inet_address_mask_get_address
    - G_INET_ADDRESS_MASK
    - g_inet_address_mask_get_length
    linkageType: ''
    returnType: guint
    signature: 'static guint inet_address_mask_hash (gconstpointer key) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_source_is_destroyed
      Src: /src/glib/gio/gnetworkmonitorbase.c:434,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gnetworkmonitorbase.c:444,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gnetworkmonitorbase.c:444,1
    - Dst: g_main_current_source
      Src: /src/glib/gio/gnetworkmonitorbase.c:434,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gnetworkmonitorbase.c:437,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gnetworkmonitorbase.c:447,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gnetworkmonitorbase.c:449,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkmonitorbase.c:452,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 454
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 454
    functionName: emit_network_changed
    functionSourceFile: /src/glib/gio/gnetworkmonitorbase.c
    functionUses: []
    functionsReached:
    - g_main_current_source
    - g_object_unref
    - g_object_notify
    - G_OBJECT
    - g_signal_emit
    - g_source_unref
    - g_object_ref
    - g_source_is_destroyed
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean emit_network_changed (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gnetworkmonitorbase.c:173,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gnetworkmonitorbase.c:180,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gnetworkmonitorbase.c:181,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gnetworkmonitorbase.c:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - monitor_class
    argTypes:
    - GNetworkMonitorBaseClass*
    constantsTouched: []
    func_position:
      end: 182
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 182
    functionName: g_network_monitor_base_class_init
    functionSourceFile: /src/glib/gio/gnetworkmonitorbase.c
    functionUses: []
    functionsReached:
    - g_object_class_override_property
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_network_monitor_base_class_init (GNetworkMonitorBaseClass
      *monitor_class) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/gnetworkmonitorbase.c:319,1
    - Dst: g_hash_table_size
      Src: /src/glib/gio/gnetworkmonitorbase.c:322,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gnetworkmonitorbase.c:320,1
    - Dst: G_NETWORK_MONITOR_BASE
      Src: /src/glib/gio/gnetworkmonitorbase.c:322,1
    - Dst: g_task_return_new_error_literal
      Src: /src/glib/gio/gnetworkmonitorbase.c:324,1
    - Dst: _
      Src: /src/glib/gio/gnetworkmonitorbase.c:325,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkmonitorbase.c:326,1
    - Dst: g_socket_connectable_proxy_enumerate
      Src: /src/glib/gio/gnetworkmonitorbase.c:330,1
    - Dst: g_socket_address_enumerator_next_async
      Src: /src/glib/gio/gnetworkmonitorbase.c:331,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkmonitorbase.c:333,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 5
    argNames:
    - monitor
    - connectable
    - cancellable
    - callback
    - user_data
    argTypes:
    - GNetworkMonitor*
    - GSocketConnectable*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 334
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 334
    functionName: g_network_monitor_base_can_reach_async
    functionSourceFile: /src/glib/gio/gnetworkmonitorbase.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_object_unref
    - g_task_set_source_tag
    - g_socket_connectable_proxy_enumerate
    - g_task_return_new_error_literal
    - g_hash_table_size
    - _
    - G_NETWORK_MONITOR_BASE
    - g_socket_address_enumerator_next_async
    linkageType: ''
    returnType: void
    signature: 'static void g_network_monitor_base_can_reach_async (GNetworkMonitor
      *monitor, GSocketConnectable *connectable, GCancellable *cancellable, GAsyncReadyCallback
      callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_lookup
      Src: /src/glib/gio/gnetworkmonitorbase.c:353,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - monitor_iface
    argTypes:
    - GNetworkMonitorInterface*
    constantsTouched: []
    func_position:
      end: 354
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 354
    functionName: g_network_monitor_base_iface_init
    functionSourceFile: /src/glib/gio/gnetworkmonitorbase.c
    functionUses: []
    functionsReached:
    - g_signal_lookup
    linkageType: ''
    returnType: void
    signature: 'static void g_network_monitor_base_iface_init (GNetworkMonitorInterface
      *monitor_iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_INET_ADDRESS_MASK
      Src: /src/glib/gio/gnetworkmonitorbase.c:422,1
    - Dst: G_INET_ADDRESS_MASK
      Src: /src/glib/gio/gnetworkmonitorbase.c:423,1
    - Dst: g_inet_address_mask_equal
      Src: /src/glib/gio/gnetworkmonitorbase.c:425,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 426
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 426
    functionName: inet_address_mask_equal
    functionSourceFile: /src/glib/gio/gnetworkmonitorbase.c
    functionUses: []
    functionsReached:
    - G_INET_ADDRESS_MASK
    - g_inet_address_mask_equal
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean inet_address_mask_equal (gconstpointer a, gconstpointer
      b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_idle_source_new
      Src: /src/glib/gio/gnetworkmonitorbase.c:464,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gnetworkmonitorbase.c:473,1
    - Dst: g_source_set_priority
      Src: /src/glib/gio/gnetworkmonitorbase.c:470,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gnetworkmonitorbase.c:471,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gnetworkmonitorbase.c:472,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - monitor
    argTypes:
    - GNetworkMonitorBase*
    constantsTouched: []
    func_position:
      end: 486
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 486
    functionName: queue_network_changed
    functionSourceFile: /src/glib/gio/gnetworkmonitorbase.c
    functionUses: []
    functionsReached:
    - g_source_set_priority
    - g_source_set_callback
    - g_idle_source_new
    - g_source_attach
    - g_source_set_static_name
    linkageType: ''
    returnType: void
    signature: 'static void queue_network_changed (GNetworkMonitorBase *monitor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_remove_all
      Src: /src/glib/gio/gnetworkmonitorbase.c:579,1
    - Dst: g_network_monitor_base_add_network
      Src: /src/glib/gio/gnetworkmonitorbase.c:584,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - monitor
    - networks
    - length
    argTypes:
    - GNetworkMonitorBase*
    - GInetAddressMask**
    - gint
    constantsTouched: []
    func_position:
      end: 585
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 585
    functionName: g_network_monitor_base_set_networks
    functionSourceFile: /src/glib/gio/gnetworkmonitorbase.c
    functionUses: []
    functionsReached:
    - g_network_monitor_base_add_network
    - g_hash_table_remove_all
    linkageType: ''
    returnType: void
    signature: 'void g_network_monitor_base_set_networks (GNetworkMonitorBase *monitor,
      GInetAddressMask **networks, gint length) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_NETWORK_MONITOR_BASE
      Src: /src/glib/gio/gnetworkmonitorbase.c:95,1
    - Dst: G_OBJECT_TYPE
      Src: /src/glib/gio/gnetworkmonitorbase.c:97,1
    - Dst: g_inet_address_mask_new_from_string
      Src: /src/glib/gio/gnetworkmonitorbase.c:104,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkmonitorbase.c:106,1
    - Dst: g_network_monitor_base_add_network
      Src: /src/glib/gio/gnetworkmonitorbase.c:105,1
    - Dst: g_inet_address_mask_new_from_string
      Src: /src/glib/gio/gnetworkmonitorbase.c:108,1
    - Dst: g_network_monitor_base_add_network
      Src: /src/glib/gio/gnetworkmonitorbase.c:114,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkmonitorbase.c:115,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 118
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 118
    functionName: g_network_monitor_base_constructed
    functionSourceFile: /src/glib/gio/gnetworkmonitorbase.c
    functionUses: []
    functionsReached:
    - G_OBJECT_TYPE
    - g_network_monitor_base_add_network
    - g_object_unref
    - g_inet_address_mask_new_from_string
    - G_NETWORK_MONITOR_BASE
    linkageType: ''
    returnType: void
    signature: 'static void g_network_monitor_base_constructed (GObject *object) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_IS_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/gnetworkmonitorbase.c:192,1
    - Dst: g_inet_socket_address_get_address
      Src: /src/glib/gio/gnetworkmonitorbase.c:195,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gnetworkmonitorbase.c:197,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gnetworkmonitorbase.c:196,1
    - Dst: G_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/gnetworkmonitorbase.c:195,1
    - Dst: g_inet_address_mask_matches
      Src: /src/glib/gio/gnetworkmonitorbase.c:200,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - base
    - sockaddr
    argTypes:
    - GNetworkMonitorBase*
    - GSocketAddress*
    constantsTouched: []
    func_position:
      end: 205
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 205
    functionName: g_network_monitor_base_can_reach_sockaddr
    functionSourceFile: /src/glib/gio/gnetworkmonitorbase.c
    functionUses: []
    functionsReached:
    - g_inet_socket_address_get_address
    - g_hash_table_iter_init
    - G_IS_INET_SOCKET_ADDRESS
    - G_INET_SOCKET_ADDRESS
    - g_inet_address_mask_matches
    - g_hash_table_iter_next
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_network_monitor_base_can_reach_sockaddr (GNetworkMonitorBase
      *base, GSocketAddress *sockaddr) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gnetworkmonitorbase.c:542,1
    - Dst: queue_network_changed
      Src: /src/glib/gio/gnetworkmonitorbase.c:560,1
    - Dst: g_inet_address_mask_get_length
      Src: /src/glib/gio/gnetworkmonitorbase.c:545,1
    - Dst: g_inet_address_mask_get_family
      Src: /src/glib/gio/gnetworkmonitorbase.c:547,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 2
    argNames:
    - monitor
    - network
    argTypes:
    - GNetworkMonitorBase*
    - GInetAddressMask*
    constantsTouched: []
    func_position:
      end: 561
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 561
    functionName: g_network_monitor_base_remove_network
    functionSourceFile: /src/glib/gio/gnetworkmonitorbase.c
    functionUses: []
    functionsReached:
    - g_inet_address_mask_get_family
    - g_inet_address_mask_get_length
    - queue_network_changed
    - g_hash_table_remove
    linkageType: ''
    returnType: void
    signature: 'void g_network_monitor_base_remove_network (GNetworkMonitorBase *monitor,
      GInetAddressMask *network) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_NETWORK_MONITOR_BASE
      Src: /src/glib/gio/gnetworkmonitorbase.c:126,1
    - Dst: g_value_set_enum
      Src: /src/glib/gio/gnetworkmonitorbase.c:140,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gnetworkmonitorbase.c:136,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gnetworkmonitorbase.c:131,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gnetworkmonitorbase.c:147,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 151
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 151
    functionName: g_network_monitor_base_get_property
    functionSourceFile: /src/glib/gio/gnetworkmonitorbase.c
    functionUses: []
    functionsReached:
    - g_value_set_boolean
    - G_NETWORK_MONITOR_BASE
    - g_value_set_enum
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: 'static void g_network_monitor_base_get_property (GObject *object,
      guint prop_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_NETWORK_MONITOR_BASE
      Src: /src/glib/gio/gnetworkmonitorbase.c:213,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gnetworkmonitorbase.c:219,1
    - Dst: g_hash_table_size
      Src: /src/glib/gio/gnetworkmonitorbase.c:217,1
    - Dst: _
      Src: /src/glib/gio/gnetworkmonitorbase.c:220,1
    - Dst: g_socket_connectable_proxy_enumerate
      Src: /src/glib/gio/gnetworkmonitorbase.c:224,1
    - Dst: g_socket_address_enumerator_next
      Src: /src/glib/gio/gnetworkmonitorbase.c:225,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkmonitorbase.c:229,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkmonitorbase.c:236,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkmonitorbase.c:237,1
    - Dst: g_network_monitor_base_can_reach_sockaddr
      Src: /src/glib/gio/gnetworkmonitorbase.c:243,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkmonitorbase.c:250,1
    - Dst: g_socket_address_enumerator_next
      Src: /src/glib/gio/gnetworkmonitorbase.c:251,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkmonitorbase.c:253,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkmonitorbase.c:245,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkmonitorbase.c:246,1
    - Dst: _
      Src: /src/glib/gio/gnetworkmonitorbase.c:258,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gnetworkmonitorbase.c:257,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 32
    argCount: 4
    argNames:
    - monitor
    - connectable
    - cancellable
    - error
    argTypes:
    - GNetworkMonitor*
    - GSocketConnectable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 261
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 261
    functionName: g_network_monitor_base_can_reach
    functionSourceFile: /src/glib/gio/gnetworkmonitorbase.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_network_monitor_base_can_reach_sockaddr
    - g_socket_connectable_proxy_enumerate
    - g_set_error_literal
    - g_socket_address_enumerator_next
    - g_hash_table_size
    - _
    - G_NETWORK_MONITOR_BASE
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_network_monitor_base_can_reach (GNetworkMonitor
      *monitor, GSocketConnectable *connectable, GCancellable *cancellable, GError
      **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_add
      Src: /src/glib/gio/gnetworkmonitorbase.c:501,1
    - Dst: g_inet_address_mask_get_length
      Src: /src/glib/gio/gnetworkmonitorbase.c:504,1
    - Dst: g_inet_address_get_is_mc_link_local
      Src: /src/glib/gio/gnetworkmonitorbase.c:523,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gnetworkmonitorbase.c:501,1
    - Dst: g_inet_address_mask_get_family
      Src: /src/glib/gio/gnetworkmonitorbase.c:506,1
    - Dst: g_inet_address_mask_get_address
      Src: /src/glib/gio/gnetworkmonitorbase.c:523,1
    - Dst: queue_network_changed
      Src: /src/glib/gio/gnetworkmonitorbase.c:526,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 2
    argNames:
    - monitor
    - network
    argTypes:
    - GNetworkMonitorBase*
    - GInetAddressMask*
    constantsTouched: []
    func_position:
      end: 527
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 527
    functionName: g_network_monitor_base_add_network
    functionSourceFile: /src/glib/gio/gnetworkmonitorbase.c
    functionUses: []
    functionsReached:
    - g_inet_address_mask_get_family
    - g_inet_address_mask_get_address
    - g_inet_address_get_is_mc_link_local
    - queue_network_changed
    - g_object_ref
    - g_inet_address_mask_get_length
    - g_hash_table_add
    linkageType: ''
    returnType: void
    signature: 'void g_network_monitor_base_add_network (GNetworkMonitorBase *monitor,
      GInetAddressMask *network) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:214,1
    - Dst: memcpy
      Src: /src/glib/gio/gdbusmessage.c:225,1
    - Dst: g_memory_buffer_is_byteswapped
      Src: /src/glib/gio/gdbusmessage.c:228,1
    - Dst: GUINT64_SWAP_LE_BE
      Src: /src/glib/gio/gdbusmessage.c:229,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:218,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - mbuf
    - error
    argTypes:
    - GMemoryBuffer*
    - GError**
    constantsTouched: []
    func_position:
      end: 232
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 232
    functionName: g_memory_buffer_read_int64
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_set_error
    - memcpy
    - GUINT64_SWAP_LE_BE
    - g_return_val_if_fail
    - g_memory_buffer_is_byteswapped
    linkageType: ''
    returnType: gint64
    signature: 'static gint64 g_memory_buffer_read_int64 (GMemoryBuffer *mbuf, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:459,1
    - Dst: strlen
      Src: /src/glib/gio/gdbusmessage.c:461,1
    - Dst: g_memory_buffer_write
      Src: /src/glib/gio/gdbusmessage.c:461,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - mbuf
    - str
    argTypes:
    - GMemoryBuffer*
    - char*
    constantsTouched: []
    func_position:
      end: 462
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 462
    functionName: g_memory_buffer_put_string
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_memory_buffer_write
    - g_return_val_if_fail
    - strlen
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_memory_buffer_put_string (GMemoryBuffer *mbuf,\t\
      \t\t const char *str) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:888,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:888,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - message
    argTypes:
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 890
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 890
    functionName: g_dbus_message_get_message_type
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DBUS_MESSAGE
    linkageType: ''
    returnType: GDBusMessageType
    signature: 'GDBusMessageType g_dbus_message_get_message_type (GDBusMessage *message) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:979,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:979,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - message
    argTypes:
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 981
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 981
    functionName: g_dbus_message_get_serial
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DBUS_MESSAGE
    linkageType: ''
    returnType: guint32
    signature: 'guint32 g_dbus_message_get_serial (GDBusMessage *message) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:240,1
    - Dst: g_memory_buffer_is_byteswapped
      Src: /src/glib/gio/gdbusmessage.c:254,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:244,1
    - Dst: GUINT64_SWAP_LE_BE
      Src: /src/glib/gio/gdbusmessage.c:255,1
    - Dst: memcpy
      Src: /src/glib/gio/gdbusmessage.c:251,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - mbuf
    - error
    argTypes:
    - GMemoryBuffer*
    - GError**
    constantsTouched: []
    func_position:
      end: 258
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 258
    functionName: g_memory_buffer_read_uint64
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_set_error
    - memcpy
    - GUINT64_SWAP_LE_BE
    - g_return_val_if_fail
    - g_memory_buffer_is_byteswapped
    linkageType: ''
    returnType: guint64
    signature: 'static guint64 g_memory_buffer_read_uint64 (GMemoryBuffer *mbuf, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3456,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3457,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbusmessage.c:3457,1
    - Dst: set_string_header
      Src: /src/glib/gio/gdbusmessage.c:3458,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:3456,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - message
    - value
    argTypes:
    - GDBusMessage*
    - gchar*
    constantsTouched: []
    func_position:
      end: 3459
      start: 3452
    functionDepth: 0
    functionLinenumber: 3452
    functionLinenumberEnd: 3459
    functionName: g_dbus_message_set_destination
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - set_string_header
    - G_IS_DBUS_MESSAGE
    - g_dbus_is_name
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_message_set_destination (GDBusMessage *message, const
      gchar *value) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:517,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmessage.c:522,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusmessage.c:526,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusmessage.c:520,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdbusmessage.c:523,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusmessage.c:529,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusmessage.c:530,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 531
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 531
    functionName: g_dbus_message_finalize
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - G_DBUS_MESSAGE
    - g_object_unref
    - g_hash_table_unref
    - G_OBJECT_CLASS
    - g_clear_pointer
    - g_variant_unref
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_message_finalize (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:860,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusmessage.c:864,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:860,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - message
    - byte_order
    argTypes:
    - GDBusMessage*
    - GDBusMessageByteOrder
    constantsTouched: []
    func_position:
      end: 869
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 869
    functionName: g_dbus_message_set_byte_order
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_warning
    - G_IS_DBUS_MESSAGE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_message_set_byte_order (GDBusMessage *message, GDBusMessageByteOrder
      byte_order) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3439,1
    - Dst: get_string_header
      Src: /src/glib/gio/gdbusmessage.c:3440,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:3439,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3441
      start: 3436
    functionDepth: 0
    functionLinenumber: 3436
    functionLinenumberEnd: 3441
    functionName: g_dbus_message_get_destination
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - get_string_header
    - g_return_val_if_fail
    - G_IS_DBUS_MESSAGE
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_dbus_message_get_destination (GDBusMessage *message) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:539,1
    - Dst: g_dbus_message_get_locked
      Src: /src/glib/gio/gdbusmessage.c:544,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gdbusmessage.c:544,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gdbusmessage.c:548,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 551
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 551
    functionName: g_dbus_message_get_property
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_value_set_boolean
    - G_DBUS_MESSAGE
    - g_dbus_message_get_locked
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_message_get_property (GObject *object, guint prop_id,
      GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:845,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:845,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - message
    argTypes:
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 847
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 847
    functionName: g_dbus_message_get_byte_order
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DBUS_MESSAGE
    linkageType: ''
    returnType: GDBusMessageByteOrder
    signature: 'GDBusMessageByteOrder g_dbus_message_get_byte_order (GDBusMessage
      *message) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:162,1
    - Dst: GUINT32_SWAP_LE_BE
      Src: /src/glib/gio/gdbusmessage.c:177,1
    - Dst: memcpy
      Src: /src/glib/gio/gdbusmessage.c:173,1
    - Dst: g_memory_buffer_is_byteswapped
      Src: /src/glib/gio/gdbusmessage.c:176,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:166,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - mbuf
    - error
    argTypes:
    - GMemoryBuffer*
    - GError**
    constantsTouched: []
    func_position:
      end: 180
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 180
    functionName: g_memory_buffer_read_int32
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_set_error
    - memcpy
    - g_return_val_if_fail
    - g_memory_buffer_is_byteswapped
    - GUINT32_SWAP_LE_BE
    linkageType: ''
    returnType: gint32
    signature: 'static gint32 g_memory_buffer_read_int32 (GMemoryBuffer *mbuf, GError
      **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:636,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbusmessage.c:636,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:637,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusmessage.c:637,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:638,1
    - Dst: g_dbus_is_member_name
      Src: /src/glib/gio/gdbusmessage.c:638,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:639,1
    - Dst: g_dbus_is_interface_name
      Src: /src/glib/gio/gdbusmessage.c:639,1
    - Dst: g_dbus_message_new
      Src: /src/glib/gio/gdbusmessage.c:641,1
    - Dst: g_dbus_message_set_destination
      Src: /src/glib/gio/gdbusmessage.c:645,1
    - Dst: g_dbus_message_set_interface
      Src: /src/glib/gio/gdbusmessage.c:649,1
    - Dst: g_dbus_message_set_path
      Src: /src/glib/gio/gdbusmessage.c:646,1
    - Dst: g_dbus_message_set_member
      Src: /src/glib/gio/gdbusmessage.c:647,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 652
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 652
    functionName: g_dbus_message_new_method_call
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_dbus_message_set_path
    - g_dbus_message_set_destination
    - g_dbus_message_set_member
    - g_dbus_message_new
    - g_dbus_is_interface_name
    - g_dbus_message_set_interface
    - g_dbus_is_member_name
    - g_variant_is_object_path
    - g_dbus_is_name
    linkageType: ''
    returnType: GDBusMessage*
    signature: 'GDBusMessage *g_dbus_message_new_method_call (const gchar *name, const
      gchar *path, const gchar *interface_, const gchar *method) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:1245,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:1246,1
    - Dst: G_IS_UNIX_FD_LIST
      Src: /src/glib/gio/gdbusmessage.c:1246,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusmessage.c:1250,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:1245,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusmessage.c:1255,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusmessage.c:1258,1
    - Dst: g_dbus_message_set_num_unix_fds
      Src: /src/glib/gio/gdbusmessage.c:1259,1
    - Dst: g_unix_fd_list_get_length
      Src: /src/glib/gio/gdbusmessage.c:1259,1
    - Dst: g_dbus_message_set_num_unix_fds
      Src: /src/glib/gio/gdbusmessage.c:1264,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - message
    - fd_list
    argTypes:
    - GDBusMessage*
    - GUnixFDList*
    constantsTouched: []
    func_position:
      end: 1266
      start: 1241
    functionDepth: 0
    functionLinenumber: 1241
    functionLinenumberEnd: 1266
    functionName: g_dbus_message_set_unix_fd_list
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_warning
    - G_IS_DBUS_MESSAGE
    - g_return_if_fail
    - g_dbus_message_set_num_unix_fds
    - g_unix_fd_list_get_length
    - G_IS_UNIX_FD_LIST
    - g_object_ref
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_message_set_unix_fd_list (GDBusMessage *message, GUnixFDList
      *fd_list) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:188,1
    - Dst: memcpy
      Src: /src/glib/gio/gdbusmessage.c:199,1
    - Dst: g_memory_buffer_is_byteswapped
      Src: /src/glib/gio/gdbusmessage.c:202,1
    - Dst: GUINT32_SWAP_LE_BE
      Src: /src/glib/gio/gdbusmessage.c:203,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:192,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - mbuf
    - error
    argTypes:
    - GMemoryBuffer*
    - GError**
    constantsTouched: []
    func_position:
      end: 206
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 206
    functionName: g_memory_buffer_read_uint32
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_set_error
    - memcpy
    - g_return_val_if_fail
    - g_memory_buffer_is_byteswapped
    - GUINT32_SWAP_LE_BE
    linkageType: ''
    returnType: guint32
    signature: 'static guint32 g_memory_buffer_read_uint32 (GMemoryBuffer *mbuf, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gdbusmessage.c:612,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 613
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 613
    functionName: g_dbus_message_new
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: GDBusMessage*
    signature: 'GDBusMessage *g_dbus_message_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:1218,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:1218,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1215
    functionDepth: 0
    functionLinenumber: 1215
    functionLinenumberEnd: 1220
    functionName: g_dbus_message_get_unix_fd_list
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DBUS_MESSAGE
    linkageType: ''
    returnType: GUnixFDList*
    signature: 'GUnixFDList *g_dbus_message_get_unix_fd_list (GDBusMessage *message) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3419,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:3419,1
    - Dst: set_string_header
      Src: /src/glib/gio/gdbusmessage.c:3421,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3420,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbusmessage.c:3420,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - message
    - value
    argTypes:
    - GDBusMessage*
    - gchar*
    constantsTouched: []
    func_position:
      end: 3422
      start: 3415
    functionDepth: 0
    functionLinenumber: 3415
    functionLinenumberEnd: 3422
    functionName: g_dbus_message_set_sender
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - set_string_header
    - G_IS_DBUS_MESSAGE
    - g_dbus_is_name
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_message_set_sender (GDBusMessage *message, const gchar
      *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3626,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:3626,1
    - Dst: set_uint32_header
      Src: /src/glib/gio/gdbusmessage.c:3627,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - message
    - value
    argTypes:
    - GDBusMessage*
    - guint32
    constantsTouched: []
    func_position:
      end: 3628
      start: 3622
    functionDepth: 0
    functionLinenumber: 3622
    functionLinenumberEnd: 3628
    functionName: g_dbus_message_set_num_unix_fds
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - set_uint32_header
    - G_IS_DBUS_MESSAGE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_message_set_num_unix_fds (GDBusMessage *message, guint32
      value) '
  - BBCount: 77
    BranchProfiles: []
    Callsites:
    - Dst: g_memory_buffer_read_uint32
      Src: /src/glib/gio/gdbusmessage.c:1720,1
    - Dst: g_variant_new_byte
      Src: /src/glib/gio/gdbusmessage.c:1734,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:1951,1
    - Dst: g_variant_type_key
      Src: /src/glib/gio/gdbusmessage.c:2060,1
    - Dst: parse_value_from_blob
      Src: /src/glib/gio/gdbusmessage.c:2115,1
    - Dst: g_variant_type_string_get_depth_
      Src: /src/glib/gio/gdbusmessage.c:2167,1
    - Dst: g_variant_new_variant
      Src: /src/glib/gio/gdbusmessage.c:2192,1
    - Dst: g_variant_get_byte
      Src: /src/glib/gio/gdbusmessage.c:2221,1
    - Dst: g_variant_is_signature
      Src: /src/glib/gio/gdbusmessage.c:1878,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusmessage.c:1706,1
    - Dst: g_variant_new_uint32
      Src: /src/glib/gio/gdbusmessage.c:1782,1
    - Dst: g_memory_buffer_read_int64
      Src: /src/glib/gio/gdbusmessage.c:1791,1
    - Dst: ensure_input_padding
      Src: /src/glib/gio/gdbusmessage.c:1892,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:1883,1
    - Dst: parse_value_from_blob
      Src: /src/glib/gio/gdbusmessage.c:2061,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmessage.c:2083,1
    - Dst: ensure_input_padding
      Src: /src/glib/gio/gdbusmessage.c:2088,1
    - Dst: g_variant_get_byte
      Src: /src/glib/gio/gdbusmessage.c:2221,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gdbusmessage.c:2247,1
    - Dst: g_variant_new_double
      Src: /src/glib/gio/gdbusmessage.c:1822,1
    - Dst: g_variant_new_object_path
      Src: /src/glib/gio/gdbusmessage.c:1863,1
    - Dst: g_memory_buffer_read_byte
      Src: /src/glib/gio/gdbusmessage.c:1872,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdbusmessage.c:1980,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmessage.c:1982,1
    - Dst: parse_value_from_blob
      Src: /src/glib/gio/gdbusmessage.c:2183,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusmessage.c:2240,1
    - Dst: g_variant_type_free
      Src: /src/glib/gio/gdbusmessage.c:2189,1
    - Dst: ensure_input_padding
      Src: /src/glib/gio/gdbusmessage.c:1716,1
    - Dst: g_memory_buffer_read_int16
      Src: /src/glib/gio/gdbusmessage.c:1743,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:1856,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:1930,1
    - Dst: g_variant_type_value
      Src: /src/glib/gio/gdbusmessage.c:2069,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:2178,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmessage.c:2193,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusmessage.c:2221,1
    - Dst: g_variant_new_boolean
      Src: /src/glib/gio/gdbusmessage.c:1723,1
    - Dst: ensure_input_padding
      Src: /src/glib/gio/gdbusmessage.c:1763,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gdbusmessage.c:1838,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusmessage.c:1964,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:1880,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusmessage.c:2105,1
    - Dst: g_variant_type_string_is_valid
      Src: /src/glib/gio/gdbusmessage.c:2155,1
    - Dst: g_variant_type_dup_string
      Src: /src/glib/gio/gdbusmessage.c:2199,1
    - Dst: g_memory_buffer_read_uint32
      Src: /src/glib/gio/gdbusmessage.c:1832,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusmessage.c:2002,1
    - Dst: g_memory_buffer_read_uint16
      Src: /src/glib/gio/gdbusmessage.c:1755,1
    - Dst: g_variant_new_int64
      Src: /src/glib/gio/gdbusmessage.c:1794,1
    - Dst: ensure_input_padding
      Src: /src/glib/gio/gdbusmessage.c:1904,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusmessage.c:1924,1
    - Dst: parse_value_from_blob
      Src: /src/glib/gio/gdbusmessage.c:2011,1
    - Dst: get_type_fixed_size
      Src: /src/glib/gio/gdbusmessage.c:1942,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/gio/gdbusmessage.c:2022,1
    - Dst: g_variant_builder_init_static
      Src: /src/glib/gio/gdbusmessage.c:2100,1
    - Dst: g_variant_new_fixed_array
      Src: /src/glib/gio/gdbusmessage.c:1976,1
    - Dst: ensure_input_padding
      Src: /src/glib/gio/gdbusmessage.c:1799,1
    - Dst: read_string
      Src: /src/glib/gio/gdbusmessage.c:1875,1
    - Dst: g_memory_buffer_read_int32
      Src: /src/glib/gio/gdbusmessage.c:1896,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmessage.c:2127,1
    - Dst: g_variant_is_signature
      Src: /src/glib/gio/gdbusmessage.c:2154,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:2200,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:2203,1
    - Dst: parse_value_from_blob
      Src: /src/glib/gio/gdbusmessage.c:1996,1
    - Dst: g_variant_new_int16
      Src: /src/glib/gio/gdbusmessage.c:1746,1
    - Dst: ensure_input_padding
      Src: /src/glib/gio/gdbusmessage.c:1751,1
    - Dst: ensure_input_padding
      Src: /src/glib/gio/gdbusmessage.c:1843,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmessage.c:2023,1
    - Dst: ensure_input_padding
      Src: /src/glib/gio/gdbusmessage.c:2051,1
    - Dst: g_memory_buffer_read_byte
      Src: /src/glib/gio/gdbusmessage.c:2148,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusmessage.c:2211,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusmessage.c:2228,1
    - Dst: ensure_input_padding
      Src: /src/glib/gio/gdbusmessage.c:1775,1
    - Dst: g_dngettext
      Src: /src/glib/gio/gdbusmessage.c:1933,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:1967,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusmessage.c:1854,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:1859,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusmessage.c:2032,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmessage.c:2078,1
    - Dst: g_variant_builder_clear
      Src: /src/glib/gio/gdbusmessage.c:2104,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:2108,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/gio/gdbusmessage.c:2126,1
    - Dst: g_memory_buffer_read_uint32
      Src: /src/glib/gio/gdbusmessage.c:1918,1
    - Dst: g_variant_builder_init_static
      Src: /src/glib/gio/gdbusmessage.c:1991,1
    - Dst: g_memory_buffer_read_int32
      Src: /src/glib/gio/gdbusmessage.c:1767,1
    - Dst: g_variant_new_uint16
      Src: /src/glib/gio/gdbusmessage.c:1758,1
    - Dst: g_memory_buffer_read_uint64
      Src: /src/glib/gio/gdbusmessage.c:1819,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusmessage.c:2092,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:2162,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusmessage.c:2227,1
    - Dst: g_variant_new_handle
      Src: /src/glib/gio/gdbusmessage.c:1899,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/gio/gdbusmessage.c:1695,1
    - Dst: ensure_input_padding
      Src: /src/glib/gio/gdbusmessage.c:1811,1
    - Dst: g_quark_to_string
      Src: /src/glib/gio/gdbusmessage.c:2244,1
    - Dst: ensure_input_padding
      Src: /src/glib/gio/gdbusmessage.c:1971,1
    - Dst: g_variant_new_signature
      Src: /src/glib/gio/gdbusmessage.c:1887,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusmessage.c:1688,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusmessage.c:1701,1
    - Dst: g_memory_buffer_read_uint64
      Src: /src/glib/gio/gdbusmessage.c:1803,1
    - Dst: read_string
      Src: /src/glib/gio/gdbusmessage.c:1835,1
    - Dst: read_bytes
      Src: /src/glib/gio/gdbusmessage.c:1972,1
    - Dst: parse_value_from_blob
      Src: /src/glib/gio/gdbusmessage.c:2070,1
    - Dst: g_variant_new_dict_entry
      Src: /src/glib/gio/gdbusmessage.c:2081,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusmessage.c:2138,1
    - Dst: g_variant_type_dup_string
      Src: /src/glib/gio/gdbusmessage.c:1700,1
    - Dst: g_memory_buffer_read_byte
      Src: /src/glib/gio/gdbusmessage.c:1731,1
    - Dst: ensure_input_padding
      Src: /src/glib/gio/gdbusmessage.c:1787,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/gio/gdbusmessage.c:1956,1
    - Dst: g_variant_type_first
      Src: /src/glib/gio/gdbusmessage.c:2101,1
    - Dst: g_variant_type_next
      Src: /src/glib/gio/gdbusmessage.c:2129,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:2159,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusmessage.c:2205,1
    - Dst: g_variant_take_ref
      Src: /src/glib/gio/gdbusmessage.c:2235,1
    - Dst: g_variant_new_int32
      Src: /src/glib/gio/gdbusmessage.c:1770,1
    - Dst: g_memory_buffer_read_uint32
      Src: /src/glib/gio/gdbusmessage.c:1779,1
    - Dst: G_STATIC_ASSERT
      Src: /src/glib/gio/gdbusmessage.c:1818,1
    - Dst: read_string
      Src: /src/glib/gio/gdbusmessage.c:1851,1
    - Dst: ensure_input_padding
      Src: /src/glib/gio/gdbusmessage.c:1827,1
    - Dst: g_variant_type_element
      Src: /src/glib/gio/gdbusmessage.c:1941,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gdbusmessage.c:2038,1
    - Dst: g_variant_type_is_dict_entry
      Src: /src/glib/gio/gdbusmessage.c:2044,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusmessage.c:2055,1
    - Dst: g_variant_builder_clear
      Src: /src/glib/gio/gdbusmessage.c:2123,1
    - Dst: read_string
      Src: /src/glib/gio/gdbusmessage.c:2151,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gdbusmessage.c:2219,1
    - Dst: g_memory_buffer_is_byteswapped
      Src: /src/glib/gio/gdbusmessage.c:1978,1
    - Dst: ensure_input_padding
      Src: /src/glib/gio/gdbusmessage.c:1739,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:1954,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmessage.c:2082,1
    - Dst: g_variant_type_is_variant
      Src: /src/glib/gio/gdbusmessage.c:2134,1
    - Dst: g_variant_type_new
      Src: /src/glib/gio/gdbusmessage.c:2182,1
    - Dst: g_variant_byteswap
      Src: /src/glib/gio/gdbusmessage.c:1981,1
    - Dst: g_memory_buffer_read_uint32
      Src: /src/glib/gio/gdbusmessage.c:1848,1
    - Dst: g_variant_builder_clear
      Src: /src/glib/gio/gdbusmessage.c:2019,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:1691,1
    - Dst: g_variant_new_uint64
      Src: /src/glib/gio/gdbusmessage.c:1806,1
    - Dst: g_variant_type_is_tuple
      Src: /src/glib/gio/gdbusmessage.c:2086,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gdbusmessage.c:2131,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusmessage.c:2175,1
    - Dst: g_variant_print
      Src: /src/glib/gio/gdbusmessage.c:2225,1
    CyclomaticComplexity: 145
    EdgeCount: 145
    ICount: 320
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2249
      start: 1671
    functionDepth: 0
    functionLinenumber: 1671
    functionLinenumberEnd: 2249
    functionName: parse_value_from_blob
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_dngettext
    - g_strdup_printf
    - read_bytes
    - g_memory_buffer_read_uint64
    - g_variant_new_handle
    - g_set_error_literal
    - g_memory_buffer_is_byteswapped
    - g_variant_type_value
    - g_variant_new_int64
    - g_variant_type_new
    - g_variant_is_object_path
    - g_variant_new_uint32
    - g_variant_new_object_path
    - g_variant_new_byte
    - g_variant_new_signature
    - g_variant_new_fixed_array
    - g_variant_type_is_variant
    - ensure_input_padding
    - g_variant_builder_init_static
    - parse_value_from_blob
    - g_quark_to_string
    - g_variant_unref
    - g_variant_type_dup_string
    - g_variant_new_int32
    - g_variant_new_double
    - get_type_fixed_size
    - g_print
    - g_variant_type_element
    - g_variant_builder_end
    - read_string
    - g_set_error
    - g_variant_new_boolean
    - g_variant_type_is_dict_entry
    - g_variant_type_equal
    - g_memory_buffer_read_int32
    - g_memory_buffer_read_uint32
    - g_memory_buffer_read_uint16
    - g_variant_byteswap
    - g_variant_type_string_is_valid
    - g_memory_buffer_read_byte
    - g_variant_type_string_get_depth_
    - g_variant_type_first
    - g_variant_print
    - g_memory_buffer_read_int64
    - _
    - g_variant_get_byte
    - g_variant_new_uint64
    - g_variant_new_variant
    - g_variant_ref_sink
    - G_STATIC_ASSERT
    - g_propagate_error
    - g_variant_is_signature
    - g_variant_type_is_tuple
    - g_assert
    - g_variant_type_free
    - g_variant_type_key
    - g_variant_type_peek_string
    - g_variant_new_int16
    - g_variant_builder_clear
    - g_variant_builder_add_value
    - g_variant_new_uint16
    - g_variant_new_string
    - g_memory_buffer_read_int16
    - g_variant_take_ref
    - g_variant_type_next
    - g_free
    - g_variant_new_dict_entry
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *parse_value_from_blob (GMemoryBuffer *buf, const
      GVariantType *type, guint max_depth, gboolean just_align, guint indent, GError
      **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:1650,1
    - Dst: g_dngettext
      Src: /src/glib/gio/gdbusmessage.c:1653,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - mbuf
    - len
    - error
    argTypes:
    - GMemoryBuffer*
    - gsize
    - GError**
    constantsTouched: []
    func_position:
      end: 1666
      start: 1639
    functionDepth: 0
    functionLinenumber: 1639
    functionLinenumberEnd: 1666
    functionName: read_bytes
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_dngettext
    linkageType: ''
    returnType: gconstpointer
    signature: 'static gconstpointer read_bytes (GMemoryBuffer *mbuf, gsize len, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3402,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:3402,1
    - Dst: get_string_header
      Src: /src/glib/gio/gdbusmessage.c:3403,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3404
      start: 3399
    functionDepth: 0
    functionLinenumber: 3399
    functionLinenumberEnd: 3404
    functionName: g_dbus_message_get_sender
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - get_string_header
    - g_return_val_if_fail
    - G_IS_DBUS_MESSAGE
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_dbus_message_get_sender (GDBusMessage *message) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3609,1
    - Dst: get_uint32_header
      Src: /src/glib/gio/gdbusmessage.c:3610,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:3609,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - message
    argTypes:
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 3611
      start: 3606
    functionDepth: 0
    functionLinenumber: 3606
    functionLinenumberEnd: 3611
    functionName: g_dbus_message_get_num_unix_fds
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - get_uint32_header
    - g_return_val_if_fail
    - G_IS_DBUS_MESSAGE
    linkageType: ''
    returnType: guint32
    signature: 'guint32 g_dbus_message_get_num_unix_fds (GDBusMessage *message) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GINT32_TO_BE
      Src: /src/glib/gio/gdbusmessage.c:382,1
    - Dst: g_memory_buffer_write
      Src: /src/glib/gio/gdbusmessage.c:392,1
    - Dst: GINT32_TO_LE
      Src: /src/glib/gio/gdbusmessage.c:385,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - mbuf
    - data
    argTypes:
    - GMemoryBuffer*
    - gint32
    constantsTouched: []
    func_position:
      end: 393
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 393
    functionName: g_memory_buffer_put_int32
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - GINT32_TO_BE
    - g_memory_buffer_write
    - GINT32_TO_LE
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_memory_buffer_put_int32 (GMemoryBuffer *mbuf,\t\t\
      \t gint32 data) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GINT64_TO_BE
      Src: /src/glib/gio/gdbusmessage.c:422,1
    - Dst: g_memory_buffer_write
      Src: /src/glib/gio/gdbusmessage.c:432,1
    - Dst: GINT64_TO_LE
      Src: /src/glib/gio/gdbusmessage.c:425,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - mbuf
    - data
    argTypes:
    - GMemoryBuffer*
    - gint64
    constantsTouched: []
    func_position:
      end: 433
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 433
    functionName: g_memory_buffer_put_int64
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - GINT64_TO_LE
    - GINT64_TO_BE
    - g_memory_buffer_write
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_memory_buffer_put_int64 (GMemoryBuffer *mbuf,\t\t\
      \t gint64 data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:706,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:707,1
    - Dst: g_dbus_message_get_message_type
      Src: /src/glib/gio/gdbusmessage.c:707,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:706,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:708,1
    - Dst: g_dbus_message_get_serial
      Src: /src/glib/gio/gdbusmessage.c:708,1
    - Dst: g_dbus_message_new
      Src: /src/glib/gio/gdbusmessage.c:710,1
    - Dst: g_dbus_message_set_reply_serial
      Src: /src/glib/gio/gdbusmessage.c:716,1
    - Dst: g_dbus_message_get_serial
      Src: /src/glib/gio/gdbusmessage.c:716,1
    - Dst: g_dbus_message_get_sender
      Src: /src/glib/gio/gdbusmessage.c:717,1
    - Dst: g_dbus_message_set_destination
      Src: /src/glib/gio/gdbusmessage.c:719,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 722
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 722
    functionName: g_dbus_message_new_method_reply
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_dbus_message_get_serial
    - g_return_val_if_fail
    - G_IS_DBUS_MESSAGE
    - g_dbus_message_set_destination
    - g_dbus_message_get_message_type
    - g_dbus_message_new
    - g_dbus_message_get_sender
    - g_dbus_message_set_reply_serial
    linkageType: ''
    returnType: GDBusMessage*
    signature: 'GDBusMessage *g_dbus_message_new_method_reply (GDBusMessage *method_call_message) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:934,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:934,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - message
    argTypes:
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 936
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 936
    functionName: g_dbus_message_get_flags
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DBUS_MESSAGE
    linkageType: ''
    returnType: GDBusMessageFlags
    signature: 'GDBusMessageFlags g_dbus_message_get_flags (GDBusMessage *message) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusmessage.c:2912,1
    - Dst: g_variant_iter_next_value
      Src: /src/glib/gio/gdbusmessage.c:2922,1
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/gdbusmessage.c:2921,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:2914,1
    - Dst: append_value_to_blob
      Src: /src/glib/gio/gdbusmessage.c:2924,1
    - Dst: g_variant_get_type
      Src: /src/glib/gio/gdbusmessage.c:2925,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmessage.c:2930,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmessage.c:2933,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 3
    argNames:
    - value
    - mbuf
    - error
    argTypes:
    - GVariant*
    - GMemoryBuffer*
    - GError**
    constantsTouched: []
    func_position:
      end: 2939
      start: 2904
    functionDepth: 0
    functionLinenumber: 2904
    functionLinenumberEnd: 2939
    functionName: append_body_to_blob
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_variant_iter_init
    - g_variant_is_of_type
    - g_variant_get_type
    - g_variant_unref
    - g_variant_iter_next_value
    - append_value_to_blob
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean append_body_to_blob (GVariant *value, GMemoryBuffer
      *mbuf, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusmessage.c:3146,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusmessage.c:3146,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusmessage.c:3147,1
    - Dst: g_variant_get_uint32
      Src: /src/glib/gio/gdbusmessage.c:3148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - message
    - header_field
    argTypes:
    - GDBusMessage*
    - GDBusMessageHeaderField
    constantsTouched: []
    func_position:
      end: 3151
      start: 3138
    functionDepth: 0
    functionLinenumber: 3138
    functionLinenumberEnd: 3151
    functionName: get_uint32_header
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - GUINT_TO_POINTER
    - g_hash_table_lookup
    - g_variant_get_uint32
    - g_variant_is_of_type
    linkageType: ''
    returnType: guint32
    signature: 'static guint32 get_uint32_header (GDBusMessage *message, GDBusMessageHeaderField
      header_field) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3656,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:3656,1
    - Dst: g_dbus_message_get_body
      Src: /src/glib/gio/gdbusmessage.c:3667,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusmessage.c:3669,1
    - Dst: g_dbus_message_get_error_name
      Src: /src/glib/gio/gdbusmessage.c:3662,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusmessage.c:3669,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusmessage.c:3672,1
    - Dst: g_dbus_error_set_dbus_error
      Src: /src/glib/gio/gdbusmessage.c:3673,1
    - Dst: g_dbus_error_set_dbus_error
      Src: /src/glib/gio/gdbusmessage.c:3683,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:3686,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusmessage.c:3687,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:3694,1
    - Dst: g_dbus_error_set_dbus_error
      Src: /src/glib/gio/gdbusmessage.c:3691,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:3703,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 2
    argNames:
    - message
    - error
    argTypes:
    - GDBusMessage*
    - GError**
    constantsTouched: []
    func_position:
      end: 3713
      start: 3649
    functionDepth: 0
    functionLinenumber: 3649
    functionLinenumberEnd: 3713
    functionName: g_dbus_message_to_gerror
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_return_val_if_fail
    - G_IS_DBUS_MESSAGE
    - g_variant_is_of_type
    - g_dbus_message_get_error_name
    - g_dbus_message_get_body
    - g_variant_get
    - g_dbus_error_set_dbus_error
    - _
    - g_variant_get_type_string
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dbus_message_to_gerror (GDBusMessage *message, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GUINT32_TO_BE
      Src: /src/glib/gio/gdbusmessage.c:402,1
    - Dst: g_memory_buffer_write
      Src: /src/glib/gio/gdbusmessage.c:412,1
    - Dst: GUINT32_TO_LE
      Src: /src/glib/gio/gdbusmessage.c:405,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - mbuf
    - data
    argTypes:
    - GMemoryBuffer*
    - guint32
    constantsTouched: []
    func_position:
      end: 413
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 413
    functionName: g_memory_buffer_put_uint32
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_memory_buffer_write
    - GUINT32_TO_LE
    - GUINT32_TO_BE
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_memory_buffer_put_uint32 (GMemoryBuffer *mbuf,\t\
      \t\t guint32 data) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GUINT64_TO_BE
      Src: /src/glib/gio/gdbusmessage.c:442,1
    - Dst: g_memory_buffer_write
      Src: /src/glib/gio/gdbusmessage.c:452,1
    - Dst: GUINT64_TO_LE
      Src: /src/glib/gio/gdbusmessage.c:445,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - mbuf
    - data
    argTypes:
    - GMemoryBuffer*
    - guint64
    constantsTouched: []
    func_position:
      end: 453
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 453
    functionName: g_memory_buffer_put_uint64
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_memory_buffer_write
    - GUINT64_TO_LE
    - GUINT64_TO_BE
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_memory_buffer_put_uint64 (GMemoryBuffer *mbuf,\t\
      \t\t guint64 data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusmessage.c:3161,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusmessage.c:3161,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusmessage.c:3162,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gdbusmessage.c:3163,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3166
      start: 3153
    functionDepth: 0
    functionLinenumber: 3153
    functionLinenumberEnd: 3166
    functionName: get_string_header
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - GUINT_TO_POINTER
    - g_hash_table_lookup
    - g_variant_is_of_type
    - g_variant_get_string
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *get_string_header (GDBusMessage *message, GDBusMessageHeaderField
      header_field) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:2385,1
    - Dst: g_memory_buffer_read_byte
      Src: /src/glib/gio/gdbusmessage.c:2399,1
    - Dst: g_memory_buffer_read_uint32
      Src: /src/glib/gio/gdbusmessage.c:2414,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusmessage.c:2429,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusmessage.c:2423,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:2404,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmessage.c:2452,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:2477,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusmessage.c:2484,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:2492,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:2528,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:2542,1
    - Dst: validate_headers
      Src: /src/glib/gio/gdbusmessage.c:2540,1
    - Dst: g_variant_type_string_is_valid
      Src: /src/glib/gio/gdbusmessage.c:2487,1
    - Dst: g_variant_n_children
      Src: /src/glib/gio/gdbusmessage.c:2513,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusmessage.c:2549,1
    - Dst: g_dngettext
      Src: /src/glib/gio/gdbusmessage.c:2531,1
    - Dst: g_dbus_message_new
      Src: /src/glib/gio/gdbusmessage.c:2364,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:2388,1
    - Dst: g_memory_buffer_read_byte
      Src: /src/glib/gio/gdbusmessage.c:2393,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:2407,1
    - Dst: g_memory_buffer_read_uint32
      Src: /src/glib/gio/gdbusmessage.c:2411,1
    - Dst: _g_dbus_hexdump
      Src: /src/glib/gio/gdbusmessage.c:2422,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusmessage.c:2432,1
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/gdbusmessage.c:2439,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusmessage.c:2444,1
    - Dst: g_dbus_message_set_header
      Src: /src/glib/gio/gdbusmessage.c:2448,1
    - Dst: g_dbus_message_get_header
      Src: /src/glib/gio/gdbusmessage.c:2454,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusmessage.c:2494,1
    - Dst: g_variant_type_new
      Src: /src/glib/gio/gdbusmessage.c:2498,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gdbusmessage.c:2550,1
    - Dst: g_variant_type_free
      Src: /src/glib/gio/gdbusmessage.c:2509,1
    - Dst: memset
      Src: /src/glib/gio/gdbusmessage.c:2366,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:2362,1
    - Dst: g_memory_buffer_read_byte
      Src: /src/glib/gio/gdbusmessage.c:2396,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusmessage.c:2424,1
    - Dst: g_variant_iter_next_value
      Src: /src/glib/gio/gdbusmessage.c:2440,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmessage.c:2450,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusmessage.c:2460,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusmessage.c:2462,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:2465,1
    - Dst: g_variant_is_signature
      Src: /src/glib/gio/gdbusmessage.c:2486,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusmessage.c:2512,1
    - Dst: parse_value_from_blob
      Src: /src/glib/gio/gdbusmessage.c:2503,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusmessage.c:2499,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:2361,1
    - Dst: g_memory_buffer_read_byte
      Src: /src/glib/gio/gdbusmessage.c:2370,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusmessage.c:2419,1
    - Dst: parse_value_from_blob
      Src: /src/glib/gio/gdbusmessage.c:2431,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmessage.c:2449,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gdbusmessage.c:2469,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:2474,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:2489,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusmessage.c:2501,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/gio/gdbusmessage.c:2514,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/gdbusmessage.c:2542,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 117
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2552
      start: 2342
    functionDepth: 0
    functionLinenumber: 2342
    functionLinenumberEnd: 2552
    functionName: g_dbus_message_new_from_blob
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_dngettext
    - g_strdup_printf
    - g_prefix_error
    - g_set_error_literal
    - g_variant_type_new
    - g_dbus_message_get_header
    - g_variant_is_of_type
    - parse_value_from_blob
    - g_variant_get_string
    - g_variant_unref
    - g_clear_object
    - g_print
    - g_variant_get
    - g_variant_get_child_value
    - validate_headers
    - g_set_error
    - g_variant_iter_init
    - g_dbus_message_set_header
    - g_memory_buffer_read_uint32
    - g_dbus_message_new
    - g_variant_type_string_is_valid
    - g_memory_buffer_read_byte
    - g_variant_iter_next_value
    - _
    - G_VARIANT_TYPE
    - memset
    - g_propagate_error
    - g_return_val_if_fail
    - g_variant_is_signature
    - g_variant_type_free
    - g_variant_n_children
    - _g_dbus_hexdump
    - g_free
    linkageType: ''
    returnType: GDBusMessage*
    signature: 'GDBusMessage *g_dbus_message_new_from_blob (guchar *blob, gsize blob_len,
      GDBusCapabilityFlags capabilities, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:673,1
    - Dst: g_dbus_is_member_name
      Src: /src/glib/gio/gdbusmessage.c:674,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:675,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:674,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusmessage.c:673,1
    - Dst: g_dbus_is_interface_name
      Src: /src/glib/gio/gdbusmessage.c:675,1
    - Dst: g_dbus_message_new
      Src: /src/glib/gio/gdbusmessage.c:677,1
    - Dst: g_dbus_message_set_path
      Src: /src/glib/gio/gdbusmessage.c:681,1
    - Dst: g_dbus_message_set_member
      Src: /src/glib/gio/gdbusmessage.c:682,1
    - Dst: g_dbus_message_set_interface
      Src: /src/glib/gio/gdbusmessage.c:683,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 686
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 686
    functionName: g_dbus_message_new_signal
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_dbus_message_set_path
    - g_dbus_message_set_member
    - g_dbus_message_new
    - g_dbus_is_interface_name
    - g_dbus_message_set_interface
    - g_dbus_is_member_name
    - g_variant_is_object_path
    linkageType: ''
    returnType: GDBusMessage*
    signature: 'GDBusMessage *g_dbus_message_new_signal (const gchar *path, const
      gchar *interface_, const gchar *signal) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:2279,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:2281,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:2280,1
    - Dst: GUINT32_FROM_LE
      Src: /src/glib/gio/gdbusmessage.c:2286,1
    - Dst: GUINT32_FROM_LE
      Src: /src/glib/gio/gdbusmessage.c:2290,1
    - Dst: GUINT32_FROM_BE
      Src: /src/glib/gio/gdbusmessage.c:2295,1
    - Dst: GUINT32_FROM_BE
      Src: /src/glib/gio/gdbusmessage.c:2299,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:2303,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:2311,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 3
    argNames:
    - blob
    - blob_len
    - error
    argTypes:
    - guchar*
    - gsize
    - GError**
    constantsTouched: []
    func_position:
      end: 2319
      start: 2270
    functionDepth: 0
    functionLinenumber: 2270
    functionLinenumberEnd: 2319
    functionName: g_dbus_message_bytes_needed
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_set_error
    - GUINT32_FROM_LE
    - g_return_val_if_fail
    - GUINT32_FROM_BE
    linkageType: ''
    returnType: gssize
    signature: 'gssize g_dbus_message_bytes_needed (guchar *blob, gsize blob_len,
      GError **error) '
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: ensure_output_padding
      Src: /src/glib/gio/gdbusmessage.c:2646,1
    - Dst: g_variant_get_uint64
      Src: /src/glib/gio/gdbusmessage.c:2658,1
    - Dst: get_type_fixed_size
      Src: /src/glib/gio/gdbusmessage.c:2763,1
    - Dst: g_variant_type_is_variant
      Src: /src/glib/gio/gdbusmessage.c:2860,1
    - Dst: append_value_to_blob
      Src: /src/glib/gio/gdbusmessage.c:2768,1
    - Dst: g_memory_buffer_put_int32
      Src: /src/glib/gio/gdbusmessage.c:2632,1
    - Dst: g_variant_byteswap
      Src: /src/glib/gio/gdbusmessage.c:2781,1
    - Dst: g_memory_buffer_put_uint32
      Src: /src/glib/gio/gdbusmessage.c:2821,1
    - Dst: g_memory_buffer_put_string
      Src: /src/glib/gio/gdbusmessage.c:2869,1
    - Dst: append_value_to_blob
      Src: /src/glib/gio/gdbusmessage.c:2871,1
    - Dst: g_memory_buffer_put_uint32
      Src: /src/glib/gio/gdbusmessage.c:2745,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gdbusmessage.c:2712,1
    - Dst: strlen
      Src: /src/glib/gio/gdbusmessage.c:2868,1
    - Dst: g_variant_iter_next_value
      Src: /src/glib/gio/gdbusmessage.c:2796,1
    - Dst: g_variant_type_is_tuple
      Src: /src/glib/gio/gdbusmessage.c:2828,1
    - Dst: g_memory_buffer_put_int16
      Src: /src/glib/gio/gdbusmessage.c:2614,1
    - Dst: g_memory_buffer_put_byte
      Src: /src/glib/gio/gdbusmessage.c:2691,1
    - Dst: g_variant_get_handle
      Src: /src/glib/gio/gdbusmessage.c:2724,1
    - Dst: g_variant_get_type
      Src: /src/glib/gio/gdbusmessage.c:2848,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmessage.c:2853,1
    - Dst: ensure_output_padding
      Src: /src/glib/gio/gdbusmessage.c:2593,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusmessage.c:2701,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gdbusmessage.c:2783,1
    - Dst: ensure_output_padding
      Src: /src/glib/gio/gdbusmessage.c:2619,1
    - Dst: g_variant_get_int32
      Src: /src/glib/gio/gdbusmessage.c:2631,1
    - Dst: g_memory_buffer_put_int64
      Src: /src/glib/gio/gdbusmessage.c:2650,1
    - Dst: g_memory_buffer_put_uint32
      Src: /src/glib/gio/gdbusmessage.c:2702,1
    - Dst: g_memory_buffer_put_byte
      Src: /src/glib/gio/gdbusmessage.c:2716,1
    - Dst: ensure_output_padding
      Src: /src/glib/gio/gdbusmessage.c:2696,1
    - Dst: g_memory_buffer_is_byteswapped
      Src: /src/glib/gio/gdbusmessage.c:2780,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusmessage.c:2832,1
    - Dst: ensure_output_padding
      Src: /src/glib/gio/gdbusmessage.c:2664,1
    - Dst: g_memory_buffer_put_uint64
      Src: /src/glib/gio/gdbusmessage.c:2673,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusmessage.c:2688,1
    - Dst: g_memory_buffer_put_string
      Src: /src/glib/gio/gdbusmessage.c:2690,1
    - Dst: g_memory_buffer_put_string
      Src: /src/glib/gio/gdbusmessage.c:2703,1
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/gdbusmessage.c:2795,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/gio/gdbusmessage.c:2866,1
    - Dst: g_variant_type_is_dict_entry
      Src: /src/glib/gio/gdbusmessage.c:2828,1
    - Dst: g_memory_buffer_write
      Src: /src/glib/gio/gdbusmessage.c:2788,1
    - Dst: g_variant_get_int16
      Src: /src/glib/gio/gdbusmessage.c:2613,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusmessage.c:2713,1
    - Dst: append_value_to_blob
      Src: /src/glib/gio/gdbusmessage.c:2799,1
    - Dst: g_variant_get_size
      Src: /src/glib/gio/gdbusmessage.c:2787,1
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/gdbusmessage.c:2844,1
    - Dst: g_memory_buffer_put_uint32
      Src: /src/glib/gio/gdbusmessage.c:2641,1
    - Dst: ensure_output_padding
      Src: /src/glib/gio/gdbusmessage.c:2678,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gdbusmessage.c:2700,1
    - Dst: g_variant_type_element
      Src: /src/glib/gio/gdbusmessage.c:2762,1
    - Dst: g_variant_n_children
      Src: /src/glib/gio/gdbusmessage.c:2765,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmessage.c:2805,1
    - Dst: g_variant_get_type
      Src: /src/glib/gio/gdbusmessage.c:2872,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:2888,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gdbusmessage.c:2687,1
    - Dst: g_variant_get_type
      Src: /src/glib/gio/gdbusmessage.c:2800,1
    - Dst: g_memory_buffer_put_byte
      Src: /src/glib/gio/gdbusmessage.c:2605,1
    - Dst: g_variant_get_int64
      Src: /src/glib/gio/gdbusmessage.c:2649,1
    - Dst: G_STATIC_ASSERT
      Src: /src/glib/gio/gdbusmessage.c:2671,1
    - Dst: g_memory_buffer_put_uint32
      Src: /src/glib/gio/gdbusmessage.c:2689,1
    - Dst: g_memory_buffer_put_byte
      Src: /src/glib/gio/gdbusmessage.c:2870,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmessage.c:2880,1
    - Dst: ensure_output_padding
      Src: /src/glib/gio/gdbusmessage.c:2721,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:2835,1
    - Dst: g_memory_buffer_put_uint16
      Src: /src/glib/gio/gdbusmessage.c:2623,1
    - Dst: g_variant_get_double
      Src: /src/glib/gio/gdbusmessage.c:2672,1
    - Dst: ensure_output_padding
      Src: /src/glib/gio/gdbusmessage.c:2839,1
    - Dst: append_value_to_blob
      Src: /src/glib/gio/gdbusmessage.c:2847,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmessage.c:2877,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:2885,1
    - Dst: ensure_output_padding
      Src: /src/glib/gio/gdbusmessage.c:2637,1
    - Dst: g_variant_get_uint32
      Src: /src/glib/gio/gdbusmessage.c:2640,1
    - Dst: ensure_output_padding
      Src: /src/glib/gio/gdbusmessage.c:2628,1
    - Dst: g_memory_buffer_put_uint64
      Src: /src/glib/gio/gdbusmessage.c:2659,1
    - Dst: g_variant_type_first
      Src: /src/glib/gio/gdbusmessage.c:2830,1
    - Dst: g_variant_is_signature
      Src: /src/glib/gio/gdbusmessage.c:2713,1
    - Dst: g_variant_iter_next_value
      Src: /src/glib/gio/gdbusmessage.c:2845,1
    - Dst: g_memory_buffer_put_byte
      Src: /src/glib/gio/gdbusmessage.c:2714,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmessage.c:2789,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/gio/gdbusmessage.c:2586,1
    - Dst: g_variant_get_boolean
      Src: /src/glib/gio/gdbusmessage.c:2596,1
    - Dst: g_variant_get_byte
      Src: /src/glib/gio/gdbusmessage.c:2604,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmessage.c:2808,1
    - Dst: ensure_output_padding
      Src: /src/glib/gio/gdbusmessage.c:2740,1
    - Dst: g_memory_buffer_put_byte
      Src: /src/glib/gio/gdbusmessage.c:2704,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmessage.c:2856,1
    - Dst: g_memory_buffer_put_string
      Src: /src/glib/gio/gdbusmessage.c:2715,1
    - Dst: ensure_output_padding
      Src: /src/glib/gio/gdbusmessage.c:2610,1
    - Dst: g_variant_get_uint16
      Src: /src/glib/gio/gdbusmessage.c:2622,1
    - Dst: g_utf8_validate
      Src: /src/glib/gio/gdbusmessage.c:2688,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusmessage.c:2867,1
    - Dst: g_memory_buffer_put_byte
      Src: /src/glib/gio/gdbusmessage.c:2868,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusmessage.c:2889,1
    - Dst: g_variant_get_data
      Src: /src/glib/gio/gdbusmessage.c:2788,1
    - Dst: g_memory_buffer_put_uint32
      Src: /src/glib/gio/gdbusmessage.c:2597,1
    - Dst: ensure_output_padding
      Src: /src/glib/gio/gdbusmessage.c:2655,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusmessage.c:2701,1
    - Dst: g_memory_buffer_put_int32
      Src: /src/glib/gio/gdbusmessage.c:2725,1
    - Dst: ensure_output_padding
      Src: /src/glib/gio/gdbusmessage.c:2785,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 200
    argCount: 5
    argNames:
    - value
    - type
    - mbuf
    - out_padding_added
    - error
    argTypes:
    - GVariant*
    - GVariantType*
    - GMemoryBuffer*
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 2902
      start: 2576
    functionDepth: 0
    functionLinenumber: 2576
    functionLinenumberEnd: 2902
    functionName: append_value_to_blob
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_memory_buffer_put_uint64
    - g_memory_buffer_write
    - g_variant_get_handle
    - g_variant_get_size
    - g_set_error_literal
    - g_memory_buffer_is_byteswapped
    - g_variant_get_double
    - g_variant_is_object_path
    - g_memory_buffer_put_int16
    - g_variant_get_int16
    - append_value_to_blob
    - g_variant_type_is_variant
    - g_memory_buffer_put_int64
    - g_variant_get_string
    - g_variant_unref
    - get_type_fixed_size
    - g_variant_get_uint64
    - g_variant_type_element
    - g_variant_get_type_string
    - g_variant_get_child_value
    - g_memory_buffer_put_string
    - g_variant_get_boolean
    - g_variant_iter_init
    - g_set_error
    - g_variant_type_is_dict_entry
    - g_variant_get_type
    - g_variant_get_int32
    - g_variant_get_int64
    - g_variant_byteswap
    - strlen
    - g_variant_iter_next_value
    - g_variant_type_first
    - g_variant_get_data
    - g_memory_buffer_put_int32
    - g_variant_get_uint16
    - g_variant_get_byte
    - _
    - g_memory_buffer_put_byte
    - ensure_output_padding
    - g_memory_buffer_put_uint16
    - G_STATIC_ASSERT
    - g_variant_get_uint32
    - g_variant_is_signature
    - g_variant_type_is_tuple
    - g_assert
    - g_variant_n_children
    - g_variant_type_peek_string
    - g_memory_buffer_put_uint32
    - g_utf8_validate
    - g_variant_ref
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean append_value_to_blob (GVariant *value, const GVariantType
      *type, GMemoryBuffer *mbuf, gsize *out_padding_added, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_memory_buffer_put_byte
      Src: /src/glib/gio/gdbusmessage.c:2570,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - mbuf
    - padding_size
    argTypes:
    - GMemoryBuffer*
    - gsize
    constantsTouched: []
    func_position:
      end: 2573
      start: 2556
    functionDepth: 0
    functionLinenumber: 2556
    functionLinenumberEnd: 2573
    functionName: ensure_output_padding
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_memory_buffer_put_byte
    linkageType: ''
    returnType: gsize
    signature: 'static gsize ensure_output_padding (GMemoryBuffer *mbuf, gsize padding_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3585,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusmessage.c:3588,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gdbusmessage.c:3589,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:3585,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3592
      start: 3582
    functionDepth: 0
    functionLinenumber: 3582
    functionLinenumberEnd: 3592
    functionName: g_dbus_message_get_arg0_path
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DBUS_MESSAGE
    - g_variant_is_of_type
    - g_variant_get_string
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_dbus_message_get_arg0_path (GDBusMessage *message) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3560,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gdbusmessage.c:3564,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusmessage.c:3563,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:3560,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3567
      start: 3557
    functionDepth: 0
    functionLinenumber: 3557
    functionLinenumberEnd: 3567
    functionName: g_dbus_message_get_arg0
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DBUS_MESSAGE
    - g_variant_is_of_type
    - g_variant_get_string
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_dbus_message_get_arg0 (GDBusMessage *message) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3493,1
    - Dst: set_string_header
      Src: /src/glib/gio/gdbusmessage.c:3495,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:3493,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3494,1
    - Dst: g_dbus_is_error_name
      Src: /src/glib/gio/gdbusmessage.c:3494,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - message
    - value
    argTypes:
    - GDBusMessage*
    - gchar*
    constantsTouched: []
    func_position:
      end: 3496
      start: 3489
    functionDepth: 0
    functionLinenumber: 3489
    functionLinenumberEnd: 3496
    functionName: g_dbus_message_set_error_name
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - set_string_header
    - g_dbus_is_error_name
    - G_IS_DBUS_MESSAGE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_message_set_error_name (GDBusMessage *message, const gchar
      *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3476,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:3476,1
    - Dst: get_string_header
      Src: /src/glib/gio/gdbusmessage.c:3477,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3478
      start: 3473
    functionDepth: 0
    functionLinenumber: 3473
    functionLinenumberEnd: 3478
    functionName: g_dbus_message_get_error_name
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - get_string_header
    - g_return_val_if_fail
    - G_IS_DBUS_MESSAGE
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_dbus_message_get_error_name (GDBusMessage *message) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:1153,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:1153,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:1154,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusmessage.c:1154,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusmessage.c:1158,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmessage.c:1163,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdbusmessage.c:1165,1
    - Dst: g_dbus_message_set_signature
      Src: /src/glib/gio/gdbusmessage.c:1170,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdbusmessage.c:1178,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusmessage.c:1180,1
    - Dst: strlen
      Src: /src/glib/gio/gdbusmessage.c:1185,1
    - Dst: g_strndup
      Src: /src/glib/gio/gdbusmessage.c:1187,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusmessage.c:1186,1
    - Dst: g_dbus_message_set_signature
      Src: /src/glib/gio/gdbusmessage.c:1188,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusmessage.c:1189,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusmessage.c:1184,1
    - Dst: g_variant_n_children
      Src: /src/glib/gio/gdbusmessage.c:1181,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/gio/gdbusmessage.c:1182,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 2
    argNames:
    - message
    - body
    argTypes:
    - GDBusMessage*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 1191
      start: 1149
    functionDepth: 0
    functionLinenumber: 1149
    functionLinenumberEnd: 1191
    functionName: g_dbus_message_set_body
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - g_warning
    - G_IS_DBUS_MESSAGE
    - g_variant_is_of_type
    - g_return_if_fail
    - g_variant_n_children
    - strlen
    - g_assert
    - g_strndup
    - g_clear_pointer
    - g_variant_unref
    - g_variant_get_type_string
    - g_variant_get_child_value
    - g_free
    - g_dbus_message_set_signature
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_message_set_body (GDBusMessage *message, GVariant *body) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _g_dbus_enum_to_string
      Src: /src/glib/gio/gdbusmessage.c:3816,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusmessage.c:3836,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gio/gdbusmessage.c:3832,1
    - Dst: g_variant_print
      Src: /src/glib/gio/gdbusmessage.c:3840,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusmessage.c:3842,1
    - Dst: g_variant_print_string
      Src: /src/glib/gio/gdbusmessage.c:3854,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusmessage.c:3860,1
    - Dst: major
      Src: /src/glib/gio/gdbusmessage.c:3883,1
    - Dst: minor
      Src: /src/glib/gio/gdbusmessage.c:3895,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusmessage.c:3909,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbusmessage.c:3926,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusmessage.c:3917,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusmessage.c:3887,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusmessage.c:3903,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3812,1
    - Dst: g_string_new
      Src: /src/glib/gio/gdbusmessage.c:3814,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusmessage.c:3818,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusmessage.c:3820,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusmessage.c:3825,1
    - Dst: g_hash_table_get_keys
      Src: /src/glib/gio/gdbusmessage.c:3826,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusmessage.c:3862,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusmessage.c:3894,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusmessage.c:3897,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusmessage.c:3899,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusmessage.c:3922,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:3812,1
    - Dst: flags_to_string
      Src: /src/glib/gio/gdbusmessage.c:3819,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusmessage.c:3823,1
    - Dst: _g_dbus_enum_to_string
      Src: /src/glib/gio/gdbusmessage.c:3839,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusmessage.c:3841,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusmessage.c:3848,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusmessage.c:3851,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusmessage.c:3864,1
    - Dst: g_unix_fd_list_peek_fds
      Src: /src/glib/gio/gdbusmessage.c:3871,1
    - Dst: fstat
      Src: /src/glib/gio/gdbusmessage.c:3879,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusmessage.c:3891,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusmessage.c:3901,1
    - Dst: minor
      Src: /src/glib/gio/gdbusmessage.c:3883,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusmessage.c:3911,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbusmessage.c:3912,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusmessage.c:3889,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusmessage.c:3817,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusmessage.c:3821,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusmessage.c:3822,1
    - Dst: g_list_sort
      Src: /src/glib/gio/gdbusmessage.c:3827,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusmessage.c:3837,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusmessage.c:3843,1
    - Dst: g_list_free
      Src: /src/glib/gio/gdbusmessage.c:3850,1
    - Dst: g_string_new
      Src: /src/glib/gio/gdbusmessage.c:3878,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusmessage.c:3882,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusmessage.c:3885,1
    - Dst: g_strerror
      Src: /src/glib/gio/gdbusmessage.c:3909,1
    - Dst: major
      Src: /src/glib/gio/gdbusmessage.c:3895,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 97
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3927
      start: 3803
    functionDepth: 0
    functionLinenumber: 3803
    functionLinenumberEnd: 3927
    functionName: g_dbus_message_print
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - major
    - fstat
    - g_strerror
    - g_variant_print_string
    - flags_to_string
    - _g_dbus_enum_to_string
    - g_hash_table_lookup
    - g_list_free
    - g_hash_table_get_keys
    - GPOINTER_TO_INT
    - g_unix_fd_list_peek_fds
    - minor
    - g_list_sort
    - g_variant_print
    - g_string_new
    - g_string_append_printf
    - g_string_append
    - g_return_val_if_fail
    - G_IS_DBUS_MESSAGE
    - g_assert
    - g_string_free
    - g_free
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_dbus_message_print (GDBusMessage *message, guint indent) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_realloc
      Src: /src/glib/gio/gdbusmessage.c:273,1
    - Dst: memset
      Src: /src/glib/gio/gdbusmessage.c:276,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - mbuf
    - size
    argTypes:
    - GMemoryBuffer*
    - gsize
    constantsTouched: []
    func_position:
      end: 283
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 283
    functionName: array_resize
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_realloc
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void array_resize (GMemoryBuffer *mbuf, gsize size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:905,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:905,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusmessage.c:910,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:906,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - message
    - type
    argTypes:
    - GDBusMessage*
    - GDBusMessageType
    constantsTouched: []
    func_position:
      end: 915
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 915
    functionName: g_dbus_message_set_message_type
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_warning
    - G_IS_DBUS_MESSAGE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_message_set_message_type (GDBusMessage *message, GDBusMessageType
      type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:999,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:1003,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusmessage.c:1007,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:999,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - message
    - serial
    argTypes:
    - GDBusMessage*
    - guint32
    constantsTouched: []
    func_position:
      end: 1012
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 1012
    functionName: g_dbus_message_set_serial
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_warning
    - G_IS_DBUS_MESSAGE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_message_set_serial (GDBusMessage *message, guint32 serial) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gio/gdbusmessage.c:3753,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gio/gdbusmessage.c:3754,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 3757
      start: 3746
    functionDepth: 0
    functionLinenumber: 3746
    functionLinenumberEnd: 3757
    functionName: _sort_keys_func
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    linkageType: ''
    returnType: gint
    signature: 'static gint _sort_keys_func (gconstpointer a, gconstpointer b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - mbuf
    argTypes:
    - GMemoryBuffer*
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: g_memory_buffer_is_byteswapped
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_memory_buffer_is_byteswapped (GMemoryBuffer *mbuf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_message_get_header
      Src: /src/glib/gio/gdbusmessage.c:1373,1
    - Dst: message_header_field_to_string
      Src: /src/glib/gio/gdbusmessage.c:1382,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:1380,1
    - Dst: message_type_to_string
      Src: /src/glib/gio/gdbusmessage.c:1381,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:1377,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - message
    - field
    - error
    argTypes:
    - GDBusMessage*
    - GDBusMessageHeaderField
    - GError**
    constantsTouched: []
    func_position:
      end: 1387
      start: 1368
    functionDepth: 0
    functionLinenumber: 1368
    functionLinenumberEnd: 1387
    functionName: require_header
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_dbus_message_get_header
    - message_header_field_to_string
    - message_type_to_string
    - _
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean require_header (GDBusMessage *message, GDBusMessageHeaderField
      field, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3345,1
    - Dst: set_string_header
      Src: /src/glib/gio/gdbusmessage.c:3347,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:3345,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3346,1
    - Dst: g_dbus_is_member_name
      Src: /src/glib/gio/gdbusmessage.c:3346,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - message
    - value
    argTypes:
    - GDBusMessage*
    - gchar*
    constantsTouched: []
    func_position:
      end: 3348
      start: 3341
    functionDepth: 0
    functionLinenumber: 3341
    functionLinenumberEnd: 3348
    functionName: g_dbus_message_set_member
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_dbus_is_member_name
    - set_string_header
    - G_IS_DBUS_MESSAGE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_message_set_member (GDBusMessage *message, const gchar
      *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3272,1
    - Dst: set_uint32_header
      Src: /src/glib/gio/gdbusmessage.c:3273,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:3272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - message
    - value
    argTypes:
    - GDBusMessage*
    - guint32
    constantsTouched: []
    func_position:
      end: 3274
      start: 3268
    functionDepth: 0
    functionLinenumber: 3268
    functionLinenumberEnd: 3274
    functionName: g_dbus_message_set_reply_serial
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - set_uint32_header
    - G_IS_DBUS_MESSAGE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_message_set_reply_serial (GDBusMessage *message, guint32
      value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:91,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:95,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - mbuf
    - error
    argTypes:
    - GMemoryBuffer*
    - GError**
    constantsTouched: []
    func_position:
      end: 102
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 102
    functionName: g_memory_buffer_read_byte
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_return_val_if_fail
    linkageType: ''
    returnType: guchar
    signature: 'static guchar g_memory_buffer_read_byte (GMemoryBuffer *mbuf, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3255,1
    - Dst: get_uint32_header
      Src: /src/glib/gio/gdbusmessage.c:3256,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:3255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - message
    argTypes:
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 3257
      start: 3252
    functionDepth: 0
    functionLinenumber: 3252
    functionLinenumberEnd: 3257
    functionName: g_dbus_message_get_reply_serial
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - get_uint32_header
    - g_return_val_if_fail
    - G_IS_DBUS_MESSAGE
    linkageType: ''
    returnType: guint32
    signature: 'guint32 g_dbus_message_get_reply_serial (GDBusMessage *message) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3328,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:3328,1
    - Dst: get_string_header
      Src: /src/glib/gio/gdbusmessage.c:3329,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3330
      start: 3325
    functionDepth: 0
    functionLinenumber: 3325
    functionLinenumberEnd: 3330
    functionName: g_dbus_message_get_member
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - get_string_header
    - g_return_val_if_fail
    - G_IS_DBUS_MESSAGE
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_dbus_message_get_member (GDBusMessage *message) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_message_set_header
      Src: /src/glib/gio/gdbusmessage.c:3205,1
    - Dst: g_variant_new_uint32
      Src: /src/glib/gio/gdbusmessage.c:3207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - message
    - header_field
    - value
    argTypes:
    - GDBusMessage*
    - GDBusMessageHeaderField
    - guint32
    constantsTouched: []
    func_position:
      end: 3208
      start: 3200
    functionDepth: 0
    functionLinenumber: 3200
    functionLinenumberEnd: 3208
    functionName: set_uint32_header
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_variant_new_uint32
    - g_dbus_message_set_header
    linkageType: ''
    returnType: void
    signature: 'static void set_uint32_header (GDBusMessage *message, GDBusMessageHeaderField
      header_field, guint32 value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_message_set_header
      Src: /src/glib/gio/gdbusmessage.c:3225,1
    - Dst: g_variant_new_object_path
      Src: /src/glib/gio/gdbusmessage.c:3227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - message
    - header_field
    - value
    argTypes:
    - GDBusMessage*
    - GDBusMessageHeaderField
    - gchar*
    constantsTouched: []
    func_position:
      end: 3228
      start: 3220
    functionDepth: 0
    functionLinenumber: 3220
    functionLinenumberEnd: 3228
    functionName: set_object_path_header
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_variant_new_object_path
    - g_dbus_message_set_header
    linkageType: ''
    returnType: void
    signature: 'static void set_object_path_header (GDBusMessage *message, GDBusMessageHeaderField
      header_field, const gchar *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_message_set_header
      Src: /src/glib/gio/gdbusmessage.c:3215,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gdbusmessage.c:3217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - message
    - header_field
    - value
    argTypes:
    - GDBusMessage*
    - GDBusMessageHeaderField
    - gchar*
    constantsTouched: []
    func_position:
      end: 3218
      start: 3210
    functionDepth: 0
    functionLinenumber: 3210
    functionLinenumberEnd: 3218
    functionName: set_string_header
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_variant_new_string
    - g_dbus_message_set_header
    linkageType: ''
    returnType: void
    signature: 'static void set_string_header (GDBusMessage *message, GDBusMessageHeaderField
      header_field, const gchar *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_message_set_header
      Src: /src/glib/gio/gdbusmessage.c:3235,1
    - Dst: g_variant_new_signature
      Src: /src/glib/gio/gdbusmessage.c:3237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - message
    - header_field
    - value
    argTypes:
    - GDBusMessage*
    - GDBusMessageHeaderField
    - gchar*
    constantsTouched: []
    func_position:
      end: 3238
      start: 3230
    functionDepth: 0
    functionLinenumber: 3230
    functionLinenumberEnd: 3238
    functionName: set_signature_header
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_variant_new_signature
    - g_dbus_message_set_header
    linkageType: ''
    returnType: void
    signature: 'static void set_signature_header (GDBusMessage *message, GDBusMessageHeaderField
      header_field, const gchar *value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3997,1
    - Dst: g_unix_fd_list_new
      Src: /src/glib/gio/gdbusmessage.c:4014,1
    - Dst: g_dbus_message_new
      Src: /src/glib/gio/gdbusmessage.c:4000,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3998,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:3997,1
    - Dst: g_unix_fd_list_peek_fds
      Src: /src/glib/gio/gdbusmessage.c:4015,1
    - Dst: g_unix_fd_list_append
      Src: /src/glib/gio/gdbusmessage.c:4018,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusmessage.c:4022,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gdbusmessage.c:4033,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gdbusmessage.c:4034,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gdbusmessage.c:4035,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gdbusmessage.c:4037,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gdbusmessage.c:4036,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusmessage.c:4037,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4043
      start: 3988
    functionDepth: 0
    functionLinenumber: 3988
    functionLinenumberEnd: 4043
    functionName: g_dbus_message_copy
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_hash_table_iter_init
    - g_return_val_if_fail
    - G_IS_DBUS_MESSAGE
    - g_object_unref
    - g_hash_table_iter_next
    - g_dbus_message_new
    - g_unix_fd_list_peek_fds
    - g_hash_table_insert
    - g_unix_fd_list_new
    - g_unix_fd_list_append
    - g_variant_ref
    linkageType: ''
    returnType: GDBusMessage*
    signature: 'GDBusMessage *g_dbus_message_copy (GDBusMessage *message, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_nearest_pow
      Src: /src/glib/gio/gdbusmessage.c:307,1
    - Dst: array_resize
      Src: /src/glib/gio/gdbusmessage.c:315,1
    - Dst: MAX
      Src: /src/glib/gio/gdbusmessage.c:314,1
    - Dst: memcpy
      Src: /src/glib/gio/gdbusmessage.c:319,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - mbuf
    - buffer
    - count
    argTypes:
    - GMemoryBuffer*
    - void*
    - gsize
    constantsTouched: []
    func_position:
      end: 326
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 326
    functionName: g_memory_buffer_write
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - memcpy
    - MAX
    - g_nearest_pow
    - array_resize
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_memory_buffer_write (GMemoryBuffer *mbuf, const
      void *buffer, gsize count) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GINT16_TO_BE
      Src: /src/glib/gio/gdbusmessage.c:342,1
    - Dst: g_memory_buffer_write
      Src: /src/glib/gio/gdbusmessage.c:352,1
    - Dst: GINT16_TO_LE
      Src: /src/glib/gio/gdbusmessage.c:345,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - mbuf
    - data
    argTypes:
    - GMemoryBuffer*
    - gint16
    constantsTouched: []
    func_position:
      end: 353
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 353
    functionName: g_memory_buffer_put_int16
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_memory_buffer_write
    - GINT16_TO_LE
    - GINT16_TO_BE
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_memory_buffer_put_int16 (GMemoryBuffer *mbuf,\t\t\
      \t gint16 data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusmessage.c:558,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gdbusmessage.c:571,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusmessage.c:569,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GDBusMessageClass*
    constantsTouched: []
    func_position:
      end: 577
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 577
    functionName: g_dbus_message_class_init
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_param_spec_boolean
    - g_object_class_install_property
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_message_class_init (GDBusMessageClass *klass) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusmessage.c:3176,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gdbusmessage.c:3178,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusmessage.c:3176,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusmessage.c:3177,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3181
      start: 3168
    functionDepth: 0
    functionLinenumber: 3168
    functionLinenumberEnd: 3181
    functionName: get_object_path_header
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - GUINT_TO_POINTER
    - g_hash_table_lookup
    - g_variant_is_of_type
    - g_variant_get_string
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *get_object_path_header (GDBusMessage *message,
      GDBusMessageHeaderField header_field) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_memory_buffer_write
      Src: /src/glib/gio/gdbusmessage.c:332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - mbuf
    - data
    argTypes:
    - GMemoryBuffer*
    - guchar
    constantsTouched: []
    func_position:
      end: 333
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 333
    functionName: g_memory_buffer_put_byte
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_memory_buffer_write
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_memory_buffer_put_byte (GMemoryBuffer *mbuf,\t\t\
      \t guchar data) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GUINT16_TO_BE
      Src: /src/glib/gio/gdbusmessage.c:362,1
    - Dst: g_memory_buffer_write
      Src: /src/glib/gio/gdbusmessage.c:372,1
    - Dst: GUINT16_TO_LE
      Src: /src/glib/gio/gdbusmessage.c:365,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - mbuf
    - data
    argTypes:
    - GMemoryBuffer*
    - guint16
    constantsTouched: []
    func_position:
      end: 373
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 373
    functionName: g_memory_buffer_put_uint16
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_memory_buffer_write
    - GUINT16_TO_BE
    - GUINT16_TO_LE
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_memory_buffer_put_uint16 (GMemoryBuffer *mbuf,\t\
      \t\t guint16 data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdbusmessage.c:594,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - message
    argTypes:
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 598
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 598
    functionName: g_dbus_message_init
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_hash_table_new_full
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_message_init (GDBusMessage *message) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusmessage.c:3191,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusmessage.c:3191,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gdbusmessage.c:3193,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusmessage.c:3192,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3196
      start: 3183
    functionDepth: 0
    functionLinenumber: 3183
    functionLinenumberEnd: 3196
    functionName: get_signature_header
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - GUINT_TO_POINTER
    - g_hash_table_lookup
    - g_variant_is_of_type
    - g_variant_get_string
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *get_signature_header (GDBusMessage *message, GDBusMessageHeaderField
      header_field) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3308,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3309,1
    - Dst: g_dbus_is_interface_name
      Src: /src/glib/gio/gdbusmessage.c:3309,1
    - Dst: set_string_header
      Src: /src/glib/gio/gdbusmessage.c:3310,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:3308,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - message
    - value
    argTypes:
    - GDBusMessage*
    - gchar*
    constantsTouched: []
    func_position:
      end: 3311
      start: 3304
    functionDepth: 0
    functionLinenumber: 3304
    functionLinenumberEnd: 3311
    functionName: g_dbus_message_set_interface
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - set_string_header
    - g_dbus_is_interface_name
    - G_IS_DBUS_MESSAGE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_message_set_interface (GDBusMessage *message, const gchar
      *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3291,1
    - Dst: get_string_header
      Src: /src/glib/gio/gdbusmessage.c:3292,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:3291,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3293
      start: 3288
    functionDepth: 0
    functionLinenumber: 3288
    functionLinenumberEnd: 3293
    functionName: g_dbus_message_get_interface
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - get_string_header
    - g_return_val_if_fail
    - G_IS_DBUS_MESSAGE
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_dbus_message_get_interface (GDBusMessage *message) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3959,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gdbusmessage.c:3965,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusmessage.c:3965,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:3959,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - message
    argTypes:
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 3969
      start: 3956
    functionDepth: 0
    functionLinenumber: 3956
    functionLinenumberEnd: 3969
    functionName: g_dbus_message_lock
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_object_notify
    - G_IS_DBUS_MESSAGE
    - G_OBJECT
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_message_lock (GDBusMessage *message) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:952,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusmessage.c:957,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:953,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:952,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - message
    - flags
    argTypes:
    - GDBusMessage*
    - GDBusMessageFlags
    constantsTouched: []
    func_position:
      end: 962
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 962
    functionName: g_dbus_message_set_flags
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_warning
    - G_IS_DBUS_MESSAGE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_message_set_flags (GDBusMessage *message, GDBusMessageFlags
      flags) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_type_class_ref
      Src: /src/glib/gio/gdbusmessage.c:3724,1
    - Dst: g_string_new
      Src: /src/glib/gio/gdbusmessage.c:3725,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusmessage.c:3735,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdbusmessage.c:3733,1
    - Dst: g_flags_get_first_value
      Src: /src/glib/gio/gdbusmessage.c:3731,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusmessage.c:3737,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusmessage.c:3741,1
    - Dst: g_type_class_unref
      Src: /src/glib/gio/gdbusmessage.c:3742,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbusmessage.c:3743,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3744
      start: 3717
    functionDepth: 0
    functionLinenumber: 3717
    functionLinenumberEnd: 3744
    functionName: flags_to_string
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_type_class_ref
    - g_string_append_c
    - g_flags_get_first_value
    - g_string_free
    - g_string_new
    - g_string_append_printf
    - g_type_class_unref
    - g_string_append
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *flags_to_string (GType flags_type, guint value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3944,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:3944,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - message
    argTypes:
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 3946
      start: 3941
    functionDepth: 0
    functionLinenumber: 3941
    functionLinenumberEnd: 3946
    functionName: g_dbus_message_get_locked
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DBUS_MESSAGE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dbus_message_get_locked (GDBusMessage *message) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/glib/gio/gdbusmessage.c:2991,1
    - Dst: g_memory_buffer_put_uint32
      Src: /src/glib/gio/gdbusmessage.c:3012,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:3022,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gdbusmessage.c:3039,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusmessage.c:3066,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusmessage.c:3090,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusmessage.c:3101,1
    - Dst: append_body_to_blob
      Src: /src/glib/gio/gdbusmessage.c:3102,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:3109,1
    - Dst: g_memory_buffer_put_uint32
      Src: /src/glib/gio/gdbusmessage.c:3124,1
    - Dst: append_value_to_blob
      Src: /src/glib/gio/gdbusmessage.c:3048,1
    - Dst: g_dbus_message_get_header
      Src: /src/glib/gio/gdbusmessage.c:3064,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gdbusmessage.c:3041,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:2985,1
    - Dst: g_memory_buffer_put_byte
      Src: /src/glib/gio/gdbusmessage.c:3008,1
    - Dst: g_memory_buffer_put_uint32
      Src: /src/glib/gio/gdbusmessage.c:3011,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gdbusmessage.c:3046,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusmessage.c:3091,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:3093,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:3112,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusmessage.c:3087,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:3083,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:3086,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusmessage.c:3097,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:2985,1
    - Dst: memset
      Src: /src/glib/gio/gdbusmessage.c:2989,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:2987,1
    - Dst: g_memory_buffer_put_byte
      Src: /src/glib/gio/gdbusmessage.c:3006,1
    - Dst: g_memory_buffer_put_byte
      Src: /src/glib/gio/gdbusmessage.c:3007,1
    - Dst: g_unix_fd_list_get_length
      Src: /src/glib/gio/gdbusmessage.c:3017,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:3033,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:3025,1
    - Dst: g_variant_builder_init_static
      Src: /src/glib/gio/gdbusmessage.c:3037,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gdbusmessage.c:3038,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmessage.c:3057,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gdbusmessage.c:3077,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:3096,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:2986,1
    - Dst: g_memory_buffer_put_byte
      Src: /src/glib/gio/gdbusmessage.c:3005,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/gdbusmessage.c:3033,1
    - Dst: validate_headers
      Src: /src/glib/gio/gdbusmessage.c:3031,1
    - Dst: g_dbus_message_get_num_unix_fds
      Src: /src/glib/gio/gdbusmessage.c:3019,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusmessage.c:3037,1
    - Dst: g_variant_get_type
      Src: /src/glib/gio/gdbusmessage.c:3049,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmessage.c:3054,1
    - Dst: ensure_output_padding
      Src: /src/glib/gio/gdbusmessage.c:3060,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusmessage.c:3068,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusmessage.c:3131,1
    - Dst: strlen
      Src: /src/glib/gio/gdbusmessage.c:3107,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusmessage.c:3098,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:3071,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gio/gdbusmessage.c:3043,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusmessage.c:3091,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 108
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3134
      start: 2959
    functionDepth: 0
    functionLinenumber: 2959
    functionLinenumberEnd: 3134
    functionName: g_dbus_message_to_blob
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_prefix_error
    - GPOINTER_TO_UINT
    - g_malloc
    - g_set_error_literal
    - append_value_to_blob
    - g_dbus_message_get_header
    - g_variant_is_of_type
    - g_variant_builder_init_static
    - g_free
    - g_unix_fd_list_get_length
    - g_variant_get_string
    - g_variant_unref
    - g_variant_get_type_string
    - validate_headers
    - g_variant_builder_end
    - g_set_error
    - g_variant_get_type
    - strlen
    - g_dbus_message_get_num_unix_fds
    - g_strcmp0
    - _
    - append_body_to_blob
    - G_VARIANT_TYPE
    - g_hash_table_iter_next
    - g_memory_buffer_put_byte
    - memset
    - g_hash_table_iter_init
    - ensure_output_padding
    - g_return_val_if_fail
    - G_IS_DBUS_MESSAGE
    - g_memory_buffer_put_uint32
    - g_variant_builder_add
    linkageType: ''
    returnType: guchar*
    signature: 'guchar *g_dbus_message_to_blob (GDBusMessage *message, gsize *out_size,
      GDBusCapabilityFlags capabilities, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:110,1
    - Dst: GUINT16_SWAP_LE_BE
      Src: /src/glib/gio/gdbusmessage.c:125,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:114,1
    - Dst: memcpy
      Src: /src/glib/gio/gdbusmessage.c:121,1
    - Dst: g_memory_buffer_is_byteswapped
      Src: /src/glib/gio/gdbusmessage.c:124,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - mbuf
    - error
    argTypes:
    - GMemoryBuffer*
    - GError**
    constantsTouched: []
    func_position:
      end: 128
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 128
    functionName: g_memory_buffer_read_int16
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_set_error
    - memcpy
    - GUINT16_SWAP_LE_BE
    - g_return_val_if_fail
    - g_memory_buffer_is_byteswapped
    linkageType: ''
    returnType: gint16
    signature: 'static gint16 g_memory_buffer_read_int16 (GMemoryBuffer *mbuf, GError
      **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:136,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:140,1
    - Dst: memcpy
      Src: /src/glib/gio/gdbusmessage.c:147,1
    - Dst: g_memory_buffer_is_byteswapped
      Src: /src/glib/gio/gdbusmessage.c:150,1
    - Dst: GUINT16_SWAP_LE_BE
      Src: /src/glib/gio/gdbusmessage.c:151,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - mbuf
    - error
    argTypes:
    - GMemoryBuffer*
    - GError**
    constantsTouched: []
    func_position:
      end: 154
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 154
    functionName: g_memory_buffer_read_uint16
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_set_error
    - memcpy
    - GUINT16_SWAP_LE_BE
    - g_return_val_if_fail
    - g_memory_buffer_is_byteswapped
    linkageType: ''
    returnType: guint16
    signature: 'static guint16 g_memory_buffer_read_uint16 (GMemoryBuffer *mbuf, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_vprintf
      Src: /src/glib/gio/gdbusmessage.c:824,1
    - Dst: g_dbus_message_new_method_error_literal
      Src: /src/glib/gio/gdbusmessage.c:825,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusmessage.c:828,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 830
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 830
    functionName: g_dbus_message_new_method_error_valist
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_strdup_vprintf
    - g_free
    - g_dbus_message_new_method_error_literal
    linkageType: ''
    returnType: GDBusMessage*
    signature: 'GDBusMessage *g_dbus_message_new_method_error_valist (GDBusMessage
      *method_call_message, const gchar *error_name, const gchar *error_message_format,
      va_list var_args) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:778,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:778,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:780,1
    - Dst: g_dbus_message_get_message_type
      Src: /src/glib/gio/gdbusmessage.c:779,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:779,1
    - Dst: g_dbus_message_get_serial
      Src: /src/glib/gio/gdbusmessage.c:780,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:781,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbusmessage.c:781,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:782,1
    - Dst: g_dbus_message_new
      Src: /src/glib/gio/gdbusmessage.c:784,1
    - Dst: g_dbus_message_get_serial
      Src: /src/glib/gio/gdbusmessage.c:790,1
    - Dst: g_dbus_message_set_error_name
      Src: /src/glib/gio/gdbusmessage.c:791,1
    - Dst: g_dbus_message_set_destination
      Src: /src/glib/gio/gdbusmessage.c:796,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/gdbusmessage.c:792,1
    - Dst: g_dbus_message_set_reply_serial
      Src: /src/glib/gio/gdbusmessage.c:790,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusmessage.c:792,1
    - Dst: g_dbus_message_get_sender
      Src: /src/glib/gio/gdbusmessage.c:794,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 799
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 799
    functionName: g_dbus_message_new_method_error_literal
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_dbus_message_get_serial
    - g_return_val_if_fail
    - G_IS_DBUS_MESSAGE
    - g_dbus_message_set_destination
    - g_dbus_message_get_message_type
    - g_dbus_message_new
    - g_dbus_message_set_body
    - g_variant_new
    - g_dbus_message_get_sender
    - g_dbus_message_set_reply_serial
    - g_dbus_message_set_error_name
    - g_dbus_is_name
    linkageType: ''
    returnType: GDBusMessage*
    signature: 'GDBusMessage *g_dbus_message_new_method_error_literal (GDBusMessage
      *method_call_message, const gchar *error_name, const gchar *error_message) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/gio/gdbusmessage.c:747,1
    - Dst: g_dbus_message_new_method_error_valist
      Src: /src/glib/gio/gdbusmessage.c:748,1
    - Dst: va_end
      Src: /src/glib/gio/gdbusmessage.c:752,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 755
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 755
    functionName: g_dbus_message_new_method_error
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_dbus_message_new_method_error_valist
    - va_start
    - va_end
    linkageType: ''
    returnType: GDBusMessage*
    signature: 'GDBusMessage *g_dbus_message_new_method_error (GDBusMessage *method_call_message,
      const gchar *error_name, const gchar *error_message_format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3382,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3383,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusmessage.c:3383,1
    - Dst: set_object_path_header
      Src: /src/glib/gio/gdbusmessage.c:3384,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:3382,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - message
    - value
    argTypes:
    - GDBusMessage*
    - gchar*
    constantsTouched: []
    func_position:
      end: 3385
      start: 3378
    functionDepth: 0
    functionLinenumber: 3378
    functionLinenumberEnd: 3385
    functionName: g_dbus_message_set_path
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_variant_is_object_path
    - set_object_path_header
    - G_IS_DBUS_MESSAGE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_message_set_path (GDBusMessage *message, const gchar *value) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_peek_string
      Src: /src/glib/gio/gdbusmessage.c:1277,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 3
    argCount: 1
    argNames:
    - type
    argTypes:
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 1290
      start: 1271
    functionDepth: 0
    functionLinenumber: 1271
    functionLinenumberEnd: 1290
    functionName: get_type_fixed_size
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_variant_type_peek_string
    linkageType: ''
    returnType: guint
    signature: 'static guint get_type_fixed_size (const GVariantType *type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3365,1
    - Dst: get_object_path_header
      Src: /src/glib/gio/gdbusmessage.c:3366,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:3365,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3367
      start: 3362
    functionDepth: 0
    functionLinenumber: 3362
    functionLinenumberEnd: 3367
    functionName: g_dbus_message_get_path
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DBUS_MESSAGE
    - get_object_path_header
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_dbus_message_get_path (GDBusMessage *message) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:1132,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:1132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1129
    functionDepth: 0
    functionLinenumber: 1129
    functionLinenumberEnd: 1134
    functionName: g_dbus_message_get_body
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DBUS_MESSAGE
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_dbus_message_get_body (GDBusMessage *message) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1292
    functionDepth: 0
    functionLinenumber: 1292
    functionLinenumberEnd: 1310
    functionName: message_type_to_string
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *message_type_to_string (GDBusMessageType message_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:1096,1
    - Dst: g_array_sized_new
      Src: /src/glib/gio/gdbusmessage.c:1099,1
    - Dst: g_hash_table_get_keys_as_ptr_array
      Src: /src/glib/gio/gdbusmessage.c:1098,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gio/gdbusmessage.c:1103,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:1096,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gdbusmessage.c:1103,1
    - Dst: g_array_append_val
      Src: /src/glib/gio/gdbusmessage.c:1104,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusmessage.c:1107,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdbusmessage.c:1108,1
    - Dst: g_array_append_val
      Src: /src/glib/gio/gdbusmessage.c:1111,1
    - Dst: g_array_free
      Src: /src/glib/gio/gdbusmessage.c:1113,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1090
    functionDepth: 0
    functionLinenumber: 1090
    functionLinenumberEnd: 1114
    functionName: g_dbus_message_get_header_fields
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_array_free
    - g_return_val_if_fail
    - G_IS_DBUS_MESSAGE
    - g_array_append_val
    - g_assert
    - g_array_sized_new
    - GPOINTER_TO_UINT
    - g_clear_pointer
    - g_hash_table_get_keys_as_ptr_array
    - g_ptr_array_index
    linkageType: ''
    returnType: guchar*
    signature: 'guchar *g_dbus_message_get_header_fields (GDBusMessage *message) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3536,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3537,1
    - Dst: g_variant_is_signature
      Src: /src/glib/gio/gdbusmessage.c:3537,1
    - Dst: set_signature_header
      Src: /src/glib/gio/gdbusmessage.c:3538,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:3536,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - message
    - value
    argTypes:
    - GDBusMessage*
    - gchar*
    constantsTouched: []
    func_position:
      end: 3539
      start: 3532
    functionDepth: 0
    functionLinenumber: 3532
    functionLinenumberEnd: 3539
    functionName: g_dbus_message_set_signature
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - set_signature_header
    - G_IS_DBUS_MESSAGE
    - g_variant_is_signature
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_message_set_signature (GDBusMessage *message, const gchar
      *value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:1059,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusmessage.c:1070,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmessage.c:1060,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusmessage.c:1064,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:1059,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusmessage.c:1070,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusmessage.c:1074,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusmessage.c:1074,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdbusmessage.c:1074,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - message
    - header_field
    - value
    argTypes:
    - GDBusMessage*
    - GDBusMessageHeaderField
    - GVariant*
    constantsTouched: []
    func_position:
      end: 1076
      start: 1054
    functionDepth: 0
    functionLinenumber: 1054
    functionLinenumberEnd: 1076
    functionName: g_dbus_message_set_header
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - g_warning
    - G_IS_DBUS_MESSAGE
    - g_hash_table_remove
    - g_return_if_fail
    - GUINT_TO_POINTER
    - g_hash_table_insert
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_message_set_header (GDBusMessage *message, GDBusMessageHeaderField
      header_field, GVariant *value) '
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1340
      start: 1312
    functionDepth: 0
    functionLinenumber: 1312
    functionLinenumberEnd: 1340
    functionName: message_header_field_to_string
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *message_header_field_to_string (GDBusMessageHeaderField
      field) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - buf
    - padding_size
    argTypes:
    - GMemoryBuffer*
    - gsize
    constantsTouched: []
    func_position:
      end: 1576
      start: 1565
    functionDepth: 0
    functionLinenumber: 1565
    functionLinenumberEnd: 1576
    functionName: ensure_input_padding
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean ensure_input_padding (GMemoryBuffer *buf, gsize padding_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:3516,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:3516,1
    - Dst: get_signature_header
      Src: /src/glib/gio/gdbusmessage.c:3517,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3521
      start: 3512
    functionDepth: 0
    functionLinenumber: 3512
    functionLinenumberEnd: 3521
    functionName: g_dbus_message_get_signature
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - get_signature_header
    - g_return_val_if_fail
    - G_IS_DBUS_MESSAGE
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_dbus_message_get_signature (GDBusMessage *message) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gdbusmessage.c:1349,1
    - Dst: g_variant_type_dup_string
      Src: /src/glib/gio/gdbusmessage.c:1353,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusmessage.c:1351,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:1357,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:1354,1
    - Dst: message_type_to_string
      Src: /src/glib/gio/gdbusmessage.c:1358,1
    - Dst: message_header_field_to_string
      Src: /src/glib/gio/gdbusmessage.c:1359,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusmessage.c:1361,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 5
    argNames:
    - message
    - field
    - header_value
    - expected_type
    - error
    argTypes:
    - GDBusMessage*
    - GDBusMessageHeaderField
    - GVariant*
    - GVariantType*
    - GError**
    constantsTouched: []
    func_position:
      end: 1366
      start: 1342
    functionDepth: 0
    functionLinenumber: 1342
    functionLinenumberEnd: 1366
    functionName: validate_header
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_variant_is_of_type
    - g_assert
    - message_header_field_to_string
    - g_variant_type_dup_string
    - message_type_to_string
    - _
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean validate_header (GDBusMessage *message, GDBusMessageHeaderField
      field, GVariant *header_value, const GVariantType *expected_type, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:1590,1
    - Dst: g_dngettext
      Src: /src/glib/gio/gdbusmessage.c:1593,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:1605,1
    - Dst: g_strndup
      Src: /src/glib/gio/gdbusmessage.c:1604,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:1608,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusmessage.c:1610,1
    - Dst: g_utf8_validate
      Src: /src/glib/gio/gdbusmessage.c:1618,1
    - Dst: g_strndup
      Src: /src/glib/gio/gdbusmessage.c:1623,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:1627,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusmessage.c:1632,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:1624,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1637
      start: 1578
    functionDepth: 0
    functionLinenumber: 1578
    functionLinenumberEnd: 1637
    functionName: read_string
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_dngettext
    - g_strndup
    - _
    - g_utf8_validate
    - g_free
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *read_string (GMemoryBuffer *mbuf, gsize len, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:1037,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusmessage.c:1039,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusmessage.c:1039,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:1038,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:1037,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1033
    functionDepth: 0
    functionLinenumber: 1033
    functionLinenumberEnd: 1040
    functionName: g_dbus_message_get_header
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - GUINT_TO_POINTER
    - g_return_val_if_fail
    - g_hash_table_lookup
    - G_IS_DBUS_MESSAGE
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_dbus_message_get_header (GDBusMessage *message, GDBusMessageHeaderField
      header_field) '
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gdbusmessage.c:1406,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusmessage.c:1425,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gdbusmessage.c:1425,1
    - Dst: g_dbus_is_interface_name
      Src: /src/glib/gio/gdbusmessage.c:1443,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:1433,1
    - Dst: message_type_to_string
      Src: /src/glib/gio/gdbusmessage.c:1458,1
    - Dst: g_dbus_is_member_name
      Src: /src/glib/gio/gdbusmessage.c:1467,1
    - Dst: g_dbus_is_error_name
      Src: /src/glib/gio/gdbusmessage.c:1480,1
    - Dst: require_header
      Src: /src/glib/gio/gdbusmessage.c:1528,1
    - Dst: require_header
      Src: /src/glib/gio/gdbusmessage.c:1546,1
    - Dst: require_header
      Src: /src/glib/gio/gdbusmessage.c:1540,1
    - Dst: require_header
      Src: /src/glib/gio/gdbusmessage.c:1539,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusmessage.c:1559,1
    - Dst: require_header
      Src: /src/glib/gio/gdbusmessage.c:1545,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gdbusmessage.c:1407,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gio/gdbusmessage.c:1409,1
    - Dst: validate_header
      Src: /src/glib/gio/gdbusmessage.c:1423,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:1427,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:1445,1
    - Dst: message_type_to_string
      Src: /src/glib/gio/gdbusmessage.c:1449,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:1457,1
    - Dst: validate_header
      Src: /src/glib/gio/gdbusmessage.c:1465,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:1469,1
    - Dst: message_type_to_string
      Src: /src/glib/gio/gdbusmessage.c:1473,1
    - Dst: validate_header
      Src: /src/glib/gio/gdbusmessage.c:1503,1
    - Dst: validate_header
      Src: /src/glib/gio/gdbusmessage.c:1495,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:1400,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmessage.c:1400,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:1416,1
    - Dst: message_type_to_string
      Src: /src/glib/gio/gdbusmessage.c:1420,1
    - Dst: message_type_to_string
      Src: /src/glib/gio/gdbusmessage.c:1434,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gdbusmessage.c:1443,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:1448,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gdbusmessage.c:1467,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:1472,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gdbusmessage.c:1480,1
    - Dst: require_header
      Src: /src/glib/gio/gdbusmessage.c:1534,1
    - Dst: require_header
      Src: /src/glib/gio/gdbusmessage.c:1529,1
    - Dst: validate_header
      Src: /src/glib/gio/gdbusmessage.c:1499,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmessage.c:1401,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:1419,1
    - Dst: validate_header
      Src: /src/glib/gio/gdbusmessage.c:1441,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusmessage.c:1452,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gdbusmessage.c:1452,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:1454,1
    - Dst: validate_header
      Src: /src/glib/gio/gdbusmessage.c:1478,1
    - Dst: validate_header
      Src: /src/glib/gio/gdbusmessage.c:1491,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusmessage.c:1521,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:1524,1
    - Dst: validate_header
      Src: /src/glib/gio/gdbusmessage.c:1507,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusmessage.c:1482,1
    - Dst: _
      Src: /src/glib/gio/gdbusmessage.c:1485,1
    - Dst: message_type_to_string
      Src: /src/glib/gio/gdbusmessage.c:1486,1
    - Dst: require_header
      Src: /src/glib/gio/gdbusmessage.c:1547,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 99
    argCount: 2
    argNames:
    - message
    - error
    argTypes:
    - GDBusMessage*
    - GError**
    constantsTouched: []
    func_position:
      end: 1561
      start: 1391
    functionDepth: 0
    functionLinenumber: 1391
    functionLinenumberEnd: 1561
    functionName: validate_headers
    functionSourceFile: /src/glib/gio/gdbusmessage.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_hash_table_iter_init
    - GPOINTER_TO_INT
    - g_return_val_if_fail
    - validate_header
    - G_IS_DBUS_MESSAGE
    - g_assert
    - require_header
    - g_variant_get_string
    - g_dbus_is_interface_name
    - g_set_error_literal
    - message_type_to_string
    - g_strcmp0
    - g_dbus_is_error_name
    - _
    - g_dbus_is_member_name
    - g_hash_table_iter_next
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean validate_headers (GDBusMessage *message, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_ref
      Src: /src/glib/gio/gpowerprofilemonitor.c:89,1
    - Dst: _g_io_module_get_default
      Src: /src/glib/gio/gpowerprofilemonitor.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: g_power_profile_monitor_dup_default
    functionSourceFile: /src/glib/gio/gpowerprofilemonitor.c
    functionUses: []
    functionsReached:
    - _g_io_module_get_default
    - g_object_ref
    linkageType: ''
    returnType: GPowerProfileMonitor*
    signature: 'GPowerProfileMonitor *g_power_profile_monitor_dup_default (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gpowerprofilemonitor.c:126,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gpowerprofilemonitor.c:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GPowerProfileMonitorInterface*
    constantsTouched: []
    func_position:
      end: 130
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 130
    functionName: g_power_profile_monitor_default_init
    functionSourceFile: /src/glib/gio/gpowerprofilemonitor.c
    functionUses: []
    functionsReached:
    - g_object_interface_install_property
    - g_param_spec_boolean
    linkageType: ''
    returnType: void
    signature: 'static void g_power_profile_monitor_default_init (GPowerProfileMonitorInterface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_get
      Src: /src/glib/gio/gpowerprofilemonitor.c:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - monitor
    argTypes:
    - GPowerProfileMonitor*
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: g_power_profile_monitor_get_power_saver_enabled
    functionSourceFile: /src/glib/gio/gpowerprofilemonitor.c
    functionUses: []
    functionsReached:
    - g_object_get
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_power_profile_monitor_get_power_saver_enabled (GPowerProfileMonitor
      *monitor) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32sid.c:51,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32sid.c:53,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32sid.c:52,1
    - Dst: GetLengthSid
      Src: /src/glib/gio/gwin32sid.c:55,1
    - Dst: g_malloc
      Src: /src/glib/gio/gwin32sid.c:56,1
    - Dst: CopySid
      Src: /src/glib/gio/gwin32sid.c:58,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gwin32sid.c:60,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gwin32sid.c:60,1
    - Dst: GetLastError
      Src: /src/glib/gio/gwin32sid.c:60,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32sid.c:63,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32sid.c:68,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32sid.c:69,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - dest
    - src
    - error
    argTypes:
    - SID**
    - SID*
    - GError**
    constantsTouched: []
    func_position:
      end: 73
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 73
    functionName: _g_win32_sid_replace
    functionSourceFile: /src/glib/gio/gwin32sid.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_return_val_if_fail
    - g_io_error_from_errno
    - CopySid
    - g_malloc
    - GetLengthSid
    - g_set_error_literal
    - GetLastError
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _g_win32_sid_replace (SID **dest, SID *src, GError
      **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32sid.c:197,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gwin32sid.c:202,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32sid.c:198,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gwin32sid.c:202,1
    - Dst: ConvertSidToStringSid
      Src: /src/glib/gio/gwin32sid.c:200,1
    - Dst: GetLastError
      Src: /src/glib/gio/gwin32sid.c:202,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/gwin32sid.c:207,1
    - Dst: LocalFree
      Src: /src/glib/gio/gwin32sid.c:208,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 210
    functionName: _g_win32_sid_to_string
    functionSourceFile: /src/glib/gio/gwin32sid.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - ConvertSidToStringSid
    - g_io_error_from_errno
    - LocalFree
    - g_set_error_literal
    - GetLastError
    - g_utf16_to_utf8
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *_g_win32_sid_to_string (SID *sid, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32sid.c:226,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32sid.c:233,1
    - Dst: _g_win32_sid_to_string
      Src: /src/glib/gio/gwin32sid.c:232,1
    - Dst: _g_win32_process_get_access_token_sid
      Src: /src/glib/gio/gwin32sid.c:228,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 235
    functionName: _g_win32_current_process_sid_string
    functionSourceFile: /src/glib/gio/gwin32sid.c
    functionUses: []
    functionsReached:
    - _g_win32_process_get_access_token_sid
    - g_return_val_if_fail
    - g_free
    - _g_win32_sid_to_string
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *_g_win32_current_process_sid_string (GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32sid.c:94,1
    - Dst: GetLastError
      Src: /src/glib/gio/gwin32sid.c:97,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gwin32sid.c:99,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gwin32sid.c:99,1
    - Dst: GetTokenInformation
      Src: /src/glib/gio/gwin32sid.c:96,1
    - Dst: GetLastError
      Src: /src/glib/gio/gwin32sid.c:99,1
    - Dst: g_alloca
      Src: /src/glib/gio/gwin32sid.c:105,1
    - Dst: GetTokenInformation
      Src: /src/glib/gio/gwin32sid.c:107,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gwin32sid.c:109,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gwin32sid.c:109,1
    - Dst: IsValidSid
      Src: /src/glib/gio/gwin32sid.c:117,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gwin32sid.c:119,1
    - Dst: _g_win32_sid_replace
      Src: /src/glib/gio/gwin32sid.c:125,1
    - Dst: GetLastError
      Src: /src/glib/gio/gwin32sid.c:109,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gwin32sid.c:119,1
    - Dst: GetLastError
      Src: /src/glib/gio/gwin32sid.c:119,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 128
    functionName: _g_win32_token_get_sid
    functionSourceFile: /src/glib/gio/gwin32sid.c
    functionUses: []
    functionsReached:
    - _g_win32_sid_replace
    - g_return_val_if_fail
    - g_io_error_from_errno
    - IsValidSid
    - g_alloca
    - GetLastError
    - g_set_error_literal
    - GetTokenInformation
    linkageType: ''
    returnType: SID*
    signature: 'static SID *_g_win32_token_get_sid (HANDLE token, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32sid.c:150,1
    - Dst: GetCurrentProcess
      Src: /src/glib/gio/gwin32sid.c:153,1
    - Dst: g_set_error
      Src: /src/glib/gio/gwin32sid.c:159,1
    - Dst: OpenProcess
      Src: /src/glib/gio/gwin32sid.c:155,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gwin32sid.c:159,1
    - Dst: GetLastError
      Src: /src/glib/gio/gwin32sid.c:159,1
    - Dst: OpenProcessToken
      Src: /src/glib/gio/gwin32sid.c:165,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gwin32sid.c:167,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gwin32sid.c:167,1
    - Dst: GetLastError
      Src: /src/glib/gio/gwin32sid.c:167,1
    - Dst: _g_win32_token_get_sid
      Src: /src/glib/gio/gwin32sid.c:174,1
    - Dst: CloseHandle
      Src: /src/glib/gio/gwin32sid.c:176,1
    - Dst: CloseHandle
      Src: /src/glib/gio/gwin32sid.c:177,1
    - Dst: CloseHandle
      Src: /src/glib/gio/gwin32sid.c:170,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 180
    functionName: _g_win32_process_get_access_token_sid
    functionSourceFile: /src/glib/gio/gwin32sid.c
    functionUses: []
    functionsReached:
    - g_set_error
    - OpenProcessToken
    - g_return_val_if_fail
    - OpenProcess
    - _g_win32_token_get_sid
    - g_io_error_from_errno
    - GetLastError
    - GetCurrentProcess
    - g_set_error_literal
    - CloseHandle
    linkageType: ''
    returnType: SID*
    signature: 'SID *_g_win32_process_get_access_token_sid (DWORD process_id, GError
      **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GetLogicalDrives
      Src: /src/glib/gio/gwin32volumemonitor.c:64,1
    - Dst: RegOpenKeyExW
      Src: /src/glib/gio/gwin32volumemonitor.c:92,1
    - Dst: RegQueryValueExW
      Src: /src/glib/gio/gwin32volumemonitor.c:77,1
    - Dst: RegOpenKeyExW
      Src: /src/glib/gio/gwin32volumemonitor.c:72,1
    - Dst: RegCloseKey
      Src: /src/glib/gio/gwin32volumemonitor.c:86,1
    - Dst: RegQueryValueExW
      Src: /src/glib/gio/gwin32volumemonitor.c:97,1
    - Dst: RegCloseKey
      Src: /src/glib/gio/gwin32volumemonitor.c:102,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 107
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 107
    functionName: get_viewable_logical_drives
    functionSourceFile: /src/glib/gio/gwin32volumemonitor.c
    functionUses: []
    functionsReached:
    - RegCloseKey
    - RegQueryValueExW
    - RegOpenKeyExW
    - GetLogicalDrives
    linkageType: ''
    returnType: guint32
    signature: 'static guint32 get_viewable_logical_drives (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: get_volumes
    functionSourceFile: /src/glib/gio/gwin32volumemonitor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GList*
    signature: 'static GList *get_volumes (GVolumeMonitor *volume_monitor) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FindFirstVolumeW
      Src: /src/glib/gio/gwin32volumemonitor.c:152,1
    - Dst: QueryDosDeviceW
      Src: /src/glib/gio/gwin32volumemonitor.c:176,1
    - Dst: g_print
      Src: /src/glib/gio/gwin32volumemonitor.c:179,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/gwin32volumemonitor.c:178,1
    - Dst: wcslen
      Src: /src/glib/gio/gwin32volumemonitor.c:172,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32volumemonitor.c:180,1
    - Dst: FindNextVolumeW
      Src: /src/glib/gio/gwin32volumemonitor.c:183,1
    - Dst: FindVolumeClose
      Src: /src/glib/gio/gwin32volumemonitor.c:186,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 190
    functionName: get_connected_drives
    functionSourceFile: /src/glib/gio/gwin32volumemonitor.c
    functionUses: []
    functionsReached:
    - wcslen
    - FindVolumeClose
    - FindFirstVolumeW
    - FindNextVolumeW
    - QueryDosDeviceW
    - g_print
    - g_free
    - g_utf16_to_utf8
    linkageType: ''
    returnType: GList*
    signature: 'static GList *get_connected_drives (GVolumeMonitor *volume_monitor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 202
    functionName: get_mount_for_uuid
    functionSourceFile: /src/glib/gio/gwin32volumemonitor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GMount*
    signature: 'static GMount *get_mount_for_uuid (GVolumeMonitor *volume_monitor,
      const char *uuid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_win32_mount_new
      Src: /src/glib/gio/gwin32volumemonitor.c:217,1
    - Dst: G_MOUNT
      Src: /src/glib/gio/gwin32volumemonitor.c:219,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 220
    functionName: get_mount_for_mount_path
    functionSourceFile: /src/glib/gio/gwin32volumemonitor.c
    functionUses: []
    functionsReached:
    - G_MOUNT
    - _g_win32_mount_new
    linkageType: ''
    returnType: GMount*
    signature: 'static GMount *get_mount_for_mount_path (const char *mount_path, GCancellable
      *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: get_volume_for_uuid
    functionSourceFile: /src/glib/gio/gwin32volumemonitor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GVolume*
    signature: 'static GVolume *get_volume_for_uuid (GVolumeMonitor *volume_monitor,
      const char *uuid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 208
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 208
    functionName: is_supported
    functionSourceFile: /src/glib/gio/gwin32volumemonitor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_supported (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_VOLUME_MONITOR_CLASS
      Src: /src/glib/gio/gwin32volumemonitor.c:225,1
    - Dst: G_NATIVE_VOLUME_MONITOR_CLASS
      Src: /src/glib/gio/gwin32volumemonitor.c:226,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GWin32VolumeMonitorClass*
    constantsTouched: []
    func_position:
      end: 236
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 236
    functionName: g_win32_volume_monitor_class_init
    functionSourceFile: /src/glib/gio/gwin32volumemonitor.c
    functionUses: []
    functionsReached:
    - G_NATIVE_VOLUME_MONITOR_CLASS
    - G_VOLUME_MONITOR_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_volume_monitor_class_init (GWin32VolumeMonitorClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_win32_mount_monitor_new
      Src: /src/glib/gio/gwin32volumemonitor.c:243,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gwin32volumemonitor.c:245,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gwin32volumemonitor.c:250,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gwin32volumemonitor.c:246,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gwin32volumemonitor.c:249,1
    - Dst: update_volumes
      Src: /src/glib/gio/gwin32volumemonitor.c:253,1
    - Dst: update_mounts
      Src: /src/glib/gio/gwin32volumemonitor.c:254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - win32_monitor
    argTypes:
    - GWin32VolumeMonitor*
    constantsTouched: []
    func_position:
      end: 256
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 256
    functionName: g_win32_volume_monitor_init
    functionSourceFile: /src/glib/gio/gwin32volumemonitor.c
    functionUses: []
    functionsReached:
    - update_volumes
    - g_win32_mount_monitor_new
    - update_mounts
    - G_CALLBACK
    - g_signal_connect
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_volume_monitor_init (GWin32VolumeMonitor *win32_monitor) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_viewable_logical_drives
      Src: /src/glib/gio/gwin32volumemonitor.c:117,1
    - Dst: g_warning
      Src: /src/glib/gio/gwin32volumemonitor.c:120,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32volumemonitor.c:131,1
    - Dst: _g_win32_mount_new
      Src: /src/glib/gio/gwin32volumemonitor.c:125,1
    - Dst: g_queue_push_tail
      Src: /src/glib/gio/gwin32volumemonitor.c:125,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 132
    functionName: get_mounts
    functionSourceFile: /src/glib/gio/gwin32volumemonitor.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_warning
    - g_queue_push_tail
    - _g_win32_mount_new
    - get_viewable_logical_drives
    linkageType: ''
    returnType: GList*
    signature: 'static GList *get_mounts (GVolumeMonitor *volume_monitor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_threaded_socket_service_get_instance_private
      Src: /src/glib/gio/gthreadedsocketservice.c:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - service
    argTypes:
    - GThreadedSocketService*
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: g_threaded_socket_service_init
    functionSourceFile: /src/glib/gio/gthreadedsocketservice.c
    functionUses: []
    functionsReached:
    - g_threaded_socket_service_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_threaded_socket_service_init (GThreadedSocketService
      *service) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_emit
      Src: /src/glib/gio/gthreadedsocketservice.c:96,1
    - Dst: G_SOCKET_SERVICE
      Src: /src/glib/gio/gthreadedsocketservice.c:101,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gthreadedsocketservice.c:102,1
    - Dst: g_socket_service_start
      Src: /src/glib/gio/gthreadedsocketservice.c:101,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gthreadedsocketservice.c:99,1
    - Dst: g_threaded_socket_service_data_free
      Src: /src/glib/gio/gthreadedsocketservice.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - job_data
    - user_data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 105
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 105
    functionName: g_threaded_socket_service_func
    functionSourceFile: /src/glib/gio/gthreadedsocketservice.c
    functionUses: []
    functionsReached:
    - G_SOCKET_SERVICE
    - G_UNLOCK
    - g_socket_service_start
    - g_signal_emit
    - g_threaded_socket_service_data_free
    - G_LOCK
    linkageType: ''
    returnType: void
    signature: 'static void g_threaded_socket_service_func (gpointer job_data, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_THREADED_SOCKET_SERVICE
      Src: /src/glib/gio/gthreadedsocketservice.c:163,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gthreadedsocketservice.c:169,1
    - Dst: g_thread_pool_free
      Src: /src/glib/gio/gthreadedsocketservice.c:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 171
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 171
    functionName: g_threaded_socket_service_finalize
    functionSourceFile: /src/glib/gio/gthreadedsocketservice.c
    functionUses: []
    functionsReached:
    - g_thread_pool_free
    - G_THREADED_SOCKET_SERVICE
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_threaded_socket_service_finalize (GObject *object) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_THREADED_SOCKET_SERVICE
      Src: /src/glib/gio/gthreadedsocketservice.c:198,1
    - Dst: g_value_get_int
      Src: /src/glib/gio/gthreadedsocketservice.c:203,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gthreadedsocketservice.c:207,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 209
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 209
    functionName: g_threaded_socket_service_set_property
    functionSourceFile: /src/glib/gio/gthreadedsocketservice.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_get_int
    - G_THREADED_SOCKET_SERVICE
    linkageType: ''
    returnType: void
    signature: "static void g_threaded_socket_service_set_property (GObject *object,\t\
      \t\t\t\tguint prop_id,\t\t\t\t\tconst GValue *value,\t\t\t\t\tGParamSpec *pspec) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_object
      Src: /src/glib/gio/gthreadedsocketservice.c:83,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gthreadedsocketservice.c:86,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gthreadedsocketservice.c:85,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gthreadedsocketservice.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - GThreadedSocketServiceData*
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: g_threaded_socket_service_data_free
    functionSourceFile: /src/glib/gio/gthreadedsocketservice.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void g_threaded_socket_service_data_free (GThreadedSocketServiceData
      *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_THREADED_SOCKET_SERVICE
      Src: /src/glib/gio/gthreadedsocketservice.c:149,1
    - Dst: g_thread_pool_new
      Src: /src/glib/gio/gthreadedsocketservice.c:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 157
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 157
    functionName: g_threaded_socket_service_constructed
    functionSourceFile: /src/glib/gio/gthreadedsocketservice.c
    functionUses: []
    functionsReached:
    - g_thread_pool_new
    - G_THREADED_SOCKET_SERVICE
    linkageType: ''
    returnType: void
    signature: 'static void g_threaded_socket_service_constructed (GObject *object) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_THREADED_SOCKET_SERVICE
      Src: /src/glib/gio/gthreadedsocketservice.c:116,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gthreadedsocketservice.c:121,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gthreadedsocketservice.c:119,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gthreadedsocketservice.c:120,1
    - Dst: g_slice_new0
      Src: /src/glib/gio/gthreadedsocketservice.c:118,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gthreadedsocketservice.c:123,1
    - Dst: g_socket_service_stop
      Src: /src/glib/gio/gthreadedsocketservice.c:125,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gthreadedsocketservice.c:126,1
    - Dst: g_thread_pool_push
      Src: /src/glib/gio/gthreadedsocketservice.c:128,1
    - Dst: g_warning
      Src: /src/glib/gio/gthreadedsocketservice.c:130,1
    - Dst: g_threaded_socket_service_data_free
      Src: /src/glib/gio/gthreadedsocketservice.c:131,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gthreadedsocketservice.c:134,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - service
    - connection
    - source_object
    argTypes:
    - GSocketService*
    - GSocketConnection*
    - GObject*
    constantsTouched: []
    func_position:
      end: 137
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 137
    functionName: g_threaded_socket_service_incoming
    functionSourceFile: /src/glib/gio/gthreadedsocketservice.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_thread_pool_push
    - g_warning
    - g_slice_new0
    - G_UNLOCK
    - g_socket_service_stop
    - g_threaded_socket_service_data_free
    - G_THREADED_SOCKET_SERVICE
    - g_object_ref
    - G_LOCK
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_threaded_socket_service_incoming (GSocketService
      *service, GSocketConnection *connection, GObject *source_object) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_THREADED_SOCKET_SERVICE
      Src: /src/glib/gio/gthreadedsocketservice.c:179,1
    - Dst: g_value_set_int
      Src: /src/glib/gio/gthreadedsocketservice.c:184,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gthreadedsocketservice.c:188,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 190
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 190
    functionName: g_threaded_socket_service_get_property
    functionSourceFile: /src/glib/gio/gthreadedsocketservice.c
    functionUses: []
    functionsReached:
    - g_value_set_int
    - G_THREADED_SOCKET_SERVICE
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: "static void g_threaded_socket_service_get_property (GObject *object,\t\
      \t\t\t\tguint prop_id,\t\t\t\t\tGValue *value,\t\t\t\t\tGParamSpec *pspec) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gthreadedsocketservice.c:215,1
    - Dst: I_
      Src: /src/glib/gio/gthreadedsocketservice.c:239,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gthreadedsocketservice.c:239,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gthreadedsocketservice.c:239,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gthreadedsocketservice.c:240,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gthreadedsocketservice.c:245,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gthreadedsocketservice.c:246,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gthreadedsocketservice.c:256,1
    - Dst: g_param_spec_int
      Src: /src/glib/gio/gthreadedsocketservice.c:257,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - class
    argTypes:
    - GThreadedSocketServiceClass*
    constantsTouched: []
    func_position:
      end: 262
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 262
    functionName: g_threaded_socket_service_class_init
    functionSourceFile: /src/glib/gio/gthreadedsocketservice.c
    functionUses: []
    functionsReached:
    - I_
    - G_STRUCT_OFFSET
    - G_TYPE_FROM_CLASS
    - g_param_spec_int
    - g_object_class_install_property
    - G_OBJECT_CLASS
    - g_signal_set_va_marshaller
    - g_signal_new
    linkageType: ''
    returnType: void
    signature: 'static void g_threaded_socket_service_class_init (GThreadedSocketServiceClass
      *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gthreadedsocketservice.c:279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 282
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 282
    functionName: g_threaded_socket_service_new
    functionSourceFile: /src/glib/gio/gthreadedsocketservice.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: GSocketService*
    signature: 'GSocketService *g_threaded_socket_service_new (int max_threads) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GTlsBackendInterface*
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: g_tls_backend_default_init
    functionSourceFile: /src/glib/gio/gtlsbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_tls_backend_default_init (GTlsBackendInterface *iface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_TLS_BACKEND_GET_INTERFACE
      Src: /src/glib/gio/gtlsbackend.c:93,1
    - Dst: G_IS_DUMMY_TLS_BACKEND
      Src: /src/glib/gio/gtlsbackend.c:95,1
    - Dst: G_TLS_BACKEND_GET_INTERFACE
      Src: /src/glib/gio/gtlsbackend.c:94,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - backend
    argTypes:
    - GTlsBackend*
    constantsTouched: []
    func_position:
      end: 99
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 99
    functionName: g_tls_backend_supports_tls
    functionSourceFile: /src/glib/gio/gtlsbackend.c
    functionUses: []
    functionsReached:
    - G_IS_DUMMY_TLS_BACKEND
    - G_TLS_BACKEND_GET_INTERFACE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_tls_backend_supports_tls (GTlsBackend *backend) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsbackend.c:137,1
    - Dst: G_TLS_BACKEND_GET_INTERFACE
      Src: /src/glib/gio/gtlsbackend.c:140,1
    - Dst: G_IS_TLS_BACKEND
      Src: /src/glib/gio/gtlsbackend.c:137,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gtlsbackend.c:143,1
    - Dst: G_TLS_BACKEND_GET_INTERFACE
      Src: /src/glib/gio/gtlsbackend.c:146,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gtlsbackend.c:147,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gtlsbackend.c:148,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 151
    functionName: g_tls_backend_get_default_database
    functionSourceFile: /src/glib/gio/gtlsbackend.c
    functionUses: []
    functionsReached:
    - G_TLS_BACKEND_GET_INTERFACE
    - g_return_val_if_fail
    - G_IS_TLS_BACKEND
    - G_UNLOCK
    - g_object_ref
    - G_LOCK
    linkageType: ''
    returnType: GTlsDatabase*
    signature: 'GTlsDatabase *g_tls_backend_get_default_database (GTlsBackend *backend) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsbackend.c:173,1
    - Dst: G_IS_TLS_DATABASE
      Src: /src/glib/gio/gtlsbackend.c:174,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gtlsbackend.c:176,1
    - Dst: G_IS_TLS_BACKEND
      Src: /src/glib/gio/gtlsbackend.c:173,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsbackend.c:174,1
    - Dst: g_set_object
      Src: /src/glib/gio/gtlsbackend.c:177,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gtlsbackend.c:178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - backend
    - database
    argTypes:
    - GTlsBackend*
    - GTlsDatabase*
    constantsTouched: []
    func_position:
      end: 179
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 179
    functionName: g_tls_backend_set_default_database
    functionSourceFile: /src/glib/gio/gtlsbackend.c
    functionUses: []
    functionsReached:
    - G_IS_TLS_BACKEND
    - G_IS_TLS_DATABASE
    - g_return_if_fail
    - g_set_object
    - G_UNLOCK
    - G_LOCK
    linkageType: ''
    returnType: void
    signature: 'void g_tls_backend_set_default_database (GTlsBackend *backend, GTlsDatabase
      *database) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_TLS_BACKEND_GET_INTERFACE
      Src: /src/glib/gio/gtlsbackend.c:212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - backend
    argTypes:
    - GTlsBackend*
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: g_tls_backend_get_client_connection_type
    functionSourceFile: /src/glib/gio/gtlsbackend.c
    functionUses: []
    functionsReached:
    - G_TLS_BACKEND_GET_INTERFACE
    linkageType: ''
    returnType: GType
    signature: 'GType g_tls_backend_get_client_connection_type (GTlsBackend *backend) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsbackend.c:248,1
    - Dst: G_IS_TLS_BACKEND
      Src: /src/glib/gio/gtlsbackend.c:248,1
    - Dst: G_TLS_BACKEND_GET_INTERFACE
      Src: /src/glib/gio/gtlsbackend.c:250,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - backend
    argTypes:
    - GTlsBackend*
    constantsTouched: []
    func_position:
      end: 255
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 255
    functionName: g_tls_backend_get_dtls_client_connection_type
    functionSourceFile: /src/glib/gio/gtlsbackend.c
    functionUses: []
    functionsReached:
    - G_TLS_BACKEND_GET_INTERFACE
    - g_return_val_if_fail
    - G_IS_TLS_BACKEND
    linkageType: ''
    returnType: GType
    signature: 'GType g_tls_backend_get_dtls_client_connection_type (GTlsBackend *backend) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsbackend.c:295,1
    - Dst: G_IS_TLS_BACKEND
      Src: /src/glib/gio/gtlsbackend.c:295,1
    - Dst: G_TLS_BACKEND_GET_INTERFACE
      Src: /src/glib/gio/gtlsbackend.c:298,1
    - Dst: G_TLS_BACKEND_GET_INTERFACE
      Src: /src/glib/gio/gtlsbackend.c:301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - backend
    argTypes:
    - GTlsBackend*
    constantsTouched: []
    func_position:
      end: 302
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 302
    functionName: g_tls_backend_get_file_database_type
    functionSourceFile: /src/glib/gio/gtlsbackend.c
    functionUses: []
    functionsReached:
    - G_TLS_BACKEND_GET_INTERFACE
    - g_return_val_if_fail
    - G_IS_TLS_BACKEND
    linkageType: ''
    returnType: GType
    signature: 'GType g_tls_backend_get_file_database_type (GTlsBackend *backend) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_TLS_BACKEND_GET_INTERFACE
      Src: /src/glib/gio/gtlsbackend.c:115,1
    - Dst: G_TLS_BACKEND_GET_INTERFACE
      Src: /src/glib/gio/gtlsbackend.c:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - backend
    argTypes:
    - GTlsBackend*
    constantsTouched: []
    func_position:
      end: 119
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 119
    functionName: g_tls_backend_supports_dtls
    functionSourceFile: /src/glib/gio/gtlsbackend.c
    functionUses: []
    functionsReached:
    - G_TLS_BACKEND_GET_INTERFACE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_tls_backend_supports_dtls (GTlsBackend *backend) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter_pointer
      Src: /src/glib/gio/gtlsbackend.c:65,1
    - Dst: _g_io_module_get_default
      Src: /src/glib/gio/gtlsbackend.c:69,1
    - Dst: g_once_init_leave_pointer
      Src: /src/glib/gio/gtlsbackend.c:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 77
    functionName: g_tls_backend_get_default
    functionSourceFile: /src/glib/gio/gtlsbackend.c
    functionUses: []
    functionsReached:
    - g_once_init_leave_pointer
    - _g_io_module_get_default
    - g_once_init_enter_pointer
    linkageType: ''
    returnType: GTlsBackend*
    signature: 'GTlsBackend *g_tls_backend_get_default (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_TLS_BACKEND_GET_INTERFACE
      Src: /src/glib/gio/gtlsbackend.c:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - backend
    argTypes:
    - GTlsBackend*
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: g_tls_backend_get_certificate_type
    functionSourceFile: /src/glib/gio/gtlsbackend.c
    functionUses: []
    functionsReached:
    - G_TLS_BACKEND_GET_INTERFACE
    linkageType: ''
    returnType: GType
    signature: 'GType g_tls_backend_get_certificate_type (GTlsBackend *backend) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_TLS_BACKEND_GET_INTERFACE
      Src: /src/glib/gio/gtlsbackend.c:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - backend
    argTypes:
    - GTlsBackend*
    constantsTouched: []
    func_position:
      end: 230
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 230
    functionName: g_tls_backend_get_server_connection_type
    functionSourceFile: /src/glib/gio/gtlsbackend.c
    functionUses: []
    functionsReached:
    - G_TLS_BACKEND_GET_INTERFACE
    linkageType: ''
    returnType: GType
    signature: 'GType g_tls_backend_get_server_connection_type (GTlsBackend *backend) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsbackend.c:273,1
    - Dst: G_TLS_BACKEND_GET_INTERFACE
      Src: /src/glib/gio/gtlsbackend.c:275,1
    - Dst: G_IS_TLS_BACKEND
      Src: /src/glib/gio/gtlsbackend.c:273,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - backend
    argTypes:
    - GTlsBackend*
    constantsTouched: []
    func_position:
      end: 280
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 280
    functionName: g_tls_backend_get_dtls_server_connection_type
    functionSourceFile: /src/glib/gio/gtlsbackend.c
    functionUses: []
    functionsReached:
    - G_TLS_BACKEND_GET_INTERFACE
    - g_return_val_if_fail
    - G_IS_TLS_BACKEND
    linkageType: ''
    returnType: GType
    signature: 'GType g_tls_backend_get_dtls_server_connection_type (GTlsBackend *backend) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:1153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GWin32RegistryValueIter*
    constantsTouched: []
    func_position:
      end: 1156
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1156
    functionName: g_win32_registry_value_iter_n_values
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gsize
    signature: 'gsize g_win32_registry_value_iter_n_values (GWin32RegistryValueIter
      *iter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:1366,1
    - Dst: g_critical
      Src: /src/glib/gio/gwin32registrykey.c:1372,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:1368,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:1367,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - iter
    - value_type
    - error
    argTypes:
    - GWin32RegistryValueIter*
    - GWin32RegistryValueType*
    - GError**
    constantsTouched: []
    func_position:
      end: 1380
      start: 1361
    functionDepth: 0
    functionLinenumber: 1361
    functionLinenumberEnd: 1380
    functionName: g_win32_registry_value_iter_get_value_type
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_critical
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_win32_registry_value_iter_get_value_type (GWin32RegistryValueIter
      *iter, GWin32RegistryValueType *value_type, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter_pointer
      Src: /src/glib/gio/gwin32registrykey.c:1747,1
    - Dst: g_once_init_leave_pointer
      Src: /src/glib/gio/gwin32registrykey.c:1757,1
    - Dst: _g_win32_registry_key_reread_kernel
      Src: /src/glib/gio/gwin32registrykey.c:1764,1
    - Dst: GetProcAddress
      Src: /src/glib/gio/gwin32registrykey.c:1753,1
    - Dst: GetModuleHandleW
      Src: /src/glib/gio/gwin32registrykey.c:1750,1
    - Dst: _g_win32_registry_key_reread_user
      Src: /src/glib/gio/gwin32registrykey.c:1766,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - key
    - buf
    argTypes:
    - GWin32RegistryKey*
    - GWin32RegistryKeyPrivate*
    constantsTouched: []
    func_position:
      end: 1767
      start: 1743
    functionDepth: 0
    functionLinenumber: 1743
    functionLinenumberEnd: 1767
    functionName: _g_win32_registry_key_reread
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_once_init_leave_pointer
    - GetModuleHandleW
    - _g_win32_registry_key_reread_kernel
    - GetProcAddress
    - _g_win32_registry_key_reread_user
    - g_once_init_enter_pointer
    linkageType: ''
    returnType: void
    signature: 'static void _g_win32_registry_key_reread (GWin32RegistryKey *key,
      GWin32RegistryKeyPrivate *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:2602,1
    - Dst: G_IS_WIN32_REGISTRY_KEY
      Src: /src/glib/gio/gwin32registrykey.c:2602,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gwin32registrykey.c:2604,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - GWin32RegistryKey*
    constantsTouched: []
    func_position:
      end: 2607
      start: 2597
    functionDepth: 0
    functionLinenumber: 2597
    functionLinenumberEnd: 2607
    functionName: g_win32_registry_key_has_changed
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_WIN32_REGISTRY_KEY
    - g_atomic_int_get
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_win32_registry_key_has_changed (GWin32RegistryKey *key) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_REGISTRY_KEY
      Src: /src/glib/gio/gwin32registrykey.c:2638,1
    - Dst: g_assert
      Src: /src/glib/gio/gwin32registrykey.c:2658,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/gwin32registrykey.c:2651,1
    - Dst: g_assert
      Src: /src/glib/gio/gwin32registrykey.c:2657,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gwin32registrykey.c:2646,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gwin32registrykey.c:2660,1
    - Dst: g_value_get_pointer
      Src: /src/glib/gio/gwin32registrykey.c:2664,1
    - Dst: g_assert
      Src: /src/glib/gio/gwin32registrykey.c:2670,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32registrykey.c:2671,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gwin32registrykey.c:2675,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 24
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 2677
      start: 2632
    functionDepth: 0
    functionLinenumber: 2632
    functionLinenumberEnd: 2677
    functionName: g_win32_registry_key_set_property
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_dup_string
    - g_wcsdup
    - g_utf8_to_utf16
    - g_value_get_string
    - g_assert
    - G_WIN32_REGISTRY_KEY
    - g_value_get_pointer
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_registry_key_set_property (GObject *object, guint
      prop_id, const GValue *value, GParamSpec *pspec) '
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 4
    argCount: 1
    argNames:
    - value_type
    argTypes:
    - DWORD
    constantsTouched: []
    func_position:
      end: 1193
      start: 1158
    functionDepth: 0
    functionLinenumber: 1158
    functionLinenumberEnd: 1193
    functionName: _g_win32_registry_type_w_to_g
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GWin32RegistryValueType
    signature: 'static GWin32RegistryValueType _g_win32_registry_type_w_to_g (DWORD
      value_type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gwin32registrykey.c:1776,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:1789,1
    - Dst: wcscmp
      Src: /src/glib/gio/gwin32registrykey.c:1785,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:1786,1
    - Dst: _g_win32_registry_key_reread
      Src: /src/glib/gio/gwin32registrykey.c:1782,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - key
    argTypes:
    - GWin32RegistryKey*
    constantsTouched: []
    func_position:
      end: 1795
      start: 1769
    functionDepth: 0
    functionLinenumber: 1769
    functionLinenumberEnd: 1795
    functionName: _g_win32_registry_key_update_path
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - _g_win32_registry_key_reread
    - wcscmp
    - g_free
    - g_atomic_int_get
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _g_win32_registry_key_update_path (GWin32RegistryKey
      *key) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_REGISTRY_KEY
      Src: /src/glib/gio/gwin32registrykey.c:2615,1
    - Dst: g_win32_registry_key_get_path_w
      Src: /src/glib/gio/gwin32registrykey.c:2624,1
    - Dst: g_value_set_pointer
      Src: /src/glib/gio/gwin32registrykey.c:2624,1
    - Dst: g_win32_registry_key_get_path
      Src: /src/glib/gio/gwin32registrykey.c:2620,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gwin32registrykey.c:2620,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gwin32registrykey.c:2628,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 2630
      start: 2609
    functionDepth: 0
    functionLinenumber: 2609
    functionLinenumberEnd: 2630
    functionName: g_win32_registry_key_get_property
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_string
    - G_WIN32_REGISTRY_KEY
    - g_win32_registry_key_get_path_w
    - g_win32_registry_key_get_path
    - g_value_set_pointer
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_registry_key_get_property (GObject *object, guint
      prop_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gwin32registrykey.c:2682,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gwin32registrykey.c:2697,1
    - Dst: g_param_spec_pointer
      Src: /src/glib/gio/gwin32registrykey.c:2712,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gwin32registrykey.c:2695,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gwin32registrykey.c:2710,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GWin32RegistryKeyClass*
    constantsTouched: []
    func_position:
      end: 2716
      start: 2679
    functionDepth: 0
    functionLinenumber: 2679
    functionLinenumberEnd: 2716
    functionName: g_win32_registry_key_class_init
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_param_spec_string
    - g_param_spec_pointer
    - g_object_class_install_property
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_registry_key_class_init (GWin32RegistryKeyClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_win32_registry_key_get_instance_private
      Src: /src/glib/gio/gwin32registrykey.c:2721,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - GWin32RegistryKey*
    constantsTouched: []
    func_position:
      end: 2723
      start: 2718
    functionDepth: 0
    functionLinenumber: 2718
    functionLinenumberEnd: 2723
    functionName: g_win32_registry_key_init
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_win32_registry_key_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_registry_key_init (GWin32RegistryKey *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:528,1
    - Dst: G_WIN32_REGISTRY_KEY
      Src: /src/glib/gio/gwin32registrykey.c:537,1
    - Dst: g_initable_new
      Src: /src/glib/gio/gwin32registrykey.c:530,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32registrykey.c:534,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 538
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 538
    functionName: g_win32_registry_key_new_w
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_initable_new
    - g_wcsdup
    - G_WIN32_REGISTRY_KEY
    linkageType: ''
    returnType: GWin32RegistryKey*
    signature: 'GWin32RegistryKey *g_win32_registry_key_new_w (const gunichar2 *path,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:1850,1
    - Dst: G_IS_WIN32_REGISTRY_KEY
      Src: /src/glib/gio/gwin32registrykey.c:1850,1
    - Dst: _g_win32_registry_key_update_path
      Src: /src/glib/gio/gwin32registrykey.c:1855,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gwin32registrykey.c:1852,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1858
      start: 1845
    functionDepth: 0
    functionLinenumber: 1845
    functionLinenumberEnd: 1858
    functionName: g_win32_registry_key_get_path_w
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - _g_win32_registry_key_update_path
    - g_return_val_if_fail
    - G_IS_WIN32_REGISTRY_KEY
    - g_atomic_int_get
    linkageType: ''
    returnType: gunichar2*
    signature: 'const gunichar2 *g_win32_registry_key_get_path_w (GWin32RegistryKey
      *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:338,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - iter
    - other
    argTypes:
    - GWin32RegistryValueIter*
    - GWin32RegistryValueIter*
    constantsTouched: []
    func_position:
      end: 342
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 342
    functionName: g_win32_registry_value_iter_assign
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_win32_registry_value_iter_assign (GWin32RegistryValueIter *iter,
      const GWin32RegistryValueIter *other) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:491,1
    - Dst: g_initable_new
      Src: /src/glib/gio/gwin32registrykey.c:493,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 499
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 499
    functionName: g_win32_registry_key_new
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_initable_new
    linkageType: ''
    returnType: GWin32RegistryKey*
    signature: 'GWin32RegistryKey *g_win32_registry_key_new (const gchar *path, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GInitableIface*
    constantsTouched: []
    func_position:
      end: 544
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 544
    functionName: g_win32_registry_key_initable_iface_init
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_registry_key_initable_iface_init (GInitableIface
      *iface) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_IS_WIN32_REGISTRY_KEY
      Src: /src/glib/gio/gwin32registrykey.c:701,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:703,1
    - Dst: RegOpenKeyExW
      Src: /src/glib/gio/gwin32registrykey.c:724,1
    - Dst: wcscat
      Src: /src/glib/gio/gwin32registrykey.c:740,1
    - Dst: g_critical
      Src: /src/glib/gio/gwin32registrykey.c:707,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:702,1
    - Dst: g_set_error
      Src: /src/glib/gio/gwin32registrykey.c:728,1
    - Dst: g_object_new
      Src: /src/glib/gio/gwin32registrykey.c:734,1
    - Dst: wcslen
      Src: /src/glib/gio/gwin32registrykey.c:738,1
    - Dst: wcslen
      Src: /src/glib/gio/gwin32registrykey.c:711,1
    - Dst: g_critical
      Src: /src/glib/gio/gwin32registrykey.c:719,1
    - Dst: wcslen
      Src: /src/glib/gio/gwin32registrykey.c:742,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:701,1
    - Dst: g_win32_registry_key_get_path_w
      Src: /src/glib/gio/gwin32registrykey.c:723,1
    - Dst: wcscat
      Src: /src/glib/gio/gwin32registrykey.c:742,1
    - Dst: wcscat
      Src: /src/glib/gio/gwin32registrykey.c:741,1
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/gwin32registrykey.c:728,1
    - Dst: wcslen
      Src: /src/glib/gio/gwin32registrykey.c:741,1
    - Dst: g_malloc
      Src: /src/glib/gio/gwin32registrykey.c:738,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32registrykey.c:746,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 753
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 753
    functionName: g_win32_registry_key_get_child_w
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_return_val_if_fail
    - wcslen
    - g_object_new
    - wcscat
    - g_win32_registry_key_get_path_w
    - g_malloc
    - G_IS_WIN32_REGISTRY_KEY
    - g_critical
    - g_object_ref
    - RegOpenKeyExW
    - g_io_error_from_win32_error
    linkageType: ''
    returnType: GWin32RegistryKey*
    signature: 'GWin32RegistryKey *g_win32_registry_key_get_child_w (GWin32RegistryKey
      *key, const gunichar2 *subkey, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:1291,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:1292,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32registrykey.c:1308,1
    - Dst: g_critical
      Src: /src/glib/gio/gwin32registrykey.c:1296,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32registrykey.c:1309,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32registrykey.c:1310,1
    - Dst: RegEnumValueW
      Src: /src/glib/gio/gwin32registrykey.c:1314,1
    - Dst: g_set_error
      Src: /src/glib/gio/gwin32registrykey.c:1325,1
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/gwin32registrykey.c:1325,1
    - Dst: g_win32_registry_key_get_path_w
      Src: /src/glib/gio/gwin32registrykey.c:1327,1
    - Dst: ensure_nul_termination
      Src: /src/glib/gio/gwin32registrykey.c:1336,1
    - Dst: _g_win32_registry_type_w_to_g
      Src: /src/glib/gio/gwin32registrykey.c:1335,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 3
    argNames:
    - iter
    - skip_errors
    - error
    argTypes:
    - GWin32RegistryValueIter*
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 1346
      start: 1280
    functionDepth: 0
    functionLinenumber: 1280
    functionLinenumberEnd: 1346
    functionName: g_win32_registry_value_iter_next
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_set_error
    - RegEnumValueW
    - g_return_val_if_fail
    - g_win32_registry_key_get_path_w
    - ensure_nul_termination
    - g_clear_pointer
    - _g_win32_registry_type_w_to_g
    - g_critical
    - g_io_error_from_win32_error
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_win32_registry_value_iter_next (GWin32RegistryValueIter
      *iter, gboolean skip_errors, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:1449,1
    - Dst: g_critical
      Src: /src/glib/gio/gwin32registrykey.c:1455,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/gwin32registrykey.c:1462,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:1451,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:1450,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 4
    argNames:
    - iter
    - value_name
    - value_name_len
    - error
    argTypes:
    - GWin32RegistryValueIter*
    - gchar**
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 1475
      start: 1441
    functionDepth: 0
    functionLinenumber: 1441
    functionLinenumberEnd: 1475
    functionName: g_win32_registry_value_iter_get_name
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_utf16_to_utf8
    - g_return_val_if_fail
    - g_critical
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_win32_registry_value_iter_get_name (GWin32RegistryValueIter
      *iter, gchar **value_name, gsize *value_name_len, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:1813,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:1826,1
    - Dst: G_IS_WIN32_REGISTRY_KEY
      Src: /src/glib/gio/gwin32registrykey.c:1813,1
    - Dst: _g_win32_registry_key_update_path
      Src: /src/glib/gio/gwin32registrykey.c:1820,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gwin32registrykey.c:1815,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/gwin32registrykey.c:1828,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1833
      start: 1808
    functionDepth: 0
    functionLinenumber: 1808
    functionLinenumberEnd: 1833
    functionName: g_win32_registry_key_get_path
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - _g_win32_registry_key_update_path
    - g_return_val_if_fail
    - g_atomic_int_get
    - G_IS_WIN32_REGISTRY_KEY
    - g_free
    - g_utf16_to_utf8
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_win32_registry_key_get_path (GWin32RegistryKey *key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_REGISTRY_KEY
      Src: /src/glib/gio/gwin32registrykey.c:450,1
    - Dst: RegCloseKey
      Src: /src/glib/gio/gwin32registrykey.c:459,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32registrykey.c:454,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32registrykey.c:453,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32registrykey.c:455,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gwin32registrykey.c:463,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 464
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 464
    functionName: g_win32_registry_key_dispose
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - G_WIN32_REGISTRY_KEY
    - G_OBJECT_CLASS
    - g_clear_pointer
    - g_clear_object
    - RegCloseKey
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_registry_key_dispose (GObject *object) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/gwin32registrykey.c:570,1
    - Dst: wcscmp
      Src: /src/glib/gio/gwin32registrykey.c:596,1
    - Dst: wcscmp
      Src: /src/glib/gio/gwin32registrykey.c:604,1
    - Dst: g_critical
      Src: /src/glib/gio/gwin32registrykey.c:610,1
    - Dst: g_critical
      Src: /src/glib/gio/gwin32registrykey.c:624,1
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/gwin32registrykey.c:632,1
    - Dst: wcschr
      Src: /src/glib/gio/gwin32registrykey.c:582,1
    - Dst: wcscmp
      Src: /src/glib/gio/gwin32registrykey.c:590,1
    - Dst: wcscmp
      Src: /src/glib/gio/gwin32registrykey.c:598,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:611,1
    - Dst: RegOpenKeyExW
      Src: /src/glib/gio/gwin32registrykey.c:628,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:562,1
    - Dst: G_WIN32_REGISTRY_KEY
      Src: /src/glib/gio/gwin32registrykey.c:565,1
    - Dst: G_IS_WIN32_REGISTRY_KEY
      Src: /src/glib/gio/gwin32registrykey.c:562,1
    - Dst: wcslen
      Src: /src/glib/gio/gwin32registrykey.c:585,1
    - Dst: wcscmp
      Src: /src/glib/gio/gwin32registrykey.c:592,1
    - Dst: wcscmp
      Src: /src/glib/gio/gwin32registrykey.c:600,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:563,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32registrykey.c:588,1
    - Dst: wcscmp
      Src: /src/glib/gio/gwin32registrykey.c:594,1
    - Dst: wcscmp
      Src: /src/glib/gio/gwin32registrykey.c:602,1
    - Dst: wcscmp
      Src: /src/glib/gio/gwin32registrykey.c:606,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:615,1
    - Dst: g_set_error
      Src: /src/glib/gio/gwin32registrykey.c:632,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 76
    argCount: 3
    argNames:
    - initable
    - cancellable
    - error
    argTypes:
    - GInitable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 642
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 642
    functionName: g_win32_registry_key_initable_init
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_return_val_if_fail
    - wcslen
    - g_wcsdup
    - g_utf8_to_utf16
    - G_WIN32_REGISTRY_KEY
    - RegOpenKeyExW
    - G_IS_WIN32_REGISTRY_KEY
    - wcschr
    - g_critical
    - wcscmp
    - g_free
    - g_io_error_from_win32_error
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_win32_registry_key_initable_init (GInitable *initable,
      GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ExpandEnvironmentStringsW
      Src: /src/glib/gio/gwin32registrykey.c:1487,1
    - Dst: g_realloc
      Src: /src/glib/gio/gwin32registrykey.c:1493,1
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/gwin32registrykey.c:1505,1
    - Dst: g_set_error
      Src: /src/glib/gio/gwin32registrykey.c:1504,1
    - Dst: ExpandEnvironmentStringsW
      Src: /src/glib/gio/gwin32registrykey.c:1497,1
    - Dst: GetLastError
      Src: /src/glib/gio/gwin32registrykey.c:1505,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 5
    argNames:
    - value
    - value_name
    - expanded_value
    - expanded_charsize
    - error
    argTypes:
    - gunichar2*
    - gunichar2*
    - gpointer*
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 1512
      start: 1477
    functionDepth: 0
    functionLinenumber: 1477
    functionLinenumberEnd: 1512
    functionName: expand_value
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_realloc
    - GetLastError
    - ExpandEnvironmentStringsW
    - g_io_error_from_win32_error
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean expand_value (gunichar2 *value, const gunichar2 *value_name,
      gpointer *expanded_value, gsize *expanded_charsize, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:230,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - iter
    - other
    argTypes:
    - GWin32RegistrySubkeyIter*
    - GWin32RegistrySubkeyIter*
    constantsTouched: []
    func_position:
      end: 234
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 234
    functionName: g_win32_registry_subkey_iter_assign
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_win32_registry_subkey_iter_assign (GWin32RegistrySubkeyIter
      *iter, const GWin32RegistrySubkeyIter *other) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:310,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:315,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:313,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:314,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32registrykey.c:312,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:316,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:317,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:318,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GWin32RegistryValueIter*
    constantsTouched: []
    func_position:
      end: 320
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 320
    functionName: g_win32_registry_value_iter_free
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_free
    - g_object_unref
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_win32_registry_value_iter_free (GWin32RegistryValueIter *iter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:663,1
    - Dst: G_IS_WIN32_REGISTRY_KEY
      Src: /src/glib/gio/gwin32registrykey.c:663,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:664,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/gwin32registrykey.c:667,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:665,1
    - Dst: g_win32_registry_key_get_child_w
      Src: /src/glib/gio/gwin32registrykey.c:671,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:672,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 676
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 676
    functionName: g_win32_registry_key_get_child
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_utf8_to_utf16
    - G_IS_WIN32_REGISTRY_KEY
    - g_win32_registry_key_get_child_w
    - g_free
    linkageType: ''
    returnType: GWin32RegistryKey*
    signature: 'GWin32RegistryKey *g_win32_registry_key_get_child (GWin32RegistryKey
      *key, const gchar *subkey, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:902,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:903,1
    - Dst: g_critical
      Src: /src/glib/gio/gwin32registrykey.c:907,1
    - Dst: g_set_error
      Src: /src/glib/gio/gwin32registrykey.c:936,1
    - Dst: RegEnumKeyExW
      Src: /src/glib/gio/gwin32registrykey.c:921,1
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/gwin32registrykey.c:936,1
    - Dst: g_win32_registry_key_get_path_w
      Src: /src/glib/gio/gwin32registrykey.c:938,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - iter
    - skip_errors
    - error
    argTypes:
    - GWin32RegistrySubkeyIter*
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 944
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 944
    functionName: g_win32_registry_subkey_iter_next
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_return_val_if_fail
    - g_win32_registry_key_get_path_w
    - g_critical
    - RegEnumKeyExW
    - g_io_error_from_win32_error
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_win32_registry_subkey_iter_next (GWin32RegistrySubkeyIter
      *iter, gboolean skip_errors, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 3
    argNames:
    - value_type
    - value_data
    - value_data_size
    argTypes:
    - GWin32RegistryValueType
    - guint8*
    - gsize
    constantsTouched: []
    func_position:
      end: 1232
      start: 1195
    functionDepth: 0
    functionLinenumber: 1195
    functionLinenumberEnd: 1232
    functionName: ensure_nul_termination
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gsize
    signature: 'static gsize ensure_nul_termination (GWin32RegistryValueType value_type,
      guint8 *value_data, gsize value_data_size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter_pointer
      Src: /src/glib/gio/gwin32registrykey.c:1936,1
    - Dst: g_win32_registry_get_os_dirs_w
      Src: /src/glib/gio/gwin32registrykey.c:1941,1
    - Dst: g_critical
      Src: /src/glib/gio/gwin32registrykey.c:1957,1
    - Dst: g_new0
      Src: /src/glib/gio/gwin32registrykey.c:1946,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/gwin32registrykey.c:1952,1
    - Dst: g_once_init_leave_pointer
      Src: /src/glib/gio/gwin32registrykey.c:1960,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1964
      start: 1931
    functionDepth: 0
    functionLinenumber: 1931
    functionLinenumberEnd: 1964
    functionName: g_win32_registry_get_os_dirs
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_once_init_leave_pointer
    - g_win32_registry_get_os_dirs_w
    - g_critical
    - g_once_init_enter_pointer
    - g_new0
    - g_utf16_to_utf8
    linkageType: ''
    returnType: gchar**
    signature: 'const gchar * const *g_win32_registry_get_os_dirs (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:2581,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/gwin32registrykey.c:2583,1
    - Dst: G_IS_WIN32_REGISTRY_KEY
      Src: /src/glib/gio/gwin32registrykey.c:2581,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - GWin32RegistryKey*
    constantsTouched: []
    func_position:
      end: 2584
      start: 2578
    functionDepth: 0
    functionLinenumber: 2578
    functionLinenumberEnd: 2584
    functionName: g_win32_registry_key_erase_change_indicator
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_atomic_int_set
    - G_IS_WIN32_REGISTRY_KEY
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_win32_registry_key_erase_change_indicator (GWin32RegistryKey
      *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:206,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:210,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:211,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:209,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32registrykey.c:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GWin32RegistrySubkeyIter*
    constantsTouched: []
    func_position:
      end: 212
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 212
    functionName: g_win32_registry_subkey_iter_free
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_free
    - g_object_unref
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_win32_registry_subkey_iter_free (GWin32RegistrySubkeyIter *iter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:845,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GWin32RegistrySubkeyIter*
    constantsTouched: []
    func_position:
      end: 848
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 848
    functionName: g_win32_registry_subkey_iter_n_subkeys
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gsize
    signature: 'gsize g_win32_registry_subkey_iter_n_subkeys (GWin32RegistrySubkeyIter
      *iter) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:1611,1
    - Dst: g_critical
      Src: /src/glib/gio/gwin32registrykey.c:1617,1
    - Dst: g_convert
      Src: /src/glib/gio/gwin32registrykey.c:1639,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:1613,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:1612,1
    - Dst: g_win32_registry_value_iter_get_data_w
      Src: /src/glib/gio/gwin32registrykey.c:1661,1
    - Dst: g_convert
      Src: /src/glib/gio/gwin32registrykey.c:1668,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 52
    argCount: 5
    argNames:
    - iter
    - auto_expand
    - value_data
    - value_data_size
    - error
    argTypes:
    - GWin32RegistryValueIter*
    - gboolean
    - gpointer*
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 1686
      start: 1600
    functionDepth: 0
    functionLinenumber: 1600
    functionLinenumberEnd: 1686
    functionName: g_win32_registry_value_iter_get_data
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_win32_registry_value_iter_get_data_w
    - g_return_val_if_fail
    - g_convert
    - g_critical
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_win32_registry_value_iter_get_data (GWin32RegistryValueIter
      *iter, gboolean auto_expand, gpointer *value_data, gsize *value_data_size, GError
      **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/glib/gio/gwin32registrykey.c:1698,1
    - Dst: g_malloc
      Src: /src/glib/gio/gwin32registrykey.c:1710,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:1707,1
    - Dst: nt_query_key
      Src: /src/glib/gio/gwin32registrykey.c:1711,1
    - Dst: nt_query_key
      Src: /src/glib/gio/gwin32registrykey.c:1699,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:1720,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32registrykey.c:1728,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:1730,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - key
    - buf
    argTypes:
    - GWin32RegistryKey*
    - GWin32RegistryKeyPrivate*
    constantsTouched: []
    func_position:
      end: 1731
      start: 1688
    functionDepth: 0
    functionLinenumber: 1688
    functionLinenumberEnd: 1731
    functionName: _g_win32_registry_key_reread_kernel
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - nt_query_key
    - g_free
    - g_malloc
    - g_wcsdup
    linkageType: ''
    returnType: void
    signature: 'static void _g_win32_registry_key_reread_kernel (GWin32RegistryKey
      *key, GWin32RegistryKeyPrivate *buf) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter_pointer
      Src: /src/glib/gio/gwin32registrykey.c:1875,1
    - Dst: GetSystemWow64DirectoryW
      Src: /src/glib/gio/gwin32registrykey.c:1883,1
    - Dst: GetSystemWow64DirectoryW
      Src: /src/glib/gio/gwin32registrykey.c:1889,1
    - Dst: g_malloc
      Src: /src/glib/gio/gwin32registrykey.c:1888,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32registrykey.c:1891,1
    - Dst: GetSystemDirectoryW
      Src: /src/glib/gio/gwin32registrykey.c:1894,1
    - Dst: g_malloc
      Src: /src/glib/gio/gwin32registrykey.c:1899,1
    - Dst: GetSystemDirectoryW
      Src: /src/glib/gio/gwin32registrykey.c:1900,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32registrykey.c:1902,1
    - Dst: g_new0
      Src: /src/glib/gio/gwin32registrykey.c:1905,1
    - Dst: g_once_init_leave_pointer
      Src: /src/glib/gio/gwin32registrykey.c:1915,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1919
      start: 1870
    functionDepth: 0
    functionLinenumber: 1870
    functionLinenumberEnd: 1919
    functionName: g_win32_registry_get_os_dirs_w
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - GetSystemDirectoryW
    - g_once_init_leave_pointer
    - g_malloc
    - g_clear_pointer
    - g_once_init_enter_pointer
    - GetSystemWow64DirectoryW
    - g_new0
    linkageType: ''
    returnType: gunichar2**
    signature: 'const gunichar2 * const *g_win32_registry_get_os_dirs_w (void) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/gio/gwin32registrykey.c:2365,1
    - Dst: _g_win32_registry_type_w_to_g
      Src: /src/glib/gio/gwin32registrykey.c:2361,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:2416,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:2399,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:2299,1
    - Dst: G_IS_WIN32_REGISTRY_KEY
      Src: /src/glib/gio/gwin32registrykey.c:2299,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:2300,1
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/gwin32registrykey.c:2319,1
    - Dst: g_malloc
      Src: /src/glib/gio/gwin32registrykey.c:2340,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:2371,1
    - Dst: ensure_nul_termination
      Src: /src/glib/gio/gwin32registrykey.c:2375,1
    - Dst: expand_value
      Src: /src/glib/gio/gwin32registrykey.c:2384,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:2391,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:2301,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:2304,1
    - Dst: MuiRegQueryValueExW
      Src: /src/glib/gio/gwin32registrykey.c:2309,1
    - Dst: g_set_error
      Src: /src/glib/gio/gwin32registrykey.c:2319,1
    - Dst: g_win32_registry_key_get_path_w
      Src: /src/glib/gio/gwin32registrykey.c:2321,1
    - Dst: _g_win32_registry_type_w_to_g
      Src: /src/glib/gio/gwin32registrykey.c:2326,1
    - Dst: g_set_error
      Src: /src/glib/gio/gwin32registrykey.c:2352,1
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/gwin32registrykey.c:2352,1
    - Dst: g_win32_registry_key_get_path_w
      Src: /src/glib/gio/gwin32registrykey.c:2369,1
    - Dst: g_win32_registry_key_get_path_w
      Src: /src/glib/gio/gwin32registrykey.c:2356,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:2357,1
    - Dst: MuiRegQueryValueExW
      Src: /src/glib/gio/gwin32registrykey.c:2342,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 72
    argCount: 8
    argNames:
    - key
    - mui_dll_dirs
    - auto_expand
    - value_name
    - value_type
    - value_data
    - value_data_size
    - error
    argTypes:
    - GWin32RegistryKey*
    - gunichar2**
    - gboolean
    - gunichar2*
    - GWin32RegistryValueType*
    - gpointer*
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 2419
      start: 2280
    functionDepth: 0
    functionLinenumber: 2280
    functionLinenumberEnd: 2419
    functionName: g_win32_registry_key_get_value_w
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_set_error
    - MuiRegQueryValueExW
    - g_return_val_if_fail
    - expand_value
    - g_win32_registry_key_get_path_w
    - g_malloc
    - ensure_nul_termination
    - _g_win32_registry_type_w_to_g
    - G_IS_WIN32_REGISTRY_KEY
    - g_free
    - g_io_error_from_win32_error
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_win32_registry_key_get_value_w (GWin32RegistryKey *key,
      const gunichar2 * const *mui_dll_dirs, gboolean auto_expand, const gunichar2
      *value_name, GWin32RegistryValueType *value_type, gpointer *value_data, gsize
      *value_data_size, GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:2491,1
    - Dst: g_once_init_enter_pointer
      Src: /src/glib/gio/gwin32registrykey.c:2504,1
    - Dst: GetModuleHandleW
      Src: /src/glib/gio/gwin32registrykey.c:2507,1
    - Dst: g_critical
      Src: /src/glib/gio/gwin32registrykey.c:2500,1
    - Dst: G_IS_WIN32_REGISTRY_KEY
      Src: /src/glib/gio/gwin32registrykey.c:2491,1
    - Dst: GetProcAddress
      Src: /src/glib/gio/gwin32registrykey.c:2510,1
    - Dst: g_once_init_leave_pointer
      Src: /src/glib/gio/gwin32registrykey.c:2514,1
    - Dst: g_set_error
      Src: /src/glib/gio/gwin32registrykey.c:2519,1
    - Dst: g_atomic_int_compare_and_exchange
      Src: /src/glib/gio/gwin32registrykey.c:2525,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/gwin32registrykey.c:2535,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32registrykey.c:2538,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/gwin32registrykey.c:2558,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/gwin32registrykey.c:2559,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:2561,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32registrykey.c:2560,1
    - Dst: g_malloc
      Src: /src/glib/gio/gwin32registrykey.c:2540,1
    - Dst: nt_notify_change_multiple_keys
      Src: /src/glib/gio/gwin32registrykey.c:2542,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 6
    argNames:
    - key
    - watch_children
    - watch_flags
    - callback
    - user_data
    - error
    argTypes:
    - GWin32RegistryKey*
    - gboolean
    - GWin32RegistryKeyWatcherFlags
    - GWin32RegistryKeyWatchCallbackFunc
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 2564
      start: 2478
    functionDepth: 0
    functionLinenumber: 2478
    functionLinenumberEnd: 2564
    functionName: g_win32_registry_key_watch
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_once_init_leave_pointer
    - g_return_val_if_fail
    - GetModuleHandleW
    - g_object_unref
    - g_atomic_int_compare_and_exchange
    - GetProcAddress
    - g_malloc
    - nt_notify_change_multiple_keys
    - g_atomic_int_set
    - G_IS_WIN32_REGISTRY_KEY
    - g_critical
    - g_once_init_enter_pointer
    - g_object_ref
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_win32_registry_key_watch (GWin32RegistryKey *key, gboolean
      watch_children, GWin32RegistryKeyWatcherFlags watch_flags, GWin32RegistryKeyWatchCallbackFunc
      callback, gpointer user_data, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:258,1
    - Dst: g_memdup2
      Src: /src/glib/gio/gwin32registrykey.c:269,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32registrykey.c:265,1
    - Dst: g_new0
      Src: /src/glib/gio/gwin32registrykey.c:260,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32registrykey.c:262,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32registrykey.c:274,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32registrykey.c:279,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32registrykey.c:284,1
    - Dst: g_memdup2
      Src: /src/glib/gio/gwin32registrykey.c:290,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 296
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 296
    functionName: g_win32_registry_value_iter_copy
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_strdup
    - g_wcsdup
    - g_object_ref
    - g_new0
    - g_memdup2
    linkageType: ''
    returnType: GWin32RegistryValueIter*
    signature: 'GWin32RegistryValueIter *g_win32_registry_value_iter_copy (const GWin32RegistryValueIter
      *iter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - key
    - buf
    argTypes:
    - GWin32RegistryKey*
    - GWin32RegistryKeyPrivate*
    constantsTouched: []
    func_position:
      end: 1741
      start: 1733
    functionDepth: 0
    functionLinenumber: 1733
    functionLinenumberEnd: 1741
    functionName: _g_win32_registry_key_reread_user
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _g_win32_registry_key_reread_user (GWin32RegistryKey *key,
      GWin32RegistryKeyPrivate *buf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_REGISTRY_KEY
      Src: /src/glib/gio/gwin32registrykey.c:2426,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/gwin32registrykey.c:2434,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32registrykey.c:2430,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32registrykey.c:2431,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:2433,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/gwin32registrykey.c:2435,1
    - Dst: callback
      Src: /src/glib/gio/gwin32registrykey.c:2439,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32registrykey.c:2441,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - closure
    - status_block
    - reserved
    argTypes:
    - PVOID
    - PIO_STATUS_BLOCK
    - ULONG
    constantsTouched: []
    func_position:
      end: 2442
      start: 2421
    functionDepth: 0
    functionLinenumber: 2421
    functionLinenumberEnd: 2442
    functionName: key_changed
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_object_unref
    - G_WIN32_REGISTRY_KEY
    - callback
    - g_atomic_int_set
    - g_free
    linkageType: ''
    returnType: VOID
    signature: 'static VOID NTAPI key_changed (PVOID closure, PIO_STATUS_BLOCK status_block,
      ULONG reserved) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:176,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32registrykey.c:180,1
    - Dst: g_new0
      Src: /src/glib/gio/gwin32registrykey.c:178,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32registrykey.c:183,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 192
    functionName: g_win32_registry_subkey_iter_copy
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_new0
    - g_return_val_if_fail
    - g_wcsdup
    - g_object_ref
    linkageType: ''
    returnType: GWin32RegistrySubkeyIter*
    signature: 'GWin32RegistrySubkeyIter *g_win32_registry_subkey_iter_copy (const
      GWin32RegistrySubkeyIter *iter) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:1014,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:1015,1
    - Dst: g_critical
      Src: /src/glib/gio/gwin32registrykey.c:1020,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32registrykey.c:1026,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:1016,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/gwin32registrykey.c:1027,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 4
    argNames:
    - iter
    - subkey_name
    - subkey_name_len
    - error
    argTypes:
    - GWin32RegistrySubkeyIter*
    - gchar**
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 1042
      start: 1006
    functionDepth: 0
    functionLinenumber: 1006
    functionLinenumberEnd: 1042
    functionName: g_win32_registry_subkey_iter_get_name
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_utf16_to_utf8
    - g_return_val_if_fail
    - g_critical
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_win32_registry_subkey_iter_get_name (GWin32RegistrySubkeyIter
      *iter, const gchar **subkey_name, gsize *subkey_name_len, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:1124,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:1126,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:1129,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:1128,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:1127,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:1130,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:1131,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32registrykey.c:1132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GWin32RegistryValueIter*
    constantsTouched: []
    func_position:
      end: 1133
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1133
    functionName: g_win32_registry_value_iter_clear
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - g_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_win32_registry_value_iter_clear (GWin32RegistryValueIter *iter) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:1540,1
    - Dst: g_critical
      Src: /src/glib/gio/gwin32registrykey.c:1546,1
    - Dst: expand_value
      Src: /src/glib/gio/gwin32registrykey.c:1563,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:1542,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:1541,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 5
    argNames:
    - iter
    - auto_expand
    - value_data
    - value_data_size
    - error
    argTypes:
    - GWin32RegistryValueIter*
    - gboolean
    - gpointer*
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 1579
      start: 1533
    functionDepth: 0
    functionLinenumber: 1533
    functionLinenumberEnd: 1579
    functionName: g_win32_registry_value_iter_get_data_w
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - expand_value
    - g_return_val_if_fail
    - g_critical
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_win32_registry_value_iter_get_data_w (GWin32RegistryValueIter
      *iter, gboolean auto_expand, gpointer *value_data, gsize *value_data_size, GError
      **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:146,1
    - Dst: g_memdup2
      Src: /src/glib/gio/gwin32registrykey.c:156,1
    - Dst: g_utf16_len
      Src: /src/glib/gio/gwin32registrykey.c:149,1
    - Dst: g_assert
      Src: /src/glib/gio/gwin32registrykey.c:153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 157
    functionName: g_wcsdup
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_utf16_len
    - g_return_val_if_fail
    - g_memdup2
    linkageType: ''
    returnType: gunichar2*
    signature: 'static gunichar2 *g_wcsdup (const gunichar2 *str, gssize str_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:820,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32registrykey.c:824,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:823,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:822,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GWin32RegistrySubkeyIter*
    constantsTouched: []
    func_position:
      end: 825
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 825
    functionName: g_win32_registry_subkey_iter_clear
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - g_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_win32_registry_subkey_iter_clear (GWin32RegistrySubkeyIter
      *iter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:970,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:971,1
    - Dst: g_critical
      Src: /src/glib/gio/gwin32registrykey.c:976,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:972,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 4
    argNames:
    - iter
    - subkey_name
    - subkey_name_len
    - error
    argTypes:
    - GWin32RegistrySubkeyIter*
    - gunichar2**
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 988
      start: 964
    functionDepth: 0
    functionLinenumber: 964
    functionLinenumberEnd: 988
    functionName: g_win32_registry_subkey_iter_get_name_w
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_critical
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_win32_registry_subkey_iter_get_name_w (GWin32RegistrySubkeyIter
      *iter, const gunichar2 **subkey_name, gsize *subkey_name_len, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:1072,1
    - Dst: RegQueryInfoKeyW
      Src: /src/glib/gio/gwin32registrykey.c:1076,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:1073,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:1074,1
    - Dst: G_IS_WIN32_REGISTRY_KEY
      Src: /src/glib/gio/gwin32registrykey.c:1073,1
    - Dst: g_set_error
      Src: /src/glib/gio/gwin32registrykey.c:1083,1
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/gwin32registrykey.c:1083,1
    - Dst: g_win32_registry_key_get_path_w
      Src: /src/glib/gio/gwin32registrykey.c:1085,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32registrykey.c:1089,1
    - Dst: g_malloc
      Src: /src/glib/gio/gwin32registrykey.c:1093,1
    - Dst: g_malloc
      Src: /src/glib/gio/gwin32registrykey.c:1103,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 3
    argNames:
    - iter
    - key
    - error
    argTypes:
    - GWin32RegistryValueIter*
    - GWin32RegistryKey*
    - GError**
    constantsTouched: []
    func_position:
      end: 1111
      start: 1062
    functionDepth: 0
    functionLinenumber: 1062
    functionLinenumberEnd: 1111
    functionName: g_win32_registry_value_iter_init
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_return_val_if_fail
    - RegQueryInfoKeyW
    - g_win32_registry_key_get_path_w
    - g_malloc
    - G_IS_WIN32_REGISTRY_KEY
    - g_object_ref
    - g_io_error_from_win32_error
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_win32_registry_value_iter_init (GWin32RegistryValueIter
      *iter, GWin32RegistryKey *key, GError **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: RegQueryValueExW
      Src: /src/glib/gio/gwin32registrykey.c:2170,1
    - Dst: Wow64RevertWow64FsRedirection
      Src: /src/glib/gio/gwin32registrykey.c:2202,1
    - Dst: RegLoadMUIStringW
      Src: /src/glib/gio/gwin32registrykey.c:2191,1
    - Dst: RegQueryValueExW
      Src: /src/glib/gio/gwin32registrykey.c:2182,1
    - Dst: Wow64DisableWow64FsRedirection
      Src: /src/glib/gio/gwin32registrykey.c:2188,1
    - Dst: RegQueryValueExW
      Src: /src/glib/gio/gwin32registrykey.c:2204,1
    - Dst: RegLoadMUIStringW
      Src: /src/glib/gio/gwin32registrykey.c:2211,1
    - Dst: Wow64RevertWow64FsRedirection
      Src: /src/glib/gio/gwin32registrykey.c:2219,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 7
    argNames:
    - hKey
    - lpValueName
    - lpReserved
    - lpType
    - lpData
    - lpcbData
    - mui_dll_dirs
    argTypes:
    - HKEY
    - LPCWSTR
    - LPDWORD
    - LPDWORD
    - LPBYTE
    - LPDWORD
    - gunichar2**
    constantsTouched: []
    func_position:
      end: 2231
      start: 2154
    functionDepth: 0
    functionLinenumber: 2154
    functionLinenumberEnd: 2231
    functionName: MuiRegQueryValueExW
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - RegLoadMUIStringW
    - RegQueryValueExW
    - Wow64RevertWow64FsRedirection
    - Wow64DisableWow64FsRedirection
    linkageType: ''
    returnType: LSTATUS
    signature: 'static LSTATUS MuiRegQueryValueExW (HKEY hKey, LPCWSTR lpValueName,
      LPDWORD lpReserved, LPDWORD lpType, LPBYTE lpData, LPDWORD lpcbData, const gunichar2
      * const *mui_dll_dirs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - gunichar2*
    constantsTouched: []
    func_position:
      end: 138
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 138
    functionName: g_utf16_len
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gsize
    signature: 'static gsize g_utf16_len (const gunichar2 *str) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:782,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:783,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:784,1
    - Dst: G_IS_WIN32_REGISTRY_KEY
      Src: /src/glib/gio/gwin32registrykey.c:783,1
    - Dst: RegQueryInfoKeyW
      Src: /src/glib/gio/gwin32registrykey.c:786,1
    - Dst: g_set_error
      Src: /src/glib/gio/gwin32registrykey.c:793,1
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/gwin32registrykey.c:793,1
    - Dst: g_win32_registry_key_get_path_w
      Src: /src/glib/gio/gwin32registrykey.c:795,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32registrykey.c:799,1
    - Dst: g_malloc
      Src: /src/glib/gio/gwin32registrykey.c:803,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - iter
    - key
    - error
    argTypes:
    - GWin32RegistrySubkeyIter*
    - GWin32RegistryKey*
    - GError**
    constantsTouched: []
    func_position:
      end: 807
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 807
    functionName: g_win32_registry_subkey_iter_init
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_return_val_if_fail
    - RegQueryInfoKeyW
    - g_win32_registry_key_get_path_w
    - g_malloc
    - G_IS_WIN32_REGISTRY_KEY
    - g_object_ref
    - g_io_error_from_win32_error
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_win32_registry_subkey_iter_init (GWin32RegistrySubkeyIter
      *iter, GWin32RegistryKey *key, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:1405,1
    - Dst: g_critical
      Src: /src/glib/gio/gwin32registrykey.c:1411,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:1407,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:1406,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 4
    argNames:
    - iter
    - value_name
    - value_name_len
    - error
    argTypes:
    - GWin32RegistryValueIter*
    - gunichar2**
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 1422
      start: 1399
    functionDepth: 0
    functionLinenumber: 1399
    functionLinenumberEnd: 1422
    functionName: g_win32_registry_value_iter_get_name_w
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_critical
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_win32_registry_value_iter_get_name_w (GWin32RegistryValueIter
      *iter, gunichar2 **value_name, gsize *value_name_len, GError **error) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:2032,1
    - Dst: g_new0
      Src: /src/glib/gio/gwin32registrykey.c:2053,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:2073,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:2126,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/gwin32registrykey.c:2039,1
    - Dst: g_strv_length
      Src: /src/glib/gio/gwin32registrykey.c:2052,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/gwin32registrykey.c:2065,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:2118,1
    - Dst: G_IS_WIN32_REGISTRY_KEY
      Src: /src/glib/gio/gwin32registrykey.c:2030,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:2035,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:2100,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:2136,1
    - Dst: g_convert
      Src: /src/glib/gio/gwin32registrykey.c:2111,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:2030,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32registrykey.c:2031,1
    - Dst: g_win32_registry_get_os_dirs
      Src: /src/glib/gio/gwin32registrykey.c:2045,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/gwin32registrykey.c:2057,1
    - Dst: g_win32_registry_key_get_value_w
      Src: /src/glib/gio/gwin32registrykey.c:2084,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:2099,1
    - Dst: g_win32_registry_get_os_dirs_w
      Src: /src/glib/gio/gwin32registrykey.c:2081,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:2072,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:2093,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32registrykey.c:2070,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 85
    argCount: 8
    argNames:
    - key
    - mui_dll_dirs
    - auto_expand
    - value_name
    - value_type
    - value_data
    - value_data_size
    - error
    argTypes:
    - GWin32RegistryKey*
    - gchar**
    - gboolean
    - gchar*
    - GWin32RegistryValueType*
    - gpointer*
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 2146
      start: 2009
    functionDepth: 0
    functionLinenumber: 2009
    functionLinenumberEnd: 2146
    functionName: g_win32_registry_key_get_value
    functionSourceFile: /src/glib/gio/gwin32registrykey.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_strv_length
    - g_win32_registry_get_os_dirs_w
    - g_utf8_to_utf16
    - g_prefix_error
    - g_win32_registry_key_get_value_w
    - G_IS_WIN32_REGISTRY_KEY
    - g_convert
    - g_win32_registry_get_os_dirs
    - g_new0
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_win32_registry_key_get_value (GWin32RegistryKey *key, const
      gchar * const *mui_dll_dirs, gboolean auto_expand, const gchar *value_name,
      GWin32RegistryValueType *value_type, gpointer *value_data, gsize *value_data_size,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 46
    functionName: _GFileAttributeInfo
    functionSourceFile: /src/glib/gio/gfileattribute.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: G_BEGIN_DECLS
    signature: 'G_BEGIN_DECLS /** * GFileAttributeInfo: * @name: the name of the attribute.
      * @type: the #GFileAttributeType type of the attribute. * @flags: a set of #GFileAttributeInfoFlags.
      * * Information about a specific attribute. **/ struct _GFileAttributeInfo '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gfilemonitor.c:89,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gfilemonitor.c:93,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 96
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 96
    functionName: g_file_monitor_set_property
    functionSourceFile: /src/glib/gio/gfilemonitor.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_assert_not_reached
    linkageType: ''
    returnType: void
    signature: 'static void g_file_monitor_set_property (GObject *object, guint prop_id,
      const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE_MONITOR
      Src: /src/glib/gio/gfilemonitor.c:126,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gfilemonitor.c:131,1
    - Dst: g_file_monitor_cancel
      Src: /src/glib/gio/gfilemonitor.c:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 132
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 132
    functionName: g_file_monitor_dispose
    functionSourceFile: /src/glib/gio/gfilemonitor.c
    functionUses: []
    functionsReached:
    - g_file_monitor_cancel
    - G_FILE_MONITOR
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_file_monitor_dispose (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfilemonitor.c:231,1
    - Dst: G_IS_FILE_MONITOR
      Src: /src/glib/gio/gfilemonitor.c:231,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gfilemonitor.c:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - monitor
    argTypes:
    - GFileMonitor*
    constantsTouched: []
    func_position:
      end: 234
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 234
    functionName: g_file_monitor_is_cancelled
    functionSourceFile: /src/glib/gio/gfilemonitor.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_FILE_MONITOR
    - g_atomic_int_get
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_monitor_is_cancelled (GFileMonitor *monitor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_set
      Src: /src/glib/gio/gfilemonitor.c:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - monitor
    - limit_msecs
    argTypes:
    - GFileMonitor*
    - gint
    constantsTouched: []
    func_position:
      end: 276
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 276
    functionName: g_file_monitor_set_rate_limit
    functionSourceFile: /src/glib/gio/gfilemonitor.c
    functionUses: []
    functionsReached:
    - g_object_set
    linkageType: ''
    returnType: void
    signature: 'void g_file_monitor_set_rate_limit (GFileMonitor *monitor, gint limit_msecs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_monitor_get_instance_private
      Src: /src/glib/gio/gfilemonitor.c:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - monitor
    argTypes:
    - GFileMonitor*
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: g_file_monitor_init
    functionSourceFile: /src/glib/gio/gfilemonitor.c
    functionUses: []
    functionsReached:
    - g_file_monitor_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_file_monitor_init (GFileMonitor *monitor) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE_MONITOR
      Src: /src/glib/gio/gfilemonitor.c:104,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gfilemonitor.c:118,1
    - Dst: g_file_monitor_is_cancelled
      Src: /src/glib/gio/gfilemonitor.c:114,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gfilemonitor.c:114,1
    - Dst: g_value_set_int
      Src: /src/glib/gio/gfilemonitor.c:110,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 121
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 121
    functionName: g_file_monitor_get_property
    functionSourceFile: /src/glib/gio/gfilemonitor.c
    functionUses: []
    functionsReached:
    - g_file_monitor_is_cancelled
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_boolean
    - g_value_set_int
    - G_FILE_MONITOR
    linkageType: ''
    returnType: void
    signature: 'static void g_file_monitor_get_property (GObject *object, guint prop_id,
      GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gfilemonitor.c:145,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gfilemonitor.c:189,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gfilemonitor.c:194,1
    - Dst: I_
      Src: /src/glib/gio/gfilemonitor.c:186,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gfilemonitor.c:186,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gfilemonitor.c:195,1
    - Dst: g_param_spec_int
      Src: /src/glib/gio/gfilemonitor.c:204,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gfilemonitor.c:214,1
    - Dst: g_object_class_install_properties
      Src: /src/glib/gio/gfilemonitor.c:217,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/gfilemonitor.c:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GFileMonitorClass*
    constantsTouched: []
    func_position:
      end: 218
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 218
    functionName: g_file_monitor_class_init
    functionSourceFile: /src/glib/gio/gfilemonitor.c
    functionUses: []
    functionsReached:
    - I_
    - G_STRUCT_OFFSET
    - g_param_spec_boolean
    - G_TYPE_FROM_CLASS
    - g_param_spec_int
    - G_N_ELEMENTS
    - g_object_class_install_properties
    - G_OBJECT_CLASS
    - g_signal_set_va_marshaller
    - g_signal_new
    linkageType: ''
    returnType: void
    signature: 'static void g_file_monitor_class_init (GFileMonitorClass *klass) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfilemonitor.c:247,1
    - Dst: G_IS_FILE_MONITOR
      Src: /src/glib/gio/gfilemonitor.c:247,1
    - Dst: g_atomic_int_compare_and_exchange
      Src: /src/glib/gio/gfilemonitor.c:249,1
    - Dst: G_FILE_MONITOR_GET_CLASS
      Src: /src/glib/gio/gfilemonitor.c:253,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/gfilemonitor.c:255,1
    - Dst: g_object_notify_by_pspec
      Src: /src/glib/gio/gfilemonitor.c:256,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gfilemonitor.c:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - monitor
    argTypes:
    - GFileMonitor*
    constantsTouched: []
    func_position:
      end: 260
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 260
    functionName: g_file_monitor_cancel
    functionSourceFile: /src/glib/gio/gfilemonitor.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_object_notify_by_pspec
    - g_atomic_int_compare_and_exchange
    - G_IS_FILE_MONITOR
    - G_OBJECT
    - G_FILE_MONITOR_GET_CLASS
    - g_atomic_int_set
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_monitor_cancel (GFileMonitor *monitor) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfilemonitor.c:299,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfilemonitor.c:300,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfilemonitor.c:301,1
    - Dst: G_IS_FILE_MONITOR
      Src: /src/glib/gio/gfilemonitor.c:299,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfilemonitor.c:300,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfilemonitor.c:301,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gfilemonitor.c:303,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gfilemonitor.c:306,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - monitor
    - child
    - other_file
    - event_type
    argTypes:
    - GFileMonitor*
    - GFile*
    - GFile*
    - GFileMonitorEvent
    constantsTouched: []
    func_position:
      end: 307
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 307
    functionName: g_file_monitor_emit_event
    functionSourceFile: /src/glib/gio/gfilemonitor.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_return_if_fail
    - G_IS_FILE_MONITOR
    - g_signal_emit
    - G_IS_FILE
    linkageType: ''
    returnType: void
    signature: 'void g_file_monitor_emit_event (GFileMonitor *monitor, GFile *child,
      GFile *other_file, GFileMonitorEvent event_type) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gregistrysettingsbackend.c:743,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gregistrysettingsbackend.c:773,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gregistrysettingsbackend.c:744,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:778,1
    - Dst: memcmp
      Src: /src/glib/gio/gregistrysettingsbackend.c:776,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:783,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gregistrysettingsbackend.c:791,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gregistrysettingsbackend.c:792,1
    - Dst: strcmp
      Src: /src/glib/gio/gregistrysettingsbackend.c:794,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:796,1
    - Dst: g_warning
      Src: /src/glib/gio/gregistrysettingsbackend.c:807,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:801,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 2
    argNames:
    - cache_node
    - registry_value
    argTypes:
    - GNode*
    - RegistryValue
    constantsTouched: []
    func_position:
      end: 810
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 810
    functionName: registry_cache_update_node
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_warning
    - strcmp
    - g_free
    - memcmp
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean registry_cache_update_node (GNode *cache_node, RegistryValue
      registry_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - node
    - data
    argTypes:
    - GNode*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1323
      start: 1317
    functionDepth: 0
    functionLinenumber: 1317
    functionLinenumberEnd: 1323
    functionName: registry_cache_item_reset_readable
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void registry_cache_item_reset_readable (GNode *node, gpointer
      data) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/gregistrysettingsbackend.c:1488,1
    - Dst: registry_cache_find_immediate_child
      Src: /src/glib/gio/gregistrysettingsbackend.c:1492,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1535,1
    - Dst: RegCloseKey
      Src: /src/glib/gio/gregistrysettingsbackend.c:1509,1
    - Dst: g_message_win32_error
      Src: /src/glib/gio/gregistrysettingsbackend.c:1514,1
    - Dst: registry_cache_find_immediate_child
      Src: /src/glib/gio/gregistrysettingsbackend.c:1539,1
    - Dst: registry_cache_update
      Src: /src/glib/gio/gregistrysettingsbackend.c:1501,1
    - Dst: registry_value_dump
      Src: /src/glib/gio/gregistrysettingsbackend.c:1548,1
    - Dst: registry_cache_add_item
      Src: /src/glib/gio/gregistrysettingsbackend.c:1553,1
    - Dst: g_strdup
      Src: /src/glib/gio/gregistrysettingsbackend.c:1576,1
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:1461,1
    - Dst: g_node_children_foreach
      Src: /src/glib/gio/gregistrysettingsbackend.c:1467,1
    - Dst: g_node_n_children
      Src: /src/glib/gio/gregistrysettingsbackend.c:1462,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1508,1
    - Dst: registry_read
      Src: /src/glib/gio/gregistrysettingsbackend.c:1541,1
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:1547,1
    - Dst: g_build_path
      Src: /src/glib/gio/gregistrysettingsbackend.c:1578,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gregistrysettingsbackend.c:1580,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1595,1
    - Dst: RegEnumKeyExW
      Src: /src/glib/gio/gregistrysettingsbackend.c:1477,1
    - Dst: RegOpenKeyExW
      Src: /src/glib/gio/gregistrysettingsbackend.c:1481,1
    - Dst: registry_cache_add_item
      Src: /src/glib/gio/gregistrysettingsbackend.c:1496,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1503,1
    - Dst: RegEnumValueW
      Src: /src/glib/gio/gregistrysettingsbackend.c:1526,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1543,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1583,1
    - Dst: g_build_path
      Src: /src/glib/gio/gregistrysettingsbackend.c:1459,1
    - Dst: g_build_path
      Src: /src/glib/gio/gregistrysettingsbackend.c:1500,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/gregistrysettingsbackend.c:1530,1
    - Dst: registry_cache_update_node
      Src: /src/glib/gio/gregistrysettingsbackend.c:1566,1
    - Dst: g_message_win32_error
      Src: /src/glib/gio/gregistrysettingsbackend.c:1587,1
    - Dst: g_node_children_foreach
      Src: /src/glib/gio/gregistrysettingsbackend.c:1590,1
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:1593,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 84
    argCount: 7
    argNames:
    - self
    - hpath
    - prefix
    - partial_key_name
    - cache_node
    - n_watches
    - event
    argTypes:
    - GRegistrySettingsBackend*
    - HKEY
    - gchar*
    - gchar*
    - GNode*
    - int
    - RegistryEvent*
    constantsTouched: []
    func_position:
      end: 1596
      start: 1436
    functionDepth: 0
    functionLinenumber: 1436
    functionLinenumberEnd: 1596
    functionName: registry_cache_update
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - registry_cache_update
    - g_utf16_to_utf8
    - registry_cache_update_node
    - registry_value_dump
    - RegCloseKey
    - RegOpenKeyExW
    - g_ptr_array_add
    - g_node_n_children
    - RegEnumKeyExW
    - registry_read
    - RegEnumValueW
    - g_strdup
    - g_message_win32_error
    - registry_cache_find_immediate_child
    - registry_cache_add_item
    - g_build_path
    - trace
    - g_node_children_foreach
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void registry_cache_update (GRegistrySettingsBackend *self,
      HKEY hpath, const gchar *prefix, const gchar *partial_key_name, GNode *cache_node,
      int n_watches, RegistryEvent *event) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: G_REGISTRY_SETTINGS_BACKEND
      Src: /src/glib/gio/gregistrysettingsbackend.c:2112,1
    - Dst: EnterCriticalSection
      Src: /src/glib/gio/gregistrysettingsbackend.c:2120,1
    - Dst: watch_start
      Src: /src/glib/gio/gregistrysettingsbackend.c:2121,1
    - Dst: parse_key
      Src: /src/glib/gio/gregistrysettingsbackend.c:2135,1
    - Dst: LeaveCriticalSection
      Src: /src/glib/gio/gregistrysettingsbackend.c:2159,1
    - Dst: g_message_win32_error
      Src: /src/glib/gio/gregistrysettingsbackend.c:2166,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/gregistrysettingsbackend.c:2167,1
    - Dst: RegCloseKey
      Src: /src/glib/gio/gregistrysettingsbackend.c:2169,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/gregistrysettingsbackend.c:2177,1
    - Dst: CloseHandle
      Src: /src/glib/gio/gregistrysettingsbackend.c:2179,1
    - Dst: LeaveCriticalSection
      Src: /src/glib/gio/gregistrysettingsbackend.c:2130,1
    - Dst: g_warning
      Src: /src/glib/gio/gregistrysettingsbackend.c:2142,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:2153,1
    - Dst: RegCloseKey
      Src: /src/glib/gio/gregistrysettingsbackend.c:2178,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/gio/gregistrysettingsbackend.c:2127,1
    - Dst: LeaveCriticalSection
      Src: /src/glib/gio/gregistrysettingsbackend.c:2123,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/gregistrysettingsbackend.c:2129,1
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:2144,1
    - Dst: g_message_win32_error
      Src: /src/glib/gio/gregistrysettingsbackend.c:2157,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/gregistrysettingsbackend.c:2158,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:2147,1
    - Dst: LeaveCriticalSection
      Src: /src/glib/gio/gregistrysettingsbackend.c:2168,1
    - Dst: watch_add_notify
      Src: /src/glib/gio/gregistrysettingsbackend.c:2175,1
    - Dst: LeaveCriticalSection
      Src: /src/glib/gio/gregistrysettingsbackend.c:2182,1
    - Dst: g_warning
      Src: /src/glib/gio/gregistrysettingsbackend.c:2131,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/gregistrysettingsbackend.c:2146,1
    - Dst: RegCreateKeyExW
      Src: /src/glib/gio/gregistrysettingsbackend.c:2151,1
    - Dst: CreateEvent
      Src: /src/glib/gio/gregistrysettingsbackend.c:2163,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 2
    argNames:
    - backend
    - key_name
    argTypes:
    - GSettingsBackend*
    - char*
    constantsTouched: []
    func_position:
      end: 2183
      start: 2108
    functionDepth: 0
    functionLinenumber: 2108
    functionLinenumberEnd: 2183
    functionName: g_registry_settings_backend_subscribe
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - trace
    - watch_add_notify
    - parse_key
    - g_atomic_int_dec_and_test
    - EnterCriticalSection
    - g_warning
    - g_utf8_to_utf16
    - g_message_win32_error
    - G_REGISTRY_SETTINGS_BACKEND
    - CreateEvent
    - RegCreateKeyExW
    - LeaveCriticalSection
    - CloseHandle
    - RegCloseKey
    - g_atomic_int_inc
    - watch_start
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void g_registry_settings_backend_subscribe (GSettingsBackend
      *backend, const char *key_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SETTINGS_BACKEND_CLASS
      Src: /src/glib/gio/gregistrysettingsbackend.c:2314,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gregistrysettingsbackend.c:2345,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gregistrysettingsbackend.c:2315,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gregistrysettingsbackend.c:2347,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - class
    argTypes:
    - GRegistrySettingsBackendClass*
    constantsTouched: []
    func_position:
      end: 2352
      start: 2311
    functionDepth: 0
    functionLinenumber: 2311
    functionLinenumberEnd: 2352
    functionName: g_registry_settings_backend_class_init
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - g_param_spec_string
    - G_SETTINGS_BACKEND_CLASS
    - g_object_class_install_property
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_registry_settings_backend_class_init (GRegistrySettingsBackendClass
      *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_REGISTRY_SETTINGS_BACKEND
      Src: /src/glib/gio/gregistrysettingsbackend.c:2189,1
    - Dst: watch_remove_notify
      Src: /src/glib/gio/gregistrysettingsbackend.c:2194,1
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:2191,1
    - Dst: LeaveCriticalSection
      Src: /src/glib/gio/gregistrysettingsbackend.c:2195,1
    - Dst: EnterCriticalSection
      Src: /src/glib/gio/gregistrysettingsbackend.c:2193,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - backend
    - key_name
    argTypes:
    - GSettingsBackend*
    - char*
    constantsTouched: []
    func_position:
      end: 2196
      start: 2185
    functionDepth: 0
    functionLinenumber: 2185
    functionLinenumberEnd: 2196
    functionName: g_registry_settings_backend_unsubscribe
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - trace
    - EnterCriticalSection
    - G_REGISTRY_SETTINGS_BACKEND
    - watch_remove_notify
    - LeaveCriticalSection
    linkageType: ''
    returnType: void
    signature: 'static void g_registry_settings_backend_unsubscribe (GSettingsBackend
      *backend, const char *key_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/gio/gregistrysettingsbackend.c:2359,1
    - Dst: g_node_new
      Src: /src/glib/gio/gregistrysettingsbackend.c:2364,1
    - Dst: InitializeCriticalSection
      Src: /src/glib/gio/gregistrysettingsbackend.c:2367,1
    - Dst: g_slice_new
      Src: /src/glib/gio/gregistrysettingsbackend.c:2366,1
    - Dst: g_strdup
      Src: /src/glib/gio/gregistrysettingsbackend.c:2362,1
    - Dst: InitializeCriticalSection
      Src: /src/glib/gio/gregistrysettingsbackend.c:2370,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - self
    argTypes:
    - GRegistrySettingsBackend*
    constantsTouched: []
    func_position:
      end: 2371
      start: 2354
    functionDepth: 0
    functionLinenumber: 2354
    functionLinenumberEnd: 2371
    functionName: g_registry_settings_backend_init
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - InitializeCriticalSection
    - g_strdup
    - g_slice_new
    - g_node_new
    linkageType: ''
    returnType: void
    signature: 'static void g_registry_settings_backend_init (GRegistrySettingsBackend
      *self) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EnterCriticalSection
      Src: /src/glib/gio/gregistrysettingsbackend.c:2084,1
    - Dst: WaitForSingleObject
      Src: /src/glib/gio/gregistrysettingsbackend.c:2093,1
    - Dst: SetEvent
      Src: /src/glib/gio/gregistrysettingsbackend.c:2088,1
    - Dst: g_warning
      Src: /src/glib/gio/gregistrysettingsbackend.c:2096,1
    - Dst: g_strdup
      Src: /src/glib/gio/gregistrysettingsbackend.c:2086,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gregistrysettingsbackend.c:2098,1
    - Dst: watch_stop_unlocked
      Src: /src/glib/gio/gregistrysettingsbackend.c:2100,1
    - Dst: LeaveCriticalSection
      Src: /src/glib/gio/gregistrysettingsbackend.c:2102,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - self
    - key_name
    argTypes:
    - GRegistrySettingsBackend*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2103
      start: 2070
    functionDepth: 0
    functionLinenumber: 2070
    functionLinenumberEnd: 2103
    functionName: watch_remove_notify
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - g_strdup
    - EnterCriticalSection
    - g_warning
    - g_atomic_int_get
    - watch_stop_unlocked
    - WaitForSingleObject
    - SetEvent
    - LeaveCriticalSection
    linkageType: ''
    returnType: void
    signature: 'static void watch_remove_notify (GRegistrySettingsBackend *self, const
      gchar *key_name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gregistrysettingsbackend.c:361,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gregistrysettingsbackend.c:367,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/gregistrysettingsbackend.c:363,1
    - Dst: strlen
      Src: /src/glib/gio/gregistrysettingsbackend.c:369,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 382
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 382
    functionName: split_registry_path
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - g_assert
    - G_N_ELEMENTS
    - g_str_has_prefix
    - strlen
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *split_registry_path (const gchar *full_path, HKEY
      *root_key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_REGISTRY_SETTINGS_BACKEND
      Src: /src/glib/gio/gregistrysettingsbackend.c:1274,1
    - Dst: parse_key
      Src: /src/glib/gio/gregistrysettingsbackend.c:1281,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1290,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/gregistrysettingsbackend.c:1282,1
    - Dst: RegCreateKeyExW
      Src: /src/glib/gio/gregistrysettingsbackend.c:1288,1
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:1294,1
    - Dst: predefined_key_to_string
      Src: /src/glib/gio/gregistrysettingsbackend.c:1295,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1297,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1302,1
    - Dst: RegCloseKey
      Src: /src/glib/gio/gregistrysettingsbackend.c:1303,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - backend
    - key_name
    argTypes:
    - GSettingsBackend*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1306
      start: 1270
    functionDepth: 0
    functionLinenumber: 1270
    functionLinenumberEnd: 1306
    functionName: g_registry_settings_backend_get_writable
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - trace
    - predefined_key_to_string
    - parse_key
    - g_utf8_to_utf16
    - G_REGISTRY_SETTINGS_BACKEND
    - RegCreateKeyExW
    - RegCloseKey
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_registry_settings_backend_get_writable (GSettingsBackend
      *backend, const gchar *key_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gregistrysettingsbackend.c:2388,1
    - Dst: g_object_new
      Src: /src/glib/gio/gregistrysettingsbackend.c:2390,1
    - Dst: G_SETTINGS_BACKEND
      Src: /src/glib/gio/gregistrysettingsbackend.c:2390,1
    - Dst: split_registry_path
      Src: /src/glib/gio/gregistrysettingsbackend.c:2388,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2393
      start: 2385
    functionDepth: 0
    functionLinenumber: 2385
    functionLinenumberEnd: 2393
    functionName: g_registry_settings_backend_new
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - g_object_new
    - g_return_val_if_fail
    - G_SETTINGS_BACKEND
    - split_registry_path
    linkageType: ''
    returnType: GSettingsBackend*
    signature: 'GSettingsBackend *g_registry_settings_backend_new (const gchar *registry_key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_REGISTRY_SETTINGS_BACKEND
      Src: /src/glib/gio/gregistrysettingsbackend.c:2205,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gregistrysettingsbackend.c:2209,1
    - Dst: registry_cache_item_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:2211,1
    - Dst: g_node_destroy
      Src: /src/glib/gio/gregistrysettingsbackend.c:2212,1
    - Dst: EnterCriticalSection
      Src: /src/glib/gio/gregistrysettingsbackend.c:2216,1
    - Dst: watch_stop_unlocked
      Src: /src/glib/gio/gregistrysettingsbackend.c:2217,1
    - Dst: DeleteCriticalSection
      Src: /src/glib/gio/gregistrysettingsbackend.c:2219,1
    - Dst: DeleteCriticalSection
      Src: /src/glib/gio/gregistrysettingsbackend.c:2221,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:2222,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:2224,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:2225,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 2226
      start: 2202
    functionDepth: 0
    functionLinenumber: 2202
    functionLinenumberEnd: 2226
    functionName: g_registry_settings_backend_finalize
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - g_warn_if_fail
    - EnterCriticalSection
    - DeleteCriticalSection
    - G_REGISTRY_SETTINGS_BACKEND
    - watch_stop_unlocked
    - g_node_destroy
    - g_slice_free
    - g_free
    - registry_cache_item_free
    linkageType: ''
    returnType: void
    signature: 'static void g_registry_settings_backend_finalize (GObject *object) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gregistrysettingsbackend.c:402,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gregistrysettingsbackend.c:406,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gregistrysettingsbackend.c:408,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gregistrysettingsbackend.c:410,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gregistrysettingsbackend.c:404,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 411
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 411
    functionName: registry_value_dump
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    linkageType: ''
    returnType: char*
    signature: 'static char *registry_value_dump (RegistryValue value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gregistrysettingsbackend.c:612,1
    - Dst: strcmp
      Src: /src/glib/gio/gregistrysettingsbackend.c:615,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gregistrysettingsbackend.c:613,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - node
    - data
    argTypes:
    - GNode*
    - gpointer
    constantsTouched: []
    func_position:
      end: 622
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 622
    functionName: registry_cache_find_compare
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - strcmp
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean registry_cache_find_compare (GNode *node, gpointer
      data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/gregistrysettingsbackend.c:347,1
    - Dst: g_warning
      Src: /src/glib/gio/gregistrysettingsbackend.c:353,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 355
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 355
    functionName: predefined_key_to_string
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - g_warning
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *predefined_key_to_string (HKEY key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:417,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - value
    argTypes:
    - RegistryValue
    constantsTouched: []
    func_position:
      end: 421
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 421
    functionName: registry_value_free
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void registry_value_free (RegistryValue value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gregistrysettingsbackend.c:462,1
    - Dst: g_slice_new
      Src: /src/glib/gio/gregistrysettingsbackend.c:465,1
    - Dst: g_strdup
      Src: /src/glib/gio/gregistrysettingsbackend.c:470,1
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:476,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gregistrysettingsbackend.c:463,1
    - Dst: g_node_new
      Src: /src/glib/gio/gregistrysettingsbackend.c:479,1
    - Dst: g_node_append
      Src: /src/glib/gio/gregistrysettingsbackend.c:480,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 483
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 483
    functionName: registry_cache_add_item
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - trace
    - g_return_val_if_fail
    - g_strdup
    - g_node_new
    - g_node_append
    - g_slice_new
    linkageType: ''
    returnType: GNode*
    signature: 'static GNode *registry_cache_add_item (GNode *parent, gchar *name,
      RegistryValue value, gint ref_count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_node_traverse
      Src: /src/glib/gio/gregistrysettingsbackend.c:633,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 637
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 637
    functionName: registry_cache_find_immediate_child
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - g_node_traverse
    linkageType: ''
    returnType: GNode*
    signature: 'static GNode *registry_cache_find_immediate_child (GNode *node, gchar
      *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gio/gregistrysettingsbackend.c:578,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gregistrysettingsbackend.c:582,1
    - Dst: g_print
      Src: /src/glib/gio/gregistrysettingsbackend.c:589,1
    - Dst: g_print
      Src: /src/glib/gio/gregistrysettingsbackend.c:587,1
    - Dst: g_print
      Src: /src/glib/gio/gregistrysettingsbackend.c:585,1
    - Dst: registry_value_dump
      Src: /src/glib/gio/gregistrysettingsbackend.c:590,1
    - Dst: g_node_children_foreach
      Src: /src/glib/gio/gregistrysettingsbackend.c:591,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gregistrysettingsbackend.c:592,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - cache_node
    - data
    argTypes:
    - GNode*
    - gpointer
    constantsTouched: []
    func_position:
      end: 593
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 593
    functionName: registry_cache_dump
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - registry_value_dump
    - g_return_if_fail
    - g_node_children_foreach
    - GINT_TO_POINTER
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void registry_cache_dump (GNode *cache_node, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/gio/gregistrysettingsbackend.c:205,1
    - Dst: fflush
      Src: /src/glib/gio/gregistrysettingsbackend.c:207,1
    - Dst: vprintf
      Src: /src/glib/gio/gregistrysettingsbackend.c:206,1
    - Dst: va_end
      Src: /src/glib/gio/gregistrysettingsbackend.c:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - format
    - '...'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 210
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 210
    functionName: trace
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - vprintf
    - va_start
    - va_end
    - fflush
    linkageType: ''
    returnType: void
    signature: 'static void trace (const char *format, ...) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gregistrysettingsbackend.c:231,1
    - Dst: g_strdup
      Src: /src/glib/gio/gregistrysettingsbackend.c:262,1
    - Dst: g_strjoin
      Src: /src/glib/gio/gregistrysettingsbackend.c:264,1
    - Dst: strlen
      Src: /src/glib/gio/gregistrysettingsbackend.c:267,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 18
    argCount: 0
    argNames:
    - 2, 3
    argTypes: []
    constantsTouched: []
    func_position:
      end: 280
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 280
    functionName: G_GNUC_PRINTF
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - g_strjoin
    - g_strdup_printf
    - strlen
    - g_strdup
    linkageType: ''
    returnType: void
    signature: 'static void G_GNUC_PRINTF (2, 3) g_message_win32_error (DWORD result_code,
      const gchar *format, ...){ va_list va; gchar *message; gchar *win32_error; gchar
      *win32_message; g_return_if_fail (result_code != 0); va_start (va, format);
      message = g_strdup_vprintf (format, va); win32_error = g_win32_error_message
      (result_code); win32_message = g_strdup_printf ("%s: %s", message, win32_error);
      g_free (message); g_free (win32_error); if (result_code == ERROR_KEY_DELETED)
      trace ("(%s)", win32_message); else g_message ("%s", win32_message); g_free
      (win32_message); } /* Make gsettings key into a registry path & value pair.
      * * Note that the return value *only* needs freeing - registry_value_name *
      is a pointer to further inside the same block of memory. */ static gchar *parse_key
      (const gchar *key_name, const gchar *registry_prefix, gchar **value_name) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gregistrysettingsbackend.c:285,1
    - Dst: g_variant_get_byte
      Src: /src/glib/gio/gregistrysettingsbackend.c:290,1
    - Dst: g_variant_get_boolean
      Src: /src/glib/gio/gregistrysettingsbackend.c:288,1
    - Dst: g_variant_get_int16
      Src: /src/glib/gio/gregistrysettingsbackend.c:292,1
    - Dst: g_variant_get_uint16
      Src: /src/glib/gio/gregistrysettingsbackend.c:294,1
    - Dst: g_variant_get_int32
      Src: /src/glib/gio/gregistrysettingsbackend.c:296,1
    - Dst: g_variant_get_uint32
      Src: /src/glib/gio/gregistrysettingsbackend.c:298,1
    - Dst: g_warn_if_reached
      Src: /src/glib/gio/gregistrysettingsbackend.c:300,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 1
    argNames:
    - variant
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 303
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 303
    functionName: g_variant_get_as_dword
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - g_variant_get_uint32
    - g_warn_if_reached
    - g_variant_get_int32
    - g_variant_get_type_string
    - g_variant_get_uint16
    - g_variant_get_byte
    - g_variant_get_int16
    - g_variant_get_boolean
    linkageType: ''
    returnType: DWORD
    signature: 'static DWORD g_variant_get_as_dword (GVariant *variant) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_node_children_foreach
      Src: /src/glib/gio/gregistrysettingsbackend.c:496,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - GNode*
    constantsTouched: []
    func_position:
      end: 499
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 499
    functionName: _ref_down
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - g_node_children_foreach
    linkageType: ''
    returnType: void
    signature: 'static void _ref_down (GNode *node) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: G_REGISTRY_SETTINGS_BACKEND
      Src: /src/glib/gio/gregistrysettingsbackend.c:908,1
    - Dst: registry_cache_get_node_for_key
      Src: /src/glib/gio/gregistrysettingsbackend.c:924,1
    - Dst: EnterCriticalSection
      Src: /src/glib/gio/gregistrysettingsbackend.c:923,1
    - Dst: LeaveCriticalSection
      Src: /src/glib/gio/gregistrysettingsbackend.c:925,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gregistrysettingsbackend.c:914,1
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:927,1
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:933,1
    - Dst: registry_value_dump
      Src: /src/glib/gio/gregistrysettingsbackend.c:933,1
    - Dst: g_variant_type_dup_string
      Src: /src/glib/gio/gregistrysettingsbackend.c:937,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gregistrysettingsbackend.c:949,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gregistrysettingsbackend.c:957,1
    - Dst: g_variant_parse
      Src: /src/glib/gio/gregistrysettingsbackend.c:970,1
    - Dst: g_message
      Src: /src/glib/gio/gregistrysettingsbackend.c:974,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:981,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gregistrysettingsbackend.c:965,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 984
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 984
    functionName: g_registry_settings_backend_read
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - trace
    - registry_cache_get_node_for_key
    - g_return_val_if_fail
    - EnterCriticalSection
    - registry_value_dump
    - g_variant_parse
    - g_message
    - G_REGISTRY_SETTINGS_BACKEND
    - g_variant_new_string
    - g_variant_type_dup_string
    - g_variant_new
    - LeaveCriticalSection
    - g_free
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_registry_settings_backend_read (GSettingsBackend
      *backend, const gchar *key_name, const GVariantType *expected_type, gboolean
      default_value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gio/gregistrysettingsbackend.c:1385,1
    - Dst: g_build_path
      Src: /src/glib/gio/gregistrysettingsbackend.c:1390,1
    - Dst: g_node_children_foreach
      Src: /src/glib/gio/gregistrysettingsbackend.c:1397,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1391,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gregistrysettingsbackend.c:1400,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - node
    - data
    argTypes:
    - GNode*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1401
      start: 1377
    functionDepth: 0
    functionLinenumber: 1377
    functionLinenumberEnd: 1401
    functionName: mark_all_subkeys_as_changed
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_node_children_foreach
    - g_build_path
    - g_free
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void mark_all_subkeys_as_changed (GNode *node, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:1616,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1623,1
    - Dst: G_SETTINGS_BACKEND
      Src: /src/glib/gio/gregistrysettingsbackend.c:1620,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gregistrysettingsbackend.c:1619,1
    - Dst: g_settings_backend_keys_changed
      Src: /src/glib/gio/gregistrysettingsbackend.c:1620,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1624,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gregistrysettingsbackend.c:1625,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1626,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - event
    argTypes:
    - RegistryEvent*
    constantsTouched: []
    func_position:
      end: 1629
      start: 1613
    functionDepth: 0
    functionLinenumber: 1613
    functionLinenumberEnd: 1629
    functionName: watch_handler
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - trace
    - g_ptr_array_add
    - g_object_unref
    - g_settings_backend_keys_changed
    - g_slice_free
    - g_ptr_array_free
    - g_free
    - G_SETTINGS_BACKEND
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean watch_handler (RegistryEvent *event) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gregistrysettingsbackend.c:1789,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gregistrysettingsbackend.c:1790,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gregistrysettingsbackend.c:1792,1
    - Dst: registry_watch_key
      Src: /src/glib/gio/gregistrysettingsbackend.c:1849,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gregistrysettingsbackend.c:1828,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gregistrysettingsbackend.c:1883,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/gio/gregistrysettingsbackend.c:1885,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gregistrysettingsbackend.c:1896,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1899,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gregistrysettingsbackend.c:1794,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gregistrysettingsbackend.c:1796,1
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:1800,1
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:1832,1
    - Dst: g_message_win32_error
      Src: /src/glib/gio/gregistrysettingsbackend.c:1857,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gregistrysettingsbackend.c:1827,1
    - Dst: _free_watch
      Src: /src/glib/gio/gregistrysettingsbackend.c:1859,1
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:1871,1
    - Dst: EnterCriticalSection
      Src: /src/glib/gio/gregistrysettingsbackend.c:1887,1
    - Dst: G_REGISTRY_SETTINGS_BACKEND
      Src: /src/glib/gio/gregistrysettingsbackend.c:1887,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1898,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gregistrysettingsbackend.c:1791,1
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:1837,1
    - Dst: watch_thread_handle_message
      Src: /src/glib/gio/gregistrysettingsbackend.c:1809,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gregistrysettingsbackend.c:1830,1
    - Dst: g_slice_new
      Src: /src/glib/gio/gregistrysettingsbackend.c:1882,1
    - Dst: G_REGISTRY_SETTINGS_BACKEND
      Src: /src/glib/gio/gregistrysettingsbackend.c:1883,1
    - Dst: registry_cache_update
      Src: /src/glib/gio/gregistrysettingsbackend.c:1888,1
    - Dst: LeaveCriticalSection
      Src: /src/glib/gio/gregistrysettingsbackend.c:1890,1
    - Dst: G_REGISTRY_SETTINGS_BACKEND
      Src: /src/glib/gio/gregistrysettingsbackend.c:1890,1
    - Dst: g_message_win32_error
      Src: /src/glib/gio/gregistrysettingsbackend.c:1905,1
    - Dst: G_REGISTRY_SETTINGS_BACKEND
      Src: /src/glib/gio/gregistrysettingsbackend.c:1888,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gregistrysettingsbackend.c:1793,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gregistrysettingsbackend.c:1795,1
    - Dst: WaitForMultipleObjects
      Src: /src/glib/gio/gregistrysettingsbackend.c:1801,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gregistrysettingsbackend.c:1829,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/gregistrysettingsbackend.c:1860,1
    - Dst: g_strdup
      Src: /src/glib/gio/gregistrysettingsbackend.c:1884,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1897,1
    - Dst: GetLastError
      Src: /src/glib/gio/gregistrysettingsbackend.c:1905,1
    - Dst: g_idle_add
      Src: /src/glib/gio/gregistrysettingsbackend.c:1893,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 75
    argCount: 1
    argNames:
    - parameter
    argTypes:
    - LPVOID
    constantsTouched: []
    func_position:
      end: 1910
      start: 1783
    functionDepth: 0
    functionLinenumber: 1783
    functionLinenumberEnd: 1910
    functionName: watch_thread_function
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - registry_cache_update
    - watch_thread_handle_message
    - g_ptr_array_new
    - EnterCriticalSection
    - g_object_unref
    - g_free
    - WaitForMultipleObjects
    - g_atomic_int_inc
    - g_slice_free
    - g_ptr_array_add
    - g_strdup
    - g_message_win32_error
    - G_REGISTRY_SETTINGS_BACKEND
    - registry_watch_key
    - g_ptr_array_new_with_free_func
    - g_slice_new
    - LeaveCriticalSection
    - g_ptr_array_free
    - g_ptr_array_index
    - trace
    - _free_watch
    - GetLastError
    - g_object_ref
    - g_idle_add
    linkageType: ''
    returnType: DWORD
    signature: 'static DWORD WINAPI watch_thread_function (LPVOID parameter) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gregistrysettingsbackend.c:308,1
    - Dst: g_warn_if_reached
      Src: /src/glib/gio/gregistrysettingsbackend.c:315,1
    - Dst: g_variant_get_uint64
      Src: /src/glib/gio/gregistrysettingsbackend.c:313,1
    - Dst: g_variant_get_int64
      Src: /src/glib/gio/gregistrysettingsbackend.c:311,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - variant
    argTypes:
    - GVariant*
    constantsTouched: []
    func_position:
      end: 318
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 318
    functionName: g_variant_get_as_qword
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - g_variant_get_uint64
    - g_warn_if_reached
    - g_variant_get_type_string
    - g_variant_get_int64
    linkageType: ''
    returnType: DWORDLONG
    signature: 'static DWORDLONG g_variant_get_as_qword (GVariant *variant) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gregistrysettingsbackend.c:507,1
    - Dst: g_node_children_foreach
      Src: /src/glib/gio/gregistrysettingsbackend.c:511,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - tree
    argTypes:
    - GNode*
    constantsTouched: []
    func_position:
      end: 519
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 519
    functionName: registry_cache_ref_tree
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - g_node_children_foreach
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void registry_cache_ref_tree (GNode *tree) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mark_all_subkeys_as_changed
      Src: /src/glib/gio/gregistrysettingsbackend.c:1417,1
    - Dst: registry_cache_destroy_tree
      Src: /src/glib/gio/gregistrysettingsbackend.c:1418,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - node
    - data
    argTypes:
    - GNode*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1420
      start: 1403
    functionDepth: 0
    functionLinenumber: 1403
    functionLinenumberEnd: 1420
    functionName: registry_cache_remove_deleted
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - mark_all_subkeys_as_changed
    - registry_cache_destroy_tree
    linkageType: ''
    returnType: void
    signature: 'static void registry_cache_remove_deleted (GNode *node, gpointer data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gregistrysettingsbackend.c:1640,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gregistrysettingsbackend.c:1644,1
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:1646,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gregistrysettingsbackend.c:1643,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gregistrysettingsbackend.c:1642,1
    - Dst: RegCloseKey
      Src: /src/glib/gio/gregistrysettingsbackend.c:1654,1
    - Dst: registry_cache_unref_tree
      Src: /src/glib/gio/gregistrysettingsbackend.c:1659,1
    - Dst: CloseHandle
      Src: /src/glib/gio/gregistrysettingsbackend.c:1662,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1663,1
    - Dst: g_ptr_array_remove_index_fast
      Src: /src/glib/gio/gregistrysettingsbackend.c:1668,1
    - Dst: g_ptr_array_remove_index_fast
      Src: /src/glib/gio/gregistrysettingsbackend.c:1670,1
    - Dst: g_ptr_array_remove_index_fast
      Src: /src/glib/gio/gregistrysettingsbackend.c:1671,1
    - Dst: g_ptr_array_remove_index_fast
      Src: /src/glib/gio/gregistrysettingsbackend.c:1669,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - self
    - index
    - cache_node
    argTypes:
    - WatchThreadState*
    - guint
    - GNode*
    constantsTouched: []
    func_position:
      end: 1672
      start: 1631
    functionDepth: 0
    functionLinenumber: 1631
    functionLinenumberEnd: 1672
    functionName: _free_watch
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - trace
    - registry_cache_unref_tree
    - g_return_if_fail
    - g_free
    - g_ptr_array_remove_index_fast
    - CloseHandle
    - RegCloseKey
    - g_ptr_array_index
    linkageType: ''
    returnType: void
    signature: 'static void _free_watch (WatchThreadState *self, guint index, GNode
      *cache_node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_REGISTRY_SETTINGS_BACKEND
      Src: /src/glib/gio/gregistrysettingsbackend.c:2231,1
    - Dst: g_strdup
      Src: /src/glib/gio/gregistrysettingsbackend.c:2236,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/gregistrysettingsbackend.c:2237,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 2239
      start: 2228
    functionDepth: 0
    functionLinenumber: 2228
    functionLinenumberEnd: 2239
    functionName: g_registry_settings_backend_constructed
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - g_utf8_to_utf16
    - G_REGISTRY_SETTINGS_BACKEND
    - g_strdup
    linkageType: ''
    returnType: void
    signature: 'static void g_registry_settings_backend_constructed (GObject *object) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gregistrysettingsbackend.c:693,1
    - Dst: g_strdup
      Src: /src/glib/gio/gregistrysettingsbackend.c:699,1
    - Dst: registry_cache_find_immediate_child
      Src: /src/glib/gio/gregistrysettingsbackend.c:711,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:704,1
    - Dst: strchr
      Src: /src/glib/gio/gregistrysettingsbackend.c:700,1
    - Dst: registry_cache_add_item
      Src: /src/glib/gio/gregistrysettingsbackend.c:717,1
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:720,1
    - Dst: registry_cache_get_node_for_key_recursive
      Src: /src/glib/gio/gregistrysettingsbackend.c:726,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:729,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 732
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 732
    functionName: registry_cache_get_node_for_key
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - trace
    - g_return_val_if_fail
    - g_strdup
    - registry_cache_find_immediate_child
    - registry_cache_get_node_for_key_recursive
    - registry_cache_add_item
    - strchr
    - g_free
    linkageType: ''
    returnType: GNode*
    signature: 'static GNode *registry_cache_get_node_for_key (GNode *root, const
      gchar *key_name, gboolean create_if_not_found) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gregistrysettingsbackend.c:851,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:862,1
    - Dst: handle_read_error
      Src: /src/glib/gio/gregistrysettingsbackend.c:861,1
    - Dst: RegQueryValueExW
      Src: /src/glib/gio/gregistrysettingsbackend.c:858,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/gregistrysettingsbackend.c:856,1
    - Dst: g_strdup
      Src: /src/glib/gio/gregistrysettingsbackend.c:868,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:869,1
    - Dst: g_malloc
      Src: /src/glib/gio/gregistrysettingsbackend.c:877,1
    - Dst: RegQueryValueExW
      Src: /src/glib/gio/gregistrysettingsbackend.c:879,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:880,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/gregistrysettingsbackend.c:894,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:895,1
    - Dst: handle_read_error
      Src: /src/glib/gio/gregistrysettingsbackend.c:884,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:887,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 4
    argNames:
    - hpath
    - path_name
    - value_name
    - p_value
    argTypes:
    - HKEY
    - gchar*
    - gchar*
    - RegistryValue*
    constantsTouched: []
    func_position:
      end: 900
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 900
    functionName: registry_read
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_strdup
    - handle_read_error
    - g_utf8_to_utf16
    - RegQueryValueExW
    - g_malloc
    - g_free
    - g_utf16_to_utf8
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean registry_read (HKEY hpath, const gchar *path_name,
      const gchar *value_name, RegistryValue *p_value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_REGISTRY_SETTINGS_BACKEND
      Src: /src/glib/gio/gregistrysettingsbackend.c:1157,1
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:1166,1
    - Dst: predefined_key_to_string
      Src: /src/glib/gio/gregistrysettingsbackend.c:1167,1
    - Dst: g_registry_settings_backend_write_one
      Src: /src/glib/gio/gregistrysettingsbackend.c:1174,1
    - Dst: RegCreateKeyExW
      Src: /src/glib/gio/gregistrysettingsbackend.c:1162,1
    - Dst: g_settings_backend_changed
      Src: /src/glib/gio/gregistrysettingsbackend.c:1175,1
    - Dst: RegCloseKey
      Src: /src/glib/gio/gregistrysettingsbackend.c:1177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - backend
    - key_name
    - value
    - origin_tag
    argTypes:
    - GSettingsBackend*
    - gchar*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1180
      start: 1151
    functionDepth: 0
    functionLinenumber: 1151
    functionLinenumberEnd: 1180
    functionName: g_registry_settings_backend_write
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - trace
    - predefined_key_to_string
    - G_REGISTRY_SETTINGS_BACKEND
    - RegCreateKeyExW
    - RegCloseKey
    - g_registry_settings_backend_write_one
    - g_settings_backend_changed
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_registry_settings_backend_write (GSettingsBackend
      *backend, const gchar *key_name, GVariant *value, gpointer origin_tag) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gregistrysettingsbackend.c:1694,1
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:1697,1
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:1738,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gregistrysettingsbackend.c:1720,1
    - Dst: _free_watch
      Src: /src/glib/gio/gregistrysettingsbackend.c:1754,1
    - Dst: ExitThread
      Src: /src/glib/gio/gregistrysettingsbackend.c:1774,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gregistrysettingsbackend.c:1693,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gregistrysettingsbackend.c:1692,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/gregistrysettingsbackend.c:1770,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/gregistrysettingsbackend.c:1771,1
    - Dst: SetEvent
      Src: /src/glib/gio/gregistrysettingsbackend.c:1773,1
    - Dst: registry_watch_key
      Src: /src/glib/gio/gregistrysettingsbackend.c:1688,1
    - Dst: CloseHandle
      Src: /src/glib/gio/gregistrysettingsbackend.c:1704,1
    - Dst: RegCloseKey
      Src: /src/glib/gio/gregistrysettingsbackend.c:1705,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1740,1
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:1730,1
    - Dst: registry_cache_unref_tree
      Src: /src/glib/gio/gregistrysettingsbackend.c:1707,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1706,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/gregistrysettingsbackend.c:1756,1
    - Dst: SetEvent
      Src: /src/glib/gio/gregistrysettingsbackend.c:1779,1
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:1680,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gregistrysettingsbackend.c:1695,1
    - Dst: g_message_win32_error
      Src: /src/glib/gio/gregistrysettingsbackend.c:1702,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1732,1
    - Dst: strcmp
      Src: /src/glib/gio/gregistrysettingsbackend.c:1720,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gregistrysettingsbackend.c:1736,1
    - Dst: _free_watch
      Src: /src/glib/gio/gregistrysettingsbackend.c:1766,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gregistrysettingsbackend.c:1766,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/gregistrysettingsbackend.c:1768,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/gregistrysettingsbackend.c:1769,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 1
    argNames:
    - self
    argTypes:
    - WatchThreadState*
    constantsTouched: []
    func_position:
      end: 1780
      start: 1674
    functionDepth: 0
    functionLinenumber: 1674
    functionLinenumberEnd: 1780
    functionName: watch_thread_handle_message
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - trace
    - g_ptr_array_unref
    - g_message_win32_error
    - registry_cache_unref_tree
    - registry_watch_key
    - strcmp
    - g_ptr_array_index
    - _free_watch
    - SetEvent
    - ExitThread
    - CloseHandle
    - RegCloseKey
    - g_atomic_int_inc
    - g_free
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void watch_thread_handle_message (WatchThreadState *self) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gregistrysettingsbackend.c:2009,1
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:2011,1
    - Dst: LeaveCriticalSection
      Src: /src/glib/gio/gregistrysettingsbackend.c:2021,1
    - Dst: EnterCriticalSection
      Src: /src/glib/gio/gregistrysettingsbackend.c:2016,1
    - Dst: registry_cache_get_node_for_key
      Src: /src/glib/gio/gregistrysettingsbackend.c:2017,1
    - Dst: g_warn_if_reached
      Src: /src/glib/gio/gregistrysettingsbackend.c:2022,1
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:2031,1
    - Dst: LeaveCriticalSection
      Src: /src/glib/gio/gregistrysettingsbackend.c:2033,1
    - Dst: registry_cache_ref_tree
      Src: /src/glib/gio/gregistrysettingsbackend.c:2037,1
    - Dst: registry_cache_update
      Src: /src/glib/gio/gregistrysettingsbackend.c:2038,1
    - Dst: LeaveCriticalSection
      Src: /src/glib/gio/gregistrysettingsbackend.c:2040,1
    - Dst: WaitForSingleObject
      Src: /src/glib/gio/gregistrysettingsbackend.c:2058,1
    - Dst: SetEvent
      Src: /src/glib/gio/gregistrysettingsbackend.c:2049,1
    - Dst: LeaveCriticalSection
      Src: /src/glib/gio/gregistrysettingsbackend.c:2064,1
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:2061,1
    - Dst: g_strdup
      Src: /src/glib/gio/gregistrysettingsbackend.c:2046,1
    - Dst: EnterCriticalSection
      Src: /src/glib/gio/gregistrysettingsbackend.c:2042,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 4
    argNames:
    - self
    - event
    - hpath
    - gsettings_prefix
    argTypes:
    - GRegistrySettingsBackend*
    - HANDLE
    - HKEY
    - gchar*
    constantsTouched: []
    func_position:
      end: 2067
      start: 1996
    functionDepth: 0
    functionLinenumber: 1996
    functionLinenumberEnd: 2067
    functionName: watch_add_notify
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - trace
    - registry_cache_ref_tree
    - g_return_val_if_fail
    - registry_cache_get_node_for_key
    - EnterCriticalSection
    - g_warn_if_reached
    - registry_cache_update
    - g_strdup
    - WaitForSingleObject
    - SetEvent
    - LeaveCriticalSection
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean watch_add_notify (GRegistrySettingsBackend *self,
      HANDLE event, HKEY hpath, const gchar *gsettings_prefix) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gregistrysettingsbackend.c:1967,1
    - Dst: LeaveCriticalSection
      Src: /src/glib/gio/gregistrysettingsbackend.c:1983,1
    - Dst: WaitForSingleObject
      Src: /src/glib/gio/gregistrysettingsbackend.c:1976,1
    - Dst: SetEvent
      Src: /src/glib/gio/gregistrysettingsbackend.c:1970,1
    - Dst: g_warning
      Src: /src/glib/gio/gregistrysettingsbackend.c:1979,1
    - Dst: DeleteCriticalSection
      Src: /src/glib/gio/gregistrysettingsbackend.c:1984,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1985,1
    - Dst: CloseHandle
      Src: /src/glib/gio/gregistrysettingsbackend.c:1986,1
    - Dst: CloseHandle
      Src: /src/glib/gio/gregistrysettingsbackend.c:1987,1
    - Dst: CloseHandle
      Src: /src/glib/gio/gregistrysettingsbackend.c:1988,1
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:1991,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1989,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - self
    argTypes:
    - GRegistrySettingsBackend*
    constantsTouched: []
    func_position:
      end: 1993
      start: 1961
    functionDepth: 0
    functionLinenumber: 1961
    functionLinenumberEnd: 1993
    functionName: watch_stop_unlocked
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - trace
    - g_warning
    - g_return_if_fail
    - DeleteCriticalSection
    - WaitForSingleObject
    - SetEvent
    - LeaveCriticalSection
    - CloseHandle
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void watch_stop_unlocked (GRegistrySettingsBackend *self) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_message_win32_error
      Src: /src/glib/gio/gregistrysettingsbackend.c:327,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - result
    - path_name
    - value_name
    argTypes:
    - LONG
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 329
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 329
    functionName: handle_read_error
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - g_message_win32_error
    linkageType: ''
    returnType: void
    signature: 'static void handle_read_error (LONG result, const gchar *path_name,
      const gchar *value_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gregistrysettingsbackend.c:539,1
    - Dst: g_node_destroy
      Src: /src/glib/gio/gregistrysettingsbackend.c:544,1
    - Dst: registry_cache_item_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:543,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - node
    argTypes:
    - GNode*
    constantsTouched: []
    func_position:
      end: 546
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 546
    functionName: _unref_node
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - g_node_destroy
    - g_warn_if_fail
    - registry_cache_item_free
    linkageType: ''
    returnType: void
    signature: 'static void _unref_node (GNode *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_node_children_foreach
      Src: /src/glib/gio/gregistrysettingsbackend.c:551,1
    - Dst: _unref_node
      Src: /src/glib/gio/gregistrysettingsbackend.c:553,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - GNode*
    constantsTouched: []
    func_position:
      end: 554
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 554
    functionName: _unref_down
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - _unref_node
    - g_node_children_foreach
    linkageType: ''
    returnType: void
    signature: 'static void _unref_down (GNode *node) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/glib/gio/gregistrysettingsbackend.c:647,1
    - Dst: registry_cache_find_immediate_child
      Src: /src/glib/gio/gregistrysettingsbackend.c:661,1
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:676,1
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:669,1
    - Dst: registry_cache_add_item
      Src: /src/glib/gio/gregistrysettingsbackend.c:666,1
    - Dst: registry_cache_get_node_for_key_recursive
      Src: /src/glib/gio/gregistrysettingsbackend.c:678,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 681
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 681
    functionName: registry_cache_get_node_for_key_recursive
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - trace
    - registry_cache_find_immediate_child
    - registry_cache_get_node_for_key_recursive
    - registry_cache_add_item
    - strchr
    linkageType: ''
    returnType: GNode*
    signature: 'static GNode *registry_cache_get_node_for_key_recursive (GNode *node,
      gchar *key_name, gboolean create_if_not_found, gint n_parent_watches) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get_as_qword
      Src: /src/glib/gio/gregistrysettingsbackend.c:1041,1
    - Dst: G_REGISTRY_SETTINGS_BACKEND
      Src: /src/glib/gio/gregistrysettingsbackend.c:1017,1
    - Dst: g_variant_print_string
      Src: /src/glib/gio/gregistrysettingsbackend.c:1058,1
    - Dst: parse_key
      Src: /src/glib/gio/gregistrysettingsbackend.c:1085,1
    - Dst: LeaveCriticalSection
      Src: /src/glib/gio/gregistrysettingsbackend.c:1074,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/gregistrysettingsbackend.c:1089,1
    - Dst: g_message_win32_error
      Src: /src/glib/gio/gregistrysettingsbackend.c:1095,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1098,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1103,1
    - Dst: g_malloc
      Src: /src/glib/gio/gregistrysettingsbackend.c:1040,1
    - Dst: EnterCriticalSection
      Src: /src/glib/gio/gregistrysettingsbackend.c:1071,1
    - Dst: registry_cache_block_notification
      Src: /src/glib/gio/gregistrysettingsbackend.c:1083,1
    - Dst: registry_cache_get_node_for_key
      Src: /src/glib/gio/gregistrysettingsbackend.c:1072,1
    - Dst: registry_value_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1097,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/gregistrysettingsbackend.c:1121,1
    - Dst: RegSetValueExW
      Src: /src/glib/gio/gregistrysettingsbackend.c:1127,1
    - Dst: predefined_key_to_string
      Src: /src/glib/gio/gregistrysettingsbackend.c:1131,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gregistrysettingsbackend.c:1015,1
    - Dst: g_variant_get_as_dword
      Src: /src/glib/gio/gregistrysettingsbackend.c:1032,1
    - Dst: g_strdup
      Src: /src/glib/gio/gregistrysettingsbackend.c:1051,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gregistrysettingsbackend.c:1051,1
    - Dst: g_string_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1060,1
    - Dst: RegCreateKeyExW
      Src: /src/glib/gio/gregistrysettingsbackend.c:1092,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/gregistrysettingsbackend.c:1105,1
    - Dst: RegCloseKey
      Src: /src/glib/gio/gregistrysettingsbackend.c:1139,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1142,1
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:1087,1
    - Dst: registry_cache_update_node
      Src: /src/glib/gio/gregistrysettingsbackend.c:1073,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1099,1
    - Dst: wcslen
      Src: /src/glib/gio/gregistrysettingsbackend.c:1123,1
    - Dst: g_message_win32_error
      Src: /src/glib/gio/gregistrysettingsbackend.c:1130,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1140,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1141,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 83
    argCount: 3
    argNames:
    - key_name
    - variant
    - user_data
    argTypes:
    - char*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1145
      start: 993
    functionDepth: 0
    functionLinenumber: 993
    functionLinenumberEnd: 1145
    functionName: g_registry_settings_backend_write_one
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - registry_cache_get_node_for_key
    - g_malloc
    - g_variant_print_string
    - RegCreateKeyExW
    - g_variant_get_as_qword
    - registry_cache_update_node
    - predefined_key_to_string
    - parse_key
    - EnterCriticalSection
    - g_variant_get_string
    - g_variant_get_type_string
    - registry_cache_block_notification
    - RegCloseKey
    - g_strdup
    - g_message_win32_error
    - G_REGISTRY_SETTINGS_BACKEND
    - RegSetValueExW
    - LeaveCriticalSection
    - g_variant_get_as_dword
    - trace
    - registry_value_free
    - wcslen
    - g_utf8_to_utf16
    - g_string_free
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_registry_settings_backend_write_one (const char
      *key_name, GVariant *variant, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_REGISTRY_SETTINGS_BACKEND
      Src: /src/glib/gio/gregistrysettingsbackend.c:1187,1
    - Dst: RegCreateKeyExW
      Src: /src/glib/gio/gregistrysettingsbackend.c:1192,1
    - Dst: g_tree_foreach
      Src: /src/glib/gio/gregistrysettingsbackend.c:1204,1
    - Dst: predefined_key_to_string
      Src: /src/glib/gio/gregistrysettingsbackend.c:1197,1
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:1196,1
    - Dst: g_settings_backend_changed_tree
      Src: /src/glib/gio/gregistrysettingsbackend.c:1207,1
    - Dst: RegCloseKey
      Src: /src/glib/gio/gregistrysettingsbackend.c:1208,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - backend
    - values
    - origin_tag
    argTypes:
    - GSettingsBackend*
    - GTree*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1211
      start: 1182
    functionDepth: 0
    functionLinenumber: 1182
    functionLinenumberEnd: 1211
    functionName: g_registry_settings_backend_write_tree
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - trace
    - predefined_key_to_string
    - G_REGISTRY_SETTINGS_BACKEND
    - g_tree_foreach
    - g_settings_backend_changed_tree
    - RegCreateKeyExW
    - RegCloseKey
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_registry_settings_backend_write_tree (GSettingsBackend
      *backend, GTree *values, gpointer origin_tag) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gregistrysettingsbackend.c:1918,1
    - Dst: g_slice_new
      Src: /src/glib/gio/gregistrysettingsbackend.c:1925,1
    - Dst: InitializeCriticalSection
      Src: /src/glib/gio/gregistrysettingsbackend.c:1926,1
    - Dst: G_SETTINGS_BACKEND
      Src: /src/glib/gio/gregistrysettingsbackend.c:1921,1
    - Dst: g_slice_new
      Src: /src/glib/gio/gregistrysettingsbackend.c:1920,1
    - Dst: CreateEvent
      Src: /src/glib/gio/gregistrysettingsbackend.c:1927,1
    - Dst: CreateEvent
      Src: /src/glib/gio/gregistrysettingsbackend.c:1928,1
    - Dst: g_message_win32_error
      Src: /src/glib/gio/gregistrysettingsbackend.c:1931,1
    - Dst: GetLastError
      Src: /src/glib/gio/gregistrysettingsbackend.c:1931,1
    - Dst: CreateThread
      Src: /src/glib/gio/gregistrysettingsbackend.c:1936,1
    - Dst: GetLastError
      Src: /src/glib/gio/gregistrysettingsbackend.c:1939,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1954,1
    - Dst: g_message_win32_error
      Src: /src/glib/gio/gregistrysettingsbackend.c:1939,1
    - Dst: CloseHandle
      Src: /src/glib/gio/gregistrysettingsbackend.c:1953,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1949,1
    - Dst: DeleteCriticalSection
      Src: /src/glib/gio/gregistrysettingsbackend.c:1948,1
    - Dst: CloseHandle
      Src: /src/glib/gio/gregistrysettingsbackend.c:1951,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 1
    argNames:
    - self
    argTypes:
    - GRegistrySettingsBackend*
    constantsTouched: []
    func_position:
      end: 1957
      start: 1913
    functionDepth: 0
    functionLinenumber: 1913
    functionLinenumberEnd: 1957
    functionName: watch_start
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_message_win32_error
    - DeleteCriticalSection
    - CreateEvent
    - InitializeCriticalSection
    - g_slice_free
    - GetLastError
    - g_slice_new
    - CloseHandle
    - CreateThread
    - G_SETTINGS_BACKEND
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean watch_start (GRegistrySettingsBackend *self) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_REGISTRY_SETTINGS_BACKEND
      Src: /src/glib/gio/gregistrysettingsbackend.c:2247,1
    - Dst: predefined_key_to_string
      Src: /src/glib/gio/gregistrysettingsbackend.c:2254,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gregistrysettingsbackend.c:2259,1
    - Dst: g_value_take_string
      Src: /src/glib/gio/gregistrysettingsbackend.c:2252,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gregistrysettingsbackend.c:2253,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 2262
      start: 2241
    functionDepth: 0
    functionLinenumber: 2241
    functionLinenumberEnd: 2262
    functionName: g_registry_settings_backend_get_property
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - g_value_take_string
    - predefined_key_to_string
    - g_strdup_printf
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_REGISTRY_SETTINGS_BACKEND
    linkageType: ''
    returnType: void
    signature: 'static void g_registry_settings_backend_get_property (GObject *object,
      guint prop_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _unref_down
      Src: /src/glib/gio/gregistrysettingsbackend.c:561,1
    - Dst: _unref_node
      Src: /src/glib/gio/gregistrysettingsbackend.c:566,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - tree
    argTypes:
    - GNode*
    constantsTouched: []
    func_position:
      end: 569
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 569
    functionName: registry_cache_unref_tree
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - _unref_down
    - _unref_node
    linkageType: ''
    returnType: void
    signature: 'static void registry_cache_unref_tree (GNode *tree) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LeaveCriticalSection
      Src: /src/glib/gio/gregistrysettingsbackend.c:1232,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/gregistrysettingsbackend.c:1236,1
    - Dst: RegDeleteValueW
      Src: /src/glib/gio/gregistrysettingsbackend.c:1252,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1246,1
    - Dst: predefined_key_to_string
      Src: /src/glib/gio/gregistrysettingsbackend.c:1244,1
    - Dst: g_message_win32_error
      Src: /src/glib/gio/gregistrysettingsbackend.c:1258,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1239,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1261,1
    - Dst: predefined_key_to_string
      Src: /src/glib/gio/gregistrysettingsbackend.c:1259,1
    - Dst: RegOpenKeyExW
      Src: /src/glib/gio/gregistrysettingsbackend.c:1238,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/gregistrysettingsbackend.c:1250,1
    - Dst: RegCloseKey
      Src: /src/glib/gio/gregistrysettingsbackend.c:1254,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1265,1
    - Dst: g_settings_backend_changed
      Src: /src/glib/gio/gregistrysettingsbackend.c:1267,1
    - Dst: G_REGISTRY_SETTINGS_BACKEND
      Src: /src/glib/gio/gregistrysettingsbackend.c:1218,1
    - Dst: registry_cache_get_node_for_key
      Src: /src/glib/gio/gregistrysettingsbackend.c:1229,1
    - Dst: EnterCriticalSection
      Src: /src/glib/gio/gregistrysettingsbackend.c:1228,1
    - Dst: registry_cache_destroy_tree
      Src: /src/glib/gio/gregistrysettingsbackend.c:1231,1
    - Dst: parse_key
      Src: /src/glib/gio/gregistrysettingsbackend.c:1235,1
    - Dst: g_message_win32_error
      Src: /src/glib/gio/gregistrysettingsbackend.c:1243,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1253,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - backend
    - key_name
    - origin_tag
    argTypes:
    - GSettingsBackend*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1268
      start: 1213
    functionDepth: 0
    functionLinenumber: 1213
    functionLinenumberEnd: 1268
    functionName: g_registry_settings_backend_reset
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - registry_cache_get_node_for_key
    - parse_key
    - EnterCriticalSection
    - predefined_key_to_string
    - g_message_win32_error
    - g_utf8_to_utf16
    - G_REGISTRY_SETTINGS_BACKEND
    - g_free
    - RegDeleteValueW
    - RegOpenKeyExW
    - LeaveCriticalSection
    - RegCloseKey
    - registry_cache_destroy_tree
    - g_settings_backend_changed
    linkageType: ''
    returnType: void
    signature: 'static void g_registry_settings_backend_reset (GSettingsBackend *backend,
      const gchar *key_name, gpointer origin_tag) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_REGISTRY_SETTINGS_BACKEND
      Src: /src/glib/gio/gregistrysettingsbackend.c:2270,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gregistrysettingsbackend.c:2281,1
    - Dst: g_assert
      Src: /src/glib/gio/gregistrysettingsbackend.c:2278,1
    - Dst: g_assert
      Src: /src/glib/gio/gregistrysettingsbackend.c:2279,1
    - Dst: g_assert
      Src: /src/glib/gio/gregistrysettingsbackend.c:2277,1
    - Dst: split_registry_path
      Src: /src/glib/gio/gregistrysettingsbackend.c:2285,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/gregistrysettingsbackend.c:2289,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gregistrysettingsbackend.c:2293,1
    - Dst: g_strdup
      Src: /src/glib/gio/gregistrysettingsbackend.c:2294,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gregistrysettingsbackend.c:2295,1
    - Dst: g_warning
      Src: /src/glib/gio/gregistrysettingsbackend.c:2301,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gregistrysettingsbackend.c:2306,1
    - Dst: g_warning
      Src: /src/glib/gio/gregistrysettingsbackend.c:2298,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 2309
      start: 2264
    functionDepth: 0
    functionLinenumber: 2264
    functionLinenumberEnd: 2309
    functionName: g_registry_settings_backend_set_property
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_strdup
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_warning
    - g_assert
    - g_value_get_string
    - g_utf8_to_utf16
    - G_REGISTRY_SETTINGS_BACKEND
    - split_registry_path
    linkageType: ''
    returnType: void
    signature: 'static void g_registry_settings_backend_set_property (GObject *object,
      guint prop_id, const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trace
      Src: /src/glib/gio/gregistrysettingsbackend.c:524,1
    - Dst: g_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:526,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:528,1
    - Dst: registry_value_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:527,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - RegistryCacheItem*
    constantsTouched: []
    func_position:
      end: 529
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 529
    functionName: registry_cache_item_free
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - trace
    - g_slice_free
    - g_free
    - registry_value_free
    linkageType: ''
    returnType: void
    signature: 'static void registry_cache_item_free (RegistryCacheItem *item) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gregistrysettingsbackend.c:824,1
    - Dst: registry_cache_block_notification
      Src: /src/glib/gio/gregistrysettingsbackend.c:830,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - GNode*
    constantsTouched: []
    func_position:
      end: 831
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 831
    functionName: registry_cache_block_notification
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - registry_cache_block_notification
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void registry_cache_block_notification (GNode *node) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_node_children_foreach
      Src: /src/glib/gio/gregistrysettingsbackend.c:1332,1
    - Dst: g_warning
      Src: /src/glib/gio/gregistrysettingsbackend.c:1350,1
    - Dst: _free_watch
      Src: /src/glib/gio/gregistrysettingsbackend.c:1355,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gregistrysettingsbackend.c:1345,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gregistrysettingsbackend.c:1340,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/gregistrysettingsbackend.c:1356,1
    - Dst: registry_cache_item_free
      Src: /src/glib/gio/gregistrysettingsbackend.c:1359,1
    - Dst: g_node_destroy
      Src: /src/glib/gio/gregistrysettingsbackend.c:1360,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - node
    - self
    argTypes:
    - GNode*
    - WatchThreadState*
    constantsTouched: []
    func_position:
      end: 1361
      start: 1326
    functionDepth: 0
    functionLinenumber: 1326
    functionLinenumberEnd: 1361
    functionName: registry_cache_destroy_tree
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - g_warn_if_fail
    - g_warning
    - g_node_children_foreach
    - _free_watch
    - g_node_destroy
    - g_atomic_int_inc
    - g_ptr_array_index
    - registry_cache_item_free
    linkageType: ''
    returnType: void
    signature: 'static void registry_cache_destroy_tree (GNode *node, WatchThreadState
      *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegNotifyChangeKeyValue
      Src: /src/glib/gio/gregistrysettingsbackend.c:1607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - hpath
    - event
    argTypes:
    - HKEY
    - HANDLE
    constantsTouched: []
    func_position:
      end: 1610
      start: 1603
    functionDepth: 0
    functionLinenumber: 1603
    functionLinenumberEnd: 1610
    functionName: registry_watch_key
    functionSourceFile: /src/glib/gio/gregistrysettingsbackend.c
    functionUses: []
    functionsReached:
    - RegNotifyChangeKeyValue
    linkageType: ''
    returnType: DWORD
    signature: 'static DWORD registry_watch_key (HKEY hpath, HANDLE event) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_VOLUME_MONITOR
      Src: /src/glib/gio/gunixvolumemonitor.c:118,1
    - Dst: g_list_copy_deep
      Src: /src/glib/gio/gunixvolumemonitor.c:120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 121
    functionName: get_volumes
    functionSourceFile: /src/glib/gio/gunixvolumemonitor.c
    functionUses: []
    functionsReached:
    - g_list_copy_deep
    - G_UNIX_VOLUME_MONITOR
    linkageType: ''
    returnType: GList*
    signature: 'static GList *get_volumes (GVolumeMonitor *volume_monitor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: get_volume_for_uuid
    functionSourceFile: /src/glib/gio/gunixvolumemonitor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GVolume*
    signature: 'static GVolume *get_volume_for_uuid (GVolumeMonitor *volume_monitor,
      const char *uuid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_list_prepend
      Src: /src/glib/gio/gunixvolumemonitor.c:262,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gunixvolumemonitor.c:279,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gunixvolumemonitor.c:274,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gunixvolumemonitor.c:257,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 5
    argNames:
    - list1
    - list2
    - compare
    - added
    - removed
    argTypes:
    - GList*
    - GList*
    - GCompareFunc
    - GList**
    - GList**
    constantsTouched: []
    func_position:
      end: 282
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 282
    functionName: diff_sorted_lists
    functionSourceFile: /src/glib/gio/gunixvolumemonitor.c
    functionUses: []
    functionsReached:
    - g_list_prepend
    linkageType: ''
    returnType: void
    signature: "static void diff_sorted_lists (GList *list1, GList *list2, GCompareFunc\
      \ compare,\t\t GList **added, GList **removed) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: get_connected_drives
    functionSourceFile: /src/glib/gio/gunixvolumemonitor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GList*
    signature: 'static GList *get_connected_drives (GVolumeMonitor *volume_monitor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: get_mount_for_uuid
    functionSourceFile: /src/glib/gio/gunixvolumemonitor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GMount*
    signature: 'static GMount *get_mount_for_uuid (GVolumeMonitor *volume_monitor,
      const char *uuid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _g_unix_volume_has_mount_path
      Src: /src/glib/gio/gunixvolumemonitor.c:294,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 299
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 299
    functionName: _g_unix_volume_monitor_lookup_volume_for_mount_path
    functionSourceFile: /src/glib/gio/gunixvolumemonitor.c
    functionUses: []
    functionsReached:
    - _g_unix_volume_has_mount_path
    linkageType: ''
    returnType: GUnixVolume*
    signature: 'GUnixVolume *_g_unix_volume_monitor_lookup_volume_for_mount_path (GUnixVolumeMonitor
      *monitor, const char *mount_path) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: diff_sorted_lists
      Src: /src/glib/gio/gunixvolumemonitor.c:382,1
    - Dst: g_unix_mount_entry_get_mount_path
      Src: /src/glib/gio/gunixvolumemonitor.c:390,1
    - Dst: _g_unix_mount_unmounted
      Src: /src/glib/gio/gunixvolumemonitor.c:393,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gunixvolumemonitor.c:395,1
    - Dst: g_list_free
      Src: /src/glib/gio/gunixvolumemonitor.c:417,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gunixvolumemonitor.c:396,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixvolumemonitor.c:397,1
    - Dst: _g_unix_volume_monitor_lookup_volume_for_mount_path
      Src: /src/glib/gio/gunixvolumemonitor.c:407,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gunixvolumemonitor.c:412,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gunixvolumemonitor.c:418,1
    - Dst: g_list_free
      Src: /src/glib/gio/gunixvolumemonitor.c:416,1
    - Dst: _g_unix_mount_new
      Src: /src/glib/gio/gunixvolumemonitor.c:408,1
    - Dst: g_unix_mount_entries_get
      Src: /src/glib/gio/gunixvolumemonitor.c:378,1
    - Dst: g_unix_mount_entry_get_mount_path
      Src: /src/glib/gio/gunixvolumemonitor.c:405,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gunixvolumemonitor.c:411,1
    - Dst: G_VOLUME_MONITOR
      Src: /src/glib/gio/gunixvolumemonitor.c:408,1
    - Dst: find_mount_by_mountpath
      Src: /src/glib/gio/gunixvolumemonitor.c:390,1
    - Dst: g_list_sort
      Src: /src/glib/gio/gunixvolumemonitor.c:380,1
    - Dst: g_list_remove
      Src: /src/glib/gio/gunixvolumemonitor.c:394,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 1
    argNames:
    - monitor
    argTypes:
    - GUnixVolumeMonitor*
    constantsTouched: []
    func_position:
      end: 420
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 420
    functionName: update_mounts
    functionSourceFile: /src/glib/gio/gunixvolumemonitor.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_list_free_full
    - g_list_remove
    - _g_unix_mount_new
    - G_VOLUME_MONITOR
    - g_signal_emit_by_name
    - g_list_free
    - g_unix_mount_entry_get_mount_path
    - g_list_sort
    - _g_unix_volume_monitor_lookup_volume_for_mount_path
    - _g_unix_mount_unmounted
    - g_list_prepend
    - diff_sorted_lists
    - g_unix_mount_entries_get
    - find_mount_by_mountpath
    linkageType: ''
    returnType: void
    signature: 'static void update_mounts (GUnixVolumeMonitor *monitor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: is_supported
    functionSourceFile: /src/glib/gio/gunixvolumemonitor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_supported (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _g_unix_mount_has_mount_path
      Src: /src/glib/gio/gunixvolumemonitor.c:311,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 316
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 316
    functionName: find_mount_by_mountpath
    functionSourceFile: /src/glib/gio/gunixvolumemonitor.c
    functionUses: []
    functionsReached:
    - _g_unix_mount_has_mount_path
    linkageType: ''
    returnType: GUnixMount*
    signature: 'static GUnixMount *find_mount_by_mountpath (GUnixVolumeMonitor *monitor,
      const char *mount_path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_VOLUME_MONITOR
      Src: /src/glib/gio/gunixvolumemonitor.c:71,1
    - Dst: g_signal_handlers_disconnect_by_func
      Src: /src/glib/gio/gunixvolumemonitor.c:73,1
    - Dst: g_signal_handlers_disconnect_by_func
      Src: /src/glib/gio/gunixvolumemonitor.c:74,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gunixvolumemonitor.c:78,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixvolumemonitor.c:76,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gunixvolumemonitor.c:79,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gunixvolumemonitor.c:81,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gunixvolumemonitor.c:82,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gunixvolumemonitor.c:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 85
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 85
    functionName: g_unix_volume_monitor_finalize
    functionSourceFile: /src/glib/gio/gunixvolumemonitor.c
    functionUses: []
    functionsReached:
    - g_signal_handlers_disconnect_by_func
    - g_object_unref
    - g_list_free_full
    - G_OBJECT_CLASS
    - G_UNIX_VOLUME_MONITOR
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_volume_monitor_finalize (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_mount_entry_at
      Src: /src/glib/gio/gunixvolumemonitor.c:154,1
    - Dst: g_unix_mount_entry_free
      Src: /src/glib/gio/gunixvolumemonitor.c:162,1
    - Dst: _g_unix_mount_new
      Src: /src/glib/gio/gunixvolumemonitor.c:160,1
    - Dst: G_MOUNT
      Src: /src/glib/gio/gunixvolumemonitor.c:164,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 165
    functionName: get_mount_for_mount_path
    functionSourceFile: /src/glib/gio/gunixvolumemonitor.c
    functionUses: []
    functionsReached:
    - G_MOUNT
    - g_unix_mount_entry_at
    - _g_unix_mount_new
    - g_unix_mount_entry_free
    linkageType: ''
    returnType: GMount*
    signature: 'static GMount *get_mount_for_mount_path (const char *mount_path, GCancellable
      *cancellable) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_mount_points_get
      Src: /src/glib/gio/gunixvolumemonitor.c:326,1
    - Dst: g_unix_mount_point_get_mount_path
      Src: /src/glib/gio/gunixvolumemonitor.c:339,1
    - Dst: g_list_sort
      Src: /src/glib/gio/gunixvolumemonitor.c:328,1
    - Dst: _g_unix_volume_monitor_lookup_volume_for_mount_path
      Src: /src/glib/gio/gunixvolumemonitor.c:338,1
    - Dst: diff_sorted_lists
      Src: /src/glib/gio/gunixvolumemonitor.c:330,1
    - Dst: _g_unix_volume_disconnected
      Src: /src/glib/gio/gunixvolumemonitor.c:342,1
    - Dst: g_list_remove
      Src: /src/glib/gio/gunixvolumemonitor.c:343,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gunixvolumemonitor.c:344,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gunixvolumemonitor.c:345,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixvolumemonitor.c:346,1
    - Dst: g_list_free
      Src: /src/glib/gio/gunixvolumemonitor.c:363,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gunixvolumemonitor.c:364,1
    - Dst: _g_unix_volume_new
      Src: /src/glib/gio/gunixvolumemonitor.c:354,1
    - Dst: g_list_free
      Src: /src/glib/gio/gunixvolumemonitor.c:362,1
    - Dst: G_VOLUME_MONITOR
      Src: /src/glib/gio/gunixvolumemonitor.c:354,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gunixvolumemonitor.c:358,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gunixvolumemonitor.c:357,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 1
    argNames:
    - monitor
    argTypes:
    - GUnixVolumeMonitor*
    constantsTouched: []
    func_position:
      end: 366
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 366
    functionName: update_volumes
    functionSourceFile: /src/glib/gio/gunixvolumemonitor.c
    functionUses: []
    functionsReached:
    - g_unix_mount_points_get
    - g_unix_mount_point_get_mount_path
    - _g_unix_volume_disconnected
    - g_object_unref
    - g_list_free_full
    - _g_unix_volume_new
    - g_list_remove
    - G_VOLUME_MONITOR
    - g_signal_emit_by_name
    - g_list_free
    - g_list_sort
    - _g_unix_volume_monitor_lookup_volume_for_mount_path
    - g_list_prepend
    - diff_sorted_lists
    linkageType: ''
    returnType: void
    signature: 'static void update_volumes (GUnixVolumeMonitor *monitor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_VOLUME_MONITOR
      Src: /src/glib/gio/gunixvolumemonitor.c:92,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gunixvolumemonitor.c:100,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gunixvolumemonitor.c:97,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gunixvolumemonitor.c:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 101
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 101
    functionName: g_unix_volume_monitor_dispose
    functionSourceFile: /src/glib/gio/gunixvolumemonitor.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    - g_list_free_full
    - G_UNIX_VOLUME_MONITOR
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_volume_monitor_dispose (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gunixvolumemonitor.c:170,1
    - Dst: G_NATIVE_VOLUME_MONITOR_CLASS
      Src: /src/glib/gio/gunixvolumemonitor.c:172,1
    - Dst: G_VOLUME_MONITOR_CLASS
      Src: /src/glib/gio/gunixvolumemonitor.c:171,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GUnixVolumeMonitorClass*
    constantsTouched: []
    func_position:
      end: 185
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 185
    functionName: g_unix_volume_monitor_class_init
    functionSourceFile: /src/glib/gio/gunixvolumemonitor.c
    functionUses: []
    functionsReached:
    - G_NATIVE_VOLUME_MONITOR_CLASS
    - G_VOLUME_MONITOR_CLASS
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_volume_monitor_class_init (GUnixVolumeMonitorClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_unix_volume_monitor_update
      Src: /src/glib/gio/gunixvolumemonitor.c:201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - mount_monitor
    - user_data
    argTypes:
    - GUnixMountMonitor*
    - gpointer
    constantsTouched: []
    func_position:
      end: 202
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 202
    functionName: mountpoints_changed
    functionSourceFile: /src/glib/gio/gunixvolumemonitor.c
    functionUses: []
    functionsReached:
    - _g_unix_volume_monitor_update
    linkageType: ''
    returnType: void
    signature: "static void mountpoints_changed (GUnixMountMonitor *mount_monitor,\t\
      \t gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_mount_monitor_get
      Src: /src/glib/gio/gunixvolumemonitor.c:217,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gunixvolumemonitor.c:219,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gunixvolumemonitor.c:224,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gunixvolumemonitor.c:223,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gunixvolumemonitor.c:220,1
    - Dst: _g_unix_volume_monitor_update
      Src: /src/glib/gio/gunixvolumemonitor.c:227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - unix_monitor
    argTypes:
    - GUnixVolumeMonitor*
    constantsTouched: []
    func_position:
      end: 228
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 228
    functionName: g_unix_volume_monitor_init
    functionSourceFile: /src/glib/gio/gunixvolumemonitor.c
    functionUses: []
    functionsReached:
    - g_unix_mount_monitor_get
    - _g_unix_volume_monitor_update
    - g_signal_connect
    - G_CALLBACK
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_volume_monitor_init (GUnixVolumeMonitor *unix_monitor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_VOLUME_MONITOR
      Src: /src/glib/gio/gunixvolumemonitor.c:108,1
    - Dst: g_list_copy_deep
      Src: /src/glib/gio/gunixvolumemonitor.c:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 111
    functionName: get_mounts
    functionSourceFile: /src/glib/gio/gunixvolumemonitor.c
    functionUses: []
    functionsReached:
    - g_list_copy_deep
    - G_UNIX_VOLUME_MONITOR
    linkageType: ''
    returnType: GList*
    signature: 'static GList *get_mounts (GVolumeMonitor *volume_monitor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: update_volumes
      Src: /src/glib/gio/gunixvolumemonitor.c:191,1
    - Dst: update_mounts
      Src: /src/glib/gio/gunixvolumemonitor.c:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - unix_monitor
    argTypes:
    - GUnixVolumeMonitor*
    constantsTouched: []
    func_position:
      end: 193
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 193
    functionName: _g_unix_volume_monitor_update
    functionSourceFile: /src/glib/gio/gunixvolumemonitor.c
    functionUses: []
    functionsReached:
    - update_mounts
    - update_volumes
    linkageType: ''
    returnType: void
    signature: 'void _g_unix_volume_monitor_update (GUnixVolumeMonitor *unix_monitor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_unix_volume_monitor_update
      Src: /src/glib/gio/gunixvolumemonitor.c:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - mount_monitor
    - user_data
    argTypes:
    - GUnixMountMonitor*
    - gpointer
    constantsTouched: []
    func_position:
      end: 211
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 211
    functionName: mounts_changed
    functionSourceFile: /src/glib/gio/gunixvolumemonitor.c
    functionUses: []
    functionsReached:
    - _g_unix_volume_monitor_update
    linkageType: ''
    returnType: void
    signature: "static void mounts_changed (GUnixMountMonitor *mount_monitor,\t\t\
      gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gunixvolumemonitor.c:235,1
    - Dst: G_VOLUME_MONITOR
      Src: /src/glib/gio/gunixvolumemonitor.c:237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 238
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 238
    functionName: _g_unix_volume_monitor_new
    functionSourceFile: /src/glib/gio/gunixvolumemonitor.c
    functionUses: []
    functionsReached:
    - g_object_new
    - G_VOLUME_MONITOR
    linkageType: ''
    returnType: GVolumeMonitor*
    signature: 'GVolumeMonitor *_g_unix_volume_monitor_new (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: epoll_create1
      Src: /src/glib/gio/giounix-private.c:84,1
    - Dst: g_error
      Src: /src/glib/gio/giounix-private.c:86,1
    - Dst: epoll_ctl
      Src: /src/glib/gio/giounix-private.c:90,1
    - Dst: close
      Src: /src/glib/gio/giounix-private.c:92,1
    - Dst: g_strerror
      Src: /src/glib/gio/giounix-private.c:86,1
    - Dst: g_fd_is_regular_file
      Src: /src/glib/gio/giounix-private.c:109,1
    - Dst: kqueue
      Src: /src/glib/gio/giounix-private.c:112,1
    - Dst: g_error
      Src: /src/glib/gio/giounix-private.c:114,1
    - Dst: g_strerror
      Src: /src/glib/gio/giounix-private.c:114,1
    - Dst: EV_SET
      Src: /src/glib/gio/giounix-private.c:116,1
    - Dst: close
      Src: /src/glib/gio/giounix-private.c:121,1
    - Dst: kevent
      Src: /src/glib/gio/giounix-private.c:119,1
    - Dst: G_TEMP_FAILURE_RETRY
      Src: /src/glib/gio/giounix-private.c:119,1
    - Dst: g_fd_is_regular_file
      Src: /src/glib/gio/giounix-private.c:133,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 135
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 135
    functionName: _g_fd_is_pollable
    functionSourceFile: /src/glib/gio/giounix-private.c
    functionUses: []
    functionsReached:
    - G_TEMP_FAILURE_RETRY
    - kevent
    - epoll_create1
    - epoll_ctl
    - g_strerror
    - EV_SET
    - close
    - kqueue
    - g_error
    - g_fd_is_regular_file
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _g_fd_is_pollable (int fd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_TEMP_FAILURE_RETRY
      Src: /src/glib/gio/giounix-private.c:142,1
    - Dst: fstat
      Src: /src/glib/gio/giounix-private.c:142,1
    - Dst: S_ISREG
      Src: /src/glib/gio/giounix-private.c:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 146
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 146
    functionName: g_fd_is_regular_file
    functionSourceFile: /src/glib/gio/giounix-private.c
    functionUses: []
    functionsReached:
    - G_TEMP_FAILURE_RETRY
    - fstat
    - S_ISREG
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_fd_is_regular_file (int fd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatagrambased.c:342,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gdatagrambased.c:344,1
    - Dst: G_DATAGRAM_BASED_GET_IFACE
      Src: /src/glib/gio/gdatagrambased.c:346,1
    - Dst: G_IS_DATAGRAM_BASED
      Src: /src/glib/gio/gdatagrambased.c:342,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatagrambased.c:343,1
    - Dst: g_assert
      Src: /src/glib/gio/gdatagrambased.c:347,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 350
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 350
    functionName: g_datagram_based_create_source
    functionSourceFile: /src/glib/gio/gdatagrambased.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_assert
    - G_DATAGRAM_BASED_GET_IFACE
    - G_IS_CANCELLABLE
    - G_IS_DATAGRAM_BASED
    linkageType: ''
    returnType: GSource*
    signature: 'GSource *g_datagram_based_create_source (GDatagramBased *datagram_based,
      GIOCondition condition, GCancellable *cancellable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatagrambased.c:180,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatagrambased.c:182,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gdatagrambased.c:183,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatagrambased.c:181,1
    - Dst: G_IS_DATAGRAM_BASED
      Src: /src/glib/gio/gdatagrambased.c:180,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatagrambased.c:184,1
    - Dst: G_DATAGRAM_BASED_GET_IFACE
      Src: /src/glib/gio/gdatagrambased.c:186,1
    - Dst: g_assert
      Src: /src/glib/gio/gdatagrambased.c:187,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatagrambased.c:193,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatagrambased.c:194,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gdatagrambased.c:203,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatagrambased.c:200,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gdatagrambased.c:198,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatagrambased.c:197,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gdatagrambased.c:195,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 7
    argNames:
    - datagram_based
    - messages
    - num_messages
    - flags
    - timeout
    - cancellable
    - error
    argTypes:
    - GDatagramBased*
    - GInputMessage*
    - guint
    - gint
    - gint64
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 206
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 206
    functionName: g_datagram_based_receive_messages
    functionSourceFile: /src/glib/gio/gdatagrambased.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_return_val_if_fail
    - g_assert
    - G_DATAGRAM_BASED_GET_IFACE
    - G_IS_CANCELLABLE
    - g_error_matches
    - G_IS_DATAGRAM_BASED
    linkageType: ''
    returnType: gint
    signature: 'gint g_datagram_based_receive_messages (GDatagramBased *datagram_based,
      GInputMessage *messages, guint num_messages, gint flags, gint64 timeout, GCancellable
      *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatagrambased.c:456,1
    - Dst: G_IS_DATAGRAM_BASED
      Src: /src/glib/gio/gdatagrambased.c:456,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatagrambased.c:459,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatagrambased.c:457,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gdatagrambased.c:457,1
    - Dst: G_DATAGRAM_BASED_GET_IFACE
      Src: /src/glib/gio/gdatagrambased.c:461,1
    - Dst: g_assert
      Src: /src/glib/gio/gdatagrambased.c:462,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatagrambased.c:468,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gdatagrambased.c:471,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 5
    argNames:
    - datagram_based
    - condition
    - timeout
    - cancellable
    - error
    argTypes:
    - GDatagramBased*
    - GIOCondition
    - gint64
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 474
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 474
    functionName: g_datagram_based_condition_wait
    functionSourceFile: /src/glib/gio/gdatagrambased.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_return_val_if_fail
    - g_assert
    - G_DATAGRAM_BASED_GET_IFACE
    - G_IS_CANCELLABLE
    - G_IS_DATAGRAM_BASED
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_datagram_based_condition_wait (GDatagramBased *datagram_based,
      GIOCondition condition, gint64 timeout, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GDatagramBasedInterface*
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: g_datagram_based_default_init
    functionSourceFile: /src/glib/gio/gdatagrambased.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_datagram_based_default_init (GDatagramBasedInterface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatagrambased.c:405,1
    - Dst: G_DATAGRAM_BASED_GET_IFACE
      Src: /src/glib/gio/gdatagrambased.c:407,1
    - Dst: g_assert
      Src: /src/glib/gio/gdatagrambased.c:408,1
    - Dst: G_IS_DATAGRAM_BASED
      Src: /src/glib/gio/gdatagrambased.c:405,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatagrambased.c:415,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatagrambased.c:417,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatagrambased.c:419,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 2
    argNames:
    - datagram_based
    - condition
    argTypes:
    - GDatagramBased*
    - GIOCondition
    constantsTouched: []
    func_position:
      end: 423
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 423
    functionName: g_datagram_based_condition_check
    functionSourceFile: /src/glib/gio/gdatagrambased.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_return_val_if_fail
    - G_DATAGRAM_BASED_GET_IFACE
    - G_IS_DATAGRAM_BASED
    linkageType: ''
    returnType: GIOCondition
    signature: 'GIOCondition g_datagram_based_condition_check (GDatagramBased *datagram_based,
      GIOCondition condition) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatagrambased.c:281,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatagrambased.c:282,1
    - Dst: G_IS_DATAGRAM_BASED
      Src: /src/glib/gio/gdatagrambased.c:281,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gdatagrambased.c:284,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatagrambased.c:283,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatagrambased.c:285,1
    - Dst: G_DATAGRAM_BASED_GET_IFACE
      Src: /src/glib/gio/gdatagrambased.c:287,1
    - Dst: g_assert
      Src: /src/glib/gio/gdatagrambased.c:288,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatagrambased.c:294,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gdatagrambased.c:296,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatagrambased.c:302,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gdatagrambased.c:299,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gdatagrambased.c:305,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatagrambased.c:298,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatagrambased.c:301,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatagrambased.c:295,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 48
    argCount: 7
    argNames:
    - datagram_based
    - messages
    - num_messages
    - flags
    - timeout
    - cancellable
    - error
    argTypes:
    - GDatagramBased*
    - GOutputMessage*
    - guint
    - gint
    - gint64
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 308
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 308
    functionName: g_datagram_based_send_messages
    functionSourceFile: /src/glib/gio/gdatagrambased.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_return_val_if_fail
    - g_assert
    - G_DATAGRAM_BASED_GET_IFACE
    - G_IS_CANCELLABLE
    - g_error_matches
    - G_IS_DATAGRAM_BASED
    linkageType: ''
    returnType: gint
    signature: 'gint g_datagram_based_send_messages (GDatagramBased *datagram_based,
      GOutputMessage *messages, guint num_messages, gint flags, gint64 timeout, GCancellable
      *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - conn
    argTypes:
    - GTlsConnection*
    constantsTouched: []
    func_position:
      end: 384
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 384
    functionName: g_tls_connection_init
    functionSourceFile: /src/glib/gio/gtlsconnection.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_tls_connection_init (GTlsConnection *conn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsconnection.c:446,1
    - Dst: g_object_get
      Src: /src/glib/gio/gtlsconnection.c:448,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlsconnection.c:448,1
    - Dst: G_IS_TLS_CONNECTION
      Src: /src/glib/gio/gtlsconnection.c:446,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - conn
    argTypes:
    - GTlsConnection*
    constantsTouched: []
    func_position:
      end: 452
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 452
    functionName: g_tls_connection_get_use_system_certdb
    functionSourceFile: /src/glib/gio/gtlsconnection.c
    functionUses: []
    functionsReached:
    - g_object_get
    - g_return_val_if_fail
    - G_OBJECT
    - G_IS_TLS_CONNECTION
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_tls_connection_get_use_system_certdb (GTlsConnection *conn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsconnection.c:712,1
    - Dst: g_object_set
      Src: /src/glib/gio/gtlsconnection.c:714,1
    - Dst: G_IS_TLS_CONNECTION
      Src: /src/glib/gio/gtlsconnection.c:712,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlsconnection.c:714,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - conn
    - require_close_notify
    argTypes:
    - GTlsConnection*
    - gboolean
    constantsTouched: []
    func_position:
      end: 717
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 717
    functionName: g_tls_connection_set_require_close_notify
    functionSourceFile: /src/glib/gio/gtlsconnection.c
    functionUses: []
    functionsReached:
    - g_object_set
    - G_IS_TLS_CONNECTION
    - G_OBJECT
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_tls_connection_set_require_close_notify (GTlsConnection *conn,\t\
      \t\t\t\t gboolean require_close_notify) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gtlsconnection.c:392,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 393
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 393
    functionName: g_tls_connection_get_property
    functionSourceFile: /src/glib/gio/gtlsconnection.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: "static void g_tls_connection_get_property (GObject *object,\t\t\t\
      \ guint prop_id,\t\t\t GValue *value,\t\t\t GParamSpec *pspec) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_emit
      Src: /src/glib/gio/gtlsconnection.c:1125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - conn
    - peer_cert
    - errors
    argTypes:
    - GTlsConnection*
    - GTlsCertificate*
    - GTlsCertificateFlags
    constantsTouched: []
    func_position:
      end: 1128
      start: 1118
    functionDepth: 0
    functionLinenumber: 1118
    functionLinenumberEnd: 1128
    functionName: g_tls_connection_emit_accept_certificate
    functionSourceFile: /src/glib/gio/gtlsconnection.c
    functionUses: []
    functionsReached:
    - g_signal_emit
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_tls_connection_emit_accept_certificate (GTlsConnection\
      \ *conn,\t\t\t\t\t GTlsCertificate *peer_cert,\t\t\t\t\t GTlsCertificateFlags\
      \ errors) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsconnection.c:423,1
    - Dst: G_IS_TLS_CONNECTION
      Src: /src/glib/gio/gtlsconnection.c:423,1
    - Dst: g_object_set
      Src: /src/glib/gio/gtlsconnection.c:425,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlsconnection.c:425,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - conn
    - use_system_certdb
    argTypes:
    - GTlsConnection*
    - gboolean
    constantsTouched: []
    func_position:
      end: 428
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 428
    functionName: g_tls_connection_set_use_system_certdb
    functionSourceFile: /src/glib/gio/gtlsconnection.c
    functionUses: []
    functionsReached:
    - g_object_set
    - G_IS_TLS_CONNECTION
    - G_OBJECT
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_tls_connection_set_use_system_certdb (GTlsConnection *conn,\t\
      \t\t\t\tgboolean use_system_certdb) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsconnection.c:639,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlsconnection.c:641,1
    - Dst: G_IS_TLS_CONNECTION
      Src: /src/glib/gio/gtlsconnection.c:639,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gtlsconnection.c:643,1
    - Dst: g_object_get
      Src: /src/glib/gio/gtlsconnection.c:641,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 646
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 646
    functionName: g_tls_connection_get_peer_certificate
    functionSourceFile: /src/glib/gio/gtlsconnection.c
    functionUses: []
    functionsReached:
    - g_object_get
    - g_return_val_if_fail
    - g_object_unref
    - G_OBJECT
    - G_IS_TLS_CONNECTION
    linkageType: ''
    returnType: GTlsCertificate*
    signature: 'GTlsCertificate *g_tls_connection_get_peer_certificate (GTlsConnection
      *conn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsconnection.c:667,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlsconnection.c:669,1
    - Dst: g_object_get
      Src: /src/glib/gio/gtlsconnection.c:669,1
    - Dst: G_IS_TLS_CONNECTION
      Src: /src/glib/gio/gtlsconnection.c:667,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - conn
    argTypes:
    - GTlsConnection*
    constantsTouched: []
    func_position:
      end: 671
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 671
    functionName: g_tls_connection_get_peer_certificate_errors
    functionSourceFile: /src/glib/gio/gtlsconnection.c
    functionUses: []
    functionsReached:
    - g_object_get
    - g_return_val_if_fail
    - G_OBJECT
    - G_IS_TLS_CONNECTION
    linkageType: ''
    returnType: GTlsCertificateFlags
    signature: 'GTlsCertificateFlags g_tls_connection_get_peer_certificate_errors
      (GTlsConnection *conn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsconnection.c:737,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlsconnection.c:739,1
    - Dst: g_object_get
      Src: /src/glib/gio/gtlsconnection.c:739,1
    - Dst: G_IS_TLS_CONNECTION
      Src: /src/glib/gio/gtlsconnection.c:737,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - conn
    argTypes:
    - GTlsConnection*
    constantsTouched: []
    func_position:
      end: 743
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 743
    functionName: g_tls_connection_get_require_close_notify
    functionSourceFile: /src/glib/gio/gtlsconnection.c
    functionUses: []
    functionsReached:
    - g_object_get
    - g_return_val_if_fail
    - G_OBJECT
    - G_IS_TLS_CONNECTION
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_tls_connection_get_require_close_notify (GTlsConnection
      *conn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsconnection.c:830,1
    - Dst: g_object_set
      Src: /src/glib/gio/gtlsconnection.c:832,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlsconnection.c:832,1
    - Dst: G_IS_TLS_CONNECTION
      Src: /src/glib/gio/gtlsconnection.c:830,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - conn
    - protocols
    argTypes:
    - GTlsConnection*
    - gchar**
    constantsTouched: []
    func_position:
      end: 835
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 835
    functionName: g_tls_connection_set_advertised_protocols
    functionSourceFile: /src/glib/gio/gtlsconnection.c
    functionUses: []
    functionsReached:
    - g_object_set
    - G_IS_TLS_CONNECTION
    - G_OBJECT
    - g_return_if_fail
    linkageType: ''
    returnType: G_GNUC_END_IGNORE_DEPRECATIONS
    signature: 'G_GNUC_END_IGNORE_DEPRECATIONS /** * g_tls_connection_set_advertised_protocols:
      * @conn: a #GTlsConnection * @protocols: (array zero-terminated=1) (nullable):
      a %NULL-terminated * array of ALPN protocol names (eg, "http/1.1", "h2"), or
      %NULL * * Sets the list of application-layer protocols to advertise that the
      * caller is willing to speak on this connection. The * Application-Layer Protocol
      Negotiation (ALPN) extension will be * used to negotiate a compatible protocol
      with the peer; use * g_tls_connection_get_negotiated_protocol() to find the
      negotiated * protocol after the handshake. Specifying %NULL for the the value
      * of @protocols will disable ALPN negotiation. * * See [IANA TLS ALPN Protocol
      IDs](https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids)
      * for a list of registered protocol IDs. * * Since: 2.60 */ void g_tls_connection_set_advertised_protocols
      (GTlsConnection *conn, const gchar * const *protocols) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsconnection.c:1084,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlsconnection.c:1086,1
    - Dst: G_IS_TLS_CONNECTION
      Src: /src/glib/gio/gtlsconnection.c:1084,1
    - Dst: g_object_get
      Src: /src/glib/gio/gtlsconnection.c:1086,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gtlsconnection.c:1090,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1079
    functionDepth: 0
    functionLinenumber: 1079
    functionLinenumberEnd: 1091
    functionName: g_tls_connection_get_ciphersuite_name
    functionSourceFile: /src/glib/gio/gtlsconnection.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_object_get
    - g_return_val_if_fail
    - G_OBJECT
    - G_IS_TLS_CONNECTION
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_tls_connection_get_ciphersuite_name (GTlsConnection *conn) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsconnection.c:912,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gtlsconnection.c:918,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsconnection.c:913,1
    - Dst: G_IS_TLS_CONNECTION
      Src: /src/glib/gio/gtlsconnection.c:912,1
    - Dst: G_TLS_CONNECTION_GET_CLASS
      Src: /src/glib/gio/gtlsconnection.c:915,1
    - Dst: _
      Src: /src/glib/gio/gtlsconnection.c:920,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 4
    argNames:
    - conn
    - type
    - data
    - error
    argTypes:
    - GTlsConnection*
    - GTlsChannelBindingType
    - GByteArray*
    - GError**
    constantsTouched: []
    func_position:
      end: 925
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 925
    functionName: g_tls_connection_get_channel_binding_data
    functionSourceFile: /src/glib/gio/gtlsconnection.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_set_error_literal
    - G_TLS_CONNECTION_GET_CLASS
    - _
    - G_IS_TLS_CONNECTION
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_tls_connection_get_channel_binding_data (GTlsConnection
      *conn, GTlsChannelBindingType type, GByteArray *data, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsconnection.c:477,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsconnection.c:478,1
    - Dst: g_object_set
      Src: /src/glib/gio/gtlsconnection.c:480,1
    - Dst: G_IS_TLS_DATABASE
      Src: /src/glib/gio/gtlsconnection.c:478,1
    - Dst: G_IS_TLS_CONNECTION
      Src: /src/glib/gio/gtlsconnection.c:477,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlsconnection.c:480,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - conn
    - database
    argTypes:
    - GTlsConnection*
    - GTlsDatabase*
    constantsTouched: []
    func_position:
      end: 483
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 483
    functionName: g_tls_connection_set_database
    functionSourceFile: /src/glib/gio/gtlsconnection.c
    functionUses: []
    functionsReached:
    - g_object_set
    - G_IS_TLS_DATABASE
    - g_return_if_fail
    - G_OBJECT
    - G_IS_TLS_CONNECTION
    linkageType: ''
    returnType: void
    signature: 'void g_tls_connection_set_database (GTlsConnection *conn, GTlsDatabase
      *database) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsconnection.c:501,1
    - Dst: G_IS_TLS_CONNECTION
      Src: /src/glib/gio/gtlsconnection.c:501,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlsconnection.c:503,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gtlsconnection.c:507,1
    - Dst: g_object_get
      Src: /src/glib/gio/gtlsconnection.c:503,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 509
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 509
    functionName: g_tls_connection_get_database
    functionSourceFile: /src/glib/gio/gtlsconnection.c
    functionUses: []
    functionsReached:
    - g_object_get
    - g_return_val_if_fail
    - g_object_unref
    - G_OBJECT
    - G_IS_TLS_CONNECTION
    linkageType: ''
    returnType: GTlsDatabase*
    signature: 'GTlsDatabase *g_tls_connection_get_database (GTlsConnection *conn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsconnection.c:590,1
    - Dst: g_object_set
      Src: /src/glib/gio/gtlsconnection.c:593,1
    - Dst: G_IS_TLS_CONNECTION
      Src: /src/glib/gio/gtlsconnection.c:590,1
    - Dst: G_IS_TLS_INTERACTION
      Src: /src/glib/gio/gtlsconnection.c:591,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsconnection.c:591,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlsconnection.c:593,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - conn
    - interaction
    argTypes:
    - GTlsConnection*
    - GTlsInteraction*
    constantsTouched: []
    func_position:
      end: 594
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 594
    functionName: g_tls_connection_set_interaction
    functionSourceFile: /src/glib/gio/gtlsconnection.c
    functionUses: []
    functionsReached:
    - g_object_set
    - g_return_if_fail
    - G_OBJECT
    - G_IS_TLS_INTERACTION
    - G_IS_TLS_CONNECTION
    linkageType: ''
    returnType: void
    signature: 'void g_tls_connection_set_interaction (GTlsConnection *conn, GTlsInteraction
      *interaction) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsconnection.c:974,1
    - Dst: G_IS_TLS_CONNECTION
      Src: /src/glib/gio/gtlsconnection.c:974,1
    - Dst: G_TLS_CONNECTION_GET_CLASS
      Src: /src/glib/gio/gtlsconnection.c:976,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - conn
    - cancellable
    - error
    argTypes:
    - GTlsConnection*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 977
      start: 969
    functionDepth: 0
    functionLinenumber: 969
    functionLinenumberEnd: 977
    functionName: g_tls_connection_handshake
    functionSourceFile: /src/glib/gio/gtlsconnection.c
    functionUses: []
    functionsReached:
    - G_TLS_CONNECTION_GET_CLASS
    - g_return_val_if_fail
    - G_IS_TLS_CONNECTION
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_tls_connection_handshake (GTlsConnection *conn,\t\t\t GCancellable\
      \ *cancellable,\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsconnection.c:1050,1
    - Dst: g_object_get
      Src: /src/glib/gio/gtlsconnection.c:1052,1
    - Dst: G_IS_TLS_CONNECTION
      Src: /src/glib/gio/gtlsconnection.c:1050,1
    - Dst: g_type_class_peek_static
      Src: /src/glib/gio/gtlsconnection.c:1057,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlsconnection.c:1052,1
    - Dst: g_enum_get_value
      Src: /src/glib/gio/gtlsconnection.c:1058,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - conn
    argTypes:
    - GTlsConnection*
    constantsTouched: []
    func_position:
      end: 1060
      start: 1043
    functionDepth: 0
    functionLinenumber: 1043
    functionLinenumberEnd: 1060
    functionName: g_tls_connection_get_protocol_version
    functionSourceFile: /src/glib/gio/gtlsconnection.c
    functionUses: []
    functionsReached:
    - g_object_get
    - g_return_val_if_fail
    - g_enum_get_value
    - G_OBJECT
    - g_type_class_peek_static
    - G_IS_TLS_CONNECTION
    linkageType: ''
    returnType: GTlsProtocolVersion
    signature: 'GTlsProtocolVersion g_tls_connection_get_protocol_version (GTlsConnection
      *conn) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsconnection.c:563,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gtlsconnection.c:567,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlsconnection.c:565,1
    - Dst: G_IS_TLS_CONNECTION
      Src: /src/glib/gio/gtlsconnection.c:563,1
    - Dst: g_object_get
      Src: /src/glib/gio/gtlsconnection.c:565,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 570
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 570
    functionName: g_tls_connection_get_certificate
    functionSourceFile: /src/glib/gio/gtlsconnection.c
    functionUses: []
    functionsReached:
    - g_object_get
    - g_return_val_if_fail
    - g_object_unref
    - G_OBJECT
    - G_IS_TLS_CONNECTION
    linkageType: ''
    returnType: GTlsCertificate*
    signature: 'GTlsCertificate *g_tls_connection_get_certificate (GTlsConnection
      *conn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsconnection.c:766,1
    - Dst: g_object_set
      Src: /src/glib/gio/gtlsconnection.c:768,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlsconnection.c:768,1
    - Dst: G_IS_TLS_CONNECTION
      Src: /src/glib/gio/gtlsconnection.c:766,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - conn
    - mode
    argTypes:
    - GTlsConnection*
    - GTlsRehandshakeMode
    constantsTouched: []
    func_position:
      end: 771
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 771
    functionName: g_tls_connection_set_rehandshake_mode
    functionSourceFile: /src/glib/gio/gtlsconnection.c
    functionUses: []
    functionsReached:
    - g_object_set
    - G_IS_TLS_CONNECTION
    - G_OBJECT
    - g_return_if_fail
    linkageType: ''
    returnType: G_GNUC_BEGIN_IGNORE_DEPRECATIONS
    signature: "G_GNUC_BEGIN_IGNORE_DEPRECATIONS void g_tls_connection_set_rehandshake_mode\
      \ (GTlsConnection *conn,\t\t\t\t GTlsRehandshakeMode mode) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsconnection.c:858,1
    - Dst: G_TLS_CONNECTION_GET_CLASS
      Src: /src/glib/gio/gtlsconnection.c:860,1
    - Dst: G_IS_TLS_CONNECTION
      Src: /src/glib/gio/gtlsconnection.c:858,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 865
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 865
    functionName: g_tls_connection_get_negotiated_protocol
    functionSourceFile: /src/glib/gio/gtlsconnection.c
    functionUses: []
    functionsReached:
    - G_TLS_CONNECTION_GET_CLASS
    - g_return_val_if_fail
    - G_IS_TLS_CONNECTION
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_tls_connection_get_negotiated_protocol (GTlsConnection
      *conn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsconnection.c:1025,1
    - Dst: G_TLS_CONNECTION_GET_CLASS
      Src: /src/glib/gio/gtlsconnection.c:1027,1
    - Dst: G_IS_TLS_CONNECTION
      Src: /src/glib/gio/gtlsconnection.c:1025,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - conn
    - result
    - error
    argTypes:
    - GTlsConnection*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 1028
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1028
    functionName: g_tls_connection_handshake_finish
    functionSourceFile: /src/glib/gio/gtlsconnection.c
    functionUses: []
    functionsReached:
    - G_TLS_CONNECTION_GET_CLASS
    - g_return_val_if_fail
    - G_IS_TLS_CONNECTION
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_tls_connection_handshake_finish (GTlsConnection *conn,\t\
      \t\t\t GAsyncResult *result,\t\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gtlsconnection.c:401,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 402
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 402
    functionName: g_tls_connection_set_property
    functionSourceFile: /src/glib/gio/gtlsconnection.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: "static void g_tls_connection_set_property (GObject *object,\t\t\t\
      \ guint prop_id,\t\t\t const GValue *value,\t\t\t GParamSpec *pspec) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsconnection.c:613,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlsconnection.c:615,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gtlsconnection.c:617,1
    - Dst: g_object_get
      Src: /src/glib/gio/gtlsconnection.c:615,1
    - Dst: G_IS_TLS_CONNECTION
      Src: /src/glib/gio/gtlsconnection.c:613,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 620
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 620
    functionName: g_tls_connection_get_interaction
    functionSourceFile: /src/glib/gio/gtlsconnection.c
    functionUses: []
    functionsReached:
    - g_object_get
    - g_return_val_if_fail
    - g_object_unref
    - G_OBJECT
    - G_IS_TLS_CONNECTION
    linkageType: ''
    returnType: GTlsInteraction*
    signature: 'GTlsInteraction *g_tls_connection_get_interaction (GTlsConnection
      *conn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlsconnection.c:119,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gtlsconnection.c:120,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlsconnection.c:162,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gtlsconnection.c:163,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlsconnection.c:249,1
    - Dst: g_param_spec_flags
      Src: /src/glib/gio/gtlsconnection.c:250,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlsconnection.c:264,1
    - Dst: g_param_spec_boxed
      Src: /src/glib/gio/gtlsconnection.c:265,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlsconnection.c:290,1
    - Dst: g_param_spec_enum
      Src: /src/glib/gio/gtlsconnection.c:291,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gtlsconnection.c:225,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlsconnection.c:191,1
    - Dst: g_param_spec_enum
      Src: /src/glib/gio/gtlsconnection.c:192,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlsconnection.c:224,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlsconnection.c:277,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gtlsconnection.c:278,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlsconnection.c:304,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gtlsconnection.c:305,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gtlsconnection.c:88,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlsconnection.c:104,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gtlsconnection.c:105,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlsconnection.c:148,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gtlsconnection.c:149,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlsconnection.c:175,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gtlsconnection.c:176,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gtlsconnection.c:367,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlsconnection.c:207,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gtlsconnection.c:208,1
    - Dst: I_
      Src: /src/glib/gio/gtlsconnection.c:367,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gtlsconnection.c:376,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gtlsconnection.c:377,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gtlsconnection.c:370,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 55
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GTlsConnectionClass*
    constantsTouched: []
    func_position:
      end: 379
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 379
    functionName: g_tls_connection_class_init
    functionSourceFile: /src/glib/gio/gtlsconnection.c
    functionUses: []
    functionsReached:
    - I_
    - G_STRUCT_OFFSET
    - g_param_spec_boolean
    - G_TYPE_FROM_CLASS
    - g_param_spec_object
    - g_object_class_install_property
    - G_OBJECT_CLASS
    - g_param_spec_boxed
    - g_signal_set_va_marshaller
    - g_signal_new
    - g_param_spec_string
    - g_param_spec_enum
    - g_param_spec_flags
    linkageType: ''
    returnType: void
    signature: 'static void g_tls_connection_class_init (GTlsConnectionClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsconnection.c:795,1
    - Dst: G_IS_TLS_CONNECTION
      Src: /src/glib/gio/gtlsconnection.c:795,1
    - Dst: g_object_get
      Src: /src/glib/gio/gtlsconnection.c:800,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlsconnection.c:800,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - conn
    argTypes:
    - GTlsConnection*
    constantsTouched: []
    func_position:
      end: 804
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 804
    functionName: g_tls_connection_get_rehandshake_mode
    functionSourceFile: /src/glib/gio/gtlsconnection.c
    functionUses: []
    functionsReached:
    - g_object_get
    - g_return_val_if_fail
    - G_OBJECT
    - G_IS_TLS_CONNECTION
    linkageType: ''
    returnType: GTlsRehandshakeMode
    signature: 'GTlsRehandshakeMode g_tls_connection_get_rehandshake_mode (GTlsConnection
      *conn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsconnection.c:541,1
    - Dst: G_IS_TLS_CONNECTION
      Src: /src/glib/gio/gtlsconnection.c:541,1
    - Dst: G_IS_TLS_CERTIFICATE
      Src: /src/glib/gio/gtlsconnection.c:542,1
    - Dst: g_object_set
      Src: /src/glib/gio/gtlsconnection.c:544,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsconnection.c:542,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlsconnection.c:544,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - conn
    - certificate
    argTypes:
    - GTlsConnection*
    - GTlsCertificate*
    constantsTouched: []
    func_position:
      end: 545
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 545
    functionName: g_tls_connection_set_certificate
    functionSourceFile: /src/glib/gio/gtlsconnection.c
    functionUses: []
    functionsReached:
    - g_object_set
    - g_return_if_fail
    - G_IS_TLS_CERTIFICATE
    - G_OBJECT
    - G_IS_TLS_CONNECTION
    linkageType: ''
    returnType: void
    signature: "void g_tls_connection_set_certificate (GTlsConnection *conn,\t\t\t\
      \t GTlsCertificate *certificate) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsconnection.c:999,1
    - Dst: G_IS_TLS_CONNECTION
      Src: /src/glib/gio/gtlsconnection.c:999,1
    - Dst: G_TLS_CONNECTION_GET_CLASS
      Src: /src/glib/gio/gtlsconnection.c:1001,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 5
    argNames:
    - conn
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GTlsConnection*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 1004
      start: 992
    functionDepth: 0
    functionLinenumber: 992
    functionLinenumberEnd: 1004
    functionName: g_tls_connection_handshake_async
    functionSourceFile: /src/glib/gio/gtlsconnection.c
    functionUses: []
    functionsReached:
    - G_TLS_CONNECTION_GET_CLASS
    - G_IS_TLS_CONNECTION
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_tls_connection_handshake_async (GTlsConnection *conn,\t\t\t\
      \t int io_priority,\t\t\t\t GCancellable *cancellable,\t\t\t\t GAsyncReadyCallback\
      \ callback,\t\t\t\t gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SIMPLE_IO_STREAM
      Src: /src/glib/gio/gsimpleiostream.c:134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 137
    functionName: g_simple_io_stream_get_input_stream
    functionSourceFile: /src/glib/gio/gsimpleiostream.c
    functionUses: []
    functionsReached:
    - G_SIMPLE_IO_STREAM
    linkageType: ''
    returnType: GInputStream*
    signature: 'static GInputStream *g_simple_io_stream_get_input_stream (GIOStream
      *stream) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_SIMPLE_IO_STREAM
      Src: /src/glib/gio/gsimpleiostream.c:89,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/gsimpleiostream.c:98,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gsimpleiostream.c:102,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/gsimpleiostream.c:94,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 105
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 105
    functionName: g_simple_io_stream_set_property
    functionSourceFile: /src/glib/gio/gsimpleiostream.c
    functionUses: []
    functionsReached:
    - G_SIMPLE_IO_STREAM
    - g_value_dup_object
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: 'static void g_simple_io_stream_set_property (GObject *object, guint
      prop_id, const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsimpleiostream.c:150,1
    - Dst: G_IO_STREAM_CLASS
      Src: /src/glib/gio/gsimpleiostream.c:151,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gsimpleiostream.c:168,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsimpleiostream.c:181,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsimpleiostream.c:167,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gsimpleiostream.c:182,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - class
    argTypes:
    - GSimpleIOStreamClass*
    constantsTouched: []
    func_position:
      end: 187
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 187
    functionName: g_simple_io_stream_class_init
    functionSourceFile: /src/glib/gio/gsimpleiostream.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_object
    - G_IO_STREAM_CLASS
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_simple_io_stream_class_init (GSimpleIOStreamClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gsimpleiostream.c:210,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 214
    functionName: g_simple_io_stream_new
    functionSourceFile: /src/glib/gio/gsimpleiostream.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: GIOStream*
    signature: 'GIOStream *g_simple_io_stream_new (GInputStream *input_stream, GOutputStream
      *output_stream) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_SIMPLE_IO_STREAM
      Src: /src/glib/gio/gsimpleiostream.c:72,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsimpleiostream.c:80,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsimpleiostream.c:75,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsimpleiostream.c:78,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 81
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 81
    functionName: g_simple_io_stream_finalize
    functionSourceFile: /src/glib/gio/gsimpleiostream.c
    functionUses: []
    functionsReached:
    - G_SIMPLE_IO_STREAM
    - g_object_unref
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_simple_io_stream_finalize (GObject *object) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_SIMPLE_IO_STREAM
      Src: /src/glib/gio/gsimpleiostream.c:113,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gsimpleiostream.c:126,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gsimpleiostream.c:122,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gsimpleiostream.c:118,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 129
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 129
    functionName: g_simple_io_stream_get_property
    functionSourceFile: /src/glib/gio/gsimpleiostream.c
    functionUses: []
    functionsReached:
    - g_value_set_object
    - G_SIMPLE_IO_STREAM
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: 'static void g_simple_io_stream_get_property (GObject *object, guint
      prop_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SIMPLE_IO_STREAM
      Src: /src/glib/gio/gsimpleiostream.c:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: g_simple_io_stream_get_output_stream
    functionSourceFile: /src/glib/gio/gsimpleiostream.c
    functionUses: []
    functionsReached:
    - G_SIMPLE_IO_STREAM
    linkageType: ''
    returnType: GOutputStream*
    signature: 'static GOutputStream *g_simple_io_stream_get_output_stream (GIOStream
      *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GSimpleIOStream*
    constantsTouched: []
    func_position:
      end: 192
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 192
    functionName: g_simple_io_stream_init
    functionSourceFile: /src/glib/gio/gsimpleiostream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_simple_io_stream_init (GSimpleIOStream *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gunixmount.c:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GUnixMountClass*
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: g_unix_mount_class_init
    functionSourceFile: /src/glib/gio/gunixmount.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_mount_class_init (GUnixMountClass *klass) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_mount_entry_guess_should_display
      Src: /src/glib/gio/gunixmount.c:117,1
    - Dst: g_unix_mount_entry_get_device_path
      Src: /src/glib/gio/gunixmount.c:122,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gunixmount.c:121,1
    - Dst: g_object_new
      Src: /src/glib/gio/gunixmount.c:120,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixmount.c:122,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixmount.c:123,1
    - Dst: g_unix_mount_entry_get_mount_path
      Src: /src/glib/gio/gunixmount.c:123,1
    - Dst: g_unix_mount_entry_guess_can_eject
      Src: /src/glib/gio/gunixmount.c:124,1
    - Dst: g_unix_mount_entry_guess_name
      Src: /src/glib/gio/gunixmount.c:126,1
    - Dst: g_unix_mount_entry_guess_icon
      Src: /src/glib/gio/gunixmount.c:127,1
    - Dst: _g_unix_volume_set_mount
      Src: /src/glib/gio/gunixmount.c:133,1
    - Dst: g_unix_mount_entry_guess_symbolic_icon
      Src: /src/glib/gio/gunixmount.c:128,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 136
    functionName: _g_unix_mount_new
    functionSourceFile: /src/glib/gio/gunixmount.c
    functionUses: []
    functionsReached:
    - _g_unix_volume_set_mount
    - g_strdup
    - g_object_new
    - g_unix_mount_entry_guess_name
    - g_unix_mount_entry_guess_icon
    - g_unix_mount_entry_get_mount_path
    - g_unix_mount_entry_get_device_path
    - g_object_ref
    - g_unix_mount_entry_guess_symbolic_icon
    - g_unix_mount_entry_guess_can_eject
    - g_unix_mount_entry_guess_should_display
    linkageType: ''
    returnType: GUnixMount*
    signature: 'GUnixMount *_g_unix_mount_new (GVolumeMonitor *volume_monitor, GUnixMountEntry
      *mount_entry, GUnixVolume *volume) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gunixmount.c:159,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gunixmount.c:161,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - mount
    - volume
    argTypes:
    - GUnixMount*
    - GUnixVolume*
    constantsTouched: []
    func_position:
      end: 163
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 163
    functionName: _g_unix_mount_unset_volume
    functionSourceFile: /src/glib/gio/gunixmount.c
    functionUses: []
    functionsReached:
    - g_signal_emit_by_name
    linkageType: ''
    returnType: void
    signature: 'void _g_unix_mount_unset_volume (GUnixMount *mount, GUnixVolume *volume) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_MOUNT
      Src: /src/glib/gio/gunixmount.c:176,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gunixmount.c:178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 179
    functionName: g_unix_mount_get_icon
    functionSourceFile: /src/glib/gio/gunixmount.c
    functionUses: []
    functionsReached:
    - G_UNIX_MOUNT
    - g_object_ref
    linkageType: ''
    returnType: GIcon*
    signature: 'static GIcon *g_unix_mount_get_icon (GMount *mount) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_MOUNT
      Src: /src/glib/gio/gunixmount.c:224,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gunixmount.c:227,1
    - Dst: G_VOLUME
      Src: /src/glib/gio/gunixmount.c:227,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 230
    functionName: g_unix_mount_get_volume
    functionSourceFile: /src/glib/gio/gunixmount.c
    functionUses: []
    functionsReached:
    - G_UNIX_MOUNT
    - G_VOLUME
    - g_object_ref
    linkageType: ''
    returnType: GVolume*
    signature: 'static GVolume *g_unix_mount_get_volume (GMount *mount) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_MOUNT
      Src: /src/glib/gio/gunixmount.c:361,1
    - Dst: eject_unmount_do
      Src: /src/glib/gio/gunixmount.c:369,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 5
    argNames:
    - mount
    - flags
    - cancellable
    - callback
    - user_data
    argTypes:
    - GMount*
    - GMountUnmountFlags
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 370
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 370
    functionName: g_unix_mount_eject
    functionSourceFile: /src/glib/gio/gunixmount.c
    functionUses: []
    functionsReached:
    - eject_unmount_do
    - G_UNIX_MOUNT
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_mount_eject (GMount *mount, GMountUnmountFlags
      flags, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_MOUNT
      Src: /src/glib/gio/gunixmount.c:78,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixmount.c:88,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixmount.c:81,1
    - Dst: _g_unix_volume_unset_mount
      Src: /src/glib/gio/gunixmount.c:84,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixmount.c:87,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmount.c:89,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmount.c:90,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmount.c:91,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gunixmount.c:93,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 94
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 94
    functionName: g_unix_mount_finalize
    functionSourceFile: /src/glib/gio/gunixmount.c
    functionUses: []
    functionsReached:
    - G_UNIX_MOUNT
    - g_object_unref
    - _g_unix_volume_unset_mount
    - G_OBJECT_CLASS
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_mount_finalize (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _g_unix_volume_unset_mount
      Src: /src/glib/gio/gunixmount.c:143,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gunixmount.c:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - mount
    argTypes:
    - GUnixMount*
    constantsTouched: []
    func_position:
      end: 149
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 149
    functionName: _g_unix_mount_unmounted
    functionSourceFile: /src/glib/gio/gunixmount.c
    functionUses: []
    functionsReached:
    - g_signal_emit_by_name
    - _g_unix_volume_unset_mount
    linkageType: ''
    returnType: void
    signature: 'void _g_unix_mount_unmounted (GUnixMount *mount) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - unix_mount
    argTypes:
    - GUnixMount*
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: g_unix_mount_init
    functionSourceFile: /src/glib/gio/gunixmount.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_mount_init (GUnixMount *unix_mount) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_MOUNT
      Src: /src/glib/gio/gunixmount.c:168,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/gunixmount.c:170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: g_unix_mount_get_root
    functionSourceFile: /src/glib/gio/gunixmount.c
    functionUses: []
    functionsReached:
    - g_file_new_for_path
    - G_UNIX_MOUNT
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *g_unix_mount_get_root (GMount *mount) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_MOUNT
      Src: /src/glib/gio/gunixmount.c:184,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gunixmount.c:186,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 187
    functionName: g_unix_mount_get_symbolic_icon
    functionSourceFile: /src/glib/gio/gunixmount.c
    functionUses: []
    functionsReached:
    - G_UNIX_MOUNT
    - g_object_ref
    linkageType: ''
    returnType: GIcon*
    signature: 'static GIcon *g_unix_mount_get_symbolic_icon (GMount *mount) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - mount
    argTypes:
    - GMount*
    constantsTouched: []
    func_position:
      end: 236
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 236
    functionName: g_unix_mount_can_unmount
    functionSourceFile: /src/glib/gio/gunixmount.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_unix_mount_can_unmount (GMount *mount) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gunixmount.c:377,1
    - Dst: G_TASK
      Src: /src/glib/gio/gunixmount.c:377,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - mount
    - result
    - error
    argTypes:
    - GMount*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 378
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 378
    functionName: g_unix_mount_eject_finish
    functionSourceFile: /src/glib/gio/gunixmount.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_task_propagate_boolean
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_unix_mount_eject_finish (GMount *mount, GAsyncResult
      *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GMountIface*
    constantsTouched: []
    func_position:
      end: 396
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 396
    functionName: g_unix_mount_mount_iface_init
    functionSourceFile: /src/glib/gio/gunixmount.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_mount_mount_iface_init (GMountIface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: g_unix_mount_get_uuid
    functionSourceFile: /src/glib/gio/gunixmount.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static char *g_unix_mount_get_uuid (GMount *mount) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_MOUNT
      Src: /src/glib/gio/gunixmount.c:198,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixmount.c:200,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 201
    functionName: g_unix_mount_get_name
    functionSourceFile: /src/glib/gio/gunixmount.c
    functionUses: []
    functionsReached:
    - G_UNIX_MOUNT
    - g_strdup
    linkageType: ''
    returnType: char*
    signature: 'static char *g_unix_mount_get_name (GMount *mount) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/gunixmount.c:207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - mount
    - mount_path
    argTypes:
    - GUnixMount*
    - char*
    constantsTouched: []
    func_position:
      end: 208
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 208
    functionName: _g_unix_mount_has_mount_path
    functionSourceFile: /src/glib/gio/gunixmount.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _g_unix_mount_has_mount_path (GUnixMount *mount, const char
      *mount_path) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_MOUNT
      Src: /src/glib/gio/gunixmount.c:213,1
    - Dst: G_VOLUME
      Src: /src/glib/gio/gunixmount.c:216,1
    - Dst: g_volume_get_drive
      Src: /src/glib/gio/gunixmount.c:216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 219
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 219
    functionName: g_unix_mount_get_drive
    functionSourceFile: /src/glib/gio/gunixmount.c
    functionUses: []
    functionsReached:
    - G_UNIX_MOUNT
    - g_volume_get_drive
    - G_VOLUME
    linkageType: ''
    returnType: GDrive*
    signature: 'static GDrive *g_unix_mount_get_drive (GMount *mount) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_MOUNT
      Src: /src/glib/gio/gunixmount.c:241,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - mount
    argTypes:
    - GMount*
    constantsTouched: []
    func_position:
      end: 243
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 243
    functionName: g_unix_mount_can_eject
    functionSourceFile: /src/glib/gio/gunixmount.c
    functionUses: []
    functionsReached:
    - G_UNIX_MOUNT
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_unix_mount_can_eject (GMount *mount) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gunixmount.c:283,1
    - Dst: g_subprocess_newv
      Src: /src/glib/gio/gunixmount.c:291,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixmount.c:287,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/gunixmount.c:292,1
    - Dst: g_task_return_error_if_cancelled
      Src: /src/glib/gio/gunixmount.c:285,1
    - Dst: g_subprocess_communicate_utf8_async
      Src: /src/glib/gio/gunixmount.c:294,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gunixmount.c:295,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 299
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 299
    functionName: eject_unmount_do_cb
    functionSourceFile: /src/glib/gio/gunixmount.c
    functionUses: []
    functionsReached:
    - g_subprocess_newv
    - g_subprocess_communicate_utf8_async
    - g_object_unref
    - g_task_get_cancellable
    - g_task_return_error_if_cancelled
    - g_assert_no_error
    - g_task_get_task_data
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean eject_unmount_do_cb (gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_MOUNT
      Src: /src/glib/gio/gunixmount.c:335,1
    - Dst: eject_unmount_do
      Src: /src/glib/gio/gunixmount.c:343,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 5
    argNames:
    - mount
    - flags
    - cancellable
    - callback
    - user_data
    argTypes:
    - GMount*
    - GMountUnmountFlags
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 344
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 344
    functionName: g_unix_mount_unmount
    functionSourceFile: /src/glib/gio/gunixmount.c
    functionUses: []
    functionsReached:
    - eject_unmount_do
    - G_UNIX_MOUNT
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_mount_unmount (GMount *mount, GMountUnmountFlags
      flags, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_SUBPROCESS
      Src: /src/glib/gio/gunixmount.c:250,1
    - Dst: g_subprocess_get_successful
      Src: /src/glib/gio/gunixmount.c:262,1
    - Dst: g_subprocess_communicate_utf8_finish
      Src: /src/glib/gio/gunixmount.c:255,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gunixmount.c:257,1
    - Dst: g_error_free
      Src: /src/glib/gio/gunixmount.c:258,1
    - Dst: g_task_return_new_error_literal
      Src: /src/glib/gio/gunixmount.c:264,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gunixmount.c:267,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmount.c:269,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixmount.c:272,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 273
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 273
    functionName: eject_unmount_done
    functionSourceFile: /src/glib/gio/gunixmount.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_object_unref
    - G_SUBPROCESS
    - g_task_return_new_error_literal
    - g_subprocess_get_successful
    - g_subprocess_communicate_utf8_finish
    - g_error_free
    - g_free
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void eject_unmount_done (GObject *source, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_MOUNT
      Src: /src/glib/gio/gunixmount.c:309,1
    - Dst: g_task_new
      Src: /src/glib/gio/gunixmount.c:313,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gunixmount.c:316,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gunixmount.c:314,1
    - Dst: g_task_set_name
      Src: /src/glib/gio/gunixmount.c:315,1
    - Dst: g_strdupv
      Src: /src/glib/gio/gunixmount.c:316,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gunixmount.c:319,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gunixmount.c:321,1
    - Dst: g_timeout_source_new
      Src: /src/glib/gio/gunixmount.c:323,1
    - Dst: g_task_attach_source
      Src: /src/glib/gio/gunixmount.c:324,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gunixmount.c:325,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 6
    argNames:
    - mount
    - cancellable
    - callback
    - user_data
    - argv
    - task_name
    argTypes:
    - GMount*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    - char**
    - gchar*
    constantsTouched: []
    func_position:
      end: 326
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 326
    functionName: eject_unmount_do
    functionSourceFile: /src/glib/gio/gunixmount.c
    functionUses: []
    functionsReached:
    - G_UNIX_MOUNT
    - g_strdupv
    - g_task_new
    - g_task_set_source_tag
    - g_timeout_source_new
    - g_signal_emit_by_name
    - g_source_unref
    - g_task_set_task_data
    - g_task_attach_source
    - g_task_set_name
    linkageType: ''
    returnType: void
    signature: 'static void eject_unmount_do (GMount *mount, GCancellable *cancellable,
      GAsyncReadyCallback callback, gpointer user_data, char **argv, const gchar *task_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gunixmount.c:351,1
    - Dst: G_TASK
      Src: /src/glib/gio/gunixmount.c:351,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - mount
    - result
    - error
    argTypes:
    - GMount*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 352
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 352
    functionName: g_unix_mount_unmount_finish
    functionSourceFile: /src/glib/gio/gunixmount.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_task_propagate_boolean
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_unix_mount_unmount_finish (GMount *mount, GAsyncResult
      *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - message
    argTypes:
    - GSocketControlMessage*
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: g_socket_control_message_init
    functionSourceFile: /src/glib/gio/gsocketcontrolmessage.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_control_message_init (GSocketControlMessage *message) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocketcontrolmessage.c:89,1
    - Dst: G_IS_SOCKET_CONTROL_MESSAGE
      Src: /src/glib/gio/gsocketcontrolmessage.c:89,1
    - Dst: G_SOCKET_CONTROL_MESSAGE_GET_CLASS
      Src: /src/glib/gio/gsocketcontrolmessage.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - message
    argTypes:
    - GSocketControlMessage*
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: g_socket_control_message_get_level
    functionSourceFile: /src/glib/gio/gsocketcontrolmessage.c
    functionUses: []
    functionsReached:
    - G_SOCKET_CONTROL_MESSAGE_GET_CLASS
    - g_return_val_if_fail
    - G_IS_SOCKET_CONTROL_MESSAGE
    linkageType: ''
    returnType: int
    signature: 'int g_socket_control_message_get_level (GSocketControlMessage *message) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsocketcontrolmessage.c:131,1
    - Dst: G_IS_SOCKET_CONTROL_MESSAGE
      Src: /src/glib/gio/gsocketcontrolmessage.c:131,1
    - Dst: G_SOCKET_CONTROL_MESSAGE_GET_CLASS
      Src: /src/glib/gio/gsocketcontrolmessage.c:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - message
    - data
    argTypes:
    - GSocketControlMessage*
    - gpointer
    constantsTouched: []
    func_position:
      end: 134
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 134
    functionName: g_socket_control_message_serialize
    functionSourceFile: /src/glib/gio/gsocketcontrolmessage.c
    functionUses: []
    functionsReached:
    - G_SOCKET_CONTROL_MESSAGE_GET_CLASS
    - G_IS_SOCKET_CONTROL_MESSAGE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_socket_control_message_serialize (GSocketControlMessage *message,\t\
      \t\t\t gpointer data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_type_ensure
      Src: /src/glib/gio/gsocketcontrolmessage.c:179,1
    - Dst: g_type_class_ref
      Src: /src/glib/gio/gsocketcontrolmessage.c:190,1
    - Dst: g_type_children
      Src: /src/glib/gio/gsocketcontrolmessage.c:183,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/gsocketcontrolmessage.c:180,1
    - Dst: g_type_class_unref
      Src: /src/glib/gio/gsocketcontrolmessage.c:192,1
    - Dst: g_free
      Src: /src/glib/gio/gsocketcontrolmessage.c:198,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 211
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 211
    functionName: g_socket_control_message_deserialize
    functionSourceFile: /src/glib/gio/gsocketcontrolmessage.c
    functionUses: []
    functionsReached:
    - g_type_class_ref
    - g_type_children
    - g_type_ensure
    - g_type_class_unref
    - g_free
    linkageType: ''
    returnType: GSocketControlMessage*
    signature: "GSocketControlMessage *g_socket_control_message_deserialize (int level,\t\
      \t\t\t int type,\t\t\t\t gsize size,\t\t\t\t gpointer data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - class
    argTypes:
    - GSocketControlMessageClass*
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: g_socket_control_message_class_init
    functionSourceFile: /src/glib/gio/gsocketcontrolmessage.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_control_message_class_init (GSocketControlMessageClass
      *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocketcontrolmessage.c:70,1
    - Dst: G_IS_SOCKET_CONTROL_MESSAGE
      Src: /src/glib/gio/gsocketcontrolmessage.c:70,1
    - Dst: G_SOCKET_CONTROL_MESSAGE_GET_CLASS
      Src: /src/glib/gio/gsocketcontrolmessage.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - message
    argTypes:
    - GSocketControlMessage*
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: g_socket_control_message_get_size
    functionSourceFile: /src/glib/gio/gsocketcontrolmessage.c
    functionUses: []
    functionsReached:
    - G_SOCKET_CONTROL_MESSAGE_GET_CLASS
    - g_return_val_if_fail
    - G_IS_SOCKET_CONTROL_MESSAGE
    linkageType: ''
    returnType: gsize
    signature: 'gsize g_socket_control_message_get_size (GSocketControlMessage *message) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocketcontrolmessage.c:108,1
    - Dst: G_IS_SOCKET_CONTROL_MESSAGE
      Src: /src/glib/gio/gsocketcontrolmessage.c:108,1
    - Dst: G_SOCKET_CONTROL_MESSAGE_GET_CLASS
      Src: /src/glib/gio/gsocketcontrolmessage.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - message
    argTypes:
    - GSocketControlMessage*
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: g_socket_control_message_get_msg_type
    functionSourceFile: /src/glib/gio/gsocketcontrolmessage.c
    functionUses: []
    functionsReached:
    - G_SOCKET_CONTROL_MESSAGE_GET_CLASS
    - g_return_val_if_fail
    - G_IS_SOCKET_CONTROL_MESSAGE
    linkageType: ''
    returnType: int
    signature: 'int g_socket_control_message_get_msg_type (GSocketControlMessage *message) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - compressor
    argTypes:
    - GZlibCompressor*
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: g_zlib_compressor_init
    functionSourceFile: /src/glib/gio/gzlibcompressor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_zlib_compressor_init (GZlibCompressor *compressor) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_ZLIB_COMPRESSOR
      Src: /src/glib/gio/gzlibcompressor.c:119,1
    - Dst: g_value_get_enum
      Src: /src/glib/gio/gzlibcompressor.c:124,1
    - Dst: g_value_get_object
      Src: /src/glib/gio/gzlibcompressor.c:132,1
    - Dst: g_value_get_int
      Src: /src/glib/gio/gzlibcompressor.c:128,1
    - Dst: g_zlib_compressor_set_file_info
      Src: /src/glib/gio/gzlibcompressor.c:132,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gzlibcompressor.c:136,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 140
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 140
    functionName: g_zlib_compressor_set_property
    functionSourceFile: /src/glib/gio/gzlibcompressor.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_ZLIB_COMPRESSOR
    - g_value_get_enum
    - g_value_get_object
    - g_value_get_int
    - g_zlib_compressor_set_file_info
    linkageType: ''
    returnType: void
    signature: "static void g_zlib_compressor_set_property (GObject *object,\t\t\t\
      \t guint prop_id,\t\t\t\t const GValue *value,\t\t\t\t GParamSpec *pspec) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gzlibcompressor.c:216,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gzlibcompressor.c:246,1
    - Dst: g_param_spec_enum
      Src: /src/glib/gio/gzlibcompressor.c:232,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gzlibcompressor.c:230,1
    - Dst: g_param_spec_int
      Src: /src/glib/gio/gzlibcompressor.c:248,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gzlibcompressor.c:264,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gzlibcompressor.c:266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GZlibCompressorClass*
    constantsTouched: []
    func_position:
      end: 270
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 270
    functionName: g_zlib_compressor_class_init
    functionSourceFile: /src/glib/gio/gzlibcompressor.c
    functionUses: []
    functionsReached:
    - g_param_spec_int
    - g_param_spec_object
    - g_object_class_install_property
    - G_OBJECT_CLASS
    - g_param_spec_enum
    linkageType: ''
    returnType: void
    signature: 'static void g_zlib_compressor_class_init (GZlibCompressorClass *klass) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gzlibcompressor.c:335,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gzlibcompressor.c:343,1
    - Dst: G_IS_ZLIB_COMPRESSOR
      Src: /src/glib/gio/gzlibcompressor.c:335,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gzlibcompressor.c:345,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gzlibcompressor.c:341,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gzlibcompressor.c:345,1
    - Dst: g_zlib_compressor_set_gzheader
      Src: /src/glib/gio/gzlibcompressor.c:347,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - compressor
    - file_info
    argTypes:
    - GZlibCompressor*
    - GFileInfo*
    constantsTouched: []
    func_position:
      end: 348
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 348
    functionName: g_zlib_compressor_set_file_info
    functionSourceFile: /src/glib/gio/gzlibcompressor.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_return_if_fail
    - g_object_notify
    - g_zlib_compressor_set_gzheader
    - G_OBJECT
    - g_object_ref
    - G_IS_ZLIB_COMPRESSOR
    linkageType: ''
    returnType: void
    signature: 'void g_zlib_compressor_set_file_info (GZlibCompressor *compressor,
      GFileInfo *file_info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_ZLIB_COMPRESSOR
      Src: /src/glib/gio/gzlibcompressor.c:353,1
    - Dst: g_warning
      Src: /src/glib/gio/gzlibcompressor.c:358,1
    - Dst: g_zlib_compressor_set_gzheader
      Src: /src/glib/gio/gzlibcompressor.c:361,1
    - Dst: deflateReset
      Src: /src/glib/gio/gzlibcompressor.c:356,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - converter
    argTypes:
    - GConverter*
    constantsTouched: []
    func_position:
      end: 362
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 362
    functionName: g_zlib_compressor_reset
    functionSourceFile: /src/glib/gio/gzlibcompressor.c
    functionUses: []
    functionsReached:
    - g_zlib_compressor_set_gzheader
    - G_ZLIB_COMPRESSOR
    - deflateReset
    - g_warning
    linkageType: ''
    returnType: void
    signature: 'static void g_zlib_compressor_reset (GConverter *converter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/glib/gio/gzlibcompressor.c:75,1
    - Dst: g_file_info_get_name
      Src: /src/glib/gio/gzlibcompressor.c:78,1
    - Dst: deflateSetHeader
      Src: /src/glib/gio/gzlibcompressor.c:86,1
    - Dst: strlen
      Src: /src/glib/gio/gzlibcompressor.c:80,1
    - Dst: g_file_info_get_attribute_uint64
      Src: /src/glib/gio/gzlibcompressor.c:83,1
    - Dst: g_warning
      Src: /src/glib/gio/gzlibcompressor.c:87,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - compressor
    argTypes:
    - GZlibCompressor*
    constantsTouched: []
    func_position:
      end: 89
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 89
    functionName: g_zlib_compressor_set_gzheader
    functionSourceFile: /src/glib/gio/gzlibcompressor.c
    functionUses: []
    functionsReached:
    - deflateSetHeader
    - g_warning
    - strlen
    - g_file_info_get_name
    - memset
    - g_file_info_get_attribute_uint64
    linkageType: ''
    returnType: void
    signature: 'static void g_zlib_compressor_set_gzheader (GZlibCompressor *compressor) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_ZLIB_COMPRESSOR
      Src: /src/glib/gio/gzlibcompressor.c:100,1
    - Dst: deflateEnd
      Src: /src/glib/gio/gzlibcompressor.c:102,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gzlibcompressor.c:105,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gzlibcompressor.c:107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 108
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 108
    functionName: g_zlib_compressor_finalize
    functionSourceFile: /src/glib/gio/gzlibcompressor.c
    functionUses: []
    functionsReached:
    - deflateEnd
    - G_ZLIB_COMPRESSOR
    - g_object_unref
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_zlib_compressor_finalize (GObject *object) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_ZLIB_COMPRESSOR
      Src: /src/glib/gio/gzlibcompressor.c:150,1
    - Dst: g_value_set_int
      Src: /src/glib/gio/gzlibcompressor.c:159,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gzlibcompressor.c:163,1
    - Dst: g_value_set_enum
      Src: /src/glib/gio/gzlibcompressor.c:155,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gzlibcompressor.c:167,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 170
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 170
    functionName: g_zlib_compressor_get_property
    functionSourceFile: /src/glib/gio/gzlibcompressor.c
    functionUses: []
    functionsReached:
    - g_value_set_enum
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_ZLIB_COMPRESSOR
    - g_value_set_int
    - g_value_set_object
    linkageType: ''
    returnType: void
    signature: "static void g_zlib_compressor_get_property (GObject *object,\t\t\t\
      \t guint prop_id,\t\t\t\t GValue *value,\t\t\t\t GParamSpec *pspec) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_ZLIB_COMPRESSOR
      Src: /src/glib/gio/gzlibcompressor.c:183,1
    - Dst: deflateInit
      Src: /src/glib/gio/gzlibcompressor.c:202,1
    - Dst: deflateInit2
      Src: /src/glib/gio/gzlibcompressor.c:188,1
    - Dst: deflateInit2
      Src: /src/glib/gio/gzlibcompressor.c:196,1
    - Dst: g_error
      Src: /src/glib/gio/gzlibcompressor.c:205,1
    - Dst: g_warning
      Src: /src/glib/gio/gzlibcompressor.c:208,1
    - Dst: g_zlib_compressor_set_gzheader
      Src: /src/glib/gio/gzlibcompressor.c:210,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 211
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 211
    functionName: g_zlib_compressor_constructed
    functionSourceFile: /src/glib/gio/gzlibcompressor.c
    functionUses: []
    functionsReached:
    - g_warning
    - G_ZLIB_COMPRESSOR
    - g_zlib_compressor_set_gzheader
    - deflateInit2
    - g_error
    - deflateInit
    linkageType: ''
    returnType: void
    signature: 'static void g_zlib_compressor_constructed (GObject *object) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: G_ZLIB_COMPRESSOR
      Src: /src/glib/gio/gzlibcompressor.c:379,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gzlibcompressor.c:397,1
    - Dst: _
      Src: /src/glib/gio/gzlibcompressor.c:398,1
    - Dst: deflate
      Src: /src/glib/gio/gzlibcompressor.c:393,1
    - Dst: g_set_error
      Src: /src/glib/gio/gzlibcompressor.c:404,1
    - Dst: _
      Src: /src/glib/gio/gzlibcompressor.c:405,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gzlibcompressor.c:417,1
    - Dst: _
      Src: /src/glib/gio/gzlibcompressor.c:418,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gzlibcompressor.c:432,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 37
    argCount: 9
    argNames:
    - converter
    - inbuf
    - inbuf_size
    - outbuf
    - outbuf_size
    - flags
    - bytes_read
    - bytes_written
    - error
    argTypes:
    - GConverter*
    - void*
    - gsize
    - void*
    - gsize
    - GConverterFlags
    - gsize*
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 433
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 433
    functionName: g_zlib_compressor_convert
    functionSourceFile: /src/glib/gio/gzlibcompressor.c
    functionUses: []
    functionsReached:
    - g_set_error
    - deflate
    - G_ZLIB_COMPRESSOR
    - g_assert_not_reached
    - g_set_error_literal
    - _
    linkageType: ''
    returnType: GConverterResult
    signature: "static GConverterResult g_zlib_compressor_convert (GConverter *converter,\t\
      \t\t const void *inbuf,\t\t\t gsize inbuf_size,\t\t\t void *outbuf,\t\t\t gsize\
      \ outbuf_size,\t\t\t GConverterFlags flags,\t\t\t gsize *bytes_read,\t\t\t gsize\
      \ *bytes_written,\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GConverterIface*
    constantsTouched: []
    func_position:
      end: 440
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 440
    functionName: g_zlib_compressor_iface_init
    functionSourceFile: /src/glib/gio/gzlibcompressor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_zlib_compressor_iface_init (GConverterIface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gzlibcompressor.c:289,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 295
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 295
    functionName: g_zlib_compressor_new
    functionSourceFile: /src/glib/gio/gzlibcompressor.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: GZlibCompressor*
    signature: "GZlibCompressor *g_zlib_compressor_new (GZlibCompressorFormat format,\t\
      \t int level) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gzlibcompressor.c:310,1
    - Dst: G_IS_ZLIB_COMPRESSOR
      Src: /src/glib/gio/gzlibcompressor.c:310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 313
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 313
    functionName: g_zlib_compressor_get_file_info
    functionSourceFile: /src/glib/gio/gzlibcompressor.c
    functionUses: []
    functionsReached:
    - G_IS_ZLIB_COMPRESSOR
    - g_return_val_if_fail
    linkageType: ''
    returnType: GFileInfo*
    signature: 'GFileInfo *g_zlib_compressor_get_file_info (GZlibCompressor *compressor) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbuserror.c:118,1
    - Dst: g_once_init_enter
      Src: /src/glib/gio/gdbuserror.c:127,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbuserror.c:121,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbuserror.c:120,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbuserror.c:119,1
    - Dst: g_quark_from_static_string
      Src: /src/glib/gio/gdbuserror.c:132,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbuserror.c:136,1
    - Dst: g_dbus_error_register_error
      Src: /src/glib/gio/gdbuserror.c:136,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/gdbuserror.c:140,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - error_domain_quark_name
    - quark_volatile
    - entries
    - num_entries
    argTypes:
    - gchar*
    - gsize*
    - GDBusErrorEntry*
    - guint
    constantsTouched: []
    func_position:
      end: 142
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 142
    functionName: g_dbus_error_register_error_domain
    functionSourceFile: /src/glib/gio/gdbuserror.c
    functionUses: []
    functionsReached:
    - g_once_init_leave
    - g_warn_if_fail
    - g_quark_from_static_string
    - g_return_if_fail
    - g_once_init_enter
    - g_dbus_error_register_error
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_error_register_error_domain (const gchar *error_domain_quark_name,
      volatile gsize *quark_volatile, const GDBusErrorEntry *entries, guint num_entries) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - QuarkCodePair*
    - QuarkCodePair*
    constantsTouched: []
    func_position:
      end: 247
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 247
    functionName: quark_code_pair_equal_func
    functionSourceFile: /src/glib/gio/gdbuserror.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean quark_code_pair_equal_func (const QuarkCodePair *a,
      const QuarkCodePair *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gdbuserror.c:258,1
    - Dst: g_free
      Src: /src/glib/gio/gdbuserror.c:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - re
    argTypes:
    - RegisteredError*
    constantsTouched: []
    func_position:
      end: 260
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 260
    functionName: registered_error_free
    functionSourceFile: /src/glib/gio/gdbuserror.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void registered_error_free (RegisteredError *re) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbuserror.c:296,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/gdbuserror.c:305,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbuserror.c:300,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbuserror.c:304,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdbuserror.c:307,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbuserror.c:313,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbuserror.c:319,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbuserror.c:322,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbuserror.c:324,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbuserror.c:326,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbuserror.c:327,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbuserror.c:332,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - error_domain
    - error_code
    - dbus_error_name
    argTypes:
    - GQuark
    - gint
    - gchar*
    constantsTouched: []
    func_position:
      end: 334
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 334
    functionName: g_dbus_error_register_error
    functionSourceFile: /src/glib/gio/gdbuserror.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_strdup
    - g_assert
    - G_UNLOCK
    - g_hash_table_lookup
    - g_hash_table_insert
    - g_hash_table_new_full
    - g_hash_table_new
    - g_new0
    - G_LOCK
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dbus_error_register_error (GQuark error_domain, gint error_code,
      const gchar *dbus_error_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbuserror.c:424,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gdbuserror.c:425,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError*
    constantsTouched: []
    func_position:
      end: 426
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 426
    functionName: g_dbus_error_is_remote_error
    functionSourceFile: /src/glib/gio/gdbuserror.c
    functionUses: []
    functionsReached:
    - g_str_has_prefix
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dbus_error_is_remote_error (const GError *error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbuserror.c:539,1
    - Dst: _g_dbus_initialize
      Src: /src/glib/gio/gdbuserror.c:543,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbuserror.c:540,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbuserror.c:550,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbuserror.c:545,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbuserror.c:551,1
    - Dst: g_error_new
      Src: /src/glib/gio/gdbuserror.c:556,1
    - Dst: _g_dbus_error_decode_gerror
      Src: /src/glib/gio/gdbuserror.c:567,1
    - Dst: g_error_new
      Src: /src/glib/gio/gdbuserror.c:571,1
    - Dst: g_error_new
      Src: /src/glib/gio/gdbuserror.c:579,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbuserror.c:587,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 589
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 589
    functionName: g_dbus_error_new_for_dbus_error
    functionSourceFile: /src/glib/gio/gdbuserror.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - _g_dbus_initialize
    - g_assert
    - G_UNLOCK
    - g_hash_table_lookup
    - g_error_new
    - _g_dbus_error_decode_gerror
    - G_LOCK
    linkageType: ''
    returnType: GError*
    signature: 'GError *g_dbus_error_new_for_dbus_error (const gchar *dbus_error_name,
      const gchar *dbus_error_message) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbuserror.c:655,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbuserror.c:667,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbuserror.c:656,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbuserror.c:657,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/gio/gdbuserror.c:666,1
    - Dst: g_dbus_error_new_for_dbus_error
      Src: /src/glib/gio/gdbuserror.c:668,1
    - Dst: g_free
      Src: /src/glib/gio/gdbuserror.c:669,1
    - Dst: g_free
      Src: /src/glib/gio/gdbuserror.c:670,1
    - Dst: g_dbus_error_new_for_dbus_error
      Src: /src/glib/gio/gdbuserror.c:674,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 5
    argNames:
    - error
    - dbus_error_name
    - dbus_error_message
    - format
    - var_args
    argTypes:
    - GError**
    - gchar*
    - gchar*
    - gchar*
    - va_list
    constantsTouched: []
    func_position:
      end: 676
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 676
    functionName: g_dbus_error_set_dbus_error_valist
    functionSourceFile: /src/glib/gio/gdbuserror.c
    functionUses: []
    functionsReached:
    - g_strdup_vprintf
    - g_strdup_printf
    - g_dbus_error_new_for_dbus_error
    - g_return_if_fail
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_error_set_dbus_error_valist (GError **error, const gchar
      *dbus_error_name, const gchar *dbus_error_message, const gchar *format, va_list
      var_args) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbuserror.c:749,1
    - Dst: _g_dbus_initialize
      Src: /src/glib/gio/gdbuserror.c:752,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbuserror.c:756,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbuserror.c:764,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbuserror.c:763,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbuserror.c:768,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbuserror.c:769,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbuserror.c:777,1
    - Dst: g_quark_to_string
      Src: /src/glib/gio/gdbuserror.c:783,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbuserror.c:786,1
    - Dst: g_string_new
      Src: /src/glib/gio/gdbuserror.c:788,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdbuserror.c:794,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdbuserror.c:812,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdbuserror.c:811,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbuserror.c:816,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbuserror.c:815,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdbuserror.c:800,1
    - Dst: g_ascii_isalnum
      Src: /src/glib/gio/gdbuserror.c:792,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 820
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 820
    functionName: g_dbus_error_encode_gerror
    functionSourceFile: /src/glib/gio/gdbuserror.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_strdup
    - g_ascii_isalnum
    - _g_dbus_initialize
    - g_assert
    - G_UNLOCK
    - g_string_append_c
    - g_hash_table_lookup
    - g_quark_to_string
    - g_string_free
    - g_string_new
    - g_string_append_printf
    - G_LOCK
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_dbus_error_encode_gerror (const GError *error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_STATIC_ASSERT
      Src: /src/glib/gio/gdbuserror.c:87,1
    - Dst: g_dbus_error_register_error_domain
      Src: /src/glib/gio/gdbuserror.c:89,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/gdbuserror.c:92,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/gdbuserror.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 94
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 94
    functionName: g_dbus_error_quark
    functionSourceFile: /src/glib/gio/gdbuserror.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - G_STATIC_ASSERT
    - g_dbus_error_register_error_domain
    linkageType: ''
    returnType: GQuark
    signature: 'GQuark g_dbus_error_quark (void) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gdbuserror.c:157,1
    - Dst: g_string_new
      Src: /src/glib/gio/gdbuserror.c:159,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdbuserror.c:167,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdbuserror.c:194,1
    - Dst: g_ascii_isalnum
      Src: /src/glib/gio/gdbuserror.c:165,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gdbuserror.c:202,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbuserror.c:205,1
    - Dst: g_quark_from_string
      Src: /src/glib/gio/gdbuserror.c:209,1
    - Dst: g_free
      Src: /src/glib/gio/gdbuserror.c:210,1
    - Dst: atoi
      Src: /src/glib/gio/gdbuserror.c:213,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbuserror.c:221,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 61
    argCount: 3
    argNames:
    - dbus_name
    - out_error_domain
    - out_error_code
    argTypes:
    - gchar*
    - GQuark*
    - gint*
    constantsTouched: []
    func_position:
      end: 224
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 224
    functionName: _g_dbus_error_decode_gerror
    functionSourceFile: /src/glib/gio/gdbuserror.c
    functionUses: []
    functionsReached:
    - g_quark_from_string
    - g_ascii_isalnum
    - g_string_append_c
    - atoi
    - g_str_has_prefix
    - g_string_free
    - g_string_new
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _g_dbus_error_decode_gerror (const gchar *dbus_name,
      GQuark *out_error_domain, gint *out_error_code) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_int_hash
      Src: /src/glib/gio/gdbuserror.c:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pair
    argTypes:
    - QuarkCodePair*
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: quark_code_pair_hash_func
    functionSourceFile: /src/glib/gio/gdbuserror.c
    functionUses: []
    functionsReached:
    - g_int_hash
    linkageType: ''
    returnType: guint
    signature: 'static guint quark_code_pair_hash_func (const QuarkCodePair *pair) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbuserror.c:361,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbuserror.c:381,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbuserror.c:394,1
    - Dst: g_hash_table_size
      Src: /src/glib/gio/gdbuserror.c:387,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbuserror.c:392,1
    - Dst: g_hash_table_size
      Src: /src/glib/gio/gdbuserror.c:399,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbuserror.c:365,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbuserror.c:375,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbuserror.c:381,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbuserror.c:383,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbuserror.c:384,1
    - Dst: g_hash_table_size
      Src: /src/glib/gio/gdbuserror.c:390,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbuserror.c:399,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbuserror.c:375,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbuserror.c:390,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbuserror.c:403,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbuserror.c:357,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbuserror.c:369,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbuserror.c:383,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbuserror.c:384,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 3
    argNames:
    - error_domain
    - error_code
    - dbus_error_name
    argTypes:
    - GQuark
    - gint
    - gchar*
    constantsTouched: []
    func_position:
      end: 405
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 405
    functionName: g_dbus_error_unregister_error
    functionSourceFile: /src/glib/gio/gdbuserror.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_warn_if_fail
    - g_hash_table_remove
    - g_assert
    - g_hash_table_unref
    - G_UNLOCK
    - g_hash_table_lookup
    - g_hash_table_size
    - G_LOCK
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dbus_error_unregister_error (GQuark error_domain, gint
      error_code, const gchar *dbus_error_name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbuserror.c:451,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbuserror.c:458,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbuserror.c:467,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbuserror.c:466,1
    - Dst: _g_dbus_initialize
      Src: /src/glib/gio/gdbuserror.c:454,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbuserror.c:472,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gdbuserror.c:476,1
    - Dst: strstr
      Src: /src/glib/gio/gdbuserror.c:481,1
    - Dst: g_strndup
      Src: /src/glib/gio/gdbuserror.c:484,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbuserror.c:489,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 492
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 492
    functionName: g_dbus_error_get_remote_error
    functionSourceFile: /src/glib/gio/gdbuserror.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_strdup
    - _g_dbus_initialize
    - g_assert
    - g_strndup
    - G_UNLOCK
    - g_hash_table_lookup
    - g_str_has_prefix
    - G_LOCK
    - strstr
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_dbus_error_get_remote_error (const GError *error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbuserror.c:612,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbuserror.c:613,1
    - Dst: g_dbus_error_new_for_dbus_error
      Src: /src/glib/gio/gdbuserror.c:621,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbuserror.c:614,1
    - Dst: va_start
      Src: /src/glib/gio/gdbuserror.c:626,1
    - Dst: g_dbus_error_set_dbus_error_valist
      Src: /src/glib/gio/gdbuserror.c:627,1
    - Dst: va_end
      Src: /src/glib/gio/gdbuserror.c:632,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 4
    argNames:
    - error
    - dbus_error_name
    - dbus_error_message
    - format
    - '...'
    argTypes:
    - GError**
    - gchar*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 634
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 634
    functionName: g_dbus_error_set_dbus_error
    functionSourceFile: /src/glib/gio/gdbuserror.c
    functionUses: []
    functionsReached:
    - g_dbus_error_new_for_dbus_error
    - g_return_if_fail
    - va_end
    - g_dbus_error_set_dbus_error_valist
    - va_start
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_error_set_dbus_error (GError **error, const gchar *dbus_error_name,
      const gchar *dbus_error_message, const gchar *format, ...) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbuserror.c:698,1
    - Dst: g_free
      Src: /src/glib/gio/gdbuserror.c:713,1
    - Dst: strstr
      Src: /src/glib/gio/gdbuserror.c:709,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gdbuserror.c:702,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbuserror.c:712,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError*
    constantsTouched: []
    func_position:
      end: 720
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 720
    functionName: g_dbus_error_strip_remote_error
    functionSourceFile: /src/glib/gio/gdbuserror.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_strdup
    - g_str_has_prefix
    - g_free
    - strstr
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dbus_error_strip_remote_error (GError *error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_io_stream_get_instance_private
      Src: /src/glib/gio/giostream.c:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GIOStream*
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: g_io_stream_init
    functionSourceFile: /src/glib/gio/giostream.c
    functionUses: []
    functionsReached:
    - g_io_stream_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_io_stream_init (GIOStream *stream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/giostream.c:120,1
    - Dst: g_io_stream_close
      Src: /src/glib/gio/giostream.c:123,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/giostream.c:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 126
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 126
    functionName: g_io_stream_dispose
    functionSourceFile: /src/glib/gio/giostream.c
    functionUses: []
    functionsReached:
    - g_io_stream_close
    - G_IO_STREAM
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_io_stream_dispose (GObject *object) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/giostream.c:140,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/giostream.c:153,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/giostream.c:145,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/giostream.c:149,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/giostream.c:149,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/giostream.c:153,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/giostream.c:157,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 159
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 159
    functionName: g_io_stream_get_property
    functionSourceFile: /src/glib/gio/giostream.c
    functionUses: []
    functionsReached:
    - G_IO_STREAM
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_boolean
    - g_value_set_object
    - g_io_stream_get_input_stream
    - g_io_stream_get_output_stream
    linkageType: ''
    returnType: void
    signature: "static void g_io_stream_get_property (GObject *object,\t\t\t guint\
      \ prop_id,\t\t\t GValue *value,\t\t\t GParamSpec *pspec) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/giostream.c:935,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/giostream.c:937,1
    - Dst: G_TASK
      Src: /src/glib/gio/giostream.c:937,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/giostream.c:935,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - result
    - error
    argTypes:
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 938
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 938
    functionName: g_io_stream_splice_finish
    functionSourceFile: /src/glib/gio/giostream.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_task_is_valid
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_io_stream_splice_finish (GAsyncResult *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_IO_STREAM_GET_CLASS
      Src: /src/glib/gio/giostream.c:269,1
    - Dst: g_assert
      Src: /src/glib/gio/giostream.c:271,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 273
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 273
    functionName: g_io_stream_get_output_stream
    functionSourceFile: /src/glib/gio/giostream.c
    functionUses: []
    functionsReached:
    - g_assert
    - G_IO_STREAM_GET_CLASS
    linkageType: ''
    returnType: GOutputStream*
    signature: 'GOutputStream *g_io_stream_get_output_stream (GIOStream *stream) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_IO_STREAM_GET_CLASS
      Src: /src/glib/gio/giostream.c:570,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/giostream.c:574,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/giostream.c:578,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/giostream.c:583,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 4
    argNames:
    - task
    - source_object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 584
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 584
    functionName: close_async_thread
    functionSourceFile: /src/glib/gio/giostream.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_task_get_cancellable
    - G_IO_STREAM_GET_CLASS
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void close_async_thread (GTask *task, gpointer source_object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/giostream.c:835,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/giostream.c:836,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/giostream.c:837,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - cancellable
    - task
    argTypes:
    - GCancellable*
    - GTask*
    constantsTouched: []
    func_position:
      end: 838
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 838
    functionName: splice_cancelled_cb
    functionSourceFile: /src/glib/gio/giostream.c
    functionUses: []
    functionsReached:
    - g_cancellable_cancel
    - g_task_get_task_data
    linkageType: ''
    returnType: void
    signature: 'static void splice_cancelled_cb (GCancellable *cancellable, GTask
      *task) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_IO_STREAM_GET_CLASS
      Src: /src/glib/gio/giostream.c:245,1
    - Dst: g_assert
      Src: /src/glib/gio/giostream.c:247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 250
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 250
    functionName: g_io_stream_get_input_stream
    functionSourceFile: /src/glib/gio/giostream.c
    functionUses: []
    functionsReached:
    - g_assert
    - G_IO_STREAM_GET_CLASS
    linkageType: ''
    returnType: GInputStream*
    signature: 'GInputStream *g_io_stream_get_input_stream (GIOStream *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/giostream.c:223,1
    - Dst: G_IS_IO_STREAM
      Src: /src/glib/gio/giostream.c:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GIOStream*
    constantsTouched: []
    func_position:
      end: 226
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 226
    functionName: g_io_stream_is_closed
    functionSourceFile: /src/glib/gio/giostream.c
    functionUses: []
    functionsReached:
    - G_IS_IO_STREAM
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_io_stream_is_closed (GIOStream *stream) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/giostream.c:311,1
    - Dst: _
      Src: /src/glib/gio/giostream.c:316,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/giostream.c:322,1
    - Dst: G_IS_IO_STREAM
      Src: /src/glib/gio/giostream.c:311,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/giostream.c:315,1
    - Dst: _
      Src: /src/glib/gio/giostream.c:326,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - stream
    - error
    argTypes:
    - GIOStream*
    - GError**
    constantsTouched: []
    func_position:
      end: 332
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 332
    functionName: g_io_stream_set_pending
    functionSourceFile: /src/glib/gio/giostream.c
    functionUses: []
    functionsReached:
    - _
    - G_IS_IO_STREAM
    - g_set_error_literal
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_io_stream_set_pending (GIOStream *stream,\t\t\t GError\
      \ **error) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/giostream.c:423,1
    - Dst: G_IO_STREAM_GET_CLASS
      Src: /src/glib/gio/giostream.c:425,1
    - Dst: G_IS_IO_STREAM
      Src: /src/glib/gio/giostream.c:423,1
    - Dst: g_io_stream_set_pending
      Src: /src/glib/gio/giostream.c:430,1
    - Dst: g_cancellable_push_current
      Src: /src/glib/gio/giostream.c:434,1
    - Dst: g_cancellable_pop_current
      Src: /src/glib/gio/giostream.c:441,1
    - Dst: g_io_stream_clear_pending
      Src: /src/glib/gio/giostream.c:444,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GIOStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 447
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 447
    functionName: g_io_stream_close
    functionSourceFile: /src/glib/gio/giostream.c
    functionUses: []
    functionsReached:
    - g_io_stream_set_pending
    - G_IS_IO_STREAM
    - g_cancellable_pop_current
    - g_return_val_if_fail
    - G_IO_STREAM_GET_CLASS
    - g_io_stream_clear_pending
    - g_cancellable_push_current
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_io_stream_close (GIOStream *stream,\t\t GCancellable *cancellable,\t\
      \t GError **error) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/giostream.c:509,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/giostream.c:516,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/giostream.c:512,1
    - Dst: G_IS_IO_STREAM
      Src: /src/glib/gio/giostream.c:509,1
    - Dst: g_task_new
      Src: /src/glib/gio/giostream.c:511,1
    - Dst: g_object_unref
      Src: /src/glib/gio/giostream.c:517,1
    - Dst: g_io_stream_set_pending
      Src: /src/glib/gio/giostream.c:521,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/giostream.c:523,1
    - Dst: g_object_unref
      Src: /src/glib/gio/giostream.c:524,1
    - Dst: G_IO_STREAM_GET_CLASS
      Src: /src/glib/gio/giostream.c:528,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 5
    argNames:
    - stream
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GIOStream*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 532
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 532
    functionName: g_io_stream_close_async
    functionSourceFile: /src/glib/gio/giostream.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - G_IS_IO_STREAM
    - g_io_stream_set_pending
    - g_task_new
    - g_object_unref
    - G_IO_STREAM_GET_CLASS
    - g_task_set_source_tag
    - g_return_if_fail
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: "void g_io_stream_close_async (GIOStream *stream,\t\t\t int io_priority,\t\
      \t\t GCancellable *cancellable,\t\t\t GAsyncReadyCallback callback,\t\t\t gpointer\
      \ user_data) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/giostream.c:600,1
    - Dst: g_error_free
      Src: /src/glib/gio/giostream.c:614,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/giostream.c:610,1
    - Dst: g_output_stream_close_finish
      Src: /src/glib/gio/giostream.c:610,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/giostream.c:603,1
    - Dst: g_input_stream_close_finish
      Src: /src/glib/gio/giostream.c:619,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/giostream.c:619,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/giostream.c:624,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/giostream.c:626,1
    - Dst: g_slice_free
      Src: /src/glib/gio/giostream.c:628,1
    - Dst: g_object_unref
      Src: /src/glib/gio/giostream.c:629,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 631
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 631
    functionName: stream_close_complete
    functionSourceFile: /src/glib/gio/giostream.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_output_stream_close_finish
    - g_object_unref
    - g_error_free
    - g_input_stream_close_finish
    - g_task_get_task_data
    - G_IS_OUTPUT_STREAM
    - g_task_return_error
    - g_slice_free
    - G_INPUT_STREAM
    - G_OUTPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void stream_close_complete (GObject *source, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/giostream.c:705,1
    - Dst: g_object_unref
      Src: /src/glib/gio/giostream.c:706,1
    - Dst: g_object_unref
      Src: /src/glib/gio/giostream.c:709,1
    - Dst: g_object_unref
      Src: /src/glib/gio/giostream.c:710,1
    - Dst: g_object_unref
      Src: /src/glib/gio/giostream.c:708,1
    - Dst: g_clear_error
      Src: /src/glib/gio/giostream.c:711,1
    - Dst: g_slice_free
      Src: /src/glib/gio/giostream.c:712,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SpliceContext*
    constantsTouched: []
    func_position:
      end: 713
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 713
    functionName: splice_context_free
    functionSourceFile: /src/glib/gio/giostream.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_slice_free
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void splice_context_free (SpliceContext *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/giostream.c:454,1
    - Dst: G_IO_STREAM_GET_CLASS
      Src: /src/glib/gio/giostream.c:455,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/giostream.c:463,1
    - Dst: g_io_stream_clear_pending
      Src: /src/glib/gio/giostream.c:461,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/giostream.c:469,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/giostream.c:471,1
    - Dst: g_object_unref
      Src: /src/glib/gio/giostream.c:473,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 474
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 474
    functionName: async_ready_close_callback_wrapper
    functionSourceFile: /src/glib/gio/giostream.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - G_IO_STREAM
    - G_IO_STREAM_GET_CLASS
    - g_io_stream_clear_pending
    - g_async_result_legacy_propagate_error
    - g_object_unref
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void async_ready_close_callback_wrapper (GObject *source_object,
      GAsyncResult *res, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/giostream.c:644,1
    - Dst: g_task_set_check_cancellable
      Src: /src/glib/gio/giostream.c:646,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/giostream.c:647,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/giostream.c:645,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/giostream.c:649,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/giostream.c:650,1
    - Dst: g_input_stream_async_close_is_via_threads
      Src: /src/glib/gio/giostream.c:652,1
    - Dst: g_output_stream_async_close_is_via_threads
      Src: /src/glib/gio/giostream.c:652,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/giostream.c:657,1
    - Dst: g_object_unref
      Src: /src/glib/gio/giostream.c:658,1
    - Dst: g_slice_new
      Src: /src/glib/gio/giostream.c:668,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/giostream.c:672,1
    - Dst: g_input_stream_close_async
      Src: /src/glib/gio/giostream.c:673,1
    - Dst: g_output_stream_close_async
      Src: /src/glib/gio/giostream.c:674,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 5
    argNames:
    - stream
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GIOStream*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 676
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 676
    functionName: g_io_stream_real_close_async
    functionSourceFile: /src/glib/gio/giostream.c
    functionUses: []
    functionsReached:
    - g_output_stream_async_close_is_via_threads
    - g_task_new
    - g_object_unref
    - g_task_set_priority
    - g_task_set_source_tag
    - g_task_run_in_thread
    - g_output_stream_close_async
    - g_io_stream_get_input_stream
    - g_task_set_task_data
    - g_slice_new
    - g_input_stream_close_async
    - g_task_set_check_cancellable
    - g_io_stream_get_output_stream
    - g_input_stream_async_close_is_via_threads
    linkageType: ''
    returnType: void
    signature: "static void g_io_stream_real_close_async (GIOStream *stream,\t\t\t\
      \ int io_priority,\t\t\t GCancellable *cancellable,\t\t\t GAsyncReadyCallback\
      \ callback,\t\t\t gpointer user_data) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_cancellable_disconnect
      Src: /src/glib/gio/giostream.c:720,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/giostream.c:729,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/giostream.c:725,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - task
    - ctx
    argTypes:
    - GTask*
    - SpliceContext*
    constantsTouched: []
    func_position:
      end: 730
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 730
    functionName: splice_complete
    functionSourceFile: /src/glib/gio/giostream.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_cancellable_disconnect
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void splice_complete (GTask *task, SpliceContext *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/giostream.c:164,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/giostream.c:181,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/giostream.c:192,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/giostream.c:180,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/giostream.c:193,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/giostream.c:204,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/giostream.c:205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GIOStreamClass*
    constantsTouched: []
    func_position:
      end: 208
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 208
    functionName: g_io_stream_class_init
    functionSourceFile: /src/glib/gio/giostream.c
    functionUses: []
    functionsReached:
    - g_param_spec_boolean
    - g_param_spec_object
    - g_object_class_install_property
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_io_stream_class_init (GIOStreamClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/giostream.c:288,1
    - Dst: G_IS_IO_STREAM
      Src: /src/glib/gio/giostream.c:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GIOStream*
    constantsTouched: []
    func_position:
      end: 291
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 291
    functionName: g_io_stream_has_pending
    functionSourceFile: /src/glib/gio/giostream.c
    functionUses: []
    functionsReached:
    - G_IS_IO_STREAM
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_io_stream_has_pending (GIOStream *stream) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/giostream.c:875,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/giostream.c:877,1
    - Dst: g_object_ref
      Src: /src/glib/gio/giostream.c:886,1
    - Dst: g_slice_new0
      Src: /src/glib/gio/giostream.c:884,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/giostream.c:889,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/giostream.c:894,1
    - Dst: g_object_ref
      Src: /src/glib/gio/giostream.c:898,1
    - Dst: g_output_stream_splice_async
      Src: /src/glib/gio/giostream.c:912,1
    - Dst: g_object_ref
      Src: /src/glib/gio/giostream.c:914,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/giostream.c:888,1
    - Dst: g_task_new
      Src: /src/glib/gio/giostream.c:892,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/giostream.c:893,1
    - Dst: g_object_ref
      Src: /src/glib/gio/giostream.c:900,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/giostream.c:911,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/giostream.c:900,1
    - Dst: g_output_stream_splice_async
      Src: /src/glib/gio/giostream.c:906,1
    - Dst: g_cancellable_connect
      Src: /src/glib/gio/giostream.c:899,1
    - Dst: g_object_ref
      Src: /src/glib/gio/giostream.c:908,1
    - Dst: g_object_unref
      Src: /src/glib/gio/giostream.c:916,1
    - Dst: g_object_ref
      Src: /src/glib/gio/giostream.c:885,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/giostream.c:905,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/giostream.c:904,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/giostream.c:910,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 7
    argNames:
    - stream1
    - stream2
    - flags
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GIOStream*
    - GIOStream*
    - GIOStreamSpliceFlags
    - gint
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 917
      start: 861
    functionDepth: 0
    functionLinenumber: 861
    functionLinenumberEnd: 917
    functionName: g_io_stream_splice_async
    functionSourceFile: /src/glib/gio/giostream.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_object_unref
    - g_slice_new0
    - g_task_set_source_tag
    - g_cancellable_is_cancelled
    - g_task_report_new_error
    - G_CALLBACK
    - g_output_stream_splice_async
    - g_io_stream_get_input_stream
    - g_object_ref
    - g_task_set_task_data
    - g_io_stream_get_output_stream
    - g_cancellable_connect
    - g_cancellable_new
    linkageType: ''
    returnType: void
    signature: 'void g_io_stream_splice_async (GIOStream *stream1, GIOStream *stream2,
      GIOStreamSpliceFlags flags, gint io_priority, GCancellable *cancellable, GAsyncReadyCallback
      callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/giostream.c:345,1
    - Dst: G_IS_IO_STREAM
      Src: /src/glib/gio/giostream.c:345,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GIOStream*
    constantsTouched: []
    func_position:
      end: 348
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 348
    functionName: g_io_stream_clear_pending
    functionSourceFile: /src/glib/gio/giostream.c
    functionUses: []
    functionsReached:
    - G_IS_IO_STREAM
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_io_stream_clear_pending (GIOStream *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/giostream.c:683,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/giostream.c:683,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/giostream.c:685,1
    - Dst: G_TASK
      Src: /src/glib/gio/giostream.c:685,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - stream
    - result
    - error
    argTypes:
    - GIOStream*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 686
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 686
    functionName: g_io_stream_real_close_finish
    functionSourceFile: /src/glib/gio/giostream.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_task_is_valid
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_io_stream_real_close_finish (GIOStream *stream,\t\
      \t\t GAsyncResult *result,\t\t\t GError **error) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/giostream.c:738,1
    - Dst: g_clear_error
      Src: /src/glib/gio/giostream.c:749,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/giostream.c:741,1
    - Dst: g_io_stream_close_finish
      Src: /src/glib/gio/giostream.c:741,1
    - Dst: splice_complete
      Src: /src/glib/gio/giostream.c:753,1
    - Dst: g_object_unref
      Src: /src/glib/gio/giostream.c:755,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - iostream
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 756
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 756
    functionName: splice_close_cb
    functionSourceFile: /src/glib/gio/giostream.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - G_IO_STREAM
    - g_object_unref
    - splice_complete
    - g_task_get_task_data
    - g_io_stream_close_finish
    linkageType: ''
    returnType: void
    signature: 'static void splice_close_cb (GObject *iostream, GAsyncResult *res,
      gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_output_stream_close
      Src: /src/glib/gio/giostream.c:357,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/giostream.c:365,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/giostream.c:357,1
    - Dst: g_input_stream_close
      Src: /src/glib/gio/giostream.c:365,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GIOStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 369
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 369
    functionName: g_io_stream_real_close
    functionSourceFile: /src/glib/gio/giostream.c
    functionUses: []
    functionsReached:
    - g_io_stream_get_output_stream
    - g_output_stream_close
    - g_input_stream_close
    - g_io_stream_get_input_stream
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_io_stream_real_close (GIOStream *stream,\t\t\tGCancellable\
      \ *cancellable,\t\t\tGError **error) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/giostream.c:764,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/giostream.c:775,1
    - Dst: splice_complete
      Src: /src/glib/gio/giostream.c:823,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/giostream.c:767,1
    - Dst: g_clear_error
      Src: /src/glib/gio/giostream.c:776,1
    - Dst: g_clear_error
      Src: /src/glib/gio/giostream.c:782,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/giostream.c:794,1
    - Dst: g_cancellable_reset
      Src: /src/glib/gio/giostream.c:796,1
    - Dst: g_object_unref
      Src: /src/glib/gio/giostream.c:826,1
    - Dst: g_output_stream_splice_finish
      Src: /src/glib/gio/giostream.c:767,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/giostream.c:788,1
    - Dst: g_object_ref
      Src: /src/glib/gio/giostream.c:816,1
    - Dst: g_task_get_priority
      Src: /src/glib/gio/giostream.c:814,1
    - Dst: g_cancellable_reset
      Src: /src/glib/gio/giostream.c:797,1
    - Dst: g_io_stream_close_async
      Src: /src/glib/gio/giostream.c:813,1
    - Dst: g_error_matches
      Src: /src/glib/gio/giostream.c:773,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/giostream.c:789,1
    - Dst: g_task_get_priority
      Src: /src/glib/gio/giostream.c:804,1
    - Dst: g_object_ref
      Src: /src/glib/gio/giostream.c:806,1
    - Dst: g_io_stream_close_async
      Src: /src/glib/gio/giostream.c:803,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 49
    argCount: 3
    argNames:
    - ostream
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 827
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 827
    functionName: splice_cb
    functionSourceFile: /src/glib/gio/giostream.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_cancellable_reset
    - g_object_unref
    - g_task_get_priority
    - g_cancellable_is_cancelled
    - g_output_stream_splice_finish
    - g_error_matches
    - splice_complete
    - g_task_get_task_data
    - g_object_ref
    - g_io_stream_close_async
    - g_cancellable_cancel
    - G_OUTPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void splice_cb (GObject *ostream, GAsyncResult *res, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/giostream.c:552,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/giostream.c:553,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/giostream.c:553,1
    - Dst: G_IS_IO_STREAM
      Src: /src/glib/gio/giostream.c:552,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/giostream.c:555,1
    - Dst: G_TASK
      Src: /src/glib/gio/giostream.c:555,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - stream
    - result
    - error
    argTypes:
    - GIOStream*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 556
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 556
    functionName: g_io_stream_close_finish
    functionSourceFile: /src/glib/gio/giostream.c
    functionUses: []
    functionsReached:
    - G_IS_IO_STREAM
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_task_is_valid
    - G_TASK
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_io_stream_close_finish (GIOStream *stream,\t\t\t GAsyncResult\
      \ *result,\t\t\t GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_parse
      Src: /src/glib/gio/glib-compile-schemas.c:470,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:476,1
    - Dst: g_variant_type_dup_string
      Src: /src/glib/gio/glib-compile-schemas.c:475,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-schemas.c:477,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/glib-compile-schemas.c:476,1
    - Dst: key_state_check_range
      Src: /src/glib/gio/glib-compile-schemas.c:480,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - state
    - string
    - error
    argTypes:
    - KeyState*
    - GString**
    - GError**
    constantsTouched: []
    func_position:
      end: 481
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 481
    functionName: key_state_end_default
    functionSourceFile: /src/glib/gio/glib-compile-schemas.c
    functionUses: []
    functionsReached:
    - g_variant_parse
    - g_prefix_error
    - key_state_check_range
    - g_variant_type_dup_string
    - _
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void key_state_end_default (KeyState *state, GString **string,
      GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glib-compile-schemas.c:557,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glib-compile-schemas.c:561,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:559,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:563,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - state
    - error
    argTypes:
    - KeyState*
    - GError**
    constantsTouched: []
    func_position:
      end: 565
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 565
    functionName: key_state_start_aliases
    functionSourceFile: /src/glib/gio/glib-compile-schemas.c
    functionUses: []
    functionsReached:
    - _
    - g_set_error_literal
    linkageType: ''
    returnType: void
    signature: 'static void key_state_start_aliases (KeyState *state, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - state_ptr
    - error
    argTypes:
    - SchemaState**
    - GError**
    constantsTouched: []
    func_position:
      end: 1545
      start: 1540
    functionDepth: 0
    functionLinenumber: 1540
    functionLinenumberEnd: 1545
    functionName: schema_state_end
    functionSourceFile: /src/glib/gio/glib-compile-schemas.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void schema_state_end (SchemaState **state_ptr, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gvdb_hash_table_new
      Src: /src/glib/gio/glib-compile-schemas.c:1642,1
    - Dst: gvdb_hash_table_insert
      Src: /src/glib/gio/glib-compile-schemas.c:1643,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pair
    argTypes:
    - GvdbPair*
    constantsTouched: []
    func_position:
      end: 1644
      start: 1639
    functionDepth: 0
    functionLinenumber: 1639
    functionLinenumberEnd: 1644
    functionName: gvdb_pair_init
    functionSourceFile: /src/glib/gio/glib-compile-schemas.c
    functionUses: []
    functionsReached:
    - gvdb_hash_table_insert
    - gvdb_hash_table_new
    linkageType: ''
    returnType: void
    signature: 'static void gvdb_pair_init (GvdbPair *pair) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glib-compile-schemas.c:491,1
    - Dst: g_variant_type_is_maybe
      Src: /src/glib/gio/glib-compile-schemas.c:506,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glib-compile-schemas.c:500,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:493,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:502,1
    - Dst: g_variant_type_is_array
      Src: /src/glib/gio/glib-compile-schemas.c:506,1
    - Dst: g_variant_type_element
      Src: /src/glib/gio/glib-compile-schemas.c:507,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/glib-compile-schemas.c:509,1
    - Dst: g_variant_type_dup_string
      Src: /src/glib/gio/glib-compile-schemas.c:511,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:512,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:514,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-schemas.c:516,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - state
    - error
    argTypes:
    - KeyState*
    - GError**
    constantsTouched: []
    func_position:
      end: 519
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 519
    functionName: key_state_start_choices
    functionSourceFile: /src/glib/gio/glib-compile-schemas.c
    functionUses: []
    functionsReached:
    - g_variant_type_equal
    - g_set_error
    - g_variant_type_is_array
    - g_variant_type_is_maybe
    - g_set_error_literal
    - g_variant_type_dup_string
    - g_variant_type_element
    - _
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void key_state_start_choices (KeyState *state, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strinfo_builder_contains
      Src: /src/glib/gio/glib-compile-schemas.c:573,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:582,1
    - Dst: strinfo_is_string_valid
      Src: /src/glib/gio/glib-compile-schemas.c:575,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:580,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:586,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:588,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:594,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:596,1
    - Dst: strinfo_builder_append_alias
      Src: /src/glib/gio/glib-compile-schemas.c:601,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:603,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:607,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:606,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 4
    argNames:
    - state
    - alias
    - target
    - error
    argTypes:
    - KeyState*
    - gchar*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 613
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 613
    functionName: key_state_add_alias
    functionSourceFile: /src/glib/gio/glib-compile-schemas.c
    functionUses: []
    functionsReached:
    - g_set_error
    - strinfo_is_string_valid
    - _
    - strinfo_builder_append_alias
    - strinfo_builder_contains
    linkageType: ''
    returnType: void
    signature: 'static void key_state_add_alias (KeyState *state, const gchar *alias,
      const gchar *target, GError **error) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-schemas.c:1555,1
    - Dst: enum_state_end
      Src: /src/glib/gio/glib-compile-schemas.c:1563,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-schemas.c:1561,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-schemas.c:1557,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-schemas.c:1562,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-schemas.c:1565,1
    - Dst: schema_state_end
      Src: /src/glib/gio/glib-compile-schemas.c:1566,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-schemas.c:1568,1
    - Dst: override_state_end
      Src: /src/glib/gio/glib-compile-schemas.c:1569,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-schemas.c:1571,1
    - Dst: key_state_end
      Src: /src/glib/gio/glib-compile-schemas.c:1572,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-schemas.c:1574,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-schemas.c:1577,1
    - Dst: key_state_end_default
      Src: /src/glib/gio/glib-compile-schemas.c:1575,1
    - Dst: key_state_end_choices
      Src: /src/glib/gio/glib-compile-schemas.c:1578,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-schemas.c:1580,1
    - Dst: g_string_free
      Src: /src/glib/gio/glib-compile-schemas.c:1585,1
    - Dst: key_state_end_aliases
      Src: /src/glib/gio/glib-compile-schemas.c:1581,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 33
    argCount: 4
    argNames:
    - context
    - element_name
    - user_data
    - error
    argTypes:
    - GMarkupParseContext*
    - gchar*
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 1588
      start: 1547
    functionDepth: 0
    functionLinenumber: 1547
    functionLinenumberEnd: 1588
    functionName: end_element
    functionSourceFile: /src/glib/gio/glib-compile-schemas.c
    functionUses: []
    functionsReached:
    - key_state_end_aliases
    - schema_state_end
    - override_state_end
    - strcmp
    - enum_state_end
    - key_state_end
    - g_string_free
    - key_state_end_choices
    - g_free
    - key_state_end_default
    linkageType: ''
    returnType: void
    signature: 'static void end_element (GMarkupParseContext *context, const gchar
      *element_name, gpointer user_data, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/glib-compile-schemas.c:1649,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pair
    argTypes:
    - GvdbPair*
    constantsTouched: []
    func_position:
      end: 1650
      start: 1646
    functionDepth: 0
    functionLinenumber: 1646
    functionLinenumberEnd: 1650
    functionName: gvdb_pair_clear
    functionSourceFile: /src/glib/gio/glib-compile-schemas.c
    functionUses: []
    functionsReached:
    - g_hash_table_unref
    linkageType: ''
    returnType: void
    signature: 'static void gvdb_pair_clear (GvdbPair *pair) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: N_
      Src: /src/glib/gio/glib-compile-schemas.c:2172,1
    - Dst: textdomain
      Src: /src/glib/gio/glib-compile-schemas.c:2189,1
    - Dst: bindtextdomain
      Src: /src/glib/gio/glib-compile-schemas.c:2195,1
    - Dst: g_option_context_new
      Src: /src/glib/gio/glib-compile-schemas.c:2202,1
    - Dst: g_option_context_set_summary
      Src: /src/glib/gio/glib-compile-schemas.c:2204,1
    - Dst: g_option_context_set_translation_domain
      Src: /src/glib/gio/glib-compile-schemas.c:2203,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/gio/glib-compile-schemas.c:2208,1
    - Dst: fprintf
      Src: /src/glib/gio/glib-compile-schemas.c:2237,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:2237,1
    - Dst: g_build_filename
      Src: /src/glib/gio/glib-compile-schemas.c:2248,1
    - Dst: g_dir_open
      Src: /src/glib/gio/glib-compile-schemas.c:2258,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/glib-compile-schemas.c:2263,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-schemas.c:2338,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/glib-compile-schemas.c:2273,1
    - Dst: g_strfreev
      Src: /src/glib/gio/glib-compile-schemas.c:2339,1
    - Dst: fprintf
      Src: /src/glib/gio/glib-compile-schemas.c:2286,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/glib-compile-schemas.c:2264,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/glib-compile-schemas.c:2295,1
    - Dst: N_
      Src: /src/glib/gio/glib-compile-schemas.c:2171,1
    - Dst: N_
      Src: /src/glib/gio/glib-compile-schemas.c:2174,1
    - Dst: N_
      Src: /src/glib/gio/glib-compile-schemas.c:2173,1
    - Dst: N_
      Src: /src/glib/gio/glib-compile-schemas.c:2175,1
    - Dst: bindtextdomain
      Src: /src/glib/gio/glib-compile-schemas.c:2193,1
    - Dst: bind_textdomain_codeset
      Src: /src/glib/gio/glib-compile-schemas.c:2199,1
    - Dst: g_win32_get_command_line
      Src: /src/glib/gio/glib-compile-schemas.c:2211,1
    - Dst: g_option_context_parse_strv
      Src: /src/glib/gio/glib-compile-schemas.c:2212,1
    - Dst: g_strv_length
      Src: /src/glib/gio/glib-compile-schemas.c:2218,1
    - Dst: fprintf
      Src: /src/glib/gio/glib-compile-schemas.c:2222,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/glib-compile-schemas.c:2277,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/glib-compile-schemas.c:2300,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:2286,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/glib-compile-schemas.c:2329,1
    - Dst: setlocale
      Src: /src/glib/gio/glib-compile-schemas.c:2188,1
    - Dst: _glib_get_locale_dir
      Src: /src/glib/gio/glib-compile-schemas.c:2192,1
    - Dst: N_
      Src: /src/glib/gio/glib-compile-schemas.c:2202,1
    - Dst: g_print
      Src: /src/glib/gio/glib-compile-schemas.c:2230,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/glib-compile-schemas.c:2256,1
    - Dst: g_ptr_array_sort_values
      Src: /src/glib/gio/glib-compile-schemas.c:2294,1
    - Dst: set_overrides
      Src: /src/glib/gio/glib-compile-schemas.c:2311,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/glib-compile-schemas.c:2330,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-schemas.c:2331,1
    - Dst: g_strfreev
      Src: /src/glib/gio/glib-compile-schemas.c:2333,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/glib-compile-schemas.c:2255,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/glib-compile-schemas.c:2288,1
    - Dst: g_clear_error
      Src: /src/glib/gio/glib-compile-schemas.c:2328,1
    - Dst: fprintf
      Src: /src/glib/gio/glib-compile-schemas.c:2319,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-schemas.c:2332,1
    - Dst: g_ptr_array_sort_values
      Src: /src/glib/gio/glib-compile-schemas.c:2297,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/glib-compile-schemas.c:2301,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/glib-compile-schemas.c:2289,1
    - Dst: fprintf
      Src: /src/glib/gio/glib-compile-schemas.c:2261,1
    - Dst: N_
      Src: /src/glib/gio/glib-compile-schemas.c:2172,1
    - Dst: N_
      Src: /src/glib/gio/glib-compile-schemas.c:2205,1
    - Dst: fprintf
      Src: /src/glib/gio/glib-compile-schemas.c:2214,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/glib-compile-schemas.c:2220,1
    - Dst: g_dir_read_name
      Src: /src/glib/gio/glib-compile-schemas.c:2270,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/glib-compile-schemas.c:2272,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/glib-compile-schemas.c:2274,1
    - Dst: g_build_filename
      Src: /src/glib/gio/glib-compile-schemas.c:2274,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/glib-compile-schemas.c:2276,1
    - Dst: g_build_filename
      Src: /src/glib/gio/glib-compile-schemas.c:2278,1
    - Dst: fprintf
      Src: /src/glib/gio/glib-compile-schemas.c:2284,1
    - Dst: parse_gschema_files
      Src: /src/glib/gio/glib-compile-schemas.c:2304,1
    - Dst: g_strfreev
      Src: /src/glib/gio/glib-compile-schemas.c:2334,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/glib-compile-schemas.c:2298,1
    - Dst: write_to_file
      Src: /src/glib/gio/glib-compile-schemas.c:2317,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/glib-compile-schemas.c:2335,1
    - Dst: g_unlink
      Src: /src/glib/gio/glib-compile-schemas.c:2283,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:2284,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 122
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 2343
      start: 2153
    functionDepth: 0
    functionLinenumber: 2153
    functionLinenumberEnd: 2343
    functionName: main
    functionSourceFile: /src/glib/gio/glib-compile-schemas.c
    functionUses: []
    functionsReached:
    - g_dir_open
    - g_option_context_free
    - textdomain
    - bind_textdomain_codeset
    - g_ptr_array_new
    - bindtextdomain
    - g_unlink
    - fprintf
    - write_to_file
    - setlocale
    - g_clear_pointer
    - g_strfreev
    - g_build_filename
    - g_print
    - g_option_context_parse
    - g_ptr_array_add
    - g_option_context_set_translation_domain
    - g_ptr_array_unref
    - parse_gschema_files
    - g_strv_length
    - g_option_context_new
    - g_str_has_suffix
    - g_option_context_parse_strv
    - _
    - N_
    - g_option_context_add_main_entries
    - g_ptr_array_free
    - g_clear_error
    - g_win32_get_command_line
    - g_option_context_set_summary
    - g_ptr_array_sort_values
    - _glib_get_locale_dir
    - g_dir_read_name
    - set_overrides
    - g_free
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_string_append_len
      Src: /src/glib/gio/glib-compile-schemas.c:1614,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:1624,1
    - Dst: g_markup_parse_context_get_element
      Src: /src/glib/gio/glib-compile-schemas.c:1626,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:1625,1
    - Dst: g_ascii_isspace
      Src: /src/glib/gio/glib-compile-schemas.c:1622,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 5
    argNames:
    - context
    - text
    - text_len
    - user_data
    - error
    argTypes:
    - GMarkupParseContext*
    - gchar*
    - gsize
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 1630
      start: 1590
    functionDepth: 0
    functionLinenumber: 1590
    functionLinenumberEnd: 1630
    functionName: text
    functionSourceFile: /src/glib/gio/glib-compile-schemas.c
    functionUses: []
    functionsReached:
    - g_ascii_isspace
    - g_set_error
    - g_string_append_len
    - _
    - g_markup_parse_context_get_element
    linkageType: ''
    returnType: void
    signature: 'static void text (GMarkupParseContext *context, const gchar *text,
      gsize text_len, gpointer user_data, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glib-compile-schemas.c:1533,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:1535,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - state_ptr
    - error
    argTypes:
    - KeyState**
    - GError**
    constantsTouched: []
    func_position:
      end: 1538
      start: 1522
    functionDepth: 0
    functionLinenumber: 1522
    functionLinenumberEnd: 1538
    functionName: key_state_end
    functionSourceFile: /src/glib/gio/glib-compile-schemas.c
    functionUses: []
    functionsReached:
    - _
    - g_set_error_literal
    linkageType: ''
    returnType: void
    signature: 'static void key_state_end (KeyState **state_ptr, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_isspace
      Src: /src/glib/gio/glib-compile-schemas.c:41,1
    - Dst: g_ascii_isspace
      Src: /src/glib/gio/glib-compile-schemas.c:47,1
    - Dst: g_string_erase
      Src: /src/glib/gio/glib-compile-schemas.c:42,1
    - Dst: g_string_truncate
      Src: /src/glib/gio/glib-compile-schemas.c:48,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - string
    argTypes:
    - GString*
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: strip_string
    functionSourceFile: /src/glib/gio/glib-compile-schemas.c
    functionUses: []
    functionsReached:
    - g_ascii_isspace
    - g_string_erase
    - g_string_truncate
    linkageType: ''
    returnType: void
    signature: 'static void strip_string (GString *string) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:92,1
    - Dst: g_ascii_strtoll
      Src: /src/glib/gio/glib-compile-schemas.c:98,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:105,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:94,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:103,1
    - Dst: strinfo_builder_contains
      Src: /src/glib/gio/glib-compile-schemas.c:109,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:111,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:113,1
    - Dst: strinfo_builder_contains_value
      Src: /src/glib/gio/glib-compile-schemas.c:117,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:119,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:121,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:135,1
    - Dst: strinfo_builder_append_item
      Src: /src/glib/gio/glib-compile-schemas.c:145,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:133,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 36
    argCount: 4
    argNames:
    - state
    - nick
    - valuestr
    - error
    argTypes:
    - EnumState*
    - gchar*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 146
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 146
    functionName: enum_state_add_value
    functionSourceFile: /src/glib/gio/glib-compile-schemas.c
    functionUses: []
    functionsReached:
    - g_set_error
    - strinfo_builder_append_item
    - strinfo_builder_contains_value
    - g_ascii_strtoll
    - _
    - strinfo_builder_contains
    linkageType: ''
    returnType: void
    signature: 'static void enum_state_add_value (EnumState *state, const gchar *nick,
      const gchar *valuestr, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_free
      Src: /src/glib/gio/glib-compile-schemas.c:65,1
    - Dst: g_slice_free
      Src: /src/glib/gio/glib-compile-schemas.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: enum_state_free
    functionSourceFile: /src/glib/gio/glib-compile-schemas.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_string_free
    linkageType: ''
    returnType: void
    signature: 'static void enum_state_free (gpointer data) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glib-compile-schemas.c:372,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:390,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:374,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/glib-compile-schemas.c:378,1
    - Dst: g_variant_type_dup_string
      Src: /src/glib/gio/glib-compile-schemas.c:389,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:392,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-schemas.c:393,1
    - Dst: g_variant_parse
      Src: /src/glib/gio/glib-compile-schemas.c:397,1
    - Dst: g_variant_parse
      Src: /src/glib/gio/glib-compile-schemas.c:401,1
    - Dst: g_variant_compare
      Src: /src/glib/gio/glib-compile-schemas.c:405,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:409,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:407,1
    - Dst: key_state_check_range
      Src: /src/glib/gio/glib-compile-schemas.c:413,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 30
    argCount: 4
    argNames:
    - state
    - min_str
    - max_str
    - error
    argTypes:
    - KeyState*
    - gchar*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 414
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 414
    functionName: key_state_set_range
    functionSourceFile: /src/glib/gio/glib-compile-schemas.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_variant_parse
    - g_variant_compare
    - G_N_ELEMENTS
    - key_state_check_range
    - g_set_error_literal
    - g_variant_type_dup_string
    - _
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void key_state_set_range (KeyState *state, const gchar *min_str,
      const gchar *max_str, GError **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: key_state_check
      Src: /src/glib/gio/glib-compile-schemas.c:652,1
    - Dst: g_assert
      Src: /src/glib/gio/glib-compile-schemas.c:653,1
    - Dst: strlen
      Src: /src/glib/gio/glib-compile-schemas.c:689,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/glib-compile-schemas.c:731,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/glib-compile-schemas.c:719,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/glib-compile-schemas.c:723,1
    - Dst: g_variant_dict_end
      Src: /src/glib/gio/glib-compile-schemas.c:737,1
    - Dst: g_variant_new_from_data
      Src: /src/glib/gio/glib-compile-schemas.c:719,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-schemas.c:693,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/glib-compile-schemas.c:745,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/glib-compile-schemas.c:644,1
    - Dst: g_variant_builder_init_static
      Src: /src/glib/gio/glib-compile-schemas.c:655,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/gio/glib-compile-schemas.c:658,1
    - Dst: g_string_prepend_len
      Src: /src/glib/gio/glib-compile-schemas.c:691,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/glib-compile-schemas.c:697,1
    - Dst: g_string_free_and_steal
      Src: /src/glib/gio/glib-compile-schemas.c:713,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/glib-compile-schemas.c:713,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/glib-compile-schemas.c:736,1
    - Dst: GUINT32_TO_LE
      Src: /src/glib/gio/glib-compile-schemas.c:717,1
    - Dst: g_string_free
      Src: /src/glib/gio/glib-compile-schemas.c:699,1
    - Dst: strip_string
      Src: /src/glib/gio/glib-compile-schemas.c:678,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/glib-compile-schemas.c:742,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/glib-compile-schemas.c:739,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 746
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 746
    functionName: key_state_serialise
    functionSourceFile: /src/glib/gio/glib-compile-schemas.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_variant_new_from_data
    - GUINT32_TO_LE
    - g_variant_builder_init_static
    - strip_string
    - g_string_free_and_steal
    - g_variant_builder_end
    - g_variant_builder_add
    - g_string_prepend_len
    - strlen
    - G_VARIANT_TYPE
    - g_variant_ref_sink
    - g_assert
    - key_state_check
    - g_variant_dict_end
    - g_variant_builder_add_value
    - g_variant_new_string
    - g_string_free
    - g_free
    - g_variant_ref
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *key_state_serialise (KeyState *state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/gio/glib-compile-schemas.c:874,1
    - Dst: g_strdup
      Src: /src/glib/gio/glib-compile-schemas.c:876,1
    - Dst: g_strdup
      Src: /src/glib/gio/glib-compile-schemas.c:879,1
    - Dst: g_strdup
      Src: /src/glib/gio/glib-compile-schemas.c:875,1
    - Dst: g_strdup
      Src: /src/glib/gio/glib-compile-schemas.c:878,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/glib-compile-schemas.c:880,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 884
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 884
    functionName: schema_state_new
    functionSourceFile: /src/glib/gio/glib-compile-schemas.c
    functionUses: []
    functionsReached:
    - g_hash_table_new_full
    - g_strdup
    - g_slice_new
    linkageType: ''
    returnType: SchemaState*
    signature: 'static SchemaState *schema_state_new (const gchar *path, const gchar
      *gettext_domain, SchemaState *extends, const gchar *extends_name, const gchar
      *list_of) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_valid_keyname
      Src: /src/glib/gio/glib-compile-schemas.c:907,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:916,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/glib-compile-schemas.c:912,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:914,1
    - Dst: g_strconcat
      Src: /src/glib/gio/glib-compile-schemas.c:910,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/glib-compile-schemas.c:920,1
    - Dst: key_state_new_child
      Src: /src/glib/gio/glib-compile-schemas.c:921,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 4
    argNames:
    - state
    - name
    - schema
    - error
    argTypes:
    - SchemaState*
    - gchar*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 922
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 922
    functionName: schema_state_add_child
    functionSourceFile: /src/glib/gio/glib-compile-schemas.c
    functionUses: []
    functionsReached:
    - g_set_error
    - is_valid_keyname
    - key_state_new_child
    - g_strconcat
    - g_hash_table_lookup
    - g_hash_table_insert
    - _
    linkageType: ''
    returnType: void
    signature: 'static void schema_state_add_child (SchemaState *state, const gchar
      *name, const gchar *schema, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/glib-compile-schemas.c:1873,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-schemas.c:1877,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/glib-compile-schemas.c:1874,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1880
      start: 1865
    functionDepth: 0
    functionLinenumber: 1865
    functionLinenumberEnd: 1880
    functionName: compare_strings
    functionSourceFile: /src/glib/gio/glib-compile-schemas.c
    functionUses: []
    functionsReached:
    - strcmp
    - g_str_has_suffix
    linkageType: ''
    returnType: gint
    signature: 'static gint compare_strings (gconstpointer a, gconstpointer b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:158,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:160,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - state_ptr
    - error
    argTypes:
    - EnumState**
    - GError**
    constantsTouched: []
    func_position:
      end: 162
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 162
    functionName: enum_state_end
    functionSourceFile: /src/glib/gio/glib-compile-schemas.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    linkageType: ''
    returnType: void
    signature: 'static void enum_state_end (EnumState **state_ptr, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/gio/glib-compile-schemas.c:74,1
    - Dst: g_string_new
      Src: /src/glib/gio/glib-compile-schemas.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 79
    functionName: enum_state_new
    functionSourceFile: /src/glib/gio/glib-compile-schemas.c
    functionUses: []
    functionsReached:
    - g_slice_new
    - g_string_new
    linkageType: ''
    returnType: EnumState*
    signature: 'static EnumState *enum_state_new (gboolean is_flags) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-schemas.c:424,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-schemas.c:427,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glib-compile-schemas.c:440,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:432,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:434,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:442,1
    - Dst: g_strdup
      Src: /src/glib/gio/glib-compile-schemas.c:447,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glib-compile-schemas.c:452,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:454,1
    - Dst: g_string_new
      Src: /src/glib/gio/glib-compile-schemas.c:459,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 460
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 460
    functionName: key_state_start_default
    functionSourceFile: /src/glib/gio/glib-compile-schemas.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_strdup
    - strcmp
    - g_set_error_literal
    - g_string_new
    - _
    linkageType: ''
    returnType: GString*
    signature: 'static GString *key_state_start_default (KeyState *state, const gchar
      *l10n, const gchar *context, GError **error) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-schemas.c:753,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-schemas.c:758,1
    - Dst: g_string_free
      Src: /src/glib/gio/glib-compile-schemas.c:761,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/glib-compile-schemas.c:764,1
    - Dst: g_variant_type_free
      Src: /src/glib/gio/glib-compile-schemas.c:756,1
    - Dst: g_string_free
      Src: /src/glib/gio/glib-compile-schemas.c:767,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/glib-compile-schemas.c:770,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/glib-compile-schemas.c:773,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/glib-compile-schemas.c:776,1
    - Dst: g_variant_dict_unref
      Src: /src/glib/gio/glib-compile-schemas.c:779,1
    - Dst: g_slice_free
      Src: /src/glib/gio/glib-compile-schemas.c:781,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 782
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 782
    functionName: key_state_free
    functionSourceFile: /src/glib/gio/glib-compile-schemas.c
    functionUses: []
    functionsReached:
    - g_variant_dict_unref
    - g_variant_type_free
    - g_variant_unref
    - g_string_free
    - g_slice_free
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void key_state_free (gpointer data) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glib-compile-schemas.c:795,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:806,1
    - Dst: g_ascii_islower
      Src: /src/glib/gio/glib-compile-schemas.c:803,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:805,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:796,1
    - Dst: g_ascii_islower
      Src: /src/glib/gio/glib-compile-schemas.c:814,1
    - Dst: g_ascii_isdigit
      Src: /src/glib/gio/glib-compile-schemas.c:815,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:817,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:818,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:826,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:843,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:835,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:844,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:827,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:836,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 2
    argNames:
    - key
    - error
    argTypes:
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 849
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 849
    functionName: is_valid_keyname
    functionSourceFile: /src/glib/gio/glib-compile-schemas.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_ascii_islower
    - g_set_error_literal
    - _
    - g_ascii_isdigit
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_valid_keyname (const gchar *key, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-schemas.c:891,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-schemas.c:892,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-schemas.c:894,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-schemas.c:893,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/glib-compile-schemas.c:895,1
    - Dst: g_slice_free
      Src: /src/glib/gio/glib-compile-schemas.c:896,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 897
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 897
    functionName: schema_state_free
    functionSourceFile: /src/glib/gio/glib-compile-schemas.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_free
    - g_hash_table_unref
    linkageType: ''
    returnType: void
    signature: 'static void schema_state_free (gpointer data) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: is_valid_keyname
      Src: /src/glib/gio/glib-compile-schemas.c:946,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/glib-compile-schemas.c:962,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:980,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:1001,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:982,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:1016,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/glib-compile-schemas.c:1025,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:971,1
    - Dst: key_state_new
      Src: /src/glib/gio/glib-compile-schemas.c:1023,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/glib-compile-schemas.c:994,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:1014,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/glib-compile-schemas.c:949,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:953,1
    - Dst: g_variant_type_string_is_valid
      Src: /src/glib/gio/glib-compile-schemas.c:1012,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/glib-compile-schemas.c:992,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:999,1
    - Dst: g_strdup
      Src: /src/glib/gio/glib-compile-schemas.c:1025,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glib-compile-schemas.c:940,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:942,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:951,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:969,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 1028
    functionName: schema_state_add_key
    functionSourceFile: /src/glib/gio/glib-compile-schemas.c
    functionUses: []
    functionsReached:
    - g_set_error
    - is_valid_keyname
    - g_strdup
    - g_hash_table_lookup
    - g_variant_type_string_is_valid
    - g_hash_table_insert
    - g_set_error_literal
    - _
    - key_state_new
    linkageType: ''
    returnType: KeyState*
    signature: 'static KeyState *schema_state_add_key (SchemaState *state, GHashTable
      *enum_table, GHashTable *flags_table, const gchar *name, const gchar *type_string,
      const gchar *enum_type, const gchar *flags_type, GError **error) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_new
      Src: /src/glib/gio/glib-compile-schemas.c:1898,1
    - Dst: g_strfreev
      Src: /src/glib/gio/glib-compile-schemas.c:2009,1
    - Dst: fprintf
      Src: /src/glib/gio/glib-compile-schemas.c:2079,1
    - Dst: g_key_file_free
      Src: /src/glib/gio/glib-compile-schemas.c:2081,1
    - Dst: g_strfreev
      Src: /src/glib/gio/glib-compile-schemas.c:2117,1
    - Dst: g_key_file_free
      Src: /src/glib/gio/glib-compile-schemas.c:2147,1
    - Dst: g_strfreev
      Src: /src/glib/gio/glib-compile-schemas.c:1977,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/glib-compile-schemas.c:2058,1
    - Dst: g_strfreev
      Src: /src/glib/gio/glib-compile-schemas.c:2119,1
    - Dst: fprintf
      Src: /src/glib/gio/glib-compile-schemas.c:2069,1
    - Dst: fprintf
      Src: /src/glib/gio/glib-compile-schemas.c:2000,1
    - Dst: g_strsplit
      Src: /src/glib/gio/glib-compile-schemas.c:1927,1
    - Dst: fprintf
      Src: /src/glib/gio/glib-compile-schemas.c:1966,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:2074,1
    - Dst: g_strfreev
      Src: /src/glib/gio/glib-compile-schemas.c:2046,1
    - Dst: g_strfreev
      Src: /src/glib/gio/glib-compile-schemas.c:2084,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:1962,1
    - Dst: fprintf
      Src: /src/glib/gio/glib-compile-schemas.c:1907,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:2001,1
    - Dst: g_strfreev
      Src: /src/glib/gio/glib-compile-schemas.c:2047,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-schemas.c:2095,1
    - Dst: fprintf
      Src: /src/glib/gio/glib-compile-schemas.c:2099,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-schemas.c:2044,1
    - Dst: fprintf
      Src: /src/glib/gio/glib-compile-schemas.c:1991,1
    - Dst: g_strfreev
      Src: /src/glib/gio/glib-compile-schemas.c:2010,1
    - Dst: g_strfreev
      Src: /src/glib/gio/glib-compile-schemas.c:2082,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:2100,1
    - Dst: g_strfreev
      Src: /src/glib/gio/glib-compile-schemas.c:2118,1
    - Dst: g_key_file_get_value
      Src: /src/glib/gio/glib-compile-schemas.c:2015,1
    - Dst: fprintf
      Src: /src/glib/gio/glib-compile-schemas.c:2037,1
    - Dst: fprintf
      Src: /src/glib/gio/glib-compile-schemas.c:2029,1
    - Dst: g_debug
      Src: /src/glib/gio/glib-compile-schemas.c:1896,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/glib-compile-schemas.c:1956,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/glib-compile-schemas.c:1934,1
    - Dst: fprintf
      Src: /src/glib/gio/glib-compile-schemas.c:1970,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:2064,1
    - Dst: is_valid_choices
      Src: /src/glib/gio/glib-compile-schemas.c:2092,1
    - Dst: fprintf
      Src: /src/glib/gio/glib-compile-schemas.c:2109,1
    - Dst: g_assert
      Src: /src/glib/gio/glib-compile-schemas.c:2016,1
    - Dst: g_clear_error
      Src: /src/glib/gio/glib-compile-schemas.c:2031,1
    - Dst: g_variant_dict_insert_value
      Src: /src/glib/gio/glib-compile-schemas.c:2130,1
    - Dst: g_clear_error
      Src: /src/glib/gio/glib-compile-schemas.c:1903,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:1907,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:1970,1
    - Dst: fprintf
      Src: /src/glib/gio/glib-compile-schemas.c:2073,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/glib-compile-schemas.c:2135,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-schemas.c:2139,1
    - Dst: g_strfreev
      Src: /src/glib/gio/glib-compile-schemas.c:2142,1
    - Dst: fprintf
      Src: /src/glib/gio/glib-compile-schemas.c:2063,1
    - Dst: fprintf
      Src: /src/glib/gio/glib-compile-schemas.c:1911,1
    - Dst: fprintf
      Src: /src/glib/gio/glib-compile-schemas.c:1962,1
    - Dst: g_key_file_get_groups
      Src: /src/glib/gio/glib-compile-schemas.c:1915,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:2037,1
    - Dst: g_strfreev
      Src: /src/glib/gio/glib-compile-schemas.c:2048,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:2110,1
    - Dst: fprintf
      Src: /src/glib/gio/glib-compile-schemas.c:2105,1
    - Dst: g_variant_dict_new
      Src: /src/glib/gio/glib-compile-schemas.c:2128,1
    - Dst: g_strfreev
      Src: /src/glib/gio/glib-compile-schemas.c:1978,1
    - Dst: fprintf
      Src: /src/glib/gio/glib-compile-schemas.c:2005,1
    - Dst: g_key_file_load_from_file
      Src: /src/glib/gio/glib-compile-schemas.c:1899,1
    - Dst: fprintf
      Src: /src/glib/gio/glib-compile-schemas.c:1901,1
    - Dst: g_key_file_free
      Src: /src/glib/gio/glib-compile-schemas.c:2007,1
    - Dst: g_variant_compare
      Src: /src/glib/gio/glib-compile-schemas.c:2056,1
    - Dst: g_debug
      Src: /src/glib/gio/glib-compile-schemas.c:1931,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:2025,1
    - Dst: g_key_file_free
      Src: /src/glib/gio/glib-compile-schemas.c:1902,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:1911,1
    - Dst: g_strfreev
      Src: /src/glib/gio/glib-compile-schemas.c:1942,1
    - Dst: fprintf
      Src: /src/glib/gio/glib-compile-schemas.c:2025,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-schemas.c:2032,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/glib-compile-schemas.c:2131,1
    - Dst: g_strfreev
      Src: /src/glib/gio/glib-compile-schemas.c:2143,1
    - Dst: fprintf
      Src: /src/glib/gio/glib-compile-schemas.c:2041,1
    - Dst: fprintf
      Src: /src/glib/gio/glib-compile-schemas.c:1996,1
    - Dst: g_variant_parse
      Src: /src/glib/gio/glib-compile-schemas.c:2018,1
    - Dst: g_key_file_free
      Src: /src/glib/gio/glib-compile-schemas.c:2045,1
    - Dst: g_key_file_get_keys
      Src: /src/glib/gio/glib-compile-schemas.c:1946,1
    - Dst: fprintf
      Src: /src/glib/gio/glib-compile-schemas.c:1974,1
    - Dst: g_key_file_free
      Src: /src/glib/gio/glib-compile-schemas.c:1976,1
    - Dst: g_variant_compare
      Src: /src/glib/gio/glib-compile-schemas.c:2055,1
    - Dst: g_strfreev
      Src: /src/glib/gio/glib-compile-schemas.c:2083,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/glib-compile-schemas.c:2094,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-schemas.c:2059,1
    - Dst: g_assert
      Src: /src/glib/gio/glib-compile-schemas.c:1947,1
    - Dst: g_strfreev
      Src: /src/glib/gio/glib-compile-schemas.c:1979,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:1992,1
    - Dst: g_strfreev
      Src: /src/glib/gio/glib-compile-schemas.c:2008,1
    - Dst: g_clear_error
      Src: /src/glib/gio/glib-compile-schemas.c:2043,1
    - Dst: fprintf
      Src: /src/glib/gio/glib-compile-schemas.c:2115,1
    - Dst: g_key_file_free
      Src: /src/glib/gio/glib-compile-schemas.c:2116,1
    - Dst: g_strfreev
      Src: /src/glib/gio/glib-compile-schemas.c:2146,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 147
    argCount: 3
    argNames:
    - schema_table
    - files
    - strict
    argTypes:
    - GHashTable*
    - gchar**
    - gboolean
    constantsTouched: []
    func_position:
      end: 2151
      start: 1882
    functionDepth: 0
    functionLinenumber: 1882
    functionLinenumberEnd: 2151
    functionName: set_overrides
    functionSourceFile: /src/glib/gio/glib-compile-schemas.c
    functionUses: []
    functionsReached:
    - g_variant_dict_new
    - g_key_file_get_value
    - g_key_file_load_from_file
    - g_strsplit
    - g_key_file_get_groups
    - g_variant_dict_insert_value
    - g_variant_compare
    - fprintf
    - g_hash_table_lookup
    - g_strfreev
    - g_variant_unref
    - g_key_file_get_keys
    - g_key_file_new
    - g_variant_parse
    - is_valid_choices
    - _
    - g_key_file_free
    - g_clear_error
    - g_assert
    - g_debug
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean set_overrides (GHashTable *schema_table, gchar **files,
      gboolean strict) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/gio/glib-compile-schemas.c:232,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/glib-compile-schemas.c:244,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/glib-compile-schemas.c:243,1
    - Dst: g_variant_type_copy
      Src: /src/glib/gio/glib-compile-schemas.c:233,1
    - Dst: g_string_new_len
      Src: /src/glib/gio/glib-compile-schemas.c:235,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 248
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 248
    functionName: key_state_override
    functionSourceFile: /src/glib/gio/glib-compile-schemas.c
    functionUses: []
    functionsReached:
    - g_variant_type_copy
    - g_string_new_len
    - g_variant_ref
    - g_slice_new0
    linkageType: ''
    returnType: KeyState*
    signature: 'static KeyState *key_state_override (KeyState *state, const gchar
      *gettext_domain) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_compare
      Src: /src/glib/gio/glib-compile-schemas.c:311,1
    - Dst: is_valid_choices
      Src: /src/glib/gio/glib-compile-schemas.c:323,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:314,1
    - Dst: g_variant_compare
      Src: /src/glib/gio/glib-compile-schemas.c:312,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:316,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:326,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:328,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:332,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:334,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:338,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:340,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 2
    argNames:
    - state
    - error
    argTypes:
    - KeyState*
    - GError**
    constantsTouched: []
    func_position:
      end: 345
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 345
    functionName: key_state_check_range
    functionSourceFile: /src/glib/gio/glib-compile-schemas.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_variant_compare
    - is_valid_choices
    - _
    linkageType: ''
    returnType: void
    signature: 'static void key_state_check_range (KeyState *state, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strinfo_builder_contains
      Src: /src/glib/gio/glib-compile-schemas.c:526,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:530,1
    - Dst: strinfo_builder_append_item
      Src: /src/glib/gio/glib-compile-schemas.c:534,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:528,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - state
    - choice
    - error
    argTypes:
    - KeyState*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 536
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 536
    functionName: key_state_add_choice
    functionSourceFile: /src/glib/gio/glib-compile-schemas.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - strinfo_builder_append_item
    - strinfo_builder_contains
    linkageType: ''
    returnType: void
    signature: 'static void key_state_add_choice (KeyState *state, const gchar *choice,
      GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glib-compile-schemas.c:1044,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:1046,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:1059,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/glib-compile-schemas.c:1052,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:1057,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/glib-compile-schemas.c:1063,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:1065,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:1067,1
    - Dst: key_state_override
      Src: /src/glib/gio/glib-compile-schemas.c:1071,1
    - Dst: key_state_start_default
      Src: /src/glib/gio/glib-compile-schemas.c:1072,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/glib-compile-schemas.c:1073,1
    - Dst: g_strdup
      Src: /src/glib/gio/glib-compile-schemas.c:1073,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 23
    argCount: 7
    argNames:
    - state
    - key_state
    - string
    - key
    - l10n
    - context
    - error
    argTypes:
    - SchemaState*
    - KeyState**
    - GString**
    - gchar*
    - gchar*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 1074
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1074
    functionName: schema_state_add_override
    functionSourceFile: /src/glib/gio/glib-compile-schemas.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_strdup
    - key_state_start_default
    - key_state_override
    - g_hash_table_lookup
    - g_hash_table_insert
    - g_set_error_literal
    - _
    linkageType: ''
    returnType: void
    signature: 'static void schema_state_add_override (SchemaState *state, KeyState
      **key_state, GString **string, const gchar *key, const gchar *l10n, const gchar
      *context, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gvdb_pair_init
      Src: /src/glib/gio/glib-compile-schemas.c:1755,1
    - Dst: gvdb_table_write_contents
      Src: /src/glib/gio/glib-compile-schemas.c:1759,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/glib-compile-schemas.c:1762,1
    - Dst: g_hash_table_foreach
      Src: /src/glib/gio/glib-compile-schemas.c:1757,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - schema_table
    - filename
    - error
    argTypes:
    - GHashTable*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 1765
      start: 1745
    functionDepth: 0
    functionLinenumber: 1745
    functionLinenumberEnd: 1765
    functionName: write_to_file
    functionSourceFile: /src/glib/gio/glib-compile-schemas.c
    functionUses: []
    functionsReached:
    - g_hash_table_unref
    - g_hash_table_foreach
    - gvdb_pair_init
    - gvdb_table_write_contents
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean write_to_file (GHashTable *schema_table, const gchar
      *filename, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/gio/glib-compile-schemas.c:210,1
    - Dst: g_string_new_len
      Src: /src/glib/gio/glib-compile-schemas.c:219,1
    - Dst: g_string_new
      Src: /src/glib/gio/glib-compile-schemas.c:221,1
    - Dst: g_variant_type_new
      Src: /src/glib/gio/glib-compile-schemas.c:211,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 224
    functionName: key_state_new
    functionSourceFile: /src/glib/gio/glib-compile-schemas.c
    functionUses: []
    functionsReached:
    - g_string_new_len
    - g_string_new
    - g_slice_new0
    - g_variant_type_new
    linkageType: ''
    returnType: KeyState*
    signature: 'static KeyState *key_state_new (const gchar *type_string, const gchar
      *gettext_domain, gboolean is_enum, gboolean is_flags, GString *strinfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/gio/glib-compile-schemas.c:255,1
    - Dst: g_strdup
      Src: /src/glib/gio/glib-compile-schemas.c:256,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 259
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 259
    functionName: key_state_new_child
    functionSourceFile: /src/glib/gio/glib-compile-schemas.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_slice_new0
    linkageType: ''
    returnType: KeyState*
    signature: 'static KeyState *key_state_new_child (const gchar *child_schema) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:544,1
    - Dst: key_state_check_range
      Src: /src/glib/gio/glib-compile-schemas.c:549,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:545,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - state
    - error
    argTypes:
    - KeyState*
    - GError**
    constantsTouched: []
    func_position:
      end: 550
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 550
    functionName: key_state_end_choices
    functionSourceFile: /src/glib/gio/glib-compile-schemas.c
    functionUses: []
    functionsReached:
    - g_set_error
    - key_state_check_range
    - _
    linkageType: ''
    returnType: void
    signature: 'static void key_state_end_choices (KeyState *state, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: key_state_end_default
      Src: /src/glib/gio/glib-compile-schemas.c:1081,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 3
    argNames:
    - key_state
    - string
    - error
    argTypes:
    - KeyState**
    - GString**
    - GError**
    constantsTouched: []
    func_position:
      end: 1083
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1083
    functionName: override_state_end
    functionSourceFile: /src/glib/gio/glib-compile-schemas.c
    functionUses: []
    functionsReached:
    - key_state_end_default
    linkageType: ''
    returnType: void
    signature: 'static void override_state_end (KeyState **key_state, GString **string,
      GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_classify
      Src: /src/glib/gio/glib-compile-schemas.c:265,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/glib-compile-schemas.c:278,1
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/glib-compile-schemas.c:273,1
    - Dst: is_valid_choices
      Src: /src/glib/gio/glib-compile-schemas.c:277,1
    - Dst: g_variant_iter_next_value
      Src: /src/glib/gio/glib-compile-schemas.c:275,1
    - Dst: strinfo_is_string_valid
      Src: /src/glib/gio/glib-compile-schemas.c:285,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/glib-compile-schemas.c:287,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/glib-compile-schemas.c:290,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 2
    argNames:
    - variant
    - strinfo
    argTypes:
    - GVariant*
    - GString*
    constantsTouched: []
    func_position:
      end: 292
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 292
    functionName: is_valid_choices
    functionSourceFile: /src/glib/gio/glib-compile-schemas.c
    functionUses: []
    functionsReached:
    - g_variant_iter_init
    - g_assert_not_reached
    - g_variant_get_string
    - g_variant_unref
    - g_variant_iter_next_value
    - is_valid_choices
    - g_variant_classify
    - strinfo_is_string_valid
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_valid_choices (GVariant *variant, GString *strinfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:621,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:622,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - state
    - error
    argTypes:
    - KeyState*
    - GError**
    constantsTouched: []
    func_position:
      end: 625
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 625
    functionName: key_state_end_aliases
    functionSourceFile: /src/glib/gio/glib-compile-schemas.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    linkageType: ''
    returnType: void
    signature: 'static void key_state_end_aliases (KeyState *state, GError **error) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:1138,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/glib-compile-schemas.c:1146,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:1166,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:1196,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/glib-compile-schemas.c:1227,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-schemas.c:1244,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/glib-compile-schemas.c:1252,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:1150,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:1185,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:1206,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:1204,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:1186,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:1229,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:1230,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/glib-compile-schemas.c:1234,1
    - Dst: schema_state_new
      Src: /src/glib/gio/glib-compile-schemas.c:1247,1
    - Dst: g_strdup
      Src: /src/glib/gio/glib-compile-schemas.c:1250,1
    - Dst: g_slist_prepend
      Src: /src/glib/gio/glib-compile-schemas.c:1251,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/glib-compile-schemas.c:1164,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:1168,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/glib-compile-schemas.c:1220,1
    - Dst: is_subclass
      Src: /src/glib/gio/glib-compile-schemas.c:1202,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:1194,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:1222,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:1223,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/glib-compile-schemas.c:1235,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/glib-compile-schemas.c:1236,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:1239,1
    - Dst: g_printerr
      Src: /src/glib/gio/glib-compile-schemas.c:1243,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/glib-compile-schemas.c:1136,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:1140,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:1152,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:1175,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:1176,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/glib-compile-schemas.c:1220,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/glib-compile-schemas.c:1239,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 72
    argCount: 7
    argNames:
    - state
    - id
    - path
    - gettext_domain
    - extends_name
    - list_of
    - error
    argTypes:
    - ParseState*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 1253
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1253
    functionName: parse_state_start_schema
    functionSourceFile: /src/glib/gio/glib-compile-schemas.c
    functionUses: []
    functionsReached:
    - g_set_error
    - schema_state_new
    - g_strdup_printf
    - g_printerr
    - g_strdup
    - g_str_has_suffix
    - is_subclass
    - g_hash_table_lookup
    - g_hash_table_insert
    - g_str_has_prefix
    - g_slist_prepend
    - _
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void parse_state_start_schema (ParseState *state, const gchar
      *id, const gchar *path, const gchar *gettext_domain, const gchar *extends_name,
      const gchar *list_of, GError **error) '
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: COLLECT
      Src: /src/glib/gio/glib-compile-schemas.c:1313,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-schemas.c:1324,1
    - Dst: schema_state_add_key
      Src: /src/glib/gio/glib-compile-schemas.c:1369,1
    - Dst: COLLECT
      Src: /src/glib/gio/glib-compile-schemas.c:1381,1
    - Dst: COLLECT
      Src: /src/glib/gio/glib-compile-schemas.c:1350,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-schemas.c:1347,1
    - Dst: parse_state_start_enum
      Src: /src/glib/gio/glib-compile-schemas.c:1351,1
    - Dst: COLLECT
      Src: /src/glib/gio/glib-compile-schemas.c:1364,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-schemas.c:1377,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-schemas.c:1386,1
    - Dst: key_state_add_alias
      Src: /src/glib/gio/glib-compile-schemas.c:1490,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-schemas.c:1429,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-schemas.c:1500,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-schemas.c:1322,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-schemas.c:1311,1
    - Dst: COLLECT
      Src: /src/glib/gio/glib-compile-schemas.c:1390,1
    - Dst: schema_state_add_override
      Src: /src/glib/gio/glib-compile-schemas.c:1393,1
    - Dst: key_state_start_default
      Src: /src/glib/gio/glib-compile-schemas.c:1408,1
    - Dst: NO_ATTRS
      Src: /src/glib/gio/glib-compile-schemas.c:1415,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:1418,1
    - Dst: g_string_new
      Src: /src/glib/gio/glib-compile-schemas.c:1422,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-schemas.c:1445,1
    - Dst: NO_ATTRS
      Src: /src/glib/gio/glib-compile-schemas.c:1456,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-schemas.c:1473,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-schemas.c:1484,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:1513,1
    - Dst: COLLECT
      Src: /src/glib/gio/glib-compile-schemas.c:1448,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-schemas.c:1461,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-schemas.c:1497,1
    - Dst: COLLECT
      Src: /src/glib/gio/glib-compile-schemas.c:1503,1
    - Dst: parse_state_start_schema
      Src: /src/glib/gio/glib-compile-schemas.c:1332,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-schemas.c:1360,1
    - Dst: NO_ATTRS
      Src: /src/glib/gio/glib-compile-schemas.c:1431,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:1434,1
    - Dst: g_string_new
      Src: /src/glib/gio/glib-compile-schemas.c:1438,1
    - Dst: key_state_set_range
      Src: /src/glib/gio/glib-compile-schemas.c:1450,1
    - Dst: key_state_start_choices
      Src: /src/glib/gio/glib-compile-schemas.c:1457,1
    - Dst: NO_ATTRS
      Src: /src/glib/gio/glib-compile-schemas.c:1463,1
    - Dst: key_state_add_choice
      Src: /src/glib/gio/glib-compile-schemas.c:1477,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-schemas.c:1486,1
    - Dst: COLLECT
      Src: /src/glib/gio/glib-compile-schemas.c:1489,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:1512,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-schemas.c:1401,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:1435,1
    - Dst: g_markup_parse_context_get_element_stack
      Src: /src/glib/gio/glib-compile-schemas.c:1296,1
    - Dst: COLLECT
      Src: /src/glib/gio/glib-compile-schemas.c:1327,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-schemas.c:1339,1
    - Dst: COLLECT
      Src: /src/glib/gio/glib-compile-schemas.c:1342,1
    - Dst: parse_state_start_enum
      Src: /src/glib/gio/glib-compile-schemas.c:1343,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-schemas.c:1358,1
    - Dst: schema_state_add_child
      Src: /src/glib/gio/glib-compile-schemas.c:1382,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-schemas.c:1403,1
    - Dst: COLLECT
      Src: /src/glib/gio/glib-compile-schemas.c:1406,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-schemas.c:1413,1
    - Dst: key_state_start_aliases
      Src: /src/glib/gio/glib-compile-schemas.c:1464,1
    - Dst: COLLECT
      Src: /src/glib/gio/glib-compile-schemas.c:1476,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-schemas.c:1454,1
    - Dst: enum_state_add_value
      Src: /src/glib/gio/glib-compile-schemas.c:1505,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-schemas.c:1471,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:1419,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:1516,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-schemas.c:1498,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:1517,1
    CyclomaticComplexity: 81
    EdgeCount: 81
    ICount: 138
    argCount: 6
    argNames:
    - context
    - element_name
    - attribute_names
    - attribute_values
    - user_data
    - error
    argTypes:
    - GMarkupParseContext*
    - gchar*
    - gchar**
    - gchar**
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 1518
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1518
    functionName: start_element
    functionSourceFile: /src/glib/gio/glib-compile-schemas.c
    functionUses: []
    functionsReached:
    - strcmp
    - key_state_set_range
    - key_state_add_choice
    - schema_state_add_key
    - schema_state_add_child
    - parse_state_start_schema
    - key_state_start_choices
    - NO_ATTRS
    - enum_state_add_value
    - g_set_error
    - COLLECT
    - g_string_new
    - _
    - key_state_add_alias
    - key_state_start_default
    - g_markup_parse_context_get_element_stack
    - schema_state_add_override
    - parse_state_start_enum
    - key_state_start_aliases
    linkageType: ''
    returnType: void
    signature: 'static void start_element (GMarkupParseContext *context, const gchar
      *element_name, const gchar **attribute_names, const gchar **attribute_values,
      gpointer user_data, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gvdb_hash_table_insert
      Src: /src/glib/gio/glib-compile-schemas.c:1680,1
    - Dst: gvdb_item_set_parent
      Src: /src/glib/gio/glib-compile-schemas.c:1681,1
    - Dst: key_state_serialise
      Src: /src/glib/gio/glib-compile-schemas.c:1682,1
    - Dst: gvdb_item_set_value
      Src: /src/glib/gio/glib-compile-schemas.c:1683,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/glib-compile-schemas.c:1684,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/glib-compile-schemas.c:1690,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/glib-compile-schemas.c:1693,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:1693,1
    - Dst: g_printerr
      Src: /src/glib/gio/glib-compile-schemas.c:1695,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-schemas.c:1696,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - key
    - value
    - user_data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1698
      start: 1665
    functionDepth: 0
    functionLinenumber: 1665
    functionLinenumberEnd: 1698
    functionName: output_key
    functionSourceFile: /src/glib/gio/glib-compile-schemas.c
    functionUses: []
    functionsReached:
    - gvdb_hash_table_insert
    - g_strdup_printf
    - g_printerr
    - g_hash_table_lookup
    - g_free
    - g_variant_unref
    - key_state_serialise
    - _
    - gvdb_item_set_value
    - gvdb_item_set_parent
    linkageType: ''
    returnType: void
    signature: 'static void output_key (gpointer key, gpointer value, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - state
    - error
    argTypes:
    - KeyState*
    - GError**
    constantsTouched: []
    func_position:
      end: 635
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 635
    functionName: key_state_check
    functionSourceFile: /src/glib/gio/glib-compile-schemas.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean key_state_check (KeyState *state, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-schemas.c:1114,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/glib-compile-schemas.c:1117,1
    - Dst: is_subclass
      Src: /src/glib/gio/glib-compile-schemas.c:1121,1
    - Dst: g_assert
      Src: /src/glib/gio/glib-compile-schemas.c:1118,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - class_name
    - possible_parent
    - schema_table
    argTypes:
    - gchar*
    - gchar*
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 1122
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1122
    functionName: is_subclass
    functionSourceFile: /src/glib/gio/glib-compile-schemas.c
    functionUses: []
    functionsReached:
    - g_assert
    - is_subclass
    - strcmp
    - g_hash_table_lookup
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_subclass (const gchar *class_name, const gchar
      *possible_parent, GHashTable *schema_table) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/glib-compile-schemas.c:1265,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-schemas.c:1267,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:1269,1
    - Dst: enum_state_new
      Src: /src/glib/gio/glib-compile-schemas.c:1274,1
    - Dst: g_strdup
      Src: /src/glib/gio/glib-compile-schemas.c:1276,1
    - Dst: g_slist_prepend
      Src: /src/glib/gio/glib-compile-schemas.c:1277,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/glib-compile-schemas.c:1278,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 4
    argNames:
    - state
    - id
    - is_flags
    - error
    argTypes:
    - ParseState*
    - gchar*
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 1279
      start: 1255
    functionDepth: 0
    functionLinenumber: 1255
    functionLinenumberEnd: 1279
    functionName: parse_state_start_enum
    functionSourceFile: /src/glib/gio/glib-compile-schemas.c
    functionUses: []
    functionsReached:
    - g_set_error
    - enum_state_new
    - g_strdup
    - g_hash_table_lookup
    - g_hash_table_insert
    - _
    - g_slist_prepend
    linkageType: ''
    returnType: void
    signature: 'static void parse_state_start_enum (ParseState *state, const gchar
      *id, gboolean is_flags, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gvdb_pair_init
      Src: /src/glib/gio/glib-compile-schemas.c:1717,1
    - Dst: gvdb_hash_table_insert
      Src: /src/glib/gio/glib-compile-schemas.c:1720,1
    - Dst: g_hash_table_foreach
      Src: /src/glib/gio/glib-compile-schemas.c:1724,1
    - Dst: gvdb_item_set_parent
      Src: /src/glib/gio/glib-compile-schemas.c:1721,1
    - Dst: gvdb_item_set_hash_table
      Src: /src/glib/gio/glib-compile-schemas.c:1722,1
    - Dst: gvdb_hash_table_insert_string
      Src: /src/glib/gio/glib-compile-schemas.c:1727,1
    - Dst: gvdb_hash_table_insert_string
      Src: /src/glib/gio/glib-compile-schemas.c:1730,1
    - Dst: gvdb_hash_table_insert_string
      Src: /src/glib/gio/glib-compile-schemas.c:1734,1
    - Dst: gvdb_hash_table_insert_string
      Src: /src/glib/gio/glib-compile-schemas.c:1738,1
    - Dst: gvdb_pair_clear
      Src: /src/glib/gio/glib-compile-schemas.c:1742,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 3
    argNames:
    - key
    - value
    - user_data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1743
      start: 1700
    functionDepth: 0
    functionLinenumber: 1700
    functionLinenumberEnd: 1743
    functionName: output_schema
    functionSourceFile: /src/glib/gio/glib-compile-schemas.c
    functionUses: []
    functionsReached:
    - gvdb_hash_table_insert
    - gvdb_item_set_parent
    - gvdb_pair_clear
    - gvdb_pair_init
    - gvdb_hash_table_insert_string
    - g_hash_table_foreach
    - gvdb_item_set_hash_table
    linkageType: ''
    returnType: void
    signature: 'static void output_schema (gpointer key, gpointer value, gpointer
      user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/glib-compile-schemas.c:1779,1
    - Dst: g_clear_error
      Src: /src/glib/gio/glib-compile-schemas.c:1827,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/glib-compile-schemas.c:1822,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/glib-compile-schemas.c:1836,1
    - Dst: g_markup_parse_context_free
      Src: /src/glib/gio/glib-compile-schemas.c:1850,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/glib-compile-schemas.c:1859,1
    - Dst: g_file_get_contents
      Src: /src/glib/gio/glib-compile-schemas.c:1795,1
    - Dst: g_markup_parse_context_parse
      Src: /src/glib/gio/glib-compile-schemas.c:1809,1
    - Dst: fprintf
      Src: /src/glib/gio/glib-compile-schemas.c:1826,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:1832,1
    - Dst: fprintf
      Src: /src/glib/gio/glib-compile-schemas.c:1832,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/glib-compile-schemas.c:1785,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/glib-compile-schemas.c:1835,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/glib-compile-schemas.c:1834,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-schemas.c:1838,1
    - Dst: fprintf
      Src: /src/glib/gio/glib-compile-schemas.c:1844,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-schemas.c:1844,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-schemas.c:1849,1
    - Dst: g_slist_free
      Src: /src/glib/gio/glib-compile-schemas.c:1851,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/glib-compile-schemas.c:1782,1
    - Dst: fprintf
      Src: /src/glib/gio/glib-compile-schemas.c:1797,1
    - Dst: g_clear_error
      Src: /src/glib/gio/glib-compile-schemas.c:1798,1
    - Dst: g_markup_parse_context_new
      Src: /src/glib/gio/glib-compile-schemas.c:1802,1
    - Dst: g_markup_parse_context_end_parse
      Src: /src/glib/gio/glib-compile-schemas.c:1810,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/glib-compile-schemas.c:1816,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/glib-compile-schemas.c:1819,1
    - Dst: g_markup_parse_context_get_position
      Src: /src/glib/gio/glib-compile-schemas.c:1825,1
    - Dst: g_slist_free
      Src: /src/glib/gio/glib-compile-schemas.c:1852,1
    - Dst: g_slist_free
      Src: /src/glib/gio/glib-compile-schemas.c:1853,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/glib-compile-schemas.c:1860,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1863
      start: 1768
    functionDepth: 0
    functionLinenumber: 1768
    functionLinenumberEnd: 1863
    functionName: parse_gschema_files
    functionSourceFile: /src/glib/gio/glib-compile-schemas.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_markup_parse_context_get_position
    - g_markup_parse_context_end_parse
    - fprintf
    - g_hash_table_remove
    - g_hash_table_unref
    - g_file_get_contents
    - g_hash_table_new_full
    - g_markup_parse_context_new
    - g_slist_free
    - _
    - g_markup_parse_context_parse
    - g_markup_parse_context_free
    - g_free
    linkageType: ''
    returnType: GHashTable*
    signature: 'static GHashTable *parse_gschema_files (gchar **files, gboolean strict) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_INET_ADDRESS_MASK
      Src: /src/glib/gio/ginetaddressmask.c:70,1
    - Dst: g_object_unref
      Src: /src/glib/gio/ginetaddressmask.c:76,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/ginetaddressmask.c:85,1
    - Dst: g_value_get_uint
      Src: /src/glib/gio/ginetaddressmask.c:81,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/ginetaddressmask.c:77,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 89
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 89
    functionName: g_inet_address_mask_set_property
    functionSourceFile: /src/glib/gio/ginetaddressmask.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_object_unref
    - G_INET_ADDRESS_MASK
    - g_value_get_uint
    - g_value_dup_object
    linkageType: ''
    returnType: void
    signature: "static void g_inet_address_mask_set_property (GObject *object,\t\t\
      \t\t guint prop_id,\t\t\t\t const GValue *value,\t\t\t\t GParamSpec *pspec) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: G_INET_ADDRESS_MASK
      Src: /src/glib/gio/ginetaddressmask.c:183,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/ginetaddressmask.c:190,1
    - Dst: g_set_error
      Src: /src/glib/gio/ginetaddressmask.c:198,1
    - Dst: _
      Src: /src/glib/gio/ginetaddressmask.c:191,1
    - Dst: g_inet_address_get_native_size
      Src: /src/glib/gio/ginetaddressmask.c:195,1
    - Dst: _
      Src: /src/glib/gio/ginetaddressmask.c:199,1
    - Dst: g_inet_address_to_bytes
      Src: /src/glib/gio/ginetaddressmask.c:205,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/ginetaddressmask.c:231,1
    - Dst: _
      Src: /src/glib/gio/ginetaddressmask.c:232,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 3
    argNames:
    - initable
    - cancellable
    - error
    argTypes:
    - GInitable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 237
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 237
    functionName: g_inet_address_mask_initable_init
    functionSourceFile: /src/glib/gio/ginetaddressmask.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_inet_address_get_native_size
    - g_inet_address_to_bytes
    - G_INET_ADDRESS_MASK
    - g_set_error_literal
    - _
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_inet_address_mask_initable_init (GInitable *initable,\t\
      \t\t\t GCancellable *cancellable,\t\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_INET_ADDRESS_MASK
      Src: /src/glib/gio/ginetaddressmask.c:121,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/ginetaddressmask.c:125,1
    - Dst: g_clear_object
      Src: /src/glib/gio/ginetaddressmask.c:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 126
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 126
    functionName: g_inet_address_mask_dispose
    functionSourceFile: /src/glib/gio/ginetaddressmask.c
    functionUses: []
    functionsReached:
    - G_INET_ADDRESS_MASK
    - g_clear_object
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_inet_address_mask_dispose (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_initable_new
      Src: /src/glib/gio/ginetaddressmask.c:269,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 273
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 273
    functionName: g_inet_address_mask_new
    functionSourceFile: /src/glib/gio/ginetaddressmask.c
    functionUses: []
    functionsReached:
    - g_initable_new
    linkageType: ''
    returnType: GInetAddressMask*
    signature: "GInetAddressMask *g_inet_address_mask_new (GInetAddress *addr,\t\t\
      \t guint length,\t\t\t GError **error) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/glib/gio/ginetaddressmask.c:299,1
    - Dst: strtoul
      Src: /src/glib/gio/ginetaddressmask.c:304,1
    - Dst: g_strndup
      Src: /src/glib/gio/ginetaddressmask.c:314,1
    - Dst: g_set_error
      Src: /src/glib/gio/ginetaddressmask.c:308,1
    - Dst: _
      Src: /src/glib/gio/ginetaddressmask.c:309,1
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/ginetaddressmask.c:315,1
    - Dst: g_free
      Src: /src/glib/gio/ginetaddressmask.c:316,1
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/ginetaddressmask.c:323,1
    - Dst: g_inet_address_get_native_size
      Src: /src/glib/gio/ginetaddressmask.c:327,1
    - Dst: g_inet_address_mask_new
      Src: /src/glib/gio/ginetaddressmask.c:330,1
    - Dst: g_object_unref
      Src: /src/glib/gio/ginetaddressmask.c:331,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 334
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 334
    functionName: g_inet_address_mask_new_from_string
    functionSourceFile: /src/glib/gio/ginetaddressmask.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_inet_address_get_native_size
    - g_inet_address_mask_new
    - g_object_unref
    - g_strndup
    - strchr
    - _
    - g_free
    - g_inet_address_new_from_string
    - strtoul
    linkageType: ''
    returnType: GInetAddressMask*
    signature: "GInetAddressMask *g_inet_address_mask_new_from_string (const gchar\
      \ *mask_string,\t\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginetaddressmask.c:395,1
    - Dst: G_IS_INET_ADDRESS_MASK
      Src: /src/glib/gio/ginetaddressmask.c:395,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 398
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 398
    functionName: g_inet_address_mask_get_address
    functionSourceFile: /src/glib/gio/ginetaddressmask.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_INET_ADDRESS_MASK
    linkageType: ''
    returnType: GInetAddress*
    signature: 'GInetAddress *g_inet_address_mask_get_address (GInetAddressMask *mask) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginetaddressmask.c:437,1
    - Dst: g_inet_address_get_family
      Src: /src/glib/gio/ginetaddressmask.c:440,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginetaddressmask.c:438,1
    - Dst: G_IS_INET_ADDRESS_MASK
      Src: /src/glib/gio/ginetaddressmask.c:437,1
    - Dst: G_IS_INET_ADDRESS
      Src: /src/glib/gio/ginetaddressmask.c:438,1
    - Dst: g_inet_address_get_family
      Src: /src/glib/gio/ginetaddressmask.c:441,1
    - Dst: g_inet_address_to_bytes
      Src: /src/glib/gio/ginetaddressmask.c:447,1
    - Dst: g_inet_address_to_bytes
      Src: /src/glib/gio/ginetaddressmask.c:448,1
    - Dst: memcmp
      Src: /src/glib/gio/ginetaddressmask.c:451,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - mask
    - address
    argTypes:
    - GInetAddressMask*
    - GInetAddress*
    constantsTouched: []
    func_position:
      end: 459
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 459
    functionName: g_inet_address_mask_matches
    functionSourceFile: /src/glib/gio/ginetaddressmask.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_inet_address_to_bytes
    - g_inet_address_get_family
    - G_IS_INET_ADDRESS
    - G_IS_INET_ADDRESS_MASK
    - memcmp
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_inet_address_mask_matches (GInetAddressMask *mask,\t\t\t\
      \ GInetAddress *address) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginetaddressmask.c:477,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginetaddressmask.c:478,1
    - Dst: g_inet_address_equal
      Src: /src/glib/gio/ginetaddressmask.c:481,1
    - Dst: G_IS_INET_ADDRESS_MASK
      Src: /src/glib/gio/ginetaddressmask.c:478,1
    - Dst: G_IS_INET_ADDRESS_MASK
      Src: /src/glib/gio/ginetaddressmask.c:477,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - mask
    - mask2
    argTypes:
    - GInetAddressMask*
    - GInetAddressMask*
    constantsTouched: []
    func_position:
      end: 482
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 482
    functionName: g_inet_address_mask_equal
    functionSourceFile: /src/glib/gio/ginetaddressmask.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_INET_ADDRESS_MASK
    - g_inet_address_equal
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_inet_address_mask_equal (GInetAddressMask *mask,\t\t\t\
      \ GInetAddressMask *mask2) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/ginetaddressmask.c:131,1
    - Dst: g_param_spec_enum
      Src: /src/glib/gio/ginetaddressmask.c:145,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/ginetaddressmask.c:158,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/ginetaddressmask.c:159,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/ginetaddressmask.c:144,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/ginetaddressmask.c:171,1
    - Dst: g_param_spec_uint
      Src: /src/glib/gio/ginetaddressmask.c:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GInetAddressMaskClass*
    constantsTouched: []
    func_position:
      end: 176
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 176
    functionName: g_inet_address_mask_class_init
    functionSourceFile: /src/glib/gio/ginetaddressmask.c
    functionUses: []
    functionsReached:
    - g_param_spec_object
    - g_object_class_install_property
    - G_OBJECT_CLASS
    - g_param_spec_enum
    - g_param_spec_uint
    linkageType: ''
    returnType: void
    signature: 'static void g_inet_address_mask_class_init (GInetAddressMaskClass
      *klass) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_INET_ADDRESS_MASK
      Src: /src/glib/gio/ginetaddressmask.c:97,1
    - Dst: g_value_set_uint
      Src: /src/glib/gio/ginetaddressmask.c:110,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/ginetaddressmask.c:106,1
    - Dst: g_value_set_enum
      Src: /src/glib/gio/ginetaddressmask.c:102,1
    - Dst: g_inet_address_get_family
      Src: /src/glib/gio/ginetaddressmask.c:102,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/ginetaddressmask.c:114,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 116
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 116
    functionName: g_inet_address_mask_get_property
    functionSourceFile: /src/glib/gio/ginetaddressmask.c
    functionUses: []
    functionsReached:
    - g_value_set_enum
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_uint
    - G_INET_ADDRESS_MASK
    - g_value_set_object
    - g_inet_address_get_family
    linkageType: ''
    returnType: void
    signature: "static void g_inet_address_mask_get_property (GObject *object,\t\t\
      \t\t guint prop_id,\t\t\t\t GValue *value,\t\t\t\t GParamSpec *pspec) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GInitableIface*
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: g_inet_address_mask_initable_iface_init
    functionSourceFile: /src/glib/gio/ginetaddressmask.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_inet_address_mask_initable_iface_init (GInitableIface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_inet_address_mask_get_instance_private
      Src: /src/glib/gio/ginetaddressmask.c:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - mask
    argTypes:
    - GInetAddressMask*
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: g_inet_address_mask_init
    functionSourceFile: /src/glib/gio/ginetaddressmask.c
    functionUses: []
    functionsReached:
    - g_inet_address_mask_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_inet_address_mask_init (GInetAddressMask *mask) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginetaddressmask.c:351,1
    - Dst: G_IS_INET_ADDRESS_MASK
      Src: /src/glib/gio/ginetaddressmask.c:351,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/ginetaddressmask.c:358,1
    - Dst: g_inet_address_to_string
      Src: /src/glib/gio/ginetaddressmask.c:353,1
    - Dst: g_inet_address_get_native_size
      Src: /src/glib/gio/ginetaddressmask.c:355,1
    - Dst: g_free
      Src: /src/glib/gio/ginetaddressmask.c:359,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 362
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 362
    functionName: g_inet_address_mask_to_string
    functionSourceFile: /src/glib/gio/ginetaddressmask.c
    functionUses: []
    functionsReached:
    - g_inet_address_get_native_size
    - g_return_val_if_fail
    - g_strdup_printf
    - g_inet_address_to_string
    - g_free
    - G_IS_INET_ADDRESS_MASK
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_inet_address_mask_to_string (GInetAddressMask *mask) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginetaddressmask.c:377,1
    - Dst: G_IS_INET_ADDRESS_MASK
      Src: /src/glib/gio/ginetaddressmask.c:377,1
    - Dst: g_inet_address_get_family
      Src: /src/glib/gio/ginetaddressmask.c:379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - mask
    argTypes:
    - GInetAddressMask*
    constantsTouched: []
    func_position:
      end: 380
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 380
    functionName: g_inet_address_mask_get_family
    functionSourceFile: /src/glib/gio/ginetaddressmask.c
    functionUses: []
    functionsReached:
    - g_inet_address_get_family
    - g_return_val_if_fail
    - G_IS_INET_ADDRESS_MASK
    linkageType: ''
    returnType: GSocketFamily
    signature: 'GSocketFamily g_inet_address_mask_get_family (GInetAddressMask *mask) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginetaddressmask.c:413,1
    - Dst: G_IS_INET_ADDRESS_MASK
      Src: /src/glib/gio/ginetaddressmask.c:413,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - mask
    argTypes:
    - GInetAddressMask*
    constantsTouched: []
    func_position:
      end: 416
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 416
    functionName: g_inet_address_mask_get_length
    functionSourceFile: /src/glib/gio/ginetaddressmask.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_INET_ADDRESS_MASK
    linkageType: ''
    returnType: guint
    signature: 'guint g_inet_address_mask_get_length (GInetAddressMask *mask) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_OBJECT_MANAGER_SERVER
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:144,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:150,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:151,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:155,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:149,1
    - Dst: g_dbus_object_manager_get_object_path
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:155,1
    - Dst: G_DBUS_OBJECT_MANAGER
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:155,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:159,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 162
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 162
    functionName: g_dbus_object_manager_server_get_property
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - G_DBUS_OBJECT_MANAGER_SERVER
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_dbus_object_manager_get_object_path
    - g_mutex_unlock
    - g_mutex_lock
    - g_value_set_string
    - g_value_set_object
    - G_DBUS_OBJECT_MANAGER
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_object_manager_server_get_property (GObject *object,
      guint prop_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:197,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:211,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:228,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:213,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:226,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GDBusObjectManagerServerClass*
    constantsTouched: []
    func_position:
      end: 234
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 234
    functionName: g_dbus_object_manager_server_class_init
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - g_param_spec_string
    - g_param_spec_object
    - g_object_class_install_property
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_object_manager_server_class_init (GDBusObjectManagerServerClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:428,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:430,1
    - Dst: registration_data_unexport_interface
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:429,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:429,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - object
    - interface
    - user_data
    argTypes:
    - GDBusObject*
    - GDBusInterface*
    - gpointer
    constantsTouched: []
    func_position:
      end: 431
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 431
    functionName: on_interface_removed
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - registration_data_unexport_interface
    - G_DBUS_INTERFACE_SKELETON
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void on_interface_removed (GDBusObject *object, GDBusInterface
      *interface, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_object_manager_server_get_instance_private
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:239,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:241,1
    - Dst: g_mutex_init
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - manager
    argTypes:
    - GDBusObjectManagerServer*
    constantsTouched: []
    func_position:
      end: 245
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 245
    functionName: g_dbus_object_manager_server_init
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - g_mutex_init
    - g_hash_table_new_full
    - g_dbus_object_manager_server_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_object_manager_server_init (GDBusObjectManagerServer
      *manager) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_OBJECT_MANAGER_SERVER
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:170,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:180,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:179,1
    - Dst: g_value_get_object
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:175,1
    - Dst: g_dbus_object_manager_server_set_connection
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:175,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:180,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:180,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:181,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:182,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:183,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:185,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:189,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 192
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 192
    functionName: g_dbus_object_manager_server_set_property
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - G_DBUS_OBJECT_MANAGER_SERVER
    - g_dbus_object_manager_server_set_connection
    - g_strdup
    - g_value_dup_string
    - g_strdup_printf
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_assert
    - g_value_get_string
    - g_variant_is_object_path
    - g_value_get_object
    - g_str_equal
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_object_manager_server_set_property (GObject *object,
      guint prop_id, const GValue *value, GParamSpec *pspec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:869,1
    - Dst: g_variant_builder_init_static
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:880,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:881,1
    - Dst: g_dbus_interface_skeleton_get_properties
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:884,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:885,1
    - Dst: g_dbus_interface_skeleton_get_info
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:886,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:909,1
    - Dst: G_DBUS_OBJECT_MANAGER_SERVER
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:862,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:871,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:873,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:898,1
    - Dst: g_variant_builder_init_static
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:871,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:867,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:872,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:888,1
    - Dst: G_DBUS_OBJECT
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:890,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:891,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:897,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:903,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:880,1
    - Dst: g_dbus_object_get_object_path
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:890,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:882,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 8
    argNames:
    - connection
    - sender
    - object_path
    - interface_name
    - method_name
    - parameters
    - invocation
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GVariant*
    - GDBusMethodInvocation*
    - gpointer
    constantsTouched: []
    func_position:
      end: 910
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 910
    functionName: manager_method_call
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - G_DBUS_OBJECT_MANAGER_SERVER
    - g_hash_table_iter_init
    - G_DBUS_OBJECT
    - g_mutex_lock
    - g_dbus_interface_skeleton_get_info
    - g_dbus_object_get_object_path
    - g_mutex_unlock
    - g_variant_builder_init_static
    - g_dbus_method_invocation_return_error
    - g_variant_unref
    - g_dbus_method_invocation_return_value
    - g_dbus_interface_skeleton_get_properties
    - g_variant_new
    - g_strcmp0
    - g_variant_builder_add
    - G_VARIANT_TYPE
    - g_hash_table_iter_next
    linkageType: ''
    returnType: void
    signature: 'static void manager_method_call (GDBusConnection *connection, const
      gchar *sender, const gchar *object_path, const gchar *interface_name, const
      gchar *method_name, GVariant *parameters, GDBusMethodInvocation *invocation,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:416,1
    - Dst: G_DBUS_OBJECT
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:417,1
    - Dst: registration_data_export_interface
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:418,1
    - Dst: g_dbus_object_get_object_path
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:417,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:418,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:419,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - object
    - interface
    - user_data
    argTypes:
    - GDBusObject*
    - GDBusInterface*
    - gpointer
    constantsTouched: []
    func_position:
      end: 420
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 420
    functionName: on_interface_added
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - G_DBUS_OBJECT
    - g_mutex_lock
    - g_mutex_unlock
    - g_dbus_object_get_object_path
    - G_DBUS_INTERFACE_SKELETON
    - registration_data_export_interface
    linkageType: ''
    returnType: void
    signature: 'static void on_interface_added (GDBusObject *object, GDBusInterface
      *interface, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:266,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:266,1
    - Dst: G_DBUS_OBJECT_MANAGER_SERVER
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:267,1
    - Dst: g_object_new
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 270
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 270
    functionName: g_dbus_object_manager_server_new
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - g_variant_is_object_path
    - g_return_val_if_fail
    - G_DBUS_OBJECT_MANAGER_SERVER
    - g_object_new
    linkageType: ''
    returnType: GDBusObjectManagerServer*
    signature: 'GDBusObjectManagerServer *g_dbus_object_manager_server_new (const
      gchar *object_path) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_interface_skeleton_get_info
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:346,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:364,1
    - Dst: g_dbus_interface_skeleton_export
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:350,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:360,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:355,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:364,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:365,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:367,1
    - Dst: g_dbus_object_manager_server_emit_interfaces_added
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:376,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - data
    - interface_skeleton
    - object_path
    argTypes:
    - RegistrationData*
    - GDBusInterfaceSkeleton*
    - gchar*
    constantsTouched: []
    func_position:
      end: 378
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 378
    functionName: registration_data_export_interface
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - g_warning
    - g_dbus_object_manager_server_emit_interfaces_added
    - g_dbus_interface_skeleton_get_info
    - g_assert
    - g_hash_table_lookup
    - g_hash_table_insert
    - g_dbus_interface_skeleton_export
    - g_error_free
    - g_object_ref
    linkageType: ''
    returnType: void
    signature: 'static void registration_data_export_interface (RegistrationData *data,
      GDBusInterfaceSkeleton *interface_skeleton, const gchar *object_path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:481,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:483,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:481,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - manager
    - child_object_path
    argTypes:
    - GDBusObjectManagerServer*
    - gchar*
    constantsTouched: []
    func_position:
      end: 484
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 484
    functionName: is_valid_child_object_path
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - g_str_has_prefix
    - g_warn_if_fail
    - g_str_equal
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_valid_child_object_path (GDBusObjectManagerServer
      *manager, const gchar *child_object_path) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_OBJECT_MANAGER_SERVER
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:121,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:128,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:129,1
    - Dst: unexport_all
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:125,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:126,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:130,1
    - Dst: g_mutex_clear
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:132,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:134,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:135,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 136
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 136
    functionName: g_dbus_object_manager_server_finalize
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - G_DBUS_OBJECT_MANAGER_SERVER
    - unexport_all
    - g_object_unref
    - g_hash_table_unref
    - g_mutex_clear
    - G_OBJECT_CLASS
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_object_manager_server_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:329,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:331,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:332,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:330,1
    - Dst: G_IS_DBUS_OBJECT_MANAGER_SERVER
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:329,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 334
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 334
    functionName: g_dbus_object_manager_server_get_connection
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_mutex_unlock
    - g_mutex_lock
    - G_IS_DBUS_OBJECT_MANAGER_SERVER
    - g_object_ref
    linkageType: ''
    returnType: GDBusConnection*
    signature: 'GDBusConnection *g_dbus_object_manager_server_get_connection (GDBusObjectManagerServer
      *manager) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:444,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:451,1
    - Dst: g_signal_handlers_disconnect_by_func
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:451,1
    - Dst: g_dbus_interface_skeleton_unexport
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:448,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:445,1
    - Dst: g_signal_handlers_disconnect_by_func
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:452,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:452,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:453,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:454,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:455,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - data
    argTypes:
    - RegistrationData*
    constantsTouched: []
    func_position:
      end: 456
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 456
    functionName: registration_data_free
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - g_hash_table_iter_init
    - g_signal_handlers_disconnect_by_func
    - g_object_unref
    - g_dbus_interface_skeleton_unexport
    - G_CALLBACK
    - g_hash_table_destroy
    - g_free
    - g_hash_table_iter_next
    linkageType: ''
    returnType: void
    signature: 'static void registration_data_free (RegistrationData *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:571,1
    - Dst: G_IS_DBUS_OBJECT_MANAGER_SERVER
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:571,1
    - Dst: g_dbus_object_manager_server_export_unlocked
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:573,1
    - Dst: g_dbus_object_get_object_path
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:574,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:572,1
    - Dst: G_DBUS_OBJECT
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:574,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:575,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - manager
    - object
    argTypes:
    - GDBusObjectManagerServer*
    - GDBusObjectSkeleton*
    constantsTouched: []
    func_position:
      end: 576
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 576
    functionName: g_dbus_object_manager_server_export
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - g_dbus_object_manager_server_export_unlocked
    - G_DBUS_OBJECT
    - g_mutex_lock
    - g_return_if_fail
    - g_dbus_object_get_object_path
    - g_mutex_unlock
    - G_IS_DBUS_OBJECT_MANAGER_SERVER
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_object_manager_server_export (GDBusObjectManagerServer
      *manager, GDBusObjectSkeleton *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:677,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:678,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:678,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:679,1
    - Dst: G_IS_DBUS_OBJECT_MANAGER_SERVER
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:677,1
    - Dst: is_valid_child_object_path
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:679,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:683,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:690,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:691,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:692,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:693,1
    - Dst: g_dbus_object_manager_server_emit_interfaces_removed
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:696,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:697,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:694,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:699,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - manager
    - object_path
    argTypes:
    - GDBusObjectManagerServer*
    - gchar*
    constantsTouched: []
    func_position:
      end: 704
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 704
    functionName: g_dbus_object_manager_server_unexport_unlocked
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - g_hash_table_iter_init
    - g_ptr_array_unref
    - g_return_val_if_fail
    - g_hash_table_remove
    - g_hash_table_lookup
    - G_IS_DBUS_OBJECT_MANAGER_SERVER
    - g_dbus_object_manager_server_emit_interfaces_removed
    - g_variant_is_object_path
    - g_ptr_array_new
    - is_valid_child_object_path
    - g_ptr_array_add
    - g_hash_table_iter_next
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_dbus_object_manager_server_unexport_unlocked (GDBusObjectManagerServer
      *manager, const gchar *object_path) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_OBJECT_MANAGER_SERVER
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:925,1
    - Dst: export_all
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:928,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:931,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:930,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 932
      start: 922
    functionDepth: 0
    functionLinenumber: 922
    functionLinenumberEnd: 932
    functionName: g_dbus_object_manager_server_constructed
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - G_DBUS_OBJECT_MANAGER_SERVER
    - export_all
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_object_manager_server_constructed (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_OBJECT_MANAGER_SERVER
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1023,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1031,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1028,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1034,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1032,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1034,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1037,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1040
    functionName: g_dbus_object_manager_server_get_objects
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - G_DBUS_OBJECT_MANAGER_SERVER
    - g_hash_table_iter_init
    - g_mutex_unlock
    - g_mutex_lock
    - g_object_ref
    - g_list_prepend
    - g_hash_table_iter_next
    linkageType: ''
    returnType: GList*
    signature: 'static GList *g_dbus_object_manager_server_get_objects (GDBusObjectManager
      *_manager) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_OBJECT_MANAGER_SERVER
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1045,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 1042
    functionDepth: 0
    functionLinenumber: 1042
    functionLinenumberEnd: 1047
    functionName: g_dbus_object_manager_server_get_object_path
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - G_DBUS_OBJECT_MANAGER_SERVER
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *g_dbus_object_manager_server_get_object_path (GDBusObjectManager
      *_manager) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1162,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1174,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1164,1
    - Dst: g_dbus_connection_unregister_object
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1167,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1167,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1175,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1177,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1178,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1180,1
    - Dst: g_dbus_interface_skeleton_get_connection
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1180,1
    - Dst: g_dbus_interface_skeleton_unexport
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1181,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - manager
    - only_manager
    argTypes:
    - GDBusObjectManagerServer*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1186
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1186
    functionName: unexport_all
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - g_hash_table_iter_init
    - g_warn_if_fail
    - g_dbus_interface_skeleton_unexport
    - g_dbus_connection_unregister_object
    - g_return_if_fail
    - g_dbus_interface_skeleton_get_connection
    - g_hash_table_iter_next
    linkageType: ''
    returnType: void
    signature: 'static void unexport_all (GDBusObjectManagerServer *manager, gboolean
      only_manager) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:284,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:287,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:285,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:285,1
    - Dst: G_IS_DBUS_OBJECT_MANAGER_SERVER
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:284,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:291,1
    - Dst: unexport_all
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:297,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:298,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:302,1
    - Dst: export_all
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:304,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:306,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:308,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:308,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - manager
    - connection
    argTypes:
    - GDBusObjectManagerServer*
    - GDBusConnection*
    constantsTouched: []
    func_position:
      end: 311
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 311
    functionName: g_dbus_object_manager_server_set_connection
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - unexport_all
    - g_object_unref
    - g_mutex_unlock
    - g_mutex_lock
    - g_return_if_fail
    - G_IS_DBUS_CONNECTION
    - export_all
    - g_object_notify
    - G_OBJECT
    - G_IS_DBUS_OBJECT_MANAGER_SERVER
    - g_object_ref
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_object_manager_server_set_connection (GDBusObjectManagerServer
      *manager, GDBusConnection *connection) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_IS_DBUS_OBJECT_MANAGER_SERVER
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:498,1
    - Dst: is_valid_child_object_path
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:500,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:502,1
    - Dst: g_dbus_object_get_interfaces
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:528,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:518,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:509,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:533,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:535,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:544,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:498,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:499,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:500,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:508,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:511,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:522,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:516,1
    - Dst: registration_data_export_interface
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:532,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:545,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:504,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:520,1
    - Dst: G_DBUS_OBJECT
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:528,1
    - Dst: g_dbus_interface_skeleton_get_info
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:533,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:536,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:542,1
    - Dst: G_IS_DBUS_OBJECT
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:499,1
    - Dst: g_dbus_object_manager_server_unexport_unlocked
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:506,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:531,1
    - Dst: g_dbus_object_manager_server_emit_interfaces_added
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:541,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 3
    argNames:
    - manager
    - object
    - object_path
    argTypes:
    - GDBusObjectManagerServer*
    - GDBusObjectSkeleton*
    - gchar*
    constantsTouched: []
    func_position:
      end: 547
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 547
    functionName: g_dbus_object_manager_server_export_unlocked
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - g_dbus_object_manager_server_emit_interfaces_added
    - G_DBUS_OBJECT
    - g_list_free_full
    - g_hash_table_new_full
    - g_ptr_array_new
    - g_signal_connect
    - g_dbus_interface_skeleton_get_info
    - g_hash_table_lookup
    - g_dbus_object_get_interfaces
    - G_IS_DBUS_OBJECT
    - g_hash_table_insert
    - g_ptr_array_add
    - registration_data_export_interface
    - g_ptr_array_unref
    - g_strdup
    - G_IS_DBUS_OBJECT_MANAGER_SERVER
    - g_dbus_object_manager_server_unexport_unlocked
    - g_return_if_fail
    - G_CALLBACK
    - G_DBUS_INTERFACE_SKELETON
    - g_object_ref
    - g_new0
    - is_valid_child_object_path
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_object_manager_server_export_unlocked (GDBusObjectManagerServer
      *manager, GDBusObjectSkeleton *object, const gchar *object_path) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:653,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:656,1
    - Dst: G_IS_DBUS_OBJECT
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:654,1
    - Dst: G_IS_DBUS_OBJECT_MANAGER_SERVER
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:653,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:654,1
    - Dst: g_dbus_object_get_object_path
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:658,1
    - Dst: G_DBUS_OBJECT
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:658,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:660,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:663,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - manager
    - object
    argTypes:
    - GDBusObjectManagerServer*
    - GDBusObjectSkeleton*
    constantsTouched: []
    func_position:
      end: 666
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 666
    functionName: g_dbus_object_manager_server_is_exported
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_DBUS_OBJECT
    - g_mutex_lock
    - g_mutex_unlock
    - g_dbus_object_get_object_path
    - g_hash_table_lookup
    - G_IS_DBUS_OBJECT
    - G_IS_DBUS_OBJECT_MANAGER_SERVER
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dbus_object_manager_server_is_exported (GDBusObjectManagerServer
      *manager, GDBusObjectSkeleton *object) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_interface_skeleton_get_info
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:387,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:389,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:394,1
    - Dst: g_dbus_interface_skeleton_unexport
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:392,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:388,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:394,1
    - Dst: g_dbus_object_manager_server_emit_interfaces_removed
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:403,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - data
    - interface_skeleton
    argTypes:
    - RegistrationData*
    - GDBusInterfaceSkeleton*
    constantsTouched: []
    func_position:
      end: 405
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 405
    functionName: registration_data_unexport_interface
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - g_warn_if_fail
    - g_dbus_interface_skeleton_unexport
    - g_dbus_interface_skeleton_get_info
    - g_assert
    - g_hash_table_remove
    - g_hash_table_lookup
    - g_dbus_object_manager_server_emit_interfaces_removed
    linkageType: ''
    returnType: void
    signature: 'static void registration_data_unexport_interface (RegistrationData
      *data, GDBusInterfaceSkeleton *interface_skeleton) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_builder_init_static
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:947,1
    - Dst: g_dbus_interface_skeleton_get_properties
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:955,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:953,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:947,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:954,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:956,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:957,1
    - Dst: g_dbus_connection_emit_signal
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:961,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:966,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:972,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:973,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:974,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 4
    argNames:
    - manager
    - data
    - interfaces
    - object_path
    argTypes:
    - GDBusObjectManagerServer*
    - RegistrationData*
    - gchar**
    - gchar*
    constantsTouched: []
    func_position:
      end: 978
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 978
    functionName: g_dbus_object_manager_server_emit_interfaces_added
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - g_warning
    - g_assert
    - g_variant_builder_init_static
    - g_hash_table_lookup
    - g_error_matches
    - g_variant_unref
    - g_dbus_interface_skeleton_get_properties
    - g_variant_new
    - g_error_free
    - g_variant_builder_add
    - g_dbus_connection_emit_signal
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_object_manager_server_emit_interfaces_added (GDBusObjectManagerServer
      *manager, RegistrationData *data, const gchar *const *interfaces, const gchar
      *object_path) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_OBJECT_MANAGER_SERVER
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1053,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1059,1
    - Dst: G_DBUS_OBJECT
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1062,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1062,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1060,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1063,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1049
    functionDepth: 0
    functionLinenumber: 1049
    functionLinenumberEnd: 1066
    functionName: g_dbus_object_manager_server_get_object
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - G_DBUS_OBJECT_MANAGER_SERVER
    - G_DBUS_OBJECT
    - g_mutex_lock
    - g_mutex_unlock
    - g_hash_table_lookup
    - g_object_ref
    linkageType: ''
    returnType: GDBusObject*
    signature: 'static GDBusObject *g_dbus_object_manager_server_get_object (GDBusObjectManager
      *_manager, const gchar *object_path) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1110,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1127,1
    - Dst: g_dbus_connection_register_object
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1114,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1113,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1123,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1130,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1131,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1133,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1134,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1136,1
    - Dst: g_dbus_interface_skeleton_get_connection
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1136,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1148,1
    - Dst: g_dbus_interface_skeleton_export
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1138,1
    - Dst: g_dbus_interface_skeleton_get_info
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1146,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1143,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 1
    argNames:
    - manager
    argTypes:
    - GDBusObjectManagerServer*
    constantsTouched: []
    func_position:
      end: 1152
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1152
    functionName: export_all
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - g_hash_table_iter_init
    - g_warn_if_fail
    - g_warning
    - g_return_if_fail
    - g_dbus_interface_skeleton_get_info
    - g_error_free
    - g_dbus_interface_skeleton_export
    - g_dbus_connection_register_object
    - g_dbus_interface_skeleton_get_connection
    - g_hash_table_iter_next
    linkageType: ''
    returnType: void
    signature: 'static void export_all (GDBusObjectManagerServer *manager) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_builder_init_static
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:993,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:995,1
    - Dst: g_dbus_object_get_object_path
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:998,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:993,1
    - Dst: G_DBUS_OBJECT
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:998,1
    - Dst: g_dbus_connection_emit_signal
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:999,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1004,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1010,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1011,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1012,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 3
    argNames:
    - manager
    - data
    - interfaces
    argTypes:
    - GDBusObjectManagerServer*
    - RegistrationData*
    - gchar**
    constantsTouched: []
    func_position:
      end: 1016
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 1016
    functionName: g_dbus_object_manager_server_emit_interfaces_removed
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - g_warning
    - G_DBUS_OBJECT
    - g_dbus_object_get_object_path
    - g_variant_builder_init_static
    - g_error_matches
    - g_variant_new
    - g_error_free
    - g_dbus_connection_emit_signal
    - g_variant_builder_add
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_object_manager_server_emit_interfaces_removed (GDBusObjectManagerServer
      *manager, RegistrationData *data, const gchar *const *interfaces) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_object_manager_get_object
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1078,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1083,1
    - Dst: g_dbus_object_get_interface
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:1082,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1068
    functionDepth: 0
    functionLinenumber: 1068
    functionLinenumberEnd: 1087
    functionName: g_dbus_object_manager_server_get_interface
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - g_dbus_object_manager_get_object
    - g_object_unref
    - g_dbus_object_get_interface
    linkageType: ''
    returnType: GDBusInterface*
    signature: 'static GDBusInterface *g_dbus_object_manager_server_get_interface
      (GDBusObjectManager *_manager, const gchar *object_path, const gchar *interface_name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_object_get_object_path
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:599,1
    - Dst: G_IS_DBUS_OBJECT_MANAGER_SERVER
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:601,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:601,1
    - Dst: G_DBUS_OBJECT
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:599,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:602,1
    - Dst: G_IS_DBUS_OBJECT
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:602,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:603,1
    - Dst: is_valid_child_object_path
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:603,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:605,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:607,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:619,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:625,1
    - Dst: g_dbus_object_manager_server_export_unlocked
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:623,1
    - Dst: G_DBUS_OBJECT_SKELETON
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:628,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:618,1
    - Dst: g_dbus_object_skeleton_set_object_path
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:628,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:630,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:613,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - manager
    - object
    argTypes:
    - GDBusObjectManagerServer*
    - GDBusObjectSkeleton*
    constantsTouched: []
    func_position:
      end: 632
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 632
    functionName: g_dbus_object_manager_server_export_uniquely
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - g_dbus_object_manager_server_export_unlocked
    - g_strdup
    - g_strdup_printf
    - G_DBUS_OBJECT_SKELETON
    - G_DBUS_OBJECT
    - g_return_if_fail
    - g_mutex_lock
    - g_dbus_object_get_object_path
    - g_mutex_unlock
    - g_hash_table_lookup
    - g_free
    - G_IS_DBUS_OBJECT_MANAGER_SERVER
    - G_IS_DBUS_OBJECT
    - g_dbus_object_skeleton_set_object_path
    - is_valid_child_object_path
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_object_manager_server_export_uniquely (GDBusObjectManagerServer
      *manager, GDBusObjectSkeleton *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:726,1
    - Dst: g_dbus_object_manager_server_unexport_unlocked
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:728,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:727,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:729,1
    - Dst: G_IS_DBUS_OBJECT_MANAGER_SERVER
      Src: /src/glib/gio/gdbusobjectmanagerserver.c:726,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - manager
    - object_path
    argTypes:
    - GDBusObjectManagerServer*
    - gchar*
    constantsTouched: []
    func_position:
      end: 731
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 731
    functionName: g_dbus_object_manager_server_unexport
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_mutex_unlock
    - g_mutex_lock
    - G_IS_DBUS_OBJECT_MANAGER_SERVER
    - g_dbus_object_manager_server_unexport_unlocked
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dbus_object_manager_server_unexport (GDBusObjectManagerServer
      *manager, const gchar *object_path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GDBusObjectManagerIface*
    constantsTouched: []
    func_position:
      end: 1096
      start: 1089
    functionDepth: 0
    functionLinenumber: 1089
    functionLinenumberEnd: 1096
    functionName: dbus_object_manager_interface_init
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerserver.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void dbus_object_manager_interface_init (GDBusObjectManagerIface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - This
    - riid
    - ppvObject
    argTypes:
    - IStorageItem*
    - REFIID
    - void**
    constantsTouched: []
    func_position:
      end: 207
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 207
    functionName: IStorageItem_QueryInterface
    functionSourceFile: /src/glib/gio/gwin32api-storage.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCEINLINE
    signature: 'static FORCEINLINE HRESULT IStorageItem_QueryInterface(IStorageItem*
      This,REFIID riid,void **ppvObject) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - This
    - iidCount
    - iids
    argTypes:
    - IStorageItem*
    - ULONG*
    - IID**
    constantsTouched: []
    func_position:
      end: 217
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 217
    functionName: IStorageItem_GetIids
    functionSourceFile: /src/glib/gio/gwin32api-storage.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCEINLINE
    signature: 'static FORCEINLINE HRESULT IStorageItem_GetIids(IStorageItem* This,ULONG
      *iidCount,IID **iids) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - This
    - trustLevel
    argTypes:
    - IStorageItem*
    - TrustLevel*
    constantsTouched: []
    func_position:
      end: 223
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 223
    functionName: IStorageItem_GetTrustLevel
    functionSourceFile: /src/glib/gio/gwin32api-storage.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCEINLINE
    signature: 'static FORCEINLINE HRESULT IStorageItem_GetTrustLevel(IStorageItem*
      This,TrustLevel *trustLevel) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - This
    - desiredName
    - option
    - action
    argTypes:
    - IStorageItem*
    - HSTRING
    - NameCollisionOption
    - IInspectable**
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 230
    functionName: IStorageItem_RenameAsync
    functionSourceFile: /src/glib/gio/gwin32api-storage.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCEINLINE
    signature: 'static FORCEINLINE HRESULT IStorageItem_RenameAsync(IStorageItem*
      This,HSTRING desiredName,NameCollisionOption option,IInspectable **action) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - This
    - option
    - action
    argTypes:
    - IStorageItem*
    - StorageDeleteOption
    - IInspectable**
    constantsTouched: []
    func_position:
      end: 236
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 236
    functionName: IStorageItem_DeleteAsync
    functionSourceFile: /src/glib/gio/gwin32api-storage.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCEINLINE
    signature: 'static FORCEINLINE HRESULT IStorageItem_DeleteAsync(IStorageItem*
      This,StorageDeleteOption option,IInspectable **action) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - This
    - value
    argTypes:
    - IStorageItem*
    - HSTRING*
    constantsTouched: []
    func_position:
      end: 242
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 242
    functionName: IStorageItem_get_Name
    functionSourceFile: /src/glib/gio/gwin32api-storage.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCEINLINE
    signature: 'static FORCEINLINE HRESULT IStorageItem_get_Name(IStorageItem* This,HSTRING
      *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - This
    - value
    argTypes:
    - IStorageItem*
    - FileAttributes*
    constantsTouched: []
    func_position:
      end: 248
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 248
    functionName: IStorageItem_get_Attributes
    functionSourceFile: /src/glib/gio/gwin32api-storage.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCEINLINE
    signature: 'static FORCEINLINE HRESULT IStorageItem_get_Attributes(IStorageItem*
      This,FileAttributes *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 180
    functionName: IStorageItem
    functionSourceFile: /src/glib/gio/gwin32api-storage.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: interface
    signature: 'interface IStorageItem '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - This
    argTypes:
    - IStorageItem*
    constantsTouched: []
    func_position:
      end: 210
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 210
    functionName: IStorageItem_AddRef
    functionSourceFile: /src/glib/gio/gwin32api-storage.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCEINLINE
    signature: 'static FORCEINLINE ULONG IStorageItem_AddRef(IStorageItem* This) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - This
    argTypes:
    - IStorageItem*
    constantsTouched: []
    func_position:
      end: 213
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 213
    functionName: IStorageItem_Release
    functionSourceFile: /src/glib/gio/gwin32api-storage.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCEINLINE
    signature: 'static FORCEINLINE ULONG IStorageItem_Release(IStorageItem* This) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - This
    - className
    argTypes:
    - IStorageItem*
    - HSTRING*
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: IStorageItem_GetRuntimeClassName
    functionSourceFile: /src/glib/gio/gwin32api-storage.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCEINLINE
    signature: 'static FORCEINLINE HRESULT IStorageItem_GetRuntimeClassName(IStorageItem*
      This,HSTRING *className) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - This
    - action
    argTypes:
    - IStorageItem*
    - IInspectable**
    constantsTouched: []
    func_position:
      end: 233
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 233
    functionName: IStorageItem_DeleteAsyncOverloadDefaultOptions
    functionSourceFile: /src/glib/gio/gwin32api-storage.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCEINLINE
    signature: 'static FORCEINLINE HRESULT IStorageItem_DeleteAsyncOverloadDefaultOptions(IStorageItem*
      This,IInspectable **action) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - This
    - action
    argTypes:
    - IStorageItem*
    - IInspectable**
    constantsTouched: []
    func_position:
      end: 239
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 239
    functionName: IStorageItem_GetBasicPropertiesAsync
    functionSourceFile: /src/glib/gio/gwin32api-storage.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCEINLINE
    signature: 'static FORCEINLINE HRESULT IStorageItem_GetBasicPropertiesAsync(IStorageItem*
      This,IInspectable **action) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - This
    - value
    argTypes:
    - IStorageItem*
    - HSTRING*
    constantsTouched: []
    func_position:
      end: 245
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 245
    functionName: IStorageItem_get_Path
    functionSourceFile: /src/glib/gio/gwin32api-storage.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCEINLINE
    signature: 'static FORCEINLINE HRESULT IStorageItem_get_Path(IStorageItem* This,HSTRING
      *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - This
    - value
    argTypes:
    - IStorageItem*
    - DateTime*
    constantsTouched: []
    func_position:
      end: 251
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 251
    functionName: IStorageItem_get_DateCreated
    functionSourceFile: /src/glib/gio/gwin32api-storage.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCEINLINE
    signature: 'static FORCEINLINE HRESULT IStorageItem_get_DateCreated(IStorageItem*
      This,DateTime *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - This
    - desiredName
    - action
    argTypes:
    - IStorageItem*
    - HSTRING
    - IInspectable**
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: IStorageItem_RenameAsyncOverloadDefaultOptions
    functionSourceFile: /src/glib/gio/gwin32api-storage.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCEINLINE
    signature: 'static FORCEINLINE HRESULT IStorageItem_RenameAsyncOverloadDefaultOptions(IStorageItem*
      This,HSTRING desiredName,IInspectable **action) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - This
    - itemType
    - value
    argTypes:
    - IStorageItem*
    - StorageItemTypes
    - boolean*
    constantsTouched: []
    func_position:
      end: 254
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 254
    functionName: IStorageItem_IsOfType
    functionSourceFile: /src/glib/gio/gwin32api-storage.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCEINLINE
    signature: 'static FORCEINLINE HRESULT IStorageItem_IsOfType(IStorageItem* This,StorageItemTypes
      itemType,boolean *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdataoutputstream.c:200,1
    - Dst: G_IS_DATA_OUTPUT_STREAM
      Src: /src/glib/gio/gdataoutputstream.c:200,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gdataoutputstream.c:205,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdataoutputstream.c:205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - stream
    - order
    argTypes:
    - GDataOutputStream*
    - GDataStreamByteOrder
    constantsTouched: []
    func_position:
      end: 207
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 207
    functionName: g_data_output_stream_set_byte_order
    functionSourceFile: /src/glib/gio/gdataoutputstream.c
    functionUses: []
    functionsReached:
    - G_IS_DATA_OUTPUT_STREAM
    - g_object_notify
    - G_OBJECT
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_data_output_stream_set_byte_order (GDataOutputStream *stream,
      GDataStreamByteOrder order) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdataoutputstream.c:271,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/gdataoutputstream.c:286,1
    - Dst: G_IS_DATA_OUTPUT_STREAM
      Src: /src/glib/gio/gdataoutputstream.c:271,1
    - Dst: GINT16_TO_BE
      Src: /src/glib/gio/gdataoutputstream.c:276,1
    - Dst: GINT16_TO_LE
      Src: /src/glib/gio/gdataoutputstream.c:279,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gdataoutputstream.c:286,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 4
    argNames:
    - stream
    - data
    - cancellable
    - error
    argTypes:
    - GDataOutputStream*
    - gint16
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 290
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 290
    functionName: g_data_output_stream_put_int16
    functionSourceFile: /src/glib/gio/gdataoutputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_output_stream_write_all
    - G_IS_DATA_OUTPUT_STREAM
    - GINT16_TO_LE
    - G_OUTPUT_STREAM
    - GINT16_TO_BE
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_data_output_stream_put_int16 (GDataOutputStream *stream,\t\
      \t\t\tgint16 data,\t\t\t\tGCancellable *cancellable,\t\t\t\tGError **error) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdataoutputstream.c:471,1
    - Dst: GUINT64_TO_BE
      Src: /src/glib/gio/gdataoutputstream.c:476,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/gdataoutputstream.c:486,1
    - Dst: GUINT64_TO_LE
      Src: /src/glib/gio/gdataoutputstream.c:479,1
    - Dst: G_IS_DATA_OUTPUT_STREAM
      Src: /src/glib/gio/gdataoutputstream.c:471,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gdataoutputstream.c:486,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 4
    argNames:
    - stream
    - data
    - cancellable
    - error
    argTypes:
    - GDataOutputStream*
    - guint64
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 490
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 490
    functionName: g_data_output_stream_put_uint64
    functionSourceFile: /src/glib/gio/gdataoutputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - GUINT64_TO_LE
    - g_output_stream_write_all
    - G_IS_DATA_OUTPUT_STREAM
    - GUINT64_TO_BE
    - G_OUTPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_data_output_stream_put_uint64 (GDataOutputStream *stream,\t\
      \t\t\t guint64 data,\t\t\t\t GCancellable *cancellable,\t\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdataoutputstream.c:244,1
    - Dst: G_IS_DATA_OUTPUT_STREAM
      Src: /src/glib/gio/gdataoutputstream.c:244,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gdataoutputstream.c:246,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/gdataoutputstream.c:246,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - stream
    - data
    - cancellable
    - error
    argTypes:
    - GDataOutputStream*
    - guchar
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 250
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 250
    functionName: g_data_output_stream_put_byte
    functionSourceFile: /src/glib/gio/gdataoutputstream.c
    functionUses: []
    functionsReached:
    - G_IS_DATA_OUTPUT_STREAM
    - g_return_val_if_fail
    - g_output_stream_write_all
    - G_OUTPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_data_output_stream_put_byte (GDataOutputStream *stream,\t\
      \t\t guchar data,\t\t\t GCancellable *cancellable,\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdataoutputstream.c:84,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdataoutputstream.c:94,1
    - Dst: g_param_spec_enum
      Src: /src/glib/gio/gdataoutputstream.c:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GDataOutputStreamClass*
    constantsTouched: []
    func_position:
      end: 101
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 101
    functionName: g_data_output_stream_class_init
    functionSourceFile: /src/glib/gio/gdataoutputstream.c
    functionUses: []
    functionsReached:
    - g_param_spec_enum
    - g_object_class_install_property
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_data_output_stream_class_init (GDataOutputStreamClass
      *klass) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdataoutputstream.c:351,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/gdataoutputstream.c:366,1
    - Dst: GINT32_TO_BE
      Src: /src/glib/gio/gdataoutputstream.c:356,1
    - Dst: GINT32_TO_LE
      Src: /src/glib/gio/gdataoutputstream.c:359,1
    - Dst: G_IS_DATA_OUTPUT_STREAM
      Src: /src/glib/gio/gdataoutputstream.c:351,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gdataoutputstream.c:366,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 4
    argNames:
    - stream
    - data
    - cancellable
    - error
    argTypes:
    - GDataOutputStream*
    - gint32
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 370
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 370
    functionName: g_data_output_stream_put_int32
    functionSourceFile: /src/glib/gio/gdataoutputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - GINT32_TO_BE
    - g_output_stream_write_all
    - GINT32_TO_LE
    - G_IS_DATA_OUTPUT_STREAM
    - G_OUTPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_data_output_stream_put_int32 (GDataOutputStream *stream,\t\
      \t\t\tgint32 data,\t\t\t\tGCancellable *cancellable,\t\t\t\tGError **error) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DATA_OUTPUT_STREAM
      Src: /src/glib/gio/gdataoutputstream.c:111,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gdataoutputstream.c:120,1
    - Dst: g_value_get_enum
      Src: /src/glib/gio/gdataoutputstream.c:116,1
    - Dst: g_data_output_stream_set_byte_order
      Src: /src/glib/gio/gdataoutputstream.c:116,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 123
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 123
    functionName: g_data_output_stream_set_property
    functionSourceFile: /src/glib/gio/gdataoutputstream.c
    functionUses: []
    functionsReached:
    - g_value_get_enum
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_DATA_OUTPUT_STREAM
    - g_data_output_stream_set_byte_order
    linkageType: ''
    returnType: void
    signature: "static void g_data_output_stream_set_property (GObject *object,\t\t\
      \t\t guint prop_id,\t\t\t\t const GValue *value,\t\t\t\t GParamSpec *pspec) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/gdataoutputstream.c:582,1
    - Dst: G_IS_SEEKABLE
      Src: /src/glib/gio/gdataoutputstream.c:583,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdataoutputstream.c:585,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/gdataoutputstream.c:590,1
    - Dst: _
      Src: /src/glib/gio/gdataoutputstream.c:586,1
    - Dst: g_seekable_truncate
      Src: /src/glib/gio/gdataoutputstream.c:591,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 4
    argNames:
    - seekable
    - offset
    - cancellable
    - error
    argTypes:
    - GSeekable*
    - goffset
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 592
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 592
    functionName: g_data_output_stream_truncate
    functionSourceFile: /src/glib/gio/gdataoutputstream.c
    functionUses: []
    functionsReached:
    - G_SEEKABLE
    - G_FILTER_OUTPUT_STREAM
    - g_set_error_literal
    - _
    - g_seekable_truncate
    - G_IS_SEEKABLE
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_data_output_stream_truncate (GSeekable *seekable,\t\
      \t\t\t goffset offset,\t\t\t\t GCancellable *cancellable,\t\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdataoutputstream.c:220,1
    - Dst: G_IS_DATA_OUTPUT_STREAM
      Src: /src/glib/gio/gdataoutputstream.c:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GDataOutputStream*
    constantsTouched: []
    func_position:
      end: 223
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 223
    functionName: g_data_output_stream_get_byte_order
    functionSourceFile: /src/glib/gio/gdataoutputstream.c
    functionUses: []
    functionsReached:
    - G_IS_DATA_OUTPUT_STREAM
    - g_return_val_if_fail
    linkageType: ''
    returnType: GDataStreamByteOrder
    signature: 'GDataStreamByteOrder g_data_output_stream_get_byte_order (GDataOutputStream
      *stream) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdataoutputstream.c:311,1
    - Dst: GUINT16_TO_LE
      Src: /src/glib/gio/gdataoutputstream.c:319,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/gdataoutputstream.c:326,1
    - Dst: GUINT16_TO_BE
      Src: /src/glib/gio/gdataoutputstream.c:316,1
    - Dst: G_IS_DATA_OUTPUT_STREAM
      Src: /src/glib/gio/gdataoutputstream.c:311,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gdataoutputstream.c:326,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 4
    argNames:
    - stream
    - data
    - cancellable
    - error
    argTypes:
    - GDataOutputStream*
    - guint16
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 330
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 330
    functionName: g_data_output_stream_put_uint16
    functionSourceFile: /src/glib/gio/gdataoutputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - GUINT16_TO_LE
    - g_output_stream_write_all
    - GUINT16_TO_BE
    - G_IS_DATA_OUTPUT_STREAM
    - G_OUTPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_data_output_stream_put_uint16 (GDataOutputStream *stream,\t\
      \t\t\t guint16 data,\t\t\t\t GCancellable *cancellable,\t\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdataoutputstream.c:511,1
    - Dst: G_IS_DATA_OUTPUT_STREAM
      Src: /src/glib/gio/gdataoutputstream.c:511,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gdataoutputstream.c:514,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdataoutputstream.c:512,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/gdataoutputstream.c:514,1
    - Dst: strlen
      Src: /src/glib/gio/gdataoutputstream.c:515,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - stream
    - str
    - cancellable
    - error
    argTypes:
    - GDataOutputStream*
    - char*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 518
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 518
    functionName: g_data_output_stream_put_string
    functionSourceFile: /src/glib/gio/gdataoutputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - strlen
    - g_output_stream_write_all
    - G_IS_DATA_OUTPUT_STREAM
    - G_OUTPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_data_output_stream_put_string (GDataOutputStream *stream,\t\
      \t\t\t const char *str,\t\t\t\t GCancellable *cancellable,\t\t\t\t GError **error) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdataoutputstream.c:391,1
    - Dst: GUINT32_TO_LE
      Src: /src/glib/gio/gdataoutputstream.c:399,1
    - Dst: G_IS_DATA_OUTPUT_STREAM
      Src: /src/glib/gio/gdataoutputstream.c:391,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/gdataoutputstream.c:406,1
    - Dst: GUINT32_TO_BE
      Src: /src/glib/gio/gdataoutputstream.c:396,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gdataoutputstream.c:406,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 4
    argNames:
    - stream
    - data
    - cancellable
    - error
    argTypes:
    - GDataOutputStream*
    - guint32
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 410
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 410
    functionName: g_data_output_stream_put_uint32
    functionSourceFile: /src/glib/gio/gdataoutputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - GUINT32_TO_LE
    - g_output_stream_write_all
    - GUINT32_TO_BE
    - G_IS_DATA_OUTPUT_STREAM
    - G_OUTPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_data_output_stream_put_uint32 (GDataOutputStream *stream,\t\
      \t\t\t guint32 data,\t\t\t\t GCancellable *cancellable,\t\t\t\t GError **error) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DATA_OUTPUT_STREAM
      Src: /src/glib/gio/gdataoutputstream.c:134,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gdataoutputstream.c:144,1
    - Dst: g_value_set_enum
      Src: /src/glib/gio/gdataoutputstream.c:140,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 147
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 147
    functionName: g_data_output_stream_get_property
    functionSourceFile: /src/glib/gio/gdataoutputstream.c
    functionUses: []
    functionsReached:
    - g_value_set_enum
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_DATA_OUTPUT_STREAM
    linkageType: ''
    returnType: void
    signature: "static void g_data_output_stream_get_property (GObject *object,\t\t\
      \t\t guint prop_id,\t\t\t\t GValue *value,\t\t\t\t GParamSpec *pspec) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdataoutputstream.c:179,1
    - Dst: g_object_new
      Src: /src/glib/gio/gdataoutputstream.c:181,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/gdataoutputstream.c:179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: g_data_output_stream_new
    functionSourceFile: /src/glib/gio/gdataoutputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_object_new
    - G_IS_OUTPUT_STREAM
    linkageType: ''
    returnType: GDataOutputStream*
    signature: 'GDataOutputStream *g_data_output_stream_new (GOutputStream *base_stream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/gdataoutputstream.c:526,1
    - Dst: G_IS_SEEKABLE
      Src: /src/glib/gio/gdataoutputstream.c:527,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/gdataoutputstream.c:529,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/gdataoutputstream.c:530,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - seekable
    argTypes:
    - GSeekable*
    constantsTouched: []
    func_position:
      end: 531
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 531
    functionName: g_data_output_stream_tell
    functionSourceFile: /src/glib/gio/gdataoutputstream.c
    functionUses: []
    functionsReached:
    - G_FILTER_OUTPUT_STREAM
    - G_IS_SEEKABLE
    - g_seekable_tell
    - G_SEEKABLE
    linkageType: ''
    returnType: goffset
    signature: 'static goffset g_data_output_stream_tell (GSeekable *seekable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/gdataoutputstream.c:552,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/gdataoutputstream.c:560,1
    - Dst: G_IS_SEEKABLE
      Src: /src/glib/gio/gdataoutputstream.c:553,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdataoutputstream.c:555,1
    - Dst: _
      Src: /src/glib/gio/gdataoutputstream.c:556,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/gdataoutputstream.c:561,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 5
    argNames:
    - seekable
    - offset
    - type
    - cancellable
    - error
    argTypes:
    - GSeekable*
    - goffset
    - GSeekType
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 562
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 562
    functionName: g_data_output_stream_seek
    functionSourceFile: /src/glib/gio/gdataoutputstream.c
    functionUses: []
    functionsReached:
    - g_seekable_seek
    - G_SEEKABLE
    - G_FILTER_OUTPUT_STREAM
    - g_set_error_literal
    - _
    - G_IS_SEEKABLE
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_data_output_stream_seek (GSeekable *seekable,\t\t\
      \t goffset offset,\t\t\t GSeekType type,\t\t\t GCancellable *cancellable,\t\t\
      \t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_data_output_stream_get_instance_private
      Src: /src/glib/gio/gdataoutputstream.c:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GDataOutputStream*
    constantsTouched: []
    func_position:
      end: 154
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 154
    functionName: g_data_output_stream_init
    functionSourceFile: /src/glib/gio/gdataoutputstream.c
    functionUses: []
    functionsReached:
    - g_data_output_stream_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_data_output_stream_init (GDataOutputStream *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/gdataoutputstream.c:538,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/gdataoutputstream.c:539,1
    - Dst: g_seekable_can_seek
      Src: /src/glib/gio/gdataoutputstream.c:539,1
    - Dst: G_IS_SEEKABLE
      Src: /src/glib/gio/gdataoutputstream.c:539,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - seekable
    argTypes:
    - GSeekable*
    constantsTouched: []
    func_position:
      end: 540
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 540
    functionName: g_data_output_stream_can_seek
    functionSourceFile: /src/glib/gio/gdataoutputstream.c
    functionUses: []
    functionsReached:
    - G_FILTER_OUTPUT_STREAM
    - G_IS_SEEKABLE
    - g_seekable_can_seek
    - G_SEEKABLE
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_data_output_stream_can_seek (GSeekable *seekable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/gdataoutputstream.c:569,1
    - Dst: g_seekable_can_truncate
      Src: /src/glib/gio/gdataoutputstream.c:570,1
    - Dst: G_IS_SEEKABLE
      Src: /src/glib/gio/gdataoutputstream.c:570,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/gdataoutputstream.c:570,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - seekable
    argTypes:
    - GSeekable*
    constantsTouched: []
    func_position:
      end: 571
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 571
    functionName: g_data_output_stream_can_truncate
    functionSourceFile: /src/glib/gio/gdataoutputstream.c
    functionUses: []
    functionsReached:
    - G_FILTER_OUTPUT_STREAM
    - G_IS_SEEKABLE
    - g_seekable_can_truncate
    - G_SEEKABLE
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_data_output_stream_can_truncate (GSeekable *seekable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GSeekableIface*
    constantsTouched: []
    func_position:
      end: 164
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 164
    functionName: g_data_output_stream_seekable_iface_init
    functionSourceFile: /src/glib/gio/gdataoutputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_data_output_stream_seekable_iface_init (GSeekableIface
      *iface) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdataoutputstream.c:431,1
    - Dst: GINT64_TO_BE
      Src: /src/glib/gio/gdataoutputstream.c:436,1
    - Dst: GINT64_TO_LE
      Src: /src/glib/gio/gdataoutputstream.c:439,1
    - Dst: G_IS_DATA_OUTPUT_STREAM
      Src: /src/glib/gio/gdataoutputstream.c:431,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/gdataoutputstream.c:446,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gdataoutputstream.c:446,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 4
    argNames:
    - stream
    - data
    - cancellable
    - error
    argTypes:
    - GDataOutputStream*
    - gint64
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 450
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 450
    functionName: g_data_output_stream_put_int64
    functionSourceFile: /src/glib/gio/gdataoutputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - GINT64_TO_LE
    - g_output_stream_write_all
    - G_IS_DATA_OUTPUT_STREAM
    - GINT64_TO_BE
    - G_OUTPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_data_output_stream_put_int64 (GDataOutputStream *stream,\t\
      \t\t\tgint64 data,\t\t\t\tGCancellable *cancellable,\t\t\t\tGError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SIMPLE_PROXY_RESOLVER
      Src: /src/glib/gio/gsimpleproxyresolver.c:83,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/gio/gsimpleproxyresolver.c:87,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gsimpleproxyresolver.c:89,1
    - Dst: g_free
      Src: /src/glib/gio/gsimpleproxyresolver.c:86,1
    - Dst: reparse_ignore_hosts
      Src: /src/glib/gio/gsimpleproxyresolver.c:91,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsimpleproxyresolver.c:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 94
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 94
    functionName: g_simple_proxy_resolver_finalize
    functionSourceFile: /src/glib/gio/gsimpleproxyresolver.c
    functionUses: []
    functionsReached:
    - G_SIMPLE_PROXY_RESOLVER
    - g_free
    - G_OBJECT_CLASS
    - g_clear_pointer
    - reparse_ignore_hosts
    - g_hash_table_destroy
    linkageType: ''
    returnType: void
    signature: 'static void g_simple_proxy_resolver_finalize (GObject *object) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/gio/gsimpleproxyresolver.c:177,1
    - Dst: g_strchomp
      Src: /src/glib/gio/gsimpleproxyresolver.c:182,1
    - Dst: g_array_append_val
      Src: /src/glib/gio/gsimpleproxyresolver.c:236,1
    - Dst: g_array_free
      Src: /src/glib/gio/gsimpleproxyresolver.c:250,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gsimpleproxyresolver.c:164,1
    - Dst: g_free
      Src: /src/glib/gio/gsimpleproxyresolver.c:169,1
    - Dst: g_free
      Src: /src/glib/gio/gsimpleproxyresolver.c:168,1
    - Dst: strchr
      Src: /src/glib/gio/gsimpleproxyresolver.c:198,1
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/gsimpleproxyresolver.c:221,1
    - Dst: memset
      Src: /src/glib/gio/gsimpleproxyresolver.c:232,1
    - Dst: g_inet_address_mask_new_from_string
      Src: /src/glib/gio/gsimpleproxyresolver.c:185,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gsimpleproxyresolver.c:188,1
    - Dst: strtoul
      Src: /src/glib/gio/gsimpleproxyresolver.c:202,1
    - Dst: strchr
      Src: /src/glib/gio/gsimpleproxyresolver.c:210,1
    - Dst: strchr
      Src: /src/glib/gio/gsimpleproxyresolver.c:211,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsimpleproxyresolver.c:223,1
    - Dst: g_strdup
      Src: /src/glib/gio/gsimpleproxyresolver.c:233,1
    - Dst: strtoul
      Src: /src/glib/gio/gsimpleproxyresolver.c:214,1
    - Dst: strlen
      Src: /src/glib/gio/gsimpleproxyresolver.c:234,1
    - Dst: g_array_new
      Src: /src/glib/gio/gsimpleproxyresolver.c:178,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gsimpleproxyresolver.c:226,1
    - Dst: g_warning
      Src: /src/glib/gio/gsimpleproxyresolver.c:240,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gsimpleproxyresolver.c:246,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 69
    argCount: 1
    argNames:
    - resolver
    argTypes:
    - GSimpleProxyResolver*
    constantsTouched: []
    func_position:
      end: 251
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 251
    functionName: reparse_ignore_hosts
    functionSourceFile: /src/glib/gio/gsimpleproxyresolver.c
    functionUses: []
    functionsReached:
    - memset
    - g_array_free
    - g_strdup
    - g_object_unref
    - strlen
    - g_warning
    - g_array_append_val
    - g_inet_address_mask_new_from_string
    - g_str_has_prefix
    - strchr
    - g_ptr_array_new_with_free_func
    - g_strchomp
    - g_array_new
    - g_ptr_array_free
    - g_free
    - g_ptr_array_add
    - g_inet_address_new_from_string
    - strtoul
    linkageType: ''
    returnType: void
    signature: 'static void reparse_ignore_hosts (GSimpleProxyResolver *resolver) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_SIMPLE_PROXY_RESOLVER
      Src: /src/glib/gio/gsimpleproxyresolver.c:110,1
    - Dst: g_simple_proxy_resolver_set_default_proxy
      Src: /src/glib/gio/gsimpleproxyresolver.c:115,1
    - Dst: g_value_get_boxed
      Src: /src/glib/gio/gsimpleproxyresolver.c:119,1
    - Dst: g_simple_proxy_resolver_set_ignore_hosts
      Src: /src/glib/gio/gsimpleproxyresolver.c:119,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gsimpleproxyresolver.c:115,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gsimpleproxyresolver.c:123,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 125
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 125
    functionName: g_simple_proxy_resolver_set_property
    functionSourceFile: /src/glib/gio/gsimpleproxyresolver.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_SIMPLE_PROXY_RESOLVER
    - g_value_get_string
    - g_simple_proxy_resolver_set_default_proxy
    - g_value_get_boxed
    - g_simple_proxy_resolver_set_ignore_hosts
    linkageType: ''
    returnType: void
    signature: 'static void g_simple_proxy_resolver_set_property (GObject *object,
      guint prop_id, const GValue *value, GParamSpec *pspec) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: G_SIMPLE_PROXY_RESOLVER
      Src: /src/glib/gio/gsimpleproxyresolver.c:330,1
    - Dst: g_free
      Src: /src/glib/gio/gsimpleproxyresolver.c:345,1
    - Dst: g_uri_split_network
      Src: /src/glib/gio/gsimpleproxyresolver.c:340,1
    - Dst: g_hash_table_size
      Src: /src/glib/gio/gsimpleproxyresolver.c:348,1
    - Dst: ignore_host
      Src: /src/glib/gio/gsimpleproxyresolver.c:342,1
    - Dst: g_ascii_strdown
      Src: /src/glib/gio/gsimpleproxyresolver.c:350,1
    - Dst: strcspn
      Src: /src/glib/gio/gsimpleproxyresolver.c:350,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gsimpleproxyresolver.c:352,1
    - Dst: g_free
      Src: /src/glib/gio/gsimpleproxyresolver.c:353,1
    - Dst: strncmp
      Src: /src/glib/gio/gsimpleproxyresolver.c:361,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gsimpleproxyresolver.c:365,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gsimpleproxyresolver.c:366,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gsimpleproxyresolver.c:364,1
    - Dst: g_new0
      Src: /src/glib/gio/gsimpleproxyresolver.c:371,1
    - Dst: g_strdup
      Src: /src/glib/gio/gsimpleproxyresolver.c:372,1
    - Dst: g_new0
      Src: /src/glib/gio/gsimpleproxyresolver.c:363,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 376
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 376
    functionName: g_simple_proxy_resolver_lookup
    functionSourceFile: /src/glib/gio/gsimpleproxyresolver.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_strdup
    - ignore_host
    - G_SIMPLE_PROXY_RESOLVER
    - g_ascii_strdown
    - g_hash_table_lookup
    - g_uri_split_network
    - strncmp
    - g_hash_table_size
    - strcspn
    - g_new0
    - g_free
    linkageType: ''
    returnType: gchar**
    signature: 'static gchar **g_simple_proxy_resolver_lookup (GProxyResolver *proxy_resolver,
      const gchar *uri, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsimpleproxyresolver.c:407,1
    - Dst: G_TASK
      Src: /src/glib/gio/gsimpleproxyresolver.c:409,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gsimpleproxyresolver.c:407,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gsimpleproxyresolver.c:409,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 410
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 410
    functionName: g_simple_proxy_resolver_lookup_finish
    functionSourceFile: /src/glib/gio/gsimpleproxyresolver.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_return_val_if_fail
    - g_task_is_valid
    - g_task_propagate_pointer
    linkageType: ''
    returnType: gchar**
    signature: 'static gchar **g_simple_proxy_resolver_lookup_finish (GProxyResolver
      *resolver, GAsyncResult *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GProxyResolverInterface*
    constantsTouched: []
    func_position:
      end: 490
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 490
    functionName: g_simple_proxy_resolver_iface_init
    functionSourceFile: /src/glib/gio/gsimpleproxyresolver.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_simple_proxy_resolver_iface_init (GProxyResolverInterface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleproxyresolver.c:537,1
    - Dst: G_IS_SIMPLE_PROXY_RESOLVER
      Src: /src/glib/gio/gsimpleproxyresolver.c:537,1
    - Dst: g_uri_is_valid
      Src: /src/glib/gio/gsimpleproxyresolver.c:538,1
    - Dst: g_free
      Src: /src/glib/gio/gsimpleproxyresolver.c:540,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleproxyresolver.c:538,1
    - Dst: g_strdup
      Src: /src/glib/gio/gsimpleproxyresolver.c:541,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gsimpleproxyresolver.c:542,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsimpleproxyresolver.c:542,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - resolver
    - default_proxy
    argTypes:
    - GSimpleProxyResolver*
    - gchar*
    constantsTouched: []
    func_position:
      end: 543
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 543
    functionName: g_simple_proxy_resolver_set_default_proxy
    functionSourceFile: /src/glib/gio/gsimpleproxyresolver.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_return_if_fail
    - g_object_notify
    - g_uri_is_valid
    - G_OBJECT
    - G_IS_SIMPLE_PROXY_RESOLVER
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_simple_proxy_resolver_set_default_proxy (GSimpleProxyResolver
      *resolver, const gchar *default_proxy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_simple_proxy_resolver_get_instance_private
      Src: /src/glib/gio/gsimpleproxyresolver.c:99,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gsimpleproxyresolver.c:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - resolver
    argTypes:
    - GSimpleProxyResolver*
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: g_simple_proxy_resolver_init
    functionSourceFile: /src/glib/gio/gsimpleproxyresolver.c
    functionUses: []
    functionsReached:
    - g_simple_proxy_resolver_get_instance_private
    - g_hash_table_new_full
    linkageType: ''
    returnType: void
    signature: 'static void g_simple_proxy_resolver_init (GSimpleProxyResolver *resolver) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_SIMPLE_PROXY_RESOLVER
      Src: /src/glib/gio/gsimpleproxyresolver.c:133,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gsimpleproxyresolver.c:146,1
    - Dst: g_value_set_boxed
      Src: /src/glib/gio/gsimpleproxyresolver.c:142,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gsimpleproxyresolver.c:138,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 148
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 148
    functionName: g_simple_proxy_resolver_get_property
    functionSourceFile: /src/glib/gio/gsimpleproxyresolver.c
    functionUses: []
    functionsReached:
    - g_value_set_string
    - g_value_set_boxed
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_SIMPLE_PROXY_RESOLVER
    linkageType: ''
    returnType: void
    signature: 'static void g_simple_proxy_resolver_get_property (GObject *object,
      guint prop_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_inet_socket_address_new_from_string
      Src: /src/glib/gio/gsimpleproxyresolver.c:271,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gsimpleproxyresolver.c:287,1
    - Dst: g_hostname_is_non_ascii
      Src: /src/glib/gio/gsimpleproxyresolver.c:296,1
    - Dst: g_inet_socket_address_get_address
      Src: /src/glib/gio/gsimpleproxyresolver.c:272,1
    - Dst: g_inet_address_mask_matches
      Src: /src/glib/gio/gsimpleproxyresolver.c:279,1
    - Dst: g_hostname_to_ascii
      Src: /src/glib/gio/gsimpleproxyresolver.c:297,1
    - Dst: strlen
      Src: /src/glib/gio/gsimpleproxyresolver.c:299,1
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/gio/gsimpleproxyresolver.c:311,1
    - Dst: g_free
      Src: /src/glib/gio/gsimpleproxyresolver.c:318,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 48
    argCount: 3
    argNames:
    - resolver
    - host
    - port
    argTypes:
    - GSimpleProxyResolver*
    - gchar*
    - gushort
    constantsTouched: []
    func_position:
      end: 322
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 322
    functionName: ignore_host
    functionSourceFile: /src/glib/gio/gsimpleproxyresolver.c
    functionUses: []
    functionsReached:
    - g_inet_socket_address_get_address
    - g_hostname_is_non_ascii
    - strlen
    - g_ascii_strcasecmp
    - g_free
    - g_clear_object
    - g_hostname_to_ascii
    - g_inet_socket_address_new_from_string
    - g_inet_address_mask_matches
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean ignore_host (GSimpleProxyResolver *resolver,\t const\
      \ gchar *host,\t gushort port) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_SIMPLE_PROXY_RESOLVER
      Src: /src/glib/gio/gsimpleproxyresolver.c:385,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gsimpleproxyresolver.c:391,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gsimpleproxyresolver.c:396,1
    - Dst: g_task_new
      Src: /src/glib/gio/gsimpleproxyresolver.c:390,1
    - Dst: g_simple_proxy_resolver_lookup
      Src: /src/glib/gio/gsimpleproxyresolver.c:393,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gsimpleproxyresolver.c:398,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsimpleproxyresolver.c:399,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 5
    argNames:
    - proxy_resolver
    - uri
    - cancellable
    - callback
    - user_data
    argTypes:
    - GProxyResolver*
    - gchar*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 400
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 400
    functionName: g_simple_proxy_resolver_lookup_async
    functionSourceFile: /src/glib/gio/gsimpleproxyresolver.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_object_unref
    - g_task_return_pointer
    - g_task_set_source_tag
    - G_SIMPLE_PROXY_RESOLVER
    - g_simple_proxy_resolver_lookup
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void g_simple_proxy_resolver_lookup_async (GProxyResolver *proxy_resolver,
      const gchar *uri, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsimpleproxyresolver.c:415,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsimpleproxyresolver.c:476,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsimpleproxyresolver.c:432,1
    - Dst: g_param_spec_boxed
      Src: /src/glib/gio/gsimpleproxyresolver.c:477,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gsimpleproxyresolver.c:433,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - resolver_class
    argTypes:
    - GSimpleProxyResolverClass*
    constantsTouched: []
    func_position:
      end: 482
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 482
    functionName: g_simple_proxy_resolver_class_init
    functionSourceFile: /src/glib/gio/gsimpleproxyresolver.c
    functionUses: []
    functionsReached:
    - g_param_spec_string
    - g_param_spec_boxed
    - g_object_class_install_property
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_simple_proxy_resolver_class_init (GSimpleProxyResolverClass
      *resolver_class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gsimpleproxyresolver.c:512,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 516
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 516
    functionName: g_simple_proxy_resolver_new
    functionSourceFile: /src/glib/gio/gsimpleproxyresolver.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: GProxyResolver*
    signature: 'GProxyResolver *g_simple_proxy_resolver_new (const gchar *default_proxy,
      gchar **ignore_hosts) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleproxyresolver.c:562,1
    - Dst: G_IS_SIMPLE_PROXY_RESOLVER
      Src: /src/glib/gio/gsimpleproxyresolver.c:562,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gsimpleproxyresolver.c:564,1
    - Dst: g_strdupv
      Src: /src/glib/gio/gsimpleproxyresolver.c:565,1
    - Dst: reparse_ignore_hosts
      Src: /src/glib/gio/gsimpleproxyresolver.c:566,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gsimpleproxyresolver.c:567,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsimpleproxyresolver.c:567,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - resolver
    - ignore_hosts
    argTypes:
    - GSimpleProxyResolver*
    - gchar**
    constantsTouched: []
    func_position:
      end: 568
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 568
    functionName: g_simple_proxy_resolver_set_ignore_hosts
    functionSourceFile: /src/glib/gio/gsimpleproxyresolver.c
    functionUses: []
    functionsReached:
    - g_strdupv
    - g_return_if_fail
    - g_object_notify
    - G_OBJECT
    - g_strfreev
    - G_IS_SIMPLE_PROXY_RESOLVER
    - reparse_ignore_hosts
    linkageType: ''
    returnType: void
    signature: 'void g_simple_proxy_resolver_set_ignore_hosts (GSimpleProxyResolver
      *resolver, gchar **ignore_hosts) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleproxyresolver.c:592,1
    - Dst: g_ascii_strdown
      Src: /src/glib/gio/gsimpleproxyresolver.c:595,1
    - Dst: g_hash_table_replace
      Src: /src/glib/gio/gsimpleproxyresolver.c:594,1
    - Dst: G_IS_SIMPLE_PROXY_RESOLVER
      Src: /src/glib/gio/gsimpleproxyresolver.c:592,1
    - Dst: g_strdup
      Src: /src/glib/gio/gsimpleproxyresolver.c:596,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - resolver
    - uri_scheme
    - proxy
    argTypes:
    - GSimpleProxyResolver*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 597
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 597
    functionName: g_simple_proxy_resolver_set_uri_proxy
    functionSourceFile: /src/glib/gio/gsimpleproxyresolver.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_hash_table_replace
    - g_return_if_fail
    - g_ascii_strdown
    - G_IS_SIMPLE_PROXY_RESOLVER
    linkageType: ''
    returnType: void
    signature: 'void g_simple_proxy_resolver_set_uri_proxy (GSimpleProxyResolver *resolver,
      const gchar *uri_scheme, const gchar *proxy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdrive.c:147,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:147,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:149,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 152
    functionName: g_drive_get_name
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - G_DRIVE_GET_IFACE
    - g_return_val_if_fail
    - G_IS_DRIVE
    linkageType: ''
    returnType: char*
    signature: 'char *g_drive_get_name (GDrive *drive) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdrive.c:348,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:348,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:350,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - drive
    argTypes:
    - GDrive*
    constantsTouched: []
    func_position:
      end: 356
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 356
    functionName: g_drive_can_eject
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - G_DRIVE_GET_IFACE
    - g_return_val_if_fail
    - G_IS_DRIVE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_drive_can_eject (GDrive *drive) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdrive.c:627,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdrive.c:628,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:627,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:630,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 636
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 636
    functionName: g_drive_get_identifier
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - G_DRIVE_GET_IFACE
    - g_return_val_if_fail
    - G_IS_DRIVE
    linkageType: ''
    returnType: char*
    signature: "char *g_drive_get_identifier (GDrive *drive,\t\t\tconst char *kind) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdrive.c:768,1
    - Dst: _
      Src: /src/glib/gio/gdrive.c:777,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gdrive.c:774,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:768,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:770,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 6
    argNames:
    - drive
    - flags
    - mount_operation
    - cancellable
    - callback
    - user_data
    argTypes:
    - GDrive*
    - GDriveStartFlags
    - GMountOperation*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 782
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 782
    functionName: g_drive_start
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - g_task_report_new_error
    - G_DRIVE_GET_IFACE
    - G_IS_DRIVE
    - _
    linkageType: ''
    returnType: void
    signature: 'void g_drive_start (GDrive *drive, GDriveStartFlags flags, GMountOperation
      *mount_operation, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer
      user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdrive.c:906,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:906,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdrive.c:907,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gdrive.c:907,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gdrive.c:909,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gdrive.c:911,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gdrive.c:912,1
    - Dst: G_TASK
      Src: /src/glib/gio/gdrive.c:912,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:914,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - drive
    - result
    - error
    argTypes:
    - GDrive*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 917
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 917
    functionName: g_drive_stop_finish
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    - G_DRIVE_GET_IFACE
    - G_IS_DRIVE
    - G_IS_ASYNC_RESULT
    - G_TASK
    - g_async_result_is_tagged
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_drive_stop_finish (GDrive *drive, GAsyncResult *result,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_new
      Src: /src/glib/gio/gdrive.c:75,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gdrive.c:92,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gdrive.c:78,1
    - Dst: I_
      Src: /src/glib/gio/gdrive.c:75,1
    - Dst: I_
      Src: /src/glib/gio/gdrive.c:92,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gdrive.c:95,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gdrive.c:107,1
    - Dst: I_
      Src: /src/glib/gio/gdrive.c:107,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gdrive.c:110,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gdrive.c:124,1
    - Dst: I_
      Src: /src/glib/gio/gdrive.c:124,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gdrive.c:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GDriveInterface*
    constantsTouched: []
    func_position:
      end: 131
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 131
    functionName: g_drive_default_init
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - I_
    - G_STRUCT_OFFSET
    - g_signal_new
    linkageType: ''
    returnType: void
    signature: 'static void g_drive_default_init (GDriveInterface *iface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdrive.c:595,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:595,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gdrive.c:596,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdrive.c:596,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gdrive.c:598,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gdrive.c:600,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gdrive.c:601,1
    - Dst: G_TASK
      Src: /src/glib/gio/gdrive.c:601,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:603,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - drive
    - result
    - error
    argTypes:
    - GDrive*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 606
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 606
    functionName: g_drive_poll_for_media_finish
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    - G_DRIVE_GET_IFACE
    - G_IS_DRIVE
    - G_IS_ASYNC_RESULT
    - G_TASK
    - g_async_result_is_tagged
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_drive_poll_for_media_finish (GDrive *drive, GAsyncResult
      *result, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdrive.c:730,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:732,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:730,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - drive
    argTypes:
    - GDrive*
    constantsTouched: []
    func_position:
      end: 738
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 738
    functionName: g_drive_can_start_degraded
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - G_DRIVE_GET_IFACE
    - g_return_val_if_fail
    - G_IS_DRIVE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_drive_can_start_degraded (GDrive *drive) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdrive.c:870,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:870,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:872,1
    - Dst: _
      Src: /src/glib/gio/gdrive.c:879,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gdrive.c:876,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 6
    argNames:
    - drive
    - flags
    - mount_operation
    - cancellable
    - callback
    - user_data
    argTypes:
    - GDrive*
    - GMountUnmountFlags
    - GMountOperation*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 884
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 884
    functionName: g_drive_stop
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - g_task_report_new_error
    - G_DRIVE_GET_IFACE
    - G_IS_DRIVE
    - _
    linkageType: ''
    returnType: void
    signature: 'void g_drive_stop (GDrive *drive, GMountUnmountFlags flags, GMountOperation
      *mount_operation, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer
      user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdrive.c:192,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:194,1
    - Dst: g_themed_icon_new_with_default_fallbacks
      Src: /src/glib/gio/gdrive.c:199,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:192,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 202
    functionName: g_drive_get_symbolic_icon
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - g_themed_icon_new_with_default_fallbacks
    - G_DRIVE_GET_IFACE
    - g_return_val_if_fail
    - G_IS_DRIVE
    linkageType: ''
    returnType: GIcon*
    signature: 'GIcon *g_drive_get_symbolic_icon (GDrive *drive) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdrive.c:284,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:286,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:284,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - drive
    argTypes:
    - GDrive*
    constantsTouched: []
    func_position:
      end: 291
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 291
    functionName: g_drive_is_removable
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - G_DRIVE_GET_IFACE
    - g_return_val_if_fail
    - G_IS_DRIVE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_drive_is_removable (GDrive *drive) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdrive.c:561,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gdrive.c:567,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:563,1
    - Dst: _
      Src: /src/glib/gio/gdrive.c:570,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:561,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - drive
    - cancellable
    - callback
    - user_data
    argTypes:
    - GDrive*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 575
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 575
    functionName: g_drive_poll_for_media
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - g_task_report_new_error
    - G_DRIVE_GET_IFACE
    - G_IS_DRIVE
    - _
    linkageType: ''
    returnType: void
    signature: 'void g_drive_poll_for_media (GDrive *drive, GCancellable *cancellable,
      GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdrive.c:168,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:168,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 173
    functionName: g_drive_get_icon
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - G_DRIVE_GET_IFACE
    - g_return_val_if_fail
    - G_IS_DRIVE
    linkageType: ''
    returnType: GIcon*
    signature: 'GIcon *g_drive_get_icon (GDrive *drive) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdrive.c:261,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:263,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:261,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - drive
    argTypes:
    - GDrive*
    constantsTouched: []
    func_position:
      end: 266
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 266
    functionName: g_drive_is_media_check_automatic
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - G_DRIVE_GET_IFACE
    - g_return_val_if_fail
    - G_IS_DRIVE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_drive_is_media_check_automatic (GDrive *drive) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdrive.c:328,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:330,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - drive
    argTypes:
    - GDrive*
    constantsTouched: []
    func_position:
      end: 333
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 333
    functionName: g_drive_has_media
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - G_DRIVE_GET_IFACE
    - g_return_val_if_fail
    - G_IS_DRIVE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_drive_has_media (GDrive *drive) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdrive.c:705,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:707,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:705,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - drive
    argTypes:
    - GDrive*
    constantsTouched: []
    func_position:
      end: 713
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 713
    functionName: g_drive_can_start
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - G_DRIVE_GET_IFACE
    - g_return_val_if_fail
    - G_IS_DRIVE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_drive_can_start (GDrive *drive) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdrive.c:832,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:834,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:832,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - drive
    argTypes:
    - GDrive*
    constantsTouched: []
    func_position:
      end: 840
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 840
    functionName: g_drive_can_stop
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - G_DRIVE_GET_IFACE
    - g_return_val_if_fail
    - G_IS_DRIVE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_drive_can_stop (GDrive *drive) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdrive.c:935,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:937,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:935,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 942
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 942
    functionName: g_drive_get_sort_key
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - G_DRIVE_GET_IFACE
    - g_return_val_if_fail
    - G_IS_DRIVE
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_drive_get_sort_key (GDrive *drive) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdrive.c:240,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:242,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 245
    functionName: g_drive_get_volumes
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - G_DRIVE_GET_IFACE
    - g_return_val_if_fail
    - G_IS_DRIVE
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_drive_get_volumes (GDrive *drive) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdrive.c:306,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:308,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:306,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - drive
    argTypes:
    - GDrive*
    constantsTouched: []
    func_position:
      end: 311
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 311
    functionName: g_drive_is_media_removable
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - G_DRIVE_GET_IFACE
    - g_return_val_if_fail
    - G_IS_DRIVE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_drive_is_media_removable (GDrive *drive) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdrive.c:525,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:525,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gdrive.c:526,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdrive.c:526,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gdrive.c:528,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gdrive.c:530,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gdrive.c:531,1
    - Dst: G_TASK
      Src: /src/glib/gio/gdrive.c:531,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:533,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - drive
    - result
    - error
    argTypes:
    - GDrive*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 538
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 538
    functionName: g_drive_eject_with_operation_finish
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    - G_DRIVE_GET_IFACE
    - G_IS_DRIVE
    - G_IS_ASYNC_RESULT
    - G_TASK
    - g_async_result_is_tagged
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_drive_eject_with_operation_finish (GDrive *drive, GAsyncResult
      *result, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdrive.c:679,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:679,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:681,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - drive
    argTypes:
    - GDrive*
    constantsTouched: []
    func_position:
      end: 687
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 687
    functionName: g_drive_get_start_stop_type
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - G_DRIVE_GET_IFACE
    - g_return_val_if_fail
    - G_IS_DRIVE
    linkageType: ''
    returnType: GDriveStartStopType
    signature: 'GDriveStartStopType g_drive_get_start_stop_type (GDrive *drive) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdrive.c:804,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gdrive.c:805,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gdrive.c:807,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdrive.c:805,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:804,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gdrive.c:809,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gdrive.c:810,1
    - Dst: G_TASK
      Src: /src/glib/gio/gdrive.c:810,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:812,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - drive
    - result
    - error
    argTypes:
    - GDrive*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 815
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 815
    functionName: g_drive_start_finish
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    - G_DRIVE_GET_IFACE
    - G_IS_DRIVE
    - G_IS_ASYNC_RESULT
    - G_TASK
    - g_async_result_is_tagged
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_drive_start_finish (GDrive *drive, GAsyncResult *result,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdrive.c:217,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:219,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - drive
    argTypes:
    - GDrive*
    constantsTouched: []
    func_position:
      end: 222
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 222
    functionName: g_drive_has_volumes
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - G_DRIVE_GET_IFACE
    - g_return_val_if_fail
    - G_IS_DRIVE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_drive_has_volumes (GDrive *drive) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdrive.c:443,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:443,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gdrive.c:444,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdrive.c:444,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gdrive.c:446,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gdrive.c:448,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gdrive.c:449,1
    - Dst: G_TASK
      Src: /src/glib/gio/gdrive.c:449,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:451,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - drive
    - result
    - error
    argTypes:
    - GDrive*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 454
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 454
    functionName: g_drive_eject_finish
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    - G_DRIVE_GET_IFACE
    - G_IS_DRIVE
    - G_IS_ASYNC_RESULT
    - G_TASK
    - g_async_result_is_tagged
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_drive_eject_finish (GDrive *drive,\t\t GAsyncResult *result,\t\
      \t GError **error) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdrive.c:482,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gdrive.c:488,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:482,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:484,1
    - Dst: _
      Src: /src/glib/gio/gdrive.c:494,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 6
    argNames:
    - drive
    - flags
    - mount_operation
    - cancellable
    - callback
    - user_data
    argTypes:
    - GDrive*
    - GMountUnmountFlags
    - GMountOperation*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 502
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 502
    functionName: g_drive_eject_with_operation
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - g_task_report_new_error
    - G_DRIVE_GET_IFACE
    - G_IS_DRIVE
    - _
    linkageType: ''
    returnType: void
    signature: 'void g_drive_eject_with_operation (GDrive *drive, GMountUnmountFlags
      flags, GMountOperation *mount_operation, GCancellable *cancellable, GAsyncReadyCallback
      callback, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdrive.c:407,1
    - Dst: _
      Src: /src/glib/gio/gdrive.c:416,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:407,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gdrive.c:413,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:409,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 5
    argNames:
    - drive
    - flags
    - cancellable
    - callback
    - user_data
    argTypes:
    - GDrive*
    - GMountUnmountFlags
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 421
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 421
    functionName: g_drive_eject
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - g_task_report_new_error
    - G_DRIVE_GET_IFACE
    - G_IS_DRIVE
    - _
    linkageType: ''
    returnType: void
    signature: "void g_drive_eject (GDrive *drive,\t GMountUnmountFlags flags,\t GCancellable\
      \ *cancellable,\t GAsyncReadyCallback callback,\t gpointer user_data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdrive.c:372,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:374,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:372,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - drive
    argTypes:
    - GDrive*
    constantsTouched: []
    func_position:
      end: 380
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 380
    functionName: g_drive_can_poll_for_media
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - G_DRIVE_GET_IFACE
    - g_return_val_if_fail
    - G_IS_DRIVE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_drive_can_poll_for_media (GDrive *drive) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdrive.c:655,1
    - Dst: G_DRIVE_GET_IFACE
      Src: /src/glib/gio/gdrive.c:656,1
    - Dst: G_IS_DRIVE
      Src: /src/glib/gio/gdrive.c:655,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 662
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 662
    functionName: g_drive_enumerate_identifiers
    functionSourceFile: /src/glib/gio/gdrive.c
    functionUses: []
    functionsReached:
    - G_DRIVE_GET_IFACE
    - g_return_val_if_fail
    - G_IS_DRIVE
    linkageType: ''
    returnType: char**
    signature: 'char **g_drive_enumerate_identifiers (GDrive *drive) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - message
    argTypes:
    - GSocketControlMessage*
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: g_unix_credentials_message_get_size
    functionSourceFile: /src/glib/gio/gunixcredentialsmessage.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gsize
    signature: 'static gsize g_unix_credentials_message_get_size (GSocketControlMessage
      *message) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_CREDENTIALS_MESSAGE
      Src: /src/glib/gio/gunixcredentialsmessage.c:160,1
    - Dst: g_credentials_get_native
      Src: /src/glib/gio/gunixcredentialsmessage.c:163,1
    - Dst: memcpy
      Src: /src/glib/gio/gunixcredentialsmessage.c:162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - _message
    - data
    argTypes:
    - GSocketControlMessage*
    - gpointer
    constantsTouched: []
    func_position:
      end: 167
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 167
    functionName: g_unix_credentials_message_serialize
    functionSourceFile: /src/glib/gio/gunixcredentialsmessage.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_credentials_get_native
    - G_UNIX_CREDENTIALS_MESSAGE
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_credentials_message_serialize (GSocketControlMessage
      *_message, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 1
    argCount: 1
    argNames:
    - message
    argTypes:
    - GSocketControlMessage*
    constantsTouched: []
    func_position:
      end: 111
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 111
    functionName: g_unix_credentials_message_get_msg_type
    functionSourceFile: /src/glib/gio/gunixcredentialsmessage.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int g_unix_credentials_message_get_msg_type (GSocketControlMessage
      *message) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_credentials_message_get_instance_private
      Src: /src/glib/gio/gunixcredentialsmessage.c:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - message
    argTypes:
    - GUnixCredentialsMessage*
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: g_unix_credentials_message_init
    functionSourceFile: /src/glib/gio/gunixcredentialsmessage.c
    functionUses: []
    functionsReached:
    - g_unix_credentials_message_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_credentials_message_init (GUnixCredentialsMessage
      *message) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_CREDENTIALS_MESSAGE
      Src: /src/glib/gio/gunixcredentialsmessage.c:212,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gunixcredentialsmessage.c:221,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/gunixcredentialsmessage.c:217,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 224
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 224
    functionName: g_unix_credentials_message_set_property
    functionSourceFile: /src/glib/gio/gunixcredentialsmessage.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_dup_object
    - G_UNIX_CREDENTIALS_MESSAGE
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_credentials_message_set_property (GObject *object,
      guint prop_id, const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gunixcredentialsmessage.c:244,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gunixcredentialsmessage.c:266,1
    - Dst: G_SOCKET_CONTROL_MESSAGE_CLASS
      Src: /src/glib/gio/gunixcredentialsmessage.c:250,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gunixcredentialsmessage.c:264,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - class
    argTypes:
    - GUnixCredentialsMessageClass*
    constantsTouched: []
    func_position:
      end: 275
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 275
    functionName: g_unix_credentials_message_class_init
    functionSourceFile: /src/glib/gio/gunixcredentialsmessage.c
    functionUses: []
    functionsReached:
    - g_param_spec_object
    - G_SOCKET_CONTROL_MESSAGE_CLASS
    - g_object_class_install_property
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_credentials_message_class_init (GUnixCredentialsMessageClass
      *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixcredentialsmessage.c:330,1
    - Dst: G_IS_CREDENTIALS
      Src: /src/glib/gio/gunixcredentialsmessage.c:330,1
    - Dst: g_unix_credentials_message_is_supported
      Src: /src/glib/gio/gunixcredentialsmessage.c:331,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixcredentialsmessage.c:331,1
    - Dst: g_object_new
      Src: /src/glib/gio/gunixcredentialsmessage.c:332,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 335
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 335
    functionName: g_unix_credentials_message_new_with_credentials
    functionSourceFile: /src/glib/gio/gunixcredentialsmessage.c
    functionUses: []
    functionsReached:
    - g_unix_credentials_message_is_supported
    - g_return_val_if_fail
    - G_IS_CREDENTIALS
    - g_object_new
    linkageType: ''
    returnType: GSocketControlMessage*
    signature: 'GSocketControlMessage *g_unix_credentials_message_new_with_credentials
      (GCredentials *credentials) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_credentials_message_get_msg_type
      Src: /src/glib/gio/gunixcredentialsmessage.c:123,1
    - Dst: g_credentials_get_unix_user
      Src: /src/glib/gio/gunixcredentialsmessage.c:137,1
    - Dst: g_credentials_set_native
      Src: /src/glib/gio/gunixcredentialsmessage.c:135,1
    - Dst: g_credentials_new
      Src: /src/glib/gio/gunixcredentialsmessage.c:134,1
    - Dst: g_warning
      Src: /src/glib/gio/gunixcredentialsmessage.c:128,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixcredentialsmessage.c:140,1
    - Dst: g_unix_credentials_message_new_with_credentials
      Src: /src/glib/gio/gunixcredentialsmessage.c:144,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixcredentialsmessage.c:145,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 153
    functionName: g_unix_credentials_message_deserialize
    functionSourceFile: /src/glib/gio/gunixcredentialsmessage.c
    functionUses: []
    functionsReached:
    - g_credentials_set_native
    - g_warning
    - g_object_unref
    - g_unix_credentials_message_new_with_credentials
    - g_credentials_get_unix_user
    - g_unix_credentials_message_get_msg_type
    - g_credentials_new
    linkageType: ''
    returnType: GSocketControlMessage*
    signature: 'static GSocketControlMessage *g_unix_credentials_message_deserialize
      (gint level, gint type, gsize size, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - message
    argTypes:
    - GSocketControlMessage*
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: g_unix_credentials_message_get_level
    functionSourceFile: /src/glib/gio/gunixcredentialsmessage.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int g_unix_credentials_message_get_level (GSocketControlMessage
      *message) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_CREDENTIALS_MESSAGE
      Src: /src/glib/gio/gunixcredentialsmessage.c:172,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gunixcredentialsmessage.c:177,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixcredentialsmessage.c:175,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 178
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 178
    functionName: g_unix_credentials_message_finalize
    functionSourceFile: /src/glib/gio/gunixcredentialsmessage.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - G_UNIX_CREDENTIALS_MESSAGE
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_credentials_message_finalize (GObject *object) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_CREDENTIALS_MESSAGE
      Src: /src/glib/gio/gunixcredentialsmessage.c:192,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gunixcredentialsmessage.c:201,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gunixcredentialsmessage.c:197,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 204
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 204
    functionName: g_unix_credentials_message_get_property
    functionSourceFile: /src/glib/gio/gunixcredentialsmessage.c
    functionUses: []
    functionsReached:
    - g_value_set_object
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_UNIX_CREDENTIALS_MESSAGE
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_credentials_message_get_property (GObject *object,
      guint prop_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_CREDENTIALS_MESSAGE
      Src: /src/glib/gio/gunixcredentialsmessage.c:229,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gunixcredentialsmessage.c:235,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gunixcredentialsmessage.c:234,1
    - Dst: g_credentials_new
      Src: /src/glib/gio/gunixcredentialsmessage.c:232,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 236
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 236
    functionName: g_unix_credentials_message_constructed
    functionSourceFile: /src/glib/gio/gunixcredentialsmessage.c
    functionUses: []
    functionsReached:
    - g_credentials_new
    - G_UNIX_CREDENTIALS_MESSAGE
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_credentials_message_constructed (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixcredentialsmessage.c:312,1
    - Dst: g_unix_credentials_message_is_supported
      Src: /src/glib/gio/gunixcredentialsmessage.c:312,1
    - Dst: g_object_new
      Src: /src/glib/gio/gunixcredentialsmessage.c:313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 315
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 315
    functionName: g_unix_credentials_message_new
    functionSourceFile: /src/glib/gio/gunixcredentialsmessage.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_unix_credentials_message_is_supported
    - g_object_new
    linkageType: ''
    returnType: GSocketControlMessage*
    signature: 'GSocketControlMessage *g_unix_credentials_message_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixcredentialsmessage.c:350,1
    - Dst: G_IS_UNIX_CREDENTIALS_MESSAGE
      Src: /src/glib/gio/gunixcredentialsmessage.c:350,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 352
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 352
    functionName: g_unix_credentials_message_get_credentials
    functionSourceFile: /src/glib/gio/gunixcredentialsmessage.c
    functionUses: []
    functionsReached:
    - G_IS_UNIX_CREDENTIALS_MESSAGE
    - g_return_val_if_fail
    linkageType: ''
    returnType: GCredentials*
    signature: 'GCredentials *g_unix_credentials_message_get_credentials (GUnixCredentialsMessage
      *message) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 296
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 296
    functionName: g_unix_credentials_message_is_supported
    functionSourceFile: /src/glib/gio/gunixcredentialsmessage.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unix_credentials_message_is_supported (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_memory_input_stream_new
      Src: /src/glib/gio/gmemoryinputstream.c:200,1
    - Dst: G_MEMORY_INPUT_STREAM
      Src: /src/glib/gio/gmemoryinputstream.c:202,1
    - Dst: g_memory_input_stream_add_data
      Src: /src/glib/gio/gmemoryinputstream.c:202,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 206
    functionName: g_memory_input_stream_new_from_data
    functionSourceFile: /src/glib/gio/gmemoryinputstream.c
    functionUses: []
    functionsReached:
    - G_MEMORY_INPUT_STREAM
    - g_memory_input_stream_add_data
    - g_memory_input_stream_new
    linkageType: ''
    returnType: GInputStream*
    signature: 'GInputStream *g_memory_input_stream_new_from_data (const void *data,
      gssize len, GDestroyNotify destroy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmemoryinputstream.c:277,1
    - Dst: g_slist_append
      Src: /src/glib/gio/gmemoryinputstream.c:282,1
    - Dst: G_IS_MEMORY_INPUT_STREAM
      Src: /src/glib/gio/gmemoryinputstream.c:277,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmemoryinputstream.c:278,1
    - Dst: g_bytes_ref
      Src: /src/glib/gio/gmemoryinputstream.c:282,1
    - Dst: g_bytes_get_size
      Src: /src/glib/gio/gmemoryinputstream.c:283,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - stream
    - bytes
    argTypes:
    - GMemoryInputStream*
    - GBytes*
    constantsTouched: []
    func_position:
      end: 284
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 284
    functionName: g_memory_input_stream_add_bytes
    functionSourceFile: /src/glib/gio/gmemoryinputstream.c
    functionUses: []
    functionsReached:
    - G_IS_MEMORY_INPUT_STREAM
    - g_return_if_fail
    - g_bytes_get_size
    - g_bytes_ref
    - g_slist_append
    linkageType: ''
    returnType: void
    signature: "void g_memory_input_stream_add_bytes (GMemoryInputStream *stream,\t\
      \t\t\t GBytes *bytes) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_MEMORY_INPUT_STREAM
      Src: /src/glib/gio/gmemoryinputstream.c:349,1
    - Dst: MIN
      Src: /src/glib/gio/gmemoryinputstream.c:352,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 4
    argNames:
    - stream
    - count
    - cancellable
    - error
    argTypes:
    - GInputStream*
    - gsize
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 356
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 356
    functionName: g_memory_input_stream_skip
    functionSourceFile: /src/glib/gio/gmemoryinputstream.c
    functionUses: []
    functionsReached:
    - G_MEMORY_INPUT_STREAM
    - MIN
    linkageType: ''
    returnType: gssize
    signature: 'static gssize g_memory_input_stream_skip (GInputStream *stream, gsize
      count, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_MEMORY_INPUT_STREAM
      Src: /src/glib/gio/gmemoryinputstream.c:428,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - seekable
    argTypes:
    - GSeekable*
    constantsTouched: []
    func_position:
      end: 432
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 432
    functionName: g_memory_input_stream_tell
    functionSourceFile: /src/glib/gio/gmemoryinputstream.c
    functionUses: []
    functionsReached:
    - G_MEMORY_INPUT_STREAM
    linkageType: ''
    returnType: goffset
    signature: 'static goffset g_memory_input_stream_tell (GSeekable *seekable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_MEMORY_INPUT_STREAM
      Src: /src/glib/gio/gmemoryinputstream.c:300,1
    - Dst: g_bytes_get_size
      Src: /src/glib/gio/gmemoryinputstream.c:309,1
    - Dst: MIN
      Src: /src/glib/gio/gmemoryinputstream.c:303,1
    - Dst: g_bytes_get_data
      Src: /src/glib/gio/gmemoryinputstream.c:325,1
    - Dst: MIN
      Src: /src/glib/gio/gmemoryinputstream.c:327,1
    - Dst: memcpy
      Src: /src/glib/gio/gmemoryinputstream.c:329,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 5
    argNames:
    - stream
    - buffer
    - count
    - cancellable
    - error
    argTypes:
    - GInputStream*
    - void*
    - gsize
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 338
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 338
    functionName: g_memory_input_stream_read
    functionSourceFile: /src/glib/gio/gmemoryinputstream.c
    functionUses: []
    functionsReached:
    - G_MEMORY_INPUT_STREAM
    - memcpy
    - MIN
    - g_bytes_get_size
    - g_bytes_get_data
    linkageType: ''
    returnType: gssize
    signature: 'static gssize g_memory_input_stream_read (GInputStream *stream, void
      *buffer, gsize count, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GInputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 364
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 364
    functionName: g_memory_input_stream_close
    functionSourceFile: /src/glib/gio/gmemoryinputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_memory_input_stream_close (GInputStream *stream,
      GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - seekable
    argTypes:
    - GSeekable*
    constantsTouched: []
    func_position:
      end: 438
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 438
    functionName: g_memory_input_stream_can_seek
    functionSourceFile: /src/glib/gio/gmemoryinputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_memory_input_stream_can_seek (GSeekable *seekable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gmemoryinputstream.c:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 181
    functionName: g_memory_input_stream_new
    functionSourceFile: /src/glib/gio/gmemoryinputstream.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: GInputStream*
    signature: 'GInputStream *g_memory_input_stream_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gmemoryinputstream.c:115,1
    - Dst: G_INPUT_STREAM_CLASS
      Src: /src/glib/gio/gmemoryinputstream.c:118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GMemoryInputStreamClass*
    constantsTouched: []
    func_position:
      end: 127
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 127
    functionName: g_memory_input_stream_class_init
    functionSourceFile: /src/glib/gio/gmemoryinputstream.c
    functionUses: []
    functionsReached:
    - G_INPUT_STREAM_CLASS
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_memory_input_stream_class_init (GMemoryInputStreamClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_MEMORY_INPUT_STREAM
      Src: /src/glib/gio/gmemoryinputstream.c:135,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gmemoryinputstream.c:140,1
    - Dst: g_slist_free_full
      Src: /src/glib/gio/gmemoryinputstream.c:138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 141
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 141
    functionName: g_memory_input_stream_finalize
    functionSourceFile: /src/glib/gio/gmemoryinputstream.c
    functionUses: []
    functionsReached:
    - G_MEMORY_INPUT_STREAM
    - g_slist_free_full
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_memory_input_stream_finalize (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/gio/gmemoryinputstream.c:250,1
    - Dst: g_bytes_new_with_free_func
      Src: /src/glib/gio/gmemoryinputstream.c:255,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/gmemoryinputstream.c:259,1
    - Dst: g_memory_input_stream_add_bytes
      Src: /src/glib/gio/gmemoryinputstream.c:257,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - stream
    - data
    - len
    - destroy
    argTypes:
    - GMemoryInputStream*
    - void*
    - gssize
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 260
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 260
    functionName: g_memory_input_stream_add_data
    functionSourceFile: /src/glib/gio/gmemoryinputstream.c
    functionUses: []
    functionsReached:
    - g_memory_input_stream_add_bytes
    - g_bytes_new_with_free_func
    - g_bytes_unref
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void g_memory_input_stream_add_data (GMemoryInputStream *stream, const
      void *data, gssize len, GDestroyNotify destroy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GSeekableIface*
    constantsTouched: []
    func_position:
      end: 151
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 151
    functionName: g_memory_input_stream_seekable_iface_init
    functionSourceFile: /src/glib/gio/gmemoryinputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_memory_input_stream_seekable_iface_init (GSeekableIface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_memory_input_stream_new
      Src: /src/glib/gio/gmemoryinputstream.c:224,1
    - Dst: g_memory_input_stream_add_bytes
      Src: /src/glib/gio/gmemoryinputstream.c:226,1
    - Dst: G_MEMORY_INPUT_STREAM
      Src: /src/glib/gio/gmemoryinputstream.c:226,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 230
    functionName: g_memory_input_stream_new_from_bytes
    functionSourceFile: /src/glib/gio/gmemoryinputstream.c
    functionUses: []
    functionsReached:
    - G_MEMORY_INPUT_STREAM
    - g_memory_input_stream_new
    - g_memory_input_stream_add_bytes
    linkageType: ''
    returnType: GInputStream*
    signature: 'GInputStream *g_memory_input_stream_new_from_bytes (GBytes *bytes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GPollableInputStreamInterface*
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: g_memory_input_stream_pollable_iface_init
    functionSourceFile: /src/glib/gio/gmemoryinputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_memory_input_stream_pollable_iface_init (GPollableInputStreamInterface
      *iface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gmemoryinputstream.c:380,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gmemoryinputstream.c:383,1
    - Dst: G_INPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/gmemoryinputstream.c:378,1
    - Dst: g_task_new
      Src: /src/glib/gio/gmemoryinputstream.c:379,1
    - Dst: g_task_return_int
      Src: /src/glib/gio/gmemoryinputstream.c:385,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gmemoryinputstream.c:386,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 6
    argNames:
    - stream
    - count
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GInputStream*
    - gsize
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 387
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 387
    functionName: g_memory_input_stream_skip_async
    functionSourceFile: /src/glib/gio/gmemoryinputstream.c
    functionUses: []
    functionsReached:
    - G_INPUT_STREAM_GET_CLASS
    - g_task_new
    - g_object_unref
    - g_task_set_source_tag
    - g_task_return_int
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void g_memory_input_stream_skip_async (GInputStream *stream,
      gsize count, int io_priority, GCancellable *cancellable, GAsyncReadyCallback
      callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_memory_input_stream_get_instance_private
      Src: /src/glib/gio/gmemoryinputstream.c:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GMemoryInputStream*
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: g_memory_input_stream_init
    functionSourceFile: /src/glib/gio/gmemoryinputstream.c
    functionUses: []
    functionsReached:
    - g_memory_input_stream_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_memory_input_stream_init (GMemoryInputStream *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmemoryinputstream.c:394,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/gmemoryinputstream.c:396,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gmemoryinputstream.c:394,1
    - Dst: G_TASK
      Src: /src/glib/gio/gmemoryinputstream.c:396,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - stream
    - result
    - error
    argTypes:
    - GInputStream*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 397
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 397
    functionName: g_memory_input_stream_skip_finish
    functionSourceFile: /src/glib/gio/gmemoryinputstream.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_return_val_if_fail
    - g_task_is_valid
    - g_task_propagate_int
    linkageType: ''
    returnType: gssize
    signature: 'static gssize g_memory_input_stream_skip_finish (GInputStream *stream,
      GAsyncResult *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/gmemoryinputstream.c:408,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gmemoryinputstream.c:410,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gmemoryinputstream.c:411,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gmemoryinputstream.c:409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 5
    argNames:
    - stream
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GInputStream*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 412
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 412
    functionName: g_memory_input_stream_close_async
    functionSourceFile: /src/glib/gio/gmemoryinputstream.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_task_new
    - g_object_unref
    - g_task_set_source_tag
    linkageType: ''
    returnType: void
    signature: 'static void g_memory_input_stream_close_async (GInputStream *stream,
      int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer
      user_data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_MEMORY_INPUT_STREAM
      Src: /src/glib/gio/gmemoryinputstream.c:451,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gmemoryinputstream.c:469,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gmemoryinputstream.c:479,1
    - Dst: _
      Src: /src/glib/gio/gmemoryinputstream.c:472,1
    - Dst: _
      Src: /src/glib/gio/gmemoryinputstream.c:482,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 19
    argCount: 5
    argNames:
    - seekable
    - offset
    - type
    - cancellable
    - error
    argTypes:
    - GSeekable*
    - goffset
    - GSeekType
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 489
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 489
    functionName: g_memory_input_stream_seek
    functionSourceFile: /src/glib/gio/gmemoryinputstream.c
    functionUses: []
    functionsReached:
    - G_MEMORY_INPUT_STREAM
    - g_set_error_literal
    - _
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_memory_input_stream_seek (GSeekable *seekable, goffset
      offset, GSeekType type, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gmemoryinputstream.c:503,1
    - Dst: _
      Src: /src/glib/gio/gmemoryinputstream.c:506,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - seekable
    - offset
    - cancellable
    - error
    argTypes:
    - GSeekable*
    - goffset
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 508
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 508
    functionName: g_memory_input_stream_truncate
    functionSourceFile: /src/glib/gio/gmemoryinputstream.c
    functionUses: []
    functionsReached:
    - _
    - g_set_error_literal
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_memory_input_stream_truncate (GSeekable *seekable,
      goffset offset, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 3
    argNames:
    - stream
    - result
    - error
    argTypes:
    - GInputStream*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 420
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 420
    functionName: g_memory_input_stream_close_finish
    functionSourceFile: /src/glib/gio/gmemoryinputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_memory_input_stream_close_finish (GInputStream *stream,
      GAsyncResult *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - seekable
    argTypes:
    - GSeekable*
    constantsTouched: []
    func_position:
      end: 495
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 495
    functionName: g_memory_input_stream_can_truncate
    functionSourceFile: /src/glib/gio/gmemoryinputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_memory_input_stream_can_truncate (GSeekable *seekable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GPollableInputStream*
    constantsTouched: []
    func_position:
      end: 514
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 514
    functionName: g_memory_input_stream_is_readable
    functionSourceFile: /src/glib/gio/gmemoryinputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_memory_input_stream_is_readable (GPollableInputStream
      *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_timeout_source_new
      Src: /src/glib/gio/gmemoryinputstream.c:522,1
    - Dst: g_pollable_source_new_full
      Src: /src/glib/gio/gmemoryinputstream.c:523,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gmemoryinputstream.c:525,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 528
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 528
    functionName: g_memory_input_stream_create_source
    functionSourceFile: /src/glib/gio/gmemoryinputstream.c
    functionUses: []
    functionsReached:
    - g_pollable_source_new_full
    - g_timeout_source_new
    - g_source_unref
    linkageType: ''
    returnType: GSource*
    signature: "static GSource *g_memory_input_stream_create_source (GPollableInputStream\
      \ *stream,\t\t\t\t GCancellable *cancellable) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: G_ACTION
      Src: /src/glib/gio/gsimpleaction.c:286,1
    - Dst: g_value_set_boxed
      Src: /src/glib/gio/gsimpleaction.c:295,1
    - Dst: g_simple_action_get_parameter_type
      Src: /src/glib/gio/gsimpleaction.c:295,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gsimpleaction.c:291,1
    - Dst: g_simple_action_get_name
      Src: /src/glib/gio/gsimpleaction.c:291,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gsimpleaction.c:299,1
    - Dst: g_simple_action_get_enabled
      Src: /src/glib/gio/gsimpleaction.c:299,1
    - Dst: g_value_set_boxed
      Src: /src/glib/gio/gsimpleaction.c:303,1
    - Dst: g_simple_action_get_state_type
      Src: /src/glib/gio/gsimpleaction.c:303,1
    - Dst: g_value_take_variant
      Src: /src/glib/gio/gsimpleaction.c:307,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gsimpleaction.c:311,1
    - Dst: g_simple_action_get_state
      Src: /src/glib/gio/gsimpleaction.c:307,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 313
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 313
    functionName: g_simple_action_get_property
    functionSourceFile: /src/glib/gio/gsimpleaction.c
    functionUses: []
    functionsReached:
    - g_simple_action_get_enabled
    - g_value_take_variant
    - G_ACTION
    - g_simple_action_get_state
    - g_value_set_string
    - g_value_set_boolean
    - g_simple_action_get_name
    - g_assert_not_reached
    - g_value_set_boxed
    - g_simple_action_get_parameter_type
    - g_simple_action_get_state_type
    linkageType: ''
    returnType: void
    signature: 'static void g_simple_action_get_property (GObject *object, guint prop_id,
      GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - simple
    argTypes:
    - GSimpleAction*
    constantsTouched: []
    func_position:
      end: 336
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 336
    functionName: g_simple_action_init
    functionSourceFile: /src/glib/gio/gsimpleaction.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void g_simple_action_init (GSimpleAction *simple) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsimpleaction.c:593,1
    - Dst: g_object_new
      Src: /src/glib/gio/gsimpleaction.c:595,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 599
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 599
    functionName: g_simple_action_new
    functionSourceFile: /src/glib/gio/gsimpleaction.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_object_new
    linkageType: ''
    returnType: GSimpleAction*
    signature: 'GSimpleAction *g_simple_action_new (const gchar *name, const GVariantType
      *parameter_type) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_SIMPLE_ACTION
      Src: /src/glib/gio/gsimpleaction.c:318,1
    - Dst: g_variant_type_free
      Src: /src/glib/gio/gsimpleaction.c:322,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsimpleaction.c:324,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsimpleaction.c:326,1
    - Dst: g_free
      Src: /src/glib/gio/gsimpleaction.c:320,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsimpleaction.c:328,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 330
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 330
    functionName: g_simple_action_finalize
    functionSourceFile: /src/glib/gio/gsimpleaction.c
    functionUses: []
    functionsReached:
    - G_SIMPLE_ACTION
    - g_variant_type_free
    - G_OBJECT_CLASS
    - g_variant_unref
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void g_simple_action_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GActionInterface*
    constantsTouched: []
    func_position:
      end: 349
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 349
    functionName: g_simple_action_iface_init
    functionSourceFile: /src/glib/gio/gsimpleaction.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void g_simple_action_iface_init (GActionInterface *iface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleaction.c:535,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsimpleaction.c:542,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gsimpleaction.c:542,1
    - Dst: G_IS_SIMPLE_ACTION
      Src: /src/glib/gio/gsimpleaction.c:535,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - simple
    - enabled
    argTypes:
    - GSimpleAction*
    - gboolean
    constantsTouched: []
    func_position:
      end: 544
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 544
    functionName: g_simple_action_set_enabled
    functionSourceFile: /src/glib/gio/gsimpleaction.c
    functionUses: []
    functionsReached:
    - g_object_notify
    - G_IS_SIMPLE_ACTION
    - G_OBJECT
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_simple_action_set_enabled (GSimpleAction *simple, gboolean
      enabled) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleaction.c:562,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gsimpleaction.c:571,1
    - Dst: G_IS_SIMPLE_ACTION
      Src: /src/glib/gio/gsimpleaction.c:562,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsimpleaction.c:566,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - simple
    - state_hint
    argTypes:
    - GSimpleAction*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 572
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 572
    functionName: g_simple_action_set_state_hint
    functionSourceFile: /src/glib/gio/gsimpleaction.c
    functionUses: []
    functionsReached:
    - g_variant_unref
    - G_IS_SIMPLE_ACTION
    - g_variant_ref
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_simple_action_set_state_hint (GSimpleAction *simple, GVariant
      *state_hint) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gsimpleaction.c:624,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 629
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 629
    functionName: g_simple_action_new_stateful
    functionSourceFile: /src/glib/gio/gsimpleaction.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: GSimpleAction*
    signature: 'GSimpleAction *g_simple_action_new_stateful (const gchar *name, const
      GVariantType *parameter_type, GVariant *state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SIMPLE_ACTION
      Src: /src/glib/gio/gsimpleaction.c:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - action
    argTypes:
    - GAction*
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: g_simple_action_get_enabled
    functionSourceFile: /src/glib/gio/gsimpleaction.c
    functionUses: []
    functionsReached:
    - G_SIMPLE_ACTION
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_simple_action_get_enabled (GAction *action) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_SIMPLE_ACTION
      Src: /src/glib/gio/gsimpleaction.c:92,1
    - Dst: g_variant_get_type
      Src: /src/glib/gio/gsimpleaction.c:95,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 98
    functionName: g_simple_action_get_state_type
    functionSourceFile: /src/glib/gio/gsimpleaction.c
    functionUses: []
    functionsReached:
    - G_SIMPLE_ACTION
    - g_variant_get_type
    linkageType: ''
    returnType: GVariantType*
    signature: 'static const GVariantType *g_simple_action_get_state_type (GAction
      *action) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: G_SIMPLE_ACTION
      Src: /src/glib/gio/gsimpleaction.c:197,1
    - Dst: g_signal_has_handler_pending
      Src: /src/glib/gio/gsimpleaction.c:213,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gsimpleaction.c:206,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleaction.c:199,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gsimpleaction.c:202,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsimpleaction.c:214,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gsimpleaction.c:220,1
    - Dst: g_variant_get_boolean
      Src: /src/glib/gio/gsimpleaction.c:222,1
    - Dst: g_simple_action_change_state
      Src: /src/glib/gio/gsimpleaction.c:223,1
    - Dst: g_variant_new_boolean
      Src: /src/glib/gio/gsimpleaction.c:223,1
    - Dst: g_simple_action_change_state
      Src: /src/glib/gio/gsimpleaction.c:228,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsimpleaction.c:233,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gsimpleaction.c:227,1
    - Dst: g_variant_get_type
      Src: /src/glib/gio/gsimpleaction.c:227,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 2
    argNames:
    - action
    - parameter
    argTypes:
    - GAction*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 234
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 234
    functionName: g_simple_action_activate
    functionSourceFile: /src/glib/gio/gsimpleaction.c
    functionUses: []
    functionsReached:
    - G_SIMPLE_ACTION
    - g_variant_ref_sink
    - g_variant_new_boolean
    - g_variant_is_of_type
    - g_return_if_fail
    - g_simple_action_change_state
    - g_variant_get_type
    - g_signal_emit
    - g_variant_unref
    - g_signal_has_handler_pending
    - g_variant_get_boolean
    linkageType: ''
    returnType: void
    signature: 'static void g_simple_action_activate (GAction *action, GVariant *parameter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_SIMPLE_ACTION
      Src: /src/glib/gio/gsimpleaction.c:103,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gsimpleaction.c:106,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 109
    functionName: g_simple_action_get_state_hint
    functionSourceFile: /src/glib/gio/gsimpleaction.c
    functionUses: []
    functionsReached:
    - G_SIMPLE_ACTION
    - g_variant_ref
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_simple_action_get_state_hint (GAction *action) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_SIMPLE_ACTION
      Src: /src/glib/gio/gsimpleaction.c:123,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsimpleaction.c:129,1
    - Dst: g_signal_has_handler_pending
      Src: /src/glib/gio/gsimpleaction.c:128,1
    - Dst: g_simple_action_set_state
      Src: /src/glib/gio/gsimpleaction.c:133,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - action
    - value
    argTypes:
    - GAction*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 134
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 134
    functionName: g_simple_action_change_state
    functionSourceFile: /src/glib/gio/gsimpleaction.c
    functionUses: []
    functionsReached:
    - G_SIMPLE_ACTION
    - g_signal_has_handler_pending
    - g_simple_action_set_state
    - g_signal_emit
    linkageType: ''
    returnType: void
    signature: 'static void g_simple_action_change_state (GAction *action, GVariant
      *value) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: G_SIMPLE_ACTION
      Src: /src/glib/gio/gsimpleaction.c:242,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gsimpleaction.c:255,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gsimpleaction.c:247,1
    - Dst: g_strdup
      Src: /src/glib/gio/gsimpleaction.c:247,1
    - Dst: g_value_dup_boxed
      Src: /src/glib/gio/gsimpleaction.c:251,1
    - Dst: g_value_dup_variant
      Src: /src/glib/gio/gsimpleaction.c:267,1
    - Dst: g_simple_action_set_state
      Src: /src/glib/gio/gsimpleaction.c:271,1
    - Dst: g_value_get_variant
      Src: /src/glib/gio/gsimpleaction.c:271,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gsimpleaction.c:276,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 278
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 278
    functionName: g_simple_action_set_property
    functionSourceFile: /src/glib/gio/gsimpleaction.c
    functionUses: []
    functionsReached:
    - G_SIMPLE_ACTION
    - g_strdup
    - g_value_dup_variant
    - g_value_dup_boxed
    - g_value_get_string
    - g_value_get_boolean
    - g_simple_action_set_state
    - g_assert_not_reached
    - g_value_get_variant
    linkageType: ''
    returnType: void
    signature: 'static void g_simple_action_set_property (GObject *object, guint prop_id,
      const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SIMPLE_ACTION
      Src: /src/glib/gio/gsimpleaction.c:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: g_simple_action_get_name
    functionSourceFile: /src/glib/gio/gsimpleaction.c
    functionUses: []
    functionsReached:
    - G_SIMPLE_ACTION
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *g_simple_action_get_name (GAction *action) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleaction.c:158,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleaction.c:159,1
    - Dst: G_IS_SIMPLE_ACTION
      Src: /src/glib/gio/gsimpleaction.c:158,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleaction.c:166,1
    - Dst: g_variant_get_type
      Src: /src/glib/gio/gsimpleaction.c:165,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleaction.c:167,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gsimpleaction.c:167,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gsimpleaction.c:170,1
    - Dst: g_variant_equal
      Src: /src/glib/gio/gsimpleaction.c:172,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsimpleaction.c:175,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gsimpleaction.c:179,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsimpleaction.c:179,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsimpleaction.c:182,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gsimpleaction.c:177,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - simple
    - value
    argTypes:
    - GSimpleAction*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 183
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 183
    functionName: g_simple_action_set_state
    functionSourceFile: /src/glib/gio/gsimpleaction.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - g_variant_equal
    - G_IS_SIMPLE_ACTION
    - g_variant_is_of_type
    - g_variant_get_type
    - g_return_if_fail
    - g_object_notify
    - G_OBJECT
    - g_variant_unref
    - g_variant_ref
    linkageType: ''
    returnType: void
    signature: 'void g_simple_action_set_state (GSimpleAction *simple, GVariant *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SIMPLE_ACTION
      Src: /src/glib/gio/gsimpleaction.c:84,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: g_simple_action_get_parameter_type
    functionSourceFile: /src/glib/gio/gsimpleaction.c
    functionUses: []
    functionsReached:
    - G_SIMPLE_ACTION
    linkageType: ''
    returnType: GVariantType*
    signature: 'static const GVariantType *g_simple_action_get_parameter_type (GAction
      *action) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SIMPLE_ACTION
      Src: /src/glib/gio/gsimpleaction.c:188,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gsimpleaction.c:190,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: g_simple_action_get_state
    functionSourceFile: /src/glib/gio/gsimpleaction.c
    functionUses: []
    functionsReached:
    - G_SIMPLE_ACTION
    - g_variant_ref
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_simple_action_get_state (GAction *action) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsimpleaction.c:354,1
    - Dst: I_
      Src: /src/glib/gio/gsimpleaction.c:433,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gsimpleaction.c:433,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gsimpleaction.c:383,1
    - Dst: I_
      Src: /src/glib/gio/gsimpleaction.c:383,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsimpleaction.c:449,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gsimpleaction.c:450,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsimpleaction.c:464,1
    - Dst: g_param_spec_boxed
      Src: /src/glib/gio/gsimpleaction.c:465,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsimpleaction.c:481,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsimpleaction.c:495,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsimpleaction.c:508,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gsimpleaction.c:482,1
    - Dst: g_param_spec_variant
      Src: /src/glib/gio/gsimpleaction.c:509,1
    - Dst: g_param_spec_boxed
      Src: /src/glib/gio/gsimpleaction.c:496,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 1
    argNames:
    - class
    argTypes:
    - GSimpleActionClass*
    constantsTouched: []
    func_position:
      end: 514
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 514
    functionName: g_simple_action_class_init
    functionSourceFile: /src/glib/gio/gsimpleaction.c
    functionUses: []
    functionsReached:
    - I_
    - g_param_spec_boolean
    - g_object_class_install_property
    - G_OBJECT_CLASS
    - g_param_spec_boxed
    - g_signal_new
    - g_param_spec_string
    - g_param_spec_variant
    linkageType: ''
    returnType: void
    signature: 'void g_simple_action_class_init (GSimpleActionClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_type_class_ref
      Src: /src/glib/gio/gnetworkmonitorportal.c:102,1
    - Dst: g_type_class_unref
      Src: /src/glib/gio/gnetworkmonitorportal.c:105,1
    - Dst: g_enum_get_value
      Src: /src/glib/gio/gnetworkmonitorportal.c:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - value
    argTypes:
    - guint32
    constantsTouched: []
    func_position:
      end: 108
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 108
    functionName: is_valid_connectivity
    functionSourceFile: /src/glib/gio/gnetworkmonitorportal.c
    functionUses: []
    functionsReached:
    - g_type_class_unref
    - g_type_class_ref
    - g_enum_get_value
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_valid_connectivity (guint32 value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gnetworkmonitorportal.c:611,1
    - Dst: G_TASK
      Src: /src/glib/gio/gnetworkmonitorportal.c:611,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - monitor
    - result
    - error
    argTypes:
    - GNetworkMonitor*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 612
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 612
    functionName: g_network_monitor_portal_can_reach_finish
    functionSourceFile: /src/glib/gio/gnetworkmonitorportal.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_task_propagate_boolean
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_network_monitor_portal_can_reach_finish (GNetworkMonitor
      *monitor, GAsyncResult *result, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/gnetworkmonitorportal.c:115,1
    - Dst: g_dbus_proxy_call_finish
      Src: /src/glib/gio/gnetworkmonitorportal.c:121,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gnetworkmonitorportal.c:124,1
    - Dst: g_warning
      Src: /src/glib/gio/gnetworkmonitorportal.c:126,1
    - Dst: G_NETWORK_MONITOR_PORTAL
      Src: /src/glib/gio/gnetworkmonitorportal.c:116,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gnetworkmonitorportal.c:127,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gnetworkmonitorportal.c:131,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/gnetworkmonitorportal.c:134,1
    - Dst: g_warning
      Src: /src/glib/gio/gnetworkmonitorportal.c:137,1
    - Dst: g_variant_get_boolean
      Src: /src/glib/gio/gnetworkmonitorportal.c:141,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gnetworkmonitorportal.c:147,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gnetworkmonitorportal.c:153,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gnetworkmonitorportal.c:146,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gnetworkmonitorportal.c:153,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gnetworkmonitorportal.c:142,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gnetworkmonitorportal.c:154,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 3
    argNames:
    - source
    - res
    - data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 156
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 156
    functionName: got_available
    functionSourceFile: /src/glib/gio/gnetworkmonitorportal.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_warning
    - G_NETWORK_MONITOR_PORTAL
    - g_object_notify
    - G_OBJECT
    - g_error_matches
    - g_signal_emit_by_name
    - g_variant_unref
    - g_dbus_proxy_call_finish
    - g_dbus_proxy_get_cached_property
    - g_variant_get
    - G_DBUS_PROXY
    - g_variant_get_boolean
    linkageType: ''
    returnType: void
    signature: 'static void got_available (GObject *source, GAsyncResult *res, gpointer
      data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - monitor_iface
    argTypes:
    - GNetworkMonitorInterface*
    constantsTouched: []
    func_position:
      end: 620
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 620
    functionName: g_network_monitor_portal_iface_init
    functionSourceFile: /src/glib/gio/gnetworkmonitorportal.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_network_monitor_portal_iface_init (GNetworkMonitorInterface
      *monitor_iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_network_monitor_portal_get_instance_private
      Src: /src/glib/gio/gnetworkmonitorportal.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - nm
    argTypes:
    - GNetworkMonitorPortal*
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: g_network_monitor_portal_init
    functionSourceFile: /src/glib/gio/gnetworkmonitorportal.c
    functionUses: []
    functionsReached:
    - g_network_monitor_portal_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_network_monitor_portal_init (GNetworkMonitorPortal *nm) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/gnetworkmonitorportal.c:163,1
    - Dst: g_dbus_proxy_call_finish
      Src: /src/glib/gio/gnetworkmonitorportal.c:169,1
    - Dst: G_NETWORK_MONITOR_PORTAL
      Src: /src/glib/gio/gnetworkmonitorportal.c:164,1
    - Dst: g_warning
      Src: /src/glib/gio/gnetworkmonitorportal.c:174,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gnetworkmonitorportal.c:172,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gnetworkmonitorportal.c:175,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gnetworkmonitorportal.c:179,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/gnetworkmonitorportal.c:182,1
    - Dst: g_warning
      Src: /src/glib/gio/gnetworkmonitorportal.c:185,1
    - Dst: g_variant_get_boolean
      Src: /src/glib/gio/gnetworkmonitorportal.c:189,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gnetworkmonitorportal.c:202,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gnetworkmonitorportal.c:195,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gnetworkmonitorportal.c:201,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gnetworkmonitorportal.c:194,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gnetworkmonitorportal.c:190,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gnetworkmonitorportal.c:201,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 3
    argNames:
    - source
    - res
    - data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 204
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 204
    functionName: got_metered
    functionSourceFile: /src/glib/gio/gnetworkmonitorportal.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_warning
    - G_NETWORK_MONITOR_PORTAL
    - g_object_notify
    - G_OBJECT
    - g_error_matches
    - g_signal_emit_by_name
    - g_variant_unref
    - g_dbus_proxy_call_finish
    - g_dbus_proxy_get_cached_property
    - g_variant_get
    - G_DBUS_PROXY
    - g_variant_get_boolean
    linkageType: ''
    returnType: void
    signature: 'static void got_metered (GObject *source, GAsyncResult *res, gpointer
      data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/gnetworkmonitorportal.c:338,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gnetworkmonitorportal.c:342,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gnetworkmonitorportal.c:346,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gnetworkmonitorportal.c:342,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gnetworkmonitorportal.c:350,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gnetworkmonitorportal.c:350,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gnetworkmonitorportal.c:352,1
    - Dst: update_properties
      Src: /src/glib/gio/gnetworkmonitorportal.c:356,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 5
    argNames:
    - proxy
    - sender
    - signal
    - parameters
    - nm
    argTypes:
    - GDBusProxy*
    - char*
    - char*
    - GVariant*
    - GNetworkMonitorPortal*
    constantsTouched: []
    func_position:
      end: 358
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 358
    functionName: proxy_signal
    functionSourceFile: /src/glib/gio/gnetworkmonitorportal.c
    functionUses: []
    functionsReached:
    - g_variant_is_of_type
    - g_object_notify
    - strcmp
    - G_OBJECT
    - g_signal_emit_by_name
    - g_variant_get
    - update_properties
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: void
    signature: 'static void proxy_signal (GDBusProxy *proxy, const char *sender, const
      char *signal, GVariant *parameters, GNetworkMonitorPortal *nm) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_NETWORK_MONITOR_PORTAL
      Src: /src/glib/gio/gnetworkmonitorportal.c:74,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gnetworkmonitorportal.c:79,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gnetworkmonitorportal.c:91,1
    - Dst: g_value_set_enum
      Src: /src/glib/gio/gnetworkmonitorportal.c:87,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gnetworkmonitorportal.c:83,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 94
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 94
    functionName: g_network_monitor_portal_get_property
    functionSourceFile: /src/glib/gio/gnetworkmonitorportal.c
    functionUses: []
    functionsReached:
    - g_value_set_boolean
    - g_value_set_enum
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_NETWORK_MONITOR_PORTAL
    linkageType: ''
    returnType: void
    signature: 'static void g_network_monitor_portal_get_property (GObject *object,
      guint prop_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/gnetworkmonitorportal.c:211,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gnetworkmonitorportal.c:220,1
    - Dst: G_NETWORK_MONITOR_PORTAL
      Src: /src/glib/gio/gnetworkmonitorportal.c:212,1
    - Dst: g_dbus_proxy_call_finish
      Src: /src/glib/gio/gnetworkmonitorportal.c:217,1
    - Dst: g_warning
      Src: /src/glib/gio/gnetworkmonitorportal.c:222,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gnetworkmonitorportal.c:223,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gnetworkmonitorportal.c:227,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/gnetworkmonitorportal.c:230,1
    - Dst: g_warning
      Src: /src/glib/gio/gnetworkmonitorportal.c:233,1
    - Dst: g_variant_get_uint32
      Src: /src/glib/gio/gnetworkmonitorportal.c:237,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gnetworkmonitorportal.c:238,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gnetworkmonitorportal.c:242,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gnetworkmonitorportal.c:243,1
    - Dst: is_valid_connectivity
      Src: /src/glib/gio/gnetworkmonitorportal.c:247,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gnetworkmonitorportal.c:250,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gnetworkmonitorportal.c:251,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gnetworkmonitorportal.c:250,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - source
    - res
    - data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 253
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 253
    functionName: got_connectivity
    functionSourceFile: /src/glib/gio/gnetworkmonitorportal.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_warning
    - G_NETWORK_MONITOR_PORTAL
    - g_variant_get_uint32
    - g_object_notify
    - is_valid_connectivity
    - G_OBJECT
    - g_error_matches
    - g_signal_emit_by_name
    - g_variant_unref
    - g_dbus_proxy_call_finish
    - g_dbus_proxy_get_cached_property
    - g_variant_get
    - G_DBUS_PROXY
    linkageType: ''
    returnType: void
    signature: 'static void got_connectivity (GObject *source, GAsyncResult *res,
      gpointer data) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/gnetworkmonitorportal.c:372,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gnetworkmonitorportal.c:380,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gnetworkmonitorportal.c:380,1
    - Dst: g_variant_get_uint32
      Src: /src/glib/gio/gnetworkmonitorportal.c:375,1
    - Dst: is_valid_connectivity
      Src: /src/glib/gio/gnetworkmonitorportal.c:377,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gnetworkmonitorportal.c:383,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/gnetworkmonitorportal.c:386,1
    - Dst: g_variant_get_boolean
      Src: /src/glib/gio/gnetworkmonitorportal.c:389,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gnetworkmonitorportal.c:393,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gnetworkmonitorportal.c:393,1
    - Dst: g_variant_get_boolean
      Src: /src/glib/gio/gnetworkmonitorportal.c:402,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gnetworkmonitorportal.c:406,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gnetworkmonitorportal.c:409,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gnetworkmonitorportal.c:406,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/gnetworkmonitorportal.c:399,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gnetworkmonitorportal.c:413,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gnetworkmonitorportal.c:396,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 4
    argNames:
    - proxy
    - changed
    - invalidated
    - nm
    argTypes:
    - GDBusProxy*
    - GVariant*
    - GVariant*
    - GNetworkMonitorPortal*
    constantsTouched: []
    func_position:
      end: 414
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 414
    functionName: proxy_properties_changed
    functionSourceFile: /src/glib/gio/gnetworkmonitorportal.c
    functionUses: []
    functionsReached:
    - g_variant_get_uint32
    - g_object_notify
    - is_valid_connectivity
    - G_OBJECT
    - g_signal_emit_by_name
    - g_variant_unref
    - g_dbus_proxy_get_cached_property
    - g_variant_get_boolean
    linkageType: ''
    returnType: void
    signature: 'static void proxy_properties_changed (GDBusProxy *proxy, GVariant
      *changed, GVariant *invalidated, GNetworkMonitorPortal *nm) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_error_matches
      Src: /src/glib/gio/gnetworkmonitorportal.c:272,1
    - Dst: g_dbus_proxy_call
      Src: /src/glib/gio/gnetworkmonitorportal.c:276,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gnetworkmonitorportal.c:282,1
    - Dst: g_variant_lookup
      Src: /src/glib/gio/gnetworkmonitorportal.c:290,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gnetworkmonitorportal.c:299,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gnetworkmonitorportal.c:294,1
    - Dst: g_object_thaw_notify
      Src: /src/glib/gio/gnetworkmonitorportal.c:315,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gnetworkmonitorportal.c:317,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gnetworkmonitorportal.c:287,1
    - Dst: g_variant_lookup
      Src: /src/glib/gio/gnetworkmonitorportal.c:289,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gnetworkmonitorportal.c:292,1
    - Dst: is_valid_connectivity
      Src: /src/glib/gio/gnetworkmonitorportal.c:309,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gnetworkmonitorportal.c:312,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gnetworkmonitorportal.c:312,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gnetworkmonitorportal.c:315,1
    - Dst: G_NETWORK_MONITOR_PORTAL
      Src: /src/glib/gio/gnetworkmonitorportal.c:261,1
    - Dst: g_dbus_proxy_call
      Src: /src/glib/gio/gnetworkmonitorportal.c:277,1
    - Dst: g_warning
      Src: /src/glib/gio/gnetworkmonitorportal.c:280,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gnetworkmonitorportal.c:305,1
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/gnetworkmonitorportal.c:260,1
    - Dst: g_dbus_proxy_call
      Src: /src/glib/gio/gnetworkmonitorportal.c:275,1
    - Dst: g_dbus_proxy_call_finish
      Src: /src/glib/gio/gnetworkmonitorportal.c:269,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gnetworkmonitorportal.c:286,1
    - Dst: g_object_freeze_notify
      Src: /src/glib/gio/gnetworkmonitorportal.c:294,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gnetworkmonitorportal.c:299,1
    - Dst: g_variant_lookup
      Src: /src/glib/gio/gnetworkmonitorportal.c:291,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gnetworkmonitorportal.c:305,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - source
    - res
    - data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 318
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 318
    functionName: got_status
    functionSourceFile: /src/glib/gio/gnetworkmonitorportal.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_warning
    - G_NETWORK_MONITOR_PORTAL
    - g_variant_lookup
    - g_object_notify
    - is_valid_connectivity
    - g_object_freeze_notify
    - G_OBJECT
    - g_error_matches
    - g_signal_emit_by_name
    - g_variant_unref
    - g_dbus_proxy_call_finish
    - g_object_thaw_notify
    - g_variant_get
    - G_DBUS_PROXY
    - g_dbus_proxy_call
    linkageType: ''
    returnType: void
    signature: 'static void got_status (GObject *source, GAsyncResult *res, gpointer
      data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_NETWORK_MONITOR_PORTAL
      Src: /src/glib/gio/gnetworkmonitorportal.c:421,1
    - Dst: g_dbus_proxy_new_for_bus_sync
      Src: /src/glib/gio/gnetworkmonitorportal.c:435,1
    - Dst: glib_should_use_portal
      Src: /src/glib/gio/gnetworkmonitorportal.c:429,1
    - Dst: g_set_error
      Src: /src/glib/gio/gnetworkmonitorportal.c:431,1
    - Dst: g_dbus_proxy_get_name_owner
      Src: /src/glib/gio/gnetworkmonitorportal.c:446,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkmonitorportal.c:450,1
    - Dst: g_set_error
      Src: /src/glib/gio/gnetworkmonitorportal.c:451,1
    - Dst: g_free
      Src: /src/glib/gio/gnetworkmonitorportal.c:458,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gnetworkmonitorportal.c:460,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gnetworkmonitorportal.c:460,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gnetworkmonitorportal.c:461,1
    - Dst: glib_network_available_in_sandbox
      Src: /src/glib/gio/gnetworkmonitorportal.c:464,1
    - Dst: update_properties
      Src: /src/glib/gio/gnetworkmonitorportal.c:470,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gnetworkmonitorportal.c:461,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 3
    argNames:
    - initable
    - cancellable
    - error
    argTypes:
    - GInitable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 473
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 473
    functionName: g_network_monitor_portal_initable_init
    functionSourceFile: /src/glib/gio/gnetworkmonitorportal.c
    functionUses: []
    functionsReached:
    - g_set_error
    - glib_network_available_in_sandbox
    - g_object_unref
    - G_NETWORK_MONITOR_PORTAL
    - glib_should_use_portal
    - G_CALLBACK
    - g_dbus_proxy_new_for_bus_sync
    - update_properties
    - g_dbus_proxy_get_name_owner
    - g_free
    - g_signal_connect
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_network_monitor_portal_initable_init (GInitable
      *initable, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gnetworkmonitorportal.c:488,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gnetworkmonitorportal.c:495,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gnetworkmonitorportal.c:493,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gnetworkmonitorportal.c:494,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - class
    argTypes:
    - GNetworkMonitorPortalClass*
    constantsTouched: []
    func_position:
      end: 496
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 496
    functionName: g_network_monitor_portal_class_init
    functionSourceFile: /src/glib/gio/gnetworkmonitorportal.c
    functionUses: []
    functionsReached:
    - g_object_class_override_property
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_network_monitor_portal_class_init (GNetworkMonitorPortalClass
      *class) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_NETWORK_MONITOR_PORTAL
      Src: /src/glib/gio/gnetworkmonitorportal.c:544,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkmonitorportal.c:553,1
    - Dst: g_dbus_proxy_call_finish
      Src: /src/glib/gio/gnetworkmonitorportal.c:549,1
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/gnetworkmonitorportal.c:544,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gnetworkmonitorportal.c:552,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gnetworkmonitorportal.c:557,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gnetworkmonitorportal.c:558,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gnetworkmonitorportal.c:561,1
    - Dst: g_task_return_new_error_literal
      Src: /src/glib/gio/gnetworkmonitorportal.c:563,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkmonitorportal.c:567,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - source
    - result
    - data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 568
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 568
    functionName: can_reach_done
    functionSourceFile: /src/glib/gio/gnetworkmonitorportal.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_object_unref
    - G_NETWORK_MONITOR_PORTAL
    - g_task_return_new_error_literal
    - g_task_get_source_object
    - g_variant_unref
    - g_dbus_proxy_call_finish
    - g_variant_get
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void can_reach_done (GObject *source, GAsyncResult *result,
      gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_proxy_call
      Src: /src/glib/gio/gnetworkmonitorportal.c:325,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - proxy
    - nm
    argTypes:
    - GDBusProxy*
    - GNetworkMonitorPortal*
    constantsTouched: []
    func_position:
      end: 326
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 326
    functionName: update_properties
    functionSourceFile: /src/glib/gio/gnetworkmonitorportal.c
    functionUses: []
    functionsReached:
    - g_dbus_proxy_call
    linkageType: ''
    returnType: void
    signature: 'static void update_properties (GDBusProxy *proxy, GNetworkMonitorPortal
      *nm) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_NETWORK_MONITOR_PORTAL
      Src: /src/glib/gio/gnetworkmonitorportal.c:478,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gnetworkmonitorportal.c:482,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gnetworkmonitorportal.c:480,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 483
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 483
    functionName: g_network_monitor_portal_finalize
    functionSourceFile: /src/glib/gio/gnetworkmonitorportal.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - G_NETWORK_MONITOR_PORTAL
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_network_monitor_portal_finalize (GObject *object) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_NETWORK_MONITOR_PORTAL
      Src: /src/glib/gio/gnetworkmonitorportal.c:504,1
    - Dst: G_IS_NETWORK_ADDRESS
      Src: /src/glib/gio/gnetworkmonitorportal.c:509,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/gnetworkmonitorportal.c:513,1
    - Dst: G_NETWORK_ADDRESS
      Src: /src/glib/gio/gnetworkmonitorportal.c:517,1
    - Dst: g_set_error
      Src: /src/glib/gio/gnetworkmonitorportal.c:511,1
    - Dst: g_dbus_proxy_call_sync
      Src: /src/glib/gio/gnetworkmonitorportal.c:519,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gnetworkmonitorportal.c:521,1
    - Dst: g_network_address_get_hostname
      Src: /src/glib/gio/gnetworkmonitorportal.c:522,1
    - Dst: g_network_address_get_port
      Src: /src/glib/gio/gnetworkmonitorportal.c:523,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gnetworkmonitorportal.c:531,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gnetworkmonitorportal.c:532,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 4
    argNames:
    - monitor
    - connectable
    - cancellable
    - error
    argTypes:
    - GNetworkMonitor*
    - GSocketConnectable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 536
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 536
    functionName: g_network_monitor_portal_can_reach
    functionSourceFile: /src/glib/gio/gnetworkmonitorportal.c
    functionUses: []
    functionsReached:
    - g_set_error
    - G_IS_NETWORK_ADDRESS
    - G_NETWORK_ADDRESS
    - G_OBJECT_TYPE_NAME
    - G_NETWORK_MONITOR_PORTAL
    - g_variant_unref
    - g_variant_new
    - g_dbus_proxy_call_sync
    - g_variant_get
    - g_network_address_get_hostname
    - g_network_address_get_port
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_network_monitor_portal_can_reach (GNetworkMonitor
      *monitor, GSocketConnectable *connectable, GCancellable *cancellable, GError
      **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_NETWORK_MONITOR_PORTAL
      Src: /src/glib/gio/gnetworkmonitorportal.c:577,1
    - Dst: g_task_new
      Src: /src/glib/gio/gnetworkmonitorportal.c:581,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/gnetworkmonitorportal.c:587,1
    - Dst: g_task_return_new_error
      Src: /src/glib/gio/gnetworkmonitorportal.c:585,1
    - Dst: G_IS_NETWORK_ADDRESS
      Src: /src/glib/gio/gnetworkmonitorportal.c:583,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkmonitorportal.c:588,1
    - Dst: G_NETWORK_ADDRESS
      Src: /src/glib/gio/gnetworkmonitorportal.c:592,1
    - Dst: g_dbus_proxy_call
      Src: /src/glib/gio/gnetworkmonitorportal.c:594,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gnetworkmonitorportal.c:596,1
    - Dst: g_network_address_get_hostname
      Src: /src/glib/gio/gnetworkmonitorportal.c:597,1
    - Dst: g_network_address_get_port
      Src: /src/glib/gio/gnetworkmonitorportal.c:598,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 5
    argNames:
    - monitor
    - connectable
    - cancellable
    - callback
    - data
    argTypes:
    - GNetworkMonitor*
    - GSocketConnectable*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 604
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 604
    functionName: g_network_monitor_portal_can_reach_async
    functionSourceFile: /src/glib/gio/gnetworkmonitorportal.c
    functionUses: []
    functionsReached:
    - G_IS_NETWORK_ADDRESS
    - G_NETWORK_ADDRESS
    - g_task_new
    - g_object_unref
    - G_OBJECT_TYPE_NAME
    - G_NETWORK_MONITOR_PORTAL
    - g_variant_new
    - g_task_return_new_error
    - g_network_address_get_hostname
    - g_network_address_get_port
    - g_dbus_proxy_call
    linkageType: ''
    returnType: void
    signature: 'static void g_network_monitor_portal_can_reach_async (GNetworkMonitor
      *monitor, GSocketConnectable *connectable, GCancellable *cancellable, GAsyncReadyCallback
      callback, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_type_interface_peek_parent
      Src: /src/glib/gio/gnetworkmonitorportal.c:625,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GInitableIface*
    constantsTouched: []
    func_position:
      end: 628
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 628
    functionName: g_network_monitor_portal_initable_iface_init
    functionSourceFile: /src/glib/gio/gnetworkmonitorportal.c
    functionUses: []
    functionsReached:
    - g_type_interface_peek_parent
    linkageType: ''
    returnType: void
    signature: 'static void g_network_monitor_portal_initable_iface_init (GInitableIface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GConverterInterface*
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: g_converter_default_init
    functionSourceFile: /src/glib/gio/gconverter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_converter_default_init (GConverterInterface *iface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_converter_reset
      Src: /src/glib/gio/gconverter.c:238,1
    - Dst: g_memory_output_stream_new_resizable
      Src: /src/glib/gio/gconverter.c:241,1
    - Dst: g_memory_input_stream_new_from_bytes
      Src: /src/glib/gio/gconverter.c:240,1
    - Dst: g_output_stream_splice
      Src: /src/glib/gio/gconverter.c:246,1
    - Dst: g_converter_output_stream_new
      Src: /src/glib/gio/gconverter.c:242,1
    - Dst: g_memory_output_stream_steal_as_bytes
      Src: /src/glib/gio/gconverter.c:248,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/gconverter.c:248,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gconverter.c:251,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gconverter.c:252,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gconverter.c:253,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 256
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 256
    functionName: g_converter_convert_bytes
    functionSourceFile: /src/glib/gio/gconverter.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_converter_reset
    - g_converter_output_stream_new
    - g_memory_output_stream_new_resizable
    - g_memory_output_stream_steal_as_bytes
    - g_memory_input_stream_new_from_bytes
    - g_output_stream_splice
    - G_MEMORY_OUTPUT_STREAM
    linkageType: ''
    returnType: GBytes*
    signature: 'GBytes *g_converter_convert_bytes (GConverter *converter, GBytes *bytes,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gconverter.c:171,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gconverter.c:173,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gconverter.c:174,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gconverter.c:172,1
    - Dst: G_IS_CONVERTER
      Src: /src/glib/gio/gconverter.c:171,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gconverter.c:175,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gconverter.c:176,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gconverter.c:177,1
    - Dst: G_CONVERTER_GET_IFACE
      Src: /src/glib/gio/gconverter.c:182,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 9
    argNames:
    - converter
    - inbuf
    - inbuf_size
    - outbuf
    - outbuf_size
    - flags
    - bytes_read
    - bytes_written
    - error
    argTypes:
    - GConverter*
    - void*
    - gsize
    - void*
    - gsize
    - GConverterFlags
    - gsize*
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 189
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 189
    functionName: g_converter_convert
    functionSourceFile: /src/glib/gio/gconverter.c
    functionUses: []
    functionsReached:
    - G_IS_CONVERTER
    - g_return_val_if_fail
    - G_CONVERTER_GET_IFACE
    linkageType: ''
    returnType: GConverterResult
    signature: "GConverterResult g_converter_convert (GConverter *converter,\t\t const\
      \ void *inbuf,\t\t gsize inbuf_size,\t\t void *outbuf,\t\t gsize outbuf_size,\t\
      \t GConverterFlags flags,\t\t gsize *bytes_read,\t\t gsize *bytes_written,\t\
      \t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gconverter.c:206,1
    - Dst: G_CONVERTER_GET_IFACE
      Src: /src/glib/gio/gconverter.c:208,1
    - Dst: G_IS_CONVERTER
      Src: /src/glib/gio/gconverter.c:206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - converter
    argTypes:
    - GConverter*
    constantsTouched: []
    func_position:
      end: 211
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 211
    functionName: g_converter_reset
    functionSourceFile: /src/glib/gio/gconverter.c
    functionUses: []
    functionsReached:
    - G_IS_CONVERTER
    - G_CONVERTER_GET_IFACE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_converter_reset (GConverter *converter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE_ICON
      Src: /src/glib/gio/gfileicon.c:296,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gfileicon.c:305,1
    - Dst: g_file_read
      Src: /src/glib/gio/gfileicon.c:298,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 306
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 306
    functionName: g_file_icon_load
    functionSourceFile: /src/glib/gio/gfileicon.c
    functionUses: []
    functionsReached:
    - G_FILE_ICON
    - g_file_read
    - G_INPUT_STREAM
    linkageType: ''
    returnType: GInputStream*
    signature: "static GInputStream *g_file_icon_load (GLoadableIcon *icon,\t\t int\
      \ size,\t\t char **type,\t\t GCancellable *cancellable,\t\t GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_read_finish
      Src: /src/glib/gio/gfileicon.c:317,1
    - Dst: G_FILE
      Src: /src/glib/gio/gfileicon.c:317,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gfileicon.c:321,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfileicon.c:319,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfileicon.c:322,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 323
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 323
    functionName: load_async_callback
    functionSourceFile: /src/glib/gio/gfileicon.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_task_return_pointer
    - g_file_read_finish
    - G_FILE
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: "static void load_async_callback (GObject *source_object,\t\t GAsyncResult\
      \ *res,\t\t gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE_ICON
      Src: /src/glib/gio/gfileicon.c:272,1
    - Dst: g_variant_new_take_string
      Src: /src/glib/gio/gfileicon.c:274,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gfileicon.c:274,1
    - Dst: g_file_get_uri
      Src: /src/glib/gio/gfileicon.c:274,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 275
    functionName: g_file_icon_serialize
    functionSourceFile: /src/glib/gio/gfileicon.c
    functionUses: []
    functionsReached:
    - g_file_get_uri
    - G_FILE_ICON
    - g_variant_new
    - g_variant_new_take_string
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_file_icon_serialize (GIcon *icon) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GIconIface*
    constantsTouched: []
    func_position:
      end: 285
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 285
    functionName: g_file_icon_icon_iface_init
    functionSourceFile: /src/glib/gio/gfileicon.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_file_icon_icon_iface_init (GIconIface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GLoadableIconIface*
    constantsTouched: []
    func_position:
      end: 363
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 363
    functionName: g_file_icon_loadable_icon_iface_init
    functionSourceFile: /src/glib/gio/gfileicon.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_file_icon_loadable_icon_iface_init (GLoadableIconIface
      *iface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE_ICON
      Src: /src/glib/gio/gfileicon.c:81,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gfileicon.c:86,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gfileicon.c:90,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 92
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 92
    functionName: g_file_icon_get_property
    functionSourceFile: /src/glib/gio/gfileicon.c
    functionUses: []
    functionsReached:
    - g_value_set_object
    - G_FILE_ICON
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: 'static void g_file_icon_get_property (GObject *object, guint prop_id,
      GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileicon.c:193,1
    - Dst: G_IS_FILE_ICON
      Src: /src/glib/gio/gfileicon.c:193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 196
    functionName: g_file_icon_get_file
    functionSourceFile: /src/glib/gio/gfileicon.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_ICON
    - g_return_val_if_fail
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *g_file_icon_get_file (GFileIcon *icon) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE_ICON
      Src: /src/glib/gio/gfileicon.c:201,1
    - Dst: g_file_hash
      Src: /src/glib/gio/gfileicon.c:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - icon
    argTypes:
    - GIcon*
    constantsTouched: []
    func_position:
      end: 204
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 204
    functionName: g_file_icon_hash
    functionSourceFile: /src/glib/gio/gfileicon.c
    functionUses: []
    functionsReached:
    - g_file_hash
    - G_FILE_ICON
    linkageType: ''
    returnType: guint
    signature: 'static guint g_file_icon_hash (GIcon *icon) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE_ICON
      Src: /src/glib/gio/gfileicon.c:221,1
    - Dst: g_file_get_uri
      Src: /src/glib/gio/gfileicon.c:227,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gfileicon.c:227,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileicon.c:223,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - icon
    - tokens
    - out_version
    argTypes:
    - GIcon*
    - GPtrArray*
    - gint*
    constantsTouched: []
    func_position:
      end: 229
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 229
    functionName: g_file_icon_to_tokens
    functionSourceFile: /src/glib/gio/gfileicon.c
    functionUses: []
    functionsReached:
    - g_file_get_uri
    - G_FILE_ICON
    - g_return_val_if_fail
    - g_ptr_array_add
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_file_icon_to_tokens (GIcon *icon,\t\t GPtrArray\
      \ *tokens, gint *out_version) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE_ICON
      Src: /src/glib/gio/gfileicon.c:100,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gfileicon.c:109,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/gfileicon.c:105,1
    - Dst: G_FILE
      Src: /src/glib/gio/gfileicon.c:105,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 111
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 111
    functionName: g_file_icon_set_property
    functionSourceFile: /src/glib/gio/gfileicon.c
    functionUses: []
    functionsReached:
    - G_FILE_ICON
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_dup_object
    - G_FILE
    linkageType: ''
    returnType: void
    signature: 'static void g_file_icon_set_property (GObject *object, guint prop_id,
      const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE_ICON
      Src: /src/glib/gio/gfileicon.c:210,1
    - Dst: g_file_equal
      Src: /src/glib/gio/gfileicon.c:213,1
    - Dst: G_FILE_ICON
      Src: /src/glib/gio/gfileicon.c:211,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - icon1
    - icon2
    argTypes:
    - GIcon*
    - GIcon*
    constantsTouched: []
    func_position:
      end: 214
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 214
    functionName: g_file_icon_equal
    functionSourceFile: /src/glib/gio/gfileicon.c
    functionUses: []
    functionsReached:
    - G_FILE_ICON
    - g_file_equal
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_file_icon_equal (GIcon *icon1,\t\t GIcon *icon2) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/gio/gfileicon.c:244,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfileicon.c:254,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/gfileicon.c:261,1
    - Dst: _
      Src: /src/glib/gio/gfileicon.c:247,1
    - Dst: _
      Src: /src/glib/gio/gfileicon.c:257,1
    - Dst: g_file_icon_new
      Src: /src/glib/gio/gfileicon.c:262,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfileicon.c:263,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 267
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 267
    functionName: g_file_icon_from_tokens
    functionSourceFile: /src/glib/gio/gfileicon.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_object_unref
    - g_file_new_for_uri
    - g_set_error_literal
    - _
    - g_file_icon_new
    linkageType: ''
    returnType: GIcon*
    signature: 'static GIcon *g_file_icon_from_tokens (gchar **tokens, gint num_tokens,
      gint version, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileicon.c:177,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/gfileicon.c:177,1
    - Dst: g_object_new
      Src: /src/glib/gio/gfileicon.c:179,1
    - Dst: G_ICON
      Src: /src/glib/gio/gfileicon.c:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 180
    functionName: g_file_icon_new
    functionSourceFile: /src/glib/gio/gfileicon.c
    functionUses: []
    functionsReached:
    - G_IS_FILE
    - g_return_val_if_fail
    - G_ICON
    - g_object_new
    linkageType: ''
    returnType: GIcon*
    signature: 'GIcon *g_file_icon_new (GFile *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gfileicon.c:142,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gfileicon.c:155,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gfileicon.c:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GFileIconClass*
    constantsTouched: []
    func_position:
      end: 158
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 158
    functionName: g_file_icon_class_init
    functionSourceFile: /src/glib/gio/gfileicon.c
    functionUses: []
    functionsReached:
    - g_param_spec_object
    - g_object_class_install_property
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_file_icon_class_init (GFileIconClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE_ICON
      Src: /src/glib/gio/gfileicon.c:117,1
    - Dst: g_assert
      Src: /src/glib/gio/gfileicon.c:123,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gfileicon.c:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 124
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 124
    functionName: g_file_icon_constructed
    functionSourceFile: /src/glib/gio/gfileicon.c
    functionUses: []
    functionsReached:
    - g_assert
    - G_FILE_ICON
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_file_icon_constructed (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE_ICON
      Src: /src/glib/gio/gfileicon.c:332,1
    - Dst: g_file_read_async
      Src: /src/glib/gio/gfileicon.c:338,1
    - Dst: g_task_new
      Src: /src/glib/gio/gfileicon.c:335,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfileicon.c:336,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 5
    argNames:
    - icon
    - size
    - cancellable
    - callback
    - user_data
    argTypes:
    - GLoadableIcon*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 341
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 341
    functionName: g_file_icon_load_async
    functionSourceFile: /src/glib/gio/gfileicon.c
    functionUses: []
    functionsReached:
    - g_file_read_async
    - G_FILE_ICON
    - g_task_new
    - g_task_set_source_tag
    linkageType: ''
    returnType: void
    signature: 'static void g_file_icon_load_async (GLoadableIcon *icon, int size,
      GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE_ICON
      Src: /src/glib/gio/gfileicon.c:131,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfileicon.c:134,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gfileicon.c:136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 137
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 137
    functionName: g_file_icon_finalize
    functionSourceFile: /src/glib/gio/gfileicon.c
    functionUses: []
    functionsReached:
    - G_FILE_ICON
    - g_object_unref
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_file_icon_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFileIcon*
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: g_file_icon_init
    functionSourceFile: /src/glib/gio/gfileicon.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_file_icon_init (GFileIcon *file) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileicon.c:349,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gfileicon.c:354,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfileicon.c:354,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfileicon.c:349,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 355
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 355
    functionName: g_file_icon_load_finish
    functionSourceFile: /src/glib/gio/gfileicon.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_return_val_if_fail
    - g_task_is_valid
    - g_task_propagate_pointer
    linkageType: ''
    returnType: GInputStream*
    signature: "static GInputStream *g_file_icon_load_finish (GLoadableIcon *icon,\t\
      \t\t GAsyncResult *res,\t\t\t char **type,\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginetsocketaddress.c:151,1
    - Dst: G_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/ginetsocketaddress.c:153,1
    - Dst: G_IS_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/ginetsocketaddress.c:151,1
    - Dst: g_inet_address_get_family
      Src: /src/glib/gio/ginetsocketaddress.c:155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - address
    argTypes:
    - GSocketAddress*
    constantsTouched: []
    func_position:
      end: 156
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 156
    functionName: g_inet_socket_address_get_family
    functionSourceFile: /src/glib/gio/ginetsocketaddress.c
    functionUses: []
    functionsReached:
    - G_INET_SOCKET_ADDRESS
    - G_IS_INET_SOCKET_ADDRESS
    - g_return_val_if_fail
    - g_inet_address_get_family
    linkageType: ''
    returnType: GSocketFamily
    signature: 'static GSocketFamily g_inet_socket_address_get_family (GSocketAddress
      *address) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/ginetsocketaddress.c:85,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/ginetsocketaddress.c:98,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/ginetsocketaddress.c:90,1
    - Dst: g_inet_address_get_family
      Src: /src/glib/gio/ginetsocketaddress.c:98,1
    - Dst: g_value_set_uint
      Src: /src/glib/gio/ginetsocketaddress.c:94,1
    - Dst: g_value_set_uint
      Src: /src/glib/gio/ginetsocketaddress.c:99,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/ginetsocketaddress.c:103,1
    - Dst: g_inet_address_get_family
      Src: /src/glib/gio/ginetsocketaddress.c:103,1
    - Dst: g_value_set_uint
      Src: /src/glib/gio/ginetsocketaddress.c:104,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/ginetsocketaddress.c:108,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 110
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 110
    functionName: g_inet_socket_address_get_property
    functionSourceFile: /src/glib/gio/ginetsocketaddress.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_uint
    - g_return_if_fail
    - g_value_set_object
    - G_INET_SOCKET_ADDRESS
    - g_inet_address_get_family
    linkageType: ''
    returnType: void
    signature: 'static void g_inet_socket_address_get_property (GObject *object, guint
      prop_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginetsocketaddress.c:186,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/ginetsocketaddress.c:197,1
    - Dst: G_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/ginetsocketaddress.c:188,1
    - Dst: G_IS_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/ginetsocketaddress.c:186,1
    - Dst: g_inet_address_get_family
      Src: /src/glib/gio/ginetsocketaddress.c:189,1
    - Dst: _
      Src: /src/glib/gio/ginetsocketaddress.c:198,1
    - Dst: g_htons
      Src: /src/glib/gio/ginetsocketaddress.c:203,1
    - Dst: memcpy
      Src: /src/glib/gio/ginetsocketaddress.c:204,1
    - Dst: g_inet_address_to_bytes
      Src: /src/glib/gio/ginetsocketaddress.c:204,1
    - Dst: memset
      Src: /src/glib/gio/ginetsocketaddress.c:205,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/ginetsocketaddress.c:214,1
    - Dst: memset
      Src: /src/glib/gio/ginetsocketaddress.c:219,1
    - Dst: _
      Src: /src/glib/gio/ginetsocketaddress.c:230,1
    - Dst: _
      Src: /src/glib/gio/ginetsocketaddress.c:215,1
    - Dst: g_inet_address_to_bytes
      Src: /src/glib/gio/ginetsocketaddress.c:224,1
    - Dst: g_htons
      Src: /src/glib/gio/ginetsocketaddress.c:221,1
    - Dst: memcpy
      Src: /src/glib/gio/ginetsocketaddress.c:224,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/ginetsocketaddress.c:229,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 4
    argNames:
    - address
    - dest
    - destlen
    - error
    argTypes:
    - GSocketAddress*
    - gpointer
    - gsize
    - GError**
    constantsTouched: []
    func_position:
      end: 233
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 233
    functionName: g_inet_socket_address_to_native
    functionSourceFile: /src/glib/gio/ginetsocketaddress.c
    functionUses: []
    functionsReached:
    - memcpy
    - G_IS_INET_SOCKET_ADDRESS
    - g_return_val_if_fail
    - g_htons
    - g_inet_address_to_bytes
    - g_set_error_literal
    - _
    - G_INET_SOCKET_ADDRESS
    - g_inet_address_get_family
    - memset
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_inet_socket_address_to_native (GSocketAddress *address,\
      \ gpointer dest,\t\t\t\t gsize destlen,\t\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_type_interface_peek_parent
      Src: /src/glib/gio/ginetsocketaddress.c:315,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GSocketConnectableIface*
    constantsTouched: []
    func_position:
      end: 320
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 320
    functionName: g_inet_socket_address_connectable_iface_init
    functionSourceFile: /src/glib/gio/ginetsocketaddress.c
    functionUses: []
    functionsReached:
    - g_type_interface_peek_parent
    linkageType: ''
    returnType: void
    signature: 'static void g_inet_socket_address_connectable_iface_init (GSocketConnectableIface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_inet_socket_address_get_instance_private
      Src: /src/glib/gio/ginetsocketaddress.c:368,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - address
    argTypes:
    - GInetSocketAddress*
    constantsTouched: []
    func_position:
      end: 369
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 369
    functionName: g_inet_socket_address_init
    functionSourceFile: /src/glib/gio/ginetsocketaddress.c
    functionUses: []
    functionsReached:
    - g_inet_socket_address_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_inet_socket_address_init (GInetSocketAddress *address) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginetsocketaddress.c:482,1
    - Dst: G_IS_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/ginetsocketaddress.c:482,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 485
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 485
    functionName: g_inet_socket_address_get_address
    functionSourceFile: /src/glib/gio/ginetsocketaddress.c
    functionUses: []
    functionsReached:
    - G_IS_INET_SOCKET_ADDRESS
    - g_return_val_if_fail
    linkageType: ''
    returnType: GInetAddress*
    signature: 'GInetAddress *g_inet_socket_address_get_address (GInetSocketAddress
      *address) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginetsocketaddress.c:500,1
    - Dst: G_IS_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/ginetsocketaddress.c:500,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - address
    argTypes:
    - GInetSocketAddress*
    constantsTouched: []
    func_position:
      end: 503
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 503
    functionName: g_inet_socket_address_get_port
    functionSourceFile: /src/glib/gio/ginetsocketaddress.c
    functionUses: []
    functionsReached:
    - G_IS_INET_SOCKET_ADDRESS
    - g_return_val_if_fail
    linkageType: ''
    returnType: guint16
    signature: 'guint16 g_inet_socket_address_get_port (GInetSocketAddress *address) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/ginetsocketaddress.c:72,1
    - Dst: g_clear_object
      Src: /src/glib/gio/ginetsocketaddress.c:74,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/ginetsocketaddress.c:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: g_inet_socket_address_dispose
    functionSourceFile: /src/glib/gio/ginetsocketaddress.c
    functionUses: []
    functionsReached:
    - G_INET_SOCKET_ADDRESS
    - g_clear_object
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_inet_socket_address_dispose (GObject *object) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/ginetsocketaddress.c:118,1
    - Dst: g_value_get_uint
      Src: /src/glib/gio/ginetsocketaddress.c:127,1
    - Dst: g_value_get_uint
      Src: /src/glib/gio/ginetsocketaddress.c:134,1
    - Dst: g_object_ref
      Src: /src/glib/gio/ginetsocketaddress.c:123,1
    - Dst: g_value_get_object
      Src: /src/glib/gio/ginetsocketaddress.c:123,1
    - Dst: g_value_get_uint
      Src: /src/glib/gio/ginetsocketaddress.c:138,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/ginetsocketaddress.c:142,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 144
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 144
    functionName: g_inet_socket_address_set_property
    functionSourceFile: /src/glib/gio/ginetsocketaddress.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_get_uint
    - g_object_ref
    - G_INET_SOCKET_ADDRESS
    - g_value_get_object
    linkageType: ''
    returnType: void
    signature: 'static void g_inet_socket_address_set_property (GObject *object, guint
      prop_id, const GValue *value, GParamSpec *pspec) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginetsocketaddress.c:164,1
    - Dst: g_inet_address_get_family
      Src: /src/glib/gio/ginetsocketaddress.c:167,1
    - Dst: G_IS_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/ginetsocketaddress.c:164,1
    - Dst: G_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/ginetsocketaddress.c:166,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - address
    argTypes:
    - GSocketAddress*
    constantsTouched: []
    func_position:
      end: 175
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 175
    functionName: g_inet_socket_address_get_native_size
    functionSourceFile: /src/glib/gio/ginetsocketaddress.c
    functionUses: []
    functionsReached:
    - G_INET_SOCKET_ADDRESS
    - G_IS_INET_SOCKET_ADDRESS
    - g_return_val_if_fail
    - g_inet_address_get_family
    linkageType: ''
    returnType: gssize
    signature: 'static gssize g_inet_socket_address_get_native_size (GSocketAddress
      *address) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/ginetsocketaddress.c:238,1
    - Dst: G_SOCKET_ADDRESS_CLASS
      Src: /src/glib/gio/ginetsocketaddress.c:239,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/ginetsocketaddress.c:256,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/ginetsocketaddress.c:257,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/ginetsocketaddress.c:270,1
    - Dst: g_param_spec_uint
      Src: /src/glib/gio/ginetsocketaddress.c:271,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/ginetsocketaddress.c:286,1
    - Dst: g_param_spec_uint
      Src: /src/glib/gio/ginetsocketaddress.c:287,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/ginetsocketaddress.c:302,1
    - Dst: g_param_spec_uint
      Src: /src/glib/gio/ginetsocketaddress.c:303,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GInetSocketAddressClass*
    constantsTouched: []
    func_position:
      end: 310
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 310
    functionName: g_inet_socket_address_class_init
    functionSourceFile: /src/glib/gio/ginetsocketaddress.c
    functionUses: []
    functionsReached:
    - g_param_spec_object
    - g_object_class_install_property
    - G_OBJECT_CLASS
    - G_SOCKET_ADDRESS_CLASS
    - g_param_spec_uint
    linkageType: ''
    returnType: void
    signature: 'static void g_inet_socket_address_class_init (GInetSocketAddressClass
      *klass) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/ginetsocketaddress.c:331,1
    - Dst: g_string_append
      Src: /src/glib/gio/ginetsocketaddress.c:337,1
    - Dst: g_inet_socket_address_get_address
      Src: /src/glib/gio/ginetsocketaddress.c:332,1
    - Dst: g_string_new
      Src: /src/glib/gio/ginetsocketaddress.c:333,1
    - Dst: g_inet_address_to_string
      Src: /src/glib/gio/ginetsocketaddress.c:336,1
    - Dst: g_free
      Src: /src/glib/gio/ginetsocketaddress.c:338,1
    - Dst: g_inet_address_get_family
      Src: /src/glib/gio/ginetsocketaddress.c:341,1
    - Dst: g_inet_socket_address_get_scope_id
      Src: /src/glib/gio/ginetsocketaddress.c:342,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/ginetsocketaddress.c:344,1
    - Dst: g_inet_socket_address_get_scope_id
      Src: /src/glib/gio/ginetsocketaddress.c:345,1
    - Dst: g_string_prepend
      Src: /src/glib/gio/ginetsocketaddress.c:355,1
    - Dst: g_string_append
      Src: /src/glib/gio/ginetsocketaddress.c:356,1
    - Dst: g_string_free
      Src: /src/glib/gio/ginetsocketaddress.c:362,1
    - Dst: g_inet_address_get_family
      Src: /src/glib/gio/ginetsocketaddress.c:353,1
    - Dst: g_inet_socket_address_get_port
      Src: /src/glib/gio/ginetsocketaddress.c:349,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/ginetsocketaddress.c:359,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 363
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 363
    functionName: g_inet_socket_address_connectable_to_string
    functionSourceFile: /src/glib/gio/ginetsocketaddress.c
    functionUses: []
    functionsReached:
    - g_inet_socket_address_get_address
    - g_string_prepend
    - g_inet_address_to_string
    - g_string_append_printf
    - g_string_free
    - g_inet_socket_address_get_port
    - g_string_new
    - G_INET_SOCKET_ADDRESS
    - g_inet_address_get_family
    - g_free
    - g_string_append
    - g_inet_socket_address_get_scope_id
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *g_inet_socket_address_connectable_to_string (GSocketConnectable
      *connectable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/ginetsocketaddress.c:386,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 390
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 390
    functionName: g_inet_socket_address_new
    functionSourceFile: /src/glib/gio/ginetsocketaddress.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: GSocketAddress*
    signature: 'GSocketAddress *g_inet_socket_address_new (GInetAddress *address,
      guint16 port) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/glib/gio/ginetsocketaddress.c:417,1
    - Dst: g_once_init_leave_pointer
      Src: /src/glib/gio/ginetsocketaddress.c:429,1
    - Dst: g_once_init_enter_pointer
      Src: /src/glib/gio/ginetsocketaddress.c:423,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/ginetsocketaddress.c:423,1
    - Dst: getaddrinfo
      Src: /src/glib/gio/ginetsocketaddress.c:432,1
    - Dst: g_htons
      Src: /src/glib/gio/ginetsocketaddress.c:439,1
    - Dst: g_socket_address_new_from_native
      Src: /src/glib/gio/ginetsocketaddress.c:440,1
    - Dst: freeaddrinfo
      Src: /src/glib/gio/ginetsocketaddress.c:445,1
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/ginetsocketaddress.c:455,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/ginetsocketaddress.c:459,1
    - Dst: g_object_unref
      Src: /src/glib/gio/ginetsocketaddress.c:462,1
    - Dst: g_inet_address_get_family
      Src: /src/glib/gio/ginetsocketaddress.c:459,1
    - Dst: g_inet_socket_address_new
      Src: /src/glib/gio/ginetsocketaddress.c:461,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 466
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 466
    functionName: g_inet_socket_address_new_from_string
    functionSourceFile: /src/glib/gio/ginetsocketaddress.c
    functionUses: []
    functionsReached:
    - g_once_init_leave_pointer
    - g_socket_address_new_from_native
    - g_warn_if_fail
    - freeaddrinfo
    - g_object_unref
    - strchr
    - g_once_init_enter_pointer
    - G_UNLIKELY
    - g_inet_socket_address_new
    - g_htons
    - g_inet_address_get_family
    - g_inet_address_new_from_string
    - getaddrinfo
    linkageType: ''
    returnType: GSocketAddress*
    signature: 'GSocketAddress *g_inet_socket_address_new_from_string (const char
      *address, guint port) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginetsocketaddress.c:520,1
    - Dst: G_IS_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/ginetsocketaddress.c:520,1
    - Dst: g_inet_address_get_family
      Src: /src/glib/gio/ginetsocketaddress.c:521,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginetsocketaddress.c:521,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - address
    argTypes:
    - GInetSocketAddress*
    constantsTouched: []
    func_position:
      end: 524
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 524
    functionName: g_inet_socket_address_get_flowinfo
    functionSourceFile: /src/glib/gio/ginetsocketaddress.c
    functionUses: []
    functionsReached:
    - G_IS_INET_SOCKET_ADDRESS
    - g_return_val_if_fail
    - g_inet_address_get_family
    linkageType: ''
    returnType: guint32
    signature: 'guint32 g_inet_socket_address_get_flowinfo (GInetSocketAddress *address) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginetsocketaddress.c:540,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginetsocketaddress.c:541,1
    - Dst: G_IS_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/ginetsocketaddress.c:540,1
    - Dst: g_inet_address_get_family
      Src: /src/glib/gio/ginetsocketaddress.c:541,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - address
    argTypes:
    - GInetSocketAddress*
    constantsTouched: []
    func_position:
      end: 544
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 544
    functionName: g_inet_socket_address_get_scope_id
    functionSourceFile: /src/glib/gio/ginetsocketaddress.c
    functionUses: []
    functionsReached:
    - G_IS_INET_SOCKET_ADDRESS
    - g_return_val_if_fail
    - g_inet_address_get_family
    linkageType: ''
    returnType: guint32
    signature: 'guint32 g_inet_socket_address_get_scope_id (GInetSocketAddress *address) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_contains
      Src: /src/glib/gio/giomodule.c:227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - scope
    - basename
    argTypes:
    - GIOModuleScope*
    - gchar*
    constantsTouched: []
    func_position:
      end: 228
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 228
    functionName: _g_io_module_scope_contains
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - g_hash_table_contains
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _g_io_module_scope_contains (GIOModuleScope *scope,
      const gchar *basename) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gio/giomodule.c:735,1
    - Dst: g_print
      Src: /src/glib/gio/giomodule.c:738,1
    - Dst: g_io_extension_point_get_extensions
      Src: /src/glib/gio/giomodule.c:745,1
    - Dst: MAX
      Src: /src/glib/gio/giomodule.c:748,1
    - Dst: g_io_extension_point_get_extensions
      Src: /src/glib/gio/giomodule.c:737,1
    - Dst: strlen
      Src: /src/glib/gio/giomodule.c:748,1
    - Dst: g_io_extension_get_name
      Src: /src/glib/gio/giomodule.c:748,1
    - Dst: g_io_extension_point_get_extensions
      Src: /src/glib/gio/giomodule.c:751,1
    - Dst: g_print
      Src: /src/glib/gio/giomodule.c:755,1
    - Dst: MIN
      Src: /src/glib/gio/giomodule.c:755,1
    - Dst: g_io_extension_get_priority
      Src: /src/glib/gio/giomodule.c:757,1
    - Dst: g_io_extension_get_name
      Src: /src/glib/gio/giomodule.c:756,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - envvar
    - ep
    argTypes:
    - char*
    - GIOExtensionPoint*
    constantsTouched: []
    func_position:
      end: 760
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 760
    functionName: print_help
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - strlen
    - g_io_extension_get_name
    - MAX
    - MIN
    - g_io_extension_get_priority
    - g_io_extension_point_get_extensions
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void print_help (const char *envvar, GIOExtensionPoint *ep) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_rec_mutex_lock
      Src: /src/glib/gio/giomodule.c:957,1
    - Dst: g_warn_if_reached
      Src: /src/glib/gio/giomodule.c:990,1
    - Dst: g_getenv
      Src: /src/glib/gio/giomodule.c:998,1
    - Dst: try_implementation
      Src: /src/glib/gio/giomodule.c:1027,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/giomodule.c:1054,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/giomodule.c:1060,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/giomodule.c:973,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gio/giomodule.c:972,1
    - Dst: g_io_extension_point_lookup
      Src: /src/glib/gio/giomodule.c:984,1
    - Dst: g_warning
      Src: /src/glib/gio/giomodule.c:1016,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gio/giomodule.c:991,1
    - Dst: g_io_extension_point_get_extension_by_name
      Src: /src/glib/gio/giomodule.c:1007,1
    - Dst: print_help
      Src: /src/glib/gio/giomodule.c:1001,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gio/giomodule.c:1047,1
    - Dst: g_debug
      Src: /src/glib/gio/giomodule.c:1057,1
    - Dst: _g_io_modules_ensure_loaded
      Src: /src/glib/gio/giomodule.c:983,1
    - Dst: g_debug
      Src: /src/glib/gio/giomodule.c:988,1
    - Dst: try_implementation
      Src: /src/glib/gio/giomodule.c:1010,1
    - Dst: g_weak_ref_init
      Src: /src/glib/gio/giomodule.c:1038,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/giomodule.c:1039,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/giomodule.c:1040,1
    - Dst: g_weak_ref_set
      Src: /src/glib/gio/giomodule.c:1044,1
    - Dst: g_io_extension_get_name
      Src: /src/glib/gio/giomodule.c:1053,1
    - Dst: g_hash_table_lookup_extended
      Src: /src/glib/gio/giomodule.c:960,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gio/giomodule.c:966,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/giomodule.c:979,1
    - Dst: g_io_extension_point_get_extensions
      Src: /src/glib/gio/giomodule.c:1021,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/giomodule.c:999,1
    - Dst: g_new0
      Src: /src/glib/gio/giomodule.c:1037,1
    - Dst: g_strdup
      Src: /src/glib/gio/giomodule.c:1039,1
    - Dst: g_assert
      Src: /src/glib/gio/giomodule.c:1051,1
    - Dst: g_debug
      Src: /src/glib/gio/giomodule.c:1052,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 69
    argCount: 3
    argNames:
    - extension_point
    - envvar
    - verify_func
    argTypes:
    - gchar*
    - gchar*
    - GIOModuleVerifyFunc
    constantsTouched: []
    func_position:
      end: 1061
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 1061
    functionName: _g_io_module_get_default
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_weak_ref_get
    - g_warn_if_reached
    - g_io_extension_point_get_extension_by_name
    - g_hash_table_new_full
    - g_io_extension_point_get_extensions
    - _g_io_modules_ensure_loaded
    - g_weak_ref_init
    - print_help
    - g_warning
    - g_hash_table_lookup_extended
    - g_weak_ref_set
    - g_io_extension_get_name
    - g_hash_table_insert
    - g_rec_mutex_lock
    - g_strdup
    - G_OBJECT_TYPE_NAME
    - g_getenv
    - try_implementation
    - g_strcmp0
    - g_io_extension_point_lookup
    - g_assert
    - g_rec_mutex_unlock
    - g_debug
    - g_new0
    linkageType: ''
    returnType: gpointer
    signature: "gpointer _g_io_module_get_default (const gchar *extension_point,\t\
      \t\t const gchar *envvar,\t\t\t GIOModuleVerifyFunc verify_func) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetModuleHandleEx
      Src: /src/glib/gio/giomodule.c:1166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1162
    functionDepth: 0
    functionLinenumber: 1162
    functionLinenumberEnd: 1171
    functionName: _g_io_win32_get_module
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - GetModuleHandleEx
    linkageType: ''
    returnType: void*
    signature: 'void *_g_io_win32_get_module (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_io_modules_scan_all_in_directory_with_scope
      Src: /src/glib/gio/giomodule.c:1329,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1347,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1353,1
    - Dst: _g_http_proxy_get_type
      Src: /src/glib/gio/giomodule.c:1375,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1380,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1381,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1348,1
    - Dst: g_fdo_notification_backend_get_type
      Src: /src/glib/gio/giomodule.c:1359,1
    - Dst: _g_https_proxy_get_type
      Src: /src/glib/gio/giomodule.c:1376,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1373,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1340,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/giomodule.c:1304,1
    - Dst: g_io_module_scope_new
      Src: /src/glib/gio/giomodule.c:1307,1
    - Dst: g_null_settings_backend_get_type
      Src: /src/glib/gio/giomodule.c:1335,1
    - Dst: _g_win32_volume_monitor_get_type
      Src: /src/glib/gio/giomodule.c:1346,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1383,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1343,1
    - Dst: g_memory_monitor_dbus_get_type
      Src: /src/glib/gio/giomodule.c:1362,1
    - Dst: g_memory_monitor_win32_get_type
      Src: /src/glib/gio/giomodule.c:1371,1
    - Dst: g_getenv
      Src: /src/glib/gio/giomodule.c:1310,1
    - Dst: g_io_modules_scan_all_in_directory_with_scope
      Src: /src/glib/gio/giomodule.c:1320,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1335,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1363,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1378,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1369,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1357,1
    - Dst: _g_network_monitor_netlink_get_type
      Src: /src/glib/gio/giomodule.c:1383,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1351,1
    - Dst: g_cocoa_notification_backend_get_type
      Src: /src/glib/gio/giomodule.c:1351,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1366,1
    - Dst: g_memory_monitor_portal_get_type
      Src: /src/glib/gio/giomodule.c:1363,1
    - Dst: g_network_monitor_base_get_type
      Src: /src/glib/gio/giomodule.c:1381,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1384,1
    - Dst: g_debug_controller_dbus_get_type
      Src: /src/glib/gio/giomodule.c:1358,1
    - Dst: _g_io_modules_ensure_extension_points_registered
      Src: /src/glib/gio/giomodule.c:1300,1
    - Dst: g_once_init_enter
      Src: /src/glib/gio/giomodule.c:1302,1
    - Dst: get_gio_module_dir
      Src: /src/glib/gio/giomodule.c:1327,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1338,1
    - Dst: g_nextstep_settings_backend_get_type
      Src: /src/glib/gio/giomodule.c:1352,1
    - Dst: _g_local_vfs_get_type
      Src: /src/glib/gio/giomodule.c:1373,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1371,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1379,1
    - Dst: g_free
      Src: /src/glib/gio/giomodule.c:1330,1
    - Dst: g_power_profile_monitor_dbus_get_type
      Src: /src/glib/gio/giomodule.c:1338,1
    - Dst: g_gtk_notification_backend_get_type
      Src: /src/glib/gio/giomodule.c:1360,1
    - Dst: _g_network_monitor_nm_get_type
      Src: /src/glib/gio/giomodule.c:1384,1
    - Dst: g_keyfile_settings_backend_get_type
      Src: /src/glib/gio/giomodule.c:1337,1
    - Dst: _g_dummy_proxy_resolver_get_type
      Src: /src/glib/gio/giomodule.c:1374,1
    - Dst: _g_unix_volume_monitor_get_type
      Src: /src/glib/gio/giomodule.c:1357,1
    - Dst: g_osx_app_info_get_type
      Src: /src/glib/gio/giomodule.c:1353,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1376,1
    - Dst: _g_socks5_proxy_get_type
      Src: /src/glib/gio/giomodule.c:1379,1
    - Dst: _g_winhttp_vfs_get_type
      Src: /src/glib/gio/giomodule.c:1370,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1364,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1336,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1362,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1354,1
    - Dst: g_registry_settings_backend_get_type
      Src: /src/glib/gio/giomodule.c:1348,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1346,1
    - Dst: g_strsplit
      Src: /src/glib/gio/giomodule.c:1316,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1337,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1358,1
    - Dst: g_network_monitor_portal_get_type
      Src: /src/glib/gio/giomodule.c:1364,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1377,1
    - Dst: g_win32_notification_backend_get_type
      Src: /src/glib/gio/giomodule.c:1369,1
    - Dst: _g_dummy_tls_backend_get_type
      Src: /src/glib/gio/giomodule.c:1380,1
    - Dst: g_kqueue_file_monitor_get_type
      Src: /src/glib/gio/giomodule.c:1343,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1365,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/giomodule.c:1390,1
    - Dst: g_strfreev
      Src: /src/glib/gio/giomodule.c:1323,1
    - Dst: g_win32_file_monitor_get_type
      Src: /src/glib/gio/giomodule.c:1347,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1352,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1374,1
    - Dst: _g_socks4a_proxy_get_type
      Src: /src/glib/gio/giomodule.c:1377,1
    - Dst: g_io_module_scope_free
      Src: /src/glib/gio/giomodule.c:1332,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1360,1
    - Dst: g_power_profile_monitor_portal_get_type
      Src: /src/glib/gio/giomodule.c:1365,1
    - Dst: _g_win32_network_monitor_get_type
      Src: /src/glib/gio/giomodule.c:1387,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1387,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1375,1
    - Dst: g_portal_notification_backend_get_type
      Src: /src/glib/gio/giomodule.c:1361,1
    - Dst: g_osx_network_monitor_get_type
      Src: /src/glib/gio/giomodule.c:1354,1
    - Dst: g_memory_settings_backend_get_type
      Src: /src/glib/gio/giomodule.c:1336,1
    - Dst: _g_socks4_proxy_get_type
      Src: /src/glib/gio/giomodule.c:1378,1
    - Dst: g_inotify_file_monitor_get_type
      Src: /src/glib/gio/giomodule.c:1340,1
    - Dst: g_proxy_resolver_portal_get_type
      Src: /src/glib/gio/giomodule.c:1366,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1359,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1361,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/giomodule.c:1370,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 102
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1392
      start: 1293
    functionDepth: 0
    functionLinenumber: 1293
    functionLinenumberEnd: 1392
    functionName: _g_io_modules_ensure_loaded
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - g_portal_notification_backend_get_type
    - g_memory_settings_backend_get_type
    - g_memory_monitor_portal_get_type
    - g_fdo_notification_backend_get_type
    - _g_socks5_proxy_get_type
    - GLIB_PRIVATE_CALL
    - g_registry_settings_backend_get_type
    - g_inotify_file_monitor_get_type
    - _g_win32_volume_monitor_get_type
    - g_strsplit
    - _g_https_proxy_get_type
    - g_once_init_leave
    - _g_winhttp_vfs_get_type
    - g_network_monitor_base_get_type
    - g_nextstep_settings_backend_get_type
    - get_gio_module_dir
    - g_type_ensure
    - _g_win32_network_monitor_get_type
    - g_power_profile_monitor_dbus_get_type
    - g_strfreev
    - _g_local_vfs_get_type
    - g_io_module_scope_new
    - _g_dummy_tls_backend_get_type
    - g_gtk_notification_backend_get_type
    - g_cocoa_notification_backend_get_type
    - g_memory_monitor_dbus_get_type
    - g_memory_monitor_win32_get_type
    - _g_io_modules_ensure_extension_points_registered
    - g_osx_network_monitor_get_type
    - g_getenv
    - g_osx_app_info_get_type
    - g_io_modules_scan_all_in_directory_with_scope
    - _g_socks4a_proxy_get_type
    - _g_socks4_proxy_get_type
    - _g_dummy_proxy_resolver_get_type
    - g_keyfile_settings_backend_get_type
    - _g_unix_volume_monitor_get_type
    - _g_http_proxy_get_type
    - g_debug_controller_dbus_get_type
    - g_win32_notification_backend_get_type
    - g_network_monitor_portal_get_type
    - g_power_profile_monitor_portal_get_type
    - g_once_init_enter
    - g_io_module_scope_free
    - g_kqueue_file_monitor_get_type
    - _g_network_monitor_netlink_get_type
    - g_proxy_resolver_portal_get_type
    - _g_network_monitor_nm_get_type
    - g_null_settings_backend_get_type
    - g_win32_file_monitor_get_type
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void _g_io_modules_ensure_loaded (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - extension_point
    - type
    argTypes:
    - GIOExtensionPoint*
    - GType
    constantsTouched: []
    func_position:
      end: 1477
      start: 1472
    functionDepth: 0
    functionLinenumber: 1472
    functionLinenumberEnd: 1477
    functionName: g_io_extension_point_set_required_type
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void g_io_extension_point_set_required_type (GIOExtensionPoint *extension_point,\t\
      \t\t\t\tGType type) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/giomodule.c:1551,1
    - Dst: lazy_load_modules
      Src: /src/glib/gio/giomodule.c:1553,1
    - Dst: strcmp
      Src: /src/glib/gio/giomodule.c:1559,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1564
      start: 1545
    functionDepth: 0
    functionLinenumber: 1545
    functionLinenumberEnd: 1564
    functionName: g_io_extension_point_get_extension_by_name
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - lazy_load_modules
    - g_return_val_if_fail
    - strcmp
    linkageType: ''
    returnType: GIOExtension*
    signature: "GIOExtension *g_io_extension_point_get_extension_by_name (GIOExtensionPoint\
      \ *extension_point,\t\t\t\t\t const char *name) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/giomodule.c:278,1
    - Dst: G_TYPE_MODULE_CLASS
      Src: /src/glib/gio/giomodule.c:279,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - class
    argTypes:
    - GIOModuleClass*
    constantsTouched: []
    func_position:
      end: 285
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 285
    functionName: g_io_module_class_init
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - G_TYPE_MODULE_CLASS
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_io_module_class_init (GIOModuleClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/giomodule.c:1397,1
    - Dst: g_free
      Src: /src/glib/gio/giomodule.c:1398,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ep
    argTypes:
    - GIOExtensionPoint*
    constantsTouched: []
    func_position:
      end: 1399
      start: 1394
    functionDepth: 0
    functionLinenumber: 1394
    functionLinenumberEnd: 1399
    functionName: g_io_extension_point_free
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void g_io_extension_point_free (GIOExtensionPoint *ep) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1579
      start: 1566
    functionDepth: 0
    functionLinenumber: 1566
    functionLinenumberEnd: 1579
    functionName: extension_prio_compare
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint
    signature: "static gint extension_prio_compare (gconstpointer a,\t\t\tgconstpointer\
      \ b) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/giomodule.c:1529,1
    - Dst: lazy_load_modules
      Src: /src/glib/gio/giomodule.c:1531,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1533
      start: 1526
    functionDepth: 0
    functionLinenumber: 1526
    functionLinenumberEnd: 1533
    functionName: g_io_extension_point_get_extensions
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - lazy_load_modules
    - g_return_val_if_fail
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_io_extension_point_get_extensions (GIOExtensionPoint *extension_point) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/giomodule.c:216,1
    - Dst: g_strdup
      Src: /src/glib/gio/giomodule.c:219,1
    - Dst: g_hash_table_add
      Src: /src/glib/gio/giomodule.c:220,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/giomodule.c:217,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - scope
    - basename
    argTypes:
    - GIOModuleScope*
    - gchar*
    constantsTouched: []
    func_position:
      end: 221
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 221
    functionName: g_io_module_scope_block
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_hash_table_add
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_io_module_scope_block (GIOModuleScope *scope, const gchar *basename) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - module
    argTypes:
    - GIOModule*
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: g_io_module_init
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_io_module_init (GIOModule *module) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_io_modules_load_all_in_directory_with_scope
      Src: /src/glib/gio/giomodule.c:712,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 713
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 713
    functionName: g_io_modules_load_all_in_directory
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - g_io_modules_load_all_in_directory_with_scope
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_io_modules_load_all_in_directory (const char *dirname) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_io_extension_point_register
      Src: /src/glib/gio/giomodule.c:1196,1
    - Dst: g_io_extension_point_register
      Src: /src/glib/gio/giomodule.c:1211,1
    - Dst: g_io_extension_point_register
      Src: /src/glib/gio/giomodule.c:1217,1
    - Dst: g_io_extension_point_register
      Src: /src/glib/gio/giomodule.c:1223,1
    - Dst: g_io_extension_point_register
      Src: /src/glib/gio/giomodule.c:1229,1
    - Dst: g_io_extension_point_set_required_type
      Src: /src/glib/gio/giomodule.c:1194,1
    - Dst: g_io_extension_point_set_required_type
      Src: /src/glib/gio/giomodule.c:1200,1
    - Dst: g_io_extension_point_set_required_type
      Src: /src/glib/gio/giomodule.c:1203,1
    - Dst: g_io_extension_point_register
      Src: /src/glib/gio/giomodule.c:1202,1
    - Dst: g_io_extension_point_set_required_type
      Src: /src/glib/gio/giomodule.c:1206,1
    - Dst: g_io_extension_point_set_required_type
      Src: /src/glib/gio/giomodule.c:1212,1
    - Dst: g_io_extension_point_set_required_type
      Src: /src/glib/gio/giomodule.c:1224,1
    - Dst: g_io_extension_point_set_required_type
      Src: /src/glib/gio/giomodule.c:1230,1
    - Dst: g_once_init_enter
      Src: /src/glib/gio/giomodule.c:1181,1
    - Dst: g_io_extension_point_register
      Src: /src/glib/gio/giomodule.c:1185,1
    - Dst: g_io_extension_point_register
      Src: /src/glib/gio/giomodule.c:1190,1
    - Dst: g_io_extension_point_register
      Src: /src/glib/gio/giomodule.c:1193,1
    - Dst: g_io_extension_point_register
      Src: /src/glib/gio/giomodule.c:1199,1
    - Dst: g_io_extension_point_register
      Src: /src/glib/gio/giomodule.c:1214,1
    - Dst: g_io_extension_point_register
      Src: /src/glib/gio/giomodule.c:1220,1
    - Dst: g_io_extension_point_register
      Src: /src/glib/gio/giomodule.c:1226,1
    - Dst: GLIB_CHECK_VERSION
      Src: /src/glib/gio/giomodule.c:1184,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/giomodule.c:1232,1
    - Dst: g_io_extension_point_set_required_type
      Src: /src/glib/gio/giomodule.c:1186,1
    - Dst: g_io_extension_point_set_required_type
      Src: /src/glib/gio/giomodule.c:1191,1
    - Dst: g_io_extension_point_set_required_type
      Src: /src/glib/gio/giomodule.c:1197,1
    - Dst: g_io_extension_point_register
      Src: /src/glib/gio/giomodule.c:1205,1
    - Dst: g_io_extension_point_set_required_type
      Src: /src/glib/gio/giomodule.c:1209,1
    - Dst: g_io_extension_point_register
      Src: /src/glib/gio/giomodule.c:1208,1
    - Dst: g_io_extension_point_set_required_type
      Src: /src/glib/gio/giomodule.c:1215,1
    - Dst: g_io_extension_point_set_required_type
      Src: /src/glib/gio/giomodule.c:1218,1
    - Dst: g_io_extension_point_set_required_type
      Src: /src/glib/gio/giomodule.c:1221,1
    - Dst: g_io_extension_point_set_required_type
      Src: /src/glib/gio/giomodule.c:1227,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 53
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1234
      start: 1175
    functionDepth: 0
    functionLinenumber: 1175
    functionLinenumberEnd: 1234
    functionName: _g_io_modules_ensure_extension_points_registered
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - g_once_init_leave
    - GLIB_CHECK_VERSION
    - g_io_extension_point_set_required_type
    - g_once_init_enter
    - g_io_extension_point_register
    linkageType: ''
    returnType: void
    signature: 'void _g_io_modules_ensure_extension_points_registered (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_type_module_use
      Src: /src/glib/gio/giomodule.c:1506,1
    - Dst: g_type_module_unuse
      Src: /src/glib/gio/giomodule.c:1507,1
    - Dst: G_TYPE_MODULE
      Src: /src/glib/gio/giomodule.c:1506,1
    - Dst: g_printerr
      Src: /src/glib/gio/giomodule.c:1509,1
    - Dst: G_TYPE_MODULE
      Src: /src/glib/gio/giomodule.c:1507,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - extension_point
    argTypes:
    - GIOExtensionPoint*
    constantsTouched: []
    func_position:
      end: 1513
      start: 1494
    functionDepth: 0
    functionLinenumber: 1494
    functionLinenumberEnd: 1513
    functionName: lazy_load_modules
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - G_TYPE_MODULE
    - g_type_module_unuse
    - g_printerr
    - g_type_module_use
    linkageType: ''
    returnType: void
    signature: 'static void lazy_load_modules (GIOExtensionPoint *extension_point) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_type_class_ref
      Src: /src/glib/gio/giomodule.c:1657,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1658
      start: 1654
    functionDepth: 0
    functionLinenumber: 1654
    functionLinenumberEnd: 1658
    functionName: g_io_extension_ref_class
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - g_type_class_ref
    linkageType: ''
    returnType: GTypeClass*
    signature: 'GTypeClass *g_io_extension_ref_class (GIOExtension *extension) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_IO_MODULE
      Src: /src/glib/gio/giomodule.c:295,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/giomodule.c:299,1
    - Dst: g_free
      Src: /src/glib/gio/giomodule.c:297,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 300
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 300
    functionName: g_io_module_finalize
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - G_IO_MODULE
    - g_free
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_io_module_finalize (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_io_extension_get_type
      Src: /src/glib/gio/giomodule.c:719,1
    - Dst: g_type_class_ref
      Src: /src/glib/gio/giomodule.c:723,1
    - Dst: g_type_class_unref
      Src: /src/glib/gio/giomodule.c:727,1
    - Dst: G_STRUCT_MEMBER
      Src: /src/glib/gio/giomodule.c:724,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - extension
    - is_supported_offset
    argTypes:
    - GIOExtension*
    - guint
    constantsTouched: []
    func_position:
      end: 729
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 729
    functionName: try_class
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - g_io_extension_get_type
    - g_type_class_unref
    - g_type_class_ref
    - G_STRUCT_MEMBER
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer try_class (GIOExtension *extension, guint is_supported_offset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glib_win32_init
      Src: /src/glib/gio/giomodule.c:1153,1
    - Dst: gobject_win32_init
      Src: /src/glib/gio/giomodule.c:1154,1
    - Dst: gio_win32_appinfo_init
      Src: /src/glib/gio/giomodule.c:1155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1156
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1156
    functionName: giomodule_init_ctor
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - gobject_win32_init
    - gio_win32_appinfo_init
    - glib_win32_init
    linkageType: ''
    returnType: G_DEFINE_CONSTRUCTOR (giomodule_init_ctor)
    signature: 'G_DEFINE_CONSTRUCTOR (giomodule_init_ctor) static void giomodule_init_ctor
      (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gio/giomodule.c:1249,1
    - Dst: g_getenv
      Src: /src/glib/gio/giomodule.c:1249,1
    - Dst: g_win32_get_package_installation_directory_of_module
      Src: /src/glib/gio/giomodule.c:1255,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/giomodule.c:1240,1
    - Dst: g_build_filename
      Src: /src/glib/gio/giomodule.c:1256,1
    - Dst: g_free
      Src: /src/glib/gio/giomodule.c:1259,1
    - Dst: g_strdup
      Src: /src/glib/gio/giomodule.c:1261,1
    - Dst: dladdr
      Src: /src/glib/gio/giomodule.c:1273,1
    - Dst: g_path_get_dirname
      Src: /src/glib/gio/giomodule.c:1276,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/giomodule.c:1281,1
    - Dst: g_free
      Src: /src/glib/gio/giomodule.c:1280,1
    - Dst: g_build_filename
      Src: /src/glib/gio/giomodule.c:1277,1
    - Dst: g_file_test
      Src: /src/glib/gio/giomodule.c:1278,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1236
    functionDepth: 0
    functionLinenumber: 1236
    functionLinenumberEnd: 1291
    functionName: get_gio_module_dir
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - g_path_get_dirname
    - g_steal_pointer
    - g_strdup
    - g_getenv
    - GLIB_PRIVATE_CALL
    - dladdr
    - g_build_filename
    - g_win32_get_package_installation_directory_of_module
    - g_file_test
    - g_free
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *get_gio_module_dir (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_destroy
      Src: /src/glib/gio/giomodule.c:195,1
    - Dst: g_free
      Src: /src/glib/gio/giomodule.c:196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - scope
    argTypes:
    - GIOModuleScope*
    constantsTouched: []
    func_position:
      end: 197
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 197
    functionName: g_io_module_scope_free
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - g_free
    - g_hash_table_destroy
    linkageType: ''
    returnType: void
    signature: 'void g_io_module_scope_free (GIOModuleScope *scope) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_module_supported
      Src: /src/glib/gio/giomodule.c:654,1
    - Dst: is_valid_module_name
      Src: /src/glib/gio/giomodule.c:664,1
    - Dst: g_build_filename
      Src: /src/glib/gio/giomodule.c:669,1
    - Dst: g_dir_read_name
      Src: /src/glib/gio/giomodule.c:662,1
    - Dst: g_dir_open
      Src: /src/glib/gio/giomodule.c:657,1
    - Dst: g_io_module_new
      Src: /src/glib/gio/giomodule.c:670,1
    - Dst: g_type_module_use
      Src: /src/glib/gio/giomodule.c:672,1
    - Dst: G_TYPE_MODULE
      Src: /src/glib/gio/giomodule.c:672,1
    - Dst: g_printerr
      Src: /src/glib/gio/giomodule.c:674,1
    - Dst: g_object_unref
      Src: /src/glib/gio/giomodule.c:675,1
    - Dst: g_free
      Src: /src/glib/gio/giomodule.c:680,1
    - Dst: g_dir_close
      Src: /src/glib/gio/giomodule.c:686,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/giomodule.c:682,1
    - Dst: g_free
      Src: /src/glib/gio/giomodule.c:676,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 689
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 689
    functionName: g_io_modules_load_all_in_directory_with_scope
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - g_dir_open
    - g_printerr
    - g_object_unref
    - g_io_module_new
    - g_module_supported
    - g_free
    - g_dir_read_name
    - G_TYPE_MODULE
    - g_build_filename
    - g_list_prepend
    - is_valid_module_name
    - g_type_module_use
    - g_dir_close
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_io_modules_load_all_in_directory_with_scope (const char *dirname,
      GIOModuleScope *scope) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/giomodule.c:1453,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/giomodule.c:1458,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/giomodule.c:1456,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1448
    functionDepth: 0
    functionLinenumber: 1448
    functionLinenumberEnd: 1462
    functionName: g_io_extension_point_lookup
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - G_LOCK
    - g_hash_table_lookup
    linkageType: ''
    returnType: GIOExtensionPoint*
    signature: 'GIOExtensionPoint *g_io_extension_point_lookup (const char *name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/giomodule.c:1606,1
    - Dst: g_warning
      Src: /src/glib/gio/giomodule.c:1611,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/giomodule.c:1616,1
    - Dst: g_io_extension_point_lookup
      Src: /src/glib/gio/giomodule.c:1608,1
    - Dst: g_warning
      Src: /src/glib/gio/giomodule.c:1618,1
    - Dst: g_type_name
      Src: /src/glib/gio/giomodule.c:1620,1
    - Dst: g_type_name
      Src: /src/glib/gio/giomodule.c:1622,1
    - Dst: g_slice_new0
      Src: /src/glib/gio/giomodule.c:1634,1
    - Dst: g_strdup
      Src: /src/glib/gio/giomodule.c:1636,1
    - Dst: g_list_insert_sorted
      Src: /src/glib/gio/giomodule.c:1639,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1643
      start: 1596
    functionDepth: 0
    functionLinenumber: 1596
    functionLinenumberEnd: 1643
    functionName: g_io_extension_point_implement
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_strdup
    - g_warning
    - g_slice_new0
    - g_io_extension_point_lookup
    - g_list_insert_sorted
    - g_type_is_a
    - g_type_name
    linkageType: ''
    returnType: GIOExtension*
    signature: "GIOExtension *g_io_extension_point_implement (const char *extension_point_name,\t\
      \t\t\tGType type,\t\t\t\tconst char *extension_name,\t\t\t\tgint priority) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/giomodule.c:176,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/giomodule.c:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 180
    functionName: g_io_module_scope_new
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - g_new0
    - g_hash_table_new_full
    linkageType: ''
    returnType: GIOModuleScope*
    signature: 'GIOModuleScope *g_io_module_scope_new (GIOModuleScopeFlags flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_io_modules_scan_all_in_directory_with_scope
      Src: /src/glib/gio/giomodule.c:622,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - dirname
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 623
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 623
    functionName: g_io_modules_scan_all_in_directory
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - g_io_modules_scan_all_in_directory_with_scope
    linkageType: ''
    returnType: void
    signature: 'void g_io_modules_scan_all_in_directory (const char *dirname) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/giomodule.c:1415,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/giomodule.c:1422,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/giomodule.c:1417,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/giomodule.c:1425,1
    - Dst: g_new0
      Src: /src/glib/gio/giomodule.c:1429,1
    - Dst: g_strdup
      Src: /src/glib/gio/giomodule.c:1430,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/giomodule.c:1432,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/giomodule.c:1434,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1410
    functionDepth: 0
    functionLinenumber: 1410
    functionLinenumberEnd: 1437
    functionName: g_io_extension_point_register
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - g_strdup
    - G_UNLOCK
    - g_hash_table_lookup
    - g_hash_table_insert
    - g_hash_table_new_full
    - g_new0
    - G_LOCK
    linkageType: ''
    returnType: GIOExtensionPoint*
    signature: 'GIOExtensionPoint *g_io_extension_point_register (const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - extension
    argTypes:
    - GIOExtension*
    constantsTouched: []
    func_position:
      end: 1703
      start: 1699
    functionDepth: 0
    functionLinenumber: 1699
    functionLinenumberEnd: 1703
    functionName: g_io_extension_get_priority
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint
    signature: 'gint g_io_extension_get_priority (GIOExtension *extension) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gio_win32_appinfo_init
      Src: /src/glib/gio/giomodule.c:1122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - hinstDLL
    - fdwReason
    - lpvReserved
    argTypes:
    - HINSTANCE
    - DWORD
    - LPVOID
    constantsTouched: []
    func_position:
      end: 1126
      start: 1114
    functionDepth: 0
    functionLinenumber: 1114
    functionLinenumberEnd: 1126
    functionName: DllMain
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - gio_win32_appinfo_init
    linkageType: ''
    returnType: BOOL
    signature: "BOOL WINAPI DllMain (HINSTANCE hinstDLL,\t DWORD fdwReason,\t LPVOID\
      \ lpvReserved) "
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_file_get_contents
      Src: /src/glib/gio/giomodule.c:491,1
    - Dst: MAX
      Src: /src/glib/gio/giomodule.c:506,1
    - Dst: g_free
      Src: /src/glib/gio/giomodule.c:509,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/giomodule.c:537,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/giomodule.c:533,1
    - Dst: is_valid_module_name
      Src: /src/glib/gio/giomodule.c:544,1
    - Dst: g_io_extension_point_register
      Src: /src/glib/gio/giomodule.c:566,1
    - Dst: G_TYPE_MODULE
      Src: /src/glib/gio/giomodule.c:577,1
    - Dst: g_free
      Src: /src/glib/gio/giomodule.c:597,1
    - Dst: g_strsplit
      Src: /src/glib/gio/giomodule.c:508,1
    - Dst: g_ascii_isspace
      Src: /src/glib/gio/giomodule.c:529,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/giomodule.c:532,1
    - Dst: g_build_filename
      Src: /src/glib/gio/giomodule.c:552,1
    - Dst: g_strfreev
      Src: /src/glib/gio/giomodule.c:539,1
    - Dst: g_io_module_new
      Src: /src/glib/gio/giomodule.c:553,1
    - Dst: g_type_module_use
      Src: /src/glib/gio/giomodule.c:575,1
    - Dst: g_object_unref
      Src: /src/glib/gio/giomodule.c:584,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/gio/giomodule.c:595,1
    - Dst: g_stat
      Src: /src/glib/gio/giomodule.c:490,1
    - Dst: strchr
      Src: /src/glib/gio/giomodule.c:521,1
    - Dst: g_strdup
      Src: /src/glib/gio/giomodule.c:526,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/giomodule.c:556,1
    - Dst: g_ignore_leak
      Src: /src/glib/gio/giomodule.c:579,1
    - Dst: g_free
      Src: /src/glib/gio/giomodule.c:588,1
    - Dst: g_module_supported
      Src: /src/glib/gio/giomodule.c:479,1
    - Dst: g_build_filename
      Src: /src/glib/gio/giomodule.c:486,1
    - Dst: g_dir_open
      Src: /src/glib/gio/giomodule.c:482,1
    - Dst: g_strsplit
      Src: /src/glib/gio/giomodule.c:536,1
    - Dst: g_dir_read_name
      Src: /src/glib/gio/giomodule.c:542,1
    - Dst: g_stat
      Src: /src/glib/gio/giomodule.c:559,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/giomodule.c:568,1
    - Dst: G_TYPE_MODULE
      Src: /src/glib/gio/giomodule.c:575,1
    - Dst: g_type_module_unuse
      Src: /src/glib/gio/giomodule.c:577,1
    - Dst: g_printerr
      Src: /src/glib/gio/giomodule.c:583,1
    - Dst: g_dir_close
      Src: /src/glib/gio/giomodule.c:592,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 80
    argCount: 2
    argNames:
    - dirname
    - scope
    argTypes:
    - char*
    - GIOModuleScope*
    constantsTouched: []
    func_position:
      end: 598
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 598
    functionName: g_io_modules_scan_all_in_directory_with_scope
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - g_dir_open
    - g_printerr
    - g_file_get_contents
    - g_hash_table_new_full
    - G_UNLIKELY
    - g_strsplit
    - g_list_prepend
    - g_io_extension_point_register
    - is_valid_module_name
    - g_object_unref
    - g_module_supported
    - g_hash_table_lookup
    - g_hash_table_insert
    - g_strfreev
    - G_TYPE_MODULE
    - g_build_filename
    - g_type_module_use
    - g_ascii_isspace
    - g_strdup
    - g_type_module_unuse
    - MAX
    - g_stat
    - g_hash_table_destroy
    - g_io_module_new
    - g_dir_read_name
    - strchr
    - g_ignore_leak
    - g_free
    - g_dir_close
    linkageType: ''
    returnType: void
    signature: 'void g_io_modules_scan_all_in_directory_with_scope (const char *dirname,
      GIOModuleScope *scope) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _g_io_module_extract_name
      Src: /src/glib/gio/giomodule.c:310,1
    - Dst: g_module_symbol
      Src: /src/glib/gio/giomodule.c:314,1
    - Dst: g_module_symbol
      Src: /src/glib/gio/giomodule.c:317,1
    - Dst: g_strconcat
      Src: /src/glib/gio/giomodule.c:312,1
    - Dst: g_strconcat
      Src: /src/glib/gio/giomodule.c:311,1
    - Dst: g_module_symbol
      Src: /src/glib/gio/giomodule.c:324,1
    - Dst: g_module_symbol
      Src: /src/glib/gio/giomodule.c:327,1
    - Dst: g_free
      Src: /src/glib/gio/giomodule.c:332,1
    - Dst: g_free
      Src: /src/glib/gio/giomodule.c:333,1
    - Dst: g_free
      Src: /src/glib/gio/giomodule.c:334,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - module
    argTypes:
    - GIOModule*
    constantsTouched: []
    func_position:
      end: 337
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 337
    functionName: load_symbols
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - _g_io_module_extract_name
    - g_free
    - g_strconcat
    - g_module_symbol
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean load_symbols (GIOModule *module) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/giomodule.c:405,1
    - Dst: g_object_new
      Src: /src/glib/gio/giomodule.c:407,1
    - Dst: g_strdup
      Src: /src/glib/gio/giomodule.c:408,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 411
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 411
    functionName: g_io_module_new
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_return_val_if_fail
    - g_object_new
    linkageType: ''
    returnType: GIOModule*
    signature: 'GIOModule *g_io_module_new (const gchar *filename) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/giomodule.c:421,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/giomodule.c:423,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/giomodule.c:422,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/giomodule.c:426,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/giomodule.c:427,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/giomodule.c:431,1
    - Dst: _g_io_module_scope_contains
      Src: /src/glib/gio/giomodule.c:438,1
    - Dst: g_io_module_scope_block
      Src: /src/glib/gio/giomodule.c:440,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 2
    argNames:
    - basename
    - scope
    argTypes:
    - gchar*
    - GIOModuleScope*
    constantsTouched: []
    func_position:
      end: 444
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 444
    functionName: is_valid_module_name
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - g_str_has_prefix
    - _g_io_module_scope_contains
    - g_io_module_scope_block
    - g_str_has_suffix
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_valid_module_name (const gchar *basename, GIOModuleScope
      *scope) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_io_extension_get_type
      Src: /src/glib/gio/giomodule.c:877,1
    - Dst: g_initable_new
      Src: /src/glib/gio/giomodule.c:884,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/giomodule.c:880,1
    - Dst: g_io_extension_get_name
      Src: /src/glib/gio/giomodule.c:889,1
    - Dst: g_debug
      Src: /src/glib/gio/giomodule.c:888,1
    - Dst: g_type_name
      Src: /src/glib/gio/giomodule.c:890,1
    - Dst: g_clear_error
      Src: /src/glib/gio/giomodule.c:893,1
    - Dst: g_object_new
      Src: /src/glib/gio/giomodule.c:898,1
    - Dst: verify_func
      Src: /src/glib/gio/giomodule.c:899,1
    - Dst: g_object_unref
      Src: /src/glib/gio/giomodule.c:902,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - extension_point
    - extension
    - verify_func
    argTypes:
    - char*
    - GIOExtension*
    - GIOModuleVerifyFunc
    constantsTouched: []
    func_position:
      end: 905
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 905
    functionName: try_implementation
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_object_unref
    - g_object_new
    - g_debug
    - g_io_extension_get_name
    - g_io_extension_get_type
    - verify_func
    - g_initable_new
    - g_type_is_a
    - g_type_name
    linkageType: ''
    returnType: gpointer
    signature: "static gpointer try_implementation (const char *extension_point, GIOExtension\
      \ *extension,\t\t GIOModuleVerifyFunc verify_func) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1689
      start: 1685
    functionDepth: 0
    functionLinenumber: 1685
    functionLinenumberEnd: 1689
    functionName: g_io_extension_get_name
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *g_io_extension_get_name (GIOExtension *extension) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_IO_MODULE
      Src: /src/glib/gio/giomodule.c:342,1
    - Dst: g_printerr
      Src: /src/glib/gio/giomodule.c:355,1
    - Dst: g_module_open_full
      Src: /src/glib/gio/giomodule.c:351,1
    - Dst: g_clear_error
      Src: /src/glib/gio/giomodule.c:356,1
    - Dst: g_warning
      Src: /src/glib/gio/giomodule.c:347,1
    - Dst: load_symbols
      Src: /src/glib/gio/giomodule.c:361,1
    - Dst: g_printerr
      Src: /src/glib/gio/giomodule.c:363,1
    - Dst: g_module_error
      Src: /src/glib/gio/giomodule.c:363,1
    - Dst: g_module_close
      Src: /src/glib/gio/giomodule.c:364,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - gmodule
    argTypes:
    - GTypeModule*
    constantsTouched: []
    func_position:
      end: 374
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 374
    functionName: g_io_module_load_module
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - load_symbols
    - g_printerr
    - g_warning
    - G_IO_MODULE
    - g_module_close
    - g_module_open_full
    - g_module_error
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_io_module_load_module (GTypeModule *gmodule) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_weak_ref_clear
      Src: /src/glib/gio/giomodule.c:910,1
    - Dst: g_free
      Src: /src/glib/gio/giomodule.c:911,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - weak_ref
    argTypes:
    - GWeakRef*
    constantsTouched: []
    func_position:
      end: 912
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 912
    functionName: weak_ref_free
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - g_weak_ref_clear
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void weak_ref_free (GWeakRef *weak_ref) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_IO_MODULE
      Src: /src/glib/gio/giomodule.c:379,1
    - Dst: g_module_close
      Src: /src/glib/gio/giomodule.c:383,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - gmodule
    argTypes:
    - GTypeModule*
    constantsTouched: []
    func_position:
      end: 388
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 388
    functionName: g_io_module_unload_module
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - G_IO_MODULE
    - g_module_close
    linkageType: ''
    returnType: void
    signature: 'static void g_io_module_unload_module (GTypeModule *gmodule) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gio/giomodule.c:808,1
    - Dst: _g_io_modules_ensure_loaded
      Src: /src/glib/gio/giomodule.c:817,1
    - Dst: g_getenv
      Src: /src/glib/gio/giomodule.c:830,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gio/giomodule.c:867,1
    - Dst: G_OBJECT_CLASS_TYPE
      Src: /src/glib/gio/giomodule.c:869,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/giomodule.c:814,1
    - Dst: try_class
      Src: /src/glib/gio/giomodule.c:842,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/giomodule.c:831,1
    - Dst: g_warning
      Src: /src/glib/gio/giomodule.c:847,1
    - Dst: try_class
      Src: /src/glib/gio/giomodule.c:858,1
    - Dst: g_hash_table_lookup_extended
      Src: /src/glib/gio/giomodule.c:806,1
    - Dst: g_warn_if_reached
      Src: /src/glib/gio/giomodule.c:822,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gio/giomodule.c:823,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/giomodule.c:866,1
    - Dst: g_strdup
      Src: /src/glib/gio/giomodule.c:866,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/gio/giomodule.c:801,1
    - Dst: G_OBJECT_CLASS_TYPE
      Src: /src/glib/gio/giomodule.c:809,1
    - Dst: g_io_extension_point_lookup
      Src: /src/glib/gio/giomodule.c:818,1
    - Dst: g_io_extension_point_get_extension_by_name
      Src: /src/glib/gio/giomodule.c:839,1
    - Dst: print_help
      Src: /src/glib/gio/giomodule.c:833,1
    - Dst: g_io_extension_point_get_extensions
      Src: /src/glib/gio/giomodule.c:852,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 46
    argCount: 3
    argNames:
    - extension_point
    - envvar
    - is_supported_offset
    argTypes:
    - gchar*
    - gchar*
    - guint
    constantsTouched: []
    func_position:
      end: 870
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 870
    functionName: _g_io_module_get_default_type
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_lock
    - g_strdup
    - print_help
    - g_warn_if_reached
    - g_hash_table_lookup_extended
    - g_io_extension_point_lookup
    - g_getenv
    - g_rec_mutex_unlock
    - g_warning
    - g_io_extension_point_get_extension_by_name
    - g_hash_table_insert
    - try_class
    - g_io_extension_point_get_extensions
    - g_hash_table_new
    - g_strcmp0
    - _g_io_modules_ensure_loaded
    - G_OBJECT_CLASS_TYPE
    linkageType: ''
    returnType: GType
    signature: 'GType _g_io_module_get_default_type (const gchar *extension_point,
      const gchar *envvar, guint is_supported_offset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - extension_point
    argTypes:
    - GIOExtensionPoint*
    constantsTouched: []
    func_position:
      end: 1492
      start: 1488
    functionDepth: 0
    functionLinenumber: 1488
    functionLinenumberEnd: 1492
    functionName: g_io_extension_point_get_required_type
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GType
    signature: 'GType g_io_extension_point_get_required_type (GIOExtensionPoint *extension_point) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - extension
    argTypes:
    - GIOExtension*
    constantsTouched: []
    func_position:
      end: 1672
      start: 1668
    functionDepth: 0
    functionLinenumber: 1668
    functionLinenumberEnd: 1672
    functionName: g_io_extension_get_type
    functionSourceFile: /src/glib/gio/giomodule.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GType
    signature: 'GType g_io_extension_get_type (GIOExtension *extension) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_dbus_auth_mechanism_anon_get_instance_private
      Src: /src/glib/gio/gdbusauthmechanismanon.c:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - mechanism
    argTypes:
    - GDBusAuthMechanismAnon*
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: _g_dbus_auth_mechanism_anon_init
    functionSourceFile: /src/glib/gio/gdbusauthmechanismanon.c
    functionUses: []
    functionsReached:
    - _g_dbus_auth_mechanism_anon_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void _g_dbus_auth_mechanism_anon_init (GDBusAuthMechanismAnon
      *mechanism) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_AUTH_MECHANISM_ANON
      Src: /src/glib/gio/gdbusauthmechanismanon.c:288,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM_ANON
      Src: /src/glib/gio/gdbusauthmechanismanon.c:290,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismanon.c:290,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismanon.c:292,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismanon.c:291,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gdbusauthmechanismanon.c:295,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - mechanism
    - data
    - data_len
    argTypes:
    - GDBusAuthMechanism*
    - gchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 296
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 296
    functionName: mechanism_client_data_receive
    functionSourceFile: /src/glib/gio/gdbusauthmechanismanon.c
    functionUses: []
    functionsReached:
    - G_DBUS_AUTH_MECHANISM_ANON
    - g_assert_not_reached
    - G_IS_DBUS_AUTH_MECHANISM_ANON
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void mechanism_client_data_receive (GDBusAuthMechanism *mechanism,
      const gchar *data, gsize data_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_AUTH_MECHANISM_ANON
      Src: /src/glib/gio/gdbusauthmechanismanon.c:302,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismanon.c:304,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM_ANON
      Src: /src/glib/gio/gdbusauthmechanismanon.c:304,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismanon.c:305,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismanon.c:306,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gdbusauthmechanismanon.c:309,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 312
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 312
    functionName: mechanism_client_data_send
    functionSourceFile: /src/glib/gio/gdbusauthmechanismanon.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_DBUS_AUTH_MECHANISM_ANON
    - g_assert_not_reached
    - G_IS_DBUS_AUTH_MECHANISM_ANON
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *mechanism_client_data_send (GDBusAuthMechanism *mechanism,
      gsize *out_data_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 151
    functionName: mechanism_encode_data
    functionSourceFile: /src/glib/gio/gdbusauthmechanismanon.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *mechanism_encode_data (GDBusAuthMechanism *mechanism,
      const gchar *data, gsize data_len, gsize *out_data_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_AUTH_MECHANISM_ANON
      Src: /src/glib/gio/gdbusauthmechanismanon.c:168,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismanon.c:171,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM_ANON
      Src: /src/glib/gio/gdbusauthmechanismanon.c:170,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismanon.c:170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - mechanism
    argTypes:
    - GDBusAuthMechanism*
    constantsTouched: []
    func_position:
      end: 174
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 174
    functionName: mechanism_server_get_state
    functionSourceFile: /src/glib/gio/gdbusauthmechanismanon.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_DBUS_AUTH_MECHANISM_ANON
    - G_IS_DBUS_AUTH_MECHANISM_ANON
    linkageType: ''
    returnType: GDBusAuthMechanismState
    signature: 'static GDBusAuthMechanismState mechanism_server_get_state (GDBusAuthMechanism
      *mechanism) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 161
    functionName: mechanism_decode_data
    functionSourceFile: /src/glib/gio/gdbusauthmechanismanon.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *mechanism_decode_data (GDBusAuthMechanism *mechanism,
      const gchar *data, gsize data_len, gsize *out_data_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_AUTH_MECHANISM_ANON
      Src: /src/glib/gio/gdbusauthmechanismanon.c:181,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismanon.c:183,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM_ANON
      Src: /src/glib/gio/gdbusauthmechanismanon.c:183,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismanon.c:184,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - mechanism
    - initial_response
    - initial_response_len
    argTypes:
    - GDBusAuthMechanism*
    - gchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 190
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 190
    functionName: mechanism_server_initiate
    functionSourceFile: /src/glib/gio/gdbusauthmechanismanon.c
    functionUses: []
    functionsReached:
    - G_DBUS_AUTH_MECHANISM_ANON
    - G_IS_DBUS_AUTH_MECHANISM_ANON
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void mechanism_server_initiate (GDBusAuthMechanism *mechanism,
      const gchar *initial_response, gsize initial_response_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_AUTH_MECHANISM_ANON
      Src: /src/glib/gio/gdbusauthmechanismanon.c:254,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismanon.c:256,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismanon.c:257,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM_ANON
      Src: /src/glib/gio/gdbusauthmechanismanon.c:256,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - mechanism
    argTypes:
    - GDBusAuthMechanism*
    constantsTouched: []
    func_position:
      end: 260
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 260
    functionName: mechanism_client_get_state
    functionSourceFile: /src/glib/gio/gdbusauthmechanismanon.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_DBUS_AUTH_MECHANISM_ANON
    - G_IS_DBUS_AUTH_MECHANISM_ANON
    linkageType: ''
    returnType: GDBusAuthMechanismState
    signature: 'static GDBusAuthMechanismState mechanism_client_get_state (GDBusAuthMechanism
      *mechanism) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_AUTH_MECHANISM_ANON
      Src: /src/glib/gio/gdbusauthmechanismanon.c:267,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismanon.c:270,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM_ANON
      Src: /src/glib/gio/gdbusauthmechanismanon.c:270,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismanon.c:271,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusauthmechanismanon.c:277,1
    - Dst: strlen
      Src: /src/glib/gio/gdbusauthmechanismanon.c:278,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 281
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 281
    functionName: mechanism_client_initiate
    functionSourceFile: /src/glib/gio/gdbusauthmechanismanon.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_return_val_if_fail
    - strlen
    - G_DBUS_AUTH_MECHANISM_ANON
    - G_IS_DBUS_AUTH_MECHANISM_ANON
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *mechanism_client_initiate (GDBusAuthMechanism *mechanism,
      GDBusConnectionFlags conn_flags, gsize *out_initial_response_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusauthmechanismanon.c:82,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusauthmechanismanon.c:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: _g_dbus_auth_mechanism_anon_finalize
    functionSourceFile: /src/glib/gio/gdbusauthmechanismanon.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void _g_dbus_auth_mechanism_anon_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: mechanism_get_name
    functionSourceFile: /src/glib/gio/gdbusauthmechanismanon.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *mechanism_get_name (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_AUTH_MECHANISM_ANON
      Src: /src/glib/gio/gdbusauthmechanismanon.c:197,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismanon.c:201,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismanon.c:200,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM_ANON
      Src: /src/glib/gio/gdbusauthmechanismanon.c:199,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismanon.c:199,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gdbusauthmechanismanon.c:204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - mechanism
    - data
    - data_len
    argTypes:
    - GDBusAuthMechanism*
    - gchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 205
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 205
    functionName: mechanism_server_data_receive
    functionSourceFile: /src/glib/gio/gdbusauthmechanismanon.c
    functionUses: []
    functionsReached:
    - G_DBUS_AUTH_MECHANISM_ANON
    - g_assert_not_reached
    - G_IS_DBUS_AUTH_MECHANISM_ANON
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void mechanism_server_data_receive (GDBusAuthMechanism *mechanism,
      const gchar *data, gsize data_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_AUTH_MECHANISM_ANON
      Src: /src/glib/gio/gdbusauthmechanismanon.c:226,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismanon.c:228,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM_ANON
      Src: /src/glib/gio/gdbusauthmechanismanon.c:228,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismanon.c:229,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismanon.c:230,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gdbusauthmechanismanon.c:233,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 236
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 236
    functionName: mechanism_server_get_reject_reason
    functionSourceFile: /src/glib/gio/gdbusauthmechanismanon.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_DBUS_AUTH_MECHANISM_ANON
    - g_assert_not_reached
    - G_IS_DBUS_AUTH_MECHANISM_ANON
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *mechanism_server_get_reject_reason (GDBusAuthMechanism
      *mechanism) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusauthmechanismanon.c:92,1
    - Dst: G_DBUS_AUTH_MECHANISM_CLASS
      Src: /src/glib/gio/gdbusauthmechanismanon.c:95,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GDBusAuthMechanismAnonClass*
    constantsTouched: []
    func_position:
      end: 112
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 112
    functionName: _g_dbus_auth_mechanism_anon_class_init
    functionSourceFile: /src/glib/gio/gdbusauthmechanismanon.c
    functionUses: []
    functionsReached:
    - G_DBUS_AUTH_MECHANISM_CLASS
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void _g_dbus_auth_mechanism_anon_class_init (GDBusAuthMechanismAnonClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismanon.c:140,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM_ANON
      Src: /src/glib/gio/gdbusauthmechanismanon.c:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - mechanism
    argTypes:
    - GDBusAuthMechanism*
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: mechanism_is_supported
    functionSourceFile: /src/glib/gio/gdbusauthmechanismanon.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DBUS_AUTH_MECHANISM_ANON
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean mechanism_is_supported (GDBusAuthMechanism *mechanism) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_AUTH_MECHANISM_ANON
      Src: /src/glib/gio/gdbusauthmechanismanon.c:211,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismanon.c:214,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismanon.c:215,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismanon.c:213,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM_ANON
      Src: /src/glib/gio/gdbusauthmechanismanon.c:213,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gdbusauthmechanismanon.c:218,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 221
    functionName: mechanism_server_data_send
    functionSourceFile: /src/glib/gio/gdbusauthmechanismanon.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_DBUS_AUTH_MECHANISM_ANON
    - g_assert_not_reached
    - G_IS_DBUS_AUTH_MECHANISM_ANON
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *mechanism_server_data_send (GDBusAuthMechanism *mechanism,
      gsize *out_data_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_AUTH_MECHANISM_ANON
      Src: /src/glib/gio/gdbusauthmechanismanon.c:241,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM_ANON
      Src: /src/glib/gio/gdbusauthmechanismanon.c:243,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismanon.c:243,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismanon.c:244,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - mechanism
    argTypes:
    - GDBusAuthMechanism*
    constantsTouched: []
    func_position:
      end: 247
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 247
    functionName: mechanism_server_shutdown
    functionSourceFile: /src/glib/gio/gdbusauthmechanismanon.c
    functionUses: []
    functionsReached:
    - G_DBUS_AUTH_MECHANISM_ANON
    - G_IS_DBUS_AUTH_MECHANISM_ANON
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void mechanism_server_shutdown (GDBusAuthMechanism *mechanism) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_AUTH_MECHANISM_ANON
      Src: /src/glib/gio/gdbusauthmechanismanon.c:317,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismanon.c:319,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismanon.c:320,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM_ANON
      Src: /src/glib/gio/gdbusauthmechanismanon.c:319,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - mechanism
    argTypes:
    - GDBusAuthMechanism*
    constantsTouched: []
    func_position:
      end: 323
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 323
    functionName: mechanism_client_shutdown
    functionSourceFile: /src/glib/gio/gdbusauthmechanismanon.c
    functionUses: []
    functionsReached:
    - G_DBUS_AUTH_MECHANISM_ANON
    - G_IS_DBUS_AUTH_MECHANISM_ANON
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void mechanism_client_shutdown (GDBusAuthMechanism *mechanism) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: mechanism_get_priority
    functionSourceFile: /src/glib/gio/gdbusauthmechanismanon.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint
    signature: 'static gint mechanism_get_priority (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - dummy
    argTypes:
    - GDummyTlsBackend*
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: g_dummy_tls_backend_init
    functionSourceFile: /src/glib/gio/gdummytlsbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_dummy_tls_backend_init (GDummyTlsBackend *dummy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdummytlsbackend.c:280,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gdummytlsbackend.c:294,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gdummytlsbackend.c:293,1
    - Dst: G_IO_STREAM_CLASS
      Src: /src/glib/gio/gdummytlsbackend.c:281,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gdummytlsbackend.c:295,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gdummytlsbackend.c:296,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gdummytlsbackend.c:297,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gdummytlsbackend.c:298,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gdummytlsbackend.c:299,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gdummytlsbackend.c:300,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gdummytlsbackend.c:302,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gdummytlsbackend.c:303,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gdummytlsbackend.c:301,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gdummytlsbackend.c:306,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gdummytlsbackend.c:307,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gdummytlsbackend.c:305,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gdummytlsbackend.c:304,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gdummytlsbackend.c:308,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - connection_class
    argTypes:
    - GDummyTlsConnectionClass*
    constantsTouched: []
    func_position:
      end: 309
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 309
    functionName: g_dummy_tls_connection_class_init
    functionSourceFile: /src/glib/gio/gdummytlsbackend.c
    functionUses: []
    functionsReached:
    - g_object_class_override_property
    - G_IO_STREAM_CLASS
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_dummy_tls_connection_class_init (GDummyTlsConnectionClass
      *connection_class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 389
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 389
    functionName: g_dummy_dtls_connection_set_property
    functionSourceFile: /src/glib/gio/gdummytlsbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_dummy_dtls_connection_set_property (GObject *object,
      guint prop_id, const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdummytlsbackend.c:490,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gdummytlsbackend.c:495,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - database_class
    argTypes:
    - GDummyTlsDatabaseClass*
    constantsTouched: []
    func_position:
      end: 496
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 496
    functionName: g_dummy_tls_database_class_init
    functionSourceFile: /src/glib/gio/gdummytlsbackend.c
    functionUses: []
    functionsReached:
    - g_object_class_override_property
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_dummy_tls_database_class_init (GDummyTlsDatabaseClass
      *database_class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DUMMY_TLS_BACKEND
      Src: /src/glib/gio/gdummytlsbackend.c:75,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdummytlsbackend.c:77,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdummytlsbackend.c:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: g_dummy_tls_backend_finalize
    functionSourceFile: /src/glib/gio/gdummytlsbackend.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - G_DUMMY_TLS_BACKEND
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_dummy_tls_backend_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 159
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 159
    functionName: g_dummy_tls_certificate_get_property
    functionSourceFile: /src/glib/gio/gdummytlsbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void g_dummy_tls_certificate_get_property (GObject *object,\t\
      \t\t\t guint prop_id,\t\t\t\t GValue *value,\t\t\t\t GParamSpec *pspec) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - connection
    argTypes:
    - GDummyTlsConnection*
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: g_dummy_tls_connection_init
    functionSourceFile: /src/glib/gio/gdummytlsbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_dummy_tls_connection_init (GDummyTlsConnection *connection) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdummytlsbackend.c:394,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gdummytlsbackend.c:401,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gdummytlsbackend.c:400,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gdummytlsbackend.c:399,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gdummytlsbackend.c:402,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gdummytlsbackend.c:403,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gdummytlsbackend.c:404,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gdummytlsbackend.c:405,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gdummytlsbackend.c:406,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gdummytlsbackend.c:407,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gdummytlsbackend.c:409,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gdummytlsbackend.c:408,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gdummytlsbackend.c:410,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - connection_class
    argTypes:
    - GDummyDtlsConnectionClass*
    constantsTouched: []
    func_position:
      end: 411
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 411
    functionName: g_dummy_dtls_connection_class_init
    functionSourceFile: /src/glib/gio/gdummytlsbackend.c
    functionUses: []
    functionsReached:
    - g_object_class_override_property
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_dummy_dtls_connection_class_init (GDummyDtlsConnectionClass
      *connection_class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - database
    argTypes:
    - GDummyTlsDatabase*
    constantsTouched: []
    func_position:
      end: 501
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 501
    functionName: g_dummy_tls_database_init
    functionSourceFile: /src/glib/gio/gdummytlsbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_dummy_tls_database_init (GDummyTlsDatabase *database) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdummytlsbackend.c:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - backend_class
    argTypes:
    - GDummyTlsBackendClass*
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: g_dummy_tls_backend_class_init
    functionSourceFile: /src/glib/gio/gdummytlsbackend.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_dummy_tls_backend_class_init (GDummyTlsBackendClass
      *backend_class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 476
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 476
    functionName: g_dummy_tls_database_get_property
    functionSourceFile: /src/glib/gio/gdummytlsbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_dummy_tls_database_get_property (GObject *object, guint
      prop_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GTlsFileDatabaseInterface*
    constantsTouched: []
    func_position:
      end: 506
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 506
    functionName: g_dummy_tls_database_file_database_iface_init
    functionSourceFile: /src/glib/gio/gdummytlsbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_dummy_tls_database_file_database_iface_init (GTlsFileDatabaseInterface
      *iface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DUMMY_TLS_BACKEND
      Src: /src/glib/gio/gdummytlsbackend.c:93,1
    - Dst: g_once_init_enter_pointer
      Src: /src/glib/gio/gdummytlsbackend.c:95,1
    - Dst: g_once_init_leave_pointer
      Src: /src/glib/gio/gdummytlsbackend.c:100,1
    - Dst: g_object_new
      Src: /src/glib/gio/gdummytlsbackend.c:99,1
    - Dst: _g_dummy_tls_database_get_type
      Src: /src/glib/gio/gdummytlsbackend.c:99,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdummytlsbackend.c:103,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 104
    functionName: g_dummy_tls_backend_get_default_database
    functionSourceFile: /src/glib/gio/gdummytlsbackend.c
    functionUses: []
    functionsReached:
    - g_once_init_leave_pointer
    - g_object_new
    - G_DUMMY_TLS_BACKEND
    - g_once_init_enter_pointer
    - g_object_ref
    - _g_dummy_tls_database_get_type
    linkageType: ''
    returnType: GTlsDatabase*
    signature: 'static GTlsDatabase *g_dummy_tls_backend_get_default_database (GTlsBackend
      *backend) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 485
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 485
    functionName: g_dummy_tls_database_set_property
    functionSourceFile: /src/glib/gio/gdummytlsbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_dummy_tls_database_set_property (GObject *object, guint
      prop_id, const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdummytlsbackend.c:513,1
    - Dst: _
      Src: /src/glib/gio/gdummytlsbackend.c:514,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - initable
    - cancellable
    - error
    argTypes:
    - GInitable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 516
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 516
    functionName: g_dummy_tls_database_initable_init
    functionSourceFile: /src/glib/gio/gdummytlsbackend.c
    functionUses: []
    functionsReached:
    - _
    - g_set_error_literal
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_dummy_tls_database_initable_init (GInitable *initable,
      GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 381
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 381
    functionName: g_dummy_dtls_connection_get_property
    functionSourceFile: /src/glib/gio/gdummytlsbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_dummy_dtls_connection_get_property (GObject *object,
      guint prop_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 168
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 168
    functionName: g_dummy_tls_certificate_set_property
    functionSourceFile: /src/glib/gio/gdummytlsbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void g_dummy_tls_certificate_set_property (GObject *object,\t\
      \t\t\t guint prop_id,\t\t\t\t const GValue *value,\t\t\t\t GParamSpec *pspec) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdummytlsbackend.c:173,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gdummytlsbackend.c:181,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gdummytlsbackend.c:178,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gdummytlsbackend.c:180,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gdummytlsbackend.c:179,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gdummytlsbackend.c:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - certificate_class
    argTypes:
    - GDummyTlsCertificateClass*
    constantsTouched: []
    func_position:
      end: 183
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 183
    functionName: g_dummy_tls_certificate_class_init
    functionSourceFile: /src/glib/gio/gdummytlsbackend.c
    functionUses: []
    functionsReached:
    - g_object_class_override_property
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_dummy_tls_certificate_class_init (GDummyTlsCertificateClass
      *certificate_class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GTlsBackendInterface*
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: g_dummy_tls_backend_iface_init
    functionSourceFile: /src/glib/gio/gdummytlsbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_dummy_tls_backend_iface_init (GTlsBackendInterface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - certificate
    argTypes:
    - GDummyTlsCertificate*
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: g_dummy_tls_certificate_init
    functionSourceFile: /src/glib/gio/gdummytlsbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_dummy_tls_certificate_init (GDummyTlsCertificate *certificate) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 267
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 267
    functionName: g_dummy_tls_connection_set_property
    functionSourceFile: /src/glib/gio/gdummytlsbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void g_dummy_tls_connection_set_property (GObject *object,\t\
      \t\t\t guint prop_id,\t\t\t\t const GValue *value,\t\t\t\t GParamSpec *pspec) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdummytlsbackend.c:321,1
    - Dst: _
      Src: /src/glib/gio/gdummytlsbackend.c:322,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - initable
    - cancellable
    - error
    argTypes:
    - GInitable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 324
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 324
    functionName: g_dummy_tls_connection_initable_init
    functionSourceFile: /src/glib/gio/gdummytlsbackend.c
    functionUses: []
    functionsReached:
    - _
    - g_set_error_literal
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_dummy_tls_connection_initable_init (GInitable *initable,\t\
      \t\t\t GCancellable *cancellable,\t\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - connection
    argTypes:
    - GDummyDtlsConnection*
    constantsTouched: []
    func_position:
      end: 416
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 416
    functionName: g_dummy_dtls_connection_init
    functionSourceFile: /src/glib/gio/gdummytlsbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_dummy_dtls_connection_init (GDummyDtlsConnection *connection) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdummytlsbackend.c:195,1
    - Dst: _
      Src: /src/glib/gio/gdummytlsbackend.c:196,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - initable
    - cancellable
    - error
    argTypes:
    - GInitable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 198
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 198
    functionName: g_dummy_tls_certificate_initable_init
    functionSourceFile: /src/glib/gio/gdummytlsbackend.c
    functionUses: []
    functionsReached:
    - _
    - g_set_error_literal
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_dummy_tls_certificate_initable_init (GInitable *initable,\t\
      \t\t\t GCancellable *cancellable,\t\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 259
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 259
    functionName: g_dummy_tls_connection_get_property
    functionSourceFile: /src/glib/gio/gdummytlsbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void g_dummy_tls_connection_get_property (GObject *object,\t\
      \t\t\t guint prop_id,\t\t\t\t GValue *value,\t\t\t\t GParamSpec *pspec) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GIOStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 275
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 275
    functionName: g_dummy_tls_connection_close
    functionSourceFile: /src/glib/gio/gdummytlsbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_dummy_tls_connection_close (GIOStream *stream,\t\
      \t\t GCancellable *cancellable,\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GInitableIface*
    constantsTouched: []
    func_position:
      end: 330
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 330
    functionName: g_dummy_tls_connection_initable_iface_init
    functionSourceFile: /src/glib/gio/gdummytlsbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_dummy_tls_connection_initable_iface_init (GInitableIface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdummytlsbackend.c:423,1
    - Dst: _
      Src: /src/glib/gio/gdummytlsbackend.c:424,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - initable
    - cancellable
    - error
    argTypes:
    - GInitable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 426
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 426
    functionName: g_dummy_dtls_connection_initable_init
    functionSourceFile: /src/glib/gio/gdummytlsbackend.c
    functionUses: []
    functionsReached:
    - _
    - g_set_error_literal
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_dummy_dtls_connection_initable_init (GInitable *initable,
      GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GInitableIface*
    constantsTouched: []
    func_position:
      end: 522
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 522
    functionName: g_dummy_tls_database_initable_iface_init
    functionSourceFile: /src/glib/gio/gdummytlsbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_dummy_tls_database_initable_iface_init (GInitableIface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GInitableIface*
    constantsTouched: []
    func_position:
      end: 204
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 204
    functionName: g_dummy_tls_certificate_initable_iface_init
    functionSourceFile: /src/glib/gio/gdummytlsbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_dummy_tls_certificate_initable_iface_init (GInitableIface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GInitableIface*
    constantsTouched: []
    func_position:
      end: 432
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 432
    functionName: g_dummy_dtls_connection_initable_iface_init
    functionSourceFile: /src/glib/gio/gdummytlsbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_dummy_dtls_connection_initable_iface_init (GInitableIface
      *iface) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/gpollfilemonitor.c:91,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/gpollfilemonitor.c:92,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gpollfilemonitor.c:93,1
    - Dst: g_file_info_get_etag
      Src: /src/glib/gio/gpollfilemonitor.c:93,1
    - Dst: g_file_info_get_etag
      Src: /src/glib/gio/gpollfilemonitor.c:93,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/gpollfilemonitor.c:96,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/gpollfilemonitor.c:97,1
    - Dst: g_file_info_get_size
      Src: /src/glib/gio/gpollfilemonitor.c:98,1
    - Dst: g_file_info_get_size
      Src: /src/glib/gio/gpollfilemonitor.c:98,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 2
    argNames:
    - last
    - new
    argTypes:
    - GFileInfo*
    - GFileInfo*
    constantsTouched: []
    func_position:
      end: 102
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 102
    functionName: calc_event_type
    functionSourceFile: /src/glib/gio/gpollfilemonitor.c
    functionUses: []
    functionsReached:
    - g_file_info_get_etag
    - g_file_info_has_attribute
    - g_strcmp0
    - g_file_info_get_size
    linkageType: ''
    returnType: int
    signature: "static int calc_event_type (GFileInfo *last,\t\t GFileInfo *new) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gpollfilemonitor.c:65,1
    - Dst: G_FILE_MONITOR_CLASS
      Src: /src/glib/gio/gpollfilemonitor.c:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GPollFileMonitorClass*
    constantsTouched: []
    func_position:
      end: 71
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 71
    functionName: g_poll_file_monitor_class_init
    functionSourceFile: /src/glib/gio/gpollfilemonitor.c
    functionUses: []
    functionsReached:
    - G_FILE_MONITOR_CLASS
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_poll_file_monitor_class_init (GPollFileMonitorClass*
      klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_source_unref
      Src: /src/glib/gio/gpollfilemonitor.c:155,1
    - Dst: g_file_query_info_async
      Src: /src/glib/gio/gpollfilemonitor.c:158,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gpollfilemonitor.c:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 162
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 162
    functionName: poll_file_timeout
    functionSourceFile: /src/glib/gio/gpollfilemonitor.c
    functionUses: []
    functionsReached:
    - g_source_unref
    - g_file_query_info_async
    - g_object_ref
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean poll_file_timeout (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gpollfilemonitor.c:203,1
    - Dst: G_FILE_MONITOR
      Src: /src/glib/gio/gpollfilemonitor.c:210,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gpollfilemonitor.c:205,1
    - Dst: g_file_query_info_async
      Src: /src/glib/gio/gpollfilemonitor.c:207,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gpollfilemonitor.c:208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 211
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 211
    functionName: _g_poll_file_monitor_new
    functionSourceFile: /src/glib/gio/gpollfilemonitor.c
    functionUses: []
    functionsReached:
    - G_FILE_MONITOR
    - g_file_query_info_async
    - g_object_new
    - g_object_ref
    linkageType: ''
    returnType: GFileMonitor*
    signature: 'GFileMonitor *_g_poll_file_monitor_new (GFile *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_POLL_FILE_MONITOR
      Src: /src/glib/gio/gpollfilemonitor.c:52,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gpollfilemonitor.c:55,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gpollfilemonitor.c:56,1
    - Dst: G_FILE_MONITOR
      Src: /src/glib/gio/gpollfilemonitor.c:54,1
    - Dst: g_poll_file_monitor_cancel
      Src: /src/glib/gio/gpollfilemonitor.c:54,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gpollfilemonitor.c:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 59
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 59
    functionName: g_poll_file_monitor_finalize
    functionSourceFile: /src/glib/gio/gpollfilemonitor.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_poll_file_monitor_cancel
    - G_POLL_FILE_MONITOR
    - G_OBJECT_CLASS
    - g_clear_object
    - G_FILE_MONITOR
    linkageType: ''
    returnType: void
    signature: 'static void g_poll_file_monitor_finalize (GObject* object) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_file_query_info_finish
      Src: /src/glib/gio/gpollfilemonitor.c:113,1
    - Dst: g_file_monitor_is_cancelled
      Src: /src/glib/gio/gpollfilemonitor.c:115,1
    - Dst: g_file_monitor_emit_event
      Src: /src/glib/gio/gpollfilemonitor.c:121,1
    - Dst: calc_event_type
      Src: /src/glib/gio/gpollfilemonitor.c:117,1
    - Dst: G_FILE_MONITOR
      Src: /src/glib/gio/gpollfilemonitor.c:115,1
    - Dst: G_FILE_MONITOR
      Src: /src/glib/gio/gpollfilemonitor.c:121,1
    - Dst: g_file_monitor_is_cancelled
      Src: /src/glib/gio/gpollfilemonitor.c:125,1
    - Dst: G_FILE_MONITOR
      Src: /src/glib/gio/gpollfilemonitor.c:125,1
    - Dst: g_file_monitor_emit_event
      Src: /src/glib/gio/gpollfilemonitor.c:127,1
    - Dst: G_FILE_MONITOR
      Src: /src/glib/gio/gpollfilemonitor.c:127,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gpollfilemonitor.c:134,1
    - Dst: schedule_poll_timeout
      Src: /src/glib/gio/gpollfilemonitor.c:141,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gpollfilemonitor.c:145,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gpollfilemonitor.c:147,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gpollfilemonitor.c:139,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 148
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 148
    functionName: got_new_info
    functionSourceFile: /src/glib/gio/gpollfilemonitor.c
    functionUses: []
    functionsReached:
    - g_file_monitor_is_cancelled
    - g_file_query_info_finish
    - g_object_unref
    - schedule_poll_timeout
    - g_file_monitor_emit_event
    - G_FILE_MONITOR
    - g_object_ref
    - calc_event_type
    linkageType: ''
    returnType: void
    signature: 'static void got_new_info (GObject *source_object, GAsyncResult *res,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - poll_monitor
    argTypes:
    - GPollFileMonitor*
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: g_poll_file_monitor_init
    functionSourceFile: /src/glib/gio/gpollfilemonitor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_poll_file_monitor_init (GPollFileMonitor* poll_monitor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_timeout_source_new_seconds
      Src: /src/glib/gio/gpollfilemonitor.c:167,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gpollfilemonitor.c:168,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gpollfilemonitor.c:169,1
    - Dst: g_main_context_get_thread_default
      Src: /src/glib/gio/gpollfilemonitor.c:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - poll_monitor
    argTypes:
    - GPollFileMonitor*
    constantsTouched: []
    func_position:
      end: 170
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 170
    functionName: schedule_poll_timeout
    functionSourceFile: /src/glib/gio/gpollfilemonitor.c
    functionUses: []
    functionsReached:
    - g_source_attach
    - g_source_set_callback
    - g_timeout_source_new_seconds
    - g_main_context_get_thread_default
    linkageType: ''
    returnType: void
    signature: 'static void schedule_poll_timeout (GPollFileMonitor* poll_monitor) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_POLL_FILE_MONITOR
      Src: /src/glib/gio/gpollfilemonitor.c:216,1
    - Dst: g_source_destroy
      Src: /src/glib/gio/gpollfilemonitor.c:220,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gpollfilemonitor.c:221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - monitor
    argTypes:
    - GFileMonitor*
    constantsTouched: []
    func_position:
      end: 226
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 226
    functionName: g_poll_file_monitor_cancel
    functionSourceFile: /src/glib/gio/gpollfilemonitor.c
    functionUses: []
    functionsReached:
    - g_source_destroy
    - g_source_unref
    - G_POLL_FILE_MONITOR
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_poll_file_monitor_cancel (GFileMonitor* monitor) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_query_info_finish
      Src: /src/glib/gio/gpollfilemonitor.c:180,1
    - Dst: G_FILE_MONITOR
      Src: /src/glib/gio/gpollfilemonitor.c:184,1
    - Dst: schedule_poll_timeout
      Src: /src/glib/gio/gpollfilemonitor.c:185,1
    - Dst: g_file_monitor_is_cancelled
      Src: /src/glib/gio/gpollfilemonitor.c:184,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gpollfilemonitor.c:187,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 188
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 188
    functionName: got_initial_info
    functionSourceFile: /src/glib/gio/gpollfilemonitor.c
    functionUses: []
    functionsReached:
    - g_file_monitor_is_cancelled
    - schedule_poll_timeout
    - g_file_query_info_finish
    - g_object_unref
    - G_FILE_MONITOR
    linkageType: ''
    returnType: void
    signature: 'static void got_initial_info (GObject *source_object, GAsyncResult
      *res, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_get_name
      Src: /src/glib/gio/gio-tool-tree.c:44,1
    - Dst: strcmp
      Src: /src/glib/gio/gio-tool-tree.c:52,1
    - Dst: g_file_info_get_name
      Src: /src/glib/gio/gio-tool-tree.c:45,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - GFileInfo*
    - GFileInfo*
    constantsTouched: []
    func_position:
      end: 53
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 53
    functionName: sort_info_by_name
    functionSourceFile: /src/glib/gio/gio-tool-tree.c
    functionUses: []
    functionsReached:
    - g_file_info_get_name
    - strcmp
    linkageType: ''
    returnType: gint
    signature: 'static gint sort_info_by_name (GFileInfo *a, GFileInfo *b) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/gio/gio-tool-tree.c:246,1
    - Dst: g_option_context_set_summary
      Src: /src/glib/gio/gio-tool-tree.c:249,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/gio/gio-tool-tree.c:251,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-tree.c:256,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/gio-tool-tree.c:276,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-tree.c:264,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/gio-tool-tree.c:260,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-tree.c:289,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gio-tool-tree.c:245,1
    - Dst: g_option_context_set_help_enabled
      Src: /src/glib/gio/gio-tool-tree.c:248,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-tree.c:250,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-tree.c:255,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-tree.c:278,1
    - Dst: g_get_current_dir
      Src: /src/glib/gio/gio-tool-tree.c:285,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/gio-tool-tree.c:286,1
    - Dst: tree
      Src: /src/glib/gio/gio-tool-tree.c:288,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-tree.c:245,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-tree.c:266,1
    - Dst: tree
      Src: /src/glib/gio/gio-tool-tree.c:277,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-tree.c:287,1
    - Dst: g_set_prgname
      Src: /src/glib/gio/gio-tool-tree.c:242,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-tree.c:247,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-tree.c:270,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-tree.c:265,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 3
    argNames:
    - argc
    - argv
    - do_help
    argTypes:
    - int
    - char*
    - gboolean
    constantsTouched: []
    func_position:
      end: 293
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 293
    functionName: handle_tree
    functionSourceFile: /src/glib/gio/gio-tool-tree.c
    functionUses: []
    functionsReached:
    - g_file_new_for_path
    - g_strdup_printf
    - g_option_context_free
    - g_object_unref
    - g_option_context_new
    - g_option_context_set_summary
    - g_set_prgname
    - show_help
    - g_file_new_for_commandline_arg
    - g_get_current_dir
    - g_error_free
    - g_option_context_set_help_enabled
    - tree
    - g_option_context_parse
    - _
    - g_option_context_add_main_entries
    - g_free
    linkageType: ''
    returnType: int
    signature: 'int handle_tree (int argc, char *argv[], gboolean do_help) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-tree.c:73,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-tree.c:135,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-tree.c:131,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-tree.c:151,1
    - Dst: g_file_info_get_symlink_target
      Src: /src/glib/gio/gio-tool-tree.c:159,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/gio-tool-tree.c:187,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-tree.c:211,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-tree.c:207,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/gio-tool-tree.c:63,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-tree.c:76,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/gio-tool-tree.c:97,1
    - Dst: g_file_info_get_is_hidden
      Src: /src/glib/gio/gio-tool-tree.c:98,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-tree.c:101,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gio-tool-tree.c:105,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/glib/gio/gio-tool-tree.c:123,1
    - Dst: g_file_info_get_attribute_string
      Src: /src/glib/gio/gio-tool-tree.c:148,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-tree.c:145,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/gio-tool-tree.c:155,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-tree.c:164,1
    - Dst: g_file_enumerate_children
      Src: /src/glib/gio/gio-tool-tree.c:79,1
    - Dst: g_file_enumerator_next_file
      Src: /src/glib/gio/gio-tool-tree.c:95,1
    - Dst: g_list_sort
      Src: /src/glib/gio/gio-tool-tree.c:110,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-tree.c:108,1
    - Dst: do_tree
      Src: /src/glib/gio/gio-tool-tree.c:192,1
    - Dst: g_list_free
      Src: /src/glib/gio/gio-tool-tree.c:199,1
    - Dst: g_file_info_get_is_symlink
      Src: /src/glib/gio/gio-tool-tree.c:156,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-tree.c:215,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/glib/gio/gio-tool-tree.c:70,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-tree.c:141,1
    - Dst: g_file_info_get_name
      Src: /src/glib/gio/gio-tool-tree.c:122,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-tree.c:160,1
    - Dst: g_file_info_get_is_symlink
      Src: /src/glib/gio/gio-tool-tree.c:169,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-tree.c:193,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/gio-tool-tree.c:168,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-tree.c:197,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-tree.c:217,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/gio-tool-tree.c:183,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 111
    argCount: 3
    argNames:
    - f
    - level
    - pattern
    argTypes:
    - GFile*
    - unsigned int
    - guint64
    constantsTouched: []
    func_position:
      end: 219
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 219
    functionName: do_tree
    functionSourceFile: /src/glib/gio/gio-tool-tree.c
    functionUses: []
    functionsReached:
    - g_file_new_for_uri
    - g_list_prepend
    - g_file_info_get_attribute_uint32
    - g_file_query_info
    - g_file_enumerator_next_file
    - g_object_unref
    - g_list_free
    - g_error_free
    - g_print
    - g_file_info_get_name
    - g_file_info_has_attribute
    - g_file_info_get_is_symlink
    - g_file_enumerate_children
    - g_file_get_child
    - g_list_sort
    - g_file_info_get_attribute_string
    - g_file_info_get_symlink_target
    - g_file_info_get_is_hidden
    - do_tree
    linkageType: ''
    returnType: void
    signature: 'static void do_tree (GFile *f, unsigned int level, guint64 pattern) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_get_uri
      Src: /src/glib/gio/gio-tool-tree.c:226,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-tree.c:227,1
    - Dst: do_tree
      Src: /src/glib/gio/gio-tool-tree.c:230,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-tree.c:228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - f
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 231
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 231
    functionName: tree
    functionSourceFile: /src/glib/gio/gio-tool-tree.c
    functionUses: []
    functionsReached:
    - do_tree
    - g_file_get_uri
    - g_free
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void tree (GFile *f) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GType
      Src: /src/glib/gio/glistmodel.h:43,1
    - Dst: guint
      Src: /src/glib/gio/glistmodel.h:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 5
    argNames:
    - GListModel
    - g_list_model
    - G
    - LIST_MODEL
    - GObject
    argTypes:
    - GListModel
    - g_list_model
    - G
    - LIST_MODEL
    - GObject
    constantsTouched: []
    func_position:
      end: 49
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 49
    functionName: G_DECLARE_INTERFACE
    functionSourceFile: /src/glib/gio/glistmodel.h
    functionUses: []
    functionsReached:
    - guint
    - GType
    linkageType: ''
    returnType: GIO_AVAILABLE_IN_2_44
    signature: 'GIO_AVAILABLE_IN_2_44 G_DECLARE_INTERFACE(GListModel, g_list_model,
      G, LIST_MODEL, GObject)struct _GListModelInterface '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: glib_should_use_portal
      Src: /src/glib/gio/gproxyresolverportal.c:52,1
    - Dst: glib_network_available_in_sandbox
      Src: /src/glib/gio/gproxyresolverportal.c:62,1
    - Dst: gxdp_proxy_resolver_proxy_new_for_bus_sync
      Src: /src/glib/gio/gproxyresolverportal.c:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - resolver
    argTypes:
    - GProxyResolverPortal*
    constantsTouched: []
    func_position:
      end: 65
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 65
    functionName: ensure_resolver_proxy
    functionSourceFile: /src/glib/gio/gproxyresolverportal.c
    functionUses: []
    functionsReached:
    - gxdp_proxy_resolver_proxy_new_for_bus_sync
    - glib_network_available_in_sandbox
    - glib_should_use_portal
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean ensure_resolver_proxy (GProxyResolverPortal *resolver) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_PROXY_RESOLVER_PORTAL
      Src: /src/glib/gio/gproxyresolverportal.c:75,1
    - Dst: g_free
      Src: /src/glib/gio/gproxyresolverportal.c:84,1
    - Dst: g_dbus_proxy_get_name_owner
      Src: /src/glib/gio/gproxyresolverportal.c:82,1
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/gproxyresolverportal.c:82,1
    - Dst: ensure_resolver_proxy
      Src: /src/glib/gio/gproxyresolverportal.c:79,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - object
    argTypes:
    - GProxyResolver*
    constantsTouched: []
    func_position:
      end: 87
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 87
    functionName: g_proxy_resolver_portal_is_supported
    functionSourceFile: /src/glib/gio/gproxyresolverportal.c
    functionUses: []
    functionsReached:
    - G_PROXY_RESOLVER_PORTAL
    - ensure_resolver_proxy
    - g_dbus_proxy_get_name_owner
    - G_DBUS_PROXY
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_proxy_resolver_portal_is_supported (GProxyResolver
      *object) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_PROXY_RESOLVER_PORTAL
      Src: /src/glib/gio/gproxyresolverportal.c:97,1
    - Dst: g_assert
      Src: /src/glib/gio/gproxyresolverportal.c:101,1
    - Dst: ensure_resolver_proxy
      Src: /src/glib/gio/gproxyresolverportal.c:100,1
    - Dst: gxdp_proxy_resolver_call_lookup_sync
      Src: /src/glib/gio/gproxyresolverportal.c:103,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gproxyresolverportal.c:112,1
    - Dst: g_strdupv
      Src: /src/glib/gio/gproxyresolverportal.c:113,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 117
    functionName: g_proxy_resolver_portal_lookup
    functionSourceFile: /src/glib/gio/gproxyresolverportal.c
    functionUses: []
    functionsReached:
    - G_PROXY_RESOLVER_PORTAL
    - g_strdupv
    - ensure_resolver_proxy
    - g_assert
    - gxdp_proxy_resolver_call_lookup_sync
    - g_strfreev
    linkageType: ''
    returnType: gchar**
    signature: 'static gchar **g_proxy_resolver_portal_lookup (GProxyResolver *proxy_resolver,
      const gchar *uri, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PROXY_RESOLVER_PORTAL
      Src: /src/glib/gio/gproxyresolverportal.c:146,1
    - Dst: g_task_new
      Src: /src/glib/gio/gproxyresolverportal.c:152,1
    - Dst: g_assert
      Src: /src/glib/gio/gproxyresolverportal.c:150,1
    - Dst: gxdp_proxy_resolver_call_lookup
      Src: /src/glib/gio/gproxyresolverportal.c:153,1
    - Dst: ensure_resolver_proxy
      Src: /src/glib/gio/gproxyresolverportal.c:149,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gproxyresolverportal.c:157,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gproxyresolverportal.c:158,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 5
    argNames:
    - proxy_resolver
    - uri
    - cancellable
    - callback
    - user_data
    argTypes:
    - GProxyResolver*
    - gchar*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 159
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 159
    functionName: g_proxy_resolver_portal_lookup_async
    functionSourceFile: /src/glib/gio/gproxyresolverportal.c
    functionUses: []
    functionsReached:
    - G_PROXY_RESOLVER_PORTAL
    - g_task_new
    - ensure_resolver_proxy
    - gxdp_proxy_resolver_call_lookup
    - g_object_unref
    - g_assert
    - g_object_ref
    linkageType: ''
    returnType: void
    signature: 'static void g_proxy_resolver_portal_lookup_async (GProxyResolver *proxy_resolver,
      const gchar *uri, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PROXY_RESOLVER_PORTAL
      Src: /src/glib/gio/gproxyresolverportal.c:186,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gproxyresolverportal.c:188,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gproxyresolverportal.c:190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 191
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 191
    functionName: g_proxy_resolver_portal_finalize
    functionSourceFile: /src/glib/gio/gproxyresolverportal.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - G_PROXY_RESOLVER_PORTAL
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_proxy_resolver_portal_finalize (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gxdp_proxy_resolver_call_lookup_finish
      Src: /src/glib/gio/gproxyresolverportal.c:128,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gproxyresolverportal.c:134,1
    - Dst: GXDP_PROXY_RESOLVER
      Src: /src/glib/gio/gproxyresolverportal.c:128,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gproxyresolverportal.c:136,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gproxyresolverportal.c:132,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 3
    argNames:
    - source
    - result
    - data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 137
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 137
    functionName: lookup_done
    functionSourceFile: /src/glib/gio/gproxyresolverportal.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_task_return_pointer
    - gxdp_proxy_resolver_call_lookup_finish
    - GXDP_PROXY_RESOLVER
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void lookup_done (GObject *source, GAsyncResult *result, gpointer
      data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - resolver
    argTypes:
    - GProxyResolverPortal*
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: g_proxy_resolver_portal_init
    functionSourceFile: /src/glib/gio/gproxyresolverportal.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_proxy_resolver_portal_init (GProxyResolverPortal *resolver) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_PROXY_RESOLVER_PORTAL
      Src: /src/glib/gio/gproxyresolverportal.c:166,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gproxyresolverportal.c:170,1
    - Dst: G_TASK
      Src: /src/glib/gio/gproxyresolverportal.c:167,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gproxyresolverportal.c:176,1
    - Dst: g_strdupv
      Src: /src/glib/gio/gproxyresolverportal.c:177,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 181
    functionName: g_proxy_resolver_portal_lookup_finish
    functionSourceFile: /src/glib/gio/gproxyresolverportal.c
    functionUses: []
    functionsReached:
    - G_PROXY_RESOLVER_PORTAL
    - g_strdupv
    - g_strfreev
    - G_TASK
    - g_task_propagate_pointer
    linkageType: ''
    returnType: gchar**
    signature: 'static gchar **g_proxy_resolver_portal_lookup_finish (GProxyResolver
      *proxy_resolver, GAsyncResult *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gproxyresolverportal.c:198,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - resolver_class
    argTypes:
    - GProxyResolverPortalClass*
    constantsTouched: []
    func_position:
      end: 200
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 200
    functionName: g_proxy_resolver_portal_class_init
    functionSourceFile: /src/glib/gio/gproxyresolverportal.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_proxy_resolver_portal_class_init (GProxyResolverPortalClass
      *resolver_class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GProxyResolverInterface*
    constantsTouched: []
    func_position:
      end: 209
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 209
    functionName: g_proxy_resolver_portal_iface_init
    functionSourceFile: /src/glib/gio/gproxyresolverportal.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_proxy_resolver_portal_iface_init (GProxyResolverInterface
      *iface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 131
    functionName: g_fdo_notification_backend_find_notification_by_notify_id
    functionSourceFile: /src/glib/gio/gfdonotificationbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FreedesktopNotification*
    signature: 'static FreedesktopNotification *g_fdo_notification_backend_find_notification_by_notify_id
      (GFdoNotificationBackend *backend, guint32 id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/gio/gfdonotificationbackend.c:90,1
    - Dst: g_notification_get_default_action
      Src: /src/glib/gio/gfdonotificationbackend.c:94,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfdonotificationbackend.c:92,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gfdonotificationbackend.c:91,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 99
    functionName: freedesktop_notification_new
    functionSourceFile: /src/glib/gio/gfdonotificationbackend.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_notification_get_default_action
    - g_slice_new0
    - g_object_ref
    linkageType: ''
    returnType: FreedesktopNotification*
    signature: 'static FreedesktopNotification *freedesktop_notification_new (GFdoNotificationBackend
      *backend, const gchar *id, GNotification *notification) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_str_equal
      Src: /src/glib/gio/gfdonotificationbackend.c:184,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gfdonotificationbackend.c:189,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gfdonotificationbackend.c:185,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gfdonotificationbackend.c:185,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gfdonotificationbackend.c:187,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gfdonotificationbackend.c:190,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gfdonotificationbackend.c:190,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gfdonotificationbackend.c:192,1
    - Dst: g_fdo_notification_backend_find_notification_by_notify_id
      Src: /src/glib/gio/gfdonotificationbackend.c:197,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gfdonotificationbackend.c:203,1
    - Dst: activate_action
      Src: /src/glib/gio/gfdonotificationbackend.c:205,1
    - Dst: g_slist_remove
      Src: /src/glib/gio/gfdonotificationbackend.c:235,1
    - Dst: activate_action
      Src: /src/glib/gio/gfdonotificationbackend.c:214,1
    - Dst: g_free
      Src: /src/glib/gio/gfdonotificationbackend.c:217,1
    - Dst: g_action_parse_detailed_name
      Src: /src/glib/gio/gfdonotificationbackend.c:213,1
    - Dst: g_fdo_notification_backend_find_notification_by_notify_id
      Src: /src/glib/gio/gfdonotificationbackend.c:232,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gfdonotificationbackend.c:218,1
    - Dst: freedesktop_notification_free
      Src: /src/glib/gio/gfdonotificationbackend.c:236,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 39
    argCount: 7
    argNames:
    - connection
    - sender_name
    - object_path
    - interface_name
    - signal_name
    - parameters
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 239
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 239
    functionName: notify_signal
    functionSourceFile: /src/glib/gio/gfdonotificationbackend.c
    functionUses: []
    functionsReached:
    - g_slist_remove
    - g_variant_is_of_type
    - g_fdo_notification_backend_find_notification_by_notify_id
    - activate_action
    - g_free
    - freedesktop_notification_free
    - g_clear_pointer
    - g_variant_get
    - g_action_parse_detailed_name
    - G_VARIANT_TYPE
    - g_str_equal
    linkageType: ''
    returnType: void
    signature: 'static void notify_signal (GDBusConnection *connection, const gchar
      *sender_name, const gchar *object_path, const gchar *interface_name, const gchar
      *signal_name, GVariant *parameters, gpointer user_data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 1
    argNames:
    - priority
    argTypes:
    - GNotificationPriority
    constantsTouched: []
    func_position:
      end: 274
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 274
    functionName: urgency_from_priority
    functionSourceFile: /src/glib/gio/gfdonotificationbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guchar
    signature: 'static guchar urgency_from_priority (GNotificationPriority priority) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/gfdonotificationbackend.c:392,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gfdonotificationbackend.c:399,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gfdonotificationbackend.c:398,1
    - Dst: G_DBUS_CONNECTION
      Src: /src/glib/gio/gfdonotificationbackend.c:392,1
    - Dst: g_fdo_notification_backend_find_notification_by_notify_id
      Src: /src/glib/gio/gfdonotificationbackend.c:401,1
    - Dst: g_slist_remove
      Src: /src/glib/gio/gfdonotificationbackend.c:404,1
    - Dst: freedesktop_notification_free
      Src: /src/glib/gio/gfdonotificationbackend.c:405,1
    - Dst: g_slist_prepend
      Src: /src/glib/gio/gfdonotificationbackend.c:407,1
    - Dst: g_warning
      Src: /src/glib/gio/gfdonotificationbackend.c:413,1
    - Dst: freedesktop_notification_free
      Src: /src/glib/gio/gfdonotificationbackend.c:418,1
    - Dst: g_error_free
      Src: /src/glib/gio/gfdonotificationbackend.c:419,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 3
    argNames:
    - source_object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 421
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 421
    functionName: notification_sent
    functionSourceFile: /src/glib/gio/gfdonotificationbackend.c
    functionUses: []
    functionsReached:
    - G_DBUS_CONNECTION
    - g_slist_remove
    - g_warning
    - g_fdo_notification_backend_find_notification_by_notify_id
    - g_dbus_connection_call_finish
    - freedesktop_notification_free
    - g_variant_unref
    - g_error_free
    - g_variant_get
    - g_slist_prepend
    linkageType: ''
    returnType: void
    signature: 'static void notification_sent (GObject *source_object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 460
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 460
    functionName: g_fdo_notification_backend_is_supported
    functionSourceFile: /src/glib/gio/gfdonotificationbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_fdo_notification_backend_is_supported (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_FDO_NOTIFICATION_BACKEND
      Src: /src/glib/gio/gfdonotificationbackend.c:505,1
    - Dst: g_slist_remove
      Src: /src/glib/gio/gfdonotificationbackend.c:521,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gfdonotificationbackend.c:517,1
    - Dst: g_fdo_notification_backend_find_notification
      Src: /src/glib/gio/gfdonotificationbackend.c:508,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/gfdonotificationbackend.c:513,1
    - Dst: freedesktop_notification_free
      Src: /src/glib/gio/gfdonotificationbackend.c:522,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - backend
    - id
    argTypes:
    - GNotificationBackend*
    - gchar*
    constantsTouched: []
    func_position:
      end: 524
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 524
    functionName: g_fdo_notification_backend_withdraw_notification
    functionSourceFile: /src/glib/gio/gfdonotificationbackend.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_call
    - g_slist_remove
    - g_fdo_notification_backend_find_notification
    - freedesktop_notification_free
    - g_variant_new
    - G_FDO_NOTIFICATION_BACKEND
    linkageType: ''
    returnType: void
    signature: 'static void g_fdo_notification_backend_withdraw_notification (GNotificationBackend
      *backend, const gchar *id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/gfdonotificationbackend.c:74,1
    - Dst: g_free
      Src: /src/glib/gio/gfdonotificationbackend.c:76,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gfdonotificationbackend.c:78,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gfdonotificationbackend.c:80,1
    - Dst: g_free
      Src: /src/glib/gio/gfdonotificationbackend.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 81
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 81
    functionName: freedesktop_notification_free
    functionSourceFile: /src/glib/gio/gfdonotificationbackend.c
    functionUses: []
    functionsReached:
    - g_variant_unref
    - g_free
    - g_object_unref
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void freedesktop_notification_free (gpointer data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_NOTIFICATION_BACKEND
      Src: /src/glib/gio/gfdonotificationbackend.c:138,1
    - Dst: g_assert
      Src: /src/glib/gio/gfdonotificationbackend.c:141,1
    - Dst: g_variant_is_floating
      Src: /src/glib/gio/gfdonotificationbackend.c:141,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gfdonotificationbackend.c:144,1
    - Dst: strlen
      Src: /src/glib/gio/gfdonotificationbackend.c:147,1
    - Dst: g_action_group_query_action
      Src: /src/glib/gio/gfdonotificationbackend.c:150,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/gfdonotificationbackend.c:150,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gfdonotificationbackend.c:154,1
    - Dst: g_action_group_activate_action
      Src: /src/glib/gio/gfdonotificationbackend.c:156,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/gfdonotificationbackend.c:156,1
    - Dst: g_application_activate
      Src: /src/glib/gio/gfdonotificationbackend.c:162,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 3
    argNames:
    - backend
    - name
    - parameter
    argTypes:
    - GFdoNotificationBackend*
    - gchar*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 167
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 167
    functionName: activate_action
    functionSourceFile: /src/glib/gio/gfdonotificationbackend.c
    functionUses: []
    functionsReached:
    - g_action_group_activate_action
    - strlen
    - G_ACTION_GROUP
    - g_assert
    - g_variant_is_of_type
    - g_action_group_query_action
    - g_str_has_prefix
    - g_application_activate
    - G_NOTIFICATION_BACKEND
    - g_variant_is_floating
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean activate_action (GFdoNotificationBackend *backend,
      const gchar *name, GVariant *parameter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_str_equal
      Src: /src/glib/gio/gfdonotificationbackend.c:110,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 115
    functionName: g_fdo_notification_backend_find_notification
    functionSourceFile: /src/glib/gio/gfdonotificationbackend.c
    functionUses: []
    functionsReached:
    - g_str_equal
    linkageType: ''
    returnType: FreedesktopNotification*
    signature: 'static FreedesktopNotification *g_fdo_notification_backend_find_notification
      (GFdoNotificationBackend *backend, const gchar *id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_free_full
      Src: /src/glib/gio/gfdonotificationbackend.c:250,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 253
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 253
    functionName: name_vanished_handler_cb
    functionSourceFile: /src/glib/gio/gfdonotificationbackend.c
    functionUses: []
    functionsReached:
    - g_slist_free_full
    linkageType: ''
    returnType: void
    signature: 'static void name_vanished_handler_cb (GDBusConnection *connection,
      const gchar *name, gpointer user_data) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_notification_get_default_action
      Src: /src/glib/gio/gfdonotificationbackend.c:295,1
    - Dst: g_free
      Src: /src/glib/gio/gfdonotificationbackend.c:319,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/gio/gfdonotificationbackend.c:323,1
    - Dst: g_variant_new_take_string
      Src: /src/glib/gio/gfdonotificationbackend.c:323,1
    - Dst: g_free
      Src: /src/glib/gio/gfdonotificationbackend.c:326,1
    - Dst: g_variant_builder_init_static
      Src: /src/glib/gio/gfdonotificationbackend.c:331,1
    - Dst: G_FILE_ICON
      Src: /src/glib/gio/gfdonotificationbackend.c:349,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gfdonotificationbackend.c:350,1
    - Dst: g_variant_new_take_string
      Src: /src/glib/gio/gfdonotificationbackend.c:351,1
    - Dst: G_IS_THEMED_ICON
      Src: /src/glib/gio/gfdonotificationbackend.c:353,1
    - Dst: g_notification_get_n_buttons
      Src: /src/glib/gio/gfdonotificationbackend.c:301,1
    - Dst: g_dbus_generate_guid
      Src: /src/glib/gio/gfdonotificationbackend.c:320,1
    - Dst: g_variant_new_take_string
      Src: /src/glib/gio/gfdonotificationbackend.c:324,1
    - Dst: g_application_get_application_id
      Src: /src/glib/gio/gfdonotificationbackend.c:333,1
    - Dst: urgency_from_priority
      Src: /src/glib/gio/gfdonotificationbackend.c:334,1
    - Dst: g_notification_get_category
      Src: /src/glib/gio/gfdonotificationbackend.c:336,1
    - Dst: g_notification_get_category
      Src: /src/glib/gio/gfdonotificationbackend.c:339,1
    - Dst: g_file_icon_get_file
      Src: /src/glib/gio/gfdonotificationbackend.c:349,1
    - Dst: g_themed_icon_get_names
      Src: /src/glib/gio/gfdonotificationbackend.c:355,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gfdonotificationbackend.c:358,1
    - Dst: g_notification_get_title
      Src: /src/glib/gio/gfdonotificationbackend.c:369,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gfdonotificationbackend.c:377,1
    - Dst: g_variant_builder_init_static
      Src: /src/glib/gio/gfdonotificationbackend.c:294,1
    - Dst: g_action_print_detailed_name
      Src: /src/glib/gio/gfdonotificationbackend.c:310,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/gio/gfdonotificationbackend.c:324,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gfdonotificationbackend.c:328,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gfdonotificationbackend.c:335,1
    - Dst: g_variant_new_byte
      Src: /src/glib/gio/gfdonotificationbackend.c:335,1
    - Dst: g_notification_get_icon
      Src: /src/glib/gio/gfdonotificationbackend.c:342,1
    - Dst: G_IS_FILE_ICON
      Src: /src/glib/gio/gfdonotificationbackend.c:345,1
    - Dst: g_file_get_path
      Src: /src/glib/gio/gfdonotificationbackend.c:351,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/gfdonotificationbackend.c:375,1
    - Dst: g_get_application_name
      Src: /src/glib/gio/gfdonotificationbackend.c:362,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gfdonotificationbackend.c:357,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gfdonotificationbackend.c:298,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gfdonotificationbackend.c:297,1
    - Dst: g_notification_get_button
      Src: /src/glib/gio/gfdonotificationbackend.c:309,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gfdonotificationbackend.c:317,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gfdonotificationbackend.c:332,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gfdonotificationbackend.c:331,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gfdonotificationbackend.c:333,1
    - Dst: g_notification_get_priority
      Src: /src/glib/gio/gfdonotificationbackend.c:334,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gfdonotificationbackend.c:338,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gfdonotificationbackend.c:339,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gfdonotificationbackend.c:365,1
    - Dst: g_notification_get_body
      Src: /src/glib/gio/gfdonotificationbackend.c:363,1
    - Dst: G_THEMED_ICON
      Src: /src/glib/gio/gfdonotificationbackend.c:355,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 67
    argCount: 6
    argNames:
    - con
    - app
    - replace_id
    - notification
    - callback
    - user_data
    argTypes:
    - GDBusConnection*
    - GApplication*
    - guint32
    - GNotification*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 380
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 380
    functionName: call_notify
    functionSourceFile: /src/glib/gio/gfdonotificationbackend.c
    functionUses: []
    functionsReached:
    - g_notification_get_title
    - g_file_icon_get_file
    - G_IS_THEMED_ICON
    - G_THEMED_ICON
    - g_notification_get_priority
    - g_notification_get_button
    - g_variant_new_byte
    - g_notification_get_default_action
    - G_IS_FILE_ICON
    - g_variant_builder_init_static
    - g_variant_new_take_string
    - g_variant_unref
    - g_application_get_application_id
    - g_variant_builder_add
    - g_notification_get_body
    - g_notification_get_icon
    - urgency_from_priority
    - g_get_application_name
    - g_dbus_connection_call
    - g_notification_get_category
    - g_themed_icon_get_names
    - G_FILE_ICON
    - G_VARIANT_TYPE
    - g_str_equal
    - g_action_print_detailed_name
    - g_notification_get_n_buttons
    - g_variant_builder_add_value
    - g_variant_new_string
    - g_file_get_path
    - g_variant_new
    - g_dbus_generate_guid
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void call_notify (GDBusConnection *con, GApplication *app,
      guint32 replace_id, GNotification *notification, GAsyncReadyCallback callback,
      gpointer user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_FDO_NOTIFICATION_BACKEND
      Src: /src/glib/gio/gfdonotificationbackend.c:426,1
    - Dst: g_bus_unwatch_name
      Src: /src/glib/gio/gfdonotificationbackend.c:430,1
    - Dst: g_steal_handle_id
      Src: /src/glib/gio/gfdonotificationbackend.c:439,1
    - Dst: G_NOTIFICATION_BACKEND
      Src: /src/glib/gio/gfdonotificationbackend.c:438,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/gfdonotificationbackend.c:439,1
    - Dst: g_slist_free_full
      Src: /src/glib/gio/gfdonotificationbackend.c:444,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gfdonotificationbackend.c:448,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 449
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 449
    functionName: g_fdo_notification_backend_dispose
    functionSourceFile: /src/glib/gio/gfdonotificationbackend.c
    functionUses: []
    functionsReached:
    - g_steal_handle_id
    - g_dbus_connection_signal_unsubscribe
    - G_OBJECT_CLASS
    - g_bus_unwatch_name
    - G_NOTIFICATION_BACKEND
    - g_slist_free_full
    - G_FDO_NOTIFICATION_BACKEND
    linkageType: ''
    returnType: void
    signature: 'static void g_fdo_notification_backend_dispose (GObject *object) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_FDO_NOTIFICATION_BACKEND
      Src: /src/glib/gio/gfdonotificationbackend.c:467,1
    - Dst: freedesktop_notification_new
      Src: /src/glib/gio/gfdonotificationbackend.c:492,1
    - Dst: g_fdo_notification_backend_find_notification
      Src: /src/glib/gio/gfdonotificationbackend.c:494,1
    - Dst: g_dbus_connection_signal_subscribe
      Src: /src/glib/gio/gfdonotificationbackend.c:484,1
    - Dst: g_bus_watch_name_on_connection
      Src: /src/glib/gio/gfdonotificationbackend.c:472,1
    - Dst: call_notify
      Src: /src/glib/gio/gfdonotificationbackend.c:498,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 3
    argNames:
    - backend
    - id
    - notification
    argTypes:
    - GNotificationBackend*
    - gchar*
    - GNotification*
    constantsTouched: []
    func_position:
      end: 499
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 499
    functionName: g_fdo_notification_backend_send_notification
    functionSourceFile: /src/glib/gio/gfdonotificationbackend.c
    functionUses: []
    functionsReached:
    - freedesktop_notification_new
    - g_fdo_notification_backend_find_notification
    - call_notify
    - g_bus_watch_name_on_connection
    - g_dbus_connection_signal_subscribe
    - G_FDO_NOTIFICATION_BACKEND
    linkageType: ''
    returnType: void
    signature: 'static void g_fdo_notification_backend_send_notification (GNotificationBackend
      *backend, const gchar *id, GNotification *notification) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - backend
    argTypes:
    - GFdoNotificationBackend*
    constantsTouched: []
    func_position:
      end: 529
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 529
    functionName: g_fdo_notification_backend_init
    functionSourceFile: /src/glib/gio/gfdonotificationbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_fdo_notification_backend_init (GFdoNotificationBackend
      *backend) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gfdonotificationbackend.c:534,1
    - Dst: G_NOTIFICATION_BACKEND_CLASS
      Src: /src/glib/gio/gfdonotificationbackend.c:535,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - class
    argTypes:
    - GFdoNotificationBackendClass*
    constantsTouched: []
    func_position:
      end: 542
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 542
    functionName: g_fdo_notification_backend_class_init
    functionSourceFile: /src/glib/gio/gfdonotificationbackend.c
    functionUses: []
    functionsReached:
    - G_NOTIFICATION_BACKEND_CLASS
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_fdo_notification_backend_class_init (GFdoNotificationBackendClass
      *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_local_file_statx
      Src: /src/glib/gio/glocalfileinfo.h:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - path
    - mask
    - mask_required
    - stat_buf
    argTypes:
    - char*
    - GLocalFileStatField
    - GLocalFileStatField
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 134
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 134
    functionName: g_local_file_lstat
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached:
    - g_local_file_statx
    linkageType: ''
    returnType: int
    signature: 'static inline int g_local_file_lstat (const char *path, GLocalFileStatField
      mask, GLocalFileStatField mask_required, GLocalFileStat *stat_buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: _g_stat_nlink
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint32
    signature: 'inline static guint32 _g_stat_nlink (const GLocalFileStat *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 152
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 152
    functionName: _g_stat_ino
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint64
    signature: 'inline static guint64 _g_stat_ino (const GLocalFileStat *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 165
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 165
    functionName: _g_stat_atim_nsec
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint32
    signature: 'inline static guint32 _g_stat_atim_nsec (const GLocalFileStat *buf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fstat
      Src: /src/glib/gio/glocalfileinfo.h:222,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/glocalfileinfo.h:220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - fd
    - mask
    - mask_required
    - stat_buf
    argTypes:
    - int
    - GLocalFileStatField
    - GLocalFileStatField
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 224
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 224
    functionName: g_local_file_fstat
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached:
    - GLIB_PRIVATE_CALL
    - fstat
    linkageType: ''
    returnType: int
    signature: 'static inline int g_local_file_fstat (int fd, GLocalFileStatField
      mask, GLocalFileStatField mask_required, GLocalFileStat *stat_buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 293
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 293
    functionName: _g_stat_mode
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mode_t
    signature: 'inline static mode_t _g_stat_mode (const GLocalFileStat *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 296
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 296
    functionName: _g_stat_mode
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint16
    signature: 'inline static guint16 _g_stat_mode (const GLocalFileStat *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 299
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 299
    functionName: _g_stat_dev
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: dev_t
    signature: 'inline static dev_t _g_stat_dev (const GLocalFileStat *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_local_file_statx
      Src: /src/glib/gio/glocalfileinfo.h:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 4
    argNames:
    - path
    - mask
    - mask_required
    - stat_buf
    argTypes:
    - char*
    - GLocalFileStatField
    - GLocalFileStatField
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 145
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 145
    functionName: g_local_file_stat
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached:
    - g_local_file_statx
    linkageType: ''
    returnType: int
    signature: 'static inline int g_local_file_stat (const char *path, GLocalFileStatField
      mask, GLocalFileStatField mask_required, GLocalFileStat *stat_buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makedev
      Src: /src/glib/gio/glocalfileinfo.h:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: _g_stat_dev
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached:
    - makedev
    linkageType: ''
    returnType: dev_t
    signature: 'inline static dev_t _g_stat_dev (const GLocalFileStat *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: _g_stat_size
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint64
    signature: 'inline static guint64 _g_stat_size (const GLocalFileStat *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: _g_stat_ctim_nsec
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint32
    signature: 'inline static guint32 _g_stat_ctim_nsec (const GLocalFileStat *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: _g_stat_mtim_nsec
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint32
    signature: 'inline static guint32 _g_stat_mtim_nsec (const GLocalFileStat *buf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fstatat
      Src: /src/glib/gio/glocalfileinfo.h:242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 6
    argNames:
    - fd
    - path
    - flags
    - mask
    - mask_required
    - stat_buf
    argTypes:
    - int
    - char*
    - int
    - GLocalFileStatField
    - GLocalFileStatField
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 248
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 248
    functionName: g_local_file_fstatat
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached:
    - fstatat
    linkageType: ''
    returnType: int
    signature: 'static inline int g_local_file_fstatat (int fd, const char *path,
      int flags, GLocalFileStatField mask, GLocalFileStatField mask_required, GLocalFileStat
      *stat_buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 294
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 294
    functionName: _g_stat_nlink
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: nlink_t
    signature: 'inline static nlink_t _g_stat_nlink (const GLocalFileStat *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 297
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 297
    functionName: _g_stat_nlink
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint32
    signature: 'inline static guint32 _g_stat_nlink (const GLocalFileStat *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 300
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 300
    functionName: _g_stat_ino
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ino_t
    signature: 'inline static ino_t _g_stat_ino (const GLocalFileStat *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 305
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 305
    functionName: _g_stat_gid
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gid_t
    signature: 'inline static gid_t _g_stat_gid (const GLocalFileStat *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_local_file_statx
      Src: /src/glib/gio/glocalfileinfo.h:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - fd
    - mask
    - mask_required
    - stat_buf
    argTypes:
    - int
    - GLocalFileStatField
    - GLocalFileStatField
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 112
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 112
    functionName: g_local_file_fstat
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached:
    - g_local_file_statx
    linkageType: ''
    returnType: int
    signature: 'static inline int g_local_file_fstat (int fd, GLocalFileStatField
      mask, GLocalFileStatField mask_required, GLocalFileStat *stat_buf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_lstat
      Src: /src/glib/gio/glocalfileinfo.h:266,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/glocalfileinfo.h:264,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - path
    - mask
    - mask_required
    - stat_buf
    argTypes:
    - char*
    - GLocalFileStatField
    - GLocalFileStatField
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 268
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 268
    functionName: g_local_file_lstat
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached:
    - GLIB_PRIVATE_CALL
    - g_lstat
    linkageType: ''
    returnType: int
    signature: 'static inline int g_local_file_lstat (const char *path, GLocalFileStatField
      mask, GLocalFileStatField mask_required, GLocalFileStat *stat_buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - field
    argTypes:
    - GLocalFileStat*
    - GLocalFileStatField
    constantsTouched: []
    func_position:
      end: 290
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 290
    functionName: _g_stat_has_field
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'inline static gboolean _g_stat_has_field (const GLocalFileStat *buf,
      GLocalFileStatField field) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 309
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 309
    functionName: _g_stat_uid
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint16
    signature: 'inline static guint16 _g_stat_uid (const GLocalFileStat *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 327
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 327
    functionName: _g_stat_atim_nsec
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint32
    signature: 'inline static guint32 _g_stat_atim_nsec (const GLocalFileStat *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 335
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 335
    functionName: _g_stat_atim_nsec
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint32
    signature: 'inline static guint32 _g_stat_atim_nsec (const GLocalFileStat *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_local_file_statx
      Src: /src/glib/gio/glocalfileinfo.h:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 6
    argNames:
    - fd
    - path
    - flags
    - mask
    - mask_required
    - stat_buf
    argTypes:
    - int
    - char*
    - int
    - GLocalFileStatField
    - GLocalFileStatField
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 123
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 123
    functionName: g_local_file_fstatat
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached:
    - g_local_file_statx
    linkageType: ''
    returnType: int
    signature: 'static inline int g_local_file_fstatat (int fd, const char *path,
      int flags, GLocalFileStatField mask, GLocalFileStatField mask_required, GLocalFileStat
      *stat_buf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/glocalfileinfo.h:284,1
    - Dst: stat
      Src: /src/glib/gio/glocalfileinfo.h:286,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - path
    - mask
    - mask_required
    - stat_buf
    argTypes:
    - char*
    - GLocalFileStatField
    - GLocalFileStatField
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 288
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 288
    functionName: g_local_file_stat
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached:
    - GLIB_PRIVATE_CALL
    - stat
    linkageType: ''
    returnType: int
    signature: 'static inline int g_local_file_stat (const char *path, GLocalFileStatField
      mask, GLocalFileStatField mask_required, GLocalFileStat *stat_buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 306
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 306
    functionName: _g_stat_rdev
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: dev_t
    signature: 'inline static dev_t _g_stat_rdev (const GLocalFileStat *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 307
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 307
    functionName: _g_stat_blksize
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: blksize_t
    signature: 'inline static blksize_t _g_stat_blksize (const GLocalFileStat *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 310
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 310
    functionName: _g_stat_gid
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint16
    signature: 'inline static guint16 _g_stat_gid (const GLocalFileStat *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 328
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 328
    functionName: _g_stat_ctim_nsec
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint32
    signature: 'inline static guint32 _g_stat_ctim_nsec (const GLocalFileStat *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 329
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 329
    functionName: _g_stat_mtim_nsec
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint32
    signature: 'inline static guint32 _g_stat_mtim_nsec (const GLocalFileStat *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 333
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 333
    functionName: _g_stat_mtim_nsec
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint32
    signature: 'inline static guint32 _g_stat_mtim_nsec (const GLocalFileStat *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 314
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 314
    functionName: _g_stat_blocks
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: blkcnt_t
    signature: 'inline static blkcnt_t _g_stat_blocks (const GLocalFileStat *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 304
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 304
    functionName: _g_stat_uid
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uid_t
    signature: 'inline static uid_t _g_stat_uid (const GLocalFileStat *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 56
    functionName: typedef
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: G_BEGIN_DECLS
    signature: 'G_BEGIN_DECLS typedef struct '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - field
    argTypes:
    - GLocalFileStat*
    - GLocalFileStatField
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: _g_stat_has_field
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'inline static gboolean _g_stat_has_field (const GLocalFileStat *buf,
      GLocalFileStatField field) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: _g_stat_uid
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint32
    signature: 'inline static guint32 _g_stat_uid (const GLocalFileStat *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makedev
      Src: /src/glib/gio/glocalfileinfo.h:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    functionName: _g_stat_rdev
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached:
    - makedev
    linkageType: ''
    returnType: dev_t
    signature: 'inline static dev_t _g_stat_rdev (const GLocalFileStat *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: _g_stat_ctime
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint64
    signature: 'inline static gint64 _g_stat_ctime (const GLocalFileStat *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: _g_stat_blocks
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint64
    signature: 'inline static guint64 _g_stat_blocks (const GLocalFileStat *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 301
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 301
    functionName: _g_stat_size
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: goffset
    signature: 'inline static goffset _g_stat_size (const GLocalFileStat *buf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: statx
      Src: /src/glib/gio/glocalfileinfo.h:94,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 6
    argNames:
    - dirfd
    - pathname
    - flags
    - mask
    - mask_required
    - stat_buf
    argTypes:
    - int
    - char*
    - int
    - GLocalFileStatField
    - GLocalFileStatField
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 103
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 103
    functionName: g_local_file_statx
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached:
    - statx
    linkageType: ''
    returnType: int
    signature: 'static inline int g_local_file_statx (int dirfd, const char *pathname,
      int flags, GLocalFileStatField mask, GLocalFileStatField mask_required, GLocalFileStat
      *stat_buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: _g_stat_mode
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint16
    signature: 'inline static guint16 _g_stat_mode (const GLocalFileStat *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 156
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 156
    functionName: _g_stat_gid
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint32
    signature: 'inline static guint32 _g_stat_gid (const GLocalFileStat *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: _g_stat_blksize
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint32
    signature: 'inline static guint32 _g_stat_blksize (const GLocalFileStat *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 162
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 162
    functionName: _g_stat_atime
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint64
    signature: 'inline static gint64 _g_stat_atime (const GLocalFileStat *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 164
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 164
    functionName: _g_stat_mtime
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint64
    signature: 'inline static gint64 _g_stat_mtime (const GLocalFileStat *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 337
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 337
    functionName: _g_stat_mtim_nsec
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint32
    signature: 'inline static guint32 _g_stat_mtim_nsec (const GLocalFileStat *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 318
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 318
    functionName: _g_stat_atime
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint64
    signature: 'inline static guint64 _g_stat_atime (const GLocalFileStat *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 322
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 322
    functionName: _g_stat_atime
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint64
    signature: 'inline static guint64 _g_stat_atime (const GLocalFileStat *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 331
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 331
    functionName: _g_stat_atim_nsec
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint32
    signature: 'inline static guint32 _g_stat_atim_nsec (const GLocalFileStat *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 319
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 319
    functionName: _g_stat_ctime
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint64
    signature: 'inline static guint64 _g_stat_ctime (const GLocalFileStat *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 320
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 320
    functionName: _g_stat_mtime
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint64
    signature: 'inline static guint64 _g_stat_mtime (const GLocalFileStat *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 323
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 323
    functionName: _g_stat_ctime
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint64
    signature: 'inline static guint64 _g_stat_ctime (const GLocalFileStat *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 324
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 324
    functionName: _g_stat_mtime
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint64
    signature: 'inline static guint64 _g_stat_mtime (const GLocalFileStat *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 332
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 332
    functionName: _g_stat_ctim_nsec
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint32
    signature: 'inline static guint32 _g_stat_ctim_nsec (const GLocalFileStat *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - buf
    argTypes:
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 336
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 336
    functionName: _g_stat_ctim_nsec
    functionSourceFile: /src/glib/gio/glocalfileinfo.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint32
    signature: 'inline static guint32 _g_stat_ctim_nsec (const GLocalFileStat *buf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gcontextspecificgroup.c:100,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gcontextspecificgroup.c:112,1
    - Dst: g_cond_broadcast
      Src: /src/glib/gio/gcontextspecificgroup.c:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 115
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 115
    functionName: g_context_specific_group_change_state
    functionSourceFile: /src/glib/gio/gcontextspecificgroup.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_cond_broadcast
    - g_mutex_lock
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_context_specific_group_change_state (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_clear
      Src: /src/glib/gio/gcontextspecificgroup.c:65,1
    - Dst: g_queue_clear
      Src: /src/glib/gio/gcontextspecificgroup.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: g_context_specific_source_finalize
    functionSourceFile: /src/glib/gio/gcontextspecificgroup.c
    functionUses: []
    functionsReached:
    - g_mutex_clear
    - g_queue_clear
    linkageType: ''
    returnType: void
    signature: 'static void g_context_specific_source_finalize (GSource *source) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_get_thread_default
      Src: /src/glib/gio/gcontextspecificgroup.c:168,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/gcontextspecificgroup.c:175,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gcontextspecificgroup.c:172,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gcontextspecificgroup.c:177,1
    - Dst: g_main_context_default
      Src: /src/glib/gio/gcontextspecificgroup.c:170,1
    - Dst: g_object_new
      Src: /src/glib/gio/gcontextspecificgroup.c:183,1
    - Dst: g_context_specific_source_new
      Src: /src/glib/gio/gcontextspecificgroup.c:184,1
    - Dst: g_type_name
      Src: /src/glib/gio/gcontextspecificgroup.c:184,1
    - Dst: g_main_context_ref
      Src: /src/glib/gio/gcontextspecificgroup.c:185,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gcontextspecificgroup.c:186,1
    - Dst: g_context_specific_group_request_state
      Src: /src/glib/gio/gcontextspecificgroup.c:194,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gcontextspecificgroup.c:196,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gcontextspecificgroup.c:188,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gcontextspecificgroup.c:191,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 4
    argNames:
    - group
    - type
    - context_offset
    - start_func
    argTypes:
    - GContextSpecificGroup*
    - GType
    - goffset
    - GCallback
    constantsTouched: []
    func_position:
      end: 199
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 199
    functionName: g_context_specific_group_get
    functionSourceFile: /src/glib/gio/gcontextspecificgroup.c
    functionUses: []
    functionsReached:
    - g_context_specific_source_new
    - g_object_new
    - g_mutex_lock
    - g_mutex_unlock
    - g_source_attach
    - g_main_context_default
    - g_hash_table_lookup
    - g_main_context_get_thread_default
    - g_hash_table_insert
    - g_hash_table_new
    - g_object_ref
    - g_context_specific_group_request_state
    - g_main_context_ref
    - g_type_name
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_context_specific_group_get (GContextSpecificGroup *group,
      GType type, goffset context_offset, GCallback start_func) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gcontextspecificgroup.c:45,1
    - Dst: g_queue_is_empty
      Src: /src/glib/gio/gcontextspecificgroup.c:47,1
    - Dst: g_queue_pop_head
      Src: /src/glib/gio/gcontextspecificgroup.c:48,1
    - Dst: g_assert
      Src: /src/glib/gio/gcontextspecificgroup.c:47,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gio/gcontextspecificgroup.c:48,1
    - Dst: g_queue_is_empty
      Src: /src/glib/gio/gcontextspecificgroup.c:50,1
    - Dst: g_source_set_ready_time
      Src: /src/glib/gio/gcontextspecificgroup.c:51,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gcontextspecificgroup.c:53,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gcontextspecificgroup.c:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - source
    - callback
    - user_data
    argTypes:
    - GSource*
    - GSourceFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 58
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 58
    functionName: g_context_specific_source_dispatch
    functionSourceFile: /src/glib/gio/gcontextspecificgroup.c
    functionUses: []
    functionsReached:
    - g_queue_pop_head
    - g_mutex_unlock
    - g_mutex_lock
    - g_assert
    - GPOINTER_TO_UINT
    - g_signal_emit
    - g_queue_is_empty
    - g_source_set_ready_time
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_context_specific_source_dispatch (GSource *source,
      GSourceFunc callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_source_new
      Src: /src/glib/gio/gcontextspecificgroup.c:83,1
    - Dst: g_mutex_init
      Src: /src/glib/gio/gcontextspecificgroup.c:88,1
    - Dst: g_queue_init
      Src: /src/glib/gio/gcontextspecificgroup.c:89,1
    - Dst: g_source_set_name
      Src: /src/glib/gio/gcontextspecificgroup.c:86,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 93
    functionName: g_context_specific_source_new
    functionSourceFile: /src/glib/gio/gcontextspecificgroup.c
    functionUses: []
    functionsReached:
    - g_queue_init
    - g_mutex_init
    - g_source_set_name
    - g_source_new
    linkageType: ''
    returnType: GContextSpecificSource*
    signature: 'static GContextSpecificSource *g_context_specific_source_new (const
      gchar *name, gpointer instance) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_critical
      Src: /src/glib/gio/gcontextspecificgroup.c:211,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gcontextspecificgroup.c:218,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gcontextspecificgroup.c:217,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gcontextspecificgroup.c:216,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/gcontextspecificgroup.c:212,1
    - Dst: g_assert
      Src: /src/glib/gio/gcontextspecificgroup.c:219,1
    - Dst: g_hash_table_size
      Src: /src/glib/gio/gcontextspecificgroup.c:222,1
    - Dst: g_context_specific_group_request_state
      Src: /src/glib/gio/gcontextspecificgroup.c:223,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gcontextspecificgroup.c:225,1
    - Dst: g_assert
      Src: /src/glib/gio/gcontextspecificgroup.c:227,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/gcontextspecificgroup.c:231,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gcontextspecificgroup.c:230,1
    - Dst: g_source_destroy
      Src: /src/glib/gio/gcontextspecificgroup.c:229,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - group
    - context
    - instance
    - stop_func
    argTypes:
    - GContextSpecificGroup*
    - GMainContext*
    - gpointer
    - GCallback
    constantsTouched: []
    func_position:
      end: 232
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 232
    functionName: g_context_specific_group_remove
    functionSourceFile: /src/glib/gio/gcontextspecificgroup.c
    functionUses: []
    functionsReached:
    - g_main_context_unref
    - G_OBJECT_TYPE_NAME
    - g_hash_table_remove
    - g_mutex_lock
    - g_assert
    - g_mutex_unlock
    - g_source_destroy
    - g_hash_table_lookup
    - g_source_unref
    - g_critical
    - g_hash_table_size
    - g_context_specific_group_request_state
    linkageType: ''
    returnType: void
    signature: 'void g_context_specific_group_remove (GContextSpecificGroup *group,
      GMainContext *context, gpointer instance, GCallback stop_func) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gcontextspecificgroup.c:238,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gcontextspecificgroup.c:248,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gcontextspecificgroup.c:253,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gcontextspecificgroup.c:249,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gcontextspecificgroup.c:246,1
    - Dst: g_queue_remove
      Src: /src/glib/gio/gcontextspecificgroup.c:255,1
    - Dst: g_queue_push_tail
      Src: /src/glib/gio/gcontextspecificgroup.c:256,1
    - Dst: g_source_set_ready_time
      Src: /src/glib/gio/gcontextspecificgroup.c:258,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gcontextspecificgroup.c:260,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gcontextspecificgroup.c:264,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - group
    - signal_id
    argTypes:
    - GContextSpecificGroup*
    - guint
    constantsTouched: []
    func_position:
      end: 265
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 265
    functionName: g_context_specific_group_emit
    functionSourceFile: /src/glib/gio/gcontextspecificgroup.c
    functionUses: []
    functionsReached:
    - g_hash_table_iter_init
    - g_mutex_unlock
    - g_mutex_lock
    - g_queue_remove
    - GUINT_TO_POINTER
    - g_queue_push_tail
    - g_source_set_ready_time
    - g_hash_table_iter_next
    linkageType: ''
    returnType: void
    signature: 'void g_context_specific_group_emit (GContextSpecificGroup *group,
      guint signal_id) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gcontextspecificgroup.c:139,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gcontextspecificgroup.c:150,1
    - Dst: g_main_context_invoke
      Src: /src/glib/gio/gcontextspecificgroup.c:150,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/gcontextspecificgroup.c:156,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - group
    - requested_state
    - requested_func
    argTypes:
    - GContextSpecificGroup*
    - gboolean
    - GCallback
    constantsTouched: []
    func_position:
      end: 157
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 157
    functionName: g_context_specific_group_request_state
    functionSourceFile: /src/glib/gio/gcontextspecificgroup.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_main_context_invoke
    - g_cond_wait
    - GLIB_PRIVATE_CALL
    linkageType: ''
    returnType: void
    signature: 'static void g_context_specific_group_request_state (GContextSpecificGroup
      *group, gboolean requested_state, GCallback requested_func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GDBusInterfaceIface*
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: g_dbus_interface_default_init
    functionSourceFile: /src/glib/gio/gdbusinterface.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_interface_default_init (GDBusInterfaceIface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusinterface.c:87,1
    - Dst: G_IS_DBUS_INTERFACE
      Src: /src/glib/gio/gdbusinterface.c:87,1
    - Dst: G_DBUS_INTERFACE_GET_IFACE
      Src: /src/glib/gio/gdbusinterface.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: g_dbus_interface_get_object
    functionSourceFile: /src/glib/gio/gdbusinterface.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DBUS_INTERFACE
    - G_DBUS_INTERFACE_GET_IFACE
    linkageType: ''
    returnType: GDBusObject*
    signature: 'GDBusObject *g_dbus_interface_get_object (GDBusInterface *interface_) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusinterface.c:106,1
    - Dst: G_LIKELY
      Src: /src/glib/gio/gdbusinterface.c:107,1
    - Dst: G_DBUS_INTERFACE_GET_IFACE
      Src: /src/glib/gio/gdbusinterface.c:107,1
    - Dst: G_IS_DBUS_INTERFACE
      Src: /src/glib/gio/gdbusinterface.c:106,1
    - Dst: G_DBUS_INTERFACE_GET_IFACE
      Src: /src/glib/gio/gdbusinterface.c:109,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusinterface.c:113,1
    - Dst: g_type_name_from_instance
      Src: /src/glib/gio/gdbusinterface.c:114,1
    - Dst: G_DBUS_INTERFACE_GET_IFACE
      Src: /src/glib/gio/gdbusinterface.c:115,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusinterface.c:117,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 120
    functionName: g_dbus_interface_dup_object
    functionSourceFile: /src/glib/gio/gdbusinterface.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_warning
    - g_type_name_from_instance
    - G_IS_DBUS_INTERFACE
    - G_LIKELY
    - g_object_ref
    - G_DBUS_INTERFACE_GET_IFACE
    linkageType: ''
    returnType: GDBusObject*
    signature: 'GDBusObject *g_dbus_interface_dup_object (GDBusInterface *interface_) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusinterface.c:137,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusinterface.c:138,1
    - Dst: G_IS_DBUS_OBJECT
      Src: /src/glib/gio/gdbusinterface.c:138,1
    - Dst: G_IS_DBUS_INTERFACE
      Src: /src/glib/gio/gdbusinterface.c:137,1
    - Dst: G_DBUS_INTERFACE_GET_IFACE
      Src: /src/glib/gio/gdbusinterface.c:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - interface_
    - object
    argTypes:
    - GDBusInterface*
    - GDBusObject*
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: g_dbus_interface_set_object
    functionSourceFile: /src/glib/gio/gdbusinterface.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_OBJECT
    - G_IS_DBUS_INTERFACE
    - G_DBUS_INTERFACE_GET_IFACE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_interface_set_object (GDBusInterface *interface_, GDBusObject
      *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusinterface.c:65,1
    - Dst: G_DBUS_INTERFACE_GET_IFACE
      Src: /src/glib/gio/gdbusinterface.c:66,1
    - Dst: G_IS_DBUS_INTERFACE
      Src: /src/glib/gio/gdbusinterface.c:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: g_dbus_interface_get_info
    functionSourceFile: /src/glib/gio/gdbusinterface.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DBUS_INTERFACE
    - G_DBUS_INTERFACE_GET_IFACE
    linkageType: ''
    returnType: GDBusInterfaceInfo*
    signature: 'GDBusInterfaceInfo *g_dbus_interface_get_info (GDBusInterface *interface_) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginputstream.c:527,1
    - Dst: G_INPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/ginputstream.c:529,1
    - Dst: G_IS_INPUT_STREAM
      Src: /src/glib/gio/ginputstream.c:527,1
    - Dst: g_cancellable_push_current
      Src: /src/glib/gio/ginputstream.c:540,1
    - Dst: g_input_stream_set_pending
      Src: /src/glib/gio/ginputstream.c:536,1
    - Dst: g_cancellable_pop_current
      Src: /src/glib/gio/ginputstream.c:546,1
    - Dst: g_input_stream_clear_pending
      Src: /src/glib/gio/ginputstream.c:548,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GInputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 553
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 553
    functionName: g_input_stream_close
    functionSourceFile: /src/glib/gio/ginputstream.c
    functionUses: []
    functionsReached:
    - g_cancellable_pop_current
    - g_return_val_if_fail
    - G_INPUT_STREAM_GET_CLASS
    - g_input_stream_clear_pending
    - g_cancellable_push_current
    - G_IS_INPUT_STREAM
    - g_input_stream_set_pending
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_input_stream_close (GInputStream *stream,\t\t GCancellable\
      \ *cancellable,\t\t GError **error) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/ginputstream.c:631,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/ginputstream.c:632,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/ginputstream.c:639,1
    - Dst: g_task_new
      Src: /src/glib/gio/ginputstream.c:638,1
    - Dst: G_IS_INPUT_STREAM
      Src: /src/glib/gio/ginputstream.c:631,1
    - Dst: g_task_return_int
      Src: /src/glib/gio/ginputstream.c:640,1
    - Dst: g_object_unref
      Src: /src/glib/gio/ginputstream.c:641,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/ginputstream.c:647,1
    - Dst: _
      Src: /src/glib/gio/ginputstream.c:650,1
    - Dst: g_input_stream_set_pending
      Src: /src/glib/gio/ginputstream.c:655,1
    - Dst: G_INPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/ginputstream.c:663,1
    - Dst: g_object_ref
      Src: /src/glib/gio/ginputstream.c:665,1
    - Dst: g_task_report_error
      Src: /src/glib/gio/ginputstream.c:657,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 7
    argNames:
    - stream
    - buffer
    - count
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GInputStream*
    - void*
    - gsize
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 668
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 668
    functionName: g_input_stream_read_async
    functionSourceFile: /src/glib/gio/ginputstream.c
    functionUses: []
    functionsReached:
    - G_INPUT_STREAM_GET_CLASS
    - g_task_new
    - g_object_unref
    - g_task_set_source_tag
    - g_return_if_fail
    - g_task_return_int
    - g_task_report_new_error
    - g_task_report_error
    - g_object_ref
    - _
    - G_IS_INPUT_STREAM
    - g_input_stream_set_pending
    linkageType: ''
    returnType: void
    signature: "void g_input_stream_read_async (GInputStream *stream,\t\t\t void *buffer,\t\
      \t\t gsize count,\t\t\t int io_priority,\t\t\t GCancellable *cancellable,\t\t\
      \t GAsyncReadyCallback callback,\t\t\t gpointer user_data) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginputstream.c:1181,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginputstream.c:1182,1
    - Dst: G_IS_INPUT_STREAM
      Src: /src/glib/gio/ginputstream.c:1181,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/ginputstream.c:1184,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/ginputstream.c:1182,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/ginputstream.c:1186,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/ginputstream.c:1187,1
    - Dst: G_TASK
      Src: /src/glib/gio/ginputstream.c:1187,1
    - Dst: G_INPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/ginputstream.c:1189,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - stream
    - result
    - error
    argTypes:
    - GInputStream*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 1191
      start: 1174
    functionDepth: 0
    functionLinenumber: 1174
    functionLinenumberEnd: 1191
    functionName: g_input_stream_close_finish
    functionSourceFile: /src/glib/gio/ginputstream.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - G_INPUT_STREAM_GET_CLASS
    - g_async_result_legacy_propagate_error
    - G_IS_ASYNC_RESULT
    - G_IS_INPUT_STREAM
    - g_async_result_is_tagged
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_input_stream_close_finish (GInputStream *stream,\t\t\t\
      \ GAsyncResult *result,\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginputstream.c:1290,1
    - Dst: g_pollable_input_stream_can_poll
      Src: /src/glib/gio/ginputstream.c:1296,1
    - Dst: G_INPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/ginputstream.c:1292,1
    - Dst: G_IS_INPUT_STREAM
      Src: /src/glib/gio/ginputstream.c:1290,1
    - Dst: G_IS_POLLABLE_INPUT_STREAM
      Src: /src/glib/gio/ginputstream.c:1295,1
    - Dst: G_POLLABLE_INPUT_STREAM
      Src: /src/glib/gio/ginputstream.c:1296,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GInputStream*
    constantsTouched: []
    func_position:
      end: 1297
      start: 1285
    functionDepth: 0
    functionLinenumber: 1285
    functionLinenumberEnd: 1297
    functionName: g_input_stream_async_read_is_via_threads
    functionSourceFile: /src/glib/gio/ginputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_INPUT_STREAM_GET_CLASS
    - G_IS_POLLABLE_INPUT_STREAM
    - g_pollable_input_stream_can_poll
    - G_POLLABLE_INPUT_STREAM
    - G_IS_INPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_input_stream_async_read_is_via_threads (GInputStream *stream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_INPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/ginputstream.c:1530,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/ginputstream.c:1534,1
    - Dst: g_task_new
      Src: /src/glib/gio/ginputstream.c:1532,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/ginputstream.c:1533,1
    - Dst: g_input_stream_async_read_is_via_threads
      Src: /src/glib/gio/ginputstream.c:1536,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/ginputstream.c:1541,1
    - Dst: GSIZE_TO_POINTER
      Src: /src/glib/gio/ginputstream.c:1541,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/ginputstream.c:1543,1
    - Dst: g_object_unref
      Src: /src/glib/gio/ginputstream.c:1544,1
    - Dst: g_new
      Src: /src/glib/gio/ginputstream.c:1551,1
    - Dst: g_task_set_check_cancellable
      Src: /src/glib/gio/ginputstream.c:1555,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/ginputstream.c:1554,1
    - Dst: MIN
      Src: /src/glib/gio/ginputstream.c:1556,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 6
    argNames:
    - stream
    - count
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GInputStream*
    - gsize
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 1560
      start: 1518
    functionDepth: 0
    functionLinenumber: 1518
    functionLinenumberEnd: 1560
    functionName: g_input_stream_real_skip_async
    functionSourceFile: /src/glib/gio/ginputstream.c
    functionUses: []
    functionsReached:
    - G_INPUT_STREAM_GET_CLASS
    - g_task_new
    - g_object_unref
    - g_task_set_priority
    - g_task_set_source_tag
    - g_task_run_in_thread
    - GSIZE_TO_POINTER
    - g_input_stream_async_read_is_via_threads
    - g_new
    - g_task_set_check_cancellable
    - MIN
    - g_task_set_task_data
    linkageType: ''
    returnType: void
    signature: "static void g_input_stream_real_skip_async (GInputStream *stream,\t\
      \t\t\tgsize count,\t\t\t\tint io_priority,\t\t\t\tGCancellable *cancellable,\t\
      \t\t\tGAsyncReadyCallback callback,\t\t\t\tgpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read_async_pollable
      Src: /src/glib/gio/ginputstream.c:1367,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - stream
    - user_data
    argTypes:
    - GPollableInputStream*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1369
      start: 1361
    functionDepth: 0
    functionLinenumber: 1361
    functionLinenumberEnd: 1369
    functionName: read_async_pollable_ready
    functionSourceFile: /src/glib/gio/ginputstream.c
    functionUses: []
    functionsReached:
    - read_async_pollable
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean read_async_pollable_ready (GPollableInputStream *stream,\t\
      \t\t gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginputstream.c:1567,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/ginputstream.c:1569,1
    - Dst: G_TASK
      Src: /src/glib/gio/ginputstream.c:1569,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/ginputstream.c:1567,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - stream
    - result
    - error
    argTypes:
    - GInputStream*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 1570
      start: 1562
    functionDepth: 0
    functionLinenumber: 1562
    functionLinenumberEnd: 1570
    functionName: g_input_stream_real_skip_finish
    functionSourceFile: /src/glib/gio/ginputstream.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_return_val_if_fail
    - g_task_is_valid
    - g_task_propagate_int
    linkageType: ''
    returnType: gssize
    signature: "static gssize g_input_stream_real_skip_finish (GInputStream *stream,\t\
      \t\t\t GAsyncResult *result,\t\t\t\t GError **error) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_seekable_can_seek
      Src: /src/glib/gio/ginputstream.c:413,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/ginputstream.c:424,1
    - Dst: g_assert
      Src: /src/glib/gio/ginputstream.c:432,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/ginputstream.c:422,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/ginputstream.c:413,1
    - Dst: g_assert
      Src: /src/glib/gio/ginputstream.c:431,1
    - Dst: MIN
      Src: /src/glib/gio/ginputstream.c:463,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/ginputstream.c:440,1
    - Dst: G_INPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/ginputstream.c:456,1
    - Dst: G_IS_SEEKABLE
      Src: /src/glib/gio/ginputstream.c:413,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/ginputstream.c:415,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/ginputstream.c:424,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/ginputstream.c:430,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/ginputstream.c:440,1
    - Dst: g_error_free
      Src: /src/glib/gio/ginputstream.c:471,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/ginputstream.c:475,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 57
    argCount: 4
    argNames:
    - stream
    - count
    - cancellable
    - error
    argTypes:
    - GInputStream*
    - gsize
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 485
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 485
    functionName: g_input_stream_real_skip
    functionSourceFile: /src/glib/gio/ginputstream.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - G_INPUT_STREAM_GET_CLASS
    - g_seekable_can_seek
    - g_assert
    - g_seekable_seek
    - G_SEEKABLE
    - MIN
    - g_error_free
    - g_seekable_tell
    - G_IS_SEEKABLE
    linkageType: ''
    returnType: gssize
    signature: "static gssize g_input_stream_real_skip (GInputStream *stream,\t\t\t\
      \ gsize count,\t\t\t GCancellable *cancellable,\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/ginputstream.c:1272,1
    - Dst: G_IS_INPUT_STREAM
      Src: /src/glib/gio/ginputstream.c:1272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GInputStream*
    constantsTouched: []
    func_position:
      end: 1275
      start: 1269
    functionDepth: 0
    functionLinenumber: 1269
    functionLinenumberEnd: 1275
    functionName: g_input_stream_clear_pending
    functionSourceFile: /src/glib/gio/ginputstream.c
    functionUses: []
    functionsReached:
    - G_IS_INPUT_STREAM
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_input_stream_clear_pending (GInputStream *stream) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginputstream.c:171,1
    - Dst: g_set_error
      Src: /src/glib/gio/ginputstream.c:179,1
    - Dst: G_IS_INPUT_STREAM
      Src: /src/glib/gio/ginputstream.c:171,1
    - Dst: _
      Src: /src/glib/gio/ginputstream.c:180,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginputstream.c:172,1
    - Dst: G_INPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/ginputstream.c:184,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/ginputstream.c:188,1
    - Dst: _
      Src: /src/glib/gio/ginputstream.c:189,1
    - Dst: g_input_stream_set_pending
      Src: /src/glib/gio/ginputstream.c:193,1
    - Dst: g_cancellable_push_current
      Src: /src/glib/gio/ginputstream.c:197,1
    - Dst: g_input_stream_clear_pending
      Src: /src/glib/gio/ginputstream.c:204,1
    - Dst: g_cancellable_pop_current
      Src: /src/glib/gio/ginputstream.c:202,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 5
    argNames:
    - stream
    - buffer
    - count
    - cancellable
    - error
    argTypes:
    - GInputStream*
    - void*
    - gsize
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 207
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 207
    functionName: g_input_stream_read
    functionSourceFile: /src/glib/gio/ginputstream.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_cancellable_pop_current
    - g_return_val_if_fail
    - G_INPUT_STREAM_GET_CLASS
    - g_input_stream_clear_pending
    - g_set_error_literal
    - g_cancellable_push_current
    - _
    - G_IS_INPUT_STREAM
    - g_input_stream_set_pending
    linkageType: ''
    returnType: gssize
    signature: "gssize g_input_stream_read (GInputStream *stream,\t\t void *buffer,\t\
      \t gsize count,\t\t GCancellable *cancellable,\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/ginputstream.c:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GInputStreamClass*
    constantsTouched: []
    func_position:
      end: 120
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 120
    functionName: g_input_stream_class_init
    functionSourceFile: /src/glib/gio/ginputstream.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_input_stream_class_init (GInputStreamClass *klass) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/ginputstream.c:812,1
    - Dst: g_slice_new0
      Src: /src/glib/gio/ginputstream.c:816,1
    - Dst: g_task_new
      Src: /src/glib/gio/ginputstream.c:815,1
    - Dst: G_IS_INPUT_STREAM
      Src: /src/glib/gio/ginputstream.c:812,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/ginputstream.c:813,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/ginputstream.c:820,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/ginputstream.c:821,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/ginputstream.c:822,1
    - Dst: g_input_stream_async_read_is_via_threads
      Src: /src/glib/gio/ginputstream.c:828,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/ginputstream.c:830,1
    - Dst: g_object_unref
      Src: /src/glib/gio/ginputstream.c:831,1
    - Dst: read_all_callback
      Src: /src/glib/gio/ginputstream.c:834,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/ginputstream.c:834,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 7
    argNames:
    - stream
    - buffer
    - count
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GInputStream*
    - void*
    - gsize
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 835
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 835
    functionName: g_input_stream_read_all_async
    functionSourceFile: /src/glib/gio/ginputstream.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_object_unref
    - g_slice_new0
    - g_task_set_source_tag
    - g_return_if_fail
    - g_task_set_priority
    - g_input_stream_async_read_is_via_threads
    - g_task_run_in_thread
    - G_OBJECT
    - g_task_set_task_data
    - read_all_callback
    - G_IS_INPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'void g_input_stream_read_all_async (GInputStream *stream, void *buffer,
      gsize count, int io_priority, GCancellable *cancellable, GAsyncReadyCallback
      callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginputstream.c:986,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginputstream.c:987,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/ginputstream.c:989,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/ginputstream.c:987,1
    - Dst: G_IS_INPUT_STREAM
      Src: /src/glib/gio/ginputstream.c:986,1
    - Dst: G_TASK
      Src: /src/glib/gio/ginputstream.c:989,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 990
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 990
    functionName: g_input_stream_read_bytes_finish
    functionSourceFile: /src/glib/gio/ginputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_task_is_valid
    - G_IS_INPUT_STREAM
    - G_TASK
    - g_task_propagate_pointer
    linkageType: ''
    returnType: GBytes*
    signature: "GBytes *g_input_stream_read_bytes_finish (GInputStream *stream,\t\t\
      \t\t GAsyncResult *result,\t\t\t\t GError **error) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/ginputstream.c:1135,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/ginputstream.c:1142,1
    - Dst: g_task_new
      Src: /src/glib/gio/ginputstream.c:1141,1
    - Dst: G_IS_INPUT_STREAM
      Src: /src/glib/gio/ginputstream.c:1135,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/ginputstream.c:1143,1
    - Dst: g_object_unref
      Src: /src/glib/gio/ginputstream.c:1144,1
    - Dst: g_input_stream_set_pending
      Src: /src/glib/gio/ginputstream.c:1148,1
    - Dst: g_task_report_error
      Src: /src/glib/gio/ginputstream.c:1150,1
    - Dst: G_INPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/ginputstream.c:1156,1
    - Dst: g_object_ref
      Src: /src/glib/gio/ginputstream.c:1158,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 5
    argNames:
    - stream
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GInputStream*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 1161
      start: 1125
    functionDepth: 0
    functionLinenumber: 1125
    functionLinenumberEnd: 1161
    functionName: g_input_stream_close_async
    functionSourceFile: /src/glib/gio/ginputstream.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - G_INPUT_STREAM_GET_CLASS
    - g_task_new
    - g_object_unref
    - g_task_set_source_tag
    - g_return_if_fail
    - g_task_report_error
    - g_object_ref
    - G_IS_INPUT_STREAM
    - g_input_stream_set_pending
    linkageType: ''
    returnType: void
    signature: "void g_input_stream_close_async (GInputStream *stream,\t\t\t int io_priority,\t\
      \t\t GCancellable *cancellable,\t\t\t GAsyncReadyCallback callback,\t\t\t gpointer\
      \ user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_free
      Src: /src/glib/gio/ginputstream.c:1331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - ReadData*
    constantsTouched: []
    func_position:
      end: 1332
      start: 1328
    functionDepth: 0
    functionLinenumber: 1328
    functionLinenumberEnd: 1332
    functionName: free_read_data
    functionSourceFile: /src/glib/gio/ginputstream.c
    functionUses: []
    functionsReached:
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void free_read_data (ReadData *op) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_input_stream_get_instance_private
      Src: /src/glib/gio/ginputstream.c:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GInputStream*
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: g_input_stream_init
    functionSourceFile: /src/glib/gio/ginputstream.c
    functionUses: []
    functionsReached:
    - g_input_stream_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_input_stream_init (GInputStream *stream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_INPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/ginputstream.c:1346,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/ginputstream.c:1353,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/ginputstream.c:1350,1
    - Dst: g_task_return_int
      Src: /src/glib/gio/ginputstream.c:1355,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 4
    argNames:
    - task
    - source_object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 1356
      start: 1334
    functionDepth: 0
    functionLinenumber: 1334
    functionLinenumberEnd: 1356
    functionName: read_async_thread
    functionSourceFile: /src/glib/gio/ginputstream.c
    functionUses: []
    functionsReached:
    - g_task_return_int
    - g_task_get_cancellable
    - G_INPUT_STREAM_GET_CLASS
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void read_async_thread (GTask *task, gpointer source_object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginputstream.c:1622,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/ginputstream.c:1622,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/ginputstream.c:1624,1
    - Dst: G_TASK
      Src: /src/glib/gio/ginputstream.c:1624,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - stream
    - result
    - error
    argTypes:
    - GInputStream*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 1625
      start: 1617
    functionDepth: 0
    functionLinenumber: 1617
    functionLinenumberEnd: 1625
    functionName: g_input_stream_real_close_finish
    functionSourceFile: /src/glib/gio/ginputstream.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_task_is_valid
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_input_stream_real_close_finish (GInputStream *stream,\t\
      \t\t\t GAsyncResult *result,\t\t\t\t GError **error) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginputstream.c:688,1
    - Dst: G_IS_INPUT_STREAM
      Src: /src/glib/gio/ginputstream.c:688,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginputstream.c:689,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/ginputstream.c:689,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/ginputstream.c:691,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/ginputstream.c:693,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/ginputstream.c:694,1
    - Dst: G_TASK
      Src: /src/glib/gio/ginputstream.c:694,1
    - Dst: G_INPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/ginputstream.c:696,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - stream
    - result
    - error
    argTypes:
    - GInputStream*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 698
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 698
    functionName: g_input_stream_read_finish
    functionSourceFile: /src/glib/gio/ginputstream.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_return_val_if_fail
    - G_INPUT_STREAM_GET_CLASS
    - g_async_result_legacy_propagate_error
    - G_IS_ASYNC_RESULT
    - g_task_propagate_int
    - G_IS_INPUT_STREAM
    - g_async_result_is_tagged
    linkageType: ''
    returnType: gssize
    signature: "gssize g_input_stream_read_finish (GInputStream *stream,\t\t\t GAsyncResult\
      \ *result,\t\t\t GError **error) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginputstream.c:1093,1
    - Dst: G_IS_INPUT_STREAM
      Src: /src/glib/gio/ginputstream.c:1093,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/ginputstream.c:1096,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginputstream.c:1094,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/ginputstream.c:1094,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/ginputstream.c:1098,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/ginputstream.c:1099,1
    - Dst: G_TASK
      Src: /src/glib/gio/ginputstream.c:1099,1
    - Dst: G_INPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/ginputstream.c:1101,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - stream
    - result
    - error
    argTypes:
    - GInputStream*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 1103
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1103
    functionName: g_input_stream_skip_finish
    functionSourceFile: /src/glib/gio/ginputstream.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_return_val_if_fail
    - G_INPUT_STREAM_GET_CLASS
    - g_async_result_legacy_propagate_error
    - G_IS_ASYNC_RESULT
    - g_task_propagate_int
    - G_IS_INPUT_STREAM
    - g_async_result_is_tagged
    linkageType: ''
    returnType: gssize
    signature: "gssize g_input_stream_skip_finish (GInputStream *stream,\t\t\t GAsyncResult\
      \ *result,\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginputstream.c:1204,1
    - Dst: G_IS_INPUT_STREAM
      Src: /src/glib/gio/ginputstream.c:1204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GInputStream*
    constantsTouched: []
    func_position:
      end: 1207
      start: 1201
    functionDepth: 0
    functionLinenumber: 1201
    functionLinenumberEnd: 1207
    functionName: g_input_stream_is_closed
    functionSourceFile: /src/glib/gio/ginputstream.c
    functionUses: []
    functionsReached:
    - G_IS_INPUT_STREAM
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_input_stream_is_closed (GInputStream *stream) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginputstream.c:372,1
    - Dst: G_INPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/ginputstream.c:384,1
    - Dst: G_IS_INPUT_STREAM
      Src: /src/glib/gio/ginputstream.c:372,1
    - Dst: _
      Src: /src/glib/gio/ginputstream.c:380,1
    - Dst: g_set_error
      Src: /src/glib/gio/ginputstream.c:379,1
    - Dst: g_input_stream_set_pending
      Src: /src/glib/gio/ginputstream.c:386,1
    - Dst: g_cancellable_push_current
      Src: /src/glib/gio/ginputstream.c:390,1
    - Dst: g_cancellable_pop_current
      Src: /src/glib/gio/ginputstream.c:395,1
    - Dst: g_input_stream_clear_pending
      Src: /src/glib/gio/ginputstream.c:397,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 4
    argNames:
    - stream
    - count
    - cancellable
    - error
    argTypes:
    - GInputStream*
    - gsize
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 400
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 400
    functionName: g_input_stream_skip
    functionSourceFile: /src/glib/gio/ginputstream.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_cancellable_pop_current
    - g_return_val_if_fail
    - G_INPUT_STREAM_GET_CLASS
    - g_input_stream_clear_pending
    - g_cancellable_push_current
    - _
    - G_IS_INPUT_STREAM
    - g_input_stream_set_pending
    linkageType: ''
    returnType: gssize
    signature: "gssize g_input_stream_skip (GInputStream *stream,\t\t gsize count,\t\
      \t GCancellable *cancellable,\t\t GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/ginputstream.c:560,1
    - Dst: g_input_stream_clear_pending
      Src: /src/glib/gio/ginputstream.c:562,1
    - Dst: g_object_unref
      Src: /src/glib/gio/ginputstream.c:565,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 566
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 566
    functionName: async_ready_callback_wrapper
    functionSourceFile: /src/glib/gio/ginputstream.c
    functionUses: []
    functionsReached:
    - g_input_stream_clear_pending
    - g_object_unref
    - G_INPUT_STREAM
    linkageType: ''
    returnType: void
    signature: "static void async_ready_callback_wrapper (GObject *source_object,\t\
      \t\t GAsyncResult *res,\t\t\t gpointer user_data) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/ginputstream.c:887,1
    - Dst: g_free
      Src: /src/glib/gio/ginputstream.c:896,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/ginputstream.c:897,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/ginputstream.c:892,1
    - Dst: g_input_stream_read_finish
      Src: /src/glib/gio/ginputstream.c:892,1
    - Dst: g_free
      Src: /src/glib/gio/ginputstream.c:901,1
    - Dst: g_bytes_new_static
      Src: /src/glib/gio/ginputstream.c:902,1
    - Dst: g_bytes_new_take
      Src: /src/glib/gio/ginputstream.c:905,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/ginputstream.c:908,1
    - Dst: g_object_unref
      Src: /src/glib/gio/ginputstream.c:910,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 3
    argNames:
    - stream
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 911
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 911
    functionName: read_bytes_callback
    functionSourceFile: /src/glib/gio/ginputstream.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_task_return_pointer
    - g_bytes_new_static
    - g_input_stream_read_finish
    - G_INPUT_STREAM
    - g_bytes_new_take
    - g_task_get_task_data
    - g_free
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: "static void read_bytes_callback (GObject *stream,\t\t GAsyncResult\
      \ *result,\t\t gpointer user_data) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginputstream.c:1240,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/ginputstream.c:1244,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/ginputstream.c:1251,1
    - Dst: G_IS_INPUT_STREAM
      Src: /src/glib/gio/ginputstream.c:1240,1
    - Dst: _
      Src: /src/glib/gio/ginputstream.c:1245,1
    - Dst: _
      Src: /src/glib/gio/ginputstream.c:1255,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - stream
    - error
    argTypes:
    - GInputStream*
    - GError**
    constantsTouched: []
    func_position:
      end: 1261
      start: 1237
    functionDepth: 0
    functionLinenumber: 1237
    functionLinenumberEnd: 1261
    functionName: g_input_stream_set_pending
    functionSourceFile: /src/glib/gio/ginputstream.c
    functionUses: []
    functionsReached:
    - _
    - G_IS_INPUT_STREAM
    - g_set_error_literal
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_input_stream_set_pending (GInputStream *stream, GError
      **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/ginputstream.c:1375,1
    - Dst: G_POLLABLE_INPUT_STREAM_GET_INTERFACE
      Src: /src/glib/gio/ginputstream.c:1382,1
    - Dst: g_task_return_error_if_cancelled
      Src: /src/glib/gio/ginputstream.c:1379,1
    - Dst: g_error_matches
      Src: /src/glib/gio/ginputstream.c:1385,1
    - Dst: g_error_free
      Src: /src/glib/gio/ginputstream.c:1389,1
    - Dst: g_pollable_input_stream_create_source
      Src: /src/glib/gio/ginputstream.c:1391,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/ginputstream.c:1392,1
    - Dst: g_task_attach_source
      Src: /src/glib/gio/ginputstream.c:1393,1
    - Dst: g_source_unref
      Src: /src/glib/gio/ginputstream.c:1395,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/ginputstream.c:1400,1
    - Dst: g_task_return_int
      Src: /src/glib/gio/ginputstream.c:1402,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - stream
    - task
    argTypes:
    - GPollableInputStream*
    - GTask*
    constantsTouched: []
    func_position:
      end: 1404
      start: 1371
    functionDepth: 0
    functionLinenumber: 1371
    functionLinenumberEnd: 1404
    functionName: read_async_pollable
    functionSourceFile: /src/glib/gio/ginputstream.c
    functionUses: []
    functionsReached:
    - g_pollable_input_stream_create_source
    - g_task_return_int
    - g_task_get_cancellable
    - g_error_matches
    - g_task_return_error_if_cancelled
    - G_POLLABLE_INPUT_STREAM_GET_INTERFACE
    - g_error_free
    - g_source_unref
    - g_task_get_task_data
    - g_task_attach_source
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void read_async_pollable (GPollableInputStream *stream, GTask
      *task) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/ginputstream.c:97,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/ginputstream.c:102,1
    - Dst: g_input_stream_close
      Src: /src/glib/gio/ginputstream.c:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 103
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 103
    functionName: g_input_stream_dispose
    functionSourceFile: /src/glib/gio/ginputstream.c
    functionUses: []
    functionsReached:
    - g_input_stream_close
    - G_INPUT_STREAM
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_input_stream_dispose (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/ginputstream.c:573,1
    - Dst: g_input_stream_clear_pending
      Src: /src/glib/gio/ginputstream.c:575,1
    - Dst: g_object_unref
      Src: /src/glib/gio/ginputstream.c:579,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 580
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 580
    functionName: async_ready_close_callback_wrapper
    functionSourceFile: /src/glib/gio/ginputstream.c
    functionUses: []
    functionsReached:
    - g_input_stream_clear_pending
    - g_object_unref
    - G_INPUT_STREAM
    linkageType: ''
    returnType: void
    signature: "static void async_ready_close_callback_wrapper (GObject *source_object,\t\
      \t\t\t GAsyncResult *res,\t\t\t\t gpointer user_data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/gio/ginputstream.c:1419,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/ginputstream.c:1422,1
    - Dst: g_task_new
      Src: /src/glib/gio/ginputstream.c:1420,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/ginputstream.c:1421,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/ginputstream.c:1423,1
    - Dst: g_input_stream_async_read_is_via_threads
      Src: /src/glib/gio/ginputstream.c:1427,1
    - Dst: read_async_pollable
      Src: /src/glib/gio/ginputstream.c:1428,1
    - Dst: G_POLLABLE_INPUT_STREAM
      Src: /src/glib/gio/ginputstream.c:1428,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/ginputstream.c:1430,1
    - Dst: g_object_unref
      Src: /src/glib/gio/ginputstream.c:1431,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 7
    argNames:
    - stream
    - buffer
    - count
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GInputStream*
    - void*
    - gsize
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 1432
      start: 1407
    functionDepth: 0
    functionLinenumber: 1407
    functionLinenumberEnd: 1432
    functionName: g_input_stream_real_read_async
    functionSourceFile: /src/glib/gio/ginputstream.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_object_unref
    - g_task_set_priority
    - g_slice_new0
    - g_task_set_source_tag
    - g_task_run_in_thread
    - g_input_stream_async_read_is_via_threads
    - read_async_pollable
    - G_POLLABLE_INPUT_STREAM
    - g_task_set_task_data
    linkageType: ''
    returnType: void
    signature: "static void g_input_stream_real_read_async (GInputStream *stream,\t\
      \t\t\tvoid *buffer,\t\t\t\tgsize count,\t\t\t\tint io_priority,\t\t\t\tGCancellable\
      \ *cancellable,\t\t\t\tGAsyncReadyCallback callback,\t\t\t\tgpointer user_data) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/ginputstream.c:1480,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/ginputstream.c:1484,1
    - Dst: g_input_stream_read_finish
      Src: /src/glib/gio/ginputstream.c:1484,1
    - Dst: G_INPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/ginputstream.c:1493,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/ginputstream.c:1494,1
    - Dst: MIN
      Src: /src/glib/gio/ginputstream.c:1495,1
    - Dst: g_task_get_priority
      Src: /src/glib/gio/ginputstream.c:1496,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/ginputstream.c:1497,1
    - Dst: g_error_matches
      Src: /src/glib/gio/ginputstream.c:1504,1
    - Dst: g_task_return_int
      Src: /src/glib/gio/ginputstream.c:1514,1
    - Dst: g_clear_error
      Src: /src/glib/gio/ginputstream.c:1508,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/ginputstream.c:1512,1
    - Dst: g_object_unref
      Src: /src/glib/gio/ginputstream.c:1515,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1516
      start: 1473
    functionDepth: 0
    functionLinenumber: 1473
    functionLinenumberEnd: 1516
    functionName: skip_callback_wrapper
    functionSourceFile: /src/glib/gio/ginputstream.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - G_INPUT_STREAM_GET_CLASS
    - g_object_unref
    - g_task_get_priority
    - g_task_return_int
    - g_task_get_cancellable
    - MIN
    - g_input_stream_read_finish
    - g_error_matches
    - g_task_get_task_data
    - g_task_return_error
    - G_INPUT_STREAM
    linkageType: ''
    returnType: void
    signature: "static void skip_callback_wrapper (GObject *source_object,\t\t GAsyncResult\
      \ *res,\t\t gpointer user_data) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginputstream.c:252,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginputstream.c:253,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/ginputstream.c:258,1
    - Dst: G_IS_INPUT_STREAM
      Src: /src/glib/gio/ginputstream.c:252,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 6
    argNames:
    - stream
    - buffer
    - count
    - bytes_read
    - cancellable
    - error
    argTypes:
    - GInputStream*
    - void*
    - gsize
    - gsize*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 276
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 276
    functionName: g_input_stream_read_all
    functionSourceFile: /src/glib/gio/ginputstream.c
    functionUses: []
    functionsReached:
    - G_IS_INPUT_STREAM
    - g_input_stream_read
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_input_stream_read_all (GInputStream *stream,\t\t\t void\
      \ *buffer,\t\t\t gsize count,\t\t\t gsize *bytes_read,\t\t\t GCancellable *cancellable,\t\
      \t\t GError **error) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/glib/gio/ginputstream.c:323,1
    - Dst: g_bytes_new_static
      Src: /src/glib/gio/ginputstream.c:333,1
    - Dst: g_free
      Src: /src/glib/gio/ginputstream.c:332,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/ginputstream.c:324,1
    - Dst: g_free
      Src: /src/glib/gio/ginputstream.c:327,1
    - Dst: g_bytes_new_take
      Src: /src/glib/gio/ginputstream.c:336,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 337
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 337
    functionName: g_input_stream_read_bytes
    functionSourceFile: /src/glib/gio/ginputstream.c
    functionUses: []
    functionsReached:
    - g_bytes_new_static
    - g_malloc
    - g_input_stream_read
    - g_bytes_new_take
    - g_free
    linkageType: ''
    returnType: GBytes*
    signature: "GBytes *g_input_stream_read_bytes (GInputStream *stream,\t\t\t gsize\
      \ count,\t\t\t GCancellable *cancellable,\t\t\t GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginputstream.c:866,1
    - Dst: G_IS_INPUT_STREAM
      Src: /src/glib/gio/ginputstream.c:866,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/ginputstream.c:867,1
    - Dst: G_TASK
      Src: /src/glib/gio/ginputstream.c:869,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginputstream.c:867,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/ginputstream.c:873,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/ginputstream.c:878,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 4
    argNames:
    - stream
    - result
    - bytes_read
    - error
    argTypes:
    - GInputStream*
    - GAsyncResult*
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 879
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 879
    functionName: g_input_stream_read_all_finish
    functionSourceFile: /src/glib/gio/ginputstream.c
    functionUses: []
    functionsReached:
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_task_is_valid
    - G_IS_INPUT_STREAM
    - g_task_get_task_data
    - G_TASK
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_input_stream_read_all_finish (GInputStream *stream, GAsyncResult
      *result, gsize *bytes_read, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/ginputstream.c:1037,1
    - Dst: g_task_return_int
      Src: /src/glib/gio/ginputstream.c:1045,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/ginputstream.c:1044,1
    - Dst: g_task_new
      Src: /src/glib/gio/ginputstream.c:1043,1
    - Dst: G_IS_INPUT_STREAM
      Src: /src/glib/gio/ginputstream.c:1037,1
    - Dst: g_object_unref
      Src: /src/glib/gio/ginputstream.c:1046,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/ginputstream.c:1052,1
    - Dst: _
      Src: /src/glib/gio/ginputstream.c:1055,1
    - Dst: g_input_stream_set_pending
      Src: /src/glib/gio/ginputstream.c:1060,1
    - Dst: g_task_report_error
      Src: /src/glib/gio/ginputstream.c:1062,1
    - Dst: g_object_ref
      Src: /src/glib/gio/ginputstream.c:1070,1
    - Dst: G_INPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/ginputstream.c:1068,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 6
    argNames:
    - stream
    - count
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GInputStream*
    - gsize
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 1073
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1073
    functionName: g_input_stream_skip_async
    functionSourceFile: /src/glib/gio/ginputstream.c
    functionUses: []
    functionsReached:
    - G_INPUT_STREAM_GET_CLASS
    - g_task_new
    - g_object_unref
    - g_task_set_source_tag
    - g_return_if_fail
    - g_task_return_int
    - g_task_report_new_error
    - g_task_report_error
    - g_object_ref
    - _
    - G_IS_INPUT_STREAM
    - g_input_stream_set_pending
    linkageType: ''
    returnType: void
    signature: "void g_input_stream_skip_async (GInputStream *stream,\t\t\t gsize\
      \ count,\t\t\t int io_priority,\t\t\t GCancellable *cancellable,\t\t\t GAsyncReadyCallback\
      \ callback,\t\t\t gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginputstream.c:1220,1
    - Dst: G_IS_INPUT_STREAM
      Src: /src/glib/gio/ginputstream.c:1220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GInputStream*
    constantsTouched: []
    func_position:
      end: 1223
      start: 1217
    functionDepth: 0
    functionLinenumber: 1217
    functionLinenumberEnd: 1223
    functionName: g_input_stream_has_pending
    functionSourceFile: /src/glib/gio/ginputstream.c
    functionUses: []
    functionsReached:
    - G_IS_INPUT_STREAM
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_input_stream_has_pending (GInputStream *stream) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/ginputstream.c:719,1
    - Dst: g_object_unref
      Src: /src/glib/gio/ginputstream.c:732,1
    - Dst: g_input_stream_read_finish
      Src: /src/glib/gio/ginputstream.c:727,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/ginputstream.c:727,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/ginputstream.c:731,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/ginputstream.c:736,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/ginputstream.c:744,1
    - Dst: g_object_unref
      Src: /src/glib/gio/ginputstream.c:745,1
    - Dst: g_input_stream_read_async
      Src: /src/glib/gio/ginputstream.c:749,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/ginputstream.c:749,1
    - Dst: g_task_get_priority
      Src: /src/glib/gio/ginputstream.c:752,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/ginputstream.c:753,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - stream
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 755
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 755
    functionName: read_all_callback
    functionSourceFile: /src/glib/gio/ginputstream.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_object_unref
    - g_task_get_priority
    - g_task_get_cancellable
    - g_input_stream_read_finish
    - G_INPUT_STREAM
    - g_input_stream_read_async
    - g_task_get_task_data
    - g_task_return_error
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void read_all_callback (GObject *stream, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginputstream.c:1312,1
    - Dst: G_IS_INPUT_STREAM
      Src: /src/glib/gio/ginputstream.c:1312,1
    - Dst: G_INPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/ginputstream.c:1314,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GInputStream*
    constantsTouched: []
    func_position:
      end: 1317
      start: 1307
    functionDepth: 0
    functionLinenumber: 1307
    functionLinenumberEnd: 1317
    functionName: g_input_stream_async_close_is_via_threads
    functionSourceFile: /src/glib/gio/ginputstream.c
    functionUses: []
    functionsReached:
    - G_IS_INPUT_STREAM
    - g_return_val_if_fail
    - G_INPUT_STREAM_GET_CLASS
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_input_stream_async_close_is_via_threads (GInputStream *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginputstream.c:1439,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/ginputstream.c:1441,1
    - Dst: G_TASK
      Src: /src/glib/gio/ginputstream.c:1441,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/ginputstream.c:1439,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - stream
    - result
    - error
    argTypes:
    - GInputStream*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 1442
      start: 1434
    functionDepth: 0
    functionLinenumber: 1434
    functionLinenumberEnd: 1442
    functionName: g_input_stream_real_read_finish
    functionSourceFile: /src/glib/gio/ginputstream.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_return_val_if_fail
    - g_task_is_valid
    - g_task_propagate_int
    linkageType: ''
    returnType: gssize
    signature: "static gssize g_input_stream_real_read_finish (GInputStream *stream,\t\
      \t\t\t GAsyncResult *result,\t\t\t\t GError **error) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_INPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/ginputstream.c:1583,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/ginputstream.c:1591,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/ginputstream.c:1587,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/ginputstream.c:1596,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 4
    argNames:
    - task
    - source_object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 1597
      start: 1572
    functionDepth: 0
    functionLinenumber: 1572
    functionLinenumberEnd: 1597
    functionName: close_async_thread
    functionSourceFile: /src/glib/gio/ginputstream.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_task_get_cancellable
    - G_INPUT_STREAM_GET_CLASS
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void close_async_thread (GTask *task, gpointer source_object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_free
      Src: /src/glib/gio/ginputstream.c:710,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 711
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 711
    functionName: free_async_read_all
    functionSourceFile: /src/glib/gio/ginputstream.c
    functionUses: []
    functionsReached:
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void free_async_read_all (gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_input_stream_read_all
      Src: /src/glib/gio/ginputstream.c:768,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/ginputstream.c:772,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/ginputstream.c:770,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/ginputstream.c:769,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 4
    argNames:
    - task
    - source_object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 773
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 773
    functionName: read_all_async_thread
    functionSourceFile: /src/glib/gio/ginputstream.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_task_get_cancellable
    - g_task_return_error
    - g_input_stream_read_all
    linkageType: ''
    returnType: void
    signature: 'static void read_all_async_thread (GTask *task, gpointer source_object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_SIZE
      Src: /src/glib/gio/ginputstream.c:1452,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/ginputstream.c:1459,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/ginputstream.c:1462,1
    - Dst: G_INPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/ginputstream.c:1457,1
    - Dst: g_task_return_int
      Src: /src/glib/gio/ginputstream.c:1464,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 4
    argNames:
    - task
    - source_object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 1465
      start: 1445
    functionDepth: 0
    functionLinenumber: 1445
    functionLinenumberEnd: 1465
    functionName: skip_async_thread
    functionSourceFile: /src/glib/gio/ginputstream.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_SIZE
    - G_INPUT_STREAM_GET_CLASS
    - g_task_return_int
    - g_task_get_cancellable
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void skip_async_thread (GTask *task, gpointer source_object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/ginputstream.c:1608,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/ginputstream.c:1613,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/ginputstream.c:1609,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/ginputstream.c:1611,1
    - Dst: g_task_set_check_cancellable
      Src: /src/glib/gio/ginputstream.c:1610,1
    - Dst: g_object_unref
      Src: /src/glib/gio/ginputstream.c:1614,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 5
    argNames:
    - stream
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GInputStream*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 1615
      start: 1599
    functionDepth: 0
    functionLinenumber: 1599
    functionLinenumberEnd: 1615
    functionName: g_input_stream_real_close_async
    functionSourceFile: /src/glib/gio/ginputstream.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_object_unref
    - g_task_run_in_thread
    - g_task_set_priority
    - g_task_set_source_tag
    - g_task_set_check_cancellable
    linkageType: ''
    returnType: void
    signature: "static void g_input_stream_real_close_async (GInputStream *stream,\t\
      \t\t\t int io_priority,\t\t\t\t GCancellable *cancellable,\t\t\t\t GAsyncReadyCallback\
      \ callback,\t\t\t\t gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/ginputstream.c:957,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/ginputstream.c:958,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/ginputstream.c:961,1
    - Dst: g_malloc
      Src: /src/glib/gio/ginputstream.c:960,1
    - Dst: g_input_stream_read_async
      Src: /src/glib/gio/ginputstream.c:963,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 6
    argNames:
    - stream
    - count
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GInputStream*
    - gsize
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 966
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 966
    functionName: g_input_stream_read_bytes_async
    functionSourceFile: /src/glib/gio/ginputstream.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_task_set_source_tag
    - g_malloc
    - g_input_stream_read_async
    - g_task_set_task_data
    linkageType: ''
    returnType: void
    signature: "void g_input_stream_read_bytes_async (GInputStream *stream,\t\t\t\t\
      \ gsize count,\t\t\t\t int io_priority,\t\t\t\t GCancellable *cancellable,\t\
      \t\t\t GAsyncReadyCallback callback,\t\t\t\t gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gasyncinitable.c:215,1
    - Dst: G_ASYNC_INITABLE_GET_IFACE
      Src: /src/glib/gio/gasyncinitable.c:217,1
    - Dst: G_IS_ASYNC_INITABLE
      Src: /src/glib/gio/gasyncinitable.c:215,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 5
    argNames:
    - initable
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GAsyncInitable*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 220
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 220
    functionName: g_async_initable_init_async
    functionSourceFile: /src/glib/gio/gasyncinitable.c
    functionUses: []
    functionsReached:
    - G_ASYNC_INITABLE_GET_IFACE
    - G_IS_ASYNC_INITABLE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_async_initable_init_async (GAsyncInitable *initable,\t\t\t\
      \ int io_priority,\t\t\t GCancellable *cancellable,\t\t\t GAsyncReadyCallback\
      \ callback,\t\t\t gpointer user_data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_initable_init
      Src: /src/glib/gio/gasyncinitable.c:263,1
    - Dst: G_INITABLE
      Src: /src/glib/gio/gasyncinitable.c:263,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gasyncinitable.c:264,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gasyncinitable.c:266,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - task
    - source_object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 267
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 267
    functionName: async_init_thread
    functionSourceFile: /src/glib/gio/gasyncinitable.c
    functionUses: []
    functionsReached:
    - G_INITABLE
    - g_task_return_boolean
    - g_task_return_error
    - g_initable_init
    linkageType: ''
    returnType: void
    signature: 'static void async_init_thread (GTask *task, gpointer source_object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/gasyncinitable.c:299,1
    - Dst: G_TASK
      Src: /src/glib/gio/gasyncinitable.c:309,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gasyncinitable.c:309,1
    - Dst: g_simple_async_result_propagate_error
      Src: /src/glib/gio/gasyncinitable.c:300,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 3
    argNames:
    - initable
    - res
    - error
    argTypes:
    - GAsyncInitable*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 310
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 310
    functionName: g_async_initable_real_init_finish
    functionSourceFile: /src/glib/gio/gasyncinitable.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_task_propagate_boolean
    - g_simple_async_result_propagate_error
    - G_SIMPLE_ASYNC_RESULT
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_async_initable_real_init_finish (GAsyncInitable\
      \ *initable,\t\t\t\t GAsyncResult *res,\t\t\t\t GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/gasyncinitable.c:299,1
    - Dst: g_simple_async_result_propagate_error
      Src: /src/glib/gio/gasyncinitable.c:300,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - (res)
    argTypes:
    - G_IS_SIMPLE_ASYNC_RESULT
    constantsTouched: []
    func_position:
      end: 304
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 304
    functionName: if
    functionSourceFile: /src/glib/gio/gasyncinitable.c
    functionUses: []
    functionsReached:
    - g_simple_async_result_propagate_error
    - G_SIMPLE_ASYNC_RESULT
    linkageType: ''
    returnType: G_GNUC_BEGIN_IGNORE_DEPRECATIONS
    signature: 'G_GNUC_BEGIN_IGNORE_DEPRECATIONS if (G_IS_SIMPLE_ASYNC_RESULT (res)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gasyncinitable.c:387,1
    - Dst: G_ASYNC_INITABLE
      Src: /src/glib/gio/gasyncinitable.c:391,1
    - Dst: g_object_newv
      Src: /src/glib/gio/gasyncinitable.c:389,1
    - Dst: G_TYPE_IS_ASYNC_INITABLE
      Src: /src/glib/gio/gasyncinitable.c:387,1
    - Dst: g_async_initable_init_async
      Src: /src/glib/gio/gasyncinitable.c:391,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gasyncinitable.c:394,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 7
    argNames:
    - object_type
    - n_parameters
    - parameters
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GType
    - guint
    - GParameter*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 395
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 395
    functionName: g_async_initable_newv_async
    functionSourceFile: /src/glib/gio/gasyncinitable.c
    functionUses: []
    functionsReached:
    - G_ASYNC_INITABLE
    - g_object_unref
    - g_return_if_fail
    - g_object_newv
    - g_async_initable_init_async
    - G_TYPE_IS_ASYNC_INITABLE
    linkageType: ''
    returnType: G_GNUC_BEGIN_IGNORE_DEPRECATIONS
    signature: "G_GNUC_BEGIN_IGNORE_DEPRECATIONS void g_async_initable_newv_async\
      \ (GType object_type,\t\t\t guint n_parameters,\t\t\t GParameter *parameters,\t\
      \t\t int io_priority,\t\t\t GCancellable *cancellable,\t\t\t GAsyncReadyCallback\
      \ callback,\t\t\t gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GAsyncInitableInterface*
    constantsTouched: []
    func_position:
      end: 157
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 157
    functionName: g_async_initable_default_init
    functionSourceFile: /src/glib/gio/gasyncinitable.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_async_initable_default_init (GAsyncInitableInterface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gasyncinitable.c:278,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gasyncinitable.c:282,1
    - Dst: g_task_new
      Src: /src/glib/gio/gasyncinitable.c:280,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gasyncinitable.c:281,1
    - Dst: G_IS_INITABLE
      Src: /src/glib/gio/gasyncinitable.c:278,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gasyncinitable.c:283,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gasyncinitable.c:284,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 5
    argNames:
    - initable
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GAsyncInitable*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 285
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 285
    functionName: g_async_initable_real_init_async
    functionSourceFile: /src/glib/gio/gasyncinitable.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_object_unref
    - g_task_set_priority
    - g_task_set_source_tag
    - g_return_if_fail
    - g_task_run_in_thread
    - G_IS_INITABLE
    linkageType: ''
    returnType: void
    signature: "static void g_async_initable_real_init_async (GAsyncInitable *initable,\t\
      \t\t\t int io_priority,\t\t\t\t GCancellable *cancellable,\t\t\t\t GAsyncReadyCallback\
      \ callback,\t\t\t\t gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gasyncinitable.c:431,1
    - Dst: G_TYPE_IS_ASYNC_INITABLE
      Src: /src/glib/gio/gasyncinitable.c:431,1
    - Dst: g_object_new_valist
      Src: /src/glib/gio/gasyncinitable.c:433,1
    - Dst: G_ASYNC_INITABLE
      Src: /src/glib/gio/gasyncinitable.c:437,1
    - Dst: g_async_initable_init_async
      Src: /src/glib/gio/gasyncinitable.c:437,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gasyncinitable.c:440,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 7
    argNames:
    - object_type
    - first_property_name
    - var_args
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GType
    - gchar*
    - va_list
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 441
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 441
    functionName: g_async_initable_new_valist_async
    functionSourceFile: /src/glib/gio/gasyncinitable.c
    functionUses: []
    functionsReached:
    - G_ASYNC_INITABLE
    - g_object_new_valist
    - g_object_unref
    - g_return_if_fail
    - g_async_initable_init_async
    - G_TYPE_IS_ASYNC_INITABLE
    linkageType: ''
    returnType: G_GNUC_END_IGNORE_DEPRECATIONS
    signature: "G_GNUC_END_IGNORE_DEPRECATIONS /** * g_async_initable_new_valist_async:\
      \ * @object_type: a #GType supporting #GAsyncInitable. * @first_property_name:\
      \ the name of the first property, followed by * the value, and other property\
      \ value pairs, and ended by %NULL. * @var_args: The var args list generated\
      \ from @first_property_name. * @io_priority: the [I/O priority](iface.AsyncResult.html#io-priority)\
      \ of the operation * @cancellable: optional #GCancellable object, %NULL to ignore.\
      \ * @callback: a #GAsyncReadyCallback to call when the initialization is * finished\
      \ * @user_data: the data to pass to callback function * * Helper function for\
      \ constructing #GAsyncInitable object. This is * similar to g_object_new_valist()\
      \ but also initializes the object * asynchronously. * * When the initialization\
      \ is finished, @callback will be called. You can * then call g_async_initable_new_finish()\
      \ to get the new object and check * for any errors. * * Since: 2.22 */ void\
      \ g_async_initable_new_valist_async (GType object_type,\t\t\t\t const gchar\
      \ *first_property_name,\t\t\t\t va_list var_args,\t\t\t\t int io_priority,\t\
      \t\t\t GCancellable *cancellable,\t\t\t\t GAsyncReadyCallback callback,\t\t\t\
      \t gpointer user_data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gasyncinitable.c:244,1
    - Dst: G_IS_ASYNC_INITABLE
      Src: /src/glib/gio/gasyncinitable.c:244,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gasyncinitable.c:247,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gasyncinitable.c:245,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gasyncinitable.c:245,1
    - Dst: G_ASYNC_INITABLE_GET_IFACE
      Src: /src/glib/gio/gasyncinitable.c:250,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - initable
    - res
    - error
    argTypes:
    - GAsyncInitable*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 253
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 253
    functionName: g_async_initable_init_finish
    functionSourceFile: /src/glib/gio/gasyncinitable.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    - G_ASYNC_INITABLE_GET_IFACE
    - G_IS_ASYNC_INITABLE
    - G_IS_ASYNC_RESULT
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_async_initable_init_finish (GAsyncInitable *initable,\t\
      \t\t GAsyncResult *res,\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/gio/gasyncinitable.c:345,1
    - Dst: va_end
      Src: /src/glib/gio/gasyncinitable.c:350,1
    - Dst: g_async_initable_new_valist_async
      Src: /src/glib/gio/gasyncinitable.c:346,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 6
    argNames:
    - object_type
    - io_priority
    - cancellable
    - callback
    - user_data
    - first_property_name
    - '...'
    argTypes:
    - GType
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    - gchar*
    constantsTouched: []
    func_position:
      end: 351
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 351
    functionName: g_async_initable_new_async
    functionSourceFile: /src/glib/gio/gasyncinitable.c
    functionUses: []
    functionsReached:
    - va_start
    - va_end
    - g_async_initable_new_valist_async
    linkageType: ''
    returnType: void
    signature: "void g_async_initable_new_async (GType object_type,\t\t\t int io_priority,\t\
      \t\t GCancellable *cancellable,\t\t\t GAsyncReadyCallback callback,\t\t\t gpointer\
      \ user_data,\t\t\t const gchar *first_property_name,\t\t\t ...) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_async_initable_init_finish
      Src: /src/glib/gio/gasyncinitable.c:462,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gasyncinitable.c:463,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gasyncinitable.c:463,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 466
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 466
    functionName: g_async_initable_new_finish
    functionSourceFile: /src/glib/gio/gasyncinitable.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_async_initable_init_finish
    - g_object_ref
    linkageType: ''
    returnType: GObject*
    signature: "GObject *g_async_initable_new_finish (GAsyncInitable *initable,\t\t\
      \t GAsyncResult *res,\t\t\t GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_OBJECT_SKELETON
      Src: /src/glib/gio/gdbusobjectskeleton.c:78,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusobjectskeleton.c:81,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusobjectskeleton.c:85,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusobjectskeleton.c:80,1
    - Dst: g_mutex_clear
      Src: /src/glib/gio/gdbusobjectskeleton.c:83,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusobjectskeleton.c:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - _object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 87
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 87
    functionName: g_dbus_object_skeleton_finalize
    functionSourceFile: /src/glib/gio/gdbusobjectskeleton.c
    functionUses: []
    functionsReached:
    - G_DBUS_OBJECT_SKELETON
    - g_hash_table_unref
    - g_mutex_clear
    - G_OBJECT_CLASS
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_object_skeleton_finalize (GObject *_object) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_OBJECT_SKELETON
      Src: /src/glib/gio/gdbusobjectskeleton.c:117,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gdbusobjectskeleton.c:122,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gdbusobjectskeleton.c:126,1
    - Dst: g_dbus_object_skeleton_set_object_path
      Src: /src/glib/gio/gdbusobjectskeleton.c:122,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - _object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 129
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 129
    functionName: g_dbus_object_skeleton_set_property
    functionSourceFile: /src/glib/gio/gdbusobjectskeleton.c
    functionUses: []
    functionsReached:
    - g_value_get_string
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_DBUS_OBJECT_SKELETON
    - g_dbus_object_skeleton_set_object_path
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_object_skeleton_set_property (GObject *_object,
      guint prop_id, const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusobjectskeleton.c:142,1
    - Dst: I_
      Src: /src/glib/gio/gdbusobjectskeleton.c:186,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusobjectskeleton.c:157,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gdbusobjectskeleton.c:186,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gdbusobjectskeleton.c:159,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gdbusobjectskeleton.c:189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GDBusObjectSkeletonClass*
    constantsTouched: []
    func_position:
      end: 197
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 197
    functionName: g_dbus_object_skeleton_class_init
    functionSourceFile: /src/glib/gio/gdbusobjectskeleton.c
    functionUses: []
    functionsReached:
    - I_
    - G_STRUCT_OFFSET
    - g_object_class_install_property
    - G_OBJECT_CLASS
    - g_signal_new
    - g_param_spec_string
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_object_skeleton_class_init (GDBusObjectSkeletonClass
      *klass) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectskeleton.c:242,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectskeleton.c:243,1
    - Dst: G_IS_DBUS_OBJECT_SKELETON
      Src: /src/glib/gio/gdbusobjectskeleton.c:242,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusobjectskeleton.c:243,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectskeleton.c:244,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusobjectskeleton.c:246,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusobjectskeleton.c:248,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusobjectskeleton.c:249,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectskeleton.c:250,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gdbusobjectskeleton.c:251,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectskeleton.c:255,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusobjectskeleton.c:251,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - object
    - object_path
    argTypes:
    - GDBusObjectSkeleton*
    - gchar*
    constantsTouched: []
    func_position:
      end: 257
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 257
    functionName: g_dbus_object_skeleton_set_object_path
    functionSourceFile: /src/glib/gio/gdbusobjectskeleton.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_mutex_unlock
    - g_mutex_lock
    - g_return_if_fail
    - g_object_notify
    - G_IS_DBUS_OBJECT_SKELETON
    - G_OBJECT
    - g_strcmp0
    - g_variant_is_object_path
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_object_skeleton_set_object_path (GDBusObjectSkeleton *object,
      const gchar *object_path) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectskeleton.c:295,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectskeleton.c:293,1
    - Dst: G_IS_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusobjectskeleton.c:293,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusobjectskeleton.c:307,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectskeleton.c:311,1
    - Dst: g_dbus_interface_set_object
      Src: /src/glib/gio/gdbusobjectskeleton.c:309,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gdbusobjectskeleton.c:322,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectskeleton.c:325,1
    - Dst: G_IS_DBUS_OBJECT_SKELETON
      Src: /src/glib/gio/gdbusobjectskeleton.c:292,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusobjectskeleton.c:304,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusobjectskeleton.c:306,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusobjectskeleton.c:308,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gdbusobjectskeleton.c:316,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectskeleton.c:292,1
    - Dst: g_dbus_interface_skeleton_get_info
      Src: /src/glib/gio/gdbusobjectskeleton.c:297,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusobjectskeleton.c:298,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusobjectskeleton.c:300,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusobjectskeleton.c:303,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusobjectskeleton.c:304,1
    - Dst: G_DBUS_INTERFACE
      Src: /src/glib/gio/gdbusobjectskeleton.c:309,1
    - Dst: g_dbus_interface_set_object
      Src: /src/glib/gio/gdbusobjectskeleton.c:315,1
    - Dst: G_DBUS_OBJECT
      Src: /src/glib/gio/gdbusobjectskeleton.c:309,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectskeleton.c:319,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - object
    - interface_
    argTypes:
    - GDBusObjectSkeleton*
    - GDBusInterfaceSkeleton*
    constantsTouched: []
    func_position:
      end: 326
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 326
    functionName: g_dbus_object_skeleton_add_interface
    functionSourceFile: /src/glib/gio/gdbusobjectskeleton.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_warn_if_fail
    - g_object_unref
    - G_DBUS_OBJECT
    - g_dbus_interface_skeleton_get_info
    - g_mutex_lock
    - g_return_if_fail
    - g_hash_table_remove
    - g_mutex_unlock
    - g_hash_table_lookup
    - G_IS_DBUS_OBJECT_SKELETON
    - g_hash_table_insert
    - G_IS_DBUS_INTERFACE_SKELETON
    - G_DBUS_INTERFACE
    - g_signal_emit_by_name
    - g_object_ref
    - g_dbus_interface_set_object
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_object_skeleton_add_interface (GDBusObjectSkeleton *object,
      GDBusInterfaceSkeleton *interface_) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectskeleton.c:347,1
    - Dst: G_IS_DBUS_OBJECT_SKELETON
      Src: /src/glib/gio/gdbusobjectskeleton.c:344,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusobjectskeleton.c:355,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusobjectskeleton.c:373,1
    - Dst: g_dbus_interface_set_object
      Src: /src/glib/gio/gdbusobjectskeleton.c:375,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusobjectskeleton.c:363,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectskeleton.c:345,1
    - Dst: G_IS_DBUS_INTERFACE
      Src: /src/glib/gio/gdbusobjectskeleton.c:345,1
    - Dst: g_dbus_interface_skeleton_get_info
      Src: /src/glib/gio/gdbusobjectskeleton.c:349,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusobjectskeleton.c:351,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectskeleton.c:354,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectskeleton.c:374,1
    - Dst: G_DBUS_INTERFACE
      Src: /src/glib/gio/gdbusobjectskeleton.c:375,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusobjectskeleton.c:373,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gdbusobjectskeleton.c:376,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectskeleton.c:344,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectskeleton.c:362,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusobjectskeleton.c:372,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectskeleton.c:379,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - object
    - interface_
    argTypes:
    - GDBusObjectSkeleton*
    - GDBusInterfaceSkeleton*
    constantsTouched: []
    func_position:
      end: 381
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 381
    functionName: g_dbus_object_skeleton_remove_interface
    functionSourceFile: /src/glib/gio/gdbusobjectskeleton.c
    functionUses: []
    functionsReached:
    - g_warn_if_fail
    - g_warning
    - g_mutex_unlock
    - g_dbus_interface_skeleton_get_info
    - g_mutex_lock
    - g_return_if_fail
    - g_hash_table_remove
    - g_object_unref
    - g_hash_table_lookup
    - G_IS_DBUS_OBJECT_SKELETON
    - G_DBUS_INTERFACE
    - g_signal_emit_by_name
    - G_IS_DBUS_INTERFACE
    - g_object_ref
    - g_dbus_interface_set_object
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_object_skeleton_remove_interface (GDBusObjectSkeleton
      *object, GDBusInterfaceSkeleton *interface_) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_OBJECT_SKELETON
      Src: /src/glib/gio/gdbusobjectskeleton.c:428,1
    - Dst: g_dbus_is_interface_name
      Src: /src/glib/gio/gdbusobjectskeleton.c:432,1
    - Dst: G_IS_DBUS_OBJECT_SKELETON
      Src: /src/glib/gio/gdbusobjectskeleton.c:431,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectskeleton.c:432,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectskeleton.c:431,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectskeleton.c:434,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusobjectskeleton.c:435,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusobjectskeleton.c:437,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectskeleton.c:438,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 440
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 440
    functionName: g_dbus_object_skeleton_get_interface
    functionSourceFile: /src/glib/gio/gdbusobjectskeleton.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_DBUS_OBJECT_SKELETON
    - g_mutex_unlock
    - g_mutex_lock
    - g_hash_table_lookup
    - G_IS_DBUS_OBJECT_SKELETON
    - g_dbus_is_interface_name
    - g_object_ref
    linkageType: ''
    returnType: GDBusInterface*
    signature: 'static GDBusInterface *g_dbus_object_skeleton_get_interface (GDBusObject
      *_object, const gchar *interface_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectskeleton.c:475,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectskeleton.c:479,1
    - Dst: g_ptr_array_set_free_func
      Src: /src/glib/gio/gdbusobjectskeleton.c:478,1
    - Dst: g_ptr_array_foreach
      Src: /src/glib/gio/gdbusobjectskeleton.c:477,1
    - Dst: g_hash_table_get_values_as_ptr_array
      Src: /src/glib/gio/gdbusobjectskeleton.c:476,1
    - Dst: g_dbus_interface_skeleton_flush
      Src: /src/glib/gio/gdbusobjectskeleton.c:483,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusobjectskeleton.c:484,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gdbusobjectskeleton.c:484,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdbusobjectskeleton.c:487,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - object
    argTypes:
    - GDBusObjectSkeleton*
    constantsTouched: []
    func_position:
      end: 488
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 488
    functionName: g_dbus_object_skeleton_flush
    functionSourceFile: /src/glib/gio/gdbusobjectskeleton.c
    functionUses: []
    functionsReached:
    - g_hash_table_get_values_as_ptr_array
    - g_mutex_unlock
    - g_mutex_lock
    - g_ptr_array_set_free_func
    - G_DBUS_INTERFACE_SKELETON
    - g_ptr_array_foreach
    - g_clear_pointer
    - g_dbus_interface_skeleton_flush
    - g_ptr_array_index
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_object_skeleton_flush (GDBusObjectSkeleton *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - object
    - interface
    - invocation
    argTypes:
    - GDBusObjectSkeleton*
    - GDBusInterfaceSkeleton*
    - GDBusMethodInvocation*
    constantsTouched: []
    func_position:
      end: 137
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 137
    functionName: g_dbus_object_skeleton_authorize_method_default
    functionSourceFile: /src/glib/gio/gdbusobjectskeleton.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_dbus_object_skeleton_authorize_method_default (GDBusObjectSkeleton
      *object, GDBusInterfaceSkeleton *interface, GDBusMethodInvocation *invocation) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_OBJECT_SKELETON
      Src: /src/glib/gio/gdbusobjectskeleton.c:95,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectskeleton.c:102,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectskeleton.c:100,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusobjectskeleton.c:101,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gdbusobjectskeleton.c:106,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 4
    argNames:
    - _object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 109
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 109
    functionName: g_dbus_object_skeleton_get_property
    functionSourceFile: /src/glib/gio/gdbusobjectskeleton.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_DBUS_OBJECT_SKELETON
    - g_mutex_unlock
    - g_mutex_lock
    - g_value_set_string
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_object_skeleton_get_property (GObject *_object,
      guint prop_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_object_skeleton_get_instance_private
      Src: /src/glib/gio/gdbusobjectskeleton.c:202,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdbusobjectskeleton.c:204,1
    - Dst: g_mutex_init
      Src: /src/glib/gio/gdbusobjectskeleton.c:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - GDBusObjectSkeleton*
    constantsTouched: []
    func_position:
      end: 208
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 208
    functionName: g_dbus_object_skeleton_init
    functionSourceFile: /src/glib/gio/gdbusobjectskeleton.c
    functionUses: []
    functionsReached:
    - g_mutex_init
    - g_hash_table_new_full
    - g_dbus_object_skeleton_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_object_skeleton_init (GDBusObjectSkeleton *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_OBJECT_SKELETON
      Src: /src/glib/gio/gdbusobjectskeleton.c:445,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectskeleton.c:452,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectskeleton.c:448,1
    - Dst: g_hash_table_get_values
      Src: /src/glib/gio/gdbusobjectskeleton.c:453,1
    - Dst: G_IS_DBUS_OBJECT_SKELETON
      Src: /src/glib/gio/gdbusobjectskeleton.c:448,1
    - Dst: g_list_foreach
      Src: /src/glib/gio/gdbusobjectskeleton.c:454,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectskeleton.c:455,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 458
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 458
    functionName: g_dbus_object_skeleton_get_interfaces
    functionSourceFile: /src/glib/gio/gdbusobjectskeleton.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_DBUS_OBJECT_SKELETON
    - g_mutex_unlock
    - g_mutex_lock
    - G_IS_DBUS_OBJECT_SKELETON
    - g_hash_table_get_values
    - g_list_foreach
    linkageType: ''
    returnType: GList*
    signature: 'static GList *g_dbus_object_skeleton_get_interfaces (GDBusObject *_object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GDBusObjectIface*
    constantsTouched: []
    func_position:
      end: 496
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 496
    functionName: dbus_object_interface_init
    functionSourceFile: /src/glib/gio/gdbusobjectskeleton.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void dbus_object_interface_init (GDBusObjectIface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_has_handler_pending
      Src: /src/glib/gio/gdbusobjectskeleton.c:504,1
    - Dst: G_DBUS_OBJECT_SKELETON_GET_CLASS
      Src: /src/glib/gio/gdbusobjectskeleton.c:508,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - GDBusObjectSkeleton*
    constantsTouched: []
    func_position:
      end: 512
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 512
    functionName: _g_dbus_object_skeleton_has_authorize_method_handlers
    functionSourceFile: /src/glib/gio/gdbusobjectskeleton.c
    functionUses: []
    functionsReached:
    - g_signal_has_handler_pending
    - G_DBUS_OBJECT_SKELETON_GET_CLASS
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _g_dbus_object_skeleton_has_authorize_method_handlers (GDBusObjectSkeleton
      *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectskeleton.c:223,1
    - Dst: g_object_new
      Src: /src/glib/gio/gdbusobjectskeleton.c:224,1
    - Dst: G_DBUS_OBJECT_SKELETON
      Src: /src/glib/gio/gdbusobjectskeleton.c:224,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusobjectskeleton.c:223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 227
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 227
    functionName: g_dbus_object_skeleton_new
    functionSourceFile: /src/glib/gio/gdbusobjectskeleton.c
    functionUses: []
    functionsReached:
    - g_variant_is_object_path
    - g_return_val_if_fail
    - G_DBUS_OBJECT_SKELETON
    - g_object_new
    linkageType: ''
    returnType: GDBusObjectSkeleton*
    signature: 'GDBusObjectSkeleton *g_dbus_object_skeleton_new (const gchar *object_path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_OBJECT_SKELETON
      Src: /src/glib/gio/gdbusobjectskeleton.c:262,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectskeleton.c:264,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectskeleton.c:266,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 268
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 268
    functionName: g_dbus_object_skeleton_get_object_path
    functionSourceFile: /src/glib/gio/gdbusobjectskeleton.c
    functionUses: []
    functionsReached:
    - G_DBUS_OBJECT_SKELETON
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *g_dbus_object_skeleton_get_object_path (GDBusObject
      *_object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectskeleton.c:402,1
    - Dst: G_IS_DBUS_OBJECT_SKELETON
      Src: /src/glib/gio/gdbusobjectskeleton.c:402,1
    - Dst: g_dbus_is_interface_name
      Src: /src/glib/gio/gdbusobjectskeleton.c:403,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectskeleton.c:403,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectskeleton.c:405,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusobjectskeleton.c:406,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusobjectskeleton.c:409,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusobjectskeleton.c:410,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusobjectskeleton.c:410,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectskeleton.c:411,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gdbusobjectskeleton.c:413,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectskeleton.c:416,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectskeleton.c:420,1
    - Dst: g_dbus_interface_set_object
      Src: /src/glib/gio/gdbusobjectskeleton.c:412,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - object
    - interface_name
    argTypes:
    - GDBusObjectSkeleton*
    - gchar*
    constantsTouched: []
    func_position:
      end: 422
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 422
    functionName: g_dbus_object_skeleton_remove_interface_by_name
    functionSourceFile: /src/glib/gio/gdbusobjectskeleton.c
    functionUses: []
    functionsReached:
    - g_warn_if_fail
    - g_object_unref
    - g_mutex_unlock
    - g_mutex_lock
    - g_return_if_fail
    - g_hash_table_remove
    - g_hash_table_lookup
    - G_IS_DBUS_OBJECT_SKELETON
    - g_dbus_is_interface_name
    - g_signal_emit_by_name
    - g_object_ref
    - g_dbus_interface_set_object
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_object_skeleton_remove_interface_by_name (GDBusObjectSkeleton
      *object, const gchar *interface_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gdebugcontroller.c:67,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gdebugcontroller.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GDebugControllerInterface*
    constantsTouched: []
    func_position:
      end: 73
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 73
    functionName: g_debug_controller_default_init
    functionSourceFile: /src/glib/gio/gdebugcontroller.c
    functionUses: []
    functionsReached:
    - g_object_interface_install_property
    - g_param_spec_boolean
    linkageType: ''
    returnType: void
    signature: 'static void g_debug_controller_default_init (GDebugControllerInterface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdebugcontroller.c:89,1
    - Dst: G_IS_DEBUG_CONTROLLER
      Src: /src/glib/gio/gdebugcontroller.c:89,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdebugcontroller.c:91,1
    - Dst: g_object_get
      Src: /src/glib/gio/gdebugcontroller.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - self
    argTypes:
    - GDebugController*
    constantsTouched: []
    func_position:
      end: 96
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 96
    functionName: g_debug_controller_get_debug_enabled
    functionSourceFile: /src/glib/gio/gdebugcontroller.c
    functionUses: []
    functionsReached:
    - g_object_get
    - g_return_val_if_fail
    - G_OBJECT
    - G_IS_DEBUG_CONTROLLER
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_debug_controller_get_debug_enabled (GDebugController *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdebugcontroller.c:111,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdebugcontroller.c:113,1
    - Dst: g_object_set
      Src: /src/glib/gio/gdebugcontroller.c:113,1
    - Dst: G_IS_DEBUG_CONTROLLER
      Src: /src/glib/gio/gdebugcontroller.c:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - self
    - debug_enabled
    argTypes:
    - GDebugController*
    - gboolean
    constantsTouched: []
    func_position:
      end: 116
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 116
    functionName: g_debug_controller_set_debug_enabled
    functionSourceFile: /src/glib/gio/gdebugcontroller.c
    functionUses: []
    functionsReached:
    - g_object_set
    - G_OBJECT
    - G_IS_DEBUG_CONTROLLER
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_debug_controller_set_debug_enabled (GDebugController *self,
      gboolean debug_enabled) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_uri_unescape_string
      Src: /src/glib/gio/gresourcefile.c:247,1
    - Dst: strlen
      Src: /src/glib/gio/gresourcefile.c:247,1
    - Dst: g_free
      Src: /src/glib/gio/gresourcefile.c:252,1
    - Dst: G_FILE
      Src: /src/glib/gio/gresourcefile.c:254,1
    - Dst: g_resource_file_new_for_path
      Src: /src/glib/gio/gresourcefile.c:251,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 255
    functionName: _g_resource_file_new
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - g_uri_unescape_string
    - strlen
    - g_resource_file_new_for_path
    - G_FILE
    - g_free
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *_g_resource_file_new (const char *uri) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: g_resource_file_get_path
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static char *g_resource_file_get_path (GFile *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_RESOURCE_FILE
      Src: /src/glib/gio/gresourcefile.c:329,1
    - Dst: g_resource_file_new_for_path
      Src: /src/glib/gio/gresourcefile.c:331,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 332
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 332
    functionName: g_resource_file_dup
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - G_RESOURCE_FILE
    - g_resource_file_new_for_path
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *g_resource_file_dup (GFile *file) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_RESOURCE_FILE
      Src: /src/glib/gio/gresourcefile.c:404,1
    - Dst: g_free
      Src: /src/glib/gio/gresourcefile.c:413,1
    - Dst: g_resource_file_new_for_path
      Src: /src/glib/gio/gresourcefile.c:409,1
    - Dst: g_resource_file_new_for_path
      Src: /src/glib/gio/gresourcefile.c:412,1
    - Dst: g_build_path
      Src: /src/glib/gio/gresourcefile.c:411,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 416
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 416
    functionName: g_resource_file_resolve_relative_path
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - G_RESOURCE_FILE
    - g_resource_file_new_for_path
    - g_free
    - g_build_path
    linkageType: ''
    returnType: GFile*
    signature: "static GFile *g_resource_file_resolve_relative_path (GFile *file,\t\
      \t\t\t const char *relative_path) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_get_child
      Src: /src/glib/gio/gresourcefile.c:438,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 441
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 441
    functionName: g_resource_file_get_child_for_display_name
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - g_file_get_child
    linkageType: ''
    returnType: GFile*
    signature: "static GFile *g_resource_file_get_child_for_display_name (GFile *file,\t\
      \t\t\t\t const char *display_name,\t\t\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - monitor
    argTypes:
    - GFileMonitor*
    constantsTouched: []
    func_position:
      end: 624
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 624
    functionName: g_resource_file_monitor_cancel
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_resource_file_monitor_cancel (GFileMonitor *monitor) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_resources_enumerate_children
      Src: /src/glib/gio/gresourcefile.c:748,1
    - Dst: _
      Src: /src/glib/gio/gresourcefile.c:755,1
    - Dst: strcmp
      Src: /src/glib/gio/gresourcefile.c:750,1
    - Dst: g_set_error
      Src: /src/glib/gio/gresourcefile.c:754,1
    - Dst: g_resources_get_info
      Src: /src/glib/gio/gresourcefile.c:752,1
    - Dst: g_set_error
      Src: /src/glib/gio/gresourcefile.c:758,1
    - Dst: _
      Src: /src/glib/gio/gresourcefile.c:759,1
    - Dst: g_object_new
      Src: /src/glib/gio/gresourcefile.c:764,1
    - Dst: g_strdup
      Src: /src/glib/gio/gresourcefile.c:769,1
    - Dst: g_strdup
      Src: /src/glib/gio/gresourcefile.c:770,1
    - Dst: G_FILE_ENUMERATOR
      Src: /src/glib/gio/gresourcefile.c:773,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 774
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 774
    functionName: _g_resource_file_enumerator_new
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_strdup
    - g_object_new
    - g_resources_get_info
    - strcmp
    - g_resources_enumerate_children
    - _
    - G_FILE_ENUMERATOR
    linkageType: ''
    returnType: GFileEnumerator*
    signature: "static GFileEnumerator *_g_resource_file_enumerator_new (GResourceFile\
      \ *file,\t\t\t\t const char *attributes,\t\t\t\t GFileQueryInfoFlags flags,\t\
      \t\t\t GCancellable *cancellable,\t\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_RESOURCE_FILE_INPUT_STREAM
      Src: /src/glib/gio/gresourcefile.c:926,1
    - Dst: g_input_stream_close
      Src: /src/glib/gio/gresourcefile.c:927,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GInputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 929
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 929
    functionName: g_resource_file_input_stream_close
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - G_RESOURCE_FILE_INPUT_STREAM
    - g_input_stream_close
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_resource_file_input_stream_close (GInputStream *stream,\t\
      \t\t\t GCancellable *cancellable,\t\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_uri_escape_string
      Src: /src/glib/gio/gresourcefile.c:295,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gresourcefile.c:296,1
    - Dst: G_RESOURCE_FILE
      Src: /src/glib/gio/gresourcefile.c:295,1
    - Dst: g_free
      Src: /src/glib/gio/gresourcefile.c:297,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 299
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 299
    functionName: g_resource_file_get_uri
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - G_RESOURCE_FILE
    - g_free
    - g_uri_escape_string
    - g_strconcat
    linkageType: ''
    returnType: char*
    signature: 'static char *g_resource_file_get_uri (GFile *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_RESOURCE_FILE
      Src: /src/glib/gio/gresourcefile.c:337,1
    - Dst: g_str_hash
      Src: /src/glib/gio/gresourcefile.c:339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 340
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 340
    functionName: g_resource_file_hash
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - G_RESOURCE_FILE
    - g_str_hash
    linkageType: ''
    returnType: guint
    signature: 'static guint g_resource_file_hash (GFile *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_RESOURCE_FILE
      Src: /src/glib/gio/gresourcefile.c:425,1
    - Dst: _g_resource_file_enumerator_new
      Src: /src/glib/gio/gresourcefile.c:426,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 429
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 429
    functionName: g_resource_file_enumerate_children
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - G_RESOURCE_FILE
    - _g_resource_file_enumerator_new
    linkageType: ''
    returnType: GFileEnumerator*
    signature: "static GFileEnumerator *g_resource_file_enumerate_children (GFile\
      \ *file,\t\t\t\t const char *attributes,\t\t\t\t GFileQueryInfoFlags flags,\t\
      \t\t\t GCancellable *cancellable,\t\t\t\t GError **error) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: G_RESOURCE_FILE
      Src: /src/glib/gio/gresourcefile.c:450,1
    - Dst: g_resources_has_children
      Src: /src/glib/gio/gresourcefile.c:464,1
    - Dst: _g_file_info_set_attribute_boolean_by_id
      Src: /src/glib/gio/gresourcefile.c:494,1
    - Dst: _g_file_info_set_attribute_boolean_by_id
      Src: /src/glib/gio/gresourcefile.c:495,1
    - Dst: _g_file_info_set_attribute_boolean_by_id
      Src: /src/glib/gio/gresourcefile.c:496,1
    - Dst: _g_file_info_set_attribute_boolean_by_id
      Src: /src/glib/gio/gresourcefile.c:493,1
    - Dst: _g_file_info_set_attribute_boolean_by_id
      Src: /src/glib/gio/gresourcefile.c:492,1
    - Dst: _g_file_info_set_attribute_boolean_by_id
      Src: /src/glib/gio/gresourcefile.c:497,1
    - Dst: g_file_info_set_file_type
      Src: /src/glib/gio/gresourcefile.c:501,1
    - Dst: _g_file_info_set_attribute_string_by_id
      Src: /src/glib/gio/gresourcefile.c:530,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gresourcefile.c:480,1
    - Dst: g_content_type_guess
      Src: /src/glib/gio/gresourcefile.c:520,1
    - Dst: g_file_attribute_matcher_unref
      Src: /src/glib/gio/gresourcefile.c:537,1
    - Dst: g_resources_get_info
      Src: /src/glib/gio/gresourcefile.c:468,1
    - Dst: g_file_info_set_display_name
      Src: /src/glib/gio/gresourcefile.c:490,1
    - Dst: g_file_info_set_file_type
      Src: /src/glib/gio/gresourcefile.c:508,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/gresourcefile.c:511,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/gresourcefile.c:513,1
    - Dst: g_bytes_get_data
      Src: /src/glib/gio/gresourcefile.c:519,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/gresourcefile.c:522,1
    - Dst: _g_file_info_set_attribute_string_by_id
      Src: /src/glib/gio/gresourcefile.c:529,1
    - Dst: g_free
      Src: /src/glib/gio/gresourcefile.c:532,1
    - Dst: g_free
      Src: /src/glib/gio/gresourcefile.c:536,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gresourcefile.c:471,1
    - Dst: strcmp
      Src: /src/glib/gio/gresourcefile.c:461,1
    - Dst: g_set_error
      Src: /src/glib/gio/gresourcefile.c:473,1
    - Dst: _
      Src: /src/glib/gio/gresourcefile.c:474,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gresourcefile.c:478,1
    - Dst: g_file_attribute_matcher_new
      Src: /src/glib/gio/gresourcefile.c:485,1
    - Dst: g_file_info_new
      Src: /src/glib/gio/gresourcefile.c:487,1
    - Dst: g_resource_file_get_basename
      Src: /src/glib/gio/gresourcefile.c:488,1
    - Dst: g_file_info_set_name
      Src: /src/glib/gio/gresourcefile.c:489,1
    - Dst: g_file_info_set_size
      Src: /src/glib/gio/gresourcefile.c:509,1
    - Dst: g_resources_lookup_data
      Src: /src/glib/gio/gresourcefile.c:514,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 540
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 540
    functionName: g_resource_file_query_info
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - _g_file_attribute_matcher_matches_id
    - strcmp
    - g_file_info_new
    - g_set_error_literal
    - g_resources_lookup_data
    - g_resource_file_get_basename
    - g_content_type_guess
    - g_file_attribute_matcher_unref
    - _g_file_info_set_attribute_boolean_by_id
    - g_bytes_get_data
    - g_set_error
    - g_resources_has_children
    - g_resources_get_info
    - g_bytes_unref
    - _g_file_info_set_attribute_string_by_id
    - _
    - g_file_info_set_size
    - g_clear_error
    - g_file_info_set_name
    - G_RESOURCE_FILE
    - g_file_info_set_file_type
    - g_error_matches
    - g_file_info_set_display_name
    - g_file_attribute_matcher_new
    - g_free
    linkageType: ''
    returnType: GFileInfo*
    signature: "static GFileInfo *g_resource_file_query_info (GFile *file,\t\t\t const\
      \ char *attributes,\t\t\t GFileQueryInfoFlags flags,\t\t\t GCancellable *cancellable,\t\
      \t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - monitor
    argTypes:
    - GResourceFileMonitor*
    constantsTouched: []
    func_position:
      end: 629
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 629
    functionName: g_resource_file_monitor_init
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_resource_file_monitor_init (GResourceFileMonitor *monitor) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_RESOURCE_FILE_ENUMERATOR
      Src: /src/glib/gio/gresourcefile.c:781,1
    - Dst: g_resource_file_new_for_path
      Src: /src/glib/gio/gresourcefile.c:791,1
    - Dst: g_free
      Src: /src/glib/gio/gresourcefile.c:792,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/gresourcefile.c:794,1
    - Dst: g_build_path
      Src: /src/glib/gio/gresourcefile.c:790,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gresourcefile.c:800,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 803
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 803
    functionName: g_resource_file_enumerator_next_file
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - g_file_query_info
    - g_object_unref
    - G_RESOURCE_FILE_ENUMERATOR
    - g_resource_file_new_for_path
    - g_build_path
    - g_free
    linkageType: ''
    returnType: GFileInfo*
    signature: "static GFileInfo *g_resource_file_enumerator_next_file (GFileEnumerator\
      \ *enumerator,\t\t\t\t GCancellable *cancellable,\t\t\t\t GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_RESOURCE_FILE_INPUT_STREAM
      Src: /src/glib/gio/gresourcefile.c:935,1
    - Dst: G_IS_SEEKABLE
      Src: /src/glib/gio/gresourcefile.c:937,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/gresourcefile.c:940,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/gresourcefile.c:940,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GFileInputStream*
    constantsTouched: []
    func_position:
      end: 941
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 941
    functionName: g_resource_file_input_stream_tell
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - G_RESOURCE_FILE_INPUT_STREAM
    - g_seekable_tell
    - G_IS_SEEKABLE
    - G_SEEKABLE
    linkageType: ''
    returnType: goffset
    signature: 'static goffset g_resource_file_input_stream_tell (GFileInputStream
      *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gresourcefile.c:233,1
    - Dst: canonicalize_filename
      Src: /src/glib/gio/gresourcefile.c:235,1
    - Dst: G_FILE
      Src: /src/glib/gio/gresourcefile.c:237,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 238
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 238
    functionName: g_resource_file_new_for_path
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - canonicalize_filename
    - g_object_new
    - G_FILE
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *g_resource_file_new_for_path (const char *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - resource
    argTypes:
    - GResourceFile*
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: g_resource_file_init
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_resource_file_init (GResourceFile *resource) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_resource_file_get_uri
      Src: /src/glib/gio/gresourcefile.c:304,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 305
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 305
    functionName: g_resource_file_get_parse_name
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - g_resource_file_get_uri
    linkageType: ''
    returnType: char*
    signature: 'static char *g_resource_file_get_parse_name (GFile *file) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_new
      Src: /src/glib/gio/gresourcefile.c:551,1
    - Dst: g_file_attribute_matcher_new
      Src: /src/glib/gio/gresourcefile.c:553,1
    - Dst: g_file_attribute_matcher_matches
      Src: /src/glib/gio/gresourcefile.c:557,1
    - Dst: g_file_info_set_attribute_string
      Src: /src/glib/gio/gresourcefile.c:555,1
    - Dst: g_file_attribute_matcher_matches
      Src: /src/glib/gio/gresourcefile.c:554,1
    - Dst: g_file_info_set_attribute_boolean
      Src: /src/glib/gio/gresourcefile.c:558,1
    - Dst: g_file_attribute_matcher_unref
      Src: /src/glib/gio/gresourcefile.c:560,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 563
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 563
    functionName: g_resource_file_query_filesystem_info
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - g_file_attribute_matcher_new
    - g_file_info_new
    - g_file_attribute_matcher_matches
    - g_file_attribute_matcher_unref
    - g_file_info_set_attribute_string
    - g_file_info_set_attribute_boolean
    linkageType: ''
    returnType: GFileInfo*
    signature: 'static GFileInfo *g_resource_file_query_filesystem_info (GFile *file,
      const char *attributes, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - class
    argTypes:
    - GResourceFileMonitorClass*
    constantsTouched: []
    func_position:
      end: 635
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 635
    functionName: g_resource_file_monitor_class_init
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_resource_file_monitor_class_init (GResourceFileMonitorClass
      *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gresourcefile.c:723,1
    - Dst: G_FILE_ENUMERATOR_CLASS
      Src: /src/glib/gio/gresourcefile.c:724,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GResourceFileEnumeratorClass*
    constantsTouched: []
    func_position:
      end: 730
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 730
    functionName: g_resource_file_enumerator_class_init
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - G_FILE_ENUMERATOR_CLASS
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_resource_file_enumerator_class_init (GResourceFileEnumeratorClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 3
    argNames:
    - enumerator
    - cancellable
    - error
    argTypes:
    - GFileEnumerator*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 811
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 811
    functionName: g_resource_file_enumerator_close
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_resource_file_enumerator_close (GFileEnumerator\
      \ *enumerator,\t\t\t GCancellable *cancellable,\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_RESOURCE_FILE_INPUT_STREAM
      Src: /src/glib/gio/gresourcefile.c:905,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/gresourcefile.c:906,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 5
    argNames:
    - stream
    - buffer
    - count
    - cancellable
    - error
    argTypes:
    - GInputStream*
    - void*
    - gsize
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 908
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 908
    functionName: g_resource_file_input_stream_read
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - G_RESOURCE_FILE_INPUT_STREAM
    - g_input_stream_read
    linkageType: ''
    returnType: gssize
    signature: "static gssize g_resource_file_input_stream_read (GInputStream *stream,\t\
      \t\t\t void *buffer,\t\t\t\t gsize count,\t\t\t\t GCancellable *cancellable,\t\
      \t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_RESOURCE_FILE_INPUT_STREAM
      Src: /src/glib/gio/gresourcefile.c:946,1
    - Dst: G_IS_SEEKABLE
      Src: /src/glib/gio/gresourcefile.c:948,1
    - Dst: g_seekable_can_seek
      Src: /src/glib/gio/gresourcefile.c:948,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/gresourcefile.c:948,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GFileInputStream*
    constantsTouched: []
    func_position:
      end: 949
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 949
    functionName: g_resource_file_input_stream_can_seek
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - G_RESOURCE_FILE_INPUT_STREAM
    - G_SEEKABLE
    - G_IS_SEEKABLE
    - g_seekable_can_seek
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_resource_file_input_stream_can_seek (GFileInputStream
      *stream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 155
    functionName: scan_backwards
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: 'static inline gchar *scan_backwards (const gchar *begin, const gchar
      *end, gchar c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_RESOURCE_FILE
      Src: /src/glib/gio/gresourcefile.c:310,1
    - Dst: g_object_new
      Src: /src/glib/gio/gresourcefile.c:319,1
    - Dst: g_strndup
      Src: /src/glib/gio/gresourcefile.c:320,1
    - Dst: G_RESOURCE_FILE
      Src: /src/glib/gio/gresourcefile.c:316,1
    - Dst: strrchr
      Src: /src/glib/gio/gresourcefile.c:314,1
    - Dst: G_FILE
      Src: /src/glib/gio/gresourcefile.c:323,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 324
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 324
    functionName: g_resource_file_get_parent
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - g_object_new
    - G_RESOURCE_FILE
    - g_strndup
    - strrchr
    - G_FILE
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *g_resource_file_get_parent (GFile *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_attribute_info_list_ref
      Src: /src/glib/gio/gresourcefile.c:570,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 571
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 571
    functionName: g_resource_file_query_settable_attributes
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - g_file_attribute_info_list_ref
    linkageType: ''
    returnType: GFileAttributeInfoList*
    signature: "static GFileAttributeInfoList *g_resource_file_query_settable_attributes\
      \ (GFile *file,\t\t\t\t\t GCancellable *cancellable,\t\t\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gresourcefile.c:643,1
    - Dst: g_resource_file_monitor_get_type
      Src: /src/glib/gio/gresourcefile.c:643,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 644
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 644
    functionName: g_resource_file_monitor_file
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - g_resource_file_monitor_get_type
    - g_object_new
    linkageType: ''
    returnType: GFileMonitor*
    signature: 'static GFileMonitor *g_resource_file_monitor_file (GFile *file, GFileMonitorFlags
      flags, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_RESOURCE_FILE_ENUMERATOR
      Src: /src/glib/gio/gresourcefile.c:711,1
    - Dst: g_free
      Src: /src/glib/gio/gresourcefile.c:714,1
    - Dst: g_free
      Src: /src/glib/gio/gresourcefile.c:715,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gresourcefile.c:713,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gresourcefile.c:717,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 718
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 718
    functionName: g_resource_file_enumerator_finalize
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - g_strfreev
    - g_free
    - G_RESOURCE_FILE_ENUMERATOR
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_resource_file_enumerator_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - resource
    argTypes:
    - GResourceFileEnumerator*
    constantsTouched: []
    func_position:
      end: 735
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 735
    functionName: g_resource_file_enumerator_init
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_resource_file_enumerator_init (GResourceFileEnumerator
      *resource) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_RESOURCE_FILE_INPUT_STREAM
      Src: /src/glib/gio/gresourcefile.c:916,1
    - Dst: g_input_stream_skip
      Src: /src/glib/gio/gresourcefile.c:917,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - stream
    - count
    - cancellable
    - error
    argTypes:
    - GInputStream*
    - gsize
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 919
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 919
    functionName: g_resource_file_input_stream_skip
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - G_RESOURCE_FILE_INPUT_STREAM
    - g_input_stream_skip
    linkageType: ''
    returnType: gssize
    signature: "static gssize g_resource_file_input_stream_skip (GInputStream *stream,\t\
      \t\t\t gsize count,\t\t\t\t GCancellable *cancellable,\t\t\t\t GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_RESOURCE_FILE_INPUT_STREAM
      Src: /src/glib/gio/gresourcefile.c:958,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gresourcefile.c:962,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/gresourcefile.c:967,1
    - Dst: G_IS_SEEKABLE
      Src: /src/glib/gio/gresourcefile.c:960,1
    - Dst: _
      Src: /src/glib/gio/gresourcefile.c:963,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/gresourcefile.c:967,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 5
    argNames:
    - stream
    - offset
    - type
    - cancellable
    - error
    argTypes:
    - GFileInputStream*
    - goffset
    - GSeekType
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 969
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 969
    functionName: g_resource_file_input_stream_seek
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - g_seekable_seek
    - G_SEEKABLE
    - g_set_error_literal
    - _
    - G_RESOURCE_FILE_INPUT_STREAM
    - G_IS_SEEKABLE
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_resource_file_input_stream_seek (GFileInputStream\
      \ *stream,\t\t\t\t goffset offset,\t\t\t\t GSeekType type,\t\t\t\t GCancellable\
      \ *cancellable,\t\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gio/gresourcefile.c:273,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 274
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 274
    functionName: g_resource_file_get_uri_scheme
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - g_strdup
    linkageType: ''
    returnType: char*
    signature: 'static char *g_resource_file_get_uri_scheme (GFile *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_attribute_info_list_ref
      Src: /src/glib/gio/gresourcefile.c:578,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 579
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 579
    functionName: g_resource_file_query_writable_namespaces
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - g_file_attribute_info_list_ref
    linkageType: ''
    returnType: GFileAttributeInfoList*
    signature: "static GFileAttributeInfoList *g_resource_file_query_writable_namespaces\
      \ (GFile *file,\t\t\t\t\t GCancellable *cancellable,\t\t\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GFileIface*
    constantsTouched: []
    func_position:
      end: 697
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 697
    functionName: g_resource_file_file_iface_init
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_resource_file_file_iface_init (GFileIface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/glib/gio/gresourcefile.c:281,1
    - Dst: g_strdup
      Src: /src/glib/gio/gresourcefile.c:282,1
    - Dst: G_RESOURCE_FILE
      Src: /src/glib/gio/gresourcefile.c:281,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 283
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 283
    functionName: g_resource_file_get_basename
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - G_RESOURCE_FILE
    - strrchr
    - g_strdup
    linkageType: ''
    returnType: char*
    signature: 'static char *g_resource_file_get_basename (GFile *file) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_RESOURCE_FILE
      Src: /src/glib/gio/gresourcefile.c:586,1
    - Dst: _
      Src: /src/glib/gio/gresourcefile.c:598,1
    - Dst: g_set_error
      Src: /src/glib/gio/gresourcefile.c:597,1
    - Dst: g_resources_open_stream
      Src: /src/glib/gio/gresourcefile.c:591,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gresourcefile.c:595,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gresourcefile.c:602,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gresourcefile.c:604,1
    - Dst: _g_resource_file_input_stream_new
      Src: /src/glib/gio/gresourcefile.c:608,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gresourcefile.c:609,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 611
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 611
    functionName: g_resource_file_read
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_clear_error
    - g_object_unref
    - g_resources_open_stream
    - G_RESOURCE_FILE
    - g_error_matches
    - g_set_error_literal
    - _
    - _g_resource_file_input_stream_new
    linkageType: ''
    returnType: GFileInputStream*
    signature: "static GFileInputStream *g_resource_file_read (GFile *file,\t\t GCancellable\
      \ *cancellable,\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_RESOURCE_FILE
      Src: /src/glib/gio/gresourcefile.c:119,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gresourcefile.c:123,1
    - Dst: g_free
      Src: /src/glib/gio/gresourcefile.c:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 124
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 124
    functionName: g_resource_file_finalize
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - G_RESOURCE_FILE
    - g_free
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_resource_file_finalize (GObject *object) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/glib/gio/gresourcefile.c:182,1
    - Dst: strlen
      Src: /src/glib/gio/gresourcefile.c:182,1
    - Dst: g_assert
      Src: /src/glib/gio/gresourcefile.c:187,1
    - Dst: pop_to_previous_part
      Src: /src/glib/gio/gresourcefile.c:199,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 228
    functionName: canonicalize_filename
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - g_assert
    - pop_to_previous_part
    - strlen
    - g_malloc
    linkageType: ''
    returnType: char*
    signature: 'static char *canonicalize_filename (const char *in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 261
    functionName: g_resource_file_is_native
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_resource_file_is_native (GFile *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_RESOURCE_FILE
      Src: /src/glib/gio/gresourcefile.c:346,1
    - Dst: G_RESOURCE_FILE
      Src: /src/glib/gio/gresourcefile.c:347,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gresourcefile.c:349,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - file1
    - file2
    argTypes:
    - GFile*
    - GFile*
    constantsTouched: []
    func_position:
      end: 350
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 350
    functionName: g_resource_file_equal
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - G_RESOURCE_FILE
    - g_str_equal
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_resource_file_equal (GFile *file1,\t\t GFile *file2) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_RESOURCE_FILE
      Src: /src/glib/gio/gresourcefile.c:375,1
    - Dst: G_RESOURCE_FILE
      Src: /src/glib/gio/gresourcefile.c:376,1
    - Dst: match_prefix
      Src: /src/glib/gio/gresourcefile.c:379,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 2
    argNames:
    - parent
    - descendant
    argTypes:
    - GFile*
    - GFile*
    constantsTouched: []
    func_position:
      end: 383
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 383
    functionName: g_resource_file_prefix_matches
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - G_RESOURCE_FILE
    - match_prefix
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_resource_file_prefix_matches (GFile *parent,\t\t\
      \t\tGFile *descendant) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gresourcefile.c:652,1
    - Dst: _
      Src: /src/glib/gio/gresourcefile.c:655,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 657
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 657
    functionName: g_resource_file_set_display_name
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - _
    - g_set_error_literal
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *g_resource_file_set_display_name (GFile *file, const
      char *display_name, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_RESOURCE_FILE_INPUT_STREAM
      Src: /src/glib/gio/gresourcefile.c:856,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gresourcefile.c:860,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gresourcefile.c:859,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gresourcefile.c:858,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 861
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 861
    functionName: g_resource_file_input_stream_finalize
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - G_RESOURCE_FILE_INPUT_STREAM
    - g_object_unref
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_resource_file_input_stream_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - info
    argTypes:
    - GResourceFileInputStream*
    constantsTouched: []
    func_position:
      end: 884
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 884
    functionName: g_resource_file_input_stream_init
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_resource_file_input_stream_init (GResourceFileInputStream
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gresourcefile.c:129,1
    - Dst: g_file_attribute_info_list_new
      Src: /src/glib/gio/gresourcefile.c:133,1
    - Dst: g_file_attribute_info_list_new
      Src: /src/glib/gio/gresourcefile.c:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GResourceFileClass*
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: g_resource_file_class_init
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - g_file_attribute_info_list_new
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_resource_file_class_init (GResourceFileClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/gio/gresourcefile.c:267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - file
    - uri_scheme
    argTypes:
    - GFile*
    - char*
    constantsTouched: []
    func_position:
      end: 268
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 268
    functionName: g_resource_file_has_uri_scheme
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - g_ascii_strcasecmp
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_resource_file_has_uri_scheme (GFile *file,\t\t\t\
      \tconst char *uri_scheme) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/gio/gresourcefile.c:358,1
    - Dst: strncmp
      Src: /src/glib/gio/gresourcefile.c:359,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 369
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 369
    functionName: match_prefix
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - strncmp
    - strlen
    linkageType: ''
    returnType: char*
    signature: "static const char *match_prefix (const char *path,\t const char *prefix) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_RESOURCE_FILE
      Src: /src/glib/gio/gresourcefile.c:389,1
    - Dst: G_RESOURCE_FILE
      Src: /src/glib/gio/gresourcefile.c:390,1
    - Dst: g_strdup
      Src: /src/glib/gio/gresourcefile.c:396,1
    - Dst: match_prefix
      Src: /src/glib/gio/gresourcefile.c:393,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 398
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 398
    functionName: g_resource_file_get_relative_path
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - G_RESOURCE_FILE
    - match_prefix
    - g_strdup
    linkageType: ''
    returnType: char*
    signature: "static char *g_resource_file_get_relative_path (GFile *parent,\t\t\
      \t\t GFile *descendant) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_RESOURCE_FILE
      Src: /src/glib/gio/gresourcefile.c:663,1
    - Dst: g_resources_get_info
      Src: /src/glib/gio/gresourcefile.c:665,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - file
    - cancellable
    argTypes:
    - GFile*
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 666
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 666
    functionName: g_resource_file_query_exists
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - G_RESOURCE_FILE
    - g_resources_get_info
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_resource_file_query_exists (GFile *file, GCancellable
      *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gresourcefile.c:866,1
    - Dst: G_FILE_INPUT_STREAM_CLASS
      Src: /src/glib/gio/gresourcefile.c:868,1
    - Dst: G_INPUT_STREAM_CLASS
      Src: /src/glib/gio/gresourcefile.c:867,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GResourceFileInputStreamClass*
    constantsTouched: []
    func_position:
      end: 879
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 879
    functionName: g_resource_file_input_stream_class_init
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - G_FILE_INPUT_STREAM_CLASS
    - G_INPUT_STREAM_CLASS
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_resource_file_input_stream_class_init (GResourceFileInputStreamClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gresourcefile.c:891,1
    - Dst: G_FILE_INPUT_STREAM
      Src: /src/glib/gio/gresourcefile.c:895,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gresourcefile.c:892,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gresourcefile.c:893,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 896
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 896
    functionName: _g_resource_file_input_stream_new
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - G_FILE_INPUT_STREAM
    - g_object_new
    - g_object_ref
    linkageType: ''
    returnType: GFileInputStream*
    signature: 'static GFileInputStream *_g_resource_file_input_stream_new (GInputStream
      *in_stream, GFile *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_RESOURCE_FILE_INPUT_STREAM
      Src: /src/glib/gio/gresourcefile.c:977,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/gresourcefile.c:979,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 980
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 980
    functionName: g_resource_file_input_stream_query_info
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - G_RESOURCE_FILE_INPUT_STREAM
    - g_file_query_info
    linkageType: ''
    returnType: GFileInfo*
    signature: "static GFileInfo *g_resource_file_input_stream_query_info (GFileInputStream\
      \ *stream,\t\t\t\t\t const char *attributes,\t\t\t\t\t GCancellable *cancellable,\t\
      \t\t\t\t GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: scan_backwards
      Src: /src/glib/gio/gresourcefile.c:162,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - begin
    - out
    argTypes:
    - gchar*
    - gchar**
    constantsTouched: []
    func_position:
      end: 163
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 163
    functionName: pop_to_previous_part
    functionSourceFile: /src/glib/gio/gresourcefile.c
    functionUses: []
    functionsReached:
    - scan_backwards
    linkageType: ''
    returnType: void
    signature: 'static inline void pop_to_previous_part (const gchar *begin, gchar
      **out) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_LIST_STORE
      Src: /src/glib/gio/gliststore.c:125,1
    - Dst: g_value_get_gtype
      Src: /src/glib/gio/gliststore.c:130,1
    - Dst: g_assert
      Src: /src/glib/gio/gliststore.c:130,1
    - Dst: g_value_get_gtype
      Src: /src/glib/gio/gliststore.c:131,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/gliststore.c:130,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gliststore.c:135,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 4
    argNames:
    - object
    - property_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 137
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 137
    functionName: g_list_store_set_property
    functionSourceFile: /src/glib/gio/gliststore.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_assert
    - g_value_get_gtype
    - g_type_is_a
    - G_LIST_STORE
    linkageType: ''
    returnType: void
    signature: 'static void g_list_store_set_property (GObject *object, guint property_id,
      const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_sequence_new
      Src: /src/glib/gio/gliststore.c:231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - store
    argTypes:
    - GListStore*
    constantsTouched: []
    func_position:
      end: 234
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 234
    functionName: g_list_store_init
    functionSourceFile: /src/glib/gio/gliststore.c
    functionUses: []
    functionsReached:
    - g_sequence_new
    linkageType: ''
    returnType: void
    signature: 'static void g_list_store_init (GListStore *store) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gliststore.c:142,1
    - Dst: g_param_spec_uint
      Src: /src/glib/gio/gliststore.c:168,1
    - Dst: g_object_class_install_properties
      Src: /src/glib/gio/gliststore.c:171,1
    - Dst: g_param_spec_gtype
      Src: /src/glib/gio/gliststore.c:157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GListStoreClass*
    constantsTouched: []
    func_position:
      end: 172
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 172
    functionName: g_list_store_class_init
    functionSourceFile: /src/glib/gio/gliststore.c
    functionUses: []
    functionsReached:
    - g_param_spec_gtype
    - g_param_spec_uint
    - g_object_class_install_properties
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_list_store_class_init (GListStoreClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gliststore.c:430,1
    - Dst: g_sequence_get_begin_iter
      Src: /src/glib/gio/gliststore.c:433,1
    - Dst: g_sequence_get_length
      Src: /src/glib/gio/gliststore.c:432,1
    - Dst: G_IS_LIST_STORE
      Src: /src/glib/gio/gliststore.c:430,1
    - Dst: g_sequence_remove_range
      Src: /src/glib/gio/gliststore.c:433,1
    - Dst: g_sequence_get_end_iter
      Src: /src/glib/gio/gliststore.c:434,1
    - Dst: g_list_store_items_changed
      Src: /src/glib/gio/gliststore.c:436,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - store
    argTypes:
    - GListStore*
    constantsTouched: []
    func_position:
      end: 437
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 437
    functionName: g_list_store_remove_all
    functionSourceFile: /src/glib/gio/gliststore.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - g_sequence_get_length
    - g_sequence_get_end_iter
    - g_list_store_items_changed
    - g_sequence_get_begin_iter
    - g_sequence_remove_range
    - G_IS_LIST_STORE
    linkageType: ''
    returnType: void
    signature: 'void g_list_store_remove_all (GListStore *store) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gliststore.c:408,1
    - Dst: g_sequence_iter_is_end
      Src: /src/glib/gio/gliststore.c:411,1
    - Dst: g_sequence_get_iter_at_pos
      Src: /src/glib/gio/gliststore.c:410,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gliststore.c:411,1
    - Dst: G_IS_LIST_STORE
      Src: /src/glib/gio/gliststore.c:408,1
    - Dst: g_sequence_remove
      Src: /src/glib/gio/gliststore.c:413,1
    - Dst: g_list_store_items_changed
      Src: /src/glib/gio/gliststore.c:414,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - store
    - position
    argTypes:
    - GListStore*
    - guint
    constantsTouched: []
    func_position:
      end: 415
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 415
    functionName: g_list_store_remove
    functionSourceFile: /src/glib/gio/gliststore.c
    functionUses: []
    functionsReached:
    - g_sequence_get_iter_at_pos
    - g_return_if_fail
    - g_list_store_items_changed
    - g_sequence_iter_is_end
    - g_sequence_remove
    - G_IS_LIST_STORE
    linkageType: ''
    returnType: void
    signature: 'void g_list_store_remove (GListStore *store, guint position) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gliststore.c:473,1
    - Dst: g_sequence_get_length
      Src: /src/glib/gio/gliststore.c:476,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gliststore.c:477,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gliststore.c:474,1
    - Dst: G_IS_LIST_STORE
      Src: /src/glib/gio/gliststore.c:473,1
    - Dst: g_sequence_get_iter_at_pos
      Src: /src/glib/gio/gliststore.c:479,1
    - Dst: g_sequence_iter_move
      Src: /src/glib/gio/gliststore.c:485,1
    - Dst: g_sequence_remove_range
      Src: /src/glib/gio/gliststore.c:486,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/gliststore.c:497,1
    - Dst: G_OBJECT_TYPE
      Src: /src/glib/gio/gliststore.c:497,1
    - Dst: g_critical
      Src: /src/glib/gio/gliststore.c:499,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/gliststore.c:500,1
    - Dst: g_type_name
      Src: /src/glib/gio/gliststore.c:500,1
    - Dst: g_sequence_insert_before
      Src: /src/glib/gio/gliststore.c:504,1
    - Dst: g_list_store_items_changed
      Src: /src/glib/gio/gliststore.c:508,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gliststore.c:504,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 5
    argNames:
    - store
    - position
    - n_removals
    - additions
    - n_additions
    argTypes:
    - GListStore*
    - guint
    - guint
    - gpointer*
    - guint
    constantsTouched: []
    func_position:
      end: 509
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 509
    functionName: g_list_store_splice
    functionSourceFile: /src/glib/gio/gliststore.c
    functionUses: []
    functionsReached:
    - G_OBJECT_TYPE
    - g_sequence_get_iter_at_pos
    - g_return_if_fail
    - g_sequence_get_length
    - G_OBJECT_TYPE_NAME
    - g_list_store_items_changed
    - g_sequence_insert_before
    - g_sequence_remove_range
    - g_critical
    - g_type_is_a
    - g_object_ref
    - g_sequence_iter_move
    - G_IS_LIST_STORE
    - g_type_name
    linkageType: ''
    returnType: void
    signature: 'void g_list_store_splice (GListStore *store, guint position, guint
      n_removals, gpointer *additions, guint n_additions) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_list_model_items_changed
      Src: /src/glib/gio/gliststore.c:81,1
    - Dst: g_object_notify_by_pspec
      Src: /src/glib/gio/gliststore.c:83,1
    - Dst: G_LIST_MODEL
      Src: /src/glib/gio/gliststore.c:81,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gliststore.c:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - store
    - position
    - removed
    - added
    argTypes:
    - GListStore*
    - guint
    - guint
    - guint
    constantsTouched: []
    func_position:
      end: 84
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 84
    functionName: g_list_store_items_changed
    functionSourceFile: /src/glib/gio/gliststore.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_list_model_items_changed
    - g_object_notify_by_pspec
    - G_LIST_MODEL
    linkageType: ''
    returnType: void
    signature: 'static void g_list_store_items_changed (GListStore *store, guint position,
      guint removed, guint added) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - equal_func
    argTypes:
    - gconstpointer
    - gconstpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 517
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 517
    functionName: simple_equal
    functionSourceFile: /src/glib/gio/gliststore.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean simple_equal (gconstpointer a, gconstpointer b, gpointer
      equal_func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gliststore.c:322,1
    - Dst: G_OBJECT_TYPE
      Src: /src/glib/gio/gliststore.c:323,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/gliststore.c:323,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gliststore.c:323,1
    - Dst: G_IS_LIST_STORE
      Src: /src/glib/gio/gliststore.c:322,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gliststore.c:324,1
    - Dst: g_sequence_insert_sorted
      Src: /src/glib/gio/gliststore.c:326,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gliststore.c:326,1
    - Dst: g_sequence_iter_get_position
      Src: /src/glib/gio/gliststore.c:327,1
    - Dst: g_list_store_items_changed
      Src: /src/glib/gio/gliststore.c:329,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - store
    - item
    - compare_func
    - user_data
    argTypes:
    - GListStore*
    - gpointer
    - GCompareDataFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 332
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 332
    functionName: g_list_store_insert_sorted
    functionSourceFile: /src/glib/gio/gliststore.c
    functionUses: []
    functionsReached:
    - G_OBJECT_TYPE
    - g_return_val_if_fail
    - g_list_store_items_changed
    - g_sequence_iter_get_position
    - g_type_is_a
    - g_object_ref
    - g_sequence_insert_sorted
    - G_IS_LIST_STORE
    linkageType: ''
    returnType: guint
    signature: 'guint g_list_store_insert_sorted (GListStore *store, gpointer item,
      GCompareDataFunc compare_func, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gliststore.c:380,1
    - Dst: G_OBJECT_TYPE
      Src: /src/glib/gio/gliststore.c:381,1
    - Dst: G_IS_LIST_STORE
      Src: /src/glib/gio/gliststore.c:380,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/gliststore.c:381,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gliststore.c:381,1
    - Dst: g_sequence_get_length
      Src: /src/glib/gio/gliststore.c:383,1
    - Dst: g_sequence_append
      Src: /src/glib/gio/gliststore.c:384,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gliststore.c:384,1
    - Dst: g_list_store_items_changed
      Src: /src/glib/gio/gliststore.c:386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - store
    - item
    argTypes:
    - GListStore*
    - gpointer
    constantsTouched: []
    func_position:
      end: 387
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 387
    functionName: g_list_store_append
    functionSourceFile: /src/glib/gio/gliststore.c
    functionUses: []
    functionsReached:
    - G_OBJECT_TYPE
    - g_sequence_append
    - g_return_if_fail
    - g_sequence_get_length
    - g_list_store_items_changed
    - g_type_is_a
    - g_object_ref
    - G_IS_LIST_STORE
    linkageType: ''
    returnType: void
    signature: 'void g_list_store_append (GListStore *store, gpointer item) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LIST_STORE
      Src: /src/glib/gio/gliststore.c:89,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gliststore.c:93,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gliststore.c:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 94
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 94
    functionName: g_list_store_dispose
    functionSourceFile: /src/glib/gio/gliststore.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - G_LIST_STORE
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_list_store_dispose (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LIST_STORE
      Src: /src/glib/gio/gliststore.c:177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - GListModel*
    constantsTouched: []
    func_position:
      end: 180
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 180
    functionName: g_list_store_get_item_type
    functionSourceFile: /src/glib/gio/gliststore.c
    functionUses: []
    functionsReached:
    - G_LIST_STORE
    linkageType: ''
    returnType: GType
    signature: 'static GType g_list_store_get_item_type (GListModel *list) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gliststore.c:283,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/gliststore.c:284,1
    - Dst: G_OBJECT_TYPE
      Src: /src/glib/gio/gliststore.c:284,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gliststore.c:284,1
    - Dst: G_IS_LIST_STORE
      Src: /src/glib/gio/gliststore.c:283,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gliststore.c:285,1
    - Dst: g_sequence_get_length
      Src: /src/glib/gio/gliststore.c:285,1
    - Dst: g_sequence_get_iter_at_pos
      Src: /src/glib/gio/gliststore.c:287,1
    - Dst: g_sequence_insert_before
      Src: /src/glib/gio/gliststore.c:288,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gliststore.c:288,1
    - Dst: g_list_store_items_changed
      Src: /src/glib/gio/gliststore.c:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - store
    - position
    - item
    argTypes:
    - GListStore*
    - guint
    - gpointer
    constantsTouched: []
    func_position:
      end: 291
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 291
    functionName: g_list_store_insert
    functionSourceFile: /src/glib/gio/gliststore.c
    functionUses: []
    functionsReached:
    - G_OBJECT_TYPE
    - g_sequence_get_iter_at_pos
    - g_return_if_fail
    - g_sequence_get_length
    - g_list_store_items_changed
    - g_sequence_insert_before
    - g_type_is_a
    - g_object_ref
    - G_IS_LIST_STORE
    linkageType: ''
    returnType: void
    signature: 'void g_list_store_insert (GListStore *store, guint position, gpointer
      item) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gliststore.c:351,1
    - Dst: g_sequence_sort
      Src: /src/glib/gio/gliststore.c:354,1
    - Dst: g_sequence_get_length
      Src: /src/glib/gio/gliststore.c:356,1
    - Dst: G_IS_LIST_STORE
      Src: /src/glib/gio/gliststore.c:351,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gliststore.c:352,1
    - Dst: g_list_store_items_changed
      Src: /src/glib/gio/gliststore.c:357,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - store
    - compare_func
    - user_data
    argTypes:
    - GListStore*
    - GCompareDataFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 358
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 358
    functionName: g_list_store_sort
    functionSourceFile: /src/glib/gio/gliststore.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - g_sequence_get_length
    - g_list_store_items_changed
    - g_sequence_sort
    - G_IS_LIST_STORE
    linkageType: ''
    returnType: void
    signature: 'void g_list_store_sort (GListStore *store, GCompareDataFunc compare_func,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_store_find_with_equal_func
      Src: /src/glib/gio/gliststore.c:633,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - store
    - item
    - position
    argTypes:
    - GListStore*
    - gpointer
    - guint*
    constantsTouched: []
    func_position:
      end: 637
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 637
    functionName: g_list_store_find
    functionSourceFile: /src/glib/gio/gliststore.c
    functionUses: []
    functionsReached:
    - g_list_store_find_with_equal_func
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_list_store_find (GListStore *store, gpointer item, guint
      *position) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_LIST_STORE
      Src: /src/glib/gio/gliststore.c:102,1
    - Dst: g_sequence_get_length
      Src: /src/glib/gio/gliststore.c:111,1
    - Dst: g_value_set_uint
      Src: /src/glib/gio/gliststore.c:111,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gliststore.c:115,1
    - Dst: g_value_set_gtype
      Src: /src/glib/gio/gliststore.c:107,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 4
    argNames:
    - object
    - property_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 117
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 117
    functionName: g_list_store_get_property
    functionSourceFile: /src/glib/gio/gliststore.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_uint
    - g_value_set_gtype
    - g_sequence_get_length
    - G_LIST_STORE
    linkageType: ''
    returnType: void
    signature: 'static void g_list_store_get_property (GObject *object, guint property_id,
      GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LIST_STORE
      Src: /src/glib/gio/gliststore.c:185,1
    - Dst: g_sequence_get_length
      Src: /src/glib/gio/gliststore.c:187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - GListModel*
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: g_list_store_get_n_items
    functionSourceFile: /src/glib/gio/gliststore.c
    functionUses: []
    functionsReached:
    - g_sequence_get_length
    - G_LIST_STORE
    linkageType: ''
    returnType: guint
    signature: 'static guint g_list_store_get_n_items (GListModel *list) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: G_LIST_STORE
      Src: /src/glib/gio/gliststore.c:194,1
    - Dst: g_sequence_iter_prev
      Src: /src/glib/gio/gliststore.c:200,1
    - Dst: g_sequence_iter_is_end
      Src: /src/glib/gio/gliststore.c:214,1
    - Dst: g_sequence_get_iter_at_pos
      Src: /src/glib/gio/gliststore.c:208,1
    - Dst: g_sequence_iter_next
      Src: /src/glib/gio/gliststore.c:202,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gliststore.c:217,1
    - Dst: g_sequence_get
      Src: /src/glib/gio/gliststore.c:217,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 2
    argNames:
    - list
    - position
    argTypes:
    - GListModel*
    - guint
    constantsTouched: []
    func_position:
      end: 218
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 218
    functionName: g_list_store_get_item
    functionSourceFile: /src/glib/gio/gliststore.c
    functionUses: []
    functionsReached:
    - g_sequence_get_iter_at_pos
    - g_sequence_iter_next
    - g_sequence_iter_prev
    - g_sequence_iter_is_end
    - g_object_ref
    - G_LIST_STORE
    - g_sequence_get
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer g_list_store_get_item (GListModel *list, guint position) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gliststore.c:581,1
    - Dst: G_OBJECT_TYPE
      Src: /src/glib/gio/gliststore.c:582,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gliststore.c:582,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/gliststore.c:582,1
    - Dst: G_IS_LIST_STORE
      Src: /src/glib/gio/gliststore.c:581,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gliststore.c:584,1
    - Dst: g_sequence_get_begin_iter
      Src: /src/glib/gio/gliststore.c:588,1
    - Dst: g_sequence_get_end_iter
      Src: /src/glib/gio/gliststore.c:589,1
    - Dst: g_sequence_get
      Src: /src/glib/gio/gliststore.c:596,1
    - Dst: equal_func
      Src: /src/glib/gio/gliststore.c:597,1
    - Dst: g_sequence_iter_next
      Src: /src/glib/gio/gliststore.c:604,1
    - Dst: g_sequence_iter_get_position
      Src: /src/glib/gio/gliststore.c:600,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 5
    argNames:
    - store
    - item
    - equal_func
    - user_data
    - position
    argTypes:
    - GListStore*
    - gpointer
    - GEqualFuncFull
    - gpointer
    - guint*
    constantsTouched: []
    func_position:
      end: 608
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 608
    functionName: g_list_store_find_with_equal_func_full
    functionSourceFile: /src/glib/gio/gliststore.c
    functionUses: []
    functionsReached:
    - G_OBJECT_TYPE
    - g_return_val_if_fail
    - g_sequence_get_end_iter
    - g_sequence_get_begin_iter
    - g_sequence_iter_next
    - g_sequence_iter_get_position
    - g_type_is_a
    - equal_func
    - g_sequence_get
    - G_IS_LIST_STORE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_list_store_find_with_equal_func_full (GListStore *store,
      gpointer item, GEqualFuncFull equal_func, gpointer user_data, guint *position) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GListModelInterface*
    constantsTouched: []
    func_position:
      end: 226
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 226
    functionName: g_list_store_iface_init
    functionSourceFile: /src/glib/gio/gliststore.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_list_store_iface_init (GListModelInterface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gliststore.c:252,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/gliststore.c:252,1
    - Dst: g_object_new
      Src: /src/glib/gio/gliststore.c:254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 257
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 257
    functionName: g_list_store_new
    functionSourceFile: /src/glib/gio/gliststore.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_object_new
    - g_type_is_a
    linkageType: ''
    returnType: GListStore*
    signature: 'GListStore *g_list_store_new (GType item_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gliststore.c:546,1
    - Dst: g_list_store_find_with_equal_func_full
      Src: /src/glib/gio/gliststore.c:548,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - store
    - item
    - equal_func
    - position
    argTypes:
    - GListStore*
    - gpointer
    - GEqualFunc
    - guint*
    constantsTouched: []
    func_position:
      end: 550
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 550
    functionName: g_list_store_find_with_equal_func
    functionSourceFile: /src/glib/gio/gliststore.c
    functionUses: []
    functionsReached:
    - g_list_store_find_with_equal_func_full
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_list_store_find_with_equal_func (GListStore *store, gpointer
      item, GEqualFunc equal_func, guint *position) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_get
      Src: /src/glib/gio/gnetworkmonitor.c:138,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gnetworkmonitor.c:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - monitor
    argTypes:
    - GNetworkMonitor*
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: g_network_monitor_get_network_metered
    functionSourceFile: /src/glib/gio/gnetworkmonitor.c
    functionUses: []
    functionsReached:
    - g_object_get
    - G_OBJECT
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_network_monitor_get_network_metered (GNetworkMonitor *monitor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_get
      Src: /src/glib/gio/gnetworkmonitor.c:175,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gnetworkmonitor.c:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - monitor
    argTypes:
    - GNetworkMonitor*
    constantsTouched: []
    func_position:
      end: 178
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 178
    functionName: g_network_monitor_get_connectivity
    functionSourceFile: /src/glib/gio/gnetworkmonitor.c
    functionUses: []
    functionsReached:
    - g_object_get
    - G_OBJECT
    linkageType: ''
    returnType: GNetworkConnectivity
    signature: 'GNetworkConnectivity g_network_monitor_get_connectivity (GNetworkMonitor
      *monitor) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/gnetworkmonitor.c:231,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gnetworkmonitor.c:232,1
    - Dst: g_network_monitor_can_reach
      Src: /src/glib/gio/gnetworkmonitor.c:234,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gnetworkmonitor.c:235,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gnetworkmonitor.c:237,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkmonitor.c:238,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 5
    argNames:
    - monitor
    - connectable
    - cancellable
    - callback
    - user_data
    argTypes:
    - GNetworkMonitor*
    - GSocketConnectable*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 239
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 239
    functionName: g_network_monitor_real_can_reach_async
    functionSourceFile: /src/glib/gio/gnetworkmonitor.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_task_new
    - g_object_unref
    - g_task_set_source_tag
    - g_network_monitor_can_reach
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void g_network_monitor_real_can_reach_async (GNetworkMonitor
      *monitor, GSocketConnectable *connectable, GCancellable *cancellable, GAsyncReadyCallback
      callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gnetworkmonitor.c:278,1
    - Dst: G_TASK
      Src: /src/glib/gio/gnetworkmonitor.c:280,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gnetworkmonitor.c:278,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gnetworkmonitor.c:280,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - monitor
    - result
    - error
    argTypes:
    - GNetworkMonitor*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 281
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 281
    functionName: g_network_monitor_real_can_reach_finish
    functionSourceFile: /src/glib/gio/gnetworkmonitor.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_task_is_valid
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_network_monitor_real_can_reach_finish (GNetworkMonitor
      *monitor, GAsyncResult *result, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter_pointer
      Src: /src/glib/gio/gnetworkmonitor.c:86,1
    - Dst: _g_io_module_get_default
      Src: /src/glib/gio/gnetworkmonitor.c:90,1
    - Dst: g_once_init_leave_pointer
      Src: /src/glib/gio/gnetworkmonitor.c:94,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 98
    functionName: g_network_monitor_get_default
    functionSourceFile: /src/glib/gio/gnetworkmonitor.c
    functionUses: []
    functionsReached:
    - g_once_init_leave_pointer
    - _g_io_module_get_default
    - g_once_init_enter_pointer
    linkageType: ''
    returnType: GNetworkMonitor*
    signature: 'GNetworkMonitor *g_network_monitor_get_default (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_new
      Src: /src/glib/gio/gnetworkmonitor.c:321,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gnetworkmonitor.c:324,1
    - Dst: I_
      Src: /src/glib/gio/gnetworkmonitor.c:321,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gnetworkmonitor.c:354,1
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gnetworkmonitor.c:353,1
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gnetworkmonitor.c:386,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gnetworkmonitor.c:387,1
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gnetworkmonitor.c:401,1
    - Dst: g_param_spec_enum
      Src: /src/glib/gio/gnetworkmonitor.c:402,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GNetworkMonitorInterface*
    constantsTouched: []
    func_position:
      end: 407
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 407
    functionName: g_network_monitor_default_init
    functionSourceFile: /src/glib/gio/gnetworkmonitor.c
    functionUses: []
    functionsReached:
    - I_
    - G_STRUCT_OFFSET
    - g_param_spec_boolean
    - g_object_interface_install_property
    - g_signal_new
    - g_param_spec_enum
    linkageType: ''
    returnType: void
    signature: 'static void g_network_monitor_default_init (GNetworkMonitorInterface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_get
      Src: /src/glib/gio/gnetworkmonitor.c:118,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gnetworkmonitor.c:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - monitor
    argTypes:
    - GNetworkMonitor*
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: g_network_monitor_get_network_available
    functionSourceFile: /src/glib/gio/gnetworkmonitor.c
    functionUses: []
    functionsReached:
    - g_object_get
    - G_OBJECT
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_network_monitor_get_network_available (GNetworkMonitor
      *monitor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_NETWORK_MONITOR_GET_INTERFACE
      Src: /src/glib/gio/gnetworkmonitor.c:217,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 4
    argNames:
    - monitor
    - connectable
    - cancellable
    - error
    argTypes:
    - GNetworkMonitor*
    - GSocketConnectable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 219
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 219
    functionName: g_network_monitor_can_reach
    functionSourceFile: /src/glib/gio/gnetworkmonitor.c
    functionUses: []
    functionsReached:
    - G_NETWORK_MONITOR_GET_INTERFACE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_network_monitor_can_reach (GNetworkMonitor *monitor, GSocketConnectable
      *connectable, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_NETWORK_MONITOR_GET_INTERFACE
      Src: /src/glib/gio/gnetworkmonitor.c:269,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 5
    argNames:
    - monitor
    - connectable
    - cancellable
    - callback
    - user_data
    argTypes:
    - GNetworkMonitor*
    - GSocketConnectable*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 271
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 271
    functionName: g_network_monitor_can_reach_async
    functionSourceFile: /src/glib/gio/gnetworkmonitor.c
    functionUses: []
    functionsReached:
    - G_NETWORK_MONITOR_GET_INTERFACE
    linkageType: ''
    returnType: void
    signature: 'void g_network_monitor_can_reach_async (GNetworkMonitor *monitor,
      GSocketConnectable *connectable, GCancellable *cancellable, GAsyncReadyCallback
      callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_NETWORK_MONITOR_GET_INTERFACE
      Src: /src/glib/gio/gnetworkmonitor.c:301,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - monitor
    - result
    - error
    argTypes:
    - GNetworkMonitor*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 303
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 303
    functionName: g_network_monitor_can_reach_finish
    functionSourceFile: /src/glib/gio/gnetworkmonitor.c
    functionUses: []
    functionsReached:
    - G_NETWORK_MONITOR_GET_INTERFACE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_network_monitor_can_reach_finish (GNetworkMonitor *monitor,
      GAsyncResult *result, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE_ENUMERATOR
      Src: /src/glib/gio/gfileenumerator.c:122,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gfileenumerator.c:129,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfileenumerator.c:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 130
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 130
    functionName: g_file_enumerator_dispose
    functionSourceFile: /src/glib/gio/gfileenumerator.c
    functionUses: []
    functionsReached:
    - G_FILE_ENUMERATOR
    - g_object_unref
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_file_enumerator_dispose (GObject *object) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileenumerator.c:397,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileenumerator.c:399,1
    - Dst: G_IS_FILE_ENUMERATOR
      Src: /src/glib/gio/gfileenumerator.c:397,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileenumerator.c:398,1
    - Dst: g_task_new
      Src: /src/glib/gio/gfileenumerator.c:405,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfileenumerator.c:406,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gfileenumerator.c:407,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfileenumerator.c:408,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gfileenumerator.c:414,1
    - Dst: _
      Src: /src/glib/gio/gfileenumerator.c:417,1
    - Dst: G_FILE_ENUMERATOR_GET_CLASS
      Src: /src/glib/gio/gfileenumerator.c:430,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gfileenumerator.c:423,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gfileenumerator.c:434,1
    - Dst: _
      Src: /src/glib/gio/gfileenumerator.c:426,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 6
    argNames:
    - enumerator
    - num_files
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFileEnumerator*
    - int
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 437
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 437
    functionName: g_file_enumerator_next_files_async
    functionSourceFile: /src/glib/gio/gfileenumerator.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_object_unref
    - g_task_return_pointer
    - g_task_set_source_tag
    - g_return_if_fail
    - g_task_report_new_error
    - G_FILE_ENUMERATOR_GET_CLASS
    - g_object_ref
    - _
    - G_IS_FILE_ENUMERATOR
    linkageType: ''
    returnType: void
    signature: "void g_file_enumerator_next_files_async (GFileEnumerator *enumerator,\t\
      \t\t\t int num_files,\t\t\t\t int io_priority,\t\t\t\t GCancellable *cancellable,\t\
      \t\t\t GAsyncReadyCallback callback,\t\t\t\t gpointer user_data) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileenumerator.c:459,1
    - Dst: G_IS_FILE_ENUMERATOR
      Src: /src/glib/gio/gfileenumerator.c:459,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileenumerator.c:460,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfileenumerator.c:462,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfileenumerator.c:460,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gfileenumerator.c:464,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gfileenumerator.c:465,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfileenumerator.c:465,1
    - Dst: G_FILE_ENUMERATOR_GET_CLASS
      Src: /src/glib/gio/gfileenumerator.c:467,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 469
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 469
    functionName: g_file_enumerator_next_files_finish
    functionSourceFile: /src/glib/gio/gfileenumerator.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    - G_FILE_ENUMERATOR_GET_CLASS
    - G_IS_ASYNC_RESULT
    - G_IS_FILE_ENUMERATOR
    - G_TASK
    - g_async_result_is_tagged
    - g_task_propagate_pointer
    linkageType: ''
    returnType: GList*
    signature: "GList *g_file_enumerator_next_files_finish (GFileEnumerator *enumerator,\t\
      \t\t\t GAsyncResult *result,\t\t\t\t GError **error) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileenumerator.c:510,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gfileenumerator.c:523,1
    - Dst: _
      Src: /src/glib/gio/gfileenumerator.c:517,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gfileenumerator.c:514,1
    - Dst: G_IS_FILE_ENUMERATOR
      Src: /src/glib/gio/gfileenumerator.c:510,1
    - Dst: _
      Src: /src/glib/gio/gfileenumerator.c:526,1
    - Dst: G_FILE_ENUMERATOR_GET_CLASS
      Src: /src/glib/gio/gfileenumerator.c:530,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gfileenumerator.c:534,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 5
    argNames:
    - enumerator
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFileEnumerator*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 537
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 537
    functionName: g_file_enumerator_close_async
    functionSourceFile: /src/glib/gio/gfileenumerator.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - g_task_report_new_error
    - G_FILE_ENUMERATOR_GET_CLASS
    - g_object_ref
    - _
    - G_IS_FILE_ENUMERATOR
    linkageType: ''
    returnType: void
    signature: "void g_file_enumerator_close_async (GFileEnumerator *enumerator,\t\
      \t\t int io_priority,\t\t\t GCancellable *cancellable,\t\t\t GAsyncReadyCallback\
      \ callback,\t\t\t gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/gfileenumerator.c:874,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gfileenumerator.c:877,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfileenumerator.c:875,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gfileenumerator.c:876,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gfileenumerator.c:876,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gfileenumerator.c:879,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfileenumerator.c:880,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 6
    argNames:
    - enumerator
    - num_files
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFileEnumerator*
    - int
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 881
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 881
    functionName: g_file_enumerator_real_next_files_async
    functionSourceFile: /src/glib/gio/gfileenumerator.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_object_unref
    - g_task_set_priority
    - g_task_set_source_tag
    - g_task_run_in_thread
    - GINT_TO_POINTER
    - g_task_set_task_data
    linkageType: ''
    returnType: void
    signature: "static void g_file_enumerator_real_next_files_async (GFileEnumerator\
      \ *enumerator,\t\t\t\t\t int num_files,\t\t\t\t\t int io_priority,\t\t\t\t\t\
      \ GCancellable *cancellable,\t\t\t\t\t GAsyncReadyCallback callback,\t\t\t\t\
      \t gpointer user_data) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE_ENUMERATOR
      Src: /src/glib/gio/gfileenumerator.c:105,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gfileenumerator.c:112,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/gfileenumerator.c:109,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 4
    argNames:
    - object
    - property_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 115
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 115
    functionName: g_file_enumerator_set_property
    functionSourceFile: /src/glib/gio/gfileenumerator.c
    functionUses: []
    functionsReached:
    - G_FILE_ENUMERATOR
    - g_value_dup_object
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: 'static void g_file_enumerator_set_property (GObject *object, guint
      property_id, const GValue *value, GParamSpec *pspec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE_ENUMERATOR
      Src: /src/glib/gio/gfileenumerator.c:137,1
    - Dst: g_file_enumerator_close
      Src: /src/glib/gio/gfileenumerator.c:140,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gfileenumerator.c:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 143
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 143
    functionName: g_file_enumerator_finalize
    functionSourceFile: /src/glib/gio/gfileenumerator.c
    functionUses: []
    functionsReached:
    - g_file_enumerator_close
    - G_FILE_ENUMERATOR
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_file_enumerator_finalize (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE_ENUMERATOR
      Src: /src/glib/gio/gfileenumerator.c:476,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfileenumerator.c:482,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 483
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 483
    functionName: close_async_callback_wrapper
    functionSourceFile: /src/glib/gio/gfileenumerator.c
    functionUses: []
    functionsReached:
    - G_FILE_ENUMERATOR
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: "static void close_async_callback_wrapper (GObject *source_object,\t\
      \t\t GAsyncResult *res,\t\t\t gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileenumerator.c:888,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gfileenumerator.c:890,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfileenumerator.c:890,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfileenumerator.c:888,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 891
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 891
    functionName: g_file_enumerator_real_next_files_finish
    functionSourceFile: /src/glib/gio/gfileenumerator.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_return_val_if_fail
    - g_task_is_valid
    - g_task_propagate_pointer
    linkageType: ''
    returnType: GList*
    signature: "static GList *g_file_enumerator_real_next_files_finish (GFileEnumerator\
      \ *enumerator,\t\t\t\t\t GAsyncResult *result,\t\t\t\t\t GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE_ENUMERATOR
      Src: /src/glib/gio/gfileenumerator.c:304,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfileenumerator.c:309,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 310
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 310
    functionName: next_async_callback_wrapper
    functionSourceFile: /src/glib/gio/gfileenumerator.c
    functionUses: []
    functionsReached:
    - G_FILE_ENUMERATOR
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: "static void next_async_callback_wrapper (GObject *source_object,\t\
      \t\t GAsyncResult *res,\t\t\t gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileenumerator.c:605,1
    - Dst: G_IS_FILE_ENUMERATOR
      Src: /src/glib/gio/gfileenumerator.c:605,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - enumerator
    argTypes:
    - GFileEnumerator*
    constantsTouched: []
    func_position:
      end: 608
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 608
    functionName: g_file_enumerator_has_pending
    functionSourceFile: /src/glib/gio/gfileenumerator.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_ENUMERATOR
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_enumerator_has_pending (GFileEnumerator *enumerator) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gfileenumerator.c:148,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gfileenumerator.c:164,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gfileenumerator.c:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GFileEnumeratorClass*
    constantsTouched: []
    func_position:
      end: 171
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 171
    functionName: g_file_enumerator_class_init
    functionSourceFile: /src/glib/gio/gfileenumerator.c
    functionUses: []
    functionsReached:
    - g_param_spec_object
    - g_object_class_install_property
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_file_enumerator_class_init (GFileEnumeratorClass *klass) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE_ENUMERATOR_GET_CLASS
      Src: /src/glib/gio/gfileenumerator.c:904,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfileenumerator.c:909,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gfileenumerator.c:907,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 4
    argNames:
    - task
    - source_object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 910
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 910
    functionName: close_async_thread
    functionSourceFile: /src/glib/gio/gfileenumerator.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - G_FILE_ENUMERATOR_GET_CLASS
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void close_async_thread (GTask *task, gpointer source_object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_enumerator_get_instance_private
      Src: /src/glib/gio/gfileenumerator.c:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - enumerator
    argTypes:
    - GFileEnumerator*
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: g_file_enumerator_init
    functionSourceFile: /src/glib/gio/gfileenumerator.c
    functionUses: []
    functionsReached:
    - g_file_enumerator_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_file_enumerator_init (GFileEnumerator *enumerator) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/gfileenumerator.c:921,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfileenumerator.c:926,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gfileenumerator.c:925,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gfileenumerator.c:923,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfileenumerator.c:922,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 5
    argNames:
    - enumerator
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFileEnumerator*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 927
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 927
    functionName: g_file_enumerator_real_close_async
    functionSourceFile: /src/glib/gio/gfileenumerator.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_object_unref
    - g_task_run_in_thread
    - g_task_set_priority
    - g_task_set_source_tag
    linkageType: ''
    returnType: void
    signature: "static void g_file_enumerator_real_close_async (GFileEnumerator *enumerator,\t\
      \t\t\t int io_priority,\t\t\t\t GCancellable *cancellable,\t\t\t\t GAsyncReadyCallback\
      \ callback,\t\t\t\t gpointer user_data) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileenumerator.c:566,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileenumerator.c:567,1
    - Dst: G_IS_FILE_ENUMERATOR
      Src: /src/glib/gio/gfileenumerator.c:566,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfileenumerator.c:567,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfileenumerator.c:569,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gfileenumerator.c:571,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gfileenumerator.c:572,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfileenumerator.c:572,1
    - Dst: G_FILE_ENUMERATOR_GET_CLASS
      Src: /src/glib/gio/gfileenumerator.c:574,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - enumerator
    - result
    - error
    argTypes:
    - GFileEnumerator*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 576
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 576
    functionName: g_file_enumerator_close_finish
    functionSourceFile: /src/glib/gio/gfileenumerator.c
    functionUses: []
    functionsReached:
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    - G_FILE_ENUMERATOR_GET_CLASS
    - G_IS_ASYNC_RESULT
    - G_IS_FILE_ENUMERATOR
    - G_TASK
    - g_async_result_is_tagged
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_file_enumerator_close_finish (GFileEnumerator *enumerator,\t\
      \t\t\tGAsyncResult *result,\t\t\t\tGError **error) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileenumerator.c:270,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileenumerator.c:271,1
    - Dst: G_IS_FILE_ENUMERATOR
      Src: /src/glib/gio/gfileenumerator.c:270,1
    - Dst: G_FILE_ENUMERATOR_GET_CLASS
      Src: /src/glib/gio/gfileenumerator.c:273,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfileenumerator.c:280,1
    - Dst: _
      Src: /src/glib/gio/gfileenumerator.c:281,1
    - Dst: g_cancellable_push_current
      Src: /src/glib/gio/gfileenumerator.c:286,1
    - Dst: g_cancellable_pop_current
      Src: /src/glib/gio/gfileenumerator.c:294,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 3
    argNames:
    - enumerator
    - cancellable
    - error
    argTypes:
    - GFileEnumerator*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 297
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 297
    functionName: g_file_enumerator_close
    functionSourceFile: /src/glib/gio/gfileenumerator.c
    functionUses: []
    functionsReached:
    - g_cancellable_pop_current
    - g_return_val_if_fail
    - G_FILE_ENUMERATOR_GET_CLASS
    - g_set_error_literal
    - g_cancellable_push_current
    - _
    - G_IS_FILE_ENUMERATOR
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_file_enumerator_close (GFileEnumerator *enumerator,\t\t\
      \t GCancellable *cancellable,\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileenumerator.c:621,1
    - Dst: G_IS_FILE_ENUMERATOR
      Src: /src/glib/gio/gfileenumerator.c:621,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - enumerator
    - pending
    argTypes:
    - GFileEnumerator*
    - gboolean
    constantsTouched: []
    func_position:
      end: 624
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 624
    functionName: g_file_enumerator_set_pending
    functionSourceFile: /src/glib/gio/gfileenumerator.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_ENUMERATOR
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_file_enumerator_set_pending (GFileEnumerator *enumerator,\t\
      \t\t gboolean pending) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileenumerator.c:759,1
    - Dst: G_IS_FILE_ENUMERATOR
      Src: /src/glib/gio/gfileenumerator.c:759,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 762
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 762
    functionName: g_file_enumerator_get_container
    functionSourceFile: /src/glib/gio/gfileenumerator.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_ENUMERATOR
    - g_return_val_if_fail
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *g_file_enumerator_get_container (GFileEnumerator *enumerator) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileenumerator.c:209,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfileenumerator.c:214,1
    - Dst: _
      Src: /src/glib/gio/gfileenumerator.c:215,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileenumerator.c:210,1
    - Dst: G_IS_FILE_ENUMERATOR
      Src: /src/glib/gio/gfileenumerator.c:209,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfileenumerator.c:221,1
    - Dst: _
      Src: /src/glib/gio/gfileenumerator.c:222,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gfileenumerator.c:228,1
    - Dst: G_FILE_ENUMERATOR_GET_CLASS
      Src: /src/glib/gio/gfileenumerator.c:233,1
    - Dst: g_cancellable_push_current
      Src: /src/glib/gio/gfileenumerator.c:236,1
    - Dst: g_cancellable_pop_current
      Src: /src/glib/gio/gfileenumerator.c:243,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 246
    functionName: g_file_enumerator_next_file
    functionSourceFile: /src/glib/gio/gfileenumerator.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_cancellable_pop_current
    - g_return_val_if_fail
    - G_FILE_ENUMERATOR_GET_CLASS
    - g_set_error_literal
    - g_cancellable_push_current
    - _
    - G_IS_FILE_ENUMERATOR
    linkageType: ''
    returnType: GFileInfo*
    signature: "GFileInfo *g_file_enumerator_next_file (GFileEnumerator *enumerator,\t\
      \t\t GCancellable *cancellable,\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileenumerator.c:589,1
    - Dst: G_IS_FILE_ENUMERATOR
      Src: /src/glib/gio/gfileenumerator.c:589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - enumerator
    argTypes:
    - GFileEnumerator*
    constantsTouched: []
    func_position:
      end: 592
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 592
    functionName: g_file_enumerator_is_closed
    functionSourceFile: /src/glib/gio/gfileenumerator.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_ENUMERATOR
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_enumerator_is_closed (GFileEnumerator *enumerator) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_free_full
      Src: /src/glib/gio/gfileenumerator.c:811,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - files
    argTypes:
    - GList*
    constantsTouched: []
    func_position:
      end: 812
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 812
    functionName: next_async_op_free
    functionSourceFile: /src/glib/gio/gfileenumerator.c
    functionUses: []
    functionsReached:
    - g_list_free_full
    linkageType: ''
    returnType: void
    signature: 'static void next_async_op_free (GList *files) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gio/gfileenumerator.c:821,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gfileenumerator.c:832,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gfileenumerator.c:842,1
    - Dst: G_FILE_ENUMERATOR_GET_CLASS
      Src: /src/glib/gio/gfileenumerator.c:828,1
    - Dst: g_error_free
      Src: /src/glib/gio/gfileenumerator.c:843,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gfileenumerator.c:852,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gfileenumerator.c:857,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfileenumerator.c:858,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gfileenumerator.c:861,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 4
    argNames:
    - task
    - source_object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 862
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 862
    functionName: next_files_thread
    functionSourceFile: /src/glib/gio/gfileenumerator.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_task_return_pointer
    - g_list_free_full
    - G_FILE_ENUMERATOR_GET_CLASS
    - g_error_matches
    - g_error_free
    - g_list_prepend
    - g_cancellable_set_error_if_cancelled
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void next_files_thread (GTask *task, gpointer source_object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileenumerator.c:934,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfileenumerator.c:936,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfileenumerator.c:934,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gfileenumerator.c:936,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - enumerator
    - result
    - error
    argTypes:
    - GFileEnumerator*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 937
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 937
    functionName: g_file_enumerator_real_close_finish
    functionSourceFile: /src/glib/gio/gfileenumerator.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_task_is_valid
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_file_enumerator_real_close_finish (GFileEnumerator
      *enumerator, GAsyncResult *result, GError **error) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileenumerator.c:691,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileenumerator.c:692,1
    - Dst: g_once_init_enter
      Src: /src/glib/gio/gfileenumerator.c:694,1
    - Dst: g_quark_from_static_string
      Src: /src/glib/gio/gfileenumerator.c:697,1
    - Dst: g_quark_from_static_string
      Src: /src/glib/gio/gfileenumerator.c:696,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/gfileenumerator.c:698,1
    - Dst: g_file_enumerator_next_file
      Src: /src/glib/gio/gfileenumerator.c:701,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gfileenumerator.c:704,1
    - Dst: g_file_info_get_name
      Src: /src/glib/gio/gfileenumerator.c:712,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gfileenumerator.c:714,1
    - Dst: g_critical
      Src: /src/glib/gio/gfileenumerator.c:716,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/gfileenumerator.c:721,1
    - Dst: g_file_enumerator_get_container
      Src: /src/glib/gio/gfileenumerator.c:721,1
    - Dst: g_return_val_if_reached
      Src: /src/glib/gio/gfileenumerator.c:717,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfileenumerator.c:731,1
    - Dst: g_object_set_qdata_full
      Src: /src/glib/gio/gfileenumerator.c:727,1
    - Dst: g_object_set_qdata_full
      Src: /src/glib/gio/gfileenumerator.c:722,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 42
    argCount: 5
    argNames:
    - direnum
    - out_info
    - out_child
    - cancellable
    - error
    argTypes:
    - GFileEnumerator*
    - GFileInfo**
    - GFile**
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 744
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 744
    functionName: g_file_enumerator_iterate
    functionSourceFile: /src/glib/gio/gfileenumerator.c
    functionUses: []
    functionsReached:
    - g_once_init_leave
    - g_propagate_error
    - g_return_val_if_fail
    - g_quark_from_static_string
    - g_file_enumerator_next_file
    - g_return_val_if_reached
    - g_object_unref
    - g_once_init_enter
    - g_file_enumerator_get_container
    - g_object_set_qdata_full
    - g_file_get_child
    - G_UNLIKELY
    - g_critical
    - g_file_info_get_name
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_enumerator_iterate (GFileEnumerator *direnum, GFileInfo
      **out_info, GFile **out_child, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileenumerator.c:794,1
    - Dst: G_IS_FILE_ENUMERATOR
      Src: /src/glib/gio/gfileenumerator.c:794,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileenumerator.c:795,1
    - Dst: g_file_info_get_name
      Src: /src/glib/gio/gfileenumerator.c:797,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileenumerator.c:795,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gfileenumerator.c:799,1
    - Dst: g_critical
      Src: /src/glib/gio/gfileenumerator.c:801,1
    - Dst: g_return_val_if_reached
      Src: /src/glib/gio/gfileenumerator.c:802,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/gfileenumerator.c:805,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 806
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 806
    functionName: g_file_enumerator_get_child
    functionSourceFile: /src/glib/gio/gfileenumerator.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_return_val_if_reached
    - g_file_info_get_name
    - g_file_get_child
    - G_UNLIKELY
    - g_critical
    - G_IS_FILE_ENUMERATOR
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *g_file_enumerator_get_child (GFileEnumerator *enumerator, GFileInfo
      *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileoutputstream.c:330,1
    - Dst: G_IS_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/gfileoutputstream.c:330,1
    - Dst: G_FILE_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/gfileoutputstream.c:332,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GFileOutputStream*
    constantsTouched: []
    func_position:
      end: 343
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 343
    functionName: g_file_output_stream_can_seek
    functionSourceFile: /src/glib/gio/gfileoutputstream.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_OUTPUT_STREAM
    - g_return_val_if_fail
    - G_FILE_OUTPUT_STREAM_GET_CLASS
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_file_output_stream_can_seek (GFileOutputStream *stream) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileoutputstream.c:362,1
    - Dst: G_FILE_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/gfileoutputstream.c:365,1
    - Dst: G_IS_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/gfileoutputstream.c:362,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gfileoutputstream.c:364,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfileoutputstream.c:369,1
    - Dst: _
      Src: /src/glib/gio/gfileoutputstream.c:370,1
    - Dst: g_output_stream_set_pending
      Src: /src/glib/gio/gfileoutputstream.c:374,1
    - Dst: g_cancellable_push_current
      Src: /src/glib/gio/gfileoutputstream.c:378,1
    - Dst: g_cancellable_pop_current
      Src: /src/glib/gio/gfileoutputstream.c:383,1
    - Dst: g_output_stream_clear_pending
      Src: /src/glib/gio/gfileoutputstream.c:385,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 5
    argNames:
    - stream
    - offset
    - type
    - cancellable
    - error
    argTypes:
    - GFileOutputStream*
    - goffset
    - GSeekType
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 388
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 388
    functionName: g_file_output_stream_seek
    functionSourceFile: /src/glib/gio/gfileoutputstream.c
    functionUses: []
    functionsReached:
    - g_cancellable_pop_current
    - g_return_val_if_fail
    - G_FILE_OUTPUT_STREAM_GET_CLASS
    - g_output_stream_set_pending
    - g_output_stream_clear_pending
    - g_set_error_literal
    - g_cancellable_push_current
    - _
    - G_IS_FILE_OUTPUT_STREAM
    - G_OUTPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_file_output_stream_seek (GFileOutputStream *stream,\t\
      \t\t goffset offset,\t\t\t GSeekType type,\t\t\t GCancellable *cancellable,\t\
      \t\t GError **error) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileoutputstream.c:438,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gfileoutputstream.c:440,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfileoutputstream.c:445,1
    - Dst: G_FILE_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/gfileoutputstream.c:441,1
    - Dst: G_IS_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/gfileoutputstream.c:438,1
    - Dst: _
      Src: /src/glib/gio/gfileoutputstream.c:446,1
    - Dst: g_output_stream_set_pending
      Src: /src/glib/gio/gfileoutputstream.c:450,1
    - Dst: g_cancellable_push_current
      Src: /src/glib/gio/gfileoutputstream.c:454,1
    - Dst: g_cancellable_pop_current
      Src: /src/glib/gio/gfileoutputstream.c:459,1
    - Dst: g_output_stream_clear_pending
      Src: /src/glib/gio/gfileoutputstream.c:461,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 4
    argNames:
    - stream
    - size
    - cancellable
    - error
    argTypes:
    - GFileOutputStream*
    - goffset
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 464
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 464
    functionName: g_file_output_stream_truncate
    functionSourceFile: /src/glib/gio/gfileoutputstream.c
    functionUses: []
    functionsReached:
    - g_cancellable_pop_current
    - g_return_val_if_fail
    - G_FILE_OUTPUT_STREAM_GET_CLASS
    - g_output_stream_set_pending
    - g_output_stream_clear_pending
    - g_set_error_literal
    - g_cancellable_push_current
    - _
    - G_IS_FILE_OUTPUT_STREAM
    - G_OUTPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_file_output_stream_truncate (GFileOutputStream *stream,\t\
      \t\t goffset size,\t\t\t GCancellable *cancellable,\t\t\t GError **error) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/gfileoutputstream.c:491,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfileoutputstream.c:495,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfileoutputstream.c:499,1
    - Dst: _
      Src: /src/glib/gio/gfileoutputstream.c:496,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gfileoutputstream.c:501,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 4
    argNames:
    - task
    - source_object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 502
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 502
    functionName: query_info_async_thread
    functionSourceFile: /src/glib/gio/gfileoutputstream.c
    functionUses: []
    functionsReached:
    - G_FILE_OUTPUT_STREAM_GET_CLASS
    - g_task_return_pointer
    - g_set_error_literal
    - _
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void query_info_async_thread (GTask *task, gpointer source_object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_output_stream_can_seek
      Src: /src/glib/gio/gfileoutputstream.c:348,1
    - Dst: G_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/gfileoutputstream.c:348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - seekable
    argTypes:
    - GSeekable*
    constantsTouched: []
    func_position:
      end: 349
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 349
    functionName: g_file_output_stream_seekable_can_seek
    functionSourceFile: /src/glib/gio/gfileoutputstream.c
    functionUses: []
    functionsReached:
    - G_FILE_OUTPUT_STREAM
    - g_file_output_stream_can_seek
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_file_output_stream_seekable_can_seek (GSeekable
      *seekable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_output_stream_seek
      Src: /src/glib/gio/gfileoutputstream.c:397,1
    - Dst: G_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/gfileoutputstream.c:397,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 5
    argNames:
    - seekable
    - offset
    - type
    - cancellable
    - error
    argTypes:
    - GSeekable*
    - goffset
    - GSeekType
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 399
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 399
    functionName: g_file_output_stream_seekable_seek
    functionSourceFile: /src/glib/gio/gfileoutputstream.c
    functionUses: []
    functionsReached:
    - G_FILE_OUTPUT_STREAM
    - g_file_output_stream_seek
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_file_output_stream_seekable_seek (GSeekable *seekable,\t\
      \t\t\t goffset offset,\t\t\t\t GSeekType type,\t\t\t\t GCancellable *cancellable,\t\
      \t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_output_stream_truncate
      Src: /src/glib/gio/gfileoutputstream.c:472,1
    - Dst: G_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/gfileoutputstream.c:472,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - seekable
    - size
    - cancellable
    - error
    argTypes:
    - GSeekable*
    - goffset
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 474
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 474
    functionName: g_file_output_stream_seekable_truncate
    functionSourceFile: /src/glib/gio/gfileoutputstream.c
    functionUses: []
    functionsReached:
    - G_FILE_OUTPUT_STREAM
    - g_file_output_stream_truncate
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_file_output_stream_seekable_truncate (GSeekable\
      \ *seekable,\t\t\t\t\tgoffset size,\t\t\t\t\tGCancellable *cancellable,\t\t\t\
      \t\tGError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/gfileoutputstream.c:514,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfileoutputstream.c:516,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gfileoutputstream.c:516,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfileoutputstream.c:515,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gfileoutputstream.c:517,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gfileoutputstream.c:519,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfileoutputstream.c:520,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 6
    argNames:
    - stream
    - attributes
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFileOutputStream*
    - char*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 521
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 521
    functionName: g_file_output_stream_real_query_info_async
    functionSourceFile: /src/glib/gio/gfileoutputstream.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_task_new
    - g_object_unref
    - g_task_set_priority
    - g_task_set_source_tag
    - g_task_run_in_thread
    - g_task_set_task_data
    linkageType: ''
    returnType: void
    signature: "static void g_file_output_stream_real_query_info_async (GFileOutputStream\
      \ *stream,\t\t\t\t\t const char *attributes,\t\t\t\t\t int io_priority,\t\t\t\
      \t\t GCancellable *cancellable,\t\t\t\t\t GAsyncReadyCallback callback,\t\t\t\
      \t\t gpointer user_data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileoutputstream.c:215,1
    - Dst: G_IS_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/gfileoutputstream.c:215,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gfileoutputstream.c:217,1
    - Dst: g_output_stream_set_pending
      Src: /src/glib/gio/gfileoutputstream.c:219,1
    - Dst: g_task_report_error
      Src: /src/glib/gio/gfileoutputstream.c:221,1
    - Dst: G_FILE_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/gfileoutputstream.c:227,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gfileoutputstream.c:230,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 6
    argNames:
    - stream
    - attributes
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFileOutputStream*
    - char*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 233
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 233
    functionName: g_file_output_stream_query_info_async
    functionSourceFile: /src/glib/gio/gfileoutputstream.c
    functionUses: []
    functionsReached:
    - G_FILE_OUTPUT_STREAM_GET_CLASS
    - g_output_stream_set_pending
    - g_return_if_fail
    - g_task_report_error
    - g_object_ref
    - G_IS_FILE_OUTPUT_STREAM
    - G_OUTPUT_STREAM
    linkageType: ''
    returnType: void
    signature: "void g_file_output_stream_query_info_async (GFileOutputStream *stream,\t\
      \t\t\t\t const char *attributes,\t\t\t\t\t int io_priority,\t\t\t\t\t GCancellable\
      \ *cancellable,\t\t\t\t\t GAsyncReadyCallback callback,\t\t\t\t\t gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GFileOutputStreamClass*
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: g_file_output_stream_class_init
    functionSourceFile: /src/glib/gio/gfileoutputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_file_output_stream_class_init (GFileOutputStreamClass
      *klass) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/gfileoutputstream.c:177,1
    - Dst: g_output_stream_clear_pending
      Src: /src/glib/gio/gfileoutputstream.c:179,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfileoutputstream.c:182,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gfileoutputstream.c:179,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 183
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 183
    functionName: async_ready_callback_wrapper
    functionSourceFile: /src/glib/gio/gfileoutputstream.c
    functionUses: []
    functionsReached:
    - G_FILE_OUTPUT_STREAM
    - g_object_unref
    - G_OUTPUT_STREAM
    - g_output_stream_clear_pending
    linkageType: ''
    returnType: void
    signature: "static void async_ready_callback_wrapper (GObject *source_object,\t\
      \t\t GAsyncResult *res,\t\t\t gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GSeekableIface*
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: g_file_output_stream_seekable_iface_init
    functionSourceFile: /src/glib/gio/gfileoutputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_file_output_stream_seekable_iface_init (GSeekableIface
      *iface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileoutputstream.c:307,1
    - Dst: G_IS_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/gfileoutputstream.c:307,1
    - Dst: G_FILE_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/gfileoutputstream.c:309,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GFileOutputStream*
    constantsTouched: []
    func_position:
      end: 316
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 316
    functionName: g_file_output_stream_tell
    functionSourceFile: /src/glib/gio/gfileoutputstream.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_OUTPUT_STREAM
    - g_return_val_if_fail
    - G_FILE_OUTPUT_STREAM_GET_CLASS
    linkageType: ''
    returnType: goffset
    signature: 'static goffset g_file_output_stream_tell (GFileOutputStream *stream) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileoutputstream.c:407,1
    - Dst: G_IS_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/gfileoutputstream.c:407,1
    - Dst: G_FILE_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/gfileoutputstream.c:409,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GFileOutputStream*
    constantsTouched: []
    func_position:
      end: 420
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 420
    functionName: g_file_output_stream_can_truncate
    functionSourceFile: /src/glib/gio/gfileoutputstream.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_OUTPUT_STREAM
    - g_return_val_if_fail
    - G_FILE_OUTPUT_STREAM_GET_CLASS
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_file_output_stream_can_truncate (GFileOutputStream
      *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_output_stream_tell
      Src: /src/glib/gio/gfileoutputstream.c:321,1
    - Dst: G_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/gfileoutputstream.c:321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - seekable
    argTypes:
    - GSeekable*
    constantsTouched: []
    func_position:
      end: 322
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 322
    functionName: g_file_output_stream_seekable_tell
    functionSourceFile: /src/glib/gio/gfileoutputstream.c
    functionUses: []
    functionsReached:
    - G_FILE_OUTPUT_STREAM
    - g_file_output_stream_tell
    linkageType: ''
    returnType: goffset
    signature: 'static goffset g_file_output_stream_seekable_tell (GSeekable *seekable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_output_stream_can_truncate
      Src: /src/glib/gio/gfileoutputstream.c:425,1
    - Dst: G_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/gfileoutputstream.c:425,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - seekable
    argTypes:
    - GSeekable*
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: g_file_output_stream_seekable_can_truncate
    functionSourceFile: /src/glib/gio/gfileoutputstream.c
    functionUses: []
    functionsReached:
    - G_FILE_OUTPUT_STREAM
    - g_file_output_stream_can_truncate
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_file_output_stream_seekable_can_truncate (GSeekable
      *seekable) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileoutputstream.c:282,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gfileoutputstream.c:284,1
    - Dst: g_output_stream_is_closed
      Src: /src/glib/gio/gfileoutputstream.c:286,1
    - Dst: g_warning
      Src: /src/glib/gio/gfileoutputstream.c:288,1
    - Dst: G_IS_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/gfileoutputstream.c:282,1
    - Dst: G_FILE_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/gfileoutputstream.c:294,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 299
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 299
    functionName: g_file_output_stream_get_etag
    functionSourceFile: /src/glib/gio/gfileoutputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_warning
    - G_FILE_OUTPUT_STREAM_GET_CLASS
    - g_output_stream_is_closed
    - G_IS_FILE_OUTPUT_STREAM
    - G_OUTPUT_STREAM
    linkageType: ''
    returnType: char*
    signature: 'char *g_file_output_stream_get_etag (GFileOutputStream *stream) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileoutputstream.c:145,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gfileoutputstream.c:147,1
    - Dst: g_output_stream_set_pending
      Src: /src/glib/gio/gfileoutputstream.c:149,1
    - Dst: g_cancellable_push_current
      Src: /src/glib/gio/gfileoutputstream.c:155,1
    - Dst: G_IS_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/gfileoutputstream.c:145,1
    - Dst: G_FILE_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/gfileoutputstream.c:157,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfileoutputstream.c:161,1
    - Dst: _
      Src: /src/glib/gio/gfileoutputstream.c:162,1
    - Dst: g_cancellable_pop_current
      Src: /src/glib/gio/gfileoutputstream.c:165,1
    - Dst: g_output_stream_clear_pending
      Src: /src/glib/gio/gfileoutputstream.c:167,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 170
    functionName: g_file_output_stream_query_info
    functionSourceFile: /src/glib/gio/gfileoutputstream.c
    functionUses: []
    functionsReached:
    - g_cancellable_pop_current
    - g_return_val_if_fail
    - G_FILE_OUTPUT_STREAM_GET_CLASS
    - g_output_stream_set_pending
    - g_output_stream_clear_pending
    - g_set_error_literal
    - g_cancellable_push_current
    - _
    - G_IS_FILE_OUTPUT_STREAM
    - G_OUTPUT_STREAM
    linkageType: ''
    returnType: GFileInfo*
    signature: "GFileInfo *g_file_output_stream_query_info (GFileOutputStream *stream,\t\
      \t\t\t const char *attributes,\t\t\t\t GCancellable *cancellable,\t\t\t\t GError\
      \ **error) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileoutputstream.c:253,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfileoutputstream.c:254,1
    - Dst: G_IS_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/gfileoutputstream.c:253,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfileoutputstream.c:256,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileoutputstream.c:254,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gfileoutputstream.c:258,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gfileoutputstream.c:259,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfileoutputstream.c:259,1
    - Dst: G_FILE_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/gfileoutputstream.c:261,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 263
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 263
    functionName: g_file_output_stream_query_info_finish
    functionSourceFile: /src/glib/gio/gfileoutputstream.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_return_val_if_fail
    - G_FILE_OUTPUT_STREAM_GET_CLASS
    - g_async_result_legacy_propagate_error
    - G_IS_ASYNC_RESULT
    - G_IS_FILE_OUTPUT_STREAM
    - g_async_result_is_tagged
    - g_task_propagate_pointer
    linkageType: ''
    returnType: GFileInfo*
    signature: "GFileInfo *g_file_output_stream_query_info_finish (GFileOutputStream\
      \ *stream,\t\t\t\t\t GAsyncResult *result,\t\t\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileoutputstream.c:528,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gfileoutputstream.c:530,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfileoutputstream.c:528,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfileoutputstream.c:530,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 531
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 531
    functionName: g_file_output_stream_real_query_info_finish
    functionSourceFile: /src/glib/gio/gfileoutputstream.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_return_val_if_fail
    - g_task_is_valid
    - g_task_propagate_pointer
    linkageType: ''
    returnType: GFileInfo*
    signature: "static GFileInfo *g_file_output_stream_real_query_info_finish (GFileOutputStream\
      \ *stream,\t\t\t\t\t GAsyncResult *res,\t\t\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_output_stream_get_instance_private
      Src: /src/glib/gio/gfileoutputstream.c:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GFileOutputStream*
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: g_file_output_stream_init
    functionSourceFile: /src/glib/gio/gfileoutputstream.c
    functionUses: []
    functionsReached:
    - g_file_output_stream_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_file_output_stream_init (GFileOutputStream *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gseekable.c:88,1
    - Dst: G_IS_SEEKABLE
      Src: /src/glib/gio/gseekable.c:88,1
    - Dst: G_SEEKABLE_GET_IFACE
      Src: /src/glib/gio/gseekable.c:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - seekable
    argTypes:
    - GSeekable*
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 93
    functionName: g_seekable_can_seek
    functionSourceFile: /src/glib/gio/gseekable.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_SEEKABLE
    - G_SEEKABLE_GET_IFACE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_seekable_can_seek (GSeekable *seekable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gseekable.c:153,1
    - Dst: G_IS_SEEKABLE
      Src: /src/glib/gio/gseekable.c:153,1
    - Dst: G_SEEKABLE_GET_IFACE
      Src: /src/glib/gio/gseekable.c:155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - seekable
    argTypes:
    - GSeekable*
    constantsTouched: []
    func_position:
      end: 158
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 158
    functionName: g_seekable_can_truncate
    functionSourceFile: /src/glib/gio/gseekable.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_SEEKABLE
    - G_SEEKABLE_GET_IFACE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_seekable_can_truncate (GSeekable *seekable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GSeekableInterface*
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: g_seekable_default_init
    functionSourceFile: /src/glib/gio/gseekable.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_seekable_default_init (GSeekableInterface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gseekable.c:68,1
    - Dst: G_SEEKABLE_GET_IFACE
      Src: /src/glib/gio/gseekable.c:70,1
    - Dst: G_IS_SEEKABLE
      Src: /src/glib/gio/gseekable.c:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - seekable
    argTypes:
    - GSeekable*
    constantsTouched: []
    func_position:
      end: 73
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 73
    functionName: g_seekable_tell
    functionSourceFile: /src/glib/gio/gseekable.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_SEEKABLE
    - G_SEEKABLE_GET_IFACE
    linkageType: ''
    returnType: goffset
    signature: 'goffset g_seekable_tell (GSeekable *seekable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gseekable.c:132,1
    - Dst: G_IS_SEEKABLE
      Src: /src/glib/gio/gseekable.c:132,1
    - Dst: G_SEEKABLE_GET_IFACE
      Src: /src/glib/gio/gseekable.c:134,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 5
    argNames:
    - seekable
    - offset
    - type
    - cancellable
    - error
    argTypes:
    - GSeekable*
    - goffset
    - GSeekType
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 137
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 137
    functionName: g_seekable_seek
    functionSourceFile: /src/glib/gio/gseekable.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_SEEKABLE
    - G_SEEKABLE_GET_IFACE
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_seekable_seek (GSeekable *seekable,\t\t goffset offset,\t\
      \t GSeekType type,\t\t GCancellable *cancellable,\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gseekable.c:190,1
    - Dst: G_IS_SEEKABLE
      Src: /src/glib/gio/gseekable.c:190,1
    - Dst: G_SEEKABLE_GET_IFACE
      Src: /src/glib/gio/gseekable.c:192,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - seekable
    - offset
    - cancellable
    - error
    argTypes:
    - GSeekable*
    - goffset
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 195
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 195
    functionName: g_seekable_truncate
    functionSourceFile: /src/glib/gio/gseekable.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_SEEKABLE
    - G_SEEKABLE_GET_IFACE
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_seekable_truncate (GSeekable *seekable,\t\t goffset offset,\t\
      \t GCancellable *cancellable,\t\t GError **error) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinputstream.c:130,1
    - Dst: g_cancellable_push_current
      Src: /src/glib/gio/gfileinputstream.c:140,1
    - Dst: g_input_stream_set_pending
      Src: /src/glib/gio/gfileinputstream.c:134,1
    - Dst: G_IS_FILE_INPUT_STREAM
      Src: /src/glib/gio/gfileinputstream.c:130,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gfileinputstream.c:132,1
    - Dst: G_FILE_INPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/gfileinputstream.c:142,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfileinputstream.c:146,1
    - Dst: _
      Src: /src/glib/gio/gfileinputstream.c:147,1
    - Dst: g_cancellable_pop_current
      Src: /src/glib/gio/gfileinputstream.c:150,1
    - Dst: g_input_stream_clear_pending
      Src: /src/glib/gio/gfileinputstream.c:152,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 155
    functionName: g_file_input_stream_query_info
    functionSourceFile: /src/glib/gio/gfileinputstream.c
    functionUses: []
    functionsReached:
    - g_cancellable_pop_current
    - g_return_val_if_fail
    - G_IS_FILE_INPUT_STREAM
    - G_FILE_INPUT_STREAM_GET_CLASS
    - g_input_stream_clear_pending
    - g_set_error_literal
    - G_INPUT_STREAM
    - g_cancellable_push_current
    - _
    - g_input_stream_set_pending
    linkageType: ''
    returnType: GFileInfo*
    signature: 'GFileInfo *g_file_input_stream_query_info (GFileInputStream *stream,
      const char *attributes, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GSeekableIface*
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: g_file_input_stream_seekable_iface_init
    functionSourceFile: /src/glib/gio/gfileinputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_file_input_stream_seekable_iface_init (GSeekableIface
      *iface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinputstream.c:243,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfileinputstream.c:244,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfileinputstream.c:246,1
    - Dst: G_IS_FILE_INPUT_STREAM
      Src: /src/glib/gio/gfileinputstream.c:243,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinputstream.c:244,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gfileinputstream.c:248,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gfileinputstream.c:249,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfileinputstream.c:249,1
    - Dst: G_FILE_INPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/gfileinputstream.c:251,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 253
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 253
    functionName: g_file_input_stream_query_info_finish
    functionSourceFile: /src/glib/gio/gfileinputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_FILE_INPUT_STREAM
    - g_async_result_legacy_propagate_error
    - G_FILE_INPUT_STREAM_GET_CLASS
    - G_IS_ASYNC_RESULT
    - G_TASK
    - g_async_result_is_tagged
    - g_task_propagate_pointer
    linkageType: ''
    returnType: GFileInfo*
    signature: 'GFileInfo *g_file_input_stream_query_info_finish (GFileInputStream
      *stream, GAsyncResult *result, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinputstream.c:261,1
    - Dst: G_IS_FILE_INPUT_STREAM
      Src: /src/glib/gio/gfileinputstream.c:261,1
    - Dst: G_FILE_INPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/gfileinputstream.c:263,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GFileInputStream*
    constantsTouched: []
    func_position:
      end: 270
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 270
    functionName: g_file_input_stream_tell
    functionSourceFile: /src/glib/gio/gfileinputstream.c
    functionUses: []
    functionsReached:
    - G_FILE_INPUT_STREAM_GET_CLASS
    - g_return_val_if_fail
    - G_IS_FILE_INPUT_STREAM
    linkageType: ''
    returnType: goffset
    signature: 'static goffset g_file_input_stream_tell (GFileInputStream *stream) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinputstream.c:284,1
    - Dst: G_FILE_INPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/gfileinputstream.c:286,1
    - Dst: G_IS_FILE_INPUT_STREAM
      Src: /src/glib/gio/gfileinputstream.c:284,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GFileInputStream*
    constantsTouched: []
    func_position:
      end: 297
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 297
    functionName: g_file_input_stream_can_seek
    functionSourceFile: /src/glib/gio/gfileinputstream.c
    functionUses: []
    functionsReached:
    - G_FILE_INPUT_STREAM_GET_CLASS
    - g_return_val_if_fail
    - G_IS_FILE_INPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_file_input_stream_can_seek (GFileInputStream *stream) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinputstream.c:316,1
    - Dst: G_IS_FILE_INPUT_STREAM
      Src: /src/glib/gio/gfileinputstream.c:316,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gfileinputstream.c:318,1
    - Dst: G_FILE_INPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/gfileinputstream.c:319,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfileinputstream.c:323,1
    - Dst: _
      Src: /src/glib/gio/gfileinputstream.c:324,1
    - Dst: g_input_stream_set_pending
      Src: /src/glib/gio/gfileinputstream.c:328,1
    - Dst: g_cancellable_push_current
      Src: /src/glib/gio/gfileinputstream.c:332,1
    - Dst: g_cancellable_pop_current
      Src: /src/glib/gio/gfileinputstream.c:337,1
    - Dst: g_input_stream_clear_pending
      Src: /src/glib/gio/gfileinputstream.c:339,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 5
    argNames:
    - stream
    - offset
    - type
    - cancellable
    - error
    argTypes:
    - GFileInputStream*
    - goffset
    - GSeekType
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 342
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 342
    functionName: g_file_input_stream_seek
    functionSourceFile: /src/glib/gio/gfileinputstream.c
    functionUses: []
    functionsReached:
    - g_cancellable_pop_current
    - g_return_val_if_fail
    - G_IS_FILE_INPUT_STREAM
    - G_FILE_INPUT_STREAM_GET_CLASS
    - g_input_stream_clear_pending
    - g_set_error_literal
    - g_input_stream_set_pending
    - g_cancellable_push_current
    - _
    - G_INPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_file_input_stream_seek (GFileInputStream *stream,\t\
      \t\t goffset offset,\t\t\t GSeekType type,\t\t\t GCancellable *cancellable,\t\
      \t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - seekable
    argTypes:
    - GSeekable*
    constantsTouched: []
    func_position:
      end: 359
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 359
    functionName: g_file_input_stream_seekable_can_truncate
    functionSourceFile: /src/glib/gio/gfileinputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_file_input_stream_seekable_can_truncate (GSeekable
      *seekable) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE_INPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/gfileinputstream.c:388,1
    - Dst: _
      Src: /src/glib/gio/gfileinputstream.c:393,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gfileinputstream.c:396,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfileinputstream.c:392,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gfileinputstream.c:398,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 4
    argNames:
    - task
    - source_object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 399
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 399
    functionName: query_info_async_thread
    functionSourceFile: /src/glib/gio/gfileinputstream.c
    functionUses: []
    functionsReached:
    - g_task_return_pointer
    - G_FILE_INPUT_STREAM_GET_CLASS
    - g_set_error_literal
    - _
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void query_info_async_thread (GTask *task, gpointer source_object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GFileInputStreamClass*
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: g_file_input_stream_class_init
    functionSourceFile: /src/glib/gio/gfileinputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_file_input_stream_class_init (GFileInputStreamClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_input_stream_get_instance_private
      Src: /src/glib/gio/gfileinputstream.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GFileInputStream*
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: g_file_input_stream_init
    functionSourceFile: /src/glib/gio/gfileinputstream.c
    functionUses: []
    functionsReached:
    - g_file_input_stream_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_file_input_stream_init (GFileInputStream *stream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE_INPUT_STREAM
      Src: /src/glib/gio/gfileinputstream.c:162,1
    - Dst: g_input_stream_clear_pending
      Src: /src/glib/gio/gfileinputstream.c:164,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gfileinputstream.c:164,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfileinputstream.c:167,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 168
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 168
    functionName: async_ready_callback_wrapper
    functionSourceFile: /src/glib/gio/gfileinputstream.c
    functionUses: []
    functionsReached:
    - g_input_stream_clear_pending
    - G_FILE_INPUT_STREAM
    - G_INPUT_STREAM
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void async_ready_callback_wrapper (GObject *source_object,
      GAsyncResult *res, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_input_stream_tell
      Src: /src/glib/gio/gfileinputstream.c:275,1
    - Dst: G_FILE_INPUT_STREAM
      Src: /src/glib/gio/gfileinputstream.c:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - seekable
    argTypes:
    - GSeekable*
    constantsTouched: []
    func_position:
      end: 276
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 276
    functionName: g_file_input_stream_seekable_tell
    functionSourceFile: /src/glib/gio/gfileinputstream.c
    functionUses: []
    functionsReached:
    - G_FILE_INPUT_STREAM
    - g_file_input_stream_tell
    linkageType: ''
    returnType: goffset
    signature: 'static goffset g_file_input_stream_seekable_tell (GSeekable *seekable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_input_stream_can_seek
      Src: /src/glib/gio/gfileinputstream.c:302,1
    - Dst: G_FILE_INPUT_STREAM
      Src: /src/glib/gio/gfileinputstream.c:302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - seekable
    argTypes:
    - GSeekable*
    constantsTouched: []
    func_position:
      end: 303
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 303
    functionName: g_file_input_stream_seekable_can_seek
    functionSourceFile: /src/glib/gio/gfileinputstream.c
    functionUses: []
    functionsReached:
    - G_FILE_INPUT_STREAM
    - g_file_input_stream_can_seek
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_file_input_stream_seekable_can_seek (GSeekable *seekable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_input_stream_seek
      Src: /src/glib/gio/gfileinputstream.c:351,1
    - Dst: G_FILE_INPUT_STREAM
      Src: /src/glib/gio/gfileinputstream.c:351,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 5
    argNames:
    - seekable
    - offset
    - type
    - cancellable
    - error
    argTypes:
    - GSeekable*
    - goffset
    - GSeekType
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 353
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 353
    functionName: g_file_input_stream_seekable_seek
    functionSourceFile: /src/glib/gio/gfileinputstream.c
    functionUses: []
    functionsReached:
    - g_file_input_stream_seek
    - G_FILE_INPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_file_input_stream_seekable_seek (GSeekable *seekable,\t\
      \t\t\t goffset offset,\t\t\t\t GSeekType type,\t\t\t\t GCancellable *cancellable,\t\
      \t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfileinputstream.c:367,1
    - Dst: _
      Src: /src/glib/gio/gfileinputstream.c:368,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - seekable
    - offset
    - cancellable
    - error
    argTypes:
    - GSeekable*
    - goffset
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 370
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 370
    functionName: g_file_input_stream_seekable_truncate
    functionSourceFile: /src/glib/gio/gfileinputstream.c
    functionUses: []
    functionsReached:
    - _
    - g_set_error_literal
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_file_input_stream_seekable_truncate (GSeekable *seekable,\t\
      \t\t\t goffset offset,\t\t\t\t GCancellable *cancellable,\t\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/gfileinputstream.c:411,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gfileinputstream.c:414,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfileinputstream.c:413,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gfileinputstream.c:413,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gfileinputstream.c:412,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gfileinputstream.c:416,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfileinputstream.c:417,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 6
    argNames:
    - stream
    - attributes
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFileInputStream*
    - char*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 418
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 418
    functionName: g_file_input_stream_real_query_info_async
    functionSourceFile: /src/glib/gio/gfileinputstream.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_task_new
    - g_object_unref
    - g_task_set_priority
    - g_task_set_source_tag
    - g_task_run_in_thread
    - g_task_set_task_data
    linkageType: ''
    returnType: void
    signature: 'static void g_file_input_stream_real_query_info_async (GFileInputStream
      *stream, const char *attributes, int io_priority, GCancellable *cancellable,
      GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinputstream.c:205,1
    - Dst: g_input_stream_set_pending
      Src: /src/glib/gio/gfileinputstream.c:209,1
    - Dst: g_task_report_error
      Src: /src/glib/gio/gfileinputstream.c:211,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gfileinputstream.c:207,1
    - Dst: G_IS_FILE_INPUT_STREAM
      Src: /src/glib/gio/gfileinputstream.c:205,1
    - Dst: G_FILE_INPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/gfileinputstream.c:217,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gfileinputstream.c:220,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 6
    argNames:
    - stream
    - attributes
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFileInputStream*
    - char*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 223
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 223
    functionName: g_file_input_stream_query_info_async
    functionSourceFile: /src/glib/gio/gfileinputstream.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_INPUT_STREAM
    - g_return_if_fail
    - G_FILE_INPUT_STREAM_GET_CLASS
    - g_task_report_error
    - G_INPUT_STREAM
    - g_object_ref
    - g_input_stream_set_pending
    linkageType: ''
    returnType: void
    signature: 'void g_file_input_stream_query_info_async (GFileInputStream *stream,
      const char *attributes, int io_priority, GCancellable *cancellable, GAsyncReadyCallback
      callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinputstream.c:425,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfileinputstream.c:427,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gfileinputstream.c:427,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gfileinputstream.c:425,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 428
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 428
    functionName: g_file_input_stream_real_query_info_finish
    functionSourceFile: /src/glib/gio/gfileinputstream.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_return_val_if_fail
    - g_task_is_valid
    - g_task_propagate_pointer
    linkageType: ''
    returnType: GFileInfo*
    signature: 'static GFileInfo *g_file_input_stream_real_query_info_finish (GFileInputStream
      *stream, GAsyncResult *res, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:83,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:84,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - FileData*
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: file_data_free
    functionSourceFile: /src/glib/gio/glib-compile-resources.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void file_data_free (FileData *data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/glib-compile-resources.c:162,1
    - Dst: get_parent
      Src: /src/glib/gio/glib-compile-resources.c:168,1
    - Dst: gvdb_item_set_parent
      Src: /src/glib/gio/glib-compile-resources.c:171,1
    - Dst: gvdb_hash_table_insert
      Src: /src/glib/gio/glib-compile-resources.c:166,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 175
    functionName: get_parent
    functionSourceFile: /src/glib/gio/glib-compile-resources.c
    functionUses: []
    functionsReached:
    - gvdb_hash_table_insert
    - gvdb_item_set_parent
    - g_hash_table_lookup
    - get_parent
    linkageType: ''
    returnType: GvdbItem*
    signature: "static GvdbItem *get_parent (GHashTable *table,\t gchar *key,\t gint\
      \ length) "
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gio/glib-compile-resources.c:263,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-resources.c:284,1
    - Dst: g_file_open_tmp
      Src: /src/glib/gio/glib-compile-resources.c:327,1
    - Dst: g_subprocess_new
      Src: /src/glib/gio/glib-compile-resources.c:333,1
    - Dst: g_printerr
      Src: /src/glib/gio/glib-compile-resources.c:372,1
    - Dst: g_zlib_compressor_new
      Src: /src/glib/gio/glib-compile-resources.c:470,1
    - Dst: g_build_path
      Src: /src/glib/gio/glib-compile-resources.c:228,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-resources.c:257,1
    - Dst: close
      Src: /src/glib/gio/glib-compile-resources.c:331,1
    - Dst: g_subprocess_new
      Src: /src/glib/gio/glib-compile-resources.c:390,1
    - Dst: g_clear_error
      Src: /src/glib/gio/glib-compile-resources.c:460,1
    - Dst: g_subprocess_wait_check
      Src: /src/glib/gio/glib-compile-resources.c:398,1
    - Dst: g_object_unref
      Src: /src/glib/gio/glib-compile-resources.c:445,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-resources.c:214,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-resources.c:246,1
    - Dst: g_strsplit
      Src: /src/glib/gio/glib-compile-resources.c:278,1
    - Dst: unlink
      Src: /src/glib/gio/glib-compile-resources.c:515,1
    - Dst: g_new0
      Src: /src/glib/gio/glib-compile-resources.c:265,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/glib-compile-resources.c:311,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-resources.c:368,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/glib-compile-resources.c:488,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-resources.c:256,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/glib-compile-resources.c:473,1
    - Dst: g_object_unref
      Src: /src/glib/gio/glib-compile-resources.c:480,1
    - Dst: g_strdup
      Src: /src/glib/gio/glib-compile-resources.c:406,1
    - Dst: g_object_unref
      Src: /src/glib/gio/glib-compile-resources.c:490,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-resources.c:282,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-resources.c:291,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:316,1
    - Dst: g_subprocess_wait_check
      Src: /src/glib/gio/glib-compile-resources.c:341,1
    - Dst: g_memory_output_stream_get_data_size
      Src: /src/glib/gio/glib-compile-resources.c:487,1
    - Dst: g_object_unref
      Src: /src/glib/gio/glib-compile-resources.c:449,1
    - Dst: close
      Src: /src/glib/gio/glib-compile-resources.c:388,1
    - Dst: g_converter_output_stream_new
      Src: /src/glib/gio/glib-compile-resources.c:471,1
    - Dst: g_strdup
      Src: /src/glib/gio/glib-compile-resources.c:349,1
    - Dst: g_build_path
      Src: /src/glib/gio/glib-compile-resources.c:230,1
    - Dst: g_strfreev
      Src: /src/glib/gio/glib-compile-resources.c:292,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/glib-compile-resources.c:368,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-resources.c:424,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-resources.c:425,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-resources.c:478,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:504,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-resources.c:245,1
    - Dst: g_file_open_tmp
      Src: /src/glib/gio/glib-compile-resources.c:384,1
    - Dst: g_memory_output_stream_new
      Src: /src/glib/gio/glib-compile-resources.c:468,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:440,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-resources.c:458,1
    - Dst: g_memory_output_stream_steal_data
      Src: /src/glib/gio/glib-compile-resources.c:488,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-resources.c:457,1
    - Dst: g_subprocess_new
      Src: /src/glib/gio/glib-compile-resources.c:438,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-resources.c:208,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-resources.c:311,1
    - Dst: g_object_unref
      Src: /src/glib/gio/glib-compile-resources.c:343,1
    - Dst: G_CONVERTER
      Src: /src/glib/gio/glib-compile-resources.c:471,1
    - Dst: g_object_unref
      Src: /src/glib/gio/glib-compile-resources.c:404,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:511,1
    - Dst: g_object_unref
      Src: /src/glib/gio/glib-compile-resources.c:400,1
    - Dst: g_object_unref
      Src: /src/glib/gio/glib-compile-resources.c:481,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-resources.c:235,1
    - Dst: g_printerr
      Src: /src/glib/gio/glib-compile-resources.c:315,1
    - Dst: g_object_unref
      Src: /src/glib/gio/glib-compile-resources.c:491,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/glib-compile-resources.c:232,1
    - Dst: g_strdup
      Src: /src/glib/gio/glib-compile-resources.c:266,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:373,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:392,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:516,1
    - Dst: file_data_free
      Src: /src/glib/gio/glib-compile-resources.c:520,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/glib-compile-resources.c:475,1
    - Dst: g_object_unref
      Src: /src/glib/gio/glib-compile-resources.c:347,1
    - Dst: g_subprocess_wait_check
      Src: /src/glib/gio/glib-compile-resources.c:443,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/glib-compile-resources.c:498,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:508,1
    - Dst: g_file_open_tmp
      Src: /src/glib/gio/glib-compile-resources.c:432,1
    - Dst: g_object_unref
      Src: /src/glib/gio/glib-compile-resources.c:482,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-resources.c:234,1
    - Dst: find_file
      Src: /src/glib/gio/glib-compile-resources.c:242,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-resources.c:290,1
    - Dst: g_strfreev
      Src: /src/glib/gio/glib-compile-resources.c:296,1
    - Dst: g_object_unref
      Src: /src/glib/gio/glib-compile-resources.c:492,1
    - Dst: g_string_free
      Src: /src/glib/gio/glib-compile-resources.c:506,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:486,1
    - Dst: g_strdup
      Src: /src/glib/gio/glib-compile-resources.c:451,1
    - Dst: g_file_get_contents
      Src: /src/glib/gio/glib-compile-resources.c:455,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:210,1
    - Dst: g_file_test
      Src: /src/glib/gio/glib-compile-resources.c:253,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-resources.c:286,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:335,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-resources.c:477,1
    - Dst: close
      Src: /src/glib/gio/glib-compile-resources.c:436,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/glib/gio/glib-compile-resources.c:487,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 188
    argCount: 4
    argNames:
    - context
    - element_name
    - user_data
    - error
    argTypes:
    - GMarkupParseContext*
    - gchar*
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 522
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 522
    functionName: end_element
    functionSourceFile: /src/glib/gio/glib-compile-resources.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_printerr
    - strcmp
    - g_zlib_compressor_new
    - g_file_open_tmp
    - g_file_get_contents
    - g_strsplit
    - g_subprocess_new
    - G_MEMORY_OUTPUT_STREAM
    - g_object_unref
    - g_output_stream_close
    - g_hash_table_lookup
    - g_hash_table_insert
    - g_strfreev
    - unlink
    - g_output_stream_write_all
    - G_CONVERTER
    - g_memory_output_stream_steal_data
    - g_file_test
    - g_set_error
    - g_memory_output_stream_new
    - file_data_free
    - g_strdup
    - g_subprocess_wait_check
    - find_file
    - g_memory_output_stream_get_data_size
    - g_build_path
    - _
    - g_clear_error
    - g_converter_output_stream_new
    - close
    - g_string_free
    - g_new0
    - g_free
    linkageType: ''
    returnType: void
    signature: "static void end_element (GMarkupParseContext *context,\t const gchar\
      \ *element_name,\t gpointer user_data,\t GError **error) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_markup_parse_context_new
      Src: /src/glib/gio/glib-compile-resources.c:572,1
    - Dst: g_printerr
      Src: /src/glib/gio/glib-compile-resources.c:564,1
    - Dst: g_clear_error
      Src: /src/glib/gio/glib-compile-resources.c:565,1
    - Dst: g_markup_parse_context_end_parse
      Src: /src/glib/gio/glib-compile-resources.c:578,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/glib-compile-resources.c:596,1
    - Dst: strlen
      Src: /src/glib/gio/glib-compile-resources.c:599,1
    - Dst: get_parent
      Src: /src/glib/gio/glib-compile-resources.c:604,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/glib-compile-resources.c:597,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/glib-compile-resources.c:624,1
    - Dst: g_file_get_contents
      Src: /src/glib/gio/glib-compile-resources.c:562,1
    - Dst: g_hash_table_ref
      Src: /src/glib/gio/glib-compile-resources.c:570,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:606,1
    - Dst: g_variant_builder_init_static
      Src: /src/glib/gio/glib-compile-resources.c:608,1
    - Dst: gvdb_hash_table_insert
      Src: /src/glib/gio/glib-compile-resources.c:602,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/glib-compile-resources.c:608,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/glib-compile-resources.c:610,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/gio/glib-compile-resources.c:616,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:626,1
    - Dst: g_markup_parse_context_parse
      Src: /src/glib/gio/glib-compile-resources.c:577,1
    - Dst: g_variant_new_from_data
      Src: /src/glib/gio/glib-compile-resources.c:613,1
    - Dst: gvdb_item_set_value
      Src: /src/glib/gio/glib-compile-resources.c:619,1
    - Dst: g_markup_parse_context_free
      Src: /src/glib/gio/glib-compile-resources.c:625,1
    - Dst: g_printerr
      Src: /src/glib/gio/glib-compile-resources.c:580,1
    - Dst: g_clear_error
      Src: /src/glib/gio/glib-compile-resources.c:581,1
    - Dst: gvdb_hash_table_new
      Src: /src/glib/gio/glib-compile-resources.c:594,1
    - Dst: gvdb_item_set_parent
      Src: /src/glib/gio/glib-compile-resources.c:603,1
    - Dst: g_strdup
      Src: /src/glib/gio/glib-compile-resources.c:600,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/glib-compile-resources.c:611,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/glib-compile-resources.c:613,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/glib-compile-resources.c:620,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 629
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 629
    functionName: parse_resource_file
    functionSourceFile: /src/glib/gio/glib-compile-resources.c
    functionUses: []
    functionsReached:
    - g_printerr
    - g_variant_new_from_data
    - get_parent
    - g_file_get_contents
    - g_markup_parse_context_parse
    - g_variant_builder_init_static
    - g_free
    - g_hash_table_ref
    - g_variant_builder_end
    - gvdb_hash_table_new
    - gvdb_hash_table_insert
    - g_strdup
    - strlen
    - g_hash_table_unref
    - g_markup_parse_context_end_parse
    - g_markup_parse_context_free
    - G_VARIANT_TYPE
    - gvdb_item_set_value
    - g_hash_table_iter_next
    - gvdb_item_set_parent
    - g_clear_error
    - g_hash_table_iter_init
    - g_variant_builder_add_value
    - g_markup_parse_context_new
    - g_variant_builder_add
    linkageType: ''
    returnType: GHashTable*
    signature: 'static GHashTable *parse_resource_file (const gchar *filename, gboolean
      collect_data, GHashTable *files) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/glib/gio/glib-compile-resources.c:653,1
    - Dst: va_end
      Src: /src/glib/gio/glib-compile-resources.c:668,1
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/gio/glib-compile-resources.c:661,1
    - Dst: va_arg
      Src: /src/glib/gio/glib-compile-resources.c:659,1
    - Dst: va_start
      Src: /src/glib/gio/glib-compile-resources.c:658,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - str
    - '...'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 670
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 670
    functionName: extension_in_set
    functionSourceFile: /src/glib/gio/glib-compile-resources.c
    functionUses: []
    functionsReached:
    - strrchr
    - g_ascii_strcasecmp
    - va_arg
    - va_end
    - va_start
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean extension_in_set (const char *str, ...) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_markup_parse_context_get_element_stack
      Src: /src/glib/gio/glib-compile-resources.c:100,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-resources.c:120,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-resources.c:115,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-resources.c:118,1
    - Dst: COLLECT
      Src: /src/glib/gio/glib-compile-resources.c:122,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-resources.c:127,1
    - Dst: strcmp
      Src: /src/glib/gio/glib-compile-resources.c:129,1
    - Dst: COLLECT
      Src: /src/glib/gio/glib-compile-resources.c:131,1
    - Dst: g_string_new
      Src: /src/glib/gio/glib-compile-resources.c:134,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-resources.c:140,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-resources.c:145,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-resources.c:144,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-resources.c:141,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 32
    argCount: 6
    argNames:
    - context
    - element_name
    - attribute_names
    - attribute_values
    - user_data
    - error
    argTypes:
    - GMarkupParseContext*
    - gchar*
    - gchar**
    - gchar**
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 147
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 147
    functionName: start_element
    functionSourceFile: /src/glib/gio/glib-compile-resources.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_markup_parse_context_get_element_stack
    - strcmp
    - COLLECT
    - g_string_new
    - _
    linkageType: ''
    returnType: void
    signature: "static void start_element (GMarkupParseContext *context,\t const gchar\
      \ *element_name,\t const gchar **attribute_names,\t const gchar **attribute_values,\t\
      \ gpointer user_data,\t GError **error) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_path_is_absolute
      Src: /src/glib/gio/glib-compile-resources.c:184,1
    - Dst: g_file_test
      Src: /src/glib/gio/glib-compile-resources.c:191,1
    - Dst: g_build_path
      Src: /src/glib/gio/glib-compile-resources.c:190,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:194,1
    - Dst: g_strdup
      Src: /src/glib/gio/glib-compile-resources.c:185,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 197
    functionName: find_file
    functionSourceFile: /src/glib/gio/glib-compile-resources.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_build_path
    - g_file_test
    - g_free
    - g_path_is_absolute
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *find_file (const gchar *filename) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_isspace
      Src: /src/glib/gio/glib-compile-resources.c:535,1
    - Dst: g_markup_parse_context_get_element
      Src: /src/glib/gio/glib-compile-resources.c:543,1
    - Dst: g_string_append_len
      Src: /src/glib/gio/glib-compile-resources.c:538,1
    - Dst: g_set_error
      Src: /src/glib/gio/glib-compile-resources.c:541,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-resources.c:542,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 5
    argNames:
    - context
    - text
    - text_len
    - user_data
    - error
    argTypes:
    - GMarkupParseContext*
    - gchar*
    - gsize
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 547
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 547
    functionName: text
    functionSourceFile: /src/glib/gio/glib-compile-resources.c
    functionUses: []
    functionsReached:
    - g_ascii_isspace
    - g_set_error
    - g_string_append_len
    - _
    - g_markup_parse_context_get_element
    linkageType: ''
    returnType: void
    signature: 'static void text (GMarkupParseContext *context, const gchar *text,
      gsize text_len, gpointer user_data, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gvdb_table_write_contents
      Src: /src/glib/gio/glib-compile-resources.c:638,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - table
    - filename
    - error
    argTypes:
    - GHashTable*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 643
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 643
    functionName: write_to_file
    functionSourceFile: /src/glib/gio/glib-compile-resources.c
    functionUses: []
    functionsReached:
    - gvdb_table_write_contents
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean write_to_file (GHashTable *table,\t const gchar *filename,\t\
      \ GError **error) "
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: N_
      Src: /src/glib/gio/glib-compile-resources.c:828,1
    - Dst: g_printerr
      Src: /src/glib/gio/glib-compile-resources.c:892,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:901,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:950,1
    - Dst: g_getenv
      Src: /src/glib/gio/glib-compile-resources.c:909,1
    - Dst: g_printerr
      Src: /src/glib/gio/glib-compile-resources.c:1040,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/glib-compile-resources.c:1138,1
    - Dst: g_fprintf
      Src: /src/glib/gio/glib-compile-resources.c:1159,1
    - Dst: g_file_get_contents
      Src: /src/glib/gio/glib-compile-resources.c:1172,1
    - Dst: g_printerr
      Src: /src/glib/gio/glib-compile-resources.c:1185,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/glib-compile-resources.c:931,1
    - Dst: N_
      Src: /src/glib/gio/glib-compile-resources.c:821,1
    - Dst: N_
      Src: /src/glib/gio/glib-compile-resources.c:826,1
    - Dst: N_
      Src: /src/glib/gio/glib-compile-resources.c:833,1
    - Dst: N_
      Src: /src/glib/gio/glib-compile-resources.c:857,1
    - Dst: g_strv_length
      Src: /src/glib/gio/glib-compile-resources.c:873,1
    - Dst: g_path_get_dirname
      Src: /src/glib/gio/glib-compile-resources.c:923,1
    - Dst: parse_resource_file
      Src: /src/glib/gio/glib-compile-resources.c:966,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:968,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/glib-compile-resources.c:1077,1
    - Dst: g_string_new
      Src: /src/glib/gio/glib-compile-resources.c:1095,1
    - Dst: strchr
      Src: /src/glib/gio/glib-compile-resources.c:1091,1
    - Dst: g_strdup
      Src: /src/glib/gio/glib-compile-resources.c:917,1
    - Dst: N_
      Src: /src/glib/gio/glib-compile-resources.c:832,1
    - Dst: _glib_get_locale_dir
      Src: /src/glib/gio/glib-compile-resources.c:846,1
    - Dst: g_printerr
      Src: /src/glib/gio/glib-compile-resources.c:877,1
    - Dst: strlen
      Src: /src/glib/gio/glib-compile-resources.c:927,1
    - Dst: g_strconcat
      Src: /src/glib/gio/glib-compile-resources.c:933,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/glib-compile-resources.c:964,1
    - Dst: escape_makefile_string
      Src: /src/glib/gio/glib-compile-resources.c:1003,1
    - Dst: g_string_append
      Src: /src/glib/gio/glib-compile-resources.c:1009,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/glib-compile-resources.c:1026,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:1328,1
    - Dst: get_compiler_id
      Src: /src/glib/gio/glib-compile-resources.c:900,1
    - Dst: extension_in_set
      Src: /src/glib/gio/glib-compile-resources.c:960,1
    - Dst: N_
      Src: /src/glib/gio/glib-compile-resources.c:823,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/glib-compile-resources.c:875,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/glib-compile-resources.c:986,1
    - Dst: escape_makefile_string
      Src: /src/glib/gio/glib-compile-resources.c:989,1
    - Dst: escape_makefile_string
      Src: /src/glib/gio/glib-compile-resources.c:993,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/glib-compile-resources.c:994,1
    - Dst: g_file_set_contents
      Src: /src/glib/gio/glib-compile-resources.c:1038,1
    - Dst: g_fprintf
      Src: /src/glib/gio/glib-compile-resources.c:1142,1
    - Dst: g_fprintf
      Src: /src/glib/gio/glib-compile-resources.c:1225,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:1050,1
    - Dst: g_fprintf
      Src: /src/glib/gio/glib-compile-resources.c:1244,1
    - Dst: g_fprintf
      Src: /src/glib/gio/glib-compile-resources.c:1224,1
    - Dst: N_
      Src: /src/glib/gio/glib-compile-resources.c:822,1
    - Dst: N_
      Src: /src/glib/gio/glib-compile-resources.c:829,1
    - Dst: N_
      Src: /src/glib/gio/glib-compile-resources.c:833,1
    - Dst: setlocale
      Src: /src/glib/gio/glib-compile-resources.c:842,1
    - Dst: extension_in_set
      Src: /src/glib/gio/glib-compile-resources.c:958,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/glib-compile-resources.c:926,1
    - Dst: g_strdup
      Src: /src/glib/gio/glib-compile-resources.c:913,1
    - Dst: N_
      Src: /src/glib/gio/glib-compile-resources.c:860,1
    - Dst: g_strconcat
      Src: /src/glib/gio/glib-compile-resources.c:946,1
    - Dst: g_string_free
      Src: /src/glib/gio/glib-compile-resources.c:1041,1
    - Dst: g_printerr
      Src: /src/glib/gio/glib-compile-resources.c:1136,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:1327,1
    - Dst: g_unlink
      Src: /src/glib/gio/glib-compile-resources.c:1180,1
    - Dst: N_
      Src: /src/glib/gio/glib-compile-resources.c:827,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/gio/glib-compile-resources.c:863,1
    - Dst: g_build_filename
      Src: /src/glib/gio/glib-compile-resources.c:949,1
    - Dst: strlen
      Src: /src/glib/gio/glib-compile-resources.c:927,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:1005,1
    - Dst: escape_makefile_string
      Src: /src/glib/gio/glib-compile-resources.c:1025,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/glib-compile-resources.c:1062,1
    - Dst: g_printerr
      Src: /src/glib/gio/glib-compile-resources.c:1075,1
    - Dst: write_to_file
      Src: /src/glib/gio/glib-compile-resources.c:1120,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:1124,1
    - Dst: g_fprintf
      Src: /src/glib/gio/glib-compile-resources.c:1194,1
    - Dst: g_print
      Src: /src/glib/gio/glib-compile-resources.c:1065,1
    - Dst: g_fprintf
      Src: /src/glib/gio/glib-compile-resources.c:1288,1
    - Dst: fclose
      Src: /src/glib/gio/glib-compile-resources.c:1318,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/glib-compile-resources.c:1329,1
    - Dst: g_strdup
      Src: /src/glib/gio/glib-compile-resources.c:909,1
    - Dst: g_string_append
      Src: /src/glib/gio/glib-compile-resources.c:1016,1
    - Dst: close
      Src: /src/glib/gio/glib-compile-resources.c:1080,1
    - Dst: g_string_free
      Src: /src/glib/gio/glib-compile-resources.c:1109,1
    - Dst: fopen
      Src: /src/glib/gio/glib-compile-resources.c:1133,1
    - Dst: g_fprintf
      Src: /src/glib/gio/glib-compile-resources.c:1217,1
    - Dst: g_fprintf
      Src: /src/glib/gio/glib-compile-resources.c:1242,1
    - Dst: g_fprintf
      Src: /src/glib/gio/glib-compile-resources.c:1267,1
    - Dst: g_strfreev
      Src: /src/glib/gio/glib-compile-resources.c:1332,1
    - Dst: g_fprintf
      Src: /src/glib/gio/glib-compile-resources.c:1247,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:951,1
    - Dst: extension_in_set
      Src: /src/glib/gio/glib-compile-resources.c:956,1
    - Dst: N_
      Src: /src/glib/gio/glib-compile-resources.c:824,1
    - Dst: g_option_context_new
      Src: /src/glib/gio/glib-compile-resources.c:857,1
    - Dst: g_strdup
      Src: /src/glib/gio/glib-compile-resources.c:1113,1
    - Dst: g_fprintf
      Src: /src/glib/gio/glib-compile-resources.c:1287,1
    - Dst: N_
      Src: /src/glib/gio/glib-compile-resources.c:830,1
    - Dst: N_
      Src: /src/glib/gio/glib-compile-resources.c:827,1
    - Dst: textdomain
      Src: /src/glib/gio/glib-compile-resources.c:843,1
    - Dst: strlen
      Src: /src/glib/gio/glib-compile-resources.c:938,1
    - Dst: g_print
      Src: /src/glib/gio/glib-compile-resources.c:1034,1
    - Dst: g_file_open_tmp
      Src: /src/glib/gio/glib-compile-resources.c:1072,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/glib-compile-resources.c:1102,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/glib-compile-resources.c:1125,1
    - Dst: fopen
      Src: /src/glib/gio/glib-compile-resources.c:1182,1
    - Dst: g_fprintf
      Src: /src/glib/gio/glib-compile-resources.c:1236,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:1320,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:893,1
    - Dst: N_
      Src: /src/glib/gio/glib-compile-resources.c:832,1
    - Dst: bindtextdomain
      Src: /src/glib/gio/glib-compile-resources.c:850,1
    - Dst: strlen
      Src: /src/glib/gio/glib-compile-resources.c:938,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:991,1
    - Dst: g_path_get_basename
      Src: /src/glib/gio/glib-compile-resources.c:1085,1
    - Dst: strchr
      Src: /src/glib/gio/glib-compile-resources.c:1101,1
    - Dst: g_printerr
      Src: /src/glib/gio/glib-compile-resources.c:1122,1
    - Dst: g_printerr
      Src: /src/glib/gio/glib-compile-resources.c:1175,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:1186,1
    - Dst: g_fprintf
      Src: /src/glib/gio/glib-compile-resources.c:1227,1
    - Dst: g_fprintf
      Src: /src/glib/gio/glib-compile-resources.c:1229,1
    - Dst: g_fprintf
      Src: /src/glib/gio/glib-compile-resources.c:1251,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:1076,1
    - Dst: g_path_get_basename
      Src: /src/glib/gio/glib-compile-resources.c:924,1
    - Dst: g_strdup
      Src: /src/glib/gio/glib-compile-resources.c:944,1
    - Dst: N_
      Src: /src/glib/gio/glib-compile-resources.c:821,1
    - Dst: g_win32_get_command_line
      Src: /src/glib/gio/glib-compile-resources.c:867,1
    - Dst: g_option_context_parse_strv
      Src: /src/glib/gio/glib-compile-resources.c:868,1
    - Dst: _
      Src: /src/glib/gio/glib-compile-resources.c:892,1
    - Dst: g_strconcat
      Src: /src/glib/gio/glib-compile-resources.c:939,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:952,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/glib-compile-resources.c:970,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/glib-compile-resources.c:1019,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/glib-compile-resources.c:1104,1
    - Dst: g_find_program_in_path
      Src: /src/glib/gio/glib-compile-resources.c:919,1
    - Dst: g_print
      Src: /src/glib/gio/glib-compile-resources.c:886,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/glib-compile-resources.c:937,1
    - Dst: N_
      Src: /src/glib/gio/glib-compile-resources.c:822,1
    - Dst: N_
      Src: /src/glib/gio/glib-compile-resources.c:825,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:969,1
    - Dst: g_string_new
      Src: /src/glib/gio/glib-compile-resources.c:988,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/glib-compile-resources.c:1004,1
    - Dst: g_error_free
      Src: /src/glib/gio/glib-compile-resources.c:1043,1
    - Dst: g_string_free
      Src: /src/glib/gio/glib-compile-resources.c:1049,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:1323,1
    - Dst: N_
      Src: /src/glib/gio/glib-compile-resources.c:820,1
    - Dst: N_
      Src: /src/glib/gio/glib-compile-resources.c:831,1
    - Dst: g_getenv
      Src: /src/glib/gio/glib-compile-resources.c:917,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/glib-compile-resources.c:998,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:1027,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:1042,1
    - Dst: g_fprintf
      Src: /src/glib/gio/glib-compile-resources.c:1152,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/glib-compile-resources.c:1177,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/glib-compile-resources.c:1187,1
    - Dst: g_fprintf
      Src: /src/glib/gio/glib-compile-resources.c:1232,1
    - Dst: fclose
      Src: /src/glib/gio/glib-compile-resources.c:1162,1
    - Dst: g_find_program_in_path
      Src: /src/glib/gio/glib-compile-resources.c:915,1
    - Dst: g_printerr
      Src: /src/glib/gio/glib-compile-resources.c:870,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:995,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/glib-compile-resources.c:1059,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:1108,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:1137,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:1324,1
    - Dst: strlen
      Src: /src/glib/gio/glib-compile-resources.c:932,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/glib-compile-resources.c:943,1
    - Dst: bind_textdomain_codeset
      Src: /src/glib/gio/glib-compile-resources.c:854,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/glib-compile-resources.c:882,1
    - Dst: g_getenv
      Src: /src/glib/gio/glib-compile-resources.c:913,1
    - Dst: g_str_equal
      Src: /src/glib/gio/glib-compile-resources.c:1023,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/glib-compile-resources.c:1044,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:1123,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:1176,1
    - Dst: g_fprintf
      Src: /src/glib/gio/glib-compile-resources.c:1207,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:1326,1
    - Dst: bindtextdomain
      Src: /src/glib/gio/glib-compile-resources.c:847,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:848,1
    - Dst: g_option_context_set_translation_domain
      Src: /src/glib/gio/glib-compile-resources.c:858,1
    - Dst: g_option_context_set_summary
      Src: /src/glib/gio/glib-compile-resources.c:859,1
    - Dst: g_find_program_in_path
      Src: /src/glib/gio/glib-compile-resources.c:911,1
    - Dst: strlen
      Src: /src/glib/gio/glib-compile-resources.c:932,1
    - Dst: g_string_printf
      Src: /src/glib/gio/glib-compile-resources.c:990,1
    - Dst: g_str_equal
      Src: /src/glib/gio/glib-compile-resources.c:1001,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/glib-compile-resources.c:1020,1
    - Dst: g_str_equal
      Src: /src/glib/gio/glib-compile-resources.c:1032,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/gio/glib-compile-resources.c:1325,1
    CyclomaticComplexity: 95
    EdgeCount: 95
    ICount: 316
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1336
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 1336
    functionName: main
    functionSourceFile: /src/glib/gio/glib-compile-resources.c
    functionUses: []
    functionsReached:
    - g_printerr
    - g_path_get_basename
    - g_option_context_free
    - g_strconcat
    - textdomain
    - g_file_open_tmp
    - bind_textdomain_codeset
    - g_hash_table_new_full
    - g_file_get_contents
    - bindtextdomain
    - g_unlink
    - escape_makefile_string
    - write_to_file
    - setlocale
    - g_strfreev
    - get_compiler_id
    - g_error_free
    - g_build_filename
    - g_print
    - g_option_context_parse
    - g_option_context_set_translation_domain
    - g_path_get_dirname
    - g_strdup
    - g_strv_length
    - strlen
    - g_option_context_new
    - g_getenv
    - g_str_has_suffix
    - g_hash_table_unref
    - g_option_context_parse_strv
    - g_file_set_contents
    - g_string_new
    - _
    - g_option_context_add_main_entries
    - N_
    - g_find_program_in_path
    - extension_in_set
    - g_string_append_printf
    - g_hash_table_iter_next
    - g_str_equal
    - g_string_append
    - g_hash_table_iter_init
    - g_hash_table_destroy
    - g_win32_get_command_line
    - parse_resource_file
    - g_fprintf
    - g_option_context_set_summary
    - g_string_append_c
    - fclose
    - _glib_get_locale_dir
    - strchr
    - g_string_free
    - close
    - g_string_printf
    - fopen
    - g_free
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_string_sized_new
      Src: /src/glib/gio/glib-compile-resources.c:682,1
    - Dst: strlen
      Src: /src/glib/gio/glib-compile-resources.c:682,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/glib-compile-resources.c:696,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/glib-compile-resources.c:697,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/glib-compile-resources.c:701,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/glib-compile-resources.c:705,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/glib-compile-resources.c:708,1
    - Dst: g_string_free
      Src: /src/glib/gio/glib-compile-resources.c:711,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 712
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 712
    functionName: escape_makefile_string
    functionSourceFile: /src/glib/gio/glib-compile-resources.c
    functionUses: []
    functionsReached:
    - g_string_append_c
    - g_string_free
    - strlen
    - g_string_sized_new
    linkageType: ''
    returnType: char*
    signature: 'static char *escape_makefile_string (const char *string) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_getenv
      Src: /src/glib/gio/glib-compile-resources.c:735,1
    - Dst: strrchr
      Src: /src/glib/gio/glib-compile-resources.c:771,1
    - Dst: g_path_get_basename
      Src: /src/glib/gio/glib-compile-resources.c:770,1
    - Dst: g_getenv
      Src: /src/glib/gio/glib-compile-resources.c:758,1
    - Dst: g_getenv
      Src: /src/glib/gio/glib-compile-resources.c:756,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/glib-compile-resources.c:780,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/glib-compile-resources.c:782,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/glib-compile-resources.c:784,1
    - Dst: g_free
      Src: /src/glib/gio/glib-compile-resources.c:789,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 49
    argCount: 1
    argNames:
    - compiler
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 792
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 792
    functionName: get_compiler_id
    functionSourceFile: /src/glib/gio/glib-compile-resources.c
    functionUses: []
    functionsReached:
    - g_path_get_basename
    - g_getenv
    - strrchr
    - g_strcmp0
    - g_free
    linkageType: ''
    returnType: CompilerType
    signature: 'static CompilerType get_compiler_id (const char *compiler) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_UNION_VOLUME_MONITOR
      Src: /src/glib/gio/gunionvolumemonitor.c:84,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gio/gunionvolumemonitor.c:95,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/gio/gunionvolumemonitor.c:86,1
    - Dst: g_object_run_dispose
      Src: /src/glib/gio/gunionvolumemonitor.c:92,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gunionvolumemonitor.c:92,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gunionvolumemonitor.c:97,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 98
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 98
    functionName: g_union_volume_monitor_dispose
    functionSourceFile: /src/glib/gio/gunionvolumemonitor.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_lock
    - g_object_run_dispose
    - G_UNION_VOLUME_MONITOR
    - g_rec_mutex_unlock
    - G_OBJECT
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_union_volume_monitor_dispose (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gunionvolumemonitor.c:287,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - child_monitor
    - child_mount
    - union_monitor
    argTypes:
    - GVolumeMonitor*
    - GMount*
    - GUnionVolumeMonitor*
    constantsTouched: []
    func_position:
      end: 290
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 290
    functionName: child_mount_added
    functionSourceFile: /src/glib/gio/gunionvolumemonitor.c
    functionUses: []
    functionsReached:
    - g_signal_emit_by_name
    linkageType: ''
    returnType: void
    signature: 'static void child_mount_added (GVolumeMonitor *child_monitor, GMount
      *child_mount, GUnionVolumeMonitor *union_monitor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gunionvolumemonitor.c:307,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - child_monitor
    - child_mount
    - union_monitor
    argTypes:
    - GVolumeMonitor*
    - GMount*
    - GUnionVolumeMonitor*
    constantsTouched: []
    func_position:
      end: 310
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 310
    functionName: child_mount_pre_unmount
    functionSourceFile: /src/glib/gio/gunionvolumemonitor.c
    functionUses: []
    functionsReached:
    - g_signal_emit_by_name
    linkageType: ''
    returnType: void
    signature: 'static void child_mount_pre_unmount (GVolumeMonitor *child_monitor,
      GMount *child_mount, GUnionVolumeMonitor *union_monitor) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_list_find
      Src: /src/glib/gio/gunionvolumemonitor.c:404,1
    - Dst: g_list_delete_link
      Src: /src/glib/gio/gunionvolumemonitor.c:408,1
    - Dst: g_signal_handlers_disconnect_by_func
      Src: /src/glib/gio/gunionvolumemonitor.c:410,1
    - Dst: g_signal_handlers_disconnect_by_func
      Src: /src/glib/gio/gunionvolumemonitor.c:412,1
    - Dst: g_signal_handlers_disconnect_by_func
      Src: /src/glib/gio/gunionvolumemonitor.c:411,1
    - Dst: g_signal_handlers_disconnect_by_func
      Src: /src/glib/gio/gunionvolumemonitor.c:413,1
    - Dst: g_signal_handlers_disconnect_by_func
      Src: /src/glib/gio/gunionvolumemonitor.c:414,1
    - Dst: g_signal_handlers_disconnect_by_func
      Src: /src/glib/gio/gunionvolumemonitor.c:415,1
    - Dst: g_signal_handlers_disconnect_by_func
      Src: /src/glib/gio/gunionvolumemonitor.c:416,1
    - Dst: g_signal_handlers_disconnect_by_func
      Src: /src/glib/gio/gunionvolumemonitor.c:417,1
    - Dst: g_signal_handlers_disconnect_by_func
      Src: /src/glib/gio/gunionvolumemonitor.c:418,1
    - Dst: g_signal_handlers_disconnect_by_func
      Src: /src/glib/gio/gunionvolumemonitor.c:419,1
    - Dst: g_signal_handlers_disconnect_by_func
      Src: /src/glib/gio/gunionvolumemonitor.c:420,1
    - Dst: g_signal_handlers_disconnect_by_func
      Src: /src/glib/gio/gunionvolumemonitor.c:421,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - union_monitor
    - child_monitor
    argTypes:
    - GUnionVolumeMonitor*
    - GVolumeMonitor*
    constantsTouched: []
    func_position:
      end: 422
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 422
    functionName: g_union_volume_monitor_remove_monitor
    functionSourceFile: /src/glib/gio/gunionvolumemonitor.c
    functionUses: []
    functionsReached:
    - g_list_delete_link
    - g_signal_handlers_disconnect_by_func
    - g_list_find
    linkageType: ''
    returnType: void
    signature: 'static void g_union_volume_monitor_remove_monitor (GUnionVolumeMonitor
      *union_monitor, GVolumeMonitor *child_monitor) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once
      Src: /src/glib/gio/gunionvolumemonitor.c:444,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gunionvolumemonitor.c:446,1
    - Dst: g_type_class_ref
      Src: /src/glib/gio/gunionvolumemonitor.c:447,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 450
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 450
    functionName: get_native_class
    functionSourceFile: /src/glib/gio/gunionvolumemonitor.c
    functionUses: []
    functionsReached:
    - g_once
    - g_type_class_ref
    - GUINT_TO_POINTER
    linkageType: ''
    returnType: GNativeVolumeMonitorClass*
    signature: 'static GNativeVolumeMonitorClass *get_native_class (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_UNION_VOLUME_MONITOR
      Src: /src/glib/gio/gunionvolumemonitor.c:64,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunionvolumemonitor.c:71,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gunionvolumemonitor.c:74,1
    - Dst: g_union_volume_monitor_remove_monitor
      Src: /src/glib/gio/gunionvolumemonitor.c:69,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 75
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 75
    functionName: g_union_volume_monitor_finalize
    functionSourceFile: /src/glib/gio/gunionvolumemonitor.c
    functionUses: []
    functionsReached:
    - g_union_volume_monitor_remove_monitor
    - g_object_unref
    - G_UNION_VOLUME_MONITOR
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_union_volume_monitor_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_UNION_VOLUME_MONITOR
      Src: /src/glib/gio/gunionvolumemonitor.c:108,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/gio/gunionvolumemonitor.c:112,1
    - Dst: g_volume_monitor_get_mounts
      Src: /src/glib/gio/gunionvolumemonitor.c:118,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gio/gunionvolumemonitor.c:121,1
    - Dst: g_list_concat
      Src: /src/glib/gio/gunionvolumemonitor.c:118,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 124
    functionName: get_mounts
    functionSourceFile: /src/glib/gio/gunionvolumemonitor.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_lock
    - G_UNION_VOLUME_MONITOR
    - g_rec_mutex_unlock
    - g_list_concat
    - g_volume_monitor_get_mounts
    linkageType: ''
    returnType: GList*
    signature: 'static GList *get_mounts (GVolumeMonitor *volume_monitor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gunionvolumemonitor.c:297,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - child_monitor
    - child_mount
    - union_monitor
    argTypes:
    - GVolumeMonitor*
    - GMount*
    - GUnionVolumeMonitor*
    constantsTouched: []
    func_position:
      end: 300
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 300
    functionName: child_mount_removed
    functionSourceFile: /src/glib/gio/gunionvolumemonitor.c
    functionUses: []
    functionsReached:
    - g_signal_emit_by_name
    linkageType: ''
    returnType: void
    signature: 'static void child_mount_removed (GVolumeMonitor *child_monitor, GMount
      *child_mount, GUnionVolumeMonitor *union_monitor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gunionvolumemonitor.c:318,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - child_monitor
    - child_mount
    - union_monitor
    argTypes:
    - GVolumeMonitor*
    - GMount*
    - GUnionVolumeMonitor*
    constantsTouched: []
    func_position:
      end: 321
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 321
    functionName: child_mount_changed
    functionSourceFile: /src/glib/gio/gunionvolumemonitor.c
    functionUses: []
    functionsReached:
    - g_signal_emit_by_name
    linkageType: ''
    returnType: void
    signature: 'static void child_mount_changed (GVolumeMonitor *child_monitor, GMount
      *child_mount, GUnionVolumeMonitor *union_monitor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_io_module_get_default_type
      Src: /src/glib/gio/gunionvolumemonitor.c:427,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gunionvolumemonitor.c:429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 430
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 430
    functionName: get_default_native_class
    functionSourceFile: /src/glib/gio/gunionvolumemonitor.c
    functionUses: []
    functionsReached:
    - _g_io_module_get_default_type
    - G_STRUCT_OFFSET
    linkageType: ''
    returnType: GType
    signature: 'static GType get_default_native_class (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - union_monitor
    argTypes:
    - GUnionVolumeMonitor*
    constantsTouched: []
    func_position:
      end: 455
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 455
    functionName: g_union_volume_monitor_init
    functionSourceFile: /src/glib/gio/gunionvolumemonitor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_union_volume_monitor_init (GUnionVolumeMonitor *union_monitor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gunionvolumemonitor.c:368,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - child_monitor
    - child_drive
    - union_monitor
    argTypes:
    - GVolumeMonitor*
    - GDrive*
    - GUnionVolumeMonitor*
    constantsTouched: []
    func_position:
      end: 371
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 371
    functionName: child_drive_stop_button
    functionSourceFile: /src/glib/gio/gunionvolumemonitor.c
    functionUses: []
    functionsReached:
    - g_signal_emit_by_name
    linkageType: ''
    returnType: void
    signature: 'static void child_drive_stop_button (GVolumeMonitor *child_monitor,
      GDrive *child_drive, GUnionVolumeMonitor *union_monitor) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_list_find
      Src: /src/glib/gio/gunionvolumemonitor.c:377,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gunionvolumemonitor.c:381,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gunionvolumemonitor.c:382,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gunionvolumemonitor.c:384,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gunionvolumemonitor.c:385,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gunionvolumemonitor.c:386,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gunionvolumemonitor.c:387,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gunionvolumemonitor.c:388,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gunionvolumemonitor.c:389,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gunionvolumemonitor.c:390,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gunionvolumemonitor.c:393,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gunionvolumemonitor.c:392,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gunionvolumemonitor.c:391,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gunionvolumemonitor.c:395,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gunionvolumemonitor.c:394,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - union_monitor
    - volume_monitor
    argTypes:
    - GUnionVolumeMonitor*
    - GVolumeMonitor*
    constantsTouched: []
    func_position:
      end: 396
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 396
    functionName: g_union_volume_monitor_add_monitor
    functionSourceFile: /src/glib/gio/gunionvolumemonitor.c
    functionUses: []
    functionsReached:
    - g_signal_connect
    - g_object_ref
    - g_list_find
    - g_list_prepend
    linkageType: ''
    returnType: void
    signature: 'static void g_union_volume_monitor_add_monitor (GUnionVolumeMonitor
      *union_monitor, GVolumeMonitor *volume_monitor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_UNION_VOLUME_MONITOR
      Src: /src/glib/gio/gunionvolumemonitor.c:134,1
    - Dst: g_volume_monitor_get_volumes
      Src: /src/glib/gio/gunionvolumemonitor.c:144,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gio/gunionvolumemonitor.c:147,1
    - Dst: g_list_concat
      Src: /src/glib/gio/gunionvolumemonitor.c:144,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/gio/gunionvolumemonitor.c:138,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 150
    functionName: get_volumes
    functionSourceFile: /src/glib/gio/gunionvolumemonitor.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_lock
    - G_UNION_VOLUME_MONITOR
    - g_rec_mutex_unlock
    - g_volume_monitor_get_volumes
    - g_list_concat
    linkageType: ''
    returnType: GList*
    signature: 'static GList *get_volumes (GVolumeMonitor *volume_monitor) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_UNION_VOLUME_MONITOR
      Src: /src/glib/gio/gunionvolumemonitor.c:186,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gio/gunionvolumemonitor.c:202,1
    - Dst: g_volume_monitor_get_volume_for_uuid
      Src: /src/glib/gio/gunionvolumemonitor.c:196,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/gio/gunionvolumemonitor.c:190,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 205
    functionName: get_volume_for_uuid
    functionSourceFile: /src/glib/gio/gunionvolumemonitor.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_lock
    - g_volume_monitor_get_volume_for_uuid
    - g_rec_mutex_unlock
    - G_UNION_VOLUME_MONITOR
    linkageType: ''
    returnType: GVolume*
    signature: 'static GVolume *get_volume_for_uuid (GVolumeMonitor *volume_monitor,
      const char *uuid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gunionvolumemonitor.c:239,1
    - Dst: G_VOLUME_MONITOR_CLASS
      Src: /src/glib/gio/gunionvolumemonitor.c:240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GUnionVolumeMonitorClass*
    constantsTouched: []
    func_position:
      end: 250
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 250
    functionName: g_union_volume_monitor_class_init
    functionSourceFile: /src/glib/gio/gunionvolumemonitor.c
    functionUses: []
    functionsReached:
    - G_VOLUME_MONITOR_CLASS
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_union_volume_monitor_class_init (GUnionVolumeMonitorClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gunionvolumemonitor.c:267,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - child_monitor
    - child_volume
    - union_monitor
    argTypes:
    - GVolumeMonitor*
    - GVolume*
    - GUnionVolumeMonitor*
    constantsTouched: []
    func_position:
      end: 270
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 270
    functionName: child_volume_removed
    functionSourceFile: /src/glib/gio/gunionvolumemonitor.c
    functionUses: []
    functionsReached:
    - g_signal_emit_by_name
    linkageType: ''
    returnType: void
    signature: 'static void child_volume_removed (GVolumeMonitor *child_monitor, GVolume
      *child_volume, GUnionVolumeMonitor *union_monitor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gunionvolumemonitor.c:328,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - child_monitor
    - child_drive
    - union_monitor
    argTypes:
    - GVolumeMonitor*
    - GDrive*
    - GUnionVolumeMonitor*
    constantsTouched: []
    func_position:
      end: 331
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 331
    functionName: child_drive_connected
    functionSourceFile: /src/glib/gio/gunionvolumemonitor.c
    functionUses: []
    functionsReached:
    - g_signal_emit_by_name
    linkageType: ''
    returnType: void
    signature: 'static void child_drive_connected (GVolumeMonitor *child_monitor,
      GDrive *child_drive, GUnionVolumeMonitor *union_monitor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gunionvolumemonitor.c:348,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - child_monitor
    - child_drive
    - union_monitor
    argTypes:
    - GVolumeMonitor*
    - GDrive*
    - GUnionVolumeMonitor*
    constantsTouched: []
    func_position:
      end: 351
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 351
    functionName: child_drive_changed
    functionSourceFile: /src/glib/gio/gunionvolumemonitor.c
    functionUses: []
    functionsReached:
    - g_signal_emit_by_name
    linkageType: ''
    returnType: void
    signature: 'static void child_drive_changed (GVolumeMonitor *child_monitor, GDrive
      *child_drive, GUnionVolumeMonitor *union_monitor) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_native_class
      Src: /src/glib/gio/gunionvolumemonitor.c:467,1
    - Dst: g_union_volume_monitor_add_monitor
      Src: /src/glib/gio/gunionvolumemonitor.c:472,1
    - Dst: g_object_new
      Src: /src/glib/gio/gunionvolumemonitor.c:471,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gunionvolumemonitor.c:471,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunionvolumemonitor.c:473,1
    - Dst: g_type_class_unref
      Src: /src/glib/gio/gunionvolumemonitor.c:474,1
    - Dst: g_io_extension_point_lookup
      Src: /src/glib/gio/gunionvolumemonitor.c:477,1
    - Dst: g_io_extension_point_get_extensions
      Src: /src/glib/gio/gunionvolumemonitor.c:478,1
    - Dst: G_VOLUME_MONITOR_CLASS
      Src: /src/glib/gio/gunionvolumemonitor.c:482,1
    - Dst: g_io_extension_ref_class
      Src: /src/glib/gio/gunionvolumemonitor.c:482,1
    - Dst: g_io_extension_get_type
      Src: /src/glib/gio/gunionvolumemonitor.c:485,1
    - Dst: g_union_volume_monitor_add_monitor
      Src: /src/glib/gio/gunionvolumemonitor.c:486,1
    - Dst: g_object_new
      Src: /src/glib/gio/gunionvolumemonitor.c:485,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunionvolumemonitor.c:487,1
    - Dst: g_type_class_unref
      Src: /src/glib/gio/gunionvolumemonitor.c:489,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 1
    argNames:
    - union_monitor
    argTypes:
    - GUnionVolumeMonitor*
    constantsTouched: []
    func_position:
      end: 491
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 491
    functionName: populate_union_monitor
    functionSourceFile: /src/glib/gio/gunionvolumemonitor.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_object_new
    - g_io_extension_point_lookup
    - G_TYPE_FROM_CLASS
    - g_io_extension_ref_class
    - g_io_extension_get_type
    - g_io_extension_point_get_extensions
    - get_native_class
    - g_union_volume_monitor_add_monitor
    - g_type_class_unref
    - G_VOLUME_MONITOR_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void populate_union_monitor (GUnionVolumeMonitor *union_monitor) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_rec_mutex_lock
      Src: /src/glib/gio/gunionvolumemonitor.c:516,1
    - Dst: populate_union_monitor
      Src: /src/glib/gio/gunionvolumemonitor.c:523,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gunionvolumemonitor.c:519,1
    - Dst: g_union_volume_monitor_new
      Src: /src/glib/gio/gunionvolumemonitor.c:522,1
    - Dst: G_VOLUME_MONITOR
      Src: /src/glib/gio/gunionvolumemonitor.c:519,1
    - Dst: G_VOLUME_MONITOR
      Src: /src/glib/gio/gunionvolumemonitor.c:524,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gio/gunionvolumemonitor.c:527,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 530
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 530
    functionName: g_volume_monitor_get
    functionSourceFile: /src/glib/gio/gunionvolumemonitor.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_lock
    - populate_union_monitor
    - g_union_volume_monitor_new
    - g_rec_mutex_unlock
    - G_VOLUME_MONITOR
    - g_object_ref
    linkageType: ''
    returnType: GVolumeMonitor*
    signature: 'GVolumeMonitor *g_volume_monitor_get (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_UNION_VOLUME_MONITOR
      Src: /src/glib/gio/gunionvolumemonitor.c:160,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gio/gunionvolumemonitor.c:173,1
    - Dst: g_list_concat
      Src: /src/glib/gio/gunionvolumemonitor.c:170,1
    - Dst: g_volume_monitor_get_connected_drives
      Src: /src/glib/gio/gunionvolumemonitor.c:170,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/gio/gunionvolumemonitor.c:164,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 176
    functionName: get_connected_drives
    functionSourceFile: /src/glib/gio/gunionvolumemonitor.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_lock
    - g_volume_monitor_get_connected_drives
    - G_UNION_VOLUME_MONITOR
    - g_rec_mutex_unlock
    - g_list_concat
    linkageType: ''
    returnType: GList*
    signature: 'static GList *get_connected_drives (GVolumeMonitor *volume_monitor) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_UNION_VOLUME_MONITOR
      Src: /src/glib/gio/gunionvolumemonitor.c:215,1
    - Dst: g_volume_monitor_get_mount_for_uuid
      Src: /src/glib/gio/gunionvolumemonitor.c:225,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/gio/gunionvolumemonitor.c:219,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gio/gunionvolumemonitor.c:231,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 234
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 234
    functionName: get_mount_for_uuid
    functionSourceFile: /src/glib/gio/gunionvolumemonitor.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_lock
    - g_rec_mutex_unlock
    - g_volume_monitor_get_mount_for_uuid
    - G_UNION_VOLUME_MONITOR
    linkageType: ''
    returnType: GMount*
    signature: 'static GMount *get_mount_for_uuid (GVolumeMonitor *volume_monitor,
      const char *uuid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gunionvolumemonitor.c:257,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - child_monitor
    - child_volume
    - union_monitor
    argTypes:
    - GVolumeMonitor*
    - GVolume*
    - GUnionVolumeMonitor*
    constantsTouched: []
    func_position:
      end: 260
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 260
    functionName: child_volume_added
    functionSourceFile: /src/glib/gio/gunionvolumemonitor.c
    functionUses: []
    functionsReached:
    - g_signal_emit_by_name
    linkageType: ''
    returnType: void
    signature: 'static void child_volume_added (GVolumeMonitor *child_monitor, GVolume
      *child_volume, GUnionVolumeMonitor *union_monitor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gunionvolumemonitor.c:277,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - child_monitor
    - child_volume
    - union_monitor
    argTypes:
    - GVolumeMonitor*
    - GVolume*
    - GUnionVolumeMonitor*
    constantsTouched: []
    func_position:
      end: 280
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 280
    functionName: child_volume_changed
    functionSourceFile: /src/glib/gio/gunionvolumemonitor.c
    functionUses: []
    functionsReached:
    - g_signal_emit_by_name
    linkageType: ''
    returnType: void
    signature: 'static void child_volume_changed (GVolumeMonitor *child_monitor, GVolume
      *child_volume, GUnionVolumeMonitor *union_monitor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gunionvolumemonitor.c:338,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - child_monitor
    - child_drive
    - union_monitor
    argTypes:
    - GVolumeMonitor*
    - GDrive*
    - GUnionVolumeMonitor*
    constantsTouched: []
    func_position:
      end: 341
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 341
    functionName: child_drive_disconnected
    functionSourceFile: /src/glib/gio/gunionvolumemonitor.c
    functionUses: []
    functionsReached:
    - g_signal_emit_by_name
    linkageType: ''
    returnType: void
    signature: 'static void child_drive_disconnected (GVolumeMonitor *child_monitor,
      GDrive *child_drive, GUnionVolumeMonitor *union_monitor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gunionvolumemonitor.c:358,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - child_monitor
    - child_drive
    - union_monitor
    argTypes:
    - GVolumeMonitor*
    - GDrive*
    - GUnionVolumeMonitor*
    constantsTouched: []
    func_position:
      end: 361
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 361
    functionName: child_drive_eject_button
    functionSourceFile: /src/glib/gio/gunionvolumemonitor.c
    functionUses: []
    functionsReached:
    - g_signal_emit_by_name
    linkageType: ''
    returnType: void
    signature: 'static void child_drive_eject_button (GVolumeMonitor *child_monitor,
      GDrive *child_drive, GUnionVolumeMonitor *union_monitor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gunionvolumemonitor.c:498,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 501
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 501
    functionName: g_union_volume_monitor_new
    functionSourceFile: /src/glib/gio/gunionvolumemonitor.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: GUnionVolumeMonitor*
    signature: 'static GUnionVolumeMonitor *g_union_volume_monitor_new (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_native_class
      Src: /src/glib/gio/gunionvolumemonitor.c:539,1
    - Dst: g_type_class_unref
      Src: /src/glib/gio/gunionvolumemonitor.c:556,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 559
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 559
    functionName: _g_mount_get_for_mount_path
    functionSourceFile: /src/glib/gio/gunionvolumemonitor.c
    functionUses: []
    functionsReached:
    - g_type_class_unref
    - get_native_class
    linkageType: ''
    returnType: GMount*
    signature: "GMount *_g_mount_get_for_mount_path (const gchar *mount_path,\t\t\t\
      \ GCancellable *cancellable) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunionvolumemonitor.c:611,1
    - Dst: G_VOLUME_MONITOR_GET_CLASS
      Src: /src/glib/gio/gunionvolumemonitor.c:623,1
    - Dst: g_rec_mutex_unlock
      Src: /src/glib/gio/gunionvolumemonitor.c:633,1
    - Dst: g_rec_mutex_lock
      Src: /src/glib/gio/gunionvolumemonitor.c:618,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 636
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 636
    functionName: g_volume_monitor_adopt_orphan_mount
    functionSourceFile: /src/glib/gio/gunionvolumemonitor.c
    functionUses: []
    functionsReached:
    - g_rec_mutex_lock
    - g_rec_mutex_unlock
    - g_return_val_if_fail
    - G_VOLUME_MONITOR_GET_CLASS
    linkageType: ''
    returnType: GVolume*
    signature: 'GVolume *g_volume_monitor_adopt_orphan_mount (GMount *mount) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - simple
    argTypes:
    - GSimplePermission*
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: g_simple_permission_init
    functionSourceFile: /src/glib/gio/gsimplepermission.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_simple_permission_init (GSimplePermission *simple) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gsimplepermission.c:71,1
    - Dst: g_permission_impl_update
      Src: /src/glib/gio/gsimplepermission.c:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: g_simple_permission_new
    functionSourceFile: /src/glib/gio/gsimplepermission.c
    functionUses: []
    functionsReached:
    - g_object_new
    - g_permission_impl_update
    linkageType: ''
    returnType: GPermission*
    signature: 'GPermission *g_simple_permission_new (gboolean allowed) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - class
    argTypes:
    - GSimplePermissionClass*
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: g_simple_permission_class_init
    functionSourceFile: /src/glib/gio/gsimplepermission.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_simple_permission_class_init (GSimplePermissionClass
      *class) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_cancellable_make_pollfd
      Src: /src/glib/gio/gasynchelper.c:52,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gasynchelper.c:69,1
    - Dst: g_poll
      Src: /src/glib/gio/gasynchelper.c:56,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/gasynchelper.c:61,1
    - Dst: CancelIo
      Src: /src/glib/gio/gasynchelper.c:68,1
    - Dst: GetOverlappedResult
      Src: /src/glib/gio/gasynchelper.c:72,1
    - Dst: GetLastError
      Src: /src/glib/gio/gasynchelper.c:74,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/gasynchelper.c:75,1
    - Dst: g_cancellable_release_fd
      Src: /src/glib/gio/gasynchelper.c:80,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 4
    argNames:
    - hfile
    - overlap
    - transferred
    - cancellable
    argTypes:
    - HANDLE
    - OVERLAPPED*
    - DWORD*
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 83
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 83
    functionName: _g_win32_overlap_wait_result
    functionSourceFile: /src/glib/gio/gasynchelper.c
    functionUses: []
    functionsReached:
    - g_cancellable_make_pollfd
    - g_warn_if_fail
    - CancelIo
    - g_cancellable_is_cancelled
    - g_poll
    - GetLastError
    - g_cancellable_release_fd
    - GetOverlappedResult
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _g_win32_overlap_wait_result (HANDLE hfile, OVERLAPPED *overlap,
      DWORD *transferred, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gaction.c:181,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gaction.c:182,1
    - Dst: g_action_get_state_type
      Src: /src/glib/gio/gaction.c:183,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gaction.c:184,1
    - Dst: G_IS_ACTION
      Src: /src/glib/gio/gaction.c:181,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gaction.c:185,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gaction.c:185,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gaction.c:187,1
    - Dst: G_ACTION_GET_IFACE
      Src: /src/glib/gio/gaction.c:189,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gaction.c:192,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - action
    - value
    argTypes:
    - GAction*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 193
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 193
    functionName: g_action_change_state
    functionSourceFile: /src/glib/gio/gaction.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - G_ACTION_GET_IFACE
    - G_IS_ACTION
    - g_variant_is_of_type
    - g_return_if_fail
    - g_variant_unref
    - g_action_get_state_type
    linkageType: ''
    returnType: void
    signature: 'void g_action_change_state (GAction *action, GVariant *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gaction.c:261,1
    - Dst: G_IS_ACTION
      Src: /src/glib/gio/gaction.c:261,1
    - Dst: G_ACTION_GET_IFACE
      Src: /src/glib/gio/gaction.c:263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 265
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 265
    functionName: g_action_get_parameter_type
    functionSourceFile: /src/glib/gio/gaction.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_ACTION_GET_IFACE
    - G_IS_ACTION
    linkageType: ''
    returnType: GVariantType*
    signature: 'const GVariantType *g_action_get_parameter_type (GAction *action) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gaction.c:327,1
    - Dst: G_IS_ACTION
      Src: /src/glib/gio/gaction.c:327,1
    - Dst: G_ACTION_GET_IFACE
      Src: /src/glib/gio/gaction.c:329,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 331
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 331
    functionName: g_action_get_state_hint
    functionSourceFile: /src/glib/gio/gaction.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_ACTION_GET_IFACE
    - G_IS_ACTION
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_action_get_state_hint (GAction *action) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gaction.c:349,1
    - Dst: G_ACTION_GET_IFACE
      Src: /src/glib/gio/gaction.c:351,1
    - Dst: G_IS_ACTION
      Src: /src/glib/gio/gaction.c:349,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - action
    argTypes:
    - GAction*
    constantsTouched: []
    func_position:
      end: 353
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 353
    functionName: g_action_get_enabled
    functionSourceFile: /src/glib/gio/gaction.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_ACTION_GET_IFACE
    - G_IS_ACTION
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_action_get_enabled (GAction *action) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gaction.c:408,1
    - Dst: g_ascii_isalnum
      Src: /src/glib/gio/gaction.c:411,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - action_name
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 415
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 415
    functionName: g_action_name_is_valid
    functionSourceFile: /src/glib/gio/gaction.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_ascii_isalnum
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_action_name_is_valid (const gchar *action_name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gaction.c:555,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gaction.c:560,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gaction.c:562,1
    - Dst: g_strdup
      Src: /src/glib/gio/gaction.c:558,1
    - Dst: g_action_name_is_valid
      Src: /src/glib/gio/gaction.c:555,1
    - Dst: g_action_name_is_valid
      Src: /src/glib/gio/gaction.c:564,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gaction.c:565,1
    - Dst: g_string_new
      Src: /src/glib/gio/gaction.c:569,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gaction.c:570,1
    - Dst: g_variant_print_string
      Src: /src/glib/gio/gaction.c:571,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gaction.c:572,1
    - Dst: g_string_free
      Src: /src/glib/gio/gaction.c:574,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 576
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 576
    functionName: g_action_print_detailed_name
    functionSourceFile: /src/glib/gio/gaction.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_strdup
    - g_strconcat
    - g_variant_is_of_type
    - g_string_append_c
    - g_variant_get_string
    - g_variant_print_string
    - g_action_name_is_valid
    - g_string_free
    - g_string_new
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_action_print_detailed_name (const gchar *action_name, GVariant
      *target_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gaction.c:91,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gaction.c:92,1
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gaction.c:106,1
    - Dst: g_param_spec_boxed
      Src: /src/glib/gio/gaction.c:107,1
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gaction.c:122,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gaction.c:123,1
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gaction.c:136,1
    - Dst: g_param_spec_boxed
      Src: /src/glib/gio/gaction.c:137,1
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gaction.c:149,1
    - Dst: g_param_spec_variant
      Src: /src/glib/gio/gaction.c:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GActionInterface*
    constantsTouched: []
    func_position:
      end: 155
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 155
    functionName: g_action_default_init
    functionSourceFile: /src/glib/gio/gaction.c
    functionUses: []
    functionsReached:
    - g_param_spec_boolean
    - g_object_interface_install_property
    - g_param_spec_boxed
    - g_param_spec_string
    - g_param_spec_variant
    linkageType: ''
    returnType: void
    signature: 'void g_action_default_init (GActionInterface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gaction.c:215,1
    - Dst: G_ACTION_GET_IFACE
      Src: /src/glib/gio/gaction.c:217,1
    - Dst: G_IS_ACTION
      Src: /src/glib/gio/gaction.c:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 219
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 219
    functionName: g_action_get_state
    functionSourceFile: /src/glib/gio/gaction.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_ACTION_GET_IFACE
    - G_IS_ACTION
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_action_get_state (GAction *action) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gaction.c:234,1
    - Dst: G_ACTION_GET_IFACE
      Src: /src/glib/gio/gaction.c:236,1
    - Dst: G_IS_ACTION
      Src: /src/glib/gio/gaction.c:234,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 238
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 238
    functionName: g_action_get_name
    functionSourceFile: /src/glib/gio/gaction.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_ACTION_GET_IFACE
    - G_IS_ACTION
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_action_get_name (GAction *action) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gaction.c:291,1
    - Dst: G_ACTION_GET_IFACE
      Src: /src/glib/gio/gaction.c:293,1
    - Dst: G_IS_ACTION
      Src: /src/glib/gio/gaction.c:291,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 295
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 295
    functionName: g_action_get_state_type
    functionSourceFile: /src/glib/gio/gaction.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_ACTION_GET_IFACE
    - G_IS_ACTION
    linkageType: ''
    returnType: GVariantType*
    signature: 'const GVariantType *g_action_get_state_type (GAction *action) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gaction.c:374,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gaction.c:377,1
    - Dst: G_ACTION_GET_IFACE
      Src: /src/glib/gio/gaction.c:379,1
    - Dst: G_IS_ACTION
      Src: /src/glib/gio/gaction.c:374,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gaction.c:383,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - action
    - parameter
    argTypes:
    - GAction*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 384
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 384
    functionName: g_action_activate
    functionSourceFile: /src/glib/gio/gaction.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - G_ACTION_GET_IFACE
    - G_IS_ACTION
    - g_return_if_fail
    - g_variant_unref
    linkageType: ''
    returnType: void
    signature: 'void g_action_activate (GAction *action, GVariant *parameter) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strcspn
      Src: /src/glib/gio/gaction.c:481,1
    - Dst: strlen
      Src: /src/glib/gio/gaction.c:483,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gaction.c:495,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gaction.c:495,1
    - Dst: g_variant_parse
      Src: /src/glib/gio/gaction.c:503,1
    - Dst: g_strndup
      Src: /src/glib/gio/gaction.c:514,1
    - Dst: g_set_error
      Src: /src/glib/gio/gaction.c:522,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/gaction.c:525,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 32
    argCount: 4
    argNames:
    - detailed_name
    - action_name
    - target_value
    - error
    argTypes:
    - gchar*
    - gchar**
    - GVariant**
    - GError**
    constantsTouched: []
    func_position:
      end: 529
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 529
    functionName: g_action_parse_detailed_name
    functionSourceFile: /src/glib/gio/gaction.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - g_set_error
    - g_variant_parse
    - strlen
    - g_prefix_error
    - g_strndup
    - g_variant_new_string
    - strcspn
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_action_parse_detailed_name (const gchar *detailed_name,
      gchar **action_name, GVariant **target_value, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_AUTH_MECHANISM_EXTERNAL
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:184,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM_EXTERNAL
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:186,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:186,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:187,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - mechanism
    argTypes:
    - GDBusAuthMechanism*
    constantsTouched: []
    func_position:
      end: 190
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 190
    functionName: mechanism_server_get_state
    functionSourceFile: /src/glib/gio/gdbusauthmechanismexternal.c
    functionUses: []
    functionsReached:
    - G_DBUS_AUTH_MECHANISM_EXTERNAL
    - G_IS_DBUS_AUTH_MECHANISM_EXTERNAL
    - g_return_val_if_fail
    linkageType: ''
    returnType: GDBusAuthMechanismState
    signature: 'static GDBusAuthMechanismState mechanism_server_get_state (GDBusAuthMechanism
      *mechanism) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 177
    functionName: mechanism_decode_data
    functionSourceFile: /src/glib/gio/gdbusauthmechanismexternal.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *mechanism_decode_data (GDBusAuthMechanism *mechanism,
      const gchar *data, gsize data_len, gsize *out_data_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: mechanism_get_name
    functionSourceFile: /src/glib/gio/gdbusauthmechanismexternal.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *mechanism_get_name (void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_credentials_get_unix_user
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:211,1
    - Dst: g_ascii_strtoll
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:223,1
    - Dst: g_credentials_get_unix_user
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:226,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 3
    argNames:
    - data
    - data_len
    - credentials
    argTypes:
    - gchar*
    - gsize
    - GCredentials*
    constantsTouched: []
    func_position:
      end: 238
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 238
    functionName: data_matches_credentials
    functionSourceFile: /src/glib/gio/gdbusauthmechanismexternal.c
    functionUses: []
    functionsReached:
    - g_credentials_get_unix_user
    - g_ascii_strtoll
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean data_matches_credentials (const gchar *data, gsize
      data_len, GCredentials *credentials) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_AUTH_MECHANISM_EXTERNAL
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:278,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:280,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:281,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:282,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM_EXTERNAL
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:280,1
    - Dst: data_matches_credentials
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:284,1
    - Dst: _g_dbus_auth_mechanism_get_credentials
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:286,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - mechanism
    - data
    - data_len
    argTypes:
    - GDBusAuthMechanism*
    - gchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 294
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 294
    functionName: mechanism_server_data_receive
    functionSourceFile: /src/glib/gio/gdbusauthmechanismexternal.c
    functionUses: []
    functionsReached:
    - G_DBUS_AUTH_MECHANISM_EXTERNAL
    - g_return_if_fail
    - _g_dbus_auth_mechanism_get_credentials
    - data_matches_credentials
    - G_IS_DBUS_AUTH_MECHANISM_EXTERNAL
    linkageType: ''
    returnType: void
    signature: 'static void mechanism_server_data_receive (GDBusAuthMechanism *mechanism,
      const gchar *data, gsize data_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_AUTH_MECHANISM_EXTERNAL
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:325,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:327,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM_EXTERNAL
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:327,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:329,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:328,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:332,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 335
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 335
    functionName: mechanism_server_get_reject_reason
    functionSourceFile: /src/glib/gio/gdbusauthmechanismexternal.c
    functionUses: []
    functionsReached:
    - G_DBUS_AUTH_MECHANISM_EXTERNAL
    - g_assert_not_reached
    - G_IS_DBUS_AUTH_MECHANISM_EXTERNAL
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *mechanism_server_get_reject_reason (GDBusAuthMechanism
      *mechanism) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_AUTH_MECHANISM_EXTERNAL
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:353,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:356,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:355,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM_EXTERNAL
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:355,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - mechanism
    argTypes:
    - GDBusAuthMechanism*
    constantsTouched: []
    func_position:
      end: 359
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 359
    functionName: mechanism_client_get_state
    functionSourceFile: /src/glib/gio/gdbusauthmechanismexternal.c
    functionUses: []
    functionsReached:
    - G_DBUS_AUTH_MECHANISM_EXTERNAL
    - G_IS_DBUS_AUTH_MECHANISM_EXTERNAL
    - g_return_val_if_fail
    linkageType: ''
    returnType: GDBusAuthMechanismState
    signature: 'static GDBusAuthMechanismState mechanism_client_get_state (GDBusAuthMechanism
      *mechanism) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:90,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: _g_dbus_auth_mechanism_external_finalize
    functionSourceFile: /src/glib/gio/gdbusauthmechanismexternal.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void _g_dbus_auth_mechanism_external_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 167
    functionName: mechanism_encode_data
    functionSourceFile: /src/glib/gio/gdbusauthmechanismexternal.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *mechanism_encode_data (GDBusAuthMechanism *mechanism,
      const gchar *data, gsize data_len, gsize *out_data_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_AUTH_MECHANISM_EXTERNAL
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:245,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:247,1
    - Dst: data_matches_credentials
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:254,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM_EXTERNAL
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:247,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:248,1
    - Dst: _g_dbus_auth_mechanism_get_credentials
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:256,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - mechanism
    - initial_response
    - initial_response_len
    argTypes:
    - GDBusAuthMechanism*
    - gchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 271
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 271
    functionName: mechanism_server_initiate
    functionSourceFile: /src/glib/gio/gdbusauthmechanismexternal.c
    functionUses: []
    functionsReached:
    - G_DBUS_AUTH_MECHANISM_EXTERNAL
    - g_return_if_fail
    - _g_dbus_auth_mechanism_get_credentials
    - data_matches_credentials
    - G_IS_DBUS_AUTH_MECHANISM_EXTERNAL
    linkageType: ''
    returnType: void
    signature: 'static void mechanism_server_initiate (GDBusAuthMechanism *mechanism,
      const gchar *initial_response, gsize initial_response_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_AUTH_MECHANISM_EXTERNAL
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:300,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:319,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:302,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:303,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM_EXTERNAL
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:302,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 320
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 320
    functionName: mechanism_server_data_send
    functionSourceFile: /src/glib/gio/gdbusauthmechanismexternal.c
    functionUses: []
    functionsReached:
    - g_strdup
    - G_DBUS_AUTH_MECHANISM_EXTERNAL
    - G_IS_DBUS_AUTH_MECHANISM_EXTERNAL
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *mechanism_server_data_send (GDBusAuthMechanism *mechanism,
      gsize *out_data_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_AUTH_MECHANISM_EXTERNAL
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:340,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM_EXTERNAL
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:342,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:342,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:343,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - mechanism
    argTypes:
    - GDBusAuthMechanism*
    constantsTouched: []
    func_position:
      end: 346
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 346
    functionName: mechanism_server_shutdown
    functionSourceFile: /src/glib/gio/gdbusauthmechanismexternal.c
    functionUses: []
    functionsReached:
    - G_DBUS_AUTH_MECHANISM_EXTERNAL
    - G_IS_DBUS_AUTH_MECHANISM_EXTERNAL
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void mechanism_server_shutdown (GDBusAuthMechanism *mechanism) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_AUTH_MECHANISM_EXTERNAL
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:366,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:369,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM_EXTERNAL
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:369,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:370,1
    - Dst: _g_dbus_auth_mechanism_get_credentials
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:393,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:394,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:396,1
    - Dst: g_credentials_get_unix_user
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:396,1
    - Dst: _g_win32_current_process_sid_string
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:398,1
    - Dst: g_debug
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:403,1
    - Dst: strlen
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:410,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 413
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 413
    functionName: mechanism_client_initiate
    functionSourceFile: /src/glib/gio/gdbusauthmechanismexternal.c
    functionUses: []
    functionsReached:
    - G_DBUS_AUTH_MECHANISM_EXTERNAL
    - g_return_val_if_fail
    - g_strdup_printf
    - strlen
    - g_assert
    - g_debug
    - _g_dbus_auth_mechanism_get_credentials
    - g_credentials_get_unix_user
    - _g_win32_current_process_sid_string
    - G_IS_DBUS_AUTH_MECHANISM_EXTERNAL
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *mechanism_client_initiate (GDBusAuthMechanism *mechanism,
      GDBusConnectionFlags conn_flags, gsize *out_initial_response_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_AUTH_MECHANISM_EXTERNAL
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:451,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:454,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM_EXTERNAL
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:453,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:453,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - mechanism
    argTypes:
    - GDBusAuthMechanism*
    constantsTouched: []
    func_position:
      end: 457
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 457
    functionName: mechanism_client_shutdown
    functionSourceFile: /src/glib/gio/gdbusauthmechanismexternal.c
    functionUses: []
    functionsReached:
    - G_DBUS_AUTH_MECHANISM_EXTERNAL
    - G_IS_DBUS_AUTH_MECHANISM_EXTERNAL
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void mechanism_client_shutdown (GDBusAuthMechanism *mechanism) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:133,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM_EXTERNAL
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:133,1
    - Dst: _g_dbus_auth_mechanism_get_credentials
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - mechanism
    argTypes:
    - GDBusAuthMechanism*
    constantsTouched: []
    func_position:
      end: 145
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 145
    functionName: mechanism_is_supported
    functionSourceFile: /src/glib/gio/gdbusauthmechanismexternal.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - _g_dbus_auth_mechanism_get_credentials
    - G_IS_DBUS_AUTH_MECHANISM_EXTERNAL
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean mechanism_is_supported (GDBusAuthMechanism *mechanism) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 152
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 152
    functionName: mechanism_get_priority
    functionSourceFile: /src/glib/gio/gdbusauthmechanismexternal.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint
    signature: 'static gint mechanism_get_priority (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:100,1
    - Dst: G_DBUS_AUTH_MECHANISM_CLASS
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GDBusAuthMechanismExternalClass*
    constantsTouched: []
    func_position:
      end: 120
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 120
    functionName: _g_dbus_auth_mechanism_external_class_init
    functionSourceFile: /src/glib/gio/gdbusauthmechanismexternal.c
    functionUses: []
    functionsReached:
    - G_DBUS_AUTH_MECHANISM_CLASS
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void _g_dbus_auth_mechanism_external_class_init (GDBusAuthMechanismExternalClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_AUTH_MECHANISM_EXTERNAL
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:420,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM_EXTERNAL
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:422,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:422,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:424,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:423,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - mechanism
    - data
    - data_len
    argTypes:
    - GDBusAuthMechanism*
    - gchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 429
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 429
    functionName: mechanism_client_data_receive
    functionSourceFile: /src/glib/gio/gdbusauthmechanismexternal.c
    functionUses: []
    functionsReached:
    - G_DBUS_AUTH_MECHANISM_EXTERNAL
    - G_IS_DBUS_AUTH_MECHANISM_EXTERNAL
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void mechanism_client_data_receive (GDBusAuthMechanism *mechanism,
      const gchar *data, gsize data_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_dbus_auth_mechanism_external_get_instance_private
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - mechanism
    argTypes:
    - GDBusAuthMechanismExternal*
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: _g_dbus_auth_mechanism_external_init
    functionSourceFile: /src/glib/gio/gdbusauthmechanismexternal.c
    functionUses: []
    functionsReached:
    - _g_dbus_auth_mechanism_external_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void _g_dbus_auth_mechanism_external_init (GDBusAuthMechanismExternal
      *mechanism) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_AUTH_MECHANISM_EXTERNAL
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:435,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:439,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM_EXTERNAL
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:437,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:437,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:438,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusauthmechanismexternal.c:445,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 446
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 446
    functionName: mechanism_client_data_send
    functionSourceFile: /src/glib/gio/gdbusauthmechanismexternal.c
    functionUses: []
    functionsReached:
    - g_strdup
    - G_DBUS_AUTH_MECHANISM_EXTERNAL
    - G_IS_DBUS_AUTH_MECHANISM_EXTERNAL
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *mechanism_client_data_send (GDBusAuthMechanism *mechanism,
      gsize *out_data_len) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_get_name
      Src: /src/glib/gio/gio-tool-list.c:64,1
    - Dst: g_file_get_uri
      Src: /src/glib/gio/gio-tool-list.c:71,1
    - Dst: g_file_info_get_size
      Src: /src/glib/gio/gio-tool-list.c:76,1
    - Dst: strcmp
      Src: /src/glib/gio/gio-tool-list.c:95,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-list.c:106,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-list.c:109,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/gio-tool-list.c:70,1
    - Dst: g_file_info_list_attributes
      Src: /src/glib/gio/gio-tool-list.c:87,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-list.c:84,1
    - Dst: file_type_to_string
      Src: /src/glib/gio/gio-tool-list.c:77,1
    - Dst: g_file_info_get_attribute_as_string
      Src: /src/glib/gio/gio-tool-list.c:107,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-list.c:108,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gio-tool-list.c:112,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/gio-tool-list.c:56,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/gio-tool-list.c:61,1
    - Dst: g_file_info_get_is_hidden
      Src: /src/glib/gio/gio-tool-list.c:57,1
    - Dst: strcmp
      Src: /src/glib/gio/gio-tool-list.c:97,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-list.c:114,1
    - Dst: g_file_info_get_display_name
      Src: /src/glib/gio/gio-tool-list.c:62,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-list.c:72,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/gio-tool-list.c:75,1
    - Dst: g_file_info_get_file_type
      Src: /src/glib/gio/gio-tool-list.c:77,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-list.c:81,1
    - Dst: strcmp
      Src: /src/glib/gio/gio-tool-list.c:94,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-list.c:79,1
    - Dst: strcmp
      Src: /src/glib/gio/gio-tool-list.c:93,1
    - Dst: strcmp
      Src: /src/glib/gio/gio-tool-list.c:96,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-list.c:102,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 64
    argCount: 2
    argNames:
    - info
    - parent
    argTypes:
    - GFileInfo*
    - GFile*
    constantsTouched: []
    func_position:
      end: 115
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 115
    functionName: show_file_listing
    functionSourceFile: /src/glib/gio/gio-tool-list.c
    functionUses: []
    functionsReached:
    - g_file_get_uri
    - g_file_info_has_attribute
    - g_object_unref
    - g_file_info_get_file_type
    - file_type_to_string
    - g_file_info_get_is_hidden
    - strcmp
    - g_file_info_list_attributes
    - g_file_info_get_attribute_as_string
    - g_strfreev
    - g_file_get_child
    - g_file_info_get_display_name
    - g_print
    - g_file_info_get_name
    - g_file_info_get_size
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void show_file_listing (GFileInfo *info, GFile *parent) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_set_prgname
      Src: /src/glib/gio/gio-tool-list.c:174,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-list.c:179,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-list.c:184,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-list.c:192,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-list.c:199,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-list.c:238,1
    - Dst: g_option_context_new
      Src: /src/glib/gio/gio-tool-list.c:178,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/gio-tool-list.c:197,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gio-tool-list.c:210,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-list.c:224,1
    - Dst: g_get_current_dir
      Src: /src/glib/gio/gio-tool-list.c:231,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/gio-tool-list.c:232,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-list.c:235,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gio-tool-list.c:177,1
    - Dst: g_option_context_set_help_enabled
      Src: /src/glib/gio/gio-tool-list.c:180,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-list.c:182,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-list.c:201,1
    - Dst: list
      Src: /src/glib/gio/gio-tool-list.c:223,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-list.c:234,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-list.c:177,1
    - Dst: g_option_context_set_summary
      Src: /src/glib/gio/gio-tool-list.c:181,1
    - Dst: g_option_context_set_description
      Src: /src/glib/gio/gio-tool-list.c:183,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-list.c:193,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-list.c:200,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-list.c:205,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/gio/gio-tool-list.c:188,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/gio-tool-list.c:222,1
    - Dst: list
      Src: /src/glib/gio/gio-tool-list.c:233,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 3
    argNames:
    - argc
    - argv
    - do_help
    argTypes:
    - int
    - char*
    - gboolean
    constantsTouched: []
    func_position:
      end: 241
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 241
    functionName: handle_list
    functionSourceFile: /src/glib/gio/gio-tool-list.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_strconcat
    - g_option_context_free
    - show_help
    - g_get_current_dir
    - g_file_new_for_commandline_arg
    - g_object_unref
    - g_error_free
    - g_option_context_parse
    - g_file_new_for_path
    - g_option_context_new
    - g_set_prgname
    - g_option_context_set_help_enabled
    - _
    - g_option_context_add_main_entries
    - g_option_context_set_description
    - g_option_context_set_summary
    - list
    - g_free
    linkageType: ''
    returnType: int
    signature: 'int handle_list (int argc, char *argv[], gboolean do_help) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_file_enumerate_children
      Src: /src/glib/gio/gio-tool-list.c:126,1
    - Dst: g_file_enumerator_next_file
      Src: /src/glib/gio/gio-tool-list.c:139,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-list.c:134,1
    - Dst: print_file_error
      Src: /src/glib/gio/gio-tool-list.c:133,1
    - Dst: show_file_listing
      Src: /src/glib/gio/gio-tool-list.c:141,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-list.c:142,1
    - Dst: print_file_error
      Src: /src/glib/gio/gio-tool-list.c:147,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gio-tool-list.c:148,1
    - Dst: g_file_enumerator_close
      Src: /src/glib/gio/gio-tool-list.c:152,1
    - Dst: print_file_error
      Src: /src/glib/gio/gio-tool-list.c:154,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-list.c:159,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gio-tool-list.c:155,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 162
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 162
    functionName: list
    functionSourceFile: /src/glib/gio/gio-tool-list.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_file_enumerator_close
    - g_file_enumerator_next_file
    - g_object_unref
    - show_file_listing
    - print_file_error
    - g_file_enumerate_children
    - g_error_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean list (GFile *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_VOLUME
      Src: /src/glib/gio/gunixvolume.c:198,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gunixvolume.c:199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 200
    functionName: g_unix_volume_get_icon
    functionSourceFile: /src/glib/gio/gunixvolume.c
    functionUses: []
    functionsReached:
    - G_UNIX_VOLUME
    - g_object_ref
    linkageType: ''
    returnType: GIcon*
    signature: 'static GIcon *g_unix_volume_get_icon (GVolume *volume) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - volume
    argTypes:
    - GVolume*
    constantsTouched: []
    func_position:
      end: 242
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 242
    functionName: g_unix_volume_should_automount
    functionSourceFile: /src/glib/gio/gunixvolume.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_unix_volume_should_automount (GVolume *volume) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_VOLUME
      Src: /src/glib/gio/gunixvolume.c:253,1
    - Dst: G_MOUNT
      Src: /src/glib/gio/gunixvolume.c:256,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gunixvolume.c:256,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 259
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 259
    functionName: g_unix_volume_get_mount
    functionSourceFile: /src/glib/gio/gunixvolume.c
    functionUses: []
    functionsReached:
    - G_MOUNT
    - G_UNIX_VOLUME
    - g_object_ref
    linkageType: ''
    returnType: GMount*
    signature: 'static GMount *g_unix_volume_get_mount (GVolume *volume) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_VOLUME
      Src: /src/glib/gio/gunixvolume.c:370,1
    - Dst: eject_mount_do
      Src: /src/glib/gio/gunixvolume.c:375,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 5
    argNames:
    - volume
    - flags
    - cancellable
    - callback
    - user_data
    argTypes:
    - GVolume*
    - GMountUnmountFlags
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 376
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 376
    functionName: g_unix_volume_eject
    functionSourceFile: /src/glib/gio/gunixvolume.c
    functionUses: []
    functionsReached:
    - G_UNIX_VOLUME
    - eject_mount_do
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_volume_eject (GVolume *volume, GMountUnmountFlags
      flags, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_VOLUME
      Src: /src/glib/gio/gunixvolume.c:205,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gunixvolume.c:206,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 207
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 207
    functionName: g_unix_volume_get_symbolic_icon
    functionSourceFile: /src/glib/gio/gunixvolume.c
    functionUses: []
    functionsReached:
    - G_UNIX_VOLUME
    - g_object_ref
    linkageType: ''
    returnType: GIcon*
    signature: 'static GIcon *g_unix_volume_get_symbolic_icon (GVolume *volume) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 248
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 248
    functionName: g_unix_volume_get_drive
    functionSourceFile: /src/glib/gio/gunixvolume.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GDrive*
    signature: 'static GDrive *g_unix_volume_get_drive (GVolume *volume) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/gunixvolume.c:266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - volume
    - mount_path
    argTypes:
    - GUnixVolume*
    - char*
    constantsTouched: []
    func_position:
      end: 267
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 267
    functionName: _g_unix_volume_has_mount_path
    functionSourceFile: /src/glib/gio/gunixvolume.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _g_unix_volume_has_mount_path (GUnixVolume *volume, const
      char *mount_path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixvolume.c:383,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gunixvolume.c:385,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gunixvolume.c:383,1
    - Dst: G_TASK
      Src: /src/glib/gio/gunixvolume.c:385,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - volume
    - result
    - error
    argTypes:
    - GVolume*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 386
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 386
    functionName: g_unix_volume_eject_finish
    functionSourceFile: /src/glib/gio/gunixvolume.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_task_is_valid
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_unix_volume_eject_finish (GVolume *volume, GAsyncResult
      *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - volume
    argTypes:
    - GVolume*
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: g_unix_volume_can_mount
    functionSourceFile: /src/glib/gio/gunixvolume.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_unix_volume_can_mount (GVolume *volume) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_VOLUME
      Src: /src/glib/gio/gunixvolume.c:231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - volume
    argTypes:
    - GVolume*
    constantsTouched: []
    func_position:
      end: 233
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 233
    functionName: g_unix_volume_can_eject
    functionSourceFile: /src/glib/gio/gunixvolume.c
    functionUses: []
    functionsReached:
    - G_UNIX_VOLUME
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_unix_volume_can_eject (GVolume *volume) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GVolumeIface*
    constantsTouched: []
    func_position:
      end: 440
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 440
    functionName: g_unix_volume_volume_iface_init
    functionSourceFile: /src/glib/gio/gunixvolume.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_volume_volume_iface_init (GVolumeIface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gunixvolume.c:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GUnixVolumeClass*
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: g_unix_volume_class_init
    functionSourceFile: /src/glib/gio/gunixvolume.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_volume_class_init (GUnixVolumeClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_VOLUME
      Src: /src/glib/gio/gunixvolume.c:212,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixvolume.c:213,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 214
    functionName: g_unix_volume_get_name
    functionSourceFile: /src/glib/gio/gunixvolume.c
    functionUses: []
    functionsReached:
    - g_strdup
    - G_UNIX_VOLUME
    linkageType: ''
    returnType: char*
    signature: 'static char *g_unix_volume_get_name (GVolume *volume) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_VOLUME
      Src: /src/glib/gio/gunixvolume.c:342,1
    - Dst: eject_mount_do
      Src: /src/glib/gio/gunixvolume.c:350,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 6
    argNames:
    - volume
    - flags
    - mount_operation
    - cancellable
    - callback
    - user_data
    argTypes:
    - GVolume*
    - GMountMountFlags
    - GMountOperation*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 351
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 351
    functionName: g_unix_volume_mount
    functionSourceFile: /src/glib/gio/gunixvolume.c
    functionUses: []
    functionsReached:
    - G_UNIX_VOLUME
    - eject_mount_do
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_volume_mount (GVolume *volume, GMountMountFlags
      flags, GMountOperation *mount_operation, GCancellable *cancellable, GAsyncReadyCallback
      callback, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_VOLUME
      Src: /src/glib/gio/gunixvolume.c:75,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixvolume.c:78,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixvolume.c:84,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixvolume.c:83,1
    - Dst: _g_unix_mount_unset_volume
      Src: /src/glib/gio/gunixvolume.c:81,1
    - Dst: g_free
      Src: /src/glib/gio/gunixvolume.c:85,1
    - Dst: g_free
      Src: /src/glib/gio/gunixvolume.c:86,1
    - Dst: g_free
      Src: /src/glib/gio/gunixvolume.c:87,1
    - Dst: g_free
      Src: /src/glib/gio/gunixvolume.c:88,1
    - Dst: g_free
      Src: /src/glib/gio/gunixvolume.c:89,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gunixvolume.c:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 92
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 92
    functionName: g_unix_volume_finalize
    functionSourceFile: /src/glib/gio/gunixvolume.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - G_UNIX_VOLUME
    - g_free
    - G_OBJECT_CLASS
    - _g_unix_mount_unset_volume
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_volume_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - unix_volume
    argTypes:
    - GUnixVolume*
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: g_unix_volume_init
    functionSourceFile: /src/glib/gio/gunixvolume.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_volume_init (GUnixVolume *unix_volume) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 220
    functionName: g_unix_volume_get_uuid
    functionSourceFile: /src/glib/gio/gunixvolume.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static char *g_unix_volume_get_uuid (GVolume *volume) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixvolume.c:358,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gunixvolume.c:358,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gunixvolume.c:360,1
    - Dst: G_TASK
      Src: /src/glib/gio/gunixvolume.c:360,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - volume
    - result
    - error
    argTypes:
    - GVolume*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 361
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 361
    functionName: g_unix_volume_mount_finish
    functionSourceFile: /src/glib/gio/gunixvolume.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_task_is_valid
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_unix_volume_mount_finish (GVolume *volume, GAsyncResult
      *result, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_mount_point_get_mount_path
      Src: /src/glib/gio/gunixvolume.c:120,1
    - Dst: g_unix_mount_point_get_device_path
      Src: /src/glib/gio/gunixvolume.c:121,1
    - Dst: g_unix_mount_point_guess_name
      Src: /src/glib/gio/gunixvolume.c:124,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixvolume.c:136,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixvolume.c:139,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixvolume.c:142,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixvolume.c:147,1
    - Dst: g_unix_mount_point_get_device_path
      Src: /src/glib/gio/gunixvolume.c:114,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gunixvolume.c:119,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixvolume.c:134,1
    - Dst: g_unix_mount_point_guess_can_eject
      Src: /src/glib/gio/gunixvolume.c:122,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixvolume.c:137,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixvolume.c:146,1
    - Dst: g_unix_mount_point_is_user_mountable
      Src: /src/glib/gio/gunixvolume.c:113,1
    - Dst: g_unix_mount_point_is_loopback
      Src: /src/glib/gio/gunixvolume.c:115,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixvolume.c:114,1
    - Dst: g_object_new
      Src: /src/glib/gio/gunixvolume.c:118,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixvolume.c:120,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixvolume.c:121,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixvolume.c:132,1
    - Dst: g_unix_mount_point_guess_symbolic_icon
      Src: /src/glib/gio/gunixvolume.c:126,1
    - Dst: strcmp
      Src: /src/glib/gio/gunixvolume.c:129,1
    - Dst: g_path_is_absolute
      Src: /src/glib/gio/gunixvolume.c:144,1
    - Dst: g_unix_mount_point_get_fs_type
      Src: /src/glib/gio/gunixvolume.c:129,1
    - Dst: g_unix_mount_point_guess_icon
      Src: /src/glib/gio/gunixvolume.c:125,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixvolume.c:131,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixvolume.c:141,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 151
    functionName: _g_unix_volume_new
    functionSourceFile: /src/glib/gio/gunixvolume.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_unix_mount_point_get_mount_path
    - g_object_new
    - g_path_is_absolute
    - g_unix_mount_point_is_loopback
    - strcmp
    - g_unix_mount_point_guess_can_eject
    - g_unix_mount_point_guess_name
    - g_str_has_prefix
    - g_unix_mount_point_get_device_path
    - g_unix_mount_point_get_fs_type
    - g_object_ref
    - g_unix_mount_point_guess_symbolic_icon
    - g_unix_mount_point_is_user_mountable
    - g_unix_mount_point_guess_icon
    linkageType: ''
    returnType: GUnixVolume*
    signature: 'GUnixVolume *_g_unix_volume_new (GVolumeMonitor *volume_monitor, GUnixMountPoint
      *mountpoint) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _g_unix_mount_unset_volume
      Src: /src/glib/gio/gunixvolume.c:171,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gunixvolume.c:178,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gunixvolume.c:176,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - volume
    - mount
    argTypes:
    - GUnixVolume*
    - GUnixMount*
    constantsTouched: []
    func_position:
      end: 179
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 179
    functionName: _g_unix_volume_set_mount
    functionSourceFile: /src/glib/gio/gunixvolume.c
    functionUses: []
    functionsReached:
    - g_signal_emit_by_name
    - _g_unix_mount_unset_volume
    linkageType: ''
    returnType: void
    signature: 'void _g_unix_volume_set_mount (GUnixVolume *volume, GUnixMount *mount) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_SUBPROCESS
      Src: /src/glib/gio/gunixvolume.c:274,1
    - Dst: g_subprocess_communicate_utf8_finish
      Src: /src/glib/gio/gunixvolume.c:280,1
    - Dst: g_subprocess_get_successful
      Src: /src/glib/gio/gunixvolume.c:287,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gunixvolume.c:282,1
    - Dst: g_error_free
      Src: /src/glib/gio/gunixvolume.c:283,1
    - Dst: g_task_return_new_error_literal
      Src: /src/glib/gio/gunixvolume.c:289,1
    - Dst: G_UNIX_VOLUME
      Src: /src/glib/gio/gunixvolume.c:293,1
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/gunixvolume.c:293,1
    - Dst: _g_unix_volume_monitor_update
      Src: /src/glib/gio/gunixvolume.c:294,1
    - Dst: G_UNIX_VOLUME_MONITOR
      Src: /src/glib/gio/gunixvolume.c:294,1
    - Dst: g_free
      Src: /src/glib/gio/gunixvolume.c:298,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gunixvolume.c:295,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixvolume.c:301,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 302
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 302
    functionName: eject_mount_done
    functionSourceFile: /src/glib/gio/gunixvolume.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_object_unref
    - G_SUBPROCESS
    - g_free
    - g_task_return_new_error_literal
    - g_subprocess_get_successful
    - g_task_get_source_object
    - g_subprocess_communicate_utf8_finish
    - g_error_free
    - _g_unix_volume_monitor_update
    - G_UNIX_VOLUME
    - g_task_return_error
    - G_UNIX_VOLUME_MONITOR
    linkageType: ''
    returnType: void
    signature: 'static void eject_mount_done (GObject *source, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_VOLUME
      Src: /src/glib/gio/gunixvolume.c:392,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixvolume.c:396,1
    - Dst: strcmp
      Src: /src/glib/gio/gunixvolume.c:395,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 399
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 399
    functionName: g_unix_volume_get_identifier
    functionSourceFile: /src/glib/gio/gunixvolume.c
    functionUses: []
    functionsReached:
    - strcmp
    - g_strdup
    - G_UNIX_VOLUME
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *g_unix_volume_get_identifier (GVolume *volume, const
      gchar *kind) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _g_unix_mount_unset_volume
      Src: /src/glib/gio/gunixvolume.c:158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - volume
    argTypes:
    - GUnixVolume*
    constantsTouched: []
    func_position:
      end: 161
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 161
    functionName: _g_unix_volume_disconnected
    functionSourceFile: /src/glib/gio/gunixvolume.c
    functionUses: []
    functionsReached:
    - _g_unix_mount_unset_volume
    linkageType: ''
    returnType: void
    signature: 'void _g_unix_volume_disconnected (GUnixVolume *volume) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gunixvolume.c:189,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gunixvolume.c:191,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - volume
    - mount
    argTypes:
    - GUnixVolume*
    - GUnixMount*
    constantsTouched: []
    func_position:
      end: 193
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 193
    functionName: _g_unix_volume_unset_mount
    functionSourceFile: /src/glib/gio/gunixvolume.c
    functionUses: []
    functionsReached:
    - g_signal_emit_by_name
    linkageType: ''
    returnType: void
    signature: 'void _g_unix_volume_unset_mount (GUnixVolume *volume, GUnixMount *mount) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/gunixvolume.c:316,1
    - Dst: g_task_set_name
      Src: /src/glib/gio/gunixvolume.c:318,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gunixvolume.c:317,1
    - Dst: g_task_return_error_if_cancelled
      Src: /src/glib/gio/gunixvolume.c:320,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixvolume.c:322,1
    - Dst: g_subprocess_newv
      Src: /src/glib/gio/gunixvolume.c:326,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/gunixvolume.c:327,1
    - Dst: g_subprocess_communicate_utf8_async
      Src: /src/glib/gio/gunixvolume.c:329,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gunixvolume.c:330,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 6
    argNames:
    - volume
    - cancellable
    - callback
    - user_data
    - argv
    - task_name
    argTypes:
    - GVolume*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    - gchar**
    - gchar*
    constantsTouched: []
    func_position:
      end: 332
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 332
    functionName: eject_mount_do
    functionSourceFile: /src/glib/gio/gunixvolume.c
    functionUses: []
    functionsReached:
    - g_subprocess_newv
    - g_subprocess_communicate_utf8_async
    - g_task_new
    - g_object_unref
    - g_task_set_source_tag
    - g_task_get_cancellable
    - g_task_return_error_if_cancelled
    - g_assert_no_error
    - g_task_set_name
    linkageType: ''
    returnType: void
    signature: 'static void eject_mount_do (GVolume *volume, GCancellable *cancellable,
      GAsyncReadyCallback callback, gpointer user_data, const gchar * const *argv,
      const gchar *task_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_VOLUME
      Src: /src/glib/gio/gunixvolume.c:404,1
    - Dst: g_new
      Src: /src/glib/gio/gunixvolume.c:415,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixvolume.c:410,1
    - Dst: g_new
      Src: /src/glib/gio/gunixvolume.c:409,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 420
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 420
    functionName: g_unix_volume_enumerate_identifiers
    functionSourceFile: /src/glib/gio/gunixvolume.c
    functionUses: []
    functionsReached:
    - g_strdup
    - G_UNIX_VOLUME
    - g_new
    linkageType: ''
    returnType: gchar**
    signature: 'static gchar **g_unix_volume_enumerate_identifiers (GVolume *volume) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - portal
    argTypes:
    - GMemoryMonitorPortal*
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: g_memory_monitor_portal_init
    functionSourceFile: /src/glib/gio/gmemorymonitorportal.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_memory_monitor_portal_init (GMemoryMonitorPortal *portal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gmemorymonitorportal.c:139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - nl_class
    argTypes:
    - GMemoryMonitorPortalClass*
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: g_memory_monitor_portal_class_init
    functionSourceFile: /src/glib/gio/gmemorymonitorportal.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_memory_monitor_portal_class_init (GMemoryMonitorPortalClass
      *nl_class) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_MEMORY_MONITOR_PORTAL
      Src: /src/glib/gio/gmemorymonitorportal.c:81,1
    - Dst: glib_should_use_portal
      Src: /src/glib/gio/gmemorymonitorportal.c:85,1
    - Dst: g_dbus_proxy_get_name_owner
      Src: /src/glib/gio/gmemorymonitorportal.c:102,1
    - Dst: g_dbus_proxy_new_for_bus_sync
      Src: /src/glib/gio/gmemorymonitorportal.c:91,1
    - Dst: g_set_error
      Src: /src/glib/gio/gmemorymonitorportal.c:87,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gmemorymonitorportal.c:106,1
    - Dst: g_set_error
      Src: /src/glib/gio/gmemorymonitorportal.c:107,1
    - Dst: g_free
      Src: /src/glib/gio/gmemorymonitorportal.c:114,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gmemorymonitorportal.c:116,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gmemorymonitorportal.c:117,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 3
    argNames:
    - initable
    - cancellable
    - error
    argTypes:
    - GInitable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 122
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 122
    functionName: g_memory_monitor_portal_initable_init
    functionSourceFile: /src/glib/gio/gmemorymonitorportal.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_object_unref
    - glib_should_use_portal
    - G_CALLBACK
    - g_dbus_proxy_new_for_bus_sync
    - G_MEMORY_MONITOR_PORTAL
    - g_dbus_proxy_get_name_owner
    - g_free
    - g_signal_connect
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_memory_monitor_portal_initable_init (GInitable *initable,
      GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_MEMORY_MONITOR_PORTAL
      Src: /src/glib/gio/gmemorymonitorportal.c:127,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gmemorymonitorportal.c:133,1
    - Dst: g_clear_signal_handler
      Src: /src/glib/gio/gmemorymonitorportal.c:130,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gmemorymonitorportal.c:131,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 134
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 134
    functionName: g_memory_monitor_portal_finalize
    functionSourceFile: /src/glib/gio/gmemorymonitorportal.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - g_clear_signal_handler
    - G_MEMORY_MONITOR_PORTAL
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_memory_monitor_portal_finalize (GObject *object) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/gmemorymonitorportal.c:67,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gmemorymonitorportal.c:73,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gmemorymonitorportal.c:72,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 5
    argNames:
    - proxy
    - sender
    - signal
    - parameters
    - portal
    argTypes:
    - GDBusProxy*
    - char*
    - char*
    - GVariant*
    - GMemoryMonitorPortal*
    constantsTouched: []
    func_position:
      end: 74
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 74
    functionName: proxy_signal
    functionSourceFile: /src/glib/gio/gmemorymonitorportal.c
    functionUses: []
    functionsReached:
    - g_signal_emit_by_name
    - strcmp
    - g_variant_get
    linkageType: ''
    returnType: void
    signature: 'static void proxy_signal (GDBusProxy *proxy, const char *sender, const
      char *signal, GVariant *parameters, GMemoryMonitorPortal *portal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - monitor_iface
    argTypes:
    - GMemoryMonitorInterface*
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: g_memory_monitor_portal_iface_init
    functionSourceFile: /src/glib/gio/gmemorymonitorportal.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_memory_monitor_portal_iface_init (GMemoryMonitorInterface
      *monitor_iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GInitableIface*
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: g_memory_monitor_portal_initable_iface_init
    functionSourceFile: /src/glib/gio/gmemorymonitorportal.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_memory_monitor_portal_initable_iface_init (GInitableIface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_fd_list_get_instance_private
      Src: /src/glib/gio/gunixfdlist.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - GUnixFDList*
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: g_unix_fd_list_init
    functionSourceFile: /src/glib/gio/gunixfdlist.c
    functionUses: []
    functionsReached:
    - g_unix_fd_list_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_fd_list_init (GUnixFDList *list) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gunixfdlist.c:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - class
    argTypes:
    - GUnixFDListClass*
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: g_unix_fd_list_class_init
    functionSourceFile: /src/glib/gio/gunixfdlist.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_fd_list_class_init (GUnixFDListClass *class) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixfdlist.c:189,1
    - Dst: g_object_new
      Src: /src/glib/gio/gunixfdlist.c:194,1
    - Dst: memcpy
      Src: /src/glib/gio/gunixfdlist.c:199,1
    - Dst: g_new
      Src: /src/glib/gio/gunixfdlist.c:195,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 203
    functionName: g_unix_fd_list_new_from_array
    functionSourceFile: /src/glib/gio/gunixfdlist.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_return_val_if_fail
    - g_new
    - g_object_new
    linkageType: ''
    returnType: GUnixFDList*
    signature: 'GUnixFDList *g_unix_fd_list_new_from_array (const gint *fds, gint
      n_fds) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixfdlist.c:241,1
    - Dst: G_IS_UNIX_FD_LIST
      Src: /src/glib/gio/gunixfdlist.c:241,1
    - Dst: g_new
      Src: /src/glib/gio/gunixfdlist.c:246,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 259
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 259
    functionName: g_unix_fd_list_steal_fds
    functionSourceFile: /src/glib/gio/gunixfdlist.c
    functionUses: []
    functionsReached:
    - G_IS_UNIX_FD_LIST
    - g_return_val_if_fail
    - g_new
    linkageType: ''
    returnType: gint*
    signature: 'gint *g_unix_fd_list_steal_fds (GUnixFDList *list, gint *length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixfdlist.c:381,1
    - Dst: G_IS_UNIX_FD_LIST
      Src: /src/glib/gio/gunixfdlist.c:381,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixfdlist.c:383,1
    - Dst: dup_close_on_exec_fd
      Src: /src/glib/gio/gunixfdlist.c:385,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixfdlist.c:382,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - list
    - index_
    - error
    argTypes:
    - GUnixFDList*
    - gint
    - GError**
    constantsTouched: []
    func_position:
      end: 386
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 386
    functionName: g_unix_fd_list_get
    functionSourceFile: /src/glib/gio/gunixfdlist.c
    functionUses: []
    functionsReached:
    - G_IS_UNIX_FD_LIST
    - dup_close_on_exec_fd
    - g_return_val_if_fail
    linkageType: ''
    returnType: gint
    signature: 'gint g_unix_fd_list_get (GUnixFDList *list, gint index_, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/glib/gio/gunixfdlist.c:98,1
    - Dst: dup
      Src: /src/glib/gio/gunixfdlist.c:108,1
    - Dst: g_strerror
      Src: /src/glib/gio/gunixfdlist.c:117,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gunixfdlist.c:116,1
    - Dst: g_set_error
      Src: /src/glib/gio/gunixfdlist.c:115,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gunixfdlist.c:123,1
    - Dst: fcntl
      Src: /src/glib/gio/gunixfdlist.c:127,1
    - Dst: fcntl
      Src: /src/glib/gio/gunixfdlist.c:130,1
    - Dst: g_set_error
      Src: /src/glib/gio/gunixfdlist.c:138,1
    - Dst: g_close
      Src: /src/glib/gio/gunixfdlist.c:141,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gunixfdlist.c:139,1
    - Dst: g_strerror
      Src: /src/glib/gio/gunixfdlist.c:140,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 2
    argNames:
    - fd
    - error
    argTypes:
    - gint
    - GError**
    constantsTouched: []
    func_position:
      end: 148
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 148
    functionName: dup_close_on_exec_fd
    functionSourceFile: /src/glib/gio/gunixfdlist.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_io_error_from_errno
    - dup
    - g_strerror
    - g_close
    - GLIB_PRIVATE_CALL
    - fcntl
    linkageType: ''
    returnType: int
    signature: 'static int dup_close_on_exec_fd (gint fd, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_FD_LIST
      Src: /src/glib/gio/gunixfdlist.c:68,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gunixfdlist.c:75,1
    - Dst: g_close
      Src: /src/glib/gio/gunixfdlist.c:72,1
    - Dst: g_free
      Src: /src/glib/gio/gunixfdlist.c:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: g_unix_fd_list_finalize
    functionSourceFile: /src/glib/gio/gunixfdlist.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    - g_free
    - g_close
    - G_UNIX_FD_LIST
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_fd_list_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gunixfdlist.c:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: g_unix_fd_list_new
    functionSourceFile: /src/glib/gio/gunixfdlist.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: GUnixFDList*
    signature: 'GUnixFDList *g_unix_fd_list_new (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixfdlist.c:290,1
    - Dst: G_IS_UNIX_FD_LIST
      Src: /src/glib/gio/gunixfdlist.c:290,1
    - Dst: g_new
      Src: /src/glib/gio/gunixfdlist.c:295,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 304
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 304
    functionName: g_unix_fd_list_peek_fds
    functionSourceFile: /src/glib/gio/gunixfdlist.c
    functionUses: []
    functionsReached:
    - G_IS_UNIX_FD_LIST
    - g_return_val_if_fail
    - g_new
    linkageType: ''
    returnType: gint*
    signature: 'const gint *g_unix_fd_list_peek_fds (GUnixFDList *list, gint *length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixfdlist.c:337,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixfdlist.c:339,1
    - Dst: dup_close_on_exec_fd
      Src: /src/glib/gio/gunixfdlist.c:341,1
    - Dst: G_IS_UNIX_FD_LIST
      Src: /src/glib/gio/gunixfdlist.c:337,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixfdlist.c:338,1
    - Dst: g_realloc
      Src: /src/glib/gio/gunixfdlist.c:344,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - list
    - fd
    - error
    argTypes:
    - GUnixFDList*
    - gint
    - GError**
    constantsTouched: []
    func_position:
      end: 351
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 351
    functionName: g_unix_fd_list_append
    functionSourceFile: /src/glib/gio/gunixfdlist.c
    functionUses: []
    functionsReached:
    - G_IS_UNIX_FD_LIST
    - g_realloc
    - dup_close_on_exec_fd
    - g_return_val_if_fail
    linkageType: ''
    returnType: gint
    signature: 'gint g_unix_fd_list_append (GUnixFDList *list, gint fd, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixfdlist.c:402,1
    - Dst: G_IS_UNIX_FD_LIST
      Src: /src/glib/gio/gunixfdlist.c:402,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - GUnixFDList*
    constantsTouched: []
    func_position:
      end: 405
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 405
    functionName: g_unix_fd_list_get_length
    functionSourceFile: /src/glib/gio/gunixfdlist.c
    functionUses: []
    functionsReached:
    - G_IS_UNIX_FD_LIST
    - g_return_val_if_fail
    linkageType: ''
    returnType: gint
    signature: 'gint g_unix_fd_list_get_length (GUnixFDList *list) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_listener_accept_async
      Src: /src/glib/gio/gsocketservice.c:119,1
    - Dst: G_SOCKET_LISTENER
      Src: /src/glib/gio/gsocketservice.c:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - service
    argTypes:
    - GSocketService*
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: do_accept
    functionSourceFile: /src/glib/gio/gsocketservice.c
    functionUses: []
    functionsReached:
    - G_SOCKET_LISTENER
    - g_socket_listener_accept_async
    linkageType: ''
    returnType: void
    signature: 'static void do_accept (GSocketService *service) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_service_get_instance_private
      Src: /src/glib/gio/gsocketservice.c:100,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/gsocketservice.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - service
    argTypes:
    - GSocketService*
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: g_socket_service_init
    functionSourceFile: /src/glib/gio/gsocketservice.c
    functionUses: []
    functionsReached:
    - g_cancellable_new
    - g_socket_service_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_service_init (GSocketService *service) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gsocketservice.c:144,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/gsocketservice.c:154,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gsocketservice.c:165,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/gsocketservice.c:161,1
    - Dst: do_accept
      Src: /src/glib/gio/gsocketservice.c:156,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gsocketservice.c:168,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocketservice.c:168,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - service
    - active
    argTypes:
    - GSocketService*
    - gboolean
    constantsTouched: []
    func_position:
      end: 169
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 169
    functionName: set_active
    functionSourceFile: /src/glib/gio/gsocketservice.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - g_object_notify
    - G_OBJECT
    - do_accept
    - g_cancellable_cancel
    - G_LOCK
    linkageType: ''
    returnType: void
    signature: 'static void set_active (GSocketService *service, gboolean active) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_SERVICE
      Src: /src/glib/gio/gsocketservice.c:196,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gsocketservice.c:201,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gsocketservice.c:204,1
    - Dst: set_active
      Src: /src/glib/gio/gsocketservice.c:201,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 207
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 207
    functionName: g_socket_service_set_property
    functionSourceFile: /src/glib/gio/gsocketservice.c
    functionUses: []
    functionsReached:
    - set_active
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_get_boolean
    - G_SOCKET_SERVICE
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_service_set_property (GObject *object, guint
      prop_id, const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocketservice.c:243,1
    - Dst: get_active
      Src: /src/glib/gio/gsocketservice.c:245,1
    - Dst: G_IS_SOCKET_SERVICE
      Src: /src/glib/gio/gsocketservice.c:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - service
    argTypes:
    - GSocketService*
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: g_socket_service_is_active
    functionSourceFile: /src/glib/gio/gsocketservice.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET_SERVICE
    - g_return_val_if_fail
    - get_active
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_socket_service_is_active (GSocketService *service) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsocketservice.c:295,1
    - Dst: set_active
      Src: /src/glib/gio/gsocketservice.c:297,1
    - Dst: G_IS_SOCKET_SERVICE
      Src: /src/glib/gio/gsocketservice.c:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - service
    argTypes:
    - GSocketService*
    constantsTouched: []
    func_position:
      end: 298
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 298
    functionName: g_socket_service_stop
    functionSourceFile: /src/glib/gio/gsocketservice.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET_SERVICE
    - set_active
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_socket_service_stop (GSocketService *service) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsocketservice.c:315,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gsocketservice.c:344,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gsocketservice.c:344,1
    - Dst: G_SOCKET_LISTENER_CLASS
      Src: /src/glib/gio/gsocketservice.c:316,1
    - Dst: I_
      Src: /src/glib/gio/gsocketservice.c:344,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gsocketservice.c:345,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gsocketservice.c:350,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gsocketservice.c:351,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocketservice.c:361,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gsocketservice.c:362,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - class
    argTypes:
    - GSocketServiceClass*
    constantsTouched: []
    func_position:
      end: 365
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 365
    functionName: g_socket_service_class_init
    functionSourceFile: /src/glib/gio/gsocketservice.c
    functionUses: []
    functionsReached:
    - I_
    - G_STRUCT_OFFSET
    - g_param_spec_boolean
    - G_TYPE_FROM_CLASS
    - g_object_class_install_property
    - G_OBJECT_CLASS
    - g_signal_set_va_marshaller
    - g_signal_new
    - G_SOCKET_LISTENER_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_service_class_init (GSocketServiceClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gsocketservice.c:421,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 422
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 422
    functionName: g_socket_service_new
    functionSourceFile: /src/glib/gio/gsocketservice.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: GSocketService*
    signature: 'GSocketService *g_socket_service_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - service
    - connection
    - source_object
    argTypes:
    - GSocketService*
    - GSocketConnection*
    - GObject*
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: g_socket_service_real_incoming
    functionSourceFile: /src/glib/gio/gsocketservice.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_socket_service_real_incoming (GSocketService *service,
      GSocketConnection *connection, GObject *source_object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gsocketservice.c:130,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gsocketservice.c:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - service
    argTypes:
    - GSocketService*
    constantsTouched: []
    func_position:
      end: 135
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 135
    functionName: get_active
    functionSourceFile: /src/glib/gio/gsocketservice.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - G_LOCK
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean get_active (GSocketService *service) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_SERVICE
      Src: /src/glib/gio/gsocketservice.c:108,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsocketservice.c:112,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketservice.c:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 114
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 114
    functionName: g_socket_service_finalize
    functionSourceFile: /src/glib/gio/gsocketservice.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    - g_object_unref
    - G_SOCKET_SERVICE
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_service_finalize (GObject *object) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_SERVICE
      Src: /src/glib/gio/gsocketservice.c:177,1
    - Dst: get_active
      Src: /src/glib/gio/gsocketservice.c:182,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gsocketservice.c:185,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gsocketservice.c:182,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 188
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 188
    functionName: g_socket_service_get_property
    functionSourceFile: /src/glib/gio/gsocketservice.c
    functionUses: []
    functionsReached:
    - g_value_set_boolean
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - get_active
    - G_SOCKET_SERVICE
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_service_get_property (GObject *object, guint
      prop_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_SERVICE
      Src: /src/glib/gio/gsocketservice.c:212,1
    - Dst: do_accept
      Src: /src/glib/gio/gsocketservice.c:221,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gsocketservice.c:214,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gsocketservice.c:224,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/gsocketservice.c:219,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - listener
    argTypes:
    - GSocketListener*
    constantsTouched: []
    func_position:
      end: 225
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 225
    functionName: g_socket_service_changed
    functionSourceFile: /src/glib/gio/gsocketservice.c
    functionUses: []
    functionsReached:
    - G_SOCKET_SERVICE
    - G_UNLOCK
    - do_accept
    - g_cancellable_cancel
    - G_LOCK
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_service_changed (GSocketListener *listener) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsocketservice.c:307,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - service
    - connection
    - source_object
    argTypes:
    - GSocketService*
    - GSocketConnection*
    - GObject*
    constantsTouched: []
    func_position:
      end: 310
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 310
    functionName: g_socket_service_incoming
    functionSourceFile: /src/glib/gio/gsocketservice.c
    functionUses: []
    functionsReached:
    - g_signal_emit
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_socket_service_incoming (GSocketService *service,
      GSocketConnection *connection, GObject *source_object) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_LISTENER
      Src: /src/glib/gio/gsocketservice.c:372,1
    - Dst: g_socket_listener_accept_finish
      Src: /src/glib/gio/gsocketservice.c:378,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gsocketservice.c:381,1
    - Dst: g_warning
      Src: /src/glib/gio/gsocketservice.c:382,1
    - Dst: G_SOCKET_SERVICE
      Src: /src/glib/gio/gsocketservice.c:373,1
    - Dst: g_error_free
      Src: /src/glib/gio/gsocketservice.c:383,1
    - Dst: g_socket_service_incoming
      Src: /src/glib/gio/gsocketservice.c:387,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketservice.c:388,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gsocketservice.c:391,1
    - Dst: g_cancellable_reset
      Src: /src/glib/gio/gsocketservice.c:393,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gsocketservice.c:400,1
    - Dst: do_accept
      Src: /src/glib/gio/gsocketservice.c:398,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 401
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 401
    functionName: g_socket_service_ready
    functionSourceFile: /src/glib/gio/gsocketservice.c
    functionUses: []
    functionsReached:
    - G_SOCKET_LISTENER
    - g_cancellable_reset
    - g_warning
    - g_object_unref
    - G_SOCKET_SERVICE
    - G_UNLOCK
    - g_error_matches
    - g_socket_listener_accept_finish
    - g_error_free
    - do_accept
    - G_LOCK
    - g_socket_service_incoming
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_service_ready (GObject *object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsocketservice.c:265,1
    - Dst: G_IS_SOCKET_SERVICE
      Src: /src/glib/gio/gsocketservice.c:265,1
    - Dst: set_active
      Src: /src/glib/gio/gsocketservice.c:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - service
    argTypes:
    - GSocketService*
    constantsTouched: []
    func_position:
      end: 268
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 268
    functionName: g_socket_service_start
    functionSourceFile: /src/glib/gio/gsocketservice.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET_SERVICE
    - set_active
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_socket_service_start (GSocketService *service) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_tls_backend_get_default
      Src: /src/glib/gio/gtlsclientconnection.c:170,1
    - Dst: g_initable_new
      Src: /src/glib/gio/gtlsclientconnection.c:171,1
    - Dst: g_tls_backend_get_client_connection_type
      Src: /src/glib/gio/gtlsclientconnection.c:171,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/gtlsclientconnection.c:176,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 177
    functionName: g_tls_client_connection_new
    functionSourceFile: /src/glib/gio/gtlsclientconnection.c
    functionUses: []
    functionsReached:
    - g_tls_backend_get_client_connection_type
    - G_IO_STREAM
    - g_initable_new
    - g_tls_backend_get_default
    linkageType: ''
    returnType: GIOStream*
    signature: "GIOStream *g_tls_client_connection_new (GIOStream *base_io_stream,\t\
      \t\t GSocketConnectable *server_identity,\t\t\t GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsclientconnection.c:249,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gtlsclientconnection.c:253,1
    - Dst: G_IS_TLS_CLIENT_CONNECTION
      Src: /src/glib/gio/gtlsclientconnection.c:249,1
    - Dst: g_object_get
      Src: /src/glib/gio/gtlsclientconnection.c:251,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlsclientconnection.c:251,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 255
    functionName: g_tls_client_connection_get_server_identity
    functionSourceFile: /src/glib/gio/gtlsclientconnection.c
    functionUses: []
    functionsReached:
    - g_object_get
    - g_return_val_if_fail
    - g_object_unref
    - G_OBJECT
    - G_IS_TLS_CLIENT_CONNECTION
    linkageType: ''
    returnType: GSocketConnectable*
    signature: 'GSocketConnectable *g_tls_client_connection_get_server_identity (GTlsClientConnection
      *conn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsclientconnection.c:273,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlsclientconnection.c:275,1
    - Dst: g_object_set
      Src: /src/glib/gio/gtlsclientconnection.c:275,1
    - Dst: G_IS_TLS_CLIENT_CONNECTION
      Src: /src/glib/gio/gtlsclientconnection.c:273,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - conn
    - identity
    argTypes:
    - GTlsClientConnection*
    - GSocketConnectable*
    constantsTouched: []
    func_position:
      end: 276
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 276
    functionName: g_tls_client_connection_set_server_identity
    functionSourceFile: /src/glib/gio/gtlsclientconnection.c
    functionUses: []
    functionsReached:
    - g_object_set
    - G_OBJECT
    - G_IS_TLS_CLIENT_CONNECTION
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_tls_client_connection_set_server_identity (GTlsClientConnection\
      \ *conn,\t\t\t\t\t GSocketConnectable *identity) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsclientconnection.c:354,1
    - Dst: g_object_get
      Src: /src/glib/gio/gtlsclientconnection.c:356,1
    - Dst: G_IS_TLS_CLIENT_CONNECTION
      Src: /src/glib/gio/gtlsclientconnection.c:354,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlsclientconnection.c:356,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 358
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 358
    functionName: g_tls_client_connection_get_accepted_cas
    functionSourceFile: /src/glib/gio/gtlsclientconnection.c
    functionUses: []
    functionsReached:
    - g_object_get
    - g_return_val_if_fail
    - G_OBJECT
    - G_IS_TLS_CLIENT_CONNECTION
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_tls_client_connection_get_accepted_cas (GTlsClientConnection
      *conn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsclientconnection.c:400,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsclientconnection.c:402,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsclientconnection.c:401,1
    - Dst: G_IS_TLS_CLIENT_CONNECTION
      Src: /src/glib/gio/gtlsclientconnection.c:401,1
    - Dst: G_IS_TLS_CLIENT_CONNECTION
      Src: /src/glib/gio/gtlsclientconnection.c:400,1
    - Dst: G_TLS_CLIENT_CONNECTION_GET_INTERFACE
      Src: /src/glib/gio/gtlsclientconnection.c:402,1
    - Dst: G_TLS_CLIENT_CONNECTION_GET_INTERFACE
      Src: /src/glib/gio/gtlsclientconnection.c:404,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - conn
    - source
    argTypes:
    - GTlsClientConnection*
    - GTlsClientConnection*
    constantsTouched: []
    func_position:
      end: 406
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 406
    functionName: g_tls_client_connection_copy_session_state
    functionSourceFile: /src/glib/gio/gtlsclientconnection.c
    functionUses: []
    functionsReached:
    - G_TLS_CLIENT_CONNECTION_GET_INTERFACE
    - G_IS_TLS_CLIENT_CONNECTION
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_tls_client_connection_copy_session_state (GTlsClientConnection
      *conn, GTlsClientConnection *source) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gtlsclientconnection.c:70,1
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gtlsclientconnection.c:116,1
    - Dst: g_param_spec_flags
      Src: /src/glib/gio/gtlsclientconnection.c:71,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gtlsclientconnection.c:100,1
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gtlsclientconnection.c:99,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gtlsclientconnection.c:117,1
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gtlsclientconnection.c:137,1
    - Dst: g_param_spec_pointer
      Src: /src/glib/gio/gtlsclientconnection.c:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GTlsClientConnectionInterface*
    constantsTouched: []
    func_position:
      end: 141
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 141
    functionName: g_tls_client_connection_default_init
    functionSourceFile: /src/glib/gio/gtlsclientconnection.c
    functionUses: []
    functionsReached:
    - g_param_spec_boolean
    - g_object_interface_install_property
    - g_param_spec_pointer
    - g_param_spec_object
    - g_param_spec_flags
    linkageType: ''
    returnType: void
    signature: 'static void g_tls_client_connection_default_init (GTlsClientConnectionInterface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsclientconnection.c:200,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlsclientconnection.c:202,1
    - Dst: g_object_get
      Src: /src/glib/gio/gtlsclientconnection.c:202,1
    - Dst: G_IS_TLS_CLIENT_CONNECTION
      Src: /src/glib/gio/gtlsclientconnection.c:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - conn
    argTypes:
    - GTlsClientConnection*
    constantsTouched: []
    func_position:
      end: 204
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 204
    functionName: g_tls_client_connection_get_validation_flags
    functionSourceFile: /src/glib/gio/gtlsclientconnection.c
    functionUses: []
    functionsReached:
    - g_object_get
    - g_return_val_if_fail
    - G_OBJECT
    - G_IS_TLS_CLIENT_CONNECTION
    linkageType: ''
    returnType: GTlsCertificateFlags
    signature: 'GTlsCertificateFlags g_tls_client_connection_get_validation_flags
      (GTlsClientConnection *conn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsclientconnection.c:227,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlsclientconnection.c:229,1
    - Dst: G_IS_TLS_CLIENT_CONNECTION
      Src: /src/glib/gio/gtlsclientconnection.c:227,1
    - Dst: g_object_set
      Src: /src/glib/gio/gtlsclientconnection.c:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - conn
    - flags
    argTypes:
    - GTlsClientConnection*
    - GTlsCertificateFlags
    constantsTouched: []
    func_position:
      end: 230
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 230
    functionName: g_tls_client_connection_set_validation_flags
    functionSourceFile: /src/glib/gio/gtlsclientconnection.c
    functionUses: []
    functionsReached:
    - g_object_set
    - G_OBJECT
    - G_IS_TLS_CLIENT_CONNECTION
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_tls_client_connection_set_validation_flags (GTlsClientConnection\
      \ *conn,\t\t\t\t\t GTlsCertificateFlags flags) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsclientconnection.c:296,1
    - Dst: g_object_get
      Src: /src/glib/gio/gtlsclientconnection.c:298,1
    - Dst: G_IS_TLS_CLIENT_CONNECTION
      Src: /src/glib/gio/gtlsclientconnection.c:296,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlsclientconnection.c:298,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - conn
    argTypes:
    - GTlsClientConnection*
    constantsTouched: []
    func_position:
      end: 300
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 300
    functionName: g_tls_client_connection_get_use_ssl3
    functionSourceFile: /src/glib/gio/gtlsclientconnection.c
    functionUses: []
    functionsReached:
    - g_object_get
    - g_return_val_if_fail
    - G_OBJECT
    - G_IS_TLS_CLIENT_CONNECTION
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_tls_client_connection_get_use_ssl3 (GTlsClientConnection
      *conn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsclientconnection.c:326,1
    - Dst: G_IS_TLS_CLIENT_CONNECTION
      Src: /src/glib/gio/gtlsclientconnection.c:326,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlsclientconnection.c:328,1
    - Dst: g_object_set
      Src: /src/glib/gio/gtlsclientconnection.c:328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - conn
    - use_ssl3
    argTypes:
    - GTlsClientConnection*
    - gboolean
    constantsTouched: []
    func_position:
      end: 329
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 329
    functionName: g_tls_client_connection_set_use_ssl3
    functionSourceFile: /src/glib/gio/gtlsclientconnection.c
    functionUses: []
    functionsReached:
    - g_object_set
    - G_OBJECT
    - G_IS_TLS_CLIENT_CONNECTION
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_tls_client_connection_set_use_ssl3 (GTlsClientConnection *conn,\t\
      \t\t\t gboolean use_ssl3) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_SERVER
      Src: /src/glib/gio/gdbusserver.c:215,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusserver.c:224,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusserver.c:232,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusserver.c:228,1
    - Dst: g_value_set_flags
      Src: /src/glib/gio/gdbusserver.c:220,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gdbusserver.c:236,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gdbusserver.c:240,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gdbusserver.c:244,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 10
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 247
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 247
    functionName: g_dbus_server_get_property
    functionSourceFile: /src/glib/gio/gdbusserver.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_string
    - G_DBUS_SERVER
    - g_value_set_flags
    - g_value_set_boolean
    - g_value_set_object
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_server_get_property (GObject *object, guint prop_id,
      GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusserver.c:284,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gdbusserver.c:321,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusserver.c:298,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusserver.c:319,1
    - Dst: g_param_spec_flags
      Src: /src/glib/gio/gdbusserver.c:300,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusserver.c:337,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gdbusserver.c:339,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusserver.c:355,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gdbusserver.c:357,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusserver.c:371,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gdbusserver.c:373,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusserver.c:387,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gdbusserver.c:389,1
    - Dst: I_
      Src: /src/glib/gio/gdbusserver.c:430,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gdbusserver.c:433,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gdbusserver.c:440,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gdbusserver.c:430,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gdbusserver.c:441,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 50
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GDBusServerClass*
    constantsTouched: []
    func_position:
      end: 443
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 443
    functionName: g_dbus_server_class_init
    functionSourceFile: /src/glib/gio/gdbusserver.c
    functionUses: []
    functionsReached:
    - I_
    - G_STRUCT_OFFSET
    - g_param_spec_boolean
    - G_TYPE_FROM_CLASS
    - g_param_spec_object
    - g_object_class_install_property
    - G_OBJECT_CLASS
    - g_signal_set_va_marshaller
    - g_signal_new
    - g_param_spec_string
    - g_param_spec_flags
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_server_class_init (GDBusServerClass *klass) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusserver.c:630,1
    - Dst: g_clear_signal_handler
      Src: /src/glib/gio/gdbusserver.c:636,1
    - Dst: G_IS_DBUS_SERVER
      Src: /src/glib/gio/gdbusserver.c:630,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusserver.c:634,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusserver.c:635,1
    - Dst: g_socket_service_stop
      Src: /src/glib/gio/gdbusserver.c:637,1
    - Dst: G_SOCKET_SERVICE
      Src: /src/glib/gio/gdbusserver.c:637,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gdbusserver.c:639,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusserver.c:639,1
    - Dst: g_unlink
      Src: /src/glib/gio/gdbusserver.c:643,1
    - Dst: g_strerror
      Src: /src/glib/gio/gdbusserver.c:650,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusserver.c:650,1
    - Dst: g_unlink
      Src: /src/glib/gio/gdbusserver.c:649,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusserver.c:644,1
    - Dst: g_strerror
      Src: /src/glib/gio/gdbusserver.c:644,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - server
    argTypes:
    - GDBusServer*
    constantsTouched: []
    func_position:
      end: 652
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 652
    functionName: g_dbus_server_stop
    functionSourceFile: /src/glib/gio/gdbusserver.c
    functionUses: []
    functionsReached:
    - g_clear_signal_handler
    - g_unlink
    - g_warning
    - g_return_if_fail
    - G_IS_DBUS_SERVER
    - g_assert
    - G_SOCKET_SERVICE
    - g_object_notify
    - g_strerror
    - G_OBJECT
    - g_socket_service_stop
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_server_stop (GDBusServer *server) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_SERVER
      Src: /src/glib/gio/gdbusserver.c:255,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gdbusserver.c:268,1
    - Dst: g_value_get_flags
      Src: /src/glib/gio/gdbusserver.c:260,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gdbusserver.c:264,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/gdbusserver.c:272,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gdbusserver.c:276,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 279
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 279
    functionName: g_dbus_server_set_property
    functionSourceFile: /src/glib/gio/gdbusserver.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_dup_string
    - G_DBUS_SERVER
    - g_value_dup_object
    - g_value_get_flags
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_server_set_property (GObject *object, guint prop_id,
      const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_ref_thread_default
      Src: /src/glib/gio/gdbusserver.c:448,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - server
    argTypes:
    - GDBusServer*
    constantsTouched: []
    func_position:
      end: 449
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 449
    functionName: g_dbus_server_init
    functionSourceFile: /src/glib/gio/gdbusserver.c
    functionUses: []
    functionsReached:
    - g_main_context_ref_thread_default
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_server_init (GDBusServer *server) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - initable_iface
    argTypes:
    - GInitableIface*
    constantsTouched: []
    func_position:
      end: 1168
      start: 1164
    functionDepth: 0
    functionLinenumber: 1164
    functionLinenumberEnd: 1168
    functionName: initable_iface_init
    functionSourceFile: /src/glib/gio/gdbusserver.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void initable_iface_init (GInitableIface *initable_iface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusserver.c:603,1
    - Dst: G_SOCKET_SERVICE
      Src: /src/glib/gio/gdbusserver.c:608,1
    - Dst: G_IS_DBUS_SERVER
      Src: /src/glib/gio/gdbusserver.c:603,1
    - Dst: g_signal_connect_data
      Src: /src/glib/gio/gdbusserver.c:608,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusserver.c:607,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gdbusserver.c:610,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusserver.c:611,1
    - Dst: g_socket_service_start
      Src: /src/glib/gio/gdbusserver.c:614,1
    - Dst: G_SOCKET_SERVICE
      Src: /src/glib/gio/gdbusserver.c:614,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gdbusserver.c:616,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusserver.c:616,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - server
    argTypes:
    - GDBusServer*
    constantsTouched: []
    func_position:
      end: 617
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 617
    functionName: g_dbus_server_start
    functionSourceFile: /src/glib/gio/gdbusserver.c
    functionUses: []
    functionsReached:
    - g_signal_connect_data
    - G_SOCKET_SERVICE
    - G_IS_DBUS_SERVER
    - g_assert
    - g_return_if_fail
    - g_socket_service_start
    - g_object_notify
    - G_OBJECT
    - G_CALLBACK
    - g_object_ref
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_server_start (GDBusServer *server) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusserver.c:823,1
    - Dst: G_INET_ADDRESS
      Src: /src/glib/gio/gdbusserver.c:851,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusserver.c:871,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusserver.c:884,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusserver.c:864,1
    - Dst: G_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/gdbusserver.c:869,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gdbusserver.c:911,1
    - Dst: g_dbus_address_escape_value
      Src: /src/glib/gio/gdbusserver.c:923,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusserver.c:929,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusserver.c:933,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusserver.c:825,1
    - Dst: g_resolver_lookup_by_name
      Src: /src/glib/gio/gdbusserver.c:841,1
    - Dst: g_inet_socket_address_new
      Src: /src/glib/gio/gdbusserver.c:855,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusserver.c:872,1
    - Dst: g_socket_listener_add_address
      Src: /src/glib/gio/gdbusserver.c:856,1
    - Dst: g_file_open_tmp
      Src: /src/glib/gio/gdbusserver.c:887,1
    - Dst: g_socket_listener_close
      Src: /src/glib/gio/gdbusserver.c:892,1
    - Dst: write
      Src: /src/glib/gio/gdbusserver.c:903,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusserver.c:909,1
    - Dst: _
      Src: /src/glib/gio/gdbusserver.c:912,1
    - Dst: g_dbus_address_escape_value
      Src: /src/glib/gio/gdbusserver.c:922,1
    - Dst: g_strerror
      Src: /src/glib/gio/gdbusserver.c:914,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusserver.c:827,1
    - Dst: _
      Src: /src/glib/gio/gdbusserver.c:830,1
    - Dst: strtol
      Src: /src/glib/gio/gdbusserver.c:838,1
    - Dst: g_resolver_get_default
      Src: /src/glib/gio/gdbusserver.c:840,1
    - Dst: g_inet_socket_address_get_port
      Src: /src/glib/gio/gdbusserver.c:869,1
    - Dst: g_close
      Src: /src/glib/gio/gdbusserver.c:920,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusserver.c:924,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gdbusserver.c:939,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusserver.c:822,1
    - Dst: g_random_int_range
      Src: /src/glib/gio/gdbusserver.c:886,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusserver.c:928,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusserver.c:941,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 87
    argCount: 5
    argNames:
    - server
    - address_entry
    - key_value_pairs
    - do_nonce
    - error
    argTypes:
    - GDBusServer*
    - gchar*
    - GHashTable*
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 943
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 943
    functionName: try_tcp
    functionSourceFile: /src/glib/gio/gdbusserver.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_list_free_full
    - g_resolver_get_default
    - g_strerror
    - strtol
    - g_set_error_literal
    - g_file_open_tmp
    - g_inet_socket_address_get_port
    - G_INET_SOCKET_ADDRESS
    - g_new0
    - g_object_unref
    - g_hash_table_lookup
    - G_INET_ADDRESS
    - g_dbus_address_escape_value
    - write
    - g_set_error
    - _
    - g_random_int_range
    - g_io_error_from_errno
    - g_close
    - g_socket_listener_add_address
    - g_socket_listener_close
    - g_resolver_lookup_by_name
    - g_free
    - g_inet_socket_address_new
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean try_tcp (GDBusServer *server, const gchar *address_entry,
      GHashTable *key_value_pairs, gboolean do_nonce, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusserver.c:502,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusserver.c:503,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusserver.c:505,1
    - Dst: g_dbus_is_guid
      Src: /src/glib/gio/gdbusserver.c:503,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusserver.c:504,1
    - Dst: g_initable_new
      Src: /src/glib/gio/gdbusserver.c:507,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 517
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 517
    functionName: g_dbus_server_new_sync
    functionSourceFile: /src/glib/gio/gdbusserver.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_initable_new
    - g_dbus_is_guid
    linkageType: ''
    returnType: GDBusServer*
    signature: 'GDBusServer *g_dbus_server_new_sync (const gchar *address, GDBusServerFlags
      flags, const gchar *guid, GDBusAuthObserver *observer, GCancellable *cancellable,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusserver.c:554,1
    - Dst: G_IS_DBUS_SERVER
      Src: /src/glib/gio/gdbusserver.c:554,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 556
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 556
    functionName: g_dbus_server_get_guid
    functionSourceFile: /src/glib/gio/gdbusserver.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_SERVER
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_dbus_server_get_guid (GDBusServer *server) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusserver.c:588,1
    - Dst: G_IS_DBUS_SERVER
      Src: /src/glib/gio/gdbusserver.c:588,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - server
    argTypes:
    - GDBusServer*
    constantsTouched: []
    func_position:
      end: 590
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 590
    functionName: g_dbus_server_is_active
    functionSourceFile: /src/glib/gio/gdbusserver.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_SERVER
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dbus_server_is_active (GDBusServer *server) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusserver.c:537,1
    - Dst: G_IS_DBUS_SERVER
      Src: /src/glib/gio/gdbusserver.c:537,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 539
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 539
    functionName: g_dbus_server_get_client_address
    functionSourceFile: /src/glib/gio/gdbusserver.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_SERVER
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_dbus_server_get_client_address (GDBusServer *server) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusserver.c:571,1
    - Dst: G_IS_DBUS_SERVER
      Src: /src/glib/gio/gdbusserver.c:571,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - server
    argTypes:
    - GDBusServer*
    constantsTouched: []
    func_position:
      end: 573
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 573
    functionName: g_dbus_server_get_flags
    functionSourceFile: /src/glib/gio/gdbusserver.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_SERVER
    - g_return_val_if_fail
    linkageType: ''
    returnType: GDBusServerFlags
    signature: 'GDBusServerFlags g_dbus_server_get_flags (GDBusServer *server) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_random_int_range
      Src: /src/glib/gio/gdbusserver.c:660,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 668
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 668
    functionName: random_ascii
    functionSourceFile: /src/glib/gio/gdbusserver.c
    functionUses: []
    functionsReached:
    - g_random_int_range
    linkageType: ''
    returnType: gint
    signature: 'static gint random_ascii (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusserver.c:956,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusserver.c:958,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusserver.c:957,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - EmitIdleData*
    constantsTouched: []
    func_position:
      end: 959
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 959
    functionName: emit_idle_data_free
    functionSourceFile: /src/glib/gio/gdbusserver.c
    functionUses: []
    functionsReached:
    - g_free
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void emit_idle_data_free (EmitIdleData *data) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_SERVER
      Src: /src/glib/gio/gdbusserver.c:988,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusserver.c:1050,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gdbusserver.c:1058,1
    - Dst: g_idle_source_new
      Src: /src/glib/gio/gdbusserver.c:1052,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gdbusserver.c:1054,1
    - Dst: g_source_set_priority
      Src: /src/glib/gio/gdbusserver.c:1053,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusserver.c:1048,1
    - Dst: memcmp
      Src: /src/glib/gio/gdbusserver.c:1008,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/gdbusserver.c:997,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/gdbusserver.c:997,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/gdbusserver.c:1020,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gdbusserver.c:1034,1
    - Dst: g_dbus_connection_start_message_processing
      Src: /src/glib/gio/gdbusserver.c:1040,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusserver.c:1049,1
    - Dst: g_input_stream_read_all
      Src: /src/glib/gio/gdbusserver.c:997,1
    - Dst: g_dbus_connection_new_sync
      Src: /src/glib/gio/gdbusserver.c:1020,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusserver.c:1041,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gdbusserver.c:1060,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gdbusserver.c:1059,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 41
    argCount: 4
    argNames:
    - service
    - socket_connection
    - source_object
    - user_data
    argTypes:
    - GSocketService*
    - GSocketConnection*
    - GObject*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1065
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 1065
    functionName: on_run
    functionSourceFile: /src/glib/gio/gdbusserver.c
    functionUses: []
    functionsReached:
    - G_IO_STREAM
    - g_source_set_priority
    - g_object_unref
    - g_source_set_callback
    - g_idle_source_new
    - G_DBUS_SERVER
    - g_dbus_connection_start_message_processing
    - g_source_attach
    - g_dbus_connection_new_sync
    - g_input_stream_read_all
    - g_signal_emit
    - g_io_stream_get_input_stream
    - g_source_unref
    - g_object_ref
    - g_new0
    - g_source_set_static_name
    - memcmp
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean on_run (GSocketService *service, GSocketConnection
      *socket_connection, GObject *source_object, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_emit
      Src: /src/glib/gio/gdbusserver.c:968,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusserver.c:976,1
    - Dst: g_dbus_connection_start_message_processing
      Src: /src/glib/gio/gdbusserver.c:975,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 979
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 979
    functionName: emit_new_connection_in_idle
    functionSourceFile: /src/glib/gio/gdbusserver.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_start_message_processing
    - g_object_unref
    - g_signal_emit
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean emit_new_connection_in_idle (gpointer user_data) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_LISTENER
      Src: /src/glib/gio/gdbusserver.c:1092,1
    - Dst: _g_dbus_address_parse_entry
      Src: /src/glib/gio/gdbusserver.c:1106,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusserver.c:1119,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusserver.c:1128,1
    - Dst: _
      Src: /src/glib/gio/gdbusserver.c:1125,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusserver.c:1134,1
    - Dst: g_strsplit
      Src: /src/glib/gio/gdbusserver.c:1094,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusserver.c:1115,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusserver.c:1122,1
    - Dst: try_tcp
      Src: /src/glib/gio/gdbusserver.c:1120,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusserver.c:1117,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusserver.c:1157,1
    - Dst: G_DBUS_SERVER
      Src: /src/glib/gio/gdbusserver.c:1072,1
    - Dst: g_threaded_socket_service_new
      Src: /src/glib/gio/gdbusserver.c:1092,1
    - Dst: g_dbus_is_supported_address
      Src: /src/glib/gio/gdbusserver.c:1104,1
    - Dst: try_tcp
      Src: /src/glib/gio/gdbusserver.c:1118,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusserver.c:1142,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdbusserver.c:1149,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusserver.c:1084,1
    - Dst: g_dbus_is_guid
      Src: /src/glib/gio/gdbusserver.c:1082,1
    - Dst: _
      Src: /src/glib/gio/gdbusserver.c:1087,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusserver.c:1130,1
    - Dst: try_unix
      Src: /src/glib/gio/gdbusserver.c:1116,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gdbusserver.c:1153,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gdbusserver.c:1158,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 59
    argCount: 3
    argNames:
    - initable
    - cancellable
    - error
    argTypes:
    - GInitable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1161
      start: 1067
    functionDepth: 0
    functionLinenumber: 1067
    functionLinenumberEnd: 1161
    functionName: initable_init
    functionSourceFile: /src/glib/gio/gdbusserver.c
    functionUses: []
    functionsReached:
    - G_SOCKET_LISTENER
    - g_strsplit
    - g_threaded_socket_service_new
    - _g_dbus_address_parse_entry
    - try_tcp
    - g_strfreev
    - g_error_free
    - g_dbus_is_guid
    - g_set_error
    - g_hash_table_unref
    - g_strcmp0
    - _
    - g_clear_error
    - g_propagate_error
    - g_assert
    - G_DBUS_SERVER
    - g_dbus_is_supported_address
    - try_unix
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean initable_init (GInitable *initable, GCancellable *cancellable,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_SERVER
      Src: /src/glib/gio/gdbusserver.c:168,1
    - Dst: g_dbus_server_stop
      Src: /src/glib/gio/gdbusserver.c:171,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusserver.c:173,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 174
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 174
    functionName: g_dbus_server_dispose
    functionSourceFile: /src/glib/gio/gdbusserver.c
    functionUses: []
    functionsReached:
    - G_DBUS_SERVER
    - g_dbus_server_stop
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_server_dispose (GObject *object) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_SERVER
      Src: /src/glib/gio/gdbusserver.c:179,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusserver.c:184,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusserver.c:190,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/gdbusserver.c:187,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusserver.c:181,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusserver.c:192,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusserver.c:193,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusserver.c:194,1
    - Dst: memset
      Src: /src/glib/gio/gdbusserver.c:197,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusserver.c:198,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusserver.c:201,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusserver.c:206,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusserver.c:202,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/gdbusserver.c:204,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 207
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 207
    functionName: g_dbus_server_finalize
    functionSourceFile: /src/glib/gio/gdbusserver.c
    functionUses: []
    functionsReached:
    - memset
    - g_main_context_unref
    - g_object_unref
    - g_signal_handler_disconnect
    - g_assert
    - G_DBUS_SERVER
    - G_OBJECT_CLASS
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_server_finalize (GObject *object) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusserver.c:689,1
    - Dst: random_ascii
      Src: /src/glib/gio/gdbusserver.c:706,1
    - Dst: g_unix_socket_address_new
      Src: /src/glib/gio/gdbusserver.c:708,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbusserver.c:709,1
    - Dst: _
      Src: /src/glib/gio/gdbusserver.c:738,1
    - Dst: G_UNIX_SOCKET_ADDRESS
      Src: /src/glib/gio/gdbusserver.c:772,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusserver.c:782,1
    - Dst: g_unix_socket_address_new
      Src: /src/glib/gio/gdbusserver.c:694,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusserver.c:690,1
    - Dst: g_string_new
      Src: /src/glib/gio/gdbusserver.c:703,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdbusserver.c:706,1
    - Dst: g_socket_listener_add_address
      Src: /src/glib/gio/gdbusserver.c:712,1
    - Dst: G_UNIX_SOCKET_ADDRESS
      Src: /src/glib/gio/gdbusserver.c:775,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusserver.c:783,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusserver.c:793,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusserver.c:687,1
    - Dst: g_unix_socket_address_abstract_names_supported
      Src: /src/glib/gio/gdbusserver.c:733,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gdbusserver.c:747,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusserver.c:735,1
    - Dst: g_socket_listener_add_address
      Src: /src/glib/gio/gdbusserver.c:750,1
    - Dst: g_unix_socket_address_get_path
      Src: /src/glib/gio/gdbusserver.c:772,1
    - Dst: g_dbus_address_escape_value
      Src: /src/glib/gio/gdbusserver.c:773,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusserver.c:778,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gdbusserver.c:787,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusserver.c:791,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusserver.c:688,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusserver.c:704,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusserver.c:722,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gdbusserver.c:725,1
    - Dst: g_unix_socket_address_new_with_type
      Src: /src/glib/gio/gdbusserver.c:741,1
    - Dst: g_unix_socket_address_get_address_type
      Src: /src/glib/gio/gdbusserver.c:775,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 76
    argCount: 4
    argNames:
    - server
    - address_entry
    - key_value_pairs
    - error
    argTypes:
    - GDBusServer*
    - gchar*
    - GHashTable*
    - GError**
    constantsTouched: []
    func_position:
      end: 796
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 796
    functionName: try_unix
    functionSourceFile: /src/glib/gio/gdbusserver.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - G_UNIX_SOCKET_ADDRESS
    - g_set_error_literal
    - g_object_unref
    - g_unix_socket_address_get_address_type
    - g_hash_table_lookup
    - g_error_free
    - random_ascii
    - g_dbus_address_escape_value
    - g_strdup
    - g_assert_not_reached
    - g_unix_socket_address_get_path
    - g_string_new
    - _
    - g_unix_socket_address_new
    - g_string_append
    - g_propagate_error
    - g_string_append_c
    - g_string_free
    - g_socket_listener_add_address
    - g_unix_socket_address_new_with_type
    - g_unix_socket_address_abstract_names_supported
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean try_unix (GDBusServer *server, const gchar *address_entry,
      GHashTable *key_value_pairs, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/gio/gio-tool-set.c:49,1
    - Dst: g_ascii_xdigit_value
      Src: /src/glib/gio/gio-tool-set.c:61,1
    - Dst: g_malloc
      Src: /src/glib/gio/gio-tool-set.c:50,1
    - Dst: g_ascii_xdigit_value
      Src: /src/glib/gio/gio-tool-set.c:60,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 71
    functionName: hex_unescape
    functionSourceFile: /src/glib/gio/gio-tool-set.c
    functionUses: []
    functionsReached:
    - g_ascii_xdigit_value
    - strlen
    - g_malloc
    linkageType: ''
    returnType: char*
    signature: 'static char *hex_unescape (const char *str) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: g_set_prgname
      Src: /src/glib/gio/gio-tool-set.c:91,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gio-tool-set.c:94,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-set.c:94,1
    - Dst: g_option_context_set_help_enabled
      Src: /src/glib/gio/gio-tool-set.c:97,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-set.c:98,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-set.c:103,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-set.c:112,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-set.c:119,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-set.c:126,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-set.c:142,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-set.c:143,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-set.c:94,1
    - Dst: g_option_context_new
      Src: /src/glib/gio/gio-tool-set.c:95,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-set.c:104,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-set.c:118,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/gio-tool-set.c:108,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-set.c:125,1
    - Dst: attribute_type_from_string
      Src: /src/glib/gio/gio-tool-set.c:137,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-set.c:142,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-set.c:154,1
    - Dst: print_error
      Src: /src/glib/gio/gio-tool-set.c:192,1
    - Dst: g_file_set_attribute
      Src: /src/glib/gio/gio-tool-set.c:198,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-set.c:96,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-set.c:118,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-set.c:110,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-set.c:125,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-set.c:150,1
    - Dst: atol
      Src: /src/glib/gio/gio-tool-set.c:169,1
    - Dst: g_ascii_strtoull
      Src: /src/glib/gio/gio-tool-set.c:177,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-set.c:192,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-set.c:208,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gio-tool-set.c:212,1
    - Dst: print_error
      Src: /src/glib/gio/gio-tool-set.c:207,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-set.c:94,1
    - Dst: g_option_context_set_summary
      Src: /src/glib/gio/gio-tool-set.c:98,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/gio/gio-tool-set.c:99,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-set.c:111,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-set.c:149,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-set.c:149,1
    - Dst: hex_unescape
      Src: /src/glib/gio/gio-tool-set.c:162,1
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/gio/gio-tool-set.c:165,1
    - Dst: atol
      Src: /src/glib/gio/gio-tool-set.c:173,1
    - Dst: g_ascii_strtoll
      Src: /src/glib/gio/gio-tool-set.c:181,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/gio-tool-set.c:196,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-set.c:213,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 89
    argCount: 3
    argNames:
    - argc
    - argv
    - do_help
    argTypes:
    - int
    - char*
    - gboolean
    constantsTouched: []
    func_position:
      end: 216
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 216
    functionName: handle_set
    functionSourceFile: /src/glib/gio/gio-tool-set.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_option_context_free
    - attribute_type_from_string
    - show_help
    - hex_unescape
    - print_error
    - g_file_new_for_commandline_arg
    - g_object_unref
    - g_ascii_strtoull
    - g_ascii_strcasecmp
    - g_clear_pointer
    - g_error_free
    - g_file_set_attribute
    - g_option_context_parse
    - atol
    - g_option_context_new
    - g_set_prgname
    - g_option_context_set_help_enabled
    - g_ascii_strtoll
    - _
    - g_option_context_add_main_entries
    - g_option_context_set_summary
    - g_free
    linkageType: ''
    returnType: int
    signature: 'int handle_set (int argc, char *argv[], gboolean do_help) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_new
      Src: /src/glib/gio/gdbusobject.c:54,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gdbusobject.c:57,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gdbusobject.c:74,1
    - Dst: I_
      Src: /src/glib/gio/gdbusobject.c:54,1
    - Dst: G_TYPE_FROM_INTERFACE
      Src: /src/glib/gio/gdbusobject.c:55,1
    - Dst: I_
      Src: /src/glib/gio/gdbusobject.c:74,1
    - Dst: G_TYPE_FROM_INTERFACE
      Src: /src/glib/gio/gdbusobject.c:75,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gdbusobject.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GDBusObjectIface*
    constantsTouched: []
    func_position:
      end: 84
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 84
    functionName: g_dbus_object_default_init
    functionSourceFile: /src/glib/gio/gdbusobject.c
    functionUses: []
    functionsReached:
    - I_
    - G_STRUCT_OFFSET
    - G_TYPE_FROM_INTERFACE
    - g_signal_new
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_object_default_init (GDBusObjectIface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_OBJECT_GET_IFACE
      Src: /src/glib/gio/gdbusobject.c:101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: g_dbus_object_get_object_path
    functionSourceFile: /src/glib/gio/gdbusobject.c
    functionUses: []
    functionsReached:
    - G_DBUS_OBJECT_GET_IFACE
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_dbus_object_get_object_path (GDBusObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_OBJECT_GET_IFACE
      Src: /src/glib/gio/gdbusobject.c:120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: g_dbus_object_get_interfaces
    functionSourceFile: /src/glib/gio/gdbusobject.c
    functionUses: []
    functionsReached:
    - G_DBUS_OBJECT_GET_IFACE
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_dbus_object_get_interfaces (GDBusObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_OBJECT_GET_IFACE
      Src: /src/glib/gio/gdbusobject.c:141,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobject.c:142,1
    - Dst: g_dbus_is_interface_name
      Src: /src/glib/gio/gdbusobject.c:142,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 144
    functionName: g_dbus_object_get_interface
    functionSourceFile: /src/glib/gio/gdbusobject.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_DBUS_OBJECT_GET_IFACE
    - g_dbus_is_interface_name
    linkageType: ''
    returnType: GDBusInterface*
    signature: 'GDBusInterface *g_dbus_object_get_interface (GDBusObject *object,
      const gchar *interface_name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/gio/gnetworking.c:43,1
    - Dst: g_error
      Src: /src/glib/gio/gnetworking.c:48,1
    - Dst: MAKEWORD
      Src: /src/glib/gio/gnetworking.c:47,1
    - Dst: WSAStartup
      Src: /src/glib/gio/gnetworking.c:47,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/gnetworking.c:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 53
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 53
    functionName: g_networking_init
    functionSourceFile: /src/glib/gio/gnetworking.c
    functionUses: []
    functionsReached:
    - g_once_init_leave
    - g_once_init_enter
    - WSAStartup
    - MAKEWORD
    - g_error
    linkageType: ''
    returnType: void
    signature: 'void g_networking_init (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getservbyname_r
      Src: /src/glib/gio/gnetworking.c:65,1
    - Dst: getservbyname
      Src: /src/glib/gio/gnetworking.c:69,1
    - Dst: g_ntohs
      Src: /src/glib/gio/gnetworking.c:74,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 3
    argNames:
    - name
    - proto
    - out_port
    argTypes:
    - char*
    - char*
    - guint16*
    constantsTouched: []
    func_position:
      end: 76
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 76
    functionName: g_getservbyname_ntohs
    functionSourceFile: /src/glib/gio/gnetworking.c
    functionUses: []
    functionsReached:
    - g_ntohs
    - getservbyname
    - getservbyname_r
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_getservbyname_ntohs (const char *name, const char *proto,
      guint16 *out_port) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginitable.c:124,1
    - Dst: G_INITABLE_GET_IFACE
      Src: /src/glib/gio/ginitable.c:126,1
    - Dst: G_IS_INITABLE
      Src: /src/glib/gio/ginitable.c:124,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - initable
    - cancellable
    - error
    argTypes:
    - GInitable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 129
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 129
    functionName: g_initable_init
    functionSourceFile: /src/glib/gio/ginitable.c
    functionUses: []
    functionsReached:
    - G_INITABLE_GET_IFACE
    - G_IS_INITABLE
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_initable_init (GInitable *initable,\t\t GCancellable *cancellable,\t\
      \t GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginitable.c:200,1
    - Dst: G_INITABLE
      Src: /src/glib/gio/ginitable.c:204,1
    - Dst: G_TYPE_IS_INITABLE
      Src: /src/glib/gio/ginitable.c:200,1
    - Dst: g_initable_init
      Src: /src/glib/gio/ginitable.c:204,1
    - Dst: g_object_newv
      Src: /src/glib/gio/ginitable.c:202,1
    - Dst: g_object_unref
      Src: /src/glib/gio/ginitable.c:206,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 5
    argNames:
    - object_type
    - n_parameters
    - parameters
    - cancellable
    - error
    argTypes:
    - GType
    - guint
    - GParameter*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 211
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 211
    functionName: g_initable_newv
    functionSourceFile: /src/glib/gio/ginitable.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_object_unref
    - G_TYPE_IS_INITABLE
    - G_INITABLE
    - g_object_newv
    - g_initable_init
    linkageType: ''
    returnType: G_GNUC_BEGIN_IGNORE_DEPRECATIONS
    signature: "G_GNUC_BEGIN_IGNORE_DEPRECATIONS gpointer g_initable_newv (GType object_type,\t\
      \t guint n_parameters,\t\t GParameter *parameters,\t\t GCancellable *cancellable,\t\
      \t GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginitable.c:242,1
    - Dst: G_TYPE_IS_INITABLE
      Src: /src/glib/gio/ginitable.c:242,1
    - Dst: g_initable_init
      Src: /src/glib/gio/ginitable.c:248,1
    - Dst: g_object_new_valist
      Src: /src/glib/gio/ginitable.c:244,1
    - Dst: G_INITABLE
      Src: /src/glib/gio/ginitable.c:248,1
    - Dst: g_object_unref
      Src: /src/glib/gio/ginitable.c:250,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 255
    functionName: g_initable_new_valist
    functionSourceFile: /src/glib/gio/ginitable.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_object_new_valist
    - g_object_unref
    - G_TYPE_IS_INITABLE
    - G_INITABLE
    - g_initable_init
    linkageType: ''
    returnType: G_GNUC_END_IGNORE_DEPRECATIONS*
    signature: "G_GNUC_END_IGNORE_DEPRECATIONS /** * g_initable_new_valist: * @object_type:\
      \ a #GType supporting #GInitable. * @first_property_name: the name of the first\
      \ property, followed by * the value, and other property value pairs, and ended\
      \ by %NULL. * @var_args: The var args list generated from @first_property_name.\
      \ * @cancellable: optional #GCancellable object, %NULL to ignore. * @error:\
      \ a #GError location to store the error occurring, or %NULL to * ignore. * *\
      \ Helper function for constructing #GInitable object. This is * similar to g_object_new_valist()\
      \ but also initializes the object * and returns %NULL, setting an error on failure.\
      \ * * Returns: (type GObject.Object) (transfer full): a newly allocated * #GObject,\
      \ or %NULL on error * * Since: 2.22 */ GObject *g_initable_new_valist (GType\
      \ object_type,\t\t const gchar *first_property_name,\t\t va_list var_args,\t\
      \t GCancellable *cancellable,\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GInitableInterface*
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: g_initable_default_init
    functionSourceFile: /src/glib/gio/ginitable.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_initable_default_init (GInitableInterface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/gio/ginitable.c:161,1
    - Dst: g_initable_new_valist
      Src: /src/glib/gio/ginitable.c:162,1
    - Dst: va_end
      Src: /src/glib/gio/ginitable.c:165,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 4
    argNames:
    - object_type
    - cancellable
    - error
    - first_property_name
    - '...'
    argTypes:
    - GType
    - GCancellable*
    - GError**
    - gchar*
    constantsTouched: []
    func_position:
      end: 168
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 168
    functionName: g_initable_new
    functionSourceFile: /src/glib/gio/ginitable.c
    functionUses: []
    functionsReached:
    - g_initable_new_valist
    - va_start
    - va_end
    linkageType: ''
    returnType: gpointer
    signature: "gpointer g_initable_new (GType object_type,\t\tGCancellable *cancellable,\t\
      \tGError **error,\t\tconst gchar *first_property_name,\t\t...) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 287
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 287
    functionName: valid_char
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean valid_char (char c) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/glocalfileinfo.c:1258,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/glocalfileinfo.c:1260,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/glocalfileinfo.c:1260,1
    - Dst: getgrgid_r
      Src: /src/glib/gio/glocalfileinfo.c:1266,1
    - Dst: getgrgid
      Src: /src/glib/gio/glocalfileinfo.c:1268,1
    - Dst: convert_pwd_string_to_utf8
      Src: /src/glib/gio/glocalfileinfo.c:1274,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/glocalfileinfo.c:1276,1
    - Dst: g_hash_table_replace
      Src: /src/glib/gio/glocalfileinfo.c:1278,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/glocalfileinfo.c:1278,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1247
    functionDepth: 0
    functionLinenumber: 1247
    functionLinenumberEnd: 1281
    functionName: lookup_gid_name
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - convert_pwd_string_to_utf8
    - g_hash_table_replace
    - getgrgid_r
    - g_hash_table_lookup
    - getgrgid
    - g_hash_table_new_full
    - GINT_TO_POINTER
    linkageType: ''
    returnType: char*
    signature: 'static char *lookup_gid_name (gid_t gid) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_set_name
      Src: /src/glib/gio/glocalfileinfo.c:1771,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:1773,1
    - Dst: g_strconcat
      Src: /src/glib/gio/glocalfileinfo.c:1782,1
    - Dst: strstr
      Src: /src/glib/gio/glocalfileinfo.c:1779,1
    - Dst: g_filename_display_basename
      Src: /src/glib/gio/glocalfileinfo.c:1776,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:1782,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:1783,1
    - Dst: g_file_info_set_display_name
      Src: /src/glib/gio/glocalfileinfo.c:1785,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:1786,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:1789,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:1798,1
    - Dst: _g_file_info_set_attribute_string_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1803,1
    - Dst: g_file_info_set_edit_name
      Src: /src/glib/gio/glocalfileinfo.c:1793,1
    - Dst: g_filename_to_utf8
      Src: /src/glib/gio/glocalfileinfo.c:1801,1
    - Dst: g_filename_display_basename
      Src: /src/glib/gio/glocalfileinfo.c:1792,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:1804,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:1794,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 4
    argNames:
    - info
    - basename
    - path
    - attribute_matcher
    argTypes:
    - GFileInfo*
    - char*
    - char*
    - GFileAttributeMatcher*
    constantsTouched: []
    func_position:
      end: 1806
      start: 1765
    functionDepth: 0
    functionLinenumber: 1765
    functionLinenumberEnd: 1806
    functionName: _g_local_file_info_get_nostat
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - _g_file_attribute_matcher_matches_id
    - g_file_info_set_name
    - g_strconcat
    - g_filename_to_utf8
    - g_file_info_set_edit_name
    - g_file_info_set_display_name
    - g_filename_display_basename
    - _g_file_info_set_attribute_string_by_id
    - _
    - g_free
    - strstr
    linkageType: ''
    returnType: void
    signature: "void _g_local_file_info_get_nostat (GFileInfo *info, const char *basename,\t\
      \t\t const char *path, GFileAttributeMatcher *attribute_matcher) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glocalfileinfo.c:2348,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:2349,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - value
    - val_out
    - error
    argTypes:
    - GFileAttributeValue*
    - char**
    - GError**
    constantsTouched: []
    func_position:
      end: 2356
      start: 2341
    functionDepth: 0
    functionLinenumber: 2341
    functionLinenumberEnd: 2356
    functionName: get_string
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - _
    - g_set_error_literal
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean get_string (const GFileAttributeValue *value,\t const\
      \ char **val_out,\t GError **error) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:2496,1
    - Dst: S_ISLNK
      Src: /src/glib/gio/glocalfileinfo.c:2501,1
    - Dst: g_unlink
      Src: /src/glib/gio/glocalfileinfo.c:2509,1
    - Dst: symlink
      Src: /src/glib/gio/glocalfileinfo.c:2520,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/glocalfileinfo.c:2514,1
    - Dst: get_byte_string
      Src: /src/glib/gio/glocalfileinfo.c:2480,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glocalfileinfo.c:2485,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:2486,1
    - Dst: g_lstat
      Src: /src/glib/gio/glocalfileinfo.c:2490,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/glocalfileinfo.c:2495,1
    - Dst: g_strerror
      Src: /src/glib/gio/glocalfileinfo.c:2516,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfileinfo.c:2513,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:2526,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfileinfo.c:2494,1
    - Dst: g_strerror
      Src: /src/glib/gio/glocalfileinfo.c:2497,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glocalfileinfo.c:2503,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/glocalfileinfo.c:2525,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:2505,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfileinfo.c:2524,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:2515,1
    - Dst: g_strerror
      Src: /src/glib/gio/glocalfileinfo.c:2527,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 3
    argNames:
    - filename
    - value
    - error
    argTypes:
    - char*
    - GFileAttributeValue*
    - GError**
    constantsTouched: []
    func_position:
      end: 2532
      start: 2472
    functionDepth: 0
    functionLinenumber: 2472
    functionLinenumberEnd: 2532
    functionName: set_symlink
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - g_set_error
    - symlink
    - g_unlink
    - g_io_error_from_errno
    - g_strerror
    - g_set_error_literal
    - _
    - g_lstat
    - get_byte_string
    - S_ISLNK
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean set_symlink (char *filename,\t const GFileAttributeValue\
      \ *value,\t GError **error) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_string
      Src: /src/glib/gio/glocalfileinfo.c:2985,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:2991,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glocalfileinfo.c:2997,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glocalfileinfo.c:2990,1
    - Dst: is_selinux_enabled
      Src: /src/glib/gio/glocalfileinfo.c:2995,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:2998,1
    - Dst: setfilecon_raw
      Src: /src/glib/gio/glocalfileinfo.c:3002,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfileinfo.c:3006,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/glocalfileinfo.c:3007,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:3008,1
    - Dst: g_strerror
      Src: /src/glib/gio/glocalfileinfo.c:3009,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - filename
    - value
    - error
    argTypes:
    - char*
    - GFileAttributeValue*
    - GError**
    constantsTouched: []
    func_position:
      end: 3014
      start: 2978
    functionDepth: 0
    functionLinenumber: 2978
    functionLinenumberEnd: 3014
    functionName: set_selinux_context
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_io_error_from_errno
    - get_string
    - g_strerror
    - is_selinux_enabled
    - g_set_error_literal
    - setfilecon_raw
    - _
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean set_selinux_context (char *filename, const GFileAttributeValue
      *value, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: listxattr
      Src: /src/glib/gio/glocalfileinfo.c:274,1
    - Dst: llistxattr
      Src: /src/glib/gio/glocalfileinfo.c:279,1
    - Dst: listxattr
      Src: /src/glib/gio/glocalfileinfo.c:277,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - path
    - namebuf
    - size
    - follow_symlinks
    argTypes:
    - char*
    - char*
    - size_t
    - gboolean
    constantsTouched: []
    func_position:
      end: 281
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 281
    functionName: g_listxattr
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - listxattr
    - llistxattr
    linkageType: ''
    returnType: gssize
    signature: 'static gssize g_listxattr(const char *path, char *namebuf, size_t
      size, gboolean follow_symlinks) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: valid_char
      Src: /src/glib/gio/glocalfileinfo.c:294,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 298
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 298
    functionName: name_is_valid
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - valid_char
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean name_is_valid (const char *str) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/glocalfileinfo.c:1731,1
    - Dst: G_LOCK
      Src: /src/glib/gio/glocalfileinfo.c:1720,1
    - Dst: g_source_attach
      Src: /src/glib/gio/glocalfileinfo.c:1748,1
    - Dst: g_source_set_priority
      Src: /src/glib/gio/glocalfileinfo.c:1742,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/glocalfileinfo.c:1749,1
    - Dst: g_path_get_dirname
      Src: /src/glib/gio/glocalfileinfo.c:1718,1
    - Dst: g_hash_table_lookup_extended
      Src: /src/glib/gio/glocalfileinfo.c:1726,1
    - Dst: g_new0
      Src: /src/glib/gio/glocalfileinfo.c:1729,1
    - Dst: read_hidden_file
      Src: /src/glib/gio/glocalfileinfo.c:1730,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/glocalfileinfo.c:1733,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalfileinfo.c:1734,1
    - Dst: g_timeout_source_new_seconds
      Src: /src/glib/gio/glocalfileinfo.c:1740,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/glocalfileinfo.c:1745,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/glocalfileinfo.c:1757,1
    - Dst: g_hash_table_contains
      Src: /src/glib/gio/glocalfileinfo.c:1755,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/glocalfileinfo.c:1723,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:1759,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/glocalfileinfo.c:1743,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 2
    argNames:
    - path
    - basename
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1762
      start: 1709
    functionDepth: 0
    functionLinenumber: 1709
    functionLinenumberEnd: 1762
    functionName: file_is_hidden
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - g_path_get_dirname
    - g_strdup
    - g_source_set_priority
    - g_source_set_callback
    - g_hash_table_lookup_extended
    - read_hidden_file
    - G_UNLOCK
    - g_source_attach
    - g_free
    - g_timeout_source_new_seconds
    - g_hash_table_insert
    - GLIB_PRIVATE_CALL
    - g_hash_table_new_full
    - g_hash_table_contains
    - g_get_monotonic_time
    - g_new0
    - G_LOCK
    - g_source_set_static_name
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean file_is_hidden (const gchar *path, const gchar *basename) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gio/glocalfileinfo.c:1816,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/glocalfileinfo.c:1826,1
    - Dst: g_get_home_dir
      Src: /src/glib/gio/glocalfileinfo.c:1816,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/glocalfileinfo.c:1821,1
    - Dst: g_get_user_special_dir
      Src: /src/glib/gio/glocalfileinfo.c:1821,1
    - Dst: g_get_user_special_dir
      Src: /src/glib/gio/glocalfileinfo.c:1826,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/glocalfileinfo.c:1830,1
    - Dst: g_get_user_special_dir
      Src: /src/glib/gio/glocalfileinfo.c:1830,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/glocalfileinfo.c:1834,1
    - Dst: g_get_user_special_dir
      Src: /src/glib/gio/glocalfileinfo.c:1834,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/glocalfileinfo.c:1838,1
    - Dst: g_get_user_special_dir
      Src: /src/glib/gio/glocalfileinfo.c:1838,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/glocalfileinfo.c:1842,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/glocalfileinfo.c:1846,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/glocalfileinfo.c:1850,1
    - Dst: g_get_user_special_dir
      Src: /src/glib/gio/glocalfileinfo.c:1850,1
    - Dst: g_get_user_special_dir
      Src: /src/glib/gio/glocalfileinfo.c:1842,1
    - Dst: g_get_user_special_dir
      Src: /src/glib/gio/glocalfileinfo.c:1846,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1863
      start: 1808
    functionDepth: 0
    functionLinenumber: 1808
    functionLinenumberEnd: 1863
    functionName: get_icon_name
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - g_get_user_special_dir
    - g_strcmp0
    - g_get_home_dir
    linkageType: ''
    returnType: char*
    signature: 'static const char *get_icon_name (const char *path, gboolean use_symbolic,
      gboolean *with_fallbacks_out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/glocalfileinfo.c:1238,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalfileinfo.c:1240,1
    - Dst: lookup_uid_data
      Src: /src/glib/gio/glocalfileinfo.c:1239,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/glocalfileinfo.c:1241,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1232
    functionDepth: 0
    functionLinenumber: 1232
    functionLinenumberEnd: 1244
    functionName: get_realname_from_uid
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - lookup_uid_data
    - g_strdup
    - G_LOCK
    linkageType: ''
    returnType: char*
    signature: 'static char *get_realname_from_uid (uid_t uid) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: valid_char
      Src: /src/glib/gio/glocalfileinfo.c:313,1
    - Dst: g_malloc
      Src: /src/glib/gio/glocalfileinfo.c:323,1
    - Dst: valid_char
      Src: /src/glib/gio/glocalfileinfo.c:328,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 343
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 343
    functionName: hex_escape_buffer
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - valid_char
    - g_malloc
    linkageType: ''
    returnType: char*
    signature: 'static char *hex_escape_buffer (const char *str, size_t len, gboolean
      *free_return) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/gio/glocalfileinfo.c:362,1
    - Dst: g_malloc
      Src: /src/glib/gio/glocalfileinfo.c:372,1
    - Dst: g_ascii_xdigit_value
      Src: /src/glib/gio/glocalfileinfo.c:383,1
    - Dst: strchr
      Src: /src/glib/gio/glocalfileinfo.c:364,1
    - Dst: g_ascii_xdigit_value
      Src: /src/glib/gio/glocalfileinfo.c:382,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 396
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 396
    functionName: hex_unescape_string
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - g_ascii_xdigit_value
    - strchr
    - strlen
    - g_malloc
    linkageType: ''
    returnType: char*
    signature: 'static char *hex_unescape_string (const char *str, int *out_len, gboolean
      *free_return) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glocalfileinfo.c:771,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:772,1
    - Dst: strlen
      Src: /src/glib/gio/glocalfileinfo.c:778,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glocalfileinfo.c:757,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:758,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/glocalfileinfo.c:783,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/glocalfileinfo.c:783,1
    - Dst: g_setxattr
      Src: /src/glib/gio/glocalfileinfo.c:798,1
    - Dst: g_strconcat
      Src: /src/glib/gio/glocalfileinfo.c:791,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:811,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:823,1
    - Dst: name_is_valid
      Src: /src/glib/gio/glocalfileinfo.c:769,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:765,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glocalfileinfo.c:764,1
    - Dst: hex_unescape_string
      Src: /src/glib/gio/glocalfileinfo.c:797,1
    - Dst: strlen
      Src: /src/glib/gio/glocalfileinfo.c:784,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:814,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfileinfo.c:821,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/glocalfileinfo.c:822,1
    - Dst: g_strerror
      Src: /src/glib/gio/glocalfileinfo.c:824,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/glocalfileinfo.c:776,1
    - Dst: hex_unescape_string
      Src: /src/glib/gio/glocalfileinfo.c:788,1
    - Dst: g_removexattr
      Src: /src/glib/gio/glocalfileinfo.c:805,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:817,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 54
    argCount: 4
    argNames:
    - filename
    - escaped_attribute
    - attr_value
    - error
    argTypes:
    - char*
    - char*
    - GFileAttributeValue*
    - GError**
    constantsTouched: []
    func_position:
      end: 829
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 829
    functionName: set_xattr
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_warn_if_fail
    - g_strconcat
    - strlen
    - g_setxattr
    - g_removexattr
    - g_io_error_from_errno
    - g_strerror
    - hex_unescape_string
    - name_is_valid
    - g_str_has_prefix
    - g_set_error_literal
    - _
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean set_xattr (char *filename,\t const char *escaped_attribute,\t\
      \ const GFileAttributeValue *attr_value,\t GError **error) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/gio/glocalfileinfo.c:1101,1
    - Dst: g_string_append
      Src: /src/glib/gio/glocalfileinfo.c:1114,1
    - Dst: g_string_sized_new
      Src: /src/glib/gio/glocalfileinfo.c:1110,1
    - Dst: g_utf8_validate_len
      Src: /src/glib/gio/glocalfileinfo.c:1105,1
    - Dst: g_string_append_len
      Src: /src/glib/gio/glocalfileinfo.c:1112,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalfileinfo.c:1121,1
    - Dst: g_string_append
      Src: /src/glib/gio/glocalfileinfo.c:1123,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/glocalfileinfo.c:1125,1
    - Dst: g_utf8_validate
      Src: /src/glib/gio/glocalfileinfo.c:1125,1
    - Dst: g_string_free
      Src: /src/glib/gio/glocalfileinfo.c:1127,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1092
    functionDepth: 0
    functionLinenumber: 1092
    functionLinenumberEnd: 1128
    functionName: make_valid_utf8
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - g_utf8_validate_len
    - g_strdup
    - g_warn_if_fail
    - g_string_append_len
    - strlen
    - g_string_free
    - g_string_sized_new
    - g_utf8_validate
    - g_string_append
    linkageType: ''
    returnType: char*
    signature: 'static char *make_valid_utf8 (const char *name) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/glocalfileinfo.c:1168,1
    - Dst: getpwuid_r
      Src: /src/glib/gio/glocalfileinfo.c:1178,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/glocalfileinfo.c:1170,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/glocalfileinfo.c:1170,1
    - Dst: g_new0
      Src: /src/glib/gio/glocalfileinfo.c:1175,1
    - Dst: getpwuid
      Src: /src/glib/gio/glocalfileinfo.c:1180,1
    - Dst: convert_pwd_string_to_utf8
      Src: /src/glib/gio/glocalfileinfo.c:1186,1
    - Dst: strchr
      Src: /src/glib/gio/glocalfileinfo.c:1193,1
    - Dst: convert_pwd_string_to_utf8
      Src: /src/glib/gio/glocalfileinfo.c:1196,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalfileinfo.c:1205,1
    - Dst: g_hash_table_replace
      Src: /src/glib/gio/glocalfileinfo.c:1213,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/glocalfileinfo.c:1211,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/glocalfileinfo.c:1207,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/glocalfileinfo.c:1213,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1156
    functionDepth: 0
    functionLinenumber: 1156
    functionLinenumberEnd: 1216
    functionName: lookup_uid_data
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - convert_pwd_string_to_utf8
    - g_strdup_printf
    - g_hash_table_replace
    - g_hash_table_lookup
    - getpwuid_r
    - strchr
    - g_hash_table_new_full
    - GINT_TO_POINTER
    - g_new0
    - getpwuid
    linkageType: ''
    returnType: UidData*
    signature: 'static UidData *lookup_uid_data (uid_t uid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_unix_content_type_get_sniff_len
      Src: /src/glib/gio/glocalfileinfo.c:1352,1
    - Dst: g_open
      Src: /src/glib/gio/glocalfileinfo.c:1361,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/glocalfileinfo.c:1463,1
    - Dst: strlen
      Src: /src/glib/gio/glocalfileinfo.c:1470,1
    - Dst: g_checksum_get_string
      Src: /src/glib/gio/glocalfileinfo.c:1472,1
    - Dst: g_file_test
      Src: /src/glib/gio/glocalfileinfo.c:1481,1
    - Dst: S_ISBLK
      Src: /src/glib/gio/glocalfileinfo.c:1315,1
    - Dst: S_ISFIFO
      Src: /src/glib/gio/glocalfileinfo.c:1317,1
    - Dst: S_ISREG
      Src: /src/glib/gio/glocalfileinfo.c:1319,1
    - Dst: g_build_filename
      Src: /src/glib/gio/glocalfileinfo.c:1477,1
    - Dst: _g_stat_mode
      Src: /src/glib/gio/glocalfileinfo.c:1315,1
    - Dst: _g_stat_mode
      Src: /src/glib/gio/glocalfileinfo.c:1317,1
    - Dst: _g_stat_mode
      Src: /src/glib/gio/glocalfileinfo.c:1319,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:1371,1
    - Dst: _g_file_info_set_attribute_byte_string_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1504,1
    - Dst: g_content_type_guess
      Src: /src/glib/gio/glocalfileinfo.c:1336,1
    - Dst: errno
      Src: /src/glib/gio/glocalfileinfo.c:1358,1
    - Dst: guint32
      Src: /src/glib/gio/glocalfileinfo.c:1433,1
    - Dst: g_checksum_new
      Src: /src/glib/gio/glocalfileinfo.c:1469,1
    - Dst: _g_file_info_set_attribute_boolean_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1505,1
    - Dst: thumbnail_verify
      Src: /src/glib/gio/glocalfileinfo.c:1506,1
    - Dst: g_content_type_from_mime_type
      Src: /src/glib/gio/glocalfileinfo.c:1314,1
    - Dst: g_checksum_update
      Src: /src/glib/gio/glocalfileinfo.c:1470,1
    - Dst: g_content_type_from_mime_type
      Src: /src/glib/gio/glocalfileinfo.c:1316,1
    - Dst: S_ISSOCK
      Src: /src/glib/gio/glocalfileinfo.c:1327,1
    - Dst: g_close
      Src: /src/glib/gio/glocalfileinfo.c:1368,1
    - Dst: chardevice
      Src: /src/glib/gio/glocalfileinfo.c:1314,1
    - Dst: blockdevice
      Src: /src/glib/gio/glocalfileinfo.c:1316,1
    - Dst: _g_stat_size
      Src: /src/glib/gio/glocalfileinfo.c:1319,1
    - Dst: g_content_type_from_mime_type
      Src: /src/glib/gio/glocalfileinfo.c:1329,1
    - Dst: sizeof
      Src: /src/glib/gio/glocalfileinfo.c:1353,1
    - Dst: g_open
      Src: /src/glib/gio/glocalfileinfo.c:1357,1
    - Dst: read
      Src: /src/glib/gio/glocalfileinfo.c:1367,1
    - Dst: get_thumbnail_attributes
      Src: /src/glib/gio/glocalfileinfo.c:1421,1
    - Dst: g_filename_to_uri
      Src: /src/glib/gio/glocalfileinfo.c:1467,1
    - Dst: g_checksum_free
      Src: /src/glib/gio/glocalfileinfo.c:1473,1
    - Dst: g_get_user_cache_dir
      Src: /src/glib/gio/glocalfileinfo.c:1477,1
    - Dst: g_return_val_if_reached
      Src: /src/glib/gio/glocalfileinfo.c:1416,1
    - Dst: g_strconcat
      Src: /src/glib/gio/glocalfileinfo.c:1472,1
    - Dst: g_build_filename
      Src: /src/glib/gio/glocalfileinfo.c:1490,1
    - Dst: get_thumbnail_dirname_from_size
      Src: /src/glib/gio/glocalfileinfo.c:1393,1
    - Dst: g_content_type_from_mime_type
      Src: /src/glib/gio/glocalfileinfo.c:1318,1
    - Dst: g_content_type_from_mime_type
      Src: /src/glib/gio/glocalfileinfo.c:1324,1
    - Dst: S_ISSOCK
      Src: /src/glib/gio/glocalfileinfo.c:1328,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/glocalfileinfo.c:1413,1
    - Dst: get_thumbnail_dirname_from_size
      Src: /src/glib/gio/glocalfileinfo.c:1466,1
    - Dst: _g_stat_mode
      Src: /src/glib/gio/glocalfileinfo.c:1328,1
    - Dst: if
      Src: /src/glib/gio/glocalfileinfo.c:1339,1
    - Dst: get_thumbnail_dirname_from_size
      Src: /src/glib/gio/glocalfileinfo.c:1492,1
    - Dst: g_get_user_cache_dir
      Src: /src/glib/gio/glocalfileinfo.c:1490,1
    - Dst: fifo
      Src: /src/glib/gio/glocalfileinfo.c:1318,1
    - Dst: g_content_type_guess
      Src: /src/glib/gio/glocalfileinfo.c:1372,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 107
    argCount: 1
    argNames:
    - S_ISCHR
    argTypes:
    - statbuf
    constantsTouched: []
    func_position:
      end: 1507
      start: 1313
    functionDepth: 0
    functionLinenumber: 1313
    functionLinenumberEnd: 1507
    functionName: if
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - g_strconcat
    - g_filename_to_uri
    - g_checksum_update
    - get_thumbnail_attributes
    - g_open
    - fifo
    - S_ISBLK
    - if
    - guint32
    - _g_file_info_set_attribute_byte_string_by_id
    - get_thumbnail_dirname_from_size
    - g_get_user_cache_dir
    - S_ISFIFO
    - g_content_type_guess
    - _g_stat_mode
    - g_free
    - g_checksum_new
    - _g_file_info_set_attribute_boolean_by_id
    - g_build_filename
    - g_content_type_from_mime_type
    - g_file_test
    - g_checksum_get_string
    - blockdevice
    - _g_stat_size
    - strlen
    - g_checksum_free
    - S_ISSOCK
    - errno
    - g_assert_not_reached
    - _g_unix_content_type_get_sniff_len
    - sizeof
    - S_ISREG
    - g_return_val_if_reached
    - g_close
    - chardevice
    - thumbnail_verify
    - read
    linkageType: ''
    returnType: else
    signature: "else if (statbuf != NULL && S_ISCHR(_g_stat_mode (statbuf))) return\
      \ g_content_type_from_mime_type (\"inode/chardevice\"); else if (statbuf !=\
      \ NULL && S_ISBLK(_g_stat_mode (statbuf))) return g_content_type_from_mime_type\
      \ (\"inode/blockdevice\"); else if (statbuf != NULL && S_ISFIFO(_g_stat_mode\
      \ (statbuf))) return g_content_type_from_mime_type (\"inode/fifo\"); else if\
      \ (statbuf != NULL && S_ISREG(_g_stat_mode (statbuf)) && _g_stat_size (statbuf)\
      \ == 0) { /* Don't sniff zero-length files in order to avoid reading files *\
      \ that appear normal but are not (eg: files in /proc and /sys) */ return g_content_type_from_mime_type\
      \ (\"application/x-zerosize\"); }#endif#ifdef S_ISSOCK else if (statbuf != NULL\
      \ && S_ISSOCK(_g_stat_mode (statbuf))) return g_content_type_from_mime_type\
      \ (\"inode/socket\");#endif else { char *content_type; gboolean result_uncertain;\
      \ content_type = g_content_type_guess (basename, NULL, 0, &result_uncertain);\
      \ #if !defined(G_OS_WIN32) && !defined(__APPLE__) if (!fast && result_uncertain\
      \ && path != NULL)\t{ /* Sniff the first 16KiB of the file (sometimes less,\
      \ if xdgmime * says it doesn\u2019t need so much). Most files need less than\
      \ 4KiB of * sniffing, but some disk images need more (see * https://gitlab.gnome.org/GNOME/glib/-/issues/3186).\
      \ */\t guchar sniff_buffer[16384];\t gsize sniff_length;#ifdef O_NOATIME\t int\
      \ errsv;#endif\t int fd;\t sniff_length = _g_unix_content_type_get_sniff_len\
      \ ();\t if (sniff_length == 0 || sniff_length > sizeof (sniff_buffer))\t sniff_length\
      \ = sizeof (sniff_buffer);#ifdef O_NOATIME\t fd = g_open (path, O_RDONLY | O_NOATIME\
      \ | O_CLOEXEC, 0); errsv = errno; if (fd < 0 && errsv == EPERM)#endif\t fd =\
      \ g_open (path, O_RDONLY | O_CLOEXEC, 0);\t if (fd != -1)\t {\t gssize res;\t\
      \ \t res = read (fd, sniff_buffer, sniff_length);\t (void) g_close (fd, NULL);\t\
      \ if (res >= 0)\t\t{\t\t g_free (content_type);\t\t content_type = g_content_type_guess\
      \ (basename, sniff_buffer, res, NULL);\t\t}\t }\t}#endif return content_type;\
      \ } }typedef enum { THUMBNAIL_SIZE_AUTO, THUMBNAIL_SIZE_NORMAL, THUMBNAIL_SIZE_LARGE,\
      \ THUMBNAIL_SIZE_XLARGE, THUMBNAIL_SIZE_XXLARGE, THUMBNAIL_SIZE_LAST,} ThumbnailSize;static\
      \ const char *get_thumbnail_dirname_from_size (ThumbnailSize size){ switch (size)\
      \ { case THUMBNAIL_SIZE_AUTO: return NULL; break; case THUMBNAIL_SIZE_NORMAL:\
      \ return \"normal\"; break; case THUMBNAIL_SIZE_LARGE: return \"large\"; break;\
      \ case THUMBNAIL_SIZE_XLARGE: return \"x-large\"; break; case THUMBNAIL_SIZE_XXLARGE:\
      \ return \"xx-large\"; break; default: g_assert_not_reached (); } g_return_val_if_reached\
      \ (NULL);}/* @stat_buf is the pre-calculated result of stat(path), or %NULL\
      \ if that failed. */static voidget_thumbnail_attributes (const char *path, GFileInfo\
      \ *info, const GLocalFileStat *stat_buf, ThumbnailSize size){ GChecksum *checksum;\
      \ const char *dirname; char *uri; char *filename = NULL; char *basename; guint32\
      \ failed_attr_id; guint32 is_valid_attr_id; guint32 path_attr_id; switch (size)\
      \ { case THUMBNAIL_SIZE_AUTO: failed_attr_id = G_FILE_ATTRIBUTE_ID_THUMBNAILING_FAILED;\
      \ is_valid_attr_id = G_FILE_ATTRIBUTE_ID_THUMBNAIL_IS_VALID; path_attr_id =\
      \ G_FILE_ATTRIBUTE_ID_THUMBNAIL_PATH; break; case THUMBNAIL_SIZE_NORMAL: failed_attr_id\
      \ = G_FILE_ATTRIBUTE_ID_THUMBNAILING_FAILED_NORMAL; is_valid_attr_id = G_FILE_ATTRIBUTE_ID_THUMBNAIL_IS_VALID_NORMAL;\
      \ path_attr_id = G_FILE_ATTRIBUTE_ID_THUMBNAIL_PATH_NORMAL; break; case THUMBNAIL_SIZE_LARGE:\
      \ failed_attr_id = G_FILE_ATTRIBUTE_ID_THUMBNAILING_FAILED_LARGE; is_valid_attr_id\
      \ = G_FILE_ATTRIBUTE_ID_THUMBNAIL_IS_VALID_LARGE; path_attr_id = G_FILE_ATTRIBUTE_ID_THUMBNAIL_PATH_LARGE;\
      \ break; case THUMBNAIL_SIZE_XLARGE: failed_attr_id = G_FILE_ATTRIBUTE_ID_THUMBNAILING_FAILED_XLARGE;\
      \ is_valid_attr_id = G_FILE_ATTRIBUTE_ID_THUMBNAIL_IS_VALID_XLARGE; path_attr_id\
      \ = G_FILE_ATTRIBUTE_ID_THUMBNAIL_PATH_XLARGE; break; case THUMBNAIL_SIZE_XXLARGE:\
      \ failed_attr_id = G_FILE_ATTRIBUTE_ID_THUMBNAILING_FAILED_XXLARGE; is_valid_attr_id\
      \ = G_FILE_ATTRIBUTE_ID_THUMBNAIL_IS_VALID_XXLARGE; path_attr_id = G_FILE_ATTRIBUTE_ID_THUMBNAIL_PATH_XXLARGE;\
      \ break; default: g_assert_not_reached (); } dirname = get_thumbnail_dirname_from_size\
      \ (size); uri = g_filename_to_uri (path, NULL, NULL); checksum = g_checksum_new\
      \ (G_CHECKSUM_MD5); g_checksum_update (checksum, (const guchar *) uri, strlen\
      \ (uri)); basename = g_strconcat (g_checksum_get_string (checksum), \".png\"\
      , NULL); g_checksum_free (checksum); if (dirname) { filename = g_build_filename\
      \ (g_get_user_cache_dir (), \"thumbnails\", dirname, basename, NULL); if (!g_file_test\
      \ (filename, G_FILE_TEST_IS_REGULAR)) g_clear_pointer (&filename, g_free); }\
      \ else { gssize i; for (i = THUMBNAIL_SIZE_LAST - 1; i >= 0 ; i--) { filename\
      \ = g_build_filename (g_get_user_cache_dir (), \"thumbnails\", get_thumbnail_dirname_from_size\
      \ (i), basename, NULL); if (g_file_test (filename, G_FILE_TEST_IS_REGULAR))\
      \ break; g_clear_pointer (&filename, g_free); } } if (filename) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GetSecurityDescriptorOwner
      Src: /src/glib/gio/glocalfileinfo.c:1563,1
    - Dst: GetLastError
      Src: /src/glib/gio/glocalfileinfo.c:1569,1
    - Dst: g_try_malloc
      Src: /src/glib/gio/glocalfileinfo.c:1598,1
    - Dst: LookupAccountSidW
      Src: /src/glib/gio/glocalfileinfo.c:1574,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:1582,1
    - Dst: GetLastError
      Src: /src/glib/gio/glocalfileinfo.c:1596,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:1617,1
    - Dst: GetFileSecurityW
      Src: /src/glib/gio/glocalfileinfo.c:1540,1
    - Dst: GetFileSecurityW
      Src: /src/glib/gio/glocalfileinfo.c:1546,1
    - Dst: LookupAccountSidW
      Src: /src/glib/gio/glocalfileinfo.c:1565,1
    - Dst: g_try_malloc
      Src: /src/glib/gio/glocalfileinfo.c:1571,1
    - Dst: GetSecurityDescriptorGroup
      Src: /src/glib/gio/glocalfileinfo.c:1590,1
    - Dst: LookupAccountSidW
      Src: /src/glib/gio/glocalfileinfo.c:1592,1
    - Dst: g_try_malloc
      Src: /src/glib/gio/glocalfileinfo.c:1599,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/glocalfileinfo.c:1607,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:1610,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/glocalfileinfo.c:1539,1
    - Dst: GetLastError
      Src: /src/glib/gio/glocalfileinfo.c:1544,1
    - Dst: LookupAccountSidW
      Src: /src/glib/gio/glocalfileinfo.c:1601,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:1609,1
    - Dst: g_try_malloc
      Src: /src/glib/gio/glocalfileinfo.c:1545,1
    - Dst: g_try_malloc
      Src: /src/glib/gio/glocalfileinfo.c:1572,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/glocalfileinfo.c:1580,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:1583,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:1615,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 63
    argCount: 4
    argNames:
    - filename
    - group_name
    - user_name
    - real_name
    argTypes:
    - gchar*
    - gchar**
    - gchar**
    - gchar**
    constantsTouched: []
    func_position:
      end: 1618
      start: 1530
    functionDepth: 0
    functionLinenumber: 1530
    functionLinenumberEnd: 1618
    functionName: win32_get_file_user_info
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - g_utf8_to_utf16
    - GetSecurityDescriptorGroup
    - GetSecurityDescriptorOwner
    - g_try_malloc
    - LookupAccountSidW
    - GetLastError
    - GetFileSecurityW
    - g_free
    - g_utf16_to_utf8
    linkageType: ''
    returnType: void
    signature: "static void win32_get_file_user_info (const gchar *filename,\t\t\t\
      \ gchar **group_name, \t\t\t gchar **user_name, \t\t\t gchar **real_name) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hex_escape_buffer
      Src: /src/glib/gio/glocalfileinfo.c:349,1
    - Dst: strlen
      Src: /src/glib/gio/glocalfileinfo.c:349,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 350
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 350
    functionName: hex_escape_string
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - hex_escape_buffer
    - strlen
    linkageType: ''
    returnType: char*
    signature: 'static char *hex_escape_string (const char *str, gboolean *free_return) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hex_escape_buffer
      Src: /src/glib/gio/glocalfileinfo.c:407,1
    - Dst: g_file_info_set_attribute_string
      Src: /src/glib/gio/glocalfileinfo.c:409,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:412,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 4
    argNames:
    - info
    - gio_attr
    - /* gio attribute name */
    - value
    - /* Is zero terminated */
    - len
    - /* not including zero termination */
    argTypes:
    - GFileInfo*
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 413
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 413
    functionName: escape_xattr
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - hex_escape_buffer
    - g_free
    - g_file_info_set_attribute_string
    linkageType: ''
    returnType: void
    signature: "static void escape_xattr (GFileInfo *info,\t const char *gio_attr,\
      \ /* gio attribute name */\t const char *value, /* Is zero terminated */\t size_t\
      \ len /* not including zero termination */) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_validate
      Src: /src/glib/gio/glocalfileinfo.c:1135,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalfileinfo.c:1142,1
    - Dst: make_valid_utf8
      Src: /src/glib/gio/glocalfileinfo.c:1139,1
    - Dst: g_locale_to_utf8
      Src: /src/glib/gio/glocalfileinfo.c:1137,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1130
    functionDepth: 0
    functionLinenumber: 1130
    functionLinenumberEnd: 1145
    functionName: convert_pwd_string_to_utf8
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - g_utf8_validate
    - g_strdup
    - make_valid_utf8
    - g_locale_to_utf8
    linkageType: ''
    returnType: char*
    signature: 'static char *convert_pwd_string_to_utf8 (char *pwd_str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/glocalfileinfo.c:1224,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalfileinfo.c:1226,1
    - Dst: lookup_uid_data
      Src: /src/glib/gio/glocalfileinfo.c:1225,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/glocalfileinfo.c:1227,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1218
    functionDepth: 0
    functionLinenumber: 1218
    functionLinenumberEnd: 1230
    functionName: get_username_from_uid
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - lookup_uid_data
    - g_strdup
    - G_LOCK
    linkageType: ''
    returnType: char*
    signature: 'static char *get_username_from_uid (uid_t uid) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: lazy_stat
      Src: /src/glib/gio/glocalfileinfo.c:2822,1
    - Dst: get_uint32
      Src: /src/glib/gio/glocalfileinfo.c:2847,1
    - Dst: utimes
      Src: /src/glib/gio/glocalfileinfo.c:2959,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/glocalfileinfo.c:2967,1
    - Dst: get_uint64
      Src: /src/glib/gio/glocalfileinfo.c:2816,1
    - Dst: get_uint32
      Src: /src/glib/gio/glocalfileinfo.c:2837,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfileinfo.c:2966,1
    - Dst: lazy_stat
      Src: /src/glib/gio/glocalfileinfo.c:2907,1
    - Dst: get_uint32
      Src: /src/glib/gio/glocalfileinfo.c:2953,1
    - Dst: g_strerror
      Src: /src/glib/gio/glocalfileinfo.c:2969,1
    - Dst: lazy_stat
      Src: /src/glib/gio/glocalfileinfo.c:2861,1
    - Dst: get_uint32
      Src: /src/glib/gio/glocalfileinfo.c:2886,1
    - Dst: get_uint64
      Src: /src/glib/gio/glocalfileinfo.c:2900,1
    - Dst: get_uint32
      Src: /src/glib/gio/glocalfileinfo.c:2922,1
    - Dst: lazy_stat
      Src: /src/glib/gio/glocalfileinfo.c:2938,1
    - Dst: get_uint64
      Src: /src/glib/gio/glocalfileinfo.c:2855,1
    - Dst: get_uint32
      Src: /src/glib/gio/glocalfileinfo.c:2876,1
    - Dst: utimensat
      Src: /src/glib/gio/glocalfileinfo.c:2891,1
    - Dst: get_uint64
      Src: /src/glib/gio/glocalfileinfo.c:2931,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:2968,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 85
    argCount: 8
    argNames:
    - filename
    - mtime_value
    - mtime_usec_value
    - mtime_nsec_value
    - atime_value
    - atime_usec_value
    - atime_nsec_value
    - error
    argTypes:
    - char*
    - GFileAttributeValue*
    - GFileAttributeValue*
    - GFileAttributeValue*
    - GFileAttributeValue*
    - GFileAttributeValue*
    - GFileAttributeValue*
    - GError**
    constantsTouched: []
    func_position:
      end: 2973
      start: 2797
    functionDepth: 0
    functionLinenumber: 2797
    functionLinenumberEnd: 2973
    functionName: set_mtime_atime
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - g_set_error
    - utimensat
    - lazy_stat
    - g_io_error_from_errno
    - g_strerror
    - get_uint32
    - _
    - get_uint64
    - utimes
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean set_mtime_atime (char *filename,\t\t const GFileAttributeValue\
      \ *mtime_value,\t\t const GFileAttributeValue *mtime_usec_value,\t\t const GFileAttributeValue\
      \ *mtime_nsec_value,\t\t const GFileAttributeValue *atime_value,\t\t const GFileAttributeValue\
      \ *atime_usec_value,\t\t const GFileAttributeValue *atime_nsec_value,\t\t GError\
      \ **error) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:213,1
    - Dst: is_selinux_enabled
      Src: /src/glib/gio/glocalfileinfo.c:216,1
    - Dst: _g_file_info_set_attribute_string_by_id
      Src: /src/glib/gio/glocalfileinfo.c:231,1
    - Dst: getfilecon_raw
      Src: /src/glib/gio/glocalfileinfo.c:225,1
    - Dst: lgetfilecon_raw
      Src: /src/glib/gio/glocalfileinfo.c:220,1
    - Dst: freecon
      Src: /src/glib/gio/glocalfileinfo.c:232,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 4
    argNames:
    - path
    - info
    - attribute_matcher
    - follow_symlinks
    argTypes:
    - char*
    - GFileInfo*
    - GFileAttributeMatcher*
    - gboolean
    constantsTouched: []
    func_position:
      end: 235
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 235
    functionName: get_selinux_context
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - _g_file_attribute_matcher_matches_id
    - is_selinux_enabled
    - lgetfilecon_raw
    - freecon
    - _g_file_info_set_attribute_string_by_id
    - getfilecon_raw
    linkageType: ''
    returnType: void
    signature: "static void get_selinux_context (const char *path,\t\t GFileInfo *info,\t\
      \t GFileAttributeMatcher *attribute_matcher,\t\t gboolean follow_symlinks) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/glib/gio/glocalfileinfo.c:165,1
    - Dst: readlink
      Src: /src/glib/gio/glocalfileinfo.c:171,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:174,1
    - Dst: g_realloc
      Src: /src/glib/gio/glocalfileinfo.c:183,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/glocalfileinfo.c:189,1
    - Dst: strdup
      Src: /src/glib/gio/glocalfileinfo.c:193,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 199
    functionName: read_link
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - g_realloc
    - g_malloc
    - GLIB_PRIVATE_CALL
    - strdup
    - readlink
    - g_free
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *read_link (const gchar *full_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glocalfileinfo.c:2310,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:2311,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - value
    - val_out
    - error
    argTypes:
    - GFileAttributeValue*
    - guint64*
    - GError**
    constantsTouched: []
    func_position:
      end: 2318
      start: 2303
    functionDepth: 0
    functionLinenumber: 2303
    functionLinenumberEnd: 2318
    functionName: get_uint64
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - _
    - g_set_error_literal
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean get_uint64 (const GFileAttributeValue *value,\t guint64\
      \ *val_out,\t GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glocalfileinfo.c:2329,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:2330,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - value
    - val_out
    - error
    argTypes:
    - GFileAttributeValue*
    - char**
    - GError**
    constantsTouched: []
    func_position:
      end: 2337
      start: 2322
    functionDepth: 0
    functionLinenumber: 2322
    functionLinenumberEnd: 2337
    functionName: get_byte_string
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - _
    - g_set_error_literal
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean get_byte_string (const GFileAttributeValue *value,\t\
      \t const char **val_out,\t\t GError **error) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_stat
      Src: /src/glib/gio/glocalfileinfo.c:2546,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - filename
    - statbuf
    - called_stat
    argTypes:
    - char*
    - GStatBuf*
    - gboolean*
    constantsTouched: []
    func_position:
      end: 2552
      start: 2536
    functionDepth: 0
    functionLinenumber: 2536
    functionLinenumberEnd: 2552
    functionName: lazy_stat
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - g_stat
    linkageType: ''
    returnType: int
    signature: 'static int lazy_stat (const char *filename, GStatBuf *statbuf, gboolean
      *called_stat) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:536,1
    - Dst: g_strconcat
      Src: /src/glib/gio/glocalfileinfo.c:527,1
    - Dst: strchr
      Src: /src/glib/gio/glocalfileinfo.c:557,1
    - Dst: g_strconcat
      Src: /src/glib/gio/glocalfileinfo.c:563,1
    - Dst: g_file_attribute_matcher_enumerate_namespace
      Src: /src/glib/gio/glocalfileinfo.c:480,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/glocalfileinfo.c:519,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:540,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:548,1
    - Dst: hex_escape_string
      Src: /src/glib/gio/glocalfileinfo.c:531,1
    - Dst: hex_unescape_string
      Src: /src/glib/gio/glocalfileinfo.c:561,1
    - Dst: get_one_xattr
      Src: /src/glib/gio/glocalfileinfo.c:567,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:570,1
    - Dst: g_malloc
      Src: /src/glib/gio/glocalfileinfo.c:495,1
    - Dst: g_listxattr
      Src: /src/glib/gio/glocalfileinfo.c:488,1
    - Dst: g_listxattr
      Src: /src/glib/gio/glocalfileinfo.c:499,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:511,1
    - Dst: hex_escape_string
      Src: /src/glib/gio/glocalfileinfo.c:526,1
    - Dst: strlen
      Src: /src/glib/gio/glocalfileinfo.c:543,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:573,1
    - Dst: g_file_attribute_matcher_enumerate_namespace
      Src: /src/glib/gio/glocalfileinfo.c:482,1
    - Dst: g_realloc
      Src: /src/glib/gio/glocalfileinfo.c:505,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/glocalfileinfo.c:518,1
    - Dst: g_strconcat
      Src: /src/glib/gio/glocalfileinfo.c:532,1
    - Dst: get_one_xattr
      Src: /src/glib/gio/glocalfileinfo.c:538,1
    - Dst: g_file_attribute_matcher_enumerate_next
      Src: /src/glib/gio/glocalfileinfo.c:552,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 76
    argCount: 5
    argNames:
    - path
    - user
    - info
    - matcher
    - follow_symlinks
    argTypes:
    - char*
    - gboolean
    - GFileInfo*
    - GFileAttributeMatcher*
    - gboolean
    constantsTouched: []
    func_position:
      end: 578
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 578
    functionName: get_xattrs
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - g_file_attribute_matcher_enumerate_next
    - hex_escape_string
    - g_strconcat
    - strlen
    - g_realloc
    - hex_unescape_string
    - g_malloc
    - g_str_has_prefix
    - strchr
    - g_file_attribute_matcher_enumerate_namespace
    - g_free
    - g_listxattr
    - get_one_xattr
    linkageType: ''
    returnType: void
    signature: "static void get_xattrs (const char *path,\t gboolean user,\t GFileInfo\
      \ *info,\t GFileAttributeMatcher *matcher,\t gboolean follow_symlinks) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:850,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:853,1
    - Dst: g_access
      Src: /src/glib/gio/glocalfileinfo.c:860,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:851,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:852,1
    - Dst: g_stat
      Src: /src/glib/gio/glocalfileinfo.c:862,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:881,1
    - Dst: _g_local_file_has_trash_dir
      Src: /src/glib/gio/glocalfileinfo.c:882,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 3
    argNames:
    - dir
    - attribute_matcher
    - parent_info
    argTypes:
    - char*
    - GFileAttributeMatcher*
    - GLocalParentFileInfo*
    constantsTouched: []
    func_position:
      end: 885
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 885
    functionName: _g_local_file_info_get_parent_info
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - _g_file_attribute_matcher_matches_id
    - _g_local_file_has_trash_dir
    - g_access
    - g_stat
    linkageType: ''
    returnType: void
    signature: "void _g_local_file_info_get_parent_info (const char *dir,\t\t\t\t\
      \ GFileAttributeMatcher *attribute_matcher,\t\t\t\t GLocalParentFileInfo *parent_info) "
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:699,1
    - Dst: g_strconcat
      Src: /src/glib/gio/glocalfileinfo.c:690,1
    - Dst: get_one_xattr_from_fd
      Src: /src/glib/gio/glocalfileinfo.c:701,1
    - Dst: get_one_xattr_from_fd
      Src: /src/glib/gio/glocalfileinfo.c:729,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:732,1
    - Dst: g_malloc
      Src: /src/glib/gio/glocalfileinfo.c:658,1
    - Dst: g_flistxattr
      Src: /src/glib/gio/glocalfileinfo.c:651,1
    - Dst: g_file_attribute_matcher_enumerate_namespace
      Src: /src/glib/gio/glocalfileinfo.c:645,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/glocalfileinfo.c:681,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/glocalfileinfo.c:682,1
    - Dst: hex_escape_string
      Src: /src/glib/gio/glocalfileinfo.c:694,1
    - Dst: strchr
      Src: /src/glib/gio/glocalfileinfo.c:719,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:735,1
    - Dst: g_flistxattr
      Src: /src/glib/gio/glocalfileinfo.c:662,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:674,1
    - Dst: hex_escape_string
      Src: /src/glib/gio/glocalfileinfo.c:689,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:710,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:702,1
    - Dst: g_strconcat
      Src: /src/glib/gio/glocalfileinfo.c:725,1
    - Dst: g_file_attribute_matcher_enumerate_namespace
      Src: /src/glib/gio/glocalfileinfo.c:643,1
    - Dst: g_realloc
      Src: /src/glib/gio/glocalfileinfo.c:668,1
    - Dst: strlen
      Src: /src/glib/gio/glocalfileinfo.c:705,1
    - Dst: g_file_attribute_matcher_enumerate_next
      Src: /src/glib/gio/glocalfileinfo.c:714,1
    - Dst: g_strconcat
      Src: /src/glib/gio/glocalfileinfo.c:695,1
    - Dst: hex_unescape_string
      Src: /src/glib/gio/glocalfileinfo.c:723,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 75
    argCount: 4
    argNames:
    - fd
    - user
    - info
    - matcher
    argTypes:
    - int
    - gboolean
    - GFileInfo*
    - GFileAttributeMatcher*
    constantsTouched: []
    func_position:
      end: 740
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 740
    functionName: get_xattrs_from_fd
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - g_file_attribute_matcher_enumerate_next
    - hex_escape_string
    - g_strconcat
    - strlen
    - g_realloc
    - hex_unescape_string
    - g_malloc
    - g_str_has_prefix
    - get_one_xattr_from_fd
    - strchr
    - g_flistxattr
    - g_file_attribute_matcher_enumerate_namespace
    - g_free
    linkageType: ''
    returnType: void
    signature: "static void get_xattrs_from_fd (int fd,\t\t gboolean user,\t\t GFileInfo\
      \ *info,\t\t GFileAttributeMatcher *matcher) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_build_path
      Src: /src/glib/gio/glocalfileinfo.c:1672,1
    - Dst: g_file_get_contents
      Src: /src/glib/gio/glocalfileinfo.c:1673,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/glocalfileinfo.c:1682,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:1674,1
    - Dst: g_strsplit
      Src: /src/glib/gio/glocalfileinfo.c:1684,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:1685,1
    - Dst: g_hash_table_add
      Src: /src/glib/gio/glocalfileinfo.c:1689,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:1692,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1698
      start: 1666
    functionDepth: 0
    functionLinenumber: 1666
    functionLinenumberEnd: 1698
    functionName: read_hidden_file
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - g_hash_table_new_full
    - g_file_get_contents
    - g_build_path
    - g_strsplit
    - g_free
    - g_hash_table_add
    linkageType: ''
    returnType: GHashTable*
    signature: 'static GHashTable *read_hidden_file (const gchar *dirname) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/glocalfileinfo.c:2590,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/glocalfileinfo.c:2591,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:2597,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfileinfo.c:2604,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfileinfo.c:2595,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:2606,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfileinfo.c:2614,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:2616,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfileinfo.c:2625,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:2627,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 4
    argNames:
    - ut
    - nsec
    - ft
    - error
    argTypes:
    - gint64
    - gint32
    - FILETIME*
    - GError**
    constantsTouched: []
    func_position:
      end: 2636
      start: 2569
    functionDepth: 0
    functionLinenumber: 2569
    functionLinenumberEnd: 2636
    functionName: _g_win32_unix_time_to_filetime
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_return_val_if_fail
    - _
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _g_win32_unix_time_to_filetime (gint64 ut, gint32
      nsec, FILETIME *ft, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_getxattr
      Src: /src/glib/gio/glocalfileinfo.c:427,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:446,1
    - Dst: g_getxattr
      Src: /src/glib/gio/glocalfileinfo.c:435,1
    - Dst: g_malloc
      Src: /src/glib/gio/glocalfileinfo.c:440,1
    - Dst: g_getxattr
      Src: /src/glib/gio/glocalfileinfo.c:442,1
    - Dst: escape_xattr
      Src: /src/glib/gio/glocalfileinfo.c:456,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:459,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 5
    argNames:
    - path
    - info
    - gio_attr
    - xattr
    - follow_symlinks
    argTypes:
    - char*
    - GFileInfo*
    - char*
    - char*
    - gboolean
    constantsTouched: []
    func_position:
      end: 460
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 460
    functionName: get_one_xattr
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - escape_xattr
    - g_free
    - g_malloc
    - g_getxattr
    linkageType: ''
    returnType: void
    signature: "static void get_one_xattr (const char *path,\t GFileInfo *info,\t\
      \ const char *gio_attr,\t const char *xattr,\t gboolean follow_symlinks) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - parent_info
    argTypes:
    - GLocalParentFileInfo*
    constantsTouched: []
    func_position:
      end: 893
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 893
    functionName: _g_local_file_info_free_parent_info
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void _g_local_file_info_free_parent_info (GLocalParentFileInfo *parent_info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/glocalfileinfo.c:1289,1
    - Dst: lookup_gid_name
      Src: /src/glib/gio/glocalfileinfo.c:1290,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalfileinfo.c:1291,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/glocalfileinfo.c:1292,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1283
    functionDepth: 0
    functionLinenumber: 1283
    functionLinenumberEnd: 1294
    functionName: get_groupname_from_gid
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - lookup_gid_name
    - G_UNLOCK
    - g_strdup
    - G_LOCK
    linkageType: ''
    returnType: char*
    signature: 'static char *get_groupname_from_gid (gid_t gid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/glocalfileinfo.c:1643,1
    - Dst: g_hash_table_iter_remove
      Src: /src/glib/gio/glocalfileinfo.c:1650,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/glocalfileinfo.c:1647,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/glocalfileinfo.c:1646,1
    - Dst: g_source_get_time
      Src: /src/glib/gio/glocalfileinfo.c:1644,1
    - Dst: g_hash_table_size
      Src: /src/glib/gio/glocalfileinfo.c:1653,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/glocalfileinfo.c:1655,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/glocalfileinfo.c:1661,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1664
      start: 1635
    functionDepth: 0
    functionLinenumber: 1635
    functionLinenumberEnd: 1664
    functionName: remove_from_hidden_cache
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - g_hash_table_iter_init
    - g_source_get_time
    - G_UNLOCK
    - g_hash_table_iter_remove
    - g_clear_pointer
    - g_hash_table_size
    - G_LOCK
    - g_hash_table_iter_next
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean remove_from_hidden_cache (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_pointer
      Src: /src/glib/gio/glocalfileinfo.c:1705,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:1706,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1707
      start: 1700
    functionDepth: 0
    functionLinenumber: 1700
    functionLinenumberEnd: 1707
    functionName: free_hidden_file_data
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void free_hidden_file_data (gpointer user_data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_uint32
      Src: /src/glib/gio/glocalfileinfo.c:2368,1
    - Dst: S_ISLNK
      Src: /src/glib/gio/glocalfileinfo.c:2382,1
    - Dst: lchmod
      Src: /src/glib/gio/glocalfileinfo.c:2374,1
    - Dst: g_lstat
      Src: /src/glib/gio/glocalfileinfo.c:2381,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/glocalfileinfo.c:2387,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glocalfileinfo.c:2394,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:2396,1
    - Dst: g_chmod
      Src: /src/glib/gio/glocalfileinfo.c:2400,1
    - Dst: g_chmod
      Src: /src/glib/gio/glocalfileinfo.c:2404,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:2412,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfileinfo.c:2410,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/glocalfileinfo.c:2411,1
    - Dst: g_strerror
      Src: /src/glib/gio/glocalfileinfo.c:2413,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 4
    argNames:
    - filename
    - flags
    - value
    - error
    argTypes:
    - char*
    - GFileQueryInfoFlags
    - GFileAttributeValue*
    - GError**
    constantsTouched: []
    func_position:
      end: 2417
      start: 2359
    functionDepth: 0
    functionLinenumber: 2359
    functionLinenumberEnd: 2417
    functionName: set_unix_mode
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_io_error_from_errno
    - g_strerror
    - get_uint32
    - GLIB_PRIVATE_CALL
    - g_set_error_literal
    - g_chmod
    - _
    - lchmod
    - g_lstat
    - S_ISLNK
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean set_unix_mode (char *filename, GFileQueryInfoFlags\
      \ flags,\t const GFileAttributeValue *value,\t GError **error) "
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/glocalfileinfo.c:2754,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:2778,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:2791,1
    - Dst: get_uint64
      Src: /src/glib/gio/glocalfileinfo.c:2666,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/glocalfileinfo.c:2772,1
    - Dst: GetLastError
      Src: /src/glib/gio/glocalfileinfo.c:2771,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/glocalfileinfo.c:2758,1
    - Dst: CreateFileW
      Src: /src/glib/gio/glocalfileinfo.c:2764,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:2759,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/glocalfileinfo.c:2777,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/glocalfileinfo.c:2790,1
    - Dst: _g_win32_unix_time_to_filetime
      Src: /src/glib/gio/glocalfileinfo.c:2698,1
    - Dst: get_uint32
      Src: /src/glib/gio/glocalfileinfo.c:2694,1
    - Dst: lazy_stat
      Src: /src/glib/gio/glocalfileinfo.c:2673,1
    - Dst: get_uint32
      Src: /src/glib/gio/glocalfileinfo.c:2685,1
    - Dst: _g_win32_unix_time_to_filetime
      Src: /src/glib/gio/glocalfileinfo.c:2703,1
    - Dst: get_uint64
      Src: /src/glib/gio/glocalfileinfo.c:2712,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfileinfo.c:2776,1
    - Dst: CloseHandle
      Src: /src/glib/gio/glocalfileinfo.c:2786,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfileinfo.c:2789,1
    - Dst: lazy_stat
      Src: /src/glib/gio/glocalfileinfo.c:2719,1
    - Dst: get_uint32
      Src: /src/glib/gio/glocalfileinfo.c:2731,1
    - Dst: get_uint32
      Src: /src/glib/gio/glocalfileinfo.c:2740,1
    - Dst: _g_win32_unix_time_to_filetime
      Src: /src/glib/gio/glocalfileinfo.c:2744,1
    - Dst: _g_win32_unix_time_to_filetime
      Src: /src/glib/gio/glocalfileinfo.c:2749,1
    - Dst: SetFileTime
      Src: /src/glib/gio/glocalfileinfo.c:2784,1
    - Dst: GetLastError
      Src: /src/glib/gio/glocalfileinfo.c:2785,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 88
    argCount: 8
    argNames:
    - filename
    - mtime_value
    - mtime_usec_value
    - mtime_nsec_value
    - atime_value
    - atime_usec_value
    - atime_nsec_value
    - error
    argTypes:
    - char*
    - GFileAttributeValue*
    - GFileAttributeValue*
    - GFileAttributeValue*
    - GFileAttributeValue*
    - GFileAttributeValue*
    - GFileAttributeValue*
    - GError**
    constantsTouched: []
    func_position:
      end: 2795
      start: 2638
    functionDepth: 0
    functionLinenumber: 2638
    functionLinenumberEnd: 2795
    functionName: set_mtime_atime
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - g_set_error
    - lazy_stat
    - g_io_error_from_errno
    - g_utf8_to_utf16
    - g_prefix_error
    - CreateFileW
    - SetFileTime
    - get_uint32
    - g_clear_pointer
    - GetLastError
    - CloseHandle
    - _
    - get_uint64
    - _g_win32_unix_time_to_filetime
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean set_mtime_atime (const char *filename,\t\t const GFileAttributeValue\
      \ *mtime_value,\t\t const GFileAttributeValue *mtime_usec_value,\t\t const GFileAttributeValue\
      \ *mtime_nsec_value,\t\t const GFileAttributeValue *atime_value,\t\t const GFileAttributeValue\
      \ *atime_usec_value,\t\t const GFileAttributeValue *atime_nsec_value,\t\t GError\
      \ **error) "
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: set_unix_mode
      Src: /src/glib/gio/glocalfileinfo.c:3182,1
    - Dst: set_mtime_atime
      Src: /src/glib/gio/glocalfileinfo.c:3208,1
    - Dst: _g_file_info_get_attribute_value
      Src: /src/glib/gio/glocalfileinfo.c:3137,1
    - Dst: set_unix_uid_gid
      Src: /src/glib/gio/glocalfileinfo.c:3163,1
    - Dst: _g_file_info_get_attribute_value
      Src: /src/glib/gio/glocalfileinfo.c:3159,1
    - Dst: _g_file_info_get_attribute_value
      Src: /src/glib/gio/glocalfileinfo.c:3179,1
    - Dst: _g_file_info_get_attribute_value
      Src: /src/glib/gio/glocalfileinfo.c:3201,1
    - Dst: _g_file_info_get_attribute_value
      Src: /src/glib/gio/glocalfileinfo.c:3239,1
    - Dst: _g_file_info_get_attribute_value
      Src: /src/glib/gio/glocalfileinfo.c:3204,1
    - Dst: _g_file_info_get_attribute_value
      Src: /src/glib/gio/glocalfileinfo.c:3202,1
    - Dst: set_symlink
      Src: /src/glib/gio/glocalfileinfo.c:3140,1
    - Dst: _g_file_info_get_attribute_value
      Src: /src/glib/gio/glocalfileinfo.c:3199,1
    - Dst: G_VFS_GET_CLASS
      Src: /src/glib/gio/glocalfileinfo.c:3256,1
    - Dst: set_selinux_context
      Src: /src/glib/gio/glocalfileinfo.c:3242,1
    - Dst: g_vfs_get_default
      Src: /src/glib/gio/glocalfileinfo.c:3255,1
    - Dst: _g_file_info_get_attribute_value
      Src: /src/glib/gio/glocalfileinfo.c:3158,1
    - Dst: _g_file_info_get_attribute_value
      Src: /src/glib/gio/glocalfileinfo.c:3200,1
    - Dst: _g_file_info_get_attribute_value
      Src: /src/glib/gio/glocalfileinfo.c:3203,1
    - Dst: is_selinux_enabled
      Src: /src/glib/gio/glocalfileinfo.c:3238,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 95
    argCount: 5
    argNames:
    - filename
    - info
    - flags
    - cancellable
    - error
    argTypes:
    - char*
    - GFileInfo*
    - GFileQueryInfoFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 3271
      start: 3109
    functionDepth: 0
    functionLinenumber: 3109
    functionLinenumberEnd: 3271
    functionName: _g_local_file_info_set_attributes
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - set_mtime_atime
    - set_unix_mode
    - g_vfs_get_default
    - G_VFS_GET_CLASS
    - is_selinux_enabled
    - set_selinux_context
    - set_symlink
    - _g_file_info_get_attribute_value
    - set_unix_uid_gid
    linkageType: ''
    returnType: gboolean
    signature: "gboolean _g_local_file_info_set_attributes (char *filename,\t\t\t\t\
      \ GFileInfo *info,\t\t\t\t GFileQueryInfoFlags flags,\t\t\t\t GCancellable *cancellable,\t\
      \t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/glocalfileinfo.c:125,1
    - Dst: _g_stat_mtim_nsec
      Src: /src/glib/gio/glocalfileinfo.c:128,1
    - Dst: _g_stat_has_field
      Src: /src/glib/gio/glocalfileinfo.c:125,1
    - Dst: _g_stat_mtim_nsec
      Src: /src/glib/gio/glocalfileinfo.c:129,1
    - Dst: _g_stat_mtime
      Src: /src/glib/gio/glocalfileinfo.c:127,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/glocalfileinfo.c:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 132
    functionName: _g_local_file_info_create_etag
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - _g_stat_has_field
    - g_return_val_if_fail
    - g_strdup_printf
    - _g_stat_mtim_nsec
    - _g_stat_mtime
    linkageType: ''
    returnType: char*
    signature: 'char *_g_local_file_info_create_etag (GLocalFileStat *statbuf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/gio/glocalfileinfo.c:151,1
    - Dst: _g_stat_dev
      Src: /src/glib/gio/glocalfileinfo.c:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: _g_local_file_info_create_fs_id
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - _g_stat_dev
    - g_strdup_printf
    linkageType: ''
    returnType: char*
    signature: 'static char *_g_local_file_info_create_fs_id (GLocalFileStat *statbuf) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_fgetxattr
      Src: /src/glib/gio/glocalfileinfo.c:592,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:611,1
    - Dst: g_malloc
      Src: /src/glib/gio/glocalfileinfo.c:605,1
    - Dst: g_fgetxattr
      Src: /src/glib/gio/glocalfileinfo.c:607,1
    - Dst: g_fgetxattr
      Src: /src/glib/gio/glocalfileinfo.c:600,1
    - Dst: escape_xattr
      Src: /src/glib/gio/glocalfileinfo.c:621,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:624,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 4
    argNames:
    - fd
    - info
    - gio_attr
    - xattr
    argTypes:
    - int
    - GFileInfo*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 625
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 625
    functionName: get_one_xattr_from_fd
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - escape_xattr
    - g_free
    - g_fgetxattr
    - g_malloc
    linkageType: ''
    returnType: void
    signature: "static void get_one_xattr_from_fd (int fd,\t\t GFileInfo *info,\t\t\
      \ const char *gio_attr,\t\t const char *xattr) "
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:903,1
    - Dst: _g_file_info_set_attribute_boolean_by_id
      Src: /src/glib/gio/glocalfileinfo.c:905,1
    - Dst: _g_file_info_set_attribute_boolean_by_id
      Src: /src/glib/gio/glocalfileinfo.c:910,1
    - Dst: g_access
      Src: /src/glib/gio/glocalfileinfo.c:906,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:908,1
    - Dst: g_access
      Src: /src/glib/gio/glocalfileinfo.c:911,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:913,1
    - Dst: _g_file_info_set_attribute_boolean_by_id
      Src: /src/glib/gio/glocalfileinfo.c:915,1
    - Dst: g_access
      Src: /src/glib/gio/glocalfileinfo.c:916,1
    - Dst: geteuid
      Src: /src/glib/gio/glocalfileinfo.c:931,1
    - Dst: _g_stat_uid
      Src: /src/glib/gio/glocalfileinfo.c:933,1
    - Dst: _g_file_info_set_attribute_boolean_by_id
      Src: /src/glib/gio/glocalfileinfo.c:948,1
    - Dst: _g_file_info_set_attribute_boolean_by_id
      Src: /src/glib/gio/glocalfileinfo.c:944,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:951,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:947,1
    - Dst: _g_file_info_set_attribute_boolean_by_id
      Src: /src/glib/gio/glocalfileinfo.c:952,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:943,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 34
    argCount: 5
    argNames:
    - attribute_matcher
    - info
    - path
    - statbuf
    - parent_info
    argTypes:
    - GFileAttributeMatcher*
    - GFileInfo*
    - gchar*
    - GLocalFileStat*
    - GLocalParentFileInfo*
    constantsTouched: []
    func_position:
      end: 955
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 955
    functionName: get_access_rights
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - _g_file_attribute_matcher_matches_id
    - g_access
    - _g_stat_uid
    - _g_file_info_set_attribute_boolean_by_id
    - geteuid
    linkageType: ''
    returnType: void
    signature: "static void get_access_rights (GFileAttributeMatcher *attribute_matcher,\t\
      \t GFileInfo *info,\t\t const gchar *path,\t\t GLocalFileStat *statbuf,\t\t\
      \ GLocalParentFileInfo *parent_info) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_icon_name
      Src: /src/glib/gio/glocalfileinfo.c:1874,1
    - Dst: g_themed_icon_new
      Src: /src/glib/gio/glocalfileinfo.c:1880,1
    - Dst: g_content_type_get_symbolic_icon
      Src: /src/glib/gio/glocalfileinfo.c:1885,1
    - Dst: g_content_type_get_icon
      Src: /src/glib/gio/glocalfileinfo.c:1887,1
    - Dst: g_themed_icon_new_with_default_fallbacks
      Src: /src/glib/gio/glocalfileinfo.c:1878,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1891
      start: 1865
    functionDepth: 0
    functionLinenumber: 1865
    functionLinenumberEnd: 1891
    functionName: get_icon
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - get_icon_name
    - g_themed_icon_new_with_default_fallbacks
    - g_content_type_get_symbolic_icon
    - g_content_type_get_icon
    - g_themed_icon_new
    linkageType: ''
    returnType: GIcon*
    signature: 'static GIcon *get_icon (const char *path, const char *content_type,
      gboolean use_symbolic) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_local_file_fstat
      Src: /src/glib/gio/glocalfileinfo.c:2239,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfileinfo.c:2246,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/glocalfileinfo.c:2247,1
    - Dst: g_strerror
      Src: /src/glib/gio/glocalfileinfo.c:2249,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:2248,1
    - Dst: g_file_info_new
      Src: /src/glib/gio/glocalfileinfo.c:2253,1
    - Dst: g_file_attribute_matcher_new
      Src: /src/glib/gio/glocalfileinfo.c:2255,1
    - Dst: g_file_info_set_attribute_mask
      Src: /src/glib/gio/glocalfileinfo.c:2258,1
    - Dst: set_info_from_stat
      Src: /src/glib/gio/glocalfileinfo.c:2260,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:2263,1
    - Dst: fgetfilecon_raw
      Src: /src/glib/gio/glocalfileinfo.c:2267,1
    - Dst: _g_file_info_set_attribute_string_by_id
      Src: /src/glib/gio/glocalfileinfo.c:2269,1
    - Dst: get_xattrs_from_fd
      Src: /src/glib/gio/glocalfileinfo.c:2276,1
    - Dst: g_file_attribute_matcher_unref
      Src: /src/glib/gio/glocalfileinfo.c:2278,1
    - Dst: freecon
      Src: /src/glib/gio/glocalfileinfo.c:2270,1
    - Dst: g_file_info_unset_attribute_mask
      Src: /src/glib/gio/glocalfileinfo.c:2280,1
    - Dst: is_selinux_enabled
      Src: /src/glib/gio/glocalfileinfo.c:2264,1
    - Dst: get_xattrs_from_fd
      Src: /src/glib/gio/glocalfileinfo.c:2275,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2283
      start: 2230
    functionDepth: 0
    functionLinenumber: 2230
    functionLinenumberEnd: 2283
    functionName: _g_local_file_info_get_from_fd
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _g_file_attribute_matcher_matches_id
    - fgetfilecon_raw
    - g_io_error_from_errno
    - g_file_info_set_attribute_mask
    - g_strerror
    - is_selinux_enabled
    - g_file_info_new
    - g_local_file_fstat
    - g_file_attribute_matcher_unref
    - freecon
    - _g_file_info_set_attribute_string_by_id
    - g_file_attribute_matcher_new
    - _
    - get_xattrs_from_fd
    - g_file_info_unset_attribute_mask
    - set_info_from_stat
    linkageType: ''
    returnType: GFileInfo*
    signature: "GFileInfo *_g_local_file_info_get_from_fd (int fd,\t\t\t\tconst char\
      \ *attributes,\t\t\t\tGError **error) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_uint32
      Src: /src/glib/gio/glocalfileinfo.c:2434,1
    - Dst: chown
      Src: /src/glib/gio/glocalfileinfo.c:2455,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfileinfo.c:2461,1
    - Dst: lchown
      Src: /src/glib/gio/glocalfileinfo.c:2452,1
    - Dst: get_uint32
      Src: /src/glib/gio/glocalfileinfo.c:2443,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/glocalfileinfo.c:2462,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:2463,1
    - Dst: g_strerror
      Src: /src/glib/gio/glocalfileinfo.c:2464,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 5
    argNames:
    - filename
    - uid_value
    - gid_value
    - flags
    - error
    argTypes:
    - char*
    - GFileAttributeValue*
    - GFileAttributeValue*
    - GFileQueryInfoFlags
    - GError**
    constantsTouched: []
    func_position:
      end: 2468
      start: 2420
    functionDepth: 0
    functionLinenumber: 2420
    functionLinenumberEnd: 2468
    functionName: set_unix_uid_gid
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_io_error_from_errno
    - lchown
    - g_strerror
    - get_uint32
    - _
    - chown
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean set_unix_uid_gid (char *filename,\t\t const GFileAttributeValue\
      \ *uid_value,\t\t const GFileAttributeValue *gid_value,\t\t GFileQueryInfoFlags\
      \ flags,\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_stat_ino
      Src: /src/glib/gio/glocalfileinfo.c:141,1
    - Dst: _g_stat_dev
      Src: /src/glib/gio/glocalfileinfo.c:144,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/glocalfileinfo.c:143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 146
    functionName: _g_local_file_info_create_file_id
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - _g_stat_dev
    - _g_stat_ino
    - g_strdup_printf
    linkageType: ''
    returnType: char*
    signature: 'static char *_g_local_file_info_create_file_id (GLocalFileStat *statbuf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getxattr
      Src: /src/glib/gio/glocalfileinfo.c:260,1
    - Dst: getxattr
      Src: /src/glib/gio/glocalfileinfo.c:263,1
    - Dst: lgetxattr
      Src: /src/glib/gio/glocalfileinfo.c:265,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 5
    argNames:
    - path
    - name
    - value
    - size
    - follow_symlinks
    argTypes:
    - char*
    - char*
    - void*
    - size_t
    - gboolean
    constantsTouched: []
    func_position:
      end: 267
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 267
    functionName: g_getxattr
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - getxattr
    - lgetxattr
    linkageType: ''
    returnType: gssize
    signature: 'static gssize g_getxattr (const char *path, const char *name, void
      *value, size_t size, gboolean follow_symlinks) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _g_stat_mode
      Src: /src/glib/gio/glocalfileinfo.c:966,1
    - Dst: _g_stat_ctime
      Src: /src/glib/gio/glocalfileinfo.c:1035,1
    - Dst: _g_file_info_set_attribute_uint32_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1054,1
    - Dst: _g_stat_mode
      Src: /src/glib/gio/glocalfileinfo.c:975,1
    - Dst: _g_stat_blocks
      Src: /src/glib/gio/glocalfileinfo.c:1009,1
    - Dst: _g_file_info_set_attribute_uint32_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1050,1
    - Dst: _g_file_info_set_attribute_uint32_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1045,1
    - Dst: _g_file_info_set_attribute_uint32_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1061,1
    - Dst: _g_file_info_set_attribute_string_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1077,1
    - Dst: _g_file_info_set_attribute_uint64_by_id
      Src: /src/glib/gio/glocalfileinfo.c:996,1
    - Dst: _g_file_info_set_attribute_uint32_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1006,1
    - Dst: _g_stat_ctim_nsec
      Src: /src/glib/gio/glocalfileinfo.c:1037,1
    - Dst: _g_file_info_set_attribute_string_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1069,1
    - Dst: g_file_info_set_file_type
      Src: /src/glib/gio/glocalfileinfo.c:989,1
    - Dst: _g_stat_atime
      Src: /src/glib/gio/glocalfileinfo.c:1024,1
    - Dst: _g_file_info_set_attribute_string_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1085,1
    - Dst: _g_stat_uid
      Src: /src/glib/gio/glocalfileinfo.c:997,1
    - Dst: _g_file_info_set_attribute_uint32_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1036,1
    - Dst: _g_stat_mtim_nsec
      Src: /src/glib/gio/glocalfileinfo.c:1020,1
    - Dst: _g_file_info_set_attribute_uint64_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1048,1
    - Dst: _g_stat_mtime
      Src: /src/glib/gio/glocalfileinfo.c:1018,1
    - Dst: _g_file_info_set_attribute_uint64_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1035,1
    - Dst: _g_stat_gid
      Src: /src/glib/gio/glocalfileinfo.c:998,1
    - Dst: _g_file_info_set_attribute_uint64_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1009,1
    - Dst: _g_file_info_set_attribute_uint64_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1013,1
    - Dst: _g_file_info_set_attribute_uint32_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1019,1
    - Dst: _g_file_info_set_attribute_uint64_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1058,1
    - Dst: _g_stat_mode
      Src: /src/glib/gio/glocalfileinfo.c:973,1
    - Dst: _g_file_info_set_attribute_uint32_by_id
      Src: /src/glib/gio/glocalfileinfo.c:997,1
    - Dst: _g_stat_atim_nsec
      Src: /src/glib/gio/glocalfileinfo.c:1026,1
    - Dst: _g_stat_ctim_nsec
      Src: /src/glib/gio/glocalfileinfo.c:1036,1
    - Dst: _g_file_info_set_attribute_uint32_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1062,1
    - Dst: _g_file_info_set_attribute_uint32_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1037,1
    - Dst: S_ISDIR
      Src: /src/glib/gio/glocalfileinfo.c:968,1
    - Dst: _g_stat_blocks
      Src: /src/glib/gio/glocalfileinfo.c:1011,1
    - Dst: _g_stat_mtim_nsec
      Src: /src/glib/gio/glocalfileinfo.c:1019,1
    - Dst: _g_file_info_set_attribute_uint64_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1024,1
    - Dst: _g_file_info_set_attribute_uint32_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1025,1
    - Dst: _g_file_info_set_attribute_uint64_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1052,1
    - Dst: _g_stat_size
      Src: /src/glib/gio/glocalfileinfo.c:990,1
    - Dst: _g_stat_dev
      Src: /src/glib/gio/glocalfileinfo.c:992,1
    - Dst: _g_stat_rdev
      Src: /src/glib/gio/glocalfileinfo.c:999,1
    - Dst: _g_file_info_set_attribute_uint32_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1020,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:1078,1
    - Dst: _g_stat_mode
      Src: /src/glib/gio/glocalfileinfo.c:1004,1
    - Dst: _g_file_info_set_attribute_uint64_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1018,1
    - Dst: _g_file_info_set_attribute_uint64_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1043,1
    - Dst: _g_file_info_set_attribute_uint64_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1056,1
    - Dst: _g_stat_atim_nsec
      Src: /src/glib/gio/glocalfileinfo.c:1025,1
    - Dst: g_file_info_set_size
      Src: /src/glib/gio/glocalfileinfo.c:990,1
    - Dst: _g_file_info_set_attribute_uint32_by_id
      Src: /src/glib/gio/glocalfileinfo.c:998,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:1070,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:1065,1
    - Dst: _g_stat_has_field
      Src: /src/glib/gio/glocalfileinfo.c:1041,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:1086,1
    - Dst: S_ISREG
      Src: /src/glib/gio/glocalfileinfo.c:966,1
    - Dst: _g_file_info_set_attribute_uint32_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1026,1
    - Dst: _g_file_info_set_attribute_uint32_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1053,1
    - Dst: _g_file_info_set_attribute_uint32_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1049,1
    - Dst: _g_file_info_set_attribute_uint32_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1044,1
    - Dst: _g_stat_nlink
      Src: /src/glib/gio/glocalfileinfo.c:993,1
    - Dst: G_GUINT64_CONSTANT
      Src: /src/glib/gio/glocalfileinfo.c:1011,1
    - Dst: S_ISFIFO
      Src: /src/glib/gio/glocalfileinfo.c:973,1
    - Dst: S_ISSOCK
      Src: /src/glib/gio/glocalfileinfo.c:975,1
    - Dst: _g_file_info_set_attribute_uint32_by_id
      Src: /src/glib/gio/glocalfileinfo.c:992,1
    - Dst: _g_file_info_set_attribute_uint32_by_id
      Src: /src/glib/gio/glocalfileinfo.c:999,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:1081,1
    - Dst: _g_file_info_set_attribute_uint64_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1010,1
    - Dst: _g_file_info_set_attribute_uint32_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1004,1
    - Dst: _g_stat_mode
      Src: /src/glib/gio/glocalfileinfo.c:968,1
    - Dst: _g_stat_has_field
      Src: /src/glib/gio/glocalfileinfo.c:1022,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:1073,1
    - Dst: _g_local_file_info_create_file_id
      Src: /src/glib/gio/glocalfileinfo.c:1076,1
    - Dst: _g_local_file_info_create_etag
      Src: /src/glib/gio/glocalfileinfo.c:1068,1
    - Dst: _g_file_info_set_attribute_uint64_by_id
      Src: /src/glib/gio/glocalfileinfo.c:1060,1
    - Dst: _g_stat_ino
      Src: /src/glib/gio/glocalfileinfo.c:996,1
    - Dst: _g_stat_blksize
      Src: /src/glib/gio/glocalfileinfo.c:1006,1
    - Dst: _g_local_file_info_create_fs_id
      Src: /src/glib/gio/glocalfileinfo.c:1084,1
    - Dst: _g_file_info_set_attribute_uint32_by_id
      Src: /src/glib/gio/glocalfileinfo.c:993,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 98
    argCount: 3
    argNames:
    - info
    - statbuf
    - attribute_matcher
    argTypes:
    - GFileInfo*
    - GLocalFileStat*
    - GFileAttributeMatcher*
    constantsTouched: []
    func_position:
      end: 1088
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 1088
    functionName: set_info_from_stat
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - _g_file_info_set_attribute_uint64_by_id
    - _g_stat_atim_nsec
    - _g_file_attribute_matcher_matches_id
    - _g_stat_rdev
    - G_GUINT64_CONSTANT
    - _g_stat_blocks
    - _g_stat_nlink
    - _g_stat_mtim_nsec
    - _g_stat_ctime
    - S_ISFIFO
    - _g_stat_mode
    - _g_local_file_info_create_file_id
    - _g_local_file_info_create_fs_id
    - _g_stat_uid
    - _g_stat_mtime
    - S_ISDIR
    - _g_stat_dev
    - _g_stat_has_field
    - _g_stat_ctim_nsec
    - _g_stat_blksize
    - _g_stat_size
    - S_ISSOCK
    - _g_file_info_set_attribute_string_by_id
    - _g_stat_ino
    - g_file_info_set_size
    - S_ISREG
    - _g_local_file_info_create_etag
    - g_file_info_set_file_type
    - _g_stat_atime
    - _g_stat_gid
    - _g_file_info_set_attribute_uint32_by_id
    - g_free
    linkageType: ''
    returnType: void
    signature: "static void set_info_from_stat (GFileInfo *info, GLocalFileStat *statbuf,\t\
      \t GFileAttributeMatcher *attribute_matcher) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:1150,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:1152,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:1151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - UidData*
    constantsTouched: []
    func_position:
      end: 1153
      start: 1147
    functionDepth: 0
    functionLinenumber: 1147
    functionLinenumberEnd: 1153
    functionName: uid_data_free
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void uid_data_free (UidData *data) '
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_new
      Src: /src/glib/gio/glocalfileinfo.c:1912,1
    - Dst: set_info_from_stat
      Src: /src/glib/gio/glocalfileinfo.c:1994,1
    - Dst: g_local_file_stat
      Src: /src/glib/gio/glocalfileinfo.c:1975,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:1997,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:2045,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:2112,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:2095,1
    - Dst: get_xattrs
      Src: /src/glib/gio/glocalfileinfo.c:2156,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:2159,1
    - Dst: get_thumbnail_attributes
      Src: /src/glib/gio/glocalfileinfo.c:2166,1
    - Dst: _g_stat_ino
      Src: /src/glib/gio/glocalfileinfo.c:2148,1
    - Dst: g_local_file_lstat
      Src: /src/glib/gio/glocalfileinfo.c:1925,1
    - Dst: _g_stat_dev
      Src: /src/glib/gio/glocalfileinfo.c:1952,1
    - Dst: g_file_info_set_symbolic_icon
      Src: /src/glib/gio/glocalfileinfo.c:2077,1
    - Dst: g_file_info_unset_attribute_mask
      Src: /src/glib/gio/glocalfileinfo.c:1921,1
    - Dst: win32_get_file_user_info
      Src: /src/glib/gio/glocalfileinfo.c:2105,1
    - Dst: _g_file_info_set_attribute_string_by_id
      Src: /src/glib/gio/glocalfileinfo.c:2141,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfileinfo.c:1939,1
    - Dst: g_file_info_set_is_symlink
      Src: /src/glib/gio/glocalfileinfo.c:1991,1
    - Dst: _g_file_info_set_attribute_boolean_by_id
      Src: /src/glib/gio/glocalfileinfo.c:2008,1
    - Dst: get_groupname_from_gid
      Src: /src/glib/gio/glocalfileinfo.c:2138,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:2203,1
    - Dst: g_file_info_unset_attribute_mask
      Src: /src/glib/gio/glocalfileinfo.c:2223,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/glocalfileinfo.c:1940,1
    - Dst: g_object_unref
      Src: /src/glib/gio/glocalfileinfo.c:2078,1
    - Dst: get_icon
      Src: /src/glib/gio/glocalfileinfo.c:2074,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:2115,1
    - Dst: get_access_rights
      Src: /src/glib/gio/glocalfileinfo.c:2151,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:2193,1
    - Dst: _g_stat_uid
      Src: /src/glib/gio/glocalfileinfo.c:2108,1
    - Dst: S_ISLNK
      Src: /src/glib/gio/glocalfileinfo.c:1957,1
    - Dst: get_content_type
      Src: /src/glib/gio/glocalfileinfo.c:2090,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:2087,1
    - Dst: get_selinux_context
      Src: /src/glib/gio/glocalfileinfo.c:2154,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:2183,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:2142,1
    - Dst: _g_file_info_set_attribute_boolean_by_id
      Src: /src/glib/gio/glocalfileinfo.c:2147,1
    - Dst: _g_local_file_is_lost_found_dir
      Src: /src/glib/gio/glocalfileinfo.c:2005,1
    - Dst: _g_file_info_set_attribute_uint32_by_id
      Src: /src/glib/gio/glocalfileinfo.c:2029,1
    - Dst: get_content_type
      Src: /src/glib/gio/glocalfileinfo.c:2052,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:2173,1
    - Dst: get_thumbnail_attributes
      Src: /src/glib/gio/glocalfileinfo.c:2196,1
    - Dst: g_file_info_set_symlink_target
      Src: /src/glib/gio/glocalfileinfo.c:2042,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:2060,1
    - Dst: _g_file_info_set_attribute_string_by_id
      Src: /src/glib/gio/glocalfileinfo.c:2094,1
    - Dst: g_file_info_set_content_type
      Src: /src/glib/gio/glocalfileinfo.c:2056,1
    - Dst: win32_get_file_user_info
      Src: /src/glib/gio/glocalfileinfo.c:2135,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:1943,1
    - Dst: G_VFS_GET_CLASS
      Src: /src/glib/gio/glocalfileinfo.c:2210,1
    - Dst: g_file_info_set_attribute_mask
      Src: /src/glib/gio/glocalfileinfo.c:1915,1
    - Dst: _g_local_file_info_get_nostat
      Src: /src/glib/gio/glocalfileinfo.c:1917,1
    - Dst: strlen
      Src: /src/glib/gio/glocalfileinfo.c:2010,1
    - Dst: S_ISREG
      Src: /src/glib/gio/glocalfileinfo.c:2011,1
    - Dst: _g_file_info_set_attribute_boolean_by_id
      Src: /src/glib/gio/glocalfileinfo.c:2025,1
    - Dst: get_realname_from_uid
      Src: /src/glib/gio/glocalfileinfo.c:2123,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:2099,1
    - Dst: _g_file_info_set_attribute_string_by_id
      Src: /src/glib/gio/glocalfileinfo.c:2126,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:2201,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:2049,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:2058,1
    - Dst: g_file_info_set_icon
      Src: /src/glib/gio/glocalfileinfo.c:2069,1
    - Dst: _g_stat_gid
      Src: /src/glib/gio/glocalfileinfo.c:2138,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:2163,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:2191,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:1941,1
    - Dst: read_link
      Src: /src/glib/gio/glocalfileinfo.c:2037,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:2181,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:2199,1
    - Dst: get_thumbnail_attributes
      Src: /src/glib/gio/glocalfileinfo.c:2206,1
    - Dst: _g_file_info_set_attribute_boolean_by_id
      Src: /src/glib/gio/glocalfileinfo.c:2017,1
    - Dst: _g_file_info_set_attribute_boolean_by_id
      Src: /src/glib/gio/glocalfileinfo.c:2020,1
    - Dst: get_icon
      Src: /src/glib/gio/glocalfileinfo.c:2066,1
    - Dst: g_file_info_set_is_hidden
      Src: /src/glib/gio/glocalfileinfo.c:2015,1
    - Dst: g_object_unref
      Src: /src/glib/gio/glocalfileinfo.c:1938,1
    - Dst: _g_stat_mode
      Src: /src/glib/gio/glocalfileinfo.c:1957,1
    - Dst: g_file_info_set_is_hidden
      Src: /src/glib/gio/glocalfileinfo.c:2000,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:2127,1
    - Dst: get_xattrs
      Src: /src/glib/gio/glocalfileinfo.c:2157,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:2189,1
    - Dst: g_filename_display_name
      Src: /src/glib/gio/glocalfileinfo.c:1937,1
    - Dst: g_file_info_set_is_symlink
      Src: /src/glib/gio/glocalfileinfo.c:1970,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:2040,1
    - Dst: g_object_unref
      Src: /src/glib/gio/glocalfileinfo.c:2070,1
    - Dst: win32_get_file_user_info
      Src: /src/glib/gio/glocalfileinfo.c:2120,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:2179,1
    - Dst: get_thumbnail_attributes
      Src: /src/glib/gio/glocalfileinfo.c:2186,1
    - Dst: file_is_hidden
      Src: /src/glib/gio/glocalfileinfo.c:2003,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:2083,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:2171,1
    - Dst: get_thumbnail_attributes
      Src: /src/glib/gio/glocalfileinfo.c:2176,1
    - Dst: _g_stat_mode
      Src: /src/glib/gio/glocalfileinfo.c:2011,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:2047,1
    - Dst: _g_stat_uid
      Src: /src/glib/gio/glocalfileinfo.c:2123,1
    - Dst: _g_stat_dev
      Src: /src/glib/gio/glocalfileinfo.c:2148,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:2161,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileinfo.c:2225,1
    - Dst: get_username_from_uid
      Src: /src/glib/gio/glocalfileinfo.c:2108,1
    - Dst: g_strerror
      Src: /src/glib/gio/glocalfileinfo.c:1942,1
    - Dst: _g_stat_dev
      Src: /src/glib/gio/glocalfileinfo.c:2005,1
    - Dst: _g_file_info_set_attribute_boolean_by_id
      Src: /src/glib/gio/glocalfileinfo.c:2013,1
    - Dst: _g_file_info_set_attribute_string_by_id
      Src: /src/glib/gio/glocalfileinfo.c:2111,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:2130,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:2146,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/glocalfileinfo.c:2169,1
    - Dst: g_vfs_get_default
      Src: /src/glib/gio/glocalfileinfo.c:2209,1
    CyclomaticComplexity: 86
    EdgeCount: 86
    ICount: 223
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2228
      start: 1893
    functionDepth: 0
    functionLinenumber: 1893
    functionLinenumberEnd: 2228
    functionName: _g_local_file_info_get
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - _g_file_attribute_matcher_matches_id
    - g_file_info_set_symbolic_icon
    - get_icon
    - g_vfs_get_default
    - G_VFS_GET_CLASS
    - get_thumbnail_attributes
    - g_strerror
    - g_file_info_new
    - g_filename_display_name
    - get_username_from_uid
    - _g_local_file_info_get_nostat
    - g_file_info_unset_attribute_mask
    - g_file_info_set_symlink_target
    - get_realname_from_uid
    - get_groupname_from_gid
    - _g_stat_gid
    - get_access_rights
    - g_object_unref
    - get_xattrs
    - g_file_info_set_attribute_mask
    - _g_stat_mode
    - _g_stat_uid
    - _g_file_info_set_attribute_boolean_by_id
    - g_file_info_set_icon
    - _g_stat_dev
    - set_info_from_stat
    - _g_local_file_is_lost_found_dir
    - g_set_error
    - strlen
    - read_link
    - g_local_file_stat
    - get_content_type
    - _g_file_info_set_attribute_string_by_id
    - _
    - win32_get_file_user_info
    - _g_stat_ino
    - get_selinux_context
    - S_ISLNK
    - S_ISREG
    - g_io_error_from_errno
    - g_local_file_lstat
    - g_file_info_set_is_hidden
    - g_file_info_set_content_type
    - g_file_info_set_is_symlink
    - file_is_hidden
    - _g_file_info_set_attribute_uint32_by_id
    - g_free
    linkageType: ''
    returnType: GFileInfo*
    signature: "GFileInfo *_g_local_file_info_get (const char *basename,\t\t\tconst\
      \ char *path,\t\t\tGFileAttributeMatcher *attribute_matcher,\t\t\tGFileQueryInfoFlags\
      \ flags,\t\t\tGLocalParentFileInfo *parent_info,\t\t\tGError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glocalfileinfo.c:2292,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinfo.c:2293,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - value
    - val_out
    - error
    argTypes:
    - GFileAttributeValue*
    - guint32*
    - GError**
    constantsTouched: []
    func_position:
      end: 2300
      start: 2285
    functionDepth: 0
    functionLinenumber: 2285
    functionLinenumberEnd: 2300
    functionName: get_uint32
    functionSourceFile: /src/glib/gio/glocalfileinfo.c
    functionUses: []
    functionsReached:
    - _
    - g_set_error_literal
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean get_uint32 (const GFileAttributeValue *value,\t guint32\
      \ *val_out,\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gnetworkservice.c:702,1
    - Dst: G_TASK
      Src: /src/glib/gio/gnetworkservice.c:702,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 703
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 703
    functionName: g_network_service_address_enumerator_next_finish
    functionSourceFile: /src/glib/gio/gnetworkservice.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_task_propagate_pointer
    linkageType: ''
    returnType: GSocketAddress*
    signature: 'static GSocketAddress *g_network_service_address_enumerator_next_finish
      (GSocketAddressEnumerator *enumerator, GAsyncResult *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - enumerator
    argTypes:
    - GNetworkServiceAddressEnumerator*
    constantsTouched: []
    func_position:
      end: 708
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 708
    functionName: _g_network_service_address_enumerator_init
    functionSourceFile: /src/glib/gio/gnetworkservice.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _g_network_service_address_enumerator_init (GNetworkServiceAddressEnumerator
      *enumerator) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gnetworkservice.c:270,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 275
    functionName: g_network_service_new
    functionSourceFile: /src/glib/gio/gnetworkservice.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: GSocketConnectable*
    signature: 'GSocketConnectable *g_network_service_new (const gchar *service, const
      gchar *protocol, const gchar *domain) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: G_NETWORK_SERVICE_ADDRESS_ENUMERATOR
      Src: /src/glib/gio/gnetworkservice.c:426,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gnetworkservice.c:445,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gnetworkservice.c:450,1
    - Dst: g_network_address_parse_uri
      Src: /src/glib/gio/gnetworkservice.c:493,1
    - Dst: g_network_service_get_scheme
      Src: /src/glib/gio/gnetworkservice.c:484,1
    - Dst: g_srv_target_get_hostname
      Src: /src/glib/gio/gnetworkservice.c:471,1
    - Dst: g_error_new
      Src: /src/glib/gio/gnetworkservice.c:477,1
    - Dst: g_srv_target_get_port
      Src: /src/glib/gio/gnetworkservice.c:494,1
    - Dst: g_free
      Src: /src/glib/gio/gnetworkservice.c:496,1
    - Dst: g_uri_join
      Src: /src/glib/gio/gnetworkservice.c:483,1
    - Dst: g_srv_target_get_hostname
      Src: /src/glib/gio/gnetworkservice.c:479,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkservice.c:511,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gnetworkservice.c:541,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gnetworkservice.c:440,1
    - Dst: g_resolver_lookup_service
      Src: /src/glib/gio/gnetworkservice.c:435,1
    - Dst: g_network_service_fallback_targets
      Src: /src/glib/gio/gnetworkservice.c:443,1
    - Dst: g_srv_target_get_port
      Src: /src/glib/gio/gnetworkservice.c:487,1
    - Dst: g_free
      Src: /src/glib/gio/gnetworkservice.c:491,1
    - Dst: g_socket_connectable_proxy_enumerate
      Src: /src/glib/gio/gnetworkservice.c:508,1
    - Dst: g_socket_connectable_enumerate
      Src: /src/glib/gio/gnetworkservice.c:510,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkservice.c:532,1
    - Dst: g_list_next
      Src: /src/glib/gio/gnetworkservice.c:469,1
    - Dst: g_hostname_to_ascii
      Src: /src/glib/gio/gnetworkservice.c:471,1
    - Dst: g_error_free
      Src: /src/glib/gio/gnetworkservice.c:503,1
    - Dst: g_socket_address_enumerator_next
      Src: /src/glib/gio/gnetworkservice.c:518,1
    - Dst: g_error_free
      Src: /src/glib/gio/gnetworkservice.c:527,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 69
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 546
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 546
    functionName: g_network_service_address_enumerator_next
    functionSourceFile: /src/glib/gio/gnetworkservice.c
    functionUses: []
    functionsReached:
    - G_NETWORK_SERVICE_ADDRESS_ENUMERATOR
    - g_uri_join
    - g_socket_address_enumerator_next
    - g_network_service_get_scheme
    - g_object_unref
    - g_resolver_lookup_service
    - g_socket_connectable_proxy_enumerate
    - g_hostname_to_ascii
    - g_srv_target_get_port
    - g_list_next
    - g_error_free
    - g_srv_target_get_hostname
    - g_network_address_parse_uri
    - g_clear_error
    - g_propagate_error
    - g_socket_connectable_enumerate
    - g_error_matches
    - g_network_service_fallback_targets
    - g_error_new
    - g_free
    linkageType: ''
    returnType: GSocketAddress*
    signature: 'static GSocketAddress *g_network_service_address_enumerator_next (GSocketAddressEnumerator
      *enumerator, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_NETWORK_SERVICE_ADDRESS_ENUMERATOR
      Src: /src/glib/gio/gnetworkservice.c:563,1
    - Dst: next_async_have_targets
      Src: /src/glib/gio/gnetworkservice.c:581,1
    - Dst: g_task_new
      Src: /src/glib/gio/gnetworkservice.c:566,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gnetworkservice.c:567,1
    - Dst: g_resolver_lookup_service_async
      Src: /src/glib/gio/gnetworkservice.c:572,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - enumerator
    - cancellable
    - callback
    - user_data
    argTypes:
    - GSocketAddressEnumerator*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 582
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 582
    functionName: g_network_service_address_enumerator_next_async
    functionSourceFile: /src/glib/gio/gnetworkservice.c
    functionUses: []
    functionsReached:
    - next_async_have_targets
    - g_resolver_lookup_service_async
    - g_task_new
    - g_task_set_source_tag
    - G_NETWORK_SERVICE_ADDRESS_ENUMERATOR
    linkageType: ''
    returnType: void
    signature: 'static void g_network_service_address_enumerator_next_async (GSocketAddressEnumerator
      *enumerator, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer
      user_data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_NETWORK_SERVICE_ADDRESS_ENUMERATOR
      Src: /src/glib/gio/gnetworkservice.c:714,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkservice.c:723,1
    - Dst: g_error_free
      Src: /src/glib/gio/gnetworkservice.c:726,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkservice.c:717,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkservice.c:720,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gnetworkservice.c:728,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 729
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 729
    functionName: g_network_service_address_enumerator_finalize
    functionSourceFile: /src/glib/gio/gnetworkservice.c
    functionUses: []
    functionsReached:
    - G_NETWORK_SERVICE_ADDRESS_ENUMERATOR
    - g_error_free
    - g_object_unref
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_network_service_address_enumerator_finalize (GObject
      *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_NETWORK_SERVICE
      Src: /src/glib/gio/gnetworkservice.c:94,1
    - Dst: g_free
      Src: /src/glib/gio/gnetworkservice.c:97,1
    - Dst: g_free
      Src: /src/glib/gio/gnetworkservice.c:99,1
    - Dst: g_free
      Src: /src/glib/gio/gnetworkservice.c:96,1
    - Dst: g_free
      Src: /src/glib/gio/gnetworkservice.c:98,1
    - Dst: g_resolver_free_targets
      Src: /src/glib/gio/gnetworkservice.c:102,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gnetworkservice.c:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 105
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 105
    functionName: g_network_service_finalize
    functionSourceFile: /src/glib/gio/gnetworkservice.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    - G_NETWORK_SERVICE
    - g_free
    - g_resolver_free_targets
    linkageType: ''
    returnType: void
    signature: 'static void g_network_service_finalize (GObject *object) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/gnetworkservice.c:590,1
    - Dst: g_resolver_lookup_service_finish
      Src: /src/glib/gio/gnetworkservice.c:594,1
    - Dst: g_network_service_fallback_targets
      Src: /src/glib/gio/gnetworkservice.c:600,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gnetworkservice.c:602,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gnetworkservice.c:597,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gnetworkservice.c:607,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkservice.c:608,1
    - Dst: next_async_have_targets
      Src: /src/glib/gio/gnetworkservice.c:613,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 3
    argNames:
    - source_object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 615
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 615
    functionName: next_async_resolved_targets
    functionSourceFile: /src/glib/gio/gnetworkservice.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - next_async_have_targets
    - g_object_unref
    - g_resolver_lookup_service_finish
    - g_error_matches
    - g_network_service_fallback_targets
    - g_task_get_source_object
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void next_async_resolved_targets (GObject *source_object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gnetworkservice.c:734,1
    - Dst: G_SOCKET_ADDRESS_ENUMERATOR_CLASS
      Src: /src/glib/gio/gnetworkservice.c:736,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - srvenum_class
    argTypes:
    - GNetworkServiceAddressEnumeratorClass*
    constantsTouched: []
    func_position:
      end: 743
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 743
    functionName: _g_network_service_address_enumerator_class_init
    functionSourceFile: /src/glib/gio/gnetworkservice.c
    functionUses: []
    functionsReached:
    - G_SOCKET_ADDRESS_ENUMERATOR_CLASS
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void _g_network_service_address_enumerator_class_init (GNetworkServiceAddressEnumeratorClass
      *srvenum_class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_network_service_get_instance_private
      Src: /src/glib/gio/gnetworkservice.c:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - srv
    argTypes:
    - GNetworkService*
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: g_network_service_init
    functionSourceFile: /src/glib/gio/gnetworkservice.c
    functionUses: []
    functionsReached:
    - g_network_service_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_network_service_init (GNetworkService *srv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gnetworkservice.c:290,1
    - Dst: G_IS_NETWORK_SERVICE
      Src: /src/glib/gio/gnetworkservice.c:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 293
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 293
    functionName: g_network_service_get_service
    functionSourceFile: /src/glib/gio/gnetworkservice.c
    functionUses: []
    functionsReached:
    - G_IS_NETWORK_SERVICE
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_network_service_get_service (GNetworkService *srv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gnetworkservice.c:346,1
    - Dst: G_IS_NETWORK_SERVICE
      Src: /src/glib/gio/gnetworkservice.c:346,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 352
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 352
    functionName: g_network_service_get_scheme
    functionSourceFile: /src/glib/gio/gnetworkservice.c
    functionUses: []
    functionsReached:
    - G_IS_NETWORK_SERVICE
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_network_service_get_scheme (GNetworkService *srv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gnetworkservice.c:750,1
    - Dst: G_SOCKET_ADDRESS_ENUMERATOR
      Src: /src/glib/gio/gnetworkservice.c:755,1
    - Dst: g_resolver_get_default
      Src: /src/glib/gio/gnetworkservice.c:752,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gnetworkservice.c:751,1
    - Dst: G_NETWORK_SERVICE
      Src: /src/glib/gio/gnetworkservice.c:751,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 756
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 756
    functionName: g_network_service_connectable_enumerate
    functionSourceFile: /src/glib/gio/gnetworkservice.c
    functionUses: []
    functionsReached:
    - G_NETWORK_SERVICE
    - g_object_new
    - g_resolver_get_default
    - G_SOCKET_ADDRESS_ENUMERATOR
    - g_object_ref
    linkageType: ''
    returnType: GSocketAddressEnumerator*
    signature: 'static GSocketAddressEnumerator *g_network_service_connectable_enumerate
      (GSocketConnectable *connectable) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_NETWORK_SERVICE
      Src: /src/glib/gio/gnetworkservice.c:193,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gnetworkservice.c:202,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gnetworkservice.c:198,1
    - Dst: g_network_service_set_scheme
      Src: /src/glib/gio/gnetworkservice.c:210,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gnetworkservice.c:206,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gnetworkservice.c:210,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gnetworkservice.c:214,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 217
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 217
    functionName: g_network_service_set_property
    functionSourceFile: /src/glib/gio/gnetworkservice.c
    functionUses: []
    functionsReached:
    - G_NETWORK_SERVICE
    - g_value_dup_string
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_get_string
    - g_network_service_set_scheme
    linkageType: ''
    returnType: void
    signature: 'static void g_network_service_set_property (GObject *object, guint
      prop_id, const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_network_service_connectable_enumerate
      Src: /src/glib/gio/gnetworkservice.c:764,1
    - Dst: G_NETWORK_SERVICE_ADDRESS_ENUMERATOR
      Src: /src/glib/gio/gnetworkservice.c:765,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 769
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 769
    functionName: g_network_service_connectable_proxy_enumerate
    functionSourceFile: /src/glib/gio/gnetworkservice.c
    functionUses: []
    functionsReached:
    - G_NETWORK_SERVICE_ADDRESS_ENUMERATOR
    - g_network_service_connectable_enumerate
    linkageType: ''
    returnType: GSocketAddressEnumerator*
    signature: 'static GSocketAddressEnumerator *g_network_service_connectable_proxy_enumerate
      (GSocketConnectable *connectable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_NETWORK_SERVICE
      Src: /src/glib/gio/gnetworkservice.c:776,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gnetworkservice.c:778,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 781
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 781
    functionName: g_network_service_connectable_to_string
    functionSourceFile: /src/glib/gio/gnetworkservice.c
    functionUses: []
    functionsReached:
    - G_NETWORK_SERVICE
    - g_strdup_printf
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *g_network_service_connectable_to_string (GSocketConnectable
      *connectable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gnetworkservice.c:327,1
    - Dst: G_IS_NETWORK_SERVICE
      Src: /src/glib/gio/gnetworkservice.c:327,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 330
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 330
    functionName: g_network_service_get_domain
    functionSourceFile: /src/glib/gio/gnetworkservice.c
    functionUses: []
    functionsReached:
    - G_IS_NETWORK_SERVICE
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_network_service_get_domain (GNetworkService *srv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gnetworkservice.c:110,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gnetworkservice.c:138,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gnetworkservice.c:123,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gnetworkservice.c:124,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gnetworkservice.c:137,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gnetworkservice.c:151,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gnetworkservice.c:152,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gnetworkservice.c:165,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gnetworkservice.c:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GNetworkServiceClass*
    constantsTouched: []
    func_position:
      end: 171
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 171
    functionName: g_network_service_class_init
    functionSourceFile: /src/glib/gio/gnetworkservice.c
    functionUses: []
    functionsReached:
    - g_param_spec_string
    - g_object_class_install_property
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_network_service_class_init (GNetworkServiceClass *klass) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_NETWORK_SERVICE
      Src: /src/glib/gio/gnetworkservice.c:225,1
    - Dst: g_network_service_get_protocol
      Src: /src/glib/gio/gnetworkservice.c:234,1
    - Dst: g_network_service_get_service
      Src: /src/glib/gio/gnetworkservice.c:230,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gnetworkservice.c:234,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gnetworkservice.c:230,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gnetworkservice.c:238,1
    - Dst: g_network_service_get_domain
      Src: /src/glib/gio/gnetworkservice.c:238,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gnetworkservice.c:242,1
    - Dst: g_network_service_get_scheme
      Src: /src/glib/gio/gnetworkservice.c:242,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gnetworkservice.c:246,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 249
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 249
    functionName: g_network_service_get_property
    functionSourceFile: /src/glib/gio/gnetworkservice.c
    functionUses: []
    functionsReached:
    - g_network_service_get_protocol
    - G_NETWORK_SERVICE
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_string
    - g_network_service_get_domain
    - g_network_service_get_service
    - g_network_service_get_scheme
    linkageType: ''
    returnType: void
    signature: 'static void g_network_service_get_property (GObject *object, guint
      prop_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gnetworkservice.c:368,1
    - Dst: g_free
      Src: /src/glib/gio/gnetworkservice.c:370,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gnetworkservice.c:373,1
    - Dst: G_IS_NETWORK_SERVICE
      Src: /src/glib/gio/gnetworkservice.c:368,1
    - Dst: g_strdup
      Src: /src/glib/gio/gnetworkservice.c:371,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gnetworkservice.c:373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - srv
    - scheme
    argTypes:
    - GNetworkService*
    - gchar*
    constantsTouched: []
    func_position:
      end: 374
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 374
    functionName: g_network_service_set_scheme
    functionSourceFile: /src/glib/gio/gnetworkservice.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_return_if_fail
    - g_object_notify
    - G_OBJECT
    - G_IS_NETWORK_SERVICE
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_network_service_set_scheme (GNetworkService *srv, const gchar
      *scheme) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/gnetworkservice.c:620,1
    - Dst: g_srv_target_get_hostname
      Src: /src/glib/gio/gnetworkservice.c:629,1
    - Dst: g_list_next
      Src: /src/glib/gio/gnetworkservice.c:628,1
    - Dst: g_network_address_new
      Src: /src/glib/gio/gnetworkservice.c:629,1
    - Dst: g_srv_target_get_port
      Src: /src/glib/gio/gnetworkservice.c:630,1
    - Dst: g_socket_connectable_proxy_enumerate
      Src: /src/glib/gio/gnetworkservice.c:633,1
    - Dst: g_socket_connectable_enumerate
      Src: /src/glib/gio/gnetworkservice.c:635,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkservice.c:637,1
    - Dst: g_socket_address_enumerator_next_async
      Src: /src/glib/gio/gnetworkservice.c:642,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gnetworkservice.c:643,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gnetworkservice.c:651,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gnetworkservice.c:655,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkservice.c:657,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 1
    argNames:
    - task
    argTypes:
    - GTask*
    constantsTouched: []
    func_position:
      end: 659
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 659
    functionName: next_async_have_targets
    functionSourceFile: /src/glib/gio/gnetworkservice.c
    functionUses: []
    functionsReached:
    - g_srv_target_get_hostname
    - g_object_unref
    - g_task_return_pointer
    - g_socket_connectable_proxy_enumerate
    - g_task_get_cancellable
    - g_socket_connectable_enumerate
    - g_network_address_new
    - g_task_get_source_object
    - g_srv_target_get_port
    - g_list_next
    - g_task_return_error
    - g_socket_address_enumerator_next_async
    linkageType: ''
    returnType: void
    signature: 'static void next_async_have_targets (GTask *task) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - connectable_iface
    argTypes:
    - GSocketConnectableIface*
    constantsTouched: []
    func_position:
      end: 179
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 179
    functionName: g_network_service_connectable_iface_init
    functionSourceFile: /src/glib/gio/gnetworkservice.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_network_service_connectable_iface_init (GSocketConnectableIface
      *connectable_iface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_getservbyname_ntohs
      Src: /src/glib/gio/gnetworkservice.c:383,1
    - Dst: g_srv_target_new
      Src: /src/glib/gio/gnetworkservice.c:392,1
    - Dst: endservent
      Src: /src/glib/gio/gnetworkservice.c:386,1
    - Dst: g_list_append
      Src: /src/glib/gio/gnetworkservice.c:393,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 394
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 394
    functionName: g_network_service_fallback_targets
    functionSourceFile: /src/glib/gio/gnetworkservice.c
    functionUses: []
    functionsReached:
    - g_srv_target_new
    - endservent
    - g_getservbyname_ntohs
    - g_list_append
    linkageType: ''
    returnType: GList*
    signature: 'static GList *g_network_service_fallback_targets (GNetworkService
      *srv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/gnetworkservice.c:667,1
    - Dst: g_socket_address_enumerator_next_finish
      Src: /src/glib/gio/gnetworkservice.c:671,1
    - Dst: g_error_free
      Src: /src/glib/gio/gnetworkservice.c:680,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkservice.c:685,1
    - Dst: next_async_have_targets
      Src: /src/glib/gio/gnetworkservice.c:688,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gnetworkservice.c:692,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkservice.c:693,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 3
    argNames:
    - source_object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 695
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 695
    functionName: next_async_have_address
    functionSourceFile: /src/glib/gio/gnetworkservice.c
    functionUses: []
    functionsReached:
    - g_socket_address_enumerator_next_finish
    - next_async_have_targets
    - g_object_unref
    - g_task_return_pointer
    - g_task_get_source_object
    - g_error_free
    linkageType: ''
    returnType: void
    signature: 'static void next_async_have_address (GObject *source_object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gnetworkservice.c:308,1
    - Dst: G_IS_NETWORK_SERVICE
      Src: /src/glib/gio/gnetworkservice.c:308,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 311
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 311
    functionName: g_network_service_get_protocol
    functionSourceFile: /src/glib/gio/gnetworkservice.c
    functionUses: []
    functionsReached:
    - G_IS_NETWORK_SERVICE
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_network_service_get_protocol (GNetworkService *srv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_EMBLEM
      Src: /src/glib/gio/gemblem.c:74,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gemblem.c:79,1
    - Dst: g_value_set_enum
      Src: /src/glib/gio/gemblem.c:83,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gemblem.c:87,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 90
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 90
    functionName: g_emblem_get_property
    functionSourceFile: /src/glib/gio/gemblem.c
    functionUses: []
    functionsReached:
    - g_value_set_object
    - g_value_set_enum
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_EMBLEM
    linkageType: ''
    returnType: void
    signature: 'static void g_emblem_get_property (GObject *object, guint prop_id,
      GValue *value, GParamSpec *pspec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_EMBLEM
      Src: /src/glib/gio/gemblem.c:119,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gemblem.c:122,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gemblem.c:124,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 125
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 125
    functionName: g_emblem_finalize
    functionSourceFile: /src/glib/gio/gemblem.c
    functionUses: []
    functionsReached:
    - G_EMBLEM
    - g_object_unref
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_emblem_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gemblem.c:185,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gemblem.c:187,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gemblem.c:186,1
    - Dst: G_IS_ICON
      Src: /src/glib/gio/gemblem.c:186,1
    - Dst: G_IS_EMBLEM
      Src: /src/glib/gio/gemblem.c:187,1
    - Dst: g_object_new
      Src: /src/glib/gio/gemblem.c:189,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gemblem.c:190,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 194
    functionName: g_emblem_new
    functionSourceFile: /src/glib/gio/gemblem.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_object_new
    - G_IS_ICON
    - g_object_ref
    - G_IS_EMBLEM
    linkageType: ''
    returnType: GEmblem*
    signature: 'GEmblem *g_emblem_new (GIcon *icon) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gemblem.c:213,1
    - Dst: G_IS_EMBLEM
      Src: /src/glib/gio/gemblem.c:215,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gemblem.c:215,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gemblem.c:214,1
    - Dst: G_IS_ICON
      Src: /src/glib/gio/gemblem.c:214,1
    - Dst: g_object_new
      Src: /src/glib/gio/gemblem.c:217,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gemblem.c:218,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 222
    functionName: g_emblem_new_with_origin
    functionSourceFile: /src/glib/gio/gemblem.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_object_new
    - G_IS_ICON
    - g_object_ref
    - G_IS_EMBLEM
    linkageType: ''
    returnType: GEmblem*
    signature: 'GEmblem *g_emblem_new_with_origin (GIcon *icon, GEmblemOrigin origin) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gemblem.c:257,1
    - Dst: G_IS_EMBLEM
      Src: /src/glib/gio/gemblem.c:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - emblem
    argTypes:
    - GEmblem*
    constantsTouched: []
    func_position:
      end: 260
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 260
    functionName: g_emblem_get_origin
    functionSourceFile: /src/glib/gio/gemblem.c
    functionUses: []
    functionsReached:
    - G_IS_EMBLEM
    - g_return_val_if_fail
    linkageType: ''
    returnType: GEmblemOrigin
    signature: 'GEmblemOrigin g_emblem_get_origin (GEmblem *emblem) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_EMBLEM
      Src: /src/glib/gio/gemblem.c:278,1
    - Dst: G_EMBLEM
      Src: /src/glib/gio/gemblem.c:279,1
    - Dst: g_icon_equal
      Src: /src/glib/gio/gemblem.c:282,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - icon1
    - icon2
    argTypes:
    - GIcon*
    - GIcon*
    constantsTouched: []
    func_position:
      end: 283
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 283
    functionName: g_emblem_equal
    functionSourceFile: /src/glib/gio/gemblem.c
    functionUses: []
    functionsReached:
    - g_icon_equal
    - G_EMBLEM
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_emblem_equal (GIcon *icon1, GIcon *icon2) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/gio/gemblem.c:328,1
    - Dst: _
      Src: /src/glib/gio/gemblem.c:331,1
    - Dst: g_set_error
      Src: /src/glib/gio/gemblem.c:338,1
    - Dst: _
      Src: /src/glib/gio/gemblem.c:341,1
    - Dst: g_icon_new_for_string
      Src: /src/glib/gio/gemblem.c:346,1
    - Dst: atoi
      Src: /src/glib/gio/gemblem.c:351,1
    - Dst: g_emblem_new_with_origin
      Src: /src/glib/gio/gemblem.c:353,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gemblem.c:354,1
    - Dst: G_ICON
      Src: /src/glib/gio/gemblem.c:356,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 357
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 357
    functionName: g_emblem_from_tokens
    functionSourceFile: /src/glib/gio/gemblem.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_object_unref
    - g_emblem_new_with_origin
    - g_icon_new_for_string
    - G_ICON
    - _
    - atoi
    linkageType: ''
    returnType: GIcon*
    signature: "static GIcon *g_emblem_from_tokens (gchar **tokens,\t\t gint num_tokens,\t\
      \t gint version,\t\t GError **error) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_EMBLEM
      Src: /src/glib/gio/gemblem.c:98,1
    - Dst: g_value_get_enum
      Src: /src/glib/gio/gemblem.c:107,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/gemblem.c:103,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gemblem.c:111,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 114
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 114
    functionName: g_emblem_set_property
    functionSourceFile: /src/glib/gio/gemblem.c
    functionUses: []
    functionsReached:
    - g_value_dup_object
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_EMBLEM
    - g_value_get_enum
    linkageType: ''
    returnType: void
    signature: 'static void g_emblem_set_property (GObject *object, guint prop_id,
      const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gemblem.c:130,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gemblem.c:157,1
    - Dst: g_param_spec_enum
      Src: /src/glib/gio/gemblem.c:145,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gemblem.c:159,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gemblem.c:143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GEmblemClass*
    constantsTouched: []
    func_position:
      end: 163
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 163
    functionName: g_emblem_class_init
    functionSourceFile: /src/glib/gio/gemblem.c
    functionUses: []
    functionsReached:
    - g_param_spec_enum
    - g_param_spec_object
    - g_object_class_install_property
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_emblem_class_init (GEmblemClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_EMBLEM
      Src: /src/glib/gio/gemblem.c:265,1
    - Dst: g_emblem_get_icon
      Src: /src/glib/gio/gemblem.c:268,1
    - Dst: g_icon_hash
      Src: /src/glib/gio/gemblem.c:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - icon
    argTypes:
    - GIcon*
    constantsTouched: []
    func_position:
      end: 272
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 272
    functionName: g_emblem_hash
    functionSourceFile: /src/glib/gio/gemblem.c
    functionUses: []
    functionsReached:
    - g_emblem_get_icon
    - G_EMBLEM
    - g_icon_hash
    linkageType: ''
    returnType: guint
    signature: 'static guint g_emblem_hash (GIcon *icon) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_EMBLEM
      Src: /src/glib/gio/gemblem.c:290,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gemblem.c:306,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gemblem.c:298,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gemblem.c:308,1
    - Dst: g_icon_to_string
      Src: /src/glib/gio/gemblem.c:302,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gemblem.c:309,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - icon
    - tokens
    - out_version
    argTypes:
    - GIcon*
    - GPtrArray*
    - gint*
    constantsTouched: []
    func_position:
      end: 312
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 312
    functionName: g_emblem_to_tokens
    functionSourceFile: /src/glib/gio/gemblem.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_return_val_if_fail
    - g_icon_to_string
    - G_EMBLEM
    - g_ptr_array_add
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_emblem_to_tokens (GIcon *icon,\t\t GPtrArray *tokens,\t\
      \t gint *out_version) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_EMBLEM
      Src: /src/glib/gio/gemblem.c:362,1
    - Dst: g_type_class_peek
      Src: /src/glib/gio/gemblem.c:371,1
    - Dst: g_enum_get_value
      Src: /src/glib/gio/gemblem.c:371,1
    - Dst: g_icon_serialize
      Src: /src/glib/gio/gemblem.c:367,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/gio/gemblem.c:372,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gemblem.c:374,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 377
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 377
    functionName: g_emblem_serialize
    functionSourceFile: /src/glib/gio/gemblem.c
    functionUses: []
    functionsReached:
    - g_icon_serialize
    - g_type_class_peek
    - g_enum_get_value
    - g_variant_unref
    - G_EMBLEM
    - g_variant_new_parsed
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_emblem_serialize (GIcon *icon) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GIconIface*
    constantsTouched: []
    func_position:
      end: 387
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 387
    functionName: g_emblem_iface_init
    functionSourceFile: /src/glib/gio/gemblem.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_emblem_iface_init (GIconIface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - emblem
    argTypes:
    - GEmblem*
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: g_emblem_init
    functionSourceFile: /src/glib/gio/gemblem.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_emblem_init (GEmblem *emblem) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gemblem.c:238,1
    - Dst: G_IS_EMBLEM
      Src: /src/glib/gio/gemblem.c:238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 241
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 241
    functionName: g_emblem_get_icon
    functionSourceFile: /src/glib/gio/gemblem.c
    functionUses: []
    functionsReached:
    - G_IS_EMBLEM
    - g_return_val_if_fail
    linkageType: ''
    returnType: GIcon*
    signature: 'GIcon *g_emblem_get_icon (GEmblem *emblem) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gfileinfo.c:304,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gfileinfo.c:313,1
    - Dst: _lookup_namespace
      Src: /src/glib/gio/gfileinfo.c:308,1
    - Dst: ensure_attribute_hash
      Src: /src/glib/gio/gfileinfo.c:306,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - namespace
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 316
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 316
    functionName: lookup_namespace
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - ensure_attribute_hash
    - G_UNLOCK
    - _lookup_namespace
    - G_LOCK
    linkageType: ''
    returnType: guint32
    signature: 'static guint32 lookup_namespace (const char *namespace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:1334,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1334,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:1335,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:1336,1
    - Dst: _g_file_info_set_attribute_byte_string_by_id
      Src: /src/glib/gio/gfileinfo.c:1338,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:1339,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - info
    - attribute
    - attr_value
    argTypes:
    - GFileInfo*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1341
      start: 1329
    functionDepth: 0
    functionLinenumber: 1329
    functionLinenumberEnd: 1341
    functionName: g_file_info_set_attribute_byte_string
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - _g_file_info_set_attribute_byte_string_by_id
    - lookup_attribute
    - G_IS_FILE_INFO
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_file_info_set_attribute_byte_string (GFileInfo *info,\t\t\t\
      \t const char *attribute,\t\t\t\t const char *attr_value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:1194,1
    - Dst: _g_file_info_set_attribute_by_id
      Src: /src/glib/gio/gfileinfo.c:1197,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:1197,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:1195,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1194,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - info
    - attribute
    - type
    - value_p
    argTypes:
    - GFileInfo*
    - char*
    - GFileAttributeType
    - gpointer
    constantsTouched: []
    func_position:
      end: 1198
      start: 1188
    functionDepth: 0
    functionLinenumber: 1188
    functionLinenumberEnd: 1198
    functionName: g_file_info_set_attribute
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - _g_file_info_set_attribute_by_id
    - lookup_attribute
    - G_IS_FILE_INFO
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_file_info_set_attribute (GFileInfo *info,\t\t\t const char\
      \ *attribute,\t\t\t GFileAttributeType type,\t\t\t gpointer value_p) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:2359,1
    - Dst: g_file_info_create_value
      Src: /src/glib/gio/gfileinfo.c:2364,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:2359,1
    - Dst: _g_file_attribute_value_set_uint64
      Src: /src/glib/gio/gfileinfo.c:2366,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2362,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - info
    - size
    argTypes:
    - GFileInfo*
    - goffset
    constantsTouched: []
    func_position:
      end: 2367
      start: 2352
    functionDepth: 0
    functionLinenumber: 2352
    functionLinenumberEnd: 2367
    functionName: g_file_info_set_size
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - _g_file_attribute_value_set_uint64
    - g_return_if_fail
    - lookup_attribute
    - g_file_info_create_value
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: void
    signature: "void g_file_info_set_size (GFileInfo *info,\t\t goffset size) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gfileinfo.c:322,1
    - Dst: GET_NS
      Src: /src/glib/gio/gfileinfo.c:323,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gfileinfo.c:324,1
    - Dst: GET_ID
      Src: /src/glib/gio/gfileinfo.c:323,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 326
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 326
    functionName: get_attribute_for_id
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - GET_NS
    - GET_ID
    - G_LOCK
    - G_UNLOCK
    linkageType: ''
    returnType: char*
    signature: 'static char *get_attribute_for_id (int attribute) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_create_value
      Src: /src/glib/gio/gfileinfo.c:1207,1
    - Dst: _g_file_attribute_value_set_object
      Src: /src/glib/gio/gfileinfo.c:1209,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - info
    - attribute
    - attr_value
    argTypes:
    - GFileInfo*
    - guint32
    - GObject*
    constantsTouched: []
    func_position:
      end: 1210
      start: 1200
    functionDepth: 0
    functionLinenumber: 1200
    functionLinenumberEnd: 1210
    functionName: _g_file_info_set_attribute_object_by_id
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_file_info_create_value
    - _g_file_attribute_value_set_object
    linkageType: ''
    returnType: void
    signature: "void _g_file_info_set_attribute_object_by_id (GFileInfo *info, guint32\
      \ attribute,\t\t\t\t GObject *attr_value) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lookup_namespace
      Src: /src/glib/gio/gfileinfo.c:664,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:667,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:667,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gfileinfo.c:669,1
    - Dst: GET_NS
      Src: /src/glib/gio/gfileinfo.c:674,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gfileinfo.c:675,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfileinfo.c:675,1
    - Dst: get_attribute_for_id
      Src: /src/glib/gio/gfileinfo.c:675,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gfileinfo.c:679,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gfileinfo.c:681,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 682
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 682
    functionName: g_file_info_list_attributes
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_strdup
    - get_attribute_for_id
    - GET_NS
    - g_ptr_array_free
    - g_ptr_array_new
    - lookup_namespace
    - g_ptr_array_add
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: char**
    signature: "char **g_file_info_list_attributes (GFileInfo *info,\t\t\t const char\
      \ *name_space) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:1528,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:1529,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1528,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:1532,1
    - Dst: _g_file_info_set_attribute_int64_by_id
      Src: /src/glib/gio/gfileinfo.c:1531,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - info
    - attribute
    - attr_value
    argTypes:
    - GFileInfo*
    - char*
    - gint64
    constantsTouched: []
    func_position:
      end: 1534
      start: 1523
    functionDepth: 0
    functionLinenumber: 1523
    functionLinenumberEnd: 1534
    functionName: g_file_info_set_attribute_int64
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - _g_file_info_set_attribute_int64_by_id
    - lookup_attribute
    - G_IS_FILE_INFO
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_file_info_set_attribute_int64 (GFileInfo *info,\t\t\t\t const\
      \ char *attribute,\t\t\t\t gint64 attr_value) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:2307,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:2308,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:2307,1
    - Dst: G_IS_ICON
      Src: /src/glib/gio/gfileinfo.c:2308,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2311,1
    - Dst: g_file_info_create_value
      Src: /src/glib/gio/gfileinfo.c:2313,1
    - Dst: _g_file_attribute_value_set_object
      Src: /src/glib/gio/gfileinfo.c:2315,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gfileinfo.c:2315,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - info
    - icon
    argTypes:
    - GFileInfo*
    - GIcon*
    constantsTouched: []
    func_position:
      end: 2316
      start: 2300
    functionDepth: 0
    functionLinenumber: 2300
    functionLinenumberEnd: 2316
    functionName: g_file_info_set_symbolic_icon
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_IS_ICON
    - g_return_if_fail
    - G_OBJECT
    - _g_file_attribute_value_set_object
    - lookup_attribute
    - g_file_info_create_value
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: void
    signature: 'void g_file_info_set_symbolic_icon (GFileInfo *info, GIcon *icon) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:2333,1
    - Dst: g_file_info_create_value
      Src: /src/glib/gio/gfileinfo.c:2339,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2337,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:2333,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:2334,1
    - Dst: _g_file_attribute_value_set_string
      Src: /src/glib/gio/gfileinfo.c:2341,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - info
    - content_type
    argTypes:
    - GFileInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 2342
      start: 2326
    functionDepth: 0
    functionLinenumber: 2326
    functionLinenumberEnd: 2342
    functionName: g_file_info_set_content_type
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - _g_file_attribute_value_set_string
    - g_return_if_fail
    - lookup_attribute
    - g_file_info_create_value
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: void
    signature: "void g_file_info_set_content_type (GFileInfo *info,\t\t\t const char\
      \ *content_type) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:2577,1
    - Dst: _g_file_attribute_value_set_int32
      Src: /src/glib/gio/gfileinfo.c:2584,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2580,1
    - Dst: g_file_info_create_value
      Src: /src/glib/gio/gfileinfo.c:2582,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:2577,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - info
    - sort_order
    argTypes:
    - GFileInfo*
    - gint32
    constantsTouched: []
    func_position:
      end: 2585
      start: 2570
    functionDepth: 0
    functionLinenumber: 2570
    functionLinenumberEnd: 2585
    functionName: g_file_info_set_sort_order
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - _g_file_attribute_value_set_int32
    - lookup_attribute
    - g_file_info_create_value
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: void
    signature: "void g_file_info_set_sort_order (GFileInfo *info,\t\t\t gint32 sort_order) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:1969,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:1973,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1969,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:1974,1
    - Dst: g_file_info_find_value
      Src: /src/glib/gio/gfileinfo.c:1977,1
    - Dst: g_date_time_new_from_unix_utc
      Src: /src/glib/gio/gfileinfo.c:1981,1
    - Dst: _g_file_attribute_value_get_uint64
      Src: /src/glib/gio/gfileinfo.c:1981,1
    - Dst: g_file_info_find_value
      Src: /src/glib/gio/gfileinfo.c:1983,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfileinfo.c:1985,1
    - Dst: g_date_time_add
      Src: /src/glib/gio/gfileinfo.c:1987,1
    - Dst: g_date_time_unref
      Src: /src/glib/gio/gfileinfo.c:1988,1
    - Dst: _g_file_attribute_value_get_uint32
      Src: /src/glib/gio/gfileinfo.c:1987,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfileinfo.c:1990,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1991
      start: 1962
    functionDepth: 0
    functionLinenumber: 1962
    functionLinenumberEnd: 1991
    functionName: g_file_info_get_access_date_time
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_return_val_if_fail
    - g_date_time_new_from_unix_utc
    - _g_file_attribute_value_get_uint32
    - g_date_time_unref
    - g_file_info_find_value
    - g_date_time_add
    - lookup_attribute
    - _g_file_attribute_value_get_uint64
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: GDateTime*
    signature: 'GDateTime *g_file_info_get_access_date_time (GFileInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_set_attribute_byte_string
      Src: /src/glib/gio/gfileinfo.c:1362,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - info
    - attribute
    - attr_value
    argTypes:
    - GFileInfo*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1363
      start: 1357
    functionDepth: 0
    functionLinenumber: 1357
    functionLinenumberEnd: 1363
    functionName: g_file_info_set_attribute_file_path
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_file_info_set_attribute_byte_string
    linkageType: ''
    returnType: void
    signature: 'void g_file_info_set_attribute_file_path (GFileInfo *info, const char
      *attribute, const char *attr_value) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:1920,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:1925,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1920,1
    - Dst: g_file_info_find_value
      Src: /src/glib/gio/gfileinfo.c:1928,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:1924,1
    - Dst: g_date_time_new_from_unix_utc
      Src: /src/glib/gio/gfileinfo.c:1932,1
    - Dst: _g_file_attribute_value_get_uint64
      Src: /src/glib/gio/gfileinfo.c:1932,1
    - Dst: g_file_info_find_value
      Src: /src/glib/gio/gfileinfo.c:1934,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfileinfo.c:1936,1
    - Dst: g_date_time_add
      Src: /src/glib/gio/gfileinfo.c:1938,1
    - Dst: g_date_time_unref
      Src: /src/glib/gio/gfileinfo.c:1939,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfileinfo.c:1941,1
    - Dst: _g_file_attribute_value_get_uint32
      Src: /src/glib/gio/gfileinfo.c:1938,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1942
      start: 1893
    functionDepth: 0
    functionLinenumber: 1893
    functionLinenumberEnd: 1942
    functionName: g_file_info_get_modification_date_time
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_return_val_if_fail
    - g_date_time_new_from_unix_utc
    - _g_file_attribute_value_get_uint32
    - g_date_time_unref
    - g_file_info_find_value
    - g_date_time_add
    - lookup_attribute
    - _g_file_attribute_value_get_uint64
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: G_GNUC_END_IGNORE_DEPRECATIONS*
    signature: 'G_GNUC_END_IGNORE_DEPRECATIONS /** * g_file_info_get_modification_date_time:
      * @info: a #GFileInfo. * * Gets the modification time of the current @info and
      returns it as a * #GDateTime. * * It is an error to call this if the #GFileInfo
      does not contain * %G_FILE_ATTRIBUTE_TIME_MODIFIED. If %G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC
      is * provided, the resulting #GDateTime will additionally have microsecond *
      precision. * * If nanosecond precision is needed, %G_FILE_ATTRIBUTE_TIME_MODIFIED_NSEC
      must * be queried separately using g_file_info_get_attribute_uint32(). * * Returns:
      (transfer full) (nullable): modification time, or %NULL if unknown * Since:
      2.62 */ GDateTime *g_file_info_get_modification_date_time (GFileInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:503,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:503,1
    - Dst: g_file_attribute_matcher_unref
      Src: /src/glib/gio/gfileinfo.c:506,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - info
    argTypes:
    - GFileInfo*
    constantsTouched: []
    func_position:
      end: 508
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 508
    functionName: g_file_info_unset_attribute_mask
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_file_attribute_matcher_unref
    - G_IS_FILE_INFO
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_file_info_unset_attribute_mask (GFileInfo *info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc0
      Src: /src/glib/gio/gfileinfo.c:2723,1
    - Dst: g_array_new
      Src: /src/glib/gio/gfileinfo.c:2725,1
    - Dst: g_strsplit
      Src: /src/glib/gio/gfileinfo.c:2727,1
    - Dst: strcmp
      Src: /src/glib/gio/gfileinfo.c:2731,1
    - Dst: strstr
      Src: /src/glib/gio/gfileinfo.c:2737,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2743,1
    - Dst: lookup_namespace
      Src: /src/glib/gio/gfileinfo.c:2751,1
    - Dst: g_array_append_val
      Src: /src/glib/gio/gfileinfo.c:2755,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gfileinfo.c:2759,1
    - Dst: matcher_optimize
      Src: /src/glib/gio/gfileinfo.c:2761,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2764
      start: 2712
    functionDepth: 0
    functionLinenumber: 2712
    functionLinenumberEnd: 2764
    functionName: g_file_attribute_matcher_new
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - matcher_optimize
    - g_malloc0
    - g_array_append_val
    - strcmp
    - g_strfreev
    - g_array_new
    - g_strsplit
    - lookup_attribute
    - lookup_namespace
    - strstr
    linkageType: ''
    returnType: GFileAttributeMatcher*
    signature: 'GFileAttributeMatcher *g_file_attribute_matcher_new (const char *attributes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:1871,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:1876,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1871,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:1877,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:1872,1
    - Dst: g_file_info_find_value
      Src: /src/glib/gio/gfileinfo.c:1880,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gfileinfo.c:1882,1
    - Dst: g_critical
      Src: /src/glib/gio/gfileinfo.c:1884,1
    - Dst: g_return_if_reached
      Src: /src/glib/gio/gfileinfo.c:1886,1
    - Dst: _g_file_attribute_value_get_uint64
      Src: /src/glib/gio/gfileinfo.c:1889,1
    - Dst: _g_file_attribute_value_get_uint32
      Src: /src/glib/gio/gfileinfo.c:1891,1
    - Dst: g_file_info_find_value
      Src: /src/glib/gio/gfileinfo.c:1890,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - info
    - result
    argTypes:
    - GFileInfo*
    - GTimeVal*
    constantsTouched: []
    func_position:
      end: 1892
      start: 1863
    functionDepth: 0
    functionLinenumber: 1863
    functionLinenumberEnd: 1892
    functionName: g_file_info_get_modification_time
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_return_if_reached
    - _g_file_attribute_value_get_uint32
    - g_return_if_fail
    - g_file_info_find_value
    - G_UNLIKELY
    - g_critical
    - lookup_attribute
    - _g_file_attribute_value_get_uint64
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: G_GNUC_BEGIN_IGNORE_DEPRECATIONS
    signature: "G_GNUC_BEGIN_IGNORE_DEPRECATIONS void g_file_info_get_modification_time\
      \ (GFileInfo *info,\t\t\t\t GTimeVal *result) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:2964,1
    - Dst: matcher_matches_id
      Src: /src/glib/gio/gfileinfo.c:2973,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2973,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - matcher
    - attribute
    argTypes:
    - GFileAttributeMatcher*
    - char*
    constantsTouched: []
    func_position:
      end: 2974
      start: 2960
    functionDepth: 0
    functionLinenumber: 2960
    functionLinenumberEnd: 2974
    functionName: g_file_attribute_matcher_matches
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - matcher_matches_id
    - g_return_val_if_fail
    - lookup_attribute
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_file_attribute_matcher_matches (GFileAttributeMatcher *matcher,\t\
      \t\t\t const char *attribute) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_create_value
      Src: /src/glib/gio/gfileinfo.c:1508,1
    - Dst: _g_file_attribute_value_set_int64
      Src: /src/glib/gio/gfileinfo.c:1510,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - info
    - attribute
    - attr_value
    argTypes:
    - GFileInfo*
    - guint32
    - gint64
    constantsTouched: []
    func_position:
      end: 1511
      start: 1501
    functionDepth: 0
    functionLinenumber: 1501
    functionLinenumberEnd: 1511
    functionName: _g_file_info_set_attribute_int64_by_id
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - _g_file_attribute_value_set_int64
    - g_file_info_create_value
    linkageType: ''
    returnType: void
    signature: "void _g_file_info_set_attribute_int64_by_id (GFileInfo *info, guint32\
      \ attribute,\t\t\t\t gint64 attr_value) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:630,1
    - Dst: lookup_namespace
      Src: /src/glib/gio/gfileinfo.c:633,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:631,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:630,1
    - Dst: GET_NS
      Src: /src/glib/gio/gfileinfo.c:638,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - info
    - name_space
    argTypes:
    - GFileInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 643
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 643
    functionName: g_file_info_has_namespace
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - GET_NS
    - g_return_val_if_fail
    - lookup_namespace
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_file_info_has_namespace (GFileInfo *info,\t\t\t const char\
      \ *name_space) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:2279,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:2280,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:2279,1
    - Dst: G_IS_ICON
      Src: /src/glib/gio/gfileinfo.c:2280,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2283,1
    - Dst: g_file_info_create_value
      Src: /src/glib/gio/gfileinfo.c:2285,1
    - Dst: _g_file_attribute_value_set_object
      Src: /src/glib/gio/gfileinfo.c:2287,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gfileinfo.c:2287,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - info
    - icon
    argTypes:
    - GFileInfo*
    - GIcon*
    constantsTouched: []
    func_position:
      end: 2288
      start: 2272
    functionDepth: 0
    functionLinenumber: 2272
    functionLinenumberEnd: 2288
    functionName: g_file_info_set_icon
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_IS_ICON
    - g_return_if_fail
    - G_OBJECT
    - _g_file_attribute_value_set_object
    - lookup_attribute
    - g_file_info_create_value
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: void
    signature: "void g_file_info_set_icon (GFileInfo *info,\t\t GIcon *icon) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:2551,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2555,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:2551,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:2552,1
    - Dst: g_file_info_create_value
      Src: /src/glib/gio/gfileinfo.c:2557,1
    - Dst: _g_file_attribute_value_set_byte_string
      Src: /src/glib/gio/gfileinfo.c:2559,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - info
    - symlink_target
    argTypes:
    - GFileInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 2560
      start: 2544
    functionDepth: 0
    functionLinenumber: 2544
    functionLinenumberEnd: 2560
    functionName: g_file_info_set_symlink_target
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - _g_file_attribute_value_set_byte_string
    - lookup_attribute
    - g_file_info_create_value
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: void
    signature: "void g_file_info_set_symlink_target (GFileInfo *info,\t\t\t\tconst\
      \ char *symlink_target) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:522,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:522,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - info
    argTypes:
    - GFileInfo*
    constantsTouched: []
    func_position:
      end: 527
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 527
    functionName: g_file_info_clear_status
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_IS_FILE_INFO
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_file_info_clear_status (GFileInfo *info) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_file_attribute_matcher_ref
      Src: /src/glib/gio/gfileinfo.c:2794,1
    - Dst: g_file_attribute_matcher_ref
      Src: /src/glib/gio/gfileinfo.c:2798,1
    - Dst: g_assert
      Src: /src/glib/gio/gfileinfo.c:2805,1
    - Dst: g_array_new
      Src: /src/glib/gio/gfileinfo.c:2802,1
    - Dst: g_malloc0
      Src: /src/glib/gio/gfileinfo.c:2800,1
    - Dst: g_array_index
      Src: /src/glib/gio/gfileinfo.c:2806,1
    - Dst: g_array_index
      Src: /src/glib/gio/gfileinfo.c:2810,1
    - Dst: sub_matcher_matches
      Src: /src/glib/gio/gfileinfo.c:2813,1
    - Dst: g_array_index
      Src: /src/glib/gio/gfileinfo.c:2820,1
    - Dst: g_array_append_val
      Src: /src/glib/gio/gfileinfo.c:2824,1
    - Dst: g_array_append_vals
      Src: /src/glib/gio/gfileinfo.c:2828,1
    - Dst: matcher_optimize
      Src: /src/glib/gio/gfileinfo.c:2832,1
    - Dst: g_array_index
      Src: /src/glib/gio/gfileinfo.c:2829,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2835
      start: 2783
    functionDepth: 0
    functionLinenumber: 2783
    functionLinenumberEnd: 2835
    functionName: g_file_attribute_matcher_subtract
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_array_append_vals
    - matcher_optimize
    - g_malloc0
    - g_assert
    - sub_matcher_matches
    - g_array_append_val
    - g_array_index
    - g_array_new
    - g_file_attribute_matcher_ref
    linkageType: ''
    returnType: GFileAttributeMatcher*
    signature: 'GFileAttributeMatcher *g_file_attribute_matcher_subtract (GFileAttributeMatcher
      *matcher, GFileAttributeMatcher *subtract) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gfileinfo.c:136,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gfileinfo.c:141,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfileinfo.c:141,1
    - Dst: g_realloc
      Src: /src/glib/gio/gfileinfo.c:142,1
    - Dst: g_new0
      Src: /src/glib/gio/gfileinfo.c:139,1
    - Dst: g_new
      Src: /src/glib/gio/gfileinfo.c:143,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gfileinfo.c:144,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 147
    functionName: _lookup_namespace
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_strconcat
    - g_new
    - g_realloc
    - g_hash_table_lookup
    - g_hash_table_insert
    - g_new0
    linkageType: ''
    returnType: NSInfo*
    signature: 'static NSInfo *_lookup_namespace (const char *namespace) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:407,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:408,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:407,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:408,1
    - Dst: _g_file_attribute_value_clear
      Src: /src/glib/gio/gfileinfo.c:412,1
    - Dst: g_array_set_size
      Src: /src/glib/gio/gfileinfo.c:414,1
    - Dst: _g_file_attribute_value_set
      Src: /src/glib/gio/gfileinfo.c:424,1
    - Dst: g_file_attribute_matcher_unref
      Src: /src/glib/gio/gfileinfo.c:428,1
    - Dst: g_file_attribute_matcher_ref
      Src: /src/glib/gio/gfileinfo.c:433,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - src_info
    - dest_info
    argTypes:
    - GFileInfo*
    - GFileInfo*
    constantsTouched: []
    func_position:
      end: 434
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 434
    functionName: g_file_info_copy_into
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - _g_file_attribute_value_set
    - g_array_set_size
    - g_return_if_fail
    - g_file_attribute_matcher_unref
    - g_file_attribute_matcher_ref
    - _g_file_attribute_value_clear
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: void
    signature: 'void g_file_info_copy_into (GFileInfo *src_info, GFileInfo *dest_info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:1818,1
    - Dst: _g_file_attribute_value_get_string
      Src: /src/glib/gio/gfileinfo.c:1821,1
    - Dst: get_required_attribute
      Src: /src/glib/gio/gfileinfo.c:1820,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1818,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1822
      start: 1813
    functionDepth: 0
    functionLinenumber: 1813
    functionLinenumberEnd: 1822
    functionName: g_file_info_get_content_type
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - get_required_attribute
    - _g_file_attribute_value_get_string
    - g_return_val_if_fail
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: char*
    signature: 'const char *g_file_info_get_content_type (GFileInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:1425,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:1429,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:1426,1
    - Dst: _g_file_info_set_attribute_uint32_by_id
      Src: /src/glib/gio/gfileinfo.c:1428,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1425,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - info
    - attribute
    - attr_value
    argTypes:
    - GFileInfo*
    - char*
    - guint32
    constantsTouched: []
    func_position:
      end: 1431
      start: 1420
    functionDepth: 0
    functionLinenumber: 1420
    functionLinenumberEnd: 1431
    functionName: g_file_info_set_attribute_uint32
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - _g_file_info_set_attribute_uint32_by_id
    - lookup_attribute
    - G_IS_FILE_INFO
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_file_info_set_attribute_uint32 (GFileInfo *info,\t\t\t\t const\
      \ char *attribute,\t\t\t\t guint32 attr_value) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:2898,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2907,1
    - Dst: g_array_index
      Src: /src/glib/gio/gfileinfo.c:2909,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - matcher
    - attribute
    argTypes:
    - GFileAttributeMatcher*
    - char*
    constantsTouched: []
    func_position:
      end: 2913
      start: 2891
    functionDepth: 0
    functionLinenumber: 2891
    functionLinenumberEnd: 2913
    functionName: g_file_attribute_matcher_matches_only
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_array_index
    - lookup_attribute
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_file_attribute_matcher_matches_only (GFileAttributeMatcher\
      \ *matcher,\t\t\t\t const char *attribute) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gio/gfileinfo.c:157,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gfileinfo.c:157,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfileinfo.c:166,1
    - Dst: strstr
      Src: /src/glib/gio/gfileinfo.c:162,1
    - Dst: g_strndup
      Src: /src/glib/gio/gfileinfo.c:164,1
    - Dst: _lookup_namespace
      Src: /src/glib/gio/gfileinfo.c:168,1
    - Dst: g_free
      Src: /src/glib/gio/gfileinfo.c:169,1
    - Dst: g_realloc
      Src: /src/glib/gio/gfileinfo.c:172,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfileinfo.c:173,1
    - Dst: MAKE_ATTR_ID
      Src: /src/glib/gio/gfileinfo.c:175,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gfileinfo.c:177,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gfileinfo.c:177,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - attribute
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 180
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 180
    functionName: _lookup_attribute
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_realloc
    - g_strndup
    - GPOINTER_TO_UINT
    - g_hash_table_lookup
    - GUINT_TO_POINTER
    - g_hash_table_insert
    - _lookup_namespace
    - MAKE_ATTR_ID
    - g_free
    - strstr
    linkageType: ''
    returnType: guint32
    signature: 'static guint32 _lookup_attribute (const char *attribute) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - matcher
    - id
    argTypes:
    - GFileAttributeMatcher*
    - guint32
    constantsTouched: []
    func_position:
      end: 2933
      start: 2915
    functionDepth: 0
    functionLinenumber: 2915
    functionLinenumberEnd: 2933
    functionName: matcher_matches_id
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean matcher_matches_id (GFileAttributeMatcher *matcher,
      guint32 id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gfileinfo.c:389,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 390
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 390
    functionName: g_file_info_new
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: GFileInfo*
    signature: 'GFileInfo *g_file_info_new (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_create_value
      Src: /src/glib/gio/gfileinfo.c:1406,1
    - Dst: _g_file_attribute_value_set_uint32
      Src: /src/glib/gio/gfileinfo.c:1408,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - info
    - attribute
    - attr_value
    argTypes:
    - GFileInfo*
    - guint32
    - guint32
    constantsTouched: []
    func_position:
      end: 1409
      start: 1399
    functionDepth: 0
    functionLinenumber: 1399
    functionLinenumberEnd: 1409
    functionName: _g_file_info_set_attribute_uint32_by_id
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_file_info_create_value
    - _g_file_attribute_value_set_uint32
    linkageType: ''
    returnType: void
    signature: "void _g_file_info_set_attribute_uint32_by_id (GFileInfo *info, guint32\
      \ attribute,\t\t\t\t guint32 attr_value) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:1791,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1791,1
    - Dst: get_required_attribute
      Src: /src/glib/gio/gfileinfo.c:1793,1
    - Dst: _g_file_attribute_value_get_object
      Src: /src/glib/gio/gfileinfo.c:1795,1
    - Dst: G_IS_ICON
      Src: /src/glib/gio/gfileinfo.c:1796,1
    - Dst: G_ICON
      Src: /src/glib/gio/gfileinfo.c:1797,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1799
      start: 1785
    functionDepth: 0
    functionLinenumber: 1785
    functionLinenumberEnd: 1799
    functionName: g_file_info_get_symbolic_icon
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - _g_file_attribute_value_get_object
    - G_IS_ICON
    - G_ICON
    - get_required_attribute
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: GIcon*
    signature: 'GIcon *g_file_info_get_symbolic_icon (GFileInfo *info) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:2515,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2520,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2521,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:2516,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:2515,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2522,1
    - Dst: g_file_info_create_value
      Src: /src/glib/gio/gfileinfo.c:2525,1
    - Dst: _g_file_attribute_value_set_uint64
      Src: /src/glib/gio/gfileinfo.c:2527,1
    - Dst: g_date_time_to_unix
      Src: /src/glib/gio/gfileinfo.c:2527,1
    - Dst: g_file_info_create_value
      Src: /src/glib/gio/gfileinfo.c:2528,1
    - Dst: g_date_time_get_microsecond
      Src: /src/glib/gio/gfileinfo.c:2530,1
    - Dst: g_file_info_remove_value
      Src: /src/glib/gio/gfileinfo.c:2533,1
    - Dst: _g_file_attribute_value_set_uint32
      Src: /src/glib/gio/gfileinfo.c:2530,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - info
    - creation_time
    argTypes:
    - GFileInfo*
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 2534
      start: 2508
    functionDepth: 0
    functionLinenumber: 2508
    functionLinenumberEnd: 2534
    functionName: g_file_info_set_creation_date_time
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_file_info_remove_value
    - _g_file_attribute_value_set_uint64
    - g_return_if_fail
    - g_date_time_to_unix
    - g_date_time_get_microsecond
    - _g_file_attribute_value_set_uint32
    - lookup_attribute
    - g_file_info_create_value
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: void
    signature: 'void g_file_info_set_creation_date_time (GFileInfo *info, GDateTime
      *creation_time) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_create_value
      Src: /src/glib/gio/gfileinfo.c:1440,1
    - Dst: _g_file_attribute_value_set_int32
      Src: /src/glib/gio/gfileinfo.c:1442,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - info
    - attribute
    - attr_value
    argTypes:
    - GFileInfo*
    - guint32
    - gint32
    constantsTouched: []
    func_position:
      end: 1443
      start: 1433
    functionDepth: 0
    functionLinenumber: 1433
    functionLinenumberEnd: 1443
    functionName: _g_file_info_set_attribute_int32_by_id
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_file_info_create_value
    - _g_file_attribute_value_set_int32
    linkageType: ''
    returnType: void
    signature: "void _g_file_info_set_attribute_int32_by_id (GFileInfo *info, guint32\
      \ attribute,\t\t\t\t gint32 attr_value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:1739,1
    - Dst: get_required_attribute
      Src: /src/glib/gio/gfileinfo.c:1741,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1739,1
    - Dst: _g_file_attribute_value_get_string
      Src: /src/glib/gio/gfileinfo.c:1742,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1743
      start: 1734
    functionDepth: 0
    functionLinenumber: 1734
    functionLinenumberEnd: 1743
    functionName: g_file_info_get_edit_name
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - get_required_attribute
    - _g_file_attribute_value_get_string
    - g_return_val_if_fail
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: char*
    signature: 'const char *g_file_info_get_edit_name (GFileInfo *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:2227,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:2227,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:2228,1
    - Dst: g_file_info_create_value
      Src: /src/glib/gio/gfileinfo.c:2233,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2231,1
    - Dst: _g_file_attribute_value_set_string
      Src: /src/glib/gio/gfileinfo.c:2235,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - info
    - display_name
    argTypes:
    - GFileInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 2236
      start: 2220
    functionDepth: 0
    functionLinenumber: 2220
    functionLinenumberEnd: 2236
    functionName: g_file_info_set_display_name
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - _g_file_attribute_value_set_string
    - g_return_if_fail
    - lookup_attribute
    - g_file_info_create_value
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: void
    signature: "void g_file_info_set_display_name (GFileInfo *info,\t\t\t const char\
      \ *display_name) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:2850,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/gfileinfo.c:2851,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2854
      start: 2845
    functionDepth: 0
    functionLinenumber: 2845
    functionLinenumberEnd: 2854
    functionName: g_file_attribute_matcher_ref
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_atomic_int_inc
    - g_return_val_if_fail
    linkageType: ''
    returnType: GFileAttributeMatcher*
    signature: 'GFileAttributeMatcher *g_file_attribute_matcher_ref (GFileAttributeMatcher
      *matcher) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:582,1
    - Dst: g_file_info_find_value
      Src: /src/glib/gio/gfileinfo.c:583,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 584
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 584
    functionName: g_file_info_find_value_by_name
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_file_info_find_value
    - lookup_attribute
    linkageType: ''
    returnType: GFileAttributeValue*
    signature: "static GFileAttributeValue *g_file_info_find_value_by_name (GFileInfo\
      \ *info,\t\t\t\tconst char *attribute) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_create_value
      Src: /src/glib/gio/gfileinfo.c:1474,1
    - Dst: _g_file_attribute_value_set_uint64
      Src: /src/glib/gio/gfileinfo.c:1476,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - info
    - attribute
    - attr_value
    argTypes:
    - GFileInfo*
    - guint32
    - guint64
    constantsTouched: []
    func_position:
      end: 1477
      start: 1467
    functionDepth: 0
    functionLinenumber: 1467
    functionLinenumberEnd: 1477
    functionName: _g_file_info_set_attribute_uint64_by_id
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_file_info_create_value
    - _g_file_attribute_value_set_uint64
    linkageType: ''
    returnType: void
    signature: "void _g_file_info_set_attribute_uint64_by_id (GFileInfo *info, guint32\
      \ attribute,\t\t\t\t guint64 attr_value) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:2176,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2179,1
    - Dst: g_file_info_create_value
      Src: /src/glib/gio/gfileinfo.c:2181,1
    - Dst: _g_file_attribute_value_set_boolean
      Src: /src/glib/gio/gfileinfo.c:2183,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:2176,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - info
    - is_symlink
    argTypes:
    - GFileInfo*
    - gboolean
    constantsTouched: []
    func_position:
      end: 2184
      start: 2169
    functionDepth: 0
    functionLinenumber: 2169
    functionLinenumberEnd: 2184
    functionName: g_file_info_set_is_symlink
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - _g_file_attribute_value_set_boolean
    - lookup_attribute
    - g_file_info_create_value
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: void
    signature: "void g_file_info_set_is_symlink (GFileInfo *info,\t\t\t gboolean is_symlink) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:1264,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1264,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:1265,1
    - Dst: _g_file_info_set_attribute_stringv_by_id
      Src: /src/glib/gio/gfileinfo.c:1268,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:1266,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:1269,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - info
    - attribute
    - attr_value
    argTypes:
    - GFileInfo*
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 1271
      start: 1259
    functionDepth: 0
    functionLinenumber: 1259
    functionLinenumberEnd: 1271
    functionName: g_file_info_set_attribute_stringv
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - _g_file_info_set_attribute_stringv_by_id
    - lookup_attribute
    - G_IS_FILE_INFO
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_file_info_set_attribute_stringv (GFileInfo *info,\t\t\t\t const\
      \ char *attribute,\t\t\t\t char **attr_value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gfileinfo.c:366,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GFileInfoClass*
    constantsTouched: []
    func_position:
      end: 369
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 369
    functionName: g_file_info_class_init
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_file_info_class_init (GFileInfoClass *klass) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - info
    - attribute
    argTypes:
    - GFileInfo*
    - guint32
    constantsTouched: []
    func_position:
      end: 558
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 558
    functionName: g_file_info_find_place
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "static int g_file_info_find_place (GFileInfo *info,\t\t\tguint32 attribute) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:2474,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:2474,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2480,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2479,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:2475,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2481,1
    - Dst: g_file_info_create_value
      Src: /src/glib/gio/gfileinfo.c:2484,1
    - Dst: _g_file_attribute_value_set_uint64
      Src: /src/glib/gio/gfileinfo.c:2486,1
    - Dst: g_date_time_to_unix
      Src: /src/glib/gio/gfileinfo.c:2486,1
    - Dst: g_file_info_create_value
      Src: /src/glib/gio/gfileinfo.c:2487,1
    - Dst: _g_file_attribute_value_set_uint32
      Src: /src/glib/gio/gfileinfo.c:2489,1
    - Dst: g_date_time_get_microsecond
      Src: /src/glib/gio/gfileinfo.c:2489,1
    - Dst: g_file_info_remove_value
      Src: /src/glib/gio/gfileinfo.c:2492,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - info
    - atime
    argTypes:
    - GFileInfo*
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 2493
      start: 2467
    functionDepth: 0
    functionLinenumber: 2467
    functionLinenumberEnd: 2493
    functionName: g_file_info_set_access_date_time
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_file_info_remove_value
    - _g_file_attribute_value_set_uint64
    - g_return_if_fail
    - g_date_time_to_unix
    - g_date_time_get_microsecond
    - _g_file_attribute_value_set_uint32
    - lookup_attribute
    - g_file_info_create_value
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: void
    signature: 'void g_file_info_set_access_date_time (GFileInfo *info, GDateTime
      *atime) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_array_new
      Src: /src/glib/gio/gfileinfo.c:375,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - info
    argTypes:
    - GFileInfo*
    constantsTouched: []
    func_position:
      end: 377
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 377
    functionName: g_file_info_init
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_array_new
    linkageType: ''
    returnType: void
    signature: 'static void g_file_info_init (GFileInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_find_place
      Src: /src/glib/gio/gfileinfo.c:567,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 574
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 574
    functionName: g_file_info_find_value
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_file_info_find_place
    linkageType: ''
    returnType: GFileAttributeValue*
    signature: "static GFileAttributeValue *g_file_info_find_value (GFileInfo *info,\t\
      \t\tguint32 attr_id) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_create_value
      Src: /src/glib/gio/gfileinfo.c:1280,1
    - Dst: _g_file_attribute_value_set_string
      Src: /src/glib/gio/gfileinfo.c:1282,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - info
    - attribute
    - attr_value
    argTypes:
    - GFileInfo*
    - guint32
    - char*
    constantsTouched: []
    func_position:
      end: 1283
      start: 1273
    functionDepth: 0
    functionLinenumber: 1273
    functionLinenumberEnd: 1283
    functionName: _g_file_info_set_attribute_string_by_id
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_file_info_create_value
    - _g_file_attribute_value_set_string
    linkageType: ''
    returnType: void
    signature: "void _g_file_info_set_attribute_string_by_id (GFileInfo *info, guint32\
      \ attribute,\t\t\t\t const char *attr_value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:602,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:602,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:603,1
    - Dst: g_file_info_find_value_by_name
      Src: /src/glib/gio/gfileinfo.c:605,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - info
    - attribute
    argTypes:
    - GFileInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 607
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 607
    functionName: g_file_info_has_attribute
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_file_info_find_value_by_name
    - g_return_val_if_fail
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_file_info_has_attribute (GFileInfo *info,\t\t\t const char\
      \ *attribute) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:1493,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:1494,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1493,1
    - Dst: _g_file_info_set_attribute_uint64_by_id
      Src: /src/glib/gio/gfileinfo.c:1496,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:1497,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - info
    - attribute
    - attr_value
    argTypes:
    - GFileInfo*
    - char*
    - guint64
    constantsTouched: []
    func_position:
      end: 1499
      start: 1488
    functionDepth: 0
    functionLinenumber: 1488
    functionLinenumberEnd: 1499
    functionName: g_file_info_set_attribute_uint64
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - _g_file_info_set_attribute_uint64_by_id
    - lookup_attribute
    - G_IS_FILE_INFO
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_file_info_set_attribute_uint64 (GFileInfo *info,\t\t\t\t const\
      \ char *attribute,\t\t\t\t guint64 attr_value) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:2201,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:2201,1
    - Dst: g_file_info_create_value
      Src: /src/glib/gio/gfileinfo.c:2207,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:2202,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2205,1
    - Dst: _g_file_attribute_value_set_byte_string
      Src: /src/glib/gio/gfileinfo.c:2209,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - info
    - name
    argTypes:
    - GFileInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 2210
      start: 2194
    functionDepth: 0
    functionLinenumber: 2194
    functionLinenumberEnd: 2210
    functionName: g_file_info_set_name
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - _g_file_attribute_value_set_byte_string
    - lookup_attribute
    - g_file_info_create_value
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: void
    signature: "void g_file_info_set_name (GFileInfo *info,\t\t const char *name) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:700,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:701,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:700,1
    - Dst: g_file_info_find_value_by_name
      Src: /src/glib/gio/gfileinfo.c:703,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - info
    - attribute
    argTypes:
    - GFileInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 708
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 708
    functionName: g_file_info_get_attribute_type
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_file_info_find_value_by_name
    - g_return_val_if_fail
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: GFileAttributeType
    signature: "GFileAttributeType g_file_info_get_attribute_type (GFileInfo *info,\t\
      \t\t\tconst char *attribute) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_get_attribute_byte_string
      Src: /src/glib/gio/gfileinfo.c:988,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 989
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 989
    functionName: g_file_info_get_attribute_file_path
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_file_info_get_attribute_byte_string
    linkageType: ''
    returnType: char*
    signature: 'const char *g_file_info_get_attribute_file_path (GFileInfo *info,
      const char *attribute) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:1226,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:1228,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:1227,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1226,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gio/gfileinfo.c:1228,1
    - Dst: _g_file_info_set_attribute_object_by_id
      Src: /src/glib/gio/gfileinfo.c:1230,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:1231,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - info
    - attribute
    - attr_value
    argTypes:
    - GFileInfo*
    - char*
    - GObject*
    constantsTouched: []
    func_position:
      end: 1233
      start: 1221
    functionDepth: 0
    functionLinenumber: 1221
    functionLinenumberEnd: 1233
    functionName: g_file_info_set_attribute_object
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - G_IS_OBJECT
    - _g_file_info_set_attribute_object_by_id
    - lookup_attribute
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: void
    signature: "void g_file_info_set_attribute_object (GFileInfo *info,\t\t\t\t const\
      \ char *attribute,\t\t\t\t GObject *attr_value) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/gfileinfo.c:718,1
    - Dst: _g_file_attribute_value_clear
      Src: /src/glib/gio/gfileinfo.c:727,1
    - Dst: g_file_info_find_place
      Src: /src/glib/gio/gfileinfo.c:721,1
    - Dst: g_array_remove_index
      Src: /src/glib/gio/gfileinfo.c:728,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - info
    - attr_id
    argTypes:
    - GFileInfo*
    - guint32
    constantsTouched: []
    func_position:
      end: 730
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 730
    functionName: g_file_info_remove_value
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - _g_file_attribute_matcher_matches_id
    - g_file_info_find_place
    - _g_file_attribute_value_clear
    - g_array_remove_index
    linkageType: ''
    returnType: void
    signature: "static void g_file_info_remove_value (GFileInfo *info,\t\t\t guint32\
      \ attr_id) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_create_value
      Src: /src/glib/gio/gfileinfo.c:1242,1
    - Dst: _g_file_attribute_value_set_stringv
      Src: /src/glib/gio/gfileinfo.c:1244,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - info
    - attribute
    - attr_value
    argTypes:
    - GFileInfo*
    - guint32
    - char**
    constantsTouched: []
    func_position:
      end: 1245
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1245
    functionName: _g_file_info_set_attribute_stringv_by_id
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_file_info_create_value
    - _g_file_attribute_value_set_stringv
    linkageType: ''
    returnType: void
    signature: "void _g_file_info_set_attribute_stringv_by_id (GFileInfo *info, guint32\
      \ attribute,\t\t\t\t char **attr_value) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:470,1
    - Dst: g_file_attribute_matcher_unref
      Src: /src/glib/gio/gfileinfo.c:475,1
    - Dst: g_file_attribute_matcher_ref
      Src: /src/glib/gio/gfileinfo.c:476,1
    - Dst: g_array_index
      Src: /src/glib/gio/gfileinfo.c:481,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:470,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/gfileinfo.c:482,1
    - Dst: _g_file_attribute_value_clear
      Src: /src/glib/gio/gfileinfo.c:485,1
    - Dst: g_array_remove_index
      Src: /src/glib/gio/gfileinfo.c:486,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - info
    - mask
    argTypes:
    - GFileInfo*
    - GFileAttributeMatcher*
    constantsTouched: []
    func_position:
      end: 491
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 491
    functionName: g_file_info_set_attribute_mask
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - _g_file_attribute_matcher_matches_id
    - g_return_if_fail
    - g_array_remove_index
    - g_array_index
    - g_file_attribute_matcher_unref
    - g_file_attribute_matcher_ref
    - _g_file_attribute_value_clear
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: void
    signature: "void g_file_info_set_attribute_mask (GFileInfo *info,\t\t\t\tGFileAttributeMatcher\
      \ *mask) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:960,1
    - Dst: g_file_info_find_value_by_name
      Src: /src/glib/gio/gfileinfo.c:963,1
    - Dst: _g_file_attribute_value_get_byte_string
      Src: /src/glib/gio/gfileinfo.c:964,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:961,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:960,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 965
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 965
    functionName: g_file_info_get_attribute_byte_string
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - _g_file_attribute_value_get_byte_string
    - g_file_info_find_value_by_name
    - g_return_val_if_fail
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: char*
    signature: "const char *g_file_info_get_attribute_byte_string (GFileInfo *info,\t\
      \t\t\t const char *attribute) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_array_index
      Src: /src/glib/gio/gfileinfo.c:3054,1
    - Dst: get_attribute_for_id
      Src: /src/glib/gio/gfileinfo.c:3060,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3062
      start: 3036
    functionDepth: 0
    functionLinenumber: 3036
    functionLinenumberEnd: 3062
    functionName: g_file_attribute_matcher_enumerate_next
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - get_attribute_for_id
    - g_array_index
    linkageType: ''
    returnType: char*
    signature: 'const char *g_file_attribute_matcher_enumerate_next (GFileAttributeMatcher
      *matcher) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/gfileinfo.c:1144,1
    - Dst: g_file_info_find_place
      Src: /src/glib/gio/gfileinfo.c:1147,1
    - Dst: g_array_insert_val
      Src: /src/glib/gio/gfileinfo.c:1157,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1162
    functionName: g_file_info_create_value
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - _g_file_attribute_matcher_matches_id
    - g_file_info_find_place
    - g_array_insert_val
    linkageType: ''
    returnType: GFileAttributeValue*
    signature: "static GFileAttributeValue *g_file_info_create_value (GFileInfo *info,\t\
      \t\t guint32 attr_id) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gio/gfileinfo.c:3088,1
    - Dst: g_string_append
      Src: /src/glib/gio/gfileinfo.c:3098,1
    - Dst: g_string_new
      Src: /src/glib/gio/gfileinfo.c:3090,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gfileinfo.c:3096,1
    - Dst: g_array_index
      Src: /src/glib/gio/gfileinfo.c:3093,1
    - Dst: get_attribute_for_id
      Src: /src/glib/gio/gfileinfo.c:3098,1
    - Dst: g_string_free
      Src: /src/glib/gio/gfileinfo.c:3101,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3102
      start: 3078
    functionDepth: 0
    functionLinenumber: 3078
    functionLinenumberEnd: 3102
    functionName: g_file_attribute_matcher_to_string
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_string_append_c
    - get_attribute_for_id
    - g_array_index
    - g_string_free
    - g_string_new
    - g_string_append
    linkageType: ''
    returnType: char*
    signature: 'char *g_file_attribute_matcher_to_string (GFileAttributeMatcher *matcher) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_create_value
      Src: /src/glib/gio/gfileinfo.c:1172,1
    - Dst: _g_file_attribute_value_set_from_pointer
      Src: /src/glib/gio/gfileinfo.c:1175,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - info
    - attribute
    - type
    - value_p
    argTypes:
    - GFileInfo*
    - guint32
    - GFileAttributeType
    - gpointer
    constantsTouched: []
    func_position:
      end: 1176
      start: 1164
    functionDepth: 0
    functionLinenumber: 1164
    functionLinenumberEnd: 1176
    functionName: _g_file_info_set_attribute_by_id
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_file_info_create_value
    - _g_file_attribute_value_set_from_pointer
    linkageType: ''
    returnType: void
    signature: 'void _g_file_info_set_attribute_by_id (GFileInfo *info, guint32 attribute,
      GFileAttributeType type, gpointer value_p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new
      Src: /src/glib/gio/gfileinfo.c:188,1
    - Dst: g_assert
      Src: /src/glib/gio/gfileinfo.c:195,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/gfileinfo.c:189,1
    - Dst: _lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 196
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 196
    functionName: ensure_attribute_hash
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_hash_table_new
    - _lookup_attribute
    linkageType: ''
    returnType: void
    signature: 'static void ensure_attribute_hash (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gfileinfo.c:333,1
    - Dst: ensure_attribute_hash
      Src: /src/glib/gio/gfileinfo.c:334,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gfileinfo.c:338,1
    - Dst: _lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:336,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - attribute
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 341
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 341
    functionName: lookup_attribute
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - ensure_attribute_hash
    - G_UNLOCK
    - G_LOCK
    - _lookup_attribute
    linkageType: ''
    returnType: guint32
    signature: 'static guint32 lookup_attribute (const char *attribute) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:1607,1
    - Dst: _g_file_attribute_value_get_uint32
      Src: /src/glib/gio/gfileinfo.c:1610,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1607,1
    - Dst: get_required_attribute
      Src: /src/glib/gio/gfileinfo.c:1609,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - GFileInfo*
    constantsTouched: []
    func_position:
      end: 1611
      start: 1602
    functionDepth: 0
    functionLinenumber: 1602
    functionLinenumberEnd: 1611
    functionName: g_file_info_get_file_type
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - get_required_attribute
    - g_return_val_if_fail
    - _g_file_attribute_value_get_uint32
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: GFileType
    signature: 'GFileType g_file_info_get_file_type (GFileInfo *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:2126,1
    - Dst: _g_file_attribute_value_set_uint32
      Src: /src/glib/gio/gfileinfo.c:2133,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:2126,1
    - Dst: g_file_info_create_value
      Src: /src/glib/gio/gfileinfo.c:2131,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - info
    - type
    argTypes:
    - GFileInfo*
    - GFileType
    constantsTouched: []
    func_position:
      end: 2134
      start: 2119
    functionDepth: 0
    functionLinenumber: 2119
    functionLinenumberEnd: 2134
    functionName: g_file_info_set_file_type
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - _g_file_attribute_value_set_uint32
    - lookup_attribute
    - g_file_info_create_value
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: void
    signature: "void g_file_info_set_file_type (GFileInfo *info,\t\t\t GFileType type) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:350,1
    - Dst: _g_file_attribute_value_clear
      Src: /src/glib/gio/gfileinfo.c:354,1
    - Dst: g_file_attribute_matcher_unref
      Src: /src/glib/gio/gfileinfo.c:358,1
    - Dst: g_array_free
      Src: /src/glib/gio/gfileinfo.c:355,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gfileinfo.c:360,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 361
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 361
    functionName: g_file_info_finalize
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_array_free
    - G_OBJECT_CLASS
    - g_file_attribute_matcher_unref
    - _g_file_attribute_value_clear
    - G_FILE_INFO
    linkageType: ''
    returnType: void
    signature: 'static void g_file_info_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:1459,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:1460,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1459,1
    - Dst: _g_file_info_set_attribute_int32_by_id
      Src: /src/glib/gio/gfileinfo.c:1462,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:1463,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - info
    - attribute
    - attr_value
    argTypes:
    - GFileInfo*
    - char*
    - gint32
    constantsTouched: []
    func_position:
      end: 1465
      start: 1454
    functionDepth: 0
    functionLinenumber: 1454
    functionLinenumberEnd: 1465
    functionName: g_file_info_set_attribute_int32
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - _g_file_info_set_attribute_int32_by_id
    - lookup_attribute
    - G_IS_FILE_INFO
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_file_info_set_attribute_int32 (GFileInfo *info, const char
      *attribute, gint32 attr_value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:1762,1
    - Dst: G_IS_ICON
      Src: /src/glib/gio/gfileinfo.c:1767,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1762,1
    - Dst: _g_file_attribute_value_get_object
      Src: /src/glib/gio/gfileinfo.c:1766,1
    - Dst: get_required_attribute
      Src: /src/glib/gio/gfileinfo.c:1764,1
    - Dst: G_ICON
      Src: /src/glib/gio/gfileinfo.c:1768,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1770
      start: 1756
    functionDepth: 0
    functionLinenumber: 1756
    functionLinenumberEnd: 1770
    functionName: g_file_info_get_icon
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - _g_file_attribute_value_get_object
    - G_IS_ICON
    - G_ICON
    - get_required_attribute
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: GIcon*
    signature: 'GIcon *g_file_info_get_icon (GFileInfo *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:2253,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2257,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:2254,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:2253,1
    - Dst: g_file_info_create_value
      Src: /src/glib/gio/gfileinfo.c:2259,1
    - Dst: _g_file_attribute_value_set_string
      Src: /src/glib/gio/gfileinfo.c:2261,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - info
    - edit_name
    argTypes:
    - GFileInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 2262
      start: 2246
    functionDepth: 0
    functionLinenumber: 2246
    functionLinenumberEnd: 2262
    functionName: g_file_info_set_edit_name
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - _g_file_attribute_value_set_string
    - g_return_if_fail
    - lookup_attribute
    - g_file_info_create_value
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: void
    signature: "void g_file_info_set_edit_name (GFileInfo *info,\t\t\t const char\
      \ *edit_name) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:2869,1
    - Dst: g_array_free
      Src: /src/glib/gio/gfileinfo.c:2874,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/gio/gfileinfo.c:2871,1
    - Dst: g_free
      Src: /src/glib/gio/gfileinfo.c:2876,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - matcher
    argTypes:
    - GFileAttributeMatcher*
    constantsTouched: []
    func_position:
      end: 2879
      start: 2864
    functionDepth: 0
    functionLinenumber: 2864
    functionLinenumberEnd: 2879
    functionName: g_file_attribute_matcher_unref
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_array_free
    - g_free
    - g_atomic_int_dec_and_test
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_file_attribute_matcher_unref (GFileAttributeMatcher *matcher) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:1717,1
    - Dst: _g_file_attribute_value_get_string
      Src: /src/glib/gio/gfileinfo.c:1720,1
    - Dst: get_required_attribute
      Src: /src/glib/gio/gfileinfo.c:1719,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1717,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1721
      start: 1712
    functionDepth: 0
    functionLinenumber: 1712
    functionLinenumberEnd: 1721
    functionName: g_file_info_get_display_name
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - get_required_attribute
    - _g_file_attribute_value_get_string
    - g_return_val_if_fail
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: char*
    signature: 'const char *g_file_info_get_display_name (GFileInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:449,1
    - Dst: g_file_info_copy_into
      Src: /src/glib/gio/gfileinfo.c:452,1
    - Dst: g_file_info_new
      Src: /src/glib/gio/gfileinfo.c:451,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:449,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 454
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 454
    functionName: g_file_info_dup
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_file_info_new
    - g_return_val_if_fail
    - G_IS_FILE_INFO
    - g_file_info_copy_into
    linkageType: ''
    returnType: GFileInfo*
    signature: 'GFileInfo *g_file_info_dup (GFileInfo *other) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:846,1
    - Dst: g_file_info_find_value_by_name
      Src: /src/glib/gio/gfileinfo.c:849,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:846,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:847,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - info
    - attribute
    - status
    argTypes:
    - GFileInfo*
    - char*
    - GFileAttributeStatus
    constantsTouched: []
    func_position:
      end: 857
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 857
    functionName: g_file_info_set_attribute_status
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_file_info_find_value_by_name
    - g_return_val_if_fail
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_file_info_set_attribute_status (GFileInfo *info,\t\t\t\t\
      \ const char *attribute,\t\t\t\t GFileAttributeStatus status) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:1391,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1391,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:1395,1
    - Dst: _g_file_info_set_attribute_boolean_by_id
      Src: /src/glib/gio/gfileinfo.c:1394,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:1392,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - info
    - attribute
    - attr_value
    argTypes:
    - GFileInfo*
    - char*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1397
      start: 1386
    functionDepth: 0
    functionLinenumber: 1386
    functionLinenumberEnd: 1397
    functionName: g_file_info_set_attribute_boolean
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - _g_file_info_set_attribute_boolean_by_id
    - lookup_attribute
    - G_IS_FILE_INFO
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_file_info_set_attribute_boolean (GFileInfo *info,\t\t\t\t const\
      \ char *attribute,\t\t\t\t gboolean attr_value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:2058,1
    - Dst: _g_file_attribute_value_get_byte_string
      Src: /src/glib/gio/gfileinfo.c:2061,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:2058,1
    - Dst: get_required_attribute
      Src: /src/glib/gio/gfileinfo.c:2060,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2062
      start: 2053
    functionDepth: 0
    functionLinenumber: 2053
    functionLinenumberEnd: 2062
    functionName: g_file_info_get_symlink_target
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - get_required_attribute
    - _g_file_attribute_value_get_byte_string
    - g_return_val_if_fail
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: char*
    signature: 'const char *g_file_info_get_symlink_target (GFileInfo *info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_array_free
      Src: /src/glib/gio/gfileinfo.c:2648,1
    - Dst: g_array_index
      Src: /src/glib/gio/gfileinfo.c:2666,1
    - Dst: g_file_attribute_matcher_unref
      Src: /src/glib/gio/gfileinfo.c:2656,1
    - Dst: g_array_index
      Src: /src/glib/gio/gfileinfo.c:2670,1
    - Dst: g_array_sort
      Src: /src/glib/gio/gfileinfo.c:2662,1
    - Dst: sub_matcher_matches
      Src: /src/glib/gio/gfileinfo.c:2671,1
    - Dst: g_array_set_size
      Src: /src/glib/gio/gfileinfo.c:2681,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2684
      start: 2637
    functionDepth: 0
    functionLinenumber: 2637
    functionLinenumberEnd: 2684
    functionName: matcher_optimize
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_array_free
    - sub_matcher_matches
    - g_array_set_size
    - g_array_index
    - g_file_attribute_matcher_unref
    - g_array_sort
    linkageType: ''
    returnType: GFileAttributeMatcher*
    signature: 'static GFileAttributeMatcher *matcher_optimize (GFileAttributeMatcher
      *matcher) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:3000,1
    - Dst: lookup_namespace
      Src: /src/glib/gio/gfileinfo.c:3009,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - matcher
    - ns
    argTypes:
    - GFileAttributeMatcher*
    - char*
    constantsTouched: []
    func_position:
      end: 3025
      start: 2992
    functionDepth: 0
    functionLinenumber: 2992
    functionLinenumberEnd: 3025
    functionName: g_file_attribute_matcher_enumerate_namespace
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - lookup_namespace
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_file_attribute_matcher_enumerate_namespace (GFileAttributeMatcher\
      \ *matcher,\t\t\t\t\t const char *ns) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:2018,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:2018,1
    - Dst: g_file_info_find_value
      Src: /src/glib/gio/gfileinfo.c:2026,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2022,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2023,1
    - Dst: g_date_time_new_from_unix_utc
      Src: /src/glib/gio/gfileinfo.c:2030,1
    - Dst: _g_file_attribute_value_get_uint64
      Src: /src/glib/gio/gfileinfo.c:2030,1
    - Dst: g_file_info_find_value
      Src: /src/glib/gio/gfileinfo.c:2032,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfileinfo.c:2034,1
    - Dst: g_date_time_add
      Src: /src/glib/gio/gfileinfo.c:2036,1
    - Dst: g_date_time_unref
      Src: /src/glib/gio/gfileinfo.c:2037,1
    - Dst: _g_file_attribute_value_get_uint32
      Src: /src/glib/gio/gfileinfo.c:2036,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfileinfo.c:2039,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2040
      start: 2011
    functionDepth: 0
    functionLinenumber: 2011
    functionLinenumberEnd: 2040
    functionName: g_file_info_get_creation_date_time
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_return_val_if_fail
    - g_date_time_new_from_unix_utc
    - _g_file_attribute_value_get_uint32
    - g_date_time_unref
    - g_file_info_find_value
    - g_date_time_add
    - lookup_attribute
    - _g_file_attribute_value_get_uint64
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: GDateTime*
    signature: 'GDateTime *g_file_info_get_creation_date_time (GFileInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:812,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:812,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:813,1
    - Dst: g_file_info_find_value_by_name
      Src: /src/glib/gio/gfileinfo.c:815,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - info
    - attribute
    argTypes:
    - GFileInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 820
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 820
    functionName: g_file_info_get_attribute_status
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_file_info_find_value_by_name
    - g_return_val_if_fail
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: GFileAttributeStatus
    signature: "GFileAttributeStatus g_file_info_get_attribute_status (GFileInfo *info,\t\
      \t\t\t const char *attribute) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_create_value
      Src: /src/glib/gio/gfileinfo.c:1372,1
    - Dst: _g_file_attribute_value_set_boolean
      Src: /src/glib/gio/gfileinfo.c:1374,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - info
    - attribute
    - attr_value
    argTypes:
    - GFileInfo*
    - guint32
    - gboolean
    constantsTouched: []
    func_position:
      end: 1375
      start: 1365
    functionDepth: 0
    functionLinenumber: 1365
    functionLinenumberEnd: 1375
    functionName: _g_file_info_set_attribute_boolean_by_id
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_file_info_create_value
    - _g_file_attribute_value_set_boolean
    linkageType: ''
    returnType: void
    signature: "void _g_file_info_set_attribute_boolean_by_id (GFileInfo *info, guint32\
      \ attribute,\t\t\t\t gboolean attr_value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:1629,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1629,1
    - Dst: _g_file_attribute_value_get_boolean
      Src: /src/glib/gio/gfileinfo.c:1632,1
    - Dst: get_required_attribute
      Src: /src/glib/gio/gfileinfo.c:1631,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - GFileInfo*
    constantsTouched: []
    func_position:
      end: 1633
      start: 1624
    functionDepth: 0
    functionLinenumber: 1624
    functionLinenumberEnd: 1633
    functionName: g_file_info_get_is_hidden
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - get_required_attribute
    - g_return_val_if_fail
    - _g_file_attribute_value_get_boolean
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_info_get_is_hidden (GFileInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:1695,1
    - Dst: _g_file_attribute_value_get_byte_string
      Src: /src/glib/gio/gfileinfo.c:1698,1
    - Dst: get_required_attribute
      Src: /src/glib/gio/gfileinfo.c:1697,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1695,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1699
      start: 1690
    functionDepth: 0
    functionLinenumber: 1690
    functionLinenumberEnd: 1699
    functionName: g_file_info_get_name
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - get_required_attribute
    - _g_file_attribute_value_get_byte_string
    - g_return_val_if_fail
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: char*
    signature: 'const char *g_file_info_get_name (GFileInfo *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:2151,1
    - Dst: _g_file_attribute_value_set_boolean
      Src: /src/glib/gio/gfileinfo.c:2158,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2154,1
    - Dst: g_file_info_create_value
      Src: /src/glib/gio/gfileinfo.c:2156,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:2151,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - info
    - is_hidden
    argTypes:
    - GFileInfo*
    - gboolean
    constantsTouched: []
    func_position:
      end: 2159
      start: 2144
    functionDepth: 0
    functionLinenumber: 2144
    functionLinenumberEnd: 2159
    functionName: g_file_info_set_is_hidden
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - _g_file_attribute_value_set_boolean
    - lookup_attribute
    - g_file_info_create_value
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: void
    signature: "void g_file_info_set_is_hidden (GFileInfo *info,\t\t\t gboolean is_hidden) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - matcher
    - submatcher
    argTypes:
    - SubMatcher*
    - SubMatcher*
    constantsTouched: []
    func_position:
      end: 2632
      start: 2624
    functionDepth: 0
    functionLinenumber: 2624
    functionLinenumberEnd: 2632
    functionName: sub_matcher_matches
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean sub_matcher_matches (SubMatcher *matcher, SubMatcher
      *submatcher) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:1010,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1010,1
    - Dst: _g_file_attribute_value_get_stringv
      Src: /src/glib/gio/gfileinfo.c:1014,1
    - Dst: g_file_info_find_value_by_name
      Src: /src/glib/gio/gfileinfo.c:1013,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:1011,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1004
    functionDepth: 0
    functionLinenumber: 1004
    functionLinenumberEnd: 1015
    functionName: g_file_info_get_attribute_stringv
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_file_info_find_value_by_name
    - g_return_val_if_fail
    - G_IS_FILE_INFO
    - _g_file_attribute_value_get_stringv
    linkageType: ''
    returnType: char**
    signature: "char **g_file_info_get_attribute_stringv (GFileInfo *info,\t\t\t\t\
      \ const char *attribute) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:1057,1
    - Dst: g_file_info_find_value_by_name
      Src: /src/glib/gio/gfileinfo.c:1060,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:1058,1
    - Dst: _g_file_attribute_value_get_uint32
      Src: /src/glib/gio/gfileinfo.c:1061,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1057,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - info
    - attribute
    argTypes:
    - GFileInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 1062
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1062
    functionName: g_file_info_get_attribute_uint32
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_file_info_find_value_by_name
    - g_return_val_if_fail
    - _g_file_attribute_value_get_uint32
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: guint32
    signature: "guint32 g_file_info_get_attribute_uint32 (GFileInfo *info,\t\t\t\t\
      \ const char *attribute) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:1105,1
    - Dst: g_file_info_find_value_by_name
      Src: /src/glib/gio/gfileinfo.c:1108,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:1106,1
    - Dst: _g_file_attribute_value_get_uint64
      Src: /src/glib/gio/gfileinfo.c:1109,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1105,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - info
    - attribute
    argTypes:
    - GFileInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 1110
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1110
    functionName: g_file_info_get_attribute_uint64
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_file_info_find_value_by_name
    - g_return_val_if_fail
    - _g_file_attribute_value_get_uint64
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: guint64
    signature: "guint64 g_file_info_get_attribute_uint64 (GFileInfo *info,\t\t\t\t\
      \ const char *attribute) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:1651,1
    - Dst: get_required_attribute
      Src: /src/glib/gio/gfileinfo.c:1653,1
    - Dst: _g_file_attribute_value_get_boolean
      Src: /src/glib/gio/gfileinfo.c:1654,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1651,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - GFileInfo*
    constantsTouched: []
    func_position:
      end: 1655
      start: 1646
    functionDepth: 0
    functionLinenumber: 1646
    functionLinenumberEnd: 1655
    functionName: g_file_info_get_is_backup
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - get_required_attribute
    - g_return_val_if_fail
    - _g_file_attribute_value_get_boolean
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_info_get_is_backup (GFileInfo *info) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:2391,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2397,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2396,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:2392,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:2391,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2398,1
    - Dst: g_file_info_create_value
      Src: /src/glib/gio/gfileinfo.c:2401,1
    - Dst: _g_file_attribute_value_set_uint64
      Src: /src/glib/gio/gfileinfo.c:2403,1
    - Dst: g_file_info_create_value
      Src: /src/glib/gio/gfileinfo.c:2404,1
    - Dst: _g_file_attribute_value_set_uint32
      Src: /src/glib/gio/gfileinfo.c:2406,1
    - Dst: g_file_info_remove_value
      Src: /src/glib/gio/gfileinfo.c:2409,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - info
    - mtime
    argTypes:
    - GFileInfo*
    - GTimeVal*
    constantsTouched: []
    func_position:
      end: 2410
      start: 2383
    functionDepth: 0
    functionLinenumber: 2383
    functionLinenumberEnd: 2410
    functionName: g_file_info_set_modification_time
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_file_info_remove_value
    - _g_file_attribute_value_set_uint64
    - g_return_if_fail
    - _g_file_attribute_value_set_uint32
    - lookup_attribute
    - g_file_info_create_value
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: G_GNUC_BEGIN_IGNORE_DEPRECATIONS
    signature: "G_GNUC_BEGIN_IGNORE_DEPRECATIONS void g_file_info_set_modification_time\
      \ (GFileInfo *info,\t\t\t\t GTimeVal *mtime) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:2433,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2439,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:2433,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:2434,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2438,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:2440,1
    - Dst: g_file_info_create_value
      Src: /src/glib/gio/gfileinfo.c:2443,1
    - Dst: _g_file_attribute_value_set_uint64
      Src: /src/glib/gio/gfileinfo.c:2445,1
    - Dst: g_date_time_to_unix
      Src: /src/glib/gio/gfileinfo.c:2445,1
    - Dst: g_file_info_create_value
      Src: /src/glib/gio/gfileinfo.c:2446,1
    - Dst: _g_file_attribute_value_set_uint32
      Src: /src/glib/gio/gfileinfo.c:2448,1
    - Dst: g_date_time_get_microsecond
      Src: /src/glib/gio/gfileinfo.c:2448,1
    - Dst: g_file_info_remove_value
      Src: /src/glib/gio/gfileinfo.c:2451,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - info
    - mtime
    argTypes:
    - GFileInfo*
    - GDateTime*
    constantsTouched: []
    func_position:
      end: 2452
      start: 2411
    functionDepth: 0
    functionLinenumber: 2411
    functionLinenumberEnd: 2452
    functionName: g_file_info_set_modification_date_time
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_file_info_remove_value
    - _g_file_attribute_value_set_uint64
    - g_return_if_fail
    - g_date_time_to_unix
    - g_date_time_get_microsecond
    - _g_file_attribute_value_set_uint32
    - lookup_attribute
    - g_file_info_create_value
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: G_GNUC_END_IGNORE_DEPRECATIONS
    signature: 'G_GNUC_END_IGNORE_DEPRECATIONS /** * g_file_info_set_modification_date_time:
      * @info: a #GFileInfo. * @mtime: (not nullable): a #GDateTime. * * Sets the
      %G_FILE_ATTRIBUTE_TIME_MODIFIED and * %G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC attributes
      in the file info to the * given date/time value. * * %G_FILE_ATTRIBUTE_TIME_MODIFIED_NSEC
      will be cleared. * * Since: 2.62 */ void g_file_info_set_modification_date_time
      (GFileInfo *info, GDateTime *mtime) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:1573,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:1576,1
    - Dst: g_file_info_find_value
      Src: /src/glib/gio/gfileinfo.c:1578,1
    - Dst: _g_file_attribute_value_get_string
      Src: /src/glib/gio/gfileinfo.c:1579,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1573,1
    - Dst: g_time_zone_new_local
      Src: /src/glib/gio/gfileinfo.c:1583,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/glib/gio/gfileinfo.c:1584,1
    - Dst: g_time_zone_unref
      Src: /src/glib/gio/gfileinfo.c:1585,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gfileinfo.c:1587,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1588
      start: 1564
    functionDepth: 0
    functionLinenumber: 1564
    functionLinenumberEnd: 1588
    functionName: g_file_info_get_deletion_date
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_date_time_new_from_iso8601
    - g_return_val_if_fail
    - g_time_zone_unref
    - g_time_zone_new_local
    - g_file_info_find_value
    - _g_file_attribute_value_get_string
    - lookup_attribute
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: GDateTime*
    signature: 'GDateTime *g_file_info_get_deletion_date (GFileInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:1842,1
    - Dst: _g_file_attribute_value_get_uint64
      Src: /src/glib/gio/gfileinfo.c:1845,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1842,1
    - Dst: get_required_attribute
      Src: /src/glib/gio/gfileinfo.c:1844,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - GFileInfo*
    constantsTouched: []
    func_position:
      end: 1846
      start: 1837
    functionDepth: 0
    functionLinenumber: 1837
    functionLinenumberEnd: 1846
    functionName: g_file_info_get_size
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - get_required_attribute
    - g_return_val_if_fail
    - _g_file_attribute_value_get_uint64
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: goffset
    signature: 'goffset g_file_info_get_size (GFileInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:2104,1
    - Dst: get_required_attribute
      Src: /src/glib/gio/gfileinfo.c:2106,1
    - Dst: _g_file_attribute_value_get_int32
      Src: /src/glib/gio/gfileinfo.c:2107,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:2104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - GFileInfo*
    constantsTouched: []
    func_position:
      end: 2108
      start: 2099
    functionDepth: 0
    functionLinenumber: 2099
    functionLinenumberEnd: 2108
    functionName: g_file_info_get_sort_order
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - get_required_attribute
    - g_return_val_if_fail
    - _g_file_attribute_value_get_int32
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: gint32
    signature: 'gint32 g_file_info_get_sort_order (GFileInfo *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: matcher_matches_id
      Src: /src/glib/gio/gfileinfo.c:2946,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - matcher
    - id
    argTypes:
    - GFileAttributeMatcher*
    - guint32
    constantsTouched: []
    func_position:
      end: 2947
      start: 2935
    functionDepth: 0
    functionLinenumber: 2935
    functionLinenumberEnd: 2947
    functionName: _g_file_attribute_matcher_matches_id
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - matcher_matches_id
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _g_file_attribute_matcher_matches_id (GFileAttributeMatcher
      *matcher, guint32 id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:1033,1
    - Dst: _g_file_attribute_value_get_boolean
      Src: /src/glib/gio/gfileinfo.c:1037,1
    - Dst: g_file_info_find_value_by_name
      Src: /src/glib/gio/gfileinfo.c:1036,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:1034,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1033,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - info
    - attribute
    argTypes:
    - GFileInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 1038
      start: 1027
    functionDepth: 0
    functionLinenumber: 1027
    functionLinenumberEnd: 1038
    functionName: g_file_info_get_attribute_boolean
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_file_info_find_value_by_name
    - g_return_val_if_fail
    - _g_file_attribute_value_get_boolean
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_file_info_get_attribute_boolean (GFileInfo *info,\t\t\t\
      \t const char *attribute) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:1081,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1081,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:1082,1
    - Dst: g_file_info_find_value_by_name
      Src: /src/glib/gio/gfileinfo.c:1084,1
    - Dst: _g_file_attribute_value_get_int32
      Src: /src/glib/gio/gfileinfo.c:1085,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - info
    - attribute
    argTypes:
    - GFileInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 1086
      start: 1075
    functionDepth: 0
    functionLinenumber: 1075
    functionLinenumberEnd: 1086
    functionName: g_file_info_get_attribute_int32
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_file_info_find_value_by_name
    - g_return_val_if_fail
    - _g_file_attribute_value_get_int32
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: gint32
    signature: "gint32 g_file_info_get_attribute_int32 (GFileInfo *info,\t\t\t\t const\
      \ char *attribute) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:1129,1
    - Dst: g_file_info_find_value_by_name
      Src: /src/glib/gio/gfileinfo.c:1132,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:1130,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1129,1
    - Dst: _g_file_attribute_value_get_int64
      Src: /src/glib/gio/gfileinfo.c:1133,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - info
    - attribute
    argTypes:
    - GFileInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 1134
      start: 1123
    functionDepth: 0
    functionLinenumber: 1123
    functionLinenumberEnd: 1134
    functionName: g_file_info_get_attribute_int64
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_file_info_find_value_by_name
    - g_return_val_if_fail
    - _g_file_attribute_value_get_int64
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: gint64
    signature: "gint64 g_file_info_get_attribute_int64 (GFileInfo *info,\t\t\t\t const\
      \ char *attribute) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:1673,1
    - Dst: _g_file_attribute_value_get_boolean
      Src: /src/glib/gio/gfileinfo.c:1676,1
    - Dst: get_required_attribute
      Src: /src/glib/gio/gfileinfo.c:1675,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1673,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - GFileInfo*
    constantsTouched: []
    func_position:
      end: 1677
      start: 1668
    functionDepth: 0
    functionLinenumber: 1668
    functionLinenumberEnd: 1677
    functionName: g_file_info_get_is_symlink
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - get_required_attribute
    - g_return_val_if_fail
    - _g_file_attribute_value_get_boolean
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_info_get_is_symlink (GFileInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:2081,1
    - Dst: _g_file_attribute_value_get_string
      Src: /src/glib/gio/gfileinfo.c:2084,1
    - Dst: get_required_attribute
      Src: /src/glib/gio/gfileinfo.c:2083,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:2081,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2085
      start: 2076
    functionDepth: 0
    functionLinenumber: 2076
    functionLinenumberEnd: 2085
    functionName: g_file_info_get_etag
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - get_required_attribute
    - _g_file_attribute_value_get_string
    - g_return_val_if_fail
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: char*
    signature: 'const char *g_file_info_get_etag (GFileInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:1299,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:1299,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:1301,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:1300,1
    - Dst: _g_file_info_set_attribute_string_by_id
      Src: /src/glib/gio/gfileinfo.c:1303,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:1304,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - info
    - attribute
    - attr_value
    argTypes:
    - GFileInfo*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1306
      start: 1294
    functionDepth: 0
    functionLinenumber: 1294
    functionLinenumberEnd: 1306
    functionName: g_file_info_set_attribute_string
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - lookup_attribute
    - _g_file_info_set_attribute_string_by_id
    - G_IS_FILE_INFO
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_file_info_set_attribute_string (GFileInfo *info,\t\t\t\t const\
      \ char *attribute,\t\t\t\t const char *attr_value) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:776,1
    - Dst: g_file_info_find_value_by_name
      Src: /src/glib/gio/gfileinfo.c:779,1
    - Dst: _g_file_attribute_value_peek_as_pointer
      Src: /src/glib/gio/gfileinfo.c:790,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:776,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:777,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 5
    argNames:
    - info
    - attribute
    - type
    - value_pp
    - status
    argTypes:
    - GFileInfo*
    - char*
    - GFileAttributeType*
    - gpointer*
    - GFileAttributeStatus*
    constantsTouched: []
    func_position:
      end: 793
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 793
    functionName: g_file_info_get_attribute_data
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - _g_file_attribute_value_peek_as_pointer
    - g_file_info_find_value_by_name
    - g_return_val_if_fail
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_file_info_get_attribute_data (GFileInfo *info,\t\t\t\t\
      const char *attribute,\t\t\t\tGFileAttributeType *type,\t\t\t\tgpointer *value_pp,\t\
      \t\t\tGFileAttributeStatus *status) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _g_file_info_get_attribute_value
      Src: /src/glib/gio/gfileinfo.c:888,1
    - Dst: _g_file_attribute_value_as_string
      Src: /src/glib/gio/gfileinfo.c:890,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 892
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 892
    functionName: g_file_info_get_attribute_as_string
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - _g_file_info_get_attribute_value
    - _g_file_attribute_value_as_string
    linkageType: ''
    returnType: char*
    signature: "char *g_file_info_get_attribute_as_string (GFileInfo *info,\t\t\t\t\
      \ const char *attribute) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:936,1
    - Dst: _g_file_attribute_value_get_string
      Src: /src/glib/gio/gfileinfo.c:940,1
    - Dst: g_file_info_find_value_by_name
      Src: /src/glib/gio/gfileinfo.c:939,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:937,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:936,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 941
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 941
    functionName: g_file_info_get_attribute_string
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - _g_file_attribute_value_get_string
    - g_file_info_find_value_by_name
    - g_return_val_if_fail
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: char*
    signature: "const char *g_file_info_get_attribute_string (GFileInfo *info,\t\t\
      \t\t const char *attribute) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_create_value
      Src: /src/glib/gio/gfileinfo.c:1315,1
    - Dst: _g_file_attribute_value_set_byte_string
      Src: /src/glib/gio/gfileinfo.c:1317,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - info
    - attribute
    - attr_value
    argTypes:
    - GFileInfo*
    - guint32
    - char*
    constantsTouched: []
    func_position:
      end: 1318
      start: 1308
    functionDepth: 0
    functionLinenumber: 1308
    functionLinenumberEnd: 1318
    functionName: _g_file_info_set_attribute_byte_string_by_id
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - _g_file_attribute_value_set_byte_string
    - g_file_info_create_value
    linkageType: ''
    returnType: void
    signature: "void _g_file_info_set_attribute_byte_string_by_id (GFileInfo *info,\
      \ guint32 attribute,\t\t\t\t const char *attr_value) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2622
      start: 2608
    functionDepth: 0
    functionLinenumber: 2608
    functionLinenumberEnd: 2622
    functionName: compare_sub_matchers
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint
    signature: 'static gint compare_sub_matchers (gconstpointer a, gconstpointer b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:745,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:745,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileinfo.c:746,1
    - Dst: g_file_info_remove_value
      Src: /src/glib/gio/gfileinfo.c:750,1
    - Dst: lookup_attribute
      Src: /src/glib/gio/gfileinfo.c:748,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - info
    - attribute
    argTypes:
    - GFileInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 751
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 751
    functionName: g_file_info_remove_attribute
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_file_info_remove_value
    - lookup_attribute
    - G_IS_FILE_INFO
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_file_info_remove_attribute (GFileInfo *info,\t\t\t const char\
      \ *attribute) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:864,1
    - Dst: g_file_info_find_value_by_name
      Src: /src/glib/gio/gfileinfo.c:867,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:865,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:864,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 868
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 868
    functionName: _g_file_info_get_attribute_value
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_file_info_find_value_by_name
    - g_return_val_if_fail
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: GFileAttributeValue*
    signature: "GFileAttributeValue *_g_file_info_get_attribute_value (GFileInfo *info,\t\
      \t\t\t const char *attribute) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:912,1
    - Dst: G_IS_FILE_INFO
      Src: /src/glib/gio/gfileinfo.c:912,1
    - Dst: g_file_info_find_value_by_name
      Src: /src/glib/gio/gfileinfo.c:915,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileinfo.c:913,1
    - Dst: _g_file_attribute_value_get_object
      Src: /src/glib/gio/gfileinfo.c:916,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 917
      start: 906
    functionDepth: 0
    functionLinenumber: 906
    functionLinenumberEnd: 917
    functionName: g_file_info_get_attribute_object
    functionSourceFile: /src/glib/gio/gfileinfo.c
    functionUses: []
    functionsReached:
    - g_file_info_find_value_by_name
    - g_return_val_if_fail
    - _g_file_attribute_value_get_object
    - G_IS_FILE_INFO
    linkageType: ''
    returnType: GObject*
    signature: "GObject *g_file_info_get_attribute_object (GFileInfo *info,\t\t\t\t\
      \ const char *attribute) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - gunichar2*
    constantsTouched: []
    func_position:
      end: 30
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 30
    functionName: g_utf16_len
    functionSourceFile: /src/glib/gio/giowin32-private.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gsize
    signature: 'static gsize g_utf16_len (const gunichar2 *str) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_utf16_len
      Src: /src/glib/gio/giowin32-private.c:103,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 122
    functionName: g_utf16_find_basename
    functionSourceFile: /src/glib/gio/giowin32-private.c
    functionUses: []
    functionsReached:
    - g_utf16_len
    linkageType: ''
    returnType: gunichar2*
    signature: 'static const gunichar2 *g_utf16_find_basename (const gunichar2 *filename,
      gssize len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: g_utf16_wchr
    functionSourceFile: /src/glib/gio/giowin32-private.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gunichar2*
    signature: 'static const gunichar2 *g_utf16_wchr (const gunichar2 *str, const
      wchar_t wchr) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: g_utf16_len
      Src: /src/glib/gio/giowin32-private.c:197,1
    - Dst: g_utf16_find_basename
      Src: /src/glib/gio/giowin32-private.c:254,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 44
    argCount: 6
    argNames:
    - commandline
    - comma_separator
    - executable_start
    - executable_len
    - executable_basename
    - after_executable
    argTypes:
    - gunichar2*
    - gboolean
    - gunichar2**
    - gssize*
    - gunichar2**
    - gunichar2**
    constantsTouched: []
    func_position:
      end: 258
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 258
    functionName: _g_win32_parse_filename
    functionSourceFile: /src/glib/gio/giowin32-private.c
    functionUses: []
    functionsReached:
    - g_utf16_len
    - g_utf16_find_basename
    linkageType: ''
    returnType: void
    signature: 'static void _g_win32_parse_filename (const gunichar2 *commandline,
      gboolean comma_separator, const gunichar2 **executable_start, gssize *executable_len,
      const gunichar2 **executable_basename, const gunichar2 **after_executable) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/giowin32-private.c:69,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/giowin32-private.c:82,1
    - Dst: g_free
      Src: /src/glib/gio/giowin32-private.c:79,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/giowin32-private.c:77,1
    - Dst: g_utf8_casefold
      Src: /src/glib/gio/giowin32-private.c:74,1
    - Dst: g_free
      Src: /src/glib/gio/giowin32-private.c:84,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 4
    argNames:
    - str
    - length
    - str_u8
    - str_u8_folded
    argTypes:
    - gunichar2*
    - gssize
    - gchar**
    - gchar**
    constantsTouched: []
    func_position:
      end: 87
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 87
    functionName: g_utf16_to_utf8_and_fold
    functionSourceFile: /src/glib/gio/giowin32-private.c
    functionUses: []
    functionsReached:
    - g_utf8_casefold
    - g_steal_pointer
    - g_free
    - g_utf16_to_utf8
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_utf16_to_utf8_and_fold (const gunichar2 *str, gssize
      length, gchar **str_u8, gchar **str_u8_folded) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/giowin32-private.c:38,1
    - Dst: g_assert
      Src: /src/glib/gio/giowin32-private.c:45,1
    - Dst: g_utf16_len
      Src: /src/glib/gio/giowin32-private.c:41,1
    - Dst: g_memdup2
      Src: /src/glib/gio/giowin32-private.c:48,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 49
    functionName: g_wcsdup
    functionSourceFile: /src/glib/gio/giowin32-private.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_utf16_len
    - g_return_val_if_fail
    - g_memdup2
    linkageType: ''
    returnType: gunichar2*
    signature: 'static gunichar2 *g_wcsdup (const gunichar2 *str, gssize str_len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/gio/giowin32-private.c:138,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 157
    functionName: g_utf8_find_basename
    functionSourceFile: /src/glib/gio/giowin32-private.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *g_utf8_find_basename (const gchar *filename, gssize
      len) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_utf16_to_utf8_and_fold
      Src: /src/glib/gio/giowin32-private.c:288,1
    - Dst: g_utf16_to_utf8_and_fold
      Src: /src/glib/gio/giowin32-private.c:367,1
    - Dst: g_free
      Src: /src/glib/gio/giowin32-private.c:382,1
    - Dst: g_utf8_find_basename
      Src: /src/glib/gio/giowin32-private.c:393,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/giowin32-private.c:302,1
    - Dst: g_assert
      Src: /src/glib/gio/giowin32-private.c:290,1
    - Dst: g_assert
      Src: /src/glib/gio/giowin32-private.c:368,1
    - Dst: g_free
      Src: /src/glib/gio/giowin32-private.c:375,1
    - Dst: g_free
      Src: /src/glib/gio/giowin32-private.c:398,1
    - Dst: _g_win32_parse_filename
      Src: /src/glib/gio/giowin32-private.c:281,1
    - Dst: g_free
      Src: /src/glib/gio/giowin32-private.c:381,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/giowin32-private.c:405,1
    - Dst: g_free
      Src: /src/glib/gio/giowin32-private.c:408,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/giowin32-private.c:303,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/giowin32-private.c:304,1
    - Dst: _g_win32_parse_filename
      Src: /src/glib/gio/giowin32-private.c:343,1
    - Dst: g_utf16_wchr
      Src: /src/glib/gio/giowin32-private.c:357,1
    - Dst: g_utf16_len
      Src: /src/glib/gio/giowin32-private.c:362,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/giowin32-private.c:373,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/giowin32-private.c:395,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/giowin32-private.c:370,1
    - Dst: g_utf8_find_basename
      Src: /src/glib/gio/giowin32-private.c:403,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 63
    argCount: 6
    argNames:
    - commandline
    - ex_out
    - ex_basename_out
    - ex_folded_out
    - ex_folded_basename_out
    - dll_function_out
    argTypes:
    - gunichar2*
    - gchar**
    - gchar**
    - gchar**
    - gchar**
    - gchar**
    constantsTouched: []
    func_position:
      end: 409
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 409
    functionName: _g_win32_extract_executable
    functionSourceFile: /src/glib/gio/giowin32-private.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_utf16_len
    - g_utf8_find_basename
    - g_str_has_suffix
    - g_assert
    - g_utf16_wchr
    - _g_win32_parse_filename
    - g_strcmp0
    - g_utf16_to_utf8_and_fold
    - g_free
    - g_utf16_to_utf8
    linkageType: ''
    returnType: void
    signature: 'static void _g_win32_extract_executable (const gunichar2 *commandline,
      gchar **ex_out, gchar **ex_basename_out, gchar **ex_folded_out, gchar **ex_folded_basename_out,
      gchar **dll_function_out) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _g_win32_parse_filename
      Src: /src/glib/gio/giowin32-private.c:438,1
    - Dst: _g_win32_parse_filename
      Src: /src/glib/gio/giowin32-private.c:443,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - commandline
    argTypes:
    - gunichar2*
    constantsTouched: []
    func_position:
      end: 450
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 450
    functionName: _g_win32_fixup_broken_microsoft_rundll_commandline
    functionSourceFile: /src/glib/gio/giowin32-private.c
    functionUses: []
    functionsReached:
    - _g_win32_parse_filename
    linkageType: ''
    returnType: void
    signature: 'static void _g_win32_fixup_broken_microsoft_rundll_commandline (gunichar2
      *commandline) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixconnection.c:88,1
    - Dst: G_IS_UNIX_CONNECTION
      Src: /src/glib/gio/gunixconnection.c:88,1
    - Dst: g_unix_fd_message_new
      Src: /src/glib/gio/gunixconnection.c:91,1
    - Dst: g_unix_fd_message_append_fd
      Src: /src/glib/gio/gunixconnection.c:93,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixconnection.c:89,1
    - Dst: G_UNIX_FD_MESSAGE
      Src: /src/glib/gio/gunixconnection.c:93,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixconnection.c:95,1
    - Dst: g_object_get
      Src: /src/glib/gio/gunixconnection.c:99,1
    - Dst: g_socket_send_message
      Src: /src/glib/gio/gunixconnection.c:100,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixconnection.c:103,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gunixconnection.c:114,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixconnection.c:110,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixconnection.c:104,1
    - Dst: _
      Src: /src/glib/gio/gunixconnection.c:115,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixconnection.c:109,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - connection
    - fd
    - cancellable
    - error
    argTypes:
    - GUnixConnection*
    - gint
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 118
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 118
    functionName: g_unix_connection_send_fd
    functionSourceFile: /src/glib/gio/gunixconnection.c
    functionUses: []
    functionsReached:
    - g_object_get
    - g_return_val_if_fail
    - g_socket_send_message
    - g_object_unref
    - g_unix_fd_message_append_fd
    - g_unix_fd_message_new
    - G_UNIX_FD_MESSAGE
    - G_IS_UNIX_CONNECTION
    - g_set_error_literal
    - _
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unix_connection_send_fd (GUnixConnection *connection, gint
      fd, GCancellable *cancellable, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gunixconnection.c:184,1
    - Dst: _
      Src: /src/glib/gio/gunixconnection.c:185,1
    - Dst: g_unix_fd_message_steal_fds
      Src: /src/glib/gio/gunixconnection.c:195,1
    - Dst: g_dngettext
      Src: /src/glib/gio/gunixconnection.c:203,1
    - Dst: close
      Src: /src/glib/gio/gunixconnection.c:210,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixconnection.c:156,1
    - Dst: g_object_get
      Src: /src/glib/gio/gunixconnection.c:151,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixconnection.c:161,1
    - Dst: g_dngettext
      Src: /src/glib/gio/gunixconnection.c:168,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixconnection.c:175,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixconnection.c:186,1
    - Dst: g_free
      Src: /src/glib/gio/gunixconnection.c:193,1
    - Dst: g_set_error
      Src: /src/glib/gio/gunixconnection.c:202,1
    - Dst: g_free
      Src: /src/glib/gio/gunixconnection.c:212,1
    - Dst: g_free
      Src: /src/glib/gio/gunixconnection.c:218,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gunixconnection.c:229,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixconnection.c:149,1
    - Dst: g_socket_receive_message
      Src: /src/glib/gio/gunixconnection.c:152,1
    - Dst: G_IS_UNIX_CONNECTION
      Src: /src/glib/gio/gunixconnection.c:149,1
    - Dst: g_set_error
      Src: /src/glib/gio/gunixconnection.c:167,1
    - Dst: g_free
      Src: /src/glib/gio/gunixconnection.c:177,1
    - Dst: G_UNIX_FD_MESSAGE
      Src: /src/glib/gio/gunixconnection.c:192,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixconnection.c:196,1
    - Dst: G_IS_UNIX_FD_MESSAGE
      Src: /src/glib/gio/gunixconnection.c:182,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gunixconnection.c:222,1
    - Dst: _
      Src: /src/glib/gio/gunixconnection.c:223,1
    - Dst: _
      Src: /src/glib/gio/gunixconnection.c:230,1
    - Dst: g_free
      Src: /src/glib/gio/gunixconnection.c:187,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 3
    argNames:
    - connection
    - cancellable
    - error
    argTypes:
    - GUnixConnection*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 233
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 233
    functionName: g_unix_connection_receive_fd
    functionSourceFile: /src/glib/gio/gunixconnection.c
    functionUses: []
    functionsReached:
    - g_set_error
    - G_IS_UNIX_FD_MESSAGE
    - g_object_get
    - g_return_val_if_fail
    - g_dngettext
    - g_object_unref
    - g_unix_fd_message_steal_fds
    - g_free
    - G_IS_UNIX_CONNECTION
    - G_UNIX_FD_MESSAGE
    - g_set_error_literal
    - close
    - _
    - g_socket_receive_message
    linkageType: ''
    returnType: gint
    signature: 'gint g_unix_connection_receive_fd (GUnixConnection *connection, GCancellable
      *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_connection_send_credentials
      Src: /src/glib/gio/gunixconnection.c:394,1
    - Dst: G_UNIX_CONNECTION
      Src: /src/glib/gio/gunixconnection.c:394,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gunixconnection.c:399,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gunixconnection.c:397,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixconnection.c:400,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - task
    - source_object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 401
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 401
    functionName: send_credentials_async_thread
    functionSourceFile: /src/glib/gio/gunixconnection.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_object_unref
    - G_UNIX_CONNECTION
    - g_unix_connection_send_credentials
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: "static void send_credentials_async_thread (GTask *task,\t\t\t gpointer\
      \ source_object,\t\t\t gpointer task_data,\t\t\t GCancellable *cancellable) "
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_object_get
      Src: /src/glib/gio/gunixconnection.c:508,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gunixconnection.c:529,1
    - Dst: g_unix_credentials_message_is_supported
      Src: /src/glib/gio/gunixconnection.c:580,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gunixconnection.c:545,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/gunixconnection.c:555,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gunixconnection.c:599,1
    - Dst: _
      Src: /src/glib/gio/gunixconnection.c:602,1
    - Dst: g_unix_credentials_message_get_credentials
      Src: /src/glib/gio/gunixconnection.c:606,1
    - Dst: g_socket_set_option
      Src: /src/glib/gio/gunixconnection.c:631,1
    - Dst: _
      Src: /src/glib/gio/gunixconnection.c:530,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gunixconnection.c:572,1
    - Dst: _
      Src: /src/glib/gio/gunixconnection.c:546,1
    - Dst: _
      Src: /src/glib/gio/gunixconnection.c:575,1
    - Dst: g_dngettext
      Src: /src/glib/gio/gunixconnection.c:589,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gunixconnection.c:607,1
    - Dst: _
      Src: /src/glib/gio/gunixconnection.c:616,1
    - Dst: g_free
      Src: /src/glib/gio/gunixconnection.c:652,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixconnection.c:654,1
    - Dst: G_IS_UNIX_CONNECTION
      Src: /src/glib/gio/gunixconnection.c:502,1
    - Dst: g_socket_get_option
      Src: /src/glib/gio/gunixconnection.c:520,1
    - Dst: g_socket_set_option
      Src: /src/glib/gio/gunixconnection.c:536,1
    - Dst: g_set_error
      Src: /src/glib/gio/gunixconnection.c:586,1
    - Dst: G_IS_UNIX_CREDENTIALS_MESSAGE
      Src: /src/glib/gio/gunixconnection.c:597,1
    - Dst: G_UNIX_CREDENTIALS_MESSAGE
      Src: /src/glib/gio/gunixconnection.c:606,1
    - Dst: g_set_error
      Src: /src/glib/gio/gunixconnection.c:613,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gunixconnection.c:640,1
    - Dst: g_strerror
      Src: /src/glib/gio/gunixconnection.c:642,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixconnection.c:502,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixconnection.c:503,1
    - Dst: g_set_error
      Src: /src/glib/gio/gunixconnection.c:527,1
    - Dst: g_strerror
      Src: /src/glib/gio/gunixconnection.c:531,1
    - Dst: g_set_error
      Src: /src/glib/gio/gunixconnection.c:543,1
    - Dst: g_socket_receive_message
      Src: /src/glib/gio/gunixconnection.c:556,1
    - Dst: g_strerror
      Src: /src/glib/gio/gunixconnection.c:547,1
    - Dst: g_socket_get_credentials
      Src: /src/glib/gio/gunixconnection.c:622,1
    - Dst: g_set_error
      Src: /src/glib/gio/gunixconnection.c:638,1
    - Dst: _
      Src: /src/glib/gio/gunixconnection.c:641,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixconnection.c:651,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 83
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 656
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 656
    functionName: g_unix_connection_receive_credentials
    functionSourceFile: /src/glib/gio/gunixconnection.c
    functionUses: []
    functionsReached:
    - g_object_get
    - g_dngettext
    - G_IS_UNIX_CREDENTIALS_MESSAGE
    - g_strerror
    - g_set_error_literal
    - g_unix_credentials_message_is_supported
    - g_socket_set_option
    - g_object_unref
    - g_type_ensure
    - G_IS_UNIX_CONNECTION
    - g_unix_credentials_message_get_credentials
    - g_socket_receive_message
    - g_socket_get_option
    - g_set_error
    - g_socket_get_credentials
    - _
    - g_return_val_if_fail
    - g_io_error_from_errno
    - G_UNIX_CREDENTIALS_MESSAGE
    - g_object_ref
    - g_free
    linkageType: ''
    returnType: GCredentials*
    signature: 'GCredentials *g_unix_connection_receive_credentials (GUnixConnection
      *connection, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_connection_receive_credentials
      Src: /src/glib/gio/gunixconnection.c:667,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gunixconnection.c:671,1
    - Dst: G_UNIX_CONNECTION
      Src: /src/glib/gio/gunixconnection.c:667,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixconnection.c:674,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gunixconnection.c:673,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - task
    - source_object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 675
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 675
    functionName: receive_credentials_async_thread
    functionSourceFile: /src/glib/gio/gunixconnection.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_task_return_pointer
    - G_UNIX_CONNECTION
    - g_unix_connection_receive_credentials
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: "static void receive_credentials_async_thread (GTask *task,\t\t\t\t\
      \ gpointer source_object,\t\t\t\t gpointer task_data,\t\t\t\t GCancellable *cancellable) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixconnection.c:727,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gunixconnection.c:727,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gunixconnection.c:729,1
    - Dst: G_TASK
      Src: /src/glib/gio/gunixconnection.c:729,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 730
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 730
    functionName: g_unix_connection_receive_credentials_finish
    functionSourceFile: /src/glib/gio/gunixconnection.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_return_val_if_fail
    - g_task_is_valid
    - g_task_propagate_pointer
    linkageType: ''
    returnType: GCredentials*
    signature: 'GCredentials *g_unix_connection_receive_credentials_finish (GUnixConnection
      *connection, GAsyncResult *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - connection
    argTypes:
    - GUnixConnection*
    constantsTouched: []
    func_position:
      end: 238
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 238
    functionName: g_unix_connection_init
    functionSourceFile: /src/glib/gio/gunixconnection.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_connection_init (GUnixConnection *connection) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixconnection.c:340,1
    - Dst: g_unix_credentials_message_is_supported
      Src: /src/glib/gio/gunixconnection.c:350,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixconnection.c:341,1
    - Dst: g_credentials_new
      Src: /src/glib/gio/gunixconnection.c:345,1
    - Dst: G_IS_UNIX_CONNECTION
      Src: /src/glib/gio/gunixconnection.c:340,1
    - Dst: g_unix_credentials_message_new_with_credentials
      Src: /src/glib/gio/gunixconnection.c:352,1
    - Dst: g_object_get
      Src: /src/glib/gio/gunixconnection.c:361,1
    - Dst: g_socket_send_message
      Src: /src/glib/gio/gunixconnection.c:362,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/gunixconnection.c:372,1
    - Dst: _
      Src: /src/glib/gio/gunixconnection.c:372,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixconnection.c:382,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixconnection.c:379,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixconnection.c:381,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 3
    argNames:
    - connection
    - cancellable
    - error
    argTypes:
    - GUnixConnection*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 384
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 384
    functionName: g_unix_connection_send_credentials
    functionSourceFile: /src/glib/gio/gunixconnection.c
    functionUses: []
    functionsReached:
    - g_object_get
    - g_return_val_if_fail
    - g_socket_send_message
    - g_object_unref
    - g_unix_credentials_message_new_with_credentials
    - g_prefix_error
    - G_IS_UNIX_CONNECTION
    - g_unix_credentials_message_is_supported
    - _
    - g_credentials_new
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unix_connection_send_credentials (GUnixConnection *connection,
      GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - class
    argTypes:
    - GUnixConnectionClass*
    constantsTouched: []
    func_position:
      end: 243
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 243
    functionName: g_unix_connection_class_init
    functionSourceFile: /src/glib/gio/gunixconnection.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_connection_class_init (GUnixConnectionClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/gunixconnection.c:429,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gunixconnection.c:431,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gunixconnection.c:430,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - connection
    - cancellable
    - callback
    - user_data
    argTypes:
    - GUnixConnection*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 432
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 432
    functionName: g_unix_connection_send_credentials_async
    functionSourceFile: /src/glib/gio/gunixconnection.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_task_run_in_thread
    - g_task_set_source_tag
    linkageType: ''
    returnType: void
    signature: 'void g_unix_connection_send_credentials_async (GUnixConnection *connection,
      GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixconnection.c:452,1
    - Dst: G_TASK
      Src: /src/glib/gio/gunixconnection.c:454,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gunixconnection.c:452,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gunixconnection.c:454,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - connection
    - result
    - error
    argTypes:
    - GUnixConnection*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 455
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 455
    functionName: g_unix_connection_send_credentials_finish
    functionSourceFile: /src/glib/gio/gunixconnection.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_task_is_valid
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unix_connection_send_credentials_finish (GUnixConnection
      *connection, GAsyncResult *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/gunixconnection.c:703,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gunixconnection.c:705,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gunixconnection.c:704,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - connection
    - cancellable
    - callback
    - user_data
    argTypes:
    - GUnixConnection*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 706
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 706
    functionName: g_unix_connection_receive_credentials_async
    functionSourceFile: /src/glib/gio/gunixconnection.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_task_run_in_thread
    - g_task_set_source_tag
    linkageType: ''
    returnType: void
    signature: 'void g_unix_connection_receive_credentials_async (GUnixConnection
      *connection, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - in
    - do_close
    argTypes:
    - GLocalFileInputStream*
    - gboolean
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: _g_local_file_input_stream_set_do_close
    functionSourceFile: /src/glib/gio/glocalfileinputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _g_local_file_input_stream_set_do_close (GLocalFileInputStream\
      \ *in,\t\t\t\t\t gboolean do_close) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GFileDescriptorBasedIface*
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: g_file_descriptor_based_iface_init
    functionSourceFile: /src/glib/gio/glocalfileinputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_file_descriptor_based_iface_init (GFileDescriptorBasedIface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/glocalfileinputstream.c:131,1
    - Dst: G_FILE_INPUT_STREAM
      Src: /src/glib/gio/glocalfileinputstream.c:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: _g_local_file_input_stream_new
    functionSourceFile: /src/glib/gio/glocalfileinputstream.c
    functionUses: []
    functionsReached:
    - G_FILE_INPUT_STREAM
    - g_object_new
    linkageType: ''
    returnType: GFileInputStream*
    signature: 'GFileInputStream *_g_local_file_input_stream_new (int fd) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE_INPUT_STREAM
      Src: /src/glib/gio/glocalfileinputstream.c:181,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinputstream.c:195,1
    - Dst: g_close
      Src: /src/glib/gio/glocalfileinputstream.c:189,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/glocalfileinputstream.c:194,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfileinputstream.c:193,1
    - Dst: g_strerror
      Src: /src/glib/gio/glocalfileinputstream.c:196,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GInputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 201
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 201
    functionName: g_local_file_input_stream_close
    functionSourceFile: /src/glib/gio/glocalfileinputstream.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_io_error_from_errno
    - g_strerror
    - g_close
    - _
    - G_LOCAL_FILE_INPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_local_file_input_stream_close (GInputStream *stream,\t\
      \t\t\t GCancellable *cancellable,\t\t\t\t GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE_INPUT_STREAM
      Src: /src/glib/gio/glocalfileinputstream.c:226,1
    - Dst: lseek
      Src: /src/glib/gio/glocalfileinputstream.c:228,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GFileInputStream*
    constantsTouched: []
    func_position:
      end: 234
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 234
    functionName: g_local_file_input_stream_can_seek
    functionSourceFile: /src/glib/gio/glocalfileinputstream.c
    functionUses: []
    functionsReached:
    - lseek
    - G_LOCAL_FILE_INPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_local_file_input_stream_can_seek (GFileInputStream
      *stream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE_INPUT_STREAM
      Src: /src/glib/gio/glocalfileinputstream.c:263,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfileinputstream.c:271,1
    - Dst: lseek
      Src: /src/glib/gio/glocalfileinputstream.c:265,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/glocalfileinputstream.c:272,1
    - Dst: seek_type_to_lseek
      Src: /src/glib/gio/glocalfileinputstream.c:265,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinputstream.c:273,1
    - Dst: g_strerror
      Src: /src/glib/gio/glocalfileinputstream.c:274,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 5
    argNames:
    - stream
    - offset
    - type
    - cancellable
    - error
    argTypes:
    - GFileInputStream*
    - goffset
    - GSeekType
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 279
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 279
    functionName: g_local_file_input_stream_seek
    functionSourceFile: /src/glib/gio/glocalfileinputstream.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_io_error_from_errno
    - seek_type_to_lseek
    - g_strerror
    - lseek
    - _
    - G_LOCAL_FILE_INPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_local_file_input_stream_seek (GFileInputStream *stream,\t\
      \t\t\tgoffset offset,\t\t\t\tGSeekType type,\t\t\t\tGCancellable *cancellable,\t\
      \t\t\tGError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_local_file_input_stream_get_instance_private
      Src: /src/glib/gio/glocalfileinputstream.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - info
    argTypes:
    - GLocalFileInputStream*
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: g_local_file_input_stream_init
    functionSourceFile: /src/glib/gio/glocalfileinputstream.c
    functionUses: []
    functionsReached:
    - g_local_file_input_stream_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_local_file_input_stream_init (GLocalFileInputStream
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_INPUT_STREAM_CLASS
      Src: /src/glib/gio/glocalfileinputstream.c:100,1
    - Dst: G_FILE_INPUT_STREAM_CLASS
      Src: /src/glib/gio/glocalfileinputstream.c:101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GLocalFileInputStreamClass*
    constantsTouched: []
    func_position:
      end: 109
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 109
    functionName: g_local_file_input_stream_class_init
    functionSourceFile: /src/glib/gio/glocalfileinputstream.c
    functionUses: []
    functionsReached:
    - G_INPUT_STREAM_CLASS
    - G_FILE_INPUT_STREAM_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_local_file_input_stream_class_init (GLocalFileInputStreamClass
      *klass) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE_INPUT_STREAM
      Src: /src/glib/gio/glocalfileinputstream.c:147,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/glocalfileinputstream.c:152,1
    - Dst: read
      Src: /src/glib/gio/glocalfileinputstream.c:154,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfileinputstream.c:162,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/glocalfileinputstream.c:163,1
    - Dst: _
      Src: /src/glib/gio/glocalfileinputstream.c:164,1
    - Dst: g_strerror
      Src: /src/glib/gio/glocalfileinputstream.c:165,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 5
    argNames:
    - stream
    - buffer
    - count
    - cancellable
    - error
    argTypes:
    - GInputStream*
    - void*
    - gsize
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 172
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 172
    functionName: g_local_file_input_stream_read
    functionSourceFile: /src/glib/gio/glocalfileinputstream.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_io_error_from_errno
    - g_strerror
    - _
    - g_cancellable_set_error_if_cancelled
    - read
    - G_LOCAL_FILE_INPUT_STREAM
    linkageType: ''
    returnType: gssize
    signature: "static gssize g_local_file_input_stream_read (GInputStream *stream,\t\
      \t\t\tvoid *buffer,\t\t\t\tgsize count,\t\t\t\tGCancellable *cancellable,\t\t\
      \t\tGError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE_INPUT_STREAM
      Src: /src/glib/gio/glocalfileinputstream.c:210,1
    - Dst: lseek
      Src: /src/glib/gio/glocalfileinputstream.c:212,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GFileInputStream*
    constantsTouched: []
    func_position:
      end: 218
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 218
    functionName: g_local_file_input_stream_tell
    functionSourceFile: /src/glib/gio/glocalfileinputstream.c
    functionUses: []
    functionsReached:
    - lseek
    - G_LOCAL_FILE_INPUT_STREAM
    linkageType: ''
    returnType: goffset
    signature: 'static goffset g_local_file_input_stream_tell (GFileInputStream *stream) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - GSeekType
    constantsTouched: []
    func_position:
      end: 251
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 251
    functionName: seek_type_to_lseek
    functionSourceFile: /src/glib/gio/glocalfileinputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int seek_type_to_lseek (GSeekType type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE_INPUT_STREAM
      Src: /src/glib/gio/glocalfileinputstream.c:289,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/glocalfileinputstream.c:291,1
    - Dst: _g_local_file_info_get_from_fd
      Src: /src/glib/gio/glocalfileinputstream.c:294,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 297
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 297
    functionName: g_local_file_input_stream_query_info
    functionSourceFile: /src/glib/gio/glocalfileinputstream.c
    functionUses: []
    functionsReached:
    - g_cancellable_set_error_if_cancelled
    - G_LOCAL_FILE_INPUT_STREAM
    - _g_local_file_info_get_from_fd
    linkageType: ''
    returnType: GFileInfo*
    signature: "static GFileInfo *g_local_file_input_stream_query_info (GFileInputStream\
      \ *stream,\t\t\t\t const char *attributes,\t\t\t\t GCancellable *cancellable,\t\
      \t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE_INPUT_STREAM
      Src: /src/glib/gio/glocalfileinputstream.c:303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - fd_based
    argTypes:
    - GFileDescriptorBased*
    constantsTouched: []
    func_position:
      end: 305
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 305
    functionName: g_local_file_input_stream_get_fd
    functionSourceFile: /src/glib/gio/glocalfileinputstream.c
    functionUses: []
    functionsReached:
    - G_LOCAL_FILE_INPUT_STREAM
    linkageType: ''
    returnType: int
    signature: 'static int g_local_file_input_stream_get_fd (GFileDescriptorBased
      *fd_based) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gio-tool-monitor.c:64,1
    - Dst: g_strdup
      Src: /src/glib/gio/gio-tool-monitor.c:79,1
    - Dst: g_assert
      Src: /src/glib/gio/gio-tool-monitor.c:101,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-monitor.c:102,1
    - Dst: g_assert
      Src: /src/glib/gio/gio-tool-monitor.c:109,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-monitor.c:110,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gio-tool-monitor.c:129,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-monitor.c:132,1
    - Dst: g_file_is_native
      Src: /src/glib/gio/gio-tool-monitor.c:66,1
    - Dst: g_file_get_uri
      Src: /src/glib/gio/gio-tool-monitor.c:76,1
    - Dst: g_assert
      Src: /src/glib/gio/gio-tool-monitor.c:85,1
    - Dst: g_assert
      Src: /src/glib/gio/gio-tool-monitor.c:89,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-monitor.c:90,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-monitor.c:86,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-monitor.c:134,1
    - Dst: g_file_is_native
      Src: /src/glib/gio/gio-tool-monitor.c:73,1
    - Dst: g_file_get_path
      Src: /src/glib/gio/gio-tool-monitor.c:67,1
    - Dst: g_file_get_path
      Src: /src/glib/gio/gio-tool-monitor.c:74,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-monitor.c:81,1
    - Dst: g_assert
      Src: /src/glib/gio/gio-tool-monitor.c:93,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-monitor.c:94,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-monitor.c:113,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-monitor.c:118,1
    - Dst: g_file_get_uri
      Src: /src/glib/gio/gio-tool-monitor.c:69,1
    - Dst: g_assert
      Src: /src/glib/gio/gio-tool-monitor.c:97,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-monitor.c:98,1
    - Dst: g_assert
      Src: /src/glib/gio/gio-tool-monitor.c:105,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-monitor.c:106,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-monitor.c:115,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-monitor.c:120,1
    - Dst: g_assert
      Src: /src/glib/gio/gio-tool-monitor.c:123,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-monitor.c:124,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-monitor.c:133,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 48
    argCount: 5
    argNames:
    - monitor
    - child
    - other
    - event_type
    - user_data
    argTypes:
    - GFileMonitor*
    - GFile*
    - GFile*
    - GFileMonitorEvent
    - gpointer
    constantsTouched: []
    func_position:
      end: 135
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 135
    functionName: watch_callback
    functionSourceFile: /src/glib/gio/gio-tool-monitor.c
    functionUses: []
    functionsReached:
    - g_file_is_native
    - g_file_get_uri
    - g_strdup
    - g_assert
    - g_assert_not_reached
    - g_file_get_path
    - g_print
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void watch_callback (GFileMonitor *monitor, GFile *child, GFile
      *other, GFileMonitorEvent event_type, gpointer user_data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/gio-tool-monitor.c:154,1
    - Dst: g_file_monitor
      Src: /src/glib/gio/gio-tool-monitor.c:172,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/gio-tool-monitor.c:161,1
    - Dst: g_file_monitor_directory
      Src: /src/glib/gio/gio-tool-monitor.c:170,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/glib/gio/gio-tool-monitor.c:165,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gio-tool-monitor.c:178,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gio-tool-monitor.c:178,1
    - Dst: g_strdup
      Src: /src/glib/gio/gio-tool-monitor.c:178,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-monitor.c:181,1
    - Dst: print_file_error
      Src: /src/glib/gio/gio-tool-monitor.c:186,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-monitor.c:188,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-monitor.c:187,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 4
    argNames:
    - cmdline
    - watch_type
    - flags
    - connect_handler
    argTypes:
    - gchar*
    - WatchType
    - GFileMonitorFlags
    - gboolean
    constantsTouched: []
    func_position:
      end: 191
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 191
    functionName: add_watch
    functionSourceFile: /src/glib/gio/gio-tool-monitor.c
    functionUses: []
    functionsReached:
    - g_file_query_info
    - g_strdup
    - g_file_monitor_directory
    - g_object_unref
    - print_file_error
    - G_CALLBACK
    - g_error_free
    - g_file_monitor
    - g_file_info_get_attribute_uint32
    - g_file_new_for_commandline_arg
    - g_signal_connect
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean add_watch (const gchar *cmdline, WatchType watch_type,
      GFileMonitorFlags flags, gboolean connect_handler) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gio-tool-monitor.c:205,1
    - Dst: g_option_context_set_help_enabled
      Src: /src/glib/gio/gio-tool-monitor.c:208,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-monitor.c:210,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-monitor.c:215,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-monitor.c:231,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-monitor.c:224,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-monitor.c:205,1
    - Dst: g_option_context_set_summary
      Src: /src/glib/gio/gio-tool-monitor.c:209,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-monitor.c:223,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-monitor.c:235,1
    - Dst: add_watch
      Src: /src/glib/gio/gio-tool-monitor.c:243,1
    - Dst: add_watch
      Src: /src/glib/gio/gio-tool-monitor.c:250,1
    - Dst: add_watch
      Src: /src/glib/gio/gio-tool-monitor.c:264,1
    - Dst: add_watch
      Src: /src/glib/gio/gio-tool-monitor.c:271,1
    - Dst: g_set_prgname
      Src: /src/glib/gio/gio-tool-monitor.c:202,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-monitor.c:207,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-monitor.c:222,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-monitor.c:230,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/gio-tool-monitor.c:276,1
    - Dst: g_option_context_new
      Src: /src/glib/gio/gio-tool-monitor.c:206,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/gio/gio-tool-monitor.c:211,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-monitor.c:230,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-monitor.c:216,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/gio-tool-monitor.c:220,1
    - Dst: add_watch
      Src: /src/glib/gio/gio-tool-monitor.c:257,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 60
    argCount: 3
    argNames:
    - argc
    - argv
    - do_help
    argTypes:
    - int
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 279
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 279
    functionName: handle_monitor
    functionSourceFile: /src/glib/gio/gio-tool-monitor.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_option_context_free
    - g_option_context_new
    - g_option_context_set_summary
    - g_set_prgname
    - show_help
    - add_watch
    - g_error_free
    - g_option_context_set_help_enabled
    - g_option_context_parse
    - _
    - g_option_context_add_main_entries
    - g_main_context_iteration
    - g_free
    linkageType: ''
    returnType: int
    signature: 'int handle_monitor (int argc, gchar *argv[], gboolean do_help) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileiostream.c:260,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileiostream.c:261,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gfileiostream.c:263,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gfileiostream.c:261,1
    - Dst: G_IS_FILE_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:260,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gfileiostream.c:265,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gfileiostream.c:266,1
    - Dst: G_TASK
      Src: /src/glib/gio/gfileiostream.c:266,1
    - Dst: G_FILE_IO_STREAM_GET_CLASS
      Src: /src/glib/gio/gfileiostream.c:268,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 270
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 270
    functionName: g_file_io_stream_query_info_finish
    functionSourceFile: /src/glib/gio/gfileiostream.c
    functionUses: []
    functionsReached:
    - G_FILE_IO_STREAM_GET_CLASS
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    - G_IS_FILE_IO_STREAM
    - G_IS_ASYNC_RESULT
    - G_TASK
    - g_async_result_is_tagged
    - g_task_propagate_pointer
    linkageType: ''
    returnType: GFileInfo*
    signature: "GFileInfo *g_file_io_stream_query_info_finish (GFileIOStream *stream,\t\
      \t\t\t GAsyncResult *result,\t\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/gfileiostream.c:522,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/gfileiostream.c:525,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/gfileiostream.c:523,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:522,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 5
    argNames:
    - stream
    - offset
    - type
    - cancellable
    - error
    argTypes:
    - GFileIOStream*
    - goffset
    - GSeekType
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 526
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 526
    functionName: g_file_io_stream_real_seek
    functionSourceFile: /src/glib/gio/gfileiostream.c
    functionUses: []
    functionsReached:
    - g_io_stream_get_output_stream
    - G_IO_STREAM
    - g_seekable_seek
    - G_SEEKABLE
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_file_io_stream_real_seek (GFileIOStream *stream,\t\
      \t\t goffset offset,\t\t\t GSeekType type,\t\t\t GCancellable *cancellable,\t\
      \t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GSeekableIface*
    constantsTouched: []
    func_position:
      end: 101
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 101
    functionName: g_file_io_stream_seekable_iface_init
    functionSourceFile: /src/glib/gio/gfileiostream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_file_io_stream_seekable_iface_init (GSeekableIface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/gfileiostream.c:534,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:534,1
    - Dst: g_seekable_can_truncate
      Src: /src/glib/gio/gfileiostream.c:537,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/gfileiostream.c:535,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GFileIOStream*
    constantsTouched: []
    func_position:
      end: 538
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 538
    functionName: g_file_io_stream_real_can_truncate
    functionSourceFile: /src/glib/gio/gfileiostream.c
    functionUses: []
    functionsReached:
    - g_io_stream_get_output_stream
    - G_IO_STREAM
    - g_seekable_can_truncate
    - G_SEEKABLE
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_file_io_stream_real_can_truncate (GFileIOStream
      *stream) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileiostream.c:148,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:150,1
    - Dst: g_cancellable_push_current
      Src: /src/glib/gio/gfileiostream.c:158,1
    - Dst: G_IS_FILE_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:148,1
    - Dst: g_io_stream_set_pending
      Src: /src/glib/gio/gfileiostream.c:152,1
    - Dst: G_FILE_IO_STREAM_GET_CLASS
      Src: /src/glib/gio/gfileiostream.c:160,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfileiostream.c:164,1
    - Dst: _
      Src: /src/glib/gio/gfileiostream.c:165,1
    - Dst: g_cancellable_pop_current
      Src: /src/glib/gio/gfileiostream.c:168,1
    - Dst: g_io_stream_clear_pending
      Src: /src/glib/gio/gfileiostream.c:170,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 173
    functionName: g_file_io_stream_query_info
    functionSourceFile: /src/glib/gio/gfileiostream.c
    functionUses: []
    functionsReached:
    - g_io_stream_set_pending
    - G_IO_STREAM
    - g_cancellable_pop_current
    - g_return_val_if_fail
    - g_io_stream_clear_pending
    - g_set_error_literal
    - g_cancellable_push_current
    - _
    - G_FILE_IO_STREAM_GET_CLASS
    - G_IS_FILE_IO_STREAM
    linkageType: ''
    returnType: GFileInfo*
    signature: "GFileInfo *g_file_io_stream_query_info (GFileIOStream *stream,\t\t\
      \t const char *attributes,\t\t\t GCancellable *cancellable,\t\t\t GError **error) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileiostream.c:339,1
    - Dst: G_FILE_IO_STREAM_GET_CLASS
      Src: /src/glib/gio/gfileiostream.c:341,1
    - Dst: G_IS_FILE_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:339,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GFileIOStream*
    constantsTouched: []
    func_position:
      end: 352
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 352
    functionName: g_file_io_stream_can_seek
    functionSourceFile: /src/glib/gio/gfileiostream.c
    functionUses: []
    functionsReached:
    - G_FILE_IO_STREAM_GET_CLASS
    - g_return_val_if_fail
    - G_IS_FILE_IO_STREAM
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_file_io_stream_can_seek (GFileIOStream *stream) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileiostream.c:371,1
    - Dst: G_FILE_IO_STREAM_GET_CLASS
      Src: /src/glib/gio/gfileiostream.c:374,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfileiostream.c:378,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:373,1
    - Dst: G_IS_FILE_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:371,1
    - Dst: _
      Src: /src/glib/gio/gfileiostream.c:379,1
    - Dst: g_io_stream_set_pending
      Src: /src/glib/gio/gfileiostream.c:383,1
    - Dst: g_cancellable_push_current
      Src: /src/glib/gio/gfileiostream.c:387,1
    - Dst: g_cancellable_pop_current
      Src: /src/glib/gio/gfileiostream.c:392,1
    - Dst: g_io_stream_clear_pending
      Src: /src/glib/gio/gfileiostream.c:394,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 5
    argNames:
    - stream
    - offset
    - type
    - cancellable
    - error
    argTypes:
    - GFileIOStream*
    - goffset
    - GSeekType
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 397
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 397
    functionName: g_file_io_stream_seek
    functionSourceFile: /src/glib/gio/gfileiostream.c
    functionUses: []
    functionsReached:
    - g_io_stream_set_pending
    - G_IO_STREAM
    - g_cancellable_pop_current
    - g_return_val_if_fail
    - g_io_stream_clear_pending
    - g_set_error_literal
    - g_cancellable_push_current
    - _
    - G_FILE_IO_STREAM_GET_CLASS
    - G_IS_FILE_IO_STREAM
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_file_io_stream_seek (GFileIOStream *stream,\t\t\
      \ goffset offset,\t\t GSeekType type,\t\t GCancellable *cancellable,\t\t GError\
      \ **error) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileiostream.c:447,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gfileiostream.c:454,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:449,1
    - Dst: G_IS_FILE_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:447,1
    - Dst: G_FILE_IO_STREAM_GET_CLASS
      Src: /src/glib/gio/gfileiostream.c:450,1
    - Dst: _
      Src: /src/glib/gio/gfileiostream.c:455,1
    - Dst: g_io_stream_set_pending
      Src: /src/glib/gio/gfileiostream.c:459,1
    - Dst: g_cancellable_push_current
      Src: /src/glib/gio/gfileiostream.c:463,1
    - Dst: g_cancellable_pop_current
      Src: /src/glib/gio/gfileiostream.c:468,1
    - Dst: g_io_stream_clear_pending
      Src: /src/glib/gio/gfileiostream.c:470,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 4
    argNames:
    - stream
    - size
    - cancellable
    - error
    argTypes:
    - GFileIOStream*
    - goffset
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 473
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 473
    functionName: g_file_io_stream_truncate
    functionSourceFile: /src/glib/gio/gfileiostream.c
    functionUses: []
    functionsReached:
    - g_io_stream_set_pending
    - G_IO_STREAM
    - g_cancellable_pop_current
    - g_return_val_if_fail
    - g_io_stream_clear_pending
    - g_set_error_literal
    - g_cancellable_push_current
    - _
    - G_FILE_IO_STREAM_GET_CLASS
    - G_IS_FILE_IO_STREAM
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_file_io_stream_truncate (GFileIOStream *stream,\t\
      \t\t goffset size,\t\t\t GCancellable *cancellable,\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_io_stream_can_seek
      Src: /src/glib/gio/gfileiostream.c:357,1
    - Dst: G_FILE_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:357,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - seekable
    argTypes:
    - GSeekable*
    constantsTouched: []
    func_position:
      end: 358
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 358
    functionName: g_file_io_stream_seekable_can_seek
    functionSourceFile: /src/glib/gio/gfileiostream.c
    functionUses: []
    functionsReached:
    - G_FILE_IO_STREAM
    - g_file_io_stream_can_seek
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_file_io_stream_seekable_can_seek (GSeekable *seekable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_io_stream_seek
      Src: /src/glib/gio/gfileiostream.c:406,1
    - Dst: G_FILE_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:406,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 5
    argNames:
    - seekable
    - offset
    - type
    - cancellable
    - error
    argTypes:
    - GSeekable*
    - goffset
    - GSeekType
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 408
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 408
    functionName: g_file_io_stream_seekable_seek
    functionSourceFile: /src/glib/gio/gfileiostream.c
    functionUses: []
    functionsReached:
    - G_FILE_IO_STREAM
    - g_file_io_stream_seek
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_file_io_stream_seekable_seek (GSeekable *seekable,\t\
      \t\t\t goffset offset,\t\t\t\t GSeekType type,\t\t\t\t GCancellable *cancellable,\t\
      \t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_io_stream_truncate
      Src: /src/glib/gio/gfileiostream.c:481,1
    - Dst: G_FILE_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:481,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - seekable
    - size
    - cancellable
    - error
    argTypes:
    - GSeekable*
    - goffset
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 483
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 483
    functionName: g_file_io_stream_seekable_truncate
    functionSourceFile: /src/glib/gio/gfileiostream.c
    functionUses: []
    functionsReached:
    - G_FILE_IO_STREAM
    - g_file_io_stream_truncate
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_file_io_stream_seekable_truncate (GSeekable *seekable,\t\
      \t\t\t goffset size,\t\t\t\t GCancellable *cancellable,\t\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GFileIOStreamClass*
    constantsTouched: []
    func_position:
      end: 662
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 662
    functionName: g_file_io_stream_class_init
    functionSourceFile: /src/glib/gio/gfileiostream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_file_io_stream_class_init (GFileIOStreamClass *klass) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileiostream.c:291,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:293,1
    - Dst: g_io_stream_is_closed
      Src: /src/glib/gio/gfileiostream.c:295,1
    - Dst: g_warning
      Src: /src/glib/gio/gfileiostream.c:297,1
    - Dst: G_IS_FILE_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:291,1
    - Dst: G_FILE_IO_STREAM_GET_CLASS
      Src: /src/glib/gio/gfileiostream.c:303,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 308
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 308
    functionName: g_file_io_stream_get_etag
    functionSourceFile: /src/glib/gio/gfileiostream.c
    functionUses: []
    functionsReached:
    - G_IO_STREAM
    - g_return_val_if_fail
    - g_warning
    - G_FILE_IO_STREAM_GET_CLASS
    - g_io_stream_is_closed
    - G_IS_FILE_IO_STREAM
    linkageType: ''
    returnType: char*
    signature: 'char *g_file_io_stream_get_etag (GFileIOStream *stream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfileiostream.c:220,1
    - Dst: G_IS_FILE_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:220,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:222,1
    - Dst: g_task_report_error
      Src: /src/glib/gio/gfileiostream.c:226,1
    - Dst: g_io_stream_set_pending
      Src: /src/glib/gio/gfileiostream.c:224,1
    - Dst: G_FILE_IO_STREAM_GET_CLASS
      Src: /src/glib/gio/gfileiostream.c:232,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gfileiostream.c:235,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 6
    argNames:
    - stream
    - attributes
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFileIOStream*
    - char*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 238
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 238
    functionName: g_file_io_stream_query_info_async
    functionSourceFile: /src/glib/gio/gfileiostream.c
    functionUses: []
    functionsReached:
    - g_io_stream_set_pending
    - G_IO_STREAM
    - g_return_if_fail
    - g_task_report_error
    - g_object_ref
    - G_FILE_IO_STREAM_GET_CLASS
    - G_IS_FILE_IO_STREAM
    linkageType: ''
    returnType: void
    signature: "void g_file_io_stream_query_info_async (GFileIOStream *stream,\t\t\
      \t\t\t const char *attributes,\t\t\t\t\t int io_priority,\t\t\t\t\t GCancellable\
      \ *cancellable,\t\t\t\t\t GAsyncReadyCallback callback,\t\t\t\t\t gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/gfileiostream.c:494,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:494,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/gfileiostream.c:495,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/gfileiostream.c:497,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GFileIOStream*
    constantsTouched: []
    func_position:
      end: 498
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 498
    functionName: g_file_io_stream_real_tell
    functionSourceFile: /src/glib/gio/gfileiostream.c
    functionUses: []
    functionsReached:
    - g_io_stream_get_output_stream
    - G_IO_STREAM
    - g_seekable_tell
    - G_SEEKABLE
    linkageType: ''
    returnType: goffset
    signature: 'static goffset g_file_io_stream_real_tell (GFileIOStream *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/gfileiostream.c:576,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:576,1
    - Dst: G_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/gfileiostream.c:577,1
    - Dst: g_file_output_stream_query_info
      Src: /src/glib/gio/gfileiostream.c:579,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 581
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 581
    functionName: g_file_io_stream_real_query_info
    functionSourceFile: /src/glib/gio/gfileiostream.c
    functionUses: []
    functionsReached:
    - g_io_stream_get_output_stream
    - G_IO_STREAM
    - G_FILE_OUTPUT_STREAM
    - g_file_output_stream_query_info
    linkageType: ''
    returnType: GFileInfo*
    signature: "static GFileInfo *g_file_io_stream_real_query_info (GFileIOStream\
      \ *stream,\t\t\t\t const char *attributes,\t\t\t\t GCancellable *cancellable,\t\
      \t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gfileiostream.c:596,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gfileiostream.c:597,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 602
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 602
    functionName: async_op_wrapper_new
    functionSourceFile: /src/glib/gio/gfileiostream.c
    functionUses: []
    functionsReached:
    - g_new0
    - g_object_ref
    linkageType: ''
    returnType: AsyncOpWrapper*
    signature: "static AsyncOpWrapper *async_op_wrapper_new (gpointer object,\t\t\
      \ GAsyncReadyCallback callback,\t\t gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/gfileiostream.c:506,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/gfileiostream.c:507,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:506,1
    - Dst: g_seekable_can_seek
      Src: /src/glib/gio/gfileiostream.c:509,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GFileIOStream*
    constantsTouched: []
    func_position:
      end: 510
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 510
    functionName: g_file_io_stream_real_can_seek
    functionSourceFile: /src/glib/gio/gfileiostream.c
    functionUses: []
    functionsReached:
    - g_io_stream_get_output_stream
    - G_IO_STREAM
    - g_seekable_can_seek
    - G_SEEKABLE
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_file_io_stream_real_can_seek (GFileIOStream *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gfileiostream.c:612,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfileiostream.c:611,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 613
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 613
    functionName: async_op_wrapper_callback
    functionSourceFile: /src/glib/gio/gfileiostream.c
    functionUses: []
    functionsReached:
    - g_free
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: "static void async_op_wrapper_callback (GObject *source_object,\t\t\
      \t GAsyncResult *res,\t\t\t gpointer user_data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:180,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfileiostream.c:185,1
    - Dst: g_io_stream_clear_pending
      Src: /src/glib/gio/gfileiostream.c:182,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:182,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 186
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 186
    functionName: async_ready_callback_wrapper
    functionSourceFile: /src/glib/gio/gfileiostream.c
    functionUses: []
    functionsReached:
    - G_IO_STREAM
    - G_FILE_IO_STREAM
    - g_io_stream_clear_pending
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: "static void async_ready_callback_wrapper (GObject *source_object,\t\
      \t\t GAsyncResult *res,\t\t\t gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_io_stream_get_instance_private
      Src: /src/glib/gio/gfileiostream.c:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GFileIOStream*
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: g_file_io_stream_init
    functionSourceFile: /src/glib/gio/gfileiostream.c
    functionUses: []
    functionsReached:
    - g_file_io_stream_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_file_io_stream_init (GFileIOStream *stream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileiostream.c:316,1
    - Dst: G_FILE_IO_STREAM_GET_CLASS
      Src: /src/glib/gio/gfileiostream.c:318,1
    - Dst: G_IS_FILE_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:316,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GFileIOStream*
    constantsTouched: []
    func_position:
      end: 325
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 325
    functionName: g_file_io_stream_tell
    functionSourceFile: /src/glib/gio/gfileiostream.c
    functionUses: []
    functionsReached:
    - G_FILE_IO_STREAM_GET_CLASS
    - g_return_val_if_fail
    - G_IS_FILE_IO_STREAM
    linkageType: ''
    returnType: goffset
    signature: 'static goffset g_file_io_stream_tell (GFileIOStream *stream) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfileiostream.c:416,1
    - Dst: G_FILE_IO_STREAM_GET_CLASS
      Src: /src/glib/gio/gfileiostream.c:418,1
    - Dst: G_IS_FILE_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:416,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GFileIOStream*
    constantsTouched: []
    func_position:
      end: 429
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 429
    functionName: g_file_io_stream_can_truncate
    functionSourceFile: /src/glib/gio/gfileiostream.c
    functionUses: []
    functionsReached:
    - G_FILE_IO_STREAM_GET_CLASS
    - g_return_val_if_fail
    - G_IS_FILE_IO_STREAM
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_file_io_stream_can_truncate (GFileIOStream *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/gfileiostream.c:549,1
    - Dst: g_seekable_truncate
      Src: /src/glib/gio/gfileiostream.c:552,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/gfileiostream.c:550,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:549,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 4
    argNames:
    - stream
    - size
    - cancellable
    - error
    argTypes:
    - GFileIOStream*
    - goffset
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 553
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 553
    functionName: g_file_io_stream_real_truncate_fn
    functionSourceFile: /src/glib/gio/gfileiostream.c
    functionUses: []
    functionsReached:
    - g_io_stream_get_output_stream
    - G_IO_STREAM
    - g_seekable_truncate
    - G_SEEKABLE
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_file_io_stream_real_truncate_fn (GFileIOStream *stream,\t\
      \t\t\t goffset size,\t\t\t\t GCancellable *cancellable,\t\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/gfileiostream.c:627,1
    - Dst: async_op_wrapper_new
      Src: /src/glib/gio/gfileiostream.c:630,1
    - Dst: G_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/gfileiostream.c:628,1
    - Dst: g_file_output_stream_query_info_async
      Src: /src/glib/gio/gfileiostream.c:631,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:627,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 6
    argNames:
    - stream
    - attributes
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFileIOStream*
    - char*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 634
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 634
    functionName: g_file_io_stream_real_query_info_async
    functionSourceFile: /src/glib/gio/gfileiostream.c
    functionUses: []
    functionsReached:
    - G_IO_STREAM
    - G_FILE_OUTPUT_STREAM
    - async_op_wrapper_new
    - g_file_output_stream_query_info_async
    - g_io_stream_get_output_stream
    linkageType: ''
    returnType: void
    signature: "static void g_file_io_stream_real_query_info_async (GFileIOStream\
      \ *stream,\t\t\t\t\tconst char *attributes,\t\t\t\t\tint io_priority,\t\t\t\t\
      \tGCancellable *cancellable,\t\t\t\t\tGAsyncReadyCallback callback,\t\t\t\t\t\
      gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_io_stream_tell
      Src: /src/glib/gio/gfileiostream.c:330,1
    - Dst: G_FILE_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - seekable
    argTypes:
    - GSeekable*
    constantsTouched: []
    func_position:
      end: 331
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 331
    functionName: g_file_io_stream_seekable_tell
    functionSourceFile: /src/glib/gio/gfileiostream.c
    functionUses: []
    functionsReached:
    - G_FILE_IO_STREAM
    - g_file_io_stream_tell
    linkageType: ''
    returnType: goffset
    signature: 'static goffset g_file_io_stream_seekable_tell (GSeekable *seekable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_io_stream_can_truncate
      Src: /src/glib/gio/gfileiostream.c:434,1
    - Dst: G_FILE_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:434,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - seekable
    argTypes:
    - GSeekable*
    constantsTouched: []
    func_position:
      end: 435
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 435
    functionName: g_file_io_stream_seekable_can_truncate
    functionSourceFile: /src/glib/gio/gfileiostream.c
    functionUses: []
    functionsReached:
    - G_FILE_IO_STREAM
    - g_file_io_stream_can_truncate
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_file_io_stream_seekable_can_truncate (GSeekable
      *seekable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/gfileiostream.c:561,1
    - Dst: g_file_output_stream_get_etag
      Src: /src/glib/gio/gfileiostream.c:564,1
    - Dst: G_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/gfileiostream.c:562,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:561,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 565
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 565
    functionName: g_file_io_stream_real_get_etag
    functionSourceFile: /src/glib/gio/gfileiostream.c
    functionUses: []
    functionsReached:
    - g_io_stream_get_output_stream
    - G_IO_STREAM
    - G_FILE_OUTPUT_STREAM
    - g_file_output_stream_get_etag
    linkageType: ''
    returnType: char*
    signature: 'static char *g_file_io_stream_real_get_etag (GFileIOStream *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/gfileiostream.c:644,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/gfileiostream.c:644,1
    - Dst: g_file_output_stream_query_info_finish
      Src: /src/glib/gio/gfileiostream.c:647,1
    - Dst: G_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/gfileiostream.c:645,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 648
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 648
    functionName: g_file_io_stream_real_query_info_finish
    functionSourceFile: /src/glib/gio/gfileiostream.c
    functionUses: []
    functionsReached:
    - g_io_stream_get_output_stream
    - G_IO_STREAM
    - G_FILE_OUTPUT_STREAM
    - g_file_output_stream_query_info_finish
    linkageType: ''
    returnType: GFileInfo*
    signature: "static GFileInfo *g_file_io_stream_real_query_info_finish (GFileIOStream\
      \ *stream,\t\t\t\t\t GAsyncResult *res,\t\t\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_free
      Src: /src/glib/gio/gbufferedinputstream.c:1116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - _data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1117
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1117
    functionName: free_skip_async_data
    functionSourceFile: /src/glib/gio/gbufferedinputstream.c
    functionUses: []
    functionsReached:
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void free_skip_async_data (gpointer _data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_TASK
      Src: /src/glib/gio/gbufferedinputstream.c:1124,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:1132,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gbufferedinputstream.c:1129,1
    - Dst: g_input_stream_skip_finish
      Src: /src/glib/gio/gbufferedinputstream.c:1132,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gbufferedinputstream.c:1137,1
    - Dst: g_error_free
      Src: /src/glib/gio/gbufferedinputstream.c:1141,1
    - Dst: g_task_return_int
      Src: /src/glib/gio/gbufferedinputstream.c:1146,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gbufferedinputstream.c:1149,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 3
    argNames:
    - source_object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1150
      start: 1119
    functionDepth: 0
    functionLinenumber: 1119
    functionLinenumberEnd: 1150
    functionName: large_skip_callback
    functionSourceFile: /src/glib/gio/gbufferedinputstream.c
    functionUses: []
    functionsReached:
    - g_input_stream_skip_finish
    - g_object_unref
    - g_task_return_int
    - g_error_free
    - g_task_get_task_data
    - g_task_return_error
    - G_TASK
    - G_INPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void large_skip_callback (GObject *source_object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gbufferedinputstream.c:209,1
    - Dst: memcpy
      Src: /src/glib/gio/gbufferedinputstream.c:224,1
    - Dst: G_IS_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:209,1
    - Dst: g_malloc
      Src: /src/glib/gio/gbufferedinputstream.c:223,1
    - Dst: MAX
      Src: /src/glib/gio/gbufferedinputstream.c:221,1
    - Dst: g_free
      Src: /src/glib/gio/gbufferedinputstream.c:228,1
    - Dst: g_malloc
      Src: /src/glib/gio/gbufferedinputstream.c:236,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gbufferedinputstream.c:239,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gbufferedinputstream.c:239,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - stream
    - size
    argTypes:
    - GBufferedInputStream*
    - gsize
    constantsTouched: []
    func_position:
      end: 240
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 240
    functionName: g_buffered_input_stream_set_buffer_size
    functionSourceFile: /src/glib/gio/gbufferedinputstream.c
    functionUses: []
    functionsReached:
    - memcpy
    - G_IS_BUFFERED_INPUT_STREAM
    - g_return_if_fail
    - g_object_notify
    - g_malloc
    - MAX
    - G_OBJECT
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_buffered_input_stream_set_buffer_size (GBufferedInputStream
      *stream, gsize size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gbufferedinputstream.c:481,1
    - Dst: g_task_new
      Src: /src/glib/gio/gbufferedinputstream.c:487,1
    - Dst: g_task_return_int
      Src: /src/glib/gio/gbufferedinputstream.c:489,1
    - Dst: G_IS_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:481,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gbufferedinputstream.c:488,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gbufferedinputstream.c:490,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gbufferedinputstream.c:496,1
    - Dst: _
      Src: /src/glib/gio/gbufferedinputstream.c:499,1
    - Dst: g_input_stream_set_pending
      Src: /src/glib/gio/gbufferedinputstream.c:504,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:504,1
    - Dst: g_task_report_error
      Src: /src/glib/gio/gbufferedinputstream.c:506,1
    - Dst: G_BUFFERED_INPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/gbufferedinputstream.c:512,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gbufferedinputstream.c:515,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 6
    argNames:
    - stream
    - count
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GBufferedInputStream*
    - gssize
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 518
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 518
    functionName: g_buffered_input_stream_fill_async
    functionSourceFile: /src/glib/gio/gbufferedinputstream.c
    functionUses: []
    functionsReached:
    - G_BUFFERED_INPUT_STREAM_GET_CLASS
    - g_task_new
    - G_IS_BUFFERED_INPUT_STREAM
    - g_object_unref
    - g_task_set_source_tag
    - g_return_if_fail
    - g_task_return_int
    - g_task_report_new_error
    - g_task_report_error
    - G_INPUT_STREAM
    - g_object_ref
    - _
    - g_input_stream_set_pending
    linkageType: ''
    returnType: void
    signature: 'void g_buffered_input_stream_fill_async (GBufferedInputStream *stream,
      gssize count, int io_priority, GCancellable *cancellable, GAsyncReadyCallback
      callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:294,1
    - Dst: g_free
      Src: /src/glib/gio/gbufferedinputstream.c:297,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gbufferedinputstream.c:299,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 300
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 300
    functionName: g_buffered_input_stream_finalize
    functionSourceFile: /src/glib/gio/gbufferedinputstream.c
    functionUses: []
    functionsReached:
    - g_free
    - G_BUFFERED_INPUT_STREAM
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_buffered_input_stream_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/glib/gio/gbufferedinputstream.c:640,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GBufferedInputStream*
    constantsTouched: []
    func_position:
      end: 644
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 644
    functionName: compact_buffer
    functionSourceFile: /src/glib/gio/gbufferedinputstream.c
    functionUses: []
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: 'static void compact_buffer (GBufferedInputStream *stream) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:697,1
    - Dst: g_input_stream_skip
      Src: /src/glib/gio/gbufferedinputstream.c:726,1
    - Dst: G_FILTER_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:724,1
    - Dst: G_BUFFERED_INPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/gbufferedinputstream.c:740,1
    - Dst: MIN
      Src: /src/glib/gio/gbufferedinputstream.c:752,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 4
    argNames:
    - stream
    - count
    - cancellable
    - error
    argTypes:
    - GInputStream*
    - gsize
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 758
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 758
    functionName: g_buffered_input_stream_skip
    functionSourceFile: /src/glib/gio/gbufferedinputstream.c
    functionUses: []
    functionsReached:
    - G_BUFFERED_INPUT_STREAM
    - G_FILTER_INPUT_STREAM
    - MIN
    - g_input_stream_skip
    - G_BUFFERED_INPUT_STREAM_GET_CLASS
    linkageType: ''
    returnType: gssize
    signature: 'static gssize g_buffered_input_stream_skip (GInputStream *stream,
      gsize count, GCancellable *cancellable, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:885,1
    - Dst: _
      Src: /src/glib/gio/gbufferedinputstream.c:892,1
    - Dst: G_IS_SEEKABLE
      Src: /src/glib/gio/gbufferedinputstream.c:889,1
    - Dst: G_FILTER_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:888,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gbufferedinputstream.c:891,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/gbufferedinputstream.c:896,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/gbufferedinputstream.c:912,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 5
    argNames:
    - seekable
    - offset
    - type
    - cancellable
    - error
    argTypes:
    - GSeekable*
    - goffset
    - GSeekType
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 922
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 922
    functionName: g_buffered_input_stream_seek
    functionSourceFile: /src/glib/gio/gbufferedinputstream.c
    functionUses: []
    functionsReached:
    - G_BUFFERED_INPUT_STREAM
    - G_FILTER_INPUT_STREAM
    - g_seekable_seek
    - G_SEEKABLE
    - g_set_error_literal
    - _
    - G_IS_SEEKABLE
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_buffered_input_stream_seek (GSeekable *seekable,\t\
      \t\t goffset offset,\t\t\t GSeekType type,\t\t\t GCancellable *cancellable,\t\
      \t\t GError **error) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gbufferedinputstream.c:976,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:979,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gbufferedinputstream.c:983,1
    - Dst: G_IS_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:976,1
    - Dst: g_input_stream_is_closed
      Src: /src/glib/gio/gbufferedinputstream.c:981,1
    - Dst: _
      Src: /src/glib/gio/gbufferedinputstream.c:984,1
    - Dst: g_input_stream_set_pending
      Src: /src/glib/gio/gbufferedinputstream.c:988,1
    - Dst: g_input_stream_clear_pending
      Src: /src/glib/gio/gbufferedinputstream.c:995,1
    - Dst: g_cancellable_push_current
      Src: /src/glib/gio/gbufferedinputstream.c:1002,1
    - Dst: G_BUFFERED_INPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/gbufferedinputstream.c:1007,1
    - Dst: g_cancellable_pop_current
      Src: /src/glib/gio/gbufferedinputstream.c:1011,1
    - Dst: g_input_stream_clear_pending
      Src: /src/glib/gio/gbufferedinputstream.c:1013,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GBufferedInputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1019
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 1019
    functionName: g_buffered_input_stream_read_byte
    functionSourceFile: /src/glib/gio/gbufferedinputstream.c
    functionUses: []
    functionsReached:
    - G_BUFFERED_INPUT_STREAM_GET_CLASS
    - g_cancellable_pop_current
    - g_return_val_if_fail
    - G_IS_BUFFERED_INPUT_STREAM
    - g_input_stream_clear_pending
    - g_set_error_literal
    - g_input_stream_set_pending
    - g_cancellable_push_current
    - g_input_stream_is_closed
    - _
    - G_INPUT_STREAM
    linkageType: ''
    returnType: int
    signature: 'int g_buffered_input_stream_read_byte (GBufferedInputStream *stream,
      GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gbufferedinputstream.c:143,1
    - Dst: G_BUFFERED_INPUT_STREAM_CLASS
      Src: /src/glib/gio/gbufferedinputstream.c:154,1
    - Dst: g_param_spec_uint
      Src: /src/glib/gio/gbufferedinputstream.c:166,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gbufferedinputstream.c:164,1
    - Dst: G_INPUT_STREAM_CLASS
      Src: /src/glib/gio/gbufferedinputstream.c:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GBufferedInputStreamClass*
    constantsTouched: []
    func_position:
      end: 174
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 174
    functionName: g_buffered_input_stream_class_init
    functionSourceFile: /src/glib/gio/gbufferedinputstream.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - G_INPUT_STREAM_CLASS
    - G_OBJECT_CLASS
    - g_param_spec_uint
    - G_BUFFERED_INPUT_STREAM_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_buffered_input_stream_class_init (GBufferedInputStreamClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GSeekableIface*
    constantsTouched: []
    func_position:
      end: 310
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 310
    functionName: g_buffered_input_stream_seekable_iface_init
    functionSourceFile: /src/glib/gio/gbufferedinputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_buffered_input_stream_seekable_iface_init (GSeekableIface
      *iface) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/glib/gio/gbufferedinputstream.c:665,1
    - Dst: G_FILTER_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:671,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/gbufferedinputstream.c:672,1
    - Dst: compact_buffer
      Src: /src/glib/gio/gbufferedinputstream.c:669,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 4
    argNames:
    - stream
    - count
    - cancellable
    - error
    argTypes:
    - GBufferedInputStream*
    - gssize
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 682
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 682
    functionName: g_buffered_input_stream_real_fill
    functionSourceFile: /src/glib/gio/gbufferedinputstream.c
    functionUses: []
    functionsReached:
    - compact_buffer
    - g_input_stream_read
    - G_FILTER_INPUT_STREAM
    - MIN
    linkageType: ''
    returnType: gssize
    signature: 'static gssize g_buffered_input_stream_real_fill (GBufferedInputStream
      *stream, gssize count, GCancellable *cancellable, GError **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:774,1
    - Dst: memcpy
      Src: /src/glib/gio/gbufferedinputstream.c:790,1
    - Dst: G_FILTER_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:803,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/gbufferedinputstream.c:805,1
    - Dst: memcpy
      Src: /src/glib/gio/gbufferedinputstream.c:781,1
    - Dst: G_BUFFERED_INPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/gbufferedinputstream.c:820,1
    - Dst: MIN
      Src: /src/glib/gio/gbufferedinputstream.c:831,1
    - Dst: memcpy
      Src: /src/glib/gio/gbufferedinputstream.c:833,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 47
    argCount: 5
    argNames:
    - stream
    - buffer
    - count
    - cancellable
    - error
    argTypes:
    - GInputStream*
    - void*
    - gsize
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 838
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 838
    functionName: g_buffered_input_stream_read
    functionSourceFile: /src/glib/gio/gbufferedinputstream.c
    functionUses: []
    functionsReached:
    - memcpy
    - G_BUFFERED_INPUT_STREAM
    - G_FILTER_INPUT_STREAM
    - MIN
    - g_input_stream_read
    - G_BUFFERED_INPUT_STREAM_GET_CLASS
    linkageType: ''
    returnType: gssize
    signature: 'static gssize g_buffered_input_stream_read (GInputStream *stream,
      void *buffer, gsize count, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - seekable
    argTypes:
    - GSeekable*
    constantsTouched: []
    func_position:
      end: 928
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 928
    functionName: g_buffered_input_stream_can_truncate
    functionSourceFile: /src/glib/gio/gbufferedinputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_buffered_input_stream_can_truncate (GSeekable *seekable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gbufferedinputstream.c:936,1
    - Dst: _
      Src: /src/glib/gio/gbufferedinputstream.c:939,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - seekable
    - offset
    - cancellable
    - error
    argTypes:
    - GSeekable*
    - goffset
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 941
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 941
    functionName: g_buffered_input_stream_truncate
    functionSourceFile: /src/glib/gio/gbufferedinputstream.c
    functionUses: []
    functionsReached:
    - _
    - g_set_error_literal
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_buffered_input_stream_truncate (GSeekable *seekable,\t\
      \t\t\t goffset offset,\t\t\t\t GCancellable *cancellable,\t\t\t\t GError **error) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:250,1
    - Dst: g_value_get_uint
      Src: /src/glib/gio/gbufferedinputstream.c:255,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gbufferedinputstream.c:259,1
    - Dst: g_buffered_input_stream_set_buffer_size
      Src: /src/glib/gio/gbufferedinputstream.c:255,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 262
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 262
    functionName: g_buffered_input_stream_set_property
    functionSourceFile: /src/glib/gio/gbufferedinputstream.c
    functionUses: []
    functionsReached:
    - g_value_get_uint
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_BUFFERED_INPUT_STREAM
    - g_buffered_input_stream_set_buffer_size
    linkageType: ''
    returnType: void
    signature: 'static void g_buffered_input_stream_set_property (GObject *object,
      guint prop_id, const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_buffered_input_stream_get_instance_private
      Src: /src/glib/gio/gbufferedinputstream.c:315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GBufferedInputStream*
    constantsTouched: []
    func_position:
      end: 316
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 316
    functionName: g_buffered_input_stream_init
    functionSourceFile: /src/glib/gio/gbufferedinputstream.c
    functionUses: []
    functionsReached:
    - g_buffered_input_stream_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_buffered_input_stream_init (GBufferedInputStream *stream) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gbufferedinputstream.c:414,1
    - Dst: g_set_error
      Src: /src/glib/gio/gbufferedinputstream.c:420,1
    - Dst: G_IS_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:414,1
    - Dst: _
      Src: /src/glib/gio/gbufferedinputstream.c:421,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:416,1
    - Dst: g_input_stream_set_pending
      Src: /src/glib/gio/gbufferedinputstream.c:425,1
    - Dst: g_cancellable_push_current
      Src: /src/glib/gio/gbufferedinputstream.c:429,1
    - Dst: G_BUFFERED_INPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/gbufferedinputstream.c:431,1
    - Dst: g_cancellable_pop_current
      Src: /src/glib/gio/gbufferedinputstream.c:435,1
    - Dst: g_input_stream_clear_pending
      Src: /src/glib/gio/gbufferedinputstream.c:437,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 4
    argNames:
    - stream
    - count
    - cancellable
    - error
    argTypes:
    - GBufferedInputStream*
    - gssize
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 440
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 440
    functionName: g_buffered_input_stream_fill
    functionSourceFile: /src/glib/gio/gbufferedinputstream.c
    functionUses: []
    functionsReached:
    - g_set_error
    - G_BUFFERED_INPUT_STREAM_GET_CLASS
    - g_cancellable_pop_current
    - g_return_val_if_fail
    - G_IS_BUFFERED_INPUT_STREAM
    - g_input_stream_clear_pending
    - g_input_stream_set_pending
    - g_cancellable_push_current
    - _
    - G_INPUT_STREAM
    linkageType: ''
    returnType: gssize
    signature: 'gssize g_buffered_input_stream_fill (GBufferedInputStream *stream,
      gssize count, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gbufferedinputstream.c:560,1
    - Dst: G_IS_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:560,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GBufferedInputStream*
    constantsTouched: []
    func_position:
      end: 563
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 563
    functionName: g_buffered_input_stream_get_available
    functionSourceFile: /src/glib/gio/gbufferedinputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_BUFFERED_INPUT_STREAM
    linkageType: ''
    returnType: gsize
    signature: 'gsize g_buffered_input_stream_get_available (GBufferedInputStream
      *stream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gbufferedinputstream.c:620,1
    - Dst: G_IS_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:620,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 628
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 628
    functionName: g_buffered_input_stream_peek_buffer
    functionSourceFile: /src/glib/gio/gbufferedinputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_BUFFERED_INPUT_STREAM
    linkageType: ''
    returnType: void*
    signature: 'const void *g_buffered_input_stream_peek_buffer (GBufferedInputStream
      *stream, gsize *count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gbufferedinputstream.c:1101,1
    - Dst: G_TASK
      Src: /src/glib/gio/gbufferedinputstream.c:1103,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/gbufferedinputstream.c:1103,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gbufferedinputstream.c:1101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - stream
    - result
    - error
    argTypes:
    - GBufferedInputStream*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 1104
      start: 1096
    functionDepth: 0
    functionLinenumber: 1096
    functionLinenumberEnd: 1104
    functionName: g_buffered_input_stream_real_fill_finish
    functionSourceFile: /src/glib/gio/gbufferedinputstream.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_return_val_if_fail
    - g_task_is_valid
    - g_task_propagate_int
    linkageType: ''
    returnType: gssize
    signature: 'static gssize g_buffered_input_stream_real_fill_finish (GBufferedInputStream
      *stream, GAsyncResult *result, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:273,1
    - Dst: g_value_set_uint
      Src: /src/glib/gio/gbufferedinputstream.c:279,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gbufferedinputstream.c:283,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 286
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 286
    functionName: g_buffered_input_stream_get_property
    functionSourceFile: /src/glib/gio/gbufferedinputstream.c
    functionUses: []
    functionsReached:
    - g_value_set_uint
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_BUFFERED_INPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void g_buffered_input_stream_get_property (GObject *object,
      guint prop_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gbufferedinputstream.c:1273,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/gbufferedinputstream.c:1275,1
    - Dst: G_TASK
      Src: /src/glib/gio/gbufferedinputstream.c:1275,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gbufferedinputstream.c:1273,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - stream
    - result
    - error
    argTypes:
    - GInputStream*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 1276
      start: 1268
    functionDepth: 0
    functionLinenumber: 1268
    functionLinenumberEnd: 1276
    functionName: g_buffered_input_stream_skip_finish
    functionSourceFile: /src/glib/gio/gbufferedinputstream.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_return_val_if_fail
    - g_task_is_valid
    - g_task_propagate_int
    linkageType: ''
    returnType: gssize
    signature: 'static gssize g_buffered_input_stream_skip_finish (GInputStream *stream,
      GAsyncResult *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gbufferedinputstream.c:358,1
    - Dst: G_IS_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:358,1
    - Dst: g_object_new
      Src: /src/glib/gio/gbufferedinputstream.c:360,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 366
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 366
    functionName: g_buffered_input_stream_new_sized
    functionSourceFile: /src/glib/gio/gbufferedinputstream.c
    functionUses: []
    functionsReached:
    - G_IS_INPUT_STREAM
    - g_return_val_if_fail
    - g_object_new
    linkageType: ''
    returnType: GInputStream*
    signature: 'GInputStream *g_buffered_input_stream_new_sized (GInputStream *base_stream,
      gsize size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gbufferedinputstream.c:537,1
    - Dst: G_IS_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:537,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gbufferedinputstream.c:538,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gbufferedinputstream.c:540,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gbufferedinputstream.c:538,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gbufferedinputstream.c:542,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/gbufferedinputstream.c:543,1
    - Dst: G_TASK
      Src: /src/glib/gio/gbufferedinputstream.c:543,1
    - Dst: G_BUFFERED_INPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/gbufferedinputstream.c:545,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - stream
    - result
    - error
    argTypes:
    - GBufferedInputStream*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 547
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 547
    functionName: g_buffered_input_stream_fill_finish
    functionSourceFile: /src/glib/gio/gbufferedinputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_BUFFERED_INPUT_STREAM
    - g_async_result_legacy_propagate_error
    - G_IS_ASYNC_RESULT
    - g_task_propagate_int
    - G_TASK
    - g_async_result_is_tagged
    - G_BUFFERED_INPUT_STREAM_GET_CLASS
    linkageType: ''
    returnType: gssize
    signature: 'gssize g_buffered_input_stream_fill_finish (GBufferedInputStream *stream,
      GAsyncResult *result, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gbufferedinputstream.c:587,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gbufferedinputstream.c:588,1
    - Dst: G_IS_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:587,1
    - Dst: MIN
      Src: /src/glib/gio/gbufferedinputstream.c:595,1
    - Dst: g_buffered_input_stream_get_available
      Src: /src/glib/gio/gbufferedinputstream.c:590,1
    - Dst: memcpy
      Src: /src/glib/gio/gbufferedinputstream.c:598,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - stream
    - buffer
    - offset
    - count
    argTypes:
    - GBufferedInputStream*
    - void*
    - gsize
    - gsize
    constantsTouched: []
    func_position:
      end: 600
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 600
    functionName: g_buffered_input_stream_peek
    functionSourceFile: /src/glib/gio/gbufferedinputstream.c
    functionUses: []
    functionsReached:
    - g_buffered_input_stream_get_available
    - memcpy
    - g_return_val_if_fail
    - G_IS_BUFFERED_INPUT_STREAM
    - MIN
    linkageType: ''
    returnType: gsize
    signature: 'gsize g_buffered_input_stream_peek (GBufferedInputStream *stream,
      void *buffer, gsize offset, gsize count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gbufferedinputstream.c:187,1
    - Dst: G_IS_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GBufferedInputStream*
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: g_buffered_input_stream_get_buffer_size
    functionSourceFile: /src/glib/gio/gbufferedinputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_BUFFERED_INPUT_STREAM
    linkageType: ''
    returnType: gsize
    signature: 'gsize g_buffered_input_stream_get_buffer_size (GBufferedInputStream
      *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:447,1
    - Dst: g_input_stream_clear_pending
      Src: /src/glib/gio/gbufferedinputstream.c:449,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gbufferedinputstream.c:451,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:449,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 452
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 452
    functionName: async_fill_callback_wrapper
    functionSourceFile: /src/glib/gio/gbufferedinputstream.c
    functionUses: []
    functionsReached:
    - g_input_stream_clear_pending
    - g_object_unref
    - G_BUFFERED_INPUT_STREAM
    - G_INPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void async_fill_callback_wrapper (GObject *source_object, GAsyncResult
      *res, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:850,1
    - Dst: G_IS_SEEKABLE
      Src: /src/glib/gio/gbufferedinputstream.c:854,1
    - Dst: G_FILTER_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:853,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/gbufferedinputstream.c:856,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/gbufferedinputstream.c:859,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - seekable
    argTypes:
    - GSeekable*
    constantsTouched: []
    func_position:
      end: 862
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 862
    functionName: g_buffered_input_stream_tell
    functionSourceFile: /src/glib/gio/gbufferedinputstream.c
    functionUses: []
    functionsReached:
    - G_BUFFERED_INPUT_STREAM
    - G_FILTER_INPUT_STREAM
    - G_SEEKABLE
    - g_seekable_tell
    - G_IS_SEEKABLE
    linkageType: ''
    returnType: goffset
    signature: 'static goffset g_buffered_input_stream_tell (GSeekable *seekable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_input_stream_read_finish
      Src: /src/glib/gio/gbufferedinputstream.c:1035,1
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/gbufferedinputstream.c:1044,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:1045,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gbufferedinputstream.c:1038,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:1035,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/gbufferedinputstream.c:1047,1
    - Dst: g_task_return_int
      Src: /src/glib/gio/gbufferedinputstream.c:1050,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gbufferedinputstream.c:1053,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - source_object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1054
      start: 1025
    functionDepth: 0
    functionLinenumber: 1025
    functionLinenumberEnd: 1054
    functionName: fill_async_callback
    functionSourceFile: /src/glib/gio/gbufferedinputstream.c
    functionUses: []
    functionsReached:
    - G_BUFFERED_INPUT_STREAM
    - g_object_unref
    - g_task_return_int
    - g_input_stream_read_finish
    - g_task_get_source_object
    - G_INPUT_STREAM
    - g_task_return_error
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void fill_async_callback (GObject *source_object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_TASK
      Src: /src/glib/gio/gbufferedinputstream.c:1157,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gbufferedinputstream.c:1175,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gbufferedinputstream.c:1168,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:1165,1
    - Dst: g_buffered_input_stream_fill_finish
      Src: /src/glib/gio/gbufferedinputstream.c:1171,1
    - Dst: g_error_free
      Src: /src/glib/gio/gbufferedinputstream.c:1179,1
    - Dst: MIN
      Src: /src/glib/gio/gbufferedinputstream.c:1184,1
    - Dst: g_assert
      Src: /src/glib/gio/gbufferedinputstream.c:1190,1
    - Dst: g_task_return_int
      Src: /src/glib/gio/gbufferedinputstream.c:1191,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gbufferedinputstream.c:1194,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 3
    argNames:
    - source_object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1195
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1195
    functionName: skip_fill_buffer_callback
    functionSourceFile: /src/glib/gio/gbufferedinputstream.c
    functionUses: []
    functionsReached:
    - g_buffered_input_stream_fill_finish
    - G_BUFFERED_INPUT_STREAM
    - g_object_unref
    - g_assert
    - g_task_return_int
    - MIN
    - g_error_free
    - g_task_get_task_data
    - G_TASK
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void skip_fill_buffer_callback (GObject *source_object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_FILTER_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:869,1
    - Dst: g_seekable_can_seek
      Src: /src/glib/gio/gbufferedinputstream.c:870,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/gbufferedinputstream.c:870,1
    - Dst: G_IS_SEEKABLE
      Src: /src/glib/gio/gbufferedinputstream.c:870,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - seekable
    argTypes:
    - GSeekable*
    constantsTouched: []
    func_position:
      end: 871
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 871
    functionName: g_buffered_input_stream_can_seek
    functionSourceFile: /src/glib/gio/gbufferedinputstream.c
    functionUses: []
    functionsReached:
    - G_SEEKABLE
    - G_FILTER_INPUT_STREAM
    - G_IS_SEEKABLE
    - g_seekable_can_seek
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_buffered_input_stream_can_seek (GSeekable *seekable) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/glib/gio/gbufferedinputstream.c:1077,1
    - Dst: G_FILTER_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:1086,1
    - Dst: g_task_new
      Src: /src/glib/gio/gbufferedinputstream.c:1083,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gbufferedinputstream.c:1084,1
    - Dst: compact_buffer
      Src: /src/glib/gio/gbufferedinputstream.c:1081,1
    - Dst: g_input_stream_read_async
      Src: /src/glib/gio/gbufferedinputstream.c:1087,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 6
    argNames:
    - stream
    - count
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GBufferedInputStream*
    - gssize
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 1094
      start: 1056
    functionDepth: 0
    functionLinenumber: 1056
    functionLinenumberEnd: 1094
    functionName: g_buffered_input_stream_real_fill_async
    functionSourceFile: /src/glib/gio/gbufferedinputstream.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_task_set_source_tag
    - G_FILTER_INPUT_STREAM
    - MIN
    - g_input_stream_read_async
    - compact_buffer
    linkageType: ''
    returnType: void
    signature: 'static void g_buffered_input_stream_real_fill_async (GBufferedInputStream
      *stream, gssize count, int io_priority, GCancellable *cancellable, GAsyncReadyCallback
      callback, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:1213,1
    - Dst: g_task_new
      Src: /src/glib/gio/gbufferedinputstream.c:1218,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gbufferedinputstream.c:1219,1
    - Dst: g_slice_new
      Src: /src/glib/gio/gbufferedinputstream.c:1216,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gbufferedinputstream.c:1220,1
    - Dst: g_task_return_int
      Src: /src/glib/gio/gbufferedinputstream.c:1228,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gbufferedinputstream.c:1229,1
    - Dst: G_FILTER_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:1248,1
    - Dst: g_assert
      Src: /src/glib/gio/gbufferedinputstream.c:1253,1
    - Dst: g_input_stream_skip_async
      Src: /src/glib/gio/gbufferedinputstream.c:1254,1
    - Dst: G_BUFFERED_INPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/gbufferedinputstream.c:1262,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 6
    argNames:
    - stream
    - count
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GInputStream*
    - gsize
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 1266
      start: 1197
    functionDepth: 0
    functionLinenumber: 1197
    functionLinenumberEnd: 1266
    functionName: g_buffered_input_stream_skip_async
    functionSourceFile: /src/glib/gio/gbufferedinputstream.c
    functionUses: []
    functionsReached:
    - g_task_new
    - G_BUFFERED_INPUT_STREAM
    - g_object_unref
    - g_task_set_source_tag
    - g_assert
    - g_task_return_int
    - G_FILTER_INPUT_STREAM
    - g_slice_new
    - g_task_set_task_data
    - G_BUFFERED_INPUT_STREAM_GET_CLASS
    - g_input_stream_skip_async
    linkageType: ''
    returnType: void
    signature: 'static void g_buffered_input_stream_skip_async (GInputStream *stream,
      gsize count, int io_priority, GCancellable *cancellable, GAsyncReadyCallback
      callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gbufferedinputstream.c:333,1
    - Dst: G_IS_INPUT_STREAM
      Src: /src/glib/gio/gbufferedinputstream.c:333,1
    - Dst: g_object_new
      Src: /src/glib/gio/gbufferedinputstream.c:335,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 340
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 340
    functionName: g_buffered_input_stream_new
    functionSourceFile: /src/glib/gio/gbufferedinputstream.c
    functionUses: []
    functionsReached:
    - G_IS_INPUT_STREAM
    - g_return_val_if_fail
    - g_object_new
    linkageType: ''
    returnType: GInputStream*
    signature: 'GInputStream *g_buffered_input_stream_new (GInputStream *base_stream) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/gsimpleasyncresult.c:257,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsimpleasyncresult.c:260,1
    - Dst: clear_op_res
      Src: /src/glib/gio/gsimpleasyncresult.c:267,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsimpleasyncresult.c:263,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/gsimpleasyncresult.c:265,1
    - Dst: g_error_free
      Src: /src/glib/gio/gsimpleasyncresult.c:270,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsimpleasyncresult.c:272,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 273
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 273
    functionName: g_simple_async_result_finalize
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - clear_op_res
    - g_main_context_unref
    - g_object_unref
    - G_OBJECT_CLASS
    - g_error_free
    - G_SIMPLE_ASYNC_RESULT
    linkageType: ''
    returnType: void
    signature: 'static void g_simple_async_result_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:390,1
    - Dst: g_simple_async_result_new
      Src: /src/glib/gio/gsimpleasyncresult.c:392,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gio/gsimpleasyncresult.c:390,1
    - Dst: g_simple_async_result_take_error
      Src: /src/glib/gio/gsimpleasyncresult.c:395,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 398
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 398
    functionName: g_simple_async_result_new_take_error
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - g_simple_async_result_take_error
    - g_return_val_if_fail
    - g_simple_async_result_new
    - G_IS_OBJECT
    linkageType: ''
    returnType: GSimpleAsyncResult*
    signature: 'GSimpleAsyncResult *g_simple_async_result_new_take_error (GObject
      *source_object, GAsyncReadyCallback callback, gpointer user_data, GError *error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:428,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:429,1
    - Dst: g_simple_async_result_new
      Src: /src/glib/gio/gsimpleasyncresult.c:432,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:430,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gio/gsimpleasyncresult.c:428,1
    - Dst: va_start
      Src: /src/glib/gio/gsimpleasyncresult.c:436,1
    - Dst: g_simple_async_result_set_error_va
      Src: /src/glib/gio/gsimpleasyncresult.c:437,1
    - Dst: va_end
      Src: /src/glib/gio/gsimpleasyncresult.c:438,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 441
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 441
    functionName: g_simple_async_result_new_error
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_simple_async_result_new
    - G_IS_OBJECT
    - g_simple_async_result_set_error_va
    - va_end
    - va_start
    linkageType: ''
    returnType: GSimpleAsyncResult*
    signature: 'GSimpleAsyncResult *g_simple_async_result_new_error (GObject *source_object,
      GAsyncReadyCallback callback, gpointer user_data, GQuark domain, gint code,
      const char *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:581,1
    - Dst: G_IS_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/gsimpleasyncresult.c:581,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - simple
    argTypes:
    - GSimpleAsyncResult*
    constantsTouched: []
    func_position:
      end: 583
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 583
    functionName: g_simple_async_result_get_op_res_gpointer
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - G_IS_SIMPLE_ASYNC_RESULT
    - g_return_val_if_fail
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_simple_async_result_get_op_res_gpointer (GSimpleAsyncResult
      *simple) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:695,1
    - Dst: g_error_free
      Src: /src/glib/gio/gsimpleasyncresult.c:699,1
    - Dst: G_IS_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/gsimpleasyncresult.c:695,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:696,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - simple
    - error
    argTypes:
    - GSimpleAsyncResult*
    - GError*
    constantsTouched: []
    func_position:
      end: 702
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 702
    functionName: g_simple_async_result_take_error
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - G_IS_SIMPLE_ASYNC_RESULT
    - g_error_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_simple_async_result_take_error (GSimpleAsyncResult *simple,
      GError *error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:724,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:726,1
    - Dst: G_IS_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/gsimpleasyncresult.c:724,1
    - Dst: g_error_free
      Src: /src/glib/gio/gsimpleasyncresult.c:729,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:725,1
    - Dst: g_error_new_valist
      Src: /src/glib/gio/gsimpleasyncresult.c:730,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - simple
    - domain
    - code
    - format
    - args
    argTypes:
    - GSimpleAsyncResult*
    - GQuark
    - gint
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 732
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 732
    functionName: g_simple_async_result_set_error_va
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - G_IS_SIMPLE_ASYNC_RESULT
    - g_error_free
    - g_error_new_valist
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_simple_async_result_set_error_va (GSimpleAsyncResult *simple,
      GQuark domain, gint code, const char *format, va_list args) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:937,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:938,1
    - Dst: g_new
      Src: /src/glib/gio/gsimpleasyncresult.c:940,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsimpleasyncresult.c:942,1
    - Dst: G_IS_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/gsimpleasyncresult.c:937,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsimpleasyncresult.c:945,1
    - Dst: g_io_scheduler_push_job
      Src: /src/glib/gio/gsimpleasyncresult.c:947,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - simple
    - func
    - io_priority
    - cancellable
    argTypes:
    - GSimpleAsyncResult*
    - GSimpleAsyncThreadFunc
    - int
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 949
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 949
    functionName: g_simple_async_result_run_in_thread
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - g_new
    - g_return_if_fail
    - g_io_scheduler_push_job
    - g_object_ref
    - G_IS_SIMPLE_ASYNC_RESULT
    linkageType: ''
    returnType: void
    signature: 'void g_simple_async_result_run_in_thread (GSimpleAsyncResult *simple,
      GSimpleAsyncThreadFunc func, int io_priority, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:1102,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gio/gsimpleasyncresult.c:1102,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:1103,1
    - Dst: g_simple_async_result_new_take_error
      Src: /src/glib/gio/gsimpleasyncresult.c:1105,1
    - Dst: g_simple_async_result_complete_in_idle
      Src: /src/glib/gio/gsimpleasyncresult.c:1109,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsimpleasyncresult.c:1110,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - object
    - callback
    - user_data
    - error
    argTypes:
    - GObject*
    - GAsyncReadyCallback
    - gpointer
    - GError*
    constantsTouched: []
    func_position:
      end: 1111
      start: 1094
    functionDepth: 0
    functionLinenumber: 1094
    functionLinenumberEnd: 1111
    functionName: g_simple_async_report_take_gerror_in_idle
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_return_if_fail
    - G_IS_OBJECT
    - g_simple_async_result_complete_in_idle
    - g_simple_async_result_new_take_error
    linkageType: ''
    returnType: void
    signature: 'void g_simple_async_report_take_gerror_in_idle (GObject *object, GAsyncReadyCallback
      callback, gpointer user_data, GError *error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - simple
    argTypes:
    - GSimpleAsyncResult*
    constantsTouched: []
    func_position:
      end: 250
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 250
    functionName: clear_op_res
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void clear_op_res (GSimpleAsyncResult *simple) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsimpleasyncresult.c:278,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GSimpleAsyncResultClass*
    constantsTouched: []
    func_position:
      end: 281
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 281
    functionName: g_simple_async_result_class_init
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_simple_async_result_class_init (GSimpleAsyncResultClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/gsimpleasyncresult.c:447,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - res
    argTypes:
    - GAsyncResult*
    constantsTouched: []
    func_position:
      end: 448
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 448
    functionName: g_simple_async_result_get_user_data
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - G_SIMPLE_ASYNC_RESULT
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer g_simple_async_result_get_user_data (GAsyncResult
      *res) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:321,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gio/gsimpleasyncresult.c:321,1
    - Dst: g_object_new
      Src: /src/glib/gio/gsimpleasyncresult.c:323,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsimpleasyncresult.c:326,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 333
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 333
    functionName: g_simple_async_result_new
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_object_new
    - G_IS_OBJECT
    - g_object_ref
    linkageType: ''
    returnType: GSimpleAsyncResult*
    signature: 'GSimpleAsyncResult *g_simple_async_result_new (GObject *source_object,
      GAsyncReadyCallback callback, gpointer user_data, gpointer source_tag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:356,1
    - Dst: g_simple_async_result_new
      Src: /src/glib/gio/gsimpleasyncresult.c:358,1
    - Dst: g_simple_async_result_set_from_error
      Src: /src/glib/gio/gsimpleasyncresult.c:361,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gio/gsimpleasyncresult.c:356,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 364
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 364
    functionName: g_simple_async_result_new_from_error
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_simple_async_result_set_from_error
    - g_simple_async_result_new
    - G_IS_OBJECT
    linkageType: ''
    returnType: GSimpleAsyncResult*
    signature: 'GSimpleAsyncResult *g_simple_async_result_new_from_error (GObject
      *source_object, GAsyncReadyCallback callback, gpointer user_data, const GError
      *error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:490,1
    - Dst: G_IS_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/gsimpleasyncresult.c:490,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - simple
    - handle_cancellation
    argTypes:
    - GSimpleAsyncResult*
    - gboolean
    constantsTouched: []
    func_position:
      end: 492
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 492
    functionName: g_simple_async_result_set_handle_cancellation
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - G_IS_SIMPLE_ASYNC_RESULT
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_simple_async_result_set_handle_cancellation (GSimpleAsyncResult
      *simple, gboolean handle_cancellation) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:561,1
    - Dst: clear_op_res
      Src: /src/glib/gio/gsimpleasyncresult.c:563,1
    - Dst: G_IS_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/gsimpleasyncresult.c:561,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - simple
    - op_res
    - destroy_op_res
    argTypes:
    - GSimpleAsyncResult*
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 566
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 566
    functionName: g_simple_async_result_set_op_res_gpointer
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - clear_op_res
    - G_IS_SIMPLE_ASYNC_RESULT
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_simple_async_result_set_op_res_gpointer (GSimpleAsyncResult
      *simple, gpointer op_res, GDestroyNotify destroy_op_res) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:670,1
    - Dst: g_error_copy
      Src: /src/glib/gio/gsimpleasyncresult.c:675,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:671,1
    - Dst: g_error_free
      Src: /src/glib/gio/gsimpleasyncresult.c:674,1
    - Dst: G_IS_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/gsimpleasyncresult.c:670,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - simple
    - error
    argTypes:
    - GSimpleAsyncResult*
    - GError*
    constantsTouched: []
    func_position:
      end: 677
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 677
    functionName: g_simple_async_result_set_from_error
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - G_IS_SIMPLE_ASYNC_RESULT
    - g_error_free
    - g_error_copy
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_simple_async_result_set_from_error (GSimpleAsyncResult *simple,
      const GError *error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:634,1
    - Dst: G_IS_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/gsimpleasyncresult.c:634,1
    - Dst: clear_op_res
      Src: /src/glib/gio/gsimpleasyncresult.c:635,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - simple
    - op_res
    argTypes:
    - GSimpleAsyncResult*
    - gboolean
    constantsTouched: []
    func_position:
      end: 637
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 637
    functionName: g_simple_async_result_set_op_res_gboolean
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - clear_op_res
    - G_IS_SIMPLE_ASYNC_RESULT
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_simple_async_result_set_op_res_gboolean (GSimpleAsyncResult
      *simple, gboolean op_res) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:1032,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:1034,1
    - Dst: g_simple_async_result_new
      Src: /src/glib/gio/gsimpleasyncresult.c:1036,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gio/gsimpleasyncresult.c:1032,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:1033,1
    - Dst: va_start
      Src: /src/glib/gio/gsimpleasyncresult.c:1040,1
    - Dst: g_simple_async_result_set_error_va
      Src: /src/glib/gio/gsimpleasyncresult.c:1041,1
    - Dst: va_end
      Src: /src/glib/gio/gsimpleasyncresult.c:1042,1
    - Dst: g_simple_async_result_complete_in_idle
      Src: /src/glib/gio/gsimpleasyncresult.c:1043,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsimpleasyncresult.c:1044,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 6
    argNames:
    - object
    - callback
    - user_data
    - domain
    - code
    - format
    - '...'
    argTypes:
    - GObject*
    - GAsyncReadyCallback
    - gpointer
    - GQuark
    - gint
    - char*
    constantsTouched: []
    func_position:
      end: 1045
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1045
    functionName: g_simple_async_report_error_in_idle
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - g_simple_async_result_new
    - g_object_unref
    - g_return_if_fail
    - G_IS_OBJECT
    - g_simple_async_result_complete_in_idle
    - g_simple_async_result_set_error_va
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: 'void g_simple_async_report_error_in_idle (GObject *object, GAsyncReadyCallback
      callback, gpointer user_data, GQuark domain, gint code, const char *format,
      ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:755,1
    - Dst: G_IS_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/gsimpleasyncresult.c:755,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:756,1
    - Dst: va_start
      Src: /src/glib/gio/gsimpleasyncresult.c:759,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:757,1
    - Dst: g_simple_async_result_set_error_va
      Src: /src/glib/gio/gsimpleasyncresult.c:760,1
    - Dst: va_end
      Src: /src/glib/gio/gsimpleasyncresult.c:761,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - simple
    - domain
    - code
    - format
    - '...'
    argTypes:
    - GSimpleAsyncResult*
    - GQuark
    - gint
    - char*
    constantsTouched: []
    func_position:
      end: 762
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 762
    functionName: g_simple_async_result_set_error
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - g_simple_async_result_set_error_va
    - va_end
    - G_IS_SIMPLE_ASYNC_RESULT
    - va_start
    linkageType: ''
    returnType: void
    signature: 'void g_simple_async_result_set_error (GSimpleAsyncResult *simple,
      GQuark domain, gint code, const char *format, ...) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_IS_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/gsimpleasyncresult.c:985,1
    - Dst: g_async_result_get_source_object
      Src: /src/glib/gio/gsimpleasyncresult.c:989,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsimpleasyncresult.c:997,1
    - Dst: g_simple_async_result_get_source_tag
      Src: /src/glib/gio/gsimpleasyncresult.c:999,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsimpleasyncresult.c:993,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 3
    argNames:
    - result
    - source
    - source_tag
    argTypes:
    - GAsyncResult*
    - GObject*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1002
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 1002
    functionName: g_simple_async_result_is_valid
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - g_simple_async_result_get_source_tag
    - g_async_result_get_source_object
    - G_IS_SIMPLE_ASYNC_RESULT
    - g_object_unref
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_simple_async_result_is_valid (GAsyncResult *result, GObject
      *source, gpointer source_tag) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:1142,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gsimpleasyncresult.c:1145,1
    - Dst: G_IS_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/gsimpleasyncresult.c:1142,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gsimpleasyncresult.c:1143,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:1143,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsimpleasyncresult.c:1147,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - simple
    - check_cancellable
    argTypes:
    - GSimpleAsyncResult*
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 1148
      start: 1138
    functionDepth: 0
    functionLinenumber: 1138
    functionLinenumberEnd: 1148
    functionName: g_simple_async_result_set_check_cancellable
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - G_IS_CANCELLABLE
    - g_clear_object
    - g_object_ref
    - G_IS_SIMPLE_ASYNC_RESULT
    linkageType: ''
    returnType: void
    signature: 'void g_simple_async_result_set_check_cancellable (GSimpleAsyncResult
      *simple, GCancellable *check_cancellable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/gsimpleasyncresult.c:453,1
    - Dst: G_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/gsimpleasyncresult.c:454,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsimpleasyncresult.c:454,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 456
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 456
    functionName: g_simple_async_result_get_source_object
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - G_SIMPLE_ASYNC_RESULT
    - g_object_ref
    linkageType: ''
    returnType: GObject*
    signature: 'static GObject *g_simple_async_result_get_source_object (GAsyncResult
      *res) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:507,1
    - Dst: G_IS_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/gsimpleasyncresult.c:507,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - simple
    argTypes:
    - GSimpleAsyncResult*
    constantsTouched: []
    func_position:
      end: 509
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 509
    functionName: g_simple_async_result_get_source_tag
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - G_IS_SIMPLE_ASYNC_RESULT
    - g_return_val_if_fail
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_simple_async_result_get_source_tag (GSimpleAsyncResult
      *simple) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:599,1
    - Dst: G_IS_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/gsimpleasyncresult.c:599,1
    - Dst: clear_op_res
      Src: /src/glib/gio/gsimpleasyncresult.c:600,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - simple
    - op_res
    argTypes:
    - GSimpleAsyncResult*
    - gssize
    constantsTouched: []
    func_position:
      end: 602
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 602
    functionName: g_simple_async_result_set_op_res_gssize
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - clear_op_res
    - G_IS_SIMPLE_ASYNC_RESULT
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_simple_async_result_set_op_res_gssize (GSimpleAsyncResult *simple,
      gssize op_res) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/gsimpleasyncresult.c:866,1
    - Dst: g_simple_async_result_set_error
      Src: /src/glib/gio/gsimpleasyncresult.c:867,1
    - Dst: _
      Src: /src/glib/gio/gsimpleasyncresult.c:870,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsimpleasyncresult.c:875,1
    - Dst: g_simple_async_result_complete
      Src: /src/glib/gio/gsimpleasyncresult.c:872,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsimpleasyncresult.c:876,1
    - Dst: g_free
      Src: /src/glib/gio/gsimpleasyncresult.c:877,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - _data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 880
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 880
    functionName: complete_in_idle_cb_for_thread
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_cancellable_is_cancelled
    - g_simple_async_result_complete
    - _
    - g_simple_async_result_set_error
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean complete_in_idle_cb_for_thread (gpointer _data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/gsimpleasyncresult.c:462,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - res
    - source_tag
    argTypes:
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 463
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 463
    functionName: g_simple_async_result_is_tagged
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - G_SIMPLE_ASYNC_RESULT
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_simple_async_result_is_tagged (GAsyncResult *res,\t\
      \t\t\t gpointer source_tag) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/gsimpleasyncresult.c:892,1
    - Dst: _
      Src: /src/glib/gio/gsimpleasyncresult.c:896,1
    - Dst: g_simple_async_result_set_error
      Src: /src/glib/gio/gsimpleasyncresult.c:893,1
    - Dst: g_idle_source_new
      Src: /src/glib/gio/gsimpleasyncresult.c:902,1
    - Dst: g_source_set_priority
      Src: /src/glib/gio/gsimpleasyncresult.c:903,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gsimpleasyncresult.c:904,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gsimpleasyncresult.c:905,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gsimpleasyncresult.c:907,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gsimpleasyncresult.c:908,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - job
    - c
    - _data
    argTypes:
    - GIOSchedulerJob*
    - GCancellable*
    - gpointer
    constantsTouched: []
    func_position:
      end: 911
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 911
    functionName: run_in_thread
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - g_source_set_priority
    - g_source_set_callback
    - g_idle_source_new
    - g_cancellable_is_cancelled
    - g_source_attach
    - g_source_unref
    - _
    - g_simple_async_result_set_error
    - g_source_set_static_name
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean run_in_thread (GIOSchedulerJob *job, GCancellable
      *c, gpointer _data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:653,1
    - Dst: G_IS_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/gsimpleasyncresult.c:653,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - simple
    argTypes:
    - GSimpleAsyncResult*
    constantsTouched: []
    func_position:
      end: 655
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 655
    functionName: g_simple_async_result_get_op_res_gboolean
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - G_IS_SIMPLE_ASYNC_RESULT
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_simple_async_result_get_op_res_gboolean (GSimpleAsyncResult
      *simple) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:1068,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:1069,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gio/gsimpleasyncresult.c:1068,1
    - Dst: g_simple_async_result_new_from_error
      Src: /src/glib/gio/gsimpleasyncresult.c:1071,1
    - Dst: g_simple_async_result_complete_in_idle
      Src: /src/glib/gio/gsimpleasyncresult.c:1075,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsimpleasyncresult.c:1076,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - object
    - callback
    - user_data
    - error
    argTypes:
    - GObject*
    - GAsyncReadyCallback
    - gpointer
    - GError*
    constantsTouched: []
    func_position:
      end: 1077
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1077
    functionName: g_simple_async_report_gerror_in_idle
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_return_if_fail
    - G_IS_OBJECT
    - g_simple_async_result_complete_in_idle
    - g_simple_async_result_new_from_error
    linkageType: ''
    returnType: void
    signature: "void g_simple_async_report_gerror_in_idle (GObject *object,\t\t\t\t\
      \ GAsyncReadyCallback callback,\t\t\t\t gpointer user_data,\t\t\t\t const GError\
      \ *error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_ref_thread_default
      Src: /src/glib/gio/gsimpleasyncresult.c:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - simple
    argTypes:
    - GSimpleAsyncResult*
    constantsTouched: []
    func_position:
      end: 289
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 289
    functionName: g_simple_async_result_init
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - g_main_context_ref_thread_default
    linkageType: ''
    returnType: void
    signature: 'static void g_simple_async_result_init (GSimpleAsyncResult *simple) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GAsyncResultIface*
    constantsTouched: []
    func_position:
      end: 471
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 471
    functionName: g_simple_async_result_async_result_iface_init
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_simple_async_result_async_result_iface_init (GAsyncResultIface
      *iface) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:786,1
    - Dst: g_source_is_destroyed
      Src: /src/glib/gio/gsimpleasyncresult.c:790,1
    - Dst: G_IS_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/gsimpleasyncresult.c:786,1
    - Dst: g_main_current_source
      Src: /src/glib/gio/gsimpleasyncresult.c:789,1
    - Dst: g_source_get_context
      Src: /src/glib/gio/gsimpleasyncresult.c:792,1
    - Dst: g_warning
      Src: /src/glib/gio/gsimpleasyncresult.c:794,1
    - Dst: g_main_context_push_thread_default
      Src: /src/glib/gio/gsimpleasyncresult.c:800,1
    - Dst: G_ASYNC_RESULT
      Src: /src/glib/gio/gsimpleasyncresult.c:802,1
    - Dst: g_main_context_pop_thread_default
      Src: /src/glib/gio/gsimpleasyncresult.c:804,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - simple
    argTypes:
    - GSimpleAsyncResult*
    constantsTouched: []
    func_position:
      end: 806
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 806
    functionName: g_simple_async_result_complete
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - g_main_context_pop_thread_default
    - g_main_current_source
    - g_warning
    - g_return_if_fail
    - g_main_context_push_thread_default
    - G_ASYNC_RESULT
    - g_source_get_context
    - G_IS_SIMPLE_ASYNC_RESULT
    - g_source_is_destroyed
    linkageType: ''
    returnType: void
    signature: 'void g_simple_async_result_complete (GSimpleAsyncResult *simple) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:837,1
    - Dst: g_source_set_priority
      Src: /src/glib/gio/gsimpleasyncresult.c:842,1
    - Dst: G_IS_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/gsimpleasyncresult.c:837,1
    - Dst: g_idle_source_new
      Src: /src/glib/gio/gsimpleasyncresult.c:841,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsimpleasyncresult.c:839,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gsimpleasyncresult.c:843,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gsimpleasyncresult.c:844,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gsimpleasyncresult.c:846,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gsimpleasyncresult.c:847,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - simple
    argTypes:
    - GSimpleAsyncResult*
    constantsTouched: []
    func_position:
      end: 848
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 848
    functionName: g_simple_async_result_complete_in_idle
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - g_source_set_priority
    - g_source_set_callback
    - g_idle_source_new
    - g_return_if_fail
    - g_source_attach
    - g_source_unref
    - g_object_ref
    - G_IS_SIMPLE_ASYNC_RESULT
    - g_source_set_static_name
    linkageType: ''
    returnType: void
    signature: 'void g_simple_async_result_complete_in_idle (GSimpleAsyncResult *simple) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/gsimpleasyncresult.c:811,1
    - Dst: g_simple_async_result_complete
      Src: /src/glib/gio/gsimpleasyncresult.c:813,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 816
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 816
    functionName: complete_in_idle_cb
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - g_simple_async_result_complete
    - G_SIMPLE_ASYNC_RESULT
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean complete_in_idle_cb (gpointer data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:531,1
    - Dst: G_IS_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/gsimpleasyncresult.c:531,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gsimpleasyncresult.c:533,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gsimpleasyncresult.c:538,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - simple
    - dest
    argTypes:
    - GSimpleAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 544
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 544
    functionName: g_simple_async_result_propagate_error
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - G_IS_SIMPLE_ASYNC_RESULT
    - g_return_val_if_fail
    - g_cancellable_set_error_if_cancelled
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_simple_async_result_propagate_error (GSimpleAsyncResult
      *simple, GError **dest) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsimpleasyncresult.c:617,1
    - Dst: G_IS_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/gsimpleasyncresult.c:617,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - simple
    argTypes:
    - GSimpleAsyncResult*
    constantsTouched: []
    func_position:
      end: 619
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 619
    functionName: g_simple_async_result_get_op_res_gssize
    functionSourceFile: /src/glib/gio/gsimpleasyncresult.c
    functionUses: []
    functionsReached:
    - G_IS_SIMPLE_ASYNC_RESULT
    - g_return_val_if_fail
    linkageType: ''
    returnType: gssize
    signature: 'gssize g_simple_async_result_get_op_res_gssize (GSimpleAsyncResult
      *simple) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gbufferedoutputstream.c:205,1
    - Dst: MAX
      Src: /src/glib/gio/gbufferedoutputstream.c:214,1
    - Dst: g_malloc
      Src: /src/glib/gio/gbufferedoutputstream.c:216,1
    - Dst: memcpy
      Src: /src/glib/gio/gbufferedoutputstream.c:217,1
    - Dst: G_IS_BUFFERED_OUTPUT_STREAM
      Src: /src/glib/gio/gbufferedoutputstream.c:205,1
    - Dst: g_free
      Src: /src/glib/gio/gbufferedoutputstream.c:218,1
    - Dst: g_malloc
      Src: /src/glib/gio/gbufferedoutputstream.c:225,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gbufferedoutputstream.c:230,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gbufferedoutputstream.c:230,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - stream
    - size
    argTypes:
    - GBufferedOutputStream*
    - gsize
    constantsTouched: []
    func_position:
      end: 231
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 231
    functionName: g_buffered_output_stream_set_buffer_size
    functionSourceFile: /src/glib/gio/gbufferedoutputstream.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_return_if_fail
    - g_object_notify
    - g_malloc
    - MAX
    - G_IS_BUFFERED_OUTPUT_STREAM
    - G_OBJECT
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_buffered_output_stream_set_buffer_size (GBufferedOutputStream
      *stream, gsize size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_BUFFERED_OUTPUT_STREAM
      Src: /src/glib/gio/gbufferedoutputstream.c:283,1
    - Dst: g_buffered_output_stream_set_auto_grow
      Src: /src/glib/gio/gbufferedoutputstream.c:292,1
    - Dst: g_value_get_uint
      Src: /src/glib/gio/gbufferedoutputstream.c:288,1
    - Dst: g_buffered_output_stream_set_buffer_size
      Src: /src/glib/gio/gbufferedoutputstream.c:288,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gbufferedoutputstream.c:292,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gbufferedoutputstream.c:296,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 300
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 300
    functionName: g_buffered_output_stream_set_property
    functionSourceFile: /src/glib/gio/gbufferedoutputstream.c
    functionUses: []
    functionsReached:
    - g_buffered_output_stream_set_auto_grow
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_buffered_output_stream_set_buffer_size
    - g_value_get_boolean
    - g_value_get_uint
    - G_BUFFERED_OUTPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void g_buffered_output_stream_set_property (GObject *object,
      guint prop_id, const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gbufferedoutputstream.c:398,1
    - Dst: g_object_new
      Src: /src/glib/gio/gbufferedoutputstream.c:400,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/gbufferedoutputstream.c:398,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 406
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 406
    functionName: g_buffered_output_stream_new_sized
    functionSourceFile: /src/glib/gio/gbufferedoutputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_object_new
    - G_IS_OUTPUT_STREAM
    linkageType: ''
    returnType: GOutputStream*
    signature: 'GOutputStream *g_buffered_output_stream_new_sized (GOutputStream *base_stream,
      gsize size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gbufferedoutputstream.c:133,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gbufferedoutputstream.c:166,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gbufferedoutputstream.c:152,1
    - Dst: g_param_spec_uint
      Src: /src/glib/gio/gbufferedoutputstream.c:154,1
    - Dst: G_OUTPUT_STREAM_CLASS
      Src: /src/glib/gio/gbufferedoutputstream.c:138,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gbufferedoutputstream.c:168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GBufferedOutputStreamClass*
    constantsTouched: []
    func_position:
      end: 173
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 173
    functionName: g_buffered_output_stream_class_init
    functionSourceFile: /src/glib/gio/gbufferedoutputstream.c
    functionUses: []
    functionsReached:
    - g_param_spec_boolean
    - G_OUTPUT_STREAM_CLASS
    - g_object_class_install_property
    - G_OBJECT_CLASS
    - g_param_spec_uint
    linkageType: ''
    returnType: void
    signature: 'static void g_buffered_output_stream_class_init (GBufferedOutputStreamClass
      *klass) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_BUFFERED_OUTPUT_STREAM
      Src: /src/glib/gio/gbufferedoutputstream.c:311,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gbufferedoutputstream.c:325,1
    - Dst: g_value_set_uint
      Src: /src/glib/gio/gbufferedoutputstream.c:317,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gbufferedoutputstream.c:321,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 329
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 329
    functionName: g_buffered_output_stream_get_property
    functionSourceFile: /src/glib/gio/gbufferedoutputstream.c
    functionUses: []
    functionsReached:
    - g_value_set_boolean
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_uint
    - G_BUFFERED_OUTPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void g_buffered_output_stream_get_property (GObject *object,
      guint prop_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/gbufferedoutputstream.c:421,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gbufferedoutputstream.c:423,1
    - Dst: memmove
      Src: /src/glib/gio/gbufferedoutputstream.c:435,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/gbufferedoutputstream.c:423,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/gbufferedoutputstream.c:425,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GBufferedOutputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 440
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 440
    functionName: flush_buffer
    functionSourceFile: /src/glib/gio/gbufferedoutputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - memmove
    - G_FILTER_OUTPUT_STREAM
    - g_output_stream_write_all
    - G_IS_OUTPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean flush_buffer (GBufferedOutputStream *stream, GCancellable
      *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gbufferedoutputstream.c:186,1
    - Dst: G_IS_BUFFERED_OUTPUT_STREAM
      Src: /src/glib/gio/gbufferedoutputstream.c:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GBufferedOutputStream*
    constantsTouched: []
    func_position:
      end: 189
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 189
    functionName: g_buffered_output_stream_get_buffer_size
    functionSourceFile: /src/glib/gio/gbufferedoutputstream.c
    functionUses: []
    functionsReached:
    - G_IS_BUFFERED_OUTPUT_STREAM
    - g_return_val_if_fail
    linkageType: ''
    returnType: gsize
    signature: 'gsize g_buffered_output_stream_get_buffer_size (GBufferedOutputStream
      *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/gbufferedoutputstream.c:556,1
    - Dst: G_IS_SEEKABLE
      Src: /src/glib/gio/gbufferedoutputstream.c:557,1
    - Dst: g_seekable_can_seek
      Src: /src/glib/gio/gbufferedoutputstream.c:557,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/gbufferedoutputstream.c:557,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - seekable
    argTypes:
    - GSeekable*
    constantsTouched: []
    func_position:
      end: 558
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 558
    functionName: g_buffered_output_stream_can_seek
    functionSourceFile: /src/glib/gio/gbufferedoutputstream.c
    functionUses: []
    functionsReached:
    - G_FILTER_OUTPUT_STREAM
    - G_IS_SEEKABLE
    - g_seekable_can_seek
    - G_SEEKABLE
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_buffered_output_stream_can_seek (GSeekable *seekable) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_BUFFERED_OUTPUT_STREAM
      Src: /src/glib/gio/gbufferedoutputstream.c:572,1
    - Dst: G_IS_SEEKABLE
      Src: /src/glib/gio/gbufferedoutputstream.c:575,1
    - Dst: _
      Src: /src/glib/gio/gbufferedoutputstream.c:578,1
    - Dst: G_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/gbufferedoutputstream.c:574,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gbufferedoutputstream.c:577,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/gbufferedoutputstream.c:582,1
    - Dst: flush_buffer
      Src: /src/glib/gio/gbufferedoutputstream.c:583,1
    - Dst: g_seekable_seek
      Src: /src/glib/gio/gbufferedoutputstream.c:587,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 5
    argNames:
    - seekable
    - offset
    - type
    - cancellable
    - error
    argTypes:
    - GSeekable*
    - goffset
    - GSeekType
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 588
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 588
    functionName: g_buffered_output_stream_seek
    functionSourceFile: /src/glib/gio/gbufferedoutputstream.c
    functionUses: []
    functionsReached:
    - flush_buffer
    - g_seekable_seek
    - G_SEEKABLE
    - G_FILTER_OUTPUT_STREAM
    - g_set_error_literal
    - G_BUFFERED_OUTPUT_STREAM
    - _
    - G_IS_SEEKABLE
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_buffered_output_stream_seek (GSeekable *seekable,\t\
      \t\t goffset offset,\t\t\t GSeekType type,\t\t\t GCancellable *cancellable,\t\
      \t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_BUFFERED_OUTPUT_STREAM
      Src: /src/glib/gio/gbufferedoutputstream.c:337,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gbufferedoutputstream.c:342,1
    - Dst: g_free
      Src: /src/glib/gio/gbufferedoutputstream.c:340,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 343
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 343
    functionName: g_buffered_output_stream_finalize
    functionSourceFile: /src/glib/gio/gbufferedoutputstream.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    - g_free
    - G_BUFFERED_OUTPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void g_buffered_output_stream_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/gbufferedoutputstream.c:595,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/gbufferedoutputstream.c:596,1
    - Dst: g_seekable_can_truncate
      Src: /src/glib/gio/gbufferedoutputstream.c:596,1
    - Dst: G_IS_SEEKABLE
      Src: /src/glib/gio/gbufferedoutputstream.c:596,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - seekable
    argTypes:
    - GSeekable*
    constantsTouched: []
    func_position:
      end: 597
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 597
    functionName: g_buffered_output_stream_can_truncate
    functionSourceFile: /src/glib/gio/gbufferedoutputstream.c
    functionUses: []
    functionsReached:
    - G_FILTER_OUTPUT_STREAM
    - G_IS_SEEKABLE
    - g_seekable_can_truncate
    - G_SEEKABLE
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_buffered_output_stream_can_truncate (GSeekable *seekable) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_BUFFERED_OUTPUT_STREAM
      Src: /src/glib/gio/gbufferedoutputstream.c:663,1
    - Dst: flush_buffer
      Src: /src/glib/gio/gbufferedoutputstream.c:667,1
    - Dst: G_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/gbufferedoutputstream.c:665,1
    - Dst: g_filter_output_stream_get_close_base_stream
      Src: /src/glib/gio/gbufferedoutputstream.c:680,1
    - Dst: g_output_stream_flush
      Src: /src/glib/gio/gbufferedoutputstream.c:672,1
    - Dst: G_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/gbufferedoutputstream.c:680,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/gbufferedoutputstream.c:683,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/gbufferedoutputstream.c:685,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gbufferedoutputstream.c:690,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gbufferedoutputstream.c:692,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 4
    argNames:
    - task
    - object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 693
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 693
    functionName: flush_buffer_thread
    functionSourceFile: /src/glib/gio/gbufferedoutputstream.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - flush_buffer
    - g_output_stream_close
    - G_FILTER_OUTPUT_STREAM
    - g_filter_output_stream_get_close_base_stream
    - g_output_stream_flush
    - G_BUFFERED_OUTPUT_STREAM
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void flush_buffer_thread (GTask *task, gpointer object, gpointer
      task_data, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_buffered_output_stream_get_instance_private
      Src: /src/glib/gio/gbufferedoutputstream.c:348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GBufferedOutputStream*
    constantsTouched: []
    func_position:
      end: 349
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 349
    functionName: g_buffered_output_stream_init
    functionSourceFile: /src/glib/gio/gbufferedoutputstream.c
    functionUses: []
    functionsReached:
    - g_buffered_output_stream_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_buffered_output_stream_init (GBufferedOutputStream *stream) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_BUFFERED_OUTPUT_STREAM
      Src: /src/glib/gio/gbufferedoutputstream.c:610,1
    - Dst: G_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/gbufferedoutputstream.c:611,1
    - Dst: _
      Src: /src/glib/gio/gbufferedoutputstream.c:615,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gbufferedoutputstream.c:614,1
    - Dst: G_IS_SEEKABLE
      Src: /src/glib/gio/gbufferedoutputstream.c:612,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/gbufferedoutputstream.c:619,1
    - Dst: flush_buffer
      Src: /src/glib/gio/gbufferedoutputstream.c:621,1
    - Dst: g_seekable_truncate
      Src: /src/glib/gio/gbufferedoutputstream.c:624,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 4
    argNames:
    - seekable
    - offset
    - cancellable
    - error
    argTypes:
    - GSeekable*
    - goffset
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 625
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 625
    functionName: g_buffered_output_stream_truncate
    functionSourceFile: /src/glib/gio/gbufferedoutputstream.c
    functionUses: []
    functionsReached:
    - flush_buffer
    - G_SEEKABLE
    - G_FILTER_OUTPUT_STREAM
    - g_set_error_literal
    - G_BUFFERED_OUTPUT_STREAM
    - _
    - g_seekable_truncate
    - G_IS_SEEKABLE
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_buffered_output_stream_truncate (GSeekable *seekable,\t\
      \t\t\t goffset offset,\t\t\t\t GCancellable *cancellable,\t\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/gio/gbufferedoutputstream.c:705,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gbufferedoutputstream.c:710,1
    - Dst: g_task_new
      Src: /src/glib/gio/gbufferedoutputstream.c:709,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gbufferedoutputstream.c:712,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gbufferedoutputstream.c:711,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gbufferedoutputstream.c:714,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gbufferedoutputstream.c:715,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 5
    argNames:
    - stream
    - io_priority
    - cancellable
    - callback
    - data
    argTypes:
    - GOutputStream*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 716
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 716
    functionName: g_buffered_output_stream_flush_async
    functionSourceFile: /src/glib/gio/gbufferedoutputstream.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_object_unref
    - g_task_set_priority
    - g_slice_new0
    - g_task_set_source_tag
    - g_task_run_in_thread
    - g_task_set_task_data
    linkageType: ''
    returnType: void
    signature: 'static void g_buffered_output_stream_flush_async (GOutputStream *stream,
      int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer
      data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gbufferedoutputstream.c:265,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gbufferedoutputstream.c:271,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gbufferedoutputstream.c:271,1
    - Dst: G_IS_BUFFERED_OUTPUT_STREAM
      Src: /src/glib/gio/gbufferedoutputstream.c:265,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - stream
    - auto_grow
    argTypes:
    - GBufferedOutputStream*
    - gboolean
    constantsTouched: []
    func_position:
      end: 273
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 273
    functionName: g_buffered_output_stream_set_auto_grow
    functionSourceFile: /src/glib/gio/gbufferedoutputstream.c
    functionUses: []
    functionsReached:
    - G_IS_BUFFERED_OUTPUT_STREAM
    - g_object_notify
    - G_OBJECT
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_buffered_output_stream_set_auto_grow (GBufferedOutputStream
      *stream, gboolean auto_grow) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gbufferedoutputstream.c:374,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/gbufferedoutputstream.c:374,1
    - Dst: g_object_new
      Src: /src/glib/gio/gbufferedoutputstream.c:376,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 381
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 381
    functionName: g_buffered_output_stream_new
    functionSourceFile: /src/glib/gio/gbufferedoutputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_object_new
    - G_IS_OUTPUT_STREAM
    linkageType: ''
    returnType: GOutputStream*
    signature: 'GOutputStream *g_buffered_output_stream_new (GOutputStream *base_stream) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_BUFFERED_OUTPUT_STREAM
      Src: /src/glib/gio/gbufferedoutputstream.c:455,1
    - Dst: g_buffered_output_stream_set_buffer_size
      Src: /src/glib/gio/gbufferedoutputstream.c:463,1
    - Dst: MAX
      Src: /src/glib/gio/gbufferedoutputstream.c:462,1
    - Dst: MIN
      Src: /src/glib/gio/gbufferedoutputstream.c:475,1
    - Dst: flush_buffer
      Src: /src/glib/gio/gbufferedoutputstream.c:467,1
    - Dst: memcpy
      Src: /src/glib/gio/gbufferedoutputstream.c:476,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 5
    argNames:
    - stream
    - buffer
    - count
    - cancellable
    - error
    argTypes:
    - GOutputStream*
    - void*
    - gsize
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 480
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 480
    functionName: g_buffered_output_stream_write
    functionSourceFile: /src/glib/gio/gbufferedoutputstream.c
    functionUses: []
    functionsReached:
    - memcpy
    - flush_buffer
    - g_buffered_output_stream_set_buffer_size
    - MIN
    - MAX
    - G_BUFFERED_OUTPUT_STREAM
    linkageType: ''
    returnType: gssize
    signature: 'static gssize g_buffered_output_stream_write (GOutputStream *stream,
      const void *buffer, gsize count, GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_BUFFERED_OUTPUT_STREAM
      Src: /src/glib/gio/gbufferedoutputstream.c:513,1
    - Dst: G_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/gbufferedoutputstream.c:514,1
    - Dst: g_filter_output_stream_get_close_base_stream
      Src: /src/glib/gio/gbufferedoutputstream.c:517,1
    - Dst: flush_buffer
      Src: /src/glib/gio/gbufferedoutputstream.c:515,1
    - Dst: G_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/gbufferedoutputstream.c:517,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/gbufferedoutputstream.c:521,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/gbufferedoutputstream.c:523,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GOutputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 527
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 527
    functionName: g_buffered_output_stream_close
    functionSourceFile: /src/glib/gio/gbufferedoutputstream.c
    functionUses: []
    functionsReached:
    - flush_buffer
    - g_output_stream_close
    - G_FILTER_OUTPUT_STREAM
    - g_filter_output_stream_get_close_base_stream
    - G_BUFFERED_OUTPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_buffered_output_stream_close (GOutputStream *stream,
      GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gbufferedoutputstream.c:723,1
    - Dst: G_TASK
      Src: /src/glib/gio/gbufferedoutputstream.c:725,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gbufferedoutputstream.c:725,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gbufferedoutputstream.c:723,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - stream
    - result
    - error
    argTypes:
    - GOutputStream*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 726
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 726
    functionName: g_buffered_output_stream_flush_finish
    functionSourceFile: /src/glib/gio/gbufferedoutputstream.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_task_is_valid
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_buffered_output_stream_flush_finish (GOutputStream
      *stream, GAsyncResult *result, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_BUFFERED_OUTPUT_STREAM
      Src: /src/glib/gio/gbufferedoutputstream.c:491,1
    - Dst: g_output_stream_flush
      Src: /src/glib/gio/gbufferedoutputstream.c:499,1
    - Dst: G_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/gbufferedoutputstream.c:492,1
    - Dst: flush_buffer
      Src: /src/glib/gio/gbufferedoutputstream.c:494,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GOutputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 502
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 502
    functionName: g_buffered_output_stream_flush
    functionSourceFile: /src/glib/gio/gbufferedoutputstream.c
    functionUses: []
    functionsReached:
    - G_FILTER_OUTPUT_STREAM
    - flush_buffer
    - g_output_stream_flush
    - G_BUFFERED_OUTPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_buffered_output_stream_flush (GOutputStream *stream,
      GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_BUFFERED_OUTPUT_STREAM
      Src: /src/glib/gio/gbufferedoutputstream.c:538,1
    - Dst: G_SEEKABLE
      Src: /src/glib/gio/gbufferedoutputstream.c:545,1
    - Dst: G_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/gbufferedoutputstream.c:541,1
    - Dst: G_IS_SEEKABLE
      Src: /src/glib/gio/gbufferedoutputstream.c:542,1
    - Dst: g_seekable_tell
      Src: /src/glib/gio/gbufferedoutputstream.c:547,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - seekable
    argTypes:
    - GSeekable*
    constantsTouched: []
    func_position:
      end: 549
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 549
    functionName: g_buffered_output_stream_tell
    functionSourceFile: /src/glib/gio/gbufferedoutputstream.c
    functionUses: []
    functionsReached:
    - G_SEEKABLE
    - G_FILTER_OUTPUT_STREAM
    - G_BUFFERED_OUTPUT_STREAM
    - g_seekable_tell
    - G_IS_SEEKABLE
    linkageType: ''
    returnType: goffset
    signature: 'static goffset g_buffered_output_stream_tell (GSeekable *seekable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_free
      Src: /src/glib/gio/gbufferedoutputstream.c:643,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 644
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 644
    functionName: free_flush_data
    functionSourceFile: /src/glib/gio/gbufferedoutputstream.c
    functionUses: []
    functionsReached:
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void free_flush_data (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/gio/gbufferedoutputstream.c:738,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gbufferedoutputstream.c:743,1
    - Dst: g_task_new
      Src: /src/glib/gio/gbufferedoutputstream.c:741,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gbufferedoutputstream.c:742,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gbufferedoutputstream.c:744,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gbufferedoutputstream.c:746,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gbufferedoutputstream.c:747,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 5
    argNames:
    - stream
    - io_priority
    - cancellable
    - callback
    - data
    argTypes:
    - GOutputStream*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 748
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 748
    functionName: g_buffered_output_stream_close_async
    functionSourceFile: /src/glib/gio/gbufferedoutputstream.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_object_unref
    - g_task_set_priority
    - g_slice_new0
    - g_task_set_source_tag
    - g_task_run_in_thread
    - g_task_set_task_data
    linkageType: ''
    returnType: void
    signature: 'static void g_buffered_output_stream_close_async (GOutputStream *stream,
      int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer
      data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gbufferedoutputstream.c:755,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gbufferedoutputstream.c:757,1
    - Dst: G_TASK
      Src: /src/glib/gio/gbufferedoutputstream.c:757,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gbufferedoutputstream.c:755,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - stream
    - result
    - error
    argTypes:
    - GOutputStream*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 758
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 758
    functionName: g_buffered_output_stream_close_finish
    functionSourceFile: /src/glib/gio/gbufferedoutputstream.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_task_is_valid
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_buffered_output_stream_close_finish (GOutputStream
      *stream, GAsyncResult *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gbufferedoutputstream.c:245,1
    - Dst: G_IS_BUFFERED_OUTPUT_STREAM
      Src: /src/glib/gio/gbufferedoutputstream.c:245,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GBufferedOutputStream*
    constantsTouched: []
    func_position:
      end: 248
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 248
    functionName: g_buffered_output_stream_get_auto_grow
    functionSourceFile: /src/glib/gio/gbufferedoutputstream.c
    functionUses: []
    functionsReached:
    - G_IS_BUFFERED_OUTPUT_STREAM
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_buffered_output_stream_get_auto_grow (GBufferedOutputStream
      *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GSeekableIface*
    constantsTouched: []
    func_position:
      end: 359
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 359
    functionName: g_buffered_output_stream_seekable_iface_init
    functionSourceFile: /src/glib/gio/gbufferedoutputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_buffered_output_stream_seekable_iface_init (GSeekableIface
      *iface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_INPUT_STREAM
      Src: /src/glib/gio/gsocketinputstream.c:75,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gsocketinputstream.c:84,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gsocketinputstream.c:80,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 86
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 86
    functionName: g_socket_input_stream_get_property
    functionSourceFile: /src/glib/gio/gsocketinputstream.c
    functionUses: []
    functionsReached:
    - g_value_set_object
    - G_SOCKET_INPUT_STREAM
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_input_stream_get_property (GObject *object, guint
      prop_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_INPUT_STREAM
      Src: /src/glib/gio/gsocketinputstream.c:135,1
    - Dst: g_socket_condition_check
      Src: /src/glib/gio/gsocketinputstream.c:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - pollable
    argTypes:
    - GPollableInputStream*
    constantsTouched: []
    func_position:
      end: 138
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 138
    functionName: g_socket_input_stream_pollable_is_readable
    functionSourceFile: /src/glib/gio/gsocketinputstream.c
    functionUses: []
    functionsReached:
    - g_socket_condition_check
    - G_SOCKET_INPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_socket_input_stream_pollable_is_readable (GPollableInputStream
      *pollable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_INPUT_STREAM
      Src: /src/glib/gio/gsocketinputstream.c:110,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsocketinputstream.c:115,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketinputstream.c:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 116
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 116
    functionName: g_socket_input_stream_finalize
    functionSourceFile: /src/glib/gio/gsocketinputstream.c
    functionUses: []
    functionsReached:
    - G_SOCKET_INPUT_STREAM
    - g_object_unref
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_input_stream_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_INPUT_STREAM
      Src: /src/glib/gio/gsocketinputstream.c:163,1
    - Dst: g_socket_receive_with_blocking
      Src: /src/glib/gio/gsocketinputstream.c:165,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - pollable
    - buffer
    - size
    - error
    argTypes:
    - GPollableInputStream*
    - void*
    - gsize
    - GError**
    constantsTouched: []
    func_position:
      end: 168
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 168
    functionName: g_socket_input_stream_pollable_read_nonblocking
    functionSourceFile: /src/glib/gio/gsocketinputstream.c
    functionUses: []
    functionsReached:
    - G_SOCKET_INPUT_STREAM
    - g_socket_receive_with_blocking
    linkageType: ''
    returnType: gssize
    signature: "static gssize g_socket_input_stream_pollable_read_nonblocking (GPollableInputStream\
      \ *pollable,\t\t\t\t\t\t void *buffer,\t\t\t\t\t\t gsize size,\t\t\t\t\t\t GError\
      \ **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsocketinputstream.c:183,1
    - Dst: G_INPUT_STREAM_CLASS
      Src: /src/glib/gio/gsocketinputstream.c:184,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gsocketinputstream.c:193,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocketinputstream.c:192,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GSocketInputStreamClass*
    constantsTouched: []
    func_position:
      end: 196
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 196
    functionName: g_socket_input_stream_class_init
    functionSourceFile: /src/glib/gio/gsocketinputstream.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_object
    - G_INPUT_STREAM_CLASS
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_input_stream_class_init (GSocketInputStreamClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GPollableInputStreamInterface*
    constantsTouched: []
    func_position:
      end: 212
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 212
    functionName: g_socket_input_stream_pollable_iface_init
    functionSourceFile: /src/glib/gio/gsocketinputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_input_stream_pollable_iface_init (GPollableInputStreamInterface
      *iface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_INPUT_STREAM
      Src: /src/glib/gio/gsocketinputstream.c:94,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gsocketinputstream.c:103,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/gsocketinputstream.c:99,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 105
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 105
    functionName: g_socket_input_stream_set_property
    functionSourceFile: /src/glib/gio/gsocketinputstream.c
    functionUses: []
    functionsReached:
    - G_SOCKET_INPUT_STREAM
    - g_value_dup_object
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_input_stream_set_property (GObject *object, guint
      prop_id, const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_INPUT_STREAM
      Src: /src/glib/gio/gsocketinputstream.c:125,1
    - Dst: g_socket_receive_with_blocking
      Src: /src/glib/gio/gsocketinputstream.c:127,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 5
    argNames:
    - stream
    - buffer
    - count
    - cancellable
    - error
    argTypes:
    - GInputStream*
    - void*
    - gsize
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 130
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 130
    functionName: g_socket_input_stream_read
    functionSourceFile: /src/glib/gio/gsocketinputstream.c
    functionUses: []
    functionsReached:
    - G_SOCKET_INPUT_STREAM
    - g_socket_receive_with_blocking
    linkageType: ''
    returnType: gssize
    signature: 'static gssize g_socket_input_stream_read (GInputStream *stream, void
      *buffer, gsize count, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_INPUT_STREAM
      Src: /src/glib/gio/gsocketinputstream.c:144,1
    - Dst: g_socket_create_source
      Src: /src/glib/gio/gsocketinputstream.c:148,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocketinputstream.c:147,1
    - Dst: g_pollable_source_new
      Src: /src/glib/gio/gsocketinputstream.c:147,1
    - Dst: g_source_set_dummy_callback
      Src: /src/glib/gio/gsocketinputstream.c:150,1
    - Dst: g_source_add_child_source
      Src: /src/glib/gio/gsocketinputstream.c:151,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gsocketinputstream.c:152,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 155
    functionName: g_socket_input_stream_pollable_create_source
    functionSourceFile: /src/glib/gio/gsocketinputstream.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - G_SOCKET_INPUT_STREAM
    - g_socket_create_source
    - g_pollable_source_new
    - g_source_unref
    - g_source_add_child_source
    - g_source_set_dummy_callback
    linkageType: ''
    returnType: GSource*
    signature: "static GSource *g_socket_input_stream_pollable_create_source (GPollableInputStream\
      \ *pollable,\t\t\t\t\t GCancellable *cancellable) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_input_stream_get_instance_private
      Src: /src/glib/gio/gsocketinputstream.c:217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GSocketInputStream*
    constantsTouched: []
    func_position:
      end: 218
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 218
    functionName: g_socket_input_stream_init
    functionSourceFile: /src/glib/gio/gsocketinputstream.c
    functionUses: []
    functionsReached:
    - g_socket_input_stream_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_input_stream_init (GSocketInputStream *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gsocketinputstream.c:223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: _g_socket_input_stream_new
    functionSourceFile: /src/glib/gio/gsocketinputstream.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: GSocketInputStream*
    signature: 'GSocketInputStream *_g_socket_input_stream_new (GSocket *socket) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_INPUT_STREAM
      Src: /src/glib/gio/gsocketinputstream.c:174,1
    - Dst: g_socket_get_fd
      Src: /src/glib/gio/gsocketinputstream.c:176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - fd_based
    argTypes:
    - GFileDescriptorBased*
    constantsTouched: []
    func_position:
      end: 177
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 177
    functionName: g_socket_input_stream_get_fd
    functionSourceFile: /src/glib/gio/gsocketinputstream.c
    functionUses: []
    functionsReached:
    - G_SOCKET_INPUT_STREAM
    - g_socket_get_fd
    linkageType: ''
    returnType: int
    signature: 'static int g_socket_input_stream_get_fd (GFileDescriptorBased *fd_based) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GFileDescriptorBasedIface*
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: g_socket_input_stream_file_descriptor_based_iface_init
    functionSourceFile: /src/glib/gio/gsocketinputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_input_stream_file_descriptor_based_iface_init
      (GFileDescriptorBasedIface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_resource_file_new
      Src: /src/glib/gio/gvfs.c:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 93
    functionName: resource_get_file_for_uri
    functionSourceFile: /src/glib/gio/gvfs.c
    functionUses: []
    functionsReached:
    - _g_resource_file_new
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *resource_get_file_for_uri (GVfs *vfs, const char *uri,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gvfs.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GVfsClass*
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: g_vfs_class_init
    functionSourceFile: /src/glib/gio/gvfs.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_vfs_class_init (GVfsClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvfs.c:135,1
    - Dst: G_VFS_GET_CLASS
      Src: /src/glib/gio/gvfs.c:137,1
    - Dst: G_IS_VFS
      Src: /src/glib/gio/gvfs.c:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - vfs
    argTypes:
    - GVfs*
    constantsTouched: []
    func_position:
      end: 140
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 140
    functionName: g_vfs_is_active
    functionSourceFile: /src/glib/gio/gvfs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_VFS
    - G_VFS_GET_CLASS
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_vfs_is_active (GVfs *vfs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvfs.c:159,1
    - Dst: G_VFS_GET_CLASS
      Src: /src/glib/gio/gvfs.c:162,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvfs.c:160,1
    - Dst: G_IS_VFS
      Src: /src/glib/gio/gvfs.c:159,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 165
    functionName: g_vfs_get_file_for_path
    functionSourceFile: /src/glib/gio/gvfs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_VFS
    - G_VFS_GET_CLASS
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *g_vfs_get_file_for_path (GVfs *vfs, const char *path) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_vfs_get_instance_private
      Src: /src/glib/gio/gvfs.c:197,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gvfs.c:207,1
    - Dst: g_rw_lock_reader_lock
      Src: /src/glib/gio/gvfs.c:206,1
    - Dst: g_uri_parse_scheme
      Src: /src/glib/gio/gvfs.c:202,1
    - Dst: g_rw_lock_reader_unlock
      Src: /src/glib/gio/gvfs.c:212,1
    - Dst: g_free
      Src: /src/glib/gio/gvfs.c:214,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 216
    functionName: get_file_for_uri_internal
    functionSourceFile: /src/glib/gio/gvfs.c
    functionUses: []
    functionsReached:
    - g_uri_parse_scheme
    - g_rw_lock_reader_lock
    - g_vfs_get_instance_private
    - g_hash_table_lookup
    - g_rw_lock_reader_unlock
    - g_free
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *get_file_for_uri_internal (GVfs *vfs, const char *uri) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvfs.c:268,1
    - Dst: g_vfs_get_instance_private
      Src: /src/glib/gio/gvfs.c:270,1
    - Dst: G_VFS_GET_CLASS
      Src: /src/glib/gio/gvfs.c:280,1
    - Dst: G_IS_VFS
      Src: /src/glib/gio/gvfs.c:268,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gvfs.c:283,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gvfs.c:286,1
    - Dst: g_rw_lock_reader_lock
      Src: /src/glib/gio/gvfs.c:288,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gvfs.c:289,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gvfs.c:291,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gvfs.c:301,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gvfs.c:293,1
    - Dst: g_rw_lock_reader_unlock
      Src: /src/glib/gio/gvfs.c:295,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gvfs.c:297,1
    - Dst: g_free
      Src: /src/glib/gio/gvfs.c:299,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 305
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 305
    functionName: g_vfs_get_supported_uri_schemes
    functionSourceFile: /src/glib/gio/gvfs.c
    functionUses: []
    functionsReached:
    - g_hash_table_iter_init
    - g_return_val_if_fail
    - g_vfs_get_instance_private
    - g_rw_lock_reader_lock
    - G_VFS_GET_CLASS
    - g_hash_table_iter_next
    - g_rw_lock_reader_unlock
    - g_ptr_array_free
    - g_ptr_array_new
    - g_free
    - g_ptr_array_add
    - G_IS_VFS
    linkageType: ''
    returnType: gchar**
    signature: 'const gchar * const *g_vfs_get_supported_uri_schemes (GVfs *vfs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter_pointer
      Src: /src/glib/gio/gvfs.c:380,1
    - Dst: g_once_init_leave_pointer
      Src: /src/glib/gio/gvfs.c:381,1
    - Dst: _g_local_vfs_new
      Src: /src/glib/gio/gvfs.c:381,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 384
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 384
    functionName: g_vfs_get_local
    functionSourceFile: /src/glib/gio/gvfs.c
    functionUses: []
    functionsReached:
    - g_once_init_leave_pointer
    - _g_local_vfs_new
    - g_once_init_enter_pointer
    linkageType: ''
    returnType: GVfs*
    signature: 'GVfs *g_vfs_get_local (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_VFS
      Src: /src/glib/gio/gvfs.c:60,1
    - Dst: g_vfs_get_instance_private
      Src: /src/glib/gio/gvfs.c:61,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gvfs.c:63,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gvfs.c:64,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gvfs.c:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 67
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 67
    functionName: g_vfs_dispose
    functionSourceFile: /src/glib/gio/gvfs.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_vfs_get_instance_private
    - G_VFS
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_vfs_dispose (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gvfs.c:81,1
    - Dst: _g_resource_file_new
      Src: /src/glib/gio/gvfs.c:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: resource_parse_name
    functionSourceFile: /src/glib/gio/gvfs.c
    functionUses: []
    functionsReached:
    - g_str_has_prefix
    - _g_resource_file_new
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *resource_parse_name (GVfs *vfs, const char *parse_name,
      gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gvfs.c:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 106
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 106
    functionName: g_vfs_uri_lookup_func_closure_free
    functionSourceFile: /src/glib/gio/gvfs.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void g_vfs_uri_lookup_func_closure_free (gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_vfs_get_instance_private
      Src: /src/glib/gio/gvfs.c:171,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gvfs.c:177,1
    - Dst: g_rw_lock_reader_lock
      Src: /src/glib/gio/gvfs.c:176,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gvfs.c:179,1
    - Dst: g_rw_lock_reader_unlock
      Src: /src/glib/gio/gvfs.c:188,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 191
    functionName: parse_name_internal
    functionSourceFile: /src/glib/gio/gvfs.c
    functionUses: []
    functionsReached:
    - g_hash_table_iter_init
    - g_rw_lock_reader_lock
    - g_vfs_get_instance_private
    - g_rw_lock_reader_unlock
    - g_hash_table_iter_next
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *parse_name_internal (GVfs *vfs, const char *parse_name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_vfs_get_local
      Src: /src/glib/gio/gvfs.c:352,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gvfs.c:351,1
    - Dst: g_once_init_enter_pointer
      Src: /src/glib/gio/gvfs.c:354,1
    - Dst: _g_io_module_get_default
      Src: /src/glib/gio/gvfs.c:358,1
    - Dst: g_once_init_leave_pointer
      Src: /src/glib/gio/gvfs.c:362,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 366
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 366
    functionName: g_vfs_get_default
    functionSourceFile: /src/glib/gio/gvfs.c
    functionUses: []
    functionsReached:
    - g_once_init_leave_pointer
    - g_vfs_get_local
    - GLIB_PRIVATE_CALL
    - _g_io_module_get_default
    - g_once_init_enter_pointer
    linkageType: ''
    returnType: GVfs*
    signature: 'GVfs *g_vfs_get_default (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_vfs_get_instance_private
      Src: /src/glib/gio/gvfs.c:111,1
    - Dst: g_vfs_register_uri_scheme
      Src: /src/glib/gio/gvfs.c:116,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gvfs.c:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - vfs
    argTypes:
    - GVfs*
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: g_vfs_init
    functionSourceFile: /src/glib/gio/gvfs.c
    functionUses: []
    functionsReached:
    - g_vfs_register_uri_scheme
    - g_hash_table_new_full
    - g_vfs_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_vfs_init (GVfs *vfs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvfs.c:239,1
    - Dst: get_file_for_uri_internal
      Src: /src/glib/gio/gvfs.c:244,1
    - Dst: G_VFS_GET_CLASS
      Src: /src/glib/gio/gvfs.c:242,1
    - Dst: G_IS_VFS
      Src: /src/glib/gio/gvfs.c:239,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvfs.c:240,1
    - Dst: g_assert
      Src: /src/glib/gio/gvfs.c:248,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gvfs.c:250,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 251
    functionName: g_vfs_get_file_for_uri
    functionSourceFile: /src/glib/gio/gvfs.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_return_val_if_fail
    - G_VFS_GET_CLASS
    - g_assert
    - get_file_for_uri_internal
    - G_IS_VFS
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *g_vfs_get_file_for_uri (GVfs *vfs, const char *uri) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvfs.c:326,1
    - Dst: G_VFS_GET_CLASS
      Src: /src/glib/gio/gvfs.c:329,1
    - Dst: G_IS_VFS
      Src: /src/glib/gio/gvfs.c:326,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvfs.c:327,1
    - Dst: parse_name_internal
      Src: /src/glib/gio/gvfs.c:331,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 336
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 336
    functionName: g_vfs_parse_name
    functionSourceFile: /src/glib/gio/gvfs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - parse_name_internal
    - G_IS_VFS
    - G_VFS_GET_CLASS
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *g_vfs_parse_name (GVfs *vfs, const char *parse_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvfs.c:441,1
    - Dst: g_rw_lock_reader_lock
      Src: /src/glib/gio/gvfs.c:446,1
    - Dst: G_IS_VFS
      Src: /src/glib/gio/gvfs.c:441,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvfs.c:442,1
    - Dst: g_vfs_get_instance_private
      Src: /src/glib/gio/gvfs.c:444,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gvfs.c:447,1
    - Dst: g_rw_lock_reader_unlock
      Src: /src/glib/gio/gvfs.c:448,1
    - Dst: g_new0
      Src: /src/glib/gio/gvfs.c:453,1
    - Dst: g_rw_lock_writer_lock
      Src: /src/glib/gio/gvfs.c:461,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gvfs.c:462,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gvfs.c:466,1
    - Dst: g_rw_lock_writer_unlock
      Src: /src/glib/gio/gvfs.c:463,1
    - Dst: g_strdup
      Src: /src/glib/gio/gvfs.c:462,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 8
    argNames:
    - vfs
    - scheme
    - uri_func
    - uri_data
    - uri_destroy
    - parse_name_func
    - parse_name_data
    - parse_name_destroy
    argTypes:
    - GVfs*
    - char*
    - GVfsFileLookupFunc
    - gpointer
    - GDestroyNotify
    - GVfsFileLookupFunc
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 469
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 469
    functionName: g_vfs_register_uri_scheme
    functionSourceFile: /src/glib/gio/gvfs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_strdup
    - g_rw_lock_reader_lock
    - g_vfs_get_instance_private
    - g_hash_table_lookup
    - g_hash_table_insert
    - g_clear_pointer
    - g_rw_lock_writer_unlock
    - g_rw_lock_reader_unlock
    - g_rw_lock_writer_lock
    - g_new0
    - G_IS_VFS
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_vfs_register_uri_scheme (GVfs *vfs, const char *scheme,
      GVfsFileLookupFunc uri_func, gpointer uri_data, GDestroyNotify uri_destroy,
      GVfsFileLookupFunc parse_name_func, gpointer parse_name_data, GDestroyNotify
      parse_name_destroy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvfs.c:491,1
    - Dst: g_vfs_get_instance_private
      Src: /src/glib/gio/gvfs.c:494,1
    - Dst: g_rw_lock_writer_lock
      Src: /src/glib/gio/gvfs.c:496,1
    - Dst: G_IS_VFS
      Src: /src/glib/gio/gvfs.c:491,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvfs.c:492,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gvfs.c:497,1
    - Dst: g_rw_lock_writer_unlock
      Src: /src/glib/gio/gvfs.c:498,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gvfs.c:503,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - vfs
    - scheme
    argTypes:
    - GVfs*
    - char*
    constantsTouched: []
    func_position:
      end: 509
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 509
    functionName: g_vfs_unregister_uri_scheme
    functionSourceFile: /src/glib/gio/gvfs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_vfs_get_instance_private
    - g_hash_table_remove
    - g_clear_pointer
    - g_rw_lock_writer_unlock
    - g_rw_lock_writer_lock
    - G_IS_VFS
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_vfs_unregister_uri_scheme (GVfs *vfs, const char *scheme) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_file_read
      Src: /src/glib/gio/gio-tool-cat.c:61,1
    - Dst: print_file_error
      Src: /src/glib/gio/gio-tool-cat.c:64,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-cat.c:65,1
    - Dst: g_malloc
      Src: /src/glib/gio/gio-tool-cat.c:69,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/gio-tool-cat.c:73,1
    - Dst: write
      Src: /src/glib/gio/gio-tool-cat.c:83,1
    - Dst: print_error
      Src: /src/glib/gio/gio-tool-cat.c:88,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-cat.c:88,1
    - Dst: print_file_error
      Src: /src/glib/gio/gio-tool-cat.c:98,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-cat.c:99,1
    - Dst: print_file_error
      Src: /src/glib/gio/gio-tool-cat.c:112,1
    - Dst: g_input_stream_close
      Src: /src/glib/gio/gio-tool-cat.c:109,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-cat.c:117,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-cat.c:113,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 120
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 120
    functionName: cat
    functionSourceFile: /src/glib/gio/gio-tool-cat.c
    functionUses: []
    functionsReached:
    - write
    - print_file_error
    - g_file_read
    - g_input_stream_close
    - g_malloc
    - g_input_stream_read
    - g_error_free
    - print_error
    - _
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean cat (GFile *file) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-cat.c:136,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-cat.c:155,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-cat.c:163,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-cat.c:164,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/gio-tool-cat.c:173,1
    - Dst: g_option_context_new
      Src: /src/glib/gio/gio-tool-cat.c:135,1
    - Dst: g_option_context_set_description
      Src: /src/glib/gio/gio-tool-cat.c:140,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/gio/gio-tool-cat.c:144,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-cat.c:149,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/gio-tool-cat.c:153,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-cat.c:163,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-cat.c:168,1
    - Dst: g_set_prgname
      Src: /src/glib/gio/gio-tool-cat.c:132,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gio-tool-cat.c:134,1
    - Dst: g_option_context_set_help_enabled
      Src: /src/glib/gio/gio-tool-cat.c:137,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-cat.c:139,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-cat.c:141,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-cat.c:148,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-cat.c:157,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-cat.c:175,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-cat.c:134,1
    - Dst: g_option_context_set_summary
      Src: /src/glib/gio/gio-tool-cat.c:138,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-cat.c:156,1
    - Dst: cat
      Src: /src/glib/gio/gio-tool-cat.c:174,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 3
    argNames:
    - argc
    - argv
    - do_help
    argTypes:
    - int
    - char*
    - gboolean
    constantsTouched: []
    func_position:
      end: 179
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 179
    functionName: handle_cat
    functionSourceFile: /src/glib/gio/gio-tool-cat.c
    functionUses: []
    functionsReached:
    - g_option_context_set_description
    - g_strdup_printf
    - g_option_context_free
    - g_object_unref
    - g_option_context_new
    - g_option_context_set_summary
    - g_set_prgname
    - show_help
    - g_file_new_for_commandline_arg
    - g_error_free
    - g_option_context_set_help_enabled
    - cat
    - g_option_context_parse
    - _
    - g_option_context_add_main_entries
    - g_free
    linkageType: ''
    returnType: int
    signature: 'int handle_cat (int argc, char *argv[], gboolean do_help) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_schema_get_path
      Src: /src/glib/gio/gsettings-tool.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - schema
    argTypes:
    - GSettingsSchema*
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: is_relocatable_schema
    functionSourceFile: /src/glib/gio/gsettings-tool.c
    functionUses: []
    functionsReached:
    - g_settings_schema_get_path
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_relocatable_schema (GSettingsSchema *schema) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_schema_list_keys
      Src: /src/glib/gio/gsettings-tool.c:194,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gsettings-tool.c:196,1
    - Dst: output_list
      Src: /src/glib/gio/gsettings-tool.c:195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 197
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 197
    functionName: gsettings_list_keys
    functionSourceFile: /src/glib/gio/gsettings-tool.c
    functionUses: []
    functionsReached:
    - g_strfreev
    - g_settings_schema_list_keys
    - output_list
    linkageType: ''
    returnType: void
    signature: 'static void gsettings_list_keys (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_printerr
      Src: /src/glib/gio/gsettings-tool.c:50,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:56,1
    - Dst: g_printerr
      Src: /src/glib/gio/gsettings-tool.c:56,1
    - Dst: is_relocatable_schema
      Src: /src/glib/gio/gsettings-tool.c:54,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:50,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - schema
    - schema_id
    argTypes:
    - GSettingsSchema*
    - gchar*
    constantsTouched: []
    func_position:
      end: 63
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 63
    functionName: check_relocatable_schema
    functionSourceFile: /src/glib/gio/gsettings-tool.c
    functionUses: []
    functionsReached:
    - _
    - is_relocatable_schema
    - g_printerr
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean check_relocatable_schema (GSettingsSchema *schema,
      const gchar *schema_id) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_list_children
      Src: /src/glib/gio/gsettings-tool.c:206,1
    - Dst: qsort
      Src: /src/glib/gio/gsettings-tool.c:207,1
    - Dst: g_strv_length
      Src: /src/glib/gio/gsettings-tool.c:207,1
    - Dst: g_settings_get_child
      Src: /src/glib/gio/gsettings-tool.c:221,1
    - Dst: strlen
      Src: /src/glib/gio/gsettings-tool.c:210,1
    - Dst: g_object_get
      Src: /src/glib/gio/gsettings-tool.c:222,1
    - Dst: g_settings_schema_get_path
      Src: /src/glib/gio/gsettings-tool.c:227,1
    - Dst: g_print
      Src: /src/glib/gio/gsettings-tool.c:228,1
    - Dst: MIN
      Src: /src/glib/gio/gsettings-tool.c:228,1
    - Dst: g_settings_schema_get_id
      Src: /src/glib/gio/gsettings-tool.c:229,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsettings-tool.c:234,1
    - Dst: g_settings_schema_unref
      Src: /src/glib/gio/gsettings-tool.c:235,1
    - Dst: MIN
      Src: /src/glib/gio/gsettings-tool.c:231,1
    - Dst: g_settings_schema_get_id
      Src: /src/glib/gio/gsettings-tool.c:232,1
    - Dst: g_print
      Src: /src/glib/gio/gsettings-tool.c:231,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gsettings-tool.c:239,1
    - Dst: g_free
      Src: /src/glib/gio/gsettings-tool.c:236,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 240
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 240
    functionName: gsettings_list_children
    functionSourceFile: /src/glib/gio/gsettings-tool.c
    functionUses: []
    functionsReached:
    - g_settings_get_child
    - g_object_get
    - g_strv_length
    - strlen
    - qsort
    - g_object_unref
    - g_settings_schema_unref
    - g_settings_schema_get_id
    - g_settings_schema_get_path
    - MIN
    - g_strfreev
    - g_settings_list_children
    - g_print
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void gsettings_list_children (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gsettings-tool.c:545,1
    - Dst: g_printerr
      Src: /src/glib/gio/gsettings-tool.c:553,1
    - Dst: g_printerr
      Src: /src/glib/gio/gsettings-tool.c:559,1
    - Dst: g_settings_set_value
      Src: /src/glib/gio/gsettings-tool.c:564,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-tool.c:541,1
    - Dst: exit
      Src: /src/glib/gio/gsettings-tool.c:554,1
    - Dst: g_printerr
      Src: /src/glib/gio/gsettings-tool.c:566,1
    - Dst: g_settings_sync
      Src: /src/glib/gio/gsettings-tool.c:570,1
    - Dst: exit
      Src: /src/glib/gio/gsettings-tool.c:561,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gsettings-tool.c:544,1
    - Dst: g_variant_parse_error_print_context
      Src: /src/glib/gio/gsettings-tool.c:552,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:559,1
    - Dst: g_settings_schema_key_get_value_type
      Src: /src/glib/gio/gsettings-tool.c:515,1
    - Dst: g_variant_parse
      Src: /src/glib/gio/gsettings-tool.c:517,1
    - Dst: g_settings_schema_key_range_check
      Src: /src/glib/gio/gsettings-tool.c:557,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:566,1
    - Dst: g_free
      Src: /src/glib/gio/gsettings-tool.c:572,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings-tool.c:560,1
    - Dst: exit
      Src: /src/glib/gio/gsettings-tool.c:567,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 573
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 573
    functionName: gsettings_set
    functionSourceFile: /src/glib/gio/gsettings-tool.c
    functionUses: []
    functionsReached:
    - g_variant_type_equal
    - g_clear_error
    - g_settings_schema_key_range_check
    - g_variant_parse
    - g_settings_schema_key_get_value_type
    - g_printerr
    - g_settings_set_value
    - g_settings_sync
    - g_variant_new_string
    - g_variant_unref
    - _
    - g_free
    - g_variant_parse_error_print_context
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void gsettings_set (void) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/gio/gsettings-tool.c:583,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:590,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:600,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:606,1
    - Dst: N_
      Src: /src/glib/gio/gsettings-tool.c:615,1
    - Dst: N_
      Src: /src/glib/gio/gsettings-tool.c:628,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:631,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:626,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:618,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:614,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:639,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:667,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:733,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:720,1
    - Dst: N_
      Src: /src/glib/gio/gsettings-tool.c:640,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:717,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:741,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:594,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:602,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:608,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:624,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:620,1
    - Dst: N_
      Src: /src/glib/gio/gsettings-tool.c:621,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:633,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:645,1
    - Dst: N_
      Src: /src/glib/gio/gsettings-tool.c:646,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:649,1
    - Dst: g_printerr
      Src: /src/glib/gio/gsettings-tool.c:749,1
    - Dst: g_string_free
      Src: /src/glib/gio/gsettings-tool.c:751,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:724,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:737,1
    - Dst: g_string_append
      Src: /src/glib/gio/gsettings-tool.c:740,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:643,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:715,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gsettings-tool.c:714,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:682,1
    - Dst: g_string_append
      Src: /src/glib/gio/gsettings-tool.c:719,1
    - Dst: strstr
      Src: /src/glib/gio/gsettings-tool.c:735,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:669,1
    - Dst: g_string_append
      Src: /src/glib/gio/gsettings-tool.c:732,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:596,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:651,1
    - Dst: N_
      Src: /src/glib/gio/gsettings-tool.c:652,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:655,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:675,1
    - Dst: N_
      Src: /src/glib/gio/gsettings-tool.c:678,1
    - Dst: N_
      Src: /src/glib/gio/gsettings-tool.c:670,1
    - Dst: g_string_printf
      Src: /src/glib/gio/gsettings-tool.c:682,1
    - Dst: g_string_append
      Src: /src/glib/gio/gsettings-tool.c:717,1
    - Dst: strstr
      Src: /src/glib/gio/gsettings-tool.c:722,1
    - Dst: g_string_append
      Src: /src/glib/gio/gsettings-tool.c:723,1
    - Dst: strstr
      Src: /src/glib/gio/gsettings-tool.c:726,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:663,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:728,1
    - Dst: N_
      Src: /src/glib/gio/gsettings-tool.c:664,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:588,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:612,1
    - Dst: N_
      Src: /src/glib/gio/gsettings-tool.c:634,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:637,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:657,1
    - Dst: N_
      Src: /src/glib/gio/gsettings-tool.c:658,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:661,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:673,1
    - Dst: g_string_append
      Src: /src/glib/gio/gsettings-tool.c:689,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:690,1
    - Dst: g_string_append
      Src: /src/glib/gio/gsettings-tool.c:727,1
    - Dst: g_string_append
      Src: /src/glib/gio/gsettings-tool.c:743,1
    - Dst: g_print
      Src: /src/glib/gio/gsettings-tool.c:747,1
    - Dst: strstr
      Src: /src/glib/gio/gsettings-tool.c:739,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:714,1
    - Dst: g_string_append
      Src: /src/glib/gio/gsettings-tool.c:736,1
    - Dst: strstr
      Src: /src/glib/gio/gsettings-tool.c:731,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 141
    argCount: 2
    argNames:
    - requested
    - command
    argTypes:
    - gboolean
    - gchar*
    constantsTouched: []
    func_position:
      end: 754
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 754
    functionName: gsettings_help
    functionSourceFile: /src/glib/gio/gsettings-tool.c
    functionUses: []
    functionsReached:
    - g_printerr
    - strcmp
    - g_string_append_printf
    - strstr
    - g_string_free
    - g_string_printf
    - g_print
    - g_string_new
    - _
    - N_
    - g_string_append
    linkageType: ''
    returnType: int
    signature: 'static int gsettings_help (gboolean requested, const gchar *command) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/glib/gio/gsettings-tool.c:767,1
    - Dst: textdomain
      Src: /src/glib/gio/gsettings-tool.c:768,1
    - Dst: g_settings_schema_source_get_default
      Src: /src/glib/gio/gsettings-tool.c:785,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gsettings-tool.c:787,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:796,1
    - Dst: g_printerr
      Src: /src/glib/gio/gsettings-tool.c:808,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:817,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:823,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:833,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:842,1
    - Dst: check_path
      Src: /src/glib/gio/gsettings-tool.c:899,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gsettings-tool.c:957,1
    - Dst: g_free
      Src: /src/glib/gio/gsettings-tool.c:773,1
    - Dst: bindtextdomain
      Src: /src/glib/gio/gsettings-tool.c:772,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:820,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:826,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:827,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:836,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:848,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:860,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:872,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:875,1
    - Dst: gsettings_help
      Src: /src/glib/gio/gsettings-tool.c:879,1
    - Dst: g_settings_new_full
      Src: /src/glib/gio/gsettings-tool.c:909,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:942,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gsettings-tool.c:959,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gsettings-tool.c:956,1
    - Dst: g_settings_schema_source_lookup
      Src: /src/glib/gio/gsettings-tool.c:893,1
    - Dst: g_settings_schema_get_key
      Src: /src/glib/gio/gsettings-tool.c:947,1
    - Dst: g_settings_schema_has_key
      Src: /src/glib/gio/gsettings-tool.c:940,1
    - Dst: _glib_get_locale_dir
      Src: /src/glib/gio/gsettings-tool.c:771,1
    - Dst: bind_textdomain_codeset
      Src: /src/glib/gio/gsettings-tool.c:779,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:808,1
    - Dst: g_settings_schema_source_ref
      Src: /src/glib/gio/gsettings-tool.c:812,1
    - Dst: gsettings_help
      Src: /src/glib/gio/gsettings-tool.c:818,1
    - Dst: g_printerr
      Src: /src/glib/gio/gsettings-tool.c:796,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gsettings-tool.c:797,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:854,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:863,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:869,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:845,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:929,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gsettings-tool.c:958,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gsettings-tool.c:935,1
    - Dst: bindtextdomain
      Src: /src/glib/gio/gsettings-tool.c:775,1
    - Dst: gsettings_help
      Src: /src/glib/gio/gsettings-tool.c:783,1
    - Dst: g_settings_schema_source_new_from_directory
      Src: /src/glib/gio/gsettings-tool.c:792,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:866,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:887,1
    - Dst: g_strsplit
      Src: /src/glib/gio/gsettings-tool.c:891,1
    - Dst: check_relocatable_schema
      Src: /src/glib/gio/gsettings-tool.c:899,1
    - Dst: g_settings_new_full
      Src: /src/glib/gio/gsettings-tool.c:902,1
    - Dst: check_relocatable_schema
      Src: /src/glib/gio/gsettings-tool.c:922,1
    - Dst: g_printerr
      Src: /src/glib/gio/gsettings-tool.c:929,1
    - Dst: check_path
      Src: /src/glib/gio/gsettings-tool.c:922,1
    - Dst: g_printerr
      Src: /src/glib/gio/gsettings-tool.c:887,1
    - Dst: check_schema
      Src: /src/glib/gio/gsettings-tool.c:906,1
    - Dst: g_printerr
      Src: /src/glib/gio/gsettings-tool.c:942,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 184
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 962
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 962
    functionName: main
    functionSourceFile: /src/glib/gio/gsettings-tool.c
    functionUses: []
    functionsReached:
    - g_settings_new_full
    - g_printerr
    - textdomain
    - strcmp
    - bind_textdomain_codeset
    - g_settings_schema_source_get_default
    - g_settings_schema_source_ref
    - g_strsplit
    - check_relocatable_schema
    - bindtextdomain
    - g_settings_schema_source_lookup
    - check_path
    - setlocale
    - g_strfreev
    - g_settings_schema_get_key
    - g_clear_pointer
    - g_clear_object
    - gsettings_help
    - g_settings_schema_has_key
    - check_schema
    - _
    - g_str_equal
    - g_clear_error
    - _glib_get_locale_dir
    - g_settings_schema_source_new_from_directory
    - g_free
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gio/gsettings-tool.c:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 121
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 121
    functionName: qsort_cmp
    functionSourceFile: /src/glib/gio/gsettings-tool.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    linkageType: ''
    returnType: int
    signature: 'static int qsort_cmp (const void *a, const void *b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: list_recursively
      Src: /src/glib/gio/gsettings-tool.c:313,1
    - Dst: g_settings_schema_source_list_schemas
      Src: /src/glib/gio/gsettings-tool.c:320,1
    - Dst: g_settings_schema_source_lookup
      Src: /src/glib/gio/gsettings-tool.c:328,1
    - Dst: qsort
      Src: /src/glib/gio/gsettings-tool.c:321,1
    - Dst: g_strv_length
      Src: /src/glib/gio/gsettings-tool.c:321,1
    - Dst: g_settings_new_full
      Src: /src/glib/gio/gsettings-tool.c:331,1
    - Dst: list_recursively
      Src: /src/glib/gio/gsettings-tool.c:332,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsettings-tool.c:333,1
    - Dst: g_settings_schema_unref
      Src: /src/glib/gio/gsettings-tool.c:334,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gsettings-tool.c:337,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 339
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 339
    functionName: gsettings_list_recursively
    functionSourceFile: /src/glib/gio/gsettings-tool.c
    functionUses: []
    functionsReached:
    - g_settings_new_full
    - list_recursively
    - g_strv_length
    - g_object_unref
    - qsort
    - g_settings_schema_unref
    - g_settings_schema_source_lookup
    - g_strfreev
    - g_settings_schema_source_list_schemas
    linkageType: ''
    returnType: void
    signature: 'static void gsettings_list_recursively (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_schema_key_get_range
      Src: /src/glib/gio/gsettings-tool.c:357,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gsettings-tool.c:361,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gsettings-tool.c:358,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings-tool.c:374,1
    - Dst: g_variant_print
      Src: /src/glib/gio/gsettings-tool.c:392,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gsettings-tool.c:368,1
    - Dst: g_variant_print
      Src: /src/glib/gio/gsettings-tool.c:369,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings-tool.c:375,1
    - Dst: g_print
      Src: /src/glib/gio/gsettings-tool.c:393,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:360,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:363,1
    - Dst: g_print
      Src: /src/glib/gio/gsettings-tool.c:372,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:380,1
    - Dst: g_print
      Src: /src/glib/gio/gsettings-tool.c:385,1
    - Dst: g_free
      Src: /src/glib/gio/gsettings-tool.c:376,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/gio/gsettings-tool.c:388,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings-tool.c:398,1
    - Dst: g_print
      Src: /src/glib/gio/gsettings-tool.c:361,1
    - Dst: g_variant_print
      Src: /src/glib/gio/gsettings-tool.c:370,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gsettings-tool.c:373,1
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/gsettings-tool.c:387,1
    - Dst: g_free
      Src: /src/glib/gio/gsettings-tool.c:377,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings-tool.c:380,1
    - Dst: g_free
      Src: /src/glib/gio/gsettings-tool.c:394,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings-tool.c:399,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 400
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 400
    functionName: gsettings_range
    functionSourceFile: /src/glib/gio/gsettings-tool.c
    functionUses: []
    functionsReached:
    - g_settings_schema_key_get_range
    - g_variant_iter_init
    - strcmp
    - g_variant_iter_loop
    - g_variant_unref
    - g_variant_print
    - g_print
    - g_variant_get_type_string
    - g_variant_get
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void gsettings_range (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/glib/gio/gsettings-tool.c:128,1
    - Dst: g_print
      Src: /src/glib/gio/gsettings-tool.c:130,1
    - Dst: g_strv_length
      Src: /src/glib/gio/gsettings-tool.c:128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - list
    argTypes:
    - gchar**
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: output_list
    functionSourceFile: /src/glib/gio/gsettings-tool.c
    functionUses: []
    functionsReached:
    - g_strv_length
    - g_print
    - qsort
    linkageType: ''
    returnType: void
    signature: 'static void output_list (gchar **list) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_schema_key_get_description
      Src: /src/glib/gio/gsettings-tool.c:345,1
    - Dst: g_print
      Src: /src/glib/gio/gsettings-tool.c:348,1
    - Dst: g_settings_schema_key_get_summary
      Src: /src/glib/gio/gsettings-tool.c:347,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 349
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 349
    functionName: gsettings_description
    functionSourceFile: /src/glib/gio/gsettings-tool.c
    functionUses: []
    functionsReached:
    - g_settings_schema_key_get_summary
    - g_print
    - g_settings_schema_key_get_description
    linkageType: ''
    returnType: void
    signature: 'static void gsettings_description (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_get_value
      Src: /src/glib/gio/gsettings-tool.c:408,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings-tool.c:411,1
    - Dst: g_variant_print
      Src: /src/glib/gio/gsettings-tool.c:409,1
    - Dst: g_free
      Src: /src/glib/gio/gsettings-tool.c:412,1
    - Dst: g_print
      Src: /src/glib/gio/gsettings-tool.c:410,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 413
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 413
    functionName: gsettings_get
    functionSourceFile: /src/glib/gio/gsettings-tool.c
    functionUses: []
    functionsReached:
    - g_settings_get_value
    - g_variant_unref
    - g_variant_print
    - g_print
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void gsettings_get (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_printerr
      Src: /src/glib/gio/gsettings-tool.c:71,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:77,1
    - Dst: is_relocatable_schema
      Src: /src/glib/gio/gsettings-tool.c:75,1
    - Dst: g_printerr
      Src: /src/glib/gio/gsettings-tool.c:77,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:71,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - schema
    - schema_id
    argTypes:
    - GSettingsSchema*
    - gchar*
    constantsTouched: []
    func_position:
      end: 84
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 84
    functionName: check_schema
    functionSourceFile: /src/glib/gio/gsettings-tool.c
    functionUses: []
    functionsReached:
    - _
    - is_relocatable_schema
    - g_printerr
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean check_schema (GSettingsSchema *schema, const gchar
      *schema_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gio/gsettings-tool.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: gsettings_print_version
    functionSourceFile: /src/glib/gio/gsettings-tool.c
    functionUses: []
    functionsReached:
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void gsettings_print_version (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_schema_source_list_schemas
      Src: /src/glib/gio/gsettings-tool.c:156,1
    - Dst: g_settings_schema_source_lookup
      Src: /src/glib/gio/gsettings-tool.c:166,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gsettings-tool.c:164,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gsettings-tool.c:169,1
    - Dst: g_settings_schema_get_path
      Src: /src/glib/gio/gsettings-tool.c:167,1
    - Dst: g_settings_schema_unref
      Src: /src/glib/gio/gsettings-tool.c:171,1
    - Dst: g_free
      Src: /src/glib/gio/gsettings-tool.c:172,1
    - Dst: output_list
      Src: /src/glib/gio/gsettings-tool.c:175,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gsettings-tool.c:176,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 177
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 177
    functionName: gsettings_list_schemas_with_paths
    functionSourceFile: /src/glib/gio/gsettings-tool.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_strconcat
    - g_settings_schema_unref
    - output_list
    - g_settings_schema_source_lookup
    - g_settings_schema_get_path
    - g_strfreev
    - g_settings_schema_source_list_schemas
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void gsettings_list_schemas_with_paths (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_get
      Src: /src/glib/gio/gsettings-tool.c:249,1
    - Dst: g_settings_get_value
      Src: /src/glib/gio/gsettings-tool.c:258,1
    - Dst: g_strv_length
      Src: /src/glib/gio/gsettings-tool.c:252,1
    - Dst: qsort
      Src: /src/glib/gio/gsettings-tool.c:252,1
    - Dst: g_settings_schema_list_keys
      Src: /src/glib/gio/gsettings-tool.c:251,1
    - Dst: g_variant_print
      Src: /src/glib/gio/gsettings-tool.c:259,1
    - Dst: g_print
      Src: /src/glib/gio/gsettings-tool.c:260,1
    - Dst: g_settings_schema_get_id
      Src: /src/glib/gio/gsettings-tool.c:260,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings-tool.c:261,1
    - Dst: g_free
      Src: /src/glib/gio/gsettings-tool.c:262,1
    - Dst: g_settings_schema_unref
      Src: /src/glib/gio/gsettings-tool.c:265,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gsettings-tool.c:266,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - settings
    argTypes:
    - GSettings*
    constantsTouched: []
    func_position:
      end: 267
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 267
    functionName: enumerate
    functionSourceFile: /src/glib/gio/gsettings-tool.c
    functionUses: []
    functionsReached:
    - g_object_get
    - g_strv_length
    - g_settings_schema_unref
    - qsort
    - g_settings_get_value
    - g_settings_schema_get_id
    - g_strfreev
    - g_variant_unref
    - g_variant_print
    - g_print
    - g_settings_schema_list_keys
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void enumerate (GSettings *settings) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_reset
      Src: /src/glib/gio/gsettings-tool.c:418,1
    - Dst: g_settings_sync
      Src: /src/glib/gio/gsettings-tool.c:419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 420
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 420
    functionName: gsettings_reset
    functionSourceFile: /src/glib/gio/gsettings-tool.c
    functionUses: []
    functionsReached:
    - g_settings_sync
    - g_settings_reset
    linkageType: ''
    returnType: void
    signature: 'static void gsettings_reset (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_delay
      Src: /src/glib/gio/gsettings-tool.c:447,1
    - Dst: g_settings_list_children
      Src: /src/glib/gio/gsettings-tool.c:450,1
    - Dst: reset_all_keys
      Src: /src/glib/gio/gsettings-tool.c:456,1
    - Dst: g_settings_get_child
      Src: /src/glib/gio/gsettings-tool.c:454,1
    - Dst: reset_all_keys
      Src: /src/glib/gio/gsettings-tool.c:449,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsettings-tool.c:458,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gsettings-tool.c:461,1
    - Dst: g_settings_apply
      Src: /src/glib/gio/gsettings-tool.c:463,1
    - Dst: g_settings_sync
      Src: /src/glib/gio/gsettings-tool.c:464,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 465
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 465
    functionName: gsettings_reset_recursively
    functionSourceFile: /src/glib/gio/gsettings-tool.c
    functionUses: []
    functionsReached:
    - g_settings_get_child
    - g_object_unref
    - g_settings_apply
    - g_settings_sync
    - g_strfreev
    - g_settings_list_children
    - g_settings_delay
    - reset_all_keys
    linkageType: ''
    returnType: void
    signature: 'static void gsettings_reset_recursively (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_get_value
      Src: /src/glib/gio/gsettings-tool.c:483,1
    - Dst: g_free
      Src: /src/glib/gio/gsettings-tool.c:487,1
    - Dst: g_print
      Src: /src/glib/gio/gsettings-tool.c:485,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings-tool.c:486,1
    - Dst: g_variant_print
      Src: /src/glib/gio/gsettings-tool.c:484,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - settings
    - key
    - user_data
    argTypes:
    - GSettings*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 488
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 488
    functionName: value_changed
    functionSourceFile: /src/glib/gio/gsettings-tool.c
    functionUses: []
    functionsReached:
    - g_settings_get_value
    - g_variant_unref
    - g_variant_print
    - g_print
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void value_changed (GSettings *settings, const gchar *key,
      gpointer user_data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_printerr
      Src: /src/glib/gio/gsettings-tool.c:91,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:97,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:91,1
    - Dst: g_printerr
      Src: /src/glib/gio/gsettings-tool.c:97,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/gsettings-tool.c:101,1
    - Dst: g_printerr
      Src: /src/glib/gio/gsettings-tool.c:103,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:103,1
    - Dst: strstr
      Src: /src/glib/gio/gsettings-tool.c:107,1
    - Dst: g_printerr
      Src: /src/glib/gio/gsettings-tool.c:109,1
    - Dst: _
      Src: /src/glib/gio/gsettings-tool.c:109,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - path
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 114
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 114
    functionName: check_path
    functionSourceFile: /src/glib/gio/gsettings-tool.c
    functionUses: []
    functionsReached:
    - _
    - g_printerr
    - strstr
    - g_str_has_suffix
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean check_path (const gchar *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_schema_source_list_schemas
      Src: /src/glib/gio/gsettings-tool.c:145,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gsettings-tool.c:147,1
    - Dst: output_list
      Src: /src/glib/gio/gsettings-tool.c:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 148
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 148
    functionName: gsettings_list_schemas
    functionSourceFile: /src/glib/gio/gsettings-tool.c
    functionUses: []
    functionsReached:
    - g_strfreev
    - g_settings_schema_source_list_schemas
    - output_list
    linkageType: ''
    returnType: void
    signature: 'static void gsettings_list_schemas (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_schema_source_list_schemas
      Src: /src/glib/gio/gsettings-tool.c:184,1
    - Dst: output_list
      Src: /src/glib/gio/gsettings-tool.c:185,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gsettings-tool.c:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 187
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 187
    functionName: gsettings_list_relocatable_schemas
    functionSourceFile: /src/glib/gio/gsettings-tool.c
    functionUses: []
    functionsReached:
    - g_strfreev
    - g_settings_schema_source_list_schemas
    - output_list
    linkageType: ''
    returnType: void
    signature: 'static void gsettings_list_relocatable_schemas (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: enumerate
      Src: /src/glib/gio/gsettings-tool.c:275,1
    - Dst: g_strv_length
      Src: /src/glib/gio/gsettings-tool.c:277,1
    - Dst: g_settings_list_children
      Src: /src/glib/gio/gsettings-tool.c:276,1
    - Dst: g_settings_get_child
      Src: /src/glib/gio/gsettings-tool.c:283,1
    - Dst: qsort
      Src: /src/glib/gio/gsettings-tool.c:277,1
    - Dst: g_object_get
      Src: /src/glib/gio/gsettings-tool.c:294,1
    - Dst: is_relocatable_schema
      Src: /src/glib/gio/gsettings-tool.c:295,1
    - Dst: g_settings_schema_unref
      Src: /src/glib/gio/gsettings-tool.c:296,1
    - Dst: list_recursively
      Src: /src/glib/gio/gsettings-tool.c:300,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsettings-tool.c:302,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gsettings-tool.c:305,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - settings
    argTypes:
    - GSettings*
    constantsTouched: []
    func_position:
      end: 306
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 306
    functionName: list_recursively
    functionSourceFile: /src/glib/gio/gsettings-tool.c
    functionUses: []
    functionsReached:
    - g_settings_get_child
    - g_object_get
    - list_recursively
    - g_strv_length
    - g_settings_schema_unref
    - qsort
    - g_object_unref
    - g_strfreev
    - enumerate
    - g_settings_list_children
    - is_relocatable_schema
    linkageType: ''
    returnType: void
    signature: 'static void list_recursively (GSettings *settings) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_get
      Src: /src/glib/gio/gsettings-tool.c:429,1
    - Dst: g_settings_reset
      Src: /src/glib/gio/gsettings-tool.c:434,1
    - Dst: g_settings_schema_unref
      Src: /src/glib/gio/gsettings-tool.c:437,1
    - Dst: g_settings_schema_list_keys
      Src: /src/glib/gio/gsettings-tool.c:431,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gsettings-tool.c:438,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - settings
    argTypes:
    - GSettings*
    constantsTouched: []
    func_position:
      end: 439
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 439
    functionName: reset_all_keys
    functionSourceFile: /src/glib/gio/gsettings-tool.c
    functionUses: []
    functionsReached:
    - g_object_get
    - g_settings_schema_unref
    - g_settings_reset
    - g_strfreev
    - g_settings_schema_list_keys
    linkageType: ''
    returnType: void
    signature: 'static void reset_all_keys (GSettings *settings) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gio/gsettings-tool.c:470,1
    - Dst: g_settings_is_writable
      Src: /src/glib/gio/gsettings-tool.c:471,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 473
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 473
    functionName: gsettings_writable
    functionSourceFile: /src/glib/gio/gsettings-tool.c
    functionUses: []
    functionsReached:
    - g_settings_is_writable
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void gsettings_writable (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gsettings-tool.c:497,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gsettings-tool.c:498,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gsettings-tool.c:501,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gsettings-tool.c:498,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gsettings-tool.c:501,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/gsettings-tool.c:504,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 505
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 505
    functionName: gsettings_monitor
    functionSourceFile: /src/glib/gio/gsettings-tool.c
    functionUses: []
    functionsReached:
    - g_main_context_iteration
    - g_strdup_printf
    - g_signal_connect
    - G_CALLBACK
    linkageType: ''
    returnType: void
    signature: 'static void gsettings_monitor (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gnotificationbackend.c:60,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gnotificationbackend.c:60,1
    - Dst: g_object_new
      Src: /src/glib/gio/gnotificationbackend.c:66,1
    - Dst: _g_io_module_get_default_type
      Src: /src/glib/gio/gnotificationbackend.c:62,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gnotificationbackend.c:64,1
    - Dst: g_application_get_dbus_connection
      Src: /src/glib/gio/gnotificationbackend.c:73,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gnotificationbackend.c:75,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 78
    functionName: g_notification_backend_new_default
    functionSourceFile: /src/glib/gio/gnotificationbackend.c
    functionUses: []
    functionsReached:
    - G_STRUCT_OFFSET
    - g_return_val_if_fail
    - g_object_new
    - g_application_get_dbus_connection
    - _g_io_module_get_default_type
    - g_object_ref
    - G_IS_APPLICATION
    linkageType: ''
    returnType: GNotificationBackend*
    signature: 'GNotificationBackend *g_notification_backend_new_default (GApplication
      *application) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gnotificationbackend.c:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - class
    argTypes:
    - GNotificationBackendClass*
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: g_notification_backend_class_init
    functionSourceFile: /src/glib/gio/gnotificationbackend.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_notification_backend_class_init (GNotificationBackendClass
      *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_NOTIFICATION_BACKEND
      Src: /src/glib/gio/gnotificationbackend.c:33,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gnotificationbackend.c:38,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gnotificationbackend.c:36,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - obj
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 39
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 39
    functionName: g_notification_backend_dispose
    functionSourceFile: /src/glib/gio/gnotificationbackend.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - G_NOTIFICATION_BACKEND
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_notification_backend_dispose (GObject *obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - backend
    argTypes:
    - GNotificationBackend*
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: g_notification_backend_init
    functionSourceFile: /src/glib/gio/gnotificationbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_notification_backend_init (GNotificationBackend *backend) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gnotificationbackend.c:85,1
    - Dst: G_IS_NOTIFICATION
      Src: /src/glib/gio/gnotificationbackend.c:86,1
    - Dst: G_IS_NOTIFICATION_BACKEND
      Src: /src/glib/gio/gnotificationbackend.c:85,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gnotificationbackend.c:86,1
    - Dst: G_NOTIFICATION_BACKEND_GET_CLASS
      Src: /src/glib/gio/gnotificationbackend.c:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - backend
    - id
    - notification
    argTypes:
    - GNotificationBackend*
    - gchar*
    - GNotification*
    constantsTouched: []
    func_position:
      end: 89
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 89
    functionName: g_notification_backend_send_notification
    functionSourceFile: /src/glib/gio/gnotificationbackend.c
    functionUses: []
    functionsReached:
    - G_IS_NOTIFICATION_BACKEND
    - G_IS_NOTIFICATION
    - G_NOTIFICATION_BACKEND_GET_CLASS
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_notification_backend_send_notification (GNotificationBackend
      *backend, const gchar *id, GNotification *notification) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gnotificationbackend.c:95,1
    - Dst: G_NOTIFICATION_BACKEND_GET_CLASS
      Src: /src/glib/gio/gnotificationbackend.c:98,1
    - Dst: G_IS_NOTIFICATION_BACKEND
      Src: /src/glib/gio/gnotificationbackend.c:95,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gnotificationbackend.c:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - backend
    - id
    argTypes:
    - GNotificationBackend*
    - gchar*
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: g_notification_backend_withdraw_notification
    functionSourceFile: /src/glib/gio/gnotificationbackend.c
    functionUses: []
    functionsReached:
    - G_IS_NOTIFICATION_BACKEND
    - G_NOTIFICATION_BACKEND_GET_CLASS
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_notification_backend_withdraw_notification (GNotificationBackend
      *backend, const gchar *id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:145,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:146,1
    - Dst: g_app_info_create_from_commandline_impl
      Src: /src/glib/gio/gappinfo.c:148,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 150
    functionName: g_app_info_create_from_commandline
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - g_app_info_create_from_commandline_impl
    - g_return_val_if_fail
    linkageType: ''
    returnType: GAppInfo*
    signature: 'GAppInfo *g_app_info_create_from_commandline (const char *commandline,
      const char *application_name, GAppInfoCreateFlags flags, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:534,1
    - Dst: g_app_info_get_default_for_type_impl
      Src: /src/glib/gio/gappinfo.c:536,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 537
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 537
    functionName: g_app_info_get_default_for_type
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - g_app_info_get_default_for_type_impl
    - g_return_val_if_fail
    linkageType: ''
    returnType: GAppInfo*
    signature: 'GAppInfo *g_app_info_get_default_for_type (const char *content_type,
      gboolean must_support_uris) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:607,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:608,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:607,1
    - Dst: G_APP_INFO_GET_IFACE
      Src: /src/glib/gio/gappinfo.c:610,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gappinfo.c:615,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - appinfo
    - content_type
    - error
    argTypes:
    - GAppInfo*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 620
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 620
    functionName: g_app_info_add_supports_type
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - g_set_error_literal
    - G_IS_APP_INFO
    - g_return_val_if_fail
    - G_APP_INFO_GET_IFACE
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_app_info_add_supports_type (GAppInfo *appinfo,\t\t\t const\
      \ char *content_type,\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:820,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:820,1
    - Dst: G_APP_INFO_GET_IFACE
      Src: /src/glib/gio/gappinfo.c:822,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 825
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 825
    functionName: g_app_info_supports_files
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - G_IS_APP_INFO
    - g_return_val_if_fail
    - G_APP_INFO_GET_IFACE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_app_info_supports_files (GAppInfo *appinfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gappinfo.c:974,1
    - Dst: g_free
      Src: /src/glib/gio/gappinfo.c:975,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - DefaultForTypeData*
    constantsTouched: []
    func_position:
      end: 976
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 976
    functionName: default_for_type_data_free
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void default_for_type_data_free (DefaultForTypeData *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gappinfo.c:1026,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gappinfo.c:1027,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gappinfo.c:1027,1
    - Dst: g_strdup
      Src: /src/glib/gio/gappinfo.c:1030,1
    - Dst: g_new0
      Src: /src/glib/gio/gappinfo.c:1029,1
    - Dst: g_task_new
      Src: /src/glib/gio/gappinfo.c:1033,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gappinfo.c:1034,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gappinfo.c:1035,1
    - Dst: g_task_set_check_cancellable
      Src: /src/glib/gio/gappinfo.c:1036,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gappinfo.c:1037,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gappinfo.c:1038,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 5
    argNames:
    - content_type
    - must_support_uris
    - cancellable
    - callback
    - user_data
    argTypes:
    - char*
    - gboolean
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 1039
      start: 1016
    functionDepth: 0
    functionLinenumber: 1016
    functionLinenumberEnd: 1039
    functionName: g_app_info_get_default_for_type_async
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_task_new
    - g_object_unref
    - g_task_run_in_thread
    - g_return_if_fail
    - g_task_set_source_tag
    - g_task_set_check_cancellable
    - G_IS_CANCELLABLE
    - g_task_set_task_data
    - g_new0
    linkageType: ''
    returnType: void
    signature: 'void g_app_info_get_default_for_type_async (const char *content_type,
      gboolean must_support_uris, GCancellable *cancellable, GAsyncReadyCallback callback,
      gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE
      Src: /src/glib/gio/gappinfo.c:1364,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gappinfo.c:1371,1
    - Dst: g_file_query_default_handler_finish
      Src: /src/glib/gio/gappinfo.c:1369,1
    - Dst: G_TASK
      Src: /src/glib/gio/gappinfo.c:1365,1
    - Dst: launch_default_for_uri_launch_uris
      Src: /src/glib/gio/gappinfo.c:1371,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gappinfo.c:1371,1
    - Dst: launch_default_for_uri_portal_open_uri
      Src: /src/glib/gio/gappinfo.c:1373,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gappinfo.c:1373,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gappinfo.c:1373,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1374
      start: 1359
    functionDepth: 0
    functionLinenumber: 1359
    functionLinenumberEnd: 1374
    functionName: launch_default_for_uri_default_handler_cb
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - launch_default_for_uri_portal_open_uri
    - launch_default_for_uri_launch_uris
    - g_file_query_default_handler_finish
    - G_FILE
    - G_TASK
    linkageType: ''
    returnType: void
    signature: 'static void launch_default_for_uri_default_handler_cb (GObject *object,
      GAsyncResult *result, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:1543,1
    - Dst: G_APP_INFO_GET_IFACE
      Src: /src/glib/gio/gappinfo.c:1545,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:1543,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 1551
      start: 1538
    functionDepth: 0
    functionLinenumber: 1538
    functionLinenumberEnd: 1551
    functionName: g_app_info_delete
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - G_IS_APP_INFO
    - g_return_val_if_fail
    - G_APP_INFO_GET_IFACE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_app_info_delete (GAppInfo *appinfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_app_info_get_default_for_type
      Src: /src/glib/gio/gappinfo.c:987,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gappinfo.c:998,1
    - Dst: _
      Src: /src/glib/gio/gappinfo.c:993,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gappinfo.c:998,1
    - Dst: g_task_return_new_error
      Src: /src/glib/gio/gappinfo.c:992,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - task
    - object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 999
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 999
    functionName: get_default_for_type_thread
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_task_return_pointer
    - g_task_return_new_error
    - _
    - g_app_info_get_default_for_type
    linkageType: ''
    returnType: void
    signature: 'static void get_default_for_type_thread (GTask *task, gpointer object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_app_info_get_default_for_uri_scheme
      Src: /src/glib/gio/gappinfo.c:1050,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gappinfo.c:1060,1
    - Dst: _
      Src: /src/glib/gio/gappinfo.c:1055,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gappinfo.c:1060,1
    - Dst: g_task_return_new_error
      Src: /src/glib/gio/gappinfo.c:1054,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - task
    - object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 1061
      start: 1041
    functionDepth: 0
    functionLinenumber: 1041
    functionLinenumberEnd: 1061
    functionName: get_default_for_scheme_thread
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_task_return_pointer
    - g_task_return_new_error
    - _
    - g_app_info_get_default_for_uri_scheme
    linkageType: ''
    returnType: void
    signature: 'static void get_default_for_scheme_thread (GTask *task, gpointer object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gappinfo.c:1383,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/gappinfo.c:1385,1
    - Dst: g_file_query_default_handler_async
      Src: /src/glib/gio/gappinfo.c:1387,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gappinfo.c:1384,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gappinfo.c:1391,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gappinfo.c:1392,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - task
    argTypes:
    - GTask*
    constantsTouched: []
    func_position:
      end: 1393
      start: 1376
    functionDepth: 0
    functionLinenumber: 1376
    functionLinenumberEnd: 1393
    functionName: launch_default_app_for_default_handler
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_file_query_default_handler_async
    - g_object_unref
    - g_file_new_for_uri
    - g_task_get_cancellable
    - g_task_get_task_data
    linkageType: ''
    returnType: void
    signature: 'static void launch_default_app_for_default_handler (GTask *task) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:220,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:220,1
    - Dst: G_APP_INFO_GET_IFACE
      Src: /src/glib/gio/gappinfo.c:222,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 225
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 225
    functionName: g_app_info_get_id
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - G_IS_APP_INFO
    - g_return_val_if_fail
    - G_APP_INFO_GET_IFACE
    linkageType: ''
    returnType: char*
    signature: 'const char *g_app_info_get_id (GAppInfo *appinfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_app_info_reset_type_associations_impl
      Src: /src/glib/gio/gappinfo.c:516,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - content_type
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 517
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 517
    functionName: g_app_info_reset_type_associations
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - g_app_info_reset_type_associations_impl
    linkageType: ''
    returnType: void
    signature: 'void g_app_info_reset_type_associations (const char *content_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:576,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:576,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:577,1
    - Dst: G_APP_INFO_GET_IFACE
      Src: /src/glib/gio/gappinfo.c:579,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gappinfo.c:584,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - appinfo
    - extension
    - error
    argTypes:
    - GAppInfo*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 587
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 587
    functionName: g_app_info_set_as_default_for_extension
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - g_set_error_literal
    - G_IS_APP_INFO
    - g_return_val_if_fail
    - G_APP_INFO_GET_IFACE
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_app_info_set_as_default_for_extension (GAppInfo *appinfo,\t\
      \t\t\t\t const char *extension,\t\t\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gappinfo.c:1593,1
    - Dst: I_
      Src: /src/glib/gio/gappinfo.c:1612,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gappinfo.c:1612,1
    - Dst: G_OBJECT_CLASS_TYPE
      Src: /src/glib/gio/gappinfo.c:1613,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gappinfo.c:1615,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gappinfo.c:1647,1
    - Dst: I_
      Src: /src/glib/gio/gappinfo.c:1647,1
    - Dst: G_OBJECT_CLASS_TYPE
      Src: /src/glib/gio/gappinfo.c:1648,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gappinfo.c:1650,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gappinfo.c:1655,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gappinfo.c:1697,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gappinfo.c:1698,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gappinfo.c:1689,1
    - Dst: I_
      Src: /src/glib/gio/gappinfo.c:1689,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gappinfo.c:1692,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gappinfo.c:1656,1
    - Dst: G_OBJECT_CLASS_TYPE
      Src: /src/glib/gio/gappinfo.c:1690,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GAppLaunchContextClass*
    constantsTouched: []
    func_position:
      end: 1700
      start: 1590
    functionDepth: 0
    functionLinenumber: 1590
    functionLinenumberEnd: 1700
    functionName: g_app_launch_context_class_init
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - I_
    - G_STRUCT_OFFSET
    - G_TYPE_FROM_CLASS
    - G_OBJECT_CLASS
    - g_signal_set_va_marshaller
    - g_signal_new
    - G_OBJECT_CLASS_TYPE
    linkageType: ''
    returnType: void
    signature: 'static void g_app_launch_context_class_init (GAppLaunchContextClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_context_specific_group_get
      Src: /src/glib/gio/gappinfo.c:2002,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gappinfo.c:2004,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2006
      start: 1999
    functionDepth: 0
    functionLinenumber: 1999
    functionLinenumberEnd: 2006
    functionName: g_app_info_monitor_get
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - G_STRUCT_OFFSET
    - g_context_specific_group_get
    linkageType: ''
    returnType: GAppInfoMonitor*
    signature: 'GAppInfoMonitor *g_app_info_monitor_get (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:191,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:192,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:191,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gio/gappinfo.c:194,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:192,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gio/gappinfo.c:194,1
    - Dst: G_APP_INFO_GET_IFACE
      Src: /src/glib/gio/gappinfo.c:197,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - appinfo1
    - appinfo2
    argTypes:
    - GAppInfo*
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 200
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 200
    functionName: g_app_info_equal
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - G_TYPE_FROM_INSTANCE
    - G_IS_APP_INFO
    - g_return_val_if_fail
    - G_APP_INFO_GET_IFACE
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_app_info_equal (GAppInfo *appinfo1,\t\t GAppInfo *appinfo2) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:496,1
    - Dst: g_app_info_get_all_for_type_impl
      Src: /src/glib/gio/gappinfo.c:498,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 499
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 499
    functionName: g_app_info_get_all_for_type
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - g_app_info_get_all_for_type_impl
    - g_return_val_if_fail
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_app_info_get_all_for_type (const char *content_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_APP_INFO
      Src: /src/glib/gio/gappinfo.c:1327,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gappinfo.c:1333,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gappinfo.c:1334,1
    - Dst: G_TASK
      Src: /src/glib/gio/gappinfo.c:1328,1
    - Dst: g_app_info_launch_uris_finish
      Src: /src/glib/gio/gappinfo.c:1331,1
    - Dst: launch_default_for_uri_portal_open_uri
      Src: /src/glib/gio/gappinfo.c:1337,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gappinfo.c:1337,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gappinfo.c:1337,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1338
      start: 1322
    functionDepth: 0
    functionLinenumber: 1322
    functionLinenumberEnd: 1338
    functionName: launch_default_for_uri_launch_uris_cb
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_steal_pointer
    - g_object_unref
    - g_app_info_launch_uris_finish
    - launch_default_for_uri_portal_open_uri
    - G_TASK
    - G_APP_INFO
    linkageType: ''
    returnType: void
    signature: 'static void launch_default_for_uri_launch_uris_cb (GObject *object,
      GAsyncResult *result, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:1513,1
    - Dst: G_APP_INFO_GET_IFACE
      Src: /src/glib/gio/gappinfo.c:1515,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:1513,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 1521
      start: 1508
    functionDepth: 0
    functionLinenumber: 1508
    functionLinenumberEnd: 1521
    functionName: g_app_info_can_delete
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - G_IS_APP_INFO
    - g_return_val_if_fail
    - G_APP_INFO_GET_IFACE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_app_info_can_delete (GAppInfo *appinfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gappinfo.c:1749,1
    - Dst: g_environ_unsetenv
      Src: /src/glib/gio/gappinfo.c:1756,1
    - Dst: G_IS_APP_LAUNCH_CONTEXT
      Src: /src/glib/gio/gappinfo.c:1749,1
    - Dst: g_get_environ
      Src: /src/glib/gio/gappinfo.c:1753,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gappinfo.c:1750,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - context
    - variable
    argTypes:
    - GAppLaunchContext*
    - char*
    constantsTouched: []
    func_position:
      end: 1757
      start: 1745
    functionDepth: 0
    functionLinenumber: 1745
    functionLinenumberEnd: 1757
    functionName: g_app_launch_context_unsetenv
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - G_IS_APP_LAUNCH_CONTEXT
    - g_get_environ
    - g_environ_unsetenv
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_app_launch_context_unsetenv (GAppLaunchContext *context, const
      char *variable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:1846,1
    - Dst: G_APP_LAUNCH_CONTEXT_GET_CLASS
      Src: /src/glib/gio/gappinfo.c:1849,1
    - Dst: G_IS_APP_LAUNCH_CONTEXT
      Src: /src/glib/gio/gappinfo.c:1846,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:1847,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:1847,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1855
      start: 1839
    functionDepth: 0
    functionLinenumber: 1839
    functionLinenumberEnd: 1855
    functionName: g_app_launch_context_get_startup_notify_id
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - G_IS_APP_LAUNCH_CONTEXT
    - G_IS_APP_INFO
    - g_return_val_if_fail
    - G_APP_LAUNCH_CONTEXT_GET_CLASS
    linkageType: ''
    returnType: char*
    signature: "char *g_app_launch_context_get_startup_notify_id (GAppLaunchContext\
      \ *context,\t\t\t\t\t GAppInfo *info,\t\t\t\t\t GList *files) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gappinfo.c:1962,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gappinfo.c:1972,1
    - Dst: I_
      Src: /src/glib/gio/gappinfo.c:1972,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - class
    argTypes:
    - GAppInfoMonitorClass*
    constantsTouched: []
    func_position:
      end: 1976
      start: 1959
    functionDepth: 0
    functionLinenumber: 1959
    functionLinenumberEnd: 1976
    functionName: g_app_info_monitor_class_init
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - I_
    - g_signal_new
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_app_info_monitor_class_init (GAppInfoMonitorClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gappinfo.c:1344,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gappinfo.c:1355,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gappinfo.c:1356,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gappinfo.c:1346,1
    - Dst: g_app_info_launch_uris_async
      Src: /src/glib/gio/gappinfo.c:1350,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - task
    - app_info
    argTypes:
    - GTask*
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 1357
      start: 1340
    functionDepth: 0
    functionLinenumber: 1340
    functionLinenumberEnd: 1357
    functionName: launch_default_for_uri_launch_uris
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_app_info_launch_uris_async
    - g_object_unref
    - g_task_get_cancellable
    - g_task_get_task_data
    linkageType: ''
    returnType: void
    signature: 'static void launch_default_for_uri_launch_uris (GTask *task, GAppInfo
      *app_info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_APP_INFO_MONITOR
      Src: /src/glib/gio/gappinfo.c:1947,1
    - Dst: g_context_specific_group_remove
      Src: /src/glib/gio/gappinfo.c:1949,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gappinfo.c:1951,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 1952
      start: 1944
    functionDepth: 0
    functionLinenumber: 1944
    functionLinenumberEnd: 1952
    functionName: g_app_info_monitor_finalize
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - g_context_specific_group_remove
    - G_APP_INFO_MONITOR
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_app_info_monitor_finalize (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:264,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:264,1
    - Dst: G_APP_INFO_GET_IFACE
      Src: /src/glib/gio/gappinfo.c:266,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 272
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 272
    functionName: g_app_info_get_display_name
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - G_IS_APP_INFO
    - g_return_val_if_fail
    - G_APP_INFO_GET_IFACE
    linkageType: ''
    returnType: char*
    signature: 'const char *g_app_info_get_display_name (GAppInfo *appinfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:364,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:365,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:364,1
    - Dst: G_APP_INFO_GET_IFACE
      Src: /src/glib/gio/gappinfo.c:367,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gappinfo.c:372,1
    - Dst: _
      Src: /src/glib/gio/gappinfo.c:373,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - appinfo
    - content_type
    - error
    argTypes:
    - GAppInfo*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 375
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 375
    functionName: g_app_info_set_as_default_for_type
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - G_IS_APP_INFO
    - g_return_val_if_fail
    - G_APP_INFO_GET_IFACE
    - g_set_error_literal
    - _
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_app_info_set_as_default_for_type (GAppInfo *appinfo,\t\t\
      \t\t const char *content_type,\t\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:726,1
    - Dst: G_APP_INFO_GET_IFACE
      Src: /src/glib/gio/gappinfo.c:728,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:726,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 731
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 731
    functionName: g_app_info_get_icon
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - G_IS_APP_INFO
    - g_return_val_if_fail
    - G_APP_INFO_GET_IFACE
    linkageType: ''
    returnType: GIcon*
    signature: 'GIcon *g_app_info_get_icon (GAppInfo *appinfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:932,1
    - Dst: G_APP_INFO_GET_IFACE
      Src: /src/glib/gio/gappinfo.c:934,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gappinfo.c:937,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:932,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - appinfo
    - result
    - error
    argTypes:
    - GAppInfo*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 943
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 943
    functionName: g_app_info_launch_uris_finish
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - g_set_error_literal
    - G_IS_APP_INFO
    - g_return_val_if_fail
    - G_APP_INFO_GET_IFACE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_app_info_launch_uris_finish (GAppInfo *appinfo, GAsyncResult
      *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:1116,1
    - Dst: g_task_get_source_tag
      Src: /src/glib/gio/gappinfo.c:1117,1
    - Dst: G_TASK
      Src: /src/glib/gio/gappinfo.c:1117,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gappinfo.c:1116,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:1117,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:1119,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gappinfo.c:1121,1
    - Dst: G_TASK
      Src: /src/glib/gio/gappinfo.c:1121,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1122
    functionName: g_app_info_get_default_for_uri_scheme_finish
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_task_is_valid
    - g_task_get_source_tag
    - G_TASK
    - g_task_propagate_pointer
    linkageType: ''
    returnType: GAppInfo*
    signature: 'GAppInfo *g_app_info_get_default_for_uri_scheme_finish (GAsyncResult
      *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:1492,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gappinfo.c:1494,1
    - Dst: G_TASK
      Src: /src/glib/gio/gappinfo.c:1494,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gappinfo.c:1492,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - result
    - error
    argTypes:
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 1495
      start: 1488
    functionDepth: 0
    functionLinenumber: 1488
    functionLinenumberEnd: 1495
    functionName: g_app_info_launch_default_for_uri_finish
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_task_is_valid
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_app_info_launch_default_for_uri_finish (GAsyncResult *result,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gappinfo.c:1724,1
    - Dst: g_get_environ
      Src: /src/glib/gio/gappinfo.c:1729,1
    - Dst: G_IS_APP_LAUNCH_CONTEXT
      Src: /src/glib/gio/gappinfo.c:1724,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gappinfo.c:1726,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gappinfo.c:1725,1
    - Dst: g_environ_setenv
      Src: /src/glib/gio/gappinfo.c:1732,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - context
    - variable
    - value
    argTypes:
    - GAppLaunchContext*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1733
      start: 1719
    functionDepth: 0
    functionLinenumber: 1719
    functionLinenumberEnd: 1733
    functionName: g_app_launch_context_setenv
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - G_IS_APP_LAUNCH_CONTEXT
    - g_get_environ
    - g_environ_setenv
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_app_launch_context_setenv (GAppLaunchContext *context, const
      char *variable, const char *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:240,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:240,1
    - Dst: G_APP_INFO_GET_IFACE
      Src: /src/glib/gio/gappinfo.c:242,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 245
    functionName: g_app_info_get_name
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - G_IS_APP_INFO
    - g_return_val_if_fail
    - G_APP_INFO_GET_IFACE
    linkageType: ''
    returnType: char*
    signature: 'const char *g_app_info_get_name (GAppInfo *appinfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:338,1
    - Dst: G_APP_INFO_GET_IFACE
      Src: /src/glib/gio/gappinfo.c:340,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:338,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 346
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 346
    functionName: g_app_info_get_commandline
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - G_IS_APP_INFO
    - g_return_val_if_fail
    - G_APP_INFO_GET_IFACE
    linkageType: ''
    returnType: char*
    signature: 'const char *g_app_info_get_commandline (GAppInfo *appinfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:701,1
    - Dst: G_APP_INFO_GET_IFACE
      Src: /src/glib/gio/gappinfo.c:703,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:701,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 709
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 709
    functionName: g_app_info_get_supported_types
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - G_IS_APP_INFO
    - g_return_val_if_fail
    - G_APP_INFO_GET_IFACE
    linkageType: ''
    returnType: char**
    signature: 'const char **g_app_info_get_supported_types (GAppInfo *appinfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gappinfo.c:893,1
    - Dst: G_IS_APP_LAUNCH_CONTEXT
      Src: /src/glib/gio/gappinfo.c:894,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gappinfo.c:894,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:893,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gappinfo.c:895,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gappinfo.c:895,1
    - Dst: G_APP_INFO_GET_IFACE
      Src: /src/glib/gio/gappinfo.c:897,1
    - Dst: g_task_new
      Src: /src/glib/gio/gappinfo.c:902,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gappinfo.c:903,1
    - Dst: g_task_return_new_error_literal
      Src: /src/glib/gio/gappinfo.c:904,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gappinfo.c:906,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 6
    argNames:
    - appinfo
    - uris
    - context
    - cancellable
    - callback
    - user_data
    argTypes:
    - GAppInfo*
    - GList*
    - GAppLaunchContext*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 912
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 912
    functionName: g_app_info_launch_uris_async
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - G_IS_APP_INFO
    - g_task_new
    - g_object_unref
    - g_return_if_fail
    - g_task_set_source_tag
    - G_IS_APP_LAUNCH_CONTEXT
    - G_APP_INFO_GET_IFACE
    - g_task_return_new_error_literal
    - G_IS_CANCELLABLE
    linkageType: ''
    returnType: void
    signature: 'void g_app_info_launch_uris_async (GAppInfo *appinfo, GList *uris,
      GAppLaunchContext *context, GCancellable *cancellable, GAsyncReadyCallback callback,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gappinfo.c:1086,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gappinfo.c:1090,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gappinfo.c:1087,1
    - Dst: g_task_new
      Src: /src/glib/gio/gappinfo.c:1089,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gappinfo.c:1087,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gappinfo.c:1091,1
    - Dst: g_strdup
      Src: /src/glib/gio/gappinfo.c:1091,1
    - Dst: g_task_set_check_cancellable
      Src: /src/glib/gio/gappinfo.c:1092,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gappinfo.c:1093,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gappinfo.c:1094,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - uri_scheme
    - cancellable
    - callback
    - user_data
    argTypes:
    - char*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 1095
      start: 1078
    functionDepth: 0
    functionLinenumber: 1078
    functionLinenumberEnd: 1095
    functionName: g_app_info_get_default_for_uri_scheme_async
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_task_new
    - g_object_unref
    - g_task_run_in_thread
    - g_task_set_source_tag
    - g_return_if_fail
    - g_task_set_check_cancellable
    - G_IS_CANCELLABLE
    - g_task_set_task_data
    linkageType: ''
    returnType: void
    signature: 'void g_app_info_get_default_for_uri_scheme_async (const char *uri_scheme,
      GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gappinfo.c:1577,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1578
      start: 1574
    functionDepth: 0
    functionLinenumber: 1574
    functionLinenumberEnd: 1578
    functionName: g_app_launch_context_new
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: GAppLaunchContext*
    signature: 'GAppLaunchContext *g_app_launch_context_new (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gappinfo.c:1275,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/gappinfo.c:1287,1
    - Dst: glib_should_use_portal
      Src: /src/glib/gio/gappinfo.c:1278,1
    - Dst: g_error_free
      Src: /src/glib/gio/gappinfo.c:1285,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gappinfo.c:1276,1
    - Dst: g_environ_getenv
      Src: /src/glib/gio/gappinfo.c:1294,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gappinfo.c:1297,1
    - Dst: g_app_launch_context_get_startup_notify_id
      Src: /src/glib/gio/gappinfo.c:1299,1
    - Dst: g_list_free
      Src: /src/glib/gio/gappinfo.c:1302,1
    - Dst: g_openuri_portal_open_file_async
      Src: /src/glib/gio/gappinfo.c:1305,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gappinfo.c:1311,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gappinfo.c:1318,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gappinfo.c:1319,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gappinfo.c:1310,1
    - Dst: g_free
      Src: /src/glib/gio/gappinfo.c:1312,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gappinfo.c:1318,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 2
    argNames:
    - task
    - error
    argTypes:
    - GTask*
    - GError*
    constantsTouched: []
    func_position:
      end: 1320
      start: 1271
    functionDepth: 0
    functionLinenumber: 1271
    functionLinenumberEnd: 1320
    functionName: launch_default_for_uri_portal_open_uri
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_object_unref
    - g_file_new_for_uri
    - g_app_launch_context_get_startup_notify_id
    - g_task_get_cancellable
    - glib_should_use_portal
    - g_environ_getenv
    - g_list_free
    - g_error_free
    - g_openuri_portal_open_file_async
    - g_task_get_task_data
    - g_list_prepend
    - g_free
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void launch_default_for_uri_portal_open_uri (GTask *task, GError
      *error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_APP_LAUNCH_CONTEXT
      Src: /src/glib/gio/gappinfo.c:1583,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gappinfo.c:1585,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gappinfo.c:1587,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 1588
      start: 1580
    functionDepth: 0
    functionLinenumber: 1580
    functionLinenumberEnd: 1588
    functionName: g_app_launch_context_finalize
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - g_strfreev
    - G_APP_LAUNCH_CONTEXT
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_app_launch_context_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:313,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:313,1
    - Dst: G_APP_INFO_GET_IFACE
      Src: /src/glib/gio/gappinfo.c:315,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 318
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 318
    functionName: g_app_info_get_executable
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - G_IS_APP_INFO
    - g_return_val_if_fail
    - G_APP_INFO_GET_IFACE
    linkageType: ''
    returnType: char*
    signature: 'const char *g_app_info_get_executable (GAppInfo *appinfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:799,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:799,1
    - Dst: G_APP_INFO_GET_IFACE
      Src: /src/glib/gio/gappinfo.c:801,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 804
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 804
    functionName: g_app_info_supports_uris
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - G_IS_APP_INFO
    - g_return_val_if_fail
    - G_APP_INFO_GET_IFACE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_app_info_supports_uris (GAppInfo *appinfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gappinfo.c:1448,1
    - Dst: g_strdup
      Src: /src/glib/gio/gappinfo.c:1454,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gappinfo.c:1451,1
    - Dst: g_new
      Src: /src/glib/gio/gappinfo.c:1453,1
    - Dst: g_task_new
      Src: /src/glib/gio/gappinfo.c:1450,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gappinfo.c:1455,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gappinfo.c:1456,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gappinfo.c:1456,1
    - Dst: g_uri_parse_scheme
      Src: /src/glib/gio/gappinfo.c:1462,1
    - Dst: g_app_info_get_default_for_uri_scheme_async
      Src: /src/glib/gio/gappinfo.c:1465,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gappinfo.c:1472,1
    - Dst: launch_default_app_for_default_handler
      Src: /src/glib/gio/gappinfo.c:1472,1
    - Dst: g_free
      Src: /src/glib/gio/gappinfo.c:1475,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gappinfo.c:1468,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 5
    argNames:
    - uri
    - context
    - cancellable
    - callback
    - user_data
    argTypes:
    - char*
    - GAppLaunchContext*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 1476
      start: 1437
    functionDepth: 0
    functionLinenumber: 1437
    functionLinenumberEnd: 1476
    functionName: g_app_info_launch_default_for_uri_async
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_uri_parse_scheme
    - g_strdup
    - g_task_new
    - g_new
    - g_task_set_source_tag
    - g_return_if_fail
    - launch_default_app_for_default_handler
    - g_object_ref
    - g_task_set_task_data
    - g_app_info_get_default_for_uri_scheme_async
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_app_info_launch_default_for_uri_async (const char *uri, GAppLaunchContext
      *context, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gappinfo.c:1873,1
    - Dst: G_IS_APP_LAUNCH_CONTEXT
      Src: /src/glib/gio/gappinfo.c:1873,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gappinfo.c:1874,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gappinfo.c:1876,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - context
    - startup_notify_id
    argTypes:
    - GAppLaunchContext*
    - char*
    constantsTouched: []
    func_position:
      end: 1877
      start: 1869
    functionDepth: 0
    functionLinenumber: 1869
    functionLinenumberEnd: 1877
    functionName: g_app_launch_context_launch_failed
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - g_signal_emit
    - G_IS_APP_LAUNCH_CONTEXT
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_app_launch_context_launch_failed (GAppLaunchContext *context,\t\
      \t\t\t const char *startup_notify_id) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:288,1
    - Dst: G_APP_INFO_GET_IFACE
      Src: /src/glib/gio/gappinfo.c:290,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:288,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 293
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 293
    functionName: g_app_info_get_description
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - G_IS_APP_INFO
    - g_return_val_if_fail
    - G_APP_INFO_GET_IFACE
    linkageType: ''
    returnType: char*
    signature: 'const char *g_app_info_get_description (GAppInfo *appinfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_app_info_get_all_impl
      Src: /src/glib/gio/gappinfo.c:432,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 433
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 433
    functionName: g_app_info_get_all
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - g_app_info_get_all_impl
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_app_info_get_all (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:476,1
    - Dst: g_app_info_get_fallback_for_type_impl
      Src: /src/glib/gio/gappinfo.c:478,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 479
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 479
    functionName: g_app_info_get_fallback_for_type
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - g_app_info_get_fallback_for_type_impl
    - g_return_val_if_fail
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_app_info_get_fallback_for_type (const gchar *content_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:664,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:664,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:665,1
    - Dst: G_APP_INFO_GET_IFACE
      Src: /src/glib/gio/gappinfo.c:667,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gappinfo.c:672,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - appinfo
    - content_type
    - error
    argTypes:
    - GAppInfo*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 677
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 677
    functionName: g_app_info_remove_supports_type
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - g_set_error_literal
    - G_IS_APP_INFO
    - g_return_val_if_fail
    - G_APP_INFO_GET_IFACE
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_app_info_remove_supports_type (GAppInfo *appinfo,\t\t\t\
      \t const char *content_type,\t\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:778,1
    - Dst: G_APP_INFO_GET_IFACE
      Src: /src/glib/gio/gappinfo.c:780,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:778,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 4
    argNames:
    - appinfo
    - files
    - launch_context
    - error
    argTypes:
    - GAppInfo*
    - GList*
    - GAppLaunchContext*
    - GError**
    constantsTouched: []
    func_position:
      end: 783
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 783
    functionName: g_app_info_launch
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - G_IS_APP_INFO
    - g_return_val_if_fail
    - G_APP_INFO_GET_IFACE
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_app_info_launch (GAppInfo *appinfo,\t\t GList *files,\t\
      \t GAppLaunchContext *launch_context,\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:959,1
    - Dst: G_APP_INFO_GET_IFACE
      Src: /src/glib/gio/gappinfo.c:961,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:959,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 964
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 964
    functionName: g_app_info_should_show
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - G_IS_APP_INFO
    - g_return_val_if_fail
    - G_APP_INFO_GET_IFACE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_app_info_should_show (GAppInfo *appinfo) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_uri_parse_scheme
      Src: /src/glib/gio/gappinfo.c:1179,1
    - Dst: g_file_query_default_handler
      Src: /src/glib/gio/gappinfo.c:1189,1
    - Dst: g_free
      Src: /src/glib/gio/gappinfo.c:1182,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/gappinfo.c:1188,1
    - Dst: g_app_info_get_default_for_uri_scheme
      Src: /src/glib/gio/gappinfo.c:1181,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gappinfo.c:1190,1
    - Dst: g_app_info_launch_uris
      Src: /src/glib/gio/gappinfo.c:1199,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gappinfo.c:1200,1
    - Dst: glib_should_use_portal
      Src: /src/glib/gio/gappinfo.c:1204,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gappinfo.c:1211,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/gappinfo.c:1213,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gappinfo.c:1222,1
    - Dst: g_list_free
      Src: /src/glib/gio/gappinfo.c:1227,1
    - Dst: g_openuri_portal_open_file
      Src: /src/glib/gio/gappinfo.c:1230,1
    - Dst: g_free
      Src: /src/glib/gio/gappinfo.c:1233,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gappinfo.c:1232,1
    - Dst: g_app_launch_context_get_startup_notify_id
      Src: /src/glib/gio/gappinfo.c:1224,1
    - Dst: g_environ_getenv
      Src: /src/glib/gio/gappinfo.c:1220,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 41
    argCount: 3
    argNames:
    - uri
    - launch_context
    - error
    argTypes:
    - char*
    - GAppLaunchContext*
    - GError**
    constantsTouched: []
    func_position:
      end: 1238
      start: 1166
    functionDepth: 0
    functionLinenumber: 1166
    functionLinenumberEnd: 1238
    functionName: g_app_info_launch_default_for_uri
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_uri_parse_scheme
    - g_object_unref
    - g_openuri_portal_open_file
    - g_file_new_for_uri
    - g_app_info_launch_uris
    - g_app_launch_context_get_startup_notify_id
    - glib_should_use_portal
    - g_environ_getenv
    - g_list_free
    - g_list_prepend
    - g_app_info_get_default_for_uri_scheme
    - g_free
    - g_file_query_default_handler
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_app_info_launch_default_for_uri (const char *uri, GAppLaunchContext
      *launch_context, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_TASK
      Src: /src/glib/gio/gappinfo.c:1400,1
    - Dst: launch_default_app_for_default_handler
      Src: /src/glib/gio/gappinfo.c:1407,1
    - Dst: launch_default_for_uri_launch_uris
      Src: /src/glib/gio/gappinfo.c:1411,1
    - Dst: g_app_info_get_default_for_uri_scheme_finish
      Src: /src/glib/gio/gappinfo.c:1403,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gappinfo.c:1407,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gappinfo.c:1411,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gappinfo.c:1412,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1414
      start: 1395
    functionDepth: 0
    functionLinenumber: 1395
    functionLinenumberEnd: 1414
    functionName: launch_default_app_for_uri_cb
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - launch_default_for_uri_launch_uris
    - launch_default_app_for_default_handler
    - G_TASK
    - g_app_info_get_default_for_uri_scheme_finish
    linkageType: ''
    returnType: void
    signature: 'static void launch_default_app_for_uri_cb (GObject *object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GAppInfoInterface*
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: g_app_info_default_init
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_app_info_default_init (GAppInfoInterface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gappinfo.c:1249,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gappinfo.c:1250,1
    - Dst: g_free
      Src: /src/glib/gio/gappinfo.c:1251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - LaunchDefaultForUriData*
    constantsTouched: []
    func_position:
      end: 1252
      start: 1246
    functionDepth: 0
    functionLinenumber: 1246
    functionLinenumberEnd: 1252
    functionName: launch_default_for_uri_data_free
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void launch_default_for_uri_data_free (LaunchDefaultForUriData
      *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_app_launch_context_get_instance_private
      Src: /src/glib/gio/gappinfo.c:1705,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - GAppLaunchContext*
    constantsTouched: []
    func_position:
      end: 1706
      start: 1702
    functionDepth: 0
    functionLinenumber: 1702
    functionLinenumberEnd: 1706
    functionName: g_app_launch_context_init
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - g_app_launch_context_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_app_launch_context_init (GAppLaunchContext *context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - monitor
    argTypes:
    - GAppInfoMonitor*
    constantsTouched: []
    func_position:
      end: 1957
      start: 1954
    functionDepth: 0
    functionLinenumber: 1954
    functionLinenumberEnd: 1957
    functionName: g_app_info_monitor_init
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_app_info_monitor_init (GAppInfoMonitor *monitor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_context_specific_group_emit
      Src: /src/glib/gio/gappinfo.c:2011,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2012
      start: 2008
    functionDepth: 0
    functionLinenumber: 2008
    functionLinenumberEnd: 2012
    functionName: g_app_info_monitor_fire
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - g_context_specific_group_emit
    linkageType: ''
    returnType: void
    signature: 'void g_app_info_monitor_fire (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:165,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:165,1
    - Dst: G_APP_INFO_GET_IFACE
      Src: /src/glib/gio/gappinfo.c:167,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 170
    functionName: g_app_info_dup
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - G_IS_APP_INFO
    - g_return_val_if_fail
    - G_APP_INFO_GET_IFACE
    linkageType: ''
    returnType: GAppInfo*
    signature: 'GAppInfo *g_app_info_dup (GAppInfo *appinfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:396,1
    - Dst: G_APP_INFO_GET_IFACE
      Src: /src/glib/gio/gappinfo.c:399,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:396,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:397,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gappinfo.c:404,1
    - Dst: _
      Src: /src/glib/gio/gappinfo.c:405,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - appinfo
    - content_type
    - error
    argTypes:
    - GAppInfo*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 407
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 407
    functionName: g_app_info_set_as_last_used_for_type
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - G_IS_APP_INFO
    - g_return_val_if_fail
    - G_APP_INFO_GET_IFACE
    - g_set_error_literal
    - _
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_app_info_set_as_last_used_for_type (GAppInfo *appinfo,
      const char *content_type, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:455,1
    - Dst: g_app_info_get_recommended_for_type_impl
      Src: /src/glib/gio/gappinfo.c:457,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 458
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 458
    functionName: g_app_info_get_recommended_for_type
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_app_info_get_recommended_for_type_impl
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_app_info_get_recommended_for_type (const gchar *content_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:554,1
    - Dst: g_app_info_get_default_for_uri_scheme_impl
      Src: /src/glib/gio/gappinfo.c:556,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 557
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 557
    functionName: g_app_info_get_default_for_uri_scheme
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - g_app_info_get_default_for_uri_scheme_impl
    - g_return_val_if_fail
    linkageType: ''
    returnType: GAppInfo*
    signature: 'GAppInfo *g_app_info_get_default_for_uri_scheme (const char *uri_scheme) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:637,1
    - Dst: G_APP_INFO_GET_IFACE
      Src: /src/glib/gio/gappinfo.c:639,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:637,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 645
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 645
    functionName: g_app_info_can_remove_supports_type
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - G_IS_APP_INFO
    - g_return_val_if_fail
    - G_APP_INFO_GET_IFACE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_app_info_can_remove_supports_type (GAppInfo *appinfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:857,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:857,1
    - Dst: G_APP_INFO_GET_IFACE
      Src: /src/glib/gio/gappinfo.c:859,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 4
    argNames:
    - appinfo
    - uris
    - launch_context
    - error
    argTypes:
    - GAppInfo*
    - GList*
    - GAppLaunchContext*
    - GError**
    constantsTouched: []
    func_position:
      end: 862
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 862
    functionName: g_app_info_launch_uris
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - G_IS_APP_INFO
    - g_return_val_if_fail
    - G_APP_INFO_GET_IFACE
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_app_info_launch_uris (GAppInfo *appinfo,\t\t\tGList *uris,\t\
      \t\tGAppLaunchContext *launch_context,\t\t\tGError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:1143,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:1144,1
    - Dst: g_task_get_source_tag
      Src: /src/glib/gio/gappinfo.c:1144,1
    - Dst: G_TASK
      Src: /src/glib/gio/gappinfo.c:1144,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gappinfo.c:1143,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:1146,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gappinfo.c:1148,1
    - Dst: G_TASK
      Src: /src/glib/gio/gappinfo.c:1148,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1139
    functionDepth: 0
    functionLinenumber: 1139
    functionLinenumberEnd: 1149
    functionName: g_app_info_get_default_for_type_finish
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_task_is_valid
    - g_task_get_source_tag
    - G_TASK
    - g_task_propagate_pointer
    linkageType: ''
    returnType: GAppInfo*
    signature: 'GAppInfo *g_app_info_get_default_for_type_finish (GAsyncResult *result,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_TASK
      Src: /src/glib/gio/gappinfo.c:1260,1
    - Dst: g_openuri_portal_open_file_finish
      Src: /src/glib/gio/gappinfo.c:1263,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gappinfo.c:1266,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gappinfo.c:1266,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gappinfo.c:1264,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gappinfo.c:1267,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1268
      start: 1255
    functionDepth: 0
    functionLinenumber: 1255
    functionLinenumberEnd: 1268
    functionName: launch_default_for_uri_portal_open_uri_cb
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_steal_pointer
    - g_object_unref
    - g_openuri_portal_open_file_finish
    - G_TASK
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void launch_default_for_uri_portal_open_uri_cb (GObject *object,
      GAsyncResult *result, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:1776,1
    - Dst: g_strdupv
      Src: /src/glib/gio/gappinfo.c:1781,1
    - Dst: G_IS_APP_LAUNCH_CONTEXT
      Src: /src/glib/gio/gappinfo.c:1776,1
    - Dst: g_get_environ
      Src: /src/glib/gio/gappinfo.c:1779,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1782
      start: 1773
    functionDepth: 0
    functionLinenumber: 1773
    functionLinenumberEnd: 1782
    functionName: g_app_launch_context_get_environment
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - G_IS_APP_LAUNCH_CONTEXT
    - g_return_val_if_fail
    - g_get_environ
    - g_strdupv
    linkageType: ''
    returnType: char**
    signature: 'char **g_app_launch_context_get_environment (GAppLaunchContext *context) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:1803,1
    - Dst: G_APP_LAUNCH_CONTEXT_GET_CLASS
      Src: /src/glib/gio/gappinfo.c:1806,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/gappinfo.c:1804,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gappinfo.c:1804,1
    - Dst: G_IS_APP_LAUNCH_CONTEXT
      Src: /src/glib/gio/gappinfo.c:1803,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1812
      start: 1796
    functionDepth: 0
    functionLinenumber: 1796
    functionLinenumberEnd: 1812
    functionName: g_app_launch_context_get_display
    functionSourceFile: /src/glib/gio/gappinfo.c
    functionUses: []
    functionsReached:
    - G_IS_APP_LAUNCH_CONTEXT
    - G_IS_APP_INFO
    - g_return_val_if_fail
    - G_APP_LAUNCH_CONTEXT_GET_CLASS
    linkageType: ''
    returnType: char*
    signature: "char *g_app_launch_context_get_display (GAppLaunchContext *context,\t\
      \t\t\t GAppInfo *info,\t\t\t\t GList *files) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gthreadedresolver.c:472,1
    - Dst: G_TASK
      Src: /src/glib/gio/gthreadedresolver.c:474,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gthreadedresolver.c:474,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gthreadedresolver.c:472,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 475
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 475
    functionName: lookup_by_name_with_flags_finish
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_return_val_if_fail
    - g_task_is_valid
    - g_task_propagate_pointer
    linkageType: ''
    returnType: GList*
    signature: 'static GList *lookup_by_name_with_flags_finish (GResolver *resolver,
      GAsyncResult *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gthreadedresolver.c:576,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gthreadedresolver.c:578,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gthreadedresolver.c:576,1
    - Dst: G_TASK
      Src: /src/glib/gio/gthreadedresolver.c:578,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 579
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 579
    functionName: lookup_by_address_finish
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_return_val_if_fail
    - g_task_is_valid
    - g_task_propagate_pointer
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *lookup_by_address_finish (GResolver *resolver, GAsyncResult
      *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new
      Src: /src/glib/gio/gthreadedresolver.c:1109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1114
    functionName: parse_dns_srv
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_variant_new
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *parse_dns_srv (DNS_RECORDA *rec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_free_full
      Src: /src/glib/gio/gthreadedresolver.c:1257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - records
    argTypes:
    - GList*
    constantsTouched: []
    func_position:
      end: 1258
      start: 1254
    functionDepth: 0
    functionLinenumber: 1254
    functionLinenumberEnd: 1258
    functionName: free_records
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_list_free_full
    linkageType: ''
    returnType: void
    signature: 'static void free_records (GList *records) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_THREADED_RESOLVER
      Src: /src/glib/gio/gthreadedresolver.c:1401,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gthreadedresolver.c:1406,1
    - Dst: lookup_data_new_records
      Src: /src/glib/gio/gthreadedresolver.c:1409,1
    - Dst: g_task_set_name
      Src: /src/glib/gio/gthreadedresolver.c:1407,1
    - Dst: g_task_new
      Src: /src/glib/gio/gthreadedresolver.c:1405,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gthreadedresolver.c:1410,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gthreadedresolver.c:1410,1
    - Dst: run_task_in_thread_pool_async
      Src: /src/glib/gio/gthreadedresolver.c:1412,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gthreadedresolver.c:1414,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 6
    argNames:
    - resolver
    - rrname
    - record_type
    - cancellable
    - callback
    - user_data
    argTypes:
    - GResolver*
    - char*
    - GResolverRecordType
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 1415
      start: 1393
    functionDepth: 0
    functionLinenumber: 1393
    functionLinenumberEnd: 1415
    functionName: lookup_records_async
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_task_new
    - g_object_unref
    - g_task_set_source_tag
    - G_THREADED_RESOLVER
    - run_task_in_thread_pool_async
    - g_task_set_task_data
    - g_task_set_name
    - lookup_data_new_records
    linkageType: ''
    returnType: void
    signature: 'static void lookup_records_async (GResolver *resolver, const char
      *rrname, GResolverRecordType record_type, GCancellable *cancellable, GAsyncReadyCallback
      callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gthreadedresolver.c:1554,1
    - Dst: run_task_in_thread_pool_async
      Src: /src/glib/gio/gthreadedresolver.c:1556,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/gthreadedresolver.c:1560,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gthreadedresolver.c:1561,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gthreadedresolver.c:1558,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - self
    - task
    argTypes:
    - GThreadedResolver*
    - GTask*
    constantsTouched: []
    func_position:
      end: 1562
      start: 1550
    functionDepth: 0
    functionLinenumber: 1550
    functionLinenumberEnd: 1562
    functionName: run_task_in_thread_pool_sync
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_mutex_lock
    - run_task_in_thread_pool_async
    - g_task_get_task_data
    - g_cond_wait
    linkageType: ''
    returnType: void
    signature: 'static void run_task_in_thread_pool_sync (GThreadedResolver *self,
      GTask *task) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_pool_new_full
      Src: /src/glib/gio/gthreadedresolver.c:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - GThreadedResolver*
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: g_threaded_resolver_init
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_thread_pool_new_full
    linkageType: ''
    returnType: void
    signature: 'static void g_threaded_resolver_init (GThreadedResolver *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gthreadedresolver.c:189,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gthreadedresolver.c:195,1
    - Dst: g_cond_init
      Src: /src/glib/gio/gthreadedresolver.c:191,1
    - Dst: g_strdup
      Src: /src/glib/gio/gthreadedresolver.c:193,1
    - Dst: g_mutex_init
      Src: /src/glib/gio/gthreadedresolver.c:192,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 196
    functionName: lookup_data_new_by_name
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_mutex_init
    - g_strdup
    - g_cond_init
    - g_new0
    linkageType: ''
    returnType: LookupData*
    signature: 'static LookupData *lookup_data_new_by_name (const char *hostname,
      int address_family) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_inet_socket_address_new
      Src: /src/glib/gio/gthreadedresolver.c:488,1
    - Dst: g_socket_address_get_native_size
      Src: /src/glib/gio/gthreadedresolver.c:491,1
    - Dst: g_socket_address_to_native
      Src: /src/glib/gio/gthreadedresolver.c:489,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gthreadedresolver.c:492,1
    - Dst: getnameinfo
      Src: /src/glib/gio/gthreadedresolver.c:494,1
    - Dst: g_strdup
      Src: /src/glib/gio/gthreadedresolver.c:497,1
    - Dst: g_win32_error_message
      Src: /src/glib/gio/gthreadedresolver.c:503,1
    - Dst: WSAGetLastError
      Src: /src/glib/gio/gthreadedresolver.c:503,1
    - Dst: g_locale_to_utf8
      Src: /src/glib/gio/gthreadedresolver.c:505,1
    - Dst: gai_strerror
      Src: /src/glib/gio/gthreadedresolver.c:505,1
    - Dst: g_free
      Src: /src/glib/gio/gthreadedresolver.c:518,1
    - Dst: g_set_error
      Src: /src/glib/gio/gthreadedresolver.c:511,1
    - Dst: g_strdup
      Src: /src/glib/gio/gthreadedresolver.c:507,1
    - Dst: g_resolver_error_from_addrinfo_error
      Src: /src/glib/gio/gthreadedresolver.c:513,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:514,1
    - Dst: g_inet_address_to_string
      Src: /src/glib/gio/gthreadedresolver.c:510,1
    - Dst: g_free
      Src: /src/glib/gio/gthreadedresolver.c:517,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 522
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 522
    functionName: do_lookup_by_address
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_strdup
    - g_socket_address_get_native_size
    - g_object_unref
    - g_win32_error_message
    - gai_strerror
    - g_socket_address_to_native
    - g_inet_address_to_string
    - g_locale_to_utf8
    - WSAGetLastError
    - g_resolver_error_from_addrinfo_error
    - getnameinfo
    - _
    - g_free
    - g_inet_socket_address_new
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *do_lookup_by_address (GInetAddress *address, GCancellable
      *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new
      Src: /src/glib/gio/gthreadedresolver.c:1119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1116
    functionDepth: 0
    functionLinenumber: 1116
    functionLinenumberEnd: 1127
    functionName: parse_dns_soa
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_variant_new
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *parse_dns_soa (DNS_RECORDA *rec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gthreadedresolver.c:1422,1
    - Dst: G_TASK
      Src: /src/glib/gio/gthreadedresolver.c:1424,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gthreadedresolver.c:1424,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gthreadedresolver.c:1422,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1425
      start: 1417
    functionDepth: 0
    functionLinenumber: 1417
    functionLinenumberEnd: 1425
    functionName: lookup_records_finish
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_return_val_if_fail
    - g_task_is_valid
    - g_task_propagate_pointer
    linkageType: ''
    returnType: GList*
    signature: 'static GList *lookup_records_finish (GResolver *resolver, GAsyncResult
      *result, GError **error) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gthreadedresolver.c:1570,1
    - Dst: g_atomic_int_compare_and_exchange
      Src: /src/glib/gio/gthreadedresolver.c:1583,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gthreadedresolver.c:1589,1
    - Dst: g_atomic_int_compare_and_exchange
      Src: /src/glib/gio/gthreadedresolver.c:1605,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gthreadedresolver.c:1594,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gthreadedresolver.c:1613,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gthreadedresolver.c:1617,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gthreadedresolver.c:1629,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gthreadedresolver.c:1634,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gthreadedresolver.c:1640,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gthreadedresolver.c:1651,1
    - Dst: G_TASK
      Src: /src/glib/gio/gthreadedresolver.c:1568,1
    - Dst: do_lookup_by_name
      Src: /src/glib/gio/gthreadedresolver.c:1577,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gthreadedresolver.c:1582,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gthreadedresolver.c:1591,1
    - Dst: do_lookup_by_address
      Src: /src/glib/gio/gthreadedresolver.c:1600,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gthreadedresolver.c:1604,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gthreadedresolver.c:1606,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gthreadedresolver.c:1595,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gthreadedresolver.c:1611,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gthreadedresolver.c:1613,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gthreadedresolver.c:1634,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gthreadedresolver.c:1569,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gthreadedresolver.c:1568,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gthreadedresolver.c:1591,1
    - Dst: do_lookup_records
      Src: /src/glib/gio/gthreadedresolver.c:1622,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gthreadedresolver.c:1627,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gthreadedresolver.c:1636,1
    - Dst: g_cond_broadcast
      Src: /src/glib/gio/gthreadedresolver.c:1650,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gthreadedresolver.c:1653,1
    - Dst: g_atomic_int_compare_and_exchange
      Src: /src/glib/gio/gthreadedresolver.c:1628,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gthreadedresolver.c:1584,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gthreadedresolver.c:1589,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gthreadedresolver.c:1611,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gthreadedresolver.c:1616,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gthreadedresolver.c:1636,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gthreadedresolver.c:1639,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gthreadedresolver.c:1644,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gthreadedresolver.c:1648,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 54
    argCount: 2
    argNames:
    - task_data
    - user_data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1654
      start: 1564
    functionDepth: 0
    functionLinenumber: 1564
    functionLinenumberEnd: 1654
    functionName: threaded_resolver_worker_cb
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_steal_pointer
    - g_object_unref
    - g_mutex_unlock
    - do_lookup_by_name
    - g_mutex_lock
    - g_atomic_int_compare_and_exchange
    - g_task_get_cancellable
    - g_task_return_pointer
    - g_cond_broadcast
    - g_assert_not_reached
    - do_lookup_by_address
    - g_clear_pointer
    - do_lookup_records
    - g_task_get_task_data
    - G_TASK
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void threaded_resolver_worker_cb (gpointer task_data, gpointer
      user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gthreadedresolver.c:1517,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gthreadedresolver.c:1519,1
    - Dst: g_thread_pool_push
      Src: /src/glib/gio/gthreadedresolver.c:1523,1
    - Dst: g_new0
      Src: /src/glib/gio/gthreadedresolver.c:1527,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gthreadedresolver.c:1533,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gthreadedresolver.c:1532,1
    - Dst: g_cancellable_source_new
      Src: /src/glib/gio/gthreadedresolver.c:1541,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gthreadedresolver.c:1543,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gthreadedresolver.c:1544,1
    - Dst: G_RESOLVER
      Src: /src/glib/gio/gthreadedresolver.c:1518,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gthreadedresolver.c:1521,1
    - Dst: g_weak_ref_set
      Src: /src/glib/gio/gthreadedresolver.c:1528,1
    - Dst: G_SOURCE_FUNC
      Src: /src/glib/gio/gthreadedresolver.c:1532,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gthreadedresolver.c:1542,1
    - Dst: g_timeout_source_new
      Src: /src/glib/gio/gthreadedresolver.c:1530,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gthreadedresolver.c:1532,1
    - Dst: g_new0
      Src: /src/glib/gio/gthreadedresolver.c:1538,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gthreadedresolver.c:1533,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gthreadedresolver.c:1543,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gthreadedresolver.c:1544,1
    - Dst: g_resolver_get_timeout
      Src: /src/glib/gio/gthreadedresolver.c:1518,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gthreadedresolver.c:1523,1
    - Dst: g_weak_ref_set
      Src: /src/glib/gio/gthreadedresolver.c:1539,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gthreadedresolver.c:1531,1
    - Dst: G_SOURCE_FUNC
      Src: /src/glib/gio/gthreadedresolver.c:1543,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gthreadedresolver.c:1547,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - self
    - task
    argTypes:
    - GThreadedResolver*
    - GTask*
    constantsTouched: []
    func_position:
      end: 1548
      start: 1513
    functionDepth: 0
    functionLinenumber: 1513
    functionLinenumberEnd: 1548
    functionName: run_task_in_thread_pool_async
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_thread_pool_push
    - g_source_set_callback
    - g_mutex_unlock
    - g_mutex_lock
    - g_weak_ref_set
    - g_timeout_source_new
    - g_task_get_cancellable
    - g_source_attach
    - G_SOURCE_FUNC
    - g_cancellable_source_new
    - GLIB_PRIVATE_CALL
    - G_RESOLVER
    - g_task_get_task_data
    - g_object_ref
    - g_new0
    - g_resolver_get_timeout
    - g_source_set_static_name
    linkageType: ''
    returnType: void
    signature: 'static void run_task_in_thread_pool_async (GThreadedResolver *self,
      GTask *task) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_THREADED_RESOLVER
      Src: /src/glib/gio/gthreadedresolver.c:113,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gthreadedresolver.c:118,1
    - Dst: g_thread_pool_free
      Src: /src/glib/gio/gthreadedresolver.c:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 119
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 119
    functionName: g_threaded_resolver_finalize
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_thread_pool_free
    - G_THREADED_RESOLVER
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_threaded_resolver_finalize (GObject *object) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gthreadedresolver.c:227,1
    - Dst: g_free
      Src: /src/glib/gio/gthreadedresolver.c:233,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gthreadedresolver.c:236,1
    - Dst: g_source_destroy
      Src: /src/glib/gio/gthreadedresolver.c:241,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gthreadedresolver.c:230,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gthreadedresolver.c:242,1
    - Dst: g_source_destroy
      Src: /src/glib/gio/gthreadedresolver.c:247,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gthreadedresolver.c:248,1
    - Dst: g_mutex_clear
      Src: /src/glib/gio/gthreadedresolver.c:251,1
    - Dst: g_cond_clear
      Src: /src/glib/gio/gthreadedresolver.c:252,1
    - Dst: g_free
      Src: /src/glib/gio/gthreadedresolver.c:254,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 1
    argNames:
    - data
    argTypes:
    - LookupData*
    constantsTouched: []
    func_position:
      end: 255
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 255
    functionName: lookup_data_free
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_mutex_clear
    - g_source_destroy
    - g_assert_not_reached
    - g_clear_pointer
    - g_clear_object
    - g_cond_clear
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void lookup_data_free (LookupData *data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/gio/gthreadedresolver.c:757,1
    - Dst: GETSHORT
      Src: /src/glib/gio/gthreadedresolver.c:765,1
    - Dst: GETSHORT
      Src: /src/glib/gio/gthreadedresolver.c:764,1
    - Dst: GETSHORT
      Src: /src/glib/gio/gthreadedresolver.c:763,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:759,1
    - Dst: expand_name
      Src: /src/glib/gio/gthreadedresolver.c:783,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gthreadedresolver.c:786,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 791
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 791
    functionName: parse_res_srv
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_set_error
    - expand_name
    - GETSHORT
    - g_variant_new
    - _
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *parse_res_srv (const guint8 *answer, const guint8
      *end, const guint8 **p, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 1
    argNames:
    - err
    argTypes:
    - gint
    constantsTouched: []
    func_position:
      end: 139
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 139
    functionName: g_resolver_error_from_addrinfo_error
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GResolverError
    signature: 'static GResolverError g_resolver_error_from_addrinfo_error (gint err) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getaddrinfo
      Src: /src/glib/gio/gthreadedresolver.c:279,1
    - Dst: g_list_reverse
      Src: /src/glib/gio/gthreadedresolver.c:308,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:317,1
    - Dst: g_locale_to_utf8
      Src: /src/glib/gio/gthreadedresolver.c:328,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gthreadedresolver.c:295,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gthreadedresolver.c:299,1
    - Dst: G_IS_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/gthreadedresolver.c:293,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gthreadedresolver.c:304,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gthreadedresolver.c:309,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:338,1
    - Dst: g_free
      Src: /src/glib/gio/gthreadedresolver.c:340,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gthreadedresolver.c:301,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:319,1
    - Dst: g_win32_error_message
      Src: /src/glib/gio/gthreadedresolver.c:326,1
    - Dst: g_strdup
      Src: /src/glib/gio/gthreadedresolver.c:330,1
    - Dst: g_set_error
      Src: /src/glib/gio/gthreadedresolver.c:314,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gthreadedresolver.c:333,1
    - Dst: g_resolver_error_from_addrinfo_error
      Src: /src/glib/gio/gthreadedresolver.c:337,1
    - Dst: g_socket_address_new_from_native
      Src: /src/glib/gio/gthreadedresolver.c:290,1
    - Dst: g_inet_socket_address_get_address
      Src: /src/glib/gio/gthreadedresolver.c:299,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gthreadedresolver.c:300,1
    - Dst: WSAGetLastError
      Src: /src/glib/gio/gthreadedresolver.c:326,1
    - Dst: gai_strerror
      Src: /src/glib/gio/gthreadedresolver.c:328,1
    - Dst: g_set_error
      Src: /src/glib/gio/gthreadedresolver.c:335,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 344
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 344
    functionName: do_lookup_by_name
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_inet_socket_address_get_address
    - g_steal_pointer
    - WSAGetLastError
    - g_list_prepend
    - g_object_unref
    - g_locale_to_utf8
    - g_clear_pointer
    - g_clear_object
    - getaddrinfo
    - g_set_error
    - G_IS_INET_SOCKET_ADDRESS
    - g_list_reverse
    - g_socket_address_new_from_native
    - g_strdup
    - _
    - g_win32_error_message
    - gai_strerror
    - g_resolver_error_from_addrinfo_error
    - g_object_ref
    - g_free
    linkageType: ''
    returnType: GList*
    signature: 'static GList *do_lookup_by_name (const gchar *hostname, int address_family,
      GCancellable *cancellable, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: expand_name
      Src: /src/glib/gio/gthreadedresolver.c:803,1
    - Dst: GETLONG
      Src: /src/glib/gio/gthreadedresolver.c:817,1
    - Dst: g_set_error
      Src: /src/glib/gio/gthreadedresolver.c:811,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:813,1
    - Dst: expand_name
      Src: /src/glib/gio/gthreadedresolver.c:806,1
    - Dst: GETLONG
      Src: /src/glib/gio/gthreadedresolver.c:818,1
    - Dst: GETLONG
      Src: /src/glib/gio/gthreadedresolver.c:819,1
    - Dst: GETLONG
      Src: /src/glib/gio/gthreadedresolver.c:820,1
    - Dst: GETLONG
      Src: /src/glib/gio/gthreadedresolver.c:821,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gthreadedresolver.c:823,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 831
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 831
    functionName: parse_res_soa
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - expand_name
    - g_set_error
    - GETLONG
    - g_variant_new
    - _
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *parse_res_soa (const guint8 *answer, const guint8
      *end, const guint8 **p, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_THREADED_RESOLVER
      Src: /src/glib/gio/gthreadedresolver.c:352,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gthreadedresolver.c:359,1
    - Dst: g_task_new
      Src: /src/glib/gio/gthreadedresolver.c:358,1
    - Dst: g_task_set_name
      Src: /src/glib/gio/gthreadedresolver.c:360,1
    - Dst: lookup_data_new_by_name
      Src: /src/glib/gio/gthreadedresolver.c:357,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gthreadedresolver.c:361,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gthreadedresolver.c:361,1
    - Dst: run_task_in_thread_pool_sync
      Src: /src/glib/gio/gthreadedresolver.c:363,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gthreadedresolver.c:365,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gthreadedresolver.c:366,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 369
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 369
    functionName: lookup_by_name
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - run_task_in_thread_pool_sync
    - g_task_new
    - g_object_unref
    - g_task_set_source_tag
    - G_THREADED_RESOLVER
    - g_task_propagate_pointer
    - g_task_set_task_data
    - g_task_set_name
    - lookup_data_new_by_name
    linkageType: ''
    returnType: GList*
    signature: 'static GList *lookup_by_name (GResolver *resolver, const gchar *hostname,
      GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: expand_name
      Src: /src/glib/gio/gthreadedresolver.c:841,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gthreadedresolver.c:844,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 845
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 845
    functionName: parse_res_ns
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - expand_name
    - g_variant_new
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *parse_res_ns (const guint8 *answer, const guint8
      *end, const guint8 **p, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/gio/gthreadedresolver.c:887,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/gio/gthreadedresolver.c:893,1
    - Dst: g_set_error
      Src: /src/glib/gio/gthreadedresolver.c:899,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:889,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:901,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gthreadedresolver.c:902,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gthreadedresolver.c:906,1
    - Dst: g_strndup
      Src: /src/glib/gio/gthreadedresolver.c:906,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gthreadedresolver.c:911,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gthreadedresolver.c:913,1
    - Dst: g_variant_new_strv
      Src: /src/glib/gio/gthreadedresolver.c:912,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 915
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 915
    functionName: parse_res_txt
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_variant_new_strv
    - g_strndup
    - g_ptr_array_new_with_free_func
    - g_variant_new
    - _
    - g_ptr_array_free
    - g_ptr_array_add
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *parse_res_txt (const guint8 *answer, const guint8
      *end, const guint8 **p, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gthreadedresolver.c:383,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - flags
    argTypes:
    - GResolverNameLookupFlags
    constantsTouched: []
    func_position:
      end: 387
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 387
    functionName: flags_to_family
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: int
    signature: 'static int flags_to_family (GResolverNameLookupFlags flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/gio/gthreadedresolver.c:858,1
    - Dst: GETSHORT
      Src: /src/glib/gio/gthreadedresolver.c:864,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:860,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gthreadedresolver.c:869,1
    - Dst: expand_name
      Src: /src/glib/gio/gthreadedresolver.c:866,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 872
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 872
    functionName: parse_res_mx
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_set_error
    - expand_name
    - GETSHORT
    - g_variant_new
    - _
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *parse_res_mx (const guint8 *answer, const guint8
      *end, const guint8 **p, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_reached
      Src: /src/glib/gio/gthreadedresolver.c:933,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 1
    argNames:
    - type
    argTypes:
    - GResolverRecordType
    constantsTouched: []
    func_position:
      end: 934
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 934
    functionName: g_resolver_record_type_to_rrtype
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_return_val_if_reached
    linkageType: ''
    returnType: gint
    signature: 'gint g_resolver_record_type_to_rrtype (GResolverRecordType type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_weak_ref_get
      Src: /src/glib/gio/gthreadedresolver.c:1478,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gthreadedresolver.c:1484,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gthreadedresolver.c:1482,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/gthreadedresolver.c:1486,1
    - Dst: g_assert
      Src: /src/glib/gio/gthreadedresolver.c:1486,1
    - Dst: g_atomic_int_compare_and_exchange
      Src: /src/glib/gio/gthreadedresolver.c:1487,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gthreadedresolver.c:1488,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gthreadedresolver.c:1490,1
    - Dst: g_task_return_error_if_cancelled
      Src: /src/glib/gio/gthreadedresolver.c:1493,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gthreadedresolver.c:1496,1
    - Dst: g_cond_broadcast
      Src: /src/glib/gio/gthreadedresolver.c:1498,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gthreadedresolver.c:1499,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gthreadedresolver.c:1501,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - cancellable
    - user_data
    argTypes:
    - GCancellable*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1504
      start: 1469
    functionDepth: 0
    functionLinenumber: 1469
    functionLinenumberEnd: 1504
    functionName: cancelled_cb
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_weak_ref_get
    - g_object_unref
    - g_mutex_unlock
    - g_mutex_lock
    - g_assert
    - g_cancellable_is_cancelled
    - g_atomic_int_compare_and_exchange
    - g_cond_broadcast
    - g_clear_pointer
    - g_task_return_error_if_cancelled
    - g_task_get_task_data
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean cancelled_cb (GCancellable *cancellable, gpointer
      user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dn_expand
      Src: /src/glib/gio/gthreadedresolver.c:732,1
    - Dst: g_set_error
      Src: /src/glib/gio/gthreadedresolver.c:735,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:737,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    argCount: 7
    argNames:
    - rrname
    - answer
    - end
    - p
    - namebuf
    - namebuf_len
    - error
    argTypes:
    - gchar*
    - guint8*
    - guint8*
    - guint8**
    - gchar*
    - gsize
    - GError**
    constantsTouched: []
    func_position:
      end: 744
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 744
    functionName: expand_name
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_set_error
    - dn_expand
    - _
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean expand_name (const gchar *rrname, const guint8 *answer,
      const guint8 *end, const guint8 **p, gchar *namebuf, gsize namebuf_len, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gthreadedresolver.c:201,1
    - Dst: g_cond_init
      Src: /src/glib/gio/gthreadedresolver.c:203,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gthreadedresolver.c:205,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gthreadedresolver.c:206,1
    - Dst: g_mutex_init
      Src: /src/glib/gio/gthreadedresolver.c:204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 207
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 207
    functionName: lookup_data_new_by_address
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_mutex_init
    - g_cond_init
    - g_object_ref
    - g_new0
    linkageType: ''
    returnType: LookupData*
    signature: 'static LookupData *lookup_data_new_by_address (GInetAddress *address) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_THREADED_RESOLVER
      Src: /src/glib/gio/gthreadedresolver.c:396,1
    - Dst: g_task_new
      Src: /src/glib/gio/gthreadedresolver.c:402,1
    - Dst: lookup_data_new_by_name
      Src: /src/glib/gio/gthreadedresolver.c:401,1
    - Dst: flags_to_family
      Src: /src/glib/gio/gthreadedresolver.c:401,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gthreadedresolver.c:403,1
    - Dst: g_task_set_name
      Src: /src/glib/gio/gthreadedresolver.c:404,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gthreadedresolver.c:405,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gthreadedresolver.c:405,1
    - Dst: run_task_in_thread_pool_sync
      Src: /src/glib/gio/gthreadedresolver.c:407,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gthreadedresolver.c:409,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gthreadedresolver.c:410,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 413
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 413
    functionName: lookup_by_name_with_flags
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - run_task_in_thread_pool_sync
    - g_task_new
    - g_object_unref
    - g_task_set_source_tag
    - G_THREADED_RESOLVER
    - flags_to_family
    - g_task_propagate_pointer
    - g_task_set_task_data
    - g_task_set_name
    - lookup_data_new_by_name
    linkageType: ''
    returnType: GList*
    signature: 'static GList *lookup_by_name_with_flags (GResolver *resolver, const
      gchar *hostname, GResolverNameLookupFlags flags, GCancellable *cancellable,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup_by_name_with_flags_async
      Src: /src/glib/gio/gthreadedresolver.c:449,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - resolver
    - hostname
    - cancellable
    - callback
    - user_data
    argTypes:
    - GResolver*
    - gchar*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 455
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 455
    functionName: lookup_by_name_async
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - lookup_by_name_with_flags_async
    linkageType: ''
    returnType: void
    signature: 'static void lookup_by_name_async (GResolver *resolver, const gchar
      *hostname, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_THREADED_RESOLVER
      Src: /src/glib/gio/gthreadedresolver.c:530,1
    - Dst: lookup_data_new_by_address
      Src: /src/glib/gio/gthreadedresolver.c:535,1
    - Dst: g_task_set_name
      Src: /src/glib/gio/gthreadedresolver.c:538,1
    - Dst: g_task_new
      Src: /src/glib/gio/gthreadedresolver.c:536,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gthreadedresolver.c:537,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gthreadedresolver.c:539,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gthreadedresolver.c:539,1
    - Dst: run_task_in_thread_pool_sync
      Src: /src/glib/gio/gthreadedresolver.c:541,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gthreadedresolver.c:543,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gthreadedresolver.c:544,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 547
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 547
    functionName: lookup_by_address
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - run_task_in_thread_pool_sync
    - lookup_data_new_by_address
    - g_task_new
    - g_object_unref
    - g_task_set_source_tag
    - G_THREADED_RESOLVER
    - g_task_set_task_data
    - g_task_set_name
    - g_task_propagate_pointer
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *lookup_by_address (GResolver *resolver, GInetAddress
      *address, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new
      Src: /src/glib/gio/gthreadedresolver.c:1132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1129
    functionDepth: 0
    functionLinenumber: 1129
    functionLinenumberEnd: 1133
    functionName: parse_dns_ns
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_variant_new
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *parse_dns_ns (DNS_RECORDA *rec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gthreadedresolver.c:1150,1
    - Dst: g_variant_new_strv
      Src: /src/glib/gio/gthreadedresolver.c:1154,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gthreadedresolver.c:1155,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gthreadedresolver.c:1153,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gthreadedresolver.c:1152,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1143
    functionDepth: 0
    functionLinenumber: 1143
    functionLinenumberEnd: 1157
    functionName: parse_dns_txt
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_variant_new_strv
    - g_variant_new
    - g_ptr_array_free
    - g_ptr_array_new
    - g_ptr_array_add
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *parse_dns_txt (DNS_RECORDA *rec) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: res_ninit
      Src: /src/glib/gio/gthreadedresolver.c:1297,1
    - Dst: g_set_error
      Src: /src/glib/gio/gthreadedresolver.c:1299,1
    - Dst: g_byte_array_new
      Src: /src/glib/gio/gthreadedresolver.c:1306,1
    - Dst: g_resolver_record_type_to_rrtype
      Src: /src/glib/gio/gthreadedresolver.c:1305,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:1300,1
    - Dst: g_byte_array_set_size
      Src: /src/glib/gio/gthreadedresolver.c:1309,1
    - Dst: res_nquery
      Src: /src/glib/gio/gthreadedresolver.c:1311,1
    - Dst: res_query
      Src: /src/glib/gio/gthreadedresolver.c:1313,1
    - Dst: g_resolver_records_from_res_query
      Src: /src/glib/gio/gthreadedresolver.c:1327,1
    - Dst: g_byte_array_free
      Src: /src/glib/gio/gthreadedresolver.c:1328,1
    - Dst: DnsRecordListFree
      Src: /src/glib/gio/gthreadedresolver.c:1359,1
    - Dst: res_ndestroy
      Src: /src/glib/gio/gthreadedresolver.c:1333,1
    - Dst: g_resolver_record_type_to_dnstype
      Src: /src/glib/gio/gthreadedresolver.c:1355,1
    - Dst: DnsQuery_UTF8
      Src: /src/glib/gio/gthreadedresolver.c:1356,1
    - Dst: res_nclose
      Src: /src/glib/gio/gthreadedresolver.c:1335,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gthreadedresolver.c:1363,1
    - Dst: g_resolver_records_from_DnsQuery
      Src: /src/glib/gio/gthreadedresolver.c:1357,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1364
      start: 1269
    functionDepth: 0
    functionLinenumber: 1269
    functionLinenumberEnd: 1364
    functionName: do_lookup_records
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_steal_pointer
    - res_ndestroy
    - g_resolver_record_type_to_rrtype
    - res_query
    - g_resolver_record_type_to_dnstype
    - DnsRecordListFree
    - g_resolver_records_from_res_query
    - g_byte_array_new
    - res_nquery
    - g_byte_array_free
    - DnsQuery_UTF8
    - res_ninit
    - g_byte_array_set_size
    - _
    - res_nclose
    - g_resolver_records_from_DnsQuery
    linkageType: ''
    returnType: GList*
    signature: 'static GList *do_lookup_records (const gchar *rrname, GResolverRecordType
      record_type, GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_weak_ref_get
      Src: /src/glib/gio/gthreadedresolver.c:1437,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gthreadedresolver.c:1443,1
    - Dst: g_atomic_int_compare_and_exchange
      Src: /src/glib/gio/gthreadedresolver.c:1445,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gthreadedresolver.c:1441,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gthreadedresolver.c:1446,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gthreadedresolver.c:1448,1
    - Dst: g_task_return_new_error_literal
      Src: /src/glib/gio/gthreadedresolver.c:1452,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:1453,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gthreadedresolver.c:1457,1
    - Dst: g_cond_broadcast
      Src: /src/glib/gio/gthreadedresolver.c:1459,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gthreadedresolver.c:1462,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gthreadedresolver.c:1460,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1465
      start: 1429
    functionDepth: 0
    functionLinenumber: 1429
    functionLinenumberEnd: 1465
    functionName: timeout_cb
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_weak_ref_get
    - g_object_unref
    - g_mutex_unlock
    - g_mutex_lock
    - g_cond_broadcast
    - g_atomic_int_compare_and_exchange
    - g_task_return_new_error_literal
    - g_clear_pointer
    - g_task_get_task_data
    - _
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean timeout_cb (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gthreadedresolver.c:213,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gthreadedresolver.c:219,1
    - Dst: g_strdup
      Src: /src/glib/gio/gthreadedresolver.c:217,1
    - Dst: g_mutex_init
      Src: /src/glib/gio/gthreadedresolver.c:216,1
    - Dst: g_cond_init
      Src: /src/glib/gio/gthreadedresolver.c:215,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 220
    functionName: lookup_data_new_records
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_mutex_init
    - g_strdup
    - g_cond_init
    - g_new0
    linkageType: ''
    returnType: LookupData*
    signature: 'static LookupData *lookup_data_new_records (const gchar *rrname, GResolverRecordType
      record_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_THREADED_RESOLVER
      Src: /src/glib/gio/gthreadedresolver.c:423,1
    - Dst: g_debug
      Src: /src/glib/gio/gthreadedresolver.c:430,1
    - Dst: lookup_data_new_by_name
      Src: /src/glib/gio/gthreadedresolver.c:427,1
    - Dst: flags_to_family
      Src: /src/glib/gio/gthreadedresolver.c:427,1
    - Dst: g_task_new
      Src: /src/glib/gio/gthreadedresolver.c:428,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gthreadedresolver.c:433,1
    - Dst: g_task_set_name
      Src: /src/glib/gio/gthreadedresolver.c:434,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gthreadedresolver.c:435,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gthreadedresolver.c:435,1
    - Dst: run_task_in_thread_pool_async
      Src: /src/glib/gio/gthreadedresolver.c:437,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gthreadedresolver.c:439,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 6
    argNames:
    - resolver
    - hostname
    - flags
    - cancellable
    - callback
    - user_data
    argTypes:
    - GResolver*
    - gchar*
    - GResolverNameLookupFlags
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 440
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 440
    functionName: lookup_by_name_with_flags_async
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_task_new
    - g_object_unref
    - g_task_set_source_tag
    - G_THREADED_RESOLVER
    - flags_to_family
    - g_debug
    - run_task_in_thread_pool_async
    - g_task_set_task_data
    - g_task_set_name
    - lookup_data_new_by_name
    linkageType: ''
    returnType: void
    signature: 'static void lookup_by_name_with_flags_async (GResolver *resolver,
      const gchar *hostname, GResolverNameLookupFlags flags, GCancellable *cancellable,
      GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gthreadedresolver.c:462,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gthreadedresolver.c:464,1
    - Dst: G_TASK
      Src: /src/glib/gio/gthreadedresolver.c:464,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gthreadedresolver.c:462,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 465
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 465
    functionName: lookup_by_name_finish
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_return_val_if_fail
    - g_task_is_valid
    - g_task_propagate_pointer
    linkageType: ''
    returnType: GList*
    signature: 'static GList *lookup_by_name_finish (GResolver *resolver, GAsyncResult
      *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_THREADED_RESOLVER
      Src: /src/glib/gio/gthreadedresolver.c:556,1
    - Dst: g_task_set_name
      Src: /src/glib/gio/gthreadedresolver.c:563,1
    - Dst: lookup_data_new_by_address
      Src: /src/glib/gio/gthreadedresolver.c:560,1
    - Dst: g_task_new
      Src: /src/glib/gio/gthreadedresolver.c:561,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gthreadedresolver.c:562,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gthreadedresolver.c:564,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gthreadedresolver.c:564,1
    - Dst: run_task_in_thread_pool_async
      Src: /src/glib/gio/gthreadedresolver.c:566,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gthreadedresolver.c:568,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 5
    argNames:
    - resolver
    - address
    - cancellable
    - callback
    - user_data
    argTypes:
    - GResolver*
    - GInetAddress*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 569
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 569
    functionName: lookup_by_address_async
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - lookup_data_new_by_address
    - g_task_new
    - g_object_unref
    - g_task_set_source_tag
    - G_THREADED_RESOLVER
    - run_task_in_thread_pool_async
    - g_task_set_task_data
    - g_task_set_name
    linkageType: ''
    returnType: void
    signature: 'static void lookup_by_address_async (GResolver *resolver, GInetAddress
      *address, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer
      user_data) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:959,1
    - Dst: g_set_error
      Src: /src/glib/gio/gthreadedresolver.c:963,1
    - Dst: GETSHORT
      Src: /src/glib/gio/gthreadedresolver.c:1040,1
    - Dst: g_set_error
      Src: /src/glib/gio/gthreadedresolver.c:1044,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:1047,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gthreadedresolver.c:1081,1
    - Dst: g_propagate_prefixed_error
      Src: /src/glib/gio/gthreadedresolver.c:1089,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:964,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:983,1
    - Dst: ntohs
      Src: /src/glib/gio/gthreadedresolver.c:994,1
    - Dst: ntohs
      Src: /src/glib/gio/gthreadedresolver.c:1019,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:1032,1
    - Dst: dn_expand
      Src: /src/glib/gio/gthreadedresolver.c:999,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:1007,1
    - Dst: GETSHORT
      Src: /src/glib/gio/gthreadedresolver.c:1037,1
    - Dst: parse_res_srv
      Src: /src/glib/gio/gthreadedresolver.c:1060,1
    - Dst: parse_res_mx
      Src: /src/glib/gio/gthreadedresolver.c:1063,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:1089,1
    - Dst: parse_res_ns
      Src: /src/glib/gio/gthreadedresolver.c:1069,1
    - Dst: g_set_error
      Src: /src/glib/gio/gthreadedresolver.c:968,1
    - Dst: g_set_error
      Src: /src/glib/gio/gthreadedresolver.c:980,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:983,1
    - Dst: g_set_error
      Src: /src/glib/gio/gthreadedresolver.c:1029,1
    - Dst: g_set_error
      Src: /src/glib/gio/gthreadedresolver.c:1004,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:1032,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:1007,1
    - Dst: GETSHORT
      Src: /src/glib/gio/gthreadedresolver.c:1038,1
    - Dst: parse_res_soa
      Src: /src/glib/gio/gthreadedresolver.c:1066,1
    - Dst: parse_res_txt
      Src: /src/glib/gio/gthreadedresolver.c:1072,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gthreadedresolver.c:1081,1
    - Dst: g_set_error
      Src: /src/glib/gio/gthreadedresolver.c:958,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:969,1
    - Dst: dn_expand
      Src: /src/glib/gio/gthreadedresolver.c:1024,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:1047,1
    - Dst: g_debug
      Src: /src/glib/gio/gthreadedresolver.c:1075,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gthreadedresolver.c:1090,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:1096,1
    - Dst: g_set_error
      Src: /src/glib/gio/gthreadedresolver.c:1095,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 113
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 1102
    functionName: g_resolver_records_from_res_query
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_variant_ref_sink
    - parse_res_ns
    - ntohs
    - dn_expand
    - g_list_free_full
    - parse_res_mx
    - g_list_prepend
    - GETSHORT
    - g_debug
    - parse_res_soa
    - parse_res_srv
    - _
    - g_propagate_prefixed_error
    - parse_res_txt
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_resolver_records_from_res_query (const gchar *rrname, gint
      rrtype, const guint8 *answer, gssize len, gint herr, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new
      Src: /src/glib/gio/gthreadedresolver.c:1138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1135
    functionDepth: 0
    functionLinenumber: 1135
    functionLinenumberEnd: 1141
    functionName: parse_dns_mx
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_variant_new
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *parse_dns_mx (DNS_RECORDA *rec) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_reached
      Src: /src/glib/gio/gthreadedresolver.c:1175,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 1
    argNames:
    - type
    argTypes:
    - GResolverRecordType
    constantsTouched: []
    func_position:
      end: 1176
      start: 1159
    functionDepth: 0
    functionLinenumber: 1159
    functionLinenumberEnd: 1176
    functionName: g_resolver_record_type_to_dnstype
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_return_val_if_reached
    linkageType: ''
    returnType: WORD
    signature: 'static WORD g_resolver_record_type_to_dnstype (GResolverRecordType
      type) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/gio/gthreadedresolver.c:1193,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:1199,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:1194,1
    - Dst: g_set_error
      Src: /src/glib/gio/gthreadedresolver.c:1203,1
    - Dst: g_set_error
      Src: /src/glib/gio/gthreadedresolver.c:1198,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:1204,1
    - Dst: parse_dns_srv
      Src: /src/glib/gio/gthreadedresolver.c:1218,1
    - Dst: parse_dns_soa
      Src: /src/glib/gio/gthreadedresolver.c:1221,1
    - Dst: parse_dns_ns
      Src: /src/glib/gio/gthreadedresolver.c:1224,1
    - Dst: parse_dns_mx
      Src: /src/glib/gio/gthreadedresolver.c:1227,1
    - Dst: parse_dns_txt
      Src: /src/glib/gio/gthreadedresolver.c:1230,1
    - Dst: g_warn_if_reached
      Src: /src/glib/gio/gthreadedresolver.c:1233,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gthreadedresolver.c:1238,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gthreadedresolver.c:1238,1
    - Dst: g_set_error
      Src: /src/glib/gio/gthreadedresolver.c:1243,1
    - Dst: _
      Src: /src/glib/gio/gthreadedresolver.c:1244,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1178
    functionDepth: 0
    functionLinenumber: 1178
    functionLinenumberEnd: 1250
    functionName: g_resolver_records_from_DnsQuery
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_variant_ref_sink
    - g_warn_if_reached
    - parse_dns_ns
    - parse_dns_txt
    - parse_dns_soa
    - parse_dns_mx
    - g_list_prepend
    - _
    - parse_dns_srv
    linkageType: ''
    returnType: GList*
    signature: 'static GList *g_resolver_records_from_DnsQuery (const gchar *rrname,
      WORD dnstype, DNS_STATUS status, DNS_RECORDA *results, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_THREADED_RESOLVER
      Src: /src/glib/gio/gthreadedresolver.c:1373,1
    - Dst: g_task_new
      Src: /src/glib/gio/gthreadedresolver.c:1378,1
    - Dst: lookup_data_new_records
      Src: /src/glib/gio/gthreadedresolver.c:1382,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gthreadedresolver.c:1379,1
    - Dst: g_task_set_name
      Src: /src/glib/gio/gthreadedresolver.c:1380,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gthreadedresolver.c:1383,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gthreadedresolver.c:1383,1
    - Dst: run_task_in_thread_pool_sync
      Src: /src/glib/gio/gthreadedresolver.c:1385,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gthreadedresolver.c:1387,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gthreadedresolver.c:1388,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1391
      start: 1366
    functionDepth: 0
    functionLinenumber: 1366
    functionLinenumberEnd: 1391
    functionName: lookup_records
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - run_task_in_thread_pool_sync
    - g_task_new
    - g_object_unref
    - g_task_set_source_tag
    - G_THREADED_RESOLVER
    - g_task_set_task_data
    - g_task_set_name
    - g_task_propagate_pointer
    - lookup_data_new_records
    linkageType: ''
    returnType: GList*
    signature: 'static GList *lookup_records (GResolver *resolver, const gchar *rrname,
      GResolverRecordType record_type, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_weak_ref_clear
      Src: /src/glib/gio/gthreadedresolver.c:1509,1
    - Dst: g_free
      Src: /src/glib/gio/gthreadedresolver.c:1510,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - weak_ref
    argTypes:
    - GWeakRef*
    constantsTouched: []
    func_position:
      end: 1511
      start: 1506
    functionDepth: 0
    functionLinenumber: 1506
    functionLinenumberEnd: 1511
    functionName: weak_ref_clear_and_free
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - g_weak_ref_clear
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void weak_ref_clear_and_free (GWeakRef *weak_ref) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gthreadedresolver.c:1659,1
    - Dst: G_RESOLVER_CLASS
      Src: /src/glib/gio/gthreadedresolver.c:1660,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - threaded_class
    argTypes:
    - GThreadedResolverClass*
    constantsTouched: []
    func_position:
      end: 1676
      start: 1656
    functionDepth: 0
    functionLinenumber: 1656
    functionLinenumberEnd: 1676
    functionName: g_threaded_resolver_class_init
    functionSourceFile: /src/glib/gio/gthreadedresolver.c
    functionUses: []
    functionsReached:
    - G_RESOLVER_CLASS
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_threaded_resolver_class_init (GThreadedResolverClass
      *threaded_class) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetIpForwardTable2
      Src: /src/glib/gio/gwin32networkmonitor.c:135,1
    - Dst: get_network_mask
      Src: /src/glib/gio/gwin32networkmonitor.c:157,1
    - Dst: g_ptr_array_new_full
      Src: /src/glib/gio/gwin32networkmonitor.c:144,1
    - Dst: g_set_error
      Src: /src/glib/gio/gwin32networkmonitor.c:138,1
    - Dst: win_network_monitor_get_ip_info
      Src: /src/glib/gio/gwin32networkmonitor.c:154,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gwin32networkmonitor.c:161,1
    - Dst: g_network_monitor_base_set_networks
      Src: /src/glib/gio/gwin32networkmonitor.c:164,1
    - Dst: G_NETWORK_MONITOR_BASE
      Src: /src/glib/gio/gwin32networkmonitor.c:164,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 2
    argNames:
    - win
    - error
    argTypes:
    - GWin32NetworkMonitor*
    - GError**
    constantsTouched: []
    func_position:
      end: 169
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 169
    functionName: win_network_monitor_process_table
    functionSourceFile: /src/glib/gio/gwin32networkmonitor.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_network_monitor_base_set_networks
    - GetIpForwardTable2
    - g_ptr_array_new_full
    - get_network_mask
    - win_network_monitor_get_ip_info
    - G_NETWORK_MONITOR_BASE
    - g_ptr_array_add
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean win_network_monitor_process_table (GWin32NetworkMonitor
      *win, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 8
    argCount: 4
    argNames:
    - prefix
    - family
    - dest
    - len
    argTypes:
    - IP_ADDRESS_PREFIX*
    - GSocketFamily*
    - guint8**
    - gsize*
    constantsTouched: []
    func_position:
      end: 104
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 104
    functionName: win_network_monitor_get_ip_info
    functionSourceFile: /src/glib/gio/gwin32networkmonitor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean win_network_monitor_get_ip_info (const IP_ADDRESS_PREFIX
      *prefix, GSocketFamily *family, const guint8 **dest, gsize *len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_network_mask
      Src: /src/glib/gio/gwin32networkmonitor.c:195,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32networkmonitor.c:199,1
    - Dst: g_network_monitor_base_remove_network
      Src: /src/glib/gio/gwin32networkmonitor.c:198,1
    - Dst: G_NETWORK_MONITOR_BASE
      Src: /src/glib/gio/gwin32networkmonitor.c:198,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - win
    - family
    - dest
    - dest_len
    argTypes:
    - GWin32NetworkMonitor*
    - GSocketFamily
    - guint8*
    - gsize
    constantsTouched: []
    func_position:
      end: 201
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 201
    functionName: remove_network
    functionSourceFile: /src/glib/gio/gwin32networkmonitor.c
    functionUses: []
    functionsReached:
    - G_NETWORK_MONITOR_BASE
    - g_network_monitor_base_remove_network
    - get_network_mask
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void remove_network (GWin32NetworkMonitor *win, GSocketFamily
      family, const guint8 *dest, gsize dest_len) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: win_network_monitor_get_ip_info
      Src: /src/glib/gio/gwin32networkmonitor.c:220,1
    - Dst: win_network_monitor_get_ip_info
      Src: /src/glib/gio/gwin32networkmonitor.c:226,1
    - Dst: add_network
      Src: /src/glib/gio/gwin32networkmonitor.c:229,1
    - Dst: remove_network
      Src: /src/glib/gio/gwin32networkmonitor.c:223,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 237
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 237
    functionName: win_network_monitor_invoke_route_changed
    functionSourceFile: /src/glib/gio/gwin32networkmonitor.c
    functionUses: []
    functionsReached:
    - win_network_monitor_get_ip_info
    - remove_network
    - add_network
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean win_network_monitor_invoke_route_changed (gpointer
      user_data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_NETWORK_MONITOR
      Src: /src/glib/gio/gwin32networkmonitor.c:267,1
    - Dst: g_main_context_ref_thread_default
      Src: /src/glib/gio/gwin32networkmonitor.c:273,1
    - Dst: win_network_monitor_process_table
      Src: /src/glib/gio/gwin32networkmonitor.c:276,1
    - Dst: g_set_error
      Src: /src/glib/gio/gwin32networkmonitor.c:282,1
    - Dst: NotifyRouteChange2
      Src: /src/glib/gio/gwin32networkmonitor.c:280,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gwin32networkmonitor.c:292,1
    - Dst: g_error_copy
      Src: /src/glib/gio/gwin32networkmonitor.c:292,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - initable
    - cancellable
    - error
    argTypes:
    - GInitable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 297
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 297
    functionName: g_win32_network_monitor_initable_init
    functionSourceFile: /src/glib/gio/gwin32networkmonitor.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_propagate_error
    - NotifyRouteChange2
    - win_network_monitor_process_table
    - G_WIN32_NETWORK_MONITOR
    - g_error_copy
    - g_main_context_ref_thread_default
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_win32_network_monitor_initable_init (GInitable *initable,
      GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gwin32networkmonitor.c:324,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - win_class
    argTypes:
    - GWin32NetworkMonitorClass*
    constantsTouched: []
    func_position:
      end: 327
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 327
    functionName: g_win32_network_monitor_class_init
    functionSourceFile: /src/glib/gio/gwin32networkmonitor.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_network_monitor_class_init (GWin32NetworkMonitorClass
      *win_class) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_network_mask
      Src: /src/glib/gio/gwin32networkmonitor.c:179,1
    - Dst: G_NETWORK_MONITOR_BASE
      Src: /src/glib/gio/gwin32networkmonitor.c:182,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32networkmonitor.c:183,1
    - Dst: g_network_monitor_base_add_network
      Src: /src/glib/gio/gwin32networkmonitor.c:182,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - win
    - family
    - dest
    - dest_len
    argTypes:
    - GWin32NetworkMonitor*
    - GSocketFamily
    - guint8*
    - gsize
    constantsTouched: []
    func_position:
      end: 185
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 185
    functionName: add_network
    functionSourceFile: /src/glib/gio/gwin32networkmonitor.c
    functionUses: []
    functionsReached:
    - g_network_monitor_base_add_network
    - G_NETWORK_MONITOR_BASE
    - g_object_unref
    - get_network_mask
    linkageType: ''
    returnType: void
    signature: 'static void add_network (GWin32NetworkMonitor *win, GSocketFamily
      family, const guint8 *dest, gsize dest_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_inet_address_new_from_bytes
      Src: /src/glib/gio/gwin32networkmonitor.c:115,1
    - Dst: g_inet_address_new_any
      Src: /src/glib/gio/gwin32networkmonitor.c:117,1
    - Dst: g_inet_address_mask_new
      Src: /src/glib/gio/gwin32networkmonitor.c:119,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32networkmonitor.c:120,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 123
    functionName: get_network_mask
    functionSourceFile: /src/glib/gio/gwin32networkmonitor.c
    functionUses: []
    functionsReached:
    - g_inet_address_mask_new
    - g_inet_address_new_from_bytes
    - g_inet_address_new_any
    - g_object_unref
    linkageType: ''
    returnType: GInetAddressMask*
    signature: 'static GInetAddressMask *get_network_mask (GSocketFamily family, const
      guint8 *dest, gsize len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gwin32networkmonitor.c:247,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gwin32networkmonitor.c:254,1
    - Dst: g_source_set_priority
      Src: /src/glib/gio/gwin32networkmonitor.c:253,1
    - Dst: g_idle_source_new
      Src: /src/glib/gio/gwin32networkmonitor.c:252,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gwin32networkmonitor.c:259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - context
    - route
    - type
    argTypes:
    - PVOID
    - PMIB_IPFORWARD_ROW2
    - MIB_NOTIFICATION_TYPE
    constantsTouched: []
    func_position:
      end: 260
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 260
    functionName: win_network_monitor_route_changed_cb
    functionSourceFile: /src/glib/gio/gwin32networkmonitor.c
    functionUses: []
    functionsReached:
    - g_source_set_priority
    - g_source_set_callback
    - g_idle_source_new
    - g_source_attach
    - g_new0
    linkageType: ''
    returnType: VOID
    signature: 'static VOID WINAPI win_network_monitor_route_changed_cb (PVOID context,
      PMIB_IPFORWARD_ROW2 route, MIB_NOTIFICATION_TYPE type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_NETWORK_MONITOR
      Src: /src/glib/gio/gwin32networkmonitor.c:302,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gwin32networkmonitor.c:313,1
    - Dst: CancelMibChangeNotify2
      Src: /src/glib/gio/gwin32networkmonitor.c:306,1
    - Dst: g_source_destroy
      Src: /src/glib/gio/gwin32networkmonitor.c:312,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gwin32networkmonitor.c:308,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/gwin32networkmonitor.c:316,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gwin32networkmonitor.c:318,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 319
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 319
    functionName: g_win32_network_monitor_finalize
    functionSourceFile: /src/glib/gio/gwin32networkmonitor.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - CancelMibChangeNotify2
    - g_main_context_unref
    - g_source_destroy
    - G_WIN32_NETWORK_MONITOR
    - G_OBJECT_CLASS
    - g_source_unref
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_network_monitor_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - monitor_iface
    argTypes:
    - GNetworkMonitorInterface*
    constantsTouched: []
    func_position:
      end: 332
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 332
    functionName: g_win32_network_monitor_iface_init
    functionSourceFile: /src/glib/gio/gwin32networkmonitor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_network_monitor_iface_init (GNetworkMonitorInterface
      *monitor_iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_type_interface_peek_parent
      Src: /src/glib/gio/gwin32networkmonitor.c:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GInitableIface*
    constantsTouched: []
    func_position:
      end: 340
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 340
    functionName: g_win32_network_monitor_initable_iface_init
    functionSourceFile: /src/glib/gio/gwin32networkmonitor.c
    functionUses: []
    functionsReached:
    - g_type_interface_peek_parent
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_network_monitor_initable_iface_init (GInitableIface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_win32_network_monitor_get_instance_private
      Src: /src/glib/gio/gwin32networkmonitor.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - win
    argTypes:
    - GWin32NetworkMonitor*
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: g_win32_network_monitor_init
    functionSourceFile: /src/glib/gio/gwin32networkmonitor.c
    functionUses: []
    functionsReached:
    - g_win32_network_monitor_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_network_monitor_init (GWin32NetworkMonitor *win) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/glistmodel.c:185,1
    - Dst: G_IS_LIST_MODEL
      Src: /src/glib/gio/glistmodel.c:185,1
    - Dst: G_LIST_MODEL_GET_IFACE
      Src: /src/glib/gio/glistmodel.c:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - list
    argTypes:
    - GListModel*
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: g_list_model_get_item_type
    functionSourceFile: /src/glib/gio/glistmodel.c
    functionUses: []
    functionsReached:
    - G_LIST_MODEL_GET_IFACE
    - g_return_val_if_fail
    - G_IS_LIST_MODEL
    linkageType: ''
    returnType: GType
    signature: 'GType g_list_model_get_item_type (GListModel *list) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/glistmodel.c:268,1
    - Dst: g_list_model_get_item
      Src: /src/glib/gio/glistmodel.c:270,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/glistmodel.c:272,1
    - Dst: G_IS_LIST_MODEL
      Src: /src/glib/gio/glistmodel.c:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 273
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 273
    functionName: g_list_model_get_object
    functionSourceFile: /src/glib/gio/glistmodel.c
    functionUses: []
    functionsReached:
    - g_list_model_get_item
    - g_return_val_if_fail
    - G_IS_LIST_MODEL
    - G_OBJECT
    linkageType: ''
    returnType: GObject*
    signature: 'GObject *g_list_model_get_object (GListModel *list, guint position) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/glistmodel.c:311,1
    - Dst: G_IS_LIST_MODEL
      Src: /src/glib/gio/glistmodel.c:311,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/glistmodel.c:313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - list
    - position
    - removed
    - added
    argTypes:
    - GListModel*
    - guint
    - guint
    - guint
    constantsTouched: []
    func_position:
      end: 314
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 314
    functionName: g_list_model_items_changed
    functionSourceFile: /src/glib/gio/glistmodel.c
    functionUses: []
    functionsReached:
    - g_signal_emit
    - G_IS_LIST_MODEL
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_list_model_items_changed (GListModel *list, guint position,
      guint removed, guint added) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_new
      Src: /src/glib/gio/glistmodel.c:152,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/glistmodel.c:160,1
    - Dst: I_
      Src: /src/glib/gio/glistmodel.c:152,1
    - Dst: G_TYPE_FROM_INTERFACE
      Src: /src/glib/gio/glistmodel.c:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GListModelInterface*
    constantsTouched: []
    func_position:
      end: 163
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 163
    functionName: g_list_model_default_init
    functionSourceFile: /src/glib/gio/glistmodel.c
    functionUses: []
    functionsReached:
    - I_
    - g_signal_set_va_marshaller
    - G_TYPE_FROM_INTERFACE
    - g_signal_new
    linkageType: ''
    returnType: void
    signature: 'static void g_list_model_default_init (GListModelInterface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/glistmodel.c:235,1
    - Dst: G_IS_LIST_MODEL
      Src: /src/glib/gio/glistmodel.c:235,1
    - Dst: G_LIST_MODEL_GET_IFACE
      Src: /src/glib/gio/glistmodel.c:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - list
    - position
    argTypes:
    - GListModel*
    - guint
    constantsTouched: []
    func_position:
      end: 238
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 238
    functionName: g_list_model_get_item
    functionSourceFile: /src/glib/gio/glistmodel.c
    functionUses: []
    functionsReached:
    - G_LIST_MODEL_GET_IFACE
    - g_return_val_if_fail
    - G_IS_LIST_MODEL
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_list_model_get_item (GListModel *list, guint position) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/glistmodel.c:207,1
    - Dst: G_IS_LIST_MODEL
      Src: /src/glib/gio/glistmodel.c:207,1
    - Dst: G_LIST_MODEL_GET_IFACE
      Src: /src/glib/gio/glistmodel.c:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - list
    argTypes:
    - GListModel*
    constantsTouched: []
    func_position:
      end: 210
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 210
    functionName: g_list_model_get_n_items
    functionSourceFile: /src/glib/gio/glistmodel.c
    functionUses: []
    functionsReached:
    - G_LIST_MODEL_GET_IFACE
    - g_return_val_if_fail
    - G_IS_LIST_MODEL
    linkageType: ''
    returnType: guint
    signature: 'guint g_list_model_get_n_items (GListModel *list) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/gio-tool-move.c:58,1
    - Dst: MAX
      Src: /src/glib/gio/gio-tool-move.c:66,1
    - Dst: g_format_size
      Src: /src/glib/gio/gio-tool-move.c:65,1
    - Dst: g_format_size
      Src: /src/glib/gio/gio-tool-move.c:63,1
    - Dst: g_format_size
      Src: /src/glib/gio/gio-tool-move.c:64,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-move.c:67,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-move.c:68,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-move.c:68,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-move.c:73,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-move.c:74,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-move.c:75,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - current_num_bytes
    - total_num_bytes
    - user_data
    argTypes:
    - goffset
    - goffset
    - gpointer
    constantsTouched: []
    func_position:
      end: 76
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 76
    functionName: show_progress
    functionSourceFile: /src/glib/gio/gio-tool-move.c
    functionUses: []
    functionsReached:
    - MAX
    - g_format_size
    - g_print
    - _
    - g_get_monotonic_time
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void show_progress (goffset current_num_bytes, goffset total_num_bytes,
      gpointer user_data) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/glib/gio/gio-tool-move.c:95,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-move.c:97,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-move.c:118,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-move.c:134,1
    - Dst: file_is_dir
      Src: /src/glib/gio/gio-tool-move.c:139,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-move.c:147,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-move.c:152,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/gio-tool-move.c:156,1
    - Dst: g_file_get_basename
      Src: /src/glib/gio/gio-tool-move.c:160,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-move.c:162,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gio-tool-move.c:179,1
    - Dst: g_file_get_uri
      Src: /src/glib/gio/gio-tool-move.c:186,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-move.c:202,1
    - Dst: print_file_error
      Src: /src/glib/gio/gio-tool-move.c:201,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-move.c:208,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/gio-tool-move.c:176,1
    - Dst: g_set_prgname
      Src: /src/glib/gio/gio-tool-move.c:92,1
    - Dst: g_option_context_new
      Src: /src/glib/gio/gio-tool-move.c:96,1
    - Dst: g_option_context_set_description
      Src: /src/glib/gio/gio-tool-move.c:101,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/gio/gio-tool-move.c:105,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-move.c:110,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-move.c:117,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-move.c:125,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-move.c:133,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-move.c:146,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/gio-tool-move.c:161,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/gio-tool-move.c:193,1
    - Dst: g_file_move
      Src: /src/glib/gio/gio-tool-move.c:194,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-move.c:188,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-move.c:214,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gio-tool-move.c:95,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-move.c:95,1
    - Dst: g_option_context_set_help_enabled
      Src: /src/glib/gio/gio-tool-move.c:98,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-move.c:100,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-move.c:102,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-move.c:109,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-move.c:116,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-move.c:124,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gio-tool-move.c:165,1
    - Dst: g_file_move
      Src: /src/glib/gio/gio-tool-move.c:177,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-move.c:187,1
    - Dst: fgets
      Src: /src/glib/gio/gio-tool-move.c:189,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-move.c:183,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-move.c:211,1
    - Dst: g_option_context_set_summary
      Src: /src/glib/gio/gio-tool-move.c:99,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/gio-tool-move.c:114,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/gio-tool-move.c:129,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-move.c:135,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gio-tool-move.c:144,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-move.c:144,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-move.c:145,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-move.c:148,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-move.c:187,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-move.c:210,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 110
    argCount: 3
    argNames:
    - argc
    - argv
    - do_help
    argTypes:
    - int
    - char*
    - gboolean
    constantsTouched: []
    func_position:
      end: 217
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 217
    functionName: handle_move
    functionSourceFile: /src/glib/gio/gio-tool-move.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_option_context_free
    - print_file_error
    - show_help
    - g_file_new_for_commandline_arg
    - fgets
    - g_object_unref
    - file_is_dir
    - g_error_free
    - g_print
    - g_option_context_parse
    - g_get_monotonic_time
    - g_option_context_new
    - g_set_prgname
    - g_file_get_child
    - g_option_context_set_help_enabled
    - _
    - g_option_context_add_main_entries
    - g_option_context_set_description
    - g_file_get_uri
    - g_option_context_set_summary
    - g_file_get_basename
    - g_error_matches
    - g_object_ref
    - g_file_move
    - g_free
    linkageType: ''
    returnType: int
    signature: 'int handle_move (int argc, char *argv[], gboolean do_help) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_ref
      Src: /src/glib/gio/gmemorymonitor.c:120,1
    - Dst: _g_io_module_get_default
      Src: /src/glib/gio/gmemorymonitor.c:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: g_memory_monitor_dup_default
    functionSourceFile: /src/glib/gio/gmemorymonitor.c
    functionUses: []
    functionsReached:
    - _g_io_module_get_default
    - g_object_ref
    linkageType: ''
    returnType: GMemoryMonitor*
    signature: 'GMemoryMonitor *g_memory_monitor_dup_default (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_new
      Src: /src/glib/gio/gmemorymonitor.c:141,1
    - Dst: I_
      Src: /src/glib/gio/gmemorymonitor.c:141,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gmemorymonitor.c:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GMemoryMonitorInterface*
    constantsTouched: []
    func_position:
      end: 149
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 149
    functionName: g_memory_monitor_default_init
    functionSourceFile: /src/glib/gio/gmemorymonitor.c
    functionUses: []
    functionsReached:
    - I_
    - G_STRUCT_OFFSET
    - g_signal_new
    linkageType: ''
    returnType: void
    signature: 'static void g_memory_monitor_default_init (GMemoryMonitorInterface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_IS_DEBUG_CONTROLLER
      Src: /src/glib/gio/gdebugcontroller.h:48,1
    - Dst: G_DEBUG_CONTROLLER_GET_INTERFACE
      Src: /src/glib/gio/gdebugcontroller.h:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames:
    - GDebugController
    - g_debug_controller
    - g
    - debug_controller
    - GObject
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 62
    functionName: G_DECLARE_INTERFACE
    functionSourceFile: /src/glib/gio/gdebugcontroller.h
    functionUses: []
    functionsReached:
    - G_DEBUG_CONTROLLER_GET_INTERFACE
    - G_IS_DEBUG_CONTROLLER
    linkageType: ''
    returnType: GIO_AVAILABLE_IN_2_72
    signature: 'GIO_AVAILABLE_IN_2_72 G_DECLARE_INTERFACE(GDebugController, g_debug_controller,
      g, debug_controller, GObject) #define G_DEBUG_CONTROLLER(o) (G_TYPE_CHECK_INSTANCE_CAST
      ((o), G_TYPE_DEBUG_CONTROLLER, GDebugController))#define G_IS_DEBUG_CONTROLLER(o)
      (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_DEBUG_CONTROLLER))#define G_DEBUG_CONTROLLER_GET_INTERFACE(o)
      (G_TYPE_INSTANCE_GET_INTERFACE ((o), G_TYPE_DEBUG_CONTROLLER, GDebugControllerInterface))/**
      * GDebugControllerInterface: * @g_iface: The parent interface. * * The virtual
      function table for #GDebugController. * * Since: 2.72 */struct _GDebugControllerInterface '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GPollableInputStreamInterface*
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: g_pollable_input_stream_default_init
    functionSourceFile: /src/glib/gio/gpollableinputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_pollable_input_stream_default_init (GPollableInputStreamInterface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gpollableinputstream.c:145,1
    - Dst: G_POLLABLE_INPUT_STREAM_GET_INTERFACE
      Src: /src/glib/gio/gpollableinputstream.c:147,1
    - Dst: G_IS_POLLABLE_INPUT_STREAM
      Src: /src/glib/gio/gpollableinputstream.c:145,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 149
    functionName: g_pollable_input_stream_create_source
    functionSourceFile: /src/glib/gio/gpollableinputstream.c
    functionUses: []
    functionsReached:
    - G_IS_POLLABLE_INPUT_STREAM
    - G_POLLABLE_INPUT_STREAM_GET_INTERFACE
    - g_return_val_if_fail
    linkageType: ''
    returnType: GSource*
    signature: "GSource *g_pollable_input_stream_create_source (GPollableInputStream\
      \ *stream,\t\t\t\t GCancellable *cancellable) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gpollableinputstream.c:115,1
    - Dst: G_POLLABLE_INPUT_STREAM_GET_INTERFACE
      Src: /src/glib/gio/gpollableinputstream.c:117,1
    - Dst: G_IS_POLLABLE_INPUT_STREAM
      Src: /src/glib/gio/gpollableinputstream.c:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GPollableInputStream*
    constantsTouched: []
    func_position:
      end: 118
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: g_pollable_input_stream_is_readable
    functionSourceFile: /src/glib/gio/gpollableinputstream.c
    functionUses: []
    functionsReached:
    - G_IS_POLLABLE_INPUT_STREAM
    - G_POLLABLE_INPUT_STREAM_GET_INTERFACE
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_pollable_input_stream_is_readable (GPollableInputStream
      *stream) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gpollableinputstream.c:204,1
    - Dst: G_IS_POLLABLE_INPUT_STREAM
      Src: /src/glib/gio/gpollableinputstream.c:204,1
    - Dst: g_set_error
      Src: /src/glib/gio/gpollableinputstream.c:215,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gpollableinputstream.c:205,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gpollableinputstream.c:207,1
    - Dst: _
      Src: /src/glib/gio/gpollableinputstream.c:216,1
    - Dst: g_cancellable_push_current
      Src: /src/glib/gio/gpollableinputstream.c:221,1
    - Dst: G_POLLABLE_INPUT_STREAM_GET_INTERFACE
      Src: /src/glib/gio/gpollableinputstream.c:223,1
    - Dst: g_cancellable_pop_current
      Src: /src/glib/gio/gpollableinputstream.c:227,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 5
    argNames:
    - stream
    - buffer
    - count
    - cancellable
    - error
    argTypes:
    - GPollableInputStream*
    - void*
    - gsize
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 230
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 230
    functionName: g_pollable_input_stream_read_nonblocking
    functionSourceFile: /src/glib/gio/gpollableinputstream.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_cancellable_pop_current
    - g_return_val_if_fail
    - G_IS_POLLABLE_INPUT_STREAM
    - G_POLLABLE_INPUT_STREAM_GET_INTERFACE
    - g_cancellable_push_current
    - _
    - g_cancellable_set_error_if_cancelled
    linkageType: ''
    returnType: gssize
    signature: "gssize g_pollable_input_stream_read_nonblocking (GPollableInputStream\
      \ *stream,\t\t\t\t\t void *buffer,\t\t\t\t\t gsize count,\t\t\t\t\t GCancellable\
      \ *cancellable,\t\t\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GPollableInputStream*
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: g_pollable_input_stream_default_can_poll
    functionSourceFile: /src/glib/gio/gpollableinputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_pollable_input_stream_default_can_poll (GPollableInputStream
      *stream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_pollable_input_stream_is_readable
      Src: /src/glib/gio/gpollableinputstream.c:157,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gpollableinputstream.c:159,1
    - Dst: G_INPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/gpollableinputstream.c:164,1
    - Dst: g_strerror
      Src: /src/glib/gio/gpollableinputstream.c:160,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gpollableinputstream.c:165,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - stream
    - buffer
    - count
    - error
    argTypes:
    - GPollableInputStream*
    - void*
    - gsize
    - GError**
    constantsTouched: []
    func_position:
      end: 166
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 166
    functionName: g_pollable_input_stream_default_read_nonblocking
    functionSourceFile: /src/glib/gio/gpollableinputstream.c
    functionUses: []
    functionsReached:
    - G_INPUT_STREAM_GET_CLASS
    - g_strerror
    - g_set_error_literal
    - g_pollable_input_stream_is_readable
    - G_INPUT_STREAM
    linkageType: ''
    returnType: gssize
    signature: "static gssize g_pollable_input_stream_default_read_nonblocking (GPollableInputStream\
      \ *stream,\t\t\t\t\t\t void *buffer,\t\t\t\t\t\t gsize count,\t\t\t\t\t\t GError\
      \ **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gpollableinputstream.c:84,1
    - Dst: G_POLLABLE_INPUT_STREAM_GET_INTERFACE
      Src: /src/glib/gio/gpollableinputstream.c:86,1
    - Dst: G_IS_POLLABLE_INPUT_STREAM
      Src: /src/glib/gio/gpollableinputstream.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GPollableInputStream*
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: g_pollable_input_stream_can_poll
    functionSourceFile: /src/glib/gio/gpollableinputstream.c
    functionUses: []
    functionsReached:
    - G_IS_POLLABLE_INPUT_STREAM
    - G_POLLABLE_INPUT_STREAM_GET_INTERFACE
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_pollable_input_stream_can_poll (GPollableInputStream *stream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_private_get
      Src: /src/glib/gio/gcancellable.c:244,1
    - Dst: G_CANCELLABLE
      Src: /src/glib/gio/gcancellable.c:248,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 249
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 249
    functionName: g_cancellable_get_current
    functionSourceFile: /src/glib/gio/gcancellable.c
    functionUses: []
    functionsReached:
    - G_CANCELLABLE
    - g_private_get
    linkageType: ''
    returnType: GCancellable*
    signature: 'GCancellable *g_cancellable_get_current (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcancellable.c:566,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gcancellable.c:570,1
    - Dst: _callback
      Src: /src/glib/gio/gcancellable.c:578,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gcancellable.c:566,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gcancellable.c:568,1
    - Dst: data_destroy_func
      Src: /src/glib/gio/gcancellable.c:581,1
    - Dst: g_signal_connect_data
      Src: /src/glib/gio/gcancellable.c:585,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gcancellable.c:591,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 4
    argNames:
    - cancellable
    - callback
    - data
    - data_destroy_func
    argTypes:
    - GCancellable*
    - GCallback
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 594
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 594
    functionName: g_cancellable_connect
    functionSourceFile: /src/glib/gio/gcancellable.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_signal_connect_data
    - g_atomic_int_get
    - g_mutex_lock
    - g_mutex_unlock
    - G_IS_CANCELLABLE
    - _callback
    - data_destroy_func
    linkageType: ''
    returnType: gulong
    signature: "gulong g_cancellable_connect (GCancellable *cancellable,\t\t GCallback\
      \ callback,\t\t gpointer data,\t\t GDestroyNotify data_destroy_func) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_source_set_ready_time
      Src: /src/glib/gio/gcancellable.c:714,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - source
    - callback
    - user_data
    argTypes:
    - GSource*
    - GSourceFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 716
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 716
    functionName: cancellable_source_dispatch
    functionSourceFile: /src/glib/gio/gcancellable.c
    functionUses: []
    functionsReached:
    - g_source_set_ready_time
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean cancellable_source_dispatch (GSource *source,\t\t\t\
      \ GSourceFunc callback,\t\t\t gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gio/gcancellable.c:770,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gcancellable.c:773,1
    - Dst: g_value_init
      Src: /src/glib/gio/gcancellable.c:772,1
    - Dst: g_closure_invoke
      Src: /src/glib/gio/gcancellable.c:775,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gcancellable.c:777,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gcancellable.c:778,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gcancellable.c:779,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - cancellable
    - data
    argTypes:
    - GCancellable*
    - gpointer
    constantsTouched: []
    func_position:
      end: 782
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 782
    functionName: cancellable_source_closure_callback
    functionSourceFile: /src/glib/gio/gcancellable.c
    functionUses: []
    functionsReached:
    - g_value_get_boolean
    - g_closure_invoke
    - g_value_init
    - g_value_set_object
    - g_value_unset
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean cancellable_source_closure_callback (GCancellable\
      \ *cancellable,\t\t\t\t gpointer data) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_source_new
      Src: /src/glib/gio/gcancellable.c:818,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gcancellable.c:819,1
    - Dst: g_new
      Src: /src/glib/gio/gcancellable.c:826,1
    - Dst: g_source_set_dispose_function
      Src: /src/glib/gio/gcancellable.c:820,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gcancellable.c:825,1
    - Dst: g_atomic_pointer_set
      Src: /src/glib/gio/gcancellable.c:827,1
    - Dst: g_signal_connect_data
      Src: /src/glib/gio/gcancellable.c:833,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gcancellable.c:834,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/gcancellable.c:837,1
    - Dst: g_source_set_ready_time
      Src: /src/glib/gio/gcancellable.c:838,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 842
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 842
    functionName: g_cancellable_source_new
    functionSourceFile: /src/glib/gio/gcancellable.c
    functionUses: []
    functionsReached:
    - g_source_new
    - g_new
    - g_signal_connect_data
    - g_cancellable_is_cancelled
    - g_atomic_pointer_set
    - G_CALLBACK
    - g_source_set_dispose_function
    - g_object_ref
    - g_source_set_ready_time
    - g_source_set_static_name
    linkageType: ''
    returnType: GSource*
    signature: 'GSource *g_cancellable_source_new (GCancellable *cancellable) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_pointer_exchange
      Src: /src/glib/gio/gcancellable.c:724,1
    - Dst: g_atomic_pointer_exchange
      Src: /src/glib/gio/gcancellable.c:729,1
    - Dst: g_source_ref
      Src: /src/glib/gio/gcancellable.c:749,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gcancellable.c:752,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gcancellable.c:750,1
    - Dst: g_clear_signal_handler
      Src: /src/glib/gio/gcancellable.c:755,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gcancellable.c:756,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 758
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 758
    functionName: cancellable_source_dispose
    functionSourceFile: /src/glib/gio/gcancellable.c
    functionUses: []
    functionsReached:
    - g_clear_signal_handler
    - g_source_ref
    - g_object_unref
    - g_atomic_int_get
    - g_source_unref
    - g_atomic_pointer_exchange
    linkageType: ''
    returnType: void
    signature: 'static void cancellable_source_dispose (GSource *source) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_private_get
      Src: /src/glib/gio/gcancellable.c:222,1
    - Dst: g_private_set
      Src: /src/glib/gio/gcancellable.c:228,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gcancellable.c:224,1
    - Dst: g_slist_delete_link
      Src: /src/glib/gio/gcancellable.c:227,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gcancellable.c:225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - cancellable
    argTypes:
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 229
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 229
    functionName: g_cancellable_pop_current
    functionSourceFile: /src/glib/gio/gcancellable.c
    functionUses: []
    functionsReached:
    - g_private_get
    - g_private_set
    - g_slist_delete_link
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_cancellable_pop_current (GCancellable *cancellable) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gcancellable.c:451,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gcancellable.c:451,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gcancellable.c:453,1
    - Dst: g_assert
      Src: /src/glib/gio/gcancellable.c:455,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gcancellable.c:459,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gcancellable.c:463,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - cancellable
    argTypes:
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 464
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 464
    functionName: g_cancellable_release_fd
    functionSourceFile: /src/glib/gio/gcancellable.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_mutex_lock
    - g_assert
    - g_return_if_fail
    - G_IS_CANCELLABLE
    - GLIB_PRIVATE_CALL
    linkageType: ''
    returnType: void
    signature: 'void g_cancellable_release_fd (GCancellable *cancellable) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gcancellable.c:492,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gcancellable.c:501,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gcancellable.c:500,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gcancellable.c:505,1
    - Dst: g_atomic_int_compare_and_exchange
      Src: /src/glib/gio/gcancellable.c:503,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gcancellable.c:506,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/gcancellable.c:510,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gcancellable.c:513,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gcancellable.c:515,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/gio/gcancellable.c:517,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gcancellable.c:522,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gcancellable.c:520,1
    - Dst: g_cond_broadcast
      Src: /src/glib/gio/gcancellable.c:518,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - cancellable
    argTypes:
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 523
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 523
    functionName: g_cancellable_cancel
    functionSourceFile: /src/glib/gio/gcancellable.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_mutex_unlock
    - g_mutex_lock
    - g_atomic_int_get
    - g_atomic_int_compare_and_exchange
    - g_atomic_int_dec_and_test
    - g_cond_broadcast
    - g_signal_emit
    - GLIB_PRIVATE_CALL
    - g_object_ref
    - g_atomic_int_inc
    linkageType: ''
    returnType: void
    signature: 'void g_cancellable_cancel (GCancellable *cancellable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_cancellable_make_pollfd
      Src: /src/glib/gio/gcancellable.c:363,1
    - Dst: g_assert
      Src: /src/glib/gio/gcancellable.c:364,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - cancellable
    argTypes:
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 368
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 368
    functionName: g_cancellable_get_fd
    functionSourceFile: /src/glib/gio/gcancellable.c
    functionUses: []
    functionsReached:
    - g_cancellable_make_pollfd
    - g_assert
    linkageType: ''
    returnType: int
    signature: 'int g_cancellable_get_fd (GCancellable *cancellable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_pointer_exchange
      Src: /src/glib/gio/gcancellable.c:666,1
    - Dst: g_source_set_ready_time
      Src: /src/glib/gio/gcancellable.c:677,1
    - Dst: g_assert
      Src: /src/glib/gio/gcancellable.c:681,1
    - Dst: g_source_ref
      Src: /src/glib/gio/gcancellable.c:676,1
    - Dst: g_atomic_int_compare_and_exchange
      Src: /src/glib/gio/gcancellable.c:679,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gcancellable.c:683,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - cancellable
    - user_data
    argTypes:
    - GCancellable*
    - gpointer
    constantsTouched: []
    func_position:
      end: 684
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 684
    functionName: cancellable_source_cancelled
    functionSourceFile: /src/glib/gio/gcancellable.c
    functionUses: []
    functionsReached:
    - g_source_ref
    - g_assert
    - g_atomic_int_compare_and_exchange
    - g_source_unref
    - g_source_set_ready_time
    - g_atomic_pointer_exchange
    linkageType: ''
    returnType: void
    signature: "static void cancellable_source_cancelled (GCancellable *cancellable,\t\
      \t\t gpointer user_data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_CANCELLABLE
      Src: /src/glib/gio/gcancellable.c:69,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gcancellable.c:76,1
    - Dst: g_mutex_clear
      Src: /src/glib/gio/gcancellable.c:78,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gcancellable.c:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 81
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 81
    functionName: g_cancellable_finalize
    functionSourceFile: /src/glib/gio/gcancellable.c
    functionUses: []
    functionsReached:
    - G_CANCELLABLE
    - G_OBJECT_CLASS
    - GLIB_PRIVATE_CALL
    - g_mutex_clear
    linkageType: ''
    returnType: void
    signature: 'static void g_cancellable_finalize (GObject *object) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_pointer_get
      Src: /src/glib/gio/gcancellable.c:696,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/gcancellable.c:699,1
    - Dst: g_atomic_pointer_set
      Src: /src/glib/gio/gcancellable.c:700,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gcancellable.c:697,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - source
    - timeout
    argTypes:
    - GSource*
    - gint*
    constantsTouched: []
    func_position:
      end: 704
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 704
    functionName: cancellable_source_prepare
    functionSourceFile: /src/glib/gio/gcancellable.c
    functionUses: []
    functionsReached:
    - g_atomic_int_set
    - g_atomic_pointer_set
    - g_atomic_pointer_get
    - g_atomic_int_get
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean cancellable_source_prepare (GSource *source, gint
      *timeout) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/gcancellable.c:316,1
    - Dst: _
      Src: /src/glib/gio/gcancellable.c:321,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gcancellable.c:318,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - cancellable
    - error
    argTypes:
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 326
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 326
    functionName: g_cancellable_set_error_if_cancelled
    functionSourceFile: /src/glib/gio/gcancellable.c
    functionUses: []
    functionsReached:
    - g_cancellable_is_cancelled
    - g_set_error_literal
    - _
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_cancellable_set_error_if_cancelled (GCancellable *cancellable,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gcancellable.c:86,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gcancellable.c:150,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gcancellable.c:148,1
    - Dst: I_
      Src: /src/glib/gio/gcancellable.c:147,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gcancellable.c:147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GCancellableClass*
    constantsTouched: []
    func_position:
      end: 155
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 155
    functionName: g_cancellable_class_init
    functionSourceFile: /src/glib/gio/gcancellable.c
    functionUses: []
    functionsReached:
    - I_
    - G_STRUCT_OFFSET
    - G_TYPE_FROM_CLASS
    - G_OBJECT_CLASS
    - g_signal_new
    linkageType: ''
    returnType: void
    signature: 'static void g_cancellable_class_init (GCancellableClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gcancellable.c:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: g_cancellable_new
    functionSourceFile: /src/glib/gio/gcancellable.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: GCancellable*
    signature: 'GCancellable *g_cancellable_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_cancellable_get_instance_private
      Src: /src/glib/gio/gcancellable.c:160,1
    - Dst: g_mutex_init
      Src: /src/glib/gio/gcancellable.c:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - cancellable
    argTypes:
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 163
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 163
    functionName: g_cancellable_init
    functionSourceFile: /src/glib/gio/gcancellable.c
    functionUses: []
    functionsReached:
    - g_mutex_init
    - g_cancellable_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_cancellable_init (GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gcancellable.c:299,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - cancellable
    argTypes:
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 300
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 300
    functionName: g_cancellable_is_cancelled
    functionSourceFile: /src/glib/gio/gcancellable.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_cancellable_is_cancelled (GCancellable *cancellable) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcancellable.c:404,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcancellable.c:407,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gcancellable.c:411,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gcancellable.c:407,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gcancellable.c:415,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gcancellable.c:417,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gcancellable.c:418,1
    - Dst: g_assert
      Src: /src/glib/gio/gcancellable.c:421,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gcancellable.c:422,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gcancellable.c:424,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - cancellable
    - pollfd
    argTypes:
    - GCancellable*
    - GPollFD*
    constantsTouched: []
    func_position:
      end: 427
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 427
    functionName: g_cancellable_make_pollfd
    functionSourceFile: /src/glib/gio/gcancellable.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_atomic_int_get
    - g_mutex_lock
    - g_assert
    - g_mutex_unlock
    - G_IS_CANCELLABLE
    - GLIB_PRIVATE_CALL
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_cancellable_make_pollfd (GCancellable *cancellable, GPollFD
      *pollfd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gcancellable.c:629,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gcancellable.c:634,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/gcancellable.c:632,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/gcancellable.c:636,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gcancellable.c:631,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - cancellable
    - handler_id
    argTypes:
    - GCancellable*
    - gulong
    constantsTouched: []
    func_position:
      end: 637
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 637
    functionName: g_cancellable_disconnect
    functionSourceFile: /src/glib/gio/gcancellable.c
    functionUses: []
    functionsReached:
    - g_signal_handler_disconnect
    - g_mutex_unlock
    - g_atomic_int_get
    - g_mutex_lock
    - g_cond_wait
    linkageType: ''
    returnType: void
    signature: "void g_cancellable_disconnect (GCancellable *cancellable,\t\t\t gulong\
      \ handler_id) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gcancellable.c:203,1
    - Dst: g_private_set
      Src: /src/glib/gio/gcancellable.c:207,1
    - Dst: g_private_get
      Src: /src/glib/gio/gcancellable.c:205,1
    - Dst: g_slist_prepend
      Src: /src/glib/gio/gcancellable.c:206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - cancellable
    argTypes:
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 208
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 208
    functionName: g_cancellable_push_current
    functionSourceFile: /src/glib/gio/gcancellable.c
    functionUses: []
    functionsReached:
    - g_private_get
    - g_private_set
    - g_slist_prepend
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_cancellable_push_current (GCancellable *cancellable) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gcancellable.c:272,1
    - Dst: g_atomic_int_compare_and_exchange
      Src: /src/glib/gio/gcancellable.c:278,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gcancellable.c:272,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gcancellable.c:276,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gcancellable.c:281,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gcancellable.c:284,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - cancellable
    argTypes:
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 285
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 285
    functionName: g_cancellable_reset
    functionSourceFile: /src/glib/gio/gcancellable.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_mutex_lock
    - g_return_if_fail
    - g_atomic_int_compare_and_exchange
    - G_IS_CANCELLABLE
    - GLIB_PRIVATE_CALL
    linkageType: ''
    returnType: void
    signature: 'void g_cancellable_reset (GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginetaddress.c:583,1
    - Dst: G_IS_INET_ADDRESS
      Src: /src/glib/gio/ginetaddress.c:583,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - address
    argTypes:
    - GInetAddress*
    constantsTouched: []
    func_position:
      end: 586
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 586
    functionName: g_inet_address_get_family
    functionSourceFile: /src/glib/gio/ginetaddress.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_INET_ADDRESS
    linkageType: ''
    returnType: GSocketFamily
    signature: 'GSocketFamily g_inet_address_get_family (GInetAddress *address) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginetaddress.c:630,1
    - Dst: G_IS_INET_ADDRESS
      Src: /src/glib/gio/ginetaddress.c:630,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/ginetaddress.c:643,1
    - Dst: IN6_IS_ADDR_LOOPBACK
      Src: /src/glib/gio/ginetaddress.c:641,1
    - Dst: g_ntohl
      Src: /src/glib/gio/ginetaddress.c:634,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - address
    argTypes:
    - GInetAddress*
    constantsTouched: []
    func_position:
      end: 645
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 645
    functionName: g_inet_address_get_is_loopback
    functionSourceFile: /src/glib/gio/ginetaddress.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_assert_not_reached
    - IN6_IS_ADDR_LOOPBACK
    - g_ntohl
    - G_IS_INET_ADDRESS
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_inet_address_get_is_loopback (GInetAddress *address) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/ginetaddress.c:566,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - address
    argTypes:
    - GInetAddress*
    constantsTouched: []
    func_position:
      end: 568
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 568
    functionName: g_inet_address_get_native_size
    functionSourceFile: /src/glib/gio/ginetaddress.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    linkageType: ''
    returnType: gsize
    signature: 'gsize g_inet_address_get_native_size (GInetAddress *address) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginetaddress.c:601,1
    - Dst: G_IS_INET_ADDRESS
      Src: /src/glib/gio/ginetaddress.c:601,1
    - Dst: g_ntohl
      Src: /src/glib/gio/ginetaddress.c:605,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/ginetaddress.c:613,1
    - Dst: IN6_IS_ADDR_UNSPECIFIED
      Src: /src/glib/gio/ginetaddress.c:611,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - address
    argTypes:
    - GInetAddress*
    constantsTouched: []
    func_position:
      end: 615
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 615
    functionName: g_inet_address_get_is_any
    functionSourceFile: /src/glib/gio/ginetaddress.c
    functionUses: []
    functionsReached:
    - IN6_IS_ADDR_UNSPECIFIED
    - g_return_val_if_fail
    - g_assert_not_reached
    - g_ntohl
    - G_IS_INET_ADDRESS
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_inet_address_get_is_any (GInetAddress *address) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginetaddress.c:476,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/ginetaddress.c:488,1
    - Dst: G_INET_ADDRESS_FAMILY_IS_VALID
      Src: /src/glib/gio/ginetaddress.c:476,1
    - Dst: g_inet_address_new_from_bytes
      Src: /src/glib/gio/ginetaddress.c:482,1
    - Dst: g_inet_address_new_from_bytes
      Src: /src/glib/gio/ginetaddress.c:486,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 490
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 490
    functionName: g_inet_address_new_any
    functionSourceFile: /src/glib/gio/ginetaddress.c
    functionUses: []
    functionsReached:
    - G_INET_ADDRESS_FAMILY_IS_VALID
    - g_inet_address_new_from_bytes
    - g_return_val_if_fail
    - g_assert_not_reached
    linkageType: ''
    returnType: GInetAddress*
    signature: 'GInetAddress *g_inet_address_new_any (GSocketFamily family) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginetaddress.c:756,1
    - Dst: IN6_IS_ADDR_MC_GLOBAL
      Src: /src/glib/gio/ginetaddress.c:762,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/ginetaddress.c:764,1
    - Dst: G_IS_INET_ADDRESS
      Src: /src/glib/gio/ginetaddress.c:756,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - address
    argTypes:
    - GInetAddress*
    constantsTouched: []
    func_position:
      end: 766
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 766
    functionName: g_inet_address_get_is_mc_global
    functionSourceFile: /src/glib/gio/ginetaddress.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - IN6_IS_ADDR_MC_GLOBAL
    - g_assert_not_reached
    - G_IS_INET_ADDRESS
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_inet_address_get_is_mc_global (GInetAddress *address) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginetaddress.c:856,1
    - Dst: G_IS_INET_ADDRESS
      Src: /src/glib/gio/ginetaddress.c:856,1
    - Dst: IN6_IS_ADDR_MC_SITELOCAL
      Src: /src/glib/gio/ginetaddress.c:862,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/ginetaddress.c:864,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - address
    argTypes:
    - GInetAddress*
    constantsTouched: []
    func_position:
      end: 866
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 866
    functionName: g_inet_address_get_is_mc_site_local
    functionSourceFile: /src/glib/gio/ginetaddress.c
    functionUses: []
    functionsReached:
    - IN6_IS_ADDR_MC_SITELOCAL
    - g_return_val_if_fail
    - g_assert_not_reached
    - G_IS_INET_ADDRESS
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_inet_address_get_is_mc_site_local (GInetAddress *address) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginetaddress.c:883,1
    - Dst: g_inet_address_get_family
      Src: /src/glib/gio/ginetaddress.c:886,1
    - Dst: G_IS_INET_ADDRESS
      Src: /src/glib/gio/ginetaddress.c:883,1
    - Dst: G_IS_INET_ADDRESS
      Src: /src/glib/gio/ginetaddress.c:884,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginetaddress.c:884,1
    - Dst: g_inet_address_get_family
      Src: /src/glib/gio/ginetaddress.c:886,1
    - Dst: memcmp
      Src: /src/glib/gio/ginetaddress.c:889,1
    - Dst: g_inet_address_to_bytes
      Src: /src/glib/gio/ginetaddress.c:889,1
    - Dst: g_inet_address_to_bytes
      Src: /src/glib/gio/ginetaddress.c:890,1
    - Dst: g_inet_address_get_native_size
      Src: /src/glib/gio/ginetaddress.c:891,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - address
    - other_address
    argTypes:
    - GInetAddress*
    - GInetAddress*
    constantsTouched: []
    func_position:
      end: 895
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 895
    functionName: g_inet_address_equal
    functionSourceFile: /src/glib/gio/ginetaddress.c
    functionUses: []
    functionsReached:
    - g_inet_address_get_native_size
    - g_return_val_if_fail
    - g_inet_address_to_bytes
    - g_inet_address_get_family
    - G_IS_INET_ADDRESS
    - memcmp
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_inet_address_equal (GInetAddress *address, GInetAddress
      *other_address) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_INET_ADDRESS
      Src: /src/glib/gio/ginetaddress.c:88,1
    - Dst: memcpy
      Src: /src/glib/gio/ginetaddress.c:98,1
    - Dst: g_value_get_enum
      Src: /src/glib/gio/ginetaddress.c:93,1
    - Dst: g_assert
      Src: /src/glib/gio/ginetaddress.c:103,1
    - Dst: g_value_get_pointer
      Src: /src/glib/gio/ginetaddress.c:98,1
    - Dst: memcpy
      Src: /src/glib/gio/ginetaddress.c:104,1
    - Dst: g_value_get_pointer
      Src: /src/glib/gio/ginetaddress.c:104,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/ginetaddress.c:110,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 114
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 114
    functionName: g_inet_address_set_property
    functionSourceFile: /src/glib/gio/ginetaddress.c
    functionUses: []
    functionsReached:
    - memcpy
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_get_pointer
    - g_assert
    - G_INET_ADDRESS
    - g_value_get_enum
    linkageType: ''
    returnType: void
    signature: "static void g_inet_address_set_property (GObject *object,\t\t\t guint\
      \ prop_id,\t\t\t const GValue *value,\t\t\t GParamSpec *pspec) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginetaddress.c:444,1
    - Dst: g_inet_address_new_from_bytes
      Src: /src/glib/gio/ginetaddress.c:454,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/ginetaddress.c:456,1
    - Dst: G_INET_ADDRESS_FAMILY_IS_VALID
      Src: /src/glib/gio/ginetaddress.c:444,1
    - Dst: g_inet_address_new_from_bytes
      Src: /src/glib/gio/ginetaddress.c:450,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 458
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 458
    functionName: g_inet_address_new_loopback
    functionSourceFile: /src/glib/gio/ginetaddress.c
    functionUses: []
    functionsReached:
    - G_INET_ADDRESS_FAMILY_IS_VALID
    - g_inet_address_new_from_bytes
    - g_return_val_if_fail
    - g_assert_not_reached
    linkageType: ''
    returnType: GInetAddress*
    signature: 'GInetAddress *g_inet_address_new_loopback (GSocketFamily family) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginetaddress.c:727,1
    - Dst: IN6_IS_ADDR_MULTICAST
      Src: /src/glib/gio/ginetaddress.c:737,1
    - Dst: G_IS_INET_ADDRESS
      Src: /src/glib/gio/ginetaddress.c:727,1
    - Dst: g_ntohl
      Src: /src/glib/gio/ginetaddress.c:731,1
    - Dst: IN_MULTICAST
      Src: /src/glib/gio/ginetaddress.c:733,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/ginetaddress.c:739,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - address
    argTypes:
    - GInetAddress*
    constantsTouched: []
    func_position:
      end: 741
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 741
    functionName: g_inet_address_get_is_multicast
    functionSourceFile: /src/glib/gio/ginetaddress.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - IN6_IS_ADDR_MULTICAST
    - IN_MULTICAST
    - g_assert_not_reached
    - g_ntohl
    - G_IS_INET_ADDRESS
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_inet_address_get_is_multicast (GInetAddress *address) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginetaddress.c:831,1
    - Dst: G_IS_INET_ADDRESS
      Src: /src/glib/gio/ginetaddress.c:831,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/ginetaddress.c:839,1
    - Dst: IN6_IS_ADDR_MC_ORGLOCAL
      Src: /src/glib/gio/ginetaddress.c:837,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - address
    argTypes:
    - GInetAddress*
    constantsTouched: []
    func_position:
      end: 841
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 841
    functionName: g_inet_address_get_is_mc_org_local
    functionSourceFile: /src/glib/gio/ginetaddress.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - IN6_IS_ADDR_MC_ORGLOCAL
    - g_assert_not_reached
    - G_IS_INET_ADDRESS
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_inet_address_get_is_mc_org_local (GInetAddress *address) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: g_value_set_pointer
      Src: /src/glib/gio/ginetaddress.c:131,1
    - Dst: g_inet_address_get_is_link_local
      Src: /src/glib/gio/ginetaddress.c:143,1
    - Dst: g_inet_address_get_is_multicast
      Src: /src/glib/gio/ginetaddress.c:151,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/ginetaddress.c:155,1
    - Dst: g_inet_address_get_is_mc_org_local
      Src: /src/glib/gio/ginetaddress.c:167,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/ginetaddress.c:171,1
    - Dst: g_value_set_enum
      Src: /src/glib/gio/ginetaddress.c:127,1
    - Dst: g_inet_address_get_is_loopback
      Src: /src/glib/gio/ginetaddress.c:139,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/ginetaddress.c:143,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/ginetaddress.c:151,1
    - Dst: g_inet_address_get_is_mc_node_local
      Src: /src/glib/gio/ginetaddress.c:163,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/ginetaddress.c:167,1
    - Dst: G_INET_ADDRESS
      Src: /src/glib/gio/ginetaddress.c:122,1
    - Dst: g_inet_address_get_is_any
      Src: /src/glib/gio/ginetaddress.c:135,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/ginetaddress.c:139,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/ginetaddress.c:147,1
    - Dst: g_inet_address_get_is_mc_link_local
      Src: /src/glib/gio/ginetaddress.c:159,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/ginetaddress.c:163,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/ginetaddress.c:175,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/ginetaddress.c:135,1
    - Dst: g_inet_address_get_is_site_local
      Src: /src/glib/gio/ginetaddress.c:147,1
    - Dst: g_inet_address_get_is_mc_global
      Src: /src/glib/gio/ginetaddress.c:155,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/ginetaddress.c:159,1
    - Dst: g_inet_address_get_is_mc_site_local
      Src: /src/glib/gio/ginetaddress.c:171,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 26
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 177
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 177
    functionName: g_inet_address_get_property
    functionSourceFile: /src/glib/gio/ginetaddress.c
    functionUses: []
    functionsReached:
    - g_inet_address_get_is_mc_node_local
    - g_value_set_enum
    - g_inet_address_get_is_any
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_inet_address_get_is_mc_org_local
    - g_value_set_boolean
    - g_inet_address_get_is_mc_site_local
    - g_inet_address_get_is_loopback
    - G_INET_ADDRESS
    - g_inet_address_get_is_mc_global
    - g_inet_address_get_is_site_local
    - g_inet_address_get_is_mc_link_local
    - g_inet_address_get_is_link_local
    - g_value_set_pointer
    - g_inet_address_get_is_multicast
    linkageType: ''
    returnType: void
    signature: 'static void g_inet_address_get_property (GObject *object, guint prop_id,
      GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginetaddress.c:542,1
    - Dst: G_IS_INET_ADDRESS
      Src: /src/glib/gio/ginetaddress.c:542,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 545
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 545
    functionName: g_inet_address_to_bytes
    functionSourceFile: /src/glib/gio/ginetaddress.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_INET_ADDRESS
    linkageType: ''
    returnType: guint8*
    signature: 'const guint8 *g_inet_address_to_bytes (GInetAddress *address) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/ginetaddress.c:182,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/ginetaddress.c:336,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/ginetaddress.c:337,1
    - Dst: g_param_spec_pointer
      Src: /src/glib/gio/ginetaddress.c:210,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/ginetaddress.c:209,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/ginetaddress.c:237,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/ginetaddress.c:238,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/ginetaddress.c:265,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/ginetaddress.c:279,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/ginetaddress.c:309,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/ginetaddress.c:266,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/ginetaddress.c:280,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/ginetaddress.c:308,1
    - Dst: g_param_spec_enum
      Src: /src/glib/gio/ginetaddress.c:195,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/ginetaddress.c:194,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/ginetaddress.c:223,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/ginetaddress.c:224,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/ginetaddress.c:251,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/ginetaddress.c:252,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/ginetaddress.c:293,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/ginetaddress.c:294,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/ginetaddress.c:322,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/ginetaddress.c:323,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/ginetaddress.c:350,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/ginetaddress.c:351,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 42
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GInetAddressClass*
    constantsTouched: []
    func_position:
      end: 355
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 355
    functionName: g_inet_address_class_init
    functionSourceFile: /src/glib/gio/ginetaddress.c
    functionUses: []
    functionsReached:
    - g_param_spec_boolean
    - g_param_spec_pointer
    - g_object_class_install_property
    - G_OBJECT_CLASS
    - g_param_spec_enum
    linkageType: ''
    returnType: void
    signature: 'static void g_inet_address_class_init (GInetAddressClass *klass) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginetaddress.c:509,1
    - Dst: inet_ntop
      Src: /src/glib/gio/ginetaddress.c:513,1
    - Dst: inet_ntop
      Src: /src/glib/gio/ginetaddress.c:519,1
    - Dst: g_strdup
      Src: /src/glib/gio/ginetaddress.c:514,1
    - Dst: G_IS_INET_ADDRESS
      Src: /src/glib/gio/ginetaddress.c:509,1
    - Dst: g_strdup
      Src: /src/glib/gio/ginetaddress.c:520,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/ginetaddress.c:522,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 525
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 525
    functionName: g_inet_address_to_string
    functionSourceFile: /src/glib/gio/ginetaddress.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_strdup
    - inet_ntop
    - g_assert_not_reached
    - G_IS_INET_ADDRESS
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_inet_address_to_string (GInetAddress *address) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginetaddress.c:695,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/ginetaddress.c:710,1
    - Dst: IN6_IS_ADDR_SITELOCAL
      Src: /src/glib/gio/ginetaddress.c:708,1
    - Dst: g_ntohl
      Src: /src/glib/gio/ginetaddress.c:699,1
    - Dst: G_IS_INET_ADDRESS
      Src: /src/glib/gio/ginetaddress.c:695,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - address
    argTypes:
    - GInetAddress*
    constantsTouched: []
    func_position:
      end: 712
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 712
    functionName: g_inet_address_get_is_site_local
    functionSourceFile: /src/glib/gio/ginetaddress.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_assert_not_reached
    - g_ntohl
    - IN6_IS_ADDR_SITELOCAL
    - G_IS_INET_ADDRESS
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_inet_address_get_is_site_local (GInetAddress *address) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginetaddress.c:383,1
    - Dst: g_inet_address_new_from_bytes
      Src: /src/glib/gio/ginetaddress.c:392,1
    - Dst: g_networking_init
      Src: /src/glib/gio/ginetaddress.c:389,1
    - Dst: inet_pton
      Src: /src/glib/gio/ginetaddress.c:391,1
    - Dst: g_inet_address_new_from_bytes
      Src: /src/glib/gio/ginetaddress.c:395,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 399
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 399
    functionName: g_inet_address_new_from_string
    functionSourceFile: /src/glib/gio/ginetaddress.c
    functionUses: []
    functionsReached:
    - g_inet_address_new_from_bytes
    - g_return_val_if_fail
    - inet_pton
    - g_networking_init
    linkageType: ''
    returnType: GInetAddress*
    signature: 'GInetAddress *g_inet_address_new_from_string (const gchar *string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginetaddress.c:421,1
    - Dst: G_INET_ADDRESS_FAMILY_IS_VALID
      Src: /src/glib/gio/ginetaddress.c:421,1
    - Dst: g_object_new
      Src: /src/glib/gio/ginetaddress.c:423,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 427
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 427
    functionName: g_inet_address_new_from_bytes
    functionSourceFile: /src/glib/gio/ginetaddress.c
    functionUses: []
    functionsReached:
    - G_INET_ADDRESS_FAMILY_IS_VALID
    - g_return_val_if_fail
    - g_object_new
    linkageType: ''
    returnType: GInetAddress*
    signature: "GInetAddress *g_inet_address_new_from_bytes (const guint8 *bytes,\t\
      \t\t GSocketFamily family) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginetaddress.c:662,1
    - Dst: IN6_IS_ADDR_LINKLOCAL
      Src: /src/glib/gio/ginetaddress.c:673,1
    - Dst: g_ntohl
      Src: /src/glib/gio/ginetaddress.c:666,1
    - Dst: G_IS_INET_ADDRESS
      Src: /src/glib/gio/ginetaddress.c:662,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/ginetaddress.c:675,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - address
    argTypes:
    - GInetAddress*
    constantsTouched: []
    func_position:
      end: 677
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 677
    functionName: g_inet_address_get_is_link_local
    functionSourceFile: /src/glib/gio/ginetaddress.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_assert_not_reached
    - IN6_IS_ADDR_LINKLOCAL
    - g_ntohl
    - G_IS_INET_ADDRESS
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_inet_address_get_is_link_local (GInetAddress *address) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginetaddress.c:806,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/ginetaddress.c:814,1
    - Dst: IN6_IS_ADDR_MC_NODELOCAL
      Src: /src/glib/gio/ginetaddress.c:812,1
    - Dst: G_IS_INET_ADDRESS
      Src: /src/glib/gio/ginetaddress.c:806,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - address
    argTypes:
    - GInetAddress*
    constantsTouched: []
    func_position:
      end: 816
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 816
    functionName: g_inet_address_get_is_mc_node_local
    functionSourceFile: /src/glib/gio/ginetaddress.c
    functionUses: []
    functionsReached:
    - IN6_IS_ADDR_MC_NODELOCAL
    - g_return_val_if_fail
    - g_assert_not_reached
    - G_IS_INET_ADDRESS
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_inet_address_get_is_mc_node_local (GInetAddress *address) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_inet_address_get_instance_private
      Src: /src/glib/gio/ginetaddress.c:360,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - address
    argTypes:
    - GInetAddress*
    constantsTouched: []
    func_position:
      end: 361
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 361
    functionName: g_inet_address_init
    functionSourceFile: /src/glib/gio/ginetaddress.c
    functionUses: []
    functionsReached:
    - g_inet_address_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_inet_address_init (GInetAddress *address) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/ginetaddress.c:781,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/ginetaddress.c:789,1
    - Dst: G_IS_INET_ADDRESS
      Src: /src/glib/gio/ginetaddress.c:781,1
    - Dst: IN6_IS_ADDR_MC_LINKLOCAL
      Src: /src/glib/gio/ginetaddress.c:787,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - address
    argTypes:
    - GInetAddress*
    constantsTouched: []
    func_position:
      end: 791
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 791
    functionName: g_inet_address_get_is_mc_link_local
    functionSourceFile: /src/glib/gio/ginetaddress.c
    functionUses: []
    functionsReached:
    - IN6_IS_ADDR_MC_LINKLOCAL
    - g_return_val_if_fail
    - g_assert_not_reached
    - G_IS_INET_ADDRESS
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_inet_address_get_is_mc_link_local (GInetAddress *address) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_APPINFO_FILE_EXTENSION
      Src: /src/glib/gio/gwin32appinfo.c:414,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:418,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:417,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:419,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:416,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gwin32appinfo.c:420,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 421
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 421
    functionName: g_win32_appinfo_file_extension_dispose
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_clear_object
    - G_WIN32_APPINFO_FILE_EXTENSION
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_appinfo_file_extension_dispose (GObject *object) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_APP_INFO
      Src: /src/glib/gio/gwin32appinfo.c:4303,1
    - Dst: _verb_idx
      Src: /src/glib/gio/gwin32appinfo.c:4309,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4312
      start: 4300
    functionDepth: 0
    functionLinenumber: 4300
    functionLinenumberEnd: 4312
    functionName: g_win32_app_info_get_commandline
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - _verb_idx
    - G_WIN32_APP_INFO
    linkageType: ''
    returnType: char*
    signature: 'static const char *g_win32_app_info_get_commandline (GAppInfo *appinfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_platform_data
      Src: /src/glib/gio/gwin32appinfo.c:4808,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gwin32appinfo.c:4811,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gwin32appinfo.c:4810,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - EmitLaunchedData*
    constantsTouched: []
    func_position:
      end: 4814
      start: 4804
    functionDepth: 0
    functionLinenumber: 4804
    functionLinenumberEnd: 4814
    functionName: emit_launched_cb
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_signal_emit_by_name
    - g_variant_unref
    - make_platform_data
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean emit_launched_cb (EmitLaunchedData *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_APPINFO_SHELL_VERB
      Src: /src/glib/gio/gwin32appinfo.c:426,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:429,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:430,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:428,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:431,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:432,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:433,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:434,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:435,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gwin32appinfo.c:436,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 437
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 437
    functionName: g_win32_appinfo_shell_verb_dispose
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_clear_object
    - G_WIN32_APPINFO_SHELL_VERB
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_appinfo_shell_verb_dispose (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_APP_INFO
      Src: /src/glib/gio/gwin32appinfo.c:4317,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4323
      start: 4314
    functionDepth: 0
    functionLinenumber: 4314
    functionLinenumberEnd: 4323
    functionName: g_win32_app_info_get_icon
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - G_WIN32_APP_INFO
    linkageType: ''
    returnType: GIcon*
    signature: 'static GIcon *g_win32_app_info_get_icon (GAppInfo *appinfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: make_platform_data
      Src: /src/glib/gio/gwin32appinfo.c:4827,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gwin32appinfo.c:4828,1
    - Dst: g_new
      Src: /src/glib/gio/gwin32appinfo.c:4836,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gwin32appinfo.c:4829,1
    - Dst: g_spawn_close_pid
      Src: /src/glib/gio/gwin32appinfo.c:4830,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:4837,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:4838,1
    - Dst: g_main_context_invoke_full
      Src: /src/glib/gio/gwin32appinfo.c:4841,1
    - Dst: g_task_get_context
      Src: /src/glib/gio/gwin32appinfo.c:4841,1
    - Dst: g_task_get_priority
      Src: /src/glib/gio/gwin32appinfo.c:4842,1
    - Dst: G_SOURCE_FUNC
      Src: /src/glib/gio/gwin32appinfo.c:4843,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32appinfo.c:4844,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 4
    argNames:
    - context
    - info
    - pid
    - from_task
    argTypes:
    - GAppLaunchContext*
    - GWin32AppInfo*
    - GPid*
    - GTask*
    constantsTouched: []
    func_position:
      end: 4849
      start: 4816
    functionDepth: 0
    functionLinenumber: 4816
    functionLinenumberEnd: 4849
    functionName: emit_launched
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_main_context_invoke_full
    - g_spawn_close_pid
    - g_new
    - make_platform_data
    - g_task_get_priority
    - G_SOURCE_FUNC
    - g_signal_emit_by_name
    - g_variant_unref
    - g_task_get_context
    - g_object_ref
    linkageType: ''
    returnType: void
    signature: 'static void emit_launched (GAppLaunchContext *context, GWin32AppInfo
      *info, GPid *pid, GTask *from_task) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: emit_launch_started
      Src: /src/glib/gio/gwin32appinfo.c:4927,1
    - Dst: IApplicationActivationManager_ActivateApplication
      Src: /src/glib/gio/gwin32appinfo.c:4937,1
    - Dst: g_assert
      Src: /src/glib/gio/gwin32appinfo.c:4935,1
    - Dst: IApplicationActivationManager_ActivateForProtocol
      Src: /src/glib/gio/gwin32appinfo.c:4945,1
    - Dst: g_assert
      Src: /src/glib/gio/gwin32appinfo.c:4943,1
    - Dst: g_assert
      Src: /src/glib/gio/gwin32appinfo.c:4951,1
    - Dst: IApplicationActivationManager_ActivateForFile
      Src: /src/glib/gio/gwin32appinfo.c:4953,1
    - Dst: FAILED
      Src: /src/glib/gio/gwin32appinfo.c:4960,1
    - Dst: g_set_error
      Src: /src/glib/gio/gwin32appinfo.c:4962,1
    - Dst: g_win32_appinfo_application_get_some_name
      Src: /src/glib/gio/gwin32appinfo.c:4964,1
    - Dst: OpenProcess
      Src: /src/glib/gio/gwin32appinfo.c:4996,1
    - Dst: GetLastError
      Src: /src/glib/gio/gwin32appinfo.c:4998,1
    - Dst: emit_launched
      Src: /src/glib/gio/gwin32appinfo.c:5014,1
    - Dst: GetLastError
      Src: /src/glib/gio/gwin32appinfo.c:5009,1
    - Dst: OpenProcess
      Src: /src/glib/gio/gwin32appinfo.c:5003,1
    - Dst: g_warning
      Src: /src/glib/gio/gwin32appinfo.c:5008,1
    - Dst: g_spawn_close_pid
      Src: /src/glib/gio/gwin32appinfo.c:5016,1
    - Dst: emit_launch_failed
      Src: /src/glib/gio/gwin32appinfo.c:4966,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 38
    argCount: 8
    argNames:
    - app_activation_manager
    - activation_type
    - items
    - verb
    - info
    - launch_context
    - from_task
    - error
    argTypes:
    - IApplicationActivationManager*
    - UwpActivationType
    - IShellItemArray*
    - wchar_t*
    - GWin32AppInfo*
    - GAppLaunchContext*
    - GTask*
    - GError**
    constantsTouched: []
    func_position:
      end: 5020
      start: 4913
    functionDepth: 0
    functionLinenumber: 4913
    functionLinenumberEnd: 5020
    functionName: g_win32_app_info_launch_uwp_single
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_set_error
    - OpenProcess
    - g_warning
    - IApplicationActivationManager_ActivateForFile
    - g_spawn_close_pid
    - g_assert
    - g_win32_appinfo_application_get_some_name
    - emit_launch_started
    - IApplicationActivationManager_ActivateApplication
    - emit_launch_failed
    - emit_launched
    - GetLastError
    - IApplicationActivationManager_ActivateForProtocol
    - FAILED
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_win32_app_info_launch_uwp_single (IApplicationActivationManager
      *app_activation_manager, UwpActivationType activation_type, IShellItemArray
      *items, const wchar_t *verb, GWin32AppInfo *info, GAppLaunchContext *launch_context,
      GTask *from_task, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gwin32appinfo.c:2236,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:2244,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32appinfo.c:2242,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:2243,1
    - Dst: g_object_new
      Src: /src/glib/gio/gwin32appinfo.c:2241,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gwin32appinfo.c:2249,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:2250,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2254
      start: 2225
    functionDepth: 0
    functionLinenumber: 2225
    functionLinenumberEnd: 2254
    functionName: get_app_object
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_object_new
    - g_wcsdup
    - g_hash_table_lookup
    - g_hash_table_insert
    linkageType: ''
    returnType: GWin32AppInfoApplication*
    signature: 'static GWin32AppInfoApplication *get_app_object (GHashTable *app_hashmap,
      const gunichar2 *canonical_name, const gchar *canonical_name_u8, const gchar
      *canonical_name_folded, gboolean user_specific, gboolean default_app, gboolean
      is_uwp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 5037
      start: 5030
    functionDepth: 0
    functionLinenumber: 5030
    functionLinenumberEnd: 5037
    functionName: make_single_entry_list
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GList
    signature: 'static inline GList make_single_entry_list (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32appinfo.c:5606,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gwin32appinfo.c:5608,1
    - Dst: G_TASK
      Src: /src/glib/gio/gwin32appinfo.c:5608,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gwin32appinfo.c:5606,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - appinfo
    - result
    - error
    argTypes:
    - GAppInfo*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 5609
      start: 5601
    functionDepth: 0
    functionLinenumber: 5601
    functionLinenumberEnd: 5609
    functionName: g_win32_app_info_launch_uris_finish
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_task_is_valid
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_win32_app_info_launch_uris_finish (GAppInfo *appinfo,
      GAsyncResult *result, GError **error) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: SUCCEEDED
      Src: /src/glib/gio/gwin32appinfo.c:5057,1
    - Dst: FAILED
      Src: /src/glib/gio/gwin32appinfo.c:5086,1
    - Dst: g_set_error
      Src: /src/glib/gio/gwin32appinfo.c:5088,1
    - Dst: make_item_array
      Src: /src/glib/gio/gwin32appinfo.c:5100,1
    - Dst: g_win32_app_info_launch_uwp_single
      Src: /src/glib/gio/gwin32appinfo.c:5105,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gwin32appinfo.c:5121,1
    - Dst: g_win32_app_info_launch_uwp_single
      Src: /src/glib/gio/gwin32appinfo.c:5153,1
    - Dst: CoUninitialize
      Src: /src/glib/gio/gwin32appinfo.c:5174,1
    - Dst: CoInitializeEx
      Src: /src/glib/gio/gwin32appinfo.c:5056,1
    - Dst: CoCreateInstance
      Src: /src/glib/gio/gwin32appinfo.c:5083,1
    - Dst: g_win32_app_info_supports_files
      Src: /src/glib/gio/gwin32appinfo.c:5118,1
    - Dst: IApplicationActivationManager_Release
      Src: /src/glib/gio/gwin32appinfo.c:5168,1
    - Dst: g_win32_app_info_launch_uwp_single
      Src: /src/glib/gio/gwin32appinfo.c:5095,1
    - Dst: g_set_error
      Src: /src/glib/gio/gwin32appinfo.c:5061,1
    - Dst: IShellItemArray_Release
      Src: /src/glib/gio/gwin32appinfo.c:5109,1
    - Dst: G_APP_INFO
      Src: /src/glib/gio/gwin32appinfo.c:5118,1
    - Dst: IShellItemArray_Release
      Src: /src/glib/gio/gwin32appinfo.c:5158,1
    - Dst: make_item_array
      Src: /src/glib/gio/gwin32appinfo.c:5144,1
    - Dst: make_item_array
      Src: /src/glib/gio/gwin32appinfo.c:5139,1
    - Dst: make_single_entry_list
      Src: /src/glib/gio/gwin32appinfo.c:5126,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 61
    argCount: 7
    argNames:
    - info
    - for_files
    - objs
    - /* (element-type file_or_uri) */
    - shverb
    - launch_context
    - from_task
    - error
    argTypes:
    - GWin32AppInfo*
    - gboolean
    - GList*
    - GWin32AppInfoShellVerb*
    - GAppLaunchContext*
    - GTask*
    - GError**
    constantsTouched: []
    func_position:
      end: 5179
      start: 5039
    functionDepth: 0
    functionLinenumber: 5039
    functionLinenumberEnd: 5179
    functionName: g_win32_app_info_launch_uwp_internal
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - SUCCEEDED
    - g_set_error
    - IShellItemArray_Release
    - G_APP_INFO
    - g_win32_app_info_supports_files
    - CoUninitialize
    - g_hash_table_lookup
    - make_item_array
    - CoCreateInstance
    - make_single_entry_list
    - g_win32_app_info_launch_uwp_single
    - CoInitializeEx
    - IApplicationActivationManager_Release
    - FAILED
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_win32_app_info_launch_uwp_internal (GWin32AppInfo
      *info, gboolean for_files, GList *objs, /* (element-type file_or_uri) */ GWin32AppInfoShellVerb
      *shverb, GAppLaunchContext *launch_context, GTask *from_task, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 5618
      start: 5611
    functionDepth: 0
    functionLinenumber: 5611
    functionLinenumberEnd: 5618
    functionName: g_win32_app_info_should_show
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_win32_app_info_should_show (GAppInfo *appinfo) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_win32_registry_key_new_w
      Src: /src/glib/gio/gwin32appinfo.c:2165,1
    - Dst: g_win32_registry_value_iter_get_value_type
      Src: /src/glib/gio/gwin32appinfo.c:2183,1
    - Dst: g_win32_registry_value_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:2177,1
    - Dst: g_win32_registry_value_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:2170,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32appinfo.c:2172,1
    - Dst: g_win32_registry_value_iter_get_data_w
      Src: /src/glib/gio/gwin32appinfo.c:2187,1
    - Dst: build_registry_path
      Src: /src/glib/gio/gwin32appinfo.c:2195,1
    - Dst: g_win32_registry_key_new_w
      Src: /src/glib/gio/gwin32appinfo.c:2199,1
    - Dst: wcsrchr
      Src: /src/glib/gio/gwin32appinfo.c:2204,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gwin32appinfo.c:2209,1
    - Dst: g_win32_registry_value_iter_clear
      Src: /src/glib/gio/gwin32appinfo.c:2215,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32appinfo.c:2216,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32appinfo.c:2212,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32appinfo.c:2209,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 38
    argCount: 2
    argNames:
    - capable_apps
    - user_registry
    argTypes:
    - GPtrArray*
    - gboolean
    constantsTouched: []
    func_position:
      end: 2217
      start: 2147
    functionDepth: 0
    functionLinenumber: 2147
    functionLinenumberEnd: 2217
    functionName: collect_capable_apps_from_registered_apps
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_win32_registry_key_new_w
    - g_ptr_array_add
    - g_object_unref
    - g_wcsdup
    - g_win32_registry_value_iter_clear
    - build_registry_path
    - wcsrchr
    - g_win32_registry_value_iter_get_data_w
    - g_win32_registry_value_iter_init
    - g_win32_registry_value_iter_next
    - g_win32_registry_value_iter_get_value_type
    linkageType: ''
    returnType: void
    signature: 'static void collect_capable_apps_from_registered_apps (GPtrArray *capable_apps,
      gboolean user_registry) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gwin32appinfo.c:4683,1
    - Dst: g_win32_registry_key_new
      Src: /src/glib/gio/gwin32appinfo.c:4691,1
    - Dst: g_win32_registry_key_get_value
      Src: /src/glib/gio/gwin32appinfo.c:4697,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:4692,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32appinfo.c:4706,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:4712,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4715
      start: 4676
    functionDepth: 0
    functionLinenumber: 4676
    functionLinenumberEnd: 4715
    functionName: get_appath_for_exe
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_object_unref
    - g_win32_registry_key_get_value
    - g_win32_registry_key_new
    - g_clear_pointer
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *get_appath_for_exe (const gchar *exe_basename) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gwin32appinfo.c:667,1
    - Dst: g_themed_icon_new
      Src: /src/glib/gio/gwin32appinfo.c:693,1
    - Dst: g_win32_registry_key_get_child_w
      Src: /src/glib/gio/gwin32appinfo.c:671,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:695,1
    - Dst: g_win32_registry_key_get_value
      Src: /src/glib/gio/gwin32appinfo.c:676,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32appinfo.c:698,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 2
    argNames:
    - key
    - icon_out
    argTypes:
    - GWin32RegistryKey*
    - GIcon**
    constantsTouched: []
    func_position:
      end: 699
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 699
    functionName: read_handler_icon
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_assert
    - g_win32_registry_key_get_value
    - g_clear_pointer
    - g_win32_registry_key_get_child_w
    - g_themed_icon_new
    linkageType: ''
    returnType: void
    signature: 'static void read_handler_icon (GWin32RegistryKey *key, GIcon **icon_out) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup_extended
      Src: /src/glib/gio/gwin32appinfo.c:1981,1
    - Dst: g_object_new
      Src: /src/glib/gio/gwin32appinfo.c:1987,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gwin32appinfo.c:1990,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32appinfo.c:1988,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:1989,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:1990,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1993
      start: 1974
    functionDepth: 0
    functionLinenumber: 1974
    functionLinenumberEnd: 1993
    functionName: get_ext_object
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_wcsdup
    - g_object_new
    - g_hash_table_lookup_extended
    - g_hash_table_insert
    linkageType: ''
    returnType: GWin32AppInfoFileExtension*
    signature: 'static GWin32AppInfoFileExtension *get_ext_object (const gunichar2
      *ext, const gchar *ext_u8, const gchar *ext_u8_folded) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:707,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:709,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:708,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 710
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 710
    functionName: reg_verb_free
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void reg_verb_free (gpointer p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gwin32appinfo.c:4100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GWin32AppInfoClass*
    constantsTouched: []
    func_position:
      end: 4103
      start: 4097
    functionDepth: 0
    functionLinenumber: 4097
    functionLinenumberEnd: 4103
    functionName: g_win32_app_info_class_init
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_app_info_class_init (GWin32AppInfoClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gwin32appinfo.c:491,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GWin32AppInfoShellVerbClass*
    constantsTouched: []
    func_position:
      end: 494
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 494
    functionName: g_win32_appinfo_shell_verb_class_init
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_appinfo_shell_verb_class_init (GWin32AppInfoShellVerbClass
      *klass) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/glib/gio/gwin32appinfo.c:861,1
    - Dst: va_arg
      Src: /src/glib/gio/gwin32appinfo.c:865,1
    - Dst: va_end
      Src: /src/glib/gio/gwin32appinfo.c:870,1
    - Dst: wcslen
      Src: /src/glib/gio/gwin32appinfo.c:867,1
    - Dst: va_arg
      Src: /src/glib/gio/gwin32appinfo.c:863,1
    - Dst: va_arg
      Src: /src/glib/gio/gwin32appinfo.c:878,1
    - Dst: va_arg
      Src: /src/glib/gio/gwin32appinfo.c:880,1
    - Dst: wcslen
      Src: /src/glib/gio/gwin32appinfo.c:882,1
    - Dst: wcscat
      Src: /src/glib/gio/gwin32appinfo.c:883,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - output
    - output_size
    - components
    argTypes:
    - gunichar2*
    - gsize
    - va_list
    constantsTouched: []
    func_position:
      end: 888
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 888
    functionName: build_registry_pathv
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - wcscat
    - wcslen
    - va_arg
    - va_end
    - va_copy
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean build_registry_pathv (gunichar2 *output, gsize output_size,
      va_list components) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gwin32appinfo.c:499,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GWin32AppInfoHandlerClass*
    constantsTouched: []
    func_position:
      end: 502
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 502
    functionName: g_win32_appinfo_handler_class_init
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_appinfo_handler_class_init (GWin32AppInfoHandlerClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - local
    argTypes:
    - GWin32AppInfo*
    constantsTouched: []
    func_position:
      end: 4108
      start: 4105
    functionDepth: 0
    functionLinenumber: 4105
    functionLinenumberEnd: 4108
    functionName: g_win32_app_info_init
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_app_info_init (GWin32AppInfo *local) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/gio/gwin32appinfo.c:840,1
    - Dst: build_registry_pathv
      Src: /src/glib/gio/gwin32appinfo.c:842,1
    - Dst: va_end
      Src: /src/glib/gio/gwin32appinfo.c:844,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - output
    - output_size
    - '...'
    argTypes:
    - gunichar2*
    - gsize
    constantsTouched: []
    func_position:
      end: 847
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 847
    functionName: build_registry_path
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - build_registry_pathv
    - va_start
    - va_end
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean build_registry_path (gunichar2 *output, gsize output_size,
      ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DEFINE_TYPE
      Src: /src/glib/gio/gwin32appinfo.c:378,1
    - Dst: G_DEFINE_TYPE
      Src: /src/glib/gio/gwin32appinfo.c:380,1
    - Dst: G_WIN32_APPINFO_URL_SCHEMA
      Src: /src/glib/gio/gwin32appinfo.c:386,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:388,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:389,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:390,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:391,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:392,1
    - Dst: G_DEFINE_TYPE
      Src: /src/glib/gio/gwin32appinfo.c:381,1
    - Dst: g_win32_appinfo_url_schema_dispose
      Src: /src/glib/gio/gwin32appinfo.c:384,1
    - Dst: G_DEFINE_TYPE
      Src: /src/glib/gio/gwin32appinfo.c:379,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gwin32appinfo.c:393,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - GWin32AppInfoURLSchema
    - g_win32_appinfo_url_schema
    - G_TYPE_OBJECT
    argTypes:
    - GWin32AppInfoURLSchema
    - g_win32_appinfo_url_schema
    - G_TYPE_OBJECT
    constantsTouched: []
    func_position:
      end: 394
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 394
    functionName: G_DEFINE_TYPE
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - G_DEFINE_TYPE
    - g_win32_appinfo_url_schema_dispose
    - G_WIN32_APPINFO_URL_SCHEMA
    - G_OBJECT_CLASS
    - g_clear_pointer
    - g_clear_object
    linkageType: ''
    returnType: GType
    signature: 'GType g_win32_appinfo_application_get_type (void) G_GNUC_CONST; G_DEFINE_TYPE
      (GWin32AppInfoURLSchema, g_win32_appinfo_url_schema, G_TYPE_OBJECT)G_DEFINE_TYPE
      (GWin32AppInfoFileExtension, g_win32_appinfo_file_extension, G_TYPE_OBJECT)G_DEFINE_TYPE
      (GWin32AppInfoShellVerb, g_win32_appinfo_shell_verb, G_TYPE_OBJECT)G_DEFINE_TYPE
      (GWin32AppInfoHandler, g_win32_appinfo_handler, G_TYPE_OBJECT)G_DEFINE_TYPE
      (GWin32AppInfoApplication, g_win32_appinfo_application, G_TYPE_OBJECT)static
      voidg_win32_appinfo_url_schema_dispose (GObject *object) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_utf16_len
      Src: /src/glib/gio/gwin32appinfo.c:1794,1
    - Dst: _snwprintf
      Src: /src/glib/gio/gwin32appinfo.c:1804,1
    - Dst: strlen
      Src: /src/glib/gio/gwin32appinfo.c:1795,1
    - Dst: g_new
      Src: /src/glib/gio/gwin32appinfo.c:1796,1
    - Dst: memcpy
      Src: /src/glib/gio/gwin32appinfo.c:1801,1
    - Dst: _verb_lookup
      Src: /src/glib/gio/gwin32appinfo.c:1805,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gwin32appinfo.c:1811,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 5
    argNames:
    - verbs
    - verb
    - verb_displayname
    - new_verb
    - new_displayname
    argTypes:
    - GPtrArray*
    - gunichar2*
    - gchar*
    - gunichar2**
    - gchar**
    constantsTouched: []
    func_position:
      end: 1818
      start: 1785
    functionDepth: 0
    functionLinenumber: 1785
    functionLinenumberEnd: 1818
    functionName: generate_new_verb_name
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_utf16_len
    - g_strdup_printf
    - g_new
    - strlen
    - _verb_lookup
    - _snwprintf
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean generate_new_verb_name (GPtrArray *verbs, const gunichar2
      *verb, const gchar *verb_displayname, gunichar2 **new_verb, gchar **new_displayname) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_win32_registry_key_new_w
      Src: /src/glib/gio/gwin32appinfo.c:2800,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32appinfo.c:2807,1
    - Dst: g_win32_registry_subkey_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:2811,1
    - Dst: g_win32_registry_subkey_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:2805,1
    - Dst: g_win32_registry_subkey_iter_get_name_w
      Src: /src/glib/gio/gwin32appinfo.c:2819,1
    - Dst: g_utf16_to_utf8_and_fold
      Src: /src/glib/gio/gwin32appinfo.c:2823,1
    - Dst: g_win32_registry_key_get_child_w
      Src: /src/glib/gio/gwin32appinfo.c:2830,1
    - Dst: read_incapable_app
      Src: /src/glib/gio/gwin32appinfo.c:2835,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:2840,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2841,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2842,1
    - Dst: g_win32_registry_subkey_iter_clear
      Src: /src/glib/gio/gwin32appinfo.c:2845,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32appinfo.c:2846,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2847
      start: 2793
    functionDepth: 0
    functionLinenumber: 2793
    functionLinenumberEnd: 2847
    functionName: read_exeapps
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_win32_registry_key_new_w
    - g_object_unref
    - g_win32_registry_subkey_iter_init
    - g_win32_registry_subkey_iter_get_name_w
    - g_clear_pointer
    - g_clear_object
    - g_win32_registry_key_get_child_w
    - read_incapable_app
    - g_win32_registry_subkey_iter_next
    - g_utf16_to_utf8_and_fold
    - g_win32_registry_subkey_iter_clear
    linkageType: ''
    returnType: void
    signature: 'static void read_exeapps (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: watch_keys
      Src: /src/glib/gio/gwin32appinfo.c:3862,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/gwin32appinfo.c:3864,1
    - Dst: g_thread_pool_push
      Src: /src/glib/gio/gwin32appinfo.c:3866,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - key
    - user_data
    argTypes:
    - GWin32RegistryKey*
    - gpointer
    constantsTouched: []
    func_position:
      end: 3867
      start: 3858
    functionDepth: 0
    functionLinenumber: 3858
    functionLinenumberEnd: 3867
    functionName: keys_updated
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_atomic_int_inc
    - g_thread_pool_push
    - watch_keys
    linkageType: ''
    returnType: void
    signature: 'static void keys_updated (GWin32RegistryKey *key, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_APPINFO_HANDLER
      Src: /src/glib/gio/gwin32appinfo.c:400,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:404,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:403,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:405,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:402,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:406,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:407,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gwin32appinfo.c:408,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 409
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 409
    functionName: g_win32_appinfo_handler_dispose
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_clear_object
    - G_WIN32_APPINFO_HANDLER
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_appinfo_handler_dispose (GObject *object) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _verb_lookup
      Src: /src/glib/gio/gwin32appinfo.c:1835,1
    - Dst: g_object_new
      Src: /src/glib/gio/gwin32appinfo.c:1869,1
    - Dst: generate_new_verb_name
      Src: /src/glib/gio/gwin32appinfo.c:1861,1
    - Dst: _verb_idx
      Src: /src/glib/gio/gwin32appinfo.c:1854,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32appinfo.c:1856,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32appinfo.c:1871,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1873,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:1875,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1877,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32appinfo.c:1879,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:1880,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:1881,1
    - Dst: g_ptr_array_insert
      Src: /src/glib/gio/gwin32appinfo.c:1896,1
    - Dst: _g_win32_extract_executable
      Src: /src/glib/gio/gwin32appinfo.c:1883,1
    - Dst: _g_win32_fixup_broken_microsoft_rundll_commandline
      Src: /src/glib/gio/gwin32appinfo.c:1891,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gwin32appinfo.c:1894,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 40
    argCount: 8
    argNames:
    - handler_data1
    - handler_data2
    - verb
    - command_line
    - command_line_utf8
    - verb_displayname
    - verb_is_preferred
    - invent_new_verb_name
    argTypes:
    - gpointer
    - gpointer
    - gunichar2*
    - gunichar2*
    - gchar*
    - gchar*
    - gboolean
    - gboolean
    constantsTouched: []
    func_position:
      end: 1897
      start: 1820
    functionDepth: 0
    functionLinenumber: 1820
    functionLinenumberEnd: 1897
    functionName: app_add_verb
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_strdup
    - g_object_new
    - g_wcsdup
    - _verb_idx
    - _wcsicmp
    - _verb_lookup
    - _g_win32_extract_executable
    - g_ptr_array_insert
    - g_object_ref
    - _g_win32_fixup_broken_microsoft_rundll_commandline
    - generate_new_verb_name
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void app_add_verb (gpointer handler_data1, gpointer handler_data2,
      const gunichar2 *verb, const gunichar2 *command_line, const gchar *command_line_utf8,
      const gchar *verb_displayname, gboolean verb_is_preferred, gboolean invent_new_verb_name) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_win32_registry_key_watch
      Src: /src/glib/gio/gwin32appinfo.c:3873,1
    - Dst: g_win32_registry_key_watch
      Src: /src/glib/gio/gwin32appinfo.c:3893,1
    - Dst: g_win32_registry_key_watch
      Src: /src/glib/gio/gwin32appinfo.c:3903,1
    - Dst: g_win32_registry_key_watch
      Src: /src/glib/gio/gwin32appinfo.c:3883,1
    - Dst: g_win32_registry_key_watch
      Src: /src/glib/gio/gwin32appinfo.c:3913,1
    - Dst: g_win32_registry_key_watch
      Src: /src/glib/gio/gwin32appinfo.c:3923,1
    - Dst: g_win32_registry_key_watch
      Src: /src/glib/gio/gwin32appinfo.c:3933,1
    - Dst: g_win32_registry_key_watch
      Src: /src/glib/gio/gwin32appinfo.c:3943,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3951
      start: 3869
    functionDepth: 0
    functionLinenumber: 3869
    functionLinenumberEnd: 3951
    functionName: watch_keys
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_win32_registry_key_watch
    linkageType: ''
    returnType: void
    signature: 'static void watch_keys (void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32appinfo.c:737,1
    - Dst: is_open
      Src: /src/glib/gio/gwin32appinfo.c:744,1
    - Dst: is_open
      Src: /src/glib/gio/gwin32appinfo.c:743,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32appinfo.c:751,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32appinfo.c:739,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 3
    argNames:
    - a
    - b
    - user_data
    argTypes:
    - gconstpointer
    - gconstpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 752
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 752
    functionName: compare_verbs
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - _wcsicmp
    - is_open
    linkageType: ''
    returnType: gint
    signature: 'static gint compare_verbs (gconstpointer a, gconstpointer b, gpointer
      user_data) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: process_verbs_commands
      Src: /src/glib/gio/gwin32appinfo.c:2678,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32appinfo.c:2731,1
    - Dst: g_win32_registry_value_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:2767,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:2785,1
    - Dst: g_win32_registry_key_get_value_w
      Src: /src/glib/gio/gwin32appinfo.c:2719,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:2754,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2729,1
    - Dst: g_win32_registry_key_get_child_w
      Src: /src/glib/gio/gwin32appinfo.c:2757,1
    - Dst: get_file_ext
      Src: /src/glib/gio/gwin32appinfo.c:2777,1
    - Dst: g_win32_registry_value_iter_clear
      Src: /src/glib/gio/gwin32appinfo.c:2780,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:2783,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:2784,1
    - Dst: get_verbs
      Src: /src/glib/gio/gwin32appinfo.c:2667,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2678,1
    - Dst: g_win32_registry_key_get_value_w
      Src: /src/glib/gio/gwin32appinfo.c:2688,1
    - Dst: g_win32_registry_key_get_value_w
      Src: /src/glib/gio/gwin32appinfo.c:2700,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/gwin32appinfo.c:2750,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32appinfo.c:2747,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2748,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/gwin32appinfo.c:2736,1
    - Dst: g_win32_registry_value_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:2762,1
    - Dst: get_app_object
      Src: /src/glib/gio/gwin32appinfo.c:2670,1
    - Dst: g_win32_registry_get_os_dirs_w
      Src: /src/glib/gio/gwin32appinfo.c:2689,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2698,1
    - Dst: g_win32_registry_key_get_child_w
      Src: /src/glib/gio/gwin32appinfo.c:2710,1
    - Dst: g_themed_icon_new
      Src: /src/glib/gio/gwin32appinfo.c:2738,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:2739,1
    - Dst: g_win32_registry_value_iter_get_name_w
      Src: /src/glib/gio/gwin32appinfo.c:2769,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:2787,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 65
    argCount: 4
    argNames:
    - incapable_app
    - app_exe_basename
    - app_exe_basename_u8
    - app_exe_basename_u8_folded
    argTypes:
    - GWin32RegistryKey*
    - gunichar2*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2788
      start: 2648
    functionDepth: 0
    functionLinenumber: 2648
    functionLinenumberEnd: 2788
    functionName: read_incapable_app
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_win32_registry_get_os_dirs_w
    - g_win32_registry_value_iter_clear
    - get_app_object
    - g_utf16_to_utf8
    - g_object_unref
    - g_wcsdup
    - g_clear_pointer
    - process_verbs_commands
    - g_clear_object
    - get_file_ext
    - get_verbs
    - g_win32_registry_key_get_value_w
    - g_win32_registry_key_get_child_w
    - g_object_ref
    - g_win32_registry_value_iter_get_name_w
    - g_win32_registry_value_iter_init
    - g_free
    - g_win32_registry_value_iter_next
    - g_themed_icon_new
    linkageType: ''
    returnType: void
    signature: 'static void read_incapable_app (GWin32RegistryKey *incapable_app,
      const gunichar2 *app_exe_basename, const gchar *app_exe_basename_u8, const gchar
      *app_exe_basename_u8_folded) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gwin32appinfo.c:1688,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:1695,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:1696,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32appinfo.c:1694,1
    - Dst: g_object_new
      Src: /src/glib/gio/gwin32appinfo.c:1693,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gwin32appinfo.c:1697,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:1697,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1700
      start: 1681
    functionDepth: 0
    functionLinenumber: 1681
    functionLinenumberEnd: 1700
    functionName: get_schema_object
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_object_new
    - g_wcsdup
    - g_hash_table_lookup
    - g_hash_table_insert
    linkageType: ''
    returnType: GWin32AppInfoURLSchema*
    signature: 'static GWin32AppInfoURLSchema *get_schema_object (const gunichar2
      *schema, const gchar *schema_u8, const gchar *schema_u8_folded) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_win32_registry_key_new_w
      Src: /src/glib/gio/gwin32appinfo.c:3737,1
    - Dst: g_win32_registry_key_new_w
      Src: /src/glib/gio/gwin32appinfo.c:3742,1
    - Dst: g_win32_registry_key_new_w
      Src: /src/glib/gio/gwin32appinfo.c:3740,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:3750,1
    - Dst: GetTickCount
      Src: /src/glib/gio/gwin32appinfo.c:3755,1
    - Dst: collect_capable_apps_from_registered_apps
      Src: /src/glib/gio/gwin32appinfo.c:3762,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gwin32appinfo.c:3771,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gwin32appinfo.c:3773,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gwin32appinfo.c:3775,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gwin32appinfo.c:3777,1
    - Dst: link_handlers_to_fake_apps
      Src: /src/glib/gio/gwin32appinfo.c:3817,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gwin32appinfo.c:3847,1
    - Dst: link_handlers_to_unregistered_apps
      Src: /src/glib/gio/gwin32appinfo.c:3816,1
    - Dst: GetTickCount
      Src: /src/glib/gio/gwin32appinfo.c:3799,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gwin32appinfo.c:3779,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gwin32appinfo.c:3845,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gwin32appinfo.c:3785,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:3749,1
    - Dst: collect_capable_apps_from_clients
      Src: /src/glib/gio/gwin32appinfo.c:3756,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:3753,1
    - Dst: collect_capable_apps_from_clients
      Src: /src/glib/gio/gwin32appinfo.c:3759,1
    - Dst: collect_capable_apps_from_registered_apps
      Src: /src/glib/gio/gwin32appinfo.c:3764,1
    - Dst: read_exts
      Src: /src/glib/gio/gwin32appinfo.c:3800,1
    - Dst: read_exeapps
      Src: /src/glib/gio/gwin32appinfo.c:3802,1
    - Dst: GetTickCount
      Src: /src/glib/gio/gwin32appinfo.c:3805,1
    - Dst: g_debug
      Src: /src/glib/gio/gwin32appinfo.c:3809,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gwin32appinfo.c:3810,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:3842,1
    - Dst: g_debug
      Src: /src/glib/gio/gwin32appinfo.c:3820,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/gio/gwin32appinfo.c:3744,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/gio/gwin32appinfo.c:3745,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/gio/gwin32appinfo.c:3746,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:3748,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:3752,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gwin32appinfo.c:3769,1
    - Dst: GetTickCount
      Src: /src/glib/gio/gwin32appinfo.c:3766,1
    - Dst: read_capable_app
      Src: /src/glib/gio/gwin32appinfo.c:3789,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gwin32appinfo.c:3793,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gwin32appinfo.c:3781,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gwin32appinfo.c:3846,1
    - Dst: read_urls
      Src: /src/glib/gio/gwin32appinfo.c:3798,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:3751,1
    - Dst: GetTickCount
      Src: /src/glib/gio/gwin32appinfo.c:3782,1
    - Dst: read_capable_app
      Src: /src/glib/gio/gwin32appinfo.c:3785,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gwin32appinfo.c:3789,1
    - Dst: read_capable_app
      Src: /src/glib/gio/gwin32appinfo.c:3793,1
    - Dst: GetTickCount
      Src: /src/glib/gio/gwin32appinfo.c:3796,1
    - Dst: GetTickCount
      Src: /src/glib/gio/gwin32appinfo.c:3801,1
    - Dst: read_classes
      Src: /src/glib/gio/gwin32appinfo.c:3804,1
    - Dst: g_win32_package_parser_enum_packages
      Src: /src/glib/gio/gwin32appinfo.c:3807,1
    - Dst: read_uwp_handler_info
      Src: /src/glib/gio/gwin32appinfo.c:3813,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gwin32appinfo.c:3844,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:3843,1
    - Dst: GetTickCount
      Src: /src/glib/gio/gwin32appinfo.c:3803,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:3841,1
    - Dst: GetTickCount
      Src: /src/glib/gio/gwin32appinfo.c:3815,1
    - Dst: GetTickCount
      Src: /src/glib/gio/gwin32appinfo.c:3818,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 99
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3850
      start: 3723
    functionDepth: 0
    functionLinenumber: 3723
    functionLinenumberEnd: 3850
    functionName: update_registry_data
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - link_handlers_to_fake_apps
    - read_capable_app
    - read_exeapps
    - g_hash_table_new_full
    - GetTickCount
    - g_clear_pointer
    - g_clear_object
    - read_urls
    - collect_capable_apps_from_registered_apps
    - read_classes
    - g_hash_table_unref
    - read_uwp_handler_info
    - g_ptr_array_new_with_free_func
    - read_exts
    - g_ptr_array_free
    - g_ptr_array_index
    - link_handlers_to_unregistered_apps
    - g_clear_error
    - g_win32_registry_key_new_w
    - g_debug
    - g_win32_package_parser_enum_packages
    - collect_capable_apps_from_clients
    linkageType: ''
    returnType: void
    signature: 'static void update_registry_data (void) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: _verb_idx
      Src: /src/glib/gio/gwin32appinfo.c:5208,1
    - Dst: g_get_environ
      Src: /src/glib/gio/gwin32appinfo.c:5239,1
    - Dst: get_appath_for_exe
      Src: /src/glib/gio/gwin32appinfo.c:5243,1
    - Dst: emit_launch_started
      Src: /src/glib/gio/gwin32appinfo.c:5301,1
    - Dst: emit_launch_failed
      Src: /src/glib/gio/gwin32appinfo.c:5313,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gwin32appinfo.c:5322,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gwin32appinfo.c:5332,1
    - Dst: _verb_idx
      Src: /src/glib/gio/gwin32appinfo.c:5210,1
    - Dst: g_win32_appinfo_application_get_some_name
      Src: /src/glib/gio/gwin32appinfo.c:5221,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gwin32appinfo.c:5262,1
    - Dst: g_strv_length
      Src: /src/glib/gio/gwin32appinfo.c:5264,1
    - Dst: g_app_launch_context_get_environment
      Src: /src/glib/gio/gwin32appinfo.c:5237,1
    - Dst: g_win32_app_info_launch_uwp_internal
      Src: /src/glib/gio/gwin32appinfo.c:5228,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:5267,1
    - Dst: g_spawn_async
      Src: /src/glib/gio/gwin32appinfo.c:5303,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gwin32appinfo.c:5331,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32appinfo.c:5199,1
    - Dst: g_set_error
      Src: /src/glib/gio/gwin32appinfo.c:5215,1
    - Dst: g_win32_appinfo_application_get_some_name
      Src: /src/glib/gio/gwin32appinfo.c:5217,1
    - Dst: g_set_error
      Src: /src/glib/gio/gwin32appinfo.c:5219,1
    - Dst: _
      Src: /src/glib/gio/gwin32appinfo.c:5220,1
    - Dst: g_new
      Src: /src/glib/gio/gwin32appinfo.c:5261,1
    - Dst: g_assert
      Src: /src/glib/gio/gwin32appinfo.c:5241,1
    - Dst: expand_application_parameters
      Src: /src/glib/gio/gwin32appinfo.c:5293,1
    - Dst: emit_launched
      Src: /src/glib/gio/gwin32appinfo.c:5318,1
    - Dst: g_spawn_close_pid
      Src: /src/glib/gio/gwin32appinfo.c:5330,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32appinfo.c:5200,1
    - Dst: _
      Src: /src/glib/gio/gwin32appinfo.c:5216,1
    - Dst: g_strv_length
      Src: /src/glib/gio/gwin32appinfo.c:5261,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gwin32appinfo.c:5277,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gwin32appinfo.c:5282,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:5284,1
    - Dst: g_task_return_error_if_cancelled
      Src: /src/glib/gio/gwin32appinfo.c:5290,1
    - Dst: g_spawn_close_pid
      Src: /src/glib/gio/gwin32appinfo.c:5320,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 103
    argCount: 7
    argNames:
    - info
    - objs
    - /* (element-type file_or_uri) */
    - for_files
    - /* UWP only */
    - launch_context
    - spawn_flags
    - from_task
    - error
    argTypes:
    - GWin32AppInfo*
    - GList*
    - gboolean
    - GAppLaunchContext*
    - GSpawnFlags
    - GTask*
    - GError**
    constantsTouched: []
    func_position:
      end: 5335
      start: 5182
    functionDepth: 0
    functionLinenumber: 5182
    functionLinenumberEnd: 5335
    functionName: g_win32_app_info_launch_internal
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_spawn_close_pid
    - g_spawn_async
    - g_app_launch_context_get_environment
    - emit_launch_started
    - g_strfreev
    - g_get_environ
    - expand_application_parameters
    - g_set_error
    - g_strv_length
    - g_new
    - g_win32_appinfo_application_get_some_name
    - g_task_return_error_if_cancelled
    - _
    - g_return_val_if_fail
    - g_assert
    - _verb_idx
    - g_win32_app_info_launch_uwp_internal
    - emit_launch_failed
    - get_appath_for_exe
    - g_free
    - emit_launched
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_win32_app_info_launch_internal (GWin32AppInfo *info,
      GList *objs, /* (element-type file_or_uri) */ gboolean for_files, /* UWP only
      */ GAppLaunchContext *launch_context, GSpawnFlags spawn_flags, GTask *from_task,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_app_info_get_all_for_type
      Src: /src/glib/gio/gwin32appinfo.c:5963,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5964
      start: 5959
    functionDepth: 0
    functionLinenumber: 5959
    functionLinenumberEnd: 5964
    functionName: g_app_info_get_fallback_for_type_impl
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_app_info_get_all_for_type
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_app_info_get_fallback_for_type_impl (const gchar *content_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_APP_INFO
      Src: /src/glib/gio/gwin32appinfo.c:4088,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:4091,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:4090,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:4092,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gwin32appinfo.c:4094,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 4095
      start: 4083
    functionDepth: 0
    functionLinenumber: 4083
    functionLinenumberEnd: 4095
    functionName: g_win32_app_info_finalize
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_clear_object
    - G_WIN32_APP_INFO
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_app_info_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:5341,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:5342,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:5343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 5344
      start: 5337
    functionDepth: 0
    functionLinenumber: 5337
    functionLinenumberEnd: 5344
    functionName: free_file_or_uri
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void free_file_or_uri (gpointer ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_app_info_get_all_for_type
      Src: /src/glib/gio/gwin32appinfo.c:5970,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5971
      start: 5966
    functionDepth: 0
    functionLinenumber: 5966
    functionLinenumberEnd: 5971
    functionName: g_app_info_get_recommended_for_type_impl
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_app_info_get_all_for_type
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_app_info_get_recommended_for_type_impl (const gchar *content_type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gwin32appinfo.c:1616,1
    - Dst: g_win32_registry_get_os_dirs_w
      Src: /src/glib/gio/gwin32appinfo.c:1639,1
    - Dst: _g_win32_registry_key_build_and_new_w
      Src: /src/glib/gio/gwin32appinfo.c:1627,1
    - Dst: g_debug
      Src: /src/glib/gio/gwin32appinfo.c:1632,1
    - Dst: g_win32_registry_key_get_value_w
      Src: /src/glib/gio/gwin32appinfo.c:1638,1
    - Dst: uwp_handler_add_verb
      Src: /src/glib/gio/gwin32appinfo.c:1655,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32appinfo.c:1659,1
    - Dst: g_debug
      Src: /src/glib/gio/gwin32appinfo.c:1664,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1668,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:1669,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gwin32appinfo.c:1672,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 34
    argCount: 7
    argNames:
    - verbs
    - preferred_verb
    - path_to_progid
    - progid
    - autoprefer_first_verb
    - handler_rec
    - app
    argTypes:
    - GList*
    - reg_verb*
    - gunichar2*
    - gunichar2*
    - gboolean
    - GWin32AppInfoHandler*
    - GWin32AppInfoApplication*
    constantsTouched: []
    func_position:
      end: 1673
      start: 1605
    functionDepth: 0
    functionLinenumber: 1605
    functionLinenumberEnd: 1673
    functionName: process_uwp_verbs
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_win32_registry_get_os_dirs_w
    - g_list_free_full
    - g_assert
    - uwp_handler_add_verb
    - _wcsicmp
    - g_debug
    - g_clear_pointer
    - g_clear_object
    - g_win32_registry_key_get_value_w
    - _g_win32_registry_key_build_and_new_w
    linkageType: ''
    returnType: void
    signature: 'static void process_uwp_verbs (GList *verbs, const reg_verb *preferred_verb,
      const gunichar2 *path_to_progid, const gunichar2 *progid, gboolean autoprefer_first_verb,
      GWin32AppInfoHandler *handler_rec, GWin32AppInfoApplication *app) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: g_win32_registry_key_new_w
      Src: /src/glib/gio/gwin32appinfo.c:2015,1
    - Dst: g_win32_registry_subkey_iter_get_name_w
      Src: /src/glib/gio/gwin32appinfo.c:2040,1
    - Dst: g_win32_registry_key_get_child_w
      Src: /src/glib/gio/gwin32appinfo.c:2046,1
    - Dst: g_win32_registry_subkey_iter_get_name_w
      Src: /src/glib/gio/gwin32appinfo.c:2083,1
    - Dst: g_win32_registry_subkey_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:2076,1
    - Dst: g_win32_registry_key_get_child_w
      Src: /src/glib/gio/gwin32appinfo.c:2089,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32appinfo.c:2122,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32appinfo.c:2135,1
    - Dst: g_win32_registry_subkey_iter_clear
      Src: /src/glib/gio/gwin32appinfo.c:2138,1
    - Dst: g_win32_registry_subkey_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:2025,1
    - Dst: g_win32_registry_subkey_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:2067,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32appinfo.c:2116,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32appinfo.c:2105,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32appinfo.c:2027,1
    - Dst: g_win32_registry_key_get_value_w
      Src: /src/glib/gio/gwin32appinfo.c:2053,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32appinfo.c:2072,1
    - Dst: g_win32_registry_key_get_child_w
      Src: /src/glib/gio/gwin32appinfo.c:2098,1
    - Dst: g_win32_registry_key_get_path_w
      Src: /src/glib/gio/gwin32appinfo.c:2122,1
    - Dst: wcscmp
      Src: /src/glib/gio/gwin32appinfo.c:2124,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32appinfo.c:2130,1
    - Dst: g_win32_registry_subkey_iter_clear
      Src: /src/glib/gio/gwin32appinfo.c:2133,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2134,1
    - Dst: g_win32_registry_key_new_w
      Src: /src/glib/gio/gwin32appinfo.c:2019,1
    - Dst: g_win32_registry_subkey_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:2031,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2064,1
    - Dst: g_win32_registry_key_get_child_w
      Src: /src/glib/gio/gwin32appinfo.c:2109,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2071,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gwin32appinfo.c:2125,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gwin32appinfo.c:2127,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32appinfo.c:2139,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 64
    argCount: 3
    argNames:
    - capable_apps
    - priority_capable_apps
    - user_registry
    argTypes:
    - GPtrArray*
    - GPtrArray*
    - gboolean
    constantsTouched: []
    func_position:
      end: 2140
      start: 2001
    functionDepth: 0
    functionLinenumber: 2001
    functionLinenumberEnd: 2140
    functionName: collect_capable_apps_from_clients
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_win32_registry_key_new_w
    - g_object_unref
    - g_wcsdup
    - g_win32_registry_subkey_iter_init
    - g_win32_registry_key_get_path_w
    - g_win32_registry_subkey_iter_get_name_w
    - g_clear_pointer
    - g_win32_registry_key_get_value_w
    - g_win32_registry_key_get_child_w
    - wcscmp
    - g_win32_registry_subkey_iter_next
    - g_win32_registry_subkey_iter_clear
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void collect_capable_apps_from_clients (GPtrArray *capable_apps,
      GPtrArray *priority_capable_apps, gboolean user_registry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gwin32appinfo.c:507,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GWin32AppInfoApplicationClass*
    constantsTouched: []
    func_position:
      end: 510
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 510
    functionName: g_win32_appinfo_application_class_init
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_appinfo_application_class_init (GWin32AppInfoApplicationClass
      *klass) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_utf16_len
      Src: /src/glib/gio/gwin32appinfo.c:966,1
    - Dst: g_utf16_len
      Src: /src/glib/gio/gwin32appinfo.c:979,1
    - Dst: g_win32_registry_subkey_iter_get_name_w
      Src: /src/glib/gio/gwin32appinfo.c:981,1
    - Dst: g_win32_registry_key_get_child_w
      Src: /src/glib/gio/gwin32appinfo.c:984,1
    - Dst: get_verbs
      Src: /src/glib/gio/gwin32appinfo.c:1030,1
    - Dst: g_win32_registry_key_get_value_w
      Src: /src/glib/gio/gwin32appinfo.c:1006,1
    - Dst: g_win32_registry_key_get_value_w
      Src: /src/glib/gio/gwin32appinfo.c:1043,1
    - Dst: memcpy
      Src: /src/glib/gio/gwin32appinfo.c:1074,1
    - Dst: g_new
      Src: /src/glib/gio/gwin32appinfo.c:1076,1
    - Dst: memcpy
      Src: /src/glib/gio/gwin32appinfo.c:1079,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32appinfo.c:1088,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32appinfo.c:1115,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32appinfo.c:961,1
    - Dst: g_win32_registry_subkey_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:959,1
    - Dst: g_win32_registry_key_get_child_w
      Src: /src/glib/gio/gwin32appinfo.c:952,1
    - Dst: g_new
      Src: /src/glib/gio/gwin32appinfo.c:1017,1
    - Dst: memcpy
      Src: /src/glib/gio/gwin32appinfo.c:1019,1
    - Dst: memcpy
      Src: /src/glib/gio/gwin32appinfo.c:1023,1
    - Dst: g_new
      Src: /src/glib/gio/gwin32appinfo.c:1072,1
    - Dst: memcpy
      Src: /src/glib/gio/gwin32appinfo.c:1077,1
    - Dst: g_list_sort_with_data
      Src: /src/glib/gio/gwin32appinfo.c:1112,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1105,1
    - Dst: g_utf16_len
      Src: /src/glib/gio/gwin32appinfo.c:967,1
    - Dst: g_win32_registry_subkey_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:969,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:1032,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:1061,1
    - Dst: memcpy
      Src: /src/glib/gio/gwin32appinfo.c:1073,1
    - Dst: g_utf16_len
      Src: /src/glib/gio/gwin32appinfo.c:1104,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32appinfo.c:1107,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1119,1
    - Dst: g_win32_registry_subkey_iter_clear
      Src: /src/glib/gio/gwin32appinfo.c:1084,1
    - Dst: g_assert
      Src: /src/glib/gio/gwin32appinfo.c:947,1
    - Dst: memcpy
      Src: /src/glib/gio/gwin32appinfo.c:1021,1
    - Dst: memcpy
      Src: /src/glib/gio/gwin32appinfo.c:1026,1
    - Dst: memcpy
      Src: /src/glib/gio/gwin32appinfo.c:1027,1
    - Dst: g_new
      Src: /src/glib/gio/gwin32appinfo.c:1018,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:1031,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:1038,1
    - Dst: g_new0
      Src: /src/glib/gio/gwin32appinfo.c:1071,1
    - Dst: memcpy
      Src: /src/glib/gio/gwin32appinfo.c:1078,1
    - Dst: g_list_append
      Src: /src/glib/gio/gwin32appinfo.c:1081,1
    - Dst: g_win32_registry_key_get_value_w
      Src: /src/glib/gio/gwin32appinfo.c:1095,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 140
    argCount: 6
    argNames:
    - program_id_key
    - preferred_verb
    - verbs
    - verbname_prefix
    - verbshell_prefix
    - is_uwp
    argTypes:
    - GWin32RegistryKey*
    - reg_verb**
    - GList**
    - gunichar2*
    - gunichar2*
    - gboolean*
    constantsTouched: []
    func_position:
      end: 1122
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 1122
    functionName: get_verbs
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - memcpy
    - _wcsicmp
    - g_win32_registry_subkey_iter_get_name_w
    - g_win32_registry_subkey_iter_next
    - g_win32_registry_subkey_iter_clear
    - g_list_append
    - g_object_unref
    - g_clear_pointer
    - g_clear_object
    - g_utf16_len
    - g_new
    - g_win32_registry_subkey_iter_init
    - g_assert
    - get_verbs
    - g_win32_registry_key_get_value_w
    - g_list_sort_with_data
    - g_win32_registry_key_get_child_w
    - g_new0
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean get_verbs (GWin32RegistryKey *program_id_key, const
      reg_verb **preferred_verb, GList **verbs, const gunichar2 *verbname_prefix,
      const gunichar2 *verbshell_prefix, gboolean *is_uwp) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gwin32appinfo.c:1716,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:1725,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32appinfo.c:1724,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:1723,1
    - Dst: g_object_new
      Src: /src/glib/gio/gwin32appinfo.c:1721,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32appinfo.c:1727,1
    - Dst: read_handler_icon
      Src: /src/glib/gio/gwin32appinfo.c:1729,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gwin32appinfo.c:1730,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:1730,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1733
      start: 1708
    functionDepth: 0
    functionLinenumber: 1708
    functionLinenumberEnd: 1733
    functionName: get_handler_object
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - read_handler_icon
    - g_wcsdup
    - g_object_new
    - g_hash_table_lookup
    - g_hash_table_insert
    - g_object_ref
    linkageType: ''
    returnType: GWin32AppInfoHandler*
    signature: 'static GWin32AppInfoHandler *get_handler_object (const gchar *handler_id_u8_folded,
      GWin32RegistryKey *handler_key, const gunichar2 *handler_id, const gunichar2
      *uwp_aumid) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: g_win32_registry_subkey_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:2959,1
    - Dst: g_win32_registry_key_get_child_w
      Src: /src/glib/gio/gwin32appinfo.c:2986,1
    - Dst: iswalpha
      Src: /src/glib/gio/gwin32appinfo.c:3023,1
    - Dst: g_win32_registry_key_get_child_w
      Src: /src/glib/gio/gwin32appinfo.c:3029,1
    - Dst: g_win32_registry_value_iter_clear
      Src: /src/glib/gio/gwin32appinfo.c:3010,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:3054,1
    - Dst: g_win32_registry_subkey_iter_clear
      Src: /src/glib/gio/gwin32appinfo.c:3058,1
    - Dst: g_win32_registry_key_get_child_w
      Src: /src/glib/gio/gwin32appinfo.c:2981,1
    - Dst: get_file_ext
      Src: /src/glib/gio/gwin32appinfo.c:2979,1
    - Dst: g_win32_registry_value_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:2992,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:2994,1
    - Dst: g_utf16_to_utf8_and_fold
      Src: /src/glib/gio/gwin32appinfo.c:3048,1
    - Dst: g_win32_registry_key_get_value_w
      Src: /src/glib/gio/gwin32appinfo.c:3034,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:3011,1
    - Dst: get_file_ext
      Src: /src/glib/gio/gwin32appinfo.c:3007,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:3053,1
    - Dst: g_win32_registry_subkey_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:2956,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:2987,1
    - Dst: g_win32_registry_value_iter_get_name_w
      Src: /src/glib/gio/gwin32appinfo.c:3001,1
    - Dst: get_url_association
      Src: /src/glib/gio/gwin32appinfo.c:3051,1
    - Dst: g_win32_registry_subkey_iter_get_name_w
      Src: /src/glib/gio/gwin32appinfo.c:2961,1
    - Dst: g_win32_registry_value_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:2999,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:3042,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 54
    argCount: 1
    argNames:
    - classes_root
    argTypes:
    - GWin32RegistryKey*
    constantsTouched: []
    func_position:
      end: 3059
      start: 2946
    functionDepth: 0
    functionLinenumber: 2946
    functionLinenumberEnd: 3059
    functionName: read_classes
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_win32_registry_subkey_iter_init
    - g_win32_registry_value_iter_clear
    - g_utf16_to_utf8_and_fold
    - get_url_association
    - g_win32_registry_subkey_iter_get_name_w
    - g_clear_pointer
    - g_clear_object
    - g_win32_registry_value_iter_get_name_w
    - iswalpha
    - g_win32_registry_key_get_value_w
    - g_win32_registry_key_get_child_w
    - get_file_ext
    - g_win32_registry_subkey_iter_next
    - g_win32_registry_value_iter_init
    - g_win32_registry_subkey_iter_clear
    - g_win32_registry_value_iter_next
    linkageType: ''
    returnType: void
    signature: 'static void read_classes (GWin32RegistryKey *classes_root) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:4734,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:4735,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:4736,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - EmitLaunchStartedData*
    constantsTouched: []
    func_position:
      end: 4737
      start: 4731
    functionDepth: 0
    functionLinenumber: 4731
    functionLinenumberEnd: 4737
    functionName: emit_launch_started_data_free
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void emit_launch_started_data_free (EmitLaunchStartedData *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:4781,1
    - Dst: g_spawn_close_pid
      Src: /src/glib/gio/gwin32appinfo.c:4783,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:4784,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:4782,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - EmitLaunchedData*
    constantsTouched: []
    func_position:
      end: 4785
      start: 4778
    functionDepth: 0
    functionLinenumber: 4778
    functionLinenumberEnd: 4785
    functionName: emit_launched_data_free
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - g_free
    - g_spawn_close_pid
    linkageType: ''
    returnType: void
    signature: 'static void emit_launched_data_free (EmitLaunchedData *data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_size
      Src: /src/glib/gio/gwin32appinfo.c:5355,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gwin32appinfo.c:5357,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - app
    argTypes:
    - GWin32AppInfoApplication*
    constantsTouched: []
    func_position:
      end: 5361
      start: 5347
    functionDepth: 0
    functionLinenumber: 5347
    functionLinenumberEnd: 5361
    functionName: g_win32_app_supports_uris
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_hash_table_lookup
    - g_hash_table_size
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_win32_app_supports_uris (GWin32AppInfoApplication
      *app) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_APP_INFO
      Src: /src/glib/gio/gwin32appinfo.c:5492,1
    - Dst: g_win32_app_info_supports_files
      Src: /src/glib/gio/gwin32appinfo.c:5495,1
    - Dst: g_new0
      Src: /src/glib/gio/gwin32appinfo.c:5500,1
    - Dst: g_file_get_path
      Src: /src/glib/gio/gwin32appinfo.c:5508,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/gwin32appinfo.c:5507,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32appinfo.c:5510,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:5513,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gwin32appinfo.c:5515,1
    - Dst: g_list_reverse
      Src: /src/glib/gio/gwin32appinfo.c:5518,1
    - Dst: g_win32_app_info_launch_internal
      Src: /src/glib/gio/gwin32appinfo.c:5522,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gwin32appinfo.c:5532,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 5
    argNames:
    - appinfo
    - uris
    - /* (element-type utf8) */
    - launch_context
    - from_task
    - error
    argTypes:
    - GAppInfo*
    - GList*
    - GAppLaunchContext*
    - GTask*
    - GError**
    constantsTouched: []
    func_position:
      end: 5535
      start: 5482
    functionDepth: 0
    functionLinenumber: 5482
    functionLinenumberEnd: 5535
    functionName: g_win32_app_info_launch_uris_impl
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_list_reverse
    - g_strdup
    - g_object_unref
    - g_list_free_full
    - g_win32_app_info_supports_files
    - g_file_new_for_uri
    - G_WIN32_APP_INFO
    - g_file_get_path
    - g_list_prepend
    - g_new0
    - g_win32_app_info_launch_internal
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_win32_app_info_launch_uris_impl (GAppInfo *appinfo,
      GList *uris, /* (element-type utf8) */ GAppLaunchContext *launch_context, GTask
      *from_task, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gwin32appinfo.c:515,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - GWin32AppInfoURLSchema*
    constantsTouched: []
    func_position:
      end: 519
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 519
    functionName: g_win32_appinfo_url_schema_init
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_hash_table_new_full
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_appinfo_url_schema_init (GWin32AppInfoURLSchema
      *self) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _verb_lookup
      Src: /src/glib/gio/gwin32appinfo.c:1749,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32appinfo.c:1755,1
    - Dst: g_object_new
      Src: /src/glib/gio/gwin32appinfo.c:1754,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:1756,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32appinfo.c:1757,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:1758,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:1761,1
    - Dst: _g_win32_extract_executable
      Src: /src/glib/gio/gwin32appinfo.c:1763,1
    - Dst: _g_win32_fixup_broken_microsoft_rundll_commandline
      Src: /src/glib/gio/gwin32appinfo.c:1771,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gwin32appinfo.c:1774,1
    - Dst: g_ptr_array_insert
      Src: /src/glib/gio/gwin32appinfo.c:1776,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 8
    argNames:
    - handler_data1
    - handler_data2
    - verb
    - command_line
    - command_line_utf8
    - verb_displayname
    - verb_is_preferred
    - invent_new_verb_name
    argTypes:
    - gpointer
    - gpointer
    - gunichar2*
    - gunichar2*
    - gchar*
    - gchar*
    - gboolean
    - gboolean
    constantsTouched: []
    func_position:
      end: 1777
      start: 1735
    functionDepth: 0
    functionLinenumber: 1735
    functionLinenumberEnd: 1777
    functionName: handler_add_verb
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_wcsdup
    - g_object_new
    - _verb_lookup
    - _g_win32_extract_executable
    - g_ptr_array_insert
    - g_object_ref
    - _g_win32_fixup_broken_microsoft_rundll_commandline
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void handler_add_verb (gpointer handler_data1, gpointer handler_data2,
      const gunichar2 *verb, const gunichar2 *command_line, const gchar *command_line_utf8,
      const gchar *verb_displayname, gboolean verb_is_preferred, gboolean invent_new_verb_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gwin32appinfo.c:4742,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - EmitLaunchStartedData*
    constantsTouched: []
    func_position:
      end: 4744
      start: 4739
    functionDepth: 0
    functionLinenumber: 4739
    functionLinenumberEnd: 4744
    functionName: emit_launch_started_cb
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_signal_emit_by_name
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean emit_launch_started_cb (EmitLaunchStartedData *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_builder_init_static
      Src: /src/glib/gio/gwin32appinfo.c:4792,1
    - Dst: g_variant_new_int32
      Src: /src/glib/gio/gwin32appinfo.c:4799,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gwin32appinfo.c:4801,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gwin32appinfo.c:4799,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gwin32appinfo.c:4801,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4802
      start: 4787
    functionDepth: 0
    functionLinenumber: 4787
    functionLinenumberEnd: 4802
    functionName: make_platform_data
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - g_variant_builder_init_static
    - g_variant_new_int32
    - g_variant_builder_end
    - g_variant_builder_add
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *make_platform_data (GPid pid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_APP_INFO
      Src: /src/glib/gio/gwin32appinfo.c:5367,1
    - Dst: g_win32_app_supports_uris
      Src: /src/glib/gio/gwin32appinfo.c:5372,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 5373
      start: 5364
    functionDepth: 0
    functionLinenumber: 5364
    functionLinenumberEnd: 5373
    functionName: g_win32_app_info_supports_uris
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - G_WIN32_APP_INFO
    - g_win32_app_supports_uris
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_win32_app_info_supports_uris (GAppInfo *appinfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_win32_app_info_launch_uris_impl
      Src: /src/glib/gio/gwin32appinfo.c:5543,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 4
    argNames:
    - appinfo
    - uris
    - launch_context
    - error
    argTypes:
    - GAppInfo*
    - GList*
    - GAppLaunchContext*
    - GError**
    constantsTouched: []
    func_position:
      end: 5544
      start: 5537
    functionDepth: 0
    functionLinenumber: 5537
    functionLinenumberEnd: 5544
    functionName: g_win32_app_info_launch_uris
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_win32_app_info_launch_uris_impl
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_win32_app_info_launch_uris (GAppInfo *appinfo, GList
      *uris, GAppLaunchContext *launch_context, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/gio/gwin32appinfo.c:898,1
    - Dst: g_win32_registry_key_new_w
      Src: /src/glib/gio/gwin32appinfo.c:903,1
    - Dst: build_registry_pathv
      Src: /src/glib/gio/gwin32appinfo.c:902,1
    - Dst: va_end
      Src: /src/glib/gio/gwin32appinfo.c:905,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 908
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 908
    functionName: _g_win32_registry_key_build_and_new_w
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - build_registry_pathv
    - g_win32_registry_key_new_w
    - va_start
    - va_end
    linkageType: ''
    returnType: GWin32RegistryKey*
    signature: 'static GWin32RegistryKey *_g_win32_registry_key_build_and_new_w (GError
      **error, ...) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_win32_registry_subkey_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:2863,1
    - Dst: g_win32_registry_subkey_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:2866,1
    - Dst: _g_win32_registry_key_build_and_new_w
      Src: /src/glib/gio/gwin32appinfo.c:2883,1
    - Dst: g_win32_registry_subkey_iter_get_name_w
      Src: /src/glib/gio/gwin32appinfo.c:2876,1
    - Dst: g_win32_registry_key_get_value_w
      Src: /src/glib/gio/gwin32appinfo.c:2886,1
    - Dst: get_file_ext
      Src: /src/glib/gio/gwin32appinfo.c:2903,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:2906,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2907,1
    - Dst: _g_win32_registry_key_build_and_new_w
      Src: /src/glib/gio/gwin32appinfo.c:2909,1
    - Dst: g_win32_registry_value_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:2917,1
    - Dst: g_win32_registry_value_iter_get_name_w
      Src: /src/glib/gio/gwin32appinfo.c:2925,1
    - Dst: get_file_ext
      Src: /src/glib/gio/gwin32appinfo.c:2931,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:2935,1
    - Dst: g_win32_registry_value_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:2923,1
    - Dst: g_win32_registry_value_iter_clear
      Src: /src/glib/gio/gwin32appinfo.c:2934,1
    - Dst: g_win32_registry_subkey_iter_clear
      Src: /src/glib/gio/gwin32appinfo.c:2938,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:2919,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 36
    argCount: 1
    argNames:
    - file_exts
    argTypes:
    - GWin32RegistryKey*
    constantsTouched: []
    func_position:
      end: 2939
      start: 2853
    functionDepth: 0
    functionLinenumber: 2853
    functionLinenumberEnd: 2939
    functionName: read_exts
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_win32_registry_subkey_iter_init
    - g_win32_registry_value_iter_clear
    - g_win32_registry_subkey_iter_get_name_w
    - g_clear_pointer
    - g_clear_object
    - g_win32_registry_value_iter_get_name_w
    - g_win32_registry_key_get_value_w
    - get_file_ext
    - g_win32_registry_subkey_iter_next
    - _g_win32_registry_key_build_and_new_w
    - g_win32_registry_value_iter_init
    - g_win32_registry_subkey_iter_clear
    - g_win32_registry_value_iter_next
    linkageType: ''
    returnType: void
    signature: 'static void read_exts (GWin32RegistryKey *file_exts) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: app_add_verb
      Src: /src/glib/gio/gwin32appinfo.c:3248,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:3268,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:3308,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:3215,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gwin32appinfo.c:3307,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:3309,1
    - Dst: _verb_idx
      Src: /src/glib/gio/gwin32appinfo.c:3283,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:3214,1
    - Dst: get_app_object
      Src: /src/glib/gio/gwin32appinfo.c:3238,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:3245,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:3246,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:3257,1
    - Dst: get_app_object
      Src: /src/glib/gio/gwin32appinfo.c:3289,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:3296,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:3297,1
    - Dst: app_add_verb
      Src: /src/glib/gio/gwin32appinfo.c:3299,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:3209,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:3210,1
    - Dst: _verb_idx
      Src: /src/glib/gio/gwin32appinfo.c:3229,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/gwin32appinfo.c:3234,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:3258,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:3264,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:3263,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:3269,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gwin32appinfo.c:3256,1
    - Dst: g_utf8_casefold
      Src: /src/glib/gio/gwin32appinfo.c:3288,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 50
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3313
      start: 3197
    functionDepth: 0
    functionLinenumber: 3197
    functionLinenumberEnd: 3313
    functionName: link_handlers_to_fake_apps
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_hash_table_iter_init
    - g_strdup
    - g_utf8_to_utf16
    - g_utf8_casefold
    - _verb_idx
    - g_hash_table_insert
    - g_clear_pointer
    - app_add_verb
    - get_app_object
    - g_object_ref
    - g_hash_table_iter_next
    linkageType: ''
    returnType: void
    signature: 'static void link_handlers_to_fake_apps (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_win32_registry_subkey_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:2599,1
    - Dst: g_win32_registry_subkey_iter_get_name_w
      Src: /src/glib/gio/gwin32appinfo.c:2612,1
    - Dst: g_win32_registry_subkey_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:2602,1
    - Dst: _g_win32_registry_key_build_and_new_w
      Src: /src/glib/gio/gwin32appinfo.c:2620,1
    - Dst: g_utf16_to_utf8_and_fold
      Src: /src/glib/gio/gwin32appinfo.c:2616,1
    - Dst: g_win32_registry_key_get_value_w
      Src: /src/glib/gio/gwin32appinfo.c:2623,1
    - Dst: get_url_association
      Src: /src/glib/gio/gwin32appinfo.c:2632,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2634,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2635,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2636,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2637,1
    - Dst: g_win32_registry_subkey_iter_clear
      Src: /src/glib/gio/gwin32appinfo.c:2640,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 1
    argNames:
    - url_associations
    argTypes:
    - GWin32RegistryKey*
    constantsTouched: []
    func_position:
      end: 2641
      start: 2591
    functionDepth: 0
    functionLinenumber: 2591
    functionLinenumberEnd: 2641
    functionName: read_urls
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_win32_registry_subkey_iter_init
    - g_win32_registry_subkey_iter_get_name_w
    - g_clear_pointer
    - g_win32_registry_key_get_value_w
    - g_win32_registry_subkey_iter_next
    - _g_win32_registry_key_build_and_new_w
    - g_utf16_to_utf8_and_fold
    - g_win32_registry_subkey_iter_clear
    - get_url_association
    linkageType: ''
    returnType: void
    signature: 'static void read_urls (GWin32RegistryKey *url_associations) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:3107,1
    - Dst: g_utf8_find_basename
      Src: /src/glib/gio/gwin32appinfo.c:3106,1
    - Dst: _verb_idx
      Src: /src/glib/gio/gwin32appinfo.c:3123,1
    - Dst: g_utf8_find_basename
      Src: /src/glib/gio/gwin32appinfo.c:3128,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gwin32appinfo.c:3131,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gwin32appinfo.c:3136,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gwin32appinfo.c:3144,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gwin32appinfo.c:3152,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gwin32appinfo.c:3176,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:3109,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:3166,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:3158,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:3168,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:3076,1
    - Dst: _verb_idx
      Src: /src/glib/gio/gwin32appinfo.c:3098,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:3077,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:3179,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 54
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3184
      start: 3065
    functionDepth: 0
    functionLinenumber: 3065
    functionLinenumberEnd: 3184
    functionName: link_handlers_to_unregistered_apps
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_hash_table_iter_init
    - g_utf8_find_basename
    - _verb_idx
    - GLIB_PRIVATE_CALL
    - g_strcmp0
    - g_object_ref
    - g_hash_table_iter_next
    linkageType: ''
    returnType: void
    signature: 'static void link_handlers_to_unregistered_apps (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gio_win32_appinfo_init
      Src: /src/glib/gio/gwin32appinfo.c:5869,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:5874,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gwin32appinfo.c:5875,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:5873,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gwin32appinfo.c:5870,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:5875,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gwin32appinfo.c:5875,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gwin32appinfo.c:5877,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gwin32appinfo.c:5881,1
    - Dst: g_win32_app_info_new_from_app
      Src: /src/glib/gio/gwin32appinfo.c:5882,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gwin32appinfo.c:5884,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5887
      start: 5860
    functionDepth: 0
    functionLinenumber: 5860
    functionLinenumberEnd: 5887
    functionName: g_app_info_get_all_impl
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_hash_table_iter_init
    - gio_win32_appinfo_init
    - g_mutex_unlock
    - g_mutex_lock
    - g_list_free_full
    - g_win32_app_info_new_from_app
    - G_OBJECT
    - g_object_ref
    - g_list_prepend
    - g_hash_table_iter_next
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_app_info_get_all_impl (void) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:4353,1
    - Dst: strlen
      Src: /src/glib/gio/gwin32appinfo.c:4358,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gwin32appinfo.c:4360,1
    - Dst: g_file_get_path
      Src: /src/glib/gio/gwin32appinfo.c:4363,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/gwin32appinfo.c:4362,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32appinfo.c:4364,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:4368,1
    - Dst: g_shell_quote
      Src: /src/glib/gio/gwin32appinfo.c:4374,1
    - Dst: g_shell_quote
      Src: /src/glib/gio/gwin32appinfo.c:4379,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4384
      start: 4330
    functionDepth: 0
    functionLinenumber: 4330
    functionLinenumberEnd: 4384
    functionName: expand_macro_single
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_object_unref
    - strlen
    - g_file_new_for_uri
    - g_str_has_prefix
    - g_file_get_path
    - g_shell_quote
    linkageType: ''
    returnType: char*
    signature: 'static char *expand_macro_single (char macro, file_or_uri *obj) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_set_object
      Src: /src/glib/gio/gwin32appinfo.c:5909,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gwin32appinfo.c:5912,1
    - Dst: _verb_idx
      Src: /src/glib/gio/gwin32appinfo.c:5923,1
    - Dst: g_hash_table_add
      Src: /src/glib/gio/gwin32appinfo.c:5925,1
    - Dst: g_win32_app_info_new_from_app
      Src: /src/glib/gio/gwin32appinfo.c:5947,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gwin32appinfo.c:5909,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/gwin32appinfo.c:5919,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gwin32appinfo.c:5926,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:5931,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gwin32appinfo.c:5954,1
    - Dst: gio_win32_appinfo_init
      Src: /src/glib/gio/gwin32appinfo.c:5905,1
    - Dst: g_win32_app_info_new_from_app
      Src: /src/glib/gio/gwin32appinfo.c:5927,1
    - Dst: g_hash_table_contains
      Src: /src/glib/gio/gwin32appinfo.c:5942,1
    - Dst: g_hash_table_add
      Src: /src/glib/gio/gwin32appinfo.c:5945,1
    - Dst: g_list_reverse
      Src: /src/glib/gio/gwin32appinfo.c:5953,1
    - Dst: g_utf8_casefold
      Src: /src/glib/gio/gwin32appinfo.c:5900,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gwin32appinfo.c:5906,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:5910,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:5933,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gwin32appinfo.c:5946,1
    - Dst: _verb_idx
      Src: /src/glib/gio/gwin32appinfo.c:5939,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:5952,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5957
      start: 5889
    functionDepth: 0
    functionLinenumber: 5889
    functionLinenumberEnd: 5957
    functionName: g_app_info_get_all_for_type_impl
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_hash_table_iter_init
    - g_list_reverse
    - gio_win32_appinfo_init
    - g_mutex_unlock
    - g_mutex_lock
    - g_utf8_casefold
    - g_set_object
    - _verb_idx
    - g_win32_app_info_new_from_app
    - g_hash_table_lookup
    - g_hash_table_iter_next
    - g_hash_table_unref
    - g_clear_object
    - g_hash_table_new
    - g_hash_table_contains
    - g_list_prepend
    - g_free
    - g_hash_table_add
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_app_info_get_all_for_type_impl (const char *content_type) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2304,1
    - Dst: g_win32_registry_key_get_value_w
      Src: /src/glib/gio/gwin32appinfo.c:2356,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2397,1
    - Dst: g_win32_registry_value_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:2533,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2583,1
    - Dst: g_win32_registry_key_get_child_w
      Src: /src/glib/gio/gwin32appinfo.c:2298,1
    - Dst: get_verbs
      Src: /src/glib/gio/gwin32appinfo.c:2299,1
    - Dst: g_win32_registry_key_get_value_w
      Src: /src/glib/gio/gwin32appinfo.c:2331,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2373,1
    - Dst: g_themed_icon_new
      Src: /src/glib/gio/gwin32appinfo.c:2445,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2575,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2576,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2303,1
    - Dst: get_app_object
      Src: /src/glib/gio/gwin32appinfo.c:2313,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2341,1
    - Dst: g_win32_registry_key_get_child_w
      Src: /src/glib/gio/gwin32appinfo.c:2519,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2565,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/gwin32appinfo.c:2398,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2585,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/gwin32appinfo.c:2374,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/gwin32appinfo.c:2444,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2460,1
    - Dst: g_win32_registry_value_iter_clear
      Src: /src/glib/gio/gwin32appinfo.c:2513,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2584,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2578,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:2446,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32appinfo.c:2516,1
    - Dst: g_win32_registry_key_get_value_w
      Src: /src/glib/gio/gwin32appinfo.c:2382,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2577,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2321,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2367,1
    - Dst: g_win32_registry_value_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:2490,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2566,1
    - Dst: g_win32_registry_value_iter_get_data_w
      Src: /src/glib/gio/gwin32appinfo.c:2549,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32appinfo.c:2581,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:2306,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2392,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2582,1
    - Dst: g_win32_registry_get_os_dirs_w
      Src: /src/glib/gio/gwin32appinfo.c:2451,1
    - Dst: g_win32_registry_key_get_child_w
      Src: /src/glib/gio/gwin32appinfo.c:2474,1
    - Dst: g_win32_registry_value_iter_get_data_w
      Src: /src/glib/gio/gwin32appinfo.c:2502,1
    - Dst: g_utf16_to_utf8_and_fold
      Src: /src/glib/gio/gwin32appinfo.c:2289,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32appinfo.c:2346,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2308,1
    - Dst: g_utf16_to_utf8_and_fold
      Src: /src/glib/gio/gwin32appinfo.c:2559,1
    - Dst: g_win32_registry_key_get_value_w
      Src: /src/glib/gio/gwin32appinfo.c:2427,1
    - Dst: g_win32_registry_value_iter_clear
      Src: /src/glib/gio/gwin32appinfo.c:2569,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2307,1
    - Dst: g_win32_registry_get_os_dirs_w
      Src: /src/glib/gio/gwin32appinfo.c:2357,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2438,1
    - Dst: g_win32_registry_value_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:2525,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32appinfo.c:2465,1
    - Dst: g_win32_registry_value_iter_get_value_type
      Src: /src/glib/gio/gwin32appinfo.c:2538,1
    - Dst: g_win32_registry_key_get_child_w
      Src: /src/glib/gio/gwin32appinfo.c:2401,1
    - Dst: process_verbs_commands
      Src: /src/glib/gio/gwin32appinfo.c:2321,1
    - Dst: g_win32_registry_key_get_path_w
      Src: /src/glib/gio/gwin32appinfo.c:2324,1
    - Dst: g_win32_registry_get_os_dirs_w
      Src: /src/glib/gio/gwin32appinfo.c:2383,1
    - Dst: g_win32_registry_value_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:2482,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32appinfo.c:2572,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32appinfo.c:2422,1
    - Dst: g_win32_registry_key_new_w
      Src: /src/glib/gio/gwin32appinfo.c:2297,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2347,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32appinfo.c:2396,1
    - Dst: g_win32_registry_key_get_value_w
      Src: /src/glib/gio/gwin32appinfo.c:2409,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2420,1
    - Dst: g_win32_registry_value_iter_get_name_w
      Src: /src/glib/gio/gwin32appinfo.c:2543,1
    - Dst: get_verbs
      Src: /src/glib/gio/gwin32appinfo.c:2301,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:2305,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32appinfo.c:2372,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:2466,1
    - Dst: g_win32_registry_key_get_value_w
      Src: /src/glib/gio/gwin32appinfo.c:2450,1
    - Dst: g_win32_registry_value_iter_get_name_w
      Src: /src/glib/gio/gwin32appinfo.c:2496,1
    - Dst: g_utf16_to_utf8_and_fold
      Src: /src/glib/gio/gwin32appinfo.c:2293,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/gwin32appinfo.c:2348,1
    - Dst: get_url_association
      Src: /src/glib/gio/gwin32appinfo.c:2563,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32appinfo.c:2580,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/gwin32appinfo.c:2467,1
    - Dst: g_win32_registry_value_iter_get_value_type
      Src: /src/glib/gio/gwin32appinfo.c:2492,1
    - Dst: get_file_ext
      Src: /src/glib/gio/gwin32appinfo.c:2510,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 192
    argCount: 3
    argNames:
    - app_key_path
    - user_specific
    - default_app
    argTypes:
    - gunichar2*
    - gboolean
    - gboolean
    constantsTouched: []
    func_position:
      end: 2586
      start: 2261
    functionDepth: 0
    functionLinenumber: 2261
    functionLinenumberEnd: 2586
    functionName: read_capable_app
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_win32_registry_get_os_dirs_w
    - g_win32_registry_value_iter_clear
    - get_url_association
    - get_app_object
    - g_win32_registry_value_iter_get_value_type
    - g_win32_registry_value_iter_get_data_w
    - g_utf16_to_utf8
    - g_object_unref
    - g_wcsdup
    - g_clear_pointer
    - g_clear_object
    - process_verbs_commands
    - g_utf16_to_utf8_and_fold
    - get_file_ext
    - g_win32_registry_key_new_w
    - g_win32_registry_key_get_path_w
    - get_verbs
    - g_win32_registry_key_get_value_w
    - g_win32_registry_key_get_child_w
    - g_win32_registry_value_iter_get_name_w
    - g_win32_registry_value_iter_init
    - g_free
    - g_win32_registry_value_iter_next
    - g_themed_icon_new
    linkageType: ''
    returnType: void
    signature: 'static void read_capable_app (const gunichar2 *app_key_path, gboolean
      user_specific, gboolean default_app) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _g_win32_registry_key_build_and_new_w
      Src: /src/glib/gio/gwin32appinfo.c:1512,1
    - Dst: g_win32_registry_key_get_value_w
      Src: /src/glib/gio/gwin32appinfo.c:1523,1
    - Dst: _g_win32_registry_key_build_and_new_w
      Src: /src/glib/gio/gwin32appinfo.c:1547,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/gwin32appinfo.c:1566,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1587,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/gwin32appinfo.c:1584,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1599,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gwin32appinfo.c:1602,1
    - Dst: g_assert
      Src: /src/glib/gio/gwin32appinfo.c:1497,1
    - Dst: g_assert
      Src: /src/glib/gio/gwin32appinfo.c:1499,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1568,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:1588,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32appinfo.c:1593,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1598,1
    - Dst: g_debug
      Src: /src/glib/gio/gwin32appinfo.c:1517,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:1531,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/gwin32appinfo.c:1535,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1541,1
    - Dst: g_win32_registry_get_os_dirs_w
      Src: /src/glib/gio/gwin32appinfo.c:1555,1
    - Dst: g_win32_registry_key_get_value_w
      Src: /src/glib/gio/gwin32appinfo.c:1554,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1597,1
    - Dst: g_assert
      Src: /src/glib/gio/gwin32appinfo.c:1498,1
    - Dst: handler
      Src: /src/glib/gio/gwin32appinfo.c:1591,1
    - Dst: g_win32_registry_key_get_value_w
      Src: /src/glib/gio/gwin32appinfo.c:1572,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 68
    argCount: 8
    argNames:
    - verbs
    - preferred_verb
    - path_to_progid
    - progid
    - autoprefer_first_verb
    - handler
    - handler_data1
    - handler_data2
    argTypes:
    - GList*
    - reg_verb*
    - gunichar2*
    - gunichar2*
    - gboolean
    - verb_command_func
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1603
      start: 1484
    functionDepth: 0
    functionLinenumber: 1484
    functionLinenumberEnd: 1603
    functionName: process_verbs_commands
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_win32_registry_get_os_dirs_w
    - g_list_free_full
    - g_assert
    - _wcsicmp
    - g_debug
    - g_clear_pointer
    - g_clear_object
    - g_win32_registry_key_get_value_w
    - handler
    - _g_win32_registry_key_build_and_new_w
    - g_utf16_to_utf8
    linkageType: ''
    returnType: void
    signature: 'static void process_verbs_commands (GList *verbs, const reg_verb *preferred_verb,
      const gunichar2 *path_to_progid, const gunichar2 *progid, gboolean autoprefer_first_verb,
      verb_command_func handler, gpointer handler_data1, gpointer handler_data2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gwin32appinfo.c:4867,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - EmitLaunchFailedData*
    constantsTouched: []
    func_position:
      end: 4869
      start: 4864
    functionDepth: 0
    functionLinenumber: 4864
    functionLinenumberEnd: 4869
    functionName: emit_launch_failed_cb
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_signal_emit_by_name
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean emit_launch_failed_cb (EmitLaunchFailedData *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_APP_INFO
      Src: /src/glib/gio/gwin32appinfo.c:5379,1
    - Dst: g_hash_table_size
      Src: /src/glib/gio/gwin32appinfo.c:5384,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - appinfo
    argTypes:
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 5385
      start: 5376
    functionDepth: 0
    functionLinenumber: 5376
    functionLinenumberEnd: 5385
    functionName: g_win32_app_info_supports_files
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - G_WIN32_APP_INFO
    - g_hash_table_size
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_win32_app_info_supports_files (GAppInfo *appinfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_APP_INFO
      Src: /src/glib/gio/gwin32appinfo.c:5629,1
    - Dst: g_new0
      Src: /src/glib/gio/gwin32appinfo.c:5637,1
    - Dst: G_FILE
      Src: /src/glib/gio/gwin32appinfo.c:5638,1
    - Dst: g_win32_app_info_supports_uris
      Src: /src/glib/gio/gwin32appinfo.c:5632,1
    - Dst: g_file_get_path
      Src: /src/glib/gio/gwin32appinfo.c:5638,1
    - Dst: g_file_get_uri
      Src: /src/glib/gio/gwin32appinfo.c:5641,1
    - Dst: G_FILE
      Src: /src/glib/gio/gwin32appinfo.c:5641,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gwin32appinfo.c:5643,1
    - Dst: g_list_reverse
      Src: /src/glib/gio/gwin32appinfo.c:5646,1
    - Dst: g_win32_app_info_launch_internal
      Src: /src/glib/gio/gwin32appinfo.c:5650,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gwin32appinfo.c:5660,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 4
    argNames:
    - appinfo
    - files
    - /* (element-type GFile) */
    - launch_context
    - error
    argTypes:
    - GAppInfo*
    - GList*
    - GAppLaunchContext*
    - GError**
    constantsTouched: []
    func_position:
      end: 5663
      start: 5620
    functionDepth: 0
    functionLinenumber: 5620
    functionLinenumberEnd: 5663
    functionName: g_win32_app_info_launch
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_win32_app_info_supports_uris
    - g_file_get_uri
    - g_list_reverse
    - g_list_free_full
    - g_list_prepend
    - G_WIN32_APP_INFO
    - g_file_get_path
    - G_FILE
    - g_new0
    - g_win32_app_info_launch_internal
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_win32_app_info_launch (GAppInfo *appinfo, GList
      *files, /* (element-type GFile) */ GAppLaunchContext *launch_context, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:4859,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:4860,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:4861,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - EmitLaunchFailedData*
    constantsTouched: []
    func_position:
      end: 4862
      start: 4856
    functionDepth: 0
    functionLinenumber: 4856
    functionLinenumberEnd: 4862
    functionName: emit_launch_failed_data_free
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void emit_launch_failed_data_free (EmitLaunchFailedData *data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gwin32appinfo.c:4880,1
    - Dst: g_main_context_invoke_full
      Src: /src/glib/gio/gwin32appinfo.c:4889,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:4887,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:4886,1
    - Dst: g_new
      Src: /src/glib/gio/gwin32appinfo.c:4885,1
    - Dst: g_task_get_context
      Src: /src/glib/gio/gwin32appinfo.c:4889,1
    - Dst: g_task_get_priority
      Src: /src/glib/gio/gwin32appinfo.c:4890,1
    - Dst: G_SOURCE_FUNC
      Src: /src/glib/gio/gwin32appinfo.c:4891,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32appinfo.c:4892,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 3
    argNames:
    - context
    - info
    - from_task
    argTypes:
    - GAppLaunchContext*
    - GWin32AppInfo*
    - GTask*
    constantsTouched: []
    func_position:
      end: 4895
      start: 4871
    functionDepth: 0
    functionLinenumber: 4871
    functionLinenumberEnd: 4895
    functionName: emit_launch_failed
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_main_context_invoke_full
    - g_new
    - g_task_get_priority
    - G_SOURCE_FUNC
    - g_signal_emit_by_name
    - g_task_get_context
    - g_object_ref
    linkageType: ''
    returnType: void
    signature: 'static void emit_launch_failed (GAppLaunchContext *context, GWin32AppInfo
      *info, GTask *from_task) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_list_length
      Src: /src/glib/gio/gwin32appinfo.c:5400,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/gwin32appinfo.c:5413,1
    - Dst: wcslen
      Src: /src/glib/gio/gwin32appinfo.c:5424,1
    - Dst: g_new
      Src: /src/glib/gio/gwin32appinfo.c:5403,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/gwin32appinfo.c:5411,1
    - Dst: memmove
      Src: /src/glib/gio/gwin32appinfo.c:5441,1
    - Dst: SHParseDisplayName
      Src: /src/glib/gio/gwin32appinfo.c:5445,1
    - Dst: FAILED
      Src: /src/glib/gio/gwin32appinfo.c:5447,1
    - Dst: g_set_error
      Src: /src/glib/gio/gwin32appinfo.c:5449,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:5453,1
    - Dst: CoTaskMemFree
      Src: /src/glib/gio/gwin32appinfo.c:5474,1
    - Dst: FAILED
      Src: /src/glib/gio/gwin32appinfo.c:5463,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:5476,1
    - Dst: SHCreateShellItemArrayFromIDLists
      Src: /src/glib/gio/gwin32appinfo.c:5462,1
    - Dst: g_set_error
      Src: /src/glib/gio/gwin32appinfo.c:5465,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:5457,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5479
      start: 5388
    functionDepth: 0
    functionLinenumber: 5388
    functionLinenumberEnd: 5479
    functionName: make_item_array
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_set_error
    - wcslen
    - g_new
    - g_utf8_to_utf16
    - g_list_length
    - memmove
    - g_free
    - CoTaskMemFree
    - SHCreateShellItemArrayFromIDLists
    - SHParseDisplayName
    - FAILED
    linkageType: ''
    returnType: IShellItemArray*
    signature: 'static IShellItemArray *make_item_array (gboolean for_files, GList
      *objs, /* (element-type file_or_uri) */ GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_APP_INFO
      Src: /src/glib/gio/gwin32appinfo.c:5668,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5671
      start: 5665
    functionDepth: 0
    functionLinenumber: 5665
    functionLinenumberEnd: 5671
    functionName: g_win32_app_info_get_supported_types
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - G_WIN32_APP_INFO
    linkageType: ''
    returnType: char**
    signature: 'static const char **g_win32_app_info_get_supported_types (GAppInfo
      *appinfo) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gwin32appinfo.c:1358,1
    - Dst: g_utf16_to_utf8_and_fold
      Src: /src/glib/gio/gwin32appinfo.c:1440,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1435,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1429,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:1447,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1448,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1455,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1457,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:1465,1
    - Dst: g_debug
      Src: /src/glib/gio/gwin32appinfo.c:1394,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32appinfo.c:1399,1
    - Dst: g_win32_registry_key_get_value_w
      Src: /src/glib/gio/gwin32appinfo.c:1407,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1416,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:1445,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1458,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1460,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32appinfo.c:1468,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1386,1
    - Dst: g_win32_registry_key_get_value_w
      Src: /src/glib/gio/gwin32appinfo.c:1377,1
    - Dst: g_win32_registry_key_get_child_w
      Src: /src/glib/gio/gwin32appinfo.c:1366,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gwin32appinfo.c:1397,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32appinfo.c:1397,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:1430,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1461,1
    - Dst: g_win32_registry_key_get_child_w
      Src: /src/glib/gio/gwin32appinfo.c:1373,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:1397,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1432,1
    - Dst: g_win32_registry_key_get_child_w
      Src: /src/glib/gio/gwin32appinfo.c:1424,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1454,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1464,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1471
      start: 1342
    functionDepth: 0
    functionLinenumber: 1342
    functionLinenumberEnd: 1471
    functionName: decide_which_id_to_use
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_object_unref
    - g_wcsdup
    - g_assert
    - g_debug
    - g_hash_table_insert
    - g_clear_pointer
    - g_clear_object
    - g_win32_registry_key_get_value_w
    - g_win32_registry_key_get_child_w
    - g_object_ref
    - g_utf16_to_utf8_and_fold
    linkageType: ''
    returnType: gunichar2*
    signature: 'static gunichar2 *decide_which_id_to_use (const gunichar2 *program_id,
      GWin32RegistryKey **return_key, gchar **return_handler_id_u8, gchar **return_handler_id_u8_folded,
      gunichar2 **return_uwp_aumid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gwin32appinfo.c:475,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GWin32AppInfoURLSchemaClass*
    constantsTouched: []
    func_position:
      end: 478
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 478
    functionName: g_win32_appinfo_url_schema_class_init
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_appinfo_url_schema_class_init (GWin32AppInfoURLSchemaClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - GWin32AppInfoShellVerb*
    constantsTouched: []
    func_position:
      end: 524
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 524
    functionName: g_win32_appinfo_shell_verb_init
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_appinfo_shell_verb_init (GWin32AppInfoShellVerb
      *self) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wcslen
      Src: /src/glib/gio/gwin32appinfo.c:3600,1
    - Dst: SUCCEEDED
      Src: /src/glib/gio/gwin32appinfo.c:3613,1
    - Dst: g_renew
      Src: /src/glib/gio/gwin32appinfo.c:3604,1
    - Dst: SHLoadIndirectString
      Src: /src/glib/gio/gwin32appinfo.c:3612,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:3615,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:3616,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32appinfo.c:3623,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:3624,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:3625,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gwin32appinfo.c:3632,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3635
      start: 3585
    functionDepth: 0
    functionLinenumber: 3585
    functionLinenumberEnd: 3635
    functionName: resolve_string
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - SUCCEEDED
    - SHLoadIndirectString
    - g_renew
    - wcslen
    - g_wcsdup
    - g_assert_not_reached
    - g_free
    linkageType: ''
    returnType: gunichar2*
    signature: 'static gunichar2 *resolve_string (gunichar2 *at_string) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_APP_INFO
      Src: /src/glib/gio/gwin32appinfo.c:4278,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4284
      start: 4275
    functionDepth: 0
    functionLinenumber: 4275
    functionLinenumberEnd: 4284
    functionName: g_win32_app_info_get_description
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - G_WIN32_APP_INFO
    linkageType: ''
    returnType: char*
    signature: 'static const char *g_win32_app_info_get_description (GAppInfo *appinfo) '
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:4437,1
    - Dst: g_string_append
      Src: /src/glib/gio/gwin32appinfo.c:4436,1
    - Dst: g_string_append
      Src: /src/glib/gio/gwin32appinfo.c:4464,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:4465,1
    - Dst: expand_macro_single
      Src: /src/glib/gio/gwin32appinfo.c:4521,1
    - Dst: g_string_append
      Src: /src/glib/gio/gwin32appinfo.c:4559,1
    - Dst: g_string_append
      Src: /src/glib/gio/gwin32appinfo.c:4526,1
    - Dst: g_get_current_dir
      Src: /src/glib/gio/gwin32appinfo.c:4547,1
    - Dst: expand_macro_single
      Src: /src/glib/gio/gwin32appinfo.c:4555,1
    - Dst: expand_macro_single
      Src: /src/glib/gio/gwin32appinfo.c:4572,1
    - Dst: expand_macro_single
      Src: /src/glib/gio/gwin32appinfo.c:4429,1
    - Dst: g_string_append
      Src: /src/glib/gio/gwin32appinfo.c:4434,1
    - Dst: g_string_append
      Src: /src/glib/gio/gwin32appinfo.c:4462,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gwin32appinfo.c:4584,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32appinfo.c:4397,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:4549,1
    - Dst: g_string_append
      Src: /src/glib/gio/gwin32appinfo.c:4548,1
    - Dst: g_string_append
      Src: /src/glib/gio/gwin32appinfo.c:4593,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:4594,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gwin32appinfo.c:4606,1
    - Dst: expand_macro_single
      Src: /src/glib/gio/gwin32appinfo.c:4457,1
    - Dst: g_string_append
      Src: /src/glib/gio/gwin32appinfo.c:4528,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:4529,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:4560,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:4577,1
    - Dst: g_shell_quote
      Src: /src/glib/gio/gwin32appinfo.c:4592,1
    - Dst: g_string_append
      Src: /src/glib/gio/gwin32appinfo.c:4576,1
    CyclomaticComplexity: 78
    EdgeCount: 78
    ICount: 91
    argCount: 5
    argNames:
    - macro
    - exec
    - info
    - stat_obj_list
    - obj_list
    argTypes:
    - char
    - GString*
    - GWin32AppInfo*
    - GList**
    - GList**
    constantsTouched: []
    func_position:
      end: 4613
      start: 4386
    functionDepth: 0
    functionLinenumber: 4386
    functionLinenumberEnd: 4613
    functionName: expand_macro
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_string_append_c
    - expand_macro_single
    - g_shell_quote
    - g_get_current_dir
    - g_free
    - g_string_append
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean expand_macro (char macro, GString *exec, GWin32AppInfo
      *info, GList **stat_obj_list, GList **obj_list) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gwin32appinfo.c:483,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GWin32AppInfoFileExtensionClass*
    constantsTouched: []
    func_position:
      end: 486
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 486
    functionName: g_win32_appinfo_file_extension_class_init
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_appinfo_file_extension_class_init (GWin32AppInfoFileExtensionClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gwin32appinfo.c:529,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - GWin32AppInfoFileExtension*
    constantsTouched: []
    func_position:
      end: 533
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 533
    functionName: g_win32_appinfo_file_extension_init
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_hash_table_new_full
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_appinfo_file_extension_init (GWin32AppInfoFileExtension
      *self) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_APP_INFO
      Src: /src/glib/gio/gwin32appinfo.c:4289,1
    - Dst: _verb_idx
      Src: /src/glib/gio/gwin32appinfo.c:4295,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4298
      start: 4286
    functionDepth: 0
    functionLinenumber: 4286
    functionLinenumberEnd: 4298
    functionName: g_win32_app_info_get_executable
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - _verb_idx
    - G_WIN32_APP_INFO
    linkageType: ''
    returnType: char*
    signature: 'static const char *g_win32_app_info_get_executable (GAppInfo *appinfo) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/gio/gwin32appinfo.c:4630,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gwin32appinfo.c:4646,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gwin32appinfo.c:4655,1
    - Dst: expand_macro
      Src: /src/glib/gio/gwin32appinfo.c:4637,1
    - Dst: expand_macro
      Src: /src/glib/gio/gwin32appinfo.c:4656,1
    - Dst: g_shell_parse_argv
      Src: /src/glib/gio/gwin32appinfo.c:4670,1
    - Dst: g_string_free
      Src: /src/glib/gio/gwin32appinfo.c:4671,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 28
    argCount: 6
    argNames:
    - info
    - exec_line
    - objs
    - argc
    - argv
    - error
    argTypes:
    - GWin32AppInfo*
    - gchar*
    - GList**
    - int*
    - char***
    - GError**
    constantsTouched: []
    func_position:
      end: 4673
      start: 4615
    functionDepth: 0
    functionLinenumber: 4615
    functionLinenumberEnd: 4673
    functionName: expand_application_parameters
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - expand_macro
    - g_string_append_c
    - g_shell_parse_argv
    - g_string_free
    - g_string_new
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean expand_application_parameters (GWin32AppInfo *info,
      const gchar *exec_line, GList **objs, int *argc, char ***argv, GError **error) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: g_utf16_to_utf8_and_fold
      Src: /src/glib/gio/gwin32appinfo.c:3380,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gwin32appinfo.c:3411,1
    - Dst: g_utf16_to_utf8_and_fold
      Src: /src/glib/gio/gwin32appinfo.c:3417,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:3424,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32appinfo.c:3466,1
    - Dst: _verb_idx
      Src: /src/glib/gio/gwin32appinfo.c:3487,1
    - Dst: get_schema_object
      Src: /src/glib/gio/gwin32appinfo.c:3512,1
    - Dst: find_uwp_handler_for_schema
      Src: /src/glib/gio/gwin32appinfo.c:3518,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:3529,1
    - Dst: uwp_app_add_verb
      Src: /src/glib/gio/gwin32appinfo.c:3566,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32appinfo.c:3548,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:3554,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32appinfo.c:3398,1
    - Dst: get_ext_object
      Src: /src/glib/gio/gwin32appinfo.c:3423,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gwin32appinfo.c:3454,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gwin32appinfo.c:3465,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:3435,1
    - Dst: find_uwp_handler_for_ext
      Src: /src/glib/gio/gwin32appinfo.c:3425,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:3467,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:3471,1
    - Dst: g_utf16_to_utf8_and_fold
      Src: /src/glib/gio/gwin32appinfo.c:3506,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gwin32appinfo.c:3528,1
    - Dst: g_set_object
      Src: /src/glib/gio/gwin32appinfo.c:3534,1
    - Dst: _verb_idx
      Src: /src/glib/gio/gwin32appinfo.c:3565,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:3573,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:3568,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:3572,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:3549,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32appinfo.c:3397,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gwin32appinfo.c:3405,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:3436,1
    - Dst: g_set_object
      Src: /src/glib/gio/gwin32appinfo.c:3440,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gwin32appinfo.c:3434,1
    - Dst: uwp_app_add_verb
      Src: /src/glib/gio/gwin32appinfo.c:3488,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:3490,1
    - Dst: g_debug
      Src: /src/glib/gio/gwin32appinfo.c:3495,1
    - Dst: get_handler_object
      Src: /src/glib/gio/gwin32appinfo.c:3523,1
    - Dst: uwp_handler_add_verb
      Src: /src/glib/gio/gwin32appinfo.c:3541,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gwin32appinfo.c:3547,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:3552,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/gwin32appinfo.c:3396,1
    - Dst: get_app_object
      Src: /src/glib/gio/gwin32appinfo.c:3386,1
    - Dst: uwp_handler_add_verb
      Src: /src/glib/gio/gwin32appinfo.c:3458,1
    - Dst: get_handler_object
      Src: /src/glib/gio/gwin32appinfo.c:3430,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:3476,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gwin32appinfo.c:3500,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:3516,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:3530,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 108
    argCount: 8
    argNames:
    - user_data
    - full_package_name
    - package_name
    - display_name
    - app_user_model_id
    - show_in_applist
    - supported_extgroups
    - supported_protocols
    argTypes:
    - gpointer
    - gunichar2*
    - gunichar2*
    - gunichar2*
    - gunichar2*
    - gboolean
    - GPtrArray*
    - GPtrArray*
    constantsTouched: []
    func_position:
      end: 3576
      start: 3361
    functionDepth: 0
    functionLinenumber: 3361
    functionLinenumberEnd: 3576
    functionName: uwp_package_cb
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - find_uwp_handler_for_ext
    - get_app_object
    - find_uwp_handler_for_schema
    - get_handler_object
    - g_utf16_to_utf8
    - get_ext_object
    - g_wcsdup
    - g_set_object
    - g_hash_table_insert
    - g_utf16_to_utf8_and_fold
    - g_strdup
    - uwp_handler_add_verb
    - g_ptr_array_index
    - g_hash_table_iter_next
    - uwp_app_add_verb
    - g_hash_table_iter_init
    - _verb_idx
    - g_debug
    - get_schema_object
    - g_object_ref
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean uwp_package_cb (gpointer user_data, const gunichar2
      *full_package_name, const gunichar2 *package_name, const gunichar2 *display_name,
      const gunichar2 *app_user_model_id, gboolean show_in_applist, GPtrArray *supported_extgroups,
      GPtrArray *supported_protocols) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_APP_INFO
      Src: /src/glib/gio/gwin32appinfo.c:4249,1
    - Dst: _
      Src: /src/glib/gio/gwin32appinfo.c:4256,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4257
      start: 4246
    functionDepth: 0
    functionLinenumber: 4246
    functionLinenumberEnd: 4257
    functionName: g_win32_app_info_get_name
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - _
    - G_WIN32_APP_INFO
    linkageType: ''
    returnType: char*
    signature: 'static const char *g_win32_app_info_get_name (GAppInfo *appinfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gwin32appinfo.c:4119,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:4121,1
    - Dst: gio_win32_appinfo_init
      Src: /src/glib/gio/gwin32appinfo.c:4123,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gwin32appinfo.c:4124,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:4127,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:4129,1
    - Dst: g_new
      Src: /src/glib/gio/gwin32appinfo.c:4135,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:4138,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:4140,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:4145,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gwin32appinfo.c:4149,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:4153,1
    - Dst: G_APP_INFO
      Src: /src/glib/gio/gwin32appinfo.c:4155,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4156
      start: 4110
    functionDepth: 0
    functionLinenumber: 4110
    functionLinenumberEnd: 4156
    functionName: g_win32_app_info_new_from_app
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_hash_table_iter_init
    - g_strdup
    - gio_win32_appinfo_init
    - g_object_new
    - g_mutex_lock
    - g_new
    - g_mutex_unlock
    - g_object_ref
    - G_APP_INFO
    - g_hash_table_iter_next
    linkageType: ''
    returnType: GAppInfo*
    signature: 'static GAppInfo *g_win32_app_info_new_from_app (GWin32AppInfoApplication
      *app, GWin32AppInfoHandler *handler) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_APP_INFO
      Src: /src/glib/gio/gwin32appinfo.c:4162,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:4171,1
    - Dst: g_new
      Src: /src/glib/gio/gwin32appinfo.c:4182,1
    - Dst: g_object_new
      Src: /src/glib/gio/gwin32appinfo.c:4165,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:4168,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:4185,1
    - Dst: G_APP_INFO
      Src: /src/glib/gio/gwin32appinfo.c:4190,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4191
      start: 4159
    functionDepth: 0
    functionLinenumber: 4159
    functionLinenumberEnd: 4191
    functionName: g_win32_app_info_dup
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_new
    - g_object_new
    - G_WIN32_APP_INFO
    - g_object_ref
    - G_APP_INFO
    linkageType: ''
    returnType: GAppInfo*
    signature: 'static GAppInfo *g_win32_app_info_dup (GAppInfo *appinfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_APP_INFO
      Src: /src/glib/gio/gwin32appinfo.c:4262,1
    - Dst: g_win32_app_info_get_name
      Src: /src/glib/gio/gwin32appinfo.c:4272,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4273
      start: 4259
    functionDepth: 0
    functionLinenumber: 4259
    functionLinenumberEnd: 4273
    functionName: g_win32_app_info_get_display_name
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_win32_app_info_get_name
    - G_WIN32_APP_INFO
    linkageType: ''
    returnType: char*
    signature: 'static const char *g_win32_app_info_get_display_name (GAppInfo *appinfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - content_type
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 5977
      start: 5973
    functionDepth: 0
    functionLinenumber: 5973
    functionLinenumberEnd: 5977
    functionName: g_app_info_reset_type_associations_impl
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void g_app_info_reset_type_associations_impl (const char *content_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GAppInfoIface*
    constantsTouched: []
    func_position:
      end: 5754
      start: 5726
    functionDepth: 0
    functionLinenumber: 5726
    functionLinenumberEnd: 5754
    functionName: g_win32_app_info_iface_init
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_app_info_iface_init (GAppInfoIface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_APPINFO_APPLICATION
      Src: /src/glib/gio/gwin32appinfo.c:442,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:446,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:447,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:444,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:445,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:448,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:449,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:450,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:451,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:452,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:453,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:454,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:455,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:456,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gwin32appinfo.c:457,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 458
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 458
    functionName: g_win32_appinfo_application_dispose
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - G_WIN32_APPINFO_APPLICATION
    - g_clear_object
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_appinfo_application_dispose (GObject *object) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:3323,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32appinfo.c:3331,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:3324,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3336
      start: 3315
    functionDepth: 0
    functionLinenumber: 3315
    functionLinenumberEnd: 3336
    functionName: find_uwp_handler_for_ext
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_hash_table_iter_init
    - _wcsicmp
    - g_hash_table_iter_next
    linkageType: ''
    returnType: GWin32AppInfoHandler*
    signature: 'static GWin32AppInfoHandler *find_uwp_handler_for_ext (GWin32AppInfoFileExtension
      *file_extn, const gunichar2 *app_user_model_id) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gwin32appinfo.c:4052,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gwin32appinfo.c:4054,1
    - Dst: GetModuleHandleEx
      Src: /src/glib/gio/gwin32appinfo.c:4037,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gwin32appinfo.c:4055,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/gwin32appinfo.c:4056,1
    - Dst: g_win32_registry_key_new_w
      Src: /src/glib/gio/gwin32appinfo.c:4001,1
    - Dst: g_win32_registry_key_new_w
      Src: /src/glib/gio/gwin32appinfo.c:4004,1
    - Dst: g_win32_registry_key_new_w
      Src: /src/glib/gio/gwin32appinfo.c:3998,1
    - Dst: g_win32_registry_key_new_w
      Src: /src/glib/gio/gwin32appinfo.c:3995,1
    - Dst: g_once_init_enter
      Src: /src/glib/gio/gwin32appinfo.c:3990,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/gwin32appinfo.c:4033,1
    - Dst: g_mutex_init
      Src: /src/glib/gio/gwin32appinfo.c:4031,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/gwin32appinfo.c:4042,1
    - Dst: g_thread_pool_push
      Src: /src/glib/gio/gwin32appinfo.c:4035,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gwin32appinfo.c:4057,1
    - Dst: g_win32_registry_key_new_w
      Src: /src/glib/gio/gwin32appinfo.c:4007,1
    - Dst: g_win32_registry_key_new_w
      Src: /src/glib/gio/gwin32appinfo.c:4010,1
    - Dst: g_win32_registry_key_new_w
      Src: /src/glib/gio/gwin32appinfo.c:4013,1
    - Dst: g_win32_registry_key_new_w
      Src: /src/glib/gio/gwin32appinfo.c:4016,1
    - Dst: watch_keys
      Src: /src/glib/gio/gwin32appinfo.c:4019,1
    - Dst: g_cond_init
      Src: /src/glib/gio/gwin32appinfo.c:4032,1
    - Dst: g_thread_pool_new
      Src: /src/glib/gio/gwin32appinfo.c:4026,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 1
    argNames:
    - do_wait
    argTypes:
    - gboolean
    constantsTouched: []
    func_position:
      end: 4059
      start: 3985
    functionDepth: 0
    functionLinenumber: 3985
    functionLinenumberEnd: 4059
    functionName: gio_win32_appinfo_init
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_once_init_leave
    - g_mutex_init
    - g_win32_registry_key_new_w
    - g_thread_pool_push
    - g_atomic_int_get
    - g_cond_init
    - g_mutex_lock
    - GetModuleHandleEx
    - g_mutex_unlock
    - g_once_init_enter
    - g_atomic_int_set
    - watch_keys
    - g_thread_pool_new
    - g_cond_wait
    linkageType: ''
    returnType: void
    signature: 'void gio_win32_appinfo_init (gboolean do_wait) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_APP_INFO
      Src: /src/glib/gio/gwin32appinfo.c:5566,1
    - Dst: g_win32_app_info_launch_uris_impl
      Src: /src/glib/gio/gwin32appinfo.c:5571,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gwin32appinfo.c:5575,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/gwin32appinfo.c:5574,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gwin32appinfo.c:5573,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32appinfo.c:5575,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 4
    argNames:
    - task
    - source_object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 5576
      start: 5560
    functionDepth: 0
    functionLinenumber: 5560
    functionLinenumberEnd: 5576
    functionName: launch_uris_async_thread
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_steal_pointer
    - g_task_had_error
    - g_win32_app_info_launch_uris_impl
    - G_APP_INFO
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void launch_uris_async_thread (GTask *task, gpointer source_object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32appinfo.c:5683,1
    - Dst: g_object_new
      Src: /src/glib/gio/gwin32appinfo.c:5690,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/gwin32appinfo.c:5699,1
    - Dst: g_object_new
      Src: /src/glib/gio/gwin32appinfo.c:5691,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/gwin32appinfo.c:5685,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:5704,1
    - Dst: g_utf8_casefold
      Src: /src/glib/gio/gwin32appinfo.c:5705,1
    - Dst: app_add_verb
      Src: /src/glib/gio/gwin32appinfo.c:5708,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:5717,1
    - Dst: G_APP_INFO
      Src: /src/glib/gio/gwin32appinfo.c:5721,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5722
      start: 5673
    functionDepth: 0
    functionLinenumber: 5673
    functionLinenumberEnd: 5722
    functionName: g_app_info_create_from_commandline_impl
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_return_val_if_fail
    - g_object_new
    - g_utf8_to_utf16
    - g_utf8_casefold
    - g_clear_pointer
    - G_APP_INFO
    - app_add_verb
    linkageType: ''
    returnType: GAppInfo*
    signature: 'GAppInfo *g_app_info_create_from_commandline_impl (const char *commandline,
      const char *application_name, GAppInfoCreateFlags flags, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_casefold
      Src: /src/glib/gio/gwin32appinfo.c:5764,1
    - Dst: gio_win32_appinfo_init
      Src: /src/glib/gio/gwin32appinfo.c:5776,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gwin32appinfo.c:5777,1
    - Dst: strcmp
      Src: /src/glib/gio/gwin32appinfo.c:5769,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:5771,1
    - Dst: g_set_object
      Src: /src/glib/gio/gwin32appinfo.c:5779,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gwin32appinfo.c:5779,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:5780,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gwin32appinfo.c:5782,1
    - Dst: _verb_idx
      Src: /src/glib/gio/gwin32appinfo.c:5789,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:5793,1
    - Dst: g_win32_app_info_new_from_app
      Src: /src/glib/gio/gwin32appinfo.c:5790,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5796
      start: 5756
    functionDepth: 0
    functionLinenumber: 5756
    functionLinenumberEnd: 5796
    functionName: g_app_info_get_default_for_uri_scheme_impl
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - gio_win32_appinfo_init
    - g_mutex_unlock
    - g_mutex_lock
    - g_utf8_casefold
    - g_set_object
    - _verb_idx
    - g_win32_app_info_new_from_app
    - strcmp
    - g_hash_table_lookup
    - g_clear_object
    - g_free
    linkageType: ''
    returnType: GAppInfo*
    signature: 'GAppInfo *g_app_info_get_default_for_uri_scheme_impl (const char *uri_scheme) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 470
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 470
    functionName: g_win32_appinfo_application_get_some_name
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *g_win32_appinfo_application_get_some_name (GWin32AppInfoApplication
      *app) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:3346,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:3347,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gwin32appinfo.c:3354,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3359
      start: 3338
    functionDepth: 0
    functionLinenumber: 3338
    functionLinenumberEnd: 3359
    functionName: find_uwp_handler_for_schema
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_hash_table_iter_init
    - _wcsicmp
    - g_hash_table_iter_next
    linkageType: ''
    returnType: GWin32AppInfoHandler*
    signature: 'static GWin32AppInfoHandler *find_uwp_handler_for_schema (GWin32AppInfoURLSchema
      *schema, const gunichar2 *app_user_model_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/gwin32appinfo.c:5589,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gwin32appinfo.c:5590,1
    - Dst: g_list_copy_deep
      Src: /src/glib/gio/gwin32appinfo.c:5593,1
    - Dst: g_new0
      Src: /src/glib/gio/gwin32appinfo.c:5592,1
    - Dst: g_set_object
      Src: /src/glib/gio/gwin32appinfo.c:5594,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gwin32appinfo.c:5595,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32appinfo.c:5595,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gwin32appinfo.c:5597,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32appinfo.c:5598,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 6
    argNames:
    - appinfo
    - uris
    - context
    - cancellable
    - callback
    - user_data
    argTypes:
    - GAppInfo*
    - GList*
    - GAppLaunchContext*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 5599
      start: 5578
    functionDepth: 0
    functionLinenumber: 5578
    functionLinenumberEnd: 5599
    functionName: g_win32_app_info_launch_uris_async
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_list_copy_deep
    - g_task_new
    - g_task_run_in_thread
    - g_task_set_source_tag
    - g_set_object
    - g_object_unref
    - g_task_set_task_data
    - g_new0
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_app_info_launch_uris_async (GAppInfo *appinfo,
      GList *uris, GAppLaunchContext *context, GCancellable *cancellable, GAsyncReadyCallback
      callback, gpointer user_data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_casefold
      Src: /src/glib/gio/gwin32appinfo.c:5807,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gwin32appinfo.c:5813,1
    - Dst: g_set_object
      Src: /src/glib/gio/gwin32appinfo.c:5816,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gwin32appinfo.c:5816,1
    - Dst: gio_win32_appinfo_init
      Src: /src/glib/gio/gwin32appinfo.c:5812,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:5817,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gwin32appinfo.c:5819,1
    - Dst: _verb_idx
      Src: /src/glib/gio/gwin32appinfo.c:5828,1
    - Dst: g_win32_app_supports_uris
      Src: /src/glib/gio/gwin32appinfo.c:5830,1
    - Dst: g_win32_app_info_new_from_app
      Src: /src/glib/gio/gwin32appinfo.c:5831,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:5838,1
    - Dst: _verb_idx
      Src: /src/glib/gio/gwin32appinfo.c:5846,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:5855,1
    - Dst: g_win32_app_info_new_from_app
      Src: /src/glib/gio/gwin32appinfo.c:5851,1
    - Dst: g_win32_app_supports_uris
      Src: /src/glib/gio/gwin32appinfo.c:5850,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:5841,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5858
      start: 5798
    functionDepth: 0
    functionLinenumber: 5798
    functionLinenumberEnd: 5858
    functionName: g_app_info_get_default_for_type_impl
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_hash_table_iter_init
    - gio_win32_appinfo_init
    - g_mutex_unlock
    - g_mutex_lock
    - g_utf8_casefold
    - g_set_object
    - _verb_idx
    - g_win32_app_info_new_from_app
    - g_hash_table_lookup
    - g_win32_app_supports_uris
    - g_clear_object
    - g_free
    - g_hash_table_iter_next
    linkageType: ''
    returnType: GAppInfo*
    signature: 'GAppInfo *g_app_info_get_default_for_type_impl (const char *content_type,
      gboolean must_support_uris) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gwin32appinfo.c:3959,1
    - Dst: update_registry_data
      Src: /src/glib/gio/gwin32appinfo.c:3963,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gwin32appinfo.c:3960,1
    - Dst: g_cond_broadcast
      Src: /src/glib/gio/gwin32appinfo.c:3973,1
    - Dst: g_atomic_int_compare_and_exchange
      Src: /src/glib/gio/gwin32appinfo.c:3970,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gwin32appinfo.c:3975,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - data
    - user_data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 3976
      start: 3954
    functionDepth: 0
    functionLinenumber: 3954
    functionLinenumberEnd: 3976
    functionName: gio_win32_appinfo_thread_func
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_cond_broadcast
    - g_atomic_int_get
    - g_mutex_lock
    - g_atomic_int_compare_and_exchange
    - g_mutex_unlock
    - update_registry_data
    linkageType: ''
    returnType: void
    signature: 'static void gio_win32_appinfo_thread_func (gpointer data, gpointer
      user_data) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1165,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1167,1
    - Dst: get_handler_object
      Src: /src/glib/gio/gwin32appinfo.c:1179,1
    - Dst: g_set_object
      Src: /src/glib/gio/gwin32appinfo.c:1185,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gwin32appinfo.c:1187,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:1189,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1208,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1217,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1219,1
    - Dst: decide_which_id_to_use
      Src: /src/glib/gio/gwin32appinfo.c:1152,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1164,1
    - Dst: get_verbs
      Src: /src/glib/gio/gwin32appinfo.c:1161,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:1166,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1173,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:1195,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:1191,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1199,1
    - Dst: get_schema_object
      Src: /src/glib/gio/gwin32appinfo.c:1175,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:1196,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gwin32appinfo.c:1194,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1163,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:1188,1
    - Dst: process_verbs_commands
      Src: /src/glib/gio/gwin32appinfo.c:1199,1
    - Dst: process_uwp_verbs
      Src: /src/glib/gio/gwin32appinfo.c:1208,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1218,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1220,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 41
    argCount: 6
    argNames:
    - program_id
    - schema
    - schema_u8
    - schema_u8_folded
    - app
    - is_user_choice
    argTypes:
    - gunichar2*
    - gunichar2*
    - gchar*
    - gchar*
    - GWin32AppInfoApplication*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1221
      start: 1133
    functionDepth: 0
    functionLinenumber: 1133
    functionLinenumberEnd: 1221
    functionName: get_url_association
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_strdup
    - process_uwp_verbs
    - g_set_object
    - g_hash_table_insert
    - g_clear_pointer
    - g_clear_object
    - get_verbs
    - get_schema_object
    - process_verbs_commands
    - g_object_ref
    - get_handler_object
    - decide_which_id_to_use
    linkageType: ''
    returnType: void
    signature: 'static void get_url_association (const gunichar2 *program_id, const
      gunichar2 *schema, const gchar *schema_u8, const gchar *schema_u8_folded, GWin32AppInfoApplication
      *app, gboolean is_user_choice) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _verb_lookup
      Src: /src/glib/gio/gwin32appinfo.c:1906,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:1913,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:1914,1
    - Dst: g_object_new
      Src: /src/glib/gio/gwin32appinfo.c:1911,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32appinfo.c:1912,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gwin32appinfo.c:1929,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - app_rec
    - verb
    - verb_displayname
    argTypes:
    - GWin32AppInfoApplication*
    - gunichar2*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1930
      start: 1899
    functionDepth: 0
    functionLinenumber: 1899
    functionLinenumberEnd: 1930
    functionName: uwp_app_add_verb
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_wcsdup
    - g_object_new
    - _verb_lookup
    - g_object_ref
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void uwp_app_add_verb (GWin32AppInfoApplication *app_rec, const
      gunichar2 *verb, const gchar *verb_displayname) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _verb_lookup
      Src: /src/glib/gio/gwin32appinfo.c:1941,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/gwin32appinfo.c:1947,1
    - Dst: g_object_new
      Src: /src/glib/gio/gwin32appinfo.c:1946,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:1948,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:1953,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gwin32appinfo.c:1963,1
    - Dst: g_ptr_array_insert
      Src: /src/glib/gio/gwin32appinfo.c:1965,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 5
    argNames:
    - handler_rec
    - app
    - verb
    - verb_displayname
    - verb_is_preferred
    argTypes:
    - GWin32AppInfoHandler*
    - GWin32AppInfoApplication*
    - gunichar2*
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1966
      start: 1932
    functionDepth: 0
    functionLinenumber: 1932
    functionLinenumberEnd: 1966
    functionName: uwp_handler_add_verb
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_wcsdup
    - g_object_new
    - _verb_lookup
    - g_ptr_array_insert
    - g_object_ref
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void uwp_handler_add_verb (GWin32AppInfoHandler *handler_rec,
      GWin32AppInfoApplication *app, const gunichar2 *verb, const gchar *verb_displayname,
      gboolean verb_is_preferred) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wcslen
      Src: /src/glib/gio/gwin32appinfo.c:3647,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:3667,1
    - Dst: g_win32_registry_key_get_value_w
      Src: /src/glib/gio/gwin32appinfo.c:3658,1
    - Dst: memcmp
      Src: /src/glib/gio/gwin32appinfo.c:3672,1
    - Dst: g_assert
      Src: /src/glib/gio/gwin32appinfo.c:3652,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:3675,1
    - Dst: resolve_string
      Src: /src/glib/gio/gwin32appinfo.c:3680,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32appinfo.c:3680,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/gwin32appinfo.c:3686,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 25
    argCount: 4
    argNames:
    - handler_appkey
    - value_name
    - destination
    - destination_u8
    argTypes:
    - GWin32RegistryKey*
    - gunichar2*
    - gunichar2**
    - gchar**
    constantsTouched: []
    func_position:
      end: 3687
      start: 3637
    functionDepth: 0
    functionLinenumber: 3637
    functionLinenumberEnd: 3687
    functionName: grab_registry_string
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - wcslen
    - g_assert
    - resolve_string
    - g_clear_pointer
    - g_win32_registry_key_get_value_w
    - g_utf16_to_utf8
    - memcmp
    linkageType: ''
    returnType: void
    signature: 'static void grab_registry_string (GWin32RegistryKey *handler_appkey,
      const gunichar2 *value_name, gunichar2 **destination, gchar **destination_u8) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gwin32appinfo.c:3696,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gwin32appinfo.c:3709,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gwin32appinfo.c:3698,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:3710,1
    - Dst: g_utf16_to_utf8_and_fold
      Src: /src/glib/gio/gwin32appinfo.c:3703,1
    - Dst: grab_registry_string
      Src: /src/glib/gio/gwin32appinfo.c:3715,1
    - Dst: grab_registry_string
      Src: /src/glib/gio/gwin32appinfo.c:3716,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3721
      start: 3689
    functionDepth: 0
    functionLinenumber: 3689
    functionLinenumberEnd: 3721
    functionName: read_uwp_handler_info
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_hash_table_iter_init
    - g_hash_table_lookup
    - g_clear_pointer
    - g_utf16_to_utf8_and_fold
    - grab_registry_string
    - g_hash_table_iter_next
    linkageType: ''
    returnType: void
    signature: 'static void read_uwp_handler_info (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:5555,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gwin32appinfo.c:5556,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32appinfo.c:5557,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - LaunchUrisData*
    constantsTouched: []
    func_position:
      end: 5558
      start: 5552
    functionDepth: 0
    functionLinenumber: 5552
    functionLinenumberEnd: 5558
    functionName: launch_uris_data_free
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - g_free
    - g_list_free_full
    linkageType: ''
    returnType: void
    signature: 'static void launch_uris_data_free (LaunchUrisData *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/gio/gwin32appinfo.c:538,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - GWin32AppInfoHandler*
    constantsTouched: []
    func_position:
      end: 539
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 539
    functionName: g_win32_appinfo_handler_init
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_ptr_array_new_with_free_func
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_appinfo_handler_init (GWin32AppInfoHandler *self) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_APP_INFO
      Src: /src/glib/gio/gwin32appinfo.c:4199,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gwin32appinfo.c:4210,1
    - Dst: _verb_idx
      Src: /src/glib/gio/gwin32appinfo.c:4216,1
    - Dst: _verb_idx
      Src: /src/glib/gio/gwin32appinfo.c:4217,1
    - Dst: G_WIN32_APP_INFO
      Src: /src/glib/gio/gwin32appinfo.c:4200,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gwin32appinfo.c:4220,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 26
    argCount: 2
    argNames:
    - appinfo1
    - appinfo2
    argTypes:
    - GAppInfo*
    - GAppInfo*
    constantsTouched: []
    func_position:
      end: 4225
      start: 4193
    functionDepth: 0
    functionLinenumber: 4193
    functionLinenumberEnd: 4225
    functionName: g_win32_app_info_equal
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - _verb_idx
    - G_WIN32_APP_INFO
    - g_strcmp0
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_win32_app_info_equal (GAppInfo *appinfo1, GAppInfo
      *appinfo2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gwin32appinfo.c:4755,1
    - Dst: g_new
      Src: /src/glib/gio/gwin32appinfo.c:4760,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:4762,1
    - Dst: g_main_context_invoke_full
      Src: /src/glib/gio/gwin32appinfo.c:4764,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:4761,1
    - Dst: g_task_get_context
      Src: /src/glib/gio/gwin32appinfo.c:4764,1
    - Dst: g_task_get_priority
      Src: /src/glib/gio/gwin32appinfo.c:4765,1
    - Dst: G_SOURCE_FUNC
      Src: /src/glib/gio/gwin32appinfo.c:4766,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32appinfo.c:4767,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 3
    argNames:
    - context
    - info
    - from_task
    argTypes:
    - GAppLaunchContext*
    - GWin32AppInfo*
    - GTask*
    constantsTouched: []
    func_position:
      end: 4770
      start: 4746
    functionDepth: 0
    functionLinenumber: 4746
    functionLinenumberEnd: 4770
    functionName: emit_launch_started
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_main_context_invoke_full
    - g_new
    - g_task_get_priority
    - G_SOURCE_FUNC
    - g_signal_emit_by_name
    - g_task_get_context
    - g_object_ref
    linkageType: ''
    returnType: void
    signature: 'static void emit_launch_started (GAppLaunchContext *context, GWin32AppInfo
      *info, GTask *from_task) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gwin32appinfo.c:544,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gwin32appinfo.c:548,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/gio/gwin32appinfo.c:552,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - self
    argTypes:
    - GWin32AppInfoApplication*
    constantsTouched: []
    func_position:
      end: 553
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 553
    functionName: g_win32_appinfo_application_init
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_ptr_array_new_with_free_func
    - g_hash_table_new_full
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_appinfo_application_init (GWin32AppInfoApplication
      *self) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_APP_INFO
      Src: /src/glib/gio/gwin32appinfo.c:4230,1
    - Dst: _verb_idx
      Src: /src/glib/gio/gwin32appinfo.c:4240,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4244
      start: 4227
    functionDepth: 0
    functionLinenumber: 4227
    functionLinenumberEnd: 4244
    functionName: g_win32_app_info_get_id
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - _verb_idx
    - G_WIN32_APP_INFO
    linkageType: ''
    returnType: char*
    signature: 'static const char *g_win32_app_info_get_id (GAppInfo *appinfo) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1262,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:1264,1
    - Dst: get_verbs
      Src: /src/glib/gio/gwin32appinfo.c:1271,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1274,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1285,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:1276,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:1298,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32appinfo.c:1303,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1307,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1320,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gwin32appinfo.c:1308,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1261,1
    - Dst: g_utf16_to_utf8_and_fold
      Src: /src/glib/gio/gwin32appinfo.c:1255,1
    - Dst: get_handler_object
      Src: /src/glib/gio/gwin32appinfo.c:1289,1
    - Dst: g_set_object
      Src: /src/glib/gio/gwin32appinfo.c:1295,1
    - Dst: get_ext_object
      Src: /src/glib/gio/gwin32appinfo.c:1287,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1279,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gwin32appinfo.c:1297,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:1299,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gwin32appinfo.c:1302,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32appinfo.c:1304,1
    - Dst: decide_which_id_to_use
      Src: /src/glib/gio/gwin32appinfo.c:1248,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1273,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1278,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1330,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1306,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1328,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1260,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1263,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1275,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1277,1
    - Dst: process_verbs_commands
      Src: /src/glib/gio/gwin32appinfo.c:1311,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1311,1
    - Dst: process_uwp_verbs
      Src: /src/glib/gio/gwin32appinfo.c:1320,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1329,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gwin32appinfo.c:1331,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 53
    argCount: 4
    argNames:
    - program_id
    - file_extension
    - app
    - is_user_choice
    argTypes:
    - gunichar2*
    - gunichar2*
    - GWin32AppInfoApplication*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1332
      start: 1229
    functionDepth: 0
    functionLinenumber: 1229
    functionLinenumberEnd: 1332
    functionName: get_file_ext
    functionSourceFile: /src/glib/gio/gwin32appinfo.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - get_ext_object
    - g_strdup
    - process_uwp_verbs
    - g_set_object
    - g_hash_table_insert
    - g_clear_pointer
    - g_clear_object
    - get_verbs
    - process_verbs_commands
    - g_object_ref
    - g_utf16_to_utf8_and_fold
    - get_handler_object
    - decide_which_id_to_use
    linkageType: ''
    returnType: void
    signature: 'static void get_file_ext (const gunichar2 *program_id, const gunichar2
      *file_extension, GWin32AppInfoApplication *app, gboolean is_user_choice) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gcontenttype-fdo.c:145,1
    - Dst: _g_content_type_set_mime_dirs_locked
      Src: /src/glib/gio/gcontenttype-fdo.c:146,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gcontenttype-fdo.c:147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - dirs
    argTypes:
    - gchar**
    constantsTouched: []
    func_position:
      end: 148
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 148
    functionName: g_content_type_set_mime_dirs_impl
    functionSourceFile: /src/glib/gio/gcontenttype-fdo.c
    functionUses: []
    functionsReached:
    - _g_content_type_set_mime_dirs_locked
    - G_UNLOCK
    - G_LOCK
    linkageType: ''
    returnType: void
    signature: 'void g_content_type_set_mime_dirs_impl (const gchar * const *dirs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_content_type_get_icon_internal
      Src: /src/glib/gio/gcontenttype-fdo.c:480,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 481
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 481
    functionName: g_content_type_get_symbolic_icon_impl
    functionSourceFile: /src/glib/gio/gcontenttype-fdo.c
    functionUses: []
    functionsReached:
    - g_content_type_get_icon_internal
    linkageType: ''
    returnType: GIcon*
    signature: 'GIcon *g_content_type_get_symbolic_icon_impl (const gchar *type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: opendir
      Src: /src/glib/gio/gcontenttype-fdo.c:700,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/gcontenttype-fdo.c:705,1
    - Dst: strlen
      Src: /src/glib/gio/gcontenttype-fdo.c:707,1
    - Dst: readdir
      Src: /src/glib/gio/gcontenttype-fdo.c:703,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gcontenttype-fdo.c:707,1
    - Dst: g_hash_table_replace
      Src: /src/glib/gio/gcontenttype-fdo.c:708,1
    - Dst: closedir
      Src: /src/glib/gio/gcontenttype-fdo.c:711,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 3
    argNames:
    - dir
    - prefix
    - mimetypes
    argTypes:
    - char*
    - char*
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 713
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 713
    functionName: enumerate_mimetypes_subdir
    functionSourceFile: /src/glib/gio/gcontenttype-fdo.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - strlen
    - g_str_has_suffix
    - g_hash_table_replace
    - opendir
    - readdir
    - closedir
    linkageType: ''
    returnType: void
    signature: 'static void enumerate_mimetypes_subdir (const char *dir, const char
      *prefix, GHashTable *mimetypes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gcontenttype-fdo.c:753,1
    - Dst: enumerate_mimetypes_dir
      Src: /src/glib/gio/gcontenttype-fdo.c:757,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gcontenttype-fdo.c:761,1
    - Dst: g_content_type_get_mime_dirs
      Src: /src/glib/gio/gcontenttype-fdo.c:755,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gcontenttype-fdo.c:760,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gcontenttype-fdo.c:763,1
    - Dst: g_hash_table_iter_steal
      Src: /src/glib/gio/gcontenttype-fdo.c:764,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/gio/gcontenttype-fdo.c:767,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 770
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 770
    functionName: g_content_types_get_registered_impl
    functionSourceFile: /src/glib/gio/gcontenttype-fdo.c
    functionUses: []
    functionsReached:
    - g_hash_table_iter_init
    - g_content_type_get_mime_dirs
    - g_hash_table_destroy
    - g_hash_table_new_full
    - g_list_prepend
    - enumerate_mimetypes_dir
    - g_hash_table_iter_steal
    - g_hash_table_iter_next
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_content_types_get_registered_impl (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_list_append
      Src: /src/glib/gio/gcontenttype-fdo.c:924,1
    - Dst: g_warning
      Src: /src/glib/gio/gcontenttype-fdo.c:934,1
    - Dst: tree_matchlet_free
      Src: /src/glib/gio/gcontenttype-fdo.c:933,1
    - Dst: g_list_last
      Src: /src/glib/gio/gcontenttype-fdo.c:930,1
    - Dst: g_list_last
      Src: /src/glib/gio/gcontenttype-fdo.c:941,1
    - Dst: tree_matchlet_free
      Src: /src/glib/gio/gcontenttype-fdo.c:944,1
    - Dst: g_warning
      Src: /src/glib/gio/gcontenttype-fdo.c:945,1
    - Dst: g_list_append
      Src: /src/glib/gio/gcontenttype-fdo.c:951,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - match
    - matchlet
    - depth
    argTypes:
    - TreeMatch*
    - TreeMatchlet*
    - gint
    constantsTouched: []
    func_position:
      end: 953
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 953
    functionName: insert_matchlet
    functionSourceFile: /src/glib/gio/gcontenttype-fdo.c
    functionUses: []
    functionsReached:
    - g_list_append
    - tree_matchlet_free
    - g_warning
    - g_list_last
    linkageType: ''
    returnType: void
    signature: 'static void insert_matchlet (TreeMatch *match, TreeMatchlet *matchlet,
      gint depth) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1013
      start: 1009
    functionDepth: 0
    functionLinenumber: 1009
    functionLinenumberEnd: 1013
    functionName: tree_magic_schedule_reload
    functionSourceFile: /src/glib/gio/gcontenttype-fdo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void tree_magic_schedule_reload (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_free_full
      Src: /src/glib/gio/gcontenttype-fdo.c:1024,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1026
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1026
    functionName: tree_magic_shutdown
    functionSourceFile: /src/glib/gio/gcontenttype-fdo.c
    functionUses: []
    functionsReached:
    - g_list_free_full
    linkageType: ''
    returnType: void
    signature: 'static void tree_magic_shutdown (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gcontenttype-fdo.c:118,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/gio/gcontenttype-fdo.c:126,1
    - Dst: g_strdupv
      Src: /src/glib/gio/gcontenttype-fdo.c:122,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gcontenttype-fdo.c:129,1
    - Dst: g_get_system_data_dirs
      Src: /src/glib/gio/gcontenttype-fdo.c:127,1
    - Dst: g_build_filename
      Src: /src/glib/gio/gcontenttype-fdo.c:129,1
    - Dst: g_get_user_data_dir
      Src: /src/glib/gio/gcontenttype-fdo.c:129,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gcontenttype-fdo.c:131,1
    - Dst: g_build_filename
      Src: /src/glib/gio/gcontenttype-fdo.c:131,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gcontenttype-fdo.c:132,1
    - Dst: xdg_mime_set_dirs
      Src: /src/glib/gio/gcontenttype-fdo.c:137,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gcontenttype-fdo.c:134,1
    - Dst: tree_magic_schedule_reload
      Src: /src/glib/gio/gcontenttype-fdo.c:138,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - dirs
    argTypes:
    - char**
    constantsTouched: []
    func_position:
      end: 139
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 139
    functionName: _g_content_type_set_mime_dirs_locked
    functionSourceFile: /src/glib/gio/gcontenttype-fdo.c
    functionUses: []
    functionsReached:
    - g_strdupv
    - g_get_system_data_dirs
    - xdg_mime_set_dirs
    - g_get_user_data_dir
    - g_clear_pointer
    - g_ptr_array_new_with_free_func
    - g_build_filename
    - tree_magic_schedule_reload
    - g_ptr_array_free
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void _g_content_type_set_mime_dirs_locked (const char * const
      *dirs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype-fdo.c:489,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gcontenttype-fdo.c:491,1
    - Dst: g_begin_ignore_leaks
      Src: /src/glib/gio/gcontenttype-fdo.c:492,1
    - Dst: xdg_mime_get_generic_icon
      Src: /src/glib/gio/gcontenttype-fdo.c:493,1
    - Dst: g_end_ignore_leaks
      Src: /src/glib/gio/gcontenttype-fdo.c:494,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gcontenttype-fdo.c:495,1
    - Dst: strchr
      Src: /src/glib/gio/gcontenttype-fdo.c:502,1
    - Dst: strlen
      Src: /src/glib/gio/gcontenttype-fdo.c:504,1
    - Dst: g_malloc
      Src: /src/glib/gio/gcontenttype-fdo.c:506,1
    - Dst: strlen
      Src: /src/glib/gio/gcontenttype-fdo.c:506,1
    - Dst: memcpy
      Src: /src/glib/gio/gcontenttype-fdo.c:507,1
    - Dst: strlen
      Src: /src/glib/gio/gcontenttype-fdo.c:509,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype-fdo.c:513,1
    - Dst: strlen
      Src: /src/glib/gio/gcontenttype-fdo.c:508,1
    - Dst: memcpy
      Src: /src/glib/gio/gcontenttype-fdo.c:508,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 517
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 517
    functionName: g_content_type_get_generic_icon_name_impl
    functionSourceFile: /src/glib/gio/gcontenttype-fdo.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_return_val_if_fail
    - g_begin_ignore_leaks
    - g_strdup
    - strlen
    - g_end_ignore_leaks
    - G_UNLOCK
    - g_malloc
    - xdg_mime_get_generic_icon
    - strchr
    - G_LOCK
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_content_type_get_generic_icon_name_impl (const gchar *type) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: opendir
      Src: /src/glib/gio/gcontenttype-fdo.c:726,1
    - Dst: readdir
      Src: /src/glib/gio/gcontenttype-fdo.c:729,1
    - Dst: g_file_test
      Src: /src/glib/gio/gcontenttype-fdo.c:734,1
    - Dst: g_build_filename
      Src: /src/glib/gio/gcontenttype-fdo.c:733,1
    - Dst: strcmp
      Src: /src/glib/gio/gcontenttype-fdo.c:731,1
    - Dst: enumerate_mimetypes_subdir
      Src: /src/glib/gio/gcontenttype-fdo.c:735,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype-fdo.c:736,1
    - Dst: closedir
      Src: /src/glib/gio/gcontenttype-fdo.c:739,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 2
    argNames:
    - dir
    - mimetypes
    argTypes:
    - char*
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 741
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 741
    functionName: enumerate_mimetypes_dir
    functionSourceFile: /src/glib/gio/gcontenttype-fdo.c
    functionUses: []
    functionsReached:
    - opendir
    - strcmp
    - closedir
    - enumerate_mimetypes_subdir
    - readdir
    - g_build_filename
    - g_file_test
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void enumerate_mimetypes_dir (const char *dir, GHashTable *mimetypes) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/glib/gio/gcontenttype-fdo.c:967,1
    - Dst: strcmp
      Src: /src/glib/gio/gcontenttype-fdo.c:971,1
    - Dst: g_file_get_contents
      Src: /src/glib/gio/gcontenttype-fdo.c:969,1
    - Dst: g_strsplit
      Src: /src/glib/gio/gcontenttype-fdo.c:973,1
    - Dst: strlen
      Src: /src/glib/gio/gcontenttype-fdo.c:973,1
    - Dst: parse_header
      Src: /src/glib/gio/gcontenttype-fdo.c:977,1
    - Dst: insert_match
      Src: /src/glib/gio/gcontenttype-fdo.c:979,1
    - Dst: parse_match_line
      Src: /src/glib/gio/gcontenttype-fdo.c:983,1
    - Dst: g_warning
      Src: /src/glib/gio/gcontenttype-fdo.c:986,1
    - Dst: insert_matchlet
      Src: /src/glib/gio/gcontenttype-fdo.c:989,1
    - Dst: g_warning
      Src: /src/glib/gio/gcontenttype-fdo.c:1001,1
    - Dst: g_warning
      Src: /src/glib/gio/gcontenttype-fdo.c:993,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype-fdo.c:1003,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype-fdo.c:1006,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gcontenttype-fdo.c:998,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1007
      start: 955
    functionDepth: 0
    functionLinenumber: 955
    functionLinenumberEnd: 1007
    functionName: read_tree_magic_from_directory
    functionSourceFile: /src/glib/gio/gcontenttype-fdo.c
    functionUses: []
    functionsReached:
    - parse_header
    - strlen
    - g_warning
    - insert_matchlet
    - strcmp
    - g_strfreev
    - g_file_get_contents
    - g_build_filename
    - g_strsplit
    - insert_match
    - parse_match_line
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void read_tree_magic_from_directory (const gchar *prefix) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tree_magic_schedule_reload
      Src: /src/glib/gio/gcontenttype-fdo.c:1018,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1019
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1019
    functionName: xdg_mime_reload
    functionSourceFile: /src/glib/gio/gcontenttype-fdo.c
    functionUses: []
    functionsReached:
    - tree_magic_schedule_reload
    linkageType: ''
    returnType: void
    signature: 'static void xdg_mime_reload (void *user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xdg_mime_register_reload_callback
      Src: /src/glib/gio/gcontenttype-fdo.c:1038,1
    - Dst: read_tree_magic_from_directory
      Src: /src/glib/gio/gcontenttype-fdo.c:1052,1
    - Dst: g_content_type_get_mime_dirs
      Src: /src/glib/gio/gcontenttype-fdo.c:1050,1
    - Dst: tree_magic_shutdown
      Src: /src/glib/gio/gcontenttype-fdo.c:1048,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1054
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1054
    functionName: tree_magic_init
    functionSourceFile: /src/glib/gio/gcontenttype-fdo.c
    functionUses: []
    functionsReached:
    - read_tree_magic_from_directory
    - xdg_mime_register_reload_callback
    - g_content_type_get_mime_dirs
    - tree_magic_shutdown
    linkageType: ''
    returnType: void
    signature: 'static void tree_magic_init (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gcontenttype-fdo.c:89,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gcontenttype-fdo.c:91,1
    - Dst: g_begin_ignore_leaks
      Src: /src/glib/gio/gcontenttype-fdo.c:92,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gcontenttype-fdo.c:96,1
    - Dst: xdg_mime_unalias_mime_type
      Src: /src/glib/gio/gcontenttype-fdo.c:94,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype-fdo.c:96,1
    - Dst: xdg_mime_list_mime_parents
      Src: /src/glib/gio/gcontenttype-fdo.c:98,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gcontenttype-fdo.c:100,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype-fdo.c:100,1
    - Dst: free
      Src: /src/glib/gio/gcontenttype-fdo.c:102,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gcontenttype-fdo.c:107,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gcontenttype-fdo.c:109,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gcontenttype-fdo.c:105,1
    - Dst: g_end_ignore_leaks
      Src: /src/glib/gio/gcontenttype-fdo.c:104,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 110
    functionName: _g_unix_content_type_get_parents
    functionSourceFile: /src/glib/gio/gcontenttype-fdo.c
    functionUses: []
    functionsReached:
    - g_ptr_array_free
    - g_strdup
    - g_begin_ignore_leaks
    - g_end_ignore_leaks
    - free
    - G_UNLOCK
    - xdg_mime_list_mime_parents
    - xdg_mime_unalias_mime_type
    - g_ptr_array_new
    - G_LOCK
    - g_ptr_array_add
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **_g_unix_content_type_get_parents (const gchar *type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype-fdo.c:175,1
    - Dst: xdg_mime_mime_type_equal
      Src: /src/glib/gio/gcontenttype-fdo.c:180,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype-fdo.c:176,1
    - Dst: g_begin_ignore_leaks
      Src: /src/glib/gio/gcontenttype-fdo.c:179,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gcontenttype-fdo.c:178,1
    - Dst: g_end_ignore_leaks
      Src: /src/glib/gio/gcontenttype-fdo.c:181,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gcontenttype-fdo.c:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - type1
    - type2
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 185
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 185
    functionName: g_content_type_equals_impl
    functionSourceFile: /src/glib/gio/gcontenttype-fdo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_begin_ignore_leaks
    - g_end_ignore_leaks
    - G_UNLOCK
    - xdg_mime_mime_type_equal
    - G_LOCK
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_content_type_equals_impl (const gchar *type1, const gchar
      *type2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_content_type_is_a
      Src: /src/glib/gio/gcontenttype-fdo.c:209,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - type
    - mime_type
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 210
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 210
    functionName: g_content_type_is_mime_type_impl
    functionSourceFile: /src/glib/gio/gcontenttype-fdo.c
    functionUses: []
    functionsReached:
    - g_content_type_is_a
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_content_type_is_mime_type_impl (const gchar *type, const
      gchar *mime_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 4
    argNames:
    - context
    - element_name
    - user_data
    - error
    argTypes:
    - GMarkupParseContext*
    - gchar*
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 289
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 289
    functionName: mime_info_end_element
    functionSourceFile: /src/glib/gio/gcontenttype-fdo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void mime_info_end_element (GMarkupParseContext *context, const
      gchar *element_name, gpointer user_data, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype-fdo.c:377,1
    - Dst: g_begin_ignore_leaks
      Src: /src/glib/gio/gcontenttype-fdo.c:380,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gcontenttype-fdo.c:392,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gcontenttype-fdo.c:407,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gcontenttype-fdo.c:400,1
    - Dst: xdg_mime_unalias_mime_type
      Src: /src/glib/gio/gcontenttype-fdo.c:381,1
    - Dst: g_end_ignore_leaks
      Src: /src/glib/gio/gcontenttype-fdo.c:382,1
    - Dst: load_comment_for_mime
      Src: /src/glib/gio/gcontenttype-fdo.c:399,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gcontenttype-fdo.c:405,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype-fdo.c:396,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gcontenttype-fdo.c:379,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gcontenttype-fdo.c:385,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gcontenttype-fdo.c:387,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype-fdo.c:388,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gcontenttype-fdo.c:393,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gcontenttype-fdo.c:402,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gcontenttype-fdo.c:398,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gcontenttype-fdo.c:403,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype-fdo.c:404,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 408
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 408
    functionName: g_content_type_get_description_impl
    functionSourceFile: /src/glib/gio/gcontenttype-fdo.c
    functionUses: []
    functionsReached:
    - load_comment_for_mime
    - g_steal_pointer
    - g_return_val_if_fail
    - g_begin_ignore_leaks
    - g_strdup
    - g_end_ignore_leaks
    - G_UNLOCK
    - g_hash_table_lookup
    - g_hash_table_insert
    - g_hash_table_new_full
    - xdg_mime_unalias_mime_type
    - G_LOCK
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_content_type_get_description_impl (const gchar *type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype-fdo.c:522,1
    - Dst: g_content_type_is_a
      Src: /src/glib/gio/gcontenttype-fdo.c:525,1
    - Dst: g_content_type_is_a
      Src: /src/glib/gio/gcontenttype-fdo.c:524,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 529
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 529
    functionName: g_content_type_can_be_executable_impl
    functionSourceFile: /src/glib/gio/gcontenttype-fdo.c
    functionUses: []
    functionsReached:
    - g_content_type_is_a
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_content_type_can_be_executable_impl (const gchar *type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype-fdo.c:554,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype-fdo.c:559,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gcontenttype-fdo.c:556,1
    - Dst: xdg_mime_unalias_mime_type
      Src: /src/glib/gio/gcontenttype-fdo.c:559,1
    - Dst: g_begin_ignore_leaks
      Src: /src/glib/gio/gcontenttype-fdo.c:557,1
    - Dst: g_end_ignore_leaks
      Src: /src/glib/gio/gcontenttype-fdo.c:560,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gcontenttype-fdo.c:561,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 564
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 564
    functionName: g_content_type_from_mime_type_impl
    functionSourceFile: /src/glib/gio/gcontenttype-fdo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_begin_ignore_leaks
    - g_strdup
    - g_end_ignore_leaks
    - G_UNLOCK
    - xdg_mime_unalias_mime_type
    - G_LOCK
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_content_type_from_mime_type_impl (const gchar *mime_type) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: next_match_recurse
      Src: /src/glib/gio/gcontenttype-fdo.c:1113,1
    - Dst: g_file_enumerate_children
      Src: /src/glib/gio/gcontenttype-fdo.c:1117,1
    - Dst: g_file_info_get_name
      Src: /src/glib/gio/gcontenttype-fdo.c:1130,1
    - Dst: g_file_enumerator_next_file
      Src: /src/glib/gio/gcontenttype-fdo.c:1128,1
    - Dst: component_match
      Src: /src/glib/gio/gcontenttype-fdo.c:1131,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/gcontenttype-fdo.c:1133,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gcontenttype-fdo.c:1134,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gcontenttype-fdo.c:1137,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gcontenttype-fdo.c:1140,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gcontenttype-fdo.c:1142,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1145
    functionName: next_match_recurse
    functionSourceFile: /src/glib/gio/gcontenttype-fdo.c
    functionUses: []
    functionsReached:
    - g_file_enumerator_next_file
    - g_object_unref
    - component_match
    - g_file_enumerate_children
    - next_match_recurse
    - g_file_get_child
    - g_file_info_get_name
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *next_match_recurse (Enumerator *e, gint depth) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype-fdo.c:193,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gcontenttype-fdo.c:196,1
    - Dst: g_begin_ignore_leaks
      Src: /src/glib/gio/gcontenttype-fdo.c:197,1
    - Dst: xdg_mime_mime_type_subclass
      Src: /src/glib/gio/gcontenttype-fdo.c:198,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype-fdo.c:194,1
    - Dst: g_end_ignore_leaks
      Src: /src/glib/gio/gcontenttype-fdo.c:199,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gcontenttype-fdo.c:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - type
    - supertype
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 203
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 203
    functionName: g_content_type_is_a_impl
    functionSourceFile: /src/glib/gio/gcontenttype-fdo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_begin_ignore_leaks
    - g_end_ignore_leaks
    - G_UNLOCK
    - G_LOCK
    - xdg_mime_mime_type_subclass
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_content_type_is_a_impl (const gchar *type, const gchar
      *supertype) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype-fdo.c:215,1
    - Dst: strcmp
      Src: /src/glib/gio/gcontenttype-fdo.c:217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - type
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 218
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 218
    functionName: g_content_type_is_unknown_impl
    functionSourceFile: /src/glib/gio/gcontenttype-fdo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - strcmp
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_content_type_is_unknown_impl (const gchar *type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype-fdo.c:303,1
    - Dst: g_strndup
      Src: /src/glib/gio/gcontenttype-fdo.c:304,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 5
    argNames:
    - context
    - text
    - text_len
    - user_data
    - error
    argTypes:
    - GMarkupParseContext*
    - gchar*
    - gsize
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 307
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 307
    functionName: mime_info_text
    functionSourceFile: /src/glib/gio/gcontenttype-fdo.c
    functionUses: []
    functionsReached:
    - g_strndup
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void mime_info_text (GMarkupParseContext *context, const gchar
      *text, gsize text_len, gpointer user_data, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype-fdo.c:413,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype-fdo.c:415,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 416
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 416
    functionName: g_content_type_get_mime_type_impl
    functionSourceFile: /src/glib/gio/gcontenttype-fdo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_strdup
    linkageType: ''
    returnType: char*
    signature: 'char *g_content_type_get_mime_type_impl (const char *type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_iscntrl
      Src: /src/glib/gio/gcontenttype-fdo.c:541,1
    - Dst: g_ascii_isspace
      Src: /src/glib/gio/gcontenttype-fdo.c:542,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - data
    - data_size
    argTypes:
    - guchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 547
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 547
    functionName: looks_like_text
    functionSourceFile: /src/glib/gio/gcontenttype-fdo.c
    functionUses: []
    functionsReached:
    - g_ascii_isspace
    - g_ascii_iscntrl
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean looks_like_text (const guchar *data, gsize data_size) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: g_begin_ignore_leaks
      Src: /src/glib/gio/gcontenttype-fdo.c:591,1
    - Dst: g_path_get_basename
      Src: /src/glib/gio/gcontenttype-fdo.c:606,1
    - Dst: xdg_mime_get_mime_types_from_file_name
      Src: /src/glib/gio/gcontenttype-fdo.c:607,1
    - Dst: g_end_ignore_leaks
      Src: /src/glib/gio/gcontenttype-fdo.c:616,1
    - Dst: xdg_mime_mime_type_subclass
      Src: /src/glib/gio/gcontenttype-fdo.c:662,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype-fdo.c:679,1
    - Dst: strcmp
      Src: /src/glib/gio/gcontenttype-fdo.c:636,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype-fdo.c:608,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype-fdo.c:615,1
    - Dst: xdg_mime_get_mime_type_for_data
      Src: /src/glib/gio/gcontenttype-fdo.c:623,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype-fdo.c:646,1
    - Dst: g_end_ignore_leaks
      Src: /src/glib/gio/gcontenttype-fdo.c:685,1
    - Dst: strlen
      Src: /src/glib/gio/gcontenttype-fdo.c:595,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype-fdo.c:588,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gcontenttype-fdo.c:590,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gcontenttype-fdo.c:617,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype-fdo.c:667,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype-fdo.c:588,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype-fdo.c:654,1
    - Dst: looks_like_text
      Src: /src/glib/gio/gcontenttype-fdo.c:626,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gcontenttype-fdo.c:686,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 76
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 689
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 689
    functionName: g_content_type_guess_impl
    functionSourceFile: /src/glib/gio/gcontenttype-fdo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_begin_ignore_leaks
    - g_strdup
    - strlen
    - g_path_get_basename
    - g_end_ignore_leaks
    - G_UNLOCK
    - g_free
    - xdg_mime_get_mime_type_for_data
    - looks_like_text
    - strcmp
    - xdg_mime_get_mime_types_from_file_name
    - G_LOCK
    - xdg_mime_mime_type_subclass
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_content_type_guess_impl (const gchar *filename, const guchar
      *data, gsize data_size, gboolean *result_uncertain) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: next_match_recurse
      Src: /src/glib/gio/gcontenttype-fdo.c:1150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1147
    functionDepth: 0
    functionLinenumber: 1147
    functionLinenumberEnd: 1151
    functionName: enumerator_next
    functionSourceFile: /src/glib/gio/gcontenttype-fdo.c
    functionUses: []
    functionsReached:
    - next_match_recurse
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *enumerator_next (Enumerator *e) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gcontenttype-fdo.c:156,1
    - Dst: g_assert
      Src: /src/glib/gio/gcontenttype-fdo.c:165,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gcontenttype-fdo.c:163,1
    - Dst: _g_content_type_set_mime_dirs_locked
      Src: /src/glib/gio/gcontenttype-fdo.c:159,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 167
    functionName: g_content_type_get_mime_dirs_impl
    functionSourceFile: /src/glib/gio/gcontenttype-fdo.c
    functionUses: []
    functionsReached:
    - _g_content_type_set_mime_dirs_locked
    - G_UNLOCK
    - g_assert
    - G_LOCK
    linkageType: ''
    returnType: gchar**
    signature: 'const gchar * const *g_content_type_get_mime_dirs_impl (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gcontenttype-fdo.c:58,1
    - Dst: xdg_mime_get_max_buffer_extents
      Src: /src/glib/gio/gcontenttype-fdo.c:60,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gcontenttype-fdo.c:62,1
    - Dst: g_begin_ignore_leaks
      Src: /src/glib/gio/gcontenttype-fdo.c:59,1
    - Dst: g_end_ignore_leaks
      Src: /src/glib/gio/gcontenttype-fdo.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 65
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 65
    functionName: _g_unix_content_type_get_sniff_len
    functionSourceFile: /src/glib/gio/gcontenttype-fdo.c
    functionUses: []
    functionsReached:
    - g_begin_ignore_leaks
    - g_end_ignore_leaks
    - G_UNLOCK
    - xdg_mime_get_max_buffer_extents
    - G_LOCK
    linkageType: ''
    returnType: gsize
    signature: 'gsize _g_unix_content_type_get_sniff_len (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_get_language_names
      Src: /src/glib/gio/gcontenttype-fdo.c:242,1
    - Dst: strcmp
      Src: /src/glib/gio/gcontenttype-fdo.c:245,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - lang
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 249
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 249
    functionName: language_level
    functionSourceFile: /src/glib/gio/gcontenttype-fdo.c
    functionUses: []
    functionsReached:
    - g_get_language_names
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'static int language_level (const char *lang) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/glib/gio/gcontenttype-fdo.c:326,1
    - Dst: g_markup_parse_context_new
      Src: /src/glib/gio/gcontenttype-fdo.c:333,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype-fdo.c:329,1
    - Dst: g_markup_parse_context_parse
      Src: /src/glib/gio/gcontenttype-fdo.c:334,1
    - Dst: g_file_get_contents
      Src: /src/glib/gio/gcontenttype-fdo.c:328,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype-fdo.c:335,1
    - Dst: g_markup_parse_context_free
      Src: /src/glib/gio/gcontenttype-fdo.c:336,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 342
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 342
    functionName: load_comment_for_mime_helper
    functionSourceFile: /src/glib/gio/gcontenttype-fdo.c
    functionUses: []
    functionsReached:
    - g_file_get_contents
    - g_build_filename
    - g_markup_parse_context_new
    - g_markup_parse_context_parse
    - g_markup_parse_context_free
    - g_free
    linkageType: ''
    returnType: char*
    signature: 'static char *load_comment_for_mime_helper (const char *dir, const
      char *basename) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype-fdo.c:431,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gcontenttype-fdo.c:433,1
    - Dst: g_begin_ignore_leaks
      Src: /src/glib/gio/gcontenttype-fdo.c:434,1
    - Dst: g_end_ignore_leaks
      Src: /src/glib/gio/gcontenttype-fdo.c:436,1
    - Dst: xdg_mime_get_icon
      Src: /src/glib/gio/gcontenttype-fdo.c:435,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gcontenttype-fdo.c:437,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype-fdo.c:440,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype-fdo.c:442,1
    - Dst: strchr
      Src: /src/glib/gio/gcontenttype-fdo.c:443,1
    - Dst: g_content_type_get_generic_icon_name
      Src: /src/glib/gio/gcontenttype-fdo.c:448,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype-fdo.c:466,1
    - Dst: g_themed_icon_new_from_names
      Src: /src/glib/gio/gcontenttype-fdo.c:463,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gcontenttype-fdo.c:457,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 469
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 469
    functionName: g_content_type_get_icon_internal
    functionSourceFile: /src/glib/gio/gcontenttype-fdo.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_begin_ignore_leaks
    - g_strdup
    - g_content_type_get_generic_icon_name
    - g_strconcat
    - g_end_ignore_leaks
    - G_UNLOCK
    - g_free
    - strchr
    - g_themed_icon_new_from_names
    - xdg_mime_get_icon
    - G_LOCK
    linkageType: ''
    returnType: GIcon*
    signature: 'static GIcon *g_content_type_get_icon_internal (const gchar *type,
      gboolean symbolic) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/gio/gcontenttype-fdo.c:823,1
    - Dst: g_slice_new0
      Src: /src/glib/gio/gcontenttype-fdo.c:833,1
    - Dst: atoi
      Src: /src/glib/gio/gcontenttype-fdo.c:834,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype-fdo.c:835,1
    - Dst: strchr
      Src: /src/glib/gio/gcontenttype-fdo.c:829,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 838
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 838
    functionName: parse_header
    functionSourceFile: /src/glib/gio/gcontenttype-fdo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_slice_new0
    - strlen
    - strchr
    - atoi
    linkageType: ''
    returnType: TreeMatch*
    signature: 'static TreeMatch *parse_header (gchar *line) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gcontenttype-fdo.c:1162,1
    - Dst: g_strv_length
      Src: /src/glib/gio/gcontenttype-fdo.c:1167,1
    - Dst: g_new0
      Src: /src/glib/gio/gcontenttype-fdo.c:1170,1
    - Dst: g_strsplit
      Src: /src/glib/gio/gcontenttype-fdo.c:1166,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype-fdo.c:1163,1
    - Dst: g_utf8_casefold
      Src: /src/glib/gio/gcontenttype-fdo.c:1173,1
    - Dst: g_utf8_collate_key
      Src: /src/glib/gio/gcontenttype-fdo.c:1174,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype-fdo.c:1175,1
    - Dst: g_new0
      Src: /src/glib/gio/gcontenttype-fdo.c:1179,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gcontenttype-fdo.c:1180,1
    - Dst: g_new0
      Src: /src/glib/gio/gcontenttype-fdo.c:1181,1
    - Dst: g_file_enumerate_children
      Src: /src/glib/gio/gcontenttype-fdo.c:1182,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1153
    functionDepth: 0
    functionLinenumber: 1153
    functionLinenumberEnd: 1189
    functionName: enumerator_new
    functionSourceFile: /src/glib/gio/gcontenttype-fdo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_strv_length
    - g_utf8_casefold
    - g_utf8_collate_key
    - g_file_enumerate_children
    - g_strsplit
    - g_object_ref
    - g_new0
    - g_free
    linkageType: ''
    returnType: Enumerator*
    signature: 'static Enumerator *enumerator_new (GFile *root, const char *path,
      gboolean ignore_case) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: enumerator_new
      Src: /src/glib/gio/gcontenttype-fdo.c:1224,1
    - Dst: g_file_info_get_file_type
      Src: /src/glib/gio/gcontenttype-fdo.c:1252,1
    - Dst: enumerator_free
      Src: /src/glib/gio/gcontenttype-fdo.c:1231,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/gcontenttype-fdo.c:1242,1
    - Dst: enumerator_next
      Src: /src/glib/gio/gcontenttype-fdo.c:1228,1
    - Dst: g_file_info_get_attribute_boolean
      Src: /src/glib/gio/gcontenttype-fdo.c:1256,1
    - Dst: g_file_enumerate_children
      Src: /src/glib/gio/gcontenttype-fdo.c:1267,1
    - Dst: g_file_enumerator_next_file
      Src: /src/glib/gio/gcontenttype-fdo.c:1275,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gcontenttype-fdo.c:1277,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gcontenttype-fdo.c:1280,1
    - Dst: strcmp
      Src: /src/glib/gio/gcontenttype-fdo.c:1288,1
    - Dst: enumerator_free
      Src: /src/glib/gio/gcontenttype-fdo.c:1298,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gcontenttype-fdo.c:1294,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gcontenttype-fdo.c:1293,1
    - Dst: matchlet_match
      Src: /src/glib/gio/gcontenttype-fdo.c:1308,1
    - Dst: g_file_info_get_content_type
      Src: /src/glib/gio/gcontenttype-fdo.c:1288,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 53
    argCount: 2
    argNames:
    - matchlet
    - root
    argTypes:
    - TreeMatchlet*
    - GFile*
    constantsTouched: []
    func_position:
      end: 1313
      start: 1213
    functionDepth: 0
    functionLinenumber: 1213
    functionLinenumberEnd: 1313
    functionName: matchlet_match
    functionSourceFile: /src/glib/gio/gcontenttype-fdo.c
    functionUses: []
    functionsReached:
    - enumerator_next
    - g_file_query_info
    - g_file_enumerator_next_file
    - g_object_unref
    - g_file_info_get_file_type
    - enumerator_new
    - matchlet_match
    - strcmp
    - enumerator_free
    - g_file_enumerate_children
    - g_file_info_get_attribute_boolean
    - g_file_info_get_content_type
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean matchlet_match (TreeMatchlet *matchlet, GFile *root) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gcontenttype-fdo.c:72,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype-fdo.c:74,1
    - Dst: xdg_mime_unalias_mime_type
      Src: /src/glib/gio/gcontenttype-fdo.c:74,1
    - Dst: g_end_ignore_leaks
      Src: /src/glib/gio/gcontenttype-fdo.c:75,1
    - Dst: g_begin_ignore_leaks
      Src: /src/glib/gio/gcontenttype-fdo.c:73,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gcontenttype-fdo.c:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 79
    functionName: _g_unix_content_type_unalias
    functionSourceFile: /src/glib/gio/gcontenttype-fdo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_begin_ignore_leaks
    - g_end_ignore_leaks
    - G_UNLOCK
    - xdg_mime_unalias_mime_type
    - G_LOCK
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *_g_unix_content_type_unalias (const gchar *type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/gcontenttype-fdo.c:263,1
    - Dst: language_level
      Src: /src/glib/gio/gcontenttype-fdo.c:273,1
    - Dst: strcmp
      Src: /src/glib/gio/gcontenttype-fdo.c:267,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 14
    argCount: 6
    argNames:
    - context
    - element_name
    - attribute_names
    - attribute_values
    - user_data
    - error
    argTypes:
    - GMarkupParseContext*
    - gchar*
    - gchar**
    - gchar**
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 278
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 278
    functionName: mime_info_start_element
    functionSourceFile: /src/glib/gio/gcontenttype-fdo.c
    functionUses: []
    functionsReached:
    - language_level
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void mime_info_start_element (GMarkupParseContext *context,
      const gchar *element_name, const gchar **attribute_names, const gchar **attribute_values,
      gpointer user_data, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gcontenttype-fdo.c:353,1
    - Dst: load_comment_for_mime_helper
      Src: /src/glib/gio/gcontenttype-fdo.c:358,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype-fdo.c:365,1
    - Dst: g_content_type_get_mime_dirs
      Src: /src/glib/gio/gcontenttype-fdo.c:355,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype-fdo.c:361,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gcontenttype-fdo.c:367,1
    - Dst: _
      Src: /src/glib/gio/gcontenttype-fdo.c:367,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 368
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 368
    functionName: load_comment_for_mime
    functionSourceFile: /src/glib/gio/gcontenttype-fdo.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_content_type_get_mime_dirs
    - _
    - g_free
    - load_comment_for_mime_helper
    linkageType: ''
    returnType: char*
    signature: 'static char *load_comment_for_mime (const char *mimetype) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_content_type_get_icon_internal
      Src: /src/glib/gio/gcontenttype-fdo.c:474,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: g_content_type_get_icon_impl
    functionSourceFile: /src/glib/gio/gcontenttype-fdo.c
    functionUses: []
    functionsReached:
    - g_content_type_get_icon_internal
    linkageType: ''
    returnType: GIcon*
    signature: 'GIcon *g_content_type_get_icon_impl (const gchar *type) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/gio/gcontenttype-fdo.c:849,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype-fdo.c:869,1
    - Dst: atoi
      Src: /src/glib/gio/gcontenttype-fdo.c:858,1
    - Dst: strchr
      Src: /src/glib/gio/gcontenttype-fdo.c:864,1
    - Dst: strchr
      Src: /src/glib/gio/gcontenttype-fdo.c:859,1
    - Dst: g_strsplit
      Src: /src/glib/gio/gcontenttype-fdo.c:871,1
    - Dst: strcmp
      Src: /src/glib/gio/gcontenttype-fdo.c:872,1
    - Dst: strcmp
      Src: /src/glib/gio/gcontenttype-fdo.c:874,1
    - Dst: strcmp
      Src: /src/glib/gio/gcontenttype-fdo.c:876,1
    - Dst: strcmp
      Src: /src/glib/gio/gcontenttype-fdo.c:882,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype-fdo.c:891,1
    - Dst: strcmp
      Src: /src/glib/gio/gcontenttype-fdo.c:886,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gcontenttype-fdo.c:894,1
    - Dst: strcmp
      Src: /src/glib/gio/gcontenttype-fdo.c:888,1
    - Dst: strcmp
      Src: /src/glib/gio/gcontenttype-fdo.c:884,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gcontenttype-fdo.c:899,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 901
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 901
    functionName: parse_match_line
    functionSourceFile: /src/glib/gio/gcontenttype-fdo.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_slice_new0
    - strcmp
    - g_strfreev
    - strchr
    - g_strsplit
    - g_slice_free
    - atoi
    linkageType: ''
    returnType: TreeMatchlet*
    signature: 'static TreeMatchlet *parse_match_line (gchar *line, gint *depth) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/gcontenttype-fdo.c:1077,1
    - Dst: g_utf8_casefold
      Src: /src/glib/gio/gcontenttype-fdo.c:1087,1
    - Dst: g_filename_to_utf8
      Src: /src/glib/gio/gcontenttype-fdo.c:1083,1
    - Dst: g_utf8_collate_key
      Src: /src/glib/gio/gcontenttype-fdo.c:1088,1
    - Dst: g_utf8_make_valid
      Src: /src/glib/gio/gcontenttype-fdo.c:1085,1
    - Dst: strcmp
      Src: /src/glib/gio/gcontenttype-fdo.c:1090,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype-fdo.c:1092,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype-fdo.c:1093,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype-fdo.c:1094,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - e
    - depth
    - name
    argTypes:
    - Enumerator*
    - gint
    - gchar*
    constantsTouched: []
    func_position:
      end: 1097
      start: 1069
    functionDepth: 0
    functionLinenumber: 1069
    functionLinenumberEnd: 1097
    functionName: component_match
    functionSourceFile: /src/glib/gio/gcontenttype-fdo.c
    functionUses: []
    functionsReached:
    - g_filename_to_utf8
    - g_utf8_casefold
    - g_utf8_collate_key
    - strcmp
    - g_utf8_make_valid
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean component_match (Enumerator *e, gint depth, const
      gchar *name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/gcontenttype-fdo.c:1199,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype-fdo.c:1205,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype-fdo.c:1204,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gcontenttype-fdo.c:1201,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gcontenttype-fdo.c:1206,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gcontenttype-fdo.c:1208,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype-fdo.c:1209,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype-fdo.c:1210,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - e
    argTypes:
    - Enumerator*
    constantsTouched: []
    func_position:
      end: 1211
      start: 1191
    functionDepth: 0
    functionLinenumber: 1191
    functionLinenumberEnd: 1211
    functionName: enumerator_free
    functionSourceFile: /src/glib/gio/gcontenttype-fdo.c
    functionUses: []
    functionsReached:
    - g_strfreev
    - g_free
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void enumerator_free (Enumerator *e) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: matchlet_match
      Src: /src/glib/gio/gcontenttype-fdo.c:1325,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gcontenttype-fdo.c:1327,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype-fdo.c:1327,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 3
    argNames:
    - match
    - root
    - types
    argTypes:
    - TreeMatch*
    - GFile*
    - GPtrArray*
    constantsTouched: []
    func_position:
      end: 1331
      start: 1315
    functionDepth: 0
    functionLinenumber: 1315
    functionLinenumberEnd: 1331
    functionName: match_match
    functionSourceFile: /src/glib/gio/gcontenttype-fdo.c
    functionUses: []
    functionsReached:
    - matchlet_match
    - g_ptr_array_add
    - g_strdup
    linkageType: ''
    returnType: void
    signature: 'static void match_match (TreeMatch *match, GFile *root, GPtrArray
      *types) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gcontenttype-fdo.c:1339,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gcontenttype-fdo.c:1350,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gcontenttype-fdo.c:1341,1
    - Dst: match_match
      Src: /src/glib/gio/gcontenttype-fdo.c:1347,1
    - Dst: tree_magic_init
      Src: /src/glib/gio/gcontenttype-fdo.c:1343,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gcontenttype-fdo.c:1352,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gcontenttype-fdo.c:1354,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1355
      start: 1333
    functionDepth: 0
    functionLinenumber: 1333
    functionLinenumberEnd: 1355
    functionName: g_content_type_guess_for_tree_impl
    functionSourceFile: /src/glib/gio/gcontenttype-fdo.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - match_match
    - tree_magic_init
    - g_ptr_array_free
    - g_ptr_array_new
    - G_LOCK
    - g_ptr_array_add
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **g_content_type_guess_for_tree_impl (GFile *root) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_free_full
      Src: /src/glib/gio/gcontenttype-fdo.c:802,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gcontenttype-fdo.c:805,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype-fdo.c:803,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype-fdo.c:804,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - matchlet
    argTypes:
    - TreeMatchlet*
    constantsTouched: []
    func_position:
      end: 806
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 806
    functionName: tree_matchlet_free
    functionSourceFile: /src/glib/gio/gcontenttype-fdo.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_free
    - g_list_free_full
    linkageType: ''
    returnType: void
    signature: 'static void tree_matchlet_free (TreeMatchlet *matchlet) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 910
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 910
    functionName: cmp_match
    functionSourceFile: /src/glib/gio/gcontenttype-fdo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint
    signature: 'static gint cmp_match (gconstpointer a, gconstpointer b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_free_full
      Src: /src/glib/gio/gcontenttype-fdo.c:811,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gcontenttype-fdo.c:813,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype-fdo.c:812,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - match
    argTypes:
    - TreeMatch*
    constantsTouched: []
    func_position:
      end: 814
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 814
    functionName: tree_match_free
    functionSourceFile: /src/glib/gio/gcontenttype-fdo.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_free
    - g_list_free_full
    linkageType: ''
    returnType: void
    signature: 'static void tree_match_free (TreeMatch *match) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_insert_sorted
      Src: /src/glib/gio/gcontenttype-fdo.c:915,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - match
    argTypes:
    - TreeMatch*
    constantsTouched: []
    func_position:
      end: 916
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 916
    functionName: insert_match
    functionSourceFile: /src/glib/gio/gcontenttype-fdo.c
    functionUses: []
    functionsReached:
    - g_list_insert_sorted
    linkageType: ''
    returnType: void
    signature: 'static void insert_match (TreeMatch *match) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GFileDescriptorBasedInterface*
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: g_file_descriptor_based_default_init
    functionSourceFile: /src/glib/gio/gfiledescriptorbased.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_file_descriptor_based_default_init (GFileDescriptorBasedInterface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfiledescriptorbased.c:65,1
    - Dst: G_FILE_DESCRIPTOR_BASED_GET_IFACE
      Src: /src/glib/gio/gfiledescriptorbased.c:67,1
    - Dst: G_IS_FILE_DESCRIPTOR_BASED
      Src: /src/glib/gio/gfiledescriptorbased.c:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - fd_based
    argTypes:
    - GFileDescriptorBased*
    constantsTouched: []
    func_position:
      end: 70
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 70
    functionName: g_file_descriptor_based_get_fd
    functionSourceFile: /src/glib/gio/gfiledescriptorbased.c
    functionUses: []
    functionsReached:
    - G_FILE_DESCRIPTOR_BASED_GET_IFACE
    - g_return_val_if_fail
    - G_IS_FILE_DESCRIPTOR_BASED
    linkageType: ''
    returnType: int
    signature: 'int g_file_descriptor_based_get_fd (GFileDescriptorBased *fd_based) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gfilteroutputstream.c:80,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gfilteroutputstream.c:95,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gfilteroutputstream.c:107,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gfilteroutputstream.c:97,1
    - Dst: G_OUTPUT_STREAM_CLASS
      Src: /src/glib/gio/gfilteroutputstream.c:85,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gfilteroutputstream.c:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GFilterOutputStreamClass*
    constantsTouched: []
    func_position:
      end: 112
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 112
    functionName: g_filter_output_stream_class_init
    functionSourceFile: /src/glib/gio/gfilteroutputstream.c
    functionUses: []
    functionsReached:
    - g_param_spec_boolean
    - G_OUTPUT_STREAM_CLASS
    - g_param_spec_object
    - g_object_class_install_property
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_filter_output_stream_class_init (GFilterOutputStreamClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GFilterOutputStream*
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: g_filter_output_stream_init
    functionSourceFile: /src/glib/gio/gfilteroutputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_filter_output_stream_init (GFilterOutputStream *stream) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/gfilteroutputstream.c:153,1
    - Dst: g_filter_output_stream_get_instance_private
      Src: /src/glib/gio/gfilteroutputstream.c:154,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gfilteroutputstream.c:163,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gfilteroutputstream.c:159,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gfilteroutputstream.c:167,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 171
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 171
    functionName: g_filter_output_stream_get_property
    functionSourceFile: /src/glib/gio/gfilteroutputstream.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_boolean
    - g_filter_output_stream_get_instance_private
    - G_FILTER_OUTPUT_STREAM
    - g_value_set_object
    linkageType: ''
    returnType: void
    signature: 'static void g_filter_output_stream_get_property (GObject *object,
      guint prop_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfilteroutputstream.c:225,1
    - Dst: G_IS_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/gfilteroutputstream.c:225,1
    - Dst: g_filter_output_stream_get_instance_private
      Src: /src/glib/gio/gfilteroutputstream.c:227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GFilterOutputStream*
    constantsTouched: []
    func_position:
      end: 230
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 230
    functionName: g_filter_output_stream_get_close_base_stream
    functionSourceFile: /src/glib/gio/gfilteroutputstream.c
    functionUses: []
    functionsReached:
    - g_filter_output_stream_get_instance_private
    - g_return_val_if_fail
    - G_IS_FILTER_OUTPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_filter_output_stream_get_close_base_stream (GFilterOutputStream
      *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/gfilteroutputstream.c:268,1
    - Dst: g_output_stream_write
      Src: /src/glib/gio/gfilteroutputstream.c:270,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 5
    argNames:
    - stream
    - buffer
    - count
    - cancellable
    - error
    argTypes:
    - GOutputStream*
    - void*
    - gsize
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 277
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 277
    functionName: g_filter_output_stream_write
    functionSourceFile: /src/glib/gio/gfilteroutputstream.c
    functionUses: []
    functionsReached:
    - G_FILTER_OUTPUT_STREAM
    - g_output_stream_write
    linkageType: ''
    returnType: gssize
    signature: 'static gssize g_filter_output_stream_write (GOutputStream *stream,
      const void *buffer, gsize count, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/gfilteroutputstream.c:178,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gfilteroutputstream.c:180,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfilteroutputstream.c:184,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 187
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 187
    functionName: g_filter_output_stream_dispose
    functionSourceFile: /src/glib/gio/gfilteroutputstream.c
    functionUses: []
    functionsReached:
    - G_FILTER_OUTPUT_STREAM
    - g_object_unref
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_filter_output_stream_dispose (GObject *object) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/gfilteroutputstream.c:123,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gfilteroutputstream.c:134,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gfilteroutputstream.c:129,1
    - Dst: g_filter_output_stream_set_close_base_stream
      Src: /src/glib/gio/gfilteroutputstream.c:133,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/gfilteroutputstream.c:128,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gfilteroutputstream.c:138,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 142
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 142
    functionName: g_filter_output_stream_set_property
    functionSourceFile: /src/glib/gio/gfilteroutputstream.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_OUTPUT_STREAM
    - g_value_get_boolean
    - G_FILTER_OUTPUT_STREAM
    - g_value_dup_object
    - g_filter_output_stream_set_close_base_stream
    linkageType: ''
    returnType: void
    signature: 'static void g_filter_output_stream_set_property (GObject *object,
      guint prop_id, const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/gfilteroutputstream.c:287,1
    - Dst: g_output_stream_flush
      Src: /src/glib/gio/gfilteroutputstream.c:289,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GOutputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 294
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 294
    functionName: g_filter_output_stream_flush
    functionSourceFile: /src/glib/gio/gfilteroutputstream.c
    functionUses: []
    functionsReached:
    - G_FILTER_OUTPUT_STREAM
    - g_output_stream_flush
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_filter_output_stream_flush (GOutputStream *stream,
      GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/gfilteroutputstream.c:301,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/gfilteroutputstream.c:307,1
    - Dst: g_filter_output_stream_get_instance_private
      Src: /src/glib/gio/gfilteroutputstream.c:302,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GOutputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 313
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 313
    functionName: g_filter_output_stream_close
    functionSourceFile: /src/glib/gio/gfilteroutputstream.c
    functionUses: []
    functionsReached:
    - g_output_stream_close
    - G_FILTER_OUTPUT_STREAM
    - g_filter_output_stream_get_instance_private
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_filter_output_stream_close (GOutputStream *stream,
      GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfilteroutputstream.c:206,1
    - Dst: G_IS_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/gfilteroutputstream.c:206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 209
    functionName: g_filter_output_stream_get_base_stream
    functionSourceFile: /src/glib/gio/gfilteroutputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_FILTER_OUTPUT_STREAM
    linkageType: ''
    returnType: GOutputStream*
    signature: 'GOutputStream *g_filter_output_stream_get_base_stream (GFilterOutputStream
      *stream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfilteroutputstream.c:245,1
    - Dst: g_filter_output_stream_get_instance_private
      Src: /src/glib/gio/gfilteroutputstream.c:249,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gfilteroutputstream.c:254,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gfilteroutputstream.c:254,1
    - Dst: G_IS_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/gfilteroutputstream.c:245,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - stream
    - close_base
    argTypes:
    - GFilterOutputStream*
    - gboolean
    constantsTouched: []
    func_position:
      end: 256
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 256
    functionName: g_filter_output_stream_set_close_base_stream
    functionSourceFile: /src/glib/gio/gfilteroutputstream.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - g_object_notify
    - g_filter_output_stream_get_instance_private
    - G_OBJECT
    - G_IS_FILTER_OUTPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'void g_filter_output_stream_set_close_base_stream (GFilterOutputStream
      *stream, gboolean close_base) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: G_VALUE_HOLDS_INT
      Src: /src/glib/gio/gsettings-mapping.c:32,1
    - Dst: g_value_get_int64
      Src: /src/glib/gio/gsettings-mapping.c:35,1
    - Dst: g_value_get_int
      Src: /src/glib/gio/gsettings-mapping.c:33,1
    - Dst: G_VALUE_HOLDS_INT64
      Src: /src/glib/gio/gsettings-mapping.c:34,1
    - Dst: g_variant_new_uint16
      Src: /src/glib/gio/gsettings-mapping.c:47,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:69,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:54,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:64,1
    - Dst: g_variant_new_double
      Src: /src/glib/gio/gsettings-mapping.c:75,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:39,1
    - Dst: g_variant_new_int32
      Src: /src/glib/gio/gsettings-mapping.c:52,1
    - Dst: g_variant_new_uint64
      Src: /src/glib/gio/gsettings-mapping.c:67,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:74,1
    - Dst: g_variant_new_int64
      Src: /src/glib/gio/gsettings-mapping.c:62,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:44,1
    - Dst: g_variant_new_uint32
      Src: /src/glib/gio/gsettings-mapping.c:57,1
    - Dst: g_variant_new_handle
      Src: /src/glib/gio/gsettings-mapping.c:72,1
    - Dst: g_variant_new_int16
      Src: /src/glib/gio/gsettings-mapping.c:42,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:49,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:59,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 78
    functionName: g_settings_set_mapping_int
    functionSourceFile: /src/glib/gio/gsettings-mapping.c
    functionUses: []
    functionsReached:
    - g_variant_type_equal
    - g_value_get_int64
    - g_variant_new_handle
    - g_variant_new_int16
    - G_VALUE_HOLDS_INT64
    - G_VALUE_HOLDS_INT
    - g_variant_new_uint16
    - g_variant_new_int32
    - g_variant_new_double
    - g_variant_new_int64
    - g_variant_new_uint32
    - g_variant_new_uint64
    - g_value_get_int
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_settings_set_mapping_int (const GValue *value,
      const GVariantType *expected_type) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_int16
      Src: /src/glib/gio/gsettings-mapping.c:151,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:158,1
    - Dst: g_variant_new_int32
      Src: /src/glib/gio/gsettings-mapping.c:161,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:168,1
    - Dst: g_variant_new_handle
      Src: /src/glib/gio/gsettings-mapping.c:181,1
    - Dst: g_value_get_uint64
      Src: /src/glib/gio/gsettings-mapping.c:144,1
    - Dst: G_VALUE_HOLDS_UINT64
      Src: /src/glib/gio/gsettings-mapping.c:143,1
    - Dst: g_variant_new_uint16
      Src: /src/glib/gio/gsettings-mapping.c:156,1
    - Dst: g_variant_new_uint32
      Src: /src/glib/gio/gsettings-mapping.c:166,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:173,1
    - Dst: G_VALUE_HOLDS_UINT
      Src: /src/glib/gio/gsettings-mapping.c:141,1
    - Dst: g_value_get_uint
      Src: /src/glib/gio/gsettings-mapping.c:142,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:148,1
    - Dst: g_variant_new_int64
      Src: /src/glib/gio/gsettings-mapping.c:171,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:178,1
    - Dst: g_variant_new_double
      Src: /src/glib/gio/gsettings-mapping.c:184,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:153,1
    - Dst: g_variant_new_uint64
      Src: /src/glib/gio/gsettings-mapping.c:176,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:163,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:183,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 187
    functionName: g_settings_set_mapping_unsigned_int
    functionSourceFile: /src/glib/gio/gsettings-mapping.c
    functionUses: []
    functionsReached:
    - g_variant_type_equal
    - G_VALUE_HOLDS_UINT64
    - g_variant_new_handle
    - g_variant_new_uint32
    - G_VALUE_HOLDS_UINT
    - g_variant_new_int16
    - g_value_get_uint
    - g_variant_new_uint16
    - g_variant_new_int32
    - g_variant_new_double
    - g_variant_new_int64
    - g_value_get_uint64
    - g_variant_new_uint64
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_settings_set_mapping_unsigned_int (const GValue
      *value, const GVariantType *expected_type) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get_type
      Src: /src/glib/gio/gsettings-mapping.c:246,1
    - Dst: g_variant_get_double
      Src: /src/glib/gio/gsettings-mapping.c:249,1
    - Dst: g_value_set_int
      Src: /src/glib/gio/gsettings-mapping.c:256,1
    - Dst: G_VALUE_HOLDS_INT
      Src: /src/glib/gio/gsettings-mapping.c:254,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:248,1
    - Dst: G_VALUE_HOLDS_UINT
      Src: /src/glib/gio/gsettings-mapping.c:259,1
    - Dst: g_value_set_uint
      Src: /src/glib/gio/gsettings-mapping.c:261,1
    - Dst: G_VALUE_HOLDS_INT64
      Src: /src/glib/gio/gsettings-mapping.c:264,1
    - Dst: g_value_set_int64
      Src: /src/glib/gio/gsettings-mapping.c:266,1
    - Dst: G_VALUE_HOLDS_UINT64
      Src: /src/glib/gio/gsettings-mapping.c:269,1
    - Dst: g_value_set_double
      Src: /src/glib/gio/gsettings-mapping.c:276,1
    - Dst: g_value_set_uint64
      Src: /src/glib/gio/gsettings-mapping.c:271,1
    - Dst: G_VALUE_HOLDS_DOUBLE
      Src: /src/glib/gio/gsettings-mapping.c:274,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 2
    argNames:
    - value
    - variant
    argTypes:
    - GValue*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 281
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 281
    functionName: g_settings_get_mapping_float
    functionSourceFile: /src/glib/gio/gsettings-mapping.c
    functionUses: []
    functionsReached:
    - g_variant_type_equal
    - G_VALUE_HOLDS_UINT64
    - g_value_set_uint
    - g_variant_get_type
    - g_value_set_int
    - G_VALUE_HOLDS_UINT
    - G_VALUE_HOLDS_INT
    - G_VALUE_HOLDS_INT64
    - g_value_set_uint64
    - G_VALUE_HOLDS_DOUBLE
    - g_variant_get_double
    - g_value_set_double
    - g_value_set_int64
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_settings_get_mapping_float (GValue *value, GVariant
      *variant) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_boolean
      Src: /src/glib/gio/gsettings-mapping.c:339,1
    - Dst: G_VALUE_HOLDS_UINT
      Src: /src/glib/gio/gsettings-mapping.c:361,1
    - Dst: G_VALUE_HOLDS_UINT64
      Src: /src/glib/gio/gsettings-mapping.c:362,1
    - Dst: g_settings_set_mapping_int
      Src: /src/glib/gio/gsettings-mapping.c:356,1
    - Dst: G_VALUE_HOLDS_STRING
      Src: /src/glib/gio/gsettings-mapping.c:365,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gsettings-mapping.c:367,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:369,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:373,1
    - Dst: g_value_get_boxed
      Src: /src/glib/gio/gsettings-mapping.c:383,1
    - Dst: G_VALUE_HOLDS_ENUM
      Src: /src/glib/gio/gsettings-mapping.c:387,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gsettings-mapping.c:372,1
    - Dst: g_variant_builder_init_static
      Src: /src/glib/gio/gsettings-mapping.c:412,1
    - Dst: g_value_get_enum
      Src: /src/glib/gio/gsettings-mapping.c:394,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gio/gsettings-mapping.c:409,1
    - Dst: g_variant_type_dup_string
      Src: /src/glib/gio/gsettings-mapping.c:430,1
    - Dst: g_critical
      Src: /src/glib/gio/gsettings-mapping.c:431,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:338,1
    - Dst: g_variant_new_byte
      Src: /src/glib/gio/gsettings-mapping.c:348,1
    - Dst: G_VALUE_HOLDS_DOUBLE
      Src: /src/glib/gio/gsettings-mapping.c:358,1
    - Dst: g_variant_new_byte
      Src: /src/glib/gio/gsettings-mapping.c:350,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gsettings-mapping.c:370,1
    - Dst: g_variant_new_bytestring
      Src: /src/glib/gio/gsettings-mapping.c:372,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gsettings-mapping.c:374,1
    - Dst: g_variant_new_signature
      Src: /src/glib/gio/gsettings-mapping.c:376,1
    - Dst: g_variant_new_strv
      Src: /src/glib/gio/gsettings-mapping.c:383,1
    - Dst: g_type_class_peek
      Src: /src/glib/gio/gsettings-mapping.c:393,1
    - Dst: g_variant_builder_clear
      Src: /src/glib/gio/gsettings-mapping.c:419,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gsettings-mapping.c:423,1
    - Dst: g_flags_get_first_value
      Src: /src/glib/gio/gsettings-mapping.c:415,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gio/gsettings-mapping.c:393,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gsettings-mapping.c:412,1
    - Dst: g_free
      Src: /src/glib/gio/gsettings-mapping.c:432,1
    - Dst: g_value_get_flags
      Src: /src/glib/gio/gsettings-mapping.c:410,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gsettings-mapping.c:339,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:345,1
    - Dst: G_VALUE_HOLDS_CHAR
      Src: /src/glib/gio/gsettings-mapping.c:347,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:371,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:375,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gsettings-mapping.c:376,1
    - Dst: G_VALUE_HOLDS
      Src: /src/glib/gio/gsettings-mapping.c:379,1
    - Dst: g_value_get_boxed
      Src: /src/glib/gio/gsettings-mapping.c:381,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gsettings-mapping.c:397,1
    - Dst: G_VALUE_HOLDS_FLAGS
      Src: /src/glib/gio/gsettings-mapping.c:402,1
    - Dst: g_type_class_peek
      Src: /src/glib/gio/gsettings-mapping.c:409,1
    - Dst: g_variant_new_object_path
      Src: /src/glib/gio/gsettings-mapping.c:374,1
    - Dst: G_VALUE_HOLDS_BOOLEAN
      Src: /src/glib/gio/gsettings-mapping.c:336,1
    - Dst: G_VALUE_HOLDS_CHAR
      Src: /src/glib/gio/gsettings-mapping.c:342,1
    - Dst: G_VALUE_HOLDS_UCHAR
      Src: /src/glib/gio/gsettings-mapping.c:343,1
    - Dst: g_value_get_schar
      Src: /src/glib/gio/gsettings-mapping.c:348,1
    - Dst: G_VALUE_HOLDS_INT64
      Src: /src/glib/gio/gsettings-mapping.c:355,1
    - Dst: G_VALUE_HOLDS_INT
      Src: /src/glib/gio/gsettings-mapping.c:354,1
    - Dst: g_settings_set_mapping_float
      Src: /src/glib/gio/gsettings-mapping.c:359,1
    - Dst: g_value_get_uchar
      Src: /src/glib/gio/gsettings-mapping.c:350,1
    - Dst: g_settings_set_mapping_unsigned_int
      Src: /src/glib/gio/gsettings-mapping.c:363,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gsettings-mapping.c:370,1
    - Dst: g_enum_get_value
      Src: /src/glib/gio/gsettings-mapping.c:394,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gsettings-mapping.c:427,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 435
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 435
    functionName: g_settings_set_mapping
    functionSourceFile: /src/glib/gio/gsettings-mapping.c
    functionUses: []
    functionsReached:
    - G_VALUE_HOLDS_UINT64
    - g_settings_set_mapping_unsigned_int
    - G_VALUE_HOLDS_INT
    - G_VALUE_HOLDS_UCHAR
    - G_VALUE_HOLDS_STRING
    - g_variant_new_object_path
    - g_variant_new_byte
    - g_variant_new_signature
    - G_VALUE_TYPE
    - g_variant_builder_init_static
    - g_free
    - G_VALUE_HOLDS_UINT
    - g_flags_get_first_value
    - G_VALUE_HOLDS_ENUM
    - g_variant_type_dup_string
    - g_variant_new_bytestring
    - g_value_get_flags
    - g_variant_builder_end
    - g_value_get_schar
    - g_variant_type_equal
    - g_variant_new_boolean
    - g_enum_get_value
    - G_VALUE_HOLDS_INT64
    - G_VALUE_HOLDS_FLAGS
    - G_VALUE_HOLDS_DOUBLE
    - G_VARIANT_TYPE
    - G_VALUE_HOLDS
    - g_settings_set_mapping_float
    - g_variant_new_strv
    - g_value_get_boolean
    - g_value_get_string
    - g_type_class_peek
    - g_variant_builder_clear
    - G_VALUE_HOLDS_CHAR
    - g_variant_new_string
    - g_value_get_boxed
    - g_settings_set_mapping_int
    - g_value_get_uchar
    - g_critical
    - G_VALUE_HOLDS_BOOLEAN
    - g_variant_builder_add
    - g_value_get_enum
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_settings_set_mapping (const GValue *value, const GVariantType
      *expected_type, gpointer user_data) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: G_VALUE_HOLDS_DOUBLE
      Src: /src/glib/gio/gsettings-mapping.c:88,1
    - Dst: g_variant_new_int16
      Src: /src/glib/gio/gsettings-mapping.c:97,1
    - Dst: g_value_get_double
      Src: /src/glib/gio/gsettings-mapping.c:89,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:94,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:99,1
    - Dst: g_variant_new_uint16
      Src: /src/glib/gio/gsettings-mapping.c:102,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:104,1
    - Dst: g_variant_new_int32
      Src: /src/glib/gio/gsettings-mapping.c:107,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:109,1
    - Dst: g_variant_new_uint32
      Src: /src/glib/gio/gsettings-mapping.c:112,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:114,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:124,1
    - Dst: g_variant_new_double
      Src: /src/glib/gio/gsettings-mapping.c:130,1
    - Dst: g_variant_new_uint64
      Src: /src/glib/gio/gsettings-mapping.c:122,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:119,1
    - Dst: g_variant_new_handle
      Src: /src/glib/gio/gsettings-mapping.c:127,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:129,1
    - Dst: g_variant_new_int64
      Src: /src/glib/gio/gsettings-mapping.c:117,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 133
    functionName: g_settings_set_mapping_float
    functionSourceFile: /src/glib/gio/gsettings-mapping.c
    functionUses: []
    functionsReached:
    - g_variant_type_equal
    - g_variant_new_handle
    - g_value_get_double
    - g_variant_new_int16
    - g_variant_new_uint16
    - G_VALUE_HOLDS_DOUBLE
    - g_variant_new_int32
    - g_variant_new_double
    - g_variant_new_int64
    - g_variant_new_uint32
    - g_variant_new_uint64
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_settings_set_mapping_float (const GValue *value,
      const GVariantType *expected_type) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:202,1
    - Dst: g_variant_get_int64
      Src: /src/glib/gio/gsettings-mapping.c:203,1
    - Dst: G_VALUE_HOLDS_UINT64
      Src: /src/glib/gio/gsettings-mapping.c:224,1
    - Dst: g_value_set_uint64
      Src: /src/glib/gio/gsettings-mapping.c:226,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:204,1
    - Dst: g_variant_get_handle
      Src: /src/glib/gio/gsettings-mapping.c:205,1
    - Dst: g_value_set_int64
      Src: /src/glib/gio/gsettings-mapping.c:221,1
    - Dst: G_VALUE_HOLDS_INT64
      Src: /src/glib/gio/gsettings-mapping.c:219,1
    - Dst: g_variant_get_type
      Src: /src/glib/gio/gsettings-mapping.c:196,1
    - Dst: g_variant_get_int16
      Src: /src/glib/gio/gsettings-mapping.c:199,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:198,1
    - Dst: g_value_set_uint
      Src: /src/glib/gio/gsettings-mapping.c:216,1
    - Dst: G_VALUE_HOLDS_UINT
      Src: /src/glib/gio/gsettings-mapping.c:214,1
    - Dst: g_value_set_double
      Src: /src/glib/gio/gsettings-mapping.c:231,1
    - Dst: G_VALUE_HOLDS_DOUBLE
      Src: /src/glib/gio/gsettings-mapping.c:229,1
    - Dst: g_variant_get_int32
      Src: /src/glib/gio/gsettings-mapping.c:201,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:200,1
    - Dst: G_VALUE_HOLDS_INT
      Src: /src/glib/gio/gsettings-mapping.c:209,1
    - Dst: g_value_set_int
      Src: /src/glib/gio/gsettings-mapping.c:211,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 2
    argNames:
    - value
    - variant
    argTypes:
    - GValue*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 236
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 236
    functionName: g_settings_get_mapping_int
    functionSourceFile: /src/glib/gio/gsettings-mapping.c
    functionUses: []
    functionsReached:
    - g_variant_type_equal
    - G_VALUE_HOLDS_UINT64
    - g_value_set_uint
    - g_variant_get_handle
    - g_variant_get_type
    - g_variant_get_int64
    - g_variant_get_int32
    - g_value_set_int
    - G_VALUE_HOLDS_UINT
    - G_VALUE_HOLDS_INT
    - G_VALUE_HOLDS_INT64
    - g_value_set_uint64
    - G_VALUE_HOLDS_DOUBLE
    - g_value_set_double
    - g_value_set_int64
    - g_variant_get_int16
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_settings_get_mapping_int (GValue *value, GVariant
      *variant) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get_type
      Src: /src/glib/gio/gsettings-mapping.c:289,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:293,1
    - Dst: g_variant_get_uint32
      Src: /src/glib/gio/gsettings-mapping.c:294,1
    - Dst: g_variant_get_uint16
      Src: /src/glib/gio/gsettings-mapping.c:292,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:291,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:295,1
    - Dst: g_variant_get_uint64
      Src: /src/glib/gio/gsettings-mapping.c:296,1
    - Dst: G_VALUE_HOLDS_INT
      Src: /src/glib/gio/gsettings-mapping.c:300,1
    - Dst: g_value_set_int
      Src: /src/glib/gio/gsettings-mapping.c:302,1
    - Dst: G_VALUE_HOLDS_UINT
      Src: /src/glib/gio/gsettings-mapping.c:305,1
    - Dst: g_value_set_int64
      Src: /src/glib/gio/gsettings-mapping.c:312,1
    - Dst: G_VALUE_HOLDS_INT64
      Src: /src/glib/gio/gsettings-mapping.c:310,1
    - Dst: g_value_set_uint64
      Src: /src/glib/gio/gsettings-mapping.c:317,1
    - Dst: G_VALUE_HOLDS_DOUBLE
      Src: /src/glib/gio/gsettings-mapping.c:320,1
    - Dst: g_value_set_double
      Src: /src/glib/gio/gsettings-mapping.c:322,1
    - Dst: G_VALUE_HOLDS_UINT64
      Src: /src/glib/gio/gsettings-mapping.c:315,1
    - Dst: g_value_set_uint
      Src: /src/glib/gio/gsettings-mapping.c:307,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 2
    argNames:
    - value
    - variant
    argTypes:
    - GValue*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 327
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 327
    functionName: g_settings_get_mapping_unsigned_int
    functionSourceFile: /src/glib/gio/gsettings-mapping.c
    functionUses: []
    functionsReached:
    - g_variant_type_equal
    - G_VALUE_HOLDS_UINT64
    - g_value_set_int64
    - g_value_set_uint
    - g_variant_get_uint32
    - g_variant_get_type
    - g_value_set_int
    - G_VALUE_HOLDS_UINT
    - G_VALUE_HOLDS_INT
    - G_VALUE_HOLDS_INT64
    - g_value_set_uint64
    - G_VALUE_HOLDS_DOUBLE
    - g_variant_get_uint64
    - g_value_set_double
    - g_variant_get_uint16
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_settings_get_mapping_unsigned_int (GValue *value,
      GVariant *variant) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get_boolean
      Src: /src/glib/gio/gsettings-mapping.c:446,1
    - Dst: g_variant_get_byte
      Src: /src/glib/gio/gsettings-mapping.c:453,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gsettings-mapping.c:470,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gsettings-mapping.c:463,1
    - Dst: g_settings_get_mapping_unsigned_int
      Src: /src/glib/gio/gsettings-mapping.c:473,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gsettings-mapping.c:477,1
    - Dst: g_type_class_peek
      Src: /src/glib/gio/gsettings-mapping.c:492,1
    - Dst: g_enum_get_value_by_nick
      Src: /src/glib/gio/gsettings-mapping.c:494,1
    - Dst: G_VALUE_HOLDS
      Src: /src/glib/gio/gsettings-mapping.c:508,1
    - Dst: g_value_take_boxed
      Src: /src/glib/gio/gsettings-mapping.c:510,1
    - Dst: g_variant_iter_next
      Src: /src/glib/gio/gsettings-mapping.c:525,1
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/gsettings-mapping.c:524,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gsettings-mapping.c:546,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gsettings-mapping.c:446,1
    - Dst: G_VALUE_HOLDS_CHAR
      Src: /src/glib/gio/gsettings-mapping.c:454,1
    - Dst: g_value_set_schar
      Src: /src/glib/gio/gsettings-mapping.c:455,1
    - Dst: g_variant_get_byte
      Src: /src/glib/gio/gsettings-mapping.c:455,1
    - Dst: g_settings_get_mapping_float
      Src: /src/glib/gio/gsettings-mapping.c:468,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gsettings-mapping.c:462,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gsettings-mapping.c:472,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gsettings-mapping.c:476,1
    - Dst: G_VALUE_HOLDS_STRING
      Src: /src/glib/gio/gsettings-mapping.c:479,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gsettings-mapping.c:481,1
    - Dst: g_flags_get_value_by_nick
      Src: /src/glib/gio/gsettings-mapping.c:527,1
    - Dst: g_critical
      Src: /src/glib/gio/gsettings-mapping.c:550,1
    - Dst: g_type_class_peek
      Src: /src/glib/gio/gsettings-mapping.c:522,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gsettings-mapping.c:450,1
    - Dst: G_VALUE_HOLDS_UCHAR
      Src: /src/glib/gio/gsettings-mapping.c:452,1
    - Dst: g_settings_get_mapping_int
      Src: /src/glib/gio/gsettings-mapping.c:465,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gsettings-mapping.c:471,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gsettings-mapping.c:481,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gio/gsettings-mapping.c:492,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gsettings-mapping.c:493,1
    - Dst: g_value_set_enum
      Src: /src/glib/gio/gsettings-mapping.c:498,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gsettings-mapping.c:506,1
    - Dst: G_VALUE_HOLDS_FLAGS
      Src: /src/glib/gio/gsettings-mapping.c:514,1
    - Dst: g_value_set_flags
      Src: /src/glib/gio/gsettings-mapping.c:540,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gsettings-mapping.c:551,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gsettings-mapping.c:442,1
    - Dst: G_VALUE_HOLDS_BOOLEAN
      Src: /src/glib/gio/gsettings-mapping.c:444,1
    - Dst: g_value_set_uchar
      Src: /src/glib/gio/gsettings-mapping.c:453,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gsettings-mapping.c:461,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gsettings-mapping.c:464,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gsettings-mapping.c:467,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gsettings-mapping.c:475,1
    - Dst: G_VALUE_HOLDS_ENUM
      Src: /src/glib/gio/gsettings-mapping.c:485,1
    - Dst: g_warning
      Src: /src/glib/gio/gsettings-mapping.c:502,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gsettings-mapping.c:506,1
    - Dst: g_variant_dup_strv
      Src: /src/glib/gio/gsettings-mapping.c:510,1
    - Dst: g_variant_get_bytestring
      Src: /src/glib/gio/gsettings-mapping.c:546,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gsettings-mapping.c:544,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gio/gsettings-mapping.c:522,1
    - Dst: g_warning
      Src: /src/glib/gio/gsettings-mapping.c:534,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 80
    argCount: 3
    argNames:
    - value
    - variant
    - user_data
    argTypes:
    - GValue*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 554
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 554
    functionName: g_settings_get_mapping
    functionSourceFile: /src/glib/gio/gsettings-mapping.c
    functionUses: []
    functionsReached:
    - g_variant_iter_next
    - G_VALUE_HOLDS_STRING
    - G_VALUE_HOLDS_UCHAR
    - g_settings_get_mapping_float
    - g_value_set_schar
    - g_value_take_boxed
    - g_value_set_enum
    - g_warning
    - g_variant_is_of_type
    - G_VALUE_TYPE
    - g_variant_get_string
    - G_VALUE_HOLDS_ENUM
    - g_variant_dup_strv
    - g_variant_get_type_string
    - g_settings_get_mapping_int
    - g_variant_get_boolean
    - g_variant_iter_init
    - g_value_set_uchar
    - g_settings_get_mapping_unsigned_int
    - g_value_set_boolean
    - g_value_set_string
    - g_flags_get_value_by_nick
    - g_variant_get_bytestring
    - G_VALUE_HOLDS_FLAGS
    - g_variant_get_byte
    - G_VARIANT_TYPE
    - g_enum_get_value_by_nick
    - G_VALUE_HOLDS
    - g_value_set_flags
    - g_type_class_peek
    - G_VALUE_HOLDS_CHAR
    - g_critical
    - G_VALUE_HOLDS_BOOLEAN
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_settings_get_mapping (GValue *value, GVariant *variant,
      gpointer user_data) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:576,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gsettings-mapping.c:586,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:588,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:563,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:572,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:573,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:566,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:575,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:579,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:581,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:584,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:590,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:574,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:578,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:583,1
    - Dst: G_TYPE_IS_ENUM
      Src: /src/glib/gio/gsettings-mapping.c:587,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gsettings-mapping.c:582,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gsettings-mapping.c:590,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:577,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:582,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings-mapping.c:586,1
    - Dst: G_TYPE_IS_FLAGS
      Src: /src/glib/gio/gsettings-mapping.c:589,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 55
    argCount: 2
    argNames:
    - gvalue_type
    - variant_type
    argTypes:
    - GType
    - GVariantType*
    constantsTouched: []
    func_position:
      end: 593
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 593
    functionName: g_settings_mapping_is_compatible
    functionSourceFile: /src/glib/gio/gsettings-mapping.c
    functionUses: []
    functionsReached:
    - g_variant_type_equal
    - G_TYPE_IS_FLAGS
    - G_VARIANT_TYPE
    - G_TYPE_IS_ENUM
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_settings_mapping_is_compatible (GType gvalue_type, const
      GVariantType *variant_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glib_should_use_portal
      Src: /src/glib/gio/gportalnotificationbackend.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: g_portal_notification_backend_is_supported
    functionSourceFile: /src/glib/gio/gportalnotificationbackend.c
    functionUses: []
    functionsReached:
    - glib_should_use_portal
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_portal_notification_backend_is_supported (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/gportalnotificationbackend.c:75,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gportalnotificationbackend.c:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - backend
    - id
    argTypes:
    - GNotificationBackend*
    - gchar*
    constantsTouched: []
    func_position:
      end: 83
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 83
    functionName: g_portal_notification_backend_withdraw_notification
    functionSourceFile: /src/glib/gio/gportalnotificationbackend.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_call
    - g_variant_new
    linkageType: ''
    returnType: void
    signature: 'static void g_portal_notification_backend_withdraw_notification (GNotificationBackend
      *backend, const gchar *id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/gportalnotificationbackend.c:59,1
    - Dst: g_notification_serialize
      Src: /src/glib/gio/gportalnotificationbackend.c:66,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gportalnotificationbackend.c:64,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - backend
    - id
    - notification
    argTypes:
    - GNotificationBackend*
    - gchar*
    - GNotification*
    constantsTouched: []
    func_position:
      end: 69
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 69
    functionName: g_portal_notification_backend_send_notification
    functionSourceFile: /src/glib/gio/gportalnotificationbackend.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_call
    - g_variant_new
    - g_notification_serialize
    linkageType: ''
    returnType: void
    signature: 'static void g_portal_notification_backend_send_notification (GNotificationBackend
      *backend, const gchar *id, GNotification *notification) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_NOTIFICATION_BACKEND_CLASS
      Src: /src/glib/gio/gportalnotificationbackend.c:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - class
    argTypes:
    - GPortalNotificationBackendClass*
    constantsTouched: []
    func_position:
      end: 98
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 98
    functionName: g_portal_notification_backend_class_init
    functionSourceFile: /src/glib/gio/gportalnotificationbackend.c
    functionUses: []
    functionsReached:
    - G_NOTIFICATION_BACKEND_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_portal_notification_backend_class_init (GPortalNotificationBackendClass
      *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - backend
    argTypes:
    - GPortalNotificationBackend*
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: g_portal_notification_backend_init
    functionSourceFile: /src/glib/gio/gportalnotificationbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_portal_notification_backend_init (GPortalNotificationBackend
      *backend) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gosxnetworkmonitor.c:57,1
    - Dst: callback
      Src: /src/glib/gio/gosxnetworkmonitor.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - source
    - callback
    - user_data
    argTypes:
    - GSource*
    - GSourceFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: osx_network_monitor_source_dispatch
    functionSourceFile: /src/glib/gio/gosxnetworkmonitor.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - callback
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean osx_network_monitor_source_dispatch (GSource *source,
      GSourceFunc callback, gpointer user_data) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: get_rtaddrs
      Src: /src/glib/gio/gosxnetworkmonitor.c:170,1
    - Dst: g_inet_address_mask_new
      Src: /src/glib/gio/gosxnetworkmonitor.c:205,1
    - Dst: g_inet_address_new_any
      Src: /src/glib/gio/gosxnetworkmonitor.c:202,1
    - Dst: get_last_bit_position
      Src: /src/glib/gio/gosxnetworkmonitor.c:189,1
    - Dst: g_inet_address_new_from_bytes
      Src: /src/glib/gio/gosxnetworkmonitor.c:200,1
    - Dst: g_warning
      Src: /src/glib/gio/gosxnetworkmonitor.c:209,1
    - Dst: g_error_free
      Src: /src/glib/gio/gosxnetworkmonitor.c:210,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gosxnetworkmonitor.c:213,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gosxnetworkmonitor.c:215,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 216
    functionName: get_network_mask
    functionSourceFile: /src/glib/gio/gosxnetworkmonitor.c
    functionUses: []
    functionsReached:
    - g_inet_address_new_from_bytes
    - g_steal_pointer
    - g_inet_address_new_any
    - g_warning
    - g_object_unref
    - get_rtaddrs
    - get_last_bit_position
    - g_error_free
    - g_inet_address_mask_new
    linkageType: ''
    returnType: GInetAddressMask*
    signature: 'static GInetAddressMask *get_network_mask (const struct rt_msghdr
      *rtm) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_bit_nth_lsf
      Src: /src/glib/gio/gosxnetworkmonitor.c:152,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ip
    - len_in_bits
    argTypes:
    - guint8*
    - gsize
    constantsTouched: []
    func_position:
      end: 155
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 155
    functionName: get_last_bit_position
    functionSourceFile: /src/glib/gio/gosxnetworkmonitor.c
    functionUses: []
    functionsReached:
    - g_bit_nth_lsf
    linkageType: ''
    returnType: gsize
    signature: 'static gsize get_last_bit_position (const guint8 *ip, gsize len_in_bits) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_debug
      Src: /src/glib/gio/gosxnetworkmonitor.c:300,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gosxnetworkmonitor.c:305,1
    - Dst: g_source_destroy
      Src: /src/glib/gio/gosxnetworkmonitor.c:304,1
    - Dst: g_clear_fd
      Src: /src/glib/gio/gosxnetworkmonitor.c:308,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - self
    argTypes:
    - GOsxNetworkMonitor*
    constantsTouched: []
    func_position:
      end: 309
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 309
    functionName: clear_network_monitor
    functionSourceFile: /src/glib/gio/gosxnetworkmonitor.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_source_destroy
    - g_debug
    - g_clear_fd
    linkageType: ''
    returnType: void
    signature: 'static void clear_network_monitor (GOsxNetworkMonitor *self) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/glib/gio/gosxnetworkmonitor.c:366,1
    - Dst: fcntl
      Src: /src/glib/gio/gosxnetworkmonitor.c:380,1
    - Dst: fcntl
      Src: /src/glib/gio/gosxnetworkmonitor.c:380,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gosxnetworkmonitor.c:371,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gosxnetworkmonitor.c:371,1
    - Dst: osx_network_monitor_source_new
      Src: /src/glib/gio/gosxnetworkmonitor.c:382,1
    - Dst: g_source_set_priority
      Src: /src/glib/gio/gosxnetworkmonitor.c:384,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gosxnetworkmonitor.c:385,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gosxnetworkmonitor.c:389,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gosxnetworkmonitor.c:391,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - self
    - error
    argTypes:
    - GOsxNetworkMonitor*
    - GError**
    constantsTouched: []
    func_position:
      end: 394
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 394
    functionName: g_osx_network_monitor_start_monitoring
    functionSourceFile: /src/glib/gio/gosxnetworkmonitor.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_source_set_priority
    - g_source_set_callback
    - osx_network_monitor_source_new
    - g_io_error_from_errno
    - g_source_attach
    - socket
    - g_set_error_literal
    - fcntl
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_osx_network_monitor_start_monitoring (GOsxNetworkMonitor
      *self, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_OSX_NETWORK_MONITOR
      Src: /src/glib/gio/gosxnetworkmonitor.c:407,1
    - Dst: osx_network_manager_process_table
      Src: /src/glib/gio/gosxnetworkmonitor.c:410,1
    - Dst: g_osx_network_monitor_start_monitoring
      Src: /src/glib/gio/gosxnetworkmonitor.c:416,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - initable
    - cancellable
    - error
    argTypes:
    - GInitable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 422
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 422
    functionName: g_osx_network_monitor_initable_init
    functionSourceFile: /src/glib/gio/gosxnetworkmonitor.c
    functionUses: []
    functionsReached:
    - g_osx_network_monitor_start_monitoring
    - G_OSX_NETWORK_MONITOR
    - osx_network_manager_process_table
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_osx_network_monitor_initable_init (GInitable *initable,
      GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gosxnetworkmonitor.c:437,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - osx_class
    argTypes:
    - GOsxNetworkMonitorClass*
    constantsTouched: []
    func_position:
      end: 440
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 440
    functionName: g_osx_network_monitor_class_init
    functionSourceFile: /src/glib/gio/gosxnetworkmonitor.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_osx_network_monitor_class_init (GOsxNetworkMonitorClass
      *osx_class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_source_new
      Src: /src/glib/gio/gosxnetworkmonitor.c:79,1
    - Dst: g_debug
      Src: /src/glib/gio/gosxnetworkmonitor.c:85,1
    - Dst: g_source_add_unix_fd
      Src: /src/glib/gio/gosxnetworkmonitor.c:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 88
    functionName: osx_network_monitor_source_new
    functionSourceFile: /src/glib/gio/gosxnetworkmonitor.c
    functionUses: []
    functionsReached:
    - g_debug
    - g_source_add_unix_fd
    - g_source_new
    linkageType: ''
    returnType: GSource*
    signature: 'static GSource *osx_network_monitor_source_new (gint sockfd) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sysctl
      Src: /src/glib/gio/gosxnetworkmonitor.c:245,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gosxnetworkmonitor.c:249,1
    - Dst: g_malloc0
      Src: /src/glib/gio/gosxnetworkmonitor.c:256,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/gosxnetworkmonitor.c:245,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gosxnetworkmonitor.c:249,1
    - Dst: sysctl
      Src: /src/glib/gio/gosxnetworkmonitor.c:259,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/gosxnetworkmonitor.c:259,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gosxnetworkmonitor.c:263,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gosxnetworkmonitor.c:263,1
    - Dst: g_free
      Src: /src/glib/gio/gosxnetworkmonitor.c:266,1
    - Dst: G_NETWORK_MONITOR_BASE
      Src: /src/glib/gio/gosxnetworkmonitor.c:288,1
    - Dst: g_free
      Src: /src/glib/gio/gosxnetworkmonitor.c:292,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gosxnetworkmonitor.c:284,1
    - Dst: g_ptr_array_steal
      Src: /src/glib/gio/gosxnetworkmonitor.c:289,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/gio/gosxnetworkmonitor.c:273,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gosxnetworkmonitor.c:284,1
    - Dst: get_network_mask
      Src: /src/glib/gio/gosxnetworkmonitor.c:280,1
    - Dst: g_network_monitor_base_set_networks
      Src: /src/glib/gio/gosxnetworkmonitor.c:288,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 2
    argNames:
    - self
    - error
    argTypes:
    - GOsxNetworkMonitor*
    - GError**
    constantsTouched: []
    func_position:
      end: 295
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 295
    functionName: osx_network_manager_process_table
    functionSourceFile: /src/glib/gio/gosxnetworkmonitor.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_network_monitor_base_set_networks
    - g_io_error_from_errno
    - g_malloc0
    - G_N_ELEMENTS
    - g_ptr_array_steal
    - get_network_mask
    - g_set_error_literal
    - g_ptr_array_new_with_free_func
    - G_NETWORK_MONITOR_BASE
    - sysctl
    - g_free
    - g_ptr_array_add
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean osx_network_manager_process_table (GOsxNetworkMonitor
      *self, GError **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/glib/gio/gosxnetworkmonitor.c:318,1
    - Dst: clear_network_monitor
      Src: /src/glib/gio/gosxnetworkmonitor.c:330,1
    - Dst: g_warning
      Src: /src/glib/gio/gosxnetworkmonitor.c:329,1
    - Dst: get_network_mask
      Src: /src/glib/gio/gosxnetworkmonitor.c:338,1
    - Dst: read
      Src: /src/glib/gio/gosxnetworkmonitor.c:319,1
    - Dst: g_network_monitor_base_add_network
      Src: /src/glib/gio/gosxnetworkmonitor.c:341,1
    - Dst: G_NETWORK_MONITOR_BASE
      Src: /src/glib/gio/gosxnetworkmonitor.c:341,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gosxnetworkmonitor.c:342,1
    - Dst: get_network_mask
      Src: /src/glib/gio/gosxnetworkmonitor.c:346,1
    - Dst: g_network_monitor_base_remove_network
      Src: /src/glib/gio/gosxnetworkmonitor.c:349,1
    - Dst: G_NETWORK_MONITOR_BASE
      Src: /src/glib/gio/gosxnetworkmonitor.c:349,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gosxnetworkmonitor.c:350,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 358
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 358
    functionName: osx_network_monitor_callback
    functionSourceFile: /src/glib/gio/gosxnetworkmonitor.c
    functionUses: []
    functionsReached:
    - g_network_monitor_base_add_network
    - g_warning
    - g_object_unref
    - g_network_monitor_base_remove_network
    - read
    - get_network_mask
    - clear_network_monitor
    - G_NETWORK_MONITOR_BASE
    - memset
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean osx_network_monitor_callback (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - GOsxNetworkMonitor*
    constantsTouched: []
    func_position:
      end: 400
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 400
    functionName: g_osx_network_monitor_init
    functionSourceFile: /src/glib/gio/gosxnetworkmonitor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_osx_network_monitor_init (GOsxNetworkMonitor *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OSX_NETWORK_MONITOR
      Src: /src/glib/gio/gosxnetworkmonitor.c:427,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gosxnetworkmonitor.c:431,1
    - Dst: clear_network_monitor
      Src: /src/glib/gio/gosxnetworkmonitor.c:429,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 432
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 432
    functionName: g_osx_network_monitor_finalize
    functionSourceFile: /src/glib/gio/gosxnetworkmonitor.c
    functionUses: []
    functionsReached:
    - clear_network_monitor
    - G_OSX_NETWORK_MONITOR
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_osx_network_monitor_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - monitor_iface
    argTypes:
    - GNetworkMonitorInterface*
    constantsTouched: []
    func_position:
      end: 445
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 445
    functionName: g_osx_network_monitor_iface_init
    functionSourceFile: /src/glib/gio/gosxnetworkmonitor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_osx_network_monitor_iface_init (GNetworkMonitorInterface
      *monitor_iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_type_interface_peek_parent
      Src: /src/glib/gio/gosxnetworkmonitor.c:450,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GInitableIface*
    constantsTouched: []
    func_position:
      end: 453
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 453
    functionName: g_osx_network_monitor_initable_iface_init
    functionSourceFile: /src/glib/gio/gosxnetworkmonitor.c
    functionUses: []
    functionsReached:
    - g_type_interface_peek_parent
    linkageType: ''
    returnType: void
    signature: 'static void g_osx_network_monitor_initable_iface_init (GInitableIface
      *iface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NEXT_SA
      Src: /src/glib/gio/gosxnetworkmonitor.c:123,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - addrs_mask
    - sa
    - rti_info
    argTypes:
    - unsigned int
    - struct sockaddr*
    - struct sockaddr**
    constantsTouched: []
    func_position:
      end: 128
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 128
    functionName: get_rtaddrs
    functionSourceFile: /src/glib/gio/gosxnetworkmonitor.c
    functionUses: []
    functionsReached:
    - NEXT_SA
    linkageType: ''
    returnType: void
    signature: 'static void get_rtaddrs (unsigned int addrs_mask, const struct sockaddr
      *sa, const struct sockaddr **rti_info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_lookup
      Src: /src/glib/gio/gpowerprofilemonitorportal.c:75,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gpowerprofilemonitorportal.c:82,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gpowerprofilemonitorportal.c:82,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - proxy
    - changed_properties
    - invalidated_properties
    - user_data
    argTypes:
    - GDBusProxy*
    - GVariant*
    - GStrv
    - gpointer
    constantsTouched: []
    func_position:
      end: 83
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 83
    functionName: proxy_properties_changed
    functionSourceFile: /src/glib/gio/gpowerprofilemonitorportal.c
    functionUses: []
    functionsReached:
    - g_object_notify
    - G_OBJECT
    - g_variant_lookup
    linkageType: ''
    returnType: void
    signature: 'static void proxy_properties_changed (GDBusProxy *proxy, GVariant
      *changed_properties, GStrv invalidated_properties, gpointer user_data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_POWER_PROFILE_MONITOR_PORTAL
      Src: /src/glib/gio/gpowerprofilemonitorportal.c:109,1
    - Dst: g_set_error
      Src: /src/glib/gio/gpowerprofilemonitorportal.c:116,1
    - Dst: g_dbus_proxy_get_name_owner
      Src: /src/glib/gio/gpowerprofilemonitorportal.c:131,1
    - Dst: glib_should_use_portal
      Src: /src/glib/gio/gpowerprofilemonitorportal.c:114,1
    - Dst: g_dbus_proxy_new_for_bus_sync
      Src: /src/glib/gio/gpowerprofilemonitorportal.c:120,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gpowerprofilemonitorportal.c:135,1
    - Dst: g_set_error
      Src: /src/glib/gio/gpowerprofilemonitorportal.c:136,1
    - Dst: g_free
      Src: /src/glib/gio/gpowerprofilemonitorportal.c:143,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gpowerprofilemonitorportal.c:145,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gpowerprofilemonitorportal.c:146,1
    - Dst: g_variant_get_boolean
      Src: /src/glib/gio/gpowerprofilemonitorportal.c:151,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/gpowerprofilemonitorportal.c:148,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gpowerprofilemonitorportal.c:152,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gpowerprofilemonitorportal.c:154,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gpowerprofilemonitorportal.c:150,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 3
    argNames:
    - initable
    - cancellable
    - error
    argTypes:
    - GInitable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 157
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 157
    functionName: g_power_profile_monitor_portal_initable_init
    functionSourceFile: /src/glib/gio/gpowerprofilemonitorportal.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_steal_pointer
    - G_POWER_PROFILE_MONITOR_PORTAL
    - g_object_unref
    - g_variant_is_of_type
    - glib_should_use_portal
    - G_CALLBACK
    - g_clear_pointer
    - g_dbus_proxy_new_for_bus_sync
    - g_dbus_proxy_get_name_owner
    - g_dbus_proxy_get_cached_property
    - g_free
    - g_signal_connect
    - g_variant_get_boolean
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_power_profile_monitor_portal_initable_init (GInitable
      *initable, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gpowerprofilemonitorportal.c:173,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gpowerprofilemonitorportal.c:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - nl_class
    argTypes:
    - GPowerProfileMonitorPortalClass*
    constantsTouched: []
    func_position:
      end: 179
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 179
    functionName: g_power_profile_monitor_portal_class_init
    functionSourceFile: /src/glib/gio/gpowerprofilemonitorportal.c
    functionUses: []
    functionsReached:
    - g_object_class_override_property
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_power_profile_monitor_portal_class_init (GPowerProfileMonitorPortalClass
      *nl_class) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_POWER_PROFILE_MONITOR_PORTAL
      Src: /src/glib/gio/gpowerprofilemonitorportal.c:91,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gpowerprofilemonitorportal.c:96,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gpowerprofilemonitorportal.c:100,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 102
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 102
    functionName: g_power_profile_monitor_portal_get_property
    functionSourceFile: /src/glib/gio/gpowerprofilemonitorportal.c
    functionUses: []
    functionsReached:
    - g_value_set_boolean
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_POWER_PROFILE_MONITOR_PORTAL
    linkageType: ''
    returnType: void
    signature: 'static void g_power_profile_monitor_portal_get_property (GObject *object,
      guint prop_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_POWER_PROFILE_MONITOR_PORTAL
      Src: /src/glib/gio/gpowerprofilemonitorportal.c:162,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gpowerprofilemonitorportal.c:167,1
    - Dst: g_clear_signal_handler
      Src: /src/glib/gio/gpowerprofilemonitorportal.c:164,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gpowerprofilemonitorportal.c:165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 168
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 168
    functionName: g_power_profile_monitor_portal_finalize
    functionSourceFile: /src/glib/gio/gpowerprofilemonitorportal.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - g_clear_signal_handler
    - G_POWER_PROFILE_MONITOR_PORTAL
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_power_profile_monitor_portal_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - monitor_iface
    argTypes:
    - GPowerProfileMonitorInterface*
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: g_power_profile_monitor_portal_iface_init
    functionSourceFile: /src/glib/gio/gpowerprofilemonitorportal.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_power_profile_monitor_portal_iface_init (GPowerProfileMonitorInterface
      *monitor_iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GInitableIface*
    constantsTouched: []
    func_position:
      end: 190
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 190
    functionName: g_power_profile_monitor_portal_initable_iface_init
    functionSourceFile: /src/glib/gio/gpowerprofilemonitorportal.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_power_profile_monitor_portal_initable_iface_init (GInitableIface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - portal
    argTypes:
    - GPowerProfileMonitorPortal*
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: g_power_profile_monitor_portal_init
    functionSourceFile: /src/glib/gio/gpowerprofilemonitorportal.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_power_profile_monitor_portal_init (GPowerProfileMonitorPortal
      *portal) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/glocalfileoutputstream.c:205,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/glocalfileoutputstream.c:209,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfileoutputstream.c:219,1
    - Dst: write
      Src: /src/glib/gio/glocalfileoutputstream.c:211,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/glocalfileoutputstream.c:220,1
    - Dst: _
      Src: /src/glib/gio/glocalfileoutputstream.c:221,1
    - Dst: g_strerror
      Src: /src/glib/gio/glocalfileoutputstream.c:222,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 5
    argNames:
    - stream
    - buffer
    - count
    - cancellable
    - error
    argTypes:
    - GOutputStream*
    - void*
    - gsize
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 229
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 229
    functionName: g_local_file_output_stream_write
    functionSourceFile: /src/glib/gio/glocalfileoutputstream.c
    functionUses: []
    functionsReached:
    - write
    - g_set_error
    - g_io_error_from_errno
    - g_strerror
    - G_LOCAL_FILE_OUTPUT_STREAM
    - _
    - g_cancellable_set_error_if_cancelled
    linkageType: ''
    returnType: gssize
    signature: "static gssize g_local_file_output_stream_write (GOutputStream *stream,\t\
      \t\t\t const void *buffer,\t\t\t\t gsize count,\t\t\t\t GCancellable *cancellable,\t\
      \t\t\t GError **error) "
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - GSeekType
    constantsTouched: []
    func_position:
      end: 542
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 542
    functionName: seek_type_to_lseek
    functionSourceFile: /src/glib/gio/glocalfileoutputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int seek_type_to_lseek (GSeekType type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/glocalfileoutputstream.c:734,1
    - Dst: mode_from_flags_or_info
      Src: /src/glib/gio/glocalfileoutputstream.c:737,1
    - Dst: output_stream_open
      Src: /src/glib/gio/glocalfileoutputstream.c:745,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 746
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 746
    functionName: _g_local_file_output_stream_create
    functionSourceFile: /src/glib/gio/glocalfileoutputstream.c
    functionUses: []
    functionsReached:
    - output_stream_open
    - mode_from_flags_or_info
    - g_cancellable_set_error_if_cancelled
    linkageType: ''
    returnType: GFileOutputStream*
    signature: "GFileOutputStream *_g_local_file_output_stream_create (const char\
      \ *filename,\t\t\t\t gboolean readable,\t\t\t\t GFileCreateFlags flags, GFileInfo\
      \ *reference_info,\t\t\t\t GCancellable *cancellable,\t\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strconcat
      Src: /src/glib/gio/glocalfileoutputstream.c:771,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 772
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 772
    functionName: create_backup_filename
    functionSourceFile: /src/glib/gio/glocalfileoutputstream.c
    functionUses: []
    functionsReached:
    - g_strconcat
    linkageType: ''
    returnType: char*
    signature: 'static char *create_backup_filename (const char *filename) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/glocalfileoutputstream.c:554,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfileoutputstream.c:562,1
    - Dst: seek_type_to_lseek
      Src: /src/glib/gio/glocalfileoutputstream.c:556,1
    - Dst: lseek
      Src: /src/glib/gio/glocalfileoutputstream.c:556,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/glocalfileoutputstream.c:563,1
    - Dst: _
      Src: /src/glib/gio/glocalfileoutputstream.c:564,1
    - Dst: g_strerror
      Src: /src/glib/gio/glocalfileoutputstream.c:565,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 5
    argNames:
    - stream
    - offset
    - type
    - cancellable
    - error
    argTypes:
    - GFileOutputStream*
    - goffset
    - GSeekType
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 570
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 570
    functionName: g_local_file_output_stream_seek
    functionSourceFile: /src/glib/gio/glocalfileoutputstream.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_io_error_from_errno
    - seek_type_to_lseek
    - g_strerror
    - G_LOCAL_FILE_OUTPUT_STREAM
    - lseek
    - _
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_local_file_output_stream_seek (GFileOutputStream\
      \ *stream,\t\t\t\t goffset offset,\t\t\t\t GSeekType type,\t\t\t\t GCancellable\
      \ *cancellable,\t\t\t\t GError **error) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/glocalfileoutputstream.c:756,1
    - Dst: output_stream_open
      Src: /src/glib/gio/glocalfileoutputstream.c:764,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 766
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 766
    functionName: _g_local_file_output_stream_append
    functionSourceFile: /src/glib/gio/glocalfileoutputstream.c
    functionUses: []
    functionsReached:
    - output_stream_open
    - g_cancellable_set_error_if_cancelled
    linkageType: ''
    returnType: GFileOutputStream*
    signature: "GFileOutputStream *_g_local_file_output_stream_append (const char\
      \ *filename,\t\t\t\t GFileCreateFlags flags,\t\t\t\t GCancellable *cancellable,\t\
      \t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_local_file_output_stream_can_seek
      Src: /src/glib/gio/glocalfileoutputstream.c:576,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GFileOutputStream*
    constantsTouched: []
    func_position:
      end: 577
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 577
    functionName: g_local_file_output_stream_can_truncate
    functionSourceFile: /src/glib/gio/glocalfileoutputstream.c
    functionUses: []
    functionsReached:
    - g_local_file_output_stream_can_seek
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_local_file_output_stream_can_truncate (GFileOutputStream
      *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_local_file_output_stream_get_instance_private
      Src: /src/glib/gio/glocalfileoutputstream.c:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GLocalFileOutputStream*
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: g_local_file_output_stream_init
    functionSourceFile: /src/glib/gio/glocalfileoutputstream.c
    functionUses: []
    functionsReached:
    - g_local_file_output_stream_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_local_file_output_stream_init (GLocalFileOutputStream
      *stream) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/glocalfileoutputstream.c:588,1
    - Dst: g_win32_ftruncate
      Src: /src/glib/gio/glocalfileoutputstream.c:592,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/glocalfileoutputstream.c:603,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfileoutputstream.c:608,1
    - Dst: ftruncate
      Src: /src/glib/gio/glocalfileoutputstream.c:594,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/glocalfileoutputstream.c:609,1
    - Dst: _
      Src: /src/glib/gio/glocalfileoutputstream.c:610,1
    - Dst: g_strerror
      Src: /src/glib/gio/glocalfileoutputstream.c:611,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 4
    argNames:
    - stream
    - size
    - cancellable
    - error
    argTypes:
    - GFileOutputStream*
    - goffset
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 616
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 616
    functionName: g_local_file_output_stream_truncate
    functionSourceFile: /src/glib/gio/glocalfileoutputstream.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_io_error_from_errno
    - g_strerror
    - ftruncate
    - G_LOCAL_FILE_OUTPUT_STREAM
    - _
    - g_win32_ftruncate
    - g_cancellable_set_error_if_cancelled
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_local_file_output_stream_truncate (GFileOutputStream\
      \ *stream,\t\t\t\t goffset size,\t\t\t\t GCancellable *cancellable,\t\t\t\t\
      \ GError **error) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/glib/gio/glocalfileoutputstream.c:788,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/glocalfileoutputstream.c:801,1
    - Dst: read
      Src: /src/glib/gio/glocalfileoutputstream.c:792,1
    - Dst: _
      Src: /src/glib/gio/glocalfileoutputstream.c:802,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfileoutputstream.c:800,1
    - Dst: g_strerror
      Src: /src/glib/gio/glocalfileoutputstream.c:803,1
    - Dst: write
      Src: /src/glib/gio/glocalfileoutputstream.c:813,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfileoutputstream.c:821,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/glocalfileoutputstream.c:822,1
    - Dst: _
      Src: /src/glib/gio/glocalfileoutputstream.c:823,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileoutputstream.c:836,1
    - Dst: g_strerror
      Src: /src/glib/gio/glocalfileoutputstream.c:824,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 3
    argNames:
    - sfd
    - dfd
    - error
    argTypes:
    - gint
    - gint
    - GError**
    constantsTouched: []
    func_position:
      end: 839
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 839
    functionName: copy_file_data
    functionSourceFile: /src/glib/gio/glocalfileoutputstream.c
    functionUses: []
    functionsReached:
    - g_set_error
    - write
    - g_io_error_from_errno
    - g_strerror
    - g_free
    - g_malloc
    - _
    - read
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean copy_file_data (gint sfd,\t\tgint dfd,\t\tGError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GFileDescriptorBasedIface*
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: g_file_descriptor_based_iface_init
    functionSourceFile: /src/glib/gio/glocalfileoutputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_file_descriptor_based_iface_init (GFileDescriptorBasedIface
      *iface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/glocalfileoutputstream.c:476,1
    - Dst: _g_local_file_output_stream_really_close
      Src: /src/glib/gio/glocalfileoutputstream.c:479,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GOutputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 483
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 483
    functionName: g_local_file_output_stream_close
    functionSourceFile: /src/glib/gio/glocalfileoutputstream.c
    functionUses: []
    functionsReached:
    - G_LOCAL_FILE_OUTPUT_STREAM
    - _g_local_file_output_stream_really_close
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_local_file_output_stream_close (GOutputStream *stream,\t\
      \t\t\t GCancellable *cancellable,\t\t\t\t GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/glocalfileoutputstream.c:501,1
    - Dst: lseek
      Src: /src/glib/gio/glocalfileoutputstream.c:503,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GFileOutputStream*
    constantsTouched: []
    func_position:
      end: 509
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 509
    functionName: g_local_file_output_stream_tell
    functionSourceFile: /src/glib/gio/glocalfileoutputstream.c
    functionUses: []
    functionsReached:
    - G_LOCAL_FILE_OUTPUT_STREAM
    - lseek
    linkageType: ''
    returnType: goffset
    signature: 'static goffset g_local_file_output_stream_tell (GFileOutputStream
      *stream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/glocalfileoutputstream.c:627,1
    - Dst: _g_local_file_info_get_from_fd
      Src: /src/glib/gio/glocalfileoutputstream.c:632,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/glocalfileoutputstream.c:629,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 635
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 635
    functionName: g_local_file_output_stream_query_info
    functionSourceFile: /src/glib/gio/glocalfileoutputstream.c
    functionUses: []
    functionsReached:
    - G_LOCAL_FILE_OUTPUT_STREAM
    - g_cancellable_set_error_if_cancelled
    - _g_local_file_info_get_from_fd
    linkageType: ''
    returnType: GFileInfo*
    signature: "static GFileInfo *g_local_file_output_stream_query_info (GFileOutputStream\
      \ *stream,\t\t\t\t const char *attributes,\t\t\t\t GCancellable *cancellable,\t\
      \t\t\t GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glocalfileoutputstream.c:655,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfileoutputstream.c:661,1
    - Dst: _
      Src: /src/glib/gio/glocalfileoutputstream.c:657,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/glocalfileoutputstream.c:662,1
    - Dst: g_filename_display_name
      Src: /src/glib/gio/glocalfileoutputstream.c:660,1
    - Dst: _
      Src: /src/glib/gio/glocalfileoutputstream.c:663,1
    - Dst: g_strerror
      Src: /src/glib/gio/glocalfileoutputstream.c:664,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileoutputstream.c:665,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - filename
    - error
    argTypes:
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 667
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 667
    functionName: set_error_from_open_errno
    functionSourceFile: /src/glib/gio/glocalfileoutputstream.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_io_error_from_errno
    - g_strerror
    - g_set_error_literal
    - g_filename_display_name
    - _
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void set_error_from_open_errno (const char *filename, GError
      **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/glocalfileoutputstream.c:699,1
    - Dst: output_stream_open
      Src: /src/glib/gio/glocalfileoutputstream.c:708,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 709
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 709
    functionName: _g_local_file_output_stream_open
    functionSourceFile: /src/glib/gio/glocalfileoutputstream.c
    functionUses: []
    functionsReached:
    - output_stream_open
    - g_cancellable_set_error_if_cancelled
    linkageType: ''
    returnType: GFileOutputStream*
    signature: "GFileOutputStream *_g_local_file_output_stream_open (const char *filename,\t\
      \t\t\t gboolean readable,\t\t\t\t GCancellable *cancellable,\t\t\t\t GError\
      \ **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/glocalfileoutputstream.c:1339,1
    - Dst: _g_local_file_output_stream_get_fd
      Src: /src/glib/gio/glocalfileoutputstream.c:1340,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - fd_based
    argTypes:
    - GFileDescriptorBased*
    constantsTouched: []
    func_position:
      end: 1341
      start: 1336
    functionDepth: 0
    functionLinenumber: 1336
    functionLinenumberEnd: 1341
    functionName: g_local_file_output_stream_get_fd
    functionSourceFile: /src/glib/gio/glocalfileoutputstream.c
    functionUses: []
    functionsReached:
    - G_LOCAL_FILE_OUTPUT_STREAM
    - _g_local_file_output_stream_get_fd
    linkageType: ''
    returnType: int
    signature: 'static int g_local_file_output_stream_get_fd (GFileDescriptorBased
      *fd_based) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/glocalfileoutputstream.c:490,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalfileoutputstream.c:492,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 493
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 493
    functionName: g_local_file_output_stream_get_etag
    functionSourceFile: /src/glib/gio/glocalfileoutputstream.c
    functionUses: []
    functionsReached:
    - G_LOCAL_FILE_OUTPUT_STREAM
    - g_strdup
    linkageType: ''
    returnType: char*
    signature: 'static char *g_local_file_output_stream_get_etag (GFileOutputStream
      *stream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/glocalfileoutputstream.c:517,1
    - Dst: lseek
      Src: /src/glib/gio/glocalfileoutputstream.c:519,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GFileOutputStream*
    constantsTouched: []
    func_position:
      end: 525
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 525
    functionName: g_local_file_output_stream_can_seek
    functionSourceFile: /src/glib/gio/glocalfileoutputstream.c
    functionUses: []
    functionsReached:
    - G_LOCAL_FILE_OUTPUT_STREAM
    - lseek
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_local_file_output_stream_can_seek (GFileOutputStream
      *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/glocalfileoutputstream.c:642,1
    - Dst: G_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/glocalfileoutputstream.c:644,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 645
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 645
    functionName: _g_local_file_output_stream_new
    functionSourceFile: /src/glib/gio/glocalfileoutputstream.c
    functionUses: []
    functionsReached:
    - G_FILE_OUTPUT_STREAM
    - g_object_new
    linkageType: ''
    returnType: GFileOutputStream*
    signature: 'GFileOutputStream *_g_local_file_output_stream_new (int fd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_open
      Src: /src/glib/gio/glocalfileoutputstream.c:679,1
    - Dst: g_object_new
      Src: /src/glib/gio/glocalfileoutputstream.c:686,1
    - Dst: G_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/glocalfileoutputstream.c:688,1
    - Dst: set_error_from_open_errno
      Src: /src/glib/gio/glocalfileoutputstream.c:682,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 689
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 689
    functionName: output_stream_open
    functionSourceFile: /src/glib/gio/glocalfileoutputstream.c
    functionUses: []
    functionsReached:
    - g_open
    - G_FILE_OUTPUT_STREAM
    - set_error_from_open_errno
    - g_object_new
    linkageType: ''
    returnType: GFileOutputStream*
    signature: 'static GFileOutputStream *output_stream_open (const char *filename,
      gint open_flags, guint mode, GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/glocalfileoutputstream.c:717,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/glib/gio/glocalfileoutputstream.c:718,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - flags
    - reference_info
    argTypes:
    - GFileCreateFlags
    - GFileInfo*
    constantsTouched: []
    func_position:
      end: 721
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 721
    functionName: mode_from_flags_or_info
    functionSourceFile: /src/glib/gio/glocalfileoutputstream.c
    functionUses: []
    functionsReached:
    - g_file_info_get_attribute_uint32
    - g_file_info_has_attribute
    linkageType: ''
    returnType: gint
    signature: 'static gint mode_from_flags_or_info (GFileCreateFlags flags, GFileInfo
      *reference_info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/glocalfileoutputstream.c:147,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileoutputstream.c:150,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileoutputstream.c:152,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileoutputstream.c:151,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileoutputstream.c:149,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/glocalfileoutputstream.c:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 155
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 155
    functionName: g_local_file_output_stream_finalize
    functionSourceFile: /src/glib/gio/glocalfileoutputstream.c
    functionUses: []
    functionsReached:
    - G_LOCAL_FILE_OUTPUT_STREAM
    - g_free
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_local_file_output_stream_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - out
    - do_close
    argTypes:
    - GLocalFileOutputStream*
    - gboolean
    constantsTouched: []
    func_position:
      end: 319
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 319
    functionName: _g_local_file_output_stream_set_do_close
    functionSourceFile: /src/glib/gio/glocalfileoutputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _g_local_file_output_stream_set_do_close (GLocalFileOutputStream\
      \ *out,\t\t\t\t\t gboolean do_close) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/glocalfileoutputstream.c:1273,1
    - Dst: handle_overwrite_open
      Src: /src/glib/gio/glocalfileoutputstream.c:1292,1
    - Dst: set_error_from_open_errno
      Src: /src/glib/gio/glocalfileoutputstream.c:1309,1
    - Dst: g_open
      Src: /src/glib/gio/glocalfileoutputstream.c:1287,1
    - Dst: mode_from_flags_or_info
      Src: /src/glib/gio/glocalfileoutputstream.c:1278,1
    - Dst: g_object_new
      Src: /src/glib/gio/glocalfileoutputstream.c:1317,1
    - Dst: create_backup_filename
      Src: /src/glib/gio/glocalfileoutputstream.c:1322,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalfileoutputstream.c:1323,1
    - Dst: G_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/glocalfileoutputstream.c:1325,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1326
    functionName: _g_local_file_output_stream_replace
    functionSourceFile: /src/glib/gio/glocalfileoutputstream.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_object_new
    - G_FILE_OUTPUT_STREAM
    - handle_overwrite_open
    - mode_from_flags_or_info
    - set_error_from_open_errno
    - g_open
    - create_backup_filename
    - g_cancellable_set_error_if_cancelled
    linkageType: ''
    returnType: GFileOutputStream*
    signature: "GFileOutputStream *_g_local_file_output_stream_replace (const char\
      \ *filename,\t\t\t\t gboolean readable,\t\t\t\t const char *etag,\t\t\t\t gboolean\
      \ create_backup,\t\t\t\t GFileCreateFlags flags, GFileInfo *reference_info,\t\
      \t\t\t GCancellable *cancellable,\t\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/glocalfileoutputstream.c:160,1
    - Dst: G_OUTPUT_STREAM_CLASS
      Src: /src/glib/gio/glocalfileoutputstream.c:161,1
    - Dst: G_FILE_OUTPUT_STREAM_CLASS
      Src: /src/glib/gio/glocalfileoutputstream.c:162,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GLocalFileOutputStreamClass*
    constantsTouched: []
    func_position:
      end: 178
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 178
    functionName: g_local_file_output_stream_class_init
    functionSourceFile: /src/glib/gio/glocalfileoutputstream.c
    functionUses: []
    functionsReached:
    - G_FILE_OUTPUT_STREAM_CLASS
    - G_OUTPUT_STREAM_CLASS
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_local_file_output_stream_class_init (GLocalFileOutputStreamClass
      *klass) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/glocalfileoutputstream.c:265,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfileoutputstream.c:297,1
    - Dst: writev
      Src: /src/glib/gio/glocalfileoutputstream.c:289,1
    - Dst: g_newa
      Src: /src/glib/gio/glocalfileoutputstream.c:277,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/glocalfileoutputstream.c:287,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/glocalfileoutputstream.c:298,1
    - Dst: _
      Src: /src/glib/gio/glocalfileoutputstream.c:299,1
    - Dst: g_strerror
      Src: /src/glib/gio/glocalfileoutputstream.c:300,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 30
    argCount: 6
    argNames:
    - stream
    - vectors
    - n_vectors
    - bytes_written
    - cancellable
    - error
    argTypes:
    - GOutputStream*
    - GOutputVector*
    - gsize
    - gsize*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 311
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 311
    functionName: g_local_file_output_stream_writev
    functionSourceFile: /src/glib/gio/glocalfileoutputstream.c
    functionUses: []
    functionsReached:
    - writev
    - g_set_error
    - g_io_error_from_errno
    - g_strerror
    - G_LOCAL_FILE_OUTPUT_STREAM
    - _
    - g_newa
    - g_cancellable_set_error_if_cancelled
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_local_file_output_stream_writev (GOutputStream *stream,\t\
      \t\t\t const GOutputVector *vectors,\t\t\t\t gsize n_vectors,\t\t\t\t gsize\
      \ *bytes_written,\t\t\t\t GCancellable *cancellable,\t\t\t\t GError **error) "
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: g_fsync
      Src: /src/glib/gio/glocalfileoutputstream.c:329,1
    - Dst: _g_local_file_info_create_etag
      Src: /src/glib/gio/glocalfileoutputstream.c:346,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/glocalfileoutputstream.c:353,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfileoutputstream.c:406,1
    - Dst: g_strerror
      Src: /src/glib/gio/glocalfileoutputstream.c:409,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/glocalfileoutputstream.c:416,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfileoutputstream.c:424,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/glocalfileoutputstream.c:425,1
    - Dst: _
      Src: /src/glib/gio/glocalfileoutputstream.c:426,1
    - Dst: g_strerror
      Src: /src/glib/gio/glocalfileoutputstream.c:382,1
    - Dst: link
      Src: /src/glib/gio/glocalfileoutputstream.c:386,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/glocalfileoutputstream.c:434,1
    - Dst: _
      Src: /src/glib/gio/glocalfileoutputstream.c:354,1
    - Dst: g_rename
      Src: /src/glib/gio/glocalfileoutputstream.c:402,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/glocalfileoutputstream.c:447,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfileoutputstream.c:393,1
    - Dst: g_local_file_fstat
      Src: /src/glib/gio/glocalfileoutputstream.c:439,1
    - Dst: g_strerror
      Src: /src/glib/gio/glocalfileoutputstream.c:427,1
    - Dst: _
      Src: /src/glib/gio/glocalfileoutputstream.c:448,1
    - Dst: g_close
      Src: /src/glib/gio/glocalfileoutputstream.c:460,1
    - Dst: g_strerror
      Src: /src/glib/gio/glocalfileoutputstream.c:355,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfileoutputstream.c:333,1
    - Dst: g_strerror
      Src: /src/glib/gio/glocalfileoutputstream.c:336,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/glocalfileoutputstream.c:334,1
    - Dst: _
      Src: /src/glib/gio/glocalfileoutputstream.c:335,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/glocalfileoutputstream.c:345,1
    - Dst: g_close
      Src: /src/glib/gio/glocalfileoutputstream.c:348,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfileoutputstream.c:352,1
    - Dst: g_unlink
      Src: /src/glib/gio/glocalfileoutputstream.c:374,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfileoutputstream.c:379,1
    - Dst: _
      Src: /src/glib/gio/glocalfileoutputstream.c:381,1
    - Dst: g_rename
      Src: /src/glib/gio/glocalfileoutputstream.c:420,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/glocalfileoutputstream.c:369,1
    - Dst: _
      Src: /src/glib/gio/glocalfileoutputstream.c:395,1
    - Dst: g_strerror
      Src: /src/glib/gio/glocalfileoutputstream.c:396,1
    - Dst: _g_local_file_info_create_etag
      Src: /src/glib/gio/glocalfileoutputstream.c:440,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/glocalfileoutputstream.c:431,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfileoutputstream.c:446,1
    - Dst: g_close
      Src: /src/glib/gio/glocalfileoutputstream.c:442,1
    - Dst: g_rename
      Src: /src/glib/gio/glocalfileoutputstream.c:389,1
    - Dst: g_strerror
      Src: /src/glib/gio/glocalfileoutputstream.c:449,1
    - Dst: g_unlink
      Src: /src/glib/gio/glocalfileoutputstream.c:463,1
    - Dst: _
      Src: /src/glib/gio/glocalfileoutputstream.c:408,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 70
    argCount: 3
    argNames:
    - file
    - cancellable
    - error
    argTypes:
    - GLocalFileOutputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 466
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 466
    functionName: _g_local_file_output_stream_really_close
    functionSourceFile: /src/glib/gio/glocalfileoutputstream.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_unlink
    - _g_local_file_info_create_etag
    - g_fsync
    - g_io_error_from_errno
    - g_strerror
    - g_close
    - link
    - GLIB_PRIVATE_CALL
    - g_rename
    - g_clear_pointer
    - g_local_file_fstat
    - _
    - g_cancellable_set_error_if_cancelled
    linkageType: ''
    returnType: gboolean
    signature: "gboolean _g_local_file_output_stream_really_close (GLocalFileOutputStream\
      \ *file,\t\t\t\t\t GCancellable *cancellable,\t\t\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/glocalfileoutputstream.c:1331,1
    - Dst: G_IS_LOCAL_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/glocalfileoutputstream.c:1331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GLocalFileOutputStream*
    constantsTouched: []
    func_position:
      end: 1333
      start: 1328
    functionDepth: 0
    functionLinenumber: 1328
    functionLinenumberEnd: 1333
    functionName: _g_local_file_output_stream_get_fd
    functionSourceFile: /src/glib/gio/glocalfileoutputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_LOCAL_FILE_OUTPUT_STREAM
    linkageType: ''
    returnType: gint
    signature: 'gint _g_local_file_output_stream_get_fd (GLocalFileOutputStream *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - dbus
    argTypes:
    - GMemoryMonitorDBus*
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: g_memory_monitor_dbus_init
    functionSourceFile: /src/glib/gio/gmemorymonitordbus.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_memory_monitor_dbus_init (GMemoryMonitorDBus *dbus) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gio/gmemorymonitordbus.c:73,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gmemorymonitordbus.c:79,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gmemorymonitordbus.c:78,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 5
    argNames:
    - proxy
    - sender_name
    - signal_name
    - parameters
    - dbus
    argTypes:
    - GDBusProxy*
    - gchar*
    - gchar*
    - GVariant*
    - GMemoryMonitorDBus*
    constantsTouched: []
    func_position:
      end: 80
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 80
    functionName: proxy_signal_cb
    functionSourceFile: /src/glib/gio/gmemorymonitordbus.c
    functionUses: []
    functionsReached:
    - g_signal_emit_by_name
    - g_strcmp0
    - g_variant_get
    linkageType: ''
    returnType: void
    signature: 'static void proxy_signal_cb (GDBusProxy *proxy, const gchar *sender_name,
      const gchar *signal_name, GVariant *parameters, GMemoryMonitorDBus *dbus) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_proxy_new
      Src: /src/glib/gio/gmemorymonitordbus.c:114,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - connection
    - name
    - name_owner
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 123
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 123
    functionName: lmm_appeared_cb
    functionSourceFile: /src/glib/gio/gmemorymonitordbus.c
    functionUses: []
    functionsReached:
    - g_dbus_proxy_new
    linkageType: ''
    returnType: void
    signature: 'static void lmm_appeared_cb (GDBusConnection *connection, const gchar
      *name, const gchar *name_owner, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_MEMORY_MONITOR_DBUS
      Src: /src/glib/gio/gmemorymonitordbus.c:141,1
    - Dst: g_bus_watch_name
      Src: /src/glib/gio/gmemorymonitordbus.c:144,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/gmemorymonitordbus.c:143,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - initable
    - cancellable
    - error
    argTypes:
    - GInitable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 153
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 153
    functionName: g_memory_monitor_dbus_initable_init
    functionSourceFile: /src/glib/gio/gmemorymonitordbus.c
    functionUses: []
    functionsReached:
    - g_bus_watch_name
    - g_cancellable_new
    - G_MEMORY_MONITOR_DBUS
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_memory_monitor_dbus_initable_init (GInitable *initable,
      GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gmemorymonitordbus.c:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - nl_class
    argTypes:
    - GMemoryMonitorDBusClass*
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 175
    functionName: g_memory_monitor_dbus_class_init
    functionSourceFile: /src/glib/gio/gmemorymonitordbus.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_memory_monitor_dbus_class_init (GMemoryMonitorDBusClass
      *nl_class) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_proxy_new_finish
      Src: /src/glib/gio/gmemorymonitordbus.c:91,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gmemorymonitordbus.c:100,1
    - Dst: g_debug
      Src: /src/glib/gio/gmemorymonitordbus.c:94,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gmemorymonitordbus.c:100,1
    - Dst: g_error_free
      Src: /src/glib/gio/gmemorymonitordbus.c:96,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gmemorymonitordbus.c:101,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 104
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 104
    functionName: lmm_proxy_cb
    functionSourceFile: /src/glib/gio/gmemorymonitordbus.c
    functionUses: []
    functionsReached:
    - g_dbus_proxy_new_finish
    - g_debug
    - G_OBJECT
    - G_CALLBACK
    - g_error_free
    - g_signal_connect
    linkageType: ''
    returnType: void
    signature: 'static void lmm_proxy_cb (GObject *source_object, GAsyncResult *res,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_signal_handler
      Src: /src/glib/gio/gmemorymonitordbus.c:132,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gmemorymonitordbus.c:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 134
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 134
    functionName: lmm_vanished_cb
    functionSourceFile: /src/glib/gio/gmemorymonitordbus.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - g_clear_signal_handler
    linkageType: ''
    returnType: void
    signature: 'static void lmm_vanished_cb (GDBusConnection *connection, const gchar
      *name, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_MEMORY_MONITOR_DBUS
      Src: /src/glib/gio/gmemorymonitordbus.c:158,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gmemorymonitordbus.c:163,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/gmemorymonitordbus.c:160,1
    - Dst: g_clear_signal_handler
      Src: /src/glib/gio/gmemorymonitordbus.c:162,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gmemorymonitordbus.c:161,1
    - Dst: g_clear_handle_id
      Src: /src/glib/gio/gmemorymonitordbus.c:164,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gmemorymonitordbus.c:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 167
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 167
    functionName: g_memory_monitor_dbus_finalize
    functionSourceFile: /src/glib/gio/gmemorymonitordbus.c
    functionUses: []
    functionsReached:
    - g_clear_signal_handler
    - g_clear_handle_id
    - G_OBJECT_CLASS
    - g_clear_object
    - G_MEMORY_MONITOR_DBUS
    - g_cancellable_cancel
    linkageType: ''
    returnType: void
    signature: 'static void g_memory_monitor_dbus_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - monitor_iface
    argTypes:
    - GMemoryMonitorInterface*
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: g_memory_monitor_dbus_iface_init
    functionSourceFile: /src/glib/gio/gmemorymonitordbus.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_memory_monitor_dbus_iface_init (GMemoryMonitorInterface
      *monitor_iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GInitableIface*
    constantsTouched: []
    func_position:
      end: 186
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 186
    functionName: g_memory_monitor_dbus_initable_iface_init
    functionSourceFile: /src/glib/gio/gmemorymonitordbus.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_memory_monitor_dbus_initable_iface_init (GInitableIface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: actually_do_call
      Src: /src/glib/gio/gdbusnamewatching.c:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - _data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 202
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 202
    functionName: call_in_idle_cb
    functionSourceFile: /src/glib/gio/gdbusnamewatching.c
    functionUses: []
    functionsReached:
    - actually_do_call
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean call_in_idle_cb (gpointer _data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gdbusnamewatching.c:210,1
    - Dst: g_idle_source_new
      Src: /src/glib/gio/gdbusnamewatching.c:216,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusnamewatching.c:212,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusnamewatching.c:213,1
    - Dst: client_ref
      Src: /src/glib/gio/gdbusnamewatching.c:211,1
    - Dst: g_source_set_priority
      Src: /src/glib/gio/gdbusnamewatching.c:217,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gdbusnamewatching.c:218,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gdbusnamewatching.c:222,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gdbusnamewatching.c:223,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gdbusnamewatching.c:224,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - client
    - call_type
    argTypes:
    - Client*
    - CallType
    constantsTouched: []
    func_position:
      end: 225
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 225
    functionName: schedule_call_in_idle
    functionSourceFile: /src/glib/gio/gdbusnamewatching.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_source_set_priority
    - g_source_set_callback
    - g_idle_source_new
    - g_source_attach
    - client_ref
    - g_source_unref
    - g_object_ref
    - g_new0
    - g_source_set_static_name
    linkageType: ''
    returnType: void
    signature: 'static void schedule_call_in_idle (Client *client, CallType call_type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusnamewatching.c:891,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusnamewatching.c:895,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusnamewatching.c:898,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusnamewatching.c:898,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusnamewatching.c:900,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusnamewatching.c:905,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusnamewatching.c:905,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusnamewatching.c:905,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusnamewatching.c:908,1
    - Dst: client_unref
      Src: /src/glib/gio/gdbusnamewatching.c:913,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - watcher_id
    argTypes:
    - guint
    constantsTouched: []
    func_position:
      end: 915
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 915
    functionName: g_bus_unwatch_name
    functionSourceFile: /src/glib/gio/gdbusnamewatching.c
    functionUses: []
    functionsReached:
    - g_warn_if_fail
    - g_warning
    - client_unref
    - g_return_if_fail
    - g_hash_table_remove
    - G_UNLOCK
    - GUINT_TO_POINTER
    - g_hash_table_lookup
    - G_LOCK
    linkageType: ''
    returnType: void
    signature: 'void g_bus_unwatch_name (guint watcher_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_ref_thread_default
      Src: /src/glib/gio/gdbusnamewatching.c:233,1
    - Dst: actually_do_call
      Src: /src/glib/gio/gdbusnamewatching.c:237,1
    - Dst: schedule_call_in_idle
      Src: /src/glib/gio/gdbusnamewatching.c:235,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/gdbusnamewatching.c:238,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - client
    - call_type
    argTypes:
    - Client*
    - CallType
    constantsTouched: []
    func_position:
      end: 239
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 239
    functionName: do_call
    functionSourceFile: /src/glib/gio/gdbusnamewatching.c
    functionUses: []
    functionsReached:
    - g_main_context_unref
    - actually_do_call
    - schedule_call_in_idle
    - g_main_context_ref_thread_default
    linkageType: ''
    returnType: void
    signature: 'static void do_call (Client *client, CallType call_type) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gdbusnamewatching.c:723,1
    - Dst: g_closure_ref
      Src: /src/glib/gio/gdbusnamewatching.c:727,1
    - Dst: g_closure_set_marshal
      Src: /src/glib/gio/gdbusnamewatching.c:730,1
    - Dst: G_CLOSURE_NEEDS_MARSHAL
      Src: /src/glib/gio/gdbusnamewatching.c:729,1
    - Dst: g_closure_sink
      Src: /src/glib/gio/gdbusnamewatching.c:728,1
    - Dst: g_closure_ref
      Src: /src/glib/gio/gdbusnamewatching.c:735,1
    - Dst: g_closure_sink
      Src: /src/glib/gio/gdbusnamewatching.c:736,1
    - Dst: G_CLOSURE_NEEDS_MARSHAL
      Src: /src/glib/gio/gdbusnamewatching.c:737,1
    - Dst: g_closure_set_marshal
      Src: /src/glib/gio/gdbusnamewatching.c:738,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 742
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 742
    functionName: watch_name_data_new
    functionSourceFile: /src/glib/gio/gdbusnamewatching.c
    functionUses: []
    functionsReached:
    - g_closure_sink
    - g_closure_set_marshal
    - g_closure_ref
    - g_new0
    - G_CLOSURE_NEEDS_MARSHAL
    linkageType: ''
    returnType: WatchNameData*
    signature: 'static WatchNameData *watch_name_data_new (GClosure *name_appeared_closure,
      GClosure *name_vanished_closure) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusnamewatching.c:777,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusnamewatching.c:780,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusnamewatching.c:781,1
    - Dst: g_closure_invoke
      Src: /src/glib/gio/gdbusnamewatching.c:783,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gdbusnamewatching.c:778,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusnamewatching.c:785,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusnamewatching.c:786,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 787
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 787
    functionName: watch_with_closures_on_name_vanished
    functionSourceFile: /src/glib/gio/gdbusnamewatching.c
    functionUses: []
    functionsReached:
    - g_value_set_string
    - g_closure_invoke
    - g_value_init
    - g_value_set_object
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void watch_with_closures_on_name_vanished (GDBusConnection
      *connection, const gchar *name, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: do_call
      Src: /src/glib/gio/gdbusnamewatching.c:249,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - client
    argTypes:
    - Client*
    constantsTouched: []
    func_position:
      end: 252
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 252
    functionName: call_appeared_handler
    functionSourceFile: /src/glib/gio/gdbusnamewatching.c
    functionUses: []
    functionsReached:
    - do_call
    linkageType: ''
    returnType: void
    signature: 'static void call_appeared_handler (Client *client) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusnamewatching.c:753,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gdbusnamewatching.c:754,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusnamewatching.c:756,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusnamewatching.c:757,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusnamewatching.c:759,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusnamewatching.c:760,1
    - Dst: g_closure_invoke
      Src: /src/glib/gio/gdbusnamewatching.c:762,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusnamewatching.c:764,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusnamewatching.c:765,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusnamewatching.c:766,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - connection
    - name
    - name_owner
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 767
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 767
    functionName: watch_with_closures_on_name_appeared
    functionSourceFile: /src/glib/gio/gdbusnamewatching.c
    functionUses: []
    functionsReached:
    - g_value_set_string
    - g_closure_invoke
    - g_value_init
    - g_value_set_object
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void watch_with_closures_on_name_appeared (GDBusConnection
      *connection, const gchar *name, const gchar *name_owner, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_closure_unref
      Src: /src/glib/gio/gdbusnamewatching.c:795,1
    - Dst: g_closure_unref
      Src: /src/glib/gio/gdbusnamewatching.c:798,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusnamewatching.c:800,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 801
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 801
    functionName: bus_watch_name_free_func
    functionSourceFile: /src/glib/gio/gdbusnamewatching.c
    functionUses: []
    functionsReached:
    - g_closure_unref
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void bus_watch_name_free_func (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/gdbusnamewatching.c:424,1
    - Dst: client_ref
      Src: /src/glib/gio/gdbusnamewatching.c:435,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusnamewatching.c:430,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusnamewatching.c:429,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - client
    argTypes:
    - Client*
    constantsTouched: []
    func_position:
      end: 436
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 436
    functionName: invoke_get_name_owner
    functionSourceFile: /src/glib/gio/gdbusnamewatching.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_call
    - client_ref
    - g_variant_new
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: void
    signature: 'static void invoke_get_name_owner (Client *client) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusnamewatching.c:618,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbusnamewatching.c:618,1
    - Dst: g_atomic_int_add
      Src: /src/glib/gio/gdbusnamewatching.c:624,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusnamewatching.c:620,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusnamewatching.c:622,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusnamewatching.c:625,1
    - Dst: g_main_context_ref_thread_default
      Src: /src/glib/gio/gdbusnamewatching.c:631,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/gdbusnamewatching.c:635,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusnamewatching.c:637,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusnamewatching.c:638,1
    - Dst: g_bus_get
      Src: /src/glib/gio/gdbusnamewatching.c:641,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusnamewatching.c:646,1
    - Dst: client_ref
      Src: /src/glib/gio/gdbusnamewatching.c:644,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 7
    argNames:
    - bus_type
    - name
    - flags
    - name_appeared_handler
    - name_vanished_handler
    - user_data
    - user_data_free_func
    argTypes:
    - GBusType
    - gchar*
    - GBusNameWatcherFlags
    - GBusNameAppearedCallback
    - GBusNameVanishedCallback
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 649
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 649
    functionName: g_bus_watch_name
    functionSourceFile: /src/glib/gio/gdbusnamewatching.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_strdup
    - G_UNLOCK
    - GUINT_TO_POINTER
    - g_hash_table_insert
    - g_atomic_int_add
    - g_bus_get
    - client_ref
    - g_hash_table_new
    - g_new0
    - G_LOCK
    - g_dbus_is_name
    - g_main_context_ref_thread_default
    linkageType: ''
    returnType: guint
    signature: 'guint g_bus_watch_name (GBusType bus_type, const gchar *name, GBusNameWatcherFlags
      flags, GBusNameAppearedCallback name_appeared_handler, GBusNameVanishedCallback
      name_vanished_handler, gpointer user_data, GDestroyNotify user_data_free_func) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusnamewatching.c:155,1
    - Dst: client_unref
      Src: /src/glib/gio/gdbusnamewatching.c:157,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusnamewatching.c:158,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusnamewatching.c:156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - CallHandlerData*
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: call_handler_data_free
    functionSourceFile: /src/glib/gio/gdbusnamewatching.c
    functionUses: []
    functionsReached:
    - g_free
    - g_object_unref
    - client_unref
    linkageType: ''
    returnType: void
    signature: 'static void call_handler_data_free (CallHandlerData *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: free_user_data_cb
    functionSourceFile: /src/glib/gio/gdbusnamewatching.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean free_user_data_cb (gpointer user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/gdbusnamewatching.c:393,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusnamewatching.c:403,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusnamewatching.c:404,1
    - Dst: call_appeared_handler
      Src: /src/glib/gio/gdbusnamewatching.c:405,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusnamewatching.c:398,1
    - Dst: call_vanished_handler
      Src: /src/glib/gio/gdbusnamewatching.c:409,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusnamewatching.c:415,1
    - Dst: client_unref
      Src: /src/glib/gio/gdbusnamewatching.c:416,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 417
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 417
    functionName: get_name_owner_cb
    functionSourceFile: /src/glib/gio/gdbusnamewatching.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_warn_if_fail
    - client_unref
    - call_vanished_handler
    - g_dbus_connection_call_finish
    - g_variant_unref
    - g_variant_get
    - call_appeared_handler
    linkageType: ''
    returnType: void
    signature: 'static void get_name_owner_cb (GObject *source_object, GAsyncResult
      *res, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_connect
      Src: /src/glib/gio/gdbusnamewatching.c:498,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusnamewatching.c:501,1
    - Dst: g_dbus_connection_signal_subscribe
      Src: /src/glib/gio/gdbusnamewatching.c:504,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusnamewatching.c:512,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gdbusnamewatching.c:500,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/gdbusnamewatching.c:517,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusnamewatching.c:522,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusnamewatching.c:523,1
    - Dst: client_ref
      Src: /src/glib/gio/gdbusnamewatching.c:528,1
    - Dst: invoke_get_name_owner
      Src: /src/glib/gio/gdbusnamewatching.c:533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - client
    argTypes:
    - Client*
    constantsTouched: []
    func_position:
      end: 535
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 535
    functionName: has_connection
    functionSourceFile: /src/glib/gio/gdbusnamewatching.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_call
    - GUINT_TO_POINTER
    - G_CALLBACK
    - g_variant_new
    - client_ref
    - invoke_get_name_owner
    - g_dbus_connection_signal_subscribe
    - G_VARIANT_TYPE
    - g_signal_connect
    linkageType: ''
    returnType: void
    signature: 'static void has_connection (Client *client) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_bus_get_finish
      Src: /src/glib/gio/gdbusnamewatching.c:545,1
    - Dst: has_connection
      Src: /src/glib/gio/gdbusnamewatching.c:552,1
    - Dst: call_vanished_handler
      Src: /src/glib/gio/gdbusnamewatching.c:548,1
    - Dst: client_unref
      Src: /src/glib/gio/gdbusnamewatching.c:555,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 556
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 556
    functionName: connection_get_cb
    functionSourceFile: /src/glib/gio/gdbusnamewatching.c
    functionUses: []
    functionsReached:
    - call_vanished_handler
    - has_connection
    - g_bus_get_finish
    - client_unref
    linkageType: ''
    returnType: void
    signature: 'static void connection_get_cb (GObject *source_object, GAsyncResult
      *res, gpointer user_data) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gdbusnamewatching.c:191,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 9
    argCount: 4
    argNames:
    - client
    - connection
    - name_owner
    - call_type
    argTypes:
    - Client*
    - GDBusConnection*
    - gchar*
    - CallType
    constantsTouched: []
    func_position:
      end: 194
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 194
    functionName: actually_do_call
    functionSourceFile: /src/glib/gio/gdbusnamewatching.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    linkageType: ''
    returnType: void
    signature: 'static void actually_do_call (Client *client, GDBusConnection *connection,
      const gchar *name_owner, CallType call_type) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/gio/gdbusnamewatching.c:92,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusnamewatching.c:100,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/gdbusnamewatching.c:97,1
    - Dst: g_steal_handle_id
      Src: /src/glib/gio/gdbusnamewatching.c:97,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/gdbusnamewatching.c:99,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusnamewatching.c:102,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusnamewatching.c:103,1
    - Dst: g_main_context_get_thread_default
      Src: /src/glib/gio/gdbusnamewatching.c:108,1
    - Dst: g_idle_source_new
      Src: /src/glib/gio/gdbusnamewatching.c:110,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gdbusnamewatching.c:111,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/gdbusnamewatching.c:122,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusnamewatching.c:124,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gdbusnamewatching.c:115,1
    - Dst: g_source_set_name
      Src: /src/glib/gio/gdbusnamewatching.c:114,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gdbusnamewatching.c:116,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 1
    argNames:
    - client
    argTypes:
    - Client*
    constantsTouched: []
    func_position:
      end: 126
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 126
    functionName: client_unref
    functionSourceFile: /src/glib/gio/gdbusnamewatching.c
    functionUses: []
    functionsReached:
    - g_steal_handle_id
    - g_main_context_unref
    - g_object_unref
    - g_atomic_int_dec_and_test
    - g_signal_handler_disconnect
    - g_idle_source_new
    - g_source_set_callback
    - g_dbus_connection_signal_unsubscribe
    - g_source_attach
    - g_main_context_get_thread_default
    - g_source_set_name
    - g_source_unref
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void client_unref (Client *client) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/gdbusnamewatching.c:450,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusnamewatching.c:468,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusnamewatching.c:456,1
    - Dst: invoke_get_name_owner
      Src: /src/glib/gio/gdbusnamewatching.c:460,1
    - Dst: invoke_get_name_owner
      Src: /src/glib/gio/gdbusnamewatching.c:464,1
    - Dst: call_vanished_handler
      Src: /src/glib/gio/gdbusnamewatching.c:469,1
    - Dst: invoke_get_name_owner
      Src: /src/glib/gio/gdbusnamewatching.c:484,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusnamewatching.c:488,1
    - Dst: client_unref
      Src: /src/glib/gio/gdbusnamewatching.c:489,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 490
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 490
    functionName: start_service_by_name_cb
    functionSourceFile: /src/glib/gio/gdbusnamewatching.c
    functionUses: []
    functionsReached:
    - g_warning
    - client_unref
    - call_vanished_handler
    - g_dbus_connection_call_finish
    - g_variant_unref
    - invoke_get_name_owner
    - g_variant_get
    linkageType: ''
    returnType: void
    signature: 'static void start_service_by_name_cb (GObject *source_object, GAsyncResult
      *res, gpointer user_data) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gio/gdbusnamewatching.c:332,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusnamewatching.c:346,1
    - Dst: dup_client
      Src: /src/glib/gio/gdbusnamewatching.c:338,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusnamewatching.c:345,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusnamewatching.c:347,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusnamewatching.c:350,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusnamewatching.c:357,1
    - Dst: strlen
      Src: /src/glib/gio/gdbusnamewatching.c:360,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusnamewatching.c:362,1
    - Dst: call_vanished_handler
      Src: /src/glib/gio/gdbusnamewatching.c:364,1
    - Dst: strlen
      Src: /src/glib/gio/gdbusnamewatching.c:367,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusnamewatching.c:369,1
    - Dst: call_appeared_handler
      Src: /src/glib/gio/gdbusnamewatching.c:372,1
    - Dst: client_unref
      Src: /src/glib/gio/gdbusnamewatching.c:376,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusnamewatching.c:370,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusnamewatching.c:371,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 39
    argCount: 7
    argNames:
    - connection
    - sender_name
    - object_path
    - interface_name
    - signal_name
    - parameters
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 377
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 377
    functionName: on_name_owner_changed
    functionSourceFile: /src/glib/gio/gdbusnamewatching.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_warn_if_fail
    - strlen
    - client_unref
    - call_vanished_handler
    - GPOINTER_TO_UINT
    - dup_client
    - g_strcmp0
    - g_variant_get
    - call_appeared_handler
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void on_name_owner_changed (GDBusConnection *connection, const
      gchar *sender_name, const gchar *object_path, const gchar *interface_name, const
      gchar *signal_name, GVariant *parameters, gpointer user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gio/gdbusnamewatching.c:300,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/gdbusnamewatching.c:310,1
    - Dst: dup_client
      Src: /src/glib/gio/gdbusnamewatching.c:303,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/gdbusnamewatching.c:308,1
    - Dst: g_steal_handle_id
      Src: /src/glib/gio/gdbusnamewatching.c:308,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusnamewatching.c:311,1
    - Dst: call_vanished_handler
      Src: /src/glib/gio/gdbusnamewatching.c:315,1
    - Dst: client_unref
      Src: /src/glib/gio/gdbusnamewatching.c:317,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 4
    argNames:
    - connection
    - remote_peer_vanished
    - error
    - user_data
    argTypes:
    - GDBusConnection*
    - gboolean
    - GError*
    - gpointer
    constantsTouched: []
    func_position:
      end: 318
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 318
    functionName: on_connection_disconnected
    functionSourceFile: /src/glib/gio/gdbusnamewatching.c
    functionUses: []
    functionsReached:
    - g_steal_handle_id
    - g_object_unref
    - g_signal_handler_disconnect
    - client_unref
    - call_vanished_handler
    - g_dbus_connection_signal_unsubscribe
    - GPOINTER_TO_UINT
    - dup_client
    linkageType: ''
    returnType: void
    signature: 'static void on_connection_disconnected (GDBusConnection *connection,
      gboolean remote_peer_vanished, GError *error, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusnamewatching.c:681,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusnamewatching.c:681,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusnamewatching.c:684,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusnamewatching.c:682,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbusnamewatching.c:682,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusnamewatching.c:686,1
    - Dst: g_atomic_int_add
      Src: /src/glib/gio/gdbusnamewatching.c:688,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusnamewatching.c:689,1
    - Dst: g_main_context_ref_thread_default
      Src: /src/glib/gio/gdbusnamewatching.c:695,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/gdbusnamewatching.c:698,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusnamewatching.c:700,1
    - Dst: has_connection
      Src: /src/glib/gio/gdbusnamewatching.c:707,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusnamewatching.c:704,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusnamewatching.c:705,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusnamewatching.c:701,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 7
    argNames:
    - connection
    - name
    - flags
    - name_appeared_handler
    - name_vanished_handler
    - user_data
    - user_data_free_func
    argTypes:
    - GDBusConnection*
    - gchar*
    - GBusNameWatcherFlags
    - GBusNameAppearedCallback
    - GBusNameVanishedCallback
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 710
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 710
    functionName: g_bus_watch_name_on_connection
    functionSourceFile: /src/glib/gio/gdbusnamewatching.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_strdup
    - G_UNLOCK
    - G_IS_DBUS_CONNECTION
    - GUINT_TO_POINTER
    - g_hash_table_insert
    - g_atomic_int_add
    - has_connection
    - g_hash_table_new
    - g_object_ref
    - g_new0
    - G_LOCK
    - g_dbus_is_name
    - g_main_context_ref_thread_default
    linkageType: ''
    returnType: guint
    signature: 'guint g_bus_watch_name_on_connection (GDBusConnection *connection,
      const gchar *name, GBusNameWatcherFlags flags, GBusNameAppearedCallback name_appeared_handler,
      GBusNameVanishedCallback name_vanished_handler, gpointer user_data, GDestroyNotify
      user_data_free_func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bus_watch_name_on_connection
      Src: /src/glib/gio/gdbusnamewatching.c:862,1
    - Dst: watch_name_data_new
      Src: /src/glib/gio/gdbusnamewatching.c:867,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 5
    argNames:
    - connection
    - name
    - flags
    - name_appeared_closure
    - name_vanished_closure
    argTypes:
    - GDBusConnection*
    - gchar*
    - GBusNameWatcherFlags
    - GClosure*
    - GClosure*
    constantsTouched: []
    func_position:
      end: 869
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 869
    functionName: g_bus_watch_name_on_connection_with_closures
    functionSourceFile: /src/glib/gio/gdbusnamewatching.c
    functionUses: []
    functionsReached:
    - g_bus_watch_name_on_connection
    - watch_name_data_new
    linkageType: ''
    returnType: guint
    signature: 'guint g_bus_watch_name_on_connection_with_closures ( GDBusConnection
      *connection, const gchar *name, GBusNameWatcherFlags flags, GClosure *name_appeared_closure,
      GClosure *name_vanished_closure) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/gdbusnamewatching.c:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: client_ref
    functionSourceFile: /src/glib/gio/gdbusnamewatching.c
    functionUses: []
    functionsReached:
    - g_atomic_int_inc
    linkageType: ''
    returnType: Client*
    signature: 'static Client *client_ref (Client *client) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusnamewatching.c:276,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusnamewatching.c:281,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusnamewatching.c:281,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusnamewatching.c:279,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusnamewatching.c:278,1
    - Dst: client_ref
      Src: /src/glib/gio/gdbusnamewatching.c:284,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusnamewatching.c:286,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 289
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 289
    functionName: dup_client
    functionSourceFile: /src/glib/gio/gdbusnamewatching.c
    functionUses: []
    functionsReached:
    - g_assert
    - G_UNLOCK
    - GUINT_TO_POINTER
    - g_hash_table_lookup
    - client_ref
    - G_LOCK
    linkageType: ''
    returnType: Client*
    signature: 'static Client *dup_client (guint watcher_id) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: do_call
      Src: /src/glib/gio/gdbusnamewatching.c:262,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - client
    argTypes:
    - Client*
    constantsTouched: []
    func_position:
      end: 265
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 265
    functionName: call_vanished_handler
    functionSourceFile: /src/glib/gio/gdbusnamewatching.c
    functionUses: []
    functionsReached:
    - do_call
    linkageType: ''
    returnType: void
    signature: 'static void call_vanished_handler (Client *client) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bus_watch_name
      Src: /src/glib/gio/gdbusnamewatching.c:828,1
    - Dst: watch_name_data_new
      Src: /src/glib/gio/gdbusnamewatching.c:833,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 5
    argNames:
    - bus_type
    - name
    - flags
    - name_appeared_closure
    - name_vanished_closure
    argTypes:
    - GBusType
    - gchar*
    - GBusNameWatcherFlags
    - GClosure*
    - GClosure*
    constantsTouched: []
    func_position:
      end: 835
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 835
    functionName: g_bus_watch_name_with_closures
    functionSourceFile: /src/glib/gio/gdbusnamewatching.c
    functionUses: []
    functionsReached:
    - g_bus_watch_name
    - watch_name_data_new
    linkageType: ''
    returnType: guint
    signature: 'guint g_bus_watch_name_with_closures (GBusType bus_type, const gchar
      *name, GBusNameWatcherFlags flags, GClosure *name_appeared_closure, GClosure
      *name_vanished_closure) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - enumerator
    argTypes:
    - GSocketAddressEnumerator*
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: g_socket_address_enumerator_init
    functionSourceFile: /src/glib/gio/gsocketaddressenumerator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_address_enumerator_init (GSocketAddressEnumerator
      *enumerator) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/gsocketaddressenumerator.c:120,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gsocketaddressenumerator.c:121,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gsocketaddressenumerator.c:125,1
    - Dst: g_socket_address_enumerator_next
      Src: /src/glib/gio/gsocketaddressenumerator.c:123,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gsocketaddressenumerator.c:127,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketaddressenumerator.c:129,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - enumerator
    - cancellable
    - callback
    - user_data
    argTypes:
    - GSocketAddressEnumerator*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 130
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 130
    functionName: g_socket_address_enumerator_real_next_async
    functionSourceFile: /src/glib/gio/gsocketaddressenumerator.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_object_unref
    - g_task_return_pointer
    - g_task_set_source_tag
    - g_socket_address_enumerator_next
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: "static void g_socket_address_enumerator_real_next_async (GSocketAddressEnumerator\
      \ *enumerator,\t\t\t\t\t GCancellable *cancellable,\t\t\t\t\t GAsyncReadyCallback\
      \ callback,\t\t\t\t\t gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsocketaddressenumerator.c:154,1
    - Dst: G_IS_SOCKET_ADDRESS_ENUMERATOR
      Src: /src/glib/gio/gsocketaddressenumerator.c:154,1
    - Dst: G_SOCKET_ADDRESS_ENUMERATOR_GET_CLASS
      Src: /src/glib/gio/gsocketaddressenumerator.c:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - enumerator
    - cancellable
    - callback
    - user_data
    argTypes:
    - GSocketAddressEnumerator*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 159
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 159
    functionName: g_socket_address_enumerator_next_async
    functionSourceFile: /src/glib/gio/gsocketaddressenumerator.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET_ADDRESS_ENUMERATOR
    - G_SOCKET_ADDRESS_ENUMERATOR_GET_CLASS
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_socket_address_enumerator_next_async (GSocketAddressEnumerator\
      \ *enumerator,\t\t\t\t\tGCancellable *cancellable,\t\t\t\t\tGAsyncReadyCallback\
      \ callback,\t\t\t\t\tgpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - enumerator_class
    argTypes:
    - GSocketAddressEnumeratorClass*
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: g_socket_address_enumerator_class_init
    functionSourceFile: /src/glib/gio/gsocketaddressenumerator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_address_enumerator_class_init (GSocketAddressEnumeratorClass
      *enumerator_class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocketaddressenumerator.c:166,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gsocketaddressenumerator.c:166,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gsocketaddressenumerator.c:168,1
    - Dst: G_TASK
      Src: /src/glib/gio/gsocketaddressenumerator.c:168,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 169
    functionName: g_socket_address_enumerator_real_next_finish
    functionSourceFile: /src/glib/gio/gsocketaddressenumerator.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_return_val_if_fail
    - g_task_is_valid
    - g_task_propagate_pointer
    linkageType: ''
    returnType: GSocketAddress*
    signature: "static GSocketAddress *g_socket_address_enumerator_real_next_finish\
      \ (GSocketAddressEnumerator *enumerator,\t\t\t\t\t GAsyncResult *result,\t\t\
      \t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocketaddressenumerator.c:99,1
    - Dst: G_SOCKET_ADDRESS_ENUMERATOR_GET_CLASS
      Src: /src/glib/gio/gsocketaddressenumerator.c:101,1
    - Dst: G_IS_SOCKET_ADDRESS_ENUMERATOR
      Src: /src/glib/gio/gsocketaddressenumerator.c:99,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 104
    functionName: g_socket_address_enumerator_next
    functionSourceFile: /src/glib/gio/gsocketaddressenumerator.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_SOCKET_ADDRESS_ENUMERATOR
    - G_SOCKET_ADDRESS_ENUMERATOR_GET_CLASS
    linkageType: ''
    returnType: GSocketAddress*
    signature: "GSocketAddress *g_socket_address_enumerator_next (GSocketAddressEnumerator\
      \ *enumerator,\t\t\t\t GCancellable *cancellable,\t\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocketaddressenumerator.c:193,1
    - Dst: G_SOCKET_ADDRESS_ENUMERATOR_GET_CLASS
      Src: /src/glib/gio/gsocketaddressenumerator.c:195,1
    - Dst: G_IS_SOCKET_ADDRESS_ENUMERATOR
      Src: /src/glib/gio/gsocketaddressenumerator.c:193,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 198
    functionName: g_socket_address_enumerator_next_finish
    functionSourceFile: /src/glib/gio/gsocketaddressenumerator.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_SOCKET_ADDRESS_ENUMERATOR
    - G_SOCKET_ADDRESS_ENUMERATOR_GET_CLASS
    linkageType: ''
    returnType: GSocketAddress*
    signature: "GSocketAddress *g_socket_address_enumerator_next_finish (GSocketAddressEnumerator\
      \ *enumerator,\t\t\t\t\t GAsyncResult *result,\t\t\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GPollableOutputStreamInterface*
    constantsTouched: []
    func_position:
      end: 159
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 159
    functionName: g_unix_output_stream_pollable_iface_init
    functionSourceFile: /src/glib/gio/gunixoutputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_output_stream_pollable_iface_init (GPollableOutputStreamInterface
      *iface) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_OUTPUT_STREAM
      Src: /src/glib/gio/gunixoutputstream.c:175,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gunixoutputstream.c:184,1
    - Dst: _g_fd_is_pollable
      Src: /src/glib/gio/gunixoutputstream.c:181,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gunixoutputstream.c:187,1
    - Dst: g_value_get_int
      Src: /src/glib/gio/gunixoutputstream.c:180,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 190
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 190
    functionName: g_unix_output_stream_set_property
    functionSourceFile: /src/glib/gio/gunixoutputstream.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_UNIX_OUTPUT_STREAM
    - g_value_get_boolean
    - _g_fd_is_pollable
    - g_value_get_int
    linkageType: ''
    returnType: void
    signature: "static void g_unix_output_stream_set_property (GObject *object,\t\t\
      \t\t guint prop_id,\t\t\t\t const GValue *value,\t\t\t\t GParamSpec *pspec) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_output_stream_get_instance_private
      Src: /src/glib/gio/gunixoutputstream.c:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - unix_stream
    argTypes:
    - GUnixOutputStream*
    constantsTouched: []
    func_position:
      end: 221
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 221
    functionName: g_unix_output_stream_init
    functionSourceFile: /src/glib/gio/gunixoutputstream.c
    functionUses: []
    functionsReached:
    - g_unix_output_stream_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_output_stream_init (GUnixOutputStream *unix_stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixoutputstream.c:289,1
    - Dst: G_IS_UNIX_OUTPUT_STREAM
      Src: /src/glib/gio/gunixoutputstream.c:289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GUnixOutputStream*
    constantsTouched: []
    func_position:
      end: 292
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 292
    functionName: g_unix_output_stream_get_close_fd
    functionSourceFile: /src/glib/gio/gunixoutputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_UNIX_OUTPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unix_output_stream_get_close_fd (GUnixOutputStream *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixoutputstream.c:307,1
    - Dst: G_IS_UNIX_OUTPUT_STREAM
      Src: /src/glib/gio/gunixoutputstream.c:307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GUnixOutputStream*
    constantsTouched: []
    func_position:
      end: 310
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 310
    functionName: g_unix_output_stream_get_fd
    functionSourceFile: /src/glib/gio/gunixoutputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_UNIX_OUTPUT_STREAM
    linkageType: ''
    returnType: gint
    signature: 'gint g_unix_output_stream_get_fd (GUnixOutputStream *stream) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_OUTPUT_STREAM
      Src: /src/glib/gio/gunixoutputstream.c:501,1
    - Dst: _
      Src: /src/glib/gio/gunixoutputstream.c:514,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gunixoutputstream.c:513,1
    - Dst: close
      Src: /src/glib/gio/gunixoutputstream.c:507,1
    - Dst: g_set_error
      Src: /src/glib/gio/gunixoutputstream.c:512,1
    - Dst: g_strerror
      Src: /src/glib/gio/gunixoutputstream.c:515,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GOutputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 519
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 519
    functionName: g_unix_output_stream_close
    functionSourceFile: /src/glib/gio/gunixoutputstream.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_io_error_from_errno
    - G_UNIX_OUTPUT_STREAM
    - g_strerror
    - close
    - _
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_unix_output_stream_close (GOutputStream *stream,\t\
      \t\t GCancellable *cancellable,\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_OUTPUT_STREAM
      Src: /src/glib/gio/gunixoutputstream.c:530,1
    - Dst: g_poll
      Src: /src/glib/gio/gunixoutputstream.c:539,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GPollableOutputStream*
    constantsTouched: []
    func_position:
      end: 543
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 543
    functionName: g_unix_output_stream_pollable_is_writable
    functionSourceFile: /src/glib/gio/gunixoutputstream.c
    functionUses: []
    functionsReached:
    - G_UNIX_OUTPUT_STREAM
    - g_poll
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_unix_output_stream_pollable_is_writable (GPollableOutputStream
      *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gunixoutputstream.c:115,1
    - Dst: G_OUTPUT_STREAM_CLASS
      Src: /src/glib/gio/gunixoutputstream.c:116,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gunixoutputstream.c:132,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gunixoutputstream.c:145,1
    - Dst: g_param_spec_int
      Src: /src/glib/gio/gunixoutputstream.c:134,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gunixoutputstream.c:147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GUnixOutputStreamClass*
    constantsTouched: []
    func_position:
      end: 150
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 150
    functionName: g_unix_output_stream_class_init
    functionSourceFile: /src/glib/gio/gunixoutputstream.c
    functionUses: []
    functionsReached:
    - g_param_spec_boolean
    - g_param_spec_int
    - G_OUTPUT_STREAM_CLASS
    - g_object_class_install_property
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_output_stream_class_init (GUnixOutputStreamClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GFileDescriptorBasedIface*
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: g_unix_output_stream_file_descriptor_based_iface_init
    functionSourceFile: /src/glib/gio/gunixoutputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_output_stream_file_descriptor_based_iface_init
      (GFileDescriptorBasedIface *iface) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_OUTPUT_STREAM
      Src: /src/glib/gio/gunixoutputstream.c:200,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gunixoutputstream.c:211,1
    - Dst: g_value_set_int
      Src: /src/glib/gio/gunixoutputstream.c:205,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gunixoutputstream.c:208,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 213
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 213
    functionName: g_unix_output_stream_get_property
    functionSourceFile: /src/glib/gio/gunixoutputstream.c
    functionUses: []
    functionsReached:
    - G_UNIX_OUTPUT_STREAM
    - g_value_set_boolean
    - g_value_set_int
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: "static void g_unix_output_stream_get_property (GObject *object,\t\t\
      \t\t guint prop_id,\t\t\t\t GValue *value,\t\t\t\t GParamSpec *pspec) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_OUTPUT_STREAM
      Src: /src/glib/gio/gunixoutputstream.c:325,1
    - Dst: g_poll
      Src: /src/glib/gio/gunixoutputstream.c:342,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gunixoutputstream.c:350,1
    - Dst: g_cancellable_make_pollfd
      Src: /src/glib/gio/gunixoutputstream.c:332,1
    - Dst: g_set_error
      Src: /src/glib/gio/gunixoutputstream.c:349,1
    - Dst: _
      Src: /src/glib/gio/gunixoutputstream.c:351,1
    - Dst: g_strerror
      Src: /src/glib/gio/gunixoutputstream.c:352,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gunixoutputstream.c:356,1
    - Dst: write
      Src: /src/glib/gio/gunixoutputstream.c:362,1
    - Dst: g_set_error
      Src: /src/glib/gio/gunixoutputstream.c:369,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gunixoutputstream.c:370,1
    - Dst: g_cancellable_release_fd
      Src: /src/glib/gio/gunixoutputstream.c:379,1
    - Dst: _
      Src: /src/glib/gio/gunixoutputstream.c:371,1
    - Dst: g_strerror
      Src: /src/glib/gio/gunixoutputstream.c:372,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 39
    argCount: 5
    argNames:
    - stream
    - buffer
    - count
    - cancellable
    - error
    argTypes:
    - GOutputStream*
    - void*
    - gsize
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 381
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 381
    functionName: g_unix_output_stream_write
    functionSourceFile: /src/glib/gio/gunixoutputstream.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_cancellable_make_pollfd
    - write
    - g_io_error_from_errno
    - G_UNIX_OUTPUT_STREAM
    - g_strerror
    - g_poll
    - g_cancellable_release_fd
    - _
    - g_cancellable_set_error_if_cancelled
    linkageType: ''
    returnType: gssize
    signature: "static gssize g_unix_output_stream_write (GOutputStream *stream,\t\
      \t\t const void *buffer,\t\t\t gsize count,\t\t\t GCancellable *cancellable,\t\
      \t\t GError **error) "
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_OUTPUT_STREAM
      Src: /src/glib/gio/gunixoutputstream.c:414,1
    - Dst: g_cancellable_make_pollfd
      Src: /src/glib/gio/gunixoutputstream.c:439,1
    - Dst: g_newa
      Src: /src/glib/gio/gunixoutputstream.c:426,1
    - Dst: g_set_error
      Src: /src/glib/gio/gunixoutputstream.c:456,1
    - Dst: g_poll
      Src: /src/glib/gio/gunixoutputstream.c:449,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gunixoutputstream.c:457,1
    - Dst: _
      Src: /src/glib/gio/gunixoutputstream.c:458,1
    - Dst: g_strerror
      Src: /src/glib/gio/gunixoutputstream.c:459,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gunixoutputstream.c:463,1
    - Dst: writev
      Src: /src/glib/gio/gunixoutputstream.c:469,1
    - Dst: _
      Src: /src/glib/gio/gunixoutputstream.c:478,1
    - Dst: g_strerror
      Src: /src/glib/gio/gunixoutputstream.c:479,1
    - Dst: g_set_error
      Src: /src/glib/gio/gunixoutputstream.c:476,1
    - Dst: g_cancellable_release_fd
      Src: /src/glib/gio/gunixoutputstream.c:489,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gunixoutputstream.c:477,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 54
    argCount: 6
    argNames:
    - stream
    - vectors
    - n_vectors
    - bytes_written
    - cancellable
    - error
    argTypes:
    - GOutputStream*
    - GOutputVector*
    - gsize
    - gsize*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 491
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 491
    functionName: g_unix_output_stream_writev
    functionSourceFile: /src/glib/gio/gunixoutputstream.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_cancellable_make_pollfd
    - writev
    - g_io_error_from_errno
    - G_UNIX_OUTPUT_STREAM
    - g_strerror
    - g_poll
    - g_cancellable_release_fd
    - _
    - g_newa
    - g_cancellable_set_error_if_cancelled
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_unix_output_stream_writev (GOutputStream *stream,\t\
      \t\t const GOutputVector *vectors,\t\t\t gsize n_vectors,\t\t\t gsize *bytes_written,\t\
      \t\t GCancellable *cancellable,\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_OUTPUT_STREAM
      Src: /src/glib/gio/gunixoutputstream.c:524,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GPollableOutputStream*
    constantsTouched: []
    func_position:
      end: 525
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 525
    functionName: g_unix_output_stream_pollable_can_poll
    functionSourceFile: /src/glib/gio/gunixoutputstream.c
    functionUses: []
    functionsReached:
    - G_UNIX_OUTPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_unix_output_stream_pollable_can_poll (GPollableOutputStream
      *stream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_OUTPUT_STREAM
      Src: /src/glib/gio/gunixoutputstream.c:549,1
    - Dst: g_source_set_dummy_callback
      Src: /src/glib/gio/gunixoutputstream.c:555,1
    - Dst: g_pollable_source_new
      Src: /src/glib/gio/gunixoutputstream.c:552,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gunixoutputstream.c:552,1
    - Dst: g_unix_fd_source_new
      Src: /src/glib/gio/gunixoutputstream.c:554,1
    - Dst: g_source_add_child_source
      Src: /src/glib/gio/gunixoutputstream.c:556,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gunixoutputstream.c:557,1
    - Dst: g_cancellable_source_new
      Src: /src/glib/gio/gunixoutputstream.c:561,1
    - Dst: g_source_set_dummy_callback
      Src: /src/glib/gio/gunixoutputstream.c:562,1
    - Dst: g_source_add_child_source
      Src: /src/glib/gio/gunixoutputstream.c:563,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gunixoutputstream.c:564,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 568
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 568
    functionName: g_unix_output_stream_pollable_create_source
    functionSourceFile: /src/glib/gio/gunixoutputstream.c
    functionUses: []
    functionsReached:
    - G_UNIX_OUTPUT_STREAM
    - g_cancellable_source_new
    - G_OBJECT
    - g_unix_fd_source_new
    - g_pollable_source_new
    - g_source_unref
    - g_source_add_child_source
    - g_source_set_dummy_callback
    linkageType: ''
    returnType: GSource*
    signature: "static GSource *g_unix_output_stream_pollable_create_source (GPollableOutputStream\
      \ *stream,\t\t\t\t\t GCancellable *cancellable) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_OUTPUT_STREAM
      Src: /src/glib/gio/gunixoutputstream.c:577,1
    - Dst: g_newa
      Src: /src/glib/gio/gunixoutputstream.c:603,1
    - Dst: g_pollable_output_stream_is_writable
      Src: /src/glib/gio/gunixoutputstream.c:581,1
    - Dst: g_set_error
      Src: /src/glib/gio/gunixoutputstream.c:622,1
    - Dst: writev
      Src: /src/glib/gio/gunixoutputstream.c:615,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gunixoutputstream.c:623,1
    - Dst: _
      Src: /src/glib/gio/gunixoutputstream.c:624,1
    - Dst: g_strerror
      Src: /src/glib/gio/gunixoutputstream.c:625,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 31
    argCount: 5
    argNames:
    - stream
    - vectors
    - n_vectors
    - bytes_written
    - error
    argTypes:
    - GPollableOutputStream*
    - GOutputVector*
    - gsize
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 635
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 635
    functionName: g_unix_output_stream_pollable_writev_nonblocking
    functionSourceFile: /src/glib/gio/gunixoutputstream.c
    functionUses: []
    functionsReached:
    - writev
    - g_set_error
    - g_io_error_from_errno
    - G_UNIX_OUTPUT_STREAM
    - g_pollable_output_stream_is_writable
    - g_strerror
    - _
    - g_newa
    linkageType: ''
    returnType: GPollableReturn
    signature: "static GPollableReturn g_unix_output_stream_pollable_writev_nonblocking\
      \ (GPollableOutputStream *stream,\t\t\t\t\t\t const GOutputVector *vectors,\t\
      \t\t\t\t\t gsize n_vectors,\t\t\t\t\t\t gsize *bytes_written,\t\t\t\t\t\t GError\
      \ **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixoutputstream.c:241,1
    - Dst: g_object_new
      Src: /src/glib/gio/gunixoutputstream.c:243,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gunixoutputstream.c:248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 249
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 249
    functionName: g_unix_output_stream_new
    functionSourceFile: /src/glib/gio/gunixoutputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_OUTPUT_STREAM
    - g_object_new
    linkageType: ''
    returnType: GOutputStream*
    signature: "GOutputStream *g_unix_output_stream_new (gint fd,\t\t\t gboolean close_fd) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gunixoutputstream.c:265,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gunixoutputstream.c:271,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gunixoutputstream.c:271,1
    - Dst: G_IS_UNIX_OUTPUT_STREAM
      Src: /src/glib/gio/gunixoutputstream.c:265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - stream
    - close_fd
    argTypes:
    - GUnixOutputStream*
    - gboolean
    constantsTouched: []
    func_position:
      end: 273
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 273
    functionName: g_unix_output_stream_set_close_fd
    functionSourceFile: /src/glib/gio/gunixoutputstream.c
    functionUses: []
    functionsReached:
    - g_object_notify
    - G_IS_UNIX_OUTPUT_STREAM
    - G_OBJECT
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_unix_output_stream_set_close_fd (GUnixOutputStream *stream,
      gboolean close_fd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gtestdbus.c:314,1
    - Dst: watcher_send_command
      Src: /src/glib/gio/gtestdbus.c:315,1
    - Dst: g_free
      Src: /src/glib/gio/gtestdbus.c:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GPid
    constantsTouched: []
    func_position:
      end: 317
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 317
    functionName: _g_test_watcher_add_pid
    functionSourceFile: /src/glib/gio/gtestdbus.c
    functionUses: []
    functionsReached:
    - watcher_send_command
    - g_strdup_printf
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void _g_test_watcher_add_pid (GPid pid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_value_set_flags
      Src: /src/glib/gio/gtestdbus.c:490,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gtestdbus.c:493,1
    - Dst: g_test_dbus_get_flags
      Src: /src/glib/gio/gtestdbus.c:490,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - object
    - property_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 496
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 496
    functionName: g_test_dbus_get_property
    functionSourceFile: /src/glib/gio/gtestdbus.c
    functionUses: []
    functionsReached:
    - g_value_set_flags
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_test_dbus_get_flags
    linkageType: ''
    returnType: void
    signature: 'static void g_test_dbus_get_property (GObject *object, guint property_id,
      GValue *value, GParamSpec *pspec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TerminateProcess
      Src: /src/glib/gio/gtestdbus.c:708,1
    - Dst: kill
      Src: /src/glib/gio/gtestdbus.c:711,1
    - Dst: GetLastError
      Src: /src/glib/gio/gtestdbus.c:709,1
    - Dst: g_win32_error_message
      Src: /src/glib/gio/gtestdbus.c:709,1
    - Dst: g_warning
      Src: /src/glib/gio/gtestdbus.c:709,1
    - Dst: _g_test_watcher_remove_pid
      Src: /src/glib/gio/gtestdbus.c:713,1
    - Dst: g_spawn_close_pid
      Src: /src/glib/gio/gtestdbus.c:714,1
    - Dst: g_free
      Src: /src/glib/gio/gtestdbus.c:717,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - self
    argTypes:
    - GTestDBus*
    constantsTouched: []
    func_position:
      end: 719
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 719
    functionName: stop_daemon
    functionSourceFile: /src/glib/gio/gtestdbus.c
    functionUses: []
    functionsReached:
    - TerminateProcess
    - g_spawn_close_pid
    - g_warning
    - g_win32_error_message
    - GetLastError
    - kill
    - _g_test_watcher_remove_pid
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void stop_daemon (GTestDBus *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtestdbus.c:766,1
    - Dst: G_IS_TEST_DBUS
      Src: /src/glib/gio/gtestdbus.c:766,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 769
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 769
    functionName: g_test_dbus_get_bus_address
    functionSourceFile: /src/glib/gio/gtestdbus.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_TEST_DBUS
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_test_dbus_get_bus_address (GTestDBus *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gtestdbus.c:324,1
    - Dst: watcher_send_command
      Src: /src/glib/gio/gtestdbus.c:325,1
    - Dst: g_free
      Src: /src/glib/gio/gtestdbus.c:326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GPid
    constantsTouched: []
    func_position:
      end: 327
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 327
    functionName: _g_test_watcher_remove_pid
    functionSourceFile: /src/glib/gio/gtestdbus.c
    functionUses: []
    functionsReached:
    - watcher_send_command
    - g_strdup_printf
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void _g_test_watcher_remove_pid (GPid pid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_value_get_flags
      Src: /src/glib/gio/gtestdbus.c:509,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gtestdbus.c:512,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - object
    - property_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 515
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 515
    functionName: g_test_dbus_set_property
    functionSourceFile: /src/glib/gio/gtestdbus.c
    functionUses: []
    functionsReached:
    - g_value_get_flags
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: 'static void g_test_dbus_set_property (GObject *object, guint property_id,
      const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: watcher_init
      Src: /src/glib/gio/gtestdbus.c:297,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/gtestdbus.c:305,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/gtestdbus.c:302,1
    - Dst: g_io_channel_flush
      Src: /src/glib/gio/gtestdbus.c:304,1
    - Dst: g_io_channel_write_chars
      Src: /src/glib/gio/gtestdbus.c:300,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - command
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 306
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 306
    functionName: watcher_send_command
    functionSourceFile: /src/glib/gio/gtestdbus.c
    functionUses: []
    functionsReached:
    - watcher_init
    - g_io_channel_flush
    - g_io_channel_write_chars
    - g_assert_no_error
    linkageType: ''
    returnType: void
    signature: 'static void watcher_send_command (const gchar *command) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtestdbus.c:748,1
    - Dst: G_IS_TEST_DBUS
      Src: /src/glib/gio/gtestdbus.c:748,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - GTestDBus*
    constantsTouched: []
    func_position:
      end: 751
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 751
    functionName: g_test_dbus_get_flags
    functionSourceFile: /src/glib/gio/gtestdbus.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_TEST_DBUS
    linkageType: ''
    returnType: GTestDBusFlags
    signature: 'GTestDBusFlags g_test_dbus_get_flags (GTestDBus *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gtestdbus.c:520,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtestdbus.c:534,1
    - Dst: g_param_spec_flags
      Src: /src/glib/gio/gtestdbus.c:535,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GTestDBusClass*
    constantsTouched: []
    func_position:
      end: 540
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 540
    functionName: g_test_dbus_class_init
    functionSourceFile: /src/glib/gio/gtestdbus.c
    functionUses: []
    functionsReached:
    - g_param_spec_flags
    - g_object_class_install_property
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_test_dbus_class_init (GTestDBusClass *klass) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_open_pipe
      Src: /src/glib/gio/gtestdbus.c:600,1
    - Dst: _pipe
      Src: /src/glib/gio/gtestdbus.c:602,1
    - Dst: _
      Src: /src/glib/gio/gtestdbus.c:607,1
    - Dst: g_set_error
      Src: /src/glib/gio/gtestdbus.c:606,1
    - Dst: g_strerror
      Src: /src/glib/gio/gtestdbus.c:608,1
    - Dst: g_set_error
      Src: /src/glib/gio/gtestdbus.c:613,1
    - Dst: _
      Src: /src/glib/gio/gtestdbus.c:614,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - pipe_fds
    - error
    argTypes:
    - gint
    - GError**
    constantsTouched: []
    func_position:
      end: 617
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 617
    functionName: make_pipe
    functionSourceFile: /src/glib/gio/gtestdbus.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_unix_open_pipe
    - g_strerror
    - _
    - _pipe
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean make_pipe (gint pipe_fds[2], GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_open_tmp
      Src: /src/glib/gio/gtestdbus.c:551,1
    - Dst: g_string_new
      Src: /src/glib/gio/gtestdbus.c:554,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/gtestdbus.c:552,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gtestdbus.c:567,1
    - Dst: g_string_append
      Src: /src/glib/gio/gtestdbus.c:555,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gtestdbus.c:569,1
    - Dst: g_string_append
      Src: /src/glib/gio/gtestdbus.c:573,1
    - Dst: close
      Src: /src/glib/gio/gtestdbus.c:584,1
    - Dst: g_file_set_contents_full
      Src: /src/glib/gio/gtestdbus.c:585,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/gtestdbus.c:588,1
    - Dst: g_string_free
      Src: /src/glib/gio/gtestdbus.c:590,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 593
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 593
    functionName: write_config_file
    functionSourceFile: /src/glib/gio/gtestdbus.c
    functionUses: []
    functionsReached:
    - g_assert_no_error
    - g_file_open_tmp
    - close
    - g_string_free
    - g_string_new
    - g_string_append_printf
    - g_ptr_array_index
    - g_string_append
    - g_file_set_contents_full
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *write_config_file (GTestDBus *self) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_getenv
      Src: /src/glib/gio/gtestdbus.c:631,1
    - Dst: write_config_file
      Src: /src/glib/gio/gtestdbus.c:642,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gtestdbus.c:643,1
    - Dst: g_spawn_async_with_pipes_and_fds
      Src: /src/glib/gio/gtestdbus.c:647,1
    - Dst: g_io_channel_unix_new
      Src: /src/glib/gio/gtestdbus.c:667,1
    - Dst: g_getenv
      Src: /src/glib/gio/gtestdbus.c:678,1
    - Dst: g_usleep
      Src: /src/glib/gio/gtestdbus.c:687,1
    - Dst: g_free
      Src: /src/glib/gio/gtestdbus.c:700,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/gtestdbus.c:635,1
    - Dst: g_getenv
      Src: /src/glib/gio/gtestdbus.c:632,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gtestdbus.c:637,1
    - Dst: g_io_channel_read_line
      Src: /src/glib/gio/gtestdbus.c:670,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gtestdbus.c:682,1
    - Dst: close
      Src: /src/glib/gio/gtestdbus.c:674,1
    - Dst: g_free
      Src: /src/glib/gio/gtestdbus.c:685,1
    - Dst: g_free
      Src: /src/glib/gio/gtestdbus.c:701,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/gtestdbus.c:639,1
    - Dst: g_io_channel_set_close_on_unref
      Src: /src/glib/gio/gtestdbus.c:669,1
    - Dst: g_spawn_command_line_async
      Src: /src/glib/gio/gtestdbus.c:684,1
    - Dst: _g_test_watcher_add_pid
      Src: /src/glib/gio/gtestdbus.c:664,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/gtestdbus.c:692,1
    - Dst: g_unlink
      Src: /src/glib/gio/gtestdbus.c:696,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gtestdbus.c:697,1
    - Dst: make_pipe
      Src: /src/glib/gio/gtestdbus.c:634,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/gtestdbus.c:662,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/gtestdbus.c:672,1
    - Dst: g_io_channel_shutdown
      Src: /src/glib/gio/gtestdbus.c:691,1
    - Dst: g_io_channel_unref
      Src: /src/glib/gio/gtestdbus.c:693,1
    - Dst: g_free
      Src: /src/glib/gio/gtestdbus.c:699,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 1
    argNames:
    - self
    argTypes:
    - GTestDBus*
    constantsTouched: []
    func_position:
      end: 702
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 702
    functionName: start_daemon
    functionSourceFile: /src/glib/gio/gtestdbus.c
    functionUses: []
    functionsReached:
    - g_io_channel_unix_new
    - g_strdup_printf
    - g_spawn_async_with_pipes_and_fds
    - make_pipe
    - g_unlink
    - g_getenv
    - g_io_channel_set_close_on_unref
    - write_config_file
    - g_assert_not_reached
    - g_usleep
    - g_assert_no_error
    - close
    - g_io_channel_read_line
    - g_io_channel_shutdown
    - _g_test_watcher_add_pid
    - g_spawn_command_line_async
    - g_io_channel_unref
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void start_daemon (GTestDBus *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gtestdbus.c:732,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 735
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 735
    functionName: g_test_dbus_new
    functionSourceFile: /src/glib/gio/gtestdbus.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: GTestDBus*
    signature: 'GTestDBus *g_test_dbus_new (GTestDBusFlags flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/gtestdbus.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: on_weak_notify_timeout
    functionSourceFile: /src/glib/gio/gtestdbus.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    linkageType: ''
    returnType: void
    signature: 'static void on_weak_notify_timeout (gpointer user_data) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: kill
      Src: /src/glib/gio/gtestdbus.c:189,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/gtestdbus.c:202,1
    - Dst: g_warning
      Src: /src/glib/gio/gtestdbus.c:227,1
    - Dst: g_array_index
      Src: /src/glib/gio/gtestdbus.c:187,1
    - Dst: g_array_new
      Src: /src/glib/gio/gtestdbus.c:168,1
    - Dst: g_io_channel_read_line
      Src: /src/glib/gio/gtestdbus.c:201,1
    - Dst: sscanf
      Src: /src/glib/gio/gtestdbus.c:205,1
    - Dst: g_warning
      Src: /src/glib/gio/gtestdbus.c:222,1
    - Dst: g_array_remove_index
      Src: /src/glib/gio/gtestdbus.c:215,1
    - Dst: g_io_channel_unix_new
      Src: /src/glib/gio/gtestdbus.c:162,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/gtestdbus.c:194,1
    - Dst: g_free
      Src: /src/glib/gio/gtestdbus.c:230,1
    - Dst: g_poll
      Src: /src/glib/gio/gtestdbus.c:178,1
    - Dst: g_printerr
      Src: /src/glib/gio/gtestdbus.c:188,1
    - Dst: g_array_unref
      Src: /src/glib/gio/gtestdbus.c:192,1
    - Dst: g_io_channel_shutdown
      Src: /src/glib/gio/gtestdbus.c:193,1
    - Dst: g_io_channel_unref
      Src: /src/glib/gio/gtestdbus.c:195,1
    - Dst: exit
      Src: /src/glib/gio/gtestdbus.c:197,1
    - Dst: sscanf
      Src: /src/glib/gio/gtestdbus.c:209,1
    - Dst: g_array_index
      Src: /src/glib/gio/gtestdbus.c:213,1
    - Dst: g_array_append_val
      Src: /src/glib/gio/gtestdbus.c:207,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 1
    argNames:
    - fd
    argTypes:
    - gint
    constantsTouched: []
    func_position:
      end: 233
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 233
    functionName: watch_parent
    functionSourceFile: /src/glib/gio/gtestdbus.c
    functionUses: []
    functionsReached:
    - g_io_channel_unix_new
    - g_printerr
    - g_warning
    - g_array_append_val
    - g_array_remove_index
    - sscanf
    - g_array_index
    - g_free
    - g_assert_no_error
    - g_poll
    - g_io_channel_shutdown
    - g_io_channel_read_line
    - g_array_new
    - kill
    - g_array_unref
    - g_io_channel_unref
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void watch_parent (gint fd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_dbus_down
      Src: /src/glib/gio/gtestdbus.c:463,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gtestdbus.c:465,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 466
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 466
    functionName: g_test_dbus_dispose
    functionSourceFile: /src/glib/gio/gtestdbus.c
    functionUses: []
    functionsReached:
    - g_test_dbus_down
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_test_dbus_dispose (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtestdbus.c:783,1
    - Dst: G_IS_TEST_DBUS
      Src: /src/glib/gio/gtestdbus.c:783,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtestdbus.c:784,1
    - Dst: g_strdup
      Src: /src/glib/gio/gtestdbus.c:786,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gtestdbus.c:786,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - self
    - path
    argTypes:
    - GTestDBus*
    - gchar*
    constantsTouched: []
    func_position:
      end: 787
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 787
    functionName: g_test_dbus_add_service_dir
    functionSourceFile: /src/glib/gio/gtestdbus.c
    functionUses: []
    functionsReached:
    - g_strdup
    - G_IS_TEST_DBUS
    - g_ptr_array_add
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_test_dbus_add_service_dir (GTestDBus *self, const gchar *path) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtestdbus.c:852,1
    - Dst: g_dbus_connection_set_exit_on_close
      Src: /src/glib/gio/gtestdbus.c:857,1
    - Dst: G_IS_TEST_DBUS
      Src: /src/glib/gio/gtestdbus.c:852,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtestdbus.c:853,1
    - Dst: _g_bus_get_singleton_if_exists
      Src: /src/glib/gio/gtestdbus.c:855,1
    - Dst: stop_daemon
      Src: /src/glib/gio/gtestdbus.c:860,1
    - Dst: _g_object_unref_and_wait_weak_notify
      Src: /src/glib/gio/gtestdbus.c:863,1
    - Dst: g_test_dbus_unset
      Src: /src/glib/gio/gtestdbus.c:865,1
    - Dst: _g_bus_forget_singleton
      Src: /src/glib/gio/gtestdbus.c:866,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - self
    argTypes:
    - GTestDBus*
    constantsTouched: []
    func_position:
      end: 868
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 868
    functionName: g_test_dbus_down
    functionSourceFile: /src/glib/gio/gtestdbus.c
    functionUses: []
    functionsReached:
    - stop_daemon
    - g_return_if_fail
    - _g_object_unref_and_wait_weak_notify
    - _g_bus_get_singleton_if_exists
    - _g_bus_forget_singleton
    - g_dbus_connection_set_exit_on_close
    - G_IS_TEST_DBUS
    - g_test_dbus_unset
    linkageType: ''
    returnType: void
    signature: 'void g_test_dbus_down (GTestDBus *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/gtestdbus.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: unref_on_idle
    functionSourceFile: /src/glib/gio/gtestdbus.c
    functionUses: []
    functionsReached:
    - g_object_unref
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean unref_on_idle (gpointer object) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/gio/gtestdbus.c:242,1
    - Dst: g_unix_open_pipe_internal
      Src: /src/glib/gio/gtestdbus.c:247,1
    - Dst: g_strerror
      Src: /src/glib/gio/gtestdbus.c:250,1
    - Dst: g_warning
      Src: /src/glib/gio/gtestdbus.c:250,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gtestdbus.c:251,1
    - Dst: fflush
      Src: /src/glib/gio/gtestdbus.c:261,1
    - Dst: fflush
      Src: /src/glib/gio/gtestdbus.c:262,1
    - Dst: fork
      Src: /src/glib/gio/gtestdbus.c:264,1
    - Dst: g_warning
      Src: /src/glib/gio/gtestdbus.c:268,1
    - Dst: g_strerror
      Src: /src/glib/gio/gtestdbus.c:268,1
    - Dst: watch_parent
      Src: /src/glib/gio/gtestdbus.c:275,1
    - Dst: close
      Src: /src/glib/gio/gtestdbus.c:274,1
    - Dst: g_io_channel_unix_new
      Src: /src/glib/gio/gtestdbus.c:281,1
    - Dst: close
      Src: /src/glib/gio/gtestdbus.c:280,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/gtestdbus.c:284,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gtestdbus.c:269,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 288
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 288
    functionName: watcher_init
    functionSourceFile: /src/glib/gio/gtestdbus.c
    functionUses: []
    functionsReached:
    - g_once_init_leave
    - g_io_channel_unix_new
    - g_warning
    - fflush
    - g_strerror
    - g_once_init_enter
    - g_assert_not_reached
    - fork
    - close
    - watch_parent
    - g_unix_open_pipe_internal
    linkageType: ''
    returnType: GIOChannel*
    signature: 'static GIOChannel *watcher_init (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/gtestdbus.c:473,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gtestdbus.c:476,1
    - Dst: g_free
      Src: /src/glib/gio/gtestdbus.c:474,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 477
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 477
    functionName: g_test_dbus_finalize
    functionSourceFile: /src/glib/gio/gtestdbus.c
    functionUses: []
    functionsReached:
    - g_ptr_array_unref
    - g_free
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_test_dbus_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtestdbus.c:831,1
    - Dst: G_IS_TEST_DBUS
      Src: /src/glib/gio/gtestdbus.c:831,1
    - Dst: stop_daemon
      Src: /src/glib/gio/gtestdbus.c:834,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtestdbus.c:832,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - self
    argTypes:
    - GTestDBus*
    constantsTouched: []
    func_position:
      end: 835
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 835
    functionName: g_test_dbus_stop
    functionSourceFile: /src/glib/gio/gtestdbus.c
    functionUses: []
    functionsReached:
    - G_IS_TEST_DBUS
    - stop_daemon
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_test_dbus_stop (GTestDBus *self) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/gio/gtestdbus.c:125,1
    - Dst: SetInformationJobObject
      Src: /src/glib/gio/gtestdbus.c:133,1
    - Dst: CreateJobObjectW
      Src: /src/glib/gio/gtestdbus.c:129,1
    - Dst: g_warning
      Src: /src/glib/gio/gtestdbus.c:134,1
    - Dst: memset
      Src: /src/glib/gio/gtestdbus.c:130,1
    - Dst: g_win32_error_message
      Src: /src/glib/gio/gtestdbus.c:134,1
    - Dst: GetLastError
      Src: /src/glib/gio/gtestdbus.c:134,1
    - Dst: g_once_init_leave_pointer
      Src: /src/glib/gio/gtestdbus.c:136,1
    - Dst: AssignProcessToJobObject
      Src: /src/glib/gio/gtestdbus.c:139,1
    - Dst: g_warning
      Src: /src/glib/gio/gtestdbus.c:140,1
    - Dst: g_win32_error_message
      Src: /src/glib/gio/gtestdbus.c:140,1
    - Dst: GetLastError
      Src: /src/glib/gio/gtestdbus.c:140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GPid
    constantsTouched: []
    func_position:
      end: 141
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 141
    functionName: _g_test_watcher_add_pid
    functionSourceFile: /src/glib/gio/gtestdbus.c
    functionUses: []
    functionsReached:
    - CreateJobObjectW
    - g_once_init_leave_pointer
    - g_warning
    - g_win32_error_message
    - g_once_init_enter
    - AssignProcessToJobObject
    - GetLastError
    - SetInformationJobObject
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void _g_test_watcher_add_pid (GPid pid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - pid
    argTypes:
    - GPid
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: _g_test_watcher_remove_pid
    functionSourceFile: /src/glib/gio/gtestdbus.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _g_test_watcher_remove_pid (GPid pid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_dbus_get_instance_private
      Src: /src/glib/gio/gtestdbus.c:453,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/gio/gtestdbus.c:454,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - self
    argTypes:
    - GTestDBus*
    constantsTouched: []
    func_position:
      end: 455
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 455
    functionName: g_test_dbus_init
    functionSourceFile: /src/glib/gio/gtestdbus.c
    functionUses: []
    functionsReached:
    - g_test_dbus_get_instance_private
    - g_ptr_array_new_with_free_func
    linkageType: ''
    returnType: void
    signature: 'static void g_test_dbus_init (GTestDBus *self) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_new
      Src: /src/glib/gio/gtestdbus.c:85,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/gtestdbus.c:98,1
    - Dst: g_timeout_add_seconds_once
      Src: /src/glib/gio/gtestdbus.c:96,1
    - Dst: g_object_weak_ref
      Src: /src/glib/gio/gtestdbus.c:88,1
    - Dst: g_idle_add
      Src: /src/glib/gio/gtestdbus.c:93,1
    - Dst: g_warning
      Src: /src/glib/gio/gtestdbus.c:102,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtestdbus.c:103,1
    - Dst: g_source_remove
      Src: /src/glib/gio/gtestdbus.c:107,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/gtestdbus.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - object
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 112
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 112
    functionName: _g_object_unref_and_wait_weak_notify
    functionSourceFile: /src/glib/gio/gtestdbus.c
    functionUses: []
    functionsReached:
    - g_main_loop_run
    - g_timeout_add_seconds_once
    - g_warning
    - g_object_weak_ref
    - G_OBJECT
    - g_main_loop_unref
    - g_main_loop_new
    - g_source_remove
    - g_idle_add
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _g_object_unref_and_wait_weak_notify (gpointer object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtestdbus.c:805,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtestdbus.c:807,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtestdbus.c:806,1
    - Dst: G_IS_TEST_DBUS
      Src: /src/glib/gio/gtestdbus.c:805,1
    - Dst: start_daemon
      Src: /src/glib/gio/gtestdbus.c:809,1
    - Dst: g_test_dbus_unset
      Src: /src/glib/gio/gtestdbus.c:811,1
    - Dst: g_setenv
      Src: /src/glib/gio/gtestdbus.c:812,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - self
    argTypes:
    - GTestDBus*
    constantsTouched: []
    func_position:
      end: 814
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 814
    functionName: g_test_dbus_up
    functionSourceFile: /src/glib/gio/gtestdbus.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - g_setenv
    - start_daemon
    - G_IS_TEST_DBUS
    - g_test_dbus_unset
    linkageType: ''
    returnType: void
    signature: 'void g_test_dbus_up (GTestDBus *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unsetenv
      Src: /src/glib/gio/gtestdbus.c:883,1
    - Dst: g_unsetenv
      Src: /src/glib/gio/gtestdbus.c:886,1
    - Dst: g_unsetenv
      Src: /src/glib/gio/gtestdbus.c:885,1
    - Dst: g_unsetenv
      Src: /src/glib/gio/gtestdbus.c:888,1
    - Dst: g_unsetenv
      Src: /src/glib/gio/gtestdbus.c:884,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 889
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 889
    functionName: g_test_dbus_unset
    functionSourceFile: /src/glib/gio/gtestdbus.c
    functionUses: []
    functionsReached:
    - g_unsetenv
    linkageType: ''
    returnType: void
    signature: 'void g_test_dbus_unset (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmenumodel.c:819,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gmenumodel.c:821,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 822
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 822
    functionName: g_menu_attribute_iter_get_value
    functionSourceFile: /src/glib/gio/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_variant_ref
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_menu_attribute_iter_get_value (GMenuAttributeIter *iter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmenumodel.c:973,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gmenumodel.c:975,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 976
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 976
    functionName: g_menu_link_iter_get_value
    functionSourceFile: /src/glib/gio/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_object_ref
    linkageType: ''
    returnType: GMenuModel*
    signature: 'GMenuModel *g_menu_link_iter_get_value (GMenuLinkIter *iter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_MENU_ATTRIBUTE_ITER
      Src: /src/glib/gio/gmenumodel.c:827,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gmenumodel.c:832,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gmenumodel.c:830,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 834
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 834
    functionName: g_menu_attribute_iter_finalize
    functionSourceFile: /src/glib/gio/gmenumodel.c
    functionUses: []
    functionsReached:
    - G_MENU_ATTRIBUTE_ITER
    - g_variant_unref
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_menu_attribute_iter_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gmenumodel.c:999,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - class
    argTypes:
    - GMenuLinkIterClass*
    constantsTouched: []
    func_position:
      end: 1002
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 1002
    functionName: g_menu_link_iter_class_init
    functionSourceFile: /src/glib/gio/gmenumodel.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_menu_link_iter_class_init (GMenuLinkIterClass *class) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_menu_model_get_item_attribute_value
      Src: /src/glib/gio/gmenumodel.c:594,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gmenumodel.c:601,1
    - Dst: g_variant_get_va
      Src: /src/glib/gio/gmenumodel.c:606,1
    - Dst: g_variant_check_format_string
      Src: /src/glib/gio/gmenumodel.c:599,1
    - Dst: va_start
      Src: /src/glib/gio/gmenumodel.c:605,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gmenumodel.c:607,1
    - Dst: va_end
      Src: /src/glib/gio/gmenumodel.c:608,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - model
    - item_index
    - attribute
    - format_string
    - '...'
    argTypes:
    - GMenuModel*
    - gint
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 611
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 611
    functionName: g_menu_model_get_item_attribute
    functionSourceFile: /src/glib/gio/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_variant_check_format_string
    - g_variant_get_va
    - g_variant_unref
    - va_end
    - g_menu_model_get_item_attribute_value
    - va_start
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_menu_model_get_item_attribute (GMenuModel *model, gint
      item_index, const gchar *attribute, const gchar *format_string, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_MENU_MODEL_GET_CLASS
      Src: /src/glib/gio/gmenumodel.c:656,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 658
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 658
    functionName: g_menu_model_get_item_link
    functionSourceFile: /src/glib/gio/gmenumodel.c
    functionUses: []
    functionsReached:
    - G_MENU_MODEL_GET_CLASS
    linkageType: ''
    returnType: GMenuModel*
    signature: 'GMenuModel *g_menu_model_get_item_link (GMenuModel *model, gint item_index,
      const gchar *link) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmenumodel.c:953,1
    - Dst: g_quark_to_string
      Src: /src/glib/gio/gmenumodel.c:955,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 956
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 956
    functionName: g_menu_link_iter_get_name
    functionSourceFile: /src/glib/gio/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_quark_to_string
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_menu_link_iter_get_name (GMenuLinkIter *iter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gmenumodel.c:207,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gmenumodel.c:209,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 211
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 211
    functionName: g_menu_link_hash_iter_finalize
    functionSourceFile: /src/glib/gio/gmenumodel.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    - g_hash_table_unref
    linkageType: ''
    returnType: void
    signature: 'static void g_menu_link_hash_iter_finalize (GObject *object) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_MENU_MODEL_GET_CLASS
      Src: /src/glib/gio/gmenumodel.c:328,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gmenumodel.c:337,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gmenumodel.c:333,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gmenumodel.c:338,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gmenumodel.c:344,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gmenumodel.c:347,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 350
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 350
    functionName: g_menu_model_real_get_item_attribute_value
    functionSourceFile: /src/glib/gio/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_variant_is_of_type
    - g_hash_table_unref
    - g_hash_table_lookup
    - g_assert_not_reached
    - G_MENU_MODEL_GET_CLASS
    - g_variant_ref
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_menu_model_real_get_item_attribute_value (GMenuModel
      *model, gint item_index, const gchar *attribute, const GVariantType *expected_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_menu_attribute_iter_get_instance_private
      Src: /src/glib/gio/gmenumodel.c:839,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GMenuAttributeIter*
    constantsTouched: []
    func_position:
      end: 840
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 840
    functionName: g_menu_attribute_iter_init
    functionSourceFile: /src/glib/gio/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_menu_attribute_iter_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_menu_attribute_iter_init (GMenuAttributeIter *iter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GMenuLinkHashIter*
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionName: g_menu_link_hash_iter_init
    functionSourceFile: /src/glib/gio/gmenumodel.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_menu_link_hash_iter_init (GMenuLinkHashIter *iter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gmenumodel.c:365,1
    - Dst: G_MENU_MODEL_GET_CLASS
      Src: /src/glib/gio/gmenumodel.c:359,1
    - Dst: g_object_new
      Src: /src/glib/gio/gmenumodel.c:364,1
    - Dst: g_menu_link_hash_iter_get_type
      Src: /src/glib/gio/gmenumodel.c:364,1
    - Dst: g_hash_table_ref
      Src: /src/glib/gio/gmenumodel.c:366,1
    - Dst: G_MENU_LINK_ITER
      Src: /src/glib/gio/gmenumodel.c:367,1
    - Dst: g_critical
      Src: /src/glib/gio/gmenumodel.c:371,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/gmenumodel.c:373,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gmenumodel.c:378,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 381
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 381
    functionName: g_menu_model_real_iterate_item_links
    functionSourceFile: /src/glib/gio/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_menu_link_hash_iter_get_type
    - g_hash_table_iter_init
    - g_object_new
    - G_OBJECT_TYPE_NAME
    - g_hash_table_unref
    - G_MENU_MODEL_GET_CLASS
    - G_MENU_LINK_ITER
    - g_critical
    - g_hash_table_ref
    linkageType: ''
    returnType: GMenuLinkIter*
    signature: 'static GMenuLinkIter *g_menu_model_real_iterate_item_links (GMenuModel
      *model, gint item_index) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gmenumodel.c:845,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - class
    argTypes:
    - GMenuAttributeIterClass*
    constantsTouched: []
    func_position:
      end: 848
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 848
    functionName: g_menu_attribute_iter_class_init
    functionSourceFile: /src/glib/gio/gmenumodel.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_menu_attribute_iter_class_init (GMenuAttributeIterClass
      *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gmenumodel.c:278,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - class
    argTypes:
    - GMenuAttributeHashIterClass*
    constantsTouched: []
    func_position:
      end: 282
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 282
    functionName: g_menu_attribute_hash_iter_class_init
    functionSourceFile: /src/glib/gio/gmenumodel.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_menu_attribute_hash_iter_class_init (GMenuAttributeHashIterClass
      *class) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gmenumodel.c:395,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gmenumodel.c:400,1
    - Dst: G_MENU_MODEL_GET_CLASS
      Src: /src/glib/gio/gmenumodel.c:391,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gmenumodel.c:397,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gmenumodel.c:403,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 406
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 406
    functionName: g_menu_model_real_get_item_link
    functionSourceFile: /src/glib/gio/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_hash_table_unref
    - g_hash_table_lookup
    - g_assert_not_reached
    - G_MENU_MODEL_GET_CLASS
    - g_object_ref
    linkageType: ''
    returnType: GMenuModel*
    signature: 'static GMenuModel *g_menu_model_real_get_item_link (GMenuModel *model,
      gint item_index, const gchar *link) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmenumodel.c:799,1
    - Dst: g_quark_to_string
      Src: /src/glib/gio/gmenumodel.c:801,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 802
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 802
    functionName: g_menu_attribute_iter_get_name
    functionSourceFile: /src/glib/gio/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_quark_to_string
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_menu_attribute_iter_get_name (GMenuAttributeIter *iter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_MENU_LINK_ITER
      Src: /src/glib/gio/gmenumodel.c:981,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gmenumodel.c:984,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gmenumodel.c:986,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 988
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 988
    functionName: g_menu_link_iter_finalize
    functionSourceFile: /src/glib/gio/gmenumodel.c
    functionUses: []
    functionsReached:
    - G_MENU_LINK_ITER
    - g_object_unref
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_menu_link_iter_finalize (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gmenumodel.c:193,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gmenumodel.c:197,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 3
    argNames:
    - link_iter
    - out_name
    - value
    argTypes:
    - GMenuLinkIter*
    - gchar**
    - GMenuModel**
    constantsTouched: []
    func_position:
      end: 200
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 200
    functionName: g_menu_link_hash_iter_get_next
    functionSourceFile: /src/glib/gio/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_hash_table_iter_next
    - g_object_ref
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_menu_link_hash_iter_get_next (GMenuLinkIter *link_iter,
      const gchar **out_name, GMenuModel **value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gmenumodel.c:249,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gmenumodel.c:254,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 3
    argNames:
    - attr_iter
    - name
    - value
    argTypes:
    - GMenuAttributeIter*
    - gchar**
    - GVariant**
    constantsTouched: []
    func_position:
      end: 257
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 257
    functionName: g_menu_attribute_hash_iter_get_next
    functionSourceFile: /src/glib/gio/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_variant_ref
    - g_hash_table_iter_next
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_menu_attribute_hash_iter_get_next (GMenuAttributeIter
      *attr_iter, const gchar **name, GVariant **value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gmenumodel.c:300,1
    - Dst: G_MENU_MODEL_GET_CLASS
      Src: /src/glib/gio/gmenumodel.c:296,1
    - Dst: g_menu_attribute_hash_iter_get_type
      Src: /src/glib/gio/gmenumodel.c:300,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gmenumodel.c:301,1
    - Dst: g_hash_table_ref
      Src: /src/glib/gio/gmenumodel.c:302,1
    - Dst: G_MENU_ATTRIBUTE_ITER
      Src: /src/glib/gio/gmenumodel.c:303,1
    - Dst: g_critical
      Src: /src/glib/gio/gmenumodel.c:307,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/gmenumodel.c:309,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gmenumodel.c:314,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 317
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 317
    functionName: g_menu_model_real_iterate_item_attributes
    functionSourceFile: /src/glib/gio/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_hash_table_iter_init
    - g_object_new
    - G_OBJECT_TYPE_NAME
    - G_MENU_ATTRIBUTE_ITER
    - g_hash_table_unref
    - g_menu_attribute_hash_iter_get_type
    - G_MENU_MODEL_GET_CLASS
    - g_critical
    - g_hash_table_ref
    linkageType: ''
    returnType: GMenuAttributeIter*
    signature: 'static GMenuAttributeIter *g_menu_model_real_iterate_item_attributes
      (GMenuModel *model, gint item_index) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - model
    argTypes:
    - GMenuModel*
    constantsTouched: []
    func_position:
      end: 411
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 411
    functionName: g_menu_model_init
    functionSourceFile: /src/glib/gio/gmenumodel.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_menu_model_init (GMenuModel *model) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_menu_link_iter_get_instance_private
      Src: /src/glib/gio/gmenumodel.c:993,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GMenuLinkIter*
    constantsTouched: []
    func_position:
      end: 994
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 994
    functionName: g_menu_link_iter_init
    functionSourceFile: /src/glib/gio/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_menu_link_iter_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_menu_link_iter_init (GMenuLinkIter *iter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_menu_attribute_iter_get_next
      Src: /src/glib/gio/gmenumodel.c:780,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GMenuAttributeIter*
    constantsTouched: []
    func_position:
      end: 781
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 781
    functionName: g_menu_attribute_iter_next
    functionSourceFile: /src/glib/gio/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_menu_attribute_iter_get_next
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_menu_attribute_iter_next (GMenuAttributeIter *iter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gmenumodel.c:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - class
    argTypes:
    - GMenuLinkHashIterClass*
    constantsTouched: []
    func_position:
      end: 225
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 225
    functionName: g_menu_link_hash_iter_class_init
    functionSourceFile: /src/glib/gio/gmenumodel.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_menu_link_hash_iter_class_init (GMenuLinkHashIterClass
      *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gmenumodel.c:264,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gmenumodel.c:266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 268
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 268
    functionName: g_menu_attribute_hash_iter_finalize
    functionSourceFile: /src/glib/gio/gmenumodel.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    - g_hash_table_unref
    linkageType: ''
    returnType: void
    signature: 'static void g_menu_attribute_hash_iter_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_MENU_MODEL_GET_CLASS
      Src: /src/glib/gio/gmenumodel.c:477,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - model
    argTypes:
    - GMenuModel*
    constantsTouched: []
    func_position:
      end: 479
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 479
    functionName: g_menu_model_is_mutable
    functionSourceFile: /src/glib/gio/gmenumodel.c
    functionUses: []
    functionsReached:
    - G_MENU_MODEL_GET_CLASS
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_menu_model_is_mutable (GMenuModel *model) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_MENU_MODEL_GET_CLASS
      Src: /src/glib/gio/gmenumodel.c:516,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 518
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 518
    functionName: g_menu_model_iterate_item_attributes
    functionSourceFile: /src/glib/gio/gmenumodel.c
    functionUses: []
    functionsReached:
    - G_MENU_MODEL_GET_CLASS
    linkageType: ''
    returnType: GMenuAttributeIter*
    signature: 'GMenuAttributeIter *g_menu_model_iterate_item_attributes (GMenuModel
      *model, gint item_index) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_MENU_MODEL_GET_CLASS
      Src: /src/glib/gio/gmenumodel.c:550,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 552
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 552
    functionName: g_menu_model_get_item_attribute_value
    functionSourceFile: /src/glib/gio/gmenumodel.c
    functionUses: []
    functionsReached:
    - G_MENU_MODEL_GET_CLASS
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_menu_model_get_item_attribute_value (GMenuModel *model,
      gint item_index, const gchar *attribute, const GVariantType *expected_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_MENU_MODEL_GET_CLASS
      Src: /src/glib/gio/gmenumodel.c:631,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 633
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 633
    functionName: g_menu_model_iterate_item_links
    functionSourceFile: /src/glib/gio/gmenumodel.c
    functionUses: []
    functionsReached:
    - G_MENU_MODEL_GET_CLASS
    linkageType: ''
    returnType: GMenuLinkIter*
    signature: 'GMenuLinkIter *g_menu_model_iterate_item_links (GMenuModel *model,
      gint item_index) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_emit
      Src: /src/glib/gio/gmenumodel.c:691,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - model
    - position
    - removed
    - added
    argTypes:
    - GMenuModel*
    - gint
    - gint
    - gint
    constantsTouched: []
    func_position:
      end: 692
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 692
    functionName: g_menu_model_items_changed
    functionSourceFile: /src/glib/gio/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_signal_emit
    linkageType: ''
    returnType: void
    signature: 'void g_menu_model_items_changed (GMenuModel *model, gint position,
      gint removed, gint added) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_menu_link_iter_get_next
      Src: /src/glib/gio/gmenumodel.c:935,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GMenuLinkIter*
    constantsTouched: []
    func_position:
      end: 936
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 936
    functionName: g_menu_link_iter_next
    functionSourceFile: /src/glib/gio/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_menu_link_iter_get_next
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_menu_link_iter_next (GMenuLinkIter *iter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GMenuAttributeHashIter*
    constantsTouched: []
    func_position:
      end: 273
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 273
    functionName: g_menu_attribute_hash_iter_init
    functionSourceFile: /src/glib/gio/gmenumodel.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_menu_attribute_hash_iter_init (GMenuAttributeHashIter
      *iter) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_unref
      Src: /src/glib/gio/gmenumodel.c:739,1
    - Dst: g_quark_to_string
      Src: /src/glib/gio/gmenumodel.c:750,1
    - Dst: g_quark_from_string
      Src: /src/glib/gio/gmenumodel.c:748,1
    - Dst: G_MENU_ATTRIBUTE_ITER_GET_CLASS
      Src: /src/glib/gio/gmenumodel.c:743,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gmenumodel.c:753,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 3
    argNames:
    - iter
    - out_name
    - value
    argTypes:
    - GMenuAttributeIter*
    - gchar**
    - GVariant**
    constantsTouched: []
    func_position:
      end: 757
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 757
    functionName: g_menu_attribute_iter_get_next
    functionSourceFile: /src/glib/gio/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_quark_from_string
    - g_quark_to_string
    - g_variant_unref
    - G_MENU_ATTRIBUTE_ITER_GET_CLASS
    - g_variant_ref
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_menu_attribute_iter_get_next (GMenuAttributeIter *iter,
      const gchar **out_name, GVariant **value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_new
      Src: /src/glib/gio/gmenumodel.c:450,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gmenumodel.c:455,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gmenumodel.c:456,1
    - Dst: I_
      Src: /src/glib/gio/gmenumodel.c:450,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - class
    argTypes:
    - GMenuModelClass*
    constantsTouched: []
    func_position:
      end: 458
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 458
    functionName: g_menu_model_class_init
    functionSourceFile: /src/glib/gio/gmenumodel.c
    functionUses: []
    functionsReached:
    - I_
    - g_signal_set_va_marshaller
    - G_TYPE_FROM_CLASS
    - g_signal_new
    linkageType: ''
    returnType: void
    signature: 'static void g_menu_model_class_init (GMenuModelClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_MENU_MODEL_GET_CLASS
      Src: /src/glib/gio/gmenumodel.c:494,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - model
    argTypes:
    - GMenuModel*
    constantsTouched: []
    func_position:
      end: 496
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 496
    functionName: g_menu_model_get_n_items
    functionSourceFile: /src/glib/gio/gmenumodel.c
    functionUses: []
    functionsReached:
    - G_MENU_MODEL_GET_CLASS
    linkageType: ''
    returnType: gint
    signature: 'gint g_menu_model_get_n_items (GMenuModel *model) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/gmenumodel.c:893,1
    - Dst: G_MENU_LINK_ITER_GET_CLASS
      Src: /src/glib/gio/gmenumodel.c:897,1
    - Dst: g_quark_from_string
      Src: /src/glib/gio/gmenumodel.c:904,1
    - Dst: g_assert
      Src: /src/glib/gio/gmenumodel.c:902,1
    - Dst: g_quark_to_string
      Src: /src/glib/gio/gmenumodel.c:906,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gmenumodel.c:909,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 3
    argNames:
    - iter
    - out_link
    - value
    argTypes:
    - GMenuLinkIter*
    - gchar**
    - GMenuModel**
    constantsTouched: []
    func_position:
      end: 913
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 913
    functionName: g_menu_link_iter_get_next
    functionSourceFile: /src/glib/gio/gmenumodel.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_quark_from_string
    - g_assert
    - g_quark_to_string
    - g_object_ref
    - G_MENU_LINK_ITER_GET_CLASS
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_menu_link_iter_get_next (GMenuLinkIter *iter, const gchar
      **out_link, GMenuModel **value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PROPERTY_ACTION
      Src: /src/glib/gio/gpropertyaction.c:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - action
    argTypes:
    - GAction*
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: g_property_action_get_invert_boolean
    functionSourceFile: /src/glib/gio/gpropertyaction.c
    functionUses: []
    functionsReached:
    - G_PROPERTY_ACTION
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_property_action_get_invert_boolean (GAction *action) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PROPERTY_ACTION
      Src: /src/glib/gio/gpropertyaction.c:136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: g_property_action_get_parameter_type
    functionSourceFile: /src/glib/gio/gpropertyaction.c
    functionUses: []
    functionsReached:
    - G_PROPERTY_ACTION
    linkageType: ''
    returnType: GVariantType*
    signature: 'static const GVariantType *g_property_action_get_parameter_type (GAction
      *action) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gio/gpropertyaction.c:190,1
    - Dst: g_object_set_property
      Src: /src/glib/gio/gpropertyaction.c:196,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gpropertyaction.c:194,1
    - Dst: g_settings_get_mapping
      Src: /src/glib/gio/gpropertyaction.c:191,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gpropertyaction.c:194,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gpropertyaction.c:197,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - paction
    - variant
    argTypes:
    - GPropertyAction*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 198
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 198
    functionName: g_property_action_set_state
    functionSourceFile: /src/glib/gio/gpropertyaction.c
    functionUses: []
    functionsReached:
    - g_object_set_property
    - g_settings_get_mapping
    - g_value_set_boolean
    - g_value_get_boolean
    - g_value_init
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void g_property_action_set_state (GPropertyAction *paction,
      GVariant *variant) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_PROPERTY_ACTION
      Src: /src/glib/gio/gpropertyaction.c:214,1
    - Dst: g_object_get_property
      Src: /src/glib/gio/gpropertyaction.c:219,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gpropertyaction.c:222,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gpropertyaction.c:222,1
    - Dst: g_value_init
      Src: /src/glib/gio/gpropertyaction.c:218,1
    - Dst: g_settings_set_mapping
      Src: /src/glib/gio/gpropertyaction.c:224,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gpropertyaction.c:225,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gpropertyaction.c:227,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 228
    functionName: g_property_action_get_state
    functionSourceFile: /src/glib/gio/gpropertyaction.c
    functionUses: []
    functionsReached:
    - g_settings_set_mapping
    - g_variant_ref_sink
    - G_PROPERTY_ACTION
    - g_value_get_boolean
    - g_value_set_boolean
    - g_value_init
    - g_object_get_property
    - g_value_unset
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_property_action_get_state (GAction *action) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gpropertyaction.c:308,1
    - Dst: g_object_class_find_property
      Src: /src/glib/gio/gpropertyaction.c:314,1
    - Dst: g_critical
      Src: /src/glib/gio/gpropertyaction.c:310,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gio/gpropertyaction.c:314,1
    - Dst: g_critical
      Src: /src/glib/gio/gpropertyaction.c:318,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/gpropertyaction.c:319,1
    - Dst: g_critical
      Src: /src/glib/gio/gpropertyaction.c:325,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/gpropertyaction.c:326,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gpropertyaction.c:332,1
    - Dst: g_property_action_determine_type
      Src: /src/glib/gio/gpropertyaction.c:333,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gpropertyaction.c:334,1
    - Dst: g_free
      Src: /src/glib/gio/gpropertyaction.c:335,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gpropertyaction.c:334,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - paction
    - property_name
    argTypes:
    - GPropertyAction*
    - gchar*
    constantsTouched: []
    func_position:
      end: 336
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 336
    functionName: g_property_action_set_property_name
    functionSourceFile: /src/glib/gio/gpropertyaction.c
    functionUses: []
    functionsReached:
    - g_object_class_find_property
    - g_strconcat
    - G_OBJECT_TYPE_NAME
    - G_CALLBACK
    - g_critical
    - G_UNLIKELY
    - G_OBJECT_GET_CLASS
    - g_property_action_determine_type
    - g_free
    - g_signal_connect
    linkageType: ''
    returnType: void
    signature: 'static void g_property_action_set_property_name (GPropertyAction *paction,
      const gchar *property_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PROPERTY_ACTION
      Src: /src/glib/gio/gpropertyaction.c:128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: g_property_action_get_name
    functionSourceFile: /src/glib/gio/gpropertyaction.c
    functionUses: []
    functionsReached:
    - G_PROPERTY_ACTION
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *g_property_action_get_name (GAction *action) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PROPERTY_ACTION
      Src: /src/glib/gio/gpropertyaction.c:144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 147
    functionName: g_property_action_get_state_type
    functionSourceFile: /src/glib/gio/gpropertyaction.c
    functionUses: []
    functionsReached:
    - G_PROPERTY_ACTION
    linkageType: ''
    returnType: GVariantType*
    signature: 'static const GVariantType *g_property_action_get_state_type (GAction
      *action) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PROPERTY_ACTION
      Src: /src/glib/gio/gpropertyaction.c:204,1
    - Dst: g_property_action_set_state
      Src: /src/glib/gio/gpropertyaction.c:208,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gpropertyaction.c:206,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gpropertyaction.c:206,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - action
    - value
    argTypes:
    - GAction*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 209
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 209
    functionName: g_property_action_change_state
    functionSourceFile: /src/glib/gio/gpropertyaction.c
    functionUses: []
    functionsReached:
    - g_property_action_set_state
    - G_PROPERTY_ACTION
    - g_variant_is_of_type
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void g_property_action_change_state (GAction *action, GVariant
      *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_PROPERTY_ACTION
      Src: /src/glib/gio/gpropertyaction.c:234,1
    - Dst: g_object_get
      Src: /src/glib/gio/gpropertyaction.c:242,1
    - Dst: g_object_set
      Src: /src/glib/gio/gpropertyaction.c:244,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gpropertyaction.c:248,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gpropertyaction.c:240,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gpropertyaction.c:248,1
    - Dst: g_property_action_set_state
      Src: /src/glib/gio/gpropertyaction.c:250,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - action
    - parameter
    argTypes:
    - GAction*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 252
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 252
    functionName: g_property_action_activate
    functionSourceFile: /src/glib/gio/gpropertyaction.c
    functionUses: []
    functionsReached:
    - g_object_set
    - g_object_get
    - G_PROPERTY_ACTION
    - g_variant_is_of_type
    - g_return_if_fail
    - g_property_action_set_state
    linkageType: ''
    returnType: void
    signature: 'static void g_property_action_activate (GAction *action, GVariant
      *parameter) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_PROPERTY_ACTION
      Src: /src/glib/gio/gpropertyaction.c:344,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gpropertyaction.c:357,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/gpropertyaction.c:353,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gpropertyaction.c:349,1
    - Dst: g_property_action_set_property_name
      Src: /src/glib/gio/gpropertyaction.c:357,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gpropertyaction.c:361,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gpropertyaction.c:365,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 367
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 367
    functionName: g_property_action_set_property
    functionSourceFile: /src/glib/gio/gpropertyaction.c
    functionUses: []
    functionsReached:
    - g_property_action_set_property_name
    - g_value_dup_string
    - G_PROPERTY_ACTION
    - g_value_get_boolean
    - g_value_get_string
    - g_assert_not_reached
    - g_value_dup_object
    linkageType: ''
    returnType: void
    signature: 'static void g_property_action_set_property (GObject *object, guint
      prop_id, const GValue *value, GParamSpec *pspec) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_PROPERTY_ACTION
      Src: /src/glib/gio/gpropertyaction.c:152,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gpropertyaction.c:172,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gpropertyaction.c:167,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gpropertyaction.c:162,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gpropertyaction.c:157,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 176
    functionName: g_property_action_get_state_hint
    functionSourceFile: /src/glib/gio/gpropertyaction.c
    functionUses: []
    functionsReached:
    - g_variant_new
    - G_PROPERTY_ACTION
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_property_action_get_state_hint (GAction *action) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: G_ACTION
      Src: /src/glib/gio/gpropertyaction.c:375,1
    - Dst: g_property_action_get_parameter_type
      Src: /src/glib/gio/gpropertyaction.c:384,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gpropertyaction.c:380,1
    - Dst: g_value_set_boxed
      Src: /src/glib/gio/gpropertyaction.c:384,1
    - Dst: g_property_action_get_name
      Src: /src/glib/gio/gpropertyaction.c:380,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gpropertyaction.c:388,1
    - Dst: g_property_action_get_enabled
      Src: /src/glib/gio/gpropertyaction.c:388,1
    - Dst: g_value_set_boxed
      Src: /src/glib/gio/gpropertyaction.c:392,1
    - Dst: g_property_action_get_state_type
      Src: /src/glib/gio/gpropertyaction.c:392,1
    - Dst: g_value_take_variant
      Src: /src/glib/gio/gpropertyaction.c:396,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gpropertyaction.c:400,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gpropertyaction.c:404,1
    - Dst: g_property_action_get_invert_boolean
      Src: /src/glib/gio/gpropertyaction.c:400,1
    - Dst: g_property_action_get_state
      Src: /src/glib/gio/gpropertyaction.c:396,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 406
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 406
    functionName: g_property_action_get_property
    functionSourceFile: /src/glib/gio/gpropertyaction.c
    functionUses: []
    functionsReached:
    - g_property_action_get_enabled
    - g_property_action_get_name
    - G_ACTION
    - g_value_take_variant
    - g_value_set_string
    - g_value_set_boolean
    - g_assert_not_reached
    - g_property_action_get_state
    - g_value_set_boxed
    - g_property_action_get_parameter_type
    - g_property_action_get_state_type
    - g_property_action_get_invert_boolean
    linkageType: ''
    returnType: void
    signature: 'static void g_property_action_get_property (GObject *object, guint
      prop_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GActionInterface*
    constantsTouched: []
    func_position:
      end: 449
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 449
    functionName: g_property_action_iface_init
    functionSourceFile: /src/glib/gio/gpropertyaction.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void g_property_action_iface_init (GActionInterface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - action
    argTypes:
    - GAction*
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: g_property_action_get_enabled
    functionSourceFile: /src/glib/gio/gpropertyaction.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_property_action_get_enabled (GAction *action) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_PROPERTY_ACTION
      Src: /src/glib/gio/gpropertyaction.c:411,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gpropertyaction.c:416,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gpropertyaction.c:419,1
    - Dst: g_signal_handlers_disconnect_by_func
      Src: /src/glib/gio/gpropertyaction.c:415,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 420
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 420
    functionName: g_property_action_dispose
    functionSourceFile: /src/glib/gio/gpropertyaction.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - g_signal_handlers_disconnect_by_func
    - G_PROPERTY_ACTION
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_property_action_dispose (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gpropertyaction.c:454,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gpropertyaction.c:484,1
    - Dst: g_param_spec_boxed
      Src: /src/glib/gio/gpropertyaction.c:485,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gpropertyaction.c:470,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gpropertyaction.c:469,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gpropertyaction.c:500,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gpropertyaction.c:501,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gpropertyaction.c:514,1
    - Dst: g_param_spec_boxed
      Src: /src/glib/gio/gpropertyaction.c:515,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gpropertyaction.c:527,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gpropertyaction.c:543,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gpropertyaction.c:561,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gpropertyaction.c:575,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gpropertyaction.c:576,1
    - Dst: g_param_spec_variant
      Src: /src/glib/gio/gpropertyaction.c:528,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gpropertyaction.c:544,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gpropertyaction.c:560,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 1
    argNames:
    - class
    argTypes:
    - GPropertyActionClass*
    constantsTouched: []
    func_position:
      end: 581
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 581
    functionName: g_property_action_class_init
    functionSourceFile: /src/glib/gio/gpropertyaction.c
    functionUses: []
    functionsReached:
    - g_param_spec_boolean
    - g_param_spec_object
    - g_param_spec_boxed
    - g_object_class_install_property
    - G_OBJECT_CLASS
    - g_param_spec_string
    - g_param_spec_variant
    linkageType: ''
    returnType: void
    signature: 'void g_property_action_class_init (GPropertyActionClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gpropertyaction.c:608,1
    - Dst: g_object_new
      Src: /src/glib/gio/gpropertyaction.c:612,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gio/gpropertyaction.c:609,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gpropertyaction.c:610,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gpropertyaction.c:609,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 617
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 617
    functionName: g_property_action_new
    functionSourceFile: /src/glib/gio/gpropertyaction.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_object_new
    - G_IS_OBJECT
    linkageType: ''
    returnType: GPropertyAction*
    signature: 'GPropertyAction *g_property_action_new (const gchar *name, gpointer
      object, const gchar *property_name) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: G_TYPE_IS_ENUM
      Src: /src/glib/gio/gpropertyaction.c:257,1
    - Dst: g_type_name
      Src: /src/glib/gio/gpropertyaction.c:280,1
    - Dst: g_type_name
      Src: /src/glib/gio/gpropertyaction.c:280,1
    - Dst: g_critical
      Src: /src/glib/gio/gpropertyaction.c:279,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 283
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 283
    functionName: g_property_action_determine_type
    functionSourceFile: /src/glib/gio/gpropertyaction.c
    functionUses: []
    functionsReached:
    - g_critical
    - G_TYPE_IS_ENUM
    - g_type_name
    linkageType: ''
    returnType: GVariantType*
    signature: 'static const GVariantType *g_property_action_determine_type (GParamSpec
      *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PROPERTY_ACTION
      Src: /src/glib/gio/gpropertyaction.c:425,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gpropertyaction.c:429,1
    - Dst: g_free
      Src: /src/glib/gio/gpropertyaction.c:427,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 431
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 431
    functionName: g_property_action_finalize
    functionSourceFile: /src/glib/gio/gpropertyaction.c
    functionUses: []
    functionsReached:
    - g_free
    - G_PROPERTY_ACTION
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_property_action_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gpropertyaction.c:292,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gpropertyaction.c:295,1
    - Dst: g_assert
      Src: /src/glib/gio/gpropertyaction.c:293,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gpropertyaction.c:295,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - object
    - pspec
    - user_data
    argTypes:
    - GObject*
    - GParamSpec*
    - gpointer
    constantsTouched: []
    func_position:
      end: 296
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 296
    functionName: g_property_action_notify
    functionSourceFile: /src/glib/gio/gpropertyaction.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_object_notify
    - G_OBJECT
    linkageType: ''
    returnType: void
    signature: 'static void g_property_action_notify (GObject *object, GParamSpec
      *pspec, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - property
    argTypes:
    - GPropertyAction*
    constantsTouched: []
    func_position:
      end: 436
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 436
    functionName: g_property_action_init
    functionSourceFile: /src/glib/gio/gpropertyaction.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void g_property_action_init (GPropertyAction *property) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 53
    functionName: _GSubprocessLauncher
    functionSourceFile: /src/glib/gio/gsubprocesslauncher-private.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: G_BEGIN_DECLS
    signature: 'G_BEGIN_DECLS struct _GSubprocessLauncher '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/gio/gsrvtarget.c:86,1
    - Dst: g_strdup
      Src: /src/glib/gio/gsrvtarget.c:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 94
    functionName: g_srv_target_new
    functionSourceFile: /src/glib/gio/gsrvtarget.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_slice_new0
    linkageType: ''
    returnType: GSrvTarget*
    signature: 'GSrvTarget *g_srv_target_new (const gchar *hostname, guint16 port,
      guint16 priority, guint16 weight) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: g_srv_target_get_hostname
    functionSourceFile: /src/glib/gio/gsrvtarget.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_srv_target_get_hostname (GSrvTarget *target) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - target
    argTypes:
    - GSrvTarget*
    constantsTouched: []
    func_position:
      end: 179
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 179
    functionName: g_srv_target_get_priority
    functionSourceFile: /src/glib/gio/gsrvtarget.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint16
    signature: 'guint16 g_srv_target_get_priority (GSrvTarget *target) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - target
    argTypes:
    - GSrvTarget*
    constantsTouched: []
    func_position:
      end: 197
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 197
    functionName: g_srv_target_get_weight
    functionSourceFile: /src/glib/gio/gsrvtarget.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint16
    signature: 'guint16 g_srv_target_get_weight (GSrvTarget *target) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 215
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 215
    functionName: compare_target
    functionSourceFile: /src/glib/gio/gsrvtarget.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint
    signature: 'static gint compare_target (gconstpointer a, gconstpointer b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_srv_target_new
      Src: /src/glib/gio/gsrvtarget.c:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: g_srv_target_copy
    functionSourceFile: /src/glib/gio/gsrvtarget.c
    functionUses: []
    functionsReached:
    - g_srv_target_new
    linkageType: ''
    returnType: GSrvTarget*
    signature: 'GSrvTarget *g_srv_target_copy (GSrvTarget *target) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - target
    argTypes:
    - GSrvTarget*
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: g_srv_target_get_port
    functionSourceFile: /src/glib/gio/gsrvtarget.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint16
    signature: 'guint16 g_srv_target_get_port (GSrvTarget *target) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gsrvtarget.c:124,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gsrvtarget.c:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - target
    argTypes:
    - GSrvTarget*
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: g_srv_target_free
    functionSourceFile: /src/glib/gio/gsrvtarget.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_srv_target_free (GSrvTarget *target) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/gsrvtarget.c:240,1
    - Dst: g_random_int_range
      Src: /src/glib/gio/gsrvtarget.c:284,1
    - Dst: g_list_free
      Src: /src/glib/gio/gsrvtarget.c:246,1
    - Dst: g_list_sort
      Src: /src/glib/gio/gsrvtarget.c:254,1
    - Dst: g_srv_target_free
      Src: /src/glib/gio/gsrvtarget.c:245,1
    - Dst: g_assert
      Src: /src/glib/gio/gsrvtarget.c:287,1
    - Dst: g_list_remove_link
      Src: /src/glib/gio/gsrvtarget.c:294,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 308
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 308
    functionName: g_srv_target_list_sort
    functionSourceFile: /src/glib/gio/gsrvtarget.c
    functionUses: []
    functionsReached:
    - g_assert
    - strcmp
    - g_list_free
    - g_list_sort
    - g_srv_target_free
    - g_list_remove_link
    - g_random_int_range
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_srv_target_list_sort (GList *targets) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gproxy.c:109,1
    - Dst: G_PROXY_GET_IFACE
      Src: /src/glib/gio/gproxy.c:111,1
    - Dst: G_IS_PROXY
      Src: /src/glib/gio/gproxy.c:109,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 118
    functionName: g_proxy_connect
    functionSourceFile: /src/glib/gio/gproxy.c
    functionUses: []
    functionsReached:
    - G_PROXY_GET_IFACE
    - g_return_val_if_fail
    - G_IS_PROXY
    linkageType: ''
    returnType: GIOStream*
    signature: "GIOStream *g_proxy_connect (GProxy *proxy,\t\t GIOStream *connection,\t\
      \t GProxyAddress *proxy_address,\t\t GCancellable *cancellable,\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gproxy.c:174,1
    - Dst: G_PROXY_GET_IFACE
      Src: /src/glib/gio/gproxy.c:176,1
    - Dst: G_IS_PROXY
      Src: /src/glib/gio/gproxy.c:174,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 179
    functionName: g_proxy_connect_finish
    functionSourceFile: /src/glib/gio/gproxy.c
    functionUses: []
    functionsReached:
    - G_PROXY_GET_IFACE
    - g_return_val_if_fail
    - G_IS_PROXY
    linkageType: ''
    returnType: GIOStream*
    signature: "GIOStream *g_proxy_connect_finish (GProxy *proxy,\t\t\tGAsyncResult\
      \ *result,\t\t\tGError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GProxyInterface*
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: g_proxy_default_init
    functionSourceFile: /src/glib/gio/gproxy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_proxy_default_init (GProxyInterface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gproxy.c:143,1
    - Dst: G_PROXY_GET_IFACE
      Src: /src/glib/gio/gproxy.c:145,1
    - Dst: G_IS_PROXY
      Src: /src/glib/gio/gproxy.c:143,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 6
    argNames:
    - proxy
    - connection
    - proxy_address
    - cancellable
    - callback
    - user_data
    argTypes:
    - GProxy*
    - GIOStream*
    - GProxyAddress*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 153
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 153
    functionName: g_proxy_connect_async
    functionSourceFile: /src/glib/gio/gproxy.c
    functionUses: []
    functionsReached:
    - G_PROXY_GET_IFACE
    - G_IS_PROXY
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_proxy_connect_async (GProxy *proxy,\t\t GIOStream *connection,\t\
      \t GProxyAddress *proxy_address,\t\t GCancellable *cancellable,\t\t GAsyncReadyCallback\
      \ callback,\t\t gpointer user_data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _g_io_modules_ensure_loaded
      Src: /src/glib/gio/gproxy.c:69,1
    - Dst: g_object_new
      Src: /src/glib/gio/gproxy.c:76,1
    - Dst: g_io_extension_get_type
      Src: /src/glib/gio/gproxy.c:76,1
    - Dst: g_io_extension_point_get_extension_by_name
      Src: /src/glib/gio/gproxy.c:73,1
    - Dst: g_io_extension_point_lookup
      Src: /src/glib/gio/gproxy.c:71,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 79
    functionName: g_proxy_get_default_for_protocol
    functionSourceFile: /src/glib/gio/gproxy.c
    functionUses: []
    functionsReached:
    - g_object_new
    - g_io_extension_point_lookup
    - g_io_extension_point_get_extension_by_name
    - g_io_extension_get_type
    - _g_io_modules_ensure_loaded
    linkageType: ''
    returnType: GProxy*
    signature: 'GProxy *g_proxy_get_default_for_protocol (const gchar *protocol) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gproxy.c:202,1
    - Dst: G_IS_PROXY
      Src: /src/glib/gio/gproxy.c:202,1
    - Dst: G_PROXY_GET_IFACE
      Src: /src/glib/gio/gproxy.c:204,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - GProxy*
    constantsTouched: []
    func_position:
      end: 207
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 207
    functionName: g_proxy_supports_hostname
    functionSourceFile: /src/glib/gio/gproxy.c
    functionUses: []
    functionsReached:
    - G_PROXY_GET_IFACE
    - g_return_val_if_fail
    - G_IS_PROXY
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_proxy_supports_hostname (GProxy *proxy) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter_pointer
      Src: /src/glib/gio/gtrashportal.c:50,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gtrashportal.c:61,1
    - Dst: g_once_init_leave_pointer
      Src: /src/glib/gio/gtrashportal.c:64,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/gtrashportal.c:52,1
    - Dst: gxdp_trash_proxy_new_sync
      Src: /src/glib/gio/gtrashportal.c:57,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 68
    functionName: ensure_trash_portal
    functionSourceFile: /src/glib/gio/gtrashportal.c
    functionUses: []
    functionsReached:
    - g_once_init_leave_pointer
    - g_object_unref
    - g_bus_get_sync
    - g_once_init_enter_pointer
    - gxdp_trash_proxy_new_sync
    linkageType: ''
    returnType: GXdpTrash*
    signature: 'static GXdpTrash *ensure_trash_portal (void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ensure_trash_portal
      Src: /src/glib/gio/gtrashportal.c:81,1
    - Dst: g_open
      Src: /src/glib/gio/gtrashportal.c:91,1
    - Dst: g_file_get_path
      Src: /src/glib/gio/gtrashportal.c:89,1
    - Dst: g_open
      Src: /src/glib/gio/gtrashportal.c:98,1
    - Dst: g_set_error
      Src: /src/glib/gio/gtrashportal.c:84,1
    - Dst: g_set_error
      Src: /src/glib/gio/gtrashportal.c:104,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gtrashportal.c:104,1
    - Dst: fcntl
      Src: /src/glib/gio/gtrashportal.c:110,1
    - Dst: g_unix_fd_list_new
      Src: /src/glib/gio/gtrashportal.c:113,1
    - Dst: g_unix_fd_list_append
      Src: /src/glib/gio/gtrashportal.c:114,1
    - Dst: g_close
      Src: /src/glib/gio/gtrashportal.c:115,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gtrashportal.c:135,1
    - Dst: g_set_error
      Src: /src/glib/gio/gtrashportal.c:130,1
    - Dst: gxdp_trash_call_trash_file_sync
      Src: /src/glib/gio/gtrashportal.c:120,1
    - Dst: g_variant_new_handle
      Src: /src/glib/gio/gtrashportal.c:121,1
    - Dst: g_free
      Src: /src/glib/gio/gtrashportal.c:136,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 41
    argCount: 2
    argNames:
    - file
    - error
    argTypes:
    - GFile*
    - GError**
    constantsTouched: []
    func_position:
      end: 139
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 139
    functionName: g_trash_portal_trash_file
    functionSourceFile: /src/glib/gio/gtrashportal.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_io_error_from_errno
    - g_variant_new_handle
    - g_close
    - g_unix_fd_list_new
    - g_clear_object
    - g_file_get_path
    - g_unix_fd_list_append
    - ensure_trash_portal
    - fcntl
    - g_open
    - gxdp_trash_call_trash_file_sync
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_trash_portal_trash_file (GFile *file, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvolume.c:235,1
    - Dst: G_VOLUME_GET_IFACE
      Src: /src/glib/gio/gvolume.c:237,1
    - Dst: G_IS_VOLUME
      Src: /src/glib/gio/gvolume.c:235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 240
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 240
    functionName: g_volume_get_drive
    functionSourceFile: /src/glib/gio/gvolume.c
    functionUses: []
    functionsReached:
    - G_IS_VOLUME
    - g_return_val_if_fail
    - G_VOLUME_GET_IFACE
    linkageType: ''
    returnType: GDrive*
    signature: 'GDrive *g_volume_get_drive (GVolume *volume) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvolume.c:397,1
    - Dst: G_IS_VOLUME
      Src: /src/glib/gio/gvolume.c:397,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gvolume.c:398,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gvolume.c:400,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvolume.c:398,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gvolume.c:402,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gvolume.c:403,1
    - Dst: G_TASK
      Src: /src/glib/gio/gvolume.c:403,1
    - Dst: G_VOLUME_GET_IFACE
      Src: /src/glib/gio/gvolume.c:405,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - volume
    - result
    - error
    argTypes:
    - GVolume*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 407
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 407
    functionName: g_volume_mount_finish
    functionSourceFile: /src/glib/gio/gvolume.c
    functionUses: []
    functionsReached:
    - g_task_propagate_boolean
    - G_IS_VOLUME
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    - G_IS_ASYNC_RESULT
    - G_TASK
    - G_VOLUME_GET_IFACE
    - g_async_result_is_tagged
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_volume_mount_finish (GVolume *volume, GAsyncResult *result,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvolume.c:608,1
    - Dst: G_IS_VOLUME
      Src: /src/glib/gio/gvolume.c:608,1
    - Dst: G_VOLUME_GET_IFACE
      Src: /src/glib/gio/gvolume.c:609,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 615
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 615
    functionName: g_volume_enumerate_identifiers
    functionSourceFile: /src/glib/gio/gvolume.c
    functionUses: []
    functionsReached:
    - G_IS_VOLUME
    - g_return_val_if_fail
    - G_VOLUME_GET_IFACE
    linkageType: ''
    returnType: char**
    signature: 'char **g_volume_enumerate_identifiers (GVolume *volume) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvolume.c:683,1
    - Dst: G_VOLUME_GET_IFACE
      Src: /src/glib/gio/gvolume.c:685,1
    - Dst: G_IS_VOLUME
      Src: /src/glib/gio/gvolume.c:683,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 690
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 690
    functionName: g_volume_get_sort_key
    functionSourceFile: /src/glib/gio/gvolume.c
    functionUses: []
    functionsReached:
    - G_IS_VOLUME
    - g_return_val_if_fail
    - G_VOLUME_GET_IFACE
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_volume_get_sort_key (GVolume *volume) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvolume.c:213,1
    - Dst: G_VOLUME_GET_IFACE
      Src: /src/glib/gio/gvolume.c:215,1
    - Dst: G_IS_VOLUME
      Src: /src/glib/gio/gvolume.c:213,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 218
    functionName: g_volume_get_uuid
    functionSourceFile: /src/glib/gio/gvolume.c
    functionUses: []
    functionsReached:
    - G_IS_VOLUME
    - g_return_val_if_fail
    - G_VOLUME_GET_IFACE
    linkageType: ''
    returnType: char*
    signature: 'char *g_volume_get_uuid (GVolume *volume) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gvolume.c:506,1
    - Dst: G_VOLUME_GET_IFACE
      Src: /src/glib/gio/gvolume.c:508,1
    - Dst: G_IS_VOLUME
      Src: /src/glib/gio/gvolume.c:506,1
    - Dst: _
      Src: /src/glib/gio/gvolume.c:518,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gvolume.c:512,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 6
    argNames:
    - volume
    - flags
    - mount_operation
    - cancellable
    - callback
    - user_data
    argTypes:
    - GVolume*
    - GMountUnmountFlags
    - GMountOperation*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 526
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 526
    functionName: g_volume_eject_with_operation
    functionSourceFile: /src/glib/gio/gvolume.c
    functionUses: []
    functionsReached:
    - G_IS_VOLUME
    - g_return_if_fail
    - g_task_report_new_error
    - _
    - G_VOLUME_GET_IFACE
    linkageType: ''
    returnType: void
    signature: 'void g_volume_eject_with_operation (GVolume *volume, GMountUnmountFlags
      flags, GMountOperation *mount_operation, GCancellable *cancellable, GAsyncReadyCallback
      callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_new
      Src: /src/glib/gio/gvolume.c:96,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gvolume.c:111,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gvolume.c:99,1
    - Dst: I_
      Src: /src/glib/gio/gvolume.c:96,1
    - Dst: I_
      Src: /src/glib/gio/gvolume.c:111,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gvolume.c:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GVolumeInterface*
    constantsTouched: []
    func_position:
      end: 118
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 118
    functionName: g_volume_default_init
    functionSourceFile: /src/glib/gio/gvolume.c
    functionUses: []
    functionsReached:
    - I_
    - G_STRUCT_OFFSET
    - g_signal_new
    linkageType: ''
    returnType: void
    signature: 'static void g_volume_default_init (GVolumeInterface *iface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvolume.c:181,1
    - Dst: G_VOLUME_GET_IFACE
      Src: /src/glib/gio/gvolume.c:183,1
    - Dst: g_themed_icon_new_with_default_fallbacks
      Src: /src/glib/gio/gvolume.c:188,1
    - Dst: G_IS_VOLUME
      Src: /src/glib/gio/gvolume.c:181,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 192
    functionName: g_volume_get_symbolic_icon
    functionSourceFile: /src/glib/gio/gvolume.c
    functionUses: []
    functionsReached:
    - g_themed_icon_new_with_default_fallbacks
    - G_IS_VOLUME
    - g_return_val_if_fail
    - G_VOLUME_GET_IFACE
    linkageType: ''
    returnType: GIcon*
    signature: 'GIcon *g_volume_get_symbolic_icon (GVolume *volume) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvolume.c:257,1
    - Dst: G_VOLUME_GET_IFACE
      Src: /src/glib/gio/gvolume.c:259,1
    - Dst: G_IS_VOLUME
      Src: /src/glib/gio/gvolume.c:257,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 262
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 262
    functionName: g_volume_get_mount
    functionSourceFile: /src/glib/gio/gvolume.c
    functionUses: []
    functionsReached:
    - G_IS_VOLUME
    - g_return_val_if_fail
    - G_VOLUME_GET_IFACE
    linkageType: ''
    returnType: GMount*
    signature: 'GMount *g_volume_get_mount (GVolume *volume) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gvolume.c:432,1
    - Dst: G_IS_VOLUME
      Src: /src/glib/gio/gvolume.c:432,1
    - Dst: G_VOLUME_GET_IFACE
      Src: /src/glib/gio/gvolume.c:434,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gvolume.c:438,1
    - Dst: _
      Src: /src/glib/gio/gvolume.c:441,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 5
    argNames:
    - volume
    - flags
    - cancellable
    - callback
    - user_data
    argTypes:
    - GVolume*
    - GMountUnmountFlags
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 446
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 446
    functionName: g_volume_eject
    functionSourceFile: /src/glib/gio/gvolume.c
    functionUses: []
    functionsReached:
    - G_IS_VOLUME
    - g_return_if_fail
    - g_task_report_new_error
    - _
    - G_VOLUME_GET_IFACE
    linkageType: ''
    returnType: void
    signature: "void g_volume_eject (GVolume *volume,\t\tGMountUnmountFlags flags,\
      \ GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvolume.c:468,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvolume.c:469,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gvolume.c:471,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gvolume.c:469,1
    - Dst: G_IS_VOLUME
      Src: /src/glib/gio/gvolume.c:468,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gvolume.c:473,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gvolume.c:474,1
    - Dst: G_TASK
      Src: /src/glib/gio/gvolume.c:474,1
    - Dst: G_VOLUME_GET_IFACE
      Src: /src/glib/gio/gvolume.c:476,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - volume
    - result
    - error
    argTypes:
    - GVolume*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 478
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 478
    functionName: g_volume_eject_finish
    functionSourceFile: /src/glib/gio/gvolume.c
    functionUses: []
    functionsReached:
    - g_task_propagate_boolean
    - G_IS_VOLUME
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    - G_IS_ASYNC_RESULT
    - G_TASK
    - G_VOLUME_GET_IFACE
    - g_async_result_is_tagged
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_volume_eject_finish (GVolume *volume, GAsyncResult *result,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvolume.c:658,1
    - Dst: G_IS_VOLUME
      Src: /src/glib/gio/gvolume.c:658,1
    - Dst: G_VOLUME_GET_IFACE
      Src: /src/glib/gio/gvolume.c:659,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 665
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 665
    functionName: g_volume_get_activation_root
    functionSourceFile: /src/glib/gio/gvolume.c
    functionUses: []
    functionsReached:
    - G_IS_VOLUME
    - g_return_val_if_fail
    - G_VOLUME_GET_IFACE
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *g_volume_get_activation_root (GVolume *volume) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvolume.c:156,1
    - Dst: G_VOLUME_GET_IFACE
      Src: /src/glib/gio/gvolume.c:158,1
    - Dst: G_IS_VOLUME
      Src: /src/glib/gio/gvolume.c:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 161
    functionName: g_volume_get_icon
    functionSourceFile: /src/glib/gio/gvolume.c
    functionUses: []
    functionsReached:
    - G_IS_VOLUME
    - g_return_val_if_fail
    - G_VOLUME_GET_IFACE
    linkageType: ''
    returnType: GIcon*
    signature: 'GIcon *g_volume_get_icon (GVolume *volume) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvolume.c:278,1
    - Dst: G_VOLUME_GET_IFACE
      Src: /src/glib/gio/gvolume.c:280,1
    - Dst: G_IS_VOLUME
      Src: /src/glib/gio/gvolume.c:278,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - volume
    argTypes:
    - GVolume*
    constantsTouched: []
    func_position:
      end: 286
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 286
    functionName: g_volume_can_mount
    functionSourceFile: /src/glib/gio/gvolume.c
    functionUses: []
    functionsReached:
    - G_IS_VOLUME
    - g_return_val_if_fail
    - G_VOLUME_GET_IFACE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_volume_can_mount (GVolume *volume) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvolume.c:548,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gvolume.c:551,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvolume.c:549,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gvolume.c:549,1
    - Dst: G_IS_VOLUME
      Src: /src/glib/gio/gvolume.c:548,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gvolume.c:553,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gvolume.c:554,1
    - Dst: G_TASK
      Src: /src/glib/gio/gvolume.c:554,1
    - Dst: G_VOLUME_GET_IFACE
      Src: /src/glib/gio/gvolume.c:556,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - volume
    - result
    - error
    argTypes:
    - GVolume*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 561
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 561
    functionName: g_volume_eject_with_operation_finish
    functionSourceFile: /src/glib/gio/gvolume.c
    functionUses: []
    functionsReached:
    - g_task_propagate_boolean
    - G_IS_VOLUME
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    - G_IS_ASYNC_RESULT
    - G_TASK
    - G_VOLUME_GET_IFACE
    - g_async_result_is_tagged
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_volume_eject_with_operation_finish (GVolume *volume, GAsyncResult
      *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvolume.c:134,1
    - Dst: G_IS_VOLUME
      Src: /src/glib/gio/gvolume.c:134,1
    - Dst: G_VOLUME_GET_IFACE
      Src: /src/glib/gio/gvolume.c:136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 139
    functionName: g_volume_get_name
    functionSourceFile: /src/glib/gio/gvolume.c
    functionUses: []
    functionsReached:
    - G_IS_VOLUME
    - g_return_val_if_fail
    - G_VOLUME_GET_IFACE
    linkageType: ''
    returnType: char*
    signature: 'char *g_volume_get_name (GVolume *volume) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gvolume.c:358,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gvolume.c:364,1
    - Dst: G_VOLUME_GET_IFACE
      Src: /src/glib/gio/gvolume.c:360,1
    - Dst: _
      Src: /src/glib/gio/gvolume.c:367,1
    - Dst: G_IS_VOLUME
      Src: /src/glib/gio/gvolume.c:358,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 6
    argNames:
    - volume
    - flags
    - mount_operation
    - cancellable
    - callback
    - user_data
    argTypes:
    - GVolume*
    - GMountMountFlags
    - GMountOperation*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 372
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 372
    functionName: g_volume_mount
    functionSourceFile: /src/glib/gio/gvolume.c
    functionUses: []
    functionsReached:
    - G_IS_VOLUME
    - g_return_if_fail
    - g_task_report_new_error
    - _
    - G_VOLUME_GET_IFACE
    linkageType: ''
    returnType: void
    signature: "void g_volume_mount (GVolume *volume,\t\tGMountMountFlags flags, GMountOperation\
      \ *mount_operation, GCancellable *cancellable, GAsyncReadyCallback callback,\
      \ gpointer user_data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvolume.c:301,1
    - Dst: G_VOLUME_GET_IFACE
      Src: /src/glib/gio/gvolume.c:303,1
    - Dst: G_IS_VOLUME
      Src: /src/glib/gio/gvolume.c:301,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - volume
    argTypes:
    - GVolume*
    constantsTouched: []
    func_position:
      end: 309
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 309
    functionName: g_volume_can_eject
    functionSourceFile: /src/glib/gio/gvolume.c
    functionUses: []
    functionsReached:
    - G_IS_VOLUME
    - g_return_val_if_fail
    - G_VOLUME_GET_IFACE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_volume_can_eject (GVolume *volume) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvolume.c:324,1
    - Dst: G_VOLUME_GET_IFACE
      Src: /src/glib/gio/gvolume.c:326,1
    - Dst: G_IS_VOLUME
      Src: /src/glib/gio/gvolume.c:324,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - volume
    argTypes:
    - GVolume*
    constantsTouched: []
    func_position:
      end: 332
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 332
    functionName: g_volume_should_automount
    functionSourceFile: /src/glib/gio/gvolume.c
    functionUses: []
    functionsReached:
    - G_IS_VOLUME
    - g_return_val_if_fail
    - G_VOLUME_GET_IFACE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_volume_should_automount (GVolume *volume) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvolume.c:582,1
    - Dst: G_VOLUME_GET_IFACE
      Src: /src/glib/gio/gvolume.c:585,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvolume.c:583,1
    - Dst: G_IS_VOLUME
      Src: /src/glib/gio/gvolume.c:582,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 591
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 591
    functionName: g_volume_get_identifier
    functionSourceFile: /src/glib/gio/gvolume.c
    functionUses: []
    functionsReached:
    - G_IS_VOLUME
    - g_return_val_if_fail
    - G_VOLUME_GET_IFACE
    linkageType: ''
    returnType: char*
    signature: "char *g_volume_get_identifier (GVolume *volume,\t\t\t const char *kind) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_path_get_basename
      Src: /src/glib/gio/giomodule-priv.c:48,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/giomodule-priv.c:55,1
    - Dst: strchr
      Src: /src/glib/gio/giomodule-priv.c:63,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/giomodule-priv.c:58,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/giomodule-priv.c:58,1
    - Dst: strlen
      Src: /src/glib/gio/giomodule-priv.c:67,1
    - Dst: g_strndup
      Src: /src/glib/gio/giomodule-priv.c:69,1
    - Dst: g_free
      Src: /src/glib/gio/giomodule-priv.c:70,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 73
    functionName: _g_io_module_extract_name
    functionSourceFile: /src/glib/gio/giomodule-priv.c
    functionUses: []
    functionsReached:
    - g_path_get_basename
    - strlen
    - g_strndup
    - g_str_has_prefix
    - strchr
    - g_free
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *_g_io_module_extract_name (const char *filename) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_menu_exporter_menu_free
      Src: /src/glib/gio/gmenuexporter.c:143,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gmenuexporter.c:146,1
    - Dst: g_free
      Src: /src/glib/gio/gmenuexporter.c:144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 148
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 148
    functionName: g_menu_exporter_link_free
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_menu_exporter_menu_free
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void g_menu_exporter_link_free (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_builder_init_static
      Src: /src/glib/gio/gmenuexporter.c:199,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gmenuexporter.c:205,1
    - Dst: g_menu_model_iterate_item_attributes
      Src: /src/glib/gio/gmenuexporter.c:201,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gmenuexporter.c:204,1
    - Dst: g_menu_attribute_iter_get_next
      Src: /src/glib/gio/gmenuexporter.c:202,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gmenuexporter.c:207,1
    - Dst: g_sequence_get_iter_at_pos
      Src: /src/glib/gio/gmenuexporter.c:209,1
    - Dst: g_sequence_get
      Src: /src/glib/gio/gmenuexporter.c:210,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gmenuexporter.c:211,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gmenuexporter.c:212,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gmenuexporter.c:214,1
    - Dst: g_menu_exporter_group_get_id
      Src: /src/glib/gio/gmenuexporter.c:212,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 215
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 215
    functionName: g_menu_exporter_menu_describe_item
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_sequence_get_iter_at_pos
    - g_variant_builder_init_static
    - g_menu_exporter_group_get_id
    - g_variant_unref
    - g_variant_new
    - g_menu_model_iterate_item_attributes
    - g_variant_builder_end
    - g_menu_attribute_iter_get_next
    - g_sequence_get
    - g_variant_builder_add
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_menu_exporter_menu_describe_item (GMenuExporterMenu
      *menu, gint position) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/gio/gmenuexporter.c:308,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gmenuexporter.c:311,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 314
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 314
    functionName: g_menu_exporter_menu_new
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached:
    - g_slice_new0
    - g_object_ref
    linkageType: ''
    returnType: GMenuExporterMenu*
    signature: 'static GMenuExporterMenu *g_menu_exporter_menu_new (GMenuExporterGroup
      *group, guint id, GMenuModel *model) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gmenuexporter.c:573,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gmenuexporter.c:575,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 576
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 576
    functionName: g_menu_exporter_name_vanished
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_hash_table_remove
    linkageType: ''
    returnType: void
    signature: 'static void g_menu_exporter_name_vanished (GDBusConnection *connection,
      const gchar *name, gpointer user_data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gmenuexporter.c:632,1
    - Dst: g_menu_exporter_remote_unsubscribe
      Src: /src/glib/gio/gmenuexporter.c:641,1
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/gmenuexporter.c:639,1
    - Dst: g_menu_exporter_remote_has_subscriptions
      Src: /src/glib/gio/gmenuexporter.c:643,1
    - Dst: g_variant_iter_next
      Src: /src/glib/gio/gmenuexporter.c:640,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gmenuexporter.c:646,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gmenuexporter.c:648,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 3
    argNames:
    - exporter
    - sender
    - group_ids
    argTypes:
    - GMenuExporter*
    - gchar*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 650
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 650
    functionName: g_menu_exporter_unsubscribe
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached:
    - g_variant_iter_init
    - g_hash_table_remove
    - g_variant_iter_next
    - g_hash_table_lookup
    - g_clear_pointer
    - g_menu_exporter_remote_has_subscriptions
    - g_menu_exporter_remote_unsubscribe
    linkageType: ''
    returnType: void
    signature: 'static void g_menu_exporter_unsubscribe (GMenuExporter *exporter,
      const gchar *sender, GVariant *group_ids) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get_child_value
      Src: /src/glib/gio/gmenuexporter.c:734,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/gmenuexporter.c:737,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gmenuexporter.c:739,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gmenuexporter.c:736,1
    - Dst: g_menu_exporter_subscribe
      Src: /src/glib/gio/gmenuexporter.c:737,1
    - Dst: g_menu_exporter_unsubscribe
      Src: /src/glib/gio/gmenuexporter.c:741,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/gmenuexporter.c:742,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gmenuexporter.c:746,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gmenuexporter.c:748,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 12
    argCount: 8
    argNames:
    - connection
    - sender
    - object_path
    - interface_name
    - method_name
    - parameters
    - invocation
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GVariant*
    - GDBusMethodInvocation*
    - gpointer
    constantsTouched: []
    func_position:
      end: 749
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 749
    functionName: g_menu_exporter_method_call
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    - g_menu_exporter_subscribe
    - g_dbus_method_invocation_return_value
    - g_variant_unref
    - g_menu_exporter_unsubscribe
    - g_variant_get_child_value
    - g_str_equal
    linkageType: ''
    returnType: void
    signature: 'static void g_menu_exporter_method_call (GDBusConnection *connection,
      const gchar *sender, const gchar *object_path, const gchar *interface_name,
      const gchar *method_name, GVariant *parameters, GDBusMethodInvocation *invocation,
      gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_menu_model_iterate_item_links
      Src: /src/glib/gio/gmenuexporter.c:159,1
    - Dst: g_menu_link_iter_get_next
      Src: /src/glib/gio/gmenuexporter.c:161,1
    - Dst: g_menu_exporter_group_get_exporter
      Src: /src/glib/gio/gmenuexporter.c:170,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gmenuexporter.c:169,1
    - Dst: g_menu_exporter_create_group
      Src: /src/glib/gio/gmenuexporter.c:170,1
    - Dst: g_slice_new
      Src: /src/glib/gio/gmenuexporter.c:174,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gmenuexporter.c:175,1
    - Dst: g_menu_exporter_group_add_menu
      Src: /src/glib/gio/gmenuexporter.c:176,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gmenuexporter.c:180,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gmenuexporter.c:183,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 186
    functionName: g_menu_exporter_menu_create_links
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached:
    - g_menu_exporter_group_get_exporter
    - g_strconcat
    - g_object_unref
    - g_menu_model_iterate_item_links
    - g_menu_link_iter_get_next
    - g_menu_exporter_group_add_menu
    - g_slice_new
    - g_menu_exporter_create_group
    - g_str_equal
    linkageType: ''
    returnType: GMenuExporterLink*
    signature: 'static GMenuExporterLink *g_menu_exporter_menu_create_links (GMenuExporterMenu
      *menu, gint position) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_builder_init_static
      Src: /src/glib/gio/gmenuexporter.c:223,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gmenuexporter.c:223,1
    - Dst: g_sequence_get_length
      Src: /src/glib/gio/gmenuexporter.c:225,1
    - Dst: g_menu_exporter_menu_describe_item
      Src: /src/glib/gio/gmenuexporter.c:227,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/gio/gmenuexporter.c:227,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gmenuexporter.c:229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 230
    functionName: g_menu_exporter_menu_list
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached:
    - g_sequence_get_length
    - g_variant_builder_init_static
    - g_variant_builder_add_value
    - g_variant_builder_end
    - g_menu_exporter_menu_describe_item
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_menu_exporter_menu_list (GMenuExporterMenu *menu) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gmenuexporter.c:589,1
    - Dst: g_menu_exporter_remote_new
      Src: /src/glib/gio/gmenuexporter.c:601,1
    - Dst: g_strdup
      Src: /src/glib/gio/gmenuexporter.c:602,1
    - Dst: g_bus_watch_name_on_connection
      Src: /src/glib/gio/gmenuexporter.c:599,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gmenuexporter.c:602,1
    - Dst: g_menu_exporter_remote_new
      Src: /src/glib/gio/gmenuexporter.c:606,1
    - Dst: g_variant_builder_init_static
      Src: /src/glib/gio/gmenuexporter.c:609,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gmenuexporter.c:609,1
    - Dst: g_variant_builder_open
      Src: /src/glib/gio/gmenuexporter.c:611,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gmenuexporter.c:611,1
    - Dst: g_variant_iter_next
      Src: /src/glib/gio/gmenuexporter.c:614,1
    - Dst: g_menu_exporter_remote_subscribe
      Src: /src/glib/gio/gmenuexporter.c:615,1
    - Dst: g_variant_builder_close
      Src: /src/glib/gio/gmenuexporter.c:617,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gmenuexporter.c:619,1
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/gmenuexporter.c:613,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 620
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 620
    functionName: g_menu_exporter_subscribe
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached:
    - g_variant_iter_init
    - g_menu_exporter_remote_subscribe
    - g_strdup
    - g_menu_exporter_remote_new
    - g_variant_builder_close
    - g_variant_builder_init_static
    - g_hash_table_lookup
    - g_variant_iter_next
    - g_hash_table_insert
    - g_variant_builder_end
    - g_bus_watch_name_on_connection
    - g_variant_builder_open
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_menu_exporter_subscribe (GMenuExporter *exporter,
      const gchar *sender, GVariant *group_ids) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_builder_init_static
      Src: /src/glib/gio/gmenuexporter.c:658,1
    - Dst: g_variant_builder_close
      Src: /src/glib/gio/gmenuexporter.c:661,1
    - Dst: g_dbus_connection_emit_signal
      Src: /src/glib/gio/gmenuexporter.c:663,1
    - Dst: g_variant_builder_open
      Src: /src/glib/gio/gmenuexporter.c:659,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/gio/gmenuexporter.c:660,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gmenuexporter.c:667,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - exporter
    - report
    argTypes:
    - GMenuExporter*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 669
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 669
    functionName: g_menu_exporter_report
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached:
    - g_variant_builder_close
    - g_variant_builder_init_static
    - g_variant_builder_open
    - g_variant_builder_add_value
    - g_variant_builder_end
    - g_dbus_connection_emit_signal
    linkageType: ''
    returnType: void
    signature: 'static void g_menu_exporter_report (GMenuExporter *exporter, GVariant
      *report) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - GMenuExporterGroup*
    constantsTouched: []
    func_position:
      end: 412
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 412
    functionName: g_menu_exporter_group_is_subscribed
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_menu_exporter_group_is_subscribed (GMenuExporterGroup
      *group) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gmenuexporter.c:424,1
    - Dst: g_menu_exporter_group_check_if_useless
      Src: /src/glib/gio/gmenuexporter.c:426,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gmenuexporter.c:424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - group
    - id
    argTypes:
    - GMenuExporterGroup*
    - guint
    constantsTouched: []
    func_position:
      end: 427
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 427
    functionName: g_menu_exporter_group_remove_menu
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached:
    - g_menu_exporter_group_check_if_useless
    - GINT_TO_POINTER
    - g_hash_table_remove
    linkageType: ''
    returnType: void
    signature: 'static void g_menu_exporter_group_remove_menu (GMenuExporterGroup
      *group, guint id) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_menu_exporter_group_remove_menu
      Src: /src/glib/gio/gmenuexporter.c:120,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gmenuexporter.c:130,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gmenuexporter.c:128,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/gmenuexporter.c:123,1
    - Dst: g_sequence_free
      Src: /src/glib/gio/gmenuexporter.c:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - menu
    argTypes:
    - GMenuExporterMenu*
    constantsTouched: []
    func_position:
      end: 131
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 131
    functionName: g_menu_exporter_menu_free
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_signal_handler_disconnect
    - g_sequence_free
    - g_menu_exporter_group_remove_menu
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void g_menu_exporter_menu_free (GMenuExporterMenu *menu) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - group
    argTypes:
    - GMenuExporterGroup*
    constantsTouched: []
    func_position:
      end: 418
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 418
    functionName: g_menu_exporter_group_get_id
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint
    signature: 'static guint g_menu_exporter_group_get_id (GMenuExporterGroup *group) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_menu_exporter_menu_new
      Src: /src/glib/gio/gmenuexporter.c:437,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gmenuexporter.c:438,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gmenuexporter.c:438,1
    - Dst: g_menu_exporter_menu_prepare
      Src: /src/glib/gio/gmenuexporter.c:441,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 444
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 444
    functionName: g_menu_exporter_group_add_menu
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached:
    - g_hash_table_insert
    - g_menu_exporter_menu_prepare
    - GINT_TO_POINTER
    - g_menu_exporter_menu_new
    linkageType: ''
    returnType: GMenuExporterMenu*
    signature: 'static GMenuExporterMenu *g_menu_exporter_group_add_menu (GMenuExporterGroup
      *group, GMenuModel *model) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/gio/gmenuexporter.c:452,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/gmenuexporter.c:453,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 458
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 458
    functionName: g_menu_exporter_group_new
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached:
    - g_hash_table_new
    - g_slice_new0
    linkageType: ''
    returnType: GMenuExporterGroup*
    signature: 'static GMenuExporterGroup *g_menu_exporter_group_new (GMenuExporter
      *exporter, guint id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/gio/gmenuexporter.c:793,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/gmenuexporter.c:796,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gmenuexporter.c:794,1
    - Dst: g_strdup
      Src: /src/glib/gio/gmenuexporter.c:795,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gmenuexporter.c:797,1
    - Dst: g_dbus_connection_register_object
      Src: /src/glib/gio/gmenuexporter.c:799,1
    - Dst: org_gtk_Menus_get_interface
      Src: /src/glib/gio/gmenuexporter.c:799,1
    - Dst: g_menu_exporter_group_add_menu
      Src: /src/glib/gio/gmenuexporter.c:803,1
    - Dst: g_menu_exporter_create_group
      Src: /src/glib/gio/gmenuexporter.c:803,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 4
    argNames:
    - connection
    - object_path
    - menu
    - error
    argTypes:
    - GDBusConnection*
    - gchar*
    - GMenuModel*
    - GError**
    constantsTouched: []
    func_position:
      end: 806
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 806
    functionName: g_dbus_connection_export_menu_model
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_slice_new0
    - g_menu_exporter_group_add_menu
    - g_hash_table_new_full
    - g_hash_table_new
    - g_object_ref
    - g_dbus_connection_register_object
    - g_menu_exporter_create_group
    - org_gtk_Menus_get_interface
    linkageType: ''
    returnType: guint
    signature: 'guint g_dbus_connection_export_menu_model (GDBusConnection *connection,
      const gchar *object_path, GMenuModel *menu, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gmenuexporter.c:246,1
    - Dst: g_menu_exporter_menu_create_links
      Src: /src/glib/gio/gmenuexporter.c:262,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gmenuexporter.c:268,1
    - Dst: g_menu_exporter_group_is_subscribed
      Src: /src/glib/gio/gmenuexporter.c:264,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gmenuexporter.c:270,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gmenuexporter.c:269,1
    - Dst: g_menu_exporter_group_get_id
      Src: /src/glib/gio/gmenuexporter.c:269,1
    - Dst: g_menu_exporter_menu_describe_item
      Src: /src/glib/gio/gmenuexporter.c:276,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gmenuexporter.c:279,1
    - Dst: g_assert
      Src: /src/glib/gio/gmenuexporter.c:247,1
    - Dst: g_sequence_get_length
      Src: /src/glib/gio/gmenuexporter.c:250,1
    - Dst: g_assert
      Src: /src/glib/gio/gmenuexporter.c:254,1
    - Dst: g_assert
      Src: /src/glib/gio/gmenuexporter.c:256,1
    - Dst: g_sequence_get_iter_at_pos
      Src: /src/glib/gio/gmenuexporter.c:258,1
    - Dst: g_sequence_remove_range
      Src: /src/glib/gio/gmenuexporter.c:259,1
    - Dst: g_sequence_insert_before
      Src: /src/glib/gio/gmenuexporter.c:262,1
    - Dst: g_sequence_get_iter_at_pos
      Src: /src/glib/gio/gmenuexporter.c:259,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gmenuexporter.c:271,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/gio/gmenuexporter.c:276,1
    - Dst: g_menu_exporter_report
      Src: /src/glib/gio/gmenuexporter.c:279,1
    - Dst: g_assert
      Src: /src/glib/gio/gmenuexporter.c:253,1
    - Dst: g_assert
      Src: /src/glib/gio/gmenuexporter.c:255,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gmenuexporter.c:272,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gmenuexporter.c:274,1
    - Dst: g_assert
      Src: /src/glib/gio/gmenuexporter.c:252,1
    - Dst: g_variant_builder_init_static
      Src: /src/glib/gio/gmenuexporter.c:268,1
    - Dst: g_variant_builder_open
      Src: /src/glib/gio/gmenuexporter.c:274,1
    - Dst: g_variant_builder_close
      Src: /src/glib/gio/gmenuexporter.c:277,1
    - Dst: g_menu_exporter_group_get_exporter
      Src: /src/glib/gio/gmenuexporter.c:279,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 54
    argCount: 5
    argNames:
    - model
    - position
    - removed
    - added
    - user_data
    argTypes:
    - GMenuModel*
    - gint
    - gint
    - gint
    - gpointer
    constantsTouched: []
    func_position:
      end: 281
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 281
    functionName: g_menu_exporter_menu_items_changed
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached:
    - g_menu_exporter_group_get_exporter
    - g_variant_builder_close
    - g_sequence_get_iter_at_pos
    - g_assert
    - g_sequence_get_length
    - g_menu_exporter_menu_create_links
    - g_variant_builder_init_static
    - g_sequence_insert_before
    - g_menu_exporter_group_get_id
    - g_variant_builder_add_value
    - g_sequence_remove_range
    - g_menu_exporter_report
    - g_variant_builder_end
    - g_variant_builder_add
    - g_menu_exporter_menu_describe_item
    - g_menu_exporter_group_is_subscribed
    - g_variant_builder_open
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: void
    signature: 'static void g_menu_exporter_menu_items_changed (GMenuModel *model,
      gint position, gint removed, gint added, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_size
      Src: /src/glib/gio/gmenuexporter.c:333,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gmenuexporter.c:337,1
    - Dst: g_menu_exporter_remove_group
      Src: /src/glib/gio/gmenuexporter.c:335,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gmenuexporter.c:339,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - group
    argTypes:
    - GMenuExporterGroup*
    constantsTouched: []
    func_position:
      end: 341
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 341
    functionName: g_menu_exporter_group_check_if_useless
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_hash_table_unref
    - g_hash_table_size
    - g_menu_exporter_remove_group
    linkageType: ''
    returnType: void
    signature: 'static void g_menu_exporter_group_check_if_useless (GMenuExporterGroup
      *group) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_size
      Src: /src/glib/gio/gmenuexporter.c:509,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - remote
    argTypes:
    - GMenuExporterRemote*
    constantsTouched: []
    func_position:
      end: 510
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 510
    functionName: g_menu_exporter_remote_has_subscriptions
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached:
    - g_hash_table_size
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_menu_exporter_remote_has_subscriptions (GMenuExporterRemote
      *remote) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/gio/gmenuexporter.c:542,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/gmenuexporter.c:544,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 548
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 548
    functionName: g_menu_exporter_remote_new
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached:
    - g_hash_table_new
    - g_slice_new0
    linkageType: ''
    returnType: GMenuExporterRemote*
    signature: 'static GMenuExporterRemote *g_menu_exporter_remote_new (GMenuExporter
      *exporter, guint watch_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gmenuexporter.c:675,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gmenuexporter.c:675,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - exporter
    - id
    argTypes:
    - GMenuExporter*
    - guint
    constantsTouched: []
    func_position:
      end: 676
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 676
    functionName: g_menu_exporter_remove_group
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached:
    - GINT_TO_POINTER
    - g_hash_table_remove
    linkageType: ''
    returnType: void
    signature: 'static void g_menu_exporter_remove_group (GMenuExporter *exporter,
      guint id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_menu_exporter_group_new
      Src: /src/glib/gio/gmenuexporter.c:702,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gmenuexporter.c:703,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gmenuexporter.c:703,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 706
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 706
    functionName: g_menu_exporter_create_group
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached:
    - g_menu_exporter_group_new
    - GINT_TO_POINTER
    - g_hash_table_insert
    linkageType: ''
    returnType: GMenuExporterGroup*
    signature: 'static GMenuExporterGroup *g_menu_exporter_create_group (GMenuExporter
      *exporter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_unregister_object
      Src: /src/glib/gio/gmenuexporter.c:826,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - connection
    - export_id
    argTypes:
    - GDBusConnection*
    - guint
    constantsTouched: []
    func_position:
      end: 827
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 827
    functionName: g_dbus_connection_unexport_menu_model
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_unregister_object
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_connection_unexport_menu_model (GDBusConnection *connection,
      guint export_id) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gmenuexporter.c:288,1
    - Dst: g_menu_model_is_mutable
      Src: /src/glib/gio/gmenuexporter.c:290,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gmenuexporter.c:292,1
    - Dst: g_sequence_new
      Src: /src/glib/gio/gmenuexporter.c:294,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gmenuexporter.c:291,1
    - Dst: g_menu_model_get_n_items
      Src: /src/glib/gio/gmenuexporter.c:296,1
    - Dst: g_menu_exporter_menu_items_changed
      Src: /src/glib/gio/gmenuexporter.c:298,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - menu
    argTypes:
    - GMenuExporterMenu*
    constantsTouched: []
    func_position:
      end: 299
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 299
    functionName: g_menu_exporter_menu_prepare
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached:
    - g_sequence_new
    - g_menu_model_is_mutable
    - g_menu_model_get_n_items
    - g_assert
    - G_CALLBACK
    - g_menu_exporter_menu_items_changed
    - g_signal_connect
    linkageType: ''
    returnType: void
    signature: 'static void g_menu_exporter_menu_prepare (GMenuExporterMenu *menu) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gmenuexporter.c:360,1
    - Dst: g_menu_exporter_menu_prepare
      Src: /src/glib/gio/gmenuexporter.c:369,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gmenuexporter.c:374,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gio/gmenuexporter.c:377,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gmenuexporter.c:375,1
    - Dst: g_sequence_is_empty
      Src: /src/glib/gio/gmenuexporter.c:380,1
    - Dst: g_variant_builder_open
      Src: /src/glib/gio/gmenuexporter.c:382,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gmenuexporter.c:382,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gmenuexporter.c:383,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gmenuexporter.c:384,1
    - Dst: g_menu_exporter_menu_list
      Src: /src/glib/gio/gmenuexporter.c:385,1
    - Dst: g_variant_builder_close
      Src: /src/glib/gio/gmenuexporter.c:386,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/gio/gmenuexporter.c:385,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - group
    - builder
    argTypes:
    - GMenuExporterGroup*
    - GVariantBuilder*
    constantsTouched: []
    func_position:
      end: 389
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 389
    functionName: g_menu_exporter_group_subscribe
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached:
    - g_hash_table_iter_init
    - GPOINTER_TO_INT
    - g_variant_builder_close
    - g_hash_table_lookup
    - g_variant_builder_add_value
    - g_menu_exporter_menu_prepare
    - g_sequence_is_empty
    - g_variant_builder_add
    - g_menu_exporter_menu_list
    - g_variant_builder_open
    - G_VARIANT_TYPE
    - g_hash_table_iter_next
    linkageType: ''
    returnType: void
    signature: 'static void g_menu_exporter_group_subscribe (GMenuExporterGroup *group,
      GVariantBuilder *builder) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gmenuexporter.c:519,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gio/gmenuexporter.c:524,1
    - Dst: g_menu_exporter_lookup_group
      Src: /src/glib/gio/gmenuexporter.c:524,1
    - Dst: g_menu_exporter_group_unsubscribe
      Src: /src/glib/gio/gmenuexporter.c:525,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gmenuexporter.c:520,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gio/gmenuexporter.c:525,1
    - Dst: g_bus_unwatch_name
      Src: /src/glib/gio/gmenuexporter.c:529,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gmenuexporter.c:531,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gmenuexporter.c:533,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 534
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 534
    functionName: g_menu_exporter_remote_free
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached:
    - g_hash_table_iter_init
    - GPOINTER_TO_INT
    - g_menu_exporter_lookup_group
    - g_hash_table_unref
    - g_bus_unwatch_name
    - g_slice_free
    - g_hash_table_iter_next
    - g_menu_exporter_group_unsubscribe
    linkageType: ''
    returnType: void
    signature: 'static void g_menu_exporter_remote_free (gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gmenuexporter.c:684,1
    - Dst: g_menu_exporter_group_new
      Src: /src/glib/gio/gmenuexporter.c:688,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gmenuexporter.c:689,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gmenuexporter.c:684,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gmenuexporter.c:689,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 693
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 693
    functionName: g_menu_exporter_lookup_group
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached:
    - g_menu_exporter_group_new
    - g_hash_table_lookup
    - GINT_TO_POINTER
    - g_hash_table_insert
    linkageType: ''
    returnType: GMenuExporterGroup*
    signature: 'static GMenuExporterGroup *g_menu_exporter_lookup_group (GMenuExporter
      *exporter, guint group_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gmenuexporter.c:711,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gmenuexporter.c:714,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gmenuexporter.c:715,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gmenuexporter.c:712,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gmenuexporter.c:713,1
    - Dst: g_free
      Src: /src/glib/gio/gmenuexporter.c:716,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gmenuexporter.c:718,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - exporter
    argTypes:
    - GMenuExporter*
    constantsTouched: []
    func_position:
      end: 719
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 719
    functionName: g_menu_exporter_free
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_hash_table_unref
    - g_clear_pointer
    - g_slice_free
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void g_menu_exporter_free (GMenuExporter *exporter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/gio/gmenuexporter.c:42,1
    - Dst: g_dbus_node_info_lookup_interface
      Src: /src/glib/gio/gmenuexporter.c:63,1
    - Dst: g_assert
      Src: /src/glib/gio/gmenuexporter.c:64,1
    - Dst: g_dbus_node_info_new_for_xml
      Src: /src/glib/gio/gmenuexporter.c:47,1
    - Dst: g_error
      Src: /src/glib/gio/gmenuexporter.c:62,1
    - Dst: g_dbus_interface_info_ref
      Src: /src/glib/gio/gmenuexporter.c:65,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/gmenuexporter.c:66,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/gmenuexporter.c:68,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 72
    functionName: org_gtk_Menus_get_interface
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached:
    - g_once_init_leave
    - g_dbus_node_info_new_for_xml
    - g_assert
    - g_once_init_enter
    - g_dbus_interface_info_ref
    - g_dbus_node_info_unref
    - g_dbus_node_info_lookup_interface
    - g_error
    linkageType: ''
    returnType: GDBusInterfaceInfo*
    signature: 'static GDBusInterfaceInfo *org_gtk_Menus_get_interface (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gmenuexporter.c:395,1
    - Dst: g_menu_exporter_group_check_if_useless
      Src: /src/glib/gio/gmenuexporter.c:399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - group
    - count
    argTypes:
    - GMenuExporterGroup*
    - gint
    constantsTouched: []
    func_position:
      end: 400
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 400
    functionName: g_menu_exporter_group_unsubscribe
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_menu_exporter_group_check_if_useless
    linkageType: ''
    returnType: void
    signature: 'static void g_menu_exporter_group_unsubscribe (GMenuExporterGroup
      *group, gint count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gmenuexporter.c:477,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gmenuexporter.c:478,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gmenuexporter.c:478,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gmenuexporter.c:477,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gmenuexporter.c:478,1
    - Dst: g_menu_exporter_lookup_group
      Src: /src/glib/gio/gmenuexporter.c:481,1
    - Dst: g_menu_exporter_group_subscribe
      Src: /src/glib/gio/gmenuexporter.c:482,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - remote
    - group_id
    - builder
    argTypes:
    - GMenuExporterRemote*
    - guint
    - GVariantBuilder*
    constantsTouched: []
    func_position:
      end: 483
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 483
    functionName: g_menu_exporter_remote_subscribe
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached:
    - g_menu_exporter_lookup_group
    - g_menu_exporter_group_subscribe
    - g_hash_table_lookup
    - g_hash_table_insert
    - GINT_TO_POINTER
    linkageType: ''
    returnType: void
    signature: 'static void g_menu_exporter_remote_subscribe (GMenuExporterRemote
      *remote, guint group_id, GVariantBuilder *builder) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 406
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 406
    functionName: g_menu_exporter_group_get_exporter
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GMenuExporter*
    signature: 'static GMenuExporter *g_menu_exporter_group_get_exporter (GMenuExporterGroup
      *group) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gmenuexporter.c:492,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gmenuexporter.c:492,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gmenuexporter.c:498,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gmenuexporter.c:498,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gmenuexporter.c:498,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gmenuexporter.c:500,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gmenuexporter.c:500,1
    - Dst: g_menu_exporter_lookup_group
      Src: /src/glib/gio/gmenuexporter.c:502,1
    - Dst: g_menu_exporter_group_unsubscribe
      Src: /src/glib/gio/gmenuexporter.c:503,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - remote
    - group_id
    argTypes:
    - GMenuExporterRemote*
    - guint
    constantsTouched: []
    func_position:
      end: 504
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 504
    functionName: g_menu_exporter_remote_unsubscribe
    functionSourceFile: /src/glib/gio/gmenuexporter.c
    functionUses: []
    functionsReached:
    - g_menu_exporter_lookup_group
    - g_hash_table_remove
    - g_hash_table_lookup
    - g_hash_table_insert
    - GINT_TO_POINTER
    - g_menu_exporter_group_unsubscribe
    linkageType: ''
    returnType: void
    signature: 'static void g_menu_exporter_remote_unsubscribe (GMenuExporterRemote
      *remote, guint group_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_themed_icon_update_names
      Src: /src/glib/gio/gthemedicon.c:149,1
    - Dst: G_THEMED_ICON
      Src: /src/glib/gio/gthemedicon.c:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: g_themed_icon_constructed
    functionSourceFile: /src/glib/gio/gthemedicon.c
    functionUses: []
    functionsReached:
    - g_themed_icon_update_names
    - G_THEMED_ICON
    linkageType: ''
    returnType: void
    signature: 'static void g_themed_icon_constructed (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gthemedicon.c:366,1
    - Dst: g_object_new
      Src: /src/glib/gio/gthemedicon.c:368,1
    - Dst: G_ICON
      Src: /src/glib/gio/gthemedicon.c:368,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 369
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 369
    functionName: g_themed_icon_new
    functionSourceFile: /src/glib/gio/gthemedicon.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_ICON
    - g_object_new
    linkageType: ''
    returnType: GIcon*
    signature: 'GIcon *g_themed_icon_new (const char *iconname) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_THEMED_ICON
      Src: /src/glib/gio/gthemedicon.c:157,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gthemedicon.c:162,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gthemedicon.c:159,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gthemedicon.c:160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 163
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 163
    functionName: g_themed_icon_finalize
    functionSourceFile: /src/glib/gio/gthemedicon.c
    functionUses: []
    functionsReached:
    - g_strfreev
    - G_THEMED_ICON
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_themed_icon_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GIconIface*
    constantsTouched: []
    func_position:
      end: 622
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 622
    functionName: g_themed_icon_icon_iface_init
    functionSourceFile: /src/glib/gio/gthemedicon.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_themed_icon_icon_iface_init (GIconIface *iface) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_strndup
      Src: /src/glib/gio/gthemedicon.c:270,1
    - Dst: g_list_find_custom
      Src: /src/glib/gio/gthemedicon.c:274,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gthemedicon.c:283,1
    - Dst: g_free
      Src: /src/glib/gio/gthemedicon.c:307,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gthemedicon.c:310,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gthemedicon.c:261,1
    - Dst: strlen
      Src: /src/glib/gio/gthemedicon.c:270,1
    - Dst: g_free
      Src: /src/glib/gio/gthemedicon.c:276,1
    - Dst: g_strndup
      Src: /src/glib/gio/gthemedicon.c:297,1
    - Dst: g_free
      Src: /src/glib/gio/gthemedicon.c:313,1
    - Dst: g_free
      Src: /src/glib/gio/gthemedicon.c:300,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/gthemedicon.c:324,1
    - Dst: g_strndup
      Src: /src/glib/gio/gthemedicon.c:326,1
    - Dst: g_list_find_custom
      Src: /src/glib/gio/gthemedicon.c:329,1
    - Dst: g_list_find_custom
      Src: /src/glib/gio/gthemedicon.c:330,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gthemedicon.c:336,1
    - Dst: g_list_length
      Src: /src/glib/gio/gthemedicon.c:341,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gthemedicon.c:352,1
    - Dst: g_free
      Src: /src/glib/gio/gthemedicon.c:332,1
    - Dst: g_strdup
      Src: /src/glib/gio/gthemedicon.c:272,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/gthemedicon.c:268,1
    - Dst: g_strdup
      Src: /src/glib/gio/gthemedicon.c:281,1
    - Dst: strrchr
      Src: /src/glib/gio/gthemedicon.c:292,1
    - Dst: strlen
      Src: /src/glib/gio/gthemedicon.c:326,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gthemedicon.c:340,1
    - Dst: g_new
      Src: /src/glib/gio/gthemedicon.c:341,1
    - Dst: g_list_free
      Src: /src/glib/gio/gthemedicon.c:349,1
    - Dst: g_list_free
      Src: /src/glib/gio/gthemedicon.c:350,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gthemedicon.c:352,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gthemedicon.c:281,1
    - Dst: g_list_find_custom
      Src: /src/glib/gio/gthemedicon.c:305,1
    - Dst: g_free
      Src: /src/glib/gio/gthemedicon.c:316,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gthemedicon.c:301,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gthemedicon.c:328,1
    - Dst: g_list_reverse
      Src: /src/glib/gio/gthemedicon.c:338,1
    - Dst: g_list_length
      Src: /src/glib/gio/gthemedicon.c:341,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 84
    argCount: 1
    argNames:
    - themed
    argTypes:
    - GThemedIcon*
    constantsTouched: []
    func_position:
      end: 353
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 353
    functionName: g_themed_icon_update_names
    functionSourceFile: /src/glib/gio/gthemedicon.c
    functionUses: []
    functionsReached:
    - g_list_reverse
    - g_strdup
    - g_strdup_printf
    - strlen
    - g_str_has_suffix
    - g_return_if_fail
    - g_list_find_custom
    - g_strndup
    - strrchr
    - g_new
    - g_list_length
    - g_object_notify
    - G_OBJECT
    - g_strfreev
    - g_list_free
    - g_list_prepend
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void g_themed_icon_update_names (GThemedIcon *themed) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gthemedicon.c:504,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gthemedicon.c:505,1
    - Dst: g_strv_length
      Src: /src/glib/gio/gthemedicon.c:507,1
    - Dst: g_new
      Src: /src/glib/gio/gthemedicon.c:508,1
    - Dst: G_IS_THEMED_ICON
      Src: /src/glib/gio/gthemedicon.c:504,1
    - Dst: g_strdup
      Src: /src/glib/gio/gthemedicon.c:511,1
    - Dst: g_free
      Src: /src/glib/gio/gthemedicon.c:514,1
    - Dst: g_themed_icon_update_names
      Src: /src/glib/gio/gthemedicon.c:517,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - icon
    - iconname
    argTypes:
    - GThemedIcon*
    - char*
    constantsTouched: []
    func_position:
      end: 518
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 518
    functionName: g_themed_icon_prepend_name
    functionSourceFile: /src/glib/gio/gthemedicon.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_strv_length
    - g_new
    - g_return_if_fail
    - G_IS_THEMED_ICON
    - g_themed_icon_update_names
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_themed_icon_prepend_name (GThemedIcon *icon, const char *iconname) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_THEMED_ICON
      Src: /src/glib/gio/gthemedicon.c:539,1
    - Dst: G_THEMED_ICON
      Src: /src/glib/gio/gthemedicon.c:540,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gthemedicon.c:545,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - icon1
    - icon2
    argTypes:
    - GIcon*
    - GIcon*
    constantsTouched: []
    func_position:
      end: 550
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 550
    functionName: g_themed_icon_equal
    functionSourceFile: /src/glib/gio/gthemedicon.c
    functionUses: []
    functionsReached:
    - G_THEMED_ICON
    - g_str_equal
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_themed_icon_equal (GIcon *icon1, GIcon *icon2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_THEMED_ICON
      Src: /src/glib/gio/gthemedicon.c:523,1
    - Dst: g_str_hash
      Src: /src/glib/gio/gthemedicon.c:530,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - icon
    argTypes:
    - GIcon*
    constantsTouched: []
    func_position:
      end: 533
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 533
    functionName: g_themed_icon_hash
    functionSourceFile: /src/glib/gio/gthemedicon.c
    functionUses: []
    functionsReached:
    - G_THEMED_ICON
    - g_str_hash
    linkageType: ''
    returnType: guint
    signature: 'static guint g_themed_icon_hash (GIcon *icon) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_THEMED_ICON
      Src: /src/glib/gio/gthemedicon.c:558,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gthemedicon.c:561,1
    - Dst: g_strdup
      Src: /src/glib/gio/gthemedicon.c:567,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gthemedicon.c:566,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - icon
    - tokens
    - out_version
    argTypes:
    - GIcon*
    - GPtrArray*
    - gint*
    constantsTouched: []
    func_position:
      end: 570
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 570
    functionName: g_themed_icon_to_tokens
    functionSourceFile: /src/glib/gio/gthemedicon.c
    functionUses: []
    functionsReached:
    - G_THEMED_ICON
    - g_return_val_if_fail
    - g_ptr_array_add
    - g_strdup
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_themed_icon_to_tokens (GIcon *icon,\t\t\t GPtrArray\
      \ *tokens, gint *out_version) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gthemedicon.c:168,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gthemedicon.c:181,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gthemedicon.c:190,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gthemedicon.c:180,1
    - Dst: g_param_spec_boxed
      Src: /src/glib/gio/gthemedicon.c:191,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gthemedicon.c:214,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gthemedicon.c:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GThemedIconClass*
    constantsTouched: []
    func_position:
      end: 218
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 218
    functionName: g_themed_icon_class_init
    functionSourceFile: /src/glib/gio/gthemedicon.c
    functionUses: []
    functionsReached:
    - g_param_spec_boolean
    - g_param_spec_boxed
    - g_object_class_install_property
    - G_OBJECT_CLASS
    - g_param_spec_string
    linkageType: ''
    returnType: void
    signature: 'static void g_themed_icon_class_init (GThemedIconClass *klass) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gthemedicon.c:387,1
    - Dst: G_ICON
      Src: /src/glib/gio/gthemedicon.c:401,1
    - Dst: g_new
      Src: /src/glib/gio/gthemedicon.c:394,1
    - Dst: g_free
      Src: /src/glib/gio/gthemedicon.c:403,1
    - Dst: g_object_new
      Src: /src/glib/gio/gthemedicon.c:401,1
    - Dst: G_ICON
      Src: /src/glib/gio/gthemedicon.c:406,1
    - Dst: g_object_new
      Src: /src/glib/gio/gthemedicon.c:406,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 409
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 409
    functionName: g_themed_icon_new_from_names
    functionSourceFile: /src/glib/gio/gthemedicon.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_object_new
    - g_new
    - G_ICON
    - g_free
    linkageType: ''
    returnType: GIcon*
    signature: 'GIcon *g_themed_icon_new_from_names (char **iconnames, int len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gthemedicon.c:473,1
    - Dst: g_strv_length
      Src: /src/glib/gio/gthemedicon.c:476,1
    - Dst: G_IS_THEMED_ICON
      Src: /src/glib/gio/gthemedicon.c:473,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gthemedicon.c:474,1
    - Dst: g_realloc
      Src: /src/glib/gio/gthemedicon.c:477,1
    - Dst: g_strdup
      Src: /src/glib/gio/gthemedicon.c:478,1
    - Dst: g_themed_icon_update_names
      Src: /src/glib/gio/gthemedicon.c:481,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - icon
    - iconname
    argTypes:
    - GThemedIcon*
    - char*
    constantsTouched: []
    func_position:
      end: 482
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 482
    functionName: g_themed_icon_append_name
    functionSourceFile: /src/glib/gio/gthemedicon.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_strv_length
    - g_return_if_fail
    - g_realloc
    - G_IS_THEMED_ICON
    - g_themed_icon_update_names
    linkageType: ''
    returnType: void
    signature: 'void g_themed_icon_append_name (GThemedIcon *icon, const char *iconname) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/gio/gthemedicon.c:586,1
    - Dst: _
      Src: /src/glib/gio/gthemedicon.c:589,1
    - Dst: g_free
      Src: /src/glib/gio/gthemedicon.c:600,1
    - Dst: g_new0
      Src: /src/glib/gio/gthemedicon.c:594,1
    - Dst: g_themed_icon_new_from_names
      Src: /src/glib/gio/gthemedicon.c:599,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 604
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 604
    functionName: g_themed_icon_from_tokens
    functionSourceFile: /src/glib/gio/gthemedicon.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    - g_themed_icon_new_from_names
    - g_new0
    - g_free
    linkageType: ''
    returnType: GIcon*
    signature: 'static GIcon *g_themed_icon_from_tokens (gchar **tokens, gint num_tokens,
      gint version, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - themed
    argTypes:
    - GThemedIcon*
    constantsTouched: []
    func_position:
      end: 225
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 225
    functionName: g_themed_icon_init
    functionSourceFile: /src/glib/gio/gthemedicon.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_themed_icon_init (GThemedIcon *themed) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_THEMED_ICON
      Src: /src/glib/gio/gthemedicon.c:609,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gthemedicon.c:611,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gthemedicon.c:611,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 612
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 612
    functionName: g_themed_icon_serialize
    functionSourceFile: /src/glib/gio/gthemedicon.c
    functionUses: []
    functionsReached:
    - G_THEMED_ICON
    - g_variant_new
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_themed_icon_serialize (GIcon *icon) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gthemedicon.c:453,1
    - Dst: G_IS_THEMED_ICON
      Src: /src/glib/gio/gthemedicon.c:453,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 455
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 455
    functionName: g_themed_icon_get_names
    functionSourceFile: /src/glib/gio/gthemedicon.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_THEMED_ICON
    linkageType: ''
    returnType: char**
    signature: 'const char * const *g_themed_icon_get_names (GThemedIcon *icon) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_THEMED_ICON
      Src: /src/glib/gio/gthemedicon.c:82,1
    - Dst: g_value_set_boxed
      Src: /src/glib/gio/gthemedicon.c:87,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gthemedicon.c:91,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gthemedicon.c:95,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 97
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 97
    functionName: g_themed_icon_get_property
    functionSourceFile: /src/glib/gio/gthemedicon.c
    functionUses: []
    functionsReached:
    - g_value_set_boxed
    - G_THEMED_ICON
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_boolean
    linkageType: ''
    returnType: void
    signature: 'static void g_themed_icon_get_property (GObject *object, guint prop_id,
      GValue *value, GParamSpec *pspec) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: G_THEMED_ICON
      Src: /src/glib/gio/gthemedicon.c:105,1
    - Dst: g_new
      Src: /src/glib/gio/gthemedicon.c:120,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gthemedicon.c:112,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gthemedicon.c:118,1
    - Dst: g_strdup
      Src: /src/glib/gio/gthemedicon.c:121,1
    - Dst: g_value_dup_boxed
      Src: /src/glib/gio/gthemedicon.c:126,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gthemedicon.c:132,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gthemedicon.c:138,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gthemedicon.c:142,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 21
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 144
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 144
    functionName: g_themed_icon_set_property
    functionSourceFile: /src/glib/gio/gthemedicon.c
    functionUses: []
    functionsReached:
    - g_strdup
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_new
    - g_value_dup_boxed
    - g_value_get_string
    - g_value_get_boolean
    - g_strfreev
    - G_THEMED_ICON
    linkageType: ''
    returnType: void
    signature: 'static void g_themed_icon_set_property (GObject *object, guint prop_id,
      const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gthemedicon.c:436,1
    - Dst: G_ICON
      Src: /src/glib/gio/gthemedicon.c:438,1
    - Dst: g_object_new
      Src: /src/glib/gio/gthemedicon.c:438,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 439
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 439
    functionName: g_themed_icon_new_with_default_fallbacks
    functionSourceFile: /src/glib/gio/gthemedicon.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_ICON
    - g_object_new
    linkageType: ''
    returnType: GIcon*
    signature: 'GIcon *g_themed_icon_new_with_default_fallbacks (const char *iconname) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: g_file_error_from_errno
      Src: /src/glib/gio/gioerror.c:73,1
    - Dst: g_io_error_from_file_error
      Src: /src/glib/gio/gioerror.c:74,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 19
    argCount: 1
    argNames:
    - err_no
    argTypes:
    - gint
    constantsTouched: []
    func_position:
      end: 250
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 250
    functionName: g_io_error_from_errno
    functionSourceFile: /src/glib/gio/gioerror.c
    functionUses: []
    functionsReached:
    - g_io_error_from_file_error
    - g_file_error_from_errno
    linkageType: ''
    returnType: GIOErrorEnum
    signature: 'GIOErrorEnum g_io_error_from_errno (gint err_no) '
  - BBCount: 26
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 2
    argCount: 1
    argNames:
    - error_code
    argTypes:
    - gint
    constantsTouched: []
    func_position:
      end: 401
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 401
    functionName: g_io_error_from_win32_error
    functionSourceFile: /src/glib/gio/gioerror.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GIOErrorEnum
    signature: 'GIOErrorEnum g_io_error_from_win32_error (gint error_code) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_reached
      Src: /src/glib/gio/gioerror.c:312,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 3
    argCount: 1
    argNames:
    - file_error
    argTypes:
    - GFileError
    constantsTouched: []
    func_position:
      end: 314
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 314
    functionName: g_io_error_from_file_error
    functionSourceFile: /src/glib/gio/gioerror.c
    functionUses: []
    functionsReached:
    - g_return_val_if_reached
    linkageType: ''
    returnType: GIOErrorEnum
    signature: 'GIOErrorEnum g_io_error_from_file_error (GFileError file_error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsettingsbackend.c:472,1
    - Dst: g_settings_backend_dispatch_signal
      Src: /src/glib/gio/gsettingsbackend.c:475,1
    - Dst: is_path
      Src: /src/glib/gio/gsettingsbackend.c:473,1
    - Dst: G_IS_SETTINGS_BACKEND
      Src: /src/glib/gio/gsettingsbackend.c:472,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsettingsbackend.c:473,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gsettingsbackend.c:476,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - backend
    - path
    - origin_tag
    argTypes:
    - GSettingsBackend*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 479
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 479
    functionName: g_settings_backend_path_changed
    functionSourceFile: /src/glib/gio/gsettingsbackend.c
    functionUses: []
    functionsReached:
    - G_STRUCT_OFFSET
    - g_return_if_fail
    - g_settings_backend_dispatch_signal
    - is_path
    - G_IS_SETTINGS_BACKEND
    linkageType: ''
    returnType: void
    signature: 'void g_settings_backend_path_changed (GSettingsBackend *backend, const
      gchar *path, gpointer origin_tag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsettingsbackend.c:661,1
    - Dst: g_settings_backend_flatten_tree
      Src: /src/glib/gio/gsettingsbackend.c:663,1
    - Dst: g_print
      Src: /src/glib/gio/gsettingsbackend.c:670,1
    - Dst: G_IS_SETTINGS_BACKEND
      Src: /src/glib/gio/gsettingsbackend.c:661,1
    - Dst: g_print
      Src: /src/glib/gio/gsettingsbackend.c:669,1
    - Dst: g_print
      Src: /src/glib/gio/gsettingsbackend.c:672,1
    - Dst: g_print
      Src: /src/glib/gio/gsettingsbackend.c:673,1
    - Dst: g_settings_backend_keys_changed
      Src: /src/glib/gio/gsettingsbackend.c:677,1
    - Dst: g_free
      Src: /src/glib/gio/gsettingsbackend.c:678,1
    - Dst: g_free
      Src: /src/glib/gio/gsettingsbackend.c:679,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - backend
    - tree
    - origin_tag
    argTypes:
    - GSettingsBackend*
    - GTree*
    - gpointer
    constantsTouched: []
    func_position:
      end: 680
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 680
    functionName: g_settings_backend_changed_tree
    functionSourceFile: /src/glib/gio/gsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_settings_backend_flatten_tree
    - g_settings_backend_keys_changed
    - g_return_if_fail
    - g_print
    - g_free
    - G_IS_SETTINGS_BACKEND
    linkageType: ''
    returnType: void
    signature: 'void g_settings_backend_changed_tree (GSettingsBackend *backend, GTree
      *tree, gpointer origin_tag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SETTINGS_BACKEND_GET_CLASS
      Src: /src/glib/gio/gsettingsbackend.c:850,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - backend
    - key
    - origin_tag
    argTypes:
    - GSettingsBackend*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 852
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 852
    functionName: g_settings_backend_reset
    functionSourceFile: /src/glib/gio/gsettingsbackend.c
    functionUses: []
    functionsReached:
    - G_SETTINGS_BACKEND_GET_CLASS
    linkageType: ''
    returnType: void
    signature: 'void g_settings_backend_reset (GSettingsBackend *backend, const gchar
      *key, gpointer origin_tag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SETTINGS_BACKEND_GET_CLASS
      Src: /src/glib/gio/gsettingsbackend.c:872,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - backend
    - key
    argTypes:
    - GSettingsBackend*
    - gchar*
    constantsTouched: []
    func_position:
      end: 874
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 874
    functionName: g_settings_backend_get_writable
    functionSourceFile: /src/glib/gio/gsettingsbackend.c
    functionUses: []
    functionsReached:
    - G_SETTINGS_BACKEND_GET_CLASS
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_settings_backend_get_writable (GSettingsBackend *backend,
      const gchar *key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/gsettingsbackend.c:980,1
    - Dst: g_message
      Src: /src/glib/gio/gsettingsbackend.c:983,1
    - Dst: g_getenv
      Src: /src/glib/gio/gsettingsbackend.c:981,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/gsettingsbackend.c:980,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gsettingsbackend.c:981,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - impl
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 989
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 989
    functionName: g_settings_backend_verify
    functionSourceFile: /src/glib/gio/gsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_message
    - G_OBJECT_TYPE_NAME
    - g_getenv
    - strcmp
    - g_strcmp0
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_settings_backend_verify (gpointer impl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gsettingsbackend.c:157,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gsettingsbackend.c:165,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gsettingsbackend.c:167,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gsettingsbackend.c:172,1
    - Dst: g_weak_ref_clear
      Src: /src/glib/gio/gsettingsbackend.c:164,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - data
    - where_the_object_was
    argTypes:
    - gpointer
    - GObject*
    constantsTouched: []
    func_position:
      end: 173
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 173
    functionName: g_settings_backend_watch_weak_notify
    functionSourceFile: /src/glib/gio/gsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_mutex_lock
    - g_assert_not_reached
    - g_weak_ref_clear
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void g_settings_backend_watch_weak_notify (gpointer data, GObject
      *where_the_object_was) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gsettingsbackend.c:795,1
    - Dst: G_SETTINGS_BACKEND_GET_CLASS
      Src: /src/glib/gio/gsettingsbackend.c:796,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettingsbackend.c:798,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - backend
    - key
    - value
    - origin_tag
    argTypes:
    - GSettingsBackend*
    - gchar*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 801
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 801
    functionName: g_settings_backend_write
    functionSourceFile: /src/glib/gio/gsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - g_variant_unref
    - G_SETTINGS_BACKEND_GET_CLASS
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_settings_backend_write (GSettingsBackend *backend, const
      gchar *key, GVariant *value, gpointer origin_tag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SETTINGS_BACKEND_GET_CLASS
      Src: /src/glib/gio/gsettingsbackend.c:831,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - backend
    - tree
    - origin_tag
    argTypes:
    - GSettingsBackend*
    - GTree*
    - gpointer
    constantsTouched: []
    func_position:
      end: 833
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 833
    functionName: g_settings_backend_write_tree
    functionSourceFile: /src/glib/gio/gsettingsbackend.c
    functionUses: []
    functionsReached:
    - G_SETTINGS_BACKEND_GET_CLASS
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_settings_backend_write_tree (GSettingsBackend *backend,
      GTree *tree, gpointer origin_tag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/gio/gsettingsbackend.c:239,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gsettingsbackend.c:250,1
    - Dst: g_weak_ref_init
      Src: /src/glib/gio/gsettingsbackend.c:242,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gsettingsbackend.c:247,1
    - Dst: g_object_weak_ref
      Src: /src/glib/gio/gsettingsbackend.c:244,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - backend
    - vtable
    - target
    - context
    argTypes:
    - GSettingsBackend*
    - GSettingsListenerVTable*
    - GObject*
    - GMainContext*
    constantsTouched: []
    func_position:
      end: 251
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 251
    functionName: g_settings_backend_watch
    functionSourceFile: /src/glib/gio/gsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_mutex_lock
    - g_object_weak_ref
    - g_slice_new
    - g_weak_ref_init
    linkageType: ''
    returnType: void
    signature: 'void g_settings_backend_watch (GSettingsBackend *backend, const GSettingsListenerVTable
      *vtable, GObject *target, GMainContext *context) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_SETTINGS_BACKEND_GET_CLASS
      Src: /src/glib/gio/gsettingsbackend.c:749,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettingsbackend.c:757,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gsettingsbackend.c:755,1
    - Dst: g_variant_take_ref
      Src: /src/glib/gio/gsettingsbackend.c:753,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 762
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 762
    functionName: g_settings_backend_read_user_value
    functionSourceFile: /src/glib/gio/gsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_variant_unref
    - G_SETTINGS_BACKEND_GET_CLASS
    - g_variant_is_of_type
    - g_variant_take_ref
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_settings_backend_read_user_value (GSettingsBackend *backend,
      const gchar *key, const GVariantType *expected_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - backend
    - key
    argTypes:
    - GSettingsBackend*
    - gchar*
    constantsTouched: []
    func_position:
      end: 922
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 922
    functionName: ignore_subscription
    functionSourceFile: /src/glib/gio/gsettingsbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ignore_subscription (GSettingsBackend *backend, const
      gchar *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_backend_get_instance_private
      Src: /src/glib/gio/gsettingsbackend.c:935,1
    - Dst: g_mutex_init
      Src: /src/glib/gio/gsettingsbackend.c:936,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - backend
    argTypes:
    - GSettingsBackend*
    constantsTouched: []
    func_position:
      end: 937
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 937
    functionName: g_settings_backend_init
    functionSourceFile: /src/glib/gio/gsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_mutex_init
    - g_settings_backend_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_settings_backend_init (GSettingsBackend *backend) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_weak_unref
      Src: /src/glib/gio/gsettingsbackend.c:260,1
    - Dst: g_settings_backend_watch_weak_notify
      Src: /src/glib/gio/gsettingsbackend.c:261,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - backend
    - target
    argTypes:
    - GSettingsBackend*
    - GObject*
    constantsTouched: []
    func_position:
      end: 262
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 262
    functionName: g_settings_backend_unwatch
    functionSourceFile: /src/glib/gio/gsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_object_weak_unref
    - g_settings_backend_watch_weak_notify
    linkageType: ''
    returnType: void
    signature: 'void g_settings_backend_unwatch (GSettingsBackend *backend, GObject
      *target) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_backend_read
      Src: /src/glib/gio/gsettingsbackend.c:929,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 930
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 930
    functionName: g_settings_backend_real_read_user_value
    functionSourceFile: /src/glib/gio/gsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_settings_backend_read
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_settings_backend_real_read_user_value (GSettingsBackend
      *backend, const gchar *key, const GVariantType *expected_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsettingsbackend.c:942,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - class
    argTypes:
    - GSettingsBackendClass*
    constantsTouched: []
    func_position:
      end: 950
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 950
    functionName: g_settings_backend_class_init
    functionSourceFile: /src/glib/gio/gsettingsbackend.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_settings_backend_class_init (GSettingsBackendClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettingsbackend.c:87,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettingsbackend.c:91,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettingsbackend.c:95,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettingsbackend.c:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - key
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 98
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 98
    functionName: is_key
    functionSourceFile: /src/glib/gio/gsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_key (const gchar *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettingsbackend.c:106,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettingsbackend.c:110,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettingsbackend.c:107,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettingsbackend.c:114,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - path
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 117
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 117
    functionName: is_path
    functionSourceFile: /src/glib/gio/gsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_path (const gchar *path) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/gsettingsbackend.c:274,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/gsettingsbackend.c:273,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsettingsbackend.c:275,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gsettingsbackend.c:276,1
    - Dst: g_free
      Src: /src/glib/gio/gsettingsbackend.c:277,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gsettingsbackend.c:279,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 282
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 282
    functionName: g_settings_backend_invoke_closure
    functionSourceFile: /src/glib/gio/gsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_main_context_unref
    - g_object_unref
    - g_strfreev
    - g_slice_free
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_settings_backend_invoke_closure (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsettingsbackend.c:523,1
    - Dst: is_path
      Src: /src/glib/gio/gsettingsbackend.c:524,1
    - Dst: G_IS_SETTINGS_BACKEND
      Src: /src/glib/gio/gsettingsbackend.c:523,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsettingsbackend.c:524,1
    - Dst: g_settings_backend_dispatch_signal
      Src: /src/glib/gio/gsettingsbackend.c:526,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gsettingsbackend.c:527,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - backend
    - path
    argTypes:
    - GSettingsBackend*
    - gchar*
    constantsTouched: []
    func_position:
      end: 530
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 530
    functionName: g_settings_backend_path_writable_changed
    functionSourceFile: /src/glib/gio/gsettingsbackend.c
    functionUses: []
    functionsReached:
    - G_STRUCT_OFFSET
    - g_return_if_fail
    - g_settings_backend_dispatch_signal
    - is_path
    - G_IS_SETTINGS_BACKEND
    linkageType: ''
    returnType: void
    signature: 'void g_settings_backend_path_writable_changed (GSettingsBackend *backend,
      const gchar *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SETTINGS_BACKEND_GET_CLASS
      Src: /src/glib/gio/gsettingsbackend.c:903,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - backend
    - name
    argTypes:
    - GSettingsBackend*
    - gchar*
    constantsTouched: []
    func_position:
      end: 905
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 905
    functionName: g_settings_backend_subscribe
    functionSourceFile: /src/glib/gio/gsettingsbackend.c
    functionUses: []
    functionsReached:
    - G_SETTINGS_BACKEND_GET_CLASS
    linkageType: ''
    returnType: void
    signature: 'void g_settings_backend_subscribe (GSettingsBackend *backend, const
      gchar *name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gsettingsbackend.c:302,1
    - Dst: g_main_context_ref
      Src: /src/glib/gio/gsettingsbackend.c:315,1
    - Dst: g_slice_new
      Src: /src/glib/gio/gsettingsbackend.c:312,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsettingsbackend.c:316,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gio/gsettingsbackend.c:306,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gsettingsbackend.c:317,1
    - Dst: G_STRUCT_MEMBER
      Src: /src/glib/gio/gsettingsbackend.c:318,1
    - Dst: g_strdup
      Src: /src/glib/gio/gsettingsbackend.c:320,1
    - Dst: g_strdupv
      Src: /src/glib/gio/gsettingsbackend.c:322,1
    - Dst: g_slist_prepend
      Src: /src/glib/gio/gsettingsbackend.c:324,1
    - Dst: g_main_context_invoke
      Src: /src/glib/gio/gsettingsbackend.c:333,1
    - Dst: g_slist_delete_link
      Src: /src/glib/gio/gsettingsbackend.c:339,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gsettingsbackend.c:326,1
    - Dst: g_settings_backend_invoke_closure
      Src: /src/glib/gio/gsettingsbackend.c:337,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 5
    argNames:
    - backend
    - function_offset
    - name
    - origin_tag
    - names
    argTypes:
    - GSettingsBackend*
    - gsize
    - gchar*
    - gpointer
    - gchar**
    constantsTouched: []
    func_position:
      end: 341
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 341
    functionName: g_settings_backend_dispatch_signal
    functionSourceFile: /src/glib/gio/gsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_settings_backend_invoke_closure
    - g_weak_ref_get
    - g_strdup
    - g_strdupv
    - g_mutex_unlock
    - g_mutex_lock
    - g_slist_delete_link
    - g_main_context_invoke
    - G_STRUCT_MEMBER
    - g_slice_new
    - g_object_ref
    - g_slist_prepend
    - g_main_context_ref
    linkageType: ''
    returnType: void
    signature: 'static void g_settings_backend_dispatch_signal (GSettingsBackend *backend,
      gsize function_offset, const gchar *name, gpointer origin_tag, const gchar *
      const *names) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SETTINGS_BACKEND
      Src: /src/glib/gio/gsettingsbackend.c:910,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsettingsbackend.c:914,1
    - Dst: g_mutex_clear
      Src: /src/glib/gio/gsettingsbackend.c:912,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 916
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 916
    functionName: g_settings_backend_finalize
    functionSourceFile: /src/glib/gio/gsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_mutex_clear
    - G_SETTINGS_BACKEND
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_settings_backend_finalize (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_tree_nnodes
      Src: /src/glib/gio/gsettingsbackend.c:622,1
    - Dst: g_tree_foreach
      Src: /src/glib/gio/gsettingsbackend.c:633,1
    - Dst: g_new
      Src: /src/glib/gio/gsettingsbackend.c:624,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsettingsbackend.c:634,1
    - Dst: g_new
      Src: /src/glib/gio/gsettingsbackend.c:629,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 4
    argNames:
    - tree
    - path
    - keys
    - values
    argTypes:
    - GTree*
    - gchar**
    - gchar***
    - GVariant***
    constantsTouched: []
    func_position:
      end: 639
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 639
    functionName: g_settings_backend_flatten_tree
    functionSourceFile: /src/glib/gio/gsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_tree_nnodes
    - g_tree_foreach
    - g_new
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_settings_backend_flatten_tree (GTree *tree, gchar **path, const
      gchar ***keys, GVariant ***values) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_tree_new_full
      Src: /src/glib/gio/gsettingsbackend.c:971,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 973
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 973
    functionName: g_settings_backend_create_tree
    functionSourceFile: /src/glib/gio/gsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_tree_new_full
    linkageType: ''
    returnType: GTree*
    signature: 'GTree *g_settings_backend_create_tree (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_SETTINGS_BACKEND_GET_CLASS
      Src: /src/glib/gio/gsettingsbackend.c:1047,1
    - Dst: g_simple_permission_new
      Src: /src/glib/gio/gsettingsbackend.c:1052,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1043
    functionDepth: 0
    functionLinenumber: 1043
    functionLinenumberEnd: 1053
    functionName: g_settings_backend_get_permission
    functionSourceFile: /src/glib/gio/gsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_simple_permission_new
    - G_SETTINGS_BACKEND_GET_CLASS
    linkageType: ''
    returnType: GPermission*
    signature: 'GPermission *g_settings_backend_get_permission (GSettingsBackend *backend,
      const gchar *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsettingsbackend.c:425,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsettingsbackend.c:426,1
    - Dst: G_IS_SETTINGS_BACKEND
      Src: /src/glib/gio/gsettingsbackend.c:425,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsettingsbackend.c:429,1
    - Dst: is_path
      Src: /src/glib/gio/gsettingsbackend.c:426,1
    - Dst: g_settings_backend_dispatch_signal
      Src: /src/glib/gio/gsettingsbackend.c:431,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gsettingsbackend.c:432,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - backend
    - path
    - items
    - origin_tag
    argTypes:
    - GSettingsBackend*
    - gchar*
    - gchar**
    - gpointer
    constantsTouched: []
    func_position:
      end: 435
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 435
    functionName: g_settings_backend_keys_changed
    functionSourceFile: /src/glib/gio/gsettingsbackend.c
    functionUses: []
    functionsReached:
    - G_STRUCT_OFFSET
    - g_return_if_fail
    - g_settings_backend_dispatch_signal
    - is_path
    - G_IS_SETTINGS_BACKEND
    linkageType: ''
    returnType: void
    signature: 'void g_settings_backend_keys_changed (GSettingsBackend *backend, const
      gchar *path, gchar const * const *items, gpointer origin_tag) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettingsbackend.c:549,1
    - Dst: strrchr
      Src: /src/glib/gio/gsettingsbackend.c:558,1
    - Dst: is_key
      Src: /src/glib/gio/gsettingsbackend.c:549,1
    - Dst: g_strdup
      Src: /src/glib/gio/gsettingsbackend.c:557,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 3
    argNames:
    - key
    - value
    - user_data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 592
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 592
    functionName: g_settings_backend_flatten_one
    functionSourceFile: /src/glib/gio/gsettingsbackend.c
    functionUses: []
    functionsReached:
    - strrchr
    - g_return_val_if_fail
    - is_key
    - g_strdup
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_settings_backend_flatten_one (gpointer key, gpointer
      value, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettingsbackend.c:956,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 957
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 957
    functionName: g_settings_backend_variant_unref0
    functionSourceFile: /src/glib/gio/gsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_variant_unref
    linkageType: ''
    returnType: void
    signature: 'static void g_settings_backend_variant_unref0 (gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter_pointer
      Src: /src/glib/gio/gsettingsbackend.c:1015,1
    - Dst: _g_io_module_get_default
      Src: /src/glib/gio/gsettingsbackend.c:1019,1
    - Dst: g_once_init_leave_pointer
      Src: /src/glib/gio/gsettingsbackend.c:1023,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsettingsbackend.c:1026,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1012
    functionDepth: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1027
    functionName: g_settings_backend_get_default
    functionSourceFile: /src/glib/gio/gsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_once_init_leave_pointer
    - _g_io_module_get_default
    - g_once_init_enter_pointer
    - g_object_ref
    linkageType: ''
    returnType: GSettingsBackend*
    signature: 'GSettingsBackend *g_settings_backend_get_default (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsettingsbackend.c:379,1
    - Dst: is_key
      Src: /src/glib/gio/gsettingsbackend.c:380,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsettingsbackend.c:380,1
    - Dst: g_settings_backend_dispatch_signal
      Src: /src/glib/gio/gsettingsbackend.c:382,1
    - Dst: G_IS_SETTINGS_BACKEND
      Src: /src/glib/gio/gsettingsbackend.c:379,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gsettingsbackend.c:383,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - backend
    - key
    - origin_tag
    argTypes:
    - GSettingsBackend*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 386
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 386
    functionName: g_settings_backend_changed
    functionSourceFile: /src/glib/gio/gsettingsbackend.c
    functionUses: []
    functionsReached:
    - G_STRUCT_OFFSET
    - g_return_if_fail
    - g_settings_backend_dispatch_signal
    - is_key
    - G_IS_SETTINGS_BACKEND
    linkageType: ''
    returnType: void
    signature: 'void g_settings_backend_changed (GSettingsBackend *backend, const
      gchar *key, gpointer origin_tag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsettingsbackend.c:497,1
    - Dst: G_IS_SETTINGS_BACKEND
      Src: /src/glib/gio/gsettingsbackend.c:497,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsettingsbackend.c:498,1
    - Dst: is_key
      Src: /src/glib/gio/gsettingsbackend.c:498,1
    - Dst: g_settings_backend_dispatch_signal
      Src: /src/glib/gio/gsettingsbackend.c:500,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gsettingsbackend.c:501,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - backend
    - key
    argTypes:
    - GSettingsBackend*
    - gchar*
    constantsTouched: []
    func_position:
      end: 504
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 504
    functionName: g_settings_backend_writable_changed
    functionSourceFile: /src/glib/gio/gsettingsbackend.c
    functionUses: []
    functionsReached:
    - G_STRUCT_OFFSET
    - g_return_if_fail
    - g_settings_backend_dispatch_signal
    - is_key
    - G_IS_SETTINGS_BACKEND
    linkageType: ''
    returnType: void
    signature: 'void g_settings_backend_writable_changed (GSettingsBackend *backend,
      const gchar *key) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_take_ref
      Src: /src/glib/gio/gsettingsbackend.c:716,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettingsbackend.c:720,1
    - Dst: G_SETTINGS_BACKEND_GET_CLASS
      Src: /src/glib/gio/gsettingsbackend.c:712,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gsettingsbackend.c:718,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 725
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 725
    functionName: g_settings_backend_read
    functionSourceFile: /src/glib/gio/gsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_variant_unref
    - G_SETTINGS_BACKEND_GET_CLASS
    - g_variant_is_of_type
    - g_variant_take_ref
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_settings_backend_read (GSettingsBackend *backend, const
      gchar *key, const GVariantType *expected_type, gboolean default_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SETTINGS_BACKEND_GET_CLASS
      Src: /src/glib/gio/gsettingsbackend.c:888,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - backend
    - name
    argTypes:
    - GSettingsBackend*
    - char*
    constantsTouched: []
    func_position:
      end: 890
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 890
    functionName: g_settings_backend_unsubscribe
    functionSourceFile: /src/glib/gio/gsettingsbackend.c
    functionUses: []
    functionsReached:
    - G_SETTINGS_BACKEND_GET_CLASS
    linkageType: ''
    returnType: void
    signature: 'void g_settings_backend_unsubscribe (GSettingsBackend *backend, const
      char *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_backend_get_default
      Src: /src/glib/gio/gsettingsbackend.c:1068,1
    - Dst: G_SETTINGS_BACKEND_GET_CLASS
      Src: /src/glib/gio/gsettingsbackend.c:1069,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsettingsbackend.c:1074,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1076
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1076
    functionName: g_settings_backend_sync_default
    functionSourceFile: /src/glib/gio/gsettingsbackend.c
    functionUses: []
    functionsReached:
    - G_SETTINGS_BACKEND_GET_CLASS
    - g_object_unref
    - g_settings_backend_get_default
    linkageType: ''
    returnType: void
    signature: 'void g_settings_backend_sync_default (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gio/gapplicationimpl-dbus.c:364,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gapplicationimpl-dbus.c:366,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 377
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 377
    functionName: application_path_from_appid
    functionSourceFile: /src/glib/gio/gapplicationimpl-dbus.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_strconcat
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *application_path_from_appid (const gchar *appid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get_child
      Src: /src/glib/gio/gapplicationimpl-dbus.c:765,1
    - Dst: g_print
      Src: /src/glib/gio/gapplicationimpl-dbus.c:768,1
    - Dst: g_printerr
      Src: /src/glib/gio/gapplicationimpl-dbus.c:770,1
    - Dst: strcmp
      Src: /src/glib/gio/gapplicationimpl-dbus.c:767,1
    - Dst: strcmp
      Src: /src/glib/gio/gapplicationimpl-dbus.c:769,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gapplicationimpl-dbus.c:772,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/gapplicationimpl-dbus.c:774,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 8
    argNames:
    - connection
    - sender
    - object_path
    - interface_name
    - method_name
    - parameters
    - invocation
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GVariant*
    - GDBusMethodInvocation*
    - gpointer
    constantsTouched: []
    func_position:
      end: 775
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 775
    functionName: g_application_impl_cmdline_method_call
    functionSourceFile: /src/glib/gio/gapplicationimpl-dbus.c
    functionUses: []
    functionsReached:
    - g_printerr
    - strcmp
    - g_assert_not_reached
    - g_variant_get_child
    - g_dbus_method_invocation_return_value
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void g_application_impl_cmdline_method_call (GDBusConnection
      *connection, const gchar *sender, const gchar *object_path, const gchar *interface_name,
      const gchar *method_name, GVariant *parameters, GDBusMethodInvocation *invocation,
      gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/gapplicationimpl-dbus.c:145,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gapplicationimpl-dbus.c:148,1
    - Dst: g_variant_new_boolean
      Src: /src/glib/gio/gapplicationimpl-dbus.c:146,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 151
    functionName: g_application_impl_get_property
    functionSourceFile: /src/glib/gio/gapplicationimpl-dbus.c
    functionUses: []
    functionsReached:
    - g_variant_new_boolean
    - strcmp
    - g_assert_not_reached
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_application_impl_get_property (GDBusConnection
      *connection, const gchar *sender, const gchar *object_path, const gchar *interface_name,
      const gchar *property_name, GError **error, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_call_with_unix_fd_list_finish
      Src: /src/glib/gio/gapplicationimpl-dbus.c:793,1
    - Dst: G_DBUS_CONNECTION
      Src: /src/glib/gio/gapplicationimpl-dbus.c:795,1
    - Dst: G_DBUS_CONNECTION
      Src: /src/glib/gio/gapplicationimpl-dbus.c:793,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gapplicationimpl-dbus.c:801,1
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/gapplicationimpl-dbus.c:795,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gapplicationimpl-dbus.c:802,1
    - Dst: g_printerr
      Src: /src/glib/gio/gapplicationimpl-dbus.c:807,1
    - Dst: g_error_free
      Src: /src/glib/gio/gapplicationimpl-dbus.c:808,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/gapplicationimpl-dbus.c:812,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 813
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 813
    functionName: g_application_impl_cmdline_done
    functionSourceFile: /src/glib/gio/gapplicationimpl-dbus.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_call_with_unix_fd_list_finish
    - G_DBUS_CONNECTION
    - g_printerr
    - g_dbus_connection_call_finish
    - g_variant_unref
    - g_main_loop_quit
    - g_error_free
    - g_variant_get
    linkageType: ''
    returnType: void
    signature: 'static void g_application_impl_cmdline_done (GObject *source, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/gapplicationimpl-dbus.c:946,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gapplicationimpl-dbus.c:950,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - cmdline
    - message
    argTypes:
    - GApplicationCommandLine*
    - gchar*
    constantsTouched: []
    func_position:
      end: 952
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 952
    functionName: g_dbus_command_line_printerr_literal
    functionSourceFile: /src/glib/gio/gapplicationimpl-dbus.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_call
    - g_variant_new
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_command_line_printerr_literal (GApplicationCommandLine
      *cmdline, const gchar *message) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/gapplicationimpl-dbus.c:988,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gapplicationimpl-dbus.c:990,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 992
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 992
    functionName: g_dbus_command_line_finalize
    functionSourceFile: /src/glib/gio/gapplicationimpl-dbus.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_command_line_finalize (GObject *object) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_error
      Src: /src/glib/gio/gapplicationimpl-dbus.c:839,1
    - Dst: g_dbus_interface_info_ref
      Src: /src/glib/gio/gapplicationimpl-dbus.c:842,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/gapplicationimpl-dbus.c:843,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gapplicationimpl-dbus.c:867,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/gapplicationimpl-dbus.c:872,1
    - Dst: g_unix_fd_list_append
      Src: /src/glib/gio/gapplicationimpl-dbus.c:861,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/gapplicationimpl-dbus.c:882,1
    - Dst: g_main_context_push_thread_default
      Src: /src/glib/gio/gapplicationimpl-dbus.c:830,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/gapplicationimpl-dbus.c:829,1
    - Dst: g_unix_fd_list_new
      Src: /src/glib/gio/gapplicationimpl-dbus.c:860,1
    - Dst: g_dbus_connection_call_with_unix_fd_list
      Src: /src/glib/gio/gapplicationimpl-dbus.c:864,1
    - Dst: g_assert
      Src: /src/glib/gio/gapplicationimpl-dbus.c:850,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gapplicationimpl-dbus.c:866,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/gapplicationimpl-dbus.c:879,1
    - Dst: g_main_context_pop_thread_default
      Src: /src/glib/gio/gapplicationimpl-dbus.c:881,1
    - Dst: g_main_context_new
      Src: /src/glib/gio/gapplicationimpl-dbus.c:828,1
    - Dst: g_dbus_node_info_lookup_interface
      Src: /src/glib/gio/gapplicationimpl-dbus.c:840,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/gapplicationimpl-dbus.c:862,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gapplicationimpl-dbus.c:875,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/gapplicationimpl-dbus.c:883,1
    - Dst: g_dbus_node_info_new_for_xml
      Src: /src/glib/gio/gapplicationimpl-dbus.c:837,1
    - Dst: g_assert
      Src: /src/glib/gio/gapplicationimpl-dbus.c:841,1
    - Dst: g_dbus_connection_register_object
      Src: /src/glib/gio/gapplicationimpl-dbus.c:846,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gapplicationimpl-dbus.c:869,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gapplicationimpl-dbus.c:874,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 3
    argNames:
    - impl
    - arguments
    - platform_data
    argTypes:
    - GApplicationImpl*
    - gchar**
    - GVariant*
    constantsTouched: []
    func_position:
      end: 886
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 886
    functionName: g_application_impl_command_line
    functionSourceFile: /src/glib/gio/gapplicationimpl-dbus.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_call_with_unix_fd_list
    - g_main_context_unref
    - g_dbus_connection_register_object
    - g_error
    - g_main_context_pop_thread_default
    - g_object_unref
    - g_main_context_new
    - g_dbus_interface_info_ref
    - g_dbus_node_info_unref
    - g_unix_fd_list_append
    - g_dbus_connection_call
    - g_main_loop_run
    - g_main_context_push_thread_default
    - g_assert_no_error
    - g_main_loop_new
    - G_VARIANT_TYPE
    - g_dbus_node_info_new_for_xml
    - g_assert
    - g_main_loop_unref
    - g_unix_fd_list_new
    - g_variant_new
    - g_dbus_node_info_lookup_interface
    linkageType: ''
    returnType: int
    signature: 'int g_application_impl_command_line (GApplicationImpl *impl, const
      gchar * const *arguments, GVariant *platform_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/gapplicationimpl-dbus.c:932,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gapplicationimpl-dbus.c:936,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - cmdline
    - message
    argTypes:
    - GApplicationCommandLine*
    - gchar*
    constantsTouched: []
    func_position:
      end: 938
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 938
    functionName: g_dbus_command_line_print_literal
    functionSourceFile: /src/glib/gio/gapplicationimpl-dbus.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_call
    - g_variant_new
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_command_line_print_literal (GApplicationCommandLine
      *cmdline, const gchar *message) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_method_invocation_get_message
      Src: /src/glib/gio/gapplicationimpl-dbus.c:963,1
    - Dst: g_dbus_message_get_unix_fd_list
      Src: /src/glib/gio/gapplicationimpl-dbus.c:964,1
    - Dst: g_unix_fd_list_get_length
      Src: /src/glib/gio/gapplicationimpl-dbus.c:966,1
    - Dst: g_unix_input_stream_new
      Src: /src/glib/gio/gapplicationimpl-dbus.c:971,1
    - Dst: g_unix_fd_list_steal_fds
      Src: /src/glib/gio/gapplicationimpl-dbus.c:970,1
    - Dst: g_close
      Src: /src/glib/gio/gapplicationimpl-dbus.c:973,1
    - Dst: g_free
      Src: /src/glib/gio/gapplicationimpl-dbus.c:974,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 981
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 981
    functionName: g_dbus_command_line_get_stdin
    functionSourceFile: /src/glib/gio/gapplicationimpl-dbus.c
    functionUses: []
    functionsReached:
    - g_unix_input_stream_new
    - g_unix_fd_list_steal_fds
    - g_unix_fd_list_get_length
    - g_close
    - g_dbus_method_invocation_get_message
    - g_dbus_message_get_unix_fd_list
    - g_free
    linkageType: ''
    returnType: GInputStream*
    signature: 'static GInputStream *g_dbus_command_line_get_stdin (GApplicationCommandLine
      *cmdline) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_application_command_line_get_exit_status
      Src: /src/glib/gio/gapplicationimpl-dbus.c:1000,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/gapplicationimpl-dbus.c:1002,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gapplicationimpl-dbus.c:1003,1
    - Dst: G_APPLICATION_COMMAND_LINE_CLASS
      Src: /src/glib/gio/gapplicationimpl-dbus.c:1005,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - cmdline
    argTypes:
    - GApplicationCommandLine*
    constantsTouched: []
    func_position:
      end: 1006
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 1006
    functionName: g_dbus_command_line_done
    functionSourceFile: /src/glib/gio/gapplicationimpl-dbus.c
    functionUses: []
    functionsReached:
    - g_variant_new
    - g_dbus_method_invocation_return_value
    - g_application_command_line_get_exit_status
    - G_APPLICATION_COMMAND_LINE_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_command_line_done (GApplicationCommandLine *cmdline) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 905
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 905
    functionName: g_application_impl_get_dbus_object_path
    functionSourceFile: /src/glib/gio/gapplicationimpl-dbus.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_application_impl_get_dbus_object_path (GApplicationImpl
      *impl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_builder_init_static
      Src: /src/glib/gio/gapplicationimpl-dbus.c:158,1
    - Dst: g_dbus_connection_emit_signal
      Src: /src/glib/gio/gapplicationimpl-dbus.c:163,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gapplicationimpl-dbus.c:168,1
    - Dst: g_variant_new_boolean
      Src: /src/glib/gio/gapplicationimpl-dbus.c:161,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gapplicationimpl-dbus.c:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - impl
    argTypes:
    - GApplicationImpl*
    constantsTouched: []
    func_position:
      end: 173
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 173
    functionName: send_property_change
    functionSourceFile: /src/glib/gio/gapplicationimpl-dbus.c
    functionUses: []
    functionsReached:
    - g_variant_new_boolean
    - g_variant_builder_init_static
    - g_variant_new
    - g_dbus_connection_emit_signal
    - g_variant_builder_add
    linkageType: ''
    returnType: void
    signature: 'static void send_property_change (GApplicationImpl *impl) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: G_APPLICATION_GET_CLASS
      Src: /src/glib/gio/gapplicationimpl-dbus.c:562,1
    - Dst: g_dbus_connection_unexport_action_group
      Src: /src/glib/gio/gapplicationimpl-dbus.c:586,1
    - Dst: g_dbus_connection_unregister_object
      Src: /src/glib/gio/gapplicationimpl-dbus.c:574,1
    - Dst: g_dbus_connection_unregister_object
      Src: /src/glib/gio/gapplicationimpl-dbus.c:580,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/gapplicationimpl-dbus.c:591,1
    - Dst: g_steal_handle_id
      Src: /src/glib/gio/gapplicationimpl-dbus.c:591,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/gapplicationimpl-dbus.c:595,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gapplicationimpl-dbus.c:597,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 1
    argNames:
    - impl
    argTypes:
    - GApplicationImpl*
    constantsTouched: []
    func_position:
      end: 601
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 601
    functionName: g_application_impl_stop_primary
    functionSourceFile: /src/glib/gio/gapplicationimpl-dbus.c
    functionUses: []
    functionsReached:
    - g_steal_handle_id
    - g_dbus_connection_call
    - g_dbus_connection_unregister_object
    - g_dbus_connection_signal_unsubscribe
    - g_dbus_connection_unexport_action_group
    - g_variant_new
    - G_APPLICATION_GET_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_application_impl_stop_primary (GApplicationImpl *impl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/gapplicationimpl-dbus.c:713,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gapplicationimpl-dbus.c:718,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - impl
    - platform_data
    argTypes:
    - GApplicationImpl*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 720
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 720
    functionName: g_application_impl_activate
    functionSourceFile: /src/glib/gio/gapplicationimpl-dbus.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_call
    - g_variant_new
    linkageType: ''
    returnType: void
    signature: 'void g_application_impl_activate (GApplicationImpl *impl, GVariant
      *platform_data) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/gapplicationimpl-dbus.c:203,1
    - Dst: strcmp
      Src: /src/glib/gio/gapplicationimpl-dbus.c:206,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gapplicationimpl-dbus.c:241,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/gapplicationimpl-dbus.c:218,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gapplicationimpl-dbus.c:225,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gapplicationimpl-dbus.c:229,1
    - Dst: g_variant_get_child
      Src: /src/glib/gio/gapplicationimpl-dbus.c:238,1
    - Dst: g_variant_n_children
      Src: /src/glib/gio/gapplicationimpl-dbus.c:231,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gapplicationimpl-dbus.c:248,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gapplicationimpl-dbus.c:283,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gapplicationimpl-dbus.c:337,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/gio/gapplicationimpl-dbus.c:317,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gapplicationimpl-dbus.c:349,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/gio/gapplicationimpl-dbus.c:275,1
    - Dst: G_APPLICATION_GET_CLASS
      Src: /src/glib/gio/gapplicationimpl-dbus.c:188,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gapplicationimpl-dbus.c:199,1
    - Dst: g_application_get_flags
      Src: /src/glib/gio/gapplicationimpl-dbus.c:215,1
    - Dst: g_free
      Src: /src/glib/gio/gapplicationimpl-dbus.c:252,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/gapplicationimpl-dbus.c:267,1
    - Dst: g_dbus_command_line_new
      Src: /src/glib/gio/gapplicationimpl-dbus.c:274,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gapplicationimpl-dbus.c:280,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gapplicationimpl-dbus.c:293,1
    - Dst: g_action_group_query_action
      Src: /src/glib/gio/gapplicationimpl-dbus.c:296,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gapplicationimpl-dbus.c:336,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gapplicationimpl-dbus.c:338,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gapplicationimpl-dbus.c:320,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gapplicationimpl-dbus.c:281,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/gio/gapplicationimpl-dbus.c:315,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gapplicationimpl-dbus.c:196,1
    - Dst: strcmp
      Src: /src/glib/gio/gapplicationimpl-dbus.c:190,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gapplicationimpl-dbus.c:201,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/gapplicationimpl-dbus.c:239,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gapplicationimpl-dbus.c:245,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gapplicationimpl-dbus.c:251,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/gapplicationimpl-dbus.c:254,1
    - Dst: g_application_get_flags
      Src: /src/glib/gio/gapplicationimpl-dbus.c:264,1
    - Dst: g_variant_iter_free
      Src: /src/glib/gio/gapplicationimpl-dbus.c:302,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/gapplicationimpl-dbus.c:351,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gapplicationimpl-dbus.c:330,1
    - Dst: g_application_command_line_set_exit_status
      Src: /src/glib/gio/gapplicationimpl-dbus.c:278,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gapplicationimpl-dbus.c:354,1
    - Dst: g_action_group_activate_action
      Src: /src/glib/gio/gapplicationimpl-dbus.c:343,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gapplicationimpl-dbus.c:223,1
    - Dst: g_new
      Src: /src/glib/gio/gapplicationimpl-dbus.c:232,1
    - Dst: strcmp
      Src: /src/glib/gio/gapplicationimpl-dbus.c:257,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gapplicationimpl-dbus.c:277,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/gapplicationimpl-dbus.c:300,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gapplicationimpl-dbus.c:303,1
    - Dst: g_variant_iter_n_children
      Src: /src/glib/gio/gapplicationimpl-dbus.c:308,1
    - Dst: g_variant_iter_next
      Src: /src/glib/gio/gapplicationimpl-dbus.c:324,1
    - Dst: g_variant_iter_free
      Src: /src/glib/gio/gapplicationimpl-dbus.c:327,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gapplicationimpl-dbus.c:347,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/gapplicationimpl-dbus.c:332,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gapplicationimpl-dbus.c:320,1
    - Dst: g_variant_builder_init_static
      Src: /src/glib/gio/gapplicationimpl-dbus.c:313,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 114
    argCount: 8
    argNames:
    - connection
    - sender
    - object_path
    - interface_name
    - method_name
    - parameters
    - invocation
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GVariant*
    - GDBusMethodInvocation*
    - gpointer
    constantsTouched: []
    func_position:
      end: 355
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 355
    functionName: g_application_impl_method_call
    functionSourceFile: /src/glib/gio/gapplicationimpl-dbus.c
    functionUses: []
    functionsReached:
    - g_file_new_for_uri
    - g_variant_iter_next
    - strcmp
    - g_variant_iter_loop
    - g_signal_emit_by_name
    - g_variant_iter_n_children
    - g_object_unref
    - g_variant_is_of_type
    - g_variant_builder_init_static
    - g_application_command_line_set_exit_status
    - g_action_group_query_action
    - g_clear_pointer
    - g_variant_unref
    - g_dbus_method_invocation_return_value
    - g_variant_get
    - g_variant_get_type_string
    - g_variant_get_child_value
    - g_variant_builder_end
    - g_action_group_activate_action
    - g_application_get_flags
    - g_new
    - g_assert_not_reached
    - g_dbus_method_invocation_return_error
    - g_variant_get_child
    - g_str_equal
    - g_variant_ref_sink
    - g_variant_n_children
    - g_variant_builder_add_value
    - g_dbus_command_line_new
    - g_variant_iter_free
    - g_free
    - G_APPLICATION_GET_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_application_impl_method_call (GDBusConnection *connection,
      const gchar *sender, const gchar *object_path, const gchar *interface_name,
      const gchar *method_name, GVariant *parameters, GDBusMethodInvocation *invocation,
      gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: send_property_change
      Src: /src/glib/gio/gapplicationimpl-dbus.c:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - impl
    - busy
    argTypes:
    - GApplicationImpl*
    - gboolean
    constantsTouched: []
    func_position:
      end: 612
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 612
    functionName: g_application_impl_set_busy_state
    functionSourceFile: /src/glib/gio/gapplicationimpl-dbus.c
    functionUses: []
    functionsReached:
    - send_property_change
    linkageType: ''
    returnType: void
    signature: 'void g_application_impl_set_busy_state (GApplicationImpl *impl, gboolean
      busy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_builder_init_static
      Src: /src/glib/gio/gapplicationimpl-dbus.c:732,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gapplicationimpl-dbus.c:737,1
    - Dst: g_file_get_uri
      Src: /src/glib/gio/gapplicationimpl-dbus.c:736,1
    - Dst: g_variant_builder_open
      Src: /src/glib/gio/gapplicationimpl-dbus.c:733,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gapplicationimpl-dbus.c:732,1
    - Dst: g_free
      Src: /src/glib/gio/gapplicationimpl-dbus.c:738,1
    - Dst: g_variant_builder_close
      Src: /src/glib/gio/gapplicationimpl-dbus.c:740,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gapplicationimpl-dbus.c:741,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/gio/gapplicationimpl-dbus.c:742,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/gapplicationimpl-dbus.c:744,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gapplicationimpl-dbus.c:749,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 5
    argNames:
    - impl
    - files
    - n_files
    - hint
    - platform_data
    argTypes:
    - GApplicationImpl*
    - GFile**
    - gint
    - gchar*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 751
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 751
    functionName: g_application_impl_open
    functionSourceFile: /src/glib/gio/gapplicationimpl-dbus.c
    functionUses: []
    functionsReached:
    - g_file_get_uri
    - g_dbus_connection_call
    - g_variant_builder_close
    - g_variant_builder_init_static
    - g_free
    - g_variant_builder_add_value
    - g_variant_builder_end
    - g_variant_builder_open
    - g_variant_builder_add
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: void
    signature: 'void g_application_impl_open (GApplicationImpl *impl, GFile **files,
      gint n_files, const gchar *hint, GVariant *platform_data) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: G_APPLICATION_GET_CLASS
      Src: /src/glib/gio/gapplicationimpl-dbus.c:418,1
    - Dst: g_dbus_node_info_new_for_xml
      Src: /src/glib/gio/gapplicationimpl-dbus.c:430,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/gapplicationimpl-dbus.c:436,1
    - Dst: g_assert
      Src: /src/glib/gio/gapplicationimpl-dbus.c:442,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gapplicationimpl-dbus.c:486,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gapplicationimpl-dbus.c:541,1
    - Dst: g_assert
      Src: /src/glib/gio/gapplicationimpl-dbus.c:434,1
    - Dst: g_dbus_interface_info_ref
      Src: /src/glib/gio/gapplicationimpl-dbus.c:435,1
    - Dst: g_dbus_node_info_lookup_interface
      Src: /src/glib/gio/gapplicationimpl-dbus.c:441,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/gapplicationimpl-dbus.c:444,1
    - Dst: g_dbus_connection_register_object
      Src: /src/glib/gio/gapplicationimpl-dbus.c:467,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gapplicationimpl-dbus.c:490,1
    - Dst: g_application_get_flags
      Src: /src/glib/gio/gapplicationimpl-dbus.c:508,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/gapplicationimpl-dbus.c:546,1
    - Dst: g_dbus_node_info_lookup_interface
      Src: /src/glib/gio/gapplicationimpl-dbus.c:433,1
    - Dst: g_dbus_node_info_new_for_xml
      Src: /src/glib/gio/gapplicationimpl-dbus.c:438,1
    - Dst: g_error
      Src: /src/glib/gio/gapplicationimpl-dbus.c:440,1
    - Dst: g_dbus_interface_info_ref
      Src: /src/glib/gio/gapplicationimpl-dbus.c:443,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gapplicationimpl-dbus.c:485,1
    - Dst: g_dbus_connection_call_sync
      Src: /src/glib/gio/gapplicationimpl-dbus.c:528,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gapplicationimpl-dbus.c:534,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gapplicationimpl-dbus.c:540,1
    - Dst: g_steal_handle_id
      Src: /src/glib/gio/gapplicationimpl-dbus.c:546,1
    - Dst: g_error
      Src: /src/glib/gio/gapplicationimpl-dbus.c:432,1
    - Dst: g_dbus_connection_register_object
      Src: /src/glib/gio/gapplicationimpl-dbus.c:461,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gapplicationimpl-dbus.c:486,1
    - Dst: g_dbus_connection_export_action_group
      Src: /src/glib/gio/gapplicationimpl-dbus.c:473,1
    - Dst: g_dbus_connection_signal_subscribe
      Src: /src/glib/gio/gapplicationimpl-dbus.c:512,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gapplicationimpl-dbus.c:533,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 69
    argCount: 3
    argNames:
    - impl
    - cancellable
    - error
    argTypes:
    - GApplicationImpl*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 549
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 549
    functionName: g_application_impl_attempt_primary
    functionSourceFile: /src/glib/gio/gapplicationimpl-dbus.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_dbus_connection_export_action_group
    - g_dbus_connection_register_object
    - g_error
    - g_dbus_interface_info_ref
    - g_dbus_node_info_unref
    - g_variant_unref
    - g_variant_get
    - g_dbus_connection_signal_subscribe
    - g_steal_handle_id
    - g_application_get_flags
    - g_dbus_connection_signal_unsubscribe
    - g_dbus_connection_call_sync
    - G_VARIANT_TYPE
    - g_propagate_error
    - g_return_val_if_fail
    - g_dbus_node_info_new_for_xml
    - g_assert
    - g_variant_new
    - g_dbus_node_info_lookup_interface
    - G_APPLICATION_GET_CLASS
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_application_impl_attempt_primary (GApplicationImpl
      *impl, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_application_impl_stop_primary
      Src: /src/glib/gio/gapplicationimpl-dbus.c:617,1
    - Dst: g_free
      Src: /src/glib/gio/gapplicationimpl-dbus.c:622,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gapplicationimpl-dbus.c:624,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gapplicationimpl-dbus.c:620,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - impl
    argTypes:
    - GApplicationImpl*
    constantsTouched: []
    func_position:
      end: 625
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 625
    functionName: g_application_impl_destroy
    functionSourceFile: /src/glib/gio/gapplicationimpl-dbus.c
    functionUses: []
    functionsReached:
    - g_application_impl_stop_primary
    - g_free
    - g_object_unref
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'void g_application_impl_destroy (GApplicationImpl *impl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_flush_sync
      Src: /src/glib/gio/gapplicationimpl-dbus.c:892,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - impl
    argTypes:
    - GApplicationImpl*
    constantsTouched: []
    func_position:
      end: 893
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 893
    functionName: g_application_impl_flush
    functionSourceFile: /src/glib/gio/gapplicationimpl-dbus.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_flush_sync
    linkageType: ''
    returnType: void
    signature: 'void g_application_impl_flush (GApplicationImpl *impl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - gdbcl
    argTypes:
    - GDBusCommandLine*
    constantsTouched: []
    func_position:
      end: 1011
      start: 1008
    functionDepth: 0
    functionLinenumber: 1008
    functionLinenumberEnd: 1011
    functionName: g_dbus_command_line_init
    functionSourceFile: /src/glib/gio/gapplicationimpl-dbus.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_command_line_init (GDBusCommandLine *gdbcl) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gapplicationimpl-dbus.c:639,1
    - Dst: application_path_from_appid
      Src: /src/glib/gio/gapplicationimpl-dbus.c:661,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/gapplicationimpl-dbus.c:650,1
    - Dst: g_application_impl_attempt_primary
      Src: /src/glib/gio/gapplicationimpl-dbus.c:668,1
    - Dst: g_slice_new0
      Src: /src/glib/gio/gapplicationimpl-dbus.c:641,1
    - Dst: g_application_impl_destroy
      Src: /src/glib/gio/gapplicationimpl-dbus.c:670,1
    - Dst: g_application_impl_stop_primary
      Src: /src/glib/gio/gapplicationimpl-dbus.c:678,1
    - Dst: g_set_error
      Src: /src/glib/gio/gapplicationimpl-dbus.c:682,1
    - Dst: g_application_impl_destroy
      Src: /src/glib/gio/gapplicationimpl-dbus.c:684,1
    - Dst: g_dbus_action_group_get
      Src: /src/glib/gio/gapplicationimpl-dbus.c:694,1
    - Dst: g_dbus_action_group_sync
      Src: /src/glib/gio/gapplicationimpl-dbus.c:695,1
    - Dst: G_REMOTE_ACTION_GROUP
      Src: /src/glib/gio/gapplicationimpl-dbus.c:704,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gapplicationimpl-dbus.c:699,1
    - Dst: g_application_impl_destroy
      Src: /src/glib/gio/gapplicationimpl-dbus.c:698,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 707
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 707
    functionName: g_application_impl_register
    functionSourceFile: /src/glib/gio/gapplicationimpl-dbus.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_application_impl_stop_primary
    - g_application_impl_attempt_primary
    - g_dbus_action_group_sync
    - g_slice_new0
    - g_object_unref
    - g_assert
    - g_dbus_action_group_get
    - G_REMOTE_ACTION_GROUP
    - g_bus_get_sync
    - application_path_from_appid
    - g_application_impl_destroy
    linkageType: ''
    returnType: GApplicationImpl*
    signature: 'GApplicationImpl *g_application_impl_register (GApplication *application,
      const gchar *appid, GApplicationFlags flags, GActionGroup *exported_actions,
      GRemoteActionGroup **remote_actions, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 899
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 899
    functionName: g_application_impl_get_dbus_connection
    functionSourceFile: /src/glib/gio/gapplicationimpl-dbus.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GDBusConnection*
    signature: 'GDBusConnection *g_application_impl_get_dbus_connection (GApplicationImpl
      *impl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gapplicationimpl-dbus.c:1016,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - class
    argTypes:
    - GApplicationCommandLineClass*
    constantsTouched: []
    func_position:
      end: 1023
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1023
    functionName: g_dbus_command_line_class_init
    functionSourceFile: /src/glib/gio/gapplicationimpl-dbus.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_command_line_class_init (GApplicationCommandLineClass
      *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_method_invocation_get_parameters
      Src: /src/glib/gio/gapplicationimpl-dbus.c:1032,1
    - Dst: g_object_new
      Src: /src/glib/gio/gapplicationimpl-dbus.c:1036,1
    - Dst: g_dbus_command_line_get_type
      Src: /src/glib/gio/gapplicationimpl-dbus.c:1036,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/gio/gapplicationimpl-dbus.c:1034,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/gio/gapplicationimpl-dbus.c:1035,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gapplicationimpl-dbus.c:1040,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gapplicationimpl-dbus.c:1041,1
    - Dst: g_dbus_method_invocation_get_connection
      Src: /src/glib/gio/gapplicationimpl-dbus.c:1043,1
    - Dst: g_dbus_method_invocation_get_sender
      Src: /src/glib/gio/gapplicationimpl-dbus.c:1044,1
    - Dst: g_variant_get_child
      Src: /src/glib/gio/gapplicationimpl-dbus.c:1045,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gapplicationimpl-dbus.c:1046,1
    - Dst: G_APPLICATION_COMMAND_LINE
      Src: /src/glib/gio/gapplicationimpl-dbus.c:1048,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1025
    functionDepth: 0
    functionLinenumber: 1025
    functionLinenumberEnd: 1049
    functionName: g_dbus_command_line_new
    functionSourceFile: /src/glib/gio/gapplicationimpl-dbus.c
    functionUses: []
    functionsReached:
    - g_object_new
    - g_dbus_method_invocation_get_parameters
    - g_variant_get_child
    - g_variant_unref
    - g_dbus_method_invocation_get_connection
    - g_dbus_method_invocation_get_sender
    - g_variant_get_child_value
    - g_dbus_command_line_get_type
    - g_object_ref
    - G_APPLICATION_COMMAND_LINE
    linkageType: ''
    returnType: GApplicationCommandLine*
    signature: 'static GApplicationCommandLine *g_dbus_command_line_new (GDBusMethodInvocation
      *invocation) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_application_impl_stop_primary
      Src: /src/glib/gio/gapplicationimpl-dbus.c:394,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gapplicationimpl-dbus.c:395,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 7
    argNames:
    - bus
    - sender_name
    - object_path
    - interface_name
    - signal_name
    - parameters
    - user_data
    argTypes:
    - GDBusConnection*
    - char*
    - char*
    - char*
    - char*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 396
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 396
    functionName: name_lost
    functionSourceFile: /src/glib/gio/gapplicationimpl-dbus.c
    functionUses: []
    functionsReached:
    - g_signal_emit_by_name
    - g_application_impl_stop_primary
    linkageType: ''
    returnType: void
    signature: 'static void name_lost (GDBusConnection *bus, const char *sender_name,
      const char *object_path, const char *interface_name, const char *signal_name,
      GVariant *parameters, gpointer user_data) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/gapplicationcommandline.c:257,1
    - Dst: g_variant_dup_bytestring
      Src: /src/glib/gio/gapplicationcommandline.c:263,1
    - Dst: strcmp
      Src: /src/glib/gio/gapplicationcommandline.c:260,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gapplicationcommandline.c:260,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/gio/gapplicationcommandline.c:259,1
    - Dst: strcmp
      Src: /src/glib/gio/gapplicationcommandline.c:266,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gapplicationcommandline.c:266,1
    - Dst: g_variant_dup_bytestring_array
      Src: /src/glib/gio/gapplicationcommandline.c:270,1
    - Dst: strcmp
      Src: /src/glib/gio/gapplicationcommandline.c:273,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gapplicationcommandline.c:273,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gapplicationcommandline.c:276,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 1
    argNames:
    - cmdline
    argTypes:
    - GApplicationCommandLine*
    constantsTouched: []
    func_position:
      end: 278
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 278
    functionName: grok_platform_data
    functionSourceFile: /src/glib/gio/gapplicationcommandline.c
    functionUses: []
    functionsReached:
    - g_variant_iter_init
    - g_variant_is_of_type
    - g_variant_dup_bytestring
    - strcmp
    - g_variant_iter_loop
    - g_variant_ref
    - g_variant_dup_bytestring_array
    linkageType: ''
    returnType: void
    signature: 'static void grok_platform_data (GApplicationCommandLine *cmdline) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplicationcommandline.c:738,1
    - Dst: G_APPLICATION_COMMAND_LINE_GET_CLASS
      Src: /src/glib/gio/gapplicationcommandline.c:741,1
    - Dst: G_IS_APPLICATION_COMMAND_LINE
      Src: /src/glib/gio/gapplicationcommandline.c:738,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplicationcommandline.c:739,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - cmdline
    - message
    argTypes:
    - GApplicationCommandLine*
    - gchar*
    constantsTouched: []
    func_position:
      end: 743
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 743
    functionName: g_application_command_line_printerr_literal
    functionSourceFile: /src/glib/gio/gapplicationcommandline.c
    functionUses: []
    functionsReached:
    - G_IS_APPLICATION_COMMAND_LINE
    - G_APPLICATION_COMMAND_LINE_GET_CLASS
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_application_command_line_printerr_literal (GApplicationCommandLine
      *cmdline, const gchar *message) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplicationcommandline.c:803,1
    - Dst: G_IS_APPLICATION_COMMAND_LINE
      Src: /src/glib/gio/gapplicationcommandline.c:803,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/gio/gapplicationcommandline.c:807,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplicationcommandline.c:804,1
    - Dst: va_start
      Src: /src/glib/gio/gapplicationcommandline.c:806,1
    - Dst: va_end
      Src: /src/glib/gio/gapplicationcommandline.c:808,1
    - Dst: G_APPLICATION_COMMAND_LINE_GET_CLASS
      Src: /src/glib/gio/gapplicationcommandline.c:810,1
    - Dst: g_free
      Src: /src/glib/gio/gapplicationcommandline.c:812,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - cmdline
    - format
    - '...'
    argTypes:
    - GApplicationCommandLine*
    - gchar*
    constantsTouched: []
    func_position:
      end: 813
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 813
    functionName: g_application_command_line_printerr
    functionSourceFile: /src/glib/gio/gapplicationcommandline.c
    functionUses: []
    functionsReached:
    - g_strdup_vprintf
    - g_return_if_fail
    - G_IS_APPLICATION_COMMAND_LINE
    - va_end
    - G_APPLICATION_COMMAND_LINE_GET_CLASS
    - g_free
    - va_start
    linkageType: ''
    returnType: void
    signature: 'void g_application_command_line_printerr (GApplicationCommandLine
      *cmdline, const gchar *format, ...) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_APPLICATION_COMMAND_LINE
      Src: /src/glib/gio/gapplicationcommandline.c:315,1
    - Dst: g_value_set_variant
      Src: /src/glib/gio/gapplicationcommandline.c:320,1
    - Dst: g_value_set_variant
      Src: /src/glib/gio/gapplicationcommandline.c:324,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gapplicationcommandline.c:328,1
    - Dst: IS_REMOTE
      Src: /src/glib/gio/gapplicationcommandline.c:328,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gapplicationcommandline.c:332,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 334
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 334
    functionName: g_application_command_line_get_property
    functionSourceFile: /src/glib/gio/gapplicationcommandline.c
    functionUses: []
    functionsReached:
    - g_value_set_boolean
    - g_assert_not_reached
    - IS_REMOTE
    - G_APPLICATION_COMMAND_LINE
    - g_value_set_variant
    linkageType: ''
    returnType: void
    signature: 'static void g_application_command_line_get_property (GObject *object,
      guint prop_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gapplicationcommandline.c:556,1
    - Dst: G_IS_APPLICATION_COMMAND_LINE
      Src: /src/glib/gio/gapplicationcommandline.c:556,1
    - Dst: g_variant_dict_new
      Src: /src/glib/gio/gapplicationcommandline.c:559,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 562
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 562
    functionName: g_application_command_line_get_options_dict
    functionSourceFile: /src/glib/gio/gapplicationcommandline.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_APPLICATION_COMMAND_LINE
    - g_variant_dict_new
    linkageType: ''
    returnType: GVariantDict*
    signature: 'GVariantDict *g_application_command_line_get_options_dict (GApplicationCommandLine
      *cmdline) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 641
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 641
    functionName: g_application_command_line_get_environ
    functionSourceFile: /src/glib/gio/gapplicationcommandline.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar**
    signature: 'const gchar * const *g_application_command_line_get_environ (GApplicationCommandLine
      *cmdline) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_APPLICATION_COMMAND_LINE
      Src: /src/glib/gio/gapplicationcommandline.c:342,1
    - Dst: g_value_dup_variant
      Src: /src/glib/gio/gapplicationcommandline.c:353,1
    - Dst: g_value_dup_variant
      Src: /src/glib/gio/gapplicationcommandline.c:348,1
    - Dst: g_assert
      Src: /src/glib/gio/gapplicationcommandline.c:352,1
    - Dst: g_assert
      Src: /src/glib/gio/gapplicationcommandline.c:347,1
    - Dst: g_assert
      Src: /src/glib/gio/gapplicationcommandline.c:357,1
    - Dst: g_value_dup_variant
      Src: /src/glib/gio/gapplicationcommandline.c:358,1
    - Dst: grok_platform_data
      Src: /src/glib/gio/gapplicationcommandline.c:360,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gapplicationcommandline.c:364,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 366
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 366
    functionName: g_application_command_line_set_property
    functionSourceFile: /src/glib/gio/gapplicationcommandline.c
    functionUses: []
    functionsReached:
    - g_value_dup_variant
    - g_assert
    - grok_platform_data
    - g_assert_not_reached
    - G_APPLICATION_COMMAND_LINE
    linkageType: ''
    returnType: void
    signature: 'static void g_application_command_line_set_property (GObject *object,
      guint prop_id, const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 610
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 610
    functionName: g_application_command_line_get_cwd
    functionSourceFile: /src/glib/gio/gapplicationcommandline.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_application_command_line_get_cwd (GApplicationCommandLine
      *cmdline) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gio/gapplicationcommandline.c:284,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - cmdline
    - message
    argTypes:
    - GApplicationCommandLine*
    - gchar*
    constantsTouched: []
    func_position:
      end: 285
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 285
    functionName: g_application_command_line_real_print_literal
    functionSourceFile: /src/glib/gio/gapplicationcommandline.c
    functionUses: []
    functionsReached:
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void g_application_command_line_real_print_literal (GApplicationCommandLine
      *cmdline, const gchar *message) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_APPLICATION_COMMAND_LINE
      Src: /src/glib/gio/gapplicationcommandline.c:371,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gapplicationcommandline.c:375,1
    - Dst: g_application_command_line_done
      Src: /src/glib/gio/gapplicationcommandline.c:373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 376
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 376
    functionName: g_application_command_line_dispose
    functionSourceFile: /src/glib/gio/gapplicationcommandline.c
    functionUses: []
    functionsReached:
    - g_application_command_line_done
    - G_APPLICATION_COMMAND_LINE
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_application_command_line_dispose (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_application_command_line_get_instance_private
      Src: /src/glib/gio/gapplicationcommandline.c:404,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cmdline
    argTypes:
    - GApplicationCommandLine*
    constantsTouched: []
    func_position:
      end: 405
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 405
    functionName: g_application_command_line_init
    functionSourceFile: /src/glib/gio/gapplicationcommandline.c
    functionUses: []
    functionsReached:
    - g_application_command_line_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_application_command_line_init (GApplicationCommandLine
      *cmdline) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gapplicationcommandline.c:929,1
    - Dst: g_warning
      Src: /src/glib/gio/gapplicationcommandline.c:934,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/gapplicationcommandline.c:937,1
    - Dst: g_file_new_for_commandline_arg_and_cwd
      Src: /src/glib/gio/gapplicationcommandline.c:932,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 938
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 938
    functionName: g_application_command_line_create_file_for_arg
    functionSourceFile: /src/glib/gio/gapplicationcommandline.c
    functionUses: []
    functionsReached:
    - g_file_new_for_commandline_arg_and_cwd
    - g_return_val_if_fail
    - g_file_new_for_commandline_arg
    - g_warning
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *g_application_command_line_create_file_for_arg (GApplicationCommandLine
      *cmdline, const gchar *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplicationcommandline.c:965,1
    - Dst: G_IS_APPLICATION_COMMAND_LINE
      Src: /src/glib/gio/gapplicationcommandline.c:965,1
    - Dst: G_APPLICATION_COMMAND_LINE_GET_CLASS
      Src: /src/glib/gio/gapplicationcommandline.c:970,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - cmdline
    argTypes:
    - GApplicationCommandLine*
    constantsTouched: []
    func_position:
      end: 973
      start: 962
    functionDepth: 0
    functionLinenumber: 962
    functionLinenumberEnd: 973
    functionName: g_application_command_line_done
    functionSourceFile: /src/glib/gio/gapplicationcommandline.c
    functionUses: []
    functionsReached:
    - G_IS_APPLICATION_COMMAND_LINE
    - G_APPLICATION_COMMAND_LINE_GET_CLASS
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_application_command_line_done (GApplicationCommandLine *cmdline) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_printerr
      Src: /src/glib/gio/gapplicationcommandline.c:291,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - cmdline
    - message
    argTypes:
    - GApplicationCommandLine*
    - gchar*
    constantsTouched: []
    func_position:
      end: 292
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 292
    functionName: g_application_command_line_real_printerr_literal
    functionSourceFile: /src/glib/gio/gapplicationcommandline.c
    functionUses: []
    functionsReached:
    - g_printerr
    linkageType: ''
    returnType: void
    signature: 'static void g_application_command_line_real_printerr_literal (GApplicationCommandLine
      *cmdline, const gchar *message) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_APPLICATION_COMMAND_LINE
      Src: /src/glib/gio/gapplicationcommandline.c:381,1
    - Dst: g_variant_dict_unref
      Src: /src/glib/gio/gapplicationcommandline.c:384,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gapplicationcommandline.c:392,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gapplicationcommandline.c:390,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gapplicationcommandline.c:387,1
    - Dst: g_free
      Src: /src/glib/gio/gapplicationcommandline.c:394,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gapplicationcommandline.c:395,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gapplicationcommandline.c:397,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 399
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 399
    functionName: g_application_command_line_finalize
    functionSourceFile: /src/glib/gio/gapplicationcommandline.c
    functionUses: []
    functionsReached:
    - g_variant_dict_unref
    - G_OBJECT_CLASS
    - g_strfreev
    - g_variant_unref
    - G_APPLICATION_COMMAND_LINE
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void g_application_command_line_finalize (GObject *object) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_APPLICATION_COMMAND_LINE
      Src: /src/glib/gio/gapplicationcommandline.c:410,1
    - Dst: g_get_environ
      Src: /src/glib/gio/gapplicationcommandline.c:420,1
    - Dst: g_get_current_dir
      Src: /src/glib/gio/gapplicationcommandline.c:417,1
    - Dst: IS_REMOTE
      Src: /src/glib/gio/gapplicationcommandline.c:412,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 421
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 421
    functionName: g_application_command_line_constructed
    functionSourceFile: /src/glib/gio/gapplicationcommandline.c
    functionUses: []
    functionsReached:
    - g_get_current_dir
    - IS_REMOTE
    - g_get_environ
    - G_APPLICATION_COMMAND_LINE
    linkageType: ''
    returnType: void
    signature: 'static void g_application_command_line_constructed (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_APPLICATION_COMMAND_LINE_GET_CLASS
      Src: /src/glib/gio/gapplicationcommandline.c:586,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 587
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 587
    functionName: g_application_command_line_get_stdin
    functionSourceFile: /src/glib/gio/gapplicationcommandline.c
    functionUses: []
    functionsReached:
    - G_APPLICATION_COMMAND_LINE_GET_CLASS
    linkageType: ''
    returnType: GInputStream*
    signature: 'GInputStream *g_application_command_line_get_stdin (GApplicationCommandLine
      *cmdline) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gapplicationcommandline.c:901,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gapplicationcommandline.c:904,1
    - Dst: G_IS_APPLICATION_COMMAND_LINE
      Src: /src/glib/gio/gapplicationcommandline.c:901,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 907
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 907
    functionName: g_application_command_line_get_platform_data
    functionSourceFile: /src/glib/gio/gapplicationcommandline.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_APPLICATION_COMMAND_LINE
    - g_variant_ref
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_application_command_line_get_platform_data (GApplicationCommandLine
      *cmdline) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_input_stream_new
      Src: /src/glib/gio/gapplicationcommandline.c:298,1
    - Dst: g_win32_input_stream_new
      Src: /src/glib/gio/gapplicationcommandline.c:300,1
    - Dst: GetStdHandle
      Src: /src/glib/gio/gapplicationcommandline.c:300,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 302
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 302
    functionName: g_application_command_line_real_get_stdin
    functionSourceFile: /src/glib/gio/gapplicationcommandline.c
    functionUses: []
    functionsReached:
    - GetStdHandle
    - g_win32_input_stream_new
    - g_unix_input_stream_new
    linkageType: ''
    returnType: GInputStream*
    signature: 'static GInputStream *g_application_command_line_real_get_stdin (GApplicationCommandLine
      *cmdline) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gapplicationcommandline.c:522,1
    - Dst: g_variant_dup_bytestring_array
      Src: /src/glib/gio/gapplicationcommandline.c:524,1
    - Dst: G_IS_APPLICATION_COMMAND_LINE
      Src: /src/glib/gio/gapplicationcommandline.c:522,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 530
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 530
    functionName: g_application_command_line_get_arguments
    functionSourceFile: /src/glib/gio/gapplicationcommandline.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_APPLICATION_COMMAND_LINE
    - g_variant_dup_bytestring_array
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **g_application_command_line_get_arguments (GApplicationCommandLine
      *cmdline, int *argc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IS_REMOTE
      Src: /src/glib/gio/gapplicationcommandline.c:694,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cmdline
    argTypes:
    - GApplicationCommandLine*
    constantsTouched: []
    func_position:
      end: 695
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 695
    functionName: g_application_command_line_get_is_remote
    functionSourceFile: /src/glib/gio/gapplicationcommandline.c
    functionUses: []
    functionsReached:
    - IS_REMOTE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_application_command_line_get_is_remote (GApplicationCommandLine
      *cmdline) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplicationcommandline.c:714,1
    - Dst: G_APPLICATION_COMMAND_LINE_GET_CLASS
      Src: /src/glib/gio/gapplicationcommandline.c:717,1
    - Dst: G_IS_APPLICATION_COMMAND_LINE
      Src: /src/glib/gio/gapplicationcommandline.c:714,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplicationcommandline.c:715,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - cmdline
    - message
    argTypes:
    - GApplicationCommandLine*
    - gchar*
    constantsTouched: []
    func_position:
      end: 719
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 719
    functionName: g_application_command_line_print_literal
    functionSourceFile: /src/glib/gio/gapplicationcommandline.c
    functionUses: []
    functionsReached:
    - G_IS_APPLICATION_COMMAND_LINE
    - G_APPLICATION_COMMAND_LINE_GET_CLASS
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_application_command_line_print_literal (GApplicationCommandLine
      *cmdline, const gchar *message) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplicationcommandline.c:768,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplicationcommandline.c:769,1
    - Dst: va_start
      Src: /src/glib/gio/gapplicationcommandline.c:771,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/gio/gapplicationcommandline.c:772,1
    - Dst: G_IS_APPLICATION_COMMAND_LINE
      Src: /src/glib/gio/gapplicationcommandline.c:768,1
    - Dst: va_end
      Src: /src/glib/gio/gapplicationcommandline.c:773,1
    - Dst: G_APPLICATION_COMMAND_LINE_GET_CLASS
      Src: /src/glib/gio/gapplicationcommandline.c:775,1
    - Dst: g_free
      Src: /src/glib/gio/gapplicationcommandline.c:777,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - cmdline
    - format
    - '...'
    argTypes:
    - GApplicationCommandLine*
    - gchar*
    constantsTouched: []
    func_position:
      end: 778
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 778
    functionName: g_application_command_line_print
    functionSourceFile: /src/glib/gio/gapplicationcommandline.c
    functionUses: []
    functionsReached:
    - g_strdup_vprintf
    - g_return_if_fail
    - G_IS_APPLICATION_COMMAND_LINE
    - va_end
    - G_APPLICATION_COMMAND_LINE_GET_CLASS
    - g_free
    - va_start
    linkageType: ''
    returnType: void
    signature: 'void g_application_command_line_print (GApplicationCommandLine *cmdline,
      const gchar *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gapplicationcommandline.c:873,1
    - Dst: G_IS_APPLICATION_COMMAND_LINE
      Src: /src/glib/gio/gapplicationcommandline.c:873,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cmdline
    argTypes:
    - GApplicationCommandLine*
    constantsTouched: []
    func_position:
      end: 876
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 876
    functionName: g_application_command_line_get_exit_status
    functionSourceFile: /src/glib/gio/gapplicationcommandline.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_APPLICATION_COMMAND_LINE
    linkageType: ''
    returnType: int
    signature: 'int g_application_command_line_get_exit_status (GApplicationCommandLine
      *cmdline) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - cmdline
    argTypes:
    - GApplicationCommandLine*
    constantsTouched: []
    func_position:
      end: 307
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 307
    functionName: g_application_command_line_real_done
    functionSourceFile: /src/glib/gio/gapplicationcommandline.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_application_command_line_real_done (GApplicationCommandLine
      *cmdline) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gapplicationcommandline.c:426,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gapplicationcommandline.c:448,1
    - Dst: g_param_spec_variant
      Src: /src/glib/gio/gapplicationcommandline.c:462,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gapplicationcommandline.c:461,1
    - Dst: g_param_spec_variant
      Src: /src/glib/gio/gapplicationcommandline.c:449,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gapplicationcommandline.c:473,1
    - Dst: g_param_spec_variant
      Src: /src/glib/gio/gapplicationcommandline.c:474,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gapplicationcommandline.c:475,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gapplicationcommandline.c:486,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gapplicationcommandline.c:487,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 1
    argNames:
    - class
    argTypes:
    - GApplicationCommandLineClass*
    constantsTouched: []
    func_position:
      end: 490
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 490
    functionName: g_application_command_line_class_init
    functionSourceFile: /src/glib/gio/gapplicationcommandline.c
    functionUses: []
    functionsReached:
    - g_param_spec_boolean
    - g_object_class_install_property
    - G_OBJECT_CLASS
    - g_param_spec_variant
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: void
    signature: 'static void g_application_command_line_class_init (GApplicationCommandLineClass
      *class) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/gio/gapplicationcommandline.c:668,1
    - Dst: strncmp
      Src: /src/glib/gio/gapplicationcommandline.c:674,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 679
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 679
    functionName: g_application_command_line_getenv
    functionSourceFile: /src/glib/gio/gapplicationcommandline.c
    functionUses: []
    functionsReached:
    - strncmp
    - strlen
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_application_command_line_getenv (GApplicationCommandLine
      *cmdline, const gchar *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplicationcommandline.c:851,1
    - Dst: G_IS_APPLICATION_COMMAND_LINE
      Src: /src/glib/gio/gapplicationcommandline.c:851,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - cmdline
    - exit_status
    argTypes:
    - GApplicationCommandLine*
    - int
    constantsTouched: []
    func_position:
      end: 857
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 857
    functionName: g_application_command_line_set_exit_status
    functionSourceFile: /src/glib/gio/gapplicationcommandline.c
    functionUses: []
    functionsReached:
    - G_IS_APPLICATION_COMMAND_LINE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_application_command_line_set_exit_status (GApplicationCommandLine
      *cmdline, int exit_status) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_OBJECT_PROXY
      Src: /src/glib/gio/gdbusobjectproxy.c:68,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusobjectproxy.c:70,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusobjectproxy.c:74,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusobjectproxy.c:72,1
    - Dst: g_mutex_clear
      Src: /src/glib/gio/gdbusobjectproxy.c:76,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusobjectproxy.c:78,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusobjectproxy.c:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 80
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 80
    functionName: g_dbus_object_proxy_finalize
    functionSourceFile: /src/glib/gio/gdbusobjectproxy.c
    functionUses: []
    functionsReached:
    - G_DBUS_OBJECT_PROXY
    - g_hash_table_unref
    - g_mutex_clear
    - G_OBJECT_CLASS
    - g_clear_object
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_object_proxy_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_object_proxy_get_instance_private
      Src: /src/glib/gio/gdbusobjectproxy.c:179,1
    - Dst: g_mutex_init
      Src: /src/glib/gio/gdbusobjectproxy.c:180,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdbusobjectproxy.c:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - GDBusObjectProxy*
    constantsTouched: []
    func_position:
      end: 185
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 185
    functionName: g_dbus_object_proxy_init
    functionSourceFile: /src/glib/gio/gdbusobjectproxy.c
    functionUses: []
    functionsReached:
    - g_mutex_init
    - g_hash_table_new_full
    - g_dbus_object_proxy_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_object_proxy_init (GDBusObjectProxy *proxy) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_OBJECT_PROXY
      Src: /src/glib/gio/gdbusobjectproxy.c:114,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectproxy.c:119,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gdbusobjectproxy.c:120,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectproxy.c:121,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectproxy.c:125,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/gdbusobjectproxy.c:126,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectproxy.c:127,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gdbusobjectproxy.c:131,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 134
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 134
    functionName: g_dbus_object_proxy_set_property
    functionSourceFile: /src/glib/gio/gdbusobjectproxy.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_dup_string
    - G_DBUS_OBJECT_PROXY
    - g_mutex_unlock
    - g_mutex_lock
    - g_value_dup_object
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_object_proxy_set_property (GObject *object, guint
      prop_id, const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectproxy.c:213,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectproxy.c:214,1
    - Dst: G_IS_DBUS_OBJECT_PROXY
      Src: /src/glib/gio/gdbusobjectproxy.c:213,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectproxy.c:216,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 218
    functionName: g_dbus_object_proxy_get_connection
    functionSourceFile: /src/glib/gio/gdbusobjectproxy.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_OBJECT_PROXY
    - g_return_val_if_fail
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: GDBusConnection*
    signature: 'GDBusConnection *g_dbus_object_proxy_get_connection (GDBusObjectProxy
      *proxy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_OBJECT_PROXY
      Src: /src/glib/gio/gdbusobjectproxy.c:242,1
    - Dst: g_hash_table_get_values
      Src: /src/glib/gio/gdbusobjectproxy.c:250,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectproxy.c:249,1
    - Dst: G_IS_DBUS_OBJECT_PROXY
      Src: /src/glib/gio/gdbusobjectproxy.c:245,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectproxy.c:245,1
    - Dst: g_list_foreach
      Src: /src/glib/gio/gdbusobjectproxy.c:251,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectproxy.c:252,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 255
    functionName: g_dbus_object_proxy_get_interfaces
    functionSourceFile: /src/glib/gio/gdbusobjectproxy.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_OBJECT_PROXY
    - g_return_val_if_fail
    - G_DBUS_OBJECT_PROXY
    - g_mutex_unlock
    - g_mutex_lock
    - g_hash_table_get_values
    - g_list_foreach
    linkageType: ''
    returnType: GList*
    signature: 'static GList *g_dbus_object_proxy_get_interfaces (GDBusObject *object) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusobjectproxy.c:305,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectproxy.c:291,1
    - Dst: G_IS_DBUS_OBJECT_PROXY
      Src: /src/glib/gio/gdbusobjectproxy.c:290,1
    - Dst: g_dbus_proxy_get_interface_name
      Src: /src/glib/gio/gdbusobjectproxy.c:295,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusobjectproxy.c:300,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectproxy.c:316,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectproxy.c:290,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectproxy.c:293,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusobjectproxy.c:296,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectproxy.c:312,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusobjectproxy.c:304,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusobjectproxy.c:302,1
    - Dst: G_IS_DBUS_PROXY
      Src: /src/glib/gio/gdbusobjectproxy.c:291,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusobjectproxy.c:299,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusobjectproxy.c:300,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusobjectproxy.c:303,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gdbusobjectproxy.c:311,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gdbusobjectproxy.c:315,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectproxy.c:307,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - proxy
    - interface_proxy
    argTypes:
    - GDBusObjectProxy*
    - GDBusProxy*
    constantsTouched: []
    func_position:
      end: 317
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 317
    functionName: _g_dbus_object_proxy_add_interface
    functionSourceFile: /src/glib/gio/gdbusobjectproxy.c
    functionUses: []
    functionsReached:
    - g_dbus_proxy_get_interface_name
    - G_IS_DBUS_OBJECT_PROXY
    - g_strdup
    - g_warn_if_fail
    - g_object_unref
    - g_mutex_unlock
    - g_mutex_lock
    - g_return_if_fail
    - g_hash_table_remove
    - g_hash_table_lookup
    - g_hash_table_insert
    - g_signal_emit_by_name
    - g_object_ref
    - G_IS_DBUS_PROXY
    linkageType: ''
    returnType: void
    signature: 'void _g_dbus_object_proxy_add_interface (GDBusObjectProxy *proxy,
      GDBusProxy *interface_proxy) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_OBJECT_PROXY
      Src: /src/glib/gio/gdbusobjectproxy.c:88,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusobjectproxy.c:94,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectproxy.c:93,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectproxy.c:95,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gdbusobjectproxy.c:99,1
    - Dst: g_dbus_object_proxy_get_connection
      Src: /src/glib/gio/gdbusobjectproxy.c:99,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gdbusobjectproxy.c:103,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 106
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 106
    functionName: g_dbus_object_proxy_get_property
    functionSourceFile: /src/glib/gio/gdbusobjectproxy.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_DBUS_OBJECT_PROXY
    - g_mutex_unlock
    - g_mutex_lock
    - g_value_set_string
    - g_dbus_object_proxy_get_connection
    - g_value_set_object
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_object_proxy_get_property (GObject *object, guint
      prop_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusobjectproxy.c:139,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gdbusobjectproxy.c:154,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusobjectproxy.c:152,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusobjectproxy.c:167,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gdbusobjectproxy.c:169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GDBusObjectProxyClass*
    constantsTouched: []
    func_position:
      end: 174
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 174
    functionName: g_dbus_object_proxy_class_init
    functionSourceFile: /src/glib/gio/gdbusobjectproxy.c
    functionUses: []
    functionsReached:
    - g_param_spec_string
    - g_param_spec_object
    - g_object_class_install_property
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_object_proxy_class_init (GDBusObjectProxyClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_OBJECT_PROXY
      Src: /src/glib/gio/gdbusobjectproxy.c:190,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectproxy.c:192,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectproxy.c:194,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 196
    functionName: g_dbus_object_proxy_get_object_path
    functionSourceFile: /src/glib/gio/gdbusobjectproxy.c
    functionUses: []
    functionsReached:
    - G_DBUS_OBJECT_PROXY
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *g_dbus_object_proxy_get_object_path (GDBusObject
      *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_OBJECT_PROXY
      Src: /src/glib/gio/gdbusobjectproxy.c:224,1
    - Dst: G_IS_DBUS_OBJECT_PROXY
      Src: /src/glib/gio/gdbusobjectproxy.c:227,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectproxy.c:227,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectproxy.c:228,1
    - Dst: g_dbus_is_interface_name
      Src: /src/glib/gio/gdbusobjectproxy.c:228,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectproxy.c:230,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusobjectproxy.c:231,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusobjectproxy.c:233,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectproxy.c:234,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 237
    functionName: g_dbus_object_proxy_get_interface
    functionSourceFile: /src/glib/gio/gdbusobjectproxy.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_OBJECT_PROXY
    - g_return_val_if_fail
    - G_DBUS_OBJECT_PROXY
    - g_mutex_unlock
    - g_mutex_lock
    - g_hash_table_lookup
    - g_dbus_is_interface_name
    - g_object_ref
    linkageType: ''
    returnType: GDBusInterface*
    signature: 'static GDBusInterface *g_dbus_object_proxy_get_interface (GDBusObject
      *object, const gchar *interface_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectproxy.c:325,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectproxy.c:326,1
    - Dst: g_dbus_is_interface_name
      Src: /src/glib/gio/gdbusobjectproxy.c:326,1
    - Dst: G_IS_DBUS_OBJECT_PROXY
      Src: /src/glib/gio/gdbusobjectproxy.c:325,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectproxy.c:328,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusobjectproxy.c:330,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusobjectproxy.c:333,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusobjectproxy.c:334,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusobjectproxy.c:334,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectproxy.c:335,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectproxy.c:337,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectproxy.c:341,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gdbusobjectproxy.c:336,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - proxy
    - interface_name
    argTypes:
    - GDBusObjectProxy*
    - gchar*
    constantsTouched: []
    func_position:
      end: 343
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 343
    functionName: _g_dbus_object_proxy_remove_interface
    functionSourceFile: /src/glib/gio/gdbusobjectproxy.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_OBJECT_PROXY
    - g_warn_if_fail
    - g_object_unref
    - g_mutex_unlock
    - g_mutex_lock
    - g_return_if_fail
    - g_hash_table_remove
    - g_hash_table_lookup
    - g_dbus_is_interface_name
    - g_signal_emit_by_name
    - g_object_ref
    linkageType: ''
    returnType: void
    signature: 'void _g_dbus_object_proxy_remove_interface (GDBusObjectProxy *proxy,
      const gchar *interface_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GDBusObjectIface*
    constantsTouched: []
    func_position:
      end: 351
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 351
    functionName: dbus_object_interface_init
    functionSourceFile: /src/glib/gio/gdbusobjectproxy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void dbus_object_interface_init (GDBusObjectIface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectproxy.c:275,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusobjectproxy.c:275,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusobjectproxy.c:276,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectproxy.c:276,1
    - Dst: G_DBUS_OBJECT_PROXY
      Src: /src/glib/gio/gdbusobjectproxy.c:277,1
    - Dst: g_object_new
      Src: /src/glib/gio/gdbusobjectproxy.c:277,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 281
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 281
    functionName: g_dbus_object_proxy_new
    functionSourceFile: /src/glib/gio/gdbusobjectproxy.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_DBUS_OBJECT_PROXY
    - g_object_new
    - G_IS_DBUS_CONNECTION
    - g_variant_is_object_path
    linkageType: ''
    returnType: GDBusObjectProxy*
    signature: 'GDBusObjectProxy *g_dbus_object_proxy_new (GDBusConnection *connection,
      const gchar *object_path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusnameowning.c:731,1
    - Dst: g_closure_invoke
      Src: /src/glib/gio/gdbusnameowning.c:737,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusnameowning.c:735,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusnameowning.c:734,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gdbusnameowning.c:732,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusnameowning.c:739,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusnameowning.c:740,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 741
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 741
    functionName: own_with_closures_on_bus_acquired
    functionSourceFile: /src/glib/gio/gdbusnameowning.c
    functionUses: []
    functionsReached:
    - g_value_set_string
    - g_closure_invoke
    - g_value_init
    - g_value_set_object
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void own_with_closures_on_bus_acquired (GDBusConnection *connection,
      const gchar *name, gpointer user_data) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gdbusnameowning.c:694,1
    - Dst: G_CLOSURE_NEEDS_MARSHAL
      Src: /src/glib/gio/gdbusnameowning.c:700,1
    - Dst: g_closure_sink
      Src: /src/glib/gio/gdbusnameowning.c:699,1
    - Dst: g_closure_ref
      Src: /src/glib/gio/gdbusnameowning.c:698,1
    - Dst: g_closure_set_marshal
      Src: /src/glib/gio/gdbusnameowning.c:701,1
    - Dst: g_closure_ref
      Src: /src/glib/gio/gdbusnameowning.c:706,1
    - Dst: g_closure_sink
      Src: /src/glib/gio/gdbusnameowning.c:707,1
    - Dst: G_CLOSURE_NEEDS_MARSHAL
      Src: /src/glib/gio/gdbusnameowning.c:708,1
    - Dst: g_closure_set_marshal
      Src: /src/glib/gio/gdbusnameowning.c:709,1
    - Dst: g_closure_ref
      Src: /src/glib/gio/gdbusnameowning.c:714,1
    - Dst: g_closure_set_marshal
      Src: /src/glib/gio/gdbusnameowning.c:717,1
    - Dst: G_CLOSURE_NEEDS_MARSHAL
      Src: /src/glib/gio/gdbusnameowning.c:716,1
    - Dst: g_closure_sink
      Src: /src/glib/gio/gdbusnameowning.c:715,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 721
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 721
    functionName: own_name_data_new
    functionSourceFile: /src/glib/gio/gdbusnameowning.c
    functionUses: []
    functionsReached:
    - g_closure_sink
    - g_closure_set_marshal
    - g_closure_ref
    - g_new0
    - G_CLOSURE_NEEDS_MARSHAL
    linkageType: ''
    returnType: OwnNameData*
    signature: 'static OwnNameData *own_name_data_new (GClosure *bus_acquired_closure,
      GClosure *name_acquired_closure, GClosure *name_lost_closure) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusnameowning.c:751,1
    - Dst: g_closure_invoke
      Src: /src/glib/gio/gdbusnameowning.c:757,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusnameowning.c:755,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusnameowning.c:754,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gdbusnameowning.c:752,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusnameowning.c:759,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusnameowning.c:760,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 761
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 761
    functionName: own_with_closures_on_name_acquired
    functionSourceFile: /src/glib/gio/gdbusnameowning.c
    functionUses: []
    functionsReached:
    - g_value_set_string
    - g_closure_invoke
    - g_value_init
    - g_value_set_object
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void own_with_closures_on_name_acquired (GDBusConnection *connection,
      const gchar *name, gpointer user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/gdbusnameowning.c:381,1
    - Dst: g_steal_handle_id
      Src: /src/glib/gio/gdbusnameowning.c:385,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/gdbusnameowning.c:385,1
    - Dst: g_steal_handle_id
      Src: /src/glib/gio/gdbusnameowning.c:383,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/gdbusnameowning.c:383,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusnameowning.c:386,1
    - Dst: call_lost_handler
      Src: /src/glib/gio/gdbusnameowning.c:390,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 4
    argNames:
    - connection
    - remote_peer_vanished
    - error
    - user_data
    argTypes:
    - GDBusConnection*
    - gboolean
    - GError*
    - gpointer
    constantsTouched: []
    func_position:
      end: 391
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 391
    functionName: on_connection_disconnected
    functionSourceFile: /src/glib/gio/gdbusnameowning.c
    functionUses: []
    functionsReached:
    - g_steal_handle_id
    - g_object_unref
    - g_signal_handler_disconnect
    - g_dbus_connection_signal_unsubscribe
    - call_lost_handler
    linkageType: ''
    returnType: void
    signature: 'static void on_connection_disconnected (GDBusConnection *connection,
      gboolean remote_peer_vanished, GError *error, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/gdbusnameowning.c:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: client_ref
    functionSourceFile: /src/glib/gio/gdbusnameowning.c
    functionUses: []
    functionsReached:
    - g_atomic_int_inc
    linkageType: ''
    returnType: Client*
    signature: 'static Client *client_ref (Client *client) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: actually_do_call
      Src: /src/glib/gio/gdbusnameowning.c:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - _data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 170
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 170
    functionName: call_in_idle_cb
    functionSourceFile: /src/glib/gio/gdbusnameowning.c
    functionUses: []
    functionsReached:
    - actually_do_call
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean call_in_idle_cb (gpointer _data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusnameowning.c:533,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusnameowning.c:534,1
    - Dst: g_dbus_is_unique_name
      Src: /src/glib/gio/gdbusnameowning.c:534,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbusnameowning.c:534,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusnameowning.c:533,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusnameowning.c:536,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusnameowning.c:538,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusnameowning.c:541,1
    - Dst: g_main_context_ref_thread_default
      Src: /src/glib/gio/gdbusnameowning.c:547,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusnameowning.c:549,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/gdbusnameowning.c:553,1
    - Dst: has_connection
      Src: /src/glib/gio/gdbusnameowning.c:561,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusnameowning.c:555,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusnameowning.c:556,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusnameowning.c:559,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 7
    argNames:
    - connection
    - name
    - flags
    - name_acquired_handler
    - name_lost_handler
    - user_data
    - user_data_free_func
    argTypes:
    - GDBusConnection*
    - gchar*
    - GBusNameOwnerFlags
    - GBusNameAcquiredCallback
    - GBusNameLostCallback
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 564
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 564
    functionName: g_bus_own_name_on_connection
    functionSourceFile: /src/glib/gio/gdbusnameowning.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_strdup
    - G_UNLOCK
    - G_IS_DBUS_CONNECTION
    - GUINT_TO_POINTER
    - g_dbus_is_unique_name
    - g_hash_table_insert
    - has_connection
    - g_hash_table_new
    - g_object_ref
    - g_new0
    - G_LOCK
    - g_dbus_is_name
    - g_main_context_ref_thread_default
    linkageType: ''
    returnType: guint
    signature: 'guint g_bus_own_name_on_connection (GDBusConnection *connection, const
      gchar *name, GBusNameOwnerFlags flags, GBusNameAcquiredCallback name_acquired_handler,
      GBusNameLostCallback name_lost_handler, gpointer user_data, GDestroyNotify user_data_free_func) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/gio/gdbusnameowning.c:84,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/gdbusnameowning.c:89,1
    - Dst: g_steal_handle_id
      Src: /src/glib/gio/gdbusnameowning.c:91,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/gdbusnameowning.c:91,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/gdbusnameowning.c:93,1
    - Dst: g_steal_handle_id
      Src: /src/glib/gio/gdbusnameowning.c:93,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusnameowning.c:94,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/gdbusnameowning.c:96,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusnameowning.c:97,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusnameowning.c:100,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - client
    argTypes:
    - Client*
    constantsTouched: []
    func_position:
      end: 102
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 102
    functionName: client_unref
    functionSourceFile: /src/glib/gio/gdbusnameowning.c
    functionUses: []
    functionsReached:
    - g_steal_handle_id
    - g_main_context_unref
    - g_object_unref
    - g_atomic_int_dec_and_test
    - g_signal_handler_disconnect
    - g_dbus_connection_signal_unsubscribe
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void client_unref (Client *client) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gdbusnameowning.c:178,1
    - Dst: g_source_set_priority
      Src: /src/glib/gio/gdbusnameowning.c:184,1
    - Dst: client_ref
      Src: /src/glib/gio/gdbusnameowning.c:179,1
    - Dst: g_idle_source_new
      Src: /src/glib/gio/gdbusnameowning.c:183,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusnameowning.c:180,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gdbusnameowning.c:185,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gdbusnameowning.c:189,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gdbusnameowning.c:190,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gdbusnameowning.c:191,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - client
    - call_type
    argTypes:
    - Client*
    - CallType
    constantsTouched: []
    func_position:
      end: 192
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 192
    functionName: schedule_call_in_idle
    functionSourceFile: /src/glib/gio/gdbusnameowning.c
    functionUses: []
    functionsReached:
    - g_source_set_priority
    - g_source_set_callback
    - g_idle_source_new
    - g_source_attach
    - client_ref
    - g_source_unref
    - g_object_ref
    - g_new0
    - g_source_set_static_name
    linkageType: ''
    returnType: void
    signature: 'static void schedule_call_in_idle (Client *client, CallType call_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusnameowning.c:130,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusnameowning.c:132,1
    - Dst: client_unref
      Src: /src/glib/gio/gdbusnameowning.c:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - CallHandlerData*
    constantsTouched: []
    func_position:
      end: 133
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 133
    functionName: call_handler_data_free
    functionSourceFile: /src/glib/gio/gdbusnameowning.c
    functionUses: []
    functionsReached:
    - g_free
    - g_object_unref
    - client_unref
    linkageType: ''
    returnType: void
    signature: 'static void call_handler_data_free (CallHandlerData *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_ref_thread_default
      Src: /src/glib/gio/gdbusnameowning.c:200,1
    - Dst: actually_do_call
      Src: /src/glib/gio/gdbusnameowning.c:204,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/gdbusnameowning.c:205,1
    - Dst: schedule_call_in_idle
      Src: /src/glib/gio/gdbusnameowning.c:202,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - client
    - call_type
    argTypes:
    - Client*
    - CallType
    constantsTouched: []
    func_position:
      end: 206
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 206
    functionName: do_call
    functionSourceFile: /src/glib/gio/gdbusnameowning.c
    functionUses: []
    functionsReached:
    - g_main_context_unref
    - actually_do_call
    - schedule_call_in_idle
    - g_main_context_ref_thread_default
    linkageType: ''
    returnType: void
    signature: 'static void do_call (Client *client, CallType call_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_connect
      Src: /src/glib/gio/gdbusnameowning.c:399,1
    - Dst: client_ref
      Src: /src/glib/gio/gdbusnameowning.c:424,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gdbusnameowning.c:401,1
    - Dst: g_dbus_connection_signal_subscribe
      Src: /src/glib/gio/gdbusnameowning.c:427,1
    - Dst: g_dbus_connection_signal_subscribe
      Src: /src/glib/gio/gdbusnameowning.c:416,1
    - Dst: client_ref
      Src: /src/glib/gio/gdbusnameowning.c:435,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/gdbusnameowning.c:440,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusnameowning.c:445,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusnameowning.c:448,1
    - Dst: client_ref
      Src: /src/glib/gio/gdbusnameowning.c:453,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - client
    argTypes:
    - Client*
    constantsTouched: []
    func_position:
      end: 454
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 454
    functionName: has_connection
    functionSourceFile: /src/glib/gio/gdbusnameowning.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_call
    - G_CALLBACK
    - client_ref
    - g_variant_new
    - g_dbus_connection_signal_subscribe
    - G_VARIANT_TYPE
    - g_signal_connect
    linkageType: ''
    returnType: void
    signature: 'static void has_connection (Client *client) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusnameowning.c:771,1
    - Dst: g_closure_invoke
      Src: /src/glib/gio/gdbusnameowning.c:777,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusnameowning.c:775,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusnameowning.c:774,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gdbusnameowning.c:772,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusnameowning.c:779,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusnameowning.c:780,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 781
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 781
    functionName: own_with_closures_on_name_lost
    functionSourceFile: /src/glib/gio/gdbusnameowning.c
    functionUses: []
    functionsReached:
    - g_value_set_string
    - g_closure_invoke
    - g_value_init
    - g_value_set_object
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void own_with_closures_on_name_lost (GDBusConnection *connection,
      const gchar *name, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bus_own_name_on_connection
      Src: /src/glib/gio/gdbusnameowning.c:865,1
    - Dst: own_name_data_new
      Src: /src/glib/gio/gdbusnameowning.c:870,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 5
    argNames:
    - connection
    - name
    - flags
    - name_acquired_closure
    - name_lost_closure
    argTypes:
    - GDBusConnection*
    - gchar*
    - GBusNameOwnerFlags
    - GClosure*
    - GClosure*
    constantsTouched: []
    func_position:
      end: 874
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 874
    functionName: g_bus_own_name_on_connection_with_closures
    functionSourceFile: /src/glib/gio/gdbusnameowning.c
    functionUses: []
    functionsReached:
    - g_bus_own_name_on_connection
    - own_name_data_new
    linkageType: ''
    returnType: guint
    signature: 'guint g_bus_own_name_on_connection_with_closures (GDBusConnection
      *connection, const gchar *name, GBusNameOwnerFlags flags, GClosure *name_acquired_closure,
      GClosure *name_lost_closure) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gdbusnameowning.c:159,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 3
    argNames:
    - client
    - connection
    - call_type
    argTypes:
    - Client*
    - GDBusConnection*
    - CallType
    constantsTouched: []
    func_position:
      end: 162
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 162
    functionName: actually_do_call
    functionSourceFile: /src/glib/gio/gdbusnameowning.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    linkageType: ''
    returnType: void
    signature: 'static void actually_do_call (Client *client, GDBusConnection *connection,
      CallType call_type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusnameowning.c:211,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusnameowning.c:217,1
    - Dst: do_call
      Src: /src/glib/gio/gdbusnameowning.c:218,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusnameowning.c:222,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - client
    argTypes:
    - Client*
    constantsTouched: []
    func_position:
      end: 225
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 225
    functionName: call_acquired_handler
    functionSourceFile: /src/glib/gio/gdbusnameowning.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - do_call
    - G_LOCK
    linkageType: ''
    returnType: void
    signature: 'static void call_acquired_handler (Client *client) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusnameowning.c:465,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusnameowning.c:468,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusnameowning.c:471,1
    - Dst: g_bus_get_finish
      Src: /src/glib/gio/gdbusnameowning.c:473,1
    - Dst: call_lost_handler
      Src: /src/glib/gio/gdbusnameowning.c:476,1
    - Dst: has_connection
      Src: /src/glib/gio/gdbusnameowning.c:494,1
    - Dst: client_unref
      Src: /src/glib/gio/gdbusnameowning.c:497,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 498
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 498
    functionName: connection_get_cb
    functionSourceFile: /src/glib/gio/gdbusnameowning.c
    functionUses: []
    functionsReached:
    - client_unref
    - G_UNLOCK
    - call_lost_handler
    - has_connection
    - g_bus_get_finish
    - G_LOCK
    linkageType: ''
    returnType: void
    signature: 'static void connection_get_cb (GObject *source_object, GAsyncResult
      *res, gpointer user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_closure_unref
      Src: /src/glib/gio/gdbusnameowning.c:789,1
    - Dst: g_closure_unref
      Src: /src/glib/gio/gdbusnameowning.c:795,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusnameowning.c:797,1
    - Dst: g_closure_unref
      Src: /src/glib/gio/gdbusnameowning.c:792,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 798
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 798
    functionName: bus_own_name_free_func
    functionSourceFile: /src/glib/gio/gdbusnameowning.c
    functionUses: []
    functionsReached:
    - g_closure_unref
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void bus_own_name_free_func (gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusnameowning.c:647,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbusnameowning.c:647,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusnameowning.c:651,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusnameowning.c:649,1
    - Dst: g_dbus_is_unique_name
      Src: /src/glib/gio/gdbusnameowning.c:647,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusnameowning.c:654,1
    - Dst: g_main_context_ref_thread_default
      Src: /src/glib/gio/gdbusnameowning.c:661,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/gdbusnameowning.c:665,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusnameowning.c:667,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusnameowning.c:668,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusnameowning.c:676,1
    - Dst: g_bus_get
      Src: /src/glib/gio/gdbusnameowning.c:671,1
    - Dst: client_ref
      Src: /src/glib/gio/gdbusnameowning.c:674,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 8
    argNames:
    - bus_type
    - name
    - flags
    - bus_acquired_handler
    - name_acquired_handler
    - name_lost_handler
    - user_data
    - user_data_free_func
    argTypes:
    - GBusType
    - gchar*
    - GBusNameOwnerFlags
    - GBusAcquiredCallback
    - GBusNameAcquiredCallback
    - GBusNameLostCallback
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 679
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 679
    functionName: g_bus_own_name
    functionSourceFile: /src/glib/gio/gdbusnameowning.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_strdup
    - G_UNLOCK
    - GUINT_TO_POINTER
    - g_dbus_is_unique_name
    - g_hash_table_insert
    - g_bus_get
    - client_ref
    - g_hash_table_new
    - g_new0
    - G_LOCK
    - g_dbus_is_name
    - g_main_context_ref_thread_default
    linkageType: ''
    returnType: guint
    signature: 'guint g_bus_own_name (GBusType bus_type, const gchar *name, GBusNameOwnerFlags
      flags, GBusAcquiredCallback bus_acquired_handler, GBusNameAcquiredCallback name_acquired_handler,
      GBusNameLostCallback name_lost_handler, gpointer user_data, GDestroyNotify user_data_free_func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bus_own_name
      Src: /src/glib/gio/gdbusnameowning.c:828,1
    - Dst: own_name_data_new
      Src: /src/glib/gio/gdbusnameowning.c:834,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 6
    argNames:
    - bus_type
    - name
    - flags
    - bus_acquired_closure
    - name_acquired_closure
    - name_lost_closure
    argTypes:
    - GBusType
    - gchar*
    - GBusNameOwnerFlags
    - GClosure*
    - GClosure*
    - GClosure*
    constantsTouched: []
    func_position:
      end: 838
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 838
    functionName: g_bus_own_name_with_closures
    functionSourceFile: /src/glib/gio/gdbusnameowning.c
    functionUses: []
    functionsReached:
    - own_name_data_new
    - g_bus_own_name
    linkageType: ''
    returnType: guint
    signature: 'guint g_bus_own_name_with_closures (GBusType bus_type, const gchar
      *name, GBusNameOwnerFlags flags, GClosure *bus_acquired_closure, GClosure *name_acquired_closure,
      GClosure *name_lost_closure) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusnameowning.c:260,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusnameowning.c:265,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusnameowning.c:262,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusnameowning.c:265,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusnameowning.c:261,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusnameowning.c:267,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusnameowning.c:268,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusnameowning.c:272,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusnameowning.c:274,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusnameowning.c:275,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusnameowning.c:280,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusnameowning.c:282,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusnameowning.c:283,1
    - Dst: call_lost_handler
      Src: /src/glib/gio/gdbusnameowning.c:277,1
    - Dst: call_acquired_handler
      Src: /src/glib/gio/gdbusnameowning.c:285,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 31
    argCount: 7
    argNames:
    - connection
    - sender_name
    - object_path
    - interface_name
    - signal_name
    - parameters
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 290
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 290
    functionName: on_name_lost_or_acquired
    functionSourceFile: /src/glib/gio/gdbusnameowning.c
    functionUses: []
    functionsReached:
    - g_warning
    - g_variant_is_of_type
    - call_acquired_handler
    - call_lost_handler
    - g_strcmp0
    - g_variant_get_type_string
    - g_variant_get
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: void
    signature: 'static void on_name_lost_or_acquired (GDBusConnection *connection,
      const gchar *sender_name, const gchar *object_path, const gchar *interface_name,
      const gchar *signal_name, GVariant *parameters, gpointer user_data) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/gdbusnameowning.c:308,1
    - Dst: call_acquired_handler
      Src: /src/glib/gio/gdbusnameowning.c:323,1
    - Dst: G_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusnameowning.c:308,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusnameowning.c:313,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusnameowning.c:314,1
    - Dst: call_lost_handler
      Src: /src/glib/gio/gdbusnameowning.c:328,1
    - Dst: call_lost_handler
      Src: /src/glib/gio/gdbusnameowning.c:336,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusnameowning.c:351,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusnameowning.c:353,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusnameowning.c:354,1
    - Dst: g_steal_handle_id
      Src: /src/glib/gio/gdbusnameowning.c:359,1
    - Dst: g_steal_handle_id
      Src: /src/glib/gio/gdbusnameowning.c:361,1
    - Dst: client_unref
      Src: /src/glib/gio/gdbusnameowning.c:367,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusnameowning.c:363,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/gdbusnameowning.c:359,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/gdbusnameowning.c:361,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 33
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 368
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 368
    functionName: request_name_cb
    functionSourceFile: /src/glib/gio/gdbusnameowning.c
    functionUses: []
    functionsReached:
    - g_steal_handle_id
    - G_DBUS_CONNECTION
    - call_acquired_handler
    - g_object_unref
    - client_unref
    - G_UNLOCK
    - g_dbus_connection_signal_unsubscribe
    - g_dbus_connection_call_finish
    - g_variant_unref
    - call_lost_handler
    - g_variant_get
    - g_object_ref
    - G_LOCK
    linkageType: ''
    returnType: void
    signature: 'static void request_name_cb (GObject *source_object, GAsyncResult
      *res, gpointer user_data) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusnameowning.c:900,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusnameowning.c:909,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusnameowning.c:909,1
    - Dst: g_dbus_connection_call_sync
      Src: /src/glib/gio/gdbusnameowning.c:933,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusnameowning.c:946,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/gdbusnameowning.c:967,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusnameowning.c:939,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/gdbusnameowning.c:965,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusnameowning.c:973,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusnameowning.c:904,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusnameowning.c:902,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusnameowning.c:909,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusnameowning.c:912,1
    - Dst: g_dbus_connection_is_closed
      Src: /src/glib/gio/gdbusnameowning.c:920,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusnameowning.c:954,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusnameowning.c:951,1
    - Dst: g_steal_handle_id
      Src: /src/glib/gio/gdbusnameowning.c:969,1
    - Dst: client_unref
      Src: /src/glib/gio/gdbusnameowning.c:977,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusnameowning.c:896,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusnameowning.c:902,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusnameowning.c:938,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusnameowning.c:960,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusnameowning.c:947,1
    - Dst: g_steal_handle_id
      Src: /src/glib/gio/gdbusnameowning.c:967,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/gdbusnameowning.c:969,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 59
    argCount: 1
    argNames:
    - owner_id
    argTypes:
    - guint
    constantsTouched: []
    func_position:
      end: 979
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 979
    functionName: g_bus_unown_name
    functionSourceFile: /src/glib/gio/gdbusnameowning.c
    functionUses: []
    functionsReached:
    - G_LOCK
    - g_warning
    - g_object_unref
    - G_UNLOCK
    - g_hash_table_lookup
    - g_variant_unref
    - g_error_free
    - g_variant_get
    - g_steal_handle_id
    - g_warn_if_fail
    - g_hash_table_remove
    - g_dbus_connection_signal_unsubscribe
    - g_dbus_connection_call_sync
    - G_VARIANT_TYPE
    - g_signal_handler_disconnect
    - g_return_if_fail
    - client_unref
    - GUINT_TO_POINTER
    - g_dbus_connection_is_closed
    - g_variant_new
    linkageType: ''
    returnType: void
    signature: 'void g_bus_unown_name (guint owner_id) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusnameowning.c:230,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusnameowning.c:241,1
    - Dst: do_call
      Src: /src/glib/gio/gdbusnameowning.c:237,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusnameowning.c:236,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - client
    argTypes:
    - Client*
    constantsTouched: []
    func_position:
      end: 244
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 244
    functionName: call_lost_handler
    functionSourceFile: /src/glib/gio/gdbusnameowning.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - do_call
    - G_LOCK
    linkageType: ''
    returnType: void
    signature: 'static void call_lost_handler (Client *client) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_action_group_change_action_state
      Src: /src/glib/gio/gapplication.c:351,1
    - Dst: G_APPLICATION_GET_CLASS
      Src: /src/glib/gio/gapplication.c:348,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/gapplication.c:351,1
    - Dst: G_APPLICATION_GET_CLASS
      Src: /src/glib/gio/gapplication.c:353,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - remote
    - action_name
    - value
    - platform_data
    argTypes:
    - GRemoteActionGroup*
    - gchar*
    - GVariant*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 355
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 355
    functionName: g_application_exported_actions_change_action_state_full
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_action_group_change_action_state
    - G_APPLICATION_GET_CLASS
    - G_ACTION_GROUP
    linkageType: ''
    returnType: void
    signature: 'static void g_application_exported_actions_change_action_state_full
      (GRemoteActionGroup *remote, const gchar *action_name, GVariant *value, GVariant
      *platform_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:3216,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:3217,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:3216,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gio/gapplication.c:3217,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:3218,1
    - Dst: g_signal_lookup
      Src: /src/glib/gio/gapplication.c:3220,1
    - Dst: g_quark_from_string
      Src: /src/glib/gio/gapplication.c:3221,1
    - Dst: g_object_class_find_property
      Src: /src/glib/gio/gapplication.c:3222,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gio/gapplication.c:3222,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:3224,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gapplication.c:3237,1
    - Dst: g_signal_connect_closure_by_id
      Src: /src/glib/gio/gapplication.c:3239,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gapplication.c:3234,1
    - Dst: g_application_notify_busy_binding
      Src: /src/glib/gio/gapplication.c:3242,1
    - Dst: g_signal_handler_find
      Src: /src/glib/gio/gapplication.c:3226,1
    - Dst: g_cclosure_new
      Src: /src/glib/gio/gapplication.c:3237,1
    - Dst: g_critical
      Src: /src/glib/gio/gapplication.c:3229,1
    - Dst: g_slice_new
      Src: /src/glib/gio/gapplication.c:3233,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 3
    argNames:
    - application
    - object
    - property
    argTypes:
    - GApplication*
    - gpointer
    - gchar*
    constantsTouched: []
    func_position:
      end: 3243
      start: 3205
    functionDepth: 0
    functionLinenumber: 3205
    functionLinenumberEnd: 3243
    functionName: g_application_bind_busy_property
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_object_class_find_property
    - g_cclosure_new
    - g_quark_from_string
    - g_return_if_fail
    - G_IS_OBJECT
    - G_CALLBACK
    - g_signal_lookup
    - g_critical
    - g_signal_handler_find
    - G_OBJECT_GET_CLASS
    - g_slice_new
    - G_IS_APPLICATION
    - g_object_ref
    - g_signal_connect_closure_by_id
    - g_application_notify_busy_binding
    linkageType: ''
    returnType: void
    signature: 'void g_application_bind_busy_property (GApplication *application,
      gpointer object, const gchar *property) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - actions
    argTypes:
    - GApplicationExportedActions*
    constantsTouched: []
    func_position:
      end: 360
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 360
    functionName: g_application_exported_actions_init
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_application_exported_actions_init (GApplicationExportedActions
      *actions) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_object_get
      Src: /src/glib/gio/gapplication.c:3180,1
    - Dst: g_application_mark_busy
      Src: /src/glib/gio/gapplication.c:3183,1
    - Dst: g_application_unmark_busy
      Src: /src/glib/gio/gapplication.c:3185,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - object
    - pspec
    - user_data
    argTypes:
    - GObject*
    - GParamSpec*
    - gpointer
    constantsTouched: []
    func_position:
      end: 3188
      start: 3172
    functionDepth: 0
    functionLinenumber: 3172
    functionLinenumberEnd: 3188
    functionName: g_application_notify_busy_binding
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_object_get
    - g_application_unmark_busy
    - g_application_mark_busy
    linkageType: ''
    returnType: void
    signature: 'static void g_application_notify_busy_binding (GObject *object, GParamSpec
      *pspec, gpointer user_data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gapplication.c:396,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gapplication.c:412,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gapplication.c:401,1
    - Dst: g_free
      Src: /src/glib/gio/gapplication.c:410,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 413
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 413
    functionName: free_option_entry
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_strfreev
    - g_slice_free
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void free_option_entry (gpointer data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:742,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:743,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:742,1
    - Dst: g_option_group_set_translation_domain
      Src: /src/glib/gio/gapplication.c:748,1
    - Dst: g_option_group_new
      Src: /src/glib/gio/gapplication.c:747,1
    - Dst: add_packed_option
      Src: /src/glib/gio/gapplication.c:761,1
    - Dst: g_option_group_add_entries
      Src: /src/glib/gio/gapplication.c:763,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - application
    - entries
    argTypes:
    - GApplication*
    - GOptionEntry*
    constantsTouched: []
    func_position:
      end: 765
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 765
    functionName: g_application_add_main_option_entries
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - add_packed_option
    - g_option_group_new
    - g_option_group_add_entries
    - G_IS_APPLICATION
    - g_option_group_set_translation_domain
    linkageType: ''
    returnType: void
    signature: 'void g_application_add_main_option_entries (GApplication *application,
      const GOptionEntry *entries) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - application
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 962
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 962
    functionName: g_application_real_shutdown
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_application_real_shutdown (GApplication *application) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_has_handler_pending
      Src: /src/glib/gio/gapplication.c:990,1
    - Dst: g_warning
      Src: /src/glib/gio/gapplication.c:1000,1
    - Dst: G_APPLICATION_GET_CLASS
      Src: /src/glib/gio/gapplication.c:993,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 4
    argNames:
    - application
    - files
    - n_files
    - hint
    argTypes:
    - GApplication*
    - GFile**
    - gint
    - gchar*
    constantsTouched: []
    func_position:
      end: 1005
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 1005
    functionName: g_application_real_open
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_signal_has_handler_pending
    - g_warning
    - G_APPLICATION_GET_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_application_real_open (GApplication *application, GFile
      **files, gint n_files, const gchar *hint) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_APPLICATION
      Src: /src/glib/gio/gapplication.c:2847,1
    - Dst: G_ACTION_MAP
      Src: /src/glib/gio/gapplication.c:2851,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gapplication.c:2849,1
    - Dst: G_IS_ACTION_MAP
      Src: /src/glib/gio/gapplication.c:2849,1
    - Dst: g_action_map_lookup_action
      Src: /src/glib/gio/gapplication.c:2851,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2852
      start: 2843
    functionDepth: 0
    functionLinenumber: 2843
    functionLinenumberEnd: 2852
    functionName: g_application_lookup_action
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_APPLICATION
    - g_action_map_lookup_action
    - G_IS_ACTION_MAP
    - G_ACTION_MAP
    linkageType: ''
    returnType: GAction*
    signature: 'static GAction *g_application_lookup_action (GActionMap *action_map,
      const gchar *action_name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_has_handler_pending
      Src: /src/glib/gio/gapplication.c:967,1
    - Dst: g_warning
      Src: /src/glib/gio/gapplication.c:977,1
    - Dst: G_APPLICATION_GET_CLASS
      Src: /src/glib/gio/gapplication.c:970,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - application
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 982
      start: 964
    functionDepth: 0
    functionLinenumber: 964
    functionLinenumberEnd: 982
    functionName: g_application_real_activate
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_signal_has_handler_pending
    - g_warning
    - G_APPLICATION_GET_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_application_real_activate (GApplication *application) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_has_handler_pending
      Src: /src/glib/gio/gapplication.c:1011,1
    - Dst: g_warning
      Src: /src/glib/gio/gapplication.c:1021,1
    - Dst: G_APPLICATION_GET_CLASS
      Src: /src/glib/gio/gapplication.c:1014,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - application
    - cmdline
    argTypes:
    - GApplication*
    - GApplicationCommandLine*
    constantsTouched: []
    func_position:
      end: 1029
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1029
    functionName: g_application_real_command_line
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_signal_has_handler_pending
    - g_warning
    - G_APPLICATION_GET_CLASS
    linkageType: ''
    returnType: int
    signature: 'static int g_application_real_command_line (GApplication *application,
      GApplicationCommandLine *cmdline) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_APPLICATION
      Src: /src/glib/gio/gapplication.c:2858,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:2860,1
    - Dst: G_ACTION_MAP
      Src: /src/glib/gio/gapplication.c:2862,1
    - Dst: g_action_map_add_action
      Src: /src/glib/gio/gapplication.c:2862,1
    - Dst: G_IS_ACTION_MAP
      Src: /src/glib/gio/gapplication.c:2860,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - action_map
    - action
    argTypes:
    - GActionMap*
    - GAction*
    constantsTouched: []
    func_position:
      end: 2863
      start: 2854
    functionDepth: 0
    functionLinenumber: 2854
    functionLinenumberEnd: 2863
    functionName: g_application_add_action
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - G_APPLICATION
    - G_IS_ACTION_MAP
    - G_ACTION_MAP
    - g_action_map_add_action
    linkageType: ''
    returnType: void
    signature: 'static void g_application_add_action (GActionMap *action_map, GAction
      *action) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gapplication.c:379,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/gapplication.c:382,1
    - Dst: g_application_exported_actions_get_type
      Src: /src/glib/gio/gapplication.c:379,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 383
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 383
    functionName: g_application_exported_actions_new
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - G_ACTION_GROUP
    - g_object_new
    - g_application_exported_actions_get_type
    linkageType: ''
    returnType: GActionGroup*
    signature: 'static GActionGroup *g_application_exported_actions_new (GApplication
      *application) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/gio/gapplication.c:636,1
    - Dst: g_new0
      Src: /src/glib/gio/gapplication.c:641,1
    - Dst: g_new0
      Src: /src/glib/gio/gapplication.c:652,1
    - Dst: g_new0
      Src: /src/glib/gio/gapplication.c:656,1
    - Dst: g_new0
      Src: /src/glib/gio/gapplication.c:648,1
    - Dst: g_return_if_reached
      Src: /src/glib/gio/gapplication.c:660,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gapplication.c:664,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gapplication.c:666,1
    - Dst: g_strdup
      Src: /src/glib/gio/gapplication.c:667,1
    - Dst: g_slice_dup
      Src: /src/glib/gio/gapplication.c:668,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 20
    argCount: 2
    argNames:
    - application
    - entry
    argTypes:
    - GApplication*
    - GOptionEntry*
    constantsTouched: []
    func_position:
      end: 669
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 669
    functionName: add_packed_option
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_return_if_reached
    - g_strdup
    - g_new
    - g_hash_table_insert
    - g_hash_table_new_full
    - g_slice_dup
    - g_new0
    linkageType: ''
    returnType: void
    signature: 'static void add_packed_option (GApplication *application, GOptionEntry
      *entry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:909,1
    - Dst: g_strdup
      Src: /src/glib/gio/gapplication.c:912,1
    - Dst: g_free
      Src: /src/glib/gio/gapplication.c:911,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:909,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - application
    - summary
    argTypes:
    - GApplication*
    - gchar*
    constantsTouched: []
    func_position:
      end: 913
      start: 905
    functionDepth: 0
    functionLinenumber: 905
    functionLinenumberEnd: 913
    functionName: g_application_set_option_context_summary
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - G_IS_APPLICATION
    - g_strdup
    - g_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_application_set_option_context_summary (GApplication *application,
      const gchar *summary) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gapplication.c:2135,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:2135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - application
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 2138
      start: 2132
    functionDepth: 0
    functionLinenumber: 2132
    functionLinenumberEnd: 2138
    functionName: g_application_get_inactivity_timeout
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - G_IS_APPLICATION
    - g_return_val_if_fail
    linkageType: ''
    returnType: guint
    signature: 'guint g_application_get_inactivity_timeout (GApplication *application) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:887,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:887,1
    - Dst: g_free
      Src: /src/glib/gio/gapplication.c:889,1
    - Dst: g_strdup
      Src: /src/glib/gio/gapplication.c:890,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - application
    - parameter_string
    argTypes:
    - GApplication*
    - gchar*
    constantsTouched: []
    func_position:
      end: 891
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 891
    functionName: g_application_set_option_context_parameter_string
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - G_IS_APPLICATION
    - g_strdup
    - g_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_application_set_option_context_parameter_string (GApplication
      *application, const gchar *parameter_string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - application
    - options
    argTypes:
    - GApplication*
    - GVariantDict*
    constantsTouched: []
    func_position:
      end: 1036
      start: 1031
    functionDepth: 0
    functionLinenumber: 1031
    functionLinenumberEnd: 1036
    functionName: g_application_real_handle_local_options
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint
    signature: 'static gint g_application_real_handle_local_options (GApplication
      *application, GVariantDict *options) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: G_APPLICATION
      Src: /src/glib/gio/gapplication.c:1336,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gapplication.c:1346,1
    - Dst: g_application_get_application_id
      Src: /src/glib/gio/gapplication.c:1342,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gapplication.c:1341,1
    - Dst: g_application_get_version
      Src: /src/glib/gio/gapplication.c:1347,1
    - Dst: g_value_set_flags
      Src: /src/glib/gio/gapplication.c:1351,1
    - Dst: g_application_get_flags
      Src: /src/glib/gio/gapplication.c:1352,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gapplication.c:1356,1
    - Dst: g_application_get_resource_base_path
      Src: /src/glib/gio/gapplication.c:1356,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gapplication.c:1360,1
    - Dst: g_application_get_is_registered
      Src: /src/glib/gio/gapplication.c:1361,1
    - Dst: g_value_set_uint
      Src: /src/glib/gio/gapplication.c:1370,1
    - Dst: g_application_get_is_busy
      Src: /src/glib/gio/gapplication.c:1375,1
    - Dst: g_application_get_is_remote
      Src: /src/glib/gio/gapplication.c:1366,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gapplication.c:1379,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gapplication.c:1375,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gapplication.c:1365,1
    - Dst: g_application_get_inactivity_timeout
      Src: /src/glib/gio/gapplication.c:1371,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 20
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1381
      start: 1330
    functionDepth: 0
    functionLinenumber: 1330
    functionLinenumberEnd: 1381
    functionName: g_application_get_property
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_application_get_inactivity_timeout
    - g_value_set_uint
    - g_application_get_flags
    - G_APPLICATION
    - g_value_set_string
    - g_value_set_boolean
    - g_value_set_flags
    - g_application_get_is_busy
    - g_assert_not_reached
    - g_application_get_is_registered
    - g_application_get_application_id
    - g_application_get_resource_base_path
    - g_application_get_is_remote
    - g_application_get_version
    linkageType: ''
    returnType: void
    signature: 'static void g_application_get_property (GObject *object, guint prop_id,
      GValue *value, GParamSpec *pspec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:2106,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gapplication.c:2109,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gapplication.c:2107,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:2106,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:2107,1
    - Dst: g_free
      Src: /src/glib/gio/gapplication.c:2111,1
    - Dst: g_strdup
      Src: /src/glib/gio/gapplication.c:2113,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gapplication.c:2115,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gapplication.c:2115,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - application
    - resource_path
    argTypes:
    - GApplication*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2117
      start: 2102
    functionDepth: 0
    functionLinenumber: 2102
    functionLinenumberEnd: 2117
    functionName: g_application_set_resource_base_path
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_return_if_fail
    - g_object_notify
    - G_OBJECT
    - g_str_has_prefix
    - g_strcmp0
    - G_IS_APPLICATION
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_application_set_resource_base_path (GApplication *application,
      const gchar *resource_path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_application_get_instance_private
      Src: /src/glib/gio/gapplication.c:1473,1
    - Dst: g_application_exported_actions_new
      Src: /src/glib/gio/gapplication.c:1475,1
    - Dst: g_signal_connect_swapped
      Src: /src/glib/gio/gapplication.c:1482,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gapplication.c:1481,1
    - Dst: g_signal_connect_swapped
      Src: /src/glib/gio/gapplication.c:1480,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gapplication.c:1483,1
    - Dst: g_signal_connect_swapped
      Src: /src/glib/gio/gapplication.c:1484,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gapplication.c:1485,1
    - Dst: g_signal_connect_swapped
      Src: /src/glib/gio/gapplication.c:1486,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gapplication.c:1487,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - application
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 1488
      start: 1470
    functionDepth: 0
    functionLinenumber: 1470
    functionLinenumberEnd: 1488
    functionName: g_application_init
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_application_exported_actions_new
    - g_application_get_instance_private
    - g_signal_connect_swapped
    - G_CALLBACK
    linkageType: ''
    returnType: void
    signature: 'static void g_application_init (GApplication *application) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_builder_new
      Src: /src/glib/gio/gapplication.c:1045,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gapplication.c:1049,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gapplication.c:1045,1
    - Dst: g_get_current_dir
      Src: /src/glib/gio/gapplication.c:1048,1
    - Dst: g_variant_new_bytestring
      Src: /src/glib/gio/gapplication.c:1050,1
    - Dst: g_free
      Src: /src/glib/gio/gapplication.c:1051,1
    - Dst: g_get_environ
      Src: /src/glib/gio/gapplication.c:1059,1
    - Dst: g_variant_new_bytestring_array
      Src: /src/glib/gio/gapplication.c:1060,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gapplication.c:1061,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gapplication.c:1063,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gapplication.c:1067,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gapplication.c:1072,1
    - Dst: G_APPLICATION_GET_CLASS
      Src: /src/glib/gio/gapplication.c:1069,1
    - Dst: g_variant_builder_unref
      Src: /src/glib/gio/gapplication.c:1073,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1038
    functionDepth: 0
    functionLinenumber: 1038
    functionLinenumberEnd: 1076
    functionName: get_platform_data
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_variant_new_bytestring_array
    - g_free
    - g_variant_builder_new
    - g_variant_builder_unref
    - g_strfreev
    - g_variant_new_bytestring
    - g_variant_builder_end
    - g_get_current_dir
    - g_get_environ
    - g_variant_builder_add
    - G_APPLICATION_GET_CLASS
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *get_platform_data (GApplication *application, GVariant
      *options) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_APPLICATION
      Src: /src/glib/gio/gapplication.c:1386,1
    - Dst: g_application_get_default
      Src: /src/glib/gio/gapplication.c:1388,1
    - Dst: g_application_set_default
      Src: /src/glib/gio/gapplication.c:1389,1
    - Dst: g_assert
      Src: /src/glib/gio/gapplication.c:1392,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gapplication.c:1398,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 1404
      start: 1383
    functionDepth: 0
    functionLinenumber: 1383
    functionLinenumberEnd: 1404
    functionName: g_application_constructed
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_strconcat
    - G_APPLICATION
    - g_assert
    - g_application_set_default
    - g_application_get_default
    linkageType: ''
    returnType: void
    signature: 'static void g_application_constructed (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_get_int
      Src: /src/glib/gio/gapplication.c:1498,1
    - Dst: g_value_set_int
      Src: /src/glib/gio/gapplication.c:1499,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - ihint
    - return_accu
    - handler_return
    - dummy
    argTypes:
    - GSignalInvocationHint*
    - GValue*
    - GValue*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1502
      start: 1490
    functionDepth: 0
    functionLinenumber: 1490
    functionLinenumberEnd: 1502
    functionName: g_application_handle_local_options_accumulator
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_value_set_int
    - g_value_get_int
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_application_handle_local_options_accumulator (GSignalInvocationHint
      *ihint, GValue *return_accu, const GValue *handler_return, gpointer dummy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gapplication.c:2056,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:2056,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2059
      start: 2053
    functionDepth: 0
    functionLinenumber: 2053
    functionLinenumberEnd: 2059
    functionName: g_application_get_resource_base_path
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - G_IS_APPLICATION
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_application_get_resource_base_path (GApplication *application) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_action_group_activate_action
      Src: /src/glib/gio/gapplication.c:334,1
    - Dst: G_APPLICATION_GET_CLASS
      Src: /src/glib/gio/gapplication.c:331,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/gapplication.c:334,1
    - Dst: G_APPLICATION_GET_CLASS
      Src: /src/glib/gio/gapplication.c:336,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - remote
    - action_name
    - parameter
    - platform_data
    argTypes:
    - GRemoteActionGroup*
    - gchar*
    - GVariant*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 338
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 338
    functionName: g_application_exported_actions_activate_action_full
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - G_ACTION_GROUP
    - G_APPLICATION_GET_CLASS
    - g_action_group_activate_action
    linkageType: ''
    returnType: void
    signature: 'static void g_application_exported_actions_activate_action_full (GRemoteActionGroup
      *remote, const gchar *action_name, GVariant *parameter, GVariant *platform_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:2029,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:2029,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:2033,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gapplication.c:2037,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gapplication.c:2037,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - application
    - flags
    argTypes:
    - GApplication*
    - GApplicationFlags
    constantsTouched: []
    func_position:
      end: 2039
      start: 2025
    functionDepth: 0
    functionLinenumber: 2025
    functionLinenumberEnd: 2039
    functionName: g_application_set_flags
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_object_notify
    - G_IS_APPLICATION
    - G_OBJECT
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_application_set_flags (GApplication *application, GApplicationFlags
      flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gapplication.c:3045,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:3045,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - application
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 3048
      start: 3042
    functionDepth: 0
    functionLinenumber: 3042
    functionLinenumberEnd: 3048
    functionName: g_application_get_is_busy
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - G_IS_APPLICATION
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_application_get_is_busy (GApplication *application) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - application
    - connection
    - object_path
    argTypes:
    - GApplication*
    - GDBusConnection*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1246
      start: 1241
    functionDepth: 0
    functionLinenumber: 1241
    functionLinenumberEnd: 1246
    functionName: g_application_real_dbus_unregister
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_application_real_dbus_unregister (GApplication *application,
      GDBusConnection *connection, const gchar *object_path) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: G_APPLICATION
      Src: /src/glib/gio/gapplication.c:1262,1
    - Dst: g_application_set_version
      Src: /src/glib/gio/gapplication.c:1272,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gapplication.c:1268,1
    - Dst: g_application_set_application_id
      Src: /src/glib/gio/gapplication.c:1267,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gapplication.c:1272,1
    - Dst: g_application_set_flags
      Src: /src/glib/gio/gapplication.c:1276,1
    - Dst: g_value_get_flags
      Src: /src/glib/gio/gapplication.c:1276,1
    - Dst: g_application_set_resource_base_path
      Src: /src/glib/gio/gapplication.c:1280,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gapplication.c:1280,1
    - Dst: g_application_set_inactivity_timeout
      Src: /src/glib/gio/gapplication.c:1284,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gapplication.c:1294,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/gapplication.c:1290,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gapplication.c:1289,1
    - Dst: g_value_get_uint
      Src: /src/glib/gio/gapplication.c:1285,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1296
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1296
    functionName: g_application_set_property
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_application_set_application_id
    - G_APPLICATION
    - g_value_get_string
    - g_application_set_resource_base_path
    - g_assert_not_reached
    - g_application_set_version
    - g_value_get_uint
    - g_application_set_inactivity_timeout
    - g_clear_object
    - g_application_set_flags
    - g_value_dup_object
    - g_value_get_flags
    linkageType: ''
    returnType: void
    signature: 'static void g_application_set_property (GObject *object, guint prop_id,
      const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gapplication.c:2006,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:2006,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - application
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 2009
      start: 2003
    functionDepth: 0
    functionLinenumber: 2003
    functionLinenumberEnd: 2009
    functionName: g_application_get_flags
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - G_IS_APPLICATION
    - g_return_val_if_fail
    linkageType: ''
    returnType: GApplicationFlags
    signature: 'GApplicationFlags g_application_get_flags (GApplication *application) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_application_quit
      Src: /src/glib/gio/gapplication.c:1251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - application
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 1253
      start: 1248
    functionDepth: 0
    functionLinenumber: 1248
    functionLinenumberEnd: 1253
    functionName: g_application_real_name_lost
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_application_quit
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_application_real_name_lost (GApplication *application) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:862,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:862,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:863,1
    - Dst: g_slist_prepend
      Src: /src/glib/gio/gapplication.c:865,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - application
    - group
    argTypes:
    - GApplication*
    - GOptionGroup*
    constantsTouched: []
    func_position:
      end: 866
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 866
    functionName: g_application_add_option_group
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - G_IS_APPLICATION
    - g_slist_prepend
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_application_add_option_group (GApplication *application, GOptionGroup
      *group) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:1982,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:1983,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:1984,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:1982,1
    - Dst: g_set_str
      Src: /src/glib/gio/gapplication.c:1986,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gapplication.c:1987,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gapplication.c:1987,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - application
    - version
    argTypes:
    - GApplication*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1988
      start: 1978
    functionDepth: 0
    functionLinenumber: 1978
    functionLinenumberEnd: 1988
    functionName: g_application_set_version
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - g_object_notify
    - G_OBJECT
    - g_set_str
    - G_IS_APPLICATION
    linkageType: ''
    returnType: void
    signature: 'void g_application_set_version (GApplication *application, const gchar
      *version) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gapplication.c:422,1
    - Dst: g_variant_new_int32
      Src: /src/glib/gio/gapplication.c:442,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gapplication.c:423,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gapplication.c:437,1
    - Dst: g_variant_new_boolean
      Src: /src/glib/gio/gapplication.c:432,1
    - Dst: g_variant_new_bytestring
      Src: /src/glib/gio/gapplication.c:447,1
    - Dst: g_variant_new_strv
      Src: /src/glib/gio/gapplication.c:452,1
    - Dst: g_variant_new_bytestring_array
      Src: /src/glib/gio/gapplication.c:457,1
    - Dst: g_variant_new_double
      Src: /src/glib/gio/gapplication.c:462,1
    - Dst: g_variant_new_int64
      Src: /src/glib/gio/gapplication.c:467,1
    - Dst: g_variant_dict_insert_value
      Src: /src/glib/gio/gapplication.c:475,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gapplication.c:471,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 25
    argCount: 2
    argNames:
    - application
    - dict
    argTypes:
    - GApplication*
    - GVariantDict*
    constantsTouched: []
    func_position:
      end: 477
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 477
    functionName: g_application_pack_option_entries
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_hash_table_iter_init
    - g_variant_new_boolean
    - g_variant_new_strv
    - g_variant_new_bytestring_array
    - g_assert_not_reached
    - g_variant_new_string
    - g_variant_new_int32
    - g_variant_new_double
    - g_variant_new_int64
    - g_variant_new_bytestring
    - g_variant_dict_insert_value
    - g_hash_table_iter_next
    linkageType: ''
    returnType: void
    signature: 'static void g_application_pack_option_entries (GApplication *application,
      GVariantDict *dict) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:809,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:810,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:809,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:811,1
    - Dst: g_strdup
      Src: /src/glib/gio/gapplication.c:813,1
    - Dst: g_slist_prepend
      Src: /src/glib/gio/gapplication.c:814,1
    - Dst: g_strdup
      Src: /src/glib/gio/gapplication.c:816,1
    - Dst: g_slist_prepend
      Src: /src/glib/gio/gapplication.c:817,1
    - Dst: g_strdup
      Src: /src/glib/gio/gapplication.c:819,1
    - Dst: g_slist_prepend
      Src: /src/glib/gio/gapplication.c:820,1
    - Dst: g_application_add_main_option_entries
      Src: /src/glib/gio/gapplication.c:822,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 7
    argNames:
    - application
    - long_name
    - short_name
    - flags
    - arg
    - description
    - arg_description
    argTypes:
    - GApplication*
    - char*
    - char
    - GOptionFlags
    - GOptionArg
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 823
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 823
    functionName: g_application_add_main_option
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_return_if_fail
    - g_application_add_main_option_entries
    - G_IS_APPLICATION
    - g_slist_prepend
    linkageType: ''
    returnType: void
    signature: 'void g_application_add_main_option (GApplication *application, const
      char *long_name, char short_name, GOptionFlags flags, GOptionArg arg, const
      char *description, const char *arg_description) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gapplication.c:499,1
    - Dst: g_option_context_new
      Src: /src/glib/gio/gapplication.c:501,1
    - Dst: _
      Src: /src/glib/gio/gapplication.c:506,1
    - Dst: N_
      Src: /src/glib/gio/gapplication.c:551,1
    - Dst: g_option_group_add_entries
      Src: /src/glib/gio/gapplication.c:555,1
    - Dst: N_
      Src: /src/glib/gio/gapplication.c:563,1
    - Dst: g_option_group_add_entries
      Src: /src/glib/gio/gapplication.c:567,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gapplication.c:615,1
    - Dst: g_free
      Src: /src/glib/gio/gapplication.c:624,1
    - Dst: g_option_context_set_description
      Src: /src/glib/gio/gapplication.c:503,1
    - Dst: g_option_context_set_ignore_unknown_options
      Src: /src/glib/gio/gapplication.c:521,1
    - Dst: g_option_context_set_help_enabled
      Src: /src/glib/gio/gapplication.c:522,1
    - Dst: g_slist_delete_link
      Src: /src/glib/gio/gapplication.c:539,1
    - Dst: g_option_group_add_entries
      Src: /src/glib/gio/gapplication.c:590,1
    - Dst: g_option_context_parse_strv
      Src: /src/glib/gio/gapplication.c:594,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gapplication.c:623,1
    - Dst: g_option_group_new
      Src: /src/glib/gio/gapplication.c:505,1
    - Dst: g_option_context_set_summary
      Src: /src/glib/gio/gapplication.c:502,1
    - Dst: _
      Src: /src/glib/gio/gapplication.c:506,1
    - Dst: g_option_group_set_translation_domain
      Src: /src/glib/gio/gapplication.c:508,1
    - Dst: N_
      Src: /src/glib/gio/gapplication.c:574,1
    - Dst: g_option_group_add_entries
      Src: /src/glib/gio/gapplication.c:578,1
    - Dst: g_application_pack_option_entries
      Src: /src/glib/gio/gapplication.c:614,1
    - Dst: g_option_context_add_group
      Src: /src/glib/gio/gapplication.c:509,1
    - Dst: g_option_context_add_group
      Src: /src/glib/gio/gapplication.c:538,1
    - Dst: g_option_context_set_main_group
      Src: /src/glib/gio/gapplication.c:529,1
    - Dst: N_
      Src: /src/glib/gio/gapplication.c:586,1
    - Dst: g_application_set_application_id
      Src: /src/glib/gio/gapplication.c:605,1
    - Dst: g_variant_dict_new
      Src: /src/glib/gio/gapplication.c:611,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 627
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 627
    functionName: g_application_parse_command_line
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_option_context_free
    - g_variant_dict_new
    - g_option_group_new
    - g_application_set_application_id
    - g_option_group_add_entries
    - g_option_context_add_group
    - g_option_context_new
    - g_hash_table_unref
    - g_option_context_parse_strv
    - g_application_pack_option_entries
    - g_option_context_set_help_enabled
    - _
    - N_
    - g_option_context_set_description
    - g_return_val_if_fail
    - g_option_context_set_main_group
    - g_option_context_set_ignore_unknown_options
    - g_slist_delete_link
    - g_option_context_set_summary
    - g_free
    - g_option_group_set_translation_domain
    linkageType: ''
    returnType: GVariantDict*
    signature: 'static GVariantDict *g_application_parse_command_line (GApplication
      *application, gchar ***arguments, gboolean *print_version, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GRemoteActionGroupInterface*
    constantsTouched: []
    func_position:
      end: 367
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 367
    functionName: g_application_exported_actions_iface_init
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_application_exported_actions_iface_init (GRemoteActionGroupInterface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - application
    - platform_data
    argTypes:
    - GApplication*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 950
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 950
    functionName: g_application_real_after_emit
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_application_real_after_emit (GApplication *application,
      GVariant *platform_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_APPLICATION
      Src: /src/glib/gio/gapplication.c:1409,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gapplication.c:1425,1
    - Dst: g_warning
      Src: /src/glib/gio/gapplication.c:1418,1
    - Dst: G_APPLICATION_GET_CLASS
      Src: /src/glib/gio/gapplication.c:1412,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 1426
      start: 1406
    functionDepth: 0
    functionLinenumber: 1406
    functionLinenumberEnd: 1426
    functionName: g_application_dispose
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    - g_warning
    - G_APPLICATION_GET_CLASS
    - G_APPLICATION
    linkageType: ''
    returnType: void
    signature: 'static void g_application_dispose (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gapplication.c:1960,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:1960,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1963
      start: 1957
    functionDepth: 0
    functionLinenumber: 1957
    functionLinenumberEnd: 1963
    functionName: g_application_get_version
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - G_IS_APPLICATION
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_application_get_version (GApplication *application) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - class
    argTypes:
    - GApplicationExportedActionsClass*
    constantsTouched: []
    func_position:
      end: 372
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 372
    functionName: g_application_exported_actions_class_init
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_application_exported_actions_class_init (GApplicationExportedActionsClass
      *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - application
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 956
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 956
    functionName: g_application_real_startup
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_application_real_startup (GApplication *application) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: G_APPLICATION
      Src: /src/glib/gio/gapplication.c:1431,1
    - Dst: g_free
      Src: /src/glib/gio/gapplication.c:1442,1
    - Dst: g_application_set_default
      Src: /src/glib/gio/gapplication.c:1454,1
    - Dst: g_slist_free_full
      Src: /src/glib/gio/gapplication.c:1436,1
    - Dst: g_option_group_unref
      Src: /src/glib/gio/gapplication.c:1438,1
    - Dst: g_free
      Src: /src/glib/gio/gapplication.c:1443,1
    - Dst: g_application_get_default
      Src: /src/glib/gio/gapplication.c:1453,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gapplication.c:1457,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gapplication.c:1459,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gapplication.c:1462,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gapplication.c:1440,1
    - Dst: g_source_remove
      Src: /src/glib/gio/gapplication.c:1434,1
    - Dst: g_free
      Src: /src/glib/gio/gapplication.c:1444,1
    - Dst: g_slist_free_full
      Src: /src/glib/gio/gapplication.c:1447,1
    - Dst: g_application_impl_destroy
      Src: /src/glib/gio/gapplication.c:1450,1
    - Dst: g_free
      Src: /src/glib/gio/gapplication.c:1451,1
    - Dst: g_free
      Src: /src/glib/gio/gapplication.c:1445,1
    - Dst: g_free
      Src: /src/glib/gio/gapplication.c:1464,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gapplication.c:1466,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 1468
      start: 1428
    functionDepth: 0
    functionLinenumber: 1428
    functionLinenumberEnd: 1468
    functionName: g_application_finalize
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_source_remove
    - g_object_unref
    - g_hash_table_unref
    - G_APPLICATION
    - g_option_group_unref
    - G_OBJECT_CLASS
    - g_clear_object
    - g_application_set_default
    - g_application_get_default
    - g_slist_free_full
    - g_free
    - g_application_impl_destroy
    linkageType: ''
    returnType: void
    signature: 'static void g_application_finalize (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:1933,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:1933,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gapplication.c:1935,1
    - Dst: g_application_id_is_valid
      Src: /src/glib/gio/gapplication.c:1937,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:1937,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:1938,1
    - Dst: g_free
      Src: /src/glib/gio/gapplication.c:1940,1
    - Dst: g_strdup
      Src: /src/glib/gio/gapplication.c:1941,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gapplication.c:1943,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gapplication.c:1943,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - application
    - application_id
    argTypes:
    - GApplication*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1945
      start: 1929
    functionDepth: 0
    functionLinenumber: 1929
    functionLinenumberEnd: 1945
    functionName: g_application_set_application_id
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_return_if_fail
    - g_object_notify
    - G_OBJECT
    - g_application_id_is_valid
    - g_strcmp0
    - G_IS_APPLICATION
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_application_set_application_id (GApplication *application,
      const gchar *application_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gapplication.c:2186,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:2186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - application
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 2189
      start: 2183
    functionDepth: 0
    functionLinenumber: 2183
    functionLinenumberEnd: 2189
    functionName: g_application_get_is_registered
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - G_IS_APPLICATION
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_application_get_is_registered (GApplication *application) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:2445,1
    - Dst: get_platform_data
      Src: /src/glib/gio/gapplication.c:2450,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:2446,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:2445,1
    - Dst: g_application_impl_activate
      Src: /src/glib/gio/gapplication.c:2449,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gapplication.c:2453,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - application
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 2454
      start: 2442
    functionDepth: 0
    functionLinenumber: 2442
    functionLinenumberEnd: 2454
    functionName: g_application_activate
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - g_application_impl_activate
    - get_platform_data
    - g_signal_emit
    - G_IS_APPLICATION
    linkageType: ''
    returnType: void
    signature: 'void g_application_activate (GApplication *application) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:2160,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gapplication.c:2166,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gapplication.c:2166,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:2160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - application
    - inactivity_timeout
    argTypes:
    - GApplication*
    - guint
    constantsTouched: []
    func_position:
      end: 2168
      start: 2156
    functionDepth: 0
    functionLinenumber: 2156
    functionLinenumberEnd: 2168
    functionName: g_application_set_inactivity_timeout
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_object_notify
    - G_IS_APPLICATION
    - G_OBJECT
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_application_set_inactivity_timeout (GApplication *application,
      guint inactivity_timeout) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:2418,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:2418,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:2419,1
    - Dst: g_timeout_add
      Src: /src/glib/gio/gapplication.c:2424,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - application
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 2426
      start: 2415
    functionDepth: 0
    functionLinenumber: 2415
    functionLinenumberEnd: 2426
    functionName: g_application_release
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - G_IS_APPLICATION
    - g_timeout_add
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_application_release (GApplication *application) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GActionMapInterface*
    constantsTouched: []
    func_position:
      end: 2891
      start: 2885
    functionDepth: 0
    functionLinenumber: 2885
    functionLinenumberEnd: 2891
    functionName: g_application_action_map_iface_init
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_application_action_map_iface_init (GActionMapInterface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - application
    - platform_data
    argTypes:
    - GApplication*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 944
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 944
    functionName: g_application_real_before_emit
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_application_real_before_emit (GApplication *application,
      GVariant *platform_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:931,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:931,1
    - Dst: g_strdup
      Src: /src/glib/gio/gapplication.c:934,1
    - Dst: g_free
      Src: /src/glib/gio/gapplication.c:933,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - application
    - description
    argTypes:
    - GApplication*
    - gchar*
    constantsTouched: []
    func_position:
      end: 936
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 936
    functionName: g_application_set_option_context_description
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - G_IS_APPLICATION
    - g_strdup
    - g_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_application_set_option_context_description (GApplication *application,
      const gchar *description) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_APPLICATION
      Src: /src/glib/gio/gapplication.c:2810,1
    - Dst: get_platform_data
      Src: /src/glib/gio/gapplication.c:2818,1
    - Dst: g_remote_action_group_change_action_state_full
      Src: /src/glib/gio/gapplication.c:2817,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:2814,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:2812,1
    - Dst: g_action_group_change_action_state
      Src: /src/glib/gio/gapplication.c:2821,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - action_group
    - action_name
    - value
    argTypes:
    - GActionGroup*
    - gchar*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 2822
      start: 2805
    functionDepth: 0
    functionLinenumber: 2805
    functionLinenumberEnd: 2822
    functionName: g_application_change_action_state
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - G_APPLICATION
    - get_platform_data
    - g_action_group_change_action_state
    - g_remote_action_group_change_action_state_full
    linkageType: ''
    returnType: void
    signature: 'static void g_application_change_action_state (GActionGroup *action_group,
      const gchar *action_name, GVariant *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:2382,1
    - Dst: g_source_remove
      Src: /src/glib/gio/gapplication.c:2386,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:2382,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - application
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 2391
      start: 2379
    functionDepth: 0
    functionLinenumber: 2379
    functionLinenumberEnd: 2391
    functionName: g_application_hold
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - G_IS_APPLICATION
    - g_source_remove
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_application_hold (GApplication *application) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_APPLICATION
      Src: /src/glib/gio/gapplication.c:2396,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 2401
      start: 2393
    functionDepth: 0
    functionLinenumber: 2393
    functionLinenumberEnd: 2401
    functionName: inactivity_timeout_expired
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - G_APPLICATION
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean inactivity_timeout_expired (gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_APPLICATION
      Src: /src/glib/gio/gapplication.c:2829,1
    - Dst: g_remote_action_group_activate_action_full
      Src: /src/glib/gio/gapplication.c:2836,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:2833,1
    - Dst: get_platform_data
      Src: /src/glib/gio/gapplication.c:2837,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:2831,1
    - Dst: g_action_group_activate_action
      Src: /src/glib/gio/gapplication.c:2840,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - action_group
    - action_name
    - parameter
    argTypes:
    - GActionGroup*
    - gchar*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 2841
      start: 2824
    functionDepth: 0
    functionLinenumber: 2824
    functionLinenumberEnd: 2841
    functionName: g_application_activate_action
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - G_APPLICATION
    - get_platform_data
    - g_remote_action_group_activate_action_full
    - g_action_group_activate_action
    linkageType: ''
    returnType: void
    signature: 'static void g_application_activate_action (GActionGroup *action_group,
      const gchar *action_name, GVariant *parameter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:2989,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:2989,1
    - Dst: g_application_impl_set_busy_state
      Src: /src/glib/gio/gapplication.c:2997,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gapplication.c:2998,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:2990,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gapplication.c:2998,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - application
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 3000
      start: 2984
    functionDepth: 0
    functionLinenumber: 2984
    functionLinenumberEnd: 3000
    functionName: g_application_mark_busy
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_application_impl_set_busy_state
    - g_return_if_fail
    - g_object_notify
    - G_OBJECT
    - G_IS_APPLICATION
    linkageType: ''
    returnType: void
    signature: 'void g_application_mark_busy (GApplication *application) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:3266,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:3267,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:3268,1
    - Dst: G_IS_OBJECT
      Src: /src/glib/gio/gapplication.c:3267,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:3266,1
    - Dst: g_signal_lookup
      Src: /src/glib/gio/gapplication.c:3270,1
    - Dst: g_quark_from_string
      Src: /src/glib/gio/gapplication.c:3271,1
    - Dst: g_signal_handler_find
      Src: /src/glib/gio/gapplication.c:3273,1
    - Dst: g_critical
      Src: /src/glib/gio/gapplication.c:3277,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/gapplication.c:3281,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - application
    - object
    - property
    argTypes:
    - GApplication*
    - gpointer
    - gchar*
    constantsTouched: []
    func_position:
      end: 3282
      start: 3257
    functionDepth: 0
    functionLinenumber: 3257
    functionLinenumberEnd: 3282
    functionName: g_application_unbind_busy_property
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_quark_from_string
    - g_return_if_fail
    - g_signal_handler_disconnect
    - G_IS_OBJECT
    - g_signal_lookup
    - g_critical
    - g_signal_handler_find
    - G_IS_APPLICATION
    linkageType: ''
    returnType: void
    signature: 'void g_application_unbind_busy_property (GApplication *application,
      gpointer object, const gchar *property) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_APPLICATION
      Src: /src/glib/gio/gapplication.c:2869,1
    - Dst: G_ACTION_MAP
      Src: /src/glib/gio/gapplication.c:2873,1
    - Dst: g_action_map_remove_action
      Src: /src/glib/gio/gapplication.c:2873,1
    - Dst: G_IS_ACTION_MAP
      Src: /src/glib/gio/gapplication.c:2871,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:2871,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - action_map
    - action_name
    argTypes:
    - GActionMap*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2874
      start: 2865
    functionDepth: 0
    functionLinenumber: 2865
    functionLinenumberEnd: 2874
    functionName: g_application_remove_action
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - G_APPLICATION
    - G_IS_ACTION_MAP
    - G_ACTION_MAP
    - g_action_map_remove_action
    linkageType: ''
    returnType: void
    signature: 'static void g_application_remove_action (GActionMap *action_map, const
      gchar *action_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:2960,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:2960,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - application
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 2963
      start: 2957
    functionDepth: 0
    functionLinenumber: 2957
    functionLinenumberEnd: 2963
    functionName: g_application_quit
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - G_IS_APPLICATION
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_application_quit (GApplication *application) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:3142,1
    - Dst: g_notification_backend_new_default
      Src: /src/glib/gio/gapplication.c:3146,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:3143,1
    - Dst: g_notification_backend_withdraw_notification
      Src: /src/glib/gio/gapplication.c:3148,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:3142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - application
    - id
    argTypes:
    - GApplication*
    - gchar*
    constantsTouched: []
    func_position:
      end: 3149
      start: 3138
    functionDepth: 0
    functionLinenumber: 3138
    functionLinenumberEnd: 3149
    functionName: g_application_withdraw_notification
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_notification_backend_withdraw_notification
    - G_IS_APPLICATION
    - g_notification_backend_new_default
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_application_withdraw_notification (GApplication *application,
      const gchar *id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gapplication.c:1909,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:1909,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1912
      start: 1906
    functionDepth: 0
    functionLinenumber: 1906
    functionLinenumberEnd: 1912
    functionName: g_application_get_application_id
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - G_IS_APPLICATION
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_application_get_application_id (GApplication *application) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GActionGroupInterface*
    constantsTouched: []
    func_position:
      end: 2883
      start: 2876
    functionDepth: 0
    functionLinenumber: 2876
    functionLinenumberEnd: 2883
    functionName: g_application_action_group_iface_init
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_application_action_group_iface_init (GActionGroupInterface
      *iface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:1318,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gapplication.c:1327,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:1318,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:1319,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gapplication.c:1322,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - application
    - action_group
    argTypes:
    - GApplication*
    - GActionGroup*
    constantsTouched: []
    func_position:
      end: 1328
      start: 1314
    functionDepth: 0
    functionLinenumber: 1314
    functionLinenumberEnd: 1328
    functionName: g_application_set_action_group
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - G_IS_APPLICATION
    - g_object_unref
    - g_object_ref
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_application_set_action_group (GApplication *application, GActionGroup
      *action_group) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gapplication.c:1887,1
    - Dst: g_object_new
      Src: /src/glib/gio/gapplication.c:1889,1
    - Dst: g_application_id_is_valid
      Src: /src/glib/gio/gapplication.c:1887,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1893
      start: 1883
    functionDepth: 0
    functionLinenumber: 1883
    functionLinenumberEnd: 1893
    functionName: g_application_new
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_application_id_is_valid
    - g_object_new
    linkageType: ''
    returnType: GApplication*
    signature: 'GApplication *g_application_new (const gchar *application_id, GApplicationFlags
      flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:3097,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:3098,1
    - Dst: G_IS_NOTIFICATION
      Src: /src/glib/gio/gapplication.c:3098,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:3099,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:3097,1
    - Dst: g_application_get_is_registered
      Src: /src/glib/gio/gapplication.c:3099,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:3100,1
    - Dst: g_application_get_is_remote
      Src: /src/glib/gio/gapplication.c:3100,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:3101,1
    - Dst: g_application_get_application_id
      Src: /src/glib/gio/gapplication.c:3101,1
    - Dst: g_free
      Src: /src/glib/gio/gapplication.c:3114,1
    - Dst: g_notification_backend_new_default
      Src: /src/glib/gio/gapplication.c:3104,1
    - Dst: g_notification_backend_send_notification
      Src: /src/glib/gio/gapplication.c:3112,1
    - Dst: g_dbus_generate_guid
      Src: /src/glib/gio/gapplication.c:3108,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - application
    - id
    - notification
    argTypes:
    - GApplication*
    - gchar*
    - GNotification*
    constantsTouched: []
    func_position:
      end: 3115
      start: 3090
    functionDepth: 0
    functionLinenumber: 3090
    functionLinenumberEnd: 3115
    functionName: g_application_send_notification
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_dbus_generate_guid
    - g_return_if_fail
    - g_notification_backend_new_default
    - g_application_get_is_registered
    - G_IS_NOTIFICATION
    - g_application_get_application_id
    - G_IS_APPLICATION
    - g_notification_backend_send_notification
    - g_application_get_is_remote
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_application_send_notification (GApplication *application, const
      gchar *id, GNotification *notification) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_APPLICATION
      Src: /src/glib/gio/gapplication.c:2756,1
    - Dst: g_action_group_list_actions
      Src: /src/glib/gio/gapplication.c:2764,1
    - Dst: g_action_group_list_actions
      Src: /src/glib/gio/gapplication.c:2761,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gapplication.c:2758,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/gapplication.c:2761,1
    - Dst: g_new0
      Src: /src/glib/gio/gapplication.c:2768,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2769
      start: 2753
    functionDepth: 0
    functionLinenumber: 2753
    functionLinenumberEnd: 2769
    functionName: g_application_list_actions
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_ACTION_GROUP
    - G_APPLICATION
    - g_action_group_list_actions
    - g_new0
    linkageType: ''
    returnType: gchar**
    signature: 'static gchar **g_application_list_actions (GActionGroup *action_group) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:3019,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:3019,1
    - Dst: g_application_impl_set_busy_state
      Src: /src/glib/gio/gapplication.c:3026,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gapplication.c:3027,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:3020,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gapplication.c:3027,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - application
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 3029
      start: 3016
    functionDepth: 0
    functionLinenumber: 3016
    functionLinenumberEnd: 3029
    functionName: g_application_unmark_busy
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_application_impl_set_busy_state
    - g_return_if_fail
    - g_object_notify
    - G_OBJECT
    - G_IS_APPLICATION
    linkageType: ''
    returnType: void
    signature: 'void g_application_unmark_busy (GApplication *application) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_APPLICATION
      Src: /src/glib/gio/gapplication.c:2780,1
    - Dst: g_action_group_query_action
      Src: /src/glib/gio/gapplication.c:2794,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/gapplication.c:2785,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gapplication.c:2782,1
    - Dst: g_action_group_query_action
      Src: /src/glib/gio/gapplication.c:2785,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 8
    argCount: 7
    argNames:
    - group
    - action_name
    - enabled
    - parameter_type
    - state_type
    - state_hint
    - state
    argTypes:
    - GActionGroup*
    - gchar*
    - gboolean*
    - GVariantType**
    - GVariantType**
    - GVariant**
    - GVariant**
    constantsTouched: []
    func_position:
      end: 2803
      start: 2771
    functionDepth: 0
    functionLinenumber: 2771
    functionLinenumberEnd: 2803
    functionName: g_application_query_action
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - G_ACTION_GROUP
    - g_return_val_if_fail
    - g_action_group_query_action
    - G_APPLICATION
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_application_query_action (GActionGroup *group, const
      gchar *action_name, gboolean *enabled, const GVariantType **parameter_type,
      const GVariantType **state_type, GVariant **state_hint, GVariant **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gapplication.c:1863,1
    - Dst: g_dbus_is_unique_name
      Src: /src/glib/gio/gapplication.c:1864,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - application_id
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1865
      start: 1860
    functionDepth: 0
    functionLinenumber: 1860
    functionLinenumberEnd: 1865
    functionName: g_application_id_is_valid
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_dbus_is_name
    - g_dbus_is_unique_name
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_application_id_is_valid (const gchar *application_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - application
    - builder
    argTypes:
    - GApplication*
    - GVariantBuilder*
    constantsTouched: []
    func_position:
      end: 1230
      start: 1226
    functionDepth: 0
    functionLinenumber: 1226
    functionLinenumberEnd: 1230
    functionName: g_application_real_add_platform_data
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_application_real_add_platform_data (GApplication *application,
      GVariantBuilder *builder) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gapplication.c:1536,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gapplication.c:1537,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gapplication.c:1646,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gapplication.c:1658,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gapplication.c:1670,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gapplication.c:1686,1
    - Dst: I_
      Src: /src/glib/gio/gapplication.c:1708,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gapplication.c:1772,1
    - Dst: I_
      Src: /src/glib/gio/gapplication.c:1796,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gapplication.c:1802,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gapplication.c:1549,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gapplication.c:1548,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gapplication.c:1572,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gapplication.c:1573,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gapplication.c:1583,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gapplication.c:1633,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gapplication.c:1584,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gapplication.c:1634,1
    - Dst: I_
      Src: /src/glib/gio/gapplication.c:1657,1
    - Dst: I_
      Src: /src/glib/gio/gapplication.c:1669,1
    - Dst: I_
      Src: /src/glib/gio/gapplication.c:1685,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gapplication.c:1507,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gapplication.c:1560,1
    - Dst: g_param_spec_flags
      Src: /src/glib/gio/gapplication.c:1561,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gapplication.c:1645,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gapplication.c:1657,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gapplication.c:1669,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gapplication.c:1685,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gapplication.c:1708,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gapplication.c:1714,1
    - Dst: I_
      Src: /src/glib/gio/gapplication.c:1772,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gapplication.c:1778,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gapplication.c:1605,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gapplication.c:1620,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gapplication.c:1595,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gapplication.c:1621,1
    - Dst: g_param_spec_uint
      Src: /src/glib/gio/gapplication.c:1606,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gapplication.c:1594,1
    - Dst: I_
      Src: /src/glib/gio/gapplication.c:1645,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gapplication.c:1691,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gapplication.c:1709,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gapplication.c:1713,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gapplication.c:1801,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gapplication.c:1777,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gapplication.c:1796,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gapplication.c:1797,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gapplication.c:1773,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gapplication.c:1690,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 86
    argCount: 1
    argNames:
    - class
    argTypes:
    - GApplicationClass*
    constantsTouched: []
    func_position:
      end: 1804
      start: 1504
    functionDepth: 0
    functionLinenumber: 1504
    functionLinenumberEnd: 1804
    functionName: g_application_class_init
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - I_
    - G_STRUCT_OFFSET
    - g_param_spec_boolean
    - G_TYPE_FROM_CLASS
    - g_param_spec_object
    - g_object_class_install_property
    - G_OBJECT_CLASS
    - g_signal_set_va_marshaller
    - g_signal_new
    - g_param_spec_string
    - g_param_spec_uint
    - g_param_spec_flags
    linkageType: ''
    returnType: void
    signature: 'static void g_application_class_init (GApplicationClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - application
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 2935
      start: 2931
    functionDepth: 0
    functionLinenumber: 2931
    functionLinenumberEnd: 2935
    functionName: g_application_set_default
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void g_application_set_default (GApplication *application) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 1
    argCount: 4
    argNames:
    - application
    - connection
    - object_path
    - error
    argTypes:
    - GApplication*
    - GDBusConnection*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 1239
      start: 1232
    functionDepth: 0
    functionLinenumber: 1232
    functionLinenumberEnd: 1239
    functionName: g_application_real_dbus_register
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_application_real_dbus_register (GApplication *application,
      GDBusConnection *connection, const gchar *object_path, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2916
      start: 2912
    functionDepth: 0
    functionLinenumber: 2912
    functionLinenumberEnd: 2916
    functionName: g_application_get_default
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GApplication*
    signature: 'GApplication *g_application_get_default (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_platform_data
      Src: /src/glib/gio/gapplication.c:1088,1
    - Dst: g_variant_new_bytestring_array
      Src: /src/glib/gio/gapplication.c:1097,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gapplication.c:1102,1
    - Dst: g_application_impl_command_line
      Src: /src/glib/gio/gapplication.c:1089,1
    - Dst: g_object_new
      Src: /src/glib/gio/gapplication.c:1098,1
    - Dst: g_application_command_line_set_exit_status
      Src: /src/glib/gio/gapplication.c:1105,1
    - Dst: g_application_command_line_get_exit_status
      Src: /src/glib/gio/gapplication.c:1106,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gapplication.c:1108,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 4
    argNames:
    - application
    - arguments
    - options
    - exit_status
    argTypes:
    - GApplication*
    - gchar**
    - GVariant*
    - gint*
    constantsTouched: []
    func_position:
      end: 1110
      start: 1078
    functionDepth: 0
    functionLinenumber: 1078
    functionLinenumberEnd: 1110
    functionName: g_application_call_command_line
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_object_new
    - g_variant_new_bytestring_array
    - g_application_command_line_set_exit_status
    - get_platform_data
    - g_signal_emit
    - g_application_impl_command_line
    - g_application_command_line_get_exit_status
    linkageType: ''
    returnType: void
    signature: 'static void g_application_call_command_line (GApplication *application,
      const gchar * const *arguments, GVariant *options, gint *exit_status) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_error_free
      Src: /src/glib/gio/gapplication.c:1126,1
    - Dst: g_get_prgname
      Src: /src/glib/gio/gapplication.c:1134,1
    - Dst: g_variant_dict_unref
      Src: /src/glib/gio/gapplication.c:1150,1
    - Dst: g_printerr
      Src: /src/glib/gio/gapplication.c:1156,1
    - Dst: g_critical
      Src: /src/glib/gio/gapplication.c:1195,1
    - Dst: g_application_call_command_line
      Src: /src/glib/gio/gapplication.c:1178,1
    - Dst: g_error_free
      Src: /src/glib/gio/gapplication.c:1158,1
    - Dst: g_new
      Src: /src/glib/gio/gapplication.c:1205,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gapplication.c:1213,1
    - Dst: g_free
      Src: /src/glib/gio/gapplication.c:1214,1
    - Dst: g_variant_dict_unref
      Src: /src/glib/gio/gapplication.c:1221,1
    - Dst: g_assert
      Src: /src/glib/gio/gapplication.c:1136,1
    - Dst: g_print
      Src: /src/glib/gio/gapplication.c:1139,1
    - Dst: g_print
      Src: /src/glib/gio/gapplication.c:1141,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gapplication.c:1146,1
    - Dst: g_application_register
      Src: /src/glib/gio/gapplication.c:1154,1
    - Dst: g_variant_dict_unref
      Src: /src/glib/gio/gapplication.c:1157,1
    - Dst: g_variant_dict_end
      Src: /src/glib/gio/gapplication.c:1180,1
    - Dst: g_printerr
      Src: /src/glib/gio/gapplication.c:1169,1
    - Dst: g_application_activate
      Src: /src/glib/gio/gapplication.c:1187,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/gapplication.c:1208,1
    - Dst: g_application_open
      Src: /src/glib/gio/gapplication.c:1210,1
    - Dst: g_application_parse_command_line
      Src: /src/glib/gio/gapplication.c:1122,1
    - Dst: g_printerr
      Src: /src/glib/gio/gapplication.c:1125,1
    - Dst: g_strv_length
      Src: /src/glib/gio/gapplication.c:1163,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 72
    argCount: 3
    argNames:
    - application
    - arguments
    - exit_status
    argTypes:
    - GApplication*
    - gchar***
    - int*
    constantsTouched: []
    func_position:
      end: 1224
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1224
    functionName: g_application_real_local_command_line
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_printerr
    - g_application_call_command_line
    - g_signal_emit
    - g_application_activate
    - g_file_new_for_commandline_arg
    - g_application_register
    - g_object_unref
    - g_application_open
    - g_error_free
    - g_print
    - g_get_prgname
    - g_strv_length
    - g_variant_dict_unref
    - g_new
    - g_assert
    - g_variant_dict_end
    - g_application_parse_command_line
    - g_critical
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_application_real_local_command_line (GApplication
      *application, gchar ***arguments, int *exit_status) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gapplication.c:2330,1
    - Dst: g_application_impl_register
      Src: /src/glib/gio/gapplication.c:2338,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:2330,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gapplication.c:2350,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gapplication.c:2350,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gapplication.c:2354,1
    - Dst: g_critical
      Src: /src/glib/gio/gapplication.c:2357,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/gapplication.c:2359,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - application
    - cancellable
    - error
    argTypes:
    - GApplication*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2364
      start: 2325
    functionDepth: 0
    functionLinenumber: 2325
    functionLinenumberEnd: 2364
    functionName: g_application_register
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_OBJECT_TYPE_NAME
    - g_application_impl_register
    - g_object_notify
    - G_OBJECT
    - g_signal_emit
    - g_critical
    - G_IS_APPLICATION
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_application_register (GApplication *application, GCancellable
      *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_application_unmark_busy
      Src: /src/glib/gio/gapplication.c:3166,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gapplication.c:3169,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gapplication.c:3168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - data
    - closure
    argTypes:
    - gpointer
    - GClosure*
    constantsTouched: []
    func_position:
      end: 3170
      start: 3159
    functionDepth: 0
    functionLinenumber: 3159
    functionLinenumberEnd: 3170
    functionName: g_application_busy_binding_destroy
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_object_unref
    - g_application_unmark_busy
    linkageType: ''
    returnType: void
    signature: 'static void g_application_busy_binding_destroy (gpointer data, GClosure
      *closure) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gapplication.c:2276,1
    - Dst: g_application_impl_get_dbus_object_path
      Src: /src/glib/gio/gapplication.c:2279,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:2276,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gapplication.c:2277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2280
      start: 2273
    functionDepth: 0
    functionLinenumber: 2273
    functionLinenumberEnd: 2280
    functionName: g_application_get_dbus_object_path
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - G_IS_APPLICATION
    - g_application_impl_get_dbus_object_path
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_application_get_dbus_object_path (GApplication *application) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gapplication.c:2244,1
    - Dst: g_application_impl_get_dbus_connection
      Src: /src/glib/gio/gapplication.c:2247,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gapplication.c:2245,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:2244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2248
      start: 2241
    functionDepth: 0
    functionLinenumber: 2241
    functionLinenumberEnd: 2248
    functionName: g_application_get_dbus_connection
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_application_impl_get_dbus_connection
    - G_IS_APPLICATION
    - g_return_val_if_fail
    linkageType: ''
    returnType: GDBusConnection*
    signature: 'GDBusConnection *g_application_get_dbus_connection (GApplication *application) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: g_win32_get_command_line
      Src: /src/glib/gio/gapplication.c:2607,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gapplication.c:2600,1
    - Dst: g_strv_length
      Src: /src/glib/gio/gapplication.c:2618,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gapplication.c:2646,1
    - Dst: g_strdup
      Src: /src/glib/gio/gapplication.c:2648,1
    - Dst: g_strdup
      Src: /src/glib/gio/gapplication.c:2660,1
    - Dst: g_printerr
      Src: /src/glib/gio/gapplication.c:2690,1
    - Dst: g_timeout_add
      Src: /src/glib/gio/gapplication.c:2706,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gapplication.c:2720,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gapplication.c:2601,1
    - Dst: g_free
      Src: /src/glib/gio/gapplication.c:2625,1
    - Dst: g_new
      Src: /src/glib/gio/gapplication.c:2643,1
    - Dst: g_application_call_command_line
      Src: /src/glib/gio/gapplication.c:2695,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gapplication.c:2734,1
    - Dst: g_application_impl_flush
      Src: /src/glib/gio/gapplication.c:2737,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gapplication.c:2599,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:2599,1
    - Dst: memmove
      Src: /src/glib/gio/gapplication.c:2627,1
    - Dst: g_free
      Src: /src/glib/gio/gapplication.c:2671,1
    - Dst: g_new
      Src: /src/glib/gio/gapplication.c:2658,1
    - Dst: g_path_get_basename
      Src: /src/glib/gio/gapplication.c:2669,1
    - Dst: g_main_context_acquire
      Src: /src/glib/gio/gapplication.c:2675,1
    - Dst: g_critical
      Src: /src/glib/gio/gapplication.c:2678,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gapplication.c:2679,1
    - Dst: g_settings_sync
      Src: /src/glib/gio/gapplication.c:2742,1
    - Dst: g_main_context_release
      Src: /src/glib/gio/gapplication.c:2748,1
    - Dst: g_application_impl_destroy
      Src: /src/glib/gio/gapplication.c:2738,1
    - Dst: g_main_context_default
      Src: /src/glib/gio/gapplication.c:2674,1
    - Dst: g_get_prgname
      Src: /src/glib/gio/gapplication.c:2665,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gapplication.c:2670,1
    - Dst: G_APPLICATION_GET_CLASS
      Src: /src/glib/gio/gapplication.c:2683,1
    - Dst: g_application_register
      Src: /src/glib/gio/gapplication.c:2688,1
    - Dst: g_error_free
      Src: /src/glib/gio/gapplication.c:2691,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gapplication.c:2698,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/gapplication.c:2714,1
    - Dst: g_critical
      Src: /src/glib/gio/gapplication.c:2723,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/gapplication.c:2745,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/gapplication.c:2725,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gapplication.c:2734,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 110
    argCount: 3
    argNames:
    - application
    - argc
    - argv
    argTypes:
    - GApplication*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 2751
      start: 2589
    functionDepth: 0
    functionLinenumber: 2589
    functionLinenumberEnd: 2751
    functionName: g_application_run
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_printerr
    - g_path_get_basename
    - memmove
    - g_application_call_command_line
    - g_signal_emit
    - GLIB_PRIVATE_CALL
    - g_main_context_acquire
    - g_application_impl_destroy
    - g_application_register
    - g_main_context_default
    - g_main_context_release
    - g_application_impl_flush
    - g_strfreev
    - g_error_free
    - g_get_prgname
    - G_IS_APPLICATION
    - g_strdup
    - g_strv_length
    - g_new
    - G_OBJECT_TYPE_NAME
    - g_timeout_add
    - g_return_val_if_fail
    - g_win32_get_command_line
    - g_object_notify
    - G_OBJECT
    - g_settings_sync
    - g_str_has_prefix
    - g_critical
    - g_main_context_iteration
    - g_free
    - G_APPLICATION_GET_CLASS
    linkageType: ''
    returnType: int
    signature: 'int g_application_run (GApplication *application, int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gapplication.c:2213,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gapplication.c:2214,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:2213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - application
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 2217
      start: 2210
    functionDepth: 0
    functionLinenumber: 2210
    functionLinenumberEnd: 2217
    functionName: g_application_get_is_remote
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - G_IS_APPLICATION
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_application_get_is_remote (GApplication *application) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:2486,1
    - Dst: g_application_impl_open
      Src: /src/glib/gio/gapplication.c:2492,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:2489,1
    - Dst: G_IS_APPLICATION
      Src: /src/glib/gio/gapplication.c:2486,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gapplication.c:2487,1
    - Dst: get_platform_data
      Src: /src/glib/gio/gapplication.c:2494,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gapplication.c:2497,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - application
    - files
    - n_files
    - hint
    argTypes:
    - GApplication*
    - GFile**
    - gint
    - gchar*
    constantsTouched: []
    func_position:
      end: 2499
      start: 2480
    functionDepth: 0
    functionLinenumber: 2480
    functionLinenumberEnd: 2499
    functionName: g_application_open
    functionSourceFile: /src/glib/gio/gapplication.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - get_platform_data
    - g_signal_emit
    - g_application_impl_open
    - G_IS_APPLICATION
    linkageType: ''
    returnType: void
    signature: 'void g_application_open (GApplication *application, GFile **files,
      gint n_files, const gchar *hint) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gresolver.c:297,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gresolver.c:302,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gresolver.c:303,1
    - Dst: g_object_new
      Src: /src/glib/gio/gresolver.c:299,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 306
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 306
    functionName: g_resolver_get_default
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - G_LOCK
    - g_object_new
    - g_object_ref
    linkageType: ''
    returnType: GResolver*
    signature: 'GResolver *g_resolver_get_default (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup_by_name_real
      Src: /src/glib/gio/gresolver.c:601,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 606
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 606
    functionName: g_resolver_lookup_by_name
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - lookup_by_name_real
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_resolver_lookup_by_name (GResolver *resolver, const gchar
      *hostname, GCancellable *cancellable, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gresolver.c:726,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gresolver.c:727,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gresolver.c:727,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gresolver.c:728,1
    - Dst: G_IS_RESOLVER
      Src: /src/glib/gio/gresolver.c:726,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gresolver.c:730,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gresolver.c:732,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gresolver.c:735,1
    - Dst: G_TASK
      Src: /src/glib/gio/gresolver.c:735,1
    - Dst: g_assert
      Src: /src/glib/gio/gresolver.c:740,1
    - Dst: G_RESOLVER_GET_CLASS
      Src: /src/glib/gio/gresolver.c:740,1
    - Dst: remove_duplicates
      Src: /src/glib/gio/gresolver.c:748,1
    - Dst: G_RESOLVER_GET_CLASS
      Src: /src/glib/gio/gresolver.c:745,1
    - Dst: G_RESOLVER_GET_CLASS
      Src: /src/glib/gio/gresolver.c:741,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 751
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 751
    functionName: lookup_by_name_finish_real
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    - G_RESOLVER_GET_CLASS
    - g_assert
    - G_IS_ASYNC_RESULT
    - G_IS_RESOLVER
    - remove_duplicates
    - G_TASK
    - g_async_result_is_tagged
    - g_task_propagate_pointer
    linkageType: ''
    returnType: GList*
    signature: 'static GList *lookup_by_name_finish_real (GResolver *resolver, GAsyncResult
      *result, GError **error, gboolean with_flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gresolver.c:1255,1
    - Dst: G_IS_RESOLVER
      Src: /src/glib/gio/gresolver.c:1255,1
    - Dst: maybe_emit_reload
      Src: /src/glib/gio/gresolver.c:1258,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gresolver.c:1256,1
    - Dst: G_RESOLVER_GET_CLASS
      Src: /src/glib/gio/gresolver.c:1259,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 6
    argNames:
    - resolver
    - rrname
    - record_type
    - cancellable
    - callback
    - user_data
    argTypes:
    - GResolver*
    - gchar*
    - GResolverRecordType
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 1261
      start: 1247
    functionDepth: 0
    functionLinenumber: 1247
    functionLinenumberEnd: 1261
    functionName: g_resolver_lookup_records_async
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - G_RESOLVER_GET_CLASS
    - maybe_emit_reload
    - G_IS_RESOLVER
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_resolver_lookup_records_async (GResolver *resolver, const gchar
      *rrname, GResolverRecordType record_type, GCancellable *cancellable, GAsyncReadyCallback
      callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_next
      Src: /src/glib/gio/gresolver.c:102,1
    - Dst: g_srv_target_new
      Src: /src/glib/gio/gresolver.c:105,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gresolver.c:104,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gresolver.c:106,1
    - Dst: g_srv_target_list_sort
      Src: /src/glib/gio/gresolver.c:110,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 111
    functionName: srv_records_to_targets
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - g_srv_target_new
    - g_variant_unref
    - g_list_next
    - g_variant_get
    - g_srv_target_list_sort
    linkageType: ''
    returnType: GList*
    signature: 'static GList *srv_records_to_targets (GList *records) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gresolver.c:513,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gresolver.c:527,1
    - Dst: _
      Src: /src/glib/gio/gresolver.c:540,1
    - Dst: G_RESOLVER_GET_CLASS
      Src: /src/glib/gio/gresolver.c:536,1
    - Dst: g_free
      Src: /src/glib/gio/gresolver.c:541,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gresolver.c:515,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gresolver.c:514,1
    - Dst: g_set_error
      Src: /src/glib/gio/gresolver.c:538,1
    - Dst: remove_duplicates
      Src: /src/glib/gio/gresolver.c:551,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gresolver.c:515,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gresolver.c:516,1
    - Dst: handle_ip_address_or_localhost
      Src: /src/glib/gio/gresolver.c:519,1
    - Dst: g_hostname_is_non_ascii
      Src: /src/glib/gio/gresolver.c:522,1
    - Dst: g_hostname_to_ascii
      Src: /src/glib/gio/gresolver.c:523,1
    - Dst: maybe_emit_reload
      Src: /src/glib/gio/gresolver.c:532,1
    - Dst: G_RESOLVER_GET_CLASS
      Src: /src/glib/gio/gresolver.c:548,1
    - Dst: g_free
      Src: /src/glib/gio/gresolver.c:553,1
    - Dst: G_IS_RESOLVER
      Src: /src/glib/gio/gresolver.c:513,1
    - Dst: G_RESOLVER_GET_CLASS
      Src: /src/glib/gio/gresolver.c:544,1
    - Dst: _
      Src: /src/glib/gio/gresolver.c:528,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 555
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 555
    functionName: lookup_by_name_real
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_hostname_is_non_ascii
    - g_return_val_if_fail
    - maybe_emit_reload
    - G_RESOLVER_GET_CLASS
    - handle_ip_address_or_localhost
    - G_IS_CANCELLABLE
    - G_IS_RESOLVER
    - g_set_error_literal
    - g_hostname_to_ascii
    - remove_duplicates
    - _
    - g_free
    linkageType: ''
    returnType: GList*
    signature: 'static GList *lookup_by_name_real (GResolver *resolver, const gchar
      *hostname, GResolverNameLookupFlags flags, GCancellable *cancellable, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gresolver.c:953,1
    - Dst: maybe_emit_reload
      Src: /src/glib/gio/gresolver.c:956,1
    - Dst: G_IS_RESOLVER
      Src: /src/glib/gio/gresolver.c:953,1
    - Dst: G_IS_INET_ADDRESS
      Src: /src/glib/gio/gresolver.c:954,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gresolver.c:954,1
    - Dst: G_RESOLVER_GET_CLASS
      Src: /src/glib/gio/gresolver.c:957,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 5
    argNames:
    - resolver
    - address
    - cancellable
    - callback
    - user_data
    argTypes:
    - GResolver*
    - GInetAddress*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 959
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 959
    functionName: g_resolver_lookup_by_address_async
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - maybe_emit_reload
    - G_RESOLVER_GET_CLASS
    - g_return_if_fail
    - G_IS_RESOLVER
    - G_IS_INET_ADDRESS
    linkageType: ''
    returnType: void
    signature: 'void g_resolver_lookup_by_address_async (GResolver *resolver, GInetAddress
      *address, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer
      user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gresolver.c:1110,1
    - Dst: G_IS_RESOLVER
      Src: /src/glib/gio/gresolver.c:1110,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gresolver.c:1112,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gresolver.c:1113,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gresolver.c:1111,1
    - Dst: g_resolver_get_service_rrname
      Src: /src/glib/gio/gresolver.c:1115,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gresolver.c:1118,1
    - Dst: _
      Src: /src/glib/gio/gresolver.c:1121,1
    - Dst: maybe_emit_reload
      Src: /src/glib/gio/gresolver.c:1125,1
    - Dst: G_RESOLVER_GET_CLASS
      Src: /src/glib/gio/gresolver.c:1126,1
    - Dst: g_free
      Src: /src/glib/gio/gresolver.c:1129,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 7
    argNames:
    - resolver
    - service
    - protocol
    - domain
    - cancellable
    - callback
    - user_data
    argTypes:
    - GResolver*
    - gchar*
    - gchar*
    - gchar*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 1130
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1130
    functionName: g_resolver_lookup_service_async
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - maybe_emit_reload
    - g_return_if_fail
    - g_task_report_new_error
    - G_RESOLVER_GET_CLASS
    - g_resolver_get_service_rrname
    - G_IS_RESOLVER
    - _
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_resolver_lookup_service_async (GResolver *resolver, const gchar
      *service, const gchar *protocol, const gchar *domain, GCancellable *cancellable,
      GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gresolver.c:1221,1
    - Dst: maybe_emit_reload
      Src: /src/glib/gio/gresolver.c:1224,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gresolver.c:1222,1
    - Dst: G_IS_RESOLVER
      Src: /src/glib/gio/gresolver.c:1221,1
    - Dst: G_RESOLVER_GET_CLASS
      Src: /src/glib/gio/gresolver.c:1225,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 1212
    functionDepth: 0
    functionLinenumber: 1212
    functionLinenumberEnd: 1229
    functionName: g_resolver_lookup_records
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - G_RESOLVER_GET_CLASS
    - g_return_val_if_fail
    - maybe_emit_reload
    - G_IS_RESOLVER
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_resolver_lookup_records (GResolver *resolver, const gchar
      *rrname, GResolverRecordType record_type, GCancellable *cancellable, GError
      **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_resolver_get_instance_private
      Src: /src/glib/gio/gresolver.c:1348,1
    - Dst: g_object_notify_by_pspec
      Src: /src/glib/gio/gresolver.c:1356,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gresolver.c:1350,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gresolver.c:1356,1
    - Dst: G_IS_RESOLVER
      Src: /src/glib/gio/gresolver.c:1350,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - resolver
    - timeout_ms
    argTypes:
    - GResolver*
    - unsigned
    constantsTouched: []
    func_position:
      end: 1357
      start: 1344
    functionDepth: 0
    functionLinenumber: 1344
    functionLinenumberEnd: 1357
    functionName: g_resolver_set_timeout
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - g_object_notify_by_pspec
    - g_return_if_fail
    - g_resolver_get_instance_private
    - G_OBJECT
    - G_IS_RESOLVER
    linkageType: ''
    returnType: void
    signature: 'void g_resolver_set_timeout (GResolver *resolver, unsigned timeout_ms) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_RESOLVER
      Src: /src/glib/gio/gresolver.c:183,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gresolver.c:191,1
    - Dst: g_resolver_set_timeout
      Src: /src/glib/gio/gresolver.c:188,1
    - Dst: g_value_get_uint
      Src: /src/glib/gio/gresolver.c:188,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 193
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 193
    functionName: g_resolver_set_property
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - g_value_get_uint
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_RESOLVER
    - g_resolver_set_timeout
    linkageType: ''
    returnType: void
    signature: 'static void g_resolver_set_property (GObject *object, guint prop_id,
      const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_RESOLVER
      Src: /src/glib/gio/gresolver.c:199,1
    - Dst: g_mutex_clear
      Src: /src/glib/gio/gresolver.c:201,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gresolver.c:204,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 205
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 205
    functionName: g_resolver_finalize
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - g_mutex_clear
    - G_RESOLVER
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_resolver_finalize (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gresolver.c:327,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gresolver.c:331,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gresolver.c:329,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gresolver.c:330,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - resolver
    argTypes:
    - GResolver*
    constantsTouched: []
    func_position:
      end: 332
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 332
    functionName: g_resolver_set_default
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - G_LOCK
    - g_object_unref
    - g_object_ref
    linkageType: ''
    returnType: void
    signature: 'void g_resolver_set_default (GResolver *resolver) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup_by_name_async_real
      Src: /src/glib/gio/gresolver.c:777,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 6
    argNames:
    - resolver
    - hostname
    - flags
    - cancellable
    - callback
    - user_data
    argTypes:
    - GResolver*
    - gchar*
    - GResolverNameLookupFlags
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 783
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 783
    functionName: g_resolver_lookup_by_name_with_flags_async
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - lookup_by_name_async_real
    linkageType: ''
    returnType: void
    signature: 'void g_resolver_lookup_by_name_with_flags_async (GResolver *resolver,
      const gchar *hostname, GResolverNameLookupFlags flags, GCancellable *cancellable,
      GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_RESOLVER_GET_CLASS
      Src: /src/glib/gio/gresolver.c:121,1
    - Dst: srv_records_to_targets
      Src: /src/glib/gio/gresolver.c:127,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 128
    functionName: g_resolver_real_lookup_service
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - srv_records_to_targets
    - G_RESOLVER_GET_CLASS
    linkageType: ''
    returnType: GList*
    signature: 'static GList *g_resolver_real_lookup_service (GResolver *resolver,
      const gchar *rrname, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gresolver.c:210,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/gresolver.c:242,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gresolver.c:252,1
    - Dst: g_param_spec_uint
      Src: /src/glib/gio/gresolver.c:238,1
    - Dst: g_object_class_install_properties
      Src: /src/glib/gio/gresolver.c:242,1
    - Dst: I_
      Src: /src/glib/gio/gresolver.c:252,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gresolver.c:255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - resolver_class
    argTypes:
    - GResolverClass*
    constantsTouched: []
    func_position:
      end: 259
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 259
    functionName: g_resolver_class_init
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - I_
    - G_STRUCT_OFFSET
    - G_N_ELEMENTS
    - g_object_class_install_properties
    - G_OBJECT_CLASS
    - g_signal_new
    - g_param_spec_uint
    linkageType: ''
    returnType: void
    signature: 'static void g_resolver_class_init (GResolverClass *resolver_class) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/glib/gio/gresolver.c:340,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gresolver.c:346,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gresolver.c:350,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gresolver.c:342,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gresolver.c:347,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - resolver
    argTypes:
    - GResolver*
    constantsTouched: []
    func_position:
      end: 353
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 353
    functionName: maybe_emit_reload
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - g_signal_emit
    - g_mutex_lock
    - g_mutex_unlock
    - stat
    linkageType: ''
    returnType: void
    signature: 'static void maybe_emit_reload (GResolver *resolver) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_inet_address_new_loopback
      Src: /src/glib/gio/gresolver.c:489,1
    - Dst: g_inet_address_new_loopback
      Src: /src/glib/gio/gresolver.c:491,1
    - Dst: hostname_is_localhost
      Src: /src/glib/gio/gresolver.c:486,1
    - Dst: g_inet_address_new_loopback
      Src: /src/glib/gio/gresolver.c:494,1
    - Dst: g_list_append
      Src: /src/glib/gio/gresolver.c:495,1
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/gresolver.c:435,1
    - Dst: inet_aton
      Src: /src/glib/gio/gresolver.c:460,1
    - Dst: gai_strerror
      Src: /src/glib/gio/gresolver.c:466,1
    - Dst: g_free
      Src: /src/glib/gio/gresolver.c:473,1
    - Dst: strrchr
      Src: /src/glib/gio/gresolver.c:452,1
    - Dst: g_list_append
      Src: /src/glib/gio/gresolver.c:438,1
    - Dst: g_win32_error_message
      Src: /src/glib/gio/gresolver.c:464,1
    - Dst: g_locale_to_utf8
      Src: /src/glib/gio/gresolver.c:466,1
    - Dst: g_strdup
      Src: /src/glib/gio/gresolver.c:468,1
    - Dst: g_list_append
      Src: /src/glib/gio/gresolver.c:494,1
    - Dst: g_list_append
      Src: /src/glib/gio/gresolver.c:489,1
    - Dst: g_list_append
      Src: /src/glib/gio/gresolver.c:491,1
    - Dst: g_inet_address_new_loopback
      Src: /src/glib/gio/gresolver.c:495,1
    - Dst: strrchr
      Src: /src/glib/gio/gresolver.c:451,1
    - Dst: g_set_error
      Src: /src/glib/gio/gresolver.c:470,1
    - Dst: _
      Src: /src/glib/gio/gresolver.c:471,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 41
    argCount: 4
    argNames:
    - hostname
    - addrs
    - flags
    - error
    argTypes:
    - char*
    - GList**
    - GResolverNameLookupFlags
    - GError**
    constantsTouched: []
    func_position:
      end: 501
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 501
    functionName: handle_ip_address_or_localhost
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_list_append
    - g_strdup
    - g_win32_error_message
    - gai_strerror
    - strrchr
    - g_free
    - g_locale_to_utf8
    - hostname_is_localhost
    - g_inet_address_new_loopback
    - _
    - inet_aton
    - g_inet_address_new_from_string
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean handle_ip_address_or_localhost (const char *hostname,
      GList **addrs, GResolverNameLookupFlags flags, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup_by_name_real
      Src: /src/glib/gio/gresolver.c:634,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 639
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 639
    functionName: g_resolver_lookup_by_name_with_flags
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - lookup_by_name_real
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_resolver_lookup_by_name_with_flags (GResolver *resolver,
      const gchar *hostname, GResolverNameLookupFlags flags, GCancellable *cancellable,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gresolver.c:984,1
    - Dst: G_IS_RESOLVER
      Src: /src/glib/gio/gresolver.c:984,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gresolver.c:986,1
    - Dst: G_RESOLVER_GET_CLASS
      Src: /src/glib/gio/gresolver.c:989,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 991
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 991
    functionName: g_resolver_lookup_by_address_finish
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - G_RESOLVER_GET_CLASS
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    - G_IS_RESOLVER
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_resolver_lookup_by_address_finish (GResolver *resolver, GAsyncResult
      *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_srv_target_free
      Src: /src/glib/gio/gresolver.c:1182,1
    - Dst: g_list_free
      Src: /src/glib/gio/gresolver.c:1183,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - targets
    argTypes:
    - GList*
    constantsTouched: []
    func_position:
      end: 1184
      start: 1176
    functionDepth: 0
    functionLinenumber: 1176
    functionLinenumberEnd: 1184
    functionName: g_resolver_free_targets
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - g_list_free
    - g_srv_target_free
    linkageType: ''
    returnType: void
    signature: 'void g_resolver_free_targets (GList *targets) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gresolver.c:1290,1
    - Dst: G_RESOLVER_GET_CLASS
      Src: /src/glib/gio/gresolver.c:1291,1
    - Dst: G_IS_RESOLVER
      Src: /src/glib/gio/gresolver.c:1290,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1293
      start: 1285
    functionDepth: 0
    functionLinenumber: 1285
    functionLinenumberEnd: 1293
    functionName: g_resolver_lookup_records_finish
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - G_RESOLVER_GET_CLASS
    - g_return_val_if_fail
    - G_IS_RESOLVER
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_resolver_lookup_records_finish (GResolver *resolver, GAsyncResult
      *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_RESOLVER_GET_CLASS
      Src: /src/glib/gio/gresolver.c:137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 5
    argNames:
    - resolver
    - rrname
    - cancellable
    - callback
    - user_data
    argTypes:
    - GResolver*
    - gchar*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 143
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 143
    functionName: g_resolver_real_lookup_service_async
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - G_RESOLVER_GET_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_resolver_real_lookup_service_async (GResolver *resolver,
      const gchar *rrname, GCancellable *cancellable, GAsyncReadyCallback callback,
      gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_resolver_get_instance_private
      Src: /src/glib/gio/gresolver.c:268,1
    - Dst: g_mutex_init
      Src: /src/glib/gio/gresolver.c:274,1
    - Dst: stat
      Src: /src/glib/gio/gresolver.c:271,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - resolver
    argTypes:
    - GResolver*
    constantsTouched: []
    func_position:
      end: 276
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 276
    functionName: g_resolver_init
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - g_mutex_init
    - g_resolver_get_instance_private
    - stat
    linkageType: ''
    returnType: void
    signature: 'static void g_resolver_init (GResolver *resolver) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: G_IS_RESOLVER
      Src: /src/glib/gio/gresolver.c:653,1
    - Dst: g_task_set_name
      Src: /src/glib/gio/gresolver.c:664,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gresolver.c:680,1
    - Dst: g_task_new
      Src: /src/glib/gio/gresolver.c:682,1
    - Dst: _
      Src: /src/glib/gio/gresolver.c:681,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gresolver.c:683,1
    - Dst: maybe_emit_reload
      Src: /src/glib/gio/gresolver.c:690,1
    - Dst: g_task_new
      Src: /src/glib/gio/gresolver.c:701,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gresolver.c:702,1
    - Dst: g_free
      Src: /src/glib/gio/gresolver.c:715,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gresolver.c:653,1
    - Dst: g_task_new
      Src: /src/glib/gio/gresolver.c:662,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gresolver.c:685,1
    - Dst: g_hostname_to_ascii
      Src: /src/glib/gio/gresolver.c:674,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gresolver.c:686,1
    - Dst: _
      Src: /src/glib/gio/gresolver.c:700,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gresolver.c:704,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gresolver.c:705,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gresolver.c:655,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gresolver.c:663,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gresolver.c:666,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gresolver.c:668,1
    - Dst: g_hostname_is_non_ascii
      Src: /src/glib/gio/gresolver.c:673,1
    - Dst: g_task_set_name
      Src: /src/glib/gio/gresolver.c:684,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gresolver.c:669,1
    - Dst: G_RESOLVER_GET_CLASS
      Src: /src/glib/gio/gresolver.c:694,1
    - Dst: g_set_error
      Src: /src/glib/gio/gresolver.c:698,1
    - Dst: g_task_set_name
      Src: /src/glib/gio/gresolver.c:703,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gresolver.c:654,1
    - Dst: handle_ip_address_or_localhost
      Src: /src/glib/gio/gresolver.c:658,1
    - Dst: G_RESOLVER_GET_CLASS
      Src: /src/glib/gio/gresolver.c:708,1
    - Dst: G_RESOLVER_GET_CLASS
      Src: /src/glib/gio/gresolver.c:712,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 6
    argNames:
    - resolver
    - hostname
    - flags
    - cancellable
    - callback
    - user_data
    argTypes:
    - GResolver*
    - gchar*
    - GResolverNameLookupFlags
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 716
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 716
    functionName: lookup_by_name_async_real
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_hostname_is_non_ascii
    - g_task_new
    - g_object_unref
    - g_task_return_pointer
    - g_task_set_source_tag
    - g_return_if_fail
    - maybe_emit_reload
    - G_RESOLVER_GET_CLASS
    - handle_ip_address_or_localhost
    - g_free
    - G_IS_RESOLVER
    - g_set_error_literal
    - g_hostname_to_ascii
    - _
    - g_task_set_name
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void lookup_by_name_async_real (GResolver *resolver, const
      gchar *hostname, GResolverNameLookupFlags flags, GCancellable *cancellable,
      GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_hostname_is_non_ascii
      Src: /src/glib/gio/gresolver.c:1000,1
    - Dst: g_hostname_to_ascii
      Src: /src/glib/gio/gresolver.c:1001,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gresolver.c:1005,1
    - Dst: g_free
      Src: /src/glib/gio/gresolver.c:1007,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 993
    functionDepth: 0
    functionLinenumber: 993
    functionLinenumberEnd: 1009
    functionName: g_resolver_get_service_rrname
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - g_hostname_is_non_ascii
    - g_hostname_to_ascii
    - g_strdup_printf
    - g_free
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *g_resolver_get_service_rrname (const char *service,
      const char *protocol, const char *domain) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gresolver.c:1300,1
    - Dst: G_IS_RESOLVER
      Src: /src/glib/gio/gresolver.c:1300,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gresolver.c:1305,1
    - Dst: maybe_emit_reload
      Src: /src/glib/gio/gresolver.c:1302,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gresolver.c:1307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - resolver
    argTypes:
    - GResolver*
    constantsTouched: []
    func_position:
      end: 1313
      start: 1295
    functionDepth: 0
    functionLinenumber: 1295
    functionLinenumberEnd: 1313
    functionName: g_resolver_get_serial
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - maybe_emit_reload
    - g_mutex_unlock
    - g_mutex_lock
    - G_IS_RESOLVER
    linkageType: ''
    returnType: guint64
    signature: 'guint64 g_resolver_get_serial (GResolver *resolver) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/gio/gresolver.c:387,1
    - Dst: strlen
      Src: /src/glib/gio/gresolver.c:415,1
    - Dst: strlen
      Src: /src/glib/gio/gresolver.c:391,1
    - Dst: g_ascii_strncasecmp
      Src: /src/glib/gio/gresolver.c:415,1
    - Dst: MAX
      Src: /src/glib/gio/gresolver.c:415,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - hostname
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 416
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 416
    functionName: hostname_is_localhost
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - MAX
    - g_ascii_strncasecmp
    - strlen
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean hostname_is_localhost (const char *hostname) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gresolver.c:1156,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gresolver.c:1158,1
    - Dst: G_IS_RESOLVER
      Src: /src/glib/gio/gresolver.c:1156,1
    - Dst: G_RESOLVER_GET_CLASS
      Src: /src/glib/gio/gresolver.c:1161,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1151
    functionDepth: 0
    functionLinenumber: 1151
    functionLinenumberEnd: 1163
    functionName: g_resolver_lookup_service_finish
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - G_RESOLVER_GET_CLASS
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    - G_IS_RESOLVER
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_resolver_lookup_service_finish (GResolver *resolver, GAsyncResult
      *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_RESOLVER_GET_CLASS
      Src: /src/glib/gio/gresolver.c:152,1
    - Dst: srv_records_to_targets
      Src: /src/glib/gio/gresolver.c:156,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 157
    functionName: g_resolver_real_lookup_service_finish
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - srv_records_to_targets
    - G_RESOLVER_GET_CLASS
    linkageType: ''
    returnType: GList*
    signature: 'static GList *g_resolver_real_lookup_service_finish (GResolver *resolver,
      GAsyncResult *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup_by_name_finish_real
      Src: /src/glib/gio/gresolver.c:839,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 843
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 843
    functionName: g_resolver_lookup_by_name_finish
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - lookup_by_name_finish_real
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_resolver_lookup_by_name_finish (GResolver *resolver, GAsyncResult
      *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/gresolver.c:892,1
    - Dst: g_list_free
      Src: /src/glib/gio/gresolver.c:893,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - addresses
    argTypes:
    - GList*
    constantsTouched: []
    func_position:
      end: 894
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 894
    functionName: g_resolver_free_addresses
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - g_list_free
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'void g_resolver_free_addresses (GList *addresses) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gresolver.c:924,1
    - Dst: G_IS_RESOLVER
      Src: /src/glib/gio/gresolver.c:924,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gresolver.c:925,1
    - Dst: maybe_emit_reload
      Src: /src/glib/gio/gresolver.c:927,1
    - Dst: G_IS_INET_ADDRESS
      Src: /src/glib/gio/gresolver.c:925,1
    - Dst: G_RESOLVER_GET_CLASS
      Src: /src/glib/gio/gresolver.c:928,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 930
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 930
    functionName: g_resolver_lookup_by_address
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - maybe_emit_reload
    - G_RESOLVER_GET_CLASS
    - G_IS_RESOLVER
    - G_IS_INET_ADDRESS
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_resolver_lookup_by_address (GResolver *resolver, GInetAddress
      *address, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gresolver.c:1060,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gresolver.c:1063,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gresolver.c:1061,1
    - Dst: G_IS_RESOLVER
      Src: /src/glib/gio/gresolver.c:1060,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gresolver.c:1062,1
    - Dst: g_resolver_get_service_rrname
      Src: /src/glib/gio/gresolver.c:1065,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gresolver.c:1068,1
    - Dst: _
      Src: /src/glib/gio/gresolver.c:1069,1
    - Dst: maybe_emit_reload
      Src: /src/glib/gio/gresolver.c:1073,1
    - Dst: G_RESOLVER_GET_CLASS
      Src: /src/glib/gio/gresolver.c:1074,1
    - Dst: g_free
      Src: /src/glib/gio/gresolver.c:1077,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1049
    functionDepth: 0
    functionLinenumber: 1049
    functionLinenumberEnd: 1079
    functionName: g_resolver_lookup_service
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - maybe_emit_reload
    - G_RESOLVER_GET_CLASS
    - g_resolver_get_service_rrname
    - G_IS_RESOLVER
    - g_set_error_literal
    - _
    - g_free
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_resolver_lookup_service (GResolver *resolver, const gchar
      *service, const gchar *protocol, const gchar *domain, GCancellable *cancellable,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_resolver_get_instance_private
      Src: /src/glib/gio/gresolver.c:1328,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gresolver.c:1330,1
    - Dst: G_IS_RESOLVER
      Src: /src/glib/gio/gresolver.c:1330,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - resolver
    argTypes:
    - GResolver*
    constantsTouched: []
    func_position:
      end: 1333
      start: 1325
    functionDepth: 0
    functionLinenumber: 1325
    functionLinenumberEnd: 1333
    functionName: g_resolver_get_timeout
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_resolver_get_instance_private
    - G_IS_RESOLVER
    linkageType: ''
    returnType: unsigned
    signature: 'unsigned g_resolver_get_timeout (GResolver *resolver) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_RESOLVER
      Src: /src/glib/gio/gresolver.c:165,1
    - Dst: g_value_set_uint
      Src: /src/glib/gio/gresolver.c:170,1
    - Dst: g_resolver_get_timeout
      Src: /src/glib/gio/gresolver.c:170,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gresolver.c:173,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 175
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 175
    functionName: g_resolver_get_property
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - g_resolver_get_timeout
    - g_value_set_uint
    - G_RESOLVER
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: 'static void g_resolver_get_property (GObject *object, guint prop_id,
      GValue *value, GParamSpec *pspec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_INET_ADDRESS
      Src: /src/glib/gio/gresolver.c:369,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gresolver.c:376,1
    - Dst: g_inet_address_equal
      Src: /src/glib/gio/gresolver.c:374,1
    - Dst: G_INET_ADDRESS
      Src: /src/glib/gio/gresolver.c:372,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gresolver.c:378,1
    - Dst: g_list_delete_link
      Src: /src/glib/gio/gresolver.c:378,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 1
    argNames:
    - addrs
    argTypes:
    - GList*
    constantsTouched: []
    func_position:
      end: 382
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 382
    functionName: remove_duplicates
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - g_list_delete_link
    - g_warn_if_fail
    - g_object_unref
    - G_INET_ADDRESS
    - g_inet_address_equal
    linkageType: ''
    returnType: void
    signature: 'static void remove_duplicates (GList *addrs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup_by_name_async_real
      Src: /src/glib/gio/gresolver.c:807,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - resolver
    - hostname
    - cancellable
    - callback
    - user_data
    argTypes:
    - GResolver*
    - gchar*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 813
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 813
    functionName: g_resolver_lookup_by_name_async
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - lookup_by_name_async_real
    linkageType: ''
    returnType: void
    signature: 'void g_resolver_lookup_by_name_async (GResolver *resolver, const gchar
      *hostname, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup_by_name_finish_real
      Src: /src/glib/gio/gresolver.c:869,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 873
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 873
    functionName: g_resolver_lookup_by_name_with_flags_finish
    functionSourceFile: /src/glib/gio/gresolver.c
    functionUses: []
    functionsReached:
    - lookup_by_name_finish_real
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_resolver_lookup_by_name_with_flags_finish (GResolver *resolver,
      GAsyncResult *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_IS_MEMORY_MONITOR
      Src: /src/glib/gio/gmemorymonitor.h:46,1
    - Dst: G_MEMORY_MONITOR_GET_INTERFACE
      Src: /src/glib/gio/gmemorymonitor.h:47,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 0
    argNames:
    - GMemoryMonitor
    - g_memory_monitor
    - g
    - memory_monitor
    - GObject
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 56
    functionName: G_DECLARE_INTERFACE
    functionSourceFile: /src/glib/gio/gmemorymonitor.h
    functionUses: []
    functionsReached:
    - G_MEMORY_MONITOR_GET_INTERFACE
    - G_IS_MEMORY_MONITOR
    linkageType: ''
    returnType: GIO_AVAILABLE_IN_2_64
    signature: 'GIO_AVAILABLE_IN_2_64 G_DECLARE_INTERFACE(GMemoryMonitor, g_memory_monitor,
      g, memory_monitor, GObject) #define G_MEMORY_MONITOR(o) (G_TYPE_CHECK_INSTANCE_CAST
      ((o), G_TYPE_MEMORY_MONITOR, GMemoryMonitor))#define G_IS_MEMORY_MONITOR(o)
      (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_MEMORY_MONITOR))#define G_MEMORY_MONITOR_GET_INTERFACE(o)
      (G_TYPE_INSTANCE_GET_INTERFACE ((o), G_TYPE_MEMORY_MONITOR, GMemoryMonitorInterface))struct
      _GMemoryMonitorInterface '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gio-tool-trash.c:49,1
    - Dst: g_file_enumerate_children
      Src: /src/glib/gio/gio-tool-trash.c:53,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/gio-tool-trash.c:63,1
    - Dst: g_file_has_uri_scheme
      Src: /src/glib/gio/gio-tool-trash.c:49,1
    - Dst: g_file_enumerator_next_file
      Src: /src/glib/gio/gio-tool-trash.c:61,1
    - Dst: g_file_info_get_name
      Src: /src/glib/gio/gio-tool-trash.c:63,1
    - Dst: delete_trash_file
      Src: /src/glib/gio/gio-tool-trash.c:70,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-trash.c:72,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-trash.c:73,1
    - Dst: g_file_enumerator_close
      Src: /src/glib/gio/gio-tool-trash.c:75,1
    - Dst: g_file_delete
      Src: /src/glib/gio/gio-tool-trash.c:81,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-trash.c:76,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - file
    - del_file
    - del_children
    argTypes:
    - GFile*
    - gboolean
    - gboolean
    constantsTouched: []
    func_position:
      end: 82
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 82
    functionName: delete_trash_file
    functionSourceFile: /src/glib/gio/gio-tool-trash.c
    functionUses: []
    functionsReached:
    - g_file_enumerator_close
    - g_file_enumerator_next_file
    - g_object_unref
    - g_return_if_fail
    - g_file_has_uri_scheme
    - delete_trash_file
    - g_file_delete
    - g_file_enumerate_children
    - g_file_get_child
    - g_file_info_get_name
    linkageType: ''
    returnType: void
    signature: 'static void delete_trash_file (GFile *file, gboolean del_file, gboolean
      del_children) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/gio/gio-tool-trash.c:224,1
    - Dst: g_option_context_set_description
      Src: /src/glib/gio/gio-tool-trash.c:229,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-trash.c:237,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/gio-tool-trash.c:241,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-trash.c:244,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/gio/gio-tool-trash.c:232,1
    - Dst: print_file_error
      Src: /src/glib/gio/gio-tool-trash.c:266,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gio-tool-trash.c:273,1
    - Dst: print_file_error
      Src: /src/glib/gio/gio-tool-trash.c:275,1
    - Dst: print_file_error
      Src: /src/glib/gio/gio-tool-trash.c:289,1
    - Dst: g_set_prgname
      Src: /src/glib/gio/gio-tool-trash.c:220,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-trash.c:225,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-trash.c:243,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-trash.c:245,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/gio-tool-trash.c:285,1
    - Dst: trash_list
      Src: /src/glib/gio/gio-tool-trash.c:286,1
    - Dst: delete_trash_file
      Src: /src/glib/gio/gio-tool-trash.c:298,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-trash.c:304,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-trash.c:309,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-trash.c:223,1
    - Dst: g_option_context_set_summary
      Src: /src/glib/gio/gio-tool-trash.c:227,1
    - Dst: g_file_has_uri_scheme
      Src: /src/glib/gio/gio-tool-trash.c:259,1
    - Dst: print_file_error
      Src: /src/glib/gio/gio-tool-trash.c:261,1
    - Dst: g_file_trash
      Src: /src/glib/gio/gio-tool-trash.c:270,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gio-tool-trash.c:279,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-trash.c:280,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gio-tool-trash.c:290,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/gio-tool-trash.c:297,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-trash.c:305,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-trash.c:304,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gio-tool-trash.c:223,1
    - Dst: g_option_context_set_help_enabled
      Src: /src/glib/gio/gio-tool-trash.c:226,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-trash.c:228,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-trash.c:230,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-trash.c:236,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/gio-tool-trash.c:255,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-trash.c:261,1
    - Dst: restore_trash
      Src: /src/glib/gio/gio-tool-trash.c:264,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-trash.c:293,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-trash.c:299,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 79
    argCount: 3
    argNames:
    - argc
    - argv
    - do_help
    argTypes:
    - int
    - char*
    - gboolean
    constantsTouched: []
    func_position:
      end: 312
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 312
    functionName: handle_trash
    functionSourceFile: /src/glib/gio/gio-tool-trash.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_option_context_free
    - print_file_error
    - g_file_new_for_uri
    - show_help
    - restore_trash
    - g_file_new_for_commandline_arg
    - g_object_unref
    - trash_list
    - g_error_free
    - g_option_context_parse
    - g_option_context_new
    - g_file_has_uri_scheme
    - g_set_prgname
    - g_option_context_set_help_enabled
    - _
    - g_option_context_add_main_entries
    - g_option_context_set_description
    - g_clear_error
    - delete_trash_file
    - g_option_context_set_summary
    - g_file_trash
    - g_error_matches
    - g_free
    linkageType: ''
    returnType: int
    signature: 'int handle_trash (int argc, char *argv[], gboolean do_help) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-trash.c:112,1
    - Dst: g_file_make_directory_with_parents
      Src: /src/glib/gio/gio-tool-trash.c:117,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-trash.c:137,1
    - Dst: g_propagate_prefixed_error
      Src: /src/glib/gio/gio-tool-trash.c:137,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gio-tool-trash.c:118,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gio-tool-trash.c:145,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gio-tool-trash.c:107,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-trash.c:107,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gio-tool-trash.c:100,1
    - Dst: g_file_get_parent
      Src: /src/glib/gio/gio-tool-trash.c:114,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gio-tool-trash.c:143,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gio-tool-trash.c:144,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/gio-tool-trash.c:97,1
    - Dst: g_file_info_get_attribute_as_string
      Src: /src/glib/gio/gio-tool-trash.c:104,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/gio-tool-trash.c:111,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-trash.c:124,1
    - Dst: g_file_move
      Src: /src/glib/gio/gio-tool-trash.c:129,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gio-tool-trash.c:120,1
    - Dst: g_propagate_prefixed_error
      Src: /src/glib/gio/gio-tool-trash.c:124,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 34
    argCount: 4
    argNames:
    - file
    - force
    - cancellable
    - error
    argTypes:
    - GFile*
    - gboolean
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 147
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 147
    functionName: restore_trash
    functionSourceFile: /src/glib/gio/gio-tool-trash.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_clear_error
    - g_file_query_info
    - g_free
    - g_file_info_get_attribute_as_string
    - g_error_matches
    - g_set_error_literal
    - g_clear_object
    - g_file_get_parent
    - _
    - g_propagate_prefixed_error
    - g_file_move
    - g_file_new_for_commandline_arg
    - g_file_make_directory_with_parents
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean restore_trash (GFile *file, gboolean force, GCancellable
      *cancellable, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_file_enumerate_children
      Src: /src/glib/gio/gio-tool-trash.c:159,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gio-tool-trash.c:167,1
    - Dst: g_file_info_get_name
      Src: /src/glib/gio/gio-tool-trash.c:179,1
    - Dst: g_file_enumerator_next_file
      Src: /src/glib/gio/gio-tool-trash.c:172,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/gio-tool-trash.c:180,1
    - Dst: g_file_get_uri
      Src: /src/glib/gio/gio-tool-trash.c:181,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-trash.c:182,1
    - Dst: g_file_info_get_attribute_as_string
      Src: /src/glib/gio/gio-tool-trash.c:183,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-trash.c:185,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-trash.c:187,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-trash.c:189,1
    - Dst: print_file_error
      Src: /src/glib/gio/gio-tool-trash.c:201,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gio-tool-trash.c:202,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-trash.c:206,1
    - Dst: g_file_enumerator_close
      Src: /src/glib/gio/gio-tool-trash.c:199,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gio-tool-trash.c:194,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-trash.c:188,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 35
    argCount: 3
    argNames:
    - file
    - cancellable
    - error
    argTypes:
    - GFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 209
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 209
    functionName: trash_list
    functionSourceFile: /src/glib/gio/gio-tool-trash.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_file_get_uri
    - g_file_enumerator_close
    - g_file_enumerator_next_file
    - g_clear_error
    - g_object_unref
    - print_file_error
    - g_file_enumerate_children
    - g_file_info_get_attribute_as_string
    - g_file_get_child
    - g_print
    - g_file_info_get_name
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean trash_list (GFile *file, GCancellable *cancellable,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_EMBLEMED_ICON
      Src: /src/glib/gio/gemblemedicon.c:70,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gemblemedicon.c:73,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gemblemedicon.c:75,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gemblemedicon.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 76
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 76
    functionName: g_emblemed_icon_finalize
    functionSourceFile: /src/glib/gio/gemblemedicon.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - G_OBJECT_CLASS
    - G_EMBLEMED_ICON
    - g_list_free_full
    linkageType: ''
    returnType: void
    signature: 'static void g_emblemed_icon_finalize (GObject *object) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_EMBLEMED_ICON
      Src: /src/glib/gio/gemblemedicon.c:103,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gemblemedicon.c:111,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gemblemedicon.c:108,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - object
    - property_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 114
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 114
    functionName: g_emblemed_icon_get_property
    functionSourceFile: /src/glib/gio/gemblemedicon.c
    functionUses: []
    functionsReached:
    - g_value_set_object
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_EMBLEMED_ICON
    linkageType: ''
    returnType: void
    signature: 'static void g_emblemed_icon_get_property (GObject *object, guint property_id,
      GValue *value, GParamSpec *pspec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gemblemedicon.c:163,1
    - Dst: G_EMBLEMED_ICON
      Src: /src/glib/gio/gemblemedicon.c:166,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gemblemedicon.c:164,1
    - Dst: G_IS_EMBLEM
      Src: /src/glib/gio/gemblemedicon.c:164,1
    - Dst: G_IS_ICON
      Src: /src/glib/gio/gemblemedicon.c:163,1
    - Dst: g_object_new
      Src: /src/glib/gio/gemblemedicon.c:166,1
    - Dst: g_emblemed_icon_add_emblem
      Src: /src/glib/gio/gemblemedicon.c:171,1
    - Dst: G_ICON
      Src: /src/glib/gio/gemblemedicon.c:173,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 174
    functionName: g_emblemed_icon_new
    functionSourceFile: /src/glib/gio/gemblemedicon.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_object_new
    - G_IS_ICON
    - G_ICON
    - G_IS_EMBLEM
    - G_EMBLEMED_ICON
    - g_emblemed_icon_add_emblem
    linkageType: ''
    returnType: GIcon*
    signature: 'GIcon *g_emblemed_icon_new (GIcon *icon, GEmblem *emblem) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gemblemedicon.c:210,1
    - Dst: G_IS_EMBLEMED_ICON
      Src: /src/glib/gio/gemblemedicon.c:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 213
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 213
    functionName: g_emblemed_icon_get_emblems
    functionSourceFile: /src/glib/gio/gemblemedicon.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_EMBLEMED_ICON
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_emblemed_icon_get_emblems (GEmblemedIcon *emblemed) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gemblemedicon.c:226,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gemblemedicon.c:231,1
    - Dst: G_IS_EMBLEMED_ICON
      Src: /src/glib/gio/gemblemedicon.c:226,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - emblemed
    argTypes:
    - GEmblemedIcon*
    constantsTouched: []
    func_position:
      end: 233
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 233
    functionName: g_emblemed_icon_clear_emblems
    functionSourceFile: /src/glib/gio/gemblemedicon.c
    functionUses: []
    functionsReached:
    - g_list_free_full
    - G_IS_EMBLEMED_ICON
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_emblemed_icon_clear_emblems (GEmblemedIcon *emblemed) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gemblemedicon.c:264,1
    - Dst: G_IS_EMBLEMED_ICON
      Src: /src/glib/gio/gemblemedicon.c:264,1
    - Dst: G_IS_EMBLEM
      Src: /src/glib/gio/gemblemedicon.c:265,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gemblemedicon.c:265,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gemblemedicon.c:267,1
    - Dst: g_list_insert_sorted
      Src: /src/glib/gio/gemblemedicon.c:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - emblemed
    - emblem
    argTypes:
    - GEmblemedIcon*
    - GEmblem*
    constantsTouched: []
    func_position:
      end: 270
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 270
    functionName: g_emblemed_icon_add_emblem
    functionSourceFile: /src/glib/gio/gemblemedicon.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - g_list_insert_sorted
    - g_object_ref
    - G_IS_EMBLEMED_ICON
    - G_IS_EMBLEM
    linkageType: ''
    returnType: void
    signature: 'void g_emblemed_icon_add_emblem (GEmblemedIcon *emblemed, GEmblem
      *emblem) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_EMBLEMED_ICON
      Src: /src/glib/gio/gemblemedicon.c:289,1
    - Dst: G_ICON
      Src: /src/glib/gio/gemblemedicon.c:301,1
    - Dst: g_icon_equal
      Src: /src/glib/gio/gemblemedicon.c:301,1
    - Dst: g_icon_equal
      Src: /src/glib/gio/gemblemedicon.c:293,1
    - Dst: G_EMBLEMED_ICON
      Src: /src/glib/gio/gemblemedicon.c:290,1
    - Dst: G_ICON
      Src: /src/glib/gio/gemblemedicon.c:301,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 2
    argNames:
    - icon1
    - icon2
    argTypes:
    - GIcon*
    - GIcon*
    constantsTouched: []
    func_position:
      end: 309
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 309
    functionName: g_emblemed_icon_equal
    functionSourceFile: /src/glib/gio/gemblemedicon.c
    functionUses: []
    functionsReached:
    - g_icon_equal
    - G_EMBLEMED_ICON
    - G_ICON
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_emblemed_icon_equal (GIcon *icon1, GIcon *icon2) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/gio/gemblemedicon.c:362,1
    - Dst: g_set_error
      Src: /src/glib/gio/gemblemedicon.c:372,1
    - Dst: g_object_new
      Src: /src/glib/gio/gemblemedicon.c:380,1
    - Dst: _
      Src: /src/glib/gio/gemblemedicon.c:375,1
    - Dst: _
      Src: /src/glib/gio/gemblemedicon.c:365,1
    - Dst: g_icon_new_for_string
      Src: /src/glib/gio/gemblemedicon.c:381,1
    - Dst: g_icon_new_for_string
      Src: /src/glib/gio/gemblemedicon.c:389,1
    - Dst: G_IS_EMBLEM
      Src: /src/glib/gio/gemblemedicon.c:393,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gemblemedicon.c:395,1
    - Dst: _
      Src: /src/glib/gio/gemblemedicon.c:398,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gemblemedicon.c:399,1
    - Dst: g_list_append
      Src: /src/glib/gio/gemblemedicon.c:403,1
    - Dst: G_ICON
      Src: /src/glib/gio/gemblemedicon.c:406,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gemblemedicon.c:410,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 412
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 412
    functionName: g_emblemed_icon_from_tokens
    functionSourceFile: /src/glib/gio/gemblemedicon.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_list_append
    - g_object_unref
    - g_object_new
    - g_icon_new_for_string
    - g_set_error_literal
    - G_ICON
    - _
    - G_IS_EMBLEM
    linkageType: ''
    returnType: GIcon*
    signature: 'static GIcon *g_emblemed_icon_from_tokens (gchar **tokens, gint num_tokens,
      gint version, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_EMBLEMED_ICON
      Src: /src/glib/gio/gemblemedicon.c:84,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/gemblemedicon.c:89,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gemblemedicon.c:92,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - object
    - property_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 95
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 95
    functionName: g_emblemed_icon_set_property
    functionSourceFile: /src/glib/gio/gemblemedicon.c
    functionUses: []
    functionsReached:
    - g_value_dup_object
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_EMBLEMED_ICON
    linkageType: ''
    returnType: void
    signature: 'static void g_emblemed_icon_set_property (GObject *object, guint property_id,
      const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gemblemedicon.c:119,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gemblemedicon.c:133,1
    - Dst: g_object_class_install_properties
      Src: /src/glib/gio/gemblemedicon.c:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GEmblemedIconClass*
    constantsTouched: []
    func_position:
      end: 138
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 138
    functionName: g_emblemed_icon_class_init
    functionSourceFile: /src/glib/gio/gemblemedicon.c
    functionUses: []
    functionsReached:
    - g_object_class_install_properties
    - g_param_spec_object
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_emblemed_icon_class_init (GEmblemedIconClass *klass) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_icon_hash
      Src: /src/glib/gio/gemblemedicon.c:239,1
    - Dst: g_icon_hash
      Src: /src/glib/gio/gemblemedicon.c:240,1
    - Dst: G_ICON
      Src: /src/glib/gio/gemblemedicon.c:240,1
    - Dst: G_ICON
      Src: /src/glib/gio/gemblemedicon.c:239,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - GEmblem*
    - GEmblem*
    constantsTouched: []
    func_position:
      end: 249
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 249
    functionName: g_emblem_comp
    functionSourceFile: /src/glib/gio/gemblemedicon.c
    functionUses: []
    functionsReached:
    - g_icon_hash
    - G_ICON
    linkageType: ''
    returnType: gint
    signature: 'static gint g_emblem_comp (GEmblem *a, GEmblem *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_EMBLEMED_ICON
      Src: /src/glib/gio/gemblemedicon.c:275,1
    - Dst: g_icon_hash
      Src: /src/glib/gio/gemblemedicon.c:277,1
    - Dst: g_icon_hash
      Src: /src/glib/gio/gemblemedicon.c:280,1
    - Dst: G_ICON
      Src: /src/glib/gio/gemblemedicon.c:280,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - icon
    argTypes:
    - GIcon*
    constantsTouched: []
    func_position:
      end: 283
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 283
    functionName: g_emblemed_icon_hash
    functionSourceFile: /src/glib/gio/gemblemedicon.c
    functionUses: []
    functionsReached:
    - G_EMBLEMED_ICON
    - G_ICON
    - g_icon_hash
    linkageType: ''
    returnType: guint
    signature: 'static guint g_emblemed_icon_hash (GIcon *icon) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_EMBLEMED_ICON
      Src: /src/glib/gio/gemblemedicon.c:316,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gemblemedicon.c:325,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gemblemedicon.c:333,1
    - Dst: G_ICON
      Src: /src/glib/gio/gemblemedicon.c:337,1
    - Dst: g_icon_to_string
      Src: /src/glib/gio/gemblemedicon.c:329,1
    - Dst: g_icon_to_string
      Src: /src/glib/gio/gemblemedicon.c:339,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gemblemedicon.c:343,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 3
    argNames:
    - icon
    - tokens
    - out_version
    argTypes:
    - GIcon*
    - GPtrArray*
    - gint*
    constantsTouched: []
    func_position:
      end: 347
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 347
    functionName: g_emblemed_icon_to_tokens
    functionSourceFile: /src/glib/gio/gemblemedicon.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_icon_to_string
    - G_ICON
    - G_EMBLEMED_ICON
    - g_ptr_array_add
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_emblemed_icon_to_tokens (GIcon *icon, GPtrArray
      *tokens, gint *out_version) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_EMBLEMED_ICON
      Src: /src/glib/gio/gemblemedicon.c:417,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gemblemedicon.c:428,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gemblemedicon.c:426,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gemblemedicon.c:446,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gemblemedicon.c:448,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gemblemedicon.c:451,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gemblemedicon.c:441,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gemblemedicon.c:459,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gemblemedicon.c:459,1
    - Dst: g_variant_builder_init_static
      Src: /src/glib/gio/gemblemedicon.c:426,1
    - Dst: g_icon_serialize
      Src: /src/glib/gio/gemblemedicon.c:422,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gemblemedicon.c:441,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gemblemedicon.c:429,1
    - Dst: g_variant_builder_open
      Src: /src/glib/gio/gemblemedicon.c:431,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gemblemedicon.c:431,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gemblemedicon.c:448,1
    - Dst: g_icon_serialize
      Src: /src/glib/gio/gemblemedicon.c:434,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gemblemedicon.c:448,1
    - Dst: g_variant_builder_close
      Src: /src/glib/gio/gemblemedicon.c:457,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gemblemedicon.c:454,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gemblemedicon.c:449,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 460
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 460
    functionName: g_emblemed_icon_serialize
    functionSourceFile: /src/glib/gio/gemblemedicon.c
    functionUses: []
    functionsReached:
    - g_variant_builder_close
    - g_variant_is_of_type
    - g_variant_builder_init_static
    - g_icon_serialize
    - g_variant_unref
    - g_variant_new
    - G_VARIANT_TYPE
    - g_variant_get
    - g_variant_builder_end
    - g_str_equal
    - g_variant_builder_open
    - g_variant_builder_add
    - G_EMBLEMED_ICON
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_emblemed_icon_serialize (GIcon *icon) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GIconIface*
    constantsTouched: []
    func_position:
      end: 470
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 470
    functionName: g_emblemed_icon_icon_iface_init
    functionSourceFile: /src/glib/gio/gemblemedicon.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_emblemed_icon_icon_iface_init (GIconIface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_emblemed_icon_get_instance_private
      Src: /src/glib/gio/gemblemedicon.c:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - emblemed
    argTypes:
    - GEmblemedIcon*
    constantsTouched: []
    func_position:
      end: 144
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 144
    functionName: g_emblemed_icon_init
    functionSourceFile: /src/glib/gio/gemblemedicon.c
    functionUses: []
    functionsReached:
    - g_emblemed_icon_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_emblemed_icon_init (GEmblemedIcon *emblemed) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gemblemedicon.c:190,1
    - Dst: G_IS_EMBLEMED_ICON
      Src: /src/glib/gio/gemblemedicon.c:190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 193
    functionName: g_emblemed_icon_get_icon
    functionSourceFile: /src/glib/gio/gemblemedicon.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_EMBLEMED_ICON
    linkageType: ''
    returnType: GIcon*
    signature: 'GIcon *g_emblemed_icon_get_icon (GEmblemedIcon *emblemed) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_builder_init_static
      Src: /src/glib/gio/gactiongroupexporter.c:53,1
    - Dst: g_action_group_get_action_enabled
      Src: /src/glib/gio/gactiongroupexporter.c:55,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gactiongroupexporter.c:56,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gactiongroupexporter.c:53,1
    - Dst: g_action_group_get_action_parameter_type
      Src: /src/glib/gio/gactiongroupexporter.c:58,1
    - Dst: g_variant_type_dup_string
      Src: /src/glib/gio/gactiongroupexporter.c:60,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gactiongroupexporter.c:61,1
    - Dst: g_free
      Src: /src/glib/gio/gactiongroupexporter.c:62,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gactiongroupexporter.c:65,1
    - Dst: g_variant_builder_open
      Src: /src/glib/gio/gactiongroupexporter.c:67,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gactiongroupexporter.c:67,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gactiongroupexporter.c:70,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gactiongroupexporter.c:71,1
    - Dst: g_action_group_get_action_state
      Src: /src/glib/gio/gactiongroupexporter.c:68,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gactiongroupexporter.c:75,1
    - Dst: g_variant_builder_close
      Src: /src/glib/gio/gactiongroupexporter.c:73,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 76
    functionName: g_action_group_describe_action
    functionSourceFile: /src/glib/gio/gactiongroupexporter.c
    functionUses: []
    functionsReached:
    - g_action_group_get_action_enabled
    - g_variant_builder_close
    - g_variant_builder_init_static
    - g_free
    - g_variant_unref
    - g_variant_type_dup_string
    - g_action_group_get_action_parameter_type
    - g_variant_builder_end
    - g_variant_builder_open
    - g_variant_builder_add
    - g_action_group_get_action_state
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_action_group_describe_action (GActionGroup *action_group,
      const gchar *name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gactiongroupexporter.c:235,1
    - Dst: g_strdup
      Src: /src/glib/gio/gactiongroupexporter.c:235,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gactiongroupexporter.c:235,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gactiongroupexporter.c:237,1
    - Dst: g_hash_table_size
      Src: /src/glib/gio/gactiongroupexporter.c:239,1
    - Dst: g_idle_source_new
      Src: /src/glib/gio/gactiongroupexporter.c:246,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gactiongroupexporter.c:248,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gactiongroupexporter.c:249,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gactiongroupexporter.c:250,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gactiongroupexporter.c:251,1
    - Dst: g_source_destroy
      Src: /src/glib/gio/gactiongroupexporter.c:256,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 3
    argNames:
    - exporter
    - name
    - events
    argTypes:
    - GActionGroupExporter*
    - gchar*
    - guint
    constantsTouched: []
    func_position:
      end: 259
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 259
    functionName: g_action_group_exporter_set_events
    functionSourceFile: /src/glib/gio/gactiongroupexporter.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_source_set_callback
    - g_hash_table_remove
    - g_idle_source_new
    - g_source_attach
    - g_source_destroy
    - g_hash_table_insert
    - g_source_unref
    - GINT_TO_POINTER
    - g_hash_table_size
    - g_source_set_static_name
    linkageType: ''
    returnType: void
    signature: 'static void g_action_group_exporter_set_events (GActionGroupExporter
      *exporter, const gchar *name, guint events) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_source_destroy
      Src: /src/glib/gio/gactiongroupexporter.c:213,1
    - Dst: g_action_group_exporter_dispatch_events
      Src: /src/glib/gio/gactiongroupexporter.c:214,1
    - Dst: g_assert
      Src: /src/glib/gio/gactiongroupexporter.c:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - exporter
    argTypes:
    - GActionGroupExporter*
    constantsTouched: []
    func_position:
      end: 217
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 217
    functionName: g_action_group_exporter_flush_queue
    functionSourceFile: /src/glib/gio/gactiongroupexporter.c
    functionUses: []
    functionsReached:
    - g_action_group_exporter_dispatch_events
    - g_source_destroy
    - g_assert
    linkageType: ''
    returnType: void
    signature: 'static void g_action_group_exporter_flush_queue (GActionGroupExporter
      *exporter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_action_group_exporter_get_events
      Src: /src/glib/gio/gactiongroupexporter.c:290,1
    - Dst: g_action_group_exporter_set_events
      Src: /src/glib/gio/gactiongroupexporter.c:312,1
    - Dst: g_assert
      Src: /src/glib/gio/gactiongroupexporter.c:300,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - action_group
    - action_name
    - user_data
    argTypes:
    - GActionGroup*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 313
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 313
    functionName: g_action_group_exporter_action_removed
    functionSourceFile: /src/glib/gio/gactiongroupexporter.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_action_group_exporter_get_events
    - g_action_group_exporter_set_events
    linkageType: ''
    returnType: void
    signature: 'static void g_action_group_exporter_action_removed (GActionGroup *action_group,
      const gchar *action_name, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_action_group_exporter_get_events
      Src: /src/glib/gio/gactiongroupexporter.c:351,1
    - Dst: g_action_group_exporter_set_events
      Src: /src/glib/gio/gactiongroupexporter.c:360,1
    - Dst: g_assert
      Src: /src/glib/gio/gactiongroupexporter.c:354,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - action_group
    - action_name
    - enabled
    - user_data
    argTypes:
    - GActionGroup*
    - gchar*
    - gboolean
    - gpointer
    constantsTouched: []
    func_position:
      end: 361
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 361
    functionName: g_action_group_exporter_action_enabled_changed
    functionSourceFile: /src/glib/gio/gactiongroupexporter.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_action_group_exporter_get_events
    - g_action_group_exporter_set_events
    linkageType: ''
    returnType: void
    signature: 'static void g_action_group_exporter_action_enabled_changed (GActionGroup
      *action_group, const gchar *action_name, gboolean enabled, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_handlers_disconnect_by_func
      Src: /src/glib/gio/gactiongroupexporter.c:535,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gactiongroupexporter.c:544,1
    - Dst: g_signal_handlers_disconnect_by_func
      Src: /src/glib/gio/gactiongroupexporter.c:541,1
    - Dst: g_signal_handlers_disconnect_by_func
      Src: /src/glib/gio/gactiongroupexporter.c:537,1
    - Dst: g_signal_handlers_disconnect_by_func
      Src: /src/glib/gio/gactiongroupexporter.c:539,1
    - Dst: g_source_destroy
      Src: /src/glib/gio/gactiongroupexporter.c:546,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/gactiongroupexporter.c:548,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gactiongroupexporter.c:549,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gactiongroupexporter.c:550,1
    - Dst: g_free
      Src: /src/glib/gio/gactiongroupexporter.c:551,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gactiongroupexporter.c:553,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - exporter
    argTypes:
    - GActionGroupExporter*
    constantsTouched: []
    func_position:
      end: 554
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 554
    functionName: g_action_group_exporter_free
    functionSourceFile: /src/glib/gio/gactiongroupexporter.c
    functionUses: []
    functionsReached:
    - g_main_context_unref
    - g_signal_handlers_disconnect_by_func
    - g_object_unref
    - g_hash_table_unref
    - g_source_destroy
    - g_slice_free
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void g_action_group_exporter_free (GActionGroupExporter *exporter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_unregister_object
      Src: /src/glib/gio/gactiongroupexporter.c:658,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - connection
    - export_id
    argTypes:
    - GDBusConnection*
    - guint
    constantsTouched: []
    func_position:
      end: 659
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 659
    functionName: g_dbus_connection_unexport_action_group
    functionSourceFile: /src/glib/gio/gactiongroupexporter.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_unregister_object
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_connection_unexport_action_group (GDBusConnection *connection,
      guint export_id) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_builder_init_static
      Src: /src/glib/gio/gactiongroupexporter.c:151,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gactiongroupexporter.c:153,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gactiongroupexporter.c:173,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gactiongroupexporter.c:166,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gactiongroupexporter.c:181,1
    - Dst: g_dbus_connection_emit_signal
      Src: /src/glib/gio/gactiongroupexporter.c:196,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gactiongroupexporter.c:198,1
    - Dst: g_variant_builder_init_static
      Src: /src/glib/gio/gactiongroupexporter.c:150,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gactiongroupexporter.c:151,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gio/gactiongroupexporter.c:156,1
    - Dst: g_action_group_get_action_enabled
      Src: /src/glib/gio/gactiongroupexporter.c:172,1
    - Dst: g_action_group_describe_action
      Src: /src/glib/gio/gactiongroupexporter.c:189,1
    - Dst: g_hash_table_remove_all
      Src: /src/glib/gio/gactiongroupexporter.c:194,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gactiongroupexporter.c:150,1
    - Dst: g_variant_builder_init_static
      Src: /src/glib/gio/gactiongroupexporter.c:149,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gactiongroupexporter.c:154,1
    - Dst: g_action_group_get_action_state
      Src: /src/glib/gio/gactiongroupexporter.c:180,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gactiongroupexporter.c:182,1
    - Dst: g_variant_builder_init_static
      Src: /src/glib/gio/gactiongroupexporter.c:148,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gactiongroupexporter.c:149,1
    - Dst: g_assert
      Src: /src/glib/gio/gactiongroupexporter.c:162,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gactiongroupexporter.c:190,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 206
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 206
    functionName: g_action_group_exporter_dispatch_events
    functionSourceFile: /src/glib/gio/gactiongroupexporter.c
    functionUses: []
    functionsReached:
    - g_hash_table_iter_init
    - GPOINTER_TO_INT
    - g_action_group_get_action_enabled
    - g_assert
    - g_variant_builder_init_static
    - g_dbus_connection_emit_signal
    - g_variant_unref
    - g_variant_new
    - g_action_group_get_action_state
    - g_hash_table_remove_all
    - g_variant_builder_add
    - g_action_group_describe_action
    - G_VARIANT_TYPE
    - g_hash_table_iter_next
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_action_group_exporter_dispatch_events (gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gactiongroupexporter.c:223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - exporter
    - name
    argTypes:
    - GActionGroupExporter*
    - gchar*
    constantsTouched: []
    func_position:
      end: 224
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 224
    functionName: g_action_group_exporter_get_events
    functionSourceFile: /src/glib/gio/gactiongroupexporter.c
    functionUses: []
    functionsReached:
    - g_hash_table_lookup
    linkageType: ''
    returnType: guint
    signature: 'static guint g_action_group_exporter_get_events (GActionGroupExporter
      *exporter, const gchar *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_action_group_exporter_get_events
      Src: /src/glib/gio/gactiongroupexporter.c:269,1
    - Dst: g_action_group_exporter_set_events
      Src: /src/glib/gio/gactiongroupexporter.c:279,1
    - Dst: g_assert
      Src: /src/glib/gio/gactiongroupexporter.c:274,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - action_group
    - action_name
    - user_data
    argTypes:
    - GActionGroup*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 280
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 280
    functionName: g_action_group_exporter_action_added
    functionSourceFile: /src/glib/gio/gactiongroupexporter.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_action_group_exporter_get_events
    - g_action_group_exporter_set_events
    linkageType: ''
    returnType: void
    signature: 'static void g_action_group_exporter_action_added (GActionGroup *action_group,
      const gchar *action_name, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_action_group_exporter_get_events
      Src: /src/glib/gio/gactiongroupexporter.c:324,1
    - Dst: g_action_group_exporter_set_events
      Src: /src/glib/gio/gactiongroupexporter.c:339,1
    - Dst: g_assert
      Src: /src/glib/gio/gactiongroupexporter.c:329,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - action_group
    - action_name
    - value
    - user_data
    argTypes:
    - GActionGroup*
    - gchar*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 340
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 340
    functionName: g_action_group_exporter_action_state_changed
    functionSourceFile: /src/glib/gio/gactiongroupexporter.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_action_group_exporter_get_events
    - g_action_group_exporter_set_events
    linkageType: ''
    returnType: void
    signature: 'static void g_action_group_exporter_action_state_changed (GActionGroup
      *action_group, const gchar *action_name, GVariant *value, gpointer user_data) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: g_str_equal
      Src: /src/glib/gio/gactiongroupexporter.c:378,1
    - Dst: g_action_group_has_action
      Src: /src/glib/gio/gactiongroupexporter.c:394,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/gactiongroupexporter.c:396,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gactiongroupexporter.c:422,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gactiongroupexporter.c:425,1
    - Dst: g_variant_iter_free
      Src: /src/glib/gio/gactiongroupexporter.c:435,1
    - Dst: g_action_group_query_action
      Src: /src/glib/gio/gactiongroupexporter.c:438,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gactiongroupexporter.c:444,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gactiongroupexporter.c:457,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gactiongroupexporter.c:458,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gactiongroupexporter.c:500,1
    - Dst: G_REMOTE_ACTION_GROUP
      Src: /src/glib/gio/gactiongroupexporter.c:517,1
    - Dst: g_action_group_query_action
      Src: /src/glib/gio/gactiongroupexporter.c:484,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gactiongroupexporter.c:490,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gactiongroupexporter.c:523,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/gactiongroupexporter.c:488,1
    - Dst: g_action_group_exporter_flush_queue
      Src: /src/glib/gio/gactiongroupexporter.c:376,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gactiongroupexporter.c:421,1
    - Dst: G_IS_REMOTE_ACTION_GROUP
      Src: /src/glib/gio/gactiongroupexporter.c:462,1
    - Dst: g_remote_action_group_activate_action_full
      Src: /src/glib/gio/gactiongroupexporter.c:463,1
    - Dst: g_action_group_activate_action
      Src: /src/glib/gio/gactiongroupexporter.c:466,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gactiongroupexporter.c:481,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/gactiongroupexporter.c:506,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gactiongroupexporter.c:510,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gactiongroupexporter.c:512,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gactiongroupexporter.c:527,1
    - Dst: g_remote_action_group_change_action_state_full
      Src: /src/glib/gio/gactiongroupexporter.c:517,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/gactiongroupexporter.c:529,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gactiongroupexporter.c:445,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/gactiongroupexporter.c:497,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gactiongroupexporter.c:499,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gactiongroupexporter.c:384,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gactiongroupexporter.c:383,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gactiongroupexporter.c:392,1
    - Dst: g_variant_builder_init_static
      Src: /src/glib/gio/gactiongroupexporter.c:412,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gactiongroupexporter.c:405,1
    - Dst: g_action_group_list_actions
      Src: /src/glib/gio/gactiongroupexporter.c:411,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gactiongroupexporter.c:419,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gactiongroupexporter.c:402,1
    - Dst: g_variant_iter_next
      Src: /src/glib/gio/gactiongroupexporter.c:434,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/gactiongroupexporter.c:442,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gactiongroupexporter.c:511,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gactiongroupexporter.c:471,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/gactiongroupexporter.c:452,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gactiongroupexporter.c:522,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gactiongroupexporter.c:491,1
    - Dst: G_IS_REMOTE_ACTION_GROUP
      Src: /src/glib/gio/gactiongroupexporter.c:516,1
    - Dst: g_action_group_list_actions
      Src: /src/glib/gio/gactiongroupexporter.c:382,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gactiongroupexporter.c:387,1
    - Dst: g_action_group_describe_action
      Src: /src/glib/gio/gactiongroupexporter.c:401,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gactiongroupexporter.c:412,1
    - Dst: g_action_group_describe_action
      Src: /src/glib/gio/gactiongroupexporter.c:418,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gactiongroupexporter.c:433,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gactiongroupexporter.c:450,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gactiongroupexporter.c:456,1
    - Dst: G_REMOTE_ACTION_GROUP
      Src: /src/glib/gio/gactiongroupexporter.c:463,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gactiongroupexporter.c:469,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gactiongroupexporter.c:504,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gactiongroupexporter.c:474,1
    - Dst: g_action_group_change_action_state
      Src: /src/glib/gio/gactiongroupexporter.c:520,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 97
    argCount: 8
    argNames:
    - connection
    - sender
    - object_path
    - interface_name
    - method_name
    - parameters
    - invocation
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GVariant*
    - GDBusMethodInvocation*
    - gpointer
    constantsTouched: []
    func_position:
      end: 530
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 530
    functionName: org_gtk_Actions_method_call
    functionSourceFile: /src/glib/gio/gactiongroupexporter.c
    functionUses: []
    functionsReached:
    - g_action_group_has_action
    - g_variant_iter_next
    - g_action_group_exporter_flush_queue
    - g_action_group_describe_action
    - g_variant_is_of_type
    - g_variant_builder_init_static
    - g_action_group_list_actions
    - g_action_group_query_action
    - g_strfreev
    - g_clear_pointer
    - g_variant_unref
    - g_remote_action_group_activate_action_full
    - g_dbus_method_invocation_return_value
    - g_action_group_change_action_state
    - g_variant_get
    - g_variant_get_type_string
    - g_action_group_activate_action
    - g_assert_not_reached
    - g_dbus_method_invocation_return_error
    - G_VARIANT_TYPE
    - g_str_equal
    - G_IS_REMOTE_ACTION_GROUP
    - G_REMOTE_ACTION_GROUP
    - g_variant_new
    - g_remote_action_group_change_action_state_full
    - g_variant_iter_free
    - g_variant_builder_add
    linkageType: ''
    returnType: void
    signature: 'static void org_gtk_Actions_method_call (GDBusConnection *connection,
      const gchar *sender, const gchar *object_path, const gchar *interface_name,
      const gchar *method_name, GVariant *parameters, GDBusMethodInvocation *invocation,
      gpointer user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gactiongroupexporter.c:609,1
    - Dst: g_slice_new
      Src: /src/glib/gio/gactiongroupexporter.c:614,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gactiongroupexporter.c:619,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gactiongroupexporter.c:633,1
    - Dst: g_dbus_node_info_new_for_xml
      Src: /src/glib/gio/gactiongroupexporter.c:605,1
    - Dst: g_dbus_node_info_lookup_interface
      Src: /src/glib/gio/gactiongroupexporter.c:608,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/gactiongroupexporter.c:611,1
    - Dst: g_main_context_ref_thread_default
      Src: /src/glib/gio/gactiongroupexporter.c:615,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gactiongroupexporter.c:631,1
    - Dst: g_strdup
      Src: /src/glib/gio/gactiongroupexporter.c:620,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gactiongroupexporter.c:634,1
    - Dst: g_error
      Src: /src/glib/gio/gactiongroupexporter.c:607,1
    - Dst: g_dbus_interface_info_ref
      Src: /src/glib/gio/gactiongroupexporter.c:610,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gactiongroupexporter.c:629,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gactiongroupexporter.c:632,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gactiongroupexporter.c:627,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gactiongroupexporter.c:616,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gactiongroupexporter.c:618,1
    - Dst: g_dbus_connection_register_object
      Src: /src/glib/gio/gactiongroupexporter.c:622,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gactiongroupexporter.c:630,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gactiongroupexporter.c:628,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 4
    argNames:
    - connection
    - object_path
    - action_group
    - error
    argTypes:
    - GDBusConnection*
    - gchar*
    - GActionGroup*
    - GError**
    constantsTouched: []
    func_position:
      end: 638
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 638
    functionName: g_dbus_connection_export_action_group
    functionSourceFile: /src/glib/gio/gactiongroupexporter.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_dbus_node_info_new_for_xml
    - g_assert
    - g_dbus_interface_info_ref
    - g_dbus_node_info_unref
    - G_CALLBACK
    - g_hash_table_new_full
    - g_dbus_node_info_lookup_interface
    - g_slice_new
    - g_object_ref
    - g_dbus_connection_register_object
    - g_error
    - g_signal_connect
    - g_main_context_ref_thread_default
    linkageType: ''
    returnType: guint
    signature: 'guint g_dbus_connection_export_action_group (GDBusConnection *connection,
      const gchar *object_path, GActionGroup *action_group, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: IPackageManager
    functionSourceFile: /src/glib/gio/gwin32api-package.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: interface
    signature: 'interface IPackageManager '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 284
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 284
    functionName: IPackage
    functionSourceFile: /src/glib/gio/gwin32api-package.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: interface
    signature: 'interface IPackage '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 212
    functionName: IPackageId
    functionSourceFile: /src/glib/gio/gwin32api-package.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: interface
    signature: 'interface IPackageId '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 364
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 364
    functionName: IPackage2
    functionSourceFile: /src/glib/gio/gwin32api-package.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: interface
    signature: 'interface IPackage2 '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_MOUNT
      Src: /src/glib/gio/gwin32mount.c:112,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32mount.c:125,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32mount.c:115,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gwin32mount.c:123,1
    - Dst: _g_win32_volume_unset_mount
      Src: /src/glib/gio/gwin32mount.c:118,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32mount.c:127,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32mount.c:128,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gwin32mount.c:130,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gwin32mount.c:131,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 132
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 132
    functionName: g_win32_mount_finalize
    functionSourceFile: /src/glib/gio/gwin32mount.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - G_WIN32_MOUNT
    - G_OBJECT_CLASS
    - _g_win32_volume_unset_mount
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_mount_finalize (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_MOUNT
      Src: /src/glib/gio/gwin32mount.c:418,1
    - Dst: g_themed_icon_new_with_default_fallbacks
      Src: /src/glib/gio/gwin32mount.c:425,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32mount.c:428,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32mount.c:420,1
    - Dst: _win32_drive_type_to_icon
      Src: /src/glib/gio/gwin32mount.c:425,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 429
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 429
    functionName: g_win32_mount_get_symbolic_icon
    functionSourceFile: /src/glib/gio/gwin32mount.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_WIN32_MOUNT
    - g_themed_icon_new_with_default_fallbacks
    - g_object_ref
    - _win32_drive_type_to_icon
    linkageType: ''
    returnType: GIcon*
    signature: 'static GIcon *g_win32_mount_get_symbolic_icon (GMount *mount) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_MOUNT
      Src: /src/glib/gio/gwin32mount.c:476,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - mount
    argTypes:
    - GMount*
    constantsTouched: []
    func_position:
      end: 478
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 478
    functionName: g_win32_mount_can_eject
    functionSourceFile: /src/glib/gio/gwin32mount.c
    functionUses: []
    functionsReached:
    - G_WIN32_MOUNT
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_win32_mount_can_eject (GMount *mount) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 5
    argNames:
    - mount
    - flags
    - cancellable
    - callback
    - user_data
    argTypes:
    - GMount*
    - GMountUnmountFlags
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 516
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 516
    functionName: g_win32_mount_eject
    functionSourceFile: /src/glib/gio/gwin32mount.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void g_win32_mount_eject (GMount *mount,\t\t GMountUnmountFlags\
      \ flags,\t\t GCancellable *cancellable,\t\t GAsyncReadyCallback callback,\t\t\
      \ gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gwin32mount.c:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GWin32MountClass*
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: g_win32_mount_class_init
    functionSourceFile: /src/glib/gio/gwin32mount.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_mount_class_init (GWin32MountClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 435
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 435
    functionName: g_win32_mount_get_uuid
    functionSourceFile: /src/glib/gio/gwin32mount.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static char *g_win32_mount_get_uuid (GMount *mount) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 3
    argNames:
    - mount
    - result
    - error
    argTypes:
    - GMount*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 524
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 524
    functionName: g_win32_mount_eject_finish
    functionSourceFile: /src/glib/gio/gwin32mount.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_win32_mount_eject_finish (GMount *mount,\t\t\t GAsyncResult\
      \ *result,\t\t\t GError **error) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SUCCEEDED
      Src: /src/glib/gio/gwin32mount.c:163,1
    - Dst: SUCCEEDED
      Src: /src/glib/gio/gwin32mount.c:170,1
    - Dst: SHGetDesktopFolder
      Src: /src/glib/gio/gwin32mount.c:163,1
    - Dst: IShellFolder_ParseDisplayName
      Src: /src/glib/gio/gwin32mount.c:166,1
    - Dst: SUCCEEDED
      Src: /src/glib/gio/gwin32mount.c:166,1
    - Dst: IShellFolder_GetDisplayNameOf
      Src: /src/glib/gio/gwin32mount.c:170,1
    - Dst: SUCCEEDED
      Src: /src/glib/gio/gwin32mount.c:174,1
    - Dst: StrRetToStrW
      Src: /src/glib/gio/gwin32mount.c:174,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/gwin32mount.c:176,1
    - Dst: CoTaskMemFree
      Src: /src/glib/gio/gwin32mount.c:177,1
    - Dst: IShellFolder_Release
      Src: /src/glib/gio/gwin32mount.c:183,1
    - Dst: CoTaskMemFree
      Src: /src/glib/gio/gwin32mount.c:180,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 186
    functionName: get_mount_display_name
    functionSourceFile: /src/glib/gio/gwin32mount.c
    functionUses: []
    functionsReached:
    - SUCCEEDED
    - IShellFolder_ParseDisplayName
    - SHGetDesktopFolder
    - CoTaskMemFree
    - StrRetToStrW
    - IShellFolder_Release
    - IShellFolder_GetDisplayNameOf
    - g_utf16_to_utf8
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *get_mount_display_name (gunichar2 *wdrive) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/gwin32mount.c:215,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32mount.c:225,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32mount.c:224,1
    - Dst: g_object_new
      Src: /src/glib/gio/gwin32mount.c:223,1
    - Dst: g_win32_mount_guess_should_display
      Src: /src/glib/gio/gwin32mount.c:219,1
    - Dst: GetDriveTypeW
      Src: /src/glib/gio/gwin32mount.c:226,1
    - Dst: _win32_get_displayname
      Src: /src/glib/gio/gwin32mount.c:228,1
    - Dst: _g_win32_volume_set_mount
      Src: /src/glib/gio/gwin32mount.c:234,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32mount.c:237,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 240
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 240
    functionName: _g_win32_mount_new
    functionSourceFile: /src/glib/gio/gwin32mount.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_object_new
    - g_utf8_to_utf16
    - GetDriveTypeW
    - g_free
    - _win32_get_displayname
    - g_win32_mount_guess_should_display
    - g_object_ref
    - _g_win32_volume_set_mount
    linkageType: ''
    returnType: GWin32Mount*
    signature: 'GWin32Mount *_g_win32_mount_new (GVolumeMonitor *volume_monitor, const
      char *path, GWin32Volume *volume) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_MOUNT
      Src: /src/glib/gio/gwin32mount.c:274,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/gwin32mount.c:276,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 277
    functionName: g_win32_mount_get_root
    functionSourceFile: /src/glib/gio/gwin32mount.c
    functionUses: []
    functionsReached:
    - g_file_new_for_path
    - G_WIN32_MOUNT
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *g_win32_mount_get_root (GMount *mount) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_MOUNT
      Src: /src/glib/gio/gwin32mount.c:440,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32mount.c:442,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 443
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 443
    functionName: g_win32_mount_get_name
    functionSourceFile: /src/glib/gio/gwin32mount.c
    functionUses: []
    functionsReached:
    - g_strdup
    - G_WIN32_MOUNT
    linkageType: ''
    returnType: char*
    signature: 'static char *g_win32_mount_get_name (GMount *mount) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 290
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 290
    functionName: _win32_drive_type_to_icon
    functionSourceFile: /src/glib/gio/gwin32mount.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *_win32_drive_type_to_icon (int type, gboolean use_symbolic) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_MOUNT
      Src: /src/glib/gio/gwin32mount.c:448,1
    - Dst: g_volume_get_drive
      Src: /src/glib/gio/gwin32mount.c:451,1
    - Dst: G_VOLUME
      Src: /src/glib/gio/gwin32mount.c:451,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 454
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 454
    functionName: g_win32_mount_get_drive
    functionSourceFile: /src/glib/gio/gwin32mount.c
    functionUses: []
    functionsReached:
    - G_WIN32_MOUNT
    - g_volume_get_drive
    - G_VOLUME
    linkageType: ''
    returnType: GDrive*
    signature: 'static GDrive *g_win32_mount_get_drive (GMount *mount) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - win32_mount
    argTypes:
    - GWin32Mount*
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: g_win32_mount_init
    functionSourceFile: /src/glib/gio/gwin32mount.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_mount_init (GWin32Mount *win32_mount) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/gwin32mount.c:191,1
    - Dst: g_strdup
      Src: /src/glib/gio/gwin32mount.c:195,1
    - Dst: get_mount_display_name
      Src: /src/glib/gio/gwin32mount.c:192,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32mount.c:194,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 196
    functionName: _win32_get_displayname
    functionSourceFile: /src/glib/gio/gwin32mount.c
    functionUses: []
    functionsReached:
    - g_utf8_to_utf16
    - g_strdup
    - g_free
    - get_mount_display_name
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *_win32_get_displayname (const char *drive) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SUCCEEDED
      Src: /src/glib/gio/gwin32mount.c:320,1
    - Dst: SUCCEEDED
      Src: /src/glib/gio/gwin32mount.c:327,1
    - Dst: SHGetDesktopFolder
      Src: /src/glib/gio/gwin32mount.c:320,1
    - Dst: IShellFolder_ParseDisplayName
      Src: /src/glib/gio/gwin32mount.c:324,1
    - Dst: SUCCEEDED
      Src: /src/glib/gio/gwin32mount.c:324,1
    - Dst: SHBindToParent
      Src: /src/glib/gio/gwin32mount.c:327,1
    - Dst: SUCCEEDED
      Src: /src/glib/gio/gwin32mount.c:330,1
    - Dst: IShellFolder_GetUIObjectOf
      Src: /src/glib/gio/gwin32mount.c:330,1
    - Dst: g_renew
      Src: /src/glib/gio/gwin32mount.c:338,1
    - Dst: SUCCEEDED
      Src: /src/glib/gio/gwin32mount.c:343,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gwin32mount.c:358,1
    - Dst: IMyExtractIconW_Release
      Src: /src/glib/gio/gwin32mount.c:366,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32mount.c:365,1
    - Dst: IShellFolder_Release
      Src: /src/glib/gio/gwin32mount.c:368,1
    - Dst: CoTaskMemFree
      Src: /src/glib/gio/gwin32mount.c:370,1
    - Dst: IShellFolder_Release
      Src: /src/glib/gio/gwin32mount.c:373,1
    - Dst: IMyExtractIconW_GetIconLocation
      Src: /src/glib/gio/gwin32mount.c:343,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 3
    argNames:
    - mount_path
    - result_name
    - result_index
    argTypes:
    - wchar_t*
    - wchar_t**
    - int*
    constantsTouched: []
    func_position:
      end: 376
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 376
    functionName: get_icon_name_index
    functionSourceFile: /src/glib/gio/gwin32mount.c
    functionUses: []
    functionsReached:
    - SUCCEEDED
    - IShellFolder_ParseDisplayName
    - SHGetDesktopFolder
    - g_steal_pointer
    - g_renew
    - IMyExtractIconW_Release
    - IShellFolder_Release
    - CoTaskMemFree
    - IMyExtractIconW_GetIconLocation
    - IShellFolder_GetUIObjectOf
    - g_free
    - SHBindToParent
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean get_icon_name_index (wchar_t *mount_path, wchar_t
      **result_name, int *result_index) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_MOUNT
      Src: /src/glib/gio/gwin32mount.c:381,1
    - Dst: get_icon_name_index
      Src: /src/glib/gio/gwin32mount.c:397,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/gwin32mount.c:391,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gwin32mount.c:399,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32mount.c:383,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32mount.c:400,1
    - Dst: g_themed_icon_new
      Src: /src/glib/gio/gwin32mount.c:401,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32mount.c:402,1
    - Dst: g_themed_icon_new_with_default_fallbacks
      Src: /src/glib/gio/gwin32mount.c:406,1
    - Dst: _win32_drive_type_to_icon
      Src: /src/glib/gio/gwin32mount.c:406,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32mount.c:412,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32mount.c:409,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 413
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 413
    functionName: g_win32_mount_get_icon
    functionSourceFile: /src/glib/gio/gwin32mount.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_return_val_if_fail
    - g_utf8_to_utf16
    - G_WIN32_MOUNT
    - g_themed_icon_new
    - g_themed_icon_new_with_default_fallbacks
    - g_object_ref
    - _win32_drive_type_to_icon
    - g_free
    - get_icon_name_index
    linkageType: ''
    returnType: GIcon*
    signature: 'static GIcon *g_win32_mount_get_icon (GMount *mount) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GMountIface*
    constantsTouched: []
    func_position:
      end: 542
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 542
    functionName: g_win32_mount_mount_iface_init
    functionSourceFile: /src/glib/gio/gwin32mount.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_mount_mount_iface_init (GMountIface *iface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _g_win32_volume_unset_mount
      Src: /src/glib/gio/gwin32mount.c:248,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gwin32mount.c:251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - mount
    argTypes:
    - GWin32Mount*
    constantsTouched: []
    func_position:
      end: 255
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 255
    functionName: _g_win32_mount_unmounted
    functionSourceFile: /src/glib/gio/gwin32mount.c
    functionUses: []
    functionsReached:
    - g_signal_emit_by_name
    - _g_win32_volume_unset_mount
    linkageType: ''
    returnType: void
    signature: 'void _g_win32_mount_unmounted (GWin32Mount *mount) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_MOUNT
      Src: /src/glib/gio/gwin32mount.c:459,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gwin32mount.c:462,1
    - Dst: G_VOLUME
      Src: /src/glib/gio/gwin32mount.c:462,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 465
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 465
    functionName: g_win32_mount_get_volume
    functionSourceFile: /src/glib/gio/gwin32mount.c
    functionUses: []
    functionsReached:
    - G_WIN32_MOUNT
    - G_VOLUME
    - g_object_ref
    linkageType: ''
    returnType: GVolume*
    signature: 'static GVolume *g_win32_mount_get_volume (GMount *mount) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 5
    argNames:
    - mount
    - flags
    - cancellable
    - callback
    - user_data
    argTypes:
    - GMount*
    - GMountUnmountFlags
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 499
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 499
    functionName: g_win32_mount_unmount
    functionSourceFile: /src/glib/gio/gwin32mount.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void g_win32_mount_unmount (GMount *mount,\t\t GMountUnmountFlags\
      \ flags,\t\t GCancellable *cancellable,\t\t GAsyncReadyCallback callback,\t\t\
      \ gpointer user_data) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gwin32mount.c:265,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gwin32mount.c:267,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - mount
    - volume
    argTypes:
    - GWin32Mount*
    - GWin32Volume*
    constantsTouched: []
    func_position:
      end: 269
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 269
    functionName: _g_win32_mount_unset_volume
    functionSourceFile: /src/glib/gio/gwin32mount.c
    functionUses: []
    functionsReached:
    - g_signal_emit_by_name
    linkageType: ''
    returnType: void
    signature: "void _g_win32_mount_unset_volume (GWin32Mount *mount,\t\t\t GWin32Volume\
      \ *volume) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - mount
    argTypes:
    - GMount*
    constantsTouched: []
    func_position:
      end: 471
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 471
    functionName: g_win32_mount_can_unmount
    functionSourceFile: /src/glib/gio/gwin32mount.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_win32_mount_can_unmount (GMount *mount) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 3
    argNames:
    - mount
    - result
    - error
    argTypes:
    - GMount*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 507
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 507
    functionName: g_win32_mount_unmount_finish
    functionSourceFile: /src/glib/gio/gwin32mount.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_win32_mount_unmount_finish (GMount *mount,\t\t\t\
      \ GAsyncResult *result,\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_TCP_WRAPPER_CONNECTION
      Src: /src/glib/gio/gtcpwrapperconnection.c:58,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/gtcpwrapperconnection.c:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: g_tcp_wrapper_connection_get_input_stream
    functionSourceFile: /src/glib/gio/gtcpwrapperconnection.c
    functionUses: []
    functionsReached:
    - G_TCP_WRAPPER_CONNECTION
    - g_io_stream_get_input_stream
    linkageType: ''
    returnType: GInputStream*
    signature: 'static GInputStream *g_tcp_wrapper_connection_get_input_stream (GIOStream
      *io_stream) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_TCP_WRAPPER_CONNECTION
      Src: /src/glib/gio/gtcpwrapperconnection.c:77,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gtcpwrapperconnection.c:82,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gtcpwrapperconnection.c:86,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 88
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 88
    functionName: g_tcp_wrapper_connection_get_property
    functionSourceFile: /src/glib/gio/gtcpwrapperconnection.c
    functionUses: []
    functionsReached:
    - g_value_set_object
    - G_TCP_WRAPPER_CONNECTION
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: "static void g_tcp_wrapper_connection_get_property (GObject *object,\t\
      \t\t\t guint prop_id,\t\t\t\t GValue *value,\t\t\t\t GParamSpec *pspec) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_TCP_WRAPPER_CONNECTION
      Src: /src/glib/gio/gtcpwrapperconnection.c:112,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gtcpwrapperconnection.c:117,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gtcpwrapperconnection.c:115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: g_tcp_wrapper_connection_finalize
    functionSourceFile: /src/glib/gio/gtcpwrapperconnection.c
    functionUses: []
    functionsReached:
    - G_TCP_WRAPPER_CONNECTION
    - g_object_unref
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_tcp_wrapper_connection_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_tcp_wrapper_connection_get_instance_private
      Src: /src/glib/gio/gtcpwrapperconnection.c:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - connection
    argTypes:
    - GTcpWrapperConnection*
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: g_tcp_wrapper_connection_init
    functionSourceFile: /src/glib/gio/gtcpwrapperconnection.c
    functionUses: []
    functionsReached:
    - g_tcp_wrapper_connection_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_tcp_wrapper_connection_init (GTcpWrapperConnection *connection) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtcpwrapperconnection.c:193,1
    - Dst: G_IS_TCP_WRAPPER_CONNECTION
      Src: /src/glib/gio/gtcpwrapperconnection.c:193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 196
    functionName: g_tcp_wrapper_connection_get_base_io_stream
    functionSourceFile: /src/glib/gio/gtcpwrapperconnection.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_TCP_WRAPPER_CONNECTION
    linkageType: ''
    returnType: GIOStream*
    signature: 'GIOStream *g_tcp_wrapper_connection_get_base_io_stream (GTcpWrapperConnection
      *conn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_TCP_WRAPPER_CONNECTION
      Src: /src/glib/gio/gtcpwrapperconnection.c:66,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/gtcpwrapperconnection.c:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: g_tcp_wrapper_connection_get_output_stream
    functionSourceFile: /src/glib/gio/gtcpwrapperconnection.c
    functionUses: []
    functionsReached:
    - g_io_stream_get_output_stream
    - G_TCP_WRAPPER_CONNECTION
    linkageType: ''
    returnType: GOutputStream*
    signature: 'static GOutputStream *g_tcp_wrapper_connection_get_output_stream (GIOStream
      *io_stream) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_TCP_WRAPPER_CONNECTION
      Src: /src/glib/gio/gtcpwrapperconnection.c:96,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gtcpwrapperconnection.c:105,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/gtcpwrapperconnection.c:101,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 107
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 107
    functionName: g_tcp_wrapper_connection_set_property
    functionSourceFile: /src/glib/gio/gtcpwrapperconnection.c
    functionUses: []
    functionsReached:
    - G_TCP_WRAPPER_CONNECTION
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_dup_object
    linkageType: ''
    returnType: void
    signature: 'static void g_tcp_wrapper_connection_set_property (GObject *object,
      guint prop_id, const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gtcpwrapperconnection.c:123,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gtcpwrapperconnection.c:142,1
    - Dst: G_IO_STREAM_CLASS
      Src: /src/glib/gio/gtcpwrapperconnection.c:124,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtcpwrapperconnection.c:140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GTcpWrapperConnectionClass*
    constantsTouched: []
    func_position:
      end: 147
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 147
    functionName: g_tcp_wrapper_connection_class_init
    functionSourceFile: /src/glib/gio/gtcpwrapperconnection.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_object
    - G_IO_STREAM_CLASS
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_tcp_wrapper_connection_class_init (GTcpWrapperConnectionClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtcpwrapperconnection.c:170,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtcpwrapperconnection.c:171,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gtcpwrapperconnection.c:171,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtcpwrapperconnection.c:172,1
    - Dst: G_IS_IO_STREAM
      Src: /src/glib/gio/gtcpwrapperconnection.c:170,1
    - Dst: g_socket_get_family
      Src: /src/glib/gio/gtcpwrapperconnection.c:172,1
    - Dst: g_socket_get_family
      Src: /src/glib/gio/gtcpwrapperconnection.c:173,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtcpwrapperconnection.c:174,1
    - Dst: g_socket_get_socket_type
      Src: /src/glib/gio/gtcpwrapperconnection.c:174,1
    - Dst: g_object_new
      Src: /src/glib/gio/gtcpwrapperconnection.c:176,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 180
    functionName: g_tcp_wrapper_connection_new
    functionSourceFile: /src/glib/gio/gtcpwrapperconnection.c
    functionUses: []
    functionsReached:
    - G_IS_IO_STREAM
    - g_return_val_if_fail
    - g_object_new
    - g_socket_get_family
    - g_socket_get_socket_type
    - G_IS_SOCKET
    linkageType: ''
    returnType: GSocketConnection*
    signature: "GSocketConnection *g_tcp_wrapper_connection_new (GIOStream *base_io_stream,\t\
      \t\t GSocket *socket) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmount.c:295,1
    - Dst: G_MOUNT_GET_IFACE
      Src: /src/glib/gio/gmount.c:297,1
    - Dst: G_IS_MOUNT
      Src: /src/glib/gio/gmount.c:295,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 300
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 300
    functionName: g_mount_get_volume
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_MOUNT
    - G_MOUNT_GET_IFACE
    linkageType: ''
    returnType: GVolume*
    signature: 'GVolume *g_mount_get_volume (GMount *mount) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmount.c:391,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gmount.c:397,1
    - Dst: _
      Src: /src/glib/gio/gmount.c:403,1
    - Dst: G_MOUNT_GET_IFACE
      Src: /src/glib/gio/gmount.c:393,1
    - Dst: G_IS_MOUNT
      Src: /src/glib/gio/gmount.c:391,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 5
    argNames:
    - mount
    - flags
    - cancellable
    - callback
    - user_data
    argTypes:
    - GMount*
    - GMountUnmountFlags
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 408
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 408
    functionName: g_mount_unmount
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - g_task_report_new_error
    - G_MOUNT_GET_IFACE
    - _
    - G_IS_MOUNT
    linkageType: ''
    returnType: void
    signature: 'void g_mount_unmount (GMount *mount, GMountUnmountFlags flags, GCancellable
      *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmount.c:844,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gmount.c:845,1
    - Dst: G_IS_MOUNT
      Src: /src/glib/gio/gmount.c:844,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmount.c:845,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gmount.c:847,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gmount.c:849,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gmount.c:850,1
    - Dst: G_TASK
      Src: /src/glib/gio/gmount.c:850,1
    - Dst: G_MOUNT_GET_IFACE
      Src: /src/glib/gio/gmount.c:852,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 854
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 854
    functionName: g_mount_guess_content_type_finish
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    - G_IS_MOUNT
    - G_IS_ASYNC_RESULT
    - G_MOUNT_GET_IFACE
    - G_TASK
    - g_async_result_is_tagged
    - g_task_propagate_pointer
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **g_mount_guess_content_type_finish (GMount *mount, GAsyncResult
      *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmount.c:981,1
    - Dst: get_private
      Src: /src/glib/gio/gmount.c:984,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gmount.c:986,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gmount.c:983,1
    - Dst: G_IS_MOUNT
      Src: /src/glib/gio/gmount.c:981,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - mount
    argTypes:
    - GMount*
    constantsTouched: []
    func_position:
      end: 989
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 989
    functionName: g_mount_is_shadowed
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_MOUNT
    - G_UNLOCK
    - get_private
    - G_LOCK
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_mount_is_shadowed (GMount *mount) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmount.c:165,1
    - Dst: G_MOUNT_GET_IFACE
      Src: /src/glib/gio/gmount.c:167,1
    - Dst: G_IS_MOUNT
      Src: /src/glib/gio/gmount.c:165,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 176
    functionName: g_mount_get_default_location
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_MOUNT
    - G_MOUNT_GET_IFACE
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *g_mount_get_default_location (GMount *mount) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmount.c:361,1
    - Dst: G_IS_MOUNT
      Src: /src/glib/gio/gmount.c:361,1
    - Dst: G_MOUNT_GET_IFACE
      Src: /src/glib/gio/gmount.c:363,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - mount
    argTypes:
    - GMount*
    constantsTouched: []
    func_position:
      end: 366
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 366
    functionName: g_mount_can_eject
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_MOUNT
    - G_MOUNT_GET_IFACE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_mount_can_eject (GMount *mount) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmount.c:800,1
    - Dst: G_MOUNT_GET_IFACE
      Src: /src/glib/gio/gmount.c:802,1
    - Dst: _
      Src: /src/glib/gio/gmount.c:812,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gmount.c:806,1
    - Dst: G_IS_MOUNT
      Src: /src/glib/gio/gmount.c:800,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 5
    argNames:
    - mount
    - force_rescan
    - cancellable
    - callback
    - user_data
    argTypes:
    - GMount*
    - gboolean
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 817
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 817
    functionName: g_mount_guess_content_type
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - g_task_report_new_error
    - G_MOUNT_GET_IFACE
    - _
    - G_IS_MOUNT
    linkageType: ''
    returnType: void
    signature: 'void g_mount_guess_content_type (GMount *mount, gboolean force_rescan,
      GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_get_data
      Src: /src/glib/gio/gmount.c:929,1
    - Dst: g_object_set_data_full
      Src: /src/glib/gio/gmount.c:934,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gmount.c:929,1
    - Dst: G_LIKELY
      Src: /src/glib/gio/gmount.c:930,1
    - Dst: g_new0
      Src: /src/glib/gio/gmount.c:933,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gmount.c:934,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 941
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 941
    functionName: get_private
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - G_LIKELY
    - g_new0
    - g_object_get_data
    - g_object_set_data_full
    linkageType: ''
    returnType: GMountPrivate*
    signature: 'static GMountPrivate *get_private (GMount *mount) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmount.c:241,1
    - Dst: G_IS_MOUNT
      Src: /src/glib/gio/gmount.c:241,1
    - Dst: g_themed_icon_new_with_default_fallbacks
      Src: /src/glib/gio/gmount.c:248,1
    - Dst: G_MOUNT_GET_IFACE
      Src: /src/glib/gio/gmount.c:243,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 251
    functionName: g_mount_get_symbolic_icon
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - g_themed_icon_new_with_default_fallbacks
    - g_return_val_if_fail
    - G_IS_MOUNT
    - G_MOUNT_GET_IFACE
    linkageType: ''
    returnType: GIcon*
    signature: 'GIcon *g_mount_get_symbolic_icon (GMount *mount) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmount.c:467,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gmount.c:473,1
    - Dst: G_MOUNT_GET_IFACE
      Src: /src/glib/gio/gmount.c:469,1
    - Dst: G_IS_MOUNT
      Src: /src/glib/gio/gmount.c:467,1
    - Dst: _
      Src: /src/glib/gio/gmount.c:479,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 5
    argNames:
    - mount
    - flags
    - cancellable
    - callback
    - user_data
    argTypes:
    - GMount*
    - GMountUnmountFlags
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 484
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 484
    functionName: g_mount_eject
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - g_task_report_new_error
    - G_MOUNT_GET_IFACE
    - _
    - G_IS_MOUNT
    linkageType: ''
    returnType: void
    signature: 'void g_mount_eject (GMount *mount, GMountUnmountFlags flags, GCancellable
      *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmount.c:545,1
    - Dst: _
      Src: /src/glib/gio/gmount.c:557,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gmount.c:551,1
    - Dst: G_MOUNT_GET_IFACE
      Src: /src/glib/gio/gmount.c:547,1
    - Dst: G_IS_MOUNT
      Src: /src/glib/gio/gmount.c:545,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 6
    argNames:
    - mount
    - flags
    - mount_operation
    - cancellable
    - callback
    - user_data
    argTypes:
    - GMount*
    - GMountUnmountFlags
    - GMountOperation*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 565
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 565
    functionName: g_mount_unmount_with_operation
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - g_task_report_new_error
    - G_MOUNT_GET_IFACE
    - _
    - G_IS_MOUNT
    linkageType: ''
    returnType: void
    signature: 'void g_mount_unmount_with_operation (GMount *mount, GMountUnmountFlags
      flags, GMountOperation *mount_operation, GCancellable *cancellable, GAsyncReadyCallback
      callback, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmount.c:888,1
    - Dst: G_IS_MOUNT
      Src: /src/glib/gio/gmount.c:888,1
    - Dst: _
      Src: /src/glib/gio/gmount.c:899,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gmount.c:894,1
    - Dst: G_MOUNT_GET_IFACE
      Src: /src/glib/gio/gmount.c:890,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 905
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 905
    functionName: g_mount_guess_content_type_sync
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_set_error_literal
    - G_MOUNT_GET_IFACE
    - _
    - G_IS_MOUNT
    linkageType: ''
    returnType: char**
    signature: 'char **g_mount_guess_content_type_sync (GMount *mount, gboolean force_rescan,
      GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmount.c:1007,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gmount.c:1012,1
    - Dst: G_IS_MOUNT
      Src: /src/glib/gio/gmount.c:1007,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gmount.c:1009,1
    - Dst: get_private
      Src: /src/glib/gio/gmount.c:1010,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - mount
    argTypes:
    - GMount*
    constantsTouched: []
    func_position:
      end: 1013
      start: 1002
    functionDepth: 0
    functionLinenumber: 1002
    functionLinenumberEnd: 1013
    functionName: g_mount_shadow
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - G_IS_MOUNT
    - G_UNLOCK
    - g_return_if_fail
    - get_private
    - G_LOCK
    linkageType: ''
    returnType: void
    signature: 'void g_mount_shadow (GMount *mount) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmount.c:321,1
    - Dst: G_IS_MOUNT
      Src: /src/glib/gio/gmount.c:321,1
    - Dst: G_MOUNT_GET_IFACE
      Src: /src/glib/gio/gmount.c:323,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 326
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 326
    functionName: g_mount_get_drive
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_MOUNT
    - G_MOUNT_GET_IFACE
    linkageType: ''
    returnType: GDrive*
    signature: 'GDrive *g_mount_get_drive (GMount *mount) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmount.c:431,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gmount.c:434,1
    - Dst: G_IS_MOUNT
      Src: /src/glib/gio/gmount.c:431,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmount.c:432,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gmount.c:432,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gmount.c:436,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gmount.c:437,1
    - Dst: G_TASK
      Src: /src/glib/gio/gmount.c:437,1
    - Dst: G_MOUNT_GET_IFACE
      Src: /src/glib/gio/gmount.c:439,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - mount
    - result
    - error
    argTypes:
    - GMount*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 441
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 441
    functionName: g_mount_unmount_finish
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    - G_IS_MOUNT
    - G_IS_ASYNC_RESULT
    - G_MOUNT_GET_IFACE
    - G_TASK
    - g_async_result_is_tagged
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_mount_unmount_finish (GMount *mount, GAsyncResult *result,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmount.c:193,1
    - Dst: G_IS_MOUNT
      Src: /src/glib/gio/gmount.c:193,1
    - Dst: G_MOUNT_GET_IFACE
      Src: /src/glib/gio/gmount.c:195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 198
    functionName: g_mount_get_name
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_MOUNT
    - G_MOUNT_GET_IFACE
    linkageType: ''
    returnType: char*
    signature: 'char *g_mount_get_name (GMount *mount) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmount.c:673,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gmount.c:674,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gmount.c:676,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmount.c:674,1
    - Dst: G_IS_MOUNT
      Src: /src/glib/gio/gmount.c:673,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gmount.c:678,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gmount.c:679,1
    - Dst: G_TASK
      Src: /src/glib/gio/gmount.c:679,1
    - Dst: G_MOUNT_GET_IFACE
      Src: /src/glib/gio/gmount.c:681,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - mount
    - result
    - error
    argTypes:
    - GMount*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 686
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 686
    functionName: g_mount_eject_with_operation_finish
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    - G_IS_MOUNT
    - G_IS_ASYNC_RESULT
    - G_MOUNT_GET_IFACE
    - G_TASK
    - g_async_result_is_tagged
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_mount_eject_with_operation_finish (GMount *mount, GAsyncResult
      *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_new
      Src: /src/glib/gio/gmount.c:80,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gmount.c:97,1
    - Dst: I_
      Src: /src/glib/gio/gmount.c:97,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gmount.c:83,1
    - Dst: I_
      Src: /src/glib/gio/gmount.c:80,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gmount.c:100,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gmount.c:116,1
    - Dst: I_
      Src: /src/glib/gio/gmount.c:116,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gmount.c:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GMountInterface*
    constantsTouched: []
    func_position:
      end: 123
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 123
    functionName: g_mount_default_init
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - I_
    - G_STRUCT_OFFSET
    - g_signal_new
    linkageType: ''
    returnType: void
    signature: 'static void g_mount_default_init (GMountInterface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmount.c:272,1
    - Dst: G_IS_MOUNT
      Src: /src/glib/gio/gmount.c:272,1
    - Dst: G_MOUNT_GET_IFACE
      Src: /src/glib/gio/gmount.c:274,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 277
    functionName: g_mount_get_uuid
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_MOUNT
    - G_MOUNT_GET_IFACE
    linkageType: ''
    returnType: char*
    signature: 'char *g_mount_get_uuid (GMount *mount) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmount.c:507,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gmount.c:508,1
    - Dst: G_IS_MOUNT
      Src: /src/glib/gio/gmount.c:507,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gmount.c:510,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmount.c:508,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gmount.c:512,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gmount.c:513,1
    - Dst: G_TASK
      Src: /src/glib/gio/gmount.c:513,1
    - Dst: G_MOUNT_GET_IFACE
      Src: /src/glib/gio/gmount.c:515,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - mount
    - result
    - error
    argTypes:
    - GMount*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 517
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 517
    functionName: g_mount_eject_finish
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    - G_IS_MOUNT
    - G_IS_ASYNC_RESULT
    - G_MOUNT_GET_IFACE
    - G_TASK
    - g_async_result_is_tagged
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_mount_eject_finish (GMount *mount, GAsyncResult *result,
      GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmount.c:588,1
    - Dst: G_IS_MOUNT
      Src: /src/glib/gio/gmount.c:588,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gmount.c:589,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gmount.c:591,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmount.c:589,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gmount.c:593,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gmount.c:594,1
    - Dst: G_TASK
      Src: /src/glib/gio/gmount.c:594,1
    - Dst: G_MOUNT_GET_IFACE
      Src: /src/glib/gio/gmount.c:596,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - mount
    - result
    - error
    argTypes:
    - GMount*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 601
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 601
    functionName: g_mount_unmount_with_operation_finish
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    - G_IS_MOUNT
    - G_IS_ASYNC_RESULT
    - G_MOUNT_GET_IFACE
    - G_TASK
    - g_async_result_is_tagged
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_mount_unmount_with_operation_finish (GMount *mount, GAsyncResult
      *result, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmount.c:630,1
    - Dst: _
      Src: /src/glib/gio/gmount.c:642,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gmount.c:636,1
    - Dst: G_IS_MOUNT
      Src: /src/glib/gio/gmount.c:630,1
    - Dst: G_MOUNT_GET_IFACE
      Src: /src/glib/gio/gmount.c:632,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 6
    argNames:
    - mount
    - flags
    - mount_operation
    - cancellable
    - callback
    - user_data
    argTypes:
    - GMount*
    - GMountUnmountFlags
    - GMountOperation*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 650
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 650
    functionName: g_mount_eject_with_operation
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - g_task_report_new_error
    - G_MOUNT_GET_IFACE
    - _
    - G_IS_MOUNT
    linkageType: ''
    returnType: void
    signature: 'void g_mount_eject_with_operation (GMount *mount, GMountUnmountFlags
      flags, GMountOperation *mount_operation, GCancellable *cancellable, GAsyncReadyCallback
      callback, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmount.c:1031,1
    - Dst: get_private
      Src: /src/glib/gio/gmount.c:1034,1
    - Dst: G_IS_MOUNT
      Src: /src/glib/gio/gmount.c:1031,1
    - Dst: g_warning
      Src: /src/glib/gio/gmount.c:1037,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gmount.c:1033,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gmount.c:1038,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - mount
    argTypes:
    - GMount*
    constantsTouched: []
    func_position:
      end: 1039
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1039
    functionName: g_mount_unshadow
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - g_warning
    - G_IS_MOUNT
    - g_return_if_fail
    - G_UNLOCK
    - get_private
    - G_LOCK
    linkageType: ''
    returnType: void
    signature: 'void g_mount_unshadow (GMount *mount) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmount.c:140,1
    - Dst: G_MOUNT_GET_IFACE
      Src: /src/glib/gio/gmount.c:142,1
    - Dst: G_IS_MOUNT
      Src: /src/glib/gio/gmount.c:140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 145
    functionName: g_mount_get_root
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_MOUNT
    - G_MOUNT_GET_IFACE
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *g_mount_get_root (GMount *mount) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmount.c:341,1
    - Dst: G_MOUNT_GET_IFACE
      Src: /src/glib/gio/gmount.c:343,1
    - Dst: G_IS_MOUNT
      Src: /src/glib/gio/gmount.c:341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - mount
    argTypes:
    - GMount*
    constantsTouched: []
    func_position:
      end: 346
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 346
    functionName: g_mount_can_unmount
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_MOUNT
    - G_MOUNT_GET_IFACE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_mount_can_unmount (GMount *mount) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmount.c:756,1
    - Dst: G_IS_MOUNT
      Src: /src/glib/gio/gmount.c:756,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gmount.c:757,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gmount.c:759,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmount.c:757,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gmount.c:761,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gmount.c:762,1
    - Dst: G_TASK
      Src: /src/glib/gio/gmount.c:762,1
    - Dst: G_MOUNT_GET_IFACE
      Src: /src/glib/gio/gmount.c:764,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - mount
    - result
    - error
    argTypes:
    - GMount*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 766
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 766
    functionName: g_mount_remount_finish
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    - G_IS_MOUNT
    - G_IS_ASYNC_RESULT
    - G_MOUNT_GET_IFACE
    - G_TASK
    - g_async_result_is_tagged
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_mount_remount_finish (GMount *mount, GAsyncResult *result,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gmount.c:918,1
    - Dst: g_free
      Src: /src/glib/gio/gmount.c:919,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gmount.c:920,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - private
    argTypes:
    - GMountPrivate*
    constantsTouched: []
    func_position:
      end: 921
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 921
    functionName: free_private
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - g_free
    - G_LOCK
    linkageType: ''
    returnType: void
    signature: 'static void free_private (GMountPrivate *private) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmount.c:215,1
    - Dst: G_MOUNT_GET_IFACE
      Src: /src/glib/gio/gmount.c:217,1
    - Dst: G_IS_MOUNT
      Src: /src/glib/gio/gmount.c:215,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 220
    functionName: g_mount_get_icon
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_MOUNT
    - G_MOUNT_GET_IFACE
    linkageType: ''
    returnType: GIcon*
    signature: 'GIcon *g_mount_get_icon (GMount *mount) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmount.c:718,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gmount.c:724,1
    - Dst: G_MOUNT_GET_IFACE
      Src: /src/glib/gio/gmount.c:720,1
    - Dst: G_IS_MOUNT
      Src: /src/glib/gio/gmount.c:718,1
    - Dst: _
      Src: /src/glib/gio/gmount.c:730,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 6
    argNames:
    - mount
    - flags
    - mount_operation
    - cancellable
    - callback
    - user_data
    argTypes:
    - GMount*
    - GMountMountFlags
    - GMountOperation*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 735
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 735
    functionName: g_mount_remount
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - g_task_report_new_error
    - G_MOUNT_GET_IFACE
    - _
    - G_IS_MOUNT
    linkageType: ''
    returnType: void
    signature: 'void g_mount_remount (GMount *mount, GMountMountFlags flags, GMountOperation
      *mount_operation, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer
      user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmount.c:1057,1
    - Dst: G_IS_MOUNT
      Src: /src/glib/gio/gmount.c:1057,1
    - Dst: G_MOUNT_GET_IFACE
      Src: /src/glib/gio/gmount.c:1059,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1064
    functionName: g_mount_get_sort_key
    functionSourceFile: /src/glib/gio/gmount.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_MOUNT
    - G_MOUNT_GET_IFACE
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_mount_get_sort_key (GMount *mount) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - c
    - allow_hyphen
    argTypes:
    - gint
    - gboolean
    constantsTouched: []
    func_position:
      end: 41
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 41
    functionName: is_valid_bus_name_character
    functionSourceFile: /src/glib/gio/gdbusutils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_valid_bus_name_character (gint c, gboolean allow_hyphen) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusutils.c:119,1
    - Dst: is_valid_name
      Src: /src/glib/gio/gdbusutils.c:131,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusutils.c:124,1
    - Dst: strlen
      Src: /src/glib/gio/gdbusutils.c:123,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusutils.c:136,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusutils.c:141,1
    - Dst: is_valid_initial_bus_name_character
      Src: /src/glib/gio/gdbusutils.c:141,1
    - Dst: is_valid_name
      Src: /src/glib/gio/gdbusutils.c:144,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 1
    argNames:
    - string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 148
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 148
    functionName: g_dbus_is_name
    functionSourceFile: /src/glib/gio/gdbusutils.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - strlen
    - is_valid_initial_bus_name_character
    - G_UNLIKELY
    - is_valid_name
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dbus_is_name (const gchar *string) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusutils.c:203,1
    - Dst: is_valid_bus_name_character
      Src: /src/glib/gio/gdbusutils.c:211,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusutils.c:206,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusutils.c:211,1
    - Dst: is_valid_initial_bus_name_character
      Src: /src/glib/gio/gdbusutils.c:206,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 221
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 221
    functionName: g_dbus_is_member_name
    functionSourceFile: /src/glib/gio/gdbusutils.c
    functionUses: []
    functionsReached:
    - is_valid_bus_name_character
    - is_valid_initial_bus_name_character
    - G_UNLIKELY
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dbus_is_member_name (const gchar *string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_is_interface_name
      Src: /src/glib/gio/gdbusutils.c:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 283
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 283
    functionName: g_dbus_is_error_name
    functionSourceFile: /src/glib/gio/gdbusutils.c
    functionUses: []
    functionsReached:
    - g_dbus_is_interface_name
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dbus_is_error_name (const gchar *string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/gio/gdbusutils.c:319,1
    - Dst: g_get_real_time
      Src: /src/glib/gio/gdbusutils.c:324,1
    - Dst: g_random_int
      Src: /src/glib/gio/gdbusutils.c:321,1
    - Dst: g_random_int
      Src: /src/glib/gio/gdbusutils.c:323,1
    - Dst: g_random_int
      Src: /src/glib/gio/gdbusutils.c:322,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusutils.c:326,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusutils.c:327,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusutils.c:328,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusutils.c:329,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbusutils.c:331,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 332
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 332
    functionName: g_dbus_generate_guid
    functionSourceFile: /src/glib/gio/gdbusutils.c
    functionUses: []
    functionsReached:
    - g_random_int
    - g_string_free
    - g_string_new
    - g_string_append_printf
    - g_get_real_time
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_dbus_generate_guid (void) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusutils.c:400,1
    - Dst: memset
      Src: /src/glib/gio/gdbusutils.c:402,1
    - Dst: g_variant_get_byte
      Src: /src/glib/gio/gdbusutils.c:413,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusutils.c:417,1
    - Dst: g_value_set_int
      Src: /src/glib/gio/gdbusutils.c:418,1
    - Dst: g_value_set_int
      Src: /src/glib/gio/gdbusutils.c:428,1
    - Dst: g_variant_get_uint64
      Src: /src/glib/gio/gdbusutils.c:443,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusutils.c:447,1
    - Dst: g_value_set_double
      Src: /src/glib/gio/gdbusutils.c:448,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusutils.c:458,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusutils.c:491,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusutils.c:472,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusutils.c:504,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusutils.c:482,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusutils.c:407,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gdbusutils.c:408,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusutils.c:422,1
    - Dst: g_variant_get_int16
      Src: /src/glib/gio/gdbusutils.c:418,1
    - Dst: g_value_set_uint
      Src: /src/glib/gio/gdbusutils.c:423,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusutils.c:432,1
    - Dst: g_value_set_uint
      Src: /src/glib/gio/gdbusutils.c:433,1
    - Dst: g_variant_get_double
      Src: /src/glib/gio/gdbusutils.c:448,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusutils.c:452,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gdbusutils.c:453,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusutils.c:471,1
    - Dst: g_variant_dup_bytestring_array
      Src: /src/glib/gio/gdbusutils.c:492,1
    - Dst: g_value_take_boxed
      Src: /src/glib/gio/gdbusutils.c:493,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusutils.c:497,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusutils.c:476,1
    - Dst: g_variant_dup_objv
      Src: /src/glib/gio/gdbusutils.c:483,1
    - Dst: g_value_set_variant
      Src: /src/glib/gio/gdbusutils.c:498,1
    - Dst: g_variant_get_bytestring
      Src: /src/glib/gio/gdbusutils.c:472,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusutils.c:515,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusutils.c:399,1
    - Dst: g_variant_classify
      Src: /src/glib/gio/gdbusutils.c:404,1
    - Dst: g_variant_get_boolean
      Src: /src/glib/gio/gdbusutils.c:408,1
    - Dst: g_variant_get_int32
      Src: /src/glib/gio/gdbusutils.c:428,1
    - Dst: g_variant_get_uint16
      Src: /src/glib/gio/gdbusutils.c:423,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusutils.c:427,1
    - Dst: g_variant_get_uint32
      Src: /src/glib/gio/gdbusutils.c:433,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusutils.c:437,1
    - Dst: g_value_set_int64
      Src: /src/glib/gio/gdbusutils.c:438,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusutils.c:453,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusutils.c:462,1
    - Dst: g_variant_dup_strv
      Src: /src/glib/gio/gdbusutils.c:477,1
    - Dst: g_value_set_variant
      Src: /src/glib/gio/gdbusutils.c:516,1
    - Dst: g_value_set_variant
      Src: /src/glib/gio/gdbusutils.c:505,1
    - Dst: g_value_take_boxed
      Src: /src/glib/gio/gdbusutils.c:478,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusutils.c:412,1
    - Dst: g_value_set_uchar
      Src: /src/glib/gio/gdbusutils.c:413,1
    - Dst: g_variant_get_int64
      Src: /src/glib/gio/gdbusutils.c:438,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusutils.c:442,1
    - Dst: g_value_set_uint64
      Src: /src/glib/gio/gdbusutils.c:443,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusutils.c:457,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gdbusutils.c:458,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gdbusutils.c:463,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/gio/gdbusutils.c:468,1
    - Dst: g_value_take_boxed
      Src: /src/glib/gio/gdbusutils.c:484,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusutils.c:463,1
    - Dst: g_variant_get_type
      Src: /src/glib/gio/gdbusutils.c:467,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/gio/gdbusutils.c:488,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 71
    argCount: 2
    argNames:
    - value
    - out_gvalue
    argTypes:
    - GVariant*
    - GValue*
    constantsTouched: []
    func_position:
      end: 519
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 519
    functionName: g_dbus_gvariant_to_gvalue
    functionSourceFile: /src/glib/gio/gdbusutils.c
    functionUses: []
    functionsReached:
    - g_value_set_uint
    - g_value_set_int
    - g_value_set_uint64
    - g_variant_get_double
    - g_value_set_int64
    - g_value_set_variant
    - g_value_take_boxed
    - g_variant_get_int16
    - g_variant_get_string
    - g_variant_dup_strv
    - g_variant_get_uint64
    - g_variant_classify
    - g_variant_dup_bytestring_array
    - g_variant_get_boolean
    - g_value_set_uchar
    - g_variant_get_int32
    - g_variant_get_int64
    - g_value_set_boolean
    - g_value_set_string
    - g_variant_get_type
    - g_variant_dup_objv
    - g_variant_get_bytestring
    - g_value_init
    - g_value_set_double
    - g_variant_get_uint16
    - g_variant_get_byte
    - g_variant_get_uint32
    - g_return_if_fail
    - g_variant_type_peek_string
    - memset
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_gvariant_to_gvalue (GVariant *value, GValue *out_gvalue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_escape_object_path_bytestring
      Src: /src/glib/gio/gdbusutils.c:779,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 780
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 780
    functionName: g_dbus_escape_object_path
    functionSourceFile: /src/glib/gio/gdbusutils.c
    functionUses: []
    functionsReached:
    - g_dbus_escape_object_path_bytestring
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_dbus_escape_object_path (const gchar *s) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusutils.c:807,1
    - Dst: g_ascii_isalnum
      Src: /src/glib/gio/gdbusutils.c:817,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gdbusutils.c:809,1
    - Dst: g_string_new
      Src: /src/glib/gio/gdbusutils.c:812,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusutils.c:810,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdbusutils.c:819,1
    - Dst: g_ascii_xdigit_value
      Src: /src/glib/gio/gdbusutils.c:822,1
    - Dst: g_ascii_xdigit_value
      Src: /src/glib/gio/gdbusutils.c:823,1
    - Dst: g_ascii_isalnum
      Src: /src/glib/gio/gdbusutils.c:825,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdbusutils.c:827,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbusutils.c:833,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbusutils.c:838,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 839
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 839
    functionName: g_dbus_unescape_object_path
    functionSourceFile: /src/glib/gio/gdbusutils.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_strdup
    - g_ascii_isalnum
    - g_string_append_c
    - g_ascii_xdigit_value
    - g_string_free
    - g_string_new
    - g_str_equal
    linkageType: ''
    returnType: guint8*
    signature: 'guint8 *g_dbus_unescape_object_path (const gchar *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_valid_bus_name_character
      Src: /src/glib/gio/gdbusutils.c:49,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - c
    - allow_initial_digit
    - allow_hyphen
    argTypes:
    - gint
    - gboolean
    - gboolean
    constantsTouched: []
    func_position:
      end: 56
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 56
    functionName: is_valid_initial_bus_name_character
    functionSourceFile: /src/glib/gio/gdbusutils.c
    functionUses: []
    functionsReached:
    - is_valid_bus_name_character
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_valid_initial_bus_name_character (gint c, gboolean
      allow_initial_digit, gboolean allow_hyphen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusutils.c:166,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusutils.c:177,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusutils.c:171,1
    - Dst: strlen
      Src: /src/glib/gio/gdbusutils.c:170,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusutils.c:174,1
    - Dst: is_valid_name
      Src: /src/glib/gio/gdbusutils.c:177,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 184
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 184
    functionName: g_dbus_is_unique_name
    functionSourceFile: /src/glib/gio/gdbusutils.c
    functionUses: []
    functionsReached:
    - is_valid_name
    - g_return_val_if_fail
    - G_UNLIKELY
    - strlen
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dbus_is_unique_name (const gchar *string) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusutils.c:82,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusutils.c:86,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusutils.c:93,1
    - Dst: is_valid_bus_name_character
      Src: /src/glib/gio/gdbusutils.c:86,1
    - Dst: is_valid_initial_bus_name_character
      Src: /src/glib/gio/gdbusutils.c:82,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 4
    argNames:
    - start
    - len
    - allow_initial_digit
    - allow_hyphen
    argTypes:
    - gchar*
    - guint
    - gboolean
    - gboolean
    constantsTouched: []
    func_position:
      end: 100
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 100
    functionName: is_valid_name
    functionSourceFile: /src/glib/gio/gdbusutils.c
    functionUses: []
    functionsReached:
    - is_valid_bus_name_character
    - is_valid_initial_bus_name_character
    - G_UNLIKELY
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_valid_name (const gchar *start, guint len, gboolean
      allow_initial_digit, gboolean allow_hyphen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusutils.c:240,1
    - Dst: strlen
      Src: /src/glib/gio/gdbusutils.c:244,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusutils.c:249,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusutils.c:254,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusutils.c:245,1
    - Dst: is_valid_initial_bus_name_character
      Src: /src/glib/gio/gdbusutils.c:254,1
    - Dst: is_valid_name
      Src: /src/glib/gio/gdbusutils.c:257,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 1
    argNames:
    - string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 261
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 261
    functionName: g_dbus_is_interface_name
    functionSourceFile: /src/glib/gio/gdbusutils.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - strlen
    - is_valid_initial_bus_name_character
    - G_UNLIKELY
    - is_valid_name
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dbus_is_interface_name (const gchar *string) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusutils.c:353,1
    - Dst: g_ascii_isxdigit
      Src: /src/glib/gio/gdbusutils.c:359,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 369
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 369
    functionName: g_dbus_is_guid
    functionSourceFile: /src/glib/gio/gdbusutils.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_ascii_isxdigit
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dbus_is_guid (const gchar *string) '
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusutils.c:571,1
    - Dst: g_value_dup_variant
      Src: /src/glib/gio/gdbusutils.c:582,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/gio/gdbusutils.c:586,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdbusutils.c:597,1
    - Dst: g_value_get_int
      Src: /src/glib/gio/gdbusutils.c:597,1
    - Dst: g_variant_new_int32
      Src: /src/glib/gio/gdbusutils.c:605,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdbusutils.c:613,1
    - Dst: g_value_get_int64
      Src: /src/glib/gio/gdbusutils.c:613,1
    - Dst: g_variant_new_double
      Src: /src/glib/gio/gdbusutils.c:621,1
    - Dst: g_variant_new_object_path
      Src: /src/glib/gio/gdbusutils.c:635,1
    - Dst: g_variant_new_bytestring
      Src: /src/glib/gio/gdbusutils.c:652,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdbusutils.c:659,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusutils.c:709,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdbusutils.c:676,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusutils.c:712,1
    - Dst: g_value_dup_variant
      Src: /src/glib/gio/gdbusutils.c:696,1
    - Dst: g_variant_take_ref
      Src: /src/glib/gio/gdbusutils.c:708,1
    - Dst: g_variant_new_boolean
      Src: /src/glib/gio/gdbusutils.c:589,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdbusutils.c:593,1
    - Dst: g_value_get_uchar
      Src: /src/glib/gio/gdbusutils.c:593,1
    - Dst: g_variant_new_uint16
      Src: /src/glib/gio/gdbusutils.c:601,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdbusutils.c:609,1
    - Dst: g_value_get_uint
      Src: /src/glib/gio/gdbusutils.c:609,1
    - Dst: g_variant_new_uint64
      Src: /src/glib/gio/gdbusutils.c:617,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gdbusutils.c:628,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gdbusutils.c:632,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gdbusutils.c:649,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdbusutils.c:666,1
    - Dst: g_value_dup_variant
      Src: /src/glib/gio/gdbusutils.c:680,1
    - Dst: g_value_get_boxed
      Src: /src/glib/gio/gdbusutils.c:656,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdbusutils.c:652,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/gio/gdbusutils.c:670,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gio/gdbusutils.c:580,1
    - Dst: g_variant_new_int16
      Src: /src/glib/gio/gdbusutils.c:597,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdbusutils.c:605,1
    - Dst: g_value_get_int
      Src: /src/glib/gio/gdbusutils.c:605,1
    - Dst: g_variant_new_int64
      Src: /src/glib/gio/gdbusutils.c:613,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdbusutils.c:621,1
    - Dst: g_value_get_double
      Src: /src/glib/gio/gdbusutils.c:621,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdbusutils.c:635,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gdbusutils.c:639,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdbusutils.c:642,1
    - Dst: g_variant_new_strv
      Src: /src/glib/gio/gdbusutils.c:659,1
    - Dst: g_value_get_boxed
      Src: /src/glib/gio/gdbusutils.c:673,1
    - Dst: g_value_dup_variant
      Src: /src/glib/gio/gdbusutils.c:686,1
    - Dst: g_variant_get_normal_form
      Src: /src/glib/gio/gdbusutils.c:708,1
    - Dst: g_variant_new_bytestring_array
      Src: /src/glib/gio/gdbusutils.c:676,1
    - Dst: g_value_get_boxed
      Src: /src/glib/gio/gdbusutils.c:663,1
    - Dst: g_variant_is_floating
      Src: /src/glib/gio/gdbusutils.c:712,1
    - Dst: g_variant_new_signature
      Src: /src/glib/gio/gdbusutils.c:642,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusutils.c:572,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdbusutils.c:589,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gdbusutils.c:589,1
    - Dst: g_variant_new_byte
      Src: /src/glib/gio/gdbusutils.c:593,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdbusutils.c:601,1
    - Dst: g_value_get_uint
      Src: /src/glib/gio/gdbusutils.c:601,1
    - Dst: g_variant_new_uint32
      Src: /src/glib/gio/gdbusutils.c:609,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdbusutils.c:617,1
    - Dst: g_value_get_uint64
      Src: /src/glib/gio/gdbusutils.c:617,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gdbusutils.c:625,1
    - Dst: g_variant_new_objv
      Src: /src/glib/gio/gdbusutils.c:666,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/gio/gdbusutils.c:646,1
    - Dst: g_variant_new_from_data
      Src: /src/glib/gio/gdbusutils.c:707,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdbusutils.c:628,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 120
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 715
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 715
    functionName: g_dbus_gvalue_to_gvariant
    functionSourceFile: /src/glib/gio/gdbusutils.c
    functionUses: []
    functionsReached:
    - g_variant_new_bytestring_array
    - g_variant_new_from_data
    - g_variant_new_int64
    - g_value_get_uint64
    - g_variant_new_uint32
    - g_value_get_int
    - g_variant_new_object_path
    - g_variant_new_byte
    - g_variant_new_signature
    - G_VALUE_TYPE
    - g_value_get_uint
    - g_variant_new_int32
    - g_variant_new_double
    - g_variant_unref
    - g_variant_new_bytestring
    - g_variant_new_boolean
    - g_value_get_double
    - g_variant_get_normal_form
    - g_variant_is_floating
    - g_variant_new_uint64
    - g_variant_ref_sink
    - g_value_get_int64
    - g_return_val_if_fail
    - g_value_dup_variant
    - g_variant_new_strv
    - g_value_get_boolean
    - g_value_get_string
    - g_assert
    - g_variant_type_peek_string
    - g_variant_new_int16
    - g_variant_new_objv
    - g_variant_new_uint16
    - g_variant_new_string
    - g_value_get_boxed
    - g_value_get_uchar
    - g_variant_take_ref
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_dbus_gvalue_to_gvariant (const GValue *gvalue, const GVariantType
      *type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusutils.c:749,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdbusutils.c:758,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusutils.c:752,1
    - Dst: g_ascii_isalnum
      Src: /src/glib/gio/gdbusutils.c:757,1
    - Dst: g_string_new
      Src: /src/glib/gio/gdbusutils.c:754,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusutils.c:760,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbusutils.c:763,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 764
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 764
    functionName: g_dbus_escape_object_path_bytestring
    functionSourceFile: /src/glib/gio/gdbusutils.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_strdup
    - g_ascii_isalnum
    - g_string_append_c
    - g_string_free
    - g_string_new
    - g_string_append_printf
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_dbus_escape_object_path_bytestring (const guint8 *bytes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gloadableicon.c:139,1
    - Dst: G_IS_LOADABLE_ICON
      Src: /src/glib/gio/gloadableicon.c:139,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gloadableicon.c:140,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/gloadableicon.c:142,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gloadableicon.c:140,1
    - Dst: G_LOADABLE_ICON_GET_IFACE
      Src: /src/glib/gio/gloadableicon.c:145,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 148
    functionName: g_loadable_icon_load_finish
    functionSourceFile: /src/glib/gio/gloadableicon.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_async_result_legacy_propagate_error
    - G_IS_LOADABLE_ICON
    - G_IS_ASYNC_RESULT
    - G_LOADABLE_ICON_GET_IFACE
    linkageType: ''
    returnType: GInputStream*
    signature: "GInputStream *g_loadable_icon_load_finish (GLoadableIcon *icon,\t\t\
      \t GAsyncResult *res,\t\t\t char **type,\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gloadableicon.c:82,1
    - Dst: G_LOADABLE_ICON_GET_IFACE
      Src: /src/glib/gio/gloadableicon.c:84,1
    - Dst: G_IS_LOADABLE_ICON
      Src: /src/glib/gio/gloadableicon.c:82,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 87
    functionName: g_loadable_icon_load
    functionSourceFile: /src/glib/gio/gloadableicon.c
    functionUses: []
    functionsReached:
    - G_IS_LOADABLE_ICON
    - g_return_val_if_fail
    - G_LOADABLE_ICON_GET_IFACE
    linkageType: ''
    returnType: GInputStream*
    signature: "GInputStream *g_loadable_icon_load (GLoadableIcon *icon,\t\t int size,\t\
      \t char **type,\t\t GCancellable *cancellable,\t\t GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOADABLE_ICON_GET_IFACE
      Src: /src/glib/gio/gloadableicon.c:178,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gloadableicon.c:185,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gloadableicon.c:183,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 4
    argNames:
    - task
    - source_object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 186
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 186
    functionName: load_async_thread
    functionSourceFile: /src/glib/gio/gloadableicon.c
    functionUses: []
    functionsReached:
    - G_LOADABLE_ICON_GET_IFACE
    - g_task_return_error
    - g_task_return_pointer
    linkageType: ''
    returnType: void
    signature: 'static void load_async_thread (GTask *task, gpointer source_object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gloadableicon.c:162,1
    - Dst: g_free
      Src: /src/glib/gio/gloadableicon.c:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - LoadData*
    constantsTouched: []
    func_position:
      end: 164
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 164
    functionName: load_data_free
    functionSourceFile: /src/glib/gio/gloadableicon.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void load_data_free (LoadData *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/gloadableicon.c:200,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gloadableicon.c:204,1
    - Dst: g_new0
      Src: /src/glib/gio/gloadableicon.c:202,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gloadableicon.c:201,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gloadableicon.c:203,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gloadableicon.c:205,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 5
    argNames:
    - icon
    - size
    - cancellable
    - callback
    - user_data
    argTypes:
    - GLoadableIcon*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 206
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 206
    functionName: g_loadable_icon_real_load_async
    functionSourceFile: /src/glib/gio/gloadableicon.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_object_unref
    - g_task_run_in_thread
    - g_task_set_source_tag
    - g_task_set_task_data
    - g_new0
    linkageType: ''
    returnType: void
    signature: "static void g_loadable_icon_real_load_async (GLoadableIcon *icon,\t\
      \t\t\t int size,\t\t\t\t GCancellable *cancellable,\t\t\t\t GAsyncReadyCallback\
      \ callback,\t\t\t\t gpointer user_data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gloadableicon.c:218,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gloadableicon.c:221,1
    - Dst: G_TASK
      Src: /src/glib/gio/gloadableicon.c:220,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gloadableicon.c:218,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gloadableicon.c:223,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 231
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 231
    functionName: g_loadable_icon_real_load_finish
    functionSourceFile: /src/glib/gio/gloadableicon.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_task_is_valid
    - g_task_get_task_data
    - G_TASK
    - g_task_propagate_pointer
    linkageType: ''
    returnType: GInputStream*
    signature: "static GInputStream *g_loadable_icon_real_load_finish (GLoadableIcon\
      \ *icon,\t\t\t\t GAsyncResult *res,\t\t\t\t char **type,\t\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GLoadableIconIface*
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: g_loadable_icon_default_init
    functionSourceFile: /src/glib/gio/gloadableicon.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_loadable_icon_default_init (GLoadableIconIface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gloadableicon.c:111,1
    - Dst: G_IS_LOADABLE_ICON
      Src: /src/glib/gio/gloadableicon.c:111,1
    - Dst: G_LOADABLE_ICON_GET_IFACE
      Src: /src/glib/gio/gloadableicon.c:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 5
    argNames:
    - icon
    - size
    - cancellable
    - callback
    - user_data
    argTypes:
    - GLoadableIcon*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 116
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 116
    functionName: g_loadable_icon_load_async
    functionSourceFile: /src/glib/gio/gloadableicon.c
    functionUses: []
    functionsReached:
    - G_LOADABLE_ICON_GET_IFACE
    - G_IS_LOADABLE_ICON
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_loadable_icon_load_async (GLoadableIcon *icon, int size, GCancellable
      *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1076,1
    - Dst: path_is_valid
      Src: /src/glib/gio/gsettings.c:1077,1
    - Dst: g_object_new
      Src: /src/glib/gio/gsettings.c:1079,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1077,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1072
    functionDepth: 0
    functionLinenumber: 1072
    functionLinenumberEnd: 1083
    functionName: g_settings_new_with_path
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - path_is_valid
    - g_return_val_if_fail
    - g_object_new
    linkageType: ''
    returnType: GSettings*
    signature: 'GSettings *g_settings_new_with_path (const gchar *schema_id, const
      gchar *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_set_value
      Src: /src/glib/gio/gsettings.c:2223,1
    - Dst: g_variant_new_boolean
      Src: /src/glib/gio/gsettings.c:2223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - settings
    - key
    - value
    argTypes:
    - GSettings*
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 2224
      start: 2218
    functionDepth: 0
    functionLinenumber: 2218
    functionLinenumberEnd: 2224
    functionName: g_settings_set_boolean
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_variant_new_boolean
    - g_settings_set_value
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_settings_set_boolean (GSettings *settings, const gchar
      *key, gboolean value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bind_with_mapping_closures_data_new
      Src: /src/glib/gio/gsettings.c:3194,1
    - Dst: g_settings_bind_with_mapping
      Src: /src/glib/gio/gsettings.c:3196,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 7
    argNames:
    - settings
    - key
    - object
    - property
    - flags
    - get_mapping
    - set_mapping
    argTypes:
    - GSettings*
    - char*
    - GObject*
    - char*
    - GSettingsBindFlags
    - GClosure*
    - GClosure*
    constantsTouched: []
    func_position:
      end: 3200
      start: 3183
    functionDepth: 0
    functionLinenumber: 3183
    functionLinenumberEnd: 3200
    functionName: g_settings_bind_with_mapping_closures
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - bind_with_mapping_closures_data_new
    - g_settings_bind_with_mapping
    linkageType: ''
    returnType: void
    signature: 'void g_settings_bind_with_mapping_closures (GSettings *settings, const
      char *key, GObject *object, const char *property, GSettingsBindFlags flags,
      GClosure *get_mapping, GClosure *set_mapping) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/gsettings.c:1043,1
    - Dst: strstr
      Src: /src/glib/gio/gsettings.c:1046,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - path
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 1047
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1047
    functionName: path_is_valid
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - strstr
    - g_str_has_suffix
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean path_is_valid (const gchar *path) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1460,1
    - Dst: g_critical
      Src: /src/glib/gio/gsettings.c:1467,1
    - Dst: G_IS_SETTINGS
      Src: /src/glib/gio/gsettings.c:1460,1
    - Dst: g_settings_schema_key_init
      Src: /src/glib/gio/gsettings.c:1463,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1461,1
    - Dst: g_settings_schema_key_from_enum
      Src: /src/glib/gio/gsettings.c:1472,1
    - Dst: g_critical
      Src: /src/glib/gio/gsettings.c:1474,1
    - Dst: g_settings_schema_get_id
      Src: /src/glib/gio/gsettings.c:1476,1
    - Dst: g_settings_schema_key_clear
      Src: /src/glib/gio/gsettings.c:1477,1
    - Dst: g_settings_write_to_backend
      Src: /src/glib/gio/gsettings.c:1481,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gsettings.c:1481,1
    - Dst: g_settings_schema_key_clear
      Src: /src/glib/gio/gsettings.c:1482,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - settings
    - key
    - value
    argTypes:
    - GSettings*
    - gchar*
    - gint
    constantsTouched: []
    func_position:
      end: 1485
      start: 1451
    functionDepth: 0
    functionLinenumber: 1451
    functionLinenumberEnd: 1485
    functionName: g_settings_set_enum
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_write_to_backend
    - g_steal_pointer
    - g_return_val_if_fail
    - g_settings_schema_key_from_enum
    - g_settings_schema_key_clear
    - G_IS_SETTINGS
    - g_settings_schema_get_id
    - g_critical
    - g_settings_schema_key_init
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_settings_set_enum (GSettings *settings, const gchar *key,
      gint value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_get_value
      Src: /src/glib/gio/gsettings.c:2193,1
    - Dst: g_variant_get_boolean
      Src: /src/glib/gio/gsettings.c:2194,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings.c:2195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - settings
    - key
    argTypes:
    - GSettings*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2198
      start: 2186
    functionDepth: 0
    functionLinenumber: 2186
    functionLinenumberEnd: 2198
    functionName: g_settings_get_boolean
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_variant_unref
    - g_settings_get_value
    - g_variant_get_boolean
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_settings_get_boolean (GSettings *settings, const gchar
      *key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:2490,1
    - Dst: g_error
      Src: /src/glib/gio/gsettings.c:2495,1
    - Dst: g_settings_schema_get_child_schema
      Src: /src/glib/gio/gsettings.c:2492,1
    - Dst: G_IS_SETTINGS
      Src: /src/glib/gio/gsettings.c:2490,1
    - Dst: g_settings_schema_get_id
      Src: /src/glib/gio/gsettings.c:2496,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gsettings.c:2498,1
    - Dst: g_settings_new_full
      Src: /src/glib/gio/gsettings.c:2499,1
    - Dst: g_settings_schema_unref
      Src: /src/glib/gio/gsettings.c:2502,1
    - Dst: g_free
      Src: /src/glib/gio/gsettings.c:2503,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2506
      start: 2482
    functionDepth: 0
    functionLinenumber: 2482
    functionLinenumberEnd: 2506
    functionName: g_settings_get_child
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_new_full
    - g_return_val_if_fail
    - g_strconcat
    - g_settings_schema_unref
    - G_IS_SETTINGS
    - g_settings_schema_get_id
    - g_settings_schema_get_child_schema
    - g_error
    - g_free
    linkageType: ''
    returnType: GSettings*
    signature: 'GSettings *g_settings_get_child (GSettings *settings, const gchar
      *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bind_with_mapping_closures_data_free
      Src: /src/glib/gio/gsettings.c:3163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 3164
      start: 3159
    functionDepth: 0
    functionLinenumber: 3159
    functionLinenumberEnd: 3164
    functionName: bind_with_mapping_destroy
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - bind_with_mapping_closures_data_free
    linkageType: ''
    returnType: void
    signature: 'static void bind_with_mapping_destroy (void *user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_schema_list
      Src: /src/glib/gio/gsettings.c:466,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsettings.c:475,1
    - Dst: g_quark_to_string
      Src: /src/glib/gio/gsettings.c:470,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/gsettings.c:472,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - settings
    - key
    argTypes:
    - GSettings*
    - GQuark
    constantsTouched: []
    func_position:
      end: 479
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 479
    functionName: g_settings_real_writable_change_event
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_schema_list
    - g_signal_emit
    - g_str_has_suffix
    - g_quark_to_string
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_settings_real_writable_change_event (GSettings *settings,
      GQuark key) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_strconcat
      Src: /src/glib/gio/gsettings.c:1226,1
    - Dst: g_settings_backend_read_user_value
      Src: /src/glib/gio/gsettings.c:1228,1
    - Dst: g_free
      Src: /src/glib/gio/gsettings.c:1231,1
    - Dst: g_settings_backend_read
      Src: /src/glib/gio/gsettings.c:1230,1
    - Dst: g_settings_schema_key_range_fixup
      Src: /src/glib/gio/gsettings.c:1235,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings.c:1236,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1242
      start: 1216
    functionDepth: 0
    functionLinenumber: 1216
    functionLinenumberEnd: 1242
    functionName: g_settings_read_from_backend
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_strconcat
    - g_settings_backend_read_user_value
    - g_settings_backend_read
    - g_variant_unref
    - g_free
    - g_settings_schema_key_range_fixup
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_settings_read_from_backend (GSettings *settings,
      GSettingsSchemaKey *key, gboolean user_value_only, gboolean default_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_get_value
      Src: /src/glib/gio/gsettings.c:1965,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings.c:1967,1
    - Dst: g_variant_get_int64
      Src: /src/glib/gio/gsettings.c:1966,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - settings
    - key
    argTypes:
    - GSettings*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1970
      start: 1958
    functionDepth: 0
    functionLinenumber: 1958
    functionLinenumberEnd: 1970
    functionName: g_settings_get_int64
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_variant_unref
    - g_settings_get_value
    - g_variant_get_int64
    linkageType: ''
    returnType: gint64
    signature: 'gint64 g_settings_get_int64 (GSettings *settings, const gchar *key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get_type
      Src: /src/glib/gio/gsettings.c:3381,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings.c:3382,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3386
      start: 3375
    functionDepth: 0
    functionLinenumber: 3375
    functionLinenumberEnd: 3386
    functionName: g_settings_action_get_parameter_type
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_variant_type_equal
    - g_variant_get_type
    linkageType: ''
    returnType: GVariantType*
    signature: 'static const GVariantType *g_settings_action_get_parameter_type (GAction
      *action) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gsettings.c:3443,1
    - Dst: g_variant_get_boolean
      Src: /src/glib/gio/gsettings.c:3451,1
    - Dst: g_variant_new_boolean
      Src: /src/glib/gio/gsettings.c:3451,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings.c:3452,1
    - Dst: g_settings_action_get_state
      Src: /src/glib/gio/gsettings.c:3450,1
    - Dst: g_action_change_state
      Src: /src/glib/gio/gsettings.c:3455,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - action
    - parameter
    argTypes:
    - GAction*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 3456
      start: 3437
    functionDepth: 0
    functionLinenumber: 3437
    functionLinenumberEnd: 3456
    functionName: g_settings_action_activate
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_variant_new_boolean
    - g_variant_is_of_type
    - g_settings_action_get_state
    - g_variant_unref
    - g_action_change_state
    - g_variant_get_boolean
    linkageType: ''
    returnType: void
    signature: 'static void g_settings_action_activate (GAction *action, GVariant
      *parameter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_SETTINGS
      Src: /src/glib/gio/gsettings.c:487,1
    - Dst: g_quark_from_string
      Src: /src/glib/gio/gsettings.c:510,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsettings.c:511,1
    - Dst: g_settings_schema_has_key
      Src: /src/glib/gio/gsettings.c:506,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 4
    argNames:
    - target
    - backend
    - key
    - origin_tag
    argTypes:
    - GObject*
    - GSettingsBackend*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 514
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 514
    functionName: settings_backend_changed
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_schema_has_key
    - g_quark_from_string
    - G_SETTINGS
    - g_signal_emit
    linkageType: ''
    returnType: void
    signature: 'static void settings_backend_changed (GObject *target, GSettingsBackend
      *backend, const gchar *key, gpointer origin_tag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strconcat
      Src: /src/glib/gio/gsettings.c:1209,1
    - Dst: g_free
      Src: /src/glib/gio/gsettings.c:1211,1
    - Dst: g_settings_backend_write
      Src: /src/glib/gio/gsettings.c:1210,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - settings
    - key
    - value
    argTypes:
    - GSettings*
    - GSettingsSchemaKey*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 1214
      start: 1201
    functionDepth: 0
    functionLinenumber: 1201
    functionLinenumberEnd: 1214
    functionName: g_settings_write_to_backend
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_free
    - g_settings_backend_write
    - g_strconcat
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_settings_write_to_backend (GSettings *settings,
      GSettingsSchemaKey *key, GVariant *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3373
      start: 3367
    functionDepth: 0
    functionLinenumber: 3367
    functionLinenumberEnd: 3373
    functionName: g_settings_action_get_name
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *g_settings_action_get_name (GAction *action) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_is_writable
      Src: /src/glib/gio/gsettings.c:3393,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - action
    argTypes:
    - GAction*
    constantsTouched: []
    func_position:
      end: 3394
      start: 3388
    functionDepth: 0
    functionLinenumber: 3388
    functionLinenumberEnd: 3394
    functionName: g_settings_action_get_enabled
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_is_writable
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_settings_action_get_enabled (GAction *action) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: G_ACTION
      Src: /src/glib/gio/gsettings.c:3462,1
    - Dst: g_settings_action_get_name
      Src: /src/glib/gio/gsettings.c:3467,1
    - Dst: g_value_set_boxed
      Src: /src/glib/gio/gsettings.c:3471,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gsettings.c:3467,1
    - Dst: g_settings_action_get_parameter_type
      Src: /src/glib/gio/gsettings.c:3471,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gsettings.c:3475,1
    - Dst: g_settings_action_get_enabled
      Src: /src/glib/gio/gsettings.c:3475,1
    - Dst: g_value_set_boxed
      Src: /src/glib/gio/gsettings.c:3479,1
    - Dst: g_settings_action_get_state_type
      Src: /src/glib/gio/gsettings.c:3479,1
    - Dst: g_value_take_variant
      Src: /src/glib/gio/gsettings.c:3483,1
    - Dst: g_settings_action_get_state
      Src: /src/glib/gio/gsettings.c:3483,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gsettings.c:3487,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 3489
      start: 3458
    functionDepth: 0
    functionLinenumber: 3458
    functionLinenumberEnd: 3489
    functionName: g_settings_action_get_property
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_value_take_variant
    - G_ACTION
    - g_value_set_string
    - g_value_set_boolean
    - g_settings_action_get_parameter_type
    - g_assert_not_reached
    - g_value_set_boxed
    - g_settings_action_get_state
    - g_settings_action_get_name
    - g_settings_action_get_enabled
    - g_settings_action_get_state_type
    linkageType: ''
    returnType: void
    signature: 'static void g_settings_action_get_property (GObject *object, guint
      prop_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1187,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1188,1
    - Dst: G_IS_SETTINGS_BACKEND
      Src: /src/glib/gio/gsettings.c:1188,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1189,1
    - Dst: path_is_valid
      Src: /src/glib/gio/gsettings.c:1189,1
    - Dst: g_object_new
      Src: /src/glib/gio/gsettings.c:1191,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1182
    functionDepth: 0
    functionLinenumber: 1182
    functionLinenumberEnd: 1196
    functionName: g_settings_new_full
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - path_is_valid
    - g_return_val_if_fail
    - g_object_new
    - G_IS_SETTINGS_BACKEND
    linkageType: ''
    returnType: GSettings*
    signature: 'GSettings *g_settings_new_full (GSettingsSchema *schema, GSettingsBackend
      *backend, const gchar *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_boolean
      Src: /src/glib/gio/gsettings.c:2823,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gsettings.c:2823,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2824
      start: 2818
    functionDepth: 0
    functionLinenumber: 2818
    functionLinenumberEnd: 2824
    functionName: g_settings_bind_invert_boolean_set_mapping
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_value_get_boolean
    - g_variant_new_boolean
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_settings_bind_invert_boolean_set_mapping (const
      GValue *value, const GVariantType *expected_type, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1315,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1316,1
    - Dst: g_settings_schema_key_init
      Src: /src/glib/gio/gsettings.c:1318,1
    - Dst: g_settings_read_from_backend
      Src: /src/glib/gio/gsettings.c:1319,1
    - Dst: G_IS_SETTINGS
      Src: /src/glib/gio/gsettings.c:1315,1
    - Dst: g_settings_schema_key_clear
      Src: /src/glib/gio/gsettings.c:1320,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1308
    functionDepth: 0
    functionLinenumber: 1308
    functionLinenumberEnd: 1323
    functionName: g_settings_get_user_value
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_settings_schema_key_clear
    - G_IS_SETTINGS
    - g_settings_schema_key_init
    - g_settings_read_from_backend
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_settings_get_user_value (GSettings *settings, const gchar
      *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_get_value
      Src: /src/glib/gio/gsettings.c:2249,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings.c:2251,1
    - Dst: g_variant_dup_strv
      Src: /src/glib/gio/gsettings.c:2250,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2254
      start: 2242
    functionDepth: 0
    functionLinenumber: 2242
    functionLinenumberEnd: 2254
    functionName: g_settings_get_strv
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_variant_unref
    - g_variant_dup_strv
    - g_settings_get_value
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **g_settings_get_strv (GSettings *settings, const gchar *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_handlers_disconnect_by_data
      Src: /src/glib/gio/gsettings.c:3496,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsettings.c:3497,1
    - Dst: g_settings_schema_key_clear
      Src: /src/glib/gio/gsettings.c:3498,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsettings.c:3500,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 3502
      start: 3491
    functionDepth: 0
    functionLinenumber: 3491
    functionLinenumberEnd: 3502
    functionName: g_settings_action_finalize
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_schema_key_clear
    - g_object_unref
    - g_signal_handlers_disconnect_by_data
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_settings_action_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - gsa
    argTypes:
    - GSettingsAction*
    constantsTouched: []
    func_position:
      end: 3507
      start: 3504
    functionDepth: 0
    functionLinenumber: 3504
    functionLinenumberEnd: 3507
    functionName: g_settings_action_init
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_settings_action_init (GSettingsAction *gsa) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1407,1
    - Dst: g_settings_schema_key_init
      Src: /src/glib/gio/gsettings.c:1410,1
    - Dst: g_critical
      Src: /src/glib/gio/gsettings.c:1414,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1408,1
    - Dst: G_IS_SETTINGS
      Src: /src/glib/gio/gsettings.c:1407,1
    - Dst: g_settings_schema_key_clear
      Src: /src/glib/gio/gsettings.c:1416,1
    - Dst: g_settings_read_from_backend
      Src: /src/glib/gio/gsettings.c:1420,1
    - Dst: g_settings_schema_key_get_default_value
      Src: /src/glib/gio/gsettings.c:1423,1
    - Dst: g_settings_schema_key_to_enum
      Src: /src/glib/gio/gsettings.c:1425,1
    - Dst: g_settings_schema_key_clear
      Src: /src/glib/gio/gsettings.c:1426,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings.c:1427,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - settings
    - key
    argTypes:
    - GSettings*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1430
      start: 1399
    functionDepth: 0
    functionLinenumber: 1399
    functionLinenumberEnd: 1430
    functionName: g_settings_get_enum
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_settings_schema_key_clear
    - G_IS_SETTINGS
    - g_settings_schema_key_to_enum
    - g_variant_unref
    - g_critical
    - g_settings_schema_key_init
    - g_settings_read_from_backend
    - g_settings_schema_key_get_default_value
    linkageType: ''
    returnType: gint
    signature: 'gint g_settings_get_enum (GSettings *settings, const gchar *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_set_value
      Src: /src/glib/gio/gsettings.c:1939,1
    - Dst: g_variant_new_int32
      Src: /src/glib/gio/gsettings.c:1939,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - settings
    - key
    - value
    argTypes:
    - GSettings*
    - gchar*
    - gint
    constantsTouched: []
    func_position:
      end: 1940
      start: 1934
    functionDepth: 0
    functionLinenumber: 1934
    functionLinenumberEnd: 1940
    functionName: g_settings_set_int
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_variant_new_int32
    - g_settings_set_value
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_settings_set_int (GSettings *settings, const gchar *key,
      gint value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:2383,1
    - Dst: G_DELAYED_SETTINGS_BACKEND
      Src: /src/glib/gio/gsettings.c:2387,1
    - Dst: G_IS_DELAYED_SETTINGS_BACKEND
      Src: /src/glib/gio/gsettings.c:2385,1
    - Dst: G_IS_SETTINGS
      Src: /src/glib/gio/gsettings.c:2383,1
    - Dst: g_delayed_settings_backend_get_has_unapplied
      Src: /src/glib/gio/gsettings.c:2386,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - settings
    argTypes:
    - GSettings*
    constantsTouched: []
    func_position:
      end: 2388
      start: 2380
    functionDepth: 0
    functionLinenumber: 2380
    functionLinenumberEnd: 2388
    functionName: g_settings_get_has_unapplied
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_SETTINGS
    - G_DELAYED_SETTINGS_BACKEND
    - g_delayed_settings_backend_get_has_unapplied
    - G_IS_DELAYED_SETTINGS_BACKEND
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_settings_get_has_unapplied (GSettings *settings) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:2454,1
    - Dst: g_settings_backend_get_writable
      Src: /src/glib/gio/gsettings.c:2457,1
    - Dst: G_IS_SETTINGS
      Src: /src/glib/gio/gsettings.c:2454,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gsettings.c:2456,1
    - Dst: g_free
      Src: /src/glib/gio/gsettings.c:2458,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - settings
    - name
    argTypes:
    - GSettings*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2461
      start: 2447
    functionDepth: 0
    functionLinenumber: 2447
    functionLinenumberEnd: 2461
    functionName: g_settings_is_writable
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_strconcat
    - g_settings_backend_get_writable
    - G_IS_SETTINGS
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_settings_is_writable (GSettings *settings, const gchar
      *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GActionInterface*
    constantsTouched: []
    func_position:
      end: 3520
      start: 3509
    functionDepth: 0
    functionLinenumber: 3509
    functionLinenumberEnd: 3520
    functionName: g_settings_action_iface_init
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_settings_action_iface_init (GActionInterface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gsettings.c:3528,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gsettings.c:3532,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gsettings.c:3529,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gsettings.c:3531,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gsettings.c:3530,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - class
    argTypes:
    - GSettingsActionClass*
    constantsTouched: []
    func_position:
      end: 3533
      start: 3522
    functionDepth: 0
    functionLinenumber: 3522
    functionLinenumberEnd: 3533
    functionName: g_settings_action_class_init
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_object_class_override_property
    linkageType: ''
    returnType: void
    signature: 'static void g_settings_action_class_init (GSettingsActionClass *class) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1363,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1364,1
    - Dst: G_IS_SETTINGS
      Src: /src/glib/gio/gsettings.c:1363,1
    - Dst: g_settings_read_from_backend
      Src: /src/glib/gio/gsettings.c:1367,1
    - Dst: g_settings_schema_key_init
      Src: /src/glib/gio/gsettings.c:1366,1
    - Dst: g_settings_schema_key_get_default_value
      Src: /src/glib/gio/gsettings.c:1370,1
    - Dst: g_settings_schema_key_clear
      Src: /src/glib/gio/gsettings.c:1372,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1356
    functionDepth: 0
    functionLinenumber: 1356
    functionLinenumberEnd: 1375
    functionName: g_settings_get_default_value
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_settings_schema_key_clear
    - G_IS_SETTINGS
    - g_settings_read_from_backend
    - g_settings_schema_key_init
    - g_settings_schema_key_get_default_value
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_settings_get_default_value (GSettings *settings, const
      gchar *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_get_value
      Src: /src/glib/gio/gsettings.c:1909,1
    - Dst: g_variant_get_int32
      Src: /src/glib/gio/gsettings.c:1910,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings.c:1911,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - settings
    - key
    argTypes:
    - GSettings*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1914
      start: 1902
    functionDepth: 0
    functionLinenumber: 1902
    functionLinenumberEnd: 1914
    functionName: g_settings_get_int
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_variant_unref
    - g_settings_get_value
    - g_variant_get_int32
    linkageType: ''
    returnType: gint
    signature: 'gint g_settings_get_int (GSettings *settings, const gchar *key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_strv
      Src: /src/glib/gio/gsettings.c:2283,1
    - Dst: g_variant_new_strv
      Src: /src/glib/gio/gsettings.c:2285,1
    - Dst: g_settings_set_value
      Src: /src/glib/gio/gsettings.c:2287,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - settings
    - key
    - value
    argTypes:
    - GSettings*
    - gchar*
    - gchar**
    constantsTouched: []
    func_position:
      end: 2288
      start: 2275
    functionDepth: 0
    functionLinenumber: 2275
    functionLinenumberEnd: 2288
    functionName: g_settings_set_strv
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_set_value
    - g_variant_new_strv
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_settings_set_strv (GSettings *settings, const gchar *key,
      const gchar * const *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_IS_DELAYED_SETTINGS_BACKEND
      Src: /src/glib/gio/gsettings.c:2360,1
    - Dst: G_DELAYED_SETTINGS_BACKEND
      Src: /src/glib/gio/gsettings.c:2364,1
    - Dst: g_delayed_settings_backend_revert
      Src: /src/glib/gio/gsettings.c:2365,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - settings
    argTypes:
    - GSettings*
    constantsTouched: []
    func_position:
      end: 2367
      start: 2357
    functionDepth: 0
    functionLinenumber: 2357
    functionLinenumberEnd: 2367
    functionName: g_settings_revert
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_delayed_settings_backend_revert
    - G_IS_DELAYED_SETTINGS_BACKEND
    - G_DELAYED_SETTINGS_BACKEND
    linkageType: ''
    returnType: void
    signature: 'void g_settings_revert (GSettings *settings) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_bind_with_mapping
      Src: /src/glib/gio/gsettings.c:2876,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 5
    argNames:
    - settings
    - key
    - object
    - property
    - flags
    argTypes:
    - GSettings*
    - gchar*
    - gpointer
    - gchar*
    - GSettingsBindFlags
    constantsTouched: []
    func_position:
      end: 2878
      start: 2857
    functionDepth: 0
    functionLinenumber: 2857
    functionLinenumberEnd: 2878
    functionName: g_settings_bind
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_bind_with_mapping
    linkageType: ''
    returnType: void
    signature: 'void g_settings_bind (GSettings *settings, const gchar *key, gpointer
      object, const gchar *property, GSettingsBindFlags flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gsettings.c:805,1
    - Dst: I_
      Src: /src/glib/gio/gsettings.c:836,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gsettings.c:843,1
    - Dst: I_
      Src: /src/glib/gio/gsettings.c:894,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gsettings.c:894,1
    - Dst: I_
      Src: /src/glib/gio/gsettings.c:803,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gsettings.c:838,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gsettings.c:896,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gsettings.c:901,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsettings.c:982,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gsettings.c:983,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gsettings.c:996,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsettings.c:776,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gsettings.c:842,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gsettings.c:862,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gsettings.c:910,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsettings.c:909,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsettings.c:925,1
    - Dst: g_param_spec_boxed
      Src: /src/glib/gio/gsettings.c:926,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsettings.c:959,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gsettings.c:960,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gsettings.c:836,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gsettings.c:803,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gsettings.c:860,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gsettings.c:900,1
    - Dst: I_
      Src: /src/glib/gio/gsettings.c:860,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsettings.c:947,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gsettings.c:948,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsettings.c:970,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gsettings.c:971,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsettings.c:995,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 59
    argCount: 1
    argNames:
    - class
    argTypes:
    - GSettingsClass*
    constantsTouched: []
    func_position:
      end: 999
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 999
    functionName: g_settings_class_init
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - I_
    - G_STRUCT_OFFSET
    - g_param_spec_boolean
    - G_TYPE_FROM_CLASS
    - g_param_spec_object
    - g_object_class_install_property
    - G_OBJECT_CLASS
    - g_signal_set_va_marshaller
    - g_param_spec_boxed
    - g_signal_new
    - g_param_spec_string
    linkageType: ''
    returnType: void
    signature: 'static void g_settings_class_init (GSettingsClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_get_value
      Src: /src/glib/gio/gsettings.c:1853,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings.c:1855,1
    - Dst: g_variant_dup_string
      Src: /src/glib/gio/gsettings.c:1854,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1858
      start: 1846
    functionDepth: 0
    functionLinenumber: 1846
    functionLinenumberEnd: 1858
    functionName: g_settings_get_string
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_variant_unref
    - g_settings_get_value
    - g_variant_dup_string
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_settings_get_string (GSettings *settings, const gchar *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gsettings.c:2668,1
    - Dst: g_quark_from_string
      Src: /src/glib/gio/gsettings.c:2669,1
    - Dst: g_free
      Src: /src/glib/gio/gsettings.c:2670,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - property
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2673
      start: 2662
    functionDepth: 0
    functionLinenumber: 2662
    functionLinenumberEnd: 2673
    functionName: g_settings_binding_quark
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_free
    - g_quark_from_string
    linkageType: ''
    returnType: GQuark
    signature: 'static GQuark g_settings_binding_quark (const char *property) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: G_IS_OBJECT
      Src: /src/glib/gio/gsettings.c:2925,1
    - Dst: G_IS_SETTINGS
      Src: /src/glib/gio/gsettings.c:2923,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gio/gsettings.c:2929,1
    - Dst: g_slice_new0
      Src: /src/glib/gio/gsettings.c:2931,1
    - Dst: g_settings_schema_key_init
      Src: /src/glib/gio/gsettings.c:2932,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsettings.c:2933,1
    - Dst: g_critical
      Src: /src/glib/gio/gsettings.c:2961,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/gsettings.c:2962,1
    - Dst: g_critical
      Src: /src/glib/gio/gsettings.c:2987,1
    - Dst: g_settings_bind_writable
      Src: /src/glib/gio/gsettings.c:3022,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gsettings.c:3046,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsettings.c:2923,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsettings.c:2925,1
    - Dst: g_critical
      Src: /src/glib/gio/gsettings.c:2977,1
    - Dst: g_type_name
      Src: /src/glib/gio/gsettings.c:2980,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/gsettings.c:3005,1
    - Dst: g_type_name
      Src: /src/glib/gio/gsettings.c:3006,1
    - Dst: g_free
      Src: /src/glib/gio/gsettings.c:3009,1
    - Dst: g_object_class_find_property
      Src: /src/glib/gio/gsettings.c:3018,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gsettings.c:3027,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gsettings.c:3030,1
    - Dst: g_object_set_qdata_full
      Src: /src/glib/gio/gsettings.c:3056,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gsettings.c:3044,1
    - Dst: g_critical
      Src: /src/glib/gio/gsettings.c:2954,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/gsettings.c:2947,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/gsettings.c:2955,1
    - Dst: g_critical
      Src: /src/glib/gio/gsettings.c:2946,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/gsettings.c:2979,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gsettings.c:2984,1
    - Dst: g_variant_type_dup_string
      Src: /src/glib/gio/gsettings.c:2986,1
    - Dst: g_free
      Src: /src/glib/gio/gsettings.c:2991,1
    - Dst: g_variant_type_dup_string
      Src: /src/glib/gio/gsettings.c:3002,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gsettings.c:3029,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gsettings.c:3047,1
    - Dst: g_free
      Src: /src/glib/gio/gsettings.c:3049,1
    - Dst: g_settings_binding_key_changed
      Src: /src/glib/gio/gsettings.c:3052,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsettings.c:2924,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsettings.c:2926,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsettings.c:2927,1
    - Dst: g_object_class_find_property
      Src: /src/glib/gio/gsettings.c:2935,1
    - Dst: g_settings_schema_get_id
      Src: /src/glib/gio/gsettings.c:2989,1
    - Dst: g_settings_mapping_is_compatible
      Src: /src/glib/gio/gsettings.c:2999,1
    - Dst: g_critical
      Src: /src/glib/gio/gsettings.c:3003,1
    - Dst: g_settings_schema_get_id
      Src: /src/glib/gio/gsettings.c:3008,1
    - Dst: g_free
      Src: /src/glib/gio/gsettings.c:3032,1
    - Dst: g_settings_binding_quark
      Src: /src/glib/gio/gsettings.c:3055,1
    - Dst: g_settings_binding_property_changed
      Src: /src/glib/gio/gsettings.c:3035,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 118
    argCount: 9
    argNames:
    - settings
    - key
    - object
    - property
    - flags
    - get_mapping
    - set_mapping
    - user_data
    - destroy
    argTypes:
    - GSettings*
    - gchar*
    - gpointer
    - gchar*
    - GSettingsBindFlags
    - GSettingsBindGetMapping
    - GSettingsBindSetMapping
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 3058
      start: 2907
    functionDepth: 0
    functionLinenumber: 2907
    functionLinenumberEnd: 3058
    functionName: g_settings_bind_with_mapping
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_slice_new0
    - g_settings_schema_get_id
    - g_settings_schema_key_init
    - g_signal_connect
    - g_settings_binding_key_changed
    - g_variant_type_dup_string
    - g_settings_binding_property_changed
    - g_object_class_find_property
    - g_variant_type_equal
    - G_OBJECT_TYPE_NAME
    - G_IS_OBJECT
    - G_IS_SETTINGS
    - g_settings_bind_writable
    - g_settings_binding_quark
    - g_settings_mapping_is_compatible
    - G_OBJECT_GET_CLASS
    - g_return_if_fail
    - g_object_set_qdata_full
    - G_CALLBACK
    - g_critical
    - g_object_ref
    - g_free
    - g_type_name
    linkageType: ''
    returnType: void
    signature: 'void g_settings_bind_with_mapping (GSettings *settings, const gchar
      *key, gpointer object, const gchar *property, GSettingsBindFlags flags, GSettingsBindGetMapping
      get_mapping, GSettingsBindSetMapping set_mapping, gpointer user_data, GDestroyNotify
      destroy) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_schema_list
      Src: /src/glib/gio/gsettings.c:442,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsettings.c:451,1
    - Dst: g_quark_to_string
      Src: /src/glib/gio/gsettings.c:446,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/gsettings.c:448,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - settings
    - keys
    - n_keys
    argTypes:
    - GSettings*
    - GQuark*
    - gint
    constantsTouched: []
    func_position:
      end: 455
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 455
    functionName: g_settings_real_change_event
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_schema_list
    - g_signal_emit
    - g_str_has_suffix
    - g_quark_to_string
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_settings_real_change_event (GSettings *settings,
      const GQuark *keys, gint n_keys) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_schema_key_get_translated_default
      Src: /src/glib/gio/gsettings.c:2704,1
    - Dst: g_warning
      Src: /src/glib/gio/gsettings.c:2709,1
    - Dst: g_settings_schema_get_id
      Src: /src/glib/gio/gsettings.c:2712,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gsettings.c:2734,1
    - Dst: g_settings_schema_key_get_per_desktop_default
      Src: /src/glib/gio/gsettings.c:2720,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings.c:2742,1
    - Dst: g_error
      Src: /src/glib/gio/gsettings.c:2736,1
    - Dst: g_settings_schema_get_id
      Src: /src/glib/gio/gsettings.c:2738,1
    - Dst: g_assert
      Src: /src/glib/gio/gsettings.c:2684,1
    - Dst: g_value_init
      Src: /src/glib/gio/gsettings.c:2692,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings.c:2727,1
    - Dst: g_object_set_property
      Src: /src/glib/gio/gsettings.c:2741,1
    - Dst: g_assert
      Src: /src/glib/gio/gsettings.c:2685,1
    - Dst: g_settings_read_from_backend
      Src: /src/glib/gio/gsettings.c:2694,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings.c:2698,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings.c:2713,1
    - Dst: g_settings_schema_get_id
      Src: /src/glib/gio/gsettings.c:2726,1
    - Dst: g_error
      Src: /src/glib/gio/gsettings.c:2724,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gsettings.c:2743,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 3
    argNames:
    - settings
    - key
    - user_data
    argTypes:
    - GSettings*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2746
      start: 2675
    functionDepth: 0
    functionLinenumber: 2675
    functionLinenumberEnd: 2746
    functionName: g_settings_binding_key_changed
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_object_set_property
    - g_warning
    - g_assert
    - g_settings_schema_get_id
    - g_value_init
    - g_variant_unref
    - g_settings_schema_key_get_translated_default
    - g_settings_schema_key_get_per_desktop_default
    - g_error
    - g_settings_read_from_backend
    - g_variant_ref
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void g_settings_binding_key_changed (GSettings *settings, const
      gchar *key, gpointer user_data) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: G_SETTINGS
      Src: /src/glib/gio/gsettings.c:609,1
    - Dst: g_assert
      Src: /src/glib/gio/gsettings.c:646,1
    - Dst: g_value_dup_boxed
      Src: /src/glib/gio/gsettings.c:617,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gsettings.c:636,1
    - Dst: g_assert
      Src: /src/glib/gio/gsettings.c:626,1
    - Dst: g_settings_schema_source_get_default
      Src: /src/glib/gio/gsettings.c:647,1
    - Dst: g_error
      Src: /src/glib/gio/gsettings.c:650,1
    - Dst: g_settings_schema_source_lookup
      Src: /src/glib/gio/gsettings.c:652,1
    - Dst: g_error
      Src: /src/glib/gio/gsettings.c:655,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gsettings.c:661,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/gsettings.c:665,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gsettings.c:669,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 31
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 671
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 671
    functionName: g_settings_set_property
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_value_dup_string
    - G_SETTINGS
    - g_value_dup_boxed
    - g_value_get_string
    - g_assert
    - g_settings_schema_source_lookup
    - g_assert_not_reached
    - g_value_dup_object
    - g_settings_schema_source_get_default
    - g_error
    linkageType: ''
    returnType: void
    signature: 'static void g_settings_set_property (GObject *object, guint prop_id,
      const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_backend_sync_default
      Src: /src/glib/gio/gsettings.c:2433,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2434
      start: 2430
    functionDepth: 0
    functionLinenumber: 2430
    functionLinenumberEnd: 2434
    functionName: g_settings_sync
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_backend_sync_default
    linkageType: ''
    returnType: void
    signature: 'void g_settings_sync (void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: G_SETTINGS
      Src: /src/glib/gio/gsettings.c:679,1
    - Dst: g_value_set_boxed
      Src: /src/glib/gio/gsettings.c:684,1
    - Dst: g_settings_schema_get_id
      Src: /src/glib/gio/gsettings.c:688,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gsettings.c:688,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gsettings.c:692,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gsettings.c:696,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gsettings.c:700,1
    - Dst: g_settings_get_has_unapplied
      Src: /src/glib/gio/gsettings.c:700,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gsettings.c:704,1
    - Dst: G_IS_DELAYED_SETTINGS_BACKEND
      Src: /src/glib/gio/gsettings.c:704,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gsettings.c:708,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 13
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 710
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 710
    functionName: g_settings_get_property
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - G_SETTINGS
    - g_value_set_string
    - g_value_set_boolean
    - g_settings_schema_get_id
    - g_assert_not_reached
    - g_value_set_boxed
    - g_value_set_object
    - g_settings_get_has_unapplied
    - G_IS_DELAYED_SETTINGS_BACKEND
    linkageType: ''
    returnType: void
    signature: 'static void g_settings_get_property (GObject *object, guint prop_id,
      GValue *value, GParamSpec *pspec) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_SETTINGS
      Src: /src/glib/gio/gsettings.c:723,1
    - Dst: g_settings_schema_get_id
      Src: /src/glib/gio/gsettings.c:730,1
    - Dst: g_settings_schema_get_path
      Src: /src/glib/gio/gsettings.c:726,1
    - Dst: strcmp
      Src: /src/glib/gio/gsettings.c:728,1
    - Dst: g_error
      Src: /src/glib/gio/gsettings.c:729,1
    - Dst: g_error
      Src: /src/glib/gio/gsettings.c:735,1
    - Dst: g_settings_schema_get_id
      Src: /src/glib/gio/gsettings.c:736,1
    - Dst: g_strdup
      Src: /src/glib/gio/gsettings.c:738,1
    - Dst: g_settings_backend_get_default
      Src: /src/glib/gio/gsettings.c:742,1
    - Dst: g_settings_backend_watch
      Src: /src/glib/gio/gsettings.c:744,1
    - Dst: g_settings_backend_subscribe
      Src: /src/glib/gio/gsettings.c:747,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsettings.c:745,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 749
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 749
    functionName: g_settings_constructed
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_backend_watch
    - g_strdup
    - G_SETTINGS
    - g_settings_schema_get_id
    - strcmp
    - g_settings_schema_get_path
    - g_settings_backend_get_default
    - G_OBJECT
    - g_error
    - g_settings_backend_subscribe
    linkageType: ''
    returnType: void
    signature: 'static void g_settings_constructed (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_set_value
      Src: /src/glib/gio/gsettings.c:1883,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gsettings.c:1883,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - settings
    - key
    - value
    argTypes:
    - GSettings*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1884
      start: 1878
    functionDepth: 0
    functionLinenumber: 1878
    functionLinenumberEnd: 1884
    functionName: g_settings_set_string
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_variant_new_string
    - g_settings_set_value
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_settings_set_string (GSettings *settings, const gchar *key,
      const gchar *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsettings.c:2408,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gsettings.c:2411,1
    - Dst: g_settings_backend_reset
      Src: /src/glib/gio/gsettings.c:2412,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsettings.c:2409,1
    - Dst: G_IS_SETTINGS
      Src: /src/glib/gio/gsettings.c:2408,1
    - Dst: g_free
      Src: /src/glib/gio/gsettings.c:2413,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - settings
    - key
    argTypes:
    - GSettings*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2414
      start: 2402
    functionDepth: 0
    functionLinenumber: 2402
    functionLinenumberEnd: 2414
    functionName: g_settings_reset
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_backend_reset
    - g_strconcat
    - g_return_if_fail
    - G_IS_SETTINGS
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_settings_reset (GSettings *settings, const gchar *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:3582,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:3583,1
    - Dst: g_settings_action_get_type
      Src: /src/glib/gio/gsettings.c:3585,1
    - Dst: g_object_new
      Src: /src/glib/gio/gsettings.c:3585,1
    - Dst: G_IS_SETTINGS
      Src: /src/glib/gio/gsettings.c:3582,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsettings.c:3586,1
    - Dst: g_settings_schema_key_init
      Src: /src/glib/gio/gsettings.c:3587,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gsettings.c:3589,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gsettings.c:3590,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gsettings.c:3590,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gsettings.c:3593,1
    - Dst: g_free
      Src: /src/glib/gio/gsettings.c:3594,1
    - Dst: g_free
      Src: /src/glib/gio/gsettings.c:3591,1
    - Dst: G_ACTION
      Src: /src/glib/gio/gsettings.c:3596,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gsettings.c:3593,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gsettings.c:3592,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3597
      start: 3575
    functionDepth: 0
    functionLinenumber: 3575
    functionLinenumberEnd: 3597
    functionName: g_settings_create_action
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_strdup_printf
    - g_settings_action_get_type
    - g_object_new
    - G_ACTION
    - G_IS_SETTINGS
    - G_CALLBACK
    - g_settings_schema_key_init
    - g_object_ref
    - g_free
    - g_signal_connect
    linkageType: ''
    returnType: GAction*
    signature: 'GAction *g_settings_create_action (GSettings *settings, const gchar
      *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1027,1
    - Dst: g_object_new
      Src: /src/glib/gio/gsettings.c:1029,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1024
    functionDepth: 0
    functionLinenumber: 1024
    functionLinenumberEnd: 1032
    functionName: g_settings_new
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_object_new
    linkageType: ''
    returnType: GSettings*
    signature: 'GSettings *g_settings_new (const gchar *schema_id) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: G_IS_SETTINGS
      Src: /src/glib/gio/gsettings.c:1788,1
    - Dst: g_settings_schema_key_clear
      Src: /src/glib/gio/gsettings.c:1824,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1788,1
    - Dst: mapping
      Src: /src/glib/gio/gsettings.c:1796,1
    - Dst: mapping
      Src: /src/glib/gio/gsettings.c:1803,1
    - Dst: mapping
      Src: /src/glib/gio/gsettings.c:1810,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings.c:1811,1
    - Dst: g_settings_read_from_backend
      Src: /src/glib/gio/gsettings.c:1794,1
    - Dst: g_settings_schema_key_get_translated_default
      Src: /src/glib/gio/gsettings.c:1801,1
    - Dst: g_error
      Src: /src/glib/gio/gsettings.c:1819,1
    - Dst: mapping
      Src: /src/glib/gio/gsettings.c:1815,1
    - Dst: g_settings_schema_get_id
      Src: /src/glib/gio/gsettings.c:1821,1
    - Dst: g_settings_schema_key_get_per_desktop_default
      Src: /src/glib/gio/gsettings.c:1808,1
    - Dst: g_settings_schema_key_init
      Src: /src/glib/gio/gsettings.c:1792,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1789,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1790,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings.c:1797,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings.c:1804,1
    - Dst: mapping
      Src: /src/glib/gio/gsettings.c:1818,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 4
    argNames:
    - settings
    - key
    - mapping
    - user_data
    argTypes:
    - GSettings*
    - gchar*
    - GSettingsGetMapping
    - gpointer
    constantsTouched: []
    func_position:
      end: 1827
      start: 1777
    functionDepth: 0
    functionLinenumber: 1777
    functionLinenumberEnd: 1827
    functionName: g_settings_get_mapped
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - mapping
    - g_settings_schema_key_clear
    - G_IS_SETTINGS
    - g_settings_schema_get_id
    - g_variant_unref
    - g_settings_schema_key_get_translated_default
    - g_settings_schema_key_init
    - g_settings_schema_key_get_per_desktop_default
    - g_error
    - g_settings_read_from_backend
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_settings_get_mapped (GSettings *settings, const gchar *key,
      GSettingsGetMapping mapping, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/gio/gsettings.c:1732,1
    - Dst: g_settings_set_value
      Src: /src/glib/gio/gsettings.c:1736,1
    - Dst: g_variant_new_va
      Src: /src/glib/gio/gsettings.c:1733,1
    - Dst: va_end
      Src: /src/glib/gio/gsettings.c:1734,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gsettings.c:1736,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - settings
    - key
    - format
    - '...'
    argTypes:
    - GSettings*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1737
      start: 1723
    functionDepth: 0
    functionLinenumber: 1723
    functionLinenumberEnd: 1737
    functionName: g_settings_set
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_settings_set_value
    - g_variant_new_va
    - va_end
    - va_start
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_settings_set (GSettings *settings, const gchar *key, const
      gchar *format, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_SETTINGS
      Src: /src/glib/gio/gsettings.c:522,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsettings.c:526,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gsettings.c:525,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 4
    argNames:
    - target
    - backend
    - path
    - origin_tag
    argTypes:
    - GObject*
    - GSettingsBackend*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 528
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 528
    functionName: settings_backend_path_changed
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_str_has_prefix
    - G_SETTINGS
    - g_signal_emit
    linkageType: ''
    returnType: void
    signature: 'static void settings_backend_path_changed (GObject *target, GSettingsBackend
      *backend, const gchar *path, gpointer origin_tag) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_SETTINGS
      Src: /src/glib/gio/gsettings.c:577,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsettings.c:585,1
    - Dst: g_settings_schema_has_key
      Src: /src/glib/gio/gsettings.c:584,1
    - Dst: g_quark_from_string
      Src: /src/glib/gio/gsettings.c:586,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - target
    - backend
    - key
    argTypes:
    - GObject*
    - GSettingsBackend*
    - gchar*
    constantsTouched: []
    func_position:
      end: 587
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 587
    functionName: settings_backend_writable_changed
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_schema_has_key
    - g_quark_from_string
    - G_SETTINGS
    - g_signal_emit
    linkageType: ''
    returnType: void
    signature: 'static void settings_backend_writable_changed (GObject *target, GSettingsBackend
      *backend, const gchar *key) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_SETTINGS
      Src: /src/glib/gio/gsettings.c:537,1
    - Dst: g_quark_from_string
      Src: /src/glib/gio/gsettings.c:558,1
    - Dst: g_assert
      Src: /src/glib/gio/gsettings.c:563,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsettings.c:567,1
    - Dst: g_settings_schema_has_key
      Src: /src/glib/gio/gsettings.c:557,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 24
    argCount: 5
    argNames:
    - target
    - backend
    - path
    - origin_tag
    - items
    argTypes:
    - GObject*
    - GSettingsBackend*
    - gchar*
    - gpointer
    - gchar**
    constantsTouched: []
    func_position:
      end: 570
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 570
    functionName: settings_backend_keys_changed
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_quark_from_string
    - G_SETTINGS
    - g_settings_schema_has_key
    - g_assert
    - g_signal_emit
    linkageType: ''
    returnType: void
    signature: 'static void settings_backend_keys_changed (GObject *target, GSettingsBackend
      *backend, const gchar *path, gpointer origin_tag, const gchar * const *items) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_SETTINGS
      Src: /src/glib/gio/gsettings.c:594,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gsettings.c:597,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsettings.c:598,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - target
    - backend
    - path
    argTypes:
    - GObject*
    - GSettingsBackend*
    - gchar*
    constantsTouched: []
    func_position:
      end: 600
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 600
    functionName: settings_backend_path_writable_changed
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_str_has_prefix
    - G_SETTINGS
    - g_signal_emit
    linkageType: ''
    returnType: void
    signature: 'static void settings_backend_path_writable_changed (GObject *target,
      GSettingsBackend *backend, const gchar *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_schema_key_get_range
      Src: /src/glib/gio/gsettings.c:3424,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3425
      start: 3418
    functionDepth: 0
    functionLinenumber: 3418
    functionLinenumberEnd: 3425
    functionName: g_settings_action_get_state_hint
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_schema_key_get_range
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_settings_action_get_state_hint (GAction *action) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_schema_key_type_check
      Src: /src/glib/gio/gsettings.c:3433,1
    - Dst: g_settings_schema_key_range_check
      Src: /src/glib/gio/gsettings.c:3433,1
    - Dst: g_settings_write_to_backend
      Src: /src/glib/gio/gsettings.c:3434,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - action
    - value
    argTypes:
    - GAction*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 3435
      start: 3427
    functionDepth: 0
    functionLinenumber: 3427
    functionLinenumberEnd: 3435
    functionName: g_settings_action_change_state
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_schema_key_range_check
    - g_settings_write_to_backend
    - g_settings_schema_key_type_check
    linkageType: ''
    returnType: void
    signature: 'static void g_settings_action_change_state (GAction *action, GVariant
      *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_schema_list_children
      Src: /src/glib/gio/gsettings.c:2553,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2554
      start: 2550
    functionDepth: 0
    functionLinenumber: 2550
    functionLinenumberEnd: 2554
    functionName: g_settings_list_children
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_schema_list_children
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **g_settings_list_children (GSettings *settings) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_set_value
      Src: /src/glib/gio/gsettings.c:2167,1
    - Dst: g_variant_new_double
      Src: /src/glib/gio/gsettings.c:2167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - settings
    - key
    - value
    argTypes:
    - GSettings*
    - gchar*
    - gdouble
    constantsTouched: []
    func_position:
      end: 2168
      start: 2162
    functionDepth: 0
    functionLinenumber: 2162
    functionLinenumberEnd: 2168
    functionName: g_settings_set_double
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_variant_new_double
    - g_settings_set_value
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_settings_set_double (GSettings *settings, const gchar *key,
      gdouble value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_get_value
      Src: /src/glib/gio/gsettings.c:2137,1
    - Dst: g_variant_get_double
      Src: /src/glib/gio/gsettings.c:2138,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings.c:2139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - settings
    - key
    argTypes:
    - GSettings*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2142
      start: 2130
    functionDepth: 0
    functionLinenumber: 2130
    functionLinenumberEnd: 2142
    functionName: g_settings_get_double
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_variant_get_double
    - g_variant_unref
    - g_settings_get_value
    linkageType: ''
    returnType: gdouble
    signature: 'gdouble g_settings_get_double (GSettings *settings, const gchar *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_binding_quark
      Src: /src/glib/gio/gsettings.c:3336,1
    - Dst: g_object_set_qdata
      Src: /src/glib/gio/gsettings.c:3337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - object
    - property
    argTypes:
    - gpointer
    - gchar*
    constantsTouched: []
    func_position:
      end: 3338
      start: 3330
    functionDepth: 0
    functionLinenumber: 3330
    functionLinenumberEnd: 3338
    functionName: g_settings_unbind
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_object_set_qdata
    - g_settings_binding_quark
    linkageType: ''
    returnType: void
    signature: 'void g_settings_unbind (gpointer object, const gchar *property) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_get_value
      Src: /src/glib/gio/gsettings.c:2080,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings.c:2082,1
    - Dst: g_variant_get_uint64
      Src: /src/glib/gio/gsettings.c:2081,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - settings
    - key
    argTypes:
    - GSettings*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2085
      start: 2073
    functionDepth: 0
    functionLinenumber: 2073
    functionLinenumberEnd: 2085
    functionName: g_settings_get_uint64
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_variant_get_uint64
    - g_settings_get_value
    - g_variant_unref
    linkageType: ''
    returnType: guint64
    signature: 'guint64 g_settings_get_uint64 (GSettings *settings, const gchar *key) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gsettings.c:3072,1
    - Dst: g_closure_ref
      Src: /src/glib/gio/gsettings.c:3076,1
    - Dst: G_CLOSURE_NEEDS_MARSHAL
      Src: /src/glib/gio/gsettings.c:3078,1
    - Dst: g_closure_set_marshal
      Src: /src/glib/gio/gsettings.c:3079,1
    - Dst: g_closure_sink
      Src: /src/glib/gio/gsettings.c:3077,1
    - Dst: g_closure_ref
      Src: /src/glib/gio/gsettings.c:3084,1
    - Dst: g_closure_sink
      Src: /src/glib/gio/gsettings.c:3085,1
    - Dst: G_CLOSURE_NEEDS_MARSHAL
      Src: /src/glib/gio/gsettings.c:3086,1
    - Dst: g_closure_set_marshal
      Src: /src/glib/gio/gsettings.c:3087,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3091
      start: 3066
    functionDepth: 0
    functionLinenumber: 3066
    functionLinenumberEnd: 3091
    functionName: bind_with_mapping_closures_data_new
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_closure_sink
    - g_closure_set_marshal
    - g_closure_ref
    - g_new0
    - G_CLOSURE_NEEDS_MARSHAL
    linkageType: ''
    returnType: BindWithMappingClosuresData*
    signature: 'static BindWithMappingClosuresData *bind_with_mapping_closures_data_new
      (GClosure *get_mapping_closure, GClosure *set_mapping_closure) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_closure_unref
      Src: /src/glib/gio/gsettings.c:3097,1
    - Dst: g_closure_unref
      Src: /src/glib/gio/gsettings.c:3100,1
    - Dst: g_free
      Src: /src/glib/gio/gsettings.c:3102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - BindWithMappingClosuresData*
    constantsTouched: []
    func_position:
      end: 3103
      start: 3093
    functionDepth: 0
    functionLinenumber: 3093
    functionLinenumberEnd: 3103
    functionName: bind_with_mapping_closures_data_free
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_closure_unref
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void bind_with_mapping_closures_data_free (BindWithMappingClosuresData
      *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_schema_list_keys
      Src: /src/glib/gio/gsettings.c:2528,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2529
      start: 2525
    functionDepth: 0
    functionLinenumber: 2525
    functionLinenumberEnd: 2529
    functionName: g_settings_list_keys
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_schema_list_keys
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **g_settings_list_keys (GSettings *settings) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gio/gsettings.c:3115,1
    - Dst: g_value_set_variant
      Src: /src/glib/gio/gsettings.c:3118,1
    - Dst: g_value_init
      Src: /src/glib/gio/gsettings.c:3117,1
    - Dst: g_value_init
      Src: /src/glib/gio/gsettings.c:3119,1
    - Dst: g_value_set_boxed
      Src: /src/glib/gio/gsettings.c:3116,1
    - Dst: g_closure_invoke
      Src: /src/glib/gio/gsettings.c:3121,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gsettings.c:3123,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gsettings.c:3125,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gsettings.c:3126,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gsettings.c:3127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - value
    - variant
    - user_data
    argTypes:
    - GValue*
    - GVariant*
    - void*
    constantsTouched: []
    func_position:
      end: 3130
      start: 3105
    functionDepth: 0
    functionLinenumber: 3105
    functionLinenumberEnd: 3130
    functionName: bind_with_mapping_invoke_get
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_value_get_boolean
    - g_closure_invoke
    - g_value_init
    - g_value_set_boxed
    - g_value_set_variant
    - g_value_unset
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean bind_with_mapping_invoke_get (GValue *value, GVariant
      *variant, void *user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_notify
      Src: /src/glib/gio/gsettings.c:3540,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - settings
    - key
    - user_data
    argTypes:
    - GSettings*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 3541
      start: 3535
    functionDepth: 0
    functionLinenumber: 3535
    functionLinenumberEnd: 3541
    functionName: g_settings_action_changed
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_object_notify
    linkageType: ''
    returnType: void
    signature: 'static void g_settings_action_changed (GSettings *settings, const
      gchar *key, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gio/gsettings.c:3142,1
    - Dst: g_value_init
      Src: /src/glib/gio/gsettings.c:3144,1
    - Dst: g_value_set_boxed
      Src: /src/glib/gio/gsettings.c:3143,1
    - Dst: g_value_set_boxed
      Src: /src/glib/gio/gsettings.c:3145,1
    - Dst: g_value_init
      Src: /src/glib/gio/gsettings.c:3146,1
    - Dst: g_closure_invoke
      Src: /src/glib/gio/gsettings.c:3148,1
    - Dst: g_value_dup_variant
      Src: /src/glib/gio/gsettings.c:3150,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gsettings.c:3152,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gsettings.c:3153,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gsettings.c:3154,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3157
      start: 3132
    functionDepth: 0
    functionLinenumber: 3132
    functionLinenumberEnd: 3157
    functionName: bind_with_mapping_invoke_set
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_value_dup_variant
    - g_closure_invoke
    - g_value_init
    - g_value_set_boxed
    - g_value_unset
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *bind_with_mapping_invoke_set (const GValue *value,
      const GVariantType *expected_type, void *user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_notify
      Src: /src/glib/gio/gsettings.c:3548,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - settings
    - key
    - user_data
    argTypes:
    - GSettings*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 3549
      start: 3543
    functionDepth: 0
    functionLinenumber: 3543
    functionLinenumberEnd: 3549
    functionName: g_settings_action_enabled_changed
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_object_notify
    linkageType: ''
    returnType: void
    signature: 'static void g_settings_action_enabled_changed (GSettings *settings,
      const gchar *key, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_set_value
      Src: /src/glib/gio/gsettings.c:2111,1
    - Dst: g_variant_new_uint64
      Src: /src/glib/gio/gsettings.c:2111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - settings
    - key
    - value
    argTypes:
    - GSettings*
    - gchar*
    - guint64
    constantsTouched: []
    func_position:
      end: 2112
      start: 2106
    functionDepth: 0
    functionLinenumber: 2106
    functionLinenumberEnd: 2112
    functionName: g_settings_set_uint64
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_variant_new_uint64
    - g_settings_set_value
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_settings_set_uint64 (GSettings *settings, const gchar *key,
      guint64 value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_set_value
      Src: /src/glib/gio/gsettings.c:2053,1
    - Dst: g_variant_new_uint32
      Src: /src/glib/gio/gsettings.c:2053,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - settings
    - key
    - value
    argTypes:
    - GSettings*
    - gchar*
    - guint
    constantsTouched: []
    func_position:
      end: 2054
      start: 2048
    functionDepth: 0
    functionLinenumber: 2048
    functionLinenumberEnd: 2054
    functionName: g_settings_set_uint
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_variant_new_uint32
    - g_settings_set_value
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_settings_set_uint (GSettings *settings, const gchar *key,
      guint value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_get_value
      Src: /src/glib/gio/gsettings.c:2022,1
    - Dst: g_variant_get_uint32
      Src: /src/glib/gio/gsettings.c:2023,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings.c:2024,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - settings
    - key
    argTypes:
    - GSettings*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2027
      start: 2015
    functionDepth: 0
    functionLinenumber: 2015
    functionLinenumberEnd: 2027
    functionName: g_settings_get_uint
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_variant_unref
    - g_settings_get_value
    - g_variant_get_uint32
    linkageType: ''
    returnType: guint
    signature: 'guint g_settings_get_uint (GSettings *settings, const gchar *key) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_critical
      Src: /src/glib/gio/gsettings.c:3286,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gio/gsettings.c:3283,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/gsettings.c:3287,1
    - Dst: g_critical
      Src: /src/glib/gio/gsettings.c:3292,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/gsettings.c:3293,1
    - Dst: g_slice_new
      Src: /src/glib/gio/gsettings.c:3297,1
    - Dst: g_intern_string
      Src: /src/glib/gio/gsettings.c:3300,1
    - Dst: G_IS_SETTINGS
      Src: /src/glib/gio/gsettings.c:3281,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gsettings.c:3307,1
    - Dst: g_settings_binding_quark
      Src: /src/glib/gio/gsettings.c:3311,1
    - Dst: g_settings_binding_writable_changed
      Src: /src/glib/gio/gsettings.c:3314,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsettings.c:3281,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gsettings.c:3306,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gsettings.c:3304,1
    - Dst: g_object_set_qdata_full
      Src: /src/glib/gio/gsettings.c:3311,1
    - Dst: g_object_class_find_property
      Src: /src/glib/gio/gsettings.c:3283,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsettings.c:3298,1
    - Dst: g_intern_string
      Src: /src/glib/gio/gsettings.c:3301,1
    - Dst: g_free
      Src: /src/glib/gio/gsettings.c:3309,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 5
    argNames:
    - settings
    - key
    - object
    - property
    - inverted
    argTypes:
    - GSettings*
    - gchar*
    - gpointer
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 3315
      start: 3270
    functionDepth: 0
    functionLinenumber: 3270
    functionLinenumberEnd: 3315
    functionName: g_settings_bind_writable
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_object_class_find_property
    - g_strdup_printf
    - g_intern_string
    - G_OBJECT_TYPE_NAME
    - g_return_if_fail
    - g_settings_binding_writable_changed
    - g_object_set_qdata_full
    - G_IS_SETTINGS
    - G_CALLBACK
    - g_settings_binding_quark
    - g_critical
    - g_slice_new
    - G_OBJECT_GET_CLASS
    - g_object_ref
    - g_free
    - g_signal_connect
    linkageType: ''
    returnType: void
    signature: 'void g_settings_bind_writable (GSettings *settings, const gchar *key,
      gpointer object, const gchar *property, gboolean inverted) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1571,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1572,1
    - Dst: g_critical
      Src: /src/glib/gio/gsettings.c:1578,1
    - Dst: G_IS_SETTINGS
      Src: /src/glib/gio/gsettings.c:1571,1
    - Dst: g_settings_schema_key_init
      Src: /src/glib/gio/gsettings.c:1574,1
    - Dst: g_settings_schema_key_from_flags
      Src: /src/glib/gio/gsettings.c:1583,1
    - Dst: g_critical
      Src: /src/glib/gio/gsettings.c:1585,1
    - Dst: g_settings_schema_get_id
      Src: /src/glib/gio/gsettings.c:1587,1
    - Dst: g_settings_schema_key_clear
      Src: /src/glib/gio/gsettings.c:1588,1
    - Dst: g_settings_write_to_backend
      Src: /src/glib/gio/gsettings.c:1592,1
    - Dst: g_settings_schema_key_clear
      Src: /src/glib/gio/gsettings.c:1593,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gsettings.c:1592,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - settings
    - key
    - value
    argTypes:
    - GSettings*
    - gchar*
    - guint
    constantsTouched: []
    func_position:
      end: 1596
      start: 1562
    functionDepth: 0
    functionLinenumber: 1562
    functionLinenumberEnd: 1596
    functionName: g_settings_set_flags
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_write_to_backend
    - g_steal_pointer
    - g_return_val_if_fail
    - g_settings_schema_key_from_flags
    - g_settings_schema_key_clear
    - G_IS_SETTINGS
    - g_settings_schema_get_id
    - g_critical
    - g_settings_schema_key_init
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_settings_set_flags (GSettings *settings, const gchar *key,
      guint value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_get_value
      Src: /src/glib/gio/gsettings.c:1686,1
    - Dst: va_start
      Src: /src/glib/gio/gsettings.c:1695,1
    - Dst: g_settings_schema_get_id
      Src: /src/glib/gio/gsettings.c:1692,1
    - Dst: g_critical
      Src: /src/glib/gio/gsettings.c:1690,1
    - Dst: strchr
      Src: /src/glib/gio/gsettings.c:1688,1
    - Dst: g_variant_get_va
      Src: /src/glib/gio/gsettings.c:1696,1
    - Dst: va_end
      Src: /src/glib/gio/gsettings.c:1697,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings.c:1699,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - settings
    - key
    - format
    - '...'
    argTypes:
    - GSettings*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1700
      start: 1677
    functionDepth: 0
    functionLinenumber: 1677
    functionLinenumberEnd: 1700
    functionName: g_settings_get
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_variant_get_va
    - g_settings_get_value
    - g_settings_schema_get_id
    - strchr
    - g_variant_unref
    - g_critical
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: 'void g_settings_get (GSettings *settings, const gchar *key, const
      gchar *format, ...) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1517,1
    - Dst: G_IS_SETTINGS
      Src: /src/glib/gio/gsettings.c:1517,1
    - Dst: g_settings_schema_key_init
      Src: /src/glib/gio/gsettings.c:1520,1
    - Dst: g_critical
      Src: /src/glib/gio/gsettings.c:1524,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1518,1
    - Dst: g_settings_schema_key_clear
      Src: /src/glib/gio/gsettings.c:1526,1
    - Dst: g_settings_read_from_backend
      Src: /src/glib/gio/gsettings.c:1530,1
    - Dst: g_settings_schema_key_get_default_value
      Src: /src/glib/gio/gsettings.c:1533,1
    - Dst: g_settings_schema_key_to_flags
      Src: /src/glib/gio/gsettings.c:1535,1
    - Dst: g_settings_schema_key_clear
      Src: /src/glib/gio/gsettings.c:1536,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings.c:1537,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - settings
    - key
    argTypes:
    - GSettings*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1540
      start: 1509
    functionDepth: 0
    functionLinenumber: 1509
    functionLinenumberEnd: 1540
    functionName: g_settings_get_flags
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_settings_schema_key_clear
    - G_IS_SETTINGS
    - g_variant_unref
    - g_critical
    - g_settings_schema_key_init
    - g_settings_schema_key_to_flags
    - g_settings_read_from_backend
    - g_settings_schema_key_get_default_value
    linkageType: ''
    returnType: guint
    signature: 'guint g_settings_get_flags (GSettings *settings, const gchar *key) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1625,1
    - Dst: g_settings_schema_key_init
      Src: /src/glib/gio/gsettings.c:1629,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1626,1
    - Dst: G_IS_SETTINGS
      Src: /src/glib/gio/gsettings.c:1625,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gsettings.c:1628,1
    - Dst: g_settings_schema_key_type_check
      Src: /src/glib/gio/gsettings.c:1631,1
    - Dst: g_critical
      Src: /src/glib/gio/gsettings.c:1633,1
    - Dst: g_settings_schema_get_id
      Src: /src/glib/gio/gsettings.c:1635,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/gio/gsettings.c:1636,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gsettings.c:1637,1
    - Dst: g_settings_schema_key_clear
      Src: /src/glib/gio/gsettings.c:1653,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings.c:1654,1
    - Dst: g_settings_schema_key_range_check
      Src: /src/glib/gio/gsettings.c:1640,1
    - Dst: g_settings_write_to_backend
      Src: /src/glib/gio/gsettings.c:1650,1
    - Dst: g_settings_schema_get_id
      Src: /src/glib/gio/gsettings.c:1645,1
    - Dst: g_warning
      Src: /src/glib/gio/gsettings.c:1642,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - settings
    - key
    - value
    argTypes:
    - GSettings*
    - gchar*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 1657
      start: 1617
    functionDepth: 0
    functionLinenumber: 1617
    functionLinenumberEnd: 1657
    functionName: g_settings_set_value
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - g_settings_schema_key_range_check
    - g_settings_write_to_backend
    - g_return_val_if_fail
    - g_warning
    - g_settings_schema_key_clear
    - G_IS_SETTINGS
    - g_settings_schema_get_id
    - g_variant_type_peek_string
    - g_settings_schema_key_type_check
    - g_variant_unref
    - g_settings_schema_key_init
    - g_critical
    - g_variant_get_type_string
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_settings_set_value (GSettings *settings, const gchar *key,
      GVariant *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SETTINGS
      Src: /src/glib/gio/gsettings.c:754,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/gsettings.c:758,1
    - Dst: g_settings_backend_unsubscribe
      Src: /src/glib/gio/gsettings.c:756,1
    - Dst: g_settings_schema_unref
      Src: /src/glib/gio/gsettings.c:760,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsettings.c:759,1
    - Dst: g_free
      Src: /src/glib/gio/gsettings.c:761,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsettings.c:763,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 764
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 764
    functionName: g_settings_finalize
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_backend_unsubscribe
    - g_main_context_unref
    - g_object_unref
    - g_settings_schema_unref
    - G_SETTINGS
    - G_OBJECT_CLASS
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void g_settings_finalize (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsettings.c:2306,1
    - Dst: G_IS_DELAYED_SETTINGS_BACKEND
      Src: /src/glib/gio/gsettings.c:2308,1
    - Dst: G_IS_SETTINGS
      Src: /src/glib/gio/gsettings.c:2306,1
    - Dst: g_settings_backend_unwatch
      Src: /src/glib/gio/gsettings.c:2314,1
    - Dst: g_delayed_settings_backend_new
      Src: /src/glib/gio/gsettings.c:2311,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsettings.c:2314,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsettings.c:2315,1
    - Dst: G_SETTINGS_BACKEND
      Src: /src/glib/gio/gsettings.c:2317,1
    - Dst: g_settings_backend_watch
      Src: /src/glib/gio/gsettings.c:2318,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsettings.c:2319,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsettings.c:2322,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gsettings.c:2322,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - settings
    argTypes:
    - GSettings*
    constantsTouched: []
    func_position:
      end: 2323
      start: 2301
    functionDepth: 0
    functionLinenumber: 2301
    functionLinenumberEnd: 2323
    functionName: g_settings_delay
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_backend_watch
    - g_object_unref
    - G_SETTINGS_BACKEND
    - g_return_if_fail
    - g_object_notify
    - G_IS_SETTINGS
    - G_OBJECT
    - g_settings_backend_unwatch
    - G_IS_DELAYED_SETTINGS_BACKEND
    - g_delayed_settings_backend_new
    linkageType: ''
    returnType: void
    signature: 'void g_settings_delay (GSettings *settings) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_schema_key_init
      Src: /src/glib/gio/gsettings.c:2574,1
    - Dst: g_settings_schema_key_clear
      Src: /src/glib/gio/gsettings.c:2576,1
    - Dst: g_settings_schema_key_get_range
      Src: /src/glib/gio/gsettings.c:2575,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2579
      start: 2567
    functionDepth: 0
    functionLinenumber: 2567
    functionLinenumberEnd: 2579
    functionName: g_settings_get_range
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_schema_key_get_range
    - g_settings_schema_key_init
    - g_settings_schema_key_clear
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_settings_get_range (GSettings *settings, const gchar *key) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_object_get_property
      Src: /src/glib/gio/gsettings.c:2767,1
    - Dst: g_critical
      Src: /src/glib/gio/gsettings.c:2777,1
    - Dst: g_settings_schema_get_id
      Src: /src/glib/gio/gsettings.c:2792,1
    - Dst: g_assert
      Src: /src/glib/gio/gsettings.c:2758,1
    - Dst: g_variant_take_ref
      Src: /src/glib/gio/gsettings.c:2771,1
    - Dst: g_variant_type_dup_string
      Src: /src/glib/gio/gsettings.c:2776,1
    - Dst: g_critical
      Src: /src/glib/gio/gsettings.c:2789,1
    - Dst: g_settings_write_to_backend
      Src: /src/glib/gio/gsettings.c:2800,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettings.c:2802,1
    - Dst: g_type_name
      Src: /src/glib/gio/gsettings.c:2791,1
    - Dst: g_variant_print
      Src: /src/glib/gio/gsettings.c:2788,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gsettings.c:2804,1
    - Dst: g_free
      Src: /src/glib/gio/gsettings.c:2781,1
    - Dst: g_settings_schema_key_range_check
      Src: /src/glib/gio/gsettings.c:2785,1
    - Dst: g_value_init
      Src: /src/glib/gio/gsettings.c:2766,1
    - Dst: g_assert
      Src: /src/glib/gio/gsettings.c:2759,1
    - Dst: g_settings_schema_key_type_check
      Src: /src/glib/gio/gsettings.c:2773,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gsettings.c:2779,1
    - Dst: g_free
      Src: /src/glib/gio/gsettings.c:2794,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 3
    argNames:
    - object
    - pspec
    - user_data
    argTypes:
    - GObject*
    - GParamSpec*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2807
      start: 2748
    functionDepth: 0
    functionLinenumber: 2748
    functionLinenumberEnd: 2807
    functionName: g_settings_binding_property_changed
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_schema_key_range_check
    - g_settings_write_to_backend
    - g_assert
    - g_settings_schema_get_id
    - g_settings_schema_key_type_check
    - g_value_init
    - g_object_get_property
    - g_variant_type_dup_string
    - g_variant_unref
    - g_variant_print
    - g_critical
    - g_variant_get_type_string
    - g_variant_take_ref
    - g_value_unset
    - g_free
    - g_type_name
    linkageType: ''
    returnType: void
    signature: 'static void g_settings_binding_property_changed (GObject *object,
      const GParamSpec *pspec, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_get_instance_private
      Src: /src/glib/gio/gsettings.c:769,1
    - Dst: g_main_context_ref_thread_default
      Src: /src/glib/gio/gsettings.c:770,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - settings
    argTypes:
    - GSettings*
    constantsTouched: []
    func_position:
      end: 771
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 771
    functionName: g_settings_init
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_get_instance_private
    - g_main_context_ref_thread_default
    linkageType: ''
    returnType: void
    signature: 'static void g_settings_init (GSettings *settings) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gsettings.c:2637,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/gsettings.c:2640,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/gsettings.c:2649,1
    - Dst: g_signal_handler_is_connected
      Src: /src/glib/gio/gsettings.c:2647,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/gsettings.c:2644,1
    - Dst: g_settings_schema_key_clear
      Src: /src/glib/gio/gsettings.c:2652,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsettings.c:2657,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gsettings.c:2659,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 2660
      start: 2632
    functionDepth: 0
    functionLinenumber: 2632
    functionLinenumberEnd: 2660
    functionName: g_settings_binding_free
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_signal_handler_disconnect
    - g_assert
    - g_signal_handler_is_connected
    - g_settings_schema_key_clear
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void g_settings_binding_free (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gsettings.c:2814,1
    - Dst: g_variant_get_boolean
      Src: /src/glib/gio/gsettings.c:2814,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - value
    - variant
    - user_data
    argTypes:
    - GValue*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2816
      start: 2809
    functionDepth: 0
    functionLinenumber: 2809
    functionLinenumberEnd: 2816
    functionName: g_settings_bind_invert_boolean_get_mapping
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_value_set_boolean
    - g_variant_get_boolean
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_settings_bind_invert_boolean_get_mapping (GValue
      *value, GVariant *variant, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/gsettings.c:3218,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsettings.c:3219,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gsettings.c:3220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 3221
      start: 3213
    functionDepth: 0
    functionLinenumber: 3213
    functionLinenumberEnd: 3221
    functionName: g_settings_writable_binding_free
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_object_unref
    - g_signal_handler_disconnect
    linkageType: ''
    returnType: void
    signature: 'static void g_settings_writable_binding_free (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_set_value
      Src: /src/glib/gio/gsettings.c:1995,1
    - Dst: g_variant_new_int64
      Src: /src/glib/gio/gsettings.c:1995,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - settings
    - key
    - value
    argTypes:
    - GSettings*
    - gchar*
    - gint64
    constantsTouched: []
    func_position:
      end: 1996
      start: 1990
    functionDepth: 0
    functionLinenumber: 1990
    functionLinenumberEnd: 1996
    functionName: g_settings_set_int64
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_set_value
    - g_variant_new_int64
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_settings_set_int64 (GSettings *settings, const gchar *key,
      gint64 value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1266,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1267,1
    - Dst: G_IS_SETTINGS
      Src: /src/glib/gio/gsettings.c:1266,1
    - Dst: g_settings_schema_key_init
      Src: /src/glib/gio/gsettings.c:1269,1
    - Dst: g_settings_read_from_backend
      Src: /src/glib/gio/gsettings.c:1270,1
    - Dst: g_settings_schema_key_get_default_value
      Src: /src/glib/gio/gsettings.c:1273,1
    - Dst: g_settings_schema_key_clear
      Src: /src/glib/gio/gsettings.c:1275,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1259
    functionDepth: 0
    functionLinenumber: 1259
    functionLinenumberEnd: 1278
    functionName: g_settings_get_value
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_settings_schema_key_clear
    - G_IS_SETTINGS
    - g_settings_read_from_backend
    - g_settings_schema_key_init
    - g_settings_schema_key_get_default_value
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_settings_get_value (GSettings *settings, const gchar *key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gsettings.c:3231,1
    - Dst: g_assert
      Src: /src/glib/gio/gsettings.c:3232,1
    - Dst: g_settings_is_writable
      Src: /src/glib/gio/gsettings.c:3234,1
    - Dst: g_object_set
      Src: /src/glib/gio/gsettings.c:3239,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - settings
    - key
    - user_data
    argTypes:
    - GSettings*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 3240
      start: 3223
    functionDepth: 0
    functionLinenumber: 3223
    functionLinenumberEnd: 3240
    functionName: g_settings_binding_writable_changed
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_settings_is_writable
    - g_object_set
    linkageType: ''
    returnType: void
    signature: 'static void g_settings_binding_writable_changed (GSettings *settings,
      const gchar *key, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1137,1
    - Dst: path_is_valid
      Src: /src/glib/gio/gsettings.c:1139,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1139,1
    - Dst: G_IS_SETTINGS_BACKEND
      Src: /src/glib/gio/gsettings.c:1138,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1138,1
    - Dst: g_object_new
      Src: /src/glib/gio/gsettings.c:1141,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1146
    functionName: g_settings_new_with_backend_and_path
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - path_is_valid
    - g_return_val_if_fail
    - g_object_new
    - G_IS_SETTINGS_BACKEND
    linkageType: ''
    returnType: GSettings*
    signature: 'GSettings *g_settings_new_with_backend_and_path (const gchar *schema_id,
      GSettingsBackend *backend, const gchar *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get_type
      Src: /src/glib/gio/gsettings.c:3401,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3402
      start: 3396
    functionDepth: 0
    functionLinenumber: 3396
    functionLinenumberEnd: 3402
    functionName: g_settings_action_get_state_type
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_variant_get_type
    linkageType: ''
    returnType: GVariantType*
    signature: 'static const GVariantType *g_settings_action_get_state_type (GAction
      *action) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_read_from_backend
      Src: /src/glib/gio/gsettings.c:3410,1
    - Dst: g_settings_schema_key_get_default_value
      Src: /src/glib/gio/gsettings.c:3413,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3416
      start: 3404
    functionDepth: 0
    functionLinenumber: 3404
    functionLinenumberEnd: 3416
    functionName: g_settings_action_get_state
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_read_from_backend
    - g_settings_schema_key_get_default_value
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_settings_action_get_state (GAction *action) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1107,1
    - Dst: G_IS_SETTINGS_BACKEND
      Src: /src/glib/gio/gsettings.c:1108,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettings.c:1108,1
    - Dst: g_object_new
      Src: /src/glib/gio/gsettings.c:1110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1103
    functionDepth: 0
    functionLinenumber: 1103
    functionLinenumberEnd: 1114
    functionName: g_settings_new_with_backend
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_object_new
    - G_IS_SETTINGS_BACKEND
    linkageType: ''
    returnType: GSettings*
    signature: 'GSettings *g_settings_new_with_backend (const gchar *schema_id, GSettingsBackend
      *backend) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_IS_DELAYED_SETTINGS_BACKEND
      Src: /src/glib/gio/gsettings.c:2337,1
    - Dst: G_DELAYED_SETTINGS_BACKEND
      Src: /src/glib/gio/gsettings.c:2341,1
    - Dst: g_delayed_settings_backend_apply
      Src: /src/glib/gio/gsettings.c:2342,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - settings
    argTypes:
    - GSettings*
    constantsTouched: []
    func_position:
      end: 2344
      start: 2334
    functionDepth: 0
    functionLinenumber: 2334
    functionLinenumberEnd: 2344
    functionName: g_settings_apply
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_delayed_settings_backend_apply
    - G_IS_DELAYED_SETTINGS_BACKEND
    - G_DELAYED_SETTINGS_BACKEND
    linkageType: ''
    returnType: void
    signature: 'void g_settings_apply (GSettings *settings) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_schema_key_init
      Src: /src/glib/gio/gsettings.c:2604,1
    - Dst: g_settings_schema_key_range_check
      Src: /src/glib/gio/gsettings.c:2605,1
    - Dst: g_settings_schema_key_clear
      Src: /src/glib/gio/gsettings.c:2606,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - settings
    - key
    - value
    argTypes:
    - GSettings*
    - gchar*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 2609
      start: 2596
    functionDepth: 0
    functionLinenumber: 2596
    functionLinenumberEnd: 2609
    functionName: g_settings_range_check
    functionSourceFile: /src/glib/gio/gsettings.c
    functionUses: []
    functionsReached:
    - g_settings_schema_key_range_check
    - g_settings_schema_key_init
    - g_settings_schema_key_clear
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_settings_range_check (GSettings *settings, const gchar
      *key, GVariant *value) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_INPUT_STREAM
      Src: /src/glib/gio/gwin32inputstream.c:73,1
    - Dst: g_value_get_pointer
      Src: /src/glib/gio/gwin32inputstream.c:78,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gwin32inputstream.c:84,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gwin32inputstream.c:81,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 87
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 87
    functionName: g_win32_input_stream_set_property
    functionSourceFile: /src/glib/gio/gwin32inputstream.c
    functionUses: []
    functionsReached:
    - g_value_get_pointer
    - g_value_get_boolean
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_WIN32_INPUT_STREAM
    linkageType: ''
    returnType: void
    signature: "static void g_win32_input_stream_set_property (GObject *object,\t\t\
      \t\t guint prop_id,\t\t\t\t const GValue *value,\t\t\t\t GParamSpec *pspec) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gwin32inputstream.c:243,1
    - Dst: g_param_spec_pointer
      Src: /src/glib/gio/gwin32inputstream.c:260,1
    - Dst: G_INPUT_STREAM_CLASS
      Src: /src/glib/gio/gwin32inputstream.c:244,1
    - Dst: g_object_class_install_properties
      Src: /src/glib/gio/gwin32inputstream.c:280,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gwin32inputstream.c:274,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GWin32InputStreamClass*
    constantsTouched: []
    func_position:
      end: 281
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 281
    functionName: g_win32_input_stream_class_init
    functionSourceFile: /src/glib/gio/gwin32inputstream.c
    functionUses: []
    functionsReached:
    - g_param_spec_boolean
    - g_object_class_install_properties
    - g_param_spec_pointer
    - G_INPUT_STREAM_CLASS
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_input_stream_class_init (GWin32InputStreamClass
      *klass) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_INPUT_STREAM
      Src: /src/glib/gio/gwin32inputstream.c:125,1
    - Dst: ReadFile
      Src: /src/glib/gio/gwin32inputstream.c:138,1
    - Dst: CreateEvent
      Src: /src/glib/gio/gwin32inputstream.c:135,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32inputstream.c:136,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gwin32inputstream.c:127,1
    - Dst: GetLastError
      Src: /src/glib/gio/gwin32inputstream.c:143,1
    - Dst: _g_win32_overlap_wait_result
      Src: /src/glib/gio/gwin32inputstream.c:146,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gwin32inputstream.c:153,1
    - Dst: GetLastError
      Src: /src/glib/gio/gwin32inputstream.c:156,1
    - Dst: g_win32_error_message
      Src: /src/glib/gio/gwin32inputstream.c:180,1
    - Dst: _
      Src: /src/glib/gio/gwin32inputstream.c:183,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32inputstream.c:185,1
    - Dst: CloseHandle
      Src: /src/glib/gio/gwin32inputstream.c:190,1
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/gwin32inputstream.c:182,1
    - Dst: g_set_error
      Src: /src/glib/gio/gwin32inputstream.c:181,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 40
    argCount: 5
    argNames:
    - stream
    - buffer
    - count
    - cancellable
    - error
    argTypes:
    - GInputStream*
    - void*
    - gsize
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 192
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 192
    functionName: g_win32_input_stream_read
    functionSourceFile: /src/glib/gio/gwin32inputstream.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_return_val_if_fail
    - g_win32_error_message
    - ReadFile
    - g_free
    - CreateEvent
    - _g_win32_overlap_wait_result
    - GetLastError
    - G_WIN32_INPUT_STREAM
    - CloseHandle
    - _
    - g_cancellable_set_error_if_cancelled
    - g_io_error_from_win32_error
    linkageType: ''
    returnType: gssize
    signature: "static gssize g_win32_input_stream_read (GInputStream *stream,\t\t\
      \t void *buffer,\t\t\t gsize count,\t\t\t GCancellable *cancellable,\t\t\t GError\
      \ **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gwin32inputstream.c:337,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gwin32inputstream.c:343,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gwin32inputstream.c:343,1
    - Dst: G_IS_WIN32_INPUT_STREAM
      Src: /src/glib/gio/gwin32inputstream.c:337,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - stream
    - close_handle
    argTypes:
    - GWin32InputStream*
    - gboolean
    constantsTouched: []
    func_position:
      end: 345
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 345
    functionName: g_win32_input_stream_set_close_handle
    functionSourceFile: /src/glib/gio/gwin32inputstream.c
    functionUses: []
    functionsReached:
    - g_object_notify
    - G_IS_WIN32_INPUT_STREAM
    - G_OBJECT
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_win32_input_stream_set_close_handle (GWin32InputStream *stream,\t\
      \t\t\t gboolean close_handle) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32inputstream.c:379,1
    - Dst: G_IS_WIN32_INPUT_STREAM
      Src: /src/glib/gio/gwin32inputstream.c:379,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 382
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 382
    functionName: g_win32_input_stream_get_handle
    functionSourceFile: /src/glib/gio/gwin32inputstream.c
    functionUses: []
    functionsReached:
    - G_IS_WIN32_INPUT_STREAM
    - g_return_val_if_fail
    linkageType: ''
    returnType: void*
    signature: 'void *g_win32_input_stream_get_handle (GWin32InputStream *stream) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_INPUT_STREAM
      Src: /src/glib/gio/gwin32inputstream.c:97,1
    - Dst: g_value_set_pointer
      Src: /src/glib/gio/gwin32inputstream.c:102,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gwin32inputstream.c:105,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gwin32inputstream.c:108,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 110
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 110
    functionName: g_win32_input_stream_get_property
    functionSourceFile: /src/glib/gio/gwin32inputstream.c
    functionUses: []
    functionsReached:
    - g_value_set_boolean
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_WIN32_INPUT_STREAM
    - g_value_set_pointer
    linkageType: ''
    returnType: void
    signature: "static void g_win32_input_stream_get_property (GObject *object,\t\t\
      \t\t guint prop_id,\t\t\t\t GValue *value,\t\t\t\t GParamSpec *pspec) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_INPUT_STREAM
      Src: /src/glib/gio/gwin32inputstream.c:202,1
    - Dst: g_set_error
      Src: /src/glib/gio/gwin32inputstream.c:213,1
    - Dst: _
      Src: /src/glib/gio/gwin32inputstream.c:215,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gwin32inputstream.c:214,1
    - Dst: close
      Src: /src/glib/gio/gwin32inputstream.c:209,1
    - Dst: g_strerror
      Src: /src/glib/gio/gwin32inputstream.c:216,1
    - Dst: CloseHandle
      Src: /src/glib/gio/gwin32inputstream.c:222,1
    - Dst: GetLastError
      Src: /src/glib/gio/gwin32inputstream.c:225,1
    - Dst: g_win32_error_message
      Src: /src/glib/gio/gwin32inputstream.c:226,1
    - Dst: g_set_error
      Src: /src/glib/gio/gwin32inputstream.c:228,1
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/gwin32inputstream.c:229,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32inputstream.c:232,1
    - Dst: _
      Src: /src/glib/gio/gwin32inputstream.c:230,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GInputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 238
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 238
    functionName: g_win32_input_stream_close
    functionSourceFile: /src/glib/gio/gwin32inputstream.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_io_error_from_errno
    - g_win32_error_message
    - g_strerror
    - GetLastError
    - close
    - G_WIN32_INPUT_STREAM
    - CloseHandle
    - _
    - g_free
    - g_io_error_from_win32_error
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_win32_input_stream_close (GInputStream *stream,\t\
      \t\t GCancellable *cancellable,\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_win32_input_stream_get_instance_private
      Src: /src/glib/gio/gwin32inputstream.c:286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - win32_stream
    argTypes:
    - GWin32InputStream*
    constantsTouched: []
    func_position:
      end: 290
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 290
    functionName: g_win32_input_stream_init
    functionSourceFile: /src/glib/gio/gwin32inputstream.c
    functionUses: []
    functionsReached:
    - g_win32_input_stream_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_input_stream_init (GWin32InputStream *win32_stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_INPUT_STREAM
      Src: /src/glib/gio/gwin32inputstream.c:390,1
    - Dst: g_win32_input_stream_new
      Src: /src/glib/gio/gwin32inputstream.c:390,1
    - Dst: _get_osfhandle
      Src: /src/glib/gio/gwin32inputstream.c:390,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 394
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 394
    functionName: g_win32_input_stream_new_from_fd
    functionSourceFile: /src/glib/gio/gwin32inputstream.c
    functionUses: []
    functionsReached:
    - _get_osfhandle
    - g_win32_input_stream_new
    - G_WIN32_INPUT_STREAM
    linkageType: ''
    returnType: GInputStream*
    signature: "GInputStream *g_win32_input_stream_new_from_fd (gint fd,\t\t\t\t gboolean\
      \ close_fd) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32inputstream.c:313,1
    - Dst: g_object_new
      Src: /src/glib/gio/gwin32inputstream.c:315,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gwin32inputstream.c:320,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 321
    functionName: g_win32_input_stream_new
    functionSourceFile: /src/glib/gio/gwin32inputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_INPUT_STREAM
    - g_object_new
    linkageType: ''
    returnType: GInputStream*
    signature: "GInputStream *g_win32_input_stream_new (void *handle,\t\t\t gboolean\
      \ close_handle) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32inputstream.c:361,1
    - Dst: G_IS_WIN32_INPUT_STREAM
      Src: /src/glib/gio/gwin32inputstream.c:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GWin32InputStream*
    constantsTouched: []
    func_position:
      end: 364
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 364
    functionName: g_win32_input_stream_get_close_handle
    functionSourceFile: /src/glib/gio/gwin32inputstream.c
    functionUses: []
    functionsReached:
    - G_IS_WIN32_INPUT_STREAM
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_win32_input_stream_get_close_handle (GWin32InputStream
      *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_network_monitor_netlink_get_instance_private
      Src: /src/glib/gio/gnetworkmonitornetlink.c:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - nl
    argTypes:
    - GNetworkMonitorNetlink*
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: g_network_monitor_netlink_init
    functionSourceFile: /src/glib/gio/gnetworkmonitornetlink.c
    functionUses: []
    functionsReached:
    - g_network_monitor_netlink_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_network_monitor_netlink_init (GNetworkMonitorNetlink
      *nl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NLMSG_SPACE
      Src: /src/glib/gio/gnetworkmonitornetlink.c:178,1
    - Dst: g_socket_send
      Src: /src/glib/gio/gnetworkmonitornetlink.c:189,1
    - Dst: NLMSG_DATA
      Src: /src/glib/gio/gnetworkmonitornetlink.c:186,1
    - Dst: NLMSG_LENGTH
      Src: /src/glib/gio/gnetworkmonitornetlink.c:182,1
    - Dst: memset
      Src: /src/glib/gio/gnetworkmonitornetlink.c:180,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/gnetworkmonitornetlink.c:192,1
    - Dst: _
      Src: /src/glib/gio/gnetworkmonitornetlink.c:192,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/gio/gnetworkmonitornetlink.c:196,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 2
    argNames:
    - nl
    - error
    argTypes:
    - GNetworkMonitorNetlink*
    - GError**
    constantsTouched: []
    func_position:
      end: 198
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 198
    functionName: request_dump
    functionSourceFile: /src/glib/gio/gnetworkmonitornetlink.c
    functionUses: []
    functionsReached:
    - NLMSG_DATA
    - NLMSG_SPACE
    - g_prefix_error
    - NLMSG_LENGTH
    - g_ptr_array_new_with_free_func
    - _
    - g_socket_send
    - memset
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean request_dump (GNetworkMonitorNetlink *nl, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_source_destroy
      Src: /src/glib/gio/gnetworkmonitornetlink.c:222,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gnetworkmonitornetlink.c:227,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gnetworkmonitornetlink.c:229,1
    - Dst: g_timeout_source_new_seconds
      Src: /src/glib/gio/gnetworkmonitornetlink.c:226,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gnetworkmonitornetlink.c:223,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - nl
    argTypes:
    - GNetworkMonitorNetlink*
    constantsTouched: []
    func_position:
      end: 230
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 230
    functionName: queue_request_dump
    functionSourceFile: /src/glib/gio/gnetworkmonitornetlink.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - g_source_attach
    - g_source_destroy
    - g_timeout_source_new_seconds
    - g_source_unref
    linkageType: ''
    returnType: void
    signature: 'static void queue_request_dump (GNetworkMonitorNetlink *nl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: create_inet_address_mask
      Src: /src/glib/gio/gnetworkmonitornetlink.c:256,1
    - Dst: g_network_monitor_base_add_network
      Src: /src/glib/gio/gnetworkmonitornetlink.c:262,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gnetworkmonitornetlink.c:260,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gnetworkmonitornetlink.c:260,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gnetworkmonitornetlink.c:257,1
    - Dst: G_NETWORK_MONITOR_BASE
      Src: /src/glib/gio/gnetworkmonitornetlink.c:262,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkmonitornetlink.c:264,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - nl
    - family
    - dest
    - dest_len
    argTypes:
    - GNetworkMonitorNetlink*
    - GSocketFamily
    - guint8*
    - gsize
    constantsTouched: []
    func_position:
      end: 265
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 265
    functionName: add_network
    functionSourceFile: /src/glib/gio/gnetworkmonitornetlink.c
    functionUses: []
    functionsReached:
    - g_network_monitor_base_add_network
    - g_object_unref
    - g_return_if_fail
    - g_object_ref
    - G_NETWORK_MONITOR_BASE
    - create_inet_address_mask
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void add_network (GNetworkMonitorNetlink *nl, GSocketFamily
      family, const guint8 *dest, gsize dest_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_network_monitor_base_set_networks
      Src: /src/glib/gio/gnetworkmonitornetlink.c:298,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gnetworkmonitornetlink.c:301,1
    - Dst: G_NETWORK_MONITOR_BASE
      Src: /src/glib/gio/gnetworkmonitornetlink.c:298,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - nl
    argTypes:
    - GNetworkMonitorNetlink*
    constantsTouched: []
    func_position:
      end: 303
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 303
    functionName: finish_dump
    functionSourceFile: /src/glib/gio/gnetworkmonitornetlink.c
    functionUses: []
    functionsReached:
    - g_network_monitor_base_set_networks
    - G_NETWORK_MONITOR_BASE
    - g_ptr_array_free
    linkageType: ''
    returnType: void
    signature: 'static void finish_dump (GNetworkMonitorNetlink *nl) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_NETWORK_MONITOR_NETLINK
      Src: /src/glib/gio/gnetworkmonitornetlink.c:451,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gnetworkmonitornetlink.c:462,1
    - Dst: g_source_destroy
      Src: /src/glib/gio/gnetworkmonitornetlink.c:455,1
    - Dst: g_source_destroy
      Src: /src/glib/gio/gnetworkmonitornetlink.c:461,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gnetworkmonitornetlink.c:456,1
    - Dst: g_socket_close
      Src: /src/glib/gio/gnetworkmonitornetlink.c:467,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkmonitornetlink.c:468,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gnetworkmonitornetlink.c:471,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gnetworkmonitornetlink.c:472,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gnetworkmonitornetlink.c:474,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 475
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 475
    functionName: g_network_monitor_netlink_finalize
    functionSourceFile: /src/glib/gio/gnetworkmonitornetlink.c
    functionUses: []
    functionsReached:
    - g_socket_close
    - g_object_unref
    - g_source_destroy
    - G_OBJECT_CLASS
    - g_clear_pointer
    - g_source_unref
    - G_NETWORK_MONITOR_NETLINK
    linkageType: ''
    returnType: void
    signature: 'static void g_network_monitor_netlink_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gnetworkmonitornetlink.c:498,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - nl_class
    argTypes:
    - GNetworkMonitorNetlinkClass*
    constantsTouched: []
    func_position:
      end: 501
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 501
    functionName: g_network_monitor_netlink_class_init
    functionSourceFile: /src/glib/gio/gnetworkmonitornetlink.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_network_monitor_netlink_class_init (GNetworkMonitorNetlinkClass
      *nl_class) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gnetworkmonitornetlink.c:105,1
    - Dst: g_set_error
      Src: /src/glib/gio/gnetworkmonitornetlink.c:137,1
    - Dst: g_strerror
      Src: /src/glib/gio/gnetworkmonitornetlink.c:139,1
    - Dst: g_socket_create_source
      Src: /src/glib/gio/gnetworkmonitornetlink.c:164,1
    - Dst: g_set_error
      Src: /src/glib/gio/gnetworkmonitornetlink.c:105,1
    - Dst: g_strerror
      Src: /src/glib/gio/gnetworkmonitornetlink.c:107,1
    - Dst: _
      Src: /src/glib/gio/gnetworkmonitornetlink.c:118,1
    - Dst: g_close
      Src: /src/glib/gio/gnetworkmonitornetlink.c:128,1
    - Dst: g_socket_set_option
      Src: /src/glib/gio/gnetworkmonitornetlink.c:133,1
    - Dst: read_netlink_messages
      Src: /src/glib/gio/gnetworkmonitornetlink.c:154,1
    - Dst: g_socket_set_blocking
      Src: /src/glib/gio/gnetworkmonitornetlink.c:162,1
    - Dst: G_NETWORK_MONITOR_NETLINK
      Src: /src/glib/gio/gnetworkmonitornetlink.c:94,1
    - Dst: g_socket
      Src: /src/glib/gio/gnetworkmonitornetlink.c:101,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gnetworkmonitornetlink.c:117,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/gnetworkmonitornetlink.c:127,1
    - Dst: _
      Src: /src/glib/gio/gnetworkmonitornetlink.c:127,1
    - Dst: _
      Src: /src/glib/gio/gnetworkmonitornetlink.c:138,1
    - Dst: g_main_context_ref_thread_default
      Src: /src/glib/gio/gnetworkmonitornetlink.c:163,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gnetworkmonitornetlink.c:165,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gnetworkmonitornetlink.c:167,1
    - Dst: _
      Src: /src/glib/gio/gnetworkmonitornetlink.c:106,1
    - Dst: bind
      Src: /src/glib/gio/gnetworkmonitornetlink.c:114,1
    - Dst: g_set_error
      Src: /src/glib/gio/gnetworkmonitornetlink.c:117,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gnetworkmonitornetlink.c:137,1
    - Dst: g_close
      Src: /src/glib/gio/gnetworkmonitornetlink.c:120,1
    - Dst: g_socket_new_from_fd
      Src: /src/glib/gio/gnetworkmonitornetlink.c:124,1
    - Dst: g_strerror
      Src: /src/glib/gio/gnetworkmonitornetlink.c:119,1
    - Dst: request_dump
      Src: /src/glib/gio/gnetworkmonitornetlink.c:145,1
    - Dst: g_warning
      Src: /src/glib/gio/gnetworkmonitornetlink.c:156,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gnetworkmonitornetlink.c:157,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 3
    argNames:
    - initable
    - cancellable
    - error
    argTypes:
    - GInitable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 170
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 170
    functionName: g_network_monitor_netlink_initable_init
    functionSourceFile: /src/glib/gio/gnetworkmonitornetlink.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - g_prefix_error
    - g_strerror
    - g_socket_set_option
    - g_socket
    - g_warning
    - g_source_attach
    - request_dump
    - G_NETWORK_MONITOR_NETLINK
    - g_main_context_ref_thread_default
    - g_set_error
    - bind
    - g_socket_create_source
    - _
    - g_socket_new_from_fd
    - g_clear_error
    - read_netlink_messages
    - g_socket_set_blocking
    - g_io_error_from_errno
    - g_close
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_network_monitor_netlink_initable_init (GInitable
      *initable, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_source_destroy
      Src: /src/glib/gio/gnetworkmonitornetlink.c:205,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gnetworkmonitornetlink.c:206,1
    - Dst: request_dump
      Src: /src/glib/gio/gnetworkmonitornetlink.c:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 212
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 212
    functionName: timeout_request_dump
    functionSourceFile: /src/glib/gio/gnetworkmonitornetlink.c
    functionUses: []
    functionsReached:
    - g_source_destroy
    - g_source_unref
    - request_dump
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean timeout_request_dump (gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_inet_address_new_from_bytes
      Src: /src/glib/gio/gnetworkmonitornetlink.c:241,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkmonitornetlink.c:245,1
    - Dst: g_inet_address_new_any
      Src: /src/glib/gio/gnetworkmonitornetlink.c:243,1
    - Dst: g_inet_address_mask_new
      Src: /src/glib/gio/gnetworkmonitornetlink.c:244,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 248
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 248
    functionName: create_inet_address_mask
    functionSourceFile: /src/glib/gio/gnetworkmonitornetlink.c
    functionUses: []
    functionsReached:
    - g_inet_address_mask_new
    - g_inet_address_new_from_bytes
    - g_inet_address_new_any
    - g_object_unref
    linkageType: ''
    returnType: GInetAddressMask*
    signature: 'static GInetAddressMask *create_inet_address_mask (GSocketFamily family,
      const guint8 *dest, gsize dest_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: create_inet_address_mask
      Src: /src/glib/gio/gnetworkmonitornetlink.c:273,1
    - Dst: g_ptr_array_remove_index_fast
      Src: /src/glib/gio/gnetworkmonitornetlink.c:284,1
    - Dst: g_network_monitor_base_remove_network
      Src: /src/glib/gio/gnetworkmonitornetlink.c:289,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gnetworkmonitornetlink.c:274,1
    - Dst: g_inet_address_mask_equal
      Src: /src/glib/gio/gnetworkmonitornetlink.c:283,1
    - Dst: G_NETWORK_MONITOR_BASE
      Src: /src/glib/gio/gnetworkmonitornetlink.c:289,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkmonitornetlink.c:292,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 4
    argNames:
    - nl
    - family
    - dest
    - dest_len
    argTypes:
    - GNetworkMonitorNetlink*
    - GSocketFamily
    - guint8*
    - gsize
    constantsTouched: []
    func_position:
      end: 293
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 293
    functionName: remove_network
    functionSourceFile: /src/glib/gio/gnetworkmonitornetlink.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_return_if_fail
    - g_network_monitor_base_remove_network
    - g_ptr_array_remove_index_fast
    - g_inet_address_mask_equal
    - G_NETWORK_MONITOR_BASE
    - create_inet_address_mask
    linkageType: ''
    returnType: void
    signature: 'static void remove_network (GNetworkMonitorNetlink *nl, GSocketFamily
      family, const guint8 *dest, gsize dest_len) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: NLMSG_OK
      Src: /src/glib/gio/gnetworkmonitornetlink.c:347,1
    - Dst: NLMSG_DATA
      Src: /src/glib/gio/gnetworkmonitornetlink.c:360,1
    - Dst: RTA_DATA
      Src: /src/glib/gio/gnetworkmonitornetlink.c:375,1
    - Dst: g_free
      Src: /src/glib/gio/gnetworkmonitornetlink.c:431,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gnetworkmonitornetlink.c:349,1
    - Dst: RTM_RTA
      Src: /src/glib/gio/gnetworkmonitornetlink.c:368,1
    - Dst: RTA_DATA
      Src: /src/glib/gio/gnetworkmonitornetlink.c:373,1
    - Dst: RTA_OK
      Src: /src/glib/gio/gnetworkmonitornetlink.c:370,1
    - Dst: NLMSG_DATA
      Src: /src/glib/gio/gnetworkmonitornetlink.c:410,1
    - Dst: finish_dump
      Src: /src/glib/gio/gnetworkmonitornetlink.c:435,1
    - Dst: g_socket_address_to_native
      Src: /src/glib/gio/gnetworkmonitornetlink.c:337,1
    - Dst: NLMSG_NEXT
      Src: /src/glib/gio/gnetworkmonitornetlink.c:345,1
    - Dst: g_malloc
      Src: /src/glib/gio/gnetworkmonitornetlink.c:330,1
    - Dst: NLMSG_PAYLOAD
      Src: /src/glib/gio/gnetworkmonitornetlink.c:367,1
    - Dst: UNALIGNED_IN6_IS_ADDR_MC_LINKLOCAL
      Src: /src/glib/gio/gnetworkmonitornetlink.c:393,1
    - Dst: finish_dump
      Src: /src/glib/gio/gnetworkmonitornetlink.c:405,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gnetworkmonitornetlink.c:414,1
    - Dst: g_set_error
      Src: /src/glib/gio/gnetworkmonitornetlink.c:421,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gnetworkmonitornetlink.c:432,1
    - Dst: g_socket_receive_message
      Src: /src/glib/gio/gnetworkmonitornetlink.c:325,1
    - Dst: g_socket_receive_message
      Src: /src/glib/gio/gnetworkmonitornetlink.c:332,1
    - Dst: add_network
      Src: /src/glib/gio/gnetworkmonitornetlink.c:397,1
    - Dst: queue_request_dump
      Src: /src/glib/gio/gnetworkmonitornetlink.c:400,1
    - Dst: remove_network
      Src: /src/glib/gio/gnetworkmonitornetlink.c:399,1
    - Dst: RTA_NEXT
      Src: /src/glib/gio/gnetworkmonitornetlink.c:378,1
    - Dst: RTA_DATA
      Src: /src/glib/gio/gnetworkmonitornetlink.c:377,1
    - Dst: g_set_error
      Src: /src/glib/gio/gnetworkmonitornetlink.c:412,1
    - Dst: g_strerror
      Src: /src/glib/gio/gnetworkmonitornetlink.c:416,1
    - Dst: g_propagate_prefixed_error
      Src: /src/glib/gio/gnetworkmonitornetlink.c:439,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 86
    argCount: 2
    argNames:
    - nl
    - error
    argTypes:
    - GNetworkMonitorNetlink*
    - GError**
    constantsTouched: []
    func_position:
      end: 446
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 446
    functionName: read_netlink_messages
    functionSourceFile: /src/glib/gio/gnetworkmonitornetlink.c
    functionUses: []
    functionsReached:
    - UNALIGNED_IN6_IS_ADDR_MC_LINKLOCAL
    - add_network
    - g_strerror
    - RTA_OK
    - g_malloc
    - g_set_error_literal
    - queue_request_dump
    - RTA_DATA
    - RTA_NEXT
    - RTM_RTA
    - g_clear_object
    - remove_network
    - g_socket_receive_message
    - g_set_error
    - finish_dump
    - g_socket_address_to_native
    - NLMSG_NEXT
    - NLMSG_PAYLOAD
    - g_propagate_prefixed_error
    - NLMSG_DATA
    - g_io_error_from_errno
    - NLMSG_OK
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean read_netlink_messages (GNetworkMonitorNetlink *nl,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_NETWORK_MONITOR_NETLINK
      Src: /src/glib/gio/gnetworkmonitornetlink.c:483,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gnetworkmonitornetlink.c:488,1
    - Dst: g_warning
      Src: /src/glib/gio/gnetworkmonitornetlink.c:487,1
    - Dst: read_netlink_messages
      Src: /src/glib/gio/gnetworkmonitornetlink.c:485,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - socket
    - condition
    - user_data
    argTypes:
    - GSocket*
    - GIOCondition
    - gpointer
    constantsTouched: []
    func_position:
      end: 493
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 493
    functionName: read_netlink_messages_callback
    functionSourceFile: /src/glib/gio/gnetworkmonitornetlink.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - read_netlink_messages
    - G_NETWORK_MONITOR_NETLINK
    - g_warning
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean read_netlink_messages_callback (GSocket *socket, GIOCondition
      condition, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - monitor_iface
    argTypes:
    - GNetworkMonitorInterface*
    constantsTouched: []
    func_position:
      end: 506
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 506
    functionName: g_network_monitor_netlink_iface_init
    functionSourceFile: /src/glib/gio/gnetworkmonitornetlink.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_network_monitor_netlink_iface_init (GNetworkMonitorInterface
      *monitor_iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_type_interface_peek_parent
      Src: /src/glib/gio/gnetworkmonitornetlink.c:511,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GInitableIface*
    constantsTouched: []
    func_position:
      end: 514
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 514
    functionName: g_network_monitor_netlink_initable_iface_init
    functionSourceFile: /src/glib/gio/gnetworkmonitornetlink.c
    functionUses: []
    functionsReached:
    - g_type_interface_peek_parent
    linkageType: ''
    returnType: void
    signature: 'static void g_network_monitor_netlink_initable_iface_init (GInitableIface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gnativevolumemonitor.c:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: g_native_volume_monitor_finalize
    functionSourceFile: /src/glib/gio/gnativevolumemonitor.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_native_volume_monitor_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gnativevolumemonitor.c:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GNativeVolumeMonitorClass*
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: g_native_volume_monitor_class_init
    functionSourceFile: /src/glib/gio/gnativevolumemonitor.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_native_volume_monitor_class_init (GNativeVolumeMonitorClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - native_monitor
    argTypes:
    - GNativeVolumeMonitor*
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: g_native_volume_monitor_init
    functionSourceFile: /src/glib/gio/gnativevolumemonitor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_native_volume_monitor_init (GNativeVolumeMonitor *native_monitor) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gdbusactiongroup.c:82,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusactiongroup.c:85,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gdbusactiongroup.c:90,1
    - Dst: g_variant_type_free
      Src: /src/glib/gio/gdbusactiongroup.c:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 91
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 91
    functionName: action_info_free
    functionSourceFile: /src/glib/gio/gdbusactiongroup.c
    functionUses: []
    functionsReached:
    - g_variant_unref
    - g_slice_free
    - g_free
    - g_variant_type_free
    linkageType: ''
    returnType: void
    signature: 'static void action_info_free (gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gdbusactiongroup.c:247,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusactiongroup.c:258,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusactiongroup.c:250,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdbusactiongroup.c:248,1
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/gdbusactiongroup.c:251,1
    - Dst: action_info_new_from_iter
      Src: /src/glib/gio/gdbusactiongroup.c:259,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusactiongroup.c:261,1
    - Dst: g_action_group_action_added
      Src: /src/glib/gio/gdbusactiongroup.c:264,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/gdbusactiongroup.c:264,1
    - Dst: g_variant_iter_free
      Src: /src/glib/gio/gdbusactiongroup.c:266,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusactiongroup.c:270,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusactiongroup.c:267,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 271
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 271
    functionName: g_dbus_action_group_describe_all_done
    functionSourceFile: /src/glib/gio/gdbusactiongroup.c
    functionUses: []
    functionsReached:
    - g_action_group_action_added
    - g_object_unref
    - G_ACTION_GROUP
    - g_assert
    - g_dbus_connection_call_finish
    - g_hash_table_insert
    - g_variant_unref
    - g_hash_table_new_full
    - g_variant_get
    - action_info_new_from_iter
    - g_variant_iter_free
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_action_group_describe_all_done (GObject *source,
      GAsyncResult *result, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_ACTION_GROUP
      Src: /src/glib/gio/gdbusactiongroup.c:292,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gdbusactiongroup.c:304,1
    - Dst: g_new
      Src: /src/glib/gio/gdbusactiongroup.c:302,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gdbusactiongroup.c:305,1
    - Dst: g_hash_table_size
      Src: /src/glib/gio/gdbusactiongroup.c:301,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusactiongroup.c:306,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/gdbusactiongroup.c:307,1
    - Dst: g_dbus_action_group_async_init
      Src: /src/glib/gio/gdbusactiongroup.c:312,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusactiongroup.c:313,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 319
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 319
    functionName: g_dbus_action_group_list_actions
    functionSourceFile: /src/glib/gio/gdbusactiongroup.c
    functionUses: []
    functionsReached:
    - g_hash_table_iter_init
    - g_strdup
    - g_new
    - G_DBUS_ACTION_GROUP
    - g_dbus_action_group_async_init
    - g_hash_table_size
    - g_new0
    - g_hash_table_iter_next
    - g_assert_cmpint
    linkageType: ''
    returnType: gchar**
    signature: 'static gchar **g_dbus_action_group_list_actions (GActionGroup *g_group) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_ACTION_GROUP
      Src: /src/glib/gio/gdbusactiongroup.c:375,1
    - Dst: g_variant_builder_init_static
      Src: /src/glib/gio/gdbusactiongroup.c:378,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gdbusactiongroup.c:381,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/gdbusactiongroup.c:383,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusactiongroup.c:378,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusactiongroup.c:384,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 4
    argNames:
    - remote
    - action_name
    - parameter
    - platform_data
    argTypes:
    - GRemoteActionGroup*
    - gchar*
    - GVariant*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 386
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 386
    functionName: g_dbus_action_group_activate_action_full
    functionSourceFile: /src/glib/gio/gdbusactiongroup.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_call
    - G_DBUS_ACTION_GROUP
    - g_variant_builder_init_static
    - g_variant_new
    - g_variant_builder_add
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_action_group_activate_action_full (GRemoteActionGroup
      *remote, const gchar *action_name, GVariant *parameter, GVariant *platform_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_action_group_change_action_state_full
      Src: /src/glib/gio/gdbusactiongroup.c:406,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusactiongroup.c:407,1
    - Dst: G_REMOTE_ACTION_GROUP
      Src: /src/glib/gio/gdbusactiongroup.c:406,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - group
    - action_name
    - value
    argTypes:
    - GActionGroup*
    - gchar*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 408
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 408
    functionName: g_dbus_action_group_change_state
    functionSourceFile: /src/glib/gio/gdbusactiongroup.c
    functionUses: []
    functionsReached:
    - g_dbus_action_group_change_action_state_full
    - G_REMOTE_ACTION_GROUP
    - g_variant_new
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_action_group_change_state (GActionGroup *group,
      const gchar *action_name, GVariant *value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_ACTION_GROUP
      Src: /src/glib/gio/gdbusactiongroup.c:422,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusactiongroup.c:428,1
    - Dst: g_steal_handle_id
      Src: /src/glib/gio/gdbusactiongroup.c:425,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/gdbusactiongroup.c:425,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusactiongroup.c:430,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusactiongroup.c:431,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusactiongroup.c:432,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusactiongroup.c:434,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 436
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 436
    functionName: g_dbus_action_group_finalize
    functionSourceFile: /src/glib/gio/gdbusactiongroup.c
    functionUses: []
    functionsReached:
    - g_steal_handle_id
    - g_object_unref
    - g_hash_table_unref
    - G_DBUS_ACTION_GROUP
    - g_dbus_connection_signal_unsubscribe
    - G_OBJECT_CLASS
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_action_group_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusactiongroup.c:446,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - class
    argTypes:
    - GDBusActionGroupClass*
    constantsTouched: []
    func_position:
      end: 449
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 449
    functionName: g_dbus_action_group_class_init
    functionSourceFile: /src/glib/gio/gdbusactiongroup.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_action_group_class_init (GDBusActionGroupClass
      *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GActionGroupInterface*
    constantsTouched: []
    func_position:
      end: 465
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 465
    functionName: g_dbus_action_group_iface_init
    functionSourceFile: /src/glib/gio/gdbusactiongroup.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_action_group_iface_init (GActionGroupInterface
      *iface) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_iter_next
      Src: /src/glib/gio/gdbusactiongroup.c:102,1
    - Dst: g_slice_new
      Src: /src/glib/gio/gdbusactiongroup.c:106,1
    - Dst: g_variant_get_child
      Src: /src/glib/gio/gdbusactiongroup.c:111,1
    - Dst: g_variant_n_children
      Src: /src/glib/gio/gdbusactiongroup.c:110,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusactiongroup.c:114,1
    - Dst: g_variant_type_copy
      Src: /src/glib/gio/gdbusactiongroup.c:117,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 122
    functionName: action_info_new_from_iter
    functionSourceFile: /src/glib/gio/gdbusactiongroup.c
    functionUses: []
    functionsReached:
    - g_variant_n_children
    - g_variant_iter_next
    - g_variant_get_child
    - g_variant_unref
    - g_variant_type_copy
    - g_slice_new
    linkageType: ''
    returnType: ActionInfo*
    signature: 'static ActionInfo *action_info_new_from_iter (GVariantIter *iter) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_str_equal
      Src: /src/glib/gio/gdbusactiongroup.c:146,1
    - Dst: g_variant_iter_free
      Src: /src/glib/gio/gdbusactiongroup.c:163,1
    - Dst: g_variant_get_child
      Src: /src/glib/gio/gdbusactiongroup.c:172,1
    - Dst: g_variant_iter_next
      Src: /src/glib/gio/gdbusactiongroup.c:173,1
    - Dst: g_variant_iter_free
      Src: /src/glib/gio/gdbusactiongroup.c:185,1
    - Dst: g_variant_get_child
      Src: /src/glib/gio/gdbusactiongroup.c:194,1
    - Dst: g_action_group_action_enabled_changed
      Src: /src/glib/gio/gdbusactiongroup.c:182,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusactiongroup.c:202,1
    - Dst: g_variant_iter_next
      Src: /src/glib/gio/gdbusactiongroup.c:195,1
    - Dst: g_variant_get_child
      Src: /src/glib/gio/gdbusactiongroup.c:220,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusactiongroup.c:147,1
    - Dst: g_action_group_action_removed
      Src: /src/glib/gio/gdbusactiongroup.c:160,1
    - Dst: g_variant_equal
      Src: /src/glib/gio/gdbusactiongroup.c:201,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusactiongroup.c:210,1
    - Dst: action_info_new_from_iter
      Src: /src/glib/gio/gdbusactiongroup.c:221,1
    - Dst: g_action_group_action_added
      Src: /src/glib/gio/gdbusactiongroup.c:228,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusactiongroup.c:147,1
    - Dst: g_variant_get_child
      Src: /src/glib/gio/gdbusactiongroup.c:154,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusactiongroup.c:157,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusactiongroup.c:204,1
    - Dst: g_action_group_action_state_changed
      Src: /src/glib/gio/gdbusactiongroup.c:207,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusactiongroup.c:225,1
    - Dst: g_variant_iter_free
      Src: /src/glib/gio/gdbusactiongroup.c:233,1
    - Dst: g_variant_iter_next
      Src: /src/glib/gio/gdbusactiongroup.c:155,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusactiongroup.c:159,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusactiongroup.c:177,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusactiongroup.c:199,1
    - Dst: g_variant_get_type
      Src: /src/glib/gio/gdbusactiongroup.c:202,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gdbusactiongroup.c:205,1
    - Dst: g_variant_iter_free
      Src: /src/glib/gio/gdbusactiongroup.c:212,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusactiongroup.c:223,1
    - Dst: action_info_free
      Src: /src/glib/gio/gdbusactiongroup.c:231,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 60
    argCount: 7
    argNames:
    - connection
    - sender
    - object_path
    - interface_name
    - signal_name
    - parameters
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 236
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 236
    functionName: g_dbus_action_group_changed
    functionSourceFile: /src/glib/gio/gdbusactiongroup.c
    functionUses: []
    functionsReached:
    - g_variant_equal
    - g_variant_iter_next
    - g_variant_is_of_type
    - g_action_group_action_state_changed
    - g_hash_table_lookup
    - g_hash_table_insert
    - g_variant_unref
    - g_action_group_action_enabled_changed
    - g_variant_get_type
    - g_hash_table_remove
    - g_variant_get_child
    - G_VARIANT_TYPE
    - g_str_equal
    - g_action_group_action_removed
    - g_action_group_action_added
    - action_info_new_from_iter
    - action_info_free
    - g_variant_iter_free
    - g_variant_ref
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_action_group_changed (GDBusConnection *connection,
      const gchar *sender, const gchar *object_path, const gchar *interface_name,
      const gchar *signal_name, GVariant *parameters, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_signal_subscribe
      Src: /src/glib/gio/gdbusactiongroup.c:281,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusactiongroup.c:285,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusactiongroup.c:286,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/gdbusactiongroup.c:284,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - group
    argTypes:
    - GDBusActionGroup*
    constantsTouched: []
    func_position:
      end: 287
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 287
    functionName: g_dbus_action_group_async_init
    functionSourceFile: /src/glib/gio/gdbusactiongroup.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_call
    - g_dbus_connection_signal_subscribe
    - G_VARIANT_TYPE
    - g_object_ref
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_action_group_async_init (GDBusActionGroup *group) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_ACTION_GROUP
      Src: /src/glib/gio/gdbusactiongroup.c:330,1
    - Dst: g_dbus_action_group_async_init
      Src: /src/glib/gio/gdbusactiongroup.c:362,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusactiongroup.c:335,1
    - Dst: g_variant_get_type
      Src: /src/glib/gio/gdbusactiongroup.c:350,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gdbusactiongroup.c:356,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 19
    argCount: 7
    argNames:
    - g_group
    - action_name
    - enabled
    - parameter_type
    - state_type
    - state_hint
    - state
    argTypes:
    - GActionGroup*
    - gchar*
    - gboolean*
    - GVariantType**
    - GVariantType**
    - GVariant**
    - GVariant**
    constantsTouched: []
    func_position:
      end: 367
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 367
    functionName: g_dbus_action_group_query_action
    functionSourceFile: /src/glib/gio/gdbusactiongroup.c
    functionUses: []
    functionsReached:
    - g_variant_get_type
    - G_DBUS_ACTION_GROUP
    - g_hash_table_lookup
    - g_dbus_action_group_async_init
    - g_variant_ref
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_dbus_action_group_query_action (GActionGroup *g_group,
      const gchar *action_name, gboolean *enabled, const GVariantType **parameter_type,
      const GVariantType **state_type, GVariant **state_hint, GVariant **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_ACTION_GROUP
      Src: /src/glib/gio/gdbusactiongroup.c:394,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/gdbusactiongroup.c:396,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusactiongroup.c:397,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 4
    argNames:
    - remote
    - action_name
    - value
    - platform_data
    argTypes:
    - GRemoteActionGroup*
    - gchar*
    - GVariant*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 399
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 399
    functionName: g_dbus_action_group_change_action_state_full
    functionSourceFile: /src/glib/gio/gdbusactiongroup.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_call
    - g_variant_new
    - G_DBUS_ACTION_GROUP
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_action_group_change_action_state_full (GRemoteActionGroup
      *remote, const gchar *action_name, GVariant *value, GVariant *platform_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_action_group_activate_action_full
      Src: /src/glib/gio/gdbusactiongroup.c:415,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusactiongroup.c:416,1
    - Dst: G_REMOTE_ACTION_GROUP
      Src: /src/glib/gio/gdbusactiongroup.c:415,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - group
    - action_name
    - parameter
    argTypes:
    - GActionGroup*
    - gchar*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 417
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 417
    functionName: g_dbus_action_group_activate
    functionSourceFile: /src/glib/gio/gdbusactiongroup.c
    functionUses: []
    functionsReached:
    - g_dbus_action_group_activate_action_full
    - g_variant_new
    - G_REMOTE_ACTION_GROUP
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_action_group_activate (GActionGroup *group, const
      gchar *action_name, GVariant *parameter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - group
    argTypes:
    - GDBusActionGroup*
    constantsTouched: []
    func_position:
      end: 441
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 441
    functionName: g_dbus_action_group_init
    functionSourceFile: /src/glib/gio/gdbusactiongroup.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_action_group_init (GDBusActionGroup *group) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GRemoteActionGroupInterface*
    constantsTouched: []
    func_position:
      end: 456
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 456
    functionName: g_dbus_action_group_remote_iface_init
    functionSourceFile: /src/glib/gio/gdbusactiongroup.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_action_group_remote_iface_init (GRemoteActionGroupInterface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusactiongroup.c:499,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusactiongroup.c:502,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusactiongroup.c:503,1
    - Dst: g_object_new
      Src: /src/glib/gio/gdbusactiongroup.c:501,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/gdbusactiongroup.c:499,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusactiongroup.c:504,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 507
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 507
    functionName: g_dbus_action_group_get
    functionSourceFile: /src/glib/gio/gdbusactiongroup.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_strdup
    - g_object_new
    - g_dbus_connection_get_unique_name
    - g_object_ref
    linkageType: ''
    returnType: GDBusActionGroup*
    signature: 'GDBusActionGroup *g_dbus_action_group_get (GDBusConnection *connection,
      const gchar *bus_name, const gchar *object_path) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gdbusactiongroup.c:516,1
    - Dst: g_dbus_connection_signal_subscribe
      Src: /src/glib/gio/gdbusactiongroup.c:519,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusactiongroup.c:531,1
    - Dst: g_dbus_connection_call_sync
      Src: /src/glib/gio/gdbusactiongroup.c:522,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusactiongroup.c:523,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdbusactiongroup.c:532,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusactiongroup.c:534,1
    - Dst: action_info_new_from_iter
      Src: /src/glib/gio/gdbusactiongroup.c:535,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusactiongroup.c:536,1
    - Dst: g_variant_iter_free
      Src: /src/glib/gio/gdbusactiongroup.c:537,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusactiongroup.c:538,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - group
    - cancellable
    - error
    argTypes:
    - GDBusActionGroup*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 542
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 542
    functionName: g_dbus_action_group_sync
    functionSourceFile: /src/glib/gio/gdbusactiongroup.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_hash_table_insert
    - g_dbus_connection_call_sync
    - g_variant_unref
    - g_hash_table_new_full
    - g_variant_get
    - action_info_new_from_iter
    - g_variant_iter_free
    - g_dbus_connection_signal_subscribe
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dbus_action_group_sync (GDBusActionGroup *group, GCancellable
      *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_OUTPUT_STREAM
      Src: /src/glib/gio/gsocketoutputstream.c:80,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gsocketoutputstream.c:85,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gsocketoutputstream.c:89,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 91
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 91
    functionName: g_socket_output_stream_get_property
    functionSourceFile: /src/glib/gio/gsocketoutputstream.c
    functionUses: []
    functionsReached:
    - g_value_set_object
    - G_SOCKET_OUTPUT_STREAM
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_output_stream_get_property (GObject *object,
      guint prop_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_OUTPUT_STREAM
      Src: /src/glib/gio/gsocketoutputstream.c:145,1
    - Dst: g_socket_send_message_with_timeout
      Src: /src/glib/gio/gsocketoutputstream.c:154,1
    - Dst: g_assert
      Src: /src/glib/gio/gsocketoutputstream.c:161,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 6
    argNames:
    - stream
    - vectors
    - n_vectors
    - bytes_written
    - cancellable
    - error
    argTypes:
    - GOutputStream*
    - GOutputVector*
    - gsize
    - gsize*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 164
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 164
    functionName: g_socket_output_stream_writev
    functionSourceFile: /src/glib/gio/gsocketoutputstream.c
    functionUses: []
    functionsReached:
    - g_assert
    - G_SOCKET_OUTPUT_STREAM
    - g_socket_send_message_with_timeout
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_socket_output_stream_writev (GOutputStream *stream,
      const GOutputVector *vectors, gsize n_vectors, gsize *bytes_written, GCancellable
      *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_OUTPUT_STREAM
      Src: /src/glib/gio/gsocketoutputstream.c:115,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketoutputstream.c:118,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsocketoutputstream.c:120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 121
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 121
    functionName: g_socket_output_stream_finalize
    functionSourceFile: /src/glib/gio/gsocketoutputstream.c
    functionUses: []
    functionsReached:
    - G_SOCKET_OUTPUT_STREAM
    - g_object_unref
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_output_stream_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_OUTPUT_STREAM
      Src: /src/glib/gio/gsocketoutputstream.c:180,1
    - Dst: g_socket_send_with_blocking
      Src: /src/glib/gio/gsocketoutputstream.c:182,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - pollable
    - buffer
    - size
    - error
    argTypes:
    - GPollableOutputStream*
    - void*
    - gsize
    - GError**
    constantsTouched: []
    func_position:
      end: 185
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 185
    functionName: g_socket_output_stream_pollable_write_nonblocking
    functionSourceFile: /src/glib/gio/gsocketoutputstream.c
    functionUses: []
    functionsReached:
    - g_socket_send_with_blocking
    - G_SOCKET_OUTPUT_STREAM
    linkageType: ''
    returnType: gssize
    signature: "static gssize g_socket_output_stream_pollable_write_nonblocking (GPollableOutputStream\
      \ *pollable,\t\t\t\t\t\t const void *buffer,\t\t\t\t\t\t gsize size,\t\t\t\t\
      \t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_OUTPUT_STREAM
      Src: /src/glib/gio/gsocketoutputstream.c:212,1
    - Dst: g_source_set_dummy_callback
      Src: /src/glib/gio/gsocketoutputstream.c:218,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocketoutputstream.c:215,1
    - Dst: g_pollable_source_new
      Src: /src/glib/gio/gsocketoutputstream.c:215,1
    - Dst: g_socket_create_source
      Src: /src/glib/gio/gsocketoutputstream.c:216,1
    - Dst: g_source_add_child_source
      Src: /src/glib/gio/gsocketoutputstream.c:219,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gsocketoutputstream.c:220,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 223
    functionName: g_socket_output_stream_pollable_create_source
    functionSourceFile: /src/glib/gio/gsocketoutputstream.c
    functionUses: []
    functionsReached:
    - G_SOCKET_OUTPUT_STREAM
    - G_OBJECT
    - g_socket_create_source
    - g_pollable_source_new
    - g_source_unref
    - g_source_add_child_source
    - g_source_set_dummy_callback
    linkageType: ''
    returnType: GSource*
    signature: "static GSource *g_socket_output_stream_pollable_create_source (GPollableOutputStream\
      \ *pollable,\t\t\t\t\t GCancellable *cancellable) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsocketoutputstream.c:238,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gsocketoutputstream.c:249,1
    - Dst: G_OUTPUT_STREAM_CLASS
      Src: /src/glib/gio/gsocketoutputstream.c:239,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocketoutputstream.c:248,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GSocketOutputStreamClass*
    constantsTouched: []
    func_position:
      end: 252
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 252
    functionName: g_socket_output_stream_class_init
    functionSourceFile: /src/glib/gio/gsocketoutputstream.c
    functionUses: []
    functionsReached:
    - G_OUTPUT_STREAM_CLASS
    - g_param_spec_object
    - g_object_class_install_property
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_output_stream_class_init (GSocketOutputStreamClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GFileDescriptorBasedIface*
    constantsTouched: []
    func_position:
      end: 259
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 259
    functionName: g_socket_output_stream_file_descriptor_based_iface_init
    functionSourceFile: /src/glib/gio/gsocketoutputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_output_stream_file_descriptor_based_iface_init
      (GFileDescriptorBasedIface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GPollableOutputStreamInterface*
    constantsTouched: []
    func_position:
      end: 269
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 269
    functionName: g_socket_output_stream_pollable_iface_init
    functionSourceFile: /src/glib/gio/gsocketoutputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_output_stream_pollable_iface_init (GPollableOutputStreamInterface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_OUTPUT_STREAM
      Src: /src/glib/gio/gsocketoutputstream.c:130,1
    - Dst: g_socket_send_with_blocking
      Src: /src/glib/gio/gsocketoutputstream.c:132,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 5
    argNames:
    - stream
    - buffer
    - count
    - cancellable
    - error
    argTypes:
    - GOutputStream*
    - void*
    - gsize
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 135
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 135
    functionName: g_socket_output_stream_write
    functionSourceFile: /src/glib/gio/gsocketoutputstream.c
    functionUses: []
    functionsReached:
    - g_socket_send_with_blocking
    - G_SOCKET_OUTPUT_STREAM
    linkageType: ''
    returnType: gssize
    signature: 'static gssize g_socket_output_stream_write (GOutputStream *stream,
      const void *buffer, gsize count, GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_OUTPUT_STREAM
      Src: /src/glib/gio/gsocketoutputstream.c:99,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gsocketoutputstream.c:108,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/gsocketoutputstream.c:104,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 110
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 110
    functionName: g_socket_output_stream_set_property
    functionSourceFile: /src/glib/gio/gsocketoutputstream.c
    functionUses: []
    functionsReached:
    - G_SOCKET_OUTPUT_STREAM
    - g_value_dup_object
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_output_stream_set_property (GObject *object,
      guint prop_id, const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_OUTPUT_STREAM
      Src: /src/glib/gio/gsocketoutputstream.c:169,1
    - Dst: g_socket_condition_check
      Src: /src/glib/gio/gsocketoutputstream.c:171,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - pollable
    argTypes:
    - GPollableOutputStream*
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: g_socket_output_stream_pollable_is_writable
    functionSourceFile: /src/glib/gio/gsocketoutputstream.c
    functionUses: []
    functionsReached:
    - g_socket_condition_check
    - G_SOCKET_OUTPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_socket_output_stream_pollable_is_writable (GPollableOutputStream
      *pollable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_OUTPUT_STREAM
      Src: /src/glib/gio/gsocketoutputstream.c:194,1
    - Dst: g_socket_send_message_with_timeout
      Src: /src/glib/gio/gsocketoutputstream.c:202,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 5
    argNames:
    - pollable
    - vectors
    - n_vectors
    - bytes_written
    - error
    argTypes:
    - GPollableOutputStream*
    - GOutputVector*
    - gsize
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 206
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 206
    functionName: g_socket_output_stream_pollable_writev_nonblocking
    functionSourceFile: /src/glib/gio/gsocketoutputstream.c
    functionUses: []
    functionsReached:
    - G_SOCKET_OUTPUT_STREAM
    - g_socket_send_message_with_timeout
    linkageType: ''
    returnType: GPollableReturn
    signature: 'static GPollableReturn g_socket_output_stream_pollable_writev_nonblocking
      (GPollableOutputStream *pollable, const GOutputVector *vectors, gsize n_vectors,
      gsize *bytes_written, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_output_stream_get_instance_private
      Src: /src/glib/gio/gsocketoutputstream.c:274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GSocketOutputStream*
    constantsTouched: []
    func_position:
      end: 275
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 275
    functionName: g_socket_output_stream_init
    functionSourceFile: /src/glib/gio/gsocketoutputstream.c
    functionUses: []
    functionsReached:
    - g_socket_output_stream_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_output_stream_init (GSocketOutputStream *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gsocketoutputstream.c:280,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 281
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 281
    functionName: _g_socket_output_stream_new
    functionSourceFile: /src/glib/gio/gsocketoutputstream.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: GSocketOutputStream*
    signature: 'GSocketOutputStream *_g_socket_output_stream_new (GSocket *socket) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_OUTPUT_STREAM
      Src: /src/glib/gio/gsocketoutputstream.c:229,1
    - Dst: g_socket_get_fd
      Src: /src/glib/gio/gsocketoutputstream.c:231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - fd_based
    argTypes:
    - GFileDescriptorBased*
    constantsTouched: []
    func_position:
      end: 232
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 232
    functionName: g_socket_output_stream_get_fd
    functionSourceFile: /src/glib/gio/gsocketoutputstream.c
    functionUses: []
    functionsReached:
    - G_SOCKET_OUTPUT_STREAM
    - g_socket_get_fd
    linkageType: ''
    returnType: int
    signature: 'static int g_socket_output_stream_get_fd (GFileDescriptorBased *fd_based) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IsEqualGUID
      Src: /src/glib/gio/gwin32file-sync-stream.c:86,1
    - Dst: IStream_AddRef
      Src: /src/glib/gio/gwin32file-sync-stream.c:94,1
    - Dst: IUnknown_AddRef
      Src: /src/glib/gio/gwin32file-sync-stream.c:88,1
    - Dst: IsEqualGUID
      Src: /src/glib/gio/gwin32file-sync-stream.c:92,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - self_ptr
    - ref_interface_guid
    - output_object_ptr
    argTypes:
    - IStream*
    - REFIID
    - LPVOID*
    constantsTouched: []
    func_position:
      end: 100
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 100
    functionName: _file_sync_stream_query_interface
    functionSourceFile: /src/glib/gio/gwin32file-sync-stream.c
    functionUses: []
    functionsReached:
    - IUnknown_AddRef
    - IsEqualGUID
    - IStream_AddRef
    linkageType: ''
    returnType: HRESULT
    signature: 'static HRESULT STDMETHODCALLTYPE _file_sync_stream_query_interface
      (IStream *self_ptr, REFIID ref_interface_guid, LPVOID *output_object_ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _file_sync_stream_free
      Src: /src/glib/gio/gwin32file-sync-stream.c:118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - self_ptr
    argTypes:
    - IStream*
    constantsTouched: []
    func_position:
      end: 121
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 121
    functionName: _file_sync_stream_release
    functionSourceFile: /src/glib/gio/gwin32file-sync-stream.c
    functionUses: []
    functionsReached:
    - _file_sync_stream_free
    linkageType: ''
    returnType: ULONG
    signature: 'static ULONG STDMETHODCALLTYPE _file_sync_stream_release (IStream
      *self_ptr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WriteFile
      Src: /src/glib/gio/gwin32file-sync-stream.c:153,1
    - Dst: GetLastError
      Src: /src/glib/gio/gwin32file-sync-stream.c:155,1
    - Dst: __HRESULT_FROM_WIN32
      Src: /src/glib/gio/gwin32file-sync-stream.c:156,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 4
    argNames:
    - self_ptr
    - data
    - bytes_to_write
    - output_bytes_written
    argTypes:
    - IStream*
    - void*
    - ULONG
    - ULONG*
    constantsTouched: []
    func_position:
      end: 163
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 163
    functionName: _file_sync_stream_write
    functionSourceFile: /src/glib/gio/gwin32file-sync-stream.c
    functionUses: []
    functionsReached:
    - GetLastError
    - WriteFile
    - __HRESULT_FROM_WIN32
    linkageType: ''
    returnType: HRESULT
    signature: 'static HRESULT STDMETHODCALLTYPE _file_sync_stream_write (IStream
      *self_ptr, const void *data, ULONG bytes_to_write, ULONG *output_bytes_written) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetFileInformationByHandle
      Src: /src/glib/gio/gwin32file-sync-stream.c:210,1
    - Dst: __HRESULT_FROM_WIN32
      Src: /src/glib/gio/gwin32file-sync-stream.c:213,1
    - Dst: GetLastError
      Src: /src/glib/gio/gwin32file-sync-stream.c:212,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - self_ptr
    - new_size
    argTypes:
    - IStream*
    - ULARGE_INTEGER
    constantsTouched: []
    func_position:
      end: 217
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 217
    functionName: _file_sync_stream_set_size
    functionSourceFile: /src/glib/gio/gwin32file-sync-stream.c
    functionUses: []
    functionsReached:
    - GetLastError
    - SetFileInformationByHandle
    - __HRESULT_FROM_WIN32
    linkageType: ''
    returnType: HRESULT
    signature: 'static HRESULT STDMETHODCALLTYPE _file_sync_stream_set_size (IStream
      *self_ptr, ULARGE_INTEGER new_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FlushFileBuffers
      Src: /src/glib/gio/gwin32file-sync-stream.c:290,1
    - Dst: __HRESULT_FROM_WIN32
      Src: /src/glib/gio/gwin32file-sync-stream.c:293,1
    - Dst: GetLastError
      Src: /src/glib/gio/gwin32file-sync-stream.c:292,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - self_ptr
    - commit_flags
    argTypes:
    - IStream*
    - DWORD
    constantsTouched: []
    func_position:
      end: 297
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 297
    functionName: _file_sync_stream_commit
    functionSourceFile: /src/glib/gio/gwin32file-sync-stream.c
    functionUses: []
    functionsReached:
    - GetLastError
    - FlushFileBuffers
    - __HRESULT_FROM_WIN32
    linkageType: ''
    returnType: HRESULT
    signature: 'static HRESULT STDMETHODCALLTYPE _file_sync_stream_commit (IStream
      *self_ptr, DWORD commit_flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 4
    argNames:
    - self_ptr
    - lock_offset
    - lock_bytes
    - lock_type
    argTypes:
    - IStream*
    - ULARGE_INTEGER
    - ULARGE_INTEGER
    - DWORD
    constantsTouched: []
    func_position:
      end: 312
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 312
    functionName: _file_sync_stream_lock_region
    functionSourceFile: /src/glib/gio/gwin32file-sync-stream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: HRESULT
    signature: 'static HRESULT STDMETHODCALLTYPE _file_sync_stream_lock_region (IStream
      *self_ptr, ULARGE_INTEGER lock_offset, ULARGE_INTEGER lock_bytes, DWORD lock_type) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GetFileInformationByHandleEx
      Src: /src/glib/gio/gwin32file-sync-stream.c:348,1
    - Dst: GetFileInformationByHandleEx
      Src: /src/glib/gio/gwin32file-sync-stream.c:349,1
    - Dst: GetLastError
      Src: /src/glib/gio/gwin32file-sync-stream.c:351,1
    - Dst: memset
      Src: /src/glib/gio/gwin32file-sync-stream.c:363,1
    - Dst: __HRESULT_FROM_WIN32
      Src: /src/glib/gio/gwin32file-sync-stream.c:352,1
    - Dst: GetFinalPathNameByHandleW
      Src: /src/glib/gio/gwin32file-sync-stream.c:386,1
    - Dst: GetLastError
      Src: /src/glib/gio/gwin32file-sync-stream.c:390,1
    - Dst: __HRESULT_FROM_WIN32
      Src: /src/glib/gio/gwin32file-sync-stream.c:391,1
    - Dst: CoTaskMemAlloc
      Src: /src/glib/gio/gwin32file-sync-stream.c:394,1
    - Dst: GetFinalPathNameByHandleW
      Src: /src/glib/gio/gwin32file-sync-stream.c:396,1
    - Dst: GetLastError
      Src: /src/glib/gio/gwin32file-sync-stream.c:401,1
    - Dst: __HRESULT_FROM_WIN32
      Src: /src/glib/gio/gwin32file-sync-stream.c:408,1
    - Dst: CoTaskMemFree
      Src: /src/glib/gio/gwin32file-sync-stream.c:402,1
    - Dst: __HRESULT_FROM_WIN32
      Src: /src/glib/gio/gwin32file-sync-stream.c:404,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 52
    argCount: 3
    argNames:
    - self_ptr
    - output_stat
    - flags
    argTypes:
    - IStream*
    - STATSTG*
    - DWORD
    constantsTouched: []
    func_position:
      end: 416
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 416
    functionName: _file_sync_stream_stat
    functionSourceFile: /src/glib/gio/gwin32file-sync-stream.c
    functionUses: []
    functionsReached:
    - GetFileInformationByHandleEx
    - CoTaskMemFree
    - __HRESULT_FROM_WIN32
    - GetLastError
    - CoTaskMemAlloc
    - GetFinalPathNameByHandleW
    - memset
    linkageType: ''
    returnType: HRESULT
    signature: 'static HRESULT STDMETHODCALLTYPE _file_sync_stream_stat (IStream *self_ptr,
      STATSTG *output_stat, DWORD flags) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gwin32file-sync-stream.c:487,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32file-sync-stream.c:493,1
    - Dst: SUCCEEDED
      Src: /src/glib/gio/gwin32file-sync-stream.c:491,1
    - Dst: IUnknown_QueryInterface
      Src: /src/glib/gio/gwin32file-sync-stream.c:490,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 509
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 509
    functionName: g_win32_file_sync_stream_new
    functionSourceFile: /src/glib/gio/gwin32file-sync-stream.c
    functionUses: []
    functionsReached:
    - SUCCEEDED
    - g_new0
    - g_free
    - IUnknown_QueryInterface
    linkageType: ''
    returnType: IStream*
    signature: 'IStream *g_win32_file_sync_stream_new (HANDLE file_handle, gboolean
      owns_handle, DWORD stgm_mode, HRESULT *output_hresult) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ReadFile
      Src: /src/glib/gio/gwin32file-sync-stream.c:132,1
    - Dst: GetLastError
      Src: /src/glib/gio/gwin32file-sync-stream.c:134,1
    - Dst: __HRESULT_FROM_WIN32
      Src: /src/glib/gio/gwin32file-sync-stream.c:135,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 4
    argNames:
    - self_ptr
    - output_data
    - bytes_to_read
    - output_bytes_read
    argTypes:
    - IStream*
    - void*
    - ULONG
    - ULONG*
    constantsTouched: []
    func_position:
      end: 142
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 142
    functionName: _file_sync_stream_read
    functionSourceFile: /src/glib/gio/gwin32file-sync-stream.c
    functionUses: []
    functionsReached:
    - ReadFile
    - GetLastError
    - __HRESULT_FROM_WIN32
    linkageType: ''
    returnType: HRESULT
    signature: 'static HRESULT STDMETHODCALLTYPE _file_sync_stream_read (IStream *self_ptr,
      void *output_data, ULONG bytes_to_read, ULONG *output_bytes_read) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - self_ptr
    argTypes:
    - IStream*
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: _file_sync_stream_add_ref
    functionSourceFile: /src/glib/gio/gwin32file-sync-stream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ULONG
    signature: 'static ULONG STDMETHODCALLTYPE _file_sync_stream_add_ref (IStream
      *self_ptr) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SetFilePointerEx
      Src: /src/glib/gio/gwin32file-sync-stream.c:190,1
    - Dst: __HRESULT_FROM_WIN32
      Src: /src/glib/gio/gwin32file-sync-stream.c:193,1
    - Dst: GetLastError
      Src: /src/glib/gio/gwin32file-sync-stream.c:192,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 4
    argNames:
    - self_ptr
    - move_distance
    - origin
    - output_new_position
    argTypes:
    - IStream*
    - LARGE_INTEGER
    - DWORD
    - ULARGE_INTEGER*
    constantsTouched: []
    func_position:
      end: 199
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 199
    functionName: _file_sync_stream_seek
    functionSourceFile: /src/glib/gio/gwin32file-sync-stream.c
    functionUses: []
    functionsReached:
    - SetFilePointerEx
    - GetLastError
    - __HRESULT_FROM_WIN32
    linkageType: ''
    returnType: HRESULT
    signature: 'static HRESULT STDMETHODCALLTYPE _file_sync_stream_seek (IStream *self_ptr,
      LARGE_INTEGER move_distance, DWORD origin, ULARGE_INTEGER *output_new_position) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SUCCEEDED
      Src: /src/glib/gio/gwin32file-sync-stream.c:251,1
    - Dst: __HRESULT_FROM_WIN32
      Src: /src/glib/gio/gwin32file-sync-stream.c:269,1
    - Dst: SUCCEEDED
      Src: /src/glib/gio/gwin32file-sync-stream.c:265,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 5
    argNames:
    - self_ptr
    - output_stream
    - bytes_to_copy
    - output_bytes_read
    - output_bytes_written
    argTypes:
    - IStream*
    - IStream*
    - ULARGE_INTEGER
    - ULARGE_INTEGER*
    - ULARGE_INTEGER*
    constantsTouched: []
    func_position:
      end: 282
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 282
    functionName: _file_sync_stream_copy_to
    functionSourceFile: /src/glib/gio/gwin32file-sync-stream.c
    functionUses: []
    functionsReached:
    - SUCCEEDED
    - __HRESULT_FROM_WIN32
    linkageType: ''
    returnType: HRESULT
    signature: 'static HRESULT STDMETHODCALLTYPE _file_sync_stream_copy_to (IStream
      *self_ptr, IStream *output_stream, ULARGE_INTEGER bytes_to_copy, ULARGE_INTEGER
      *output_bytes_read, ULARGE_INTEGER *output_bytes_written) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - self_ptr
    argTypes:
    - IStream*
    constantsTouched: []
    func_position:
      end: 303
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 303
    functionName: _file_sync_stream_revert
    functionSourceFile: /src/glib/gio/gwin32file-sync-stream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: HRESULT
    signature: 'static HRESULT STDMETHODCALLTYPE _file_sync_stream_revert (IStream
      *self_ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 4
    argNames:
    - self_ptr
    - lock_offset
    - lock_bytes
    - lock_type
    argTypes:
    - IStream*
    - ULARGE_INTEGER
    - ULARGE_INTEGER
    - DWORD
    constantsTouched: []
    func_position:
      end: 321
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 321
    functionName: _file_sync_stream_unlock_region
    functionSourceFile: /src/glib/gio/gwin32file-sync-stream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: HRESULT
    signature: 'static HRESULT STDMETHODCALLTYPE _file_sync_stream_unlock_region (IStream
      *self_ptr, ULARGE_INTEGER lock_offset, ULARGE_INTEGER lock_bytes, DWORD lock_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - self_ptr
    - output_clone_ptr
    argTypes:
    - IStream*
    - IStream**
    constantsTouched: []
    func_position:
      end: 423
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 423
    functionName: _file_sync_stream_clone
    functionSourceFile: /src/glib/gio/gwin32file-sync-stream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: HRESULT
    signature: 'static HRESULT STDMETHODCALLTYPE _file_sync_stream_clone (IStream
      *self_ptr, IStream **output_clone_ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CloseHandle
      Src: /src/glib/gio/gwin32file-sync-stream.c:446,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32file-sync-stream.c:448,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - GWin32FileSyncStream*
    constantsTouched: []
    func_position:
      end: 449
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 449
    functionName: _file_sync_stream_free
    functionSourceFile: /src/glib/gio/gwin32file-sync-stream.c
    functionUses: []
    functionsReached:
    - g_free
    - CloseHandle
    linkageType: ''
    returnType: void
    signature: 'static void _file_sync_stream_free (GWin32FileSyncStream *self) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_AUTH_MECHANISM_SHA1
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:143,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:145,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:148,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:146,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:149,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:151,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:152,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 153
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 153
    functionName: _g_dbus_auth_mechanism_sha1_finalize
    functionSourceFile: /src/glib/gio/gdbusauthmechanismsha1.c
    functionUses: []
    functionsReached:
    - g_free
    - G_DBUS_AUTH_MECHANISM_SHA1
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void _g_dbus_auth_mechanism_sha1_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 201
    functionName: mechanism_get_name
    functionSourceFile: /src/glib/gio/gdbusauthmechanismsha1.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *mechanism_get_name (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_random_int_range
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 243
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 243
    functionName: random_ascii
    functionSourceFile: /src/glib/gio/gdbusauthmechanismsha1.c
    functionUses: []
    functionsReached:
    - g_random_int_range
    linkageType: ''
    returnType: gint
    signature: 'static gint random_ascii (void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:390,1
    - Dst: g_build_filename
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:402,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:391,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:409,1
    - Dst: _
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:410,1
    - Dst: g_strsplit
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:427,1
    - Dst: g_ascii_strtoll
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:441,1
    - Dst: g_strv_length
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:428,1
    - Dst: _
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:461,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:465,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:482,1
    - Dst: ensure_keyring_directory
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:398,1
    - Dst: g_file_get_contents
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:404,1
    - Dst: g_strsplit
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:416,1
    - Dst: _
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:447,1
    - Dst: g_ascii_strtoll
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:455,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:451,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:458,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:474,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:478,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:491,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:414,1
    - Dst: _
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:433,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:437,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:444,1
    - Dst: _
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:485,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:492,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:430,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:493,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:490,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 65
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 495
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 495
    functionName: keyring_lookup_entry
    functionSourceFile: /src/glib/gio/gdbusauthmechanismsha1.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_return_val_if_fail
    - g_strv_length
    - g_prefix_error
    - g_assert
    - g_strfreev
    - g_file_get_contents
    - g_build_filename
    - ensure_keyring_directory
    - g_strsplit
    - g_ascii_strtoll
    - _
    - g_free
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *keyring_lookup_entry (const gchar *cookie_context, gint
      cookie_id, GError **error) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:720,1
    - Dst: g_ascii_strtoll
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:796,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:799,1
    - Dst: _log
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:831,1
    - Dst: _g_dbus_hexencode
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:889,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:892,1
    - Dst: g_file_set_contents_full
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:903,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:911,1
    - Dst: keyring_release_lock
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:924,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:951,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:949,1
    - Dst: _
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:935,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:934,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:953,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:948,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:701,1
    - Dst: ensure_keyring_directory
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:716,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:702,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:703,1
    - Dst: g_file_get_contents
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:727,1
    - Dst: _
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:774,1
    - Dst: g_strsplit
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:768,1
    - Dst: g_strv_length
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:769,1
    - Dst: _
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:741,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:778,1
    - Dst: MAX
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:854,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:890,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:950,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:704,1
    - Dst: keyring_acquire_lock
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:722,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:735,1
    - Dst: g_propagate_prefixed_error
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:739,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:771,1
    - Dst: g_strsplit
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:755,1
    - Dst: _
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:788,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:792,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:849,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:920,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:938,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:943,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:954,1
    - Dst: g_get_real_time
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:748,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:740,1
    - Dst: g_string_new
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:747,1
    - Dst: g_ascii_strtoll
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:782,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:785,1
    - Dst: _
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:802,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:806,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:872,1
    - Dst: random_blob
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:888,1
    - Dst: g_get_real_time
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:895,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 162
    argCount: 4
    argNames:
    - cookie_context
    - out_id
    - out_cookie
    - error
    argTypes:
    - gchar*
    - gint*
    - gchar**
    - GError**
    constantsTouched: []
    func_position:
      end: 956
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 956
    functionName: keyring_generate_entry
    functionSourceFile: /src/glib/gio/gdbusauthmechanismsha1.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - _log
    - g_prefix_error
    - g_file_get_contents
    - g_strsplit
    - keyring_acquire_lock
    - g_strfreev
    - _g_dbus_hexencode
    - g_error_free
    - g_build_filename
    - ensure_keyring_directory
    - g_set_error
    - g_strv_length
    - MAX
    - g_ascii_strtoll
    - g_string_new
    - _
    - g_string_append_printf
    - g_propagate_prefixed_error
    - g_get_real_time
    - random_blob
    - g_clear_error
    - g_return_val_if_fail
    - g_assert
    - g_string_free
    - g_free
    - keyring_release_lock
    - g_file_set_contents_full
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean keyring_generate_entry (const gchar *cookie_context,
      gint *out_id, gchar **out_cookie, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_AUTH_MECHANISM_SHA1
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1157,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1159,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM_SHA1
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1159,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - mechanism
    argTypes:
    - GDBusAuthMechanism*
    constantsTouched: []
    func_position:
      end: 1163
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1163
    functionName: mechanism_client_get_state
    functionSourceFile: /src/glib/gio/gdbusauthmechanismsha1.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_DBUS_AUTH_MECHANISM_SHA1
    - G_IS_DBUS_AUTH_MECHANISM_SHA1
    linkageType: ''
    returnType: GDBusAuthMechanismState
    signature: 'static GDBusAuthMechanismState mechanism_client_get_state (GDBusAuthMechanism
      *mechanism) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:161,1
    - Dst: G_DBUS_AUTH_MECHANISM_CLASS
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GDBusAuthMechanismSha1Class*
    constantsTouched: []
    func_position:
      end: 181
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 181
    functionName: _g_dbus_auth_mechanism_sha1_class_init
    functionSourceFile: /src/glib/gio/gdbusauthmechanismsha1.c
    functionUses: []
    functionsReached:
    - G_DBUS_AUTH_MECHANISM_CLASS
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void _g_dbus_auth_mechanism_sha1_class_init (GDBusAuthMechanismSha1Class
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:206,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM_SHA1
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - mechanism
    argTypes:
    - GDBusAuthMechanism*
    constantsTouched: []
    func_position:
      end: 208
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 208
    functionName: mechanism_is_supported
    functionSourceFile: /src/glib/gio/gdbusauthmechanismsha1.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DBUS_AUTH_MECHANISM_SHA1
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean mechanism_is_supported (GDBusAuthMechanism *mechanism) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:251,1
    - Dst: random_ascii
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:253,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:253,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:254,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 255
    functionName: random_ascii_string
    functionSourceFile: /src/glib/gio/gdbusauthmechanismsha1.c
    functionUses: []
    functionsReached:
    - g_string_append_c
    - g_string_free
    - random_ascii
    - g_string_new
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *random_ascii_string (guint len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_AUTH_MECHANISM_SHA1
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1170,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM_SHA1
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1173,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1173,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1174,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1181,1
    - Dst: getuid
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1181,1
    - Dst: _g_win32_current_process_sid_string
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1183,1
    - Dst: strlen
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1190,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1165
    functionDepth: 0
    functionLinenumber: 1165
    functionLinenumberEnd: 1198
    functionName: mechanism_client_initiate
    functionSourceFile: /src/glib/gio/gdbusauthmechanismsha1.c
    functionUses: []
    functionsReached:
    - getuid
    - g_strdup_printf
    - g_return_val_if_fail
    - strlen
    - G_IS_DBUS_AUTH_MECHANISM_SHA1
    - G_DBUS_AUTH_MECHANISM_SHA1
    - _g_win32_current_process_sid_string
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *mechanism_client_initiate (GDBusAuthMechanism *mechanism,
      GDBusConnectionFlags conn_flags, gsize *out_initial_response_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 195
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 195
    functionName: mechanism_get_priority
    functionSourceFile: /src/glib/gio/gdbusauthmechanismsha1.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint
    signature: 'static gint mechanism_get_priority (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:263,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:266,1
    - Dst: g_random_int_range
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:265,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:265,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 267
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 267
    functionName: random_blob
    functionSourceFile: /src/glib/gio/gdbusauthmechanismsha1.c
    functionUses: []
    functionsReached:
    - g_string_append_c
    - g_random_int_range
    - g_string_free
    - g_string_new
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *random_blob (guint len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_AUTH_MECHANISM_SHA1
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1039,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM_SHA1
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1045,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1047,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1046,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1045,1
    - Dst: g_strsplit
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1052,1
    - Dst: g_strv_length
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1053,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1055,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1056,1
    - Dst: generate_sha1
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1064,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1066,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1078,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1079,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1072,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1073,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 3
    argNames:
    - mechanism
    - data
    - data_len
    argTypes:
    - GDBusAuthMechanism*
    - gchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 1080
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1080
    functionName: mechanism_server_data_receive
    functionSourceFile: /src/glib/gio/gdbusauthmechanismsha1.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_strv_length
    - g_return_if_fail
    - G_IS_DBUS_AUTH_MECHANISM_SHA1
    - generate_sha1
    - g_strfreev
    - G_DBUS_AUTH_MECHANISM_SHA1
    - g_strcmp0
    - g_strsplit
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void mechanism_server_data_receive (GDBusAuthMechanism *mechanism,
      const gchar *data, gsize data_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_AUTH_MECHANISM_SHA1
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1086,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1094,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1093,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM_SHA1
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1092,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1092,1
    - Dst: keyring_generate_entry
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1104,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1109,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1110,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1111,1
    - Dst: random_ascii_string
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1116,1
    - Dst: strlen
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1121,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1117,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1082
    functionDepth: 0
    functionLinenumber: 1082
    functionLinenumberEnd: 1127
    functionName: mechanism_server_data_send
    functionSourceFile: /src/glib/gio/gdbusauthmechanismsha1.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_strdup_printf
    - strlen
    - keyring_generate_entry
    - G_IS_DBUS_AUTH_MECHANISM_SHA1
    - g_error_free
    - G_DBUS_AUTH_MECHANISM_SHA1
    - random_ascii_string
    - g_free
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *mechanism_server_data_send (GDBusAuthMechanism *mechanism,
      gsize *out_data_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:968,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:970,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:971,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:972,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:969,1
    - Dst: g_compute_checksum_for_string
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:973,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:974,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 977
      start: 960
    functionDepth: 0
    functionLinenumber: 960
    functionLinenumberEnd: 977
    functionName: generate_sha1
    functionSourceFile: /src/glib/gio/gdbusauthmechanismsha1.c
    functionUses: []
    functionsReached:
    - g_string_append_c
    - g_string_free
    - g_string_new
    - g_compute_checksum_for_string
    - g_string_append
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *generate_sha1 (const gchar *server_challenge, const
      gchar *client_challenge, const gchar *cookie) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 217
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 217
    functionName: mechanism_encode_data
    functionSourceFile: /src/glib/gio/gdbusauthmechanismsha1.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *mechanism_encode_data (GDBusAuthMechanism *mechanism,
      const gchar *data, gsize data_len, gsize *out_data_len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_open
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:525,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:539,1
    - Dst: _g_stat_mtim_nsec
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:535,1
    - Dst: g_local_file_stat
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:534,1
    - Dst: _g_stat_mtime
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:535,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:541,1
    - Dst: _
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:542,1
    - Dst: g_strerror
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:544,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 3
    argNames:
    - lock_path
    - mtime_nsec
    - error
    argTypes:
    - gchar*
    - gint64*
    - GError**
    constantsTouched: []
    func_position:
      end: 549
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 549
    functionName: create_lock_exclusive
    functionSourceFile: /src/glib/gio/gdbusauthmechanismsha1.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _g_stat_mtim_nsec
    - g_io_error_from_errno
    - g_strerror
    - g_local_file_stat
    - _g_stat_mtime
    - _
    - g_open
    linkageType: ''
    returnType: gint
    signature: 'static gint create_lock_exclusive (const gchar *lock_path, gint64
      *mtime_nsec, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_IS_DBUS_AUTH_MECHANISM_SHA1
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1216,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1217,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1228,1
    - Dst: g_ascii_strtoll
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1234,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1257,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1249,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1248,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1238,1
    - Dst: generate_sha1
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1256,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1264,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1216,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1237,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1250,1
    - Dst: random_ascii_string
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1255,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1258,1
    - Dst: G_DBUS_AUTH_MECHANISM_SHA1
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1205,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1218,1
    - Dst: keyring_lookup_entry
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1245,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1262,1
    - Dst: g_strsplit
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1224,1
    - Dst: g_strv_length
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1225,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1227,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1263,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 52
    argCount: 3
    argNames:
    - mechanism
    - data
    - data_len
    argTypes:
    - GDBusAuthMechanism*
    - gchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 1265
      start: 1200
    functionDepth: 0
    functionLinenumber: 1200
    functionLinenumberEnd: 1265
    functionName: mechanism_client_data_receive
    functionSourceFile: /src/glib/gio/gdbusauthmechanismsha1.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_strv_length
    - keyring_lookup_entry
    - g_return_if_fail
    - G_IS_DBUS_AUTH_MECHANISM_SHA1
    - generate_sha1
    - g_strfreev
    - g_error_free
    - G_DBUS_AUTH_MECHANISM_SHA1
    - random_ascii_string
    - g_strsplit
    - g_ascii_strtoll
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void mechanism_client_data_receive (GDBusAuthMechanism *mechanism,
      const gchar *data, gsize data_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 227
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 227
    functionName: mechanism_decode_data
    functionSourceFile: /src/glib/gio/gdbusauthmechanismsha1.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *mechanism_decode_data (GDBusAuthMechanism *mechanism,
      const gchar *data, gsize data_len, gsize *out_data_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_AUTH_MECHANISM_SHA1
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1271,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM_SHA1
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1273,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1273,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1275,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1274,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1277,1
    - Dst: strlen
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1281,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1282,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1283
    functionName: mechanism_client_data_send
    functionSourceFile: /src/glib/gio/gdbusauthmechanismsha1.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_strdup
    - strlen
    - g_assert
    - G_IS_DBUS_AUTH_MECHANISM_SHA1
    - G_DBUS_AUTH_MECHANISM_SHA1
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *mechanism_client_data_send (GDBusAuthMechanism *mechanism,
      gsize *out_data_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:506,1
    - Dst: va_end
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:508,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:511,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:512,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:507,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - message
    - '...'
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 513
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 513
    functionName: _log
    functionSourceFile: /src/glib/gio/gdbusauthmechanismsha1.c
    functionUses: []
    functionsReached:
    - g_strdup_vprintf
    - g_printerr
    - va_end
    - g_free
    - va_start
    linkageType: ''
    returnType: void
    signature: 'static void _log (const gchar *message, ...) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:282,1
    - Dst: g_build_filename
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:291,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:303,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:305,1
    - Dst: g_strerror
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:308,1
    - Dst: g_file_test
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:333,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:348,1
    - Dst: g_get_home_dir
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:291,1
    - Dst: stat
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:297,1
    - Dst: _
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:306,1
    - Dst: g_getenv
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:315,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:351,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:353,1
    - Dst: g_strerror
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:356,1
    - Dst: _
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:365,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:368,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:287,1
    - Dst: g_getenv
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:284,1
    - Dst: S_ISDIR
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:313,1
    - Dst: _
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:321,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:328,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:309,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:318,1
    - Dst: _
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:354,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:357,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:324,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:341,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:346,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:362,1
    - Dst: _
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:367,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:372,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 373
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 373
    functionName: ensure_keyring_directory
    functionSourceFile: /src/glib/gio/gdbusauthmechanismsha1.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_steal_pointer
    - g_return_val_if_fail
    - g_strdup
    - g_io_error_from_errno
    - g_mkdir_with_parents
    - g_getenv
    - g_strerror
    - g_get_home_dir
    - stat
    - g_clear_pointer
    - GLIB_PRIVATE_CALL
    - g_build_filename
    - _
    - g_file_test
    - S_ISDIR
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *ensure_keyring_directory (GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_dbus_auth_mechanism_sha1_get_instance_private
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - mechanism
    argTypes:
    - GDBusAuthMechanismSha1*
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: _g_dbus_auth_mechanism_sha1_init
    functionSourceFile: /src/glib/gio/gdbusauthmechanismsha1.c
    functionUses: []
    functionsReached:
    - _g_dbus_auth_mechanism_sha1_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void _g_dbus_auth_mechanism_sha1_init (GDBusAuthMechanismSha1
      *mechanism) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:565,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:569,1
    - Dst: g_usleep
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:595,1
    - Dst: create_lock_exclusive
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:590,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:566,1
    - Dst: g_unlink
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:609,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:612,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:614,1
    - Dst: _
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:615,1
    - Dst: g_strerror
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:617,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:630,1
    - Dst: create_lock_exclusive
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:624,1
    - Dst: _log
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:621,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 2
    argNames:
    - path
    - error
    argTypes:
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 632
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 632
    functionName: keyring_acquire_lock
    functionSourceFile: /src/glib/gio/gdbusauthmechanismsha1.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_return_val_if_fail
    - g_strconcat
    - g_unlink
    - g_io_error_from_errno
    - _log
    - g_strerror
    - create_lock_exclusive
    - g_usleep
    - _
    - g_free
    linkageType: ''
    returnType: gint
    signature: 'static gint keyring_acquire_lock (const gchar *path, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_AUTH_MECHANISM_SHA1
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:984,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:986,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM_SHA1
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:986,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:987,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - mechanism
    argTypes:
    - GDBusAuthMechanism*
    constantsTouched: []
    func_position:
      end: 990
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 990
    functionName: mechanism_server_get_state
    functionSourceFile: /src/glib/gio/gdbusauthmechanismsha1.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_DBUS_AUTH_MECHANISM_SHA1
    - G_IS_DBUS_AUTH_MECHANISM_SHA1
    linkageType: ''
    returnType: GDBusAuthMechanismState
    signature: 'static GDBusAuthMechanismState mechanism_server_get_state (GDBusAuthMechanism
      *mechanism) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_AUTH_MECHANISM_SHA1
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1132,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1134,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1136,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM_SHA1
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1134,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1135,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1138,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1129
    functionDepth: 0
    functionLinenumber: 1129
    functionLinenumberEnd: 1139
    functionName: mechanism_server_get_reject_reason
    functionSourceFile: /src/glib/gio/gdbusauthmechanismsha1.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_DBUS_AUTH_MECHANISM_SHA1
    - g_strdup
    - G_IS_DBUS_AUTH_MECHANISM_SHA1
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *mechanism_server_get_reject_reason (GDBusAuthMechanism
      *mechanism) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:642,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:647,1
    - Dst: close
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:648,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:643,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:644,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:651,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:653,1
    - Dst: _
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:654,1
    - Dst: g_strerror
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:656,1
    - Dst: g_unlink
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:659,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:664,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:662,1
    - Dst: _
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:665,1
    - Dst: g_strerror
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:667,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:674,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 3
    argNames:
    - path
    - lock_fd
    - error
    argTypes:
    - gchar*
    - gint
    - GError**
    constantsTouched: []
    func_position:
      end: 676
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 676
    functionName: keyring_release_lock
    functionSourceFile: /src/glib/gio/gdbusauthmechanismsha1.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_return_val_if_fail
    - g_strdup_printf
    - g_unlink
    - g_io_error_from_errno
    - g_strerror
    - close
    - _
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean keyring_release_lock (const gchar *path, gint lock_fd,
      GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_AUTH_MECHANISM_SHA1
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:997,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1000,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:999,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM_SHA1
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:999,1
    - Dst: g_ascii_strtoll
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1011,1
    - Dst: getuid
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1014,1
    - Dst: _g_win32_current_process_sid_string
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1022,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1024,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1027,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 3
    argNames:
    - mechanism
    - initial_response
    - initial_response_len
    argTypes:
    - GDBusAuthMechanism*
    - gchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 1032
      start: 992
    functionDepth: 0
    functionLinenumber: 992
    functionLinenumberEnd: 1032
    functionName: mechanism_server_initiate
    functionSourceFile: /src/glib/gio/gdbusauthmechanismsha1.c
    functionUses: []
    functionsReached:
    - getuid
    - g_return_if_fail
    - G_IS_DBUS_AUTH_MECHANISM_SHA1
    - G_DBUS_AUTH_MECHANISM_SHA1
    - g_strcmp0
    - g_ascii_strtoll
    - _g_win32_current_process_sid_string
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void mechanism_server_initiate (GDBusAuthMechanism *mechanism,
      const gchar *initial_response, gsize initial_response_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_AUTH_MECHANISM_SHA1
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1144,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM_SHA1
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1146,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1146,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - mechanism
    argTypes:
    - GDBusAuthMechanism*
    constantsTouched: []
    func_position:
      end: 1150
      start: 1141
    functionDepth: 0
    functionLinenumber: 1141
    functionLinenumberEnd: 1150
    functionName: mechanism_server_shutdown
    functionSourceFile: /src/glib/gio/gdbusauthmechanismsha1.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_AUTH_MECHANISM_SHA1
    - G_DBUS_AUTH_MECHANISM_SHA1
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void mechanism_server_shutdown (GDBusAuthMechanism *mechanism) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_AUTH_MECHANISM_SHA1
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1288,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1291,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1290,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM_SHA1
      Src: /src/glib/gio/gdbusauthmechanismsha1.c:1290,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - mechanism
    argTypes:
    - GDBusAuthMechanism*
    constantsTouched: []
    func_position:
      end: 1294
      start: 1285
    functionDepth: 0
    functionLinenumber: 1285
    functionLinenumberEnd: 1294
    functionName: mechanism_client_shutdown
    functionSourceFile: /src/glib/gio/gdbusauthmechanismsha1.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_AUTH_MECHANISM_SHA1
    - G_DBUS_AUTH_MECHANISM_SHA1
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'static void mechanism_client_shutdown (GDBusAuthMechanism *mechanism) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_file_create
      Src: /src/glib/gio/gio-tool-save.c:82,1
    - Dst: g_file_append_to
      Src: /src/glib/gio/gio-tool-save.c:84,1
    - Dst: print_file_error
      Src: /src/glib/gio/gio-tool-save.c:106,1
    - Dst: print_file_error
      Src: /src/glib/gio/gio-tool-save.c:127,1
    - Dst: G_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/gio-tool-save.c:134,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-save.c:128,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-save.c:140,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-save.c:145,1
    - Dst: g_file_replace
      Src: /src/glib/gio/gio-tool-save.c:86,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/gio-tool-save.c:102,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-save.c:144,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-save.c:90,1
    - Dst: print_error
      Src: /src/glib/gio/gio-tool-save.c:114,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-save.c:140,1
    - Dst: g_file_output_stream_get_etag
      Src: /src/glib/gio/gio-tool-save.c:134,1
    - Dst: print_file_error
      Src: /src/glib/gio/gio-tool-save.c:89,1
    - Dst: g_malloc
      Src: /src/glib/gio/gio-tool-save.c:94,1
    - Dst: read
      Src: /src/glib/gio/gio-tool-save.c:99,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gio-tool-save.c:107,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-save.c:114,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/gio-tool-save.c:123,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-save.c:137,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-save.c:141,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 52
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 148
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 148
    functionName: save
    functionSourceFile: /src/glib/gio/gio-tool-save.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_file_replace
    - g_object_unref
    - print_file_error
    - G_FILE_OUTPUT_STREAM
    - g_file_create
    - g_file_append_to
    - g_output_stream_close
    - g_free
    - g_malloc
    - g_error_free
    - g_output_stream_write_all
    - print_error
    - g_print
    - _
    - g_file_output_stream_get_etag
    - read
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean save (GFile *file) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/glib/gio/gio-tool-save.c:161,1
    - Dst: g_option_context_set_summary
      Src: /src/glib/gio/gio-tool-save.c:163,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/gio/gio-tool-save.c:165,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-save.c:170,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/gio-tool-save.c:174,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-save.c:177,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-save.c:196,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/gio-tool-save.c:198,1
    - Dst: g_option_context_set_help_enabled
      Src: /src/glib/gio/gio-tool-save.c:162,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-save.c:169,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-save.c:176,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-save.c:184,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-save.c:191,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-save.c:200,1
    - Dst: g_option_context_new
      Src: /src/glib/gio/gio-tool-save.c:161,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-save.c:191,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-save.c:184,1
    - Dst: save
      Src: /src/glib/gio/gio-tool-save.c:199,1
    - Dst: g_set_prgname
      Src: /src/glib/gio/gio-tool-save.c:158,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-save.c:164,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-save.c:178,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-save.c:192,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-save.c:185,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 3
    argNames:
    - argc
    - argv
    - do_help
    argTypes:
    - int
    - char*
    - gboolean
    constantsTouched: []
    func_position:
      end: 203
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 203
    functionName: handle_save
    functionSourceFile: /src/glib/gio/gio-tool-save.c
    functionUses: []
    functionsReached:
    - g_option_context_free
    - save
    - g_option_context_new
    - g_option_context_set_summary
    - g_object_unref
    - g_set_prgname
    - show_help
    - g_error_free
    - g_option_context_set_help_enabled
    - g_option_context_parse
    - _
    - g_option_context_add_main_entries
    - g_file_new_for_commandline_arg
    linkageType: ''
    returnType: int
    signature: 'int handle_save (int argc, char *argv[], gboolean do_help) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gtlsserverconnection.c:54,1
    - Dst: g_param_spec_enum
      Src: /src/glib/gio/gtlsserverconnection.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GTlsServerConnectionInterface*
    constantsTouched: []
    func_position:
      end: 60
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 60
    functionName: g_tls_server_connection_default_init
    functionSourceFile: /src/glib/gio/gtlsserverconnection.c
    functionUses: []
    functionsReached:
    - g_object_interface_install_property
    - g_param_spec_enum
    linkageType: ''
    returnType: void
    signature: 'static void g_tls_server_connection_default_init (GTlsServerConnectionInterface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_tls_backend_get_default
      Src: /src/glib/gio/gtlsserverconnection.c:88,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/gtlsserverconnection.c:94,1
    - Dst: g_initable_new
      Src: /src/glib/gio/gtlsserverconnection.c:89,1
    - Dst: g_tls_backend_get_server_connection_type
      Src: /src/glib/gio/gtlsserverconnection.c:89,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 95
    functionName: g_tls_server_connection_new
    functionSourceFile: /src/glib/gio/gtlsserverconnection.c
    functionUses: []
    functionsReached:
    - G_IO_STREAM
    - g_tls_backend_get_server_connection_type
    - g_initable_new
    - g_tls_backend_get_default
    linkageType: ''
    returnType: GIOStream*
    signature: "GIOStream *g_tls_server_connection_new (GIOStream *base_io_stream,\t\
      \t\t GTlsCertificate *certificate,\t\t\t GError **error) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gxdp_open_uri_proxy_new_for_bus_sync
      Src: /src/glib/gio/gopenuriportal.c:51,1
    - Dst: g_open
      Src: /src/glib/gio/gopenuriportal.c:81,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gopenuriportal.c:85,1
    - Dst: g_free
      Src: /src/glib/gio/gopenuriportal.c:108,1
    - Dst: g_variant_builder_init_static
      Src: /src/glib/gio/gopenuriportal.c:66,1
    - Dst: g_variant_builder_clear
      Src: /src/glib/gio/gopenuriportal.c:88,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gopenuriportal.c:101,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gopenuriportal.c:102,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gopenuriportal.c:109,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gopenuriportal.c:120,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gopenuriportal.c:69,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gopenuriportal.c:71,1
    - Dst: g_file_is_native
      Src: /src/glib/gio/gopenuriportal.c:73,1
    - Dst: g_file_get_path
      Src: /src/glib/gio/gopenuriportal.c:79,1
    - Dst: g_free
      Src: /src/glib/gio/gopenuriportal.c:87,1
    - Dst: fcntl
      Src: /src/glib/gio/gopenuriportal.c:93,1
    - Dst: gxdp_open_uri_call_open_uri_sync
      Src: /src/glib/gio/gopenuriportal.c:117,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/gopenuriportal.c:62,1
    - Dst: g_set_error
      Src: /src/glib/gio/gopenuriportal.c:85,1
    - Dst: g_unix_fd_list_new_from_array
      Src: /src/glib/gio/gopenuriportal.c:95,1
    - Dst: gxdp_open_uri_call_open_file_sync
      Src: /src/glib/gio/gopenuriportal.c:99,1
    - Dst: g_strerror
      Src: /src/glib/gio/gopenuriportal.c:86,1
    - Dst: g_file_get_uri
      Src: /src/glib/gio/gopenuriportal.c:115,1
    - Dst: g_free
      Src: /src/glib/gio/gopenuriportal.c:124,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/gopenuriportal.c:127,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gopenuriportal.c:129,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 4
    argNames:
    - file
    - parent_window
    - startup_id
    - error
    argTypes:
    - GFile*
    - char*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 132
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 132
    functionName: g_openuri_portal_open_file
    functionSourceFile: /src/glib/gio/gopenuriportal.c
    functionUses: []
    functionsReached:
    - g_file_is_native
    - g_unix_fd_list_new_from_array
    - g_prefix_error
    - gxdp_open_uri_call_open_file_sync
    - g_strerror
    - g_open
    - gxdp_open_uri_call_open_uri_sync
    - g_object_unref
    - g_variant_builder_init_static
    - g_clear_object
    - fcntl
    - g_variant_builder_end
    - g_variant_builder_add
    - g_set_error
    - g_file_get_uri
    - gxdp_open_uri_proxy_new_for_bus_sync
    - g_io_error_from_errno
    - g_variant_builder_clear
    - g_variant_new_string
    - g_file_get_path
    - g_variant_new
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_openuri_portal_open_file (GFile *file, const char *parent_window,
      const char *startup_id, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GXDP_OPEN_URI
      Src: /src/glib/gio/gopenuriportal.c:205,1
    - Dst: gxdp_open_uri_call_open_file_finish
      Src: /src/glib/gio/gopenuriportal.c:217,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gopenuriportal.c:213,1
    - Dst: g_dbus_proxy_get_connection
      Src: /src/glib/gio/gopenuriportal.c:214,1
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/gopenuriportal.c:214,1
    - Dst: gxdp_open_uri_call_open_uri_finish
      Src: /src/glib/gio/gopenuriportal.c:219,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gopenuriportal.c:223,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gopenuriportal.c:224,1
    - Dst: g_free
      Src: /src/glib/gio/gopenuriportal.c:225,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gopenuriportal.c:229,1
    - Dst: g_dbus_connection_signal_subscribe
      Src: /src/glib/gio/gopenuriportal.c:235,1
    - Dst: g_steal_handle_id
      Src: /src/glib/gio/gopenuriportal.c:246,1
    - Dst: g_free
      Src: /src/glib/gio/gopenuriportal.c:250,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/gopenuriportal.c:233,1
    - Dst: g_steal_handle_id
      Src: /src/glib/gio/gopenuriportal.c:233,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gopenuriportal.c:247,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gopenuriportal.c:245,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 251
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 251
    functionName: open_call_done
    functionSourceFile: /src/glib/gio/gopenuriportal.c
    functionUses: []
    functionsReached:
    - g_steal_handle_id
    - g_steal_pointer
    - gxdp_open_uri_call_open_uri_finish
    - g_object_unref
    - g_dbus_connection_signal_subscribe
    - g_dbus_connection_signal_unsubscribe
    - GXDP_OPEN_URI
    - g_clear_pointer
    - gxdp_open_uri_call_open_file_finish
    - g_task_get_task_data
    - g_strcmp0
    - g_dbus_proxy_get_connection
    - G_DBUS_PROXY
    - g_free
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void open_call_done (GObject *source, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gopenuriportal.c:159,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gopenuriportal.c:161,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gopenuriportal.c:160,1
    - Dst: g_free_sized
      Src: /src/glib/gio/gopenuriportal.c:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 163
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 163
    functionName: call_data_free
    functionSourceFile: /src/glib/gio/gopenuriportal.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_clear_object
    - g_clear_pointer
    - g_free_sized
    linkageType: ''
    returnType: void
    signature: 'static void call_data_free (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gopenuriportal.c:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: call_data_new
    functionSourceFile: /src/glib/gio/gopenuriportal.c
    functionUses: []
    functionsReached:
    - g_new0
    linkageType: ''
    returnType: CallData*
    signature: 'static CallData *call_data_new (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gopenuriportal.c:178,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gopenuriportal.c:186,1
    - Dst: g_steal_handle_id
      Src: /src/glib/gio/gopenuriportal.c:179,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/gopenuriportal.c:179,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gopenuriportal.c:181,1
    - Dst: g_task_return_new_error_literal
      Src: /src/glib/gio/gopenuriportal.c:189,1
    - Dst: g_task_return_new_error_literal
      Src: /src/glib/gio/gopenuriportal.c:193,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gopenuriportal.c:197,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 11
    argCount: 7
    argNames:
    - connection
    - sender_name
    - object_path
    - interface_name
    - signal_name
    - parameters
    - user_data
    argTypes:
    - GDBusConnection*
    - char*
    - char*
    - char*
    - char*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 198
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 198
    functionName: response_received
    functionSourceFile: /src/glib/gio/gopenuriportal.c
    functionUses: []
    functionsReached:
    - g_steal_handle_id
    - g_task_return_boolean
    - g_object_unref
    - g_dbus_connection_signal_unsubscribe
    - g_task_return_new_error_literal
    - g_task_get_task_data
    - g_variant_get
    linkageType: ''
    returnType: void
    signature: 'static void response_received (GDBusConnection *connection, const
      char *sender_name, const char *object_path, const char *interface_name, const
      char *signal_name, GVariant *parameters, gpointer user_data) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gxdp_open_uri_proxy_new_for_bus_sync
      Src: /src/glib/gio/gopenuriportal.c:270,1
    - Dst: g_dbus_proxy_get_connection
      Src: /src/glib/gio/gopenuriportal.c:286,1
    - Dst: g_task_report_error
      Src: /src/glib/gio/gopenuriportal.c:282,1
    - Dst: g_dbus_connection_signal_subscribe
      Src: /src/glib/gio/gopenuriportal.c:306,1
    - Dst: g_variant_builder_init_static
      Src: /src/glib/gio/gopenuriportal.c:317,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gopenuriportal.c:326,1
    - Dst: call_data_new
      Src: /src/glib/gio/gopenuriportal.c:328,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gopenuriportal.c:330,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gopenuriportal.c:332,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gopenuriportal.c:356,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gopenuriportal.c:377,1
    - Dst: gxdp_open_uri_call_open_file
      Src: /src/glib/gio/gopenuriportal.c:369,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gopenuriportal.c:396,1
    - Dst: g_steal_handle_id
      Src: /src/glib/gio/gopenuriportal.c:331,1
    - Dst: g_file_is_native
      Src: /src/glib/gio/gopenuriportal.c:340,1
    - Dst: g_file_get_path
      Src: /src/glib/gio/gopenuriportal.c:349,1
    - Dst: g_open
      Src: /src/glib/gio/gopenuriportal.c:350,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gopenuriportal.c:354,1
    - Dst: g_unix_fd_list_new_from_array
      Src: /src/glib/gio/gopenuriportal.c:365,1
    - Dst: g_free
      Src: /src/glib/gio/gopenuriportal.c:393,1
    - Dst: gxdp_open_uri_call_open_uri
      Src: /src/glib/gio/gopenuriportal.c:386,1
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/gopenuriportal.c:286,1
    - Dst: g_random_int_range
      Src: /src/glib/gio/gopenuriportal.c:297,1
    - Dst: g_strdup
      Src: /src/glib/gio/gopenuriportal.c:298,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/gopenuriportal.c:298,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gopenuriportal.c:318,1
    - Dst: g_free
      Src: /src/glib/gio/gopenuriportal.c:319,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gopenuriportal.c:303,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gopenuriportal.c:324,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gopenuriportal.c:322,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gopenuriportal.c:318,1
    - Dst: fcntl
      Src: /src/glib/gio/gopenuriportal.c:363,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/gopenuriportal.c:281,1
    - Dst: g_task_new
      Src: /src/glib/gio/gopenuriportal.c:295,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gopenuriportal.c:297,1
    - Dst: g_free
      Src: /src/glib/gio/gopenuriportal.c:304,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gopenuriportal.c:329,1
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/gopenuriportal.c:355,1
    - Dst: g_strerror
      Src: /src/glib/gio/gopenuriportal.c:357,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gopenuriportal.c:371,1
    - Dst: g_free
      Src: /src/glib/gio/gopenuriportal.c:378,1
    - Dst: g_file_get_uri
      Src: /src/glib/gio/gopenuriportal.c:384,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gopenuriportal.c:358,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 81
    argCount: 6
    argNames:
    - file
    - parent_window
    - startup_id
    - cancellable
    - callback
    - user_data
    argTypes:
    - GFile*
    - char*
    - char*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 397
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 397
    functionName: g_openuri_portal_open_file_async
    functionSourceFile: /src/glib/gio/gopenuriportal.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_file_is_native
    - g_strdup_printf
    - g_unix_fd_list_new_from_array
    - g_prefix_error
    - gxdp_open_uri_call_open_file
    - g_strerror
    - g_dbus_proxy_get_connection
    - g_open
    - G_DBUS_PROXY
    - gxdp_open_uri_call_open_uri
    - g_object_unref
    - g_task_report_new_error
    - g_dbus_connection_get_unique_name
    - g_variant_builder_init_static
    - g_free
    - g_clear_object
    - fcntl
    - g_variant_builder_end
    - g_dbus_connection_signal_subscribe
    - g_steal_handle_id
    - g_strdup
    - g_task_new
    - call_data_new
    - g_task_set_task_data
    - g_random_int_range
    - g_file_get_uri
    - gxdp_open_uri_proxy_new_for_bus_sync
    - g_io_error_from_errno
    - g_task_report_error
    - g_variant_new_string
    - g_file_get_path
    - g_variant_new
    - g_object_ref
    - g_variant_builder_add
    linkageType: ''
    returnType: void
    signature: 'void g_openuri_portal_open_file_async (GFile *file, const char *parent_window,
      const char *startup_id, GCancellable *cancellable, GAsyncReadyCallback callback,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gopenuriportal.c:403,1
    - Dst: G_TASK
      Src: /src/glib/gio/gopenuriportal.c:403,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - result
    - error
    argTypes:
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 404
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 404
    functionName: g_openuri_portal_open_file_finish
    functionSourceFile: /src/glib/gio/gopenuriportal.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_task_propagate_boolean
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_openuri_portal_open_file_finish (GAsyncResult *result,
      GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/gio/gio-tool-mkdir.c:50,1
    - Dst: g_option_context_set_description
      Src: /src/glib/gio/gio-tool-mkdir.c:54,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/gio/gio-tool-mkdir.c:58,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-mkdir.c:63,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/gio-tool-mkdir.c:67,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-mkdir.c:82,1
    - Dst: g_file_make_directory_with_parents
      Src: /src/glib/gio/gio-tool-mkdir.c:90,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-mkdir.c:102,1
    - Dst: g_set_prgname
      Src: /src/glib/gio/gio-tool-mkdir.c:46,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mkdir.c:51,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-mkdir.c:69,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-mkdir.c:78,1
    - Dst: print_file_error
      Src: /src/glib/gio/gio-tool-mkdir.c:92,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-mkdir.c:49,1
    - Dst: g_option_context_set_summary
      Src: /src/glib/gio/gio-tool-mkdir.c:53,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-mkdir.c:70,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-mkdir.c:77,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/gio-tool-mkdir.c:86,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-mkdir.c:93,1
    - Dst: g_file_make_directory
      Src: /src/glib/gio/gio-tool-mkdir.c:99,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-mkdir.c:105,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gio-tool-mkdir.c:49,1
    - Dst: g_option_context_set_help_enabled
      Src: /src/glib/gio/gio-tool-mkdir.c:52,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-mkdir.c:53,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-mkdir.c:55,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-mkdir.c:62,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-mkdir.c:71,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-mkdir.c:77,1
    - Dst: print_file_error
      Src: /src/glib/gio/gio-tool-mkdir.c:101,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 3
    argNames:
    - argc
    - argv
    - do_help
    argTypes:
    - int
    - char*
    - gboolean
    constantsTouched: []
    func_position:
      end: 111
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 111
    functionName: handle_mkdir
    functionSourceFile: /src/glib/gio/gio-tool-mkdir.c
    functionUses: []
    functionsReached:
    - g_option_context_set_description
    - g_strdup_printf
    - g_option_context_free
    - g_object_unref
    - g_option_context_new
    - g_option_context_set_summary
    - print_file_error
    - g_set_prgname
    - g_file_make_directory
    - show_help
    - g_file_new_for_commandline_arg
    - g_error_free
    - g_option_context_set_help_enabled
    - g_option_context_parse
    - _
    - g_option_context_add_main_entries
    - g_free
    - g_file_make_directory_with_parents
    linkageType: ''
    returnType: int
    signature: 'int handle_mkdir (int argc, char *argv[], gboolean do_help) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_get_keys_as_ptr_array
      Src: /src/glib/gio/gdbusaddress.c:147,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusaddress.c:152,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:151,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gdbusaddress.c:150,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:153,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusaddress.c:154,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:155,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusaddress.c:156,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:157,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusaddress.c:158,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:159,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/gdbusaddress.c:194,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:186,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:177,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:164,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:161,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:183,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:174,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 55
    argCount: 3
    argNames:
    - address_entry
    - key_value_pairs
    - error
    argTypes:
    - gchar*
    - GHashTable*
    - GError**
    constantsTouched: []
    func_position:
      end: 197
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 197
    functionName: is_valid_unix
    functionSourceFile: /src/glib/gio/gdbusaddress.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_ptr_array_unref
    - g_hash_table_lookup
    - g_hash_table_get_keys_as_ptr_array
    - g_strcmp0
    - _
    - g_ptr_array_index
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_valid_unix (const gchar *address_entry, GHashTable
      *key_value_pairs, GError **error) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:586,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusaddress.c:579,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:636,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:664,1
    - Dst: get_session_address_dbus_launch
      Src: /src/glib/gio/gdbusaddress.c:667,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusaddress.c:671,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:684,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusaddress.c:707,1
    - Dst: fopen
      Src: /src/glib/gio/gdbusaddress.c:722,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:729,1
    - Dst: g_socket_client_connect
      Src: /src/glib/gio/gdbusaddress.c:703,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusaddress.c:761,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:754,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:583,1
    - Dst: g_unix_socket_address_new
      Src: /src/glib/gio/gdbusaddress.c:592,1
    - Dst: g_unix_socket_address_new_with_type
      Src: /src/glib/gio/gdbusaddress.c:596,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:624,1
    - Dst: strtol
      Src: /src/glib/gio/gdbusaddress.c:633,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:605,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusaddress.c:630,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusaddress.c:615,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:639,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:651,1
    - Dst: g_network_address_new
      Src: /src/glib/gio/gdbusaddress.c:662,1
    - Dst: g_strerror
      Src: /src/glib/gio/gdbusaddress.c:731,1
    - Dst: g_socket_client_new
      Src: /src/glib/gio/gdbusaddress.c:695,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusaddress.c:776,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:726,1
    - Dst: g_strerror
      Src: /src/glib/gio/gdbusaddress.c:750,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:575,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:605,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:654,1
    - Dst: g_dbus_address_try_connect_one
      Src: /src/glib/gio/gdbusaddress.c:670,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:676,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:681,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusaddress.c:694,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/gdbusaddress.c:712,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusaddress.c:732,1
    - Dst: fread
      Src: /src/glib/gio/gdbusaddress.c:736,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:757,1
    - Dst: fclose
      Src: /src/glib/gio/gdbusaddress.c:763,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:745,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:775,1
    - Dst: g_socket_client_set_enable_proxy
      Src: /src/glib/gio/gdbusaddress.c:701,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusaddress.c:580,1
    - Dst: G_SOCKET_CONNECTABLE
      Src: /src/glib/gio/gdbusaddress.c:592,1
    - Dst: G_SOCKET_CONNECTABLE
      Src: /src/glib/gio/gdbusaddress.c:596,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gdbusaddress.c:602,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:618,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:613,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusaddress.c:648,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusaddress.c:708,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/gdbusaddress.c:768,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/gdbusaddress.c:768,1
    - Dst: fclose
      Src: /src/glib/gio/gdbusaddress.c:766,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:748,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/gdbusaddress.c:775,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/gdbusaddress.c:676,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 142
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 786
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 786
    functionName: g_dbus_address_connect
    functionSourceFile: /src/glib/gio/gdbusaddress.c
    functionUses: []
    functionsReached:
    - G_IO_STREAM
    - g_prefix_error
    - get_session_address_dbus_launch
    - g_strerror
    - strtol
    - g_network_address_new
    - g_object_unref
    - g_hash_table_lookup
    - g_dbus_address_try_connect_one
    - G_SOCKET_CONNECTABLE
    - g_output_stream_write_all
    - g_socket_client_connect
    - fread
    - g_io_stream_get_output_stream
    - g_set_error
    - g_assert_not_reached
    - g_strcmp0
    - g_unix_socket_address_new
    - _
    - g_socket_client_new
    - fclose
    - g_assert
    - g_socket_client_set_enable_proxy
    - fopen
    - g_unix_socket_address_new_with_type
    - g_free
    linkageType: ''
    returnType: GIOStream*
    signature: 'static GIOStream *g_dbus_address_connect (const gchar *address_entry,
      const gchar *transport_name, GHashTable *key_value_pairs, GCancellable *cancellable,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusaddress.c:930,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gdbusaddress.c:934,1
    - Dst: G_TASK
      Src: /src/glib/gio/gdbusaddress.c:933,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusaddress.c:931,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gdbusaddress.c:930,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gdbusaddress.c:938,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 944
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 944
    functionName: g_dbus_address_get_stream_finish
    functionSourceFile: /src/glib/gio/gdbusaddress.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_task_is_valid
    - g_task_get_task_data
    - G_TASK
    - g_task_propagate_pointer
    linkageType: ''
    returnType: GIOStream*
    signature: 'GIOStream *g_dbus_address_get_stream_finish (GAsyncResult *res, gchar
      **out_guid, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusaddress.c:107,1
    - Dst: _g_dbus_address_parse_entry
      Src: /src/glib/gio/gdbusaddress.c:115,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdbusaddress.c:125,1
    - Dst: g_strsplit
      Src: /src/glib/gio/gdbusaddress.c:109,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 1
    argNames:
    - string
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 127
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 127
    functionName: g_dbus_is_address
    functionSourceFile: /src/glib/gio/gdbusaddress.c
    functionUses: []
    functionsReached:
    - g_strfreev
    - g_return_val_if_fail
    - g_strsplit
    - _g_dbus_address_parse_entry
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dbus_is_address (const gchar *string) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:223,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:225,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusaddress.c:224,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusaddress.c:226,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:229,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusaddress.c:230,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:257,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:236,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:262,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gdbusaddress.c:222,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:248,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:257,1
    - Dst: g_hash_table_get_keys_as_ptr_array
      Src: /src/glib/gio/gdbusaddress.c:219,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:227,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusaddress.c:228,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:231,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:251,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:233,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:274,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/gdbusaddress.c:285,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:259,1
    - Dst: strtol
      Src: /src/glib/gio/gdbusaddress.c:245,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:277,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 67
    argCount: 3
    argNames:
    - address_entry
    - key_value_pairs
    - error
    argTypes:
    - gchar*
    - GHashTable*
    - GError**
    constantsTouched: []
    func_position:
      end: 288
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 288
    functionName: is_valid_nonce_tcp
    functionSourceFile: /src/glib/gio/gdbusaddress.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_ptr_array_unref
    - g_hash_table_lookup
    - strtol
    - g_hash_table_get_keys_as_ptr_array
    - g_strcmp0
    - _
    - g_ptr_array_index
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_valid_nonce_tcp (const gchar *address_entry, GHashTable
      *key_value_pairs, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _g_dbus_address_parse_entry
      Src: /src/glib/gio/gdbusaddress.c:803,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusaddress.c:817,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusaddress.c:819,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusaddress.c:822,1
    - Dst: g_dbus_address_connect
      Src: /src/glib/gio/gdbusaddress.c:809,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusaddress.c:824,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 826
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 826
    functionName: g_dbus_address_try_connect_one
    functionSourceFile: /src/glib/gio/gdbusaddress.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_hash_table_unref
    - g_hash_table_lookup
    - g_free
    - g_dbus_address_connect
    - _g_dbus_address_parse_entry
    linkageType: ''
    returnType: GIOStream*
    signature: 'static GIOStream *g_dbus_address_try_connect_one (const gchar *address_entry,
      gchar **out_guid, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusaddress.c:1455,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusaddress.c:1467,1
    - Dst: g_string_sized_new
      Src: /src/glib/gio/gdbusaddress.c:1458,1
    - Dst: strlen
      Src: /src/glib/gio/gdbusaddress.c:1458,1
    - Dst: g_string_append_uri_escaped
      Src: /src/glib/gio/gdbusaddress.c:1461,1
    - Dst: g_string_insert
      Src: /src/glib/gio/gdbusaddress.c:1470,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbusaddress.c:1475,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1476
      start: 1449
    functionDepth: 0
    functionLinenumber: 1449
    functionLinenumberEnd: 1476
    functionName: g_dbus_address_escape_value
    functionSourceFile: /src/glib/gio/gdbusaddress.c
    functionUses: []
    functionsReached:
    - g_string_insert
    - g_return_val_if_fail
    - strlen
    - g_string_append_uri_escaped
    - g_string_free
    - G_UNLIKELY
    - g_string_sized_new
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_dbus_address_escape_value (const gchar *string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusaddress.c:894,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gdbusaddress.c:900,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusaddress.c:897,1
    - Dst: g_task_new
      Src: /src/glib/gio/gdbusaddress.c:899,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusaddress.c:896,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gdbusaddress.c:901,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gdbusaddress.c:902,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusaddress.c:903,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - address
    - cancellable
    - callback
    - user_data
    argTypes:
    - gchar*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 904
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 904
    functionName: g_dbus_address_get_stream
    functionSourceFile: /src/glib/gio/gdbusaddress.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_task_new
    - g_object_unref
    - g_task_run_in_thread
    - g_task_set_source_tag
    - g_return_if_fail
    - g_task_set_task_data
    - g_new0
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_address_get_stream (const gchar *address, GCancellable
      *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:1225,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:1228,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1222
    functionDepth: 0
    functionLinenumber: 1222
    functionLinenumberEnd: 1230
    functionName: get_session_address_dbus_launch
    functionSourceFile: /src/glib/gio/gdbusaddress.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *get_session_address_dbus_launch (GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_address_get_stream_sync
      Src: /src/glib/gio/gdbusaddress.c:854,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gdbusaddress.c:861,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gdbusaddress.c:859,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 4
    argNames:
    - task
    - source_object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 862
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 862
    functionName: get_stream_thread_func
    functionSourceFile: /src/glib/gio/gdbusaddress.c
    functionUses: []
    functionsReached:
    - g_dbus_address_get_stream_sync
    - g_task_return_error
    - g_task_return_pointer
    linkageType: ''
    returnType: void
    signature: 'static void get_stream_thread_func (GTask *task, gpointer source_object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:1102,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:1103,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/gdbusaddress.c:1110,1
    - Dst: g_getenv
      Src: /src/glib/gio/gdbusaddress.c:1114,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusaddress.c:1142,1
    - Dst: g_spawn_command_line_sync
      Src: /src/glib/gio/gdbusaddress.c:1148,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/gio/gdbusaddress.c:1157,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusaddress.c:1174,1
    - Dst: _g_dbus_hexdump
      Src: /src/glib/gio/gdbusaddress.c:1181,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gdbusaddress.c:1100,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusaddress.c:1141,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusaddress.c:1136,1
    - Dst: _g_dbus_debug_print_unlock
      Src: /src/glib/gio/gdbusaddress.c:1145,1
    - Dst: _g_dbus_debug_address
      Src: /src/glib/gio/gdbusaddress.c:1138,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusaddress.c:1183,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusaddress.c:1191,1
    - Dst: _g_dbus_debug_print_unlock
      Src: /src/glib/gio/gdbusaddress.c:1194,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusaddress.c:1199,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusaddress.c:1201,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusaddress.c:1208,1
    - Dst: g_unsetenv
      Src: /src/glib/gio/gdbusaddress.c:1206,1
    - Dst: _g_dbus_get_machine_id
      Src: /src/glib/gio/gdbusaddress.c:1107,1
    - Dst: g_setenv
      Src: /src/glib/gio/gdbusaddress.c:1144,1
    - Dst: g_getenv
      Src: /src/glib/gio/gdbusaddress.c:1142,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusaddress.c:1171,1
    - Dst: _g_dbus_debug_address
      Src: /src/glib/gio/gdbusaddress.c:1174,1
    - Dst: _g_dbus_debug_print_lock
      Src: /src/glib/gio/gdbusaddress.c:1177,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusaddress.c:1178,1
    - Dst: strlen
      Src: /src/glib/gio/gdbusaddress.c:1181,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusaddress.c:1198,1
    - Dst: g_setenv
      Src: /src/glib/gio/gdbusaddress.c:1204,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusaddress.c:1193,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusaddress.c:1200,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:1110,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:1116,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:1117,1
    - Dst: _g_dbus_debug_print_lock
      Src: /src/glib/gio/gdbusaddress.c:1140,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusaddress.c:1138,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/gdbusaddress.c:1159,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:1159,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusaddress.c:1182,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusaddress.c:1187,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusaddress.c:1189,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusaddress.c:1197,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 79
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1079
    functionDepth: 0
    functionLinenumber: 1079
    functionLinenumberEnd: 1210
    functionName: get_session_address_dbus_launch
    functionSourceFile: /src/glib/gio/gdbusaddress.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_prefix_error
    - _g_dbus_debug_print_lock
    - GLIB_PRIVATE_CALL
    - G_UNLIKELY
    - g_unsetenv
    - g_print
    - g_spawn_command_line_sync
    - _g_dbus_get_machine_id
    - g_set_error
    - g_strdup
    - strlen
    - _g_dbus_debug_print_unlock
    - g_getenv
    - g_setenv
    - _
    - g_spawn_check_wait_status
    - _g_dbus_hexdump
    - _g_dbus_debug_address
    - g_free
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *get_session_address_dbus_launch (GError **error) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: _g_dbus_debug_print_lock
      Src: /src/glib/gio/gdbusaddress.c:1304,1
    - Dst: g_getenv
      Src: /src/glib/gio/gdbusaddress.c:1338,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusaddress.c:1323,1
    - Dst: _g_dbus_debug_print_unlock
      Src: /src/glib/gio/gdbusaddress.c:1327,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusaddress.c:1325,1
    - Dst: g_getenv
      Src: /src/glib/gio/gdbusaddress.c:1364,1
    - Dst: g_dbus_address_get_for_bus_sync
      Src: /src/glib/gio/gdbusaddress.c:1372,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:1382,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusaddress.c:1388,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:1391,1
    - Dst: _g_dbus_debug_address
      Src: /src/glib/gio/gdbusaddress.c:1407,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusaddress.c:1301,1
    - Dst: _g_dbus_enum_to_string
      Src: /src/glib/gio/gdbusaddress.c:1305,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusaddress.c:1306,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusaddress.c:1308,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gdbusaddress.c:1318,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusaddress.c:1321,1
    - Dst: get_session_address_platform_specific
      Src: /src/glib/gio/gdbusaddress.c:1359,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:1365,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusaddress.c:1413,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gdbusaddress.c:1291,1
    - Dst: g_getenv
      Src: /src/glib/gio/gdbusaddress.c:1320,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusaddress.c:1347,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusaddress.c:1338,1
    - Dst: g_dbus_address_get_for_bus_sync
      Src: /src/glib/gio/gdbusaddress.c:1367,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusaddress.c:1407,1
    - Dst: _g_dbus_debug_print_lock
      Src: /src/glib/gio/gdbusaddress.c:1409,1
    - Dst: _g_dbus_enum_to_string
      Src: /src/glib/gio/gdbusaddress.c:1410,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusaddress.c:1421,1
    - Dst: _g_dbus_debug_print_unlock
      Src: /src/glib/gio/gdbusaddress.c:1422,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:1401,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusaddress.c:1418,1
    - Dst: _g_dbus_debug_address
      Src: /src/glib/gio/gdbusaddress.c:1301,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusaddress.c:1296,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusaddress.c:1355,1
    - Dst: g_getenv
      Src: /src/glib/gio/gdbusaddress.c:1355,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:1370,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:1379,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:1398,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gdbusaddress.c:1426,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 86
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1286
    functionDepth: 0
    functionLinenumber: 1286
    functionLinenumberEnd: 1429
    functionName: g_dbus_address_get_for_bus_sync
    functionSourceFile: /src/glib/gio/gdbusaddress.c
    functionUses: []
    functionsReached:
    - _g_dbus_debug_print_lock
    - GLIB_PRIVATE_CALL
    - g_set_error_literal
    - G_UNLIKELY
    - _g_dbus_enum_to_string
    - get_session_address_platform_specific
    - g_print
    - g_set_error
    - g_strdup
    - _g_dbus_debug_print_unlock
    - g_getenv
    - g_assert_not_reached
    - g_strcmp0
    - _
    - g_propagate_error
    - g_return_val_if_fail
    - g_dbus_address_get_for_bus_sync
    - _g_dbus_debug_address
    - g_free
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_dbus_address_get_for_bus_sync (GBusType bus_type, GCancellable
      *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_dbus_win32_get_session_address_dbus_launch
      Src: /src/glib/gio/gdbusaddress.c:1218,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1219
      start: 1215
    functionDepth: 0
    functionLinenumber: 1215
    functionLinenumberEnd: 1219
    functionName: get_session_address_dbus_launch
    functionSourceFile: /src/glib/gio/gdbusaddress.c
    functionUses: []
    functionsReached:
    - _g_dbus_win32_get_session_address_dbus_launch
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *get_session_address_dbus_launch (GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/glib/gio/gdbusaddress.c:1048,1
    - Dst: g_dbus_address_escape_value
      Src: /src/glib/gio/gdbusaddress.c:1064,1
    - Dst: g_get_user_runtime_dir
      Src: /src/glib/gio/gdbusaddress.c:1048,1
    - Dst: g_stat
      Src: /src/glib/gio/gdbusaddress.c:1051,1
    - Dst: geteuid
      Src: /src/glib/gio/gdbusaddress.c:1057,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gdbusaddress.c:1065,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusaddress.c:1066,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusaddress.c:1069,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1074
    functionName: get_session_address_xdg
    functionSourceFile: /src/glib/gio/gdbusaddress.c
    functionUses: []
    functionsReached:
    - g_strconcat
    - g_dbus_address_escape_value
    - g_build_filename
    - g_stat
    - g_free
    - g_get_user_runtime_dir
    - geteuid
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *get_session_address_xdg (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_session_address_xdg
      Src: /src/glib/gio/gdbusaddress.c:1249,1
    - Dst: get_session_address_dbus_launch
      Src: /src/glib/gio/gdbusaddress.c:1263,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1264
    functionName: get_session_address_platform_specific
    functionSourceFile: /src/glib/gio/gdbusaddress.c
    functionUses: []
    functionsReached:
    - get_session_address_dbus_launch
    - get_session_address_xdg
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *get_session_address_platform_specific (GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gdbusaddress.c:839,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusaddress.c:841,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusaddress.c:840,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - GetStreamData*
    constantsTouched: []
    func_position:
      end: 842
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 842
    functionName: get_stream_data_free
    functionSourceFile: /src/glib/gio/gdbusaddress.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void get_stream_data_free (GetStreamData *data) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusaddress.c:392,1
    - Dst: g_strsplit
      Src: /src/glib/gio/gdbusaddress.c:395,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:409,1
    - Dst: _g_dbus_address_parse_entry
      Src: /src/glib/gio/gdbusaddress.c:402,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusaddress.c:393,1
    - Dst: is_valid_unix
      Src: /src/glib/gio/gdbusaddress.c:410,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:411,1
    - Dst: is_valid_tcp
      Src: /src/glib/gio/gdbusaddress.c:412,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:413,1
    - Dst: is_valid_nonce_tcp
      Src: /src/glib/gio/gdbusaddress.c:414,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:415,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:418,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusaddress.c:422,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:419,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdbusaddress.c:432,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusaddress.c:423,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusaddress.c:434,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 45
    argCount: 2
    argNames:
    - string
    - error
    argTypes:
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 437
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 437
    functionName: g_dbus_is_supported_address
    functionSourceFile: /src/glib/gio/gdbusaddress.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_return_val_if_fail
    - is_valid_unix
    - g_hash_table_unref
    - g_assert
    - g_strfreev
    - is_valid_tcp
    - g_strcmp0
    - g_strsplit
    - _
    - is_valid_nonce_tcp
    - g_free
    - _g_dbus_address_parse_entry
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dbus_is_supported_address (const gchar *string, GError
      **error) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:472,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:460,1
    - Dst: g_strndup
      Src: /src/glib/gio/gdbusaddress.c:477,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdbusaddress.c:478,1
    - Dst: strchr
      Src: /src/glib/gio/gdbusaddress.c:487,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:493,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusaddress.c:526,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusaddress.c:535,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusaddress.c:537,1
    - Dst: strchr
      Src: /src/glib/gio/gdbusaddress.c:457,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:463,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:490,1
    - Dst: g_uri_unescape_segment
      Src: /src/glib/gio/gdbusaddress.c:511,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:518,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:504,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdbusaddress.c:540,1
    - Dst: g_strsplit
      Src: /src/glib/gio/gdbusaddress.c:480,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:515,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:501,1
    - Dst: strlen
      Src: /src/glib/gio/gdbusaddress.c:512,1
    - Dst: g_uri_unescape_segment
      Src: /src/glib/gio/gdbusaddress.c:512,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusaddress.c:523,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdbusaddress.c:542,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:469,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusaddress.c:522,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusaddress.c:541,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 63
    argCount: 4
    argNames:
    - address_entry
    - out_transport_name
    - out_key_value_pairs
    - error
    argTypes:
    - gchar*
    - gchar**
    - GHashTable**
    - GError**
    constantsTouched: []
    func_position:
      end: 545
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 545
    functionName: _g_dbus_address_parse_entry
    functionSourceFile: /src/glib/gio/gdbusaddress.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_steal_pointer
    - strlen
    - g_strndup
    - g_uri_unescape_segment
    - g_hash_table_insert
    - strchr
    - g_clear_pointer
    - g_hash_table_new_full
    - g_strfreev
    - g_strsplit
    - _
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _g_dbus_address_parse_entry (const gchar *address_entry,
      gchar **out_transport_name, GHashTable **out_key_value_pairs, GError **error) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gdbusaddress.c:311,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:335,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:346,1
    - Dst: g_hash_table_get_keys_as_ptr_array
      Src: /src/glib/gio/gdbusaddress.c:308,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:314,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusaddress.c:315,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:318,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusaddress.c:320,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:338,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:344,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:349,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:344,1
    - Dst: strtol
      Src: /src/glib/gio/gdbusaddress.c:332,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:312,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusaddress.c:313,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusaddress.c:316,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusaddress.c:317,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:323,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/gdbusaddress.c:362,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 56
    argCount: 3
    argNames:
    - address_entry
    - key_value_pairs
    - error
    argTypes:
    - gchar*
    - GHashTable*
    - GError**
    constantsTouched: []
    func_position:
      end: 365
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 365
    functionName: is_valid_tcp
    functionSourceFile: /src/glib/gio/gdbusaddress.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_ptr_array_unref
    - g_hash_table_lookup
    - strtol
    - g_hash_table_get_keys_as_ptr_array
    - g_strcmp0
    - _
    - g_ptr_array_index
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_valid_tcp (const gchar *address_entry, GHashTable
      *key_value_pairs, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusaddress.c:979,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusaddress.c:980,1
    - Dst: g_strsplit
      Src: /src/glib/gio/gdbusaddress.c:985,1
    - Dst: g_error_new_literal
      Src: /src/glib/gio/gdbusaddress.c:988,1
    - Dst: _
      Src: /src/glib/gio/gdbusaddress.c:990,1
    - Dst: g_dbus_address_try_connect_one
      Src: /src/glib/gio/gdbusaddress.c:1000,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusaddress.c:1010,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusaddress.c:1012,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusaddress.c:1021,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusaddress.c:1025,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdbusaddress.c:1029,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gdbusaddress.c:1026,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 1031
    functionName: g_dbus_address_get_stream_sync
    functionSourceFile: /src/glib/gio/gdbusaddress.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_return_val_if_fail
    - g_error_new_literal
    - g_assert
    - g_dbus_address_try_connect_one
    - g_strfreev
    - g_error_free
    - g_strsplit
    - _
    linkageType: ''
    returnType: GIOStream*
    signature: 'GIOStream *g_dbus_address_get_stream_sync (const gchar *address, gchar
      **out_guid, GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: do_lookup
      Src: /src/glib/gio/gresource.c:788,1
    - Dst: g_memory_input_stream_new_from_data
      Src: /src/glib/gio/gresource.c:791,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gresource.c:792,1
    - Dst: g_resource_ref
      Src: /src/glib/gio/gresource.c:793,1
    - Dst: g_object_set_data_full
      Src: /src/glib/gio/gresource.c:792,1
    - Dst: g_zlib_decompressor_new
      Src: /src/glib/gio/gresource.c:799,1
    - Dst: g_converter_input_stream_new
      Src: /src/glib/gio/gresource.c:801,1
    - Dst: G_CONVERTER
      Src: /src/glib/gio/gresource.c:801,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gresource.c:802,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gresource.c:803,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 808
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 808
    functionName: g_resource_open_stream
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - g_resource_ref
    - g_object_unref
    - g_memory_input_stream_new_from_data
    - G_OBJECT
    - g_converter_input_stream_new
    - G_CONVERTER
    - do_lookup
    - g_zlib_decompressor_new
    - g_object_set_data_full
    linkageType: ''
    returnType: GInputStream*
    signature: 'GInputStream *g_resource_open_stream (GResource *resource, const gchar
      *path, GResourceLookupFlags lookup_flags, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_lookup
      Src: /src/glib/gio/gresource.c:963,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 6
    argNames:
    - resource
    - path
    - lookup_flags
    - size
    - flags
    - error
    argTypes:
    - GResource*
    - gchar*
    - GResourceLookupFlags
    - gsize*
    - guint32*
    - GError**
    constantsTouched: []
    func_position:
      end: 964
      start: 955
    functionDepth: 0
    functionLinenumber: 955
    functionLinenumberEnd: 964
    functionName: g_resource_get_info
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - do_lookup
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_resource_get_info (GResource *resource, const gchar *path,
      GResourceLookupFlags lookup_flags, gsize *size, guint32 *flags, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rw_lock_writer_lock
      Src: /src/glib/gio/gresource.c:1142,1
    - Dst: g_rw_lock_writer_unlock
      Src: /src/glib/gio/gresource.c:1144,1
    - Dst: g_resources_register_unlocked
      Src: /src/glib/gio/gresource.c:1143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - resource
    argTypes:
    - GResource*
    constantsTouched: []
    func_position:
      end: 1145
      start: 1139
    functionDepth: 0
    functionLinenumber: 1139
    functionLinenumberEnd: 1145
    functionName: g_resources_register
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - g_rw_lock_writer_lock
    - g_resources_register_unlocked
    - g_rw_lock_writer_unlock
    linkageType: ''
    returnType: void
    signature: 'void g_resources_register (GResource *resource) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_resource_find_overlay
      Src: /src/glib/gio/gresource.c:1426,1
    - Dst: set_error_not_found
      Src: /src/glib/gio/gresource.c:1452,1
    - Dst: g_resource_get_info
      Src: /src/glib/gio/gresource.c:1444,1
    - Dst: g_rw_lock_reader_lock
      Src: /src/glib/gio/gresource.c:1438,1
    - Dst: register_lazy_static_resources
      Src: /src/glib/gio/gresource.c:1436,1
    - Dst: g_rw_lock_reader_unlock
      Src: /src/glib/gio/gresource.c:1454,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 17
    argCount: 5
    argNames:
    - path
    - lookup_flags
    - size
    - flags
    - error
    argTypes:
    - gchar*
    - GResourceLookupFlags
    - gsize*
    - guint32*
    - GError**
    constantsTouched: []
    func_position:
      end: 1457
      start: 1415
    functionDepth: 0
    functionLinenumber: 1415
    functionLinenumberEnd: 1457
    functionName: g_resources_get_info
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - g_resource_get_info
    - g_resource_find_overlay
    - g_rw_lock_reader_lock
    - set_error_not_found
    - g_rw_lock_reader_unlock
    - register_lazy_static_resources
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_resources_get_info (const gchar *path, GResourceLookupFlags
      lookup_flags, gsize *size, guint32 *flags, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/gresource.c:233,1
    - Dst: g_warning
      Src: /src/glib/gio/gresource.c:243,1
    - Dst: g_file_read
      Src: /src/glib/gio/gresource.c:234,1
    - Dst: g_message
      Src: /src/glib/gio/gresource.c:238,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gresource.c:242,1
    - Dst: g_error_free
      Src: /src/glib/gio/gresource.c:244,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gresource.c:247,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - candidate
    - user_data
    argTypes:
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 250
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 250
    functionName: open_overlay_stream
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - g_file_new_for_path
    - g_message
    - g_warning
    - g_object_unref
    - g_file_read
    - g_error_matches
    - g_error_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean open_overlay_stream (const gchar *candidate, gpointer
      user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/gio/gresource.c:974,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gresource.c:994,1
    - Dst: memcpy
      Src: /src/glib/gio/gresource.c:987,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 966
    functionDepth: 0
    functionLinenumber: 966
    functionLinenumberEnd: 1002
    functionName: ensure_slash_suffix
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_strconcat
    - strlen
    linkageType: ''
    returnType: char*
    signature: 'static inline const char *ensure_slash_suffix (const char *path, char
      *local_str, gsize len, char **free_path) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gvdb_table_new
      Src: /src/glib/gio/gresource.c:670,1
    - Dst: g_resource_error_from_gvdb_table_error
      Src: /src/glib/gio/gresource.c:673,1
    - Dst: g_resource_new_from_table
      Src: /src/glib/gio/gresource.c:677,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gresource.c:673,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 678
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 678
    functionName: g_resource_load
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_resource_new_from_table
    - gvdb_table_new
    - g_resource_error_from_gvdb_table_error
    linkageType: ''
    returnType: GResource*
    signature: 'GResource *g_resource_load (const gchar *filename, GError **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/gio/gresource.c:708,1
    - Dst: gvdb_table_get_raw_value
      Src: /src/glib/gio/gresource.c:715,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gresource.c:726,1
    - Dst: g_strdup
      Src: /src/glib/gio/gresource.c:711,1
    - Dst: set_error_not_found
      Src: /src/glib/gio/gresource.c:719,1
    - Dst: GUINT32_FROM_LE
      Src: /src/glib/gio/gresource.c:731,1
    - Dst: GUINT32_FROM_LE
      Src: /src/glib/gio/gresource.c:732,1
    - Dst: g_variant_get_data
      Src: /src/glib/gio/gresource.c:739,1
    - Dst: g_variant_get_size
      Src: /src/glib/gio/gresource.c:744,1
    - Dst: g_variant_get_size
      Src: /src/glib/gio/gresource.c:746,1
    - Dst: g_free
      Src: /src/glib/gio/gresource.c:754,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gresource.c:749,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gresource.c:748,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 39
    argCount: 8
    argNames:
    - resource
    - path
    - lookup_flags
    - size
    - flags
    - data
    - data_size
    - error
    argTypes:
    - GResource*
    - gchar*
    - GResourceLookupFlags
    - gsize*
    - guint32*
    - void**
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 756
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 756
    functionName: do_lookup
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - g_strdup
    - strlen
    - set_error_not_found
    - g_variant_get_size
    - g_variant_unref
    - g_variant_get
    - g_variant_get_data
    - GUINT32_FROM_LE
    - gvdb_table_get_raw_value
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean do_lookup (GResource *resource, const gchar *path,
      GResourceLookupFlags lookup_flags, gsize *size, guint32 *flags, const void **data,
      gsize *data_size, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_list_find
      Src: /src/glib/gio/gresource.c:1114,1
    - Dst: g_resource_unref
      Src: /src/glib/gio/gresource.c:1122,1
    - Dst: g_list_delete_link
      Src: /src/glib/gio/gresource.c:1123,1
    - Dst: g_warning
      Src: /src/glib/gio/gresource.c:1118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - resource
    argTypes:
    - GResource*
    constantsTouched: []
    func_position:
      end: 1125
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1125
    functionName: g_resources_unregister_unlocked
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - g_list_delete_link
    - g_resource_unref
    - g_warning
    - g_list_find
    linkageType: ''
    returnType: void
    signature: 'static void g_resources_unregister_unlocked (GResource *resource) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_resource_find_overlay
      Src: /src/glib/gio/gresource.c:1322,1
    - Dst: g_resource_enumerate_children
      Src: /src/glib/gio/gresource.c:1332,1
    - Dst: register_lazy_static_resources
      Src: /src/glib/gio/gresource.c:1324,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gresource.c:1338,1
    - Dst: g_rw_lock_reader_lock
      Src: /src/glib/gio/gresource.c:1326,1
    - Dst: g_hash_table_add
      Src: /src/glib/gio/gresource.c:1341,1
    - Dst: g_free
      Src: /src/glib/gio/gresource.c:1342,1
    - Dst: g_rw_lock_reader_unlock
      Src: /src/glib/gio/gresource.c:1346,1
    - Dst: set_error_not_found
      Src: /src/glib/gio/gresource.c:1350,1
    - Dst: g_hash_table_get_keys_as_array
      Src: /src/glib/gio/gresource.c:1355,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/gio/gresource.c:1357,1
    - Dst: g_hash_table_steal_all
      Src: /src/glib/gio/gresource.c:1356,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 1303
    functionDepth: 0
    functionLinenumber: 1303
    functionLinenumberEnd: 1361
    functionName: g_resources_enumerate_children
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - g_resource_find_overlay
    - g_rw_lock_reader_lock
    - set_error_not_found
    - g_hash_table_steal_all
    - g_free
    - g_resource_enumerate_children
    - g_hash_table_get_keys_as_array
    - g_hash_table_destroy
    - g_hash_table_new_full
    - g_rw_lock_reader_unlock
    - register_lazy_static_resources
    - g_hash_table_add
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **g_resources_enumerate_children (const gchar *path, GResourceLookupFlags
      lookup_flags, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: register_lazy_static_resources
      Src: /src/glib/gio/gresource.c:1377,1
    - Dst: g_rw_lock_reader_unlock
      Src: /src/glib/gio/gresource.c:1392,1
    - Dst: g_rw_lock_reader_lock
      Src: /src/glib/gio/gresource.c:1379,1
    - Dst: g_rw_lock_reader_unlock
      Src: /src/glib/gio/gresource.c:1387,1
    - Dst: g_resource_has_children
      Src: /src/glib/gio/gresource.c:1385,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1394
      start: 1374
    functionDepth: 0
    functionLinenumber: 1374
    functionLinenumberEnd: 1394
    functionName: g_resources_has_children
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - g_rw_lock_reader_unlock
    - g_resource_has_children
    - register_lazy_static_resources
    - g_rw_lock_reader_lock
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_resources_has_children (const char *path) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_mapped_file_new
      Src: /src/glib/gio/gresource.c:260,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gresource.c:270,1
    - Dst: g_mapped_file_get_bytes
      Src: /src/glib/gio/gresource.c:265,1
    - Dst: g_message
      Src: /src/glib/gio/gresource.c:264,1
    - Dst: g_mapped_file_unref
      Src: /src/glib/gio/gresource.c:266,1
    - Dst: g_warning
      Src: /src/glib/gio/gresource.c:271,1
    - Dst: g_error_free
      Src: /src/glib/gio/gresource.c:272,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - candidate
    - user_data
    argTypes:
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 276
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 276
    functionName: get_overlay_bytes
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - g_message
    - g_warning
    - g_error_matches
    - g_mapped_file_new
    - g_error_free
    - g_mapped_file_get_bytes
    - g_mapped_file_unref
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean get_overlay_bytes (const gchar *candidate, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/gresource.c:534,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 536
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 536
    functionName: g_resource_ref
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - g_atomic_int_inc
    linkageType: ''
    returnType: GResource*
    signature: 'GResource *g_resource_ref (GResource *resource) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/gio/gresource.c:571,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 576
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 576
    functionName: g_resource_new_from_table
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - g_new
    linkageType: ''
    returnType: GResource*
    signature: 'static GResource *g_resource_new_from_table (GvdbTable *table) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ensure_slash_suffix
      Src: /src/glib/gio/gresource.c:1089,1
    - Dst: g_free
      Src: /src/glib/gio/gresource.c:1093,1
    - Dst: gvdb_table_n_children
      Src: /src/glib/gio/gresource.c:1091,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - resource
    - path
    argTypes:
    - GResource*
    - char*
    constantsTouched: []
    func_position:
      end: 1096
      start: 1073
    functionDepth: 0
    functionLinenumber: 1073
    functionLinenumberEnd: 1096
    functionName: g_resource_has_children
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - ensure_slash_suffix
    - gvdb_table_n_children
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_resource_has_children (GResource *resource, const char
      *path) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_rw_lock_writer_lock
      Src: /src/glib/gio/gresource.c:1561,1
    - Dst: g_assert
      Src: /src/glib/gio/gresource.c:1570,1
    - Dst: g_atomic_pointer_exchange
      Src: /src/glib/gio/gresource.c:1565,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gresource.c:1570,1
    - Dst: register_lazy_static_resources_unlocked
      Src: /src/glib/gio/gresource.c:1563,1
    - Dst: g_resources_unregister_unlocked
      Src: /src/glib/gio/gresource.c:1572,1
    - Dst: g_resource_unref
      Src: /src/glib/gio/gresource.c:1573,1
    - Dst: g_rw_lock_writer_unlock
      Src: /src/glib/gio/gresource.c:1576,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - static_resource
    argTypes:
    - GStaticResource*
    constantsTouched: []
    func_position:
      end: 1577
      start: 1556
    functionDepth: 0
    functionLinenumber: 1556
    functionLinenumberEnd: 1577
    functionName: g_static_resource_fini
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - g_resources_unregister_unlocked
    - g_atomic_int_get
    - g_assert
    - g_rw_lock_writer_unlock
    - g_rw_lock_writer_lock
    - g_resource_unref
    - g_atomic_pointer_exchange
    - register_lazy_static_resources_unlocked
    linkageType: ''
    returnType: void
    signature: 'void g_static_resource_fini (GStaticResource *static_resource) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_dir_open
      Src: /src/glib/gio/gresource.c:287,1
    - Dst: g_build_filename
      Src: /src/glib/gio/gresource.c:298,1
    - Dst: g_message
      Src: /src/glib/gio/gresource.c:294,1
    - Dst: g_dir_read_name
      Src: /src/glib/gio/gresource.c:296,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gresource.c:292,1
    - Dst: g_file_test
      Src: /src/glib/gio/gresource.c:301,1
    - Dst: g_hash_table_add
      Src: /src/glib/gio/gresource.c:302,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gresource.c:302,1
    - Dst: g_hash_table_add
      Src: /src/glib/gio/gresource.c:304,1
    - Dst: g_strdup
      Src: /src/glib/gio/gresource.c:304,1
    - Dst: g_free
      Src: /src/glib/gio/gresource.c:306,1
    - Dst: g_dir_close
      Src: /src/glib/gio/gresource.c:309,1
    - Dst: g_error_free
      Src: /src/glib/gio/gresource.c:315,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gresource.c:313,1
    - Dst: g_warning
      Src: /src/glib/gio/gresource.c:314,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 2
    argNames:
    - candidate
    - user_data
    argTypes:
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 323
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 323
    functionName: enumerate_overlay_dir
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - g_dir_open
    - g_strdup
    - g_message
    - g_strconcat
    - g_warning
    - g_error_matches
    - g_dir_read_name
    - g_hash_table_new_full
    - g_build_filename
    - g_error_free
    - g_file_test
    - g_free
    - g_dir_close
    - g_hash_table_add
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean enumerate_overlay_dir (const gchar *candidate, gpointer
      user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_error_matches
      Src: /src/glib/gio/gresource.c:582,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gresource.c:588,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gresource.c:587,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gresource.c:583,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gresource.c:587,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - g_resource_error
    - gvdb_table_error
    - /* (transfer full) */
    argTypes:
    - GError**
    - GError*
    constantsTouched: []
    func_position:
      end: 589
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 589
    functionName: g_resource_error_from_gvdb_table_error
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_clear_error
    - g_steal_pointer
    - g_error_matches
    - g_set_error_literal
    linkageType: ''
    returnType: void
    signature: 'static void g_resource_error_from_gvdb_table_error (GError **g_resource_error,
      GError *gvdb_table_error /* (transfer full) */) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_prepend
      Src: /src/glib/gio/gresource.c:1108,1
    - Dst: g_resource_ref
      Src: /src/glib/gio/gresource.c:1108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - resource
    argTypes:
    - GResource*
    constantsTouched: []
    func_position:
      end: 1109
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1109
    functionName: g_resources_register_unlocked
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - g_resource_ref
    - g_list_prepend
    linkageType: ''
    returnType: void
    signature: 'static void g_resources_register_unlocked (GResource *resource) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: set_error_not_found
      Src: /src/glib/gio/gresource.c:1042,1
    - Dst: set_error_not_found
      Src: /src/glib/gio/gresource.c:1054,1
    - Dst: ensure_slash_suffix
      Src: /src/glib/gio/gresource.c:1046,1
    - Dst: gvdb_table_list
      Src: /src/glib/gio/gresource.c:1048,1
    - Dst: g_free
      Src: /src/glib/gio/gresource.c:1050,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1025
    functionDepth: 0
    functionLinenumber: 1025
    functionLinenumberEnd: 1059
    functionName: g_resource_enumerate_children
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - ensure_slash_suffix
    - set_error_not_found
    - g_free
    - gvdb_table_list
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **g_resource_enumerate_children (GResource *resource, const
      gchar *path, GResourceLookupFlags lookup_flags, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gresource.c:1531,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gresource.c:1532,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/gio/gresource.c:1533,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/gio/gresource.c:1537,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gresource.c:1533,1
    - Dst: g_atomic_pointer_compare_and_exchange
      Src: /src/glib/gio/gresource.c:1540,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - static_resource
    argTypes:
    - GStaticResource*
    constantsTouched: []
    func_position:
      end: 1541
      start: 1526
    functionDepth: 0
    functionLinenumber: 1526
    functionLinenumberEnd: 1541
    functionName: g_static_resource_init
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - g_atomic_pointer_compare_and_exchange
    - g_atomic_pointer_get
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_static_resource_init (GStaticResource *static_resource) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter_pointer
      Src: /src/glib/gio/gresource.c:361,1
    - Dst: g_getenv
      Src: /src/glib/gio/gresource.c:369,1
    - Dst: g_free
      Src: /src/glib/gio/gresource.c:396,1
    - Dst: g_free
      Src: /src/glib/gio/gresource.c:410,1
    - Dst: g_critical
      Src: /src/glib/gio/gresource.c:423,1
    - Dst: strlen
      Src: /src/glib/gio/gresource.c:484,1
    - Dst: memcpy
      Src: /src/glib/gio/gresource.c:492,1
    - Dst: g_free
      Src: /src/glib/gio/gresource.c:499,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gresource.c:363,1
    - Dst: g_free
      Src: /src/glib/gio/gresource.c:389,1
    - Dst: g_critical
      Src: /src/glib/gio/gresource.c:395,1
    - Dst: g_free
      Src: /src/glib/gio/gresource.c:403,1
    - Dst: g_path_is_absolute
      Src: /src/glib/gio/gresource.c:421,1
    - Dst: g_free
      Src: /src/glib/gio/gresource.c:417,1
    - Dst: g_once_init_leave_pointer
      Src: /src/glib/gio/gresource.c:445,1
    - Dst: strchr
      Src: /src/glib/gio/gresource.c:461,1
    - Dst: strlen
      Src: /src/glib/gio/gresource.c:469,1
    - Dst: memcmp
      Src: /src/glib/gio/gresource.c:476,1
    - Dst: g_strsplit
      Src: /src/glib/gio/gresource.c:375,1
    - Dst: strchr
      Src: /src/glib/gio/gresource.c:385,1
    - Dst: g_critical
      Src: /src/glib/gio/gresource.c:388,1
    - Dst: g_critical
      Src: /src/glib/gio/gresource.c:416,1
    - Dst: g_critical
      Src: /src/glib/gio/gresource.c:402,1
    - Dst: g_message
      Src: /src/glib/gio/gresource.c:428,1
    - Dst: g_malloc
      Src: /src/glib/gio/gresource.c:490,1
    - Dst: memcpy
      Src: /src/glib/gio/gresource.c:491,1
    - Dst: g_free
      Src: /src/glib/gio/gresource.c:424,1
    - Dst: g_critical
      Src: /src/glib/gio/gresource.c:409,1
    - Dst: g_assert
      Src: /src/glib/gio/gresource.c:462,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 88
    argCount: 3
    argNames:
    - path
    - check
    - user_data
    argTypes:
    - gchar*
    - CheckCandidate
    - gpointer
    constantsTouched: []
    func_position:
      end: 506
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 506
    functionName: g_resource_find_overlay
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_once_init_leave_pointer
    - g_message
    - strlen
    - g_getenv
    - g_assert
    - g_malloc
    - GLIB_PRIVATE_CALL
    - strchr
    - g_once_init_enter_pointer
    - g_strsplit
    - g_critical
    - g_free
    - g_path_is_absolute
    - memcmp
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_resource_find_overlay (const gchar *path, CheckCandidate
      check, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: do_lookup
      Src: /src/glib/gio/gresource.c:859,1
    - Dst: resource_to_bytes
      Src: /src/glib/gio/gresource.c:862,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 863
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 863
    functionName: g_resource_lookup_data
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - resource_to_bytes
    - do_lookup
    linkageType: ''
    returnType: GBytes*
    signature: 'GBytes *g_resource_lookup_data (GResource *resource, const gchar *path,
      GResourceLookupFlags lookup_flags, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_pointer_get
      Src: /src/glib/gio/gresource.c:1482,1
    - Dst: g_resources_register_unlocked
      Src: /src/glib/gio/gresource.c:1493,1
    - Dst: g_resource_new_from_data
      Src: /src/glib/gio/gresource.c:1490,1
    - Dst: g_bytes_new_static
      Src: /src/glib/gio/gresource.c:1489,1
    - Dst: g_atomic_pointer_compare_and_exchange_full
      Src: /src/glib/gio/gresource.c:1484,1
    - Dst: g_atomic_pointer_set
      Src: /src/glib/gio/gresource.c:1494,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/gresource.c:1496,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1500
      start: 1479
    functionDepth: 0
    functionLinenumber: 1479
    functionLinenumberEnd: 1500
    functionName: register_lazy_static_resources_unlocked
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - g_resources_register_unlocked
    - g_atomic_pointer_compare_and_exchange_full
    - g_bytes_new_static
    - g_atomic_pointer_set
    - g_atomic_pointer_get
    - g_bytes_unref
    - g_resource_new_from_data
    linkageType: ''
    returnType: void
    signature: 'static void register_lazy_static_resources_unlocked (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_stat
      Src: /src/glib/gio/gresource.c:337,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - candidate
    - user_data
    argTypes:
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 344
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 344
    functionName: get_overlay_info
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - g_stat
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean get_overlay_info (const gchar *candidate, gpointer
      user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_new_with_free_func
      Src: /src/glib/gio/gresource.c:875,1
    - Dst: g_converter_convert
      Src: /src/glib/gio/gresource.c:897,1
    - Dst: g_resource_ref
      Src: /src/glib/gio/gresource.c:875,1
    - Dst: g_malloc
      Src: /src/glib/gio/gresource.c:888,1
    - Dst: g_zlib_decompressor_new
      Src: /src/glib/gio/gresource.c:886,1
    - Dst: G_CONVERTER
      Src: /src/glib/gio/gresource.c:897,1
    - Dst: g_free
      Src: /src/glib/gio/gresource.c:906,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gresource.c:907,1
    - Dst: g_set_error
      Src: /src/glib/gio/gresource.c:909,1
    - Dst: _
      Src: /src/glib/gio/gresource.c:910,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gresource.c:924,1
    - Dst: g_bytes_new_with_free_func
      Src: /src/glib/gio/gresource.c:929,1
    - Dst: g_bytes_new_take
      Src: /src/glib/gio/gresource.c:926,1
    - Dst: g_resource_ref
      Src: /src/glib/gio/gresource.c:929,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 930
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 930
    functionName: resource_to_bytes
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_resource_ref
    - g_object_unref
    - g_free
    - g_malloc
    - g_bytes_new_take
    - G_CONVERTER
    - _
    - g_zlib_decompressor_new
    - g_converter_convert
    - g_bytes_new_with_free_func
    linkageType: ''
    returnType: GBytes*
    signature: 'static GBytes *resource_to_bytes (GResource *resource, const char
      *path, size_t size, const void *data, size_t data_size, guint32 flags, GError
      **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_pointer_get
      Src: /src/glib/gio/gresource.c:1505,1
    - Dst: g_rw_lock_writer_unlock
      Src: /src/glib/gio/gresource.c:1510,1
    - Dst: g_rw_lock_writer_lock
      Src: /src/glib/gio/gresource.c:1508,1
    - Dst: register_lazy_static_resources_unlocked
      Src: /src/glib/gio/gresource.c:1509,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1511
      start: 1502
    functionDepth: 0
    functionLinenumber: 1502
    functionLinenumberEnd: 1511
    functionName: register_lazy_static_resources
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - g_rw_lock_writer_lock
    - g_rw_lock_writer_unlock
    - g_atomic_pointer_get
    - register_lazy_static_resources_unlocked
    linkageType: ''
    returnType: void
    signature: 'static void register_lazy_static_resources (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/gio/gresource.c:553,1
    - Dst: g_free
      Src: /src/glib/gio/gresource.c:556,1
    - Dst: gvdb_table_free
      Src: /src/glib/gio/gresource.c:555,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - resource
    argTypes:
    - GResource*
    constantsTouched: []
    func_position:
      end: 558
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 558
    functionName: g_resource_unref
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - gvdb_table_free
    - g_free
    - g_atomic_int_dec_and_test
    linkageType: ''
    returnType: void
    signature: 'void g_resource_unref (GResource *resource) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_lazy_static_resources
      Src: /src/glib/gio/gresource.c:1597,1
    - Dst: g_atomic_pointer_get
      Src: /src/glib/gio/gresource.c:1599,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1600
      start: 1594
    functionDepth: 0
    functionLinenumber: 1594
    functionLinenumberEnd: 1600
    functionName: g_static_resource_get_resource
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - register_lazy_static_resources
    - g_atomic_pointer_get
    linkageType: ''
    returnType: GResource*
    signature: 'GResource *g_static_resource_get_resource (GStaticResource *static_resource) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_get_data
      Src: /src/glib/gio/gresource.c:622,1
    - Dst: g_bytes_new
      Src: /src/glib/gio/gresource.c:624,1
    - Dst: g_bytes_get_data
      Src: /src/glib/gio/gresource.c:624,1
    - Dst: gvdb_table_new_from_bytes
      Src: /src/glib/gio/gresource.c:629,1
    - Dst: g_bytes_get_size
      Src: /src/glib/gio/gresource.c:625,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/gresource.c:632,1
    - Dst: g_resource_error_from_gvdb_table_error
      Src: /src/glib/gio/gresource.c:636,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gresource.c:636,1
    - Dst: g_resource_new_from_table
      Src: /src/glib/gio/gresource.c:640,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 641
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 641
    functionName: g_resource_new_from_data
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_bytes_new
    - g_bytes_unref
    - g_resource_error_from_gvdb_table_error
    - g_bytes_get_size
    - g_resource_new_from_table
    - gvdb_table_new_from_bytes
    - g_bytes_get_data
    linkageType: ''
    returnType: GResource*
    signature: 'GResource *g_resource_new_from_data (GBytes *data, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/gio/gresource.c:686,1
    - Dst: _
      Src: /src/glib/gio/gresource.c:687,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - error
    - path
    argTypes:
    - GError**
    - char*
    constantsTouched: []
    func_position:
      end: 689
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 689
    functionName: set_error_not_found
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _
    linkageType: ''
    returnType: void
    signature: 'static void set_error_not_found (GError **error, const char *path) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_resource_find_overlay
      Src: /src/glib/gio/gresource.c:1188,1
    - Dst: g_rw_lock_reader_lock
      Src: /src/glib/gio/gresource.c:1193,1
    - Dst: g_resource_open_stream
      Src: /src/glib/gio/gresource.c:1199,1
    - Dst: set_error_not_found
      Src: /src/glib/gio/gresource.c:1213,1
    - Dst: register_lazy_static_resources
      Src: /src/glib/gio/gresource.c:1191,1
    - Dst: g_rw_lock_reader_unlock
      Src: /src/glib/gio/gresource.c:1215,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1218
    functionName: g_resources_open_stream
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - g_resource_find_overlay
    - g_rw_lock_reader_lock
    - set_error_not_found
    - g_resource_open_stream
    - g_rw_lock_reader_unlock
    - register_lazy_static_resources
    linkageType: ''
    returnType: GInputStream*
    signature: 'GInputStream *g_resources_open_stream (const gchar *path, GResourceLookupFlags
      lookup_flags, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_resource_find_overlay
      Src: /src/glib/gio/gresource.c:1253,1
    - Dst: do_lookup
      Src: /src/glib/gio/gresource.c:1270,1
    - Dst: g_rw_lock_reader_lock
      Src: /src/glib/gio/gresource.c:1258,1
    - Dst: register_lazy_static_resources
      Src: /src/glib/gio/gresource.c:1256,1
    - Dst: resource_to_bytes
      Src: /src/glib/gio/gresource.c:1272,1
    - Dst: set_error_not_found
      Src: /src/glib/gio/gresource.c:1278,1
    - Dst: g_rw_lock_reader_unlock
      Src: /src/glib/gio/gresource.c:1280,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1245
    functionDepth: 0
    functionLinenumber: 1245
    functionLinenumberEnd: 1283
    functionName: g_resources_lookup_data
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - g_resource_find_overlay
    - resource_to_bytes
    - g_rw_lock_reader_lock
    - set_error_not_found
    - g_rw_lock_reader_unlock
    - do_lookup
    - register_lazy_static_resources
    linkageType: ''
    returnType: GBytes*
    signature: 'GBytes *g_resources_lookup_data (const gchar *path, GResourceLookupFlags
      lookup_flags, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_rw_lock_writer_lock
      Src: /src/glib/gio/gresource.c:1158,1
    - Dst: g_rw_lock_writer_unlock
      Src: /src/glib/gio/gresource.c:1160,1
    - Dst: g_resources_unregister_unlocked
      Src: /src/glib/gio/gresource.c:1159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - resource
    argTypes:
    - GResource*
    constantsTouched: []
    func_position:
      end: 1161
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1161
    functionName: g_resources_unregister
    functionSourceFile: /src/glib/gio/gresource.c
    functionUses: []
    functionsReached:
    - g_rw_lock_writer_lock
    - g_rw_lock_writer_unlock
    - g_resources_unregister_unlocked
    linkageType: ''
    returnType: void
    signature: 'void g_resources_unregister (GResource *resource) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - GHttpProxy*
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: g_http_proxy_init
    functionSourceFile: /src/glib/gio/ghttpproxy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_http_proxy_init (GHttpProxy *proxy) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_tls_connection_handshake
      Src: /src/glib/gio/ghttpproxy.c:216,1
    - Dst: create_request
      Src: /src/glib/gio/ghttpproxy.c:225,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/ghttpproxy.c:228,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/ghttpproxy.c:276,1
    - Dst: g_free
      Src: /src/glib/gio/ghttpproxy.c:232,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/ghttpproxy.c:247,1
    - Dst: g_free
      Src: /src/glib/gio/ghttpproxy.c:291,1
    - Dst: g_clear_object
      Src: /src/glib/gio/ghttpproxy.c:294,1
    - Dst: g_free
      Src: /src/glib/gio/ghttpproxy.c:300,1
    - Dst: g_tls_client_connection_new
      Src: /src/glib/gio/ghttpproxy.c:200,1
    - Dst: g_object_ref
      Src: /src/glib/gio/ghttpproxy.c:293,1
    - Dst: G_IS_HTTPS_PROXY
      Src: /src/glib/gio/ghttpproxy.c:198,1
    - Dst: G_TLS_CONNECTION
      Src: /src/glib/gio/ghttpproxy.c:216,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/ghttpproxy.c:266,1
    - Dst: strlen
      Src: /src/glib/gio/ghttpproxy.c:228,1
    - Dst: _
      Src: /src/glib/gio/ghttpproxy.c:267,1
    - Dst: g_malloc
      Src: /src/glib/gio/ghttpproxy.c:236,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/ghttpproxy.c:283,1
    - Dst: _
      Src: /src/glib/gio/ghttpproxy.c:284,1
    - Dst: check_reply
      Src: /src/glib/gio/ghttpproxy.c:288,1
    - Dst: G_TLS_CLIENT_CONNECTION
      Src: /src/glib/gio/ghttpproxy.c:211,1
    - Dst: G_SOCKET_CONNECTABLE
      Src: /src/glib/gio/ghttpproxy.c:201,1
    - Dst: g_tls_client_connection_set_validation_flags
      Src: /src/glib/gio/ghttpproxy.c:211,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/ghttpproxy.c:222,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/ghttpproxy.c:223,1
    - Dst: g_realloc
      Src: /src/glib/gio/ghttpproxy.c:271,1
    - Dst: g_clear_object
      Src: /src/glib/gio/ghttpproxy.c:299,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 302
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 302
    functionName: g_http_proxy_connect
    functionSourceFile: /src/glib/gio/ghttpproxy.c
    functionUses: []
    functionsReached:
    - G_IS_HTTPS_PROXY
    - g_realloc
    - g_malloc
    - g_set_error_literal
    - check_reply
    - G_TLS_CONNECTION
    - G_TLS_CLIENT_CONNECTION
    - g_tls_client_connection_set_validation_flags
    - g_clear_object
    - g_input_stream_read
    - g_output_stream_write_all
    - G_SOCKET_CONNECTABLE
    - g_io_stream_get_output_stream
    - g_tls_connection_handshake
    - strlen
    - g_str_has_suffix
    - g_io_stream_get_input_stream
    - _
    - g_tls_client_connection_new
    - g_object_ref
    - create_request
    - g_free
    linkageType: ''
    returnType: GIOStream*
    signature: 'static GIOStream *g_http_proxy_connect (GProxy *proxy, GIOStream *io_stream,
      GProxyAddress *proxy_address, GCancellable *cancellable, GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/glib/gio/ghttpproxy.c:141,1
    - Dst: atoi
      Src: /src/glib/gio/ghttpproxy.c:152,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/ghttpproxy.c:143,1
    - Dst: _
      Src: /src/glib/gio/ghttpproxy.c:144,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/ghttpproxy.c:159,1
    - Dst: _
      Src: /src/glib/gio/ghttpproxy.c:160,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/ghttpproxy.c:164,1
    - Dst: _
      Src: /src/glib/gio/ghttpproxy.c:165,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/ghttpproxy.c:167,1
    - Dst: _
      Src: /src/glib/gio/ghttpproxy.c:168,1
    - Dst: _
      Src: /src/glib/gio/ghttpproxy.c:172,1
    - Dst: g_set_error
      Src: /src/glib/gio/ghttpproxy.c:171,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 27
    argCount: 3
    argNames:
    - buffer
    - has_cred
    - error
    argTypes:
    - gchar*
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 179
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 179
    functionName: check_reply
    functionSourceFile: /src/glib/gio/ghttpproxy.c
    functionUses: []
    functionsReached:
    - g_set_error
    - strncmp
    - g_set_error_literal
    - _
    - atoi
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean check_reply (const gchar *buffer, gboolean has_cred,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/ghttpproxy.c:313,1
    - Dst: g_object_unref
      Src: /src/glib/gio/ghttpproxy.c:314,1
    - Dst: g_slice_free
      Src: /src/glib/gio/ghttpproxy.c:315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - ConnectAsyncData*
    constantsTouched: []
    func_position:
      end: 316
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 316
    functionName: free_connect_data
    functionSourceFile: /src/glib/gio/ghttpproxy.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void free_connect_data (ConnectAsyncData *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/gio/ghttpproxy.c:349,1
    - Dst: g_object_ref
      Src: /src/glib/gio/ghttpproxy.c:350,1
    - Dst: g_task_new
      Src: /src/glib/gio/ghttpproxy.c:353,1
    - Dst: g_object_ref
      Src: /src/glib/gio/ghttpproxy.c:351,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/ghttpproxy.c:354,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/ghttpproxy.c:355,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/ghttpproxy.c:357,1
    - Dst: g_object_unref
      Src: /src/glib/gio/ghttpproxy.c:358,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 6
    argNames:
    - proxy
    - io_stream
    - proxy_address
    - cancellable
    - callback
    - user_data
    argTypes:
    - GProxy*
    - GIOStream*
    - GProxyAddress*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 359
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 359
    functionName: g_http_proxy_connect_async
    functionSourceFile: /src/glib/gio/ghttpproxy.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_object_unref
    - g_slice_new0
    - g_task_set_source_tag
    - g_task_run_in_thread
    - g_object_ref
    - g_task_set_task_data
    linkageType: ''
    returnType: void
    signature: 'static void g_http_proxy_connect_async (GProxy *proxy, GIOStream *io_stream,
      GProxyAddress *proxy_address, GCancellable *cancellable, GAsyncReadyCallback
      callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - GProxy*
    constantsTouched: []
    func_position:
      end: 373
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 373
    functionName: g_http_proxy_supports_hostname
    functionSourceFile: /src/glib/gio/ghttpproxy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_http_proxy_supports_hostname (GProxy *proxy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - proxy_iface
    argTypes:
    - GProxyInterface*
    constantsTouched: []
    func_position:
      end: 387
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 387
    functionName: g_http_proxy_iface_init
    functionSourceFile: /src/glib/gio/ghttpproxy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_http_proxy_iface_init (GProxyInterface *proxy_iface) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_proxy_address_get_destination_hostname
      Src: /src/glib/gio/ghttpproxy.c:87,1
    - Dst: _
      Src: /src/glib/gio/ghttpproxy.c:92,1
    - Dst: g_hostname_to_ascii
      Src: /src/glib/gio/ghttpproxy.c:88,1
    - Dst: g_proxy_address_get_destination_port
      Src: /src/glib/gio/ghttpproxy.c:95,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/ghttpproxy.c:91,1
    - Dst: g_proxy_address_get_username
      Src: /src/glib/gio/ghttpproxy.c:96,1
    - Dst: g_proxy_address_get_password
      Src: /src/glib/gio/ghttpproxy.c:97,1
    - Dst: g_string_new
      Src: /src/glib/gio/ghttpproxy.c:99,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/ghttpproxy.c:101,1
    - Dst: g_free
      Src: /src/glib/gio/ghttpproxy.c:109,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/ghttpproxy.c:122,1
    - Dst: g_string_append
      Src: /src/glib/gio/ghttpproxy.c:128,1
    - Dst: g_base64_encode
      Src: /src/glib/gio/ghttpproxy.c:120,1
    - Dst: g_string_free
      Src: /src/glib/gio/ghttpproxy.c:130,1
    - Dst: strlen
      Src: /src/glib/gio/ghttpproxy.c:120,1
    - Dst: g_free
      Src: /src/glib/gio/ghttpproxy.c:125,1
    - Dst: g_free
      Src: /src/glib/gio/ghttpproxy.c:121,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/ghttpproxy.c:119,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 131
    functionName: create_request
    functionSourceFile: /src/glib/gio/ghttpproxy.c
    functionUses: []
    functionsReached:
    - g_proxy_address_get_destination_port
    - g_proxy_address_get_username
    - g_strdup_printf
    - strlen
    - g_set_error_literal
    - g_string_free
    - g_hostname_to_ascii
    - g_proxy_address_get_password
    - g_proxy_address_get_destination_hostname
    - g_string_new
    - _
    - g_string_append_printf
    - g_free
    - g_string_append
    - g_base64_encode
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *create_request (GProxyAddress *proxy_address, gboolean
      *has_cred, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_http_proxy_connect
      Src: /src/glib/gio/ghttpproxy.c:329,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/ghttpproxy.c:333,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/ghttpproxy.c:335,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - task
    - source_object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 336
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 336
    functionName: connect_thread
    functionSourceFile: /src/glib/gio/ghttpproxy.c
    functionUses: []
    functionsReached:
    - g_http_proxy_connect
    - g_task_return_error
    - g_task_return_pointer
    linkageType: ''
    returnType: void
    signature: 'static void connect_thread (GTask *task, gpointer source_object, gpointer
      task_data, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/ghttpproxy.c:366,1
    - Dst: G_TASK
      Src: /src/glib/gio/ghttpproxy.c:366,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 367
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 367
    functionName: g_http_proxy_connect_finish
    functionSourceFile: /src/glib/gio/ghttpproxy.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_task_propagate_pointer
    linkageType: ''
    returnType: GIOStream*
    signature: 'static GIOStream *g_http_proxy_connect_finish (GProxy *proxy, GAsyncResult
      *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - class
    argTypes:
    - GHttpProxyClass*
    constantsTouched: []
    func_position:
      end: 378
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 378
    functionName: g_http_proxy_class_init
    functionSourceFile: /src/glib/gio/ghttpproxy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_http_proxy_class_init (GHttpProxyClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - class
    argTypes:
    - GHttpsProxyClass*
    constantsTouched: []
    func_position:
      end: 417
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 417
    functionName: g_https_proxy_class_init
    functionSourceFile: /src/glib/gio/ghttpproxy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_https_proxy_class_init (GHttpsProxyClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - GHttpsProxy*
    constantsTouched: []
    func_position:
      end: 412
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 412
    functionName: g_https_proxy_init
    functionSourceFile: /src/glib/gio/ghttpproxy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_https_proxy_init (GHttpsProxy *proxy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 644
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 644
    functionName: get_mtab_read_file
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *get_mtab_read_file (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_mount_entry_for
      Src: /src/glib/gio/gunixmounts.c:2022,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2023
      start: 2018
    functionDepth: 0
    functionLinenumber: 2018
    functionLinenumberEnd: 2023
    functionName: g_unix_mount_for
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_unix_mount_entry_for
    linkageType: ''
    returnType: GUnixMountEntry*
    signature: 'GUnixMountEntry *g_unix_mount_for (const char *file_path, guint64
      *time_read) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gunixmounts.c:2742,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmounts.c:2744,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmounts.c:2745,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmounts.c:2746,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmounts.c:2747,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmounts.c:2748,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmounts.c:2749,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - mount_entry
    argTypes:
    - GUnixMountEntry*
    constantsTouched: []
    func_position:
      end: 2750
      start: 2739
    functionDepth: 0
    functionLinenumber: 2739
    functionLinenumberEnd: 2750
    functionName: g_unix_mount_entry_free
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_unix_mount_entry_free (GUnixMountEntry *mount_entry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:3085,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3088
      start: 3082
    functionDepth: 0
    functionLinenumber: 3082
    functionLinenumberEnd: 3088
    functionName: g_unix_mount_entry_get_options
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_unix_mount_entry_get_options (GUnixMountEntry *mount_entry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_mount_entry_guess_symbolic_icon
      Src: /src/glib/gio/gunixmounts.c:3603,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3604
      start: 3600
    functionDepth: 0
    functionLinenumber: 3600
    functionLinenumberEnd: 3604
    functionName: g_unix_mount_guess_symbolic_icon
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_unix_mount_entry_guess_symbolic_icon
    linkageType: ''
    returnType: GIcon*
    signature: 'GIcon *g_unix_mount_guess_symbolic_icon (GUnixMountEntry *mount_entry) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_mount_point_guess_type
      Src: /src/glib/gio/gunixmounts.c:3826,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - mount_point
    argTypes:
    - GUnixMountPoint*
    constantsTouched: []
    func_position:
      end: 3832
      start: 3821
    functionDepth: 0
    functionLinenumber: 3821
    functionLinenumberEnd: 3832
    functionName: g_unix_mount_point_guess_can_eject
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_unix_mount_point_guess_type
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unix_mount_point_guess_can_eject (GUnixMountPoint *mount_point) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gunixmounts.c:717,1
    - Dst: hasmntopt
      Src: /src/glib/gio/gunixmounts.c:706,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gunixmounts.c:734,1
    - Dst: getmntent_r
      Src: /src/glib/gio/gunixmounts.c:676,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/gunixmounts.c:673,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gunixmounts.c:721,1
    - Dst: endmntent
      Src: /src/glib/gio/gunixmounts.c:725,1
    - Dst: get_mounts_timestamp
      Src: /src/glib/gio/gunixmounts.c:666,1
    - Dst: setmntent
      Src: /src/glib/gio/gunixmounts.c:668,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gunixmounts.c:700,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gunixmounts.c:721,1
    - Dst: g_ptr_array_new_null_terminated
      Src: /src/glib/gio/gunixmounts.c:672,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gunixmounts.c:678,1
    - Dst: getmntent
      Src: /src/glib/gio/gunixmounts.c:679,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gunixmounts.c:697,1
    - Dst: _resolve_dev_root
      Src: /src/glib/gio/gunixmounts.c:701,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/gio/gunixmounts.c:723,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gunixmounts.c:728,1
    - Dst: create_unix_mount_entry
      Src: /src/glib/gio/gunixmounts.c:710,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gunixmounts.c:734,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 735
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 735
    functionName: _g_unix_mounts_get_from_file
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - G_LOCK
    - setmntent
    - endmntent
    - G_UNLOCK
    - get_mounts_timestamp
    - g_hash_table_lookup
    - getmntent
    - g_hash_table_insert
    - g_ptr_array_new_null_terminated
    - g_ptr_array_add
    - getmntent_r
    - _resolve_dev_root
    - hasmntopt
    - g_hash_table_new
    - g_strcmp0
    - g_ptr_array_free
    - g_hash_table_destroy
    - create_unix_mount_entry
    linkageType: ''
    returnType: GUnixMountEntry**
    signature: 'static GUnixMountEntry **_g_unix_mounts_get_from_file (const char
      *table_path, uint64_t *time_read_out, size_t *n_entries_out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_themed_icon_new_with_default_fallbacks
      Src: /src/glib/gio/gunixmounts.c:3587,1
    - Dst: g_unix_mount_entry_guess_type
      Src: /src/glib/gio/gunixmounts.c:3587,1
    - Dst: type_to_icon
      Src: /src/glib/gio/gunixmounts.c:3587,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3588
      start: 3584
    functionDepth: 0
    functionLinenumber: 3584
    functionLinenumberEnd: 3588
    functionName: g_unix_mount_entry_guess_icon
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_themed_icon_new_with_default_fallbacks
    - g_unix_mount_entry_guess_type
    - type_to_icon
    linkageType: ''
    returnType: GIcon*
    signature: 'GIcon *g_unix_mount_entry_guess_icon (GUnixMountEntry *mount_entry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getc
      Src: /src/glib/gio/gunixmounts.c:1498,1
    - Dst: getc
      Src: /src/glib/gio/gunixmounts.c:1500,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - fd
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 1503
      start: 1493
    functionDepth: 0
    functionLinenumber: 1493
    functionLinenumberEnd: 1503
    functionName: aix_fs_getc
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - getc
    linkageType: ''
    returnType: int
    signature: 'static int aix_fs_getc (FILE *fd) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gunixmounts.c:1771,1
    - Dst: get_mtab_monitor_file
      Src: /src/glib/gio/gunixmounts.c:1773,1
    - Dst: proc_mounts_watch_is_running
      Src: /src/glib/gio/gunixmounts.c:1780,1
    - Dst: stat
      Src: /src/glib/gio/gunixmounts.c:1777,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:1775,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/gunixmounts.c:1792,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gunixmounts.c:1795,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1798
      start: 1764
    functionDepth: 0
    functionLinenumber: 1764
    functionLinenumberEnd: 1798
    functionName: get_mounts_timestamp
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - get_mtab_monitor_file
    - G_UNLOCK
    - proc_mounts_watch_is_running
    - stat
    - g_str_has_prefix
    - g_get_monotonic_time
    - G_LOCK
    linkageType: ''
    returnType: guint64
    signature: 'static guint64 get_mounts_timestamp (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_mount_entry_guess_icon
      Src: /src/glib/gio/gunixmounts.c:3572,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3573
      start: 3569
    functionDepth: 0
    functionLinenumber: 3569
    functionLinenumberEnd: 3573
    functionName: g_unix_mount_guess_icon
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_unix_mount_entry_guess_icon
    linkageType: ''
    returnType: GIcon*
    signature: 'GIcon *g_unix_mount_guess_icon (GUnixMountEntry *mount_entry) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_mount_entry_is_system_internal
      Src: /src/glib/gio/gunixmounts.c:3742,1
    - Dst: strncmp
      Src: /src/glib/gio/gunixmounts.c:3768,1
    - Dst: strlen
      Src: /src/glib/gio/gunixmounts.c:3768,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmounts.c:3788,1
    - Dst: g_stat
      Src: /src/glib/gio/gunixmounts.c:3797,1
    - Dst: g_access
      Src: /src/glib/gio/gunixmounts.c:3799,1
    - Dst: getuid
      Src: /src/glib/gio/gunixmounts.c:3750,1
    - Dst: strncmp
      Src: /src/glib/gio/gunixmounts.c:3769,1
    - Dst: strlen
      Src: /src/glib/gio/gunixmounts.c:3769,1
    - Dst: g_path_get_dirname
      Src: /src/glib/gio/gunixmounts.c:3783,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:3774,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:3805,1
    - Dst: strlen
      Src: /src/glib/gio/gunixmounts.c:3806,1
    - Dst: g_strstr_len
      Src: /src/glib/gio/gunixmounts.c:3754,1
    - Dst: strlen
      Src: /src/glib/gio/gunixmounts.c:3767,1
    - Dst: strlen
      Src: /src/glib/gio/gunixmounts.c:3770,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmounts.c:3792,1
    - Dst: g_get_home_dir
      Src: /src/glib/gio/gunixmounts.c:3805,1
    - Dst: strncmp
      Src: /src/glib/gio/gunixmounts.c:3761,1
    - Dst: strlen
      Src: /src/glib/gio/gunixmounts.c:3761,1
    - Dst: g_get_user_name
      Src: /src/glib/gio/gunixmounts.c:3766,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:3784,1
    - Dst: g_access
      Src: /src/glib/gio/gunixmounts.c:3786,1
    - Dst: S_ISBLK
      Src: /src/glib/gio/gunixmounts.c:3798,1
    - Dst: g_get_home_dir
      Src: /src/glib/gio/gunixmounts.c:3806,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 62
    argCount: 1
    argNames:
    - mount_entry
    argTypes:
    - GUnixMountEntry*
    constantsTouched: []
    func_position:
      end: 3811
      start: 3734
    functionDepth: 0
    functionLinenumber: 3734
    functionLinenumberEnd: 3811
    functionName: g_unix_mount_entry_guess_should_display
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_path_get_dirname
    - getuid
    - strlen
    - g_access
    - g_get_home_dir
    - g_str_has_prefix
    - g_strstr_len
    - strncmp
    - g_stat
    - g_get_user_name
    - g_unix_mount_entry_is_system_internal
    - g_free
    - S_ISBLK
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unix_mount_entry_guess_should_display (GUnixMountEntry
      *mount_entry) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_fstab_file
      Src: /src/glib/gio/gunixmounts.c:1806,1
    - Dst: stat
      Src: /src/glib/gio/gunixmounts.c:1809,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1813
      start: 1800
    functionDepth: 0
    functionLinenumber: 1800
    functionLinenumberEnd: 1813
    functionName: get_mount_points_timestamp
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - get_fstab_file
    - stat
    linkageType: ''
    returnType: guint64
    signature: 'static guint64 get_mount_points_timestamp (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mnt_has_regular_mtab
      Src: /src/glib/gio/gunixmounts.c:766,1
    - Dst: stat
      Src: /src/glib/gio/gunixmounts.c:771,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 789
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 789
    functionName: get_mtab_monitor_file
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - stat
    - mnt_has_regular_mtab
    linkageType: ''
    returnType: char*
    signature: 'static const char *get_mtab_monitor_file (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/gunixmounts.c:3552,1
    - Dst: _
      Src: /src/glib/gio/gunixmounts.c:3553,1
    - Dst: g_filename_display_basename
      Src: /src/glib/gio/gunixmounts.c:3555,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixmounts.c:3553,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3558
      start: 3547
    functionDepth: 0
    functionLinenumber: 3547
    functionLinenumberEnd: 3558
    functionName: g_unix_mount_entry_guess_name
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - _
    - g_filename_display_basename
    - g_strdup
    - strcmp
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_unix_mount_entry_guess_name (GUnixMountEntry *mount_entry) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/gunixmounts.c:3636,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixmounts.c:3637,1
    - Dst: g_filename_display_basename
      Src: /src/glib/gio/gunixmounts.c:3639,1
    - Dst: _
      Src: /src/glib/gio/gunixmounts.c:3637,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3642
      start: 3631
    functionDepth: 0
    functionLinenumber: 3631
    functionLinenumberEnd: 3642
    functionName: g_unix_mount_point_guess_name
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - _
    - g_filename_display_basename
    - g_strdup
    - strcmp
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_unix_mount_point_guess_name (GUnixMountPoint *mount_point) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_mount_entry_guess_should_display
      Src: /src/glib/gio/gunixmounts.c:3722,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - mount_entry
    argTypes:
    - GUnixMountEntry*
    constantsTouched: []
    func_position:
      end: 3723
      start: 3719
    functionDepth: 0
    functionLinenumber: 3719
    functionLinenumberEnd: 3723
    functionName: g_unix_mount_guess_should_display
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_unix_mount_entry_guess_should_display
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unix_mount_guess_should_display (GUnixMountEntry *mount_entry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gunixmounts.c:509,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixmounts.c:512,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixmounts.c:511,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixmounts.c:513,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixmounts.c:510,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixmounts.c:514,1
    - Dst: guess_system_internal
      Src: /src/glib/gio/gunixmounts.c:518,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 524
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 524
    functionName: create_unix_mount_entry
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_new0
    - g_strdup
    - guess_system_internal
    linkageType: ''
    returnType: GUnixMountEntry*
    signature: 'static GUnixMountEntry *create_unix_mount_entry (const char *device_path,
      const char *mount_path, const char *root_path, const char *filesystem_type,
      const char *options, gboolean is_read_only) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gunixmounts.c:2612,1
    - Dst: I_
      Src: /src/glib/gio/gunixmounts.c:2623,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gunixmounts.c:2638,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gunixmounts.c:2623,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gunixmounts.c:2624,1
    - Dst: I_
      Src: /src/glib/gio/gunixmounts.c:2638,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gunixmounts.c:2639,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GUnixMountMonitorClass*
    constantsTouched: []
    func_position:
      end: 2645
      start: 2609
    functionDepth: 0
    functionLinenumber: 2609
    functionLinenumberEnd: 2645
    functionName: g_unix_mount_monitor_class_init
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - I_
    - G_TYPE_FROM_CLASS
    - g_signal_new
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_mount_monitor_class_init (GUnixMountMonitorClass
      *klass) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mnt_table_parse_mtab
      Src: /src/glib/gio/gunixmounts.c:575,1
    - Dst: mnt_table_next_fs
      Src: /src/glib/gio/gunixmounts.c:579,1
    - Dst: mnt_fs_get_source
      Src: /src/glib/gio/gunixmounts.c:586,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gunixmounts.c:615,1
    - Dst: get_mounts_timestamp
      Src: /src/glib/gio/gunixmounts.c:571,1
    - Dst: mnt_new_iter
      Src: /src/glib/gio/gunixmounts.c:578,1
    - Dst: _resolve_dev_root
      Src: /src/glib/gio/gunixmounts.c:588,1
    - Dst: mnt_optstr_get_flags
      Src: /src/glib/gio/gunixmounts.c:593,1
    - Dst: mnt_fs_get_fstype
      Src: /src/glib/gio/gunixmounts.c:601,1
    - Dst: mnt_get_builtin_optmap
      Src: /src/glib/gio/gunixmounts.c:593,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gunixmounts.c:605,1
    - Dst: mnt_new_table
      Src: /src/glib/gio/gunixmounts.c:574,1
    - Dst: g_ptr_array_new_null_terminated
      Src: /src/glib/gio/gunixmounts.c:573,1
    - Dst: mnt_fs_strdup_options
      Src: /src/glib/gio/gunixmounts.c:590,1
    - Dst: create_unix_mount_entry
      Src: /src/glib/gio/gunixmounts.c:598,1
    - Dst: mnt_fs_get_target
      Src: /src/glib/gio/gunixmounts.c:599,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmounts.c:594,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gunixmounts.c:605,1
    - Dst: mnt_free_iter
      Src: /src/glib/gio/gunixmounts.c:607,1
    - Dst: mnt_free_table
      Src: /src/glib/gio/gunixmounts.c:610,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gunixmounts.c:615,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gunixmounts.c:587,1
    - Dst: mnt_fs_get_root
      Src: /src/glib/gio/gunixmounts.c:600,1
    - Dst: mnt_fs_get_options
      Src: /src/glib/gio/gunixmounts.c:602,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 616
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 616
    functionName: _g_unix_mounts_get_from_file
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - mnt_table_parse_mtab
    - mnt_new_iter
    - mnt_free_table
    - mnt_table_next_fs
    - get_mounts_timestamp
    - mnt_optstr_get_flags
    - g_ptr_array_new_null_terminated
    - g_ptr_array_add
    - mnt_fs_get_options
    - _resolve_dev_root
    - mnt_fs_get_source
    - mnt_new_table
    - g_strcmp0
    - mnt_fs_get_fstype
    - g_ptr_array_free
    - mnt_fs_strdup_options
    - mnt_get_builtin_optmap
    - create_unix_mount_entry
    - mnt_fs_get_root
    - mnt_free_iter
    - g_free
    - mnt_fs_get_target
    linkageType: ''
    returnType: GUnixMountEntry**
    signature: 'static GUnixMountEntry **_g_unix_mounts_get_from_file (const char
      *table_path, uint64_t *time_read_out, size_t *n_entries_out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - monitor
    argTypes:
    - GUnixMountMonitor*
    constantsTouched: []
    func_position:
      end: 2650
      start: 2647
    functionDepth: 0
    functionLinenumber: 2647
    functionLinenumberEnd: 2650
    functionName: g_unix_mount_monitor_init
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_mount_monitor_init (GUnixMountMonitor *monitor) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_is_system_fs_type
      Src: /src/glib/gio/gunixmounts.c:463,1
    - Dst: g_unix_is_mount_path_system_internal
      Src: /src/glib/gio/gunixmounts.c:469,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gunixmounts.c:491,1
    - Dst: g_unix_is_system_device_path
      Src: /src/glib/gio/gunixmounts.c:466,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 4
    argNames:
    - mountpoint
    - fs
    - device
    - root
    argTypes:
    - char*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 495
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 495
    functionName: guess_system_internal
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_unix_is_mount_path_system_internal
    - g_unix_is_system_fs_type
    - g_strcmp0
    - g_unix_is_system_device_path
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean guess_system_internal (const char *mountpoint, const
      char *fs, const char *device, const char *root) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1757
      start: 1746
    functionDepth: 0
    functionLinenumber: 1746
    functionLinenumberEnd: 1757
    functionName: _g_unix_mount_points_get_from_file
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GUnixMountPoint**
    signature: 'static GUnixMountPoint **_g_unix_mount_points_get_from_file (const
      char *table_path, uint64_t *time_read_out, size_t *n_points_out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_mount_entry_is_system_internal
      Src: /src/glib/gio/gunixmounts.c:3141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - mount_entry
    argTypes:
    - GUnixMountEntry*
    constantsTouched: []
    func_position:
      end: 3142
      start: 3138
    functionDepth: 0
    functionLinenumber: 3138
    functionLinenumberEnd: 3142
    functionName: g_unix_mount_is_system_internal
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_unix_mount_entry_is_system_internal
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unix_mount_is_system_internal (GUnixMountEntry *mount_entry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1046
    functionDepth: 0
    functionLinenumber: 1046
    functionLinenumberEnd: 1050
    functionName: get_mtab_monitor_file
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *get_mtab_monitor_file (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_mounts_timestamp
      Src: /src/glib/gio/gunixmounts.c:2234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - time
    argTypes:
    - guint64
    constantsTouched: []
    func_position:
      end: 2235
      start: 2231
    functionDepth: 0
    functionLinenumber: 2231
    functionLinenumberEnd: 2235
    functionName: g_unix_mount_entries_changed_since
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - get_mounts_timestamp
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unix_mount_entries_changed_since (guint64 time) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:3117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - mount_entry
    argTypes:
    - GUnixMountEntry*
    constantsTouched: []
    func_position:
      end: 3120
      start: 3114
    functionDepth: 0
    functionLinenumber: 3114
    functionLinenumberEnd: 3120
    functionName: g_unix_mount_entry_is_readonly
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unix_mount_entry_is_readonly (GUnixMountEntry *mount_entry) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: opendir
      Src: /src/glib/gio/gunixmounts.c:1059,1
    - Dst: strcpy
      Src: /src/glib/gio/gunixmounts.c:1075,1
    - Dst: readdir_r
      Src: /src/glib/gio/gunixmounts.c:1072,1
    - Dst: strcat
      Src: /src/glib/gio/gunixmounts.c:1076,1
    - Dst: g_warning
      Src: /src/glib/gio/gunixmounts.c:1062,1
    - Dst: statvfs
      Src: /src/glib/gio/gunixmounts.c:1078,1
    - Dst: g_new0
      Src: /src/glib/gio/gunixmounts.c:1080,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixmounts.c:1082,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixmounts.c:1083,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixmounts.c:1084,1
    - Dst: g_list_reverse
      Src: /src/glib/gio/gunixmounts.c:1093,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gunixmounts.c:1089,1
    - Dst: closedir
      Src: /src/glib/gio/gunixmounts.c:1095,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1052
    functionDepth: 0
    functionLinenumber: 1052
    functionLinenumberEnd: 1098
    functionName: _g_get_unix_mounts
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - strcat
    - g_strdup
    - g_list_reverse
    - g_warning
    - opendir
    - strcpy
    - statvfs
    - g_list_prepend
    - readdir_r
    - closedir
    - g_new0
    linkageType: ''
    returnType: GList*
    signature: 'static GList *_g_get_unix_mounts (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:2051,1
    - Dst: _g_local_file_find_topdir_for
      Src: /src/glib/gio/gunixmounts.c:2058,1
    - Dst: g_unix_mount_entry_at
      Src: /src/glib/gio/gunixmounts.c:2061,1
    - Dst: g_unix_mount_entry_at
      Src: /src/glib/gio/gunixmounts.c:2053,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmounts.c:2062,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2067
      start: 2045
    functionDepth: 0
    functionLinenumber: 2045
    functionLinenumberEnd: 2067
    functionName: g_unix_mount_entry_for
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_unix_mount_entry_at
    - g_return_val_if_fail
    - g_free
    - _g_local_file_find_topdir_for
    linkageType: ''
    returnType: GUnixMountEntry*
    signature: 'GUnixMountEntry *g_unix_mount_entry_for (const char *file_path, guint64
      *time_read) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_mount_entries_changed_since
      Src: /src/glib/gio/gunixmounts.c:2209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - time
    argTypes:
    - guint64
    constantsTouched: []
    func_position:
      end: 2210
      start: 2206
    functionDepth: 0
    functionLinenumber: 2206
    functionLinenumberEnd: 2210
    functionName: g_unix_mounts_changed_since
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_unix_mount_entries_changed_since
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unix_mounts_changed_since (guint64 time) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_mount_entry_copy
      Src: /src/glib/gio/gunixmounts.c:2765,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2766
      start: 2762
    functionDepth: 0
    functionLinenumber: 2762
    functionLinenumberEnd: 2766
    functionName: g_unix_mount_copy
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_unix_mount_entry_copy
    linkageType: ''
    returnType: GUnixMountEntry*
    signature: 'GUnixMountEntry *g_unix_mount_copy (GUnixMountEntry *mount_entry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_mount_entry_is_readonly
      Src: /src/glib/gio/gunixmounts.c:3102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - mount_entry
    argTypes:
    - GUnixMountEntry*
    constantsTouched: []
    func_position:
      end: 3103
      start: 3099
    functionDepth: 0
    functionLinenumber: 3099
    functionLinenumberEnd: 3103
    functionName: g_unix_mount_is_readonly
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_unix_mount_entry_is_readonly
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unix_mount_is_readonly (GUnixMountEntry *mount_entry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 879
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 879
    functionName: get_mtab_monitor_file
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *get_mtab_monitor_file (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:3229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3232
      start: 3226
    functionDepth: 0
    functionLinenumber: 3226
    functionLinenumberEnd: 3232
    functionName: g_unix_mount_point_get_mount_path
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_unix_mount_point_get_mount_path (GUnixMountPoint *mount_point) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:3294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - mount_point
    argTypes:
    - GUnixMountPoint*
    constantsTouched: []
    func_position:
      end: 3297
      start: 3291
    functionDepth: 0
    functionLinenumber: 3291
    functionLinenumberEnd: 3297
    functionName: g_unix_mount_point_is_readonly
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unix_mount_point_is_readonly (GUnixMountPoint *mount_point) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_mount_entry_guess_can_eject
      Src: /src/glib/gio/gunixmounts.c:3685,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - mount_entry
    argTypes:
    - GUnixMountEntry*
    constantsTouched: []
    func_position:
      end: 3686
      start: 3682
    functionDepth: 0
    functionLinenumber: 3682
    functionLinenumberEnd: 3686
    functionName: g_unix_mount_guess_can_eject
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_unix_mount_entry_guess_can_eject
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unix_mount_guess_can_eject (GUnixMountEntry *mount_entry) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mntctl
      Src: /src/glib/gio/gunixmounts.c:891,1
    - Dst: g_warning
      Src: /src/glib/gio/gunixmounts.c:893,1
    - Dst: mntctl
      Src: /src/glib/gio/gunixmounts.c:900,1
    - Dst: g_warning
      Src: /src/glib/gio/gunixmounts.c:903,1
    - Dst: g_malloc
      Src: /src/glib/gio/gunixmounts.c:898,1
    - Dst: g_warning
      Src: /src/glib/gio/gunixmounts.c:907,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmounts.c:909,1
    - Dst: getvfsbytype
      Src: /src/glib/gio/gunixmounts.c:918,1
    - Dst: create_unix_mount_entry
      Src: /src/glib/gio/gunixmounts.c:923,1
    - Dst: vmt2dataptr
      Src: /src/glib/gio/gunixmounts.c:923,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmounts.c:937,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gunixmounts.c:930,1
    - Dst: g_list_reverse
      Src: /src/glib/gio/gunixmounts.c:939,1
    - Dst: vmt2dataptr
      Src: /src/glib/gio/gunixmounts.c:924,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 940
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 940
    functionName: _g_get_unix_mounts
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_list_reverse
    - create_unix_mount_entry
    - g_warning
    - vmt2dataptr
    - g_malloc
    - mntctl
    - getvfsbytype
    - g_list_prepend
    - g_free
    linkageType: ''
    returnType: GList*
    signature: 'static GList *_g_get_unix_mounts (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1117
    functionDepth: 0
    functionLinenumber: 1117
    functionLinenumberEnd: 1122
    functionName: get_mtab_monitor_file
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static char *get_mtab_monitor_file (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_mounts_timestamp
      Src: /src/glib/gio/gunixmounts.c:1855,1
    - Dst: _g_get_unix_mounts
      Src: /src/glib/gio/gunixmounts.c:1857,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1858
      start: 1851
    functionDepth: 0
    functionLinenumber: 1851
    functionLinenumberEnd: 1858
    functionName: g_unix_mount_entries_get
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - _g_get_unix_mounts
    - get_mounts_timestamp
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_unix_mount_entries_get (guint64 *time_read) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _g_get_unix_mounts
      Src: /src/glib/gio/gunixmounts.c:2407,1
    - Dst: g_list_next
      Src: /src/glib/gio/gunixmounts.c:2411,1
    - Dst: g_unix_mount_entry_compare
      Src: /src/glib/gio/gunixmounts.c:2413,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gunixmounts.c:2422,1
    - Dst: g_list_next
      Src: /src/glib/gio/gunixmounts.c:2411,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gunixmounts.c:2428,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/gunixmounts.c:2429,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gunixmounts.c:2430,1
    - Dst: g_context_specific_group_emit
      Src: /src/glib/gio/gunixmounts.c:2432,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 2436
      start: 2401
    functionDepth: 0
    functionLinenumber: 2401
    functionLinenumberEnd: 2436
    functionName: mount_change_poller
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_unix_mount_entry_compare
    - g_list_free_full
    - G_UNLOCK
    - g_get_monotonic_time
    - g_list_next
    - g_context_specific_group_emit
    - _g_get_unix_mounts
    - G_LOCK
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean mount_change_poller (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_mount_entry_get_options
      Src: /src/glib/gio/gunixmounts.c:3064,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3065
      start: 3061
    functionDepth: 0
    functionLinenumber: 3061
    functionLinenumberEnd: 3065
    functionName: g_unix_mount_get_options
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_unix_mount_entry_get_options
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_unix_mount_get_options (GUnixMountEntry *mount_entry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:3326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - mount_point
    argTypes:
    - GUnixMountPoint*
    constantsTouched: []
    func_position:
      end: 3329
      start: 3323
    functionDepth: 0
    functionLinenumber: 3323
    functionLinenumberEnd: 3329
    functionName: g_unix_mount_point_is_loopback
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unix_mount_point_is_loopback (GUnixMountPoint *mount_point) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 954
      start: 942
    functionDepth: 0
    functionLinenumber: 942
    functionLinenumberEnd: 954
    functionName: _g_unix_mounts_get_from_file
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GUnixMountEntry**
    signature: 'static GUnixMountEntry **_g_unix_mounts_get_from_file (const char
      *table_path, uint64_t *time_read_out, size_t *n_entries_out) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1136
    functionName: _g_unix_mounts_get_from_file
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GUnixMountEntry**
    signature: 'static GUnixMountEntry **_g_unix_mounts_get_from_file (const char
      *table_path, uint64_t *time_read_out, size_t *n_entries_out) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_file_monitor_cancel
      Src: /src/glib/gio/gunixmounts.c:2444,1
    - Dst: g_source_destroy
      Src: /src/glib/gio/gunixmounts.c:2451,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gunixmounts.c:2456,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gunixmounts.c:2448,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixmounts.c:2445,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gunixmounts.c:2458,1
    - Dst: g_file_monitor_cancel
      Src: /src/glib/gio/gunixmounts.c:2462,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixmounts.c:2463,1
    - Dst: g_source_remove
      Src: /src/glib/gio/gunixmounts.c:2468,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gunixmounts.c:2472,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2473
      start: 2439
    functionDepth: 0
    functionLinenumber: 2439
    functionLinenumberEnd: 2473
    functionName: mount_monitor_stop
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_list_free_full
    - G_UNLOCK
    - g_file_monitor_cancel
    - g_source_destroy
    - g_clear_pointer
    - g_source_remove
    - G_LOCK
    linkageType: ''
    returnType: void
    signature: 'static void mount_monitor_stop (void) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/gunixmounts.c:3342,1
    - Dst: strcmp
      Src: /src/glib/gio/gunixmounts.c:3346,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:3367,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:3376,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:3387,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:3390,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:3391,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:3393,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmounts.c:3402,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:3353,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:3354,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:3356,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:3363,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:3365,1
    - Dst: strlen
      Src: /src/glib/gio/gunixmounts.c:3358,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:3385,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:3399,1
    - Dst: strcmp
      Src: /src/glib/gio/gunixmounts.c:3341,1
    - Dst: strcmp
      Src: /src/glib/gio/gunixmounts.c:3345,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:3349,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:3350,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:3352,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:3362,1
    - Dst: g_path_get_basename
      Src: /src/glib/gio/gunixmounts.c:3374,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:3383,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:3397,1
    - Dst: strcmp
      Src: /src/glib/gio/gunixmounts.c:3343,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:3348,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:3360,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:3369,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:3377,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:3378,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:3379,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:3381,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:3389,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:3395,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 81
    argCount: 3
    argNames:
    - mount_path
    - device_path
    - filesystem_type
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 3409
      start: 3331
    functionDepth: 0
    functionLinenumber: 3331
    functionLinenumberEnd: 3409
    functionName: guess_mount_type
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_path_get_basename
    - strlen
    - strcmp
    - g_str_has_prefix
    - g_free
    linkageType: ''
    returnType: GUnixMountType
    signature: "static GUnixMountType guess_mount_type (const char *mount_path,\t\t\
      \ const char *device_path,\t\t const char *filesystem_type) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_mount_entries_get
      Src: /src/glib/gio/gunixmounts.c:1833,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1834
      start: 1830
    functionDepth: 0
    functionLinenumber: 1830
    functionLinenumberEnd: 1834
    functionName: g_unix_mounts_get
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_unix_mount_entries_get
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_unix_mounts_get (guint64 *time_read) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:3040,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3043
      start: 3037
    functionDepth: 0
    functionLinenumber: 3037
    functionLinenumberEnd: 3043
    functionName: g_unix_mount_entry_get_fs_type
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_unix_mount_entry_get_fs_type (GUnixMountEntry *mount_entry) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_context_specific_group_emit
      Src: /src/glib/gio/gunixmounts.c:2310,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 5
    argNames:
    - monitor
    - file
    - other_file
    - event_type
    - user_data
    argTypes:
    - GFileMonitor*
    - GFile*
    - GFile*
    - GFileMonitorEvent
    - gpointer
    constantsTouched: []
    func_position:
      end: 2311
      start: 2298
    functionDepth: 0
    functionLinenumber: 2298
    functionLinenumberEnd: 2311
    functionName: fstab_file_changed
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_context_specific_group_emit
    linkageType: ''
    returnType: void
    signature: 'static void fstab_file_changed (GFileMonitor *monitor, GFile *file,
      GFile *other_file, GFileMonitorEvent event_type, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_themed_icon_new_with_default_fallbacks
      Src: /src/glib/gio/gunixmounts.c:3618,1
    - Dst: type_to_icon
      Src: /src/glib/gio/gunixmounts.c:3618,1
    - Dst: g_unix_mount_entry_guess_type
      Src: /src/glib/gio/gunixmounts.c:3618,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3619
      start: 3615
    functionDepth: 0
    functionLinenumber: 3615
    functionLinenumberEnd: 3619
    functionName: g_unix_mount_entry_guess_symbolic_icon
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_themed_icon_new_with_default_fallbacks
    - g_unix_mount_entry_guess_type
    - type_to_icon
    linkageType: ''
    returnType: GIcon*
    signature: 'GIcon *g_unix_mount_entry_guess_symbolic_icon (GUnixMountEntry *mount_entry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_context_specific_group_emit
      Src: /src/glib/gio/gunixmounts.c:2317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 2320
      start: 2313
    functionDepth: 0
    functionLinenumber: 2313
    functionLinenumberEnd: 2320
    functionName: mtab_file_changed_cb
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_context_specific_group_emit
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean mtab_file_changed_cb (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_prepend
      Src: /src/glib/gio/gunixmounts.c:246,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gunixmounts.c:246,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmounts.c:248,1
    - Dst: g_list_reverse
      Src: /src/glib/gio/gunixmounts.c:250,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 251
    functionName: unix_mount_entry_array_free_to_list
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_list_reverse
    - g_free
    - g_list_prepend
    linkageType: ''
    returnType: GList*
    signature: 'static GList *unix_mount_entry_array_free_to_list (GUnixMountEntry
      **entries, size_t n_entries) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_unix_mount_points_get_from_file
      Src: /src/glib/gio/gunixmounts.c:1391,1
    - Dst: get_fstab_file
      Src: /src/glib/gio/gunixmounts.c:1391,1
    - Dst: unix_mount_point_array_free_to_list
      Src: /src/glib/gio/gunixmounts.c:1394,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gunixmounts.c:1394,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1395
      start: 1385
    functionDepth: 0
    functionLinenumber: 1385
    functionLinenumberEnd: 1395
    functionName: _g_get_unix_mount_points
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - unix_mount_point_array_free_to_list
    - get_fstab_file
    - _g_unix_mount_points_get_from_file
    linkageType: ''
    returnType: GList*
    signature: 'static GList *_g_get_unix_mount_points (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_source_is_destroyed
      Src: /src/glib/gio/gunixmounts.c:2295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2296
      start: 2291
    functionDepth: 0
    functionLinenumber: 2291
    functionLinenumberEnd: 2296
    functionName: proc_mounts_watch_is_running
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_source_is_destroyed
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean proc_mounts_watch_is_running (void) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: get_mount_points_timestamp
      Src: /src/glib/gio/gunixmounts.c:1193,1
    - Dst: mnt_new_iter
      Src: /src/glib/gio/gunixmounts.c:1200,1
    - Dst: mnt_fs_get_target
      Src: /src/glib/gio/gunixmounts.c:1211,1
    - Dst: strcmp
      Src: /src/glib/gio/gunixmounts.c:1214,1
    - Dst: mnt_fs_strdup_options
      Src: /src/glib/gio/gunixmounts.c:1218,1
    - Dst: mnt_get_builtin_optmap
      Src: /src/glib/gio/gunixmounts.c:1224,1
    - Dst: mnt_optstr_get_flags
      Src: /src/glib/gio/gunixmounts.c:1224,1
    - Dst: mnt_fs_get_fstype
      Src: /src/glib/gio/gunixmounts.c:1217,1
    - Dst: mnt_fs_get_source
      Src: /src/glib/gio/gunixmounts.c:1247,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmounts.c:1259,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gunixmounts.c:1261,1
    - Dst: g_ptr_array_new_null_terminated
      Src: /src/glib/gio/gunixmounts.c:1195,1
    - Dst: mnt_new_table
      Src: /src/glib/gio/gunixmounts.c:1196,1
    - Dst: strcmp
      Src: /src/glib/gio/gunixmounts.c:1213,1
    - Dst: g_strstr_len
      Src: /src/glib/gio/gunixmounts.c:1239,1
    - Dst: mnt_optstr_get_flags
      Src: /src/glib/gio/gunixmounts.c:1225,1
    - Dst: mnt_get_builtin_optmap
      Src: /src/glib/gio/gunixmounts.c:1225,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gunixmounts.c:1237,1
    - Dst: _resolve_dev_root
      Src: /src/glib/gio/gunixmounts.c:1249,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmounts.c:1230,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gunixmounts.c:1271,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gunixmounts.c:1271,1
    - Dst: mnt_free_iter
      Src: /src/glib/gio/gunixmounts.c:1263,1
    - Dst: mnt_free_table
      Src: /src/glib/gio/gunixmounts.c:1266,1
    - Dst: mnt_table_parse_fstab
      Src: /src/glib/gio/gunixmounts.c:1197,1
    - Dst: mnt_table_next_fs
      Src: /src/glib/gio/gunixmounts.c:1201,1
    - Dst: strcmp
      Src: /src/glib/gio/gunixmounts.c:1212,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gunixmounts.c:1248,1
    - Dst: create_unix_mount_point
      Src: /src/glib/gio/gunixmounts.c:1251,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gunixmounts.c:1261,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 75
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1272
      start: 1181
    functionDepth: 0
    functionLinenumber: 1181
    functionLinenumberEnd: 1272
    functionName: _g_unix_mount_points_get_from_file
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - get_mount_points_timestamp
    - g_steal_pointer
    - strcmp
    - mnt_new_iter
    - mnt_table_parse_fstab
    - mnt_free_table
    - mnt_table_next_fs
    - mnt_optstr_get_flags
    - g_ptr_array_new_null_terminated
    - create_unix_mount_point
    - g_ptr_array_add
    - _resolve_dev_root
    - mnt_fs_get_source
    - mnt_new_table
    - g_strcmp0
    - mnt_fs_get_fstype
    - g_ptr_array_free
    - mnt_fs_strdup_options
    - mnt_get_builtin_optmap
    - mnt_free_iter
    - g_strstr_len
    - g_free
    - mnt_fs_get_target
    linkageType: ''
    returnType: GUnixMountPoint**
    signature: 'static GUnixMountPoint **_g_unix_mount_points_get_from_file (const
      char *table_path, uint64_t *time_read_out, size_t *n_points_out) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_get_thread_default
      Src: /src/glib/gio/gunixmounts.c:2344,1
    - Dst: g_main_context_default
      Src: /src/glib/gio/gunixmounts.c:2346,1
    - Dst: g_source_set_priority
      Src: /src/glib/gio/gunixmounts.c:2349,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gunixmounts.c:2350,1
    - Dst: g_idle_source_new
      Src: /src/glib/gio/gunixmounts.c:2348,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gunixmounts.c:2351,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gunixmounts.c:2352,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gunixmounts.c:2353,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 5
    argNames:
    - monitor
    - file
    - other_file
    - event_type
    - user_data
    argTypes:
    - GFileMonitor*
    - GFile*
    - GFile*
    - GFileMonitorEvent
    - gpointer
    constantsTouched: []
    func_position:
      end: 2354
      start: 2322
    functionDepth: 0
    functionLinenumber: 2322
    functionLinenumberEnd: 2354
    functionName: mtab_file_changed
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_source_set_priority
    - g_source_set_callback
    - g_idle_source_new
    - g_source_attach
    - g_main_context_default
    - g_main_context_get_thread_default
    - g_source_unref
    - g_source_set_static_name
    linkageType: ''
    returnType: void
    signature: 'static void mtab_file_changed (GFileMonitor *monitor, GFile *file,
      GFile *other_file, GFileMonitorEvent event_type, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_context_specific_group_get
      Src: /src/glib/gio/gunixmounts.c:2693,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gunixmounts.c:2695,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2697
      start: 2690
    functionDepth: 0
    functionLinenumber: 2690
    functionLinenumberEnd: 2697
    functionName: g_unix_mount_monitor_get
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - G_STRUCT_OFFSET
    - g_context_specific_group_get
    linkageType: ''
    returnType: GUnixMountMonitor*
    signature: 'GUnixMountMonitor *g_unix_mount_monitor_get (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:3449,1
    - Dst: guess_mount_type
      Src: /src/glib/gio/gunixmounts.c:3454,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:3452,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:3450,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:3451,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - mount_point
    argTypes:
    - GUnixMountPoint*
    constantsTouched: []
    func_position:
      end: 3457
      start: 3446
    functionDepth: 0
    functionLinenumber: 3446
    functionLinenumberEnd: 3457
    functionName: g_unix_mount_point_guess_type
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - guess_mount_type
    - g_return_val_if_fail
    linkageType: ''
    returnType: GUnixMountType
    signature: 'static GUnixMountType g_unix_mount_point_guess_type (GUnixMountPoint
      *mount_point) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_unix_mounts_get_from_file
      Src: /src/glib/gio/gunixmounts.c:743,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gunixmounts.c:745,1
    - Dst: get_mtab_read_file
      Src: /src/glib/gio/gunixmounts.c:743,1
    - Dst: unix_mount_entry_array_free_to_list
      Src: /src/glib/gio/gunixmounts.c:745,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 746
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 746
    functionName: _g_get_unix_mounts
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - get_mtab_read_file
    - unix_mount_entry_array_free_to_list
    - _g_unix_mounts_get_from_file
    - g_steal_pointer
    linkageType: ''
    returnType: GList*
    signature: 'static GList *_g_get_unix_mounts (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1112
    functionName: _g_unix_mounts_get_from_file
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GUnixMountEntry**
    signature: 'static GUnixMountEntry **_g_unix_mounts_get_from_file (const char
      *table_path, uint64_t *time_read_out, size_t *n_entries_out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_unix_mount_points_get_from_file
      Src: /src/glib/gio/gunixmounts.c:1280,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gunixmounts.c:1283,1
    - Dst: unix_mount_point_array_free_to_list
      Src: /src/glib/gio/gunixmounts.c:1283,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1274
    functionDepth: 0
    functionLinenumber: 1274
    functionLinenumberEnd: 1284
    functionName: _g_get_unix_mount_points
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - unix_mount_point_array_free_to_list
    - _g_unix_mount_points_get_from_file
    linkageType: ''
    returnType: GList*
    signature: 'static GList *_g_get_unix_mount_points (void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gunixmounts.c:2366,1
    - Dst: g_strerror
      Src: /src/glib/gio/gunixmounts.c:2380,1
    - Dst: mnt_monitor_next_change
      Src: /src/glib/gio/gunixmounts.c:2372,1
    - Dst: mnt_monitor_event_cleanup
      Src: /src/glib/gio/gunixmounts.c:2376,1
    - Dst: g_debug
      Src: /src/glib/gio/gunixmounts.c:2380,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gunixmounts.c:2382,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gunixmounts.c:2391,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/gunixmounts.c:2392,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gunixmounts.c:2393,1
    - Dst: g_context_specific_group_emit
      Src: /src/glib/gio/gunixmounts.c:2395,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - channel
    - cond
    - user_data
    argTypes:
    - GIOChannel*
    - GIOCondition
    - gpointer
    constantsTouched: []
    func_position:
      end: 2399
      start: 2356
    functionDepth: 0
    functionLinenumber: 2356
    functionLinenumberEnd: 2399
    functionName: proc_mounts_changed
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - mnt_monitor_next_change
    - G_UNLOCK
    - g_strerror
    - g_debug
    - mnt_monitor_event_cleanup
    - g_context_specific_group_emit
    - g_get_monotonic_time
    - G_LOCK
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean proc_mounts_changed (GIOChannel *channel, GIOCondition
      cond, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_mount_points_timestamp
      Src: /src/glib/gio/gunixmounts.c:2258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - time
    argTypes:
    - guint64
    constantsTouched: []
    func_position:
      end: 2259
      start: 2255
    functionDepth: 0
    functionLinenumber: 2255
    functionLinenumberEnd: 2259
    functionName: g_unix_mount_points_changed_since
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - get_mount_points_timestamp
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unix_mount_points_changed_since (guint64 time) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - mount_monitor
    - limit_msec
    argTypes:
    - GUnixMountMonitor*
    - gint
    constantsTouched: []
    func_position:
      end: 2672
      start: 2668
    functionDepth: 0
    functionLinenumber: 2668
    functionLinenumberEnd: 2672
    functionName: g_unix_mount_monitor_set_rate_limit
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void g_unix_mount_monitor_set_rate_limit (GUnixMountMonitor *mount_monitor,
      gint limit_msec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:3245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3248
      start: 3242
    functionDepth: 0
    functionLinenumber: 3242
    functionLinenumberEnd: 3248
    functionName: g_unix_mount_point_get_device_path
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_unix_mount_point_get_device_path (GUnixMountPoint *mount_point) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:3310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - mount_point
    argTypes:
    - GUnixMountPoint*
    constantsTouched: []
    func_position:
      end: 3313
      start: 3307
    functionDepth: 0
    functionLinenumber: 3307
    functionLinenumberEnd: 3313
    functionName: g_unix_mount_point_is_user_mountable
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unix_mount_point_is_user_mountable (GUnixMountPoint *mount_point) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:3425,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:3428,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:3427,1
    - Dst: guess_mount_type
      Src: /src/glib/gio/gunixmounts.c:3430,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:3426,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - mount_entry
    argTypes:
    - GUnixMountEntry*
    constantsTouched: []
    func_position:
      end: 3433
      start: 3422
    functionDepth: 0
    functionLinenumber: 3422
    functionLinenumberEnd: 3433
    functionName: g_unix_mount_entry_guess_type
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - guess_mount_type
    - g_return_val_if_fail
    linkageType: ''
    returnType: GUnixMountType
    signature: 'static GUnixMountType g_unix_mount_entry_guess_type (GUnixMountEntry
      *mount_entry) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_mount_entry_guess_type
      Src: /src/glib/gio/gunixmounts.c:3702,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - mount_entry
    argTypes:
    - GUnixMountEntry*
    constantsTouched: []
    func_position:
      end: 3708
      start: 3697
    functionDepth: 0
    functionLinenumber: 3697
    functionLinenumberEnd: 3708
    functionName: g_unix_mount_entry_guess_can_eject
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_unix_mount_entry_guess_type
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unix_mount_entry_guess_can_eject (GUnixMountEntry *mount_entry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_mtab_read_file
      Src: /src/glib/gio/gunixmounts.c:809,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 810
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 810
    functionName: get_mtab_monitor_file
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - get_mtab_read_file
    linkageType: ''
    returnType: char*
    signature: 'static const char *get_mtab_monitor_file (void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_mount_points_timestamp
      Src: /src/glib/gio/gunixmounts.c:1609,1
    - Dst: g_ptr_array_new_null_terminated
      Src: /src/glib/gio/gunixmounts.c:1619,1
    - Dst: aix_fs_get
      Src: /src/glib/gio/gunixmounts.c:1621,1
    - Dst: setmntent
      Src: /src/glib/gio/gunixmounts.c:1611,1
    - Dst: strcmp
      Src: /src/glib/gio/gunixmounts.c:1623,1
    - Dst: create_unix_mount_point
      Src: /src/glib/gio/gunixmounts.c:1625,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gunixmounts.c:1633,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gunixmounts.c:1633,1
    - Dst: endmntent
      Src: /src/glib/gio/gunixmounts.c:1637,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gunixmounts.c:1642,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gunixmounts.c:1642,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1643
      start: 1597
    functionDepth: 0
    functionLinenumber: 1597
    functionLinenumberEnd: 1643
    functionName: _g_unix_mount_points_get_from_file
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - get_mount_points_timestamp
    - g_steal_pointer
    - aix_fs_get
    - g_ptr_array_add
    - endmntent
    - strcmp
    - g_ptr_array_new_null_terminated
    - create_unix_mount_point
    - g_ptr_array_free
    - setmntent
    linkageType: ''
    returnType: GUnixMountPoint**
    signature: 'static GUnixMountPoint **_g_unix_mount_points_get_from_file (const
      char *table_path, uint64_t *time_read_out, size_t *n_points_out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:2782,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixmounts.c:2786,1
    - Dst: g_new0
      Src: /src/glib/gio/gunixmounts.c:2784,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixmounts.c:2787,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixmounts.c:2785,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixmounts.c:2788,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixmounts.c:2789,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2794
      start: 2777
    functionDepth: 0
    functionLinenumber: 2777
    functionLinenumberEnd: 2794
    functionName: g_unix_mount_entry_copy
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_new0
    - g_return_val_if_fail
    - g_strdup
    linkageType: ''
    returnType: GUnixMountEntry*
    signature: 'GUnixMountEntry *g_unix_mount_entry_copy (GUnixMountEntry *mount_entry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_mount_entry_get_device_path
      Src: /src/glib/gio/gunixmounts.c:2950,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2951
      start: 2947
    functionDepth: 0
    functionLinenumber: 2947
    functionLinenumberEnd: 2951
    functionName: g_unix_mount_get_device_path
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_unix_mount_entry_get_device_path
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_unix_mount_get_device_path (GUnixMountEntry *mount_entry) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_mounts_timestamp
      Src: /src/glib/gio/gunixmounts.c:823,1
    - Dst: getmntent
      Src: /src/glib/gio/gunixmounts.c:832,1
    - Dst: setmntent
      Src: /src/glib/gio/gunixmounts.c:825,1
    - Dst: g_ptr_array_new_null_terminated
      Src: /src/glib/gio/gunixmounts.c:829,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gunixmounts.c:831,1
    - Dst: hasmntopt
      Src: /src/glib/gio/gunixmounts.c:837,1
    - Dst: create_unix_mount_entry
      Src: /src/glib/gio/gunixmounts.c:841,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gunixmounts.c:848,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gunixmounts.c:848,1
    - Dst: endmntent
      Src: /src/glib/gio/gunixmounts.c:851,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gunixmounts.c:853,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gunixmounts.c:858,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gunixmounts.c:858,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 859
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 859
    functionName: _g_unix_mounts_get_from_file
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_ptr_array_add
    - create_unix_mount_entry
    - endmntent
    - G_UNLOCK
    - get_mounts_timestamp
    - hasmntopt
    - getmntent
    - g_ptr_array_new_null_terminated
    - g_ptr_array_free
    - G_LOCK
    - setmntent
    linkageType: ''
    returnType: GUnixMountEntry**
    signature: 'static GUnixMountEntry **_g_unix_mounts_get_from_file (const char
      *table_path, uint64_t *time_read_out, size_t *n_entries_out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1138
    functionDepth: 0
    functionLinenumber: 1138
    functionLinenumberEnd: 1143
    functionName: _g_get_unix_mounts
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GList*
    signature: 'static GList *_g_get_unix_mounts (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_unix_mount_points_get_from_file
      Src: /src/glib/gio/gunixmounts.c:1651,1
    - Dst: unix_mount_point_array_free_to_list
      Src: /src/glib/gio/gunixmounts.c:1654,1
    - Dst: get_fstab_file
      Src: /src/glib/gio/gunixmounts.c:1651,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gunixmounts.c:1654,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1655
      start: 1645
    functionDepth: 0
    functionLinenumber: 1645
    functionLinenumberEnd: 1655
    functionName: _g_get_unix_mount_points
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - unix_mount_point_array_free_to_list
    - get_fstab_file
    - _g_unix_mount_points_get_from_file
    linkageType: ''
    returnType: GList*
    signature: 'static GList *_g_get_unix_mount_points (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:2933,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2936
      start: 2930
    functionDepth: 0
    functionLinenumber: 2930
    functionLinenumberEnd: 2936
    functionName: g_unix_mount_entry_get_mount_path
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_unix_mount_entry_get_mount_path (GUnixMountEntry *mount_entry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_mount_entry_guess_name
      Src: /src/glib/gio/gunixmounts.c:3533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3534
      start: 3530
    functionDepth: 0
    functionLinenumber: 3530
    functionLinenumberEnd: 3534
    functionName: g_unix_mount_guess_name
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_unix_mount_entry_guess_name
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_unix_mount_guess_name (GUnixMountEntry *mount_entry) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/gunixmounts.c:224,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - value
    - set
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 228
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 228
    functionName: is_in
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_in (const char *value, const char *set[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:452,1
    - Dst: is_in
      Src: /src/glib/gio/gunixmounts.c:454,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - device_path
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 455
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 455
    functionName: g_unix_is_system_device_path
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - is_in
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unix_is_system_device_path (const char *device_path) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_mount_points_get
      Src: /src/glib/gio/gunixmounts.c:2175,1
    - Dst: strcmp
      Src: /src/glib/gio/gunixmounts.c:2182,1
    - Dst: g_unix_mount_point_free
      Src: /src/glib/gio/gunixmounts.c:2190,1
    - Dst: g_list_free
      Src: /src/glib/gio/gunixmounts.c:2192,1
    - Dst: g_unix_mount_point_free
      Src: /src/glib/gio/gunixmounts.c:2185,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2195
      start: 2168
    functionDepth: 0
    functionLinenumber: 2168
    functionLinenumberEnd: 2195
    functionName: g_unix_mount_point_at
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_unix_mount_points_get
    - g_unix_mount_point_free
    - strcmp
    - g_list_free
    linkageType: ''
    returnType: GUnixMountPoint*
    signature: 'GUnixMountPoint *g_unix_mount_point_at (const char *mount_path, guint64
      *time_read) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_mount_entry_compare
      Src: /src/glib/gio/gunixmounts.c:2857,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - mount1
    - mount2
    argTypes:
    - GUnixMountEntry*
    - GUnixMountEntry*
    constantsTouched: []
    func_position:
      end: 2858
      start: 2853
    functionDepth: 0
    functionLinenumber: 2853
    functionLinenumberEnd: 2858
    functionName: g_unix_mount_compare
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_unix_mount_entry_compare
    linkageType: ''
    returnType: gint
    signature: "gint g_unix_mount_compare (GUnixMountEntry *mount1,\t\t GUnixMountEntry\
      \ *mount2) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_mount_entry_get_mount_path
      Src: /src/glib/gio/gunixmounts.c:2918,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2919
      start: 2915
    functionDepth: 0
    functionLinenumber: 2915
    functionLinenumberEnd: 2919
    functionName: g_unix_mount_get_mount_path
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_unix_mount_entry_get_mount_path
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_unix_mount_get_mount_path (GUnixMountEntry *mount_entry) '
  - BBCount: 19
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3517
      start: 3459
    functionDepth: 0
    functionLinenumber: 3459
    functionLinenumberEnd: 3517
    functionName: type_to_icon
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *type_to_icon (GUnixMountType type, gboolean is_mount_point,
      gboolean use_symbolic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 804
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 804
    functionName: get_mtab_read_file
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *get_mtab_read_file (void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK_DEFINE_STATIC
      Src: /src/glib/gio/gunixmounts.c:1665,1
    - Dst: sysctlbyname
      Src: /src/glib/gio/gunixmounts.c:1677,1
    - Dst: sysctl
      Src: /src/glib/gio/gunixmounts.c:1686,1
    - Dst: getuid
      Src: /src/glib/gio/gunixmounts.c:1667,1
    - Dst: sysctl
      Src: /src/glib/gio/gunixmounts.c:1695,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gunixmounts.c:1700,1
    - Dst: setfsent
      Src: /src/glib/gio/gunixmounts.c:1701,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gunixmounts.c:1703,1
    - Dst: getfsent
      Src: /src/glib/gio/gunixmounts.c:1707,1
    - Dst: strcmp
      Src: /src/glib/gio/gunixmounts.c:1712,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gunixmounts.c:1741,1
    - Dst: g_list_reverse
      Src: /src/glib/gio/gunixmounts.c:1743,1
    - Dst: create_unix_mount_point
      Src: /src/glib/gio/gunixmounts.c:1729,1
    - Dst: endfsent
      Src: /src/glib/gio/gunixmounts.c:1740,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gunixmounts.c:1737,1
    - Dst: stat
      Src: /src/glib/gio/gunixmounts.c:1722,1
    - Dst: strcmp
      Src: /src/glib/gio/gunixmounts.c:1715,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1744
      start: 1659
    functionDepth: 0
    functionLinenumber: 1659
    functionLinenumberEnd: 1744
    functionName: _g_get_unix_mount_points
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - G_LOCK_DEFINE_STATIC
    - getuid
    - g_list_reverse
    - G_UNLOCK
    - strcmp
    - stat
    - setfsent
    - create_unix_mount_point
    - g_list_prepend
    - endfsent
    - sysctl
    - G_LOCK
    - getfsent
    - sysctlbyname
    linkageType: ''
    returnType: GList*
    signature: 'static GList *_g_get_unix_mount_points (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:416,1
    - Dst: is_in
      Src: /src/glib/gio/gunixmounts.c:418,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - fs_type
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 419
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 419
    functionName: g_unix_is_system_fs_type
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - is_in
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unix_is_system_fs_type (const char *fs_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_unix_mount_points_get_from_file
      Src: /src/glib/gio/gunixmounts.c:2147,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2148
      start: 2142
    functionDepth: 0
    functionLinenumber: 2142
    functionLinenumberEnd: 2148
    functionName: g_unix_mount_points_get_from_file
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - _g_unix_mount_points_get_from_file
    linkageType: ''
    returnType: GUnixMountPoint**
    signature: 'GUnixMountPoint **g_unix_mount_points_get_from_file (const char *table_path,
      uint64_t *time_read_out, size_t *n_points_out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:2828,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixmounts.c:2833,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixmounts.c:2832,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixmounts.c:2831,1
    - Dst: g_new0
      Src: /src/glib/gio/gunixmounts.c:2830,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixmounts.c:2834,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2840
      start: 2823
    functionDepth: 0
    functionLinenumber: 2823
    functionLinenumberEnd: 2840
    functionName: g_unix_mount_point_copy
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_new0
    - g_return_val_if_fail
    - g_strdup
    linkageType: ''
    returnType: GUnixMountPoint*
    signature: 'GUnixMountPoint *g_unix_mount_point_copy (GUnixMountPoint *mount_point) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:2877,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gunixmounts.c:2883,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gunixmounts.c:2879,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gunixmounts.c:2891,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gunixmounts.c:2887,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gunixmounts.c:2895,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - mount1
    - mount2
    argTypes:
    - GUnixMountEntry*
    - GUnixMountEntry*
    constantsTouched: []
    func_position:
      end: 2904
      start: 2871
    functionDepth: 0
    functionLinenumber: 2871
    functionLinenumberEnd: 2904
    functionName: g_unix_mount_entry_compare
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_strcmp0
    linkageType: ''
    returnType: gint
    signature: 'gint g_unix_mount_entry_compare (GUnixMountEntry *mount1, GUnixMountEntry
      *mount2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_themed_icon_new_with_default_fallbacks
      Src: /src/glib/gio/gunixmounts.c:3670,1
    - Dst: type_to_icon
      Src: /src/glib/gio/gunixmounts.c:3670,1
    - Dst: g_unix_mount_point_guess_type
      Src: /src/glib/gio/gunixmounts.c:3670,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3671
      start: 3667
    functionDepth: 0
    functionLinenumber: 3667
    functionLinenumberEnd: 3671
    functionName: g_unix_mount_point_guess_symbolic_icon
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_themed_icon_new_with_default_fallbacks
    - g_unix_mount_point_guess_type
    - type_to_icon
    linkageType: ''
    returnType: GIcon*
    signature: 'GIcon *g_unix_mount_point_guess_symbolic_icon (GUnixMountPoint *mount_point) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_mount_entry_get_fs_type
      Src: /src/glib/gio/gunixmounts.c:3025,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3026
      start: 3022
    functionDepth: 0
    functionLinenumber: 3022
    functionLinenumberEnd: 3026
    functionName: g_unix_mount_get_fs_type
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_unix_mount_entry_get_fs_type
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_unix_mount_get_fs_type (GUnixMountEntry *mount_entry) '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 54
    argCount: 1
    argNames:
    - filename
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 3905
      start: 3838
    functionDepth: 0
    functionLinenumber: 3838
    functionLinenumberEnd: 3905
    functionName: _canonicalize_filename
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _canonicalize_filename (gchar *filename) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_unix_mounts_get_from_file
      Src: /src/glib/gio/gunixmounts.c:624,1
    - Dst: unix_mount_entry_array_free_to_list
      Src: /src/glib/gio/gunixmounts.c:627,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gunixmounts.c:627,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 628
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 628
    functionName: _g_get_unix_mounts
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - unix_mount_entry_array_free_to_list
    - _g_unix_mounts_get_from_file
    linkageType: ''
    returnType: GList*
    signature: 'static GList *_g_get_unix_mounts (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gio/gunixmounts.c:3916,1
    - Dst: g_file_test
      Src: /src/glib/gio/gunixmounts.c:3918,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmounts.c:3924,1
    - Dst: g_error_free
      Src: /src/glib/gio/gunixmounts.c:3923,1
    - Dst: g_file_read_link
      Src: /src/glib/gio/gunixmounts.c:3920,1
    - Dst: g_path_get_dirname
      Src: /src/glib/gio/gunixmounts.c:3929,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gunixmounts.c:3930,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmounts.c:3931,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmounts.c:3932,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmounts.c:3933,1
    - Dst: _canonicalize_filename
      Src: /src/glib/gio/gunixmounts.c:3939,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3941
      start: 3907
    functionDepth: 0
    functionLinenumber: 3907
    functionLinenumberEnd: 3941
    functionName: _resolve_symlink
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_path_get_dirname
    - g_strdup
    - g_strdup_printf
    - g_file_read_link
    - _canonicalize_filename
    - g_error_free
    - g_file_test
    - g_free
    linkageType: ''
    returnType: char*
    signature: 'static char *_resolve_symlink (const char *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:3008,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3011
      start: 3005
    functionDepth: 0
    functionLinenumber: 3005
    functionLinenumberEnd: 3011
    functionName: g_unix_mount_entry_get_root_path
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_unix_mount_entry_get_root_path (GUnixMountEntry *mount_entry) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK_DEFINE_STATIC
      Src: /src/glib/gio/gunixmounts.c:2098,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gunixmounts.c:2106,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gunixmounts.c:2100,1
    - Dst: get_mount_points_timestamp
      Src: /src/glib/gio/gunixmounts.c:2102,1
    - Dst: _g_get_unix_mount_points
      Src: /src/glib/gio/gunixmounts.c:2107,1
    - Dst: g_list_copy_deep
      Src: /src/glib/gio/gunixmounts.c:2109,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gunixmounts.c:2111,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2117
      start: 2091
    functionDepth: 0
    functionLinenumber: 2091
    functionLinenumberEnd: 2117
    functionName: g_unix_mount_points_get
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - G_LOCK_DEFINE_STATIC
    - get_mount_points_timestamp
    - g_list_copy_deep
    - g_list_free_full
    - G_UNLOCK
    - _g_get_unix_mount_points
    - G_LOCK
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_unix_mount_points_get (guint64 *time_read) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_mount_entry_get_root_path
      Src: /src/glib/gio/gunixmounts.c:2988,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2989
      start: 2985
    functionDepth: 0
    functionLinenumber: 2985
    functionLinenumberEnd: 2989
    functionName: g_unix_mount_get_root_path
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_unix_mount_entry_get_root_path
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_unix_mount_get_root_path (GUnixMountEntry *mount_entry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_mount_entry_free
      Src: /src/glib/gio/gunixmounts.c:2728,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - mount_entry
    argTypes:
    - GUnixMountEntry*
    constantsTouched: []
    func_position:
      end: 2729
      start: 2725
    functionDepth: 0
    functionLinenumber: 2725
    functionLinenumberEnd: 2729
    functionName: g_unix_mount_free
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_unix_mount_entry_free
    linkageType: ''
    returnType: void
    signature: 'void g_unix_mount_free (GUnixMountEntry *mount_entry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_mount_point_copy
      Src: /src/glib/gio/gunixmounts.c:2074,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - src
    - data
    argTypes:
    - gconstpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 2075
      start: 2069
    functionDepth: 0
    functionLinenumber: 2069
    functionLinenumberEnd: 2075
    functionName: copy_mount_point_cb
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_unix_mount_point_copy
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer copy_mount_point_cb (gconstpointer src, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_mount_monitor_get
      Src: /src/glib/gio/gunixmounts.c:2713,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2714
      start: 2710
    functionDepth: 0
    functionLinenumber: 2710
    functionLinenumberEnd: 2714
    functionName: g_unix_mount_monitor_new
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_unix_mount_monitor_get
    linkageType: ''
    returnType: GUnixMountMonitor*
    signature: 'GUnixMountMonitor *g_unix_mount_monitor_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gunixmounts.c:2805,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmounts.c:2807,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmounts.c:2809,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmounts.c:2808,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmounts.c:2810,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmounts.c:2811,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - mount_point
    argTypes:
    - GUnixMountPoint*
    constantsTouched: []
    func_position:
      end: 2812
      start: 2802
    functionDepth: 0
    functionLinenumber: 2802
    functionLinenumberEnd: 2812
    functionName: g_unix_mount_point_free
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_unix_mount_point_free (GUnixMountPoint *mount_point) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:2965,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2968
      start: 2962
    functionDepth: 0
    functionLinenumber: 2962
    functionLinenumberEnd: 2968
    functionName: g_unix_mount_entry_get_device_path
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_unix_mount_entry_get_device_path (GUnixMountEntry *mount_entry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mnt_get_fstab_path
      Src: /src/glib/gio/gunixmounts.c:1161,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1157
    functionDepth: 0
    functionLinenumber: 1157
    functionLinenumberEnd: 1174
    functionName: get_fstab_file
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - mnt_get_fstab_path
    linkageType: ''
    returnType: char*
    signature: 'static char *get_fstab_file (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 963
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 963
    functionName: get_mtab_monitor_file
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *get_mtab_monitor_file (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aix_fs_ignorespace
      Src: /src/glib/gio/gunixmounts.c:1530,1
    - Dst: aix_fs_getc
      Src: /src/glib/gio/gunixmounts.c:1536,1
    - Dst: g_ascii_isspace
      Src: /src/glib/gio/gunixmounts.c:1532,1
    - Dst: aix_fs_getc
      Src: /src/glib/gio/gunixmounts.c:1532,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - fd
    - word
    argTypes:
    - FILE*
    - char*
    constantsTouched: []
    func_position:
      end: 1545
      start: 1524
    functionDepth: 0
    functionLinenumber: 1524
    functionLinenumberEnd: 1545
    functionName: aix_fs_getword
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - aix_fs_getc
    - aix_fs_ignorespace
    - g_ascii_isspace
    linkageType: ''
    returnType: int
    signature: 'static int aix_fs_getword (FILE *fd, char *word) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:3163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - mount_entry
    argTypes:
    - GUnixMountEntry*
    constantsTouched: []
    func_position:
      end: 3166
      start: 3160
    functionDepth: 0
    functionLinenumber: 3160
    functionLinenumberEnd: 3166
    functionName: g_unix_mount_entry_is_system_internal
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unix_mount_entry_is_system_internal (GUnixMountEntry *mount_entry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:3261,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3264
      start: 3258
    functionDepth: 0
    functionLinenumber: 3258
    functionLinenumberEnd: 3264
    functionName: g_unix_mount_point_get_fs_type
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_unix_mount_point_get_fs_type (GUnixMountPoint *mount_point) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getvfsstat
      Src: /src/glib/gio/gunixmounts.c:982,1
    - Dst: getfsstat
      Src: /src/glib/gio/gunixmounts.c:984,1
    - Dst: getvfsstat
      Src: /src/glib/gio/gunixmounts.c:992,1
    - Dst: g_malloc
      Src: /src/glib/gio/gunixmounts.c:990,1
    - Dst: getfsstat
      Src: /src/glib/gio/gunixmounts.c:994,1
    - Dst: create_unix_mount_entry
      Src: /src/glib/gio/gunixmounts.c:1014,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gunixmounts.c:1021,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmounts.c:1024,1
    - Dst: g_list_reverse
      Src: /src/glib/gio/gunixmounts.c:1026,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 1027
    functionName: _g_get_unix_mounts
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_list_reverse
    - create_unix_mount_entry
    - g_malloc
    - getvfsstat
    - g_list_prepend
    - getfsstat
    - g_free
    linkageType: ''
    returnType: GList*
    signature: 'static GList *_g_get_unix_mounts (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aix_fs_getc
      Src: /src/glib/gio/gunixmounts.c:1511,1
    - Dst: ungetc
      Src: /src/glib/gio/gunixmounts.c:1515,1
    - Dst: g_ascii_isspace
      Src: /src/glib/gio/gunixmounts.c:1513,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - fd
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 1521
      start: 1506
    functionDepth: 0
    functionLinenumber: 1506
    functionLinenumberEnd: 1521
    functionName: aix_fs_ignorespace
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - aix_fs_getc
    - ungetc
    - g_ascii_isspace
    linkageType: ''
    returnType: int
    signature: 'static int aix_fs_ignorespace (FILE *fd) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gunixmounts.c:1425,1
    - Dst: hasmntopt
      Src: /src/glib/gio/gunixmounts.c:1448,1
    - Dst: create_unix_mount_point
      Src: /src/glib/gio/gunixmounts.c:1455,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gunixmounts.c:1463,1
    - Dst: endmntent
      Src: /src/glib/gio/gunixmounts.c:1466,1
    - Dst: getmntent
      Src: /src/glib/gio/gunixmounts.c:1426,1
    - Dst: setmntent
      Src: /src/glib/gio/gunixmounts.c:1415,1
    - Dst: strcmp
      Src: /src/glib/gio/gunixmounts.c:1434,1
    - Dst: hasmntopt
      Src: /src/glib/gio/gunixmounts.c:1441,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gunixmounts.c:1472,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gunixmounts.c:1472,1
    - Dst: hasmntopt
      Src: /src/glib/gio/gunixmounts.c:1449,1
    - Dst: hasmntopt
      Src: /src/glib/gio/gunixmounts.c:1447,1
    - Dst: get_mount_points_timestamp
      Src: /src/glib/gio/gunixmounts.c:1413,1
    - Dst: g_ptr_array_new_null_terminated
      Src: /src/glib/gio/gunixmounts.c:1423,1
    - Dst: strcmp
      Src: /src/glib/gio/gunixmounts.c:1432,1
    - Dst: strcmp
      Src: /src/glib/gio/gunixmounts.c:1433,1
    - Dst: hasmntopt
      Src: /src/glib/gio/gunixmounts.c:1438,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gunixmounts.c:1463,1
    - Dst: hasmntopt
      Src: /src/glib/gio/gunixmounts.c:1448,1
    - Dst: hasmntopt
      Src: /src/glib/gio/gunixmounts.c:1450,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gunixmounts.c:1467,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1473
      start: 1402
    functionDepth: 0
    functionLinenumber: 1402
    functionLinenumberEnd: 1473
    functionName: _g_unix_mount_points_get_from_file
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - get_mount_points_timestamp
    - g_steal_pointer
    - g_ptr_array_add
    - endmntent
    - G_UNLOCK
    - hasmntopt
    - strcmp
    - getmntent
    - g_ptr_array_new_null_terminated
    - create_unix_mount_point
    - g_ptr_array_free
    - G_LOCK
    - setmntent
    linkageType: ''
    returnType: GUnixMountPoint**
    signature: 'static GUnixMountPoint **_g_unix_mount_points_get_from_file (const
      char *table_path, uint64_t *time_read_out, size_t *n_points_out) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_mount_entries_get
      Src: /src/glib/gio/gunixmounts.c:1975,1
    - Dst: g_list_free
      Src: /src/glib/gio/gunixmounts.c:1992,1
    - Dst: g_unix_mount_entry_free
      Src: /src/glib/gio/gunixmounts.c:1985,1
    - Dst: strcmp
      Src: /src/glib/gio/gunixmounts.c:1982,1
    - Dst: g_unix_mount_entry_free
      Src: /src/glib/gio/gunixmounts.c:1990,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1995
      start: 1968
    functionDepth: 0
    functionLinenumber: 1968
    functionLinenumberEnd: 1995
    functionName: g_unix_mount_entry_at
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - strcmp
    - g_unix_mount_entry_free
    - g_unix_mount_entries_get
    - g_list_free
    linkageType: ''
    returnType: GUnixMountEntry*
    signature: "GUnixMountEntry *g_unix_mount_entry_at (const char *mount_path,\t\t\
      \ guint64 *time_read) "
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1041
    functionName: _g_unix_mounts_get_from_file
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GUnixMountEntry**
    signature: 'static GUnixMountEntry **_g_unix_mounts_get_from_file (const char
      *table_path, uint64_t *time_read_out, size_t *n_entries_out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_unix_mount_points_get_from_file
      Src: /src/glib/gio/gunixmounts.c:1481,1
    - Dst: unix_mount_point_array_free_to_list
      Src: /src/glib/gio/gunixmounts.c:1484,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gunixmounts.c:1484,1
    - Dst: get_fstab_file
      Src: /src/glib/gio/gunixmounts.c:1481,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1485
      start: 1475
    functionDepth: 0
    functionLinenumber: 1475
    functionLinenumberEnd: 1485
    functionName: _g_get_unix_mount_points
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - unix_mount_point_array_free_to_list
    - get_fstab_file
    - _g_unix_mount_points_get_from_file
    linkageType: ''
    returnType: GList*
    signature: 'static GList *_g_get_unix_mount_points (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_mount_entry_at
      Src: /src/glib/gio/gunixmounts.c:1946,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1947
      start: 1942
    functionDepth: 0
    functionLinenumber: 1942
    functionLinenumberEnd: 1947
    functionName: g_unix_mount_at
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_unix_mount_entry_at
    linkageType: ''
    returnType: GUnixMountEntry*
    signature: "GUnixMountEntry *g_unix_mount_at (const char *mount_path,\t\t guint64\
      \ *time_read) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_in
      Src: /src/glib/gio/gunixmounts.c:335,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:339,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:338,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:340,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/gunixmounts.c:343,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 1
    argNames:
    - mount_path
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 347
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 347
    functionName: g_unix_is_mount_path_system_internal
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_str_has_prefix
    - is_in
    - g_str_has_suffix
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unix_is_mount_path_system_internal (const char *mount_path) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: get_fstab_file
      Src: /src/glib/gio/gunixmounts.c:2480,1
    - Dst: get_fstab_file
      Src: /src/glib/gio/gunixmounts.c:2482,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixmounts.c:2484,1
    - Dst: g_warning
      Src: /src/glib/gio/gunixmounts.c:2509,1
    - Dst: g_strerror
      Src: /src/glib/gio/gunixmounts.c:2518,1
    - Dst: mnt_monitor_get_fd
      Src: /src/glib/gio/gunixmounts.c:2521,1
    - Dst: g_strerror
      Src: /src/glib/gio/gunixmounts.c:2528,1
    - Dst: g_io_channel_new_file
      Src: /src/glib/gio/gunixmounts.c:2540,1
    - Dst: g_error_free
      Src: /src/glib/gio/gunixmounts.c:2546,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gunixmounts.c:2550,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gunixmounts.c:2563,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixmounts.c:2575,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gunixmounts.c:2586,1
    - Dst: g_file_monitor_file
      Src: /src/glib/gio/gunixmounts.c:2483,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gunixmounts.c:2486,1
    - Dst: g_warning
      Src: /src/glib/gio/gunixmounts.c:2513,1
    - Dst: g_strerror
      Src: /src/glib/gio/gunixmounts.c:2509,1
    - Dst: mnt_new_monitor
      Src: /src/glib/gio/gunixmounts.c:2506,1
    - Dst: mnt_monitor_enable_kernel
      Src: /src/glib/gio/gunixmounts.c:2507,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gunixmounts.c:2529,1
    - Dst: g_io_create_watch
      Src: /src/glib/gio/gunixmounts.c:2554,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/gunixmounts.c:2559,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gunixmounts.c:2565,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gunixmounts.c:2581,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gunixmounts.c:2576,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/gunixmounts.c:2482,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gunixmounts.c:2497,1
    - Dst: g_strerror
      Src: /src/glib/gio/gunixmounts.c:2513,1
    - Dst: mnt_monitor_enable_userspace
      Src: /src/glib/gio/gunixmounts.c:2511,1
    - Dst: g_main_context_get_thread_default
      Src: /src/glib/gio/gunixmounts.c:2564,1
    - Dst: g_timeout_source_new_seconds
      Src: /src/glib/gio/gunixmounts.c:2583,1
    - Dst: _g_get_unix_mounts
      Src: /src/glib/gio/gunixmounts.c:2584,1
    - Dst: g_main_context_get_thread_default
      Src: /src/glib/gio/gunixmounts.c:2590,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gunixmounts.c:2593,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gunixmounts.c:2568,1
    - Dst: get_mtab_monitor_file
      Src: /src/glib/gio/gunixmounts.c:2489,1
    - Dst: get_mtab_monitor_file
      Src: /src/glib/gio/gunixmounts.c:2493,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gunixmounts.c:2504,1
    - Dst: mnt_monitor_veil_kernel
      Src: /src/glib/gio/gunixmounts.c:2516,1
    - Dst: g_warning
      Src: /src/glib/gio/gunixmounts.c:2518,1
    - Dst: g_io_channel_unix_new
      Src: /src/glib/gio/gunixmounts.c:2524,1
    - Dst: g_debug
      Src: /src/glib/gio/gunixmounts.c:2528,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gunixmounts.c:2537,1
    - Dst: g_warning
      Src: /src/glib/gio/gunixmounts.c:2544,1
    - Dst: g_quark_to_string
      Src: /src/glib/gio/gunixmounts.c:2545,1
    - Dst: g_io_channel_unref
      Src: /src/glib/gio/gunixmounts.c:2566,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/gunixmounts.c:2573,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gunixmounts.c:2560,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gunixmounts.c:2591,1
    - Dst: g_file_monitor_file
      Src: /src/glib/gio/gunixmounts.c:2574,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/gunixmounts.c:2585,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gunixmounts.c:2589,1
    - Dst: g_io_create_watch
      Src: /src/glib/gio/gunixmounts.c:2557,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 95
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2595
      start: 2475
    functionDepth: 0
    functionLinenumber: 2475
    functionLinenumberEnd: 2595
    functionName: mount_monitor_start
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - mnt_new_monitor
    - g_strerror
    - G_LOCK
    - g_signal_connect
    - g_io_channel_unref
    - g_io_channel_unix_new
    - mnt_monitor_veil_kernel
    - g_object_unref
    - g_warning
    - G_UNLOCK
    - g_source_attach
    - g_io_create_watch
    - g_timeout_source_new_seconds
    - g_quark_to_string
    - g_clear_pointer
    - g_file_monitor_file
    - g_error_free
    - g_source_unref
    - g_get_monotonic_time
    - mnt_monitor_get_fd
    - g_file_new_for_path
    - g_main_context_get_thread_default
    - get_fstab_file
    - mnt_monitor_enable_userspace
    - _g_get_unix_mounts
    - get_mtab_monitor_file
    - mnt_monitor_enable_kernel
    - g_io_channel_new_file
    - g_debug
    - g_str_has_prefix
    linkageType: ''
    returnType: void
    signature: 'static void mount_monitor_start (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_themed_icon_new_with_default_fallbacks
      Src: /src/glib/gio/gunixmounts.c:3655,1
    - Dst: type_to_icon
      Src: /src/glib/gio/gunixmounts.c:3655,1
    - Dst: g_unix_mount_point_guess_type
      Src: /src/glib/gio/gunixmounts.c:3655,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3656
      start: 3652
    functionDepth: 0
    functionLinenumber: 3652
    functionLinenumberEnd: 3656
    functionName: g_unix_mount_point_guess_icon
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_themed_icon_new_with_default_fallbacks
    - g_unix_mount_point_guess_type
    - type_to_icon
    linkageType: ''
    returnType: GIcon*
    signature: 'GIcon *g_unix_mount_point_guess_icon (GUnixMountPoint *mount_point) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_unix_mounts_get_from_file
      Src: /src/glib/gio/gunixmounts.c:867,1
    - Dst: unix_mount_entry_array_free_to_list
      Src: /src/glib/gio/gunixmounts.c:869,1
    - Dst: get_mtab_read_file
      Src: /src/glib/gio/gunixmounts.c:867,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gunixmounts.c:869,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 870
      start: 861
    functionDepth: 0
    functionLinenumber: 861
    functionLinenumberEnd: 870
    functionName: _g_get_unix_mounts
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - get_mtab_read_file
    - unix_mount_entry_array_free_to_list
    - _g_unix_mounts_get_from_file
    - g_steal_pointer
    linkageType: ''
    returnType: GList*
    signature: 'static GList *_g_get_unix_mounts (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_MOUNT_MONITOR
      Src: /src/glib/gio/gunixmounts.c:2602,1
    - Dst: g_context_specific_group_remove
      Src: /src/glib/gio/gunixmounts.c:2604,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gunixmounts.c:2606,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 2607
      start: 2597
    functionDepth: 0
    functionLinenumber: 2597
    functionLinenumberEnd: 2607
    functionName: g_unix_mount_monitor_finalize
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_context_specific_group_remove
    - G_UNIX_MOUNT_MONITOR
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_mount_monitor_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_prepend
      Src: /src/glib/gio/gunixmounts.c:262,1
    - Dst: g_free
      Src: /src/glib/gio/gunixmounts.c:264,1
    - Dst: g_list_reverse
      Src: /src/glib/gio/gunixmounts.c:266,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gunixmounts.c:262,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 267
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 267
    functionName: unix_mount_point_array_free_to_list
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_list_reverse
    - g_free
    - g_list_prepend
    linkageType: ''
    returnType: GList*
    signature: 'static GList *unix_mount_point_array_free_to_list (GUnixMountPoint
      **points, size_t n_points) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gunixmounts.c:537,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixmounts.c:540,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixmounts.c:538,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixmounts.c:541,1
    - Dst: g_strdup
      Src: /src/glib/gio/gunixmounts.c:539,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 547
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 547
    functionName: create_unix_mount_point
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_new0
    - g_strdup
    linkageType: ''
    returnType: GUnixMountPoint*
    signature: 'static GUnixMountPoint *create_unix_mount_point (const char *device_path,
      const char *mount_path, const char *filesystem_type, const char *options, gboolean
      is_read_only, gboolean is_user_mountable, gboolean is_loopback) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: aix_fs_getword
      Src: /src/glib/gio/gunixmounts.c:1565,1
    - Dst: strlen
      Src: /src/glib/gio/gunixmounts.c:1577,1
    - Dst: strlen
      Src: /src/glib/gio/gunixmounts.c:1569,1
    - Dst: strcpy
      Src: /src/glib/gio/gunixmounts.c:1570,1
    - Dst: aix_fs_getword
      Src: /src/glib/gio/gunixmounts.c:1574,1
    - Dst: aix_fs_getword
      Src: /src/glib/gio/gunixmounts.c:1581,1
    - Dst: aix_fs_getword
      Src: /src/glib/gio/gunixmounts.c:1584,1
    - Dst: strcmp
      Src: /src/glib/gio/gunixmounts.c:1586,1
    - Dst: strcpy
      Src: /src/glib/gio/gunixmounts.c:1587,1
    - Dst: strcmp
      Src: /src/glib/gio/gunixmounts.c:1588,1
    - Dst: strcpy
      Src: /src/glib/gio/gunixmounts.c:1589,1
    - Dst: strcmp
      Src: /src/glib/gio/gunixmounts.c:1590,1
    - Dst: strcpy
      Src: /src/glib/gio/gunixmounts.c:1591,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - fd
    - prop
    argTypes:
    - FILE*
    - AixMountTableEntry*
    constantsTouched: []
    func_position:
      end: 1595
      start: 1555
    functionDepth: 0
    functionLinenumber: 1555
    functionLinenumberEnd: 1595
    functionName: aix_fs_get
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - aix_fs_getword
    - strcmp
    - strcpy
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int aix_fs_get (FILE *fd, AixMountTableEntry *prop) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_unix_mounts_get_from_file
      Src: /src/glib/gio/gunixmounts.c:1920,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1921
      start: 1915
    functionDepth: 0
    functionLinenumber: 1915
    functionLinenumberEnd: 1921
    functionName: g_unix_mount_entries_get_from_file
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - _g_unix_mounts_get_from_file
    linkageType: ''
    returnType: GUnixMountEntry**
    signature: 'GUnixMountEntry **g_unix_mount_entries_get_from_file (const char *table_path,
      uint64_t *time_read_out, size_t *n_entries_out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_mount_entries_get_from_file
      Src: /src/glib/gio/gunixmounts.c:1889,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1890
      start: 1884
    functionDepth: 0
    functionLinenumber: 1884
    functionLinenumberEnd: 1890
    functionName: g_unix_mounts_get_from_file
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_unix_mount_entries_get_from_file
    linkageType: ''
    returnType: GUnixMountEntry**
    signature: 'GUnixMountEntry **g_unix_mounts_get_from_file (const char *table_path,
      uint64_t *time_read_out, size_t *n_entries_out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:3278,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3281
      start: 3275
    functionDepth: 0
    functionLinenumber: 3275
    functionLinenumberEnd: 3281
    functionName: g_unix_mount_point_get_options
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_unix_mount_point_get_options (GUnixMountPoint *mount_point) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixmounts.c:3185,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gunixmounts.c:3187,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gunixmounts.c:3199,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gunixmounts.c:3195,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gunixmounts.c:3191,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 2
    argNames:
    - mount1
    - mount2
    argTypes:
    - GUnixMountPoint*
    - GUnixMountPoint*
    constantsTouched: []
    func_position:
      end: 3216
      start: 3179
    functionDepth: 0
    functionLinenumber: 3179
    functionLinenumberEnd: 3216
    functionName: g_unix_mount_point_compare
    functionSourceFile: /src/glib/gio/gunixmounts.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_strcmp0
    linkageType: ''
    returnType: gint
    signature: "gint g_unix_mount_point_compare (GUnixMountPoint *mount1,\t\t\t GUnixMountPoint\
      \ *mount2) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_FD_MESSAGE
      Src: /src/glib/gio/gunixfdmessage.c:56,1
    - Dst: g_unix_fd_list_get_length
      Src: /src/glib/gio/gunixfdmessage.c:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - message
    argTypes:
    - GSocketControlMessage*
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: g_unix_fd_message_get_size
    functionSourceFile: /src/glib/gio/gunixfdmessage.c
    functionUses: []
    functionsReached:
    - g_unix_fd_list_get_length
    - G_UNIX_FD_MESSAGE
    linkageType: ''
    returnType: gsize
    signature: 'static gsize g_unix_fd_message_get_size (GSocketControlMessage *message) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - message
    argTypes:
    - GSocketControlMessage*
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: g_unix_fd_message_get_msg_type
    functionSourceFile: /src/glib/gio/gunixfdmessage.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int g_unix_fd_message_get_msg_type (GSocketControlMessage *message) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_FD_MESSAGE
      Src: /src/glib/gio/gunixfdmessage.c:131,1
    - Dst: memcpy
      Src: /src/glib/gio/gunixfdmessage.c:136,1
    - Dst: g_unix_fd_list_peek_fds
      Src: /src/glib/gio/gunixfdmessage.c:135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - message
    - data
    argTypes:
    - GSocketControlMessage*
    - gpointer
    constantsTouched: []
    func_position:
      end: 137
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 137
    functionName: g_unix_fd_message_serialize
    functionSourceFile: /src/glib/gio/gunixfdmessage.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_unix_fd_list_peek_fds
    - G_UNIX_FD_MESSAGE
    linkageType: ''
    returnType: void
    signature: "static void g_unix_fd_message_serialize (GSocketControlMessage *message,\t\
      \t\t gpointer data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: g_unix_fd_message_get_fd_list
    functionSourceFile: /src/glib/gio/gunixfdmessage.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GUnixFDList*
    signature: 'GUnixFDList *g_unix_fd_message_get_fd_list (GUnixFDMessage *message) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_fd_message_get_instance_private
      Src: /src/glib/gio/gunixfdmessage.c:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - message
    argTypes:
    - GUnixFDMessage*
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: g_unix_fd_message_init
    functionSourceFile: /src/glib/gio/gunixfdmessage.c
    functionUses: []
    functionsReached:
    - g_unix_fd_message_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_fd_message_init (GUnixFDMessage *message) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gunixfdmessage.c:241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 242
    functionName: g_unix_fd_message_new
    functionSourceFile: /src/glib/gio/gunixfdmessage.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: GSocketControlMessage*
    signature: 'GSocketControlMessage *g_unix_fd_message_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gunixfdmessage.c:257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 260
    functionName: g_unix_fd_message_new_with_fd_list
    functionSourceFile: /src/glib/gio/gunixfdmessage.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: GSocketControlMessage*
    signature: 'GSocketControlMessage *g_unix_fd_message_new_with_fd_list (GUnixFDList
      *fd_list) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_warning
      Src: /src/glib/gio/gunixfdmessage.c:90,1
    - Dst: g_strerror
      Src: /src/glib/gio/gunixfdmessage.c:115,1
    - Dst: g_unix_fd_list_new_from_array
      Src: /src/glib/gio/gunixfdmessage.c:120,1
    - Dst: fcntl
      Src: /src/glib/gio/gunixfdmessage.c:107,1
    - Dst: g_warning
      Src: /src/glib/gio/gunixfdmessage.c:114,1
    - Dst: g_unix_fd_message_new_with_fd_list
      Src: /src/glib/gio/gunixfdmessage.c:121,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixfdmessage.c:122,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 125
    functionName: g_unix_fd_message_deserialize
    functionSourceFile: /src/glib/gio/gunixfdmessage.c
    functionUses: []
    functionsReached:
    - g_warning
    - g_object_unref
    - g_unix_fd_list_new_from_array
    - g_unix_fd_message_new_with_fd_list
    - g_strerror
    - fcntl
    linkageType: ''
    returnType: GSocketControlMessage*
    signature: "static GSocketControlMessage *g_unix_fd_message_deserialize (int level,\t\
      \t\t int type,\t\t\t gsize size,\t\t\t gpointer data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - message
    argTypes:
    - GSocketControlMessage*
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: g_unix_fd_message_get_level
    functionSourceFile: /src/glib/gio/gunixfdmessage.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int g_unix_fd_message_get_level (GSocketControlMessage *message) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_FD_MESSAGE
      Src: /src/glib/gio/gunixfdmessage.c:143,1
    - Dst: g_unix_fd_list_new
      Src: /src/glib/gio/gunixfdmessage.c:151,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/gunixfdmessage.c:148,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/gunixfdmessage.c:146,1
    - Dst: g_assert
      Src: /src/glib/gio/gunixfdmessage.c:145,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 152
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 152
    functionName: g_unix_fd_message_set_property
    functionSourceFile: /src/glib/gio/gunixfdmessage.c
    functionUses: []
    functionsReached:
    - g_assert
    - G_UNIX_FD_MESSAGE
    - g_unix_fd_list_new
    - g_value_dup_object
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_fd_message_set_property (GObject *object, guint
      prop_id, const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_FD_MESSAGE
      Src: /src/glib/gio/gunixfdmessage.c:176,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gunixfdmessage.c:180,1
    - Dst: g_unix_fd_message_get_fd_list
      Src: /src/glib/gio/gunixfdmessage.c:180,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/gunixfdmessage.c:178,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 181
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 181
    functionName: g_unix_fd_message_get_property
    functionSourceFile: /src/glib/gio/gunixfdmessage.c
    functionUses: []
    functionsReached:
    - g_value_set_object
    - g_unix_fd_message_get_fd_list
    - G_UNIX_FD_MESSAGE
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_fd_message_get_property (GObject *object, guint
      prop_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_FD_MESSAGE
      Src: /src/glib/gio/gunixfdmessage.c:192,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gunixfdmessage.c:196,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gunixfdmessage.c:194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 198
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 198
    functionName: g_unix_fd_message_finalize
    functionSourceFile: /src/glib/gio/gunixfdmessage.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - G_UNIX_FD_MESSAGE
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_fd_message_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_CONTROL_MESSAGE_CLASS
      Src: /src/glib/gio/gunixfdmessage.c:203,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gunixfdmessage.c:222,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gunixfdmessage.c:223,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gunixfdmessage.c:204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - class
    argTypes:
    - GUnixFDMessageClass*
    constantsTouched: []
    func_position:
      end: 226
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 226
    functionName: g_unix_fd_message_class_init
    functionSourceFile: /src/glib/gio/gunixfdmessage.c
    functionUses: []
    functionsReached:
    - g_param_spec_object
    - G_SOCKET_CONTROL_MESSAGE_CLASS
    - g_object_class_install_property
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_fd_message_class_init (GUnixFDMessageClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixfdmessage.c:295,1
    - Dst: G_UNIX_FD_MESSAGE
      Src: /src/glib/gio/gunixfdmessage.c:295,1
    - Dst: g_unix_fd_list_steal_fds
      Src: /src/glib/gio/gunixfdmessage.c:297,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 298
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 298
    functionName: g_unix_fd_message_steal_fds
    functionSourceFile: /src/glib/gio/gunixfdmessage.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_UNIX_FD_MESSAGE
    - g_unix_fd_list_steal_fds
    linkageType: ''
    returnType: gint*
    signature: 'gint *g_unix_fd_message_steal_fds (GUnixFDMessage *message, gint *length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixfdmessage.c:324,1
    - Dst: G_UNIX_FD_MESSAGE
      Src: /src/glib/gio/gunixfdmessage.c:324,1
    - Dst: g_unix_fd_list_append
      Src: /src/glib/gio/gunixfdmessage.c:326,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - message
    - fd
    - error
    argTypes:
    - GUnixFDMessage*
    - gint
    - GError**
    constantsTouched: []
    func_position:
      end: 327
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 327
    functionName: g_unix_fd_message_append_fd
    functionSourceFile: /src/glib/gio/gunixfdmessage.c
    functionUses: []
    functionsReached:
    - g_unix_fd_list_append
    - g_return_val_if_fail
    - G_UNIX_FD_MESSAGE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unix_fd_message_append_fd (GUnixFDMessage *message, gint
      fd, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - source
    - callback
    - user_data
    argTypes:
    - GSource*
    - GSourceFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: pollable_source_dispatch
    functionSourceFile: /src/glib/gio/gpollableutils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean pollable_source_dispatch (GSource *source,\t\t\t GSourceFunc\
      \ callback,\t\t\t gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gpollableutils.c:107,1
    - Dst: G_IS_POLLABLE_INPUT_STREAM
      Src: /src/glib/gio/gpollableutils.c:107,1
    - Dst: G_IS_POLLABLE_OUTPUT_STREAM
      Src: /src/glib/gio/gpollableutils.c:108,1
    - Dst: g_source_new
      Src: /src/glib/gio/gpollableutils.c:110,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gpollableutils.c:111,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gpollableutils.c:113,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 116
    functionName: g_pollable_source_new
    functionSourceFile: /src/glib/gio/gpollableutils.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_source_new
    - G_IS_POLLABLE_INPUT_STREAM
    - G_IS_POLLABLE_OUTPUT_STREAM
    - g_object_ref
    - g_source_set_static_name
    linkageType: ''
    returnType: GSource*
    signature: 'GSource *g_pollable_source_new (GObject *pollable_stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gio/gpollableutils.c:63,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gpollableutils.c:66,1
    - Dst: g_value_init
      Src: /src/glib/gio/gpollableutils.c:65,1
    - Dst: g_closure_invoke
      Src: /src/glib/gio/gpollableutils.c:68,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gpollableutils.c:70,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gpollableutils.c:71,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gpollableutils.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - stream
    - data
    argTypes:
    - GObject*
    - gpointer
    constantsTouched: []
    func_position:
      end: 75
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 75
    functionName: pollable_source_closure_callback
    functionSourceFile: /src/glib/gio/gpollableutils.c
    functionUses: []
    functionsReached:
    - g_value_get_boolean
    - g_closure_invoke
    - g_value_init
    - g_value_set_object
    - g_value_unset
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean pollable_source_closure_callback (GObject *stream,\t\
      \t\t\t gpointer data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_output_stream_write
      Src: /src/glib/gio/gpollableutils.c:243,1
    - Dst: g_pollable_output_stream_write_nonblocking
      Src: /src/glib/gio/gpollableutils.c:249,1
    - Dst: G_POLLABLE_OUTPUT_STREAM
      Src: /src/glib/gio/gpollableutils.c:249,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 6
    argNames:
    - stream
    - buffer
    - count
    - blocking
    - cancellable
    - error
    argTypes:
    - GOutputStream*
    - void*
    - gsize
    - gboolean
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 253
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 253
    functionName: g_pollable_stream_write
    functionSourceFile: /src/glib/gio/gpollableutils.c
    functionUses: []
    functionsReached:
    - G_POLLABLE_OUTPUT_STREAM
    - g_pollable_output_stream_write_nonblocking
    - g_output_stream_write
    linkageType: ''
    returnType: gssize
    signature: "gssize g_pollable_stream_write (GOutputStream *stream,\t\t\t const\
      \ void *buffer,\t\t\t gsize count,\t\t\t gboolean blocking,\t\t\t GCancellable\
      \ *cancellable,\t\t\t GError **error) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_pollable_stream_write
      Src: /src/glib/gio/gpollableutils.c:305,1
    - Dst: g_warning
      Src: /src/glib/gio/gpollableutils.c:318,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 7
    argNames:
    - stream
    - buffer
    - count
    - blocking
    - bytes_written
    - cancellable
    - error
    argTypes:
    - GOutputStream*
    - void*
    - gsize
    - gboolean
    - gsize*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 327
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 327
    functionName: g_pollable_stream_write_all
    functionSourceFile: /src/glib/gio/gpollableutils.c
    functionUses: []
    functionsReached:
    - g_pollable_stream_write
    - g_warning
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_pollable_stream_write_all (GOutputStream *stream,\t\t\t\
      \ const void *buffer,\t\t\t gsize count,\t\t\t gboolean blocking,\t\t\t gsize\
      \ *bytes_written,\t\t\t GCancellable *cancellable,\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/gpollableutils.c:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: pollable_source_finalize
    functionSourceFile: /src/glib/gio/gpollableutils.c
    functionUses: []
    functionsReached:
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void pollable_source_finalize (GSource *source) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gpollableutils.c:141,1
    - Dst: G_IS_POLLABLE_INPUT_STREAM
      Src: /src/glib/gio/gpollableutils.c:141,1
    - Dst: G_IS_POLLABLE_OUTPUT_STREAM
      Src: /src/glib/gio/gpollableutils.c:142,1
    - Dst: g_pollable_source_new
      Src: /src/glib/gio/gpollableutils.c:144,1
    - Dst: g_source_set_dummy_callback
      Src: /src/glib/gio/gpollableutils.c:147,1
    - Dst: g_source_add_child_source
      Src: /src/glib/gio/gpollableutils.c:148,1
    - Dst: g_cancellable_source_new
      Src: /src/glib/gio/gpollableutils.c:152,1
    - Dst: g_source_set_dummy_callback
      Src: /src/glib/gio/gpollableutils.c:154,1
    - Dst: g_source_add_child_source
      Src: /src/glib/gio/gpollableutils.c:155,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gpollableutils.c:156,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 160
    functionName: g_pollable_source_new_full
    functionSourceFile: /src/glib/gio/gpollableutils.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_POLLABLE_INPUT_STREAM
    - g_cancellable_source_new
    - g_pollable_source_new
    - G_IS_POLLABLE_OUTPUT_STREAM
    - g_source_unref
    - g_source_add_child_source
    - g_source_set_dummy_callback
    linkageType: ''
    returnType: GSource*
    signature: "GSource *g_pollable_source_new_full (gpointer pollable_stream,\t\t\
      \t GSource *child_source,\t\t\t GCancellable *cancellable) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_input_stream_read
      Src: /src/glib/gio/gpollableutils.c:196,1
    - Dst: G_POLLABLE_INPUT_STREAM
      Src: /src/glib/gio/gpollableutils.c:202,1
    - Dst: g_pollable_input_stream_read_nonblocking
      Src: /src/glib/gio/gpollableutils.c:202,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 6
    argNames:
    - stream
    - buffer
    - count
    - blocking
    - cancellable
    - error
    argTypes:
    - GInputStream*
    - void*
    - gsize
    - gboolean
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 206
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 206
    functionName: g_pollable_stream_read
    functionSourceFile: /src/glib/gio/gpollableutils.c
    functionUses: []
    functionsReached:
    - g_input_stream_read
    - g_pollable_input_stream_read_nonblocking
    - G_POLLABLE_INPUT_STREAM
    linkageType: ''
    returnType: gssize
    signature: "gssize g_pollable_stream_read (GInputStream *stream,\t\t\tvoid *buffer,\t\
      \t\tgsize count,\t\t\tgboolean blocking,\t\t\tGCancellable *cancellable,\t\t\
      \tGError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - dbus
    argTypes:
    - GPowerProfileMonitorDBus*
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: g_power_profile_monitor_dbus_init
    functionSourceFile: /src/glib/gio/gpowerprofilemonitordbus.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_power_profile_monitor_dbus_init (GPowerProfileMonitorDBus
      *dbus) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_signal_handler
      Src: /src/glib/gio/gpowerprofilemonitordbus.c:164,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gpowerprofilemonitordbus.c:165,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gpowerprofilemonitordbus.c:168,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gpowerprofilemonitordbus.c:168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 169
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 169
    functionName: ppd_vanished_cb
    functionSourceFile: /src/glib/gio/gpowerprofilemonitordbus.c
    functionUses: []
    functionsReached:
    - g_object_notify
    - g_clear_object
    - g_clear_signal_handler
    - G_OBJECT
    linkageType: ''
    returnType: void
    signature: 'static void ppd_vanished_cb (GDBusConnection *connection, const gchar
      *name, gpointer user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_proxy_new_finish
      Src: /src/glib/gio/gpowerprofilemonitordbus.c:110,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/gpowerprofilemonitordbus.c:119,1
    - Dst: g_debug
      Src: /src/glib/gio/gpowerprofilemonitordbus.c:113,1
    - Dst: g_error_free
      Src: /src/glib/gio/gpowerprofilemonitordbus.c:115,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gpowerprofilemonitordbus.c:121,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gpowerprofilemonitordbus.c:123,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gpowerprofilemonitordbus.c:124,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gpowerprofilemonitordbus.c:128,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gpowerprofilemonitordbus.c:128,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gpowerprofilemonitordbus.c:131,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gpowerprofilemonitordbus.c:133,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gpowerprofilemonitordbus.c:134,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gpowerprofilemonitordbus.c:135,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gpowerprofilemonitordbus.c:133,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 136
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 136
    functionName: ppd_proxy_cb
    functionSourceFile: /src/glib/gio/gpowerprofilemonitordbus.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_variant_is_of_type
    - g_dbus_proxy_new_finish
    - g_object_notify
    - g_debug
    - G_OBJECT
    - g_variant_get_string
    - g_clear_pointer
    - G_CALLBACK
    - g_error_free
    - g_strcmp0
    - g_dbus_proxy_get_cached_property
    - g_signal_connect
    linkageType: ''
    returnType: void
    signature: 'static void ppd_proxy_cb (GObject *source_object, GAsyncResult *res,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_POWER_PROFILE_MONITOR_DBUS
      Src: /src/glib/gio/gpowerprofilemonitordbus.c:195,1
    - Dst: g_bus_watch_name
      Src: /src/glib/gio/gpowerprofilemonitordbus.c:198,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/gpowerprofilemonitordbus.c:197,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - initable
    - cancellable
    - error
    argTypes:
    - GInitable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 207
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 207
    functionName: g_power_profile_monitor_dbus_initable_init
    functionSourceFile: /src/glib/gio/gpowerprofilemonitordbus.c
    functionUses: []
    functionsReached:
    - g_bus_watch_name
    - g_cancellable_new
    - G_POWER_PROFILE_MONITOR_DBUS
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_power_profile_monitor_dbus_initable_init (GInitable
      *initable, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gpowerprofilemonitordbus.c:226,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gpowerprofilemonitordbus.c:231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - nl_class
    argTypes:
    - GPowerProfileMonitorDBusClass*
    constantsTouched: []
    func_position:
      end: 232
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 232
    functionName: g_power_profile_monitor_dbus_class_init
    functionSourceFile: /src/glib/gio/gpowerprofilemonitordbus.c
    functionUses: []
    functionsReached:
    - g_object_class_override_property
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_power_profile_monitor_dbus_class_init (GPowerProfileMonitorDBusClass
      *nl_class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_proxy_new
      Src: /src/glib/gio/gpowerprofilemonitordbus.c:146,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - connection
    - name
    - name_owner
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 155
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 155
    functionName: ppd_appeared_cb
    functionSourceFile: /src/glib/gio/gpowerprofilemonitordbus.c
    functionUses: []
    functionsReached:
    - g_dbus_proxy_new
    linkageType: ''
    returnType: void
    signature: 'static void ppd_appeared_cb (GDBusConnection *connection, const gchar
      *name, const gchar *name_owner, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_lookup
      Src: /src/glib/gio/gpowerprofilemonitordbus.c:87,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gpowerprofilemonitordbus.c:90,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gpowerprofilemonitordbus.c:95,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gpowerprofilemonitordbus.c:95,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 4
    argNames:
    - proxy
    - changed_properties
    - invalidated_properties
    - user_data
    argTypes:
    - GDBusProxy*
    - GVariant*
    - GStrv*
    - gpointer
    constantsTouched: []
    func_position:
      end: 96
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 96
    functionName: ppd_properties_changed_cb
    functionSourceFile: /src/glib/gio/gpowerprofilemonitordbus.c
    functionUses: []
    functionsReached:
    - g_object_notify
    - G_OBJECT
    - g_strcmp0
    - g_variant_lookup
    linkageType: ''
    returnType: void
    signature: 'static void ppd_properties_changed_cb (GDBusProxy *proxy, GVariant
      *changed_properties, GStrv *invalidated_properties, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_POWER_PROFILE_MONITOR_DBUS
      Src: /src/glib/gio/gpowerprofilemonitordbus.c:177,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gpowerprofilemonitordbus.c:182,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gpowerprofilemonitordbus.c:186,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 188
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 188
    functionName: g_power_profile_monitor_dbus_get_property
    functionSourceFile: /src/glib/gio/gpowerprofilemonitordbus.c
    functionUses: []
    functionsReached:
    - g_value_set_boolean
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_POWER_PROFILE_MONITOR_DBUS
    linkageType: ''
    returnType: void
    signature: 'static void g_power_profile_monitor_dbus_get_property (GObject *object,
      guint prop_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_POWER_PROFILE_MONITOR_DBUS
      Src: /src/glib/gio/gpowerprofilemonitordbus.c:212,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/gpowerprofilemonitordbus.c:214,1
    - Dst: g_clear_signal_handler
      Src: /src/glib/gio/gpowerprofilemonitordbus.c:216,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gpowerprofilemonitordbus.c:215,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gpowerprofilemonitordbus.c:217,1
    - Dst: g_clear_handle_id
      Src: /src/glib/gio/gpowerprofilemonitordbus.c:218,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gpowerprofilemonitordbus.c:220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 221
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 221
    functionName: g_power_profile_monitor_dbus_finalize
    functionSourceFile: /src/glib/gio/gpowerprofilemonitordbus.c
    functionUses: []
    functionsReached:
    - g_clear_signal_handler
    - g_clear_handle_id
    - G_POWER_PROFILE_MONITOR_DBUS
    - G_OBJECT_CLASS
    - g_clear_object
    - g_cancellable_cancel
    linkageType: ''
    returnType: void
    signature: 'static void g_power_profile_monitor_dbus_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - monitor_iface
    argTypes:
    - GPowerProfileMonitorInterface*
    constantsTouched: []
    func_position:
      end: 237
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 237
    functionName: g_power_profile_monitor_dbus_iface_init
    functionSourceFile: /src/glib/gio/gpowerprofilemonitordbus.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_power_profile_monitor_dbus_iface_init (GPowerProfileMonitorInterface
      *monitor_iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GInitableIface*
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: g_power_profile_monitor_dbus_initable_iface_init
    functionSourceFile: /src/glib/gio/gpowerprofilemonitordbus.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_power_profile_monitor_dbus_initable_iface_init (GInitableIface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DECLARE_DERIVABLE_TYPE
      Src: /src/glib/gio/gdebugcontrollerdbus.h:32,1
    - Dst: gboolean
      Src: /src/glib/gio/gdebugcontrollerdbus.h:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ()
    argTypes:
    - g_debug_controller_dbus_get_type
    constantsTouched: []
    func_position:
      end: 51
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 51
    functionName: G_TYPE_DEBUG_CONTROLLER_DBUS
    functionSourceFile: /src/glib/gio/gdebugcontrollerdbus.h
    functionUses: []
    functionsReached:
    - gboolean
    - G_DECLARE_DERIVABLE_TYPE
    linkageType: ''
    returnType: G_BEGIN_DECLS
    signature: 'G_BEGIN_DECLS #define G_TYPE_DEBUG_CONTROLLER_DBUS (g_debug_controller_dbus_get_type
      ())GIO_AVAILABLE_IN_2_72G_DECLARE_DERIVABLE_TYPE (GDebugControllerDBus, g_debug_controller_dbus,
      G, DEBUG_CONTROLLER_DBUS, GObject)/** * GDebugControllerDBusClass: * @parent_class:
      The parent class. * @authorize: Default handler for the #GDebugControllerDBus::authorize
      signal. * * The virtual function table for #GDebugControllerDBus. * * Since:
      2.72 */struct _GDebugControllerDBusClass '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlscertificate.c:675,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gtlscertificate.c:684,1
    - Dst: strlen
      Src: /src/glib/gio/gtlscertificate.c:679,1
    - Dst: parse_private_key
      Src: /src/glib/gio/gtlscertificate.c:681,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlscertificate.c:676,1
    - Dst: parse_and_create_certificate
      Src: /src/glib/gio/gtlscertificate.c:688,1
    - Dst: g_free
      Src: /src/glib/gio/gtlscertificate.c:689,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 692
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 692
    functionName: g_tls_certificate_new_from_pem
    functionSourceFile: /src/glib/gio/gtlscertificate.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_return_val_if_fail
    - strlen
    - parse_and_create_certificate
    - parse_private_key
    - g_free
    linkageType: ''
    returnType: GTlsCertificate*
    signature: "GTlsCertificate *g_tls_certificate_new_from_pem (const gchar *data,\t\
      \t\t\t gssize length,\t\t\t\t GError **error) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_file_get_contents
      Src: /src/glib/gio/gtlscertificate.c:892,1
    - Dst: g_file_get_contents
      Src: /src/glib/gio/gtlscertificate.c:900,1
    - Dst: parse_private_key
      Src: /src/glib/gio/gtlscertificate.c:895,1
    - Dst: g_free
      Src: /src/glib/gio/gtlscertificate.c:896,1
    - Dst: g_free
      Src: /src/glib/gio/gtlscertificate.c:902,1
    - Dst: parse_and_create_certificate
      Src: /src/glib/gio/gtlscertificate.c:906,1
    - Dst: g_free
      Src: /src/glib/gio/gtlscertificate.c:907,1
    - Dst: g_free
      Src: /src/glib/gio/gtlscertificate.c:908,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 910
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 910
    functionName: g_tls_certificate_new_from_files
    functionSourceFile: /src/glib/gio/gtlscertificate.c
    functionUses: []
    functionsReached:
    - parse_and_create_certificate
    - g_file_get_contents
    - g_free
    - parse_private_key
    linkageType: ''
    returnType: GTlsCertificate*
    signature: 'GTlsCertificate *g_tls_certificate_new_from_files (const gchar *cert_file,
      const gchar *key_file, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_TLS_CERTIFICATE_GET_CLASS
      Src: /src/glib/gio/gtlscertificate.c:1118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - cert
    - identity
    - trusted_ca
    argTypes:
    - GTlsCertificate*
    - GSocketConnectable*
    - GTlsCertificate*
    constantsTouched: []
    func_position:
      end: 1119
      start: 1113
    functionDepth: 0
    functionLinenumber: 1113
    functionLinenumberEnd: 1119
    functionName: g_tls_certificate_verify
    functionSourceFile: /src/glib/gio/gtlscertificate.c
    functionUses: []
    functionsReached:
    - G_TLS_CERTIFICATE_GET_CLASS
    linkageType: ''
    returnType: GTlsCertificateFlags
    signature: "GTlsCertificateFlags g_tls_certificate_verify (GTlsCertificate *cert,\t\
      \t\t GSocketConnectable *identity,\t\t\t GTlsCertificate *trusted_ca) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parse_and_create_certificate_list
      Src: /src/glib/gio/gtlscertificate.c:616,1
    - Dst: g_tls_certificate_new_internal
      Src: /src/glib/gio/gtlscertificate.c:633,1
    - Dst: g_slist_last
      Src: /src/glib/gio/gtlscertificate.c:631,1
    - Dst: create_certificate_chain_from_list
      Src: /src/glib/gio/gtlscertificate.c:623,1
    - Dst: g_slist_free_full
      Src: /src/glib/gio/gtlscertificate.c:636,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 639
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 639
    functionName: parse_and_create_certificate
    functionSourceFile: /src/glib/gio/gtlscertificate.c
    functionUses: []
    functionsReached:
    - g_slist_last
    - create_certificate_chain_from_list
    - parse_and_create_certificate_list
    - g_tls_certificate_new_internal
    - g_slist_free_full
    linkageType: ''
    returnType: GTlsCertificate*
    signature: 'static GTlsCertificate *parse_and_create_certificate (const gchar
      *data, gsize data_len, const gchar *key_pem, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlscertificate.c:840,1
    - Dst: g_file_get_contents
      Src: /src/glib/gio/gtlscertificate.c:843,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/gtlscertificate.c:846,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/gtlscertificate.c:846,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlscertificate.c:841,1
    - Dst: g_tls_certificate_new_from_pkcs12
      Src: /src/glib/gio/gtlscertificate.c:847,1
    - Dst: g_tls_certificate_new_from_pem
      Src: /src/glib/gio/gtlscertificate.c:849,1
    - Dst: g_free
      Src: /src/glib/gio/gtlscertificate.c:851,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 853
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 853
    functionName: g_tls_certificate_new_from_file
    functionSourceFile: /src/glib/gio/gtlscertificate.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_str_has_suffix
    - g_tls_certificate_new_from_pkcs12
    - g_tls_certificate_new_from_pem
    - g_file_get_contents
    - g_free
    linkageType: ''
    returnType: GTlsCertificate*
    signature: 'GTlsCertificate *g_tls_certificate_new_from_file (const gchar *file,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_get
      Src: /src/glib/gio/gtlscertificate.c:1062,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlscertificate.c:1062,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gtlscertificate.c:1064,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1057
    functionDepth: 0
    functionLinenumber: 1057
    functionLinenumberEnd: 1067
    functionName: g_tls_certificate_get_issuer
    functionSourceFile: /src/glib/gio/gtlscertificate.c
    functionUses: []
    functionsReached:
    - g_object_get
    - g_object_unref
    - G_OBJECT
    linkageType: ''
    returnType: GTlsCertificate*
    signature: 'GTlsCertificate *g_tls_certificate_get_issuer (GTlsCertificate *cert) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlscertificate.c:1174,1
    - Dst: g_object_get
      Src: /src/glib/gio/gtlscertificate.c:1176,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlscertificate.c:1176,1
    - Dst: G_IS_TLS_CERTIFICATE
      Src: /src/glib/gio/gtlscertificate.c:1174,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gtlscertificate.c:1178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1169
    functionDepth: 0
    functionLinenumber: 1169
    functionLinenumberEnd: 1179
    functionName: g_tls_certificate_get_not_valid_before
    functionSourceFile: /src/glib/gio/gtlscertificate.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_object_get
    - g_return_val_if_fail
    - G_IS_TLS_CERTIFICATE
    - G_OBJECT
    linkageType: ''
    returnType: GDateTime*
    signature: 'GDateTime *g_tls_certificate_get_not_valid_before (GTlsCertificate
      *cert) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_tls_certificate_get_instance_private
      Src: /src/glib/gio/gtlscertificate.c:101,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gtlscertificate.c:115,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 5
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 117
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 117
    functionName: g_tls_certificate_set_property
    functionSourceFile: /src/glib/gio/gtlscertificate.c
    functionUses: []
    functionsReached:
    - g_tls_certificate_get_instance_private
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: "static void g_tls_certificate_set_property (GObject *object,\t\t\t\
      \tguint prop_id,\t\t\t\tconst GValue *value,\t\t\t\tGParamSpec *pspec) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlscertificate.c:1143,1
    - Dst: G_IS_TLS_CERTIFICATE
      Src: /src/glib/gio/gtlscertificate.c:1144,1
    - Dst: G_IS_TLS_CERTIFICATE
      Src: /src/glib/gio/gtlscertificate.c:1143,1
    - Dst: g_object_get
      Src: /src/glib/gio/gtlscertificate.c:1146,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlscertificate.c:1144,1
    - Dst: g_object_get
      Src: /src/glib/gio/gtlscertificate.c:1147,1
    - Dst: memcmp
      Src: /src/glib/gio/gtlscertificate.c:1150,1
    - Dst: g_byte_array_unref
      Src: /src/glib/gio/gtlscertificate.c:1152,1
    - Dst: g_byte_array_unref
      Src: /src/glib/gio/gtlscertificate.c:1153,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - cert_one
    - cert_two
    argTypes:
    - GTlsCertificate*
    - GTlsCertificate*
    constantsTouched: []
    func_position:
      end: 1156
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1156
    functionName: g_tls_certificate_is_same
    functionSourceFile: /src/glib/gio/gtlscertificate.c
    functionUses: []
    functionsReached:
    - g_object_get
    - g_return_val_if_fail
    - g_byte_array_unref
    - G_IS_TLS_CERTIFICATE
    - memcmp
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_tls_certificate_is_same (GTlsCertificate *cert_one, GTlsCertificate
      *cert_two) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlscertificate.c:1286,1
    - Dst: G_IS_TLS_CERTIFICATE
      Src: /src/glib/gio/gtlscertificate.c:1286,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gtlscertificate.c:1290,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlscertificate.c:1288,1
    - Dst: g_object_get
      Src: /src/glib/gio/gtlscertificate.c:1288,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1281
    functionDepth: 0
    functionLinenumber: 1281
    functionLinenumberEnd: 1291
    functionName: g_tls_certificate_get_ip_addresses
    functionSourceFile: /src/glib/gio/gtlscertificate.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_object_get
    - g_return_val_if_fail
    - G_IS_TLS_CERTIFICATE
    - G_OBJECT
    linkageType: ''
    returnType: GPtrArray*
    signature: 'GPtrArray *g_tls_certificate_get_ip_addresses (GTlsCertificate *cert) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gtlscertificate.c:301,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlscertificate.c:300,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlscertificate.c:315,1
    - Dst: g_param_spec_boxed
      Src: /src/glib/gio/gtlscertificate.c:316,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlscertificate.c:356,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gtlscertificate.c:357,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlscertificate.c:384,1
    - Dst: g_param_spec_boxed
      Src: /src/glib/gio/gtlscertificate.c:385,1
    - Dst: g_param_spec_boxed
      Src: /src/glib/gio/gtlscertificate.c:330,1
    - Dst: g_param_spec_boxed
      Src: /src/glib/gio/gtlscertificate.c:137,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlscertificate.c:136,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlscertificate.c:209,1
    - Dst: g_param_spec_boxed
      Src: /src/glib/gio/gtlscertificate.c:210,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlscertificate.c:343,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gtlscertificate.c:344,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gtlscertificate.c:122,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gtlscertificate.c:151,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlscertificate.c:150,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlscertificate.c:165,1
    - Dst: g_param_spec_boxed
      Src: /src/glib/gio/gtlscertificate.c:166,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gtlscertificate.c:240,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gtlscertificate.c:268,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlscertificate.c:239,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlscertificate.c:267,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlscertificate.c:329,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlscertificate.c:180,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gtlscertificate.c:181,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gtlscertificate.c:286,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlscertificate.c:285,1
    - Dst: g_param_spec_boxed
      Src: /src/glib/gio/gtlscertificate.c:371,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlscertificate.c:370,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 58
    argCount: 1
    argNames:
    - class
    argTypes:
    - GTlsCertificateClass*
    constantsTouched: []
    func_position:
      end: 389
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 389
    functionName: g_tls_certificate_class_init
    functionSourceFile: /src/glib/gio/gtlscertificate.c
    functionUses: []
    functionsReached:
    - g_param_spec_object
    - g_param_spec_boxed
    - g_object_class_install_property
    - G_OBJECT_CLASS
    - g_param_spec_string
    linkageType: ''
    returnType: void
    signature: 'static void g_tls_certificate_class_init (GTlsCertificateClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlscertificate.c:1218,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gtlscertificate.c:1222,1
    - Dst: G_IS_TLS_CERTIFICATE
      Src: /src/glib/gio/gtlscertificate.c:1218,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlscertificate.c:1220,1
    - Dst: g_object_get
      Src: /src/glib/gio/gtlscertificate.c:1220,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1213
    functionDepth: 0
    functionLinenumber: 1213
    functionLinenumberEnd: 1223
    functionName: g_tls_certificate_get_subject_name
    functionSourceFile: /src/glib/gio/gtlscertificate.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_object_get
    - g_return_val_if_fail
    - G_IS_TLS_CERTIFICATE
    - G_OBJECT
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_tls_certificate_get_subject_name (GTlsCertificate *cert) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - cert
    argTypes:
    - GTlsCertificate*
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: g_tls_certificate_init
    functionSourceFile: /src/glib/gio/gtlscertificate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_tls_certificate_init (GTlsCertificate *cert) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlscertificate.c:1196,1
    - Dst: g_object_get
      Src: /src/glib/gio/gtlscertificate.c:1198,1
    - Dst: G_IS_TLS_CERTIFICATE
      Src: /src/glib/gio/gtlscertificate.c:1196,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlscertificate.c:1198,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gtlscertificate.c:1200,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1191
    functionDepth: 0
    functionLinenumber: 1191
    functionLinenumberEnd: 1201
    functionName: g_tls_certificate_get_not_valid_after
    functionSourceFile: /src/glib/gio/gtlscertificate.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_object_get
    - g_return_val_if_fail
    - G_IS_TLS_CERTIFICATE
    - G_OBJECT
    linkageType: ''
    returnType: GDateTime*
    signature: 'GDateTime *g_tls_certificate_get_not_valid_after (GTlsCertificate
      *cert) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_value_set_static_string
      Src: /src/glib/gio/gtlscertificate.c:87,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gtlscertificate.c:90,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 4
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 92
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 92
    functionName: g_tls_certificate_get_property
    functionSourceFile: /src/glib/gio/gtlscertificate.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_static_string
    linkageType: ''
    returnType: void
    signature: "static void g_tls_certificate_get_property (GObject *object,\t\t\t\
      \tguint prop_id,\t\t\t\tGValue *value,\t\t\t\tGParamSpec *pspec) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlscertificate.c:793,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlscertificate.c:794,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/gtlscertificate.c:797,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/gtlscertificate.c:797,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlscertificate.c:795,1
    - Dst: g_set_error
      Src: /src/glib/gio/gtlscertificate.c:799,1
    - Dst: g_file_get_contents
      Src: /src/glib/gio/gtlscertificate.c:804,1
    - Dst: g_tls_certificate_new_from_pkcs12
      Src: /src/glib/gio/gtlscertificate.c:807,1
    - Dst: g_free
      Src: /src/glib/gio/gtlscertificate.c:809,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 811
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 811
    functionName: g_tls_certificate_new_from_file_with_password
    functionSourceFile: /src/glib/gio/gtlscertificate.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_return_val_if_fail
    - g_str_has_suffix
    - g_tls_certificate_new_from_pkcs12
    - g_file_get_contents
    - g_free
    linkageType: ''
    returnType: GTlsCertificate*
    signature: 'GTlsCertificate *g_tls_certificate_new_from_file_with_password (const
      gchar *file, const gchar *password, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_file_get_contents
      Src: /src/glib/gio/gtlscertificate.c:1010,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gtlscertificate.c:1031,1
    - Dst: g_free
      Src: /src/glib/gio/gtlscertificate.c:1025,1
    - Dst: parse_next_pem_certificate
      Src: /src/glib/gio/gtlscertificate.c:1021,1
    - Dst: g_tls_certificate_new_internal
      Src: /src/glib/gio/gtlscertificate.c:1024,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gtlscertificate.c:1032,1
    - Dst: g_queue_push_tail
      Src: /src/glib/gio/gtlscertificate.c:1037,1
    - Dst: g_free
      Src: /src/glib/gio/gtlscertificate.c:1040,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1042
    functionName: g_tls_certificate_list_new_from_file
    functionSourceFile: /src/glib/gio/gtlscertificate.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_list_free_full
    - g_queue_push_tail
    - g_file_get_contents
    - g_tls_certificate_new_internal
    - parse_next_pem_certificate
    - g_free
    linkageType: ''
    returnType: GList*
    signature: "GList *g_tls_certificate_list_new_from_file (const gchar *file,\t\t\
      \t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlscertificate.c:1263,1
    - Dst: g_object_get
      Src: /src/glib/gio/gtlscertificate.c:1265,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gtlscertificate.c:1267,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlscertificate.c:1265,1
    - Dst: G_IS_TLS_CERTIFICATE
      Src: /src/glib/gio/gtlscertificate.c:1263,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1258
    functionDepth: 0
    functionLinenumber: 1258
    functionLinenumberEnd: 1268
    functionName: g_tls_certificate_get_dns_names
    functionSourceFile: /src/glib/gio/gtlscertificate.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_object_get
    - g_return_val_if_fail
    - G_IS_TLS_CERTIFICATE
    - G_OBJECT
    linkageType: ''
    returnType: GPtrArray*
    signature: 'GPtrArray *g_tls_certificate_get_dns_names (GTlsCertificate *cert) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_tls_backend_get_default
      Src: /src/glib/gio/gtlscertificate.c:400,1
    - Dst: G_TLS_CERTIFICATE
      Src: /src/glib/gio/gtlscertificate.c:409,1
    - Dst: g_initable_new
      Src: /src/glib/gio/gtlscertificate.c:402,1
    - Dst: g_tls_backend_get_certificate_type
      Src: /src/glib/gio/gtlscertificate.c:402,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 410
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 410
    functionName: g_tls_certificate_new_internal
    functionSourceFile: /src/glib/gio/gtlscertificate.c
    functionUses: []
    functionsReached:
    - g_tls_backend_get_certificate_type
    - g_initable_new
    - g_tls_backend_get_default
    - G_TLS_CERTIFICATE
    linkageType: ''
    returnType: GTlsCertificate*
    signature: "static GTlsCertificate *g_tls_certificate_new_internal (const gchar\
      \ *certificate_pem,\t\t\t\tconst gchar *private_key_pem,\t\t\t\tGTlsCertificate\
      \ *issuer,\t\t\t\tGError **error) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_strstr_len
      Src: /src/glib/gio/gtlscertificate.c:429,1
    - Dst: _
      Src: /src/glib/gio/gtlscertificate.c:437,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gtlscertificate.c:436,1
    - Dst: strlen
      Src: /src/glib/gio/gtlscertificate.c:442,1
    - Dst: g_strrstr_len
      Src: /src/glib/gio/gtlscertificate.c:431,1
    - Dst: strncmp
      Src: /src/glib/gio/gtlscertificate.c:444,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gtlscertificate.c:446,1
    - Dst: _
      Src: /src/glib/gio/gtlscertificate.c:447,1
    - Dst: g_strstr_len
      Src: /src/glib/gio/gtlscertificate.c:451,1
    - Dst: g_strrstr_len
      Src: /src/glib/gio/gtlscertificate.c:453,1
    - Dst: g_strndup
      Src: /src/glib/gio/gtlscertificate.c:467,1
    - Dst: _
      Src: /src/glib/gio/gtlscertificate.c:458,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gtlscertificate.c:457,1
    - Dst: strlen
      Src: /src/glib/gio/gtlscertificate.c:462,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 468
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 468
    functionName: parse_private_key
    functionSourceFile: /src/glib/gio/gtlscertificate.c
    functionUses: []
    functionsReached:
    - strlen
    - g_strndup
    - g_strrstr_len
    - g_strstr_len
    - g_set_error_literal
    - strncmp
    - _
    linkageType: ''
    returnType: gchar*
    signature: "static gchar *parse_private_key (const gchar *data,\t\t gsize data_len,\t\
      \t gboolean required,\t\t GError **error) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parse_next_pem_certificate
      Src: /src/glib/gio/gtlscertificate.c:519,1
    - Dst: g_slist_prepend
      Src: /src/glib/gio/gtlscertificate.c:525,1
    - Dst: g_error_free
      Src: /src/glib/gio/gtlscertificate.c:539,1
    - Dst: parse_next_pem_certificate
      Src: /src/glib/gio/gtlscertificate.c:535,1
    - Dst: g_slist_free_full
      Src: /src/glib/gio/gtlscertificate.c:538,1
    - Dst: g_slist_prepend
      Src: /src/glib/gio/gtlscertificate.c:547,1
    - Dst: g_slist_concat
      Src: /src/glib/gio/gtlscertificate.c:550,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 553
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 553
    functionName: parse_and_create_certificate_list
    functionSourceFile: /src/glib/gio/gtlscertificate.c
    functionUses: []
    functionsReached:
    - g_slist_free_full
    - g_error_free
    - g_slist_prepend
    - g_slist_concat
    - parse_next_pem_certificate
    linkageType: ''
    returnType: GSList*
    signature: 'static GSList *parse_and_create_certificate_list (const gchar *data,
      gsize data_len, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlscertificate.c:733,1
    - Dst: g_byte_array_append
      Src: /src/glib/gio/gtlscertificate.c:739,1
    - Dst: g_tls_backend_get_default
      Src: /src/glib/gio/gtlscertificate.c:736,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlscertificate.c:734,1
    - Dst: g_byte_array_new
      Src: /src/glib/gio/gtlscertificate.c:738,1
    - Dst: g_initable_new
      Src: /src/glib/gio/gtlscertificate.c:741,1
    - Dst: g_tls_backend_get_certificate_type
      Src: /src/glib/gio/gtlscertificate.c:741,1
    - Dst: g_byte_array_unref
      Src: /src/glib/gio/gtlscertificate.c:747,1
    - Dst: g_tls_certificate_get_instance_private
      Src: /src/glib/gio/gtlscertificate.c:751,1
    - Dst: G_TLS_CERTIFICATE
      Src: /src/glib/gio/gtlscertificate.c:751,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gtlscertificate.c:756,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gtlscertificate.c:755,1
    - Dst: G_TLS_CERTIFICATE
      Src: /src/glib/gio/gtlscertificate.c:762,1
    - Dst: _
      Src: /src/glib/gio/gtlscertificate.c:757,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 763
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 763
    functionName: g_tls_certificate_new_from_pkcs12
    functionSourceFile: /src/glib/gio/gtlscertificate.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_byte_array_unref
    - g_byte_array_new
    - g_tls_backend_get_default
    - g_byte_array_append
    - G_TLS_CERTIFICATE
    - g_clear_object
    - g_set_error_literal
    - g_initable_new
    - g_tls_certificate_get_instance_private
    - _
    - g_tls_backend_get_certificate_type
    linkageType: ''
    returnType: GTlsCertificate*
    signature: 'GTlsCertificate *g_tls_certificate_new_from_pkcs12 (const guint8 *data,
      gsize length, const gchar *password, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlscertificate.c:955,1
    - Dst: g_initable_new
      Src: /src/glib/gio/gtlscertificate.c:960,1
    - Dst: g_tls_backend_get_default
      Src: /src/glib/gio/gtlscertificate.c:958,1
    - Dst: g_tls_backend_get_certificate_type
      Src: /src/glib/gio/gtlscertificate.c:960,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlscertificate.c:956,1
    - Dst: g_object_get
      Src: /src/glib/gio/gtlscertificate.c:971,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gtlscertificate.c:974,1
    - Dst: _
      Src: /src/glib/gio/gtlscertificate.c:974,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gtlscertificate.c:975,1
    - Dst: g_free
      Src: /src/glib/gio/gtlscertificate.c:978,1
    - Dst: G_TLS_CERTIFICATE
      Src: /src/glib/gio/gtlscertificate.c:981,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 982
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 982
    functionName: g_tls_certificate_new_from_pkcs11_uris
    functionSourceFile: /src/glib/gio/gtlscertificate.c
    functionUses: []
    functionsReached:
    - g_object_get
    - g_return_val_if_fail
    - g_object_unref
    - g_tls_backend_get_default
    - G_TLS_CERTIFICATE
    - g_set_error_literal
    - g_initable_new
    - _
    - g_tls_backend_get_certificate_type
    - g_free
    linkageType: ''
    returnType: GTlsCertificate*
    signature: 'GTlsCertificate *g_tls_certificate_new_from_pkcs11_uris (const gchar
      *pkcs11_uri, const gchar *private_key_pkcs11_uri, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlscertificate.c:1240,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlscertificate.c:1242,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gtlscertificate.c:1244,1
    - Dst: G_IS_TLS_CERTIFICATE
      Src: /src/glib/gio/gtlscertificate.c:1240,1
    - Dst: g_object_get
      Src: /src/glib/gio/gtlscertificate.c:1242,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1245
    functionName: g_tls_certificate_get_issuer_name
    functionSourceFile: /src/glib/gio/gtlscertificate.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_object_get
    - g_return_val_if_fail
    - G_IS_TLS_CERTIFICATE
    - G_OBJECT
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_tls_certificate_get_issuer_name (GTlsCertificate *cert) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_strstr_len
      Src: /src/glib/gio/gtlscertificate.c:479,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gtlscertificate.c:493,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gtlscertificate.c:484,1
    - Dst: g_strstr_len
      Src: /src/glib/gio/gtlscertificate.c:490,1
    - Dst: _
      Src: /src/glib/gio/gtlscertificate.c:485,1
    - Dst: _
      Src: /src/glib/gio/gtlscertificate.c:494,1
    - Dst: strlen
      Src: /src/glib/gio/gtlscertificate.c:497,1
    - Dst: g_strndup
      Src: /src/glib/gio/gtlscertificate.c:503,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 504
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 504
    functionName: parse_next_pem_certificate
    functionSourceFile: /src/glib/gio/gtlscertificate.c
    functionUses: []
    functionsReached:
    - strlen
    - g_strndup
    - g_strstr_len
    - g_set_error_literal
    - _
    linkageType: ''
    returnType: gchar*
    signature: "static gchar *parse_next_pem_certificate (const gchar **data,\t\t\t\
      \ const gchar *data_end,\t\t\t gboolean required,\t\t\t GError **error) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_tls_certificate_new_internal
      Src: /src/glib/gio/gtlscertificate.c:577,1
    - Dst: g_tls_certificate_verify
      Src: /src/glib/gio/gtlscertificate.c:594,1
    - Dst: g_slist_next
      Src: /src/glib/gio/gtlscertificate.c:588,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gtlscertificate.c:586,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gtlscertificate.c:579,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gtlscertificate.c:598,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gtlscertificate.c:601,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 604
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 604
    functionName: create_certificate_chain_from_list
    functionSourceFile: /src/glib/gio/gtlscertificate.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_tls_certificate_verify
    - g_slist_next
    - g_clear_object
    - g_tls_certificate_new_internal
    - g_object_ref
    linkageType: ''
    returnType: GTlsCertificate*
    signature: 'static GTlsCertificate *create_certificate_chain_from_list (GSList
      *pem_list, const gchar *key_pem) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_tree_nnodes
      Src: /src/glib/gio/gdelayedsettingsbackend.c:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - delayed
    argTypes:
    - GDelayedSettingsBackend*
    constantsTouched: []
    func_position:
      end: 250
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 250
    functionName: g_delayed_settings_backend_get_has_unapplied
    functionSourceFile: /src/glib/gio/gdelayedsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_tree_nnodes
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_delayed_settings_backend_get_has_unapplied (GDelayedSettingsBackend
      *delayed) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_tree_nnodes
      Src: /src/glib/gio/gdelayedsettingsbackend.c:280,1
    - Dst: g_settings_backend_changed_tree
      Src: /src/glib/gio/gdelayedsettingsbackend.c:288,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdelayedsettingsbackend.c:287,1
    - Dst: g_settings_backend_create_tree
      Src: /src/glib/gio/gdelayedsettingsbackend.c:286,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdelayedsettingsbackend.c:284,1
    - Dst: G_SETTINGS_BACKEND
      Src: /src/glib/gio/gdelayedsettingsbackend.c:288,1
    - Dst: g_tree_unref
      Src: /src/glib/gio/gdelayedsettingsbackend.c:289,1
    - Dst: g_delayed_settings_backend_notify_unapplied
      Src: /src/glib/gio/gdelayedsettingsbackend.c:291,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - delayed
    argTypes:
    - GDelayedSettingsBackend*
    constantsTouched: []
    func_position:
      end: 293
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 293
    functionName: g_delayed_settings_backend_revert
    functionSourceFile: /src/glib/gio/gdelayedsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_delayed_settings_backend_notify_unapplied
    - g_mutex_unlock
    - g_mutex_lock
    - g_tree_unref
    - g_settings_backend_create_tree
    - g_settings_backend_changed_tree
    - g_tree_nnodes
    - G_SETTINGS_BACKEND
    linkageType: ''
    returnType: void
    signature: 'void g_delayed_settings_backend_revert (GDelayedSettingsBackend *delayed) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_tree_nnodes
      Src: /src/glib/gio/gdelayedsettingsbackend.c:255,1
    - Dst: g_settings_backend_write_tree
      Src: /src/glib/gio/gdelayedsettingsbackend.c:263,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdelayedsettingsbackend.c:260,1
    - Dst: g_settings_backend_create_tree
      Src: /src/glib/gio/gdelayedsettingsbackend.c:262,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdelayedsettingsbackend.c:265,1
    - Dst: g_settings_backend_changed_tree
      Src: /src/glib/gio/gdelayedsettingsbackend.c:268,1
    - Dst: G_SETTINGS_BACKEND
      Src: /src/glib/gio/gdelayedsettingsbackend.c:268,1
    - Dst: g_tree_unref
      Src: /src/glib/gio/gdelayedsettingsbackend.c:271,1
    - Dst: g_delayed_settings_backend_notify_unapplied
      Src: /src/glib/gio/gdelayedsettingsbackend.c:273,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - delayed
    argTypes:
    - GDelayedSettingsBackend*
    constantsTouched: []
    func_position:
      end: 275
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 275
    functionName: g_delayed_settings_backend_apply
    functionSourceFile: /src/glib/gio/gdelayedsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_delayed_settings_backend_notify_unapplied
    - g_mutex_unlock
    - g_mutex_lock
    - g_settings_backend_write_tree
    - g_tree_unref
    - g_settings_backend_create_tree
    - g_settings_backend_changed_tree
    - g_tree_nnodes
    - G_SETTINGS_BACKEND
    linkageType: ''
    returnType: void
    signature: 'void g_delayed_settings_backend_apply (GDelayedSettingsBackend *delayed) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_DELAYED_SETTINGS_BACKEND
      Src: /src/glib/gio/gdelayedsettingsbackend.c:82,1
    - Dst: g_tree_lookup_extended
      Src: /src/glib/gio/gdelayedsettingsbackend.c:88,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gdelayedsettingsbackend.c:92,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdelayedsettingsbackend.c:96,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdelayedsettingsbackend.c:87,1
    - Dst: g_settings_backend_read
      Src: /src/glib/gio/gdelayedsettingsbackend.c:100,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 104
    functionName: g_delayed_settings_backend_read
    functionSourceFile: /src/glib/gio/gdelayedsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_mutex_lock
    - g_settings_backend_read
    - G_DELAYED_SETTINGS_BACKEND
    - g_tree_lookup_extended
    - g_variant_ref
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_delayed_settings_backend_read (GSettingsBackend
      *backend, const gchar *key, const GVariantType *expected_type, gboolean default_value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DELAYED_SETTINGS_BACKEND
      Src: /src/glib/gio/gdelayedsettingsbackend.c:201,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdelayedsettingsbackend.c:206,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdelayedsettingsbackend.c:204,1
    - Dst: g_tree_nnodes
      Src: /src/glib/gio/gdelayedsettingsbackend.c:205,1
    - Dst: g_tree_insert
      Src: /src/glib/gio/gdelayedsettingsbackend.c:206,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdelayedsettingsbackend.c:207,1
    - Dst: g_settings_backend_changed
      Src: /src/glib/gio/gdelayedsettingsbackend.c:209,1
    - Dst: g_delayed_settings_backend_notify_unapplied
      Src: /src/glib/gio/gdelayedsettingsbackend.c:212,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - backend
    - key
    - origin_tag
    argTypes:
    - GSettingsBackend*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 213
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 213
    functionName: g_delayed_settings_backend_reset
    functionSourceFile: /src/glib/gio/gdelayedsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_delayed_settings_backend_notify_unapplied
    - g_mutex_unlock
    - g_mutex_lock
    - G_DELAYED_SETTINGS_BACKEND
    - g_tree_insert
    - g_tree_nnodes
    - g_settings_backend_changed
    linkageType: ''
    returnType: void
    signature: 'static void g_delayed_settings_backend_reset (GSettingsBackend *backend,
      const gchar *key, gpointer origin_tag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DELAYED_SETTINGS_BACKEND
      Src: /src/glib/gio/gdelayedsettingsbackend.c:228,1
    - Dst: g_settings_backend_unsubscribe
      Src: /src/glib/gio/gdelayedsettingsbackend.c:230,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - backend
    - name
    argTypes:
    - GSettingsBackend*
    - char*
    constantsTouched: []
    func_position:
      end: 231
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 231
    functionName: g_delayed_settings_backend_unsubscribe
    functionSourceFile: /src/glib/gio/gdelayedsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_settings_backend_unsubscribe
    - G_DELAYED_SETTINGS_BACKEND
    linkageType: ''
    returnType: void
    signature: 'static void g_delayed_settings_backend_unsubscribe (GSettingsBackend
      *backend, const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_delayed_settings_backend_get_instance_private
      Src: /src/glib/gio/gdelayedsettingsbackend.c:475,1
    - Dst: g_mutex_init
      Src: /src/glib/gio/gdelayedsettingsbackend.c:477,1
    - Dst: g_settings_backend_create_tree
      Src: /src/glib/gio/gdelayedsettingsbackend.c:476,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - delayed
    argTypes:
    - GDelayedSettingsBackend*
    constantsTouched: []
    func_position:
      end: 478
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 478
    functionName: g_delayed_settings_backend_init
    functionSourceFile: /src/glib/gio/gdelayedsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_mutex_init
    - g_delayed_settings_backend_get_instance_private
    - g_settings_backend_create_tree
    linkageType: ''
    returnType: void
    signature: 'static void g_delayed_settings_backend_init (GDelayedSettingsBackend
      *delayed) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DELAYED_SETTINGS_BACKEND
      Src: /src/glib/gio/gdelayedsettingsbackend.c:111,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdelayedsettingsbackend.c:124,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gdelayedsettingsbackend.c:123,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdelayedsettingsbackend.c:120,1
    - Dst: g_tree_lookup_extended
      Src: /src/glib/gio/gdelayedsettingsbackend.c:121,1
    - Dst: g_settings_backend_read_user_value
      Src: /src/glib/gio/gdelayedsettingsbackend.c:129,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 130
    functionName: g_delayed_settings_backend_read_user_value
    functionSourceFile: /src/glib/gio/gdelayedsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_mutex_lock
    - g_settings_backend_read_user_value
    - G_DELAYED_SETTINGS_BACKEND
    - g_tree_lookup_extended
    - g_variant_ref
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_delayed_settings_backend_read_user_value (GSettingsBackend
      *backend, const gchar *key, const GVariantType *expected_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DELAYED_SETTINGS_BACKEND
      Src: /src/glib/gio/gdelayedsettingsbackend.c:219,1
    - Dst: g_settings_backend_subscribe
      Src: /src/glib/gio/gdelayedsettingsbackend.c:221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - backend
    - name
    argTypes:
    - GSettingsBackend*
    - char*
    constantsTouched: []
    func_position:
      end: 222
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 222
    functionName: g_delayed_settings_backend_subscribe
    functionSourceFile: /src/glib/gio/gdelayedsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_settings_backend_subscribe
    - G_DELAYED_SETTINGS_BACKEND
    linkageType: ''
    returnType: void
    signature: 'static void g_delayed_settings_backend_subscribe (GSettingsBackend
      *backend, const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DELAYED_SETTINGS_BACKEND
      Src: /src/glib/gio/gdelayedsettingsbackend.c:237,1
    - Dst: g_settings_backend_get_permission
      Src: /src/glib/gio/gdelayedsettingsbackend.c:239,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 240
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 240
    functionName: g_delayed_settings_backend_get_permission
    functionSourceFile: /src/glib/gio/gdelayedsettingsbackend.c
    functionUses: []
    functionsReached:
    - G_DELAYED_SETTINGS_BACKEND
    - g_settings_backend_get_permission
    linkageType: ''
    returnType: GPermission*
    signature: 'static GPermission *g_delayed_settings_backend_get_permission (GSettingsBackend
      *backend, const gchar *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdelayedsettingsbackend.c:486,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdelayedsettingsbackend.c:489,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - data
    - where_the_object_was
    argTypes:
    - gpointer
    - GObject*
    constantsTouched: []
    func_position:
      end: 490
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 490
    functionName: g_delayed_settings_backend_disown
    functionSourceFile: /src/glib/gio/gdelayedsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void g_delayed_settings_backend_disown (gpointer data, GObject
      *where_the_object_was) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gdelayedsettingsbackend.c:506,1
    - Dst: g_settings_backend_watch
      Src: /src/glib/gio/gdelayedsettingsbackend.c:513,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdelayedsettingsbackend.c:514,1
    - Dst: g_object_weak_ref
      Src: /src/glib/gio/gdelayedsettingsbackend.c:511,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdelayedsettingsbackend.c:507,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 517
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 517
    functionName: g_delayed_settings_backend_new
    functionSourceFile: /src/glib/gio/gdelayedsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_settings_backend_watch
    - g_object_new
    - g_object_weak_ref
    - G_OBJECT
    - g_object_ref
    linkageType: ''
    returnType: GDelayedSettingsBackend*
    signature: 'GDelayedSettingsBackend *g_delayed_settings_backend_new (GSettingsBackend
      *backend, gpointer owner, GMainContext *owner_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_notify
      Src: /src/glib/gio/gdelayedsettingsbackend.c:46,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdelayedsettingsbackend.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: invoke_notify_unapplied
    functionSourceFile: /src/glib/gio/gdelayedsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_object_notify
    - g_object_unref
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean invoke_notify_unapplied (gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DELAYED_SETTINGS_BACKEND
      Src: /src/glib/gio/gdelayedsettingsbackend.c:170,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdelayedsettingsbackend.c:177,1
    - Dst: g_tree_foreach
      Src: /src/glib/gio/gdelayedsettingsbackend.c:176,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdelayedsettingsbackend.c:173,1
    - Dst: g_tree_nnodes
      Src: /src/glib/gio/gdelayedsettingsbackend.c:174,1
    - Dst: g_settings_backend_changed_tree
      Src: /src/glib/gio/gdelayedsettingsbackend.c:179,1
    - Dst: g_delayed_settings_backend_notify_unapplied
      Src: /src/glib/gio/gdelayedsettingsbackend.c:182,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - backend
    - tree
    - origin_tag
    argTypes:
    - GSettingsBackend*
    - GTree*
    - gpointer
    constantsTouched: []
    func_position:
      end: 185
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 185
    functionName: g_delayed_settings_backend_write_tree
    functionSourceFile: /src/glib/gio/gdelayedsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_delayed_settings_backend_notify_unapplied
    - g_mutex_unlock
    - g_mutex_lock
    - G_DELAYED_SETTINGS_BACKEND
    - g_tree_foreach
    - g_settings_backend_changed_tree
    - g_tree_nnodes
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_delayed_settings_backend_write_tree (GSettingsBackend
      *backend, GTree *tree, gpointer origin_tag) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DELAYED_SETTINGS_BACKEND
      Src: /src/glib/gio/gdelayedsettingsbackend.c:316,1
    - Dst: G_SETTINGS_BACKEND
      Src: /src/glib/gio/gdelayedsettingsbackend.c:319,1
    - Dst: g_settings_backend_keys_changed
      Src: /src/glib/gio/gdelayedsettingsbackend.c:319,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 5
    argNames:
    - target
    - backend
    - path
    - origin_tag
    - items
    argTypes:
    - GObject*
    - GSettingsBackend*
    - gchar*
    - gpointer
    - gchar**
    constantsTouched: []
    func_position:
      end: 321
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 321
    functionName: delayed_backend_keys_changed
    functionSourceFile: /src/glib/gio/gdelayedsettingsbackend.c
    functionUses: []
    functionsReached:
    - G_SETTINGS_BACKEND
    - G_DELAYED_SETTINGS_BACKEND
    - g_settings_backend_keys_changed
    linkageType: ''
    returnType: void
    signature: 'static void delayed_backend_keys_changed (GObject *target, GSettingsBackend
      *backend, const gchar *path, gpointer origin_tag, const gchar * const *items) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gdelayedsettingsbackend.c:387,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - key
    - value
    - data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 391
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 391
    functionName: check_prefix
    functionSourceFile: /src/glib/gio/gdelayedsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_str_has_prefix
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean check_prefix (gpointer key, gpointer value, gpointer
      data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdelayedsettingsbackend.c:58,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdelayedsettingsbackend.c:62,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdelayedsettingsbackend.c:69,1
    - Dst: g_main_context_invoke
      Src: /src/glib/gio/gdelayedsettingsbackend.c:72,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - delayed
    argTypes:
    - GDelayedSettingsBackend*
    constantsTouched: []
    func_position:
      end: 73
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 73
    functionName: g_delayed_settings_backend_notify_unapplied
    functionSourceFile: /src/glib/gio/gdelayedsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_main_context_invoke
    - g_mutex_unlock
    - g_object_ref
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void g_delayed_settings_backend_notify_unapplied (GDelayedSettingsBackend
      *delayed) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DELAYED_SETTINGS_BACKEND
      Src: /src/glib/gio/gdelayedsettingsbackend.c:191,1
    - Dst: g_settings_backend_get_writable
      Src: /src/glib/gio/gdelayedsettingsbackend.c:193,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - backend
    - name
    argTypes:
    - GSettingsBackend*
    - gchar*
    constantsTouched: []
    func_position:
      end: 194
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 194
    functionName: g_delayed_settings_backend_get_writable
    functionSourceFile: /src/glib/gio/gdelayedsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_settings_backend_get_writable
    - G_DELAYED_SETTINGS_BACKEND
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_delayed_settings_backend_get_writable (GSettingsBackend
      *backend, const gchar *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DELAYED_SETTINGS_BACKEND
      Src: /src/glib/gio/gdelayedsettingsbackend.c:329,1
    - Dst: g_settings_backend_path_changed
      Src: /src/glib/gio/gdelayedsettingsbackend.c:332,1
    - Dst: G_SETTINGS_BACKEND
      Src: /src/glib/gio/gdelayedsettingsbackend.c:332,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 4
    argNames:
    - target
    - backend
    - path
    - origin_tag
    argTypes:
    - GObject*
    - GSettingsBackend*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 334
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 334
    functionName: delayed_backend_path_changed
    functionSourceFile: /src/glib/gio/gdelayedsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_settings_backend_path_changed
    - G_DELAYED_SETTINGS_BACKEND
    - G_SETTINGS_BACKEND
    linkageType: ''
    returnType: void
    signature: 'static void delayed_backend_path_changed (GObject *target, GSettingsBackend
      *backend, const gchar *path, gpointer origin_tag) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_DELAYED_SETTINGS_BACKEND
      Src: /src/glib/gio/gdelayedsettingsbackend.c:398,1
    - Dst: g_tree_nnodes
      Src: /src/glib/gio/gdelayedsettingsbackend.c:404,1
    - Dst: g_new
      Src: /src/glib/gio/gdelayedsettingsbackend.c:408,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdelayedsettingsbackend.c:402,1
    - Dst: g_tree_foreach
      Src: /src/glib/gio/gdelayedsettingsbackend.c:412,1
    - Dst: g_tree_lookup
      Src: /src/glib/gio/gdelayedsettingsbackend.c:418,1
    - Dst: g_settings_backend_get_writable
      Src: /src/glib/gio/gdelayedsettingsbackend.c:419,1
    - Dst: g_tree_remove
      Src: /src/glib/gio/gdelayedsettingsbackend.c:421,1
    - Dst: g_free
      Src: /src/glib/gio/gdelayedsettingsbackend.c:423,1
    - Dst: g_tree_nnodes
      Src: /src/glib/gio/gdelayedsettingsbackend.c:425,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdelayedsettingsbackend.c:428,1
    - Dst: g_delayed_settings_backend_notify_unapplied
      Src: /src/glib/gio/gdelayedsettingsbackend.c:431,1
    - Dst: g_settings_backend_path_writable_changed
      Src: /src/glib/gio/gdelayedsettingsbackend.c:433,1
    - Dst: G_SETTINGS_BACKEND
      Src: /src/glib/gio/gdelayedsettingsbackend.c:433,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 3
    argNames:
    - target
    - backend
    - path
    argTypes:
    - GObject*
    - GSettingsBackend*
    - gchar*
    constantsTouched: []
    func_position:
      end: 435
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 435
    functionName: delayed_backend_path_writable_changed
    functionSourceFile: /src/glib/gio/gdelayedsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_delayed_settings_backend_notify_unapplied
    - g_new
    - g_mutex_lock
    - g_mutex_unlock
    - g_tree_remove
    - g_settings_backend_get_writable
    - G_DELAYED_SETTINGS_BACKEND
    - g_tree_foreach
    - g_tree_lookup
    - g_tree_nnodes
    - g_settings_backend_path_writable_changed
    - g_free
    - G_SETTINGS_BACKEND
    linkageType: ''
    returnType: void
    signature: 'static void delayed_backend_path_writable_changed (GObject *target,
      GSettingsBackend *backend, const gchar *path) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DELAYED_SETTINGS_BACKEND
      Src: /src/glib/gio/gdelayedsettingsbackend.c:341,1
    - Dst: g_tree_lookup
      Src: /src/glib/gio/gdelayedsettingsbackend.c:346,1
    - Dst: g_tree_remove
      Src: /src/glib/gio/gdelayedsettingsbackend.c:357,1
    - Dst: g_settings_backend_get_writable
      Src: /src/glib/gio/gdelayedsettingsbackend.c:347,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdelayedsettingsbackend.c:344,1
    - Dst: g_tree_nnodes
      Src: /src/glib/gio/gdelayedsettingsbackend.c:360,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdelayedsettingsbackend.c:363,1
    - Dst: g_delayed_settings_backend_notify_unapplied
      Src: /src/glib/gio/gdelayedsettingsbackend.c:366,1
    - Dst: g_settings_backend_writable_changed
      Src: /src/glib/gio/gdelayedsettingsbackend.c:368,1
    - Dst: G_SETTINGS_BACKEND
      Src: /src/glib/gio/gdelayedsettingsbackend.c:368,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - target
    - backend
    - key
    argTypes:
    - GObject*
    - GSettingsBackend*
    - gchar*
    constantsTouched: []
    func_position:
      end: 369
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 369
    functionName: delayed_backend_writable_changed
    functionSourceFile: /src/glib/gio/gdelayedsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_settings_backend_writable_changed
    - g_delayed_settings_backend_notify_unapplied
    - g_mutex_unlock
    - g_mutex_lock
    - g_tree_remove
    - g_settings_backend_get_writable
    - G_DELAYED_SETTINGS_BACKEND
    - g_tree_lookup
    - g_tree_nnodes
    - G_SETTINGS_BACKEND
    linkageType: ''
    returnType: void
    signature: 'static void delayed_backend_writable_changed (GObject *target, GSettingsBackend
      *backend, const gchar *key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DELAYED_SETTINGS_BACKEND
      Src: /src/glib/gio/gdelayedsettingsbackend.c:138,1
    - Dst: g_tree_insert
      Src: /src/glib/gio/gdelayedsettingsbackend.c:143,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdelayedsettingsbackend.c:143,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdelayedsettingsbackend.c:141,1
    - Dst: g_tree_nnodes
      Src: /src/glib/gio/gdelayedsettingsbackend.c:142,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdelayedsettingsbackend.c:144,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdelayedsettingsbackend.c:145,1
    - Dst: g_settings_backend_changed
      Src: /src/glib/gio/gdelayedsettingsbackend.c:147,1
    - Dst: g_delayed_settings_backend_notify_unapplied
      Src: /src/glib/gio/gdelayedsettingsbackend.c:150,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - backend
    - key
    - value
    - origin_tag
    argTypes:
    - GSettingsBackend*
    - gchar*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 153
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 153
    functionName: g_delayed_settings_backend_write
    functionSourceFile: /src/glib/gio/gdelayedsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - g_strdup
    - g_delayed_settings_backend_notify_unapplied
    - g_mutex_unlock
    - g_mutex_lock
    - G_DELAYED_SETTINGS_BACKEND
    - g_tree_insert
    - g_tree_nnodes
    - g_settings_backend_changed
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_delayed_settings_backend_write (GSettingsBackend
      *backend, const gchar *key, GVariant *value, gpointer origin_tag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DELAYED_SETTINGS_BACKEND
      Src: /src/glib/gio/gdelayedsettingsbackend.c:440,1
    - Dst: g_mutex_clear
      Src: /src/glib/gio/gdelayedsettingsbackend.c:442,1
    - Dst: g_tree_unref
      Src: /src/glib/gio/gdelayedsettingsbackend.c:444,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdelayedsettingsbackend.c:443,1
    - Dst: g_assert
      Src: /src/glib/gio/gdelayedsettingsbackend.c:447,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdelayedsettingsbackend.c:449,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 451
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 451
    functionName: g_delayed_settings_backend_finalize
    functionSourceFile: /src/glib/gio/gdelayedsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_mutex_clear
    - g_assert
    - g_tree_unref
    - G_DELAYED_SETTINGS_BACKEND
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_delayed_settings_backend_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_tree_insert
      Src: /src/glib/gio/gdelayedsettingsbackend.c:161,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gdelayedsettingsbackend.c:161,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdelayedsettingsbackend.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - key
    - value
    - user_data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: add_to_tree
    functionSourceFile: /src/glib/gio/gdelayedsettingsbackend.c
    functionUses: []
    functionsReached:
    - g_tree_insert
    - g_strdup
    - g_variant_ref
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean add_to_tree (gpointer key, gpointer value, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SETTINGS_BACKEND_CLASS
      Src: /src/glib/gio/gdelayedsettingsbackend.c:456,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdelayedsettingsbackend.c:457,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - class
    argTypes:
    - GDelayedSettingsBackendClass*
    constantsTouched: []
    func_position:
      end: 470
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 470
    functionName: g_delayed_settings_backend_class_init
    functionSourceFile: /src/glib/gio/gdelayedsettingsbackend.c
    functionUses: []
    functionsReached:
    - G_SETTINGS_BACKEND_CLASS
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_delayed_settings_backend_class_init (GDelayedSettingsBackendClass
      *class) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DELAYED_SETTINGS_BACKEND
      Src: /src/glib/gio/gdelayedsettingsbackend.c:302,1
    - Dst: g_settings_backend_changed
      Src: /src/glib/gio/gdelayedsettingsbackend.c:305,1
    - Dst: G_SETTINGS_BACKEND
      Src: /src/glib/gio/gdelayedsettingsbackend.c:305,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 4
    argNames:
    - target
    - backend
    - key
    - origin_tag
    argTypes:
    - GObject*
    - GSettingsBackend*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 307
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 307
    functionName: delayed_backend_changed
    functionSourceFile: /src/glib/gio/gdelayedsettingsbackend.c
    functionUses: []
    functionsReached:
    - G_SETTINGS_BACKEND
    - G_DELAYED_SETTINGS_BACKEND
    - g_settings_backend_changed
    linkageType: ''
    returnType: void
    signature: 'static void delayed_backend_changed (GObject *target, GSettingsBackend
      *backend, const gchar *key, gpointer origin_tag) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/gio/gsettingsschema.c:224,1
    - Dst: g_free
      Src: /src/glib/gio/gsettingsschema.c:232,1
    - Dst: g_settings_schema_source_unref
      Src: /src/glib/gio/gsettingsschema.c:230,1
    - Dst: gvdb_table_free
      Src: /src/glib/gio/gsettingsschema.c:231,1
    - Dst: g_error
      Src: /src/glib/gio/gsettingsschema.c:227,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gsettingsschema.c:236,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gsettingsschema.c:237,1
    - Dst: g_free
      Src: /src/glib/gio/gsettingsschema.c:238,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gsettingsschema.c:241,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSettingsSchemaSource*
    constantsTouched: []
    func_position:
      end: 243
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 243
    functionName: g_settings_schema_source_unref
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_atomic_int_dec_and_test
    - g_hash_table_unref
    - g_slice_free
    - g_error
    - gvdb_table_free
    - g_settings_schema_source_unref
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_settings_schema_source_unref (GSettingsSchemaSource *source) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pop_attribute_value
      Src: /src/glib/gio/gsettingsschema.c:616,1
    - Dst: pop_attribute_value
      Src: /src/glib/gio/gsettingsschema.c:617,1
    - Dst: get_attribute_value
      Src: /src/glib/gio/gsettingsschema.c:627,1
    - Dst: g_string_free
      Src: /src/glib/gio/gsettingsschema.c:663,1
    - Dst: get_attribute_value
      Src: /src/glib/gio/gsettingsschema.c:628,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gsettingsschema.c:631,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gsettingsschema.c:633,1
    - Dst: g_strdup
      Src: /src/glib/gio/gsettingsschema.c:646,1
    - Dst: g_strdup
      Src: /src/glib/gio/gsettingsschema.c:655,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gsettingsschema.c:646,1
    - Dst: normalise_whitespace
      Src: /src/glib/gio/gsettingsschema.c:649,1
    - Dst: pop_attribute_value
      Src: /src/glib/gio/gsettingsschema.c:618,1
    - Dst: get_attribute_value
      Src: /src/glib/gio/gsettingsschema.c:629,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gsettingsschema.c:645,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gsettingsschema.c:641,1
    - Dst: g_strdup
      Src: /src/glib/gio/gsettingsschema.c:660,1
    - Dst: g_dgettext
      Src: /src/glib/gio/gsettingsschema.c:655,1
    - Dst: g_free
      Src: /src/glib/gio/gsettingsschema.c:656,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gsettingsschema.c:660,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 39
    argCount: 4
    argNames:
    - context
    - element_name
    - user_data
    - error
    argTypes:
    - GMarkupParseContext*
    - gchar*
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 666
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 666
    functionName: end_element
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_hash_table_lookup
    - get_attribute_value
    - pop_attribute_value
    - g_hash_table_insert
    - normalise_whitespace
    - g_dgettext
    - g_hash_table_new_full
    - g_string_free
    - g_free
    - g_str_equal
    linkageType: ''
    returnType: void
    signature: 'static void end_element (GMarkupParseContext *context, const gchar
      *element_name, gpointer user_data, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1264
    functionDepth: 0
    functionLinenumber: 1264
    functionLinenumberEnd: 1268
    functionName: g_settings_schema_get_id
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_settings_schema_get_id (GSettingsSchema *schema) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_schema_get_gettext_domain
      Src: /src/glib/gio/gsettingsschema.c:1432,1
    - Dst: setlocale
      Src: /src/glib/gio/gsettingsschema.c:1441,1
    - Dst: g_dgettext
      Src: /src/glib/gio/gsettingsschema.c:1448,1
    - Dst: newlocale
      Src: /src/glib/gio/gsettingsschema.c:1444,1
    - Dst: uselocale
      Src: /src/glib/gio/gsettingsschema.c:1447,1
    - Dst: uselocale
      Src: /src/glib/gio/gsettingsschema.c:1449,1
    - Dst: freelocale
      Src: /src/glib/gio/gsettingsschema.c:1450,1
    - Dst: g_dgettext
      Src: /src/glib/gio/gsettingsschema.c:1457,1
    - Dst: g_variant_parse
      Src: /src/glib/gio/gsettingsschema.c:1464,1
    - Dst: g_warning
      Src: /src/glib/gio/gsettingsschema.c:1468,1
    - Dst: g_error_free
      Src: /src/glib/gio/gsettingsschema.c:1472,1
    - Dst: g_settings_schema_get_id
      Src: /src/glib/gio/gsettingsschema.c:1479,1
    - Dst: g_warning
      Src: /src/glib/gio/gsettingsschema.c:1477,1
    - Dst: g_settings_schema_get_id
      Src: /src/glib/gio/gsettingsschema.c:1470,1
    - Dst: g_settings_schema_key_range_check
      Src: /src/glib/gio/gsettingsschema.c:1475,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettingsschema.c:1480,1
    - Dst: g_warning
      Src: /src/glib/gio/gsettingsschema.c:1471,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1485
      start: 1419
    functionDepth: 0
    functionLinenumber: 1419
    functionLinenumberEnd: 1485
    functionName: g_settings_schema_key_get_translated_default
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_settings_schema_key_range_check
    - g_settings_schema_get_gettext_domain
    - g_variant_parse
    - g_warning
    - newlocale
    - g_settings_schema_get_id
    - g_dgettext
    - setlocale
    - g_variant_unref
    - g_error_free
    - uselocale
    - freelocale
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_settings_schema_key_get_translated_default (GSettingsSchemaKey
      *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/gsettingsschema.c:1561,1
    - Dst: g_variant_iter_next
      Src: /src/glib/gio/gsettingsschema.c:1562,1
    - Dst: strinfo_enum_from_string
      Src: /src/glib/gio/gsettingsschema.c:1567,1
    - Dst: g_assert
      Src: /src/glib/gio/gsettingsschema.c:1569,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - GSettingsSchemaKey*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 1575
      start: 1552
    functionDepth: 0
    functionLinenumber: 1552
    functionLinenumberEnd: 1575
    functionName: g_settings_schema_key_to_flags
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_variant_iter_init
    - g_variant_iter_next
    - g_assert
    - strinfo_enum_from_string
    linkageType: ''
    returnType: guint
    signature: 'guint g_settings_schema_key_to_flags (GSettingsSchemaKey *key, GVariant
      *value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettingsschema.c:1802,1
    - Dst: g_settings_schema_key_get_translated_default
      Src: /src/glib/gio/gsettingsschema.c:1804,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gsettingsschema.c:1810,1
    - Dst: g_settings_schema_key_get_per_desktop_default
      Src: /src/glib/gio/gsettingsschema.c:1807,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1813
      start: 1797
    functionDepth: 0
    functionLinenumber: 1797
    functionLinenumberEnd: 1813
    functionName: g_settings_schema_key_get_default_value
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_settings_schema_key_get_per_desktop_default
    - g_return_val_if_fail
    - g_variant_ref
    - g_settings_schema_key_get_translated_default
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_settings_schema_key_get_default_value (GSettingsSchemaKey
      *key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_string_append_len
      Src: /src/glib/gio/gsettingsschema.c:678,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 5
    argNames:
    - context
    - text
    - text_len
    - user_data
    - error
    argTypes:
    - GMarkupParseContext*
    - gchar*
    - gsize
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 679
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 679
    functionName: text
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_string_append_len
    linkageType: ''
    returnType: void
    signature: 'static void text (GMarkupParseContext *context, const gchar *text,
      gsize text_len, gpointer user_data, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_byteswap
      Src: /src/glib/gio/gsettingsschema.c:1276,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettingsschema.c:1277,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - GVariant**
    constantsTouched: []
    func_position:
      end: 1280
      start: 1270
    functionDepth: 0
    functionLinenumber: 1270
    functionLinenumberEnd: 1280
    functionName: endian_fixup
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_variant_byteswap
    - g_variant_unref
    linkageType: ''
    returnType: void
    signature: 'static inline void endian_fixup (GVariant **value) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter_pointer
      Src: /src/glib/gio/gsettingsschema.c:1497,1
    - Dst: g_once_init_leave_pointer
      Src: /src/glib/gio/gsettingsschema.c:1507,1
    - Dst: g_strsplit
      Src: /src/glib/gio/gsettingsschema.c:1503,1
    - Dst: g_getenv
      Src: /src/glib/gio/gsettingsschema.c:1499,1
    - Dst: g_new0
      Src: /src/glib/gio/gsettingsschema.c:1505,1
    - Dst: g_variant_lookup_value
      Src: /src/glib/gio/gsettingsschema.c:1511,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1514
      start: 1487
    functionDepth: 0
    functionLinenumber: 1487
    functionLinenumberEnd: 1514
    functionName: g_settings_schema_key_get_per_desktop_default
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_once_init_leave_pointer
    - g_getenv
    - g_once_init_enter_pointer
    - g_strsplit
    - g_variant_lookup_value
    - g_new0
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_settings_schema_key_get_per_desktop_default (GSettingsSchemaKey
      *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/gsettingsschema.c:208,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 211
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 211
    functionName: g_settings_schema_source_ref
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_atomic_int_inc
    linkageType: ''
    returnType: GSettingsSchemaSource*
    signature: 'GSettingsSchemaSource *g_settings_schema_source_ref (GSettingsSchemaSource
      *source) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettingsschema.c:434,1
    - Dst: g_slice_new0
      Src: /src/glib/gio/gsettingsschema.c:447,1
    - Dst: gvdb_table_get_table
      Src: /src/glib/gio/gsettingsschema.c:441,1
    - Dst: gvdb_table_get_table
      Src: /src/glib/gio/gsettingsschema.c:437,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettingsschema.c:435,1
    - Dst: g_settings_schema_source_ref
      Src: /src/glib/gio/gsettingsschema.c:448,1
    - Dst: g_strdup
      Src: /src/glib/gio/gsettingsschema.c:450,1
    - Dst: g_settings_schema_get_string
      Src: /src/glib/gio/gsettingsschema.c:452,1
    - Dst: g_settings_schema_get_string
      Src: /src/glib/gio/gsettingsschema.c:453,1
    - Dst: bind_textdomain_codeset
      Src: /src/glib/gio/gsettingsschema.c:456,1
    - Dst: g_settings_schema_get_string
      Src: /src/glib/gio/gsettingsschema.c:458,1
    - Dst: g_warning
      Src: /src/glib/gio/gsettingsschema.c:463,1
    - Dst: g_settings_schema_source_lookup
      Src: /src/glib/gio/gsettingsschema.c:461,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 467
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 467
    functionName: g_settings_schema_source_lookup
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_return_val_if_fail
    - g_warning
    - g_slice_new0
    - g_settings_schema_source_lookup
    - gvdb_table_get_table
    - bind_textdomain_codeset
    - g_settings_schema_source_ref
    - g_settings_schema_get_string
    linkageType: ''
    returnType: GSettingsSchema*
    signature: 'GSettingsSchema *g_settings_schema_source_lookup (GSettingsSchemaSource
      *source, const gchar *schema_id, gboolean recursive) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_schema_source_get_text_tables
      Src: /src/glib/gio/gsettingsschema.c:1725,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gsettingsschema.c:1726,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gsettingsschema.c:1728,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1729
      start: 1719
    functionDepth: 0
    functionLinenumber: 1719
    functionLinenumberEnd: 1729
    functionName: g_settings_schema_key_get_summary
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_settings_schema_source_get_text_tables
    - g_hash_table_lookup
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_settings_schema_key_get_summary (GSettingsSchemaKey
      *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initialise_schema_sources
      Src: /src/glib/gio/gsettingsschema.c:399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 402
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 402
    functionName: g_settings_schema_source_get_default
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - initialise_schema_sources
    linkageType: ''
    returnType: GSettingsSchemaSource*
    signature: 'GSettingsSchemaSource *g_settings_schema_source_get_default (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_dir_open
      Src: /src/glib/gio/gsettingsschema.c:691,1
    - Dst: g_build_filename
      Src: /src/glib/gio/gsettingsschema.c:698,1
    - Dst: g_dir_read_name
      Src: /src/glib/gio/gsettingsschema.c:692,1
    - Dst: g_markup_parse_context_new
      Src: /src/glib/gio/gsettingsschema.c:703,1
    - Dst: g_file_get_contents
      Src: /src/glib/gio/gsettingsschema.c:699,1
    - Dst: g_markup_parse_context_parse
      Src: /src/glib/gio/gsettingsschema.c:705,1
    - Dst: g_markup_parse_context_end_parse
      Src: /src/glib/gio/gsettingsschema.c:706,1
    - Dst: g_markup_parse_context_free
      Src: /src/glib/gio/gsettingsschema.c:707,1
    - Dst: g_slist_free_full
      Src: /src/glib/gio/gsettingsschema.c:710,1
    - Dst: g_slist_free_full
      Src: /src/glib/gio/gsettingsschema.c:711,1
    - Dst: g_slist_free_full
      Src: /src/glib/gio/gsettingsschema.c:712,1
    - Dst: g_string_free
      Src: /src/glib/gio/gsettingsschema.c:720,1
    - Dst: g_dir_close
      Src: /src/glib/gio/gsettingsschema.c:730,1
    - Dst: g_free
      Src: /src/glib/gio/gsettingsschema.c:727,1
    - Dst: g_free
      Src: /src/glib/gio/gsettingsschema.c:724,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 3
    argNames:
    - directory
    - summaries
    - descriptions
    argTypes:
    - gchar*
    - GHashTable*
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 731
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 731
    functionName: parse_into_text_tables
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_dir_open
    - g_markup_parse_context_end_parse
    - g_dir_read_name
    - g_string_free
    - g_file_get_contents
    - g_build_filename
    - g_markup_parse_context_new
    - g_markup_parse_context_parse
    - g_slist_free_full
    - g_markup_parse_context_free
    - g_free
    - g_dir_close
    linkageType: ''
    returnType: void
    signature: 'static void parse_into_text_tables (const gchar *directory, GHashTable
      *summaries, GHashTable *descriptions) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strconcat
      Src: /src/glib/gio/gsettingsschema.c:978,1
    - Dst: g_free
      Src: /src/glib/gio/gsettingsschema.c:981,1
    - Dst: g_settings_schema_source_lookup
      Src: /src/glib/gio/gsettingsschema.c:986,1
    - Dst: g_settings_schema_get_string
      Src: /src/glib/gio/gsettingsschema.c:979,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 987
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 987
    functionName: g_settings_schema_get_child_schema
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_settings_schema_get_string
    - g_free
    - g_strconcat
    - g_settings_schema_source_lookup
    linkageType: ''
    returnType: GSettingsSchema*
    signature: 'GSettingsSchema *g_settings_schema_get_child_schema (GSettingsSchema
      *schema, const gchar *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettingsschema.c:1091,1
    - Dst: g_settings_schema_list
      Src: /src/glib/gio/gsettingsschema.c:1093,1
    - Dst: g_quark_to_string
      Src: /src/glib/gio/gsettingsschema.c:1097,1
    - Dst: g_new
      Src: /src/glib/gio/gsettingsschema.c:1094,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/gsettingsschema.c:1099,1
    - Dst: strlen
      Src: /src/glib/gio/gsettingsschema.c:1101,1
    - Dst: g_memdup2
      Src: /src/glib/gio/gsettingsschema.c:1103,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1083
    functionDepth: 0
    functionLinenumber: 1083
    functionLinenumberEnd: 1111
    functionName: g_settings_schema_list_children
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_new
    - g_str_has_suffix
    - strlen
    - g_quark_to_string
    - g_settings_schema_list
    - g_memdup2
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **g_settings_schema_list_children (GSettingsSchema *schema) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettingsschema.c:1368,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gsettingsschema.c:1370,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - GSettingsSchemaKey*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 1371
      start: 1364
    functionDepth: 0
    functionLinenumber: 1364
    functionLinenumberEnd: 1371
    functionName: g_settings_schema_key_type_check
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_variant_is_of_type
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_settings_schema_key_type_check (GSettingsSchemaKey *key,
      GVariant *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettingsschema.c:1669,1
    - Dst: g_settings_schema_key_init
      Src: /src/glib/gio/gsettingsschema.c:1673,1
    - Dst: g_slice_new
      Src: /src/glib/gio/gsettingsschema.c:1672,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettingsschema.c:1670,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1677
      start: 1663
    functionDepth: 0
    functionLinenumber: 1663
    functionLinenumberEnd: 1677
    functionName: g_settings_schema_get_key
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_slice_new
    - g_settings_schema_key_init
    linkageType: ''
    returnType: GSettingsSchemaKey*
    signature: 'GSettingsSchemaKey *g_settings_schema_get_key (GSettingsSchema *schema,
      const gchar *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettingsschema.c:1692,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1695
      start: 1689
    functionDepth: 0
    functionLinenumber: 1689
    functionLinenumberEnd: 1695
    functionName: g_settings_schema_key_get_name
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_settings_schema_key_get_name (GSettingsSchemaKey *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettingsschema.c:1779,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1782
      start: 1776
    functionDepth: 0
    functionLinenumber: 1776
    functionLinenumberEnd: 1782
    functionName: g_settings_schema_key_get_value_type
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: GVariantType*
    signature: 'const GVariantType *g_settings_schema_key_get_value_type (GSettingsSchemaKey
      *key) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter_pointer
      Src: /src/glib/gio/gsettingsschema.c:736,1
    - Dst: parse_into_text_tables
      Src: /src/glib/gio/gsettingsschema.c:745,1
    - Dst: g_new
      Src: /src/glib/gio/gsettingsschema.c:740,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gsettingsschema.c:742,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gsettingsschema.c:741,1
    - Dst: g_once_init_leave_pointer
      Src: /src/glib/gio/gsettingsschema.c:747,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 751
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 751
    functionName: g_settings_schema_source_get_text_tables
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_once_init_leave_pointer
    - g_new
    - parse_into_text_tables
    - g_hash_table_new_full
    - g_once_init_enter_pointer
    linkageType: ''
    returnType: GHashTable**
    signature: 'static GHashTable **g_settings_schema_source_get_text_tables (GSettingsSchemaSource
      *source) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettingsschema.c:997,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gsettingsschema.c:1003,1
    - Dst: gvdb_table_get_raw_value
      Src: /src/glib/gio/gsettingsschema.c:1000,1
    - Dst: g_variant_iter_new
      Src: /src/glib/gio/gsettingsschema.c:1006,1
    - Dst: g_error
      Src: /src/glib/gio/gsettingsschema.c:1004,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettingsschema.c:1007,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 989
    functionDepth: 0
    functionLinenumber: 989
    functionLinenumberEnd: 1010
    functionName: g_settings_schema_get_value
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_variant_is_of_type
    - g_variant_unref
    - g_error
    - gvdb_table_get_raw_value
    - g_variant_iter_new
    linkageType: ''
    returnType: GVariantIter*
    signature: 'GVariantIter *g_settings_schema_get_value (GSettingsSchema *schema,
      const gchar *key) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_schema_key_range_check
      Src: /src/glib/gio/gsettingsschema.c:1379,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gsettingsschema.c:1380,1
    - Dst: g_variant_is_container
      Src: /src/glib/gio/gsettingsschema.c:1385,1
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/gsettingsschema.c:1391,1
    - Dst: g_variant_builder_init_static
      Src: /src/glib/gio/gsettingsschema.c:1392,1
    - Dst: g_variant_get_type
      Src: /src/glib/gio/gsettingsschema.c:1392,1
    - Dst: g_variant_iter_next_value
      Src: /src/glib/gio/gsettingsschema.c:1394,1
    - Dst: g_settings_schema_key_range_fixup
      Src: /src/glib/gio/gsettingsschema.c:1398,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettingsschema.c:1399,1
    - Dst: g_variant_builder_clear
      Src: /src/glib/gio/gsettingsschema.c:1403,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/gio/gsettingsschema.c:1407,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gsettingsschema.c:1411,1
    - Dst: strinfo_string_from_alias
      Src: /src/glib/gio/gsettingsschema.c:1414,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gsettingsschema.c:1416,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettingsschema.c:1408,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gsettingsschema.c:1416,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gsettingsschema.c:1411,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gsettingsschema.c:1415,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1417
      start: 1373
    functionDepth: 0
    functionLinenumber: 1373
    functionLinenumberEnd: 1417
    functionName: g_settings_schema_key_range_fixup
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_settings_schema_key_range_check
    - g_variant_iter_init
    - g_variant_ref_sink
    - g_variant_get_type
    - g_variant_builder_init_static
    - g_variant_is_container
    - g_variant_builder_clear
    - g_variant_get_string
    - g_variant_builder_add_value
    - g_variant_unref
    - strinfo_string_from_alias
    - g_variant_new_string
    - g_variant_iter_next_value
    - g_variant_builder_end
    - g_settings_schema_key_range_fixup
    - g_variant_ref
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_settings_schema_key_range_fixup (GSettingsSchemaKey *key,
      GVariant *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/gsettingsschema.c:925,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 928
      start: 922
    functionDepth: 0
    functionLinenumber: 922
    functionLinenumberEnd: 928
    functionName: g_settings_schema_ref
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_atomic_int_inc
    linkageType: ''
    returnType: GSettingsSchema*
    signature: 'GSettingsSchema *g_settings_schema_ref (GSettingsSchema *schema) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gvdb_table_has_value
      Src: /src/glib/gio/gsettingsschema.c:1059,1
    - Dst: gvdb_table_has_value
      Src: /src/glib/gio/gsettingsschema.c:1063,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - schema
    - key
    argTypes:
    - GSettingsSchema*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1067
      start: 1053
    functionDepth: 0
    functionLinenumber: 1053
    functionLinenumberEnd: 1067
    functionName: g_settings_schema_has_key
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - gvdb_table_has_value
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_settings_schema_has_key (GSettingsSchema *schema, const
      gchar *key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsettingsschema.c:1639,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/gio/gsettingsschema.c:1641,1
    - Dst: g_settings_schema_key_clear
      Src: /src/glib/gio/gsettingsschema.c:1643,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gsettingsschema.c:1645,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - GSettingsSchemaKey*
    constantsTouched: []
    func_position:
      end: 1647
      start: 1636
    functionDepth: 0
    functionLinenumber: 1636
    functionLinenumberEnd: 1647
    functionName: g_settings_schema_key_unref
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_settings_schema_key_clear
    - g_slice_free
    - g_atomic_int_dec_and_test
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_settings_schema_key_unref (GSettingsSchemaKey *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_schema_source_get_text_tables
      Src: /src/glib/gio/gsettingsschema.c:1760,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gsettingsschema.c:1761,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gsettingsschema.c:1763,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1764
      start: 1754
    functionDepth: 0
    functionLinenumber: 1754
    functionLinenumberEnd: 1764
    functionName: g_settings_schema_key_get_description
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_settings_schema_source_get_text_tables
    - g_hash_table_lookup
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_settings_schema_key_get_description (GSettingsSchemaKey
      *key) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new
      Src: /src/glib/gio/gsettingsschema.c:1868,1
    - Dst: strinfo_enumerate
      Src: /src/glib/gio/gsettingsschema.c:1873,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gsettingsschema.c:1882,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gsettingsschema.c:1882,1
    - Dst: g_variant_new_array
      Src: /src/glib/gio/gsettingsschema.c:1878,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1883
      start: 1860
    functionDepth: 0
    functionLinenumber: 1860
    functionLinenumberEnd: 1883
    functionName: g_settings_schema_key_get_range
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - strinfo_enumerate
    - g_variant_new
    - g_variant_new_array
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_settings_schema_key_get_range (GSettingsSchemaKey *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/glib/gio/gsettingsschema.c:328,1
    - Dst: g_free
      Src: /src/glib/gio/gsettingsschema.c:330,1
    - Dst: try_prepend_dir
      Src: /src/glib/gio/gsettingsschema.c:329,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - directory
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 331
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 331
    functionName: try_prepend_data_dir
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - try_prepend_dir
    - g_free
    - g_build_filename
    linkageType: ''
    returnType: void
    signature: 'static void try_prepend_data_dir (const gchar *directory) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_remove
      Src: /src/glib/gio/gsettingsschema.c:497,1
    - Dst: g_free
      Src: /src/glib/gio/gsettingsschema.c:499,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - list
    argTypes:
    - GSList**
    constantsTouched: []
    func_position:
      end: 500
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 500
    functionName: pop_attribute_value
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_free
    - g_slist_remove
    linkageType: ''
    returnType: void
    signature: 'static void pop_attribute_value (GSList **list) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_schema_lists
      Src: /src/glib/gio/gsettingsschema.c:886,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 889
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 889
    functionName: g_settings_list_schemas
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - ensure_schema_lists
    linkageType: ''
    returnType: gchar**
    signature: 'const gchar * const *g_settings_list_schemas (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_schema_lists
      Src: /src/glib/gio/gsettingsschema.c:907,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 910
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 910
    functionName: g_settings_list_relocatable_schemas
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - ensure_schema_lists
    linkageType: ''
    returnType: gchar**
    signature: 'const gchar * const *g_settings_list_relocatable_schemas (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/gio/gsettingsschema.c:941,1
    - Dst: g_settings_schema_source_unref
      Src: /src/glib/gio/gsettingsschema.c:946,1
    - Dst: gvdb_table_free
      Src: /src/glib/gio/gsettingsschema.c:947,1
    - Dst: g_free
      Src: /src/glib/gio/gsettingsschema.c:948,1
    - Dst: g_settings_schema_unref
      Src: /src/glib/gio/gsettingsschema.c:944,1
    - Dst: g_free
      Src: /src/glib/gio/gsettingsschema.c:949,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gsettingsschema.c:951,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - schema
    argTypes:
    - GSettingsSchema*
    constantsTouched: []
    func_position:
      end: 953
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 953
    functionName: g_settings_schema_unref
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_atomic_int_dec_and_test
    - g_settings_schema_unref
    - g_slice_free
    - gvdb_table_free
    - g_settings_schema_source_unref
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_settings_schema_unref (GSettingsSchema *schema) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1034
    functionName: g_settings_schema_get_path
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_settings_schema_get_path (GSettingsSchema *schema) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/glib/gio/gsettingsschema.c:1291,1
    - Dst: g_settings_schema_get_value
      Src: /src/glib/gio/gsettingsschema.c:1293,1
    - Dst: endian_fixup
      Src: /src/glib/gio/gsettingsschema.c:1297,1
    - Dst: g_settings_schema_ref
      Src: /src/glib/gio/gsettingsschema.c:1295,1
    - Dst: g_variant_iter_next_value
      Src: /src/glib/gio/gsettingsschema.c:1296,1
    - Dst: g_variant_get_type
      Src: /src/glib/gio/gsettingsschema.c:1298,1
    - Dst: g_intern_string
      Src: /src/glib/gio/gsettingsschema.c:1299,1
    - Dst: g_variant_iter_next
      Src: /src/glib/gio/gsettingsschema.c:1301,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gsettingsschema.c:1307,1
    - Dst: g_variant_get_fixed_array
      Src: /src/glib/gio/gsettingsschema.c:1322,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gsettingsschema.c:1326,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettingsschema.c:1341,1
    - Dst: endian_fixup
      Src: /src/glib/gio/gsettingsschema.c:1333,1
    - Dst: g_variant_iter_free
      Src: /src/glib/gio/gsettingsschema.c:1344,1
    - Dst: g_warning
      Src: /src/glib/gio/gsettingsschema.c:1337,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gsettingsschema.c:1332,1
    - Dst: endian_fixup
      Src: /src/glib/gio/gsettingsschema.c:1328,1
    - Dst: endian_fixup
      Src: /src/glib/gio/gsettingsschema.c:1327,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 3
    argNames:
    - key
    - schema
    - name
    argTypes:
    - GSettingsSchemaKey*
    - GSettingsSchema*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1345
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1345
    functionName: g_settings_schema_key_init
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_settings_schema_get_value
    - g_intern_string
    - g_variant_get_type
    - endian_fixup
    - g_warning
    - g_variant_iter_next
    - g_variant_get_fixed_array
    - g_settings_schema_ref
    - g_variant_unref
    - g_variant_iter_next_value
    - g_variant_get
    - g_variant_iter_free
    - memset
    linkageType: ''
    returnType: void
    signature: 'void g_settings_schema_key_init (GSettingsSchemaKey *key, GSettingsSchema
      *schema, const gchar *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strinfo_string_from_enum
      Src: /src/glib/gio/gsettingsschema.c:1544,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gsettingsschema.c:1549,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1550
      start: 1538
    functionDepth: 0
    functionLinenumber: 1538
    functionLinenumberEnd: 1550
    functionName: g_settings_schema_key_from_enum
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - strinfo_string_from_enum
    - g_variant_new_string
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_settings_schema_key_from_enum (GSettingsSchemaKey *key,
      gint value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/gio/gsettingsschema.c:341,1
    - Dst: try_prepend_data_dir
      Src: /src/glib/gio/gsettingsschema.c:354,1
    - Dst: g_get_system_data_dirs
      Src: /src/glib/gio/gsettingsschema.c:350,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gsettingsschema.c:343,1
    - Dst: try_prepend_data_dir
      Src: /src/glib/gio/gsettingsschema.c:356,1
    - Dst: g_get_user_data_dir
      Src: /src/glib/gio/gsettingsschema.c:356,1
    - Dst: g_getenv
      Src: /src/glib/gio/gsettingsschema.c:360,1
    - Dst: g_strsplit
      Src: /src/glib/gio/gsettingsschema.c:362,1
    - Dst: try_prepend_dir
      Src: /src/glib/gio/gsettingsschema.c:366,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/gsettingsschema.c:371,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gsettingsschema.c:368,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 373
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 373
    functionName: initialise_schema_sources
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_once_init_leave
    - g_get_system_data_dirs
    - g_getenv
    - try_prepend_dir
    - g_once_init_enter
    - g_get_user_data_dir
    - GLIB_PRIVATE_CALL
    - g_strfreev
    - try_prepend_data_dir
    - g_strsplit
    linkageType: ''
    returnType: void
    signature: 'static void initialise_schema_sources (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_prepend
      Src: /src/glib/gio/gsettingsschema.c:506,1
    - Dst: g_strdup
      Src: /src/glib/gio/gsettingsschema.c:506,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - list
    - value
    argTypes:
    - GSList**
    - gchar*
    constantsTouched: []
    func_position:
      end: 507
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 507
    functionName: push_attribute_value
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_slist_prepend
    linkageType: ''
    returnType: void
    signature: 'static void push_attribute_value (GSList **list, const gchar *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gvdb_table_get_raw_value
      Src: /src/glib/gio/gsettingsschema.c:962,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettingsschema.c:965,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gsettingsschema.c:964,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 969
      start: 955
    functionDepth: 0
    functionLinenumber: 955
    functionLinenumberEnd: 969
    functionName: g_settings_schema_get_string
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_variant_unref
    - gvdb_table_get_raw_value
    - g_variant_get_string
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_settings_schema_get_string (GSettingsSchema *schema,
      const gchar *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1036
    functionDepth: 0
    functionLinenumber: 1036
    functionLinenumberEnd: 1040
    functionName: g_settings_schema_get_gettext_domain
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_settings_schema_get_gettext_domain (GSettingsSchema
      *schema) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettingsschema.c:1351,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettingsschema.c:1357,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettingsschema.c:1359,1
    - Dst: g_settings_schema_unref
      Src: /src/glib/gio/gsettingsschema.c:1361,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettingsschema.c:1354,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - GSettingsSchemaKey*
    constantsTouched: []
    func_position:
      end: 1362
      start: 1347
    functionDepth: 0
    functionLinenumber: 1347
    functionLinenumberEnd: 1362
    functionName: g_settings_schema_key_clear
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_variant_unref
    - g_settings_schema_unref
    linkageType: ''
    returnType: void
    signature: 'void g_settings_schema_key_clear (GSettingsSchemaKey *key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/gio/gsettingsschema.c:855,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/gsettingsschema.c:863,1
    - Dst: initialise_schema_sources
      Src: /src/glib/gio/gsettingsschema.c:857,1
    - Dst: g_settings_schema_source_list_schemas
      Src: /src/glib/gio/gsettingsschema.c:859,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 865
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 865
    functionName: ensure_schema_lists
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_once_init_leave
    - initialise_schema_sources
    - g_settings_schema_source_list_schemas
    - g_once_init_enter
    linkageType: ''
    returnType: void
    signature: 'static void ensure_schema_lists (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strinfo_enum_from_string
      Src: /src/glib/gio/gsettingsschema.c:1523,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gsettingsschema.c:1524,1
    - Dst: g_assert
      Src: /src/glib/gio/gsettingsschema.c:1532,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - GSettingsSchemaKey*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 1535
      start: 1516
    functionDepth: 0
    functionLinenumber: 1516
    functionLinenumberEnd: 1535
    functionName: g_settings_schema_key_to_enum
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_assert
    - strinfo_enum_from_string
    - g_variant_get_string
    linkageType: ''
    returnType: gint
    signature: 'gint g_settings_schema_key_to_enum (GSettingsSchemaKey *key, GVariant
      *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/glib/gio/gsettingsschema.c:296,1
    - Dst: g_slice_new
      Src: /src/glib/gio/gsettingsschema.c:303,1
    - Dst: g_strdup
      Src: /src/glib/gio/gsettingsschema.c:304,1
    - Dst: g_free
      Src: /src/glib/gio/gsettingsschema.c:298,1
    - Dst: gvdb_table_new
      Src: /src/glib/gio/gsettingsschema.c:297,1
    - Dst: g_settings_schema_source_ref
      Src: /src/glib/gio/gsettingsschema.c:305,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 311
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 311
    functionName: g_settings_schema_source_new_from_directory
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_build_filename
    - g_slice_new
    - gvdb_table_new
    - g_settings_schema_source_ref
    - g_free
    linkageType: ''
    returnType: GSettingsSchemaSource*
    signature: 'GSettingsSchemaSource *g_settings_schema_source_new_from_directory
      (const gchar *directory, GSettingsSchemaSource *parent, gboolean trusted, GError
      **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_str_equal
      Src: /src/glib/gio/gsettingsschema.c:525,1
    - Dst: push_attribute_value
      Src: /src/glib/gio/gsettingsschema.c:534,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gsettingsschema.c:527,1
    - Dst: push_attribute_value
      Src: /src/glib/gio/gsettingsschema.c:533,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gsettingsschema.c:529,1
    - Dst: push_attribute_value
      Src: /src/glib/gio/gsettingsschema.c:535,1
    - Dst: g_string_free
      Src: /src/glib/gio/gsettingsschema.c:539,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gsettingsschema.c:543,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gsettingsschema.c:543,1
    - Dst: g_string_new
      Src: /src/glib/gio/gsettingsschema.c:544,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 20
    argCount: 6
    argNames:
    - context
    - element_name
    - attribute_names
    - attribute_values
    - user_data
    - error
    argTypes:
    - GMarkupParseContext*
    - gchar*
    - gchar**
    - gchar**
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 545
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 545
    functionName: start_element
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - push_attribute_value
    - g_string_free
    - g_string_new
    - g_str_equal
    linkageType: ''
    returnType: void
    signature: 'static void start_element (GMarkupParseContext *context, const gchar
      *element_name, const gchar **attribute_names, const gchar **attribute_values,
      gpointer user_data, GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_contains
      Src: /src/glib/gio/gsettingsschema.c:805,1
    - Dst: g_hash_table_contains
      Src: /src/glib/gio/gsettingsschema.c:806,1
    - Dst: gvdb_table_list
      Src: /src/glib/gio/gsettingsschema.c:797,1
    - Dst: gvdb_table_has_value
      Src: /src/glib/gio/gsettingsschema.c:816,1
    - Dst: gvdb_table_free
      Src: /src/glib/gio/gsettingsschema.c:821,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gsettingsschema.c:825,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gsettingsschema.c:844,1
    - Dst: g_hash_table_steal_all
      Src: /src/glib/gio/gsettingsschema.c:835,1
    - Dst: g_assert
      Src: /src/glib/gio/gsettingsschema.c:814,1
    - Dst: g_hash_table_get_keys_as_array
      Src: /src/glib/gio/gsettingsschema.c:834,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gsettingsschema.c:789,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gsettingsschema.c:790,1
    - Dst: g_strdup
      Src: /src/glib/gio/gsettingsschema.c:811,1
    - Dst: gvdb_table_get_table
      Src: /src/glib/gio/gsettingsschema.c:813,1
    - Dst: g_hash_table_steal_all
      Src: /src/glib/gio/gsettingsschema.c:841,1
    - Dst: g_hash_table_add
      Src: /src/glib/gio/gsettingsschema.c:819,1
    - Dst: g_hash_table_add
      Src: /src/glib/gio/gsettingsschema.c:817,1
    - Dst: g_hash_table_get_keys_as_array
      Src: /src/glib/gio/gsettingsschema.c:840,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gsettingsschema.c:845,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 41
    argCount: 4
    argNames:
    - source
    - recursive
    - non_relocatable
    - relocatable
    argTypes:
    - GSettingsSchemaSource*
    - gboolean
    - gchar***
    - gchar***
    constantsTouched: []
    func_position:
      end: 846
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 846
    functionName: g_settings_schema_source_list_schemas
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_hash_table_unref
    - g_assert
    - g_hash_table_steal_all
    - gvdb_table_get_table
    - g_strfreev
    - g_hash_table_add
    - g_hash_table_get_keys_as_array
    - g_hash_table_new_full
    - g_hash_table_contains
    - gvdb_table_free
    - gvdb_table_has_value
    - gvdb_table_list
    linkageType: ''
    returnType: void
    signature: 'void g_settings_schema_source_list_schemas (GSettingsSchemaSource
      *source, gboolean recursive, gchar ***non_relocatable, gchar ***relocatable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettingsschema.c:1136,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/gsettingsschema.c:1144,1
    - Dst: g_settings_schema_list
      Src: /src/glib/gio/gsettingsschema.c:1138,1
    - Dst: g_quark_to_string
      Src: /src/glib/gio/gsettingsschema.c:1142,1
    - Dst: g_new
      Src: /src/glib/gio/gsettingsschema.c:1139,1
    - Dst: g_strdup
      Src: /src/glib/gio/gsettingsschema.c:1145,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1128
    functionDepth: 0
    functionLinenumber: 1128
    functionLinenumberEnd: 1150
    functionName: g_settings_schema_list_keys
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_strdup
    - g_new
    - g_str_has_suffix
    - g_quark_to_string
    - g_settings_schema_list
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **g_settings_schema_list_keys (GSettingsSchema *schema) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_settings_schema_source_new_from_directory
      Src: /src/glib/gio/gsettingsschema.c:318,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - directory
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 323
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 323
    functionName: try_prepend_dir
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_settings_schema_source_new_from_directory
    linkageType: ''
    returnType: void
    signature: 'static void try_prepend_dir (const gchar *directory) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 489
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 489
    functionName: get_attribute_value
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *get_attribute_value (GSList *list) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter_pointer
      Src: /src/glib/gio/gsettingsschema.c:572,1
    - Dst: g_regex_new
      Src: /src/glib/gio/gsettingsschema.c:580,1
    - Dst: g_regex_new
      Src: /src/glib/gio/gsettingsschema.c:576,1
    - Dst: g_regex_new
      Src: /src/glib/gio/gsettingsschema.c:578,1
    - Dst: g_regex_new
      Src: /src/glib/gio/gsettingsschema.c:582,1
    - Dst: g_once_init_leave_pointer
      Src: /src/glib/gio/gsettingsschema.c:585,1
    - Dst: g_regex_split
      Src: /src/glib/gio/gsettingsschema.c:588,1
    - Dst: g_regex_replace_literal
      Src: /src/glib/gio/gsettingsschema.c:593,1
    - Dst: g_regex_replace_literal
      Src: /src/glib/gio/gsettingsschema.c:594,1
    - Dst: g_regex_replace_literal
      Src: /src/glib/gio/gsettingsschema.c:595,1
    - Dst: g_strjoinv
      Src: /src/glib/gio/gsettingsschema.c:602,1
    - Dst: g_free
      Src: /src/glib/gio/gsettingsschema.c:597,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gsettingsschema.c:603,1
    - Dst: g_free
      Src: /src/glib/gio/gsettingsschema.c:598,1
    - Dst: g_free
      Src: /src/glib/gio/gsettingsschema.c:596,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 606
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 606
    functionName: normalise_whitespace
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_once_init_leave_pointer
    - g_regex_new
    - g_regex_split
    - g_strfreev
    - g_strjoinv
    - g_once_init_enter_pointer
    - g_regex_replace_literal
    - g_free
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *normalise_whitespace (const gchar *orig) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gsettingsschema.c:1165,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/gsettingsschema.c:1188,1
    - Dst: gvdb_table_get_table
      Src: /src/glib/gio/gsettingsschema.c:1201,1
    - Dst: gvdb_table_get_raw_value
      Src: /src/glib/gio/gsettingsschema.c:1222,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gsettingsschema.c:1224,1
    - Dst: gvdb_table_free
      Src: /src/glib/gio/gsettingsschema.c:1235,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gsettingsschema.c:1244,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gsettingsschema.c:1249,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gsettingsschema.c:1186,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gsettingsschema.c:1187,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gsettingsschema.c:1201,1
    - Dst: g_free
      Src: /src/glib/gio/gsettingsschema.c:1226,1
    - Dst: g_hash_table_iter_remove
      Src: /src/glib/gio/gsettingsschema.c:1232,1
    - Dst: g_hash_table_size
      Src: /src/glib/gio/gsettingsschema.c:1239,1
    - Dst: g_quark_from_string
      Src: /src/glib/gio/gsettingsschema.c:1245,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettingsschema.c:1204,1
    - Dst: gvdb_table_has_value
      Src: /src/glib/gio/gsettingsschema.c:1216,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettingsschema.c:1225,1
    - Dst: g_new
      Src: /src/glib/gio/gsettingsschema.c:1240,1
    - Dst: g_assert
      Src: /src/glib/gio/gsettingsschema.c:1247,1
    - Dst: gvdb_table_list
      Src: /src/glib/gio/gsettingsschema.c:1171,1
    - Dst: g_hash_table_add
      Src: /src/glib/gio/gsettingsschema.c:1176,1
    - Dst: g_free
      Src: /src/glib/gio/gsettingsschema.c:1178,1
    - Dst: gvdb_table_get_raw_value
      Src: /src/glib/gio/gsettingsschema.c:1194,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gsettingsschema.c:1224,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gsettingsschema.c:1223,1
    - Dst: g_hash_table_iter_remove
      Src: /src/glib/gio/gsettingsschema.c:1209,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gsettingsschema.c:1242,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1254
    functionName: g_settings_schema_list
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_strconcat
    - g_hash_table_new_full
    - g_variant_get_string
    - g_variant_unref
    - g_hash_table_size
    - gvdb_table_free
    - gvdb_table_get_raw_value
    - gvdb_table_has_value
    - g_new
    - g_str_has_suffix
    - g_quark_from_string
    - g_hash_table_unref
    - g_hash_table_iter_next
    - gvdb_table_list
    - g_hash_table_add
    - g_hash_table_iter_init
    - g_str_equal
    - g_assert
    - g_hash_table_iter_remove
    - gvdb_table_get_table
    - g_free
    linkageType: ''
    returnType: GQuark*
    signature: 'const GQuark *g_settings_schema_list (GSettingsSchema *schema, gint
      *n_items) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsettingsschema.c:1621,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/gsettingsschema.c:1623,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1626
      start: 1618
    functionDepth: 0
    functionLinenumber: 1618
    functionLinenumberEnd: 1626
    functionName: g_settings_schema_key_ref
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_atomic_int_inc
    - g_return_val_if_fail
    linkageType: ''
    returnType: GSettingsSchemaKey*
    signature: 'GSettingsSchemaKey *g_settings_schema_key_ref (GSettingsSchemaKey
      *key) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_is_container
      Src: /src/glib/gio/gsettingsschema.c:1907,1
    - Dst: g_settings_schema_key_range_check
      Src: /src/glib/gio/gsettingsschema.c:1916,1
    - Dst: g_variant_iter_next_value
      Src: /src/glib/gio/gsettingsschema.c:1914,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsettingsschema.c:1917,1
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/gsettingsschema.c:1913,1
    - Dst: g_variant_compare
      Src: /src/glib/gio/gsettingsschema.c:1925,1
    - Dst: g_variant_compare
      Src: /src/glib/gio/gsettingsschema.c:1926,1
    - Dst: strinfo_is_string_valid
      Src: /src/glib/gio/gsettingsschema.c:1929,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gsettingsschema.c:1930,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - GSettingsSchemaKey*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 1931
      start: 1900
    functionDepth: 0
    functionLinenumber: 1900
    functionLinenumberEnd: 1931
    functionName: g_settings_schema_key_range_check
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_variant_iter_init
    - g_settings_schema_key_range_check
    - g_variant_compare
    - g_variant_is_container
    - g_variant_get_string
    - g_variant_unref
    - g_variant_iter_next_value
    - strinfo_is_string_valid
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_settings_schema_key_range_check (GSettingsSchemaKey *key,
      GVariant *value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_builder_init_static
      Src: /src/glib/gio/gsettingsschema.c:1585,1
    - Dst: g_variant_builder_clear
      Src: /src/glib/gio/gsettingsschema.c:1596,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gsettingsschema.c:1600,1
    - Dst: strinfo_string_from_enum
      Src: /src/glib/gio/gsettingsschema.c:1592,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gsettingsschema.c:1585,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gsettingsschema.c:1603,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1604
      start: 1578
    functionDepth: 0
    functionLinenumber: 1578
    functionLinenumberEnd: 1604
    functionName: g_settings_schema_key_from_flags
    functionSourceFile: /src/glib/gio/gsettingsschema.c
    functionUses: []
    functionsReached:
    - g_variant_builder_init_static
    - g_variant_builder_clear
    - strinfo_string_from_enum
    - g_variant_builder_end
    - g_variant_builder_add
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_settings_schema_key_from_flags (GSettingsSchemaKey *key,
      guint value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gfilterinputstream.c:81,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gfilterinputstream.c:108,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gfilterinputstream.c:98,1
    - Dst: G_INPUT_STREAM_CLASS
      Src: /src/glib/gio/gfilterinputstream.c:86,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gfilterinputstream.c:96,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gfilterinputstream.c:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GFilterInputStreamClass*
    constantsTouched: []
    func_position:
      end: 113
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 113
    functionName: g_filter_input_stream_class_init
    functionSourceFile: /src/glib/gio/gfilterinputstream.c
    functionUses: []
    functionsReached:
    - g_param_spec_boolean
    - g_param_spec_object
    - g_object_class_install_property
    - G_INPUT_STREAM_CLASS
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_filter_input_stream_class_init (GFilterInputStreamClass
      *klass) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_FILTER_INPUT_STREAM
      Src: /src/glib/gio/gfilterinputstream.c:154,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gfilterinputstream.c:160,1
    - Dst: g_filter_input_stream_get_instance_private
      Src: /src/glib/gio/gfilterinputstream.c:155,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gfilterinputstream.c:164,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gfilterinputstream.c:168,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 172
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 172
    functionName: g_filter_input_stream_get_property
    functionSourceFile: /src/glib/gio/gfilterinputstream.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_boolean
    - G_FILTER_INPUT_STREAM
    - g_filter_input_stream_get_instance_private
    - g_value_set_object
    linkageType: ''
    returnType: void
    signature: 'static void g_filter_input_stream_get_property (GObject *object, guint
      prop_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfilterinputstream.c:202,1
    - Dst: G_IS_FILTER_INPUT_STREAM
      Src: /src/glib/gio/gfilterinputstream.c:202,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 205
    functionName: g_filter_input_stream_get_base_stream
    functionSourceFile: /src/glib/gio/gfilterinputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_FILTER_INPUT_STREAM
    linkageType: ''
    returnType: GInputStream*
    signature: 'GInputStream *g_filter_input_stream_get_base_stream (GFilterInputStream
      *stream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfilterinputstream.c:241,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gfilterinputstream.c:250,1
    - Dst: g_filter_input_stream_get_instance_private
      Src: /src/glib/gio/gfilterinputstream.c:245,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gfilterinputstream.c:250,1
    - Dst: G_IS_FILTER_INPUT_STREAM
      Src: /src/glib/gio/gfilterinputstream.c:241,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - stream
    - close_base
    argTypes:
    - GFilterInputStream*
    - gboolean
    constantsTouched: []
    func_position:
      end: 252
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 252
    functionName: g_filter_input_stream_set_close_base_stream
    functionSourceFile: /src/glib/gio/gfilterinputstream.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - g_object_notify
    - g_filter_input_stream_get_instance_private
    - G_OBJECT
    - G_IS_FILTER_INPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'void g_filter_input_stream_set_close_base_stream (GFilterInputStream
      *stream, gboolean close_base) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_FILTER_INPUT_STREAM
      Src: /src/glib/gio/gfilterinputstream.c:265,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/gfilterinputstream.c:268,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 5
    argNames:
    - stream
    - buffer
    - count
    - cancellable
    - error
    argTypes:
    - GInputStream*
    - void*
    - gsize
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 275
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 275
    functionName: g_filter_input_stream_read
    functionSourceFile: /src/glib/gio/gfilterinputstream.c
    functionUses: []
    functionsReached:
    - g_input_stream_read
    - G_FILTER_INPUT_STREAM
    linkageType: ''
    returnType: gssize
    signature: 'static gssize g_filter_input_stream_read (GInputStream *stream, void
      *buffer, gsize count, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_FILTER_INPUT_STREAM
      Src: /src/glib/gio/gfilterinputstream.c:179,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfilterinputstream.c:181,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gfilterinputstream.c:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 184
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 184
    functionName: g_filter_input_stream_finalize
    functionSourceFile: /src/glib/gio/gfilterinputstream.c
    functionUses: []
    functionsReached:
    - G_FILTER_INPUT_STREAM
    - g_object_unref
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_filter_input_stream_finalize (GObject *object) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_FILTER_INPUT_STREAM
      Src: /src/glib/gio/gfilterinputstream.c:124,1
    - Dst: g_filter_input_stream_set_close_base_stream
      Src: /src/glib/gio/gfilterinputstream.c:134,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/gfilterinputstream.c:129,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gfilterinputstream.c:135,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gfilterinputstream.c:130,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gfilterinputstream.c:139,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 143
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 143
    functionName: g_filter_input_stream_set_property
    functionSourceFile: /src/glib/gio/gfilterinputstream.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_get_boolean
    - G_FILTER_INPUT_STREAM
    - g_value_dup_object
    - G_INPUT_STREAM
    - g_filter_input_stream_set_close_base_stream
    linkageType: ''
    returnType: void
    signature: 'static void g_filter_input_stream_set_property (GObject *object, guint
      prop_id, const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_FILTER_INPUT_STREAM
      Src: /src/glib/gio/gfilterinputstream.c:287,1
    - Dst: g_input_stream_skip
      Src: /src/glib/gio/gfilterinputstream.c:290,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 4
    argNames:
    - stream
    - count
    - cancellable
    - error
    argTypes:
    - GInputStream*
    - gsize
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 295
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 295
    functionName: g_filter_input_stream_skip
    functionSourceFile: /src/glib/gio/gfilterinputstream.c
    functionUses: []
    functionsReached:
    - g_input_stream_skip
    - G_FILTER_INPUT_STREAM
    linkageType: ''
    returnType: gssize
    signature: 'static gssize g_filter_input_stream_skip (GInputStream *stream, gsize
      count, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_FILTER_INPUT_STREAM
      Src: /src/glib/gio/gfilterinputstream.c:302,1
    - Dst: g_filter_input_stream_get_instance_private
      Src: /src/glib/gio/gfilterinputstream.c:303,1
    - Dst: g_input_stream_close
      Src: /src/glib/gio/gfilterinputstream.c:308,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GInputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 314
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 314
    functionName: g_filter_input_stream_close
    functionSourceFile: /src/glib/gio/gfilterinputstream.c
    functionUses: []
    functionsReached:
    - g_input_stream_close
    - G_FILTER_INPUT_STREAM
    - g_filter_input_stream_get_instance_private
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_filter_input_stream_close (GInputStream *stream,
      GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GFilterInputStream*
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 189
    functionName: g_filter_input_stream_init
    functionSourceFile: /src/glib/gio/gfilterinputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_filter_input_stream_init (GFilterInputStream *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfilterinputstream.c:221,1
    - Dst: g_filter_input_stream_get_instance_private
      Src: /src/glib/gio/gfilterinputstream.c:223,1
    - Dst: G_IS_FILTER_INPUT_STREAM
      Src: /src/glib/gio/gfilterinputstream.c:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GFilterInputStream*
    constantsTouched: []
    func_position:
      end: 226
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 226
    functionName: g_filter_input_stream_get_close_base_stream
    functionSourceFile: /src/glib/gio/gfilterinputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_filter_input_stream_get_instance_private
    - G_IS_FILTER_INPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_filter_input_stream_get_close_base_stream (GFilterInputStream
      *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - resolver
    argTypes:
    - GDummyProxyResolver*
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: g_dummy_proxy_resolver_init
    functionSourceFile: /src/glib/gio/gdummyproxyresolver.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_dummy_proxy_resolver_init (GDummyProxyResolver *resolver) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gdummyproxyresolver.c:78,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdummyproxyresolver.c:82,1
    - Dst: g_new0
      Src: /src/glib/gio/gdummyproxyresolver.c:81,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 85
    functionName: g_dummy_proxy_resolver_lookup
    functionSourceFile: /src/glib/gio/gdummyproxyresolver.c
    functionUses: []
    functionsReached:
    - g_new0
    - g_strdup
    - g_cancellable_set_error_if_cancelled
    linkageType: ''
    returnType: gchar**
    signature: "static gchar **g_dummy_proxy_resolver_lookup (GProxyResolver *resolver,\t\
      \t\t const gchar *uri,\t\t\t GCancellable *cancellable,\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdummyproxyresolver.c:114,1
    - Dst: G_TASK
      Src: /src/glib/gio/gdummyproxyresolver.c:116,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gdummyproxyresolver.c:114,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gdummyproxyresolver.c:116,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 117
    functionName: g_dummy_proxy_resolver_lookup_finish
    functionSourceFile: /src/glib/gio/gdummyproxyresolver.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_return_val_if_fail
    - g_task_is_valid
    - g_task_propagate_pointer
    linkageType: ''
    returnType: gchar**
    signature: "static gchar **g_dummy_proxy_resolver_lookup_finish (GProxyResolver\
      \ *resolver,\t\t\t\t GAsyncResult *result,\t\t\t\t GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/gdummyproxyresolver.c:98,1
    - Dst: g_dummy_proxy_resolver_lookup
      Src: /src/glib/gio/gdummyproxyresolver.c:101,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gdummyproxyresolver.c:99,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gdummyproxyresolver.c:103,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gdummyproxyresolver.c:105,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdummyproxyresolver.c:106,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 5
    argNames:
    - resolver
    - uri
    - cancellable
    - callback
    - user_data
    argTypes:
    - GProxyResolver*
    - gchar*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 107
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 107
    functionName: g_dummy_proxy_resolver_lookup_async
    functionSourceFile: /src/glib/gio/gdummyproxyresolver.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_object_unref
    - g_task_return_pointer
    - g_task_set_source_tag
    - g_dummy_proxy_resolver_lookup
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: "static void g_dummy_proxy_resolver_lookup_async (GProxyResolver *resolver,\t\
      \t\t\t const gchar *uri,\t\t\t\t GCancellable *cancellable,\t\t\t\t GAsyncReadyCallback\
      \ callback,\t\t\t\t gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - resolver
    argTypes:
    - GProxyResolver*
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: g_dummy_proxy_resolver_is_supported
    functionSourceFile: /src/glib/gio/gdummyproxyresolver.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_dummy_proxy_resolver_is_supported (GProxyResolver
      *resolver) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdummyproxyresolver.c:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - resolver_class
    argTypes:
    - GDummyProxyResolverClass*
    constantsTouched: []
    func_position:
      end: 126
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 126
    functionName: g_dummy_proxy_resolver_class_init
    functionSourceFile: /src/glib/gio/gdummyproxyresolver.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_dummy_proxy_resolver_class_init (GDummyProxyResolverClass
      *resolver_class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GProxyResolverInterface*
    constantsTouched: []
    func_position:
      end: 135
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 135
    functionName: g_dummy_proxy_resolver_iface_init
    functionSourceFile: /src/glib/gio/gdummyproxyresolver.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_dummy_proxy_resolver_iface_init (GProxyResolverInterface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdummyproxyresolver.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: g_dummy_proxy_resolver_finalize
    functionSourceFile: /src/glib/gio/gdummyproxyresolver.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_dummy_proxy_resolver_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_OBJECT_MANAGER_GET_IFACE
      Src: /src/glib/gio/gdbusobjectmanager.c:217,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusobjectmanager.c:218,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectmanager.c:218,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 220
    functionName: g_dbus_object_manager_get_object
    functionSourceFile: /src/glib/gio/gdbusobjectmanager.c
    functionUses: []
    functionsReached:
    - G_DBUS_OBJECT_MANAGER_GET_IFACE
    - g_variant_is_object_path
    - g_return_val_if_fail
    linkageType: ''
    returnType: GDBusObject*
    signature: 'GDBusObject *g_dbus_object_manager_get_object (GDBusObjectManager
      *manager, const gchar *object_path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_OBJECT_MANAGER_GET_IFACE
      Src: /src/glib/gio/gdbusobjectmanager.c:241,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectmanager.c:243,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusobjectmanager.c:242,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectmanager.c:242,1
    - Dst: g_dbus_is_interface_name
      Src: /src/glib/gio/gdbusobjectmanager.c:243,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 245
    functionName: g_dbus_object_manager_get_interface
    functionSourceFile: /src/glib/gio/gdbusobjectmanager.c
    functionUses: []
    functionsReached:
    - G_DBUS_OBJECT_MANAGER_GET_IFACE
    - g_variant_is_object_path
    - g_return_val_if_fail
    - g_dbus_is_interface_name
    linkageType: ''
    returnType: GDBusInterface*
    signature: 'GDBusInterface *g_dbus_object_manager_get_interface (GDBusObjectManager
      *manager, const gchar *object_path, const gchar *interface_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_OBJECT_MANAGER_GET_IFACE
      Src: /src/glib/gio/gdbusobjectmanager.c:177,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 179
    functionName: g_dbus_object_manager_get_object_path
    functionSourceFile: /src/glib/gio/gdbusobjectmanager.c
    functionUses: []
    functionsReached:
    - G_DBUS_OBJECT_MANAGER_GET_IFACE
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_dbus_object_manager_get_object_path (GDBusObjectManager
      *manager) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_new
      Src: /src/glib/gio/gdbusobjectmanager.c:70,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gdbusobjectmanager.c:116,1
    - Dst: G_TYPE_FROM_INTERFACE
      Src: /src/glib/gio/gdbusobjectmanager.c:146,1
    - Dst: I_
      Src: /src/glib/gio/gdbusobjectmanager.c:145,1
    - Dst: G_TYPE_FROM_INTERFACE
      Src: /src/glib/gio/gdbusobjectmanager.c:157,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gdbusobjectmanager.c:73,1
    - Dst: I_
      Src: /src/glib/gio/gdbusobjectmanager.c:91,1
    - Dst: G_TYPE_FROM_INTERFACE
      Src: /src/glib/gio/gdbusobjectmanager.c:92,1
    - Dst: G_TYPE_FROM_INTERFACE
      Src: /src/glib/gio/gdbusobjectmanager.c:128,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gdbusobjectmanager.c:119,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gdbusobjectmanager.c:91,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gdbusobjectmanager.c:148,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gdbusobjectmanager.c:156,1
    - Dst: G_TYPE_FROM_INTERFACE
      Src: /src/glib/gio/gdbusobjectmanager.c:71,1
    - Dst: I_
      Src: /src/glib/gio/gdbusobjectmanager.c:70,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gdbusobjectmanager.c:94,1
    - Dst: I_
      Src: /src/glib/gio/gdbusobjectmanager.c:116,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gdbusobjectmanager.c:145,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gdbusobjectmanager.c:127,1
    - Dst: G_TYPE_FROM_INTERFACE
      Src: /src/glib/gio/gdbusobjectmanager.c:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GDBusObjectManagerIface*
    constantsTouched: []
    func_position:
      end: 160
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 160
    functionName: g_dbus_object_manager_default_init
    functionSourceFile: /src/glib/gio/gdbusobjectmanager.c
    functionUses: []
    functionsReached:
    - I_
    - G_STRUCT_OFFSET
    - g_signal_set_va_marshaller
    - G_TYPE_FROM_INTERFACE
    - g_signal_new
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_object_manager_default_init (GDBusObjectManagerIface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_OBJECT_MANAGER_GET_IFACE
      Src: /src/glib/gio/gdbusobjectmanager.c:197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 199
    functionName: g_dbus_object_manager_get_objects
    functionSourceFile: /src/glib/gio/gdbusobjectmanager.c
    functionUses: []
    functionsReached:
    - G_DBUS_OBJECT_MANAGER_GET_IFACE
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_dbus_object_manager_get_objects (GDBusObjectManager *manager) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: IIterator
    functionSourceFile: /src/glib/gio/gwin32api-iterator.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: interface
    signature: 'interface IIterator '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: IIterable
    functionSourceFile: /src/glib/gio/gwin32api-iterator.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: interface
    signature: 'interface IIterable '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: g_win32_notification_backend_is_supported
    functionSourceFile: /src/glib/gio/gwin32notificationbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_win32_notification_backend_is_supported (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - backend
    - id
    argTypes:
    - GNotificationBackend*
    - gchar*
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: g_win32_notification_backend_withdraw_notification
    functionSourceFile: /src/glib/gio/gwin32notificationbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_notification_backend_withdraw_notification (GNotificationBackend
      *backend, const gchar *id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/gio/gwin32notificationbackend.c:70,1
    - Dst: g_warning
      Src: /src/glib/gio/gwin32notificationbackend.c:72,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/gwin32notificationbackend.c:73,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - backend
    - id
    - notification
    argTypes:
    - GNotificationBackend*
    - gchar*
    - GNotification*
    constantsTouched: []
    func_position:
      end: 75
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 75
    functionName: g_win32_notification_backend_send_notification
    functionSourceFile: /src/glib/gio/gwin32notificationbackend.c
    functionUses: []
    functionsReached:
    - g_once_init_leave
    - g_once_init_enter
    - g_warning
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_notification_backend_send_notification (GNotificationBackend
      *backend, const gchar *id, GNotification *notification) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - backend
    argTypes:
    - GWin32NotificationBackend*
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: g_win32_notification_backend_init
    functionSourceFile: /src/glib/gio/gwin32notificationbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_notification_backend_init (GWin32NotificationBackend
      *backend) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_NOTIFICATION_BACKEND_CLASS
      Src: /src/glib/gio/gwin32notificationbackend.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - class
    argTypes:
    - GWin32NotificationBackendClass*
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: g_win32_notification_backend_class_init
    functionSourceFile: /src/glib/gio/gwin32notificationbackend.c
    functionUses: []
    functionsReached:
    - G_NOTIFICATION_BACKEND_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_notification_backend_class_init (GWin32NotificationBackendClass
      *class) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/gzlibdecompressor.c:78,1
    - Dst: inflateGetHeader
      Src: /src/glib/gio/gzlibdecompressor.c:91,1
    - Dst: g_new0
      Src: /src/glib/gio/gzlibdecompressor.c:84,1
    - Dst: memset
      Src: /src/glib/gio/gzlibdecompressor.c:80,1
    - Dst: g_warning
      Src: /src/glib/gio/gzlibdecompressor.c:92,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - decompressor
    argTypes:
    - GZlibDecompressor*
    constantsTouched: []
    func_position:
      end: 94
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 94
    functionName: g_zlib_decompressor_set_gzheader
    functionSourceFile: /src/glib/gio/gzlibdecompressor.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_warning
    - inflateGetHeader
    - g_new0
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void g_zlib_decompressor_set_gzheader (GZlibDecompressor *decompressor) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_ZLIB_DECOMPRESSOR
      Src: /src/glib/gio/gzlibdecompressor.c:105,1
    - Dst: g_free
      Src: /src/glib/gio/gzlibdecompressor.c:113,1
    - Dst: inflateEnd
      Src: /src/glib/gio/gzlibdecompressor.c:107,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gzlibdecompressor.c:112,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gzlibdecompressor.c:116,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 117
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 117
    functionName: g_zlib_decompressor_finalize
    functionSourceFile: /src/glib/gio/gzlibdecompressor.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - inflateEnd
    - G_OBJECT_CLASS
    - G_ZLIB_DECOMPRESSOR
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void g_zlib_decompressor_finalize (GObject *object) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_ZLIB_DECOMPRESSOR
      Src: /src/glib/gio/gzlibdecompressor.c:151,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gzlibdecompressor.c:163,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gzlibdecompressor.c:167,1
    - Dst: g_value_set_enum
      Src: /src/glib/gio/gzlibdecompressor.c:156,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gzlibdecompressor.c:161,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 170
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 170
    functionName: g_zlib_decompressor_get_property
    functionSourceFile: /src/glib/gio/gzlibdecompressor.c
    functionUses: []
    functionsReached:
    - g_value_set_object
    - g_value_set_enum
    - G_ZLIB_DECOMPRESSOR
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: "static void g_zlib_decompressor_get_property (GObject *object,\t\t\
      \t\t guint prop_id,\t\t\t\t GValue *value,\t\t\t\t GParamSpec *pspec) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_ZLIB_DECOMPRESSOR
      Src: /src/glib/gio/gzlibdecompressor.c:183,1
    - Dst: inflateInit2
      Src: /src/glib/gio/gzlibdecompressor.c:193,1
    - Dst: g_error
      Src: /src/glib/gio/gzlibdecompressor.c:199,1
    - Dst: inflateInit
      Src: /src/glib/gio/gzlibdecompressor.c:196,1
    - Dst: inflateInit2
      Src: /src/glib/gio/gzlibdecompressor.c:188,1
    - Dst: g_warning
      Src: /src/glib/gio/gzlibdecompressor.c:202,1
    - Dst: g_zlib_decompressor_set_gzheader
      Src: /src/glib/gio/gzlibdecompressor.c:204,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 205
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 205
    functionName: g_zlib_decompressor_constructed
    functionSourceFile: /src/glib/gio/gzlibdecompressor.c
    functionUses: []
    functionsReached:
    - g_warning
    - inflateInit
    - inflateInit2
    - G_ZLIB_DECOMPRESSOR
    - g_error
    - g_zlib_decompressor_set_gzheader
    linkageType: ''
    returnType: void
    signature: 'static void g_zlib_decompressor_constructed (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gzlibdecompressor.c:265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 270
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 270
    functionName: g_zlib_decompressor_new
    functionSourceFile: /src/glib/gio/gzlibdecompressor.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: GZlibDecompressor*
    signature: 'GZlibDecompressor *g_zlib_decompressor_new (GZlibCompressorFormat
      format) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_ZLIB_DECOMPRESSOR
      Src: /src/glib/gio/gzlibdecompressor.c:300,1
    - Dst: g_warning
      Src: /src/glib/gio/gzlibdecompressor.c:305,1
    - Dst: g_zlib_decompressor_set_gzheader
      Src: /src/glib/gio/gzlibdecompressor.c:307,1
    - Dst: inflateReset
      Src: /src/glib/gio/gzlibdecompressor.c:303,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - converter
    argTypes:
    - GConverter*
    constantsTouched: []
    func_position:
      end: 308
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 308
    functionName: g_zlib_decompressor_reset
    functionSourceFile: /src/glib/gio/gzlibdecompressor.c
    functionUses: []
    functionsReached:
    - g_zlib_decompressor_set_gzheader
    - inflateReset
    - G_ZLIB_DECOMPRESSOR
    - g_warning
    linkageType: ''
    returnType: void
    signature: 'static void g_zlib_decompressor_reset (GConverter *converter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - decompressor
    argTypes:
    - GZlibDecompressor*
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: g_zlib_decompressor_init
    functionSourceFile: /src/glib/gio/gzlibdecompressor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_zlib_decompressor_init (GZlibDecompressor *decompressor) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_ZLIB_DECOMPRESSOR
      Src: /src/glib/gio/gzlibdecompressor.c:128,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gzlibdecompressor.c:137,1
    - Dst: g_value_get_enum
      Src: /src/glib/gio/gzlibdecompressor.c:133,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 141
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 141
    functionName: g_zlib_decompressor_set_property
    functionSourceFile: /src/glib/gio/gzlibdecompressor.c
    functionUses: []
    functionsReached:
    - G_ZLIB_DECOMPRESSOR
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_get_enum
    linkageType: ''
    returnType: void
    signature: "static void g_zlib_decompressor_set_property (GObject *object,\t\t\
      \t\t guint prop_id,\t\t\t\t const GValue *value,\t\t\t\t GParamSpec *pspec) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gzlibdecompressor.c:210,1
    - Dst: g_param_spec_enum
      Src: /src/glib/gio/gzlibdecompressor.c:226,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gzlibdecompressor.c:244,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gzlibdecompressor.c:224,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gzlibdecompressor.c:242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GZlibDecompressorClass*
    constantsTouched: []
    func_position:
      end: 248
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 248
    functionName: g_zlib_decompressor_class_init
    functionSourceFile: /src/glib/gio/gzlibdecompressor.c
    functionUses: []
    functionsReached:
    - g_param_spec_enum
    - g_param_spec_object
    - g_object_class_install_property
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_zlib_decompressor_class_init (GZlibDecompressorClass
      *klass) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: G_ZLIB_DECOMPRESSOR
      Src: /src/glib/gio/gzlibdecompressor.c:324,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gzlibdecompressor.c:343,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gzlibdecompressor.c:336,1
    - Dst: _
      Src: /src/glib/gio/gzlibdecompressor.c:337,1
    - Dst: inflate
      Src: /src/glib/gio/gzlibdecompressor.c:332,1
    - Dst: _
      Src: /src/glib/gio/gzlibdecompressor.c:344,1
    - Dst: g_set_error
      Src: /src/glib/gio/gzlibdecompressor.c:350,1
    - Dst: _
      Src: /src/glib/gio/gzlibdecompressor.c:351,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gzlibdecompressor.c:364,1
    - Dst: _
      Src: /src/glib/gio/gzlibdecompressor.c:365,1
    - Dst: g_file_info_set_attribute_byte_string
      Src: /src/glib/gio/gzlibdecompressor.c:395,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gzlibdecompressor.c:399,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gzlibdecompressor.c:399,1
    - Dst: g_file_info_set_attribute_uint32
      Src: /src/glib/gio/gzlibdecompressor.c:390,1
    - Dst: g_file_info_set_attribute_uint32
      Src: /src/glib/gio/gzlibdecompressor.c:387,1
    - Dst: g_assert
      Src: /src/glib/gio/gzlibdecompressor.c:369,1
    - Dst: g_file_info_new
      Src: /src/glib/gio/gzlibdecompressor.c:383,1
    - Dst: g_file_info_set_attribute_uint64
      Src: /src/glib/gio/gzlibdecompressor.c:384,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 54
    argCount: 9
    argNames:
    - converter
    - inbuf
    - inbuf_size
    - outbuf
    - outbuf_size
    - flags
    - bytes_read
    - bytes_written
    - error
    argTypes:
    - GConverter*
    - void*
    - gsize
    - void*
    - gsize
    - GConverterFlags
    - gsize*
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 406
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 406
    functionName: g_zlib_decompressor_convert
    functionSourceFile: /src/glib/gio/gzlibdecompressor.c
    functionUses: []
    functionsReached:
    - inflate
    - g_set_error
    - g_file_info_set_attribute_uint64
    - g_assert
    - g_object_notify
    - G_OBJECT
    - g_file_info_new
    - g_set_error_literal
    - G_ZLIB_DECOMPRESSOR
    - g_file_info_set_attribute_byte_string
    - _
    - g_file_info_set_attribute_uint32
    linkageType: ''
    returnType: GConverterResult
    signature: "static GConverterResult g_zlib_decompressor_convert (GConverter *converter,\t\
      \t\t const void *inbuf,\t\t\t gsize inbuf_size,\t\t\t void *outbuf,\t\t\t gsize\
      \ outbuf_size,\t\t\t GConverterFlags flags,\t\t\t gsize *bytes_read,\t\t\t gsize\
      \ *bytes_written,\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GConverterIface*
    constantsTouched: []
    func_position:
      end: 413
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 413
    functionName: g_zlib_decompressor_iface_init
    functionSourceFile: /src/glib/gio/gzlibdecompressor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_zlib_decompressor_iface_init (GConverterIface *iface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gzlibdecompressor.c:289,1
    - Dst: G_IS_ZLIB_DECOMPRESSOR
      Src: /src/glib/gio/gzlibdecompressor.c:289,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 295
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 295
    functionName: g_zlib_decompressor_get_file_info
    functionSourceFile: /src/glib/gio/gzlibdecompressor.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_ZLIB_DECOMPRESSOR
    linkageType: ''
    returnType: GFileInfo*
    signature: 'GFileInfo *g_zlib_decompressor_get_file_info (GZlibDecompressor *decompressor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gnotification.c:201,1
    - Dst: G_IS_NOTIFICATION
      Src: /src/glib/gio/gnotification.c:201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 204
    functionName: g_notification_get_title
    functionSourceFile: /src/glib/gio/gnotification.c
    functionUses: []
    functionsReached:
    - G_IS_NOTIFICATION
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_notification_get_title (GNotification *notification) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/gio/gnotification.c:715,1
    - Dst: va_end
      Src: /src/glib/gio/gnotification.c:717,1
    - Dst: g_variant_new_va
      Src: /src/glib/gio/gnotification.c:716,1
    - Dst: g_notification_set_default_action_and_target_value
      Src: /src/glib/gio/gnotification.c:720,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - notification
    - action
    - target_format
    - '...'
    argTypes:
    - GNotification*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 721
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 721
    functionName: g_notification_set_default_action_and_target
    functionSourceFile: /src/glib/gio/gnotification.c
    functionUses: []
    functionsReached:
    - g_variant_new_va
    - g_notification_set_default_action_and_target_value
    - va_start
    - va_end
    linkageType: ''
    returnType: void
    signature: 'void g_notification_set_default_action_and_target (GNotification *notification,
      const gchar *action, const gchar *target_format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gnotification.c:180,1
    - Dst: g_object_new
      Src: /src/glib/gio/gnotification.c:182,1
    - Dst: g_strdup
      Src: /src/glib/gio/gnotification.c:183,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 186
    functionName: g_notification_new
    functionSourceFile: /src/glib/gio/gnotification.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_return_val_if_fail
    - g_object_new
    linkageType: ''
    returnType: GNotification*
    signature: 'GNotification *g_notification_new (const gchar *title) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gnotification.c:316,1
    - Dst: G_IS_NOTIFICATION
      Src: /src/glib/gio/gnotification.c:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - notification
    argTypes:
    - GNotification*
    constantsTouched: []
    func_position:
      end: 319
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 319
    functionName: g_notification_get_priority
    functionSourceFile: /src/glib/gio/gnotification.c
    functionUses: []
    functionsReached:
    - G_IS_NOTIFICATION
    - g_return_val_if_fail
    linkageType: ''
    returnType: GNotificationPriority
    signature: 'GNotificationPriority g_notification_get_priority (GNotification *notification) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gnotification.c:358,1
    - Dst: G_IS_NOTIFICATION
      Src: /src/glib/gio/gnotification.c:358,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 361
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 361
    functionName: g_notification_get_category
    functionSourceFile: /src/glib/gio/gnotification.c
    functionUses: []
    functionsReached:
    - G_IS_NOTIFICATION
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_notification_get_category (GNotification *notification) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - notification
    argTypes:
    - GNotification*
    constantsTouched: []
    func_position:
      end: 539
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 539
    functionName: g_notification_get_n_buttons
    functionSourceFile: /src/glib/gio/gnotification.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint
    signature: 'guint g_notification_get_n_buttons (GNotification *notification) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_NOTIFICATION
      Src: /src/glib/gio/gnotification.c:122,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gnotification.c:126,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gnotification.c:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 127
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 127
    functionName: g_notification_dispose
    functionSourceFile: /src/glib/gio/gnotification.c
    functionUses: []
    functionsReached:
    - G_NOTIFICATION
    - g_clear_object
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_notification_dispose (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gnotification.c:297,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gnotification.c:302,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnotification.c:300,1
    - Dst: G_IS_NOTIFICATION
      Src: /src/glib/gio/gnotification.c:297,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - notification
    - icon
    argTypes:
    - GNotification*
    - GIcon*
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: g_notification_set_icon
    functionSourceFile: /src/glib/gio/gnotification.c
    functionUses: []
    functionsReached:
    - G_IS_NOTIFICATION
    - g_object_unref
    - g_object_ref
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_notification_set_icon (GNotification *notification, GIcon *icon) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gnotification.c:336,1
    - Dst: G_IS_NOTIFICATION
      Src: /src/glib/gio/gnotification.c:336,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - notification
    - urgent
    argTypes:
    - GNotification*
    - gboolean
    constantsTouched: []
    func_position:
      end: 341
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 341
    functionName: g_notification_set_urgent
    functionSourceFile: /src/glib/gio/gnotification.c
    functionUses: []
    functionsReached:
    - G_IS_NOTIFICATION
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_notification_set_urgent (GNotification *notification, gboolean
      urgent) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gnotification.c:509,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gnotification.c:510,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gnotification.c:511,1
    - Dst: g_action_name_is_valid
      Src: /src/glib/gio/gnotification.c:511,1
    - Dst: G_IS_NOTIFICATION
      Src: /src/glib/gio/gnotification.c:509,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gnotification.c:513,1
    - Dst: g_warning
      Src: /src/glib/gio/gnotification.c:515,1
    - Dst: g_slice_new0
      Src: /src/glib/gio/gnotification.c:519,1
    - Dst: g_strdup
      Src: /src/glib/gio/gnotification.c:520,1
    - Dst: g_strdup
      Src: /src/glib/gio/gnotification.c:521,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gnotification.c:526,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gnotification.c:524,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - notification
    - label
    - action
    - target
    argTypes:
    - GNotification*
    - gchar*
    - gchar*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 527
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 527
    functionName: g_notification_add_button_with_target_value
    functionSourceFile: /src/glib/gio/gnotification.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - g_strdup
    - g_warning
    - g_slice_new0
    - g_return_if_fail
    - g_str_has_prefix
    - g_action_name_is_valid
    - G_IS_NOTIFICATION
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'void g_notification_add_button_with_target_value (GNotification *notification,
      const gchar *label, const gchar *action, GVariant *target) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_action_parse_detailed_name
      Src: /src/glib/gio/gnotification.c:669,1
    - Dst: g_notification_set_default_action_and_target_value
      Src: /src/glib/gio/gnotification.c:676,1
    - Dst: g_warning
      Src: /src/glib/gio/gnotification.c:671,1
    - Dst: g_error_free
      Src: /src/glib/gio/gnotification.c:672,1
    - Dst: g_free
      Src: /src/glib/gio/gnotification.c:678,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gnotification.c:680,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - notification
    - detailed_action
    argTypes:
    - GNotification*
    - gchar*
    constantsTouched: []
    func_position:
      end: 681
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 681
    functionName: g_notification_set_default_action
    functionSourceFile: /src/glib/gio/gnotification.c
    functionUses: []
    functionsReached:
    - g_warning
    - g_variant_unref
    - g_notification_set_default_action_and_target_value
    - g_error_free
    - g_action_parse_detailed_name
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_notification_set_default_action (GNotification *notification,
      const gchar *detailed_action) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_builder_init_static
      Src: /src/glib/gio/gnotification.c:769,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gnotification.c:771,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gnotification.c:769,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gnotification.c:772,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gnotification.c:771,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gnotification.c:772,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gnotification.c:775,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gnotification.c:777,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 778
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 778
    functionName: g_notification_serialize_button
    functionSourceFile: /src/glib/gio/gnotification.c
    functionUses: []
    functionsReached:
    - g_variant_builder_init_static
    - g_variant_new_string
    - g_variant_builder_end
    - g_variant_builder_add
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_notification_serialize_button (Button *button) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_NOTIFICATION
      Src: /src/glib/gio/gnotification.c:132,1
    - Dst: g_free
      Src: /src/glib/gio/gnotification.c:135,1
    - Dst: g_free
      Src: /src/glib/gio/gnotification.c:137,1
    - Dst: g_free
      Src: /src/glib/gio/gnotification.c:136,1
    - Dst: g_free
      Src: /src/glib/gio/gnotification.c:134,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gnotification.c:139,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gnotification.c:140,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gnotification.c:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 143
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 143
    functionName: g_notification_finalize
    functionSourceFile: /src/glib/gio/gnotification.c
    functionUses: []
    functionsReached:
    - G_NOTIFICATION
    - G_OBJECT_CLASS
    - g_variant_unref
    - g_ptr_array_free
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void g_notification_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_type_class_ref
      Src: /src/glib/gio/gnotification.c:787,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gnotification.c:790,1
    - Dst: g_assert
      Src: /src/glib/gio/gnotification.c:789,1
    - Dst: g_notification_get_priority
      Src: /src/glib/gio/gnotification.c:788,1
    - Dst: g_enum_get_value
      Src: /src/glib/gio/gnotification.c:788,1
    - Dst: g_type_class_unref
      Src: /src/glib/gio/gnotification.c:791,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 794
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 794
    functionName: g_notification_get_priority_nick
    functionSourceFile: /src/glib/gio/gnotification.c
    functionUses: []
    functionsReached:
    - g_type_class_ref
    - g_assert
    - g_enum_get_value
    - g_variant_new_string
    - g_notification_get_priority
    - g_type_class_unref
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_notification_get_priority_nick (GNotification *notification) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gnotification.c:279,1
    - Dst: G_IS_NOTIFICATION
      Src: /src/glib/gio/gnotification.c:279,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 282
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 282
    functionName: g_notification_get_icon
    functionSourceFile: /src/glib/gio/gnotification.c
    functionUses: []
    functionsReached:
    - G_IS_NOTIFICATION
    - g_return_val_if_fail
    linkageType: ''
    returnType: GIcon*
    signature: 'GIcon *g_notification_get_icon (GNotification *notification) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gio/gnotification.c:629,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gnotification.c:634,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 3
    argNames:
    - notification
    - action
    - target
    argTypes:
    - GNotification*
    - gchar**
    - GVariant**
    constantsTouched: []
    func_position:
      end: 640
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 640
    functionName: g_notification_get_default_action
    functionSourceFile: /src/glib/gio/gnotification.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_variant_ref
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_notification_get_default_action (GNotification *notification,
      gchar **action, GVariant **target) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gnotification.c:808,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gnotification.c:811,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gnotification.c:811,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gnotification.c:852,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gnotification.c:852,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gnotification.c:855,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gnotification.c:822,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gnotification.c:849,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gnotification.c:831,1
    - Dst: g_notification_serialize_button
      Src: /src/glib/gio/gnotification.c:849,1
    - Dst: g_variant_builder_init_static
      Src: /src/glib/gio/gnotification.c:844,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gnotification.c:832,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gnotification.c:848,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gnotification.c:814,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gnotification.c:814,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gnotification.c:823,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gnotification.c:827,1
    - Dst: g_notification_get_priority_nick
      Src: /src/glib/gio/gnotification.c:827,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gnotification.c:835,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gnotification.c:844,1
    - Dst: g_variant_builder_init_static
      Src: /src/glib/gio/gnotification.c:808,1
    - Dst: g_icon_serialize
      Src: /src/glib/gio/gnotification.c:820,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 856
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 856
    functionName: g_notification_serialize
    functionSourceFile: /src/glib/gio/gnotification.c
    functionUses: []
    functionsReached:
    - g_variant_builder_init_static
    - g_icon_serialize
    - g_ptr_array_index
    - g_variant_new_string
    - g_variant_unref
    - g_notification_get_priority_nick
    - g_notification_serialize_button
    - g_variant_builder_end
    - g_variant_builder_add
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_notification_serialize (GNotification *notification) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gnotification.c:148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GNotificationClass*
    constantsTouched: []
    func_position:
      end: 152
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 152
    functionName: g_notification_class_init
    functionSourceFile: /src/glib/gio/gnotification.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_notification_class_init (GNotificationClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gnotification.c:258,1
    - Dst: g_strdup
      Src: /src/glib/gio/gnotification.c:263,1
    - Dst: g_free
      Src: /src/glib/gio/gnotification.c:261,1
    - Dst: G_IS_NOTIFICATION
      Src: /src/glib/gio/gnotification.c:258,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gnotification.c:259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - notification
    - body
    argTypes:
    - GNotification*
    - gchar*
    constantsTouched: []
    func_position:
      end: 264
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 264
    functionName: g_notification_set_body
    functionSourceFile: /src/glib/gio/gnotification.c
    functionUses: []
    functionsReached:
    - G_IS_NOTIFICATION
    - g_free
    - g_strdup
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_notification_set_body (GNotification *notification, const gchar
      *body) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gnotification.c:111,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gnotification.c:114,1
    - Dst: g_free
      Src: /src/glib/gio/gnotification.c:112,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gnotification.c:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 117
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 117
    functionName: button_free
    functionSourceFile: /src/glib/gio/gnotification.c
    functionUses: []
    functionsReached:
    - g_variant_unref
    - g_free
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void button_free (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new_full
      Src: /src/glib/gio/gnotification.c:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - notification
    argTypes:
    - GNotification*
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: g_notification_init
    functionSourceFile: /src/glib/gio/gnotification.c
    functionUses: []
    functionsReached:
    - g_ptr_array_new_full
    linkageType: ''
    returnType: void
    signature: 'static void g_notification_init (GNotification *notification) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gnotification.c:401,1
    - Dst: G_IS_NOTIFICATION
      Src: /src/glib/gio/gnotification.c:401,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - notification
    - priority
    argTypes:
    - GNotification*
    - GNotificationPriority
    constantsTouched: []
    func_position:
      end: 404
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 404
    functionName: g_notification_set_priority
    functionSourceFile: /src/glib/gio/gnotification.c
    functionUses: []
    functionsReached:
    - G_IS_NOTIFICATION
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_notification_set_priority (GNotification *notification, GNotificationPriority
      priority) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gnotification.c:595,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gnotification.c:596,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - notification
    - action
    argTypes:
    - GNotification*
    - gchar*
    constantsTouched: []
    func_position:
      end: 601
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 601
    functionName: g_notification_get_button_with_action
    functionSourceFile: /src/glib/gio/gnotification.c
    functionUses: []
    functionsReached:
    - g_ptr_array_index
    - g_str_equal
    linkageType: ''
    returnType: gint
    signature: 'gint g_notification_get_button_with_action (GNotification *notification,
      const gchar *action) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gnotification.c:240,1
    - Dst: G_IS_NOTIFICATION
      Src: /src/glib/gio/gnotification.c:240,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 243
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 243
    functionName: g_notification_get_body
    functionSourceFile: /src/glib/gio/gnotification.c
    functionUses: []
    functionsReached:
    - G_IS_NOTIFICATION
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_notification_get_body (GNotification *notification) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gnotification.c:381,1
    - Dst: g_strdup
      Src: /src/glib/gio/gnotification.c:386,1
    - Dst: G_IS_NOTIFICATION
      Src: /src/glib/gio/gnotification.c:381,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gnotification.c:382,1
    - Dst: g_free
      Src: /src/glib/gio/gnotification.c:384,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - notification
    - category
    argTypes:
    - GNotification*
    - gchar*
    constantsTouched: []
    func_position:
      end: 387
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 387
    functionName: g_notification_set_category
    functionSourceFile: /src/glib/gio/gnotification.c
    functionUses: []
    functionsReached:
    - G_IS_NOTIFICATION
    - g_free
    - g_strdup
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_notification_set_category (GNotification *notification, const
      gchar *category) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/gio/gnotification.c:478,1
    - Dst: g_notification_add_button_with_target_value
      Src: /src/glib/gio/gnotification.c:483,1
    - Dst: va_end
      Src: /src/glib/gio/gnotification.c:480,1
    - Dst: g_variant_new_va
      Src: /src/glib/gio/gnotification.c:479,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 4
    argNames:
    - notification
    - label
    - action
    - target_format
    - '...'
    argTypes:
    - GNotification*
    - gchar*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 484
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 484
    functionName: g_notification_add_button_with_target
    functionSourceFile: /src/glib/gio/gnotification.c
    functionUses: []
    functionsReached:
    - g_notification_add_button_with_target_value
    - g_variant_new_va
    - va_start
    - va_end
    linkageType: ''
    returnType: void
    signature: 'void g_notification_add_button_with_target (GNotification *notification,
      const gchar *label, const gchar *action, const gchar *target_format, ...) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gnotification.c:565,1
    - Dst: g_strdup
      Src: /src/glib/gio/gnotification.c:568,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gnotification.c:574,1
    - Dst: g_strdup
      Src: /src/glib/gio/gnotification.c:571,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 9
    argCount: 5
    argNames:
    - notification
    - index
    - label
    - action
    - target
    argTypes:
    - GNotification*
    - gint
    - gchar**
    - gchar**
    - GVariant**
    constantsTouched: []
    func_position:
      end: 575
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 575
    functionName: g_notification_get_button
    functionSourceFile: /src/glib/gio/gnotification.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_ptr_array_index
    - g_variant_ref
    linkageType: ''
    returnType: void
    signature: 'void g_notification_get_button (GNotification *notification, gint
      index, gchar **label, gchar **action, GVariant **target) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gnotification.c:219,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gnotification.c:220,1
    - Dst: G_IS_NOTIFICATION
      Src: /src/glib/gio/gnotification.c:219,1
    - Dst: g_strdup
      Src: /src/glib/gio/gnotification.c:224,1
    - Dst: g_free
      Src: /src/glib/gio/gnotification.c:222,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - notification
    - title
    argTypes:
    - GNotification*
    - gchar*
    constantsTouched: []
    func_position:
      end: 225
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 225
    functionName: g_notification_set_title
    functionSourceFile: /src/glib/gio/gnotification.c
    functionUses: []
    functionsReached:
    - G_IS_NOTIFICATION
    - g_free
    - g_strdup
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_notification_set_title (GNotification *notification, const
      gchar *title) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gnotification.c:432,1
    - Dst: g_notification_add_button_with_target_value
      Src: /src/glib/gio/gnotification.c:441,1
    - Dst: g_action_parse_detailed_name
      Src: /src/glib/gio/gnotification.c:434,1
    - Dst: g_error_free
      Src: /src/glib/gio/gnotification.c:437,1
    - Dst: g_warning
      Src: /src/glib/gio/gnotification.c:436,1
    - Dst: g_free
      Src: /src/glib/gio/gnotification.c:443,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gnotification.c:445,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 3
    argNames:
    - notification
    - label
    - detailed_action
    argTypes:
    - GNotification*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 446
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 446
    functionName: g_notification_add_button
    functionSourceFile: /src/glib/gio/gnotification.c
    functionUses: []
    functionsReached:
    - g_warning
    - g_return_if_fail
    - g_notification_add_button_with_target_value
    - g_variant_unref
    - g_error_free
    - g_action_parse_detailed_name
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_notification_add_button (GNotification *notification, const
      gchar *label, const gchar *detailed_action) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gnotification.c:746,1
    - Dst: G_IS_NOTIFICATION
      Src: /src/glib/gio/gnotification.c:746,1
    - Dst: g_action_name_is_valid
      Src: /src/glib/gio/gnotification.c:747,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gnotification.c:749,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gnotification.c:747,1
    - Dst: g_warning
      Src: /src/glib/gio/gnotification.c:751,1
    - Dst: g_free
      Src: /src/glib/gio/gnotification.c:755,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gnotification.c:756,1
    - Dst: g_strdup
      Src: /src/glib/gio/gnotification.c:758,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gnotification.c:761,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - notification
    - action
    - target
    argTypes:
    - GNotification*
    - gchar*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 762
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 762
    functionName: g_notification_set_default_action_and_target_value
    functionSourceFile: /src/glib/gio/gnotification.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - g_strdup
    - g_warning
    - g_return_if_fail
    - g_str_has_prefix
    - g_clear_pointer
    - g_action_name_is_valid
    - G_IS_NOTIFICATION
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_notification_set_default_action_and_target_value (GNotification
      *notification, const gchar *action, GVariant *target) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GPollableOutputStreamInterface*
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: g_pollable_output_stream_default_init
    functionSourceFile: /src/glib/gio/gpollableoutputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_pollable_output_stream_default_init (GPollableOutputStreamInterface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gpollableoutputstream.c:122,1
    - Dst: G_POLLABLE_OUTPUT_STREAM_GET_INTERFACE
      Src: /src/glib/gio/gpollableoutputstream.c:124,1
    - Dst: G_IS_POLLABLE_OUTPUT_STREAM
      Src: /src/glib/gio/gpollableoutputstream.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GPollableOutputStream*
    constantsTouched: []
    func_position:
      end: 125
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 125
    functionName: g_pollable_output_stream_is_writable
    functionSourceFile: /src/glib/gio/gpollableoutputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_POLLABLE_OUTPUT_STREAM
    - G_POLLABLE_OUTPUT_STREAM_GET_INTERFACE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_pollable_output_stream_is_writable (GPollableOutputStream
      *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gpollableoutputstream.c:152,1
    - Dst: G_IS_POLLABLE_OUTPUT_STREAM
      Src: /src/glib/gio/gpollableoutputstream.c:152,1
    - Dst: G_POLLABLE_OUTPUT_STREAM_GET_INTERFACE
      Src: /src/glib/gio/gpollableoutputstream.c:154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 156
    functionName: g_pollable_output_stream_create_source
    functionSourceFile: /src/glib/gio/gpollableoutputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_POLLABLE_OUTPUT_STREAM
    - G_POLLABLE_OUTPUT_STREAM_GET_INTERFACE
    linkageType: ''
    returnType: GSource*
    signature: "GSource *g_pollable_output_stream_create_source (GPollableOutputStream\
      \ *stream,\t\t\t\t\tGCancellable *cancellable) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gpollableoutputstream.c:276,1
    - Dst: g_set_error
      Src: /src/glib/gio/gpollableoutputstream.c:287,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gpollableoutputstream.c:277,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gpollableoutputstream.c:279,1
    - Dst: G_IS_POLLABLE_OUTPUT_STREAM
      Src: /src/glib/gio/gpollableoutputstream.c:276,1
    - Dst: _
      Src: /src/glib/gio/gpollableoutputstream.c:288,1
    - Dst: g_cancellable_push_current
      Src: /src/glib/gio/gpollableoutputstream.c:293,1
    - Dst: G_POLLABLE_OUTPUT_STREAM_GET_INTERFACE
      Src: /src/glib/gio/gpollableoutputstream.c:295,1
    - Dst: g_cancellable_pop_current
      Src: /src/glib/gio/gpollableoutputstream.c:299,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 5
    argNames:
    - stream
    - buffer
    - count
    - cancellable
    - error
    argTypes:
    - GPollableOutputStream*
    - void*
    - gsize
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 302
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 302
    functionName: g_pollable_output_stream_write_nonblocking
    functionSourceFile: /src/glib/gio/gpollableoutputstream.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_cancellable_pop_current
    - g_return_val_if_fail
    - G_POLLABLE_OUTPUT_STREAM_GET_INTERFACE
    - G_IS_POLLABLE_OUTPUT_STREAM
    - g_cancellable_push_current
    - _
    - g_cancellable_set_error_if_cancelled
    linkageType: ''
    returnType: gssize
    signature: "gssize g_pollable_output_stream_write_nonblocking (GPollableOutputStream\
      \ *stream,\t\t\t\t\t const void *buffer,\t\t\t\t\t gsize count,\t\t\t\t\t GCancellable\
      \ *cancellable,\t\t\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GPollableOutputStream*
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: g_pollable_output_stream_default_can_poll
    functionSourceFile: /src/glib/gio/gpollableoutputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_pollable_output_stream_default_can_poll (GPollableOutputStream
      *stream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_pollable_output_stream_is_writable
      Src: /src/glib/gio/gpollableoutputstream.c:164,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gpollableoutputstream.c:166,1
    - Dst: g_strerror
      Src: /src/glib/gio/gpollableoutputstream.c:167,1
    - Dst: G_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/gpollableoutputstream.c:171,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gpollableoutputstream.c:172,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - stream
    - buffer
    - count
    - error
    argTypes:
    - GPollableOutputStream*
    - void*
    - gsize
    - GError**
    constantsTouched: []
    func_position:
      end: 173
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 173
    functionName: g_pollable_output_stream_default_write_nonblocking
    functionSourceFile: /src/glib/gio/gpollableoutputstream.c
    functionUses: []
    functionsReached:
    - g_strerror
    - g_pollable_output_stream_is_writable
    - g_set_error_literal
    - G_OUTPUT_STREAM_GET_CLASS
    - G_OUTPUT_STREAM
    linkageType: ''
    returnType: gssize
    signature: "static gssize g_pollable_output_stream_default_write_nonblocking (GPollableOutputStream\
      \ *stream,\t\t\t\t\t\t const void *buffer,\t\t\t\t\t\t gsize count,\t\t\t\t\t\
      \t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gpollableoutputstream.c:91,1
    - Dst: G_IS_POLLABLE_OUTPUT_STREAM
      Src: /src/glib/gio/gpollableoutputstream.c:91,1
    - Dst: G_POLLABLE_OUTPUT_STREAM_GET_INTERFACE
      Src: /src/glib/gio/gpollableoutputstream.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GPollableOutputStream*
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: g_pollable_output_stream_can_poll
    functionSourceFile: /src/glib/gio/gpollableoutputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_POLLABLE_OUTPUT_STREAM
    - G_POLLABLE_OUTPUT_STREAM_GET_INTERFACE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_pollable_output_stream_can_poll (GPollableOutputStream
      *stream) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: G_POLLABLE_OUTPUT_STREAM_GET_INTERFACE
      Src: /src/glib/gio/gpollableoutputstream.c:183,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gpollableoutputstream.c:209,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gpollableoutputstream.c:212,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gpollableoutputstream.c:214,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gpollableoutputstream.c:219,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 23
    argCount: 5
    argNames:
    - stream
    - vectors
    - n_vectors
    - bytes_written
    - error
    argTypes:
    - GPollableOutputStream*
    - GOutputVector*
    - gsize
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 234
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 234
    functionName: g_pollable_output_stream_default_writev_nonblocking
    functionSourceFile: /src/glib/gio/gpollableoutputstream.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_propagate_error
    - G_POLLABLE_OUTPUT_STREAM_GET_INTERFACE
    - g_error_matches
    linkageType: ''
    returnType: GPollableReturn
    signature: "static GPollableReturn g_pollable_output_stream_default_writev_nonblocking\
      \ (GPollableOutputStream *stream,\t\t\t\t\t\t const GOutputVector *vectors,\t\
      \t\t\t\t\t gsize n_vectors,\t\t\t\t\t\t gsize *bytes_written,\t\t\t\t\t\t GError\
      \ **error) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gpollableoutputstream.c:356,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gpollableoutputstream.c:358,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gpollableoutputstream.c:358,1
    - Dst: G_IS_POLLABLE_OUTPUT_STREAM
      Src: /src/glib/gio/gpollableoutputstream.c:356,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gpollableoutputstream.c:357,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gpollableoutputstream.c:359,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gpollableoutputstream.c:361,1
    - Dst: G_POLLABLE_OUTPUT_STREAM_GET_INTERFACE
      Src: /src/glib/gio/gpollableoutputstream.c:367,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gpollableoutputstream.c:368,1
    - Dst: g_cancellable_push_current
      Src: /src/glib/gio/gpollableoutputstream.c:371,1
    - Dst: g_cancellable_pop_current
      Src: /src/glib/gio/gpollableoutputstream.c:377,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gpollableoutputstream.c:380,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gpollableoutputstream.c:385,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gpollableoutputstream.c:380,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gpollableoutputstream.c:382,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 44
    argCount: 6
    argNames:
    - stream
    - vectors
    - n_vectors
    - bytes_written
    - cancellable
    - error
    argTypes:
    - GPollableOutputStream*
    - GOutputVector*
    - gsize
    - gsize*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 391
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 391
    functionName: g_pollable_output_stream_writev_nonblocking
    functionSourceFile: /src/glib/gio/gpollableoutputstream.c
    functionUses: []
    functionsReached:
    - g_cancellable_pop_current
    - g_return_val_if_fail
    - g_warn_if_fail
    - G_IS_CANCELLABLE
    - G_POLLABLE_OUTPUT_STREAM_GET_INTERFACE
    - g_error_matches
    - G_IS_POLLABLE_OUTPUT_STREAM
    - g_cancellable_push_current
    - g_cancellable_set_error_if_cancelled
    linkageType: ''
    returnType: GPollableReturn
    signature: "GPollableReturn g_pollable_output_stream_writev_nonblocking (GPollableOutputStream\
      \ *stream,\t\t\t\t\t const GOutputVector *vectors,\t\t\t\t\t gsize n_vectors,\t\
      \t\t\t\t gsize *bytes_written,\t\t\t\t\t GCancellable *cancellable,\t\t\t\t\t\
      \ GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 5
    argNames:
    - This
    - appUserModelId
    - arguments
    - options
    - processId
    argTypes:
    - IApplicationActivationManager*
    - LPCWSTR
    - LPCWSTR
    - ACTIVATEOPTIONS
    - DWORD*
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: IApplicationActivationManager_ActivateApplication
    functionSourceFile: /src/glib/gio/gwin32api-application-activation-manager.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCEINLINE
    signature: 'static FORCEINLINE HRESULT IApplicationActivationManager_ActivateApplication(IApplicationActivationManager*
      This,LPCWSTR appUserModelId,LPCWSTR arguments,ACTIVATEOPTIONS options,DWORD
      *processId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - This
    - riid
    - ppvObject
    argTypes:
    - IApplicationActivationManager*
    - REFIID
    - void**
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: IApplicationActivationManager_QueryInterface
    functionSourceFile: /src/glib/gio/gwin32api-application-activation-manager.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCEINLINE
    signature: 'static FORCEINLINE HRESULT IApplicationActivationManager_QueryInterface(IApplicationActivationManager*
      This,REFIID riid,void **ppvObject) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: IApplicationActivationManager
    functionSourceFile: /src/glib/gio/gwin32api-application-activation-manager.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: interface
    signature: 'interface IApplicationActivationManager '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - This
    argTypes:
    - IApplicationActivationManager*
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: IApplicationActivationManager_Release
    functionSourceFile: /src/glib/gio/gwin32api-application-activation-manager.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCEINLINE
    signature: 'static FORCEINLINE ULONG IApplicationActivationManager_Release(IApplicationActivationManager*
      This) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - This
    argTypes:
    - IApplicationActivationManager*
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: IApplicationActivationManager_AddRef
    functionSourceFile: /src/glib/gio/gwin32api-application-activation-manager.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCEINLINE
    signature: 'static FORCEINLINE ULONG IApplicationActivationManager_AddRef(IApplicationActivationManager*
      This) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - This
    - appUserModelId
    - itemArray
    - verb
    - processId
    argTypes:
    - IApplicationActivationManager*
    - LPCWSTR
    - IShellItemArray*
    - LPCWSTR
    - DWORD*
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: IApplicationActivationManager_ActivateForFile
    functionSourceFile: /src/glib/gio/gwin32api-application-activation-manager.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCEINLINE
    signature: 'static FORCEINLINE HRESULT IApplicationActivationManager_ActivateForFile(IApplicationActivationManager*
      This,LPCWSTR appUserModelId,IShellItemArray *itemArray,LPCWSTR verb,DWORD *processId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - This
    - appUserModelId
    - itemArray
    - processId
    argTypes:
    - IApplicationActivationManager*
    - LPCWSTR
    - IShellItemArray*
    - DWORD*
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: IApplicationActivationManager_ActivateForProtocol
    functionSourceFile: /src/glib/gio/gwin32api-application-activation-manager.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCEINLINE
    signature: 'static FORCEINLINE HRESULT IApplicationActivationManager_ActivateForProtocol(IApplicationActivationManager*
      This,LPCWSTR appUserModelId,IShellItemArray *itemArray,DWORD *processId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gdbusproxy.c:113,1
    - Dst: g_weak_ref_init
      Src: /src/glib/gio/gdbusproxy.c:114,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusproxy.c:115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: weak_ref_new
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_new0
    - g_weak_ref_init
    linkageType: ''
    returnType: GWeakRef*
    signature: 'static GWeakRef *weak_ref_new (GObject *object) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:1235,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusproxy.c:1255,1
    - Dst: g_variant_builder_init_static
      Src: /src/glib/gio/gdbusproxy.c:1268,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gdbusproxy.c:1271,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/gdbusproxy.c:1286,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:1290,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gdbusproxy.c:1292,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusproxy.c:1307,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:1318,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusproxy.c:1327,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/gdbusproxy.c:1331,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusproxy.c:1330,1
    - Dst: g_hash_table_size
      Src: /src/glib/gio/gdbusproxy.c:1260,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusproxy.c:1268,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusproxy.c:1273,1
    - Dst: g_hash_table_remove_all
      Src: /src/glib/gio/gdbusproxy.c:1277,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gdbusproxy.c:1284,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusproxy.c:1292,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusproxy.c:1308,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:1311,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusproxy.c:1328,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusproxy.c:1337,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusproxy.c:1325,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/gdbusproxy.c:1326,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/gdbusproxy.c:1242,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gio/gdbusproxy.c:1235,1
    - Dst: strlen
      Src: /src/glib/gio/gdbusproxy.c:1252,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/gio/gdbusproxy.c:1270,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gdbusproxy.c:1272,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:1279,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusproxy.c:1274,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusproxy.c:1273,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusproxy.c:1299,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gdbusproxy.c:1312,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusproxy.c:1246,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusproxy.c:1254,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gdbusproxy.c:1282,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusproxy.c:1296,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:1301,1
    - Dst: g_hash_table_remove_all
      Src: /src/glib/gio/gdbusproxy.c:1310,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusproxy.c:1336,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusproxy.c:1347,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusproxy.c:1312,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 73
    argCount: 7
    argNames:
    - connection
    - sender_name
    - object_path
    - interface_name
    - signal_name
    - parameters
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1348
      start: 1221
    functionDepth: 0
    functionLinenumber: 1221
    functionLinenumberEnd: 1348
    functionName: on_name_owner_changed
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_weak_ref_get
    - g_signal_emit
    - G_DBUS_PROXY
    - G_LOCK
    - g_new0
    - G_UNLOCK
    - g_variant_builder_init_static
    - g_clear_object
    - g_variant_get
    - g_hash_table_size
    - g_variant_builder_end
    - g_ptr_array_add
    - g_ptr_array_unref
    - g_dbus_connection_call
    - g_strdup
    - strlen
    - g_ptr_array_new_with_free_func
    - g_strcmp0
    - g_hash_table_remove_all
    - G_VARIANT_TYPE
    - g_cancellable_new
    - g_hash_table_iter_next
    - g_hash_table_iter_init
    - g_object_notify
    - g_assert
    - G_OBJECT
    - g_variant_new
    - g_object_ref
    - g_cancellable_cancel
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void on_name_owner_changed (GDBusConnection *connection, const
      gchar *sender_name, const gchar *object_path, const gchar *interface_name, const
      gchar *signal_name, GVariant *parameters, gpointer user_data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/gdbusproxy.c:1393,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusproxy.c:1400,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusproxy.c:1401,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:1402,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusproxy.c:1398,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/gdbusproxy.c:1425,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusproxy.c:1430,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusproxy.c:1431,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gdbusproxy.c:1434,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gdbusproxy.c:1440,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusproxy.c:1441,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - task
    - name_owner
    argTypes:
    - GTask*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1443
      start: 1389
    functionDepth: 0
    functionLinenumber: 1389
    functionLinenumberEnd: 1443
    functionName: async_init_data_set_name_owner
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_call
    - g_strdup
    - g_object_unref
    - g_task_return_pointer
    - G_UNLOCK
    - g_task_get_cancellable
    - g_task_get_source_object
    - g_variant_new
    - G_LOCK
    - g_free
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: void
    signature: 'static void async_init_data_set_name_owner (GTask *task, const gchar
      *name_owner) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_async_result_get_source_object
      Src: /src/glib/gio/gdbusproxy.c:2017,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusproxy.c:2023,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusproxy.c:2018,1
    - Dst: G_ASYNC_INITABLE
      Src: /src/glib/gio/gdbusproxy.c:2020,1
    - Dst: g_async_initable_new_finish
      Src: /src/glib/gio/gdbusproxy.c:2020,1
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:2026,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2029
      start: 2010
    functionDepth: 0
    functionLinenumber: 2010
    functionLinenumberEnd: 2029
    functionName: g_dbus_proxy_new_finish
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_async_result_get_source_object
    - G_ASYNC_INITABLE
    - g_object_unref
    - g_assert
    - g_async_initable_new_finish
    - G_DBUS_PROXY
    linkageType: ''
    returnType: GDBusProxy*
    signature: 'GDBusProxy *g_dbus_proxy_new_finish (GAsyncResult *res, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _g_dbus_initialize
      Src: /src/glib/gio/gdbusproxy.c:2207,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusproxy.c:2210,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2209,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbusproxy.c:2209,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2210,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2211,1
    - Dst: g_dbus_is_interface_name
      Src: /src/glib/gio/gdbusproxy.c:2211,1
    - Dst: g_initable_new
      Src: /src/glib/gio/gdbusproxy.c:2213,1
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:2224,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2227
      start: 2195
    functionDepth: 0
    functionLinenumber: 2195
    functionLinenumberEnd: 2227
    functionName: g_dbus_proxy_new_for_bus_sync
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - _g_dbus_initialize
    - g_dbus_is_interface_name
    - g_initable_new
    - g_variant_is_object_path
    - G_DBUS_PROXY
    - g_dbus_is_name
    linkageType: ''
    returnType: GDBusProxy*
    signature: 'GDBusProxy *g_dbus_proxy_new_for_bus_sync (GBusType bus_type, GDBusProxyFlags
      flags, GDBusInterfaceInfo *info, const gchar *name, const gchar *object_path,
      const gchar *interface_name, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2326,1
    - Dst: G_IS_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:2326,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2328
      start: 2323
    functionDepth: 0
    functionLinenumber: 2323
    functionLinenumberEnd: 2328
    functionName: g_dbus_proxy_get_object_path
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DBUS_PROXY
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_dbus_proxy_get_object_path (GDBusProxy *proxy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_proxy_call_internal
      Src: /src/glib/gio/gdbusproxy.c:2940,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 8
    argNames:
    - proxy
    - method_name
    - parameters
    - flags
    - timeout_msec
    - cancellable
    - callback
    - user_data
    argTypes:
    - GDBusProxy*
    - gchar*
    - GVariant*
    - GDBusCallFlags
    - gint
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 2941
      start: 2930
    functionDepth: 0
    functionLinenumber: 2930
    functionLinenumberEnd: 2941
    functionName: g_dbus_proxy_call
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_dbus_proxy_call_internal
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_proxy_call (GDBusProxy *proxy, const gchar *method_name,
      GVariant *parameters, GDBusCallFlags flags, gint timeout_msec, GCancellable
      *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_proxy_call_internal
      Src: /src/glib/gio/gdbusproxy.c:3063,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 9
    argNames:
    - proxy
    - method_name
    - parameters
    - flags
    - timeout_msec
    - fd_list
    - cancellable
    - callback
    - user_data
    argTypes:
    - GDBusProxy*
    - gchar*
    - GVariant*
    - GDBusCallFlags
    - gint
    - GUnixFDList*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 3064
      start: 3052
    functionDepth: 0
    functionLinenumber: 3052
    functionLinenumberEnd: 3064
    functionName: g_dbus_proxy_call_with_unix_fd_list
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_dbus_proxy_call_internal
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_proxy_call_with_unix_fd_list (GDBusProxy *proxy, const
      gchar *method_name, GVariant *parameters, GDBusCallFlags flags, gint timeout_msec,
      GUnixFDList *fd_list, GCancellable *cancellable, GAsyncReadyCallback callback,
      gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/gdbusproxy.c:1455,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusproxy.c:1463,1
    - Dst: async_init_data_set_name_owner
      Src: /src/glib/gio/gdbusproxy.c:1464,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusproxy.c:1469,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gdbusproxy.c:1468,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusproxy.c:1477,1
    - Dst: async_init_data_set_name_owner
      Src: /src/glib/gio/gdbusproxy.c:1478,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusproxy.c:1479,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - connection
    - res
    - user_data
    argTypes:
    - GDBusConnection*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1481
      start: 1445
    functionDepth: 0
    functionLinenumber: 1445
    functionLinenumberEnd: 1481
    functionName: async_init_get_name_owner_cb
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_dbus_connection_call_finish
    - async_init_data_set_name_owner
    - g_variant_unref
    - g_error_free
    - g_variant_get
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void async_init_get_name_owner_cb (GDBusConnection *connection,
      GAsyncResult *res, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - dbus_interface_iface
    argTypes:
    - GDBusInterfaceIface*
    constantsTouched: []
    func_position:
      end: 3178
      start: 3171
    functionDepth: 0
    functionLinenumber: 3171
    functionLinenumberEnd: 3178
    functionName: dbus_interface_iface_init
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void dbus_interface_iface_init (GDBusInterfaceIface *dbus_interface_iface) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:1680,1
    - Dst: g_dbus_connection_signal_subscribe
      Src: /src/glib/gio/gdbusproxy.c:1706,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusproxy.c:1698,1
    - Dst: weak_ref_new
      Src: /src/glib/gio/gdbusproxy.c:1698,1
    - Dst: g_dbus_connection_signal_subscribe
      Src: /src/glib/gio/gdbusproxy.c:1690,1
    - Dst: weak_ref_new
      Src: /src/glib/gio/gdbusproxy.c:1714,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusproxy.c:1714,1
    - Dst: g_dbus_connection_get_flags
      Src: /src/glib/gio/gdbusproxy.c:1719,1
    - Dst: g_dbus_connection_signal_subscribe
      Src: /src/glib/gio/gdbusproxy.c:1722,1
    - Dst: weak_ref_new
      Src: /src/glib/gio/gdbusproxy.c:1730,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusproxy.c:1730,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - initable
    argTypes:
    - GAsyncInitable*
    constantsTouched: []
    func_position:
      end: 1733
      start: 1677
    functionDepth: 0
    functionLinenumber: 1677
    functionLinenumberEnd: 1733
    functionName: async_initable_init_first
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - weak_ref_new
    - G_OBJECT
    - g_dbus_connection_get_flags
    - G_DBUS_PROXY
    - g_dbus_connection_signal_subscribe
    linkageType: ''
    returnType: void
    signature: 'static void async_initable_init_first (GAsyncInitable *initable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2282,1
    - Dst: G_IS_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:2282,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2284
      start: 2279
    functionDepth: 0
    functionLinenumber: 2279
    functionLinenumberEnd: 2284
    functionName: g_dbus_proxy_get_name
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DBUS_PROXY
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_dbus_proxy_get_name (GDBusProxy *proxy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2305,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:2309,1
    - Dst: G_IS_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:2305,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusproxy.c:2308,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusproxy.c:2307,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2311
      start: 2300
    functionDepth: 0
    functionLinenumber: 2300
    functionLinenumberEnd: 2311
    functionName: g_dbus_proxy_get_name_owner
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_return_val_if_fail
    - G_UNLOCK
    - G_LOCK
    - G_IS_DBUS_PROXY
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_dbus_proxy_get_name_owner (GDBusProxy *proxy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_interface_info_lookup_method
      Src: /src/glib/gio/gdbusproxy.c:2574,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2578
      start: 2565
    functionDepth: 0
    functionLinenumber: 2565
    functionLinenumberEnd: 2578
    functionName: lookup_method_info
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_dbus_interface_info_lookup_method
    linkageType: ''
    returnType: GDBusMethodInfo*
    signature: 'static const GDBusMethodInfo *lookup_method_info (GDBusProxy *proxy,
      const gchar *method_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:1657,1
    - Dst: process_get_all_reply
      Src: /src/glib/gio/gdbusproxy.c:1667,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/gdbusproxy.c:1662,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gdbusproxy.c:1664,1
    - Dst: G_TASK
      Src: /src/glib/gio/gdbusproxy.c:1658,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusproxy.c:1668,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - initable
    - res
    - error
    argTypes:
    - GAsyncInitable*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 1673
      start: 1652
    functionDepth: 0
    functionLinenumber: 1652
    functionLinenumberEnd: 1673
    functionName: async_initable_init_second_finish
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - process_get_all_reply
    - g_task_had_error
    - g_variant_unref
    - G_TASK
    - G_DBUS_PROXY
    - g_task_propagate_pointer
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean async_initable_init_second_finish (GAsyncInitable
      *initable, GAsyncResult *res, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2261,1
    - Dst: G_IS_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:2261,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - GDBusProxy*
    constantsTouched: []
    func_position:
      end: 2263
      start: 2258
    functionDepth: 0
    functionLinenumber: 2258
    functionLinenumberEnd: 2263
    functionName: g_dbus_proxy_get_flags
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DBUS_PROXY
    linkageType: ''
    returnType: GDBusProxyFlags
    signature: 'GDBusProxyFlags g_dbus_proxy_get_flags (GDBusProxy *proxy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_call_with_unix_fd_list_finish
      Src: /src/glib/gio/gdbusproxy.c:2535,1
    - Dst: g_slice_new0
      Src: /src/glib/gio/gdbusproxy.c:2551,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gdbusproxy.c:2546,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gdbusproxy.c:2556,1
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/gdbusproxy.c:2540,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusproxy.c:2559,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - connection
    - res
    - user_data
    argTypes:
    - GDBusConnection*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2560
      start: 2521
    functionDepth: 0
    functionLinenumber: 2521
    functionLinenumberEnd: 2560
    functionName: reply_cb
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_call_with_unix_fd_list_finish
    - g_object_unref
    - g_task_return_pointer
    - g_slice_new0
    - g_dbus_connection_call_finish
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void reply_cb (GDBusConnection *connection, GAsyncResult *res,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:3133,1
    - Dst: g_dbus_proxy_get_interface_info
      Src: /src/glib/gio/gdbusproxy.c:3134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3135
      start: 3130
    functionDepth: 0
    functionLinenumber: 3130
    functionLinenumberEnd: 3135
    functionName: _g_dbus_proxy_get_info
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - G_DBUS_PROXY
    - g_dbus_proxy_get_interface_info
    linkageType: ''
    returnType: GDBusInterfaceInfo*
    signature: 'static GDBusInterfaceInfo *_g_dbus_proxy_get_info (GDBusInterface
      *interface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:3147,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusproxy.c:3152,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:3153,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusproxy.c:3150,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3155
      start: 3144
    functionDepth: 0
    functionLinenumber: 3144
    functionLinenumberEnd: 3155
    functionName: _g_dbus_proxy_dup_object
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - G_DBUS_PROXY
    - G_LOCK
    - g_object_ref
    linkageType: ''
    returnType: GDBusObject*
    signature: 'static GDBusObject *_g_dbus_proxy_dup_object (GDBusInterface *interface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_dbus_initialize
      Src: /src/glib/gio/gdbusproxy.c:1977,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusproxy.c:1979,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusproxy.c:1980,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/gdbusproxy.c:1980,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusproxy.c:1979,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbusproxy.c:1980,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusproxy.c:1981,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusproxy.c:1981,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusproxy.c:1982,1
    - Dst: g_dbus_is_interface_name
      Src: /src/glib/gio/gdbusproxy.c:1982,1
    - Dst: g_async_initable_new_async
      Src: /src/glib/gio/gdbusproxy.c:1984,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 9
    argNames:
    - connection
    - flags
    - info
    - name
    - object_path
    - interface_name
    - cancellable
    - callback
    - user_data
    argTypes:
    - GDBusConnection*
    - GDBusProxyFlags
    - GDBusInterfaceInfo*
    - gchar*
    - gchar*
    - gchar*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 1996
      start: 1966
    functionDepth: 0
    functionLinenumber: 1966
    functionLinenumberEnd: 1996
    functionName: g_dbus_proxy_new
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_async_initable_new_async
    - g_return_if_fail
    - _g_dbus_initialize
    - G_IS_DBUS_CONNECTION
    - g_dbus_connection_get_unique_name
    - g_dbus_is_interface_name
    - g_variant_is_object_path
    - g_dbus_is_name
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_proxy_new (GDBusConnection *connection, GDBusProxyFlags
      flags, GDBusInterfaceInfo *info, const gchar *name, const gchar *object_path,
      const gchar *interface_name, GCancellable *cancellable, GAsyncReadyCallback
      callback, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusproxy.c:2513,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusproxy.c:2516,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gdbusproxy.c:2518,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - ReplyData*
    constantsTouched: []
    func_position:
      end: 2519
      start: 2510
    functionDepth: 0
    functionLinenumber: 2510
    functionLinenumberEnd: 2519
    functionName: reply_data_free
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_variant_unref
    - g_object_unref
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void reply_data_free (ReplyData *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:3140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3142
      start: 3137
    functionDepth: 0
    functionLinenumber: 3137
    functionLinenumberEnd: 3142
    functionName: _g_dbus_proxy_get_object
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - G_DBUS_PROXY
    linkageType: ''
    returnType: GDBusObject*
    signature: 'static GDBusObject *_g_dbus_proxy_get_object (GDBusInterface *interface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:3161,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gio/gdbusproxy.c:3167,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusproxy.c:3162,1
    - Dst: g_object_remove_weak_pointer
      Src: /src/glib/gio/gdbusproxy.c:3164,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusproxy.c:3164,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusproxy.c:3167,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:3168,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - interface
    - object
    argTypes:
    - GDBusInterface*
    - GDBusObject*
    constantsTouched: []
    func_position:
      end: 3169
      start: 3157
    functionDepth: 0
    functionLinenumber: 3157
    functionLinenumberEnd: 3169
    functionName: _g_dbus_proxy_set_object
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - g_object_add_weak_pointer
    - G_OBJECT
    - G_DBUS_PROXY
    - G_LOCK
    - g_object_remove_weak_pointer
    linkageType: ''
    returnType: void
    signature: 'static void _g_dbus_proxy_set_object (GDBusInterface *interface, GDBusObject
      *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - initable_iface
    argTypes:
    - GInitableIface*
    constantsTouched: []
    func_position:
      end: 1920
      start: 1916
    functionDepth: 0
    functionLinenumber: 1916
    functionLinenumberEnd: 1920
    functionName: initable_iface_init
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void initable_iface_init (GInitableIface *initable_iface) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: G_IS_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:2631,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2633,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2636,1
    - Dst: maybe_split_method_name
      Src: /src/glib/gio/gdbusproxy.c:2663,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusproxy.c:2679,1
    - Dst: g_task_set_name
      Src: /src/glib/gio/gdbusproxy.c:2653,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:2691,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusproxy.c:2731,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2632,1
    - Dst: g_dbus_is_member_name
      Src: /src/glib/gio/gdbusproxy.c:2632,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusproxy.c:2633,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2634,1
    - Dst: G_IS_UNIX_FD_LIST
      Src: /src/glib/gio/gdbusproxy.c:2636,1
    - Dst: lookup_method_info
      Src: /src/glib/gio/gdbusproxy.c:2671,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2638,1
    - Dst: _
      Src: /src/glib/gio/gdbusproxy.c:2687,1
    - Dst: g_dbus_connection_call_with_unix_fd_list
      Src: /src/glib/gio/gdbusproxy.c:2699,1
    - Dst: g_dbus_is_interface_name
      Src: /src/glib/gio/gdbusproxy.c:2632,1
    - Dst: g_task_new
      Src: /src/glib/gio/gdbusproxy.c:2651,1
    - Dst: _g_dbus_compute_complete_signature
      Src: /src/glib/gio/gdbusproxy.c:2673,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gdbusproxy.c:2652,1
    - Dst: get_destination_for_call
      Src: /src/glib/gio/gdbusproxy.c:2679,1
    - Dst: g_task_return_new_error
      Src: /src/glib/gio/gdbusproxy.c:2684,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/gdbusproxy.c:2713,1
    - Dst: g_variant_type_free
      Src: /src/glib/gio/gdbusproxy.c:2729,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2631,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusproxy.c:2661,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusproxy.c:2689,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:2696,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusproxy.c:2732,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 68
    argCount: 9
    argNames:
    - proxy
    - method_name
    - parameters
    - flags
    - timeout_msec
    - fd_list
    - cancellable
    - callback
    - user_data
    argTypes:
    - GDBusProxy*
    - gchar*
    - GVariant*
    - GDBusCallFlags
    - gint
    - GUnixFDList*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 2733
      start: 2610
    functionDepth: 0
    functionLinenumber: 2610
    functionLinenumberEnd: 2733
    functionName: g_dbus_proxy_call_internal
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_call_with_unix_fd_list
    - _g_dbus_compute_complete_signature
    - g_dbus_is_member_name
    - G_LOCK
    - g_object_unref
    - g_variant_is_of_type
    - g_task_set_source_tag
    - G_UNLOCK
    - get_destination_for_call
    - g_dbus_is_interface_name
    - G_IS_UNIX_FD_LIST
    - g_task_return_new_error
    - g_task_set_name
    - G_IS_DBUS_PROXY
    - g_dbus_connection_call
    - g_strdup
    - g_task_new
    - maybe_split_method_name
    - _
    - g_return_if_fail
    - g_variant_type_free
    - lookup_method_info
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_proxy_call_internal (GDBusProxy *proxy, const gchar
      *method_name, GVariant *parameters, GDBusCallFlags flags, gint timeout_msec,
      GUnixFDList *fd_list, GCancellable *cancellable, GAsyncReadyCallback callback,
      gpointer user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_interface_info_lookup_property
      Src: /src/glib/gio/gdbusproxy.c:897,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusproxy.c:904,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusproxy.c:902,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusproxy.c:902,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusproxy.c:907,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusproxy.c:914,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusproxy.c:921,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusproxy.c:922,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - proxy
    - property_name
    - value
    argTypes:
    - GDBusProxy*
    - gchar*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 923
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 923
    functionName: insert_property_checked
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_warning
    - g_hash_table_insert
    - g_variant_unref
    - g_strcmp0
    - g_dbus_interface_info_lookup_property
    - g_variant_get_type_string
    - g_free
    linkageType: ''
    returnType: void
    signature: "static void insert_property_checked (GDBusProxy *proxy,\t\t\t gchar\
      \ *property_name,\t\t\t GVariant *value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_proxy_call_finish_internal
      Src: /src/glib/gio/gdbusproxy.c:3086,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3087
      start: 3080
    functionDepth: 0
    functionLinenumber: 3080
    functionLinenumberEnd: 3087
    functionName: g_dbus_proxy_call_with_unix_fd_list_finish
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_dbus_proxy_call_finish_internal
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_dbus_proxy_call_with_unix_fd_list_finish (GDBusProxy *proxy,
      GUnixFDList **out_fd_list, GAsyncResult *res, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gdbusproxy.c:502,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusproxy.c:525,1
    - Dst: g_param_spec_int
      Src: /src/glib/gio/gdbusproxy.c:527,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusproxy.c:500,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gdbusproxy.c:601,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusproxy.c:332,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusproxy.c:409,1
    - Dst: g_param_spec_enum
      Src: /src/glib/gio/gdbusproxy.c:411,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusproxy.c:446,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusproxy.c:482,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gdbusproxy.c:484,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gdbusproxy.c:448,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gdbusproxy.c:571,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gdbusproxy.c:592,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gdbusproxy.c:390,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusproxy.c:371,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusproxy.c:388,1
    - Dst: g_param_spec_boxed
      Src: /src/glib/gio/gdbusproxy.c:373,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusproxy.c:427,1
    - Dst: g_param_spec_flags
      Src: /src/glib/gio/gdbusproxy.c:429,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gdbusproxy.c:468,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusproxy.c:466,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gdbusproxy.c:559,1
    - Dst: I_
      Src: /src/glib/gio/gdbusproxy.c:559,1
    - Dst: I_
      Src: /src/glib/gio/gdbusproxy.c:589,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gdbusproxy.c:562,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gdbusproxy.c:570,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gdbusproxy.c:589,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gdbusproxy.c:602,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 80
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GDBusProxyClass*
    constantsTouched: []
    func_position:
      end: 605
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 605
    functionName: g_dbus_proxy_class_init
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - I_
    - G_STRUCT_OFFSET
    - G_TYPE_FROM_CLASS
    - g_param_spec_int
    - g_param_spec_object
    - g_param_spec_boxed
    - g_object_class_install_property
    - G_OBJECT_CLASS
    - g_signal_set_va_marshaller
    - g_signal_new
    - g_param_spec_string
    - g_param_spec_enum
    - g_param_spec_flags
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_proxy_class_init (GDBusProxyClass *klass) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_interface_info_lookup_property
      Src: /src/glib/gio/gdbusproxy.c:675,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 679
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 679
    functionName: lookup_property_info
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_dbus_interface_info_lookup_property
    linkageType: ''
    returnType: GDBusPropertyInfo*
    signature: 'static const GDBusPropertyInfo *lookup_property_info (GDBusProxy *proxy,
      const gchar *property_name) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:834,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:845,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusproxy.c:841,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gio/gdbusproxy.c:834,1
    - Dst: _g_dbus_compute_complete_signature
      Src: /src/glib/gio/gdbusproxy.c:856,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gdbusproxy.c:857,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gdbusproxy.c:875,1
    - Dst: g_variant_type_free
      Src: /src/glib/gio/gdbusproxy.c:869,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:866,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusproxy.c:860,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusproxy.c:843,1
    - Dst: g_dbus_interface_info_lookup_signal
      Src: /src/glib/gio/gdbusproxy.c:852,1
    - Dst: g_variant_get_type
      Src: /src/glib/gio/gdbusproxy.c:857,1
    - Dst: g_variant_type_free
      Src: /src/glib/gio/gdbusproxy.c:865,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusproxy.c:862,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:873,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusproxy.c:883,1
    - Dst: g_variant_type_dup_string
      Src: /src/glib/gio/gdbusproxy.c:859,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusproxy.c:864,1
    - Dst: g_quark_try_string
      Src: /src/glib/gio/gdbusproxy.c:877,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 36
    argCount: 7
    argNames:
    - connection
    - sender_name
    - object_path
    - interface_name
    - signal_name
    - parameters
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 884
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 884
    functionName: on_signal_received
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_variant_type_equal
    - g_weak_ref_get
    - g_warning
    - g_variant_get_type
    - g_variant_type_free
    - G_UNLOCK
    - g_quark_try_string
    - g_free
    - g_signal_emit
    - g_clear_object
    - g_variant_type_dup_string
    - g_strcmp0
    - g_dbus_interface_info_lookup_signal
    - _g_dbus_compute_complete_signature
    - g_variant_get_type_string
    - G_DBUS_PROXY
    - G_LOCK
    linkageType: ''
    returnType: void
    signature: 'static void on_signal_received (GDBusConnection *connection, const
      gchar *sender_name, const gchar *object_path, const gchar *interface_name, const
      gchar *signal_name, GVariant *parameters, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/gdbusproxy.c:1595,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gdbusproxy.c:1608,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusproxy.c:1602,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusproxy.c:1605,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/gdbusproxy.c:1597,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - task
    argTypes:
    - GTask*
    constantsTouched: []
    func_position:
      end: 1611
      start: 1592
    functionDepth: 0
    functionLinenumber: 1592
    functionLinenumberEnd: 1611
    functionName: async_init_call_start_service_by_name
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_call
    - g_task_get_cancellable
    - g_task_get_source_object
    - g_variant_new
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: void
    signature: 'static void async_init_call_start_service_by_name (GTask *task) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:1868,1
    - Dst: G_ASYNC_INITABLE
      Src: /src/glib/gio/gdbusproxy.c:1884,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/gdbusproxy.c:1888,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/gdbusproxy.c:1877,1
    - Dst: g_main_context_new
      Src: /src/glib/gio/gdbusproxy.c:1887,1
    - Dst: g_main_context_push_thread_default
      Src: /src/glib/gio/gdbusproxy.c:1890,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusproxy.c:1909,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusproxy.c:1876,1
    - Dst: async_initable_init_second_async
      Src: /src/glib/gio/gdbusproxy.c:1892,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/gdbusproxy.c:1898,1
    - Dst: async_initable_init_second_finish
      Src: /src/glib/gio/gdbusproxy.c:1900,1
    - Dst: G_ASYNC_INITABLE
      Src: /src/glib/gio/gdbusproxy.c:1900,1
    - Dst: async_initable_init_first
      Src: /src/glib/gio/gdbusproxy.c:1884,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusproxy.c:1886,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/gdbusproxy.c:1906,1
    - Dst: G_ASYNC_INITABLE
      Src: /src/glib/gio/gdbusproxy.c:1892,1
    - Dst: g_main_context_pop_thread_default
      Src: /src/glib/gio/gdbusproxy.c:1904,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusproxy.c:1908,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/gdbusproxy.c:1907,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - initable
    - cancellable
    - error
    argTypes:
    - GInitable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1914
      start: 1863
    functionDepth: 0
    functionLinenumber: 1863
    functionLinenumberEnd: 1914
    functionName: initable_init
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - G_ASYNC_INITABLE
    - g_main_loop_run
    - g_main_context_pop_thread_default
    - g_main_context_push_thread_default
    - g_main_context_unref
    - g_object_unref
    - g_assert
    - async_initable_init_second_finish
    - g_main_context_new
    - async_initable_init_second_async
    - g_main_loop_unref
    - g_main_loop_new
    - g_bus_get_sync
    - async_initable_init_first
    - g_new0
    - G_DBUS_PROXY
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean initable_init (GInitable *initable, GCancellable *cancellable,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_proxy_get_instance_private
      Src: /src/glib/gio/gdbusproxy.c:610,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdbusproxy.c:611,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - GDBusProxy*
    constantsTouched: []
    func_position:
      end: 615
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 615
    functionName: g_dbus_proxy_init
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_hash_table_new_full
    - g_dbus_proxy_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_proxy_init (GDBusProxy *proxy) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:1620,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gdbusproxy.c:1624,1
    - Dst: g_task_set_name
      Src: /src/glib/gio/gdbusproxy.c:1625,1
    - Dst: g_task_new
      Src: /src/glib/gio/gdbusproxy.c:1623,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gdbusproxy.c:1626,1
    - Dst: async_init_data_set_name_owner
      Src: /src/glib/gio/gdbusproxy.c:1632,1
    - Dst: g_dbus_is_unique_name
      Src: /src/glib/gio/gdbusproxy.c:1634,1
    - Dst: async_init_data_set_name_owner
      Src: /src/glib/gio/gdbusproxy.c:1636,1
    - Dst: async_init_call_get_name_owner
      Src: /src/glib/gio/gdbusproxy.c:1643,1
    - Dst: async_init_call_start_service_by_name
      Src: /src/glib/gio/gdbusproxy.c:1647,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 5
    argNames:
    - initable
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GAsyncInitable*
    - gint
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 1650
      start: 1613
    functionDepth: 0
    functionLinenumber: 1613
    functionLinenumberEnd: 1650
    functionName: async_initable_init_second_async
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - async_init_call_get_name_owner
    - async_init_call_start_service_by_name
    - g_task_new
    - g_task_set_priority
    - g_task_set_source_tag
    - g_dbus_is_unique_name
    - async_init_data_set_name_owner
    - G_DBUS_PROXY
    - g_task_set_name
    linkageType: ''
    returnType: void
    signature: 'static void async_initable_init_second_async (GAsyncInitable *initable,
      gint io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2427,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:2431,1
    - Dst: G_IS_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:2427,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusproxy.c:2429,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2436
      start: 2422
    functionDepth: 0
    functionLinenumber: 2422
    functionLinenumberEnd: 2436
    functionName: g_dbus_proxy_get_interface_info
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - g_return_val_if_fail
    - G_LOCK
    - G_IS_DBUS_PROXY
    linkageType: ''
    returnType: GDBusInterfaceInfo*
    signature: 'GDBusInterfaceInfo *g_dbus_proxy_get_interface_info (GDBusProxy *proxy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusproxy.c:640,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusproxy.c:642,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gdbusproxy.c:648,1
    - Dst: G_IS_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:640,1
    - Dst: g_hash_table_size
      Src: /src/glib/gio/gdbusproxy.c:645,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gdbusproxy.c:650,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gdbusproxy.c:651,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusproxy.c:652,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusproxy.c:652,1
    - Dst: g_ptr_array_sort_values
      Src: /src/glib/gio/gdbusproxy.c:653,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusproxy.c:654,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:659,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gdbusproxy.c:656,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 661
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 661
    functionName: g_dbus_proxy_get_cached_property_names
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_hash_table_iter_init
    - g_return_val_if_fail
    - g_strdup
    - G_UNLOCK
    - g_hash_table_iter_next
    - g_ptr_array_sort_values
    - g_hash_table_size
    - g_ptr_array_free
    - g_ptr_array_new
    - G_LOCK
    - g_ptr_array_add
    - G_IS_DBUS_PROXY
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **g_dbus_proxy_get_cached_property_names (GDBusProxy *proxy) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusproxy.c:787,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusproxy.c:790,1
    - Dst: lookup_property_info
      Src: /src/glib/gio/gdbusproxy.c:794,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusproxy.c:788,1
    - Dst: G_IS_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:787,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusproxy.c:797,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusproxy.c:797,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusproxy.c:799,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusproxy.c:802,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusproxy.c:807,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdbusproxy.c:809,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:817,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusproxy.c:808,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusproxy.c:813,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 3
    argNames:
    - proxy
    - property_name
    - value
    argTypes:
    - GDBusProxy*
    - gchar*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 818
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 818
    functionName: g_dbus_proxy_set_cached_property
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - g_strdup
    - g_warning
    - g_return_if_fail
    - g_hash_table_remove
    - G_UNLOCK
    - g_hash_table_insert
    - g_strcmp0
    - lookup_property_info
    - g_variant_get_type_string
    - G_LOCK
    - G_IS_DBUS_PROXY
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_proxy_set_cached_property (GDBusProxy *proxy, const gchar
      *property_name, GVariant *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - async_initable_iface
    argTypes:
    - GAsyncInitableIface*
    constantsTouched: []
    func_position:
      end: 1834
      start: 1829
    functionDepth: 0
    functionLinenumber: 1829
    functionLinenumberEnd: 1834
    functionName: async_initable_iface_init
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void async_initable_iface_init (GAsyncInitableIface *async_initable_iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusproxy.c:1851,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/gdbusproxy.c:1852,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1853
      start: 1845
    functionDepth: 0
    functionLinenumber: 1845
    functionLinenumberEnd: 1853
    functionName: async_initable_init_async_cb
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    - g_object_ref
    linkageType: ''
    returnType: void
    signature: 'static void async_initable_init_async_cb (GObject *source_object,
      GAsyncResult *res, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gdbusproxy.c:2479,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusproxy.c:2489,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusproxy.c:2480,1
    - Dst: strrchr
      Src: /src/glib/gio/gdbusproxy.c:2490,1
    - Dst: strchr
      Src: /src/glib/gio/gdbusproxy.c:2484,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - method_name
    - out_interface_name
    - out_method_name
    argTypes:
    - gchar*
    - gchar**
    - gchar**
    constantsTouched: []
    func_position:
      end: 2500
      start: 2471
    functionDepth: 0
    functionLinenumber: 2471
    functionLinenumberEnd: 2500
    functionName: maybe_split_method_name
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_assert
    - strchr
    - g_strdup
    - strrchr
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean maybe_split_method_name (const gchar *method_name,
      gchar **out_interface_name, const gchar **out_method_name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2744,1
    - Dst: G_IS_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:2744,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2746,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2745,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gdbusproxy.c:2745,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gdbusproxy.c:2750,1
    - Dst: G_TASK
      Src: /src/glib/gio/gdbusproxy.c:2750,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gdbusproxy.c:2754,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusproxy.c:2757,1
    - Dst: reply_data_free
      Src: /src/glib/gio/gdbusproxy.c:2759,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2763
      start: 2735
    functionDepth: 0
    functionLinenumber: 2735
    functionLinenumberEnd: 2763
    functionName: g_dbus_proxy_call_finish_internal
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_variant_ref
    - g_return_val_if_fail
    - reply_data_free
    - g_task_is_valid
    - g_object_ref
    - G_TASK
    - g_task_propagate_pointer
    - G_IS_DBUS_PROXY
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_dbus_proxy_call_finish_internal (GDBusProxy *proxy,
      GUnixFDList **out_fd_list, GAsyncResult *res, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_proxy_call_sync_internal
      Src: /src/glib/gio/gdbusproxy.c:3025,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3026
      start: 3016
    functionDepth: 0
    functionLinenumber: 3016
    functionLinenumberEnd: 3026
    functionName: g_dbus_proxy_call_sync
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_dbus_proxy_call_sync_internal
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_dbus_proxy_call_sync (GDBusProxy *proxy, const gchar *method_name,
      GVariant *parameters, GDBusCallFlags flags, gint timeout_msec, GCancellable
      *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_proxy_call_sync_internal
      Src: /src/glib/gio/gdbusproxy.c:3123,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3124
      start: 3112
    functionDepth: 0
    functionLinenumber: 3112
    functionLinenumberEnd: 3124
    functionName: g_dbus_proxy_call_with_unix_fd_list_sync
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_dbus_proxy_call_sync_internal
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_dbus_proxy_call_with_unix_fd_list_sync (GDBusProxy *proxy,
      const gchar *method_name, GVariant *parameters, GDBusCallFlags flags, gint timeout_msec,
      GUnixFDList *fd_list, GUnixFDList **out_fd_list, GCancellable *cancellable,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2366,1
    - Dst: G_IS_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:2366,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusproxy.c:2368,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:2370,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - GDBusProxy*
    constantsTouched: []
    func_position:
      end: 2372
      start: 2361
    functionDepth: 0
    functionLinenumber: 2361
    functionLinenumberEnd: 2372
    functionName: g_dbus_proxy_get_default_timeout
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - g_return_val_if_fail
    - G_LOCK
    - G_IS_DBUS_PROXY
    linkageType: ''
    returnType: gint
    signature: 'gint g_dbus_proxy_get_default_timeout (GDBusProxy *proxy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_weak_ref_clear
      Src: /src/glib/gio/gdbusproxy.c:121,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusproxy.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - weak_ref
    argTypes:
    - GWeakRef*
    constantsTouched: []
    func_position:
      end: 123
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 123
    functionName: weak_ref_free
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_weak_ref_clear
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void weak_ref_free (GWeakRef *weak_ref) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:239,1
    - Dst: g_value_set_flags
      Src: /src/glib/gio/gdbusproxy.c:248,1
    - Dst: g_value_take_string
      Src: /src/glib/gio/gdbusproxy.c:256,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusproxy.c:252,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gdbusproxy.c:244,1
    - Dst: g_dbus_proxy_get_name_owner
      Src: /src/glib/gio/gdbusproxy.c:256,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusproxy.c:260,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusproxy.c:264,1
    - Dst: g_value_set_int
      Src: /src/glib/gio/gdbusproxy.c:268,1
    - Dst: g_dbus_proxy_get_default_timeout
      Src: /src/glib/gio/gdbusproxy.c:268,1
    - Dst: g_dbus_proxy_get_interface_info
      Src: /src/glib/gio/gdbusproxy.c:272,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gdbusproxy.c:276,1
    - Dst: g_value_set_boxed
      Src: /src/glib/gio/gdbusproxy.c:272,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 15
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 279
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 279
    functionName: g_dbus_proxy_get_property
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_value_take_string
    - g_dbus_proxy_get_default_timeout
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_string
    - g_value_set_flags
    - g_value_set_int
    - g_value_set_boxed
    - g_value_set_object
    - g_dbus_proxy_get_name_owner
    - G_DBUS_PROXY
    - g_dbus_proxy_get_interface_info
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_proxy_get_property (GObject *object, guint prop_id,
      GValue *value, GParamSpec *pspec) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusproxy.c:706,1
    - Dst: G_IS_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:706,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusproxy.c:707,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusproxy.c:709,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusproxy.c:711,1
    - Dst: lookup_property_info
      Src: /src/glib/gio/gdbusproxy.c:715,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusproxy.c:718,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusproxy.c:719,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusproxy.c:721,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gdbusproxy.c:731,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:734,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 736
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 736
    functionName: g_dbus_proxy_get_cached_property
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_warning
    - G_UNLOCK
    - g_hash_table_lookup
    - lookup_property_info
    - g_variant_get_type_string
    - g_strcmp0
    - G_LOCK
    - g_variant_ref
    - G_IS_DBUS_PROXY
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_dbus_proxy_get_cached_property (GDBusProxy *proxy, const
      gchar *property_name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusproxy.c:1110,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusproxy.c:1113,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusproxy.c:1112,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusproxy.c:1110,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusproxy.c:1117,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusproxy.c:1119,1
    - Dst: g_variant_iter_next
      Src: /src/glib/gio/gdbusproxy.c:1120,1
    - Dst: insert_property_checked
      Src: /src/glib/gio/gdbusproxy.c:1122,1
    - Dst: g_variant_iter_free
      Src: /src/glib/gio/gdbusproxy.c:1126,1
    - Dst: g_hash_table_size
      Src: /src/glib/gio/gdbusproxy.c:1128,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusproxy.c:1137,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusproxy.c:1144,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:1129,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gdbusproxy.c:1140,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 2
    argNames:
    - proxy
    - result
    argTypes:
    - GDBusProxy*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 1149
      start: 1101
    functionDepth: 0
    functionLinenumber: 1101
    functionLinenumberEnd: 1149
    functionName: process_get_all_reply
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_warning
    - g_variant_is_of_type
    - insert_property_checked
    - G_UNLOCK
    - g_variant_iter_next
    - g_signal_emit
    - g_variant_unref
    - g_variant_get_type_string
    - g_variant_get
    - g_hash_table_size
    - g_variant_iter_free
    - G_LOCK
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: void
    signature: 'static void process_get_all_reply (GDBusProxy *proxy, GVariant *result) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/gdbusproxy.c:1486,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gdbusproxy.c:1498,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusproxy.c:1493,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusproxy.c:1495,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/gdbusproxy.c:1488,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - task
    argTypes:
    - GTask*
    constantsTouched: []
    func_position:
      end: 1501
      start: 1483
    functionDepth: 0
    functionLinenumber: 1483
    functionLinenumberEnd: 1501
    functionName: async_init_call_get_name_owner
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_call
    - g_task_get_cancellable
    - g_task_get_source_object
    - g_variant_new
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: void
    signature: 'static void async_init_call_get_name_owner (GTask *task) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: async_initable_init_second_finish
      Src: /src/glib/gio/gdbusproxy.c:1755,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusproxy.c:1759,1
    - Dst: G_ASYNC_INITABLE
      Src: /src/glib/gio/gdbusproxy.c:1755,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gdbusproxy.c:1758,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gdbusproxy.c:1756,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1760
      start: 1747
    functionDepth: 0
    functionLinenumber: 1747
    functionLinenumberEnd: 1760
    functionName: init_second_async_cb
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - G_ASYNC_INITABLE
    - g_object_unref
    - async_initable_init_second_finish
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: "static void init_second_async_cb (GObject *source_object,\t\t GAsyncResult\
      \ *res,\t\t gpointer user_data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:1796,1
    - Dst: g_task_set_name
      Src: /src/glib/gio/gdbusproxy.c:1801,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gdbusproxy.c:1800,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gdbusproxy.c:1802,1
    - Dst: g_task_new
      Src: /src/glib/gio/gdbusproxy.c:1799,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusproxy.c:1806,1
    - Dst: g_bus_get
      Src: /src/glib/gio/gdbusproxy.c:1808,1
    - Dst: async_initable_init_first
      Src: /src/glib/gio/gdbusproxy.c:1815,1
    - Dst: async_initable_init_second_async
      Src: /src/glib/gio/gdbusproxy.c:1816,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 5
    argNames:
    - initable
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GAsyncInitable*
    - gint
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 1819
      start: 1789
    functionDepth: 0
    functionLinenumber: 1789
    functionLinenumberEnd: 1819
    functionName: async_initable_init_async
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_task_set_priority
    - g_task_set_source_tag
    - g_assert
    - async_initable_init_second_async
    - g_bus_get
    - async_initable_init_first
    - G_DBUS_PROXY
    - g_task_set_name
    linkageType: ''
    returnType: void
    signature: 'static void async_initable_init_async (GAsyncInitable *initable, gint
      io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_proxy_new_finish
      Src: /src/glib/gio/gdbusproxy.c:2171,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2172
      start: 2167
    functionDepth: 0
    functionLinenumber: 2167
    functionLinenumberEnd: 2172
    functionName: g_dbus_proxy_new_for_bus_finish
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_dbus_proxy_new_finish
    linkageType: ''
    returnType: GDBusProxy*
    signature: 'GDBusProxy *g_dbus_proxy_new_for_bus_finish (GAsyncResult *res, GError
      **error) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:287,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gdbusproxy.c:304,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gdbusproxy.c:300,1
    - Dst: g_value_get_flags
      Src: /src/glib/gio/gdbusproxy.c:296,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/gdbusproxy.c:292,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gdbusproxy.c:308,1
    - Dst: g_dbus_proxy_set_default_timeout
      Src: /src/glib/gio/gdbusproxy.c:312,1
    - Dst: g_value_get_int
      Src: /src/glib/gio/gdbusproxy.c:312,1
    - Dst: g_dbus_proxy_set_interface_info
      Src: /src/glib/gio/gdbusproxy.c:316,1
    - Dst: g_value_get_boxed
      Src: /src/glib/gio/gdbusproxy.c:316,1
    - Dst: g_value_get_enum
      Src: /src/glib/gio/gdbusproxy.c:320,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gdbusproxy.c:324,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 20
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 327
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 327
    functionName: g_dbus_proxy_set_property
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_dup_string
    - g_value_get_boxed
    - g_dbus_proxy_set_default_timeout
    - g_value_dup_object
    - g_value_get_flags
    - G_DBUS_PROXY
    - g_value_get_int
    - g_value_get_enum
    - g_dbus_proxy_set_interface_info
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_proxy_set_property (GObject *object, guint prop_id,
      const GValue *value, GParamSpec *pspec) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:196,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusproxy.c:215,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusproxy.c:230,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/gdbusproxy.c:201,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/gdbusproxy.c:205,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/gdbusproxy.c:209,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusproxy.c:213,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusproxy.c:216,1
    - Dst: g_steal_handle_id
      Src: /src/glib/gio/gdbusproxy.c:202,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusproxy.c:198,1
    - Dst: g_steal_handle_id
      Src: /src/glib/gio/gdbusproxy.c:206,1
    - Dst: g_steal_handle_id
      Src: /src/glib/gio/gdbusproxy.c:210,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusproxy.c:217,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusproxy.c:228,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusproxy.c:214,1
    - Dst: g_dbus_interface_info_unref
      Src: /src/glib/gio/gdbusproxy.c:224,1
    - Dst: g_dbus_interface_info_cache_release
      Src: /src/glib/gio/gdbusproxy.c:223,1
    - Dst: g_object_remove_weak_pointer
      Src: /src/glib/gio/gdbusproxy.c:228,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusproxy.c:219,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 231
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 231
    functionName: g_dbus_proxy_finalize
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_steal_handle_id
    - g_warn_if_fail
    - g_object_unref
    - g_dbus_interface_info_unref
    - g_hash_table_unref
    - g_dbus_connection_signal_unsubscribe
    - g_dbus_interface_info_cache_release
    - G_OBJECT
    - G_OBJECT_CLASS
    - G_DBUS_PROXY
    - g_free
    - g_object_remove_weak_pointer
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_proxy_finalize (GObject *object) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/gdbusproxy.c:943,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusproxy.c:949,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusproxy.c:949,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusproxy.c:951,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusproxy.c:951,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusproxy.c:955,1
    - Dst: g_variant_builder_init_static
      Src: /src/glib/gio/gdbusproxy.c:958,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusproxy.c:958,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gdbusproxy.c:959,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusproxy.c:961,1
    - Dst: insert_property_checked
      Src: /src/glib/gio/gdbusproxy.c:962,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:966,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gdbusproxy.c:970,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gdbusproxy.c:979,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusproxy.c:978,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusproxy.c:976,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gdbusproxy.c:968,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusproxy.c:977,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 3
    argNames:
    - connection
    - res
    - user_data
    argTypes:
    - GDBusConnection*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 980
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 980
    functionName: invalidated_property_get_cb
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_warning
    - g_variant_is_of_type
    - g_object_unref
    - insert_property_checked
    - G_UNLOCK
    - g_dbus_connection_call_finish
    - g_variant_builder_init_static
    - g_free
    - g_signal_emit
    - g_slice_free
    - g_variant_unref
    - g_variant_get_type_string
    - g_variant_get
    - g_variant_builder_add
    - G_LOCK
    - g_variant_builder_end
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: void
    signature: 'static void invalidated_property_get_cb (GDBusConnection *connection,
      GAsyncResult *res, gpointer user_data) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/gdbusproxy.c:1171,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusproxy.c:1185,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusproxy.c:1192,1
    - Dst: g_debug
      Src: /src/glib/gio/gdbusproxy.c:1187,1
    - Dst: _g_dbus_debug_proxy
      Src: /src/glib/gio/gdbusproxy.c:1185,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusproxy.c:1198,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusproxy.c:1199,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusproxy.c:1200,1
    - Dst: g_hash_table_remove_all
      Src: /src/glib/gio/gdbusproxy.c:1201,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:1202,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusproxy.c:1209,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusproxy.c:1216,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusproxy.c:1218,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusproxy.c:1215,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusproxy.c:1217,1
    - Dst: process_get_all_reply
      Src: /src/glib/gio/gdbusproxy.c:1205,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gdbusproxy.c:1209,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusproxy.c:1206,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 3
    argNames:
    - connection
    - res
    - user_data
    argTypes:
    - GDBusConnection*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1219
      start: 1158
    functionDepth: 0
    functionLinenumber: 1158
    functionLinenumberEnd: 1219
    functionName: on_name_owner_changed_get_all_cb
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_object_unref
    - process_get_all_reply
    - G_UNLOCK
    - g_object_notify
    - g_dbus_connection_call_finish
    - g_debug
    - g_free
    - G_OBJECT
    - g_variant_unref
    - _g_dbus_debug_proxy
    - g_error_free
    - G_UNLIKELY
    - g_hash_table_remove_all
    - G_LOCK
    linkageType: ''
    returnType: void
    signature: 'static void on_name_owner_changed_get_all_cb (GDBusConnection *connection,
      GAsyncResult *res, gpointer user_data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/gdbusproxy.c:1514,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusproxy.c:1544,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusproxy.c:1539,1
    - Dst: g_dbus_error_get_remote_error
      Src: /src/glib/gio/gdbusproxy.c:1543,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusproxy.c:1587,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusproxy.c:1563,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusproxy.c:1546,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusproxy.c:1547,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/gdbusproxy.c:1552,1
    - Dst: _
      Src: /src/glib/gio/gdbusproxy.c:1553,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gdbusproxy.c:1588,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusproxy.c:1589,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusproxy.c:1566,1
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/gdbusproxy.c:1509,1
    - Dst: g_dbus_error_strip_remote_error
      Src: /src/glib/gio/gdbusproxy.c:1551,1
    - Dst: async_init_call_get_name_owner
      Src: /src/glib/gio/gdbusproxy.c:1583,1
    - Dst: g_error_new
      Src: /src/glib/gio/gdbusproxy.c:1574,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusproxy.c:1555,1
    - Dst: _
      Src: /src/glib/gio/gdbusproxy.c:1576,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 3
    argNames:
    - connection
    - res
    - user_data
    argTypes:
    - GDBusConnection*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1590
      start: 1503
    functionDepth: 0
    functionLinenumber: 1503
    functionLinenumberEnd: 1590
    functionName: async_init_start_service_by_name_cb
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - async_init_call_get_name_owner
    - g_warn_if_fail
    - g_object_unref
    - g_prefix_error
    - g_dbus_connection_call_finish
    - g_task_get_source_object
    - g_error_new
    - g_variant_unref
    - g_error_free
    - g_dbus_error_get_remote_error
    - g_strcmp0
    - g_variant_get
    - _
    - g_dbus_error_strip_remote_error
    - g_free
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void async_init_start_service_by_name_cb (GDBusConnection *connection,
      GAsyncResult *res, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/gdbusproxy.c:1768,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gdbusproxy.c:1775,1
    - Dst: g_bus_get_finish
      Src: /src/glib/gio/gdbusproxy.c:1772,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusproxy.c:1776,1
    - Dst: async_initable_init_first
      Src: /src/glib/gio/gdbusproxy.c:1780,1
    - Dst: G_ASYNC_INITABLE
      Src: /src/glib/gio/gdbusproxy.c:1780,1
    - Dst: async_initable_init_second_async
      Src: /src/glib/gio/gdbusproxy.c:1781,1
    - Dst: G_ASYNC_INITABLE
      Src: /src/glib/gio/gdbusproxy.c:1781,1
    - Dst: g_task_get_priority
      Src: /src/glib/gio/gdbusproxy.c:1782,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gdbusproxy.c:1783,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1787
      start: 1762
    functionDepth: 0
    functionLinenumber: 1762
    functionLinenumberEnd: 1787
    functionName: get_connection_cb
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - G_ASYNC_INITABLE
    - g_object_unref
    - g_task_get_priority
    - g_task_get_cancellable
    - async_initable_init_second_async
    - g_task_get_source_object
    - async_initable_init_first
    - g_bus_get_finish
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void get_connection_cb (GObject *source_object, GAsyncResult
      *res, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gdbusproxy.c:1826,1
    - Dst: G_TASK
      Src: /src/glib/gio/gdbusproxy.c:1826,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - initable
    - res
    - error
    argTypes:
    - GAsyncInitable*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 1827
      start: 1821
    functionDepth: 0
    functionLinenumber: 1821
    functionLinenumberEnd: 1827
    functionName: async_initable_init_finish
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_task_propagate_boolean
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean async_initable_init_finish (GAsyncInitable *initable,
      GAsyncResult *res, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_is_interface_name
      Src: /src/glib/gio/gdbusproxy.c:2786,1
    - Dst: G_IS_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:2785,1
    - Dst: lookup_method_info
      Src: /src/glib/gio/gdbusproxy.c:2808,1
    - Dst: _
      Src: /src/glib/gio/gdbusproxy.c:2822,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:2825,1
    - Dst: g_dbus_is_member_name
      Src: /src/glib/gio/gdbusproxy.c:2786,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2786,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusproxy.c:2787,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2790,1
    - Dst: _g_dbus_compute_complete_signature
      Src: /src/glib/gio/gdbusproxy.c:2810,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusproxy.c:2819,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusproxy.c:2816,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2792,1
    - Dst: g_dbus_connection_call_with_unix_fd_list_sync
      Src: /src/glib/gio/gdbusproxy.c:2833,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusproxy.c:2798,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2794,1
    - Dst: g_dbus_connection_call_sync
      Src: /src/glib/gio/gdbusproxy.c:2847,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusproxy.c:2865,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2785,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2787,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2788,1
    - Dst: G_IS_UNIX_FD_LIST
      Src: /src/glib/gio/gdbusproxy.c:2790,1
    - Dst: maybe_split_method_name
      Src: /src/glib/gio/gdbusproxy.c:2800,1
    - Dst: get_destination_for_call
      Src: /src/glib/gio/gdbusproxy.c:2816,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:2830,1
    - Dst: g_variant_type_free
      Src: /src/glib/gio/gdbusproxy.c:2862,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusproxy.c:2864,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2868
      start: 2765
    functionDepth: 0
    functionLinenumber: 2765
    functionLinenumberEnd: 2868
    functionName: g_dbus_proxy_call_sync_internal
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - _g_dbus_compute_complete_signature
    - g_dbus_is_member_name
    - G_LOCK
    - g_variant_is_of_type
    - G_UNLOCK
    - get_destination_for_call
    - g_dbus_is_interface_name
    - G_IS_UNIX_FD_LIST
    - g_dbus_connection_call_with_unix_fd_list_sync
    - G_IS_DBUS_PROXY
    - g_set_error
    - g_strdup
    - maybe_split_method_name
    - g_dbus_connection_call_sync
    - _
    - g_return_val_if_fail
    - g_variant_type_free
    - lookup_method_info
    - g_free
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_dbus_proxy_call_sync_internal (GDBusProxy *proxy,
      const gchar *method_name, GVariant *parameters, GDBusCallFlags flags, gint timeout_msec,
      GUnixFDList *fd_list, GUnixFDList **out_fd_list, GCancellable *cancellable,
      GError **error) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusproxy.c:1014,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusproxy.c:1020,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusproxy.c:1020,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusproxy.c:1022,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusproxy.c:1028,1
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/gdbusproxy.c:1040,1
    - Dst: insert_property_checked
      Src: /src/glib/gio/gdbusproxy.c:1043,1
    - Dst: g_variant_iter_next
      Src: /src/glib/gio/gdbusproxy.c:1041,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:1036,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusproxy.c:1058,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusproxy.c:1079,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gio/gdbusproxy.c:1005,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusproxy.c:1023,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:1024,1
    - Dst: g_slice_new0
      Src: /src/glib/gio/gdbusproxy.c:1056,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusproxy.c:1057,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/gdbusproxy.c:1059,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusproxy.c:1064,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:1016,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusproxy.c:1012,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gdbusproxy.c:1087,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusproxy.c:1095,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:1083,1
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:1005,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusproxy.c:1034,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdbusproxy.c:1094,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusproxy.c:1096,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusproxy.c:1065,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 60
    argCount: 7
    argNames:
    - connection
    - sender_name
    - object_path
    - interface_name
    - signal_name
    - parameters
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1097
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 1097
    functionName: on_properties_changed
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_weak_ref_get
    - g_slice_new0
    - g_variant_iter_next
    - g_signal_emit
    - G_DBUS_PROXY
    - G_LOCK
    - g_warning
    - g_variant_is_of_type
    - G_UNLOCK
    - g_clear_pointer
    - g_clear_object
    - g_variant_get_type_string
    - g_variant_get
    - g_variant_iter_init
    - g_dbus_connection_call
    - g_strdup
    - g_hash_table_remove
    - g_strcmp0
    - G_VARIANT_TYPE
    - insert_property_checked
    - g_variant_new
    - g_object_ref
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void on_properties_changed (GDBusConnection *connection, const
      gchar *sender_name, const gchar *object_path, const gchar *interface_name, const
      gchar *signal_name, GVariant *parameters, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/gdbusproxy.c:1362,1
    - Dst: _g_dbus_debug_proxy
      Src: /src/glib/gio/gdbusproxy.c:1374,1
    - Dst: g_debug
      Src: /src/glib/gio/gdbusproxy.c:1376,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusproxy.c:1374,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusproxy.c:1381,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gdbusproxy.c:1384,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusproxy.c:1386,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - connection
    - res
    - user_data
    argTypes:
    - GDBusConnection*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1387
      start: 1352
    functionDepth: 0
    functionLinenumber: 1352
    functionLinenumberEnd: 1387
    functionName: async_init_get_all_cb
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_task_return_pointer
    - g_dbus_connection_call_finish
    - g_debug
    - _g_dbus_debug_proxy
    - g_error_free
    - G_UNLIKELY
    linkageType: ''
    returnType: void
    signature: 'static void async_init_get_all_cb (GDBusConnection *connection, GAsyncResult
      *res, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2082,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusproxy.c:2082,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2083,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbusproxy.c:2084,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/gdbusproxy.c:2083,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2085,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusproxy.c:2085,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2086,1
    - Dst: g_dbus_is_interface_name
      Src: /src/glib/gio/gdbusproxy.c:2086,1
    - Dst: g_initable_new
      Src: /src/glib/gio/gdbusproxy.c:2088,1
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:2099,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2102
      start: 2070
    functionDepth: 0
    functionLinenumber: 2070
    functionLinenumberEnd: 2102
    functionName: g_dbus_proxy_new_sync
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DBUS_CONNECTION
    - g_dbus_connection_get_unique_name
    - g_dbus_is_interface_name
    - g_initable_new
    - g_variant_is_object_path
    - G_DBUS_PROXY
    - g_dbus_is_name
    linkageType: ''
    returnType: GDBusProxy*
    signature: 'GDBusProxy *g_dbus_proxy_new_sync (GDBusConnection *connection, GDBusProxyFlags
      flags, GDBusInterfaceInfo *info, const gchar *name, const gchar *object_path,
      const gchar *interface_name, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_dbus_initialize
      Src: /src/glib/gio/gdbusproxy.c:2135,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusproxy.c:2138,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbusproxy.c:2137,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2137,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2138,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2139,1
    - Dst: g_dbus_is_interface_name
      Src: /src/glib/gio/gdbusproxy.c:2139,1
    - Dst: g_async_initable_new_async
      Src: /src/glib/gio/gdbusproxy.c:2141,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 9
    argNames:
    - bus_type
    - flags
    - info
    - name
    - object_path
    - interface_name
    - cancellable
    - callback
    - user_data
    argTypes:
    - GBusType
    - GDBusProxyFlags
    - GDBusInterfaceInfo*
    - gchar*
    - gchar*
    - gchar*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 2153
      start: 2124
    functionDepth: 0
    functionLinenumber: 2124
    functionLinenumberEnd: 2153
    functionName: g_dbus_proxy_new_for_bus
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_async_initable_new_async
    - g_return_if_fail
    - _g_dbus_initialize
    - g_dbus_is_interface_name
    - g_variant_is_object_path
    - g_dbus_is_name
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_proxy_new_for_bus (GBusType bus_type, GDBusProxyFlags
      flags, GDBusInterfaceInfo *info, const gchar *name, const gchar *object_path,
      const gchar *interface_name, GCancellable *cancellable, GAsyncReadyCallback
      callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2343,1
    - Dst: G_IS_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:2343,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2345
      start: 2340
    functionDepth: 0
    functionLinenumber: 2340
    functionLinenumberEnd: 2345
    functionName: g_dbus_proxy_get_interface_name
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DBUS_PROXY
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_dbus_proxy_get_interface_name (GDBusProxy *proxy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2391,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2392,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:2399,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusproxy.c:2394,1
    - Dst: G_IS_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:2391,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gdbusproxy.c:2401,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusproxy.c:2401,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:2405,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - proxy
    - timeout_msec
    argTypes:
    - GDBusProxy*
    - gint
    constantsTouched: []
    func_position:
      end: 2407
      start: 2387
    functionDepth: 0
    functionLinenumber: 2387
    functionLinenumberEnd: 2407
    functionName: g_dbus_proxy_set_default_timeout
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - G_UNLOCK
    - g_object_notify
    - G_OBJECT
    - G_LOCK
    - G_IS_DBUS_PROXY
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_proxy_set_default_timeout (GDBusProxy *proxy, gint timeout_msec) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2454,1
    - Dst: g_dbus_interface_info_unref
      Src: /src/glib/gio/gdbusproxy.c:2460,1
    - Dst: G_IS_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:2454,1
    - Dst: g_dbus_interface_info_cache_release
      Src: /src/glib/gio/gdbusproxy.c:2459,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusproxy.c:2455,1
    - Dst: g_dbus_interface_info_ref
      Src: /src/glib/gio/gdbusproxy.c:2462,1
    - Dst: g_dbus_interface_info_cache_build
      Src: /src/glib/gio/gdbusproxy.c:2464,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusproxy.c:2466,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - proxy
    - info
    argTypes:
    - GDBusProxy*
    - GDBusInterfaceInfo*
    constantsTouched: []
    func_position:
      end: 2467
      start: 2450
    functionDepth: 0
    functionLinenumber: 2450
    functionLinenumberEnd: 2467
    functionName: g_dbus_proxy_set_interface_info
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_dbus_interface_info_unref
    - g_return_if_fail
    - g_dbus_interface_info_cache_build
    - G_UNLOCK
    - g_dbus_interface_info_cache_release
    - g_dbus_interface_info_ref
    - G_LOCK
    - G_IS_DBUS_PROXY
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_proxy_set_interface_info (GDBusProxy *proxy, GDBusInterfaceInfo
      *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2606
      start: 2583
    functionDepth: 0
    functionLinenumber: 2583
    functionLinenumberEnd: 2606
    functionName: get_destination_for_call
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *get_destination_for_call (GDBusProxy *proxy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusproxy.c:2244,1
    - Dst: G_IS_DBUS_PROXY
      Src: /src/glib/gio/gdbusproxy.c:2244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2246
      start: 2241
    functionDepth: 0
    functionLinenumber: 2241
    functionLinenumberEnd: 2246
    functionName: g_dbus_proxy_get_connection
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DBUS_PROXY
    linkageType: ''
    returnType: GDBusConnection*
    signature: 'GDBusConnection *g_dbus_proxy_get_connection (GDBusProxy *proxy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_proxy_call_finish_internal
      Src: /src/glib/gio/gdbusproxy.c:2961,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2962
      start: 2956
    functionDepth: 0
    functionLinenumber: 2956
    functionLinenumberEnd: 2962
    functionName: g_dbus_proxy_call_finish
    functionSourceFile: /src/glib/gio/gdbusproxy.c
    functionUses: []
    functionsReached:
    - g_dbus_proxy_call_finish_internal
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_dbus_proxy_call_finish (GDBusProxy *proxy, GAsyncResult
      *res, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gdtlsclientconnection.c:71,1
    - Dst: g_param_spec_flags
      Src: /src/glib/gio/gdtlsclientconnection.c:72,1
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gdtlsclientconnection.c:119,1
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gdtlsclientconnection.c:99,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gdtlsclientconnection.c:100,1
    - Dst: g_param_spec_pointer
      Src: /src/glib/gio/gdtlsclientconnection.c:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GDtlsClientConnectionInterface*
    constantsTouched: []
    func_position:
      end: 123
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 123
    functionName: g_dtls_client_connection_default_init
    functionSourceFile: /src/glib/gio/gdtlsclientconnection.c
    functionUses: []
    functionsReached:
    - g_object_interface_install_property
    - g_param_spec_pointer
    - g_param_spec_flags
    - g_param_spec_object
    linkageType: ''
    returnType: void
    signature: 'static void g_dtls_client_connection_default_init (GDtlsClientConnectionInterface
      *iface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdtlsclientconnection.c:226,1
    - Dst: g_object_get
      Src: /src/glib/gio/gdtlsclientconnection.c:228,1
    - Dst: G_IS_DTLS_CLIENT_CONNECTION
      Src: /src/glib/gio/gdtlsclientconnection.c:226,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdtlsclientconnection.c:228,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdtlsclientconnection.c:230,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 232
    functionName: g_dtls_client_connection_get_server_identity
    functionSourceFile: /src/glib/gio/gdtlsclientconnection.c
    functionUses: []
    functionsReached:
    - g_object_get
    - g_return_val_if_fail
    - g_object_unref
    - G_IS_DTLS_CLIENT_CONNECTION
    - G_OBJECT
    linkageType: ''
    returnType: GSocketConnectable*
    signature: 'GSocketConnectable *g_dtls_client_connection_get_server_identity (GDtlsClientConnection
      *conn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdtlsclientconnection.c:177,1
    - Dst: g_object_get
      Src: /src/glib/gio/gdtlsclientconnection.c:179,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdtlsclientconnection.c:179,1
    - Dst: G_IS_DTLS_CLIENT_CONNECTION
      Src: /src/glib/gio/gdtlsclientconnection.c:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - conn
    argTypes:
    - GDtlsClientConnection*
    constantsTouched: []
    func_position:
      end: 181
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 181
    functionName: g_dtls_client_connection_get_validation_flags
    functionSourceFile: /src/glib/gio/gdtlsclientconnection.c
    functionUses: []
    functionsReached:
    - g_object_get
    - g_return_val_if_fail
    - G_OBJECT
    - G_IS_DTLS_CLIENT_CONNECTION
    linkageType: ''
    returnType: GTlsCertificateFlags
    signature: 'GTlsCertificateFlags g_dtls_client_connection_get_validation_flags
      (GDtlsClientConnection *conn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdtlsclientconnection.c:278,1
    - Dst: g_object_get
      Src: /src/glib/gio/gdtlsclientconnection.c:280,1
    - Dst: G_IS_DTLS_CLIENT_CONNECTION
      Src: /src/glib/gio/gdtlsclientconnection.c:278,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdtlsclientconnection.c:280,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 282
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 282
    functionName: g_dtls_client_connection_get_accepted_cas
    functionSourceFile: /src/glib/gio/gdtlsclientconnection.c
    functionUses: []
    functionsReached:
    - g_object_get
    - g_return_val_if_fail
    - G_OBJECT
    - G_IS_DTLS_CLIENT_CONNECTION
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_dtls_client_connection_get_accepted_cas (GDtlsClientConnection
      *conn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_tls_backend_get_default
      Src: /src/glib/gio/gdtlsclientconnection.c:147,1
    - Dst: g_tls_backend_get_dtls_client_connection_type
      Src: /src/glib/gio/gdtlsclientconnection.c:148,1
    - Dst: G_DATAGRAM_BASED
      Src: /src/glib/gio/gdtlsclientconnection.c:153,1
    - Dst: g_initable_new
      Src: /src/glib/gio/gdtlsclientconnection.c:148,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 154
    functionName: g_dtls_client_connection_new
    functionSourceFile: /src/glib/gio/gdtlsclientconnection.c
    functionUses: []
    functionsReached:
    - G_DATAGRAM_BASED
    - g_initable_new
    - g_tls_backend_get_default
    - g_tls_backend_get_dtls_client_connection_type
    linkageType: ''
    returnType: GDatagramBased*
    signature: 'GDatagramBased *g_dtls_client_connection_new (GDatagramBased *base_socket,
      GSocketConnectable *server_identity, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdtlsclientconnection.c:204,1
    - Dst: G_IS_DTLS_CLIENT_CONNECTION
      Src: /src/glib/gio/gdtlsclientconnection.c:204,1
    - Dst: g_object_set
      Src: /src/glib/gio/gdtlsclientconnection.c:206,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdtlsclientconnection.c:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - conn
    - flags
    argTypes:
    - GDtlsClientConnection*
    - GTlsCertificateFlags
    constantsTouched: []
    func_position:
      end: 207
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 207
    functionName: g_dtls_client_connection_set_validation_flags
    functionSourceFile: /src/glib/gio/gdtlsclientconnection.c
    functionUses: []
    functionsReached:
    - g_object_set
    - G_IS_DTLS_CLIENT_CONNECTION
    - G_OBJECT
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dtls_client_connection_set_validation_flags (GDtlsClientConnection
      *conn, GTlsCertificateFlags flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdtlsclientconnection.c:250,1
    - Dst: G_IS_DTLS_CLIENT_CONNECTION
      Src: /src/glib/gio/gdtlsclientconnection.c:250,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdtlsclientconnection.c:252,1
    - Dst: g_object_set
      Src: /src/glib/gio/gdtlsclientconnection.c:252,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - conn
    - identity
    argTypes:
    - GDtlsClientConnection*
    - GSocketConnectable*
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: g_dtls_client_connection_set_server_identity
    functionSourceFile: /src/glib/gio/gdtlsclientconnection.c
    functionUses: []
    functionsReached:
    - g_object_set
    - G_IS_DTLS_CLIENT_CONNECTION
    - G_OBJECT
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dtls_client_connection_set_server_identity (GDtlsClientConnection
      *conn, GSocketConnectable *identity) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - Buffer*
    constantsTouched: []
    func_position:
      end: 254
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 254
    functionName: buffer_data_size
    functionSourceFile: /src/glib/gio/gconverteroutputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gsize
    signature: 'static gsize buffer_data_size (Buffer *buffer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gconverteroutputstream.c:122,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gconverteroutputstream.c:138,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gconverteroutputstream.c:136,1
    - Dst: G_OUTPUT_STREAM_CLASS
      Src: /src/glib/gio/gconverteroutputstream.c:127,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GConverterOutputStreamClass*
    constantsTouched: []
    func_position:
      end: 144
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 144
    functionName: g_converter_output_stream_class_init
    functionSourceFile: /src/glib/gio/gconverteroutputstream.c
    functionUses: []
    functionsReached:
    - G_OUTPUT_STREAM_CLASS
    - g_param_spec_object
    - g_object_class_install_property
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_converter_output_stream_class_init (GConverterOutputStreamClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - Buffer*
    constantsTouched: []
    func_position:
      end: 260
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 260
    functionName: buffer_tailspace
    functionSourceFile: /src/glib/gio/gconverteroutputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gsize
    signature: 'static gsize buffer_tailspace (Buffer *buffer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 694
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 694
    functionName: g_converter_output_stream_get_converter
    functionSourceFile: /src/glib/gio/gconverteroutputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GConverter*
    signature: 'GConverter *g_converter_output_stream_get_converter (GConverterOutputStream
      *converter_stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GPollableOutputStreamInterface*
    constantsTouched: []
    func_position:
      end: 153
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 153
    functionName: g_converter_output_stream_pollable_iface_init
    functionSourceFile: /src/glib/gio/gconverteroutputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_converter_output_stream_pollable_iface_init (GPollableOutputStreamInterface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_converter_output_stream_get_instance_private
      Src: /src/glib/gio/gconverteroutputstream.c:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GConverterOutputStream*
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: g_converter_output_stream_init
    functionSourceFile: /src/glib/gio/gconverteroutputstream.c
    functionUses: []
    functionsReached:
    - g_converter_output_stream_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_converter_output_stream_init (GConverterOutputStream
      *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 266
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 266
    functionName: buffer_data
    functionSourceFile: /src/glib/gio/gconverteroutputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static char *buffer_data (Buffer *buffer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/gconverteroutputstream.c:377,1
    - Dst: buffer_data_size
      Src: /src/glib/gio/gconverteroutputstream.c:379,1
    - Dst: buffer_consumed
      Src: /src/glib/gio/gconverteroutputstream.c:389,1
    - Dst: buffer_data
      Src: /src/glib/gio/gconverteroutputstream.c:383,1
    - Dst: g_pollable_stream_write_all
      Src: /src/glib/gio/gconverteroutputstream.c:382,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 4
    argNames:
    - stream
    - blocking
    - cancellable
    - error
    argTypes:
    - GConverterOutputStream*
    - gboolean
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 393
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 393
    functionName: flush_buffer
    functionSourceFile: /src/glib/gio/gconverteroutputstream.c
    functionUses: []
    functionsReached:
    - buffer_data_size
    - G_FILTER_OUTPUT_STREAM
    - buffer_data
    - g_pollable_stream_write_all
    - buffer_consumed
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean flush_buffer (GConverterOutputStream *stream,\t gboolean\
      \ blocking,\t GCancellable *cancellable,\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_internal
      Src: /src/glib/gio/gconverteroutputstream.c:661,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gconverteroutputstream.c:661,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - stream
    - buffer
    - count
    - error
    argTypes:
    - GPollableOutputStream*
    - void*
    - gsize
    - GError**
    constantsTouched: []
    func_position:
      end: 663
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 663
    functionName: g_converter_output_stream_write_nonblocking
    functionSourceFile: /src/glib/gio/gconverteroutputstream.c
    functionUses: []
    functionsReached:
    - G_OUTPUT_STREAM
    - write_internal
    linkageType: ''
    returnType: gssize
    signature: "static gssize g_converter_output_stream_write_nonblocking (GPollableOutputStream\
      \ *stream,\t\t\t\t\t const void *buffer,\t\t\t\t\t gsize count,\t\t\t\t\t GError\
      \ **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_CONVERTER_OUTPUT_STREAM
      Src: /src/glib/gio/gconverteroutputstream.c:161,1
    - Dst: g_free
      Src: /src/glib/gio/gconverteroutputstream.c:164,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gconverteroutputstream.c:167,1
    - Dst: g_free
      Src: /src/glib/gio/gconverteroutputstream.c:165,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gconverteroutputstream.c:169,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 170
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 170
    functionName: g_converter_output_stream_finalize
    functionSourceFile: /src/glib/gio/gconverteroutputstream.c
    functionUses: []
    functionsReached:
    - g_free
    - G_CONVERTER_OUTPUT_STREAM
    - g_object_unref
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_converter_output_stream_finalize (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - buffer
    - count
    argTypes:
    - Buffer*
    - gsize
    constantsTouched: []
    func_position:
      end: 275
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 275
    functionName: buffer_consumed
    functionSourceFile: /src/glib/gio/gconverteroutputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void buffer_consumed (Buffer *buffer,\t\t gsize count) "
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: flush_buffer
      Src: /src/glib/gio/gconverteroutputstream.c:420,1
    - Dst: buffer_append
      Src: /src/glib/gio/gconverteroutputstream.c:434,1
    - Dst: buffer_ensure_space
      Src: /src/glib/gio/gconverteroutputstream.c:446,1
    - Dst: buffer_tailspace
      Src: /src/glib/gio/gconverteroutputstream.c:452,1
    - Dst: buffer_data
      Src: /src/glib/gio/gconverteroutputstream.c:460,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gconverteroutputstream.c:499,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gconverteroutputstream.c:514,1
    - Dst: buffer_consumed
      Src: /src/glib/gio/gconverteroutputstream.c:521,1
    - Dst: flush_buffer
      Src: /src/glib/gio/gconverteroutputstream.c:531,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gconverteroutputstream.c:425,1
    - Dst: _
      Src: /src/glib/gio/gconverteroutputstream.c:426,1
    - Dst: g_converter_convert
      Src: /src/glib/gio/gconverteroutputstream.c:457,1
    - Dst: buffer_data_size
      Src: /src/glib/gio/gconverteroutputstream.c:460,1
    - Dst: g_error_free
      Src: /src/glib/gio/gconverteroutputstream.c:487,1
    - Dst: g_error_free
      Src: /src/glib/gio/gconverteroutputstream.c:509,1
    - Dst: G_CONVERTER_OUTPUT_STREAM
      Src: /src/glib/gio/gconverteroutputstream.c:415,1
    - Dst: buffer_data_size
      Src: /src/glib/gio/gconverteroutputstream.c:431,1
    - Dst: buffer_data
      Src: /src/glib/gio/gconverteroutputstream.c:435,1
    - Dst: g_error_free
      Src: /src/glib/gio/gconverteroutputstream.c:495,1
    - Dst: buffer_ensure_space
      Src: /src/glib/gio/gconverteroutputstream.c:485,1
    - Dst: buffer_data_size
      Src: /src/glib/gio/gconverteroutputstream.c:436,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gconverteroutputstream.c:478,1
    - Dst: grow_buffer
      Src: /src/glib/gio/gconverteroutputstream.c:453,1
    - Dst: buffer_tailspace
      Src: /src/glib/gio/gconverteroutputstream.c:461,1
    - Dst: buffer_append
      Src: /src/glib/gio/gconverteroutputstream.c:506,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 66
    argCount: 6
    argNames:
    - stream
    - buffer
    - count
    - blocking
    - cancellable
    - error
    argTypes:
    - GOutputStream*
    - void*
    - gsize
    - gboolean
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 534
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 534
    functionName: write_internal
    functionSourceFile: /src/glib/gio/gconverteroutputstream.c
    functionUses: []
    functionsReached:
    - grow_buffer
    - g_propagate_error
    - flush_buffer
    - G_CONVERTER_OUTPUT_STREAM
    - buffer_append
    - buffer_ensure_space
    - buffer_data_size
    - buffer_tailspace
    - g_error_matches
    - g_set_error_literal
    - buffer_data
    - g_error_free
    - _
    - g_converter_convert
    - buffer_consumed
    linkageType: ''
    returnType: gssize
    signature: "static gssize write_internal (GOutputStream *stream,\t\tconst void\
      \ *buffer,\t\tgsize count,\t\tgboolean blocking,\t\tGCancellable *cancellable,\t\
      \tGError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/gconverteroutputstream.c:669,1
    - Dst: G_POLLABLE_OUTPUT_STREAM
      Src: /src/glib/gio/gconverteroutputstream.c:672,1
    - Dst: g_pollable_source_new_full
      Src: /src/glib/gio/gconverteroutputstream.c:673,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gconverteroutputstream.c:675,1
    - Dst: g_pollable_output_stream_create_source
      Src: /src/glib/gio/gconverteroutputstream.c:672,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 678
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 678
    functionName: g_converter_output_stream_create_source
    functionSourceFile: /src/glib/gio/gconverteroutputstream.c
    functionUses: []
    functionsReached:
    - G_POLLABLE_OUTPUT_STREAM
    - G_FILTER_OUTPUT_STREAM
    - g_source_unref
    - g_pollable_output_stream_create_source
    - g_pollable_source_new_full
    linkageType: ''
    returnType: GSource*
    signature: "static GSource *g_converter_output_stream_create_source (GPollableOutputStream\
      \ *stream,\t\t\t\t\t GCancellable *cancellable) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_CONVERTER_OUTPUT_STREAM
      Src: /src/glib/gio/gconverteroutputstream.c:180,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/gconverteroutputstream.c:185,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gconverteroutputstream.c:189,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 193
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 193
    functionName: g_converter_output_stream_set_property
    functionSourceFile: /src/glib/gio/gconverteroutputstream.c
    functionUses: []
    functionsReached:
    - g_value_dup_object
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_CONVERTER_OUTPUT_STREAM
    linkageType: ''
    returnType: void
    signature: "static void g_converter_output_stream_set_property (GObject *object,\t\
      \t\t\t guint prop_id,\t\t\t\t const GValue *value,\t\t\t\t GParamSpec *pspec) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buffer_data_size
      Src: /src/glib/gio/gconverteroutputstream.c:282,1
    - Dst: memmove
      Src: /src/glib/gio/gconverteroutputstream.c:283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - Buffer*
    constantsTouched: []
    func_position:
      end: 288
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 288
    functionName: compact_buffer
    functionSourceFile: /src/glib/gio/gconverteroutputstream.c
    functionUses: []
    functionsReached:
    - memmove
    - buffer_data_size
    linkageType: ''
    returnType: void
    signature: 'static void compact_buffer (Buffer *buffer) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: buffer_data_size
      Src: /src/glib/gio/gconverteroutputstream.c:324,1
    - Dst: buffer_tailspace
      Src: /src/glib/gio/gconverteroutputstream.c:329,1
    - Dst: compact_buffer
      Src: /src/glib/gio/gconverteroutputstream.c:341,1
    - Dst: grow_buffer
      Src: /src/glib/gio/gconverteroutputstream.c:347,1
    - Dst: compact_buffer
      Src: /src/glib/gio/gconverteroutputstream.c:336,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - buffer
    - at_least_size
    argTypes:
    - Buffer*
    - gsize
    constantsTouched: []
    func_position:
      end: 349
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 349
    functionName: buffer_ensure_space
    functionSourceFile: /src/glib/gio/gconverteroutputstream.c
    functionUses: []
    functionsReached:
    - compact_buffer
    - buffer_tailspace
    - buffer_data_size
    - grow_buffer
    linkageType: ''
    returnType: void
    signature: "static void buffer_ensure_space (Buffer *buffer,\t\t gsize at_least_size) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_internal
      Src: /src/glib/gio/gconverteroutputstream.c:543,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 5
    argNames:
    - stream
    - buffer
    - count
    - cancellable
    - error
    argTypes:
    - GOutputStream*
    - void*
    - gsize
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 544
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 544
    functionName: g_converter_output_stream_write
    functionSourceFile: /src/glib/gio/gconverteroutputstream.c
    functionUses: []
    functionsReached:
    - write_internal
    linkageType: ''
    returnType: gssize
    signature: "static gssize g_converter_output_stream_write (GOutputStream *stream,\t\
      \t\t\t const void *buffer,\t\t\t\t gsize count,\t\t\t\t GCancellable *cancellable,\t\
      \t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/gconverteroutputstream.c:641,1
    - Dst: G_POLLABLE_OUTPUT_STREAM
      Src: /src/glib/gio/gconverteroutputstream.c:644,1
    - Dst: G_IS_POLLABLE_OUTPUT_STREAM
      Src: /src/glib/gio/gconverteroutputstream.c:643,1
    - Dst: g_pollable_output_stream_can_poll
      Src: /src/glib/gio/gconverteroutputstream.c:644,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GPollableOutputStream*
    constantsTouched: []
    func_position:
      end: 645
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 645
    functionName: g_converter_output_stream_can_poll
    functionSourceFile: /src/glib/gio/gconverteroutputstream.c
    functionUses: []
    functionsReached:
    - G_FILTER_OUTPUT_STREAM
    - g_pollable_output_stream_can_poll
    - G_IS_POLLABLE_OUTPUT_STREAM
    - G_POLLABLE_OUTPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_converter_output_stream_can_poll (GPollableOutputStream
      *stream) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_CONVERTER_OUTPUT_STREAM
      Src: /src/glib/gio/gconverteroutputstream.c:204,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gconverteroutputstream.c:214,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gconverteroutputstream.c:210,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 217
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 217
    functionName: g_converter_output_stream_get_property
    functionSourceFile: /src/glib/gio/gconverteroutputstream.c
    functionUses: []
    functionsReached:
    - g_value_set_object
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_CONVERTER_OUTPUT_STREAM
    linkageType: ''
    returnType: void
    signature: "static void g_converter_output_stream_get_property (GObject *object,\t\
      \t\t\t guint prop_id,\t\t\t\t GValue *value,\t\t\t\t GParamSpec *pspec) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/glib/gio/gconverteroutputstream.c:301,1
    - Dst: memcpy
      Src: /src/glib/gio/gconverteroutputstream.c:305,1
    - Dst: g_free
      Src: /src/glib/gio/gconverteroutputstream.c:309,1
    - Dst: buffer_data_size
      Src: /src/glib/gio/gconverteroutputstream.c:302,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - Buffer*
    constantsTouched: []
    func_position:
      end: 314
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 314
    functionName: grow_buffer
    functionSourceFile: /src/glib/gio/gconverteroutputstream.c
    functionUses: []
    functionsReached:
    - memcpy
    - buffer_data_size
    - g_free
    - g_malloc
    linkageType: ''
    returnType: void
    signature: 'static void grow_buffer (Buffer *buffer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buffer_ensure_space
      Src: /src/glib/gio/gconverteroutputstream.c:356,1
    - Dst: memcpy
      Src: /src/glib/gio/gconverteroutputstream.c:358,1
    - Dst: buffer_data_size
      Src: /src/glib/gio/gconverteroutputstream.c:357,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - buffer
    - data
    - data_size
    argTypes:
    - Buffer*
    - char*
    - gsize
    constantsTouched: []
    func_position:
      end: 360
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 360
    functionName: buffer_append
    functionSourceFile: /src/glib/gio/gconverteroutputstream.c
    functionUses: []
    functionsReached:
    - memcpy
    - buffer_data_size
    - buffer_ensure_space
    linkageType: ''
    returnType: void
    signature: "static void buffer_append (Buffer *buffer,\t const char *data,\t gsize\
      \ data_size) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_output_stream_is_closing
      Src: /src/glib/gio/gconverteroutputstream.c:563,1
    - Dst: flush_buffer
      Src: /src/glib/gio/gconverteroutputstream.c:567,1
    - Dst: grow_buffer
      Src: /src/glib/gio/gconverteroutputstream.c:579,1
    - Dst: buffer_tailspace
      Src: /src/glib/gio/gconverteroutputstream.c:578,1
    - Dst: g_converter_convert
      Src: /src/glib/gio/gconverteroutputstream.c:583,1
    - Dst: buffer_data
      Src: /src/glib/gio/gconverteroutputstream.c:586,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gconverteroutputstream.c:626,1
    - Dst: g_error_free
      Src: /src/glib/gio/gconverteroutputstream.c:620,1
    - Dst: G_CONVERTER_OUTPUT_STREAM
      Src: /src/glib/gio/gconverteroutputstream.c:560,1
    - Dst: buffer_ensure_space
      Src: /src/glib/gio/gconverteroutputstream.c:571,1
    - Dst: buffer_data
      Src: /src/glib/gio/gconverteroutputstream.c:584,1
    - Dst: buffer_data_size
      Src: /src/glib/gio/gconverteroutputstream.c:585,1
    - Dst: buffer_data_size
      Src: /src/glib/gio/gconverteroutputstream.c:586,1
    - Dst: buffer_tailspace
      Src: /src/glib/gio/gconverteroutputstream.c:587,1
    - Dst: buffer_ensure_space
      Src: /src/glib/gio/gconverteroutputstream.c:618,1
    - Dst: flush_buffer
      Src: /src/glib/gio/gconverteroutputstream.c:632,1
    - Dst: buffer_data_size
      Src: /src/glib/gio/gconverteroutputstream.c:604,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gconverteroutputstream.c:611,1
    - Dst: buffer_consumed
      Src: /src/glib/gio/gconverteroutputstream.c:596,1
    - Dst: g_assert
      Src: /src/glib/gio/gconverteroutputstream.c:604,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GOutputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 636
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 636
    functionName: g_converter_output_stream_flush
    functionSourceFile: /src/glib/gio/gconverteroutputstream.c
    functionUses: []
    functionsReached:
    - grow_buffer
    - g_propagate_error
    - flush_buffer
    - G_CONVERTER_OUTPUT_STREAM
    - buffer_ensure_space
    - g_assert
    - buffer_tailspace
    - buffer_data_size
    - g_error_matches
    - buffer_data
    - g_error_free
    - g_converter_convert
    - buffer_consumed
    - g_output_stream_is_closing
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_converter_output_stream_flush (GOutputStream *stream,\t\
      \t\t\t GCancellable *cancellable,\t\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_FILTER_OUTPUT_STREAM
      Src: /src/glib/gio/gconverteroutputstream.c:650,1
    - Dst: g_pollable_output_stream_is_writable
      Src: /src/glib/gio/gconverteroutputstream.c:652,1
    - Dst: G_POLLABLE_OUTPUT_STREAM
      Src: /src/glib/gio/gconverteroutputstream.c:652,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GPollableOutputStream*
    constantsTouched: []
    func_position:
      end: 653
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 653
    functionName: g_converter_output_stream_is_writable
    functionSourceFile: /src/glib/gio/gconverteroutputstream.c
    functionUses: []
    functionsReached:
    - G_FILTER_OUTPUT_STREAM
    - g_pollable_output_stream_is_writable
    - G_POLLABLE_OUTPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_converter_output_stream_is_writable (GPollableOutputStream
      *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gconverteroutputstream.c:240,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/gconverteroutputstream.c:240,1
    - Dst: g_object_new
      Src: /src/glib/gio/gconverteroutputstream.c:242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 248
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 248
    functionName: g_converter_output_stream_new
    functionSourceFile: /src/glib/gio/gconverteroutputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_object_new
    - G_IS_OUTPUT_STREAM
    linkageType: ''
    returnType: GOutputStream*
    signature: 'GOutputStream *g_converter_output_stream_new (GOutputStream *base_stream,
      GConverter *converter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gdbusdaemon.c:159,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusdaemon.c:164,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusdaemon.c:162,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 167
    functionName: name_new
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_new0
    - g_strdup
    - g_hash_table_insert
    linkageType: ''
    returnType: Name*
    signature: 'static Name *name_new (GDBusDaemon *daemon, const char *str) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_get_values
      Src: /src/glib/gio/gdbusdaemon.c:660,1
    - Dst: match_matches
      Src: /src/glib/gio/gdbusdaemon.c:672,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusdaemon.c:683,1
    - Dst: g_dbus_message_copy
      Src: /src/glib/gio/gdbusdaemon.c:678,1
    - Dst: g_dbus_connection_send_message
      Src: /src/glib/gio/gdbusdaemon.c:681,1
    - Dst: g_list_free
      Src: /src/glib/gio/gdbusdaemon.c:688,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 21
    argCount: 5
    argNames:
    - daemon
    - message
    - has_destination
    - preserve_serial
    - not_to
    argTypes:
    - GDBusDaemon*
    - GDBusMessage*
    - gboolean
    - gboolean
    - Client*
    constantsTouched: []
    func_position:
      end: 689
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 689
    functionName: broadcast_message
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - match_matches
    - g_hash_table_get_values
    - g_dbus_connection_send_message
    - g_list_free
    - g_dbus_message_copy
    linkageType: ''
    returnType: void
    signature: "static void broadcast_message (GDBusDaemon *daemon,\t\t GDBusMessage\
      \ *message,\t\t gboolean has_destination,\t\t gboolean preserve_serial,\t\t\
      \ Client *not_to) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: name_ref
      Src: /src/glib/gio/gdbusdaemon.c:796,1
    - Dst: name_unref
      Src: /src/glib/gio/gdbusdaemon.c:809,1
    - Dst: name_replace_owner
      Src: /src/glib/gio/gdbusdaemon.c:807,1
    - Dst: g_list_delete_link
      Src: /src/glib/gio/gdbusdaemon.c:803,1
    - Dst: name_unref
      Src: /src/glib/gio/gdbusdaemon.c:802,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - name
    argTypes:
    - Name*
    constantsTouched: []
    func_position:
      end: 810
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 810
    functionName: name_release_owner
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_list_delete_link
    - name_unref
    - name_replace_owner
    - name_ref
    linkageType: ''
    returnType: void
    signature: 'static void name_release_owner (Name *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gdbusdaemon.c:839,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusdaemon.c:842,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusdaemon.c:841,1
    - Dst: g_object_set_data
      Src: /src/glib/gio/gdbusdaemon.c:852,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusdaemon.c:852,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusdaemon.c:853,1
    - Dst: g_dbus_interface_skeleton_export
      Src: /src/glib/gio/gdbusdaemon.c:855,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusdaemon.c:855,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/gdbusdaemon.c:857,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gdbusdaemon.c:859,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gdbusdaemon.c:859,1
    - Dst: g_dbus_connection_add_filter
      Src: /src/glib/gio/gdbusdaemon.c:860,1
    - Dst: send_name_owner_changed
      Src: /src/glib/gio/gdbusdaemon.c:864,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 867
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 867
    functionName: client_new
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_dbus_connection_add_filter
    - send_name_owner_changed
    - G_OBJECT
    - g_hash_table_insert
    - G_DBUS_INTERFACE_SKELETON
    - g_assert_no_error
    - G_CALLBACK
    - g_dbus_interface_skeleton_export
    - g_object_set_data
    - g_object_ref
    - g_new0
    - g_signal_connect
    linkageType: ''
    returnType: Client*
    signature: 'static Client *client_new (GDBusDaemon *daemon, GDBusConnection *connection) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_get_data
      Src: /src/glib/gio/gdbusdaemon.c:947,1
    - Dst: g_dbus_method_invocation_get_connection
      Src: /src/glib/gio/gdbusdaemon.c:947,1
    - Dst: match_new
      Src: /src/glib/gio/gdbusdaemon.c:950,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/gdbusdaemon.c:953,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusdaemon.c:947,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gdbusdaemon.c:958,1
    - Dst: _g_freedesktop_dbus_complete_add_match
      Src: /src/glib/gio/gdbusdaemon.c:959,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - object
    - invocation
    - arg_rule
    argTypes:
    - _GFreedesktopDBus*
    - GDBusMethodInvocation*
    - gchar*
    constantsTouched: []
    func_position:
      end: 962
      start: 942
    functionDepth: 0
    functionLinenumber: 942
    functionLinenumberEnd: 962
    functionName: handle_add_match
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_dbus_method_invocation_return_error
    - G_OBJECT
    - _g_freedesktop_dbus_complete_add_match
    - match_new
    - g_dbus_method_invocation_get_connection
    - g_list_prepend
    - g_object_get_data
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean handle_add_match (_GFreedesktopDBus *object,\t\t GDBusMethodInvocation\
      \ *invocation,\t\t const gchar *arg_rule) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_DAEMON
      Src: /src/glib/gio/gdbusdaemon.c:1078,1
    - Dst: g_hash_table_get_values_as_ptr_array
      Src: /src/glib/gio/gdbusdaemon.c:1082,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusdaemon.c:1083,1
    - Dst: g_ptr_array_extend_and_steal
      Src: /src/glib/gio/gdbusdaemon.c:1086,1
    - Dst: g_hash_table_get_values_as_ptr_array
      Src: /src/glib/gio/gdbusdaemon.c:1085,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusdaemon.c:1086,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusdaemon.c:1088,1
    - Dst: _g_freedesktop_dbus_complete_list_names
      Src: /src/glib/gio/gdbusdaemon.c:1090,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gdbusdaemon.c:1093,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - object
    - invocation
    argTypes:
    - _GFreedesktopDBus*
    - GDBusMethodInvocation*
    constantsTouched: []
    func_position:
      end: 1095
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1095
    functionName: handle_list_names
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_hash_table_get_values_as_ptr_array
    - G_DBUS_DAEMON
    - g_ptr_array_extend_and_steal
    - _g_freedesktop_dbus_complete_list_names
    - g_ptr_array_free
    - g_ptr_array_add
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean handle_list_names (_GFreedesktopDBus *object,\t\t\
      \ GDBusMethodInvocation *invocation) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusdaemon.c:1669,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gdbusdaemon.c:1685,1
    - Dst: I_
      Src: /src/glib/gio/gdbusdaemon.c:1675,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusdaemon.c:1683,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gdbusdaemon.c:1675,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GDBusDaemonClass*
    constantsTouched: []
    func_position:
      end: 1690
      start: 1664
    functionDepth: 0
    functionLinenumber: 1664
    functionLinenumberEnd: 1690
    functionName: g_dbus_daemon_class_init
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - I_
    - g_object_class_install_property
    - G_OBJECT_CLASS
    - g_signal_new
    - g_param_spec_string
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_daemon_class_init (GDBusDaemonClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gdbusdaemon.c:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 175
    functionName: name_ref
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_assert
    linkageType: ''
    returnType: Name*
    signature: 'static Name *name_ref (Name *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_message_new_signal
      Src: /src/glib/gio/gdbusdaemon.c:699,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusdaemon.c:709,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusdaemon.c:703,1
    - Dst: broadcast_message
      Src: /src/glib/gio/gdbusdaemon.c:708,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/gdbusdaemon.c:702,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - daemon
    - name
    - old_owner
    - new_owner
    argTypes:
    - GDBusDaemon*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 711
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 711
    functionName: send_name_owner_changed
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - broadcast_message
    - g_dbus_message_new_signal
    - g_dbus_message_set_body
    - g_variant_new
    linkageType: ''
    returnType: void
    signature: "static void send_name_owner_changed (GDBusDaemon *daemon,\t\t\t const\
      \ char *name,\t\t\t const char *old_owner,\t\t\t const char *new_owner) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: name_owner_free
      Src: /src/glib/gio/gdbusdaemon.c:824,1
    - Dst: g_list_append
      Src: /src/glib/gio/gdbusdaemon.c:829,1
    - Dst: name_ref
      Src: /src/glib/gio/gdbusdaemon.c:830,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - name
    - owner
    argTypes:
    - Name*
    - NameOwner*
    constantsTouched: []
    func_position:
      end: 831
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 831
    functionName: name_queue_owner
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_list_append
    - name_owner_free
    - name_ref
    linkageType: ''
    returnType: void
    signature: 'static void name_queue_owner (Name *name, NameOwner *owner) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_interface_skeleton_unexport_from_connection
      Src: /src/glib/gio/gdbusdaemon.c:875,1
    - Dst: g_hash_table_get_values
      Src: /src/glib/gio/gdbusdaemon.c:880,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusdaemon.c:875,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusdaemon.c:878,1
    - Dst: name_ref
      Src: /src/glib/gio/gdbusdaemon.c:885,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusdaemon.c:890,1
    - Dst: name_release_owner
      Src: /src/glib/gio/gdbusdaemon.c:891,1
    - Dst: name_unqueue_owner
      Src: /src/glib/gio/gdbusdaemon.c:894,1
    - Dst: name_unref
      Src: /src/glib/gio/gdbusdaemon.c:896,1
    - Dst: g_list_free
      Src: /src/glib/gio/gdbusdaemon.c:898,1
    - Dst: send_name_owner_changed
      Src: /src/glib/gio/gdbusdaemon.c:900,1
    - Dst: match_free
      Src: /src/glib/gio/gdbusdaemon.c:905,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusdaemon.c:908,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusdaemon.c:909,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusdaemon.c:902,1
    - Dst: g_list_free
      Src: /src/glib/gio/gdbusdaemon.c:906,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 1
    argNames:
    - client
    argTypes:
    - Client*
    constantsTouched: []
    func_position:
      end: 910
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 910
    functionName: client_free
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - name_unqueue_owner
    - g_object_unref
    - g_hash_table_remove
    - g_assert
    - name_unref
    - name_release_owner
    - g_free
    - send_name_owner_changed
    - G_DBUS_INTERFACE_SKELETON
    - g_hash_table_get_values
    - g_list_free
    - match_free
    - name_ref
    - g_dbus_interface_skeleton_unexport_from_connection
    linkageType: ''
    returnType: void
    signature: 'static void client_free (Client *client) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/gdbusdaemon.c:969,1
    - Dst: _g_freedesktop_dbus_complete_get_connection_selinux_security_context
      Src: /src/glib/gio/gdbusdaemon.c:972,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - object
    - invocation
    - arg_name
    argTypes:
    - _GFreedesktopDBus*
    - GDBusMethodInvocation*
    - gchar*
    constantsTouched: []
    func_position:
      end: 974
      start: 964
    functionDepth: 0
    functionLinenumber: 964
    functionLinenumberEnd: 974
    functionName: handle_get_connection_selinux_security_context
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - _g_freedesktop_dbus_complete_get_connection_selinux_security_context
    - g_dbus_method_invocation_return_error
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean handle_get_connection_selinux_security_context (_GFreedesktopDBus\
      \ *object,\t\t\t\t\t\tGDBusMethodInvocation *invocation,\t\t\t\t\t\tconst gchar\
      \ *arg_name) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_DAEMON
      Src: /src/glib/gio/gdbusdaemon.c:1102,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusdaemon.c:1120,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gdbusdaemon.c:1107,1
    - Dst: name_lookup
      Src: /src/glib/gio/gdbusdaemon.c:1109,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusdaemon.c:1116,1
    - Dst: _g_freedesktop_dbus_complete_list_queued_owners
      Src: /src/glib/gio/gdbusdaemon.c:1122,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gdbusdaemon.c:1125,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 3
    argNames:
    - object
    - invocation
    - arg_name
    argTypes:
    - _GFreedesktopDBus*
    - GDBusMethodInvocation*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1127
      start: 1097
    functionDepth: 0
    functionLinenumber: 1097
    functionLinenumberEnd: 1127
    functionName: handle_list_queued_owners
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - _g_freedesktop_dbus_complete_list_queued_owners
    - G_DBUS_DAEMON
    - name_lookup
    - g_ptr_array_free
    - g_ptr_array_new
    - g_ptr_array_add
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean handle_list_queued_owners (_GFreedesktopDBus *object,\t\
      \t\t GDBusMethodInvocation *invocation,\t\t\t const gchar *arg_name) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - iface
    argTypes:
    - _GFreedesktopDBusIface*
    constantsTouched: []
    func_position:
      end: 1712
      start: 1692
    functionDepth: 0
    functionLinenumber: 1692
    functionLinenumberEnd: 1712
    functionName: g_dbus_daemon_iface_init
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_daemon_iface_init (_GFreedesktopDBusIface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_server_get_client_address
      Src: /src/glib/gio/gdbusdaemon.c:1735,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1736
      start: 1732
    functionDepth: 0
    functionLinenumber: 1732
    functionLinenumberEnd: 1736
    functionName: _g_dbus_daemon_get_address
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_dbus_server_get_client_address
    linkageType: ''
    returnType: char*
    signature: 'const char *_g_dbus_daemon_get_address (GDBusDaemon *daemon) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gdbusdaemon.c:190,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusdaemon.c:195,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusdaemon.c:194,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusdaemon.c:193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - Name*
    constantsTouched: []
    func_position:
      end: 198
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 198
    functionName: name_unref
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_free
    - g_hash_table_remove
    linkageType: ''
    returnType: void
    signature: 'static void name_unref (Name *name) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_isspace
      Src: /src/glib/gio/gdbusdaemon.c:393,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusdaemon.c:425,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusdaemon.c:438,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusdaemon.c:434,1
    - Dst: g_ascii_isspace
      Src: /src/glib/gio/gdbusdaemon.c:387,1
    - Dst: memset
      Src: /src/glib/gio/gdbusdaemon.c:384,1
    - Dst: parse_key
      Src: /src/glib/gio/gdbusdaemon.c:410,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusdaemon.c:419,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusdaemon.c:421,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusdaemon.c:445,1
    - Dst: g_array_free
      Src: /src/glib/gio/gdbusdaemon.c:453,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusdaemon.c:461,1
    - Dst: parse_value
      Src: /src/glib/gio/gdbusdaemon.c:413,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusdaemon.c:432,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusdaemon.c:436,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusdaemon.c:428,1
    - Dst: g_array_index
      Src: /src/glib/gio/gdbusdaemon.c:461,1
    - Dst: g_array_free
      Src: /src/glib/gio/gdbusdaemon.c:462,1
    - Dst: g_array_new
      Src: /src/glib/gio/gdbusdaemon.c:378,1
    - Dst: g_ascii_isspace
      Src: /src/glib/gio/gdbusdaemon.c:399,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusdaemon.c:451,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusdaemon.c:442,1
    - Dst: g_array_append_val
      Src: /src/glib/gio/gdbusdaemon.c:448,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 464
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 464
    functionName: match_new
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_ascii_isspace
    - g_array_free
    - parse_key
    - g_array_append_val
    - strcmp
    - g_free
    - g_array_index
    - parse_value
    - g_array_new
    - g_new0
    - memset
    linkageType: ''
    returnType: Match*
    signature: 'static Match *match_new (const char *str) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/gdbusdaemon.c:491,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Match*
    - Match*
    constantsTouched: []
    func_position:
      end: 495
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 495
    functionName: match_equal
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean match_equal (Match *a, Match *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_DAEMON
      Src: /src/glib/gio/gdbusdaemon.c:1134,1
    - Dst: _g_freedesktop_dbus_complete_name_has_owner
      Src: /src/glib/gio/gdbusdaemon.c:1141,1
    - Dst: name_lookup
      Src: /src/glib/gio/gdbusdaemon.c:1138,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusdaemon.c:1139,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - object
    - invocation
    - arg_name
    argTypes:
    - _GFreedesktopDBus*
    - GDBusMethodInvocation*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1144
      start: 1129
    functionDepth: 0
    functionLinenumber: 1129
    functionLinenumberEnd: 1144
    functionName: handle_name_has_owner
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - _g_freedesktop_dbus_complete_name_has_owner
    - g_hash_table_lookup
    - name_lookup
    - G_DBUS_DAEMON
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean handle_name_has_owner (_GFreedesktopDBus *object,\t\
      \t GDBusMethodInvocation *invocation,\t\t const gchar *arg_name) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_object_get_data
      Src: /src/glib/gio/gdbusdaemon.c:1222,1
    - Dst: match_new
      Src: /src/glib/gio/gdbusdaemon.c:1226,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusdaemon.c:1222,1
    - Dst: g_dbus_method_invocation_get_connection
      Src: /src/glib/gio/gdbusdaemon.c:1222,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/gdbusdaemon.c:1229,1
    - Dst: match_equal
      Src: /src/glib/gio/gdbusdaemon.c:1237,1
    - Dst: match_free
      Src: /src/glib/gio/gdbusdaemon.c:1239,1
    - Dst: g_list_delete_link
      Src: /src/glib/gio/gdbusdaemon.c:1240,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/gdbusdaemon.c:1246,1
    - Dst: _g_freedesktop_dbus_complete_remove_match
      Src: /src/glib/gio/gdbusdaemon.c:1250,1
    - Dst: match_free
      Src: /src/glib/gio/gdbusdaemon.c:1253,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 3
    argNames:
    - object
    - invocation
    - arg_rule
    argTypes:
    - _GFreedesktopDBus*
    - GDBusMethodInvocation*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1256
      start: 1217
    functionDepth: 0
    functionLinenumber: 1217
    functionLinenumberEnd: 1256
    functionName: handle_remove_match
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_list_delete_link
    - g_dbus_method_invocation_return_error
    - G_OBJECT
    - match_free
    - match_new
    - g_dbus_method_invocation_get_connection
    - match_equal
    - _g_freedesktop_dbus_complete_remove_match
    - g_object_get_data
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean handle_remove_match (_GFreedesktopDBus *object,\t\t\
      \ GDBusMethodInvocation *invocation,\t\t const gchar *arg_rule) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_DAEMON
      Src: /src/glib/gio/gdbusdaemon.c:1346,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/gdbusdaemon.c:1354,1
    - Dst: name_lookup
      Src: /src/glib/gio/gdbusdaemon.c:1349,1
    - Dst: _g_freedesktop_dbus_complete_start_service_by_name
      Src: /src/glib/gio/gdbusdaemon.c:1351,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 4
    argNames:
    - object
    - invocation
    - arg_name
    - arg_flags
    argTypes:
    - _GFreedesktopDBus*
    - GDBusMethodInvocation*
    - gchar*
    - guint
    constantsTouched: []
    func_position:
      end: 1359
      start: 1340
    functionDepth: 0
    functionLinenumber: 1340
    functionLinenumberEnd: 1359
    functionName: handle_start_service_by_name
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - _g_freedesktop_dbus_complete_start_service_by_name
    - name_lookup
    - g_dbus_method_invocation_return_error
    - G_DBUS_DAEMON
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean handle_start_service_by_name (_GFreedesktopDBus *object,\t\
      \t\t GDBusMethodInvocation *invocation,\t\t\t const gchar *arg_name,\t\t\t guint\
      \ arg_flags) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/gio/gdbusdaemon.c:1375,1
    - Dst: g_dbus_error_encode_gerror
      Src: /src/glib/gio/gdbusdaemon.c:1380,1
    - Dst: g_error_new_literal
      Src: /src/glib/gio/gdbusdaemon.c:1379,1
    - Dst: va_end
      Src: /src/glib/gio/gdbusdaemon.c:1377,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/gio/gdbusdaemon.c:1376,1
    - Dst: g_dbus_message_new_method_error_literal
      Src: /src/glib/gio/gdbusdaemon.c:1382,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusdaemon.c:1386,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusdaemon.c:1387,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusdaemon.c:1388,1
    - Dst: g_dbus_connection_send_message
      Src: /src/glib/gio/gdbusdaemon.c:1390,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusdaemon.c:1392,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusdaemon.c:1391,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 5
    argNames:
    - client
    - message
    - domain
    - code
    - format
    - '...'
    argTypes:
    - Client*
    - GDBusMessage*
    - GQuark
    - gint
    - gchar*
    constantsTouched: []
    func_position:
      end: 1393
      start: 1362
    functionDepth: 0
    functionLinenumber: 1362
    functionLinenumberEnd: 1393
    functionName: return_error
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_strdup_vprintf
    - g_error_new_literal
    - g_warning
    - g_object_unref
    - g_dbus_error_encode_gerror
    - g_dbus_message_new_method_error_literal
    - g_dbus_connection_send_message
    - g_error_free
    - va_end
    - g_free
    - va_start
    linkageType: ''
    returnType: void
    signature: "static void return_error (Client *client, GDBusMessage *message,\t\
      \ GQuark domain,\t gint code,\t const gchar *format,\t ...) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdbusdaemon.c:1578,1
    - Dst: g_dbus_generate_guid
      Src: /src/glib/gio/gdbusdaemon.c:1580,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdbusdaemon.c:1579,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - daemon
    argTypes:
    - GDBusDaemon*
    constantsTouched: []
    func_position:
      end: 1581
      start: 1574
    functionDepth: 0
    functionLinenumber: 1574
    functionLinenumberEnd: 1581
    functionName: g_dbus_daemon_init
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_dbus_generate_guid
    - g_hash_table_new_full
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_daemon_init (GDBusDaemon *daemon) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusdaemon.c:205,1
    - Dst: name_ref
      Src: /src/glib/gio/gdbusdaemon.c:208,1
    - Dst: name_new
      Src: /src/glib/gio/gdbusdaemon.c:209,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 210
    functionName: name_ensure
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - name_new
    - g_hash_table_lookup
    - name_ref
    linkageType: ''
    returnType: Name*
    signature: 'static Name *name_ensure (GDBusDaemon *daemon, const char *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gdbusdaemon.c:471,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusdaemon.c:472,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusdaemon.c:473,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - match
    argTypes:
    - Match*
    constantsTouched: []
    func_position:
      end: 474
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 474
    functionName: match_free
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void match_free (Match *match) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_message_get_body
      Src: /src/glib/gio/gdbusdaemon.c:505,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusdaemon.c:511,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusdaemon.c:512,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusdaemon.c:507,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/gio/gdbusdaemon.c:510,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/gdbusdaemon.c:513,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusdaemon.c:514,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 518
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 518
    functionName: message_get_argN
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_variant_is_of_type
    - g_variant_get_string
    - g_variant_unref
    - g_dbus_message_get_body
    - g_variant_get_child_value
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *message_get_argN (GDBusMessage *message, int n,
      gboolean allow_path) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_message_get_message_type
      Src: /src/glib/gio/gdbusdaemon.c:544,1
    - Dst: g_dbus_message_get_destination
      Src: /src/glib/gio/gdbusdaemon.c:561,1
    - Dst: g_dbus_message_get_path
      Src: /src/glib/gio/gdbusdaemon.c:570,1
    - Dst: message_get_argN
      Src: /src/glib/gio/gdbusdaemon.c:581,1
    - Dst: message_get_argN
      Src: /src/glib/gio/gdbusdaemon.c:585,1
    - Dst: strlen
      Src: /src/glib/gio/gdbusdaemon.c:629,1
    - Dst: strlen
      Src: /src/glib/gio/gdbusdaemon.c:613,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusdaemon.c:599,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gdbusdaemon.c:633,1
    - Dst: g_dbus_message_get_sender
      Src: /src/glib/gio/gdbusdaemon.c:555,1
    - Dst: g_dbus_message_get_member
      Src: /src/glib/gio/gdbusdaemon.c:567,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gdbusdaemon.c:638,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gdbusdaemon.c:643,1
    - Dst: g_dbus_message_get_interface
      Src: /src/glib/gio/gdbusdaemon.c:564,1
    - Dst: g_dbus_message_get_path
      Src: /src/glib/gio/gdbusdaemon.c:574,1
    - Dst: message_get_argN
      Src: /src/glib/gio/gdbusdaemon.c:578,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusdaemon.c:606,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gdbusdaemon.c:621,1
    - Dst: strlen
      Src: /src/glib/gio/gdbusdaemon.c:628,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gdbusdaemon.c:590,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gdbusdaemon.c:632,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusdaemon.c:609,1
    - Dst: name_lookup
      Src: /src/glib/gio/gdbusdaemon.c:603,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusdaemon.c:631,1
    - Dst: strlen
      Src: /src/glib/gio/gdbusdaemon.c:637,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 91
    argCount: 4
    argNames:
    - daemon
    - match
    - message
    - has_destination
    argTypes:
    - GDBusDaemon*
    - Match*
    - GDBusMessage*
    - gboolean
    constantsTouched: []
    func_position:
      end: 648
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 648
    functionName: match_matches
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_dbus_message_get_path
    - strlen
    - g_dbus_message_get_message_type
    - strcmp
    - g_assert_not_reached
    - message_get_argN
    - g_str_has_prefix
    - g_dbus_message_get_member
    - g_dbus_message_get_sender
    - name_lookup
    - g_dbus_message_get_interface
    - g_dbus_message_get_destination
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean match_matches (GDBusDaemon *daemon,\t Match *match,\
      \ GDBusMessage *message,\t gboolean has_destination) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_object_get_data
      Src: /src/glib/gio/gdbusdaemon.c:1151,1
    - Dst: g_dbus_method_invocation_get_connection
      Src: /src/glib/gio/gdbusdaemon.c:1151,1
    - Dst: G_DBUS_DAEMON
      Src: /src/glib/gio/gdbusdaemon.c:1152,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusdaemon.c:1151,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbusdaemon.c:1156,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/gdbusdaemon.c:1158,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/gdbusdaemon.c:1166,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusdaemon.c:1172,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/gdbusdaemon.c:1174,1
    - Dst: name_lookup
      Src: /src/glib/gio/gdbusdaemon.c:1180,1
    - Dst: _g_freedesktop_dbus_complete_release_name
      Src: /src/glib/gio/gdbusdaemon.c:1194,1
    - Dst: name_release_owner
      Src: /src/glib/gio/gdbusdaemon.c:1186,1
    - Dst: name_unqueue_owner
      Src: /src/glib/gio/gdbusdaemon.c:1189,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 3
    argNames:
    - object
    - invocation
    - arg_name
    argTypes:
    - _GFreedesktopDBus*
    - GDBusMethodInvocation*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1196
      start: 1146
    functionDepth: 0
    functionLinenumber: 1146
    functionLinenumberEnd: 1196
    functionName: handle_release_name
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - name_unqueue_owner
    - G_DBUS_DAEMON
    - name_release_owner
    - strcmp
    - _g_freedesktop_dbus_complete_release_name
    - G_OBJECT
    - g_dbus_method_invocation_return_error
    - name_lookup
    - g_dbus_method_invocation_get_connection
    - g_object_get_data
    - g_dbus_is_name
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean handle_release_name (_GFreedesktopDBus *object,\t\t\
      \ GDBusMethodInvocation *invocation,\t\t const gchar *arg_name) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_DAEMON
      Src: /src/glib/gio/gdbusdaemon.c:1265,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/gdbusdaemon.c:1272,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/gdbusdaemon.c:1280,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/gdbusdaemon.c:1288,1
    - Dst: name_ensure
      Src: /src/glib/gio/gdbusdaemon.c:1294,1
    - Dst: name_replace_owner
      Src: /src/glib/gio/gdbusdaemon.c:1329,1
    - Dst: name_queue_owner
      Src: /src/glib/gio/gdbusdaemon.c:1321,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusdaemon.c:1264,1
    - Dst: name_owner_new
      Src: /src/glib/gio/gdbusdaemon.c:1320,1
    - Dst: _g_freedesktop_dbus_complete_request_name
      Src: /src/glib/gio/gdbusdaemon.c:1336,1
    - Dst: name_unref
      Src: /src/glib/gio/gdbusdaemon.c:1334,1
    - Dst: name_owner_new
      Src: /src/glib/gio/gdbusdaemon.c:1328,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbusdaemon.c:1270,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusdaemon.c:1286,1
    - Dst: name_replace_owner
      Src: /src/glib/gio/gdbusdaemon.c:1298,1
    - Dst: name_unqueue_owner
      Src: /src/glib/gio/gdbusdaemon.c:1312,1
    - Dst: g_object_get_data
      Src: /src/glib/gio/gdbusdaemon.c:1264,1
    - Dst: g_dbus_method_invocation_get_connection
      Src: /src/glib/gio/gdbusdaemon.c:1264,1
    - Dst: name_owner_new
      Src: /src/glib/gio/gdbusdaemon.c:1297,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 59
    argCount: 4
    argNames:
    - object
    - invocation
    - arg_name
    - flags
    argTypes:
    - _GFreedesktopDBus*
    - GDBusMethodInvocation*
    - gchar*
    - guint
    constantsTouched: []
    func_position:
      end: 1338
      start: 1258
    functionDepth: 0
    functionLinenumber: 1258
    functionLinenumberEnd: 1338
    functionName: handle_request_name
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - name_owner_new
    - name_unqueue_owner
    - name_queue_owner
    - G_DBUS_DAEMON
    - name_unref
    - _g_freedesktop_dbus_complete_request_name
    - strcmp
    - G_OBJECT
    - g_dbus_method_invocation_return_error
    - name_replace_owner
    - g_dbus_method_invocation_get_connection
    - g_object_get_data
    - g_dbus_is_name
    - name_ensure
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean handle_request_name (_GFreedesktopDBus *object,\t\t\
      \ GDBusMethodInvocation *invocation,\t\t const gchar *arg_name,\t\t guint flags) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_message_get_destination
      Src: /src/glib/gio/gdbusdaemon.c:1405,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusdaemon.c:1408,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusdaemon.c:1406,1
    - Dst: name_lookup
      Src: /src/glib/gio/gdbusdaemon.c:1413,1
    - Dst: g_dbus_message_get_message_type
      Src: /src/glib/gio/gdbusdaemon.c:1420,1
    - Dst: return_error
      Src: /src/glib/gio/gdbusdaemon.c:1421,1
    - Dst: g_dbus_connection_send_message
      Src: /src/glib/gio/gdbusdaemon.c:1429,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusdaemon.c:1431,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusdaemon.c:1432,1
    - Dst: broadcast_message
      Src: /src/glib/gio/gdbusdaemon.c:1437,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusdaemon.c:1442,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusdaemon.c:1440,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1447
      start: 1395
    functionDepth: 0
    functionLinenumber: 1395
    functionLinenumberEnd: 1447
    functionName: route_message
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_warning
    - g_object_unref
    - broadcast_message
    - g_dbus_message_get_message_type
    - strcmp
    - g_hash_table_lookup
    - return_error
    - g_dbus_connection_send_message
    - g_error_free
    - name_lookup
    - g_dbus_message_get_destination
    linkageType: ''
    returnType: GDBusMessage*
    signature: 'static GDBusMessage *route_message (Client *source_client, GDBusMessage
      *message) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_DAEMON
      Src: /src/glib/gio/gdbusdaemon.c:1588,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusdaemon.c:1601,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusdaemon.c:1596,1
    - Dst: g_dbus_server_new_sync
      Src: /src/glib/gio/gdbusdaemon.c:1606,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/gio/gdbusdaemon.c:1595,1
    - Dst: g_dbus_server_start
      Src: /src/glib/gio/gdbusdaemon.c:1616,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gdbusdaemon.c:1618,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gdbusdaemon.c:1619,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - initable
    - cancellable
    - error
    argTypes:
    - GInitable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1623
      start: 1583
    functionDepth: 0
    functionLinenumber: 1583
    functionLinenumberEnd: 1623
    functionName: initable_init
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_strdup
    - G_DBUS_DAEMON
    - g_dbus_server_new_sync
    - G_CALLBACK
    - g_dbus_server_start
    - g_dir_make_tmp
    - g_signal_connect
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean initable_init (GInitable *initable,\t GCancellable\
      \ *cancellable,\t GError **error) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_DAEMON
      Src: /src/glib/gio/gdbusdaemon.c:1651,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gdbusdaemon.c:1660,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusdaemon.c:1656,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1662
      start: 1645
    functionDepth: 0
    functionLinenumber: 1645
    functionLinenumberEnd: 1662
    functionName: g_dbus_daemon_get_property
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_value_set_string
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_DBUS_DAEMON
    linkageType: ''
    returnType: void
    signature: "static void g_dbus_daemon_get_property (GObject *object,\t\t\t guint\
      \ prop_id,\t\t\t GValue *value,\t\t\t GParamSpec *pspec) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gdbusdaemon.c:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 146
    functionName: name_owner_new
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_new0
    linkageType: ''
    returnType: NameOwner*
    signature: 'static NameOwner *name_owner_new (Client *client, guint32 flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_list_delete_link
      Src: /src/glib/gio/gdbusdaemon.c:724,1
    - Dst: name_owner_free
      Src: /src/glib/gio/gdbusdaemon.c:726,1
    - Dst: name_unref
      Src: /src/glib/gio/gdbusdaemon.c:725,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - name
    - client
    argTypes:
    - Name*
    - Client*
    constantsTouched: []
    func_position:
      end: 732
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 732
    functionName: name_unqueue_owner
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_list_delete_link
    - name_unref
    - name_owner_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean name_unqueue_owner (Name *name, Client *client) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/gdbusdaemon.c:981,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - object
    - invocation
    - arg_name
    argTypes:
    - _GFreedesktopDBus*
    - GDBusMethodInvocation*
    - gchar*
    constantsTouched: []
    func_position:
      end: 985
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 985
    functionName: handle_get_connection_unix_process_id
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_dbus_method_invocation_return_error
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean handle_get_connection_unix_process_id (_GFreedesktopDBus\
      \ *object,\t\t\t\t GDBusMethodInvocation *invocation,\t\t\t\t const gchar *arg_name) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_DAEMON
      Src: /src/glib/gio/gdbusdaemon.c:1002,1
    - Dst: _g_freedesktop_dbus_complete_get_id
      Src: /src/glib/gio/gdbusdaemon.c:1003,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - object
    - invocation
    argTypes:
    - _GFreedesktopDBus*
    - GDBusMethodInvocation*
    constantsTouched: []
    func_position:
      end: 1006
      start: 998
    functionDepth: 0
    functionLinenumber: 998
    functionLinenumberEnd: 1006
    functionName: handle_get_id
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - _g_freedesktop_dbus_complete_get_id
    - G_DBUS_DAEMON
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean handle_get_id (_GFreedesktopDBus *object,\t GDBusMethodInvocation\
      \ *invocation) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_freedesktop_dbus_complete_reload_config
      Src: /src/glib/gio/gdbusdaemon.c:1202,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - object
    - invocation
    argTypes:
    - _GFreedesktopDBus*
    - GDBusMethodInvocation*
    constantsTouched: []
    func_position:
      end: 1204
      start: 1198
    functionDepth: 0
    functionLinenumber: 1198
    functionLinenumberEnd: 1204
    functionName: handle_reload_config
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - _g_freedesktop_dbus_complete_reload_config
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean handle_reload_config (_GFreedesktopDBus *object,\t\
      \t GDBusMethodInvocation *invocation) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_set_exit_on_close
      Src: /src/glib/gio/gdbusdaemon.c:1527,1
    - Dst: client_new
      Src: /src/glib/gio/gdbusdaemon.c:1535,1
    - Dst: g_source_remove
      Src: /src/glib/gio/gdbusdaemon.c:1531,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - server
    - connection
    - user_data
    argTypes:
    - GDBusServer*
    - GDBusConnection*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1538
      start: 1520
    functionDepth: 0
    functionLinenumber: 1520
    functionLinenumberEnd: 1538
    functionName: on_new_connection
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - client_new
    - g_source_remove
    - g_dbus_connection_set_exit_on_close
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean on_new_connection (GDBusServer *server,\t\t GDBusConnection\
      \ *connection,\t\t gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gdbusdaemon.c:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - owner
    argTypes:
    - NameOwner*
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: name_owner_free
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void name_owner_free (NameOwner *owner) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: name_ref
      Src: /src/glib/gio/gdbusdaemon.c:745,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusdaemon.c:752,1
    - Dst: g_dbus_connection_emit_signal
      Src: /src/glib/gio/gdbusdaemon.c:754,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusdaemon.c:757,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusdaemon.c:760,1
    - Dst: name_unref
      Src: /src/glib/gio/gdbusdaemon.c:763,1
    - Dst: name_owner_free
      Src: /src/glib/gio/gdbusdaemon.c:764,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gdbusdaemon.c:767,1
    - Dst: name_unqueue_owner
      Src: /src/glib/gio/gdbusdaemon.c:773,1
    - Dst: name_ref
      Src: /src/glib/gio/gdbusdaemon.c:774,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusdaemon.c:786,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusdaemon.c:780,1
    - Dst: name_unref
      Src: /src/glib/gio/gdbusdaemon.c:788,1
    - Dst: g_dbus_connection_emit_signal
      Src: /src/glib/gio/gdbusdaemon.c:777,1
    - Dst: send_name_owner_changed
      Src: /src/glib/gio/gdbusdaemon.c:784,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 2
    argNames:
    - name
    - owner
    argTypes:
    - Name*
    - NameOwner*
    constantsTouched: []
    func_position:
      end: 789
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 789
    functionName: name_replace_owner
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_strdup
    - name_unqueue_owner
    - g_assert
    - name_unref
    - g_list_prepend
    - name_owner_free
    - send_name_owner_changed
    - g_variant_new
    - name_ref
    - g_dbus_connection_emit_signal
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void name_replace_owner (Name *name, NameOwner *owner) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/gdbusdaemon.c:992,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - object
    - invocation
    - arg_name
    argTypes:
    - _GFreedesktopDBus*
    - GDBusMethodInvocation*
    - gchar*
    constantsTouched: []
    func_position:
      end: 996
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 996
    functionName: handle_get_connection_unix_user
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_dbus_method_invocation_return_error
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean handle_get_connection_unix_user (_GFreedesktopDBus\
      \ *object,\t\t\t\t GDBusMethodInvocation *invocation,\t\t\t\t const gchar *arg_name) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_DAEMON
      Src: /src/glib/gio/gdbusdaemon.c:1013,1
    - Dst: _g_freedesktop_dbus_complete_get_name_owner
      Src: /src/glib/gio/gdbusdaemon.c:1018,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/gdbusdaemon.c:1025,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusdaemon.c:1024,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusdaemon.c:1016,1
    - Dst: _g_freedesktop_dbus_complete_get_name_owner
      Src: /src/glib/gio/gdbusdaemon.c:1029,1
    - Dst: name_lookup
      Src: /src/glib/gio/gdbusdaemon.c:1033,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/gdbusdaemon.c:1036,1
    - Dst: _g_freedesktop_dbus_complete_get_name_owner
      Src: /src/glib/gio/gdbusdaemon.c:1042,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 3
    argNames:
    - object
    - invocation
    - arg_name
    argTypes:
    - _GFreedesktopDBus*
    - GDBusMethodInvocation*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1044
      start: 1008
    functionDepth: 0
    functionLinenumber: 1008
    functionLinenumberEnd: 1044
    functionName: handle_get_name_owner
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - _g_freedesktop_dbus_complete_get_name_owner
    - G_DBUS_DAEMON
    - strcmp
    - g_hash_table_lookup
    - g_dbus_method_invocation_return_error
    - name_lookup
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean handle_get_name_owner (_GFreedesktopDBus *object,\t\
      \t GDBusMethodInvocation *invocation,\t\t const gchar *arg_name) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/gdbusdaemon.c:1211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - object
    - invocation
    - arg_environment
    argTypes:
    - _GFreedesktopDBus*
    - GDBusMethodInvocation*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 1215
      start: 1206
    functionDepth: 0
    functionLinenumber: 1206
    functionLinenumberEnd: 1215
    functionName: handle_update_activation_environment
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_dbus_method_invocation_return_error
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean handle_update_activation_environment (_GFreedesktopDBus\
      \ *object,\t\t\t\t GDBusMethodInvocation *invocation,\t\t\t\t GVariant *arg_environment) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_DAEMON
      Src: /src/glib/gio/gdbusdaemon.c:1543,1
    - Dst: g_source_remove
      Src: /src/glib/gio/gdbusdaemon.c:1547,1
    - Dst: g_hash_table_get_values
      Src: /src/glib/gio/gdbusdaemon.c:1549,1
    - Dst: client_free
      Src: /src/glib/gio/gdbusdaemon.c:1551,1
    - Dst: g_list_free
      Src: /src/glib/gio/gdbusdaemon.c:1552,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusdaemon.c:1554,1
    - Dst: g_hash_table_size
      Src: /src/glib/gio/gdbusdaemon.c:1554,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusdaemon.c:1555,1
    - Dst: g_hash_table_size
      Src: /src/glib/gio/gdbusdaemon.c:1555,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/gio/gdbusdaemon.c:1557,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusdaemon.c:1565,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusdaemon.c:1568,1
    - Dst: g_hash_table_destroy
      Src: /src/glib/gio/gdbusdaemon.c:1558,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusdaemon.c:1571,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusdaemon.c:1569,1
    - Dst: g_rmdir
      Src: /src/glib/gio/gdbusdaemon.c:1564,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusdaemon.c:1560,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 1572
      start: 1540
    functionDepth: 0
    functionLinenumber: 1540
    functionLinenumberEnd: 1572
    functionName: g_dbus_daemon_finalize
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - G_DBUS_DAEMON
    - g_assert
    - G_OBJECT_CLASS
    - g_hash_table_get_values
    - g_list_free
    - client_free
    - g_hash_table_size
    - g_source_remove
    - g_rmdir
    - g_free
    - g_hash_table_destroy
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_daemon_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusdaemon.c:215,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: name_lookup
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_hash_table_lookup
    linkageType: ''
    returnType: Name*
    signature: 'static Name *name_lookup (GDBusDaemon *daemon, const char *str) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: is_key
      Src: /src/glib/gio/gdbusdaemon.c:235,1
    - Dst: is_key
      Src: /src/glib/gio/gdbusdaemon.c:247,1
    - Dst: is_key
      Src: /src/glib/gio/gdbusdaemon.c:243,1
    - Dst: is_key
      Src: /src/glib/gio/gdbusdaemon.c:251,1
    - Dst: is_key
      Src: /src/glib/gio/gdbusdaemon.c:239,1
    - Dst: is_key
      Src: /src/glib/gio/gdbusdaemon.c:255,1
    - Dst: is_key
      Src: /src/glib/gio/gdbusdaemon.c:259,1
    - Dst: is_key
      Src: /src/glib/gio/gdbusdaemon.c:263,1
    - Dst: is_key
      Src: /src/glib/gio/gdbusdaemon.c:267,1
    - Dst: is_key
      Src: /src/glib/gio/gdbusdaemon.c:271,1
    - Dst: is_key
      Src: /src/glib/gio/gdbusdaemon.c:284,1
    - Dst: atoi
      Src: /src/glib/gio/gdbusdaemon.c:287,1
    - Dst: atoi
      Src: /src/glib/gio/gdbusdaemon.c:282,1
    - Dst: g_ascii_isdigit
      Src: /src/glib/gio/gdbusdaemon.c:276,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 50
    argCount: 3
    argNames:
    - element
    - key_start
    - key_end
    argTypes:
    - MatchElement*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 296
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 296
    functionName: parse_key
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - atoi
    - g_ascii_isdigit
    - is_key
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean parse_key (MatchElement *element, const char *key_start,
      const char *key_end) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_emit
      Src: /src/glib/gio/gdbusdaemon.c:919,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 924
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 924
    functionName: idle_timeout_cb
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_signal_emit
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean idle_timeout_cb (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_get_data
      Src: /src/glib/gio/gdbusdaemon.c:1050,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusdaemon.c:1050,1
    - Dst: _g_freedesktop_dbus_complete_hello
      Src: /src/glib/gio/gdbusdaemon.c:1051,1
    - Dst: g_dbus_method_invocation_get_connection
      Src: /src/glib/gio/gdbusdaemon.c:1050,1
    - Dst: g_dbus_connection_emit_signal
      Src: /src/glib/gio/gdbusdaemon.c:1053,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusdaemon.c:1056,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - object
    - invocation
    argTypes:
    - _GFreedesktopDBus*
    - GDBusMethodInvocation*
    constantsTouched: []
    func_position:
      end: 1060
      start: 1046
    functionDepth: 0
    functionLinenumber: 1046
    functionLinenumberEnd: 1060
    functionName: handle_hello
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_emit_signal
    - G_OBJECT
    - _g_freedesktop_dbus_complete_hello
    - g_variant_new
    - g_dbus_method_invocation_get_connection
    - g_object_get_data
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean handle_hello (_GFreedesktopDBus *object,\t GDBusMethodInvocation\
      \ *invocation) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_message_get_locked
      Src: /src/glib/gio/gdbusdaemon.c:1452,1
    - Dst: g_dbus_message_copy
      Src: /src/glib/gio/gdbusdaemon.c:1454,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusdaemon.c:1455,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1459
      start: 1449
    functionDepth: 0
    functionLinenumber: 1449
    functionLinenumberEnd: 1459
    functionName: copy_if_locked
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_dbus_message_get_locked
    - g_object_unref
    - g_dbus_message_copy
    linkageType: ''
    returnType: GDBusMessage*
    signature: 'static GDBusMessage *copy_if_locked (GDBusMessage *message) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - initable_iface
    argTypes:
    - GInitableIface*
    constantsTouched: []
    func_position:
      end: 1718
      start: 1714
    functionDepth: 0
    functionLinenumber: 1714
    functionLinenumberEnd: 1718
    functionName: initable_iface_init
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void initable_iface_init (GInitableIface *initable_iface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/gio/gdbusdaemon.c:221,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusdaemon.c:223,1
    - Dst: strncmp
      Src: /src/glib/gio/gdbusdaemon.c:227,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - key_start
    - key_end
    - value
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 228
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 228
    functionName: is_key
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_assert
    - strncmp
    - strlen
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_key (const char *key_start, const char *key_end,
      const char *value) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/gio/gdbusdaemon.c:304,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdbusdaemon.c:327,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdbusdaemon.c:337,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdbusdaemon.c:345,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdbusdaemon.c:335,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdbusdaemon.c:352,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbusdaemon.c:355,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbusdaemon.c:359,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 361
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 361
    functionName: parse_value
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_string_append_c
    - g_string_free
    - g_string_new
    linkageType: ''
    returnType: char*
    signature: 'static const char *parse_value (MatchElement *element, const char
      *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: client_free
      Src: /src/glib/gio/gdbusdaemon.c:934,1
    - Dst: g_timeout_add
      Src: /src/glib/gio/gdbusdaemon.c:937,1
    - Dst: g_hash_table_size
      Src: /src/glib/gio/gdbusdaemon.c:936,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - connection
    - remote_peer_vanished
    - error
    - client
    argTypes:
    - GDBusConnection*
    - gboolean
    - GError*
    - Client*
    constantsTouched: []
    func_position:
      end: 940
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 940
    functionName: connection_closed
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_timeout_add
    - client_free
    - g_hash_table_size
    linkageType: ''
    returnType: void
    signature: "static void connection_closed (GDBusConnection *connection,\t\t gboolean\
      \ remote_peer_vanished,\t\t GError *error,\t\t Client *client) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_freedesktop_dbus_complete_list_activatable_names
      Src: /src/glib/gio/gdbusdaemon.c:1068,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - object
    - invocation
    argTypes:
    - _GFreedesktopDBus*
    - GDBusMethodInvocation*
    constantsTouched: []
    func_position:
      end: 1072
      start: 1062
    functionDepth: 0
    functionLinenumber: 1062
    functionLinenumberEnd: 1072
    functionName: handle_list_activatable_names
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - _g_freedesktop_dbus_complete_list_activatable_names
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean handle_list_activatable_names (_GFreedesktopDBus *object,\t\
      \t\t GDBusMethodInvocation *invocation) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_message_get_message_type
      Src: /src/glib/gio/gdbusdaemon.c:1475,1
    - Dst: copy_if_locked
      Src: /src/glib/gio/gdbusdaemon.c:1488,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusdaemon.c:1491,1
    - Dst: g_dbus_message_get_sender
      Src: /src/glib/gio/gdbusdaemon.c:1500,1
    - Dst: g_dbus_message_get_sender
      Src: /src/glib/gio/gdbusdaemon.c:1511,1
    - Dst: g_dbus_message_get_reply_serial
      Src: /src/glib/gio/gdbusdaemon.c:1477,1
    - Dst: g_dbus_message_get_destination
      Src: /src/glib/gio/gdbusdaemon.c:1479,1
    - Dst: g_dbus_message_get_interface
      Src: /src/glib/gio/gdbusdaemon.c:1481,1
    - Dst: route_message
      Src: /src/glib/gio/gdbusdaemon.c:1496,1
    - Dst: g_dbus_message_set_sender
      Src: /src/glib/gio/gdbusdaemon.c:1512,1
    - Dst: g_dbus_message_get_destination
      Src: /src/glib/gio/gdbusdaemon.c:1513,1
    - Dst: g_dbus_message_set_sender
      Src: /src/glib/gio/gdbusdaemon.c:1494,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbusdaemon.c:1472,1
    - Dst: g_dbus_message_get_sender
      Src: /src/glib/gio/gdbusdaemon.c:1478,1
    - Dst: g_dbus_message_get_serial
      Src: /src/glib/gio/gdbusdaemon.c:1476,1
    - Dst: g_dbus_message_get_path
      Src: /src/glib/gio/gdbusdaemon.c:1480,1
    - Dst: g_dbus_message_get_member
      Src: /src/glib/gio/gdbusdaemon.c:1482,1
    - Dst: copy_if_locked
      Src: /src/glib/gio/gdbusdaemon.c:1503,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusdaemon.c:1506,1
    - Dst: g_dbus_message_get_destination
      Src: /src/glib/gio/gdbusdaemon.c:1501,1
    - Dst: g_dbus_message_set_destination
      Src: /src/glib/gio/gdbusdaemon.c:1514,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1518
      start: 1461
    functionDepth: 0
    functionLinenumber: 1461
    functionLinenumberEnd: 1518
    functionName: filter_function
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - route_message
    - g_dbus_message_get_serial
    - g_printerr
    - g_warning
    - g_dbus_message_get_path
    - g_dbus_message_set_destination
    - g_dbus_message_get_message_type
    - copy_if_locked
    - g_dbus_message_get_member
    - g_dbus_message_get_sender
    - g_dbus_message_get_reply_serial
    - g_dbus_message_get_interface
    - g_dbus_message_set_sender
    - g_dbus_message_get_destination
    linkageType: ''
    returnType: GDBusMessage*
    signature: "static GDBusMessage *filter_function (GDBusConnection *connection,\t\
      \t GDBusMessage *message,\t\t gboolean incoming,\t\t gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_initable_new
      Src: /src/glib/gio/gdbusdaemon.c:1725,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1730
      start: 1720
    functionDepth: 0
    functionLinenumber: 1720
    functionLinenumberEnd: 1730
    functionName: _g_dbus_daemon_new
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_initable_new
    linkageType: ''
    returnType: GDBusDaemon*
    signature: "GDBusDaemon *_g_dbus_daemon_new (const char *address,\t\t GCancellable\
      \ *cancellable,\t\t GError **error) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_DAEMON
      Src: /src/glib/gio/gdbusdaemon.c:1631,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gdbusdaemon.c:1641,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusdaemon.c:1636,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gdbusdaemon.c:1637,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 1643
      start: 1625
    functionDepth: 0
    functionLinenumber: 1625
    functionLinenumberEnd: 1643
    functionName: g_dbus_daemon_set_property
    functionSourceFile: /src/glib/gio/gdbusdaemon.c
    functionUses: []
    functionsReached:
    - g_value_dup_string
    - g_free
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_DBUS_DAEMON
    linkageType: ''
    returnType: void
    signature: "static void g_dbus_daemon_set_property (GObject *object,\t\t\t guint\
      \ prop_id,\t\t\t const GValue *value,\t\t\t GParamSpec *pspec) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsocket.c:1565,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gsocket.c:1571,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocket.c:1571,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsocket.c:1566,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:1565,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - socket
    - backlog
    argTypes:
    - GSocket*
    - gint
    constantsTouched: []
    func_position:
      end: 1573
      start: 1561
    functionDepth: 0
    functionLinenumber: 1561
    functionLinenumberEnd: 1573
    functionName: g_socket_set_listen_backlog
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_object_notify
    - G_IS_SOCKET
    - G_OBJECT
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_socket_set_listen_backlog (GSocket *socket,\t\t\t gint backlog) "
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: check_timeout
      Src: /src/glib/gio/gsocket.c:2973,1
    - Dst: accept4
      Src: /src/glib/gio/gsocket.c:2983,1
    - Dst: check_socket
      Src: /src/glib/gio/gsocket.c:2970,1
    - Dst: accept
      Src: /src/glib/gio/gsocket.c:2997,1
    - Dst: socket_set_error_lazy
      Src: /src/glib/gio/gsocket.c:3025,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:2968,1
    - Dst: fcntl
      Src: /src/glib/gio/gsocket.c:3046,1
    - Dst: closesocket
      Src: /src/glib/gio/gsocket.c:3060,1
    - Dst: win32_unset_event_mask
      Src: /src/glib/gio/gsocket.c:3013,1
    - Dst: g_socket_new_from_fd
      Src: /src/glib/gio/gsocket.c:3056,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:3025,1
    - Dst: win32_unset_event_mask
      Src: /src/glib/gio/gsocket.c:3031,1
    - Dst: WSAEventSelect
      Src: /src/glib/gio/gsocket.c:3037,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:2968,1
    - Dst: g_assert
      Src: /src/glib/gio/gsocket.c:2994,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:3001,1
    - Dst: g_socket_condition_wait
      Src: /src/glib/gio/gsocket.c:3017,1
    - Dst: close
      Src: /src/glib/gio/gsocket.c:3062,1
    - Dst: fcntl
      Src: /src/glib/gio/gsocket.c:3051,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3069
      start: 2957
    functionDepth: 0
    functionLinenumber: 2957
    functionLinenumberEnd: 3069
    functionName: g_socket_accept
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - accept
    - fcntl
    - closesocket
    - g_assert
    - check_socket
    - get_socket_errno
    - accept4
    - check_timeout
    - win32_unset_event_mask
    - socket_set_error_lazy
    - close
    - _
    - g_socket_condition_wait
    - g_socket_new_from_fd
    - WSAEventSelect
    - G_IS_SOCKET
    linkageType: ''
    returnType: GSocket*
    signature: "GSocket *g_socket_accept (GSocket *socket,\t\t GCancellable *cancellable,\t\
      \t GError **error) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:3689,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:3689,1
    - Dst: check_timeout
      Src: /src/glib/gio/gsocket.c:3696,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/gsocket.c:3691,1
    - Dst: check_socket
      Src: /src/glib/gio/gsocket.c:3693,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gsocket.c:3699,1
    - Dst: send
      Src: /src/glib/gio/gsocket.c:3704,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:3706,1
    - Dst: win32_unset_event_mask
      Src: /src/glib/gio/gsocket.c:3718,1
    - Dst: block_on_timeout
      Src: /src/glib/gio/gsocket.c:3722,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:3730,1
    - Dst: socket_set_error_lazy
      Src: /src/glib/gio/gsocket.c:3730,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 31
    argCount: 6
    argNames:
    - socket
    - buffer
    - size
    - timeout_us
    - cancellable
    - error
    argTypes:
    - GSocket*
    - guint8*
    - gsize
    - gint64
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 3737
      start: 3678
    functionDepth: 0
    functionLinenumber: 3678
    functionLinenumberEnd: 3737
    functionName: g_socket_send_with_timeout
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - send
    - check_socket
    - get_socket_errno
    - check_timeout
    - win32_unset_event_mask
    - socket_set_error_lazy
    - _
    - g_get_monotonic_time
    - g_cancellable_set_error_if_cancelled
    - block_on_timeout
    - G_IS_SOCKET
    linkageType: ''
    returnType: gssize
    signature: 'static gssize g_socket_send_with_timeout (GSocket *socket, const guint8
      *buffer, gsize size, gint64 timeout_us, GCancellable *cancellable, GError **error) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/gsocket.c:5193,1
    - Dst: WSASendTo
      Src: /src/glib/gio/gsocket.c:5327,1
    - Dst: socket_set_error_lazy
      Src: /src/glib/gio/gsocket.c:5361,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:5361,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:5276,1
    - Dst: block_on_timeout
      Src: /src/glib/gio/gsocket.c:5351,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:5188,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:5187,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:5189,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gsocket.c:5190,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:5191,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gsocket.c:5248,1
    - Dst: block_on_timeout
      Src: /src/glib/gio/gsocket.c:5266,1
    - Dst: sendmsg
      Src: /src/glib/gio/gsocket.c:5254,1
    - Dst: g_socket_address_to_native
      Src: /src/glib/gio/gsocket.c:5320,1
    - Dst: win32_unset_event_mask
      Src: /src/glib/gio/gsocket.c:5347,1
    - Dst: g_newa
      Src: /src/glib/gio/gsocket.c:5308,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:5186,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:5186,1
    - Dst: G_IS_SOCKET_ADDRESS
      Src: /src/glib/gio/gsocket.c:5187,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:5190,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gsocket.c:5201,1
    - Dst: check_timeout
      Src: /src/glib/gio/gsocket.c:5198,1
    - Dst: output_message_to_msghdr
      Src: /src/glib/gio/gsocket.c:5244,1
    - Dst: check_socket
      Src: /src/glib/gio/gsocket.c:5195,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:5257,1
    - Dst: socket_set_error_lazy
      Src: /src/glib/gio/gsocket.c:5276,1
    - Dst: g_socket_address_get_native_size
      Src: /src/glib/gio/gsocket.c:5319,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocket.c:5302,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:5303,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:5340,1
    - Dst: WSASend
      Src: /src/glib/gio/gsocket.c:5333,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 115
    argCount: 11
    argNames:
    - socket
    - address
    - vectors
    - num_vectors
    - messages
    - num_messages
    - flags
    - timeout_us
    - bytes_written
    - cancellable
    - error
    argTypes:
    - GSocket*
    - GSocketAddress*
    - GOutputVector*
    - gint
    - GSocketControlMessage**
    - gint
    - gint
    - gint64
    - gsize*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 5372
      start: 5166
    functionDepth: 0
    functionLinenumber: 5166
    functionLinenumberEnd: 5372
    functionName: g_socket_send_message_with_timeout
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_socket_address_get_native_size
    - WSASendTo
    - g_set_error_literal
    - G_IS_SOCKET_ADDRESS
    - g_newa
    - g_cancellable_set_error_if_cancelled
    - check_socket
    - G_IS_CANCELLABLE
    - check_timeout
    - g_get_monotonic_time
    - G_IS_SOCKET
    - sendmsg
    - g_socket_address_to_native
    - get_socket_errno
    - _
    - block_on_timeout
    - output_message_to_msghdr
    - g_propagate_error
    - g_return_val_if_fail
    - socket_set_error_lazy
    - win32_unset_event_mask
    - WSASend
    linkageType: ''
    returnType: GPollableReturn
    signature: 'GPollableReturn g_socket_send_message_with_timeout (GSocket *socket,
      GSocketAddress *address, const GOutputVector *vectors, gint num_vectors, GSocketControlMessage
      **messages, gint num_messages, gint flags, gint64 timeout_us, gsize *bytes_written,
      GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_is_closed
      Src: /src/glib/gio/gsocket.c:4239,1
    - Dst: g_source_remove_poll
      Src: /src/glib/gio/gsocket.c:4241,1
    - Dst: g_socket_is_closed
      Src: /src/glib/gio/gsocket.c:4248,1
    - Dst: update_condition
      Src: /src/glib/gio/gsocket.c:4246,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - source
    - timeout
    argTypes:
    - GSource*
    - gint*
    constantsTouched: []
    func_position:
      end: 4250
      start: 4229
    functionDepth: 0
    functionLinenumber: 4229
    functionLinenumberEnd: 4250
    functionName: socket_source_prepare
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_source_remove_poll
    - g_socket_is_closed
    - update_condition
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean socket_source_prepare (GSource *source, gint *timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_multicast_group_operation_ssm
      Src: /src/glib/gio/gsocket.c:2853,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 5
    argNames:
    - socket
    - group
    - source_specific
    - iface
    - error
    argTypes:
    - GSocket*
    - GInetAddress*
    - GInetAddress*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 2855
      start: 2846
    functionDepth: 0
    functionLinenumber: 2846
    functionLinenumberEnd: 2855
    functionName: g_socket_join_multicast_group_ssm
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_socket_multicast_group_operation_ssm
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_socket_join_multicast_group_ssm (GSocket *socket, GInetAddress
      *group, GInetAddress *source_specific, const gchar *iface, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:5080,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:5097,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:5081,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:5096,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:5082,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:5098,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:5109,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:5110,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:5111,1
    - Dst: g_socket_send_message_with_timeout
      Src: /src/glib/gio/gsocket.c:5115,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:5127,1
    - Dst: socket_set_error_lazy
      Src: /src/glib/gio/gsocket.c:5129,1
    - Dst: g_assert
      Src: /src/glib/gio/gsocket.c:5122,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:5129,1
    - Dst: socket_set_error_lazy
      Src: /src/glib/gio/gsocket.c:5127,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 9
    argNames:
    - socket
    - address
    - vectors
    - num_vectors
    - messages
    - num_messages
    - flags
    - cancellable
    - error
    argTypes:
    - GSocket*
    - GSocketAddress*
    - GOutputVector*
    - gint
    - GSocketControlMessage**
    - gint
    - gint
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 5134
      start: 5058
    functionDepth: 0
    functionLinenumber: 5058
    functionLinenumberEnd: 5134
    functionName: g_socket_send_message
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_assert
    - g_socket_send_message_with_timeout
    - socket_set_error_lazy
    - _
    linkageType: ''
    returnType: gssize
    signature: "gssize g_socket_send_message (GSocket *socket,\t\t GSocketAddress\
      \ *address,\t\t GOutputVector *vectors,\t\t gint num_vectors,\t\t GSocketControlMessage\
      \ **messages,\t\t gint num_messages,\t\t gint flags,\t\t GCancellable *cancellable,\t\
      \t GError **error) "
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:2639,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:2640,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:2639,1
    - Dst: S_ADDR_FIELD
      Src: /src/glib/gio/gsocket.c:2695,1
    - Dst: g_htonl
      Src: /src/glib/gio/gsocket.c:2695,1
    - Dst: g_assert
      Src: /src/glib/gio/gsocket.c:2713,1
    - Dst: g_inet_address_get_native_size
      Src: /src/glib/gio/gsocket.c:2713,1
    - Dst: g_inet_address_to_bytes
      Src: /src/glib/gio/gsocket.c:2714,1
    - Dst: memcpy
      Src: /src/glib/gio/gsocket.c:2718,1
    - Dst: g_inet_address_get_native_size
      Src: /src/glib/gio/gsocket.c:2720,1
    - Dst: g_socket_address_to_native
      Src: /src/glib/gio/gsocket.c:2774,1
    - Dst: g_return_val_if_reached
      Src: /src/glib/gio/gsocket.c:2799,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:2790,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:2788,1
    - Dst: g_socket_address_to_native
      Src: /src/glib/gio/gsocket.c:2766,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:2791,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocket.c:2778,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:2732,1
    - Dst: socket_io_error_from_errno
      Src: /src/glib/gio/gsocket.c:2806,1
    - Dst: G_IS_INET_ADDRESS
      Src: /src/glib/gio/gsocket.c:2641,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:2643,1
    - Dst: g_socket_multicast_group_operation
      Src: /src/glib/gio/gsocket.c:2647,1
    - Dst: g_inet_address_get_family
      Src: /src/glib/gio/gsocket.c:2654,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:2659,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:2686,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:2661,1
    - Dst: S_ADDR_FIELD
      Src: /src/glib/gio/gsocket.c:2704,1
    - Dst: g_socket_get_adapter_ipv4_addr
      Src: /src/glib/gio/gsocket.c:2704,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gsocket.c:2707,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocket.c:2769,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:2808,1
    - Dst: g_inet_address_get_native_size
      Src: /src/glib/gio/gsocket.c:2715,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gsocket.c:2757,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:2758,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:2641,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:2642,1
    - Dst: g_inet_address_get_family
      Src: /src/glib/gio/gsocket.c:2681,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:2684,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:2687,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:2688,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gsocket.c:2707,1
    - Dst: memcpy
      Src: /src/glib/gio/gsocket.c:2714,1
    - Dst: if_nametoindex
      Src: /src/glib/gio/gsocket.c:2752,1
    - Dst: g_strerror
      Src: /src/glib/gio/gsocket.c:2758,1
    - Dst: socket_strerror
      Src: /src/glib/gio/gsocket.c:2810,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:2733,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:2734,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:2806,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:2809,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:2757,1
    - Dst: check_socket
      Src: /src/glib/gio/gsocket.c:2651,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:2662,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:2663,1
    - Dst: memset
      Src: /src/glib/gio/gsocket.c:2692,1
    - Dst: S_ADDR_FIELD
      Src: /src/glib/gio/gsocket.c:2700,1
    - Dst: g_socket_w32_get_adapter_ipv4_addr
      Src: /src/glib/gio/gsocket.c:2700,1
    - Dst: g_assert
      Src: /src/glib/gio/gsocket.c:2717,1
    - Dst: g_inet_address_get_native_size
      Src: /src/glib/gio/gsocket.c:2717,1
    - Dst: g_inet_address_to_bytes
      Src: /src/glib/gio/gsocket.c:2719,1
    - Dst: setsockopt
      Src: /src/glib/gio/gsocket.c:2724,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:2730,1
    - Dst: g_inet_socket_address_new
      Src: /src/glib/gio/gsocket.c:2773,1
    - Dst: setsockopt
      Src: /src/glib/gio/gsocket.c:2785,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:2804,1
    - Dst: g_inet_socket_address_new
      Src: /src/glib/gio/gsocket.c:2765,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:2792,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 108
    argCount: 6
    argNames:
    - socket
    - group
    - source_specific
    - iface
    - join_group
    - error
    argTypes:
    - GSocket*
    - GInetAddress*
    - GInetAddress*
    - gchar*
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 2815
      start: 2629
    functionDepth: 0
    functionLinenumber: 2629
    functionLinenumberEnd: 2815
    functionName: g_socket_multicast_group_operation_ssm
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_inet_address_get_native_size
    - memcpy
    - g_strerror
    - S_ADDR_FIELD
    - g_socket_w32_get_adapter_ipv4_addr
    - setsockopt
    - g_inet_address_get_family
    - g_object_unref
    - g_socket_get_adapter_ipv4_addr
    - check_socket
    - socket_io_error_from_errno
    - if_nametoindex
    - G_IS_SOCKET
    - g_set_error
    - g_socket_multicast_group_operation
    - g_htonl
    - g_socket_address_to_native
    - get_socket_errno
    - _
    - g_propagate_error
    - g_return_val_if_fail
    - g_return_val_if_reached
    - g_io_error_from_errno
    - g_inet_address_to_bytes
    - g_assert
    - socket_strerror
    - G_IS_INET_ADDRESS
    - memset
    - g_inet_socket_address_new
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_socket_multicast_group_operation_ssm (GSocket *socket,
      GInetAddress *group, GInetAddress *source_specific, const gchar *iface, gboolean
      join_group, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_datagram_based
      Src: /src/glib/gio/gsocket.c:1276,1
    - Dst: g_socket_receive_messages_with_timeout
      Src: /src/glib/gio/gsocket.c:1279,1
    - Dst: G_SOCKET
      Src: /src/glib/gio/gsocket.c:1279,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 7
    argNames:
    - self
    - messages
    - num_messages
    - flags
    - timeout_us
    - cancellable
    - error
    argTypes:
    - GDatagramBased*
    - GInputMessage*
    - guint
    - gint
    - gint64
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1282
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1282
    functionName: g_socket_datagram_based_receive_messages
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - G_SOCKET
    - check_datagram_based
    - g_socket_receive_messages_with_timeout
    linkageType: ''
    returnType: gint
    signature: 'static gint g_socket_datagram_based_receive_messages (GDatagramBased
      *self, GInputMessage *messages, guint num_messages, gint flags, gint64 timeout_us,
      GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_datagram_based
      Src: /src/glib/gio/gsocket.c:1293,1
    - Dst: g_socket_send_messages_with_timeout
      Src: /src/glib/gio/gsocket.c:1296,1
    - Dst: G_SOCKET
      Src: /src/glib/gio/gsocket.c:1296,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 7
    argNames:
    - self
    - messages
    - num_messages
    - flags
    - timeout_us
    - cancellable
    - error
    argTypes:
    - GDatagramBased*
    - GOutputMessage*
    - guint
    - gint
    - gint64
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1299
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1299
    functionName: g_socket_datagram_based_send_messages
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - G_SOCKET
    - check_datagram_based
    - g_socket_send_messages_with_timeout
    linkageType: ''
    returnType: gint
    signature: 'static gint g_socket_datagram_based_send_messages (GDatagramBased
      *self, GOutputMessage *messages, guint num_messages, gint flags, gint64 timeout_us,
      GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_multicast_group_operation
      Src: /src/glib/gio/gsocket.c:2626,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 5
    argNames:
    - socket
    - group
    - source_specific
    - iface
    - error
    argTypes:
    - GSocket*
    - GInetAddress*
    - gboolean
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 2627
      start: 2619
    functionDepth: 0
    functionLinenumber: 2619
    functionLinenumberEnd: 2627
    functionName: g_socket_leave_multicast_group
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_socket_multicast_group_operation
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_socket_leave_multicast_group (GSocket *socket,\t\t\t\t\
      GInetAddress *group, gboolean source_specific, const gchar *iface,\t\t\t\tGError\
      \ **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_send_message
      Src: /src/glib/gio/gsocket.c:3845,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 6
    argNames:
    - socket
    - address
    - buffer
    - size
    - cancellable
    - error
    argTypes:
    - GSocket*
    - GSocketAddress*
    - gchar*
    - gsize
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 3852
      start: 3832
    functionDepth: 0
    functionLinenumber: 3832
    functionLinenumberEnd: 3852
    functionName: g_socket_send_to
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_socket_send_message
    linkageType: ''
    returnType: gssize
    signature: "gssize g_socket_send_to (GSocket *socket,\t\t GSocketAddress *address,\t\
      \t const gchar *buffer,\t\t gsize size,\t\t GCancellable *cancellable,\t\t GError\
      \ **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_socket
      Src: /src/glib/gio/gsocket.c:5955,1
    - Dst: check_timeout
      Src: /src/glib/gio/gsocket.c:5956,1
    - Dst: g_socket_receive_messages_with_timeout
      Src: /src/glib/gio/gsocket.c:5959,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 6
    argNames:
    - socket
    - messages
    - num_messages
    - flags
    - cancellable
    - error
    argTypes:
    - GSocket*
    - GInputMessage*
    - guint
    - gint
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 5963
      start: 5947
    functionDepth: 0
    functionLinenumber: 5947
    functionLinenumberEnd: 5963
    functionName: g_socket_receive_messages
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - check_timeout
    - check_socket
    - g_socket_receive_messages_with_timeout
    linkageType: ''
    returnType: gint
    signature: 'gint g_socket_receive_messages (GSocket *socket, GInputMessage *messages,
      guint num_messages, gint flags, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_multicast_group_operation
      Src: /src/glib/gio/gsocket.c:2594,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 5
    argNames:
    - socket
    - group
    - source_specific
    - iface
    - error
    argTypes:
    - GSocket*
    - GInetAddress*
    - gboolean
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 2595
      start: 2587
    functionDepth: 0
    functionLinenumber: 2587
    functionLinenumberEnd: 2595
    functionName: g_socket_join_multicast_group
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_socket_multicast_group_operation
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_socket_join_multicast_group (GSocket *socket,\t\t\t GInetAddress\
      \ *group, gboolean source_specific, const gchar *iface,\t\t\t GError **error) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:3315,1
    - Dst: g_socket_condition_timed_wait
      Src: /src/glib/gio/gsocket.c:3333,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:3326,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/gsocket.c:3320,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocket.c:3324,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 6
    argNames:
    - socket
    - condition
    - timeout_us
    - start_time
    - cancellable
    - error
    argTypes:
    - GSocket*
    - GIOCondition
    - gint64
    - gint64
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 3335
      start: 3305
    functionDepth: 0
    functionLinenumber: 3305
    functionLinenumberEnd: 3335
    functionName: block_on_timeout
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_socket_condition_timed_wait
    - g_set_error_literal
    - _
    - g_get_monotonic_time
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean block_on_timeout (GSocket *socket, GIOCondition condition,
      gint64 timeout_us, gint64 start_time, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_send_with_timeout
      Src: /src/glib/gio/gsocket.c:3807,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 6
    argNames:
    - socket
    - buffer
    - size
    - blocking
    - cancellable
    - error
    argTypes:
    - GSocket*
    - gchar*
    - gsize
    - gboolean
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 3809
      start: 3799
    functionDepth: 0
    functionLinenumber: 3799
    functionLinenumberEnd: 3809
    functionName: g_socket_send_with_blocking
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_socket_send_with_timeout
    linkageType: ''
    returnType: gssize
    signature: "gssize g_socket_send_with_blocking (GSocket *socket,\t\t\t const gchar\
      \ *buffer,\t\t\t gsize size,\t\t\t gboolean blocking,\t\t\t GCancellable *cancellable,\t\
      \t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: remove_condition_watch
      Src: /src/glib/gio/gsocket.c:4320,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocket.c:4323,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 4324
      start: 4311
    functionDepth: 0
    functionLinenumber: 4311
    functionLinenumberEnd: 4324
    functionName: socket_source_finalize
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - remove_condition_watch
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void socket_source_finalize (GSource *source) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:5692,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:5692,1
    - Dst: G_STATIC_ASSERT
      Src: /src/glib/gio/gsocket.c:5817,1
    - Dst: WSARecv
      Src: /src/glib/gio/gsocket.c:5827,1
    - Dst: WSARecvFrom
      Src: /src/glib/gio/gsocket.c:5821,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:5833,1
    - Dst: win32_unset_event_mask
      Src: /src/glib/gio/gsocket.c:5838,1
    - Dst: win32_unset_event_mask
      Src: /src/glib/gio/gsocket.c:5855,1
    - Dst: check_socket
      Src: /src/glib/gio/gsocket.c:5696,1
    - Dst: g_newa
      Src: /src/glib/gio/gsocket.c:5800,1
    - Dst: block_on_timeout
      Src: /src/glib/gio/gsocket.c:5769,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:5776,1
    - Dst: block_on_timeout
      Src: /src/glib/gio/gsocket.c:5844,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gsocket.c:5702,1
    - Dst: input_message_to_msghdr
      Src: /src/glib/gio/gsocket.c:5743,1
    - Dst: recvmsg
      Src: /src/glib/gio/gsocket.c:5748,1
    - Dst: recvmsg
      Src: /src/glib/gio/gsocket.c:5754,1
    - Dst: socket_set_error_lazy
      Src: /src/glib/gio/gsocket.c:5776,1
    - Dst: input_message_from_msghdr
      Src: /src/glib/gio/gsocket.c:5782,1
    - Dst: socket_set_error_lazy
      Src: /src/glib/gio/gsocket.c:5852,1
    - Dst: check_timeout
      Src: /src/glib/gio/gsocket.c:5699,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/gsocket.c:5694,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:5750,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:5760,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:5852,1
    - Dst: cache_recv_address
      Src: /src/glib/gio/gsocket.c:5862,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 103
    argCount: 10
    argNames:
    - socket
    - address
    - vectors
    - num_vectors
    - messages
    - num_messages
    - flags
    - timeout_us
    - cancellable
    - error
    argTypes:
    - GSocket*
    - GSocketAddress**
    - GInputVector*
    - gint
    - GSocketControlMessage***
    - gint*
    - gint*
    - gint64
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 5877
      start: 5676
    functionDepth: 0
    functionLinenumber: 5676
    functionLinenumberEnd: 5877
    functionName: g_socket_receive_message_with_timeout
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - input_message_from_msghdr
    - g_newa
    - g_cancellable_set_error_if_cancelled
    - WSARecv
    - cache_recv_address
    - check_socket
    - check_timeout
    - g_get_monotonic_time
    - G_IS_SOCKET
    - input_message_to_msghdr
    - WSARecvFrom
    - recvmsg
    - get_socket_errno
    - _
    - block_on_timeout
    - G_STATIC_ASSERT
    - g_return_val_if_fail
    - socket_set_error_lazy
    - win32_unset_event_mask
    linkageType: ''
    returnType: gssize
    signature: 'static gssize g_socket_receive_message_with_timeout (GSocket *socket,
      GSocketAddress **address, GInputVector *vectors, gint num_vectors, GSocketControlMessage
      ***messages, gint *num_messages, gint *flags, gint64 timeout_us, GCancellable
      *cancellable, GError **error) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:2456,1
    - Dst: memset
      Src: /src/glib/gio/gsocket.c:2470,1
    - Dst: memset
      Src: /src/glib/gio/gsocket.c:2529,1
    - Dst: if_nametoindex
      Src: /src/glib/gio/gsocket.c:2533,1
    - Dst: g_return_val_if_reached
      Src: /src/glib/gio/gsocket.c:2543,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:2551,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:2454,1
    - Dst: check_socket
      Src: /src/glib/gio/gsocket.c:2458,1
    - Dst: if_nametoindex
      Src: /src/glib/gio/gsocket.c:2479,1
    - Dst: g_htonl
      Src: /src/glib/gio/gsocket.c:2501,1
    - Dst: g_htonl
      Src: /src/glib/gio/gsocket.c:2504,1
    - Dst: g_htonl
      Src: /src/glib/gio/gsocket.c:2486,1
    - Dst: setsockopt
      Src: /src/glib/gio/gsocket.c:2522,1
    - Dst: memcpy
      Src: /src/glib/gio/gsocket.c:2530,1
    - Dst: socket_io_error_from_errno
      Src: /src/glib/gio/gsocket.c:2549,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:2552,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:2453,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:2453,1
    - Dst: g_socket_get_adapter_ipv4_addr
      Src: /src/glib/gio/gsocket.c:2492,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gsocket.c:2495,1
    - Dst: g_socket_w32_get_adapter_ipv4_addr
      Src: /src/glib/gio/gsocket.c:2484,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:2514,1
    - Dst: setsockopt
      Src: /src/glib/gio/gsocket.c:2539,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:2547,1
    - Dst: G_IS_INET_ADDRESS
      Src: /src/glib/gio/gsocket.c:2455,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:2455,1
    - Dst: g_inet_address_to_bytes
      Src: /src/glib/gio/gsocket.c:2461,1
    - Dst: g_inet_address_get_family
      Src: /src/glib/gio/gsocket.c:2462,1
    - Dst: memcpy
      Src: /src/glib/gio/gsocket.c:2471,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gsocket.c:2495,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:2512,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:2515,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:2516,1
    - Dst: g_inet_address_get_family
      Src: /src/glib/gio/gsocket.c:2525,1
    - Dst: socket_strerror
      Src: /src/glib/gio/gsocket.c:2553,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:2549,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 72
    argCount: 6
    argNames:
    - socket
    - group
    - source_specific
    - iface
    - join_group
    - error
    argTypes:
    - GSocket*
    - GInetAddress*
    - gboolean
    - gchar*
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 2558
      start: 2442
    functionDepth: 0
    functionLinenumber: 2442
    functionLinenumberEnd: 2558
    functionName: g_socket_multicast_group_operation
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_steal_pointer
    - g_socket_w32_get_adapter_ipv4_addr
    - setsockopt
    - g_inet_address_get_family
    - g_socket_get_adapter_ipv4_addr
    - check_socket
    - socket_io_error_from_errno
    - if_nametoindex
    - G_IS_SOCKET
    - g_set_error
    - g_htonl
    - get_socket_errno
    - _
    - g_propagate_error
    - g_return_val_if_fail
    - g_return_val_if_reached
    - g_inet_address_to_bytes
    - socket_strerror
    - G_IS_INET_ADDRESS
    - memset
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_socket_multicast_group_operation (GSocket *socket,\t\
      \t\t\t GInetAddress *group, gboolean source_specific, const gchar *iface,\t\t\
      \t\t gboolean join_group,\t\t\t\t GError **error) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:3348,1
    - Dst: check_socket
      Src: /src/glib/gio/gsocket.c:3352,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/gsocket.c:3350,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:3348,1
    - Dst: check_timeout
      Src: /src/glib/gio/gsocket.c:3355,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gsocket.c:3358,1
    - Dst: recv
      Src: /src/glib/gio/gsocket.c:3363,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:3365,1
    - Dst: win32_unset_event_mask
      Src: /src/glib/gio/gsocket.c:3377,1
    - Dst: block_on_timeout
      Src: /src/glib/gio/gsocket.c:3381,1
    - Dst: socket_set_error_lazy
      Src: /src/glib/gio/gsocket.c:3391,1
    - Dst: win32_unset_event_mask
      Src: /src/glib/gio/gsocket.c:3395,1
    - Dst: win32_unset_event_mask
      Src: /src/glib/gio/gsocket.c:3389,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:3391,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 33
    argCount: 6
    argNames:
    - socket
    - buffer
    - size
    - timeout_us
    - cancellable
    - error
    argTypes:
    - GSocket*
    - guint8*
    - gsize
    - gint64
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 3401
      start: 3337
    functionDepth: 0
    functionLinenumber: 3337
    functionLinenumberEnd: 3401
    functionName: g_socket_receive_with_timeout
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - recv
    - check_socket
    - get_socket_errno
    - check_timeout
    - win32_unset_event_mask
    - socket_set_error_lazy
    - _
    - g_get_monotonic_time
    - g_cancellable_set_error_if_cancelled
    - block_on_timeout
    - G_IS_SOCKET
    linkageType: ''
    returnType: gssize
    signature: 'static gssize g_socket_receive_with_timeout (GSocket *socket, guint8
      *buffer, gsize size, gint64 timeout_us, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gsocket.c:4211,1
    - Dst: update_condition_unlocked
      Src: /src/glib/gio/gsocket.c:4212,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gsocket.c:4213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - socket
    argTypes:
    - GSocket*
    constantsTouched: []
    func_position:
      end: 4215
      start: 4207
    functionDepth: 0
    functionLinenumber: 4207
    functionLinenumberEnd: 4215
    functionName: update_condition
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - update_condition_unlocked
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: GIOCondition
    signature: 'static GIOCondition update_condition (GSocket *socket) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gio/gsocket.c:4337,1
    - Dst: g_value_init
      Src: /src/glib/gio/gsocket.c:4341,1
    - Dst: g_value_set_flags
      Src: /src/glib/gio/gsocket.c:4342,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gsocket.c:4340,1
    - Dst: g_value_init
      Src: /src/glib/gio/gsocket.c:4339,1
    - Dst: g_closure_invoke
      Src: /src/glib/gio/gsocket.c:4344,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gsocket.c:4346,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gsocket.c:4347,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gsocket.c:4348,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gsocket.c:4349,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - socket
    - condition
    - data
    argTypes:
    - GSocket*
    - GIOCondition
    - gpointer
    constantsTouched: []
    func_position:
      end: 4352
      start: 4326
    functionDepth: 0
    functionLinenumber: 4326
    functionLinenumberEnd: 4352
    functionName: socket_source_closure_callback
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_value_get_boolean
    - g_value_set_flags
    - g_closure_invoke
    - g_value_init
    - g_value_set_object
    - g_value_unset
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean socket_source_closure_callback (GSocket *socket,\t\
      \t\t\tGIOCondition condition,\t\t\t\tgpointer data) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cache_recv_address
      Src: /src/glib/gio/gsocket.c:4937,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/glib/gio/gsocket.c:4949,1
    - Dst: g_socket_control_message_deserialize
      Src: /src/glib/gio/gsocket.c:4955,1
    - Dst: g_assert
      Src: /src/glib/gio/gsocket.c:4948,1
    - Dst: CMSG_NXTHDR
      Src: /src/glib/gio/gsocket.c:4951,1
    - Dst: CMSG_DATA
      Src: /src/glib/gio/gsocket.c:4957,1
    - Dst: CMSG_DATA
      Src: /src/glib/gio/gsocket.c:4958,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gsocket.c:4965,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gsocket.c:4966,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gsocket.c:4981,1
    - Dst: g_assert
      Src: /src/glib/gio/gsocket.c:4987,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gsocket.c:4982,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 41
    argCount: 3
    argNames:
    - msg
    - message
    - socket
    argTypes:
    - struct msghdr*
    - GInputMessage*
    - GSocket*
    constantsTouched: []
    func_position:
      end: 4993
      start: 4927
    functionDepth: 0
    functionLinenumber: 4927
    functionLinenumberEnd: 4993
    functionName: input_message_from_msghdr
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - CMSG_DATA
    - CMSG_NXTHDR
    - g_assert
    - g_socket_control_message_deserialize
    - cache_recv_address
    - CMSG_FIRSTHDR
    - g_ptr_array_free
    - g_ptr_array_new
    - g_ptr_array_add
    linkageType: ''
    returnType: G_STMT_END
    signature: 'G_STMT_END static void input_message_from_msghdr (const struct msghdr
      *msg, GInputMessage *message, GSocket *socket) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_param_spec_uint
      Src: /src/glib/gio/gsocket.c:1164,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocket.c:1150,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocket.c:1163,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocket.c:1096,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsocket.c:954,1
    - Dst: g_param_spec_enum
      Src: /src/glib/gio/gsocket.c:982,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocket.c:981,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocket.c:1070,1
    - Dst: g_param_spec_int
      Src: /src/glib/gio/gsocket.c:1056,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocket.c:1055,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gsocket.c:1071,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocket.c:1124,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gsocket.c:1125,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocket.c:1137,1
    - Dst: g_param_spec_uint
      Src: /src/glib/gio/gsocket.c:1138,1
    - Dst: signal
      Src: /src/glib/gio/gsocket.c:966,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gsocket.c:1151,1
    - Dst: g_param_spec_uint
      Src: /src/glib/gio/gsocket.c:1110,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocket.c:996,1
    - Dst: g_param_spec_enum
      Src: /src/glib/gio/gsocket.c:997,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocket.c:1011,1
    - Dst: g_param_spec_enum
      Src: /src/glib/gio/gsocket.c:1012,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocket.c:1026,1
    - Dst: g_param_spec_int
      Src: /src/glib/gio/gsocket.c:1027,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gsocket.c:1084,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gsocket.c:1043,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocket.c:1083,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocket.c:1042,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocket.c:1109,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gsocket.c:1097,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 55
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GSocketClass*
    constantsTouched: []
    func_position:
      end: 1168
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 1168
    functionName: g_socket_class_init
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - signal
    - g_param_spec_boolean
    - g_param_spec_int
    - g_param_spec_object
    - g_object_class_install_property
    - G_OBJECT_CLASS
    - g_param_spec_enum
    - g_param_spec_uint
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_class_init (GSocketClass *klass) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:1209,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:1216,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:1209,1
    - Dst: G_SOCKET
      Src: /src/glib/gio/gsocket.c:1211,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocket.c:1215,1
    - Dst: g_error_copy
      Src: /src/glib/gio/gsocket.c:1225,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - initable
    - cancellable
    - error
    argTypes:
    - GInitable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1231
      start: 1202
    functionDepth: 0
    functionLinenumber: 1202
    functionLinenumberEnd: 1231
    functionName: g_socket_initable_init
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_SOCKET
    - g_set_error_literal
    - g_error_copy
    - _
    - G_IS_SOCKET
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_socket_initable_init (GInitable *initable,\t\t\t\
      GCancellable *cancellable,\t\t\tGError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_receive_message_with_timeout
      Src: /src/glib/gio/gsocket.c:6251,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 2
    argCount: 9
    argNames:
    - socket
    - address
    - vectors
    - num_vectors
    - messages
    - num_messages
    - flags
    - cancellable
    - error
    argTypes:
    - GSocket*
    - GSocketAddress**
    - GInputVector*
    - gint
    - GSocketControlMessage***
    - gint*
    - gint*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 6256
      start: 6240
    functionDepth: 0
    functionLinenumber: 6240
    functionLinenumberEnd: 6256
    functionName: g_socket_receive_message
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_socket_receive_message_with_timeout
    linkageType: ''
    returnType: gssize
    signature: "gssize g_socket_receive_message (GSocket *socket,\t\t\t GSocketAddress\
      \ **address,\t\t\t GInputVector *vectors,\t\t\t gint num_vectors,\t\t\t GSocketControlMessage\
      \ ***messages,\t\t\t gint *num_messages,\t\t\t gint *flags,\t\t\t GCancellable\
      \ *cancellable,\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GInitableIface*
    constantsTouched: []
    func_position:
      end: 1174
      start: 1170
    functionDepth: 0
    functionLinenumber: 1170
    functionLinenumberEnd: 1174
    functionName: g_socket_initable_iface_init
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_initable_iface_init (GInitableIface *iface) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_get_socket_type
      Src: /src/glib/gio/gsocket.c:1237,1
    - Dst: G_SOCKET
      Src: /src/glib/gio/gsocket.c:1237,1
    - Dst: g_socket_get_timeout
      Src: /src/glib/gio/gsocket.c:1256,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:1242,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:1241,1
    - Dst: G_SOCKET
      Src: /src/glib/gio/gsocket.c:1256,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:1258,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:1259,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 2
    argNames:
    - self
    - error
    argTypes:
    - GDatagramBased*
    - GError**
    constantsTouched: []
    func_position:
      end: 1265
      start: 1233
    functionDepth: 0
    functionLinenumber: 1233
    functionLinenumberEnd: 1265
    functionName: check_datagram_based
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_socket_get_timeout
    - G_SOCKET
    - _
    - g_socket_get_socket_type
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean check_datagram_based (GDatagramBased *self, GError
      **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:4501,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:4501,1
    - Dst: add_condition_watch
      Src: /src/glib/gio/gsocket.c:4512,1
    - Dst: update_condition
      Src: /src/glib/gio/gsocket.c:4513,1
    - Dst: check_socket
      Src: /src/glib/gio/gsocket.c:4503,1
    - Dst: remove_condition_watch
      Src: /src/glib/gio/gsocket.c:4514,1
    - Dst: g_poll
      Src: /src/glib/gio/gsocket.c:4526,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:4527,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - socket
    - condition
    argTypes:
    - GSocket*
    - GIOCondition
    constantsTouched: []
    func_position:
      end: 4532
      start: 4497
    functionDepth: 0
    functionLinenumber: 4497
    functionLinenumberEnd: 4532
    functionName: g_socket_condition_check
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - check_socket
    - get_socket_errno
    - remove_condition_watch
    - g_poll
    - update_condition
    - add_condition_watch
    - G_IS_SOCKET
    linkageType: ''
    returnType: GIOCondition
    signature: "GIOCondition g_socket_condition_check (GSocket *socket,\t\t\t GIOCondition\
      \ condition) "
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:5976,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:5976,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:5977,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:5980,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:6036,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:6049,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gsocket.c:6137,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gsocket.c:6139,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gsocket.c:6145,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gsocket.c:5979,1
    - Dst: check_socket
      Src: /src/glib/gio/gsocket.c:5984,1
    - Dst: check_timeout
      Src: /src/glib/gio/gsocket.c:5987,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gsocket.c:5990,1
    - Dst: g_newa
      Src: /src/glib/gio/gsocket.c:6007,1
    - Dst: recvmmsg
      Src: /src/glib/gio/gsocket.c:6031,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gsocket.c:6063,1
    - Dst: socket_set_error_lazy
      Src: /src/glib/gio/gsocket.c:6077,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:6078,1
    - Dst: g_socket_receive_message_with_timeout
      Src: /src/glib/gio/gsocket.c:6114,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:5978,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/gsocket.c:6128,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/gsocket.c:5982,1
    - Dst: input_message_to_msghdr
      Src: /src/glib/gio/gsocket.c:6014,1
    - Dst: block_on_timeout
      Src: /src/glib/gio/gsocket.c:6058,1
    - Dst: recvmmsg
      Src: /src/glib/gio/gsocket.c:6040,1
    - Dst: input_message_from_msghdr
      Src: /src/glib/gio/gsocket.c:6093,1
    - Dst: MAX
      Src: /src/glib/gio/gsocket.c:6129,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gsocket.c:6136,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 111
    argCount: 7
    argNames:
    - socket
    - messages
    - num_messages
    - flags
    - timeout_us
    - cancellable
    - error
    argTypes:
    - GSocket*
    - GInputMessage*
    - guint
    - gint
    - gint64
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 6156
      start: 5965
    functionDepth: 0
    functionLinenumber: 5965
    functionLinenumberEnd: 6156
    functionName: g_socket_receive_messages_with_timeout
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - recvmmsg
    - input_message_from_msghdr
    - g_newa
    - g_cancellable_set_error_if_cancelled
    - check_socket
    - G_IS_CANCELLABLE
    - check_timeout
    - g_get_monotonic_time
    - G_IS_SOCKET
    - input_message_to_msghdr
    - get_socket_errno
    - MAX
    - _
    - block_on_timeout
    - g_clear_error
    - g_propagate_error
    - g_return_val_if_fail
    - g_error_matches
    - socket_set_error_lazy
    - g_socket_receive_message_with_timeout
    linkageType: ''
    returnType: gint
    signature: 'static gint g_socket_receive_messages_with_timeout (GSocket *socket,
      GInputMessage *messages, guint num_messages, gint flags, gint64 timeout_us,
      GCancellable *cancellable, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET
      Src: /src/glib/gio/gsocket.c:746,1
    - Dst: g_socket_set_option
      Src: /src/glib/gio/gsocket.c:767,1
    - Dst: g_socket_details_from_fd
      Src: /src/glib/gio/gsocket.c:751,1
    - Dst: socket_set_nonblock
      Src: /src/glib/gio/gsocket.c:752,1
    - Dst: g_socket_create_socket
      Src: /src/glib/gio/gsocket.c:757,1
    - Dst: g_socket_set_option
      Src: /src/glib/gio/gsocket.c:770,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 772
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 772
    functionName: g_socket_constructed
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_socket_details_from_fd
    - g_socket_create_socket
    - socket_set_nonblock
    - G_SOCKET
    - g_socket_set_option
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_constructed (GObject *object) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_get_option
      Src: /src/glib/gio/gsocket.c:2919,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 1
    argNames:
    - socket
    argTypes:
    - GSocket*
    constantsTouched: []
    func_position:
      end: 2933
      start: 2906
    functionDepth: 0
    functionLinenumber: 2906
    functionLinenumberEnd: 2933
    functionName: g_socket_speaks_ipv4
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_socket_get_option
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_socket_speaks_ipv4 (GSocket *socket) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ensure_event
      Src: /src/glib/gio/gsocket.c:4086,1
    - Dst: network_events_for_condition
      Src: /src/glib/gio/gsocket.c:4092,1
    - Dst: WSAEventSelect
      Src: /src/glib/gio/gsocket.c:4105,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - socket
    argTypes:
    - GSocket*
    constantsTouched: []
    func_position:
      end: 4108
      start: 4075
    functionDepth: 0
    functionLinenumber: 4075
    functionLinenumberEnd: 4108
    functionName: update_select_events
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - network_events_for_condition
    - ensure_event
    - WSAEventSelect
    linkageType: ''
    returnType: void
    signature: 'static void update_select_events (GSocket *socket) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:4465,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:4465,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gsocket.c:4465,1
    - Dst: socket_source_new
      Src: /src/glib/gio/gsocket.c:4467,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4468
      start: 4460
    functionDepth: 0
    functionLinenumber: 4460
    functionLinenumberEnd: 4468
    functionName: g_socket_create_source
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - socket_source_new
    - g_return_val_if_fail
    - G_IS_CANCELLABLE
    - G_IS_SOCKET
    linkageType: ''
    returnType: GSource*
    signature: "GSource *g_socket_create_source (GSocket *socket,\t\t\tGIOCondition\
      \ condition,\t\t\tGCancellable *cancellable) "
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET
      Src: /src/glib/gio/gsocket.c:780,1
    - Dst: g_value_set_enum
      Src: /src/glib/gio/gsocket.c:794,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gsocket.c:802,1
    - Dst: g_value_set_int
      Src: /src/glib/gio/gsocket.c:806,1
    - Dst: g_value_set_uint
      Src: /src/glib/gio/gsocket.c:824,1
    - Dst: g_socket_get_multicast_loopback
      Src: /src/glib/gio/gsocket.c:836,1
    - Dst: g_value_set_uint
      Src: /src/glib/gio/gsocket.c:840,1
    - Dst: g_value_set_enum
      Src: /src/glib/gio/gsocket.c:786,1
    - Dst: g_value_take_object
      Src: /src/glib/gio/gsocket.c:815,1
    - Dst: g_socket_get_remote_address
      Src: /src/glib/gio/gsocket.c:819,1
    - Dst: g_socket_get_broadcast
      Src: /src/glib/gio/gsocket.c:832,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gsocket.c:836,1
    - Dst: g_value_set_int
      Src: /src/glib/gio/gsocket.c:798,1
    - Dst: g_value_set_enum
      Src: /src/glib/gio/gsocket.c:790,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gsocket.c:810,1
    - Dst: g_socket_get_ttl
      Src: /src/glib/gio/gsocket.c:828,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gsocket.c:832,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gsocket.c:844,1
    - Dst: g_socket_get_local_address
      Src: /src/glib/gio/gsocket.c:814,1
    - Dst: g_value_set_uint
      Src: /src/glib/gio/gsocket.c:828,1
    - Dst: g_value_take_object
      Src: /src/glib/gio/gsocket.c:820,1
    - Dst: g_socket_get_multicast_ttl
      Src: /src/glib/gio/gsocket.c:840,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 26
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 846
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 846
    functionName: g_socket_get_property
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_socket_get_ttl
    - g_value_set_enum
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_uint
    - g_socket_get_remote_address
    - g_value_set_boolean
    - g_socket_get_broadcast
    - g_value_set_int
    - g_socket_get_local_address
    - g_socket_get_multicast_loopback
    - G_SOCKET
    - g_value_take_object
    - g_socket_get_multicast_ttl
    linkageType: ''
    returnType: void
    signature: "static void g_socket_get_property (GObject *object,\t\t guint prop_id,\t\
      \t GValue *value,\t\t GParamSpec *pspec) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gsocket.c:4114,1
    - Dst: g_assert
      Src: /src/glib/gio/gsocket.c:4115,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gsocket.c:4118,1
    - Dst: g_list_find
      Src: /src/glib/gio/gsocket.c:4115,1
    - Dst: update_select_events
      Src: /src/glib/gio/gsocket.c:4120,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gsocket.c:4121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - socket
    - condition
    argTypes:
    - GSocket*
    - GIOCondition*
    constantsTouched: []
    func_position:
      end: 4122
      start: 4110
    functionDepth: 0
    functionLinenumber: 4110
    functionLinenumberEnd: 4122
    functionName: add_condition_watch
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - update_select_events
    - g_mutex_unlock
    - g_mutex_lock
    - g_assert
    - g_list_find
    - g_list_prepend
    linkageType: ''
    returnType: void
    signature: "static void add_condition_watch (GSocket *socket,\t\t GIOCondition\
      \ *condition) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_multicast_group_operation_ssm
      Src: /src/glib/gio/gsocket.c:2884,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 5
    argNames:
    - socket
    - group
    - source_specific
    - iface
    - error
    argTypes:
    - GSocket*
    - GInetAddress*
    - GInetAddress*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 2886
      start: 2877
    functionDepth: 0
    functionLinenumber: 2877
    functionLinenumberEnd: 2886
    functionName: g_socket_leave_multicast_group_ssm
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_socket_multicast_group_operation_ssm
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_socket_leave_multicast_group_ssm (GSocket *socket, GInetAddress
      *group, GInetAddress *source_specific, const gchar *iface, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_receive_with_timeout
      Src: /src/glib/gio/gsocket.c:3511,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 5
    argNames:
    - socket
    - buffer
    - size
    - cancellable
    - error
    argTypes:
    - GSocket*
    - gchar*
    - gsize
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 3514
      start: 3504
    functionDepth: 0
    functionLinenumber: 3504
    functionLinenumberEnd: 3514
    functionName: g_socket_receive
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_socket_receive_with_timeout
    linkageType: ''
    returnType: gssize
    signature: "gssize g_socket_receive (GSocket *socket,\t\t gchar *buffer,\t\t gsize\
      \ size,\t\t GCancellable *cancellable,\t\t GError **error) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:3437,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:3437,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:3439,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gsocket.c:3438,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:3438,1
    - Dst: g_new0
      Src: /src/glib/gio/gsocket.c:3441,1
    - Dst: g_socket_receive_with_timeout
      Src: /src/glib/gio/gsocket.c:3442,1
    - Dst: g_free
      Src: /src/glib/gio/gsocket.c:3445,1
    - Dst: g_bytes_new_take
      Src: /src/glib/gio/gsocket.c:3451,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gsocket.c:3451,1
    - Dst: g_bytes_new_take
      Src: /src/glib/gio/gsocket.c:3457,1
    - Dst: g_bytes_new_from_bytes
      Src: /src/glib/gio/gsocket.c:3458,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gsocket.c:3463,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gsocket.c:3460,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gsocket.c:3457,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/gsocket.c:3459,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3464
      start: 3426
    functionDepth: 0
    functionLinenumber: 3426
    functionLinenumberEnd: 3464
    functionName: g_socket_receive_bytes
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_socket_receive_with_timeout
    - g_steal_pointer
    - g_return_val_if_fail
    - G_IS_CANCELLABLE
    - g_bytes_unref
    - g_bytes_new_take
    - g_bytes_new_from_bytes
    - g_new0
    - g_free
    - G_IS_SOCKET
    linkageType: ''
    returnType: GBytes*
    signature: 'GBytes *g_socket_receive_bytes (GSocket *socket, gsize size, gint64
      timeout_us, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/gsocket.c:313,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gsocket.c:315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 317
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 317
    functionName: socket_io_error_from_errno
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_io_error_from_errno
    - g_io_error_from_win32_error
    linkageType: ''
    returnType: GIOErrorEnum
    signature: 'static GIOErrorEnum socket_io_error_from_errno (int err) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gsocket.c:4128,1
    - Dst: g_list_remove
      Src: /src/glib/gio/gsocket.c:4132,1
    - Dst: g_list_find
      Src: /src/glib/gio/gsocket.c:4129,1
    - Dst: g_assert
      Src: /src/glib/gio/gsocket.c:4129,1
    - Dst: update_select_events
      Src: /src/glib/gio/gsocket.c:4134,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gsocket.c:4135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - socket
    - condition
    argTypes:
    - GSocket*
    - GIOCondition*
    constantsTouched: []
    func_position:
      end: 4136
      start: 4124
    functionDepth: 0
    functionLinenumber: 4124
    functionLinenumberEnd: 4136
    functionName: remove_condition_watch
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - update_select_events
    - g_mutex_unlock
    - g_mutex_lock
    - g_assert
    - g_list_remove
    - g_list_find
    linkageType: ''
    returnType: void
    signature: "static void remove_condition_watch (GSocket *socket,\t\t\tGIOCondition\
      \ *condition) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strerror
      Src: /src/glib/gio/gsocket.c:323,1
    - Dst: g_intern_string
      Src: /src/glib/gio/gsocket.c:330,1
    - Dst: g_free
      Src: /src/glib/gio/gsocket.c:331,1
    - Dst: g_win32_error_message
      Src: /src/glib/gio/gsocket.c:328,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 335
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 335
    functionName: socket_strerror
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_strerror
    - g_free
    - g_intern_string
    - g_win32_error_message
    linkageType: ''
    returnType: char*
    signature: 'static const char *socket_strerror (int err) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: WSAWaitForMultipleEvents
      Src: /src/glib/gio/gsocket.c:4145,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:4167,1
    - Dst: recv
      Src: /src/glib/gio/gsocket.c:4165,1
    - Dst: WSAEnumNetworkEvents
      Src: /src/glib/gio/gsocket.c:4146,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 64
    argCount: 1
    argNames:
    - socket
    argTypes:
    - GSocket*
    constantsTouched: []
    func_position:
      end: 4205
      start: 4138
    functionDepth: 0
    functionLinenumber: 4138
    functionLinenumberEnd: 4205
    functionName: update_condition_unlocked
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - WSAEnumNetworkEvents
    - WSAWaitForMultipleEvents
    - recv
    - get_socket_errno
    linkageType: ''
    returnType: GIOCondition
    signature: 'static GIOCondition update_condition_unlocked (GSocket *socket) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gsocket.c:723,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:728,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:729,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:729,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:735,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:736,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:736,1
    - Dst: g_socket
      Src: /src/glib/gio/gsocket.c:740,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 4
    argNames:
    - family
    - type
    - protocol
    - error
    argTypes:
    - GSocketFamily
    - GSocketType
    - int
    - GError**
    constantsTouched: []
    func_position:
      end: 741
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 741
    functionName: g_socket_create_socket
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_socket
    - g_assert_not_reached
    - _
    linkageType: ''
    returnType: gint
    signature: "static gint g_socket_create_socket (GSocketFamily family,\t\t\tGSocketType\
      \ type,\t\t\tint protocol,\t\t\tGError **error) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/glib/gio/gsocket.c:646,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:658,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:660,1
    - Dst: socket
      Src: /src/glib/gio/gsocket.c:654,1
    - Dst: socket_io_error_from_errno
      Src: /src/glib/gio/gsocket.c:660,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:661,1
    - Dst: socket_strerror
      Src: /src/glib/gio/gsocket.c:661,1
    - Dst: fcntl
      Src: /src/glib/gio/gsocket.c:673,1
    - Dst: fcntl
      Src: /src/glib/gio/gsocket.c:678,1
    - Dst: WSAIoctl
      Src: /src/glib/gio/gsocket.c:688,1
    - Dst: socket_set_nonblock
      Src: /src/glib/gio/gsocket.c:694,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 4
    argNames:
    - domain
    - type
    - protocol
    - error
    argTypes:
    - gint
    - gint
    - gint
    - GError**
    constantsTouched: []
    func_position:
      end: 697
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 697
    functionName: g_socket
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_set_error
    - socket
    - socket_set_nonblock
    - get_socket_errno
    - socket_io_error_from_errno
    - WSAIoctl
    - fcntl
    - _
    - socket_strerror
    linkageType: ''
    returnType: gint
    signature: 'gint g_socket (gint domain, gint type, gint protocol, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:2237,1
    - Dst: check_socket
      Src: /src/glib/gio/gsocket.c:2239,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:2237,1
    - Dst: g_socket_address_to_native
      Src: /src/glib/gio/gsocket.c:2242,1
    - Dst: G_IS_SOCKET_ADDRESS
      Src: /src/glib/gio/gsocket.c:2237,1
    - Dst: g_socket_set_option
      Src: /src/glib/gio/gsocket.c:2269,1
    - Dst: g_socket_set_option
      Src: /src/glib/gio/gsocket.c:2271,1
    - Dst: bind
      Src: /src/glib/gio/gsocket.c:2274,1
    - Dst: g_socket_address_get_native_size
      Src: /src/glib/gio/gsocket.c:2275,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:2277,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:2280,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:2282,1
    - Dst: socket_strerror
      Src: /src/glib/gio/gsocket.c:2283,1
    - Dst: address_to_string
      Src: /src/glib/gio/gsocket.c:2278,1
    - Dst: g_free
      Src: /src/glib/gio/gsocket.c:2284,1
    - Dst: socket_io_error_from_errno
      Src: /src/glib/gio/gsocket.c:2281,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 4
    argNames:
    - socket
    - address
    - reuse_address
    - error
    argTypes:
    - GSocket*
    - GSocketAddress*
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 2289
      start: 2222
    functionDepth: 0
    functionLinenumber: 2222
    functionLinenumberEnd: 2289
    functionName: g_socket_bind
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_return_val_if_fail
    - g_socket_address_get_native_size
    - g_socket_address_to_native
    - check_socket
    - bind
    - get_socket_errno
    - socket_io_error_from_errno
    - address_to_string
    - _
    - G_IS_SOCKET_ADDRESS
    - socket_strerror
    - g_free
    - g_socket_set_option
    - G_IS_SOCKET
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_socket_bind (GSocket *socket,\t GSocketAddress *address,\t\
      \ gboolean reuse_address,\t GError **error) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:6557,1
    - Dst: setsockopt
      Src: /src/glib/gio/gsocket.c:6576,1
    - Dst: check_socket
      Src: /src/glib/gio/gsocket.c:6561,1
    - Dst: setsockopt
      Src: /src/glib/gio/gsocket.c:6564,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:6557,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:6581,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocket.c:6583,1
    - Dst: socket_io_error_from_errno
      Src: /src/glib/gio/gsocket.c:6585,1
    - Dst: socket_strerror
      Src: /src/glib/gio/gsocket.c:6586,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 5
    argNames:
    - socket
    - level
    - optname
    - value
    - error
    argTypes:
    - GSocket*
    - gint
    - gint
    - gint
    - GError**
    constantsTouched: []
    func_position:
      end: 6591
      start: 6548
    functionDepth: 0
    functionLinenumber: 6548
    functionLinenumberEnd: 6591
    functionName: g_socket_set_option
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - check_socket
    - get_socket_errno
    - socket_io_error_from_errno
    - g_set_error_literal
    - setsockopt
    - socket_strerror
    - G_IS_SOCKET
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_socket_set_option (GSocket *socket,\t\t gint level,\t\t\
      \ gint optname,\t\t gint value,\t\t GError **error) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/gio/gsocket.c:2413,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:2420,1
    - Dst: memset
      Src: /src/glib/gio/gsocket.c:2415,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:2419,1
    - Dst: memcpy
      Src: /src/glib/gio/gsocket.c:2424,1
    - Dst: ioctl
      Src: /src/glib/gio/gsocket.c:2427,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:2432,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gsocket.c:2432,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:2433,1
    - Dst: g_strerror
      Src: /src/glib/gio/gsocket.c:2433,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 3
    argNames:
    - socket
    - iface
    - error
    argTypes:
    - GSocket*
    - char*
    - GError**
    constantsTouched: []
    func_position:
      end: 2439
      start: 2405
    functionDepth: 0
    functionLinenumber: 2405
    functionLinenumberEnd: 2439
    functionName: g_socket_get_adapter_ipv4_addr
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_set_error
    - memcpy
    - strlen
    - g_io_error_from_errno
    - ioctl
    - g_strerror
    - _
    - memset
    linkageType: ''
    returnType: gulong
    signature: 'static gulong g_socket_get_adapter_ipv4_addr (GSocket *socket, const
      char *iface, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:2168,1
    - Dst: check_socket
      Src: /src/glib/gio/gsocket.c:2170,1
    - Dst: listen
      Src: /src/glib/gio/gsocket.c:2173,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:2168,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:2175,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:2177,1
    - Dst: socket_io_error_from_errno
      Src: /src/glib/gio/gsocket.c:2177,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:2178,1
    - Dst: socket_strerror
      Src: /src/glib/gio/gsocket.c:2178,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - socket
    - error
    argTypes:
    - GSocket*
    - GError**
    constantsTouched: []
    func_position:
      end: 2185
      start: 2164
    functionDepth: 0
    functionLinenumber: 2164
    functionLinenumberEnd: 2185
    functionName: g_socket_listen
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_return_val_if_fail
    - listen
    - check_socket
    - get_socket_errno
    - socket_io_error_from_errno
    - _
    - socket_strerror
    - G_IS_SOCKET
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_socket_listen (GSocket *socket,\t\t GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:1738,1
    - Dst: g_warning
      Src: /src/glib/gio/gsocket.c:1743,1
    - Dst: g_error_free
      Src: /src/glib/gio/gsocket.c:1744,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:1738,1
    - Dst: g_socket_get_option
      Src: /src/glib/gio/gsocket.c:1740,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - socket
    argTypes:
    - GSocket*
    constantsTouched: []
    func_position:
      end: 1749
      start: 1732
    functionDepth: 0
    functionLinenumber: 1732
    functionLinenumberEnd: 1749
    functionName: g_socket_get_broadcast
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_socket_get_option
    - g_return_val_if_fail
    - g_warning
    - g_error_free
    - G_IS_SOCKET
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_socket_get_broadcast (GSocket *socket) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsocket.c:1693,1
    - Dst: g_socket_set_option
      Src: /src/glib/gio/gsocket.c:1697,1
    - Dst: g_socket_set_option
      Src: /src/glib/gio/gsocket.c:1704,1
    - Dst: g_socket_set_option
      Src: /src/glib/gio/gsocket.c:1702,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:1693,1
    - Dst: g_return_if_reached
      Src: /src/glib/gio/gsocket.c:1708,1
    - Dst: g_warning
      Src: /src/glib/gio/gsocket.c:1712,1
    - Dst: g_error_free
      Src: /src/glib/gio/gsocket.c:1713,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gsocket.c:1717,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocket.c:1717,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - socket
    - ttl
    argTypes:
    - GSocket*
    - guint
    constantsTouched: []
    func_position:
      end: 1718
      start: 1687
    functionDepth: 0
    functionLinenumber: 1687
    functionLinenumberEnd: 1718
    functionName: g_socket_set_ttl
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_return_if_reached
    - g_warning
    - g_return_if_fail
    - g_object_notify
    - G_OBJECT
    - g_error_free
    - g_socket_set_option
    - G_IS_SOCKET
    linkageType: ''
    returnType: void
    signature: 'void g_socket_set_ttl (GSocket *socket, guint ttl) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocket.c:433,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:441,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:440,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:434,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocket.c:448,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:449,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - socket
    - error
    argTypes:
    - GSocket*
    - GError**
    constantsTouched: []
    func_position:
      end: 454
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 454
    functionName: check_socket
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - _
    - g_set_error_literal
    - g_set_error
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean check_socket (GSocket *socket,\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GDatagramBasedInterface*
    constantsTouched: []
    func_position:
      end: 1184
      start: 1176
    functionDepth: 0
    functionLinenumber: 1176
    functionLinenumberEnd: 1184
    functionName: g_socket_datagram_based_iface_init
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_datagram_based_iface_init (GDatagramBasedInterface
      *iface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocket.c:463,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:464,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - socket
    - error
    argTypes:
    - GSocket*
    - GError**
    constantsTouched: []
    func_position:
      end: 469
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 469
    functionName: check_timeout
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - _
    - g_set_error_literal
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean check_timeout (GSocket *socket,\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_get_instance_private
      Src: /src/glib/gio/gsocket.c:1189,1
    - Dst: g_cond_init
      Src: /src/glib/gio/gsocket.c:1198,1
    - Dst: g_mutex_init
      Src: /src/glib/gio/gsocket.c:1197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - socket
    argTypes:
    - GSocket*
    constantsTouched: []
    func_position:
      end: 1200
      start: 1186
    functionDepth: 0
    functionLinenumber: 1186
    functionLinenumberEnd: 1200
    functionName: g_socket_init
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_mutex_init
    - g_socket_get_instance_private
    - g_cond_init
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_init (GSocket *socket) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET
      Src: /src/glib/gio/gsocket.c:1368,1
    - Dst: g_initable_new
      Src: /src/glib/gio/gsocket.c:1368,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1374
      start: 1362
    functionDepth: 0
    functionLinenumber: 1362
    functionLinenumberEnd: 1374
    functionName: g_socket_new
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - G_SOCKET
    - g_initable_new
    linkageType: ''
    returnType: GSocket*
    signature: "GSocket *g_socket_new (GSocketFamily family,\t GSocketType type,\t\
      \ GSocketProtocol protocol,\t GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:2060,1
    - Dst: getsockname
      Src: /src/glib/gio/gsocket.c:2062,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:2065,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:2064,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:2060,1
    - Dst: socket_io_error_from_errno
      Src: /src/glib/gio/gsocket.c:2065,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:2066,1
    - Dst: socket_strerror
      Src: /src/glib/gio/gsocket.c:2066,1
    - Dst: g_socket_address_new_from_native
      Src: /src/glib/gio/gsocket.c:2070,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2071
      start: 2050
    functionDepth: 0
    functionLinenumber: 2050
    functionLinenumberEnd: 2071
    functionName: g_socket_get_local_address
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_return_val_if_fail
    - g_socket_address_new_from_native
    - getsockname
    - get_socket_errno
    - socket_io_error_from_errno
    - _
    - socket_strerror
    - G_IS_SOCKET
    linkageType: ''
    returnType: GSocketAddress*
    signature: "GSocketAddress *g_socket_get_local_address (GSocket *socket,\t\t\t\
      \ GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_receive_message
      Src: /src/glib/gio/gsocket.c:3663,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 6
    argNames:
    - socket
    - address
    - buffer
    - size
    - cancellable
    - error
    argTypes:
    - GSocket*
    - GSocketAddress**
    - gchar*
    - gsize
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 3669
      start: 3650
    functionDepth: 0
    functionLinenumber: 3650
    functionLinenumberEnd: 3669
    functionName: g_socket_receive_from
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_socket_receive_message
    linkageType: ''
    returnType: gssize
    signature: "gssize g_socket_receive_from (GSocket *socket,\t\t GSocketAddress\
      \ **address,\t\t gchar *buffer,\t\t gsize size,\t\t GCancellable *cancellable,\t\
      \t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: socket_source_prepare
      Src: /src/glib/gio/gsocket.c:4258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 4259
      start: 4253
    functionDepth: 0
    functionLinenumber: 4253
    functionLinenumberEnd: 4259
    functionName: socket_source_check_win32
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - socket_source_prepare
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean socket_source_check_win32 (GSource *source) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:3588,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gsocket.c:3590,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:3588,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:3590,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:3589,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:3591,1
    - Dst: g_new0
      Src: /src/glib/gio/gsocket.c:3593,1
    - Dst: g_socket_receive_message_with_timeout
      Src: /src/glib/gio/gsocket.c:3596,1
    - Dst: g_free
      Src: /src/glib/gio/gsocket.c:3605,1
    - Dst: g_bytes_new_take
      Src: /src/glib/gio/gsocket.c:3611,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gsocket.c:3620,1
    - Dst: g_bytes_new_from_bytes
      Src: /src/glib/gio/gsocket.c:3618,1
    - Dst: g_bytes_new_take
      Src: /src/glib/gio/gsocket.c:3617,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gsocket.c:3623,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gsocket.c:3611,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gsocket.c:3617,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/gsocket.c:3619,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3624
      start: 3576
    functionDepth: 0
    functionLinenumber: 3576
    functionLinenumberEnd: 3624
    functionName: g_socket_receive_bytes_from
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_return_val_if_fail
    - G_IS_CANCELLABLE
    - g_bytes_unref
    - g_bytes_new_take
    - g_socket_receive_message_with_timeout
    - g_bytes_new_from_bytes
    - g_new0
    - g_free
    - G_IS_SOCKET
    linkageType: ''
    returnType: GBytes*
    signature: 'GBytes *g_socket_receive_bytes_from (GSocket *socket, GSocketAddress
      **address, gsize size, gint64 timeout_us, GCancellable *cancellable, GError
      **error) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/glib/gio/gsocket.c:483,1
    - Dst: g_socket_get_option
      Src: /src/glib/gio/gsocket.c:486,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:514,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:488,1
    - Dst: getsockname
      Src: /src/glib/gio/gsocket.c:512,1
    - Dst: g_socket_get_option
      Src: /src/glib/gio/gsocket.c:530,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:532,1
    - Dst: getpeername
      Src: /src/glib/gio/gsocket.c:579,1
    - Dst: g_socket_get_option
      Src: /src/glib/gio/gsocket.c:586,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:599,1
    - Dst: socket_strerror
      Src: /src/glib/gio/gsocket.c:602,1
    - Dst: socket_io_error_from_errno
      Src: /src/glib/gio/gsocket.c:600,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:601,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 57
    argCount: 1
    argNames:
    - socket
    argTypes:
    - GSocket*
    constantsTouched: []
    func_position:
      end: 603
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 603
    functionName: g_socket_details_from_fd
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_socket_get_option
    - g_set_error
    - getsockname
    - getpeername
    - get_socket_errno
    - socket_io_error_from_errno
    - _
    - socket_strerror
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_details_from_fd (GSocket *socket) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_datagram_based
      Src: /src/glib/gio/gsocket.c:1329,1
    - Dst: G_SOCKET
      Src: /src/glib/gio/gsocket.c:1332,1
    - Dst: g_socket_condition_timed_wait
      Src: /src/glib/gio/gsocket.c:1332,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 5
    argNames:
    - datagram_based
    - condition
    - timeout_us
    - cancellable
    - error
    argTypes:
    - GDatagramBased*
    - GIOCondition
    - gint64
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1334
      start: 1322
    functionDepth: 0
    functionLinenumber: 1322
    functionLinenumberEnd: 1334
    functionName: g_socket_datagram_based_condition_wait
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_socket_condition_timed_wait
    - G_SOCKET
    - check_datagram_based
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_socket_datagram_based_condition_wait (GDatagramBased
      *datagram_based, GIOCondition condition, gint64 timeout_us, GCancellable *cancellable,
      GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:1801,1
    - Dst: g_socket_get_option
      Src: /src/glib/gio/gsocket.c:1810,1
    - Dst: g_socket_get_option
      Src: /src/glib/gio/gsocket.c:1805,1
    - Dst: g_return_val_if_reached
      Src: /src/glib/gio/gsocket.c:1814,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:1801,1
    - Dst: g_warning
      Src: /src/glib/gio/gsocket.c:1818,1
    - Dst: g_error_free
      Src: /src/glib/gio/gsocket.c:1819,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - socket
    argTypes:
    - GSocket*
    constantsTouched: []
    func_position:
      end: 1824
      start: 1795
    functionDepth: 0
    functionLinenumber: 1795
    functionLinenumberEnd: 1824
    functionName: g_socket_get_multicast_loopback
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_socket_get_option
    - g_return_val_if_reached
    - g_return_val_if_fail
    - g_warning
    - g_error_free
    - G_IS_SOCKET
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_socket_get_multicast_loopback (GSocket *socket) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:2031,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:2031,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - socket
    argTypes:
    - GSocket*
    constantsTouched: []
    func_position:
      end: 2034
      start: 2028
    functionDepth: 0
    functionLinenumber: 2028
    functionLinenumberEnd: 2034
    functionName: g_socket_get_fd
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_SOCKET
    linkageType: ''
    returnType: int
    signature: 'int g_socket_get_fd (GSocket *socket) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:4607,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:4607,1
    - Dst: g_cancellable_make_pollfd
      Src: /src/glib/gio/gsocket.c:4641,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gsocket.c:4655,1
    - Dst: remove_condition_watch
      Src: /src/glib/gio/gsocket.c:4715,1
    - Dst: g_cancellable_release_fd
      Src: /src/glib/gio/gsocket.c:4751,1
    - Dst: g_poll
      Src: /src/glib/gio/gsocket.c:4737,1
    - Dst: add_condition_watch
      Src: /src/glib/gio/gsocket.c:4636,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/gsocket.c:4680,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:4689,1
    - Dst: socket_strerror
      Src: /src/glib/gio/gsocket.c:4692,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gsocket.c:4714,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gsocket.c:4760,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/gsocket.c:4623,1
    - Dst: update_condition_unlocked
      Src: /src/glib/gio/gsocket.c:4648,1
    - Dst: WSAWaitForMultipleEvents
      Src: /src/glib/gio/gsocket.c:4657,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:4687,1
    - Dst: socket_io_error_from_errno
      Src: /src/glib/gio/gsocket.c:4690,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gsocket.c:4659,1
    - Dst: g_cancellable_release_fd
      Src: /src/glib/gio/gsocket.c:4717,1
    - Dst: g_cancellable_make_pollfd
      Src: /src/glib/gio/gsocket.c:4731,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/gsocket.c:4744,1
    - Dst: check_socket
      Src: /src/glib/gio/gsocket.c:4609,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gsocket.c:4612,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gsocket.c:4647,1
    - Dst: g_cond_wait_until
      Src: /src/glib/gio/gsocket.c:4668,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:4691,1
    - Dst: g_cond_broadcast
      Src: /src/glib/gio/gsocket.c:4662,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocket.c:4697,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:4698,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gsocket.c:4702,1
    - Dst: update_condition_unlocked
      Src: /src/glib/gio/gsocket.c:4705,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:4756,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/gsocket.c:4709,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocket.c:4755,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 114
    argCount: 5
    argNames:
    - socket
    - condition
    - timeout_us
    - cancellable
    - error
    argTypes:
    - GSocket*
    - GIOCondition
    - gint64
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 4763
      start: 4597
    functionDepth: 0
    functionLinenumber: 4597
    functionLinenumberEnd: 4763
    functionName: g_socket_condition_timed_wait
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_set_error_literal
    - g_cancellable_set_error_if_cancelled
    - g_cancellable_make_pollfd
    - g_mutex_unlock
    - check_socket
    - socket_io_error_from_errno
    - remove_condition_watch
    - g_get_monotonic_time
    - add_condition_watch
    - WSAWaitForMultipleEvents
    - G_IS_SOCKET
    - g_set_error
    - g_cond_broadcast
    - g_mutex_lock
    - update_condition_unlocked
    - get_socket_errno
    - g_poll
    - _
    - g_cond_wait
    - g_return_val_if_fail
    - g_cancellable_release_fd
    - g_cond_wait_until
    - socket_strerror
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_socket_condition_timed_wait (GSocket *socket,\t\t\t GIOCondition\
      \ condition,\t\t\t gint64 timeout_us,\t\t\t GCancellable *cancellable,\t\t\t\
      \ GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WSAGetLastError
      Src: /src/glib/gio/gsocket.c:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 307
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 307
    functionName: get_socket_errno
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - WSAGetLastError
    linkageType: ''
    returnType: int
    signature: 'static int get_socket_errno (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_set_fd_nonblocking
      Src: /src/glib/gio/gsocket.c:619,1
    - Dst: g_warning
      Src: /src/glib/gio/gsocket.c:621,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:629,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gsocket.c:622,1
    - Dst: ioctlsocket
      Src: /src/glib/gio/gsocket.c:627,1
    - Dst: g_warning
      Src: /src/glib/gio/gsocket.c:630,1
    - Dst: socket_strerror
      Src: /src/glib/gio/gsocket.c:630,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 633
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 633
    functionName: socket_set_nonblock
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_warning
    - get_socket_errno
    - ioctlsocket
    - socket_strerror
    - g_unix_set_fd_nonblocking
    linkageType: ''
    returnType: void
    signature: 'static void socket_set_nonblock (int fd) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: update_condition
      Src: /src/glib/gio/gsocket.c:4278,1
    - Dst: g_source_query_unix_fd
      Src: /src/glib/gio/gsocket.c:4289,1
    - Dst: g_source_remove_unix_fd
      Src: /src/glib/gio/gsocket.c:4283,1
    - Dst: g_source_get_ready_time
      Src: /src/glib/gio/gsocket.c:4293,1
    - Dst: g_socket_is_closed
      Src: /src/glib/gio/gsocket.c:4280,1
    - Dst: g_source_get_time
      Src: /src/glib/gio/gsocket.c:4294,1
    - Dst: g_socket_is_closed
      Src: /src/glib/gio/gsocket.c:4295,1
    - Dst: g_socket_is_closed
      Src: /src/glib/gio/gsocket.c:4303,1
    - Dst: g_source_set_ready_time
      Src: /src/glib/gio/gsocket.c:4304,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/gsocket.c:4304,1
    - Dst: g_source_set_ready_time
      Src: /src/glib/gio/gsocket.c:4306,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 3
    argNames:
    - source
    - callback
    - user_data
    argTypes:
    - GSource*
    - GSourceFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 4309
      start: 4262
    functionDepth: 0
    functionLinenumber: 4262
    functionLinenumberEnd: 4309
    functionName: socket_source_dispatch
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_source_get_time
    - g_source_get_ready_time
    - g_source_query_unix_fd
    - g_source_remove_unix_fd
    - update_condition
    - g_get_monotonic_time
    - g_source_set_ready_time
    - g_socket_is_closed
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean socket_source_dispatch (GSource *source,\t\t\tGSourceFunc\
      \ callback,\t\t\tgpointer user_data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsocket.c:1768,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:1768,1
    - Dst: g_error_free
      Src: /src/glib/gio/gsocket.c:1776,1
    - Dst: g_warning
      Src: /src/glib/gio/gsocket.c:1775,1
    - Dst: g_socket_set_option
      Src: /src/glib/gio/gsocket.c:1772,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gsocket.c:1780,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocket.c:1780,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - socket
    - broadcast
    argTypes:
    - GSocket*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1781
      start: 1762
    functionDepth: 0
    functionLinenumber: 1762
    functionLinenumberEnd: 1781
    functionName: g_socket_set_broadcast
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_warning
    - g_return_if_fail
    - g_object_notify
    - G_OBJECT
    - g_error_free
    - g_socket_set_option
    - G_IS_SOCKET
    linkageType: ''
    returnType: void
    signature: "void g_socket_set_broadcast (GSocket *socket, \t gboolean broadcast) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:3259,1
    - Dst: g_socket_get_option
      Src: /src/glib/gio/gsocket.c:3265,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gsocket.c:3270,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:3259,1
    - Dst: check_socket
      Src: /src/glib/gio/gsocket.c:3261,1
    - Dst: g_once_init_enter_pointer
      Src: /src/glib/gio/gsocket.c:3270,1
    - Dst: g_once_init_leave_pointer
      Src: /src/glib/gio/gsocket.c:3271,1
    - Dst: g_malloc
      Src: /src/glib/gio/gsocket.c:3271,1
    - Dst: recv
      Src: /src/glib/gio/gsocket.c:3276,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:3279,1
    - Dst: ioctlsocket
      Src: /src/glib/gio/gsocket.c:3291,1
    - Dst: ioctl
      Src: /src/glib/gio/gsocket.c:3293,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 1
    argNames:
    - socket
    argTypes:
    - GSocket*
    constantsTouched: []
    func_position:
      end: 3300
      start: 3246
    functionDepth: 0
    functionLinenumber: 3246
    functionLinenumberEnd: 3300
    functionName: g_socket_get_available_bytes
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_socket_get_option
    - g_once_init_leave_pointer
    - g_return_val_if_fail
    - recv
    - ioctl
    - check_socket
    - g_malloc
    - get_socket_errno
    - G_UNLIKELY
    - g_once_init_enter_pointer
    - ioctlsocket
    - G_IS_SOCKET
    linkageType: ''
    returnType: gssize
    signature: 'gssize g_socket_get_available_bytes (GSocket *socket) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_receive_with_timeout
      Src: /src/glib/gio/gsocket.c:3543,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 6
    argNames:
    - socket
    - buffer
    - size
    - blocking
    - cancellable
    - error
    argTypes:
    - GSocket*
    - gchar*
    - gsize
    - gboolean
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 3545
      start: 3535
    functionDepth: 0
    functionLinenumber: 3535
    functionLinenumberEnd: 3545
    functionName: g_socket_receive_with_blocking
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_socket_receive_with_timeout
    linkageType: ''
    returnType: gssize
    signature: "gssize g_socket_receive_with_blocking (GSocket *socket,\t\t\t\tgchar\
      \ *buffer,\t\t\t\tgsize size,\t\t\t\tgboolean blocking,\t\t\t\tGCancellable\
      \ *cancellable,\t\t\t\tGError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:4562,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:4562,1
    - Dst: g_socket_condition_timed_wait
      Src: /src/glib/gio/gsocket.c:4564,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - socket
    - condition
    - cancellable
    - error
    argTypes:
    - GSocket*
    - GIOCondition
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 4566
      start: 4556
    functionDepth: 0
    functionLinenumber: 4556
    functionLinenumberEnd: 4566
    functionName: g_socket_condition_wait
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_socket_condition_timed_wait
    - g_return_val_if_fail
    - G_IS_SOCKET
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_socket_condition_wait (GSocket *socket,\t\t\t GIOCondition\
      \ condition,\t\t\t GCancellable *cancellable,\t\t\t GError **error) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:3192,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:3192,1
    - Dst: check_socket
      Src: /src/glib/gio/gsocket.c:3194,1
    - Dst: g_socket_get_option
      Src: /src/glib/gio/gsocket.c:3200,1
    - Dst: check_timeout
      Src: /src/glib/gio/gsocket.c:3197,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/gsocket.c:3202,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:3202,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocket.c:3208,1
    - Dst: socket_io_error_from_errno
      Src: /src/glib/gio/gsocket.c:3208,1
    - Dst: socket_strerror
      Src: /src/glib/gio/gsocket.c:3209,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocket.c:3212,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - socket
    - error
    argTypes:
    - GSocket*
    - GError**
    constantsTouched: []
    func_position:
      end: 3222
      start: 3186
    functionDepth: 0
    functionLinenumber: 3186
    functionLinenumberEnd: 3222
    functionName: g_socket_check_connect_result
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_socket_get_option
    - g_return_val_if_fail
    - g_object_unref
    - g_prefix_error
    - check_socket
    - socket_io_error_from_errno
    - check_timeout
    - g_set_error_literal
    - _
    - socket_strerror
    - G_IS_SOCKET
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_socket_check_connect_result (GSocket *socket,\t\t\t GError\
      \ **error) "
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - condition
    argTypes:
    - GIOCondition
    constantsTouched: []
    func_position:
      end: 4066
      start: 4054
    functionDepth: 0
    functionLinenumber: 4054
    functionLinenumberEnd: 4066
    functionName: network_events_for_condition
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint
    signature: 'static gint network_events_for_condition (GIOCondition condition) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:5451,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:5451,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/gsocket.c:5456,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gsocket.c:5464,1
    - Dst: g_newa
      Src: /src/glib/gio/gsocket.c:5481,1
    - Dst: output_message_to_msghdr
      Src: /src/glib/gio/gsocket.c:5491,1
    - Dst: block_on_timeout
      Src: /src/glib/gio/gsocket.c:5520,1
    - Dst: g_socket_send_message_with_timeout
      Src: /src/glib/gio/gsocket.c:5567,1
    - Dst: socket_set_error_lazy
      Src: /src/glib/gio/gsocket.c:5579,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:5579,1
    - Dst: socket_set_error_lazy
      Src: /src/glib/gio/gsocket.c:5581,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:5581,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gsocket.c:5453,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:5452,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:5454,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gsocket.c:5497,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:5511,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/gsocket.c:5594,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gsocket.c:5609,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:5453,1
    - Dst: check_socket
      Src: /src/glib/gio/gsocket.c:5458,1
    - Dst: check_timeout
      Src: /src/glib/gio/gsocket.c:5461,1
    - Dst: sendmmsg
      Src: /src/glib/gio/gsocket.c:5506,1
    - Dst: socket_set_error_lazy
      Src: /src/glib/gio/gsocket.c:5539,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gsocket.c:5525,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:5539,1
    - Dst: MAX
      Src: /src/glib/gio/gsocket.c:5595,1
    - Dst: g_error_free
      Src: /src/glib/gio/gsocket.c:5604,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 106
    argCount: 7
    argNames:
    - socket
    - messages
    - num_messages
    - flags
    - timeout_us
    - cancellable
    - error
    argTypes:
    - GSocket*
    - GOutputMessage*
    - guint
    - gint
    - gint64
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 5620
      start: 5440
    functionDepth: 0
    functionLinenumber: 5440
    functionLinenumberEnd: 5620
    functionName: g_socket_send_messages_with_timeout
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_newa
    - g_cancellable_set_error_if_cancelled
    - check_socket
    - G_IS_CANCELLABLE
    - check_timeout
    - g_error_free
    - g_get_monotonic_time
    - G_IS_SOCKET
    - get_socket_errno
    - g_socket_send_message_with_timeout
    - MAX
    - _
    - sendmmsg
    - block_on_timeout
    - output_message_to_msghdr
    - g_propagate_error
    - g_clear_error
    - g_return_val_if_fail
    - socket_set_error_lazy
    linkageType: ''
    returnType: gint
    signature: 'static gint g_socket_send_messages_with_timeout (GSocket *socket,
      GOutputMessage *messages, guint num_messages, gint flags, gint64 timeout_us,
      GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WSACreateEvent
      Src: /src/glib/gio/gsocket.c:4072,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - socket
    argTypes:
    - GSocket*
    constantsTouched: []
    func_position:
      end: 4073
      start: 4068
    functionDepth: 0
    functionLinenumber: 4068
    functionLinenumberEnd: 4073
    functionName: ensure_event
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - WSACreateEvent
    linkageType: ''
    returnType: void
    signature: 'static void ensure_event (GSocket *socket) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/glib/gio/gsocket.c:5646,1
    - Dst: g_socket_address_new_from_native
      Src: /src/glib/gio/gsocket.c:5660,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocket.c:5648,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/gsocket.c:5649,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocket.c:5664,1
    - Dst: g_free
      Src: /src/glib/gio/gsocket.c:5665,1
    - Dst: g_memdup2
      Src: /src/glib/gio/gsocket.c:5668,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocket.c:5670,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/gsocket.c:5671,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5674
      start: 5622
    functionDepth: 0
    functionLinenumber: 5622
    functionLinenumberEnd: 5674
    functionName: cache_recv_address
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_socket_address_new_from_native
    - g_object_unref
    - g_object_ref
    - g_get_monotonic_time
    - g_memdup2
    - g_free
    - memcmp
    linkageType: ''
    returnType: GSocketAddress*
    signature: 'static GSocketAddress *cache_recv_address (GSocket *socket, struct
      sockaddr *native, size_t native_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:2141,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:2141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - socket
    argTypes:
    - GSocket*
    constantsTouched: []
    func_position:
      end: 2144
      start: 2138
    functionDepth: 0
    functionLinenumber: 2138
    functionLinenumberEnd: 2144
    functionName: g_socket_is_connected
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_SOCKET
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_socket_is_connected (GSocket *socket) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:2096,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:2096,1
    - Dst: getpeername
      Src: /src/glib/gio/gsocket.c:2108,1
    - Dst: g_socket_check_connect_result
      Src: /src/glib/gio/gsocket.c:2100,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:2110,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:2111,1
    - Dst: socket_io_error_from_errno
      Src: /src/glib/gio/gsocket.c:2111,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:2112,1
    - Dst: socket_strerror
      Src: /src/glib/gio/gsocket.c:2112,1
    - Dst: g_socket_address_new_from_native
      Src: /src/glib/gio/gsocket.c:2116,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocket.c:2119,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2120
      start: 2086
    functionDepth: 0
    functionLinenumber: 2086
    functionLinenumberEnd: 2120
    functionName: g_socket_get_remote_address
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_return_val_if_fail
    - g_socket_address_new_from_native
    - getpeername
    - g_socket_check_connect_result
    - get_socket_errno
    - socket_io_error_from_errno
    - g_object_ref
    - _
    - socket_strerror
    - G_IS_SOCKET
    linkageType: ''
    returnType: GSocketAddress*
    signature: "GSocketAddress *g_socket_get_remote_address (GSocket *socket,\t\t\t\
      \ GError **error) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/gio/gsocket.c:386,1
    - Dst: G_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/gsocket.c:390,1
    - Dst: g_inet_address_get_family
      Src: /src/glib/gio/gsocket.c:392,1
    - Dst: g_inet_socket_address_get_address
      Src: /src/glib/gio/gsocket.c:391,1
    - Dst: G_IS_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/gsocket.c:388,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gsocket.c:398,1
    - Dst: g_inet_address_to_string
      Src: /src/glib/gio/gsocket.c:400,1
    - Dst: g_string_append
      Src: /src/glib/gio/gsocket.c:401,1
    - Dst: g_free
      Src: /src/glib/gio/gsocket.c:402,1
    - Dst: g_inet_socket_address_get_scope_id
      Src: /src/glib/gio/gsocket.c:406,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gsocket.c:416,1
    - Dst: g_inet_socket_address_get_port
      Src: /src/glib/gio/gsocket.c:416,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gsocket.c:421,1
    - Dst: g_string_free
      Src: /src/glib/gio/gsocket.c:424,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gsocket.c:409,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gsocket.c:414,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/gsocket.c:421,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gsocket.c:411,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 425
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 425
    functionName: address_to_string
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_inet_socket_address_get_address
    - G_IS_INET_SOCKET_ADDRESS
    - G_OBJECT_TYPE_NAME
    - g_string_append_c
    - g_inet_address_to_string
    - g_string_append_printf
    - g_string_free
    - g_inet_socket_address_get_port
    - g_string_new
    - G_INET_SOCKET_ADDRESS
    - g_inet_address_get_family
    - g_free
    - g_string_append
    - g_inet_socket_address_get_scope_id
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *address_to_string (GSocketAddress *address) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:1972,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:1972,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - socket
    argTypes:
    - GSocket*
    constantsTouched: []
    func_position:
      end: 1975
      start: 1969
    functionDepth: 0
    functionLinenumber: 1969
    functionLinenumberEnd: 1975
    functionName: g_socket_get_family
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_SOCKET
    linkageType: ''
    returnType: GSocketFamily
    signature: 'GSocketFamily g_socket_get_family (GSocket *socket) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsocket.c:1490,1
    - Dst: g_socket_set_option
      Src: /src/glib/gio/gsocket.c:1496,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:1490,1
    - Dst: g_warning
      Src: /src/glib/gio/gsocket.c:1499,1
    - Dst: g_error_free
      Src: /src/glib/gio/gsocket.c:1500,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gsocket.c:1505,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocket.c:1505,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - socket
    - keepalive
    argTypes:
    - GSocket*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1506
      start: 1484
    functionDepth: 0
    functionLinenumber: 1484
    functionLinenumberEnd: 1506
    functionName: g_socket_set_keepalive
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_warning
    - g_return_if_fail
    - g_object_notify
    - G_OBJECT
    - g_error_free
    - g_socket_set_option
    - G_IS_SOCKET
    linkageType: ''
    returnType: void
    signature: "void g_socket_set_keepalive (GSocket *socket,\t\t\tgboolean keepalive) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsocket.c:1932,1
    - Dst: g_socket_set_option
      Src: /src/glib/gio/gsocket.c:1943,1
    - Dst: g_socket_set_option
      Src: /src/glib/gio/gsocket.c:1941,1
    - Dst: g_socket_set_option
      Src: /src/glib/gio/gsocket.c:1936,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:1932,1
    - Dst: g_return_if_reached
      Src: /src/glib/gio/gsocket.c:1947,1
    - Dst: g_warning
      Src: /src/glib/gio/gsocket.c:1951,1
    - Dst: g_error_free
      Src: /src/glib/gio/gsocket.c:1952,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gsocket.c:1956,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocket.c:1956,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - socket
    - ttl
    argTypes:
    - GSocket*
    - guint
    constantsTouched: []
    func_position:
      end: 1957
      start: 1926
    functionDepth: 0
    functionLinenumber: 1926
    functionLinenumberEnd: 1957
    functionName: g_socket_set_multicast_ttl
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_return_if_reached
    - g_warning
    - g_return_if_fail
    - g_object_notify
    - G_OBJECT
    - g_error_free
    - g_socket_set_option
    - G_IS_SOCKET
    linkageType: ''
    returnType: void
    signature: 'void g_socket_set_multicast_ttl (GSocket *socket, guint ttl) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:3974,1
    - Dst: close
      Src: /src/glib/gio/gsocket.c:3987,1
    - Dst: check_socket
      Src: /src/glib/gio/gsocket.c:3979,1
    - Dst: closesocket
      Src: /src/glib/gio/gsocket.c:3985,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:3974,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:3991,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:3996,1
    - Dst: socket_io_error_from_errno
      Src: /src/glib/gio/gsocket.c:3997,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:3998,1
    - Dst: socket_strerror
      Src: /src/glib/gio/gsocket.c:3999,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocket.c:4011,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - socket
    - error
    argTypes:
    - GSocket*
    - GError**
    constantsTouched: []
    func_position:
      end: 4016
      start: 3968
    functionDepth: 0
    functionLinenumber: 3968
    functionLinenumberEnd: 4016
    functionName: g_socket_close
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_return_val_if_fail
    - g_object_unref
    - closesocket
    - check_socket
    - get_socket_errno
    - socket_io_error_from_errno
    - close
    - _
    - socket_strerror
    - G_IS_SOCKET
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_socket_close (GSocket *socket,\t\tGError **error) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_alloca
      Src: /src/glib/gio/gsocket.c:4877,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gsocket.c:4890,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gsocket.c:4889,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gsocket.c:4892,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gsocket.c:4893,1
    - Dst: g_newa
      Src: /src/glib/gio/gsocket.c:4904,1
    - Dst: g_alloca
      Src: /src/glib/gio/gsocket.c:4922,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 2
    argNames:
    - message
    - msg
    argTypes:
    - message
    - msg
    constantsTouched: []
    func_position:
      end: 4927
      start: 4866
    functionDepth: 0
    functionLinenumber: 4866
    functionLinenumberEnd: 4927
    functionName: input_message_to_msghdr
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - G_STRUCT_OFFSET
    - g_newa
    - g_alloca
    linkageType: ''
    returnType: G_STMT_END
    signature: 'G_STMT_END #define input_message_to_msghdr(message, msg) \G_STMT_START '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:1456,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:1456,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - socket
    argTypes:
    - GSocket*
    constantsTouched: []
    func_position:
      end: 1459
      start: 1453
    functionDepth: 0
    functionLinenumber: 1453
    functionLinenumberEnd: 1459
    functionName: g_socket_get_blocking
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_SOCKET
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_socket_get_blocking (GSocket *socket) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:2009,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:2009,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - socket
    argTypes:
    - GSocket*
    constantsTouched: []
    func_position:
      end: 2012
      start: 2006
    functionDepth: 0
    functionLinenumber: 2006
    functionLinenumberEnd: 2012
    functionName: g_socket_get_protocol
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_SOCKET
    linkageType: ''
    returnType: GSocketProtocol
    signature: 'GSocketProtocol g_socket_get_protocol (GSocket *socket) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:3888,1
    - Dst: check_socket
      Src: /src/glib/gio/gsocket.c:3890,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:3888,1
    - Dst: shutdown
      Src: /src/glib/gio/gsocket.c:3913,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:3915,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:3916,1
    - Dst: socket_io_error_from_errno
      Src: /src/glib/gio/gsocket.c:3916,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:3917,1
    - Dst: socket_strerror
      Src: /src/glib/gio/gsocket.c:3917,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 26
    argCount: 4
    argNames:
    - socket
    - shutdown_read
    - shutdown_write
    - error
    argTypes:
    - GSocket*
    - gboolean
    - gboolean
    - GError**
    constantsTouched: []
    func_position:
      end: 3927
      start: 3880
    functionDepth: 0
    functionLinenumber: 3880
    functionLinenumberEnd: 3927
    functionName: g_socket_shutdown
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_return_val_if_fail
    - check_socket
    - get_socket_errno
    - socket_io_error_from_errno
    - G_IS_SOCKET
    - _
    - socket_strerror
    - shutdown
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_socket_shutdown (GSocket *socket,\t\t gboolean shutdown_read,\t\
      \t gboolean shutdown_write,\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:1541,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:1541,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - socket
    argTypes:
    - GSocket*
    constantsTouched: []
    func_position:
      end: 1544
      start: 1538
    functionDepth: 0
    functionLinenumber: 1538
    functionLinenumberEnd: 1544
    functionName: g_socket_get_listen_backlog
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_SOCKET
    linkageType: ''
    returnType: gint
    signature: 'gint g_socket_get_listen_backlog (GSocket *socket) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:1652,1
    - Dst: g_return_val_if_reached
      Src: /src/glib/gio/gsocket.c:1665,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:1652,1
    - Dst: g_socket_get_option
      Src: /src/glib/gio/gsocket.c:1661,1
    - Dst: g_socket_get_option
      Src: /src/glib/gio/gsocket.c:1656,1
    - Dst: g_warning
      Src: /src/glib/gio/gsocket.c:1669,1
    - Dst: g_error_free
      Src: /src/glib/gio/gsocket.c:1670,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - socket
    argTypes:
    - GSocket*
    constantsTouched: []
    func_position:
      end: 1675
      start: 1646
    functionDepth: 0
    functionLinenumber: 1646
    functionLinenumberEnd: 1675
    functionName: g_socket_get_ttl
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_socket_get_option
    - g_return_val_if_reached
    - g_return_val_if_fail
    - g_warning
    - g_error_free
    - G_IS_SOCKET
    linkageType: ''
    returnType: guint
    signature: 'guint g_socket_get_ttl (GSocket *socket) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:1990,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:1990,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - socket
    argTypes:
    - GSocket*
    constantsTouched: []
    func_position:
      end: 1993
      start: 1987
    functionDepth: 0
    functionLinenumber: 1987
    functionLinenumberEnd: 1993
    functionName: g_socket_get_socket_type
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_SOCKET
    linkageType: ''
    returnType: GSocketType
    signature: 'GSocketType g_socket_get_socket_type (GSocket *socket) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gsocket.c:360,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gsocket.c:363,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - socket
    - mask
    argTypes:
    - GSocket*
    - int
    constantsTouched: []
    func_position:
      end: 364
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 364
    functionName: _win32_unset_event_mask
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void _win32_unset_event_mask (GSocket *socket, int mask) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsocket.c:1431,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocket.c:1439,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:1431,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gsocket.c:1439,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - socket
    - blocking
    argTypes:
    - GSocket*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1440
      start: 1427
    functionDepth: 0
    functionLinenumber: 1427
    functionLinenumberEnd: 1440
    functionName: g_socket_set_blocking
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_object_notify
    - G_IS_SOCKET
    - G_OBJECT
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_socket_set_blocking (GSocket *socket,\t\t gboolean blocking) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:1522,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:1522,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - socket
    argTypes:
    - GSocket*
    constantsTouched: []
    func_position:
      end: 1525
      start: 1519
    functionDepth: 0
    functionLinenumber: 1519
    functionLinenumberEnd: 1525
    functionName: g_socket_get_keepalive
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_SOCKET
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_socket_get_keepalive (GSocket *socket) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsocket.c:1626,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:1626,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gsocket.c:1631,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocket.c:1631,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - socket
    - timeout
    argTypes:
    - GSocket*
    - guint
    constantsTouched: []
    func_position:
      end: 1633
      start: 1622
    functionDepth: 0
    functionLinenumber: 1622
    functionLinenumberEnd: 1633
    functionName: g_socket_set_timeout
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_object_notify
    - G_IS_SOCKET
    - G_OBJECT
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_socket_set_timeout (GSocket *socket,\t\t guint timeout) "
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: inet_pton
      Src: /src/glib/gio/gsocket.c:2319,1
    - Dst: strlen
      Src: /src/glib/gio/gsocket.c:2332,1
    - Dst: g_try_malloc
      Src: /src/glib/gio/gsocket.c:2336,1
    - Dst: if_nametoindex
      Src: /src/glib/gio/gsocket.c:2327,1
    - Dst: mbstowcs
      Src: /src/glib/gio/gsocket.c:2338,1
    - Dst: g_try_realloc
      Src: /src/glib/gio/gsocket.c:2351,1
    - Dst: GetAdaptersAddresses
      Src: /src/glib/gio/gsocket.c:2353,1
    - Dst: g_free
      Src: /src/glib/gio/gsocket.c:2362,1
    - Dst: g_free
      Src: /src/glib/gio/gsocket.c:2363,1
    - Dst: _wcsicmp
      Src: /src/glib/gio/gsocket.c:2376,1
    - Dst: stricmp
      Src: /src/glib/gio/gsocket.c:2381,1
    - Dst: g_free
      Src: /src/glib/gio/gsocket.c:2399,1
    - Dst: g_free
      Src: /src/glib/gio/gsocket.c:2400,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 68
    argCount: 1
    argNames:
    - name_or_ip
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 2403
      start: 2292
    functionDepth: 0
    functionLinenumber: 2292
    functionLinenumberEnd: 2403
    functionName: g_socket_w32_get_adapter_ipv4_addr
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - strlen
    - inet_pton
    - stricmp
    - _wcsicmp
    - g_try_malloc
    - g_try_realloc
    - if_nametoindex
    - GetAdaptersAddresses
    - mbstowcs
    - g_free
    linkageType: ''
    returnType: gulong
    signature: 'static gulong g_socket_w32_get_adapter_ipv4_addr (const gchar *name_or_ip) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 3
    argNames:
    - source
    - callback
    - user_data
    argTypes:
    - GSource*
    - GSourceFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 4041
      start: 4035
    functionDepth: 0
    functionLinenumber: 4035
    functionLinenumberEnd: 4041
    functionName: broken_dispatch
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean broken_dispatch (GSource *source,\t\t GSourceFunc\
      \ callback,\t\t gpointer user_data) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:6489,1
    - Dst: getsockopt
      Src: /src/glib/gio/gsocket.c:6498,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:6489,1
    - Dst: check_socket
      Src: /src/glib/gio/gsocket.c:6493,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:6500,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocket.c:6502,1
    - Dst: socket_io_error_from_errno
      Src: /src/glib/gio/gsocket.c:6504,1
    - Dst: socket_strerror
      Src: /src/glib/gio/gsocket.c:6505,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 5
    argNames:
    - socket
    - level
    - optname
    - value
    - error
    argTypes:
    - GSocket*
    - gint
    - gint
    - gint*
    - GError**
    constantsTouched: []
    func_position:
      end: 6522
      start: 6480
    functionDepth: 0
    functionLinenumber: 6480
    functionLinenumberEnd: 6522
    functionName: g_socket_get_option
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - getsockopt
    - check_socket
    - get_socket_errno
    - socket_io_error_from_errno
    - g_set_error_literal
    - socket_strerror
    - G_IS_SOCKET
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_socket_get_option (GSocket *socket,\t\t gint level,\t\t\
      \ gint optname,\t\t gint *value,\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET
      Src: /src/glib/gio/gsocket.c:1404,1
    - Dst: g_initable_new
      Src: /src/glib/gio/gsocket.c:1404,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1408
      start: 1400
    functionDepth: 0
    functionLinenumber: 1400
    functionLinenumberEnd: 1408
    functionName: g_socket_new_from_fd
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - G_SOCKET
    - g_initable_new
    linkageType: ''
    returnType: GSocket*
    signature: "GSocket *g_socket_new_from_fd (gint fd,\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - socket
    argTypes:
    - GSocket*
    constantsTouched: []
    func_position:
      end: 4032
      start: 4028
    functionDepth: 0
    functionLinenumber: 4028
    functionLinenumberEnd: 4032
    functionName: g_socket_is_closed
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_socket_is_closed (GSocket *socket) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:6295,1
    - Dst: g_credentials_new
      Src: /src/glib/gio/gsocket.c:6316,1
    - Dst: g_credentials_set_native
      Src: /src/glib/gio/gsocket.c:6317,1
    - Dst: getsockopt
      Src: /src/glib/gio/gsocket.c:6327,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:6355,1
    - Dst: _g_credentials_set_local_peerid
      Src: /src/glib/gio/gsocket.c:6350,1
    - Dst: g_credentials_set_native
      Src: /src/glib/gio/gsocket.c:6391,1
    - Dst: g_credentials_new
      Src: /src/glib/gio/gsocket.c:6420,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:6434,1
    - Dst: socket_strerror
      Src: /src/glib/gio/gsocket.c:6438,1
    - Dst: check_socket
      Src: /src/glib/gio/gsocket.c:6298,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:6296,1
    - Dst: getsockopt
      Src: /src/glib/gio/gsocket.c:6310,1
    - Dst: getsockopt
      Src: /src/glib/gio/gsocket.c:6345,1
    - Dst: getsockopt
      Src: /src/glib/gio/gsocket.c:6384,1
    - Dst: g_credentials_new
      Src: /src/glib/gio/gsocket.c:6390,1
    - Dst: getpeerucred
      Src: /src/glib/gio/gsocket.c:6400,1
    - Dst: g_credentials_new
      Src: /src/glib/gio/gsocket.c:6402,1
    - Dst: ucred_free
      Src: /src/glib/gio/gsocket.c:6406,1
    - Dst: WSAIoctl
      Src: /src/glib/gio/gsocket.c:6413,1
    - Dst: socket_io_error_from_errno
      Src: /src/glib/gio/gsocket.c:6436,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:6374,1
    - Dst: g_credentials_set_native
      Src: /src/glib/gio/gsocket.c:6421,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:6432,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocket.c:6443,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:6295,1
    - Dst: g_credentials_new
      Src: /src/glib/gio/gsocket.c:6339,1
    - Dst: g_credentials_set_native
      Src: /src/glib/gio/gsocket.c:6340,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocket.c:6371,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:6363,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/gsocket.c:6362,1
    - Dst: g_credentials_set_native
      Src: /src/glib/gio/gsocket.c:6403,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:6446,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:6437,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 72
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6450
      start: 6289
    functionDepth: 0
    functionLinenumber: 6289
    functionLinenumberEnd: 6450
    functionName: g_socket_get_credentials
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_credentials_set_native
    - g_return_val_if_fail
    - _g_credentials_set_local_peerid
    - getsockopt
    - g_prefix_error
    - getpeerucred
    - check_socket
    - get_socket_errno
    - socket_io_error_from_errno
    - g_set_error_literal
    - socket_strerror
    - _
    - WSAIoctl
    - ucred_free
    - g_credentials_new
    - G_IS_SOCKET
    linkageType: ''
    returnType: GCredentials*
    signature: 'GCredentials *g_socket_get_credentials (GSocket *socket, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ensure_event
      Src: /src/glib/gio/gsocket.c:4377,1
    - Dst: g_source_new
      Src: /src/glib/gio/gsocket.c:4394,1
    - Dst: g_cancellable_source_new
      Src: /src/glib/gio/gsocket.c:4405,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/gsocket.c:4422,1
    - Dst: g_warning
      Src: /src/glib/gio/gsocket.c:4381,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gsocket.c:4395,1
    - Dst: g_source_set_ready_time
      Src: /src/glib/gio/gsocket.c:4422,1
    - Dst: g_source_set_ready_time
      Src: /src/glib/gio/gsocket.c:4424,1
    - Dst: g_warning
      Src: /src/glib/gio/gsocket.c:4388,1
    - Dst: g_source_new
      Src: /src/glib/gio/gsocket.c:4382,1
    - Dst: add_condition_watch
      Src: /src/glib/gio/gsocket.c:4412,1
    - Dst: g_source_add_unix_fd
      Src: /src/glib/gio/gsocket.c:4418,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gsocket.c:4408,1
    - Dst: check_socket
      Src: /src/glib/gio/gsocket.c:4386,1
    - Dst: g_source_new
      Src: /src/glib/gio/gsocket.c:4389,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocket.c:4398,1
    - Dst: g_source_set_dummy_callback
      Src: /src/glib/gio/gsocket.c:4407,1
    - Dst: g_source_add_poll
      Src: /src/glib/gio/gsocket.c:4416,1
    - Dst: g_source_add_child_source
      Src: /src/glib/gio/gsocket.c:4406,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4427
      start: 4368
    functionDepth: 0
    functionLinenumber: 4368
    functionLinenumberEnd: 4427
    functionName: socket_source_new
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_source_new
    - g_warning
    - g_cancellable_source_new
    - check_socket
    - g_source_add_poll
    - add_condition_watch
    - g_source_unref
    - ensure_event
    - g_object_ref
    - g_get_monotonic_time
    - g_source_add_child_source
    - g_source_set_ready_time
    - g_source_set_dummy_callback
    - g_source_add_unix_fd
    - g_source_set_static_name
    linkageType: ''
    returnType: GSource*
    signature: "static GSource *socket_source_new (GSocket *socket,\t\t GIOCondition\
      \ condition,\t\t GCancellable *cancellable) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:1890,1
    - Dst: g_socket_get_option
      Src: /src/glib/gio/gsocket.c:1899,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:1890,1
    - Dst: g_socket_get_option
      Src: /src/glib/gio/gsocket.c:1894,1
    - Dst: g_return_val_if_reached
      Src: /src/glib/gio/gsocket.c:1903,1
    - Dst: g_warning
      Src: /src/glib/gio/gsocket.c:1907,1
    - Dst: g_error_free
      Src: /src/glib/gio/gsocket.c:1908,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - socket
    argTypes:
    - GSocket*
    constantsTouched: []
    func_position:
      end: 1913
      start: 1884
    functionDepth: 0
    functionLinenumber: 1884
    functionLinenumberEnd: 1913
    functionName: g_socket_get_multicast_ttl
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_socket_get_option
    - g_return_val_if_reached
    - g_return_val_if_fail
    - g_warning
    - g_error_free
    - G_IS_SOCKET
    linkageType: ''
    returnType: guint
    signature: 'guint g_socket_get_multicast_ttl (GSocket *socket) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET
      Src: /src/glib/gio/gsocket.c:854,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gsocket.c:883,1
    - Dst: g_socket_set_timeout
      Src: /src/glib/gio/gsocket.c:887,1
    - Dst: g_socket_set_broadcast
      Src: /src/glib/gio/gsocket.c:895,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gsocket.c:907,1
    - Dst: g_value_get_enum
      Src: /src/glib/gio/gsocket.c:859,1
    - Dst: g_value_get_enum
      Src: /src/glib/gio/gsocket.c:863,1
    - Dst: g_value_get_int
      Src: /src/glib/gio/gsocket.c:879,1
    - Dst: g_socket_set_keepalive
      Src: /src/glib/gio/gsocket.c:883,1
    - Dst: g_value_get_uint
      Src: /src/glib/gio/gsocket.c:903,1
    - Dst: g_value_get_enum
      Src: /src/glib/gio/gsocket.c:867,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gsocket.c:875,1
    - Dst: g_socket_set_listen_backlog
      Src: /src/glib/gio/gsocket.c:879,1
    - Dst: g_value_get_uint
      Src: /src/glib/gio/gsocket.c:891,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gsocket.c:899,1
    - Dst: g_socket_set_multicast_ttl
      Src: /src/glib/gio/gsocket.c:903,1
    - Dst: g_value_get_int
      Src: /src/glib/gio/gsocket.c:871,1
    - Dst: g_socket_set_blocking
      Src: /src/glib/gio/gsocket.c:875,1
    - Dst: g_value_get_uint
      Src: /src/glib/gio/gsocket.c:887,1
    - Dst: g_socket_set_ttl
      Src: /src/glib/gio/gsocket.c:891,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gsocket.c:895,1
    - Dst: g_socket_set_multicast_loopback
      Src: /src/glib/gio/gsocket.c:899,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 28
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 909
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 909
    functionName: g_socket_set_property
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_socket_set_multicast_loopback
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_socket_set_blocking
    - g_socket_set_ttl
    - g_value_get_boolean
    - g_socket_set_keepalive
    - g_socket_set_timeout
    - g_socket_set_listen_backlog
    - g_socket_set_broadcast
    - g_socket_set_multicast_ttl
    - G_SOCKET
    - g_value_get_uint
    - g_value_get_int
    - g_value_get_enum
    linkageType: ''
    returnType: void
    signature: "static void g_socket_set_property (GObject *object,\t\t guint prop_id,\t\
      \t const GValue *value,\t\t GParamSpec *pspec) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_datagram_based
      Src: /src/glib/gio/gsocket.c:1306,1
    - Dst: G_SOCKET
      Src: /src/glib/gio/gsocket.c:1309,1
    - Dst: g_socket_create_source
      Src: /src/glib/gio/gsocket.c:1309,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1301
    functionDepth: 0
    functionLinenumber: 1301
    functionLinenumberEnd: 1310
    functionName: g_socket_datagram_based_create_source
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - G_SOCKET
    - g_socket_create_source
    - check_datagram_based
    linkageType: ''
    returnType: GSource*
    signature: 'static GSource *g_socket_datagram_based_create_source (GDatagramBased
      *self, GIOCondition condition, GCancellable *cancellable) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsocket.c:1844,1
    - Dst: g_socket_set_option
      Src: /src/glib/gio/gsocket.c:1857,1
    - Dst: g_socket_set_option
      Src: /src/glib/gio/gsocket.c:1850,1
    - Dst: g_socket_set_option
      Src: /src/glib/gio/gsocket.c:1855,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:1844,1
    - Dst: g_return_if_reached
      Src: /src/glib/gio/gsocket.c:1861,1
    - Dst: g_warning
      Src: /src/glib/gio/gsocket.c:1865,1
    - Dst: g_error_free
      Src: /src/glib/gio/gsocket.c:1866,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gsocket.c:1870,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocket.c:1870,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - socket
    - loopback
    argTypes:
    - GSocket*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1871
      start: 1838
    functionDepth: 0
    functionLinenumber: 1838
    functionLinenumberEnd: 1871
    functionName: g_socket_set_multicast_loopback
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_return_if_reached
    - g_warning
    - g_return_if_fail
    - g_object_notify
    - G_OBJECT
    - g_error_free
    - g_socket_set_option
    - G_IS_SOCKET
    linkageType: ''
    returnType: void
    signature: "void g_socket_set_multicast_loopback (GSocket *socket,\t\t\t\t gboolean\
      \ loopback) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET
      Src: /src/glib/gio/gsocket.c:914,1
    - Dst: WSACloseEvent
      Src: /src/glib/gio/gsocket.c:929,1
    - Dst: g_socket_close
      Src: /src/glib/gio/gsocket.c:921,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gsocket.c:917,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocket.c:924,1
    - Dst: g_assert
      Src: /src/glib/gio/gsocket.c:933,1
    - Dst: g_mutex_clear
      Src: /src/glib/gio/gsocket.c:934,1
    - Dst: g_cond_clear
      Src: /src/glib/gio/gsocket.c:935,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocket.c:942,1
    - Dst: g_free
      Src: /src/glib/gio/gsocket.c:943,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsocket.c:948,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsocket.c:947,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 949
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 949
    functionName: g_socket_finalize
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_socket_close
    - g_object_unref
    - g_assert
    - g_mutex_clear
    - G_OBJECT_CLASS
    - G_SOCKET
    - g_cond_clear
    - WSACloseEvent
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_finalize (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_datagram_based
      Src: /src/glib/gio/gsocket.c:1316,1
    - Dst: g_socket_condition_check
      Src: /src/glib/gio/gsocket.c:1319,1
    - Dst: G_SOCKET
      Src: /src/glib/gio/gsocket.c:1319,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - datagram_based
    - condition
    argTypes:
    - GDatagramBased*
    - GIOCondition
    constantsTouched: []
    func_position:
      end: 1320
      start: 1312
    functionDepth: 0
    functionLinenumber: 1312
    functionLinenumberEnd: 1320
    functionName: g_socket_datagram_based_condition_check
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - G_SOCKET
    - g_socket_condition_check
    - check_datagram_based
    linkageType: ''
    returnType: GIOCondition
    signature: 'static GIOCondition g_socket_datagram_based_condition_check (GDatagramBased
      *datagram_based, GIOCondition condition) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:1589,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:1589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - socket
    argTypes:
    - GSocket*
    constantsTouched: []
    func_position:
      end: 1592
      start: 1586
    functionDepth: 0
    functionLinenumber: 1586
    functionLinenumberEnd: 1592
    functionName: g_socket_get_timeout
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_SOCKET
    linkageType: ''
    returnType: guint
    signature: 'guint g_socket_get_timeout (GSocket *socket) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocket.c:3110,1
    - Dst: G_IS_SOCKET_ADDRESS
      Src: /src/glib/gio/gsocket.c:3110,1
    - Dst: check_socket
      Src: /src/glib/gio/gsocket.c:3112,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gsocket.c:3110,1
    - Dst: g_socket_address_to_native
      Src: /src/glib/gio/gsocket.c:3115,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocket.c:3119,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocket.c:3120,1
    - Dst: connect
      Src: /src/glib/gio/gsocket.c:3124,1
    - Dst: g_socket_address_get_native_size
      Src: /src/glib/gio/gsocket.c:3125,1
    - Dst: get_socket_errno
      Src: /src/glib/gio/gsocket.c:3127,1
    - Dst: g_socket_condition_wait
      Src: /src/glib/gio/gsocket.c:3142,1
    - Dst: g_socket_check_connect_result
      Src: /src/glib/gio/gsocket.c:3144,1
    - Dst: _
      Src: /src/glib/gio/gsocket.c:3151,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocket.c:3150,1
    - Dst: win32_unset_event_mask
      Src: /src/glib/gio/gsocket.c:3138,1
    - Dst: win32_unset_event_mask
      Src: /src/glib/gio/gsocket.c:3165,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 34
    argCount: 4
    argNames:
    - socket
    - address
    - cancellable
    - error
    argTypes:
    - GSocket*
    - GSocketAddress*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 3171
      start: 3099
    functionDepth: 0
    functionLinenumber: 3099
    functionLinenumberEnd: 3171
    functionName: g_socket_connect
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_object_unref
    - g_socket_address_get_native_size
    - g_socket_address_to_native
    - g_socket_condition_wait
    - check_socket
    - get_socket_errno
    - g_socket_check_connect_result
    - g_set_error_literal
    - win32_unset_event_mask
    - connect
    - g_object_ref
    - _
    - G_IS_SOCKET_ADDRESS
    - G_IS_SOCKET
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_socket_connect (GSocket *socket,\t\t GSocketAddress *address,\t\
      \t GCancellable *cancellable,\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_send_with_blocking
      Src: /src/glib/gio/gsocket.c:3775,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 5
    argNames:
    - socket
    - buffer
    - size
    - cancellable
    - error
    argTypes:
    - GSocket*
    - gchar*
    - gsize
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 3778
      start: 3768
    functionDepth: 0
    functionLinenumber: 3768
    functionLinenumberEnd: 3778
    functionName: g_socket_send
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_socket_send_with_blocking
    linkageType: ''
    returnType: gssize
    signature: "gssize g_socket_send (GSocket *socket,\t const gchar *buffer,\t gsize\
      \ size,\t GCancellable *cancellable,\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_send_messages_with_timeout
      Src: /src/glib/gio/gsocket.c:5434,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 6
    argNames:
    - socket
    - messages
    - num_messages
    - flags
    - cancellable
    - error
    argTypes:
    - GSocket*
    - GOutputMessage*
    - guint
    - gint
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 5438
      start: 5426
    functionDepth: 0
    functionLinenumber: 5426
    functionLinenumberEnd: 5438
    functionName: g_socket_send_messages
    functionSourceFile: /src/glib/gio/gsocket.c
    functionUses: []
    functionsReached:
    - g_socket_send_messages_with_timeout
    linkageType: ''
    returnType: gint
    signature: "gint g_socket_send_messages (GSocket *socket,\t\t GOutputMessage *messages,\t\
      \t guint num_messages,\t\t gint flags,\t\t GCancellable *cancellable,\t\t GError\
      \ **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_NATIVE_SOCKET_ADDRESS
      Src: /src/glib/gio/gnativesocketaddress.c:59,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gnativesocketaddress.c:64,1
    - Dst: g_free
      Src: /src/glib/gio/gnativesocketaddress.c:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: g_native_socket_address_dispose
    functionSourceFile: /src/glib/gio/gnativesocketaddress.c
    functionUses: []
    functionsReached:
    - G_NATIVE_SOCKET_ADDRESS
    - g_free
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_native_socket_address_dispose (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gnativesocketaddress.c:84,1
    - Dst: G_IS_NATIVE_SOCKET_ADDRESS
      Src: /src/glib/gio/gnativesocketaddress.c:84,1
    - Dst: G_NATIVE_SOCKET_ADDRESS
      Src: /src/glib/gio/gnativesocketaddress.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - address
    argTypes:
    - GSocketAddress*
    constantsTouched: []
    func_position:
      end: 89
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 89
    functionName: g_native_socket_address_get_native_size
    functionSourceFile: /src/glib/gio/gnativesocketaddress.c
    functionUses: []
    functionsReached:
    - G_NATIVE_SOCKET_ADDRESS
    - g_return_val_if_fail
    - G_IS_NATIVE_SOCKET_ADDRESS
    linkageType: ''
    returnType: gssize
    signature: 'static gssize g_native_socket_address_get_native_size (GSocketAddress
      *address) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gnativesocketaddress.c:117,1
    - Dst: G_SOCKET_ADDRESS_CLASS
      Src: /src/glib/gio/gnativesocketaddress.c:118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GNativeSocketAddressClass*
    constantsTouched: []
    func_position:
      end: 125
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 125
    functionName: g_native_socket_address_class_init
    functionSourceFile: /src/glib/gio/gnativesocketaddress.c
    functionUses: []
    functionsReached:
    - G_SOCKET_ADDRESS_CLASS
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_native_socket_address_class_init (GNativeSocketAddressClass
      *klass) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gnativesocketaddress.c:150,1
    - Dst: G_SOCKET_ADDRESS
      Src: /src/glib/gio/gnativesocketaddress.c:159,1
    - Dst: memcpy
      Src: /src/glib/gio/gnativesocketaddress.c:157,1
    - Dst: g_malloc
      Src: /src/glib/gio/gnativesocketaddress.c:155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 160
    functionName: g_native_socket_address_new
    functionSourceFile: /src/glib/gio/gnativesocketaddress.c
    functionUses: []
    functionsReached:
    - memcpy
    - G_SOCKET_ADDRESS
    - g_object_new
    - g_malloc
    linkageType: ''
    returnType: GSocketAddress*
    signature: 'GSocketAddress *g_native_socket_address_new (gpointer native, gsize
      len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gnativesocketaddress.c:72,1
    - Dst: G_NATIVE_SOCKET_ADDRESS
      Src: /src/glib/gio/gnativesocketaddress.c:74,1
    - Dst: G_IS_NATIVE_SOCKET_ADDRESS
      Src: /src/glib/gio/gnativesocketaddress.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - address
    argTypes:
    - GSocketAddress*
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: g_native_socket_address_get_family
    functionSourceFile: /src/glib/gio/gnativesocketaddress.c
    functionUses: []
    functionsReached:
    - G_NATIVE_SOCKET_ADDRESS
    - g_return_val_if_fail
    - G_IS_NATIVE_SOCKET_ADDRESS
    linkageType: ''
    returnType: GSocketFamily
    signature: 'static GSocketFamily g_native_socket_address_get_family (GSocketAddress
      *address) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gnativesocketaddress.c:99,1
    - Dst: G_IS_NATIVE_SOCKET_ADDRESS
      Src: /src/glib/gio/gnativesocketaddress.c:99,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gnativesocketaddress.c:105,1
    - Dst: _
      Src: /src/glib/gio/gnativesocketaddress.c:106,1
    - Dst: G_NATIVE_SOCKET_ADDRESS
      Src: /src/glib/gio/gnativesocketaddress.c:101,1
    - Dst: memcpy
      Src: /src/glib/gio/gnativesocketaddress.c:110,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 4
    argNames:
    - address
    - dest
    - destlen
    - error
    argTypes:
    - GSocketAddress*
    - gpointer
    - gsize
    - GError**
    constantsTouched: []
    func_position:
      end: 112
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 112
    functionName: g_native_socket_address_to_native
    functionSourceFile: /src/glib/gio/gnativesocketaddress.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_return_val_if_fail
    - g_set_error_literal
    - _
    - G_NATIVE_SOCKET_ADDRESS
    - G_IS_NATIVE_SOCKET_ADDRESS
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_native_socket_address_to_native (GSocketAddress
      *address, gpointer dest, gsize destlen, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_native_socket_address_get_instance_private
      Src: /src/glib/gio/gnativesocketaddress.c:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - address
    argTypes:
    - GNativeSocketAddress*
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: g_native_socket_address_init
    functionSourceFile: /src/glib/gio/gnativesocketaddress.c
    functionUses: []
    functionsReached:
    - g_native_socket_address_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_native_socket_address_init (GNativeSocketAddress *address) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gproxyaddressenumerator.c:134,1
    - Dst: g_proxy_supports_hostname
      Src: /src/glib/gio/gproxyaddressenumerator.c:145,1
    - Dst: g_proxy_get_default_for_protocol
      Src: /src/glib/gio/gproxyaddressenumerator.c:142,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gproxyaddressenumerator.c:146,1
    - Dst: g_uri_parse_scheme
      Src: /src/glib/gio/gproxyaddressenumerator.c:135,1
    - Dst: strcmp
      Src: /src/glib/gio/gproxyaddressenumerator.c:149,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gproxyaddressenumerator.c:152,1
    - Dst: g_network_address_new
      Src: /src/glib/gio/gproxyaddressenumerator.c:154,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gproxyaddressenumerator.c:162,1
    - Dst: save_userinfo
      Src: /src/glib/gio/gproxyaddressenumerator.c:174,1
    - Dst: g_warning
      Src: /src/glib/gio/gproxyaddressenumerator.c:169,1
    - Dst: g_socket_connectable_enumerate
      Src: /src/glib/gio/gproxyaddressenumerator.c:179,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gproxyaddressenumerator.c:180,1
    - Dst: g_error_free
      Src: /src/glib/gio/gproxyaddressenumerator.c:171,1
    - Dst: g_network_address_parse_uri
      Src: /src/glib/gio/gproxyaddressenumerator.c:166,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 1
    argNames:
    - priv
    argTypes:
    - GProxyAddressEnumeratorPrivate*
    constantsTouched: []
    func_position:
      end: 183
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 183
    functionName: next_enumerator
    functionSourceFile: /src/glib/gio/gproxyaddressenumerator.c
    functionUses: []
    functionsReached:
    - g_proxy_get_default_for_protocol
    - g_uri_parse_scheme
    - g_object_unref
    - g_warning
    - g_proxy_supports_hostname
    - strcmp
    - g_socket_connectable_enumerate
    - save_userinfo
    - g_network_address_new
    - GLIB_PRIVATE_CALL
    - g_error_free
    - g_object_ref
    - g_network_address_parse_uri
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void next_enumerator (GProxyAddressEnumeratorPrivate *priv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gproxyaddressenumerator.c:333,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gproxyaddressenumerator.c:335,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gproxyaddressenumerator.c:337,1
    - Dst: _
      Src: /src/glib/gio/gproxyaddressenumerator.c:343,1
    - Dst: g_task_return_new_error_literal
      Src: /src/glib/gio/gproxyaddressenumerator.c:342,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gproxyaddressenumerator.c:347,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gproxyaddressenumerator.c:352,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gproxyaddressenumerator.c:353,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - task
    argTypes:
    - GTask*
    constantsTouched: []
    func_position:
      end: 354
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 354
    functionName: complete_async
    functionSourceFile: /src/glib/gio/gproxyaddressenumerator.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_object_unref
    - g_task_return_pointer
    - g_task_return_new_error_literal
    - g_error_matches
    - g_task_get_task_data
    - _
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void complete_async (GTask *task) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gproxyaddressenumerator.c:465,1
    - Dst: g_resolver_lookup_by_name_finish
      Src: /src/glib/gio/gproxyaddressenumerator.c:468,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gproxyaddressenumerator.c:467,1
    - Dst: G_RESOLVER
      Src: /src/glib/gio/gproxyaddressenumerator.c:468,1
    - Dst: return_result
      Src: /src/glib/gio/gproxyaddressenumerator.c:472,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gproxyaddressenumerator.c:475,1
    - Dst: next_proxy
      Src: /src/glib/gio/gproxyaddressenumerator.c:476,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 478
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 478
    functionName: dest_hostname_lookup_cb
    functionSourceFile: /src/glib/gio/gproxyaddressenumerator.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_clear_object
    - next_proxy
    - return_result
    - G_RESOLVER
    - g_task_get_task_data
    - g_resolver_lookup_by_name_finish
    linkageType: ''
    returnType: void
    signature: "static void dest_hostname_lookup_cb (GObject *object,\t\t\t GAsyncResult\
      \ *result,\t\t\t gpointer user_data) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gproxyaddressenumerator.c:520,1
    - Dst: complete_async
      Src: /src/glib/gio/gproxyaddressenumerator.c:530,1
    - Dst: g_proxy_resolver_lookup_finish
      Src: /src/glib/gio/gproxyaddressenumerator.c:523,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gproxyaddressenumerator.c:522,1
    - Dst: G_PROXY_RESOLVER
      Src: /src/glib/gio/gproxyaddressenumerator.c:523,1
    - Dst: next_enumerator
      Src: /src/glib/gio/gproxyaddressenumerator.c:535,1
    - Dst: g_socket_address_enumerator_next_async
      Src: /src/glib/gio/gproxyaddressenumerator.c:538,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gproxyaddressenumerator.c:539,1
    - Dst: complete_async
      Src: /src/glib/gio/gproxyaddressenumerator.c:546,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 547
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 547
    functionName: proxy_lookup_cb
    functionSourceFile: /src/glib/gio/gproxyaddressenumerator.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - next_enumerator
    - g_proxy_resolver_lookup_finish
    - g_task_get_cancellable
    - G_PROXY_RESOLVER
    - complete_async
    - g_task_get_task_data
    - g_socket_address_enumerator_next_async
    linkageType: ''
    returnType: void
    signature: "static void proxy_lookup_cb (GObject *object,\t\t GAsyncResult *result,\t\
      \t gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gproxyaddressenumerator.c:597,1
    - Dst: G_TASK
      Src: /src/glib/gio/gproxyaddressenumerator.c:599,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gproxyaddressenumerator.c:597,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gproxyaddressenumerator.c:599,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 600
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 600
    functionName: g_proxy_address_enumerator_next_finish
    functionSourceFile: /src/glib/gio/gproxyaddressenumerator.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_return_val_if_fail
    - g_task_is_valid
    - g_task_propagate_pointer
    linkageType: ''
    returnType: GSocketAddress*
    signature: "static GSocketAddress *g_proxy_address_enumerator_next_finish (GSocketAddressEnumerator\
      \ *enumerator,\t\t\t\t\tGAsyncResult *result,\t\t\t\t\tGError **error) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GET_PRIVATE
      Src: /src/glib/gio/gproxyaddressenumerator.c:635,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gproxyaddressenumerator.c:651,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gproxyaddressenumerator.c:639,1
    - Dst: g_value_set_uint
      Src: /src/glib/gio/gproxyaddressenumerator.c:643,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gproxyaddressenumerator.c:647,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gproxyaddressenumerator.c:655,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 8
    argCount: 4
    argNames:
    - object
    - property_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 657
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 657
    functionName: g_proxy_address_enumerator_get_property
    functionSourceFile: /src/glib/gio/gproxyaddressenumerator.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_uint
    - GET_PRIVATE
    - g_value_set_string
    - g_value_set_object
    linkageType: ''
    returnType: void
    signature: 'static void g_proxy_address_enumerator_get_property (GObject *object,
      guint property_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_PRIVATE
      Src: /src/glib/gio/gproxyaddressenumerator.c:697,1
    - Dst: g_free
      Src: /src/glib/gio/gproxyaddressenumerator.c:706,1
    - Dst: g_free
      Src: /src/glib/gio/gproxyaddressenumerator.c:705,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gproxyaddressenumerator.c:700,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gproxyaddressenumerator.c:703,1
    - Dst: g_resolver_free_addresses
      Src: /src/glib/gio/gproxyaddressenumerator.c:709,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gproxyaddressenumerator.c:711,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gproxyaddressenumerator.c:714,1
    - Dst: g_free
      Src: /src/glib/gio/gproxyaddressenumerator.c:716,1
    - Dst: g_free
      Src: /src/glib/gio/gproxyaddressenumerator.c:717,1
    - Dst: g_free
      Src: /src/glib/gio/gproxyaddressenumerator.c:718,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gproxyaddressenumerator.c:722,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gproxyaddressenumerator.c:720,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 723
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 723
    functionName: g_proxy_address_enumerator_finalize
    functionSourceFile: /src/glib/gio/gproxyaddressenumerator.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - GET_PRIVATE
    - g_object_unref
    - G_OBJECT_CLASS
    - g_strfreev
    - g_free
    - g_resolver_free_addresses
    linkageType: ''
    returnType: void
    signature: 'static void g_proxy_address_enumerator_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gproxyaddressenumerator.c:114,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gproxyaddressenumerator.c:115,1
    - Dst: g_uri_split_with_user
      Src: /src/glib/gio/gproxyaddressenumerator.c:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - priv
    - proxy
    argTypes:
    - GProxyAddressEnumeratorPrivate*
    - gchar*
    constantsTouched: []
    func_position:
      end: 120
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 120
    functionName: save_userinfo
    functionSourceFile: /src/glib/gio/gproxyaddressenumerator.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_uri_split_with_user
    linkageType: ''
    returnType: void
    signature: 'static void save_userinfo (GProxyAddressEnumeratorPrivate *priv, const
      gchar *proxy) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: g_resolver_lookup_by_name
      Src: /src/glib/gio/gproxyaddressenumerator.c:261,1
    - Dst: g_assert
      Src: /src/glib/gio/gproxyaddressenumerator.c:288,1
    - Dst: g_uri_parse_scheme
      Src: /src/glib/gio/gproxyaddressenumerator.c:290,1
    - Dst: g_object_new
      Src: /src/glib/gio/gproxyaddressenumerator.c:296,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gproxyaddressenumerator.c:318,1
    - Dst: next_enumerator
      Src: /src/glib/gio/gproxyaddressenumerator.c:218,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gproxyaddressenumerator.c:269,1
    - Dst: G_INET_ADDRESS
      Src: /src/glib/gio/gproxyaddressenumerator.c:278,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gproxyaddressenumerator.c:265,1
    - Dst: g_strdup
      Src: /src/glib/gio/gproxyaddressenumerator.c:285,1
    - Dst: G_IS_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/gproxyaddressenumerator.c:288,1
    - Dst: g_inet_address_to_string
      Src: /src/glib/gio/gproxyaddressenumerator.c:279,1
    - Dst: g_free
      Src: /src/glib/gio/gproxyaddressenumerator.c:307,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gproxyaddressenumerator.c:312,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gproxyaddressenumerator.c:317,1
    - Dst: g_assert
      Src: /src/glib/gio/gproxyaddressenumerator.c:196,1
    - Dst: g_free
      Src: /src/glib/gio/gproxyaddressenumerator.c:308,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gproxyaddressenumerator.c:323,1
    - Dst: _
      Src: /src/glib/gio/gproxyaddressenumerator.c:323,1
    - Dst: g_error_free
      Src: /src/glib/gio/gproxyaddressenumerator.c:320,1
    - Dst: GET_PRIVATE
      Src: /src/glib/gio/gproxyaddressenumerator.c:190,1
    - Dst: g_socket_address_enumerator_next
      Src: /src/glib/gio/gproxyaddressenumerator.c:225,1
    - Dst: g_proxy_resolver_lookup
      Src: /src/glib/gio/gproxyaddressenumerator.c:197,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gproxyaddressenumerator.c:233,1
    - Dst: g_resolver_free_addresses
      Src: /src/glib/gio/gproxyaddressenumerator.c:238,1
    - Dst: strcmp
      Src: /src/glib/gio/gproxyaddressenumerator.c:245,1
    - Dst: g_resolver_get_default
      Src: /src/glib/gio/gproxyaddressenumerator.c:260,1
    - Dst: g_list_next
      Src: /src/glib/gio/gproxyaddressenumerator.c:281,1
    - Dst: G_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/gproxyaddressenumerator.c:292,1
    - Dst: g_inet_socket_address_get_address
      Src: /src/glib/gio/gproxyaddressenumerator.c:293,1
    - Dst: g_inet_socket_address_get_port
      Src: /src/glib/gio/gproxyaddressenumerator.c:294,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 95
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 328
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 328
    functionName: g_proxy_address_enumerator_next
    functionSourceFile: /src/glib/gio/gproxyaddressenumerator.c
    functionUses: []
    functionsReached:
    - g_inet_socket_address_get_address
    - GET_PRIVATE
    - g_resolver_get_default
    - strcmp
    - g_socket_address_enumerator_next
    - g_set_error_literal
    - g_inet_socket_address_get_port
    - G_INET_SOCKET_ADDRESS
    - next_enumerator
    - g_uri_parse_scheme
    - g_object_unref
    - G_INET_ADDRESS
    - g_error_free
    - g_list_next
    - G_IS_INET_SOCKET_ADDRESS
    - g_strdup
    - g_object_new
    - _
    - g_proxy_resolver_lookup
    - g_resolver_free_addresses
    - g_propagate_error
    - g_assert
    - g_inet_address_to_string
    - g_error_matches
    - g_resolver_lookup_by_name
    - g_free
    linkageType: ''
    returnType: GSocketAddress*
    signature: "static GSocketAddress *g_proxy_address_enumerator_next (GSocketAddressEnumerator\
      \ *enumerator,\t\t\t\t GCancellable *cancellable,\t\t\t\t GError **error) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gproxyaddressenumerator.c:359,1
    - Dst: g_list_next
      Src: /src/glib/gio/gproxyaddressenumerator.c:384,1
    - Dst: g_inet_address_to_string
      Src: /src/glib/gio/gproxyaddressenumerator.c:382,1
    - Dst: G_INET_ADDRESS
      Src: /src/glib/gio/gproxyaddressenumerator.c:381,1
    - Dst: strcmp
      Src: /src/glib/gio/gproxyaddressenumerator.c:362,1
    - Dst: g_strdup
      Src: /src/glib/gio/gproxyaddressenumerator.c:388,1
    - Dst: g_uri_parse_scheme
      Src: /src/glib/gio/gproxyaddressenumerator.c:390,1
    - Dst: g_assert
      Src: /src/glib/gio/gproxyaddressenumerator.c:392,1
    - Dst: G_IS_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/gproxyaddressenumerator.c:392,1
    - Dst: G_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/gproxyaddressenumerator.c:394,1
    - Dst: g_inet_socket_address_get_address
      Src: /src/glib/gio/gproxyaddressenumerator.c:395,1
    - Dst: g_object_new
      Src: /src/glib/gio/gproxyaddressenumerator.c:398,1
    - Dst: g_free
      Src: /src/glib/gio/gproxyaddressenumerator.c:410,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gproxyaddressenumerator.c:420,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gproxyaddressenumerator.c:414,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gproxyaddressenumerator.c:421,1
    - Dst: g_inet_socket_address_get_port
      Src: /src/glib/gio/gproxyaddressenumerator.c:396,1
    - Dst: g_free
      Src: /src/glib/gio/gproxyaddressenumerator.c:409,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 1
    argNames:
    - task
    argTypes:
    - GTask*
    constantsTouched: []
    func_position:
      end: 422
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 422
    functionName: return_result
    functionSourceFile: /src/glib/gio/gproxyaddressenumerator.c
    functionUses: []
    functionsReached:
    - g_inet_socket_address_get_address
    - g_uri_parse_scheme
    - g_strdup
    - G_IS_INET_SOCKET_ADDRESS
    - g_object_unref
    - g_object_new
    - g_task_return_pointer
    - g_assert
    - g_inet_address_to_string
    - strcmp
    - G_INET_ADDRESS
    - g_list_next
    - g_task_get_task_data
    - g_inet_socket_address_get_port
    - G_INET_SOCKET_ADDRESS
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void return_result (GTask *task) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gproxyaddressenumerator.c:431,1
    - Dst: g_resolver_free_addresses
      Src: /src/glib/gio/gproxyaddressenumerator.c:440,1
    - Dst: next_enumerator
      Src: /src/glib/gio/gproxyaddressenumerator.c:444,1
    - Dst: g_socket_address_enumerator_next_async
      Src: /src/glib/gio/gproxyaddressenumerator.c:448,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gproxyaddressenumerator.c:435,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gproxyaddressenumerator.c:449,1
    - Dst: complete_async
      Src: /src/glib/gio/gproxyaddressenumerator.c:456,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - task
    argTypes:
    - GTask*
    constantsTouched: []
    func_position:
      end: 457
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 457
    functionName: next_proxy
    functionSourceFile: /src/glib/gio/gproxyaddressenumerator.c
    functionUses: []
    functionsReached:
    - next_enumerator
    - g_object_unref
    - g_resolver_free_addresses
    - g_task_get_cancellable
    - complete_async
    - g_task_get_task_data
    - g_socket_address_enumerator_next_async
    linkageType: ''
    returnType: void
    signature: 'static void next_proxy (GTask *task) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gproxyaddressenumerator.c:486,1
    - Dst: g_resolver_get_default
      Src: /src/glib/gio/gproxyaddressenumerator.c:498,1
    - Dst: g_resolver_lookup_by_name_async
      Src: /src/glib/gio/gproxyaddressenumerator.c:499,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gproxyaddressenumerator.c:488,1
    - Dst: g_socket_address_enumerator_next_finish
      Src: /src/glib/gio/gproxyaddressenumerator.c:490,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gproxyaddressenumerator.c:501,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gproxyaddressenumerator.c:504,1
    - Dst: return_result
      Src: /src/glib/gio/gproxyaddressenumerator.c:508,1
    - Dst: next_proxy
      Src: /src/glib/gio/gproxyaddressenumerator.c:511,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 512
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 512
    functionName: address_enumerate_cb
    functionSourceFile: /src/glib/gio/gproxyaddressenumerator.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_socket_address_enumerator_next_finish
    - g_resolver_lookup_by_name_async
    - g_object_unref
    - g_resolver_get_default
    - g_task_get_cancellable
    - next_proxy
    - return_result
    - g_task_get_task_data
    linkageType: ''
    returnType: void
    signature: "static void address_enumerate_cb (GObject\t *object,\t\t GAsyncResult\
      \ *result,\t\t gpointer\t user_data) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_PRIVATE
      Src: /src/glib/gio/gproxyaddressenumerator.c:555,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gproxyaddressenumerator.c:560,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gproxyaddressenumerator.c:559,1
    - Dst: g_proxy_resolver_lookup_async
      Src: /src/glib/gio/gproxyaddressenumerator.c:564,1
    - Dst: g_task_new
      Src: /src/glib/gio/gproxyaddressenumerator.c:558,1
    - Dst: return_result
      Src: /src/glib/gio/gproxyaddressenumerator.c:576,1
    - Dst: g_socket_address_enumerator_next_async
      Src: /src/glib/gio/gproxyaddressenumerator.c:581,1
    - Dst: complete_async
      Src: /src/glib/gio/gproxyaddressenumerator.c:589,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - enumerator
    - cancellable
    - callback
    - user_data
    argTypes:
    - GSocketAddressEnumerator*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 590
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 590
    functionName: g_proxy_address_enumerator_next_async
    functionSourceFile: /src/glib/gio/gproxyaddressenumerator.c
    functionUses: []
    functionsReached:
    - g_task_new
    - GET_PRIVATE
    - g_task_set_source_tag
    - complete_async
    - return_result
    - g_task_set_task_data
    - g_proxy_resolver_lookup_async
    - g_socket_address_enumerator_next_async
    linkageType: ''
    returnType: void
    signature: "static void g_proxy_address_enumerator_next_async (GSocketAddressEnumerator\
      \ *enumerator,\t\t\t\t GCancellable *cancellable,\t\t\t\t GAsyncReadyCallback\
      \ callback,\t\t\t\t gpointer user_data) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_PRIVATE
      Src: /src/glib/gio/gproxyaddressenumerator.c:605,1
    - Dst: g_network_address_parse_uri
      Src: /src/glib/gio/gproxyaddressenumerator.c:611,1
    - Dst: g_object_get
      Src: /src/glib/gio/gproxyaddressenumerator.c:614,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gproxyaddressenumerator.c:620,1
    - Dst: g_warning
      Src: /src/glib/gio/gproxyaddressenumerator.c:623,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gproxyaddressenumerator.c:626,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 627
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 627
    functionName: g_proxy_address_enumerator_constructed
    functionSourceFile: /src/glib/gio/gproxyaddressenumerator.c
    functionUses: []
    functionsReached:
    - g_object_get
    - GET_PRIVATE
    - g_object_unref
    - g_warning
    - G_OBJECT_CLASS
    - g_network_address_parse_uri
    linkageType: ''
    returnType: void
    signature: 'static void g_proxy_address_enumerator_constructed (GObject *object) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GET_PRIVATE
      Src: /src/glib/gio/gproxyaddressenumerator.c:665,1
    - Dst: g_value_get_uint
      Src: /src/glib/gio/gproxyaddressenumerator.c:673,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gproxyaddressenumerator.c:669,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/gproxyaddressenumerator.c:677,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gproxyaddressenumerator.c:682,1
    - Dst: g_value_get_object
      Src: /src/glib/gio/gproxyaddressenumerator.c:683,1
    - Dst: g_proxy_resolver_get_default
      Src: /src/glib/gio/gproxyaddressenumerator.c:685,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gproxyaddressenumerator.c:686,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gproxyaddressenumerator.c:690,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 4
    argNames:
    - object
    - property_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 692
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 692
    functionName: g_proxy_address_enumerator_set_property
    functionSourceFile: /src/glib/gio/gproxyaddressenumerator.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_dup_string
    - GET_PRIVATE
    - g_object_unref
    - g_proxy_resolver_get_default
    - g_value_get_uint
    - g_value_dup_object
    - g_object_ref
    - g_value_get_object
    linkageType: ''
    returnType: void
    signature: 'static void g_proxy_address_enumerator_set_property (GObject *object,
      guint property_id, const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_proxy_address_enumerator_get_instance_private
      Src: /src/glib/gio/gproxyaddressenumerator.c:728,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - GProxyAddressEnumerator*
    constantsTouched: []
    func_position:
      end: 729
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 729
    functionName: g_proxy_address_enumerator_init
    functionSourceFile: /src/glib/gio/gproxyaddressenumerator.c
    functionUses: []
    functionsReached:
    - g_proxy_address_enumerator_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_proxy_address_enumerator_init (GProxyAddressEnumerator
      *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gproxyaddressenumerator.c:734,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gproxyaddressenumerator.c:751,1
    - Dst: G_SOCKET_ADDRESS_ENUMERATOR_CLASS
      Src: /src/glib/gio/gproxyaddressenumerator.c:735,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gproxyaddressenumerator.c:767,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gproxyaddressenumerator.c:753,1
    - Dst: g_param_spec_uint
      Src: /src/glib/gio/gproxyaddressenumerator.c:769,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gproxyaddressenumerator.c:780,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gproxyaddressenumerator.c:782,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gproxyaddressenumerator.c:795,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gproxyaddressenumerator.c:797,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - proxy_enumerator_class
    argTypes:
    - GProxyAddressEnumeratorClass*
    constantsTouched: []
    func_position:
      end: 802
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 802
    functionName: g_proxy_address_enumerator_class_init
    functionSourceFile: /src/glib/gio/gproxyaddressenumerator.c
    functionUses: []
    functionsReached:
    - g_param_spec_object
    - g_object_class_install_property
    - G_SOCKET_ADDRESS_ENUMERATOR_CLASS
    - G_OBJECT_CLASS
    - g_param_spec_string
    - g_param_spec_uint
    linkageType: ''
    returnType: void
    signature: 'static void g_proxy_address_enumerator_class_init (GProxyAddressEnumeratorClass
      *proxy_enumerator_class) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/glocalfileenumerator.c:100,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileenumerator.c:102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - local
    argTypes:
    - GLocalFileEnumerator*
    constantsTouched: []
    func_position:
      end: 105
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 105
    functionName: free_entries
    functionSourceFile: /src/glib/gio/glocalfileenumerator.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void free_entries (GLocalFileEnumerator *local) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/glocalfileenumerator.c:138,1
    - Dst: G_FILE_ENUMERATOR_CLASS
      Src: /src/glib/gio/glocalfileenumerator.c:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GLocalFileEnumeratorClass*
    constantsTouched: []
    func_position:
      end: 145
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 145
    functionName: g_local_file_enumerator_class_init
    functionSourceFile: /src/glib/gio/glocalfileenumerator.c
    functionUses: []
    functionsReached:
    - G_FILE_ENUMERATOR_CLASS
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_local_file_enumerator_class_init (GLocalFileEnumeratorClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 278
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 278
    functionName: sort_by_inode
    functionSourceFile: /src/glib/gio/glocalfileenumerator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int sort_by_inode (const void *_a, const void *_b) '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 2
    argCount: 1
    argNames:
    - d_type
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 301
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 301
    functionName: file_type_from_dirent
    functionSourceFile: /src/glib/gio/glocalfileenumerator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GFileType
    signature: 'static GFileType file_type_from_dirent (char d_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - local
    argTypes:
    - GLocalFileEnumerator*
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: g_local_file_enumerator_init
    functionSourceFile: /src/glib/gio/glocalfileenumerator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_local_file_enumerator_init (GLocalFileEnumerator *local) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE_ENUMERATOR
      Src: /src/glib/gio/glocalfileenumerator.c:112,1
    - Dst: _g_local_file_info_free_parent_info
      Src: /src/glib/gio/glocalfileenumerator.c:115,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileenumerator.c:116,1
    - Dst: g_file_attribute_matcher_unref
      Src: /src/glib/gio/glocalfileenumerator.c:117,1
    - Dst: g_file_attribute_matcher_unref
      Src: /src/glib/gio/glocalfileenumerator.c:118,1
    - Dst: g_dir_close
      Src: /src/glib/gio/glocalfileenumerator.c:122,1
    - Dst: closedir
      Src: /src/glib/gio/glocalfileenumerator.c:124,1
    - Dst: free_entries
      Src: /src/glib/gio/glocalfileenumerator.c:129,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/glocalfileenumerator.c:131,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 132
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 132
    functionName: g_local_file_enumerator_finalize
    functionSourceFile: /src/glib/gio/glocalfileenumerator.c
    functionUses: []
    functionsReached:
    - closedir
    - _g_local_file_info_free_parent_info
    - G_OBJECT_CLASS
    - G_LOCAL_FILE_ENUMERATOR
    - g_file_attribute_matcher_unref
    - free_entries
    - g_free
    - g_dir_close
    linkageType: ''
    returnType: void
    signature: 'static void g_local_file_enumerator_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_attribute_matcher_new
      Src: /src/glib/gio/glocalfileenumerator.c:196,1
    - Dst: g_file_attribute_matcher_unref
      Src: /src/glib/gio/glocalfileenumerator.c:198,1
    - Dst: g_file_attribute_matcher_subtract
      Src: /src/glib/gio/glocalfileenumerator.c:197,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 201
    functionName: g_file_attribute_matcher_subtract_attributes
    functionSourceFile: /src/glib/gio/glocalfileenumerator.c
    functionUses: []
    functionsReached:
    - g_file_attribute_matcher_unref
    - g_file_attribute_matcher_subtract
    - g_file_attribute_matcher_new
    linkageType: ''
    returnType: GFileAttributeMatcher*
    signature: 'static GFileAttributeMatcher *g_file_attribute_matcher_subtract_attributes
      (GFileAttributeMatcher *matcher, const char * attributes) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_file_get_path
      Src: /src/glib/gio/glocalfileenumerator.c:212,1
    - Dst: convert_file_to_io_error
      Src: /src/glib/gio/glocalfileenumerator.c:224,1
    - Dst: g_dir_open
      Src: /src/glib/gio/glocalfileenumerator.c:219,1
    - Dst: g_error_free
      Src: /src/glib/gio/glocalfileenumerator.c:225,1
    - Dst: G_FILE
      Src: /src/glib/gio/glocalfileenumerator.c:212,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileenumerator.c:227,1
    - Dst: opendir
      Src: /src/glib/gio/glocalfileenumerator.c:234,1
    - Dst: g_filename_to_utf8
      Src: /src/glib/gio/glocalfileenumerator.c:240,1
    - Dst: g_set_error
      Src: /src/glib/gio/glocalfileenumerator.c:241,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/glocalfileenumerator.c:242,1
    - Dst: g_strerror
      Src: /src/glib/gio/glocalfileenumerator.c:244,1
    - Dst: g_file_attribute_matcher_subtract_attributes
      Src: /src/glib/gio/glocalfileenumerator.c:260,1
    - Dst: g_object_new
      Src: /src/glib/gio/glocalfileenumerator.c:252,1
    - Dst: g_file_attribute_matcher_new
      Src: /src/glib/gio/glocalfileenumerator.c:258,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileenumerator.c:246,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileenumerator.c:245,1
    - Dst: G_FILE_ENUMERATOR
      Src: /src/glib/gio/glocalfileenumerator.c:266,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 267
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 267
    functionName: _g_local_file_enumerator_new
    functionSourceFile: /src/glib/gio/glocalfileenumerator.c
    functionUses: []
    functionsReached:
    - g_dir_open
    - g_set_error
    - g_io_error_from_errno
    - g_object_new
    - g_filename_to_utf8
    - g_file_attribute_matcher_new
    - opendir
    - G_FILE
    - g_strerror
    - g_file_get_path
    - g_error_free
    - g_file_attribute_matcher_subtract_attributes
    - convert_file_to_io_error
    - G_FILE_ENUMERATOR
    - g_free
    linkageType: ''
    returnType: GFileEnumerator*
    signature: "GFileEnumerator *_g_local_file_enumerator_new (GLocalFile *file,\t\
      \t\t const char *attributes,\t\t\t GFileQueryInfoFlags flags,\t\t\t GCancellable\
      \ *cancellable,\t\t\t GError **error) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/gio/glocalfileenumerator.c:318,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileenumerator.c:323,1
    - Dst: readdir
      Src: /src/glib/gio/glocalfileenumerator.c:328,1
    - Dst: strcmp
      Src: /src/glib/gio/glocalfileenumerator.c:330,1
    - Dst: strcmp
      Src: /src/glib/gio/glocalfileenumerator.c:331,1
    - Dst: readdir
      Src: /src/glib/gio/glocalfileenumerator.c:332,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalfileenumerator.c:336,1
    - Dst: file_type_from_dirent
      Src: /src/glib/gio/glocalfileenumerator.c:339,1
    - Dst: qsort
      Src: /src/glib/gio/glocalfileenumerator.c:350,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 362
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 362
    functionName: next_file_helper
    functionSourceFile: /src/glib/gio/glocalfileenumerator.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_new
    - qsort
    - strcmp
    - file_type_from_dirent
    - readdir
    - g_free
    linkageType: ''
    returnType: char*
    signature: 'static const char *next_file_helper (GLocalFileEnumerator *local,
      GFileType *file_type) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE_ENUMERATOR
      Src: /src/glib/gio/glocalfileenumerator.c:371,1
    - Dst: _g_local_file_info_get_parent_info
      Src: /src/glib/gio/glocalfileenumerator.c:380,1
    - Dst: g_dir_read_name
      Src: /src/glib/gio/glocalfileenumerator.c:390,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/glocalfileenumerator.c:386,1
    - Dst: next_file_helper
      Src: /src/glib/gio/glocalfileenumerator.c:393,1
    - Dst: g_build_filename
      Src: /src/glib/gio/glocalfileenumerator.c:400,1
    - Dst: _g_local_file_info_get
      Src: /src/glib/gio/glocalfileenumerator.c:404,1
    - Dst: _g_local_file_info_get
      Src: /src/glib/gio/glocalfileenumerator.c:412,1
    - Dst: _g_local_file_info_get_nostat
      Src: /src/glib/gio/glocalfileenumerator.c:419,1
    - Dst: g_file_info_set_file_type
      Src: /src/glib/gio/glocalfileenumerator.c:420,1
    - Dst: g_file_info_set_is_symlink
      Src: /src/glib/gio/glocalfileenumerator.c:422,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfileenumerator.c:425,1
    - Dst: g_error_matches
      Src: /src/glib/gio/glocalfileenumerator.c:433,1
    - Dst: g_error_free
      Src: /src/glib/gio/glocalfileenumerator.c:435,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/glocalfileenumerator.c:439,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 443
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 443
    functionName: g_local_file_enumerator_next_file
    functionSourceFile: /src/glib/gio/glocalfileenumerator.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - next_file_helper
    - _g_local_file_info_get
    - g_file_info_set_file_type
    - _g_local_file_info_get_parent_info
    - g_free
    - g_error_matches
    - G_LOCAL_FILE_ENUMERATOR
    - g_dir_read_name
    - g_error_free
    - g_build_filename
    - g_file_info_set_is_symlink
    - _g_local_file_info_get_nostat
    - g_cancellable_set_error_if_cancelled
    linkageType: ''
    returnType: GFileInfo*
    signature: "static GFileInfo *g_local_file_enumerator_next_file (GFileEnumerator\
      \ *enumerator,\t\t\t\t GCancellable *cancellable,\t\t\t\t GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE_ENUMERATOR
      Src: /src/glib/gio/glocalfileenumerator.c:450,1
    - Dst: g_dir_close
      Src: /src/glib/gio/glocalfileenumerator.c:455,1
    - Dst: closedir
      Src: /src/glib/gio/glocalfileenumerator.c:457,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - enumerator
    - cancellable
    - error
    argTypes:
    - GFileEnumerator*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 463
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 463
    functionName: g_local_file_enumerator_close
    functionSourceFile: /src/glib/gio/glocalfileenumerator.c
    functionUses: []
    functionsReached:
    - G_LOCAL_FILE_ENUMERATOR
    - closedir
    - g_dir_close
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_local_file_enumerator_close (GFileEnumerator *enumerator,\t\
      \t\t GCancellable *cancellable,\t\t\t GError **error) "
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glocalfileenumerator.c:185,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 11
    argCount: 2
    argNames:
    - error
    - file_error
    argTypes:
    - GError**
    - GError*
    constantsTouched: []
    func_position:
      end: 188
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 188
    functionName: convert_file_to_io_error
    functionSourceFile: /src/glib/gio/glocalfileenumerator.c
    functionUses: []
    functionsReached:
    - g_set_error_literal
    linkageType: ''
    returnType: void
    signature: "static void convert_file_to_io_error (GError **error,\t\t\t GError\
      \ *file_error) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_warning
      Src: /src/glib/gio/gnetworkmonitornm.c:163,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 1
    argNames:
    - nm_metered
    argTypes:
    - guint
    constantsTouched: []
    func_position:
      end: 166
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 166
    functionName: nm_metered_to_bool
    functionSourceFile: /src/glib/gio/gnetworkmonitornm.c
    functionUses: []
    functionsReached:
    - g_warning
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean nm_metered_to_bool (guint nm_metered) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_NETWORK_MONITOR_NM
      Src: /src/glib/gio/gnetworkmonitornm.c:104,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gnetworkmonitornm.c:113,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gnetworkmonitornm.c:121,1
    - Dst: g_value_set_enum
      Src: /src/glib/gio/gnetworkmonitornm.c:117,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gnetworkmonitornm.c:109,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 124
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 124
    functionName: g_network_monitor_nm_get_property
    functionSourceFile: /src/glib/gio/gnetworkmonitornm.c
    functionUses: []
    functionsReached:
    - G_NETWORK_MONITOR_NM
    - g_value_set_boolean
    - g_value_set_enum
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: 'static void g_network_monitor_nm_get_property (GObject *object, guint
      prop_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sync_properties
      Src: /src/glib/gio/gnetworkmonitornm.c:262,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - proxy
    - changed_properties
    - invalidated_properties
    - nm
    argTypes:
    - GDBusProxy*
    - GVariant*
    - GStrv
    - GNetworkMonitorNM*
    constantsTouched: []
    func_position:
      end: 263
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 263
    functionName: proxy_properties_changed_cb
    functionSourceFile: /src/glib/gio/gnetworkmonitornm.c
    functionUses: []
    functionsReached:
    - sync_properties
    linkageType: ''
    returnType: void
    signature: 'static void proxy_properties_changed_cb (GDBusProxy *proxy, GVariant
      *changed_properties, GStrv invalidated_properties, GNetworkMonitorNM *nm) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_NETWORK_MONITOR_NM
      Src: /src/glib/gio/gnetworkmonitornm.c:287,1
    - Dst: g_dbus_proxy_new_for_bus_sync
      Src: /src/glib/gio/gnetworkmonitornm.c:296,1
    - Dst: g_type_interface_peek_parent
      Src: /src/glib/gio/gnetworkmonitornm.c:292,1
    - Dst: G_NETWORK_MONITOR_NM_GET_INITABLE_IFACE
      Src: /src/glib/gio/gnetworkmonitornm.c:292,1
    - Dst: g_dbus_proxy_get_name_owner
      Src: /src/glib/gio/gnetworkmonitornm.c:307,1
    - Dst: g_set_error
      Src: /src/glib/gio/gnetworkmonitornm.c:311,1
    - Dst: _
      Src: /src/glib/gio/gnetworkmonitornm.c:312,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkmonitornm.c:313,1
    - Dst: g_free
      Src: /src/glib/gio/gnetworkmonitornm.c:317,1
    - Dst: g_set_error
      Src: /src/glib/gio/gnetworkmonitornm.c:322,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gnetworkmonitornm.c:328,1
    - Dst: sync_properties
      Src: /src/glib/gio/gnetworkmonitornm.c:331,1
    - Dst: _
      Src: /src/glib/gio/gnetworkmonitornm.c:323,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gnetworkmonitornm.c:329,1
    - Dst: has_property
      Src: /src/glib/gio/gnetworkmonitornm.c:320,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gnetworkmonitornm.c:328,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkmonitornm.c:324,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 3
    argNames:
    - initable
    - cancellable
    - error
    argTypes:
    - GInitable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 334
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 334
    functionName: g_network_monitor_nm_initable_init
    functionSourceFile: /src/glib/gio/gnetworkmonitornm.c
    functionUses: []
    functionsReached:
    - g_set_error
    - sync_properties
    - g_object_unref
    - G_OBJECT
    - G_CALLBACK
    - G_NETWORK_MONITOR_NM_GET_INITABLE_IFACE
    - g_dbus_proxy_new_for_bus_sync
    - has_property
    - g_type_interface_peek_parent
    - _
    - G_NETWORK_MONITOR_NM
    - g_dbus_proxy_get_name_owner
    - g_free
    - g_signal_connect
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_network_monitor_nm_initable_init (GInitable *initable,
      GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gnetworkmonitornm.c:356,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gnetworkmonitornm.c:362,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gnetworkmonitornm.c:361,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gnetworkmonitornm.c:363,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - nl_class
    argTypes:
    - GNetworkMonitorNMClass*
    constantsTouched: []
    func_position:
      end: 364
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 364
    functionName: g_network_monitor_nm_class_init
    functionSourceFile: /src/glib/gio/gnetworkmonitornm.c
    functionUses: []
    functionsReached:
    - g_object_class_override_property
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_network_monitor_nm_class_init (GNetworkMonitorNMClass
      *nl_class) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/gnetworkmonitornm.c:179,1
    - Dst: g_variant_get_uint32
      Src: /src/glib/gio/gnetworkmonitornm.c:190,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/gnetworkmonitornm.c:186,1
    - Dst: g_variant_get_uint32
      Src: /src/glib/gio/gnetworkmonitornm.c:183,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gnetworkmonitornm.c:184,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gnetworkmonitornm.c:191,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/gnetworkmonitornm.c:216,1
    - Dst: nm_metered_to_bool
      Src: /src/glib/gio/gnetworkmonitornm.c:223,1
    - Dst: g_variant_get_uint32
      Src: /src/glib/gio/gnetworkmonitornm.c:223,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gnetworkmonitornm.c:224,1
    - Dst: nm_conn_to_g_conn
      Src: /src/glib/gio/gnetworkmonitornm.c:228,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gnetworkmonitornm.c:247,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gnetworkmonitornm.c:247,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gnetworkmonitornm.c:252,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gnetworkmonitornm.c:242,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gnetworkmonitornm.c:252,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gnetworkmonitornm.c:242,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 61
    argCount: 2
    argNames:
    - nm
    - emit_signals
    argTypes:
    - GNetworkMonitorNM*
    - gboolean
    constantsTouched: []
    func_position:
      end: 254
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 254
    functionName: sync_properties
    functionSourceFile: /src/glib/gio/gnetworkmonitornm.c
    functionUses: []
    functionsReached:
    - nm_conn_to_g_conn
    - g_variant_get_uint32
    - g_object_notify
    - G_OBJECT
    - g_variant_unref
    - g_dbus_proxy_get_cached_property
    - nm_metered_to_bool
    linkageType: ''
    returnType: void
    signature: 'static void sync_properties (GNetworkMonitorNM *nm, gboolean emit_signals) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_warning
      Src: /src/glib/gio/gnetworkmonitornm.c:142,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 1
    argNames:
    - nm_state
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 145
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 145
    functionName: nm_conn_to_g_conn
    functionSourceFile: /src/glib/gio/gnetworkmonitornm.c
    functionUses: []
    functionsReached:
    - g_warning
    linkageType: ''
    returnType: GNetworkConnectivity
    signature: 'static GNetworkConnectivity nm_conn_to_g_conn (int nm_state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_proxy_get_cached_property_names
      Src: /src/glib/gio/gnetworkmonitornm.c:272,1
    - Dst: g_strv_contains
      Src: /src/glib/gio/gnetworkmonitornm.c:277,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gnetworkmonitornm.c:278,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - proxy
    - property_name
    argTypes:
    - GDBusProxy*
    - char*
    constantsTouched: []
    func_position:
      end: 280
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 280
    functionName: has_property
    functionSourceFile: /src/glib/gio/gnetworkmonitornm.c
    functionUses: []
    functionsReached:
    - g_strfreev
    - g_dbus_proxy_get_cached_property_names
    - g_strv_contains
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean has_property (GDBusProxy *proxy, const char *property_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_NETWORK_MONITOR_NM
      Src: /src/glib/gio/gnetworkmonitornm.c:339,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/gnetworkmonitornm.c:344,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gnetworkmonitornm.c:348,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gnetworkmonitornm.c:350,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 351
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 351
    functionName: g_network_monitor_nm_finalize
    functionSourceFile: /src/glib/gio/gnetworkmonitornm.c
    functionUses: []
    functionsReached:
    - G_NETWORK_MONITOR_NM
    - g_clear_object
    - g_signal_handler_disconnect
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_network_monitor_nm_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - monitor_iface
    argTypes:
    - GNetworkMonitorInterface*
    constantsTouched: []
    func_position:
      end: 369
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 369
    functionName: g_network_monitor_nm_iface_init
    functionSourceFile: /src/glib/gio/gnetworkmonitornm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_network_monitor_nm_iface_init (GNetworkMonitorInterface
      *monitor_iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GInitableIface*
    constantsTouched: []
    func_position:
      end: 375
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 375
    functionName: g_network_monitor_nm_initable_iface_init
    functionSourceFile: /src/glib/gio/gnetworkmonitornm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_network_monitor_nm_initable_iface_init (GInitableIface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_network_monitor_nm_get_instance_private
      Src: /src/glib/gio/gnetworkmonitornm.c:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - nm
    argTypes:
    - GNetworkMonitorNM*
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: g_network_monitor_nm_init
    functionSourceFile: /src/glib/gio/gnetworkmonitornm.c
    functionUses: []
    functionsReached:
    - g_network_monitor_nm_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_network_monitor_nm_init (GNetworkMonitorNM *nm) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gtlsinteraction.c:132,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gtlsinteraction.c:134,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gtlsinteraction.c:135,1
    - Dst: g_cond_clear
      Src: /src/glib/gio/gtlsinteraction.c:136,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gtlsinteraction.c:133,1
    - Dst: g_mutex_clear
      Src: /src/glib/gio/gtlsinteraction.c:137,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gtlsinteraction.c:138,1
    - Dst: g_assert
      Src: /src/glib/gio/gtlsinteraction.c:141,1
    - Dst: g_assert
      Src: /src/glib/gio/gtlsinteraction.c:142,1
    - Dst: g_free
      Src: /src/glib/gio/gtlsinteraction.c:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 145
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 145
    functionName: invoke_closure_free
    functionSourceFile: /src/glib/gio/gtlsinteraction.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_object_unref
    - g_assert
    - g_mutex_clear
    - g_clear_object
    - g_cond_clear
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void invoke_closure_free (gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gtlsinteraction.c:168,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/gtlsinteraction.c:171,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gtlsinteraction.c:177,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gtlsinteraction.c:173,1
    - Dst: invoke_closure_free
      Src: /src/glib/gio/gtlsinteraction.c:182,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - closure
    - error
    argTypes:
    - InvokeClosure*
    - GError**
    constantsTouched: []
    func_position:
      end: 184
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 184
    functionName: invoke_closure_wait_and_free
    functionSourceFile: /src/glib/gio/gtlsinteraction.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_mutex_unlock
    - g_mutex_lock
    - invoke_closure_free
    - g_cond_wait
    linkageType: ''
    returnType: GTlsInteractionResult
    signature: 'static GTlsInteractionResult invoke_closure_wait_and_free (InvokeClosure
      *closure, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:372,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:373,1
    - Dst: G_IS_TLS_INTERACTION
      Src: /src/glib/gio/gtlsinteraction.c:372,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:374,1
    - Dst: G_IS_TLS_PASSWORD
      Src: /src/glib/gio/gtlsinteraction.c:373,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gtlsinteraction.c:374,1
    - Dst: G_TLS_INTERACTION_GET_CLASS
      Src: /src/glib/gio/gtlsinteraction.c:376,1
    - Dst: invoke_closure_new
      Src: /src/glib/gio/gtlsinteraction.c:380,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlsinteraction.c:380,1
    - Dst: g_main_context_invoke
      Src: /src/glib/gio/gtlsinteraction.c:381,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:387,1
    - Dst: invoke_closure_complete_and_free
      Src: /src/glib/gio/gtlsinteraction.c:393,1
    - Dst: invoke_closure_new
      Src: /src/glib/gio/gtlsinteraction.c:389,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlsinteraction.c:389,1
    - Dst: g_main_context_invoke
      Src: /src/glib/gio/gtlsinteraction.c:390,1
    - Dst: invoke_closure_wait_and_free
      Src: /src/glib/gio/gtlsinteraction.c:383,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 4
    argNames:
    - interaction
    - password
    - cancellable
    - error
    argTypes:
    - GTlsInteraction*
    - GTlsPassword*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 401
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 401
    functionName: g_tls_interaction_invoke_ask_password
    functionSourceFile: /src/glib/gio/gtlsinteraction.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - invoke_closure_complete_and_free
    - G_IS_TLS_PASSWORD
    - invoke_closure_new
    - g_main_context_invoke
    - invoke_closure_wait_and_free
    - G_IS_CANCELLABLE
    - G_OBJECT
    - G_TLS_INTERACTION_GET_CLASS
    - G_IS_TLS_INTERACTION
    linkageType: ''
    returnType: GTlsInteractionResult
    signature: 'GTlsInteractionResult g_tls_interaction_invoke_ask_password (GTlsInteraction
      *interaction, GTlsPassword *password, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:774,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:775,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:776,1
    - Dst: G_IS_TLS_INTERACTION
      Src: /src/glib/gio/gtlsinteraction.c:774,1
    - Dst: G_IS_TLS_CONNECTION
      Src: /src/glib/gio/gtlsinteraction.c:775,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gtlsinteraction.c:776,1
    - Dst: G_TLS_INTERACTION_GET_CLASS
      Src: /src/glib/gio/gtlsinteraction.c:778,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:781,1
    - Dst: g_task_new
      Src: /src/glib/gio/gtlsinteraction.c:787,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gtlsinteraction.c:788,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gtlsinteraction.c:790,1
    - Dst: g_task_return_int
      Src: /src/glib/gio/gtlsinteraction.c:789,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 6
    argNames:
    - interaction
    - connection
    - flags
    - cancellable
    - callback
    - user_data
    argTypes:
    - GTlsInteraction*
    - GTlsConnection*
    - GTlsCertificateRequestFlags
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 792
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 792
    functionName: g_tls_interaction_request_certificate_async
    functionSourceFile: /src/glib/gio/gtlsinteraction.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_object_unref
    - g_return_if_fail
    - g_task_set_source_tag
    - g_task_return_int
    - G_IS_CANCELLABLE
    - G_TLS_INTERACTION_GET_CLASS
    - G_IS_TLS_INTERACTION
    - G_IS_TLS_CONNECTION
    linkageType: ''
    returnType: void
    signature: 'void g_tls_interaction_request_certificate_async (GTlsInteraction
      *interaction, GTlsConnection *connection, GTlsCertificateRequestFlags flags,
      GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gtlsinteraction.c:152,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gtlsinteraction.c:154,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gtlsinteraction.c:155,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gtlsinteraction.c:153,1
    - Dst: g_mutex_init
      Src: /src/glib/gio/gtlsinteraction.c:156,1
    - Dst: g_cond_init
      Src: /src/glib/gio/gtlsinteraction.c:157,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 160
    functionName: invoke_closure_new
    functionSourceFile: /src/glib/gio/gtlsinteraction.c
    functionUses: []
    functionsReached:
    - g_mutex_init
    - g_new0
    - g_object_ref
    - g_cond_init
    linkageType: ''
    returnType: InvokeClosure*
    signature: 'static InvokeClosure *invoke_closure_new (GTlsInteraction *interaction,
      GObject *argument, GCancellable *cancellable) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_acquire
      Src: /src/glib/gio/gtlsinteraction.c:199,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/gtlsinteraction.c:208,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gtlsinteraction.c:205,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gtlsinteraction.c:203,1
    - Dst: g_main_context_release
      Src: /src/glib/gio/gtlsinteraction.c:211,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gtlsinteraction.c:215,1
    - Dst: invoke_closure_free
      Src: /src/glib/gio/gtlsinteraction.c:220,1
    - Dst: invoke_closure_wait_and_free
      Src: /src/glib/gio/gtlsinteraction.c:229,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 3
    argNames:
    - interaction
    - closure
    - error
    argTypes:
    - GTlsInteraction*
    - InvokeClosure*
    - GError**
    constantsTouched: []
    func_position:
      end: 233
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 233
    functionName: invoke_closure_complete_and_free
    functionSourceFile: /src/glib/gio/gtlsinteraction.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_mutex_unlock
    - g_mutex_lock
    - invoke_closure_free
    - g_main_context_release
    - invoke_closure_wait_and_free
    - g_main_context_iteration
    - g_main_context_acquire
    linkageType: ''
    returnType: GTlsInteractionResult
    signature: 'static GTlsInteractionResult invoke_closure_complete_and_free (GTlsInteraction
      *interaction, InvokeClosure *closure, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:732,1
    - Dst: G_IS_TLS_CONNECTION
      Src: /src/glib/gio/gtlsinteraction.c:733,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:733,1
    - Dst: G_IS_TLS_INTERACTION
      Src: /src/glib/gio/gtlsinteraction.c:732,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:734,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gtlsinteraction.c:734,1
    - Dst: G_TLS_INTERACTION_GET_CLASS
      Src: /src/glib/gio/gtlsinteraction.c:736,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 5
    argNames:
    - interaction
    - connection
    - flags
    - cancellable
    - error
    argTypes:
    - GTlsInteraction*
    - GTlsConnection*
    - GTlsCertificateRequestFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 741
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 741
    functionName: g_tls_interaction_request_certificate
    functionSourceFile: /src/glib/gio/gtlsinteraction.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_CANCELLABLE
    - G_TLS_INTERACTION_GET_CLASS
    - G_IS_TLS_INTERACTION
    - G_IS_TLS_CONNECTION
    linkageType: ''
    returnType: GTlsInteractionResult
    signature: 'GTlsInteractionResult g_tls_interaction_request_certificate (GTlsInteraction
      *interaction, GTlsConnection *connection, GTlsCertificateRequestFlags flags,
      GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_tls_interaction_get_instance_private
      Src: /src/glib/gio/gtlsinteraction.c:238,1
    - Dst: g_main_context_ref_thread_default
      Src: /src/glib/gio/gtlsinteraction.c:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - interaction
    argTypes:
    - GTlsInteraction*
    constantsTouched: []
    func_position:
      end: 240
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 240
    functionName: g_tls_interaction_init
    functionSourceFile: /src/glib/gio/gtlsinteraction.c
    functionUses: []
    functionsReached:
    - g_tls_interaction_get_instance_private
    - g_main_context_ref_thread_default
    linkageType: ''
    returnType: void
    signature: 'static void g_tls_interaction_init (GTlsInteraction *interaction) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gtlsinteraction.c:255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GTlsInteractionClass*
    constantsTouched: []
    func_position:
      end: 258
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 258
    functionName: g_tls_interaction_class_init
    functionSourceFile: /src/glib/gio/gtlsinteraction.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_tls_interaction_class_init (GTlsInteractionClass *klass) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:530,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gtlsinteraction.c:531,1
    - Dst: G_TLS_INTERACTION_GET_CLASS
      Src: /src/glib/gio/gtlsinteraction.c:533,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:531,1
    - Dst: G_IS_TLS_INTERACTION
      Src: /src/glib/gio/gtlsinteraction.c:530,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:536,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:542,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gtlsinteraction.c:542,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/gtlsinteraction.c:544,1
    - Dst: G_TASK
      Src: /src/glib/gio/gtlsinteraction.c:544,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - interaction
    - result
    - error
    argTypes:
    - GTlsInteraction*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 546
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 546
    functionName: g_tls_interaction_ask_password_finish
    functionSourceFile: /src/glib/gio/gtlsinteraction.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_return_val_if_fail
    - G_IS_ASYNC_RESULT
    - G_TLS_INTERACTION_GET_CLASS
    - g_task_propagate_int
    - G_IS_TLS_INTERACTION
    - g_async_result_is_tagged
    linkageType: ''
    returnType: GTlsInteractionResult
    signature: 'GTlsInteractionResult g_tls_interaction_ask_password_finish (GTlsInteraction
      *interaction, GAsyncResult *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gtlsinteraction.c:554,1
    - Dst: G_TLS_INTERACTION_GET_CLASS
      Src: /src/glib/gio/gtlsinteraction.c:556,1
    - Dst: G_TLS_CONNECTION
      Src: /src/glib/gio/gtlsinteraction.c:560,1
    - Dst: g_assert
      Src: /src/glib/gio/gtlsinteraction.c:557,1
    - Dst: g_cond_signal
      Src: /src/glib/gio/gtlsinteraction.c:566,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gtlsinteraction.c:567,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 570
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 570
    functionName: on_invoke_request_certificate_sync
    functionSourceFile: /src/glib/gio/gtlsinteraction.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_mutex_lock
    - g_assert
    - g_cond_signal
    - G_TLS_INTERACTION_GET_CLASS
    - G_TLS_CONNECTION
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean on_invoke_request_certificate_sync (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_TLS_INTERACTION
      Src: /src/glib/gio/gtlsinteraction.c:245,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/gtlsinteraction.c:247,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gtlsinteraction.c:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 250
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 250
    functionName: g_tls_interaction_finalize
    functionSourceFile: /src/glib/gio/gtlsinteraction.c
    functionUses: []
    functionsReached:
    - g_main_context_unref
    - G_TLS_INTERACTION
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_tls_interaction_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gtlsinteraction.c:266,1
    - Dst: g_assert
      Src: /src/glib/gio/gtlsinteraction.c:269,1
    - Dst: G_TLS_PASSWORD
      Src: /src/glib/gio/gtlsinteraction.c:272,1
    - Dst: G_TLS_INTERACTION_GET_CLASS
      Src: /src/glib/gio/gtlsinteraction.c:268,1
    - Dst: g_cond_signal
      Src: /src/glib/gio/gtlsinteraction.c:277,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gtlsinteraction.c:278,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 281
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 281
    functionName: on_invoke_ask_password_sync
    functionSourceFile: /src/glib/gio/gtlsinteraction.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_mutex_lock
    - g_assert
    - G_TLS_PASSWORD
    - g_cond_signal
    - G_TLS_INTERACTION_GET_CLASS
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean on_invoke_ask_password_sync (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gtlsinteraction.c:580,1
    - Dst: g_assert
      Src: /src/glib/gio/gtlsinteraction.c:583,1
    - Dst: g_cond_signal
      Src: /src/glib/gio/gtlsinteraction.c:589,1
    - Dst: G_TLS_INTERACTION_GET_CLASS
      Src: /src/glib/gio/gtlsinteraction.c:582,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gtlsinteraction.c:590,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 591
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 591
    functionName: on_request_certificate_complete
    functionSourceFile: /src/glib/gio/gtlsinteraction.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_mutex_lock
    - g_assert
    - g_cond_signal
    - G_TLS_INTERACTION_GET_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void on_request_certificate_complete (GObject *source, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:483,1
    - Dst: G_IS_TLS_PASSWORD
      Src: /src/glib/gio/gtlsinteraction.c:484,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:485,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:484,1
    - Dst: G_IS_TLS_INTERACTION
      Src: /src/glib/gio/gtlsinteraction.c:483,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gtlsinteraction.c:485,1
    - Dst: G_TLS_INTERACTION_GET_CLASS
      Src: /src/glib/gio/gtlsinteraction.c:487,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:490,1
    - Dst: g_task_new
      Src: /src/glib/gio/gtlsinteraction.c:496,1
    - Dst: g_task_return_int
      Src: /src/glib/gio/gtlsinteraction.c:498,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gtlsinteraction.c:497,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gtlsinteraction.c:499,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 5
    argNames:
    - interaction
    - password
    - cancellable
    - callback
    - user_data
    argTypes:
    - GTlsInteraction*
    - GTlsPassword*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 501
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 501
    functionName: g_tls_interaction_ask_password_async
    functionSourceFile: /src/glib/gio/gtlsinteraction.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_object_unref
    - g_return_if_fail
    - G_IS_TLS_PASSWORD
    - g_task_set_source_tag
    - g_task_return_int
    - G_IS_CANCELLABLE
    - G_TLS_INTERACTION_GET_CLASS
    - G_IS_TLS_INTERACTION
    linkageType: ''
    returnType: void
    signature: 'void g_tls_interaction_ask_password_async (GTlsInteraction *interaction,
      GTlsPassword *password, GCancellable *cancellable, GAsyncReadyCallback callback,
      gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:663,1
    - Dst: G_IS_TLS_CONNECTION
      Src: /src/glib/gio/gtlsinteraction.c:664,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:665,1
    - Dst: G_IS_TLS_INTERACTION
      Src: /src/glib/gio/gtlsinteraction.c:663,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:664,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gtlsinteraction.c:665,1
    - Dst: G_TLS_INTERACTION_GET_CLASS
      Src: /src/glib/gio/gtlsinteraction.c:667,1
    - Dst: invoke_closure_new
      Src: /src/glib/gio/gtlsinteraction.c:671,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlsinteraction.c:671,1
    - Dst: g_main_context_invoke
      Src: /src/glib/gio/gtlsinteraction.c:672,1
    - Dst: invoke_closure_new
      Src: /src/glib/gio/gtlsinteraction.c:680,1
    - Dst: invoke_closure_wait_and_free
      Src: /src/glib/gio/gtlsinteraction.c:674,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlsinteraction.c:680,1
    - Dst: g_main_context_invoke
      Src: /src/glib/gio/gtlsinteraction.c:681,1
    - Dst: invoke_closure_complete_and_free
      Src: /src/glib/gio/gtlsinteraction.c:684,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:678,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 5
    argNames:
    - interaction
    - connection
    - flags
    - cancellable
    - error
    argTypes:
    - GTlsInteraction*
    - GTlsConnection*
    - GTlsCertificateRequestFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 692
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 692
    functionName: g_tls_interaction_invoke_request_certificate
    functionSourceFile: /src/glib/gio/gtlsinteraction.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - invoke_closure_complete_and_free
    - invoke_closure_new
    - g_main_context_invoke
    - invoke_closure_wait_and_free
    - G_IS_CANCELLABLE
    - G_OBJECT
    - G_TLS_INTERACTION_GET_CLASS
    - G_IS_TLS_INTERACTION
    - G_IS_TLS_CONNECTION
    linkageType: ''
    returnType: GTlsInteractionResult
    signature: 'GTlsInteractionResult g_tls_interaction_invoke_request_certificate
      (GTlsInteraction *interaction, GTlsConnection *connection, GTlsCertificateRequestFlags
      flags, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gtlsinteraction.c:291,1
    - Dst: G_TLS_INTERACTION_GET_CLASS
      Src: /src/glib/gio/gtlsinteraction.c:293,1
    - Dst: g_assert
      Src: /src/glib/gio/gtlsinteraction.c:294,1
    - Dst: g_cond_signal
      Src: /src/glib/gio/gtlsinteraction.c:301,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gtlsinteraction.c:302,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 303
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 303
    functionName: on_ask_password_complete
    functionSourceFile: /src/glib/gio/gtlsinteraction.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_mutex_lock
    - g_assert
    - g_cond_signal
    - G_TLS_INTERACTION_GET_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void on_ask_password_complete (GObject *source, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gtlsinteraction.c:599,1
    - Dst: G_TLS_INTERACTION_GET_CLASS
      Src: /src/glib/gio/gtlsinteraction.c:601,1
    - Dst: G_TLS_CONNECTION
      Src: /src/glib/gio/gtlsinteraction.c:605,1
    - Dst: g_assert
      Src: /src/glib/gio/gtlsinteraction.c:602,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gtlsinteraction.c:614,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 617
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 617
    functionName: on_invoke_request_certificate_async_as_sync
    functionSourceFile: /src/glib/gio/gtlsinteraction.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_mutex_lock
    - g_assert
    - G_TLS_INTERACTION_GET_CLASS
    - G_TLS_CONNECTION
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean on_invoke_request_certificate_async_as_sync (gpointer
      user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:822,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gtlsinteraction.c:823,1
    - Dst: G_TLS_INTERACTION_GET_CLASS
      Src: /src/glib/gio/gtlsinteraction.c:825,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:823,1
    - Dst: G_IS_TLS_INTERACTION
      Src: /src/glib/gio/gtlsinteraction.c:822,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:828,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:834,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/gtlsinteraction.c:834,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/gtlsinteraction.c:836,1
    - Dst: G_TASK
      Src: /src/glib/gio/gtlsinteraction.c:836,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - interaction
    - result
    - error
    argTypes:
    - GTlsInteraction*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 838
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 838
    functionName: g_tls_interaction_request_certificate_finish
    functionSourceFile: /src/glib/gio/gtlsinteraction.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_return_val_if_fail
    - G_IS_ASYNC_RESULT
    - G_TLS_INTERACTION_GET_CLASS
    - g_task_propagate_int
    - G_IS_TLS_INTERACTION
    - g_async_result_is_tagged
    linkageType: ''
    returnType: GTlsInteractionResult
    signature: 'GTlsInteractionResult g_tls_interaction_request_certificate_finish
      (GTlsInteraction *interaction, GAsyncResult *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gtlsinteraction.c:311,1
    - Dst: G_TLS_PASSWORD
      Src: /src/glib/gio/gtlsinteraction.c:317,1
    - Dst: g_assert
      Src: /src/glib/gio/gtlsinteraction.c:314,1
    - Dst: G_TLS_INTERACTION_GET_CLASS
      Src: /src/glib/gio/gtlsinteraction.c:313,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gtlsinteraction.c:326,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 329
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 329
    functionName: on_invoke_ask_password_async_as_sync
    functionSourceFile: /src/glib/gio/gtlsinteraction.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_mutex_lock
    - g_assert
    - G_TLS_PASSWORD
    - G_TLS_INTERACTION_GET_CLASS
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean on_invoke_ask_password_async_as_sync (gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:436,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:437,1
    - Dst: G_IS_TLS_PASSWORD
      Src: /src/glib/gio/gtlsinteraction.c:437,1
    - Dst: G_IS_TLS_INTERACTION
      Src: /src/glib/gio/gtlsinteraction.c:436,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsinteraction.c:438,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gtlsinteraction.c:438,1
    - Dst: G_TLS_INTERACTION_GET_CLASS
      Src: /src/glib/gio/gtlsinteraction.c:440,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 4
    argNames:
    - interaction
    - password
    - cancellable
    - error
    argTypes:
    - GTlsInteraction*
    - GTlsPassword*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 445
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 445
    functionName: g_tls_interaction_ask_password
    functionSourceFile: /src/glib/gio/gtlsinteraction.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_TLS_PASSWORD
    - G_IS_CANCELLABLE
    - G_TLS_INTERACTION_GET_CLASS
    - G_IS_TLS_INTERACTION
    linkageType: ''
    returnType: GTlsInteractionResult
    signature: 'GTlsInteractionResult g_tls_interaction_ask_password (GTlsInteraction
      *interaction, GTlsPassword *password, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - interface
    - invocation
    argTypes:
    - GDBusInterfaceSkeleton*
    - GDBusMethodInvocation*
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: g_dbus_interface_skeleton_g_authorize_method_default
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_dbus_interface_skeleton_g_authorize_method_default
      (GDBusInterfaceSkeleton *interface, GDBusMethodInvocation *invocation) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:132,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:141,1
    - Dst: g_value_set_flags
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:137,1
    - Dst: g_dbus_interface_skeleton_get_flags
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:137,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 144
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 144
    functionName: g_dbus_interface_skeleton_get_property
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - G_DBUS_INTERFACE_SKELETON
    - g_value_set_flags
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_dbus_interface_skeleton_get_flags
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_interface_skeleton_get_property (GObject *object,
      guint prop_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:405,1
    - Dst: g_dbus_interface_skeleton_get_info
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:406,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 407
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 407
    functionName: _g_dbus_interface_skeleton_get_info
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - G_DBUS_INTERFACE_SKELETON
    - g_dbus_interface_skeleton_get_info
    linkageType: ''
    returnType: GDBusInterfaceInfo*
    signature: 'static GDBusInterfaceInfo *_g_dbus_interface_skeleton_get_info (GDBusInterface
      *interface_) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:437,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:440,1
    - Dst: g_object_remove_weak_pointer
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:440,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:438,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:443,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:443,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:444,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - interface_
    - object
    argTypes:
    - GDBusInterface*
    - GDBusObject*
    constantsTouched: []
    func_position:
      end: 445
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 445
    functionName: g_dbus_interface_skeleton_set_object
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_mutex_lock
    - g_object_add_weak_pointer
    - G_OBJECT
    - G_DBUS_INTERFACE_SKELETON
    - g_object_remove_weak_pointer
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_interface_skeleton_set_object (GDBusInterface *interface_,
      GDBusObject *object) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:520,1
    - Dst: g_dbus_method_invocation_get_sender
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:543,1
    - Dst: g_dbus_method_invocation_get_object_path
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:544,1
    - Dst: g_dbus_method_invocation_get_user_data
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:549,1
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:504,1
    - Dst: g_dbus_method_invocation_get_connection
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:542,1
    - Dst: g_dbus_method_invocation_get_interface_name
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:545,1
    - Dst: dispatch_data_ref
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:557,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:513,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:514,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:528,1
    - Dst: g_main_context_invoke_full
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:554,1
    - Dst: g_task_get_priority
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:555,1
    - Dst: g_dbus_method_invocation_get_method_name
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:546,1
    - Dst: g_task_get_context
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:554,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:509,1
    - Dst: g_dbus_method_invocation_get_parameters
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:547,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:567,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:569,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 4
    argNames:
    - task
    - source_object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 570
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 570
    functionName: dispatch_in_thread_func
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - g_task_get_source_object
    - g_signal_emit_by_name
    - g_signal_emit
    - g_dbus_method_invocation_get_object_path
    - g_object_unref
    - g_mutex_unlock
    - g_dbus_method_invocation_get_parameters
    - g_task_get_context
    - g_dbus_method_invocation_get_connection
    - g_dbus_method_invocation_get_sender
    - g_task_return_boolean
    - g_mutex_lock
    - dispatch_data_ref
    - g_dbus_method_invocation_get_user_data
    - g_dbus_method_invocation_get_interface_name
    - g_main_context_invoke_full
    - g_task_get_priority
    - g_object_ref
    - g_dbus_method_invocation_get_method_name
    linkageType: ''
    returnType: void
    signature: 'static void dispatch_in_thread_func (GTask *task, gpointer source_object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:152,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:161,1
    - Dst: g_dbus_interface_skeleton_set_flags
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:157,1
    - Dst: g_value_get_flags
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:157,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 164
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 164
    functionName: g_dbus_interface_skeleton_set_property
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - G_DBUS_INTERFACE_SKELETON
    - g_dbus_interface_skeleton_set_flags
    - g_value_get_flags
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_interface_skeleton_set_property (GObject *object,
      guint prop_id, const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:178,1
    - Dst: I_
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:245,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:245,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:192,1
    - Dst: g_param_spec_flags
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:194,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:248,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:255,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GDBusInterfaceSkeletonClass*
    constantsTouched: []
    func_position:
      end: 258
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 258
    functionName: g_dbus_interface_skeleton_class_init
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - I_
    - G_STRUCT_OFFSET
    - G_TYPE_FROM_CLASS
    - g_object_class_install_property
    - G_OBJECT_CLASS
    - g_signal_set_va_marshaller
    - g_signal_new
    - g_param_spec_flags
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_interface_skeleton_class_init (GDBusInterfaceSkeletonClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GDBusInterfaceIface*
    constantsTouched: []
    func_position:
      end: 454
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 454
    functionName: dbus_interface_interface_init
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void dbus_interface_interface_init (GDBusInterfaceIface *iface) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_IS_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:584,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:588,1
    - Dst: G_DBUS_INTERFACE_SKELETON_GET_CLASS
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:604,1
    - Dst: G_DBUS_OBJECT_SKELETON
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:611,1
    - Dst: g_dbus_method_invocation_get_parameters
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:622,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:633,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:639,1
    - Dst: g_signal_has_handler_pending
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:600,1
    - Dst: g_dbus_method_invocation_get_connection
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:617,1
    - Dst: method_call_func
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:617,1
    - Dst: g_dbus_method_invocation_get_object_path
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:619,1
    - Dst: g_dbus_method_invocation_get_sender
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:618,1
    - Dst: g_dbus_method_invocation_get_user_data
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:624,1
    - Dst: g_task_set_name
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:638,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:640,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:641,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:645,1
    - Dst: G_IS_DBUS_METHOD_INVOCATION
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:586,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:592,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:593,1
    - Dst: _g_dbus_object_skeleton_has_authorize_method_handlers
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:611,1
    - Dst: g_dbus_method_invocation_get_method_name
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:621,1
    - Dst: g_slice_new0
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:631,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:584,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:585,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:586,1
    - Dst: g_dbus_method_invocation_get_interface_name
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:620,1
    - Dst: g_task_new
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:636,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:637,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 57
    argCount: 3
    argNames:
    - interface
    - method_call_func
    - invocation
    argTypes:
    - GDBusInterfaceSkeleton*
    - GDBusInterfaceMethodCallFunc
    - GDBusMethodInvocation*
    constantsTouched: []
    func_position:
      end: 646
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 646
    functionName: g_dbus_interface_method_dispatch_helper
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - method_call_func
    - g_slice_new0
    - g_dbus_method_invocation_get_object_path
    - g_object_unref
    - g_mutex_unlock
    - g_task_set_source_tag
    - G_DBUS_INTERFACE_SKELETON_GET_CLASS
    - g_dbus_method_invocation_get_parameters
    - _g_dbus_object_skeleton_has_authorize_method_handlers
    - g_dbus_method_invocation_get_connection
    - g_dbus_method_invocation_get_sender
    - g_task_set_name
    - G_DBUS_OBJECT_SKELETON
    - g_task_new
    - g_mutex_lock
    - G_IS_DBUS_INTERFACE_SKELETON
    - g_task_set_task_data
    - g_signal_has_handler_pending
    - g_dbus_method_invocation_get_user_data
    - g_dbus_method_invocation_get_interface_name
    - g_task_run_in_thread
    - g_return_if_fail
    - g_object_ref
    - g_dbus_method_invocation_get_method_name
    - G_IS_DBUS_METHOD_INVOCATION
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_interface_method_dispatch_helper (GDBusInterfaceSkeleton
      *interface, GDBusInterfaceMethodCallFunc method_call_func, GDBusMethodInvocation
      *invocation) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:373,1
    - Dst: G_IS_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:373,1
    - Dst: g_variant_take_ref
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:375,1
    - Dst: G_DBUS_INTERFACE_SKELETON_GET_CLASS
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:374,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 376
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 376
    functionName: g_dbus_interface_skeleton_get_properties
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_INTERFACE_SKELETON
    - g_return_val_if_fail
    - G_DBUS_INTERFACE_SKELETON_GET_CLASS
    - g_variant_take_ref
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_dbus_interface_skeleton_get_properties (GDBusInterfaceSkeleton
      *interface_) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:396,1
    - Dst: G_IS_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:396,1
    - Dst: G_DBUS_INTERFACE_SKELETON_GET_CLASS
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:397,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - interface_
    argTypes:
    - GDBusInterfaceSkeleton*
    constantsTouched: []
    func_position:
      end: 398
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 398
    functionName: g_dbus_interface_skeleton_flush
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_INTERFACE_SKELETON
    - G_DBUS_INTERFACE_SKELETON_GET_CLASS
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_interface_skeleton_flush (GDBusInterfaceSkeleton *interface_) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:672,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:673,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 677
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 677
    functionName: new_connection
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - g_slice_new0
    - g_object_ref
    linkageType: ''
    returnType: ConnectionData*
    signature: 'static ConnectionData *new_connection (GDBusConnection *connection,
      guint registration_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:820,1
    - Dst: G_IS_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:820,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:822,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:830,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:828,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:833,1
    - Dst: g_list_reverse
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:835,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 836
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 836
    functionName: g_dbus_interface_skeleton_get_connections
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - g_list_reverse
    - g_return_val_if_fail
    - g_mutex_unlock
    - g_mutex_lock
    - G_IS_DBUS_INTERFACE_SKELETON
    - g_object_ref
    - g_list_prepend
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_dbus_interface_skeleton_get_connections (GDBusInterfaceSkeleton
      *interface_) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_interface_skeleton_get_instance_private
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:263,1
    - Dst: g_mutex_init
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - interface
    argTypes:
    - GDBusInterfaceSkeleton*
    constantsTouched: []
    func_position:
      end: 265
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 265
    functionName: g_dbus_interface_skeleton_init
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - g_dbus_interface_skeleton_get_instance_private
    - g_mutex_init
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_interface_skeleton_init (GDBusInterfaceSkeleton
      *interface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:329,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:331,1
    - Dst: G_IS_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:329,1
    - Dst: G_DBUS_INTERFACE_SKELETON_GET_CLASS
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:330,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 333
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 333
    functionName: g_dbus_interface_skeleton_get_info
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_INTERFACE_SKELETON
    - g_return_val_if_fail
    - g_warn_if_fail
    - G_DBUS_INTERFACE_SKELETON_GET_CLASS
    linkageType: ''
    returnType: GDBusInterfaceInfo*
    signature: 'GDBusInterfaceInfo *g_dbus_interface_skeleton_get_info (GDBusInterfaceSkeleton
      *interface_) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:684,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:685,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - ConnectionData*
    constantsTouched: []
    func_position:
      end: 687
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 687
    functionName: free_connection
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void free_connection (ConnectionData *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:743,1
    - Dst: g_dbus_connection_unregister_object
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:743,1
    - Dst: g_slist_delete_link
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:745,1
    - Dst: free_connection
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:744,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - interface_
    - connection
    argTypes:
    - GDBusInterfaceSkeleton*
    - GDBusConnection*
    constantsTouched: []
    func_position:
      end: 752
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 752
    functionName: remove_connection_locked
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - g_warn_if_fail
    - g_slist_delete_link
    - free_connection
    - g_dbus_connection_unregister_object
    linkageType: ''
    returnType: void
    signature: 'static void remove_connection_locked (GDBusInterfaceSkeleton *interface_,
      GDBusConnection *connection) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:856,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:859,1
    - Dst: G_IS_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:856,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:857,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:857,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:872,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - interface_
    - connection
    argTypes:
    - GDBusInterfaceSkeleton*
    - GDBusConnection*
    constantsTouched: []
    func_position:
      end: 874
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 874
    functionName: g_dbus_interface_skeleton_has_connection
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_mutex_unlock
    - g_mutex_lock
    - G_IS_DBUS_CONNECTION
    - G_IS_DBUS_INTERFACE_SKELETON
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dbus_interface_skeleton_has_connection (GDBusInterfaceSkeleton
      *interface_, GDBusConnection *connection) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_memdup2
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:708,1
    - Dst: g_dbus_interface_skeleton_get_info
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:714,1
    - Dst: g_dbus_connection_register_object
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:712,1
    - Dst: g_dbus_interface_skeleton_get_vtable
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:708,1
    - Dst: new_connection
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:722,1
    - Dst: g_slist_append
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:723,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - interface_
    - connection
    - error
    argTypes:
    - GDBusInterfaceSkeleton*
    - GDBusConnection*
    - GError**
    constantsTouched: []
    func_position:
      end: 728
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 728
    functionName: add_connection_locked
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - g_slist_append
    - g_dbus_interface_skeleton_get_info
    - g_dbus_interface_skeleton_get_vtable
    - g_dbus_connection_register_object
    - new_connection
    - g_memdup2
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean add_connection_locked (GDBusInterfaceSkeleton *interface_,
      GDBusConnection *connection, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:758,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:760,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:761,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - interface_
    - object_path
    argTypes:
    - GDBusInterfaceSkeleton*
    - gchar*
    constantsTouched: []
    func_position:
      end: 763
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 763
    functionName: set_object_path_locked
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_free
    - g_strcmp0
    linkageType: ''
    returnType: void
    signature: 'static void set_object_path_locked (GDBusInterfaceSkeleton *interface_,
      const gchar *object_path) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:300,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:305,1
    - Dst: G_IS_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:300,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:306,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:301,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:306,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - interface_
    - flags
    argTypes:
    - GDBusInterfaceSkeleton*
    - GDBusInterfaceSkeletonFlags
    constantsTouched: []
    func_position:
      end: 312
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 312
    functionName: g_dbus_interface_skeleton_set_flags
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_mutex_lock
    - g_object_notify
    - g_return_if_fail
    - G_OBJECT
    - G_IS_DBUS_INTERFACE_SKELETON
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_interface_skeleton_set_flags (GDBusInterfaceSkeleton *interface_,
      GDBusInterfaceSkeletonFlags flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:412,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:414,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:416,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 418
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 418
    functionName: g_dbus_interface_skeleton_get_object
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - G_DBUS_INTERFACE_SKELETON
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: GDBusObject*
    signature: 'static GDBusObject *g_dbus_interface_skeleton_get_object (GDBusInterface
      *interface_) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:926,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:927,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:927,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:928,1
    - Dst: G_IS_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:926,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:928,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:929,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:932,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:933,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:935,1
    - Dst: add_connection_locked
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:941,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:943,1
    - Dst: set_object_path_locked
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:938,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - interface_
    - connection
    - object_path
    - error
    argTypes:
    - GDBusInterfaceSkeleton*
    - GDBusConnection*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 945
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 945
    functionName: g_dbus_interface_skeleton_export
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - set_object_path_locked
    - g_mutex_unlock
    - g_mutex_lock
    - G_IS_DBUS_CONNECTION
    - add_connection_locked
    - G_IS_DBUS_INTERFACE_SKELETON
    - g_strcmp0
    - g_variant_is_object_path
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dbus_interface_skeleton_export (GDBusInterfaceSkeleton
      *interface_, GDBusConnection *connection, const gchar *object_path, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:100,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:103,1
    - Dst: set_object_path_locked
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:112,1
    - Dst: remove_connection_locked
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:109,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:114,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:116,1
    - Dst: g_object_remove_weak_pointer
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:119,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:119,1
    - Dst: g_mutex_clear
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:121,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:123,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 124
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 124
    functionName: g_dbus_interface_skeleton_finalize
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - remove_connection_locked
    - set_object_path_locked
    - g_mutex_unlock
    - g_mutex_lock
    - g_mutex_clear
    - G_OBJECT
    - G_OBJECT_CLASS
    - G_DBUS_INTERFACE_SKELETON
    - g_free
    - g_object_remove_weak_pointer
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_interface_skeleton_finalize (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:423,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:429,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:425,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:428,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 431
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 431
    functionName: g_dbus_interface_skeleton_dup_object
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - G_DBUS_INTERFACE_SKELETON
    - g_mutex_unlock
    - g_object_ref
    - g_mutex_lock
    linkageType: ''
    returnType: GDBusObject*
    signature: 'static GDBusObject *g_dbus_interface_skeleton_dup_object (GDBusInterface
      *interface_) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:468,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:470,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:471,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - DispatchData*
    constantsTouched: []
    func_position:
      end: 473
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 473
    functionName: dispatch_data_unref
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - g_atomic_int_dec_and_test
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void dispatch_data_unref (DispatchData *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:891,1
    - Dst: G_IS_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:891,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:894,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:892,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 896
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 896
    functionName: g_dbus_interface_skeleton_get_object_path
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_INTERFACE_SKELETON
    - g_return_val_if_fail
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_dbus_interface_skeleton_get_object_path (GDBusInterfaceSkeleton
      *interface_) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:999,1
    - Dst: G_IS_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:999,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:1000,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:1001,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:1000,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:1003,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:1005,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:1006,1
    - Dst: remove_connection_locked
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:1008,1
    - Dst: set_object_path_locked
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:1012,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:1014,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - interface_
    - connection
    argTypes:
    - GDBusInterfaceSkeleton*
    - GDBusConnection*
    constantsTouched: []
    func_position:
      end: 1015
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 1015
    functionName: g_dbus_interface_skeleton_unexport_from_connection
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - remove_connection_locked
    - set_object_path_locked
    - g_mutex_unlock
    - g_mutex_lock
    - g_assert
    - G_IS_DBUS_CONNECTION
    - g_return_if_fail
    - G_IS_DBUS_INTERFACE_SKELETON
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_interface_skeleton_unexport_from_connection (GDBusInterfaceSkeleton
      *interface_, GDBusConnection *connection) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:283,1
    - Dst: G_IS_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - interface_
    argTypes:
    - GDBusInterfaceSkeleton*
    constantsTouched: []
    func_position:
      end: 285
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 285
    functionName: g_dbus_interface_skeleton_get_flags
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_INTERFACE_SKELETON
    - g_return_val_if_fail
    linkageType: ''
    returnType: GDBusInterfaceSkeletonFlags
    signature: 'GDBusInterfaceSkeletonFlags g_dbus_interface_skeleton_get_flags (GDBusInterfaceSkeleton
      *interface_) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:351,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:353,1
    - Dst: G_DBUS_INTERFACE_SKELETON_GET_CLASS
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:352,1
    - Dst: G_IS_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:351,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 355
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 355
    functionName: g_dbus_interface_skeleton_get_vtable
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_INTERFACE_SKELETON
    - g_return_val_if_fail
    - g_warn_if_fail
    - G_DBUS_INTERFACE_SKELETON_GET_CLASS
    linkageType: ''
    returnType: GDBusInterfaceVTable*
    signature: 'GDBusInterfaceVTable *g_dbus_interface_skeleton_get_vtable (GDBusInterfaceSkeleton
      *interface_) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:478,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 480
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 480
    functionName: dispatch_data_ref
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - g_atomic_int_inc
    linkageType: ''
    returnType: DispatchData*
    signature: 'static DispatchData *dispatch_data_ref (DispatchData *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:658,1
    - Dst: g_dbus_interface_method_dispatch_helper
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:659,1
    - Dst: g_dbus_interface_skeleton_get_vtable
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:660,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 4
    argCount: 8
    argNames:
    - connection
    - sender
    - object_path
    - interface_name
    - method_name
    - parameters
    - invocation
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GVariant*
    - GDBusMethodInvocation*
    - gpointer
    constantsTouched: []
    func_position:
      end: 662
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 662
    functionName: skeleton_intercept_handle_method_call
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - G_DBUS_INTERFACE_SKELETON
    - g_dbus_interface_skeleton_get_vtable
    - g_dbus_interface_method_dispatch_helper
    linkageType: ''
    returnType: void
    signature: 'static void skeleton_intercept_handle_method_call (GDBusConnection
      *connection, const gchar *sender, const gchar *object_path, const gchar *interface_name,
      const gchar *method_name, GVariant *parameters, GDBusMethodInvocation *invocation,
      gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:784,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:785,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:795,1
    - Dst: G_IS_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:784,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 798
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 798
    functionName: g_dbus_interface_skeleton_get_connection
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_INTERFACE_SKELETON
    - g_return_val_if_fail
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: GDBusConnection*
    signature: 'GDBusConnection *g_dbus_interface_skeleton_get_connection (GDBusInterfaceSkeleton
      *interface_) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_method_invocation_get_object_path
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:488,1
    - Dst: g_dbus_method_invocation_get_interface_name
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:489,1
    - Dst: g_dbus_method_invocation_get_sender
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:487,1
    - Dst: g_dbus_method_invocation_get_connection
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:486,1
    - Dst: g_dbus_method_invocation_get_method_name
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:490,1
    - Dst: g_dbus_method_invocation_get_parameters
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:491,1
    - Dst: g_dbus_method_invocation_get_user_data
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 495
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 495
    functionName: dispatch_invoke_in_context_func
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - g_dbus_method_invocation_get_user_data
    - g_dbus_method_invocation_get_interface_name
    - g_dbus_method_invocation_get_parameters
    - g_dbus_method_invocation_get_object_path
    - g_dbus_method_invocation_get_sender
    - g_dbus_method_invocation_get_connection
    - g_dbus_method_invocation_get_method_name
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean dispatch_invoke_in_context_func (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:961,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:962,1
    - Dst: G_IS_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:961,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:966,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:964,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:967,1
    - Dst: remove_connection_locked
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:973,1
    - Dst: set_object_path_locked
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:977,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusinterfaceskeleton.c:979,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - interface_
    argTypes:
    - GDBusInterfaceSkeleton*
    constantsTouched: []
    func_position:
      end: 980
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 980
    functionName: g_dbus_interface_skeleton_unexport
    functionSourceFile: /src/glib/gio/gdbusinterfaceskeleton.c
    functionUses: []
    functionsReached:
    - remove_connection_locked
    - set_object_path_locked
    - g_mutex_unlock
    - g_mutex_lock
    - g_assert
    - g_return_if_fail
    - G_IS_DBUS_INTERFACE_SKELETON
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_interface_skeleton_unexport (GDBusInterfaceSkeleton *interface_) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_get_contents
      Src: /src/glib/gio/gresource-tool.c:62,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/gresource-tool.c:66,1
    - Dst: g_bytes_new_take
      Src: /src/glib/gio/gresource-tool.c:64,1
    - Dst: g_resource_new_from_data
      Src: /src/glib/gio/gresource-tool.c:65,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 70
    functionName: get_resource
    functionSourceFile: /src/glib/gio/gresource-tool.c
    functionUses: []
    functionsReached:
    - g_bytes_new_take
    - g_file_get_contents
    - g_resource_new_from_data
    - g_bytes_unref
    linkageType: ''
    returnType: GResource*
    signature: 'static GResource *get_resource (const gchar *file) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: elf_version
      Src: /src/glib/gio/gresource-tool.c:150,1
    - Dst: g_open
      Src: /src/glib/gio/gresource-tool.c:153,1
    - Dst: g_close
      Src: /src/glib/gio/gresource-tool.c:160,1
    - Dst: elf_begin
      Src: /src/glib/gio/gresource-tool.c:157,1
    - Dst: elf_kind
      Src: /src/glib/gio/gresource-tool.c:165,1
    - Dst: elf_end
      Src: /src/glib/gio/gresource-tool.c:167,1
    - Dst: g_close
      Src: /src/glib/gio/gresource-tool.c:168,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 174
    functionName: get_elf
    functionSourceFile: /src/glib/gio/gresource-tool.c
    functionUses: []
    functionsReached:
    - elf_kind
    - elf_begin
    - elf_version
    - elf_end
    - g_close
    - g_open
    linkageType: ''
    returnType: Elf*
    signature: 'static Elf *get_elf (const gchar *file, gint *fd) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/glib/gio/gresource-tool.c:231,1
    - Dst: g_resource_new_from_data
      Src: /src/glib/gio/gresource-tool.c:241,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/gresource-tool.c:242,1
    - Dst: g_bytes_new_static
      Src: /src/glib/gio/gresource-tool.c:240,1
    - Dst: mmap
      Src: /src/glib/gio/gresource-tool.c:233,1
    - Dst: g_printerr
      Src: /src/glib/gio/gresource-tool.c:245,1
    - Dst: g_error_free
      Src: /src/glib/gio/gresource-tool.c:246,1
    - Dst: g_printerr
      Src: /src/glib/gio/gresource-tool.c:251,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 255
    functionName: resource_from_section
    functionSourceFile: /src/glib/gio/gresource-tool.c
    functionUses: []
    functionsReached:
    - g_printerr
    - g_bytes_new_static
    - mmap
    - g_bytes_unref
    - g_error_free
    - sysconf
    - g_resource_new_from_data
    linkageType: ''
    returnType: GResource*
    signature: 'static GResource *resource_from_section (GElf_Shdr *shdr, int fd) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/gresource-tool.c:274,1
    - Dst: g_resource_unref
      Src: /src/glib/gio/gresource-tool.c:284,1
    - Dst: list_resource
      Src: /src/glib/gio/gresource-tool.c:280,1
    - Dst: resource_from_section
      Src: /src/glib/gio/gresource-tool.c:279,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - shdr
    - section
    - data
    argTypes:
    - GElf_Shdr*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 290
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 290
    functionName: list_resources_cb
    functionSourceFile: /src/glib/gio/gresource-tool.c
    functionUses: []
    functionsReached:
    - list_resource
    - strcmp
    - resource_from_section
    - g_resource_unref
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean list_resources_cb (GElf_Shdr *shdr, const gchar *section,
      gpointer data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/gresource-tool.c:321,1
    - Dst: resource_from_section
      Src: /src/glib/gio/gresource-tool.c:326,1
    - Dst: g_resource_unref
      Src: /src/glib/gio/gresource-tool.c:328,1
    - Dst: extract_resource
      Src: /src/glib/gio/gresource-tool.c:327,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - shdr
    - section
    - data
    argTypes:
    - GElf_Shdr*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 334
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 334
    functionName: extract_resource_cb
    functionSourceFile: /src/glib/gio/gresource-tool.c
    functionUses: []
    functionsReached:
    - extract_resource
    - g_resource_unref
    - strcmp
    - resource_from_section
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean extract_resource_cb (GElf_Shdr *shdr, const gchar
      *section, gpointer data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_elf
      Src: /src/glib/gio/gresource-tool.c:381,1
    - Dst: get_resource
      Src: /src/glib/gio/gresource-tool.c:391,1
    - Dst: elf_foreach_resource_section
      Src: /src/glib/gio/gresource-tool.c:383,1
    - Dst: elf_end
      Src: /src/glib/gio/gresource-tool.c:384,1
    - Dst: close
      Src: /src/glib/gio/gresource-tool.c:385,1
    - Dst: g_resource_unref
      Src: /src/glib/gio/gresource-tool.c:394,1
    - Dst: g_printerr
      Src: /src/glib/gio/gresource-tool.c:398,1
    - Dst: g_printerr
      Src: /src/glib/gio/gresource-tool.c:400,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 4
    argNames:
    - file
    - section
    - path
    - details
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 403
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 403
    functionName: cmd_sections
    functionSourceFile: /src/glib/gio/gresource-tool.c
    functionUses: []
    functionsReached:
    - g_printerr
    - elf_end
    - elf_foreach_resource_section
    - get_elf
    - get_resource
    - close
    - g_resource_unref
    linkageType: ''
    returnType: void
    signature: 'static void cmd_sections (const gchar *file, const gchar *section,
      const gchar *path, gboolean details) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_elf
      Src: /src/glib/gio/gresource-tool.c:454,1
    - Dst: get_resource
      Src: /src/glib/gio/gresource-tool.c:464,1
    - Dst: elf_extract_resource
      Src: /src/glib/gio/gresource-tool.c:456,1
    - Dst: elf_end
      Src: /src/glib/gio/gresource-tool.c:457,1
    - Dst: close
      Src: /src/glib/gio/gresource-tool.c:458,1
    - Dst: extract_resource
      Src: /src/glib/gio/gresource-tool.c:466,1
    - Dst: g_resource_unref
      Src: /src/glib/gio/gresource-tool.c:467,1
    - Dst: g_printerr
      Src: /src/glib/gio/gresource-tool.c:471,1
    - Dst: g_printerr
      Src: /src/glib/gio/gresource-tool.c:473,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - file
    - section
    - path
    - details
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 476
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 476
    functionName: cmd_extract
    functionSourceFile: /src/glib/gio/gresource-tool.c
    functionUses: []
    functionsReached:
    - g_printerr
    - elf_end
    - elf_extract_resource
    - get_elf
    - get_resource
    - close
    - extract_resource
    - g_resource_unref
    linkageType: ''
    returnType: void
    signature: 'static void cmd_extract (const gchar *file, const gchar *section,
      const gchar *path, gboolean details) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/glib/gio/gresource-tool.c:614,1
    - Dst: g_free
      Src: /src/glib/gio/gresource-tool.c:620,1
    - Dst: textdomain
      Src: /src/glib/gio/gresource-tool.c:615,1
    - Dst: bindtextdomain
      Src: /src/glib/gio/gresource-tool.c:619,1
    - Dst: _glib_get_locale_dir
      Src: /src/glib/gio/gresource-tool.c:618,1
    - Dst: bindtextdomain
      Src: /src/glib/gio/gresource-tool.c:622,1
    - Dst: bind_textdomain_codeset
      Src: /src/glib/gio/gresource-tool.c:626,1
    - Dst: cmd_help
      Src: /src/glib/gio/gresource-tool.c:630,1
    - Dst: strcmp
      Src: /src/glib/gio/gresource-tool.c:632,1
    - Dst: strcmp
      Src: /src/glib/gio/gresource-tool.c:639,1
    - Dst: strcmp
      Src: /src/glib/gio/gresource-tool.c:642,1
    - Dst: strcmp
      Src: /src/glib/gio/gresource-tool.c:648,1
    - Dst: strcmp
      Src: /src/glib/gio/gresource-tool.c:653,1
    - Dst: cmd_help
      Src: /src/glib/gio/gresource-tool.c:640,1
    - Dst: strcmp
      Src: /src/glib/gio/gresource-tool.c:645,1
    - Dst: cmd_help
      Src: /src/glib/gio/gresource-tool.c:659,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 54
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 664
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 664
    functionName: main
    functionSourceFile: /src/glib/gio/gresource-tool.c
    functionUses: []
    functionsReached:
    - cmd_help
    - textdomain
    - _glib_get_locale_dir
    - strcmp
    - setlocale
    - bind_textdomain_codeset
    - g_free
    - bindtextdomain
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: elf_getshdrstrndx
      Src: /src/glib/gio/gresource-tool.c:192,1
    - Dst: g_assert
      Src: /src/glib/gio/gresource-tool.c:196,1
    - Dst: elf_getscn
      Src: /src/glib/gio/gresource-tool.c:200,1
    - Dst: g_assert
      Src: /src/glib/gio/gresource-tool.c:193,1
    - Dst: elf_getshdrnum
      Src: /src/glib/gio/gresource-tool.c:195,1
    - Dst: gelf_getshdr
      Src: /src/glib/gio/gresource-tool.c:204,1
    - Dst: elf_strptr
      Src: /src/glib/gio/gresource-tool.c:211,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gresource-tool.c:213,1
    - Dst: callback
      Src: /src/glib/gio/gresource-tool.c:216,1
    - Dst: strlen
      Src: /src/glib/gio/gresource-tool.c:216,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 3
    argNames:
    - elf
    - callback
    - data
    argTypes:
    - Elf*
    - SectionCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 219
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 219
    functionName: elf_foreach_resource_section
    functionSourceFile: /src/glib/gio/gresource-tool.c
    functionUses: []
    functionsReached:
    - elf_strptr
    - elf_getshdrstrndx
    - elf_getshdrnum
    - gelf_getshdr
    - elf_getscn
    - strlen
    - g_assert
    - callback
    - g_str_has_prefix
    linkageType: ''
    returnType: void
    signature: 'static void elf_foreach_resource_section (Elf *elf, SectionCallback
      callback, gpointer data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_resource_enumerate_children
      Src: /src/glib/gio/gresource-tool.c:87,1
    - Dst: g_printerr
      Src: /src/glib/gio/gresource-tool.c:90,1
    - Dst: g_error_free
      Src: /src/glib/gio/gresource-tool.c:91,1
    - Dst: MIN
      Src: /src/glib/gio/gresource-tool.c:98,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gresource-tool.c:96,1
    - Dst: strlen
      Src: /src/glib/gio/gresource-tool.c:98,1
    - Dst: strlen
      Src: /src/glib/gio/gresource-tool.c:98,1
    - Dst: strncmp
      Src: /src/glib/gio/gresource-tool.c:99,1
    - Dst: g_free
      Src: /src/glib/gio/gresource-tool.c:101,1
    - Dst: g_resource_get_info
      Src: /src/glib/gio/gresource-tool.c:105,1
    - Dst: g_print
      Src: /src/glib/gio/gresource-tool.c:110,1
    - Dst: g_free
      Src: /src/glib/gio/gresource-tool.c:115,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gresource-tool.c:117,1
    - Dst: g_print
      Src: /src/glib/gio/gresource-tool.c:108,1
    - Dst: list_resource
      Src: /src/glib/gio/gresource-tool.c:113,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 5
    argNames:
    - resource
    - path
    - section
    - prefix
    - details
    argTypes:
    - GResource*
    - gchar*
    - gchar*
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 118
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 118
    functionName: list_resource
    functionSourceFile: /src/glib/gio/gresource-tool.c
    functionUses: []
    functionsReached:
    - g_resource_get_info
    - g_printerr
    - g_strconcat
    - list_resource
    - strlen
    - MIN
    - g_resource_enumerate_children
    - g_strfreev
    - strncmp
    - g_error_free
    - g_print
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void list_resource (GResource *resource, const gchar *path,
      const gchar *section, const gchar *prefix, gboolean details) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: elf_foreach_resource_section
      Src: /src/glib/gio/gresource-tool.c:307,1
    - Dst: g_printerr
      Src: /src/glib/gio/gresource-tool.c:310,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 5
    argNames:
    - elf
    - fd
    - section
    - path
    - details
    argTypes:
    - Elf*
    - int
    - gchar*
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 311
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 311
    functionName: elf_list_resources
    functionSourceFile: /src/glib/gio/gresource-tool.c
    functionUses: []
    functionsReached:
    - elf_foreach_resource_section
    - g_printerr
    linkageType: ''
    returnType: void
    signature: 'static void elf_list_resources (Elf *elf, int fd, const gchar *section,
      const gchar *path, gboolean details) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: elf_foreach_resource_section
      Src: /src/glib/gio/gresource-tool.c:349,1
    - Dst: g_printerr
      Src: /src/glib/gio/gresource-tool.c:352,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - elf
    - fd
    - section
    - path
    argTypes:
    - Elf*
    - int
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 353
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 353
    functionName: elf_extract_resource
    functionSourceFile: /src/glib/gio/gresource-tool.c
    functionUses: []
    functionsReached:
    - elf_foreach_resource_section
    - g_printerr
    linkageType: ''
    returnType: void
    signature: 'static void elf_extract_resource (Elf *elf, int fd, const gchar *section,
      const gchar *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gio/gresource-tool.c:360,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - shdr
    - name
    - data
    argTypes:
    - GElf_Shdr*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 362
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 362
    functionName: print_section_name
    functionSourceFile: /src/glib/gio/gresource-tool.c
    functionUses: []
    functionsReached:
    - g_print
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean print_section_name (GElf_Shdr *shdr, const gchar *name,
      gpointer data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_elf
      Src: /src/glib/gio/gresource-tool.c:417,1
    - Dst: elf_end
      Src: /src/glib/gio/gresource-tool.c:420,1
    - Dst: close
      Src: /src/glib/gio/gresource-tool.c:421,1
    - Dst: elf_list_resources
      Src: /src/glib/gio/gresource-tool.c:419,1
    - Dst: get_resource
      Src: /src/glib/gio/gresource-tool.c:427,1
    - Dst: list_resource
      Src: /src/glib/gio/gresource-tool.c:429,1
    - Dst: g_resource_unref
      Src: /src/glib/gio/gresource-tool.c:430,1
    - Dst: g_printerr
      Src: /src/glib/gio/gresource-tool.c:434,1
    - Dst: g_printerr
      Src: /src/glib/gio/gresource-tool.c:436,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - file
    - section
    - path
    - details
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 439
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 439
    functionName: cmd_list
    functionSourceFile: /src/glib/gio/gresource-tool.c
    functionUses: []
    functionsReached:
    - g_printerr
    - list_resource
    - elf_end
    - elf_list_resources
    - get_elf
    - get_resource
    - close
    - g_resource_unref
    linkageType: ''
    returnType: void
    signature: 'static void cmd_list (const gchar *file, const gchar *section, const
      gchar *path, gboolean details) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/gresource-tool.c:494,1
    - Dst: strcmp
      Src: /src/glib/gio/gresource-tool.c:525,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gresource-tool.c:522,1
    - Dst: _
      Src: /src/glib/gio/gresource-tool.c:534,1
    - Dst: g_string_append
      Src: /src/glib/gio/gresource-tool.c:541,1
    - Dst: g_string_append
      Src: /src/glib/gio/gresource-tool.c:559,1
    - Dst: _
      Src: /src/glib/gio/gresource-tool.c:563,1
    - Dst: g_string_append
      Src: /src/glib/gio/gresource-tool.c:566,1
    - Dst: g_string_append
      Src: /src/glib/gio/gresource-tool.c:575,1
    - Dst: g_string_append
      Src: /src/glib/gio/gresource-tool.c:581,1
    - Dst: g_string_free
      Src: /src/glib/gio/gresource-tool.c:596,1
    - Dst: g_string_append
      Src: /src/glib/gio/gresource-tool.c:587,1
    - Dst: _
      Src: /src/glib/gio/gresource-tool.c:576,1
    - Dst: g_string_append
      Src: /src/glib/gio/gresource-tool.c:572,1
    - Dst: _
      Src: /src/glib/gio/gresource-tool.c:573,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gresource-tool.c:512,1
    - Dst: _
      Src: /src/glib/gio/gresource-tool.c:521,1
    - Dst: _
      Src: /src/glib/gio/gresource-tool.c:522,1
    - Dst: strcmp
      Src: /src/glib/gio/gresource-tool.c:515,1
    - Dst: _
      Src: /src/glib/gio/gresource-tool.c:542,1
    - Dst: _
      Src: /src/glib/gio/gresource-tool.c:556,1
    - Dst: _
      Src: /src/glib/gio/gresource-tool.c:559,1
    - Dst: strstr
      Src: /src/glib/gio/gresource-tool.c:565,1
    - Dst: _
      Src: /src/glib/gio/gresource-tool.c:567,1
    - Dst: strcmp
      Src: /src/glib/gio/gresource-tool.c:571,1
    - Dst: g_string_append
      Src: /src/glib/gio/gresource-tool.c:584,1
    - Dst: g_print
      Src: /src/glib/gio/gresource-tool.c:591,1
    - Dst: g_printerr
      Src: /src/glib/gio/gresource-tool.c:593,1
    - Dst: _
      Src: /src/glib/gio/gresource-tool.c:502,1
    - Dst: _
      Src: /src/glib/gio/gresource-tool.c:503,1
    - Dst: strcmp
      Src: /src/glib/gio/gresource-tool.c:506,1
    - Dst: _
      Src: /src/glib/gio/gresource-tool.c:508,1
    - Dst: _
      Src: /src/glib/gio/gresource-tool.c:511,1
    - Dst: _
      Src: /src/glib/gio/gresource-tool.c:512,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gresource-tool.c:529,1
    - Dst: g_string_printf
      Src: /src/glib/gio/gresource-tool.c:534,1
    - Dst: _
      Src: /src/glib/gio/gresource-tool.c:565,1
    - Dst: strstr
      Src: /src/glib/gio/gresource-tool.c:569,1
    - Dst: strstr
      Src: /src/glib/gio/gresource-tool.c:580,1
    - Dst: _
      Src: /src/glib/gio/gresource-tool.c:585,1
    - Dst: _
      Src: /src/glib/gio/gresource-tool.c:582,1
    - Dst: _
      Src: /src/glib/gio/gresource-tool.c:580,1
    - Dst: g_free
      Src: /src/glib/gio/gresource-tool.c:595,1
    - Dst: g_string_new
      Src: /src/glib/gio/gresource-tool.c:489,1
    - Dst: _
      Src: /src/glib/gio/gresource-tool.c:497,1
    - Dst: _
      Src: /src/glib/gio/gresource-tool.c:496,1
    - Dst: strcmp
      Src: /src/glib/gio/gresource-tool.c:500,1
    - Dst: _
      Src: /src/glib/gio/gresource-tool.c:527,1
    - Dst: _
      Src: /src/glib/gio/gresource-tool.c:517,1
    - Dst: _
      Src: /src/glib/gio/gresource-tool.c:528,1
    - Dst: _
      Src: /src/glib/gio/gresource-tool.c:529,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gresource-tool.c:556,1
    - Dst: g_string_append
      Src: /src/glib/gio/gresource-tool.c:562,1
    - Dst: _
      Src: /src/glib/gio/gresource-tool.c:569,1
    - Dst: strstr
      Src: /src/glib/gio/gresource-tool.c:583,1
    - Dst: _
      Src: /src/glib/gio/gresource-tool.c:583,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 91
    argCount: 2
    argNames:
    - requested
    - command
    argTypes:
    - gboolean
    - gchar*
    constantsTouched: []
    func_position:
      end: 599
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 599
    functionName: cmd_help
    functionSourceFile: /src/glib/gio/gresource-tool.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_printerr
    - strcmp
    - strstr
    - g_string_free
    - g_string_printf
    - g_print
    - g_string_new
    - _
    - g_string_append_printf
    - g_free
    - g_string_append
    linkageType: ''
    returnType: gint
    signature: 'static gint cmd_help (gboolean requested, const gchar *command) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_resource_lookup_data
      Src: /src/glib/gio/gresource-tool.c:126,1
    - Dst: fwrite
      Src: /src/glib/gio/gresource-tool.c:133,1
    - Dst: g_printerr
      Src: /src/glib/gio/gresource-tool.c:135,1
    - Dst: g_bytes_get_data
      Src: /src/glib/gio/gresource-tool.c:132,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/gresource-tool.c:136,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - resource
    - path
    argTypes:
    - GResource*
    - gchar*
    constantsTouched: []
    func_position:
      end: 138
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 138
    functionName: extract_resource
    functionSourceFile: /src/glib/gio/gresource-tool.c
    functionUses: []
    functionsReached:
    - g_printerr
    - fwrite
    - g_bytes_unref
    - g_resource_lookup_data
    - g_bytes_get_data
    linkageType: ''
    returnType: void
    signature: 'static void extract_resource (GResource *resource, const gchar *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmethodinvocation.c:157,1
    - Dst: G_IS_DBUS_METHOD_INVOCATION
      Src: /src/glib/gio/gdbusmethodinvocation.c:157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 159
    functionName: g_dbus_method_invocation_get_object_path
    functionSourceFile: /src/glib/gio/gdbusmethodinvocation.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DBUS_METHOD_INVOCATION
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_dbus_method_invocation_get_object_path (GDBusMethodInvocation
      *invocation) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - invocation
    argTypes:
    - GDBusMethodInvocation*
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: g_dbus_method_invocation_init
    functionSourceFile: /src/glib/gio/gdbusmethodinvocation.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_method_invocation_init (GDBusMethodInvocation *invocation) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmethodinvocation.c:206,1
    - Dst: G_IS_DBUS_METHOD_INVOCATION
      Src: /src/glib/gio/gdbusmethodinvocation.c:206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 208
    functionName: g_dbus_method_invocation_get_method_info
    functionSourceFile: /src/glib/gio/gdbusmethodinvocation.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DBUS_METHOD_INVOCATION
    linkageType: ''
    returnType: GDBusMethodInfo*
    signature: 'const GDBusMethodInfo *g_dbus_method_invocation_get_method_info (GDBusMethodInvocation
      *invocation) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmethodinvocation.c:688,1
    - Dst: g_dbus_method_invocation_return_error_literal
      Src: /src/glib/gio/gdbusmethodinvocation.c:692,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/gio/gdbusmethodinvocation.c:691,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmethodinvocation.c:689,1
    - Dst: G_IS_DBUS_METHOD_INVOCATION
      Src: /src/glib/gio/gdbusmethodinvocation.c:688,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusmethodinvocation.c:696,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 5
    argNames:
    - invocation
    - domain
    - code
    - format
    - var_args
    argTypes:
    - GDBusMethodInvocation*
    - GQuark
    - gint
    - gchar*
    - va_list
    constantsTouched: []
    func_position:
      end: 697
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 697
    functionName: g_dbus_method_invocation_return_error_valist
    functionSourceFile: /src/glib/gio/gdbusmethodinvocation.c
    functionUses: []
    functionsReached:
    - g_strdup_vprintf
    - g_return_if_fail
    - g_dbus_method_invocation_return_error_literal
    - g_free
    - G_IS_DBUS_METHOD_INVOCATION
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_method_invocation_return_error_valist (GDBusMethodInvocation
      *invocation, GQuark domain, gint code, const gchar *format, va_list var_args) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_method_invocation_return_value_internal
      Src: /src/glib/gio/gdbusmethodinvocation.c:579,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - invocation
    - parameters
    argTypes:
    - GDBusMethodInvocation*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 580
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 580
    functionName: g_dbus_method_invocation_return_value
    functionSourceFile: /src/glib/gio/gdbusmethodinvocation.c
    functionUses: []
    functionsReached:
    - g_dbus_method_invocation_return_value_internal
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_method_invocation_return_value (GDBusMethodInvocation
      *invocation, GVariant *parameters) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmethodinvocation.c:779,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusmethodinvocation.c:782,1
    - Dst: G_IS_DBUS_METHOD_INVOCATION
      Src: /src/glib/gio/gdbusmethodinvocation.c:779,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmethodinvocation.c:780,1
    - Dst: g_dbus_method_invocation_return_gerror
      Src: /src/glib/gio/gdbusmethodinvocation.c:781,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - invocation
    - error
    argTypes:
    - GDBusMethodInvocation*
    - GError*
    constantsTouched: []
    func_position:
      end: 783
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 783
    functionName: g_dbus_method_invocation_take_error
    functionSourceFile: /src/glib/gio/gdbusmethodinvocation.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_METHOD_INVOCATION
    - g_error_free
    - g_dbus_method_invocation_return_gerror
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_method_invocation_take_error (GDBusMethodInvocation *invocation,
      GError *error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmethodinvocation.c:806,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmethodinvocation.c:807,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbusmethodinvocation.c:807,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmethodinvocation.c:808,1
    - Dst: G_IS_DBUS_METHOD_INVOCATION
      Src: /src/glib/gio/gdbusmethodinvocation.c:806,1
    - Dst: g_dbus_message_get_flags
      Src: /src/glib/gio/gdbusmethodinvocation.c:810,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusmethodinvocation.c:813,1
    - Dst: _g_dbus_debug_return
      Src: /src/glib/gio/gdbusmethodinvocation.c:813,1
    - Dst: _g_dbus_debug_print_lock
      Src: /src/glib/gio/gdbusmethodinvocation.c:815,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusmethodinvocation.c:816,1
    - Dst: g_dbus_message_new_method_error_literal
      Src: /src/glib/gio/gdbusmethodinvocation.c:833,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusmethodinvocation.c:837,1
    - Dst: _g_dbus_debug_print_unlock
      Src: /src/glib/gio/gdbusmethodinvocation.c:830,1
    - Dst: g_dbus_message_get_serial
      Src: /src/glib/gio/gdbusmethodinvocation.c:829,1
    - Dst: g_dbus_connection_send_message
      Src: /src/glib/gio/gdbusmethodinvocation.c:836,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusmethodinvocation.c:840,1
    - Dst: g_dbus_method_invocation_get_connection
      Src: /src/glib/gio/gdbusmethodinvocation.c:836,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 3
    argNames:
    - invocation
    - error_name
    - error_message
    argTypes:
    - GDBusMethodInvocation*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 841
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 841
    functionName: g_dbus_method_invocation_return_dbus_error
    functionSourceFile: /src/glib/gio/gdbusmethodinvocation.c
    functionUses: []
    functionsReached:
    - g_dbus_message_get_serial
    - g_object_unref
    - _g_dbus_debug_return
    - g_return_if_fail
    - _g_dbus_debug_print_unlock
    - _g_dbus_debug_print_lock
    - g_dbus_message_new_method_error_literal
    - g_dbus_connection_send_message
    - G_UNLIKELY
    - g_print
    - g_dbus_method_invocation_get_connection
    - g_dbus_message_get_flags
    - g_dbus_is_name
    - G_IS_DBUS_METHOD_INVOCATION
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_method_invocation_return_dbus_error (GDBusMethodInvocation
      *invocation, const gchar *error_name, const gchar *error_message) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: G_IS_DBUS_METHOD_INVOCATION
      Src: /src/glib/gio/gdbusmethodinvocation.c:399,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmethodinvocation.c:400,1
    - Dst: g_variant_type_dup_string
      Src: /src/glib/gio/gdbusmethodinvocation.c:417,1
    - Dst: g_variant_type_free
      Src: /src/glib/gio/gdbusmethodinvocation.c:421,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusmethodinvocation.c:450,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gdbusmethodinvocation.c:473,1
    - Dst: _g_dbus_debug_return
      Src: /src/glib/gio/gdbusmethodinvocation.c:491,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gdbusmethodinvocation.c:476,1
    - Dst: _g_dbus_debug_print_lock
      Src: /src/glib/gio/gdbusmethodinvocation.c:493,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/gdbusmethodinvocation.c:509,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusmethodinvocation.c:532,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusmethodinvocation.c:491,1
    - Dst: g_dbus_method_invocation_get_connection
      Src: /src/glib/gio/gdbusmethodinvocation.c:517,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gdbusmethodinvocation.c:475,1
    - Dst: g_dbus_message_get_flags
      Src: /src/glib/gio/gdbusmethodinvocation.c:402,1
    - Dst: _g_dbus_compute_complete_signature
      Src: /src/glib/gio/gdbusmethodinvocation.c:413,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusmethodinvocation.c:453,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusmethodinvocation.c:455,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusmethodinvocation.c:464,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusmethodinvocation.c:466,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusmethodinvocation.c:478,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusmethodinvocation.c:480,1
    - Dst: g_dbus_message_new_method_reply
      Src: /src/glib/gio/gdbusmethodinvocation.c:508,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusmethodinvocation.c:509,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gdbusmethodinvocation.c:519,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdbusmethodinvocation.c:528,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusmethodinvocation.c:400,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusmethodinvocation.c:415,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusmethodinvocation.c:419,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusmethodinvocation.c:420,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gdbusmethodinvocation.c:436,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusmethodinvocation.c:442,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusmethodinvocation.c:440,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmethodinvocation.c:456,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmethodinvocation.c:459,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gdbusmethodinvocation.c:462,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusmethodinvocation.c:520,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusmethodinvocation.c:481,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmethodinvocation.c:529,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusmethodinvocation.c:521,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmethodinvocation.c:399,1
    - Dst: g_variant_new_tuple
      Src: /src/glib/gio/gdbusmethodinvocation.c:406,1
    - Dst: g_variant_type_free
      Src: /src/glib/gio/gdbusmethodinvocation.c:425,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusmethodinvocation.c:422,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusmethodinvocation.c:443,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusmethodinvocation.c:440,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gdbusmethodinvocation.c:451,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusmethodinvocation.c:451,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusmethodinvocation.c:494,1
    - Dst: g_dbus_message_get_serial
      Src: /src/glib/gio/gdbusmethodinvocation.c:504,1
    - Dst: g_dbus_message_set_unix_fd_list
      Src: /src/glib/gio/gdbusmethodinvocation.c:513,1
    - Dst: g_dbus_connection_send_message
      Src: /src/glib/gio/gdbusmethodinvocation.c:517,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusmethodinvocation.c:478,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusmethodinvocation.c:467,1
    - Dst: _g_dbus_debug_print_unlock
      Src: /src/glib/gio/gdbusmethodinvocation.c:505,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusmethodinvocation.c:523,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 90
    argCount: 3
    argNames:
    - invocation
    - parameters
    - fd_list
    argTypes:
    - GDBusMethodInvocation*
    - GVariant*
    - GUnixFDList*
    constantsTouched: []
    func_position:
      end: 533
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 533
    functionName: g_dbus_method_invocation_return_value_internal
    functionSourceFile: /src/glib/gio/gdbusmethodinvocation.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_dbus_message_get_serial
    - _g_dbus_debug_return
    - g_dbus_message_set_unix_fd_list
    - _g_dbus_debug_print_lock
    - g_dbus_message_set_body
    - G_UNLIKELY
    - _g_dbus_compute_complete_signature
    - g_dbus_message_get_flags
    - g_warning
    - g_variant_is_of_type
    - g_object_unref
    - g_variant_unref
    - g_variant_type_dup_string
    - g_dbus_connection_send_message
    - g_error_free
    - g_variant_get_type_string
    - g_variant_get
    - g_print
    - g_dbus_method_invocation_get_connection
    - _g_dbus_debug_print_unlock
    - g_variant_new_tuple
    - g_assert_not_reached
    - g_dbus_message_new_method_reply
    - G_VARIANT_TYPE
    - g_str_equal
    - g_variant_ref_sink
    - g_return_if_fail
    - g_variant_type_free
    - g_error_matches
    - g_free
    - G_IS_DBUS_METHOD_INVOCATION
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_method_invocation_return_value_internal (GDBusMethodInvocation
      *invocation, GVariant *parameters, GUnixFDList *fd_list) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmethodinvocation.c:750,1
    - Dst: G_IS_DBUS_METHOD_INVOCATION
      Src: /src/glib/gio/gdbusmethodinvocation.c:750,1
    - Dst: g_dbus_method_invocation_return_dbus_error
      Src: /src/glib/gio/gdbusmethodinvocation.c:755,1
    - Dst: g_dbus_error_encode_gerror
      Src: /src/glib/gio/gdbusmethodinvocation.c:753,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmethodinvocation.c:751,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusmethodinvocation.c:758,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - invocation
    - error
    argTypes:
    - GDBusMethodInvocation*
    - GError*
    constantsTouched: []
    func_position:
      end: 759
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 759
    functionName: g_dbus_method_invocation_return_gerror
    functionSourceFile: /src/glib/gio/gdbusmethodinvocation.c
    functionUses: []
    functionsReached:
    - g_dbus_method_invocation_return_dbus_error
    - g_return_if_fail
    - g_dbus_error_encode_gerror
    - g_free
    - G_IS_DBUS_METHOD_INVOCATION
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_method_invocation_return_gerror (GDBusMethodInvocation
      *invocation, const GError *error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_method_invocation_return_value_internal
      Src: /src/glib/gio/gdbusmethodinvocation.c:604,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - invocation
    - parameters
    - fd_list
    argTypes:
    - GDBusMethodInvocation*
    - GVariant*
    - GUnixFDList*
    constantsTouched: []
    func_position:
      end: 605
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 605
    functionName: g_dbus_method_invocation_return_value_with_unix_fd_list
    functionSourceFile: /src/glib/gio/gdbusmethodinvocation.c
    functionUses: []
    functionsReached:
    - g_dbus_method_invocation_return_value_internal
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_method_invocation_return_value_with_unix_fd_list (GDBusMethodInvocation
      *invocation, GVariant *parameters, GUnixFDList *fd_list) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmethodinvocation.c:364,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmethodinvocation.c:365,1
    - Dst: g_dbus_is_interface_name
      Src: /src/glib/gio/gdbusmethodinvocation.c:366,1
    - Dst: g_dbus_is_member_name
      Src: /src/glib/gio/gdbusmethodinvocation.c:367,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmethodinvocation.c:368,1
    - Dst: g_object_new
      Src: /src/glib/gio/gdbusmethodinvocation.c:372,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmethodinvocation.c:370,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusmethodinvocation.c:381,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusmethodinvocation.c:365,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusmethodinvocation.c:368,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusmethodinvocation.c:374,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusmethodinvocation.c:370,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmethodinvocation.c:369,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusmethodinvocation.c:382,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmethodinvocation.c:366,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbusmethodinvocation.c:364,1
    - Dst: G_DBUS_METHOD_INVOCATION
      Src: /src/glib/gio/gdbusmethodinvocation.c:372,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusmethodinvocation.c:373,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusmethodinvocation.c:375,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusmethodinvocation.c:369,1
    - Dst: g_dbus_method_info_ref
      Src: /src/glib/gio/gdbusmethodinvocation.c:378,1
    - Dst: g_dbus_property_info_ref
      Src: /src/glib/gio/gdbusmethodinvocation.c:380,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gdbusmethodinvocation.c:383,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmethodinvocation.c:367,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusmethodinvocation.c:376,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 387
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 387
    functionName: _g_dbus_method_invocation_new
    functionSourceFile: /src/glib/gio/gdbusmethodinvocation.c
    functionUses: []
    functionsReached:
    - g_variant_ref
    - g_return_val_if_fail
    - g_strdup
    - G_IS_DBUS_MESSAGE
    - g_variant_is_of_type
    - g_object_new
    - g_dbus_property_info_ref
    - G_IS_DBUS_CONNECTION
    - G_DBUS_METHOD_INVOCATION
    - g_dbus_is_interface_name
    - g_object_ref
    - g_dbus_is_member_name
    - g_variant_is_object_path
    - g_dbus_method_info_ref
    - g_dbus_is_name
    linkageType: ''
    returnType: GDBusMethodInvocation*
    signature: 'GDBusMethodInvocation *_g_dbus_method_invocation_new (const gchar
      *sender, const gchar *object_path, const gchar *interface_name, const gchar
      *method_name, const GDBusMethodInfo *method_info, const GDBusPropertyInfo *property_info,
      GDBusConnection *connection, GDBusMessage *message, GVariant *parameters, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmethodinvocation.c:327,1
    - Dst: G_IS_DBUS_METHOD_INVOCATION
      Src: /src/glib/gio/gdbusmethodinvocation.c:327,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - invocation
    argTypes:
    - GDBusMethodInvocation*
    constantsTouched: []
    func_position:
      end: 329
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 329
    functionName: g_dbus_method_invocation_get_user_data
    functionSourceFile: /src/glib/gio/gdbusmethodinvocation.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DBUS_METHOD_INVOCATION
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_dbus_method_invocation_get_user_data (GDBusMethodInvocation
      *invocation) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_METHOD_INVOCATION
      Src: /src/glib/gio/gdbusmethodinvocation.c:94,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusmethodinvocation.c:98,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusmethodinvocation.c:99,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusmethodinvocation.c:96,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusmethodinvocation.c:97,1
    - Dst: g_dbus_method_info_unref
      Src: /src/glib/gio/gdbusmethodinvocation.c:101,1
    - Dst: g_dbus_property_info_unref
      Src: /src/glib/gio/gdbusmethodinvocation.c:103,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusmethodinvocation.c:104,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusmethodinvocation.c:105,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmethodinvocation.c:106,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusmethodinvocation.c:108,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 109
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 109
    functionName: g_dbus_method_invocation_finalize
    functionSourceFile: /src/glib/gio/gdbusmethodinvocation.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - G_OBJECT_CLASS
    - g_variant_unref
    - g_dbus_method_info_unref
    - g_free
    - G_DBUS_METHOD_INVOCATION
    - g_dbus_property_info_unref
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_method_invocation_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmethodinvocation.c:267,1
    - Dst: G_IS_DBUS_METHOD_INVOCATION
      Src: /src/glib/gio/gdbusmethodinvocation.c:267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 269
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 269
    functionName: g_dbus_method_invocation_get_connection
    functionSourceFile: /src/glib/gio/gdbusmethodinvocation.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DBUS_METHOD_INVOCATION
    linkageType: ''
    returnType: GDBusConnection*
    signature: 'GDBusConnection *g_dbus_method_invocation_get_connection (GDBusMethodInvocation
      *invocation) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmethodinvocation.c:310,1
    - Dst: G_IS_DBUS_METHOD_INVOCATION
      Src: /src/glib/gio/gdbusmethodinvocation.c:310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 312
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 312
    functionName: g_dbus_method_invocation_get_parameters
    functionSourceFile: /src/glib/gio/gdbusmethodinvocation.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DBUS_METHOD_INVOCATION
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_dbus_method_invocation_get_parameters (GDBusMethodInvocation
      *invocation) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusmethodinvocation.c:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GDBusMethodInvocationClass*
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: g_dbus_method_invocation_class_init
    functionSourceFile: /src/glib/gio/gdbusmethodinvocation.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_method_invocation_class_init (GDBusMethodInvocationClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmethodinvocation.c:650,1
    - Dst: G_IS_DBUS_METHOD_INVOCATION
      Src: /src/glib/gio/gdbusmethodinvocation.c:650,1
    - Dst: va_start
      Src: /src/glib/gio/gdbusmethodinvocation.c:653,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmethodinvocation.c:651,1
    - Dst: g_dbus_method_invocation_return_error_valist
      Src: /src/glib/gio/gdbusmethodinvocation.c:654,1
    - Dst: va_end
      Src: /src/glib/gio/gdbusmethodinvocation.c:659,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - invocation
    - domain
    - code
    - format
    - '...'
    argTypes:
    - GDBusMethodInvocation*
    - GQuark
    - gint
    - gchar*
    constantsTouched: []
    func_position:
      end: 660
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 660
    functionName: g_dbus_method_invocation_return_error
    functionSourceFile: /src/glib/gio/gdbusmethodinvocation.c
    functionUses: []
    functionsReached:
    - g_dbus_method_invocation_return_error_valist
    - g_return_if_fail
    - va_end
    - va_start
    - G_IS_DBUS_METHOD_INVOCATION
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_method_invocation_return_error (GDBusMethodInvocation
      *invocation, GQuark domain, gint code, const gchar *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmethodinvocation.c:140,1
    - Dst: G_IS_DBUS_METHOD_INVOCATION
      Src: /src/glib/gio/gdbusmethodinvocation.c:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: g_dbus_method_invocation_get_sender
    functionSourceFile: /src/glib/gio/gdbusmethodinvocation.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DBUS_METHOD_INVOCATION
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_dbus_method_invocation_get_sender (GDBusMethodInvocation
      *invocation) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmethodinvocation.c:184,1
    - Dst: G_IS_DBUS_METHOD_INVOCATION
      Src: /src/glib/gio/gdbusmethodinvocation.c:184,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 186
    functionName: g_dbus_method_invocation_get_interface_name
    functionSourceFile: /src/glib/gio/gdbusmethodinvocation.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DBUS_METHOD_INVOCATION
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_dbus_method_invocation_get_interface_name (GDBusMethodInvocation
      *invocation) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmethodinvocation.c:233,1
    - Dst: G_IS_DBUS_METHOD_INVOCATION
      Src: /src/glib/gio/gdbusmethodinvocation.c:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 235
    functionName: g_dbus_method_invocation_get_property_info
    functionSourceFile: /src/glib/gio/gdbusmethodinvocation.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DBUS_METHOD_INVOCATION
    linkageType: ''
    returnType: GDBusPropertyInfo*
    signature: 'const GDBusPropertyInfo *g_dbus_method_invocation_get_property_info
      (GDBusMethodInvocation *invocation) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmethodinvocation.c:250,1
    - Dst: G_IS_DBUS_METHOD_INVOCATION
      Src: /src/glib/gio/gdbusmethodinvocation.c:250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 252
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 252
    functionName: g_dbus_method_invocation_get_method_name
    functionSourceFile: /src/glib/gio/gdbusmethodinvocation.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DBUS_METHOD_INVOCATION
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_dbus_method_invocation_get_method_name (GDBusMethodInvocation
      *invocation) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmethodinvocation.c:292,1
    - Dst: G_IS_DBUS_METHOD_INVOCATION
      Src: /src/glib/gio/gdbusmethodinvocation.c:292,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 294
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 294
    functionName: g_dbus_method_invocation_get_message
    functionSourceFile: /src/glib/gio/gdbusmethodinvocation.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DBUS_METHOD_INVOCATION
    linkageType: ''
    returnType: GDBusMessage*
    signature: 'GDBusMessage *g_dbus_method_invocation_get_message (GDBusMethodInvocation
      *invocation) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmethodinvocation.c:722,1
    - Dst: g_error_new_literal
      Src: /src/glib/gio/gdbusmethodinvocation.c:725,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmethodinvocation.c:723,1
    - Dst: g_dbus_method_invocation_return_gerror
      Src: /src/glib/gio/gdbusmethodinvocation.c:726,1
    - Dst: G_IS_DBUS_METHOD_INVOCATION
      Src: /src/glib/gio/gdbusmethodinvocation.c:722,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusmethodinvocation.c:727,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - invocation
    - domain
    - code
    - message
    argTypes:
    - GDBusMethodInvocation*
    - GQuark
    - gint
    - gchar*
    constantsTouched: []
    func_position:
      end: 728
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 728
    functionName: g_dbus_method_invocation_return_error_literal
    functionSourceFile: /src/glib/gio/gdbusmethodinvocation.c
    functionUses: []
    functionsReached:
    - g_error_new_literal
    - g_dbus_method_invocation_return_gerror
    - g_return_if_fail
    - g_error_free
    - G_IS_DBUS_METHOD_INVOCATION
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_method_invocation_return_error_literal (GDBusMethodInvocation
      *invocation, GQuark domain, gint code, const gchar *message) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_set_summary
      Src: /src/glib/gio/gio-tool-launch.c:57,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-launch.c:55,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/gio/gio-tool-launch.c:59,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-launch.c:64,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-launch.c:83,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-launch.c:86,1
    - Dst: print_error
      Src: /src/glib/gio/gio-tool-launch.c:86,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-launch.c:71,1
    - Dst: g_key_file_load_from_file
      Src: /src/glib/gio/gio-tool-launch.c:97,1
    - Dst: print_error
      Src: /src/glib/gio/gio-tool-launch.c:99,1
    - Dst: print_error
      Src: /src/glib/gio/gio-tool-launch.c:108,1
    - Dst: g_option_context_set_help_enabled
      Src: /src/glib/gio/gio-tool-launch.c:56,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-launch.c:63,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-launch.c:70,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-launch.c:78,1
    - Dst: g_desktop_app_info_new_from_keyfile
      Src: /src/glib/gio/gio-tool-launch.c:105,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-launch.c:108,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-launch.c:120,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gio-tool-launch.c:124,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gio-tool-launch.c:127,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gio-tool-launch.c:100,1
    - Dst: g_option_context_new
      Src: /src/glib/gio/gio-tool-launch.c:55,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/gio-tool-launch.c:68,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-launch.c:78,1
    - Dst: g_app_info_launch
      Src: /src/glib/gio/gio-tool-launch.c:118,1
    - Dst: print_error
      Src: /src/glib/gio/gio-tool-launch.c:120,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/gio-tool-launch.c:115,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gio-tool-launch.c:121,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gio-tool-launch.c:125,1
    - Dst: g_set_prgname
      Src: /src/glib/gio/gio-tool-launch.c:52,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-launch.c:58,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-launch.c:79,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-launch.c:72,1
    - Dst: g_key_file_new
      Src: /src/glib/gio/gio-tool-launch.c:96,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-launch.c:99,1
    - Dst: g_list_append
      Src: /src/glib/gio/gio-tool-launch.c:115,1
    - Dst: g_key_file_free
      Src: /src/glib/gio/gio-tool-launch.c:129,1
    - Dst: g_app_launch_context_new
      Src: /src/glib/gio/gio-tool-launch.c:117,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 70
    argCount: 3
    argNames:
    - argc
    - argv
    - do_help
    argTypes:
    - int
    - char*
    - gboolean
    constantsTouched: []
    func_position:
      end: 132
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 132
    functionName: handle_launch
    functionSourceFile: /src/glib/gio/gio-tool-launch.c
    functionUses: []
    functionsReached:
    - g_option_context_free
    - g_list_free_full
    - show_help
    - g_key_file_load_from_file
    - print_error
    - g_file_new_for_commandline_arg
    - g_list_append
    - g_clear_object
    - g_error_free
    - g_option_context_parse
    - g_key_file_new
    - g_option_context_new
    - g_set_prgname
    - g_app_info_launch
    - g_option_context_set_help_enabled
    - _
    - g_option_context_add_main_entries
    - g_desktop_app_info_new_from_keyfile
    - g_clear_error
    - g_key_file_free
    - g_app_launch_context_new
    - g_option_context_set_summary
    linkageType: ''
    returnType: int
    signature: 'int handle_launch (int argc, char *argv[], gboolean do_help) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_debug_controller_dbus_get_instance_private
      Src: /src/glib/gio/gdebugcontrollerdbus.c:211,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/gdebugcontrollerdbus.c:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - self
    argTypes:
    - GDebugControllerDBus*
    constantsTouched: []
    func_position:
      end: 214
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 214
    functionName: g_debug_controller_dbus_init
    functionSourceFile: /src/glib/gio/gdebugcontrollerdbus.c
    functionUses: []
    functionsReached:
    - g_debug_controller_dbus_get_instance_private
    - g_cancellable_new
    linkageType: ''
    returnType: void
    signature: 'static void g_debug_controller_dbus_init (GDebugControllerDBus *self) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_debug_controller_dbus_get_instance_private
      Src: /src/glib/gio/gdebugcontrollerdbus.c:267,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gdebugcontrollerdbus.c:269,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gdebugcontrollerdbus.c:272,1
    - Dst: g_variant_new_boolean
      Src: /src/glib/gio/gdebugcontrollerdbus.c:270,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 275
    functionName: dbus_get_property
    functionSourceFile: /src/glib/gio/gdebugcontrollerdbus.c
    functionUses: []
    functionsReached:
    - g_variant_new_boolean
    - g_debug_controller_dbus_get_instance_private
    - g_assert_not_reached
    - g_str_equal
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *dbus_get_property (GDBusConnection *connection, const
      gchar *sender, const gchar *object_path, const gchar *interface_name, const
      gchar *property_name, GError **error, gpointer user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_debug_controller_dbus_get_instance_private
      Src: /src/glib/gio/gdebugcontrollerdbus.c:390,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gdebugcontrollerdbus.c:399,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gdebugcontrollerdbus.c:394,1
    - Dst: g_task_new
      Src: /src/glib/gio/gdebugcontrollerdbus.c:398,1
    - Dst: G_DEBUG_CONTROLLER_DBUS_GET_CLASS
      Src: /src/glib/gio/gdebugcontrollerdbus.c:391,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gdebugcontrollerdbus.c:400,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdebugcontrollerdbus.c:400,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/gio/gdebugcontrollerdbus.c:406,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdebugcontrollerdbus.c:407,1
    - Dst: weak_ref_new
      Src: /src/glib/gio/gdebugcontrollerdbus.c:407,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdebugcontrollerdbus.c:407,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gdebugcontrollerdbus.c:423,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gdebugcontrollerdbus.c:425,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdebugcontrollerdbus.c:427,1
    - Dst: garbage_collect_weak_refs
      Src: /src/glib/gio/gdebugcontrollerdbus.c:410,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gdebugcontrollerdbus.c:430,1
    - Dst: g_signal_has_handler_pending
      Src: /src/glib/gio/gdebugcontrollerdbus.c:421,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 24
    argCount: 8
    argNames:
    - connection
    - sender
    - object_path
    - interface_name
    - method_name
    - parameters
    - invocation
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GVariant*
    - GDBusMethodInvocation*
    - gpointer
    constantsTouched: []
    func_position:
      end: 431
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 431
    functionName: dbus_method_call
    functionSourceFile: /src/glib/gio/gdebugcontrollerdbus.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_task_new
    - g_task_run_in_thread
    - g_task_set_source_tag
    - garbage_collect_weak_refs
    - G_DEBUG_CONTROLLER_DBUS_GET_CLASS
    - weak_ref_new
    - G_OBJECT
    - g_assert_not_reached
    - g_clear_object
    - g_ptr_array_new_with_free_func
    - g_debug_controller_dbus_get_instance_private
    - g_object_ref
    - g_task_set_task_data
    - g_signal_has_handler_pending
    - g_ptr_array_add
    - g_str_equal
    linkageType: ''
    returnType: void
    signature: 'static void dbus_method_call (GDBusConnection *connection, const gchar
      *sender, const gchar *object_path, const gchar *interface_name, const gchar
      *method_name, GVariant *parameters, GDBusMethodInvocation *invocation, gpointer
      user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_debug_controller_dbus_get_instance_private
      Src: /src/glib/gio/gdebugcontrollerdbus.c:220,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdebugcontrollerdbus.c:235,1
    - Dst: g_log_set_debug_enabled
      Src: /src/glib/gio/gdebugcontrollerdbus.c:232,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gdebugcontrollerdbus.c:235,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/gdebugcontrollerdbus.c:222,1
    - Dst: g_variant_builder_init_static
      Src: /src/glib/gio/gdebugcontrollerdbus.c:237,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdebugcontrollerdbus.c:237,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gdebugcontrollerdbus.c:238,1
    - Dst: g_variant_new_boolean
      Src: /src/glib/gio/gdebugcontrollerdbus.c:238,1
    - Dst: g_dbus_connection_emit_signal
      Src: /src/glib/gio/gdebugcontrollerdbus.c:240,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdebugcontrollerdbus.c:245,1
    - Dst: g_debug
      Src: /src/glib/gio/gdebugcontrollerdbus.c:251,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - self
    - debug_enabled
    argTypes:
    - GDebugControllerDBus*
    - gboolean
    constantsTouched: []
    func_position:
      end: 253
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 253
    functionName: set_debug_enabled
    functionSourceFile: /src/glib/gio/gdebugcontrollerdbus.c
    functionUses: []
    functionsReached:
    - g_variant_new_boolean
    - g_cancellable_is_cancelled
    - g_object_notify
    - g_log_set_debug_enabled
    - g_variant_builder_init_static
    - g_debug
    - G_OBJECT
    - g_debug_controller_dbus_get_instance_private
    - g_variant_new
    - g_variant_builder_add
    - g_dbus_connection_emit_signal
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: void
    signature: 'static void set_debug_enabled (GDebugControllerDBus *self, gboolean
      debug_enabled) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gdebugcontrollerdbus.c:280,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdebugcontrollerdbus.c:284,1
    - Dst: g_weak_ref_init
      Src: /src/glib/gio/gdebugcontrollerdbus.c:282,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 285
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 285
    functionName: weak_ref_new
    functionSourceFile: /src/glib/gio/gdebugcontrollerdbus.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_new0
    - g_weak_ref_init
    linkageType: ''
    returnType: GWeakRef*
    signature: 'static GWeakRef *weak_ref_new (GObject *obj) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_DEBUG_CONTROLLER_DBUS
      Src: /src/glib/gio/gdebugcontrollerdbus.c:438,1
    - Dst: g_dbus_node_info_lookup_interface
      Src: /src/glib/gio/gdebugcontrollerdbus.c:455,1
    - Dst: g_dbus_node_info_new_for_xml
      Src: /src/glib/gio/gdebugcontrollerdbus.c:452,1
    - Dst: g_debug_controller_dbus_get_instance_private
      Src: /src/glib/gio/gdebugcontrollerdbus.c:439,1
    - Dst: g_error
      Src: /src/glib/gio/gdebugcontrollerdbus.c:454,1
    - Dst: g_assert
      Src: /src/glib/gio/gdebugcontrollerdbus.c:456,1
    - Dst: g_dbus_interface_info_ref
      Src: /src/glib/gio/gdebugcontrollerdbus.c:457,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/gdebugcontrollerdbus.c:458,1
    - Dst: g_dbus_connection_register_object
      Src: /src/glib/gio/gdebugcontrollerdbus.c:461,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 3
    argNames:
    - initable
    - cancellable
    - error
    argTypes:
    - GInitable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 469
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 469
    functionName: g_debug_controller_dbus_initable_init
    functionSourceFile: /src/glib/gio/gdebugcontrollerdbus.c
    functionUses: []
    functionsReached:
    - g_dbus_node_info_new_for_xml
    - g_assert
    - g_dbus_interface_info_ref
    - g_dbus_node_info_unref
    - g_debug_controller_dbus_get_instance_private
    - g_dbus_node_info_lookup_interface
    - g_dbus_connection_register_object
    - G_DEBUG_CONTROLLER_DBUS
    - g_error
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_debug_controller_dbus_initable_init (GInitable *initable,
      GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DEBUG_CONTROLLER_DBUS
      Src: /src/glib/gio/gdebugcontrollerdbus.c:346,1
    - Dst: G_TASK
      Src: /src/glib/gio/gdebugcontrollerdbus.c:348,1
    - Dst: g_dbus_method_invocation_get_parameters
      Src: /src/glib/gio/gdebugcontrollerdbus.c:350,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gdebugcontrollerdbus.c:349,1
    - Dst: g_debug_controller_dbus_get_instance_private
      Src: /src/glib/gio/gdebugcontrollerdbus.c:354,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gdebugcontrollerdbus.c:355,1
    - Dst: g_error_new
      Src: /src/glib/gio/gdebugcontrollerdbus.c:359,1
    - Dst: _
      Src: /src/glib/gio/gdebugcontrollerdbus.c:360,1
    - Dst: g_dbus_method_invocation_take_error
      Src: /src/glib/gio/gdebugcontrollerdbus.c:361,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdebugcontrollerdbus.c:361,1
    - Dst: set_debug_enabled
      Src: /src/glib/gio/gdebugcontrollerdbus.c:367,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdebugcontrollerdbus.c:366,1
    - Dst: g_assert
      Src: /src/glib/gio/gdebugcontrollerdbus.c:374,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/gdebugcontrollerdbus.c:369,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 375
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 375
    functionName: authorize_cb
    functionSourceFile: /src/glib/gio/gdebugcontrollerdbus.c
    functionUses: []
    functionsReached:
    - g_task_propagate_boolean
    - g_steal_pointer
    - g_assert
    - g_dbus_method_invocation_take_error
    - g_dbus_method_invocation_get_parameters
    - g_error_new
    - g_dbus_method_invocation_return_value
    - g_debug_controller_dbus_get_instance_private
    - g_task_get_task_data
    - g_variant_get
    - G_DEBUG_CONTROLLER_DBUS
    - _
    - G_TASK
    - set_debug_enabled
    linkageType: ''
    returnType: void
    signature: 'static void authorize_cb (GObject *object, GAsyncResult *result, gpointer
      user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_debug_controller_dbus_get_instance_private
      Src: /src/glib/gio/gdebugcontrollerdbus.c:299,1
    - Dst: g_ptr_array_remove_index_fast
      Src: /src/glib/gio/gdebugcontrollerdbus.c:313,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gio/gdebugcontrollerdbus.c:310,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdebugcontrollerdbus.c:315,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gdebugcontrollerdbus.c:309,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdebugcontrollerdbus.c:320,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - self
    argTypes:
    - GDebugControllerDBus*
    constantsTouched: []
    func_position:
      end: 321
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 321
    functionName: garbage_collect_weak_refs
    functionSourceFile: /src/glib/gio/gdebugcontrollerdbus.c
    functionUses: []
    functionsReached:
    - g_weak_ref_get
    - g_object_unref
    - g_ptr_array_remove_index_fast
    - g_clear_pointer
    - g_debug_controller_dbus_get_instance_private
    - g_ptr_array_index
    linkageType: ''
    returnType: void
    signature: 'static void garbage_collect_weak_refs (GDebugControllerDBus *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DEBUG_CONTROLLER_DBUS
      Src: /src/glib/gio/gdebugcontrollerdbus.c:330,1
    - Dst: G_DBUS_METHOD_INVOCATION
      Src: /src/glib/gio/gdebugcontrollerdbus.c:331,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gdebugcontrollerdbus.c:336,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gdebugcontrollerdbus.c:334,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - task
    - source_object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 337
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 337
    functionName: authorize_task_cb
    functionSourceFile: /src/glib/gio/gdebugcontrollerdbus.c
    functionUses: []
    functionsReached:
    - g_signal_emit
    - g_task_return_boolean
    - G_DBUS_METHOD_INVOCATION
    - G_DEBUG_CONTROLLER_DBUS
    linkageType: ''
    returnType: void
    signature: 'static void authorize_task_cb (GTask *task, gpointer source_object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DEBUG_CONTROLLER_DBUS
      Src: /src/glib/gio/gdebugcontrollerdbus.c:522,1
    - Dst: g_debug_controller_dbus_stop
      Src: /src/glib/gio/gdebugcontrollerdbus.c:525,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdebugcontrollerdbus.c:527,1
    - Dst: g_debug_controller_dbus_get_instance_private
      Src: /src/glib/gio/gdebugcontrollerdbus.c:523,1
    - Dst: g_assert
      Src: /src/glib/gio/gdebugcontrollerdbus.c:526,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdebugcontrollerdbus.c:528,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdebugcontrollerdbus.c:530,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 531
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 531
    functionName: g_debug_controller_dbus_dispose
    functionSourceFile: /src/glib/gio/gdebugcontrollerdbus.c
    functionUses: []
    functionsReached:
    - g_assert
    - G_OBJECT_CLASS
    - g_clear_object
    - g_debug_controller_dbus_get_instance_private
    - G_DEBUG_CONTROLLER_DBUS
    - g_debug_controller_dbus_stop
    linkageType: ''
    returnType: void
    signature: 'static void g_debug_controller_dbus_dispose (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdebugcontrollerdbus.c:543,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gdebugcontrollerdbus.c:563,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/gdebugcontrollerdbus.c:569,1
    - Dst: g_object_class_install_properties
      Src: /src/glib/gio/gdebugcontrollerdbus.c:569,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/gdebugcontrollerdbus.c:571,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gdebugcontrollerdbus.c:601,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gdebugcontrollerdbus.c:604,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gdebugcontrollerdbus.c:611,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gdebugcontrollerdbus.c:612,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GDebugControllerDBusClass*
    constantsTouched: []
    func_position:
      end: 614
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 614
    functionName: g_debug_controller_dbus_class_init
    functionSourceFile: /src/glib/gio/gdebugcontrollerdbus.c
    functionUses: []
    functionsReached:
    - G_STRUCT_OFFSET
    - G_N_ELEMENTS
    - G_TYPE_FROM_CLASS
    - g_object_class_install_properties
    - g_param_spec_object
    - G_OBJECT_CLASS
    - g_signal_set_va_marshaller
    - g_signal_new
    - g_object_class_override_property
    linkageType: ''
    returnType: void
    signature: 'static void g_debug_controller_dbus_class_init (GDebugControllerDBusClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdebugcontrollerdbus.c:650,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdebugcontrollerdbus.c:650,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdebugcontrollerdbus.c:651,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdebugcontrollerdbus.c:652,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gdebugcontrollerdbus.c:651,1
    - Dst: g_initable_new
      Src: /src/glib/gio/gdebugcontrollerdbus.c:654,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 659
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 659
    functionName: g_debug_controller_dbus_new
    functionSourceFile: /src/glib/gio/gdebugcontrollerdbus.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_CONNECTION
    - g_return_val_if_fail
    - g_initable_new
    - G_IS_CANCELLABLE
    linkageType: ''
    returnType: GDebugControllerDBus*
    signature: 'GDebugControllerDBus *g_debug_controller_dbus_new (GDBusConnection
      *connection, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - self
    - invocation
    argTypes:
    - GDebugControllerDBus*
    - GDBusMethodInvocation*
    constantsTouched: []
    func_position:
      end: 538
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 538
    functionName: g_debug_controller_dbus_authorize_default
    functionSourceFile: /src/glib/gio/gdebugcontrollerdbus.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_debug_controller_dbus_authorize_default (GDebugControllerDBus
      *self, GDBusMethodInvocation *invocation) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GDebugControllerInterface*
    constantsTouched: []
    func_position:
      end: 619
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 619
    functionName: g_debug_controller_dbus_iface_init
    functionSourceFile: /src/glib/gio/gdebugcontrollerdbus.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_debug_controller_dbus_iface_init (GDebugControllerInterface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_weak_ref_clear
      Src: /src/glib/gio/gdebugcontrollerdbus.c:290,1
    - Dst: g_free
      Src: /src/glib/gio/gdebugcontrollerdbus.c:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - weak_ref
    argTypes:
    - GWeakRef*
    constantsTouched: []
    func_position:
      end: 292
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 292
    functionName: weak_ref_free
    functionSourceFile: /src/glib/gio/gdebugcontrollerdbus.c
    functionUses: []
    functionsReached:
    - g_weak_ref_clear
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void weak_ref_free (GWeakRef *weak_ref) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GInitableIface*
    constantsTouched: []
    func_position:
      end: 625
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 625
    functionName: g_debug_controller_dbus_initable_iface_init
    functionSourceFile: /src/glib/gio/gdebugcontrollerdbus.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_debug_controller_dbus_initable_iface_init (GInitableIface
      *iface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_debug_controller_dbus_get_instance_private
      Src: /src/glib/gio/gdebugcontrollerdbus.c:687,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/gdebugcontrollerdbus.c:689,1
    - Dst: g_dbus_connection_unregister_object
      Src: /src/glib/gio/gdebugcontrollerdbus.c:693,1
    - Dst: g_thread_yield
      Src: /src/glib/gio/gdebugcontrollerdbus.c:708,1
    - Dst: garbage_collect_weak_refs
      Src: /src/glib/gio/gdebugcontrollerdbus.c:707,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - self
    argTypes:
    - GDebugControllerDBus*
    constantsTouched: []
    func_position:
      end: 710
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 710
    functionName: g_debug_controller_dbus_stop
    functionSourceFile: /src/glib/gio/gdebugcontrollerdbus.c
    functionUses: []
    functionsReached:
    - g_thread_yield
    - g_dbus_connection_unregister_object
    - garbage_collect_weak_refs
    - g_debug_controller_dbus_get_instance_private
    - g_cancellable_cancel
    linkageType: ''
    returnType: void
    signature: 'void g_debug_controller_dbus_stop (GDebugControllerDBus *self) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_DEBUG_CONTROLLER_DBUS
      Src: /src/glib/gio/gdebugcontrollerdbus.c:477,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gdebugcontrollerdbus.c:483,1
    - Dst: g_debug_controller_dbus_get_instance_private
      Src: /src/glib/gio/gdebugcontrollerdbus.c:478,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gdebugcontrollerdbus.c:486,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gdebugcontrollerdbus.c:489,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 492
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 492
    functionName: g_debug_controller_dbus_get_property
    functionSourceFile: /src/glib/gio/gdebugcontrollerdbus.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_boolean
    - g_value_set_object
    - g_debug_controller_dbus_get_instance_private
    - G_DEBUG_CONTROLLER_DBUS
    linkageType: ''
    returnType: void
    signature: 'static void g_debug_controller_dbus_get_property (GObject *object,
      guint prop_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_DEBUG_CONTROLLER_DBUS
      Src: /src/glib/gio/gdebugcontrollerdbus.c:500,1
    - Dst: set_debug_enabled
      Src: /src/glib/gio/gdebugcontrollerdbus.c:511,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/gdebugcontrollerdbus.c:508,1
    - Dst: g_assert
      Src: /src/glib/gio/gdebugcontrollerdbus.c:507,1
    - Dst: g_debug_controller_dbus_get_instance_private
      Src: /src/glib/gio/gdebugcontrollerdbus.c:501,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gdebugcontrollerdbus.c:511,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gdebugcontrollerdbus.c:514,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 517
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 517
    functionName: g_debug_controller_dbus_set_property
    functionSourceFile: /src/glib/gio/gdebugcontrollerdbus.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_assert
    - g_value_get_boolean
    - g_debug_controller_dbus_get_instance_private
    - g_value_dup_object
    - set_debug_enabled
    - G_DEBUG_CONTROLLER_DBUS
    linkageType: ''
    returnType: void
    signature: 'static void g_debug_controller_dbus_set_property (GObject *object,
      guint prop_id, const GValue *value, GParamSpec *pspec) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_OBJECT_MANAGER_CLIENT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:257,1
    - Dst: g_dbus_object_manager_get_object_path
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:266,1
    - Dst: g_dbus_object_manager_client_get_connection
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:262,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:262,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:266,1
    - Dst: G_DBUS_OBJECT_MANAGER
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:266,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:270,1
    - Dst: g_dbus_object_manager_client_get_name
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:270,1
    - Dst: g_value_set_flags
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:274,1
    - Dst: g_dbus_object_manager_client_get_flags
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:274,1
    - Dst: g_value_take_string
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:278,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:282,1
    - Dst: g_dbus_object_manager_client_get_name_owner
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:278,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 4
    argNames:
    - _object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 285
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 285
    functionName: g_dbus_object_manager_client_get_property
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - g_value_take_string
    - g_dbus_object_manager_client_get_connection
    - G_DBUS_OBJECT_MANAGER_CLIENT
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_dbus_object_manager_get_object_path
    - g_value_set_string
    - g_dbus_object_manager_client_get_flags
    - g_value_set_flags
    - g_value_set_object
    - g_dbus_object_manager_client_get_name
    - g_dbus_object_manager_client_get_name_owner
    - G_DBUS_OBJECT_MANAGER
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_object_manager_client_get_property (GObject *_object,
      guint prop_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:990,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:992,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:993,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:991,1
    - Dst: G_IS_DBUS_OBJECT_MANAGER_CLIENT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:990,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 995
      start: 986
    functionDepth: 0
    functionLinenumber: 986
    functionLinenumberEnd: 995
    functionName: g_dbus_object_manager_client_get_name_owner
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DBUS_OBJECT_MANAGER_CLIENT
    - g_strdup
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_dbus_object_manager_client_get_name_owner (GDBusObjectManagerClient
      *manager) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_weak_ref_clear
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1260,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1261,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - weak_ref
    argTypes:
    - GWeakRef*
    constantsTouched: []
    func_position:
      end: 1262
      start: 1257
    functionDepth: 0
    functionLinenumber: 1257
    functionLinenumberEnd: 1262
    functionName: weak_ref_free
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - g_weak_ref_clear
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void weak_ref_free (GWeakRef *weak_ref) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1382,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1337,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1328,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1345,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1357,1
    - Dst: maybe_unsubscribe_signals
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1362,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1366,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1386,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1351,1
    - Dst: G_DBUS_OBJECT_PROXY
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1356,1
    - Dst: weak_ref_new
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1382,1
    - Dst: g_dbus_proxy_call
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1375,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1385,1
    - Dst: G_DBUS_OBJECT_MANAGER_CLIENT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1328,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1332,1
    - Dst: g_dbus_proxy_get_name_owner
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1334,1
    - Dst: g_hash_table_steal_all_values
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1342,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1351,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1356,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1359,1
    - Dst: subscribe_signals
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1373,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1384,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 3
    argNames:
    - object
    - pspec
    - user_data
    argTypes:
    - GObject*
    - GParamSpec*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1387
      start: 1318
    functionDepth: 0
    functionLinenumber: 1318
    functionLinenumberEnd: 1387
    functionName: on_notify_g_name_owner
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - G_DBUS_OBJECT_MANAGER_CLIENT
    - g_weak_ref_get
    - G_DBUS_OBJECT_PROXY
    - maybe_unsubscribe_signals
    - weak_ref_new
    - g_signal_emit_by_name
    - g_dbus_proxy_get_name_owner
    - g_dbus_proxy_call
    - g_object_unref
    - g_mutex_unlock
    - g_clear_pointer
    - subscribe_signals
    - g_hash_table_steal_all_values
    - g_mutex_lock
    - g_strcmp0
    - g_ptr_array_index
    - g_object_notify
    - G_OBJECT
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void on_notify_g_name_owner (GObject *object, GParamSpec *pspec,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1727,1
    - Dst: g_dbus_is_unique_name
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1727,1
    - Dst: g_variant_iter_next
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1731,1
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1730,1
    - Dst: g_variant_get_child_value
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1729,1
    - Dst: add_interfaces
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1736,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1737,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1739,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - manager
    - value
    - name_owner
    argTypes:
    - GDBusObjectManagerClient*
    - GVariant*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1740
      start: 1717
    functionDepth: 0
    functionLinenumber: 1717
    functionLinenumberEnd: 1740
    functionName: process_get_all_result
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - g_variant_iter_init
    - g_return_if_fail
    - g_variant_iter_next
    - g_dbus_is_unique_name
    - add_interfaces
    - g_variant_unref
    - g_variant_get_child_value
    linkageType: ''
    returnType: void
    signature: 'static void process_get_all_result (GDBusObjectManagerClient *manager,
      GVariant *value, const gchar *name_owner) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_object_manager_get_object
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1817,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1822,1
    - Dst: g_dbus_object_get_interface
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1821,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1826
      start: 1807
    functionDepth: 0
    functionLinenumber: 1807
    functionLinenumberEnd: 1826
    functionName: g_dbus_object_manager_client_get_interface
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - g_dbus_object_manager_get_object
    - g_object_unref
    - g_dbus_object_get_interface
    linkageType: ''
    returnType: GDBusInterface*
    signature: 'static GDBusInterface *g_dbus_object_manager_client_get_interface
      (GDBusObjectManager *_manager, const gchar *object_path, const gchar *interface_name) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_value_dup_object
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:307,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:318,1
    - Dst: g_value_get_flags
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:325,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:313,1
    - Dst: g_value_get_pointer
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:333,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:341,1
    - Dst: G_DBUS_OBJECT_MANAGER_CLIENT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:293,1
    - Dst: g_value_get_object
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:306,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:312,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:313,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:314,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:319,1
    - Dst: g_value_get_pointer
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:329,1
    - Dst: g_value_get_pointer
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:337,1
    - Dst: g_value_get_enum
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:299,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:306,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:320,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:321,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:305,1
    - Dst: g_value_get_object
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:303,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:306,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:320,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:313,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 41
    argCount: 4
    argNames:
    - _object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 344
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 344
    functionName: g_dbus_object_manager_client_set_property
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - G_DBUS_OBJECT_MANAGER_CLIENT
    - g_value_dup_string
    - g_strdup
    - g_dbus_is_name
    - g_value_get_flags
    - g_assert
    - G_IS_DBUS_CONNECTION
    - g_variant_is_object_path
    - g_value_get_string
    - g_value_get_pointer
    - g_value_dup_object
    - g_value_get_object
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_get_enum
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_object_manager_client_set_property (GObject *_object,
      guint prop_id, const GValue *value, GParamSpec *pspec) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1270,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1279,1
    - Dst: g_dbus_proxy_get_name_owner
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1286,1
    - Dst: g_dbus_proxy_call_finish
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1277,1
    - Dst: G_DBUS_OBJECT_MANAGER_CLIENT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1279,1
    - Dst: maybe_unsubscribe_signals
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1289,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1290,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1292,1
    - Dst: process_get_all_result
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1300,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1306,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1309,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1314,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1307,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1311,1
    - Dst: weak_ref_free
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1315,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1308,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1309,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1313,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1316
      start: 1264
    functionDepth: 0
    functionLinenumber: 1264
    functionLinenumberEnd: 1316
    functionName: on_get_managed_objects_finish
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - process_get_all_result
    - g_steal_pointer
    - g_clear_error
    - g_weak_ref_get
    - G_DBUS_OBJECT_MANAGER_CLIENT
    - g_warning
    - maybe_unsubscribe_signals
    - g_mutex_lock
    - g_mutex_unlock
    - g_object_notify
    - g_object_unref
    - weak_ref_free
    - G_OBJECT
    - g_error_matches
    - g_clear_pointer
    - g_dbus_proxy_call_finish
    - g_dbus_proxy_get_name_owner
    - G_DBUS_PROXY
    linkageType: ''
    returnType: void
    signature: 'static void on_get_managed_objects_finish (GObject *source, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1434,1
    - Dst: weak_ref_new
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1437,1
    - Dst: weak_ref_new
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1445,1
    - Dst: maybe_unsubscribe_signals
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1470,1
    - Dst: process_get_all_result
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1488,1
    - Dst: G_DBUS_OBJECT_MANAGER_CLIENT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1394,1
    - Dst: g_signal_connect_data
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1434,1
    - Dst: g_signal_connect_data
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1442,1
    - Dst: g_dbus_proxy_call_sync
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1461,1
    - Dst: g_dbus_proxy_get_name_owner
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1449,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1482,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1404,1
    - Dst: g_dbus_proxy_new_sync
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1413,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1437,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1445,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1477,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1489,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1403,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1436,1
    - Dst: subscribe_signals
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1459,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1444,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1473,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1472,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1478,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 3
    argNames:
    - initable
    - cancellable
    - error
    argTypes:
    - GInitable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1496
      start: 1389
    functionDepth: 0
    functionLinenumber: 1389
    functionLinenumberEnd: 1496
    functionName: initable_init
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - process_get_all_result
    - G_DBUS_OBJECT_MANAGER_CLIENT
    - g_warn_if_fail
    - g_dbus_proxy_new_sync
    - g_signal_connect_data
    - maybe_unsubscribe_signals
    - g_assert
    - g_signal_handler_disconnect
    - g_object_unref
    - weak_ref_new
    - G_OBJECT
    - G_CALLBACK
    - g_variant_unref
    - subscribe_signals
    - g_bus_get_sync
    - g_dbus_proxy_call_sync
    - g_dbus_proxy_get_name_owner
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean initable_init (GInitable *initable, GCancellable *cancellable,
      GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_OBJECT_MANAGER_CLIENT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1753,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1753,1
    - Dst: add_interfaces
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1766,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1759,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1762,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1767,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1769,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1772,1
    - Dst: remove_interfaces
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1776,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1777,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1780,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 18
    argCount: 5
    argNames:
    - proxy
    - sender_name
    - signal_name
    - parameters
    - user_data
    argTypes:
    - GDBusProxy*
    - gchar*
    - gchar*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1781
      start: 1742
    functionDepth: 0
    functionLinenumber: 1742
    functionLinenumberEnd: 1781
    functionName: on_control_proxy_g_signal
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - G_DBUS_OBJECT_MANAGER_CLIENT
    - g_weak_ref_get
    - g_object_unref
    - add_interfaces
    - g_variant_unref
    - g_strcmp0
    - g_variant_get
    - remove_interfaces
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void on_control_proxy_g_signal (GDBusProxy *proxy, const gchar
      *sender_name, const gchar *signal_name, GVariant *parameters, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_OBJECT_MANAGER_CLIENT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1831,1
    - Dst: g_hash_table_get_values
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1837,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1834,1
    - Dst: G_IS_DBUS_OBJECT_MANAGER_CLIENT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1834,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1836,1
    - Dst: g_list_foreach
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1838,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1839,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1842
      start: 1828
    functionDepth: 0
    functionLinenumber: 1828
    functionLinenumberEnd: 1842
    functionName: g_dbus_object_manager_client_get_objects
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - G_DBUS_OBJECT_MANAGER_CLIENT
    - G_IS_DBUS_OBJECT_MANAGER_CLIENT
    - g_return_val_if_fail
    - g_mutex_unlock
    - g_mutex_lock
    - g_hash_table_get_values
    - g_list_foreach
    linkageType: ''
    returnType: GList*
    signature: 'static GList *g_dbus_object_manager_client_get_objects (GDBusObjectManager
      *_manager) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GDBusObjectManagerIface*
    constantsTouched: []
    func_position:
      end: 1852
      start: 1845
    functionDepth: 0
    functionLinenumber: 1845
    functionLinenumberEnd: 1852
    functionName: dbus_object_manager_interface_init
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void dbus_object_manager_interface_init (GDBusObjectManagerIface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:965,1
    - Dst: G_IS_DBUS_OBJECT_MANAGER_CLIENT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:965,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:966,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:968,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - manager
    argTypes:
    - GDBusObjectManagerClient*
    constantsTouched: []
    func_position:
      end: 970
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 970
    functionName: g_dbus_object_manager_client_get_flags
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DBUS_OBJECT_MANAGER_CLIENT
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: GDBusObjectManagerClientFlags
    signature: 'GDBusObjectManagerClientFlags g_dbus_object_manager_client_get_flags
      (GDBusObjectManagerClient *manager) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1023,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1060,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1074,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1081,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1093,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1098,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1109,1
    - Dst: G_DBUS_OBJECT_MANAGER_CLIENT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1011,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1016,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1019,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1027,1
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1065,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1084,1
    - Dst: g_dbus_object_get_interface
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1090,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1112,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1015,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1036,1
    - Dst: G_DBUS_OBJECT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1042,1
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1051,1
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1057,1
    - Dst: g_dbus_object_get_interface
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1042,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1083,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1106,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1022,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1028,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1030,1
    - Dst: g_variant_iter_next
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1052,1
    - Dst: g_dbus_proxy_set_cached_property
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1057,1
    - Dst: g_dbus_proxy_set_cached_property
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1065,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1070,1
    - Dst: G_DBUS_OBJECT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1090,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 50
    argCount: 7
    argNames:
    - connection
    - sender_name
    - object_path
    - interface_name
    - signal_name
    - parameters
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1113
      start: 1002
    functionDepth: 0
    functionLinenumber: 1002
    functionLinenumberEnd: 1113
    functionName: signal_cb
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - G_DBUS_OBJECT_MANAGER_CLIENT
    - G_DBUS_OBJECT
    - g_variant_iter_next
    - g_signal_emit
    - g_dbus_proxy_set_cached_property
    - g_signal_emit_by_name
    - G_DBUS_PROXY
    - g_object_unref
    - g_mutex_unlock
    - g_hash_table_lookup
    - g_variant_unref
    - g_clear_object
    - g_variant_get
    - g_dbus_object_get_interface
    - g_variant_iter_init
    - g_mutex_lock
    - g_strcmp0
    - g_object_ref
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void signal_cb (GDBusConnection *connection, const gchar *sender_name,
      const gchar *object_path, const gchar *interface_name, const gchar *signal_name,
      GVariant *parameters, gpointer user_data) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1526,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1572,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1595,1
    - Dst: g_variant_iter_next
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1613,1
    - Dst: _g_dbus_object_proxy_add_interface
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1624,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1639,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1652,1
    - Dst: g_list_free
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1649,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1654,1
    - Dst: g_dbus_is_unique_name
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1526,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1533,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1555,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1600,1
    - Dst: g_variant_iter_next
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1558,1
    - Dst: G_DBUS_OBJECT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1610,1
    - Dst: g_dbus_proxy_set_cached_property
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1618,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1629,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1635,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1646,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1543,1
    - Dst: g_object_new
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1549,1
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1557,1
    - Dst: g_dbus_interface_set_object
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1609,1
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1612,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1621,1
    - Dst: g_list_append
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1626,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1627,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1642,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1655,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1528,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1543,1
    - Dst: G_DBUS_INTERFACE
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1609,1
    - Dst: g_initable_new
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1583,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1572,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1626,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1634,1
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1645,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1647,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 76
    argCount: 4
    argNames:
    - manager
    - object_path
    - ifaces_and_properties
    - name_owner
    argTypes:
    - GDBusObjectManagerClient*
    - gchar*
    - GVariant*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1656
      start: 1512
    functionDepth: 0
    functionLinenumber: 1512
    functionLinenumberEnd: 1656
    functionName: add_interfaces
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - G_DBUS_OBJECT
    - g_variant_iter_next
    - g_dbus_is_unique_name
    - g_dbus_proxy_set_cached_property
    - g_signal_emit_by_name
    - g_initable_new
    - g_type_is_a
    - _g_dbus_object_proxy_add_interface
    - G_DBUS_PROXY
    - g_list_append
    - g_warning
    - g_object_unref
    - g_mutex_unlock
    - g_hash_table_lookup
    - g_hash_table_insert
    - g_variant_unref
    - g_list_free
    - g_error_free
    - g_variant_iter_init
    - g_strdup
    - g_warn_if_fail
    - g_object_new
    - g_mutex_lock
    - g_dbus_interface_set_object
    - g_return_if_fail
    - G_DBUS_INTERFACE
    - g_object_ref
    linkageType: ''
    returnType: void
    signature: 'static void add_interfaces (GDBusObjectManagerClient *manager, const
      gchar *object_path, GVariant *ifaces_and_properties, const gchar *name_owner) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1122,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1123,1
    - Dst: g_dbus_is_unique_name
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1124,1
    - Dst: G_IS_DBUS_OBJECT_MANAGER_CLIENT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1122,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1124,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1133,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1135,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1140,1
    - Dst: g_dbus_connection_call_sync
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1146,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1151,1
    - Dst: g_dbus_connection_signal_subscribe
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1168,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1190,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1193,1
    - Dst: g_dbus_connection_signal_subscribe
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1201,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1161,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - manager
    - name_owner
    argTypes:
    - GDBusObjectManagerClient*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1212
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1212
    functionName: subscribe_signals
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - G_IS_DBUS_OBJECT_MANAGER_CLIENT
    - g_return_if_fail
    - g_dbus_is_unique_name
    - g_dbus_connection_call_sync
    - g_variant_unref
    - g_variant_new
    - g_error_free
    - g_dbus_connection_signal_subscribe
    - g_free
    - g_str_equal
    linkageType: ''
    returnType: void
    signature: 'static void subscribe_signals (GDBusObjectManagerClient *manager,
      const gchar *name_owner) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1669,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1688,1
    - Dst: g_dbus_object_get_interface
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1704,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1700,1
    - Dst: g_dbus_object_get_interfaces
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1681,1
    - Dst: g_debug
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1674,1
    - Dst: G_DBUS_OBJECT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1681,1
    - Dst: g_list_length
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1682,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1683,1
    - Dst: g_strv_length
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1685,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1691,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1695,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1699,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1692,1
    - Dst: G_DBUS_OBJECT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1704,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1709,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1714,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1708,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1677,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1671,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1692,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1693,1
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1694,1
    - Dst: _g_dbus_object_proxy_remove_interface
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1705,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1712,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 3
    argNames:
    - manager
    - object_path
    - interface_names
    argTypes:
    - GDBusObjectManagerClient*
    - gchar*
    - gchar**
    constantsTouched: []
    func_position:
      end: 1715
      start: 1658
    functionDepth: 0
    functionLinenumber: 1658
    functionLinenumberEnd: 1715
    functionName: remove_interfaces
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - _g_dbus_object_proxy_remove_interface
    - g_object_unref
    - g_warn_if_fail
    - g_strv_length
    - g_mutex_unlock
    - g_mutex_lock
    - G_DBUS_OBJECT
    - g_list_length
    - g_list_free_full
    - g_debug
    - g_hash_table_lookup
    - g_hash_table_remove
    - g_dbus_object_get_interfaces
    - g_signal_emit_by_name
    - g_object_ref
    - g_dbus_object_get_interface
    linkageType: ''
    returnType: void
    signature: 'static void remove_interfaces (GDBusObjectManagerClient *manager,
      const gchar *object_path, const gchar *const *interface_names) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_async_result_get_source_object
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:889,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:895,1
    - Dst: g_async_initable_new_finish
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:892,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:890,1
    - Dst: G_ASYNC_INITABLE
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:892,1
    - Dst: G_DBUS_OBJECT_MANAGER
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:898,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 901
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 901
    functionName: g_dbus_object_manager_client_new_for_bus_finish
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - g_async_result_get_source_object
    - G_ASYNC_INITABLE
    - g_object_unref
    - g_assert
    - g_async_initable_new_finish
    - G_DBUS_OBJECT_MANAGER
    linkageType: ''
    returnType: GDBusObjectManager*
    signature: 'GDBusObjectManager *g_dbus_object_manager_client_new_for_bus_finish
      (GAsyncResult *res, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_OBJECT_MANAGER_CLIENT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:204,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:212,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:209,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 213
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 213
    functionName: g_dbus_object_manager_client_dispose
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - g_cancellable_cancel
    - G_DBUS_OBJECT_MANAGER_CLIENT
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_object_manager_client_dispose (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:349,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:382,1
    - Dst: g_param_spec_enum
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:384,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:453,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:455,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:483,1
    - Dst: g_param_spec_pointer
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:485,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:527,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:530,1
    - Dst: I_
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:569,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:365,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:363,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:435,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:437,1
    - Dst: I_
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:527,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:541,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:583,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:419,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:421,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:569,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:400,1
    - Dst: g_param_spec_flags
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:402,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:468,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:498,1
    - Dst: g_param_spec_pointer
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:500,1
    - Dst: g_param_spec_pointer
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:470,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:542,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:572,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:582,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 64
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GDBusObjectManagerClientClass*
    constantsTouched: []
    func_position:
      end: 585
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 585
    functionName: g_dbus_object_manager_client_class_init
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - I_
    - G_STRUCT_OFFSET
    - G_TYPE_FROM_CLASS
    - g_param_spec_pointer
    - g_param_spec_object
    - g_object_class_install_property
    - G_OBJECT_CLASS
    - g_signal_set_va_marshaller
    - g_signal_new
    - g_param_spec_string
    - g_param_spec_enum
    - g_param_spec_flags
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_object_manager_client_class_init (GDBusObjectManagerClientClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:697,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:697,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:698,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:698,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:699,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:700,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:700,1
    - Dst: g_async_initable_new_async
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:702,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 10
    argNames:
    - connection
    - flags
    - name
    - object_path
    - get_proxy_type_func
    - get_proxy_type_user_data
    - get_proxy_type_destroy_notify
    - cancellable
    - callback
    - user_data
    argTypes:
    - GDBusConnection*
    - GDBusObjectManagerClientFlags
    - gchar*
    - gchar*
    - GDBusProxyTypeFunc
    - gpointer
    - GDestroyNotify
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 715
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 715
    functionName: g_dbus_object_manager_client_new
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - g_async_initable_new_async
    - g_return_if_fail
    - g_dbus_connection_get_unique_name
    - G_IS_DBUS_CONNECTION
    - g_variant_is_object_path
    - g_dbus_is_name
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_object_manager_client_new (GDBusConnection *connection,
      GDBusObjectManagerClientFlags flags, const gchar *name, const gchar *object_path,
      GDBusProxyTypeFunc get_proxy_type_func, gpointer get_proxy_type_user_data, GDestroyNotify
      get_proxy_type_destroy_notify, GCancellable *cancellable, GAsyncReadyCallback
      callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:850,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:851,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:852,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:851,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:852,1
    - Dst: g_async_initable_new_async
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:854,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 10
    argNames:
    - bus_type
    - flags
    - name
    - object_path
    - get_proxy_type_func
    - get_proxy_type_user_data
    - get_proxy_type_destroy_notify
    - cancellable
    - callback
    - user_data
    argTypes:
    - GBusType
    - GDBusObjectManagerClientFlags
    - gchar*
    - gchar*
    - GDBusProxyTypeFunc
    - gpointer
    - GDestroyNotify
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 867
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 867
    functionName: g_dbus_object_manager_client_new_for_bus
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - g_variant_is_object_path
    - g_async_initable_new_async
    - g_dbus_is_name
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_object_manager_client_new_for_bus (GBusType bus_type,
      GDBusObjectManagerClientFlags flags, const gchar *name, const gchar *object_path,
      GDBusProxyTypeFunc get_proxy_type_func, gpointer get_proxy_type_user_data, GDestroyNotify
      get_proxy_type_destroy_notify, GCancellable *cancellable, GAsyncReadyCallback
      callback, gpointer user_data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_OBJECT_MANAGER_CLIENT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:218,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:225,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:230,1
    - Dst: maybe_unsubscribe_signals
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:220,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:222,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:234,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:237,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:238,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:239,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:240,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:247,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:248,1
    - Dst: g_mutex_clear
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:245,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 249
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 249
    functionName: g_dbus_object_manager_client_finalize
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - G_DBUS_OBJECT_MANAGER_CLIENT
    - g_object_unref
    - g_signal_handler_disconnect
    - maybe_unsubscribe_signals
    - g_hash_table_unref
    - g_mutex_clear
    - G_OBJECT_CLASS
    - g_clear_object
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_object_manager_client_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_object_manager_client_get_instance_private
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:590,1
    - Dst: g_mutex_init
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:591,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:596,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:592,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - manager
    argTypes:
    - GDBusObjectManagerClient*
    constantsTouched: []
    func_position:
      end: 597
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 597
    functionName: g_dbus_object_manager_client_init
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - g_mutex_init
    - g_hash_table_new_full
    - g_cancellable_new
    - g_dbus_object_manager_client_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_object_manager_client_init (GDBusObjectManagerClient
      *manager) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:638,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:638,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:639,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:640,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:639,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:641,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:641,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:642,1
    - Dst: g_initable_new
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:644,1
    - Dst: G_DBUS_OBJECT_MANAGER
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:656,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 659
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 659
    functionName: g_dbus_object_manager_client_new_sync
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DBUS_CONNECTION
    - g_dbus_connection_get_unique_name
    - g_initable_new
    - g_variant_is_object_path
    - G_DBUS_OBJECT_MANAGER
    - g_dbus_is_name
    linkageType: ''
    returnType: GDBusObjectManager*
    signature: 'GDBusObjectManager *g_dbus_object_manager_client_new_sync (GDBusConnection
      *connection, GDBusObjectManagerClientFlags flags, const gchar *name, const gchar
      *object_path, GDBusProxyTypeFunc get_proxy_type_func, gpointer get_proxy_type_user_data,
      GDestroyNotify get_proxy_type_destroy_notify, GCancellable *cancellable, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:943,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:946,1
    - Dst: G_IS_DBUS_OBJECT_MANAGER_CLIENT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:943,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:944,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 948
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 948
    functionName: g_dbus_object_manager_client_get_name
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DBUS_OBJECT_MANAGER_CLIENT
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_dbus_object_manager_client_get_name (GDBusObjectManagerClient
      *manager) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:791,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:792,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:792,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:793,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:793,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:794,1
    - Dst: g_initable_new
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:796,1
    - Dst: G_DBUS_OBJECT_MANAGER
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:808,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 811
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 811
    functionName: g_dbus_object_manager_client_new_for_bus_sync
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_initable_new
    - g_variant_is_object_path
    - G_DBUS_OBJECT_MANAGER
    - g_dbus_is_name
    linkageType: ''
    returnType: GDBusObjectManager*
    signature: 'GDBusObjectManager *g_dbus_object_manager_client_new_for_bus_sync
      (GBusType bus_type, GDBusObjectManagerClientFlags flags, const gchar *name,
      const gchar *object_path, GDBusProxyTypeFunc get_proxy_type_func, gpointer get_proxy_type_user_data,
      GDestroyNotify get_proxy_type_destroy_notify, GCancellable *cancellable, GError
      **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_async_result_get_source_object
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:737,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:738,1
    - Dst: G_ASYNC_INITABLE
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:740,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:743,1
    - Dst: g_async_initable_new_finish
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:740,1
    - Dst: G_DBUS_OBJECT_MANAGER
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:746,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 749
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 749
    functionName: g_dbus_object_manager_client_new_finish
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - g_async_result_get_source_object
    - G_ASYNC_INITABLE
    - g_object_unref
    - g_assert
    - g_async_initable_new_finish
    - G_DBUS_OBJECT_MANAGER
    linkageType: ''
    returnType: GDBusObjectManager*
    signature: 'GDBusObjectManager *g_dbus_object_manager_client_new_finish (GAsyncResult
      *res, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:920,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:923,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:921,1
    - Dst: G_IS_DBUS_OBJECT_MANAGER_CLIENT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:920,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 925
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 925
    functionName: g_dbus_object_manager_client_get_connection
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DBUS_OBJECT_MANAGER_CLIENT
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: GDBusConnection*
    signature: 'GDBusConnection *g_dbus_object_manager_client_get_connection (GDBusObjectManagerClient
      *manager) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1252,1
    - Dst: g_weak_ref_init
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1253,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1254,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1249
    functionDepth: 0
    functionLinenumber: 1249
    functionLinenumberEnd: 1255
    functionName: weak_ref_new
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_new0
    - g_weak_ref_init
    linkageType: ''
    returnType: GWeakRef*
    signature: 'static GWeakRef *weak_ref_new (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - initable_iface
    argTypes:
    - GInitableIface*
    constantsTouched: []
    func_position:
      end: 1502
      start: 1498
    functionDepth: 0
    functionLinenumber: 1498
    functionLinenumberEnd: 1502
    functionName: initable_iface_init
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void initable_iface_init (GInitableIface *initable_iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_OBJECT_MANAGER_CLIENT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1788,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1790
      start: 1785
    functionDepth: 0
    functionLinenumber: 1785
    functionLinenumberEnd: 1790
    functionName: g_dbus_object_manager_client_get_object_path
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - G_DBUS_OBJECT_MANAGER_CLIENT
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *g_dbus_object_manager_client_get_object_path (GDBusObjectManager
      *_manager) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - async_initable_iface
    argTypes:
    - GAsyncInitableIface*
    constantsTouched: []
    func_position:
      end: 1508
      start: 1504
    functionDepth: 0
    functionLinenumber: 1504
    functionLinenumberEnd: 1508
    functionName: async_initable_iface_init
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void async_initable_iface_init (GAsyncInitableIface *async_initable_iface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_OBJECT_MANAGER_CLIENT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1796,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1800,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1799,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1802,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1803,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1805
      start: 1792
    functionDepth: 0
    functionLinenumber: 1792
    functionLinenumberEnd: 1805
    functionName: g_dbus_object_manager_client_get_object
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - G_DBUS_OBJECT_MANAGER_CLIENT
    - g_mutex_unlock
    - g_mutex_lock
    - g_hash_table_lookup
    - g_object_ref
    linkageType: ''
    returnType: GDBusObject*
    signature: 'static GDBusObject *g_dbus_object_manager_client_get_object (GDBusObjectManager
      *_manager, const gchar *object_path) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1217,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1220,1
    - Dst: g_steal_handle_id
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1221,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1228,1
    - Dst: G_IS_DBUS_OBJECT_MANAGER_CLIENT
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1217,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1233,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusobjectmanagerclient.c:1241,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - manager
    argTypes:
    - GDBusObjectManagerClient*
    constantsTouched: []
    func_position:
      end: 1245
      start: 1214
    functionDepth: 0
    functionLinenumber: 1214
    functionLinenumberEnd: 1245
    functionName: maybe_unsubscribe_signals
    functionSourceFile: /src/glib/gio/gdbusobjectmanagerclient.c
    functionUses: []
    functionsReached:
    - g_steal_handle_id
    - g_dbus_connection_call
    - G_IS_DBUS_OBJECT_MANAGER_CLIENT
    - g_return_if_fail
    - g_dbus_connection_signal_unsubscribe
    - g_variant_new
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void maybe_unsubscribe_signals (GDBusObjectManagerClient *manager) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gunixinputstream.c:111,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gunixinputstream.c:146,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gunixinputstream.c:133,1
    - Dst: g_param_spec_int
      Src: /src/glib/gio/gunixinputstream.c:135,1
    - Dst: G_INPUT_STREAM_CLASS
      Src: /src/glib/gio/gunixinputstream.c:112,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gunixinputstream.c:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GUnixInputStreamClass*
    constantsTouched: []
    func_position:
      end: 151
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 151
    functionName: g_unix_input_stream_class_init
    functionSourceFile: /src/glib/gio/gunixinputstream.c
    functionUses: []
    functionsReached:
    - g_param_spec_boolean
    - g_param_spec_int
    - g_object_class_install_property
    - G_INPUT_STREAM_CLASS
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_input_stream_class_init (GUnixInputStreamClass
      *klass) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_INPUT_STREAM
      Src: /src/glib/gio/gunixinputstream.c:200,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gunixinputstream.c:208,1
    - Dst: g_value_set_int
      Src: /src/glib/gio/gunixinputstream.c:205,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gunixinputstream.c:211,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 213
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 213
    functionName: g_unix_input_stream_get_property
    functionSourceFile: /src/glib/gio/gunixinputstream.c
    functionUses: []
    functionsReached:
    - G_UNIX_INPUT_STREAM
    - g_value_set_boolean
    - g_value_set_int
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: "static void g_unix_input_stream_get_property (GObject *object,\t\t\
      \t\t guint prop_id,\t\t\t\t GValue *value,\t\t\t\t GParamSpec *pspec) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GFileDescriptorBasedIface*
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: g_unix_input_stream_file_descriptor_based_iface_init
    functionSourceFile: /src/glib/gio/gunixinputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_input_stream_file_descriptor_based_iface_init (GFileDescriptorBasedIface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixinputstream.c:241,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gunixinputstream.c:248,1
    - Dst: g_object_new
      Src: /src/glib/gio/gunixinputstream.c:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 249
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 249
    functionName: g_unix_input_stream_new
    functionSourceFile: /src/glib/gio/gunixinputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_INPUT_STREAM
    - g_object_new
    linkageType: ''
    returnType: GInputStream*
    signature: "GInputStream *g_unix_input_stream_new (gint fd,\t\t\t gboolean close_fd) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixinputstream.c:289,1
    - Dst: G_IS_UNIX_INPUT_STREAM
      Src: /src/glib/gio/gunixinputstream.c:289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GUnixInputStream*
    constantsTouched: []
    func_position:
      end: 292
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 292
    functionName: g_unix_input_stream_get_close_fd
    functionSourceFile: /src/glib/gio/gunixinputstream.c
    functionUses: []
    functionsReached:
    - G_IS_UNIX_INPUT_STREAM
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_unix_input_stream_get_close_fd (GUnixInputStream *stream) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_INPUT_STREAM
      Src: /src/glib/gio/gunixinputstream.c:325,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gunixinputstream.c:350,1
    - Dst: g_poll
      Src: /src/glib/gio/gunixinputstream.c:342,1
    - Dst: g_set_error
      Src: /src/glib/gio/gunixinputstream.c:349,1
    - Dst: g_cancellable_make_pollfd
      Src: /src/glib/gio/gunixinputstream.c:330,1
    - Dst: _
      Src: /src/glib/gio/gunixinputstream.c:351,1
    - Dst: g_strerror
      Src: /src/glib/gio/gunixinputstream.c:352,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gunixinputstream.c:356,1
    - Dst: read
      Src: /src/glib/gio/gunixinputstream.c:362,1
    - Dst: g_set_error
      Src: /src/glib/gio/gunixinputstream.c:370,1
    - Dst: _
      Src: /src/glib/gio/gunixinputstream.c:372,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gunixinputstream.c:371,1
    - Dst: g_cancellable_release_fd
      Src: /src/glib/gio/gunixinputstream.c:380,1
    - Dst: g_strerror
      Src: /src/glib/gio/gunixinputstream.c:373,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 40
    argCount: 5
    argNames:
    - stream
    - buffer
    - count
    - cancellable
    - error
    argTypes:
    - GInputStream*
    - void*
    - gsize
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 382
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 382
    functionName: g_unix_input_stream_read
    functionSourceFile: /src/glib/gio/gunixinputstream.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_cancellable_make_pollfd
    - g_io_error_from_errno
    - g_strerror
    - read
    - G_UNIX_INPUT_STREAM
    - g_poll
    - g_cancellable_release_fd
    - _
    - g_cancellable_set_error_if_cancelled
    linkageType: ''
    returnType: gssize
    signature: "static gssize g_unix_input_stream_read (GInputStream *stream,\t\t\t\
      \ void *buffer,\t\t\t gsize count,\t\t\t GCancellable *cancellable,\t\t\t GError\
      \ **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_warn_if_reached
      Src: /src/glib/gio/gunixinputstream.c:420,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 6
    argNames:
    - stream
    - count
    - io_priority
    - cancellable
    - callback
    - data
    argTypes:
    - GInputStream*
    - gsize
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 422
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 422
    functionName: g_unix_input_stream_skip_async
    functionSourceFile: /src/glib/gio/gunixinputstream.c
    functionUses: []
    functionsReached:
    - g_warn_if_reached
    linkageType: ''
    returnType: void
    signature: "static void g_unix_input_stream_skip_async (GInputStream *stream,\t\
      \t\t\tgsize count,\t\t\t\tint io_priority,\t\t\t\tGCancellable *cancellable,\t\
      \t\t\tGAsyncReadyCallback callback,\t\t\t\tgpointer data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_INPUT_STREAM
      Src: /src/glib/gio/gunixinputstream.c:437,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GPollableInputStream*
    constantsTouched: []
    func_position:
      end: 438
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 438
    functionName: g_unix_input_stream_pollable_can_poll
    functionSourceFile: /src/glib/gio/gunixinputstream.c
    functionUses: []
    functionsReached:
    - G_UNIX_INPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_unix_input_stream_pollable_can_poll (GPollableInputStream
      *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GPollableInputStreamInterface*
    constantsTouched: []
    func_position:
      end: 159
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: g_unix_input_stream_pollable_iface_init
    functionSourceFile: /src/glib/gio/gunixinputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_input_stream_pollable_iface_init (GPollableInputStreamInterface
      *iface) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_INPUT_STREAM
      Src: /src/glib/gio/gunixinputstream.c:175,1
    - Dst: g_value_get_int
      Src: /src/glib/gio/gunixinputstream.c:180,1
    - Dst: _g_fd_is_pollable
      Src: /src/glib/gio/gunixinputstream.c:181,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gunixinputstream.c:184,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gunixinputstream.c:187,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 190
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 190
    functionName: g_unix_input_stream_set_property
    functionSourceFile: /src/glib/gio/gunixinputstream.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_get_boolean
    - _g_fd_is_pollable
    - G_UNIX_INPUT_STREAM
    - g_value_get_int
    linkageType: ''
    returnType: void
    signature: "static void g_unix_input_stream_set_property (GObject *object,\t\t\
      \t\t guint prop_id,\t\t\t\t const GValue *value,\t\t\t\t GParamSpec *pspec) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_input_stream_get_instance_private
      Src: /src/glib/gio/gunixinputstream.c:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - unix_stream
    argTypes:
    - GUnixInputStream*
    constantsTouched: []
    func_position:
      end: 221
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 221
    functionName: g_unix_input_stream_init
    functionSourceFile: /src/glib/gio/gunixinputstream.c
    functionUses: []
    functionsReached:
    - g_unix_input_stream_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_unix_input_stream_init (GUnixInputStream *unix_stream) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_INPUT_STREAM
      Src: /src/glib/gio/gunixinputstream.c:392,1
    - Dst: close
      Src: /src/glib/gio/gunixinputstream.c:398,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gunixinputstream.c:404,1
    - Dst: _
      Src: /src/glib/gio/gunixinputstream.c:405,1
    - Dst: g_set_error
      Src: /src/glib/gio/gunixinputstream.c:403,1
    - Dst: g_strerror
      Src: /src/glib/gio/gunixinputstream.c:406,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GInputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 410
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 410
    functionName: g_unix_input_stream_close
    functionSourceFile: /src/glib/gio/gunixinputstream.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_io_error_from_errno
    - g_strerror
    - G_UNIX_INPUT_STREAM
    - close
    - _
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_unix_input_stream_close (GInputStream *stream,\t\
      \t\t GCancellable *cancellable,\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_warn_if_reached
      Src: /src/glib/gio/gunixinputstream.c:429,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - stream
    - result
    - error
    argTypes:
    - GInputStream*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 432
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 432
    functionName: g_unix_input_stream_skip_finish
    functionSourceFile: /src/glib/gio/gunixinputstream.c
    functionUses: []
    functionsReached:
    - g_warn_if_reached
    linkageType: ''
    returnType: gssize
    signature: "static gssize g_unix_input_stream_skip_finish (GInputStream *stream,\t\
      \t\t\t GAsyncResult *result,\t\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_INPUT_STREAM
      Src: /src/glib/gio/gunixinputstream.c:443,1
    - Dst: g_poll
      Src: /src/glib/gio/gunixinputstream.c:452,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GPollableInputStream*
    constantsTouched: []
    func_position:
      end: 456
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 456
    functionName: g_unix_input_stream_pollable_is_readable
    functionSourceFile: /src/glib/gio/gunixinputstream.c
    functionUses: []
    functionsReached:
    - G_UNIX_INPUT_STREAM
    - g_poll
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_unix_input_stream_pollable_is_readable (GPollableInputStream
      *stream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_INPUT_STREAM
      Src: /src/glib/gio/gunixinputstream.c:462,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gunixinputstream.c:465,1
    - Dst: g_unix_fd_source_new
      Src: /src/glib/gio/gunixinputstream.c:467,1
    - Dst: g_pollable_source_new
      Src: /src/glib/gio/gunixinputstream.c:465,1
    - Dst: g_source_set_dummy_callback
      Src: /src/glib/gio/gunixinputstream.c:468,1
    - Dst: g_source_add_child_source
      Src: /src/glib/gio/gunixinputstream.c:469,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gunixinputstream.c:470,1
    - Dst: g_cancellable_source_new
      Src: /src/glib/gio/gunixinputstream.c:474,1
    - Dst: g_source_set_dummy_callback
      Src: /src/glib/gio/gunixinputstream.c:475,1
    - Dst: g_source_add_child_source
      Src: /src/glib/gio/gunixinputstream.c:476,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gunixinputstream.c:477,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 481
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 481
    functionName: g_unix_input_stream_pollable_create_source
    functionSourceFile: /src/glib/gio/gunixinputstream.c
    functionUses: []
    functionsReached:
    - g_cancellable_source_new
    - G_OBJECT
    - g_unix_fd_source_new
    - G_UNIX_INPUT_STREAM
    - g_pollable_source_new
    - g_source_unref
    - g_source_add_child_source
    - g_source_set_dummy_callback
    linkageType: ''
    returnType: GSource*
    signature: "static GSource *g_unix_input_stream_pollable_create_source (GPollableInputStream\
      \ *stream,\t\t\t\t\t GCancellable *cancellable) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gunixinputstream.c:265,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gunixinputstream.c:271,1
    - Dst: G_IS_UNIX_INPUT_STREAM
      Src: /src/glib/gio/gunixinputstream.c:265,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gunixinputstream.c:271,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - stream
    - close_fd
    argTypes:
    - GUnixInputStream*
    - gboolean
    constantsTouched: []
    func_position:
      end: 273
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 273
    functionName: g_unix_input_stream_set_close_fd
    functionSourceFile: /src/glib/gio/gunixinputstream.c
    functionUses: []
    functionsReached:
    - g_object_notify
    - G_IS_UNIX_INPUT_STREAM
    - G_OBJECT
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_unix_input_stream_set_close_fd (GUnixInputStream *stream,\t\
      \t\t\t gboolean close_fd) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gunixinputstream.c:307,1
    - Dst: G_IS_UNIX_INPUT_STREAM
      Src: /src/glib/gio/gunixinputstream.c:307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GUnixInputStream*
    constantsTouched: []
    func_position:
      end: 310
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 310
    functionName: g_unix_input_stream_get_fd
    functionSourceFile: /src/glib/gio/gunixinputstream.c
    functionUses: []
    functionsReached:
    - G_IS_UNIX_INPUT_STREAM
    - g_return_val_if_fail
    linkageType: ''
    returnType: gint
    signature: 'gint g_unix_input_stream_get_fd (GUnixInputStream *stream) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/gio/gportalsupport.c:60,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gportalsupport.c:47,1
    - Dst: g_spawn_sync
      Src: /src/glib/gio/gportalsupport.c:50,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - plug_name
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 61
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 61
    functionName: snap_plug_is_connected
    functionSourceFile: /src/glib/gio/gportalsupport.c
    functionUses: []
    functionsReached:
    - GLIB_PRIVATE_CALL
    - g_spawn_check_wait_status
    - g_spawn_sync
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean snap_plug_is_connected (const gchar *plug_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sandbox_info_read
      Src: /src/glib/gio/gportalsupport.c:142,1
    - Dst: snap_plug_is_connected
      Src: /src/glib/gio/gportalsupport.c:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 148
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 148
    functionName: glib_should_use_portal
    functionSourceFile: /src/glib/gio/gportalsupport.c
    functionUses: []
    functionsReached:
    - sandbox_info_read
    - snap_plug_is_connected
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean glib_should_use_portal (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sandbox_info_read
      Src: /src/glib/gio/gportalsupport.c:171,1
    - Dst: snap_plug_is_connected
      Src: /src/glib/gio/gportalsupport.c:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 177
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 177
    functionName: glib_has_dconf_access_in_sandbox
    functionSourceFile: /src/glib/gio/gportalsupport.c
    functionUses: []
    functionsReached:
    - sandbox_info_read
    - snap_plug_is_connected
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean glib_has_dconf_access_in_sandbox (void) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/gio/gportalsupport.c:69,1
    - Dst: g_build_filename
      Src: /src/glib/gio/gportalsupport.c:89,1
    - Dst: g_get_user_runtime_dir
      Src: /src/glib/gio/gportalsupport.c:89,1
    - Dst: g_key_file_new
      Src: /src/glib/gio/gportalsupport.c:85,1
    - Dst: glib_get_sandbox_type
      Src: /src/glib/gio/gportalsupport.c:72,1
    - Dst: g_key_file_load_from_file
      Src: /src/glib/gio/gportalsupport.c:93,1
    - Dst: g_key_file_get_string_list
      Src: /src/glib/gio/gportalsupport.c:98,1
    - Dst: g_strv_contains
      Src: /src/glib/gio/gportalsupport.c:101,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gportalsupport.c:102,1
    - Dst: g_key_file_get_string
      Src: /src/glib/gio/gportalsupport.c:105,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/gportalsupport.c:136,1
    - Dst: strcmp
      Src: /src/glib/gio/gportalsupport.c:108,1
    - Dst: g_key_file_unref
      Src: /src/glib/gio/gportalsupport.c:118,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gportalsupport.c:115,1
    - Dst: g_free
      Src: /src/glib/gio/gportalsupport.c:110,1
    - Dst: g_getenv
      Src: /src/glib/gio/gportalsupport.c:127,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 41
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 137
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 137
    functionName: sandbox_info_read
    functionSourceFile: /src/glib/gio/gportalsupport.c
    functionUses: []
    functionsReached:
    - g_key_file_new
    - g_key_file_get_string
    - g_once_init_leave
    - g_getenv
    - glib_get_sandbox_type
    - g_once_init_enter
    - g_strv_contains
    - g_key_file_get_string_list
    - strcmp
    - g_strfreev
    - g_clear_pointer
    - g_key_file_load_from_file
    - g_build_filename
    - g_key_file_unref
    - g_free
    - g_get_user_runtime_dir
    linkageType: ''
    returnType: void
    signature: 'static void sandbox_info_read (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sandbox_info_read
      Src: /src/glib/gio/gportalsupport.c:153,1
    - Dst: snap_plug_is_connected
      Src: /src/glib/gio/gportalsupport.c:162,1
    - Dst: snap_plug_is_connected
      Src: /src/glib/gio/gportalsupport.c:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 166
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 166
    functionName: glib_network_available_in_sandbox
    functionSourceFile: /src/glib/gio/gportalsupport.c
    functionUses: []
    functionsReached:
    - sandbox_info_read
    - snap_plug_is_connected
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean glib_network_available_in_sandbox (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/goutputstream.c:1520,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/goutputstream.c:1529,1
    - Dst: g_output_stream_async_writev_is_via_threads
      Src: /src/glib/gio/goutputstream.c:1550,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/goutputstream.c:1556,1
    - Dst: g_task_return_new_error
      Src: /src/glib/gio/goutputstream.c:1537,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/goutputstream.c:1552,1
    - Dst: writev_all_callback
      Src: /src/glib/gio/goutputstream.c:1556,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/goutputstream.c:1556,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/goutputstream.c:1519,1
    - Dst: g_task_new
      Src: /src/glib/gio/goutputstream.c:1522,1
    - Dst: g_slice_new0
      Src: /src/glib/gio/goutputstream.c:1523,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/goutputstream.c:1527,1
    - Dst: g_object_unref
      Src: /src/glib/gio/goutputstream.c:1553,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/goutputstream.c:1518,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:1518,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/goutputstream.c:1520,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/goutputstream.c:1528,1
    - Dst: _
      Src: /src/glib/gio/goutputstream.c:1538,1
    - Dst: g_object_unref
      Src: /src/glib/gio/goutputstream.c:1540,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 7
    argNames:
    - stream
    - vectors
    - n_vectors
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GOutputStream*
    - GOutputVector*
    - gsize
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 1557
      start: 1505
    functionDepth: 0
    functionLinenumber: 1505
    functionLinenumberEnd: 1557
    functionName: g_output_stream_writev_all_async
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_task_new
    - g_object_unref
    - g_slice_new0
    - g_return_if_fail
    - g_task_set_source_tag
    - g_task_set_priority
    - g_task_run_in_thread
    - writev_all_callback
    - G_IS_CANCELLABLE
    - G_OBJECT
    - g_task_set_task_data
    - g_output_stream_async_writev_is_via_threads
    - g_task_return_new_error
    - G_IS_OUTPUT_STREAM
    - _
    linkageType: ''
    returnType: void
    signature: 'void g_output_stream_writev_all_async (GOutputStream *stream, GOutputVector
      *vectors, gsize n_vectors, int io_priority, GCancellable *cancellable, GAsyncReadyCallback
      callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:2144,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:2144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GOutputStream*
    constantsTouched: []
    func_position:
      end: 2147
      start: 2141
    functionDepth: 0
    functionLinenumber: 2141
    functionLinenumberEnd: 2147
    functionName: g_output_stream_is_closed
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_OUTPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_output_stream_is_closed (GOutputStream *stream) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/goutputstream.c:2421,1
    - Dst: G_POLLABLE_OUTPUT_STREAM_GET_INTERFACE
      Src: /src/glib/gio/goutputstream.c:2427,1
    - Dst: g_task_return_error_if_cancelled
      Src: /src/glib/gio/goutputstream.c:2424,1
    - Dst: g_error_matches
      Src: /src/glib/gio/goutputstream.c:2430,1
    - Dst: g_error_free
      Src: /src/glib/gio/goutputstream.c:2434,1
    - Dst: g_pollable_output_stream_create_source
      Src: /src/glib/gio/goutputstream.c:2436,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/goutputstream.c:2437,1
    - Dst: g_task_attach_source
      Src: /src/glib/gio/goutputstream.c:2438,1
    - Dst: g_source_unref
      Src: /src/glib/gio/goutputstream.c:2440,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/goutputstream.c:2445,1
    - Dst: g_task_return_int
      Src: /src/glib/gio/goutputstream.c:2447,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - stream
    - task
    argTypes:
    - GPollableOutputStream*
    - GTask*
    constantsTouched: []
    func_position:
      end: 2448
      start: 2416
    functionDepth: 0
    functionLinenumber: 2416
    functionLinenumberEnd: 2448
    functionName: write_async_pollable
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_task_return_int
    - g_task_get_cancellable
    - G_POLLABLE_OUTPUT_STREAM_GET_INTERFACE
    - g_error_matches
    - g_task_return_error_if_cancelled
    - g_error_free
    - g_source_unref
    - g_task_get_task_data
    - g_pollable_output_stream_create_source
    - g_task_attach_source
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void write_async_pollable (GPollableOutputStream *stream, GTask
      *task) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/gio/goutputstream.c:2462,1
    - Dst: g_task_set_check_cancellable
      Src: /src/glib/gio/goutputstream.c:2464,1
    - Dst: g_task_new
      Src: /src/glib/gio/goutputstream.c:2463,1
    - Dst: g_output_stream_async_write_is_via_threads
      Src: /src/glib/gio/goutputstream.c:2469,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/goutputstream.c:2465,1
    - Dst: write_async_pollable
      Src: /src/glib/gio/goutputstream.c:2470,1
    - Dst: G_POLLABLE_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:2470,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/goutputstream.c:2472,1
    - Dst: g_object_unref
      Src: /src/glib/gio/goutputstream.c:2473,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 7
    argNames:
    - stream
    - buffer
    - count
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GOutputStream*
    - void*
    - gsize
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 2474
      start: 2450
    functionDepth: 0
    functionLinenumber: 2450
    functionLinenumberEnd: 2474
    functionName: g_output_stream_real_write_async
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - write_async_pollable
    - g_output_stream_async_write_is_via_threads
    - g_task_new
    - g_object_unref
    - g_slice_new0
    - g_task_run_in_thread
    - g_task_set_check_cancellable
    - G_POLLABLE_OUTPUT_STREAM
    - g_task_set_task_data
    linkageType: ''
    returnType: void
    signature: 'static void g_output_stream_real_write_async (GOutputStream *stream,
      const void *buffer, gsize count, int io_priority, GCancellable *cancellable,
      GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/goutputstream.c:2842,1
    - Dst: g_task_return_int
      Src: /src/glib/gio/goutputstream.c:2852,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/goutputstream.c:2850,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 4
    argNames:
    - task
    - source_object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 2853
      start: 2830
    functionDepth: 0
    functionLinenumber: 2830
    functionLinenumberEnd: 2853
    functionName: splice_async_thread
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_task_return_int
    - G_OUTPUT_STREAM_GET_CLASS
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void splice_async_thread (GTask *task, gpointer source_object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:1958,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/goutputstream.c:1965,1
    - Dst: G_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/goutputstream.c:1963,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/goutputstream.c:1972,1
    - Dst: g_task_get_priority
      Src: /src/glib/gio/goutputstream.c:1976,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/goutputstream.c:1977,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1979
      start: 1953
    functionDepth: 0
    functionLinenumber: 1953
    functionLinenumberEnd: 1979
    functionName: async_ready_close_flushed_callback_wrapper
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_async_result_legacy_propagate_error
    - g_task_get_priority
    - g_task_get_cancellable
    - G_OUTPUT_STREAM_GET_CLASS
    - g_task_set_task_data
    - G_OUTPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void async_ready_close_flushed_callback_wrapper (GObject *source_object,
      GAsyncResult *res, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:2100,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:2100,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:2101,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:2102,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/goutputstream.c:2101,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/goutputstream.c:2102,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/goutputstream.c:2104,1
    - Dst: G_TASK
      Src: /src/glib/gio/goutputstream.c:2104,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - stream
    - result
    - error
    argTypes:
    - GOutputStream*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 2105
      start: 2095
    functionDepth: 0
    functionLinenumber: 2095
    functionLinenumberEnd: 2105
    functionName: g_output_stream_internal_close_finish
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_task_is_valid
    - G_IS_OUTPUT_STREAM
    - G_TASK
    - g_async_result_is_tagged
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_output_stream_internal_close_finish (GOutputStream
      *stream, GAsyncResult *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/goutputstream.c:2705,1
    - Dst: g_input_stream_close_finish
      Src: /src/glib/gio/goutputstream.c:2707,1
    - Dst: real_splice_async_complete_cb
      Src: /src/glib/gio/goutputstream.c:2710,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:2707,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - source
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2711
      start: 2699
    functionDepth: 0
    functionLinenumber: 2699
    functionLinenumberEnd: 2711
    functionName: real_splice_async_close_input_cb
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - G_INPUT_STREAM
    - real_splice_async_complete_cb
    - g_input_stream_close_finish
    - g_task_get_task_data
    linkageType: ''
    returnType: void
    signature: 'static void real_splice_async_close_input_cb (GObject *source, GAsyncResult
      *res, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:1986,1
    - Dst: g_output_stream_clear_pending
      Src: /src/glib/gio/goutputstream.c:1991,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/goutputstream.c:1996,1
    - Dst: g_output_stream_internal_close_finish
      Src: /src/glib/gio/goutputstream.c:1993,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/goutputstream.c:1998,1
    - Dst: g_object_unref
      Src: /src/glib/gio/goutputstream.c:2000,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2001
      start: 1981
    functionDepth: 0
    functionLinenumber: 1981
    functionLinenumberEnd: 2001
    functionName: real_close_async_cb
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_output_stream_internal_close_finish
    - g_object_unref
    - g_output_stream_clear_pending
    - g_task_return_error
    - G_OUTPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void real_close_async_cb (GObject *source_object, GAsyncResult
      *res, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_TASK
      Src: /src/glib/gio/goutputstream.c:2718,1
    - Dst: real_splice_async_complete_cb
      Src: /src/glib/gio/goutputstream.c:2725,1
    - Dst: g_output_stream_internal_close_finish
      Src: /src/glib/gio/goutputstream.c:2722,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:2722,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/goutputstream.c:2719,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - source
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2726
      start: 2713
    functionDepth: 0
    functionLinenumber: 2713
    functionLinenumberEnd: 2726
    functionName: real_splice_async_close_output_cb
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - real_splice_async_complete_cb
    - g_task_get_task_data
    - G_TASK
    - g_output_stream_internal_close_finish
    - G_OUTPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void real_splice_async_close_output_cb (GObject *source, GAsyncResult
      *res, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/goutputstream.c:2867,1
    - Dst: g_object_ref
      Src: /src/glib/gio/goutputstream.c:2871,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/goutputstream.c:2869,1
    - Dst: g_input_stream_async_read_is_via_threads
      Src: /src/glib/gio/goutputstream.c:2873,1
    - Dst: g_task_new
      Src: /src/glib/gio/goutputstream.c:2868,1
    - Dst: g_output_stream_async_write_is_via_threads
      Src: /src/glib/gio/goutputstream.c:2874,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/goutputstream.c:2876,1
    - Dst: g_object_unref
      Src: /src/glib/gio/goutputstream.c:2877,1
    - Dst: g_malloc
      Src: /src/glib/gio/goutputstream.c:2881,1
    - Dst: g_input_stream_read_async
      Src: /src/glib/gio/goutputstream.c:2882,1
    - Dst: g_task_get_priority
      Src: /src/glib/gio/goutputstream.c:2883,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/goutputstream.c:2884,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 7
    argNames:
    - stream
    - source
    - flags
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GOutputStream*
    - GInputStream*
    - GOutputStreamSpliceFlags
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 2887
      start: 2855
    functionDepth: 0
    functionLinenumber: 2855
    functionLinenumberEnd: 2887
    functionName: g_output_stream_real_splice_async
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_output_stream_async_write_is_via_threads
    - g_task_new
    - g_object_unref
    - g_task_run_in_thread
    - g_task_get_priority
    - g_input_stream_async_read_is_via_threads
    - g_task_get_cancellable
    - g_malloc
    - g_input_stream_read_async
    - g_object_ref
    - g_task_set_task_data
    - g_new0
    linkageType: ''
    returnType: void
    signature: 'static void g_output_stream_real_splice_async (GOutputStream *stream,
      GInputStream *source, GOutputStreamSpliceFlags flags, int io_priority, GCancellable
      *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:1589,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:1589,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:1590,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:1591,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/goutputstream.c:1590,1
    - Dst: G_TASK
      Src: /src/glib/gio/goutputstream.c:1593,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/goutputstream.c:1597,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/goutputstream.c:1602,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 4
    argNames:
    - stream
    - result
    - bytes_written
    - error
    argTypes:
    - GOutputStream*
    - GAsyncResult*
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 1603
      start: 1581
    functionDepth: 0
    functionLinenumber: 1581
    functionLinenumberEnd: 1603
    functionName: g_output_stream_writev_all_finish
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_task_is_valid
    - g_task_get_task_data
    - G_IS_OUTPUT_STREAM
    - G_TASK
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_output_stream_writev_all_finish (GOutputStream *stream,
      GAsyncResult *result, gsize *bytes_written, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:2165,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:2165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GOutputStream*
    constantsTouched: []
    func_position:
      end: 2168
      start: 2162
    functionDepth: 0
    functionLinenumber: 2162
    functionLinenumberEnd: 2168
    functionName: g_output_stream_is_closing
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_OUTPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_output_stream_is_closing (GOutputStream *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:1914,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:1915,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:1916,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/goutputstream.c:1915,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:1914,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/goutputstream.c:1916,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/goutputstream.c:1921,1
    - Dst: G_TASK
      Src: /src/glib/gio/goutputstream.c:1921,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - stream
    - result
    - error
    argTypes:
    - GOutputStream*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 1922
      start: 1909
    functionDepth: 0
    functionLinenumber: 1909
    functionLinenumberEnd: 1922
    functionName: g_output_stream_flush_finish
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_task_is_valid
    - G_IS_OUTPUT_STREAM
    - G_TASK
    - g_async_result_is_tagged
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_output_stream_flush_finish (GOutputStream *stream, GAsyncResult
      *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/goutputstream.c:2931,1
    - Dst: g_object_unref
      Src: /src/glib/gio/goutputstream.c:2934,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/goutputstream.c:2933,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/goutputstream.c:2932,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 5
    argNames:
    - stream
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GOutputStream*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 2935
      start: 2922
    functionDepth: 0
    functionLinenumber: 2922
    functionLinenumberEnd: 2935
    functionName: g_output_stream_real_flush_async
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_task_run_in_thread
    - g_task_new
    - g_object_unref
    - g_task_set_priority
    linkageType: ''
    returnType: void
    signature: 'static void g_output_stream_real_flush_async (GOutputStream *stream,
      int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_free
      Src: /src/glib/gio/goutputstream.c:1106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1107
      start: 1103
    functionDepth: 0
    functionLinenumber: 1103
    functionLinenumberEnd: 1107
    functionName: free_async_write_all
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void free_async_write_all (gpointer data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:1930,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/goutputstream.c:1938,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/goutputstream.c:1933,1
    - Dst: G_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/goutputstream.c:1940,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/goutputstream.c:1947,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/goutputstream.c:1949,1
    - Dst: g_object_unref
      Src: /src/glib/gio/goutputstream.c:1950,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1951
      start: 1925
    functionDepth: 0
    functionLinenumber: 1925
    functionLinenumberEnd: 1951
    functionName: async_ready_close_callback_wrapper
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_object_unref
    - g_async_result_legacy_propagate_error
    - G_OUTPUT_STREAM_GET_CLASS
    - g_task_get_task_data
    - g_task_return_error
    - G_OUTPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void async_ready_close_callback_wrapper (GObject *source_object,
      GAsyncResult *res, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:2942,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/goutputstream.c:2942,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/goutputstream.c:2944,1
    - Dst: G_TASK
      Src: /src/glib/gio/goutputstream.c:2944,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - stream
    - result
    - error
    argTypes:
    - GOutputStream*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 2945
      start: 2937
    functionDepth: 0
    functionLinenumber: 2937
    functionLinenumberEnd: 2945
    functionName: g_output_stream_real_flush_finish
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_task_is_valid
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_output_stream_real_flush_finish (GOutputStream *stream,
      GAsyncResult *result, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:1370,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:1371,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:1372,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:1370,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/goutputstream.c:1371,1
    - Dst: G_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/goutputstream.c:1374,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:1375,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/goutputstream.c:1379,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/goutputstream.c:1380,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 4
    argNames:
    - stream
    - result
    - bytes_written
    - error
    argTypes:
    - GOutputStream*
    - GAsyncResult*
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 1386
      start: 1360
    functionDepth: 0
    functionLinenumber: 1360
    functionLinenumberEnd: 1386
    functionName: g_output_stream_writev_finish
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_warn_if_fail
    - G_IS_ASYNC_RESULT
    - G_OUTPUT_STREAM_GET_CLASS
    - G_IS_OUTPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_output_stream_writev_finish (GOutputStream *stream, GAsyncResult
      *result, gsize *bytes_written, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: writev_async_pollable
      Src: /src/glib/gio/goutputstream.c:2532,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - stream
    - user_data
    argTypes:
    - GPollableOutputStream*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2534
      start: 2526
    functionDepth: 0
    functionLinenumber: 2526
    functionLinenumberEnd: 2534
    functionName: writev_async_pollable_ready
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - writev_async_pollable
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean writev_async_pollable_ready (GPollableOutputStream\
      \ *stream,\t\t\t gpointer user_data) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:931,1
    - Dst: g_output_stream_internal_close
      Src: /src/glib/gio/goutputstream.c:939,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:931,1
    - Dst: g_output_stream_set_pending
      Src: /src/glib/gio/goutputstream.c:936,1
    - Dst: g_output_stream_clear_pending
      Src: /src/glib/gio/goutputstream.c:941,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GOutputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 944
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 944
    functionName: g_output_stream_close
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_output_stream_set_pending
    - g_output_stream_clear_pending
    - g_output_stream_internal_close
    - G_IS_OUTPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_output_stream_close (GOutputStream *stream,\t\t GCancellable\
      \ *cancellable,\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:1086,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:1088,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:1086,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/goutputstream.c:1087,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:1087,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/goutputstream.c:1088,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/goutputstream.c:1093,1
    - Dst: G_TASK
      Src: /src/glib/gio/goutputstream.c:1093,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - stream
    - result
    - error
    argTypes:
    - GOutputStream*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 1094
      start: 1081
    functionDepth: 0
    functionLinenumber: 1081
    functionLinenumberEnd: 1094
    functionName: g_output_stream_write_finish
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_OUTPUT_STREAM
    - g_task_is_valid
    - g_task_propagate_int
    - G_TASK
    - g_async_result_is_tagged
    linkageType: ''
    returnType: gssize
    signature: 'gssize g_output_stream_write_finish (GOutputStream *stream, GAsyncResult
      *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:2252,1
    - Dst: G_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/goutputstream.c:2254,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:2252,1
    - Dst: g_pollable_output_stream_can_poll
      Src: /src/glib/gio/goutputstream.c:2258,1
    - Dst: G_IS_POLLABLE_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:2257,1
    - Dst: G_POLLABLE_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:2258,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GOutputStream*
    constantsTouched: []
    func_position:
      end: 2259
      start: 2247
    functionDepth: 0
    functionLinenumber: 2247
    functionLinenumberEnd: 2259
    functionName: g_output_stream_async_write_is_via_threads
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_pollable_output_stream_can_poll
    - g_return_val_if_fail
    - G_POLLABLE_OUTPUT_STREAM
    - G_IS_POLLABLE_OUTPUT_STREAM
    - G_OUTPUT_STREAM_GET_CLASS
    - G_IS_OUTPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_output_stream_async_write_is_via_threads (GOutputStream
      *stream) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:951,1
    - Dst: g_output_stream_clear_pending
      Src: /src/glib/gio/goutputstream.c:957,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/goutputstream.c:959,1
    - Dst: G_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/goutputstream.c:963,1
    - Dst: g_task_return_int
      Src: /src/glib/gio/goutputstream.c:968,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/goutputstream.c:970,1
    - Dst: g_object_unref
      Src: /src/glib/gio/goutputstream.c:971,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 972
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 972
    functionName: async_ready_write_callback_wrapper
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_async_result_legacy_propagate_error
    - g_task_return_int
    - g_output_stream_clear_pending
    - G_OUTPUT_STREAM_GET_CLASS
    - g_task_return_error
    - G_OUTPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void async_ready_write_callback_wrapper (GObject *source_object,
      GAsyncResult *res, gpointer user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/goutputstream.c:1034,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/goutputstream.c:1038,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/goutputstream.c:1035,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:1034,1
    - Dst: g_task_new
      Src: /src/glib/gio/goutputstream.c:1037,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/goutputstream.c:1039,1
    - Dst: g_task_return_int
      Src: /src/glib/gio/goutputstream.c:1043,1
    - Dst: g_object_unref
      Src: /src/glib/gio/goutputstream.c:1044,1
    - Dst: g_task_return_new_error
      Src: /src/glib/gio/goutputstream.c:1050,1
    - Dst: _
      Src: /src/glib/gio/goutputstream.c:1051,1
    - Dst: g_object_unref
      Src: /src/glib/gio/goutputstream.c:1053,1
    - Dst: g_output_stream_set_pending
      Src: /src/glib/gio/goutputstream.c:1057,1
    - Dst: g_object_unref
      Src: /src/glib/gio/goutputstream.c:1060,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/goutputstream.c:1059,1
    - Dst: G_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/goutputstream.c:1064,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 7
    argNames:
    - stream
    - buffer
    - count
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GOutputStream*
    - void*
    - gsize
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 1068
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1068
    functionName: g_output_stream_write_async
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_object_unref
    - g_task_set_priority
    - g_task_set_source_tag
    - g_return_if_fail
    - g_task_return_int
    - g_output_stream_set_pending
    - G_OUTPUT_STREAM_GET_CLASS
    - g_task_return_new_error
    - G_IS_OUTPUT_STREAM
    - _
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: "void g_output_stream_write_async (GOutputStream *stream,\t\t\t const\
      \ void *buffer,\t\t\t gsize count,\t\t\t int io_priority,\t\t\t GCancellable\
      \ *cancellable,\t\t\t GAsyncReadyCallback callback,\t\t\t gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/goutputstream.c:2234,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:2234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GOutputStream*
    constantsTouched: []
    func_position:
      end: 2237
      start: 2231
    functionDepth: 0
    functionLinenumber: 2231
    functionLinenumberEnd: 2237
    functionName: g_output_stream_clear_pending
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - G_IS_OUTPUT_STREAM
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_output_stream_clear_pending (GOutputStream *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/goutputstream.c:1335,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/goutputstream.c:1337,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:1335,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/goutputstream.c:1336,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/goutputstream.c:1337,1
    - Dst: G_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/goutputstream.c:1339,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/goutputstream.c:1340,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 7
    argNames:
    - stream
    - vectors
    - n_vectors
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GOutputStream*
    - GOutputVector*
    - gsize
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 1344
      start: 1324
    functionDepth: 0
    functionLinenumber: 1324
    functionLinenumberEnd: 1344
    functionName: g_output_stream_writev_async
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - G_IS_OUTPUT_STREAM
    - G_OUTPUT_STREAM_GET_CLASS
    - G_IS_CANCELLABLE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_output_stream_writev_async (GOutputStream *stream,\t\t\t const\
      \ GOutputVector *vectors,\t\t\t gsize n_vectors,\t\t\t int io_priority,\t\t\t\
      \ GCancellable *cancellable,\t\t\t GAsyncReadyCallback callback,\t\t\t gpointer\
      \ user_data) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:217,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:218,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:217,1
    - Dst: _
      Src: /src/glib/gio/goutputstream.c:226,1
    - Dst: g_set_error
      Src: /src/glib/gio/goutputstream.c:225,1
    - Dst: G_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/goutputstream.c:230,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/goutputstream.c:234,1
    - Dst: _
      Src: /src/glib/gio/goutputstream.c:235,1
    - Dst: g_output_stream_set_pending
      Src: /src/glib/gio/goutputstream.c:239,1
    - Dst: g_cancellable_push_current
      Src: /src/glib/gio/goutputstream.c:243,1
    - Dst: g_output_stream_clear_pending
      Src: /src/glib/gio/goutputstream.c:250,1
    - Dst: g_cancellable_pop_current
      Src: /src/glib/gio/goutputstream.c:248,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 5
    argNames:
    - stream
    - buffer
    - count
    - cancellable
    - error
    argTypes:
    - GOutputStream*
    - void*
    - gsize
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 253
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 253
    functionName: g_output_stream_write
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_cancellable_pop_current
    - g_return_val_if_fail
    - g_output_stream_set_pending
    - g_output_stream_clear_pending
    - g_set_error_literal
    - G_OUTPUT_STREAM_GET_CLASS
    - g_cancellable_push_current
    - G_IS_OUTPUT_STREAM
    - _
    linkageType: ''
    returnType: gssize
    signature: "gssize g_output_stream_write (GOutputStream *stream,\t\t const void\
      \ *buffer,\t\t gsize count,\t\t GCancellable *cancellable,\t\t GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:1265,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:1265,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/goutputstream.c:1266,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:1266,1
    - Dst: G_TASK
      Src: /src/glib/gio/goutputstream.c:1268,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/goutputstream.c:1272,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/goutputstream.c:1277,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 4
    argNames:
    - stream
    - result
    - bytes_written
    - error
    argTypes:
    - GOutputStream*
    - GAsyncResult*
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 1278
      start: 1257
    functionDepth: 0
    functionLinenumber: 1257
    functionLinenumberEnd: 1278
    functionName: g_output_stream_write_all_finish
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_task_is_valid
    - g_task_get_task_data
    - G_IS_OUTPUT_STREAM
    - G_TASK
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_output_stream_write_all_finish (GOutputStream *stream,
      GAsyncResult *result, gsize *bytes_written, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/goutputstream.c:1407,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:1417,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/goutputstream.c:1409,1
    - Dst: g_output_stream_writev_finish
      Src: /src/glib/gio/goutputstream.c:1417,1
    - Dst: g_task_get_priority
      Src: /src/glib/gio/goutputstream.c:1408,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/goutputstream.c:1421,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/goutputstream.c:1421,1
    - Dst: g_object_unref
      Src: /src/glib/gio/goutputstream.c:1422,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/goutputstream.c:1426,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/goutputstream.c:1446,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:1450,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/goutputstream.c:1455,1
    - Dst: g_object_unref
      Src: /src/glib/gio/goutputstream.c:1447,1
    - Dst: g_output_stream_writev_async
      Src: /src/glib/gio/goutputstream.c:1450,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 3
    argNames:
    - stream
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1456
      start: 1401
    functionDepth: 0
    functionLinenumber: 1401
    functionLinenumberEnd: 1456
    functionName: writev_all_callback
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_output_stream_writev_finish
    - g_steal_pointer
    - g_output_stream_writev_async
    - g_warn_if_fail
    - g_object_unref
    - g_task_get_priority
    - g_task_get_cancellable
    - g_task_get_task_data
    - g_task_return_error
    - G_OUTPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void writev_all_callback (GObject *stream, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:2202,1
    - Dst: _
      Src: /src/glib/gio/goutputstream.c:2207,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:2202,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/goutputstream.c:2206,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/goutputstream.c:2213,1
    - Dst: _
      Src: /src/glib/gio/goutputstream.c:2217,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - stream
    - error
    argTypes:
    - GOutputStream*
    - GError**
    constantsTouched: []
    func_position:
      end: 2223
      start: 2198
    functionDepth: 0
    functionLinenumber: 2198
    functionLinenumberEnd: 2223
    functionName: g_output_stream_set_pending
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - _
    - g_set_error_literal
    - g_return_val_if_fail
    - G_IS_OUTPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_output_stream_set_pending (GOutputStream *stream,\t\t\t\
      \ GError **error) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_TASK
      Src: /src/glib/gio/goutputstream.c:2766,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/goutputstream.c:2767,1
    - Dst: G_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/goutputstream.c:2770,1
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/goutputstream.c:2770,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:2772,1
    - Dst: real_splice_async_complete
      Src: /src/glib/gio/goutputstream.c:2776,1
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/goutputstream.c:2787,1
    - Dst: g_task_get_priority
      Src: /src/glib/gio/goutputstream.c:2790,1
    - Dst: g_input_stream_read_async
      Src: /src/glib/gio/goutputstream.c:2796,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/goutputstream.c:2798,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/goutputstream.c:2791,1
    - Dst: g_task_get_priority
      Src: /src/glib/gio/goutputstream.c:2797,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - source
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2800
      start: 2760
    functionDepth: 0
    functionLinenumber: 2760
    functionLinenumberEnd: 2800
    functionName: real_splice_async_write_cb
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_task_get_priority
    - g_task_get_cancellable
    - g_task_get_source_object
    - real_splice_async_complete
    - G_OUTPUT_STREAM_GET_CLASS
    - g_task_get_task_data
    - g_input_stream_read_async
    - G_TASK
    - G_OUTPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void real_splice_async_write_cb (GObject *source, GAsyncResult
      *res, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:1464,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/goutputstream.c:1472,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/goutputstream.c:1470,1
    - Dst: g_output_stream_writev_all
      Src: /src/glib/gio/goutputstream.c:1468,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/goutputstream.c:1469,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/goutputstream.c:1472,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 4
    argNames:
    - task
    - source_object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 1473
      start: 1458
    functionDepth: 0
    functionLinenumber: 1458
    functionLinenumberEnd: 1473
    functionName: writev_all_async_thread
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_steal_pointer
    - g_task_get_cancellable
    - g_task_return_error
    - g_output_stream_writev_all
    - G_OUTPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void writev_all_async_thread (GTask *task, gpointer source_object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_TASK
      Src: /src/glib/gio/goutputstream.c:2808,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/goutputstream.c:2809,1
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/goutputstream.c:2812,1
    - Dst: g_input_stream_read_finish
      Src: /src/glib/gio/goutputstream.c:2814,1
    - Dst: G_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/goutputstream.c:2812,1
    - Dst: real_splice_async_complete
      Src: /src/glib/gio/goutputstream.c:2817,1
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/goutputstream.c:2824,1
    - Dst: g_task_get_priority
      Src: /src/glib/gio/goutputstream.c:2825,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/goutputstream.c:2826,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - source
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2828
      start: 2802
    functionDepth: 0
    functionLinenumber: 2802
    functionLinenumberEnd: 2828
    functionName: real_splice_async_read_cb
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_task_get_priority
    - g_task_get_cancellable
    - g_input_stream_read_finish
    - g_task_get_source_object
    - real_splice_async_complete
    - G_OUTPUT_STREAM_GET_CLASS
    - g_task_get_task_data
    - G_TASK
    linkageType: ''
    returnType: void
    signature: 'static void real_splice_async_read_cb (GObject *source, GAsyncResult
      *res, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_output_stream_get_instance_private
      Src: /src/glib/gio/goutputstream.c:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GOutputStream*
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: g_output_stream_init
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_output_stream_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_output_stream_init (GOutputStream *stream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/goutputstream.c:1210,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/goutputstream.c:1211,1
    - Dst: g_task_new
      Src: /src/glib/gio/goutputstream.c:1213,1
    - Dst: g_slice_new0
      Src: /src/glib/gio/goutputstream.c:1214,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:1210,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/goutputstream.c:1218,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/goutputstream.c:1219,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/goutputstream.c:1220,1
    - Dst: g_output_stream_async_write_is_via_threads
      Src: /src/glib/gio/goutputstream.c:1226,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/goutputstream.c:1228,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/goutputstream.c:1232,1
    - Dst: write_all_callback
      Src: /src/glib/gio/goutputstream.c:1232,1
    - Dst: g_object_unref
      Src: /src/glib/gio/goutputstream.c:1229,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 7
    argNames:
    - stream
    - buffer
    - count
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GOutputStream*
    - void*
    - gsize
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 1233
      start: 1198
    functionDepth: 0
    functionLinenumber: 1198
    functionLinenumberEnd: 1233
    functionName: g_output_stream_write_all_async
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - write_all_callback
    - g_output_stream_async_write_is_via_threads
    - g_task_new
    - g_object_unref
    - g_slice_new0
    - g_task_set_source_tag
    - g_return_if_fail
    - g_task_set_priority
    - g_task_run_in_thread
    - G_OBJECT
    - g_task_set_task_data
    - G_IS_OUTPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'void g_output_stream_write_all_async (GOutputStream *stream, const
      void *buffer, gsize count, int io_priority, GCancellable *cancellable, GAsyncReadyCallback
      callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:2181,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:2181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GOutputStream*
    constantsTouched: []
    func_position:
      end: 2184
      start: 2178
    functionDepth: 0
    functionLinenumber: 2178
    functionLinenumberEnd: 2184
    functionName: g_output_stream_has_pending
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_OUTPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_output_stream_has_pending (GOutputStream *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/gio/goutputstream.c:556,1
    - Dst: g_output_stream_vprintf
      Src: /src/glib/gio/goutputstream.c:557,1
    - Dst: va_end
      Src: /src/glib/gio/goutputstream.c:559,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 5
    argNames:
    - stream
    - bytes_written
    - cancellable
    - error
    - format
    - '...'
    argTypes:
    - GOutputStream*
    - gsize*
    - GCancellable*
    - GError**
    - gchar*
    constantsTouched: []
    func_position:
      end: 562
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 562
    functionName: g_output_stream_printf
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_output_stream_vprintf
    - va_start
    - va_end
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_output_stream_printf (GOutputStream *stream, gsize *bytes_written,
      GCancellable *cancellable, GError **error, const gchar *format, ...) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:461,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/goutputstream.c:463,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:463,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:462,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:461,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:464,1
    - Dst: g_set_error
      Src: /src/glib/gio/goutputstream.c:472,1
    - Dst: _
      Src: /src/glib/gio/goutputstream.c:473,1
    - Dst: g_output_stream_writev
      Src: /src/glib/gio/goutputstream.c:485,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:494,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 51
    argCount: 6
    argNames:
    - stream
    - vectors
    - n_vectors
    - bytes_written
    - cancellable
    - error
    argTypes:
    - GOutputStream*
    - GOutputVector*
    - gsize
    - gsize*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 516
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 516
    functionName: g_output_stream_writev_all
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_return_val_if_fail
    - G_IS_CANCELLABLE
    - g_output_stream_writev
    - G_IS_OUTPUT_STREAM
    - _
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_output_stream_writev_all (GOutputStream *stream,\t\t\t\
      \ GOutputVector *vectors,\t\t\t gsize n_vectors,\t\t\t gsize *bytes_written,\t\
      \t\t GCancellable *cancellable,\t\t\t GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:140,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/goutputstream.c:143,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/goutputstream.c:145,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 146
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 146
    functionName: g_output_stream_dispose
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_output_stream_close
    - G_OUTPUT_STREAM
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_output_stream_dispose (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:2274,1
    - Dst: G_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/goutputstream.c:2276,1
    - Dst: g_pollable_output_stream_can_poll
      Src: /src/glib/gio/goutputstream.c:2280,1
    - Dst: G_IS_POLLABLE_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:2279,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:2274,1
    - Dst: G_POLLABLE_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:2280,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GOutputStream*
    constantsTouched: []
    func_position:
      end: 2281
      start: 2269
    functionDepth: 0
    functionLinenumber: 2269
    functionLinenumberEnd: 2281
    functionName: g_output_stream_async_writev_is_via_threads
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_pollable_output_stream_can_poll
    - g_return_val_if_fail
    - G_POLLABLE_OUTPUT_STREAM
    - G_IS_POLLABLE_OUTPUT_STREAM
    - G_OUTPUT_STREAM_GET_CLASS
    - G_IS_OUTPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_output_stream_async_writev_is_via_threads (GOutputStream
      *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/goutputstream.c:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GOutputStreamClass*
    constantsTouched: []
    func_position:
      end: 168
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 168
    functionName: g_output_stream_class_init
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_output_stream_class_init (GOutputStreamClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_free
      Src: /src/glib/gio/goutputstream.c:1398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1399
      start: 1395
    functionDepth: 0
    functionLinenumber: 1395
    functionLinenumberEnd: 1399
    functionName: free_async_writev_all
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void free_async_writev_all (gpointer data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:731,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:731,1
    - Dst: g_input_stream_is_closed
      Src: /src/glib/gio/goutputstream.c:734,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:732,1
    - Dst: G_IS_INPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:732,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/goutputstream.c:736,1
    - Dst: _
      Src: /src/glib/gio/goutputstream.c:737,1
    - Dst: g_output_stream_set_pending
      Src: /src/glib/gio/goutputstream.c:741,1
    - Dst: G_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/goutputstream.c:744,1
    - Dst: g_cancellable_push_current
      Src: /src/glib/gio/goutputstream.c:747,1
    - Dst: g_cancellable_pop_current
      Src: /src/glib/gio/goutputstream.c:752,1
    - Dst: g_output_stream_clear_pending
      Src: /src/glib/gio/goutputstream.c:754,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 5
    argNames:
    - stream
    - source
    - flags
    - cancellable
    - error
    argTypes:
    - GOutputStream*
    - GInputStream*
    - GOutputStreamSpliceFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 757
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 757
    functionName: g_output_stream_splice
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_cancellable_pop_current
    - g_return_val_if_fail
    - G_IS_OUTPUT_STREAM
    - g_output_stream_set_pending
    - g_output_stream_clear_pending
    - g_set_error_literal
    - G_OUTPUT_STREAM_GET_CLASS
    - g_cancellable_push_current
    - g_input_stream_is_closed
    - _
    - G_IS_INPUT_STREAM
    linkageType: ''
    returnType: gssize
    signature: "gssize g_output_stream_splice (GOutputStream *stream,\t\t\tGInputStream\
      \ *source,\t\t\tGOutputStreamSpliceFlags flags,\t\t\tGCancellable *cancellable,\t\
      \t\tGError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:2481,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/goutputstream.c:2481,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/goutputstream.c:2483,1
    - Dst: G_TASK
      Src: /src/glib/gio/goutputstream.c:2483,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - stream
    - result
    - error
    argTypes:
    - GOutputStream*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 2484
      start: 2476
    functionDepth: 0
    functionLinenumber: 2476
    functionLinenumberEnd: 2484
    functionName: g_output_stream_real_write_finish
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_return_val_if_fail
    - g_task_is_valid
    - g_task_propagate_int
    linkageType: ''
    returnType: gssize
    signature: 'static gssize g_output_stream_real_write_finish (GOutputStream *stream,
      GAsyncResult *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:2894,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/goutputstream.c:2896,1
    - Dst: G_TASK
      Src: /src/glib/gio/goutputstream.c:2896,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/goutputstream.c:2894,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - stream
    - result
    - error
    argTypes:
    - GOutputStream*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 2897
      start: 2889
    functionDepth: 0
    functionLinenumber: 2889
    functionLinenumberEnd: 2897
    functionName: g_output_stream_real_splice_finish
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_return_val_if_fail
    - g_task_is_valid
    - g_task_propagate_int
    linkageType: ''
    returnType: gssize
    signature: 'static gssize g_output_stream_real_splice_finish (GOutputStream *stream,
      GAsyncResult *result, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/goutputstream.c:2911,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/goutputstream.c:2919,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/goutputstream.c:2917,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 4
    argNames:
    - task
    - source_object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 2920
      start: 2900
    functionDepth: 0
    functionLinenumber: 2900
    functionLinenumberEnd: 2920
    functionName: flush_async_thread
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - G_OUTPUT_STREAM_GET_CLASS
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void flush_async_thread (GTask *task, gpointer source_object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:680,1
    - Dst: g_cancellable_push_current
      Src: /src/glib/gio/goutputstream.c:691,1
    - Dst: G_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/goutputstream.c:685,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:680,1
    - Dst: g_output_stream_set_pending
      Src: /src/glib/gio/goutputstream.c:682,1
    - Dst: g_cancellable_pop_current
      Src: /src/glib/gio/goutputstream.c:696,1
    - Dst: g_output_stream_clear_pending
      Src: /src/glib/gio/goutputstream.c:699,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GOutputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 702
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 702
    functionName: g_output_stream_flush
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_cancellable_pop_current
    - g_return_val_if_fail
    - g_output_stream_set_pending
    - g_output_stream_clear_pending
    - G_OUTPUT_STREAM_GET_CLASS
    - g_cancellable_push_current
    - G_IS_OUTPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_output_stream_flush (GOutputStream *stream, GCancellable
      *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:2296,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:2296,1
    - Dst: G_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/goutputstream.c:2298,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GOutputStream*
    constantsTouched: []
    func_position:
      end: 2301
      start: 2291
    functionDepth: 0
    functionLinenumber: 2291
    functionLinenumberEnd: 2301
    functionName: g_output_stream_async_close_is_via_threads
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_OUTPUT_STREAM_GET_CLASS
    - G_IS_OUTPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_output_stream_async_close_is_via_threads (GOutputStream
      *stream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:2635,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/goutputstream.c:2636,1
    - Dst: g_output_stream_clear_pending
      Src: /src/glib/gio/goutputstream.c:2638,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:2636,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/goutputstream.c:2635,1
    - Dst: G_TASK
      Src: /src/glib/gio/goutputstream.c:2640,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/goutputstream.c:2644,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/goutputstream.c:2649,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 4
    argNames:
    - stream
    - result
    - bytes_written
    - error
    argTypes:
    - GOutputStream*
    - GAsyncResult*
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 2650
      start: 2627
    functionDepth: 0
    functionLinenumber: 2627
    functionLinenumberEnd: 2650
    functionName: g_output_stream_real_writev_finish
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_output_stream_clear_pending
    - g_task_is_valid
    - g_task_get_task_data
    - G_TASK
    - g_async_result_is_tagged
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_output_stream_real_writev_finish (GOutputStream
      *stream, GAsyncResult *result, gsize *bytes_written, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/goutputstream.c:2033,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/goutputstream.c:2037,1
    - Dst: g_task_new
      Src: /src/glib/gio/goutputstream.c:2035,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:2033,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/goutputstream.c:2036,1
    - Dst: g_output_stream_set_pending
      Src: /src/glib/gio/goutputstream.c:2039,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/goutputstream.c:2041,1
    - Dst: g_object_unref
      Src: /src/glib/gio/goutputstream.c:2042,1
    - Dst: g_output_stream_internal_close_async
      Src: /src/glib/gio/goutputstream.c:2046,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 5
    argNames:
    - stream
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GOutputStream*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 2048
      start: 2023
    functionDepth: 0
    functionLinenumber: 2023
    functionLinenumberEnd: 2048
    functionName: g_output_stream_close_async
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_object_unref
    - g_task_set_priority
    - g_task_set_source_tag
    - g_return_if_fail
    - g_output_stream_set_pending
    - G_IS_OUTPUT_STREAM
    - g_output_stream_internal_close_async
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'void g_output_stream_close_async (GOutputStream *stream, int io_priority,
      GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/goutputstream.c:2958,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/goutputstream.c:2985,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/goutputstream.c:2987,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 4
    argNames:
    - task
    - source_object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 2988
      start: 2947
    functionDepth: 0
    functionLinenumber: 2947
    functionLinenumberEnd: 2988
    functionName: close_async_thread
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - G_OUTPUT_STREAM_GET_CLASS
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void close_async_thread (GTask *task, gpointer source_object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/goutputstream.c:2999,1
    - Dst: g_object_unref
      Src: /src/glib/gio/goutputstream.c:3002,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/goutputstream.c:3000,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/goutputstream.c:3001,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 5
    argNames:
    - stream
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GOutputStream*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 3003
      start: 2990
    functionDepth: 0
    functionLinenumber: 2990
    functionLinenumberEnd: 3003
    functionName: g_output_stream_real_close_async
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_task_run_in_thread
    - g_task_new
    - g_object_unref
    - g_task_set_priority
    linkageType: ''
    returnType: void
    signature: 'static void g_output_stream_real_close_async (GOutputStream *stream,
      int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer
      user_data) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:376,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/goutputstream.c:378,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:377,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:376,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:378,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:379,1
    - Dst: G_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/goutputstream.c:384,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:386,1
    - Dst: g_output_stream_set_pending
      Src: /src/glib/gio/goutputstream.c:388,1
    - Dst: g_cancellable_push_current
      Src: /src/glib/gio/goutputstream.c:392,1
    - Dst: g_cancellable_pop_current
      Src: /src/glib/gio/goutputstream.c:400,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/goutputstream.c:396,1
    - Dst: g_output_stream_clear_pending
      Src: /src/glib/gio/goutputstream.c:402,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/goutputstream.c:397,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 37
    argCount: 6
    argNames:
    - stream
    - vectors
    - n_vectors
    - bytes_written
    - cancellable
    - error
    argTypes:
    - GOutputStream*
    - GOutputVector*
    - gsize
    - gsize*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 408
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 408
    functionName: g_output_stream_writev
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_cancellable_pop_current
    - g_return_val_if_fail
    - g_warn_if_fail
    - g_output_stream_set_pending
    - G_IS_CANCELLABLE
    - g_output_stream_clear_pending
    - G_OUTPUT_STREAM_GET_CLASS
    - g_cancellable_push_current
    - G_IS_OUTPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_output_stream_writev (GOutputStream *stream,\t\t const\
      \ GOutputVector *vectors,\t\t gsize n_vectors,\t\t gsize *bytes_written,\t\t\
      \ GCancellable *cancellable,\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_get_data
      Src: /src/glib/gio/goutputstream.c:646,1
    - Dst: g_output_stream_write
      Src: /src/glib/gio/goutputstream.c:648,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 4
    argNames:
    - stream
    - bytes
    - cancellable
    - error
    argTypes:
    - GOutputStream*
    - GBytes*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 652
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 652
    functionName: g_output_stream_write_bytes
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_bytes_get_data
    - g_output_stream_write
    linkageType: ''
    returnType: gssize
    signature: "gssize g_output_stream_write_bytes (GOutputStream *stream,\t\t\t GBytes\
      \ *bytes,\t\t\t GCancellable *cancellable,\t\t\t GError **error) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/goutputstream.c:1871,1
    - Dst: g_task_new
      Src: /src/glib/gio/goutputstream.c:1873,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:1871,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/goutputstream.c:1874,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/goutputstream.c:1875,1
    - Dst: g_output_stream_set_pending
      Src: /src/glib/gio/goutputstream.c:1877,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/goutputstream.c:1879,1
    - Dst: g_object_unref
      Src: /src/glib/gio/goutputstream.c:1880,1
    - Dst: G_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/goutputstream.c:1884,1
    - Dst: g_output_stream_clear_pending
      Src: /src/glib/gio/goutputstream.c:1888,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/goutputstream.c:1889,1
    - Dst: g_object_unref
      Src: /src/glib/gio/goutputstream.c:1890,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 5
    argNames:
    - stream
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GOutputStream*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 1896
      start: 1860
    functionDepth: 0
    functionLinenumber: 1860
    functionLinenumberEnd: 1896
    functionName: g_output_stream_flush_async
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_task_new
    - g_object_unref
    - g_task_set_priority
    - g_task_set_source_tag
    - g_return_if_fail
    - g_output_stream_set_pending
    - g_output_stream_clear_pending
    - G_OUTPUT_STREAM_GET_CLASS
    - G_IS_OUTPUT_STREAM
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'void g_output_stream_flush_async (GOutputStream *stream, int io_priority,
      GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/goutputstream.c:2063,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/goutputstream.c:2065,1
    - Dst: g_object_unref
      Src: /src/glib/gio/goutputstream.c:2070,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/goutputstream.c:2064,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/goutputstream.c:2069,1
    - Dst: G_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/goutputstream.c:2074,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 5
    argNames:
    - stream
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GOutputStream*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 2093
      start: 2053
    functionDepth: 0
    functionLinenumber: 2053
    functionLinenumberEnd: 2093
    functionName: g_output_stream_internal_close_async
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_task_new
    - g_object_unref
    - g_task_set_priority
    - g_task_set_source_tag
    - G_OUTPUT_STREAM_GET_CLASS
    linkageType: ''
    returnType: void
    signature: 'void g_output_stream_internal_close_async (GOutputStream *stream,
      int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer
      user_data) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: G_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/goutputstream.c:766,1
    - Dst: _
      Src: /src/glib/gio/goutputstream.c:776,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/goutputstream.c:784,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/goutputstream.c:775,1
    - Dst: g_input_stream_close
      Src: /src/glib/gio/goutputstream.c:821,1
    - Dst: g_output_stream_internal_close
      Src: /src/glib/gio/goutputstream.c:827,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 39
    argCount: 5
    argNames:
    - stream
    - source
    - flags
    - cancellable
    - error
    argTypes:
    - GOutputStream*
    - GInputStream*
    - GOutputStreamSpliceFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 835
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 835
    functionName: g_output_stream_real_splice
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_input_stream_close
    - g_set_error_literal
    - g_input_stream_read
    - g_output_stream_internal_close
    - G_OUTPUT_STREAM_GET_CLASS
    - _
    linkageType: ''
    returnType: gssize
    signature: 'static gssize g_output_stream_real_splice (GOutputStream *stream,
      GInputStream *source, GOutputStreamSpliceFlags flags, GCancellable *cancellable,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_get_data
      Src: /src/glib/gio/goutputstream.c:1659,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/goutputstream.c:1663,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/goutputstream.c:1662,1
    - Dst: g_bytes_ref
      Src: /src/glib/gio/goutputstream.c:1663,1
    - Dst: g_task_new
      Src: /src/glib/gio/goutputstream.c:1661,1
    - Dst: g_output_stream_write_async
      Src: /src/glib/gio/goutputstream.c:1666,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 6
    argNames:
    - stream
    - bytes
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GOutputStream*
    - GBytes*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 1672
      start: 1647
    functionDepth: 0
    functionLinenumber: 1647
    functionLinenumberEnd: 1672
    functionName: g_output_stream_write_bytes_async
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_task_set_source_tag
    - g_output_stream_write_async
    - g_bytes_ref
    - g_task_set_task_data
    - g_bytes_get_data
    linkageType: ''
    returnType: void
    signature: "void g_output_stream_write_bytes_async (GOutputStream *stream,\t\t\
      \t\t GBytes *bytes,\t\t\t\t int io_priority,\t\t\t\t GCancellable *cancellable,\t\
      \t\t\t GAsyncReadyCallback callback,\t\t\t\t gpointer user_data) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/goutputstream.c:2731,1
    - Dst: g_output_stream_internal_close_async
      Src: /src/glib/gio/goutputstream.c:2745,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/goutputstream.c:2738,1
    - Dst: g_task_get_priority
      Src: /src/glib/gio/goutputstream.c:2737,1
    - Dst: g_input_stream_close_async
      Src: /src/glib/gio/goutputstream.c:2737,1
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/goutputstream.c:2745,1
    - Dst: g_task_get_priority
      Src: /src/glib/gio/goutputstream.c:2746,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/goutputstream.c:2747,1
    - Dst: real_splice_async_complete_cb
      Src: /src/glib/gio/goutputstream.c:2753,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - task
    argTypes:
    - GTask*
    constantsTouched: []
    func_position:
      end: 2754
      start: 2728
    functionDepth: 0
    functionLinenumber: 2728
    functionLinenumberEnd: 2754
    functionName: real_splice_async_complete
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_task_get_priority
    - g_task_get_cancellable
    - g_task_get_source_object
    - g_task_get_task_data
    - g_output_stream_internal_close_async
    - g_input_stream_close_async
    - real_splice_async_complete_cb
    linkageType: ''
    returnType: void
    signature: 'static void real_splice_async_complete (GTask *task) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_pointer
      Src: /src/glib/gio/goutputstream.c:2667,1
    - Dst: g_clear_error
      Src: /src/glib/gio/goutputstream.c:2669,1
    - Dst: g_free
      Src: /src/glib/gio/goutputstream.c:2670,1
    - Dst: g_object_unref
      Src: /src/glib/gio/goutputstream.c:2668,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - op
    argTypes:
    - SpliceData*
    constantsTouched: []
    func_position:
      end: 2671
      start: 2664
    functionDepth: 0
    functionLinenumber: 2664
    functionLinenumberEnd: 2671
    functionName: free_splice_data
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_free
    - g_clear_error
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void free_splice_data (SpliceData *op) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/goutputstream.c:2676,1
    - Dst: g_task_return_int
      Src: /src/glib/gio/goutputstream.c:2693,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/goutputstream.c:2688,1
    - Dst: g_object_unref
      Src: /src/glib/gio/goutputstream.c:2696,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - task
    argTypes:
    - GTask*
    constantsTouched: []
    func_position:
      end: 2697
      start: 2673
    functionDepth: 0
    functionLinenumber: 2673
    functionLinenumberEnd: 2697
    functionName: real_splice_async_complete_cb
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_task_return_error
    - g_task_return_int
    - g_object_unref
    - g_task_get_task_data
    linkageType: ''
    returnType: void
    signature: 'static void real_splice_async_complete_cb (GTask *task) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:3010,1
    - Dst: G_TASK
      Src: /src/glib/gio/goutputstream.c:3012,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/goutputstream.c:3010,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/goutputstream.c:3012,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - stream
    - result
    - error
    argTypes:
    - GOutputStream*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 3013
      start: 3005
    functionDepth: 0
    functionLinenumber: 3005
    functionLinenumberEnd: 3013
    functionName: g_output_stream_real_close_finish
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_task_is_valid
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_output_stream_real_close_finish (GOutputStream *stream,
      GAsyncResult *result, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_output_stream_write_finish
      Src: /src/glib/gio/goutputstream.c:1614,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/goutputstream.c:1617,1
    - Dst: g_object_unref
      Src: /src/glib/gio/goutputstream.c:1620,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:1614,1
    - Dst: g_task_return_int
      Src: /src/glib/gio/goutputstream.c:1619,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - stream
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1621
      start: 1605
    functionDepth: 0
    functionLinenumber: 1605
    functionLinenumberEnd: 1621
    functionName: write_bytes_callback
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_task_return_int
    - g_output_stream_write_finish
    - g_task_return_error
    - G_OUTPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void write_bytes_callback (GObject *stream, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:1805,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:1807,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:1805,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/goutputstream.c:1806,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:1806,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/goutputstream.c:1807,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/goutputstream.c:1812,1
    - Dst: G_TASK
      Src: /src/glib/gio/goutputstream.c:1812,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - stream
    - result
    - error
    argTypes:
    - GOutputStream*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 1813
      start: 1800
    functionDepth: 0
    functionLinenumber: 1800
    functionLinenumberEnd: 1813
    functionName: g_output_stream_splice_finish
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_OUTPUT_STREAM
    - g_task_is_valid
    - g_task_propagate_int
    - G_TASK
    - g_async_result_is_tagged
    linkageType: ''
    returnType: gssize
    signature: "gssize g_output_stream_splice_finish (GOutputStream *stream,\t\t\t\
      \ GAsyncResult *result,\t\t\t GError **error) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:298,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:298,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:312,1
    - Dst: g_output_stream_write
      Src: /src/glib/gio/goutputstream.c:304,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:299,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 6
    argNames:
    - stream
    - buffer
    - count
    - bytes_written
    - cancellable
    - error
    argTypes:
    - GOutputStream*
    - void*
    - gsize
    - gsize*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 321
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 321
    functionName: g_output_stream_write_all
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_output_stream_write
    - G_IS_OUTPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_output_stream_write_all (GOutputStream *stream,\t\t\t const\
      \ void *buffer,\t\t\t gsize count,\t\t\t gsize *bytes_written,\t\t\t GCancellable\
      \ *cancellable,\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:602,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:602,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:604,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/goutputstream.c:603,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:603,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:605,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/gio/goutputstream.c:607,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/goutputstream.c:608,1
    - Dst: strlen
      Src: /src/glib/gio/goutputstream.c:609,1
    - Dst: g_free
      Src: /src/glib/gio/goutputstream.c:611,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 6
    argNames:
    - stream
    - bytes_written
    - cancellable
    - error
    - format
    - args
    argTypes:
    - GOutputStream*
    - gsize*
    - GCancellable*
    - GError**
    - gchar*
    - va_list
    constantsTouched: []
    func_position:
      end: 614
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 614
    functionName: g_output_stream_vprintf
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_strdup_vprintf
    - g_return_val_if_fail
    - strlen
    - G_IS_CANCELLABLE
    - g_output_stream_write_all
    - G_IS_OUTPUT_STREAM
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_output_stream_vprintf (GOutputStream *stream, gsize *bytes_written,
      GCancellable *cancellable, GError **error, const gchar *format, va_list args) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:1820,1
    - Dst: G_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/goutputstream.c:1832,1
    - Dst: g_output_stream_clear_pending
      Src: /src/glib/gio/goutputstream.c:1826,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/goutputstream.c:1828,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/goutputstream.c:1837,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/goutputstream.c:1839,1
    - Dst: g_object_unref
      Src: /src/glib/gio/goutputstream.c:1840,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1841
      start: 1815
    functionDepth: 0
    functionLinenumber: 1815
    functionLinenumberEnd: 1841
    functionName: async_ready_flush_callback_wrapper
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_object_unref
    - g_async_result_legacy_propagate_error
    - g_output_stream_clear_pending
    - G_OUTPUT_STREAM_GET_CLASS
    - g_task_return_error
    - G_OUTPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void async_ready_flush_callback_wrapper (GObject *source_object,
      GAsyncResult *res, gpointer user_data) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: G_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/goutputstream.c:850,1
    - Dst: g_cancellable_push_current
      Src: /src/glib/gio/goutputstream.c:855,1
    - Dst: g_cancellable_pop_current
      Src: /src/glib/gio/goutputstream.c:878,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GOutputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 884
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 884
    functionName: g_output_stream_internal_close
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_cancellable_pop_current
    - G_OUTPUT_STREAM_GET_CLASS
    - g_cancellable_push_current
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_output_stream_internal_close (GOutputStream *stream,
      GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_free
      Src: /src/glib/gio/goutputstream.c:2495,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - WritevData*
    constantsTouched: []
    func_position:
      end: 2496
      start: 2492
    functionDepth: 0
    functionLinenumber: 2492
    functionLinenumberEnd: 2496
    functionName: free_writev_data
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void free_writev_data (WritevData *op) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/goutputstream.c:2541,1
    - Dst: g_task_return_error_if_cancelled
      Src: /src/glib/gio/goutputstream.c:2545,1
    - Dst: G_POLLABLE_OUTPUT_STREAM_GET_INTERFACE
      Src: /src/glib/gio/goutputstream.c:2548,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/goutputstream.c:2557,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/goutputstream.c:2558,1
    - Dst: g_pollable_output_stream_create_source
      Src: /src/glib/gio/goutputstream.c:2560,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/goutputstream.c:2561,1
    - Dst: g_task_attach_source
      Src: /src/glib/gio/goutputstream.c:2562,1
    - Dst: g_source_unref
      Src: /src/glib/gio/goutputstream.c:2564,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/goutputstream.c:2568,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/goutputstream.c:2570,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/goutputstream.c:2574,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/goutputstream.c:2575,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/goutputstream.c:2575,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/goutputstream.c:2578,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/goutputstream.c:2573,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 2
    argNames:
    - stream
    - task
    argTypes:
    - GPollableOutputStream*
    - GTask*
    constantsTouched: []
    func_position:
      end: 2580
      start: 2536
    functionDepth: 0
    functionLinenumber: 2536
    functionLinenumberEnd: 2580
    functionName: writev_async_pollable
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_steal_pointer
    - g_warn_if_fail
    - g_task_get_cancellable
    - g_assert_not_reached
    - G_POLLABLE_OUTPUT_STREAM_GET_INTERFACE
    - g_task_return_error_if_cancelled
    - g_source_unref
    - g_task_get_task_data
    - g_pollable_output_stream_create_source
    - g_task_attach_source
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void writev_async_pollable (GPollableOutputStream *stream,
      GTask *task) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_async_pollable
      Src: /src/glib/gio/goutputstream.c:2412,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - stream
    - user_data
    argTypes:
    - GPollableOutputStream*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2414
      start: 2406
    functionDepth: 0
    functionLinenumber: 2406
    functionLinenumberEnd: 2414
    functionName: write_async_pollable_ready
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - write_async_pollable
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean write_async_pollable_ready (GPollableOutputStream\
      \ *stream,\t\t\t gpointer user_data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/goutputstream.c:2510,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/goutputstream.c:2518,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/goutputstream.c:2514,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/goutputstream.c:2515,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/goutputstream.c:2518,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/goutputstream.c:2520,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 4
    argNames:
    - task
    - source_object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 2521
      start: 2498
    functionDepth: 0
    functionLinenumber: 2498
    functionLinenumberEnd: 2521
    functionName: writev_async_thread
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_steal_pointer
    - g_warn_if_fail
    - G_OUTPUT_STREAM_GET_CLASS
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void writev_async_thread (GTask *task, gpointer source_object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/gio/goutputstream.c:2595,1
    - Dst: g_task_set_check_cancellable
      Src: /src/glib/gio/goutputstream.c:2600,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/goutputstream.c:2602,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/goutputstream.c:2601,1
    - Dst: g_task_new
      Src: /src/glib/gio/goutputstream.c:2596,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/goutputstream.c:2603,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/goutputstream.c:2607,1
    - Dst: g_object_unref
      Src: /src/glib/gio/goutputstream.c:2608,1
    - Dst: g_output_stream_set_pending
      Src: /src/glib/gio/goutputstream.c:2612,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/goutputstream.c:2614,1
    - Dst: writev_async_pollable
      Src: /src/glib/gio/goutputstream.c:2620,1
    - Dst: g_output_stream_async_writev_is_via_threads
      Src: /src/glib/gio/goutputstream.c:2619,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/goutputstream.c:2614,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/goutputstream.c:2622,1
    - Dst: G_POLLABLE_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:2620,1
    - Dst: g_object_unref
      Src: /src/glib/gio/goutputstream.c:2624,1
    - Dst: g_object_unref
      Src: /src/glib/gio/goutputstream.c:2615,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 7
    argNames:
    - stream
    - vectors
    - n_vectors
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GOutputStream*
    - GOutputVector*
    - gsize
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 2625
      start: 2582
    functionDepth: 0
    functionLinenumber: 2582
    functionLinenumberEnd: 2625
    functionName: g_output_stream_real_writev_async
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_steal_pointer
    - writev_async_pollable
    - g_task_new
    - g_object_unref
    - g_task_set_priority
    - g_task_set_source_tag
    - g_slice_new0
    - g_output_stream_set_pending
    - g_task_run_in_thread
    - G_POLLABLE_OUTPUT_STREAM
    - g_task_set_task_data
    - g_output_stream_async_writev_is_via_threads
    - g_task_set_check_cancellable
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void g_output_stream_real_writev_async (GOutputStream *stream,
      const GOutputVector *vectors, gsize n_vectors, int io_priority, GCancellable
      *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:2123,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:2123,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:2125,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/goutputstream.c:2124,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:2124,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/goutputstream.c:2125,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/goutputstream.c:2130,1
    - Dst: G_TASK
      Src: /src/glib/gio/goutputstream.c:2130,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - stream
    - result
    - error
    argTypes:
    - GOutputStream*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 2131
      start: 2118
    functionDepth: 0
    functionLinenumber: 2118
    functionLinenumberEnd: 2131
    functionName: g_output_stream_close_finish
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_task_is_valid
    - G_IS_OUTPUT_STREAM
    - G_TASK
    - g_async_result_is_tagged
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_output_stream_close_finish (GOutputStream *stream, GAsyncResult
      *result, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/goutputstream.c:1115,1
    - Dst: g_object_unref
      Src: /src/glib/gio/goutputstream.c:1127,1
    - Dst: g_output_stream_write_finish
      Src: /src/glib/gio/goutputstream.c:1122,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:1122,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/goutputstream.c:1126,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/goutputstream.c:1131,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/goutputstream.c:1132,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/goutputstream.c:1140,1
    - Dst: g_object_unref
      Src: /src/glib/gio/goutputstream.c:1141,1
    - Dst: g_output_stream_write_async
      Src: /src/glib/gio/goutputstream.c:1144,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/goutputstream.c:1148,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:1144,1
    - Dst: g_task_get_priority
      Src: /src/glib/gio/goutputstream.c:1147,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 3
    argNames:
    - stream
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1150
      start: 1109
    functionDepth: 0
    functionLinenumber: 1109
    functionLinenumberEnd: 1150
    functionName: write_all_callback
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_warn_if_fail
    - g_object_unref
    - g_task_get_priority
    - g_output_stream_write_async
    - g_task_get_cancellable
    - g_output_stream_write_finish
    - g_task_get_task_data
    - g_task_return_error
    - G_OUTPUT_STREAM
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void write_all_callback (GObject *stream, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:1690,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/goutputstream.c:1693,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:1690,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/goutputstream.c:1691,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/goutputstream.c:1691,1
    - Dst: G_TASK
      Src: /src/glib/gio/goutputstream.c:1693,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - stream
    - result
    - error
    argTypes:
    - GOutputStream*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 1694
      start: 1685
    functionDepth: 0
    functionLinenumber: 1685
    functionLinenumberEnd: 1694
    functionName: g_output_stream_write_bytes_finish
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_OUTPUT_STREAM
    - g_task_is_valid
    - g_task_propagate_int
    - G_TASK
    linkageType: ''
    returnType: gssize
    signature: "gssize g_output_stream_write_bytes_finish (GOutputStream *stream,\t\
      \t\t\t GAsyncResult *result,\t\t\t\t GError **error) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/goutputstream.c:1756,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:1756,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/goutputstream.c:1757,1
    - Dst: G_IS_INPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:1757,1
    - Dst: g_task_new
      Src: /src/glib/gio/goutputstream.c:1759,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/goutputstream.c:1760,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/goutputstream.c:1761,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/goutputstream.c:1762,1
    - Dst: g_object_ref
      Src: /src/glib/gio/goutputstream.c:1762,1
    - Dst: g_input_stream_is_closed
      Src: /src/glib/gio/goutputstream.c:1764,1
    - Dst: g_object_unref
      Src: /src/glib/gio/goutputstream.c:1769,1
    - Dst: g_output_stream_set_pending
      Src: /src/glib/gio/goutputstream.c:1773,1
    - Dst: g_object_unref
      Src: /src/glib/gio/goutputstream.c:1776,1
    - Dst: g_task_return_new_error_literal
      Src: /src/glib/gio/goutputstream.c:1766,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/goutputstream.c:1775,1
    - Dst: _
      Src: /src/glib/gio/goutputstream.c:1768,1
    - Dst: G_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/goutputstream.c:1780,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 7
    argNames:
    - stream
    - source
    - flags
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GOutputStream*
    - GInputStream*
    - GOutputStreamSpliceFlags
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 1784
      start: 1743
    functionDepth: 0
    functionLinenumber: 1743
    functionLinenumberEnd: 1784
    functionName: g_output_stream_splice_async
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_object_unref
    - g_task_set_priority
    - g_task_set_source_tag
    - g_return_if_fail
    - g_input_stream_is_closed
    - g_output_stream_set_pending
    - g_task_return_new_error_literal
    - g_task_set_task_data
    - G_OUTPUT_STREAM_GET_CLASS
    - g_object_ref
    - G_IS_OUTPUT_STREAM
    - _
    - G_IS_INPUT_STREAM
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: "void g_output_stream_splice_async (GOutputStream *stream,\t\t\t GInputStream\
      \ *source,\t\t\t GOutputStreamSpliceFlags flags,\t\t\t int io_priority,\t\t\t\
      \ GCancellable *cancellable,\t\t\t GAsyncReadyCallback callback,\t\t\t gpointer\
      \ user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_free
      Src: /src/glib/gio/goutputstream.c:2379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - WriteData*
    constantsTouched: []
    func_position:
      end: 2380
      start: 2376
    functionDepth: 0
    functionLinenumber: 2376
    functionLinenumberEnd: 2380
    functionName: free_write_data
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void free_write_data (WriteData *op) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/goutputstream.c:1162,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/goutputstream.c:1164,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/goutputstream.c:1166,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/goutputstream.c:1163,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 4
    argNames:
    - task
    - source_object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 1167
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1167
    functionName: write_all_async_thread
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_task_get_cancellable
    - g_output_stream_write_all
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void write_all_async_thread (GTask *task, gpointer source_object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/goutputstream.c:1701,1
    - Dst: G_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/goutputstream.c:1713,1
    - Dst: g_output_stream_clear_pending
      Src: /src/glib/gio/goutputstream.c:1707,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/goutputstream.c:1709,1
    - Dst: g_task_return_int
      Src: /src/glib/gio/goutputstream.c:1718,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/goutputstream.c:1720,1
    - Dst: g_object_unref
      Src: /src/glib/gio/goutputstream.c:1721,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - source_object
    - res
    - _data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1722
      start: 1696
    functionDepth: 0
    functionLinenumber: 1696
    functionLinenumberEnd: 1722
    functionName: async_ready_splice_callback_wrapper
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_async_result_legacy_propagate_error
    - g_task_return_int
    - g_output_stream_clear_pending
    - G_OUTPUT_STREAM_GET_CLASS
    - g_task_return_error
    - G_OUTPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void async_ready_splice_callback_wrapper (GObject *source_object,
      GAsyncResult *res, gpointer _data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/goutputstream.c:2394,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/goutputstream.c:2398,1
    - Dst: g_task_return_int
      Src: /src/glib/gio/goutputstream.c:2400,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 4
    argNames:
    - task
    - source_object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 2401
      start: 2382
    functionDepth: 0
    functionLinenumber: 2382
    functionLinenumberEnd: 2401
    functionName: write_async_thread
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_task_return_int
    - G_OUTPUT_STREAM_GET_CLASS
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void write_async_thread (GTask *task, gpointer source_object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: G_OUTPUT_STREAM_GET_CLASS
      Src: /src/glib/gio/goutputstream.c:2319,1
    - Dst: g_clear_error
      Src: /src/glib/gio/goutputstream.c:2346,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/goutputstream.c:2350,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 21
    argCount: 6
    argNames:
    - stream
    - vectors
    - n_vectors
    - bytes_written
    - cancellable
    - error
    argTypes:
    - GOutputStream*
    - GOutputVector*
    - gsize
    - gsize*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 2364
      start: 2306
    functionDepth: 0
    functionLinenumber: 2306
    functionLinenumberEnd: 2364
    functionName: g_output_stream_real_writev
    functionSourceFile: /src/glib/gio/goutputstream.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_propagate_error
    - G_OUTPUT_STREAM_GET_CLASS
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_output_stream_real_writev (GOutputStream *stream,
      const GOutputVector *vectors, gsize n_vectors, gsize *bytes_written, GCancellable
      *cancellable, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_OUTPUT_STREAM
      Src: /src/glib/gio/gwin32outputstream.c:74,1
    - Dst: g_value_get_pointer
      Src: /src/glib/gio/gwin32outputstream.c:79,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gwin32outputstream.c:85,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gwin32outputstream.c:82,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 88
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 88
    functionName: g_win32_output_stream_set_property
    functionSourceFile: /src/glib/gio/gwin32outputstream.c
    functionUses: []
    functionsReached:
    - g_value_get_pointer
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_get_boolean
    - G_WIN32_OUTPUT_STREAM
    linkageType: ''
    returnType: void
    signature: "static void g_win32_output_stream_set_property (GObject *object,\t\
      \t\t\t guint prop_id,\t\t\t\t const GValue *value,\t\t\t\t GParamSpec *pspec) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_OUTPUT_STREAM
      Src: /src/glib/gio/gwin32outputstream.c:126,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gwin32outputstream.c:128,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32outputstream.c:137,1
    - Dst: WriteFile
      Src: /src/glib/gio/gwin32outputstream.c:139,1
    - Dst: CreateEvent
      Src: /src/glib/gio/gwin32outputstream.c:136,1
    - Dst: GetLastError
      Src: /src/glib/gio/gwin32outputstream.c:144,1
    - Dst: _g_win32_overlap_wait_result
      Src: /src/glib/gio/gwin32outputstream.c:147,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gwin32outputstream.c:154,1
    - Dst: GetLastError
      Src: /src/glib/gio/gwin32outputstream.c:157,1
    - Dst: g_win32_error_message
      Src: /src/glib/gio/gwin32outputstream.c:167,1
    - Dst: g_set_error
      Src: /src/glib/gio/gwin32outputstream.c:168,1
    - Dst: CloseHandle
      Src: /src/glib/gio/gwin32outputstream.c:177,1
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/gwin32outputstream.c:169,1
    - Dst: _
      Src: /src/glib/gio/gwin32outputstream.c:170,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32outputstream.c:172,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 37
    argCount: 5
    argNames:
    - stream
    - buffer
    - count
    - cancellable
    - error
    argTypes:
    - GOutputStream*
    - void*
    - gsize
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 179
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 179
    functionName: g_win32_output_stream_write
    functionSourceFile: /src/glib/gio/gwin32outputstream.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_return_val_if_fail
    - WriteFile
    - g_win32_error_message
    - g_free
    - CreateEvent
    - _g_win32_overlap_wait_result
    - GetLastError
    - CloseHandle
    - _
    - g_cancellable_set_error_if_cancelled
    - G_WIN32_OUTPUT_STREAM
    - g_io_error_from_win32_error
    linkageType: ''
    returnType: gssize
    signature: "static gssize g_win32_output_stream_write (GOutputStream *stream,\t\
      \t\t const void *buffer,\t\t\t gsize count,\t\t\t GCancellable *cancellable,\t\
      \t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gwin32outputstream.c:230,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gwin32outputstream.c:261,1
    - Dst: G_OUTPUT_STREAM_CLASS
      Src: /src/glib/gio/gwin32outputstream.c:231,1
    - Dst: g_param_spec_pointer
      Src: /src/glib/gio/gwin32outputstream.c:247,1
    - Dst: g_object_class_install_properties
      Src: /src/glib/gio/gwin32outputstream.c:267,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GWin32OutputStreamClass*
    constantsTouched: []
    func_position:
      end: 268
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 268
    functionName: g_win32_output_stream_class_init
    functionSourceFile: /src/glib/gio/gwin32outputstream.c
    functionUses: []
    functionsReached:
    - g_param_spec_boolean
    - g_object_class_install_properties
    - g_param_spec_pointer
    - G_OUTPUT_STREAM_CLASS
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_output_stream_class_init (GWin32OutputStreamClass
      *klass) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gwin32outputstream.c:323,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gwin32outputstream.c:329,1
    - Dst: G_IS_WIN32_OUTPUT_STREAM
      Src: /src/glib/gio/gwin32outputstream.c:323,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gwin32outputstream.c:329,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - stream
    - close_handle
    argTypes:
    - GWin32OutputStream*
    - gboolean
    constantsTouched: []
    func_position:
      end: 331
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 331
    functionName: g_win32_output_stream_set_close_handle
    functionSourceFile: /src/glib/gio/gwin32outputstream.c
    functionUses: []
    functionsReached:
    - G_IS_WIN32_OUTPUT_STREAM
    - g_object_notify
    - G_OBJECT
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_win32_output_stream_set_close_handle (GWin32OutputStream *stream,\t\
      \t\t\t\tgboolean close_handle) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32outputstream.c:365,1
    - Dst: G_IS_WIN32_OUTPUT_STREAM
      Src: /src/glib/gio/gwin32outputstream.c:365,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 368
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 368
    functionName: g_win32_output_stream_get_handle
    functionSourceFile: /src/glib/gio/gwin32outputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_WIN32_OUTPUT_STREAM
    linkageType: ''
    returnType: void*
    signature: 'void *g_win32_output_stream_get_handle (GWin32OutputStream *stream) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_OUTPUT_STREAM
      Src: /src/glib/gio/gwin32outputstream.c:98,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gwin32outputstream.c:109,1
    - Dst: g_value_set_pointer
      Src: /src/glib/gio/gwin32outputstream.c:103,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gwin32outputstream.c:106,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 111
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 111
    functionName: g_win32_output_stream_get_property
    functionSourceFile: /src/glib/gio/gwin32outputstream.c
    functionUses: []
    functionsReached:
    - g_value_set_boolean
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_pointer
    - G_WIN32_OUTPUT_STREAM
    linkageType: ''
    returnType: void
    signature: "static void g_win32_output_stream_get_property (GObject *object,\t\
      \t\t\t guint prop_id,\t\t\t\t GValue *value,\t\t\t\t GParamSpec *pspec) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_OUTPUT_STREAM
      Src: /src/glib/gio/gwin32outputstream.c:189,1
    - Dst: close
      Src: /src/glib/gio/gwin32outputstream.c:196,1
    - Dst: _
      Src: /src/glib/gio/gwin32outputstream.c:202,1
    - Dst: g_set_error
      Src: /src/glib/gio/gwin32outputstream.c:200,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gwin32outputstream.c:201,1
    - Dst: g_strerror
      Src: /src/glib/gio/gwin32outputstream.c:203,1
    - Dst: CloseHandle
      Src: /src/glib/gio/gwin32outputstream.c:209,1
    - Dst: GetLastError
      Src: /src/glib/gio/gwin32outputstream.c:212,1
    - Dst: g_win32_error_message
      Src: /src/glib/gio/gwin32outputstream.c:213,1
    - Dst: g_set_error
      Src: /src/glib/gio/gwin32outputstream.c:215,1
    - Dst: _
      Src: /src/glib/gio/gwin32outputstream.c:217,1
    - Dst: g_free
      Src: /src/glib/gio/gwin32outputstream.c:219,1
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/gwin32outputstream.c:216,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GOutputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 225
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 225
    functionName: g_win32_output_stream_close
    functionSourceFile: /src/glib/gio/gwin32outputstream.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_io_error_from_errno
    - g_win32_error_message
    - g_strerror
    - GetLastError
    - close
    - CloseHandle
    - _
    - g_free
    - G_WIN32_OUTPUT_STREAM
    - g_io_error_from_win32_error
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_win32_output_stream_close (GOutputStream *stream,\t\
      \t\t GCancellable *cancellable,\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_win32_output_stream_get_instance_private
      Src: /src/glib/gio/gwin32outputstream.c:273,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - win32_stream
    argTypes:
    - GWin32OutputStream*
    constantsTouched: []
    func_position:
      end: 277
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 277
    functionName: g_win32_output_stream_init
    functionSourceFile: /src/glib/gio/gwin32outputstream.c
    functionUses: []
    functionsReached:
    - g_win32_output_stream_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_output_stream_init (GWin32OutputStream *win32_stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_OUTPUT_STREAM
      Src: /src/glib/gio/gwin32outputstream.c:376,1
    - Dst: _get_osfhandle
      Src: /src/glib/gio/gwin32outputstream.c:376,1
    - Dst: g_win32_output_stream_new
      Src: /src/glib/gio/gwin32outputstream.c:376,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 380
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 380
    functionName: g_win32_output_stream_new_from_fd
    functionSourceFile: /src/glib/gio/gwin32outputstream.c
    functionUses: []
    functionsReached:
    - _get_osfhandle
    - g_win32_output_stream_new
    - G_WIN32_OUTPUT_STREAM
    linkageType: ''
    returnType: GOutputStream*
    signature: 'GOutputStream *g_win32_output_stream_new_from_fd (gint fd, gboolean
      close_fd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32outputstream.c:299,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gwin32outputstream.c:306,1
    - Dst: g_object_new
      Src: /src/glib/gio/gwin32outputstream.c:301,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 307
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 307
    functionName: g_win32_output_stream_new
    functionSourceFile: /src/glib/gio/gwin32outputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_OUTPUT_STREAM
    - g_object_new
    linkageType: ''
    returnType: GOutputStream*
    signature: "GOutputStream *g_win32_output_stream_new (void *handle,\t\t\t gboolean\
      \ close_handle) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gwin32outputstream.c:347,1
    - Dst: G_IS_WIN32_OUTPUT_STREAM
      Src: /src/glib/gio/gwin32outputstream.c:347,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GWin32OutputStream*
    constantsTouched: []
    func_position:
      end: 350
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 350
    functionName: g_win32_output_stream_get_close_handle
    functionSourceFile: /src/glib/gio/gwin32outputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_WIN32_OUTPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_win32_output_stream_get_close_handle (GWin32OutputStream
      *stream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DUMMY_FILE
      Src: /src/glib/gio/gdummyfile.c:80,1
    - Dst: g_free
      Src: /src/glib/gio/gdummyfile.c:85,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdummyfile.c:87,1
    - Dst: _g_decoded_uri_free
      Src: /src/glib/gio/gdummyfile.c:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 88
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 88
    functionName: g_dummy_file_finalize
    functionSourceFile: /src/glib/gio/gdummyfile.c
    functionUses: []
    functionsReached:
    - G_DUMMY_FILE
    - G_OBJECT_CLASS
    - g_free
    - _g_decoded_uri_free
    linkageType: ''
    returnType: void
    signature: 'static void g_dummy_file_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - dummy
    argTypes:
    - GDummyFile*
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: g_dummy_file_init
    functionSourceFile: /src/glib/gio/gdummyfile.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_dummy_file_init (GDummyFile *dummy) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: G_DUMMY_FILE
      Src: /src/glib/gio/gdummyfile.c:252,1
    - Dst: uri_same_except_path
      Src: /src/glib/gio/gdummyfile.c:259,1
    - Dst: match_prefix
      Src: /src/glib/gio/gdummyfile.c:275,1
    - Dst: match_prefix
      Src: /src/glib/gio/gdummyfile.c:262,1
    - Dst: G_DUMMY_FILE
      Src: /src/glib/gio/gdummyfile.c:253,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 26
    argCount: 2
    argNames:
    - parent
    - descendant
    argTypes:
    - GFile*
    - GFile*
    constantsTouched: []
    func_position:
      end: 287
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 287
    functionName: g_dummy_file_prefix_matches
    functionSourceFile: /src/glib/gio/gdummyfile.c
    functionUses: []
    functionsReached:
    - G_DUMMY_FILE
    - match_prefix
    - uri_same_except_path
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_dummy_file_prefix_matches (GFile *parent, GFile
      *descendant) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DUMMY_FILE
      Src: /src/glib/gio/gdummyfile.c:335,1
    - Dst: g_string_append_encoded
      Src: /src/glib/gio/gdummyfile.c:345,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdummyfile.c:344,1
    - Dst: _g_dummy_file_new
      Src: /src/glib/gio/gdummyfile.c:346,1
    - Dst: g_string_new
      Src: /src/glib/gio/gdummyfile.c:343,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdummyfile.c:347,1
    - Dst: g_path_is_absolute
      Src: /src/glib/gio/gdummyfile.c:353,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdummyfile.c:354,1
    - Dst: g_build_filename
      Src: /src/glib/gio/gdummyfile.c:356,1
    - Dst: _g_encode_uri
      Src: /src/glib/gio/gdummyfile.c:358,1
    - Dst: _g_dummy_file_new
      Src: /src/glib/gio/gdummyfile.c:361,1
    - Dst: g_free
      Src: /src/glib/gio/gdummyfile.c:359,1
    - Dst: g_free
      Src: /src/glib/gio/gdummyfile.c:362,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 366
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 366
    functionName: g_dummy_file_resolve_relative_path
    functionSourceFile: /src/glib/gio/gdummyfile.c
    functionUses: []
    functionsReached:
    - G_DUMMY_FILE
    - _g_dummy_file_new
    - g_string_append_encoded
    - g_strdup
    - _g_encode_uri
    - g_string_free
    - g_build_filename
    - g_string_new
    - g_free
    - g_string_append
    - g_path_is_absolute
    linkageType: ''
    returnType: GFile*
    signature: "static GFile *g_dummy_file_resolve_relative_path (GFile *file,\t\t\
      \t\t const char *relative_path) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DUMMY_FILE
      Src: /src/glib/gio/gdummyfile.c:380,1
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/gio/gdummyfile.c:383,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - file
    - uri_scheme
    argTypes:
    - GFile*
    - char*
    constantsTouched: []
    func_position:
      end: 385
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 385
    functionName: g_dummy_file_has_uri_scheme
    functionSourceFile: /src/glib/gio/gdummyfile.c
    functionUses: []
    functionsReached:
    - G_DUMMY_FILE
    - g_ascii_strcasecmp
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_dummy_file_has_uri_scheme (GFile *file,\t\t\t const\
      \ char *uri_scheme) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/gio/gdummyfile.c:453,1
    - Dst: strchr
      Src: /src/glib/gio/gdummyfile.c:475,1
    - Dst: g_malloc
      Src: /src/glib/gio/gdummyfile.c:455,1
    - Dst: g_free
      Src: /src/glib/gio/gdummyfile.c:466,1
    - Dst: unescape_character
      Src: /src/glib/gio/gdummyfile.c:470,1
    - Dst: g_free
      Src: /src/glib/gio/gdummyfile.c:477,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdummyfile.c:486,1
    - Dst: strlen
      Src: /src/glib/gio/gdummyfile.c:486,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 488
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 488
    functionName: unescape_string
    functionSourceFile: /src/glib/gio/gdummyfile.c
    functionUses: []
    functionsReached:
    - g_warn_if_fail
    - strlen
    - g_malloc
    - unescape_character
    - strchr
    - g_free
    linkageType: ''
    returnType: char*
    signature: "static char *unescape_string (const gchar *escaped_string,\t\t const\
      \ gchar *escaped_string_end,\t\t const gchar *illegal_characters) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gdummyfile.c:510,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 514
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 514
    functionName: _g_decoded_uri_new
    functionSourceFile: /src/glib/gio/gdummyfile.c
    functionUses: []
    functionsReached:
    - g_new0
    linkageType: ''
    returnType: GDecodedUri*
    signature: 'GDecodedUri *_g_decoded_uri_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdummyfile.c:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GDummyFileClass*
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: g_dummy_file_class_init
    functionSourceFile: /src/glib/gio/gdummyfile.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_dummy_file_class_init (GDummyFileClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdummyfile.c:108,1
    - Dst: _g_decode_uri
      Src: /src/glib/gio/gdummyfile.c:112,1
    - Dst: g_object_new
      Src: /src/glib/gio/gdummyfile.c:110,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdummyfile.c:111,1
    - Dst: G_FILE
      Src: /src/glib/gio/gdummyfile.c:114,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 115
    functionName: _g_dummy_file_new
    functionSourceFile: /src/glib/gio/gdummyfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_return_val_if_fail
    - g_object_new
    - _g_decode_uri
    - G_FILE
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *_g_dummy_file_new (const char *uri) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: G_DUMMY_FILE
      Src: /src/glib/gio/gdummyfile.c:293,1
    - Dst: G_DUMMY_FILE
      Src: /src/glib/gio/gdummyfile.c:294,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdummyfile.c:310,1
    - Dst: match_prefix
      Src: /src/glib/gio/gdummyfile.c:303,1
    - Dst: uri_same_except_path
      Src: /src/glib/gio/gdummyfile.c:300,1
    - Dst: match_prefix
      Src: /src/glib/gio/gdummyfile.c:316,1
    - Dst: unescape_string
      Src: /src/glib/gio/gdummyfile.c:323,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 328
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 328
    functionName: g_dummy_file_get_relative_path
    functionSourceFile: /src/glib/gio/gdummyfile.c
    functionUses: []
    functionsReached:
    - G_DUMMY_FILE
    - unescape_string
    - g_strdup
    - match_prefix
    - uri_same_except_path
    linkageType: ''
    returnType: char*
    signature: "static char *g_dummy_file_get_relative_path (GFile *parent,\t\t\t\t\
      GFile *descendant) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_get_child
      Src: /src/glib/gio/gdummyfile.c:373,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 374
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 374
    functionName: g_dummy_file_get_child_for_display_name
    functionSourceFile: /src/glib/gio/gdummyfile.c
    functionUses: []
    functionsReached:
    - g_file_get_child
    linkageType: ''
    returnType: GFile*
    signature: "static GFile *g_dummy_file_get_child_for_display_name (GFile *file,\t\
      \t\t\t\t const char *display_name,\t\t\t\t\t GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DUMMY_FILE
      Src: /src/glib/gio/gdummyfile.c:390,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdummyfile.c:393,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 396
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 396
    functionName: g_dummy_file_get_uri_scheme
    functionSourceFile: /src/glib/gio/gdummyfile.c
    functionUses: []
    functionsReached:
    - G_DUMMY_FILE
    - g_strdup
    linkageType: ''
    returnType: char*
    signature: 'static char *g_dummy_file_get_uri_scheme (GFile *file) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gdummyfile.c:496,1
    - Dst: g_free
      Src: /src/glib/gio/gdummyfile.c:500,1
    - Dst: g_free
      Src: /src/glib/gio/gdummyfile.c:497,1
    - Dst: g_free
      Src: /src/glib/gio/gdummyfile.c:498,1
    - Dst: g_free
      Src: /src/glib/gio/gdummyfile.c:499,1
    - Dst: g_free
      Src: /src/glib/gio/gdummyfile.c:501,1
    - Dst: g_free
      Src: /src/glib/gio/gdummyfile.c:502,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - decoded
    argTypes:
    - GDecodedUri*
    constantsTouched: []
    func_position:
      end: 503
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 503
    functionName: _g_decoded_uri_free
    functionSourceFile: /src/glib/gio/gdummyfile.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void _g_decoded_uri_free (GDecodedUri *decoded) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_strndup
      Src: /src/glib/gio/gdummyfile.c:568,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdummyfile.c:573,1
    - Dst: strchr
      Src: /src/glib/gio/gdummyfile.c:561,1
    - Dst: memchr
      Src: /src/glib/gio/gdummyfile.c:635,1
    - Dst: atoi
      Src: /src/glib/gio/gdummyfile.c:640,1
    - Dst: strlen
      Src: /src/glib/gio/gdummyfile.c:589,1
    - Dst: _g_decoded_uri_free
      Src: /src/glib/gio/gdummyfile.c:627,1
    - Dst: unescape_string
      Src: /src/glib/gio/gdummyfile.c:624,1
    - Dst: unescape_string
      Src: /src/glib/gio/gdummyfile.c:653,1
    - Dst: _g_decoded_uri_free
      Src: /src/glib/gio/gdummyfile.c:657,1
    - Dst: g_ascii_isalpha
      Src: /src/glib/gio/gdummyfile.c:534,1
    - Dst: g_ascii_tolower
      Src: /src/glib/gio/gdummyfile.c:556,1
    - Dst: g_ascii_isalnum
      Src: /src/glib/gio/gdummyfile.c:544,1
    - Dst: g_malloc
      Src: /src/glib/gio/gdummyfile.c:553,1
    - Dst: strchr
      Src: /src/glib/gio/gdummyfile.c:565,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdummyfile.c:569,1
    - Dst: memchr
      Src: /src/glib/gio/gdummyfile.c:620,1
    - Dst: memchr
      Src: /src/glib/gio/gdummyfile.c:612,1
    - Dst: _g_decoded_uri_new
      Src: /src/glib/gio/gdummyfile.c:551,1
    - Dst: strchr
      Src: /src/glib/gio/gdummyfile.c:581,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdummyfile.c:585,1
    - Dst: g_strndup
      Src: /src/glib/gio/gdummyfile.c:648,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 101
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 662
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 662
    functionName: _g_decode_uri
    functionSourceFile: /src/glib/gio/gdummyfile.c
    functionUses: []
    functionsReached:
    - unescape_string
    - g_ascii_isalpha
    - g_strdup
    - strlen
    - g_ascii_isalnum
    - _g_decoded_uri_free
    - g_strndup
    - _g_decoded_uri_new
    - g_malloc
    - strchr
    - memchr
    - atoi
    - g_ascii_tolower
    linkageType: ''
    returnType: GDecodedUri*
    signature: 'GDecodedUri *_g_decode_uri (const char *uri) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: g_dummy_file_is_native
    functionSourceFile: /src/glib/gio/gdummyfile.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_dummy_file_is_native (GFile *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DUMMY_FILE
      Src: /src/glib/gio/gdummyfile.c:203,1
    - Dst: G_DUMMY_FILE
      Src: /src/glib/gio/gdummyfile.c:204,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gdummyfile.c:206,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - file1
    - file2
    argTypes:
    - GFile*
    - GFile*
    constantsTouched: []
    func_position:
      end: 207
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 207
    functionName: g_dummy_file_equal
    functionSourceFile: /src/glib/gio/gdummyfile.c
    functionUses: []
    functionsReached:
    - G_DUMMY_FILE
    - g_str_equal
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_dummy_file_equal (GFile *file1,\t\t GFile *file2) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DUMMY_FILE
      Src: /src/glib/gio/gdummyfile.c:126,1
    - Dst: g_path_get_basename
      Src: /src/glib/gio/gdummyfile.c:129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: g_dummy_file_get_basename
    functionSourceFile: /src/glib/gio/gdummyfile.c
    functionUses: []
    functionsReached:
    - G_DUMMY_FILE
    - g_path_get_basename
    linkageType: ''
    returnType: char*
    signature: 'static char *g_dummy_file_get_basename (GFile *file) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/gdummyfile.c:218,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 219
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 219
    functionName: safe_strcmp
    functionSourceFile: /src/glib/gio/gdummyfile.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'static int safe_strcmp (const char *a, const char *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: g_dummy_file_get_path
    functionSourceFile: /src/glib/gio/gdummyfile.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static char *g_dummy_file_get_path (GFile *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DUMMY_FILE
      Src: /src/glib/gio/gdummyfile.c:186,1
    - Dst: _g_dummy_file_new
      Src: /src/glib/gio/gdummyfile.c:188,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 189
    functionName: g_dummy_file_dup
    functionSourceFile: /src/glib/gio/gdummyfile.c
    functionUses: []
    functionsReached:
    - G_DUMMY_FILE
    - _g_dummy_file_new
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *g_dummy_file_dup (GFile *file) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: safe_strcmp
      Src: /src/glib/gio/gdummyfile.c:225,1
    - Dst: safe_strcmp
      Src: /src/glib/gio/gdummyfile.c:229,1
    - Dst: safe_strcmp
      Src: /src/glib/gio/gdummyfile.c:227,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - GDecodedUri*
    - GDecodedUri*
    constantsTouched: []
    func_position:
      end: 235
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 235
    functionName: uri_same_except_path
    functionSourceFile: /src/glib/gio/gdummyfile.c
    functionUses: []
    functionsReached:
    - safe_strcmp
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean uri_same_except_path (GDecodedUri *a,\t\t GDecodedUri\
      \ *b) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gio/gdummyfile.c:142,1
    - Dst: G_DUMMY_FILE
      Src: /src/glib/gio/gdummyfile.c:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: g_dummy_file_get_uri
    functionSourceFile: /src/glib/gio/gdummyfile.c
    functionUses: []
    functionsReached:
    - G_DUMMY_FILE
    - g_strdup
    linkageType: ''
    returnType: char*
    signature: 'static char *g_dummy_file_get_uri (GFile *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DUMMY_FILE
      Src: /src/glib/gio/gdummyfile.c:194,1
    - Dst: g_str_hash
      Src: /src/glib/gio/gdummyfile.c:196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 197
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 197
    functionName: g_dummy_file_hash
    functionSourceFile: /src/glib/gio/gdummyfile.c
    functionUses: []
    functionsReached:
    - G_DUMMY_FILE
    - g_str_hash
    linkageType: ''
    returnType: guint
    signature: 'static guint g_dummy_file_hash (GFile *file) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/gio/gdummyfile.c:243,1
    - Dst: strncmp
      Src: /src/glib/gio/gdummyfile.c:244,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 247
    functionName: match_prefix
    functionSourceFile: /src/glib/gio/gdummyfile.c
    functionUses: []
    functionsReached:
    - strncmp
    - strlen
    linkageType: ''
    returnType: char*
    signature: 'static const char *match_prefix (const char *path, const char *prefix) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_xdigit_value
      Src: /src/glib/gio/gdummyfile.c:429,1
    - Dst: g_ascii_xdigit_value
      Src: /src/glib/gio/gdummyfile.c:433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - scanner
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 438
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 438
    functionName: unescape_character
    functionSourceFile: /src/glib/gio/gdummyfile.c
    functionUses: []
    functionsReached:
    - g_ascii_xdigit_value
    linkageType: ''
    returnType: int
    signature: 'static int unescape_character (const char *scanner) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gio/gdummyfile.c:148,1
    - Dst: G_DUMMY_FILE
      Src: /src/glib/gio/gdummyfile.c:148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 149
    functionName: g_dummy_file_get_parse_name
    functionSourceFile: /src/glib/gio/gdummyfile.c
    functionUses: []
    functionsReached:
    - G_DUMMY_FILE
    - g_strdup
    linkageType: ''
    returnType: char*
    signature: 'static char *g_dummy_file_get_parse_name (GFile *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GFileIface*
    constantsTouched: []
    func_position:
      end: 419
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 419
    functionName: g_dummy_file_file_iface_init
    functionSourceFile: /src/glib/gio/gdummyfile.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_dummy_file_file_iface_init (GFileIface *iface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_isalnum
      Src: /src/glib/gio/gdummyfile.c:667,1
    - Dst: strchr
      Src: /src/glib/gio/gdummyfile.c:675,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - c
    - reserved_chars_allowed
    argTypes:
    - char
    - char*
    constantsTouched: []
    func_position:
      end: 679
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 679
    functionName: is_valid
    functionSourceFile: /src/glib/gio/gdummyfile.c
    functionUses: []
    functionsReached:
    - strchr
    - g_ascii_isalnum
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_valid (char c, const char *reserved_chars_allowed) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DUMMY_FILE
      Src: /src/glib/gio/gdummyfile.c:154,1
    - Dst: strcmp
      Src: /src/glib/gio/gdummyfile.c:166,1
    - Dst: g_path_get_dirname
      Src: /src/glib/gio/gdummyfile.c:164,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdummyfile.c:161,1
    - Dst: g_free
      Src: /src/glib/gio/gdummyfile.c:168,1
    - Dst: _g_encode_uri
      Src: /src/glib/gio/gdummyfile.c:174,1
    - Dst: g_free
      Src: /src/glib/gio/gdummyfile.c:175,1
    - Dst: _g_dummy_file_new
      Src: /src/glib/gio/gdummyfile.c:177,1
    - Dst: g_free
      Src: /src/glib/gio/gdummyfile.c:178,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 181
    functionName: g_dummy_file_get_parent
    functionSourceFile: /src/glib/gio/gdummyfile.c
    functionUses: []
    functionsReached:
    - g_path_get_dirname
    - G_DUMMY_FILE
    - _g_dummy_file_new
    - strcmp
    - _g_encode_uri
    - g_strcmp0
    - g_free
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *g_dummy_file_get_parent (GFile *file) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_valid
      Src: /src/glib/gio/gdummyfile.c:691,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdummyfile.c:698,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdummyfile.c:700,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdummyfile.c:693,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdummyfile.c:699,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - string
    - encoded
    - reserved_chars_allowed
    argTypes:
    - GString*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 704
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 704
    functionName: g_string_append_encoded
    functionSourceFile: /src/glib/gio/gdummyfile.c
    functionUses: []
    functionsReached:
    - g_string_append_c
    - is_valid
    linkageType: ''
    returnType: void
    signature: "static void g_string_append_encoded (GString *string, const char *encoded,\t\
      \t\t const char *reserved_chars_allowed) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/gio/gdummyfile.c:711,1
    - Dst: g_string_append_encoded
      Src: /src/glib/gio/gdummyfile.c:721,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdummyfile.c:714,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdummyfile.c:713,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdummyfile.c:722,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdummyfile.c:725,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdummyfile.c:729,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdummyfile.c:730,1
    - Dst: g_string_append_encoded
      Src: /src/glib/gio/gdummyfile.c:734,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdummyfile.c:738,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdummyfile.c:744,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdummyfile.c:748,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdummyfile.c:739,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdummyfile.c:745,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 749
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 749
    functionName: _g_encode_uri
    functionSourceFile: /src/glib/gio/gdummyfile.c
    functionUses: []
    functionsReached:
    - g_string_append_encoded
    - g_string_append_c
    - g_string_free
    - g_string_new
    - g_string_append_printf
    - g_string_append
    linkageType: ''
    returnType: char*
    signature: 'static char *_g_encode_uri (GDecodedUri *decoded) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gfilenamecompleter.c:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: g_filename_completer_new
    functionSourceFile: /src/glib/gio/gfilenamecompleter.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: GFilenameCompleter*
    signature: 'GFilenameCompleter *g_filename_completer_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gfilenamecompleter.c:93,1
    - Dst: I_
      Src: /src/glib/gio/gfilenamecompleter.c:101,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gfilenamecompleter.c:101,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gfilenamecompleter.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GFilenameCompleterClass*
    constantsTouched: []
    func_position:
      end: 108
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 108
    functionName: g_filename_completer_class_init
    functionSourceFile: /src/glib/gio/gfilenamecompleter.c
    functionUses: []
    functionsReached:
    - I_
    - G_STRUCT_OFFSET
    - g_signal_new
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_filename_completer_class_init (GFilenameCompleterClass
      *klass) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/gfilenamecompleter.c:148,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gfilenamecompleter.c:153,1
    - Dst: g_free
      Src: /src/glib/gio/gfilenamecompleter.c:155,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfilenamecompleter.c:151,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfilenamecompleter.c:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - LoadBasenamesData*
    constantsTouched: []
    func_position:
      end: 156
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 156
    functionName: load_basenames_data_free
    functionSourceFile: /src/glib/gio/gfilenamecompleter.c
    functionUses: []
    functionsReached:
    - g_free
    - g_object_unref
    - g_list_free_full
    linkageType: ''
    returnType: void
    signature: 'static void load_basenames_data_free (LoadBasenamesData *data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: load_basenames_data_free
      Src: /src/glib/gio/gfilenamecompleter.c:265,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gfilenamecompleter.c:277,1
    - Dst: G_FILE
      Src: /src/glib/gio/gfilenamecompleter.c:269,1
    - Dst: g_file_enumerate_children_finish
      Src: /src/glib/gio/gfilenamecompleter.c:269,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfilenamecompleter.c:276,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gfilenamecompleter.c:280,1
    - Dst: load_basenames_data_free
      Src: /src/glib/gio/gfilenamecompleter.c:284,1
    - Dst: g_file_enumerator_next_files_async
      Src: /src/glib/gio/gfilenamecompleter.c:288,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 293
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 293
    functionName: got_enum
    functionSourceFile: /src/glib/gio/gfilenamecompleter.c
    functionUses: []
    functionsReached:
    - load_basenames_data_free
    - g_object_unref
    - g_list_free_full
    - g_file_enumerate_children_finish
    - g_object_ref
    - G_FILE
    - g_file_enumerator_next_files_async
    linkageType: ''
    returnType: void
    signature: "static void got_enum (GObject *source_object,\t GAsyncResult *res,\t\
      \ gpointer user_data) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_path_is_absolute
      Src: /src/glib/gio/gfilenamecompleter.c:351,1
    - Dst: g_file_parse_name
      Src: /src/glib/gio/gfilenamecompleter.c:359,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfilenamecompleter.c:363,1
    - Dst: g_file_get_parent
      Src: /src/glib/gio/gfilenamecompleter.c:360,1
    - Dst: strlen
      Src: /src/glib/gio/gfilenamecompleter.c:353,1
    - Dst: g_file_equal
      Src: /src/glib/gio/gfilenamecompleter.c:369,1
    - Dst: schedule_load_basenames
      Src: /src/glib/gio/gfilenamecompleter.c:371,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfilenamecompleter.c:372,1
    - Dst: g_file_get_basename
      Src: /src/glib/gio/gfilenamecompleter.c:376,1
    - Dst: g_uri_escape_string
      Src: /src/glib/gio/gfilenamecompleter.c:380,1
    - Dst: g_free
      Src: /src/glib/gio/gfilenamecompleter.c:387,1
    - Dst: g_free
      Src: /src/glib/gio/gfilenamecompleter.c:381,1
    - Dst: g_filename_to_utf8
      Src: /src/glib/gio/gfilenamecompleter.c:386,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 396
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 396
    functionName: init_completion
    functionSourceFile: /src/glib/gio/gfilenamecompleter.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - strlen
    - g_filename_to_utf8
    - g_file_equal
    - g_file_get_basename
    - g_file_parse_name
    - g_file_get_parent
    - schedule_load_basenames
    - g_uri_escape_string
    - g_free
    - g_path_is_absolute
    linkageType: ''
    returnType: GList*
    signature: "static GList *init_completion (GFilenameCompleter *completer,\t\t\
      \ const char *initial_text,\t\t char **basename_out) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfilenamecompleter.c:419,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gfilenamecompleter.c:430,1
    - Dst: G_IS_FILENAME_COMPLETER
      Src: /src/glib/gio/gfilenamecompleter.c:419,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfilenamecompleter.c:420,1
    - Dst: init_completion
      Src: /src/glib/gio/gfilenamecompleter.c:422,1
    - Dst: g_strdup
      Src: /src/glib/gio/gfilenamecompleter.c:433,1
    - Dst: strlen
      Src: /src/glib/gio/gfilenamecompleter.c:433,1
    - Dst: longest_common_prefix
      Src: /src/glib/gio/gfilenamecompleter.c:436,1
    - Dst: strlen
      Src: /src/glib/gio/gfilenamecompleter.c:437,1
    - Dst: g_free
      Src: /src/glib/gio/gfilenamecompleter.c:438,1
    - Dst: g_free
      Src: /src/glib/gio/gfilenamecompleter.c:447,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 450
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 450
    functionName: g_filename_completer_get_completion_suffix
    functionSourceFile: /src/glib/gio/gfilenamecompleter.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_strdup
    - strlen
    - longest_common_prefix
    - g_str_has_prefix
    - init_completion
    - g_free
    - G_IS_FILENAME_COMPLETER
    linkageType: ''
    returnType: char*
    signature: "char *g_filename_completer_get_completion_suffix (GFilenameCompleter\
      \ *completer,\t\t\t\t\t const char *initial_text) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_FILENAME_COMPLETER
      Src: /src/glib/gio/gfilenamecompleter.c:78,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gfilenamecompleter.c:85,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfilenamecompleter.c:83,1
    - Dst: cancel_load_basenames
      Src: /src/glib/gio/gfilenamecompleter.c:80,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gfilenamecompleter.c:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 88
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 88
    functionName: g_filename_completer_finalize
    functionSourceFile: /src/glib/gio/gfilenamecompleter.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_list_free_full
    - G_FILENAME_COMPLETER
    - G_OBJECT_CLASS
    - cancel_load_basenames
    linkageType: ''
    returnType: void
    signature: 'static void g_filename_completer_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - completer
    argTypes:
    - GFilenameCompleter*
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: g_filename_completer_init
    functionSourceFile: /src/glib/gio/gfilenamecompleter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_filename_completer_init (GFilenameCompleter *completer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_get_char
      Src: /src/glib/gio/gfilenamecompleter.c:135,1
    - Dst: g_strndup
      Src: /src/glib/gio/gfilenamecompleter.c:141,1
    - Dst: g_utf8_get_char
      Src: /src/glib/gio/gfilenamecompleter.c:135,1
    - Dst: g_utf8_next_char
      Src: /src/glib/gio/gfilenamecompleter.c:137,1
    - Dst: g_utf8_next_char
      Src: /src/glib/gio/gfilenamecompleter.c:138,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 142
    functionName: longest_common_prefix
    functionSourceFile: /src/glib/gio/gfilenamecompleter.c
    functionUses: []
    functionsReached:
    - g_strndup
    - g_utf8_next_char
    - g_utf8_get_char
    linkageType: ''
    returnType: char*
    signature: 'static char *longest_common_prefix (char *a, char *b) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_get_file_type
      Src: /src/glib/gio/gfilenamecompleter.c:191,1
    - Dst: g_file_info_get_name
      Src: /src/glib/gio/gfilenamecompleter.c:192,1
    - Dst: g_filename_to_utf8
      Src: /src/glib/gio/gfilenamecompleter.c:206,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gfilenamecompleter.c:249,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfilenamecompleter.c:187,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfilenamecompleter.c:239,1
    - Dst: g_list_free
      Src: /src/glib/gio/gfilenamecompleter.c:223,1
    - Dst: g_free
      Src: /src/glib/gio/gfilenamecompleter.c:214,1
    - Dst: g_file_enumerator_close_async
      Src: /src/glib/gio/gfilenamecompleter.c:247,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gfilenamecompleter.c:240,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gfilenamecompleter.c:213,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gfilenamecompleter.c:217,1
    - Dst: g_file_enumerator_next_files_async
      Src: /src/glib/gio/gfilenamecompleter.c:228,1
    - Dst: load_basenames_data_free
      Src: /src/glib/gio/gfilenamecompleter.c:250,1
    - Dst: load_basenames_data_free
      Src: /src/glib/gio/gfilenamecompleter.c:174,1
    - Dst: g_file_info_get_file_type
      Src: /src/glib/gio/gfilenamecompleter.c:185,1
    - Dst: g_file_enumerator_next_files_finish
      Src: /src/glib/gio/gfilenamecompleter.c:178,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfilenamecompleter.c:195,1
    - Dst: g_uri_escape_string
      Src: /src/glib/gio/gfilenamecompleter.c:201,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gfilenamecompleter.c:220,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gfilenamecompleter.c:242,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 52
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 252
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 252
    functionName: got_more_files
    functionSourceFile: /src/glib/gio/gfilenamecompleter.c
    functionUses: []
    functionsReached:
    - load_basenames_data_free
    - g_strconcat
    - g_object_unref
    - g_file_info_get_file_type
    - g_list_free_full
    - g_filename_to_utf8
    - g_file_enumerator_next_files_finish
    - g_signal_emit
    - g_list_free
    - g_file_enumerator_next_files_async
    - g_list_prepend
    - g_file_info_get_name
    - g_object_ref
    - g_uri_escape_string
    - g_free
    - g_file_enumerator_close_async
    linkageType: ''
    returnType: void
    signature: "static void got_more_files (GObject *source_object,\t\tGAsyncResult\
      \ *res,\t\tgpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cancel_load_basenames
      Src: /src/glib/gio/gfilenamecompleter.c:302,1
    - Dst: g_file_enumerate_children_async
      Src: /src/glib/gio/gfilenamecompleter.c:313,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/gfilenamecompleter.c:306,1
    - Dst: g_new0
      Src: /src/glib/gio/gfilenamecompleter.c:304,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gfilenamecompleter.c:307,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - completer
    - dir
    - should_escape
    argTypes:
    - GFilenameCompleter*
    - GFile*
    - gboolean
    constantsTouched: []
    func_position:
      end: 318
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 318
    functionName: schedule_load_basenames
    functionSourceFile: /src/glib/gio/gfilenamecompleter.c
    functionUses: []
    functionsReached:
    - g_file_enumerate_children_async
    - cancel_load_basenames
    - g_object_ref
    - g_new0
    - g_cancellable_new
    linkageType: ''
    returnType: void
    signature: "static void schedule_load_basenames (GFilenameCompleter *completer,\t\
      \t\t GFile *dir,\t\t\t gboolean should_escape) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/gfilenamecompleter.c:330,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - completer
    argTypes:
    - GFilenameCompleter*
    constantsTouched: []
    func_position:
      end: 334
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 334
    functionName: cancel_load_basenames
    functionSourceFile: /src/glib/gio/gfilenamecompleter.c
    functionUses: []
    functionsReached:
    - g_cancellable_cancel
    linkageType: ''
    returnType: void
    signature: 'static void cancel_load_basenames (GFilenameCompleter *completer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfilenamecompleter.c:471,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gfilenamecompleter.c:476,1
    - Dst: init_completion
      Src: /src/glib/gio/gfilenamecompleter.c:474,1
    - Dst: G_IS_FILENAME_COMPLETER
      Src: /src/glib/gio/gfilenamecompleter.c:471,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gfilenamecompleter.c:472,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gfilenamecompleter.c:481,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gfilenamecompleter.c:482,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gfilenamecompleter.c:483,1
    - Dst: strlen
      Src: /src/glib/gio/gfilenamecompleter.c:483,1
    - Dst: g_free
      Src: /src/glib/gio/gfilenamecompleter.c:486,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gfilenamecompleter.c:488,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gfilenamecompleter.c:490,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 491
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 491
    functionName: g_filename_completer_get_completions
    functionSourceFile: /src/glib/gio/gfilenamecompleter.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_ptr_array_add
    - g_strconcat
    - strlen
    - g_str_has_prefix
    - init_completion
    - g_ptr_array_free
    - g_ptr_array_new
    - g_free
    - G_IS_FILENAME_COMPLETER
    linkageType: ''
    returnType: char**
    signature: "char **g_filename_completer_get_completions (GFilenameCompleter *completer,\t\
      \t\t\t const char *initial_text) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gfilenamecompleter.c:505,1
    - Dst: G_IS_FILENAME_COMPLETER
      Src: /src/glib/gio/gfilenamecompleter.c:505,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - completer
    - dirs_only
    argTypes:
    - GFilenameCompleter*
    - gboolean
    constantsTouched: []
    func_position:
      end: 508
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 508
    functionName: g_filename_completer_set_dirs_only
    functionSourceFile: /src/glib/gio/gfilenamecompleter.c
    functionUses: []
    functionsReached:
    - G_IS_FILENAME_COMPLETER
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_filename_completer_set_dirs_only (GFilenameCompleter *completer,\t\
      \t\t\t gboolean dirs_only) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/gdbusprivate.c:446,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 448
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 448
    functionName: _g_dbus_worker_ref
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_atomic_int_inc
    linkageType: ''
    returnType: GDBusWorker*
    signature: 'static GDBusWorker *_g_dbus_worker_ref (GDBusWorker *worker) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_output_stream_flush_async
      Src: /src/glib/gio/gdbusprivate.c:1249,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/gdbusprivate.c:1249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - FlushAsyncData*
    constantsTouched: []
    func_position:
      end: 1254
      start: 1246
    functionDepth: 0
    functionLinenumber: 1246
    functionLinenumberEnd: 1254
    functionName: start_flush
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_io_stream_get_output_stream
    - g_output_stream_flush_async
    linkageType: ''
    returnType: void
    signature: 'static void start_flush (FlushAsyncData *data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _get_osfhandle
      Src: /src/glib/gio/gdbusprivate.c:2208,1
    - Dst: _get_osfhandle
      Src: /src/glib/gio/gdbusprivate.c:2209,1
    - Dst: fileno
      Src: /src/glib/gio/gdbusprivate.c:2209,1
    - Dst: AllocConsole
      Src: /src/glib/gio/gdbusprivate.c:2209,1
    - Dst: fileno
      Src: /src/glib/gio/gdbusprivate.c:2208,1
    - Dst: _get_osfhandle
      Src: /src/glib/gio/gdbusprivate.c:2211,1
    - Dst: fileno
      Src: /src/glib/gio/gdbusprivate.c:2211,1
    - Dst: freopen
      Src: /src/glib/gio/gdbusprivate.c:2212,1
    - Dst: _get_osfhandle
      Src: /src/glib/gio/gdbusprivate.c:2214,1
    - Dst: fileno
      Src: /src/glib/gio/gdbusprivate.c:2214,1
    - Dst: atexit
      Src: /src/glib/gio/gdbusprivate.c:2219,1
    - Dst: freopen
      Src: /src/glib/gio/gdbusprivate.c:2215,1
    - Dst: SetConsoleTitleW
      Src: /src/glib/gio/gdbusprivate.c:2217,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2221
      start: 2205
    functionDepth: 0
    functionLinenumber: 2205
    functionLinenumberEnd: 2221
    functionName: open_console_window
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - fileno
    - atexit
    - freopen
    - SetConsoleTitleW
    - _get_osfhandle
    - AllocConsole
    linkageType: ''
    returnType: void
    signature: 'static void open_console_window (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_dbus_initialize
      Src: /src/glib/gio/gdbusprivate.c:1869,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1871
      start: 1866
    functionDepth: 0
    functionLinenumber: 1866
    functionLinenumberEnd: 1871
    functionName: _g_dbus_debug_transport
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - _g_dbus_initialize
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _g_dbus_debug_transport (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_dbus_initialize
      Src: /src/glib/gio/gdbusprivate.c:1911,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1913
      start: 1908
    functionDepth: 0
    functionLinenumber: 1908
    functionLinenumberEnd: 1913
    functionName: _g_dbus_debug_return
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - _g_dbus_initialize
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _g_dbus_debug_return (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_type_class_ref
      Src: /src/glib/gio/gdbusprivate.c:2513,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusprivate.c:2516,1
    - Dst: g_enum_get_value
      Src: /src/glib/gio/gdbusprivate.c:2514,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbusprivate.c:2518,1
    - Dst: g_type_class_unref
      Src: /src/glib/gio/gdbusprivate.c:2519,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2521
      start: 2506
    functionDepth: 0
    functionLinenumber: 2506
    functionLinenumberEnd: 2521
    functionName: _g_dbus_enum_to_string
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_strdup
    - g_type_class_ref
    - g_enum_get_value
    - g_type_class_unref
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *_g_dbus_enum_to_string (GType enum_type, gint value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_dbus_initialize
      Src: /src/glib/gio/gdbusprivate.c:1876,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1878
      start: 1873
    functionDepth: 0
    functionLinenumber: 1873
    functionLinenumberEnd: 1878
    functionName: _g_dbus_debug_message
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - _g_dbus_initialize
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _g_dbus_debug_message (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_dbus_initialize
      Src: /src/glib/gio/gdbusprivate.c:1918,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1920
      start: 1915
    functionDepth: 0
    functionLinenumber: 1915
    functionLinenumberEnd: 1920
    functionName: _g_dbus_debug_emission
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - _g_dbus_initialize
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _g_dbus_debug_emission (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/gdbusprivate.c:2227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - daemon
    - user_data
    argTypes:
    - GDBusDaemon*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2228
      start: 2223
    functionDepth: 0
    functionLinenumber: 2223
    functionLinenumberEnd: 2228
    functionName: idle_timeout_cb
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    linkageType: ''
    returnType: void
    signature: 'static void idle_timeout_cb (GDBusDaemon *daemon, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusprivate.c:435,1
    - Dst: _g_dbus_worker_unref
      Src: /src/glib/gio/gdbusprivate.c:437,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gdbusprivate.c:438,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - close_data
    argTypes:
    - CloseData*
    constantsTouched: []
    func_position:
      end: 439
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 439
    functionName: close_data_free
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - _g_dbus_worker_unref
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void close_data_free (CloseData *close_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_type_name
      Src: /src/glib/gio/gdbusprivate.c:1215,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/gdbusprivate.c:1215,1
    - Dst: flush_data_list_complete
      Src: /src/glib/gio/gdbusprivate.c:1229,1
    - Dst: g_list_free
      Src: /src/glib/gio/gdbusprivate.c:1230,1
    - Dst: continue_writing
      Src: /src/glib/gio/gdbusprivate.c:1235,1
    - Dst: _g_dbus_debug_print_lock
      Src: /src/glib/gio/gdbusprivate.c:1211,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusprivate.c:1209,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusprivate.c:1212,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusprivate.c:1226,1
    - Dst: _g_dbus_worker_unref
      Src: /src/glib/gio/gdbusprivate.c:1237,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusprivate.c:1232,1
    - Dst: g_output_stream_flush_finish
      Src: /src/glib/gio/gdbusprivate.c:1203,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gdbusprivate.c:1203,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gio/gdbusprivate.c:1215,1
    - Dst: _g_dbus_debug_print_unlock
      Src: /src/glib/gio/gdbusprivate.c:1216,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusprivate.c:1228,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusprivate.c:1222,1
    - Dst: _g_dbus_debug_transport
      Src: /src/glib/gio/gdbusprivate.c:1209,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusprivate.c:1224,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusprivate.c:1238,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1239
      start: 1194
    functionDepth: 0
    functionLinenumber: 1194
    functionLinenumberEnd: 1239
    functionName: ostream_flush_cb
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - _g_dbus_debug_print_lock
    - G_UNLIKELY
    - g_mutex_unlock
    - _g_dbus_worker_unref
    - g_list_free
    - flush_data_list_complete
    - g_error_free
    - g_print
    - g_io_stream_get_output_stream
    - G_OUTPUT_STREAM
    - _g_dbus_debug_print_unlock
    - g_mutex_lock
    - g_output_stream_flush_finish
    - continue_writing
    - g_assert
    - G_TYPE_FROM_INSTANCE
    - _g_dbus_debug_transport
    - g_free
    - g_type_name
    linkageType: ''
    returnType: void
    signature: 'static void ostream_flush_cb (GObject *source_object, GAsyncResult
      *res, gpointer user_data) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusprivate.c:2406,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/gdbusprivate.c:2414,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusprivate.c:2490,1
    - Dst: g_file_get_contents
      Src: /src/glib/gio/gdbusprivate.c:2458,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusprivate.c:2500,1
    - Dst: GetCurrentHwProfile
      Src: /src/glib/gio/gdbusprivate.c:2403,1
    - Dst: GetLastError
      Src: /src/glib/gio/gdbusprivate.c:2405,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusprivate.c:2440,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusprivate.c:2463,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusprivate.c:2410,1
    - Dst: g_file_get_contents
      Src: /src/glib/gio/gdbusprivate.c:2454,1
    - Dst: g_propagate_prefixed_error
      Src: /src/glib/gio/gdbusprivate.c:2463,1
    - Dst: g_win32_error_message
      Src: /src/glib/gio/gdbusprivate.c:2405,1
    - Dst: _
      Src: /src/glib/gio/gdbusprivate.c:2409,1
    - Dst: g_malloc
      Src: /src/glib/gio/gdbusprivate.c:2420,1
    - Dst: _
      Src: /src/glib/gio/gdbusprivate.c:2465,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusprivate.c:2493,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gdbusprivate.c:2471,1
    - Dst: g_ascii_isupper
      Src: /src/glib/gio/gdbusprivate.c:2481,1
    - Dst: g_ascii_isxdigit
      Src: /src/glib/gio/gdbusprivate.c:2481,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2502
      start: 2395
    functionDepth: 0
    functionLinenumber: 2395
    functionLinenumberEnd: 2502
    functionName: _g_dbus_get_machine_id
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_steal_pointer
    - g_clear_error
    - g_ascii_isupper
    - g_win32_error_message
    - GetCurrentHwProfile
    - g_malloc
    - GetLastError
    - g_file_get_contents
    - g_ascii_isxdigit
    - _
    - g_propagate_prefixed_error
    - g_free
    - g_utf16_to_utf8
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *_g_dbus_get_machine_id (GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CreateFileMapping
      Src: /src/glib/gio/gdbusprivate.c:2129,1
    - Dst: strcpy
      Src: /src/glib/gio/gdbusprivate.c:2138,1
    - Dst: UnmapViewOfFile
      Src: /src/glib/gio/gdbusprivate.c:2140,1
    - Dst: strlen
      Src: /src/glib/gio/gdbusprivate.c:2130,1
    - Dst: MapViewOfFile
      Src: /src/glib/gio/gdbusprivate.c:2134,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - shm_name
    - value
    argTypes:
    - wchar_t*
    - char*
    constantsTouched: []
    func_position:
      end: 2143
      start: 2123
    functionDepth: 0
    functionLinenumber: 2123
    functionLinenumberEnd: 2143
    functionName: set_shm
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - strlen
    - strcpy
    - CreateFileMapping
    - UnmapViewOfFile
    - MapViewOfFile
    linkageType: ''
    returnType: HANDLE
    signature: 'static HANDLE set_shm (const wchar_t *shm_name, const char *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: acquire_mutex
      Src: /src/glib/gio/gdbusprivate.c:2183,1
    - Dst: CloseHandle
      Src: /src/glib/gio/gdbusprivate.c:2185,1
    - Dst: release_mutex
      Src: /src/glib/gio/gdbusprivate.c:2191,1
    - Dst: release_mutex
      Src: /src/glib/gio/gdbusprivate.c:2188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2192
      start: 2178
    functionDepth: 0
    functionLinenumber: 2178
    functionLinenumberEnd: 2192
    functionName: unpublish_session_bus
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - release_mutex
    - acquire_mutex
    - CloseHandle
    linkageType: ''
    returnType: void
    signature: 'static void unpublish_session_bus (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_free
      Src: /src/glib/gio/gdbusprivate.c:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - ReadWithControlData*
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: read_with_control_data_free
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void read_with_control_data_free (ReadWithControlData *data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusprivate.c:926,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/gdbusprivate.c:937,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gdbusprivate.c:943,1
    - Dst: g_output_stream_write_finish
      Src: /src/glib/gio/gdbusprivate.c:937,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusprivate.c:942,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusprivate.c:944,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusprivate.c:947,1
    - Dst: write_message_print_transport_debug
      Src: /src/glib/gio/gdbusprivate.c:949,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusprivate.c:952,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusprivate.c:955,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gdbusprivate.c:956,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusprivate.c:961,1
    - Dst: write_message_continue_writing
      Src: /src/glib/gio/gdbusprivate.c:961,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusprivate.c:957,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 965
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 965
    functionName: write_message_async_cb
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_steal_pointer
    - g_assert
    - g_output_stream_write_finish
    - g_clear_object
    - write_message_print_transport_debug
    - write_message_continue_writing
    - g_task_return_error
    - G_OUTPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void write_message_async_cb (GObject *source_object, GAsyncResult
      *res, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gdbusprivate.c:132,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusprivate.c:152,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gdbusprivate.c:147,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gdbusprivate.c:150,1
    - Dst: g_socket_receive_message
      Src: /src/glib/gio/gdbusprivate.c:140,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusprivate.c:156,1
    - Dst: g_task_return_int
      Src: /src/glib/gio/gdbusprivate.c:158,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gdbusprivate.c:160,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusprivate.c:161,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - socket
    - condition
    - user_data
    argTypes:
    - GSocket*
    - GIOCondition
    - gpointer
    constantsTouched: []
    func_position:
      end: 164
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 164
    functionName: _g_socket_read_with_control_messages_ready
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_assert
    - g_task_return_int
    - g_task_get_cancellable
    - g_error_matches
    - g_error_free
    - g_task_get_task_data
    - g_socket_receive_message
    - g_task_return_error
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _g_socket_read_with_control_messages_ready (GSocket
      *socket, GIOCondition condition, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/glib/gio/gdbusprivate.c:2197,1
    - Dst: _
      Src: /src/glib/gio/gdbusprivate.c:2200,1
    - Dst: fprintf
      Src: /src/glib/gio/gdbusprivate.c:2200,1
    - Dst: SetConsoleTitleW
      Src: /src/glib/gio/gdbusprivate.c:2199,1
    - Dst: fflush
      Src: /src/glib/gio/gdbusprivate.c:2201,1
    - Dst: _getch
      Src: /src/glib/gio/gdbusprivate.c:2202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2203
      start: 2194
    functionDepth: 0
    functionLinenumber: 2194
    functionLinenumberEnd: 2203
    functionName: wait_console_window
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - _getch
    - SetConsoleTitleW
    - fprintf
    - fflush
    - fopen
    - _
    linkageType: ''
    returnType: void
    signature: 'static void wait_console_window (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusprivate.c:529,1
    - Dst: g_queue_pop_head
      Src: /src/glib/gio/gdbusprivate.c:532,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusprivate.c:535,1
    - Dst: _g_dbus_worker_emit_message_received
      Src: /src/glib/gio/gdbusprivate.c:534,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusprivate.c:541,1
    - Dst: g_queue_get_length
      Src: /src/glib/gio/gdbusprivate.c:541,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusprivate.c:543,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 545
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 545
    functionName: unfreeze_in_idle_cb
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - _g_dbus_worker_emit_message_received
    - g_queue_pop_head
    - g_mutex_unlock
    - g_mutex_lock
    - g_assert
    - g_clear_object
    - g_queue_get_length
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean unfreeze_in_idle_cb (gpointer user_data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_queue_push_tail
      Src: /src/glib/gio/gdbusprivate.c:1596,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gdbusprivate.c:1599,1
    - Dst: g_source_set_priority
      Src: /src/glib/gio/gdbusprivate.c:1616,1
    - Dst: g_idle_source_new
      Src: /src/glib/gio/gdbusprivate.c:1615,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gdbusprivate.c:1602,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gdbusprivate.c:1617,1
    - Dst: _g_dbus_worker_ref
      Src: /src/glib/gio/gdbusprivate.c:1619,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gdbusprivate.c:1621,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gdbusprivate.c:1622,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gdbusprivate.c:1623,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 4
    argNames:
    - worker
    - write_data
    - flush_data
    - close_data
    argTypes:
    - GDBusWorker*
    - MessageToWriteData*
    - FlushData*
    - CloseData*
    constantsTouched: []
    func_position:
      end: 1625
      start: 1589
    functionDepth: 0
    functionLinenumber: 1589
    functionLinenumberEnd: 1625
    functionName: schedule_writing_unlocked
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - _g_dbus_worker_ref
    - g_source_set_priority
    - g_source_set_callback
    - g_idle_source_new
    - g_source_attach
    - g_queue_push_tail
    - g_source_unref
    - g_list_prepend
    - g_source_set_static_name
    linkageType: ''
    returnType: void
    signature: 'static void schedule_writing_unlocked (GDBusWorker *worker, MessageToWriteData
      *write_data, FlushData *flush_data, CloseData *close_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusprivate.c:1630,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusprivate.c:1633,1
    - Dst: schedule_writing_unlocked
      Src: /src/glib/gio/gdbusprivate.c:1632,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - worker
    argTypes:
    - GDBusWorker*
    constantsTouched: []
    func_position:
      end: 1634
      start: 1627
    functionDepth: 0
    functionLinenumber: 1627
    functionLinenumberEnd: 1634
    functionName: schedule_pending_close
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - schedule_writing_unlocked
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void schedule_pending_close (GDBusWorker *worker) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_queue_get_length
      Src: /src/glib/gio/gdbusprivate.c:509,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusprivate.c:518,1
    - Dst: _g_dbus_worker_emit_message_received
      Src: /src/glib/gio/gdbusprivate.c:517,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusprivate.c:512,1
    - Dst: g_queue_push_tail
      Src: /src/glib/gio/gdbusprivate.c:512,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - worker
    - message
    argTypes:
    - GDBusWorker*
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 520
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 520
    functionName: _g_dbus_worker_queue_or_deliver_received_message
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - _g_dbus_worker_emit_message_received
    - g_queue_push_tail
    - g_clear_object
    - g_queue_get_length
    linkageType: ''
    returnType: void
    signature: 'static void _g_dbus_worker_queue_or_deliver_received_message (GDBusWorker
      *worker, GDBusMessage *message) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/gdbusprivate.c:585,1
    - Dst: g_unix_fd_message_steal_fds
      Src: /src/glib/gio/gdbusprivate.c:610,1
    - Dst: g_unix_fd_list_new_from_array
      Src: /src/glib/gio/gdbusprivate.c:613,1
    - Dst: _g_dbus_debug_print_unlock
      Src: /src/glib/gio/gdbusprivate.c:668,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gdbusprivate.c:687,1
    - Dst: _g_dbus_debug_print_unlock
      Src: /src/glib/gio/gdbusprivate.c:798,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusprivate.c:651,1
    - Dst: _g_dbus_worker_emit_disconnected
      Src: /src/glib/gio/gdbusprivate.c:688,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusprivate.c:776,1
    - Dst: _g_dbus_worker_emit_disconnected
      Src: /src/glib/gio/gdbusprivate.c:690,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusprivate.c:759,1
    - Dst: g_dbus_message_print
      Src: /src/glib/gio/gdbusprivate.c:789,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusprivate.c:796,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusprivate.c:790,1
    - Dst: _g_dbus_worker_emit_disconnected
      Src: /src/glib/gio/gdbusprivate.c:641,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusprivate.c:766,1
    - Dst: g_socket_condition_check
      Src: /src/glib/gio/gdbusprivate.c:701,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusprivate.c:625,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusprivate.c:658,1
    - Dst: g_socket_is_closed
      Src: /src/glib/gio/gdbusprivate.c:699,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusprivate.c:710,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusprivate.c:791,1
    - Dst: _g_dbus_worker_queue_or_deliver_received_message
      Src: /src/glib/gio/gdbusprivate.c:802,1
    - Dst: g_debug
      Src: /src/glib/gio/gdbusprivate.c:697,1
    - Dst: g_socket_connection_get_socket
      Src: /src/glib/gio/gdbusprivate.c:700,1
    - Dst: _g_dbus_worker_emit_disconnected
      Src: /src/glib/gio/gdbusprivate.c:714,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusprivate.c:692,1
    - Dst: G_SOCKET_CONNECTION
      Src: /src/glib/gio/gdbusprivate.c:701,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gio/gdbusprivate.c:665,1
    - Dst: _g_dbus_debug_payload
      Src: /src/glib/gio/gdbusprivate.c:792,1
    - Dst: G_SOCKET_CONNECTION
      Src: /src/glib/gio/gdbusprivate.c:699,1
    - Dst: g_type_name
      Src: /src/glib/gio/gdbusprivate.c:640,1
    - Dst: read_message_print_transport_debug
      Src: /src/glib/gio/gdbusprivate.c:719,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusprivate.c:781,1
    - Dst: _g_socket_read_with_control_messages_finish
      Src: /src/glib/gio/gdbusprivate.c:589,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusprivate.c:646,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusprivate.c:653,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusprivate.c:715,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusprivate.c:795,1
    - Dst: G_SOCKET_CONNECTION
      Src: /src/glib/gio/gdbusprivate.c:700,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusprivate.c:735,1
    - Dst: _g_dbus_worker_emit_disconnected
      Src: /src/glib/gio/gdbusprivate.c:767,1
    - Dst: schedule_pending_close
      Src: /src/glib/gio/gdbusprivate.c:820,1
    - Dst: _g_dbus_worker_emit_disconnected
      Src: /src/glib/gio/gdbusprivate.c:736,1
    - Dst: _g_dbus_hexdump
      Src: /src/glib/gio/gdbusprivate.c:758,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gio/gdbusprivate.c:640,1
    - Dst: _g_dbus_debug_print_lock
      Src: /src/glib/gio/gdbusprivate.c:660,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/gdbusprivate.c:665,1
    - Dst: _g_dbus_debug_message
      Src: /src/glib/gio/gdbusprivate.c:781,1
    - Dst: _g_dbus_debug_print_lock
      Src: /src/glib/gio/gdbusprivate.c:784,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusprivate.c:817,1
    - Dst: _g_dbus_worker_unref
      Src: /src/glib/gio/gdbusprivate.c:823,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusprivate.c:792,1
    - Dst: _g_dbus_worker_do_read_unlocked
      Src: /src/glib/gio/gdbusprivate.c:742,1
    - Dst: g_input_stream_read_finish
      Src: /src/glib/gio/gdbusprivate.c:585,1
    - Dst: g_close
      Src: /src/glib/gio/gdbusprivate.c:622,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusprivate.c:636,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusprivate.c:643,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusprivate.c:661,1
    - Dst: g_dbus_message_bytes_needed
      Src: /src/glib/gio/gdbusprivate.c:730,1
    - Dst: g_unix_fd_list_append
      Src: /src/glib/gio/gdbusprivate.c:621,1
    - Dst: g_socket_get_blocking
      Src: /src/glib/gio/gdbusprivate.c:700,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusprivate.c:802,1
    - Dst: g_socket_connection_get_socket
      Src: /src/glib/gio/gdbusprivate.c:699,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusprivate.c:577,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusprivate.c:647,1
    - Dst: g_type_name
      Src: /src/glib/gio/gdbusprivate.c:665,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusprivate.c:737,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusprivate.c:768,1
    - Dst: g_dbus_message_new_from_blob
      Src: /src/glib/gio/gdbusprivate.c:751,1
    - Dst: g_socket_connection_get_socket
      Src: /src/glib/gio/gdbusprivate.c:701,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusprivate.c:642,1
    - Dst: g_dbus_message_set_unix_fd_list
      Src: /src/glib/gio/gdbusprivate.c:775,1
    - Dst: _g_dbus_worker_do_read_unlocked
      Src: /src/glib/gio/gdbusprivate.c:807,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusprivate.c:785,1
    - Dst: g_quark_to_string
      Src: /src/glib/gio/gdbusprivate.c:666,1
    - Dst: _g_dbus_hexdump
      Src: /src/glib/gio/gdbusprivate.c:794,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gdbusprivate.c:580,1
    - Dst: G_SOCKET_CONTROL_MESSAGE
      Src: /src/glib/gio/gdbusprivate.c:597,1
    - Dst: G_UNIX_FD_MESSAGE
      Src: /src/glib/gio/gdbusprivate.c:609,1
    - Dst: _g_dbus_debug_transport
      Src: /src/glib/gio/gdbusprivate.c:658,1
    - Dst: _g_dbus_worker_do_read_unlocked
      Src: /src/glib/gio/gdbusprivate.c:813,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 142
    argCount: 3
    argNames:
    - input_stream
    - res
    - user_data
    argTypes:
    - GInputStream*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 824
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 824
    functionName: _g_dbus_worker_do_read_cb
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - G_SOCKET_CONNECTION
    - g_steal_pointer
    - g_atomic_int_get
    - g_unix_fd_list_new_from_array
    - g_dbus_message_set_unix_fd_list
    - _g_dbus_worker_emit_disconnected
    - _g_dbus_debug_print_lock
    - G_UNLIKELY
    - g_dbus_message_new_from_blob
    - g_dbus_message_print
    - g_socket_condition_check
    - g_object_unref
    - g_warning
    - g_mutex_unlock
    - _g_dbus_worker_do_read_unlocked
    - _g_dbus_worker_unref
    - g_quark_to_string
    - g_unix_fd_list_append
    - g_error_free
    - g_print
    - g_set_error
    - g_socket_is_closed
    - read_message_print_transport_debug
    - G_SOCKET_CONTROL_MESSAGE
    - g_mutex_lock
    - _g_dbus_debug_print_unlock
    - G_UNIX_FD_MESSAGE
    - g_io_stream_get_input_stream
    - g_dbus_message_bytes_needed
    - _g_socket_read_with_control_messages_finish
    - g_socket_get_blocking
    - _g_dbus_debug_payload
    - schedule_pending_close
    - G_TYPE_FROM_INSTANCE
    - g_debug
    - _g_dbus_debug_message
    - g_input_stream_read_finish
    - g_close
    - g_error_matches
    - g_socket_connection_get_socket
    - _g_dbus_hexdump
    - _g_dbus_worker_queue_or_deliver_received_message
    - _g_dbus_debug_transport
    - g_unix_fd_message_steal_fds
    - g_free
    - g_type_name
    linkageType: ''
    returnType: void
    signature: 'static void _g_dbus_worker_do_read_cb (GInputStream *input_stream,
      GAsyncResult *res, gpointer user_data) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_message_get_unix_fd_list
      Src: /src/glib/gio/gdbusprivate.c:1006,1
    - Dst: g_task_return_new_error_literal
      Src: /src/glib/gio/gdbusprivate.c:1032,1
    - Dst: g_unix_fd_message_new_with_fd_list
      Src: /src/glib/gio/gdbusprivate.c:1041,1
    - Dst: g_socket_create_source
      Src: /src/glib/gio/gdbusprivate.c:1063,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gdbusprivate.c:1070,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gdbusprivate.c:1066,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusprivate.c:1068,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusprivate.c:1072,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusprivate.c:1088,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusprivate.c:1093,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusprivate.c:1114,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusprivate.c:1097,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusprivate.c:1031,1
    - Dst: g_socket_send_message
      Src: /src/glib/gio/gdbusprivate.c:1045,1
    - Dst: g_main_context_get_thread_default
      Src: /src/glib/gio/gdbusprivate.c:1070,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gdbusprivate.c:1078,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusprivate.c:1083,1
    - Dst: g_type_name
      Src: /src/glib/gio/gdbusprivate.c:1113,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/gdbusprivate.c:1010,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusprivate.c:1038,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusprivate.c:1077,1
    - Dst: write_message_print_transport_debug
      Src: /src/glib/gio/gdbusprivate.c:1085,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gdbusprivate.c:1092,1
    - Dst: write_message_continue_writing
      Src: /src/glib/gio/gdbusprivate.c:1097,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gio/gdbusprivate.c:1113,1
    - Dst: g_output_stream_write_async
      Src: /src/glib/gio/gdbusprivate.c:1119,1
    - Dst: g_task_return_new_error
      Src: /src/glib/gio/gdbusprivate.c:1109,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/gdbusprivate.c:1004,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusprivate.c:1009,1
    - Dst: g_output_stream_has_pending
      Src: /src/glib/gio/gdbusprivate.c:1009,1
    - Dst: g_unix_fd_list_get_length
      Src: /src/glib/gio/gdbusprivate.c:1027,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gdbusprivate.c:1060,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gdbusprivate.c:1071,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusprivate.c:1055,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusprivate.c:1079,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusprivate.c:1091,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusprivate.c:1108,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 78
    argCount: 1
    argNames:
    - data
    argTypes:
    - MessageToWriteData*
    constantsTouched: []
    func_position:
      end: 1131
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 1131
    functionName: write_message_continue_writing
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_source_set_callback
    - g_output_stream_has_pending
    - g_dbus_message_get_unix_fd_list
    - g_object_unref
    - g_source_attach
    - g_unix_fd_list_get_length
    - g_clear_object
    - g_source_unref
    - g_error_free
    - write_message_print_transport_debug
    - g_task_return_new_error
    - write_message_continue_writing
    - g_io_stream_get_output_stream
    - g_assert_cmpint
    - g_task_return_boolean
    - g_socket_send_message
    - g_unix_fd_message_new_with_fd_list
    - g_output_stream_write_async
    - g_task_return_new_error_literal
    - g_main_context_get_thread_default
    - g_socket_create_source
    - g_task_return_error
    - g_assert
    - G_TYPE_FROM_INSTANCE
    - g_error_matches
    - g_type_name
    linkageType: ''
    returnType: void
    signature: 'static void write_message_continue_writing (MessageToWriteData *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdbusprivate.c:2621,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - s
    - val
    argTypes:
    - GString*
    - gint
    constantsTouched: []
    func_position:
      end: 2622
      start: 2618
    functionDepth: 0
    functionLinenumber: 2618
    functionLinenumberEnd: 2622
    functionName: append_nibble
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_string_append_c
    linkageType: ''
    returnType: void
    signature: 'static void append_nibble (GString *s, gint val) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: acquire_mutex
      Src: /src/glib/gio/gdbusprivate.c:2154,1
    - Dst: CreateMutex
      Src: /src/glib/gio/gdbusprivate.c:2156,1
    - Dst: CloseHandle
      Src: /src/glib/gio/gdbusprivate.c:2160,1
    - Dst: release_mutex
      Src: /src/glib/gio/gdbusprivate.c:2159,1
    - Dst: WaitForSingleObject
      Src: /src/glib/gio/gdbusprivate.c:2157,1
    - Dst: set_shm
      Src: /src/glib/gio/gdbusprivate.c:2165,1
    - Dst: release_mutex
      Src: /src/glib/gio/gdbusprivate.c:2168,1
    - Dst: CloseHandle
      Src: /src/glib/gio/gdbusprivate.c:2169,1
    - Dst: release_mutex
      Src: /src/glib/gio/gdbusprivate.c:2174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - address
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2176
      start: 2149
    functionDepth: 0
    functionLinenumber: 2149
    functionLinenumberEnd: 2176
    functionName: publish_session_bus
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - CreateMutex
    - release_mutex
    - acquire_mutex
    - WaitForSingleObject
    - set_shm
    - CloseHandle
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean publish_session_bus (const char *address) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gdbusprivate.c:2300,1
    - Dst: _g_io_win32_get_module
      Src: /src/glib/gio/gdbusprivate.c:2298,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/gdbusprivate.c:2299,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gdbusprivate.c:2298,1
    - Dst: GetFileAttributesW
      Src: /src/glib/gio/gdbusprivate.c:2305,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusprivate.c:2307,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2312
      start: 2294
    functionDepth: 0
    functionLinenumber: 2294
    functionLinenumberEnd: 2312
    functionName: find_dbus_process_path
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_utf8_to_utf16
    - GLIB_PRIVATE_CALL
    - GetFileAttributesW
    - _g_io_win32_get_module
    - g_free
    linkageType: ''
    returnType: wchar_t*
    signature: 'static wchar_t *find_dbus_process_path (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gdbusprivate.c:2609,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gdbusprivate.c:2610,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - ihint
    - return_accu
    - handler_return
    - dummy
    argTypes:
    - GSignalInvocationHint*
    - GValue*
    - GValue*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2614
      start: 2600
    functionDepth: 0
    functionLinenumber: 2600
    functionLinenumberEnd: 2614
    functionName: _g_signal_accumulator_false_handled
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_value_get_boolean
    - g_value_set_boolean
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _g_signal_accumulator_false_handled (GSignalInvocationHint
      *ihint, GValue *return_accu, const GValue *handler_return, gpointer dummy) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/gio/gdbusprivate.c:76,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdbusprivate.c:85,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusprivate.c:87,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusprivate.c:89,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusprivate.c:80,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusprivate.c:92,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdbusprivate.c:95,1
    - Dst: g_ascii_isprint
      Src: /src/glib/gio/gdbusprivate.c:95,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdbusprivate.c:97,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbusprivate.c:100,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 101
    functionName: _g_dbus_hexdump
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_string_append_c
    - g_ascii_isprint
    - g_string_free
    - g_string_new
    - g_string_append_printf
    - g_string_append
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *_g_dbus_hexdump (const gchar *data, gsize len, guint indent) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter_pointer
      Src: /src/glib/gio/gdbusprivate.c:298,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusprivate.c:302,1
    - Dst: g_thread_new
      Src: /src/glib/gio/gdbusprivate.c:307,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/gdbusprivate.c:306,1
    - Dst: g_main_context_new
      Src: /src/glib/gio/gdbusprivate.c:305,1
    - Dst: g_once_init_leave_pointer
      Src: /src/glib/gio/gdbusprivate.c:311,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/gdbusprivate.c:314,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 316
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 316
    functionName: _g_dbus_shared_thread_ref
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_once_init_leave_pointer
    - g_main_context_new
    - g_thread_new
    - g_main_loop_new
    - g_once_init_enter_pointer
    - g_atomic_int_inc
    - g_new0
    linkageType: ''
    returnType: SharedThreadData*
    signature: 'static SharedThreadData *_g_dbus_shared_thread_ref (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/gio/gdbusprivate.c:453,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusprivate.c:459,1
    - Dst: _g_dbus_shared_thread_unref
      Src: /src/glib/gio/gdbusprivate.c:457,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusprivate.c:455,1
    - Dst: g_mutex_clear
      Src: /src/glib/gio/gdbusprivate.c:461,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusprivate.c:462,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusprivate.c:464,1
    - Dst: g_queue_free_full
      Src: /src/glib/gio/gdbusprivate.c:466,1
    - Dst: g_mutex_clear
      Src: /src/glib/gio/gdbusprivate.c:467,1
    - Dst: g_queue_free_full
      Src: /src/glib/gio/gdbusprivate.c:468,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusprivate.c:471,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusprivate.c:469,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - worker
    argTypes:
    - GDBusWorker*
    constantsTouched: []
    func_position:
      end: 473
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 473
    functionName: _g_dbus_worker_unref
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_atomic_int_dec_and_test
    - g_assert
    - g_mutex_clear
    - _g_dbus_shared_thread_unref
    - g_queue_free_full
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void _g_dbus_worker_unref (GDBusWorker *worker) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gdbusprivate.c:323,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/gdbusprivate.c:329,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/gdbusprivate.c:326,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/gdbusprivate.c:328,1
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/gio/gdbusprivate.c:324,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - SharedThreadData*
    constantsTouched: []
    func_position:
      end: 332
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 332
    functionName: _g_dbus_shared_thread_unref
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_main_context_unref
    - g_atomic_int_dec_and_test
    - g_assert
    - g_main_loop_unref
    - g_main_loop_quit
    linkageType: ''
    returnType: void
    signature: 'static void _g_dbus_shared_thread_unref (SharedThreadData *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gdbusprivate.c:480,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - worker
    - remote_peer_vanished
    - error
    argTypes:
    - GDBusWorker*
    - gboolean
    - GError*
    constantsTouched: []
    func_position:
      end: 482
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 482
    functionName: _g_dbus_worker_emit_disconnected
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    linkageType: ''
    returnType: void
    signature: 'static void _g_dbus_worker_emit_disconnected (GDBusWorker *worker,
      gboolean remote_peer_vanished, GError *error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusprivate.c:1941,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1942
      start: 1938
    functionDepth: 0
    functionLinenumber: 1938
    functionLinenumberEnd: 1942
    functionName: _g_dbus_debug_print_lock
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - G_LOCK
    linkageType: ''
    returnType: void
    signature: 'void _g_dbus_debug_print_lock (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MAX
      Src: /src/glib/gio/gdbusprivate.c:845,1
    - Dst: g_input_stream_read_async
      Src: /src/glib/gio/gdbusprivate.c:850,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/gdbusprivate.c:850,1
    - Dst: _g_dbus_worker_ref
      Src: /src/glib/gio/gdbusprivate.c:856,1
    - Dst: g_realloc
      Src: /src/glib/gio/gdbusprivate.c:846,1
    - Dst: _g_socket_read_with_control_messages
      Src: /src/glib/gio/gdbusprivate.c:861,1
    - Dst: _g_dbus_worker_ref
      Src: /src/glib/gio/gdbusprivate.c:869,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - worker
    argTypes:
    - GDBusWorker*
    constantsTouched: []
    func_position:
      end: 871
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 871
    functionName: _g_dbus_worker_do_read_unlocked
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - _g_dbus_worker_ref
    - g_realloc
    - _g_socket_read_with_control_messages
    - MAX
    - g_io_stream_get_input_stream
    - g_input_stream_read_async
    linkageType: ''
    returnType: void
    signature: 'static void _g_dbus_worker_do_read_unlocked (GDBusWorker *worker) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/gdbusprivate.c:1144,1
    - Dst: write_message_continue_writing
      Src: /src/glib/gio/gdbusprivate.c:1148,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusprivate.c:1148,1
    - Dst: g_task_set_name
      Src: /src/glib/gio/gdbusprivate.c:1146,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gdbusprivate.c:1145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - worker
    - data
    - callback
    - user_data
    argTypes:
    - GDBusWorker*
    - MessageToWriteData*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 1149
      start: 1138
    functionDepth: 0
    functionLinenumber: 1138
    functionLinenumberEnd: 1149
    functionName: write_message_async
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_task_new
    - g_task_set_source_tag
    - write_message_continue_writing
    - g_task_set_name
    linkageType: ''
    returnType: void
    signature: 'static void write_message_async (GDBusWorker *worker, MessageToWriteData
      *data, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusprivate.c:978,1
    - Dst: write_message_continue_writing
      Src: /src/glib/gio/gdbusprivate.c:979,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusprivate.c:979,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - socket
    - condition
    - user_data
    argTypes:
    - GSocket*
    - GIOCondition
    - gpointer
    constantsTouched: []
    func_position:
      end: 981
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 981
    functionName: on_socket_ready
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - write_message_continue_writing
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean on_socket_ready (GSocket *socket, GIOCondition condition,
      gpointer user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_once_init_enter
      Src: /src/glib/gio/gdbusprivate.c:1963,1
    - Dst: g_getenv
      Src: /src/glib/gio/gdbusprivate.c:1970,1
    - Dst: g_dbus_error_quark
      Src: /src/glib/gio/gdbusprivate.c:1968,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/gdbusprivate.c:1987,1
    - Dst: g_parse_debug_string
      Src: /src/glib/gio/gdbusprivate.c:1987,1
    - Dst: ensure_required_types
      Src: /src/glib/gio/gdbusprivate.c:1993,1
    - Dst: g_once_init_leave
      Src: /src/glib/gio/gdbusprivate.c:1995,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1997
      start: 1958
    functionDepth: 0
    functionLinenumber: 1958
    functionLinenumberEnd: 1997
    functionName: _g_dbus_initialize
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_once_init_leave
    - g_getenv
    - G_N_ELEMENTS
    - g_once_init_enter
    - g_parse_debug_string
    - ensure_required_types
    - g_dbus_error_quark
    linkageType: ''
    returnType: void
    signature: 'void _g_dbus_initialize (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusprivate.c:1947,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1948
      start: 1944
    functionDepth: 0
    functionLinenumber: 1944
    functionLinenumberEnd: 1948
    functionName: _g_dbus_debug_print_unlock
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    linkageType: ''
    returnType: void
    signature: 'void _g_dbus_debug_print_unlock (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusprivate.c:1265,1
    - Dst: g_dbus_message_print
      Src: /src/glib/gio/gdbusprivate.c:1273,1
    - Dst: _g_dbus_debug_print_lock
      Src: /src/glib/gio/gdbusprivate.c:1268,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusprivate.c:1269,1
    - Dst: _g_dbus_debug_message
      Src: /src/glib/gio/gdbusprivate.c:1265,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusprivate.c:1274,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusprivate.c:1275,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusprivate.c:1276,1
    - Dst: _g_dbus_debug_payload
      Src: /src/glib/gio/gdbusprivate.c:1276,1
    - Dst: _g_dbus_hexdump
      Src: /src/glib/gio/gdbusprivate.c:1278,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusprivate.c:1279,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusprivate.c:1280,1
    - Dst: _g_dbus_debug_print_unlock
      Src: /src/glib/gio/gdbusprivate.c:1282,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - worker
    - message_data
    argTypes:
    - GDBusWorker*
    - MessageToWriteData*
    constantsTouched: []
    func_position:
      end: 1286
      start: 1261
    functionDepth: 0
    functionLinenumber: 1261
    functionLinenumberEnd: 1286
    functionName: message_written_unlocked
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - _g_dbus_debug_payload
    - _g_dbus_debug_print_unlock
    - _g_dbus_debug_message
    - _g_dbus_debug_print_lock
    - _g_dbus_hexdump
    - G_UNLIKELY
    - g_print
    - g_free
    - g_dbus_message_print
    linkageType: ''
    returnType: void
    signature: 'static void message_written_unlocked (GDBusWorker *worker, MessageToWriteData
      *message_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusprivate.c:1680,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusprivate.c:1685,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/gdbusprivate.c:1695,1
    - Dst: g_socket_connection_get_socket
      Src: /src/glib/gio/gdbusprivate.c:1705,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gdbusprivate.c:1712,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gdbusprivate.c:1716,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusprivate.c:1683,1
    - Dst: g_queue_new
      Src: /src/glib/gio/gdbusprivate.c:1699,1
    - Dst: G_IS_SOCKET_CONNECTION
      Src: /src/glib/gio/gdbusprivate.c:1704,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gdbusprivate.c:1718,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusprivate.c:1681,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusprivate.c:1682,1
    - Dst: G_SOCKET_CONNECTION
      Src: /src/glib/gio/gdbusprivate.c:1705,1
    - Dst: g_idle_source_new
      Src: /src/glib/gio/gdbusprivate.c:1710,1
    - Dst: _g_dbus_shared_thread_ref
      Src: /src/glib/gio/gdbusprivate.c:1707,1
    - Dst: g_queue_new
      Src: /src/glib/gio/gdbusprivate.c:1702,1
    - Dst: g_mutex_init
      Src: /src/glib/gio/gdbusprivate.c:1701,1
    - Dst: _g_dbus_worker_ref
      Src: /src/glib/gio/gdbusprivate.c:1714,1
    - Dst: G_IS_IO_STREAM
      Src: /src/glib/gio/gdbusprivate.c:1680,1
    - Dst: g_mutex_init
      Src: /src/glib/gio/gdbusprivate.c:1688,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusprivate.c:1693,1
    - Dst: g_source_set_priority
      Src: /src/glib/gio/gdbusprivate.c:1711,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gdbusprivate.c:1717,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1721
      start: 1668
    functionDepth: 0
    functionLinenumber: 1668
    functionLinenumberEnd: 1721
    functionName: _g_dbus_worker_new
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - G_SOCKET_CONNECTION
    - G_IS_IO_STREAM
    - g_mutex_init
    - g_return_val_if_fail
    - g_source_set_priority
    - g_source_set_callback
    - _g_dbus_worker_ref
    - _g_dbus_shared_thread_ref
    - g_idle_source_new
    - g_source_attach
    - g_socket_connection_get_socket
    - g_queue_new
    - G_IS_SOCKET_CONNECTION
    - g_source_unref
    - g_object_ref
    - g_new0
    - g_cancellable_new
    - g_source_set_static_name
    linkageType: ''
    returnType: GDBusWorker*
    signature: 'GDBusWorker *_g_dbus_worker_new (GIOStream *stream, GDBusCapabilityFlags
      capabilities, gboolean initially_frozen, GDBusWorkerMessageReceivedCallback
      message_received_callback, GDBusWorkerMessageAboutToBeSentCallback message_about_to_be_sent_callback,
      GDBusWorkerDisconnectedCallback disconnected_callback, gpointer user_data) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: G_LIKELY
      Src: /src/glib/gio/gdbusprivate.c:2557,1
    - Dst: _g_dbus_debug_transport
      Src: /src/glib/gio/gdbusprivate.c:2557,1
    - Dst: GUINT32_FROM_BE
      Src: /src/glib/gio/gdbusprivate.c:2575,1
    - Dst: g_dbus_message_bytes_needed
      Src: /src/glib/gio/gdbusprivate.c:2564,1
    - Dst: GUINT32_FROM_LE
      Src: /src/glib/gio/gdbusprivate.c:2571,1
    - Dst: _g_dbus_debug_print_lock
      Src: /src/glib/gio/gdbusprivate.c:2583,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusprivate.c:2584,1
    - Dst: g_type_name
      Src: /src/glib/gio/gdbusprivate.c:2592,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gio/gdbusprivate.c:2592,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/gdbusprivate.c:2592,1
    - Dst: _g_dbus_debug_print_unlock
      Src: /src/glib/gio/gdbusprivate.c:2593,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 2
    argNames:
    - bytes_read
    - worker
    argTypes:
    - gssize
    - GDBusWorker*
    constantsTouched: []
    func_position:
      end: 2596
      start: 2549
    functionDepth: 0
    functionLinenumber: 2549
    functionLinenumberEnd: 2596
    functionName: read_message_print_transport_debug
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - _g_dbus_debug_print_unlock
    - G_TYPE_FROM_INSTANCE
    - _g_dbus_debug_print_lock
    - GUINT32_FROM_BE
    - g_io_stream_get_input_stream
    - g_dbus_message_bytes_needed
    - _g_dbus_debug_transport
    - G_LIKELY
    - g_print
    - GUINT32_FROM_LE
    - g_type_name
    linkageType: ''
    returnType: void
    signature: 'static void read_message_print_transport_debug (gssize bytes_read,
      GDBusWorker *worker) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_push_thread_default
      Src: /src/glib/gio/gdbusprivate.c:282,1
    - Dst: release_required_types
      Src: /src/glib/gio/gdbusprivate.c:286,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/gdbusprivate.c:283,1
    - Dst: g_main_context_pop_thread_default
      Src: /src/glib/gio/gdbusprivate.c:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 289
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 289
    functionName: gdbus_shared_thread_func
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_main_loop_run
    - g_main_context_pop_thread_default
    - g_main_context_push_thread_default
    - release_required_types
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer gdbus_shared_thread_func (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_error_copy
      Src: /src/glib/gio/gdbusprivate.c:1180,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusprivate.c:1185,1
    - Dst: g_cond_signal
      Src: /src/glib/gio/gdbusprivate.c:1184,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusprivate.c:1182,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - flushers
    - error
    argTypes:
    - GList*
    - GError*
    constantsTouched: []
    func_position:
      end: 1187
      start: 1170
    functionDepth: 0
    functionLinenumber: 1170
    functionLinenumberEnd: 1187
    functionName: flush_data_list_complete
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_cond_signal
    - g_error_copy
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void flush_data_list_complete (const GList *flushers, const
      GError *error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusprivate.c:1651,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusprivate.c:1651,1
    - Dst: g_slice_new0
      Src: /src/glib/gio/gdbusprivate.c:1655,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusprivate.c:1652,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusprivate.c:1653,1
    - Dst: _g_dbus_worker_ref
      Src: /src/glib/gio/gdbusprivate.c:1656,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusprivate.c:1657,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusprivate.c:1661,1
    - Dst: schedule_writing_unlocked
      Src: /src/glib/gio/gdbusprivate.c:1662,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusprivate.c:1663,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - worker
    - message
    - blob
    - blob_len
    argTypes:
    - GDBusWorker*
    - GDBusMessage*
    - gchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 1664
      start: 1643
    functionDepth: 0
    functionLinenumber: 1643
    functionLinenumberEnd: 1664
    functionName: _g_dbus_worker_send_message
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - _g_dbus_worker_ref
    - G_IS_DBUS_MESSAGE
    - g_slice_new0
    - g_return_if_fail
    - g_mutex_lock
    - g_mutex_unlock
    - schedule_writing_unlocked
    - g_object_ref
    linkageType: ''
    returnType: void
    signature: 'void _g_dbus_worker_send_message (GDBusWorker *worker, GDBusMessage
      *message, gchar *blob, gsize blob_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LIKELY
      Src: /src/glib/gio/gdbusprivate.c:2529,1
    - Dst: _g_dbus_debug_print_lock
      Src: /src/glib/gio/gdbusprivate.c:2532,1
    - Dst: _g_dbus_debug_transport
      Src: /src/glib/gio/gdbusprivate.c:2529,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusprivate.c:2533,1
    - Dst: g_dbus_message_get_serial
      Src: /src/glib/gio/gdbusprivate.c:2538,1
    - Dst: g_type_name
      Src: /src/glib/gio/gdbusprivate.c:2541,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gio/gdbusprivate.c:2541,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/gdbusprivate.c:2541,1
    - Dst: _g_dbus_debug_print_unlock
      Src: /src/glib/gio/gdbusprivate.c:2542,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - bytes_written
    - data
    argTypes:
    - gssize
    - MessageToWriteData*
    constantsTouched: []
    func_position:
      end: 2545
      start: 2525
    functionDepth: 0
    functionLinenumber: 2525
    functionLinenumberEnd: 2545
    functionName: write_message_print_transport_debug
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_dbus_message_get_serial
    - _g_dbus_debug_print_unlock
    - G_TYPE_FROM_INSTANCE
    - _g_dbus_debug_print_lock
    - _g_dbus_debug_transport
    - G_LIKELY
    - g_print
    - g_io_stream_get_output_stream
    - g_type_name
    linkageType: ''
    returnType: void
    signature: 'static void write_message_print_transport_debug (gssize bytes_written,
      MessageToWriteData *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusprivate.c:878,1
    - Dst: _g_dbus_worker_do_read_unlocked
      Src: /src/glib/gio/gdbusprivate.c:879,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusprivate.c:880,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 882
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 882
    functionName: _g_dbus_worker_do_initial_read
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - _g_dbus_worker_do_read_unlocked
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean _g_dbus_worker_do_initial_read (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_dbus_worker_unref
      Src: /src/glib/gio/gdbusprivate.c:900,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusprivate.c:902,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gdbusprivate.c:908,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusprivate.c:906,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusprivate.c:901,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - MessageToWriteData*
    constantsTouched: []
    func_position:
      end: 909
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 909
    functionName: message_to_write_data_free
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_assert
    - _g_dbus_worker_unref
    - g_clear_object
    - g_slice_free
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void message_to_write_data_free (MessageToWriteData *data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_list_append
      Src: /src/glib/gio/gdbusprivate.c:1310,1
    - Dst: g_list_delete_link
      Src: /src/glib/gio/gdbusprivate.c:1311,1
    - Dst: _g_dbus_worker_ref
      Src: /src/glib/gio/gdbusprivate.c:1325,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusprivate.c:1324,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusprivate.c:1316,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1331
      start: 1295
    functionDepth: 0
    functionLinenumber: 1295
    functionLinenumberEnd: 1331
    functionName: prepare_flush_unlocked
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_list_delete_link
    - g_list_append
    - _g_dbus_worker_ref
    - g_assert
    - g_new0
    linkageType: ''
    returnType: FlushAsyncData*
    signature: 'static FlushAsyncData *prepare_flush_unlocked (GDBusWorker *worker) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_dbus_initialize
      Src: /src/glib/gio/gdbusprivate.c:1883,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1885
      start: 1880
    functionDepth: 0
    functionLinenumber: 1880
    functionLinenumberEnd: 1885
    functionName: _g_dbus_debug_payload
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - _g_dbus_initialize
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _g_dbus_debug_payload (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_dbus_initialize
      Src: /src/glib/gio/gdbusprivate.c:1925,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1927
      start: 1922
    functionDepth: 0
    functionLinenumber: 1922
    functionLinenumberEnd: 1927
    functionName: _g_dbus_debug_address
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - _g_dbus_initialize
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _g_dbus_debug_address (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_foreach
      Src: /src/glib/gio/gdbusprivate.c:232,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/gdbusprivate.c:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 235
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 235
    functionName: release_required_types
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_ptr_array_foreach
    - g_ptr_array_unref
    linkageType: ''
    returnType: void
    signature: 'static void release_required_types (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gdbusprivate.c:488,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - worker
    - message
    argTypes:
    - GDBusWorker*
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 490
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 490
    functionName: _g_dbus_worker_emit_message_received
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    linkageType: ''
    returnType: void
    signature: 'static void _g_dbus_worker_emit_message_received (GDBusWorker *worker,
      GDBusMessage *message) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_task_return_new_error_literal
      Src: /src/glib/gio/gdbusprivate.c:1032,1
    - Dst: g_unix_fd_message_new_with_fd_list
      Src: /src/glib/gio/gdbusprivate.c:1041,1
    - Dst: g_socket_create_source
      Src: /src/glib/gio/gdbusprivate.c:1063,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gdbusprivate.c:1066,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gdbusprivate.c:1070,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusprivate.c:1072,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusprivate.c:1068,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusprivate.c:1088,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusprivate.c:1093,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusprivate.c:1097,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusprivate.c:1031,1
    - Dst: g_socket_send_message
      Src: /src/glib/gio/gdbusprivate.c:1045,1
    - Dst: g_main_context_get_thread_default
      Src: /src/glib/gio/gdbusprivate.c:1070,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gdbusprivate.c:1078,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusprivate.c:1083,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusprivate.c:1038,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusprivate.c:1077,1
    - Dst: write_message_print_transport_debug
      Src: /src/glib/gio/gdbusprivate.c:1085,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gdbusprivate.c:1092,1
    - Dst: write_message_continue_writing
      Src: /src/glib/gio/gdbusprivate.c:1097,1
    - Dst: g_unix_fd_list_get_length
      Src: /src/glib/gio/gdbusprivate.c:1027,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusprivate.c:1055,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gdbusprivate.c:1060,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusprivate.c:1079,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gdbusprivate.c:1071,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusprivate.c:1091,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 55
    argCount: 1
    argNames:
    - total_written
    - == 0
    argTypes:
    - G_IS_SOCKET_OUTPUT_STREAM (ostream)
    constantsTouched: []
    func_position:
      end: 1098
      start: 1016
    functionDepth: 0
    functionLinenumber: 1016
    functionLinenumberEnd: 1098
    functionName: if
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_source_set_callback
    - g_object_unref
    - g_source_attach
    - g_unix_fd_list_get_length
    - g_clear_object
    - g_source_unref
    - g_error_free
    - write_message_print_transport_debug
    - write_message_continue_writing
    - g_task_return_boolean
    - g_socket_send_message
    - g_unix_fd_message_new_with_fd_list
    - g_task_return_new_error_literal
    - g_main_context_get_thread_default
    - g_socket_create_source
    - g_task_return_error
    - g_assert
    - g_error_matches
    linkageType: ''
    returnType: else
    signature: 'else if (G_IS_SOCKET_OUTPUT_STREAM (ostream) && data->total_written
      == 0) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gdbusprivate.c:240,1
    - Dst: ensure_type
      Src: /src/glib/gio/gdbusprivate.c:254,1
    - Dst: ensure_type
      Src: /src/glib/gio/gdbusprivate.c:255,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gdbusprivate.c:241,1
    - Dst: ensure_type
      Src: /src/glib/gio/gdbusprivate.c:256,1
    - Dst: ensure_type
      Src: /src/glib/gio/gdbusprivate.c:257,1
    - Dst: ensure_type
      Src: /src/glib/gio/gdbusprivate.c:258,1
    - Dst: ensure_type
      Src: /src/glib/gio/gdbusprivate.c:259,1
    - Dst: ensure_type
      Src: /src/glib/gio/gdbusprivate.c:260,1
    - Dst: ensure_type
      Src: /src/glib/gio/gdbusprivate.c:261,1
    - Dst: ensure_type
      Src: /src/glib/gio/gdbusprivate.c:263,1
    - Dst: ensure_type
      Src: /src/glib/gio/gdbusprivate.c:265,1
    - Dst: ensure_type
      Src: /src/glib/gio/gdbusprivate.c:262,1
    - Dst: ensure_type
      Src: /src/glib/gio/gdbusprivate.c:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 266
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 266
    functionName: ensure_required_types
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_ptr_array_new
    - ensure_type
    linkageType: ''
    returnType: void
    signature: 'static void ensure_required_types (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gdbusprivate.c:497,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusprivate.c:500,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusprivate.c:498,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 502
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 502
    functionName: _g_dbus_worker_emit_message_about_to_be_sent
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_atomic_int_get
    linkageType: ''
    returnType: GDBusMessage*
    signature: 'static GDBusMessage *_g_dbus_worker_emit_message_about_to_be_sent
      (GDBusWorker *worker, GDBusMessage *message) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_dbus_initialize
      Src: /src/glib/gio/gdbusprivate.c:1890,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1892
      start: 1887
    functionDepth: 0
    functionLinenumber: 1887
    functionLinenumberEnd: 1892
    functionName: _g_dbus_debug_call
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - _g_dbus_initialize
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _g_dbus_debug_call (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_dbus_initialize
      Src: /src/glib/gio/gdbusprivate.c:1932,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1934
      start: 1929
    functionDepth: 0
    functionLinenumber: 1929
    functionLinenumberEnd: 1934
    functionName: _g_dbus_debug_proxy
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - _g_dbus_initialize
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _g_dbus_debug_proxy (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/gio/gdbusprivate.c:2633,1
    - Dst: append_nibble
      Src: /src/glib/gio/gdbusprivate.c:2645,1
    - Dst: append_nibble
      Src: /src/glib/gio/gdbusprivate.c:2644,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbusprivate.c:2648,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2649
      start: 2626
    functionDepth: 0
    functionLinenumber: 2626
    functionLinenumberEnd: 2649
    functionName: _g_dbus_hexencode
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - append_nibble
    - g_string_free
    - g_string_new
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *_g_dbus_hexencode (const gchar *str, gsize str_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/gio/gdbusprivate.c:181,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gdbusprivate.c:190,1
    - Dst: g_task_set_name
      Src: /src/glib/gio/gdbusprivate.c:189,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gdbusprivate.c:188,1
    - Dst: g_task_new
      Src: /src/glib/gio/gdbusprivate.c:187,1
    - Dst: g_socket_condition_check
      Src: /src/glib/gio/gdbusprivate.c:192,1
    - Dst: _g_socket_read_with_control_messages_ready
      Src: /src/glib/gio/gdbusprivate.c:194,1
    - Dst: g_socket_create_source
      Src: /src/glib/gio/gdbusprivate.c:198,1
    - Dst: g_task_attach_source
      Src: /src/glib/gio/gdbusprivate.c:201,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gdbusprivate.c:202,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 9
    argNames:
    - socket
    - buffer
    - count
    - messages
    - num_messages
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GSocket*
    - void*
    - gsize
    - GSocketControlMessage***
    - gint*
    - gint
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 203
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 203
    functionName: _g_socket_read_with_control_messages
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_socket_condition_check
    - g_task_new
    - g_slice_new0
    - g_task_set_source_tag
    - _g_socket_read_with_control_messages_ready
    - g_socket_create_source
    - g_source_unref
    - g_task_set_task_data
    - g_task_attach_source
    - g_task_set_name
    linkageType: ''
    returnType: void
    signature: 'static void _g_socket_read_with_control_messages (GSocket *socket,
      void *buffer, gsize count, GSocketControlMessage ***messages, gint *num_messages,
      gint io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer
      user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_io_stream_close_finish
      Src: /src/glib/gio/gdbusprivate.c:1387,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusprivate.c:1407,1
    - Dst: g_error_copy
      Src: /src/glib/gio/gdbusprivate.c:1419,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gdbusprivate.c:1421,1
    - Dst: g_error_new
      Src: /src/glib/gio/gdbusprivate.c:1432,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gdbusprivate.c:1427,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gdbusprivate.c:1436,1
    - Dst: _
      Src: /src/glib/gio/gdbusprivate.c:1433,1
    - Dst: close_data_free
      Src: /src/glib/gio/gdbusprivate.c:1424,1
    - Dst: g_list_delete_link
      Src: /src/glib/gio/gdbusprivate.c:1413,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gdbusprivate.c:1419,1
    - Dst: g_list_free
      Src: /src/glib/gio/gdbusprivate.c:1435,1
    - Dst: flush_data_list_complete
      Src: /src/glib/gio/gdbusprivate.c:1434,1
    - Dst: _g_dbus_worker_unref
      Src: /src/glib/gio/gdbusprivate.c:1438,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusprivate.c:1389,1
    - Dst: g_queue_new
      Src: /src/glib/gio/gdbusprivate.c:1398,1
    - Dst: g_list_length
      Src: /src/glib/gio/gdbusprivate.c:1405,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusprivate.c:1400,1
    - Dst: g_queue_free_full
      Src: /src/glib/gio/gdbusprivate.c:1430,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1439
      start: 1377
    functionDepth: 0
    functionLinenumber: 1377
    functionLinenumberEnd: 1439
    functionName: iostream_close_cb
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_list_delete_link
    - g_task_return_boolean
    - g_clear_error
    - g_mutex_unlock
    - g_mutex_lock
    - g_assert
    - g_list_length
    - close_data_free
    - _g_dbus_worker_unref
    - g_error_new
    - g_queue_new
    - g_queue_free_full
    - flush_data_list_complete
    - g_list_free
    - g_error_copy
    - _
    - g_io_stream_close_finish
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void iostream_close_cb (GObject *source_object, GAsyncResult
      *res, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusprivate.c:210,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusprivate.c:211,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/gdbusprivate.c:213,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/gdbusprivate.c:210,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gdbusprivate.c:211,1
    - Dst: G_TASK
      Src: /src/glib/gio/gdbusprivate.c:213,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - socket
    - result
    - error
    argTypes:
    - GSocket*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 214
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 214
    functionName: _g_socket_read_with_control_messages_finish
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_task_is_valid
    - g_task_propagate_int
    - G_TASK
    - G_IS_SOCKET
    linkageType: ''
    returnType: gssize
    signature: 'static gssize _g_socket_read_with_control_messages_finish (GSocket
      *socket, GAsyncResult *result, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusprivate.c:1347,1
    - Dst: _g_dbus_worker_emit_disconnected
      Src: /src/glib/gio/gdbusprivate.c:1357,1
    - Dst: write_message_finish
      Src: /src/glib/gio/gdbusprivate.c:1352,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusprivate.c:1354,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusprivate.c:1348,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusprivate.c:1358,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusprivate.c:1360,1
    - Dst: message_written_unlocked
      Src: /src/glib/gio/gdbusprivate.c:1363,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusprivate.c:1365,1
    - Dst: continue_writing
      Src: /src/glib/gio/gdbusprivate.c:1367,1
    - Dst: message_to_write_data_free
      Src: /src/glib/gio/gdbusprivate.c:1369,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1370
      start: 1339
    functionDepth: 0
    functionLinenumber: 1339
    functionLinenumberEnd: 1370
    functionName: write_message_cb
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - message_to_write_data_free
    - g_mutex_unlock
    - g_mutex_lock
    - g_assert
    - _g_dbus_worker_emit_disconnected
    - continue_writing
    - write_message_finish
    - g_error_free
    - message_written_unlocked
    linkageType: ''
    returnType: void
    signature: 'static void write_message_cb (GObject *source_object, GAsyncResult
      *res, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_idle_source_new
      Src: /src/glib/gio/gdbusprivate.c:552,1
    - Dst: _g_dbus_worker_ref
      Src: /src/glib/gio/gdbusprivate.c:556,1
    - Dst: g_source_set_priority
      Src: /src/glib/gio/gdbusprivate.c:553,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gdbusprivate.c:558,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gdbusprivate.c:554,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gdbusprivate.c:559,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gdbusprivate.c:560,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - worker
    argTypes:
    - GDBusWorker*
    constantsTouched: []
    func_position:
      end: 561
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 561
    functionName: _g_dbus_worker_unfreeze
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - _g_dbus_worker_ref
    - g_source_set_priority
    - g_source_set_callback
    - g_idle_source_new
    - g_source_attach
    - g_source_unref
    - g_source_set_static_name
    linkageType: ''
    returnType: void
    signature: 'void _g_dbus_worker_unfreeze (GDBusWorker *worker) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_FD_MESSAGE
      Src: /src/glib/gio/gdbusprivate.c:609,1
    - Dst: g_unix_fd_message_steal_fds
      Src: /src/glib/gio/gdbusprivate.c:610,1
    - Dst: g_close
      Src: /src/glib/gio/gdbusprivate.c:622,1
    - Dst: g_unix_fd_list_append
      Src: /src/glib/gio/gdbusprivate.c:621,1
    - Dst: g_unix_fd_list_new_from_array
      Src: /src/glib/gio/gdbusprivate.c:613,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusprivate.c:625,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - (control_message)
    argTypes:
    - G_IS_UNIX_FD_MESSAGE
    constantsTouched: []
    func_position:
      end: 626
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 626
    functionName: if
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_unix_fd_list_new_from_array
    - g_free
    - G_UNIX_FD_MESSAGE
    - g_close
    - g_unix_fd_list_append
    - g_unix_fd_message_steal_fds
    linkageType: ''
    returnType: else
    signature: 'else if (G_IS_UNIX_FD_MESSAGE (control_message)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - (control_message)
    argTypes:
    - G_IS_UNIX_CREDENTIALS_MESSAGE
    constantsTouched: []
    func_position:
      end: 630
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 630
    functionName: if
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: else
    signature: 'else if (G_IS_UNIX_CREDENTIALS_MESSAGE (control_message)) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: find_dbus_process_path
      Src: /src/glib/gio/gdbusprivate.c:2331,1
    - Dst: wcscpy
      Src: /src/glib/gio/gdbusprivate.c:2349,1
    - Dst: wcscpy
      Src: /src/glib/gio/gdbusprivate.c:2354,1
    - Dst: wcscat
      Src: /src/glib/gio/gdbusprivate.c:2359,1
    - Dst: read_shm
      Src: /src/glib/gio/gdbusprivate.c:2371,1
    - Dst: acquire_mutex
      Src: /src/glib/gio/gdbusprivate.c:2320,1
    - Dst: read_shm
      Src: /src/glib/gio/gdbusprivate.c:2325,1
    - Dst: release_mutex
      Src: /src/glib/gio/gdbusprivate.c:2327,1
    - Dst: acquire_mutex
      Src: /src/glib/gio/gdbusprivate.c:2322,1
    - Dst: is_mutex_owned
      Src: /src/glib/gio/gdbusprivate.c:2324,1
    - Dst: wcsrchr
      Src: /src/glib/gio/gdbusprivate.c:2350,1
    - Dst: CreateProcessW
      Src: /src/glib/gio/gdbusprivate.c:2363,1
    - Dst: _L_PREFIX
      Src: /src/glib/gio/gdbusprivate.c:2359,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusprivate.c:2383,1
    - Dst: _
      Src: /src/glib/gio/gdbusprivate.c:2386,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusprivate.c:2338,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusprivate.c:2376,1
    - Dst: release_mutex
      Src: /src/glib/gio/gdbusprivate.c:2380,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusprivate.c:2373,1
    - Dst: wcscat
      Src: /src/glib/gio/gdbusprivate.c:2356,1
    - Dst: wcscat
      Src: /src/glib/gio/gdbusprivate.c:2355,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2389
      start: 2314
    functionDepth: 0
    functionLinenumber: 2314
    functionLinenumberEnd: 2389
    functionName: _g_dbus_win32_get_session_address_dbus_launch
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - find_dbus_process_path
    - g_set_error
    - wcscpy
    - is_mutex_owned
    - g_warning
    - wcscat
    - read_shm
    - release_mutex
    - acquire_mutex
    - CreateProcessW
    - _
    - wcsrchr
    - _L_PREFIX
    - g_free
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *_g_dbus_win32_get_session_address_dbus_launch (GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_dbus_initialize
      Src: /src/glib/gio/gdbusprivate.c:1897,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1899
      start: 1894
    functionDepth: 0
    functionLinenumber: 1894
    functionLinenumberEnd: 1899
    functionName: _g_dbus_debug_signal
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - _g_dbus_initialize
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _g_dbus_debug_signal (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusprivate.c:1156,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gdbusprivate.c:1156,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gdbusprivate.c:1158,1
    - Dst: G_TASK
      Src: /src/glib/gio/gdbusprivate.c:1158,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - res
    - error
    argTypes:
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 1159
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1159
    functionName: write_message_finish
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - g_task_is_valid
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean write_message_finish (GAsyncResult *res, GError **error) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusprivate.c:1456,1
    - Dst: g_queue_pop_head
      Src: /src/glib/gio/gdbusprivate.c:1482,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusprivate.c:1543,1
    - Dst: g_dbus_message_get_serial
      Src: /src/glib/gio/gdbusprivate.c:1541,1
    - Dst: g_dbus_message_to_blob
      Src: /src/glib/gio/gdbusprivate.c:1531,1
    - Dst: prepare_flush_unlocked
      Src: /src/glib/gio/gdbusprivate.c:1478,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusprivate.c:1489,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusprivate.c:1540,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusprivate.c:1503,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusprivate.c:1521,1
    - Dst: write_message_async
      Src: /src/glib/gio/gdbusprivate.c:1553,1
    - Dst: g_input_stream_has_pending
      Src: /src/glib/gio/gdbusprivate.c:1466,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusprivate.c:1523,1
    - Dst: message_to_write_data_free
      Src: /src/glib/gio/gdbusprivate.c:1524,1
    - Dst: _g_dbus_worker_emit_message_about_to_be_sent
      Src: /src/glib/gio/gdbusprivate.c:1513,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusprivate.c:1454,1
    - Dst: g_io_stream_close_async
      Src: /src/glib/gio/gdbusprivate.c:1471,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/gdbusprivate.c:1464,1
    - Dst: _g_dbus_worker_ref
      Src: /src/glib/gio/gdbusprivate.c:1473,1
    - Dst: start_flush
      Src: /src/glib/gio/gdbusprivate.c:1502,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusprivate.c:1547,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 58
    argCount: 1
    argNames:
    - worker
    argTypes:
    - GDBusWorker*
    constantsTouched: []
    func_position:
      end: 1558
      start: 1446
    functionDepth: 0
    functionLinenumber: 1446
    functionLinenumberEnd: 1558
    functionName: continue_writing
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - _g_dbus_worker_ref
    - message_to_write_data_free
    - g_queue_pop_head
    - _g_dbus_worker_emit_message_about_to_be_sent
    - g_warning
    - g_mutex_unlock
    - g_mutex_lock
    - g_assert
    - start_flush
    - g_dbus_message_get_serial
    - write_message_async
    - prepare_flush_unlocked
    - g_io_stream_get_input_stream
    - g_error_free
    - g_input_stream_has_pending
    - g_io_stream_close_async
    - g_dbus_message_to_blob
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void continue_writing (GDBusWorker *worker) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusprivate.c:1794,1
    - Dst: g_mutex_init
      Src: /src/glib/gio/gdbusprivate.c:1811,1
    - Dst: g_queue_get_length
      Src: /src/glib/gio/gdbusprivate.c:1799,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusprivate.c:1810,1
    - Dst: g_cond_init
      Src: /src/glib/gio/gdbusprivate.c:1812,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusprivate.c:1815,1
    - Dst: schedule_writing_unlocked
      Src: /src/glib/gio/gdbusprivate.c:1817,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusprivate.c:1819,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/gdbusprivate.c:1826,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusprivate.c:1829,1
    - Dst: g_cond_clear
      Src: /src/glib/gio/gdbusprivate.c:1830,1
    - Dst: g_mutex_clear
      Src: /src/glib/gio/gdbusprivate.c:1831,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusprivate.c:1837,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gdbusprivate.c:1835,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 3
    argNames:
    - worker
    - cancellable
    - error
    argTypes:
    - GDBusWorker*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1841
      start: 1782
    functionDepth: 0
    functionLinenumber: 1782
    functionLinenumberEnd: 1841
    functionName: _g_dbus_worker_flush_sync
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_mutex_init
    - g_mutex_unlock
    - g_cond_init
    - g_mutex_lock
    - g_mutex_clear
    - schedule_writing_unlocked
    - g_cond_clear
    - g_queue_get_length
    - g_new0
    - g_free
    - g_cond_wait
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _g_dbus_worker_flush_sync (GDBusWorker *worker, GCancellable
      *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseMutex
      Src: /src/glib/gio/gdbusprivate.c:2038,1
    - Dst: CloseHandle
      Src: /src/glib/gio/gdbusprivate.c:2039,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - HANDLE
    constantsTouched: []
    func_position:
      end: 2040
      start: 2035
    functionDepth: 0
    functionLinenumber: 2035
    functionLinenumberEnd: 2040
    functionName: release_mutex
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - ReleaseMutex
    - CloseHandle
    linkageType: ''
    returnType: void
    signature: 'static void release_mutex (HANDLE mutex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PostQuitMessage
      Src: /src/glib/gio/gdbusprivate.c:2237,1
    - Dst: GetMessage
      Src: /src/glib/gio/gdbusprivate.c:2239,1
    - Dst: DispatchMessage
      Src: /src/glib/gio/gdbusprivate.c:2245,1
    - Dst: TranslateMessage
      Src: /src/glib/gio/gdbusprivate.c:2244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2247
      start: 2231
    functionDepth: 0
    functionLinenumber: 2231
    functionLinenumberEnd: 2247
    functionName: turn_off_the_starting_cursor
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - PostQuitMessage
    - TranslateMessage
    - GetMessage
    - DispatchMessage
    linkageType: ''
    returnType: void
    signature: 'static void turn_off_the_starting_cursor (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: turn_off_the_starting_cursor
      Src: /src/glib/gio/gdbusprivate.c:2257,1
    - Dst: _g_dbus_daemon_new
      Src: /src/glib/gio/gdbusprivate.c:2263,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbusprivate.c:2266,1
    - Dst: open_console_window
      Src: /src/glib/gio/gdbusprivate.c:2260,1
    - Dst: g_getenv
      Src: /src/glib/gio/gdbusprivate.c:2259,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusprivate.c:2267,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/gdbusprivate.c:2271,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gdbusprivate.c:2279,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gdbusprivate.c:2279,1
    - Dst: publish_session_bus
      Src: /src/glib/gio/gdbusprivate.c:2281,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/gdbusprivate.c:2283,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusprivate.c:2289,1
    - Dst: unpublish_session_bus
      Src: /src/glib/gio/gdbusprivate.c:2285,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/gdbusprivate.c:2288,1
    - Dst: _g_dbus_daemon_get_address
      Src: /src/glib/gio/gdbusprivate.c:2281,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 4
    argNames:
    - hwnd
    - hinst
    - cmdline
    - cmdshow
    argTypes:
    - void*
    - void*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 2290
      start: 2249
    functionDepth: 0
    functionLinenumber: 2249
    functionLinenumberEnd: 2290
    functionName: g_win32_run_session_bus
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_main_loop_run
    - g_printerr
    - g_object_unref
    - _g_dbus_daemon_get_address
    - publish_session_bus
    - g_getenv
    - g_signal_connect
    - g_main_loop_unref
    - G_CALLBACK
    - g_main_loop_new
    - g_error_free
    - _g_dbus_daemon_new
    - turn_off_the_starting_cursor
    - open_console_window
    - unpublish_session_bus
    linkageType: ''
    returnType: void
    signature: 'void __stdcall g_win32_run_session_bus (void* hwnd, void* hinst, const
      char* cmdline, int cmdshow) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_dbus_initialize
      Src: /src/glib/gio/gdbusprivate.c:1862,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1864
      start: 1859
    functionDepth: 0
    functionLinenumber: 1859
    functionLinenumberEnd: 1864
    functionName: _g_dbus_debug_authentication
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - _g_dbus_initialize
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _g_dbus_debug_authentication (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_dbus_initialize
      Src: /src/glib/gio/gdbusprivate.c:1904,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1906
      start: 1901
    functionDepth: 0
    functionLinenumber: 1901
    functionLinenumberEnd: 1906
    functionName: _g_dbus_debug_incoming
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - _g_dbus_initialize
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _g_dbus_debug_incoming (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CreateMutex
      Src: /src/glib/gio/gdbusprivate.c:2048,1
    - Dst: release_mutex
      Src: /src/glib/gio/gdbusprivate.c:2056,1
    - Dst: WaitForSingleObject
      Src: /src/glib/gio/gdbusprivate.c:2052,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 1
    argNames:
    - mutexname
    argTypes:
    - wchar_t*
    constantsTouched: []
    func_position:
      end: 2064
      start: 2042
    functionDepth: 0
    functionLinenumber: 2042
    functionLinenumberEnd: 2064
    functionName: acquire_mutex
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - CreateMutex
    - release_mutex
    - WaitForSingleObject
    linkageType: ''
    returnType: HANDLE
    signature: 'static HANDLE acquire_mutex (const wchar_t *mutexname) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/gdbusprivate.c:1759,1
    - Dst: _g_dbus_worker_close
      Src: /src/glib/gio/gdbusprivate.c:1764,1
    - Dst: _g_dbus_worker_unref
      Src: /src/glib/gio/gdbusprivate.c:1770,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - worker
    argTypes:
    - GDBusWorker*
    constantsTouched: []
    func_position:
      end: 1771
      start: 1756
    functionDepth: 0
    functionLinenumber: 1756
    functionLinenumberEnd: 1771
    functionName: _g_dbus_worker_stop
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_atomic_int_set
    - _g_dbus_worker_close
    - _g_dbus_worker_unref
    linkageType: ''
    returnType: void
    signature: 'void _g_dbus_worker_stop (GDBusWorker *worker) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gdbusprivate.c:2013,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusprivate.c:2015,1
    - Dst: g_variant_type_new_tuple
      Src: /src/glib/gio/gdbusprivate.c:2023,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2024
      start: 2001
    functionDepth: 0
    functionLinenumber: 2001
    functionLinenumberEnd: 2024
    functionName: _g_dbus_compute_complete_signature
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_variant_type_new_tuple
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: GVariantType*
    signature: 'GVariantType *_g_dbus_compute_complete_signature (GDBusArgInfo **args) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateMutex
      Src: /src/glib/gio/gdbusprivate.c:2072,1
    - Dst: WaitForSingleObject
      Src: /src/glib/gio/gdbusprivate.c:2073,1
    - Dst: ReleaseMutex
      Src: /src/glib/gio/gdbusprivate.c:2076,1
    - Dst: CloseHandle
      Src: /src/glib/gio/gdbusprivate.c:2077,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - mutexname
    argTypes:
    - wchar_t*
    constantsTouched: []
    func_position:
      end: 2080
      start: 2066
    functionDepth: 0
    functionLinenumber: 2066
    functionLinenumberEnd: 2080
    functionName: is_mutex_owned
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - CreateMutex
    - ReleaseMutex
    - WaitForSingleObject
    - CloseHandle
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_mutex_owned (const wchar_t *mutexname) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusprivate.c:226,1
    - Dst: g_type_class_ref
      Src: /src/glib/gio/gdbusprivate.c:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - gtype
    argTypes:
    - GType
    constantsTouched: []
    func_position:
      end: 227
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 227
    functionName: ensure_type
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_type_class_ref
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void ensure_type (GType gtype) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OpenFileMapping
      Src: /src/glib/gio/gdbusprivate.c:2094,1
    - Dst: MapViewOfFile
      Src: /src/glib/gio/gdbusprivate.c:2102,1
    - Dst: UnmapViewOfFile
      Src: /src/glib/gio/gdbusprivate.c:2115,1
    - Dst: Sleep
      Src: /src/glib/gio/gdbusprivate.c:2097,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusprivate.c:2114,1
    - Dst: CloseHandle
      Src: /src/glib/gio/gdbusprivate.c:2117,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2121
      start: 2082
    functionDepth: 0
    functionLinenumber: 2082
    functionLinenumberEnd: 2121
    functionName: read_shm
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - g_strdup
    - UnmapViewOfFile
    - OpenFileMapping
    - MapViewOfFile
    - Sleep
    - CloseHandle
    linkageType: ''
    returnType: char*
    signature: 'static char *read_shm (const wchar_t *shm_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: continue_writing
      Src: /src/glib/gio/gdbusprivate.c:1574,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1577
      start: 1565
    functionDepth: 0
    functionLinenumber: 1565
    functionLinenumberEnd: 1577
    functionName: continue_writing_in_idle_cb
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - continue_writing
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean continue_writing_in_idle_cb (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/gio/gdbusprivate.c:1736,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/gdbusprivate.c:1743,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusprivate.c:1738,1
    - Dst: _g_dbus_worker_ref
      Src: /src/glib/gio/gdbusprivate.c:1737,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusprivate.c:1744,1
    - Dst: schedule_writing_unlocked
      Src: /src/glib/gio/gdbusprivate.c:1745,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusprivate.c:1746,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - worker
    - task
    argTypes:
    - GDBusWorker*
    - GTask*
    constantsTouched: []
    func_position:
      end: 1747
      start: 1730
    functionDepth: 0
    functionLinenumber: 1730
    functionLinenumberEnd: 1747
    functionName: _g_dbus_worker_close
    functionSourceFile: /src/glib/gio/gdbusprivate.c
    functionUses: []
    functionsReached:
    - _g_dbus_worker_ref
    - g_slice_new0
    - g_mutex_lock
    - g_mutex_unlock
    - schedule_writing_unlocked
    - g_object_ref
    - g_cancellable_cancel
    linkageType: ''
    returnType: void
    signature: 'void _g_dbus_worker_close (GDBusWorker *worker, GTask *task) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/gdocumentportal.c:51,1
    - Dst: gxdp_documents_call_get_mount_point_sync
      Src: /src/glib/gio/gdocumentportal.c:70,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/gdocumentportal.c:66,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/gdocumentportal.c:54,1
    - Dst: gxdp_documents_proxy_new_sync
      Src: /src/glib/gio/gdocumentportal.c:58,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdocumentportal.c:74,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/gdocumentportal.c:75,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdocumentportal.c:80,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 3
    argNames:
    - documents
    - documents_mountpoint
    - error
    argTypes:
    - GXdpDocuments**
    - char**
    - GError**
    constantsTouched: []
    func_position:
      end: 82
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 82
    functionName: get_document_portal
    functionSourceFile: /src/glib/gio/gdocumentportal.c
    functionUses: []
    functionsReached:
    - gxdp_documents_proxy_new_sync
    - g_prefix_error
    - g_clear_object
    - g_bus_get_sync
    - gxdp_documents_call_get_mount_point_sync
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean get_document_portal (GXdpDocuments **documents, char
      **documents_mountpoint, GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 1
    argNames:
    - saved_errno
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 117
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 117
    functionName: opening_ro_might_succeed
    functionSourceFile: /src/glib/gio/gdocumentportal.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean opening_ro_might_succeed (int saved_errno) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_builder_init_static
      Src: /src/glib/gio/gdocumentportal.c:145,1
    - Dst: g_new0
      Src: /src/glib/gio/gdocumentportal.c:143,1
    - Dst: opening_ro_might_succeed
      Src: /src/glib/gio/gdocumentportal.c:160,1
    - Dst: close
      Src: /src/glib/gio/gdocumentportal.c:173,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gdocumentportal.c:180,1
    - Dst: gxdp_documents_call_add_full_sync
      Src: /src/glib/gio/gdocumentportal.c:187,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdocumentportal.c:207,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gdocumentportal.c:188,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdocumentportal.c:211,1
    - Dst: g_free
      Src: /src/glib/gio/gdocumentportal.c:219,1
    - Dst: g_unix_fd_list_new
      Src: /src/glib/gio/gdocumentportal.c:147,1
    - Dst: g_open
      Src: /src/glib/gio/gdocumentportal.c:164,1
    - Dst: g_free
      Src: /src/glib/gio/gdocumentportal.c:220,1
    - Dst: g_variant_builder_clear
      Src: /src/glib/gio/gdocumentportal.c:232,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdocumentportal.c:238,1
    - Dst: g_free
      Src: /src/glib/gio/gdocumentportal.c:241,1
    - Dst: g_list_reverse
      Src: /src/glib/gio/gdocumentportal.c:227,1
    - Dst: get_document_portal
      Src: /src/glib/gio/gdocumentportal.c:137,1
    - Dst: g_list_length
      Src: /src/glib/gio/gdocumentportal.c:142,1
    - Dst: g_filename_from_uri
      Src: /src/glib/gio/gdocumentportal.c:154,1
    - Dst: g_unix_fd_list_get_length
      Src: /src/glib/gio/gdocumentportal.c:185,1
    - Dst: strcmp
      Src: /src/glib/gio/gdocumentportal.c:209,1
    - Dst: strlen
      Src: /src/glib/gio/gdocumentportal.c:216,1
    - Dst: g_list_copy_deep
      Src: /src/glib/gio/gdocumentportal.c:231,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdocumentportal.c:236,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdocumentportal.c:237,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdocumentportal.c:239,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdocumentportal.c:145,1
    - Dst: g_open
      Src: /src/glib/gio/gdocumentportal.c:159,1
    - Dst: g_free
      Src: /src/glib/gio/gdocumentportal.c:177,1
    - Dst: g_unix_fd_list_append
      Src: /src/glib/gio/gdocumentportal.c:172,1
    - Dst: fcntl
      Src: /src/glib/gio/gdocumentportal.c:170,1
    - Dst: g_path_get_basename
      Src: /src/glib/gio/gdocumentportal.c:216,1
    - Dst: g_build_filename
      Src: /src/glib/gio/gdocumentportal.c:217,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gdocumentportal.c:218,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gdocumentportal.c:224,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdocumentportal.c:240,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 83
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 244
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 244
    functionName: g_document_portal_add_documents
    functionSourceFile: /src/glib/gio/gdocumentportal.c
    functionUses: []
    functionsReached:
    - g_path_get_basename
    - g_strconcat
    - g_filename_from_uri
    - g_list_length
    - strcmp
    - g_list_prepend
    - g_open
    - g_list_copy_deep
    - g_variant_builder_init_static
    - g_unix_fd_list_get_length
    - g_clear_pointer
    - g_clear_object
    - g_unix_fd_list_append
    - g_build_filename
    - fcntl
    - g_variant_builder_add
    - g_variant_builder_end
    - g_list_reverse
    - g_strdup
    - strlen
    - get_document_portal
    - gxdp_documents_call_add_full_sync
    - G_VARIANT_TYPE
    - opening_ro_might_succeed
    - g_variant_builder_clear
    - g_unix_fd_list_new
    - close
    - g_new0
    - g_free
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_document_portal_add_documents (GList *uris, const char *app_id,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_CREDENTIALS
      Src: /src/glib/gio/gcredentials.c:128,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gcredentials.c:133,1
    - Dst: ucred_free
      Src: /src/glib/gio/gcredentials.c:130,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gcredentials.c:134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 135
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 135
    functionName: g_credentials_finalize
    functionSourceFile: /src/glib/gio/gcredentials.c
    functionUses: []
    functionsReached:
    - ucred_free
    - G_CREDENTIALS
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_credentials_finalize (GObject *object) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gcredentials.c:240,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gcredentials.c:249,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gcredentials.c:274,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gcredentials.c:276,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gcredentials.c:286,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gcredentials.c:288,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gcredentials.c:290,1
    - Dst: g_string_append
      Src: /src/glib/gio/gcredentials.c:297,1
    - Dst: g_string_free
      Src: /src/glib/gio/gcredentials.c:300,1
    - Dst: g_string_append
      Src: /src/glib/gio/gcredentials.c:236,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gcredentials.c:265,1
    - Dst: g_string_append
      Src: /src/glib/gio/gcredentials.c:255,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gcredentials.c:261,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gcredentials.c:269,1
    - Dst: g_string_append
      Src: /src/glib/gio/gcredentials.c:282,1
    - Dst: ucred_getpid
      Src: /src/glib/gio/gcredentials.c:285,1
    - Dst: ucred_geteuid
      Src: /src/glib/gio/gcredentials.c:287,1
    - Dst: ucred_getegid
      Src: /src/glib/gio/gcredentials.c:289,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gcredentials.c:295,1
    - Dst: glib_typeof
      Src: /src/glib/gio/gcredentials.c:229,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcredentials.c:232,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gcredentials.c:238,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gcredentials.c:242,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gcredentials.c:251,1
    - Dst: g_string_append
      Src: /src/glib/gio/gcredentials.c:272,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gcredentials.c:278,1
    - Dst: G_IS_CREDENTIALS
      Src: /src/glib/gio/gcredentials.c:232,1
    - Dst: g_string_new
      Src: /src/glib/gio/gcredentials.c:234,1
    - Dst: g_string_append
      Src: /src/glib/gio/gcredentials.c:246,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gcredentials.c:247,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gcredentials.c:259,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gcredentials.c:267,1
    - Dst: g_string_append
      Src: /src/glib/gio/gcredentials.c:263,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gcredentials.c:257,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 92
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 301
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 301
    functionName: g_credentials_to_string
    functionSourceFile: /src/glib/gio/gcredentials.c
    functionUses: []
    functionsReached:
    - ucred_getegid
    - g_return_val_if_fail
    - ucred_getpid
    - G_IS_CREDENTIALS
    - ucred_geteuid
    - g_string_free
    - glib_typeof
    - g_string_new
    - g_string_append_printf
    - g_string_append
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_credentials_to_string (GCredentials *credentials) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gcredentials.c:323,1
    - Dst: _
      Src: /src/glib/gio/gcredentials.c:326,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - native
    - error
    argTypes:
    - struct ucred*
    - GError**
    constantsTouched: []
    func_position:
      end: 331
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 331
    functionName: linux_ucred_check_valid
    functionSourceFile: /src/glib/gio/gcredentials.c
    functionUses: []
    functionsReached:
    - _
    - g_set_error_literal
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean linux_ucred_check_valid (struct ucred *native, GError
      **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcredentials.c:357,1
    - Dst: G_IS_CREDENTIALS
      Src: /src/glib/gio/gcredentials.c:358,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcredentials.c:359,1
    - Dst: G_IS_CREDENTIALS
      Src: /src/glib/gio/gcredentials.c:357,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcredentials.c:358,1
    - Dst: linux_ucred_check_valid
      Src: /src/glib/gio/gcredentials.c:363,1
    - Dst: ucred_geteuid
      Src: /src/glib/gio/gcredentials.c:380,1
    - Dst: ucred_geteuid
      Src: /src/glib/gio/gcredentials.c:380,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gcredentials.c:383,1
    - Dst: _
      Src: /src/glib/gio/gcredentials.c:386,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 30
    argCount: 3
    argNames:
    - credentials
    - other_credentials
    - error
    argTypes:
    - GCredentials*
    - GCredentials*
    - GError**
    constantsTouched: []
    func_position:
      end: 390
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 390
    functionName: g_credentials_is_same_user
    functionSourceFile: /src/glib/gio/gcredentials.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_CREDENTIALS
    - ucred_geteuid
    - g_set_error_literal
    - linux_ucred_check_valid
    - _
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_credentials_is_same_user (GCredentials *credentials, GCredentials
      *other_credentials, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: credentials_native_type_check
      Src: /src/glib/gio/gcredentials.c:486,1
    - Dst: memcpy
      Src: /src/glib/gio/gcredentials.c:490,1
    - Dst: memcpy
      Src: /src/glib/gio/gcredentials.c:492,1
    - Dst: ucred_size
      Src: /src/glib/gio/gcredentials.c:490,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gcredentials.c:494,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - credentials
    - native_type
    - native
    argTypes:
    - GCredentials*
    - GCredentialsType
    - gpointer
    constantsTouched: []
    func_position:
      end: 496
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 496
    functionName: g_credentials_set_native
    functionSourceFile: /src/glib/gio/gcredentials.c
    functionUses: []
    functionsReached:
    - memcpy
    - ucred_size
    - credentials_native_type_check
    - g_assert_not_reached
    linkageType: ''
    returnType: void
    signature: 'void g_credentials_set_native (GCredentials *credentials, GCredentialsType
      native_type, gpointer native) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcredentials.c:523,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcredentials.c:524,1
    - Dst: linux_ucred_check_valid
      Src: /src/glib/gio/gcredentials.c:527,1
    - Dst: g_set_error
      Src: /src/glib/gio/gcredentials.c:538,1
    - Dst: G_IS_CREDENTIALS
      Src: /src/glib/gio/gcredentials.c:523,1
    - Dst: _
      Src: /src/glib/gio/gcredentials.c:541,1
    - Dst: ucred_geteuid
      Src: /src/glib/gio/gcredentials.c:553,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gcredentials.c:556,1
    - Dst: _
      Src: /src/glib/gio/gcredentials.c:559,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 2
    argNames:
    - credentials
    - error
    argTypes:
    - GCredentials*
    - GError**
    constantsTouched: []
    func_position:
      end: 563
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 563
    functionName: g_credentials_get_unix_user
    functionSourceFile: /src/glib/gio/gcredentials.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_return_val_if_fail
    - G_IS_CREDENTIALS
    - ucred_geteuid
    - g_set_error_literal
    - linux_ucred_check_valid
    - _
    linkageType: ''
    returnType: uid_t
    signature: 'uid_t g_credentials_get_unix_user (GCredentials *credentials, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcredentials.c:648,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcredentials.c:650,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gcredentials.c:668,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcredentials.c:649,1
    - Dst: G_IS_CREDENTIALS
      Src: /src/glib/gio/gcredentials.c:648,1
    - Dst: _
      Src: /src/glib/gio/gcredentials.c:671,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gcredentials.c:674,1
    - Dst: _
      Src: /src/glib/gio/gcredentials.c:677,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - credentials
    - uid
    - error
    argTypes:
    - GCredentials*
    - uid_t
    - GError**
    constantsTouched: []
    func_position:
      end: 682
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 682
    functionName: g_credentials_set_unix_user
    functionSourceFile: /src/glib/gio/gcredentials.c
    functionUses: []
    functionsReached:
    - _
    - g_set_error_literal
    - g_return_val_if_fail
    - G_IS_CREDENTIALS
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_credentials_set_unix_user (GCredentials *credentials, uid_t
      uid, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gcredentials.c:689,1
    - Dst: G_IS_CREDENTIALS
      Src: /src/glib/gio/gcredentials.c:689,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gcredentials.c:690,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - credentials
    - pid
    argTypes:
    - GCredentials*
    - pid_t
    constantsTouched: []
    func_position:
      end: 693
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 693
    functionName: _g_credentials_set_local_peerid
    functionSourceFile: /src/glib/gio/gcredentials.c
    functionUses: []
    functionsReached:
    - G_IS_CREDENTIALS
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void _g_credentials_set_local_peerid (GCredentials *credentials, pid_t
      pid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gcredentials.c:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 208
    functionName: g_credentials_new
    functionSourceFile: /src/glib/gio/gcredentials.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: GCredentials*
    signature: 'GCredentials *g_credentials_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gcredentials.c:143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GCredentialsClass*
    constantsTouched: []
    func_position:
      end: 145
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 145
    functionName: g_credentials_class_init
    functionSourceFile: /src/glib/gio/gcredentials.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_credentials_class_init (GCredentialsClass *klass) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_type_class_ref
      Src: /src/glib/gio/gcredentials.c:407,1
    - Dst: g_assert
      Src: /src/glib/gio/gcredentials.c:412,1
    - Dst: g_credentials_type_get_type
      Src: /src/glib/gio/gcredentials.c:407,1
    - Dst: g_enum_get_value
      Src: /src/glib/gio/gcredentials.c:408,1
    - Dst: g_enum_get_value
      Src: /src/glib/gio/gcredentials.c:411,1
    - Dst: g_warning
      Src: /src/glib/gio/gcredentials.c:413,1
    - Dst: g_warning
      Src: /src/glib/gio/gcredentials.c:419,1
    - Dst: g_type_class_unref
      Src: /src/glib/gio/gcredentials.c:425,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - requested_type
    - op
    argTypes:
    - GCredentialsType
    - char*
    constantsTouched: []
    func_position:
      end: 427
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 427
    functionName: credentials_native_type_check
    functionSourceFile: /src/glib/gio/gcredentials.c
    functionUses: []
    functionsReached:
    - g_type_class_ref
    - g_warning
    - g_assert
    - g_enum_get_value
    - g_type_class_unref
    - g_credentials_type_get_type
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean credentials_native_type_check (GCredentialsType requested_type,
      const char *op) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/glib/gio/gcredentials.c:151,1
    - Dst: getegid
      Src: /src/glib/gio/gcredentials.c:153,1
    - Dst: getegid
      Src: /src/glib/gio/gcredentials.c:160,1
    - Dst: geteuid
      Src: /src/glib/gio/gcredentials.c:152,1
    - Dst: geteuid
      Src: /src/glib/gio/gcredentials.c:158,1
    - Dst: memset
      Src: /src/glib/gio/gcredentials.c:173,1
    - Dst: getpid
      Src: /src/glib/gio/gcredentials.c:174,1
    - Dst: geteuid
      Src: /src/glib/gio/gcredentials.c:175,1
    - Dst: getegid
      Src: /src/glib/gio/gcredentials.c:176,1
    - Dst: getpid
      Src: /src/glib/gio/gcredentials.c:178,1
    - Dst: GetCurrentProcessId
      Src: /src/glib/gio/gcredentials.c:188,1
    - Dst: ucred_get
      Src: /src/glib/gio/gcredentials.c:186,1
    - Dst: getegid
      Src: /src/glib/gio/gcredentials.c:184,1
    - Dst: geteuid
      Src: /src/glib/gio/gcredentials.c:183,1
    - Dst: getpid
      Src: /src/glib/gio/gcredentials.c:182,1
    - Dst: getegid
      Src: /src/glib/gio/gcredentials.c:180,1
    - Dst: geteuid
      Src: /src/glib/gio/gcredentials.c:179,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 1
    argNames:
    - credentials
    argTypes:
    - GCredentials*
    constantsTouched: []
    func_position:
      end: 190
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 190
    functionName: g_credentials_init
    functionSourceFile: /src/glib/gio/gcredentials.c
    functionUses: []
    functionsReached:
    - GetCurrentProcessId
    - ucred_get
    - getegid
    - getpid
    - memset
    - geteuid
    linkageType: ''
    returnType: void
    signature: 'static void g_credentials_init (GCredentials *credentials) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcredentials.c:452,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gcredentials.c:462,1
    - Dst: G_IS_CREDENTIALS
      Src: /src/glib/gio/gcredentials.c:452,1
    - Dst: credentials_native_type_check
      Src: /src/glib/gio/gcredentials.c:454,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - credentials
    - native_type
    argTypes:
    - GCredentials*
    - GCredentialsType
    constantsTouched: []
    func_position:
      end: 464
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 464
    functionName: g_credentials_get_native
    functionSourceFile: /src/glib/gio/gcredentials.c
    functionUses: []
    functionsReached:
    - credentials_native_type_check
    - g_return_val_if_fail
    - G_IS_CREDENTIALS
    - g_assert_not_reached
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_credentials_get_native (GCredentials *credentials, GCredentialsType
      native_type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcredentials.c:587,1
    - Dst: ucred_getpid
      Src: /src/glib/gio/gcredentials.c:602,1
    - Dst: G_IS_CREDENTIALS
      Src: /src/glib/gio/gcredentials.c:587,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcredentials.c:588,1
    - Dst: linux_ucred_check_valid
      Src: /src/glib/gio/gcredentials.c:591,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gcredentials.c:614,1
    - Dst: _
      Src: /src/glib/gio/gcredentials.c:617,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 2
    argNames:
    - credentials
    - error
    argTypes:
    - GCredentials*
    - GError**
    constantsTouched: []
    func_position:
      end: 621
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 621
    functionName: g_credentials_get_unix_pid
    functionSourceFile: /src/glib/gio/gcredentials.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - ucred_getpid
    - G_IS_CREDENTIALS
    - g_set_error_literal
    - linux_ucred_check_valid
    - _
    linkageType: ''
    returnType: pid_t
    signature: 'pid_t g_credentials_get_unix_pid (GCredentials *credentials, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_MENU
      Src: /src/glib/gio/gmenu.c:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - model
    argTypes:
    - GMenuModel*
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: g_menu_get_n_items
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - G_MENU
    linkageType: ''
    returnType: gint
    signature: 'static gint g_menu_get_n_items (GMenuModel *model) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_MENU
      Src: /src/glib/gio/gmenu.c:115,1
    - Dst: g_array_index
      Src: /src/glib/gio/gmenu.c:117,1
    - Dst: g_hash_table_ref
      Src: /src/glib/gio/gmenu.c:117,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - model
    - position
    - table
    argTypes:
    - GMenuModel*
    - gint
    - GHashTable**
    constantsTouched: []
    func_position:
      end: 118
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 118
    functionName: g_menu_get_item_links
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_hash_table_ref
    - G_MENU
    - g_array_index
    linkageType: ''
    returnType: void
    signature: 'static void g_menu_get_item_links (GMenuModel *model, gint position,
      GHashTable **table) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_menu_item_new_submenu
      Src: /src/glib/gio/gmenu.c:397,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gmenu.c:399,1
    - Dst: g_menu_insert_item
      Src: /src/glib/gio/gmenu.c:398,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - menu
    - position
    - label
    - submenu
    argTypes:
    - GMenu*
    - gint
    - gchar*
    - GMenuModel*
    constantsTouched: []
    func_position:
      end: 400
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 400
    functionName: g_menu_insert_submenu
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_menu_insert_item
    - g_menu_item_new_submenu
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'void g_menu_insert_submenu (GMenu *menu, gint position, const gchar
      *label, GMenuModel *submenu) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmenu.c:494,1
    - Dst: g_array_index
      Src: /src/glib/gio/gmenu.c:498,1
    - Dst: G_IS_MENU
      Src: /src/glib/gio/gmenu.c:494,1
    - Dst: g_array_set_size
      Src: /src/glib/gio/gmenu.c:499,1
    - Dst: g_menu_clear_item
      Src: /src/glib/gio/gmenu.c:498,1
    - Dst: g_menu_model_items_changed
      Src: /src/glib/gio/gmenu.c:501,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/gmenu.c:501,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - menu
    argTypes:
    - GMenu*
    constantsTouched: []
    func_position:
      end: 502
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 502
    functionName: g_menu_remove_all
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - G_IS_MENU
    - g_menu_model_items_changed
    - g_array_set_size
    - g_return_if_fail
    - g_array_index
    - g_menu_clear_item
    - G_MENU_MODEL
    linkageType: ''
    returnType: void
    signature: 'void g_menu_remove_all (GMenu *menu) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_islower
      Src: /src/glib/gio/gmenu.c:610,1
    - Dst: g_ascii_isdigit
      Src: /src/glib/gio/gmenu.c:617,1
    - Dst: g_ascii_islower
      Src: /src/glib/gio/gmenu.c:616,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 1
    argNames:
    - name
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 631
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 631
    functionName: valid_attribute_name
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_ascii_isdigit
    - g_ascii_islower
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean valid_attribute_name (const gchar *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmenu.c:751,1
    - Dst: G_IS_MENU_ITEM
      Src: /src/glib/gio/gmenu.c:751,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmenu.c:752,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmenu.c:753,1
    - Dst: valid_attribute_name
      Src: /src/glib/gio/gmenu.c:753,1
    - Dst: g_menu_item_clear_cow
      Src: /src/glib/gio/gmenu.c:755,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gmenu.c:758,1
    - Dst: g_strdup
      Src: /src/glib/gio/gmenu.c:758,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gmenu.c:758,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gmenu.c:760,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - menu_item
    - link
    - model
    argTypes:
    - GMenuItem*
    - gchar*
    - GMenuModel*
    constantsTouched: []
    func_position:
      end: 761
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 761
    functionName: g_menu_item_set_link
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_return_if_fail
    - g_menu_item_clear_cow
    - g_hash_table_remove
    - G_IS_MENU_ITEM
    - g_hash_table_insert
    - g_object_ref
    - valid_attribute_name
    linkageType: ''
    returnType: void
    signature: 'void g_menu_item_set_link (GMenuItem *menu_item, const gchar *link,
      GMenuModel *model) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gmenu.c:1245,1
    - Dst: g_menu_item_set_label
      Src: /src/glib/gio/gmenu.c:1248,1
    - Dst: g_menu_item_set_section
      Src: /src/glib/gio/gmenu.c:1250,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1239
    functionDepth: 0
    functionLinenumber: 1239
    functionLinenumberEnd: 1253
    functionName: g_menu_item_new_section
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_menu_item_set_section
    - g_object_new
    - g_menu_item_set_label
    linkageType: ''
    returnType: GMenuItem*
    signature: 'GMenuItem *g_menu_item_new_section (const gchar *label, GMenuModel
      *section) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_MENU
      Src: /src/glib/gio/gmenu.c:105,1
    - Dst: g_array_index
      Src: /src/glib/gio/gmenu.c:107,1
    - Dst: g_hash_table_ref
      Src: /src/glib/gio/gmenu.c:107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - model
    - position
    - table
    argTypes:
    - GMenuModel*
    - gint
    - GHashTable**
    constantsTouched: []
    func_position:
      end: 108
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 108
    functionName: g_menu_get_item_attributes
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_hash_table_ref
    - G_MENU
    - g_array_index
    linkageType: ''
    returnType: void
    signature: 'static void g_menu_get_item_attributes (GMenuModel *model, gint position,
      GHashTable **table) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_menu_insert_section
      Src: /src/glib/gio/gmenu.c:373,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - menu
    - label
    - section
    argTypes:
    - GMenu*
    - gchar*
    - GMenuModel*
    constantsTouched: []
    func_position:
      end: 374
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 374
    functionName: g_menu_append_section
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_menu_insert_section
    linkageType: ''
    returnType: void
    signature: 'void g_menu_append_section (GMenu *menu, const gchar *label, GMenuModel
      *section) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmenu.c:473,1
    - Dst: g_menu_clear_item
      Src: /src/glib/gio/gmenu.c:476,1
    - Dst: G_IS_MENU
      Src: /src/glib/gio/gmenu.c:473,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmenu.c:474,1
    - Dst: g_array_index
      Src: /src/glib/gio/gmenu.c:476,1
    - Dst: g_array_remove_index
      Src: /src/glib/gio/gmenu.c:477,1
    - Dst: g_menu_model_items_changed
      Src: /src/glib/gio/gmenu.c:478,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/gmenu.c:478,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - menu
    - position
    argTypes:
    - GMenu*
    - gint
    constantsTouched: []
    func_position:
      end: 479
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 479
    functionName: g_menu_remove
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - G_IS_MENU
    - g_menu_model_items_changed
    - g_return_if_fail
    - g_array_remove_index
    - g_array_index
    - g_menu_clear_item
    - G_MENU_MODEL
    linkageType: ''
    returnType: void
    signature: 'void g_menu_remove (GMenu *menu, gint position) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - class
    argTypes:
    - GMenuItemClass*
    constantsTouched: []
    func_position:
      end: 596
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 596
    functionName: g_menu_item_class_init
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_menu_item_class_init (GMenuItemClass *class) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_action_parse_detailed_name
      Src: /src/glib/gio/gmenu.c:1095,1
    - Dst: g_free
      Src: /src/glib/gio/gmenu.c:1101,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gmenu.c:1100,1
    - Dst: g_menu_item_set_action_and_target_value
      Src: /src/glib/gio/gmenu.c:1098,1
    - Dst: g_error
      Src: /src/glib/gio/gmenu.c:1096,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 2
    argNames:
    - menu_item
    - detailed_action
    argTypes:
    - GMenuItem*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1102
      start: 1087
    functionDepth: 0
    functionLinenumber: 1087
    functionLinenumberEnd: 1102
    functionName: g_menu_item_set_detailed_action
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_variant_unref
    - g_menu_item_set_action_and_target_value
    - g_action_parse_detailed_name
    - g_error
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_menu_item_set_detailed_action (GMenuItem *menu_item, const
      gchar *detailed_action) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gmenu.c:1159,1
    - Dst: g_menu_item_set_label
      Src: /src/glib/gio/gmenu.c:1162,1
    - Dst: g_menu_item_set_submenu
      Src: /src/glib/gio/gmenu.c:1164,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1153
    functionDepth: 0
    functionLinenumber: 1153
    functionLinenumberEnd: 1167
    functionName: g_menu_item_new_submenu
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_menu_item_set_submenu
    - g_object_new
    - g_menu_item_set_label
    linkageType: ''
    returnType: GMenuItem*
    signature: 'GMenuItem *g_menu_item_new_submenu (const gchar *label, GMenuModel
      *submenu) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_menu_insert
      Src: /src/glib/gio/gmenu.c:306,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - menu
    - label
    - detailed_action
    argTypes:
    - GMenu*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 307
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 307
    functionName: g_menu_append
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_menu_insert
    linkageType: ''
    returnType: void
    signature: 'void g_menu_append (GMenu *menu, const gchar *label, const gchar *detailed_action) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_MENU
      Src: /src/glib/gio/gmenu.c:507,1
    - Dst: g_array_free
      Src: /src/glib/gio/gmenu.c:513,1
    - Dst: g_menu_clear_item
      Src: /src/glib/gio/gmenu.c:515,1
    - Dst: g_free
      Src: /src/glib/gio/gmenu.c:516,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gmenu.c:518,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 520
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 520
    functionName: g_menu_finalize
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_array_free
    - G_MENU
    - G_OBJECT_CLASS
    - g_menu_clear_item
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void g_menu_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_MENU_MODEL_CLASS
      Src: /src/glib/gio/gmenu.c:532,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gmenu.c:533,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - class
    argTypes:
    - GMenuClass*
    constantsTouched: []
    func_position:
      end: 541
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 541
    functionName: g_menu_class_init
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - G_MENU_MODEL_CLASS
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_menu_class_init (GMenuClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_MENU_ITEM
      Src: /src/glib/gio/gmenu.c:575,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gmenu.c:578,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gmenu.c:577,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gmenu.c:580,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 582
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 582
    functionName: g_menu_item_finalize
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - G_MENU_ITEM
    - G_OBJECT_CLASS
    - g_hash_table_unref
    linkageType: ''
    returnType: void
    signature: 'static void g_menu_item_finalize (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gmenu.c:900,1
    - Dst: g_menu_item_set_attribute_value
      Src: /src/glib/gio/gmenu.c:904,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - menu_item
    - label
    argTypes:
    - GMenuItem*
    - gchar*
    constantsTouched: []
    func_position:
      end: 905
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 905
    functionName: g_menu_item_set_label
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_variant_new_string
    - g_menu_item_set_attribute_value
    linkageType: ''
    returnType: void
    signature: 'void g_menu_item_set_label (GMenuItem *menu_item, const gchar *label) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_MENU
      Src: /src/glib/gio/gmenu.c:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - model
    argTypes:
    - GMenuModel*
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: g_menu_is_mutable
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - G_MENU
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_menu_is_mutable (GMenuModel *model) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_array_new
      Src: /src/glib/gio/gmenu.c:525,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - menu
    argTypes:
    - GMenu*
    constantsTouched: []
    func_position:
      end: 527
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 527
    functionName: g_menu_init
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_array_new
    linkageType: ''
    returnType: void
    signature: 'static void g_menu_init (GMenu *menu) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gmenu.c:554,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gmenu.c:556,1
    - Dst: g_strdup
      Src: /src/glib/gio/gmenu.c:557,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gmenu.c:557,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gmenu.c:555,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gmenu.c:557,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gmenu.c:558,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gmenu.c:561,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gmenu.c:562,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gmenu.c:563,1
    - Dst: g_strdup
      Src: /src/glib/gio/gmenu.c:564,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gmenu.c:564,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gmenu.c:564,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gmenu.c:565,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - menu_item
    argTypes:
    - GMenuItem*
    constantsTouched: []
    func_position:
      end: 570
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 570
    functionName: g_menu_item_clear_cow
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_hash_table_iter_init
    - g_strdup
    - g_hash_table_unref
    - g_hash_table_insert
    - g_hash_table_new_full
    - g_object_ref
    - g_variant_ref
    - g_hash_table_iter_next
    linkageType: ''
    returnType: void
    signature: 'static void g_menu_item_clear_cow (GMenuItem *menu_item) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gmenu.c:587,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gmenu.c:588,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - menu_item
    argTypes:
    - GMenuItem*
    constantsTouched: []
    func_position:
      end: 590
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 590
    functionName: g_menu_item_init
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_hash_table_new_full
    linkageType: ''
    returnType: void
    signature: 'static void g_menu_item_init (GMenuItem *menu_item) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmenu.c:153,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmenu.c:154,1
    - Dst: g_hash_table_ref
      Src: /src/glib/gio/gmenu.c:159,1
    - Dst: G_IS_MENU
      Src: /src/glib/gio/gmenu.c:153,1
    - Dst: G_IS_MENU_ITEM
      Src: /src/glib/gio/gmenu.c:154,1
    - Dst: g_hash_table_ref
      Src: /src/glib/gio/gmenu.c:160,1
    - Dst: g_array_insert_val
      Src: /src/glib/gio/gmenu.c:163,1
    - Dst: g_menu_model_items_changed
      Src: /src/glib/gio/gmenu.c:164,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/gmenu.c:164,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - menu
    - position
    - item
    argTypes:
    - GMenu*
    - gint
    - GMenuItem*
    constantsTouched: []
    func_position:
      end: 165
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 165
    functionName: g_menu_insert_item
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - G_IS_MENU
    - g_menu_model_items_changed
    - g_return_if_fail
    - G_IS_MENU_ITEM
    - g_array_insert_val
    - g_hash_table_ref
    - G_MENU_MODEL
    linkageType: ''
    returnType: void
    signature: 'void g_menu_insert_item (GMenu *menu, gint position, GMenuItem *item) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_menu_insert_submenu
      Src: /src/glib/gio/gmenu.c:419,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - menu
    - label
    - submenu
    argTypes:
    - GMenu*
    - gchar*
    - GMenuModel*
    constantsTouched: []
    func_position:
      end: 420
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 420
    functionName: g_menu_prepend_submenu
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_menu_insert_submenu
    linkageType: ''
    returnType: void
    signature: 'void g_menu_prepend_submenu (GMenu *menu, const gchar *label, GMenuModel
      *submenu) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmenu.c:786,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gmenu.c:789,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmenu.c:787,1
    - Dst: G_IS_MENU_ITEM
      Src: /src/glib/gio/gmenu.c:786,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gmenu.c:793,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gmenu.c:794,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 800
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 800
    functionName: g_menu_item_get_attribute_value
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_variant_is_of_type
    - G_IS_MENU_ITEM
    - g_hash_table_lookup
    - g_variant_ref
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_menu_item_get_attribute_value (GMenuItem *menu_item, const
      gchar *attribute, const GVariantType *expected_type) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_MENU_MODEL_GET_CLASS
      Src: /src/glib/gio/gmenu.c:1274,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gmenu.c:1297,1
    - Dst: g_menu_model_iterate_item_attributes
      Src: /src/glib/gio/gmenu.c:1308,1
    - Dst: g_object_new
      Src: /src/glib/gio/gmenu.c:1277,1
    - Dst: g_menu_attribute_iter_get_next
      Src: /src/glib/gio/gmenu.c:1309,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gmenu.c:1310,1
    - Dst: g_strdup
      Src: /src/glib/gio/gmenu.c:1310,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gmenu.c:1311,1
    - Dst: g_strdup
      Src: /src/glib/gio/gmenu.c:1335,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gmenu.c:1335,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gmenu.c:1336,1
    - Dst: g_menu_model_iterate_item_links
      Src: /src/glib/gio/gmenu.c:1333,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gmenu.c:1322,1
    - Dst: g_menu_link_iter_get_next
      Src: /src/glib/gio/gmenu.c:1334,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1340
      start: 1270
    functionDepth: 0
    functionLinenumber: 1270
    functionLinenumberEnd: 1340
    functionName: g_menu_item_new_from_model
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_object_unref
    - g_object_new
    - g_hash_table_unref
    - g_menu_model_iterate_item_links
    - g_menu_link_iter_get_next
    - g_hash_table_insert
    - G_MENU_MODEL_GET_CLASS
    - g_menu_model_iterate_item_attributes
    - g_menu_attribute_iter_get_next
    linkageType: ''
    returnType: GMenuItem*
    signature: 'GMenuItem *g_menu_item_new_from_model (GMenuModel *model, gint item_index) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_menu_insert_submenu
      Src: /src/glib/gio/gmenu.c:439,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - menu
    - label
    - submenu
    argTypes:
    - GMenu*
    - gchar*
    - GMenuModel*
    constantsTouched: []
    func_position:
      end: 440
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 440
    functionName: g_menu_append_submenu
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_menu_insert_submenu
    linkageType: ''
    returnType: void
    signature: 'void g_menu_append_submenu (GMenu *menu, const gchar *label, GMenuModel
      *submenu) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmenu.c:666,1
    - Dst: valid_attribute_name
      Src: /src/glib/gio/gmenu.c:668,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmenu.c:667,1
    - Dst: G_IS_MENU_ITEM
      Src: /src/glib/gio/gmenu.c:666,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmenu.c:668,1
    - Dst: g_menu_item_clear_cow
      Src: /src/glib/gio/gmenu.c:670,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gmenu.c:673,1
    - Dst: g_strdup
      Src: /src/glib/gio/gmenu.c:673,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gmenu.c:673,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gmenu.c:675,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - menu_item
    - attribute
    - value
    argTypes:
    - GMenuItem*
    - gchar*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 676
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 676
    functionName: g_menu_item_set_attribute_value
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - g_strdup
    - g_return_if_fail
    - g_menu_item_clear_cow
    - g_hash_table_remove
    - G_IS_MENU_ITEM
    - g_hash_table_insert
    - valid_attribute_name
    linkageType: ''
    returnType: void
    signature: 'void g_menu_item_set_attribute_value (GMenuItem *menu_item, const
      gchar *attribute, GVariant *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmenu.c:869,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmenu.c:871,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmenu.c:870,1
    - Dst: G_IS_MENU_ITEM
      Src: /src/glib/gio/gmenu.c:869,1
    - Dst: valid_attribute_name
      Src: /src/glib/gio/gmenu.c:871,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gmenu.c:873,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gmenu.c:876,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 879
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 879
    functionName: g_menu_item_get_link
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_MENU_ITEM
    - g_hash_table_lookup
    - g_object_ref
    - valid_attribute_name
    linkageType: ''
    returnType: GMenuModel*
    signature: 'GMenuModel *g_menu_item_get_link (GMenuItem *menu_item, const gchar
      *link) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gmenu.c:446,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gmenu.c:448,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - struct item*
    constantsTouched: []
    func_position:
      end: 449
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 449
    functionName: g_menu_clear_item
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_hash_table_unref
    linkageType: ''
    returnType: void
    signature: 'static void g_menu_clear_item (struct item *item) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_menu_item_new_section
      Src: /src/glib/gio/gmenu.c:330,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gmenu.c:332,1
    - Dst: g_menu_insert_item
      Src: /src/glib/gio/gmenu.c:331,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - menu
    - position
    - label
    - section
    argTypes:
    - GMenu*
    - gint
    - gchar*
    - GMenuModel*
    constantsTouched: []
    func_position:
      end: 333
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 333
    functionName: g_menu_insert_section
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_menu_insert_item
    - g_object_unref
    - g_menu_item_new_section
    linkageType: ''
    returnType: void
    signature: 'void g_menu_insert_section (GMenu *menu, gint position, const gchar
      *label, GMenuModel *section) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmenu.c:833,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gmenu.c:837,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmenu.c:835,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmenu.c:834,1
    - Dst: G_IS_MENU_ITEM
      Src: /src/glib/gio/gmenu.c:833,1
    - Dst: g_variant_check_format_string
      Src: /src/glib/gio/gmenu.c:842,1
    - Dst: va_start
      Src: /src/glib/gio/gmenu.c:845,1
    - Dst: g_variant_get_va
      Src: /src/glib/gio/gmenu.c:846,1
    - Dst: va_end
      Src: /src/glib/gio/gmenu.c:847,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - menu_item
    - attribute
    - format_string
    - '...'
    argTypes:
    - GMenuItem*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 850
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 850
    functionName: g_menu_item_get_attribute
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_variant_check_format_string
    - g_variant_get_va
    - G_IS_MENU_ITEM
    - g_hash_table_lookup
    - va_end
    - va_start
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_menu_item_get_attribute (GMenuItem *menu_item, const gchar
      *attribute, const gchar *format_string, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_menu_item_set_link
      Src: /src/glib/gio/gmenu.c:926,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - menu_item
    - submenu
    argTypes:
    - GMenuItem*
    - GMenuModel*
    constantsTouched: []
    func_position:
      end: 927
      start: 922
    functionDepth: 0
    functionLinenumber: 922
    functionLinenumberEnd: 927
    functionName: g_menu_item_set_submenu
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_menu_item_set_link
    linkageType: ''
    returnType: void
    signature: 'void g_menu_item_set_submenu (GMenuItem *menu_item, GMenuModel *submenu) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_menu_insert_item
      Src: /src/glib/gio/gmenu.c:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - menu
    - item
    argTypes:
    - GMenu*
    - GMenuItem*
    constantsTouched: []
    func_position:
      end: 201
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 201
    functionName: g_menu_append_item
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_menu_insert_item
    linkageType: ''
    returnType: void
    signature: 'void g_menu_append_item (GMenu *menu, GMenuItem *item) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gmenu.c:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 241
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 241
    functionName: g_menu_new
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: GMenu*
    signature: 'GMenu *g_menu_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_menu_insert
      Src: /src/glib/gio/gmenu.c:286,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - menu
    - label
    - detailed_action
    argTypes:
    - GMenu*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 287
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 287
    functionName: g_menu_prepend
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_menu_insert
    linkageType: ''
    returnType: void
    signature: 'void g_menu_prepend (GMenu *menu, const gchar *label, const gchar
      *detailed_action) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_menu_insert_section
      Src: /src/glib/gio/gmenu.c:353,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - menu
    - label
    - section
    argTypes:
    - GMenu*
    - gchar*
    - GMenuModel*
    constantsTouched: []
    func_position:
      end: 354
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 354
    functionName: g_menu_prepend_section
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_menu_insert_section
    linkageType: ''
    returnType: void
    signature: 'void g_menu_prepend_section (GMenu *menu, const gchar *label, GMenuModel
      *section) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gmenu.c:1005,1
    - Dst: g_menu_item_set_attribute_value
      Src: /src/glib/gio/gmenu.c:1013,1
    - Dst: g_menu_item_set_attribute_value
      Src: /src/glib/gio/gmenu.c:1014,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - menu_item
    - action
    - target_value
    argTypes:
    - GMenuItem*
    - gchar*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 1015
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 1015
    functionName: g_menu_item_set_action_and_target_value
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_variant_new_string
    - g_menu_item_set_attribute_value
    linkageType: ''
    returnType: void
    signature: 'void g_menu_item_set_action_and_target_value (GMenuItem *menu_item,
      const gchar *action, GVariant *target_value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/gio/gmenu.c:1058,1
    - Dst: va_end
      Src: /src/glib/gio/gmenu.c:1060,1
    - Dst: g_menu_item_set_action_and_target_value
      Src: /src/glib/gio/gmenu.c:1065,1
    - Dst: g_variant_new_va
      Src: /src/glib/gio/gmenu.c:1059,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - menu_item
    - action
    - format_string
    - '...'
    argTypes:
    - GMenuItem*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1066
      start: 1046
    functionDepth: 0
    functionLinenumber: 1046
    functionLinenumberEnd: 1066
    functionName: g_menu_item_set_action_and_target
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_menu_item_set_action_and_target_value
    - g_variant_new_va
    - va_start
    - va_end
    linkageType: ''
    returnType: void
    signature: 'void g_menu_item_set_action_and_target (GMenuItem *menu_item, const
      gchar *action, const gchar *format_string, ...) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gmenu.c:1128,1
    - Dst: g_menu_item_set_detailed_action
      Src: /src/glib/gio/gmenu.c:1134,1
    - Dst: g_menu_item_set_label
      Src: /src/glib/gio/gmenu.c:1131,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1137
    functionName: g_menu_item_new
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_menu_item_set_detailed_action
    - g_object_new
    - g_menu_item_set_label
    linkageType: ''
    returnType: GMenuItem*
    signature: 'GMenuItem *g_menu_item_new (const gchar *label, const gchar *detailed_action) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_menu_insert_item
      Src: /src/glib/gio/gmenu.c:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - menu
    - item
    argTypes:
    - GMenu*
    - GMenuItem*
    constantsTouched: []
    func_position:
      end: 183
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 183
    functionName: g_menu_prepend_item
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_menu_insert_item
    linkageType: ''
    returnType: void
    signature: 'void g_menu_prepend_item (GMenu *menu, GMenuItem *item) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmenu.c:221,1
    - Dst: G_IS_MENU
      Src: /src/glib/gio/gmenu.c:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - menu
    argTypes:
    - GMenu*
    constantsTouched: []
    func_position:
      end: 224
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 224
    functionName: g_menu_freeze
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - G_IS_MENU
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_menu_freeze (GMenu *menu) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_menu_item_new
      Src: /src/glib/gio/gmenu.c:264,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gmenu.c:266,1
    - Dst: g_menu_insert_item
      Src: /src/glib/gio/gmenu.c:265,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - menu
    - position
    - label
    - detailed_action
    argTypes:
    - GMenu*
    - gint
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 267
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 267
    functionName: g_menu_insert
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_menu_item_new
    - g_menu_insert_item
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'void g_menu_insert (GMenu *menu, gint position, const gchar *label,
      const gchar *detailed_action) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/gio/gmenu.c:717,1
    - Dst: g_variant_new_va
      Src: /src/glib/gio/gmenu.c:718,1
    - Dst: g_menu_item_set_attribute_value
      Src: /src/glib/gio/gmenu.c:724,1
    - Dst: va_end
      Src: /src/glib/gio/gmenu.c:719,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - menu_item
    - attribute
    - format_string
    - '...'
    argTypes:
    - GMenuItem*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 725
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 725
    functionName: g_menu_item_set_attribute
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_variant_new_va
    - g_menu_item_set_attribute_value
    - va_start
    - va_end
    linkageType: ''
    returnType: void
    signature: 'void g_menu_item_set_attribute (GMenuItem *menu_item, const gchar
      *attribute, const gchar *format_string, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_menu_item_set_link
      Src: /src/glib/gio/gmenu.c:948,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - menu_item
    - section
    argTypes:
    - GMenuItem*
    - GMenuModel*
    constantsTouched: []
    func_position:
      end: 949
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 949
    functionName: g_menu_item_set_section
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_menu_item_set_link
    linkageType: ''
    returnType: void
    signature: 'void g_menu_item_set_section (GMenuItem *menu_item, GMenuModel *section) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmenu.c:1368,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmenu.c:1369,1
    - Dst: G_IS_MENU_ITEM
      Src: /src/glib/gio/gmenu.c:1368,1
    - Dst: g_icon_serialize
      Src: /src/glib/gio/gmenu.c:1372,1
    - Dst: G_IS_ICON
      Src: /src/glib/gio/gmenu.c:1369,1
    - Dst: g_menu_item_set_attribute_value
      Src: /src/glib/gio/gmenu.c:1376,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gmenu.c:1378,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - menu_item
    - icon
    argTypes:
    - GMenuItem*
    - GIcon*
    constantsTouched: []
    func_position:
      end: 1379
      start: 1362
    functionDepth: 0
    functionLinenumber: 1362
    functionLinenumberEnd: 1379
    functionName: g_menu_item_set_icon
    functionSourceFile: /src/glib/gio/gmenu.c
    functionUses: []
    functionsReached:
    - g_menu_item_set_attribute_value
    - G_IS_ICON
    - g_return_if_fail
    - g_icon_serialize
    - G_IS_MENU_ITEM
    - g_variant_unref
    linkageType: ''
    returnType: void
    signature: 'void g_menu_item_set_icon (GMenuItem *menu_item, GIcon *icon) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check_listener
      Src: /src/glib/gio/gsocketlistener.c:272,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocketlistener.c:284,1
    - Dst: _
      Src: /src/glib/gio/gsocketlistener.c:280,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocketlistener.c:279,1
    - Dst: g_socket_is_closed
      Src: /src/glib/gio/gsocketlistener.c:277,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gsocketlistener.c:285,1
    - Dst: g_object_set_qdata_full
      Src: /src/glib/gio/gsocketlistener.c:288,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocketlistener.c:288,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocketlistener.c:289,1
    - Dst: G_SOCKET_LISTENER_GET_CLASS
      Src: /src/glib/gio/gsocketlistener.c:292,1
    - Dst: G_SOCKET_LISTENER_GET_CLASS
      Src: /src/glib/gio/gsocketlistener.c:293,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 4
    argNames:
    - listener
    - socket
    - source_object
    - error
    argTypes:
    - GSocketListener*
    - GSocket*
    - GObject*
    - GError**
    constantsTouched: []
    func_position:
      end: 296
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 296
    functionName: g_socket_listener_add_socket
    functionSourceFile: /src/glib/gio/gsocketlistener.c
    functionUses: []
    functionsReached:
    - g_object_set_qdata_full
    - G_OBJECT
    - G_SOCKET_LISTENER_GET_CLASS
    - g_set_error_literal
    - check_listener
    - g_object_ref
    - _
    - g_socket_is_closed
    - g_ptr_array_add
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_socket_listener_add_socket (GSocketListener *listener,\t\
      \t\t GSocket *socket,\t\t\t GObject *source_object,\t\t\t GError **error) "
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocketlistener.c:445,1
    - Dst: check_listener
      Src: /src/glib/gio/gsocketlistener.c:448,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsocketlistener.c:484,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsocketlistener.c:495,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsocketlistener.c:486,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:478,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:534,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsocketlistener.c:539,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:544,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsocketlistener.c:554,1
    - Dst: g_object_set_qdata_full
      Src: /src/glib/gio/gsocketlistener.c:572,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsocketlistener.c:568,1
    - Dst: g_socket_new
      Src: /src/glib/gio/gsocketlistener.c:452,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocketlistener.c:446,1
    - Dst: g_inet_socket_address_new
      Src: /src/glib/gio/gsocketlistener.c:467,1
    - Dst: g_socket_set_listen_backlog
      Src: /src/glib/gio/gsocketlistener.c:470,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:482,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocketlistener.c:500,1
    - Dst: g_socket_new
      Src: /src/glib/gio/gsocketlistener.c:518,1
    - Dst: g_inet_socket_address_new
      Src: /src/glib/gio/gsocketlistener.c:533,1
    - Dst: g_socket_bind
      Src: /src/glib/gio/gsocketlistener.c:542,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:547,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gsocketlistener.c:592,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsocketlistener.c:556,1
    - Dst: g_inet_address_new_any
      Src: /src/glib/gio/gsocketlistener.c:466,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:468,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsocketlistener.c:472,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:477,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:491,1
    - Dst: g_object_set_qdata_full
      Src: /src/glib/gio/gsocketlistener.c:499,1
    - Dst: g_socket_speaks_ipv4
      Src: /src/glib/gio/gsocketlistener.c:504,1
    - Dst: g_inet_address_new_any
      Src: /src/glib/gio/gsocketlistener.c:532,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:545,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:561,1
    - Dst: G_SOCKET_LISTENER_GET_CLASS
      Src: /src/glib/gio/gsocketlistener.c:598,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gsocketlistener.c:595,1
    - Dst: g_socket_bind
      Src: /src/glib/gio/gsocketlistener.c:475,1
    - Dst: g_socket_listen
      Src: /src/glib/gio/gsocketlistener.c:489,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocketlistener.c:499,1
    - Dst: g_socket_set_listen_backlog
      Src: /src/glib/gio/gsocketlistener.c:536,1
    - Dst: g_socket_listen
      Src: /src/glib/gio/gsocketlistener.c:559,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:563,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocketlistener.c:573,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gsocketlistener.c:583,1
    - Dst: g_assert
      Src: /src/glib/gio/gsocketlistener.c:589,1
    - Dst: G_SOCKET_LISTENER_GET_CLASS
      Src: /src/glib/gio/gsocketlistener.c:597,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:552,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocketlistener.c:572,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 82
    argCount: 4
    argNames:
    - listener
    - port
    - source_object
    - error
    argTypes:
    - GSocketListener*
    - guint16
    - GObject*
    - GError**
    constantsTouched: []
    func_position:
      end: 601
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 601
    functionName: g_socket_listener_add_inet_port
    functionSourceFile: /src/glib/gio/gsocketlistener.c
    functionUses: []
    functionsReached:
    - g_socket_speaks_ipv4
    - g_clear_error
    - g_socket_listen
    - g_return_val_if_fail
    - g_inet_address_new_any
    - g_object_unref
    - g_assert
    - g_object_set_qdata_full
    - g_socket_set_listen_backlog
    - G_OBJECT
    - g_signal_emit
    - G_SOCKET_LISTENER_GET_CLASS
    - g_socket_new
    - check_listener
    - g_socket_bind
    - g_object_ref
    - g_ptr_array_add
    - g_inet_socket_address_new
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_socket_listener_add_inet_port (GSocketListener *listener,\t\
      \t\t\t guint16 port,\t\t\t\t GObject *source_object,\t\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_create_source
      Src: /src/glib/gio/gsocketlistener.c:620,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gsocketlistener.c:621,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gsocketlistener.c:624,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gsocketlistener.c:626,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 630
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 630
    functionName: add_sources
    functionSourceFile: /src/glib/gio/gsocketlistener.c
    functionUses: []
    functionsReached:
    - g_source_attach
    - g_socket_create_source
    - g_source_set_callback
    - g_list_prepend
    linkageType: ''
    returnType: GList*
    signature: "static GList *add_sources (GSocketListener *listener,\t GSocketSourceFunc\
      \ callback,\t gpointer callback_data,\t GCancellable *cancellable,\t GMainContext\
      \ *context) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocketlistener.c:697,1
    - Dst: G_IS_SOCKET_LISTENER
      Src: /src/glib/gio/gsocketlistener.c:697,1
    - Dst: g_socket_condition_wait
      Src: /src/glib/gio/gsocketlistener.c:705,1
    - Dst: check_listener
      Src: /src/glib/gio/gsocketlistener.c:699,1
    - Dst: g_main_context_new
      Src: /src/glib/gio/gsocketlistener.c:716,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/gsocketlistener.c:718,1
    - Dst: add_sources
      Src: /src/glib/gio/gsocketlistener.c:720,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/gsocketlistener.c:725,1
    - Dst: free_sources
      Src: /src/glib/gio/gsocketlistener.c:727,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/gsocketlistener.c:728,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocketlistener.c:735,1
    - Dst: g_socket_accept
      Src: /src/glib/gio/gsocketlistener.c:731,1
    - Dst: g_object_get_qdata
      Src: /src/glib/gio/gsocketlistener.c:735,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 738
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 738
    functionName: g_socket_listener_accept_socket
    functionSourceFile: /src/glib/gio/gsocketlistener.c
    functionUses: []
    functionsReached:
    - g_socket_accept
    - g_main_loop_run
    - g_return_val_if_fail
    - g_object_get_qdata
    - add_sources
    - G_IS_SOCKET_LISTENER
    - g_main_context_new
    - g_main_loop_unref
    - G_OBJECT
    - free_sources
    - g_main_loop_new
    - check_listener
    - g_socket_condition_wait
    linkageType: ''
    returnType: GSocket*
    signature: "GSocket *g_socket_listener_accept_socket (GSocketListener *listener,\t\
      \t\t\t GObject **source_object,\t\t\t\t GCancellable *cancellable,\t\t\t\t GError\
      \ **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsocketlistener.c:151,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocketlistener.c:164,1
    - Dst: g_param_spec_int
      Src: /src/glib/gio/gsocketlistener.c:165,1
    - Dst: I_
      Src: /src/glib/gio/gsocketlistener.c:185,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gsocketlistener.c:185,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gsocketlistener.c:186,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gsocketlistener.c:188,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gsocketlistener.c:194,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gsocketlistener.c:195,1
    - Dst: g_quark_from_static_string
      Src: /src/glib/gio/gsocketlistener.c:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GSocketListenerClass*
    constantsTouched: []
    func_position:
      end: 199
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 199
    functionName: g_socket_listener_class_init
    functionSourceFile: /src/glib/gio/gsocketlistener.c
    functionUses: []
    functionsReached:
    - I_
    - G_STRUCT_OFFSET
    - g_quark_from_static_string
    - G_TYPE_FROM_CLASS
    - g_param_spec_int
    - g_object_class_install_property
    - G_OBJECT_CLASS
    - g_signal_set_va_marshaller
    - g_signal_new
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_listener_class_init (GSocketListenerClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gsocketlistener.c:224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: g_socket_listener_new
    functionSourceFile: /src/glib/gio/gsocketlistener.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: GSocketListener*
    signature: 'GSocketListener *g_socket_listener_new (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_listener_accept_socket
      Src: /src/glib/gio/gsocketlistener.c:772,1
    - Dst: g_socket_connection_factory_create_connection
      Src: /src/glib/gio/gsocketlistener.c:779,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:780,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 783
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 783
    functionName: g_socket_listener_accept
    functionSourceFile: /src/glib/gio/gsocketlistener.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_socket_connection_factory_create_connection
    - g_socket_listener_accept_socket
    linkageType: ''
    returnType: GSocketConnection*
    signature: "GSocketConnection *g_socket_listener_accept (GSocketListener *listener,\t\
      \t\t GObject **source_object,\t\t\t GCancellable *cancellable,\t\t\t GError\
      \ **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/gsocketlistener.c:860,1
    - Dst: check_listener
      Src: /src/glib/gio/gsocketlistener.c:863,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gsocketlistener.c:861,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:866,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gsocketlistener.c:865,1
    - Dst: g_new0
      Src: /src/glib/gio/gsocketlistener.c:870,1
    - Dst: add_sources
      Src: /src/glib/gio/gsocketlistener.c:872,1
    - Dst: g_main_context_get_thread_default
      Src: /src/glib/gio/gsocketlistener.c:876,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gsocketlistener.c:877,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gsocketlistener.c:877,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - listener
    - cancellable
    - callback
    - user_data
    argTypes:
    - GSocketListener*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 879
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 879
    functionName: g_socket_listener_accept_socket_async
    functionSourceFile: /src/glib/gio/gsocketlistener.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_task_new
    - g_object_unref
    - add_sources
    - g_task_set_source_tag
    - g_main_context_get_thread_default
    - check_listener
    - g_task_set_task_data
    - g_new0
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: "void g_socket_listener_accept_socket_async (GSocketListener *listener,\t\
      \t\t\t GCancellable *cancellable,\t\t\t\t GAsyncReadyCallback callback,\t\t\t\
      \t gpointer user_data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsocketlistener.c:1018,1
    - Dst: G_IS_SOCKET_LISTENER
      Src: /src/glib/gio/gsocketlistener.c:1018,1
    - Dst: g_socket_close
      Src: /src/glib/gio/gsocketlistener.c:1026,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - listener
    argTypes:
    - GSocketListener*
    constantsTouched: []
    func_position:
      end: 1029
      start: 1012
    functionDepth: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1029
    functionName: g_socket_listener_close
    functionSourceFile: /src/glib/gio/gsocketlistener.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET_LISTENER
    - g_socket_close
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_socket_listener_close (GSocketListener *listener) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_listener_get_instance_private
      Src: /src/glib/gio/gsocketlistener.c:204,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/gio/gsocketlistener.c:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - listener
    argTypes:
    - GSocketListener*
    constantsTouched: []
    func_position:
      end: 208
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 208
    functionName: g_socket_listener_init
    functionSourceFile: /src/glib/gio/gsocketlistener.c
    functionUses: []
    functionsReached:
    - g_socket_listener_get_instance_private
    - g_ptr_array_new_with_free_func
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_listener_init (GSocketListener *listener) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocketlistener.c:233,1
    - Dst: _
      Src: /src/glib/gio/gsocketlistener.c:234,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - listener
    - error
    argTypes:
    - GSocketListener*
    - GError**
    constantsTouched: []
    func_position:
      end: 239
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 239
    functionName: check_listener
    functionSourceFile: /src/glib/gio/gsocketlistener.c
    functionUses: []
    functionsReached:
    - _
    - g_set_error_literal
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean check_listener (GSocketListener *listener,\t\tGError\
      \ **error) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: check_listener
      Src: /src/glib/gio/gsocketlistener.c:349,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsocketlistener.c:359,1
    - Dst: g_socket_set_listen_backlog
      Src: /src/glib/gio/gsocketlistener.c:357,1
    - Dst: g_socket_address_get_family
      Src: /src/glib/gio/gsocketlistener.c:352,1
    - Dst: g_socket_new
      Src: /src/glib/gio/gsocketlistener.c:353,1
    - Dst: g_socket_bind
      Src: /src/glib/gio/gsocketlistener.c:362,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:364,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsocketlistener.c:368,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsocketlistener.c:370,1
    - Dst: g_socket_listen
      Src: /src/glib/gio/gsocketlistener.c:373,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:375,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:388,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:406,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:398,1
    - Dst: g_socket_listener_add_socket
      Src: /src/glib/gio/gsocketlistener.c:393,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:399,1
    - Dst: g_socket_get_local_address
      Src: /src/glib/gio/gsocketlistener.c:385,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsocketlistener.c:379,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 35
    argCount: 7
    argNames:
    - listener
    - address
    - type
    - protocol
    - source_object
    - effective_address
    - error
    argTypes:
    - GSocketListener*
    - GSocketAddress*
    - GSocketType
    - GSocketProtocol
    - GObject*
    - GSocketAddress**
    - GError**
    constantsTouched: []
    func_position:
      end: 409
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 409
    functionName: g_socket_listener_add_address
    functionSourceFile: /src/glib/gio/gsocketlistener.c
    functionUses: []
    functionsReached:
    - g_socket_listen
    - g_object_unref
    - g_socket_get_local_address
    - g_socket_set_listen_backlog
    - g_signal_emit
    - g_socket_new
    - check_listener
    - g_socket_bind
    - g_socket_listener_add_socket
    - g_socket_address_get_family
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_socket_listener_add_address (GSocketListener *listener,\t\
      \t\t GSocketAddress *address,\t\t\t GSocketType type,\t\t\t GSocketProtocol\
      \ protocol,\t\t\t GObject *source_object, GSocketAddress **effective_address,\t\
      \t\t GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_set_listen_backlog
      Src: /src/glib/gio/gsocketlistener.c:1000,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - listener
    - listen_backlog
    argTypes:
    - GSocketListener*
    - int
    constantsTouched: []
    func_position:
      end: 1002
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 1002
    functionName: g_socket_listener_set_backlog
    functionSourceFile: /src/glib/gio/gsocketlistener.c
    functionUses: []
    functionsReached:
    - g_socket_set_listen_backlog
    linkageType: ''
    returnType: void
    signature: "void g_socket_listener_set_backlog (GSocketListener *listener,\t\t\
      \t int listen_backlog) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_LISTENER
      Src: /src/glib/gio/gsocketlistener.c:116,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gsocketlistener.c:125,1
    - Dst: g_value_set_int
      Src: /src/glib/gio/gsocketlistener.c:121,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 127
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 127
    functionName: g_socket_listener_get_property
    functionSourceFile: /src/glib/gio/gsocketlistener.c
    functionUses: []
    functionsReached:
    - G_SOCKET_LISTENER
    - g_value_set_int
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: "static void g_socket_listener_get_property (GObject *object,\t\t\t\
      \tguint prop_id,\t\t\t\tGValue *value,\t\t\t\tGParamSpec *pspec) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_delete_link
      Src: /src/glib/gio/gsocketlistener.c:639,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gsocketlistener.c:641,1
    - Dst: g_source_destroy
      Src: /src/glib/gio/gsocketlistener.c:640,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - sources
    argTypes:
    - GList*
    constantsTouched: []
    func_position:
      end: 643
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 643
    functionName: free_sources
    functionSourceFile: /src/glib/gio/gsocketlistener.c
    functionUses: []
    functionsReached:
    - g_list_delete_link
    - g_source_destroy
    - g_source_unref
    linkageType: ''
    returnType: void
    signature: 'static void free_sources (GList *sources) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_sources
      Src: /src/glib/gio/gsocketlistener.c:794,1
    - Dst: g_free
      Src: /src/glib/gio/gsocketlistener.c:795,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - AcceptSocketAsyncData*
    constantsTouched: []
    func_position:
      end: 796
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 796
    functionName: accept_socket_async_data_free
    functionSourceFile: /src/glib/gio/gsocketlistener.c
    functionUses: []
    functionsReached:
    - free_sources
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void accept_socket_async_data_free (AcceptSocketAsyncData *data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_LISTENER
      Src: /src/glib/gio/gsocketlistener.c:135,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gsocketlistener.c:144,1
    - Dst: g_socket_listener_set_backlog
      Src: /src/glib/gio/gsocketlistener.c:140,1
    - Dst: g_value_get_int
      Src: /src/glib/gio/gsocketlistener.c:140,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 146
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 146
    functionName: g_socket_listener_set_property
    functionSourceFile: /src/glib/gio/gsocketlistener.c
    functionUses: []
    functionsReached:
    - G_SOCKET_LISTENER
    - g_socket_listener_set_backlog
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_get_int
    linkageType: ''
    returnType: void
    signature: "static void g_socket_listener_set_property (GObject *object,\t\t\t\
      \tguint prop_id,\t\t\t\tconst GValue *value,\t\t\t\tGParamSpec *pspec) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gsocketlistener.c:807,1
    - Dst: g_object_get_qdata
      Src: /src/glib/gio/gsocketlistener.c:817,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocketlistener.c:817,1
    - Dst: g_socket_accept
      Src: /src/glib/gio/gsocketlistener.c:814,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gsocketlistener.c:814,1
    - Dst: g_object_set_qdata_full
      Src: /src/glib/gio/gsocketlistener.c:819,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocketlistener.c:819,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocketlistener.c:821,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gsocketlistener.c:822,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gsocketlistener.c:826,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:830,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 3
    argNames:
    - accept_socket
    - condition
    - user_data
    argTypes:
    - GSocket*
    - GIOCondition
    - gpointer
    constantsTouched: []
    func_position:
      end: 833
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 833
    functionName: accept_ready
    functionSourceFile: /src/glib/gio/gsocketlistener.c
    functionUses: []
    functionsReached:
    - g_socket_accept
    - g_object_get_qdata
    - g_object_unref
    - g_task_return_pointer
    - g_task_get_cancellable
    - g_object_set_qdata_full
    - G_OBJECT
    - g_task_get_task_data
    - g_object_ref
    - g_task_return_error
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean accept_ready (GSocket *accept_socket,\t GIOCondition\
      \ condition,\t gpointer user_data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocketlistener.c:901,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gsocketlistener.c:902,1
    - Dst: g_object_get_qdata
      Src: /src/glib/gio/gsocketlistener.c:905,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocketlistener.c:902,1
    - Dst: G_IS_SOCKET_LISTENER
      Src: /src/glib/gio/gsocketlistener.c:901,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocketlistener.c:905,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gsocketlistener.c:907,1
    - Dst: G_TASK
      Src: /src/glib/gio/gsocketlistener.c:907,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 908
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 908
    functionName: g_socket_listener_accept_socket_finish
    functionSourceFile: /src/glib/gio/gsocketlistener.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_object_get_qdata
    - G_IS_SOCKET_LISTENER
    - G_OBJECT
    - g_task_is_valid
    - G_TASK
    - g_task_propagate_pointer
    linkageType: ''
    returnType: GSocket*
    signature: "GSocket *g_socket_listener_accept_socket_finish (GSocketListener *listener,\t\
      \t\t\t\tGAsyncResult *result,\t\t\t\t\tGObject **source_object,\t\t\t\t\tGError\
      \ **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/gsocketlistener.c:658,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - socket
    - condition
    - user_data
    argTypes:
    - GSocket*
    - GIOCondition
    - gpointer
    constantsTouched: []
    func_position:
      end: 661
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 661
    functionName: accept_callback
    functionSourceFile: /src/glib/gio/gsocketlistener.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean accept_callback (GSocket *socket,\t\t GIOCondition\
      \ condition,\t\t gpointer user_data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_listener_accept_socket_finish
      Src: /src/glib/gio/gsocketlistener.c:960,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:968,1
    - Dst: g_socket_connection_factory_create_connection
      Src: /src/glib/gio/gsocketlistener.c:967,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 970
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 970
    functionName: g_socket_listener_accept_finish
    functionSourceFile: /src/glib/gio/gsocketlistener.c
    functionUses: []
    functionsReached:
    - g_socket_listener_accept_socket_finish
    - g_object_unref
    - g_socket_connection_factory_create_connection
    linkageType: ''
    returnType: GSocketConnection*
    signature: "GSocketConnection *g_socket_listener_accept_finish (GSocketListener\
      \ *listener,\t\t\t\t GAsyncResult *result,\t\t\t\t GObject **source_object,\t\
      \t\t\t GError **error) "
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:1099,1
    - Dst: g_socket_get_local_address
      Src: /src/glib/gio/gsocketlistener.c:1102,1
    - Dst: g_assert
      Src: /src/glib/gio/gsocketlistener.c:1112,1
    - Dst: g_socket_new
      Src: /src/glib/gio/gsocketlistener.c:1123,1
    - Dst: g_inet_address_new_any
      Src: /src/glib/gio/gsocketlistener.c:1137,1
    - Dst: g_socket_bind
      Src: /src/glib/gio/gsocketlistener.c:1159,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsocketlistener.c:1170,1
    - Dst: g_socket_get_local_address
      Src: /src/glib/gio/gsocketlistener.c:1196,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:1198,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsocketlistener.c:1203,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsocketlistener.c:1230,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:1235,1
    - Dst: g_slist_prepend
      Src: /src/glib/gio/gsocketlistener.c:1181,1
    - Dst: g_socket_listen
      Src: /src/glib/gio/gsocketlistener.c:1233,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:1177,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocketlistener.c:1274,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:1116,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsocketlistener.c:1109,1
    - Dst: g_inet_socket_address_get_port
      Src: /src/glib/gio/gsocketlistener.c:1208,1
    - Dst: G_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/gsocketlistener.c:1208,1
    - Dst: g_assert
      Src: /src/glib/gio/gsocketlistener.c:1209,1
    - Dst: g_assert
      Src: /src/glib/gio/gsocketlistener.c:1216,1
    - Dst: g_object_set_qdata_full
      Src: /src/glib/gio/gsocketlistener.c:1246,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gsocketlistener.c:1250,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:1262,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:1264,1
    - Dst: G_SOCKET_LISTENER_GET_CLASS
      Src: /src/glib/gio/gsocketlistener.c:1281,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:1237,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocketlistener.c:1273,1
    - Dst: g_socket_set_listen_backlog
      Src: /src/glib/gio/gsocketlistener.c:1228,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:1210,1
    - Dst: g_socket_set_listen_backlog
      Src: /src/glib/gio/gsocketlistener.c:1255,1
    - Dst: g_inet_socket_address_new
      Src: /src/glib/gio/gsocketlistener.c:1092,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsocketlistener.c:1095,1
    - Dst: g_inet_socket_address_get_port
      Src: /src/glib/gio/gsocketlistener.c:1114,1
    - Dst: g_assert
      Src: /src/glib/gio/gsocketlistener.c:1115,1
    - Dst: G_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/gsocketlistener.c:1114,1
    - Dst: g_inet_socket_address_new
      Src: /src/glib/gio/gsocketlistener.c:1138,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsocketlistener.c:1141,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:1161,1
    - Dst: g_assert
      Src: /src/glib/gio/gsocketlistener.c:1165,1
    - Dst: G_IS_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/gsocketlistener.c:1206,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocketlistener.c:1247,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:1220,1
    - Dst: g_socket_listen
      Src: /src/glib/gio/gsocketlistener.c:1260,1
    - Dst: g_object_set_qdata_full
      Src: /src/glib/gio/gsocketlistener.c:1273,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsocketlistener.c:1269,1
    - Dst: g_slist_delete_link
      Src: /src/glib/gio/gsocketlistener.c:1221,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsocketlistener.c:1257,1
    - Dst: g_assert
      Src: /src/glib/gio/gsocketlistener.c:1083,1
    - Dst: g_inet_address_new_any
      Src: /src/glib/gio/gsocketlistener.c:1091,1
    - Dst: g_socket_new
      Src: /src/glib/gio/gsocketlistener.c:1084,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:1093,1
    - Dst: g_socket_bind
      Src: /src/glib/gio/gsocketlistener.c:1098,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:1104,1
    - Dst: G_IS_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/gsocketlistener.c:1112,1
    - Dst: g_assert
      Src: /src/glib/gio/gsocketlistener.c:1122,1
    - Dst: g_socket_speaks_ipv4
      Src: /src/glib/gio/gsocketlistener.c:1118,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketlistener.c:1139,1
    - Dst: g_assert
      Src: /src/glib/gio/gsocketlistener.c:1206,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocketlistener.c:1246,1
    - Dst: g_assert
      Src: /src/glib/gio/gsocketlistener.c:1193,1
    - Dst: G_SOCKET_LISTENER_GET_CLASS
      Src: /src/glib/gio/gsocketlistener.c:1282,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsocketlistener.c:1242,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gsocketlistener.c:1277,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 125
    argCount: 3
    argNames:
    - listener
    - source_object
    - error
    argTypes:
    - GSocketListener*
    - GObject*
    - GError**
    constantsTouched: []
    func_position:
      end: 1285
      start: 1053
    functionDepth: 0
    functionLinenumber: 1053
    functionLinenumberEnd: 1285
    functionName: g_socket_listener_add_any_inet_port
    functionSourceFile: /src/glib/gio/gsocketlistener.c
    functionUses: []
    functionsReached:
    - g_socket_listen
    - g_signal_emit
    - g_socket_new
    - g_inet_socket_address_get_port
    - G_INET_SOCKET_ADDRESS
    - g_socket_speaks_ipv4
    - g_object_unref
    - g_socket_set_listen_backlog
    - G_SOCKET_LISTENER_GET_CLASS
    - g_slist_prepend
    - g_ptr_array_add
    - G_IS_INET_SOCKET_ADDRESS
    - g_inet_address_new_any
    - g_socket_bind
    - g_slist_delete_link
    - g_assert
    - g_socket_get_local_address
    - g_object_set_qdata_full
    - G_OBJECT
    - g_object_ref
    - g_inet_socket_address_new
    linkageType: ''
    returnType: guint16
    signature: "guint16 g_socket_listener_add_any_inet_port (GSocketListener *listener,\t\
      \t\t\t GObject *source_object, GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_LISTENER
      Src: /src/glib/gio/gsocketlistener.c:94,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsocketlistener.c:106,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gsocketlistener.c:104,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/gsocketlistener.c:97,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 108
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 108
    functionName: g_socket_listener_finalize
    functionSourceFile: /src/glib/gio/gsocketlistener.c
    functionUses: []
    functionsReached:
    - G_SOCKET_LISTENER
    - g_ptr_array_free
    - g_main_context_unref
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_listener_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_listener_accept_socket_async
      Src: /src/glib/gio/gsocketlistener.c:931,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - listener
    - cancellable
    - callback
    - user_data
    argTypes:
    - GSocketListener*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 935
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 935
    functionName: g_socket_listener_accept_async
    functionSourceFile: /src/glib/gio/gsocketlistener.c
    functionUses: []
    functionsReached:
    - g_socket_listener_accept_socket_async
    linkageType: ''
    returnType: void
    signature: 'void g_socket_listener_accept_async (GSocketListener *listener, GCancellable
      *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/gio/gio-tool-info.c:53,1
    - Dst: g_string_append
      Src: /src/glib/gio/gio-tool-info.c:61,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gio-tool-info.c:58,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gio-tool-info.c:63,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gio-tool-info.c:62,1
    - Dst: g_string_free
      Src: /src/glib/gio/gio-tool-info.c:67,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 68
    functionName: escape_string
    functionSourceFile: /src/glib/gio/gio-tool-info.c
    functionUses: []
    functionsReached:
    - g_string_append_c
    - g_string_free
    - g_string_append
    - g_string_new
    linkageType: ''
    returnType: char*
    signature: 'static char *escape_string (const char *in) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_list_attributes
      Src: /src/glib/gio/gio-tool-info.c:102,1
    - Dst: strcmp
      Src: /src/glib/gio/gio-tool-info.c:108,1
    - Dst: g_file_info_get_icon
      Src: /src/glib/gio/gio-tool-info.c:118,1
    - Dst: g_file_info_get_attribute_as_string
      Src: /src/glib/gio/gio-tool-info.c:131,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-info.c:132,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-info.c:127,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-info.c:141,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gio-tool-info.c:145,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-info.c:104,1
    - Dst: strcmp
      Src: /src/glib/gio/gio-tool-info.c:109,1
    - Dst: strcmp
      Src: /src/glib/gio/gio-tool-info.c:115,1
    - Dst: G_THEMED_ICON
      Src: /src/glib/gio/gio-tool-info.c:123,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-info.c:126,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-info.c:142,1
    - Dst: G_IS_THEMED_ICON
      Src: /src/glib/gio/gio-tool-info.c:121,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-info.c:133,1
    - Dst: g_file_info_get_attribute_as_string
      Src: /src/glib/gio/gio-tool-info.c:138,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-info.c:140,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-info.c:104,1
    - Dst: g_file_info_get_symbolic_icon
      Src: /src/glib/gio/gio-tool-info.c:116,1
    - Dst: g_themed_icon_get_names
      Src: /src/glib/gio/gio-tool-info.c:123,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-info.c:124,1
    - Dst: flatten_string
      Src: /src/glib/gio/gio-tool-info.c:139,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 1
    argNames:
    - info
    argTypes:
    - GFileInfo*
    constantsTouched: []
    func_position:
      end: 146
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 146
    functionName: show_attributes
    functionSourceFile: /src/glib/gio/gio-tool-info.c
    functionUses: []
    functionsReached:
    - g_file_info_get_symbolic_icon
    - strcmp
    - G_IS_THEMED_ICON
    - g_themed_icon_get_names
    - g_file_info_list_attributes
    - g_file_info_get_icon
    - G_THEMED_ICON
    - g_file_info_get_attribute_as_string
    - g_strfreev
    - g_print
    - flatten_string
    - _
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void show_attributes (GFileInfo *info) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_file_query_filesystem_info
      Src: /src/glib/gio/gio-tool-info.c:284,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-info.c:291,1
    - Dst: print_file_error
      Src: /src/glib/gio/gio-tool-info.c:290,1
    - Dst: show_attributes
      Src: /src/glib/gio/gio-tool-info.c:296,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/gio-tool-info.c:286,1
    - Dst: show_info
      Src: /src/glib/gio/gio-tool-info.c:298,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-info.c:300,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 303
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 303
    functionName: query_info
    functionSourceFile: /src/glib/gio/gio-tool-info.c
    functionUses: []
    functionsReached:
    - show_info
    - g_file_query_info
    - g_object_unref
    - print_file_error
    - g_error_free
    - show_attributes
    - g_file_query_filesystem_info
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean query_info (GFile *file) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-info.c:166,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/gio-tool-info.c:169,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/gio-tool-info.c:179,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-info.c:176,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-info.c:197,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-info.c:198,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/gio-tool-info.c:201,1
    - Dst: g_file_info_get_is_hidden
      Src: /src/glib/gio/gio-tool-info.c:202,1
    - Dst: g_file_info_get_size
      Src: /src/glib/gio/gio-tool-info.c:196,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-info.c:203,1
    - Dst: g_file_peek_path
      Src: /src/glib/gio/gio-tool-info.c:209,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-info.c:236,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/gio-tool-info.c:194,1
    - Dst: g_strescape
      Src: /src/glib/gio/gio-tool-info.c:244,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-info.c:251,1
    - Dst: g_strescape
      Src: /src/glib/gio/gio-tool-info.c:230,1
    - Dst: g_strescape
      Src: /src/glib/gio/gio-tool-info.c:238,1
    - Dst: g_unix_mount_entry_at
      Src: /src/glib/gio/gio-tool-info.c:217,1
    - Dst: show_attributes
      Src: /src/glib/gio/gio-tool-info.c:262,1
    - Dst: g_unix_mount_entry_for
      Src: /src/glib/gio/gio-tool-info.c:219,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-info.c:165,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-info.c:165,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-info.c:175,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-info.c:175,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-info.c:184,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-info.c:184,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/gio-tool-info.c:188,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-info.c:185,1
    - Dst: file_type_to_string
      Src: /src/glib/gio/gio-tool-info.c:190,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-info.c:207,1
    - Dst: free
      Src: /src/glib/gio/gio-tool-info.c:214,1
    - Dst: g_unix_mount_entry_get_device_path
      Src: /src/glib/gio/gio-tool-info.c:230,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-info.c:254,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-info.c:197,1
    - Dst: g_unix_mount_entry_get_root_path
      Src: /src/glib/gio/gio-tool-info.c:231,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-info.c:247,1
    - Dst: g_unix_mount_entry_free
      Src: /src/glib/gio/gio-tool-info.c:257,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-info.c:203,1
    - Dst: g_file_get_uri
      Src: /src/glib/gio/gio-tool-info.c:205,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-info.c:213,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-info.c:213,1
    - Dst: g_strescape
      Src: /src/glib/gio/gio-tool-info.c:234,1
    - Dst: flatten_string
      Src: /src/glib/gio/gio-tool-info.c:212,1
    - Dst: g_strescape
      Src: /src/glib/gio/gio-tool-info.c:239,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-info.c:247,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-info.c:253,1
    - Dst: g_unix_mount_entry_get_options
      Src: /src/glib/gio/gio-tool-info.c:241,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-info.c:252,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gio-tool-info.c:235,1
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/gio-tool-info.c:159,1
    - Dst: g_file_info_get_display_name
      Src: /src/glib/gio/gio-tool-info.c:160,1
    - Dst: flatten_string
      Src: /src/glib/gio/gio-tool-info.c:163,1
    - Dst: g_file_info_get_edit_name
      Src: /src/glib/gio/gio-tool-info.c:170,1
    - Dst: flatten_string
      Src: /src/glib/gio/gio-tool-info.c:173,1
    - Dst: g_file_info_get_name
      Src: /src/glib/gio/gio-tool-info.c:180,1
    - Dst: escape_string
      Src: /src/glib/gio/gio-tool-info.c:183,1
    - Dst: g_file_info_get_file_type
      Src: /src/glib/gio/gio-tool-info.c:190,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-info.c:191,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-info.c:191,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gio-tool-info.c:232,1
    - Dst: g_unix_mount_entry_get_fs_type
      Src: /src/glib/gio/gio-tool-info.c:239,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-info.c:255,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-info.c:206,1
    - Dst: g_unix_mount_entry_get_mount_path
      Src: /src/glib/gio/gio-tool-info.c:238,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-info.c:206,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 103
    argCount: 2
    argNames:
    - file
    - info
    argTypes:
    - GFile*
    - GFileInfo*
    constantsTouched: []
    func_position:
      end: 263
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 263
    functionName: show_info
    functionSourceFile: /src/glib/gio/gio-tool-info.c
    functionUses: []
    functionsReached:
    - g_strconcat
    - file_type_to_string
    - g_unix_mount_entry_for
    - g_unix_mount_entry_get_device_path
    - g_file_peek_path
    - g_unix_mount_entry_get_root_path
    - g_unix_mount_entry_get_mount_path
    - g_unix_mount_entry_free
    - g_print
    - g_file_info_get_name
    - g_unix_mount_entry_get_fs_type
    - escape_string
    - g_unix_mount_entry_get_options
    - g_file_info_has_attribute
    - g_file_info_get_file_type
    - g_strcmp0
    - _
    - g_file_get_uri
    - free
    - g_file_info_get_is_hidden
    - g_file_info_get_edit_name
    - g_unix_mount_entry_at
    - g_file_info_get_display_name
    - flatten_string
    - show_attributes
    - g_file_info_get_size
    - g_strescape
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void show_info (GFile *file, GFileInfo *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/gio/gio-tool-info.c:76,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gio-tool-info.c:87,1
    - Dst: g_string_append
      Src: /src/glib/gio/gio-tool-info.c:83,1
    - Dst: g_string_free
      Src: /src/glib/gio/gio-tool-info.c:92,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 93
    functionName: flatten_string
    functionSourceFile: /src/glib/gio/gio-tool-info.c
    functionUses: []
    functionsReached:
    - g_string_append_c
    - g_string_free
    - g_string_append
    - g_string_new
    linkageType: ''
    returnType: char*
    signature: 'static char *flatten_string (const char *in) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: print_file_error
      Src: /src/glib/gio/gio-tool-info.c:321,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-info.c:328,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-info.c:356,1
    - Dst: g_file_query_settable_attributes
      Src: /src/glib/gio/gio-tool-info.c:318,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-info.c:322,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-info.c:332,1
    - Dst: attribute_type_to_string
      Src: /src/glib/gio/gio-tool-info.c:358,1
    - Dst: print_file_error
      Src: /src/glib/gio/gio-tool-info.c:345,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-info.c:352,1
    - Dst: g_file_attribute_info_list_unref
      Src: /src/glib/gio/gio-tool-info.c:364,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-info.c:328,1
    - Dst: attribute_type_to_string
      Src: /src/glib/gio/gio-tool-info.c:334,1
    - Dst: g_file_attribute_info_list_unref
      Src: /src/glib/gio/gio-tool-info.c:340,1
    - Dst: attribute_flags_to_string
      Src: /src/glib/gio/gio-tool-info.c:355,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-info.c:346,1
    - Dst: g_file_query_writable_namespaces
      Src: /src/glib/gio/gio-tool-info.c:342,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-info.c:360,1
    - Dst: attribute_flags_to_string
      Src: /src/glib/gio/gio-tool-info.c:331,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-info.c:336,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-info.c:352,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 367
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 367
    functionName: get_writable_info
    functionSourceFile: /src/glib/gio/gio-tool-info.c
    functionUses: []
    functionsReached:
    - attribute_flags_to_string
    - print_file_error
    - attribute_type_to_string
    - g_error_free
    - g_file_query_writable_namespaces
    - g_print
    - _
    - g_file_attribute_info_list_unref
    - g_file_query_settable_attributes
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean get_writable_info (GFile *file) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_set_prgname
      Src: /src/glib/gio/gio-tool-info.c:379,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gio-tool-info.c:382,1
    - Dst: g_option_context_set_help_enabled
      Src: /src/glib/gio/gio-tool-info.c:385,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-info.c:387,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-info.c:389,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-info.c:398,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-info.c:407,1
    - Dst: g_option_context_new
      Src: /src/glib/gio/gio-tool-info.c:383,1
    - Dst: g_option_context_set_description
      Src: /src/glib/gio/gio-tool-info.c:388,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/gio/gio-tool-info.c:394,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/gio-tool-info.c:403,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-info.c:413,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-info.c:399,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-info.c:418,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-info.c:384,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-info.c:405,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-info.c:413,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-info.c:414,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/gio-tool-info.c:423,1
    - Dst: get_writable_info
      Src: /src/glib/gio/gio-tool-info.c:425,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-info.c:428,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-info.c:382,1
    - Dst: g_option_context_set_summary
      Src: /src/glib/gio/gio-tool-info.c:386,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-info.c:406,1
    - Dst: query_info
      Src: /src/glib/gio/gio-tool-info.c:427,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 3
    argNames:
    - argc
    - argv
    - do_help
    argTypes:
    - int
    - char*
    - gboolean
    constantsTouched: []
    func_position:
      end: 432
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 432
    functionName: handle_info
    functionSourceFile: /src/glib/gio/gio-tool-info.c
    functionUses: []
    functionsReached:
    - g_option_context_set_description
    - query_info
    - g_strdup_printf
    - g_option_context_free
    - g_object_unref
    - g_option_context_new
    - g_option_context_set_summary
    - g_set_prgname
    - show_help
    - g_file_new_for_commandline_arg
    - g_error_free
    - g_option_context_set_help_enabled
    - g_option_context_parse
    - _
    - g_option_context_add_main_entries
    - get_writable_info
    - g_free
    linkageType: ''
    returnType: int
    signature: 'int handle_info (int argc, char *argv[], gboolean do_help) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - Buffer*
    constantsTouched: []
    func_position:
      end: 244
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 244
    functionName: buffer_tailspace
    functionSourceFile: /src/glib/gio/gconverterinputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gsize
    signature: 'static gsize buffer_tailspace (Buffer *buffer) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: buffer_data_size
      Src: /src/glib/gio/gconverterinputstream.c:421,1
    - Dst: buffer_data_size
      Src: /src/glib/gio/gconverterinputstream.c:400,1
    - Dst: buffer_tailspace
      Src: /src/glib/gio/gconverterinputstream.c:497,1
    - Dst: buffer_data_size
      Src: /src/glib/gio/gconverterinputstream.c:508,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gconverterinputstream.c:524,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gconverterinputstream.c:540,1
    - Dst: buffer_ensure_space
      Src: /src/glib/gio/gconverterinputstream.c:560,1
    - Dst: g_assert
      Src: /src/glib/gio/gconverterinputstream.c:475,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gconverterinputstream.c:452,1
    - Dst: g_assert
      Src: /src/glib/gio/gconverterinputstream.c:489,1
    - Dst: g_error_free
      Src: /src/glib/gio/gconverterinputstream.c:539,1
    - Dst: g_error_free
      Src: /src/glib/gio/gconverterinputstream.c:549,1
    - Dst: g_error_free
      Src: /src/glib/gio/gconverterinputstream.c:562,1
    - Dst: buffer_data_size
      Src: /src/glib/gio/gconverterinputstream.c:514,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gconverterinputstream.c:571,1
    - Dst: fill_input_buffer
      Src: /src/glib/gio/gconverterinputstream.c:425,1
    - Dst: g_converter_convert
      Src: /src/glib/gio/gconverterinputstream.c:493,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gconverterinputstream.c:460,1
    - Dst: g_error_free
      Src: /src/glib/gio/gconverterinputstream.c:464,1
    - Dst: buffer_data
      Src: /src/glib/gio/gconverterinputstream.c:494,1
    - Dst: buffer_data_size
      Src: /src/glib/gio/gconverterinputstream.c:495,1
    - Dst: buffer_consumed
      Src: /src/glib/gio/gconverterinputstream.c:505,1
    - Dst: MIN
      Src: /src/glib/gio/gconverterinputstream.c:514,1
    - Dst: buffer_data
      Src: /src/glib/gio/gconverterinputstream.c:496,1
    - Dst: buffer_read
      Src: /src/glib/gio/gconverterinputstream.c:515,1
    - Dst: g_assert
      Src: /src/glib/gio/gconverterinputstream.c:517,1
    - Dst: G_CONVERTER_INPUT_STREAM
      Src: /src/glib/gio/gconverterinputstream.c:397,1
    - Dst: buffer_read
      Src: /src/glib/gio/gconverterinputstream.c:413,1
    - Dst: buffer_read
      Src: /src/glib/gio/gconverterinputstream.c:406,1
    - Dst: g_converter_convert
      Src: /src/glib/gio/gconverterinputstream.c:436,1
    - Dst: buffer_data
      Src: /src/glib/gio/gconverterinputstream.c:437,1
    - Dst: buffer_data_size
      Src: /src/glib/gio/gconverterinputstream.c:438,1
    - Dst: buffer_consumed
      Src: /src/glib/gio/gconverterinputstream.c:447,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gconverterinputstream.c:455,1
    - Dst: buffer_data_size
      Src: /src/glib/gio/gconverterinputstream.c:475,1
    - Dst: buffer_ensure_space
      Src: /src/glib/gio/gconverterinputstream.c:485,1
    - Dst: fill_input_buffer
      Src: /src/glib/gio/gconverterinputstream.c:531,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gconverterinputstream.c:553,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gconverterinputstream.c:567,1
    - Dst: buffer_data_size
      Src: /src/glib/gio/gconverterinputstream.c:532,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 109
    argCount: 6
    argNames:
    - stream
    - buffer
    - count
    - blocking
    - cancellable
    - error
    argTypes:
    - GInputStream*
    - void*
    - gsize
    - gboolean
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 572
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 572
    functionName: read_internal
    functionSourceFile: /src/glib/gio/gconverterinputstream.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - G_CONVERTER_INPUT_STREAM
    - buffer_ensure_space
    - g_assert
    - buffer_read
    - buffer_data_size
    - buffer_tailspace
    - MIN
    - g_assert_not_reached
    - g_error_matches
    - buffer_data
    - g_error_free
    - g_converter_convert
    - fill_input_buffer
    - buffer_consumed
    linkageType: ''
    returnType: gssize
    signature: "static gssize read_internal (GInputStream *stream,\t void *buffer,\t\
      \ gsize count,\t gboolean blocking,\t GCancellable *cancellable,\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_FILTER_INPUT_STREAM
      Src: /src/glib/gio/gconverterinputstream.c:587,1
    - Dst: G_POLLABLE_INPUT_STREAM
      Src: /src/glib/gio/gconverterinputstream.c:590,1
    - Dst: G_IS_POLLABLE_INPUT_STREAM
      Src: /src/glib/gio/gconverterinputstream.c:589,1
    - Dst: g_pollable_input_stream_can_poll
      Src: /src/glib/gio/gconverterinputstream.c:590,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GPollableInputStream*
    constantsTouched: []
    func_position:
      end: 591
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 591
    functionName: g_converter_input_stream_can_poll
    functionSourceFile: /src/glib/gio/gconverterinputstream.c
    functionUses: []
    functionsReached:
    - G_IS_POLLABLE_INPUT_STREAM
    - g_pollable_input_stream_can_poll
    - G_FILTER_INPUT_STREAM
    - G_POLLABLE_INPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_converter_input_stream_can_poll (GPollableInputStream
      *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 652
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 652
    functionName: g_converter_input_stream_get_converter
    functionSourceFile: /src/glib/gio/gconverterinputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GConverter*
    signature: 'GConverter *g_converter_input_stream_get_converter (GConverterInputStream
      *converter_stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 250
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 250
    functionName: buffer_data
    functionSourceFile: /src/glib/gio/gconverterinputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static char *buffer_data (Buffer *buffer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read_internal
      Src: /src/glib/gio/gconverterinputstream.c:581,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 5
    argNames:
    - stream
    - buffer
    - count
    - cancellable
    - error
    argTypes:
    - GInputStream*
    - void*
    - gsize
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 582
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 582
    functionName: g_converter_input_stream_read
    functionSourceFile: /src/glib/gio/gconverterinputstream.c
    functionUses: []
    functionsReached:
    - read_internal
    linkageType: ''
    returnType: gssize
    signature: "static gssize g_converter_input_stream_read (GInputStream *stream,\t\
      \t\t void *buffer,\t\t\t gsize count,\t\t\t GCancellable *cancellable,\t\t\t\
      \ GError **error) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_FILTER_INPUT_STREAM
      Src: /src/glib/gio/gconverterinputstream.c:596,1
    - Dst: g_pollable_input_stream_is_readable
      Src: /src/glib/gio/gconverterinputstream.c:605,1
    - Dst: buffer_data_size
      Src: /src/glib/gio/gconverterinputstream.c:601,1
    - Dst: buffer_data_size
      Src: /src/glib/gio/gconverterinputstream.c:599,1
    - Dst: G_CONVERTER_INPUT_STREAM
      Src: /src/glib/gio/gconverterinputstream.c:597,1
    - Dst: G_POLLABLE_INPUT_STREAM
      Src: /src/glib/gio/gconverterinputstream.c:605,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GPollableInputStream*
    constantsTouched: []
    func_position:
      end: 606
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 606
    functionName: g_converter_input_stream_is_readable
    functionSourceFile: /src/glib/gio/gconverterinputstream.c
    functionUses: []
    functionsReached:
    - G_CONVERTER_INPUT_STREAM
    - buffer_data_size
    - G_FILTER_INPUT_STREAM
    - G_POLLABLE_INPUT_STREAM
    - g_pollable_input_stream_is_readable
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_converter_input_stream_is_readable (GPollableInputStream
      *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gconverterinputstream.c:107,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gconverterinputstream.c:122,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gconverterinputstream.c:120,1
    - Dst: G_INPUT_STREAM_CLASS
      Src: /src/glib/gio/gconverterinputstream.c:112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GConverterInputStreamClass*
    constantsTouched: []
    func_position:
      end: 128
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 128
    functionName: g_converter_input_stream_class_init
    functionSourceFile: /src/glib/gio/gconverterinputstream.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_object
    - G_INPUT_STREAM_CLASS
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_converter_input_stream_class_init (GConverterInputStreamClass
      *klass) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_CONVERTER_INPUT_STREAM
      Src: /src/glib/gio/gconverterinputstream.c:188,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gconverterinputstream.c:194,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gconverterinputstream.c:198,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 202
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 202
    functionName: g_converter_input_stream_get_property
    functionSourceFile: /src/glib/gio/gconverterinputstream.c
    functionUses: []
    functionsReached:
    - g_value_set_object
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_CONVERTER_INPUT_STREAM
    linkageType: ''
    returnType: void
    signature: "static void g_converter_input_stream_get_property (GObject *object,\t\
      \t\t\t guint prop_id,\t\t\t\t GValue *value,\t\t\t\t GParamSpec *pspec) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: buffer_data_size
      Src: /src/glib/gio/gconverterinputstream.c:319,1
    - Dst: grow_buffer
      Src: /src/glib/gio/gconverterinputstream.c:342,1
    - Dst: compact_buffer
      Src: /src/glib/gio/gconverterinputstream.c:336,1
    - Dst: buffer_tailspace
      Src: /src/glib/gio/gconverterinputstream.c:324,1
    - Dst: compact_buffer
      Src: /src/glib/gio/gconverterinputstream.c:331,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - buffer
    - at_least_size
    argTypes:
    - Buffer*
    - gsize
    constantsTouched: []
    func_position:
      end: 344
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 344
    functionName: buffer_ensure_space
    functionSourceFile: /src/glib/gio/gconverterinputstream.c
    functionUses: []
    functionsReached:
    - compact_buffer
    - buffer_tailspace
    - buffer_data_size
    - grow_buffer
    linkageType: ''
    returnType: void
    signature: "static void buffer_ensure_space (Buffer *buffer,\t\t gsize at_least_size) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GPollableInputStreamInterface*
    constantsTouched: []
    func_position:
      end: 137
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 137
    functionName: g_converter_input_stream_pollable_iface_init
    functionSourceFile: /src/glib/gio/gconverterinputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_converter_input_stream_pollable_iface_init (GPollableInputStreamInterface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_converter_input_stream_get_instance_private
      Src: /src/glib/gio/gconverterinputstream.c:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GConverterInputStream*
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: g_converter_input_stream_init
    functionSourceFile: /src/glib/gio/gconverterinputstream.c
    functionUses: []
    functionsReached:
    - g_converter_input_stream_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_converter_input_stream_init (GConverterInputStream *stream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: buffer_ensure_space
      Src: /src/glib/gio/gconverterinputstream.c:359,1
    - Dst: buffer_tailspace
      Src: /src/glib/gio/gconverterinputstream.c:364,1
    - Dst: g_pollable_stream_read
      Src: /src/glib/gio/gconverterinputstream.c:362,1
    - Dst: G_FILTER_INPUT_STREAM
      Src: /src/glib/gio/gconverterinputstream.c:361,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 5
    argNames:
    - stream
    - at_least_size
    - blocking
    - cancellable
    - error
    argTypes:
    - GConverterInputStream*
    - gsize
    - gboolean
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 376
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 376
    functionName: fill_input_buffer
    functionSourceFile: /src/glib/gio/gconverterinputstream.c
    functionUses: []
    functionsReached:
    - buffer_tailspace
    - G_FILTER_INPUT_STREAM
    - g_pollable_stream_read
    - buffer_ensure_space
    linkageType: ''
    returnType: gssize
    signature: "static gssize fill_input_buffer (GConverterInputStream *stream,\t\t\
      \ gsize at_least_size,\t\t gboolean blocking,\t\t GCancellable *cancellable,\t\
      \t GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_CONVERTER_INPUT_STREAM
      Src: /src/glib/gio/gconverterinputstream.c:145,1
    - Dst: g_free
      Src: /src/glib/gio/gconverterinputstream.c:149,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gconverterinputstream.c:151,1
    - Dst: g_free
      Src: /src/glib/gio/gconverterinputstream.c:148,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gconverterinputstream.c:153,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 154
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 154
    functionName: g_converter_input_stream_finalize
    functionSourceFile: /src/glib/gio/gconverterinputstream.c
    functionUses: []
    functionsReached:
    - g_free
    - G_CONVERTER_INPUT_STREAM
    - g_object_unref
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_converter_input_stream_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gconverterinputstream.c:224,1
    - Dst: G_IS_INPUT_STREAM
      Src: /src/glib/gio/gconverterinputstream.c:224,1
    - Dst: g_object_new
      Src: /src/glib/gio/gconverterinputstream.c:226,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 232
    functionName: g_converter_input_stream_new
    functionSourceFile: /src/glib/gio/gconverterinputstream.c
    functionUses: []
    functionsReached:
    - G_IS_INPUT_STREAM
    - g_return_val_if_fail
    - g_object_new
    linkageType: ''
    returnType: GInputStream*
    signature: 'GInputStream *g_converter_input_stream_new (GInputStream *base_stream,
      GConverter *converter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buffer_data_size
      Src: /src/glib/gio/gconverterinputstream.c:277,1
    - Dst: memmove
      Src: /src/glib/gio/gconverterinputstream.c:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - Buffer*
    constantsTouched: []
    func_position:
      end: 283
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 283
    functionName: compact_buffer
    functionSourceFile: /src/glib/gio/gconverterinputstream.c
    functionUses: []
    functionsReached:
    - memmove
    - buffer_data_size
    linkageType: ''
    returnType: void
    signature: 'static void compact_buffer (Buffer *buffer) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_CONVERTER_INPUT_STREAM
      Src: /src/glib/gio/gconverterinputstream.c:164,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/gconverterinputstream.c:169,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gconverterinputstream.c:173,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 177
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 177
    functionName: g_converter_input_stream_set_property
    functionSourceFile: /src/glib/gio/gconverterinputstream.c
    functionUses: []
    functionsReached:
    - g_value_dup_object
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_CONVERTER_INPUT_STREAM
    linkageType: ''
    returnType: void
    signature: "static void g_converter_input_stream_set_property (GObject *object,\t\
      \t\t\t guint prop_id,\t\t\t\t const GValue *value,\t\t\t\t GParamSpec *pspec) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - Buffer*
    constantsTouched: []
    func_position:
      end: 238
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 238
    functionName: buffer_data_size
    functionSourceFile: /src/glib/gio/gconverterinputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gsize
    signature: 'static gsize buffer_data_size (Buffer *buffer) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/glib/gio/gconverterinputstream.c:296,1
    - Dst: buffer_data_size
      Src: /src/glib/gio/gconverterinputstream.c:297,1
    - Dst: g_free
      Src: /src/glib/gio/gconverterinputstream.c:304,1
    - Dst: memcpy
      Src: /src/glib/gio/gconverterinputstream.c:300,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - Buffer*
    constantsTouched: []
    func_position:
      end: 309
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 309
    functionName: grow_buffer
    functionSourceFile: /src/glib/gio/gconverterinputstream.c
    functionUses: []
    functionsReached:
    - memcpy
    - buffer_data_size
    - g_free
    - g_malloc
    linkageType: ''
    returnType: void
    signature: 'static void grow_buffer (Buffer *buffer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - buffer
    - count
    argTypes:
    - Buffer*
    - gsize
    constantsTouched: []
    func_position:
      end: 259
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 259
    functionName: buffer_consumed
    functionSourceFile: /src/glib/gio/gconverterinputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void buffer_consumed (Buffer *buffer,\t\t gsize count) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read_internal
      Src: /src/glib/gio/gconverterinputstream.c:614,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gconverterinputstream.c:614,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - stream
    - buffer
    - count
    - error
    argTypes:
    - GPollableInputStream*
    - void*
    - gsize
    - GError**
    constantsTouched: []
    func_position:
      end: 616
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 616
    functionName: g_converter_input_stream_read_nonblocking
    functionSourceFile: /src/glib/gio/gconverterinputstream.c
    functionUses: []
    functionsReached:
    - read_internal
    - G_INPUT_STREAM
    linkageType: ''
    returnType: gssize
    signature: "static gssize g_converter_input_stream_read_nonblocking (GPollableInputStream\
      \ *stream,\t\t\t\t\t void *buffer,\t\t\t\t\t gsize count,\t\t\t\t\t GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/glib/gio/gconverterinputstream.c:267,1
    - Dst: buffer_consumed
      Src: /src/glib/gio/gconverterinputstream.c:269,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - buffer
    - dest
    - count
    argTypes:
    - Buffer*
    - char*
    - gsize
    constantsTouched: []
    func_position:
      end: 270
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 270
    functionName: buffer_read
    functionSourceFile: /src/glib/gio/gconverterinputstream.c
    functionUses: []
    functionsReached:
    - memcpy
    - buffer_consumed
    linkageType: ''
    returnType: void
    signature: "static void buffer_read (Buffer *buffer,\t char *dest,\t gsize count) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_FILTER_INPUT_STREAM
      Src: /src/glib/gio/gconverterinputstream.c:622,1
    - Dst: g_timeout_source_new
      Src: /src/glib/gio/gconverterinputstream.c:626,1
    - Dst: g_pollable_input_stream_create_source
      Src: /src/glib/gio/gconverterinputstream.c:628,1
    - Dst: G_POLLABLE_INPUT_STREAM
      Src: /src/glib/gio/gconverterinputstream.c:628,1
    - Dst: g_pollable_input_stream_is_readable
      Src: /src/glib/gio/gconverterinputstream.c:625,1
    - Dst: g_pollable_source_new_full
      Src: /src/glib/gio/gconverterinputstream.c:630,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gconverterinputstream.c:632,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 635
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 635
    functionName: g_converter_input_stream_create_source
    functionSourceFile: /src/glib/gio/gconverterinputstream.c
    functionUses: []
    functionsReached:
    - g_pollable_input_stream_create_source
    - g_timeout_source_new
    - G_FILTER_INPUT_STREAM
    - g_source_unref
    - G_POLLABLE_INPUT_STREAM
    - g_pollable_source_new_full
    - g_pollable_input_stream_is_readable
    linkageType: ''
    returnType: GSource*
    signature: "static GSource *g_converter_input_stream_create_source (GPollableInputStream\
      \ *stream,\t\t\t\t\tGCancellable *cancellable) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_MEMORY_MONITOR_WIN32
      Src: /src/glib/gio/gmemorymonitorwin32.c:189,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gmemorymonitorwin32.c:195,1
    - Dst: CreateEvent
      Src: /src/glib/gio/gmemorymonitorwin32.c:192,1
    - Dst: GetLastError
      Src: /src/glib/gio/gmemorymonitorwin32.c:195,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gmemorymonitorwin32.c:195,1
    - Dst: CreateMemoryResourceNotification
      Src: /src/glib/gio/gmemorymonitorwin32.c:200,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gmemorymonitorwin32.c:203,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gmemorymonitorwin32.c:203,1
    - Dst: GetLastError
      Src: /src/glib/gio/gmemorymonitorwin32.c:203,1
    - Dst: g_new0
      Src: /src/glib/gio/gmemorymonitorwin32.c:208,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/gmemorymonitorwin32.c:214,1
    - Dst: g_weak_ref_clear
      Src: /src/glib/gio/gmemorymonitorwin32.c:216,1
    - Dst: CreateThread
      Src: /src/glib/gio/gmemorymonitorwin32.c:211,1
    - Dst: g_free
      Src: /src/glib/gio/gmemorymonitorwin32.c:217,1
    - Dst: g_weak_ref_init
      Src: /src/glib/gio/gmemorymonitorwin32.c:209,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gmemorymonitorwin32.c:214,1
    - Dst: GetLastError
      Src: /src/glib/gio/gmemorymonitorwin32.c:214,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 3
    argNames:
    - initable
    - cancellable
    - error
    argTypes:
    - GInitable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 222
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 222
    functionName: g_memory_monitor_win32_initable_init
    functionSourceFile: /src/glib/gio/gmemorymonitorwin32.c
    functionUses: []
    functionsReached:
    - g_io_error_from_errno
    - g_free
    - CreateEvent
    - G_MEMORY_MONITOR_WIN32
    - g_set_error_literal
    - GetLastError
    - CreateMemoryResourceNotification
    - g_weak_ref_clear
    - CreateThread
    - g_new0
    - g_weak_ref_init
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_memory_monitor_win32_initable_init (GInitable *initable,
      GCancellable *cancellable, GError **error) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GetCurrentProcess
      Src: /src/glib/gio/gmemorymonitorwin32.c:92,1
    - Dst: g_win32_error_message
      Src: /src/glib/gio/gmemorymonitorwin32.c:116,1
    - Dst: g_win32_error_message
      Src: /src/glib/gio/gmemorymonitorwin32.c:130,1
    - Dst: g_free
      Src: /src/glib/gio/gmemorymonitorwin32.c:118,1
    - Dst: g_free
      Src: /src/glib/gio/gmemorymonitorwin32.c:132,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gio/gmemorymonitorwin32.c:136,1
    - Dst: g_idle_add_full
      Src: /src/glib/gio/gmemorymonitorwin32.c:142,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gmemorymonitorwin32.c:151,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/gmemorymonitorwin32.c:153,1
    - Dst: GetLastError
      Src: /src/glib/gio/gmemorymonitorwin32.c:163,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gio/gmemorymonitorwin32.c:86,1
    - Dst: g_win32_error_message
      Src: /src/glib/gio/gmemorymonitorwin32.c:100,1
    - Dst: g_free
      Src: /src/glib/gio/gmemorymonitorwin32.c:102,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gmemorymonitorwin32.c:122,1
    - Dst: CloseHandle
      Src: /src/glib/gio/gmemorymonitorwin32.c:175,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gmemorymonitorwin32.c:178,1
    - Dst: g_weak_ref_clear
      Src: /src/glib/gio/gmemorymonitorwin32.c:179,1
    - Dst: g_free
      Src: /src/glib/gio/gmemorymonitorwin32.c:180,1
    - Dst: GetCurrentProcess
      Src: /src/glib/gio/gmemorymonitorwin32.c:90,1
    - Dst: DuplicateHandle
      Src: /src/glib/gio/gmemorymonitorwin32.c:90,1
    - Dst: GetLastError
      Src: /src/glib/gio/gmemorymonitorwin32.c:130,1
    - Dst: g_debug
      Src: /src/glib/gio/gmemorymonitorwin32.c:117,1
    - Dst: GetCurrentProcess
      Src: /src/glib/gio/gmemorymonitorwin32.c:108,1
    - Dst: GetLastError
      Src: /src/glib/gio/gmemorymonitorwin32.c:116,1
    - Dst: g_debug
      Src: /src/glib/gio/gmemorymonitorwin32.c:131,1
    - Dst: WaitForMultipleObjects
      Src: /src/glib/gio/gmemorymonitorwin32.c:153,1
    - Dst: g_win32_error_message
      Src: /src/glib/gio/gmemorymonitorwin32.c:163,1
    - Dst: g_free
      Src: /src/glib/gio/gmemorymonitorwin32.c:165,1
    - Dst: g_debug
      Src: /src/glib/gio/gmemorymonitorwin32.c:164,1
    - Dst: GetLastError
      Src: /src/glib/gio/gmemorymonitorwin32.c:100,1
    - Dst: g_debug
      Src: /src/glib/gio/gmemorymonitorwin32.c:101,1
    - Dst: DuplicateHandle
      Src: /src/glib/gio/gmemorymonitorwin32.c:106,1
    - Dst: GetCurrentProcess
      Src: /src/glib/gio/gmemorymonitorwin32.c:106,1
    - Dst: QueryMemoryResourceNotification
      Src: /src/glib/gio/gmemorymonitorwin32.c:126,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gmemorymonitorwin32.c:144,1
    - Dst: g_usleep
      Src: /src/glib/gio/gmemorymonitorwin32.c:147,1
    - Dst: CloseHandle
      Src: /src/glib/gio/gmemorymonitorwin32.c:177,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 58
    argCount: 1
    argNames:
    - parameter
    argTypes:
    - LPVOID
    constantsTouched: []
    func_position:
      end: 182
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 182
    functionName: watch_thread_function
    functionSourceFile: /src/glib/gio/gmemorymonitorwin32.c
    functionUses: []
    functionsReached:
    - DuplicateHandle
    - g_steal_pointer
    - g_weak_ref_get
    - g_win32_error_message
    - QueryMemoryResourceNotification
    - G_N_ELEMENTS
    - g_debug
    - g_usleep
    - GetLastError
    - GetCurrentProcess
    - g_clear_object
    - g_idle_add_full
    - WaitForMultipleObjects
    - CloseHandle
    - g_weak_ref_clear
    - g_free
    linkageType: ''
    returnType: DWORD
    signature: 'static DWORD WINAPI watch_thread_function (LPVOID parameter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gmemorymonitorwin32.c:248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - nl_class
    argTypes:
    - GMemoryMonitorWin32Class*
    constantsTouched: []
    func_position:
      end: 251
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 251
    functionName: g_memory_monitor_win32_class_init
    functionSourceFile: /src/glib/gio/gmemorymonitorwin32.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_memory_monitor_win32_class_init (GMemoryMonitorWin32Class
      *nl_class) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_MEMORY_MONITOR_WIN32
      Src: /src/glib/gio/gmemorymonitorwin32.c:227,1
    - Dst: CloseHandle
      Src: /src/glib/gio/gmemorymonitorwin32.c:237,1
    - Dst: WaitForSingleObject
      Src: /src/glib/gio/gmemorymonitorwin32.c:232,1
    - Dst: CloseHandle
      Src: /src/glib/gio/gmemorymonitorwin32.c:233,1
    - Dst: SetEvent
      Src: /src/glib/gio/gmemorymonitorwin32.c:231,1
    - Dst: CloseHandle
      Src: /src/glib/gio/gmemorymonitorwin32.c:240,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gmemorymonitorwin32.c:242,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 243
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 243
    functionName: g_memory_monitor_win32_finalize
    functionSourceFile: /src/glib/gio/gmemorymonitorwin32.c
    functionUses: []
    functionsReached:
    - WaitForSingleObject
    - G_MEMORY_MONITOR_WIN32
    - SetEvent
    - G_OBJECT_CLASS
    - CloseHandle
    linkageType: ''
    returnType: void
    signature: 'static void g_memory_monitor_win32_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - monitor_iface
    argTypes:
    - GMemoryMonitorInterface*
    constantsTouched: []
    func_position:
      end: 256
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 256
    functionName: g_memory_monitor_win32_iface_init
    functionSourceFile: /src/glib/gio/gmemorymonitorwin32.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_memory_monitor_win32_iface_init (GMemoryMonitorInterface
      *monitor_iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GInitableIface*
    constantsTouched: []
    func_position:
      end: 262
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 262
    functionName: g_memory_monitor_win32_initable_iface_init
    functionSourceFile: /src/glib/gio/gmemorymonitorwin32.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_memory_monitor_win32_initable_iface_init (GInitableIface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - win32
    argTypes:
    - GMemoryMonitorWin32*
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: g_memory_monitor_win32_init
    functionSourceFile: /src/glib/gio/gmemorymonitorwin32.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_memory_monitor_win32_init (GMemoryMonitorWin32 *win32) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_emit_by_name
      Src: /src/glib/gio/gmemorymonitorwin32.c:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 74
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 74
    functionName: watch_handler
    functionSourceFile: /src/glib/gio/gmemorymonitorwin32.c
    functionUses: []
    functionsReached:
    - g_signal_emit_by_name
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean watch_handler (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 51
    functionName: _GDBusAnnotationInfo
    functionSourceFile: /src/glib/gio/gdbusintrospection.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: G_BEGIN_DECLS
    signature: 'G_BEGIN_DECLS /** * GDBusAnnotationInfo: * @ref_count: The reference
      count or -1 if statically allocated. * @key: The name of the annotation, e.g.
      "org.freedesktop.DBus.Deprecated". * @value: The value of the annotation. *
      @annotations: (array zero-terminated=1): A pointer to a %NULL-terminated array
      of pointers to #GDBusAnnotationInfo structures or %NULL if there are no annotations.
      * * Information about an annotation. * * Since: 2.26 */ struct _GDBusAnnotationInfo '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_action_group_query_action
      Src: /src/glib/gio/gactiongroup.c:124,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - action_group
    - action_name
    argTypes:
    - GActionGroup*
    - gchar*
    constantsTouched: []
    func_position:
      end: 128
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 128
    functionName: g_action_group_real_get_action_enabled
    functionSourceFile: /src/glib/gio/gactiongroup.c
    functionUses: []
    functionsReached:
    - g_action_group_query_action
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_action_group_real_get_action_enabled (GActionGroup
      *action_group, const gchar *action_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_action_group_query_action
      Src: /src/glib/gio/gactiongroup.c:136,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 140
    functionName: g_action_group_real_get_action_parameter_type
    functionSourceFile: /src/glib/gio/gactiongroup.c
    functionUses: []
    functionsReached:
    - g_action_group_query_action
    linkageType: ''
    returnType: GVariantType*
    signature: 'static const GVariantType *g_action_group_real_get_action_parameter_type
      (GActionGroup *action_group, const gchar *action_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gactiongroup.c:354,1
    - Dst: G_ACTION_GROUP_GET_IFACE
      Src: /src/glib/gio/gactiongroup.c:356,1
    - Dst: G_IS_ACTION_GROUP
      Src: /src/glib/gio/gactiongroup.c:354,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 358
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 358
    functionName: g_action_group_list_actions
    functionSourceFile: /src/glib/gio/gactiongroup.c
    functionUses: []
    functionsReached:
    - G_IS_ACTION_GROUP
    - g_return_val_if_fail
    - G_ACTION_GROUP_GET_IFACE
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **g_action_group_list_actions (GActionGroup *action_group) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gactiongroup.c:482,1
    - Dst: G_ACTION_GROUP_GET_IFACE
      Src: /src/glib/gio/gactiongroup.c:484,1
    - Dst: G_IS_ACTION_GROUP
      Src: /src/glib/gio/gactiongroup.c:482,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 486
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 486
    functionName: g_action_group_get_action_state_hint
    functionSourceFile: /src/glib/gio/gactiongroup.c
    functionUses: []
    functionsReached:
    - G_IS_ACTION_GROUP
    - g_return_val_if_fail
    - G_ACTION_GROUP_GET_IFACE
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_action_group_get_action_state_hint (GActionGroup *action_group,
      const gchar *action_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gactiongroup.c:721,1
    - Dst: G_IS_ACTION_GROUP
      Src: /src/glib/gio/gactiongroup.c:721,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gactiongroup.c:724,1
    - Dst: g_quark_try_string
      Src: /src/glib/gio/gactiongroup.c:726,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gactiongroup.c:722,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - action_group
    - action_name
    - state
    argTypes:
    - GActionGroup*
    - gchar*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 729
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 729
    functionName: g_action_group_action_state_changed
    functionSourceFile: /src/glib/gio/gactiongroup.c
    functionUses: []
    functionsReached:
    - G_IS_ACTION_GROUP
    - g_quark_try_string
    - g_signal_emit
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_action_group_action_state_changed (GActionGroup *action_group,
      const gchar *action_name, GVariant *state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_ACTION_GROUP_GET_IFACE
      Src: /src/glib/gio/gactiongroup.c:782,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 3
    argCount: 7
    argNames:
    - action_group
    - action_name
    - enabled
    - parameter_type
    - state_type
    - state_hint
    - state
    argTypes:
    - GActionGroup*
    - gchar*
    - gboolean*
    - GVariantType**
    - GVariantType**
    - GVariant**
    - GVariant**
    constantsTouched: []
    func_position:
      end: 784
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 784
    functionName: g_action_group_query_action
    functionSourceFile: /src/glib/gio/gactiongroup.c
    functionUses: []
    functionsReached:
    - G_ACTION_GROUP_GET_IFACE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_action_group_query_action (GActionGroup *action_group,
      const gchar *action_name, gboolean *enabled, const GVariantType **parameter_type,
      const GVariantType **state_type, GVariant **state_hint, GVariant **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_action_group_query_action
      Src: /src/glib/gio/gactiongroup.c:148,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 152
    functionName: g_action_group_real_get_action_state_type
    functionSourceFile: /src/glib/gio/gactiongroup.c
    functionUses: []
    functionsReached:
    - g_action_group_query_action
    linkageType: ''
    returnType: GVariantType*
    signature: 'static const GVariantType *g_action_group_real_get_action_state_type
      (GActionGroup *action_group, const gchar *action_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gactiongroup.c:375,1
    - Dst: G_ACTION_GROUP_GET_IFACE
      Src: /src/glib/gio/gactiongroup.c:377,1
    - Dst: G_IS_ACTION_GROUP
      Src: /src/glib/gio/gactiongroup.c:375,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - action_group
    - action_name
    argTypes:
    - GActionGroup*
    - gchar*
    constantsTouched: []
    func_position:
      end: 379
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 379
    functionName: g_action_group_has_action
    functionSourceFile: /src/glib/gio/gactiongroup.c
    functionUses: []
    functionsReached:
    - G_IS_ACTION_GROUP
    - g_return_val_if_fail
    - G_ACTION_GROUP_GET_IFACE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_action_group_has_action (GActionGroup *action_group, const
      gchar *action_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gactiongroup.c:506,1
    - Dst: G_ACTION_GROUP_GET_IFACE
      Src: /src/glib/gio/gactiongroup.c:508,1
    - Dst: G_IS_ACTION_GROUP
      Src: /src/glib/gio/gactiongroup.c:506,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - action_group
    - action_name
    argTypes:
    - GActionGroup*
    - gchar*
    constantsTouched: []
    func_position:
      end: 510
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 510
    functionName: g_action_group_get_action_enabled
    functionSourceFile: /src/glib/gio/gactiongroup.c
    functionUses: []
    functionsReached:
    - G_IS_ACTION_GROUP
    - g_return_val_if_fail
    - G_ACTION_GROUP_GET_IFACE
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_action_group_get_action_enabled (GActionGroup *action_group,
      const gchar *action_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_action_group_query_action
      Src: /src/glib/gio/gactiongroup.c:160,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 164
    functionName: g_action_group_real_get_action_state_hint
    functionSourceFile: /src/glib/gio/gactiongroup.c
    functionUses: []
    functionsReached:
    - g_action_group_query_action
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_action_group_real_get_action_state_hint (GActionGroup
      *action_group, const gchar *action_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_action_group_query_action
      Src: /src/glib/gio/gactiongroup.c:172,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 176
    functionName: g_action_group_real_get_action_state
    functionSourceFile: /src/glib/gio/gactiongroup.c
    functionUses: []
    functionsReached:
    - g_action_group_query_action
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_action_group_real_get_action_state (GActionGroup
      *action_group, const gchar *action_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gactiongroup.c:620,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gactiongroup.c:621,1
    - Dst: G_IS_ACTION_GROUP
      Src: /src/glib/gio/gactiongroup.c:620,1
    - Dst: G_ACTION_GROUP_GET_IFACE
      Src: /src/glib/gio/gactiongroup.c:623,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - action_group
    - action_name
    - parameter
    argTypes:
    - GActionGroup*
    - gchar*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 625
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 625
    functionName: g_action_group_activate_action
    functionSourceFile: /src/glib/gio/gactiongroup.c
    functionUses: []
    functionsReached:
    - G_IS_ACTION_GROUP
    - G_ACTION_GROUP_GET_IFACE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_action_group_activate_action (GActionGroup *action_group, const
      gchar *action_name, GVariant *parameter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_action_group_query_action
      Src: /src/glib/gio/gactiongroup.c:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - action_group
    - action_name
    argTypes:
    - GActionGroup*
    - gchar*
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: g_action_group_real_has_action
    functionSourceFile: /src/glib/gio/gactiongroup.c
    functionUses: []
    functionsReached:
    - g_action_group_query_action
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_action_group_real_has_action (GActionGroup *action_group,
      const gchar *action_name) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: G_ACTION_GROUP_GET_IFACE
      Src: /src/glib/gio/gactiongroup.c:187,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/gactiongroup.c:204,1
    - Dst: g_critical
      Src: /src/glib/gio/gactiongroup.c:202,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 33
    argCount: 7
    argNames:
    - action_group
    - action_name
    - enabled
    - parameter_type
    - state_type
    - state_hint
    - state
    argTypes:
    - GActionGroup*
    - gchar*
    - gboolean*
    - GVariantType**
    - GVariantType**
    - GVariant**
    - GVariant**
    constantsTouched: []
    func_position:
      end: 227
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 227
    functionName: g_action_group_real_query_action
    functionSourceFile: /src/glib/gio/gactiongroup.c
    functionUses: []
    functionsReached:
    - G_ACTION_GROUP_GET_IFACE
    - g_critical
    - G_OBJECT_TYPE_NAME
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_action_group_real_query_action (GActionGroup *action_group,
      const gchar *action_name, gboolean *enabled, const GVariantType **parameter_type,
      const GVariantType **state_type, GVariant **state_hint, GVariant **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gactiongroup.c:408,1
    - Dst: G_ACTION_GROUP_GET_IFACE
      Src: /src/glib/gio/gactiongroup.c:410,1
    - Dst: G_IS_ACTION_GROUP
      Src: /src/glib/gio/gactiongroup.c:408,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 412
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 412
    functionName: g_action_group_get_action_parameter_type
    functionSourceFile: /src/glib/gio/gactiongroup.c
    functionUses: []
    functionsReached:
    - G_IS_ACTION_GROUP
    - g_return_val_if_fail
    - G_ACTION_GROUP_GET_IFACE
    linkageType: ''
    returnType: GVariantType*
    signature: 'const GVariantType *g_action_group_get_action_parameter_type (GActionGroup
      *action_group, const gchar *action_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gactiongroup.c:534,1
    - Dst: G_ACTION_GROUP_GET_IFACE
      Src: /src/glib/gio/gactiongroup.c:536,1
    - Dst: G_IS_ACTION_GROUP
      Src: /src/glib/gio/gactiongroup.c:534,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 538
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 538
    functionName: g_action_group_get_action_state
    functionSourceFile: /src/glib/gio/gactiongroup.c
    functionUses: []
    functionsReached:
    - G_IS_ACTION_GROUP
    - g_return_val_if_fail
    - G_ACTION_GROUP_GET_IFACE
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_action_group_get_action_state (GActionGroup *action_group,
      const gchar *action_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gactiongroup.c:565,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gactiongroup.c:566,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gactiongroup.c:567,1
    - Dst: G_IS_ACTION_GROUP
      Src: /src/glib/gio/gactiongroup.c:565,1
    - Dst: G_ACTION_GROUP_GET_IFACE
      Src: /src/glib/gio/gactiongroup.c:569,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - action_group
    - action_name
    - value
    argTypes:
    - GActionGroup*
    - gchar*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 571
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 571
    functionName: g_action_group_change_action_state
    functionSourceFile: /src/glib/gio/gactiongroup.c
    functionUses: []
    functionsReached:
    - G_IS_ACTION_GROUP
    - G_ACTION_GROUP_GET_IFACE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_action_group_change_action_state (GActionGroup *action_group,
      const gchar *action_name, GVariant *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_new
      Src: /src/glib/gio/gactiongroup.c:253,1
    - Dst: I_
      Src: /src/glib/gio/gactiongroup.c:275,1
    - Dst: I_
      Src: /src/glib/gio/gactiongroup.c:253,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gactiongroup.c:275,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gactiongroup.c:256,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gactiongroup.c:278,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gactiongroup.c:295,1
    - Dst: I_
      Src: /src/glib/gio/gactiongroup.c:295,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gactiongroup.c:298,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gactiongroup.c:305,1
    - Dst: G_TYPE_FROM_INTERFACE
      Src: /src/glib/gio/gactiongroup.c:306,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gactiongroup.c:325,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gactiongroup.c:332,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gactiongroup.c:320,1
    - Dst: G_TYPE_FROM_INTERFACE
      Src: /src/glib/gio/gactiongroup.c:333,1
    - Dst: I_
      Src: /src/glib/gio/gactiongroup.c:320,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GActionGroupInterface*
    constantsTouched: []
    func_position:
      end: 335
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 335
    functionName: g_action_group_default_init
    functionSourceFile: /src/glib/gio/gactiongroup.c
    functionUses: []
    functionsReached:
    - I_
    - G_STRUCT_OFFSET
    - g_signal_set_va_marshaller
    - G_TYPE_FROM_INTERFACE
    - g_signal_new
    linkageType: ''
    returnType: void
    signature: 'static void g_action_group_default_init (GActionGroupInterface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gactiongroup.c:444,1
    - Dst: G_ACTION_GROUP_GET_IFACE
      Src: /src/glib/gio/gactiongroup.c:446,1
    - Dst: G_IS_ACTION_GROUP
      Src: /src/glib/gio/gactiongroup.c:444,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 448
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 448
    functionName: g_action_group_get_action_state_type
    functionSourceFile: /src/glib/gio/gactiongroup.c
    functionUses: []
    functionsReached:
    - G_IS_ACTION_GROUP
    - g_return_val_if_fail
    - G_ACTION_GROUP_GET_IFACE
    linkageType: ''
    returnType: GVariantType*
    signature: 'const GVariantType *g_action_group_get_action_state_type (GActionGroup
      *action_group, const gchar *action_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gactiongroup.c:666,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gactiongroup.c:667,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gactiongroup.c:669,1
    - Dst: G_IS_ACTION_GROUP
      Src: /src/glib/gio/gactiongroup.c:666,1
    - Dst: g_quark_try_string
      Src: /src/glib/gio/gactiongroup.c:671,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - action_group
    - action_name
    argTypes:
    - GActionGroup*
    - gchar*
    constantsTouched: []
    func_position:
      end: 673
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 673
    functionName: g_action_group_action_removed
    functionSourceFile: /src/glib/gio/gactiongroup.c
    functionUses: []
    functionsReached:
    - G_IS_ACTION_GROUP
    - g_quark_try_string
    - g_signal_emit
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_action_group_action_removed (GActionGroup *action_group, const
      gchar *action_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gactiongroup.c:692,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gactiongroup.c:693,1
    - Dst: g_quark_try_string
      Src: /src/glib/gio/gactiongroup.c:699,1
    - Dst: G_IS_ACTION_GROUP
      Src: /src/glib/gio/gactiongroup.c:692,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gactiongroup.c:697,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - action_group
    - action_name
    - enabled
    argTypes:
    - GActionGroup*
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 702
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 702
    functionName: g_action_group_action_enabled_changed
    functionSourceFile: /src/glib/gio/gactiongroup.c
    functionUses: []
    functionsReached:
    - G_IS_ACTION_GROUP
    - g_quark_try_string
    - g_signal_emit
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_action_group_action_enabled_changed (GActionGroup *action_group,
      const gchar *action_name, gboolean enabled) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gactiongroup.c:642,1
    - Dst: g_quark_try_string
      Src: /src/glib/gio/gactiongroup.c:647,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gactiongroup.c:643,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gactiongroup.c:645,1
    - Dst: G_IS_ACTION_GROUP
      Src: /src/glib/gio/gactiongroup.c:642,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - action_group
    - action_name
    argTypes:
    - GActionGroup*
    - gchar*
    constantsTouched: []
    func_position:
      end: 649
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 649
    functionName: g_action_group_action_added
    functionSourceFile: /src/glib/gio/gactiongroup.c
    functionUses: []
    functionsReached:
    - G_IS_ACTION_GROUP
    - g_quark_try_string
    - g_signal_emit
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_action_group_action_added (GActionGroup *action_group, const
      gchar *action_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gdbusconnection.c:923,1
    - Dst: raise
      Src: /src/glib/gio/gdbusconnection.c:933,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - connection
    - remote_peer_vanished
    - error
    argTypes:
    - GDBusConnection*
    - gboolean
    - GError*
    constantsTouched: []
    func_position:
      end: 935
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 935
    functionName: g_dbus_connection_real_closed
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - raise
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_connection_real_closed (GDBusConnection *connection,
      gboolean remote_peer_vanished, GError *error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gdbusconnection.c:2018,1
    - Dst: g_task_attach_source
      Src: /src/glib/gio/gdbusconnection.c:2028,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gdbusconnection.c:2027,1
    - Dst: g_idle_source_new
      Src: /src/glib/gio/gdbusconnection.c:2026,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - cancellable
    - user_data
    argTypes:
    - GCancellable*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2029
      start: 2013
    functionDepth: 0
    functionLinenumber: 2013
    functionLinenumberEnd: 2029
    functionName: send_message_with_reply_cancelled_cb
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_task_attach_source
    - g_task_get_task_data
    - g_source_set_static_name
    - g_idle_source_new
    linkageType: ''
    returnType: void
    signature: 'static void send_message_with_reply_cancelled_cb (GCancellable *cancellable,
      gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusconnection.c:2712,1
    - Dst: G_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:2719,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusconnection.c:2720,1
    - Dst: g_hash_table_contains
      Src: /src/glib/gio/gdbusconnection.c:2713,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:2716,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:2721,1
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:2726,1
    - Dst: copy_filter_list
      Src: /src/glib/gio/gdbusconnection.c:2727,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:2728,1
    - Dst: g_dbus_message_lock
      Src: /src/glib/gio/gdbusconnection.c:2733,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:2744,1
    - Dst: free_filter_list
      Src: /src/glib/gio/gdbusconnection.c:2743,1
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:2742,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:2746,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2749
      start: 2702
    functionDepth: 0
    functionLinenumber: 2702
    functionLinenumberEnd: 2749
    functionName: on_worker_message_about_to_be_sent
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - G_DBUS_CONNECTION
    - CONNECTION_LOCK
    - free_filter_list
    - g_object_unref
    - G_UNLOCK
    - copy_filter_list
    - CONNECTION_UNLOCK
    - g_hash_table_contains
    - g_object_ref
    - G_LOCK
    - g_dbus_message_lock
    linkageType: ''
    returnType: GDBusMessage*
    signature: 'static GDBusMessage *on_worker_message_about_to_be_sent (GDBusWorker
      *worker, GDBusMessage *message, gpointer user_data) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:4317,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:4323,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:4341,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:4355,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:4349,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:4341,1
    - Dst: path_rule_matches
      Src: /src/glib/gio/gdbusconnection.c:4376,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gdbusconnection.c:4379,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:4387,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:4388,1
    - Dst: g_source_set_priority
      Src: /src/glib/gio/gdbusconnection.c:4410,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusconnection.c:4403,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusconnection.c:4297,1
    - Dst: namespace_rule_matches
      Src: /src/glib/gio/gdbusconnection.c:4370,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:4388,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:4390,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusconnection.c:4402,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gdbusconnection.c:4415,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:4390,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:4389,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gdbusconnection.c:4417,1
    - Dst: g_idle_source_new
      Src: /src/glib/gio/gdbusconnection.c:4409,1
    - Dst: g_dbus_message_get_interface
      Src: /src/glib/gio/gdbusconnection.c:4287,1
    - Dst: g_dbus_message_get_path
      Src: /src/glib/gio/gdbusconnection.c:4289,1
    - Dst: g_dbus_message_get_arg0
      Src: /src/glib/gio/gdbusconnection.c:4290,1
    - Dst: g_dbus_message_get_member
      Src: /src/glib/gio/gdbusconnection.c:4288,1
    - Dst: g_dbus_message_get_arg0_path
      Src: /src/glib/gio/gdbusconnection.c:4291,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:4294,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:4340,1
    - Dst: g_dbus_is_unique_name
      Src: /src/glib/gio/gdbusconnection.c:4340,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:4362,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:4362,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gdbusconnection.c:4416,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gdbusconnection.c:4411,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:4320,1
    - Dst: g_dbus_is_unique_name
      Src: /src/glib/gio/gdbusconnection.c:4355,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:4344,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:4336,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gdbusconnection.c:4356,1
    - Dst: path_rule_matches
      Src: /src/glib/gio/gdbusconnection.c:4375,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:4387,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:4389,1
    - Dst: name_watcher_deliver_name_owner_changed_unlocked
      Src: /src/glib/gio/gdbusconnection.c:4391,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusconnection.c:4400,1
    - Dst: signal_subscriber_ref
      Src: /src/glib/gio/gdbusconnection.c:4401,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 123
    argCount: 4
    argNames:
    - connection
    - signal_data_array
    - message
    - sender
    argTypes:
    - GDBusConnection*
    - GPtrArray*
    - GDBusMessage*
    - gchar*
    constantsTouched: []
    func_position:
      end: 4420
      start: 4268
    functionDepth: 0
    functionLinenumber: 4268
    functionLinenumberEnd: 4420
    functionName: schedule_callbacks
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - name_watcher_deliver_name_owner_changed_unlocked
    - g_source_set_callback
    - g_dbus_is_unique_name
    - path_rule_matches
    - g_dbus_message_get_arg0
    - signal_subscriber_ref
    - g_source_attach
    - g_dbus_message_get_arg0_path
    - g_source_unref
    - g_print
    - g_source_set_priority
    - g_strcmp0
    - g_source_set_static_name
    - g_str_equal
    - g_dbus_message_get_path
    - g_idle_source_new
    - g_assert
    - namespace_rule_matches
    - g_dbus_message_get_member
    - g_dbus_message_get_interface
    - g_object_ref
    - g_new0
    linkageType: ''
    returnType: void
    signature: 'static void schedule_callbacks (GDBusConnection *connection, GPtrArray
      *signal_data_array, GDBusMessage *message, const gchar *sender) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusconnection.c:4865,1
    - Dst: g_dbus_message_new_method_error
      Src: /src/glib/gio/gdbusconnection.c:4882,1
    - Dst: g_dbus_connection_send_message_unlocked
      Src: /src/glib/gio/gdbusconnection.c:4886,1
    - Dst: g_dbus_connection_send_message_unlocked
      Src: /src/glib/gio/gdbusconnection.c:4909,1
    - Dst: g_dbus_message_new_method_error
      Src: /src/glib/gio/gdbusconnection.c:4905,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:4923,1
    - Dst: g_dbus_message_new_method_error
      Src: /src/glib/gio/gdbusconnection.c:4925,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusconnection.c:4929,1
    - Dst: g_dbus_connection_send_message_unlocked
      Src: /src/glib/gio/gdbusconnection.c:4930,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusconnection.c:4937,1
    - Dst: schedule_method_call
      Src: /src/glib/gio/gdbusconnection.c:4958,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gdbusconnection.c:4989,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gdbusconnection.c:4988,1
    - Dst: g_dbus_message_get_body
      Src: /src/glib/gio/gdbusconnection.c:4860,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:4899,1
    - Dst: _
      Src: /src/glib/gio/gdbusconnection.c:4907,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusconnection.c:4923,1
    - Dst: _
      Src: /src/glib/gio/gdbusconnection.c:4927,1
    - Dst: g_dbus_message_get_body
      Src: /src/glib/gio/gdbusconnection.c:4959,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gdbusconnection.c:4985,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gdbusconnection.c:4980,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusconnection.c:4860,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:4887,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:4910,1
    - Dst: g_dbus_message_get_body
      Src: /src/glib/gio/gdbusconnection.c:4922,1
    - Dst: _
      Src: /src/glib/gio/gdbusconnection.c:4896,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusconnection.c:4931,1
    - Dst: schedule_method_call
      Src: /src/glib/gio/gdbusconnection.c:4947,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusconnection.c:4967,1
    - Dst: g_source_set_priority
      Src: /src/glib/gio/gdbusconnection.c:4979,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusconnection.c:4968,1
    - Dst: g_dbus_interface_info_lookup_property
      Src: /src/glib/gio/gdbusconnection.c:4879,1
    - Dst: g_dbus_message_get_body
      Src: /src/glib/gio/gdbusconnection.c:4865,1
    - Dst: _
      Src: /src/glib/gio/gdbusconnection.c:4884,1
    - Dst: g_dbus_message_new_method_error
      Src: /src/glib/gio/gdbusconnection.c:4894,1
    - Dst: g_dbus_connection_send_message_unlocked
      Src: /src/glib/gio/gdbusconnection.c:4898,1
    - Dst: g_variant_get_child
      Src: /src/glib/gio/gdbusconnection.c:4922,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:4932,1
    - Dst: g_dbus_message_get_body
      Src: /src/glib/gio/gdbusconnection.c:4948,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusconnection.c:4969,1
    - Dst: g_idle_source_new
      Src: /src/glib/gio/gdbusconnection.c:4978,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gdbusconnection.c:4987,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 90
    argCount: 9
    argNames:
    - connection
    - message
    - registration_id
    - subtree_registration_id
    - is_get
    - interface_info
    - vtable
    - main_context
    - user_data
    argTypes:
    - GDBusConnection*
    - GDBusMessage*
    - guint
    - guint
    - gboolean
    - GDBusInterfaceInfo*
    - GDBusInterfaceVTable*
    - GMainContext*
    - gpointer
    constantsTouched: []
    func_position:
      end: 4995
      start: 4838
    functionDepth: 0
    functionLinenumber: 4838
    functionLinenumberEnd: 4995
    functionName: validate_and_maybe_schedule_property_getset
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - g_dbus_message_new_method_error
    - g_object_unref
    - g_source_attach
    - g_dbus_connection_send_message_unlocked
    - g_variant_unref
    - g_source_unref
    - g_variant_get
    - g_variant_get_type_string
    - g_source_set_priority
    - g_variant_get_child
    - g_dbus_interface_info_lookup_property
    - g_dbus_message_get_body
    - g_strcmp0
    - _
    - g_source_set_static_name
    - schedule_method_call
    - g_idle_source_new
    - g_object_ref
    - g_new0
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean validate_and_maybe_schedule_property_getset (GDBusConnection
      *connection, GDBusMessage *message, guint registration_id, guint subtree_registration_id,
      gboolean is_get, GDBusInterfaceInfo *interface_info, const GDBusInterfaceVTable
      *vtable, GMainContext *main_context, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gdbusconnection.c:397,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/gio/gdbusconnection.c:406,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusconnection.c:407,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 408
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 408
    functionName: signal_data_new_take
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_ptr_array_new_with_free_func
    - g_new0
    - g_steal_pointer
    linkageType: ''
    returnType: SignalData*
    signature: 'static SignalData *signal_data_new_take (gchar *rule, gchar *sender,
      gchar *interface_name, gchar *member, gchar *object_path, gchar *arg0, GDBusSignalFlags
      flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusconnection.c:965,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gdbusconnection.c:967,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusconnection.c:1060,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gdbusconnection.c:1062,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusconnection.c:1097,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gdbusconnection.c:1078,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gdbusconnection.c:1099,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusconnection.c:1076,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gdbusconnection.c:1179,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gdbusconnection.c:1168,1
    - Dst: I_
      Src: /src/glib/gio/gdbusconnection.c:1168,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusconnection.c:1001,1
    - Dst: g_param_spec_flags
      Src: /src/glib/gio/gdbusconnection.c:1003,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gdbusconnection.c:1171,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gdbusconnection.c:1180,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusconnection.c:942,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusconnection.c:984,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gdbusconnection.c:986,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusconnection.c:1041,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gdbusconnection.c:1043,1
    - Dst: g_param_spec_flags
      Src: /src/glib/gio/gdbusconnection.c:1117,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusconnection.c:1132,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusconnection.c:1115,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gdbusconnection.c:1134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 68
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GDBusConnectionClass*
    constantsTouched: []
    func_position:
      end: 1182
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 1182
    functionName: g_dbus_connection_class_init
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - I_
    - G_STRUCT_OFFSET
    - g_param_spec_boolean
    - G_TYPE_FROM_CLASS
    - g_param_spec_object
    - g_object_class_install_property
    - G_OBJECT_CLASS
    - g_signal_set_va_marshaller
    - g_signal_new
    - g_param_spec_string
    - g_param_spec_flags
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_connection_class_init (GDBusConnectionClass *klass) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/gio/gdbusconnection.c:4253,1
    - Dst: strlen
      Src: /src/glib/gio/gdbusconnection.c:4254,1
    - Dst: MIN
      Src: /src/glib/gio/gdbusconnection.c:4262,1
    - Dst: memcmp
      Src: /src/glib/gio/gdbusconnection.c:4262,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - path_a
    - path_b
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 4263
      start: 4247
    functionDepth: 0
    functionLinenumber: 4247
    functionLinenumberEnd: 4263
    functionName: path_rule_matches
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - MIN
    - strlen
    - memcmp
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean path_rule_matches (const gchar *path_a, const gchar
      *path_b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusconnection.c:4800,1
    - Dst: g_dbus_message_get_path
      Src: /src/glib/gio/gdbusconnection.c:4808,1
    - Dst: g_dbus_message_get_body
      Src: /src/glib/gio/gdbusconnection.c:4800,1
    - Dst: g_dbus_message_get_sender
      Src: /src/glib/gio/gdbusconnection.c:4807,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:4816,1
    - Dst: g_dbus_error_encode_gerror
      Src: /src/glib/gio/gdbusconnection.c:4817,1
    - Dst: g_dbus_message_new_method_error_literal
      Src: /src/glib/gio/gdbusconnection.c:4818,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:4821,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusconnection.c:4822,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:4831,1
    - Dst: g_dbus_message_new_method_reply
      Src: /src/glib/gio/gdbusconnection.c:4826,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusconnection.c:4832,1
    - Dst: g_dbus_connection_send_message
      Src: /src/glib/gio/gdbusconnection.c:4830,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:4829,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - _data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 4835
      start: 4789
    functionDepth: 0
    functionLinenumber: 4789
    functionLinenumberEnd: 4835
    functionName: invoke_set_property_in_idle_cb
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_dbus_message_get_path
    - g_assert
    - g_dbus_error_encode_gerror
    - g_dbus_message_new_method_error_literal
    - g_dbus_message_new_method_reply
    - g_dbus_connection_send_message
    - g_error_free
    - g_dbus_message_get_sender
    - g_dbus_message_get_body
    - g_variant_get
    - g_variant_unref
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean invoke_set_property_in_idle_cb (gpointer _data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gdbusconnection.c:1958,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gdbusconnection.c:1963,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusconnection.c:1963,1
    - Dst: send_message_with_reply_cleanup
      Src: /src/glib/gio/gdbusconnection.c:1965,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - task
    - reply
    argTypes:
    - GTask*
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 1969
      start: 1954
    functionDepth: 0
    functionLinenumber: 1954
    functionLinenumberEnd: 1969
    functionName: send_message_data_deliver_reply_unlocked
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - send_message_with_reply_cleanup
    - g_task_get_task_data
    - g_task_return_pointer
    - g_object_ref
    linkageType: ''
    returnType: void
    signature: 'static void send_message_data_deliver_reply_unlocked (GTask *task,
      GDBusMessage *reply) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: send_message_data_deliver_error
      Src: /src/glib/gio/gdbusconnection.c:2007,1
    - Dst: _
      Src: /src/glib/gio/gdbusconnection.c:2008,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 2010
      start: 2002
    functionDepth: 0
    functionLinenumber: 2002
    functionLinenumberEnd: 2010
    functionName: send_message_with_reply_cancelled_idle_cb
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - _
    - send_message_data_deliver_error
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean send_message_with_reply_cancelled_idle_cb (gpointer
      user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusconnection.c:4081,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusconnection.c:4101,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusconnection.c:4100,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusconnection.c:4082,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusconnection.c:4100,1
    - Dst: g_ptr_array_remove_index_fast
      Src: /src/glib/gio/gdbusconnection.c:4103,1
    - Dst: remove_signal_data_if_unused
      Src: /src/glib/gio/gdbusconnection.c:4105,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gdbusconnection.c:4109,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - connection
    - subscription_id
    argTypes:
    - GDBusConnection*
    - guint
    constantsTouched: []
    func_position:
      end: 4113
      start: 4073
    functionDepth: 0
    functionLinenumber: 4073
    functionLinenumberEnd: 4113
    functionName: unsubscribe_id_internal
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_warn_if_fail
    - g_hash_table_remove
    - GUINT_TO_POINTER
    - g_ptr_array_remove_index_fast
    - g_hash_table_lookup
    - remove_signal_data_if_unused
    - g_assert_not_reached
    linkageType: ''
    returnType: guint
    signature: 'static guint unsubscribe_id_internal (GDBusConnection *connection,
      guint subscription_id) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gdbusconnection.c:5324,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusconnection.c:5335,1
    - Dst: g_strndup
      Src: /src/glib/gio/gdbusconnection.c:5333,1
    - Dst: strchr
      Src: /src/glib/gio/gdbusconnection.c:5331,1
    - Dst: strlen
      Src: /src/glib/gio/gdbusconnection.c:5324,1
    - Dst: g_hash_table_contains
      Src: /src/glib/gio/gdbusconnection.c:5337,1
    - Dst: g_hash_table_add
      Src: /src/glib/gio/gdbusconnection.c:5338,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:5340,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 4
    argNames:
    - path
    - path_len
    - object_path
    - set
    argTypes:
    - gchar*
    - gsize
    - gchar*
    - GHashTable*
    constantsTouched: []
    func_position:
      end: 5342
      start: 5321
    functionDepth: 0
    functionLinenumber: 5321
    functionLinenumberEnd: 5342
    functionName: maybe_add_path
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_strdup
    - strlen
    - g_strndup
    - g_str_has_prefix
    - strchr
    - g_hash_table_contains
    - g_free
    - g_hash_table_add
    linkageType: ''
    returnType: void
    signature: 'static void maybe_add_path (const gchar *path, gsize path_len, const
      gchar *object_path, GHashTable *set) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_call_sync_internal
      Src: /src/glib/gio/gdbusconnection.c:7088,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7089
      start: 7073
    functionDepth: 0
    functionLinenumber: 7073
    functionLinenumberEnd: 7089
    functionName: g_dbus_connection_call_with_unix_fd_list_sync
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_call_sync_internal
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_dbus_connection_call_with_unix_fd_list_sync (GDBusConnection
      *connection, const gchar *bus_name, const gchar *object_path, const gchar *interface_name,
      const gchar *method_name, GVariant *parameters, const GVariantType *reply_type,
      GDBusCallFlags flags, gint timeout_msec, GUnixFDList *fd_list, GUnixFDList **out_fd_list,
      GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:414,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:422,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:418,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:425,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:424,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:426,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:427,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:428,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:429,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/gdbusconnection.c:430,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:432,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - signal_data
    argTypes:
    - SignalData*
    constantsTouched: []
    func_position:
      end: 433
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 433
    functionName: signal_data_free
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_ptr_array_unref
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void signal_data_free (SignalData *signal_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gdbusconnection.c:2757,1
    - Dst: send_message_with_reply_cleanup
      Src: /src/glib/gio/gdbusconnection.c:2771,1
    - Dst: g_task_return_new_error_literal
      Src: /src/glib/gio/gdbusconnection.c:2762,1
    - Dst: _
      Src: /src/glib/gio/gdbusconnection.c:2765,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - key
    - value
    - user_data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 2773
      start: 2753
    functionDepth: 0
    functionLinenumber: 2753
    functionLinenumberEnd: 2773
    functionName: cancel_method_on_close
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - _
    - g_task_return_new_error_literal
    - g_task_get_task_data
    - send_message_with_reply_cleanup
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean cancel_method_on_close (gpointer key, gpointer value,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: send_message_data_deliver_error
      Src: /src/glib/gio/gdbusconnection.c:2039,1
    - Dst: _
      Src: /src/glib/gio/gdbusconnection.c:2040,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 2042
      start: 2034
    functionDepth: 0
    functionLinenumber: 2034
    functionLinenumberEnd: 2042
    functionName: send_message_with_reply_timeout_cb
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - _
    - send_message_data_deliver_error
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean send_message_with_reply_timeout_cb (gpointer user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_message_set_flags
      Src: /src/glib/gio/gdbusconnection.c:6355,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - message
    - flags
    argTypes:
    - GDBusMessage*
    - GDBusCallFlags
    constantsTouched: []
    func_position:
      end: 6356
      start: 6344
    functionDepth: 0
    functionLinenumber: 6344
    functionLinenumberEnd: 6356
    functionName: add_call_flags
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_dbus_message_set_flags
    linkageType: ''
    returnType: void
    signature: 'static void add_call_flags (GDBusMessage *message, GDBusCallFlags
      flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_dbus_initialize
      Src: /src/glib/gio/gdbusconnection.c:3101,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3104,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3103,1
    - Dst: g_async_initable_new_async
      Src: /src/glib/gio/gdbusconnection.c:3106,1
    - Dst: G_IS_IO_STREAM
      Src: /src/glib/gio/gdbusconnection.c:3103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 7
    argNames:
    - stream
    - guid
    - flags
    - observer
    - cancellable
    - callback
    - user_data
    argTypes:
    - GIOStream*
    - gchar*
    - GDBusConnectionFlags
    - GDBusAuthObserver*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 3116
      start: 3092
    functionDepth: 0
    functionLinenumber: 3092
    functionLinenumberEnd: 3116
    functionName: g_dbus_connection_new
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - _g_dbus_initialize
    - G_IS_IO_STREAM
    - g_async_initable_new_async
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_connection_new (GIOStream *stream, const gchar *guid,
      GDBusConnectionFlags flags, GDBusAuthObserver *observer, GCancellable *cancellable,
      GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_message_get_message_type
      Src: /src/glib/gio/gdbusconnection.c:6368,1
    - Dst: g_dbus_message_get_body
      Src: /src/glib/gio/gdbusconnection.c:6371,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusconnection.c:6374,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gdbusconnection.c:6379,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdbusconnection.c:6375,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusconnection.c:6382,1
    - Dst: g_variant_type_dup_string
      Src: /src/glib/gio/gdbusconnection.c:6384,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusconnection.c:6386,1
    - Dst: _
      Src: /src/glib/gio/gdbusconnection.c:6389,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusconnection.c:6390,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusconnection.c:6392,1
    - Dst: g_dbus_message_get_unix_fd_list
      Src: /src/glib/gio/gdbusconnection.c:6402,1
    - Dst: g_dbus_message_to_gerror
      Src: /src/glib/gio/gdbusconnection.c:6411,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gdbusconnection.c:6415,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:6393,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusconnection.c:6404,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6420
      start: 6358
    functionDepth: 0
    functionLinenumber: 6358
    functionLinenumberEnd: 6420
    functionName: decode_method_reply
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - g_set_error
    - g_dbus_message_to_gerror
    - g_variant_is_of_type
    - g_dbus_message_get_message_type
    - g_assert_not_reached
    - g_variant_unref
    - g_variant_type_dup_string
    - g_variant_new
    - g_dbus_message_get_unix_fd_list
    - g_dbus_message_get_body
    - g_variant_get_type_string
    - g_object_ref
    - _
    - g_free
    - g_variant_ref
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *decode_method_reply (GDBusMessage *reply, const gchar
      *method_name, const GVariantType *reply_type, GUnixFDList **out_fd_list, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusconnection.c:1637,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/gdbusconnection.c:1638,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1639
      start: 1630
    functionDepth: 0
    functionLinenumber: 1630
    functionLinenumberEnd: 1639
    functionName: sync_close_cb
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    - g_object_ref
    linkageType: ''
    returnType: void
    signature: 'static void sync_close_cb (GObject *source_object, GAsyncResult *res,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:1906,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gdbusconnection.c:1909,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:1907,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - SendMessageData*
    constantsTouched: []
    func_position:
      end: 1910
      start: 1902
    functionDepth: 0
    functionLinenumber: 1902
    functionLinenumberEnd: 1910
    functionName: send_message_data_free
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void send_message_data_free (SendMessageData *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - async_initable_iface
    argTypes:
    - GAsyncInitableIface*
    constantsTouched: []
    func_position:
      end: 3055
      start: 3051
    functionDepth: 0
    functionLinenumber: 3051
    functionLinenumberEnd: 3055
    functionName: async_initable_iface_init
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void async_initable_iface_init (GAsyncInitableIface *async_initable_iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusconnection.c:4142,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:4142,1
    - Dst: check_initialized
      Src: /src/glib/gio/gdbusconnection.c:4143,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusconnection.c:4143,1
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:4145,1
    - Dst: unsubscribe_id_internal
      Src: /src/glib/gio/gdbusconnection.c:4146,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:4147,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:4150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - connection
    - subscription_id
    argTypes:
    - GDBusConnection*
    - guint
    constantsTouched: []
    func_position:
      end: 4151
      start: 4136
    functionDepth: 0
    functionLinenumber: 4136
    functionLinenumberEnd: 4151
    functionName: g_dbus_connection_signal_unsubscribe
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - CONNECTION_LOCK
    - g_return_if_fail
    - g_assert
    - G_IS_DBUS_CONNECTION
    - CONNECTION_UNLOCK
    - check_initialized
    - unsubscribe_id_internal
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_connection_signal_unsubscribe (GDBusConnection *connection,
      guint subscription_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CONNECTION_ENSURE_LOCK
      Src: /src/glib/gio/gdbusconnection.c:5357,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/gdbusconnection.c:5363,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gdbusconnection.c:5366,1
    - Dst: strlen
      Src: /src/glib/gio/gdbusconnection.c:5359,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gdbusconnection.c:5365,1
    - Dst: maybe_add_path
      Src: /src/glib/gio/gdbusconnection.c:5367,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gdbusconnection.c:5369,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gdbusconnection.c:5370,1
    - Dst: maybe_add_path
      Src: /src/glib/gio/gdbusconnection.c:5371,1
    - Dst: g_hash_table_steal_all_keys
      Src: /src/glib/gio/gdbusconnection.c:5373,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusconnection.c:5374,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusconnection.c:5376,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/gdbusconnection.c:5377,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5379
      start: 5346
    functionDepth: 0
    functionLinenumber: 5346
    functionLinenumberEnd: 5379
    functionName: g_dbus_connection_list_registered_unlocked
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_hash_table_iter_init
    - strlen
    - g_hash_table_steal_all_keys
    - g_hash_table_unref
    - CONNECTION_ENSURE_LOCK
    - g_hash_table_new
    - g_ptr_array_free
    - maybe_add_path
    - g_ptr_array_add
    - g_hash_table_iter_next
    linkageType: ''
    returnType: gchar**
    signature: 'static gchar **g_dbus_connection_list_registered_unlocked (GDBusConnection
      *connection, const gchar *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter_data_destroy
      Src: /src/glib/gio/gdbusconnection.c:3564,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - connection
    argTypes:
    - GDBusConnection*
    constantsTouched: []
    func_position:
      end: 3565
      start: 3558
    functionDepth: 0
    functionLinenumber: 3558
    functionLinenumberEnd: 3565
    functionName: purge_all_filters
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - filter_data_destroy
    linkageType: ''
    returnType: void
    signature: 'static void purge_all_filters (GDBusConnection *connection) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_dbus_initialize
      Src: /src/glib/gio/gdbusconnection.c:3249,1
    - Dst: g_async_initable_new_async
      Src: /src/glib/gio/gdbusconnection.c:3254,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3251,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3252,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 6
    argNames:
    - address
    - flags
    - observer
    - cancellable
    - callback
    - user_data
    argTypes:
    - gchar*
    - GDBusConnectionFlags
    - GDBusAuthObserver*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 3263
      start: 3241
    functionDepth: 0
    functionLinenumber: 3241
    functionLinenumberEnd: 3263
    functionName: g_dbus_connection_new_for_address
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - _g_dbus_initialize
    - g_async_initable_new_async
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_connection_new_for_address (const gchar *address, GDBusConnectionFlags
      flags, GDBusAuthObserver *observer, GCancellable *cancellable, GAsyncReadyCallback
      callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - CallDestroyNotifyData*
    constantsTouched: []
    func_position:
      end: 252
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 252
    functionName: call_destroy_notify_data_free
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void call_destroy_notify_data_free (CallDestroyNotifyData *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gdbusconnection.c:342,1
    - Dst: g_ref_count_init
      Src: /src/glib/gio/gdbusconnection.c:344,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusconnection.c:346,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 347
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 347
    functionName: watched_name_new
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_new0
    - g_ref_count_init
    linkageType: ''
    returnType: WatchedName*
    signature: 'static WatchedName *watched_name_new (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gdbusconnection.c:720,1
    - Dst: _
      Src: /src/glib/gio/gdbusconnection.c:733,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:725,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusconnection.c:730,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:724,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - connection
    - check
    - error
    argTypes:
    - GDBusConnection*
    - CheckUnclosedFlags
    - GError**
    constantsTouched: []
    func_position:
      end: 738
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 738
    functionName: check_unclosed
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - _
    - g_set_error_literal
    - g_return_val_if_fail
    - g_atomic_int_get
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean check_unclosed (GDBusConnection *connection, CheckUnclosedFlags
      check, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/gio/gdbusconnection.c:4580,1
    - Dst: call_destroy_notify
      Src: /src/glib/gio/gdbusconnection.c:4589,1
    - Dst: g_dbus_interface_info_unref
      Src: /src/glib/gio/gdbusconnection.c:4584,1
    - Dst: g_dbus_interface_info_cache_release
      Src: /src/glib/gio/gdbusconnection.c:4583,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/gdbusconnection.c:4593,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:4595,1
    - Dst: _g_dbus_interface_vtable_free
      Src: /src/glib/gio/gdbusconnection.c:4596,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:4597,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ei
    argTypes:
    - ExportedInterface*
    constantsTouched: []
    func_position:
      end: 4598
      start: 4577
    functionDepth: 0
    functionLinenumber: 4577
    functionLinenumberEnd: 4598
    functionName: exported_interface_unref
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_main_context_unref
    - g_atomic_int_dec_and_test
    - g_dbus_interface_info_unref
    - g_dbus_interface_info_cache_release
    - _g_dbus_interface_vtable_free
    - call_destroy_notify
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void exported_interface_unref (ExportedInterface *ei) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:7244,1
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:7315,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusconnection.c:7330,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusconnection.c:7332,1
    - Dst: g_dbus_message_get_body
      Src: /src/glib/gio/gdbusconnection.c:7334,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gdbusconnection.c:7336,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:7341,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:7356,1
    - Dst: validate_and_maybe_schedule_property_getset
      Src: /src/glib/gio/gdbusconnection.c:7381,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusconnection.c:7372,1
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:7394,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:7248,1
    - Dst: validate_and_maybe_schedule_method_call
      Src: /src/glib/gio/gdbusconnection.c:7316,1
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:7380,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:7390,1
    - Dst: g_dbus_interface_info_unref
      Src: /src/glib/gio/gdbusconnection.c:7411,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:7412,1
    - Dst: g_dbus_message_new_method_error
      Src: /src/glib/gio/gdbusconnection.c:7351,1
    - Dst: _
      Src: /src/glib/gio/gdbusconnection.c:7353,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:7246,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:7248,1
    - Dst: g_strv_contains
      Src: /src/glib/gio/gdbusconnection.c:7271,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:7250,1
    - Dst: strrchr
      Src: /src/glib/gio/gdbusconnection.c:7256,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:7324,1
    - Dst: g_dbus_message_get_body
      Src: /src/glib/gio/gdbusconnection.c:7330,1
    - Dst: g_dbus_message_get_body
      Src: /src/glib/gio/gdbusconnection.c:7332,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusconnection.c:7334,1
    - Dst: g_dbus_connection_send_message
      Src: /src/glib/gio/gdbusconnection.c:7355,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:7250,1
    - Dst: g_dbus_message_get_path
      Src: /src/glib/gio/gdbusconnection.c:7234,1
    - Dst: g_dbus_message_get_signature
      Src: /src/glib/gio/gdbusconnection.c:7238,1
    - Dst: g_dbus_message_get_sender
      Src: /src/glib/gio/gdbusconnection.c:7235,1
    - Dst: g_dbus_message_get_member
      Src: /src/glib/gio/gdbusconnection.c:7237,1
    - Dst: g_dbus_message_get_interface
      Src: /src/glib/gio/gdbusconnection.c:7236,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:7239,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:7246,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:7296,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdbusconnection.c:7272,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:7403,1
    - Dst: validate_and_maybe_schedule_property_get_all
      Src: /src/glib/gio/gdbusconnection.c:7395,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 123
    argCount: 3
    argNames:
    - connection
    - es
    - message
    argTypes:
    - GDBusConnection*
    - ExportedSubtree*
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 7416
      start: 7209
    functionDepth: 0
    functionLinenumber: 7209
    functionLinenumberEnd: 7416
    functionName: handle_subtree_method_invocation
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - CONNECTION_LOCK
    - g_dbus_message_new_method_error
    - strrchr
    - g_strv_contains
    - validate_and_maybe_schedule_property_get_all
    - g_object_unref
    - g_warning
    - g_dbus_interface_info_unref
    - g_strfreev
    - g_dbus_connection_send_message
    - g_dbus_message_get_sender
    - CONNECTION_UNLOCK
    - g_variant_get
    - validate_and_maybe_schedule_property_getset
    - g_assert_not_reached
    - g_strcmp0
    - g_dbus_message_get_body
    - validate_and_maybe_schedule_method_call
    - _
    - g_dbus_message_get_path
    - g_dbus_message_get_member
    - g_dbus_message_get_interface
    - g_dbus_message_get_signature
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean handle_subtree_method_invocation (GDBusConnection
      *connection, ExportedSubtree *es, GDBusMessage *message) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _g_dbus_initialize
      Src: /src/glib/gio/gdbusconnection.c:8142,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:8150,1
    - Dst: get_uninitialized_connection
      Src: /src/glib/gio/gdbusconnection.c:8147,1
    - Dst: g_task_new
      Src: /src/glib/gio/gdbusconnection.c:8144,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gdbusconnection.c:8145,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gdbusconnection.c:8151,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:8152,1
    - Dst: g_async_initable_init_async
      Src: /src/glib/gio/gdbusconnection.c:8156,1
    - Dst: G_ASYNC_INITABLE
      Src: /src/glib/gio/gdbusconnection.c:8156,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - bus_type
    - cancellable
    - callback
    - user_data
    argTypes:
    - GBusType
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 8162
      start: 8132
    functionDepth: 0
    functionLinenumber: 8132
    functionLinenumberEnd: 8162
    functionName: g_bus_get
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - G_ASYNC_INITABLE
    - g_task_new
    - g_object_unref
    - get_uninitialized_connection
    - _g_dbus_initialize
    - g_assert
    - g_task_set_source_tag
    - g_async_initable_init_async
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'void g_bus_get (GBusType bus_type, GCancellable *cancellable, GAsyncReadyCallback
      callback, gpointer user_data) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_message_get_path
      Src: /src/glib/gio/gdbusconnection.c:7119,1
    - Dst: g_dbus_message_get_sender
      Src: /src/glib/gio/gdbusconnection.c:7120,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:7121,1
    - Dst: g_strv_contains
      Src: /src/glib/gio/gdbusconnection.c:7140,1
    - Dst: g_dbus_interface_info_unref
      Src: /src/glib/gio/gdbusconnection.c:7173,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdbusconnection.c:7189,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/gdbusconnection.c:7194,1
    - Dst: g_dbus_connection_send_message
      Src: /src/glib/gio/gdbusconnection.c:7195,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdbusconnection.c:7202,1
    - Dst: g_string_new
      Src: /src/glib/gio/gdbusconnection.c:7123,1
    - Dst: strrchr
      Src: /src/glib/gio/gdbusconnection.c:7136,1
    - Dst: g_dbus_connection_list_registered
      Src: /src/glib/gio/gdbusconnection.c:7186,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusconnection.c:7182,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusconnection.c:7168,1
    - Dst: g_dbus_message_new_method_reply
      Src: /src/glib/gio/gdbusconnection.c:7193,1
    - Dst: introspect_append_header
      Src: /src/glib/gio/gdbusconnection.c:7124,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusconnection.c:7160,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusconnection.c:7166,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:7196,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbusconnection.c:7201,1
    - Dst: g_dbus_interface_info_generate_xml
      Src: /src/glib/gio/gdbusconnection.c:7172,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusconnection.c:7188,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:7175,1
    - Dst: strcmp
      Src: /src/glib/gio/gdbusconnection.c:7162,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusconnection.c:7191,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusconnection.c:7194,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 75
    argCount: 3
    argNames:
    - connection
    - es
    - message
    argTypes:
    - GDBusConnection*
    - ExportedSubtree*
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 7204
      start: 7098
    functionDepth: 0
    functionLinenumber: 7098
    functionLinenumberEnd: 7204
    functionName: handle_subtree_introspect
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - strrchr
    - g_strv_contains
    - strcmp
    - g_dbus_message_set_body
    - g_dbus_connection_list_registered
    - g_object_unref
    - introspect_append_header
    - g_dbus_interface_info_unref
    - g_dbus_interface_info_generate_xml
    - g_strfreev
    - g_dbus_connection_send_message
    - g_dbus_message_get_sender
    - g_dbus_message_new_method_reply
    - g_strcmp0
    - g_string_new
    - g_string_append_printf
    - g_string_append
    - g_dbus_message_get_path
    - g_string_free
    - g_variant_new
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean handle_subtree_introspect (GDBusConnection *connection,
      ExportedSubtree *es, GDBusMessage *message) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_async_initable_init_finish
      Src: /src/glib/gio/gdbusconnection.c:8100,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:8106,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:8104,1
    - Dst: G_ASYNC_INITABLE
      Src: /src/glib/gio/gdbusconnection.c:8100,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gdbusconnection.c:8105,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gdbusconnection.c:8110,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:8112,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 8113
      start: 8092
    functionDepth: 0
    functionLinenumber: 8092
    functionLinenumberEnd: 8113
    functionName: bus_get_async_initable_cb
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - G_ASYNC_INITABLE
    - g_object_unref
    - g_async_initable_init_finish
    - g_task_return_pointer
    - g_assert
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void bus_get_async_initable_cb (GObject *source_object, GAsyncResult
      *res, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3446,1
    - Dst: check_initialized
      Src: /src/glib/gio/gdbusconnection.c:3449,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:3446,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3453
      start: 3443
    functionDepth: 0
    functionLinenumber: 3443
    functionLinenumberEnd: 3453
    functionName: g_dbus_connection_get_unique_name
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_CONNECTION
    - g_return_val_if_fail
    - check_initialized
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_dbus_connection_get_unique_name (GDBusConnection *connection) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_memdup2
      Src: /src/glib/gio/gdbusconnection.c:4506,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4507
      start: 4500
    functionDepth: 0
    functionLinenumber: 4500
    functionLinenumberEnd: 4507
    functionName: _g_dbus_interface_vtable_copy
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_memdup2
    linkageType: ''
    returnType: GDBusInterfaceVTable*
    signature: 'static GDBusInterfaceVTable *_g_dbus_interface_vtable_copy (const
      GDBusInterfaceVTable *vtable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:4712,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusconnection.c:4713,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:4714,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - PropertyData*
    constantsTouched: []
    func_position:
      end: 4715
      start: 4709
    functionDepth: 0
    functionLinenumber: 4709
    functionLinenumberEnd: 4715
    functionName: property_data_free
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - g_free
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void property_data_free (PropertyData *data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:5770,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:5770,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusconnection.c:5771,1
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:5779,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusconnection.c:5797,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdbusconnection.c:5787,1
    - Dst: g_atomic_int_add
      Src: /src/glib/gio/gdbusconnection.c:5808,1
    - Dst: g_dbus_interface_info_ref
      Src: /src/glib/gio/gdbusconnection.c:5813,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusconnection.c:5822,1
    - Dst: user_data_free_func
      Src: /src/glib/gio/gdbusconnection.c:5831,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:5772,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:5771,1
    - Dst: g_dbus_is_interface_name
      Src: /src/glib/gio/gdbusconnection.c:5773,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:5775,1
    - Dst: check_initialized
      Src: /src/glib/gio/gdbusconnection.c:5775,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusconnection.c:5791,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusconnection.c:5806,1
    - Dst: _g_dbus_interface_vtable_copy
      Src: /src/glib/gio/gdbusconnection.c:5812,1
    - Dst: g_main_context_ref_thread_default
      Src: /src/glib/gio/gdbusconnection.c:5816,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:5828,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:5773,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusconnection.c:5781,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusconnection.c:5815,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusconnection.c:5821,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:5774,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusconnection.c:5785,1
    - Dst: _
      Src: /src/glib/gio/gdbusconnection.c:5800,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusconnection.c:5784,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusconnection.c:5794,1
    - Dst: g_dbus_interface_info_cache_build
      Src: /src/glib/gio/gdbusconnection.c:5814,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusconnection.c:5818,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 63
    argCount: 7
    argNames:
    - connection
    - object_path
    - interface_info
    - vtable
    - user_data
    - user_data_free_func
    - error
    argTypes:
    - GDBusConnection*
    - gchar*
    - GDBusInterfaceInfo*
    - GDBusInterfaceVTable*
    - gpointer
    - GDestroyNotify
    - GError**
    constantsTouched: []
    func_position:
      end: 5834
      start: 5757
    functionDepth: 0
    functionLinenumber: 5757
    functionLinenumberEnd: 5834
    functionName: g_dbus_connection_register_object
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - CONNECTION_LOCK
    - g_hash_table_new_full
    - check_initialized
    - g_variant_is_object_path
    - g_hash_table_lookup
    - g_dbus_interface_info_ref
    - g_dbus_is_interface_name
    - g_hash_table_insert
    - CONNECTION_UNLOCK
    - g_main_context_ref_thread_default
    - g_set_error
    - g_strdup
    - g_dbus_interface_info_cache_build
    - G_IS_DBUS_CONNECTION
    - _
    - user_data_free_func
    - g_return_val_if_fail
    - _g_dbus_interface_vtable_copy
    - GUINT_TO_POINTER
    - g_atomic_int_add
    - g_new0
    linkageType: ''
    returnType: guint
    signature: 'guint g_dbus_connection_register_object (GDBusConnection *connection,
      const gchar *object_path, GDBusInterfaceInfo *interface_info, const GDBusInterfaceVTable
      *vtable, gpointer user_data, GDestroyNotify user_data_free_func, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_call_finish_internal
      Src: /src/glib/gio/gdbusconnection.c:6869,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6870
      start: 6864
    functionDepth: 0
    functionLinenumber: 6864
    functionLinenumberEnd: 6870
    functionName: g_dbus_connection_call_finish
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_call_finish_internal
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_dbus_connection_call_finish (GDBusConnection *connection,
      GAsyncResult *res, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_call_sync_internal
      Src: /src/glib/gio/gdbusconnection.c:6944,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6945
      start: 6931
    functionDepth: 0
    functionLinenumber: 6931
    functionLinenumberEnd: 6945
    functionName: g_dbus_connection_call_sync
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_call_sync_internal
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_dbus_connection_call_sync (GDBusConnection *connection,
      const gchar *bus_name, const gchar *object_path, const gchar *interface_name,
      const gchar *method_name, GVariant *parameters, const GVariantType *reply_type,
      GDBusCallFlags flags, gint timeout_msec, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_message_new_method_reply
      Src: /src/glib/gio/gdbusconnection.c:7672,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:7674,1
    - Dst: g_dbus_connection_send_message_unlocked
      Src: /src/glib/gio/gdbusconnection.c:7673,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - connection
    - object_path
    - message
    argTypes:
    - GDBusConnection*
    - gchar*
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 7675
      start: 7666
    functionDepth: 0
    functionLinenumber: 7666
    functionLinenumberEnd: 7675
    functionName: handle_generic_ping_unlocked
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_dbus_message_new_method_reply
    - g_dbus_connection_send_message_unlocked
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void handle_generic_ping_unlocked (GDBusConnection *connection,
      const gchar *object_path, GDBusMessage *message) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_message_get_message_type
      Src: /src/glib/gio/gdbusconnection.c:7800,1
    - Dst: g_dbus_message_get_serial
      Src: /src/glib/gio/gdbusconnection.c:7837,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusconnection.c:7841,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusconnection.c:7828,1
    - Dst: g_dbus_message_get_sender
      Src: /src/glib/gio/gdbusconnection.c:7836,1
    - Dst: g_dbus_message_new_method_error
      Src: /src/glib/gio/gdbusconnection.c:7871,1
    - Dst: g_dbus_message_new_method_error
      Src: /src/glib/gio/gdbusconnection.c:7879,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:7800,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:7808,1
    - Dst: strrchr
      Src: /src/glib/gio/gdbusconnection.c:7814,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:7821,1
    - Dst: _g_dbus_debug_print_lock
      Src: /src/glib/gio/gdbusconnection.c:7827,1
    - Dst: g_dbus_message_get_sender
      Src: /src/glib/gio/gdbusconnection.c:7836,1
    - Dst: _g_dbus_debug_print_unlock
      Src: /src/glib/gio/gdbusconnection.c:7838,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusconnection.c:7825,1
    - Dst: subtree_message_func
      Src: /src/glib/gio/gdbusconnection.c:7851,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusconnection.c:7857,1
    - Dst: handle_generic_unlocked
      Src: /src/glib/gio/gdbusconnection.c:7865,1
    - Dst: g_dbus_message_get_path
      Src: /src/glib/gio/gdbusconnection.c:7805,1
    - Dst: g_dbus_message_get_member
      Src: /src/glib/gio/gdbusconnection.c:7804,1
    - Dst: g_dbus_message_get_interface
      Src: /src/glib/gio/gdbusconnection.c:7811,1
    - Dst: _g_dbus_debug_incoming
      Src: /src/glib/gio/gdbusconnection.c:7825,1
    - Dst: obj_message_func
      Src: /src/glib/gio/gdbusconnection.c:7844,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusconnection.c:7848,1
    - Dst: _
      Src: /src/glib/gio/gdbusconnection.c:7873,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:7807,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusconnection.c:7813,1
    - Dst: subtree_message_func
      Src: /src/glib/gio/gdbusconnection.c:7860,1
    - Dst: _
      Src: /src/glib/gio/gdbusconnection.c:7881,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:7886,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:7889,1
    - Dst: g_dbus_connection_send_message_unlocked
      Src: /src/glib/gio/gdbusconnection.c:7885,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 66
    argCount: 2
    argNames:
    - connection
    - message
    argTypes:
    - GDBusConnection*
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 7890
      start: 7786
    functionDepth: 0
    functionLinenumber: 7786
    functionLinenumberEnd: 7890
    functionName: distribute_method_call
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - subtree_message_func
    - g_dbus_message_get_serial
    - _g_dbus_debug_incoming
    - handle_generic_unlocked
    - g_dbus_message_new_method_error
    - strrchr
    - _g_dbus_debug_print_lock
    - G_UNLIKELY
    - g_object_unref
    - g_hash_table_lookup
    - g_dbus_connection_send_message_unlocked
    - g_dbus_message_get_sender
    - g_print
    - g_strdup
    - _g_dbus_debug_print_unlock
    - _
    - obj_message_func
    - g_dbus_message_get_path
    - g_assert
    - g_dbus_message_get_message_type
    - g_dbus_message_get_member
    - g_dbus_message_get_interface
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void distribute_method_call (GDBusConnection *connection, GDBusMessage
      *message) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_ref_count_inc
      Src: /src/glib/gio/gdbusconnection.c:304,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 306
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 306
    functionName: signal_subscriber_ref
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_atomic_ref_count_inc
    linkageType: ''
    returnType: SignalSubscriber*
    signature: 'static SignalSubscriber *signal_subscriber_ref (SignalSubscriber *subscriber) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3377,1
    - Dst: g_atomic_int_and
      Src: /src/glib/gio/gdbusconnection.c:3382,1
    - Dst: g_atomic_int_or
      Src: /src/glib/gio/gdbusconnection.c:3380,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:3377,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - connection
    - exit_on_close
    argTypes:
    - GDBusConnection*
    - gboolean
    constantsTouched: []
    func_position:
      end: 3384
      start: 3373
    functionDepth: 0
    functionLinenumber: 3373
    functionLinenumberEnd: 3384
    functionName: g_dbus_connection_set_exit_on_close
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_CONNECTION
    - g_atomic_int_or
    - g_atomic_int_and
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_connection_set_exit_on_close (GDBusConnection *connection,
      gboolean exit_on_close) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:4512,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - vtable
    argTypes:
    - GDBusInterfaceVTable*
    constantsTouched: []
    func_position:
      end: 4513
      start: 4509
    functionDepth: 0
    functionLinenumber: 4509
    functionLinenumberEnd: 4513
    functionName: _g_dbus_interface_vtable_free
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void _g_dbus_interface_vtable_free (GDBusInterfaceVTable *vtable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gdbusconnection.c:273,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gdbusconnection.c:279,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gdbusconnection.c:283,1
    - Dst: g_idle_source_new
      Src: /src/glib/gio/gdbusconnection.c:277,1
    - Dst: g_source_set_priority
      Src: /src/glib/gio/gdbusconnection.c:278,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gdbusconnection.c:284,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gdbusconnection.c:285,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - context
    - callback
    - user_data
    argTypes:
    - GMainContext*
    - GDestroyNotify
    - gpointer
    constantsTouched: []
    func_position:
      end: 286
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 286
    functionName: call_destroy_notify
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_source_set_priority
    - g_source_set_callback
    - g_idle_source_new
    - g_source_attach
    - g_source_unref
    - g_new0
    - g_source_set_static_name
    linkageType: ''
    returnType: void
    signature: 'static void call_destroy_notify (GMainContext *context, GDestroyNotify
      callback, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3285,1
    - Dst: g_async_result_get_source_object
      Src: /src/glib/gio/gdbusconnection.c:3288,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:3289,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gdbusconnection.c:3285,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3286,1
    - Dst: g_async_initable_new_finish
      Src: /src/glib/gio/gdbusconnection.c:3290,1
    - Dst: G_ASYNC_INITABLE
      Src: /src/glib/gio/gdbusconnection.c:3290,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:3293,1
    - Dst: G_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:3295,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3298
      start: 3278
    functionDepth: 0
    functionLinenumber: 3278
    functionLinenumberEnd: 3298
    functionName: g_dbus_connection_new_for_address_finish
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_async_result_get_source_object
    - G_ASYNC_INITABLE
    - g_return_val_if_fail
    - G_DBUS_CONNECTION
    - g_object_unref
    - g_assert
    - G_IS_ASYNC_RESULT
    - g_async_initable_new_finish
    linkageType: ''
    returnType: GDBusConnection*
    signature: 'GDBusConnection *g_dbus_connection_new_for_address_finish (GAsyncResult
      *res, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_dbus_initialize
      Src: /src/glib/gio/gdbusconnection.c:3338,1
    - Dst: g_initable_new
      Src: /src/glib/gio/gdbusconnection.c:3343,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3341,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3340,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3342,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3350
      start: 3331
    functionDepth: 0
    functionLinenumber: 3331
    functionLinenumberEnd: 3350
    functionName: g_dbus_connection_new_for_address_sync
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - _g_dbus_initialize
    - g_return_val_if_fail
    - g_initable_new
    linkageType: ''
    returnType: GDBusConnection*
    signature: 'GDBusConnection *g_dbus_connection_new_for_address_sync (const gchar
      *address, GDBusConnectionFlags flags, GDBusAuthObserver *observer, GCancellable
      *cancellable, GError **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3591,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3592,1
    - Dst: check_initialized
      Src: /src/glib/gio/gdbusconnection.c:3592,1
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:3594,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:3591,1
    - Dst: g_ptr_array_remove_index
      Src: /src/glib/gio/gdbusconnection.c:3603,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:3610,1
    - Dst: filter_data_destroy
      Src: /src/glib/gio/gdbusconnection.c:3614,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusconnection.c:3617,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - connection
    - filter_id
    argTypes:
    - GDBusConnection*
    - guint
    constantsTouched: []
    func_position:
      end: 3619
      start: 3583
    functionDepth: 0
    functionLinenumber: 3583
    functionLinenumberEnd: 3619
    functionName: g_dbus_connection_remove_filter
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - CONNECTION_LOCK
    - filter_data_destroy
    - g_warning
    - g_return_if_fail
    - G_IS_DBUS_CONNECTION
    - g_ptr_array_remove_index
    - CONNECTION_UNLOCK
    - check_initialized
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_connection_remove_filter (GDBusConnection *connection,
      guint filter_id) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_message_get_body
      Src: /src/glib/gio/gdbusconnection.c:4176,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdbusconnection.c:4184,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdbusconnection.c:4180,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusconnection.c:4188,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusconnection.c:4179,1
    - Dst: g_variant_print
      Src: /src/glib/gio/gdbusconnection.c:4194,1
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:4198,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusconnection.c:4200,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusconnection.c:4201,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:4203,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusconnection.c:4214,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 4217
      start: 4169
    functionDepth: 0
    functionLinenumber: 4169
    functionLinenumberEnd: 4217
    functionName: emit_signal_instance_in_idle_cb
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - CONNECTION_LOCK
    - g_hash_table_lookup
    - GUINT_TO_POINTER
    - g_variant_unref
    - g_variant_new
    - g_variant_print
    - g_dbus_message_get_body
    - g_print
    - CONNECTION_UNLOCK
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean emit_signal_instance_in_idle_cb (gpointer data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusconnection.c:5012,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusconnection.c:5026,1
    - Dst: g_dbus_message_get_body
      Src: /src/glib/gio/gdbusconnection.c:5012,1
    - Dst: g_dbus_message_get_body
      Src: /src/glib/gio/gdbusconnection.c:5017,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusconnection.c:5017,1
    - Dst: g_dbus_message_new_method_error
      Src: /src/glib/gio/gdbusconnection.c:5030,1
    - Dst: _
      Src: /src/glib/gio/gdbusconnection.c:5032,1
    - Dst: g_dbus_connection_send_message_unlocked
      Src: /src/glib/gio/gdbusconnection.c:5034,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:5035,1
    - Dst: validate_and_maybe_schedule_property_getset
      Src: /src/glib/gio/gdbusconnection.c:5040,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 4
    argNames:
    - connection
    - eo
    - message
    - is_get
    argTypes:
    - GDBusConnection*
    - ExportedObject*
    - GDBusMessage*
    - gboolean
    constantsTouched: []
    func_position:
      end: 5051
      start: 4998
    functionDepth: 0
    functionLinenumber: 4998
    functionLinenumberEnd: 5051
    functionName: handle_getset_property
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - validate_and_maybe_schedule_property_getset
    - g_object_unref
    - g_dbus_message_new_method_error
    - g_hash_table_lookup
    - g_dbus_connection_send_message_unlocked
    - g_dbus_message_get_body
    - g_variant_get
    - _
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean handle_getset_property (GDBusConnection *connection,
      ExportedObject *eo, GDBusMessage *message, gboolean is_get) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_call_internal
      Src: /src/glib/gio/gdbusconnection.c:6848,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 12
    argNames:
    - connection
    - bus_name
    - object_path
    - interface_name
    - method_name
    - parameters
    - reply_type
    - flags
    - timeout_msec
    - cancellable
    - callback
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GVariant*
    - GVariantType*
    - GDBusCallFlags
    - gint
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 6849
      start: 6834
    functionDepth: 0
    functionLinenumber: 6834
    functionLinenumberEnd: 6849
    functionName: g_dbus_connection_call
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_call_internal
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_connection_call (GDBusConnection *connection, const gchar
      *bus_name, const gchar *object_path, const gchar *interface_name, const gchar
      *method_name, GVariant *parameters, const GVariantType *reply_type, GDBusCallFlags
      flags, gint timeout_msec, GCancellable *cancellable, GAsyncReadyCallback callback,
      gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_flush_sync
      Src: /src/glib/gio/gdbusconnection.c:1353,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gdbusconnection.c:1356,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gdbusconnection.c:1358,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - task
    - source_object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 1359
      start: 1345
    functionDepth: 0
    functionLinenumber: 1345
    functionLinenumberEnd: 1359
    functionName: flush_in_thread_func
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_dbus_connection_flush_sync
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void flush_in_thread_func (GTask *task, gpointer source_object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:2348,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusconnection.c:2362,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusconnection.c:2361,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:2365,1
    - Dst: g_ref_count_dec
      Src: /src/glib/gio/gdbusconnection.c:2350,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:2366,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - connection
    - name_watcher
    argTypes:
    - GDBusConnection*
    - SignalData*
    constantsTouched: []
    func_position:
      end: 2367
      start: 2342
    functionDepth: 0
    functionLinenumber: 2342
    functionLinenumberEnd: 2367
    functionName: name_watcher_unref_watched_name
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_hash_table_remove
    - g_assert
    - GUINT_TO_POINTER
    - g_free
    - g_ref_count_dec
    linkageType: ''
    returnType: void
    signature: 'static void name_watcher_unref_watched_name (GDBusConnection *connection,
      SignalData *name_watcher) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_dec_and_test
      Src: /src/glib/gio/gdbusconnection.c:4627,1
    - Dst: call_destroy_notify
      Src: /src/glib/gio/gdbusconnection.c:4633,1
    - Dst: _g_dbus_subtree_vtable_free
      Src: /src/glib/gio/gdbusconnection.c:4639,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/gdbusconnection.c:4637,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:4640,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:4641,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - es
    argTypes:
    - ExportedSubtree*
    constantsTouched: []
    func_position:
      end: 4642
      start: 4624
    functionDepth: 0
    functionLinenumber: 4624
    functionLinenumberEnd: 4642
    functionName: exported_subtree_unref
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_main_context_unref
    - g_atomic_int_dec_and_test
    - call_destroy_notify
    - _g_dbus_subtree_vtable_free
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void exported_subtree_unref (ExportedSubtree *es) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:8192,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gdbusconnection.c:8195,1
    - Dst: G_TASK
      Src: /src/glib/gio/gdbusconnection.c:8195,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:8193,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gdbusconnection.c:8192,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8196
      start: 8188
    functionDepth: 0
    functionLinenumber: 8188
    functionLinenumberEnd: 8196
    functionName: g_bus_get_finish
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_return_val_if_fail
    - g_task_is_valid
    - g_task_propagate_pointer
    linkageType: ''
    returnType: GDBusConnection*
    signature: 'GDBusConnection *g_bus_get_finish (GAsyncResult *res, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_IS_UNIX_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:2829,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - connection
    argTypes:
    - GDBusConnection*
    constantsTouched: []
    func_position:
      end: 2833
      start: 2823
    functionDepth: 0
    functionLinenumber: 2823
    functionLinenumberEnd: 2833
    functionName: get_offered_capabilities_max
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - G_IS_UNIX_CONNECTION
    linkageType: ''
    returnType: GDBusCapabilityFlags
    signature: 'static GDBusCapabilityFlags get_offered_capabilities_max (GDBusConnection
      *connection) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_array_new
      Src: /src/glib/gio/gdbusconnection.c:4482,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gdbusconnection.c:4484,1
    - Dst: g_array_append_val
      Src: /src/glib/gio/gdbusconnection.c:4487,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gio/gdbusconnection.c:4486,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gdbusconnection.c:4483,1
    - Dst: g_array_index
      Src: /src/glib/gio/gdbusconnection.c:4492,1
    - Dst: unsubscribe_id_internal
      Src: /src/glib/gio/gdbusconnection.c:4493,1
    - Dst: g_array_free
      Src: /src/glib/gio/gdbusconnection.c:4495,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - connection
    argTypes:
    - GDBusConnection*
    constantsTouched: []
    func_position:
      end: 4496
      start: 4474
    functionDepth: 0
    functionLinenumber: 4474
    functionLinenumberEnd: 4496
    functionName: purge_all_signal_subscriptions
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_array_free
    - g_hash_table_iter_init
    - g_array_append_val
    - GPOINTER_TO_UINT
    - g_array_index
    - g_array_new
    - unsubscribe_id_internal
    - g_hash_table_iter_next
    linkageType: ''
    returnType: void
    signature: 'static void purge_all_signal_subscriptions (GDBusConnection *connection) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: validate_and_maybe_schedule_method_call
      Src: /src/glib/gio/gdbusconnection.c:5653,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusconnection.c:5644,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:5678,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:5684,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:5691,1
    - Dst: g_dbus_message_get_interface
      Src: /src/glib/gio/gdbusconnection.c:5636,1
    - Dst: g_dbus_message_get_signature
      Src: /src/glib/gio/gdbusconnection.c:5638,1
    - Dst: g_dbus_message_get_member
      Src: /src/glib/gio/gdbusconnection.c:5637,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:5690,1
    - Dst: handle_getset_property
      Src: /src/glib/gio/gdbusconnection.c:5680,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:5683,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:5670,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:5677,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:5685,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:5692,1
    - Dst: handle_get_all_properties
      Src: /src/glib/gio/gdbusconnection.c:5694,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:5669,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:5671,1
    - Dst: handle_introspect
      Src: /src/glib/gio/gdbusconnection.c:5673,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:5676,1
    - Dst: handle_getset_property
      Src: /src/glib/gio/gdbusconnection.c:5687,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 65
    argCount: 4
    argNames:
    - connection
    - eo
    - message
    - object_found
    argTypes:
    - GDBusConnection*
    - ExportedObject*
    - GDBusMessage*
    - gboolean*
    constantsTouched: []
    func_position:
      end: 5700
      start: 5623
    functionDepth: 0
    functionLinenumber: 5623
    functionLinenumberEnd: 5700
    functionName: obj_message_func
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - handle_introspect
    - g_hash_table_lookup
    - handle_getset_property
    - g_dbus_message_get_member
    - g_strcmp0
    - g_dbus_message_get_interface
    - validate_and_maybe_schedule_method_call
    - handle_get_all_properties
    - g_dbus_message_get_signature
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean obj_message_func (GDBusConnection *connection, ExportedObject
      *eo, GDBusMessage *message, gboolean *object_found) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusconnection.c:2786,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusconnection.c:2794,1
    - Dst: g_hash_table_contains
      Src: /src/glib/gio/gdbusconnection.c:2787,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:2790,1
    - Dst: G_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:2793,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:2795,1
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:2799,1
    - Dst: g_atomic_int_or
      Src: /src/glib/gio/gdbusconnection.c:2804,1
    - Dst: g_hash_table_foreach_remove
      Src: /src/glib/gio/gdbusconnection.c:2808,1
    - Dst: schedule_closed_unlocked
      Src: /src/glib/gio/gdbusconnection.c:2809,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:2813,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:2811,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - worker
    - remote_peer_vanished
    - error
    - user_data
    argTypes:
    - GDBusWorker*
    - gboolean
    - GError*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2814
      start: 2776
    functionDepth: 0
    functionLinenumber: 2776
    functionLinenumberEnd: 2814
    functionName: on_worker_closed
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - G_DBUS_CONNECTION
    - CONNECTION_LOCK
    - g_atomic_int_or
    - g_object_unref
    - G_UNLOCK
    - g_hash_table_foreach_remove
    - CONNECTION_UNLOCK
    - g_hash_table_contains
    - g_object_ref
    - G_LOCK
    - schedule_closed_unlocked
    linkageType: ''
    returnType: void
    signature: 'static void on_worker_closed (GDBusWorker *worker, gboolean remote_peer_vanished,
      GError *error, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3477,1
    - Dst: check_initialized
      Src: /src/glib/gio/gdbusconnection.c:3480,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:3477,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3484
      start: 3474
    functionDepth: 0
    functionLinenumber: 3474
    functionLinenumberEnd: 3484
    functionName: g_dbus_connection_get_peer_credentials
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_CONNECTION
    - g_return_val_if_fail
    - check_initialized
    linkageType: ''
    returnType: GCredentials*
    signature: 'GCredentials *g_dbus_connection_get_peer_credentials (GDBusConnection
      *connection) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:4430,1
    - Dst: g_dbus_message_get_message_type
      Src: /src/glib/gio/gdbusconnection.c:4430,1
    - Dst: g_dbus_message_get_sender
      Src: /src/glib/gio/gdbusconnection.c:4432,1
    - Dst: g_dbus_message_get_member
      Src: /src/glib/gio/gdbusconnection.c:4437,1
    - Dst: g_dbus_message_get_interface
      Src: /src/glib/gio/gdbusconnection.c:4436,1
    - Dst: g_dbus_message_get_path
      Src: /src/glib/gio/gdbusconnection.c:4438,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:4440,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:4441,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:4442,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusconnection.c:4444,1
    - Dst: _g_dbus_debug_signal
      Src: /src/glib/gio/gdbusconnection.c:4444,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusconnection.c:4460,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusconnection.c:4466,1
    - Dst: _g_dbus_debug_print_unlock
      Src: /src/glib/gio/gdbusconnection.c:4454,1
    - Dst: schedule_callbacks
      Src: /src/glib/gio/gdbusconnection.c:4468,1
    - Dst: schedule_callbacks
      Src: /src/glib/gio/gdbusconnection.c:4462,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusconnection.c:4447,1
    - Dst: _g_dbus_debug_print_lock
      Src: /src/glib/gio/gdbusconnection.c:4446,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 2
    argNames:
    - connection
    - message
    argTypes:
    - GDBusConnection*
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 4469
      start: 4423
    functionDepth: 0
    functionLinenumber: 4423
    functionLinenumberEnd: 4469
    functionName: distribute_signals
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_dbus_message_get_path
    - _g_dbus_debug_print_unlock
    - g_assert
    - g_dbus_message_get_message_type
    - _g_dbus_debug_print_lock
    - g_hash_table_lookup
    - schedule_callbacks
    - g_dbus_message_get_member
    - g_dbus_message_get_sender
    - G_UNLIKELY
    - g_dbus_message_get_interface
    - _g_dbus_debug_signal
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void distribute_signals (GDBusConnection *connection, GDBusMessage
      *message) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/gdbusconnection.c:4618,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4621
      start: 4615
    functionDepth: 0
    functionLinenumber: 4615
    functionLinenumberEnd: 4621
    functionName: exported_subtree_ref
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_atomic_int_inc
    linkageType: ''
    returnType: ExportedSubtree*
    signature: 'static ExportedSubtree *exported_subtree_ref (ExportedSubtree *es) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_message_get_path
      Src: /src/glib/gio/gdbusconnection.c:4740,1
    - Dst: g_dbus_message_new_method_error
      Src: /src/glib/gio/gdbusconnection.c:4734,1
    - Dst: g_dbus_message_get_sender
      Src: /src/glib/gio/gdbusconnection.c:4748,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:4770,1
    - Dst: g_dbus_message_new_method_reply
      Src: /src/glib/gio/gdbusconnection.c:4761,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusconnection.c:4777,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdbusconnection.c:4783,1
    - Dst: has_object_been_unregistered
      Src: /src/glib/gio/gdbusconnection.c:4728,1
    - Dst: _
      Src: /src/glib/gio/gdbusconnection.c:4738,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:4742,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/gdbusconnection.c:4758,1
    - Dst: g_dbus_connection_send_message
      Src: /src/glib/gio/gdbusconnection.c:4763,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusconnection.c:4764,1
    - Dst: g_dbus_error_encode_gerror
      Src: /src/glib/gio/gdbusconnection.c:4771,1
    - Dst: g_dbus_connection_send_message
      Src: /src/glib/gio/gdbusconnection.c:4775,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:4778,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdbusconnection.c:4782,1
    - Dst: g_dbus_message_get_path
      Src: /src/glib/gio/gdbusconnection.c:4749,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/gdbusconnection.c:4762,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:4765,1
    - Dst: g_dbus_connection_send_message
      Src: /src/glib/gio/gdbusconnection.c:4741,1
    - Dst: g_variant_take_ref
      Src: /src/glib/gio/gdbusconnection.c:4760,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusconnection.c:4762,1
    - Dst: g_dbus_message_new_method_error_literal
      Src: /src/glib/gio/gdbusconnection.c:4772,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:4776,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 1
    argNames:
    - _data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 4786
      start: 4718
    functionDepth: 0
    functionLinenumber: 4718
    functionLinenumberEnd: 4786
    functionName: invoke_get_property_in_idle_cb
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_dbus_message_new_method_error
    - g_dbus_message_set_body
    - g_object_unref
    - g_dbus_message_new_method_error_literal
    - g_clear_pointer
    - g_dbus_connection_send_message
    - g_variant_unref
    - g_error_free
    - g_dbus_message_get_sender
    - g_assert_no_error
    - g_dbus_message_new_method_reply
    - has_object_been_unregistered
    - _
    - g_dbus_message_get_path
    - g_assert
    - g_dbus_error_encode_gerror
    - g_variant_new
    - g_variant_take_ref
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean invoke_get_property_in_idle_cb (gpointer _data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_interface_info_lookup_method
      Src: /src/glib/gio/gdbusconnection.c:5556,1
    - Dst: _
      Src: /src/glib/gio/gdbusconnection.c:5565,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:5568,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusconnection.c:5576,1
    - Dst: g_dbus_message_new_method_error
      Src: /src/glib/gio/gdbusconnection.c:5594,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:5603,1
    - Dst: g_variant_type_free
      Src: /src/glib/gio/gdbusconnection.c:5600,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusconnection.c:5588,1
    - Dst: _
      Src: /src/glib/gio/gdbusconnection.c:5596,1
    - Dst: g_variant_type_dup_string
      Src: /src/glib/gio/gdbusconnection.c:5592,1
    - Dst: g_dbus_message_new_method_error
      Src: /src/glib/gio/gdbusconnection.c:5563,1
    - Dst: g_dbus_message_get_member
      Src: /src/glib/gio/gdbusconnection.c:5566,1
    - Dst: g_dbus_connection_send_message_unlocked
      Src: /src/glib/gio/gdbusconnection.c:5567,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdbusconnection.c:5577,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gdbusconnection.c:5581,1
    - Dst: _g_dbus_compute_complete_signature
      Src: /src/glib/gio/gdbusconnection.c:5587,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusconnection.c:5601,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusconnection.c:5613,1
    - Dst: g_dbus_message_get_member
      Src: /src/glib/gio/gdbusconnection.c:5556,1
    - Dst: g_dbus_message_get_body
      Src: /src/glib/gio/gdbusconnection.c:5573,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusconnection.c:5597,1
    - Dst: g_dbus_connection_send_message_unlocked
      Src: /src/glib/gio/gdbusconnection.c:5599,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:5602,1
    - Dst: g_variant_type_free
      Src: /src/glib/gio/gdbusconnection.c:5607,1
    - Dst: schedule_method_call
      Src: /src/glib/gio/gdbusconnection.c:5610,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 8
    argNames:
    - connection
    - message
    - registration_id
    - subtree_registration_id
    - interface_info
    - vtable
    - main_context
    - user_data
    argTypes:
    - GDBusConnection*
    - GDBusMessage*
    - guint
    - guint
    - GDBusInterfaceInfo*
    - GDBusInterfaceVTable*
    - GMainContext*
    - gpointer
    constantsTouched: []
    func_position:
      end: 5618
      start: 5537
    functionDepth: 0
    functionLinenumber: 5537
    functionLinenumberEnd: 5618
    functionName: validate_and_maybe_schedule_method_call
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - schedule_method_call
    - g_object_unref
    - g_variant_is_of_type
    - g_variant_type_free
    - g_dbus_message_new_method_error
    - g_dbus_connection_send_message_unlocked
    - g_variant_type_dup_string
    - g_dbus_message_get_member
    - g_variant_new
    - g_dbus_message_get_body
    - g_variant_get_type_string
    - _g_dbus_compute_complete_signature
    - _
    - g_variant_unref
    - g_free
    - g_dbus_interface_info_lookup_method
    - g_variant_ref
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean validate_and_maybe_schedule_method_call (GDBusConnection
      *connection, GDBusMessage *message, guint registration_id, guint subtree_registration_id,
      GDBusInterfaceInfo *interface_info, const GDBusInterfaceVTable *vtable, GMainContext
      *main_context, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:5856,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:5857,1
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:5861,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:5856,1
    - Dst: check_initialized
      Src: /src/glib/gio/gdbusconnection.c:5857,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusconnection.c:5863,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusconnection.c:5864,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusconnection.c:5870,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusconnection.c:5870,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusconnection.c:5870,1
    - Dst: g_hash_table_size
      Src: /src/glib/gio/gdbusconnection.c:5873,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusconnection.c:5874,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusconnection.c:5871,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:5880,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusconnection.c:5874,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusconnection.c:5871,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - connection
    - registration_id
    argTypes:
    - GDBusConnection*
    - guint
    constantsTouched: []
    func_position:
      end: 5883
      start: 5848
    functionDepth: 0
    functionLinenumber: 5848
    functionLinenumberEnd: 5883
    functionName: g_dbus_connection_unregister_object
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - CONNECTION_LOCK
    - g_return_val_if_fail
    - g_warn_if_fail
    - g_hash_table_remove
    - G_IS_DBUS_CONNECTION
    - g_hash_table_lookup
    - GUINT_TO_POINTER
    - CONNECTION_UNLOCK
    - g_hash_table_size
    - check_initialized
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dbus_connection_unregister_object (GDBusConnection *connection,
      guint registration_id) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _g_dbus_get_machine_id
      Src: /src/glib/gio/gdbusconnection.c:7691,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/gdbusconnection.c:7704,1
    - Dst: g_dbus_message_new_method_error_literal
      Src: /src/glib/gio/gdbusconnection.c:7694,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusconnection.c:7697,1
    - Dst: g_dbus_message_new_method_reply
      Src: /src/glib/gio/gdbusconnection.c:7703,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusconnection.c:7704,1
    - Dst: g_dbus_connection_send_message_unlocked
      Src: /src/glib/gio/gdbusconnection.c:7706,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:7707,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - connection
    - object_path
    - message
    argTypes:
    - GDBusConnection*
    - gchar*
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 7708
      start: 7678
    functionDepth: 0
    functionLinenumber: 7678
    functionLinenumberEnd: 7708
    functionName: handle_generic_get_machine_id_unlocked
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_dbus_message_new_method_error_literal
    - g_dbus_message_set_body
    - g_dbus_message_new_method_reply
    - g_dbus_connection_send_message_unlocked
    - g_error_free
    - g_variant_new
    - _g_dbus_get_machine_id
    linkageType: ''
    returnType: void
    signature: 'static void handle_generic_get_machine_id_unlocked (GDBusConnection
      *connection, const gchar *object_path, GDBusMessage *message) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_getenv
      Src: /src/glib/gio/gdbusconnection.c:7915,1
    - Dst: message_bus_get_singleton
      Src: /src/glib/gio/gdbusconnection.c:7918,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:7921,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:7916,1
    - Dst: message_bus_get_singleton
      Src: /src/glib/gio/gdbusconnection.c:7923,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusconnection.c:7930,1
    - Dst: _
      Src: /src/glib/gio/gdbusconnection.c:7933,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusconnection.c:7939,1
    - Dst: _
      Src: /src/glib/gio/gdbusconnection.c:7942,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gdbusconnection.c:7949,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7955
      start: 7895
    functionDepth: 0
    functionLinenumber: 7895
    functionLinenumberEnd: 7955
    functionName: message_bus_get_singleton
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_getenv
    - g_assert_not_reached
    - g_set_error_literal
    - g_strcmp0
    - _
    - message_bus_get_singleton
    linkageType: ''
    returnType: GWeakRef*
    signature: 'static GWeakRef *message_bus_get_singleton (GBusType bus_type, GError
      **error) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:745,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusconnection.c:754,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusconnection.c:747,1
    - Dst: _g_dbus_worker_stop
      Src: /src/glib/gio/gdbusconnection.c:751,1
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:748,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusconnection.c:754,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusconnection.c:759,1
    - Dst: g_hash_table_contains
      Src: /src/glib/gio/gdbusconnection.c:759,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:761,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:762,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusconnection.c:764,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusconnection.c:765,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 766
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 766
    functionName: g_dbus_connection_dispose
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - G_DBUS_CONNECTION
    - CONNECTION_LOCK
    - g_warn_if_fail
    - g_hash_table_remove
    - G_UNLOCK
    - G_OBJECT_CLASS
    - _g_dbus_worker_stop
    - CONNECTION_UNLOCK
    - g_hash_table_contains
    - G_LOCK
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_connection_dispose (GObject *object) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusconnection.c:2608,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:2604,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:2609,1
    - Dst: free_filter_list
      Src: /src/glib/gio/gdbusconnection.c:2636,1
    - Dst: g_dbus_message_get_reply_serial
      Src: /src/glib/gio/gdbusconnection.c:2653,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:2621,1
    - Dst: g_dbus_message_lock
      Src: /src/glib/gio/gdbusconnection.c:2632,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusconnection.c:2655,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:2674,1
    - Dst: name_watcher_deliver_get_name_owner_reply_unlocked
      Src: /src/glib/gio/gdbusconnection.c:2675,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusconnection.c:2613,1
    - Dst: g_dbus_message_lock
      Src: /src/glib/gio/gdbusconnection.c:2614,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:2637,1
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:2654,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusconnection.c:2669,1
    - Dst: distribute_signals
      Src: /src/glib/gio/gdbusconnection.c:2685,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:2686,1
    - Dst: g_hash_table_contains
      Src: /src/glib/gio/gdbusconnection.c:2601,1
    - Dst: G_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:2607,1
    - Dst: g_dbus_message_get_message_type
      Src: /src/glib/gio/gdbusconnection.c:2646,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusconnection.c:2668,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:2673,1
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:2690,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:2697,1
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:2684,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusconnection.c:2600,1
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:2619,1
    - Dst: copy_filter_list
      Src: /src/glib/gio/gdbusconnection.c:2620,1
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:2635,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusconnection.c:2656,1
    - Dst: send_message_data_deliver_reply_unlocked
      Src: /src/glib/gio/gdbusconnection.c:2661,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:2680,1
    - Dst: distribute_method_call
      Src: /src/glib/gio/gdbusconnection.c:2691,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:2692,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:2698,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 68
    argCount: 3
    argNames:
    - worker
    - message
    - user_data
    argTypes:
    - GDBusWorker*
    - GDBusMessage*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2699
      start: 2590
    functionDepth: 0
    functionLinenumber: 2590
    functionLinenumberEnd: 2699
    functionName: on_worker_message_received
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - G_DBUS_CONNECTION
    - CONNECTION_LOCK
    - copy_filter_list
    - G_LOCK
    - g_object_unref
    - G_UNLOCK
    - g_hash_table_lookup
    - CONNECTION_UNLOCK
    - g_dbus_message_get_reply_serial
    - send_message_data_deliver_reply_unlocked
    - distribute_method_call
    - free_filter_list
    - name_watcher_deliver_get_name_owner_reply_unlocked
    - distribute_signals
    - g_hash_table_contains
    - g_assert
    - g_dbus_message_get_message_type
    - GUINT_TO_POINTER
    - g_object_ref
    - g_dbus_message_lock
    linkageType: ''
    returnType: void
    signature: 'static void on_worker_message_received (GDBusWorker *worker, GDBusMessage
      *message, gpointer user_data) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/gio/gdbusconnection.c:3633,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusconnection.c:3641,1
    - Dst: g_string_prepend_c
      Src: /src/glib/gio/gdbusconnection.c:3635,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusconnection.c:3639,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusconnection.c:3637,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusconnection.c:3643,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusconnection.c:3648,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusconnection.c:3650,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusconnection.c:3652,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbusconnection.c:3655,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3656
      start: 3623
    functionDepth: 0
    functionLinenumber: 3623
    functionLinenumberEnd: 3656
    functionName: args_to_rule
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_string_prepend_c
    - g_string_free
    - g_string_append_printf
    - g_string_new
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *args_to_rule (const gchar *sender, const gchar *interface_name,
      const gchar *member, const gchar *object_path, const gchar *arg0, GDBusSignalFlags
      flags) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/gdbusconnection.c:778,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:787,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusconnection.c:801,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusconnection.c:824,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:781,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:795,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:797,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:798,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusconnection.c:812,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusconnection.c:813,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusconnection.c:815,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/gdbusconnection.c:817,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:819,1
    - Dst: g_mutex_clear
      Src: /src/glib/gio/gdbusconnection.c:822,1
    - Dst: G_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:771,1
    - Dst: purge_all_signal_subscriptions
      Src: /src/glib/gio/gdbusconnection.c:775,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:791,1
    - Dst: purge_all_filters
      Src: /src/glib/gio/gdbusconnection.c:777,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:784,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusconnection.c:803,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusconnection.c:807,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusconnection.c:808,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusconnection.c:810,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusconnection.c:806,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusconnection.c:811,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusconnection.c:804,1
    - Dst: g_mutex_clear
      Src: /src/glib/gio/gdbusconnection.c:821,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 825
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 825
    functionName: g_dbus_connection_finalize
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_ptr_array_unref
    - G_DBUS_CONNECTION
    - purge_all_filters
    - g_main_context_unref
    - g_object_unref
    - g_hash_table_unref
    - g_mutex_clear
    - purge_all_signal_subscriptions
    - G_OBJECT_CLASS
    - g_error_free
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_connection_finalize (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:1486,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusconnection.c:1488,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:1489,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - EmitClosedData*
    constantsTouched: []
    func_position:
      end: 1490
      start: 1483
    functionDepth: 0
    functionLinenumber: 1483
    functionLinenumberEnd: 1490
    functionName: emit_closed_data_free
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_error_free
    - g_free
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void emit_closed_data_free (EmitClosedData *data) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gdbusconnection.c:5898,1
    - Dst: g_closure_ref
      Src: /src/glib/gio/gdbusconnection.c:5902,1
    - Dst: g_closure_set_marshal
      Src: /src/glib/gio/gdbusconnection.c:5905,1
    - Dst: g_closure_sink
      Src: /src/glib/gio/gdbusconnection.c:5903,1
    - Dst: G_CLOSURE_NEEDS_MARSHAL
      Src: /src/glib/gio/gdbusconnection.c:5904,1
    - Dst: g_closure_ref
      Src: /src/glib/gio/gdbusconnection.c:5910,1
    - Dst: g_closure_sink
      Src: /src/glib/gio/gdbusconnection.c:5911,1
    - Dst: G_CLOSURE_NEEDS_MARSHAL
      Src: /src/glib/gio/gdbusconnection.c:5912,1
    - Dst: g_closure_set_marshal
      Src: /src/glib/gio/gdbusconnection.c:5913,1
    - Dst: g_closure_ref
      Src: /src/glib/gio/gdbusconnection.c:5918,1
    - Dst: g_closure_sink
      Src: /src/glib/gio/gdbusconnection.c:5919,1
    - Dst: g_closure_set_marshal
      Src: /src/glib/gio/gdbusconnection.c:5921,1
    - Dst: G_CLOSURE_NEEDS_MARSHAL
      Src: /src/glib/gio/gdbusconnection.c:5920,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5925
      start: 5891
    functionDepth: 0
    functionLinenumber: 5891
    functionLinenumberEnd: 5925
    functionName: register_object_data_new
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_closure_sink
    - g_closure_set_marshal
    - g_closure_ref
    - g_new0
    - G_CLOSURE_NEEDS_MARSHAL
    linkageType: ''
    returnType: RegisterObjectData*
    signature: 'static RegisterObjectData *register_object_data_new (GClosure *method_call_closure,
      GClosure *get_property_closure, GClosure *set_property_closure) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_type_free
      Src: /src/glib/gio/gdbusconnection.c:6434,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gdbusconnection.c:6439,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:6438,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:6435,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - state
    argTypes:
    - CallState*
    constantsTouched: []
    func_position:
      end: 6440
      start: 6431
    functionDepth: 0
    functionLinenumber: 6431
    functionLinenumberEnd: 6440
    functionName: call_state_free
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_free
    - g_object_unref
    - g_variant_type_free
    linkageType: ''
    returnType: void
    signature: 'static void call_state_free (CallState *state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusconnection.c:1394,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:1394,1
    - Dst: g_task_new
      Src: /src/glib/gio/gdbusconnection.c:1396,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gdbusconnection.c:1398,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gdbusconnection.c:1397,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:1399,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - connection
    - cancellable
    - callback
    - user_data
    argTypes:
    - GDBusConnection*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 1400
      start: 1386
    functionDepth: 0
    functionLinenumber: 1386
    functionLinenumberEnd: 1400
    functionName: g_dbus_connection_flush
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_object_unref
    - g_task_run_in_thread
    - g_task_set_source_tag
    - g_return_if_fail
    - G_IS_DBUS_CONNECTION
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_connection_flush (GDBusConnection *connection, GCancellable
      *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:2377,1
    - Dst: g_set_str
      Src: /src/glib/gio/gdbusconnection.c:2378,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - name_watcher
    - new_owner
    argTypes:
    - SignalData*
    - char*
    constantsTouched: []
    func_position:
      end: 2379
      start: 2370
    functionDepth: 0
    functionLinenumber: 2370
    functionLinenumberEnd: 2379
    functionName: name_watcher_set_name_owner_unlocked
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_set_str
    linkageType: ''
    returnType: void
    signature: 'static void name_watcher_set_name_owner_unlocked (SignalData *name_watcher,
      const char *new_owner) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: filter_data_destroy
      Src: /src/glib/gio/gdbusconnection.c:2584,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:2586,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - filters
    argTypes:
    - FilterData**
    constantsTouched: []
    func_position:
      end: 2587
      start: 2575
    functionDepth: 0
    functionLinenumber: 2575
    functionLinenumberEnd: 2587
    functionName: free_filter_list
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_free
    - filter_data_destroy
    linkageType: ''
    returnType: void
    signature: 'static void free_filter_list (FilterData **filters) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:2841,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:2866,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gdbusconnection.c:2852,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gdbusconnection.c:2859,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gdbusconnection.c:2905,1
    - Dst: _g_dbus_auth_run_client
      Src: /src/glib/gio/gdbusconnection.c:2931,1
    - Dst: _g_dbus_auth_new
      Src: /src/glib/gio/gdbusconnection.c:2913,1
    - Dst: g_socket_set_blocking
      Src: /src/glib/gio/gdbusconnection.c:2958,1
    - Dst: g_socket_connection_get_socket
      Src: /src/glib/gio/gdbusconnection.c:2958,1
    - Dst: g_hash_table_add
      Src: /src/glib/gio/gdbusconnection.c:2965,1
    - Dst: g_error_copy
      Src: /src/glib/gio/gdbusconnection.c:3015,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusconnection.c:3030,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:3014,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:2966,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:2879,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:2912,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:2928,1
    - Dst: _g_dbus_auth_run_server
      Src: /src/glib/gio/gdbusconnection.c:2914,1
    - Dst: _g_dbus_worker_new
      Src: /src/glib/gio/gdbusconnection.c:2968,1
    - Dst: g_dbus_connection_call_sync
      Src: /src/glib/gio/gdbusconnection.c:2991,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusconnection.c:3006,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gdbusconnection.c:3029,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusconnection.c:3031,1
    - Dst: _g_dbus_worker_stop
      Src: /src/glib/gio/gdbusconnection.c:3024,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdbusconnection.c:3033,1
    - Dst: get_offered_capabilities_max
      Src: /src/glib/gio/gdbusconnection.c:2919,1
    - Dst: _g_dbus_auth_new
      Src: /src/glib/gio/gdbusconnection.c:2930,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:2944,1
    - Dst: G_SOCKET_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:2958,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/gdbusconnection.c:2964,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusconnection.c:3005,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gdbusconnection.c:3020,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3027,1
    - Dst: g_atomic_int_or
      Src: /src/glib/gio/gdbusconnection.c:3037,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusconnection.c:3032,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gdbusconnection.c:3038,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusconnection.c:2885,1
    - Dst: _
      Src: /src/glib/gio/gdbusconnection.c:2888,1
    - Dst: g_dbus_address_get_stream_sync
      Src: /src/glib/gio/gdbusconnection.c:2892,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:2911,1
    - Dst: get_offered_capabilities_max
      Src: /src/glib/gio/gdbusconnection.c:2934,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:2929,1
    - Dst: G_IS_SOCKET_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:2956,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusconnection.c:2962,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdbusconnection.c:2984,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusconnection.c:2997,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusconnection.c:3027,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gdbusconnection.c:3015,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 111
    argCount: 3
    argNames:
    - initable
    - cancellable
    - error
    argTypes:
    - GInitable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 3041
      start: 2836
    functionDepth: 0
    functionLinenumber: 2836
    functionLinenumberEnd: 3041
    functionName: initable_init
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - G_SOCKET_CONNECTION
    - G_DBUS_CONNECTION
    - g_atomic_int_get
    - g_dbus_address_get_stream_sync
    - g_set_error_literal
    - _g_dbus_worker_stop
    - _g_dbus_worker_new
    - G_LOCK
    - g_object_unref
    - g_mutex_unlock
    - G_UNLOCK
    - _g_dbus_auth_new
    - g_clear_pointer
    - g_variant_unref
    - g_clear_object
    - g_variant_get
    - get_offered_capabilities_max
    - g_warn_if_fail
    - g_mutex_lock
    - g_hash_table_remove
    - _g_dbus_auth_run_server
    - g_assert_not_reached
    - g_dbus_connection_call_sync
    - G_IS_SOCKET_CONNECTION
    - g_hash_table_new
    - g_error_copy
    - _
    - _g_dbus_auth_run_client
    - G_VARIANT_TYPE
    - g_hash_table_add
    - g_propagate_error
    - g_clear_error
    - g_atomic_int_or
    - g_socket_set_blocking
    - g_assert
    - g_socket_connection_get_socket
    - g_error_matches
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean initable_init (GInitable *initable, GCancellable *cancellable,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3138,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gdbusconnection.c:3138,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3139,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:3142,1
    - Dst: g_async_result_get_source_object
      Src: /src/glib/gio/gdbusconnection.c:3141,1
    - Dst: g_async_initable_new_finish
      Src: /src/glib/gio/gdbusconnection.c:3143,1
    - Dst: G_ASYNC_INITABLE
      Src: /src/glib/gio/gdbusconnection.c:3143,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:3146,1
    - Dst: G_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:3148,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3151
      start: 3131
    functionDepth: 0
    functionLinenumber: 3131
    functionLinenumberEnd: 3151
    functionName: g_dbus_connection_new_finish
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_async_result_get_source_object
    - G_ASYNC_INITABLE
    - g_return_val_if_fail
    - G_DBUS_CONNECTION
    - g_object_unref
    - g_assert
    - G_IS_ASYNC_RESULT
    - g_async_initable_new_finish
    linkageType: ''
    returnType: GDBusConnection*
    signature: 'GDBusConnection *g_dbus_connection_new_finish (GAsyncResult *res,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_memdup2
      Src: /src/glib/gio/gdbusconnection.c:4523,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4524
      start: 4517
    functionDepth: 0
    functionLinenumber: 4517
    functionLinenumberEnd: 4524
    functionName: _g_dbus_subtree_vtable_copy
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_memdup2
    linkageType: ''
    returnType: GDBusSubtreeVTable*
    signature: 'static GDBusSubtreeVTable *_g_dbus_subtree_vtable_copy (const GDBusSubtreeVTable
      *vtable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - initable_iface
    argTypes:
    - GInitableIface*
    constantsTouched: []
    func_position:
      end: 3047
      start: 3043
    functionDepth: 0
    functionLinenumber: 3043
    functionLinenumberEnd: 3047
    functionName: initable_iface_init
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void initable_iface_init (GInitableIface *initable_iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:4529,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - vtable
    argTypes:
    - GDBusSubtreeVTable*
    constantsTouched: []
    func_position:
      end: 4530
      start: 4526
    functionDepth: 0
    functionLinenumber: 4526
    functionLinenumberEnd: 4530
    functionName: _g_dbus_subtree_vtable_free
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void _g_dbus_subtree_vtable_free (GDBusSubtreeVTable *vtable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:2212,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:2212,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:2214,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gdbusconnection.c:2213,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:2213,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gdbusconnection.c:2216,1
    - Dst: G_TASK
      Src: /src/glib/gio/gdbusconnection.c:2216,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2217
      start: 2207
    functionDepth: 0
    functionLinenumber: 2207
    functionLinenumberEnd: 2217
    functionName: g_dbus_connection_send_message_with_reply_finish
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DBUS_CONNECTION
    - g_task_is_valid
    - G_TASK
    - g_task_propagate_pointer
    linkageType: ''
    returnType: GDBusMessage*
    signature: 'GDBusMessage *g_dbus_connection_send_message_with_reply_finish (GDBusConnection
      *connection, GAsyncResult *res, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:1311,1
    - Dst: check_initialized
      Src: /src/glib/gio/gdbusconnection.c:1314,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:1311,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - connection
    argTypes:
    - GDBusConnection*
    constantsTouched: []
    func_position:
      end: 1318
      start: 1308
    functionDepth: 0
    functionLinenumber: 1308
    functionLinenumberEnd: 1318
    functionName: g_dbus_connection_get_capabilities
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_CONNECTION
    - g_return_val_if_fail
    - check_initialized
    linkageType: ''
    returnType: GDBusCapabilityFlags
    signature: 'GDBusCapabilityFlags g_dbus_connection_get_capabilities (GDBusConnection
      *connection) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CONNECTION_ENSURE_LOCK
      Src: /src/glib/gio/gdbusconnection.c:1522,1
    - Dst: g_error_copy
      Src: /src/glib/gio/gdbusconnection.c:1527,1
    - Dst: g_idle_source_new
      Src: /src/glib/gio/gdbusconnection.c:1529,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusconnection.c:1524,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusconnection.c:1525,1
    - Dst: g_source_set_priority
      Src: /src/glib/gio/gdbusconnection.c:1530,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gdbusconnection.c:1531,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gdbusconnection.c:1535,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gdbusconnection.c:1536,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gdbusconnection.c:1537,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - connection
    - remote_peer_vanished
    - error
    argTypes:
    - GDBusConnection*
    - gboolean
    - GError*
    constantsTouched: []
    func_position:
      end: 1538
      start: 1514
    functionDepth: 0
    functionLinenumber: 1514
    functionLinenumberEnd: 1538
    functionName: schedule_closed_unlocked
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_source_set_priority
    - g_source_set_callback
    - g_idle_source_new
    - g_source_attach
    - CONNECTION_ENSURE_LOCK
    - g_source_unref
    - g_error_copy
    - g_object_ref
    - g_new0
    - g_source_set_static_name
    linkageType: ''
    returnType: void
    signature: 'static void schedule_closed_unlocked (GDBusConnection *connection,
      gboolean remote_peer_vanished, GError *error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:1876,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:1877,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:1878,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:1876,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusconnection.c:1877,1
    - Dst: g_dbus_message_get_locked
      Src: /src/glib/gio/gdbusconnection.c:1878,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:1879,1
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:1881,1
    - Dst: g_dbus_connection_send_message_unlocked
      Src: /src/glib/gio/gdbusconnection.c:1882,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:1883,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 5
    argNames:
    - connection
    - message
    - flags
    - out_serial
    - error
    argTypes:
    - GDBusConnection*
    - GDBusMessage*
    - GDBusSendMessageFlags
    - guint32*
    - GError**
    constantsTouched: []
    func_position:
      end: 1885
      start: 1867
    functionDepth: 0
    functionLinenumber: 1867
    functionLinenumberEnd: 1885
    functionName: g_dbus_connection_send_message
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - CONNECTION_LOCK
    - g_return_val_if_fail
    - G_IS_DBUS_MESSAGE
    - G_IS_DBUS_CONNECTION
    - g_dbus_connection_send_message_unlocked
    - g_dbus_message_get_locked
    - CONNECTION_UNLOCK
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dbus_connection_send_message (GDBusConnection *connection,
      GDBusMessage *message, GDBusSendMessageFlags flags, volatile guint32 *out_serial,
      GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:2300,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusconnection.c:2301,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:2300,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:2302,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:2301,1
    - Dst: g_dbus_message_get_locked
      Src: /src/glib/gio/gdbusconnection.c:2302,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:2303,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:2304,1
    - Dst: g_main_context_new
      Src: /src/glib/gio/gdbusconnection.c:2307,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/gdbusconnection.c:2308,1
    - Dst: g_dbus_connection_send_message_with_reply
      Src: /src/glib/gio/gdbusconnection.c:2312,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/gdbusconnection.c:2328,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:2330,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/gdbusconnection.c:2327,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/gdbusconnection.c:2320,1
    - Dst: g_main_context_pop_thread_default
      Src: /src/glib/gio/gdbusconnection.c:2325,1
    - Dst: g_dbus_connection_send_message_with_reply_finish
      Src: /src/glib/gio/gdbusconnection.c:2321,1
    - Dst: g_main_context_push_thread_default
      Src: /src/glib/gio/gdbusconnection.c:2310,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2333
      start: 2288
    functionDepth: 0
    functionLinenumber: 2288
    functionLinenumberEnd: 2333
    functionName: g_dbus_connection_send_message_with_reply_sync
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_main_loop_run
    - g_return_val_if_fail
    - g_main_context_pop_thread_default
    - G_IS_DBUS_MESSAGE
    - g_main_context_push_thread_default
    - g_main_context_unref
    - g_object_unref
    - G_IS_DBUS_CONNECTION
    - g_main_context_new
    - g_main_loop_unref
    - g_main_loop_new
    - g_dbus_message_get_locked
    - g_dbus_connection_send_message_with_reply
    - g_dbus_connection_send_message_with_reply_finish
    linkageType: ''
    returnType: GDBusMessage*
    signature: 'GDBusMessage *g_dbus_connection_send_message_with_reply_sync (GDBusConnection
      *connection, GDBusMessage *message, GDBusSendMessageFlags flags, gint timeout_msec,
      volatile guint32 *out_serial, GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_string_sized_new
      Src: /src/glib/gio/gdbusconnection.c:5407,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusconnection.c:5416,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusconnection.c:5412,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusconnection.c:5418,1
    - Dst: g_dbus_interface_info_generate_xml
      Src: /src/glib/gio/gdbusconnection.c:5423,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:5435,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdbusconnection.c:5429,1
    - Dst: g_dbus_connection_list_registered_unlocked
      Src: /src/glib/gio/gdbusconnection.c:5426,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusconnection.c:5433,1
    - Dst: introspect_append_header
      Src: /src/glib/gio/gdbusconnection.c:5411,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/gdbusconnection.c:5433,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbusconnection.c:5436,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusconnection.c:5430,1
    - Dst: g_dbus_connection_send_message_unlocked
      Src: /src/glib/gio/gdbusconnection.c:5434,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusconnection.c:5414,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gdbusconnection.c:5421,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gdbusconnection.c:5422,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusconnection.c:5428,1
    - Dst: g_dbus_message_new_method_reply
      Src: /src/glib/gio/gdbusconnection.c:5432,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 3
    argNames:
    - connection
    - eo
    - message
    argTypes:
    - GDBusConnection*
    - ExportedObject*
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 5439
      start: 5394
    functionDepth: 0
    functionLinenumber: 5394
    functionLinenumberEnd: 5439
    functionName: handle_introspect
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_hash_table_iter_init
    - g_dbus_connection_list_registered_unlocked
    - g_object_unref
    - introspect_append_header
    - g_hash_table_lookup
    - g_dbus_message_set_body
    - g_dbus_interface_info_generate_xml
    - g_strfreev
    - g_dbus_message_new_method_reply
    - g_dbus_connection_send_message_unlocked
    - g_variant_new
    - g_string_free
    - g_string_sized_new
    - g_string_append_printf
    - g_string_append
    - g_hash_table_iter_next
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean handle_introspect (GDBusConnection *connection, ExportedObject
      *eo, GDBusMessage *message) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_notify
      Src: /src/glib/gio/gdbusconnection.c:1501,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusconnection.c:1501,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gdbusconnection.c:1502,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1509
      start: 1495
    functionDepth: 0
    functionLinenumber: 1495
    functionLinenumberEnd: 1509
    functionName: emit_closed_in_idle
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_object_notify
    - G_OBJECT
    - g_signal_emit
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean emit_closed_in_idle (gpointer user_data) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GUINT32_TO_BE
      Src: /src/glib/gio/gdbusconnection.c:1788,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbusconnection.c:1800,1
    - Dst: g_thread_self
      Src: /src/glib/gio/gdbusconnection.c:1814,1
    - Dst: CONNECTION_ENSURE_LOCK
      Src: /src/glib/gio/gdbusconnection.c:1737,1
    - Dst: g_dbus_message_to_blob
      Src: /src/glib/gio/gdbusconnection.c:1757,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:1780,1
    - Dst: g_dbus_message_set_serial
      Src: /src/glib/gio/gdbusconnection.c:1818,1
    - Dst: _g_dbus_worker_send_message
      Src: /src/glib/gio/gdbusconnection.c:1822,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusconnection.c:1740,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:1739,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:1740,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:1739,1
    - Dst: g_dbus_message_get_serial
      Src: /src/glib/gio/gdbusconnection.c:1766,1
    - Dst: GUINT32_TO_LE
      Src: /src/glib/gio/gdbusconnection.c:1785,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbusconnection.c:1798,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbusconnection.c:1796,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gdbusconnection.c:1791,1
    - Dst: g_dbus_message_lock
      Src: /src/glib/gio/gdbusconnection.c:1820,1
    - Dst: check_unclosed
      Src: /src/glib/gio/gdbusconnection.c:1752,1
    - Dst: g_hash_table_replace
      Src: /src/glib/gio/gdbusconnection.c:1813,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusconnection.c:1815,1
    - Dst: hexdump
      Src: /src/glib/gio/gdbusconnection.c:1799,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 44
    argCount: 5
    argNames:
    - connection
    - message
    - flags
    - out_serial
    - error
    argTypes:
    - GDBusConnection*
    - GDBusMessage*
    - GDBusSendMessageFlags
    - guint32*
    - GError**
    constantsTouched: []
    func_position:
      end: 1828
      start: 1726
    functionDepth: 0
    functionLinenumber: 1726
    functionLinenumberEnd: 1828
    functionName: g_dbus_connection_send_message_unlocked
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_dbus_message_get_serial
    - g_printerr
    - g_hash_table_replace
    - CONNECTION_ENSURE_LOCK
    - GUINT32_TO_LE
    - g_dbus_message_to_blob
    - check_unclosed
    - g_thread_self
    - hexdump
    - g_dbus_message_set_serial
    - G_IS_DBUS_CONNECTION
    - g_assert_not_reached
    - _g_dbus_worker_send_message
    - g_return_val_if_fail
    - G_IS_DBUS_MESSAGE
    - g_assert
    - GUINT_TO_POINTER
    - GUINT32_TO_BE
    - g_dbus_message_lock
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_dbus_connection_send_message_unlocked (GDBusConnection
      *connection, GDBusMessage *message, GDBusSendMessageFlags flags, guint32 *out_serial,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusconnection.c:2235,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/gdbusconnection.c:2236,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - connection
    - res
    - user_data
    argTypes:
    - GDBusConnection*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2237
      start: 2229
    functionDepth: 0
    functionLinenumber: 2229
    functionLinenumberEnd: 2237
    functionName: send_message_with_reply_sync_cb
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    - g_object_ref
    linkageType: ''
    returnType: void
    signature: 'static void send_message_with_reply_sync_cb (GDBusConnection *connection,
      GAsyncResult *res, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_dbus_initialize
      Src: /src/glib/gio/gdbusconnection.c:3191,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3192,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3194,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3193,1
    - Dst: G_IS_IO_STREAM
      Src: /src/glib/gio/gdbusconnection.c:3192,1
    - Dst: g_initable_new
      Src: /src/glib/gio/gdbusconnection.c:3195,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3203
      start: 3183
    functionDepth: 0
    functionLinenumber: 3183
    functionLinenumberEnd: 3203
    functionName: g_dbus_connection_new_sync
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - _g_dbus_initialize
    - G_IS_IO_STREAM
    - g_return_val_if_fail
    - g_initable_new
    linkageType: ''
    returnType: GDBusConnection*
    signature: 'GDBusConnection *g_dbus_connection_new_sync (GIOStream *stream, const
      gchar *guid, GDBusConnectionFlags flags, GDBusAuthObserver *observer, GCancellable
      *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:5387,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:5389,1
    - Dst: g_dbus_connection_list_registered_unlocked
      Src: /src/glib/gio/gdbusconnection.c:5388,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5391
      start: 5382
    functionDepth: 0
    functionLinenumber: 5382
    functionLinenumberEnd: 5391
    functionName: g_dbus_connection_list_registered
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - CONNECTION_LOCK
    - g_dbus_connection_list_registered_unlocked
    - CONNECTION_UNLOCK
    linkageType: ''
    returnType: gchar**
    signature: 'static gchar **g_dbus_connection_list_registered (GDBusConnection
      *connection, const gchar *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:1420,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:1422,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:1421,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gdbusconnection.c:1421,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:1420,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gdbusconnection.c:1424,1
    - Dst: G_TASK
      Src: /src/glib/gio/gdbusconnection.c:1424,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - connection
    - res
    - error
    argTypes:
    - GDBusConnection*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 1425
      start: 1415
    functionDepth: 0
    functionLinenumber: 1415
    functionLinenumberEnd: 1425
    functionName: g_dbus_connection_flush_finish
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - G_IS_DBUS_CONNECTION
    - g_task_is_valid
    - G_TASK
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dbus_connection_flush_finish (GDBusConnection *connection,
      GAsyncResult *res, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3402,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gdbusconnection.c:3404,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:3402,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - connection
    argTypes:
    - GDBusConnection*
    constantsTouched: []
    func_position:
      end: 3408
      start: 3399
    functionDepth: 0
    functionLinenumber: 3399
    functionLinenumberEnd: 3408
    functionName: g_dbus_connection_get_exit_on_close
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_CONNECTION
    - g_return_val_if_fail
    - g_atomic_int_get
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dbus_connection_get_exit_on_close (GDBusConnection *connection) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - interface_info
    argTypes:
    - GDBusInterfaceInfo*
    constantsTouched: []
    func_position:
      end: 5162
      start: 5149
    functionDepth: 0
    functionLinenumber: 5149
    functionLinenumberEnd: 5162
    functionName: interface_has_readable_properties
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean interface_has_readable_properties (GDBusInterfaceInfo
      *interface_info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusconnection.c:5235,1
    - Dst: _
      Src: /src/glib/gio/gdbusconnection.c:5248,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusconnection.c:5242,1
    - Dst: g_dbus_message_new_method_error
      Src: /src/glib/gio/gdbusconnection.c:5246,1
    - Dst: g_dbus_message_get_body
      Src: /src/glib/gio/gdbusconnection.c:5235,1
    - Dst: g_dbus_connection_send_message_unlocked
      Src: /src/glib/gio/gdbusconnection.c:5250,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:5251,1
    - Dst: validate_and_maybe_schedule_property_get_all
      Src: /src/glib/gio/gdbusconnection.c:5256,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - connection
    - eo
    - message
    argTypes:
    - GDBusConnection*
    - ExportedObject*
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 5266
      start: 5224
    functionDepth: 0
    functionLinenumber: 5224
    functionLinenumberEnd: 5266
    functionName: handle_get_all_properties
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_dbus_message_new_method_error
    - g_hash_table_lookup
    - g_dbus_connection_send_message_unlocked
    - g_dbus_message_get_body
    - g_variant_get
    - _
    - validate_and_maybe_schedule_property_get_all
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean handle_get_all_properties (GDBusConnection *connection,
      ExportedObject *eo, GDBusMessage *message) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:6448,1
    - Dst: _g_dbus_debug_call
      Src: /src/glib/gio/gdbusconnection.c:6459,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusconnection.c:6459,1
    - Dst: g_dbus_connection_send_message_with_reply_finish
      Src: /src/glib/gio/gdbusconnection.c:6455,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gdbusconnection.c:6450,1
    - Dst: _g_dbus_debug_print_lock
      Src: /src/glib/gio/gdbusconnection.c:6461,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusconnection.c:6462,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusconnection.c:6469,1
    - Dst: g_dbus_message_get_reply_serial
      Src: /src/glib/gio/gdbusconnection.c:6471,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusconnection.c:6475,1
    - Dst: decode_method_reply
      Src: /src/glib/gio/gdbusconnection.c:6483,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:6491,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gdbusconnection.c:6486,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gdbusconnection.c:6488,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusconnection.c:6490,1
    - Dst: _g_dbus_debug_print_unlock
      Src: /src/glib/gio/gdbusconnection.c:6479,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 6492
      start: 6443
    functionDepth: 0
    functionLinenumber: 6443
    functionLinenumberEnd: 6492
    functionName: g_dbus_connection_call_done
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - G_DBUS_CONNECTION
    - g_object_unref
    - g_task_return_pointer
    - _g_dbus_debug_print_unlock
    - _g_dbus_debug_print_lock
    - decode_method_reply
    - _g_dbus_debug_call
    - g_clear_object
    - g_task_get_task_data
    - G_UNLIKELY
    - g_print
    - g_dbus_connection_send_message_with_reply_finish
    - g_dbus_message_get_reply_serial
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_connection_call_done (GObject *source, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:7570,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusconnection.c:7571,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:7570,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:7573,1
    - Dst: _g_dbus_subtree_vtable_copy
      Src: /src/glib/gio/gdbusconnection.c:7596,1
    - Dst: g_main_context_ref_thread_default
      Src: /src/glib/gio/gdbusconnection.c:7601,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusconnection.c:7604,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:7571,1
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:7578,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusconnection.c:7603,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:7574,1
    - Dst: check_initialized
      Src: /src/glib/gio/gdbusconnection.c:7574,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusconnection.c:7591,1
    - Dst: _
      Src: /src/glib/gio/gdbusconnection.c:7586,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusconnection.c:7605,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:7572,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusconnection.c:7580,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusconnection.c:7593,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusconnection.c:7583,1
    - Dst: g_atomic_int_add
      Src: /src/glib/gio/gdbusconnection.c:7598,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:7611,1
    - Dst: user_data_free_func
      Src: /src/glib/gio/gdbusconnection.c:7614,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 7
    argNames:
    - connection
    - object_path
    - vtable
    - flags
    - user_data
    - user_data_free_func
    - error
    argTypes:
    - GDBusConnection*
    - gchar*
    - GDBusSubtreeVTable*
    - GDBusSubtreeFlags
    - gpointer
    - GDestroyNotify
    - GError**
    constantsTouched: []
    func_position:
      end: 7617
      start: 7558
    functionDepth: 0
    functionLinenumber: 7558
    functionLinenumberEnd: 7617
    functionName: g_dbus_connection_register_subtree
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_set_error
    - CONNECTION_LOCK
    - g_return_val_if_fail
    - g_strdup
    - check_initialized
    - G_IS_DBUS_CONNECTION
    - _g_dbus_subtree_vtable_copy
    - g_hash_table_lookup
    - GUINT_TO_POINTER
    - g_hash_table_insert
    - g_atomic_int_add
    - user_data_free_func
    - CONNECTION_UNLOCK
    - _
    - g_variant_is_object_path
    - g_new0
    - g_main_context_ref_thread_default
    linkageType: ''
    returnType: guint
    signature: 'guint g_dbus_connection_register_subtree (GDBusConnection *connection,
      const gchar *object_path, const GDBusSubtreeVTable *vtable, GDBusSubtreeFlags
      flags, gpointer user_data, GDestroyNotify user_data_free_func, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:1333,1
    - Dst: check_initialized
      Src: /src/glib/gio/gdbusconnection.c:1336,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:1333,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - connection
    argTypes:
    - GDBusConnection*
    constantsTouched: []
    func_position:
      end: 1340
      start: 1330
    functionDepth: 0
    functionLinenumber: 1330
    functionLinenumberEnd: 1340
    functionName: g_dbus_connection_get_flags
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_CONNECTION
    - g_return_val_if_fail
    - check_initialized
    linkageType: ''
    returnType: GDBusConnectionFlags
    signature: 'GDBusConnectionFlags g_dbus_connection_get_flags (GDBusConnection
      *connection) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:834,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusconnection.c:843,1
    - Dst: g_dbus_connection_get_guid
      Src: /src/glib/gio/gdbusconnection.c:843,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gdbusconnection.c:839,1
    - Dst: g_dbus_connection_get_stream
      Src: /src/glib/gio/gdbusconnection.c:839,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusconnection.c:847,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/gdbusconnection.c:847,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gdbusconnection.c:851,1
    - Dst: g_dbus_connection_is_closed
      Src: /src/glib/gio/gdbusconnection.c:851,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gdbusconnection.c:855,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gdbusconnection.c:867,1
    - Dst: g_dbus_connection_get_flags
      Src: /src/glib/gio/gdbusconnection.c:863,1
    - Dst: g_value_set_flags
      Src: /src/glib/gio/gdbusconnection.c:859,1
    - Dst: g_dbus_connection_get_exit_on_close
      Src: /src/glib/gio/gdbusconnection.c:855,1
    - Dst: g_value_set_flags
      Src: /src/glib/gio/gdbusconnection.c:863,1
    - Dst: g_dbus_connection_get_capabilities
      Src: /src/glib/gio/gdbusconnection.c:859,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 18
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 870
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 870
    functionName: g_dbus_connection_get_property
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - G_DBUS_CONNECTION
    - g_dbus_connection_get_stream
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_string
    - g_dbus_connection_get_unique_name
    - g_value_set_boolean
    - g_dbus_connection_get_exit_on_close
    - g_value_set_flags
    - g_value_set_object
    - g_dbus_connection_is_closed
    - g_dbus_connection_get_flags
    - g_dbus_connection_get_capabilities
    - g_dbus_connection_get_guid
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_connection_get_property (GObject *object, guint
      prop_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_send_message
      Src: /src/glib/gio/gdbusconnection.c:5096,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusconnection.c:5107,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusconnection.c:5133,1
    - Dst: g_dbus_message_get_path
      Src: /src/glib/gio/gdbusconnection.c:5119,1
    - Dst: g_variant_builder_close
      Src: /src/glib/gio/gdbusconnection.c:5135,1
    - Dst: g_variant_take_ref
      Src: /src/glib/gio/gdbusconnection.c:5128,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/gdbusconnection.c:5138,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdbusconnection.c:5143,1
    - Dst: _
      Src: /src/glib/gio/gdbusconnection.c:5093,1
    - Dst: g_variant_builder_init_static
      Src: /src/glib/gio/gdbusconnection.c:5107,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:5140,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdbusconnection.c:5144,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:5097,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusconnection.c:5108,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gdbusconnection.c:5129,1
    - Dst: g_dbus_message_get_sender
      Src: /src/glib/gio/gdbusconnection.c:5118,1
    - Dst: has_object_been_unregistered
      Src: /src/glib/gio/gdbusconnection.c:5085,1
    - Dst: g_dbus_message_new_method_error
      Src: /src/glib/gio/gdbusconnection.c:5091,1
    - Dst: g_dbus_message_get_path
      Src: /src/glib/gio/gdbusconnection.c:5095,1
    - Dst: g_variant_builder_open
      Src: /src/glib/gio/gdbusconnection.c:5108,1
    - Dst: g_dbus_message_new_method_reply
      Src: /src/glib/gio/gdbusconnection.c:5137,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gdbusconnection.c:5138,1
    - Dst: g_dbus_connection_send_message
      Src: /src/glib/gio/gdbusconnection.c:5139,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 1
    argNames:
    - _data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 5147
      start: 5075
    functionDepth: 0
    functionLinenumber: 5075
    functionLinenumberEnd: 5147
    functionName: invoke_get_all_properties_in_idle_cb
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_dbus_message_get_path
    - g_variant_builder_close
    - g_dbus_message_new_method_error
    - g_variant_builder_init_static
    - g_variant_builder_add
    - g_dbus_message_set_body
    - g_clear_pointer
    - g_dbus_connection_send_message
    - g_variant_unref
    - g_dbus_message_new_method_reply
    - g_dbus_message_get_sender
    - has_object_been_unregistered
    - g_variant_builder_end
    - g_variant_take_ref
    - _
    - g_variant_builder_open
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean invoke_get_all_properties_in_idle_cb (gpointer _data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3425,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:3425,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3427
      start: 3422
    functionDepth: 0
    functionLinenumber: 3422
    functionLinenumberEnd: 3427
    functionName: g_dbus_connection_get_guid
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_CONNECTION
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_dbus_connection_get_guid (GDBusConnection *connection) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:1449,1
    - Dst: check_unclosed
      Src: /src/glib/gio/gdbusconnection.c:1461,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:1449,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:1464,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:1450,1
    - Dst: _g_dbus_worker_flush_sync
      Src: /src/glib/gio/gdbusconnection.c:1466,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - connection
    - cancellable
    - error
    argTypes:
    - GDBusConnection*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1472
      start: 1442
    functionDepth: 0
    functionLinenumber: 1442
    functionLinenumberEnd: 1472
    functionName: g_dbus_connection_flush_sync
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - check_unclosed
    - g_return_val_if_fail
    - g_assert
    - G_IS_DBUS_CONNECTION
    - _g_dbus_worker_flush_sync
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dbus_connection_flush_sync (GDBusConnection *connection,
      GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:2487,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:2487,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbusconnection.c:2490,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:2491,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusconnection.c:2503,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:2494,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:2490,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/gdbusconnection.c:2503,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:2496,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusconnection.c:2512,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:2520,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:2484,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:2484,1
    - Dst: g_dbus_connection_send_message_unlocked
      Src: /src/glib/gio/gdbusconnection.c:2505,1
    - Dst: g_dbus_message_new_method_call
      Src: /src/glib/gio/gdbusconnection.c:2499,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:2497,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:2485,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:2485,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:2486,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:2486,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:2495,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:2510,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusconnection.c:2511,1
    - Dst: g_critical
      Src: /src/glib/gio/gdbusconnection.c:2517,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gdbusconnection.c:2519,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:2523,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 2
    argNames:
    - connection
    - name_watcher
    argTypes:
    - GDBusConnection*
    - SignalData*
    constantsTouched: []
    func_position:
      end: 2524
      start: 2476
    functionDepth: 0
    functionLinenumber: 2476
    functionLinenumberEnd: 2524
    functionName: name_watcher_call_get_name_owner_unlocked
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_object_unref
    - g_dbus_message_new_method_call
    - g_assert
    - GUINT_TO_POINTER
    - g_dbus_message_set_body
    - g_hash_table_insert
    - g_dbus_connection_send_message_unlocked
    - g_variant_new
    - g_strcmp0
    - g_critical
    - g_dbus_is_name
    linkageType: ''
    returnType: void
    signature: 'static void name_watcher_call_get_name_owner_unlocked (GDBusConnection
      *connection, SignalData *name_watcher) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:5069,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusconnection.c:5070,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:5071,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - PropertyGetAllData*
    constantsTouched: []
    func_position:
      end: 5072
      start: 5066
    functionDepth: 0
    functionLinenumber: 5066
    functionLinenumberEnd: 5072
    functionName: property_get_all_data_free
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - g_free
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void property_get_all_data_free (PropertyGetAllData *data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: interface_has_readable_properties
      Src: /src/glib/gio/gdbusconnection.c:5188,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusconnection.c:5199,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusconnection.c:5198,1
    - Dst: schedule_method_call
      Src: /src/glib/gio/gdbusconnection.c:5190,1
    - Dst: g_dbus_message_get_body
      Src: /src/glib/gio/gdbusconnection.c:5191,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusconnection.c:5200,1
    - Dst: g_idle_source_new
      Src: /src/glib/gio/gdbusconnection.c:5207,1
    - Dst: g_source_set_priority
      Src: /src/glib/gio/gdbusconnection.c:5208,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gdbusconnection.c:5209,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gdbusconnection.c:5213,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gdbusconnection.c:5214,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gdbusconnection.c:5215,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 8
    argNames:
    - connection
    - message
    - registration_id
    - subtree_registration_id
    - interface_info
    - vtable
    - main_context
    - user_data
    argTypes:
    - GDBusConnection*
    - GDBusMessage*
    - guint
    - guint
    - GDBusInterfaceInfo*
    - GDBusInterfaceVTable*
    - GMainContext*
    - gpointer
    constantsTouched: []
    func_position:
      end: 5221
      start: 5165
    functionDepth: 0
    functionLinenumber: 5165
    functionLinenumberEnd: 5221
    functionName: validate_and_maybe_schedule_property_get_all
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - schedule_method_call
    - g_source_set_priority
    - g_source_set_callback
    - g_idle_source_new
    - g_source_attach
    - g_source_unref
    - g_dbus_message_get_body
    - g_object_ref
    - interface_has_readable_properties
    - g_new0
    - g_source_set_static_name
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean validate_and_maybe_schedule_property_get_all (GDBusConnection
      *connection, GDBusMessage *message, guint registration_id, guint subtree_registration_id,
      GDBusInterfaceInfo *interface_info, const GDBusInterfaceVTable *vtable, GMainContext
      *main_context, gpointer user_data) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusconnection.c:6513,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusconnection.c:6515,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusconnection.c:6519,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusconnection.c:6522,1
    - Dst: g_dbus_connection_send_message_with_reply
      Src: /src/glib/gio/gdbusconnection.c:6562,1
    - Dst: _g_dbus_debug_call
      Src: /src/glib/gio/gdbusconnection.c:6585,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusconnection.c:6588,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusconnection.c:6585,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusconnection.c:6515,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusconnection.c:6514,1
    - Dst: g_dbus_is_interface_name
      Src: /src/glib/gio/gdbusconnection.c:6516,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/gdbusconnection.c:6533,1
    - Dst: g_strjoin
      Src: /src/glib/gio/gdbusconnection.c:6551,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gdbusconnection.c:6560,1
    - Dst: g_dbus_message_get_flags
      Src: /src/glib/gio/gdbusconnection.c:6575,1
    - Dst: _g_dbus_debug_print_unlock
      Src: /src/glib/gio/gdbusconnection.c:6598,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusconnection.c:6516,1
    - Dst: g_dbus_is_member_name
      Src: /src/glib/gio/gdbusconnection.c:6517,1
    - Dst: G_IS_UNIX_FD_LIST
      Src: /src/glib/gio/gdbusconnection.c:6522,1
    - Dst: g_dbus_message_new_method_call
      Src: /src/glib/gio/gdbusconnection.c:6527,1
    - Dst: check_initialized
      Src: /src/glib/gio/gdbusconnection.c:6520,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusconnection.c:6524,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusconnection.c:6518,1
    - Dst: add_call_flags
      Src: /src/glib/gio/gdbusconnection.c:6531,1
    - Dst: g_variant_type_copy
      Src: /src/glib/gio/gdbusconnection.c:6556,1
    - Dst: g_task_new
      Src: /src/glib/gio/gdbusconnection.c:6558,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gdbusconnection.c:6559,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:6513,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbusconnection.c:6514,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusconnection.c:6517,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusconnection.c:6519,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusconnection.c:6520,1
    - Dst: g_dbus_message_set_unix_fd_list
      Src: /src/glib/gio/gdbusconnection.c:6537,1
    - Dst: g_slice_new0
      Src: /src/glib/gio/gdbusconnection.c:6550,1
    - Dst: g_dbus_connection_send_message
      Src: /src/glib/gio/gdbusconnection.c:6579,1
    - Dst: _g_dbus_debug_print_lock
      Src: /src/glib/gio/gdbusconnection.c:6587,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:6602,1
    - Dst: g_dbus_message_set_flags
      Src: /src/glib/gio/gdbusconnection.c:6577,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 72
    argCount: 13
    argNames:
    - connection
    - bus_name
    - object_path
    - interface_name
    - method_name
    - parameters
    - reply_type
    - flags
    - timeout_msec
    - fd_list
    - cancellable
    - callback
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GVariant*
    - GVariantType*
    - GDBusCallFlags
    - gint
    - GUnixFDList*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 6603
      start: 6495
    functionDepth: 0
    functionLinenumber: 6495
    functionLinenumberEnd: 6603
    functionName: g_dbus_connection_call_internal
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_dbus_message_new_method_call
    - g_dbus_message_set_unix_fd_list
    - g_slice_new0
    - _g_dbus_debug_print_lock
    - g_dbus_message_set_body
    - G_UNLIKELY
    - g_dbus_connection_send_message_with_reply
    - g_dbus_is_member_name
    - check_initialized
    - g_variant_is_object_path
    - g_dbus_message_get_flags
    - g_object_unref
    - g_variant_is_of_type
    - g_task_set_source_tag
    - add_call_flags
    - g_dbus_is_interface_name
    - G_IS_UNIX_FD_LIST
    - g_dbus_connection_send_message
    - g_print
    - g_task_new
    - _g_dbus_debug_print_unlock
    - G_IS_DBUS_CONNECTION
    - g_dbus_message_set_flags
    - _g_dbus_debug_call
    - g_variant_type_copy
    - g_task_set_task_data
    - g_return_if_fail
    - g_strjoin
    - g_dbus_is_name
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_connection_call_internal (GDBusConnection *connection,
      const gchar *bus_name, const gchar *object_path, const gchar *interface_name,
      const gchar *method_name, GVariant *parameters, const GVariantType *reply_type,
      GDBusCallFlags flags, gint timeout_msec, GUnixFDList *fd_list, GCancellable
      *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:7640,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:7640,1
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:7645,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:7641,1
    - Dst: check_initialized
      Src: /src/glib/gio/gdbusconnection.c:7641,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusconnection.c:7647,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusconnection.c:7648,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusconnection.c:7652,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusconnection.c:7652,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusconnection.c:7652,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusconnection.c:7653,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusconnection.c:7653,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:7658,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - connection
    - registration_id
    argTypes:
    - GDBusConnection*
    - guint
    constantsTouched: []
    func_position:
      end: 7661
      start: 7633
    functionDepth: 0
    functionLinenumber: 7633
    functionLinenumberEnd: 7661
    functionName: g_dbus_connection_unregister_subtree
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - CONNECTION_LOCK
    - g_return_val_if_fail
    - g_warn_if_fail
    - g_hash_table_remove
    - G_IS_DBUS_CONNECTION
    - g_hash_table_lookup
    - GUINT_TO_POINTER
    - CONNECTION_UNLOCK
    - check_initialized
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dbus_connection_unregister_subtree (GDBusConnection *connection,
      guint registration_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_init
      Src: /src/glib/gio/gdbusconnection.c:1187,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdbusconnection.c:1191,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/gdbusconnection.c:1193,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdbusconnection.c:1190,1
    - Dst: g_mutex_init
      Src: /src/glib/gio/gdbusconnection.c:1188,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/gdbusconnection.c:1195,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdbusconnection.c:1197,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdbusconnection.c:1202,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/gdbusconnection.c:1207,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdbusconnection.c:1210,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gdbusconnection.c:1223,1
    - Dst: g_main_context_ref_thread_default
      Src: /src/glib/gio/gdbusconnection.c:1221,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/gdbusconnection.c:1215,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/gdbusconnection.c:1218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - connection
    argTypes:
    - GDBusConnection*
    constantsTouched: []
    func_position:
      end: 1224
      start: 1184
    functionDepth: 0
    functionLinenumber: 1184
    functionLinenumberEnd: 1224
    functionName: g_dbus_connection_init
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_mutex_init
    - g_hash_table_new_full
    - g_hash_table_new
    - g_ptr_array_new
    - g_main_context_ref_thread_default
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_connection_init (GDBusConnection *connection) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusconnection.c:2167,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusconnection.c:2169,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:2167,1
    - Dst: G_IS_DBUS_MESSAGE
      Src: /src/glib/gio/gdbusconnection.c:2168,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusconnection.c:2168,1
    - Dst: g_dbus_message_get_locked
      Src: /src/glib/gio/gdbusconnection.c:2169,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusconnection.c:2170,1
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:2172,1
    - Dst: g_dbus_connection_send_message_with_reply_unlocked
      Src: /src/glib/gio/gdbusconnection.c:2173,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:2181,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 8
    argNames:
    - connection
    - message
    - flags
    - timeout_msec
    - out_serial
    - cancellable
    - callback
    - user_data
    argTypes:
    - GDBusConnection*
    - GDBusMessage*
    - GDBusSendMessageFlags
    - gint
    - guint32*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 2182
      start: 2157
    functionDepth: 0
    functionLinenumber: 2157
    functionLinenumberEnd: 2182
    functionName: g_dbus_connection_send_message_with_reply
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - CONNECTION_LOCK
    - G_IS_DBUS_MESSAGE
    - g_return_if_fail
    - G_IS_DBUS_CONNECTION
    - g_dbus_message_get_locked
    - CONNECTION_UNLOCK
    - g_dbus_connection_send_message_with_reply_unlocked
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_connection_send_message_with_reply (GDBusConnection *connection,
      GDBusMessage *message, GDBusSendMessageFlags flags, gint timeout_msec, volatile
      guint32 *out_serial, GCancellable *cancellable, GAsyncReadyCallback callback,
      gpointer user_data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_LIKELY
      Src: /src/glib/gio/gdbusconnection.c:2449,1
    - Dst: G_LIKELY
      Src: /src/glib/gio/gdbusconnection.c:2458,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusconnection.c:2471,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:2430,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusconnection.c:2446,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusconnection.c:2470,1
    - Dst: g_dbus_message_get_body
      Src: /src/glib/gio/gdbusconnection.c:2433,1
    - Dst: g_dbus_message_get_message_type
      Src: /src/glib/gio/gdbusconnection.c:2432,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:2437,1
    - Dst: g_dbus_message_get_error_name
      Src: /src/glib/gio/gdbusconnection.c:2437,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusconnection.c:2453,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusconnection.c:2466,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusconnection.c:2467,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusconnection.c:2461,1
    - Dst: name_watcher_set_name_owner_unlocked
      Src: /src/glib/gio/gdbusconnection.c:2459,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbusconnection.c:2458,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:2429,1
    - Dst: name_watcher_set_name_owner_unlocked
      Src: /src/glib/gio/gdbusconnection.c:2439,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusconnection.c:2449,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusconnection.c:2449,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 3
    argNames:
    - name_watcher
    - connection
    - message
    argTypes:
    - SignalData*
    - GDBusConnection*
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 2473
      start: 2419
    functionDepth: 0
    functionLinenumber: 2419
    functionLinenumberEnd: 2473
    functionName: name_watcher_deliver_get_name_owner_reply_unlocked
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_warning
    - g_variant_is_of_type
    - g_hash_table_remove
    - g_assert
    - g_dbus_message_get_message_type
    - GUINT_TO_POINTER
    - g_dbus_message_get_error_name
    - G_LIKELY
    - g_strcmp0
    - g_dbus_message_get_body
    - g_variant_get
    - name_watcher_set_name_owner_unlocked
    - g_variant_get_type_string
    - G_VARIANT_TYPE
    - g_dbus_is_name
    linkageType: ''
    returnType: void
    signature: 'static void name_watcher_deliver_get_name_owner_reply_unlocked (SignalData
      *name_watcher, GDBusConnection *connection, GDBusMessage *message) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/gio/gdbusconnection.c:2563,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2572
      start: 2557
    functionDepth: 0
    functionLinenumber: 2557
    functionLinenumberEnd: 2572
    functionName: copy_filter_list
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_new
    linkageType: ''
    returnType: FilterData**
    signature: 'static FilterData **copy_filter_list (GPtrArray *filters) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusconnection.c:8009,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:8017,1
    - Dst: message_bus_get_singleton
      Src: /src/glib/gio/gdbusconnection.c:8010,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gio/gdbusconnection.c:8014,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8019
      start: 8003
    functionDepth: 0
    functionLinenumber: 8003
    functionLinenumberEnd: 8019
    functionName: _g_bus_get_singleton_if_exists
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - message_bus_get_singleton
    - g_weak_ref_get
    - G_LOCK
    linkageType: ''
    returnType: GDBusConnection*
    signature: 'GDBusConnection *_g_bus_get_singleton_if_exists (GBusType bus_type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_message_new_method_call
      Src: /src/glib/gio/gdbusconnection.c:3706,1
    - Dst: g_critical
      Src: /src/glib/gio/gdbusconnection.c:3723,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusconnection.c:3710,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/gdbusconnection.c:3710,1
    - Dst: g_dbus_connection_send_message_unlocked
      Src: /src/glib/gio/gdbusconnection.c:3713,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusconnection.c:3724,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:3726,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - connection
    - match_rule
    argTypes:
    - GDBusConnection*
    - gchar*
    constantsTouched: []
    func_position:
      end: 3727
      start: 3696
    functionDepth: 0
    functionLinenumber: 3696
    functionLinenumberEnd: 3727
    functionName: remove_match_rule
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_dbus_message_new_method_call
    - g_dbus_message_set_body
    - g_dbus_connection_send_message_unlocked
    - g_variant_new
    - g_error_free
    - g_critical
    linkageType: ''
    returnType: void
    signature: 'static void remove_match_rule (GDBusConnection *connection, const
      gchar *match_rule) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusconnection.c:3751,1
    - Dst: add_match_rule
      Src: /src/glib/gio/gdbusconnection.c:3763,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gdbusconnection.c:3770,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusconnection.c:3766,1
    - Dst: is_signal_data_for_name_lost_or_acquired
      Src: /src/glib/gio/gdbusconnection.c:3762,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusconnection.c:3771,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusconnection.c:3772,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusconnection.c:3775,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - connection
    - signal_data
    - sender_unique_name
    argTypes:
    - GDBusConnection*
    - SignalData*
    - char*
    constantsTouched: []
    func_position:
      end: 3776
      start: 3744
    functionDepth: 0
    functionLinenumber: 3744
    functionLinenumberEnd: 3776
    functionName: add_signal_data
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - add_match_rule
    - g_strdup
    - is_signal_data_for_name_lost_or_acquired
    - g_hash_table_lookup
    - g_hash_table_insert
    - g_ptr_array_new
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void add_signal_data (GDBusConnection *connection, SignalData
      *signal_data, const char *sender_unique_name) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:879,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gdbusconnection.c:888,1
    - Dst: g_value_get_flags
      Src: /src/glib/gio/gdbusconnection.c:896,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gdbusconnection.c:892,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/gdbusconnection.c:884,1
    - Dst: g_dbus_connection_set_exit_on_close
      Src: /src/glib/gio/gdbusconnection.c:900,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gdbusconnection.c:900,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/gdbusconnection.c:904,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gdbusconnection.c:908,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 911
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 911
    functionName: g_dbus_connection_set_property
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - G_DBUS_CONNECTION
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_dup_string
    - g_value_get_boolean
    - g_value_dup_object
    - g_dbus_connection_set_exit_on_close
    - g_value_get_flags
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_connection_set_property (GObject *object, guint
      prop_id, const GValue *value, GParamSpec *pspec) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/gio/gdbusconnection.c:2069,1
    - Dst: g_task_new
      Src: /src/glib/gio/gdbusconnection.c:2070,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gdbusconnection.c:2071,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gdbusconnection.c:2073,1
    - Dst: g_task_return_error_if_cancelled
      Src: /src/glib/gio/gdbusconnection.c:2075,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:2077,1
    - Dst: g_dbus_connection_send_message_unlocked
      Src: /src/glib/gio/gdbusconnection.c:2081,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gdbusconnection.c:2083,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:2084,1
    - Dst: g_cancellable_connect
      Src: /src/glib/gio/gdbusconnection.c:2091,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gdbusconnection.c:2092,1
    - Dst: g_task_attach_source
      Src: /src/glib/gio/gdbusconnection.c:2101,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusconnection.c:2107,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusconnection.c:2106,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusconnection.c:2093,1
    - Dst: g_timeout_source_new
      Src: /src/glib/gio/gdbusconnection.c:2099,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gdbusconnection.c:2100,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusconnection.c:2105,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 8
    argNames:
    - connection
    - message
    - flags
    - timeout_msec
    - out_serial
    - cancellable
    - callback
    - user_data
    argTypes:
    - GDBusConnection*
    - GDBusMessage*
    - GDBusSendMessageFlags
    - gint
    - guint32*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 2108
      start: 2047
    functionDepth: 0
    functionLinenumber: 2047
    functionLinenumberEnd: 2108
    functionName: g_dbus_connection_send_message_with_reply_unlocked
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_task_new
    - g_object_unref
    - g_slice_new0
    - g_task_set_source_tag
    - g_timeout_source_new
    - GUINT_TO_POINTER
    - G_CALLBACK
    - g_task_return_error_if_cancelled
    - g_dbus_connection_send_message_unlocked
    - g_hash_table_insert
    - g_object_ref
    - g_task_set_task_data
    - g_task_attach_source
    - g_cancellable_connect
    - g_task_return_error
    - g_source_set_static_name
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_connection_send_message_with_reply_unlocked (GDBusConnection
      *connection, GDBusMessage *message, GDBusSendMessageFlags flags, gint timeout_msec,
      guint32 *out_serial, GCancellable *cancellable, GAsyncReadyCallback callback,
      gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_message_get_body
      Src: /src/glib/gio/gdbusconnection.c:2388,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusconnection.c:2390,1
    - Dst: G_LIKELY
      Src: /src/glib/gio/gdbusconnection.c:2390,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusconnection.c:2395,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusconnection.c:2390,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:2398,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:2398,1
    - Dst: G_LIKELY
      Src: /src/glib/gio/gdbusconnection.c:2403,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbusconnection.c:2403,1
    - Dst: name_watcher_set_name_owner_unlocked
      Src: /src/glib/gio/gdbusconnection.c:2404,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/gdbusconnection.c:2413,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusconnection.c:2406,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusconnection.c:2411,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - name_watcher
    - message
    argTypes:
    - SignalData*
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 2416
      start: 2382
    functionDepth: 0
    functionLinenumber: 2382
    functionLinenumberEnd: 2416
    functionName: name_watcher_deliver_name_owner_changed_unlocked
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_warning
    - g_variant_is_of_type
    - g_assert
    - G_LIKELY
    - g_dbus_message_get_body
    - g_variant_get
    - g_strcmp0
    - name_watcher_set_name_owner_unlocked
    - g_variant_get_type_string
    - G_VARIANT_TYPE
    - g_dbus_is_name
    linkageType: ''
    returnType: void
    signature: 'static void name_watcher_deliver_name_owner_changed_unlocked (SignalData
      *name_watcher, GDBusMessage *message) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_unref
      Src: /src/glib/gio/gdbusconnection.c:2552,1
    - Dst: call_destroy_notify
      Src: /src/glib/gio/gdbusconnection.c:2548,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:2553,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - filter
    - notify_sync
    argTypes:
    - FilterData*
    - gboolean
    constantsTouched: []
    func_position:
      end: 2554
      start: 2538
    functionDepth: 0
    functionLinenumber: 2538
    functionLinenumberEnd: 2554
    functionName: filter_data_destroy
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_free
    - g_main_context_unref
    - call_destroy_notify
    linkageType: ''
    returnType: void
    signature: 'static void filter_data_destroy (FilterData *filter, gboolean notify_sync) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_message_new_method_call
      Src: /src/glib/gio/gdbusconnection.c:3675,1
    - Dst: g_critical
      Src: /src/glib/gio/gdbusconnection.c:3687,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusconnection.c:3679,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/gdbusconnection.c:3679,1
    - Dst: g_dbus_connection_send_message_unlocked
      Src: /src/glib/gio/gdbusconnection.c:3681,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusconnection.c:3688,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:3690,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - connection
    - match_rule
    argTypes:
    - GDBusConnection*
    - gchar*
    constantsTouched: []
    func_position:
      end: 3691
      start: 3665
    functionDepth: 0
    functionLinenumber: 3665
    functionLinenumberEnd: 3691
    functionName: add_match_rule
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_dbus_message_new_method_call
    - g_dbus_message_set_body
    - g_dbus_connection_send_message_unlocked
    - g_variant_new
    - g_error_free
    - g_critical
    linkageType: ''
    returnType: void
    signature: 'static void add_match_rule (GDBusConnection *connection, const gchar
      *match_rule) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:3734,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:3736,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:3737,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:3735,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:3738,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - signal_data
    argTypes:
    - SignalData*
    constantsTouched: []
    func_position:
      end: 3739
      start: 3731
    functionDepth: 0
    functionLinenumber: 3731
    functionLinenumberEnd: 3739
    functionName: is_signal_data_for_name_lost_or_acquired
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_signal_data_for_name_lost_or_acquired (SignalData
      *signal_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusconnection.c:7968,1
    - Dst: g_object_new
      Src: /src/glib/gio/gdbusconnection.c:7981,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gio/gdbusconnection.c:7973,1
    - Dst: g_dbus_address_get_for_bus_sync
      Src: /src/glib/gio/gdbusconnection.c:7978,1
    - Dst: message_bus_get_singleton
      Src: /src/glib/gio/gdbusconnection.c:7969,1
    - Dst: g_weak_ref_set
      Src: /src/glib/gio/gdbusconnection.c:7991,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:7992,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:7995,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:7998,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8000
      start: 7958
    functionDepth: 0
    functionLinenumber: 7958
    functionLinenumberEnd: 8000
    functionName: get_uninitialized_connection
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_weak_ref_get
    - g_object_new
    - g_weak_ref_set
    - g_assert
    - G_UNLOCK
    - g_free
    - g_dbus_address_get_for_bus_sync
    - message_bus_get_singleton
    - G_LOCK
    linkageType: ''
    returnType: GDBusConnection*
    signature: 'static GDBusConnection *get_uninitialized_connection (GBusType bus_type,
      GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3539,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3540,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:3539,1
    - Dst: check_initialized
      Src: /src/glib/gio/gdbusconnection.c:3541,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3541,1
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:3543,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusconnection.c:3544,1
    - Dst: g_atomic_int_add
      Src: /src/glib/gio/gdbusconnection.c:3545,1
    - Dst: g_main_context_ref_thread_default
      Src: /src/glib/gio/gdbusconnection.c:3550,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusconnection.c:3551,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:3552,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - connection
    - filter_function
    - user_data
    - user_data_free_func
    argTypes:
    - GDBusConnection*
    - GDBusMessageFilterFunction
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 3555
      start: 3531
    functionDepth: 0
    functionLinenumber: 3531
    functionLinenumberEnd: 3555
    functionName: g_dbus_connection_add_filter
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - CONNECTION_LOCK
    - g_return_val_if_fail
    - G_IS_DBUS_CONNECTION
    - g_atomic_int_add
    - CONNECTION_UNLOCK
    - check_initialized
    - g_new0
    - g_ptr_array_add
    - g_main_context_ref_thread_default
    linkageType: ''
    returnType: guint
    signature: 'guint g_dbus_connection_add_filter (GDBusConnection *connection, GDBusMessageFilterFunction
      filter_function, gpointer user_data, GDestroyNotify user_data_free_func) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gio/gdbusconnection.c:5452,1
    - Dst: g_dbus_method_invocation_get_object_path
      Src: /src/glib/gio/gdbusconnection.c:5477,1
    - Dst: g_dbus_method_invocation_get_interface_name
      Src: /src/glib/gio/gdbusconnection.c:5478,1
    - Dst: g_dbus_method_invocation_get_parameters
      Src: /src/glib/gio/gdbusconnection.c:5480,1
    - Dst: g_dbus_method_invocation_get_user_data
      Src: /src/glib/gio/gdbusconnection.c:5482,1
    - Dst: g_object_get_data
      Src: /src/glib/gio/gdbusconnection.c:5453,1
    - Dst: has_object_been_unregistered
      Src: /src/glib/gio/gdbusconnection.c:5455,1
    - Dst: g_dbus_method_invocation_get_connection
      Src: /src/glib/gio/gdbusconnection.c:5467,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusconnection.c:5472,1
    - Dst: g_dbus_method_invocation_get_interface_name
      Src: /src/glib/gio/gdbusconnection.c:5465,1
    - Dst: g_dbus_method_invocation_get_connection
      Src: /src/glib/gio/gdbusconnection.c:5475,1
    - Dst: g_dbus_method_invocation_get_sender
      Src: /src/glib/gio/gdbusconnection.c:5476,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdbusconnection.c:5485,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdbusconnection.c:5486,1
    - Dst: G_DBUS_METHOD_INVOCATION
      Src: /src/glib/gio/gdbusconnection.c:5445,1
    - Dst: g_object_get_data
      Src: /src/glib/gio/gdbusconnection.c:5452,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusconnection.c:5453,1
    - Dst: g_dbus_method_invocation_get_connection
      Src: /src/glib/gio/gdbusconnection.c:5455,1
    - Dst: g_dbus_method_invocation_get_message
      Src: /src/glib/gio/gdbusconnection.c:5462,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:5468,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:5473,1
    - Dst: g_dbus_method_invocation_get_method_name
      Src: /src/glib/gio/gdbusconnection.c:5479,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusconnection.c:5481,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gio/gdbusconnection.c:5453,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusconnection.c:5452,1
    - Dst: g_dbus_message_new_method_error
      Src: /src/glib/gio/gdbusconnection.c:5462,1
    - Dst: g_dbus_method_invocation_get_object_path
      Src: /src/glib/gio/gdbusconnection.c:5466,1
    - Dst: _
      Src: /src/glib/gio/gdbusconnection.c:5464,1
    - Dst: g_dbus_connection_send_message
      Src: /src/glib/gio/gdbusconnection.c:5467,1
    - Dst: g_object_get_data
      Src: /src/glib/gio/gdbusconnection.c:5472,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 5489
      start: 5442
    functionDepth: 0
    functionLinenumber: 5442
    functionLinenumberEnd: 5489
    functionName: call_in_idle_cb
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_dbus_message_new_method_error
    - GPOINTER_TO_UINT
    - g_dbus_method_invocation_get_object_path
    - g_object_unref
    - g_dbus_method_invocation_get_parameters
    - g_clear_pointer
    - g_dbus_method_invocation_get_message
    - g_dbus_connection_send_message
    - g_dbus_method_invocation_get_connection
    - g_dbus_method_invocation_get_sender
    - g_object_get_data
    - has_object_been_unregistered
    - _
    - G_DBUS_METHOD_INVOCATION
    - g_dbus_method_invocation_get_user_data
    - g_dbus_method_invocation_get_interface_name
    - g_assert
    - G_OBJECT
    - g_object_ref
    - g_dbus_method_invocation_get_method_name
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean call_in_idle_cb (gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusconnection.c:6006,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusconnection.c:6012,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusconnection.c:6029,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/gdbusconnection.c:6020,1
    - Dst: _
      Src: /src/glib/gio/gdbusconnection.c:6035,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gdbusconnection.c:6004,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusconnection.c:6010,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusconnection.c:6016,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gdbusconnection.c:6024,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusconnection.c:6028,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusconnection.c:6003,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusconnection.c:6009,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusconnection.c:6015,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusconnection.c:6018,1
    - Dst: g_value_get_variant
      Src: /src/glib/gio/gdbusconnection.c:6022,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusconnection.c:6027,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusconnection.c:6031,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusconnection.c:6034,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusconnection.c:6007,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusconnection.c:6013,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusconnection.c:6026,1
    - Dst: g_closure_invoke
      Src: /src/glib/gio/gdbusconnection.c:6020,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusconnection.c:6030,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6039
      start: 5989
    functionDepth: 0
    functionLinenumber: 5989
    functionLinenumberEnd: 6039
    functionName: register_with_closures_on_get_property
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_value_set_string
    - G_N_ELEMENTS
    - g_closure_invoke
    - g_value_init
    - g_value_set_object
    - _
    - g_variant_ref
    - g_value_get_variant
    - g_value_unset
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *register_with_closures_on_get_property (GDBusConnection
      *connection, const gchar *sender, const gchar *object_path, const gchar *interface_name,
      const gchar *property_name, GError **error, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_object_data_new
      Src: /src/glib/gio/gdbusconnection.c:6141,1
    - Dst: g_dbus_connection_register_object
      Src: /src/glib/gio/gdbusconnection.c:6143,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusconnection.c:6147,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 7
    argNames:
    - connection
    - object_path
    - interface_info
    - method_call_closure
    - get_property_closure
    - set_property_closure
    - error
    argTypes:
    - GDBusConnection*
    - gchar*
    - GDBusInterfaceInfo*
    - GClosure*
    - GClosure*
    - GClosure*
    - GError**
    constantsTouched: []
    func_position:
      end: 6150
      start: 6123
    functionDepth: 0
    functionLinenumber: 6123
    functionLinenumberEnd: 6150
    functionName: g_dbus_connection_register_object_with_closures
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - register_object_data_new
    - g_dbus_connection_register_object
    linkageType: ''
    returnType: guint
    signature: 'guint g_dbus_connection_register_object_with_closures (GDBusConnection
      *connection, const gchar *object_path, GDBusInterfaceInfo *interface_info, GClosure
      *method_call_closure, GClosure *get_property_closure, GClosure *set_property_closure,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_call_finish_internal
      Src: /src/glib/gio/gdbusconnection.c:7040,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7041
      start: 7034
    functionDepth: 0
    functionLinenumber: 7034
    functionLinenumberEnd: 7041
    functionName: g_dbus_connection_call_with_unix_fd_list_finish
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_call_finish_internal
    linkageType: ''
    returnType: GVariant*
    signature: 'GVariant *g_dbus_connection_call_with_unix_fd_list_finish (GDBusConnection
      *connection, GUnixFDList **out_fd_list, GAsyncResult *res, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gdbusconnection.c:7485,1
    - Dst: g_source_set_priority
      Src: /src/glib/gio/gdbusconnection.c:7491,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusconnection.c:7486,1
    - Dst: exported_subtree_ref
      Src: /src/glib/gio/gdbusconnection.c:7487,1
    - Dst: g_idle_source_new
      Src: /src/glib/gio/gdbusconnection.c:7490,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gdbusconnection.c:7492,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gdbusconnection.c:7496,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gdbusconnection.c:7497,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gdbusconnection.c:7498,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - connection
    - es
    - message
    argTypes:
    - GDBusConnection*
    - ExportedSubtree*
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 7505
      start: 7477
    functionDepth: 0
    functionLinenumber: 7477
    functionLinenumberEnd: 7505
    functionName: subtree_message_func
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_source_set_priority
    - g_source_set_callback
    - g_idle_source_new
    - g_source_attach
    - g_source_unref
    - g_object_ref
    - exported_subtree_ref
    - g_new0
    - g_source_set_static_name
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean subtree_message_func (GDBusConnection *connection,
      ExportedSubtree *es, GDBusMessage *message) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gdbusconnection.c:8027,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:8034,1
    - Dst: message_bus_get_singleton
      Src: /src/glib/gio/gdbusconnection.c:8029,1
    - Dst: g_weak_ref_set
      Src: /src/glib/gio/gdbusconnection.c:8032,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - bus_type
    argTypes:
    - GBusType
    constantsTouched: []
    func_position:
      end: 8035
      start: 8022
    functionDepth: 0
    functionLinenumber: 8022
    functionLinenumberEnd: 8035
    functionName: _g_bus_forget_singleton
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_weak_ref_set
    - message_bus_get_singleton
    - G_UNLOCK
    - G_LOCK
    linkageType: ''
    returnType: void
    signature: 'void _g_bus_forget_singleton (GBusType bus_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:1713,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusconnection.c:1716,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gio/gdbusconnection.c:1716,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:1713,1
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:1715,1
    - Dst: g_thread_self
      Src: /src/glib/gio/gdbusconnection.c:1717,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:1718,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - connection
    argTypes:
    - GDBusConnection*
    constantsTouched: []
    func_position:
      end: 1721
      start: 1708
    functionDepth: 0
    functionLinenumber: 1708
    functionLinenumberEnd: 1721
    functionName: g_dbus_connection_get_last_serial
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - CONNECTION_LOCK
    - g_return_val_if_fail
    - G_IS_DBUS_CONNECTION
    - GPOINTER_TO_UINT
    - g_hash_table_lookup
    - CONNECTION_UNLOCK
    - g_thread_self
    linkageType: ''
    returnType: guint32
    signature: 'guint32 g_dbus_connection_get_last_serial (GDBusConnection *connection) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusconnection.c:4030,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusconnection.c:4030,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusconnection.c:4035,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusconnection.c:4032,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusconnection.c:4034,1
    - Dst: g_ptr_array_remove
      Src: /src/glib/gio/gdbusconnection.c:4035,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusconnection.c:4039,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusconnection.c:4039,1
    - Dst: is_signal_data_for_name_lost_or_acquired
      Src: /src/glib/gio/gdbusconnection.c:4045,1
    - Dst: g_dbus_connection_is_closed
      Src: /src/glib/gio/gdbusconnection.c:4046,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusconnection.c:4060,1
    - Dst: remove_signal_data_if_unused
      Src: /src/glib/gio/gdbusconnection.c:4064,1
    - Dst: remove_match_rule
      Src: /src/glib/gio/gdbusconnection.c:4055,1
    - Dst: signal_data_free
      Src: /src/glib/gio/gdbusconnection.c:4067,1
    - Dst: name_watcher_unref_watched_name
      Src: /src/glib/gio/gdbusconnection.c:4062,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 2
    argNames:
    - connection
    - signal_data
    argTypes:
    - GDBusConnection*
    - SignalData*
    constantsTouched: []
    func_position:
      end: 4068
      start: 4007
    functionDepth: 0
    functionLinenumber: 4007
    functionLinenumberEnd: 4068
    functionName: remove_signal_data_if_unused
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_ptr_array_remove
    - g_steal_pointer
    - g_warn_if_fail
    - is_signal_data_for_name_lost_or_acquired
    - g_hash_table_remove
    - g_hash_table_lookup
    - remove_signal_data_if_unused
    - g_dbus_connection_is_closed
    - remove_match_rule
    - name_watcher_unref_watched_name
    - signal_data_free
    linkageType: ''
    returnType: void
    signature: 'static void remove_signal_data_if_unused (GDBusConnection *connection,
      SignalData *signal_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusconnection.c:6056,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusconnection.c:6062,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusconnection.c:6068,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusconnection.c:6071,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusconnection.c:6074,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusconnection.c:6080,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusconnection.c:6084,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbusconnection.c:6089,1
    - Dst: _
      Src: /src/glib/gio/gdbusconnection.c:6091,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusconnection.c:6060,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusconnection.c:6066,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusconnection.c:6069,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusconnection.c:6083,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusconnection.c:6059,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusconnection.c:6065,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gdbusconnection.c:6078,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusconnection.c:6082,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/gdbusconnection.c:6076,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusconnection.c:6086,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gdbusconnection.c:6057,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusconnection.c:6063,1
    - Dst: g_value_set_variant
      Src: /src/glib/gio/gdbusconnection.c:6072,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusconnection.c:6081,1
    - Dst: g_closure_invoke
      Src: /src/glib/gio/gdbusconnection.c:6076,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusconnection.c:6085,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 8
    argNames:
    - connection
    - sender
    - object_path
    - interface_name
    - property_name
    - value
    - error
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GVariant*
    - GError**
    - gpointer
    constantsTouched: []
    func_position:
      end: 6095
      start: 6041
    functionDepth: 0
    functionLinenumber: 6041
    functionLinenumberEnd: 6095
    functionName: register_with_closures_on_set_property
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_value_set_string
    - G_N_ELEMENTS
    - g_value_get_boolean
    - g_closure_invoke
    - g_value_init
    - g_value_set_object
    - _
    - g_value_set_variant
    - g_value_unset
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean register_with_closures_on_set_property (GDBusConnection
      *connection, const gchar *sender, const gchar *object_path, const gchar *interface_name,
      const gchar *property_name, GVariant *value, GError **error, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusconnection.c:6169,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusconnection.c:6178,1
    - Dst: g_value_take_object
      Src: /src/glib/gio/gdbusconnection.c:6193,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusconnection.c:6197,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/gdbusconnection.c:6195,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusconnection.c:6201,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusconnection.c:6203,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusconnection.c:6168,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusconnection.c:6174,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusconnection.c:6177,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusconnection.c:6183,1
    - Dst: g_closure_invoke
      Src: /src/glib/gio/gdbusconnection.c:6195,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusconnection.c:6200,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gdbusconnection.c:6166,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusconnection.c:6172,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusconnection.c:6175,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusconnection.c:6199,1
    - Dst: g_value_set_variant
      Src: /src/glib/gio/gdbusconnection.c:6181,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusconnection.c:6165,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusconnection.c:6171,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusconnection.c:6198,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusconnection.c:6180,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusconnection.c:6202,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 8
    argNames:
    - connection
    - sender
    - object_path
    - interface_name
    - method_name
    - parameters
    - invocation
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GVariant*
    - GDBusMethodInvocation*
    - gpointer
    constantsTouched: []
    func_position:
      end: 6204
      start: 6152
    functionDepth: 0
    functionLinenumber: 6152
    functionLinenumberEnd: 6204
    functionName: register_with_closures_on_method_call2
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_value_set_string
    - G_N_ELEMENTS
    - g_closure_invoke
    - g_value_init
    - g_value_set_object
    - g_value_take_object
    - g_value_set_variant
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void register_with_closures_on_method_call2 (GDBusConnection
      *connection, const gchar *sender, const gchar *object_path, const gchar *interface_name,
      const gchar *method_name, GVariant *parameters, GDBusMethodInvocation *invocation,
      gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:1243,1
    - Dst: check_initialized
      Src: /src/glib/gio/gdbusconnection.c:1246,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:1243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1240
    functionDepth: 0
    functionLinenumber: 1240
    functionLinenumberEnd: 1250
    functionName: g_dbus_connection_get_stream
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_CONNECTION
    - g_return_val_if_fail
    - check_initialized
    linkageType: ''
    returnType: GIOStream*
    signature: 'GIOStream *g_dbus_connection_get_stream (GDBusConnection *connection) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:1663,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:1664,1
    - Dst: check_unclosed
      Src: /src/glib/gio/gdbusconnection.c:1668,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:1663,1
    - Dst: g_main_context_new
      Src: /src/glib/gio/gdbusconnection.c:1673,1
    - Dst: g_main_context_push_thread_default
      Src: /src/glib/gio/gdbusconnection.c:1674,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/gdbusconnection.c:1675,1
    - Dst: g_dbus_connection_close
      Src: /src/glib/gio/gdbusconnection.c:1678,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/gdbusconnection.c:1679,1
    - Dst: g_dbus_connection_close_finish
      Src: /src/glib/gio/gdbusconnection.c:1680,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/gdbusconnection.c:1685,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/gdbusconnection.c:1683,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:1682,1
    - Dst: g_main_context_pop_thread_default
      Src: /src/glib/gio/gdbusconnection.c:1684,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - connection
    - cancellable
    - error
    argTypes:
    - GDBusConnection*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 1689
      start: 1656
    functionDepth: 0
    functionLinenumber: 1656
    functionLinenumberEnd: 1689
    functionName: g_dbus_connection_close_sync
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - check_unclosed
    - g_dbus_connection_close
    - g_return_val_if_fail
    - g_main_loop_run
    - g_main_context_push_thread_default
    - g_dbus_connection_close_finish
    - g_object_unref
    - g_main_context_pop_thread_default
    - G_IS_DBUS_CONNECTION
    - g_main_context_unref
    - g_main_context_new
    - g_main_loop_unref
    - g_main_loop_new
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dbus_connection_close_sync (GDBusConnection *connection,
      GCancellable *cancellable, GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:3883,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3887,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3888,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3890,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:3928,1
    - Dst: signal_data_new_take
      Src: /src/glib/gio/gdbusconnection.c:3932,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusconnection.c:3932,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusconnection.c:3933,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusconnection.c:3958,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusconnection.c:3964,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:3994,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusconnection.c:3967,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbusconnection.c:3884,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3886,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusconnection.c:3887,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3891,1
    - Dst: args_to_rule
      Src: /src/glib/gio/gdbusconnection.c:3903,1
    - Dst: g_main_context_ref_thread_default
      Src: /src/glib/gio/gdbusconnection.c:3921,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusconnection.c:3927,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusconnection.c:3935,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusconnection.c:3937,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbusconnection.c:3939,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusconnection.c:3965,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusconnection.c:3990,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3883,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3885,1
    - Dst: g_dbus_is_member_name
      Src: /src/glib/gio/gdbusconnection.c:3886,1
    - Dst: check_initialized
      Src: /src/glib/gio/gdbusconnection.c:3889,1
    - Dst: g_dbus_is_unique_name
      Src: /src/glib/gio/gdbusconnection.c:3905,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3889,1
    - Dst: g_new0
      Src: /src/glib/gio/gdbusconnection.c:3915,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:3950,1
    - Dst: signal_data_new_take
      Src: /src/glib/gio/gdbusconnection.c:3962,1
    - Dst: add_signal_data
      Src: /src/glib/gio/gdbusconnection.c:3969,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusconnection.c:3963,1
    - Dst: name_watcher_call_get_name_owner_unlocked
      Src: /src/glib/gio/gdbusconnection.c:3975,1
    - Dst: watched_name_new
      Src: /src/glib/gio/gdbusconnection.c:3974,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:3884,1
    - Dst: g_dbus_is_interface_name
      Src: /src/glib/gio/gdbusconnection.c:3885,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:3905,1
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:3893,1
    - Dst: g_atomic_int_add
      Src: /src/glib/gio/gdbusconnection.c:3920,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusconnection.c:3924,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusconnection.c:3934,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusconnection.c:3936,1
    - Dst: args_to_rule
      Src: /src/glib/gio/gdbusconnection.c:3952,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusconnection.c:3966,1
    - Dst: add_signal_data
      Src: /src/glib/gio/gdbusconnection.c:3987,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusconnection.c:3991,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdbusconnection.c:3984,1
    - Dst: g_ref_count_inc
      Src: /src/glib/gio/gdbusconnection.c:3979,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusconnection.c:3962,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 108
    argCount: 10
    argNames:
    - connection
    - sender
    - interface_name
    - member
    - object_path
    - arg0
    - flags
    - callback
    - user_data
    - user_data_free_func
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GDBusSignalFlags
    - GDBusSignalCallback
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 3997
      start: 3854
    functionDepth: 0
    functionLinenumber: 3854
    functionLinenumberEnd: 3997
    functionName: g_dbus_connection_signal_subscribe
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - CONNECTION_LOCK
    - g_dbus_is_unique_name
    - add_signal_data
    - g_dbus_is_member_name
    - check_initialized
    - g_variant_is_object_path
    - name_watcher_call_get_name_owner_unlocked
    - g_hash_table_lookup
    - g_dbus_is_interface_name
    - g_clear_pointer
    - g_hash_table_insert
    - args_to_rule
    - CONNECTION_UNLOCK
    - watched_name_new
    - g_ptr_array_add
    - g_main_context_ref_thread_default
    - g_strdup
    - G_IS_DBUS_CONNECTION
    - g_strcmp0
    - g_return_val_if_fail
    - g_assert
    - g_ref_count_inc
    - GUINT_TO_POINTER
    - g_atomic_int_add
    - signal_data_new_take
    - g_new0
    - g_free
    - g_dbus_is_name
    linkageType: ''
    returnType: guint
    signature: 'guint g_dbus_connection_signal_subscribe (GDBusConnection *connection,
      const gchar *sender, const gchar *interface_name, const gchar *member, const
      gchar *object_path, const gchar *arg0, GDBusSignalFlags flags, GDBusSignalCallback
      callback, gpointer user_data, GDestroyNotify user_data_free_func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_call_internal
      Src: /src/glib/gio/gdbusconnection.c:7005,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 2
    argCount: 13
    argNames:
    - connection
    - bus_name
    - object_path
    - interface_name
    - method_name
    - parameters
    - reply_type
    - flags
    - timeout_msec
    - fd_list
    - cancellable
    - callback
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GVariant*
    - GVariantType*
    - GDBusCallFlags
    - gint
    - GUnixFDList*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 7006
      start: 6990
    functionDepth: 0
    functionLinenumber: 6990
    functionLinenumberEnd: 7006
    functionName: g_dbus_connection_call_with_unix_fd_list
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_call_internal
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_connection_call_with_unix_fd_list (GDBusConnection *connection,
      const gchar *bus_name, const gchar *object_path, const gchar *interface_name,
      const gchar *method_name, GVariant *parameters, const GVariantType *reply_type,
      GDBusCallFlags flags, gint timeout_msec, GUnixFDList *fd_list, GCancellable
      *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:7441,1
    - Dst: g_dbus_message_get_interface
      Src: /src/glib/gio/gdbusconnection.c:7441,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:7442,1
    - Dst: g_dbus_message_get_member
      Src: /src/glib/gio/gdbusconnection.c:7442,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:7443,1
    - Dst: g_dbus_message_get_signature
      Src: /src/glib/gio/gdbusconnection.c:7443,1
    - Dst: handle_subtree_introspect
      Src: /src/glib/gio/gdbusconnection.c:7444,1
    - Dst: handle_subtree_method_invocation
      Src: /src/glib/gio/gdbusconnection.c:7448,1
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:7454,1
    - Dst: handle_generic_unlocked
      Src: /src/glib/gio/gdbusconnection.c:7455,1
    - Dst: g_dbus_message_new_method_error
      Src: /src/glib/gio/gdbusconnection.c:7463,1
    - Dst: g_dbus_message_get_member
      Src: /src/glib/gio/gdbusconnection.c:7466,1
    - Dst: g_dbus_message_get_interface
      Src: /src/glib/gio/gdbusconnection.c:7467,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:7470,1
    - Dst: g_dbus_message_get_signature
      Src: /src/glib/gio/gdbusconnection.c:7468,1
    - Dst: _
      Src: /src/glib/gio/gdbusconnection.c:7465,1
    - Dst: g_dbus_connection_send_message
      Src: /src/glib/gio/gdbusconnection.c:7469,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:7456,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 1
    argNames:
    - _data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 7474
      start: 7433
    functionDepth: 0
    functionLinenumber: 7433
    functionLinenumberEnd: 7474
    functionName: process_subtree_vtable_message_in_idle_cb
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - CONNECTION_LOCK
    - handle_subtree_introspect
    - g_object_unref
    - handle_generic_unlocked
    - g_dbus_message_new_method_error
    - g_dbus_connection_send_message
    - g_dbus_message_get_member
    - CONNECTION_UNLOCK
    - g_strcmp0
    - g_dbus_message_get_interface
    - g_dbus_message_get_signature
    - _
    - handle_subtree_method_invocation
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean process_subtree_vtable_message_in_idle_cb (gpointer
      _data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gdbusconnection.c:688,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:693,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:690,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - connection
    argTypes:
    - GDBusConnection*
    constantsTouched: []
    func_position:
      end: 696
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 696
    functionName: check_initialized
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_atomic_int_get
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean check_initialized (GDBusConnection *connection) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusconnection.c:1266,1
    - Dst: _g_dbus_worker_unfreeze
      Src: /src/glib/gio/gdbusconnection.c:1273,1
    - Dst: check_initialized
      Src: /src/glib/gio/gdbusconnection.c:1269,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:1272,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:1266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - connection
    argTypes:
    - GDBusConnection*
    constantsTouched: []
    func_position:
      end: 1274
      start: 1263
    functionDepth: 0
    functionLinenumber: 1263
    functionLinenumberEnd: 1274
    functionName: g_dbus_connection_start_message_processing
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - g_assert
    - G_IS_DBUS_CONNECTION
    - check_initialized
    - _g_dbus_worker_unfreeze
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_connection_start_message_processing (GDBusConnection *connection) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:1617,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:1617,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:1619,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:1618,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gdbusconnection.c:1618,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/gdbusconnection.c:1621,1
    - Dst: G_TASK
      Src: /src/glib/gio/gdbusconnection.c:1621,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - connection
    - res
    - error
    argTypes:
    - GDBusConnection*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 1622
      start: 1612
    functionDepth: 0
    functionLinenumber: 1612
    functionLinenumberEnd: 1622
    functionName: g_dbus_connection_close_finish
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_task_propagate_boolean
    - g_return_val_if_fail
    - G_IS_DBUS_CONNECTION
    - g_task_is_valid
    - G_TASK
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dbus_connection_close_finish (GDBusConnection *connection,
      GAsyncResult *res, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdbusconnection.c:5932,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdbusconnection.c:5934,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:5936,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdbusconnection.c:5933,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 5937
      start: 5927
    functionDepth: 0
    functionLinenumber: 5927
    functionLinenumberEnd: 5937
    functionName: register_object_free_func
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void register_object_free_func (gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:6616,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gdbusconnection.c:6617,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:6617,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:6616,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:6618,1
    - Dst: G_TASK
      Src: /src/glib/gio/gdbusconnection.c:6620,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gdbusconnection.c:6621,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gdbusconnection.c:6623,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusconnection.c:6628,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6630
      start: 6606
    functionDepth: 0
    functionLinenumber: 6606
    functionLinenumberEnd: 6630
    functionName: g_dbus_connection_call_finish_internal
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DBUS_CONNECTION
    - g_task_is_valid
    - g_task_get_task_data
    - g_object_ref
    - G_TASK
    - g_task_propagate_pointer
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_dbus_connection_call_finish_internal (GDBusConnection
      *connection, GUnixFDList **out_fd_list, GAsyncResult *res, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: call_destroy_notify_data_in_idle
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean call_destroy_notify_data_in_idle (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/gdbusconnection.c:4571,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4574
      start: 4568
    functionDepth: 0
    functionLinenumber: 4568
    functionLinenumberEnd: 4574
    functionName: exported_interface_ref
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_atomic_int_inc
    linkageType: ''
    returnType: ExportedInterface*
    signature: 'static ExportedInterface *exported_interface_ref (ExportedInterface
      *ei) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusconnection.c:5952,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusconnection.c:5955,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusconnection.c:5961,1
    - Dst: g_closure_invoke
      Src: /src/glib/gio/gdbusconnection.c:5978,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusconnection.c:5967,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusconnection.c:5983,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gdbusconnection.c:5953,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusconnection.c:5959,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusconnection.c:5965,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusconnection.c:5982,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gdbusconnection.c:5976,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusconnection.c:5986,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusconnection.c:5958,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusconnection.c:5964,1
    - Dst: g_value_init
      Src: /src/glib/gio/gdbusconnection.c:5970,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusconnection.c:5981,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusconnection.c:5985,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusconnection.c:5956,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gdbusconnection.c:5962,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusconnection.c:5980,1
    - Dst: g_value_set_variant
      Src: /src/glib/gio/gdbusconnection.c:5968,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/gdbusconnection.c:5978,1
    - Dst: g_value_unset
      Src: /src/glib/gio/gdbusconnection.c:5984,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 8
    argNames:
    - connection
    - sender
    - object_path
    - interface_name
    - method_name
    - parameters
    - invocation
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GVariant*
    - GDBusMethodInvocation*
    - gpointer
    constantsTouched: []
    func_position:
      end: 5987
      start: 5939
    functionDepth: 0
    functionLinenumber: 5939
    functionLinenumberEnd: 5987
    functionName: register_with_closures_on_method_call
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_value_set_string
    - G_N_ELEMENTS
    - g_closure_invoke
    - g_value_init
    - g_value_set_object
    - g_value_set_variant
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void register_with_closures_on_method_call (GDBusConnection
      *connection, const gchar *sender, const gchar *object_path, const gchar *interface_name,
      const gchar *method_name, GVariant *parameters, GDBusMethodInvocation *invocation,
      gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusconnection.c:1585,1
    - Dst: check_initialized
      Src: /src/glib/gio/gdbusconnection.c:1588,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:1585,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:1591,1
    - Dst: g_task_new
      Src: /src/glib/gio/gdbusconnection.c:1593,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gdbusconnection.c:1594,1
    - Dst: _g_dbus_worker_close
      Src: /src/glib/gio/gdbusconnection.c:1595,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:1596,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - connection
    - cancellable
    - callback
    - user_data
    argTypes:
    - GDBusConnection*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 1597
      start: 1577
    functionDepth: 0
    functionLinenumber: 1577
    functionLinenumberEnd: 1597
    functionName: g_dbus_connection_close
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_object_unref
    - g_return_if_fail
    - g_assert
    - G_IS_DBUS_CONNECTION
    - g_task_set_source_tag
    - _g_dbus_worker_close
    - check_initialized
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_connection_close (GDBusConnection *connection, GCancellable
      *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:4666,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusconnection.c:4674,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:4666,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusconnection.c:4674,1
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:4670,1
    - Dst: exported_interface_ref
      Src: /src/glib/gio/gdbusconnection.c:4678,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusconnection.c:4682,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusconnection.c:4682,1
    - Dst: exported_subtree_ref
      Src: /src/glib/gio/gdbusconnection.c:4686,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:4689,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 5
    argNames:
    - connection
    - registration_id
    - out_ei
    - subtree_registration_id
    - out_es
    argTypes:
    - GDBusConnection*
    - guint
    - ExportedInterface**
    - guint
    - ExportedSubtree**
    constantsTouched: []
    func_position:
      end: 4692
      start: 4655
    functionDepth: 0
    functionLinenumber: 4655
    functionLinenumberEnd: 4692
    functionName: has_object_been_unregistered
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - CONNECTION_LOCK
    - g_return_val_if_fail
    - G_IS_DBUS_CONNECTION
    - GUINT_TO_POINTER
    - g_hash_table_lookup
    - exported_interface_ref
    - CONNECTION_UNLOCK
    - exported_subtree_ref
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean has_object_been_unregistered (GDBusConnection *connection,
      guint registration_id, ExportedInterface **out_ei, guint subtree_registration_id,
      ExportedSubtree **out_es) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_message_get_path
      Src: /src/glib/gio/gdbusconnection.c:5509,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusconnection.c:5521,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusconnection.c:5529,1
    - Dst: g_dbus_message_get_member
      Src: /src/glib/gio/gdbusconnection.c:5511,1
    - Dst: g_object_set_data
      Src: /src/glib/gio/gdbusconnection.c:5522,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusconnection.c:5522,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gdbusconnection.c:5527,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gdbusconnection.c:5532,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gdbusconnection.c:5533,1
    - Dst: g_dbus_message_get_sender
      Src: /src/glib/gio/gdbusconnection.c:5508,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusconnection.c:5522,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusconnection.c:5523,1
    - Dst: g_idle_source_new
      Src: /src/glib/gio/gdbusconnection.c:5525,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gdbusconnection.c:5531,1
    - Dst: g_object_set_data
      Src: /src/glib/gio/gdbusconnection.c:5523,1
    - Dst: _g_dbus_method_invocation_new
      Src: /src/glib/gio/gdbusconnection.c:5508,1
    - Dst: g_dbus_message_get_interface
      Src: /src/glib/gio/gdbusconnection.c:5510,1
    - Dst: g_object_set_data
      Src: /src/glib/gio/gdbusconnection.c:5521,1
    - Dst: g_source_set_priority
      Src: /src/glib/gio/gdbusconnection.c:5526,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusconnection.c:5523,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 11
    argNames:
    - connection
    - message
    - registration_id
    - subtree_registration_id
    - interface_info
    - method_info
    - property_info
    - parameters
    - vtable
    - main_context
    - user_data
    argTypes:
    - GDBusConnection*
    - GDBusMessage*
    - guint
    - guint
    - GDBusInterfaceInfo*
    - GDBusMethodInfo*
    - GDBusPropertyInfo*
    - GVariant*
    - GDBusInterfaceVTable*
    - GMainContext*
    - gpointer
    constantsTouched: []
    func_position:
      end: 5534
      start: 5492
    functionDepth: 0
    functionLinenumber: 5492
    functionLinenumberEnd: 5534
    functionName: schedule_method_call
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_source_set_priority
    - g_source_set_callback
    - g_dbus_message_get_path
    - g_idle_source_new
    - g_source_attach
    - GUINT_TO_POINTER
    - _g_dbus_method_invocation_new
    - G_OBJECT
    - g_dbus_message_get_member
    - g_dbus_message_get_sender
    - g_object_set_data
    - g_dbus_message_get_interface
    - g_source_unref
    - g_source_set_static_name
    linkageType: ''
    returnType: void
    signature: 'static void schedule_method_call (GDBusConnection *connection, GDBusMessage
      *message, guint registration_id, guint subtree_registration_id, const GDBusInterfaceInfo
      *interface_info, const GDBusMethodInfo *method_info, const GDBusPropertyInfo
      *property_info, GVariant *parameters, const GDBusInterfaceVTable *vtable, GMainContext
      *main_context, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _g_dbus_initialize
      Src: /src/glib/gio/gdbusconnection.c:8074,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:8076,1
    - Dst: g_initable_init
      Src: /src/glib/gio/gdbusconnection.c:8082,1
    - Dst: get_uninitialized_connection
      Src: /src/glib/gio/gdbusconnection.c:8078,1
    - Dst: G_INITABLE
      Src: /src/glib/gio/gdbusconnection.c:8082,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:8084,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8090
      start: 8067
    functionDepth: 0
    functionLinenumber: 8067
    functionLinenumberEnd: 8090
    functionName: g_bus_get_sync
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_object_unref
    - get_uninitialized_connection
    - _g_dbus_initialize
    - G_INITABLE
    - g_initable_init
    linkageType: ''
    returnType: GDBusConnection*
    signature: 'GDBusConnection *g_bus_get_sync (GBusType bus_type, GCancellable *cancellable,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_object_data_new
      Src: /src/glib/gio/gdbusconnection.c:6252,1
    - Dst: g_dbus_connection_register_object
      Src: /src/glib/gio/gdbusconnection.c:6254,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbusconnection.c:6258,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 7
    argNames:
    - connection
    - object_path
    - interface_info
    - method_call_closure
    - get_property_closure
    - set_property_closure
    - error
    argTypes:
    - GDBusConnection*
    - gchar*
    - GDBusInterfaceInfo*
    - GClosure*
    - GClosure*
    - GClosure*
    - GError**
    constantsTouched: []
    func_position:
      end: 6261
      start: 6234
    functionDepth: 0
    functionLinenumber: 6234
    functionLinenumberEnd: 6261
    functionName: g_dbus_connection_register_object_with_closures2
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - register_object_data_new
    - g_dbus_connection_register_object
    linkageType: ''
    returnType: guint
    signature: 'guint g_dbus_connection_register_object_with_closures2 (GDBusConnection
      *connection, const gchar *object_path, GDBusInterfaceInfo *interface_info, GClosure
      *method_call_closure, GClosure *get_property_closure, GClosure *set_property_closure,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusconnection.c:7427,1
    - Dst: exported_subtree_unref
      Src: /src/glib/gio/gdbusconnection.c:7428,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:7429,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - SubtreeDeferredData*
    constantsTouched: []
    func_position:
      end: 7430
      start: 7424
    functionDepth: 0
    functionLinenumber: 7424
    functionLinenumberEnd: 7430
    functionName: subtree_deferred_data_free
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - g_free
    - exported_subtree_unref
    linkageType: ''
    returnType: void
    signature: 'static void subtree_deferred_data_free (SubtreeDeferredData *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:1291,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:1291,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/gdbusconnection.c:1293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - connection
    argTypes:
    - GDBusConnection*
    constantsTouched: []
    func_position:
      end: 1296
      start: 1286
    functionDepth: 0
    functionLinenumber: 1286
    functionLinenumberEnd: 1296
    functionName: g_dbus_connection_is_closed
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - G_IS_DBUS_CONNECTION
    - g_return_val_if_fail
    - g_atomic_int_get
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dbus_connection_is_closed (GDBusConnection *connection) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:4547,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusconnection.c:4548,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:4549,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - eo
    argTypes:
    - ExportedObject*
    constantsTouched: []
    func_position:
      end: 4550
      start: 4544
    functionDepth: 0
    functionLinenumber: 4544
    functionLinenumberEnd: 4550
    functionName: exported_object_free
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_free
    - g_hash_table_unref
    linkageType: ''
    returnType: void
    signature: 'static void exported_object_free (ExportedObject *eo) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:6664,1
    - Dst: G_IS_UNIX_FD_LIST
      Src: /src/glib/gio/gdbusconnection.c:6666,1
    - Dst: g_dbus_message_set_unix_fd_list
      Src: /src/glib/gio/gdbusconnection.c:6688,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusconnection.c:6694,1
    - Dst: _g_dbus_debug_call
      Src: /src/glib/gio/gdbusconnection.c:6722,1
    - Dst: _g_dbus_debug_print_unlock
      Src: /src/glib/gio/gdbusconnection.c:6740,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:6758,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:6659,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusconnection.c:6660,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:6661,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:6662,1
    - Dst: g_dbus_is_member_name
      Src: /src/glib/gio/gdbusconnection.c:6662,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:6670,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:6663,1
    - Dst: g_dbus_message_new_method_call
      Src: /src/glib/gio/gdbusconnection.c:6678,1
    - Dst: add_call_flags
      Src: /src/glib/gio/gdbusconnection.c:6682,1
    - Dst: _g_dbus_debug_call
      Src: /src/glib/gio/gdbusconnection.c:6691,1
    - Dst: g_dbus_connection_send_message_with_reply_sync
      Src: /src/glib/gio/gdbusconnection.c:6714,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:6658,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:6666,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:6668,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusconnection.c:6664,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/gdbusconnection.c:6684,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusconnection.c:6722,1
    - Dst: _g_dbus_debug_print_lock
      Src: /src/glib/gio/gdbusconnection.c:6724,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusconnection.c:6733,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusconnection.c:6737,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbusconnection.c:6748,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:6756,1
    - Dst: _g_dbus_debug_print_unlock
      Src: /src/glib/gio/gdbusconnection.c:6703,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:6658,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:6660,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbusconnection.c:6659,1
    - Dst: g_dbus_is_interface_name
      Src: /src/glib/gio/gdbusconnection.c:6661,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:6673,1
    - Dst: check_initialized
      Src: /src/glib/gio/gdbusconnection.c:6673,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusconnection.c:6691,1
    - Dst: _g_dbus_debug_print_lock
      Src: /src/glib/gio/gdbusconnection.c:6693,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusconnection.c:6725,1
    - Dst: decode_method_reply
      Src: /src/glib/gio/gdbusconnection.c:6752,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 88
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6761
      start: 6633
    functionDepth: 0
    functionLinenumber: 6633
    functionLinenumberEnd: 6761
    functionName: g_dbus_connection_call_sync_internal
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_dbus_message_new_method_call
    - g_dbus_message_set_unix_fd_list
    - _g_dbus_debug_print_lock
    - g_dbus_message_set_body
    - G_UNLIKELY
    - g_dbus_is_member_name
    - check_initialized
    - g_variant_is_object_path
    - g_object_unref
    - g_variant_is_of_type
    - add_call_flags
    - g_dbus_is_interface_name
    - G_IS_UNIX_FD_LIST
    - g_error_free
    - g_print
    - _g_dbus_debug_print_unlock
    - G_IS_DBUS_CONNECTION
    - decode_method_reply
    - _g_dbus_debug_call
    - g_return_val_if_fail
    - g_dbus_connection_send_message_with_reply_sync
    - g_dbus_is_name
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_dbus_connection_call_sync_internal (GDBusConnection
      *connection, const gchar *bus_name, const gchar *object_path, const gchar *interface_name,
      const gchar *method_name, GVariant *parameters, const GVariantType *reply_type,
      GDBusCallFlags flags, gint timeout_msec, GUnixFDList *fd_list, GUnixFDList **out_fd_list,
      GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_ref_count_dec
      Src: /src/glib/gio/gdbusconnection.c:311,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:322,1
    - Dst: call_destroy_notify
      Src: /src/glib/gio/gdbusconnection.c:317,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/gdbusconnection.c:321,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - subscriber
    argTypes:
    - SignalSubscriber*
    constantsTouched: []
    func_position:
      end: 324
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 324
    functionName: signal_subscriber_unref
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_free
    - g_main_context_unref
    - call_destroy_notify
    - g_atomic_ref_count_dec
    linkageType: ''
    returnType: void
    signature: 'static void signal_subscriber_unref (SignalSubscriber *subscriber) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/gdbusconnection.c:1918,1
    - Dst: g_source_destroy
      Src: /src/glib/gio/gdbusconnection.c:1929,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gdbusconnection.c:1919,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusconnection.c:1923,1
    - Dst: CONNECTION_ENSURE_LOCK
      Src: /src/glib/gio/gdbusconnection.c:1921,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdbusconnection.c:1930,1
    - Dst: g_cancellable_disconnect
      Src: /src/glib/gio/gdbusconnection.c:1934,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gdbusconnection.c:1934,1
    - Dst: g_source_destroy
      Src: /src/glib/gio/gdbusconnection.c:1939,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdbusconnection.c:1940,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gdbusconnection.c:1946,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusconnection.c:1945,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdbusconnection.c:1947,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - task
    - remove
    argTypes:
    - GTask*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1949
      start: 1915
    functionDepth: 0
    functionLinenumber: 1915
    functionLinenumberEnd: 1949
    functionName: send_message_with_reply_cleanup
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_warn_if_fail
    - g_hash_table_remove
    - g_assert
    - CONNECTION_ENSURE_LOCK
    - g_source_destroy
    - g_cancellable_disconnect
    - g_task_get_cancellable
    - GUINT_TO_POINTER
    - g_task_get_source_object
    - g_clear_pointer
    - g_task_get_task_data
    linkageType: ''
    returnType: void
    signature: 'static void send_message_with_reply_cleanup (GTask *task, gboolean
      remove) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/gdbusconnection.c:1978,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:1984,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gdbusconnection.c:1979,1
    - Dst: CONNECTION_LOCK
      Src: /src/glib/gio/gdbusconnection.c:1981,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusconnection.c:1990,1
    - Dst: send_message_with_reply_cleanup
      Src: /src/glib/gio/gdbusconnection.c:1992,1
    - Dst: CONNECTION_UNLOCK
      Src: /src/glib/gio/gdbusconnection.c:1993,1
    - Dst: g_task_return_new_error_literal
      Src: /src/glib/gio/gdbusconnection.c:1995,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:1996,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - task
    - domain
    - code
    - message
    argTypes:
    - GTask*
    - GQuark
    - gint
    - char*
    constantsTouched: []
    func_position:
      end: 1997
      start: 1972
    functionDepth: 0
    functionLinenumber: 1972
    functionLinenumberEnd: 1997
    functionName: send_message_data_deliver_error
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - CONNECTION_LOCK
    - g_object_unref
    - g_task_return_new_error_literal
    - g_task_get_source_object
    - send_message_with_reply_cleanup
    - CONNECTION_UNLOCK
    - g_task_get_task_data
    - g_object_ref
    linkageType: ''
    returnType: void
    signature: 'static void send_message_data_deliver_error (GTask *task, GQuark domain,
      gint code, const char *message) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbusconnection.c:4222,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:4223,1
    - Dst: signal_subscriber_unref
      Src: /src/glib/gio/gdbusconnection.c:4224,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusconnection.c:4225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - signal_instance
    argTypes:
    - SignalInstance*
    constantsTouched: []
    func_position:
      end: 4226
      start: 4219
    functionDepth: 0
    functionLinenumber: 4219
    functionLinenumberEnd: 4226
    functionName: signal_instance_free
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - signal_subscriber_unref
    - g_clear_object
    - g_free
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void signal_instance_free (SignalInstance *signal_instance) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CONNECTION_ENSURE_LOCK
      Src: /src/glib/gio/gdbusconnection.c:7749,1
    - Dst: g_dbus_message_get_path
      Src: /src/glib/gio/gdbusconnection.c:7756,1
    - Dst: g_dbus_message_get_interface
      Src: /src/glib/gio/gdbusconnection.c:7753,1
    - Dst: g_dbus_message_get_member
      Src: /src/glib/gio/gdbusconnection.c:7754,1
    - Dst: g_dbus_message_get_signature
      Src: /src/glib/gio/gdbusconnection.c:7755,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:7758,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:7759,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:7760,1
    - Dst: handle_generic_introspect_unlocked
      Src: /src/glib/gio/gdbusconnection.c:7762,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:7765,1
    - Dst: handle_generic_get_machine_id_unlocked
      Src: /src/glib/gio/gdbusconnection.c:7776,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:7766,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:7767,1
    - Dst: handle_generic_ping_unlocked
      Src: /src/glib/gio/gdbusconnection.c:7769,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:7773,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:7774,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusconnection.c:7772,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 2
    argNames:
    - connection
    - message
    argTypes:
    - GDBusConnection*
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 7781
      start: 7739
    functionDepth: 0
    functionLinenumber: 7739
    functionLinenumberEnd: 7781
    functionName: handle_generic_unlocked
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - handle_generic_ping_unlocked
    - g_dbus_message_get_path
    - handle_generic_get_machine_id_unlocked
    - CONNECTION_ENSURE_LOCK
    - g_dbus_message_get_member
    - g_strcmp0
    - g_dbus_message_get_interface
    - g_dbus_message_get_signature
    - handle_generic_introspect_unlocked
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean handle_generic_unlocked (GDBusConnection *connection,
      GDBusMessage *message) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/gio/gdbusconnection.c:4235,1
    - Dst: memcmp
      Src: /src/glib/gio/gdbusconnection.c:4241,1
    - Dst: strlen
      Src: /src/glib/gio/gdbusconnection.c:4236,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - namespace
    - name
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 4245
      start: 4228
    functionDepth: 0
    functionLinenumber: 4228
    functionLinenumberEnd: 4245
    functionName: namespace_rule_matches
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - strlen
    - memcmp
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean namespace_rule_matches (const gchar *namespace, const
      gchar *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusconnection.c:5318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - GString*
    constantsTouched: []
    func_position:
      end: 5319
      start: 5315
    functionDepth: 0
    functionLinenumber: 5315
    functionLinenumberEnd: 5319
    functionName: introspect_append_header
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_string_append
    linkageType: ''
    returnType: void
    signature: 'static void introspect_append_header (GString *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/gio/gdbusconnection.c:7722,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gdbusconnection.c:7728,1
    - Dst: g_dbus_connection_list_registered_unlocked
      Src: /src/glib/gio/gdbusconnection.c:7725,1
    - Dst: introspect_append_header
      Src: /src/glib/gio/gdbusconnection.c:7723,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gdbusconnection.c:7727,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbusconnection.c:7729,1
    - Dst: g_dbus_message_new_method_reply
      Src: /src/glib/gio/gdbusconnection.c:7731,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/gdbusconnection.c:7732,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbusconnection.c:7732,1
    - Dst: g_dbus_connection_send_message_unlocked
      Src: /src/glib/gio/gdbusconnection.c:7733,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbusconnection.c:7735,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:7734,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - connection
    - object_path
    - message
    argTypes:
    - GDBusConnection*
    - gchar*
    - GDBusMessage*
    constantsTouched: []
    func_position:
      end: 7736
      start: 7711
    functionDepth: 0
    functionLinenumber: 7711
    functionLinenumberEnd: 7736
    functionName: handle_generic_introspect_unlocked
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_list_registered_unlocked
    - g_object_unref
    - introspect_append_header
    - g_dbus_message_set_body
    - g_strfreev
    - g_dbus_message_new_method_reply
    - g_dbus_connection_send_message_unlocked
    - g_variant_new
    - g_string_free
    - g_string_new
    - g_string_append_printf
    - g_string_append
    linkageType: ''
    returnType: void
    signature: 'static void handle_generic_introspect_unlocked (GDBusConnection *connection,
      const gchar *object_path, GDBusMessage *message) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:6304,1
    - Dst: G_IS_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusconnection.c:6304,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbusconnection.c:6305,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:6306,1
    - Dst: g_dbus_is_interface_name
      Src: /src/glib/gio/gdbusconnection.c:6307,1
    - Dst: g_print
      Src: /src/glib/gio/gdbusconnection.c:6315,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusconnection.c:6309,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/gdbusconnection.c:6336,1
    - Dst: g_dbus_connection_send_message
      Src: /src/glib/gio/gdbusconnection.c:6338,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:6305,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbusconnection.c:6306,1
    - Dst: _g_dbus_debug_print_unlock
      Src: /src/glib/gio/gdbusconnection.c:6323,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:6310,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusconnection.c:6339,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:6308,1
    - Dst: _g_dbus_debug_print_lock
      Src: /src/glib/gio/gdbusconnection.c:6314,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbusconnection.c:6312,1
    - Dst: _g_dbus_debug_emission
      Src: /src/glib/gio/gdbusconnection.c:6312,1
    - Dst: g_dbus_message_new_signal
      Src: /src/glib/gio/gdbusconnection.c:6326,1
    - Dst: g_dbus_message_set_header
      Src: /src/glib/gio/gdbusconnection.c:6331,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gdbusconnection.c:6333,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:6307,1
    - Dst: g_dbus_is_member_name
      Src: /src/glib/gio/gdbusconnection.c:6308,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusconnection.c:6309,1
    - Dst: check_initialized
      Src: /src/glib/gio/gdbusconnection.c:6310,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 44
    argCount: 7
    argNames:
    - connection
    - destination_bus_name
    - object_path
    - interface_name
    - signal_name
    - parameters
    - error
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GVariant*
    - GError**
    constantsTouched: []
    func_position:
      end: 6342
      start: 6289
    functionDepth: 0
    functionLinenumber: 6289
    functionLinenumberEnd: 6342
    functionName: g_dbus_connection_emit_signal
    functionSourceFile: /src/glib/gio/gdbusconnection.c
    functionUses: []
    functionsReached:
    - _g_dbus_debug_print_lock
    - g_dbus_message_set_body
    - G_UNLIKELY
    - g_dbus_is_member_name
    - check_initialized
    - g_variant_is_object_path
    - g_object_unref
    - g_variant_is_of_type
    - g_dbus_is_interface_name
    - g_dbus_connection_send_message
    - g_print
    - _g_dbus_debug_print_unlock
    - g_dbus_message_new_signal
    - G_IS_DBUS_CONNECTION
    - g_dbus_message_set_header
    - g_return_val_if_fail
    - g_variant_new_string
    - _g_dbus_debug_emission
    - g_dbus_is_name
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_dbus_connection_emit_signal (GDBusConnection *connection,
      const gchar *destination_bus_name, const gchar *object_path, const gchar *interface_name,
      const gchar *signal_name, GVariant *parameters, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_AUTH_MECHANISM
      Src: /src/glib/gio/gdbusauthmechanism.c:94,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/gdbusauthmechanism.c:99,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gdbusauthmechanism.c:107,1
    - Dst: g_value_dup_object
      Src: /src/glib/gio/gdbusauthmechanism.c:103,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 110
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 110
    functionName: _g_dbus_auth_mechanism_set_property
    functionSourceFile: /src/glib/gio/gdbusauthmechanism.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_dup_object
    - G_DBUS_AUTH_MECHANISM
    linkageType: ''
    returnType: void
    signature: 'static void _g_dbus_auth_mechanism_set_property (GObject *object,
      guint prop_id, const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanism.c:225,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM
      Src: /src/glib/gio/gdbusauthmechanism.c:225,1
    - Dst: G_DBUS_AUTH_MECHANISM_GET_CLASS
      Src: /src/glib/gio/gdbusauthmechanism.c:226,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 227
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 227
    functionName: _g_dbus_auth_mechanism_encode_data
    functionSourceFile: /src/glib/gio/gdbusauthmechanism.c
    functionUses: []
    functionsReached:
    - G_DBUS_AUTH_MECHANISM_GET_CLASS
    - g_return_val_if_fail
    - G_IS_DBUS_AUTH_MECHANISM
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *_g_dbus_auth_mechanism_encode_data (GDBusAuthMechanism *mechanism,
      const gchar *data, gsize data_len, gsize *out_data_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanism.c:263,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM
      Src: /src/glib/gio/gdbusauthmechanism.c:263,1
    - Dst: G_DBUS_AUTH_MECHANISM_GET_CLASS
      Src: /src/glib/gio/gdbusauthmechanism.c:264,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - mechanism
    - data
    - data_len
    argTypes:
    - GDBusAuthMechanism*
    - gchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 265
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 265
    functionName: _g_dbus_auth_mechanism_server_data_receive
    functionSourceFile: /src/glib/gio/gdbusauthmechanism.c
    functionUses: []
    functionsReached:
    - G_DBUS_AUTH_MECHANISM_GET_CLASS
    - G_IS_DBUS_AUTH_MECHANISM
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void _g_dbus_auth_mechanism_server_data_receive (GDBusAuthMechanism
      *mechanism, const gchar *data, gsize data_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanism.c:294,1
    - Dst: G_DBUS_AUTH_MECHANISM_GET_CLASS
      Src: /src/glib/gio/gdbusauthmechanism.c:295,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM
      Src: /src/glib/gio/gdbusauthmechanism.c:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - mechanism
    argTypes:
    - GDBusAuthMechanism*
    constantsTouched: []
    func_position:
      end: 296
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 296
    functionName: _g_dbus_auth_mechanism_client_get_state
    functionSourceFile: /src/glib/gio/gdbusauthmechanism.c
    functionUses: []
    functionsReached:
    - G_DBUS_AUTH_MECHANISM_GET_CLASS
    - g_return_val_if_fail
    - G_IS_DBUS_AUTH_MECHANISM
    linkageType: ''
    returnType: GDBusAuthMechanismState
    signature: 'GDBusAuthMechanismState _g_dbus_auth_mechanism_client_get_state (GDBusAuthMechanism
      *mechanism) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusauthmechanism.c:117,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusauthmechanism.c:142,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdbusauthmechanism.c:122,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gdbusauthmechanism.c:144,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gdbusauthmechanism.c:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GDBusAuthMechanismClass*
    constantsTouched: []
    func_position:
      end: 152
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 152
    functionName: _g_dbus_auth_mechanism_class_init
    functionSourceFile: /src/glib/gio/gdbusauthmechanism.c
    functionUses: []
    functionsReached:
    - g_param_spec_object
    - g_object_class_install_property
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void _g_dbus_auth_mechanism_class_init (GDBusAuthMechanismClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanism.c:236,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM
      Src: /src/glib/gio/gdbusauthmechanism.c:236,1
    - Dst: G_DBUS_AUTH_MECHANISM_GET_CLASS
      Src: /src/glib/gio/gdbusauthmechanism.c:237,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 238
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 238
    functionName: _g_dbus_auth_mechanism_decode_data
    functionSourceFile: /src/glib/gio/gdbusauthmechanism.c
    functionUses: []
    functionsReached:
    - G_DBUS_AUTH_MECHANISM_GET_CLASS
    - g_return_val_if_fail
    - G_IS_DBUS_AUTH_MECHANISM
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *_g_dbus_auth_mechanism_decode_data (GDBusAuthMechanism *mechanism,
      const gchar *data, gsize data_len, gsize *out_data_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanism.c:271,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM
      Src: /src/glib/gio/gdbusauthmechanism.c:271,1
    - Dst: G_DBUS_AUTH_MECHANISM_GET_CLASS
      Src: /src/glib/gio/gdbusauthmechanism.c:272,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 273
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 273
    functionName: _g_dbus_auth_mechanism_server_data_send
    functionSourceFile: /src/glib/gio/gdbusauthmechanism.c
    functionUses: []
    functionsReached:
    - G_DBUS_AUTH_MECHANISM_GET_CLASS
    - g_return_val_if_fail
    - G_IS_DBUS_AUTH_MECHANISM
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *_g_dbus_auth_mechanism_server_data_send (GDBusAuthMechanism
      *mechanism, gsize *out_data_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanism.c:303,1
    - Dst: G_DBUS_AUTH_MECHANISM_GET_CLASS
      Src: /src/glib/gio/gdbusauthmechanism.c:304,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM
      Src: /src/glib/gio/gdbusauthmechanism.c:303,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 307
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 307
    functionName: _g_dbus_auth_mechanism_client_initiate
    functionSourceFile: /src/glib/gio/gdbusauthmechanism.c
    functionUses: []
    functionsReached:
    - G_DBUS_AUTH_MECHANISM_GET_CLASS
    - g_return_val_if_fail
    - G_IS_DBUS_AUTH_MECHANISM
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *_g_dbus_auth_mechanism_client_initiate (GDBusAuthMechanism
      *mechanism, GDBusConnectionFlags conn_flags, gsize *out_initial_response_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_AUTH_MECHANISM
      Src: /src/glib/gio/gdbusauthmechanism.c:54,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusauthmechanism.c:57,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusauthmechanism.c:59,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusauthmechanism.c:61,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 62
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 62
    functionName: _g_dbus_auth_mechanism_finalize
    functionSourceFile: /src/glib/gio/gdbusauthmechanism.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - G_DBUS_AUTH_MECHANISM
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void _g_dbus_auth_mechanism_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanism.c:184,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/gdbusauthmechanism.c:184,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusauthmechanism.c:187,1
    - Dst: g_type_class_ref
      Src: /src/glib/gio/gdbusauthmechanism.c:186,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 192
    functionName: _g_dbus_auth_mechanism_get_name
    functionSourceFile: /src/glib/gio/gdbusauthmechanism.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_return_val_if_fail
    - g_type_class_ref
    - g_type_is_a
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *_g_dbus_auth_mechanism_get_name (GType mechanism_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanism.c:245,1
    - Dst: G_DBUS_AUTH_MECHANISM_GET_CLASS
      Src: /src/glib/gio/gdbusauthmechanism.c:246,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM
      Src: /src/glib/gio/gdbusauthmechanism.c:245,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - mechanism
    argTypes:
    - GDBusAuthMechanism*
    constantsTouched: []
    func_position:
      end: 247
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 247
    functionName: _g_dbus_auth_mechanism_server_get_state
    functionSourceFile: /src/glib/gio/gdbusauthmechanism.c
    functionUses: []
    functionsReached:
    - G_DBUS_AUTH_MECHANISM_GET_CLASS
    - g_return_val_if_fail
    - G_IS_DBUS_AUTH_MECHANISM
    linkageType: ''
    returnType: GDBusAuthMechanismState
    signature: 'GDBusAuthMechanismState _g_dbus_auth_mechanism_server_get_state (GDBusAuthMechanism
      *mechanism) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_AUTH_MECHANISM
      Src: /src/glib/gio/gdbusauthmechanism.c:70,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gdbusauthmechanism.c:75,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gdbusauthmechanism.c:79,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gdbusauthmechanism.c:83,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 86
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 86
    functionName: _g_dbus_auth_mechanism_get_property
    functionSourceFile: /src/glib/gio/gdbusauthmechanism.c
    functionUses: []
    functionsReached:
    - g_value_set_object
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_DBUS_AUTH_MECHANISM
    linkageType: ''
    returnType: void
    signature: 'static void _g_dbus_auth_mechanism_get_property (GObject *object,
      guint prop_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanism.c:254,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM
      Src: /src/glib/gio/gdbusauthmechanism.c:254,1
    - Dst: G_DBUS_AUTH_MECHANISM_GET_CLASS
      Src: /src/glib/gio/gdbusauthmechanism.c:255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - mechanism
    - initial_response
    - initial_response_len
    argTypes:
    - GDBusAuthMechanism*
    - gchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 256
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 256
    functionName: _g_dbus_auth_mechanism_server_initiate
    functionSourceFile: /src/glib/gio/gdbusauthmechanism.c
    functionUses: []
    functionsReached:
    - G_DBUS_AUTH_MECHANISM_GET_CLASS
    - G_IS_DBUS_AUTH_MECHANISM
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void _g_dbus_auth_mechanism_server_initiate (GDBusAuthMechanism *mechanism,
      const gchar *initial_response, gsize initial_response_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanism.c:329,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM
      Src: /src/glib/gio/gdbusauthmechanism.c:329,1
    - Dst: G_DBUS_AUTH_MECHANISM_GET_CLASS
      Src: /src/glib/gio/gdbusauthmechanism.c:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - mechanism
    argTypes:
    - GDBusAuthMechanism*
    constantsTouched: []
    func_position:
      end: 331
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 331
    functionName: _g_dbus_auth_mechanism_client_shutdown
    functionSourceFile: /src/glib/gio/gdbusauthmechanism.c
    functionUses: []
    functionsReached:
    - G_DBUS_AUTH_MECHANISM_GET_CLASS
    - G_IS_DBUS_AUTH_MECHANISM
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void _g_dbus_auth_mechanism_client_shutdown (GDBusAuthMechanism *mechanism) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanism.c:165,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM
      Src: /src/glib/gio/gdbusauthmechanism.c:165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 167
    functionName: _g_dbus_auth_mechanism_get_stream
    functionSourceFile: /src/glib/gio/gdbusauthmechanism.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DBUS_AUTH_MECHANISM
    linkageType: ''
    returnType: GIOStream*
    signature: 'GIOStream *_g_dbus_auth_mechanism_get_stream (GDBusAuthMechanism *mechanism) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanism.c:172,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM
      Src: /src/glib/gio/gdbusauthmechanism.c:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 174
    functionName: _g_dbus_auth_mechanism_get_credentials
    functionSourceFile: /src/glib/gio/gdbusauthmechanism.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DBUS_AUTH_MECHANISM
    linkageType: ''
    returnType: GCredentials*
    signature: 'GCredentials *_g_dbus_auth_mechanism_get_credentials (GDBusAuthMechanism
      *mechanism) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanism.c:215,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM
      Src: /src/glib/gio/gdbusauthmechanism.c:215,1
    - Dst: G_DBUS_AUTH_MECHANISM_GET_CLASS
      Src: /src/glib/gio/gdbusauthmechanism.c:216,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - mechanism
    argTypes:
    - GDBusAuthMechanism*
    constantsTouched: []
    func_position:
      end: 217
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 217
    functionName: _g_dbus_auth_mechanism_is_supported
    functionSourceFile: /src/glib/gio/gdbusauthmechanism.c
    functionUses: []
    functionsReached:
    - G_DBUS_AUTH_MECHANISM_GET_CLASS
    - g_return_val_if_fail
    - G_IS_DBUS_AUTH_MECHANISM
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _g_dbus_auth_mechanism_is_supported (GDBusAuthMechanism *mechanism) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_dbus_auth_mechanism_get_instance_private
      Src: /src/glib/gio/gdbusauthmechanism.c:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - mechanism
    argTypes:
    - GDBusAuthMechanism*
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: _g_dbus_auth_mechanism_init
    functionSourceFile: /src/glib/gio/gdbusauthmechanism.c
    functionUses: []
    functionsReached:
    - _g_dbus_auth_mechanism_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void _g_dbus_auth_mechanism_init (GDBusAuthMechanism *mechanism) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanism.c:200,1
    - Dst: g_type_class_ref
      Src: /src/glib/gio/gdbusauthmechanism.c:202,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusauthmechanism.c:203,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/gdbusauthmechanism.c:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - mechanism_type
    argTypes:
    - GType
    constantsTouched: []
    func_position:
      end: 208
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 208
    functionName: _g_dbus_auth_mechanism_get_priority
    functionSourceFile: /src/glib/gio/gdbusauthmechanism.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_return_val_if_fail
    - g_type_class_ref
    - g_type_is_a
    linkageType: ''
    returnType: gint
    signature: 'gint _g_dbus_auth_mechanism_get_priority (GType mechanism_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanism.c:314,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM
      Src: /src/glib/gio/gdbusauthmechanism.c:314,1
    - Dst: G_DBUS_AUTH_MECHANISM_GET_CLASS
      Src: /src/glib/gio/gdbusauthmechanism.c:315,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - mechanism
    - data
    - data_len
    argTypes:
    - GDBusAuthMechanism*
    - gchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 316
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 316
    functionName: _g_dbus_auth_mechanism_client_data_receive
    functionSourceFile: /src/glib/gio/gdbusauthmechanism.c
    functionUses: []
    functionsReached:
    - G_DBUS_AUTH_MECHANISM_GET_CLASS
    - G_IS_DBUS_AUTH_MECHANISM
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void _g_dbus_auth_mechanism_client_data_receive (GDBusAuthMechanism
      *mechanism, const gchar *data, gsize data_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanism.c:322,1
    - Dst: G_DBUS_AUTH_MECHANISM_GET_CLASS
      Src: /src/glib/gio/gdbusauthmechanism.c:323,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM
      Src: /src/glib/gio/gdbusauthmechanism.c:322,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 324
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 324
    functionName: _g_dbus_auth_mechanism_client_data_send
    functionSourceFile: /src/glib/gio/gdbusauthmechanism.c
    functionUses: []
    functionsReached:
    - G_DBUS_AUTH_MECHANISM_GET_CLASS
    - g_return_val_if_fail
    - G_IS_DBUS_AUTH_MECHANISM
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *_g_dbus_auth_mechanism_client_data_send (GDBusAuthMechanism
      *mechanism, gsize *out_data_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusauthmechanism.c:278,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM
      Src: /src/glib/gio/gdbusauthmechanism.c:278,1
    - Dst: G_DBUS_AUTH_MECHANISM_GET_CLASS
      Src: /src/glib/gio/gdbusauthmechanism.c:279,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 280
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 280
    functionName: _g_dbus_auth_mechanism_server_get_reject_reason
    functionSourceFile: /src/glib/gio/gdbusauthmechanism.c
    functionUses: []
    functionsReached:
    - G_DBUS_AUTH_MECHANISM_GET_CLASS
    - g_return_val_if_fail
    - G_IS_DBUS_AUTH_MECHANISM
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *_g_dbus_auth_mechanism_server_get_reject_reason (GDBusAuthMechanism
      *mechanism) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusauthmechanism.c:285,1
    - Dst: G_DBUS_AUTH_MECHANISM_GET_CLASS
      Src: /src/glib/gio/gdbusauthmechanism.c:286,1
    - Dst: G_IS_DBUS_AUTH_MECHANISM
      Src: /src/glib/gio/gdbusauthmechanism.c:285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - mechanism
    argTypes:
    - GDBusAuthMechanism*
    constantsTouched: []
    func_position:
      end: 287
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 287
    functionName: _g_dbus_auth_mechanism_server_shutdown
    functionSourceFile: /src/glib/gio/gdbusauthmechanism.c
    functionUses: []
    functionsReached:
    - G_DBUS_AUTH_MECHANISM_GET_CLASS
    - G_IS_DBUS_AUTH_MECHANISM
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void _g_dbus_auth_mechanism_server_shutdown (GDBusAuthMechanism *mechanism) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gio-tool-remove.c:49,1
    - Dst: g_option_context_set_help_enabled
      Src: /src/glib/gio/gio-tool-remove.c:52,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-remove.c:53,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-remove.c:65,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-remove.c:73,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-remove.c:74,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/gio-tool-remove.c:83,1
    - Dst: g_option_context_new
      Src: /src/glib/gio/gio-tool-remove.c:50,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-remove.c:66,1
    - Dst: g_file_delete
      Src: /src/glib/gio/gio-tool-remove.c:84,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-remove.c:94,1
    - Dst: g_set_prgname
      Src: /src/glib/gio/gio-tool-remove.c:46,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-remove.c:51,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-remove.c:58,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-remove.c:67,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gio-tool-remove.c:92,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-remove.c:49,1
    - Dst: g_option_context_set_summary
      Src: /src/glib/gio/gio-tool-remove.c:53,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/gio/gio-tool-remove.c:54,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/gio-tool-remove.c:63,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-remove.c:73,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-remove.c:78,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-remove.c:59,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gio-tool-remove.c:87,1
    - Dst: print_file_error
      Src: /src/glib/gio/gio-tool-remove.c:89,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 3
    argNames:
    - argc
    - argv
    - do_help
    argTypes:
    - int
    - char*
    - gboolean
    constantsTouched: []
    func_position:
      end: 98
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 98
    functionName: handle_remove
    functionSourceFile: /src/glib/gio/gio-tool-remove.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_strdup_printf
    - g_option_context_free
    - g_object_unref
    - g_option_context_new
    - g_option_context_set_summary
    - print_file_error
    - g_set_prgname
    - g_file_delete
    - show_help
    - g_error_matches
    - g_file_new_for_commandline_arg
    - g_error_free
    - g_option_context_set_help_enabled
    - g_option_context_parse
    - _
    - g_option_context_add_main_entries
    - g_free
    linkageType: ''
    returnType: int
    signature: 'int handle_remove (int argc, char *argv[], gboolean do_help) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_KEYFILE_SETTINGS_BACKEND
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:457,1
    - Dst: path_is_valid
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:461,1
    - Dst: g_hash_table_contains
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:460,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - backend
    - name
    argTypes:
    - GSettingsBackend*
    - gchar*
    constantsTouched: []
    func_position:
      end: 462
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 462
    functionName: g_keyfile_settings_backend_get_writable
    functionSourceFile: /src/glib/gio/gkeyfilesettingsbackend.c
    functionUses: []
    functionsReached:
    - path_is_valid
    - G_KEYFILE_SETTINGS_BACKEND
    - g_hash_table_contains
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_keyfile_settings_backend_get_writable (GSettingsBackend
      *backend, const gchar *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_file_query_info
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:581,1
    - Dst: g_file_info_get_attribute_boolean
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:587,1
    - Dst: g_file_info_get_attribute_boolean
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:586,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:588,1
    - Dst: g_settings_backend_path_writable_changed
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:596,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - kfsb
    argTypes:
    - GKeyfileSettingsBackend*
    constantsTouched: []
    func_position:
      end: 598
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 598
    functionName: g_keyfile_settings_backend_keyfile_writable
    functionSourceFile: /src/glib/gio/gkeyfilesettingsbackend.c
    functionUses: []
    functionsReached:
    - g_settings_backend_path_writable_changed
    - g_file_query_info
    - g_file_info_get_attribute_boolean
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void g_keyfile_settings_backend_keyfile_writable (GKeyfileSettingsBackend
      *kfsb) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_keyfile_settings_backend_keyfile_writable
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:659,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - monitor
    - file
    - other_file
    - event_type
    - user_data
    argTypes:
    - GFileMonitor*
    - GFile*
    - GFile*
    - GFileMonitorEvent
    - gpointer
    constantsTouched: []
    func_position:
      end: 660
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 660
    functionName: dir_changed
    functionSourceFile: /src/glib/gio/gkeyfilesettingsbackend.c
    functionUses: []
    functionsReached:
    - g_keyfile_settings_backend_keyfile_writable
    linkageType: ''
    returnType: void
    signature: 'static void dir_changed (GFileMonitor *monitor, GFile *file, GFile
      *other_file, GFileMonitorEvent event_type, gpointer user_data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:749,1
    - Dst: g_file_get_parent
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:756,1
    - Dst: g_warning
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:764,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:765,1
    - Dst: g_warning
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:759,1
    - Dst: g_file_monitor
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:773,1
    - Dst: g_file_peek_path
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:776,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:781,1
    - Dst: g_keyfile_settings_backend_keyfile_reload
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:788,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:743,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:758,1
    - Dst: g_warning
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:776,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:777,1
    - Dst: load_system_settings
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:790,1
    - Dst: G_KEYFILE_SETTINGS_BACKEND
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:734,1
    - Dst: g_build_filename
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:740,1
    - Dst: g_free
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:744,1
    - Dst: g_simple_permission_new
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:754,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:770,1
    - Dst: g_strerror
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:759,1
    - Dst: g_get_user_config_dir
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:740,1
    - Dst: g_key_file_new
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:753,1
    - Dst: g_file_peek_path
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:757,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:769,1
    - Dst: g_file_monitor
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:761,1
    - Dst: g_file_peek_path
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:764,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:782,1
    - Dst: compute_checksum
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:785,1
    - Dst: g_keyfile_settings_backend_keyfile_writable
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:787,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 791
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 791
    functionName: g_keyfile_settings_backend_constructed
    functionSourceFile: /src/glib/gio/gkeyfilesettingsbackend.c
    functionUses: []
    functionsReached:
    - g_strerror
    - g_get_user_config_dir
    - g_file_peek_path
    - g_signal_connect
    - compute_checksum
    - g_warning
    - g_mkdir_with_parents
    - g_build_filename
    - g_file_get_parent
    - g_simple_permission_new
    - g_file_new_for_path
    - g_key_file_new
    - g_strdup
    - load_system_settings
    - g_file_monitor
    - G_KEYFILE_SETTINGS_BACKEND
    - g_clear_error
    - G_CALLBACK
    - g_keyfile_settings_backend_keyfile_reload
    - g_keyfile_settings_backend_keyfile_writable
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void g_keyfile_settings_backend_constructed (GObject *object) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_KEYFILE_SETTINGS_BACKEND
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:844,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:853,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:857,1
    - Dst: g_file_peek_path
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:849,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:849,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:861,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:865,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 9
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 868
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 868
    functionName: g_keyfile_settings_backend_get_property
    functionSourceFile: /src/glib/gio/gkeyfilesettingsbackend.c
    functionUses: []
    functionsReached:
    - g_value_set_string
    - g_file_peek_path
    - G_KEYFILE_SETTINGS_BACKEND
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: 'static void g_keyfile_settings_backend_get_property (GObject *object,
      guint prop_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_KEYFILE_SETTINGS_BACKEND
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:468,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:470,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 471
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 471
    functionName: g_keyfile_settings_backend_get_permission
    functionSourceFile: /src/glib/gio/gkeyfilesettingsbackend.c
    functionUses: []
    functionsReached:
    - G_KEYFILE_SETTINGS_BACKEND
    - g_object_ref
    linkageType: ''
    returnType: GPermission*
    signature: 'static GPermission *g_keyfile_settings_backend_get_permission (GSettingsBackend
      *backend, const gchar *path) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_KEYFILE_SETTINGS_BACKEND
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:603,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:608,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:606,1
    - Dst: g_key_file_unref
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:607,1
    - Dst: g_key_file_free
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:605,1
    - Dst: g_free
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:609,1
    - Dst: g_file_monitor_cancel
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:613,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:614,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:616,1
    - Dst: g_file_monitor_cancel
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:620,1
    - Dst: g_free
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:625,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:628,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:623,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:621,1
    - Dst: g_free
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:626,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 629
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 629
    functionName: g_keyfile_settings_backend_finalize
    functionSourceFile: /src/glib/gio/gkeyfilesettingsbackend.c
    functionUses: []
    functionsReached:
    - g_key_file_free
    - g_object_unref
    - g_hash_table_unref
    - g_file_monitor_cancel
    - G_OBJECT_CLASS
    - g_key_file_unref
    - G_KEYFILE_SETTINGS_BACKEND
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void g_keyfile_settings_backend_finalize (GObject *object) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:676,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:671,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:685,1
    - Dst: g_file_get_contents
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:697,1
    - Dst: g_warning
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:700,1
    - Dst: g_strsplit
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:710,1
    - Dst: g_key_file_load_from_file
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:681,1
    - Dst: g_warning
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:684,1
    - Dst: g_debug
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:688,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:699,1
    - Dst: g_debug
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:708,1
    - Dst: g_key_file_new
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:670,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:683,1
    - Dst: g_free
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:690,1
    - Dst: g_free
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:716,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:721,1
    - Dst: g_free
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:724,1
    - Dst: g_free
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:726,1
    - Dst: g_build_filename
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:692,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:701,1
    - Dst: g_debug
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:720,1
    - Dst: g_hash_table_add
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:721,1
    - Dst: g_free
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:728,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 1
    argNames:
    - kfsb
    argTypes:
    - GKeyfileSettingsBackend*
    constantsTouched: []
    func_position:
      end: 729
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 729
    functionName: load_system_settings
    functionSourceFile: /src/glib/gio/gkeyfilesettingsbackend.c
    functionUses: []
    functionsReached:
    - g_key_file_new
    - g_clear_error
    - g_steal_pointer
    - g_warning
    - g_debug
    - g_error_matches
    - g_key_file_load_from_file
    - g_hash_table_new_full
    - g_build_filename
    - g_file_get_contents
    - g_strsplit
    - g_free
    - g_hash_table_add
    linkageType: ''
    returnType: void
    signature: 'static void load_system_settings (GKeyfileSettingsBackend *kfsb) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: G_KEYFILE_SETTINGS_BACKEND
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:799,1
    - Dst: g_assert
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:805,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:807,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:807,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:806,1
    - Dst: g_assert
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:812,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:813,1
    - Dst: strlen
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:815,1
    - Dst: g_assert
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:820,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:821,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:833,1
    - Dst: g_assert
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:828,1
    - Dst: strlen
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:823,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:829,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 836
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 836
    functionName: g_keyfile_settings_backend_set_property
    functionSourceFile: /src/glib/gio/gkeyfilesettingsbackend.c
    functionUses: []
    functionsReached:
    - g_file_new_for_path
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_dup_string
    - strlen
    - g_assert
    - g_value_get_string
    - G_KEYFILE_SETTINGS_BACKEND
    linkageType: ''
    returnType: void
    signature: 'static void g_keyfile_settings_backend_set_property (GObject *object,
      guint prop_id, const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:873,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:898,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:916,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:900,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:918,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:931,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:933,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:945,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:947,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 1
    argNames:
    - class
    argTypes:
    - GKeyfileSettingsBackendClass*
    constantsTouched: []
    func_position:
      end: 951
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 951
    functionName: g_keyfile_settings_backend_class_init
    functionSourceFile: /src/glib/gio/gkeyfilesettingsbackend.c
    functionUses: []
    functionsReached:
    - g_param_spec_string
    - g_object_class_install_property
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_keyfile_settings_backend_class_init (GKeyfileSettingsBackendClass
      *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - kfsb
    argTypes:
    - GKeyfileSettingsBackend*
    constantsTouched: []
    func_position:
      end: 634
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 634
    functionName: g_keyfile_settings_backend_init
    functionSourceFile: /src/glib/gio/gkeyfilesettingsbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_keyfile_settings_backend_init (GKeyfileSettingsBackend
      *kfsb) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:1017,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:1018,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:1019,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:1019,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:1020,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:1020,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:1021,1
    - Dst: strstr
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:1021,1
    - Dst: G_SETTINGS_BACKEND
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:1023,1
    - Dst: g_object_new
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:1023,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1012
    functionDepth: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1028
    functionName: g_keyfile_settings_backend_new
    functionSourceFile: /src/glib/gio/gkeyfilesettingsbackend.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_object_new
    - g_str_has_suffix
    - g_str_has_prefix
    - strstr
    - G_SETTINGS_BACKEND
    linkageType: ''
    returnType: GSettingsBackend*
    signature: 'GSettingsBackend *g_keyfile_settings_backend_new (const gchar *filename,
      const gchar *root_path, const gchar *root_group) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_to_keyfile
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:356,1
    - Dst: g_assert
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:357,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - key
    - value
    - user_data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 360
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 360
    functionName: g_keyfile_settings_backend_write_one
    functionSourceFile: /src/glib/gio/gkeyfilesettingsbackend.c
    functionUses: []
    functionsReached:
    - g_assert
    - set_to_keyfile
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_keyfile_settings_backend_write_one (gpointer key,
      gpointer value, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_keyfile_settings_backend_keyfile_reload
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:647,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 5
    argNames:
    - monitor
    - file
    - other_file
    - event_type
    - user_data
    argTypes:
    - GFileMonitor*
    - GFile*
    - GFile*
    - GFileMonitorEvent
    - gpointer
    constantsTouched: []
    func_position:
      end: 648
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 648
    functionName: file_changed
    functionSourceFile: /src/glib/gio/gkeyfilesettingsbackend.c
    functionUses: []
    functionsReached:
    - g_keyfile_settings_backend_keyfile_reload
    linkageType: ''
    returnType: void
    signature: 'static void file_changed (GFileMonitor *monitor, GFile *file, GFile
      *other_file, GFileMonitorEvent event_type, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: convert_path
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - kfsb
    - path
    argTypes:
    - GKeyfileSettingsBackend*
    - gchar*
    constantsTouched: []
    func_position:
      end: 216
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 216
    functionName: path_is_valid
    functionSourceFile: /src/glib/gio/gkeyfilesettingsbackend.c
    functionUses: []
    functionsReached:
    - convert_path
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean path_is_valid (GKeyfileSettingsBackend *kfsb, const
      gchar *path) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_contains
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:288,1
    - Dst: g_variant_print
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:295,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:297,1
    - Dst: g_key_file_set_value
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:296,1
    - Dst: convert_path
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:291,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:297,1
    - Dst: g_free
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:298,1
    - Dst: g_key_file_get_groups
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:307,1
    - Dst: group_name_matches
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:310,1
    - Dst: g_key_file_remove_group
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:311,1
    - Dst: g_free
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:320,1
    - Dst: g_free
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:319,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:313,1
    - Dst: g_key_file_remove_key
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:316,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 22
    argCount: 3
    argNames:
    - kfsb
    - key
    - value
    argTypes:
    - GKeyfileSettingsBackend*
    - gchar*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 326
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 326
    functionName: set_to_keyfile
    functionSourceFile: /src/glib/gio/gkeyfilesettingsbackend.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - g_key_file_remove_group
    - g_free
    - group_name_matches
    - g_strfreev
    - g_variant_unref
    - g_key_file_remove_key
    - g_variant_print
    - g_hash_table_contains
    - g_key_file_get_groups
    - g_key_file_set_value
    - convert_path
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean set_to_keyfile (GKeyfileSettingsBackend *kfsb, const
      gchar *key, GVariant *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_contains
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:369,1
    - Dst: path_is_valid
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:370,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - key
    - value
    - user_data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 371
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 371
    functionName: g_keyfile_settings_backend_check_one
    functionSourceFile: /src/glib/gio/gkeyfilesettingsbackend.c
    functionUses: []
    functionsReached:
    - path_is_valid
    - g_hash_table_contains
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_keyfile_settings_backend_check_one (gpointer key,
      gpointer value, gpointer user_data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:518,1
    - Dst: g_tree_insert
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:522,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:527,1
    - Dst: g_key_file_get_groups
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:482,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:494,1
    - Dst: strstr
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:494,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:489,1
    - Dst: g_key_file_get_keys
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:497,1
    - Dst: g_assert
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:498,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:509,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:515,1
    - Dst: g_free
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:519,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:493,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:511,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:525,1
    - Dst: strchr
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:505,1
    - Dst: g_key_file_get_value
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:513,1
    - Dst: g_tree_remove
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:517,1
    - Dst: g_tree_lookup
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:515,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 39
    argCount: 4
    argNames:
    - kfsb
    - tree
    - keyfile
    - dup_check
    argTypes:
    - GKeyfileSettingsBackend*
    - GTree*
    - GKeyFile*
    - gboolean
    constantsTouched: []
    func_position:
      end: 528
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 528
    functionName: keyfile_to_tree
    functionSourceFile: /src/glib/gio/gkeyfilesettingsbackend.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_str_has_suffix
    - g_assert
    - g_tree_remove
    - g_tree_lookup
    - g_str_has_prefix
    - strchr
    - g_key_file_get_value
    - g_key_file_get_keys
    - g_tree_insert
    - g_strcmp0
    - g_strfreev
    - g_key_file_get_groups
    - g_free
    - strstr
    linkageType: ''
    returnType: void
    signature: 'static void keyfile_to_tree (GKeyfileSettingsBackend *kfsb, GTree
      *tree, GKeyFile *keyfile, gboolean dup_check) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: convert_path
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:226,1
    - Dst: g_variant_parse
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:245,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:257,1
    - Dst: g_free
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:274,1
    - Dst: g_hash_table_contains
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:236,1
    - Dst: g_key_file_get_value
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:234,1
    - Dst: g_variant_type_equal
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:251,1
    - Dst: g_string_sized_new
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:254,1
    - Dst: g_free
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:269,1
    - Dst: g_free
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:275,1
    - Dst: g_assert
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:231,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:240,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:261,1
    - Dst: strlen
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:254,1
    - Dst: g_key_file_get_value
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:233,1
    - Dst: g_free
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:239,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:265,1
    - Dst: g_string_free
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:267,1
    - Dst: g_variant_parse
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:266,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:262,1
    - Dst: g_free
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:272,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 279
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 279
    functionName: get_from_keyfile
    functionSourceFile: /src/glib/gio/gkeyfilesettingsbackend.c
    functionUses: []
    functionsReached:
    - g_variant_type_equal
    - g_steal_pointer
    - g_variant_parse
    - strlen
    - g_assert
    - g_string_append_c
    - convert_path
    - g_key_file_get_value
    - g_string_free
    - g_hash_table_contains
    - g_string_sized_new
    - g_free
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *get_from_keyfile (GKeyfileSettingsBackend *kfsb,
      const GVariantType *type, const gchar *key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_KEYFILE_SETTINGS_BACKEND
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:334,1
    - Dst: get_from_keyfile
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:339,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 340
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 340
    functionName: g_keyfile_settings_backend_read
    functionSourceFile: /src/glib/gio/gkeyfilesettingsbackend.c
    functionUses: []
    functionsReached:
    - G_KEYFILE_SETTINGS_BACKEND
    - get_from_keyfile
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *g_keyfile_settings_backend_read (GSettingsBackend
      *backend, const gchar *key, const GVariantType *expected_type, gboolean default_value) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_KEYFILE_SETTINGS_BACKEND
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:378,1
    - Dst: g_keyfile_settings_backend_keyfile_write
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:391,1
    - Dst: g_tree_foreach
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:385,1
    - Dst: g_warning
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:394,1
    - Dst: g_tree_foreach
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:390,1
    - Dst: g_file_peek_path
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:394,1
    - Dst: g_error_free
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:395,1
    - Dst: g_settings_backend_changed_tree
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:398,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - backend
    - tree
    - origin_tag
    argTypes:
    - GSettingsBackend*
    - GTree*
    - gpointer
    constantsTouched: []
    func_position:
      end: 401
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 401
    functionName: g_keyfile_settings_backend_write_tree
    functionSourceFile: /src/glib/gio/gkeyfilesettingsbackend.c
    functionUses: []
    functionsReached:
    - g_warning
    - g_keyfile_settings_backend_keyfile_write
    - g_tree_foreach
    - g_settings_backend_changed_tree
    - g_error_free
    - g_file_peek_path
    - G_KEYFILE_SETTINGS_BACKEND
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_keyfile_settings_backend_write_tree (GSettingsBackend
      *backend, GTree *tree, gpointer origin_tag) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_file_load_contents
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:540,1
    - Dst: memcmp
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:543,1
    - Dst: g_key_file_new
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:552,1
    - Dst: g_tree_new_full
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:548,1
    - Dst: compute_checksum
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:541,1
    - Dst: g_key_file_load_from_data
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:555,1
    - Dst: keyfile_to_tree
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:559,1
    - Dst: keyfile_to_tree
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:560,1
    - Dst: g_key_file_free
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:561,1
    - Dst: g_tree_nnodes
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:564,1
    - Dst: g_free
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:572,1
    - Dst: memcpy
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:569,1
    - Dst: g_settings_backend_changed_tree
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:565,1
    - Dst: g_tree_unref
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:567,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - kfsb
    argTypes:
    - GKeyfileSettingsBackend*
    constantsTouched: []
    func_position:
      end: 573
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 573
    functionName: g_keyfile_settings_backend_keyfile_reload
    functionSourceFile: /src/glib/gio/gkeyfilesettingsbackend.c
    functionUses: []
    functionsReached:
    - g_key_file_new
    - g_key_file_free
    - memcpy
    - compute_checksum
    - g_tree_unref
    - g_key_file_load_from_data
    - g_settings_backend_changed_tree
    - g_tree_new_full
    - g_tree_nnodes
    - keyfile_to_tree
    - g_free
    - g_file_load_contents
    - memcmp
    linkageType: ''
    returnType: void
    signature: 'static void g_keyfile_settings_backend_keyfile_reload (GKeyfileSettingsBackend
      *kfsb) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_checksum_new
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:102,1
    - Dst: g_checksum_update
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:103,1
    - Dst: g_assert
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:106,1
    - Dst: g_checksum_free
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:105,1
    - Dst: g_checksum_get_digest
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - digest
    - contents
    - length
    argTypes:
    - guint8*
    - gconstpointer
    - gsize
    constantsTouched: []
    func_position:
      end: 107
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 107
    functionName: compute_checksum
    functionSourceFile: /src/glib/gio/gkeyfilesettingsbackend.c
    functionUses: []
    functionsReached:
    - g_checksum_get_digest
    - g_checksum_free
    - g_checksum_update
    - g_assert
    - g_checksum_new
    linkageType: ''
    returnType: void
    signature: 'static void compute_checksum (guint8 *digest, gconstpointer contents,
      gsize length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - group_name
    - prefix
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 145
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 145
    functionName: group_name_matches
    functionSourceFile: /src/glib/gio/gkeyfilesettingsbackend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean group_name_matches (const gchar *group_name, const
      gchar *prefix) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_KEYFILE_SETTINGS_BACKEND
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:409,1
    - Dst: set_to_keyfile
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:416,1
    - Dst: g_warning
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:424,1
    - Dst: g_settings_backend_changed
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:420,1
    - Dst: g_keyfile_settings_backend_keyfile_write
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:421,1
    - Dst: g_file_peek_path
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:424,1
    - Dst: g_error_free
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:425,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 4
    argNames:
    - backend
    - key
    - value
    - origin_tag
    argTypes:
    - GSettingsBackend*
    - gchar*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 430
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 430
    functionName: g_keyfile_settings_backend_write
    functionSourceFile: /src/glib/gio/gkeyfilesettingsbackend.c
    functionUses: []
    functionsReached:
    - g_warning
    - g_keyfile_settings_backend_keyfile_write
    - set_to_keyfile
    - g_error_free
    - g_file_peek_path
    - G_KEYFILE_SETTINGS_BACKEND
    - g_settings_backend_changed
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_keyfile_settings_backend_write (GSettingsBackend
      *backend, const gchar *key, GVariant *value, gpointer origin_tag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_to_data
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:117,1
    - Dst: g_file_replace_contents
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:118,1
    - Dst: compute_checksum
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:123,1
    - Dst: g_free
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:124,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - kfsb
    - error
    argTypes:
    - GKeyfileSettingsBackend*
    - GError**
    constantsTouched: []
    func_position:
      end: 127
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 127
    functionName: g_keyfile_settings_backend_keyfile_write
    functionSourceFile: /src/glib/gio/gkeyfilesettingsbackend.c
    functionUses: []
    functionsReached:
    - compute_checksum
    - g_free
    - g_file_replace_contents
    - g_key_file_to_data
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_keyfile_settings_backend_keyfile_write (GKeyfileSettingsBackend
      *kfsb, GError **error) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:153,1
    - Dst: memcmp
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:179,1
    - Dst: strrchr
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:163,1
    - Dst: memcmp
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:157,1
    - Dst: g_memdup2
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:193,1
    - Dst: g_strdup
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:197,1
    - Dst: g_memdup2
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:203,1
    - Dst: g_strdup
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:205,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 53
    argCount: 4
    argNames:
    - kfsb
    - key
    - group
    - basename
    argTypes:
    - GKeyfileSettingsBackend*
    - gchar*
    - gchar**
    - gchar**
    constantsTouched: []
    func_position:
      end: 209
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 209
    functionName: convert_path
    functionSourceFile: /src/glib/gio/gkeyfilesettingsbackend.c
    functionUses: []
    functionsReached:
    - g_strdup
    - strlen
    - strrchr
    - g_memdup2
    - memcmp
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean convert_path (GKeyfileSettingsBackend *kfsb, const
      gchar *key, gchar **group, gchar **basename) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_KEYFILE_SETTINGS_BACKEND
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:437,1
    - Dst: g_keyfile_settings_backend_keyfile_write
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:442,1
    - Dst: g_file_peek_path
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:445,1
    - Dst: set_to_keyfile
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:440,1
    - Dst: g_warning
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:445,1
    - Dst: g_error_free
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:446,1
    - Dst: g_settings_backend_changed
      Src: /src/glib/gio/gkeyfilesettingsbackend.c:450,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - backend
    - key
    - origin_tag
    argTypes:
    - GSettingsBackend*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 451
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 451
    functionName: g_keyfile_settings_backend_reset
    functionSourceFile: /src/glib/gio/gkeyfilesettingsbackend.c
    functionUses: []
    functionsReached:
    - g_warning
    - g_keyfile_settings_backend_keyfile_write
    - set_to_keyfile
    - g_error_free
    - g_file_peek_path
    - G_KEYFILE_SETTINGS_BACKEND
    - g_settings_backend_changed
    linkageType: ''
    returnType: void
    signature: 'static void g_keyfile_settings_backend_reset (GSettingsBackend *backend,
      const gchar *key, gpointer origin_tag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/gio/gio-tool.c:40,1
    - Dst: g_printerr
      Src: /src/glib/gio/gio-tool.c:44,1
    - Dst: va_end
      Src: /src/glib/gio/gio-tool.c:42,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool.c:45,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/gio/gio-tool.c:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - format
    - '...'
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 46
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 46
    functionName: print_error
    functionSourceFile: /src/glib/gio/gio-tool.c
    functionUses: []
    functionsReached:
    - g_strdup_vprintf
    - g_printerr
    - va_end
    - g_free
    - va_start
    linkageType: ''
    returnType: void
    signature: 'void print_error (const gchar *format, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_printerr
      Src: /src/glib/gio/gio-tool.c:64,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool.c:68,1
    - Dst: g_printerr
      Src: /src/glib/gio/gio-tool.c:67,1
    - Dst: g_option_context_get_help
      Src: /src/glib/gio/gio-tool.c:66,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - context
    - message
    argTypes:
    - GOptionContext*
    - char*
    constantsTouched: []
    func_position:
      end: 69
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 69
    functionName: show_help
    functionSourceFile: /src/glib/gio/gio-tool.c
    functionUses: []
    functionsReached:
    - g_printerr
    - g_free
    - g_option_context_get_help
    linkageType: ''
    returnType: void
    signature: 'void show_help (GOptionContext *context, const char *message) '
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 121
    functionName: attribute_type_to_string
    functionSourceFile: /src/glib/gio/gio-tool.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *attribute_type_to_string (GFileAttributeType type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: N_
      Src: /src/glib/gio/gio-tool.c:161,1
    - Dst: N_
      Src: /src/glib/gio/gio-tool.c:165,1
    - Dst: g_string_new
      Src: /src/glib/gio/gio-tool.c:171,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/gio-tool.c:172,1
    - Dst: g_string_append
      Src: /src/glib/gio/gio-tool.c:177,1
    - Dst: g_string_append
      Src: /src/glib/gio/gio-tool.c:178,1
    - Dst: gettext
      Src: /src/glib/gio/gio-tool.c:178,1
    - Dst: g_string_free
      Src: /src/glib/gio/gio-tool.c:183,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 184
    functionName: attribute_flags_to_string
    functionSourceFile: /src/glib/gio/gio-tool.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - g_string_free
    - gettext
    - g_string_new
    - N_
    - g_string_append
    linkageType: ''
    returnType: char*
    signature: 'char *attribute_flags_to_string (GFileAttributeInfoFlags flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_printerr
      Src: /src/glib/gio/gio-tool.c:206,1
    - Dst: g_printerr
      Src: /src/glib/gio/gio-tool.c:208,1
    - Dst: g_printerr
      Src: /src/glib/gio/gio-tool.c:209,1
    - Dst: _
      Src: /src/glib/gio/gio-tool.c:206,1
    - Dst: _
      Src: /src/glib/gio/gio-tool.c:208,1
    - Dst: g_printerr
      Src: /src/glib/gio/gio-tool.c:210,1
    - Dst: g_printerr
      Src: /src/glib/gio/gio-tool.c:211,1
    - Dst: _
      Src: /src/glib/gio/gio-tool.c:211,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool.c:216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - argc
    - argv
    - do_help
    argTypes:
    - int
    - char*
    - gboolean
    constantsTouched: []
    func_position:
      end: 219
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 219
    functionName: handle_version
    functionSourceFile: /src/glib/gio/gio-tool.c
    functionUses: []
    functionsReached:
    - _
    - g_printerr
    - g_print
    linkageType: ''
    returnType: int
    signature: 'static int handle_version (int argc, char *argv[], gboolean do_help) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_get_uri
      Src: /src/glib/gio/gio-tool.c:53,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool.c:55,1
    - Dst: print_error
      Src: /src/glib/gio/gio-tool.c:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - file
    - message
    argTypes:
    - GFile*
    - gchar*
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: print_file_error
    functionSourceFile: /src/glib/gio/gio-tool.c
    functionUses: []
    functionsReached:
    - g_file_get_uri
    - g_free
    - print_error
    linkageType: ''
    returnType: void
    signature: 'void print_file_error (GFile *file, const gchar *message) '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 93
    functionName: file_type_to_string
    functionSourceFile: /src/glib/gio/gio-tool.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *file_type_to_string (GFileType type) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/gio-tool.c:126,1
    - Dst: strcmp
      Src: /src/glib/gio/gio-tool.c:132,1
    - Dst: strcmp
      Src: /src/glib/gio/gio-tool.c:130,1
    - Dst: strcmp
      Src: /src/glib/gio/gio-tool.c:134,1
    - Dst: strcmp
      Src: /src/glib/gio/gio-tool.c:128,1
    - Dst: strcmp
      Src: /src/glib/gio/gio-tool.c:136,1
    - Dst: strcmp
      Src: /src/glib/gio/gio-tool.c:138,1
    - Dst: strcmp
      Src: /src/glib/gio/gio-tool.c:140,1
    - Dst: strcmp
      Src: /src/glib/gio/gio-tool.c:142,1
    - Dst: strcmp
      Src: /src/glib/gio/gio-tool.c:144,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 147
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 147
    functionName: attribute_type_from_string
    functionSourceFile: /src/glib/gio/gio-tool.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: GFileAttributeType
    signature: 'GFileAttributeType attribute_type_from_string (const char *str) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_query_info
      Src: /src/glib/gio/gio-tool.c:192,1
    - Dst: g_file_info_get_file_type
      Src: /src/glib/gio/gio-tool.c:193,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool.c:195,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 197
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 197
    functionName: file_is_dir
    functionSourceFile: /src/glib/gio/gio-tool.c
    functionUses: []
    functionsReached:
    - g_file_query_info
    - g_object_unref
    - g_file_info_get_file_type
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean file_is_dir (GFile *file) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/glib/gio/gio-tool.c:258,1
    - Dst: _
      Src: /src/glib/gio/gio-tool.c:274,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gio-tool.c:258,1
    - Dst: _
      Src: /src/glib/gio/gio-tool.c:258,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/gio-tool.c:266,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gio-tool.c:273,1
    - Dst: g_printerr
      Src: /src/glib/gio/gio-tool.c:277,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gio-tool.c:274,1
    - Dst: strlen
      Src: /src/glib/gio/gio-tool.c:264,1
    - Dst: g_string_new
      Src: /src/glib/gio/gio-tool.c:256,1
    - Dst: _
      Src: /src/glib/gio/gio-tool.c:257,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gio-tool.c:257,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gio-tool.c:259,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gio-tool.c:260,1
    - Dst: _
      Src: /src/glib/gio/gio-tool.c:260,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/gio-tool.c:263,1
    - Dst: MAX
      Src: /src/glib/gio/gio-tool.c:264,1
    - Dst: _
      Src: /src/glib/gio/gio-tool.c:270,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gio-tool.c:268,1
    - Dst: g_string_free
      Src: /src/glib/gio/gio-tool.c:281,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool.c:279,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - is_error
    argTypes:
    - gboolean
    constantsTouched: []
    func_position:
      end: 282
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 282
    functionName: usage
    functionSourceFile: /src/glib/gio/gio-tool.c
    functionUses: []
    functionsReached:
    - g_printerr
    - strlen
    - G_N_ELEMENTS
    - g_string_append_c
    - MAX
    - g_string_free
    - g_print
    - g_string_new
    - _
    - g_string_append_printf
    linkageType: ''
    returnType: void
    signature: 'static void usage (gboolean is_error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/glib/gio/gio-tool.c:294,1
    - Dst: bindtextdomain
      Src: /src/glib/gio/gio-tool.c:299,1
    - Dst: textdomain
      Src: /src/glib/gio/gio-tool.c:295,1
    - Dst: _glib_get_locale_dir
      Src: /src/glib/gio/gio-tool.c:298,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool.c:300,1
    - Dst: bindtextdomain
      Src: /src/glib/gio/gio-tool.c:302,1
    - Dst: bind_textdomain_codeset
      Src: /src/glib/gio/gio-tool.c:306,1
    - Dst: usage
      Src: /src/glib/gio/gio-tool.c:311,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gio-tool.c:320,1
    - Dst: usage
      Src: /src/glib/gio/gio-tool.c:324,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/gio-tool.c:342,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gio-tool.c:344,1
    - Dst: usage
      Src: /src/glib/gio/gio-tool.c:352,1
    - Dst: g_assert
      Src: /src/glib/gio/gio-tool.c:346,1
    - Dst: usage
      Src: /src/glib/gio/gio-tool.c:335,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gio-tool.c:333,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gio-tool.c:338,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 355
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 355
    functionName: main
    functionSourceFile: /src/glib/gio/gio-tool.c
    functionUses: []
    functionsReached:
    - usage
    - G_N_ELEMENTS
    - textdomain
    - g_assert
    - _glib_get_locale_dir
    - setlocale
    - bind_textdomain_codeset
    - g_free
    - bindtextdomain
    - g_str_equal
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:193,1
    - Dst: G_TASK
      Src: /src/glib/gio/gtlsdatabase.c:195,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gtlsdatabase.c:193,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/gtlsdatabase.c:195,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - self
    - result
    - error
    argTypes:
    - GTlsDatabase*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 200
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 200
    functionName: g_tls_database_real_verify_chain_finish
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_return_val_if_fail
    - g_task_is_valid
    - g_task_propagate_int
    linkageType: ''
    returnType: GTlsCertificateFlags
    signature: 'static GTlsCertificateFlags g_tls_database_real_verify_chain_finish
      (GTlsDatabase *self, GAsyncResult *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:584,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:586,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:585,1
    - Dst: G_IS_TLS_CERTIFICATE
      Src: /src/glib/gio/gtlsdatabase.c:585,1
    - Dst: G_IS_TLS_DATABASE
      Src: /src/glib/gio/gtlsdatabase.c:584,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:587,1
    - Dst: G_IS_TLS_INTERACTION
      Src: /src/glib/gio/gtlsdatabase.c:587,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:588,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gtlsdatabase.c:588,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:589,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:590,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:592,1
    - Dst: G_TLS_DATABASE_GET_CLASS
      Src: /src/glib/gio/gtlsdatabase.c:593,1
    - Dst: G_TLS_DATABASE_GET_CLASS
      Src: /src/glib/gio/gtlsdatabase.c:592,1
    - Dst: G_IS_SOCKET_CONNECTABLE
      Src: /src/glib/gio/gtlsdatabase.c:589,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 9
    argNames:
    - self
    - chain
    - purpose
    - identity
    - interaction
    - flags
    - cancellable
    - callback
    - user_data
    argTypes:
    - GTlsDatabase*
    - GTlsCertificate*
    - gchar*
    - GSocketConnectable*
    - GTlsInteraction*
    - GTlsDatabaseVerifyFlags
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 602
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 602
    functionName: g_tls_database_verify_chain_async
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET_CONNECTABLE
    - G_IS_TLS_DATABASE
    - g_return_if_fail
    - G_IS_TLS_CERTIFICATE
    - G_IS_CANCELLABLE
    - G_TLS_DATABASE_GET_CLASS
    - G_IS_TLS_INTERACTION
    linkageType: ''
    returnType: void
    signature: 'void g_tls_database_verify_chain_async (GTlsDatabase *self, GTlsCertificate
      *chain, const gchar *purpose, GSocketConnectable *identity, GTlsInteraction
      *interaction, GTlsDatabaseVerifyFlags flags, GCancellable *cancellable, GAsyncReadyCallback
      callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:834,1
    - Dst: G_IS_TLS_DATABASE
      Src: /src/glib/gio/gtlsdatabase.c:834,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:836,1
    - Dst: G_IS_TLS_CERTIFICATE
      Src: /src/glib/gio/gtlsdatabase.c:835,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:835,1
    - Dst: G_IS_TLS_INTERACTION
      Src: /src/glib/gio/gtlsdatabase.c:836,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:837,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gtlsdatabase.c:837,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:838,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:839,1
    - Dst: G_TLS_DATABASE_GET_CLASS
      Src: /src/glib/gio/gtlsdatabase.c:839,1
    - Dst: G_TLS_DATABASE_GET_CLASS
      Src: /src/glib/gio/gtlsdatabase.c:840,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 846
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 846
    functionName: g_tls_database_lookup_certificate_issuer
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_TLS_DATABASE
    - G_IS_TLS_CERTIFICATE
    - G_IS_CANCELLABLE
    - G_TLS_DATABASE_GET_CLASS
    - G_IS_TLS_INTERACTION
    linkageType: ''
    returnType: GTlsCertificate*
    signature: 'GTlsCertificate *g_tls_database_lookup_certificate_issuer (GTlsDatabase
      *self, GTlsCertificate *certificate, GTlsInteraction *interaction, GTlsDatabaseLookupFlags
      flags, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_object
      Src: /src/glib/gio/gtlsdatabase.c:126,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gtlsdatabase.c:129,1
    - Dst: g_free
      Src: /src/glib/gio/gtlsdatabase.c:127,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gtlsdatabase.c:128,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gtlsdatabase.c:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 131
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 131
    functionName: async_verify_chain_free
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - g_free
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void async_verify_chain_free (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:532,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:535,1
    - Dst: G_IS_TLS_DATABASE
      Src: /src/glib/gio/gtlsdatabase.c:532,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:533,1
    - Dst: G_IS_TLS_CERTIFICATE
      Src: /src/glib/gio/gtlsdatabase.c:533,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:536,1
    - Dst: G_IS_TLS_INTERACTION
      Src: /src/glib/gio/gtlsdatabase.c:536,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:538,1
    - Dst: G_IS_SOCKET_CONNECTABLE
      Src: /src/glib/gio/gtlsdatabase.c:538,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:540,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:542,1
    - Dst: G_TLS_DATABASE_GET_CLASS
      Src: /src/glib/gio/gtlsdatabase.c:542,1
    - Dst: G_TLS_DATABASE_GET_CLASS
      Src: /src/glib/gio/gtlsdatabase.c:545,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 8
    argNames:
    - self
    - chain
    - purpose
    - identity
    - interaction
    - flags
    - cancellable
    - error
    argTypes:
    - GTlsDatabase*
    - GTlsCertificate*
    - gchar*
    - GSocketConnectable*
    - GTlsInteraction*
    - GTlsDatabaseVerifyFlags
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 553
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 553
    functionName: g_tls_database_verify_chain
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET_CONNECTABLE
    - g_return_val_if_fail
    - G_IS_TLS_DATABASE
    - G_IS_TLS_CERTIFICATE
    - G_TLS_DATABASE_GET_CLASS
    - G_IS_TLS_INTERACTION
    linkageType: ''
    returnType: GTlsCertificateFlags
    signature: 'GTlsCertificateFlags g_tls_database_verify_chain (GTlsDatabase *self,
      GTlsCertificate *chain, const gchar *purpose, GSocketConnectable *identity,
      GTlsInteraction *interaction, GTlsDatabaseVerifyFlags flags, GCancellable *cancellable,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:782,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:783,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gtlsdatabase.c:783,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:784,1
    - Dst: G_IS_TLS_DATABASE
      Src: /src/glib/gio/gtlsdatabase.c:782,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:785,1
    - Dst: G_TLS_DATABASE_GET_CLASS
      Src: /src/glib/gio/gtlsdatabase.c:785,1
    - Dst: G_TLS_DATABASE_GET_CLASS
      Src: /src/glib/gio/gtlsdatabase.c:786,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 789
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 789
    functionName: g_tls_database_lookup_certificate_for_handle_finish
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_TLS_DATABASE_GET_CLASS
    - G_IS_TLS_DATABASE
    - G_IS_ASYNC_RESULT
    linkageType: ''
    returnType: GTlsCertificate*
    signature: 'GTlsCertificate *g_tls_database_lookup_certificate_for_handle_finish
      (GTlsDatabase *self, GAsyncResult *result, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_tls_database_lookup_certificate_issuer
      Src: /src/glib/gio/gtlsdatabase.c:302,1
    - Dst: G_TLS_DATABASE
      Src: /src/glib/gio/gtlsdatabase.c:302,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gtlsdatabase.c:309,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gtlsdatabase.c:311,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 4
    argNames:
    - task
    - object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 312
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 312
    functionName: async_lookup_certificate_issuer_thread
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - G_TLS_DATABASE
    - g_task_return_error
    - g_task_return_pointer
    - g_tls_database_lookup_certificate_issuer
    linkageType: ''
    returnType: void
    signature: "static void async_lookup_certificate_issuer_thread (GTask *task,\t\
      \t\t\t\tgpointer object,\t\t\t\t\tgpointer task_data,\t\t\t\t\tGCancellable\
      \ *cancellable) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:345,1
    - Dst: G_TASK
      Src: /src/glib/gio/gtlsdatabase.c:347,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gtlsdatabase.c:347,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gtlsdatabase.c:345,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 348
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 348
    functionName: g_tls_database_real_lookup_certificate_issuer_finish
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_return_val_if_fail
    - g_task_is_valid
    - g_task_propagate_pointer
    linkageType: ''
    returnType: GTlsCertificate*
    signature: 'static GTlsCertificate *g_tls_database_real_lookup_certificate_issuer_finish
      (GTlsDatabase *self, GAsyncResult *result, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_tls_database_lookup_certificates_issued_by
      Src: /src/glib/gio/gtlsdatabase.c:384,1
    - Dst: G_TLS_DATABASE
      Src: /src/glib/gio/gtlsdatabase.c:384,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gtlsdatabase.c:391,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gtlsdatabase.c:393,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 4
    argNames:
    - task
    - object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 394
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 394
    functionName: async_lookup_certificates_issued_by_thread
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - g_tls_database_lookup_certificates_issued_by
    - g_task_return_error
    - g_task_return_pointer
    - G_TLS_DATABASE
    linkageType: ''
    returnType: void
    signature: "static void async_lookup_certificates_issued_by_thread (GTask *task,\t\
      \t\t\t\t gpointer object,\t\t\t\t\t gpointer task_data, GCancellable *cancellable) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:665,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:667,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:666,1
    - Dst: G_IS_TLS_DATABASE
      Src: /src/glib/gio/gtlsdatabase.c:665,1
    - Dst: G_IS_TLS_CERTIFICATE
      Src: /src/glib/gio/gtlsdatabase.c:666,1
    - Dst: G_TLS_DATABASE_GET_CLASS
      Src: /src/glib/gio/gtlsdatabase.c:667,1
    - Dst: G_TLS_DATABASE_GET_CLASS
      Src: /src/glib/gio/gtlsdatabase.c:668,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 670
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 670
    functionName: g_tls_database_create_certificate_handle
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - G_IS_TLS_CERTIFICATE
    - g_return_val_if_fail
    - G_TLS_DATABASE_GET_CLASS
    - G_IS_TLS_DATABASE
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_tls_database_create_certificate_handle (GTlsDatabase *self,
      GTlsCertificate *certificate) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:746,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:748,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:747,1
    - Dst: G_IS_TLS_DATABASE
      Src: /src/glib/gio/gtlsdatabase.c:746,1
    - Dst: G_IS_TLS_INTERACTION
      Src: /src/glib/gio/gtlsdatabase.c:748,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:749,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gtlsdatabase.c:749,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:750,1
    - Dst: G_TLS_DATABASE_GET_CLASS
      Src: /src/glib/gio/gtlsdatabase.c:750,1
    - Dst: G_TLS_DATABASE_GET_CLASS
      Src: /src/glib/gio/gtlsdatabase.c:751,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 7
    argNames:
    - self
    - handle
    - interaction
    - flags
    - cancellable
    - callback
    - user_data
    argTypes:
    - GTlsDatabase*
    - gchar*
    - GTlsInteraction*
    - GTlsDatabaseLookupFlags
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 758
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 758
    functionName: g_tls_database_lookup_certificate_for_handle_async
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - G_IS_TLS_DATABASE
    - g_return_if_fail
    - G_IS_CANCELLABLE
    - G_TLS_DATABASE_GET_CLASS
    - G_IS_TLS_INTERACTION
    linkageType: ''
    returnType: void
    signature: 'void g_tls_database_lookup_certificate_for_handle_async (GTlsDatabase
      *self, const gchar *handle, GTlsInteraction *interaction, GTlsDatabaseLookupFlags
      flags, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/gio/gtlsdatabase.c:326,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gtlsdatabase.c:327,1
    - Dst: g_task_new
      Src: /src/glib/gio/gtlsdatabase.c:331,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gtlsdatabase.c:329,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gtlsdatabase.c:332,1
    - Dst: g_task_set_name
      Src: /src/glib/gio/gtlsdatabase.c:334,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gtlsdatabase.c:335,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gtlsdatabase.c:336,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gtlsdatabase.c:337,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 7
    argNames:
    - self
    - certificate
    - interaction
    - flags
    - cancellable
    - callback
    - user_data
    argTypes:
    - GTlsDatabase*
    - GTlsCertificate*
    - GTlsInteraction*
    - GTlsDatabaseLookupFlags
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 338
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 338
    functionName: g_tls_database_real_lookup_certificate_issuer_async
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_object_unref
    - g_slice_new0
    - g_task_set_source_tag
    - g_task_run_in_thread
    - g_object_ref
    - g_task_set_task_data
    - g_task_set_name
    linkageType: ''
    returnType: void
    signature: 'static void g_tls_database_real_lookup_certificate_issuer_async (GTlsDatabase
      *self, GTlsCertificate *certificate, GTlsInteraction *interaction, GTlsDatabaseLookupFlags
      flags, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/gio/gtlsdatabase.c:408,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gtlsdatabase.c:414,1
    - Dst: g_task_new
      Src: /src/glib/gio/gtlsdatabase.c:413,1
    - Dst: g_byte_array_ref
      Src: /src/glib/gio/gtlsdatabase.c:409,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gtlsdatabase.c:411,1
    - Dst: g_task_set_name
      Src: /src/glib/gio/gtlsdatabase.c:416,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gtlsdatabase.c:417,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gtlsdatabase.c:418,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gtlsdatabase.c:419,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 7
    argNames:
    - self
    - issuer
    - interaction
    - flags
    - cancellable
    - callback
    - user_data
    argTypes:
    - GTlsDatabase*
    - GByteArray*
    - GTlsInteraction*
    - GTlsDatabaseLookupFlags
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 420
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 420
    functionName: g_tls_database_real_lookup_certificates_issued_by_async
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - g_byte_array_ref
    - g_task_new
    - g_object_unref
    - g_slice_new0
    - g_task_set_source_tag
    - g_task_run_in_thread
    - g_object_ref
    - g_task_set_task_data
    - g_task_set_name
    linkageType: ''
    returnType: void
    signature: 'static void g_tls_database_real_lookup_certificates_issued_by_async
      (GTlsDatabase *self, GByteArray *issuer, GTlsInteraction *interaction, GTlsDatabaseLookupFlags
      flags, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:632,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:634,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gtlsdatabase.c:633,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:633,1
    - Dst: G_IS_TLS_DATABASE
      Src: /src/glib/gio/gtlsdatabase.c:632,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:635,1
    - Dst: G_TLS_DATABASE_GET_CLASS
      Src: /src/glib/gio/gtlsdatabase.c:635,1
    - Dst: G_TLS_DATABASE_GET_CLASS
      Src: /src/glib/gio/gtlsdatabase.c:637,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - self
    - result
    - error
    argTypes:
    - GTlsDatabase*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 640
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 640
    functionName: g_tls_database_verify_chain_finish
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_TLS_DATABASE_GET_CLASS
    - G_IS_TLS_DATABASE
    - G_IS_ASYNC_RESULT
    linkageType: ''
    returnType: GTlsCertificateFlags
    signature: 'GTlsCertificateFlags g_tls_database_verify_chain_finish (GTlsDatabase
      *self, GAsyncResult *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:707,1
    - Dst: G_IS_TLS_INTERACTION
      Src: /src/glib/gio/gtlsdatabase.c:709,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:708,1
    - Dst: G_IS_TLS_DATABASE
      Src: /src/glib/gio/gtlsdatabase.c:707,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:709,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:710,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gtlsdatabase.c:710,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:711,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:712,1
    - Dst: G_TLS_DATABASE_GET_CLASS
      Src: /src/glib/gio/gtlsdatabase.c:712,1
    - Dst: G_TLS_DATABASE_GET_CLASS
      Src: /src/glib/gio/gtlsdatabase.c:713,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 719
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 719
    functionName: g_tls_database_lookup_certificate_for_handle
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_TLS_DATABASE
    - G_IS_CANCELLABLE
    - G_TLS_DATABASE_GET_CLASS
    - G_IS_TLS_INTERACTION
    linkageType: ''
    returnType: GTlsCertificate*
    signature: 'GTlsCertificate *g_tls_database_lookup_certificate_for_handle (GTlsDatabase
      *self, const gchar *handle, GTlsInteraction *interaction, GTlsDatabaseLookupFlags
      flags, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:906,1
    - Dst: G_IS_TLS_DATABASE
      Src: /src/glib/gio/gtlsdatabase.c:906,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:908,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:907,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gtlsdatabase.c:907,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:909,1
    - Dst: G_TLS_DATABASE_GET_CLASS
      Src: /src/glib/gio/gtlsdatabase.c:909,1
    - Dst: G_TLS_DATABASE_GET_CLASS
      Src: /src/glib/gio/gtlsdatabase.c:910,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 913
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 913
    functionName: g_tls_database_lookup_certificate_issuer_finish
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_TLS_DATABASE_GET_CLASS
    - G_IS_TLS_DATABASE
    - G_IS_ASYNC_RESULT
    linkageType: ''
    returnType: GTlsCertificate*
    signature: 'GTlsCertificate *g_tls_database_lookup_certificate_issuer_finish (GTlsDatabase
      *self, GAsyncResult *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/gio/gtlsdatabase.c:252,1
    - Dst: g_task_new
      Src: /src/glib/gio/gtlsdatabase.c:256,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gtlsdatabase.c:254,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gtlsdatabase.c:257,1
    - Dst: g_strdup
      Src: /src/glib/gio/gtlsdatabase.c:253,1
    - Dst: g_task_set_name
      Src: /src/glib/gio/gtlsdatabase.c:259,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gtlsdatabase.c:260,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gtlsdatabase.c:261,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gtlsdatabase.c:262,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 7
    argNames:
    - self
    - handle
    - interaction
    - flags
    - cancellable
    - callback
    - user_data
    argTypes:
    - GTlsDatabase*
    - gchar*
    - GTlsInteraction*
    - GTlsDatabaseLookupFlags
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 263
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 263
    functionName: g_tls_database_real_lookup_certificate_for_handle_async
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_task_new
    - g_object_unref
    - g_slice_new0
    - g_task_set_source_tag
    - g_task_run_in_thread
    - g_object_ref
    - g_task_set_task_data
    - g_task_set_name
    linkageType: ''
    returnType: void
    signature: 'static void g_tls_database_real_lookup_certificate_for_handle_async
      (GTlsDatabase *self, const gchar *handle, GTlsInteraction *interaction, GTlsDatabaseLookupFlags
      flags, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:872,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:874,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:873,1
    - Dst: G_IS_TLS_CERTIFICATE
      Src: /src/glib/gio/gtlsdatabase.c:873,1
    - Dst: G_IS_TLS_DATABASE
      Src: /src/glib/gio/gtlsdatabase.c:872,1
    - Dst: G_IS_TLS_INTERACTION
      Src: /src/glib/gio/gtlsdatabase.c:874,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:875,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gtlsdatabase.c:875,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:876,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:877,1
    - Dst: G_TLS_DATABASE_GET_CLASS
      Src: /src/glib/gio/gtlsdatabase.c:878,1
    - Dst: G_TLS_DATABASE_GET_CLASS
      Src: /src/glib/gio/gtlsdatabase.c:877,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 7
    argNames:
    - self
    - certificate
    - interaction
    - flags
    - cancellable
    - callback
    - user_data
    argTypes:
    - GTlsDatabase*
    - GTlsCertificate*
    - GTlsInteraction*
    - GTlsDatabaseLookupFlags
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 885
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 885
    functionName: g_tls_database_lookup_certificate_issuer_async
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - G_IS_TLS_DATABASE
    - g_return_if_fail
    - G_IS_TLS_CERTIFICATE
    - G_IS_CANCELLABLE
    - G_TLS_DATABASE_GET_CLASS
    - G_IS_TLS_INTERACTION
    linkageType: ''
    returnType: void
    signature: 'void g_tls_database_lookup_certificate_issuer_async (GTlsDatabase
      *self, GTlsCertificate *certificate, GTlsInteraction *interaction, GTlsDatabaseLookupFlags
      flags, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:984,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:985,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:986,1
    - Dst: G_IS_TLS_INTERACTION
      Src: /src/glib/gio/gtlsdatabase.c:986,1
    - Dst: G_IS_TLS_DATABASE
      Src: /src/glib/gio/gtlsdatabase.c:984,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:987,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gtlsdatabase.c:987,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:988,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:989,1
    - Dst: G_TLS_DATABASE_GET_CLASS
      Src: /src/glib/gio/gtlsdatabase.c:989,1
    - Dst: G_TLS_DATABASE_GET_CLASS
      Src: /src/glib/gio/gtlsdatabase.c:990,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 7
    argNames:
    - self
    - issuer_raw_dn
    - interaction
    - flags
    - cancellable
    - callback
    - user_data
    argTypes:
    - GTlsDatabase*
    - GByteArray*
    - GTlsInteraction*
    - GTlsDatabaseLookupFlags
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 997
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 997
    functionName: g_tls_database_lookup_certificates_issued_by_async
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - G_IS_TLS_DATABASE
    - g_return_if_fail
    - G_IS_CANCELLABLE
    - G_TLS_DATABASE_GET_CLASS
    - G_IS_TLS_INTERACTION
    linkageType: ''
    returnType: void
    signature: 'void g_tls_database_lookup_certificates_issued_by_async (GTlsDatabase
      *self, GByteArray *issuer_raw_dn, GTlsInteraction *interaction, GTlsDatabaseLookupFlags
      flags, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:270,1
    - Dst: G_TASK
      Src: /src/glib/gio/gtlsdatabase.c:272,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gtlsdatabase.c:272,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gtlsdatabase.c:270,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 273
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 273
    functionName: g_tls_database_real_lookup_certificate_for_handle_finish
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_return_val_if_fail
    - g_task_is_valid
    - g_task_propagate_pointer
    linkageType: ''
    returnType: GTlsCertificate*
    signature: 'static GTlsCertificate *g_tls_database_real_lookup_certificate_for_handle_finish
      (GTlsDatabase *self, GAsyncResult *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:942,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:944,1
    - Dst: G_IS_TLS_DATABASE
      Src: /src/glib/gio/gtlsdatabase.c:942,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:943,1
    - Dst: G_IS_TLS_INTERACTION
      Src: /src/glib/gio/gtlsdatabase.c:944,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:945,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gtlsdatabase.c:945,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:946,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:947,1
    - Dst: G_TLS_DATABASE_GET_CLASS
      Src: /src/glib/gio/gtlsdatabase.c:947,1
    - Dst: G_TLS_DATABASE_GET_CLASS
      Src: /src/glib/gio/gtlsdatabase.c:948,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 954
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 954
    functionName: g_tls_database_lookup_certificates_issued_by
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_TLS_DATABASE
    - G_IS_CANCELLABLE
    - G_TLS_DATABASE_GET_CLASS
    - G_IS_TLS_INTERACTION
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_tls_database_lookup_certificates_issued_by (GTlsDatabase
      *self, GByteArray *issuer_raw_dn, GTlsInteraction *interaction, GTlsDatabaseLookupFlags
      flags, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_tls_database_verify_chain
      Src: /src/glib/gio/gtlsdatabase.c:143,1
    - Dst: g_task_return_int
      Src: /src/glib/gio/gtlsdatabase.c:154,1
    - Dst: G_TLS_DATABASE
      Src: /src/glib/gio/gtlsdatabase.c:143,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gtlsdatabase.c:152,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - task
    - object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 155
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 155
    functionName: async_verify_chain_thread
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - G_TLS_DATABASE
    - g_task_return_int
    - g_task_return_error
    - g_tls_database_verify_chain
    linkageType: ''
    returnType: void
    signature: "static void async_verify_chain_thread (GTask *task,\t\t\t gpointer\
      \ object,\t\t\t gpointer task_data,\t\t\t GCancellable *cancellable) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gtlsdatabase.c:213,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gtlsdatabase.c:215,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gtlsdatabase.c:214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 216
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 216
    functionName: async_lookup_certificate_for_handle_free
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - g_free
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void async_lookup_certificate_for_handle_free (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_byte_array_unref
      Src: /src/glib/gio/gtlsdatabase.c:361,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gtlsdatabase.c:363,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gtlsdatabase.c:362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 364
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 364
    functionName: async_lookup_certificates_issued_by_free
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - g_byte_array_unref
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void async_lookup_certificates_issued_by_free (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:427,1
    - Dst: G_TASK
      Src: /src/glib/gio/gtlsdatabase.c:429,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gtlsdatabase.c:429,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gtlsdatabase.c:427,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 430
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 430
    functionName: g_tls_database_real_lookup_certificates_issued_by_finish
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_return_val_if_fail
    - g_task_is_valid
    - g_task_propagate_pointer
    linkageType: ''
    returnType: GList*
    signature: 'static GList *g_tls_database_real_lookup_certificates_issued_by_finish
      (GTlsDatabase *self, GAsyncResult *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/gio/gtlsdatabase.c:171,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gtlsdatabase.c:175,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gtlsdatabase.c:174,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gtlsdatabase.c:172,1
    - Dst: g_strdup
      Src: /src/glib/gio/gtlsdatabase.c:173,1
    - Dst: g_task_new
      Src: /src/glib/gio/gtlsdatabase.c:178,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gtlsdatabase.c:179,1
    - Dst: g_task_set_name
      Src: /src/glib/gio/gtlsdatabase.c:180,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gtlsdatabase.c:181,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/gtlsdatabase.c:182,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gtlsdatabase.c:183,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 9
    argNames:
    - self
    - chain
    - purpose
    - identity
    - interaction
    - flags
    - cancellable
    - callback
    - user_data
    argTypes:
    - GTlsDatabase*
    - GTlsCertificate*
    - gchar*
    - GSocketConnectable*
    - GTlsInteraction*
    - GTlsDatabaseVerifyFlags
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 184
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 184
    functionName: g_tls_database_real_verify_chain_async
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_task_new
    - g_object_unref
    - g_slice_new0
    - g_task_set_source_tag
    - g_task_run_in_thread
    - g_object_ref
    - g_task_set_task_data
    - g_task_set_name
    linkageType: ''
    returnType: void
    signature: 'static void g_tls_database_real_verify_chain_async (GTlsDatabase *self,
      GTlsCertificate *chain, const gchar *purpose, GSocketConnectable *identity,
      GTlsInteraction *interaction, GTlsDatabaseVerifyFlags flags, GCancellable *cancellable,
      GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_tls_database_lookup_certificate_for_handle
      Src: /src/glib/gio/gtlsdatabase.c:228,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gtlsdatabase.c:235,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gtlsdatabase.c:237,1
    - Dst: G_TLS_DATABASE
      Src: /src/glib/gio/gtlsdatabase.c:228,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 4
    argNames:
    - task
    - object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 238
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 238
    functionName: async_lookup_certificate_for_handle_thread
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - g_task_return_error
    - g_tls_database_lookup_certificate_for_handle
    - g_task_return_pointer
    - G_TLS_DATABASE
    linkageType: ''
    returnType: void
    signature: "static void async_lookup_certificate_for_handle_thread (GTask *task,\t\
      \t\t\t\t gpointer object,\t\t\t\t\t gpointer task_data,\t\t\t\t\t GCancellable\
      \ *cancellable) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_object
      Src: /src/glib/gio/gtlsdatabase.c:287,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gtlsdatabase.c:289,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gtlsdatabase.c:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 290
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 290
    functionName: async_lookup_certificate_issuer_free
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void async_lookup_certificate_issuer_free (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_free_full
      Src: /src/glib/gio/gtlsdatabase.c:371,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 372
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 372
    functionName: async_lookup_certificates_free_certificates
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - g_list_free_full
    linkageType: ''
    returnType: void
    signature: 'static void async_lookup_certificates_free_certificates (gpointer
      data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GTlsDatabaseClass*
    constantsTouched: []
    func_position:
      end: 443
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 443
    functionName: g_tls_database_class_init
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_tls_database_class_init (GTlsDatabaseClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:1018,1
    - Dst: G_IS_TLS_DATABASE
      Src: /src/glib/gio/gtlsdatabase.c:1018,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:1020,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gtlsdatabase.c:1019,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:1019,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlsdatabase.c:1021,1
    - Dst: G_TLS_DATABASE_GET_CLASS
      Src: /src/glib/gio/gtlsdatabase.c:1021,1
    - Dst: G_TLS_DATABASE_GET_CLASS
      Src: /src/glib/gio/gtlsdatabase.c:1022,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1025
    functionName: g_tls_database_lookup_certificates_issued_by_finish
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_TLS_DATABASE_GET_CLASS
    - G_IS_TLS_DATABASE
    - G_IS_ASYNC_RESULT
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_tls_database_lookup_certificates_issued_by_finish (GTlsDatabase
      *self, GAsyncResult *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - cert
    argTypes:
    - GTlsDatabase*
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: g_tls_database_init
    functionSourceFile: /src/glib/gio/gtlsdatabase.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_tls_database_init (GTlsDatabase *cert) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - connectable_iface
    argTypes:
    - GSocketConnectableIface*
    constantsTouched: []
    func_position:
      end: 132
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 132
    functionName: g_socket_address_connectable_iface_init
    functionSourceFile: /src/glib/gio/gsocketaddress.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_address_connectable_iface_init (GSocketConnectableIface
      *connectable_iface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_ADDRESS
      Src: /src/glib/gio/gsocketaddress.c:91,1
    - Dst: g_socket_address_get_family
      Src: /src/glib/gio/gsocketaddress.c:96,1
    - Dst: g_value_set_enum
      Src: /src/glib/gio/gsocketaddress.c:96,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gsocketaddress.c:100,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 102
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 102
    functionName: g_socket_address_get_property
    functionSourceFile: /src/glib/gio/gsocketaddress.c
    functionUses: []
    functionsReached:
    - G_SOCKET_ADDRESS
    - g_value_set_enum
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_socket_address_get_family
    linkageType: ''
    returnType: void
    signature: "static void g_socket_address_get_property (GObject *object, guint\
      \ prop_id,\t\t\t GValue *value, GParamSpec *pspec) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocketaddress.c:156,1
    - Dst: G_IS_SOCKET_ADDRESS
      Src: /src/glib/gio/gsocketaddress.c:156,1
    - Dst: G_SOCKET_ADDRESS_GET_CLASS
      Src: /src/glib/gio/gsocketaddress.c:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - address
    argTypes:
    - GSocketAddress*
    constantsTouched: []
    func_position:
      end: 159
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: g_socket_address_get_native_size
    functionSourceFile: /src/glib/gio/gsocketaddress.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET_ADDRESS
    - g_return_val_if_fail
    - G_SOCKET_ADDRESS_GET_CLASS
    linkageType: ''
    returnType: gssize
    signature: 'gssize g_socket_address_get_native_size (GSocketAddress *address) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_ntohs
      Src: /src/glib/gio/gsocketaddress.c:229,1
    - Dst: memcpy
      Src: /src/glib/gio/gsocketaddress.c:249,1
    - Dst: g_inet_address_new_from_bytes
      Src: /src/glib/gio/gsocketaddress.c:254,1
    - Dst: g_object_new
      Src: /src/glib/gio/gsocketaddress.c:257,1
    - Dst: g_ntohs
      Src: /src/glib/gio/gsocketaddress.c:259,1
    - Dst: g_inet_address_new_from_bytes
      Src: /src/glib/gio/gsocketaddress.c:228,1
    - Dst: IN6_IS_ADDR_V4MAPPED
      Src: /src/glib/gio/gsocketaddress.c:243,1
    - Dst: g_unix_socket_address_new_with_type
      Src: /src/glib/gio/gsocketaddress.c:286,1
    - Dst: g_unix_socket_address_new_with_type
      Src: /src/glib/gio/gsocketaddress.c:292,1
    - Dst: g_unix_socket_address_new
      Src: /src/glib/gio/gsocketaddress.c:298,1
    - Dst: g_unix_socket_address_new_with_type
      Src: /src/glib/gio/gsocketaddress.c:274,1
    - Dst: g_unix_socket_address_new_with_type
      Src: /src/glib/gio/gsocketaddress.c:281,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gsocketaddress.c:270,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketaddress.c:230,1
    - Dst: g_inet_address_new_from_bytes
      Src: /src/glib/gio/gsocketaddress.c:250,1
    - Dst: g_unix_socket_address_abstract_names_supported
      Src: /src/glib/gio/gsocketaddress.c:279,1
    - Dst: g_inet_socket_address_new
      Src: /src/glib/gio/gsocketaddress.c:229,1
    - Dst: g_native_socket_address_new
      Src: /src/glib/gio/gsocketaddress.c:301,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketaddress.c:263,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 302
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 302
    functionName: g_socket_address_new_from_native
    functionSourceFile: /src/glib/gio/gsocketaddress.c
    functionUses: []
    functionsReached:
    - g_inet_address_new_from_bytes
    - memcpy
    - G_STRUCT_OFFSET
    - g_unix_socket_address_new_with_type
    - g_object_unref
    - g_object_new
    - g_ntohs
    - g_native_socket_address_new
    - IN6_IS_ADDR_V4MAPPED
    - g_unix_socket_address_abstract_names_supported
    - g_unix_socket_address_new
    - g_inet_socket_address_new
    linkageType: ''
    returnType: GSocketAddress*
    signature: "GSocketAddress *g_socket_address_new_from_native (gpointer native,\t\
      \t\t\t gsize len) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_ADDRESS_ADDRESS_ENUMERATOR
      Src: /src/glib/gio/gsocketaddress.c:340,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 351
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 351
    functionName: g_socket_address_address_enumerator_next
    functionSourceFile: /src/glib/gio/gsocketaddress.c
    functionUses: []
    functionsReached:
    - G_SOCKET_ADDRESS_ADDRESS_ENUMERATOR
    linkageType: ''
    returnType: GSocketAddress*
    signature: "static GSocketAddress *g_socket_address_address_enumerator_next (GSocketAddressEnumerator\
      \ *enumerator,\t\t\t\t\t GCancellable *cancellable,\t\t\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsocketaddress.c:361,1
    - Dst: G_SOCKET_ADDRESS_ENUMERATOR_CLASS
      Src: /src/glib/gio/gsocketaddress.c:363,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - sockaddrenum_class
    argTypes:
    - GSocketAddressAddressEnumeratorClass*
    constantsTouched: []
    func_position:
      end: 367
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 367
    functionName: _g_socket_address_address_enumerator_class_init
    functionSourceFile: /src/glib/gio/gsocketaddress.c
    functionUses: []
    functionsReached:
    - G_SOCKET_ADDRESS_ENUMERATOR_CLASS
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void _g_socket_address_address_enumerator_class_init (GSocketAddressAddressEnumeratorClass
      *sockaddrenum_class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocketaddress.c:82,1
    - Dst: G_IS_SOCKET_ADDRESS
      Src: /src/glib/gio/gsocketaddress.c:82,1
    - Dst: G_SOCKET_ADDRESS_GET_CLASS
      Src: /src/glib/gio/gsocketaddress.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - address
    argTypes:
    - GSocketAddress*
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: g_socket_address_get_family
    functionSourceFile: /src/glib/gio/gsocketaddress.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET_ADDRESS
    - g_return_val_if_fail
    - G_SOCKET_ADDRESS_GET_CLASS
    linkageType: ''
    returnType: GSocketFamily
    signature: 'GSocketFamily g_socket_address_get_family (GSocketAddress *address) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsocketaddress.c:107,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocketaddress.c:118,1
    - Dst: g_param_spec_enum
      Src: /src/glib/gio/gsocketaddress.c:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GSocketAddressClass*
    constantsTouched: []
    func_position:
      end: 124
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 124
    functionName: g_socket_address_class_init
    functionSourceFile: /src/glib/gio/gsocketaddress.c
    functionUses: []
    functionsReached:
    - g_param_spec_enum
    - g_object_class_install_property
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_address_class_init (GSocketAddressClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - address
    argTypes:
    - GSocketAddress*
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: g_socket_address_init
    functionSourceFile: /src/glib/gio/gsocketaddress.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_address_init (GSocketAddress *address) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_ADDRESS_ADDRESS_ENUMERATOR
      Src: /src/glib/gio/gsocketaddress.c:326,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketaddress.c:329,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsocketaddress.c:331,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 332
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 332
    functionName: g_socket_address_address_enumerator_finalize
    functionSourceFile: /src/glib/gio/gsocketaddress.c
    functionUses: []
    functionsReached:
    - G_SOCKET_ADDRESS_ADDRESS_ENUMERATOR
    - g_object_unref
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_address_address_enumerator_finalize (GObject
      *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - enumerator
    argTypes:
    - GSocketAddressAddressEnumerator*
    constantsTouched: []
    func_position:
      end: 356
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 356
    functionName: _g_socket_address_address_enumerator_init
    functionSourceFile: /src/glib/gio/gsocketaddress.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void _g_socket_address_address_enumerator_init (GSocketAddressAddressEnumerator
      *enumerator) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gsocketaddress.c:374,1
    - Dst: G_SOCKET_ADDRESS
      Src: /src/glib/gio/gsocketaddress.c:375,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocketaddress.c:375,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 378
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 378
    functionName: g_socket_address_connectable_enumerate
    functionSourceFile: /src/glib/gio/gsocketaddress.c
    functionUses: []
    functionsReached:
    - G_SOCKET_ADDRESS
    - g_object_new
    - g_object_ref
    linkageType: ''
    returnType: GSocketAddressEnumerator*
    signature: 'static GSocketAddressEnumerator *g_socket_address_connectable_enumerate
      (GSocketConnectable *connectable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gsocketaddress.c:385,1
    - Dst: g_object_get
      Src: /src/glib/gio/gsocketaddress.c:395,1
    - Dst: g_inet_address_to_string
      Src: /src/glib/gio/gsocketaddress.c:397,1
    - Dst: G_IS_PROXY_ADDRESS
      Src: /src/glib/gio/gsocketaddress.c:388,1
    - Dst: G_IS_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/gsocketaddress.c:387,1
    - Dst: g_uri_join
      Src: /src/glib/gio/gsocketaddress.c:398,1
    - Dst: g_object_new
      Src: /src/glib/gio/gsocketaddress.c:400,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketaddress.c:405,1
    - Dst: g_free
      Src: /src/glib/gio/gsocketaddress.c:406,1
    - Dst: g_free
      Src: /src/glib/gio/gsocketaddress.c:407,1
    - Dst: g_socket_address_connectable_enumerate
      Src: /src/glib/gio/gsocketaddress.c:411,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 415
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 415
    functionName: g_socket_address_connectable_proxy_enumerate
    functionSourceFile: /src/glib/gio/gsocketaddress.c
    functionUses: []
    functionsReached:
    - G_IS_INET_SOCKET_ADDRESS
    - g_object_get
    - g_object_unref
    - g_object_new
    - g_socket_address_connectable_enumerate
    - g_assert
    - g_inet_address_to_string
    - g_uri_join
    - G_IS_PROXY_ADDRESS
    - g_free
    linkageType: ''
    returnType: GSocketAddressEnumerator*
    signature: 'static GSocketAddressEnumerator *g_socket_address_connectable_proxy_enumerate
      (GSocketConnectable *connectable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocketaddress.c:187,1
    - Dst: G_IS_SOCKET_ADDRESS
      Src: /src/glib/gio/gsocketaddress.c:187,1
    - Dst: G_SOCKET_ADDRESS_GET_CLASS
      Src: /src/glib/gio/gsocketaddress.c:189,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - address
    - dest
    - destlen
    - error
    argTypes:
    - GSocketAddress*
    - gpointer
    - gsize
    - GError**
    constantsTouched: []
    func_position:
      end: 190
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 190
    functionName: g_socket_address_to_native
    functionSourceFile: /src/glib/gio/gsocketaddress.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET_ADDRESS
    - g_return_val_if_fail
    - G_SOCKET_ADDRESS_GET_CLASS
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_socket_address_to_native (GSocketAddress *address,\t\t\t\
      \ gpointer dest,\t\t\t gsize destlen,\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gtlsfiledatabase.c:56,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gtlsfiledatabase.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GTlsFileDatabaseInterface*
    constantsTouched: []
    func_position:
      end: 62
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 62
    functionName: g_tls_file_database_default_init
    functionSourceFile: /src/glib/gio/gtlsfiledatabase.c
    functionUses: []
    functionsReached:
    - g_object_interface_install_property
    - g_param_spec_string
    linkageType: ''
    returnType: void
    signature: 'static void g_tls_file_database_default_init (GTlsFileDatabaseInterface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_tls_backend_get_default
      Src: /src/glib/gio/gtlsfiledatabase.c:86,1
    - Dst: g_tls_backend_get_file_database_type
      Src: /src/glib/gio/gtlsfiledatabase.c:87,1
    - Dst: g_initable_new
      Src: /src/glib/gio/gtlsfiledatabase.c:87,1
    - Dst: G_TLS_DATABASE
      Src: /src/glib/gio/gtlsfiledatabase.c:91,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 92
    functionName: g_tls_file_database_new
    functionSourceFile: /src/glib/gio/gtlsfiledatabase.c
    functionUses: []
    functionsReached:
    - G_TLS_DATABASE
    - g_initable_new
    - g_tls_backend_get_default
    - g_tls_backend_get_file_database_type
    linkageType: ''
    returnType: GTlsDatabase*
    signature: 'GTlsDatabase *g_tls_file_database_new (const gchar *anchors, GError
      **error) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/glib/gio/gapplication-tool.c:122,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/gapplication-tool.c:120,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/gapplication-tool.c:124,1
    - Dst: g_string_append
      Src: /src/glib/gio/gapplication-tool.c:128,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gapplication-tool.c:136,1
    - Dst: _
      Src: /src/glib/gio/gapplication-tool.c:136,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gapplication-tool.c:144,1
    - Dst: _
      Src: /src/glib/gio/gapplication-tool.c:145,1
    - Dst: g_print
      Src: /src/glib/gio/gapplication-tool.c:153,1
    - Dst: g_printerr
      Src: /src/glib/gio/gapplication-tool.c:155,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gapplication-tool.c:137,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/gapplication-tool.c:93,1
    - Dst: g_string_printf
      Src: /src/glib/gio/gapplication-tool.c:99,1
    - Dst: g_string_append
      Src: /src/glib/gio/gapplication-tool.c:104,1
    - Dst: MAX
      Src: /src/glib/gio/gapplication-tool.c:122,1
    - Dst: _
      Src: /src/glib/gio/gapplication-tool.c:127,1
    - Dst: _
      Src: /src/glib/gio/gapplication-tool.c:136,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/gapplication-tool.c:140,1
    - Dst: MAX
      Src: /src/glib/gio/gapplication-tool.c:141,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/gapplication-tool.c:143,1
    - Dst: g_string_append
      Src: /src/glib/gio/gapplication-tool.c:147,1
    - Dst: g_string_new
      Src: /src/glib/gio/gapplication-tool.c:87,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gapplication-tool.c:94,1
    - Dst: _
      Src: /src/glib/gio/gapplication-tool.c:104,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gapplication-tool.c:113,1
    - Dst: strstr
      Src: /src/glib/gio/gapplication-tool.c:121,1
    - Dst: strlen
      Src: /src/glib/gio/gapplication-tool.c:122,1
    - Dst: _
      Src: /src/glib/gio/gapplication-tool.c:113,1
    - Dst: g_string_append
      Src: /src/glib/gio/gapplication-tool.c:117,1
    - Dst: strstr
      Src: /src/glib/gio/gapplication-tool.c:125,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gapplication-tool.c:126,1
    - Dst: strlen
      Src: /src/glib/gio/gapplication-tool.c:141,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gapplication-tool.c:149,1
    - Dst: g_string_free
      Src: /src/glib/gio/gapplication-tool.c:157,1
    - Dst: _
      Src: /src/glib/gio/gapplication-tool.c:99,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gapplication-tool.c:111,1
    - Dst: _
      Src: /src/glib/gio/gapplication-tool.c:112,1
    - Dst: _
      Src: /src/glib/gio/gapplication-tool.c:117,1
    - Dst: _
      Src: /src/glib/gio/gapplication-tool.c:137,1
    - Dst: _
      Src: /src/glib/gio/gapplication-tool.c:149,1
    - Dst: _
      Src: /src/glib/gio/gapplication-tool.c:127,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 65
    argCount: 2
    argNames:
    - requested
    - command
    argTypes:
    - gboolean
    - gchar*
    constantsTouched: []
    func_position:
      end: 160
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 160
    functionName: app_help
    functionSourceFile: /src/glib/gio/gapplication-tool.c
    functionUses: []
    functionsReached:
    - g_printerr
    - strlen
    - G_N_ELEMENTS
    - MAX
    - strstr
    - g_string_free
    - g_string_printf
    - g_print
    - g_string_new
    - _
    - g_string_append_printf
    - g_string_append
    - g_str_equal
    linkageType: ''
    returnType: int
    signature: 'static int app_help (gboolean requested, const gchar *command) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_strv_length
      Src: /src/glib/gio/gapplication-tool.c:204,1
    - Dst: G_IS_DESKTOP_APP_INFO
      Src: /src/glib/gio/gapplication-tool.c:213,1
    - Dst: g_app_info_get_all
      Src: /src/glib/gio/gapplication-tool.c:207,1
    - Dst: app_no_args
      Src: /src/glib/gio/gapplication-tool.c:205,1
    - Dst: g_desktop_app_info_get_boolean
      Src: /src/glib/gio/gapplication-tool.c:214,1
    - Dst: g_app_info_get_id
      Src: /src/glib/gio/gapplication-tool.c:218,1
    - Dst: G_APP_INFO
      Src: /src/glib/gio/gapplication-tool.c:218,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/gapplication-tool.c:219,1
    - Dst: g_strndup
      Src: /src/glib/gio/gapplication-tool.c:223,1
    - Dst: strlen
      Src: /src/glib/gio/gapplication-tool.c:223,1
    - Dst: g_list_delete_link
      Src: /src/glib/gio/gapplication-tool.c:229,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gapplication-tool.c:230,1
    - Dst: g_print
      Src: /src/glib/gio/gapplication-tool.c:224,1
    - Dst: g_free
      Src: /src/glib/gio/gapplication-tool.c:225,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 1
    argNames:
    - args
    argTypes:
    - gchar**
    constantsTouched: []
    func_position:
      end: 234
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 234
    functionName: app_list
    functionSourceFile: /src/glib/gio/gapplication-tool.c
    functionUses: []
    functionsReached:
    - g_list_delete_link
    - G_IS_DESKTOP_APP_INFO
    - g_strv_length
    - strlen
    - app_no_args
    - g_desktop_app_info_get_boolean
    - g_str_has_suffix
    - g_strndup
    - g_object_unref
    - g_app_info_get_id
    - g_app_info_get_all
    - g_print
    - G_APP_INFO
    - g_free
    linkageType: ''
    returnType: int
    signature: 'static int app_list (gchar **args) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_printerr
      Src: /src/glib/gio/gapplication-tool.c:185,1
    - Dst: app_help
      Src: /src/glib/gio/gapplication-tool.c:186,1
    - Dst: _
      Src: /src/glib/gio/gapplication-tool.c:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - command
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 187
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 187
    functionName: app_no_args
    functionSourceFile: /src/glib/gio/gapplication-tool.c
    functionUses: []
    functionsReached:
    - _
    - g_printerr
    - app_help
    linkageType: ''
    returnType: int
    signature: 'static int app_no_args (const gchar *command) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/gapplication-tool.c:265,1
    - Dst: _
      Src: /src/glib/gio/gapplication-tool.c:269,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gapplication-tool.c:268,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gapplication-tool.c:268,1
    - Dst: g_printerr
      Src: /src/glib/gio/gapplication-tool.c:269,1
    - Dst: g_error_free
      Src: /src/glib/gio/gapplication-tool.c:270,1
    - Dst: app_path_for_id
      Src: /src/glib/gio/gapplication-tool.c:274,1
    - Dst: g_dbus_connection_call_sync
      Src: /src/glib/gio/gapplication-tool.c:276,1
    - Dst: g_free
      Src: /src/glib/gio/gapplication-tool.c:280,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gapplication-tool.c:284,1
    - Dst: g_printerr
      Src: /src/glib/gio/gapplication-tool.c:289,1
    - Dst: g_error_free
      Src: /src/glib/gio/gapplication-tool.c:290,1
    - Dst: _
      Src: /src/glib/gio/gapplication-tool.c:289,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - app_id
    - method_name
    - parameters
    argTypes:
    - gchar*
    - gchar*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 293
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 293
    functionName: app_call
    functionSourceFile: /src/glib/gio/gapplication-tool.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - g_printerr
    - g_variant_unref
    - g_dbus_connection_call_sync
    - g_error_free
    - g_bus_get_sync
    - app_path_for_id
    - _
    - g_free
    linkageType: ''
    returnType: int
    signature: 'static int app_call (const gchar *app_id, const gchar *method_name,
      GVariant *parameters) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/glib/gio/gapplication-tool.c:323,1
    - Dst: g_error_free
      Src: /src/glib/gio/gapplication-tool.c:352,1
    - Dst: app_check_name
      Src: /src/glib/gio/gapplication-tool.c:318,1
    - Dst: g_printerr
      Src: /src/glib/gio/gapplication-tool.c:331,1
    - Dst: _
      Src: /src/glib/gio/gapplication-tool.c:331,1
    - Dst: g_variant_builder_init_static
      Src: /src/glib/gio/gapplication-tool.c:336,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gapplication-tool.c:357,1
    - Dst: g_printerr
      Src: /src/glib/gio/gapplication-tool.c:350,1
    - Dst: g_printerr
      Src: /src/glib/gio/gapplication-tool.c:362,1
    - Dst: _
      Src: /src/glib/gio/gapplication-tool.c:350,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gapplication-tool.c:358,1
    - Dst: g_variant_builder_clear
      Src: /src/glib/gio/gapplication-tool.c:363,1
    - Dst: g_printerr
      Src: /src/glib/gio/gapplication-tool.c:323,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gapplication-tool.c:336,1
    - Dst: g_variant_parse
      Src: /src/glib/gio/gapplication-tool.c:343,1
    - Dst: g_variant_builder_clear
      Src: /src/glib/gio/gapplication-tool.c:351,1
    - Dst: _
      Src: /src/glib/gio/gapplication-tool.c:362,1
    - Dst: app_call
      Src: /src/glib/gio/gapplication-tool.c:368,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gapplication-tool.c:368,1
    - Dst: app_get_platform_data
      Src: /src/glib/gio/gapplication-tool.c:368,1
    - Dst: g_action_name_is_valid
      Src: /src/glib/gio/gapplication-tool.c:329,1
    - Dst: g_variant_parse_error_print_context
      Src: /src/glib/gio/gapplication-tool.c:349,1
    - Dst: g_free
      Src: /src/glib/gio/gapplication-tool.c:353,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 1
    argNames:
    - args
    argTypes:
    - gchar**
    constantsTouched: []
    func_position:
      end: 369
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 369
    functionName: app_action
    functionSourceFile: /src/glib/gio/gapplication-tool.c
    functionUses: []
    functionsReached:
    - g_printerr
    - g_variant_parse
    - g_variant_builder_init_static
    - g_free
    - g_variant_builder_clear
    - g_variant_builder_add
    - g_variant_unref
    - g_action_name_is_valid
    - g_error_free
    - app_check_name
    - g_variant_new
    - _
    - app_get_platform_data
    - G_VARIANT_TYPE
    - g_variant_parse_error_print_context
    - app_call
    linkageType: ''
    returnType: int
    signature: 'static int app_action (gchar **args) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: app_check_name
      Src: /src/glib/gio/gapplication-tool.c:383,1
    - Dst: g_variant_builder_init_static
      Src: /src/glib/gio/gapplication-tool.c:389,1
    - Dst: app_activate
      Src: /src/glib/gio/gapplication-tool.c:387,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/gio/gapplication-tool.c:397,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/gapplication-tool.c:396,1
    - Dst: g_variant_new_take_string
      Src: /src/glib/gio/gapplication-tool.c:397,1
    - Dst: g_file_get_uri
      Src: /src/glib/gio/gapplication-tool.c:397,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gapplication-tool.c:398,1
    - Dst: app_call
      Src: /src/glib/gio/gapplication-tool.c:401,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gapplication-tool.c:401,1
    - Dst: app_get_platform_data
      Src: /src/glib/gio/gapplication-tool.c:401,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - args
    argTypes:
    - gchar**
    constantsTouched: []
    func_position:
      end: 402
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 402
    functionName: app_launch
    functionSourceFile: /src/glib/gio/gapplication-tool.c
    functionUses: []
    functionsReached:
    - g_file_get_uri
    - g_object_unref
    - app_activate
    - g_variant_builder_init_static
    - g_variant_new_take_string
    - g_variant_builder_add_value
    - g_variant_new
    - app_check_name
    - app_get_platform_data
    - g_file_new_for_commandline_arg
    - app_call
    linkageType: ''
    returnType: int
    signature: 'static int app_launch (gchar **args) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_printerr
      Src: /src/glib/gio/gapplication-tool.c:168,1
    - Dst: g_printerr
      Src: /src/glib/gio/gapplication-tool.c:174,1
    - Dst: _
      Src: /src/glib/gio/gapplication-tool.c:168,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gapplication-tool.c:172,1
    - Dst: _
      Src: /src/glib/gio/gapplication-tool.c:174,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - args
    - command
    argTypes:
    - gchar**
    - gchar*
    constantsTouched: []
    func_position:
      end: 179
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 179
    functionName: app_check_name
    functionSourceFile: /src/glib/gio/gapplication-tool.c
    functionUses: []
    functionsReached:
    - _
    - g_printerr
    - g_dbus_is_name
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean app_check_name (gchar **args, const gchar *command) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strv_length
      Src: /src/glib/gio/gapplication-tool.c:192,1
    - Dst: g_print
      Src: /src/glib/gio/gapplication-tool.c:195,1
    - Dst: app_no_args
      Src: /src/glib/gio/gapplication-tool.c:193,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - args
    argTypes:
    - gchar**
    constantsTouched: []
    func_position:
      end: 197
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 197
    functionName: app_version
    functionSourceFile: /src/glib/gio/gapplication-tool.c
    functionUses: []
    functionsReached:
    - g_strv_length
    - g_print
    - app_no_args
    linkageType: ''
    returnType: int
    signature: 'static int app_version (gchar **args) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_strconcat
      Src: /src/glib/gio/gapplication-tool.c:242,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 252
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 252
    functionName: app_path_for_id
    functionSourceFile: /src/glib/gio/gapplication-tool.c
    functionUses: []
    functionsReached:
    - g_strconcat
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *app_path_for_id (const gchar *app_id) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_builder_init_static
      Src: /src/glib/gio/gapplication-tool.c:301,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gapplication-tool.c:304,1
    - Dst: g_getenv
      Src: /src/glib/gio/gapplication-tool.c:303,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gapplication-tool.c:304,1
    - Dst: g_getenv
      Src: /src/glib/gio/gapplication-tool.c:306,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/gapplication-tool.c:307,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/gapplication-tool.c:307,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gapplication-tool.c:309,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 310
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 310
    functionName: app_get_platform_data
    functionSourceFile: /src/glib/gio/gapplication-tool.c
    functionUses: []
    functionsReached:
    - g_getenv
    - g_variant_builder_init_static
    - g_variant_new_string
    - g_variant_builder_end
    - g_variant_builder_add
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *app_get_platform_data (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: app_call
      Src: /src/glib/gio/gapplication-tool.c:374,1
    - Dst: app_get_platform_data
      Src: /src/glib/gio/gapplication-tool.c:374,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gapplication-tool.c:374,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - app_id
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 375
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 375
    functionName: app_activate
    functionSourceFile: /src/glib/gio/gapplication-tool.c
    functionUses: []
    functionsReached:
    - app_get_platform_data
    - g_variant_new
    - app_call
    linkageType: ''
    returnType: int
    signature: 'static int app_activate (const gchar *app_id) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: app_check_name
      Src: /src/glib/gio/gapplication-tool.c:412,1
    - Dst: g_printerr
      Src: /src/glib/gio/gapplication-tool.c:417,1
    - Dst: app_help
      Src: /src/glib/gio/gapplication-tool.c:418,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gapplication-tool.c:421,1
    - Dst: _
      Src: /src/glib/gio/gapplication-tool.c:417,1
    - Dst: g_desktop_app_info_new
      Src: /src/glib/gio/gapplication-tool.c:422,1
    - Dst: g_free
      Src: /src/glib/gio/gapplication-tool.c:423,1
    - Dst: g_printerr
      Src: /src/glib/gio/gapplication-tool.c:427,1
    - Dst: _
      Src: /src/glib/gio/gapplication-tool.c:427,1
    - Dst: g_desktop_app_info_list_actions
      Src: /src/glib/gio/gapplication-tool.c:431,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gapplication-tool.c:436,1
    - Dst: g_print
      Src: /src/glib/gio/gapplication-tool.c:434,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 1
    argNames:
    - args
    argTypes:
    - gchar**
    constantsTouched: []
    func_position:
      end: 439
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 439
    functionName: app_list_actions
    functionSourceFile: /src/glib/gio/gapplication-tool.c
    functionUses: []
    functionsReached:
    - g_printerr
    - g_strconcat
    - g_desktop_app_info_list_actions
    - g_desktop_app_info_new
    - g_object_unref
    - app_check_name
    - g_print
    - _
    - g_free
    - app_help
    linkageType: ''
    returnType: int
    signature: 'static int app_list_actions (gchar **args) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: app_help
      Src: /src/glib/gio/gapplication-tool.c:452,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gapplication-tool.c:454,1
    - Dst: app_help
      Src: /src/glib/gio/gapplication-tool.c:455,1
    - Dst: app_version
      Src: /src/glib/gio/gapplication-tool.c:458,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gapplication-tool.c:460,1
    - Dst: app_launch
      Src: /src/glib/gio/gapplication-tool.c:464,1
    - Dst: app_list_actions
      Src: /src/glib/gio/gapplication-tool.c:470,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gapplication-tool.c:466,1
    - Dst: bind_textdomain_codeset
      Src: /src/glib/gio/gapplication-tool.c:448,1
    - Dst: bindtextdomain
      Src: /src/glib/gio/gapplication-tool.c:446,1
    - Dst: g_printerr
      Src: /src/glib/gio/gapplication-tool.c:472,1
    - Dst: setlocale
      Src: /src/glib/gio/gapplication-tool.c:444,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gapplication-tool.c:457,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gapplication-tool.c:463,1
    - Dst: app_list
      Src: /src/glib/gio/gapplication-tool.c:461,1
    - Dst: app_action
      Src: /src/glib/gio/gapplication-tool.c:467,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gapplication-tool.c:469,1
    - Dst: textdomain
      Src: /src/glib/gio/gapplication-tool.c:445,1
    - Dst: _
      Src: /src/glib/gio/gapplication-tool.c:472,1
    - Dst: app_help
      Src: /src/glib/gio/gapplication-tool.c:474,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 475
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 475
    functionName: main
    functionSourceFile: /src/glib/gio/gapplication-tool.c
    functionUses: []
    functionsReached:
    - app_action
    - g_printerr
    - textdomain
    - app_list_actions
    - setlocale
    - app_list
    - bind_textdomain_codeset
    - app_version
    - app_help
    - _
    - app_launch
    - bindtextdomain
    - g_str_equal
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE_IO_STREAM
      Src: /src/glib/gio/glocalfileiostream.c:46,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/glocalfileiostream.c:51,1
    - Dst: g_object_unref
      Src: /src/glib/gio/glocalfileiostream.c:48,1
    - Dst: g_object_unref
      Src: /src/glib/gio/glocalfileiostream.c:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 52
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 52
    functionName: g_local_file_io_stream_finalize
    functionSourceFile: /src/glib/gio/glocalfileiostream.c
    functionUses: []
    functionsReached:
    - G_LOCAL_FILE_IO_STREAM
    - g_object_unref
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_local_file_io_stream_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE_IO_STREAM
      Src: /src/glib/gio/glocalfileiostream.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: g_local_file_io_stream_get_input_stream
    functionSourceFile: /src/glib/gio/glocalfileiostream.c
    functionUses: []
    functionsReached:
    - G_LOCAL_FILE_IO_STREAM
    linkageType: ''
    returnType: GInputStream*
    signature: 'static GInputStream *g_local_file_io_stream_get_input_stream (GIOStream
      *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE_IO_STREAM
      Src: /src/glib/gio/glocalfileiostream.c:90,1
    - Dst: _g_local_file_output_stream_really_close
      Src: /src/glib/gio/glocalfileiostream.c:97,1
    - Dst: G_LOCAL_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/glocalfileiostream.c:97,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/glocalfileiostream.c:93,1
    - Dst: g_input_stream_close
      Src: /src/glib/gio/glocalfileiostream.c:94,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GIOStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 99
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 99
    functionName: g_local_file_io_stream_close
    functionSourceFile: /src/glib/gio/glocalfileiostream.c
    functionUses: []
    functionsReached:
    - _g_local_file_output_stream_really_close
    - g_output_stream_close
    - g_input_stream_close
    - G_LOCAL_FILE_IO_STREAM
    - G_LOCAL_FILE_OUTPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_local_file_io_stream_close (GIOStream *stream,\t\
      \t\t GCancellable *cancellable,\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/glocalfileiostream.c:60,1
    - Dst: _g_local_file_output_stream_set_do_close
      Src: /src/glib/gio/glocalfileiostream.c:62,1
    - Dst: _g_local_file_output_stream_get_fd
      Src: /src/glib/gio/glocalfileiostream.c:63,1
    - Dst: g_object_ref
      Src: /src/glib/gio/glocalfileiostream.c:61,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/glocalfileiostream.c:61,1
    - Dst: _g_local_file_input_stream_new
      Src: /src/glib/gio/glocalfileiostream.c:64,1
    - Dst: _g_local_file_input_stream_set_do_close
      Src: /src/glib/gio/glocalfileiostream.c:66,1
    - Dst: G_LOCAL_FILE_INPUT_STREAM
      Src: /src/glib/gio/glocalfileiostream.c:66,1
    - Dst: G_FILE_IO_STREAM
      Src: /src/glib/gio/glocalfileiostream.c:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 70
    functionName: _g_local_file_io_stream_new
    functionSourceFile: /src/glib/gio/glocalfileiostream.c
    functionUses: []
    functionsReached:
    - _g_local_file_input_stream_new
    - g_object_new
    - _g_local_file_output_stream_set_do_close
    - _g_local_file_input_stream_set_do_close
    - G_FILE_IO_STREAM
    - _g_local_file_output_stream_get_fd
    - g_object_ref
    - G_LOCAL_FILE_INPUT_STREAM
    - G_OUTPUT_STREAM
    linkageType: ''
    returnType: GFileIOStream*
    signature: 'GFileIOStream *_g_local_file_io_stream_new (GLocalFileOutputStream
      *output_stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE_IO_STREAM
      Src: /src/glib/gio/glocalfileiostream.c:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: g_local_file_io_stream_get_output_stream
    functionSourceFile: /src/glib/gio/glocalfileiostream.c
    functionUses: []
    functionsReached:
    - G_LOCAL_FILE_IO_STREAM
    linkageType: ''
    returnType: GOutputStream*
    signature: 'static GOutputStream *g_local_file_io_stream_get_output_stream (GIOStream
      *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/glocalfileiostream.c:104,1
    - Dst: G_IO_STREAM_CLASS
      Src: /src/glib/gio/glocalfileiostream.c:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GLocalFileIOStreamClass*
    constantsTouched: []
    func_position:
      end: 112
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 112
    functionName: g_local_file_io_stream_class_init
    functionSourceFile: /src/glib/gio/glocalfileiostream.c
    functionUses: []
    functionsReached:
    - G_IO_STREAM_CLASS
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_local_file_io_stream_class_init (GLocalFileIOStreamClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GLocalFileIOStream*
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: g_local_file_io_stream_init
    functionSourceFile: /src/glib/gio/glocalfileiostream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_local_file_io_stream_init (GLocalFileIOStream *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gtcpconnection.c:121,1
    - Dst: G_IO_STREAM_CLASS
      Src: /src/glib/gio/gtcpconnection.c:122,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gtcpconnection.c:138,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtcpconnection.c:137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - class
    argTypes:
    - GTcpConnectionClass*
    constantsTouched: []
    func_position:
      end: 142
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 142
    functionName: g_tcp_connection_class_init
    functionSourceFile: /src/glib/gio/gtcpconnection.c
    functionUses: []
    functionsReached:
    - g_object_class_install_property
    - g_param_spec_boolean
    - G_IO_STREAM_CLASS
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_tcp_connection_class_init (GTcpConnectionClass *class) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_TCP_CONNECTION
      Src: /src/glib/gio/gtcpconnection.c:85,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gtcpconnection.c:90,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gtcpconnection.c:94,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 96
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 96
    functionName: g_tcp_connection_get_property
    functionSourceFile: /src/glib/gio/gtcpconnection.c
    functionUses: []
    functionsReached:
    - G_TCP_CONNECTION
    - g_value_set_boolean
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: "static void g_tcp_connection_get_property (GObject *object,\t\t\t\
      \ guint prop_id,\t\t\t GValue *value,\t\t\t GParamSpec *pspec) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_IO_STREAM_CLASS
      Src: /src/glib/gio/gtcpconnection.c:193,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gtcpconnection.c:195,1
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/gtcpconnection.c:194,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gtcpconnection.c:206,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/gtcpconnection.c:208,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gtcpconnection.c:210,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - task
    - error
    argTypes:
    - GTask*
    - GError*
    constantsTouched: []
    func_position:
      end: 211
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 211
    functionName: async_close_finish
    functionSourceFile: /src/glib/gio/gtcpconnection.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_object_unref
    - G_IO_STREAM_CLASS
    - g_task_get_cancellable
    - g_task_get_source_object
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void async_close_finish (GTask *task, GError *error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_notify
      Src: /src/glib/gio/gtcpconnection.c:316,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtcpconnection.c:316,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - connection
    - graceful_disconnect
    argTypes:
    - GTcpConnection*
    - gboolean
    constantsTouched: []
    func_position:
      end: 318
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 318
    functionName: g_tcp_connection_set_graceful_disconnect
    functionSourceFile: /src/glib/gio/gtcpconnection.c
    functionUses: []
    functionsReached:
    - g_object_notify
    - G_OBJECT
    linkageType: ''
    returnType: void
    signature: "void g_tcp_connection_set_graceful_disconnect (GTcpConnection *connection,\t\
      \t\t\t\t gboolean graceful_disconnect) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_tcp_connection_get_instance_private
      Src: /src/glib/gio/gtcpconnection.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - connection
    argTypes:
    - GTcpConnection*
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: g_tcp_connection_init
    functionSourceFile: /src/glib/gio/gtcpconnection.c
    functionUses: []
    functionsReached:
    - g_tcp_connection_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_tcp_connection_init (GTcpConnection *connection) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_TCP_CONNECTION
      Src: /src/glib/gio/gtcpconnection.c:149,1
    - Dst: g_socket_shutdown
      Src: /src/glib/gio/gtcpconnection.c:161,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/gtcpconnection.c:159,1
    - Dst: G_SOCKET_CONNECTION
      Src: /src/glib/gio/gtcpconnection.c:155,1
    - Dst: g_socket_connection_get_socket
      Src: /src/glib/gio/gtcpconnection.c:155,1
    - Dst: g_socket_receive_with_blocking
      Src: /src/glib/gio/gtcpconnection.c:170,1
    - Dst: G_IO_STREAM_CLASS
      Src: /src/glib/gio/gtcpconnection.c:184,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GIOStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 186
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 186
    functionName: g_tcp_connection_close
    functionSourceFile: /src/glib/gio/gtcpconnection.c
    functionUses: []
    functionsReached:
    - G_SOCKET_CONNECTION
    - G_IO_STREAM_CLASS
    - G_TCP_CONNECTION
    - g_cancellable_is_cancelled
    - g_socket_connection_get_socket
    - g_socket_receive_with_blocking
    - g_socket_shutdown
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_tcp_connection_close (GIOStream *stream,\t\t\tGCancellable\
      \ *cancellable,\t\t\tGError **error) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_TCP_CONNECTION
      Src: /src/glib/gio/gtcpconnection.c:104,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gtcpconnection.c:114,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gtcpconnection.c:110,1
    - Dst: g_tcp_connection_set_graceful_disconnect
      Src: /src/glib/gio/gtcpconnection.c:109,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 116
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 116
    functionName: g_tcp_connection_set_property
    functionSourceFile: /src/glib/gio/gtcpconnection.c
    functionUses: []
    functionsReached:
    - G_TCP_CONNECTION
    - g_value_get_boolean
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_tcp_connection_set_graceful_disconnect
    linkageType: ''
    returnType: void
    signature: "static void g_tcp_connection_set_property (GObject *object,\t\t\t\
      \ guint prop_id,\t\t\t const GValue *value,\t\t\t GParamSpec *pspec) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_receive_with_blocking
      Src: /src/glib/gio/gtcpconnection.c:223,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gtcpconnection.c:224,1
    - Dst: async_close_finish
      Src: /src/glib/gio/gtcpconnection.c:235,1
    - Dst: g_error_free
      Src: /src/glib/gio/gtcpconnection.c:230,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gtcpconnection.c:228,1
    - Dst: async_close_finish
      Src: /src/glib/gio/gtcpconnection.c:242,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - socket
    - condition
    - task
    argTypes:
    - GSocket*
    - GIOCondition
    - GTask*
    constantsTouched: []
    func_position:
      end: 247
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 247
    functionName: close_read_ready
    functionSourceFile: /src/glib/gio/gtcpconnection.c
    functionUses: []
    functionsReached:
    - g_task_get_cancellable
    - g_error_matches
    - g_socket_receive_with_blocking
    - g_error_free
    - async_close_finish
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean close_read_ready (GSocket *socket,\t\t GIOCondition\
      \ condition,\t\t GTask *task) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_TCP_CONNECTION
      Src: /src/glib/gio/gtcpconnection.c:257,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gtcpconnection.c:267,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/gtcpconnection.c:264,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gtcpconnection.c:268,1
    - Dst: g_task_new
      Src: /src/glib/gio/gtcpconnection.c:266,1
    - Dst: g_socket_connection_get_socket
      Src: /src/glib/gio/gtcpconnection.c:270,1
    - Dst: G_SOCKET_CONNECTION
      Src: /src/glib/gio/gtcpconnection.c:270,1
    - Dst: g_socket_shutdown
      Src: /src/glib/gio/gtcpconnection.c:273,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gtcpconnection.c:275,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gtcpconnection.c:276,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gtcpconnection.c:282,1
    - Dst: G_IO_STREAM_CLASS
      Src: /src/glib/gio/gtcpconnection.c:287,1
    - Dst: g_task_attach_source
      Src: /src/glib/gio/gtcpconnection.c:281,1
    - Dst: g_socket_create_source
      Src: /src/glib/gio/gtcpconnection.c:280,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 5
    argNames:
    - stream
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GIOStream*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 289
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 289
    functionName: g_tcp_connection_close_async
    functionSourceFile: /src/glib/gio/gtcpconnection.c
    functionUses: []
    functionsReached:
    - G_SOCKET_CONNECTION
    - g_task_new
    - g_object_unref
    - g_task_set_priority
    - g_task_set_source_tag
    - G_TCP_CONNECTION
    - g_cancellable_is_cancelled
    - G_IO_STREAM_CLASS
    - g_socket_connection_get_socket
    - g_socket_shutdown
    - g_socket_create_source
    - g_source_unref
    - g_task_attach_source
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: "static void g_tcp_connection_close_async (GIOStream *stream,\t\t\t\
      \ int io_priority,\t\t\t GCancellable *cancellable,\t\t\t GAsyncReadyCallback\
      \ callback,\t\t\t gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - connection
    argTypes:
    - GTcpConnection*
    constantsTouched: []
    func_position:
      end: 335
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 335
    functionName: g_tcp_connection_get_graceful_disconnect
    functionSourceFile: /src/glib/gio/gtcpconnection.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_tcp_connection_get_graceful_disconnect (GTcpConnection
      *connection) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/glib/gio/gsandbox.c:36,1
    - Dst: g_file_test
      Src: /src/glib/gio/gsandbox.c:40,1
    - Dst: g_get_user_runtime_dir
      Src: /src/glib/gio/gsandbox.c:36,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gsandbox.c:43,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 47
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 47
    functionName: is_flatpak
    functionSourceFile: /src/glib/gio/gsandbox.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_file_test
    - g_build_filename
    - g_get_user_runtime_dir
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_flatpak (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_file_get_contents
      Src: /src/glib/gio/gsandbox.c:56,1
    - Dst: strchr
      Src: /src/glib/gio/gsandbox.c:65,1
    - Dst: strchr
      Src: /src/glib/gio/gsandbox.c:74,1
    - Dst: strlen
      Src: /src/glib/gio/gsandbox.c:73,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gsandbox.c:62,1
    - Dst: g_strstrip
      Src: /src/glib/gio/gsandbox.c:77,1
    - Dst: g_strndup
      Src: /src/glib/gio/gsandbox.c:77,1
    - Dst: g_strdup
      Src: /src/glib/gio/gsandbox.c:77,1
    - Dst: g_free
      Src: /src/glib/gio/gsandbox.c:80,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gsandbox.c:83,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 84
    functionName: get_snap_confinement
    functionSourceFile: /src/glib/gio/gsandbox.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_strdup
    - strlen
    - g_strndup
    - g_str_has_prefix
    - strchr
    - g_file_get_contents
    - g_strstrip
    - g_free
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *get_snap_confinement (const char *snap_yaml, GError
      **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_getenv
      Src: /src/glib/gio/gsandbox.c:95,1
    - Dst: g_free
      Src: /src/glib/gio/gsandbox.c:102,1
    - Dst: get_snap_confinement
      Src: /src/glib/gio/gsandbox.c:101,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gsandbox.c:105,1
    - Dst: g_build_filename
      Src: /src/glib/gio/gsandbox.c:100,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gsandbox.c:108,1
    - Dst: g_free
      Src: /src/glib/gio/gsandbox.c:109,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 112
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 112
    functionName: is_snap
    functionSourceFile: /src/glib/gio/gsandbox.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_getenv
    - get_snap_confinement
    - g_build_filename
    - g_strcmp0
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_snap (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_flatpak
      Src: /src/glib/gio/gsandbox.c:134,1
    - Dst: is_snap
      Src: /src/glib/gio/gsandbox.c:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 140
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 140
    functionName: glib_get_sandbox_type
    functionSourceFile: /src/glib/gio/gsandbox.c
    functionUses: []
    functionsReached:
    - is_snap
    - is_flatpak
    linkageType: ''
    returnType: GSandboxType
    signature: 'GSandboxType glib_get_sandbox_type (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gsocketclient.c:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 238
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 238
    functionName: g_socket_client_new
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: GSocketClient*
    signature: 'GSocketClient *g_socket_client_new (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_notify
      Src: /src/glib/gio/gsocketclient.c:725,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocketclient.c:725,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - client
    - flags
    argTypes:
    - GSocketClient*
    - GTlsCertificateFlags
    constantsTouched: []
    func_position:
      end: 727
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 727
    functionName: g_socket_client_set_tls_validation_flags
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_object_notify
    - G_OBJECT
    linkageType: ''
    returnType: void
    signature: "void g_socket_client_set_tls_validation_flags (GSocketClient *client,\t\
      \t\t\t\t GTlsCertificateFlags flags) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_debug
      Src: /src/glib/gio/gsocketclient.c:1785,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gsocketclient.c:1791,1
    - Dst: g_assert
      Src: /src/glib/gio/gsocketclient.c:1786,1
    - Dst: g_socket_client_emit_event
      Src: /src/glib/gio/gsocketclient.c:1788,1
    - Dst: cancel_all_attempts
      Src: /src/glib/gio/gsocketclient.c:1790,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - data
    - error
    argTypes:
    - GSocketClientAsyncConnectData*
    - GError*
    constantsTouched: []
    func_position:
      end: 1792
      start: 1781
    functionDepth: 0
    functionLinenumber: 1781
    functionLinenumberEnd: 1792
    functionName: complete_connection_with_error
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_debug
    - cancel_all_attempts
    - g_task_return_error
    - g_socket_client_emit_event
    linkageType: ''
    returnType: void
    signature: 'static void complete_connection_with_error (GSocketClientAsyncConnectData
      *data, GError *error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gsocketclient.c:1824,1
    - Dst: g_slist_remove
      Src: /src/glib/gio/gsocketclient.c:1827,1
    - Dst: g_proxy_address_get_protocol
      Src: /src/glib/gio/gsocketclient.c:1838,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocketclient.c:1848,1
    - Dst: _
      Src: /src/glib/gio/gsocketclient.c:1850,1
    - Dst: g_socket_client_async_connect_complete
      Src: /src/glib/gio/gsocketclient.c:1857,1
    - Dst: g_proxy_connect_async
      Src: /src/glib/gio/gsocketclient.c:1873,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gsocketclient.c:1878,1
    - Dst: g_socket_client_tls_handshake
      Src: /src/glib/gio/gsocketclient.c:1834,1
    - Dst: g_debug
      Src: /src/glib/gio/gsocketclient.c:1830,1
    - Dst: G_IS_TCP_CONNECTION
      Src: /src/glib/gio/gsocketclient.c:1843,1
    - Dst: g_hash_table_contains
      Src: /src/glib/gio/gsocketclient.c:1853,1
    - Dst: _
      Src: /src/glib/gio/gsocketclient.c:1885,1
    - Dst: consider_tmp_error
      Src: /src/glib/gio/gsocketclient.c:1887,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gsocketclient.c:1891,1
    - Dst: g_critical
      Src: /src/glib/gio/gsocketclient.c:1845,1
    - Dst: g_socket_client_emit_event
      Src: /src/glib/gio/gsocketclient.c:1865,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gsocketclient.c:1857,1
    - Dst: g_debug
      Src: /src/glib/gio/gsocketclient.c:1866,1
    - Dst: consider_tmp_error
      Src: /src/glib/gio/gsocketclient.c:1851,1
    - Dst: g_proxy_get_default_for_protocol
      Src: /src/glib/gio/gsocketclient.c:1860,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocketclient.c:1884,1
    - Dst: g_assert
      Src: /src/glib/gio/gsocketclient.c:1826,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gsocketclient.c:1834,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gsocketclient.c:1876,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:1879,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 1
    argNames:
    - data
    argTypes:
    - GSocketClientAsyncConnectData*
    constantsTouched: []
    func_position:
      end: 1893
      start: 1814
    functionDepth: 0
    functionLinenumber: 1814
    functionLinenumberEnd: 1893
    functionName: try_next_successful_connection
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_proxy_address_get_protocol
    - g_set_error_literal
    - g_socket_client_tls_handshake
    - g_proxy_get_default_for_protocol
    - g_slist_remove
    - g_object_unref
    - g_clear_pointer
    - g_set_error
    - g_task_get_cancellable
    - consider_tmp_error
    - g_hash_table_contains
    - _
    - G_IS_TCP_CONNECTION
    - g_proxy_connect_async
    - g_assert
    - g_debug
    - g_critical
    - g_socket_client_async_connect_complete
    - g_socket_client_emit_event
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean try_next_successful_connection (GSocketClientAsyncConnectData
      *data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:1936,1
    - Dst: G_SOCKET_CONNECTION
      Src: /src/glib/gio/gsocketclient.c:1946,1
    - Dst: connection_attempt_unref
      Src: /src/glib/gio/gsocketclient.c:1955,1
    - Dst: g_socket_client_emit_event
      Src: /src/glib/gio/gsocketclient.c:1970,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gsocketclient.c:1981,1
    - Dst: connection_attempt_remove
      Src: /src/glib/gio/gsocketclient.c:1934,1
    - Dst: g_socket_connection_connect_finish
      Src: /src/glib/gio/gsocketclient.c:1946,1
    - Dst: consider_tmp_error
      Src: /src/glib/gio/gsocketclient.c:1953,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:1961,1
    - Dst: connection_attempt_remove
      Src: /src/glib/gio/gsocketclient.c:1980,1
    - Dst: g_slist_append
      Src: /src/glib/gio/gsocketclient.c:1981,1
    - Dst: try_next_connection_or_finish
      Src: /src/glib/gio/gsocketclient.c:1982,1
    - Dst: task_completed_or_cancelled
      Src: /src/glib/gio/gsocketclient.c:1932,1
    - Dst: g_source_destroy
      Src: /src/glib/gio/gsocketclient.c:1942,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/gsocketclient.c:1949,1
    - Dst: g_debug
      Src: /src/glib/gio/gsocketclient.c:1951,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gsocketclient.c:1960,1
    - Dst: g_socket_connection_set_cached_remote_address
      Src: /src/glib/gio/gsocketclient.c:1968,1
    - Dst: g_debug
      Src: /src/glib/gio/gsocketclient.c:1969,1
    - Dst: g_socket_set_blocking
      Src: /src/glib/gio/gsocketclient.c:1973,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gsocketclient.c:1929,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/gsocketclient.c:1932,1
    - Dst: connection_attempt_unref
      Src: /src/glib/gio/gsocketclient.c:1935,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gsocketclient.c:1943,1
    - Dst: connection_attempt_remove
      Src: /src/glib/gio/gsocketclient.c:1954,1
    - Dst: try_next_connection_or_finish
      Src: /src/glib/gio/gsocketclient.c:1956,1
    - Dst: clarify_connect_error
      Src: /src/glib/gio/gsocketclient.c:1952,1
    - Dst: connection_attempt_unref
      Src: /src/glib/gio/gsocketclient.c:1962,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1983
      start: 1924
    functionDepth: 0
    functionLinenumber: 1924
    functionLinenumberEnd: 1983
    functionName: g_socket_client_connected_callback
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - G_SOCKET_CONNECTION
    - g_steal_pointer
    - try_next_connection_or_finish
    - connection_attempt_remove
    - connection_attempt_unref
    - g_slist_append
    - g_object_unref
    - g_clear_pointer
    - task_completed_or_cancelled
    - g_source_destroy
    - clarify_connect_error
    - consider_tmp_error
    - g_clear_error
    - g_socket_set_blocking
    - g_socket_connection_set_cached_remote_address
    - g_cancellable_is_cancelled
    - g_debug
    - g_socket_connection_connect_finish
    - g_socket_client_emit_event
    linkageType: ''
    returnType: void
    signature: "static void g_socket_client_connected_callback (GObject *source,\t\
      \t\t\t GAsyncResult *result,\t\t\t\t gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_client_connect_finish
      Src: /src/glib/gio/gsocketclient.c:2389,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2390
      start: 2384
    functionDepth: 0
    functionLinenumber: 2384
    functionLinenumberEnd: 2390
    functionName: g_socket_client_connect_to_host_finish
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_socket_client_connect_finish
    linkageType: ''
    returnType: GSocketConnection*
    signature: "GSocketConnection *g_socket_client_connect_to_host_finish (GSocketClient\
      \ *client,\t\t\t\t\tGAsyncResult *result,\t\t\t\t\tGError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_CLIENT
      Src: /src/glib/gio/gsocketclient.c:243,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsocketclient.c:248,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gsocketclient.c:245,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gsocketclient.c:246,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gsocketclient.c:250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 251
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 251
    functionName: g_socket_client_finalize
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_clear_object
    - g_hash_table_unref
    - G_SOCKET_CLIENT
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_client_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gsocketclient.c:1053,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1050
    functionDepth: 0
    functionLinenumber: 1050
    functionLinenumberEnd: 1054
    functionName: socket_client_error_info_new
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_new0
    linkageType: ''
    returnType: SocketClientErrorInfo*
    signature: 'static SocketClientErrorInfo *socket_client_error_info_new (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gsocketclient.c:1798,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gsocketclient.c:1805,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gsocketclient.c:1803,1
    - Dst: complete_connection_with_error
      Src: /src/glib/gio/gsocketclient.c:1805,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - GSocketClientAsyncConnectData*
    constantsTouched: []
    func_position:
      end: 1810
      start: 1794
    functionDepth: 0
    functionLinenumber: 1794
    functionLinenumberEnd: 1810
    functionName: task_completed_or_cancelled
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_task_get_cancellable
    - complete_connection_with_error
    - g_cancellable_set_error_if_cancelled
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean task_completed_or_cancelled (GSocketClientAsyncConnectData
      *data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: try_next_successful_connection
      Src: /src/glib/gio/gsocketclient.c:1908,1
    - Dst: complete_connection_with_error
      Src: /src/glib/gio/gsocketclient.c:1920,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gsocketclient.c:1920,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:1921,1
    - Dst: enumerator_next_async
      Src: /src/glib/gio/gsocketclient.c:1916,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - data
    - end_current_connection
    argTypes:
    - GSocketClientAsyncConnectData*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1922
      start: 1895
    functionDepth: 0
    functionLinenumber: 1895
    functionLinenumberEnd: 1922
    functionName: try_next_connection_or_finish
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_object_unref
    - complete_connection_with_error
    - try_next_successful_connection
    - enumerator_next_async
    linkageType: ''
    returnType: void
    signature: 'static void try_next_connection_or_finish (GSocketClientAsyncConnectData
      *data, gboolean end_current_connection) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gsocketclient.c:1990,1
    - Dst: enumerator_next_async
      Src: /src/glib/gio/gsocketclient.c:1996,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gsocketclient.c:1999,1
    - Dst: g_debug
      Src: /src/glib/gio/gsocketclient.c:1995,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 2001
      start: 1985
    functionDepth: 0
    functionLinenumber: 1985
    functionLinenumberEnd: 2001
    functionName: on_connection_attempt_delay_reached
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_clear_pointer
    - g_debug
    - enumerator_next_async
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean on_connection_attempt_delay_reached (gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_notify
      Src: /src/glib/gio/gsocketclient.c:676,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocketclient.c:676,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - client
    - tls
    argTypes:
    - GSocketClient*
    - gboolean
    constantsTouched: []
    func_position:
      end: 677
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 677
    functionName: g_socket_client_set_tls
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_object_notify
    - G_OBJECT
    linkageType: ''
    returnType: void
    signature: "void g_socket_client_set_tls (GSocketClient *client,\t\t\t gboolean\
      \ tls) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - client
    argTypes:
    - GSocketClient*
    constantsTouched: []
    func_position:
      end: 700
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 700
    functionName: g_socket_client_get_tls_validation_flags
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GTlsCertificateFlags
    signature: 'GTlsCertificateFlags g_socket_client_get_tls_validation_flags (GSocketClient
      *client) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:779,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocketclient.c:784,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - client
    - proxy_resolver
    argTypes:
    - GSocketClient*
    - GProxyResolver*
    constantsTouched: []
    func_position:
      end: 785
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 785
    functionName: g_socket_client_set_proxy_resolver
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_object_ref
    linkageType: ''
    returnType: void
    signature: 'void g_socket_client_set_proxy_resolver (GSocketClient *client, GProxyResolver
      *proxy_resolver) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_network_address_parse
      Src: /src/glib/gio/gsocketclient.c:1381,1
    - Dst: g_socket_client_connect
      Src: /src/glib/gio/gsocketclient.c:1385,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:1387,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1371
    functionDepth: 0
    functionLinenumber: 1371
    functionLinenumberEnd: 1390
    functionName: g_socket_client_connect_to_host
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_network_address_parse
    - g_object_unref
    - g_socket_client_connect
    linkageType: ''
    returnType: GSocketConnection*
    signature: "GSocketConnection *g_socket_client_connect_to_host (GSocketClient\
      \ *client,\t\t\t\t const gchar *host_and_port,\t\t\t\t guint16 default_port,\t\
      \t\t\t GCancellable *cancellable,\t\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocketclient.c:2366,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gsocketclient.c:2366,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gsocketclient.c:2368,1
    - Dst: G_TASK
      Src: /src/glib/gio/gsocketclient.c:2368,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2369
      start: 2361
    functionDepth: 0
    functionLinenumber: 2361
    functionLinenumberEnd: 2369
    functionName: g_socket_client_connect_finish
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_return_val_if_fail
    - g_task_is_valid
    - g_task_propagate_pointer
    linkageType: ''
    returnType: GSocketConnection*
    signature: "GSocketConnection *g_socket_client_connect_finish (GSocketClient *client,\t\
      \t\t\tGAsyncResult *result,\t\t\t\tGError **error) "
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_CLIENT
      Src: /src/glib/gio/gsocketclient.c:259,1
    - Dst: g_value_set_enum
      Src: /src/glib/gio/gsocketclient.c:268,1
    - Dst: g_value_set_enum
      Src: /src/glib/gio/gsocketclient.c:264,1
    - Dst: g_value_set_enum
      Src: /src/glib/gio/gsocketclient.c:272,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gsocketclient.c:276,1
    - Dst: g_value_set_uint
      Src: /src/glib/gio/gsocketclient.c:280,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gsocketclient.c:284,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gsocketclient.c:288,1
    - Dst: g_socket_client_get_tls
      Src: /src/glib/gio/gsocketclient.c:288,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/gsocketclient.c:298,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gsocketclient.c:302,1
    - Dst: g_socket_client_get_proxy_resolver
      Src: /src/glib/gio/gsocketclient.c:298,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 14
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 304
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 304
    functionName: g_socket_client_get_property
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_value_set_enum
    - g_socket_client_get_proxy_resolver
    - g_value_set_uint
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_socket_client_get_tls
    - g_value_set_boolean
    - g_value_set_object
    - G_SOCKET_CLIENT
    linkageType: ''
    returnType: void
    signature: "static void g_socket_client_get_property (GObject *object,\t\t\t guint\
      \ prop_id,\t\t\t GValue *value,\t\t\t GParamSpec *pspec) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_notify
      Src: /src/glib/gio/gsocketclient.c:401,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocketclient.c:401,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - client
    - family
    argTypes:
    - GSocketClient*
    - GSocketFamily
    constantsTouched: []
    func_position:
      end: 402
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 402
    functionName: g_socket_client_set_family
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_object_notify
    - G_OBJECT
    linkageType: ''
    returnType: void
    signature: "void g_socket_client_set_family (GSocketClient *client,\t\t\t GSocketFamily\
      \ family) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 506
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 506
    functionName: g_socket_client_get_local_address
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GSocketAddress*
    signature: 'GSocketAddress *g_socket_client_get_local_address (GSocketClient *client) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gsocketclient.c:1059,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gsocketclient.c:1060,1
    - Dst: g_free
      Src: /src/glib/gio/gsocketclient.c:1061,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - SocketClientErrorInfo*
    constantsTouched: []
    func_position:
      end: 1062
      start: 1056
    functionDepth: 0
    functionLinenumber: 1056
    functionLinenumberEnd: 1062
    functionName: socket_client_error_info_free
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_free
    - g_clear_error
    linkageType: ''
    returnType: void
    signature: 'static void socket_client_error_info_free (SocketClientErrorInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_network_address_parse_uri
      Src: /src/glib/gio/gsocketclient.c:1479,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:1485,1
    - Dst: g_socket_client_connect
      Src: /src/glib/gio/gsocketclient.c:1483,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1488
      start: 1469
    functionDepth: 0
    functionLinenumber: 1469
    functionLinenumberEnd: 1488
    functionName: g_socket_client_connect_to_uri
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_socket_client_connect
    - g_network_address_parse_uri
    linkageType: ''
    returnType: GSocketConnection*
    signature: "GSocketConnection *g_socket_client_connect_to_uri (GSocketClient *client,\t\
      \t\t\tconst gchar *uri,\t\t\t\tguint16 default_port,\t\t\t\tGCancellable *cancellable,\t\
      \t\t\tGError **error) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_client_async_connect_complete
      Src: /src/glib/gio/gsocketclient.c:1721,1
    - Dst: G_TLS_CONNECTION
      Src: /src/glib/gio/gsocketclient.c:1740,1
    - Dst: g_tls_client_connection_new
      Src: /src/glib/gio/gsocketclient.c:1726,1
    - Dst: g_tls_connection_handshake_async
      Src: /src/glib/gio/gsocketclient.c:1740,1
    - Dst: g_debug
      Src: /src/glib/gio/gsocketclient.c:1725,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gsocketclient.c:1742,1
    - Dst: connection_attempt_unref
      Src: /src/glib/gio/gsocketclient.c:1748,1
    - Dst: consider_tmp_error
      Src: /src/glib/gio/gsocketclient.c:1750,1
    - Dst: try_next_connection_or_finish
      Src: /src/glib/gio/gsocketclient.c:1751,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - attempt
    argTypes:
    - ConnectionAttempt*
    constantsTouched: []
    func_position:
      end: 1753
      start: 1713
    functionDepth: 0
    functionLinenumber: 1713
    functionLinenumberEnd: 1753
    functionName: g_socket_client_tls_handshake
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - try_next_connection_or_finish
    - g_tls_connection_handshake_async
    - g_tls_client_connection_new
    - g_task_get_cancellable
    - g_debug
    - connection_attempt_unref
    - consider_tmp_error
    - g_socket_client_async_connect_complete
    - G_TLS_CONNECTION
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_client_tls_handshake (ConnectionAttempt *attempt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsocketclient.c:2150,1
    - Dst: g_socket_connectable_proxy_enumerate
      Src: /src/glib/gio/gsocketclient.c:2159,1
    - Dst: g_cancellable_connect
      Src: /src/glib/gio/gsocketclient.c:2213,1
    - Dst: g_task_new
      Src: /src/glib/gio/gsocketclient.c:2203,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gsocketclient.c:2205,1
    - Dst: enumerator_next_async
      Src: /src/glib/gio/gsocketclient.c:2221,1
    - Dst: socket_client_error_info_new
      Src: /src/glib/gio/gsocketclient.c:2155,1
    - Dst: can_use_proxy
      Src: /src/glib/gio/gsocketclient.c:2157,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocketclient.c:2163,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gsocketclient.c:2206,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/gsocketclient.c:2208,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gsocketclient.c:2213,1
    - Dst: g_slice_new0
      Src: /src/glib/gio/gsocketclient.c:2152,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocketclient.c:2154,1
    - Dst: g_object_set
      Src: /src/glib/gio/gsocketclient.c:2163,1
    - Dst: g_task_set_check_cancellable
      Src: /src/glib/gio/gsocketclient.c:2204,1
    - Dst: G_IS_SOCKET_CLIENT
      Src: /src/glib/gio/gsocketclient.c:2150,1
    - Dst: G_IS_PROXY_ADDRESS_ENUMERATOR
      Src: /src/glib/gio/gsocketclient.c:2161,1
    - Dst: g_socket_connectable_enumerate
      Src: /src/glib/gio/gsocketclient.c:2169,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocketclient.c:2211,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocketclient.c:2214,1
    - Dst: g_debug
      Src: /src/glib/gio/gsocketclient.c:2217,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 5
    argNames:
    - client
    - connectable
    - cancellable
    - callback
    - user_data
    argTypes:
    - GSocketClient*
    - GSocketConnectable*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 2222
      start: 2141
    functionDepth: 0
    functionLinenumber: 2141
    functionLinenumberEnd: 2222
    functionName: g_socket_client_connect_async
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_slice_new0
    - G_IS_SOCKET_CLIENT
    - can_use_proxy
    - g_object_set
    - g_task_set_source_tag
    - g_socket_connectable_proxy_enumerate
    - g_task_set_check_cancellable
    - g_task_new
    - enumerator_next_async
    - g_task_set_task_data
    - g_cancellable_connect
    - g_cancellable_new
    - G_IS_PROXY_ADDRESS_ENUMERATOR
    - g_return_if_fail
    - g_debug
    - g_socket_connectable_enumerate
    - G_OBJECT
    - G_CALLBACK
    - socket_client_error_info_new
    - g_object_ref
    linkageType: ''
    returnType: void
    signature: "void g_socket_client_connect_async (GSocketClient *client,\t\t\t GSocketConnectable\
      \ *connectable,\t\t\t GCancellable *cancellable,\t\t\t GAsyncReadyCallback callback,\t\
      \t\t gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_client_connect_finish
      Src: /src/glib/gio/gsocketclient.c:2431,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2432
      start: 2426
    functionDepth: 0
    functionLinenumber: 2426
    functionLinenumberEnd: 2432
    functionName: g_socket_client_connect_to_uri_finish
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_socket_client_connect_finish
    linkageType: ''
    returnType: GSocketConnection*
    signature: "GSocketConnection *g_socket_client_connect_to_uri_finish (GSocketClient\
      \ *client,\t\t\t\t GAsyncResult *result,\t\t\t\t GError **error) "
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: G_SOCKET_CLIENT
      Src: /src/glib/gio/gsocketclient.c:312,1
    - Dst: g_socket_client_set_family
      Src: /src/glib/gio/gsocketclient.c:317,1
    - Dst: g_value_get_enum
      Src: /src/glib/gio/gsocketclient.c:317,1
    - Dst: g_socket_client_set_socket_type
      Src: /src/glib/gio/gsocketclient.c:321,1
    - Dst: g_value_get_enum
      Src: /src/glib/gio/gsocketclient.c:321,1
    - Dst: g_socket_client_set_protocol
      Src: /src/glib/gio/gsocketclient.c:325,1
    - Dst: g_value_get_enum
      Src: /src/glib/gio/gsocketclient.c:325,1
    - Dst: g_socket_client_set_local_address
      Src: /src/glib/gio/gsocketclient.c:329,1
    - Dst: g_value_get_object
      Src: /src/glib/gio/gsocketclient.c:329,1
    - Dst: g_socket_client_set_timeout
      Src: /src/glib/gio/gsocketclient.c:333,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gsocketclient.c:337,1
    - Dst: g_socket_client_set_tls
      Src: /src/glib/gio/gsocketclient.c:341,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gsocketclient.c:355,1
    - Dst: g_value_get_object
      Src: /src/glib/gio/gsocketclient.c:351,1
    - Dst: g_socket_client_set_enable_proxy
      Src: /src/glib/gio/gsocketclient.c:337,1
    - Dst: g_socket_client_set_proxy_resolver
      Src: /src/glib/gio/gsocketclient.c:351,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gsocketclient.c:341,1
    - Dst: g_value_get_uint
      Src: /src/glib/gio/gsocketclient.c:333,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 20
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 357
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 357
    functionName: g_socket_client_set_property
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_socket_client_set_proxy_resolver
    - g_socket_client_set_protocol
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_socket_client_set_local_address
    - g_value_get_boolean
    - g_socket_client_set_family
    - g_socket_client_set_tls
    - g_socket_client_set_socket_type
    - g_value_get_uint
    - g_socket_client_set_enable_proxy
    - G_SOCKET_CLIENT
    - g_socket_client_set_timeout
    - g_value_get_object
    - g_value_get_enum
    linkageType: ''
    returnType: void
    signature: "static void g_socket_client_set_property (GObject *object,\t\t\t guint\
      \ prop_id,\t\t\t const GValue *value,\t\t\t GParamSpec *pspec) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gsocketclient.c:1079,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gsocketclient.c:1082,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gsocketclient.c:1089,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - info
    - event
    argTypes:
    - SocketClientErrorInfo*
    - GSocketClientEvent
    constantsTouched: []
    func_position:
      end: 1091
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1091
    functionName: consider_tmp_error
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_clear_error
    linkageType: ''
    returnType: void
    signature: 'static void consider_tmp_error (SocketClientErrorInfo *info, GSocketClientEvent
      event) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:1763,1
    - Dst: G_PROXY
      Src: /src/glib/gio/gsocketclient.c:1764,1
    - Dst: g_socket_client_tls_handshake
      Src: /src/glib/gio/gsocketclient.c:1770,1
    - Dst: g_socket_client_emit_event
      Src: /src/glib/gio/gsocketclient.c:1769,1
    - Dst: g_proxy_connect_finish
      Src: /src/glib/gio/gsocketclient.c:1764,1
    - Dst: connection_attempt_unref
      Src: /src/glib/gio/gsocketclient.c:1774,1
    - Dst: consider_tmp_error
      Src: /src/glib/gio/gsocketclient.c:1776,1
    - Dst: try_next_connection_or_finish
      Src: /src/glib/gio/gsocketclient.c:1777,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1779
      start: 1755
    functionDepth: 0
    functionLinenumber: 1755
    functionLinenumberEnd: 1779
    functionName: g_socket_client_proxy_connect_callback
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - try_next_connection_or_finish
    - g_object_unref
    - g_proxy_connect_finish
    - connection_attempt_unref
    - G_PROXY
    - consider_tmp_error
    - g_socket_client_tls_handshake
    - g_socket_client_emit_event
    linkageType: ''
    returnType: void
    signature: "static void g_socket_client_proxy_connect_callback (GObject *object,\t\
      \t\t\t\tGAsyncResult *result,\t\t\t\t\tgpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - client
    argTypes:
    - GSocketClient*
    constantsTouched: []
    func_position:
      end: 375
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 375
    functionName: g_socket_client_get_family
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GSocketFamily
    signature: 'GSocketFamily g_socket_client_get_family (GSocketClient *client) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_network_service_new
      Src: /src/glib/gio/gsocketclient.c:1427,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:1430,1
    - Dst: g_socket_client_connect
      Src: /src/glib/gio/gsocketclient.c:1428,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1433
      start: 1417
    functionDepth: 0
    functionLinenumber: 1417
    functionLinenumberEnd: 1433
    functionName: g_socket_client_connect_to_service
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_network_service_new
    - g_object_unref
    - g_socket_client_connect
    linkageType: ''
    returnType: GSocketConnection*
    signature: "GSocketConnection *g_socket_client_connect_to_service (GSocketClient\
      \ *client,\t\t\t\t const gchar *domain,\t\t\t\t const gchar *service,\t\t\t\t\
      \ GCancellable *cancellable,\t\t\t\t GError **error) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_address_get_family
      Src: /src/glib/gio/gsocketclient.c:137,1
    - Dst: g_socket_set_option
      Src: /src/glib/gio/gsocketclient.c:151,1
    - Dst: g_socket_new
      Src: /src/glib/gio/gsocketclient.c:141,1
    - Dst: g_socket_address_get_family
      Src: /src/glib/gio/gsocketclient.c:139,1
    - Dst: g_socket_bind
      Src: /src/glib/gio/gsocketclient.c:154,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:159,1
    - Dst: g_socket_set_timeout
      Src: /src/glib/gio/gsocketclient.c:165,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 168
    functionName: create_socket
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_socket_set_timeout
    - g_socket_new
    - g_socket_bind
    - g_socket_set_option
    - g_socket_address_get_family
    linkageType: ''
    returnType: GSocket*
    signature: "static GSocket *create_socket (GSocketClient *client,\t GSocketAddress\
      \ *dest_address,\t GError **error) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_IS_PROXY_ADDRESS
      Src: /src/glib/gio/gsocketclient.c:187,1
    - Dst: g_inet_socket_address_get_address
      Src: /src/glib/gio/gsocketclient.c:189,1
    - Dst: g_network_address_get_hostname
      Src: /src/glib/gio/gsocketclient.c:196,1
    - Dst: _
      Src: /src/glib/gio/gsocketclient.c:205,1
    - Dst: G_NETWORK_SERVICE
      Src: /src/glib/gio/gsocketclient.c:198,1
    - Dst: _
      Src: /src/glib/gio/gsocketclient.c:191,1
    - Dst: G_IS_NETWORK_SERVICE
      Src: /src/glib/gio/gsocketclient.c:197,1
    - Dst: G_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/gsocketclient.c:200,1
    - Dst: g_inet_address_to_string
      Src: /src/glib/gio/gsocketclient.c:200,1
    - Dst: _
      Src: /src/glib/gio/gsocketclient.c:207,1
    - Dst: g_inet_address_to_string
      Src: /src/glib/gio/gsocketclient.c:189,1
    - Dst: G_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/gsocketclient.c:189,1
    - Dst: G_NETWORK_ADDRESS
      Src: /src/glib/gio/gsocketclient.c:196,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/gsocketclient.c:205,1
    - Dst: g_network_service_get_domain
      Src: /src/glib/gio/gsocketclient.c:198,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/gsocketclient.c:207,1
    - Dst: g_free
      Src: /src/glib/gio/gsocketclient.c:210,1
    - Dst: g_prefix_error
      Src: /src/glib/gio/gsocketclient.c:191,1
    - Dst: G_IS_NETWORK_ADDRESS
      Src: /src/glib/gio/gsocketclient.c:195,1
    - Dst: g_inet_socket_address_get_address
      Src: /src/glib/gio/gsocketclient.c:200,1
    - Dst: G_IS_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/gsocketclient.c:199,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 3
    argNames:
    - error
    - connectable
    - address
    argTypes:
    - GError*
    - GSocketConnectable*
    - GSocketAddress*
    constantsTouched: []
    func_position:
      end: 211
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 211
    functionName: clarify_connect_error
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_inet_socket_address_get_address
    - G_IS_NETWORK_ADDRESS
    - G_NETWORK_ADDRESS
    - G_NETWORK_SERVICE
    - G_IS_INET_SOCKET_ADDRESS
    - g_prefix_error
    - g_inet_address_to_string
    - g_network_service_get_domain
    - G_IS_PROXY_ADDRESS
    - G_IS_NETWORK_SERVICE
    - g_network_address_get_hostname
    - _
    - G_INET_SOCKET_ADDRESS
    - g_free
    linkageType: ''
    returnType: void
    signature: "static void clarify_connect_error (GError *error,\t\t GSocketConnectable\
      \ *connectable,\t\t GSocketAddress *address) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_notify
      Src: /src/glib/gio/gsocketclient.c:444,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocketclient.c:444,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - client
    - type
    argTypes:
    - GSocketClient*
    - GSocketType
    constantsTouched: []
    func_position:
      end: 445
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 445
    functionName: g_socket_client_set_socket_type
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_object_notify
    - G_OBJECT
    linkageType: ''
    returnType: void
    signature: "void g_socket_client_set_socket_type (GSocketClient *client,\t\t\t\
      \t GSocketType type) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - client
    argTypes:
    - GSocketClient*
    constantsTouched: []
    func_position:
      end: 554
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 554
    functionName: g_socket_client_get_timeout
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint
    signature: 'guint g_socket_client_get_timeout (GSocketClient *client) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsocketclient.c:790,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gsocketclient.c:867,1
    - Dst: g_param_spec_enum
      Src: /src/glib/gio/gsocketclient.c:908,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocketclient.c:936,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocketclient.c:950,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocketclient.c:907,1
    - Dst: g_param_spec_uint
      Src: /src/glib/gio/gsocketclient.c:937,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gsocketclient.c:951,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocketclient.c:964,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gsocketclient.c:965,1
    - Dst: I_
      Src: /src/glib/gio/gsocketclient.c:856,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gsocketclient.c:859,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gsocketclient.c:857,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocketclient.c:1009,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gsocketclient.c:1010,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gsocketclient.c:866,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocketclient.c:877,1
    - Dst: g_param_spec_enum
      Src: /src/glib/gio/gsocketclient.c:878,1
    - Dst: g_param_spec_object
      Src: /src/glib/gio/gsocketclient.c:923,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocketclient.c:922,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gsocketclient.c:856,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocketclient.c:892,1
    - Dst: g_param_spec_enum
      Src: /src/glib/gio/gsocketclient.c:893,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gsocketclient.c:993,1
    - Dst: g_param_spec_flags
      Src: /src/glib/gio/gsocketclient.c:994,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 49
    argCount: 1
    argNames:
    - class
    argTypes:
    - GSocketClientClass*
    constantsTouched: []
    func_position:
      end: 1015
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 1015
    functionName: g_socket_client_class_init
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - I_
    - G_STRUCT_OFFSET
    - g_param_spec_boolean
    - G_TYPE_FROM_CLASS
    - g_param_spec_object
    - g_object_class_install_property
    - G_OBJECT_CLASS
    - g_signal_set_va_marshaller
    - g_signal_new
    - g_param_spec_enum
    - g_param_spec_uint
    - g_param_spec_flags
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_client_class_init (GSocketClientClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/gsocketclient.c:1554,1
    - Dst: g_ref_count_init
      Src: /src/glib/gio/gsocketclient.c:1555,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1557
      start: 1551
    functionDepth: 0
    functionLinenumber: 1551
    functionLinenumberEnd: 1557
    functionName: connection_attempt_new
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_new0
    - g_ref_count_init
    linkageType: ''
    returnType: ConnectionAttempt*
    signature: 'static ConnectionAttempt *connection_attempt_new (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_ref_count_dec
      Src: /src/glib/gio/gsocketclient.c:1570,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gsocketclient.c:1572,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gsocketclient.c:1574,1
    - Dst: g_cancellable_disconnect
      Src: /src/glib/gio/gsocketclient.c:1575,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gsocketclient.c:1573,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gsocketclient.c:1576,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gsocketclient.c:1578,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gsocketclient.c:1579,1
    - Dst: g_source_destroy
      Src: /src/glib/gio/gsocketclient.c:1582,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gsocketclient.c:1583,1
    - Dst: g_free
      Src: /src/glib/gio/gsocketclient.c:1585,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - pointer
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1587
      start: 1566
    functionDepth: 0
    functionLinenumber: 1566
    functionLinenumberEnd: 1587
    functionName: connection_attempt_unref
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_cancellable_disconnect
    - g_source_destroy
    - g_clear_object
    - g_source_unref
    - g_free
    - g_ref_count_dec
    linkageType: ''
    returnType: void
    signature: 'static void connection_attempt_unref (gpointer pointer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_CANCELLABLE
      Src: /src/glib/gio/gsocketclient.c:2007,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/gsocketclient.c:2009,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - cancellable
    - data
    argTypes:
    - GCancellable*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2010
      start: 2003
    functionDepth: 0
    functionLinenumber: 2003
    functionLinenumberEnd: 2010
    functionName: on_connection_cancelled
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - G_CANCELLABLE
    - g_cancellable_cancel
    linkageType: ''
    returnType: void
    signature: 'static void on_connection_cancelled (GCancellable *cancellable, gpointer
      data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_client_get_instance_private
      Src: /src/glib/gio/gsocketclient.c:216,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gsocketclient.c:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - client
    argTypes:
    - GSocketClient*
    constantsTouched: []
    func_position:
      end: 222
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 222
    functionName: g_socket_client_init
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_hash_table_new_full
    - g_socket_client_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_client_init (GSocketClient *client) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - client
    argTypes:
    - GSocketClient*
    constantsTouched: []
    func_position:
      end: 177
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 177
    functionName: can_use_proxy
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean can_use_proxy (GSocketClient *client) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_emit
      Src: /src/glib/gio/gsocketclient.c:1023,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - client
    - event
    - connectable
    - connection
    argTypes:
    - GSocketClient*
    - GSocketClientEvent
    - GSocketConnectable*
    - GIOStream*
    constantsTouched: []
    func_position:
      end: 1025
      start: 1017
    functionDepth: 0
    functionLinenumber: 1017
    functionLinenumberEnd: 1025
    functionName: g_socket_client_emit_event
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_signal_emit
    linkageType: ''
    returnType: void
    signature: "static void g_socket_client_emit_event (GSocketClient *client,\t\t\
      \t GSocketClientEvent event,\t\t\t GSocketConnectable *connectable,\t\t\t GIOStream\
      \ *connection) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ref_count_inc
      Src: /src/glib/gio/gsocketclient.c:1562,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1564
      start: 1559
    functionDepth: 0
    functionLinenumber: 1559
    functionLinenumberEnd: 1564
    functionName: connection_attempt_ref
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_ref_count_inc
    linkageType: ''
    returnType: ConnectionAttempt*
    signature: 'static ConnectionAttempt *connection_attempt_ref (ConnectionAttempt
      *attempt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_find
      Src: /src/glib/gio/gsocketclient.c:1592,1
    - Dst: g_slist_delete_link
      Src: /src/glib/gio/gsocketclient.c:1595,1
    - Dst: connection_attempt_unref
      Src: /src/glib/gio/gsocketclient.c:1596,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - attempt
    argTypes:
    - ConnectionAttempt*
    constantsTouched: []
    func_position:
      end: 1598
      start: 1589
    functionDepth: 0
    functionLinenumber: 1589
    functionLinenumberEnd: 1598
    functionName: connection_attempt_remove
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_slist_find
    - connection_attempt_unref
    - g_slist_delete_link
    linkageType: ''
    returnType: void
    signature: 'static void connection_attempt_remove (ConnectionAttempt *attempt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_tls_connection_handshake_finish
      Src: /src/glib/gio/gsocketclient.c:1691,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:1695,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/gsocketclient.c:1696,1
    - Dst: g_debug
      Src: /src/glib/gio/gsocketclient.c:1698,1
    - Dst: G_TLS_CONNECTION
      Src: /src/glib/gio/gsocketclient.c:1691,1
    - Dst: g_socket_client_emit_event
      Src: /src/glib/gio/gsocketclient.c:1699,1
    - Dst: g_socket_client_async_connect_complete
      Src: /src/glib/gio/gsocketclient.c:1700,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:1704,1
    - Dst: connection_attempt_unref
      Src: /src/glib/gio/gsocketclient.c:1705,1
    - Dst: g_debug
      Src: /src/glib/gio/gsocketclient.c:1707,1
    - Dst: consider_tmp_error
      Src: /src/glib/gio/gsocketclient.c:1708,1
    - Dst: try_next_connection_or_finish
      Src: /src/glib/gio/gsocketclient.c:1709,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1711
      start: 1683
    functionDepth: 0
    functionLinenumber: 1683
    functionLinenumberEnd: 1711
    functionName: g_socket_client_tls_handshake_callback
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - G_IO_STREAM
    - try_next_connection_or_finish
    - g_tls_connection_handshake_finish
    - g_object_unref
    - g_debug
    - connection_attempt_unref
    - consider_tmp_error
    - g_socket_client_async_connect_complete
    - G_TLS_CONNECTION
    - g_socket_client_emit_event
    linkageType: ''
    returnType: void
    signature: "static void g_socket_client_tls_handshake_callback (GObject *object,\t\
      \t\t\t\tGAsyncResult *result,\t\t\t\t\tgpointer user_data) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_address_enumerator_next_finish
      Src: /src/glib/gio/gsocketclient.c:2028,1
    - Dst: g_debug
      Src: /src/glib/gio/gsocketclient.c:2049,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:2057,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/gsocketclient.c:2081,1
    - Dst: create_socket
      Src: /src/glib/gio/gsocketclient.c:2068,1
    - Dst: g_debug
      Src: /src/glib/gio/gsocketclient.c:2085,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocketclient.c:2089,1
    - Dst: connection_attempt_ref
      Src: /src/glib/gio/gsocketclient.c:2093,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gsocketclient.c:2095,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gsocketclient.c:2099,1
    - Dst: g_debug
      Src: /src/glib/gio/gsocketclient.c:2036,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gsocketclient.c:2053,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:2071,1
    - Dst: g_socket_client_emit_event
      Src: /src/glib/gio/gsocketclient.c:2063,1
    - Dst: connection_attempt_new
      Src: /src/glib/gio/gsocketclient.c:2077,1
    - Dst: g_timeout_source_new
      Src: /src/glib/gio/gsocketclient.c:2083,1
    - Dst: G_IS_PROXY_ADDRESS
      Src: /src/glib/gio/gsocketclient.c:2088,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gsocketclient.c:2091,1
    - Dst: g_slist_append
      Src: /src/glib/gio/gsocketclient.c:2093,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gsocketclient.c:2097,1
    - Dst: g_socket_connection_connect_async
      Src: /src/glib/gio/gsocketclient.c:2110,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:2024,1
    - Dst: g_assert
      Src: /src/glib/gio/gsocketclient.c:2052,1
    - Dst: complete_connection_with_error
      Src: /src/glib/gio/gsocketclient.c:2053,1
    - Dst: enumerator_next_async
      Src: /src/glib/gio/gsocketclient.c:2073,1
    - Dst: G_PROXY_ADDRESS
      Src: /src/glib/gio/gsocketclient.c:2089,1
    - Dst: g_task_get_context
      Src: /src/glib/gio/gsocketclient.c:2092,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocketclient.c:2100,1
    - Dst: g_socket_connection_set_cached_remote_address
      Src: /src/glib/gio/gsocketclient.c:2103,1
    - Dst: g_debug
      Src: /src/glib/gio/gsocketclient.c:2104,1
    - Dst: g_socket_client_emit_event
      Src: /src/glib/gio/gsocketclient.c:2105,1
    - Dst: task_completed_or_cancelled
      Src: /src/glib/gio/gsocketclient.c:2022,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gsocketclient.c:2032,1
    - Dst: consider_tmp_error
      Src: /src/glib/gio/gsocketclient.c:2051,1
    - Dst: g_debug
      Src: /src/glib/gio/gsocketclient.c:2061,1
    - Dst: consider_tmp_error
      Src: /src/glib/gio/gsocketclient.c:2072,1
    - Dst: g_socket_connection_factory_create_connection
      Src: /src/glib/gio/gsocketclient.c:2082,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gsocketclient.c:2092,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocketclient.c:2097,1
    - Dst: G_SOCKET_CONNECTION
      Src: /src/glib/gio/gsocketclient.c:2110,1
    - Dst: g_cancellable_connect
      Src: /src/glib/gio/gsocketclient.c:2099,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 72
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2114
      start: 2012
    functionDepth: 0
    functionLinenumber: 2012
    functionLinenumberEnd: 2114
    functionName: g_socket_client_enumerator_callback
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - G_SOCKET_CONNECTION
    - g_steal_pointer
    - g_source_set_callback
    - create_socket
    - G_PROXY_ADDRESS
    - g_timeout_source_new
    - complete_connection_with_error
    - G_IS_PROXY_ADDRESS
    - G_UNLIKELY
    - g_slist_append
    - g_object_unref
    - g_source_attach
    - g_task_get_context
    - task_completed_or_cancelled
    - connection_attempt_ref
    - g_socket_connection_connect_async
    - g_task_get_cancellable
    - consider_tmp_error
    - g_socket_connection_factory_create_connection
    - enumerator_next_async
    - g_cancellable_connect
    - g_cancellable_new
    - g_socket_address_enumerator_next_finish
    - connection_attempt_new
    - g_socket_connection_set_cached_remote_address
    - g_assert
    - g_debug
    - G_CALLBACK
    - g_object_ref
    - g_socket_client_emit_event
    linkageType: ''
    returnType: void
    signature: "static void g_socket_client_enumerator_callback (GObject *object,\t\
      \t\t\t GAsyncResult *result,\t\t\t\t gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_add
      Src: /src/glib/gio/gsocketclient.c:2463,1
    - Dst: g_strdup
      Src: /src/glib/gio/gsocketclient.c:2463,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - client
    - protocol
    argTypes:
    - GSocketClient*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2464
      start: 2459
    functionDepth: 0
    functionLinenumber: 2459
    functionLinenumberEnd: 2464
    functionName: g_socket_client_add_application_proxy
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_hash_table_add
    linkageType: ''
    returnType: void
    signature: "void g_socket_client_add_application_proxy (GSocketClient *client,\t\
      \t\t const gchar *protocol) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - client
    argTypes:
    - GSocketClient*
    constantsTouched: []
    func_position:
      end: 420
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 420
    functionName: g_socket_client_get_socket_type
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GSocketType
    signature: 'GSocketType g_socket_client_get_socket_type (GSocketClient *client) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocketclient.c:528,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gsocketclient.c:535,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocketclient.c:535,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:532,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - client
    - address
    argTypes:
    - GSocketClient*
    - GSocketAddress*
    constantsTouched: []
    func_position:
      end: 536
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 536
    functionName: g_socket_client_set_local_address
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_object_notify
    - G_OBJECT
    - g_object_unref
    - g_object_ref
    linkageType: ''
    returnType: void
    signature: "void g_socket_client_set_local_address (GSocketClient *client,\t\t\
      \t\t GSocketAddress *address) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_network_address_parse
      Src: /src/glib/gio/gsocketclient.c:2253,1
    - Dst: g_socket_client_connect_async
      Src: /src/glib/gio/gsocketclient.c:2263,1
    - Dst: g_task_report_error
      Src: /src/glib/gio/gsocketclient.c:2257,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:2266,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 6
    argNames:
    - client
    - host_and_port
    - default_port
    - cancellable
    - callback
    - user_data
    argTypes:
    - GSocketClient*
    - gchar*
    - guint16
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 2268
      start: 2241
    functionDepth: 0
    functionLinenumber: 2241
    functionLinenumberEnd: 2268
    functionName: g_socket_client_connect_to_host_async
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_network_address_parse
    - g_socket_client_connect_async
    - g_object_unref
    - g_task_report_error
    linkageType: ''
    returnType: void
    signature: "void g_socket_client_connect_to_host_async (GSocketClient *client,\t\
      \t\t\t const gchar *host_and_port,\t\t\t\t guint16 default_port,\t\t\t\t GCancellable\
      \ *cancellable,\t\t\t\t GAsyncReadyCallback callback,\t\t\t\t gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_client_connect_finish
      Src: /src/glib/gio/gsocketclient.c:2410,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2411
      start: 2405
    functionDepth: 0
    functionLinenumber: 2405
    functionLinenumberEnd: 2411
    functionName: g_socket_client_connect_to_service_finish
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_socket_client_connect_finish
    linkageType: ''
    returnType: GSocketConnection*
    signature: "GSocketConnection *g_socket_client_connect_to_service_finish (GSocketClient\
      \ *client,\t\t\t\t\t GAsyncResult *result,\t\t\t\t\t GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_notify
      Src: /src/glib/gio/gsocketclient.c:487,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocketclient.c:487,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - client
    - protocol
    argTypes:
    - GSocketClient*
    - GSocketProtocol
    constantsTouched: []
    func_position:
      end: 488
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 488
    functionName: g_socket_client_set_protocol
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_object_notify
    - G_OBJECT
    linkageType: ''
    returnType: void
    signature: "void g_socket_client_set_protocol (GSocketClient *client,\t\t\t GSocketProtocol\
      \ protocol) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_notify
      Src: /src/glib/gio/gsocketclient.c:621,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocketclient.c:621,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - client
    - enable
    argTypes:
    - GSocketClient*
    - gboolean
    constantsTouched: []
    func_position:
      end: 622
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 622
    functionName: g_socket_client_set_enable_proxy
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_object_notify
    - G_OBJECT
    linkageType: ''
    returnType: void
    signature: "void g_socket_client_set_enable_proxy (GSocketClient *client,\t\t\t\
      \t gboolean enable) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - client
    argTypes:
    - GSocketClient*
    constantsTouched: []
    func_position:
      end: 639
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 639
    functionName: g_socket_client_get_tls
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_socket_client_get_tls (GSocketClient *client) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_proxy_resolver_get_default
      Src: /src/glib/gio/gsocketclient.c:748,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 749
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 749
    functionName: g_socket_client_get_proxy_resolver
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_proxy_resolver_get_default
    linkageType: ''
    returnType: GProxyResolver*
    signature: 'GProxyResolver *g_socket_client_get_proxy_resolver (GSocketClient
      *client) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: g_object_set
      Src: /src/glib/gio/gsocketclient.c:1142,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gsocketclient.c:1159,1
    - Dst: g_socket_client_emit_event
      Src: /src/glib/gio/gsocketclient.c:1166,1
    - Dst: g_socket_client_emit_event
      Src: /src/glib/gio/gsocketclient.c:1205,1
    - Dst: consider_tmp_error
      Src: /src/glib/gio/gsocketclient.c:1210,1
    - Dst: g_critical
      Src: /src/glib/gio/gsocketclient.c:1228,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gsocketclient.c:1231,1
    - Dst: consider_tmp_error
      Src: /src/glib/gio/gsocketclient.c:1234,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:1236,1
    - Dst: g_proxy_get_default_for_protocol
      Src: /src/glib/gio/gsocketclient.c:1243,1
    - Dst: consider_tmp_error
      Src: /src/glib/gio/gsocketclient.c:1267,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:1316,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gsocketclient.c:1321,1
    - Dst: G_SOCKET_CONNECTION
      Src: /src/glib/gio/gsocketclient.c:1325,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:1296,1
    - Dst: g_socket_client_emit_event
      Src: /src/glib/gio/gsocketclient.c:1247,1
    - Dst: G_TLS_CONNECTION
      Src: /src/glib/gio/gsocketclient.c:1288,1
    - Dst: g_socket_client_emit_event
      Src: /src/glib/gio/gsocketclient.c:1291,1
    - Dst: consider_tmp_error
      Src: /src/glib/gio/gsocketclient.c:1253,1
    - Dst: g_socket_connectable_proxy_enumerate
      Src: /src/glib/gio/gsocketclient.c:1138,1
    - Dst: can_use_proxy
      Src: /src/glib/gio/gsocketclient.c:1136,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocketclient.c:1142,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gsocketclient.c:1160,1
    - Dst: G_PROXY_ADDRESS
      Src: /src/glib/gio/gsocketclient.c:1217,1
    - Dst: _
      Src: /src/glib/gio/gsocketclient.c:1233,1
    - Dst: g_hash_table_contains
      Src: /src/glib/gio/gsocketclient.c:1239,1
    - Dst: g_proxy_connect
      Src: /src/glib/gio/gsocketclient.c:1248,1
    - Dst: g_socket_client_emit_event
      Src: /src/glib/gio/gsocketclient.c:1260,1
    - Dst: _
      Src: /src/glib/gio/gsocketclient.c:1265,1
    - Dst: consider_tmp_error
      Src: /src/glib/gio/gsocketclient.c:1295,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gsocketclient.c:1321,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:1255,1
    - Dst: socket_client_error_info_free
      Src: /src/glib/gio/gsocketclient.c:1322,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:1311,1
    - Dst: g_assert
      Src: /src/glib/gio/gsocketclient.c:1182,1
    - Dst: G_IS_PROXY_ADDRESS
      Src: /src/glib/gio/gsocketclient.c:1186,1
    - Dst: g_socket_client_emit_event
      Src: /src/glib/gio/gsocketclient.c:1174,1
    - Dst: g_socket_connection_factory_create_connection
      Src: /src/glib/gio/gsocketclient.c:1197,1
    - Dst: g_socket_connection_set_cached_remote_address
      Src: /src/glib/gio/gsocketclient.c:1198,1
    - Dst: g_socket_connection_connect
      Src: /src/glib/gio/gsocketclient.c:1201,1
    - Dst: g_socket_connection_set_cached_remote_address
      Src: /src/glib/gio/gsocketclient.c:1204,1
    - Dst: clarify_connect_error
      Src: /src/glib/gio/gsocketclient.c:1209,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:1211,1
    - Dst: g_proxy_address_get_protocol
      Src: /src/glib/gio/gsocketclient.c:1221,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:1257,1
    - Dst: G_SOCKET_CONNECTION
      Src: /src/glib/gio/gsocketclient.c:1201,1
    - Dst: g_tls_connection_handshake
      Src: /src/glib/gio/gsocketclient.c:1288,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:1278,1
    - Dst: consider_tmp_error
      Src: /src/glib/gio/gsocketclient.c:1302,1
    - Dst: G_IS_TCP_CONNECTION
      Src: /src/glib/gio/gsocketclient.c:1226,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:1268,1
    - Dst: g_tcp_wrapper_connection_new
      Src: /src/glib/gio/gsocketclient.c:1310,1
    - Dst: g_set_error
      Src: /src/glib/gio/gsocketclient.c:1264,1
    - Dst: socket_client_error_info_new
      Src: /src/glib/gio/gsocketclient.c:1134,1
    - Dst: G_IS_PROXY_ADDRESS_ENUMERATOR
      Src: /src/glib/gio/gsocketclient.c:1140,1
    - Dst: g_socket_connectable_enumerate
      Src: /src/glib/gio/gsocketclient.c:1148,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/gsocketclient.c:1157,1
    - Dst: g_socket_address_enumerator_next
      Src: /src/glib/gio/gsocketclient.c:1169,1
    - Dst: consider_tmp_error
      Src: /src/glib/gio/gsocketclient.c:1190,1
    - Dst: create_socket
      Src: /src/glib/gio/gsocketclient.c:1189,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:1193,1
    - Dst: consider_tmp_error
      Src: /src/glib/gio/gsocketclient.c:1171,1
    - Dst: g_socket_client_emit_event
      Src: /src/glib/gio/gsocketclient.c:1199,1
    - Dst: G_IS_SOCKET_CONNECTION
      Src: /src/glib/gio/gsocketclient.c:1306,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:1318,1
    - Dst: g_socket_client_emit_event
      Src: /src/glib/gio/gsocketclient.c:1324,1
    - Dst: g_tls_client_connection_new
      Src: /src/glib/gio/gsocketclient.c:1277,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:1315,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 127
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 1123
    functionDepth: 0
    functionLinenumber: 1123
    functionLinenumberEnd: 1326
    functionName: g_socket_client_connect
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - G_SOCKET_CONNECTION
    - g_steal_pointer
    - create_socket
    - G_PROXY_ADDRESS
    - g_proxy_connect
    - G_IS_PROXY_ADDRESS
    - g_socket_address_enumerator_next
    - g_proxy_address_get_protocol
    - g_set_error_literal
    - G_TLS_CONNECTION
    - can_use_proxy
    - g_cancellable_set_error_if_cancelled
    - g_object_set
    - g_proxy_get_default_for_protocol
    - g_object_unref
    - g_socket_connectable_proxy_enumerate
    - g_tls_connection_handshake
    - g_set_error
    - clarify_connect_error
    - G_IS_SOCKET_CONNECTION
    - consider_tmp_error
    - g_socket_connection_factory_create_connection
    - g_hash_table_contains
    - _
    - g_socket_connection_connect
    - G_IS_TCP_CONNECTION
    - G_IS_PROXY_ADDRESS_ENUMERATOR
    - g_clear_error
    - g_propagate_error
    - g_socket_connection_set_cached_remote_address
    - g_tls_client_connection_new
    - g_cancellable_is_cancelled
    - g_assert
    - g_socket_connectable_enumerate
    - G_OBJECT
    - socket_client_error_info_free
    - socket_client_error_info_new
    - g_critical
    - g_tcp_wrapper_connection_new
    - g_socket_client_emit_event
    linkageType: ''
    returnType: GSocketConnection*
    signature: "GSocketConnection *g_socket_client_connect (GSocketClient *client,\t\
      \t\t GSocketConnectable *connectable,\t\t\t GCancellable *cancellable,\t\t\t\
      \ GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_object
      Src: /src/glib/gio/gsocketclient.c:1520,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gsocketclient.c:1526,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gsocketclient.c:1524,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gsocketclient.c:1521,1
    - Dst: g_cancellable_disconnect
      Src: /src/glib/gio/gsocketclient.c:1523,1
    - Dst: g_slist_free_full
      Src: /src/glib/gio/gsocketclient.c:1528,1
    - Dst: g_slist_free_full
      Src: /src/glib/gio/gsocketclient.c:1529,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gsocketclient.c:1531,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gsocketclient.c:1533,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - data
    argTypes:
    - GSocketClientAsyncConnectData*
    constantsTouched: []
    func_position:
      end: 1534
      start: 1516
    functionDepth: 0
    functionLinenumber: 1516
    functionLinenumberEnd: 1534
    functionName: g_socket_client_async_connect_data_free
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_cancellable_disconnect
    - g_clear_pointer
    - g_clear_object
    - g_slice_free
    - g_slist_free_full
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_client_async_connect_data_free (GSocketClientAsyncConnectData
      *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slist_next
      Src: /src/glib/gio/gsocketclient.c:1605,1
    - Dst: connection_attempt_unref
      Src: /src/glib/gio/gsocketclient.c:1609,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/gsocketclient.c:1608,1
    - Dst: g_slist_free_full
      Src: /src/glib/gio/gsocketclient.c:1614,1
    - Dst: g_slist_free
      Src: /src/glib/gio/gsocketclient.c:1611,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/gsocketclient.c:1617,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - data
    argTypes:
    - GSocketClientAsyncConnectData*
    constantsTouched: []
    func_position:
      end: 1618
      start: 1600
    functionDepth: 0
    functionLinenumber: 1600
    functionLinenumberEnd: 1618
    functionName: cancel_all_attempts
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_slist_free_full
    - connection_attempt_unref
    - g_slist_next
    - g_cancellable_cancel
    - g_slist_free
    linkageType: ''
    returnType: void
    signature: 'static void cancel_all_attempts (GSocketClientAsyncConnectData *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_network_address_parse_uri
      Src: /src/glib/gio/gsocketclient.c:2330,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:2343,1
    - Dst: g_task_report_error
      Src: /src/glib/gio/gsocketclient.c:2333,1
    - Dst: g_debug
      Src: /src/glib/gio/gsocketclient.c:2339,1
    - Dst: g_socket_client_connect_async
      Src: /src/glib/gio/gsocketclient.c:2340,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 6
    argNames:
    - client
    - uri
    - default_port
    - cancellable
    - callback
    - user_data
    argTypes:
    - GSocketClient*
    - gchar*
    - guint16
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 2345
      start: 2318
    functionDepth: 0
    functionLinenumber: 2318
    functionLinenumberEnd: 2345
    functionName: g_socket_client_connect_to_uri_async
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_debug
    - g_task_report_error
    - g_network_address_parse_uri
    - g_socket_client_connect_async
    linkageType: ''
    returnType: void
    signature: "void g_socket_client_connect_to_uri_async (GSocketClient *client,\t\
      \t\t\t const gchar *uri,\t\t\t\t guint16 default_port,\t\t\t\t GCancellable\
      \ *cancellable,\t\t\t\t GAsyncReadyCallback callback,\t\t\t\t gpointer user_data) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gsocketclient.c:1625,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:1633,1
    - Dst: g_tcp_wrapper_connection_new
      Src: /src/glib/gio/gsocketclient.c:1632,1
    - Dst: G_IS_SOCKET_CONNECTION
      Src: /src/glib/gio/gsocketclient.c:1628,1
    - Dst: g_assert
      Src: /src/glib/gio/gsocketclient.c:1626,1
    - Dst: cancel_all_attempts
      Src: /src/glib/gio/gsocketclient.c:1638,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gsocketclient.c:1640,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gsocketclient.c:1640,1
    - Dst: g_debug
      Src: /src/glib/gio/gsocketclient.c:1642,1
    - Dst: g_socket_client_emit_event
      Src: /src/glib/gio/gsocketclient.c:1643,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gsocketclient.c:1650,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gsocketclient.c:1650,1
    - Dst: g_socket_client_emit_event
      Src: /src/glib/gio/gsocketclient.c:1649,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:1654,1
    - Dst: g_debug
      Src: /src/glib/gio/gsocketclient.c:1648,1
    - Dst: connection_attempt_unref
      Src: /src/glib/gio/gsocketclient.c:1653,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gsocketclient.c:1644,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gsocketclient.c:1644,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - attempt
    argTypes:
    - ConnectionAttempt*
    constantsTouched: []
    func_position:
      end: 1655
      start: 1620
    functionDepth: 0
    functionLinenumber: 1620
    functionLinenumberEnd: 1655
    functionName: g_socket_client_async_connect_complete
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_object_unref
    - g_task_return_pointer
    - g_assert
    - g_task_get_cancellable
    - g_debug
    - connection_attempt_unref
    - G_IS_SOCKET_CONNECTION
    - cancel_all_attempts
    - g_tcp_wrapper_connection_new
    - g_cancellable_set_error_if_cancelled
    - g_task_return_error
    - g_socket_client_emit_event
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_client_async_connect_complete (ConnectionAttempt
      *attempt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_object_ref
      Src: /src/glib/gio/gsocketclient.c:1670,1
    - Dst: g_socket_client_emit_event
      Src: /src/glib/gio/gsocketclient.c:1673,1
    - Dst: g_socket_address_enumerator_next_async
      Src: /src/glib/gio/gsocketclient.c:1675,1
    - Dst: g_debug
      Src: /src/glib/gio/gsocketclient.c:1674,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - data
    - add_task_ref
    argTypes:
    - GSocketClientAsyncConnectData*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1679
      start: 1663
    functionDepth: 0
    functionLinenumber: 1663
    functionLinenumberEnd: 1679
    functionName: enumerator_next_async
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_socket_client_emit_event
    - g_debug
    - g_object_ref
    - g_socket_address_enumerator_next_async
    linkageType: ''
    returnType: void
    signature: 'static void enumerator_next_async (GSocketClientAsyncConnectData *data,
      gboolean add_task_ref) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - client
    argTypes:
    - GSocketClient*
    constantsTouched: []
    func_position:
      end: 463
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 463
    functionName: g_socket_client_get_protocol
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GSocketProtocol
    signature: 'GSocketProtocol g_socket_client_get_protocol (GSocketClient *client) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_notify
      Src: /src/glib/gio/gsocketclient.c:579,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gsocketclient.c:579,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - client
    - timeout
    argTypes:
    - GSocketClient*
    - guint
    constantsTouched: []
    func_position:
      end: 580
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 580
    functionName: g_socket_client_set_timeout
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_object_notify
    - G_OBJECT
    linkageType: ''
    returnType: void
    signature: "void g_socket_client_set_timeout (GSocketClient *client,\t\t\t guint\
      \ timeout) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - client
    argTypes:
    - GSocketClient*
    constantsTouched: []
    func_position:
      end: 596
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 596
    functionName: g_socket_client_get_enable_proxy
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_socket_client_get_enable_proxy (GSocketClient *client) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_network_service_new
      Src: /src/glib/gio/gsocketclient.c:2294,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gsocketclient.c:2298,1
    - Dst: g_socket_client_connect_async
      Src: /src/glib/gio/gsocketclient.c:2295,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 6
    argNames:
    - client
    - domain
    - service
    - cancellable
    - callback
    - user_data
    argTypes:
    - GSocketClient*
    - gchar*
    - gchar*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 2299
      start: 2284
    functionDepth: 0
    functionLinenumber: 2284
    functionLinenumberEnd: 2299
    functionName: g_socket_client_connect_to_service_async
    functionSourceFile: /src/glib/gio/gsocketclient.c
    functionUses: []
    functionsReached:
    - g_network_service_new
    - g_socket_client_connect_async
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: "void g_socket_client_connect_to_service_async (GSocketClient *client,\t\
      \t\t\t\t const gchar *domain,\t\t\t\t\t const gchar *service,\t\t\t\t\t GCancellable\
      \ *cancellable,\t\t\t\t\t GAsyncReadyCallback callback,\t\t\t\t\t gpointer user_data) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_CHARSET_CONVERTER
      Src: /src/glib/gio/gcharsetconverter.c:90,1
    - Dst: g_free
      Src: /src/glib/gio/gcharsetconverter.c:95,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gcharsetconverter.c:101,1
    - Dst: g_free
      Src: /src/glib/gio/gcharsetconverter.c:100,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gcharsetconverter.c:96,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gcharsetconverter.c:105,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gcharsetconverter.c:109,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 113
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 113
    functionName: g_charset_converter_set_property
    functionSourceFile: /src/glib/gio/gcharsetconverter.c
    functionUses: []
    functionsReached:
    - G_CHARSET_CONVERTER
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_dup_string
    - g_value_get_boolean
    - g_free
    linkageType: ''
    returnType: void
    signature: "static void g_charset_converter_set_property (GObject *object,\t\t\
      \t\t guint prop_id,\t\t\t\t const GValue *value,\t\t\t\t GParamSpec *pspec) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gcharsetconverter.c:148,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gcharsetconverter.c:177,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gcharsetconverter.c:163,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gcharsetconverter.c:175,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gcharsetconverter.c:161,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gcharsetconverter.c:189,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gcharsetconverter.c:191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GCharsetConverterClass*
    constantsTouched: []
    func_position:
      end: 196
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 196
    functionName: g_charset_converter_class_init
    functionSourceFile: /src/glib/gio/gcharsetconverter.c
    functionUses: []
    functionsReached:
    - g_param_spec_string
    - g_param_spec_boolean
    - g_object_class_install_property
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_charset_converter_class_init (GCharsetConverterClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_initable_new
      Src: /src/glib/gio/gcharsetconverter.c:223,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 230
    functionName: g_charset_converter_new
    functionSourceFile: /src/glib/gio/gcharsetconverter.c
    functionUses: []
    functionsReached:
    - g_initable_new
    linkageType: ''
    returnType: GCharsetConverter*
    signature: "GCharsetConverter *g_charset_converter_new (const gchar *to_charset,\t\
      \t\t const gchar *from_charset,\t\t\t GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_notify
      Src: /src/glib/gio/gcharsetconverter.c:398,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gcharsetconverter.c:398,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - converter
    - use_fallback
    argTypes:
    - GCharsetConverter*
    - gboolean
    constantsTouched: []
    func_position:
      end: 400
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 400
    functionName: g_charset_converter_set_use_fallback
    functionSourceFile: /src/glib/gio/gcharsetconverter.c
    functionUses: []
    functionsReached:
    - g_object_notify
    - G_OBJECT
    linkageType: ''
    returnType: void
    signature: "void g_charset_converter_set_use_fallback (GCharsetConverter *converter,\t\
      \t\t\t gboolean use_fallback) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - converter
    argTypes:
    - GCharsetConverter*
    constantsTouched: []
    func_position:
      end: 432
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 432
    functionName: g_charset_converter_get_num_fallbacks
    functionSourceFile: /src/glib/gio/gcharsetconverter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint
    signature: 'guint g_charset_converter_get_num_fallbacks (GCharsetConverter *converter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GConverterIface*
    constantsTouched: []
    func_position:
      end: 439
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 439
    functionName: g_charset_converter_iface_init
    functionSourceFile: /src/glib/gio/gcharsetconverter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_charset_converter_iface_init (GConverterIface *iface) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_CHARSET_CONVERTER
      Src: /src/glib/gio/gcharsetconverter.c:123,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gcharsetconverter.c:136,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gcharsetconverter.c:132,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gcharsetconverter.c:140,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gcharsetconverter.c:128,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 143
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 143
    functionName: g_charset_converter_get_property
    functionSourceFile: /src/glib/gio/gcharsetconverter.c
    functionUses: []
    functionsReached:
    - G_CHARSET_CONVERTER
    - g_value_set_boolean
    - g_value_set_string
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: "static void g_charset_converter_get_property (GObject *object,\t\t\
      \t\t guint prop_id,\t\t\t\t GValue *value,\t\t\t\t GParamSpec *pspec) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - local
    argTypes:
    - GCharsetConverter*
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: g_charset_converter_init
    functionSourceFile: /src/glib/gio/gcharsetconverter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_charset_converter_init (GCharsetConverter *local) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_CHARSET_CONVERTER
      Src: /src/glib/gio/gcharsetconverter.c:235,1
    - Dst: g_warning
      Src: /src/glib/gio/gcharsetconverter.c:239,1
    - Dst: g_iconv
      Src: /src/glib/gio/gcharsetconverter.c:243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - converter
    argTypes:
    - GConverter*
    constantsTouched: []
    func_position:
      end: 245
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 245
    functionName: g_charset_converter_reset
    functionSourceFile: /src/glib/gio/gcharsetconverter.c
    functionUses: []
    functionsReached:
    - G_CHARSET_CONVERTER
    - g_warning
    - g_iconv
    linkageType: ''
    returnType: void
    signature: 'static void g_charset_converter_reset (GConverter *converter) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcharsetconverter.c:449,1
    - Dst: _
      Src: /src/glib/gio/gcharsetconverter.c:456,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gcharsetconverter.c:455,1
    - Dst: G_CHARSET_CONVERTER
      Src: /src/glib/gio/gcharsetconverter.c:451,1
    - Dst: G_IS_CHARSET_CONVERTER
      Src: /src/glib/gio/gcharsetconverter.c:449,1
    - Dst: g_iconv_open
      Src: /src/glib/gio/gcharsetconverter.c:460,1
    - Dst: g_set_error
      Src: /src/glib/gio/gcharsetconverter.c:466,1
    - Dst: _
      Src: /src/glib/gio/gcharsetconverter.c:467,1
    - Dst: g_set_error
      Src: /src/glib/gio/gcharsetconverter.c:470,1
    - Dst: _
      Src: /src/glib/gio/gcharsetconverter.c:471,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - initable
    - cancellable
    - error
    argTypes:
    - GInitable*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 477
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 477
    functionName: g_charset_converter_initable_init
    functionSourceFile: /src/glib/gio/gcharsetconverter.c
    functionUses: []
    functionsReached:
    - G_CHARSET_CONVERTER
    - g_set_error
    - g_return_val_if_fail
    - g_iconv_open
    - g_set_error_literal
    - _
    - G_IS_CHARSET_CONVERTER
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_charset_converter_initable_init (GInitable *initable,\t\
      \t\t\t GCancellable *cancellable,\t\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GInitableIface*
    constantsTouched: []
    func_position:
      end: 483
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 483
    functionName: g_charset_converter_initable_iface_init
    functionSourceFile: /src/glib/gio/gcharsetconverter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_charset_converter_initable_iface_init (GInitableIface
      *iface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_CHARSET_CONVERTER
      Src: /src/glib/gio/gcharsetconverter.c:72,1
    - Dst: g_free
      Src: /src/glib/gio/gcharsetconverter.c:74,1
    - Dst: g_iconv_close
      Src: /src/glib/gio/gcharsetconverter.c:77,1
    - Dst: g_free
      Src: /src/glib/gio/gcharsetconverter.c:75,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gcharsetconverter.c:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 80
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 80
    functionName: g_charset_converter_finalize
    functionSourceFile: /src/glib/gio/gcharsetconverter.c
    functionUses: []
    functionsReached:
    - G_CHARSET_CONVERTER
    - g_iconv_close
    - g_free
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_charset_converter_finalize (GObject *object) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: G_CHARSET_CONVERTER
      Src: /src/glib/gio/gcharsetconverter.c:266,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gcharsetconverter.c:291,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gcharsetconverter.c:270,1
    - Dst: _
      Src: /src/glib/gio/gcharsetconverter.c:292,1
    - Dst: _
      Src: /src/glib/gio/gcharsetconverter.c:271,1
    - Dst: g_iconv
      Src: /src/glib/gio/gcharsetconverter.c:299,1
    - Dst: g_iconv
      Src: /src/glib/gio/gcharsetconverter.c:303,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gcharsetconverter.c:319,1
    - Dst: _
      Src: /src/glib/gio/gcharsetconverter.c:320,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gcharsetconverter.c:325,1
    - Dst: g_strerror
      Src: /src/glib/gio/gcharsetconverter.c:359,1
    - Dst: _
      Src: /src/glib/gio/gcharsetconverter.c:335,1
    - Dst: _
      Src: /src/glib/gio/gcharsetconverter.c:353,1
    - Dst: _
      Src: /src/glib/gio/gcharsetconverter.c:358,1
    - Dst: g_set_error
      Src: /src/glib/gio/gcharsetconverter.c:357,1
    - Dst: _
      Src: /src/glib/gio/gcharsetconverter.c:326,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gcharsetconverter.c:334,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gcharsetconverter.c:352,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 69
    argCount: 9
    argNames:
    - converter
    - inbuf
    - inbuf_size
    - outbuf
    - outbuf_size
    - flags
    - bytes_read
    - bytes_written
    - error
    argTypes:
    - GConverter*
    - void*
    - gsize
    - void*
    - gsize
    - GConverterFlags
    - gsize*
    - gsize*
    - GError**
    constantsTouched: []
    func_position:
      end: 378
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 378
    functionName: g_charset_converter_convert
    functionSourceFile: /src/glib/gio/gcharsetconverter.c
    functionUses: []
    functionsReached:
    - G_CHARSET_CONVERTER
    - g_set_error
    - g_iconv
    - g_strerror
    - g_set_error_literal
    - _
    linkageType: ''
    returnType: GConverterResult
    signature: "static GConverterResult g_charset_converter_convert (GConverter *converter,\t\
      \t\t const void *inbuf,\t\t\t gsize inbuf_size,\t\t\t void *outbuf,\t\t\t gsize\
      \ outbuf_size,\t\t\t GConverterFlags flags,\t\t\t gsize *bytes_read,\t\t\t gsize\
      \ *bytes_written,\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - converter
    argTypes:
    - GCharsetConverter*
    constantsTouched: []
    func_position:
      end: 416
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 416
    functionName: g_charset_converter_get_use_fallback
    functionSourceFile: /src/glib/gio/gcharsetconverter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_charset_converter_get_use_fallback (GCharsetConverter *converter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pending_change_get_ready_time
      Src: /src/glib/gio/glocalfilemonitor.c:107,1
    - Dst: pending_change_get_ready_time
      Src: /src/glib/gio/glocalfilemonitor.c:108,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - a_p
    - b_p
    - user_data
    argTypes:
    - gconstpointer
    - gconstpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 114
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 114
    functionName: pending_change_compare_ready_time
    functionSourceFile: /src/glib/gio/glocalfilemonitor.c
    functionUses: []
    functionsReached:
    - pending_change_get_ready_time
    linkageType: ''
    returnType: int
    signature: 'static int pending_change_compare_ready_time (gconstpointer a_p, gconstpointer
      b_p, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - local_monitor
    argTypes:
    - GLocalFileMonitor*
    constantsTouched: []
    func_position:
      end: 846
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 846
    functionName: g_local_file_monitor_init
    functionSourceFile: /src/glib/gio/glocalfilemonitor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_local_file_monitor_init (GLocalFileMonitor* local_monitor) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _g_io_module_get_default_type
      Src: /src/glib/gio/glocalfilemonitor.c:868,1
    - Dst: _g_io_module_get_default_type
      Src: /src/glib/gio/glocalfilemonitor.c:874,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/glocalfilemonitor.c:870,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/glocalfilemonitor.c:880,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/glocalfilemonitor.c:876,1
    - Dst: _
      Src: /src/glib/gio/glocalfilemonitor.c:881,1
    - Dst: g_object_new
      Src: /src/glib/gio/glocalfilemonitor.c:885,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 886
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 886
    functionName: g_local_file_monitor_new
    functionSourceFile: /src/glib/gio/glocalfilemonitor.c
    functionUses: []
    functionsReached:
    - G_STRUCT_OFFSET
    - g_object_new
    - _g_io_module_get_default_type
    - g_set_error_literal
    - _
    linkageType: ''
    returnType: GLocalFileMonitor*
    signature: 'static GLocalFileMonitor *g_local_file_monitor_new (gboolean is_remote_fs,
      gboolean is_directory, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/glocalfilemonitor.c:121,1
    - Dst: g_slice_free
      Src: /src/glib/gio/glocalfilemonitor.c:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 124
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 124
    functionName: pending_change_free
    functionSourceFile: /src/glib/gio/glocalfilemonitor.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void pending_change_free (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/glocalfilemonitor.c:850,1
    - Dst: g_object_class_override_property
      Src: /src/glib/gio/glocalfilemonitor.c:857,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - class
    argTypes:
    - GLocalFileMonitorClass*
    constantsTouched: []
    func_position:
      end: 858
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 858
    functionName: g_local_file_monitor_class_init
    functionSourceFile: /src/glib/gio/glocalfilemonitor.c
    functionUses: []
    functionsReached:
    - g_object_class_override_property
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_local_file_monitor_class_init (GLocalFileMonitorClass
      *class) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_local_file_is_nfs_home
      Src: /src/glib/gio/glocalfilemonitor.c:897,1
    - Dst: g_main_context_get_thread_default
      Src: /src/glib/gio/glocalfilemonitor.c:902,1
    - Dst: G_FILE_MONITOR
      Src: /src/glib/gio/glocalfilemonitor.c:904,1
    - Dst: g_local_file_monitor_start
      Src: /src/glib/gio/glocalfilemonitor.c:902,1
    - Dst: g_local_file_monitor_new
      Src: /src/glib/gio/glocalfilemonitor.c:899,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 905
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 905
    functionName: g_local_file_monitor_new_for_path
    functionSourceFile: /src/glib/gio/glocalfilemonitor.c
    functionUses: []
    functionsReached:
    - g_local_file_is_nfs_home
    - g_local_file_monitor_new
    - g_main_context_get_thread_default
    - G_FILE_MONITOR
    - g_local_file_monitor_start
    linkageType: ''
    returnType: GFileMonitor*
    signature: 'GFileMonitor *g_local_file_monitor_new_for_path (const gchar *pathname,
      gboolean is_directory, GFileMonitorFlags flags, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/glib/gio/glocalfilemonitor.c:339,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - name
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 340
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 340
    functionName: is_basename
    functionSourceFile: /src/glib/gio/glocalfilemonitor.c
    functionUses: []
    functionsReached:
    - strchr
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_basename (const gchar *name) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/glocalfilemonitor.c:353,1
    - Dst: g_str_equal
      Src: /src/glib/gio/glocalfilemonitor.c:357,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/glocalfilemonitor.c:360,1
    - Dst: g_source_is_destroyed
      Src: /src/glib/gio/glocalfilemonitor.c:379,1
    - Dst: g_file_monitor_source_file_created
      Src: /src/glib/gio/glocalfilemonitor.c:389,1
    - Dst: g_assert
      Src: /src/glib/gio/glocalfilemonitor.c:398,1
    - Dst: g_assert
      Src: /src/glib/gio/glocalfilemonitor.c:393,1
    - Dst: g_file_monitor_source_send_event
      Src: /src/glib/gio/glocalfilemonitor.c:415,1
    - Dst: g_object_unref
      Src: /src/glib/gio/glocalfilemonitor.c:443,1
    - Dst: g_str_equal
      Src: /src/glib/gio/glocalfilemonitor.c:356,1
    - Dst: g_file_monitor_source_file_changes_done
      Src: /src/glib/gio/glocalfilemonitor.c:399,1
    - Dst: g_local_file_new_from_dirname_and_basename
      Src: /src/glib/gio/glocalfilemonitor.c:439,1
    - Dst: g_file_monitor_source_file_changes_done
      Src: /src/glib/gio/glocalfilemonitor.c:440,1
    - Dst: g_file_monitor_source_send_event
      Src: /src/glib/gio/glocalfilemonitor.c:448,1
    - Dst: g_file_monitor_source_send_event
      Src: /src/glib/gio/glocalfilemonitor.c:458,1
    - Dst: g_file_monitor_source_update_ready_time
      Src: /src/glib/gio/glocalfilemonitor.c:467,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/glocalfilemonitor.c:469,1
    - Dst: g_assert
      Src: /src/glib/gio/glocalfilemonitor.c:354,1
    - Dst: g_assert
      Src: /src/glib/gio/glocalfilemonitor.c:388,1
    - Dst: g_assert
      Src: /src/glib/gio/glocalfilemonitor.c:403,1
    - Dst: g_file_monitor_source_file_changed
      Src: /src/glib/gio/glocalfilemonitor.c:394,1
    - Dst: g_assert
      Src: /src/glib/gio/glocalfilemonitor.c:411,1
    - Dst: g_assert
      Src: /src/glib/gio/glocalfilemonitor.c:421,1
    - Dst: g_file_monitor_source_send_event
      Src: /src/glib/gio/glocalfilemonitor.c:441,1
    - Dst: g_assert
      Src: /src/glib/gio/glocalfilemonitor.c:457,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/glocalfilemonitor.c:464,1
    - Dst: is_basename
      Src: /src/glib/gio/glocalfilemonitor.c:353,1
    - Dst: is_basename
      Src: /src/glib/gio/glocalfilemonitor.c:354,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/glocalfilemonitor.c:381,1
    - Dst: g_file_monitor_source_send_event
      Src: /src/glib/gio/glocalfilemonitor.c:405,1
    - Dst: g_file_monitor_source_send_synthetic_created
      Src: /src/glib/gio/glocalfilemonitor.c:407,1
    - Dst: g_file_monitor_source_send_event
      Src: /src/glib/gio/glocalfilemonitor.c:413,1
    - Dst: g_file_monitor_source_send_event
      Src: /src/glib/gio/glocalfilemonitor.c:417,1
    - Dst: g_path_get_dirname
      Src: /src/glib/gio/glocalfilemonitor.c:435,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfilemonitor.c:444,1
    - Dst: g_file_monitor_source_send_synthetic_created
      Src: /src/glib/gio/glocalfilemonitor.c:449,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 84
    argCount: 6
    argNames:
    - fms
    - event_type
    - child
    - rename_to
    - other
    - event_time
    argTypes:
    - GFileMonitorSource*
    - GFileMonitorEvent
    - gchar*
    - gchar*
    - GFile*
    - gint64
    constantsTouched: []
    func_position:
      end: 472
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 472
    functionName: g_file_monitor_source_handle_event
    functionSourceFile: /src/glib/gio/glocalfilemonitor.c
    functionUses: []
    functionsReached:
    - g_path_get_dirname
    - g_object_unref
    - g_mutex_unlock
    - g_mutex_lock
    - g_assert
    - g_local_file_new_from_dirname_and_basename
    - g_file_monitor_source_update_ready_time
    - is_basename
    - g_free
    - g_assert_not_reached
    - g_file_monitor_source_file_changes_done
    - g_file_monitor_source_send_event
    - g_file_monitor_source_file_changed
    - g_file_monitor_source_send_synthetic_created
    - g_file_monitor_source_file_created
    - g_source_is_destroyed
    - g_str_equal
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_file_monitor_source_handle_event (GFileMonitorSource *fms,
      GFileMonitorEvent event_type, const gchar *child, const gchar *rename_to, GFile
      *other, gint64 event_time) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/glocalfilemonitor.c:627,1
    - Dst: g_sequence_is_empty
      Src: /src/glib/gio/glocalfilemonitor.c:630,1
    - Dst: g_weak_ref_clear
      Src: /src/glib/gio/glocalfilemonitor.c:628,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gio/glocalfilemonitor.c:627,1
    - Dst: g_assert
      Src: /src/glib/gio/glocalfilemonitor.c:630,1
    - Dst: g_assert
      Src: /src/glib/gio/glocalfilemonitor.c:631,1
    - Dst: g_hash_table_size
      Src: /src/glib/gio/glocalfilemonitor.c:631,1
    - Dst: g_assert
      Src: /src/glib/gio/glocalfilemonitor.c:632,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/glocalfilemonitor.c:634,1
    - Dst: g_sequence_free
      Src: /src/glib/gio/glocalfilemonitor.c:635,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfilemonitor.c:638,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfilemonitor.c:637,1
    - Dst: g_mutex_clear
      Src: /src/glib/gio/glocalfilemonitor.c:641,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfilemonitor.c:639,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - source
    argTypes:
    - GSource*
    constantsTouched: []
    func_position:
      end: 642
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 642
    functionName: g_file_monitor_source_finalize
    functionSourceFile: /src/glib/gio/glocalfilemonitor.c
    functionUses: []
    functionsReached:
    - g_weak_ref_get
    - g_hash_table_unref
    - g_assert
    - g_mutex_clear
    - g_sequence_free
    - g_sequence_is_empty
    - g_hash_table_size
    - g_weak_ref_clear
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void g_file_monitor_source_finalize (GSource *source) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE_MONITOR
      Src: /src/glib/gio/glocalfilemonitor.c:826,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/glocalfilemonitor.c:830,1
    - Dst: g_file_monitor_source_dispose
      Src: /src/glib/gio/glocalfilemonitor.c:828,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 831
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 831
    functionName: g_local_file_monitor_dispose
    functionSourceFile: /src/glib/gio/glocalfilemonitor.c
    functionUses: []
    functionsReached:
    - G_LOCAL_FILE_MONITOR
    - g_file_monitor_source_dispose
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_local_file_monitor_dispose (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - change
    - fms
    argTypes:
    - PendingChange*
    - GFileMonitorSource*
    constantsTouched: []
    func_position:
      end: 94
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 94
    functionName: pending_change_get_ready_time
    functionSourceFile: /src/glib/gio/glocalfilemonitor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gint64
    signature: 'static gint64 pending_change_get_ready_time (const PendingChange *change,
      GFileMonitorSource *fms) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_str_hash
      Src: /src/glib/gio/glocalfilemonitor.c:647,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 648
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 648
    functionName: str_hash0
    functionSourceFile: /src/glib/gio/glocalfilemonitor.c
    functionUses: []
    functionsReached:
    - g_str_hash
    linkageType: ''
    returnType: guint
    signature: 'static guint str_hash0 (gconstpointer str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE_MONITOR
      Src: /src/glib/gio/glocalfilemonitor.c:836,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/glocalfilemonitor.c:840,1
    - Dst: g_source_unref
      Src: /src/glib/gio/glocalfilemonitor.c:838,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 841
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 841
    functionName: g_local_file_monitor_finalize
    functionSourceFile: /src/glib/gio/glocalfilemonitor.c
    functionUses: []
    functionsReached:
    - G_LOCAL_FILE_MONITOR
    - g_source_unref
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_local_file_monitor_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/gio/glocalfilemonitor.c:172,1
    - Dst: g_sequence_insert_sorted
      Src: /src/glib/gio/glocalfilemonitor.c:177,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalfilemonitor.c:173,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/glocalfilemonitor.c:178,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - fms
    - child
    - now
    argTypes:
    - GFileMonitorSource*
    - gchar*
    - gint64
    constantsTouched: []
    func_position:
      end: 179
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 179
    functionName: g_file_monitor_source_add_pending_change
    functionSourceFile: /src/glib/gio/glocalfilemonitor.c
    functionUses: []
    functionsReached:
    - g_sequence_insert_sorted
    - g_strdup
    - g_slice_new
    - g_hash_table_insert
    linkageType: ''
    returnType: void
    signature: 'static void g_file_monitor_source_add_pending_change (GFileMonitorSource
      *fms, const gchar *child, gint64 now) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/gio/glocalfilemonitor.c:231,1
    - Dst: g_local_file_new_from_dirname_and_basename
      Src: /src/glib/gio/glocalfilemonitor.c:234,1
    - Dst: g_local_file_new_from_dirname_and_basename
      Src: /src/glib/gio/glocalfilemonitor.c:238,1
    - Dst: g_free
      Src: /src/glib/gio/glocalfilemonitor.c:239,1
    - Dst: g_path_get_dirname
      Src: /src/glib/gio/glocalfilemonitor.c:237,1
    - Dst: _g_local_file_new
      Src: /src/glib/gio/glocalfilemonitor.c:242,1
    - Dst: _g_local_file_new
      Src: /src/glib/gio/glocalfilemonitor.c:244,1
    - Dst: g_object_ref
      Src: /src/glib/gio/glocalfilemonitor.c:247,1
    - Dst: g_queue_push_tail
      Src: /src/glib/gio/glocalfilemonitor.c:249,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 4
    argNames:
    - fms
    - event_type
    - child
    - other
    argTypes:
    - GFileMonitorSource*
    - GFileMonitorEvent
    - gchar*
    - GFile*
    constantsTouched: []
    func_position:
      end: 250
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 250
    functionName: g_file_monitor_source_queue_event
    functionSourceFile: /src/glib/gio/glocalfilemonitor.c
    functionUses: []
    functionsReached:
    - g_path_get_dirname
    - g_local_file_new_from_dirname_and_basename
    - g_queue_push_tail
    - _g_local_file_new
    - g_slice_new
    - g_object_ref
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void g_file_monitor_source_queue_event (GFileMonitorSource
      *fms, GFileMonitorEvent event_type, const gchar *child, GFile *other) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_file_monitor_source_find_pending_change
      Src: /src/glib/gio/glocalfilemonitor.c:285,1
    - Dst: g_file_monitor_source_queue_event
      Src: /src/glib/gio/glocalfilemonitor.c:292,1
    - Dst: g_file_monitor_source_queue_event
      Src: /src/glib/gio/glocalfilemonitor.c:290,1
    - Dst: g_file_monitor_source_remove_pending_change
      Src: /src/glib/gio/glocalfilemonitor.c:293,1
    - Dst: g_file_monitor_source_get_pending_change_dirty
      Src: /src/glib/gio/glocalfilemonitor.c:289,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - fms
    - child
    argTypes:
    - GFileMonitorSource*
    - gchar*
    constantsTouched: []
    func_position:
      end: 295
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 295
    functionName: g_file_monitor_source_file_changes_done
    functionSourceFile: /src/glib/gio/glocalfilemonitor.c
    functionUses: []
    functionsReached:
    - g_file_monitor_source_get_pending_change_dirty
    - g_file_monitor_source_remove_pending_change
    - g_file_monitor_source_queue_event
    - g_file_monitor_source_find_pending_change
    linkageType: ''
    returnType: void
    signature: 'static void g_file_monitor_source_file_changes_done (GFileMonitorSource
      *fms, const gchar *child) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gio/glocalfilemonitor.c:654,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 655
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 655
    functionName: str_equal0
    functionSourceFile: /src/glib/gio/glocalfilemonitor.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean str_equal0 (gconstpointer a, gconstpointer b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE_MONITOR
      Src: /src/glib/gio/glocalfilemonitor.c:717,1
    - Dst: g_assert
      Src: /src/glib/gio/glocalfilemonitor.c:720,1
    - Dst: g_value_set_int
      Src: /src/glib/gio/glocalfilemonitor.c:725,1
    - Dst: g_file_monitor_source_get_rate_limit
      Src: /src/glib/gio/glocalfilemonitor.c:722,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 726
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 726
    functionName: g_local_file_monitor_get_property
    functionSourceFile: /src/glib/gio/glocalfilemonitor.c
    functionUses: []
    functionsReached:
    - g_assert
    - G_LOCAL_FILE_MONITOR
    - g_value_set_int
    - g_file_monitor_source_get_rate_limit
    linkageType: ''
    returnType: void
    signature: 'static void g_local_file_monitor_get_property (GObject *object, guint
      prop_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_sequence_get
      Src: /src/glib/gio/glocalfilemonitor.c:187,1
    - Dst: g_sequence_sort_changed
      Src: /src/glib/gio/glocalfilemonitor.c:195,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - fms
    - iter
    argTypes:
    - GFileMonitorSource*
    - GSequenceIter*
    constantsTouched: []
    func_position:
      end: 198
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 198
    functionName: g_file_monitor_source_set_pending_change_dirty
    functionSourceFile: /src/glib/gio/glocalfilemonitor.c
    functionUses: []
    functionsReached:
    - g_sequence_sort_changed
    - g_sequence_get
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_file_monitor_source_set_pending_change_dirty (GFileMonitorSource
      *fms, GSequenceIter *iter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_monitor_source_find_pending_change
      Src: /src/glib/gio/glocalfilemonitor.c:260,1
    - Dst: g_file_monitor_source_set_pending_change_dirty
      Src: /src/glib/gio/glocalfilemonitor.c:272,1
    - Dst: g_file_monitor_source_queue_event
      Src: /src/glib/gio/glocalfilemonitor.c:267,1
    - Dst: g_file_monitor_source_update_ready_time
      Src: /src/glib/gio/glocalfilemonitor.c:274,1
    - Dst: g_file_monitor_source_add_pending_change
      Src: /src/glib/gio/glocalfilemonitor.c:268,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - fms
    - child
    - now
    argTypes:
    - GFileMonitorSource*
    - gchar*
    - gint64
    constantsTouched: []
    func_position:
      end: 277
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 277
    functionName: g_file_monitor_source_file_changed
    functionSourceFile: /src/glib/gio/glocalfilemonitor.c
    functionUses: []
    functionsReached:
    - g_file_monitor_source_set_pending_change_dirty
    - g_file_monitor_source_update_ready_time
    - g_file_monitor_source_queue_event
    - g_file_monitor_source_add_pending_change
    - g_file_monitor_source_find_pending_change
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_file_monitor_source_file_changed (GFileMonitorSource
      *fms, const gchar *child, gint64 now) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_monitor_source_file_changes_done
      Src: /src/glib/gio/glocalfilemonitor.c:305,1
    - Dst: g_file_monitor_source_queue_event
      Src: /src/glib/gio/glocalfilemonitor.c:308,1
    - Dst: g_file_monitor_source_add_pending_change
      Src: /src/glib/gio/glocalfilemonitor.c:309,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - fms
    - child
    - event_time
    argTypes:
    - GFileMonitorSource*
    - gchar*
    - gint64
    constantsTouched: []
    func_position:
      end: 310
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 310
    functionName: g_file_monitor_source_file_created
    functionSourceFile: /src/glib/gio/glocalfilemonitor.c
    functionUses: []
    functionsReached:
    - g_file_monitor_source_queue_event
    - g_file_monitor_source_add_pending_change
    - g_file_monitor_source_file_changes_done
    linkageType: ''
    returnType: void
    signature: 'static void g_file_monitor_source_file_created (GFileMonitorSource
      *fms, const gchar *child, gint64 event_time) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_source_new
      Src: /src/glib/gio/glocalfilemonitor.c:672,1
    - Dst: g_weak_ref_init
      Src: /src/glib/gio/glocalfilemonitor.c:678,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/glocalfilemonitor.c:675,1
    - Dst: g_mutex_init
      Src: /src/glib/gio/glocalfilemonitor.c:677,1
    - Dst: g_sequence_new
      Src: /src/glib/gio/glocalfilemonitor.c:679,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/glocalfilemonitor.c:680,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalfilemonitor.c:686,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalfilemonitor.c:694,1
    - Dst: g_path_get_dirname
      Src: /src/glib/gio/glocalfilemonitor.c:698,1
    - Dst: g_path_get_basename
      Src: /src/glib/gio/glocalfilemonitor.c:699,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 704
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 704
    functionName: g_file_monitor_source_new
    functionSourceFile: /src/glib/gio/glocalfilemonitor.c
    functionUses: []
    functionsReached:
    - g_path_get_dirname
    - g_mutex_init
    - g_strdup
    - g_sequence_new
    - g_source_new
    - g_path_get_basename
    - g_hash_table_new
    - g_weak_ref_init
    - g_source_set_static_name
    linkageType: ''
    returnType: GFileMonitorSource*
    signature: 'static GFileMonitorSource *g_file_monitor_source_new (gpointer instance,
      const gchar *filename, gboolean is_directory, GFileMonitorFlags flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE_MONITOR
      Src: /src/glib/gio/glocalfilemonitor.c:732,1
    - Dst: g_object_notify
      Src: /src/glib/gio/glocalfilemonitor.c:741,1
    - Dst: g_value_get_int
      Src: /src/glib/gio/glocalfilemonitor.c:737,1
    - Dst: g_assert
      Src: /src/glib/gio/glocalfilemonitor.c:735,1
    - Dst: g_file_monitor_source_set_rate_limit
      Src: /src/glib/gio/glocalfilemonitor.c:740,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 742
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 742
    functionName: g_local_file_monitor_set_property
    functionSourceFile: /src/glib/gio/glocalfilemonitor.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_object_notify
    - G_LOCAL_FILE_MONITOR
    - g_file_monitor_source_set_rate_limit
    - g_value_get_int
    linkageType: ''
    returnType: void
    signature: 'static void g_local_file_monitor_set_property (GObject *object, guint
      prop_id, const GValue *value, GParamSpec *pspec) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCAL_FILE_MONITOR_GET_CLASS
      Src: /src/glib/gio/glocalfilemonitor.c:782,1
    - Dst: g_assert
      Src: /src/glib/gio/glocalfilemonitor.c:787,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/glocalfilemonitor.c:785,1
    - Dst: G_IS_LOCAL_FILE_MONITOR
      Src: /src/glib/gio/glocalfilemonitor.c:785,1
    - Dst: g_file_monitor_source_new
      Src: /src/glib/gio/glocalfilemonitor.c:789,1
    - Dst: g_unix_mount_entry_at
      Src: /src/glib/gio/glocalfilemonitor.c:802,1
    - Dst: g_unix_mount_entry_free
      Src: /src/glib/gio/glocalfilemonitor.c:807,1
    - Dst: g_unix_mount_monitor_get
      Src: /src/glib/gio/glocalfilemonitor.c:809,1
    - Dst: g_signal_connect_object
      Src: /src/glib/gio/glocalfilemonitor.c:810,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/glocalfilemonitor.c:811,1
    - Dst: g_source_attach
      Src: /src/glib/gio/glocalfilemonitor.c:816,1
    - Dst: G_LOCAL_FILE_MONITOR_GET_CLASS
      Src: /src/glib/gio/glocalfilemonitor.c:818,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 5
    argNames:
    - local_monitor
    - filename
    - is_directory
    - flags
    - context
    argTypes:
    - GLocalFileMonitor*
    - gchar*
    - gboolean
    - GFileMonitorFlags
    - GMainContext*
    constantsTouched: []
    func_position:
      end: 821
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 821
    functionName: g_local_file_monitor_start
    functionSourceFile: /src/glib/gio/glocalfilemonitor.c
    functionUses: []
    functionsReached:
    - g_return_if_fail
    - g_assert
    - g_source_attach
    - G_LOCAL_FILE_MONITOR_GET_CLASS
    - g_signal_connect_object
    - G_CALLBACK
    - g_unix_mount_entry_at
    - g_unix_mount_entry_free
    - g_unix_mount_monitor_get
    - g_file_monitor_source_new
    - G_IS_LOCAL_FILE_MONITOR
    linkageType: ''
    returnType: void
    signature: 'static void g_local_file_monitor_start (GLocalFileMonitor *local_monitor,
      const gchar *filename, gboolean is_directory, GFileMonitorFlags flags, GMainContext
      *context) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_local_file_is_nfs_home
      Src: /src/glib/gio/glocalfilemonitor.c:919,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/glocalfilemonitor.c:926,1
    - Dst: g_signal_connect_data
      Src: /src/glib/gio/glocalfilemonitor.c:926,1
    - Dst: g_local_file_monitor_start
      Src: /src/glib/gio/glocalfilemonitor.c:929,1
    - Dst: g_local_file_monitor_new
      Src: /src/glib/gio/glocalfilemonitor.c:921,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/glocalfilemonitor.c:929,1
    - Dst: G_FILE_MONITOR
      Src: /src/glib/gio/glocalfilemonitor.c:932,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 933
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 933
    functionName: g_local_file_monitor_new_in_worker
    functionSourceFile: /src/glib/gio/glocalfilemonitor.c
    functionUses: []
    functionsReached:
    - g_signal_connect_data
    - g_local_file_is_nfs_home
    - g_local_file_monitor_new
    - G_CALLBACK
    - GLIB_PRIVATE_CALL
    - G_FILE_MONITOR
    - g_local_file_monitor_start
    linkageType: ''
    returnType: GFileMonitor*
    signature: 'GFileMonitor *g_local_file_monitor_new_in_worker (const gchar *pathname,
      gboolean is_directory, GFileMonitorFlags flags, GFileMonitorCallback callback,
      gpointer user_data, GClosureNotify destroy_user_data, GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_mount_entry_at
      Src: /src/glib/gio/glocalfilemonitor.c:755,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/glocalfilemonitor.c:766,1
    - Dst: G_FILE_MONITOR
      Src: /src/glib/gio/glocalfilemonitor.c:767,1
    - Dst: g_file_monitor_emit_event
      Src: /src/glib/gio/glocalfilemonitor.c:767,1
    - Dst: g_unix_mount_entry_free
      Src: /src/glib/gio/glocalfilemonitor.c:760,1
    - Dst: g_object_unref
      Src: /src/glib/gio/glocalfilemonitor.c:768,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - mount_monitor
    - user_data
    argTypes:
    - GUnixMountMonitor*
    - gpointer
    constantsTouched: []
    func_position:
      end: 772
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 772
    functionName: g_local_file_monitor_mounts_changed
    functionSourceFile: /src/glib/gio/glocalfilemonitor.c
    functionUses: []
    functionsReached:
    - g_file_new_for_path
    - g_object_unref
    - g_file_monitor_emit_event
    - g_unix_mount_entry_at
    - g_unix_mount_entry_free
    - G_FILE_MONITOR
    linkageType: ''
    returnType: void
    signature: 'static void g_local_file_monitor_mounts_changed (GUnixMountMonitor
      *mount_monitor, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/glocalfilemonitor.c:129,1
    - Dst: g_object_unref
      Src: /src/glib/gio/glocalfilemonitor.c:131,1
    - Dst: g_slice_free
      Src: /src/glib/gio/glocalfilemonitor.c:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - event
    argTypes:
    - QueuedEvent*
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 134
    functionName: queued_event_free
    functionSourceFile: /src/glib/gio/glocalfilemonitor.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void queued_event_free (QueuedEvent *event) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_source_set_ready_time
      Src: /src/glib/gio/glocalfilemonitor.c:154,1
    - Dst: g_file_monitor_source_get_ready_time
      Src: /src/glib/gio/glocalfilemonitor.c:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - fms
    argTypes:
    - GFileMonitorSource*
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: g_file_monitor_source_update_ready_time
    functionSourceFile: /src/glib/gio/glocalfilemonitor.c
    functionUses: []
    functionsReached:
    - g_source_set_ready_time
    - g_file_monitor_source_get_ready_time
    linkageType: ''
    returnType: void
    signature: 'static void g_file_monitor_source_update_ready_time (GFileMonitorSource
      *fms) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_sequence_get
      Src: /src/glib/gio/glocalfilemonitor.c:206,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - fms
    - iter
    argTypes:
    - GFileMonitorSource*
    - GSequenceIter*
    constantsTouched: []
    func_position:
      end: 209
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 209
    functionName: g_file_monitor_source_get_pending_change_dirty
    functionSourceFile: /src/glib/gio/glocalfilemonitor.c
    functionUses: []
    functionsReached:
    - g_sequence_get
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_file_monitor_source_get_pending_change_dirty (GFileMonitorSource
      *fms, GSequenceIter *iter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_monitor_source_file_changes_done
      Src: /src/glib/gio/glocalfilemonitor.c:319,1
    - Dst: g_file_monitor_source_queue_event
      Src: /src/glib/gio/glocalfilemonitor.c:320,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - fms
    - event_type
    - child
    - other
    argTypes:
    - GFileMonitorSource*
    - GFileMonitorEvent
    - gchar*
    - GFile*
    constantsTouched: []
    func_position:
      end: 321
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 321
    functionName: g_file_monitor_source_send_event
    functionSourceFile: /src/glib/gio/glocalfilemonitor.c
    functionUses: []
    functionsReached:
    - g_file_monitor_source_queue_event
    - g_file_monitor_source_file_changes_done
    linkageType: ''
    returnType: void
    signature: 'static void g_file_monitor_source_send_event (GFileMonitorSource *fms,
      GFileMonitorEvent event_type, const gchar *child, GFile *other) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/glocalfilemonitor.c:479,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/glocalfilemonitor.c:481,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - fms
    argTypes:
    - GFileMonitorSource*
    constantsTouched: []
    func_position:
      end: 484
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 484
    functionName: g_file_monitor_source_get_rate_limit
    functionSourceFile: /src/glib/gio/glocalfilemonitor.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: gint64
    signature: 'static gint64 g_file_monitor_source_get_rate_limit (GFileMonitorSource
      *fms) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_weak_ref_get
      Src: /src/glib/gio/glocalfilemonitor.c:523,1
    - Dst: g_sequence_get_begin_iter
      Src: /src/glib/gio/glocalfilemonitor.c:542,1
    - Dst: pending_change_get_ready_time
      Src: /src/glib/gio/glocalfilemonitor.c:546,1
    - Dst: g_sequence_is_empty
      Src: /src/glib/gio/glocalfilemonitor.c:540,1
    - Dst: g_sequence_get
      Src: /src/glib/gio/glocalfilemonitor.c:543,1
    - Dst: g_sequence_sort_changed
      Src: /src/glib/gio/glocalfilemonitor.c:556,1
    - Dst: g_clear_object
      Src: /src/glib/gio/glocalfilemonitor.c:573,1
    - Dst: g_file_monitor_source_update_ready_time
      Src: /src/glib/gio/glocalfilemonitor.c:570,1
    - Dst: g_file_monitor_emit_event
      Src: /src/glib/gio/glocalfilemonitor.c:581,1
    - Dst: queued_event_free
      Src: /src/glib/gio/glocalfilemonitor.c:584,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/glocalfilemonitor.c:537,1
    - Dst: g_file_monitor_source_queue_event
      Src: /src/glib/gio/glocalfilemonitor.c:552,1
    - Dst: memcpy
      Src: /src/glib/gio/glocalfilemonitor.c:567,1
    - Dst: g_queue_pop_head
      Src: /src/glib/gio/glocalfilemonitor.c:576,1
    - Dst: g_source_get_time
      Src: /src/glib/gio/glocalfilemonitor.c:527,1
    - Dst: g_file_monitor_source_queue_event
      Src: /src/glib/gio/glocalfilemonitor.c:561,1
    - Dst: memset
      Src: /src/glib/gio/glocalfilemonitor.c:568,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/glocalfilemonitor.c:572,1
    - Dst: g_weak_ref_get
      Src: /src/glib/gio/glocalfilemonitor.c:579,1
    - Dst: g_file_monitor_source_remove_pending_change
      Src: /src/glib/gio/glocalfilemonitor.c:562,1
    - Dst: g_clear_object
      Src: /src/glib/gio/glocalfilemonitor.c:583,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 3
    argNames:
    - source
    - callback
    - user_data
    argTypes:
    - GSource*
    - GSourceFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 588
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 588
    functionName: g_file_monitor_source_dispatch
    functionSourceFile: /src/glib/gio/glocalfilemonitor.c
    functionUses: []
    functionsReached:
    - memset
    - memcpy
    - g_source_get_time
    - g_weak_ref_get
    - g_queue_pop_head
    - g_mutex_unlock
    - g_mutex_lock
    - g_file_monitor_source_update_ready_time
    - queued_event_free
    - g_sequence_get_begin_iter
    - g_file_monitor_emit_event
    - g_file_monitor_source_queue_event
    - g_clear_object
    - pending_change_get_ready_time
    - g_sequence_is_empty
    - g_sequence_sort_changed
    - g_file_monitor_source_remove_pending_change
    - g_sequence_get
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_file_monitor_source_dispatch (GSource *source, GSourceFunc
      callback, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_sequence_get_begin_iter
      Src: /src/glib/gio/glocalfilemonitor.c:144,1
    - Dst: g_sequence_iter_is_end
      Src: /src/glib/gio/glocalfilemonitor.c:145,1
    - Dst: pending_change_get_ready_time
      Src: /src/glib/gio/glocalfilemonitor.c:148,1
    - Dst: g_sequence_get
      Src: /src/glib/gio/glocalfilemonitor.c:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - fms
    argTypes:
    - GFileMonitorSource*
    constantsTouched: []
    func_position:
      end: 149
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 149
    functionName: g_file_monitor_source_get_ready_time
    functionSourceFile: /src/glib/gio/glocalfilemonitor.c
    functionUses: []
    functionsReached:
    - pending_change_get_ready_time
    - g_sequence_get_begin_iter
    - g_sequence_iter_is_end
    - g_sequence_get
    linkageType: ''
    returnType: gint64
    signature: 'static gint64 g_file_monitor_source_get_ready_time (GFileMonitorSource
      *fms) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/glocalfilemonitor.c:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 162
    functionName: g_file_monitor_source_find_pending_change
    functionSourceFile: /src/glib/gio/glocalfilemonitor.c
    functionUses: []
    functionsReached:
    - g_hash_table_lookup
    linkageType: ''
    returnType: GSequenceIter*
    signature: 'static GSequenceIter *g_file_monitor_source_find_pending_change (GFileMonitorSource
      *fms, const gchar *child) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/glocalfilemonitor.c:219,1
    - Dst: g_sequence_remove
      Src: /src/glib/gio/glocalfilemonitor.c:220,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - fms
    - iter
    - child
    argTypes:
    - GFileMonitorSource*
    - GSequenceIter*
    - gchar*
    constantsTouched: []
    func_position:
      end: 221
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 221
    functionName: g_file_monitor_source_remove_pending_change
    functionSourceFile: /src/glib/gio/glocalfilemonitor.c
    functionUses: []
    functionsReached:
    - g_sequence_remove
    - g_hash_table_remove
    linkageType: ''
    returnType: void
    signature: 'static void g_file_monitor_source_remove_pending_change (GFileMonitorSource
      *fms, GSequenceIter *iter, const gchar *child) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_monitor_source_file_changes_done
      Src: /src/glib/gio/glocalfilemonitor.c:327,1
    - Dst: g_file_monitor_source_queue_event
      Src: /src/glib/gio/glocalfilemonitor.c:329,1
    - Dst: g_file_monitor_source_queue_event
      Src: /src/glib/gio/glocalfilemonitor.c:328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - fms
    - child
    argTypes:
    - GFileMonitorSource*
    - gchar*
    constantsTouched: []
    func_position:
      end: 330
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 330
    functionName: g_file_monitor_source_send_synthetic_created
    functionSourceFile: /src/glib/gio/glocalfilemonitor.c
    functionUses: []
    functionsReached:
    - g_file_monitor_source_queue_event
    - g_file_monitor_source_file_changes_done
    linkageType: ''
    returnType: void
    signature: 'static void g_file_monitor_source_send_synthetic_created (GFileMonitorSource
      *fms, const gchar *child) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/glocalfilemonitor.c:492,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/glocalfilemonitor.c:506,1
    - Dst: g_sequence_sort
      Src: /src/glib/gio/glocalfilemonitor.c:498,1
    - Dst: g_file_monitor_source_update_ready_time
      Src: /src/glib/gio/glocalfilemonitor.c:499,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - fms
    - rate_limit
    argTypes:
    - GFileMonitorSource*
    - gint64
    constantsTouched: []
    func_position:
      end: 509
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 509
    functionName: g_file_monitor_source_set_rate_limit
    functionSourceFile: /src/glib/gio/glocalfilemonitor.c
    functionUses: []
    functionsReached:
    - g_file_monitor_source_update_ready_time
    - g_mutex_unlock
    - g_sequence_sort
    - g_mutex_lock
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_file_monitor_source_set_rate_limit (GFileMonitorSource
      *fms, gint64 rate_limit) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/glocalfilemonitor.c:597,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/glocalfilemonitor.c:600,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/glocalfilemonitor.c:599,1
    - Dst: g_hash_table_iter_remove
      Src: /src/glib/gio/glocalfilemonitor.c:602,1
    - Dst: g_sequence_remove
      Src: /src/glib/gio/glocalfilemonitor.c:603,1
    - Dst: g_queue_pop_head
      Src: /src/glib/gio/glocalfilemonitor.c:606,1
    - Dst: queued_event_free
      Src: /src/glib/gio/glocalfilemonitor.c:607,1
    - Dst: g_assert
      Src: /src/glib/gio/glocalfilemonitor.c:609,1
    - Dst: g_sequence_is_empty
      Src: /src/glib/gio/glocalfilemonitor.c:609,1
    - Dst: g_assert
      Src: /src/glib/gio/glocalfilemonitor.c:610,1
    - Dst: g_source_destroy
      Src: /src/glib/gio/glocalfilemonitor.c:616,1
    - Dst: g_weak_ref_set
      Src: /src/glib/gio/glocalfilemonitor.c:612,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/glocalfilemonitor.c:618,1
    - Dst: g_assert
      Src: /src/glib/gio/glocalfilemonitor.c:611,1
    - Dst: g_file_monitor_source_update_ready_time
      Src: /src/glib/gio/glocalfilemonitor.c:614,1
    - Dst: g_hash_table_size
      Src: /src/glib/gio/glocalfilemonitor.c:610,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - fms
    argTypes:
    - GFileMonitorSource*
    constantsTouched: []
    func_position:
      end: 619
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 619
    functionName: g_file_monitor_source_dispose
    functionSourceFile: /src/glib/gio/glocalfilemonitor.c
    functionUses: []
    functionsReached:
    - g_hash_table_iter_init
    - g_queue_pop_head
    - g_mutex_unlock
    - g_mutex_lock
    - queued_event_free
    - g_assert
    - g_weak_ref_set
    - g_file_monitor_source_update_ready_time
    - g_source_destroy
    - g_hash_table_iter_remove
    - g_sequence_is_empty
    - g_hash_table_size
    - g_sequence_remove
    - g_hash_table_iter_next
    linkageType: ''
    returnType: void
    signature: 'static void g_file_monitor_source_dispose (GFileMonitorSource *fms) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_IS_POWER_PROFILE_MONITOR
      Src: /src/glib/gio/gpowerprofilemonitor.h:47,1
    - Dst: G_POWER_PROFILE_MONITOR_GET_INTERFACE
      Src: /src/glib/gio/gpowerprofilemonitor.h:48,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames:
    - GPowerProfileMonitor
    - g_power_profile_monitor
    - g
    - power_profile_monitor
    - GObject
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 54
    functionName: G_DECLARE_INTERFACE
    functionSourceFile: /src/glib/gio/gpowerprofilemonitor.h
    functionUses: []
    functionsReached:
    - G_POWER_PROFILE_MONITOR_GET_INTERFACE
    - G_IS_POWER_PROFILE_MONITOR
    linkageType: ''
    returnType: GIO_AVAILABLE_IN_2_70
    signature: 'GIO_AVAILABLE_IN_2_70 G_DECLARE_INTERFACE (GPowerProfileMonitor, g_power_profile_monitor,
      g, power_profile_monitor, GObject) #define G_POWER_PROFILE_MONITOR(o) (G_TYPE_CHECK_INSTANCE_CAST
      ((o), G_TYPE_POWER_PROFILE_MONITOR, GPowerProfileMonitor))#define G_IS_POWER_PROFILE_MONITOR(o)
      (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_POWER_PROFILE_MONITOR))#define G_POWER_PROFILE_MONITOR_GET_INTERFACE(o)
      (G_TYPE_INSTANCE_GET_INTERFACE ((o), G_TYPE_POWER_PROFILE_MONITOR, GPowerProfileMonitorInterface))struct
      _GPowerProfileMonitorInterface '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - expected
    - value
    - value_size
    argTypes:
    - guint64
    - gchar*
    - guint32
    constantsTouched: []
    func_position:
      end: 74
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 74
    functionName: check_integer_match
    functionSourceFile: /src/glib/gio/thumbnail-verify.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean check_integer_match (guint64 expected, const gchar
      *value, guint32 value_size) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/glib/gio/thumbnail-verify.c:84,1
    - Dst: memcmp
      Src: /src/glib/gio/thumbnail-verify.c:99,1
    - Dst: check_integer_match
      Src: /src/glib/gio/thumbnail-verify.c:101,1
    - Dst: strlen
      Src: /src/glib/gio/thumbnail-verify.c:88,1
    - Dst: memcmp
      Src: /src/glib/gio/thumbnail-verify.c:93,1
    - Dst: memcmp
      Src: /src/glib/gio/thumbnail-verify.c:107,1
    - Dst: check_integer_match
      Src: /src/glib/gio/thumbnail-verify.c:113,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 6
    argNames:
    - expected_info
    - key
    - key_size
    - value
    - value_size
    - required_matches
    argTypes:
    - ExpectedInfo*
    - gchar*
    - guint32
    - gchar*
    - guint32
    - guint*
    constantsTouched: []
    func_position:
      end: 118
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 118
    functionName: check_png_info_chunk
    functionSourceFile: /src/glib/gio/thumbnail-verify.c
    functionUses: []
    functionsReached:
    - check_integer_match
    - strlen
    - memcmp
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean check_png_info_chunk (ExpectedInfo *expected_info,
      const gchar *key, guint32 key_size, const gchar *value, guint32 value_size,
      guint *required_matches) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _g_stat_mtime
      Src: /src/glib/gio/thumbnail-verify.c:239,1
    - Dst: g_mapped_file_new
      Src: /src/glib/gio/thumbnail-verify.c:243,1
    - Dst: g_mapped_file_get_contents
      Src: /src/glib/gio/thumbnail-verify.c:247,1
    - Dst: check_thumbnail_validity
      Src: /src/glib/gio/thumbnail-verify.c:246,1
    - Dst: _g_stat_size
      Src: /src/glib/gio/thumbnail-verify.c:241,1
    - Dst: g_mapped_file_get_length
      Src: /src/glib/gio/thumbnail-verify.c:248,1
    - Dst: g_mapped_file_unref
      Src: /src/glib/gio/thumbnail-verify.c:249,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - thumbnail_path
    - file_uri
    - file_stat_buf
    argTypes:
    - char*
    - gchar*
    - GLocalFileStat*
    constantsTouched: []
    func_position:
      end: 253
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 253
    functionName: thumbnail_verify
    functionSourceFile: /src/glib/gio/thumbnail-verify.c
    functionUses: []
    functionsReached:
    - check_thumbnail_validity
    - _g_stat_size
    - g_mapped_file_get_length
    - g_mapped_file_new
    - g_mapped_file_get_contents
    - _g_stat_mtime
    - g_mapped_file_unref
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean thumbnail_verify (const char *thumbnail_path, const gchar
      *file_uri, const GLocalFileStat *file_stat_buf) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/glib/gio/thumbnail-verify.c:131,1
    - Dst: GUINT32_FROM_BE
      Src: /src/glib/gio/thumbnail-verify.c:146,1
    - Dst: check_png_info_chunk
      Src: /src/glib/gio/thumbnail-verify.c:188,1
    - Dst: memcmp
      Src: /src/glib/gio/thumbnail-verify.c:161,1
    - Dst: memcpy
      Src: /src/glib/gio/thumbnail-verify.c:145,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 3
    argNames:
    - expected_info
    - contents
    - size
    argTypes:
    - ExpectedInfo*
    - gchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 221
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 221
    functionName: check_thumbnail_validity
    functionSourceFile: /src/glib/gio/thumbnail-verify.c
    functionUses: []
    functionsReached:
    - memcpy
    - GUINT32_FROM_BE
    - check_png_info_chunk
    - memcmp
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean check_thumbnail_validity (ExpectedInfo *expected_info,
      const gchar *contents, gsize size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GSocketConnectableInterface*
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: g_socket_connectable_default_init
    functionSourceFile: /src/glib/gio/gsocketconnectable.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_socket_connectable_default_init (GSocketConnectableInterface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocketconnectable.c:111,1
    - Dst: G_SOCKET_CONNECTABLE_GET_IFACE
      Src: /src/glib/gio/gsocketconnectable.c:113,1
    - Dst: G_IS_SOCKET_CONNECTABLE
      Src: /src/glib/gio/gsocketconnectable.c:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: g_socket_connectable_enumerate
    functionSourceFile: /src/glib/gio/gsocketconnectable.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET_CONNECTABLE
    - g_return_val_if_fail
    - G_SOCKET_CONNECTABLE_GET_IFACE
    linkageType: ''
    returnType: GSocketAddressEnumerator*
    signature: 'GSocketAddressEnumerator *g_socket_connectable_enumerate (GSocketConnectable
      *connectable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocketconnectable.c:139,1
    - Dst: G_SOCKET_CONNECTABLE_GET_IFACE
      Src: /src/glib/gio/gsocketconnectable.c:141,1
    - Dst: G_IS_SOCKET_CONNECTABLE
      Src: /src/glib/gio/gsocketconnectable.c:139,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 147
    functionName: g_socket_connectable_proxy_enumerate
    functionSourceFile: /src/glib/gio/gsocketconnectable.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET_CONNECTABLE
    - g_return_val_if_fail
    - G_SOCKET_CONNECTABLE_GET_IFACE
    linkageType: ''
    returnType: GSocketAddressEnumerator*
    signature: 'GSocketAddressEnumerator *g_socket_connectable_proxy_enumerate (GSocketConnectable
      *connectable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsocketconnectable.c:170,1
    - Dst: G_IS_SOCKET_CONNECTABLE
      Src: /src/glib/gio/gsocketconnectable.c:170,1
    - Dst: G_SOCKET_CONNECTABLE_GET_IFACE
      Src: /src/glib/gio/gsocketconnectable.c:172,1
    - Dst: g_strdup
      Src: /src/glib/gio/gsocketconnectable.c:177,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/gsocketconnectable.c:177,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 178
    functionName: g_socket_connectable_to_string
    functionSourceFile: /src/glib/gio/gsocketconnectable.c
    functionUses: []
    functionsReached:
    - G_IS_SOCKET_CONNECTABLE
    - g_return_val_if_fail
    - g_strdup
    - G_OBJECT_TYPE_NAME
    - G_SOCKET_CONNECTABLE_GET_IFACE
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_socket_connectable_to_string (GSocketConnectable *connectable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GRemoteActionGroupInterface*
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: g_remote_action_group_default_init
    functionSourceFile: /src/glib/gio/gremoteactiongroup.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_remote_action_group_default_init (GRemoteActionGroupInterface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_REMOTE_ACTION_GROUP_GET_IFACE
      Src: /src/glib/gio/gremoteactiongroup.c:102,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - remote
    - action_name
    - parameter
    - platform_data
    argTypes:
    - GRemoteActionGroup*
    - gchar*
    - GVariant*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 104
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 104
    functionName: g_remote_action_group_activate_action_full
    functionSourceFile: /src/glib/gio/gremoteactiongroup.c
    functionUses: []
    functionsReached:
    - G_REMOTE_ACTION_GROUP_GET_IFACE
    linkageType: ''
    returnType: void
    signature: 'void g_remote_action_group_activate_action_full (GRemoteActionGroup
      *remote, const gchar *action_name, GVariant *parameter, GVariant *platform_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_REMOTE_ACTION_GROUP_GET_IFACE
      Src: /src/glib/gio/gremoteactiongroup.c:131,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - remote
    - action_name
    - value
    - platform_data
    argTypes:
    - GRemoteActionGroup*
    - gchar*
    - GVariant*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 133
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 133
    functionName: g_remote_action_group_change_action_state_full
    functionSourceFile: /src/glib/gio/gremoteactiongroup.c
    functionUses: []
    functionsReached:
    - G_REMOTE_ACTION_GROUP_GET_IFACE
    linkageType: ''
    returnType: void
    signature: 'void g_remote_action_group_change_action_state_full (GRemoteActionGroup
      *remote, const gchar *action_name, GVariant *value, GVariant *platform_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - connectable_iface
    argTypes:
    - GSocketConnectableIface*
    constantsTouched: []
    func_position:
      end: 167
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 167
    functionName: g_network_address_connectable_iface_init
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_network_address_connectable_iface_init (GSocketConnectableIface
      *connectable_iface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gnetworkaddress.c:271,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gnetworkaddress.c:277,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gnetworkaddress.c:274,1
    - Dst: inet_addresses_to_inet_socket_addresses
      Src: /src/glib/gio/gnetworkaddress.c:279,1
    - Dst: G_IS_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/gnetworkaddress.c:276,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gnetworkaddress.c:279,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - addr
    - addresses
    - resolver_serial
    argTypes:
    - GNetworkAddress*
    - GList*
    - guint64
    constantsTouched: []
    func_position:
      end: 281
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 281
    functionName: g_network_address_set_cached_addresses
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - G_IS_INET_SOCKET_ADDRESS
    - g_list_free_full
    - g_assert
    - inet_addresses_to_inet_socket_addresses
    linkageType: ''
    returnType: void
    signature: 'static void g_network_address_set_cached_addresses (GNetworkAddress
      *addr, GList *addresses, guint64 resolver_serial) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_inet_address_get_family
      Src: /src/glib/gio/gnetworkaddress.c:684,1
    - Dst: g_inet_socket_address_get_address
      Src: /src/glib/gio/gnetworkaddress.c:684,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - address
    argTypes:
    - GInetSocketAddress*
    constantsTouched: []
    func_position:
      end: 685
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 685
    functionName: get_address_family
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - g_inet_socket_address_get_address
    - g_inet_address_get_family
    linkageType: ''
    returnType: GSocketFamily
    signature: 'static inline GSocketFamily get_address_family (GInetSocketAddress
      *address) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_address_family
      Src: /src/glib/gio/gnetworkaddress.c:782,1
    - Dst: g_list_next
      Src: /src/glib/gio/gnetworkaddress.c:785,1
    - Dst: g_list_free
      Src: /src/glib/gio/gnetworkaddress.c:791,1
    - Dst: list_split_families
      Src: /src/glib/gio/gnetworkaddress.c:790,1
    - Dst: list_split_families
      Src: /src/glib/gio/gnetworkaddress.c:789,1
    - Dst: g_list_free
      Src: /src/glib/gio/gnetworkaddress.c:794,1
    - Dst: list_interleave_families
      Src: /src/glib/gio/gnetworkaddress.c:797,1
    - Dst: list_interleave_families
      Src: /src/glib/gio/gnetworkaddress.c:799,1
    - Dst: g_list_concat
      Src: /src/glib/gio/gnetworkaddress.c:801,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 802
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 802
    functionName: list_concat_interleaved
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - get_address_family
    - g_list_concat
    - list_interleave_families
    - g_list_free
    - g_list_next
    - list_split_families
    linkageType: ''
    returnType: GList*
    signature: 'static GList *list_concat_interleaved (GList *parent_list, GList *current_item,
      GList *new_list) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: G_RESOLVER
      Src: /src/glib/gio/gnetworkaddress.c:958,1
    - Dst: g_network_address_address_enumerator_add_addresses
      Src: /src/glib/gio/gnetworkaddress.c:966,1
    - Dst: g_resolver_lookup_by_name_with_flags_finish
      Src: /src/glib/gio/gnetworkaddress.c:964,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gnetworkaddress.c:966,1
    - Dst: g_debug
      Src: /src/glib/gio/gnetworkaddress.c:968,1
    - Dst: g_source_destroy
      Src: /src/glib/gio/gnetworkaddress.c:973,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gnetworkaddress.c:974,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gnetworkaddress.c:984,1
    - Dst: complete_queued_task
      Src: /src/glib/gio/gnetworkaddress.c:988,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gnetworkaddress.c:988,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkaddress.c:1005,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gnetworkaddress.c:1000,1
    - Dst: complete_queued_task
      Src: /src/glib/gio/gnetworkaddress.c:1000,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gnetworkaddress.c:1004,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gnetworkaddress.c:999,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gnetworkaddress.c:1001,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gnetworkaddress.c:997,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 3
    argNames:
    - source_object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1006
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 1006
    functionName: got_ipv6_addresses
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_steal_pointer
    - g_resolver_lookup_by_name_with_flags_finish
    - g_object_unref
    - g_source_destroy
    - g_debug
    - complete_queued_task
    - g_clear_pointer
    - g_network_address_address_enumerator_add_addresses
    - G_RESOLVER
    linkageType: ''
    returnType: void
    signature: 'static void got_ipv6_addresses (GObject *source_object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_network_address_get_instance_private
      Src: /src/glib/gio/gnetworkaddress.c:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - addr
    argTypes:
    - GNetworkAddress*
    constantsTouched: []
    func_position:
      end: 173
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 173
    functionName: g_network_address_init
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - g_network_address_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_network_address_init (GNetworkAddress *addr) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gnetworkaddress.c:692,1
    - Dst: g_assert
      Src: /src/glib/gio/gnetworkaddress.c:693,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gnetworkaddress.c:704,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gnetworkaddress.c:701,1
    - Dst: get_address_family
      Src: /src/glib/gio/gnetworkaddress.c:697,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gnetworkaddress.c:708,1
    - Dst: g_list_next
      Src: /src/glib/gio/gnetworkaddress.c:711,1
    - Dst: g_list_reverse
      Src: /src/glib/gio/gnetworkaddress.c:714,1
    - Dst: g_list_reverse
      Src: /src/glib/gio/gnetworkaddress.c:715,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 3
    argNames:
    - list
    - out_ipv4
    - out_ipv6
    argTypes:
    - GList*
    - GList**
    - GList**
    constantsTouched: []
    func_position:
      end: 716
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 716
    functionName: list_split_families
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - g_list_reverse
    - get_address_family
    - g_assert
    - g_assert_not_reached
    - g_list_next
    - g_list_prepend
    linkageType: ''
    returnType: void
    signature: 'static void list_split_families (GList *list, GList **out_ipv4, GList
      **out_ipv6) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_copy_interleaved
      Src: /src/glib/gio/gnetworkaddress.c:815,1
    - Dst: g_network_address_set_cached_addresses
      Src: /src/glib/gio/gnetworkaddress.c:819,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gnetworkaddress.c:817,1
    - Dst: g_resolver_get_serial
      Src: /src/glib/gio/gnetworkaddress.c:819,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gnetworkaddress.c:819,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - addr_enum
    - resolver
    argTypes:
    - GNetworkAddressAddressEnumerator*
    - GResolver*
    constantsTouched: []
    func_position:
      end: 820
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 820
    functionName: maybe_update_address_cache
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_resolver_get_serial
    - g_object_ref
    - list_copy_interleaved
    - g_network_address_set_cached_addresses
    linkageType: ''
    returnType: void
    signature: 'static void maybe_update_address_cache (GNetworkAddressAddressEnumerator
      *addr_enum, GResolver *resolver) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_RESOLVER
      Src: /src/glib/gio/gnetworkaddress.c:1014,1
    - Dst: g_network_address_address_enumerator_add_addresses
      Src: /src/glib/gio/gnetworkaddress.c:1022,1
    - Dst: g_source_destroy
      Src: /src/glib/gio/gnetworkaddress.c:1028,1
    - Dst: g_assert
      Src: /src/glib/gio/gnetworkaddress.c:1039,1
    - Dst: complete_queued_task
      Src: /src/glib/gio/gnetworkaddress.c:1041,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gnetworkaddress.c:1042,1
    - Dst: g_timeout_source_new
      Src: /src/glib/gio/gnetworkaddress.c:1051,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gnetworkaddress.c:1058,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gnetworkaddress.c:1050,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkaddress.c:1059,1
    - Dst: g_resolver_lookup_by_name_with_flags_finish
      Src: /src/glib/gio/gnetworkaddress.c:1020,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gnetworkaddress.c:1029,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gnetworkaddress.c:1022,1
    - Dst: g_debug
      Src: /src/glib/gio/gnetworkaddress.c:1024,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gnetworkaddress.c:1052,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gnetworkaddress.c:1046,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gnetworkaddress.c:1040,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gnetworkaddress.c:1041,1
    - Dst: complete_queued_task
      Src: /src/glib/gio/gnetworkaddress.c:1046,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gnetworkaddress.c:1055,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - source_object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1060
      start: 1008
    functionDepth: 0
    functionLinenumber: 1008
    functionLinenumberEnd: 1060
    functionName: got_ipv4_addresses
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_steal_pointer
    - g_resolver_lookup_by_name_with_flags_finish
    - g_source_set_callback
    - g_object_unref
    - g_assert
    - g_timeout_source_new
    - g_source_destroy
    - g_debug
    - complete_queued_task
    - g_source_attach
    - g_clear_pointer
    - g_network_address_address_enumerator_add_addresses
    - G_RESOLVER
    linkageType: ''
    returnType: void
    signature: 'static void got_ipv4_addresses (GObject *source_object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_inet_socket_address_new
      Src: /src/glib/gio/gnetworkaddress.c:249,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gnetworkaddress.c:250,1
    - Dst: g_list_append
      Src: /src/glib/gio/gnetworkaddress.c:250,1
    - Dst: g_list_free
      Src: /src/glib/gio/gnetworkaddress.c:254,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkaddress.c:251,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 256
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 256
    functionName: inet_addresses_to_inet_socket_addresses
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - g_list_append
    - g_steal_pointer
    - g_object_unref
    - g_list_free
    - g_inet_socket_address_new
    linkageType: ''
    returnType: GList*
    signature: 'static GList *inet_addresses_to_inet_socket_addresses (GNetworkAddress
      *addr, GList *addresses) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gnetworkaddress.c:323,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 327
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 327
    functionName: g_network_address_new
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: GSocketConnectable*
    signature: 'GSocketConnectable *g_network_address_new (const gchar *hostname,
      guint16 port) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gnetworkaddress.c:588,1
    - Dst: G_IS_NETWORK_ADDRESS
      Src: /src/glib/gio/gnetworkaddress.c:588,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 591
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 591
    functionName: g_network_address_get_hostname
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - G_IS_NETWORK_ADDRESS
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_network_address_get_hostname (GNetworkAddress *addr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_NETWORK_ADDRESS
      Src: /src/glib/gio/gnetworkaddress.c:100,1
    - Dst: g_free
      Src: /src/glib/gio/gnetworkaddress.c:102,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gnetworkaddress.c:104,1
    - Dst: g_free
      Src: /src/glib/gio/gnetworkaddress.c:103,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gnetworkaddress.c:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 107
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 107
    functionName: g_network_address_finalize
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    - G_NETWORK_ADDRESS
    - g_free
    - g_list_free_full
    linkageType: ''
    returnType: void
    signature: 'static void g_network_address_finalize (GObject *object) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_list_copy_deep
      Src: /src/glib/gio/gnetworkaddress.c:850,1
    - Dst: g_list_next
      Src: /src/glib/gio/gnetworkaddress.c:859,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gnetworkaddress.c:864,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 868
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 868
    functionName: init_and_query_next_address
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - g_list_copy_deep
    - g_list_next
    - g_object_ref
    linkageType: ''
    returnType: GSocketAddress*
    signature: 'static GSocketAddress *init_and_query_next_address (GNetworkAddressAddressEnumerator
      *addr_enum) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_task_return_error
      Src: /src/glib/gio/gnetworkaddress.c:922,1
    - Dst: init_and_query_next_address
      Src: /src/glib/gio/gnetworkaddress.c:925,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gnetworkaddress.c:926,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gnetworkaddress.c:926,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkaddress.c:928,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - addr_enum
    - task
    - error
    argTypes:
    - GNetworkAddressAddressEnumerator*
    - GTask*
    - GError*
    constantsTouched: []
    func_position:
      end: 929
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 929
    functionName: complete_queued_task
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - init_and_query_next_address
    - g_object_unref
    - g_task_return_pointer
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void complete_queued_task (GNetworkAddressAddressEnumerator
      *addr_enum, GTask *task, GError *error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_NETWORK_ADDRESS_ADDRESS_ENUMERATOR
      Src: /src/glib/gio/gnetworkaddress.c:1069,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gnetworkaddress.c:1086,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkaddress.c:1118,1
    - Dst: g_resolver_get_default
      Src: /src/glib/gio/gnetworkaddress.c:1079,1
    - Dst: g_network_address_parse_sockaddr
      Src: /src/glib/gio/gnetworkaddress.c:1092,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkaddress.c:1114,1
    - Dst: g_resolver_get_serial
      Src: /src/glib/gio/gnetworkaddress.c:1080,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gnetworkaddress.c:1101,1
    - Dst: g_resolver_lookup_by_name_with_flags_async
      Src: /src/glib/gio/gnetworkaddress.c:1108,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gnetworkaddress.c:1112,1
    - Dst: init_and_query_next_address
      Src: /src/glib/gio/gnetworkaddress.c:1121,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkaddress.c:1130,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gnetworkaddress.c:1074,1
    - Dst: g_task_new
      Src: /src/glib/gio/gnetworkaddress.c:1073,1
    - Dst: complete_queued_task
      Src: /src/glib/gio/gnetworkaddress.c:1093,1
    - Dst: g_assert
      Src: /src/glib/gio/gnetworkaddress.c:1098,1
    - Dst: g_resolver_lookup_by_name_with_flags_async
      Src: /src/glib/gio/gnetworkaddress.c:1103,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gnetworkaddress.c:1107,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gnetworkaddress.c:1129,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 4
    argNames:
    - enumerator
    - cancellable
    - callback
    - user_data
    argTypes:
    - GSocketAddressEnumerator*
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 1132
      start: 1062
    functionDepth: 0
    functionLinenumber: 1062
    functionLinenumberEnd: 1132
    functionName: g_network_address_address_enumerator_next_async
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_task_new
    - g_network_address_parse_sockaddr
    - g_object_unref
    - g_task_set_source_tag
    - g_resolver_get_default
    - G_NETWORK_ADDRESS_ADDRESS_ENUMERATOR
    - g_list_free_full
    - complete_queued_task
    - g_assert
    - g_resolver_lookup_by_name_with_flags_async
    - g_task_return_pointer
    - g_resolver_get_serial
    - g_object_ref
    - init_and_query_next_address
    linkageType: ''
    returnType: void
    signature: 'static void g_network_address_address_enumerator_next_async (GSocketAddressEnumerator
      *enumerator, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_ref_thread_default
      Src: /src/glib/gio/gnetworkaddress.c:1147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - enumerator
    argTypes:
    - GNetworkAddressAddressEnumerator*
    constantsTouched: []
    func_position:
      end: 1148
      start: 1144
    functionDepth: 0
    functionLinenumber: 1144
    functionLinenumberEnd: 1148
    functionName: _g_network_address_address_enumerator_init
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - g_main_context_ref_thread_default
    linkageType: ''
    returnType: void
    signature: 'static void _g_network_address_address_enumerator_init (GNetworkAddressAddressEnumerator
      *enumerator) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gnetworkaddress.c:112,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gnetworkaddress.c:125,1
    - Dst: g_param_spec_uint
      Src: /src/glib/gio/gnetworkaddress.c:140,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gnetworkaddress.c:126,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gnetworkaddress.c:139,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gnetworkaddress.c:153,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gnetworkaddress.c:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GNetworkAddressClass*
    constantsTouched: []
    func_position:
      end: 159
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 159
    functionName: g_network_address_class_init
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - g_param_spec_string
    - g_param_spec_uint
    - g_object_class_install_property
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_network_address_class_init (GNetworkAddressClass *klass) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G_NETWORK_ADDRESS_ADDRESS_ENUMERATOR
      Src: /src/glib/gio/gnetworkaddress.c:876,1
    - Dst: g_resolver_get_serial
      Src: /src/glib/gio/gnetworkaddress.c:882,1
    - Dst: g_network_address_parse_sockaddr
      Src: /src/glib/gio/gnetworkaddress.c:893,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gnetworkaddress.c:888,1
    - Dst: g_resolver_get_default
      Src: /src/glib/gio/gnetworkaddress.c:881,1
    - Dst: g_resolver_lookup_by_name
      Src: /src/glib/gio/gnetworkaddress.c:898,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkaddress.c:903,1
    - Dst: g_network_address_set_cached_addresses
      Src: /src/glib/gio/gnetworkaddress.c:907,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gnetworkaddress.c:907,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkaddress.c:910,1
    - Dst: init_and_query_next_address
      Src: /src/glib/gio/gnetworkaddress.c:913,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 914
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 914
    functionName: g_network_address_address_enumerator_next
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_network_address_parse_sockaddr
    - g_object_unref
    - init_and_query_next_address
    - g_list_free_full
    - g_resolver_get_default
    - G_NETWORK_ADDRESS_ADDRESS_ENUMERATOR
    - g_resolver_get_serial
    - g_resolver_lookup_by_name
    - g_network_address_set_cached_addresses
    linkageType: ''
    returnType: GSocketAddress*
    signature: 'static GSocketAddress *g_network_address_address_enumerator_next (GSocketAddressEnumerator
      *enumerator, GCancellable *cancellable, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_object_ref
      Src: /src/glib/gio/gnetworkaddress.c:937,1
    - Dst: complete_queued_task
      Src: /src/glib/gio/gnetworkaddress.c:943,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gnetworkaddress.c:941,1
    - Dst: complete_queued_task
      Src: /src/glib/gio/gnetworkaddress.c:940,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gnetworkaddress.c:940,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gnetworkaddress.c:943,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gnetworkaddress.c:946,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkaddress.c:947,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 950
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 950
    functionName: on_address_timeout
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_object_unref
    - complete_queued_task
    - g_clear_pointer
    - g_object_ref
    linkageType: ''
    returnType: int
    signature: 'static int on_address_timeout (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gnetworkaddress.c:1139,1
    - Dst: G_TASK
      Src: /src/glib/gio/gnetworkaddress.c:1141,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gnetworkaddress.c:1139,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gnetworkaddress.c:1141,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1134
    functionDepth: 0
    functionLinenumber: 1134
    functionLinenumberEnd: 1142
    functionName: g_network_address_address_enumerator_next_finish
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_return_val_if_fail
    - g_task_is_valid
    - g_task_propagate_pointer
    linkageType: ''
    returnType: GSocketAddress*
    signature: 'static GSocketAddress *g_network_address_address_enumerator_next_finish
      (GSocketAddressEnumerator *enumerator, GAsyncResult *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gnetworkaddress.c:1153,1
    - Dst: G_SOCKET_ADDRESS_ENUMERATOR_CLASS
      Src: /src/glib/gio/gnetworkaddress.c:1155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - addrenum_class
    argTypes:
    - GNetworkAddressAddressEnumeratorClass*
    constantsTouched: []
    func_position:
      end: 1161
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1161
    functionName: _g_network_address_address_enumerator_class_init
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - G_SOCKET_ADDRESS_ENUMERATOR_CLASS
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void _g_network_address_address_enumerator_class_init (GNetworkAddressAddressEnumeratorClass
      *addrenum_class) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_NETWORK_ADDRESS
      Src: /src/glib/gio/gnetworkaddress.c:1208,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gnetworkaddress.c:1213,1
    - Dst: g_network_address_get_scheme
      Src: /src/glib/gio/gnetworkaddress.c:1211,1
    - Dst: g_string_append
      Src: /src/glib/gio/gnetworkaddress.c:1215,1
    - Dst: g_string_new
      Src: /src/glib/gio/gnetworkaddress.c:1209,1
    - Dst: g_network_address_get_hostname
      Src: /src/glib/gio/gnetworkaddress.c:1215,1
    - Dst: g_network_address_get_port
      Src: /src/glib/gio/gnetworkaddress.c:1217,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gnetworkaddress.c:1219,1
    - Dst: g_string_free
      Src: /src/glib/gio/gnetworkaddress.c:1221,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1222
      start: 1200
    functionDepth: 0
    functionLinenumber: 1200
    functionLinenumberEnd: 1222
    functionName: g_network_address_connectable_to_string
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - g_network_address_get_hostname
    - G_NETWORK_ADDRESS
    - g_network_address_get_port
    - g_string_free
    - g_network_address_get_scheme
    - g_string_new
    - g_string_append_printf
    - g_string_append
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *g_network_address_connectable_to_string (GSocketConnectable
      *connectable) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_NETWORK_ADDRESS
      Src: /src/glib/gio/gnetworkaddress.c:181,1
    - Dst: g_free
      Src: /src/glib/gio/gnetworkaddress.c:195,1
    - Dst: g_value_get_uint
      Src: /src/glib/gio/gnetworkaddress.c:191,1
    - Dst: g_free
      Src: /src/glib/gio/gnetworkaddress.c:186,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gnetworkaddress.c:187,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gnetworkaddress.c:196,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gnetworkaddress.c:200,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 204
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 204
    functionName: g_network_address_set_property
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - G_NETWORK_ADDRESS
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_dup_string
    - g_value_get_uint
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void g_network_address_set_property (GObject *object, guint
      prop_id, const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gnetworkaddress.c:606,1
    - Dst: G_IS_NETWORK_ADDRESS
      Src: /src/glib/gio/gnetworkaddress.c:606,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - addr
    argTypes:
    - GNetworkAddress*
    constantsTouched: []
    func_position:
      end: 609
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 609
    functionName: g_network_address_get_port
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - G_IS_NETWORK_ADDRESS
    - g_return_val_if_fail
    linkageType: ''
    returnType: guint16
    signature: 'guint16 g_network_address_get_port (GNetworkAddress *addr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_list_append
      Src: /src/glib/gio/gnetworkaddress.c:728,1
    - Dst: g_list_append
      Src: /src/glib/gio/gnetworkaddress.c:733,1
    - Dst: g_list_delete_link
      Src: /src/glib/gio/gnetworkaddress.c:729,1
    - Dst: g_list_delete_link
      Src: /src/glib/gio/gnetworkaddress.c:734,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 739
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 739
    functionName: list_interleave_families
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - g_list_delete_link
    - g_list_append
    linkageType: ''
    returnType: GList*
    signature: 'static GList *list_interleave_families (GList *list1, GList *list2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gnetworkaddress.c:1168,1
    - Dst: G_NETWORK_ADDRESS
      Src: /src/glib/gio/gnetworkaddress.c:1169,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gnetworkaddress.c:1169,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 1163
    functionDepth: 0
    functionLinenumber: 1163
    functionLinenumberEnd: 1172
    functionName: g_network_address_connectable_enumerate
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - G_NETWORK_ADDRESS
    - g_object_new
    - g_object_ref
    linkageType: ''
    returnType: GSocketAddressEnumerator*
    signature: 'static GSocketAddressEnumerator *g_network_address_connectable_enumerate
      (GSocketConnectable *connectable) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_NETWORK_ADDRESS
      Src: /src/glib/gio/gnetworkaddress.c:212,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gnetworkaddress.c:229,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gnetworkaddress.c:225,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gnetworkaddress.c:217,1
    - Dst: g_value_set_uint
      Src: /src/glib/gio/gnetworkaddress.c:221,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 233
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 233
    functionName: g_network_address_get_property
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - g_value_set_string
    - G_NETWORK_ADDRESS
    - g_value_set_uint
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: 'static void g_network_address_get_property (GObject *object, guint
      prop_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_NETWORK_ADDRESS
      Src: /src/glib/gio/gnetworkaddress.c:1177,1
    - Dst: g_free
      Src: /src/glib/gio/gnetworkaddress.c:1195,1
    - Dst: g_object_new
      Src: /src/glib/gio/gnetworkaddress.c:1190,1
    - Dst: g_uri_join
      Src: /src/glib/gio/gnetworkaddress.c:1181,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1174
    functionDepth: 0
    functionLinenumber: 1174
    functionLinenumberEnd: 1198
    functionName: g_network_address_connectable_proxy_enumerate
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - g_uri_join
    - G_NETWORK_ADDRESS
    - g_free
    - g_object_new
    linkageType: ''
    returnType: GSocketAddressEnumerator*
    signature: 'static GSocketAddressEnumerator *g_network_address_connectable_proxy_enumerate
      (GSocketConnectable *connectable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gnetworkaddress.c:288,1
    - Dst: g_inet_socket_address_new_from_string
      Src: /src/glib/gio/gnetworkaddress.c:290,1
    - Dst: g_list_append
      Src: /src/glib/gio/gnetworkaddress.c:294,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - addr
    argTypes:
    - GNetworkAddress*
    constantsTouched: []
    func_position:
      end: 299
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 299
    functionName: g_network_address_parse_sockaddr
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_inet_socket_address_new_from_string
    - g_list_append
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_network_address_parse_sockaddr (GNetworkAddress
      *addr) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/gio/gnetworkaddress.c:422,1
    - Dst: g_set_error
      Src: /src/glib/gio/gnetworkaddress.c:433,1
    - Dst: g_strndup
      Src: /src/glib/gio/gnetworkaddress.c:440,1
    - Dst: strchr
      Src: /src/glib/gio/gnetworkaddress.c:449,1
    - Dst: g_strdup
      Src: /src/glib/gio/gnetworkaddress.c:453,1
    - Dst: g_strndup
      Src: /src/glib/gio/gnetworkaddress.c:457,1
    - Dst: g_free
      Src: /src/glib/gio/gnetworkaddress.c:486,1
    - Dst: g_set_error
      Src: /src/glib/gio/gnetworkaddress.c:497,1
    - Dst: g_free
      Src: /src/glib/gio/gnetworkaddress.c:503,1
    - Dst: g_free
      Src: /src/glib/gio/gnetworkaddress.c:519,1
    - Dst: strchr
      Src: /src/glib/gio/gnetworkaddress.c:443,1
    - Dst: strtol
      Src: /src/glib/gio/gnetworkaddress.c:480,1
    - Dst: g_set_error
      Src: /src/glib/gio/gnetworkaddress.c:483,1
    - Dst: g_free
      Src: /src/glib/gio/gnetworkaddress.c:471,1
    - Dst: endservent
      Src: /src/glib/gio/gnetworkaddress.c:501,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gnetworkaddress.c:411,1
    - Dst: strchr
      Src: /src/glib/gio/gnetworkaddress.c:419,1
    - Dst: _
      Src: /src/glib/gio/gnetworkaddress.c:423,1
    - Dst: g_getservbyname_ntohs
      Src: /src/glib/gio/gnetworkaddress.c:495,1
    - Dst: g_strdup
      Src: /src/glib/gio/gnetworkaddress.c:462,1
    - Dst: g_set_error
      Src: /src/glib/gio/gnetworkaddress.c:468,1
    - Dst: endservent
      Src: /src/glib/gio/gnetworkaddress.c:508,1
    - Dst: g_network_address_new
      Src: /src/glib/gio/gnetworkaddress.c:518,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 71
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 522
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 522
    functionName: g_network_address_parse
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - g_set_error
    - endservent
    - g_return_val_if_fail
    - g_strdup
    - g_strndup
    - strtol
    - g_network_address_new
    - strchr
    - g_getservbyname_ntohs
    - _
    - g_free
    linkageType: ''
    returnType: GSocketConnectable*
    signature: 'GSocketConnectable *g_network_address_parse (const gchar *host_and_port,
      guint16 default_port, GError **error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_uri_split_network
      Src: /src/glib/gio/gnetworkaddress.c:552,1
    - Dst: g_free
      Src: /src/glib/gio/gnetworkaddress.c:568,1
    - Dst: g_object_new
      Src: /src/glib/gio/gnetworkaddress.c:563,1
    - Dst: g_set_error
      Src: /src/glib/gio/gnetworkaddress.c:555,1
    - Dst: g_free
      Src: /src/glib/gio/gnetworkaddress.c:569,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 572
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 572
    functionName: g_network_address_parse_uri
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_uri_split_network
    - g_free
    - g_object_new
    linkageType: ''
    returnType: GSocketConnectable*
    signature: "GSocketConnectable *g_network_address_parse_uri (const gchar *uri,\
      \ \t\t\t guint16 default_port,\t\t\t GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inet_addresses_to_inet_socket_addresses
      Src: /src/glib/gio/gnetworkaddress.c:827,1
    - Dst: list_concat_interleaved
      Src: /src/glib/gio/gnetworkaddress.c:832,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gnetworkaddress.c:832,1
    - Dst: maybe_update_address_cache
      Src: /src/glib/gio/gnetworkaddress.c:834,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gnetworkaddress.c:830,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - addr_enum
    - addresses
    - resolver
    argTypes:
    - GNetworkAddressAddressEnumerator*
    - GList*
    - GResolver*
    constantsTouched: []
    func_position:
      end: 835
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 835
    functionName: g_network_address_address_enumerator_add_addresses
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - inet_addresses_to_inet_socket_addresses
    - maybe_update_address_cache
    - list_concat_interleaved
    linkageType: ''
    returnType: void
    signature: 'static void g_network_address_address_enumerator_add_addresses (GNetworkAddressAddressEnumerator
      *addr_enum, GList *addresses, GResolver *resolver) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_NETWORK_ADDRESS_ADDRESS_ENUMERATOR
      Src: /src/glib/gio/gnetworkaddress.c:664,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gnetworkaddress.c:671,1
    - Dst: g_source_destroy
      Src: /src/glib/gio/gnetworkaddress.c:668,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gnetworkaddress.c:669,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gnetworkaddress.c:672,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gnetworkaddress.c:673,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gnetworkaddress.c:674,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gnetworkaddress.c:675,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gnetworkaddress.c:676,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gnetworkaddress.c:678,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 679
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 679
    functionName: g_network_address_address_enumerator_finalize
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_object_unref
    - G_NETWORK_ADDRESS_ADDRESS_ENUMERATOR
    - g_list_free_full
    - g_source_destroy
    - G_OBJECT_CLASS
    - g_clear_pointer
    - g_clear_object
    linkageType: ''
    returnType: void
    signature: 'static void g_network_address_address_enumerator_finalize (GObject
      *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_ref
      Src: /src/glib/gio/gnetworkaddress.c:841,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gnetworkaddress.c:841,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - src
    - user_data
    argTypes:
    - gconstpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 842
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 842
    functionName: copy_object
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_object_ref
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer copy_object (gconstpointer src, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gnetworkaddress.c:356,1
    - Dst: g_list_append
      Src: /src/glib/gio/gnetworkaddress.c:361,1
    - Dst: g_inet_address_new_loopback
      Src: /src/glib/gio/gnetworkaddress.c:362,1
    - Dst: g_inet_address_new_loopback
      Src: /src/glib/gio/gnetworkaddress.c:361,1
    - Dst: g_list_append
      Src: /src/glib/gio/gnetworkaddress.c:362,1
    - Dst: g_network_address_set_cached_addresses
      Src: /src/glib/gio/gnetworkaddress.c:363,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gnetworkaddress.c:363,1
    - Dst: G_SOCKET_CONNECTABLE
      Src: /src/glib/gio/gnetworkaddress.c:365,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 366
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 366
    functionName: g_network_address_new_loopback
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - g_list_append
    - g_steal_pointer
    - g_object_new
    - g_inet_address_new_loopback
    - G_SOCKET_CONNECTABLE
    - g_network_address_set_cached_addresses
    linkageType: ''
    returnType: GSocketConnectable*
    signature: 'GSocketConnectable *g_network_address_new_loopback (guint16 port) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gnetworkaddress.c:624,1
    - Dst: G_IS_NETWORK_ADDRESS
      Src: /src/glib/gio/gnetworkaddress.c:624,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 627
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 627
    functionName: g_network_address_get_scheme
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - G_IS_NETWORK_ADDRESS
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_network_address_get_scheme (GNetworkAddress *addr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_split_families
      Src: /src/glib/gio/gnetworkaddress.c:757,1
    - Dst: list_interleave_families
      Src: /src/glib/gio/gnetworkaddress.c:758,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 759
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 759
    functionName: list_copy_interleaved
    functionSourceFile: /src/glib/gio/gnetworkaddress.c
    functionUses: []
    functionsReached:
    - list_split_families
    - list_interleave_families
    linkageType: ''
    returnType: GList*
    signature: 'static GList *list_copy_interleaved (GList *list) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gvolumemonitor.c:93,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gvolumemonitor.c:105,1
    - Dst: I_
      Src: /src/glib/gio/gvolumemonitor.c:105,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gvolumemonitor.c:135,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gvolumemonitor.c:186,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gvolumemonitor.c:216,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gvolumemonitor.c:228,1
    - Dst: I_
      Src: /src/glib/gio/gvolumemonitor.c:228,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gvolumemonitor.c:262,1
    - Dst: I_
      Src: /src/glib/gio/gvolumemonitor.c:262,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gvolumemonitor.c:108,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gvolumemonitor.c:120,1
    - Dst: I_
      Src: /src/glib/gio/gvolumemonitor.c:120,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gvolumemonitor.c:138,1
    - Dst: I_
      Src: /src/glib/gio/gvolumemonitor.c:150,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gvolumemonitor.c:150,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gvolumemonitor.c:183,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gvolumemonitor.c:231,1
    - Dst: I_
      Src: /src/glib/gio/gvolumemonitor.c:245,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gvolumemonitor.c:265,1
    - Dst: I_
      Src: /src/glib/gio/gvolumemonitor.c:90,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gvolumemonitor.c:123,1
    - Dst: I_
      Src: /src/glib/gio/gvolumemonitor.c:135,1
    - Dst: I_
      Src: /src/glib/gio/gvolumemonitor.c:168,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gvolumemonitor.c:153,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gvolumemonitor.c:168,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gvolumemonitor.c:198,1
    - Dst: I_
      Src: /src/glib/gio/gvolumemonitor.c:198,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gvolumemonitor.c:248,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gvolumemonitor.c:79,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gvolumemonitor.c:90,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gvolumemonitor.c:171,1
    - Dst: I_
      Src: /src/glib/gio/gvolumemonitor.c:183,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gvolumemonitor.c:201,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gvolumemonitor.c:213,1
    - Dst: I_
      Src: /src/glib/gio/gvolumemonitor.c:213,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gvolumemonitor.c:245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 51
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GVolumeMonitorClass*
    constantsTouched: []
    func_position:
      end: 270
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 270
    functionName: g_volume_monitor_class_init
    functionSourceFile: /src/glib/gio/gvolumemonitor.c
    functionUses: []
    functionsReached:
    - I_
    - G_STRUCT_OFFSET
    - g_signal_new
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_volume_monitor_class_init (GVolumeMonitorClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvolumemonitor.c:317,1
    - Dst: G_IS_VOLUME_MONITOR
      Src: /src/glib/gio/gvolumemonitor.c:317,1
    - Dst: G_VOLUME_MONITOR_GET_CLASS
      Src: /src/glib/gio/gvolumemonitor.c:319,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 322
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 322
    functionName: g_volume_monitor_get_volumes
    functionSourceFile: /src/glib/gio/gvolumemonitor.c
    functionUses: []
    functionsReached:
    - G_VOLUME_MONITOR_GET_CLASS
    - g_return_val_if_fail
    - G_IS_VOLUME_MONITOR
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_volume_monitor_get_volumes (GVolumeMonitor *volume_monitor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvolumemonitor.c:363,1
    - Dst: G_VOLUME_MONITOR_GET_CLASS
      Src: /src/glib/gio/gvolumemonitor.c:366,1
    - Dst: G_IS_VOLUME_MONITOR
      Src: /src/glib/gio/gvolumemonitor.c:363,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvolumemonitor.c:364,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 369
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 369
    functionName: g_volume_monitor_get_volume_for_uuid
    functionSourceFile: /src/glib/gio/gvolumemonitor.c
    functionUses: []
    functionsReached:
    - G_VOLUME_MONITOR_GET_CLASS
    - g_return_val_if_fail
    - G_IS_VOLUME_MONITOR
    linkageType: ''
    returnType: GVolume*
    signature: 'GVolume *g_volume_monitor_get_volume_for_uuid (GVolumeMonitor *volume_monitor,
      const char *uuid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvolumemonitor.c:387,1
    - Dst: G_VOLUME_MONITOR_GET_CLASS
      Src: /src/glib/gio/gvolumemonitor.c:390,1
    - Dst: G_IS_VOLUME_MONITOR
      Src: /src/glib/gio/gvolumemonitor.c:387,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvolumemonitor.c:388,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 393
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 393
    functionName: g_volume_monitor_get_mount_for_uuid
    functionSourceFile: /src/glib/gio/gvolumemonitor.c
    functionUses: []
    functionsReached:
    - G_VOLUME_MONITOR_GET_CLASS
    - g_return_val_if_fail
    - G_IS_VOLUME_MONITOR
    linkageType: ''
    returnType: GMount*
    signature: 'GMount *g_volume_monitor_get_mount_for_uuid (GVolumeMonitor *volume_monitor,
      const char *uuid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gvolumemonitor.c:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: g_volume_monitor_finalize
    functionSourceFile: /src/glib/gio/gvolumemonitor.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_volume_monitor_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - monitor
    argTypes:
    - GVolumeMonitor*
    constantsTouched: []
    func_position:
      end: 275
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 275
    functionName: g_volume_monitor_init
    functionSourceFile: /src/glib/gio/gvolumemonitor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_volume_monitor_init (GVolumeMonitor *monitor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvolumemonitor.c:294,1
    - Dst: G_VOLUME_MONITOR_GET_CLASS
      Src: /src/glib/gio/gvolumemonitor.c:296,1
    - Dst: G_IS_VOLUME_MONITOR
      Src: /src/glib/gio/gvolumemonitor.c:294,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 299
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 299
    functionName: g_volume_monitor_get_connected_drives
    functionSourceFile: /src/glib/gio/gvolumemonitor.c
    functionUses: []
    functionsReached:
    - G_VOLUME_MONITOR_GET_CLASS
    - g_return_val_if_fail
    - G_IS_VOLUME_MONITOR
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_volume_monitor_get_connected_drives (GVolumeMonitor *volume_monitor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gvolumemonitor.c:340,1
    - Dst: G_VOLUME_MONITOR_GET_CLASS
      Src: /src/glib/gio/gvolumemonitor.c:342,1
    - Dst: G_IS_VOLUME_MONITOR
      Src: /src/glib/gio/gvolumemonitor.c:340,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 345
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 345
    functionName: g_volume_monitor_get_mounts
    functionSourceFile: /src/glib/gio/gvolumemonitor.c
    functionUses: []
    functionsReached:
    - G_VOLUME_MONITOR_GET_CLASS
    - g_return_val_if_fail
    - G_IS_VOLUME_MONITOR
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_volume_monitor_get_mounts (GVolumeMonitor *volume_monitor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: g_content_type_get_mime_dirs_impl
    functionSourceFile: /src/glib/gio/gcontenttype-win32.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar**
    signature: 'const gchar * const *g_content_type_get_mime_dirs_impl (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype-win32.c:110,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype-win32.c:111,1
    - Dst: get_registry_classes_key
      Src: /src/glib/gio/gcontenttype-win32.c:117,1
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/gio/gcontenttype-win32.c:113,1
    - Dst: get_registry_classes_key
      Src: /src/glib/gio/gcontenttype-win32.c:118,1
    - Dst: strcmp
      Src: /src/glib/gio/gcontenttype-win32.c:120,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype-win32.c:122,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype-win32.c:123,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - type1
    - type2
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 126
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 126
    functionName: g_content_type_equals_impl
    functionSourceFile: /src/glib/gio/gcontenttype-win32.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - get_registry_classes_key
    - g_ascii_strcasecmp
    - strcmp
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_content_type_equals_impl (const gchar *type1, const gchar
      *type2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype-win32.c:161,1
    - Dst: g_content_type_is_a
      Src: /src/glib/gio/gcontenttype-win32.c:165,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype-win32.c:166,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype-win32.c:162,1
    - Dst: g_content_type_from_mime_type
      Src: /src/glib/gio/gcontenttype-win32.c:164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - type
    - mime_type
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 169
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 169
    functionName: g_content_type_is_mime_type_impl
    functionSourceFile: /src/glib/gio/gcontenttype-win32.c
    functionUses: []
    functionsReached:
    - g_content_type_is_a
    - g_return_val_if_fail
    - g_free
    - g_content_type_from_mime_type
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_content_type_is_mime_type_impl (const gchar *type, const
      gchar *mime_type) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype-win32.c:185,1
    - Dst: get_registry_classes_key
      Src: /src/glib/gio/gcontenttype-win32.c:190,1
    - Dst: g_content_type_is_unknown
      Src: /src/glib/gio/gcontenttype-win32.c:197,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype-win32.c:191,1
    - Dst: get_registry_classes_key
      Src: /src/glib/gio/gcontenttype-win32.c:187,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype-win32.c:198,1
    - Dst: _
      Src: /src/glib/gio/gcontenttype-win32.c:198,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gcontenttype-win32.c:200,1
    - Dst: _
      Src: /src/glib/gio/gcontenttype-win32.c:200,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 201
    functionName: g_content_type_get_description_impl
    functionSourceFile: /src/glib/gio/gcontenttype-win32.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_strdup
    - g_strdup_printf
    - get_registry_classes_key
    - _
    - g_free
    - g_content_type_is_unknown
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_content_type_get_description_impl (const gchar *type) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype-win32.c:233,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gcontenttype-win32.c:250,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype-win32.c:277,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gcontenttype-win32.c:280,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gcontenttype-win32.c:253,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype-win32.c:254,1
    - Dst: strcmp
      Src: /src/glib/gio/gcontenttype-win32.c:258,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype-win32.c:264,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gcontenttype-win32.c:264,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype-win32.c:264,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gcontenttype-win32.c:277,1
    - Dst: strcmp
      Src: /src/glib/gio/gcontenttype-win32.c:271,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype-win32.c:277,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gcontenttype-win32.c:241,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/gcontenttype-win32.c:243,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype-win32.c:265,1
    - Dst: g_content_type_can_be_executable
      Src: /src/glib/gio/gcontenttype-win32.c:273,1
    - Dst: G_ICON
      Src: /src/glib/gio/gcontenttype-win32.c:282,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gcontenttype-win32.c:244,1
    - Dst: get_registry_classes_key
      Src: /src/glib/gio/gcontenttype-win32.c:248,1
    - Dst: get_registry_classes_key
      Src: /src/glib/gio/gcontenttype-win32.c:257,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype-win32.c:260,1
    - Dst: g_themed_icon_new
      Src: /src/glib/gio/gcontenttype-win32.c:279,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 283
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 283
    functionName: g_content_type_get_icon_impl
    functionSourceFile: /src/glib/gio/gcontenttype-win32.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_strconcat
    - g_strdup
    - g_content_type_can_be_executable
    - G_UNLOCK
    - get_registry_classes_key
    - g_hash_table_lookup
    - g_free
    - strcmp
    - g_hash_table_insert
    - g_hash_table_new
    - G_ICON
    - G_LOCK
    - g_themed_icon_new
    linkageType: ''
    returnType: GIcon*
    signature: 'GIcon *g_content_type_get_icon_impl (const gchar *type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 295
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 295
    functionName: g_content_type_get_generic_icon_name_impl
    functionSourceFile: /src/glib/gio/gcontenttype-win32.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_content_type_get_generic_icon_name_impl (const gchar *type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_iscntrl
      Src: /src/glib/gio/gcontenttype-win32.c:330,1
    - Dst: g_ascii_isspace
      Src: /src/glib/gio/gcontenttype-win32.c:330,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - data
    - data_size
    argTypes:
    - guchar*
    - gsize
    constantsTouched: []
    func_position:
      end: 334
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 334
    functionName: looks_like_text
    functionSourceFile: /src/glib/gio/gcontenttype-win32.c
    functionUses: []
    functionsReached:
    - g_ascii_isspace
    - g_ascii_iscntrl
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean looks_like_text (const guchar *data, gsize data_size) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype-win32.c:373,1
    - Dst: g_path_get_basename
      Src: /src/glib/gio/gcontenttype-win32.c:386,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype-win32.c:373,1
    - Dst: strlen
      Src: /src/glib/gio/gcontenttype-win32.c:377,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype-win32.c:380,1
    - Dst: strrchr
      Src: /src/glib/gio/gcontenttype-win32.c:387,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype-win32.c:389,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype-win32.c:390,1
    - Dst: looks_like_text
      Src: /src/glib/gio/gcontenttype-win32.c:397,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype-win32.c:398,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype-win32.c:400,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 401
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 401
    functionName: g_content_type_guess_impl
    functionSourceFile: /src/glib/gio/gcontenttype-win32.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_path_get_basename
    - g_strdup
    - strlen
    - strrchr
    - looks_like_text
    - g_free
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_content_type_guess_impl (const gchar *filename, const guchar
      *data, gsize data_size, gboolean *result_uncertain) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/gcontenttype-win32.c:50,1
    - Dst: RegOpenKeyExW
      Src: /src/glib/gio/gcontenttype-win32.c:51,1
    - Dst: RegQueryValueExW
      Src: /src/glib/gio/gcontenttype-win32.c:53,1
    - Dst: g_new
      Src: /src/glib/gio/gcontenttype-win32.c:57,1
    - Dst: RegQueryValueExW
      Src: /src/glib/gio/gcontenttype-win32.c:58,1
    - Dst: ExpandEnvironmentStringsW
      Src: /src/glib/gio/gcontenttype-win32.c:64,1
    - Dst: g_new
      Src: /src/glib/gio/gcontenttype-win32.c:67,1
    - Dst: ExpandEnvironmentStringsW
      Src: /src/glib/gio/gcontenttype-win32.c:68,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/gcontenttype-win32.c:69,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype-win32.c:70,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/gcontenttype-win32.c:75,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype-win32.c:80,1
    - Dst: RegCloseKey
      Src: /src/glib/gio/gcontenttype-win32.c:83,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype-win32.c:77,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 86
    functionName: get_registry_classes_key
    functionSourceFile: /src/glib/gio/gcontenttype-win32.c
    functionUses: []
    functionsReached:
    - g_new
    - g_utf8_to_utf16
    - RegQueryValueExW
    - g_free
    - ExpandEnvironmentStringsW
    - RegCloseKey
    - RegOpenKeyExW
    - g_utf16_to_utf8
    linkageType: ''
    returnType: char*
    signature: 'static char *get_registry_classes_key (const char *subdir, const wchar_t
      *key_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype-win32.c:136,1
    - Dst: g_content_type_equals
      Src: /src/glib/gio/gcontenttype-win32.c:139,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype-win32.c:137,1
    - Dst: get_registry_classes_key
      Src: /src/glib/gio/gcontenttype-win32.c:143,1
    - Dst: get_registry_classes_key
      Src: /src/glib/gio/gcontenttype-win32.c:142,1
    - Dst: strcmp
      Src: /src/glib/gio/gcontenttype-win32.c:146,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype-win32.c:148,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype-win32.c:149,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - type
    - supertype
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 152
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 152
    functionName: g_content_type_is_a_impl
    functionSourceFile: /src/glib/gio/gcontenttype-win32.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - get_registry_classes_key
    - strcmp
    - g_content_type_equals
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_content_type_is_a_impl (const gchar *type, const gchar
      *supertype) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype-win32.c:174,1
    - Dst: strcmp
      Src: /src/glib/gio/gcontenttype-win32.c:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - type
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 177
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 177
    functionName: g_content_type_is_unknown_impl
    functionSourceFile: /src/glib/gio/gcontenttype-win32.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - strcmp
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_content_type_is_unknown_impl (const gchar *type) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype-win32.c:208,1
    - Dst: g_content_type_is_unknown
      Src: /src/glib/gio/gcontenttype-win32.c:213,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype-win32.c:214,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gcontenttype-win32.c:216,1
    - Dst: get_registry_classes_key
      Src: /src/glib/gio/gcontenttype-win32.c:210,1
    - Dst: strcmp
      Src: /src/glib/gio/gcontenttype-win32.c:217,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype-win32.c:218,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype-win32.c:221,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 222
    functionName: g_content_type_get_mime_type_impl
    functionSourceFile: /src/glib/gio/gcontenttype-win32.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_strdup_printf
    - g_strdup
    - get_registry_classes_key
    - strcmp
    - g_content_type_is_unknown
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_content_type_get_mime_type_impl (const gchar *type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_content_type_get_icon
      Src: /src/glib/gio/gcontenttype-win32.c:288,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: g_content_type_get_symbolic_icon_impl
    functionSourceFile: /src/glib/gio/gcontenttype-win32.c
    functionUses: []
    functionsReached:
    - g_content_type_get_icon
    linkageType: ''
    returnType: GIcon*
    signature: 'GIcon *g_content_type_get_symbolic_icon_impl (const gchar *type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype-win32.c:300,1
    - Dst: strcmp
      Src: /src/glib/gio/gcontenttype-win32.c:302,1
    - Dst: strcmp
      Src: /src/glib/gio/gcontenttype-win32.c:303,1
    - Dst: strcmp
      Src: /src/glib/gio/gcontenttype-win32.c:304,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - type
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 319
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 319
    functionName: g_content_type_can_be_executable_impl
    functionSourceFile: /src/glib/gio/gcontenttype-win32.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - strcmp
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_content_type_can_be_executable_impl (const gchar *type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gcontenttype-win32.c:341,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype-win32.c:345,1
    - Dst: strcmp
      Src: /src/glib/gio/gcontenttype-win32.c:344,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gcontenttype-win32.c:347,1
    - Dst: get_registry_classes_key
      Src: /src/glib/gio/gcontenttype-win32.c:348,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype-win32.c:349,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gcontenttype-win32.c:352,1
    - Dst: g_strdup
      Src: /src/glib/gio/gcontenttype-win32.c:352,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 353
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 353
    functionName: g_content_type_from_mime_type_impl
    functionSourceFile: /src/glib/gio/gcontenttype-win32.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_return_val_if_fail
    - g_strconcat
    - g_strdup
    - get_registry_classes_key
    - strcmp
    - g_free
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_content_type_from_mime_type_impl (const gchar *mime_type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RegEnumKeyExW
      Src: /src/glib/gio/gcontenttype-win32.c:415,1
    - Dst: g_list_reverse
      Src: /src/glib/gio/gcontenttype-win32.c:436,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/gcontenttype-win32.c:424,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gcontenttype-win32.c:428,1
    - Dst: g_free
      Src: /src/glib/gio/gcontenttype-win32.c:430,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 437
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 437
    functionName: g_content_types_get_registered_impl
    functionSourceFile: /src/glib/gio/gcontenttype-win32.c
    functionUses: []
    functionsReached:
    - g_list_reverse
    - g_list_prepend
    - g_free
    - g_utf16_to_utf8
    - RegEnumKeyExW
    linkageType: ''
    returnType: GList*
    signature: 'GList *g_content_types_get_registered_impl (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - dirs
    argTypes:
    - gchar**
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: g_content_type_set_mime_dirs_impl
    functionSourceFile: /src/glib/gio/gcontenttype-win32.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void g_content_type_set_mime_dirs_impl (const gchar * const *dirs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 444
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 444
    functionName: g_content_type_guess_for_tree_impl
    functionSourceFile: /src/glib/gio/gcontenttype-win32.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar**
    signature: 'gchar **g_content_type_guess_for_tree_impl (GFile *root) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: g_tls_password_real_get_value
    functionSourceFile: /src/glib/gio/gtlspassword.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guchar*
    signature: 'static const guchar *g_tls_password_real_get_value (GTlsPassword *password,
      gsize *length) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_tls_password_get_flags
      Src: /src/glib/gio/gtlspassword.c:100,1
    - Dst: _
      Src: /src/glib/gio/gtlspassword.c:109,1
    - Dst: _
      Src: /src/glib/gio/gtlspassword.c:107,1
    - Dst: _
      Src: /src/glib/gio/gtlspassword.c:103,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 112
    functionName: g_tls_password_real_get_default_warning
    functionSourceFile: /src/glib/gio/gtlspassword.c
    functionUses: []
    functionsReached:
    - _
    - g_tls_password_get_flags
    linkageType: ''
    returnType: gchar*
    signature: 'static const gchar *g_tls_password_real_get_default_warning (GTlsPassword
      *password) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_TLS_PASSWORD
      Src: /src/glib/gio/gtlspassword.c:145,1
    - Dst: g_tls_password_set_flags
      Src: /src/glib/gio/gtlspassword.c:150,1
    - Dst: g_value_get_flags
      Src: /src/glib/gio/gtlspassword.c:150,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gtlspassword.c:153,1
    - Dst: g_tls_password_set_warning
      Src: /src/glib/gio/gtlspassword.c:153,1
    - Dst: g_tls_password_set_description
      Src: /src/glib/gio/gtlspassword.c:156,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gtlspassword.c:156,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gtlspassword.c:159,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 162
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 162
    functionName: g_tls_password_set_property
    functionSourceFile: /src/glib/gio/gtlspassword.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_tls_password_set_description
    - G_TLS_PASSWORD
    - g_value_get_string
    - g_tls_password_set_flags
    - g_value_get_flags
    - g_tls_password_set_warning
    linkageType: ''
    returnType: void
    signature: 'static void g_tls_password_set_property (GObject *object, guint prop_id,
      const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gtlspassword.c:244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 248
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 248
    functionName: g_tls_password_new
    functionSourceFile: /src/glib/gio/gtlspassword.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: GTlsPassword*
    signature: 'GTlsPassword *g_tls_password_new (GTlsPasswordFlags flags, const gchar
      *description) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlspassword.c:294,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlspassword.c:300,1
    - Dst: strlen
      Src: /src/glib/gio/gtlspassword.c:299,1
    - Dst: g_tls_password_set_value_full
      Src: /src/glib/gio/gtlspassword.c:304,1
    - Dst: G_IS_TLS_PASSWORD
      Src: /src/glib/gio/gtlspassword.c:294,1
    - Dst: g_memdup2
      Src: /src/glib/gio/gtlspassword.c:304,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - password
    - value
    - length
    argTypes:
    - GTlsPassword*
    - guchar*
    - gssize
    constantsTouched: []
    func_position:
      end: 305
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 305
    functionName: g_tls_password_set_value
    functionSourceFile: /src/glib/gio/gtlspassword.c
    functionUses: []
    functionsReached:
    - strlen
    - g_return_if_fail
    - G_IS_TLS_PASSWORD
    - g_memdup2
    - g_tls_password_set_value_full
    linkageType: ''
    returnType: void
    signature: 'void g_tls_password_set_value (GTlsPassword *password, const guchar
      *value, gssize length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlspassword.c:350,1
    - Dst: G_IS_TLS_PASSWORD
      Src: /src/glib/gio/gtlspassword.c:350,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - password
    argTypes:
    - GTlsPassword*
    constantsTouched: []
    func_position:
      end: 352
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 352
    functionName: g_tls_password_get_flags
    functionSourceFile: /src/glib/gio/gtlspassword.c
    functionUses: []
    functionsReached:
    - G_IS_TLS_PASSWORD
    - g_return_val_if_fail
    linkageType: ''
    returnType: GTlsPasswordFlags
    signature: 'GTlsPasswordFlags g_tls_password_get_flags (GTlsPassword *password) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlspassword.c:367,1
    - Dst: G_IS_TLS_PASSWORD
      Src: /src/glib/gio/gtlspassword.c:367,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlspassword.c:371,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gtlspassword.c:371,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - password
    - flags
    argTypes:
    - GTlsPassword*
    - GTlsPasswordFlags
    constantsTouched: []
    func_position:
      end: 372
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 372
    functionName: g_tls_password_set_flags
    functionSourceFile: /src/glib/gio/gtlspassword.c
    functionUses: []
    functionsReached:
    - G_IS_TLS_PASSWORD
    - g_object_notify
    - G_OBJECT
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_tls_password_set_flags (GTlsPassword *password, GTlsPasswordFlags
      flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlspassword.c:430,1
    - Dst: G_TLS_PASSWORD_GET_CLASS
      Src: /src/glib/gio/gtlspassword.c:433,1
    - Dst: G_IS_TLS_PASSWORD
      Src: /src/glib/gio/gtlspassword.c:430,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 436
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 436
    functionName: g_tls_password_get_warning
    functionSourceFile: /src/glib/gio/gtlspassword.c
    functionUses: []
    functionsReached:
    - G_IS_TLS_PASSWORD
    - g_return_val_if_fail
    - G_TLS_PASSWORD_GET_CLASS
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_tls_password_get_warning (GTlsPassword *password) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_tls_password_get_instance_private
      Src: /src/glib/gio/gtlspassword.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - password
    argTypes:
    - GTlsPassword*
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: g_tls_password_init
    functionSourceFile: /src/glib/gio/gtlspassword.c
    functionUses: []
    functionsReached:
    - g_tls_password_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_tls_password_init (GTlsPassword *password) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_TLS_PASSWORD
      Src: /src/glib/gio/gtlspassword.c:120,1
    - Dst: g_value_set_flags
      Src: /src/glib/gio/gtlspassword.c:125,1
    - Dst: g_tls_password_get_flags
      Src: /src/glib/gio/gtlspassword.c:125,1
    - Dst: g_tls_password_get_warning
      Src: /src/glib/gio/gtlspassword.c:128,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gtlspassword.c:128,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gtlspassword.c:131,1
    - Dst: g_tls_password_get_description
      Src: /src/glib/gio/gtlspassword.c:131,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gtlspassword.c:134,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 137
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 137
    functionName: g_tls_password_get_property
    functionSourceFile: /src/glib/gio/gtlspassword.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - G_TLS_PASSWORD
    - g_value_set_string
    - g_value_set_flags
    - g_tls_password_get_description
    - g_tls_password_get_flags
    - g_tls_password_get_warning
    linkageType: ''
    returnType: void
    signature: 'static void g_tls_password_get_property (GObject *object, guint prop_id,
      GValue *value, GParamSpec *pspec) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/gio/gtlspassword.c:88,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - password
    - value
    - length
    - destroy
    argTypes:
    - GTlsPassword*
    - guchar*
    - gssize
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 93
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 93
    functionName: g_tls_password_real_set_value
    functionSourceFile: /src/glib/gio/gtlspassword.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: void
    signature: 'static void g_tls_password_real_set_value (GTlsPassword *password,
      guchar *value, gssize length, GDestroyNotify destroy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_TLS_PASSWORD
      Src: /src/glib/gio/gtlspassword.c:167,1
    - Dst: g_free
      Src: /src/glib/gio/gtlspassword.c:171,1
    - Dst: g_free
      Src: /src/glib/gio/gtlspassword.c:170,1
    - Dst: g_tls_password_real_set_value
      Src: /src/glib/gio/gtlspassword.c:169,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gtlspassword.c:173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 174
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 174
    functionName: g_tls_password_finalize
    functionSourceFile: /src/glib/gio/gtlspassword.c
    functionUses: []
    functionsReached:
    - G_TLS_PASSWORD
    - G_OBJECT_CLASS
    - g_free
    - g_tls_password_real_set_value
    linkageType: ''
    returnType: void
    signature: 'static void g_tls_password_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gtlspassword.c:179,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gtlspassword.c:211,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlspassword.c:196,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlspassword.c:210,1
    - Dst: g_param_spec_flags
      Src: /src/glib/gio/gtlspassword.c:197,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtlspassword.c:223,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gtlspassword.c:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GTlsPasswordClass*
    constantsTouched: []
    func_position:
      end: 229
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 229
    functionName: g_tls_password_class_init
    functionSourceFile: /src/glib/gio/gtlspassword.c
    functionUses: []
    functionsReached:
    - g_param_spec_string
    - g_param_spec_flags
    - g_object_class_install_property
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_tls_password_class_init (GTlsPasswordClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlspassword.c:269,1
    - Dst: G_TLS_PASSWORD_GET_CLASS
      Src: /src/glib/gio/gtlspassword.c:270,1
    - Dst: G_IS_TLS_PASSWORD
      Src: /src/glib/gio/gtlspassword.c:269,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 271
    functionName: g_tls_password_get_value
    functionSourceFile: /src/glib/gio/gtlspassword.c
    functionUses: []
    functionsReached:
    - G_IS_TLS_PASSWORD
    - g_return_val_if_fail
    - G_TLS_PASSWORD_GET_CLASS
    linkageType: ''
    returnType: guchar*
    signature: 'const guchar *g_tls_password_get_value (GTlsPassword *password, gsize
      *length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlspassword.c:332,1
    - Dst: G_TLS_PASSWORD_GET_CLASS
      Src: /src/glib/gio/gtlspassword.c:333,1
    - Dst: G_IS_TLS_PASSWORD
      Src: /src/glib/gio/gtlspassword.c:332,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - password
    - value
    - length
    - destroy
    argTypes:
    - GTlsPassword*
    - guchar*
    - gssize
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 335
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 335
    functionName: g_tls_password_set_value_full
    functionSourceFile: /src/glib/gio/gtlspassword.c
    functionUses: []
    functionsReached:
    - G_IS_TLS_PASSWORD
    - G_TLS_PASSWORD_GET_CLASS
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_tls_password_set_value_full (GTlsPassword *password, guchar
      *value, gssize length, GDestroyNotify destroy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtlspassword.c:387,1
    - Dst: G_IS_TLS_PASSWORD
      Src: /src/glib/gio/gtlspassword.c:387,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 389
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 389
    functionName: g_tls_password_get_description
    functionSourceFile: /src/glib/gio/gtlspassword.c
    functionUses: []
    functionsReached:
    - G_IS_TLS_PASSWORD
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_tls_password_get_description (GTlsPassword *password) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlspassword.c:406,1
    - Dst: g_free
      Src: /src/glib/gio/gtlspassword.c:409,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gtlspassword.c:412,1
    - Dst: G_IS_TLS_PASSWORD
      Src: /src/glib/gio/gtlspassword.c:406,1
    - Dst: g_strdup
      Src: /src/glib/gio/gtlspassword.c:408,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlspassword.c:412,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - password
    - description
    argTypes:
    - GTlsPassword*
    - gchar*
    constantsTouched: []
    func_position:
      end: 413
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 413
    functionName: g_tls_password_set_description
    functionSourceFile: /src/glib/gio/gtlspassword.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_return_if_fail
    - G_IS_TLS_PASSWORD
    - g_object_notify
    - G_OBJECT
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_tls_password_set_description (GTlsPassword *password, const
      gchar *description) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtlspassword.c:455,1
    - Dst: g_free
      Src: /src/glib/gio/gtlspassword.c:458,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gtlspassword.c:461,1
    - Dst: G_IS_TLS_PASSWORD
      Src: /src/glib/gio/gtlspassword.c:455,1
    - Dst: g_strdup
      Src: /src/glib/gio/gtlspassword.c:457,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtlspassword.c:461,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - password
    - warning
    argTypes:
    - GTlsPassword*
    - gchar*
    constantsTouched: []
    func_position:
      end: 462
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 462
    functionName: g_tls_password_set_warning
    functionSourceFile: /src/glib/gio/gtlspassword.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_return_if_fail
    - G_IS_TLS_PASSWORD
    - g_object_notify
    - G_OBJECT
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_tls_password_set_warning (GTlsPassword *password, const gchar
      *warning) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - task
    argTypes:
    - GTask*
    constantsTouched: []
    func_position:
      end: 666
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 666
    functionName: g_task_init
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_task_init (GTask *task) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtask.c:970,1
    - Dst: GIO_TASK_SET_PRIORITY
      Src: /src/glib/gio/gtask.c:974,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:970,1
    - Dst: TRACE
      Src: /src/glib/gio/gtask.c:974,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - task
    - priority
    argTypes:
    - GTask*
    - gint
    constantsTouched: []
    func_position:
      end: 975
      start: 966
    functionDepth: 0
    functionLinenumber: 966
    functionLinenumberEnd: 975
    functionName: g_task_set_priority
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - G_IS_TASK
    - GIO_TASK_SET_PRIORITY
    - TRACE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_task_set_priority (GTask *task, gint priority) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtask.c:1138,1
    - Dst: g_strdup
      Src: /src/glib/gio/gtask.c:1140,1
    - Dst: g_free
      Src: /src/glib/gio/gtask.c:1142,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gtask.c:1143,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:1138,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - task
    - name
    argTypes:
    - GTask*
    - char*
    constantsTouched: []
    func_position:
      end: 1145
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1145
    functionName: (g_task_set_name)
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_strdup
    - g_return_if_fail
    - G_IS_TASK
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void (g_task_set_name) (GTask *task, const char *name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gtask.c:1554,1
    - Dst: g_trace_set_int64_counter
      Src: /src/glib/gio/gtask.c:1560,1
    - Dst: g_thread_pool_set_max_threads
      Src: /src/glib/gio/gtask.c:1559,1
    - Dst: g_thread_pool_unprocessed
      Src: /src/glib/gio/gtask.c:1555,1
    - Dst: g_source_set_ready_time
      Src: /src/glib/gio/gtask.c:1563,1
    - Dst: g_trace_set_int64_counter
      Src: /src/glib/gio/gtask.c:1570,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gtask.c:1572,1
    - Dst: g_private_set
      Src: /src/glib/gio/gtask.c:1573,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gtask.c:1573,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1574
      start: 1549
    functionDepth: 0
    functionLinenumber: 1549
    functionLinenumberEnd: 1574
    functionName: g_task_thread_cleanup
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_mutex_lock
    - g_private_set
    - GUINT_TO_POINTER
    - g_trace_set_int64_counter
    - g_source_set_ready_time
    - g_thread_pool_set_max_threads
    - g_thread_pool_unprocessed
    linkageType: ''
    returnType: void
    signature: 'static void g_task_thread_cleanup (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtask.c:2009,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:2009,1
    - Dst: g_task_propagate_error
      Src: /src/glib/gio/gtask.c:2011,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtask.c:2014,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - task
    - error
    argTypes:
    - GTask*
    - GError**
    constantsTouched: []
    func_position:
      end: 2018
      start: 2005
    functionDepth: 0
    functionLinenumber: 2005
    functionLinenumberEnd: 2018
    functionName: g_task_propagate_boolean
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_task_propagate_error
    - G_IS_TASK
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_task_propagate_boolean (GTask *task, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/gio/gtask.c:2128,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gtask.c:2132,1
    - Dst: va_end
      Src: /src/glib/gio/gtask.c:2130,1
    - Dst: g_error_new_valist
      Src: /src/glib/gio/gtask.c:2129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - task
    - domain
    - code
    - format
    - '...'
    argTypes:
    - GTask*
    - GQuark
    - gint
    - char*
    constantsTouched: []
    func_position:
      end: 2133
      start: 2118
    functionDepth: 0
    functionLinenumber: 2118
    functionLinenumberEnd: 2133
    functionName: g_task_return_new_error
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_task_return_error
    - g_error_new_valist
    - va_start
    - va_end
    linkageType: ''
    returnType: void
    signature: 'void g_task_return_new_error (GTask *task, GQuark domain, gint code,
      const char *format, ...) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/gtask.c:2380,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/gtask.c:2382,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 3
    argNames:
    - a
    - b
    - user_data
    argTypes:
    - gconstpointer
    - gconstpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 2390
      start: 2361
    functionDepth: 0
    functionLinenumber: 2361
    functionLinenumberEnd: 2390
    functionName: g_task_compare_priority
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_cancellable_is_cancelled
    linkageType: ''
    returnType: gint
    signature: 'static gint g_task_compare_priority (gconstpointer a, gconstpointer
      b, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_TASK
      Src: /src/glib/gio/gtask.c:2496,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - res
    argTypes:
    - GAsyncResult*
    constantsTouched: []
    func_position:
      end: 2497
      start: 2493
    functionDepth: 0
    functionLinenumber: 2493
    functionLinenumberEnd: 2497
    functionName: g_task_get_user_data
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - G_TASK
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer g_task_get_user_data (GAsyncResult *res) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/gio/gtask.c:675,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gtask.c:677,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gtask.c:681,1
    - Dst: g_task_get_name
      Src: /src/glib/gio/gtask.c:685,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gtask.c:684,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gtask.c:686,1
    - Dst: g_string_append
      Src: /src/glib/gio/gtask.c:695,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gtask.c:698,1
    - Dst: g_message
      Src: /src/glib/gio/gtask.c:700,1
    - Dst: g_string_free
      Src: /src/glib/gio/gtask.c:701,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 702
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 702
    functionName: g_task_print_alive_tasks
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_string_append
    - g_message
    - G_UNLOCK
    - g_task_get_name
    - g_string_free
    - g_string_new
    - g_string_append_printf
    - g_ptr_array_index
    - G_LOCK
    linkageType: ''
    returnType: void
    signature: 'void g_task_print_alive_tasks (void) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: G_TASK_IS_THREADED
      Src: /src/glib/gio/gtask.c:1407,1
    - Dst: g_main_current_source
      Src: /src/glib/gio/gtask.c:1415,1
    - Dst: g_source_get_time
      Src: /src/glib/gio/gtask.c:1421,1
    - Dst: g_source_get_context
      Src: /src/glib/gio/gtask.c:1416,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gtask.c:1410,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/gtask.c:1429,1
    - Dst: g_task_return_now
      Src: /src/glib/gio/gtask.c:1431,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gtask.c:1432,1
    - Dst: g_idle_source_new
      Src: /src/glib/gio/gtask.c:1439,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gtask.c:1446,1
    - Dst: g_task_attach_source
      Src: /src/glib/gio/gtask.c:1456,1
    - Dst: g_source_set_name
      Src: /src/glib/gio/gtask.c:1452,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gtask.c:1451,1
    - Dst: g_free
      Src: /src/glib/gio/gtask.c:1453,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gtask.c:1457,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 2
    argNames:
    - task
    - type
    argTypes:
    - GTask*
    - GTaskReturnType
    constantsTouched: []
    func_position:
      end: 1458
      start: 1387
    functionDepth: 0
    functionLinenumber: 1387
    functionLinenumberEnd: 1458
    functionName: g_task_return
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_source_get_time
    - g_strconcat
    - g_main_current_source
    - g_object_unref
    - g_idle_source_new
    - g_cancellable_is_cancelled
    - g_task_attach_source
    - G_TASK_IS_THREADED
    - g_task_return_now
    - g_source_set_name
    - g_source_unref
    - g_object_ref
    - g_source_get_context
    - g_free
    - g_source_set_static_name
    linkageType: ''
    returnType: void
    signature: 'static void g_task_return (GTask *task, GTaskReturnType type) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gtask.c:1493,1
    - Dst: TRACE
      Src: /src/glib/gio/gtask.c:1503,1
    - Dst: GIO_TASK_AFTER_RUN_IN_THREAD
      Src: /src/glib/gio/gtask.c:1503,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gtask.c:1506,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gtask.c:1499,1
    - Dst: g_signal_handlers_disconnect_by_func
      Src: /src/glib/gio/gtask.c:1509,1
    - Dst: g_cond_signal
      Src: /src/glib/gio/gtask.c:1512,1
    - Dst: g_task_return
      Src: /src/glib/gio/gtask.c:1514,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - task
    argTypes:
    - GTask*
    constantsTouched: []
    func_position:
      end: 1515
      start: 1490
    functionDepth: 0
    functionLinenumber: 1490
    functionLinenumberEnd: 1515
    functionName: g_task_thread_complete
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_signal_handlers_disconnect_by_func
    - TRACE
    - g_mutex_unlock
    - g_mutex_lock
    - g_cond_signal
    - g_task_return
    - GIO_TASK_AFTER_RUN_IN_THREAD
    linkageType: ''
    returnType: void
    signature: 'static void g_task_thread_complete (GTask *task) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_thread_setup
      Src: /src/glib/gio/gtask.c:1582,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gtask.c:1587,1
    - Dst: g_task_thread_cleanup
      Src: /src/glib/gio/gtask.c:1589,1
    - Dst: g_task_thread_complete
      Src: /src/glib/gio/gtask.c:1586,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - thread_data
    - pool_data
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 1590
      start: 1576
    functionDepth: 0
    functionLinenumber: 1576
    functionLinenumberEnd: 1590
    functionName: g_task_thread_pool_thread
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_task_thread_cleanup
    - g_object_unref
    - g_task_thread_setup
    - g_task_thread_complete
    linkageType: ''
    returnType: void
    signature: 'static void g_task_thread_pool_thread (gpointer thread_data, gpointer
      pool_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: callback
      Src: /src/glib/gio/gtask.c:2397,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - source
    - callback
    - user_data
    argTypes:
    - GSource*
    - GSourceFunc
    - gpointer
    constantsTouched: []
    func_position:
      end: 2398
      start: 2392
    functionDepth: 0
    functionLinenumber: 2392
    functionLinenumberEnd: 2398
    functionName: trivial_source_dispatch
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - callback
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean trivial_source_dispatch (GSource *source, GSourceFunc
      callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_TASK
      Src: /src/glib/gio/gtask.c:2503,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - res
    - source_tag
    argTypes:
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2504
      start: 2499
    functionDepth: 0
    functionLinenumber: 2499
    functionLinenumberEnd: 2504
    functionName: g_task_is_tagged
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - G_TASK
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_task_is_tagged (GAsyncResult *res, gpointer source_tag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GAsyncResultIface*
    constantsTouched: []
    func_position:
      end: 2512
      start: 2506
    functionDepth: 0
    functionLinenumber: 2506
    functionLinenumberEnd: 2512
    functionName: g_task_async_result_iface_init
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_task_async_result_iface_init (GAsyncResultIface *iface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gtask.c:827,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gtask.c:828,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gtask.c:829,1
    - Dst: g_main_context_ref_thread_default
      Src: /src/glib/gio/gtask.c:832,1
    - Dst: g_main_current_source
      Src: /src/glib/gio/gtask.c:834,1
    - Dst: g_source_get_time
      Src: /src/glib/gio/gtask.c:836,1
    - Dst: TRACE
      Src: /src/glib/gio/gtask.c:838,1
    - Dst: GIO_TASK_NEW
      Src: /src/glib/gio/gtask.c:838,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 842
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 842
    functionName: g_task_new
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_source_get_time
    - g_main_current_source
    - g_object_new
    - TRACE
    - GIO_TASK_NEW
    - g_object_ref
    - g_main_context_ref_thread_default
    linkageType: ''
    returnType: GTask*
    signature: 'GTask *g_task_new (gpointer source_object, GCancellable *cancellable,
      GAsyncReadyCallback callback, gpointer callback_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtask.c:940,1
    - Dst: TRACE
      Src: /src/glib/gio/gtask.c:948,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:940,1
    - Dst: GIO_TASK_SET_TASK_DATA
      Src: /src/glib/gio/gtask.c:948,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - task
    - task_data
    - task_data_destroy
    argTypes:
    - GTask*
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 949
      start: 935
    functionDepth: 0
    functionLinenumber: 935
    functionLinenumberEnd: 949
    functionName: g_task_set_task_data
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - GIO_TASK_SET_TASK_DATA
    - G_IS_TASK
    - TRACE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_task_set_task_data (GTask *task, gpointer task_data, GDestroyNotify
      task_data_destroy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtask.c:1980,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtask.c:1981,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:1980,1
    - Dst: g_task_return
      Src: /src/glib/gio/gtask.c:1985,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - task
    - result
    argTypes:
    - GTask*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1986
      start: 1976
    functionDepth: 0
    functionLinenumber: 1976
    functionLinenumberEnd: 1986
    functionName: g_task_return_boolean
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_task_return
    - G_IS_TASK
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_task_return_boolean (GTask *task, gboolean result) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtask.c:2084,1
    - Dst: va_start
      Src: /src/glib/gio/gtask.c:2090,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtask.c:2085,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:2084,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtask.c:2086,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/gio/gtask.c:2091,1
    - Dst: va_end
      Src: /src/glib/gio/gtask.c:2092,1
    - Dst: g_prefix_error_literal
      Src: /src/glib/gio/gtask.c:2094,1
    - Dst: g_free
      Src: /src/glib/gio/gtask.c:2096,1
    - Dst: g_task_return
      Src: /src/glib/gio/gtask.c:2098,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - task
    - error
    - format
    - '...'
    argTypes:
    - GTask*
    - GError*
    - char*
    constantsTouched: []
    func_position:
      end: 2099
      start: 2075
    functionDepth: 0
    functionLinenumber: 2075
    functionLinenumberEnd: 2099
    functionName: g_task_return_prefixed_error
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_strdup_vprintf
    - g_return_if_fail
    - G_IS_TASK
    - g_task_return
    - va_end
    - g_prefix_error_literal
    - g_free
    - va_start
    linkageType: ''
    returnType: void
    signature: 'void g_task_return_prefixed_error (GTask *task, GError *error, const
      char *format, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:2355,1
    - Dst: G_TASK
      Src: /src/glib/gio/gtask.c:2358,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - result
    - source_object
    argTypes:
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 2359
      start: 2351
    functionDepth: 0
    functionLinenumber: 2351
    functionLinenumberEnd: 2359
    functionName: g_task_is_valid
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - G_TASK
    - G_IS_TASK
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_task_is_valid (gpointer result, gpointer source_object) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gtask.c:737,1
    - Dst: g_critical
      Src: /src/glib/gio/gtask.c:740,1
    - Dst: g_debug
      Src: /src/glib/gio/gtask.c:745,1
    - Dst: g_free
      Src: /src/glib/gio/gtask.c:750,1
    - Dst: g_free
      Src: /src/glib/gio/gtask.c:756,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gtask.c:778,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gtask.c:783,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gtask.c:786,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gtask.c:753,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gtask.c:754,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gtask.c:781,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gtask.c:782,1
    - Dst: G_TASK
      Src: /src/glib/gio/gtask.c:723,1
    - Dst: g_assert
      Src: /src/glib/gio/gtask.c:779,1
    - Dst: g_mutex_clear
      Src: /src/glib/gio/gtask.c:772,1
    - Dst: g_task_get_name
      Src: /src/glib/gio/gtask.c:734,1
    - Dst: G_TASK_IS_THREADED
      Src: /src/glib/gio/gtask.c:739,1
    - Dst: g_error_free
      Src: /src/glib/gio/gtask.c:768,1
    - Dst: G_TASK_IS_THREADED
      Src: /src/glib/gio/gtask.c:770,1
    - Dst: g_cond_clear
      Src: /src/glib/gio/gtask.c:773,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/gtask.c:759,1
    - Dst: g_ptr_array_remove_fast
      Src: /src/glib/gio/gtask.c:780,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 787
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 787
    functionName: g_task_finalize
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_main_context_unref
    - G_UNLIKELY
    - G_LOCK
    - G_UNLOCK
    - G_TASK_IS_THREADED
    - g_clear_pointer
    - g_clear_object
    - g_error_free
    - g_cond_clear
    - g_ptr_array_remove_fast
    - g_mutex_clear
    - G_OBJECT_CLASS
    - G_TASK
    - g_assert
    - g_debug
    - g_task_get_name
    - g_critical
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void g_task_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/gio/gtask.c:917,1
    - Dst: g_task_report_error
      Src: /src/glib/gio/gtask.c:921,1
    - Dst: va_end
      Src: /src/glib/gio/gtask.c:919,1
    - Dst: g_error_new_valist
      Src: /src/glib/gio/gtask.c:918,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 7
    argNames:
    - source_object
    - callback
    - callback_data
    - source_tag
    - domain
    - code
    - format
    - '...'
    argTypes:
    - gpointer
    - GAsyncReadyCallback
    - gpointer
    - gpointer
    - GQuark
    - gint
    - char*
    constantsTouched: []
    func_position:
      end: 923
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 923
    functionName: g_task_report_new_error
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_task_report_error
    - g_error_new_valist
    - va_start
    - va_end
    linkageType: ''
    returnType: void
    signature: 'void g_task_report_new_error (gpointer source_object, GAsyncReadyCallback
      callback, gpointer callback_data, gpointer source_tag, GQuark domain, gint code,
      const char *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtask.c:1187,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:1187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - task
    argTypes:
    - GTask*
    constantsTouched: []
    func_position:
      end: 1190
      start: 1184
    functionDepth: 0
    functionLinenumber: 1184
    functionLinenumberEnd: 1190
    functionName: g_task_get_source_object
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_TASK
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_task_get_source_object (GTask *task) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtask.c:1703,1
    - Dst: g_task_start_task_thread
      Src: /src/glib/gio/gtask.c:1706,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gtask.c:1713,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gtask.c:1705,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:1703,1
    - Dst: g_task_return
      Src: /src/glib/gio/gtask.c:1714,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gtask.c:1717,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gtask.c:1719,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - task
    - task_func
    argTypes:
    - GTask*
    - GTaskThreadFunc
    constantsTouched: []
    func_position:
      end: 1720
      start: 1699
    functionDepth: 0
    functionLinenumber: 1699
    functionLinenumberEnd: 1720
    functionName: g_task_run_in_thread
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_mutex_unlock
    - g_return_if_fail
    - G_IS_TASK
    - g_task_return
    - g_object_ref
    - g_task_start_task_thread
    linkageType: ''
    returnType: void
    signature: 'void g_task_run_in_thread (GTask *task, GTaskThreadFunc task_func) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtask.c:1954,1
    - Dst: g_task_propagate_error
      Src: /src/glib/gio/gtask.c:1956,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtask.c:1959,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:1954,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - task
    - error
    argTypes:
    - GTask*
    - GError**
    constantsTouched: []
    func_position:
      end: 1963
      start: 1950
    functionDepth: 0
    functionLinenumber: 1950
    functionLinenumberEnd: 1963
    functionName: g_task_propagate_int
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_task_propagate_error
    - G_IS_TASK
    linkageType: ''
    returnType: gssize
    signature: 'gssize g_task_propagate_int (GTask *task, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtask.c:2330,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:2330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - task
    argTypes:
    - GTask*
    constantsTouched: []
    func_position:
      end: 2334
      start: 2327
    functionDepth: 0
    functionLinenumber: 2327
    functionLinenumberEnd: 2334
    functionName: g_task_get_completed
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_TASK
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_task_get_completed (GTask *task) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_TASK
      Src: /src/glib/gio/gtask.c:2433,1
    - Dst: g_task_get_completed
      Src: /src/glib/gio/gtask.c:2438,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gtask.c:2438,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 2441
      start: 2427
    functionDepth: 0
    functionLinenumber: 2427
    functionLinenumberEnd: 2441
    functionName: g_task_get_property
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_value_set_boolean
    - G_TASK
    - g_task_get_completed
    linkageType: ''
    returnType: void
    signature: 'static void g_task_get_property (GObject *object, guint prop_id, GValue
      *value, GParamSpec *pspec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_TASK
      Src: /src/glib/gio/gtask.c:1195,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gtask.c:1198,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1192
    functionDepth: 0
    functionLinenumber: 1192
    functionLinenumberEnd: 1201
    functionName: g_task_ref_source_object
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_object_ref
    linkageType: ''
    returnType: GObject*
    signature: 'static GObject *g_task_ref_source_object (GAsyncResult *res) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_pool_new
      Src: /src/glib/gio/gtask.c:2412,1
    - Dst: g_source_new
      Src: /src/glib/gio/gtask.c:2418,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gtask.c:2419,1
    - Dst: g_thread_pool_set_sort_function
      Src: /src/glib/gio/gtask.c:2416,1
    - Dst: g_assert
      Src: /src/glib/gio/gtask.c:2414,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gtask.c:2420,1
    - Dst: g_source_set_ready_time
      Src: /src/glib/gio/gtask.c:2421,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gtask.c:2422,1
    - Dst: GLIB_PRIVATE_CALL
      Src: /src/glib/gio/gtask.c:2423,1
    - Dst: g_get_worker_context
      Src: /src/glib/gio/gtask.c:2423,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gtask.c:2424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2425
      start: 2409
    functionDepth: 0
    functionLinenumber: 2409
    functionLinenumberEnd: 2425
    functionName: g_task_thread_pool_init
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_get_worker_context
    - g_source_new
    - g_source_set_callback
    - g_assert
    - g_source_attach
    - GLIB_PRIVATE_CALL
    - g_source_unref
    - g_thread_pool_new
    - g_source_set_ready_time
    - g_thread_pool_set_sort_function
    - g_source_set_static_name
    linkageType: ''
    returnType: void
    signature: 'static void g_task_thread_pool_init (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/gtask.c:873,1
    - Dst: g_task_set_static_name
      Src: /src/glib/gio/gtask.c:875,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gtask.c:874,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gtask.c:876,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gtask.c:877,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 5
    argNames:
    - source_object
    - callback
    - callback_data
    - source_tag
    - error
    argTypes:
    - gpointer
    - GAsyncReadyCallback
    - gpointer
    - gpointer
    - GError*
    constantsTouched: []
    func_position:
      end: 878
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 878
    functionName: g_task_report_error
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_object_unref
    - g_task_set_source_tag
    - g_task_set_static_name
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'void g_task_report_error (gpointer source_object, GAsyncReadyCallback
      callback, gpointer callback_data, gpointer source_tag, GError *error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_init
      Src: /src/glib/gio/gtask.c:1631,1
    - Dst: TRACE
      Src: /src/glib/gio/gtask.c:1636,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gtask.c:1634,1
    - Dst: g_cond_init
      Src: /src/glib/gio/gtask.c:1632,1
    - Dst: GIO_TASK_BEFORE_RUN_IN_THREAD
      Src: /src/glib/gio/gtask.c:1636,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gtask.c:1643,1
    - Dst: TRACE
      Src: /src/glib/gio/gtask.c:1647,1
    - Dst: GIO_TASK_AFTER_RUN_IN_THREAD
      Src: /src/glib/gio/gtask.c:1647,1
    - Dst: g_thread_pool_push
      Src: /src/glib/gio/gtask.c:1648,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gtask.c:1648,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gtask.c:1661,1
    - Dst: g_thread_pool_push
      Src: /src/glib/gio/gtask.c:1669,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gtask.c:1669,1
    - Dst: g_private_get
      Src: /src/glib/gio/gtask.c:1667,1
    - Dst: g_signal_connect_data
      Src: /src/glib/gio/gtask.c:1660,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gtask.c:1662,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - task
    - task_func
    argTypes:
    - GTask*
    - GTaskThreadFunc
    constantsTouched: []
    func_position:
      end: 1670
      start: 1627
    functionDepth: 0
    functionLinenumber: 1627
    functionLinenumberEnd: 1670
    functionName: g_task_start_task_thread
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_mutex_init
    - g_thread_pool_push
    - g_signal_connect_data
    - TRACE
    - g_mutex_lock
    - g_cond_init
    - GIO_TASK_BEFORE_RUN_IN_THREAD
    - G_CALLBACK
    - g_private_get
    - GIO_TASK_AFTER_RUN_IN_THREAD
    - g_object_ref
    - g_cancellable_set_error_if_cancelled
    linkageType: ''
    returnType: void
    signature: 'static void g_task_start_task_thread (GTask *task, GTaskThreadFunc
      task_func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtask.c:1234,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:1234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - task
    argTypes:
    - GTask*
    constantsTouched: []
    func_position:
      end: 1237
      start: 1231
    functionDepth: 0
    functionLinenumber: 1231
    functionLinenumberEnd: 1237
    functionName: g_task_get_priority
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_TASK
    linkageType: ''
    returnType: gint
    signature: 'gint g_task_get_priority (GTask *task) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtask.c:1276,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:1276,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1273
    functionDepth: 0
    functionLinenumber: 1273
    functionLinenumberEnd: 1279
    functionName: g_task_get_cancellable
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_TASK
    linkageType: ''
    returnType: GCancellable*
    signature: 'GCancellable *g_task_get_cancellable (GTask *task) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gtask.c:1520,1
    - Dst: g_trace_set_int64_counter
      Src: /src/glib/gio/gtask.c:1522,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gtask.c:1524,1
    - Dst: g_source_set_ready_time
      Src: /src/glib/gio/gtask.c:1523,1
    - Dst: g_thread_pool_set_max_threads
      Src: /src/glib/gio/gtask.c:1521,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1527
      start: 1517
    functionDepth: 0
    functionLinenumber: 1517
    functionLinenumberEnd: 1527
    functionName: task_pool_manager_timeout
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_mutex_lock
    - g_trace_set_int64_counter
    - g_source_set_ready_time
    - g_thread_pool_set_max_threads
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean task_pool_manager_timeout (gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_pool_move_to_front
      Src: /src/glib/gio/gtask.c:1601,1
    - Dst: g_task_thread_complete
      Src: /src/glib/gio/gtask.c:1617,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gtask.c:1616,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gtask.c:1608,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gtask.c:1603,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - cancellable
    - user_data
    argTypes:
    - GCancellable*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1618
      start: 1592
    functionDepth: 0
    functionLinenumber: 1592
    functionLinenumberEnd: 1618
    functionName: task_thread_cancelled
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_task_thread_complete
    - g_mutex_lock
    - g_mutex_unlock
    - g_thread_pool_move_to_front
    linkageType: ''
    returnType: void
    signature: 'static void task_thread_cancelled (GCancellable *cancellable, gpointer
      user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtask.c:2179,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gtask.c:2187,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:2179,1
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gtask.c:2182,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtask.c:2180,1
    - Dst: g_task_return
      Src: /src/glib/gio/gtask.c:2190,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - task
    argTypes:
    - GTask*
    constantsTouched: []
    func_position:
      end: 2195
      start: 2174
    functionDepth: 0
    functionLinenumber: 2174
    functionLinenumberEnd: 2195
    functionName: g_task_return_error_if_cancelled
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_return_val_if_fail
    - g_task_return
    - G_IS_TASK
    - g_cancellable_set_error_if_cancelled
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_task_return_error_if_cancelled (GTask *task) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtask.c:2296,1
    - Dst: g_task_propagate_error
      Src: /src/glib/gio/gtask.c:2300,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:2296,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtask.c:2297,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtask.c:2298,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtask.c:2303,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtask.c:2304,1
    - Dst: memcpy
      Src: /src/glib/gio/gtask.c:2306,1
    - Dst: g_free
      Src: /src/glib/gio/gtask.c:2307,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - task
    - value
    - error
    argTypes:
    - GTask*
    - GValue*
    - GError**
    constantsTouched: []
    func_position:
      end: 2313
      start: 2291
    functionDepth: 0
    functionLinenumber: 2291
    functionLinenumberEnd: 2313
    functionName: g_task_propagate_value
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_return_val_if_fail
    - g_task_propagate_error
    - G_IS_TASK
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_task_propagate_value (GTask *task, GValue *value, GError
      **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_TASK
      Src: /src/glib/gio/gtask.c:707,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gtask.c:712,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gtask.c:713,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gtask.c:709,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/gtask.c:714,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gtask.c:715,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gtask.c:716,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 717
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 717
    functionName: g_task_constructed
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - G_UNLOCK
    - G_OBJECT_CLASS
    - G_UNLIKELY
    - G_TASK
    - g_ptr_array_new
    - G_LOCK
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: 'static void g_task_constructed (GObject *object) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_private_set
      Src: /src/glib/gio/gtask.c:1532,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gtask.c:1533,1
    - Dst: g_trace_set_int64_counter
      Src: /src/glib/gio/gtask.c:1536,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/gtask.c:1532,1
    - Dst: g_source_set_ready_time
      Src: /src/glib/gio/gtask.c:1544,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/gtask.c:1544,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gtask.c:1546,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1547
      start: 1529
    functionDepth: 0
    functionLinenumber: 1529
    functionLinenumberEnd: 1547
    functionName: g_task_thread_setup
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_mutex_lock
    - g_private_set
    - GUINT_TO_POINTER
    - g_trace_set_int64_counter
    - g_get_monotonic_time
    - g_source_set_ready_time
    linkageType: ''
    returnType: void
    signature: 'static void g_task_thread_setup (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/gtask.c:1624,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - task
    - closure
    argTypes:
    - gpointer
    - GClosure*
    constantsTouched: []
    func_position:
      end: 1625
      start: 1620
    functionDepth: 0
    functionLinenumber: 1620
    functionLinenumberEnd: 1625
    functionName: task_thread_cancelled_disconnect_notify
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void task_thread_cancelled_disconnect_notify (gpointer task,
      GClosure *closure) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtask.c:1108,1
    - Dst: GIO_TASK_SET_SOURCE_TAG
      Src: /src/glib/gio/gtask.c:1112,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:1108,1
    - Dst: TRACE
      Src: /src/glib/gio/gtask.c:1112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - task
    - source_tag
    argTypes:
    - GTask*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1113
      start: 1104
    functionDepth: 0
    functionLinenumber: 1104
    functionLinenumberEnd: 1113
    functionName: (g_task_set_source_tag)
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - GIO_TASK_SET_SOURCE_TAG
    - G_IS_TASK
    - TRACE
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void (g_task_set_source_tag) (GTask *task, gpointer source_tag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtask.c:1216,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:1216,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - task
    argTypes:
    - GTask*
    constantsTouched: []
    func_position:
      end: 1219
      start: 1213
    functionDepth: 0
    functionLinenumber: 1213
    functionLinenumberEnd: 1219
    functionName: g_task_get_task_data
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_TASK
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_task_get_task_data (GTask *task) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtask.c:1258,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:1258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1255
    functionDepth: 0
    functionLinenumber: 1255
    functionLinenumberEnd: 1261
    functionName: g_task_get_context
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_TASK
    linkageType: ''
    returnType: GMainContext*
    signature: 'GMainContext *g_task_get_context (GTask *task) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtask.c:1925,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:1925,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtask.c:1926,1
    - Dst: g_task_return
      Src: /src/glib/gio/gtask.c:1930,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - task
    - result
    argTypes:
    - GTask*
    - gssize
    constantsTouched: []
    func_position:
      end: 1931
      start: 1921
    functionDepth: 0
    functionLinenumber: 1921
    functionLinenumberEnd: 1931
    functionName: g_task_return_int
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_task_return
    - G_IS_TASK
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_task_return_int (GTask *task, gssize result) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_return_error
      Src: /src/glib/gio/gtask.c:2158,1
    - Dst: g_error_new_literal
      Src: /src/glib/gio/gtask.c:2158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 4
    argNames:
    - task
    - domain
    - code
    - message
    argTypes:
    - GTask*
    - GQuark
    - gint
    - char*
    constantsTouched: []
    func_position:
      end: 2159
      start: 2152
    functionDepth: 0
    functionLinenumber: 2152
    functionLinenumberEnd: 2159
    functionName: g_task_return_new_error_literal
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_error_new_literal
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'void g_task_return_new_error_literal (GTask *task, GQuark domain,
      gint code, const char *message) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtask.c:2251,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:2251,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtask.c:2252,1
    - Dst: g_value_init
      Src: /src/glib/gio/gtask.c:2258,1
    - Dst: g_new0
      Src: /src/glib/gio/gtask.c:2254,1
    - Dst: g_value_set_pointer
      Src: /src/glib/gio/gtask.c:2259,1
    - Dst: g_value_init
      Src: /src/glib/gio/gtask.c:2263,1
    - Dst: G_VALUE_TYPE
      Src: /src/glib/gio/gtask.c:2263,1
    - Dst: g_value_copy
      Src: /src/glib/gio/gtask.c:2264,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gtask.c:2267,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - task
    - result
    argTypes:
    - GTask*
    - GValue*
    constantsTouched: []
    func_position:
      end: 2268
      start: 2245
    functionDepth: 0
    functionLinenumber: 2245
    functionLinenumberEnd: 2268
    functionName: g_task_return_value
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_task_return_pointer
    - g_return_if_fail
    - G_VALUE_TYPE
    - g_value_init
    - G_IS_TASK
    - g_new0
    - g_value_copy
    - g_value_set_pointer
    linkageType: ''
    returnType: void
    signature: 'void g_task_return_value (GTask *task, GValue *result) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtask.c:1004,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:1004,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtask.c:1005,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - task
    - check_cancellable
    argTypes:
    - GTask*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1008
      start: 1000
    functionDepth: 0
    functionLinenumber: 1000
    functionLinenumberEnd: 1008
    functionName: g_task_set_check_cancellable
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - G_IS_TASK
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_task_set_check_cancellable (GTask *task, gboolean check_cancellable) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtask.c:1057,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gtask.c:1066,1
    - Dst: G_TASK_IS_THREADED
      Src: /src/glib/gio/gtask.c:1060,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtask.c:1058,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:1057,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gtask.c:1071,1
    - Dst: g_task_thread_complete
      Src: /src/glib/gio/gtask.c:1072,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gtask.c:1075,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gtask.c:1079,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - task
    - return_on_cancel
    argTypes:
    - GTask*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1082
      start: 1053
    functionDepth: 0
    functionLinenumber: 1053
    functionLinenumberEnd: 1082
    functionName: g_task_set_return_on_cancel
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_mutex_unlock
    - g_mutex_lock
    - G_TASK_IS_THREADED
    - G_IS_TASK
    - g_task_thread_complete
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_task_set_return_on_cancel (GTask *task, gboolean return_on_cancel) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtask.c:1311,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:1311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - task
    argTypes:
    - GTask*
    constantsTouched: []
    func_position:
      end: 1315
      start: 1308
    functionDepth: 0
    functionLinenumber: 1308
    functionLinenumberEnd: 1315
    functionName: g_task_get_return_on_cancel
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_TASK
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_task_get_return_on_cancel (GTask *task) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtask.c:1347,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:1347,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1344
    functionDepth: 0
    functionLinenumber: 1344
    functionLinenumberEnd: 1350
    functionName: g_task_get_name
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_TASK
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_task_get_name (GTask *task) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/glib/gio/gtask.c:1355,1
    - Dst: GIO_TASK_BEFORE_RETURN
      Src: /src/glib/gio/gtask.c:1355,1
    - Dst: g_main_context_push_thread_default
      Src: /src/glib/gio/gtask.c:1358,1
    - Dst: G_ASYNC_RESULT
      Src: /src/glib/gio/gtask.c:1363,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gtask.c:1368,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtask.c:1368,1
    - Dst: g_main_context_pop_thread_default
      Src: /src/glib/gio/gtask.c:1370,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - task
    argTypes:
    - GTask*
    constantsTouched: []
    func_position:
      end: 1371
      start: 1352
    functionDepth: 0
    functionLinenumber: 1352
    functionLinenumberEnd: 1371
    functionName: g_task_return_now
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_main_context_pop_thread_default
    - g_main_context_push_thread_default
    - TRACE
    - G_ASYNC_RESULT
    - g_object_notify
    - G_OBJECT
    - GIO_TASK_BEFORE_RETURN
    linkageType: ''
    returnType: void
    signature: 'static void g_task_return_now (GTask *task) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtask.c:1798,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gtask.c:1800,1
    - Dst: g_source_set_priority
      Src: /src/glib/gio/gtask.c:1802,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:1798,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gtask.c:1801,1
    - Dst: g_source_get_name
      Src: /src/glib/gio/gtask.c:1803,1
    - Dst: g_source_set_name
      Src: /src/glib/gio/gtask.c:1804,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gtask.c:1806,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - task
    - source
    - callback
    argTypes:
    - GTask*
    - GSource*
    - GSourceFunc
    constantsTouched: []
    func_position:
      end: 1807
      start: 1793
    functionDepth: 0
    functionLinenumber: 1793
    functionLinenumberEnd: 1807
    functionName: g_task_attach_source
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_source_set_priority
    - g_source_set_callback
    - g_return_if_fail
    - g_source_attach
    - G_IS_TASK
    - g_source_set_name
    - g_object_ref
    - g_source_get_name
    linkageType: ''
    returnType: void
    signature: 'void g_task_attach_source (GTask *task, GSource *source, GSourceFunc
      callback) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtask.c:1867,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtask.c:1868,1
    - Dst: g_task_return
      Src: /src/glib/gio/gtask.c:1873,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:1867,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - task
    - result
    - result_destroy
    argTypes:
    - GTask*
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 1874
      start: 1862
    functionDepth: 0
    functionLinenumber: 1862
    functionLinenumberEnd: 1874
    functionName: g_task_return_pointer
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_task_return
    - G_IS_TASK
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_task_return_pointer (GTask *task, gpointer result, GDestroyNotify
      result_destroy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtask.c:1898,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:1898,1
    - Dst: g_task_propagate_error
      Src: /src/glib/gio/gtask.c:1900,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtask.c:1903,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - task
    - error
    argTypes:
    - GTask*
    - GError**
    constantsTouched: []
    func_position:
      end: 1908
      start: 1894
    functionDepth: 0
    functionLinenumber: 1894
    functionLinenumberEnd: 1908
    functionName: g_task_propagate_pointer
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_task_propagate_error
    - G_IS_TASK
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_task_propagate_pointer (GTask *task, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_return_now
      Src: /src/glib/gio/gtask.c:1376,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gtask.c:1377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - task
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1379
      start: 1373
    functionDepth: 0
    functionLinenumber: 1373
    functionLinenumberEnd: 1379
    functionName: complete_in_idle_cb
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_task_return_now
    - g_object_unref
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean complete_in_idle_cb (gpointer task) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtask.c:2210,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/gtask.c:2215,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:2210,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - task
    argTypes:
    - GTask*
    constantsTouched: []
    func_position:
      end: 2219
      start: 2207
    functionDepth: 0
    functionLinenumber: 2207
    functionLinenumberEnd: 2219
    functionName: g_task_had_error
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_cancellable_is_cancelled
    - g_return_val_if_fail
    - G_IS_TASK
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_task_had_error (GTask *task) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_unset
      Src: /src/glib/gio/gtask.c:2224,1
    - Dst: g_free
      Src: /src/glib/gio/gtask.c:2225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 2226
      start: 2221
    functionDepth: 0
    functionLinenumber: 2221
    functionLinenumberEnd: 2226
    functionName: value_free
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_free
    - g_value_unset
    linkageType: ''
    returnType: void
    signature: 'static void value_free (gpointer value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gtask.c:2446,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gtask.c:2479,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gtask.c:2482,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gtask.c:2478,1
    - Dst: g_trace_define_int64_counter
      Src: /src/glib/gio/gtask.c:2488,1
    - Dst: g_trace_define_int64_counter
      Src: /src/glib/gio/gtask.c:2489,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GTaskClass*
    constantsTouched: []
    func_position:
      end: 2491
      start: 2443
    functionDepth: 0
    functionLinenumber: 2443
    functionLinenumberEnd: 2491
    functionName: g_task_class_init
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_param_spec_boolean
    - g_object_class_install_property
    - G_OBJECT_CLASS
    - g_trace_define_int64_counter
    - G_UNLIKELY
    linkageType: ''
    returnType: void
    signature: 'static void g_task_class_init (GTaskClass *klass) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtask.c:1165,1
    - Dst: g_free
      Src: /src/glib/gio/gtask.c:1168,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:1165,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - task
    - name
    argTypes:
    - GTask*
    - char*
    constantsTouched: []
    func_position:
      end: 1171
      start: 1161
    functionDepth: 0
    functionLinenumber: 1161
    functionLinenumberEnd: 1171
    functionName: g_task_set_static_name
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_free
    - G_IS_TASK
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_task_set_static_name (GTask *task, const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtask.c:1293,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:1293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - task
    argTypes:
    - GTask*
    constantsTouched: []
    func_position:
      end: 1297
      start: 1290
    functionDepth: 0
    functionLinenumber: 1290
    functionLinenumberEnd: 1297
    functionName: g_task_get_check_cancellable
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_TASK
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_task_get_check_cancellable (GTask *task) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gtask.c:1330,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:1330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - task
    argTypes:
    - GTask*
    constantsTouched: []
    func_position:
      end: 1333
      start: 1327
    functionDepth: 0
    functionLinenumber: 1327
    functionLinenumberEnd: 1333
    functionName: g_task_get_source_tag
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_TASK
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_task_get_source_tag (GTask *task) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtask.c:1750,1
    - Dst: g_task_start_task_thread
      Src: /src/glib/gio/gtask.c:1755,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/gtask.c:1758,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gtask.c:1752,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:1750,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gtask.c:1760,1
    - Dst: TRACE
      Src: /src/glib/gio/gtask.c:1762,1
    - Dst: GIO_TASK_BEFORE_RETURN
      Src: /src/glib/gio/gtask.c:1762,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gtask.c:1768,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gtask.c:1768,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gtask.c:1770,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - task
    - task_func
    argTypes:
    - GTask*
    - GTaskThreadFunc
    constantsTouched: []
    func_position:
      end: 1771
      start: 1746
    functionDepth: 0
    functionLinenumber: 1746
    functionLinenumberEnd: 1771
    functionName: g_task_run_in_thread_sync
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_mutex_unlock
    - g_return_if_fail
    - TRACE
    - g_object_notify
    - G_OBJECT
    - G_IS_TASK
    - GIO_TASK_BEFORE_RETURN
    - g_object_ref
    - g_task_start_task_thread
    - g_cond_wait
    linkageType: ''
    returnType: void
    signature: 'void g_task_run_in_thread_sync (GTask *task, GTaskThreadFunc task_func) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_cancellable_set_error_if_cancelled
      Src: /src/glib/gio/gtask.c:1817,1
    - Dst: GIO_TASK_PROPAGATE
      Src: /src/glib/gio/gtask.c:1829,1
    - Dst: TRACE
      Src: /src/glib/gio/gtask.c:1829,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/gtask.c:1821,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - task
    - error
    argTypes:
    - GTask*
    - GError**
    constantsTouched: []
    func_position:
      end: 1832
      start: 1810
    functionDepth: 0
    functionLinenumber: 1810
    functionLinenumberEnd: 1832
    functionName: g_task_propagate_error
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_cancellable_set_error_if_cancelled
    - GIO_TASK_PROPAGATE
    - TRACE
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_task_propagate_error (GTask *task, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtask.c:2044,1
    - Dst: g_task_return
      Src: /src/glib/gio/gtask.c:2050,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtask.c:2046,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gtask.c:2045,1
    - Dst: G_IS_TASK
      Src: /src/glib/gio/gtask.c:2044,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - task
    - error
    argTypes:
    - GTask*
    - GError*
    constantsTouched: []
    func_position:
      end: 2051
      start: 2040
    functionDepth: 0
    functionLinenumber: 2040
    functionLinenumberEnd: 2051
    functionName: g_task_return_error
    functionSourceFile: /src/glib/gio/gtask.c
    functionUses: []
    functionsReached:
    - g_task_return
    - G_IS_TASK
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_task_return_error (GTask *task, GError *error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_list_delete_link
      Src: /src/glib/gio/gioscheduler.c:51,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gioscheduler.c:50,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gioscheduler.c:52,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gioscheduler.c:55,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/gioscheduler.c:56,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gioscheduler.c:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - job
    argTypes:
    - GIOSchedulerJob*
    constantsTouched: []
    func_position:
      end: 58
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 58
    functionName: g_io_job_free
    functionSourceFile: /src/glib/gio/gioscheduler.c
    functionUses: []
    functionsReached:
    - g_list_delete_link
    - g_main_context_unref
    - g_object_unref
    - G_UNLOCK
    - g_slice_free
    - G_LOCK
    linkageType: ''
    returnType: void
    signature: 'static void g_io_job_free (GIOSchedulerJob *job) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_LOCK
      Src: /src/glib/gio/gioscheduler.c:156,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/gioscheduler.c:170,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gioscheduler.c:165,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gioscheduler.c:162,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gioscheduler.c:163,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gioscheduler.c:171,1
    - Dst: g_list_free
      Src: /src/glib/gio/gioscheduler.c:173,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 174
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 174
    functionName: g_io_scheduler_cancel_all_jobs
    functionSourceFile: /src/glib/gio/gioscheduler.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - G_UNLOCK
    - g_list_free
    - g_object_ref
    - g_list_prepend
    - g_cancellable_cancel
    - G_LOCK
    linkageType: ''
    returnType: void
    signature: 'void g_io_scheduler_cancel_all_jobs (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_clear
      Src: /src/glib/gio/gioscheduler.c:208,1
    - Dst: g_cond_clear
      Src: /src/glib/gio/gioscheduler.c:209,1
    - Dst: g_free
      Src: /src/glib/gio/gioscheduler.c:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - MainLoopProxy*
    constantsTouched: []
    func_position:
      end: 211
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 211
    functionName: mainloop_proxy_free
    functionSourceFile: /src/glib/gio/gioscheduler.c
    functionUses: []
    functionsReached:
    - g_mutex_clear
    - g_cond_clear
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void mainloop_proxy_free (MainLoopProxy *proxy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gioscheduler.c:296,1
    - Dst: g_cond_init
      Src: /src/glib/gio/gioscheduler.c:304,1
    - Dst: g_new0
      Src: /src/glib/gio/gioscheduler.c:299,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gioscheduler.c:297,1
    - Dst: g_mutex_init
      Src: /src/glib/gio/gioscheduler.c:303,1
    - Dst: g_idle_source_new
      Src: /src/glib/gio/gioscheduler.c:306,1
    - Dst: g_source_set_priority
      Src: /src/glib/gio/gioscheduler.c:307,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gioscheduler.c:308,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gioscheduler.c:310,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gioscheduler.c:312,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gioscheduler.c:313,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - job
    - func
    - user_data
    - notify
    argTypes:
    - GIOSchedulerJob*
    - GSourceFunc
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 314
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 314
    functionName: g_io_scheduler_job_send_to_mainloop_async
    functionSourceFile: /src/glib/gio/gioscheduler.c
    functionUses: []
    functionsReached:
    - g_mutex_init
    - g_source_set_priority
    - g_source_set_callback
    - g_idle_source_new
    - g_cond_init
    - g_return_if_fail
    - g_source_attach
    - g_source_unref
    - g_new0
    - g_source_set_static_name
    linkageType: ''
    returnType: void
    signature: "void g_io_scheduler_job_send_to_mainloop_async (GIOSchedulerJob *job,\t\
      \t\t\t\t GSourceFunc func,\t\t\t\t\t gpointer user_data,\t\t\t\t\t GDestroyNotify\
      \ notify) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_cancellable_push_current
      Src: /src/glib/gio/gioscheduler.c:70,1
    - Dst: g_cancellable_pop_current
      Src: /src/glib/gio/gioscheduler.c:79,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 4
    argNames:
    - task
    - source_object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 80
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 80
    functionName: io_job_thread
    functionSourceFile: /src/glib/gio/gioscheduler.c
    functionUses: []
    functionsReached:
    - g_cancellable_pop_current
    - g_cancellable_push_current
    linkageType: ''
    returnType: void
    signature: 'static void io_job_thread (GTask *task, gpointer source_object, gpointer
      task_data, GCancellable *cancellable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_cond_signal
      Src: /src/glib/gio/gioscheduler.c:199,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gioscheduler.c:197,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gioscheduler.c:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 203
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 203
    functionName: mainloop_proxy_func
    functionSourceFile: /src/glib/gio/gioscheduler.c
    functionUses: []
    functionsReached:
    - g_cond_signal
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean mainloop_proxy_func (gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gioscheduler.c:112,1
    - Dst: G_LOCK
      Src: /src/glib/gio/gioscheduler.c:124,1
    - Dst: g_slice_new0
      Src: /src/glib/gio/gioscheduler.c:114,1
    - Dst: g_main_context_ref_thread_default
      Src: /src/glib/gio/gioscheduler.c:122,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gioscheduler.c:120,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gioscheduler.c:125,1
    - Dst: G_UNLOCK
      Src: /src/glib/gio/gioscheduler.c:127,1
    - Dst: g_task_new
      Src: /src/glib/gio/gioscheduler.c:129,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 5
    argNames:
    - job_func
    - user_data
    - notify
    - io_priority
    - cancellable
    argTypes:
    - GIOSchedulerJobFunc
    - gpointer
    - GDestroyNotify
    - gint
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 137
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 137
    functionName: g_io_scheduler_push_job
    functionSourceFile: /src/glib/gio/gioscheduler.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_slice_new0
    - g_return_if_fail
    - G_UNLOCK
    - g_object_ref
    - g_list_prepend
    - G_LOCK
    - g_main_context_ref_thread_default
    linkageType: ''
    returnType: void
    signature: "void g_io_scheduler_push_job (GIOSchedulerJobFunc job_func,\t\t\t\
      \ gpointer user_data,\t\t\t GDestroyNotify notify,\t\t\t gint io_priority,\t\
      \t\t GCancellable *cancellable) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gioscheduler.c:238,1
    - Dst: g_new0
      Src: /src/glib/gio/gioscheduler.c:241,1
    - Dst: g_cond_init
      Src: /src/glib/gio/gioscheduler.c:246,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gioscheduler.c:239,1
    - Dst: g_mutex_init
      Src: /src/glib/gio/gioscheduler.c:245,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/gioscheduler.c:247,1
    - Dst: g_idle_source_new
      Src: /src/glib/gio/gioscheduler.c:249,1
    - Dst: g_source_set_priority
      Src: /src/glib/gio/gioscheduler.c:250,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/gioscheduler.c:251,1
    - Dst: g_source_set_static_name
      Src: /src/glib/gio/gioscheduler.c:253,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/gioscheduler.c:259,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/gioscheduler.c:260,1
    - Dst: g_source_unref
      Src: /src/glib/gio/gioscheduler.c:256,1
    - Dst: mainloop_proxy_free
      Src: /src/glib/gio/gioscheduler.c:263,1
    - Dst: g_source_attach
      Src: /src/glib/gio/gioscheduler.c:255,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 4
    argNames:
    - job
    - func
    - user_data
    - notify
    argTypes:
    - GIOSchedulerJob*
    - GSourceFunc
    - gpointer
    - GDestroyNotify
    constantsTouched: []
    func_position:
      end: 266
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 266
    functionName: g_io_scheduler_job_send_to_mainloop
    functionSourceFile: /src/glib/gio/gioscheduler.c
    functionUses: []
    functionsReached:
    - g_mutex_init
    - g_return_val_if_fail
    - g_source_set_priority
    - g_source_set_callback
    - g_mutex_unlock
    - g_mutex_lock
    - g_cond_init
    - g_idle_source_new
    - g_source_attach
    - g_source_unref
    - mainloop_proxy_free
    - g_new0
    - g_cond_wait
    - g_source_set_static_name
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_io_scheduler_job_send_to_mainloop (GIOSchedulerJob *job,\t\
      \t\t\t GSourceFunc func,\t\t\t\t gpointer user_data,\t\t\t\t GDestroyNotify\
      \ notify) "
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:94,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:109,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:96,1
    - Dst: tcsetattr
      Src: /src/glib/gio/gio-tool-mount.c:108,1
    - Dst: tcgetattr
      Src: /src/glib/gio/gio-tool-mount.c:102,1
    - Dst: fgets
      Src: /src/glib/gio/gio-tool-mount.c:114,1
    - Dst: feof
      Src: /src/glib/gio/gio-tool-mount.c:116,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:118,1
    - Dst: g_error
      Src: /src/glib/gio/gio-tool-mount.c:122,1
    - Dst: tcsetattr
      Src: /src/glib/gio/gio-tool-mount.c:129,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:143,1
    - Dst: g_strdup
      Src: /src/glib/gio/gio-tool-mount.c:146,1
    - Dst: g_strdup
      Src: /src/glib/gio/gio-tool-mount.c:147,1
    - Dst: strlen
      Src: /src/glib/gio/gio-tool-mount.c:133,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:136,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 148
    functionName: prompt_for
    functionSourceFile: /src/glib/gio/gio-tool-mount.c
    functionUses: []
    functionsReached:
    - fgets
    - g_strdup
    - tcgetattr
    - feof
    - strlen
    - g_print
    - g_error
    - tcsetattr
    linkageType: ''
    returnType: char*
    signature: 'static char *prompt_for (const char *prompt, const char *default_value,
      gboolean echo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE
      Src: /src/glib/gio/gio-tool-mount.c:393,1
    - Dst: G_MOUNT
      Src: /src/glib/gio/gio-tool-mount.c:397,1
    - Dst: G_MOUNT
      Src: /src/glib/gio/gio-tool-mount.c:395,1
    - Dst: g_mount_unmount_with_operation_finish
      Src: /src/glib/gio/gio-tool-mount.c:395,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-mount.c:397,1
    - Dst: print_file_error
      Src: /src/glib/gio/gio-tool-mount.c:401,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-mount.c:403,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-mount.c:406,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/gio-tool-mount.c:411,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 412
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 412
    functionName: unmount_done_cb
    functionSourceFile: /src/glib/gio/gio-tool-mount.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - print_file_error
    - G_MOUNT
    - g_mount_unmount_with_operation_finish
    - g_main_loop_quit
    - g_error_free
    - G_FILE
    linkageType: ''
    returnType: void
    signature: 'static void unmount_done_cb (GObject *object, GAsyncResult *res, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/gio-tool-mount.c:566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 568
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 568
    functionName: iterate_gmain_timeout_function
    functionSourceFile: /src/glib/gio/gio-tool-mount.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean iterate_gmain_timeout_function (gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iterate_gmain
      Src: /src/glib/gio/gio-tool-mount.c:965,1
    - Dst: G_MOUNT
      Src: /src/glib/gio/gio-tool-mount.c:969,1
    - Dst: g_mount_get_root
      Src: /src/glib/gio/gio-tool-mount.c:972,1
    - Dst: g_volume_monitor_get_mounts
      Src: /src/glib/gio/gio-tool-mount.c:967,1
    - Dst: g_file_has_uri_scheme
      Src: /src/glib/gio/gio-tool-mount.c:973,1
    - Dst: unmount
      Src: /src/glib/gio/gio-tool-mount.c:974,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-mount.c:976,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gio-tool-mount.c:978,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - scheme
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 979
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 979
    functionName: unmount_all_with_scheme
    functionSourceFile: /src/glib/gio/gio-tool-mount.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_list_free_full
    - g_file_has_uri_scheme
    - G_MOUNT
    - g_mount_get_root
    - g_volume_monitor_get_mounts
    - unmount
    - iterate_gmain
    linkageType: ''
    returnType: void
    signature: 'static void unmount_all_with_scheme (const char *scheme) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mount_get_name
      Src: /src/glib/gio/gio-tool-mount.c:1098,1
    - Dst: monitor_print_mount
      Src: /src/glib/gio/gio-tool-mount.c:1101,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mount.c:1100,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:1099,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - volume_monitor
    - mount
    argTypes:
    - GVolumeMonitor*
    - GMount*
    constantsTouched: []
    func_position:
      end: 1102
      start: 1094
    functionDepth: 0
    functionLinenumber: 1094
    functionLinenumberEnd: 1102
    functionName: monitor_mount_added
    functionSourceFile: /src/glib/gio/gio-tool-mount.c
    functionUses: []
    functionsReached:
    - monitor_print_mount
    - g_free
    - g_mount_get_name
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void monitor_mount_added (GVolumeMonitor *volume_monitor, GMount
      *mount) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_volume_get_name
      Src: /src/glib/gio/gio-tool-mount.c:1138,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mount.c:1140,1
    - Dst: monitor_print_volume
      Src: /src/glib/gio/gio-tool-mount.c:1141,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:1139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - volume_monitor
    - volume
    argTypes:
    - GVolumeMonitor*
    - GVolume*
    constantsTouched: []
    func_position:
      end: 1142
      start: 1134
    functionDepth: 0
    functionLinenumber: 1134
    functionLinenumberEnd: 1142
    functionName: monitor_volume_added
    functionSourceFile: /src/glib/gio/gio-tool-mount.c
    functionUses: []
    functionsReached:
    - monitor_print_volume
    - g_volume_get_name
    - g_free
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void monitor_volume_added (GVolumeMonitor *volume_monitor,
      GVolume *volume) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_volume_get_name
      Src: /src/glib/gio/gio-tool-mount.c:1158,1
    - Dst: monitor_print_volume
      Src: /src/glib/gio/gio-tool-mount.c:1161,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mount.c:1160,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:1159,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - volume_monitor
    - volume
    argTypes:
    - GVolumeMonitor*
    - GVolume*
    constantsTouched: []
    func_position:
      end: 1162
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1162
    functionName: monitor_volume_changed
    functionSourceFile: /src/glib/gio/gio-tool-mount.c
    functionUses: []
    functionsReached:
    - monitor_print_volume
    - g_volume_get_name
    - g_free
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void monitor_volume_changed (GVolumeMonitor *volume_monitor,
      GVolume *volume) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: prompt_for
      Src: /src/glib/gio/gio-tool-mount.c:186,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gio-tool-mount.c:206,1
    - Dst: g_object_set_data
      Src: /src/glib/gio/gio-tool-mount.c:213,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gio-tool-mount.c:213,1
    - Dst: g_mount_operation_set_anonymous
      Src: /src/glib/gio/gio-tool-mount.c:159,1
    - Dst: g_mount_operation_set_password
      Src: /src/glib/gio/gio-tool-mount.c:189,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mount.c:190,1
    - Dst: g_object_get_data
      Src: /src/glib/gio/gio-tool-mount.c:206,1
    - Dst: g_mount_operation_set_pim
      Src: /src/glib/gio/gio-tool-mount.c:197,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gio-tool-mount.c:208,1
    - Dst: g_mount_operation_reply
      Src: /src/glib/gio/gio-tool-mount.c:220,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mount.c:172,1
    - Dst: g_mount_operation_set_username
      Src: /src/glib/gio/gio-tool-mount.c:171,1
    - Dst: prompt_for
      Src: /src/glib/gio/gio-tool-mount.c:177,1
    - Dst: g_mount_operation_set_is_tcrypt_system_volume
      Src: /src/glib/gio/gio-tool-mount.c:201,1
    - Dst: g_mount_operation_reply
      Src: /src/glib/gio/gio-tool-mount.c:209,1
    - Dst: g_mount_operation_reply
      Src: /src/glib/gio/gio-tool-mount.c:214,1
    - Dst: prompt_for
      Src: /src/glib/gio/gio-tool-mount.c:168,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:164,1
    - Dst: g_mount_operation_set_domain
      Src: /src/glib/gio/gio-tool-mount.c:180,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mount.c:181,1
    - Dst: g_object_set_data
      Src: /src/glib/gio/gio-tool-mount.c:208,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gio-tool-mount.c:208,1
    - Dst: g_mount_operation_set_is_tcrypt_hidden_volume
      Src: /src/glib/gio/gio-tool-mount.c:199,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gio/gio-tool-mount.c:206,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gio-tool-mount.c:213,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 49
    argCount: 5
    argNames:
    - op
    - message
    - default_user
    - default_domain
    - flags
    argTypes:
    - GMountOperation*
    - char*
    - char*
    - char*
    - GAskPasswordFlags
    constantsTouched: []
    func_position:
      end: 221
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 221
    functionName: ask_password_cb
    functionSourceFile: /src/glib/gio/gio-tool-mount.c
    functionUses: []
    functionsReached:
    - prompt_for
    - GPOINTER_TO_INT
    - g_mount_operation_set_username
    - g_mount_operation_set_pim
    - g_mount_operation_set_is_tcrypt_system_volume
    - g_mount_operation_reply
    - g_mount_operation_set_password
    - g_mount_operation_set_anonymous
    - G_OBJECT
    - g_mount_operation_set_is_tcrypt_hidden_volume
    - g_mount_operation_set_domain
    - g_object_set_data
    - GINT_TO_POINTER
    - g_print
    - g_object_get_data
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void ask_password_cb (GMountOperation *op, const char *message,
      const char *default_user, const char *default_domain, GAskPasswordFlags flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_file_find_enclosing_mount
      Src: /src/glib/gio/gio-tool-mount.c:425,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-mount.c:430,1
    - Dst: new_mount_op
      Src: /src/glib/gio/gio-tool-mount.c:434,1
    - Dst: print_file_error
      Src: /src/glib/gio/gio-tool-mount.c:428,1
    - Dst: g_mount_unmount_with_operation
      Src: /src/glib/gio/gio-tool-mount.c:436,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gio-tool-mount.c:436,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-mount.c:437,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 440
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 440
    functionName: unmount
    functionSourceFile: /src/glib/gio/gio-tool-mount.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_mount_unmount_with_operation
    - print_file_error
    - g_error_free
    - g_object_ref
    - new_mount_op
    - g_file_find_enclosing_mount
    linkageType: ''
    returnType: void
    signature: 'static void unmount (GFile *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_timeout_add
      Src: /src/glib/gio/gio-tool-mount.c:573,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/gio-tool-mount.c:574,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 575
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 575
    functionName: iterate_gmain
    functionSourceFile: /src/glib/gio/gio-tool-mount.c
    functionUses: []
    functionsReached:
    - g_main_loop_run
    - g_timeout_add
    linkageType: ''
    returnType: void
    signature: 'static void iterate_gmain(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_VOLUME
      Src: /src/glib/gio/gio-tool-mount.c:991,1
    - Dst: g_volume_mount_finish
      Src: /src/glib/gio/gio-tool-mount.c:993,1
    - Dst: print_error
      Src: /src/glib/gio/gio-tool-mount.c:997,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-mount.c:998,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mount.c:1002,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/gio-tool-mount.c:1007,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1008
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 1008
    functionName: mount_with_device_file_cb
    functionSourceFile: /src/glib/gio/gio-tool-mount.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    - g_error_free
    - print_error
    - G_VOLUME
    - g_free
    - g_volume_mount_finish
    linkageType: ''
    returnType: void
    signature: 'static void mount_with_device_file_cb (GObject *object, GAsyncResult
      *res, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mount_get_name
      Src: /src/glib/gio/gio-tool-mount.c:1108,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:1109,1
    - Dst: monitor_print_mount
      Src: /src/glib/gio/gio-tool-mount.c:1111,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mount.c:1110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - volume_monitor
    - mount
    argTypes:
    - GVolumeMonitor*
    - GMount*
    constantsTouched: []
    func_position:
      end: 1112
      start: 1104
    functionDepth: 0
    functionLinenumber: 1104
    functionLinenumberEnd: 1112
    functionName: monitor_mount_removed
    functionSourceFile: /src/glib/gio/gio-tool-mount.c
    functionUses: []
    functionsReached:
    - monitor_print_mount
    - g_free
    - g_mount_get_name
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void monitor_mount_removed (GVolumeMonitor *volume_monitor,
      GMount *mount) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_volume_get_name
      Src: /src/glib/gio/gio-tool-mount.c:1148,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mount.c:1150,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:1149,1
    - Dst: monitor_print_volume
      Src: /src/glib/gio/gio-tool-mount.c:1151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - volume_monitor
    - volume
    argTypes:
    - GVolumeMonitor*
    - GVolume*
    constantsTouched: []
    func_position:
      end: 1152
      start: 1144
    functionDepth: 0
    functionLinenumber: 1144
    functionLinenumberEnd: 1152
    functionName: monitor_volume_removed
    functionSourceFile: /src/glib/gio/gio-tool-mount.c
    functionUses: []
    functionsReached:
    - monitor_print_volume
    - g_volume_get_name
    - g_free
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void monitor_volume_removed (GVolumeMonitor *volume_monitor,
      GVolume *volume) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_drive_get_name
      Src: /src/glib/gio/gio-tool-mount.c:1168,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:1169,1
    - Dst: monitor_print_drive
      Src: /src/glib/gio/gio-tool-mount.c:1171,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mount.c:1170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - volume_monitor
    - drive
    argTypes:
    - GVolumeMonitor*
    - GDrive*
    constantsTouched: []
    func_position:
      end: 1172
      start: 1164
    functionDepth: 0
    functionLinenumber: 1164
    functionLinenumberEnd: 1172
    functionName: monitor_drive_connected
    functionSourceFile: /src/glib/gio/gio-tool-mount.c
    functionUses: []
    functionsReached:
    - g_free
    - monitor_print_drive
    - g_print
    - g_drive_get_name
    linkageType: ''
    returnType: void
    signature: 'static void monitor_drive_connected (GVolumeMonitor *volume_monitor,
      GDrive *drive) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/glib/gio/gio-tool-mount.c:1235,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/gio-tool-mount.c:1257,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-mount.c:1252,1
    - Dst: g_volume_monitor_get
      Src: /src/glib/gio/gio-tool-mount.c:1258,1
    - Dst: unmount_all_with_scheme
      Src: /src/glib/gio/gio-tool-mount.c:1267,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/gio-tool-mount.c:1274,1
    - Dst: unmount
      Src: /src/glib/gio/gio-tool-mount.c:1276,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-mount.c:1286,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-mount.c:1286,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-mount.c:1288,1
    - Dst: g_set_prgname
      Src: /src/glib/gio/gio-tool-mount.c:1232,1
    - Dst: g_option_context_set_help_enabled
      Src: /src/glib/gio/gio-tool-mount.c:1238,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-mount.c:1239,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-mount.c:1251,1
    - Dst: list_monitor_items
      Src: /src/glib/gio/gio-tool-mount.c:1261,1
    - Dst: mount
      Src: /src/glib/gio/gio-tool-mount.c:1280,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-mount.c:1287,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-mount.c:1292,1
    - Dst: g_option_context_new
      Src: /src/glib/gio/gio-tool-mount.c:1236,1
    - Dst: g_option_context_set_summary
      Src: /src/glib/gio/gio-tool-mount.c:1239,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/gio/gio-tool-mount.c:1240,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/gio-tool-mount.c:1249,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-mount.c:1245,1
    - Dst: stop_with_device_file
      Src: /src/glib/gio/gio-tool-mount.c:1265,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/gio-tool-mount.c:1295,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-mount.c:1297,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mount.c:1237,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gio-tool-mount.c:1235,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-mount.c:1244,1
    - Dst: mount_with_id
      Src: /src/glib/gio/gio-tool-mount.c:1263,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-mount.c:1253,1
    - Dst: monitor
      Src: /src/glib/gio/gio-tool-mount.c:1269,1
    - Dst: eject
      Src: /src/glib/gio/gio-tool-mount.c:1278,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-mount.c:1281,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 52
    argCount: 3
    argNames:
    - argc
    - argv
    - do_help
    argTypes:
    - int
    - char*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1300
      start: 1223
    functionDepth: 0
    functionLinenumber: 1223
    functionLinenumberEnd: 1300
    functionName: handle_mount
    functionSourceFile: /src/glib/gio/gio-tool-mount.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_option_context_free
    - mount_with_id
    - eject
    - show_help
    - unmount_all_with_scheme
    - stop_with_device_file
    - g_file_new_for_commandline_arg
    - g_volume_monitor_get
    - g_object_unref
    - g_free
    - g_error_free
    - g_option_context_parse
    - g_main_loop_run
    - g_option_context_new
    - g_set_prgname
    - g_main_loop_new
    - g_option_context_set_help_enabled
    - _
    - g_option_context_add_main_entries
    - g_option_context_set_summary
    - unmount
    - mount
    - list_monitor_items
    - monitor
    linkageType: ''
    returnType: int
    signature: 'int handle_mount (int argc, char *argv[], gboolean do_help) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mount_operation_new
      Src: /src/glib/gio/gio-tool-mount.c:352,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gio-tool-mount.c:354,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gio-tool-mount.c:354,1
    - Dst: g_object_set_data
      Src: /src/glib/gio/gio-tool-mount.c:354,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gio-tool-mount.c:356,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gio-tool-mount.c:356,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gio-tool-mount.c:357,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gio-tool-mount.c:357,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gio-tool-mount.c:358,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gio-tool-mount.c:358,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 365
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 365
    functionName: new_mount_op
    functionSourceFile: /src/glib/gio/gio-tool-mount.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_mount_operation_new
    - G_CALLBACK
    - g_object_set_data
    - GINT_TO_POINTER
    - g_signal_connect
    linkageType: ''
    returnType: GMountOperation*
    signature: 'static GMountOperation *new_mount_op (void) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_drive_get_name
      Src: /src/glib/gio/gio-tool-mount.c:862,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:879,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gio-tool-mount.c:888,1
    - Dst: g_drive_get_start_stop_type
      Src: /src/glib/gio/gio-tool-mount.c:920,1
    - Dst: g_drive_can_eject
      Src: /src/glib/gio/gio-tool-mount.c:912,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:921,1
    - Dst: g_drive_get_sort_key
      Src: /src/glib/gio/gio-tool-mount.c:926,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gio-tool-mount.c:932,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:910,1
    - Dst: g_drive_is_media_check_automatic
      Src: /src/glib/gio/gio-tool-mount.c:910,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:908,1
    - Dst: g_enum_get_value
      Src: /src/glib/gio/gio-tool-mount.c:920,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mount.c:865,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mount.c:869,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:884,1
    - Dst: G_IS_THEMED_ICON
      Src: /src/glib/gio/gio-tool-mount.c:901,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-mount.c:895,1
    - Dst: G_IS_THEMED_ICON
      Src: /src/glib/gio/gio-tool-mount.c:893,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:913,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:914,1
    - Dst: g_drive_can_stop
      Src: /src/glib/gio/gio-tool-mount.c:914,1
    - Dst: list_volumes
      Src: /src/glib/gio/gio-tool-mount.c:931,1
    - Dst: g_drive_has_media
      Src: /src/glib/gio/gio-tool-mount.c:909,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:909,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:912,1
    - Dst: g_drive_enumerate_identifiers
      Src: /src/glib/gio/gio-tool-mount.c:876,1
    - Dst: g_drive_get_identifier
      Src: /src/glib/gio/gio-tool-mount.c:882,1
    - Dst: G_THEMED_ICON
      Src: /src/glib/gio/gio-tool-mount.c:894,1
    - Dst: g_drive_get_icon
      Src: /src/glib/gio/gio-tool-mount.c:890,1
    - Dst: G_THEMED_ICON
      Src: /src/glib/gio/gio-tool-mount.c:902,1
    - Dst: g_type_class_ref
      Src: /src/glib/gio/gio-tool-mount.c:917,1
    - Dst: g_type_class_unref
      Src: /src/glib/gio/gio-tool-mount.c:923,1
    - Dst: g_drive_get_volumes
      Src: /src/glib/gio/gio-tool-mount.c:930,1
    - Dst: g_drive_can_start
      Src: /src/glib/gio/gio-tool-mount.c:913,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:911,1
    - Dst: g_drive_can_poll_for_media
      Src: /src/glib/gio/gio-tool-mount.c:911,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:868,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:864,1
    - Dst: get_type_name
      Src: /src/glib/gio/gio-tool-mount.c:867,1
    - Dst: g_drive_get_symbolic_icon
      Src: /src/glib/gio/gio-tool-mount.c:898,1
    - Dst: show_themed_icon_names
      Src: /src/glib/gio/gio-tool-mount.c:894,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mount.c:885,1
    - Dst: show_themed_icon_names
      Src: /src/glib/gio/gio-tool-mount.c:902,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-mount.c:904,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:907,1
    - Dst: g_drive_is_removable
      Src: /src/glib/gio/gio-tool-mount.c:907,1
    - Dst: g_drive_is_media_removable
      Src: /src/glib/gio/gio-tool-mount.c:908,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:928,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 94
    argCount: 2
    argNames:
    - drives
    - indent
    argTypes:
    - GList*
    - int
    constantsTouched: []
    func_position:
      end: 934
      start: 846
    functionDepth: 0
    functionLinenumber: 846
    functionLinenumberEnd: 934
    functionName: list_drives
    functionSourceFile: /src/glib/gio/gio-tool-mount.c
    functionUses: []
    functionsReached:
    - get_type_name
    - g_list_free_full
    - g_drive_enumerate_identifiers
    - G_IS_THEMED_ICON
    - G_THEMED_ICON
    - g_drive_can_poll_for_media
    - g_drive_get_volumes
    - g_drive_can_eject
    - g_object_unref
    - g_drive_get_start_stop_type
    - g_drive_is_media_removable
    - g_drive_has_media
    - g_strfreev
    - g_drive_is_media_check_automatic
    - g_print
    - g_drive_get_symbolic_icon
    - g_drive_can_stop
    - g_type_class_unref
    - g_drive_is_removable
    - g_drive_get_icon
    - g_enum_get_value
    - list_volumes
    - g_drive_get_sort_key
    - g_drive_get_identifier
    - g_type_class_ref
    - g_drive_can_start
    - g_drive_get_name
    - show_themed_icon_names
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void list_drives (GList *drives, int indent) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_volume_monitor_get_volumes
      Src: /src/glib/gio/gio-tool-mount.c:1016,1
    - Dst: g_volume_get_identifier
      Src: /src/glib/gio/gio-tool-mount.c:1024,1
    - Dst: g_volume_get_identifier
      Src: /src/glib/gio/gio-tool-mount.c:1023,1
    - Dst: G_VOLUME
      Src: /src/glib/gio/gio-tool-mount.c:1019,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gio-tool-mount.c:1025,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gio-tool-mount.c:1025,1
    - Dst: new_mount_op
      Src: /src/glib/gio/gio-tool-mount.c:1029,1
    - Dst: g_volume_mount
      Src: /src/glib/gio/gio-tool-mount.c:1031,1
    - Dst: g_strdup
      Src: /src/glib/gio/gio-tool-mount.c:1036,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-mount.c:1038,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mount.c:1044,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-mount.c:1050,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mount.c:1043,1
    - Dst: print_error
      Src: /src/glib/gio/gio-tool-mount.c:1050,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gio-tool-mount.c:1046,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1053
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1053
    functionName: mount_with_id
    functionSourceFile: /src/glib/gio/gio-tool-mount.c
    functionUses: []
    functionsReached:
    - _
    - g_strdup
    - g_object_unref
    - g_list_free_full
    - g_volume_monitor_get_volumes
    - g_volume_get_identifier
    - g_strcmp0
    - G_VOLUME
    - print_error
    - new_mount_op
    - g_volume_mount
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void mount_with_id (const char *id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_drive_get_name
      Src: /src/glib/gio/gio-tool-mount.c:1198,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mount.c:1200,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:1199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - volume_monitor
    - drive
    argTypes:
    - GVolumeMonitor*
    - GDrive*
    constantsTouched: []
    func_position:
      end: 1201
      start: 1194
    functionDepth: 0
    functionLinenumber: 1194
    functionLinenumberEnd: 1201
    functionName: monitor_drive_eject_button
    functionSourceFile: /src/glib/gio/gio-tool-mount.c
    functionUses: []
    functionsReached:
    - g_free
    - g_print
    - g_drive_get_name
    linkageType: ''
    returnType: void
    signature: 'static void monitor_drive_eject_button (GVolumeMonitor *volume_monitor,
      GDrive *drive) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: new_mount_op
      Src: /src/glib/gio/gio-tool-mount.c:376,1
    - Dst: g_file_mount_enclosing_volume
      Src: /src/glib/gio/gio-tool-mount.c:381,1
    - Dst: g_file_mount_mountable
      Src: /src/glib/gio/gio-tool-mount.c:379,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 384
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 384
    functionName: mount
    functionSourceFile: /src/glib/gio/gio-tool-mount.c
    functionUses: []
    functionsReached:
    - new_mount_op
    - g_file_mount_enclosing_volume
    - g_file_mount_mountable
    linkageType: ''
    returnType: void
    signature: 'static void mount (GFile *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterate_gmain
      Src: /src/glib/gio/gio-tool-mount.c:943,1
    - Dst: g_volume_monitor_get_connected_drives
      Src: /src/glib/gio/gio-tool-mount.c:945,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gio-tool-mount.c:947,1
    - Dst: g_volume_monitor_get_volumes
      Src: /src/glib/gio/gio-tool-mount.c:949,1
    - Dst: list_drives
      Src: /src/glib/gio/gio-tool-mount.c:946,1
    - Dst: list_volumes
      Src: /src/glib/gio/gio-tool-mount.c:950,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gio-tool-mount.c:951,1
    - Dst: g_volume_monitor_get_mounts
      Src: /src/glib/gio/gio-tool-mount.c:953,1
    - Dst: list_mounts
      Src: /src/glib/gio/gio-tool-mount.c:954,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gio-tool-mount.c:955,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 956
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 956
    functionName: list_monitor_items
    functionSourceFile: /src/glib/gio/gio-tool-mount.c
    functionUses: []
    functionsReached:
    - g_volume_monitor_get_connected_drives
    - g_list_free_full
    - g_volume_monitor_get_volumes
    - list_drives
    - g_volume_monitor_get_mounts
    - list_volumes
    - iterate_gmain
    - list_mounts
    linkageType: ''
    returnType: void
    signature: 'static void list_monitor_items (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_list_prepend
      Src: /src/glib/gio/gio-tool-mount.c:1061,1
    - Dst: list_mounts
      Src: /src/glib/gio/gio-tool-mount.c:1062,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:1064,1
    - Dst: g_list_free
      Src: /src/glib/gio/gio-tool-mount.c:1063,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - mount
    argTypes:
    - GMount*
    constantsTouched: []
    func_position:
      end: 1066
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1066
    functionName: monitor_print_mount
    functionSourceFile: /src/glib/gio/gio-tool-mount.c
    functionUses: []
    functionsReached:
    - g_list_free
    - g_print
    - list_mounts
    - g_list_prepend
    linkageType: ''
    returnType: void
    signature: 'static void monitor_print_mount (GMount *mount) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_connect
      Src: /src/glib/gio/gio-tool-mount.c:1206,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gio-tool-mount.c:1207,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gio-tool-mount.c:1209,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gio-tool-mount.c:1210,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gio-tool-mount.c:1208,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gio-tool-mount.c:1211,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gio-tool-mount.c:1212,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gio-tool-mount.c:1213,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gio-tool-mount.c:1214,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gio-tool-mount.c:1215,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:1218,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gio-tool-mount.c:1216,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/gio-tool-mount.c:1220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1221
      start: 1203
    functionDepth: 0
    functionLinenumber: 1203
    functionLinenumberEnd: 1221
    functionName: monitor
    functionSourceFile: /src/glib/gio/gio-tool-mount.c
    functionUses: []
    functionsReached:
    - g_main_loop_run
    - g_signal_connect
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void monitor (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:233,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:238,1
    - Dst: g_mount_operation_set_choice
      Src: /src/glib/gio/gio-tool-mount.c:249,1
    - Dst: atoi
      Src: /src/glib/gio/gio-tool-mount.c:246,1
    - Dst: prompt_for
      Src: /src/glib/gio/gio-tool-mount.c:242,1
    - Dst: g_mount_operation_reply
      Src: /src/glib/gio/gio-tool-mount.c:250,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mount.c:252,1
    - Dst: g_mount_operation_reply
      Src: /src/glib/gio/gio-tool-mount.c:257,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 19
    argCount: 4
    argNames:
    - op
    - message
    - choices
    - user_data
    argTypes:
    - GMountOperation*
    - char*
    - char**
    - gpointer
    constantsTouched: []
    func_position:
      end: 258
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 258
    functionName: ask_question_cb
    functionSourceFile: /src/glib/gio/gio-tool-mount.c
    functionUses: []
    functionsReached:
    - prompt_for
    - g_mount_operation_reply
    - g_mount_operation_set_choice
    - g_free
    - g_print
    - atoi
    linkageType: ''
    returnType: void
    signature: 'static void ask_question_cb (GMountOperation *op, char *message, char
      **choices, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_drive_stop_finish
      Src: /src/glib/gio/gio-tool-mount.c:506,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mount.c:513,1
    - Dst: G_DRIVE
      Src: /src/glib/gio/gio-tool-mount.c:506,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-mount.c:509,1
    - Dst: print_error
      Src: /src/glib/gio/gio-tool-mount.c:508,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/gio-tool-mount.c:518,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 519
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 519
    functionName: stop_with_device_file_cb
    functionSourceFile: /src/glib/gio/gio-tool-mount.c
    functionUses: []
    functionsReached:
    - G_DRIVE
    - g_drive_stop_finish
    - g_main_loop_quit
    - g_error_free
    - print_error
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void stop_with_device_file_cb (GObject *object, GAsyncResult
      *res, gpointer user_data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gio-tool-mount.c:606,1
    - Dst: g_object_get_data
      Src: /src/glib/gio/gio-tool-mount.c:615,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gio-tool-mount.c:622,1
    - Dst: strcmp
      Src: /src/glib/gio/gio-tool-mount.c:618,1
    - Dst: g_object_get_data
      Src: /src/glib/gio/gio-tool-mount.c:629,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gio/gio-tool-mount.c:603,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gio-tool-mount.c:613,1
    - Dst: g_strdup
      Src: /src/glib/gio/gio-tool-mount.c:634,1
    - Dst: g_object_get_data
      Src: /src/glib/gio/gio-tool-mount.c:622,1
    - Dst: strcmp
      Src: /src/glib/gio/gio-tool-mount.c:625,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gio-tool-mount.c:627,1
    - Dst: strcmp
      Src: /src/glib/gio/gio-tool-mount.c:604,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gio-tool-mount.c:608,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gio-tool-mount.c:620,1
    - Dst: g_type_name
      Src: /src/glib/gio/gio-tool-mount.c:603,1
    - Dst: g_object_get_data
      Src: /src/glib/gio/gio-tool-mount.c:608,1
    - Dst: strcmp
      Src: /src/glib/gio/gio-tool-mount.c:611,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gio-tool-mount.c:615,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gio-tool-mount.c:629,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 638
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 638
    functionName: get_type_name
    functionSourceFile: /src/glib/gio/gio-tool-mount.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_strdup
    - G_TYPE_FROM_INSTANCE
    - strcmp
    - G_OBJECT
    - g_object_get_data
    - g_type_name
    linkageType: ''
    returnType: char*
    signature: 'static char *get_type_name (gpointer object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_list_prepend
      Src: /src/glib/gio/gio-tool-mount.c:1074,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:1077,1
    - Dst: g_list_free
      Src: /src/glib/gio/gio-tool-mount.c:1076,1
    - Dst: list_volumes
      Src: /src/glib/gio/gio-tool-mount.c:1075,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - volume
    argTypes:
    - GVolume*
    constantsTouched: []
    func_position:
      end: 1079
      start: 1068
    functionDepth: 0
    functionLinenumber: 1068
    functionLinenumberEnd: 1079
    functionName: monitor_print_volume
    functionSourceFile: /src/glib/gio/gio-tool-mount.c
    functionUses: []
    functionsReached:
    - g_list_free
    - list_volumes
    - g_print
    - g_list_prepend
    linkageType: ''
    returnType: void
    signature: 'static void monitor_print_volume (GVolume *volume) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mount_get_name
      Src: /src/glib/gio/gio-tool-mount.c:1118,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:1119,1
    - Dst: monitor_print_mount
      Src: /src/glib/gio/gio-tool-mount.c:1121,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mount.c:1120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - volume_monitor
    - mount
    argTypes:
    - GVolumeMonitor*
    - GMount*
    constantsTouched: []
    func_position:
      end: 1122
      start: 1114
    functionDepth: 0
    functionLinenumber: 1114
    functionLinenumberEnd: 1122
    functionName: monitor_mount_changed
    functionSourceFile: /src/glib/gio/gio-tool-mount.c
    functionUses: []
    functionsReached:
    - monitor_print_mount
    - g_free
    - g_mount_get_name
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void monitor_mount_changed (GVolumeMonitor *volume_monitor,
      GMount *mount) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_drive_get_name
      Src: /src/glib/gio/gio-tool-mount.c:1178,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:1179,1
    - Dst: monitor_print_drive
      Src: /src/glib/gio/gio-tool-mount.c:1181,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mount.c:1180,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - volume_monitor
    - drive
    argTypes:
    - GVolumeMonitor*
    - GDrive*
    constantsTouched: []
    func_position:
      end: 1182
      start: 1174
    functionDepth: 0
    functionLinenumber: 1174
    functionLinenumberEnd: 1182
    functionName: monitor_drive_disconnected
    functionSourceFile: /src/glib/gio/gio-tool-mount.c
    functionUses: []
    functionsReached:
    - g_free
    - monitor_print_drive
    - g_print
    - g_drive_get_name
    linkageType: ''
    returnType: void
    signature: 'static void monitor_drive_disconnected (GVolumeMonitor *volume_monitor,
      GDrive *drive) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_file_mount_mountable_finish
      Src: /src/glib/gio/gio-tool-mount.c:269,1
    - Dst: g_object_get_data
      Src: /src/glib/gio/gio-tool-mount.c:274,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gio/gio-tool-mount.c:274,1
    - Dst: G_FILE
      Src: /src/glib/gio/gio-tool-mount.c:269,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gio-tool-mount.c:274,1
    - Dst: print_file_error
      Src: /src/glib/gio/gio-tool-mount.c:275,1
    - Dst: G_FILE
      Src: /src/glib/gio/gio-tool-mount.c:275,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-mount.c:275,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gio-tool-mount.c:276,1
    - Dst: print_file_error
      Src: /src/glib/gio/gio-tool-mount.c:277,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-mount.c:279,1
    - Dst: G_FILE
      Src: /src/glib/gio/gio-tool-mount.c:277,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-mount.c:284,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-mount.c:282,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/gio-tool-mount.c:289,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 290
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 290
    functionName: mount_mountable_done_cb
    functionSourceFile: /src/glib/gio/gio-tool-mount.c
    functionUses: []
    functionsReached:
    - g_file_mount_mountable_finish
    - GPOINTER_TO_INT
    - g_object_unref
    - print_file_error
    - G_OBJECT
    - g_error_matches
    - g_main_loop_quit
    - g_error_free
    - G_FILE
    - _
    - g_object_get_data
    linkageType: ''
    returnType: void
    signature: 'static void mount_mountable_done_cb (GObject *object, GAsyncResult
      *res, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_volume_monitor_get_connected_drives
      Src: /src/glib/gio/gio-tool-mount.c:527,1
    - Dst: g_drive_get_identifier
      Src: /src/glib/gio/gio-tool-mount.c:533,1
    - Dst: new_mount_op
      Src: /src/glib/gio/gio-tool-mount.c:539,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gio-tool-mount.c:534,1
    - Dst: G_DRIVE
      Src: /src/glib/gio/gio-tool-mount.c:530,1
    - Dst: g_drive_stop
      Src: /src/glib/gio/gio-tool-mount.c:541,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gio-tool-mount.c:546,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-mount.c:547,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mount.c:552,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gio-tool-mount.c:554,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-mount.c:558,1
    - Dst: print_error
      Src: /src/glib/gio/gio-tool-mount.c:558,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 1
    argNames:
    - device_file
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 561
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 561
    functionName: stop_with_device_file
    functionSourceFile: /src/glib/gio/gio-tool-mount.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_volume_monitor_get_connected_drives
    - G_DRIVE
    - g_object_unref
    - g_list_free_full
    - g_strcmp0
    - print_error
    - _
    - new_mount_op
    - g_free
    - g_drive_stop
    - g_drive_get_identifier
    linkageType: ''
    returnType: void
    signature: 'static void stop_with_device_file (const char *device_file) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_list_prepend
      Src: /src/glib/gio/gio-tool-mount.c:1087,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:1090,1
    - Dst: g_list_free
      Src: /src/glib/gio/gio-tool-mount.c:1089,1
    - Dst: list_drives
      Src: /src/glib/gio/gio-tool-mount.c:1088,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - drive
    argTypes:
    - GDrive*
    constantsTouched: []
    func_position:
      end: 1092
      start: 1081
    functionDepth: 0
    functionLinenumber: 1081
    functionLinenumberEnd: 1092
    functionName: monitor_print_drive
    functionSourceFile: /src/glib/gio/gio-tool-mount.c
    functionUses: []
    functionsReached:
    - g_list_free
    - list_drives
    - g_print
    - g_list_prepend
    linkageType: ''
    returnType: void
    signature: 'static void monitor_print_drive (GDrive *drive) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mount_get_name
      Src: /src/glib/gio/gio-tool-mount.c:1128,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mount.c:1130,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:1129,1
    - Dst: monitor_print_mount
      Src: /src/glib/gio/gio-tool-mount.c:1131,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - volume_monitor
    - mount
    argTypes:
    - GVolumeMonitor*
    - GMount*
    constantsTouched: []
    func_position:
      end: 1132
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1132
    functionName: monitor_mount_pre_unmount
    functionSourceFile: /src/glib/gio/gio-tool-mount.c
    functionUses: []
    functionsReached:
    - monitor_print_mount
    - g_free
    - g_mount_get_name
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void monitor_mount_pre_unmount (GVolumeMonitor *volume_monitor,
      GMount *mount) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_drive_get_name
      Src: /src/glib/gio/gio-tool-mount.c:1188,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mount.c:1190,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:1189,1
    - Dst: monitor_print_drive
      Src: /src/glib/gio/gio-tool-mount.c:1191,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - volume_monitor
    - drive
    argTypes:
    - GVolumeMonitor*
    - GDrive*
    constantsTouched: []
    func_position:
      end: 1192
      start: 1184
    functionDepth: 0
    functionLinenumber: 1184
    functionLinenumberEnd: 1192
    functionName: monitor_drive_changed
    functionSourceFile: /src/glib/gio/gio-tool-mount.c
    functionUses: []
    functionsReached:
    - g_free
    - monitor_print_drive
    - g_print
    - g_drive_get_name
    linkageType: ''
    returnType: void
    signature: 'static void monitor_drive_changed (GVolumeMonitor *volume_monitor,
      GDrive *drive) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:583,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:590,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gio-tool-mount.c:593,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:592,1
    - Dst: g_object_get
      Src: /src/glib/gio/gio-tool-mount.c:587,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - icon
    - symbolic
    - indent
    argTypes:
    - GThemedIcon*
    - gboolean
    - int
    constantsTouched: []
    func_position:
      end: 594
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 594
    functionName: show_themed_icon_names
    functionSourceFile: /src/glib/gio/gio-tool-mount.c
    functionUses: []
    functionsReached:
    - g_strfreev
    - g_object_get
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void show_themed_icon_names (GThemedIcon *icon, gboolean symbolic,
      int indent) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_file_mount_enclosing_volume_finish
      Src: /src/glib/gio/gio-tool-mount.c:301,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gio-tool-mount.c:306,1
    - Dst: g_object_get_data
      Src: /src/glib/gio/gio-tool-mount.c:306,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gio/gio-tool-mount.c:306,1
    - Dst: G_FILE
      Src: /src/glib/gio/gio-tool-mount.c:301,1
    - Dst: print_file_error
      Src: /src/glib/gio/gio-tool-mount.c:307,1
    - Dst: G_FILE
      Src: /src/glib/gio/gio-tool-mount.c:307,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-mount.c:307,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gio-tool-mount.c:308,1
    - Dst: print_file_error
      Src: /src/glib/gio/gio-tool-mount.c:309,1
    - Dst: G_FILE
      Src: /src/glib/gio/gio-tool-mount.c:309,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-mount.c:311,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-mount.c:314,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/gio-tool-mount.c:319,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 320
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 320
    functionName: mount_done_cb
    functionSourceFile: /src/glib/gio/gio-tool-mount.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - g_object_unref
    - print_file_error
    - G_OBJECT
    - g_file_mount_enclosing_volume_finish
    - g_error_matches
    - g_main_loop_quit
    - g_error_free
    - G_FILE
    - _
    - g_object_get_data
    linkageType: ''
    returnType: void
    signature: 'static void mount_done_cb (GObject *object, GAsyncResult *res, gpointer
      user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE
      Src: /src/glib/gio/gio-tool-mount.c:449,1
    - Dst: g_mount_eject_with_operation_finish
      Src: /src/glib/gio/gio-tool-mount.c:451,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-mount.c:453,1
    - Dst: G_MOUNT
      Src: /src/glib/gio/gio-tool-mount.c:453,1
    - Dst: G_MOUNT
      Src: /src/glib/gio/gio-tool-mount.c:451,1
    - Dst: print_file_error
      Src: /src/glib/gio/gio-tool-mount.c:457,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-mount.c:459,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-mount.c:462,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/gio-tool-mount.c:467,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 468
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 468
    functionName: eject_done_cb
    functionSourceFile: /src/glib/gio/gio-tool-mount.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - print_file_error
    - G_MOUNT
    - g_main_loop_quit
    - g_error_free
    - G_FILE
    - g_mount_eject_with_operation_finish
    linkageType: ''
    returnType: void
    signature: 'static void eject_done_cb (GObject *object, GAsyncResult *res, gpointer
      user_data) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_mount_get_volume
      Src: /src/glib/gio/gio-tool-mount.c:662,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:674,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:690,1
    - Dst: g_file_get_uri
      Src: /src/glib/gio/gio-tool-mount.c:689,1
    - Dst: g_mount_get_icon
      Src: /src/glib/gio/gio-tool-mount.c:695,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:720,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-mount.c:733,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:725,1
    - Dst: g_mount_can_eject
      Src: /src/glib/gio/gio-tool-mount.c:725,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:717,1
    - Dst: g_mount_get_name
      Src: /src/glib/gio/gio-tool-mount.c:670,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:677,1
    - Dst: g_mount_get_uuid
      Src: /src/glib/gio/gio-tool-mount.c:682,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-mount.c:692,1
    - Dst: G_IS_THEMED_ICON
      Src: /src/glib/gio/gio-tool-mount.c:698,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-mount.c:701,1
    - Dst: G_IS_THEMED_ICON
      Src: /src/glib/gio/gio-tool-mount.c:707,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-mount.c:710,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gio-tool-mount.c:722,1
    - Dst: g_mount_get_sort_key
      Src: /src/glib/gio/gio-tool-mount.c:727,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mount.c:735,1
    - Dst: g_mount_get_root
      Src: /src/glib/gio/gio-tool-mount.c:671,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-mount.c:665,1
    - Dst: g_file_get_uri
      Src: /src/glib/gio/gio-tool-mount.c:672,1
    - Dst: g_mount_get_default_location
      Src: /src/glib/gio/gio-tool-mount.c:686,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mount.c:691,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:684,1
    - Dst: G_THEMED_ICON
      Src: /src/glib/gio/gio-tool-mount.c:699,1
    - Dst: G_THEMED_ICON
      Src: /src/glib/gio/gio-tool-mount.c:708,1
    - Dst: g_mount_guess_content_type_sync
      Src: /src/glib/gio/gio-tool-mount.c:713,1
    - Dst: g_strv_length
      Src: /src/glib/gio/gio-tool-mount.c:714,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:724,1
    - Dst: g_mount_is_shadowed
      Src: /src/glib/gio/gio-tool-mount.c:726,1
    - Dst: g_mount_can_unmount
      Src: /src/glib/gio/gio-tool-mount.c:724,1
    - Dst: get_type_name
      Src: /src/glib/gio/gio-tool-mount.c:676,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mount.c:678,1
    - Dst: show_themed_icon_names
      Src: /src/glib/gio/gio-tool-mount.c:699,1
    - Dst: g_mount_get_symbolic_icon
      Src: /src/glib/gio/gio-tool-mount.c:704,1
    - Dst: show_themed_icon_names
      Src: /src/glib/gio/gio-tool-mount.c:708,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:719,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:729,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mount.c:730,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mount.c:734,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:726,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 86
    argCount: 3
    argNames:
    - mounts
    - indent
    - only_with_no_volume
    argTypes:
    - GList*
    - int
    - gboolean
    constantsTouched: []
    func_position:
      end: 737
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 737
    functionName: list_mounts
    functionSourceFile: /src/glib/gio/gio-tool-mount.c
    functionUses: []
    functionsReached:
    - g_mount_get_symbolic_icon
    - get_type_name
    - g_mount_get_default_location
    - G_IS_THEMED_ICON
    - G_THEMED_ICON
    - g_mount_get_uuid
    - g_mount_guess_content_type_sync
    - g_object_unref
    - g_strfreev
    - g_print
    - g_mount_can_unmount
    - g_mount_get_icon
    - g_strv_length
    - g_mount_get_root
    - g_mount_is_shadowed
    - g_mount_get_sort_key
    - g_mount_can_eject
    - g_mount_get_name
    - g_file_get_uri
    - g_mount_get_volume
    - show_themed_icon_names
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void list_mounts (GList *mounts, int indent, gboolean only_with_no_volume) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strsplit
      Src: /src/glib/gio/gio-tool-mount.c:335,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:341,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mount.c:343,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gio-tool-mount.c:344,1
    - Dst: g_strjoinv
      Src: /src/glib/gio/gio-tool-mount.c:336,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 5
    argNames:
    - self
    - message
    - time_left
    - bytes_left
    - user_data
    argTypes:
    - GMountOperation*
    - gchar*
    - gint64
    - gint64
    - gpointer
    constantsTouched: []
    func_position:
      end: 345
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 345
    functionName: show_unmount_progress
    functionSourceFile: /src/glib/gio/gio-tool-mount.c
    functionUses: []
    functionsReached:
    - g_strfreev
    - g_strjoinv
    - g_print
    - g_strsplit
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void show_unmount_progress (GMountOperation *self, const gchar
      *message, gint64 time_left, gint64 bytes_left, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_file_find_enclosing_mount
      Src: /src/glib/gio/gio-tool-mount.c:481,1
    - Dst: new_mount_op
      Src: /src/glib/gio/gio-tool-mount.c:490,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-mount.c:486,1
    - Dst: g_mount_eject_with_operation
      Src: /src/glib/gio/gio-tool-mount.c:492,1
    - Dst: print_file_error
      Src: /src/glib/gio/gio-tool-mount.c:484,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gio-tool-mount.c:492,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-mount.c:493,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 496
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 496
    functionName: eject
    functionSourceFile: /src/glib/gio/gio-tool-mount.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - print_file_error
    - g_mount_eject_with_operation
    - g_error_free
    - g_object_ref
    - new_mount_op
    - g_file_find_enclosing_mount
    linkageType: ''
    returnType: void
    signature: 'static void eject (GFile *file) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-mount.c:766,1
    - Dst: g_volume_get_uuid
      Src: /src/glib/gio/gio-tool-mount.c:796,1
    - Dst: g_volume_get_identifier
      Src: /src/glib/gio/gio-tool-mount.c:788,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-mount.c:806,1
    - Dst: G_IS_THEMED_ICON
      Src: /src/glib/gio/gio-tool-mount.c:811,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-mount.c:814,1
    - Dst: G_IS_THEMED_ICON
      Src: /src/glib/gio/gio-tool-mount.c:820,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-mount.c:823,1
    - Dst: g_volume_get_mount
      Src: /src/glib/gio/gio-tool-mount.c:835,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-mount.c:841,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gio-tool-mount.c:838,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:773,1
    - Dst: get_type_name
      Src: /src/glib/gio/gio-tool-mount.c:776,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:777,1
    - Dst: g_volume_enumerate_identifiers
      Src: /src/glib/gio/gio-tool-mount.c:782,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mount.c:791,1
    - Dst: g_file_get_uri
      Src: /src/glib/gio/gio-tool-mount.c:803,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mount.c:805,1
    - Dst: G_THEMED_ICON
      Src: /src/glib/gio/gio-tool-mount.c:812,1
    - Dst: G_THEMED_ICON
      Src: /src/glib/gio/gio-tool-mount.c:821,1
    - Dst: g_volume_get_sort_key
      Src: /src/glib/gio/gio-tool-mount.c:829,1
    - Dst: g_volume_get_drive
      Src: /src/glib/gio/gio-tool-mount.c:763,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:785,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gio-tool-mount.c:794,1
    - Dst: show_themed_icon_names
      Src: /src/glib/gio/gio-tool-mount.c:812,1
    - Dst: g_volume_get_symbolic_icon
      Src: /src/glib/gio/gio-tool-mount.c:817,1
    - Dst: show_themed_icon_names
      Src: /src/glib/gio/gio-tool-mount.c:821,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:826,1
    - Dst: g_volume_can_mount
      Src: /src/glib/gio/gio-tool-mount.c:826,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:827,1
    - Dst: g_volume_can_eject
      Src: /src/glib/gio/gio-tool-mount.c:827,1
    - Dst: g_volume_should_automount
      Src: /src/glib/gio/gio-tool-mount.c:828,1
    - Dst: g_list_free
      Src: /src/glib/gio/gio-tool-mount.c:840,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mount.c:774,1
    - Dst: g_volume_get_name
      Src: /src/glib/gio/gio-tool-mount.c:771,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mount.c:778,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:790,1
    - Dst: g_volume_get_activation_root
      Src: /src/glib/gio/gio-tool-mount.c:799,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:798,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:804,1
    - Dst: g_volume_get_icon
      Src: /src/glib/gio/gio-tool-mount.c:808,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:831,1
    - Dst: list_mounts
      Src: /src/glib/gio/gio-tool-mount.c:839,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mount.c:832,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mount.c:828,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 91
    argCount: 3
    argNames:
    - volumes
    - indent
    - only_with_no_drive
    argTypes:
    - GList*
    - int
    - gboolean
    constantsTouched: []
    func_position:
      end: 844
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 844
    functionName: list_volumes
    functionSourceFile: /src/glib/gio/gio-tool-mount.c
    functionUses: []
    functionsReached:
    - get_type_name
    - G_IS_THEMED_ICON
    - G_THEMED_ICON
    - g_list_prepend
    - g_volume_get_symbolic_icon
    - g_volume_get_activation_root
    - g_object_unref
    - g_volume_get_drive
    - g_volume_get_mount
    - g_volume_get_identifier
    - g_strfreev
    - g_volume_get_name
    - g_list_free
    - g_print
    - list_mounts
    - g_volume_can_mount
    - g_volume_can_eject
    - g_volume_get_icon
    - g_volume_enumerate_identifiers
    - g_volume_should_automount
    - g_volume_get_sort_key
    - g_file_get_uri
    - show_themed_icon_names
    - g_volume_get_uuid
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void list_volumes (GList *volumes, int indent, gboolean only_with_no_drive) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_interface_install_property
      Src: /src/glib/gio/gdtlsserverconnection.c:55,1
    - Dst: g_param_spec_enum
      Src: /src/glib/gio/gdtlsserverconnection.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GDtlsServerConnectionInterface*
    constantsTouched: []
    func_position:
      end: 61
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 61
    functionName: g_dtls_server_connection_default_init
    functionSourceFile: /src/glib/gio/gdtlsserverconnection.c
    functionUses: []
    functionsReached:
    - g_object_interface_install_property
    - g_param_spec_enum
    linkageType: ''
    returnType: void
    signature: 'static void g_dtls_server_connection_default_init (GDtlsServerConnectionInterface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_tls_backend_get_default
      Src: /src/glib/gio/gdtlsserverconnection.c:84,1
    - Dst: g_tls_backend_get_dtls_server_connection_type
      Src: /src/glib/gio/gdtlsserverconnection.c:85,1
    - Dst: G_DATAGRAM_BASED
      Src: /src/glib/gio/gdtlsserverconnection.c:90,1
    - Dst: g_initable_new
      Src: /src/glib/gio/gdtlsserverconnection.c:85,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: g_dtls_server_connection_new
    functionSourceFile: /src/glib/gio/gdtlsserverconnection.c
    functionUses: []
    functionsReached:
    - G_DATAGRAM_BASED
    - g_initable_new
    - g_tls_backend_get_default
    - g_tls_backend_get_dtls_server_connection_type
    linkageType: ''
    returnType: GDatagramBased*
    signature: 'GDatagramBased *g_dtls_server_connection_new (GDatagramBased *base_socket,
      GTlsCertificate *certificate, GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: G_SIMPLE_ACTION_GROUP
      Src: /src/glib/gio/gsimpleactiongroup.c:84,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gsimpleactiongroup.c:87,1
    - Dst: g_action_get_state_type
      Src: /src/glib/gio/gsimpleactiongroup.c:99,1
    - Dst: g_action_get_enabled
      Src: /src/glib/gio/gsimpleactiongroup.c:93,1
    - Dst: g_action_get_parameter_type
      Src: /src/glib/gio/gsimpleactiongroup.c:96,1
    - Dst: g_action_get_state_hint
      Src: /src/glib/gio/gsimpleactiongroup.c:102,1
    - Dst: g_action_get_state
      Src: /src/glib/gio/gsimpleactiongroup.c:105,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 15
    argCount: 7
    argNames:
    - group
    - action_name
    - enabled
    - parameter_type
    - state_type
    - state_hint
    - state
    argTypes:
    - GActionGroup*
    - gchar*
    - gboolean*
    - GVariantType**
    - GVariantType**
    - GVariant**
    - GVariant**
    constantsTouched: []
    func_position:
      end: 108
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 108
    functionName: g_simple_action_group_query_action
    functionSourceFile: /src/glib/gio/gsimpleactiongroup.c
    functionUses: []
    functionsReached:
    - G_SIMPLE_ACTION_GROUP
    - g_hash_table_lookup
    - g_action_get_state
    - g_action_get_state_type
    - g_action_get_state_hint
    - g_action_get_enabled
    - g_action_get_parameter_type
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_simple_action_group_query_action (GActionGroup *group,
      const gchar *action_name, gboolean *enabled, const GVariantType **parameter_type,
      const GVariantType **state_type, GVariant **state_hint, GVariant **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_SIMPLE_ACTION_GROUP
      Src: /src/glib/gio/gsimpleactiongroup.c:131,1
    - Dst: g_action_activate
      Src: /src/glib/gio/gsimpleactiongroup.c:139,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gsimpleactiongroup.c:134,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - group
    - action_name
    - parameter
    argTypes:
    - GActionGroup*
    - gchar*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 140
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 140
    functionName: g_simple_action_group_activate
    functionSourceFile: /src/glib/gio/gsimpleactiongroup.c
    functionUses: []
    functionsReached:
    - G_SIMPLE_ACTION_GROUP
    - g_hash_table_lookup
    - g_action_activate
    linkageType: ''
    returnType: void
    signature: 'static void g_simple_action_group_activate (GActionGroup *group, const
      gchar *action_name, GVariant *parameter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_SIMPLE_ACTION_GROUP
      Src: /src/glib/gio/gsimpleactiongroup.c:232,1
    - Dst: g_simple_action_group_disconnect
      Src: /src/glib/gio/gsimpleactiongroup.c:240,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/gsimpleactiongroup.c:239,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gsimpleactiongroup.c:235,1
    - Dst: g_action_group_action_removed
      Src: /src/glib/gio/gsimpleactiongroup.c:239,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gsimpleactiongroup.c:241,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - action_map
    - action_name
    argTypes:
    - GActionMap*
    - gchar*
    constantsTouched: []
    func_position:
      end: 243
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 243
    functionName: g_simple_action_group_remove_action
    functionSourceFile: /src/glib/gio/gsimpleactiongroup.c
    functionUses: []
    functionsReached:
    - g_action_group_action_removed
    - G_ACTION_GROUP
    - g_hash_table_remove
    - G_SIMPLE_ACTION_GROUP
    - g_hash_table_lookup
    - g_simple_action_group_disconnect
    linkageType: ''
    returnType: void
    signature: 'static void g_simple_action_group_remove_action (GActionMap *action_map,
      const gchar *action_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_SIMPLE_ACTION_GROUP
      Src: /src/glib/gio/gsimpleactiongroup.c:115,1
    - Dst: g_action_change_state
      Src: /src/glib/gio/gsimpleactiongroup.c:123,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gsimpleactiongroup.c:118,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - group
    - action_name
    - value
    argTypes:
    - GActionGroup*
    - gchar*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 124
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 124
    functionName: g_simple_action_group_change_state
    functionSourceFile: /src/glib/gio/gsimpleactiongroup.c
    functionUses: []
    functionsReached:
    - G_SIMPLE_ACTION_GROUP
    - g_hash_table_lookup
    - g_action_change_state
    linkageType: ''
    returnType: void
    signature: 'static void g_simple_action_group_change_state (GActionGroup *group,
      const gchar *action_name, GVariant *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_action_group_action_enabled_changed
      Src: /src/glib/gio/gsimpleactiongroup.c:147,1
    - Dst: g_action_get_enabled
      Src: /src/glib/gio/gsimpleactiongroup.c:149,1
    - Dst: g_action_get_name
      Src: /src/glib/gio/gsimpleactiongroup.c:148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - action
    - pspec
    - user_data
    argTypes:
    - GAction*
    - GParamSpec*
    - gpointer
    constantsTouched: []
    func_position:
      end: 150
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 150
    functionName: action_enabled_notify
    functionSourceFile: /src/glib/gio/gsimpleactiongroup.c
    functionUses: []
    functionsReached:
    - g_action_get_enabled
    - g_action_group_action_enabled_changed
    - g_action_get_name
    linkageType: ''
    returnType: void
    signature: 'static void action_enabled_notify (GAction *action, GParamSpec *pspec,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SIMPLE_ACTION_GROUP
      Src: /src/glib/gio/gsimpleactiongroup.c:248,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gsimpleactiongroup.c:253,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsimpleactiongroup.c:255,1
    - Dst: g_hash_table_foreach
      Src: /src/glib/gio/gsimpleactiongroup.c:250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 257
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 257
    functionName: g_simple_action_group_finalize
    functionSourceFile: /src/glib/gio/gsimpleactiongroup.c
    functionUses: []
    functionsReached:
    - G_SIMPLE_ACTION_GROUP
    - G_OBJECT_CLASS
    - g_hash_table_foreach
    - g_hash_table_unref
    linkageType: ''
    returnType: void
    signature: 'static void g_simple_action_group_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_action_map_add_action_entries
      Src: /src/glib/gio/gsimpleactiongroup.c:400,1
    - Dst: G_ACTION_MAP
      Src: /src/glib/gio/gsimpleactiongroup.c:400,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 4
    argNames:
    - simple
    - entries
    - n_entries
    - user_data
    argTypes:
    - GSimpleActionGroup*
    - GActionEntry*
    - gint
    - gpointer
    constantsTouched: []
    func_position:
      end: 401
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 401
    functionName: g_simple_action_group_add_entries
    functionSourceFile: /src/glib/gio/gsimpleactiongroup.c
    functionUses: []
    functionsReached:
    - G_ACTION_MAP
    - g_action_map_add_action_entries
    linkageType: ''
    returnType: void
    signature: 'void g_simple_action_group_add_entries (GSimpleActionGroup *simple,
      const GActionEntry *entries, gint n_entries, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SIMPLE_ACTION_GROUP
      Src: /src/glib/gio/gsimpleactiongroup.c:57,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gsimpleactiongroup.c:67,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gsimpleactiongroup.c:66,1
    - Dst: g_hash_table_size
      Src: /src/glib/gio/gsimpleactiongroup.c:63,1
    - Dst: g_new
      Src: /src/glib/gio/gsimpleactiongroup.c:64,1
    - Dst: g_strdup
      Src: /src/glib/gio/gsimpleactiongroup.c:68,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/gsimpleactiongroup.c:69,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 73
    functionName: g_simple_action_group_list_actions
    functionSourceFile: /src/glib/gio/gsimpleactiongroup.c
    functionUses: []
    functionsReached:
    - g_hash_table_iter_init
    - g_strdup
    - g_new
    - G_SIMPLE_ACTION_GROUP
    - g_hash_table_size
    - g_hash_table_iter_next
    - g_assert_cmpint
    linkageType: ''
    returnType: gchar**
    signature: 'static gchar **g_simple_action_group_list_actions (GActionGroup *group) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_action_get_state
      Src: /src/glib/gio/gsimpleactiongroup.c:159,1
    - Dst: g_action_get_name
      Src: /src/glib/gio/gsimpleactiongroup.c:161,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gsimpleactiongroup.c:163,1
    - Dst: g_action_group_action_state_changed
      Src: /src/glib/gio/gsimpleactiongroup.c:160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - action
    - pspec
    - user_data
    argTypes:
    - GAction*
    - GParamSpec*
    - gpointer
    constantsTouched: []
    func_position:
      end: 164
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 164
    functionName: action_state_notify
    functionSourceFile: /src/glib/gio/gsimpleactiongroup.c
    functionUses: []
    functionsReached:
    - g_variant_unref
    - g_action_group_action_state_changed
    - g_action_get_name
    - g_action_get_state
    linkageType: ''
    returnType: void
    signature: 'static void action_state_notify (GAction *action, GParamSpec *pspec,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleactiongroup.c:373,1
    - Dst: g_action_map_remove_action
      Src: /src/glib/gio/gsimpleactiongroup.c:375,1
    - Dst: G_ACTION_MAP
      Src: /src/glib/gio/gsimpleactiongroup.c:375,1
    - Dst: G_IS_SIMPLE_ACTION_GROUP
      Src: /src/glib/gio/gsimpleactiongroup.c:373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - simple
    - action_name
    argTypes:
    - GSimpleActionGroup*
    - gchar*
    constantsTouched: []
    func_position:
      end: 376
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 376
    functionName: g_simple_action_group_remove
    functionSourceFile: /src/glib/gio/gsimpleactiongroup.c
    functionUses: []
    functionsReached:
    - G_ACTION_MAP
    - g_action_map_remove_action
    - G_IS_SIMPLE_ACTION_GROUP
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_simple_action_group_remove (GSimpleActionGroup *simple, const
      gchar *action_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gsimpleactiongroup.c:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 305
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 305
    functionName: g_simple_action_group_new
    functionSourceFile: /src/glib/gio/gsimpleactiongroup.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: GSimpleActionGroup*
    signature: 'GSimpleActionGroup *g_simple_action_group_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_handlers_disconnect_by_func
      Src: /src/glib/gio/gsimpleactiongroup.c:171,1
    - Dst: g_signal_handlers_disconnect_by_func
      Src: /src/glib/gio/gsimpleactiongroup.c:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - key
    - value
    - user_data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 175
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 175
    functionName: g_simple_action_group_disconnect
    functionSourceFile: /src/glib/gio/gsimpleactiongroup.c
    functionUses: []
    functionsReached:
    - g_signal_handlers_disconnect_by_func
    linkageType: ''
    returnType: void
    signature: 'static void g_simple_action_group_disconnect (gpointer key, gpointer
      value, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gsimpleactiongroup.c:351,1
    - Dst: G_ACTION_MAP
      Src: /src/glib/gio/gsimpleactiongroup.c:353,1
    - Dst: g_action_map_add_action
      Src: /src/glib/gio/gsimpleactiongroup.c:353,1
    - Dst: G_IS_SIMPLE_ACTION_GROUP
      Src: /src/glib/gio/gsimpleactiongroup.c:351,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - simple
    - action
    argTypes:
    - GSimpleActionGroup*
    - GAction*
    constantsTouched: []
    func_position:
      end: 354
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 354
    functionName: g_simple_action_group_insert
    functionSourceFile: /src/glib/gio/gsimpleactiongroup.c
    functionUses: []
    functionsReached:
    - G_ACTION_MAP
    - g_action_map_add_action
    - G_IS_SIMPLE_ACTION_GROUP
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_simple_action_group_insert (GSimpleActionGroup *simple, GAction
      *action) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SIMPLE_ACTION_GROUP
      Src: /src/glib/gio/gsimpleactiongroup.c:181,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gsimpleactiongroup.c:183,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 184
    functionName: g_simple_action_group_lookup_action
    functionSourceFile: /src/glib/gio/gsimpleactiongroup.c
    functionUses: []
    functionsReached:
    - G_SIMPLE_ACTION_GROUP
    - g_hash_table_lookup
    linkageType: ''
    returnType: GAction*
    signature: 'static GAction *g_simple_action_group_lookup_action (GActionMap *action_map,
      const gchar *action_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_simple_action_group_get_instance_private
      Src: /src/glib/gio/gsimpleactiongroup.c:262,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gsimpleactiongroup.c:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - simple
    argTypes:
    - GSimpleActionGroup*
    constantsTouched: []
    func_position:
      end: 265
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 265
    functionName: g_simple_action_group_init
    functionSourceFile: /src/glib/gio/gsimpleactiongroup.c
    functionUses: []
    functionsReached:
    - g_hash_table_new_full
    - g_simple_action_group_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_simple_action_group_init (GSimpleActionGroup *simple) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GActionGroupInterface*
    constantsTouched: []
    func_position:
      end: 282
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 282
    functionName: g_simple_action_group_iface_init
    functionSourceFile: /src/glib/gio/gsimpleactiongroup.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_simple_action_group_iface_init (GActionGroupInterface
      *iface) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_SIMPLE_ACTION_GROUP
      Src: /src/glib/gio/gsimpleactiongroup.c:190,1
    - Dst: g_critical
      Src: /src/glib/gio/gsimpleactiongroup.c:197,1
    - Dst: g_action_group_action_removed
      Src: /src/glib/gio/gsimpleactiongroup.c:208,1
    - Dst: g_action_get_name
      Src: /src/glib/gio/gsimpleactiongroup.c:194,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gsimpleactiongroup.c:202,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/gsimpleactiongroup.c:208,1
    - Dst: g_simple_action_group_disconnect
      Src: /src/glib/gio/gsimpleactiongroup.c:210,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gsimpleactiongroup.c:213,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gsimpleactiongroup.c:214,1
    - Dst: g_action_get_state_type
      Src: /src/glib/gio/gsimpleactiongroup.c:216,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/gsimpleactiongroup.c:217,1
    - Dst: g_strdup
      Src: /src/glib/gio/gsimpleactiongroup.c:221,1
    - Dst: g_action_group_action_added
      Src: /src/glib/gio/gsimpleactiongroup.c:224,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gsimpleactiongroup.c:220,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gsimpleactiongroup.c:222,1
    - Dst: G_ACTION_GROUP
      Src: /src/glib/gio/gsimpleactiongroup.c:224,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/gsimpleactiongroup.c:218,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - action_map
    - action
    argTypes:
    - GActionMap*
    - GAction*
    constantsTouched: []
    func_position:
      end: 226
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 226
    functionName: g_simple_action_group_add_action
    functionSourceFile: /src/glib/gio/gsimpleactiongroup.c
    functionUses: []
    functionsReached:
    - g_action_group_action_removed
    - g_action_group_action_added
    - g_strdup
    - G_ACTION_GROUP
    - G_SIMPLE_ACTION_GROUP
    - g_hash_table_lookup
    - G_CALLBACK
    - g_action_get_state_type
    - g_simple_action_group_disconnect
    - g_hash_table_insert
    - g_critical
    - g_object_ref
    - g_action_get_name
    - g_signal_connect
    linkageType: ''
    returnType: void
    signature: 'static void g_simple_action_group_add_action (GActionMap *action_map,
      GAction *action) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gsimpleactiongroup.c:270,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - class
    argTypes:
    - GSimpleActionGroupClass*
    constantsTouched: []
    func_position:
      end: 273
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 273
    functionName: g_simple_action_group_class_init
    functionSourceFile: /src/glib/gio/gsimpleactiongroup.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_simple_action_group_class_init (GSimpleActionGroupClass
      *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GActionMapInterface*
    constantsTouched: []
    func_position:
      end: 290
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 290
    functionName: g_simple_action_group_map_iface_init
    functionSourceFile: /src/glib/gio/gsimpleactiongroup.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_simple_action_group_map_iface_init (GActionMapInterface
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gsimpleactiongroup.c:326,1
    - Dst: G_ACTION_MAP
      Src: /src/glib/gio/gsimpleactiongroup.c:328,1
    - Dst: g_action_map_lookup_action
      Src: /src/glib/gio/gsimpleactiongroup.c:328,1
    - Dst: G_IS_SIMPLE_ACTION_GROUP
      Src: /src/glib/gio/gsimpleactiongroup.c:326,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 329
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 329
    functionName: g_simple_action_group_lookup
    functionSourceFile: /src/glib/gio/gsimpleactiongroup.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_ACTION_MAP
    - g_action_map_lookup_action
    - G_IS_SIMPLE_ACTION_GROUP
    linkageType: ''
    returnType: GAction*
    signature: 'GAction *g_simple_action_group_lookup (GSimpleActionGroup *simple,
      const gchar *action_name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_DATA_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:111,1
    - Dst: g_value_get_enum
      Src: /src/glib/gio/gdatainputstream.c:120,1
    - Dst: g_value_get_enum
      Src: /src/glib/gio/gdatainputstream.c:116,1
    - Dst: g_data_input_stream_set_byte_order
      Src: /src/glib/gio/gdatainputstream.c:116,1
    - Dst: g_data_input_stream_set_newline_type
      Src: /src/glib/gio/gdatainputstream.c:120,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gdatainputstream.c:124,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 128
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 128
    functionName: g_data_input_stream_set_property
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_data_input_stream_set_newline_type
    - G_DATA_INPUT_STREAM
    - g_data_input_stream_set_byte_order
    - g_value_get_enum
    linkageType: ''
    returnType: void
    signature: "static void g_data_input_stream_set_property (GObject *object,\t\t\
      \t\t guint prop_id,\t\t\t\t const GValue *value,\t\t\t\t GParamSpec *pspec) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_data_input_stream_get_instance_private
      Src: /src/glib/gio/gdatainputstream.c:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GDataInputStream*
    constantsTouched: []
    func_position:
      end: 164
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 164
    functionName: g_data_input_stream_init
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - g_data_input_stream_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_data_input_stream_init (GDataInputStream *stream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdatainputstream.c:249,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdatainputstream.c:257,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gdatainputstream.c:257,1
    - Dst: G_IS_DATA_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:249,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - stream
    - type
    argTypes:
    - GDataInputStream*
    - GDataStreamNewlineType
    constantsTouched: []
    func_position:
      end: 259
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 259
    functionName: g_data_input_stream_set_newline_type
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - g_object_notify
    - G_OBJECT
    - G_IS_DATA_INPUT_STREAM
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_data_input_stream_set_newline_type (GDataInputStream *stream,\t\
      \t\t\t GDataStreamNewlineType type) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatainputstream.c:359,1
    - Dst: G_IS_DATA_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:359,1
    - Dst: GINT16_FROM_BE
      Src: /src/glib/gio/gdatainputstream.c:366,1
    - Dst: GINT16_FROM_LE
      Src: /src/glib/gio/gdatainputstream.c:369,1
    - Dst: read_data
      Src: /src/glib/gio/gdatainputstream.c:361,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GDataInputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 379
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 379
    functionName: g_data_input_stream_read_int16
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DATA_INPUT_STREAM
    - GINT16_FROM_LE
    - GINT16_FROM_BE
    - read_data
    linkageType: ''
    returnType: gint16
    signature: "gint16 g_data_input_stream_read_int16 (GDataInputStream *stream,\t\
      \t\t GCancellable *cancellable,\t\t\t GError **error) "
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:635,1
    - Dst: g_buffered_input_stream_peek_buffer
      Src: /src/glib/gio/gdatainputstream.c:643,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 62
    argCount: 4
    argNames:
    - stream
    - checked_out
    - last_saw_cr_out
    - newline_len_out
    argTypes:
    - GDataInputStream*
    - gsize*
    - gboolean*
    - int*
    constantsTouched: []
    func_position:
      end: 713
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 713
    functionName: scan_for_newline
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - g_buffered_input_stream_peek_buffer
    - G_BUFFERED_INPUT_STREAM
    linkageType: ''
    returnType: gssize
    signature: "static gssize scan_for_newline (GDataInputStream *stream,\t\t gsize\
      \ *checked_out,\t\t gboolean *last_saw_cr_out,\t\t int *newline_len_out) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_DATA_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:139,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gdatainputstream.c:153,1
    - Dst: g_value_set_enum
      Src: /src/glib/gio/gdatainputstream.c:145,1
    - Dst: g_value_set_enum
      Src: /src/glib/gio/gdatainputstream.c:149,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 157
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 157
    functionName: g_data_input_stream_get_property
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - g_value_set_enum
    - G_DATA_INPUT_STREAM
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    linkageType: ''
    returnType: void
    signature: 'static void g_data_input_stream_get_property (GObject *object, guint
      prop_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatainputstream.c:1235,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gdatainputstream.c:1235,1
    - Dst: g_data_input_stream_read_finish
      Src: /src/glib/gio/gdatainputstream.c:1237,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1229
    functionDepth: 0
    functionLinenumber: 1229
    functionLinenumberEnd: 1238
    functionName: g_data_input_stream_read_line_finish
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_task_is_valid
    - g_data_input_stream_read_finish
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_data_input_stream_read_line_finish (GDataInputStream *stream,
      GAsyncResult *result, gsize *length, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatainputstream.c:499,1
    - Dst: G_IS_DATA_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:499,1
    - Dst: GUINT32_FROM_LE
      Src: /src/glib/gio/gdatainputstream.c:509,1
    - Dst: GUINT32_FROM_BE
      Src: /src/glib/gio/gdatainputstream.c:506,1
    - Dst: read_data
      Src: /src/glib/gio/gdatainputstream.c:501,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GDataInputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 519
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 519
    functionName: g_data_input_stream_read_uint32
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DATA_INPUT_STREAM
    - GUINT32_FROM_BE
    - read_data
    - GUINT32_FROM_LE
    linkageType: ''
    returnType: guint32
    signature: "guint32 g_data_input_stream_read_uint32 (GDataInputStream *stream,\t\
      \t\t\t GCancellable *cancellable,\t\t\t\t GError **error) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_data_input_stream_read_line
      Src: /src/glib/gio/gdatainputstream.c:833,1
    - Dst: g_utf8_validate
      Src: /src/glib/gio/gdatainputstream.c:837,1
    - Dst: g_free
      Src: /src/glib/gio/gdatainputstream.c:845,1
    - Dst: _
      Src: /src/glib/gio/gdatainputstream.c:841,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdatainputstream.c:839,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 850
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 850
    functionName: g_data_input_stream_read_line_utf8
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - g_set_error_literal
    - g_data_input_stream_read_line
    - _
    - g_utf8_validate
    - g_free
    linkageType: ''
    returnType: char*
    signature: "char *g_data_input_stream_read_line_utf8 (GDataInputStream *stream,\t\
      \t\t\t gsize *length,\t\t\t\t GCancellable *cancellable,\t\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdatainputstream.c:1200,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdatainputstream.c:1202,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gdatainputstream.c:1201,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdatainputstream.c:1201,1
    - Dst: G_IS_DATA_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:1200,1
    - Dst: g_data_input_stream_read_async
      Src: /src/glib/gio/gdatainputstream.c:1204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 6
    argNames:
    - stream
    - stop_chars
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GDataInputStream*
    - gchar*
    - gint
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 1206
      start: 1192
    functionDepth: 0
    functionLinenumber: 1192
    functionLinenumberEnd: 1206
    functionName: g_data_input_stream_read_until_async
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - G_IS_CANCELLABLE
    - g_data_input_stream_read_async
    - G_IS_DATA_INPUT_STREAM
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_data_input_stream_read_until_async (GDataInputStream *stream,
      const gchar *stop_chars, gint io_priority, GCancellable *cancellable, GAsyncReadyCallback
      callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdatainputstream.c:71,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdatainputstream.c:95,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gdatainputstream.c:82,1
    - Dst: g_param_spec_enum
      Src: /src/glib/gio/gdatainputstream.c:84,1
    - Dst: g_param_spec_enum
      Src: /src/glib/gio/gdatainputstream.c:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GDataInputStreamClass*
    constantsTouched: []
    func_position:
      end: 101
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 101
    functionName: g_data_input_stream_class_init
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - g_param_spec_enum
    - g_object_class_install_property
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_data_input_stream_class_init (GDataInputStreamClass
      *klass) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:864,1
    - Dst: g_buffered_input_stream_peek_buffer
      Src: /src/glib/gio/gdatainputstream.c:869,1
    - Dst: memchr
      Src: /src/glib/gio/gdatainputstream.c:890,1
    - Dst: memchr
      Src: /src/glib/gio/gdatainputstream.c:878,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 4
    argNames:
    - stream
    - checked_out
    - stop_chars
    - stop_chars_len
    argTypes:
    - GDataInputStream*
    - gsize*
    - char*
    - gsize
    constantsTouched: []
    func_position:
      end: 901
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 901
    functionName: scan_for_chars
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - memchr
    - g_buffered_input_stream_peek_buffer
    - G_BUFFERED_INPUT_STREAM
    linkageType: ''
    returnType: gssize
    signature: "static gssize scan_for_chars (GDataInputStream *stream,\t\tgsize *checked_out,\t\
      \tconst char *stop_chars, gsize stop_chars_len) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatainputstream.c:329,1
    - Dst: read_data
      Src: /src/glib/gio/gdatainputstream.c:331,1
    - Dst: G_IS_DATA_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:329,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GDataInputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 335
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 335
    functionName: g_data_input_stream_read_byte
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - read_data
    - g_return_val_if_fail
    - G_IS_DATA_INPUT_STREAM
    linkageType: ''
    returnType: guchar
    signature: "guchar g_data_input_stream_read_byte (GDataInputStream *stream,\t\t\
      \t GCancellable *cancellable,\t\t\t GError **error) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatainputstream.c:451,1
    - Dst: read_data
      Src: /src/glib/gio/gdatainputstream.c:453,1
    - Dst: G_IS_DATA_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:451,1
    - Dst: GINT32_FROM_LE
      Src: /src/glib/gio/gdatainputstream.c:461,1
    - Dst: GINT32_FROM_BE
      Src: /src/glib/gio/gdatainputstream.c:458,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GDataInputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 471
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 471
    functionName: g_data_input_stream_read_int32
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - GINT32_FROM_LE
    - G_IS_DATA_INPUT_STREAM
    - read_data
    - GINT32_FROM_BE
    linkageType: ''
    returnType: gint32
    signature: "gint32 g_data_input_stream_read_int32 (GDataInputStream *stream,\t\
      \t\t\tGCancellable *cancellable,\t\t\t\tGError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatainputstream.c:226,1
    - Dst: G_IS_DATA_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GDataInputStream*
    constantsTouched: []
    func_position:
      end: 229
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 229
    functionName: g_data_input_stream_get_byte_order
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DATA_INPUT_STREAM
    linkageType: ''
    returnType: GDataStreamByteOrder
    signature: 'GDataStreamByteOrder g_data_input_stream_get_byte_order (GDataInputStream
      *stream) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_buffered_input_stream_get_available
      Src: /src/glib/gio/gdatainputstream.c:287,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:287,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:289,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdatainputstream.c:296,1
    - Dst: g_buffered_input_stream_fill
      Src: /src/glib/gio/gdatainputstream.c:289,1
    - Dst: _
      Src: /src/glib/gio/gdatainputstream.c:297,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/gdatainputstream.c:303,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:303,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdatainputstream.c:306,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 5
    argNames:
    - stream
    - buffer
    - size
    - cancellable
    - error
    argTypes:
    - GDataInputStream*
    - void*
    - gsize
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 308
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 308
    functionName: read_data
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - g_buffered_input_stream_get_available
    - G_BUFFERED_INPUT_STREAM
    - g_warn_if_fail
    - g_buffered_input_stream_fill
    - g_set_error_literal
    - g_input_stream_read
    - _
    - G_INPUT_STREAM
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean read_data (GDataInputStream *stream, void *buffer,
      gsize size, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:940,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:951,1
    - Dst: g_buffered_input_stream_get_available
      Src: /src/glib/gio/gdatainputstream.c:946,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/gdatainputstream.c:951,1
    - Dst: g_data_input_stream_read_upto
      Src: /src/glib/gio/gdatainputstream.c:942,1
    - Dst: g_assert
      Src: /src/glib/gio/gdatainputstream.c:952,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 956
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 956
    functionName: g_data_input_stream_read_until
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - g_buffered_input_stream_get_available
    - G_BUFFERED_INPUT_STREAM
    - g_assert
    - g_data_input_stream_read_upto
    - g_input_stream_read
    - G_INPUT_STREAM
    linkageType: ''
    returnType: char*
    signature: "char *g_data_input_stream_read_until (GDataInputStream *stream,\t\t\
      \t const gchar *stop_chars,\t\t\t gsize *length,\t\t\t GCancellable *cancellable,\t\
      \t\t GError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gdatainputstream.c:973,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/gdatainputstream.c:987,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/gdatainputstream.c:986,1
    - Dst: g_malloc
      Src: /src/glib/gio/gdatainputstream.c:982,1
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/gdatainputstream.c:974,1
    - Dst: g_input_stream_skip
      Src: /src/glib/gio/gdatainputstream.c:989,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/gdatainputstream.c:990,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/gdatainputstream.c:993,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdatainputstream.c:994,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - task
    - read_length
    - skip_length
    argTypes:
    - GTask*
    - gsize
    - gsize
    constantsTouched: []
    func_position:
      end: 995
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 995
    functionName: g_data_input_stream_read_complete
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_task_return_pointer
    - g_malloc
    - g_task_get_source_object
    - g_input_stream_read
    - g_input_stream_skip
    - g_task_get_task_data
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void g_data_input_stream_read_complete (GTask *task, gsize
      read_length, gsize skip_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gdatainputstream.c:1075,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gdatainputstream.c:1076,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1077
      start: 1070
    functionDepth: 0
    functionLinenumber: 1070
    functionLinenumberEnd: 1077
    functionName: g_data_input_stream_read_data_free
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void g_data_input_stream_read_data_free (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatainputstream.c:1307,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gdatainputstream.c:1307,1
    - Dst: g_data_input_stream_read_finish
      Src: /src/glib/gio/gdatainputstream.c:1309,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1301
    functionDepth: 0
    functionLinenumber: 1301
    functionLinenumberEnd: 1310
    functionName: g_data_input_stream_read_until_finish
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_task_is_valid
    - g_data_input_stream_read_finish
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_data_input_stream_read_until_finish (GDataInputStream *stream,
      GAsyncResult *result, gsize *length, GError **error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gdatainputstream.c:1003,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdatainputstream.c:1022,1
    - Dst: g_buffered_input_stream_fill_finish
      Src: /src/glib/gio/gdatainputstream.c:1014,1
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/gdatainputstream.c:1004,1
    - Dst: g_task_return_error
      Src: /src/glib/gio/gdatainputstream.c:1021,1
    - Dst: g_data_input_stream_read_complete
      Src: /src/glib/gio/gdatainputstream.c:1026,1
    - Dst: scan_for_chars
      Src: /src/glib/gio/gdatainputstream.c:1035,1
    - Dst: G_DATA_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:1035,1
    - Dst: scan_for_newline
      Src: /src/glib/gio/gdatainputstream.c:1042,1
    - Dst: G_DATA_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:1042,1
    - Dst: g_buffered_input_stream_get_available
      Src: /src/glib/gio/gdatainputstream.c:1052,1
    - Dst: g_buffered_input_stream_set_buffer_size
      Src: /src/glib/gio/gdatainputstream.c:1054,1
    - Dst: g_task_get_priority
      Src: /src/glib/gio/gdatainputstream.c:1058,1
    - Dst: g_buffered_input_stream_fill_async
      Src: /src/glib/gio/gdatainputstream.c:1057,1
    - Dst: g_buffered_input_stream_get_buffer_size
      Src: /src/glib/gio/gdatainputstream.c:1050,1
    - Dst: g_data_input_stream_read_complete
      Src: /src/glib/gio/gdatainputstream.c:1066,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/gdatainputstream.c:1059,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1068
      start: 997
    functionDepth: 0
    functionLinenumber: 997
    functionLinenumberEnd: 1068
    functionName: g_data_input_stream_read_line_ready
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - g_buffered_input_stream_fill_finish
    - scan_for_chars
    - g_buffered_input_stream_get_buffer_size
    - g_buffered_input_stream_get_available
    - g_object_unref
    - g_task_get_priority
    - g_data_input_stream_read_complete
    - g_task_get_cancellable
    - G_DATA_INPUT_STREAM
    - g_task_get_source_object
    - g_buffered_input_stream_fill_async
    - g_task_get_task_data
    - scan_for_newline
    - g_buffered_input_stream_set_buffer_size
    - g_task_return_error
    linkageType: ''
    returnType: void
    signature: 'static void g_data_input_stream_read_line_ready (GObject *object,
      GAsyncResult *result, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/glib/gio/gdatainputstream.c:1092,1
    - Dst: g_memdup2
      Src: /src/glib/gio/gdatainputstream.c:1099,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/gdatainputstream.c:1104,1
    - Dst: g_task_new
      Src: /src/glib/gio/gdatainputstream.c:1103,1
    - Dst: strlen
      Src: /src/glib/gio/gdatainputstream.c:1095,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/gdatainputstream.c:1105,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/gdatainputstream.c:1106,1
    - Dst: g_data_input_stream_read_line_ready
      Src: /src/glib/gio/gdatainputstream.c:1108,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 7
    argNames:
    - stream
    - stop_chars
    - stop_chars_len
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GDataInputStream*
    - gchar*
    - gssize
    - gint
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 1109
      start: 1079
    functionDepth: 0
    functionLinenumber: 1079
    functionLinenumberEnd: 1109
    functionName: g_data_input_stream_read_async
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - g_task_new
    - strlen
    - g_slice_new0
    - g_task_set_source_tag
    - g_task_set_priority
    - g_data_input_stream_read_line_ready
    - g_task_set_task_data
    - g_memdup2
    linkageType: ''
    returnType: void
    signature: 'static void g_data_input_stream_read_async (GDataInputStream *stream,
      const gchar *stop_chars, gssize stop_chars_len, gint io_priority, GCancellable
      *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdatainputstream.c:203,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdatainputstream.c:211,1
    - Dst: G_IS_DATA_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:203,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gdatainputstream.c:211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - stream
    - order
    argTypes:
    - GDataInputStream*
    - GDataStreamByteOrder
    constantsTouched: []
    func_position:
      end: 213
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 213
    functionName: g_data_input_stream_set_byte_order
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - g_object_notify
    - G_OBJECT
    - G_IS_DATA_INPUT_STREAM
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_data_input_stream_set_byte_order (GDataInputStream *stream,\t\
      \t\t\t GDataStreamByteOrder order) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdatainputstream.c:1156,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gdatainputstream.c:1157,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdatainputstream.c:1157,1
    - Dst: g_data_input_stream_read_async
      Src: /src/glib/gio/gdatainputstream.c:1159,1
    - Dst: G_IS_DATA_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:1156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 5
    argNames:
    - stream
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GDataInputStream*
    - gint
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 1161
      start: 1149
    functionDepth: 0
    functionLinenumber: 1149
    functionLinenumberEnd: 1161
    functionName: g_data_input_stream_read_line_async
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - G_IS_CANCELLABLE
    - g_data_input_stream_read_async
    - G_IS_DATA_INPUT_STREAM
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_data_input_stream_read_line_async (GDataInputStream *stream,
      gint io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer
      user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_data_input_stream_read_line_finish
      Src: /src/glib/gio/gdatainputstream.c:1267,1
    - Dst: g_utf8_validate
      Src: /src/glib/gio/gdatainputstream.c:1271,1
    - Dst: g_set_error_literal
      Src: /src/glib/gio/gdatainputstream.c:1273,1
    - Dst: _
      Src: /src/glib/gio/gdatainputstream.c:1275,1
    - Dst: g_free
      Src: /src/glib/gio/gdatainputstream.c:1276,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1259
    functionDepth: 0
    functionLinenumber: 1259
    functionLinenumberEnd: 1280
    functionName: g_data_input_stream_read_line_finish_utf8
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - g_data_input_stream_read_line_finish
    - g_set_error_literal
    - _
    - g_utf8_validate
    - g_free
    linkageType: ''
    returnType: gchar*
    signature: "gchar *g_data_input_stream_read_line_finish_utf8 (GDataInputStream\
      \ *stream,\t\t\t\t\t GAsyncResult *result,\t\t\t\t\t gsize *length,\t\t\t\t\t\
      \ GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdatainputstream.c:1446,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/gdatainputstream.c:1447,1
    - Dst: G_IS_DATA_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:1446,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdatainputstream.c:1447,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdatainputstream.c:1448,1
    - Dst: g_data_input_stream_read_async
      Src: /src/glib/gio/gdatainputstream.c:1450,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 7
    argNames:
    - stream
    - stop_chars
    - stop_chars_len
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GDataInputStream*
    - gchar*
    - gssize
    - gint
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 1452
      start: 1437
    functionDepth: 0
    functionLinenumber: 1437
    functionLinenumberEnd: 1452
    functionName: g_data_input_stream_read_upto_async
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - G_IS_CANCELLABLE
    - g_data_input_stream_read_async
    - G_IS_DATA_INPUT_STREAM
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_data_input_stream_read_upto_async (GDataInputStream *stream,
      const gchar *stop_chars, gssize stop_chars_len, gint io_priority, GCancellable
      *cancellable, GAsyncReadyCallback callback, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatainputstream.c:1483,1
    - Dst: g_data_input_stream_read_finish
      Src: /src/glib/gio/gdatainputstream.c:1485,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/gdatainputstream.c:1483,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1477
    functionDepth: 0
    functionLinenumber: 1477
    functionLinenumberEnd: 1486
    functionName: g_data_input_stream_read_upto_finish
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_task_is_valid
    - g_data_input_stream_read_finish
    linkageType: ''
    returnType: gchar*
    signature: 'gchar *g_data_input_stream_read_upto_finish (GDataInputStream *stream,
      GAsyncResult *result, gsize *length, GError **error) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatainputstream.c:595,1
    - Dst: read_data
      Src: /src/glib/gio/gdatainputstream.c:597,1
    - Dst: G_IS_DATA_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:595,1
    - Dst: GUINT64_FROM_BE
      Src: /src/glib/gio/gdatainputstream.c:602,1
    - Dst: GUINT64_FROM_LE
      Src: /src/glib/gio/gdatainputstream.c:605,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GDataInputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 615
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 615
    functionName: g_data_input_stream_read_uint64
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - GUINT64_FROM_LE
    - G_IS_DATA_INPUT_STREAM
    - read_data
    - GUINT64_FROM_BE
    linkageType: ''
    returnType: guint64
    signature: "guint64 g_data_input_stream_read_uint64 (GDataInputStream *stream,\t\
      \t\t\tGCancellable *cancellable,\t\t\t\tGError **error) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_TASK
      Src: /src/glib/gio/gdatainputstream.c:1117,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/gdatainputstream.c:1120,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/gdatainputstream.c:1124,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1130
    functionName: g_data_input_stream_read_finish
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_task_propagate_pointer
    - g_task_get_task_data
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *g_data_input_stream_read_finish (GDataInputStream *stream,
      GAsyncResult *result, gsize *length, GError **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatainputstream.c:1357,1
    - Dst: strlen
      Src: /src/glib/gio/gdatainputstream.c:1360,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:1364,1
    - Dst: G_IS_DATA_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:1357,1
    - Dst: scan_for_chars
      Src: /src/glib/gio/gdatainputstream.c:1368,1
    - Dst: g_buffered_input_stream_get_available
      Src: /src/glib/gio/gdatainputstream.c:1370,1
    - Dst: g_buffered_input_stream_get_buffer_size
      Src: /src/glib/gio/gdatainputstream.c:1371,1
    - Dst: g_buffered_input_stream_set_buffer_size
      Src: /src/glib/gio/gdatainputstream.c:1372,1
    - Dst: g_buffered_input_stream_get_buffer_size
      Src: /src/glib/gio/gdatainputstream.c:1373,1
    - Dst: g_buffered_input_stream_fill
      Src: /src/glib/gio/gdatainputstream.c:1375,1
    - Dst: g_malloc
      Src: /src/glib/gio/gdatainputstream.c:1395,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdatainputstream.c:1403,1
    - Dst: g_buffered_input_stream_get_available
      Src: /src/glib/gio/gdatainputstream.c:1381,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:1397,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/gdatainputstream.c:1397,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1407
      start: 1342
    functionDepth: 0
    functionLinenumber: 1342
    functionLinenumberEnd: 1407
    functionName: g_data_input_stream_read_upto
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - scan_for_chars
    - g_buffered_input_stream_get_available
    - g_buffered_input_stream_get_buffer_size
    - g_return_val_if_fail
    - G_BUFFERED_INPUT_STREAM
    - g_warn_if_fail
    - strlen
    - G_IS_DATA_INPUT_STREAM
    - g_buffered_input_stream_fill
    - g_malloc
    - g_input_stream_read
    - g_buffered_input_stream_set_buffer_size
    - G_INPUT_STREAM
    linkageType: ''
    returnType: char*
    signature: 'char *g_data_input_stream_read_upto (GDataInputStream *stream, const
      gchar *stop_chars, gssize stop_chars_len, gsize *length, GCancellable *cancellable,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatainputstream.c:179,1
    - Dst: G_IS_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:179,1
    - Dst: g_object_new
      Src: /src/glib/gio/gdatainputstream.c:181,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: g_data_input_stream_new
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - G_IS_INPUT_STREAM
    - g_return_val_if_fail
    - g_object_new
    linkageType: ''
    returnType: GDataInputStream*
    signature: 'GDataInputStream *g_data_input_stream_new (GInputStream *base_stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatainputstream.c:272,1
    - Dst: G_IS_DATA_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - GDataInputStream*
    constantsTouched: []
    func_position:
      end: 275
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 275
    functionName: g_data_input_stream_get_newline_type
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_DATA_INPUT_STREAM
    linkageType: ''
    returnType: GDataStreamNewlineType
    signature: 'GDataStreamNewlineType g_data_input_stream_get_newline_type (GDataInputStream
      *stream) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatainputstream.c:403,1
    - Dst: GUINT16_FROM_BE
      Src: /src/glib/gio/gdatainputstream.c:410,1
    - Dst: read_data
      Src: /src/glib/gio/gdatainputstream.c:405,1
    - Dst: G_IS_DATA_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:403,1
    - Dst: GUINT16_FROM_LE
      Src: /src/glib/gio/gdatainputstream.c:413,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GDataInputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 423
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 423
    functionName: g_data_input_stream_read_uint16
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - GUINT16_FROM_LE
    - g_return_val_if_fail
    - G_IS_DATA_INPUT_STREAM
    - read_data
    - GUINT16_FROM_BE
    linkageType: ''
    returnType: guint16
    signature: "guint16 g_data_input_stream_read_uint16 (GDataInputStream *stream,\t\
      \t\t\t GCancellable *cancellable,\t\t\t\t GError **error) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatainputstream.c:547,1
    - Dst: GINT64_FROM_LE
      Src: /src/glib/gio/gdatainputstream.c:557,1
    - Dst: read_data
      Src: /src/glib/gio/gdatainputstream.c:549,1
    - Dst: GINT64_FROM_BE
      Src: /src/glib/gio/gdatainputstream.c:554,1
    - Dst: G_IS_DATA_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:547,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GDataInputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 567
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 567
    functionName: g_data_input_stream_read_int64
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - GINT64_FROM_LE
    - g_return_val_if_fail
    - G_IS_DATA_INPUT_STREAM
    - GINT64_FROM_BE
    - read_data
    linkageType: ''
    returnType: gint64
    signature: "gint64 g_data_input_stream_read_int64 (GDataInputStream *stream,\t\
      \t\t GCancellable *cancellable,\t\t\t GError **error) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdatainputstream.c:752,1
    - Dst: g_buffered_input_stream_get_available
      Src: /src/glib/gio/gdatainputstream.c:762,1
    - Dst: scan_for_newline
      Src: /src/glib/gio/gdatainputstream.c:760,1
    - Dst: G_BUFFERED_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:754,1
    - Dst: G_IS_DATA_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:752,1
    - Dst: g_buffered_input_stream_get_buffer_size
      Src: /src/glib/gio/gdatainputstream.c:763,1
    - Dst: g_buffered_input_stream_set_buffer_size
      Src: /src/glib/gio/gdatainputstream.c:764,1
    - Dst: g_buffered_input_stream_get_buffer_size
      Src: /src/glib/gio/gdatainputstream.c:765,1
    - Dst: g_buffered_input_stream_fill
      Src: /src/glib/gio/gdatainputstream.c:767,1
    - Dst: g_buffered_input_stream_get_available
      Src: /src/glib/gio/gdatainputstream.c:773,1
    - Dst: g_malloc
      Src: /src/glib/gio/gdatainputstream.c:788,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/gdatainputstream.c:790,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/gdatainputstream.c:796,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/gdatainputstream.c:790,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 800
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 800
    functionName: g_data_input_stream_read_line
    functionSourceFile: /src/glib/gio/gdatainputstream.c
    functionUses: []
    functionsReached:
    - g_buffered_input_stream_get_available
    - g_buffered_input_stream_get_buffer_size
    - g_return_val_if_fail
    - G_BUFFERED_INPUT_STREAM
    - g_warn_if_fail
    - G_IS_DATA_INPUT_STREAM
    - g_buffered_input_stream_fill
    - g_malloc
    - g_input_stream_read
    - scan_for_newline
    - g_buffered_input_stream_set_buffer_size
    - G_INPUT_STREAM
    linkageType: ''
    returnType: char*
    signature: "char *g_data_input_stream_read_line (GDataInputStream *stream,\t\t\
      \t gsize *length,\t\t\t GCancellable *cancellable,\t\t\t GError **error) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/glib/gio/gio-tool-rename.c:51,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-rename.c:56,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-rename.c:72,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-rename.c:65,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-rename.c:78,1
    - Dst: g_option_context_new
      Src: /src/glib/gio/gio-tool-rename.c:47,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-rename.c:46,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-rename.c:48,1
    - Dst: g_option_context_set_summary
      Src: /src/glib/gio/gio-tool-rename.c:51,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-rename.c:57,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-rename.c:71,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/gio-tool-rename.c:61,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-rename.c:77,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-rename.c:90,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-rename.c:97,1
    - Dst: g_set_prgname
      Src: /src/glib/gio/gio-tool-rename.c:43,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-rename.c:46,1
    - Dst: g_option_context_set_help_enabled
      Src: /src/glib/gio/gio-tool-rename.c:49,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-rename.c:71,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-rename.c:63,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-rename.c:77,1
    - Dst: g_file_set_display_name
      Src: /src/glib/gio/gio-tool-rename.c:85,1
    - Dst: print_error
      Src: /src/glib/gio/gio-tool-rename.c:89,1
    - Dst: g_file_get_uri
      Src: /src/glib/gio/gio-tool-rename.c:95,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-rename.c:98,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gio-tool-rename.c:46,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/gio/gio-tool-rename.c:52,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-rename.c:64,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-rename.c:82,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/gio-tool-rename.c:84,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-rename.c:96,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-rename.c:96,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-rename.c:101,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 3
    argNames:
    - argc
    - argv
    - do_help
    argTypes:
    - int
    - char*
    - gboolean
    constantsTouched: []
    func_position:
      end: 104
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 104
    functionName: handle_rename
    functionSourceFile: /src/glib/gio/gio-tool-rename.c
    functionUses: []
    functionsReached:
    - g_file_get_uri
    - g_strdup_printf
    - g_option_context_free
    - g_object_unref
    - g_option_context_new
    - g_option_context_set_summary
    - g_set_prgname
    - show_help
    - g_file_new_for_commandline_arg
    - g_error_free
    - g_option_context_set_help_enabled
    - print_error
    - g_option_context_parse
    - _
    - g_option_context_add_main_entries
    - g_print
    - g_free
    - g_file_set_display_name
    linkageType: ''
    returnType: int
    signature: 'int handle_rename (int argc, char *argv[], gboolean do_help) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmountoperation.c:710,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gmountoperation.c:716,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gmountoperation.c:716,1
    - Dst: G_IS_MOUNT_OPERATION
      Src: /src/glib/gio/gmountoperation.c:710,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - op
    - anonymous
    argTypes:
    - GMountOperation*
    - gboolean
    constantsTouched: []
    func_position:
      end: 718
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 718
    functionName: g_mount_operation_set_anonymous
    functionSourceFile: /src/glib/gio/gmountoperation.c
    functionUses: []
    functionsReached:
    - g_object_notify
    - G_IS_MOUNT_OPERATION
    - G_OBJECT
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_mount_operation_set_anonymous (GMountOperation *op,\t\t\t\t\
      \ gboolean anonymous) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmountoperation.c:963,1
    - Dst: g_signal_emit
      Src: /src/glib/gio/gmountoperation.c:964,1
    - Dst: G_IS_MOUNT_OPERATION
      Src: /src/glib/gio/gmountoperation.c:963,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - op
    - result
    argTypes:
    - GMountOperation*
    - GMountOperationResult
    constantsTouched: []
    func_position:
      end: 965
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 965
    functionName: g_mount_operation_reply
    functionSourceFile: /src/glib/gio/gmountoperation.c
    functionUses: []
    functionsReached:
    - g_signal_emit
    - G_IS_MOUNT_OPERATION
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_mount_operation_reply (GMountOperation *op,\t\t\t GMountOperationResult\
      \ result) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmountoperation.c:694,1
    - Dst: G_IS_MOUNT_OPERATION
      Src: /src/glib/gio/gmountoperation.c:694,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - op
    argTypes:
    - GMountOperation*
    constantsTouched: []
    func_position:
      end: 696
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 696
    functionName: g_mount_operation_get_anonymous
    functionSourceFile: /src/glib/gio/gmountoperation.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_MOUNT_OPERATION
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_mount_operation_get_anonymous (GMountOperation *op) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmountoperation.c:746,1
    - Dst: g_free
      Src: /src/glib/gio/gmountoperation.c:747,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gmountoperation.c:749,1
    - Dst: G_IS_MOUNT_OPERATION
      Src: /src/glib/gio/gmountoperation.c:746,1
    - Dst: g_strdup
      Src: /src/glib/gio/gmountoperation.c:748,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gmountoperation.c:749,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - op
    - domain
    argTypes:
    - GMountOperation*
    - char*
    constantsTouched: []
    func_position:
      end: 750
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 750
    functionName: g_mount_operation_set_domain
    functionSourceFile: /src/glib/gio/gmountoperation.c
    functionUses: []
    functionsReached:
    - G_IS_MOUNT_OPERATION
    - g_strdup
    - g_return_if_fail
    - g_object_notify
    - G_OBJECT
    - g_free
    linkageType: ''
    returnType: void
    signature: "void g_mount_operation_set_domain (GMountOperation *op,\t\t\t const\
      \ char *domain) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmountoperation.c:819,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gmountoperation.c:824,1
    - Dst: G_IS_MOUNT_OPERATION
      Src: /src/glib/gio/gmountoperation.c:819,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gmountoperation.c:824,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - op
    - choice
    argTypes:
    - GMountOperation*
    - int
    constantsTouched: []
    func_position:
      end: 826
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 826
    functionName: g_mount_operation_set_choice
    functionSourceFile: /src/glib/gio/gmountoperation.c
    functionUses: []
    functionsReached:
    - g_object_notify
    - G_IS_MOUNT_OPERATION
    - G_OBJECT
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_mount_operation_set_choice (GMountOperation *op,\t\t\t int\
      \ choice) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmountoperation.c:902,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gmountoperation.c:908,1
    - Dst: G_IS_MOUNT_OPERATION
      Src: /src/glib/gio/gmountoperation.c:902,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gmountoperation.c:908,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - op
    - system_volume
    argTypes:
    - GMountOperation*
    - gboolean
    constantsTouched: []
    func_position:
      end: 910
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 910
    functionName: g_mount_operation_set_is_tcrypt_system_volume
    functionSourceFile: /src/glib/gio/gmountoperation.c
    functionUses: []
    functionsReached:
    - g_object_notify
    - G_IS_MOUNT_OPERATION
    - G_OBJECT
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_mount_operation_set_is_tcrypt_system_volume (GMountOperation
      *op, gboolean system_volume) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_idle_add_full
      Src: /src/glib/gio/gmountoperation.c:263,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gmountoperation.c:265,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - op
    - message
    - choices
    argTypes:
    - GMountOperation*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 267
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 267
    functionName: ask_question
    functionSourceFile: /src/glib/gio/gmountoperation.c
    functionUses: []
    functionsReached:
    - g_idle_add_full
    - g_object_ref
    linkageType: ''
    returnType: void
    signature: "static void ask_question (GMountOperation *op,\t const char *message,\t\
      \ const char *choices[]) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 4
    argNames:
    - op
    - message
    - time_left
    - bytes_left
    argTypes:
    - GMountOperation*
    - gchar*
    - gint64
    - gint64
    constantsTouched: []
    func_position:
      end: 288
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 288
    functionName: show_unmount_progress
    functionSourceFile: /src/glib/gio/gmountoperation.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void show_unmount_progress (GMountOperation *op, const gchar
      *message, gint64 time_left, gint64 bytes_left) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmountoperation.c:660,1
    - Dst: G_IS_MOUNT_OPERATION
      Src: /src/glib/gio/gmountoperation.c:660,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 662
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 662
    functionName: g_mount_operation_get_password
    functionSourceFile: /src/glib/gio/gmountoperation.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_MOUNT_OPERATION
    linkageType: ''
    returnType: char*
    signature: 'const char *g_mount_operation_get_password (GMountOperation *op) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmountoperation.c:764,1
    - Dst: G_IS_MOUNT_OPERATION
      Src: /src/glib/gio/gmountoperation.c:764,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - op
    argTypes:
    - GMountOperation*
    constantsTouched: []
    func_position:
      end: 766
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 766
    functionName: g_mount_operation_get_password_save
    functionSourceFile: /src/glib/gio/gmountoperation.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_MOUNT_OPERATION
    linkageType: ''
    returnType: GPasswordSave
    signature: 'GPasswordSave g_mount_operation_get_password_save (GMountOperation
      *op) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmountoperation.c:842,1
    - Dst: G_IS_MOUNT_OPERATION
      Src: /src/glib/gio/gmountoperation.c:842,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - op
    argTypes:
    - GMountOperation*
    constantsTouched: []
    func_position:
      end: 844
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 844
    functionName: g_mount_operation_get_is_tcrypt_hidden_volume
    functionSourceFile: /src/glib/gio/gmountoperation.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_MOUNT_OPERATION
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_mount_operation_get_is_tcrypt_hidden_volume (GMountOperation
      *op) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_idle_add_full
      Src: /src/glib/gio/gmountoperation.c:275,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gmountoperation.c:277,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - op
    - message
    - processes
    - choices
    argTypes:
    - GMountOperation*
    - gchar*
    - GArray*
    - gchar*
    constantsTouched: []
    func_position:
      end: 279
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 279
    functionName: show_processes
    functionSourceFile: /src/glib/gio/gmountoperation.c
    functionUses: []
    functionsReached:
    - g_idle_add_full
    - g_object_ref
    linkageType: ''
    returnType: void
    signature: 'static void show_processes (GMountOperation *op, const gchar *message,
      GArray *processes, const gchar *choices[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_new
      Src: /src/glib/gio/gmountoperation.c:320,1
    - Dst: I_
      Src: /src/glib/gio/gmountoperation.c:346,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gmountoperation.c:347,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gmountoperation.c:355,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gmountoperation.c:419,1
    - Dst: I_
      Src: /src/glib/gio/gmountoperation.c:419,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gmountoperation.c:420,1
    - Dst: I_
      Src: /src/glib/gio/gmountoperation.c:461,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gmountoperation.c:462,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gmountoperation.c:504,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gmountoperation.c:590,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gmountoperation.c:559,1
    - Dst: I_
      Src: /src/glib/gio/gmountoperation.c:320,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gmountoperation.c:321,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gmountoperation.c:323,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gmountoperation.c:329,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gmountoperation.c:369,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gmountoperation.c:390,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gmountoperation.c:428,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gmountoperation.c:469,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gmountoperation.c:479,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gmountoperation.c:481,1
    - Dst: g_param_spec_uint
      Src: /src/glib/gio/gmountoperation.c:592,1
    - Dst: g_param_spec_int
      Src: /src/glib/gio/gmountoperation.c:544,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gmountoperation.c:542,1
    - Dst: g_param_spec_enum
      Src: /src/glib/gio/gmountoperation.c:530,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gmountoperation.c:295,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gmountoperation.c:349,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gmountoperation.c:366,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gmountoperation.c:354,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gmountoperation.c:422,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gmountoperation.c:461,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/glib/gio/gmountoperation.c:464,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gmountoperation.c:492,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gmountoperation.c:494,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gmountoperation.c:528,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gmountoperation.c:575,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gmountoperation.c:506,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gmountoperation.c:328,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gmountoperation.c:346,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gmountoperation.c:367,1
    - Dst: I_
      Src: /src/glib/gio/gmountoperation.c:366,1
    - Dst: I_
      Src: /src/glib/gio/gmountoperation.c:387,1
    - Dst: g_signal_new
      Src: /src/glib/gio/gmountoperation.c:387,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gmountoperation.c:388,1
    - Dst: g_signal_set_va_marshaller
      Src: /src/glib/gio/gmountoperation.c:427,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/glib/gio/gmountoperation.c:470,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gmountoperation.c:518,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gmountoperation.c:557,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gmountoperation.c:516,1
    - Dst: g_param_spec_boolean
      Src: /src/glib/gio/gmountoperation.c:577,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 93
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GMountOperationClass*
    constantsTouched: []
    func_position:
      end: 596
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 596
    functionName: g_mount_operation_class_init
    functionSourceFile: /src/glib/gio/gmountoperation.c
    functionUses: []
    functionsReached:
    - I_
    - G_STRUCT_OFFSET
    - g_param_spec_boolean
    - G_TYPE_FROM_CLASS
    - g_param_spec_int
    - g_object_class_install_property
    - G_OBJECT_CLASS
    - g_signal_set_va_marshaller
    - g_signal_new
    - g_param_spec_string
    - g_param_spec_enum
    - g_param_spec_uint
    linkageType: ''
    returnType: void
    signature: 'static void g_mount_operation_class_init (GMountOperationClass *klass) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: G_MOUNT_OPERATION
      Src: /src/glib/gio/gmountoperation.c:171,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gmountoperation.c:177,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gmountoperation.c:185,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gmountoperation.c:181,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gmountoperation.c:189,1
    - Dst: g_value_set_enum
      Src: /src/glib/gio/gmountoperation.c:193,1
    - Dst: g_value_set_int
      Src: /src/glib/gio/gmountoperation.c:197,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gmountoperation.c:201,1
    - Dst: g_value_set_boolean
      Src: /src/glib/gio/gmountoperation.c:205,1
    - Dst: g_value_set_uint
      Src: /src/glib/gio/gmountoperation.c:209,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gmountoperation.c:213,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 15
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 216
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 216
    functionName: g_mount_operation_get_property
    functionSourceFile: /src/glib/gio/gmountoperation.c
    functionUses: []
    functionsReached:
    - g_value_set_enum
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_uint
    - g_value_set_string
    - g_value_set_boolean
    - g_value_set_int
    - G_MOUNT_OPERATION
    linkageType: ''
    returnType: void
    signature: 'static void g_mount_operation_get_property (GObject *object, guint
      prop_id, GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmountoperation.c:643,1
    - Dst: g_free
      Src: /src/glib/gio/gmountoperation.c:644,1
    - Dst: G_IS_MOUNT_OPERATION
      Src: /src/glib/gio/gmountoperation.c:643,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gmountoperation.c:646,1
    - Dst: g_strdup
      Src: /src/glib/gio/gmountoperation.c:645,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gmountoperation.c:646,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - op
    - username
    argTypes:
    - GMountOperation*
    - char*
    constantsTouched: []
    func_position:
      end: 647
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 647
    functionName: g_mount_operation_set_username
    functionSourceFile: /src/glib/gio/gmountoperation.c
    functionUses: []
    functionsReached:
    - G_IS_MOUNT_OPERATION
    - g_strdup
    - g_return_if_fail
    - g_object_notify
    - G_OBJECT
    - g_free
    linkageType: ''
    returnType: void
    signature: "void g_mount_operation_set_username (GMountOperation *op,\t\t\t\t\
      const char *username) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmountoperation.c:943,1
    - Dst: G_IS_MOUNT_OPERATION
      Src: /src/glib/gio/gmountoperation.c:943,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gmountoperation.c:948,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gmountoperation.c:948,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - op
    - pim
    argTypes:
    - GMountOperation*
    - guint
    constantsTouched: []
    func_position:
      end: 950
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 950
    functionName: g_mount_operation_set_pim
    functionSourceFile: /src/glib/gio/gmountoperation.c
    functionUses: []
    functionsReached:
    - g_object_notify
    - G_IS_MOUNT_OPERATION
    - G_OBJECT
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_mount_operation_set_pim (GMountOperation *op, guint pim) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_MOUNT_OPERATION
      Src: /src/glib/gio/gmountoperation.c:225,1
    - Dst: g_free
      Src: /src/glib/gio/gmountoperation.c:231,1
    - Dst: g_free
      Src: /src/glib/gio/gmountoperation.c:230,1
    - Dst: g_free
      Src: /src/glib/gio/gmountoperation.c:229,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gmountoperation.c:233,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 234
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 234
    functionName: g_mount_operation_finalize
    functionSourceFile: /src/glib/gio/gmountoperation.c
    functionUses: []
    functionsReached:
    - g_free
    - G_MOUNT_OPERATION
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_mount_operation_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmountoperation.c:628,1
    - Dst: G_IS_MOUNT_OPERATION
      Src: /src/glib/gio/gmountoperation.c:628,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 630
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 630
    functionName: g_mount_operation_get_username
    functionSourceFile: /src/glib/gio/gmountoperation.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_MOUNT_OPERATION
    linkageType: ''
    returnType: char*
    signature: 'const char *g_mount_operation_get_username (GMountOperation *op) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmountoperation.c:676,1
    - Dst: G_IS_MOUNT_OPERATION
      Src: /src/glib/gio/gmountoperation.c:676,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gmountoperation.c:679,1
    - Dst: g_free
      Src: /src/glib/gio/gmountoperation.c:677,1
    - Dst: g_strdup
      Src: /src/glib/gio/gmountoperation.c:678,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gmountoperation.c:679,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - op
    - password
    argTypes:
    - GMountOperation*
    - char*
    constantsTouched: []
    func_position:
      end: 680
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 680
    functionName: g_mount_operation_set_password
    functionSourceFile: /src/glib/gio/gmountoperation.c
    functionUses: []
    functionsReached:
    - G_IS_MOUNT_OPERATION
    - g_strdup
    - g_return_if_fail
    - g_object_notify
    - G_OBJECT
    - g_free
    linkageType: ''
    returnType: void
    signature: "void g_mount_operation_set_password (GMountOperation *op,\t\t\t\t\
      const char *password) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmountoperation.c:781,1
    - Dst: G_IS_MOUNT_OPERATION
      Src: /src/glib/gio/gmountoperation.c:781,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gmountoperation.c:787,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gmountoperation.c:787,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - op
    - save
    argTypes:
    - GMountOperation*
    - GPasswordSave
    constantsTouched: []
    func_position:
      end: 789
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 789
    functionName: g_mount_operation_set_password_save
    functionSourceFile: /src/glib/gio/gmountoperation.c
    functionUses: []
    functionsReached:
    - g_object_notify
    - G_IS_MOUNT_OPERATION
    - G_OBJECT
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void g_mount_operation_set_password_save (GMountOperation *op,\t\t\
      \t\t GPasswordSave save) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gmountoperation.c:860,1
    - Dst: G_IS_MOUNT_OPERATION
      Src: /src/glib/gio/gmountoperation.c:860,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gmountoperation.c:866,1
    - Dst: g_object_notify
      Src: /src/glib/gio/gmountoperation.c:866,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - op
    - hidden_volume
    argTypes:
    - GMountOperation*
    - gboolean
    constantsTouched: []
    func_position:
      end: 868
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 868
    functionName: g_mount_operation_set_is_tcrypt_hidden_volume
    functionSourceFile: /src/glib/gio/gmountoperation.c
    functionUses: []
    functionsReached:
    - g_object_notify
    - G_IS_MOUNT_OPERATION
    - G_OBJECT
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: 'void g_mount_operation_set_is_tcrypt_hidden_volume (GMountOperation
      *op, gboolean hidden_volume) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmountoperation.c:925,1
    - Dst: G_IS_MOUNT_OPERATION
      Src: /src/glib/gio/gmountoperation.c:925,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - op
    argTypes:
    - GMountOperation*
    constantsTouched: []
    func_position:
      end: 927
      start: 922
    functionDepth: 0
    functionLinenumber: 922
    functionLinenumberEnd: 927
    functionName: g_mount_operation_get_pim
    functionSourceFile: /src/glib/gio/gmountoperation.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_MOUNT_OPERATION
    linkageType: ''
    returnType: guint
    signature: 'guint g_mount_operation_get_pim (GMountOperation *op) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mount_operation_reply
      Src: /src/glib/gio/gmountoperation.c:241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 243
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 243
    functionName: reply_non_handled_in_idle
    functionSourceFile: /src/glib/gio/gmountoperation.c
    functionUses: []
    functionsReached:
    - g_mount_operation_reply
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean reply_non_handled_in_idle (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gmountoperation.c:614,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 615
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 615
    functionName: g_mount_operation_new
    functionSourceFile: /src/glib/gio/gmountoperation.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: GMountOperation*
    signature: 'GMountOperation *g_mount_operation_new (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmountoperation.c:731,1
    - Dst: G_IS_MOUNT_OPERATION
      Src: /src/glib/gio/gmountoperation.c:731,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 733
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 733
    functionName: g_mount_operation_get_domain
    functionSourceFile: /src/glib/gio/gmountoperation.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_MOUNT_OPERATION
    linkageType: ''
    returnType: char*
    signature: 'const char *g_mount_operation_get_domain (GMountOperation *op) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmountoperation.c:803,1
    - Dst: G_IS_MOUNT_OPERATION
      Src: /src/glib/gio/gmountoperation.c:803,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - op
    argTypes:
    - GMountOperation*
    constantsTouched: []
    func_position:
      end: 805
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 805
    functionName: g_mount_operation_get_choice
    functionSourceFile: /src/glib/gio/gmountoperation.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_MOUNT_OPERATION
    linkageType: ''
    returnType: int
    signature: 'int g_mount_operation_get_choice (GMountOperation *op) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gmountoperation.c:884,1
    - Dst: G_IS_MOUNT_OPERATION
      Src: /src/glib/gio/gmountoperation.c:884,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - op
    argTypes:
    - GMountOperation*
    constantsTouched: []
    func_position:
      end: 886
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 886
    functionName: g_mount_operation_get_is_tcrypt_system_volume
    functionSourceFile: /src/glib/gio/gmountoperation.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_MOUNT_OPERATION
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean g_mount_operation_get_is_tcrypt_system_volume (GMountOperation
      *op) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_value_get_string
      Src: /src/glib/gio/gmountoperation.c:112,1
    - Dst: g_mount_operation_set_password
      Src: /src/glib/gio/gmountoperation.c:116,1
    - Dst: g_mount_operation_set_domain
      Src: /src/glib/gio/gmountoperation.c:126,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gmountoperation.c:142,1
    - Dst: g_mount_operation_set_is_tcrypt_system_volume
      Src: /src/glib/gio/gmountoperation.c:146,1
    - Dst: G_MOUNT_OPERATION
      Src: /src/glib/gio/gmountoperation.c:106,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gmountoperation.c:117,1
    - Dst: g_mount_operation_set_anonymous
      Src: /src/glib/gio/gmountoperation.c:121,1
    - Dst: g_value_get_string
      Src: /src/glib/gio/gmountoperation.c:127,1
    - Dst: g_mount_operation_set_password_save
      Src: /src/glib/gio/gmountoperation.c:131,1
    - Dst: g_mount_operation_set_pim
      Src: /src/glib/gio/gmountoperation.c:151,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gmountoperation.c:147,1
    - Dst: g_mount_operation_set_username
      Src: /src/glib/gio/gmountoperation.c:111,1
    - Dst: g_value_get_boolean
      Src: /src/glib/gio/gmountoperation.c:122,1
    - Dst: g_value_get_uint
      Src: /src/glib/gio/gmountoperation.c:152,1
    - Dst: g_value_get_enum
      Src: /src/glib/gio/gmountoperation.c:132,1
    - Dst: g_mount_operation_set_choice
      Src: /src/glib/gio/gmountoperation.c:136,1
    - Dst: g_value_get_int
      Src: /src/glib/gio/gmountoperation.c:137,1
    - Dst: g_mount_operation_set_is_tcrypt_hidden_volume
      Src: /src/glib/gio/gmountoperation.c:141,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gmountoperation.c:156,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 23
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 159
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 159
    functionName: g_mount_operation_set_property
    functionSourceFile: /src/glib/gio/gmountoperation.c
    functionUses: []
    functionsReached:
    - g_mount_operation_set_username
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_mount_operation_set_pim
    - g_mount_operation_set_is_tcrypt_system_volume
    - g_value_get_boolean
    - g_mount_operation_set_password
    - g_value_get_string
    - g_mount_operation_set_password_save
    - g_mount_operation_set_anonymous
    - g_mount_operation_set_choice
    - g_mount_operation_set_is_tcrypt_hidden_volume
    - g_value_get_uint
    - g_mount_operation_set_domain
    - G_MOUNT_OPERATION
    - g_value_get_int
    - g_value_get_enum
    linkageType: ''
    returnType: void
    signature: 'static void g_mount_operation_set_property (GObject *object, guint
      prop_id, const GValue *value, GParamSpec *pspec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_idle_add_full
      Src: /src/glib/gio/gmountoperation.c:252,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gmountoperation.c:254,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 5
    argNames:
    - op
    - message
    - default_user
    - default_domain
    - flags
    argTypes:
    - GMountOperation*
    - char*
    - char*
    - char*
    - GAskPasswordFlags
    constantsTouched: []
    func_position:
      end: 256
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 256
    functionName: ask_password
    functionSourceFile: /src/glib/gio/gmountoperation.c
    functionUses: []
    functionsReached:
    - g_idle_add_full
    - g_object_ref
    linkageType: ''
    returnType: void
    signature: "static void ask_password (GMountOperation *op,\t const char *message,\t\
      \ const char *default_user,\t const char *default_domain,\t GAskPasswordFlags\
      \ flags) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mount_operation_get_instance_private
      Src: /src/glib/gio/gmountoperation.c:601,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - operation
    argTypes:
    - GMountOperation*
    constantsTouched: []
    func_position:
      end: 602
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 602
    functionName: g_mount_operation_init
    functionSourceFile: /src/glib/gio/gmountoperation.c
    functionUses: []
    functionsReached:
    - g_mount_operation_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_mount_operation_init (GMountOperation *operation) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/glocalvfs.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: g_local_vfs_finalize
    functionSourceFile: /src/glib/gio/glocalvfs.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_local_vfs_finalize (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_filename_from_uri
      Src: /src/glib/gio/glocalvfs.c:97,1
    - Dst: _g_local_file_new
      Src: /src/glib/gio/glocalvfs.c:100,1
    - Dst: _g_dummy_file_new
      Src: /src/glib/gio/glocalvfs.c:102,1
    - Dst: g_free
      Src: /src/glib/gio/glocalvfs.c:104,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 107
    functionName: g_local_vfs_get_file_for_uri
    functionSourceFile: /src/glib/gio/glocalvfs.c
    functionUses: []
    functionsReached:
    - _g_dummy_file_new
    - g_free
    - _g_local_file_new
    - g_filename_from_uri
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *g_local_vfs_get_file_for_uri (GVfs *vfs, const char
      *uri) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/glocalvfs.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: _g_local_vfs_new
    functionSourceFile: /src/glib/gio/glocalvfs.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: GVfs*
    signature: 'GVfs *_g_local_vfs_new (void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/glocalvfs.c:127,1
    - Dst: g_free
      Src: /src/glib/gio/glocalvfs.c:165,1
    - Dst: g_filename_from_utf8
      Src: /src/glib/gio/glocalvfs.c:173,1
    - Dst: g_filename_from_utf8
      Src: /src/glib/gio/glocalvfs.c:180,1
    - Dst: _g_local_file_new
      Src: /src/glib/gio/glocalvfs.c:186,1
    - Dst: g_filename_from_uri
      Src: /src/glib/gio/glocalvfs.c:131,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalvfs.c:149,1
    - Dst: g_unix_get_passwd_entry
      Src: /src/glib/gio/glocalvfs.c:156,1
    - Dst: g_build_filename
      Src: /src/glib/gio/glocalvfs.c:175,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalvfs.c:163,1
    - Dst: g_free
      Src: /src/glib/gio/glocalvfs.c:187,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/glocalvfs.c:128,1
    - Dst: g_ascii_strncasecmp
      Src: /src/glib/gio/glocalvfs.c:130,1
    - Dst: g_strndup
      Src: /src/glib/gio/glocalvfs.c:155,1
    - Dst: g_free
      Src: /src/glib/gio/glocalvfs.c:157,1
    - Dst: g_free
      Src: /src/glib/gio/glocalvfs.c:176,1
    - Dst: G_IS_VFS
      Src: /src/glib/gio/glocalvfs.c:127,1
    - Dst: g_get_home_dir
      Src: /src/glib/gio/glocalvfs.c:149,1
    - Dst: g_get_home_dir
      Src: /src/glib/gio/glocalvfs.c:163,1
    - Dst: g_get_home_dir
      Src: /src/glib/gio/glocalvfs.c:168,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalvfs.c:161,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalvfs.c:168,1
    - Dst: g_free
      Src: /src/glib/gio/glocalvfs.c:177,1
    - Dst: g_strdup
      Src: /src/glib/gio/glocalvfs.c:184,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 190
    functionName: g_local_vfs_parse_name
    functionSourceFile: /src/glib/gio/glocalvfs.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_return_val_if_fail
    - g_filename_from_uri
    - g_strndup
    - g_unix_get_passwd_entry
    - g_get_home_dir
    - g_filename_from_utf8
    - _g_local_file_new
    - g_build_filename
    - g_free
    - g_ascii_strncasecmp
    - G_IS_VFS
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *g_local_vfs_parse_name (GVfs *vfs, const char *parse_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - vfs
    argTypes:
    - GLocalVfs*
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: g_local_vfs_init
    functionSourceFile: /src/glib/gio/glocalvfs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_local_vfs_init (GLocalVfs *vfs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _g_dummy_file_new
      Src: /src/glib/gio/glocalvfs.c:85,1
    - Dst: _g_local_file_new
      Src: /src/glib/gio/glocalvfs.c:87,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: g_local_vfs_get_file_for_path
    functionSourceFile: /src/glib/gio/glocalvfs.c
    functionUses: []
    functionsReached:
    - _g_dummy_file_new
    - _g_local_file_new
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *g_local_vfs_get_file_for_path (GVfs *vfs, const char
      *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: g_local_vfs_get_supported_uri_schemes
    functionSourceFile: /src/glib/gio/glocalvfs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar**
    signature: 'static const gchar * const *g_local_vfs_get_supported_uri_schemes
      (GVfs *vfs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - vfs
    argTypes:
    - GVfs*
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: g_local_vfs_is_active
    functionSourceFile: /src/glib/gio/glocalvfs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_local_vfs_is_active (GVfs *vfs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_VFS_CLASS
      Src: /src/glib/gio/glocalvfs.c:208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - class
    argTypes:
    - GLocalVfsClass*
    constantsTouched: []
    func_position:
      end: 215
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 215
    functionName: g_local_vfs_class_init
    functionSourceFile: /src/glib/gio/glocalvfs.c
    functionUses: []
    functionsReached:
    - G_VFS_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_local_vfs_class_init (GLocalVfsClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GAsyncResultInterface*
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: g_async_result_default_init
    functionSourceFile: /src/glib/gio/gasyncresult.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_async_result_default_init (GAsyncResultInterface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_simple_async_result_propagate_error
      Src: /src/glib/gio/gasyncresult.c:201,1
    - Dst: G_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/gasyncresult.c:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - (res)
    argTypes:
    - G_IS_SIMPLE_ASYNC_RESULT
    constantsTouched: []
    func_position:
      end: 203
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 203
    functionName: if
    functionSourceFile: /src/glib/gio/gasyncresult.c
    functionUses: []
    functionsReached:
    - g_simple_async_result_propagate_error
    - G_SIMPLE_ASYNC_RESULT
    linkageType: ''
    returnType: G_GNUC_BEGIN_IGNORE_DEPRECATIONS
    signature: 'G_GNUC_BEGIN_IGNORE_DEPRECATIONS if (G_IS_SIMPLE_ASYNC_RESULT (res)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gasyncresult.c:160,1
    - Dst: G_ASYNC_RESULT_GET_IFACE
      Src: /src/glib/gio/gasyncresult.c:162,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gasyncresult.c:160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 165
    functionName: g_async_result_get_source_object
    functionSourceFile: /src/glib/gio/gasyncresult.c
    functionUses: []
    functionsReached:
    - G_ASYNC_RESULT_GET_IFACE
    - g_return_val_if_fail
    - G_IS_ASYNC_RESULT
    linkageType: ''
    returnType: GObject*
    signature: 'GObject *g_async_result_get_source_object (GAsyncResult *res) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_simple_async_result_propagate_error
      Src: /src/glib/gio/gasyncresult.c:201,1
    - Dst: G_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/gasyncresult.c:201,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - res
    - error
    argTypes:
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 207
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 207
    functionName: g_async_result_legacy_propagate_error
    functionSourceFile: /src/glib/gio/gasyncresult.c
    functionUses: []
    functionsReached:
    - g_simple_async_result_propagate_error
    - G_SIMPLE_ASYNC_RESULT
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_async_result_legacy_propagate_error (GAsyncResult *res,\t\
      \t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gasyncresult.c:139,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gasyncresult.c:139,1
    - Dst: G_ASYNC_RESULT_GET_IFACE
      Src: /src/glib/gio/gasyncresult.c:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - res
    argTypes:
    - GAsyncResult*
    constantsTouched: []
    func_position:
      end: 144
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 144
    functionName: g_async_result_get_user_data
    functionSourceFile: /src/glib/gio/gasyncresult.c
    functionUses: []
    functionsReached:
    - G_ASYNC_RESULT_GET_IFACE
    - g_return_val_if_fail
    - G_IS_ASYNC_RESULT
    linkageType: ''
    returnType: gpointer
    signature: 'gpointer g_async_result_get_user_data (GAsyncResult *res) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gasyncresult.c:228,1
    - Dst: G_ASYNC_RESULT_GET_IFACE
      Src: /src/glib/gio/gasyncresult.c:230,1
    - Dst: G_IS_ASYNC_RESULT
      Src: /src/glib/gio/gasyncresult.c:228,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - res
    - source_tag
    argTypes:
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 236
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 236
    functionName: g_async_result_is_tagged
    functionSourceFile: /src/glib/gio/gasyncresult.c
    functionUses: []
    functionsReached:
    - G_ASYNC_RESULT_GET_IFACE
    - g_return_val_if_fail
    - G_IS_ASYNC_RESULT
    linkageType: ''
    returnType: gboolean
    signature: "gboolean g_async_result_is_tagged (GAsyncResult *res,\t\t\t gpointer\
      \ source_tag) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gdbus-tool.c:93,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - num
    - argc
    - argv
    argTypes:
    - gint
    - gint*
    - gchar**
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: remove_arg
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - g_assert
    linkageType: ''
    returnType: void
    signature: 'static void remove_arg (gint num, gint *argc, gchar **argv[]) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_call_sync
      Src: /src/glib/gio/gdbus-tool.c:334,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:347,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbus-tool.c:355,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:371,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbus-tool.c:377,1
    - Dst: g_ptr_array_index
      Src: /src/glib/gio/gdbus-tool.c:385,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbus-tool.c:348,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/gio/gdbus-tool.c:352,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:371,1
    - Dst: g_variant_iter_free
      Src: /src/glib/gio/gdbus-tool.c:354,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbus-tool.c:364,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbus-tool.c:379,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/gdbus-tool.c:391,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbus-tool.c:340,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbus-tool.c:351,1
    - Dst: g_hash_table_add
      Src: /src/glib/gio/gdbus-tool.c:353,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/gio/gdbus-tool.c:376,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbus-tool.c:372,1
    - Dst: g_variant_iter_free
      Src: /src/glib/gio/gdbus-tool.c:378,1
    - Dst: g_hash_table_steal_all_keys
      Src: /src/glib/gio/gdbus-tool.c:381,1
    - Dst: g_ptr_array_sort_values
      Src: /src/glib/gio/gdbus-tool.c:382,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gdbus-tool.c:386,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbus-tool.c:394,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdbus-tool.c:331,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:347,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbus-tool.c:353,1
    - Dst: g_dbus_connection_call_sync
      Src: /src/glib/gio/gdbus-tool.c:358,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbus-tool.c:375,1
    - Dst: g_hash_table_add
      Src: /src/glib/gio/gdbus-tool.c:377,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:389,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 2
    argNames:
    - c
    - include_unique_names
    argTypes:
    - GDBusConnection*
    - gboolean
    constantsTouched: []
    func_position:
      end: 395
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 395
    functionName: print_names
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - g_printerr
    - g_variant_iter_loop
    - g_hash_table_new_full
    - g_clear_pointer
    - g_variant_unref
    - g_error_free
    - g_variant_get
    - g_print
    - g_strdup
    - g_hash_table_steal_all_keys
    - g_hash_table_unref
    - g_dbus_connection_call_sync
    - _
    - g_ptr_array_index
    - G_VARIANT_TYPE
    - g_hash_table_add
    - g_ptr_array_sort_values
    - g_str_has_prefix
    - g_variant_iter_free
    linkageType: ''
    returnType: void
    signature: 'static void print_names (GDBusConnection *c, gboolean include_unique_names) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gio/gdbus-tool.c:2190,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - option_name
    - value
    - data
    - error
    argTypes:
    - gchar*
    - gchar*
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 2193
      start: 2182
    functionDepth: 0
    functionLinenumber: 2182
    functionLinenumberEnd: 2193
    functionName: opt_wait_activate_cb
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - g_strdup
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean opt_wait_activate_cb (const gchar *option_name, const
      gchar *value, gpointer data, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/gio/gdbus-tool.c:108,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/gdbus-tool.c:111,1
    - Dst: g_path_get_basename
      Src: /src/glib/gio/gdbus-tool.c:112,1
    - Dst: g_option_context_set_help_enabled
      Src: /src/glib/gio/gdbus-tool.c:109,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:108,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbus-tool.c:112,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbus-tool.c:113,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:113,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:123,1
    - Dst: g_option_context_set_description
      Src: /src/glib/gio/gdbus-tool.c:124,1
    - Dst: g_option_context_get_help
      Src: /src/glib/gio/gdbus-tool.c:126,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:130,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:128,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gdbus-tool.c:132,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:131,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:125,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - argc
    - argv
    - use_stdout
    argTypes:
    - gint*
    - gchar**
    - gboolean
    constantsTouched: []
    func_position:
      end: 133
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 133
    functionName: usage
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - g_option_context_set_description
    - g_strdup
    - g_path_get_basename
    - g_strdup_printf
    - g_printerr
    - g_option_context_new
    - g_option_context_free
    - g_option_context_get_help
    - g_option_context_set_help_enabled
    - g_print
    - g_option_context_parse
    - _
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void usage (gint *argc, gchar **argv[], gboolean use_stdout) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/glib/gio/gdbus-tool.c:2565,1
    - Dst: completion_debug
      Src: /src/glib/gio/gdbus-tool.c:2572,1
    - Dst: completion_debug
      Src: /src/glib/gio/gdbus-tool.c:2570,1
    - Dst: completion_debug
      Src: /src/glib/gio/gdbus-tool.c:2573,1
    - Dst: completion_debug
      Src: /src/glib/gio/gdbus-tool.c:2571,1
    - Dst: completion_debug
      Src: /src/glib/gio/gdbus-tool.c:2574,1
    - Dst: completion_debug
      Src: /src/glib/gio/gdbus-tool.c:2576,1
    - Dst: g_shell_parse_argv
      Src: /src/glib/gio/gdbus-tool.c:2579,1
    - Dst: pick_word_at
      Src: /src/glib/gio/gdbus-tool.c:2593,1
    - Dst: g_ascii_isspace
      Src: /src/glib/gio/gdbus-tool.c:2599,1
    - Dst: completion_debug
      Src: /src/glib/gio/gdbus-tool.c:2608,1
    - Dst: pick_word_at
      Src: /src/glib/gio/gdbus-tool.c:2601,1
    - Dst: completion_debug
      Src: /src/glib/gio/gdbus-tool.c:2607,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 1
    argNames:
    - (command, "complete") == 0 && argc == 4 && !request_completion)
    argTypes:
    - g_strcmp0
    constantsTouched: []
    func_position:
      end: 2617
      start: 2553
    functionDepth: 0
    functionLinenumber: 2553
    functionLinenumberEnd: 2617
    functionName: if
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - g_ascii_isspace
    - g_shell_parse_argv
    - pick_word_at
    - strtol
    - completion_debug
    linkageType: ''
    returnType: else
    signature: 'else if (g_strcmp0 (command, "complete") == 0 && argc == 4 && !request_completion) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gdbus-tool.c:146,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbus-tool.c:147,1
    - Dst: g_path_get_basename
      Src: /src/glib/gio/gdbus-tool.c:150,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:147,1
    - Dst: remove_arg
      Src: /src/glib/gio/gdbus-tool.c:148,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbus-tool.c:151,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:153,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - argc
    - argv
    - command
    argTypes:
    - gint*
    - gchar**
    - gchar*
    constantsTouched: []
    func_position:
      end: 154
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 154
    functionName: modify_argv0_for_command
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_path_get_basename
    - g_assert
    - g_free
    - g_strcmp0
    - remove_arg
    linkageType: ''
    returnType: void
    signature: 'static void modify_argv0_for_command (gint *argc, gchar **argv[],
      const gchar *command) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/glib/gio/gdbus-tool.c:566,1
    - Dst: g_string_append
      Src: /src/glib/gio/gdbus-tool.c:570,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdbus-tool.c:574,1
    - Dst: G_UNLIKELY
      Src: /src/glib/gio/gdbus-tool.c:569,1
    - Dst: g_string_append_c
      Src: /src/glib/gio/gdbus-tool.c:572,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbus-tool.c:575,1
    - Dst: g_variant_parse
      Src: /src/glib/gio/gdbus-tool.c:577,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:582,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 585
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 585
    functionName: _g_variant_parse_me_harder
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - g_variant_parse
    - g_string_append_c
    - g_string_free
    - G_UNLIKELY
    - g_string_new
    - g_free
    - g_string_append
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *_g_variant_parse_me_harder (GVariantType *type, const
      gchar *given_str, GError **error) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_iter_next_value
      Src: /src/glib/gio/gdbus-tool.c:1520,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbus-tool.c:1532,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbus-tool.c:1556,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbus-tool.c:1552,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbus-tool.c:1543,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdbus-tool.c:1491,1
    - Dst: g_variant_new
      Src: /src/glib/gio/gdbus-tool.c:1505,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbus-tool.c:1513,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbus-tool.c:1517,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbus-tool.c:1529,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gdbus-tool.c:1529,1
    - Dst: g_dbus_connection_call_sync
      Src: /src/glib/gio/gdbus-tool.c:1538,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gdbus-tool.c:1557,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbus-tool.c:1555,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1572,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbus-tool.c:1513,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbus-tool.c:1524,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1567,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1580,1
    - Dst: dump_signal
      Src: /src/glib/gio/gdbus-tool.c:1584,1
    - Dst: dump_property
      Src: /src/glib/gio/gdbus-tool.c:1593,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbus-tool.c:1596,1
    - Dst: g_dbus_connection_call_sync
      Src: /src/glib/gio/gdbus-tool.c:1500,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbus-tool.c:1558,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbus-tool.c:1544,1
    - Dst: dump_annotation
      Src: /src/glib/gio/gdbus-tool.c:1565,1
    - Dst: dump_method
      Src: /src/glib/gio/gdbus-tool.c:1576,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1599,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbus-tool.c:1602,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1588,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 79
    argCount: 6
    argNames:
    - c
    - name
    - o
    - indent
    - use_colors
    - object_path
    argTypes:
    - GDBusConnection*
    - gchar*
    - GDBusInterfaceInfo*
    - guint
    - gboolean
    - gchar*
    constantsTouched: []
    func_position:
      end: 1603
      start: 1480
    functionDepth: 0
    functionLinenumber: 1480
    functionLinenumberEnd: 1603
    functionName: dump_interface
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_variant_is_of_type
    - dump_property
    - g_hash_table_unref
    - g_hash_table_lookup
    - g_hash_table_insert
    - g_dbus_connection_call_sync
    - g_variant_unref
    - g_variant_new
    - g_hash_table_new_full
    - g_variant_iter_next_value
    - g_variant_get
    - dump_annotation
    - g_print
    - dump_method
    - dump_signal
    - G_VARIANT_TYPE
    - g_variant_ref
    linkageType: ''
    returnType: void
    signature: 'static void dump_interface (GDBusConnection *c, const gchar *name,
      const GDBusInterfaceInfo *o, guint indent, gboolean use_colors, const gchar
      *object_path) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dump_annotation
      Src: /src/glib/gio/gdbus-tool.c:1628,1
    - Dst: dump_interface
      Src: /src/glib/gio/gdbus-tool.c:1647,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1630,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1637,1
    - Dst: dump_interface
      Src: /src/glib/gio/gdbus-tool.c:1643,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbus-tool.c:1655,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbus-tool.c:1657,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gdbus-tool.c:1659,1
    - Dst: introspect_do
      Src: /src/glib/gio/gdbus-tool.c:1661,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1665,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbus-tool.c:1672,1
    - Dst: dump_node
      Src: /src/glib/gio/gdbus-tool.c:1681,1
    - Dst: introspect_do
      Src: /src/glib/gio/gdbus-tool.c:1675,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbus-tool.c:1674,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:1677,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1684,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1689,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:1671,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 62
    argCount: 7
    argNames:
    - c
    - name
    - o
    - indent
    - use_colors
    - object_path
    - recurse
    argTypes:
    - GDBusConnection*
    - gchar*
    - GDBusNodeInfo*
    - guint
    - gboolean
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 1691
      start: 1611
    functionDepth: 0
    functionLinenumber: 1611
    functionLinenumberEnd: 1691
    functionName: dump_node
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - dump_node
    - g_strdup
    - g_strdup_printf
    - introspect_do
    - dump_interface
    - g_free
    - g_str_has_prefix
    - g_strcmp0
    - g_print
    - g_variant_is_object_path
    - dump_annotation
    linkageType: ''
    returnType: void
    signature: 'static void dump_node (GDBusConnection *c, const gchar *name, const
      GDBusNodeInfo *o, guint indent, gboolean use_colors, const gchar *object_path,
      gboolean recurse) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - format
    - '...'
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: completion_debug
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void completion_debug (const gchar *format, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/gio/gdbus-tool.c:164,1
    - Dst: g_option_context_set_ignore_unknown_options
      Src: /src/glib/gio/gdbus-tool.c:166,1
    - Dst: g_option_context_set_help_enabled
      Src: /src/glib/gio/gdbus-tool.c:167,1
    - Dst: g_option_context_set_summary
      Src: /src/glib/gio/gdbus-tool.c:168,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/gio/gdbus-tool.c:169,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/gdbus-tool.c:171,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 172
    functionName: command_option_context_new
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_option_context_set_ignore_unknown_options
    - g_option_context_new
    - g_option_context_set_summary
    - g_option_context_set_help_enabled
    - g_option_context_add_main_entries
    linkageType: ''
    returnType: GOptionContext*
    signature: 'static GOptionContext *command_option_context_new (const gchar *parameter_string,
      const gchar *summary, const GOptionEntry *entries, gboolean request_completion) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_option_group_new
      Src: /src/glib/gio/gdbus-tool.c:416,1
    - Dst: g_option_group_set_translation_domain
      Src: /src/glib/gio/gdbus-tool.c:421,1
    - Dst: N_
      Src: /src/glib/gio/gdbus-tool.c:417,1
    - Dst: g_option_group_add_entries
      Src: /src/glib/gio/gdbus-tool.c:422,1
    - Dst: N_
      Src: /src/glib/gio/gdbus-tool.c:418,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 425
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 425
    functionName: connection_get_group
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - N_
    - g_option_group_set_translation_domain
    - g_option_group_add_entries
    - g_option_group_new
    linkageType: ''
    returnType: GOptionGroup*
    signature: 'static GOptionGroup *connection_get_group (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_print
      Src: /src/glib/gio/gdbus-tool.c:1949,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:1955,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1950,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 7
    argNames:
    - connection
    - sender_name
    - object_path
    - interface_name
    - signal_name
    - parameters
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1956
      start: 1939
    functionDepth: 0
    functionLinenumber: 1939
    functionLinenumberEnd: 1956
    functionName: monitor_signal_cb
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - g_free
    - g_variant_print
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void monitor_signal_cb (GDBusConnection *connection, const
      gchar *sender_name, const gchar *object_path, const gchar *interface_name, const
      gchar *signal_name, GVariant *parameters, gpointer user_data) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_call_sync
      Src: /src/glib/gio/gdbus-tool.c:501,1
    - Dst: g_dbus_node_info_new_for_xml
      Src: /src/glib/gio/gdbus-tool.c:516,1
    - Dst: g_dbus_node_info_lookup_interface
      Src: /src/glib/gio/gdbus-tool.c:520,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbus-tool.c:515,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbus-tool.c:507,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbus-tool.c:523,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:524,1
    - Dst: g_dbus_interface_info_lookup_method
      Src: /src/glib/gio/gdbus-tool.c:529,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbus-tool.c:532,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:533,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/gdbus-tool.c:547,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbus-tool.c:549,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/gio/gdbus-tool.c:539,1
    - Dst: g_variant_type_new
      Src: /src/glib/gio/gdbus-tool.c:542,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/gdbus-tool.c:542,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 552
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 552
    functionName: call_helper_get_method_in_signature
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_ptr_array_add
    - g_dbus_node_info_new_for_xml
    - g_dbus_node_info_unref
    - g_dbus_connection_call_sync
    - g_ptr_array_new_with_free_func
    - g_variant_unref
    - g_dbus_node_info_lookup_interface
    - g_variant_get
    - g_variant_type_new
    - _
    - G_VARIANT_TYPE
    - g_dbus_interface_info_lookup_method
    linkageType: ''
    returnType: GPtrArray*
    signature: 'static GPtrArray *call_helper_get_method_in_signature (GDBusConnection
      *c, const gchar *dest, const gchar *path, const gchar *interface_name, const
      gchar *method_name, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1325,1
    - Dst: dump_annotation
      Src: /src/glib/gio/gdbus-tool.c:1329,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - o
    - indent
    - ignore_indent
    - use_colors
    argTypes:
    - GDBusAnnotationInfo*
    - guint
    - gboolean
    - gboolean
    constantsTouched: []
    func_position:
      end: 1330
      start: 1318
    functionDepth: 0
    functionLinenumber: 1318
    functionLinenumberEnd: 1330
    functionName: dump_annotation
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - dump_annotation
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void dump_annotation (const GDBusAnnotationInfo *o, guint indent,
      gboolean ignore_indent, gboolean use_colors) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 1
    argNames:
    - args
    argTypes:
    - GDBusArgInfo**
    constantsTouched: []
    func_position:
      end: 1367
      start: 1356
    functionDepth: 0
    functionLinenumber: 1356
    functionLinenumberEnd: 1367
    functionName: count_args
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint
    signature: 'static guint count_args (GDBusArgInfo **args) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1964,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbus-tool.c:1965,1
    - Dst: g_dbus_connection_signal_subscribe
      Src: /src/glib/gio/gdbus-tool.c:1966,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - connection
    - name
    - name_owner
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1976
      start: 1958
    functionDepth: 0
    functionLinenumber: 1958
    functionLinenumberEnd: 1976
    functionName: monitor_on_name_appeared
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_dbus_connection_signal_subscribe
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void monitor_on_name_appeared (GDBusConnection *connection,
      const gchar *name, const gchar *name_owner, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - connection
    - name
    - name_owner
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2216
      start: 2207
    functionDepth: 0
    functionLinenumber: 2207
    functionLinenumberEnd: 2216
    functionName: wait_name_appeared_cb
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void wait_name_appeared_cb (GDBusConnection *connection, const
      gchar *name, const gchar *name_owner, gpointer user_data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_isspace
      Src: /src/glib/gio/gdbus-tool.c:2418,1
    - Dst: g_ascii_isspace
      Src: /src/glib/gio/gdbus-tool.c:2430,1
    - Dst: g_ascii_isspace
      Src: /src/glib/gio/gdbus-tool.c:2418,1
    - Dst: g_ascii_isspace
      Src: /src/glib/gio/gdbus-tool.c:2425,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbus-tool.c:2422,1
    - Dst: g_strndup
      Src: /src/glib/gio/gdbus-tool.c:2436,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2437
      start: 2403
    functionDepth: 0
    functionLinenumber: 2403
    functionLinenumberEnd: 2437
    functionName: pick_word_at
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - g_ascii_isspace
    - g_strndup
    - g_strdup
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *pick_word_at (const gchar *s, gint cursor, gint *out_word_begins_at) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dump_annotation
      Src: /src/glib/gio/gdbus-tool.c:1344,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1348,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 6
    argNames:
    - o
    - indent
    - direction
    - ignore_indent
    - include_newline
    - use_colors
    argTypes:
    - GDBusArgInfo*
    - guint
    - gchar*
    - gboolean
    - gboolean
    - gboolean
    constantsTouched: []
    func_position:
      end: 1354
      start: 1332
    functionDepth: 0
    functionLinenumber: 1332
    functionLinenumberEnd: 1354
    functionName: dump_arg
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - dump_annotation
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void dump_arg (const GDBusArgInfo *o, guint indent, const gchar
      *direction, gboolean ignore_indent, gboolean include_newline, gboolean use_colors) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dump_annotation
      Src: /src/glib/gio/gdbus-tool.c:1380,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1382,1
    - Dst: count_args
      Src: /src/glib/gio/gdbus-tool.c:1386,1
    - Dst: count_args
      Src: /src/glib/gio/gdbus-tool.c:1386,1
    - Dst: strlen
      Src: /src/glib/gio/gdbus-tool.c:1385,1
    - Dst: dump_arg
      Src: /src/glib/gio/gdbus-tool.c:1392,1
    - Dst: dump_arg
      Src: /src/glib/gio/gdbus-tool.c:1403,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1410,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 3
    argNames:
    - o
    - indent
    - use_colors
    argTypes:
    - GDBusMethodInfo*
    - guint
    - gboolean
    constantsTouched: []
    func_position:
      end: 1411
      start: 1369
    functionDepth: 0
    functionLinenumber: 1369
    functionLinenumberEnd: 1411
    functionName: dump_method
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - strlen
    - count_args
    - dump_arg
    - g_print
    - dump_annotation
    linkageType: ''
    returnType: void
    signature: 'static void dump_method (const GDBusMethodInfo *o, guint indent, gboolean
      use_colors) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1983,1
    - Dst: g_steal_handle_id
      Src: /src/glib/gio/gdbus-tool.c:1986,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/gdbus-tool.c:1986,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1987
      start: 1978
    functionDepth: 0
    functionLinenumber: 1978
    functionLinenumberEnd: 1987
    functionName: monitor_on_name_vanished
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - g_steal_handle_id
    - g_dbus_connection_signal_unsubscribe
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void monitor_on_name_vanished (GDBusConnection *connection,
      const gchar *name, gpointer user_data) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: modify_argv0_for_command
      Src: /src/glib/gio/gdbus-tool.c:2015,1
    - Dst: connection_get_group
      Src: /src/glib/gio/gdbus-tool.c:2019,1
    - Dst: command_option_context_new
      Src: /src/glib/gio/gdbus-tool.c:2017,1
    - Dst: remove_arg
      Src: /src/glib/gio/gdbus-tool.c:2025,1
    - Dst: remove_arg
      Src: /src/glib/gio/gdbus-tool.c:2032,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:2065,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:2040,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:2090,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:2093,1
    - Dst: strrchr
      Src: /src/glib/gio/gdbus-tool.c:2123,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/gdbus-tool.c:2159,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbus-tool.c:2165,1
    - Dst: g_option_context_add_group
      Src: /src/glib/gio/gdbus-tool.c:2019,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:2052,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:2065,1
    - Dst: connection_get_dbus_connection
      Src: /src/glib/gio/gdbus-tool.c:2047,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbus-tool.c:2067,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/gdbus-tool.c:2072,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:2075,1
    - Dst: print_names
      Src: /src/glib/gio/gdbus-tool.c:2081,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:2088,1
    - Dst: print_names
      Src: /src/glib/gio/gdbus-tool.c:2095,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:2101,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:2145,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/gdbus-tool.c:2149,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:2041,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:2054,1
    - Dst: g_option_context_get_help
      Src: /src/glib/gio/gdbus-tool.c:2039,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:2090,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gdbus-tool.c:2095,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:2119,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:2131,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:2136,1
    - Dst: g_bus_watch_name_on_connection
      Src: /src/glib/gio/gdbus-tool.c:2150,1
    - Dst: print_paths
      Src: /src/glib/gio/gdbus-tool.c:2130,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:2114,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:2136,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/gdbus-tool.c:2158,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:2101,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:2017,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:2022,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:2029,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/gdbus-tool.c:2035,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:2060,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:2075,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbus-tool.c:2099,1
    - Dst: print_paths
      Src: /src/glib/gio/gdbus-tool.c:2107,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbus-tool.c:2122,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbus-tool.c:2134,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:2147,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gdbus-tool.c:2166,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 123
    argCount: 5
    argNames:
    - argc
    - argv
    - request_completion
    - completion_cur
    - completion_prev
    argTypes:
    - gint*
    - gchar**
    - gboolean
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2168
      start: 1996
    functionDepth: 0
    functionLinenumber: 1996
    functionLinenumberEnd: 2168
    functionName: handle_monitor
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - g_printerr
    - g_option_context_free
    - strrchr
    - g_option_context_get_help
    - g_variant_is_object_path
    - print_names
    - connection_get_group
    - g_object_unref
    - command_option_context_new
    - g_dbus_connection_get_unique_name
    - g_error_free
    - g_print
    - g_option_context_parse
    - g_option_context_add_group
    - g_main_loop_run
    - g_strdup
    - connection_get_dbus_connection
    - g_main_loop_new
    - g_strcmp0
    - _
    - g_bus_watch_name_on_connection
    - remove_arg
    - modify_argv0_for_command
    - g_main_loop_unref
    - g_str_has_prefix
    - print_paths
    - g_free
    - g_dbus_is_name
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean handle_monitor (gint *argc, gchar **argv[], gboolean
      request_completion, const gchar *completion_cur, const gchar *completion_prev) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 2227
      start: 2218
    functionDepth: 0
    functionLinenumber: 2218
    functionLinenumberEnd: 2227
    functionName: wait_timeout_cb
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean wait_timeout_cb (gpointer user_data) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: bindtextdomain
      Src: /src/glib/gio/gdbus-tool.c:2456,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:2457,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:2515,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:2535,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:2525,1
    - Dst: strtol
      Src: /src/glib/gio/gdbus-tool.c:2565,1
    - Dst: completion_debug
      Src: /src/glib/gio/gdbus-tool.c:2571,1
    - Dst: completion_debug
      Src: /src/glib/gio/gdbus-tool.c:2572,1
    - Dst: g_shell_parse_argv
      Src: /src/glib/gio/gdbus-tool.c:2579,1
    - Dst: g_ascii_isspace
      Src: /src/glib/gio/gdbus-tool.c:2599,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:2636,1
    - Dst: completion_debug
      Src: /src/glib/gio/gdbus-tool.c:2607,1
    - Dst: textdomain
      Src: /src/glib/gio/gdbus-tool.c:2452,1
    - Dst: bind_textdomain_codeset
      Src: /src/glib/gio/gdbus-tool.c:2463,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:2482,1
    - Dst: handle_introspect
      Src: /src/glib/gio/gdbus-tool.c:2517,1
    - Dst: handle_monitor
      Src: /src/glib/gio/gdbus-tool.c:2527,1
    - Dst: handle_wait
      Src: /src/glib/gio/gdbus-tool.c:2537,1
    - Dst: g_win32_run_session_bus
      Src: /src/glib/gio/gdbus-tool.c:2548,1
    - Dst: completion_debug
      Src: /src/glib/gio/gdbus-tool.c:2570,1
    - Dst: completion_debug
      Src: /src/glib/gio/gdbus-tool.c:2574,1
    - Dst: completion_debug
      Src: /src/glib/gio/gdbus-tool.c:2576,1
    - Dst: pick_word_at
      Src: /src/glib/gio/gdbus-tool.c:2601,1
    - Dst: bindtextdomain
      Src: /src/glib/gio/gdbus-tool.c:2459,1
    - Dst: usage
      Src: /src/glib/gio/gdbus-tool.c:2490,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:2495,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:2505,1
    - Dst: completion_debug
      Src: /src/glib/gio/gdbus-tool.c:2573,1
    - Dst: pick_word_at
      Src: /src/glib/gio/gdbus-tool.c:2593,1
    - Dst: completion_debug
      Src: /src/glib/gio/gdbus-tool.c:2608,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:2628,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:2622,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:2635,1
    - Dst: setlocale
      Src: /src/glib/gio/gdbus-tool.c:2451,1
    - Dst: _glib_get_locale_dir
      Src: /src/glib/gio/gdbus-tool.c:2455,1
    - Dst: usage
      Src: /src/glib/gio/gdbus-tool.c:2472,1
    - Dst: handle_emit
      Src: /src/glib/gio/gdbus-tool.c:2497,1
    - Dst: handle_call
      Src: /src/glib/gio/gdbus-tool.c:2507,1
    - Dst: usage
      Src: /src/glib/gio/gdbus-tool.c:2629,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 97
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - gint
    - gchar*
    constantsTouched: []
    func_position:
      end: 2638
      start: 2439
    functionDepth: 0
    functionLinenumber: 2439
    functionLinenumberEnd: 2638
    functionName: main
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - g_printerr
    - textdomain
    - g_win32_run_session_bus
    - strtol
    - handle_call
    - bind_textdomain_codeset
    - bindtextdomain
    - g_shell_parse_argv
    - setlocale
    - g_print
    - g_ascii_isspace
    - usage
    - handle_monitor
    - g_strcmp0
    - handle_wait
    - handle_introspect
    - _glib_get_locale_dir
    - pick_word_at
    - completion_debug
    - handle_emit
    - g_free
    linkageType: ''
    returnType: gint
    signature: 'gint main (gint argc, gchar *argv[]) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/gio/gdbus-tool.c:438,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:441,1
    - Dst: g_set_error
      Src: /src/glib/gio/gdbus-tool.c:448,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/gdbus-tool.c:457,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:451,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/gdbus-tool.c:461,1
    - Dst: g_dbus_connection_new_for_address_sync
      Src: /src/glib/gio/gdbus-tool.c:468,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 477
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 477
    functionName: connection_get_dbus_connection
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_bus_get_sync
    - g_dbus_connection_new_for_address_sync
    - _
    linkageType: ''
    returnType: GDBusConnection*
    signature: 'static GDBusConnection *connection_get_dbus_connection (gboolean require_message_bus,
      GError **error) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: command_option_context_new
      Src: /src/glib/gio/gdbus-tool.c:2250,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:2260,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:2274,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:2332,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:2337,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbus-tool.c:2342,1
    - Dst: g_dbus_is_unique_name
      Src: /src/glib/gio/gdbus-tool.c:2343,1
    - Dst: g_bus_watch_name_on_connection
      Src: /src/glib/gio/gdbus-tool.c:2360,1
    - Dst: g_timeout_add_seconds
      Src: /src/glib/gio/gdbus-tool.c:2379,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbus-tool.c:2393,1
    - Dst: modify_argv0_for_command
      Src: /src/glib/gio/gdbus-tool.c:2248,1
    - Dst: connection_get_group
      Src: /src/glib/gio/gdbus-tool.c:2253,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:2280,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:2327,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbus-tool.c:2350,1
    - Dst: g_bus_unwatch_name
      Src: /src/glib/gio/gdbus-tool.c:2384,1
    - Dst: g_bus_unwatch_name
      Src: /src/glib/gio/gdbus-tool.c:2388,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:2395,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:2250,1
    - Dst: g_option_context_get_help
      Src: /src/glib/gio/gdbus-tool.c:2259,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:2261,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:2285,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:2332,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:2337,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:2345,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:2345,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:2352,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/gdbus-tool.c:2382,1
    - Dst: g_source_remove
      Src: /src/glib/gio/gdbus-tool.c:2386,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gdbus-tool.c:2394,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:2251,1
    - Dst: g_option_context_add_group
      Src: /src/glib/gio/gdbus-tool.c:2253,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/gdbus-tool.c:2255,1
    - Dst: connection_get_dbus_connection
      Src: /src/glib/gio/gdbus-tool.c:2267,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbus-tool.c:2287,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:2327,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:2285,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:2272,1
    - Dst: g_dbus_is_unique_name
      Src: /src/glib/gio/gdbus-tool.c:2350,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:2352,1
    - Dst: g_bus_watch_name_on_connection
      Src: /src/glib/gio/gdbus-tool.c:2371,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 118
    argCount: 5
    argNames:
    - argc
    - argv
    - request_completion
    - completion_cur
    - completion_prev
    argTypes:
    - gint*
    - gchar**
    - gboolean
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2399
      start: 2229
    functionDepth: 0
    functionLinenumber: 2229
    functionLinenumberEnd: 2399
    functionName: handle_wait
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - g_printerr
    - g_option_context_free
    - g_option_context_get_help
    - g_dbus_is_unique_name
    - connection_get_group
    - command_option_context_new
    - g_timeout_add_seconds
    - g_clear_object
    - g_error_free
    - g_bus_unwatch_name
    - g_print
    - g_option_context_parse
    - g_option_context_add_group
    - g_source_remove
    - connection_get_dbus_connection
    - g_strcmp0
    - _
    - g_bus_watch_name_on_connection
    - modify_argv0_for_command
    - g_main_context_iteration
    - g_free
    - g_dbus_is_name
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean handle_wait (gint *argc, gchar **argv[], gboolean
      request_completion, const gchar *completion_cur, const gchar *completion_prev) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_call_sync
      Src: /src/glib/gio/gdbus-tool.c:191,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbus-tool.c:197,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:204,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:204,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbus-tool.c:205,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbus-tool.c:208,1
    - Dst: g_dbus_node_info_new_for_xml
      Src: /src/glib/gio/gdbus-tool.c:211,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbus-tool.c:212,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:215,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:215,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:231,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:226,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/gdbus-tool.c:234,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbus-tool.c:216,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 40
    argCount: 5
    argNames:
    - c
    - name
    - path
    - print_methods
    - print_signals
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gboolean
    - gboolean
    constantsTouched: []
    func_position:
      end: 238
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 238
    functionName: print_methods_and_signals
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - g_printerr
    - g_dbus_node_info_new_for_xml
    - g_dbus_node_info_unref
    - g_dbus_connection_call_sync
    - g_variant_unref
    - g_error_free
    - g_variant_get
    - g_print
    - _
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: void
    signature: 'static void print_methods_and_signals (GDBusConnection *c, const gchar
      *name, const gchar *path, gboolean print_methods, gboolean print_signals) '
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:1060,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:1083,1
    - Dst: call_helper_get_method_in_signature
      Src: /src/glib/gio/gdbus-tool.c:1102,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbus-tool.c:1198,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gdbus-tool.c:1291,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:966,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:1019,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:1030,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:1045,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:1276,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:1091,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:1186,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:977,1
    - Dst: g_string_free
      Src: /src/glib/gio/gdbus-tool.c:1264,1
    - Dst: g_clear_object
      Src: /src/glib/gio/gdbus-tool.c:1293,1
    - Dst: connection_get_dbus_connection
      Src: /src/glib/gio/gdbus-tool.c:984,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:989,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbus-tool.c:1028,1
    - Dst: print_paths
      Src: /src/glib/gio/gdbus-tool.c:1037,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/gio/gdbus-tool.c:1205,1
    - Dst: g_variant_print
      Src: /src/glib/gio/gdbus-tool.c:1274,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbus-tool.c:1284,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbus-tool.c:1270,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:991,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gdbus-tool.c:1024,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:1177,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:1183,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbus-tool.c:1181,1
    - Dst: g_unix_fd_list_append
      Src: /src/glib/gio/gdbus-tool.c:1193,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:1140,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:1177,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1078,1
    - Dst: g_variant_type_get_string_length
      Src: /src/glib/gio/gdbus-tool.c:1260,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:947,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:1030,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbus-tool.c:1051,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:1169,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdbus-tool.c:1211,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:1290,1
    - Dst: g_variant_parse
      Src: /src/glib/gio/gdbus-tool.c:1151,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbus-tool.c:1189,1
    - Dst: connection_get_group
      Src: /src/glib/gio/gdbus-tool.c:949,1
    - Dst: remove_arg
      Src: /src/glib/gio/gdbus-tool.c:955,1
    - Dst: remove_arg
      Src: /src/glib/gio/gdbus-tool.c:969,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:978,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:1195,1
    - Dst: g_variant_new_handle
      Src: /src/glib/gio/gdbus-tool.c:1202,1
    - Dst: g_string_new
      Src: /src/glib/gio/gdbus-tool.c:1253,1
    - Dst: strrchr
      Src: /src/glib/gio/gdbus-tool.c:1088,1
    - Dst: g_strndup
      Src: /src/glib/gio/gdbus-tool.c:1095,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:1080,1
    - Dst: g_option_context_add_group
      Src: /src/glib/gio/gdbus-tool.c:949,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:952,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:1195,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:1263,1
    - Dst: g_error_matches
      Src: /src/glib/gio/gdbus-tool.c:1248,1
    - Dst: print_names
      Src: /src/glib/gio/gdbus-tool.c:1011,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:1022,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:1048,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbus-tool.c:1063,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:1065,1
    - Dst: g_string_append_len
      Src: /src/glib/gio/gdbus-tool.c:1258,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:1126,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:1169,1
    - Dst: g_variant_builder_clear
      Src: /src/glib/gio/gdbus-tool.c:1182,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:959,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/gdbus-tool.c:972,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:1080,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gdbus-tool.c:1208,1
    - Dst: modify_argv0_for_command
      Src: /src/glib/gio/gdbus-tool.c:945,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:1002,1
    - Dst: strrchr
      Src: /src/glib/gio/gdbus-tool.c:1052,1
    - Dst: g_variant_builder_init_static
      Src: /src/glib/gio/gdbus-tool.c:1116,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/gdbus-tool.c:1282,1
    - Dst: print_methods_and_signals
      Src: /src/glib/gio/gdbus-tool.c:1072,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbus-tool.c:1094,1
    - Dst: _g_variant_parse_me_harder
      Src: /src/glib/gio/gdbus-tool.c:1163,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:1002,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbus-tool.c:1004,1
    - Dst: g_variant_type_dup_string
      Src: /src/glib/gio/gdbus-tool.c:1168,1
    - Dst: g_variant_get_handle
      Src: /src/glib/gio/gdbus-tool.c:1196,1
    - Dst: g_dbus_connection_call_with_unix_fd_list_sync
      Src: /src/glib/gio/gdbus-tool.c:1218,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbus-tool.c:1288,1
    - Dst: g_option_context_get_help
      Src: /src/glib/gio/gdbus-tool.c:976,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1017,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1043,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:1065,1
    - Dst: g_variant_get_handle
      Src: /src/glib/gio/gdbus-tool.c:1193,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbus-tool.c:1201,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:1289,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbus-tool.c:1161,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:997,1
    - Dst: print_paths
      Src: /src/glib/gio/gdbus-tool.c:1059,1
    - Dst: g_unix_fd_list_new
      Src: /src/glib/gio/gdbus-tool.c:1192,1
    - Dst: print_methods_and_signals
      Src: /src/glib/gio/gdbus-tool.c:1085,1
    - Dst: command_option_context_new
      Src: /src/glib/gio/gdbus-tool.c:947,1
    - Dst: remove_arg
      Src: /src/glib/gio/gdbus-tool.c:962,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:1091,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbus-tool.c:1111,1
    - Dst: g_variant_builder_clear
      Src: /src/glib/gio/gdbus-tool.c:1197,1
    - Dst: g_dbus_connection_call_sync
      Src: /src/glib/gio/gdbus-tool.c:1232,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:1246,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:1045,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:1173,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:1019,1
    - Dst: print_names
      Src: /src/glib/gio/gdbus-tool.c:1024,1
    - Dst: g_variant_parse_error_print_context
      Src: /src/glib/gio/gdbus-tool.c:1160,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:1246,1
    - Dst: g_variant_type_peek_string
      Src: /src/glib/gio/gdbus-tool.c:1259,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1275,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbus-tool.c:1286,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:1267,1
    CyclomaticComplexity: 102
    EdgeCount: 102
    ICount: 277
    argCount: 5
    argNames:
    - argc
    - argv
    - request_completion
    - completion_cur
    - completion_prev
    argTypes:
    - gint*
    - gchar**
    - gboolean
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1296
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 1296
    functionName: handle_call
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - g_printerr
    - g_variant_get_handle
    - call_helper_get_method_in_signature
    - g_variant_new_handle
    - g_option_context_free
    - strrchr
    - g_option_context_get_help
    - g_variant_is_object_path
    - print_names
    - connection_get_group
    - g_object_unref
    - g_variant_is_of_type
    - command_option_context_new
    - g_variant_builder_init_static
    - g_dbus_connection_call_with_unix_fd_list_sync
    - g_variant_unref
    - g_variant_type_dup_string
    - g_error_free
    - g_unix_fd_list_append
    - g_clear_object
    - g_print
    - g_option_context_parse
    - g_option_context_add_group
    - g_variant_builder_end
    - g_variant_parse_error_print_context
    - g_ptr_array_unref
    - g_strdup
    - g_variant_parse
    - g_string_append_len
    - g_strndup
    - connection_get_dbus_connection
    - g_dbus_connection_call_sync
    - print_methods_and_signals
    - g_strcmp0
    - g_variant_print
    - g_string_new
    - _
    - g_variant_ref_sink
    - _g_variant_parse_me_harder
    - g_variant_type_get_string_length
    - remove_arg
    - modify_argv0_for_command
    - g_variant_builder_clear
    - g_variant_type_peek_string
    - g_error_matches
    - g_str_has_prefix
    - g_unix_fd_list_new
    - print_paths
    - g_variant_builder_add_value
    - g_string_free
    - g_free
    - g_dbus_is_name
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean handle_call (gint *argc, gchar **argv[], gboolean
      request_completion, const gchar *completion_cur, const gchar *completion_prev) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dump_annotation
      Src: /src/glib/gio/gdbus-tool.c:1423,1
    - Dst: dump_arg
      Src: /src/glib/gio/gdbus-tool.c:1434,1
    - Dst: strlen
      Src: /src/glib/gio/gdbus-tool.c:1428,1
    - Dst: count_args
      Src: /src/glib/gio/gdbus-tool.c:1429,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1425,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1441,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - o
    - indent
    - use_colors
    argTypes:
    - GDBusSignalInfo*
    - guint
    - gboolean
    constantsTouched: []
    func_position:
      end: 1442
      start: 1413
    functionDepth: 0
    functionLinenumber: 1413
    functionLinenumberEnd: 1442
    functionName: dump_signal
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - strlen
    - count_args
    - dump_arg
    - g_print
    - dump_annotation
    linkageType: ''
    returnType: void
    signature: 'static void dump_signal (const GDBusSignalInfo *o, guint indent, gboolean
      use_colors) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_call_sync
      Src: /src/glib/gio/gdbus-tool.c:1720,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:1733,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbus-tool.c:1734,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbus-tool.c:1726,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:1733,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbus-tool.c:1737,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1741,1
    - Dst: g_dbus_node_info_new_for_xml
      Src: /src/glib/gio/gdbus-tool.c:1746,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:1749,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:1749,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbus-tool.c:1750,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/gdbus-tool.c:1761,1
    - Dst: dump_node
      Src: /src/glib/gio/gdbus-tool.c:1754,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbus-tool.c:1763,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 4
    argNames:
    - c
    - object_path
    - indent
    - use_colors
    argTypes:
    - GDBusConnection*
    - gchar*
    - guint
    - gboolean
    constantsTouched: []
    func_position:
      end: 1765
      start: 1703
    functionDepth: 0
    functionLinenumber: 1703
    functionLinenumberEnd: 1765
    functionName: introspect_do
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - dump_node
    - g_printerr
    - g_dbus_node_info_new_for_xml
    - g_dbus_node_info_unref
    - g_dbus_connection_call_sync
    - g_variant_unref
    - g_error_free
    - g_variant_get
    - g_print
    - _
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean introspect_do (GDBusConnection *c, const gchar *object_path,
      guint indent, gboolean use_colors) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_error_free
      Src: /src/glib/gio/gdbus-tool.c:277,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:289,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbus-tool.c:286,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbus-tool.c:306,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbus-tool.c:269,1
    - Dst: g_dbus_node_info_new_for_xml
      Src: /src/glib/gio/gdbus-tool.c:285,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbus-tool.c:280,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbus-tool.c:290,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gdbus-tool.c:308,1
    - Dst: print_paths
      Src: /src/glib/gio/gdbus-tool.c:310,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/gdbus-tool.c:314,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbus-tool.c:251,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbus-tool.c:256,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:276,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:253,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:258,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:253,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:258,1
    - Dst: g_dbus_connection_call_sync
      Src: /src/glib/gio/gdbus-tool.c:263,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:276,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:289,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:297,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:305,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:312,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 46
    argCount: 3
    argNames:
    - c
    - name
    - path
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 318
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 318
    functionName: print_paths
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - g_printerr
    - g_strdup_printf
    - g_dbus_node_info_new_for_xml
    - g_free
    - g_dbus_node_info_unref
    - g_dbus_connection_call_sync
    - g_variant_unref
    - g_error_free
    - print_paths
    - g_strcmp0
    - g_variant_get
    - g_print
    - _
    - g_variant_is_object_path
    - G_VARIANT_TYPE
    - g_dbus_is_name
    linkageType: ''
    returnType: void
    signature: 'static void print_paths (GDBusConnection *c, const gchar *name, const
      gchar *path) '
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_parse
      Src: /src/glib/gio/gdbus-tool.c:655,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbus-tool.c:869,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:880,1
    - Dst: g_dbus_is_member_name
      Src: /src/glib/gio/gdbus-tool.c:797,1
    - Dst: g_variant_builder_end
      Src: /src/glib/gio/gdbus-tool.c:849,1
    - Dst: command_option_context_new
      Src: /src/glib/gio/gdbus-tool.c:630,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:674,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:697,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:705,1
    - Dst: print_methods_and_signals
      Src: /src/glib/gio/gdbus-tool.c:775,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:813,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:747,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:781,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:630,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbus-tool.c:784,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:793,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:861,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbus-tool.c:745,1
    - Dst: g_variant_parse
      Src: /src/glib/gio/gdbus-tool.c:820,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:861,1
    - Dst: modify_argv0_for_command
      Src: /src/glib/gio/gdbus-tool.c:628,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:685,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbus-tool.c:687,1
    - Dst: print_names
      Src: /src/glib/gio/gdbus-tool.c:699,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:763,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:836,1
    - Dst: g_variant_builder_clear
      Src: /src/glib/gio/gdbus-tool.c:841,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbus-tool.c:877,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:747,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:660,1
    - Dst: print_names
      Src: /src/glib/gio/gdbus-tool.c:694,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:781,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:642,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbus-tool.c:732,1
    - Dst: print_methods_and_signals
      Src: /src/glib/gio/gdbus-tool.c:754,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:793,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbus-tool.c:839,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:767,1
    - Dst: remove_arg
      Src: /src/glib/gio/gdbus-tool.c:645,1
    - Dst: g_option_context_get_help
      Src: /src/glib/gio/gdbus-tool.c:659,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:685,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:727,1
    - Dst: strrchr
      Src: /src/glib/gio/gdbus-tool.c:733,1
    - Dst: g_variant_parse_error_print_context
      Src: /src/glib/gio/gdbus-tool.c:829,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbus-tool.c:862,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:711,1
    - Dst: g_dbus_connection_emit_signal
      Src: /src/glib/gio/gdbus-tool.c:853,1
    - Dst: connection_get_group
      Src: /src/glib/gio/gdbus-tool.c:632,1
    - Dst: remove_arg
      Src: /src/glib/gio/gdbus-tool.c:652,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:836,1
    - Dst: g_dbus_is_interface_name
      Src: /src/glib/gio/gdbus-tool.c:791,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:799,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:724,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:868,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gdbus-tool.c:882,1
    - Dst: g_variant_builder_add_value
      Src: /src/glib/gio/gdbus-tool.c:846,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:773,1
    - Dst: print_paths
      Src: /src/glib/gio/gdbus-tool.c:740,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:722,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:868,1
    - Dst: connection_get_dbus_connection
      Src: /src/glib/gio/gdbus-tool.c:667,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:672,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:724,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:762,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:844,1
    - Dst: _g_variant_parse_me_harder
      Src: /src/glib/gio/gdbus-tool.c:832,1
    - Dst: g_dbus_connection_flush_sync
      Src: /src/glib/gio/gdbus-tool.c:866,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gdbus-tool.c:699,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:705,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:767,1
    - Dst: g_variant_builder_init_static
      Src: /src/glib/gio/gdbus-tool.c:804,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/gdbus-tool.c:852,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:741,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbus-tool.c:879,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:799,1
    - Dst: strrchr
      Src: /src/glib/gio/gdbus-tool.c:778,1
    - Dst: g_strndup
      Src: /src/glib/gio/gdbus-tool.c:785,1
    - Dst: g_option_context_add_group
      Src: /src/glib/gio/gdbus-tool.c:632,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:635,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:649,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:680,1
    - Dst: print_paths
      Src: /src/glib/gio/gdbus-tool.c:716,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbus-tool.c:830,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:840,1
    - Dst: remove_arg
      Src: /src/glib/gio/gdbus-tool.c:638,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:661,1
    - Dst: g_dbus_is_unique_name
      Src: /src/glib/gio/gdbus-tool.c:703,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:881,1
    CyclomaticComplexity: 95
    EdgeCount: 95
    ICount: 234
    argCount: 5
    argNames:
    - argc
    - argv
    - request_completion
    - completion_cur
    - completion_prev
    argTypes:
    - gint*
    - gchar**
    - gboolean
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 884
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 884
    functionName: handle_emit
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - g_printerr
    - g_option_context_free
    - strrchr
    - g_option_context_get_help
    - g_dbus_is_unique_name
    - g_dbus_is_member_name
    - g_variant_is_object_path
    - print_names
    - connection_get_group
    - g_object_unref
    - command_option_context_new
    - g_variant_builder_init_static
    - g_dbus_is_interface_name
    - g_variant_unref
    - g_error_free
    - g_print
    - g_option_context_parse
    - g_option_context_add_group
    - g_variant_builder_end
    - g_dbus_connection_emit_signal
    - g_variant_parse_error_print_context
    - g_strdup
    - g_variant_parse
    - g_dbus_connection_flush_sync
    - g_strndup
    - connection_get_dbus_connection
    - print_methods_and_signals
    - g_strcmp0
    - _
    - g_variant_ref_sink
    - _g_variant_parse_me_harder
    - remove_arg
    - modify_argv0_for_command
    - g_variant_builder_clear
    - g_str_has_prefix
    - g_variant_builder_add_value
    - print_paths
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean handle_emit (gint *argc, gchar **argv[], gboolean
      request_completion, const gchar *completion_cur, const gchar *completion_prev) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/gdbus-tool.c:1460,1
    - Dst: g_variant_print
      Src: /src/glib/gio/gdbus-tool.c:1467,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1468,1
    - Dst: dump_annotation
      Src: /src/glib/gio/gdbus-tool.c:1463,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:1472,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1476,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 4
    argNames:
    - o
    - indent
    - use_colors
    - value
    argTypes:
    - GDBusPropertyInfo*
    - guint
    - gboolean
    - GVariant*
    constantsTouched: []
    func_position:
      end: 1478
      start: 1444
    functionDepth: 0
    functionLinenumber: 1444
    functionLinenumberEnd: 1478
    functionName: dump_property
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    - dump_annotation
    - g_variant_print
    - g_print
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void dump_property (const GDBusPropertyInfo *o, guint indent,
      gboolean use_colors, GVariant *value) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: remove_arg
      Src: /src/glib/gio/gdbus-tool.c:1796,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:1836,1
    - Dst: g_option_context_get_help
      Src: /src/glib/gio/gdbus-tool.c:1810,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:1812,1
    - Dst: print_names
      Src: /src/glib/gio/gdbus-tool.c:1844,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:1853,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:1856,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gdbus-tool.c:1858,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:1879,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:1899,1
    - Dst: g_log_writer_supports_color
      Src: /src/glib/gio/gdbus-tool.c:1918,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbus-tool.c:1927,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:1788,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:1800,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/gdbus-tool.c:1806,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:1823,1
    - Dst: connection_get_dbus_connection
      Src: /src/glib/gio/gdbus-tool.c:1818,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:1836,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1851,1
    - Dst: print_paths
      Src: /src/glib/gio/gdbus-tool.c:1864,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:1870,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:1870,1
    - Dst: introspect_do
      Src: /src/glib/gio/gdbus-tool.c:1920,1
    - Dst: modify_argv0_for_command
      Src: /src/glib/gio/gdbus-tool.c:1786,1
    - Dst: command_option_context_new
      Src: /src/glib/gio/gdbus-tool.c:1788,1
    - Dst: connection_get_group
      Src: /src/glib/gio/gdbus-tool.c:1790,1
    - Dst: remove_arg
      Src: /src/glib/gio/gdbus-tool.c:1803,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:1811,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1825,1
    - Dst: _
      Src: /src/glib/gio/gdbus-tool.c:1853,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:1879,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbus-tool.c:1885,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:1894,1
    - Dst: g_printerr
      Src: /src/glib/gio/gdbus-tool.c:1899,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gdbus-tool.c:1928,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1910,1
    - Dst: fileno
      Src: /src/glib/gio/gdbus-tool.c:1918,1
    - Dst: g_variant_is_object_path
      Src: /src/glib/gio/gdbus-tool.c:1897,1
    - Dst: g_option_context_add_group
      Src: /src/glib/gio/gdbus-tool.c:1790,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:1793,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1831,1
    - Dst: g_error_free
      Src: /src/glib/gio/gdbus-tool.c:1838,1
    - Dst: print_names
      Src: /src/glib/gio/gdbus-tool.c:1858,1
    - Dst: g_dbus_is_name
      Src: /src/glib/gio/gdbus-tool.c:1868,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1877,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbus-tool.c:1882,1
    - Dst: strrchr
      Src: /src/glib/gio/gdbus-tool.c:1886,1
    - Dst: print_paths
      Src: /src/glib/gio/gdbus-tool.c:1893,1
    - Dst: g_print
      Src: /src/glib/gio/gdbus-tool.c:1905,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 125
    argCount: 5
    argNames:
    - argc
    - argv
    - request_completion
    - completion_cur
    - completion_prev
    argTypes:
    - gint*
    - gchar**
    - gboolean
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1930
      start: 1767
    functionDepth: 0
    functionLinenumber: 1767
    functionLinenumberEnd: 1930
    functionName: handle_introspect
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - g_printerr
    - g_option_context_free
    - strrchr
    - g_option_context_get_help
    - g_variant_is_object_path
    - print_names
    - connection_get_group
    - g_object_unref
    - command_option_context_new
    - g_error_free
    - g_print
    - g_option_context_parse
    - g_option_context_add_group
    - g_log_writer_supports_color
    - g_strdup
    - connection_get_dbus_connection
    - g_strcmp0
    - _
    - fileno
    - introspect_do
    - remove_arg
    - modify_argv0_for_command
    - g_str_has_prefix
    - print_paths
    - g_free
    - g_dbus_is_name
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean handle_introspect (gint *argc, gchar **argv[], gboolean
      request_completion, const gchar *completion_cur, const gchar *completion_prev) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_win32_run_session_bus
      Src: /src/glib/gio/gdbus-tool.c:2548,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - (command, _GDBUS_ARG_WIN32_RUN_SESSION_BUS)
    - == 0
    argTypes:
    - g_strcmp0
    constantsTouched: []
    func_position:
      end: 2551
      start: 2546
    functionDepth: 0
    functionLinenumber: 2546
    functionLinenumberEnd: 2551
    functionName: if
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - g_win32_run_session_bus
    linkageType: ''
    returnType: else
    signature: 'else if (g_strcmp0 (command, _GDBUS_ARG_WIN32_RUN_SESSION_BUS) ==
      0) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/gio/gdbus-tool.c:69,1
    - Dst: g_free
      Src: /src/glib/gio/gdbus-tool.c:76,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/gio/gdbus-tool.c:70,1
    - Dst: fopen
      Src: /src/glib/gio/gdbus-tool.c:73,1
    - Dst: fprintf
      Src: /src/glib/gio/gdbus-tool.c:75,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - format
    - '...'
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 77
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 77
    functionName: completion_debug
    functionSourceFile: /src/glib/gio/gdbus-tool.c
    functionUses: []
    functionsReached:
    - g_strdup_vprintf
    - fprintf
    - fopen
    - g_free
    - va_start
    linkageType: ''
    returnType: G_GNUC_UNUSED
    signature: 'G_GNUC_UNUSED static void completion_debug (const gchar *format, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_app_info_get_all
      Src: /src/glib/gio/gio-tool-mime.c:43,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/gio-tool-mime.c:50,1
    - Dst: g_list_free
      Src: /src/glib/gio/gio-tool-mime.c:55,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-mime.c:53,1
    - Dst: g_app_info_get_id
      Src: /src/glib/gio/gio-tool-mime.c:50,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 58
    functionName: get_app_info_for_id
    functionSourceFile: /src/glib/gio/gio-tool-mime.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_app_info_get_id
    - g_app_info_get_all
    - g_list_free
    - g_strcmp0
    linkageType: ''
    returnType: GAppInfo*
    signature: 'static GAppInfo *get_app_info_for_id (const char *id) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/gio/gio-tool-mime.c:72,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-mime.c:72,1
    - Dst: g_option_context_set_help_enabled
      Src: /src/glib/gio/gio-tool-mime.c:75,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-mime.c:77,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-mime.c:93,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-mime.c:101,1
    - Dst: g_app_info_get_default_for_type
      Src: /src/glib/gio/gio-tool-mime.c:114,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mime.c:117,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-mime.c:117,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mime.c:128,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-mime.c:163,1
    - Dst: print_error
      Src: /src/glib/gio/gio-tool-mime.c:169,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-mime.c:171,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mime.c:175,1
    - Dst: print_error
      Src: /src/glib/gio/gio-tool-mime.c:163,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-mime.c:135,1
    - Dst: get_app_info_for_id
      Src: /src/glib/gio/gio-tool-mime.c:160,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-mime.c:172,1
    - Dst: g_option_context_set_summary
      Src: /src/glib/gio/gio-tool-mime.c:76,1
    - Dst: g_option_context_set_description
      Src: /src/glib/gio/gio-tool-mime.c:78,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-mime.c:101,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/gio/gio-tool-mime.c:82,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/gio-tool-mime.c:91,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-mime.c:87,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mime.c:123,1
    - Dst: g_app_info_get_id
      Src: /src/glib/gio/gio-tool-mime.c:123,1
    - Dst: g_app_info_get_all_for_type
      Src: /src/glib/gio/gio-tool-mime.c:126,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-mime.c:130,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-mime.c:143,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mime.c:147,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-mime.c:148,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-mime.c:72,1
    - Dst: g_free
      Src: /src/glib/gio/gio-tool-mime.c:74,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-mime.c:79,1
    - Dst: show_help
      Src: /src/glib/gio/gio-tool-mime.c:86,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-mime.c:95,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-mime.c:102,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-mime.c:128,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mime.c:134,1
    - Dst: g_list_free
      Src: /src/glib/gio/gio-tool-mime.c:137,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mime.c:143,1
    - Dst: g_app_info_get_id
      Src: /src/glib/gio/gio-tool-mime.c:147,1
    - Dst: g_app_info_set_as_default_for_type
      Src: /src/glib/gio/gio-tool-mime.c:167,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-mime.c:169,1
    - Dst: g_list_free
      Src: /src/glib/gio/gio-tool-mime.c:150,1
    - Dst: g_set_prgname
      Src: /src/glib/gio/gio-tool-mime.c:69,1
    - Dst: g_option_context_new
      Src: /src/glib/gio/gio-tool-mime.c:73,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-tool-mime.c:94,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/gio-tool-mime.c:106,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-mime.c:123,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-mime.c:124,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mime.c:130,1
    - Dst: g_app_info_get_id
      Src: /src/glib/gio/gio-tool-mime.c:134,1
    - Dst: g_print
      Src: /src/glib/gio/gio-tool-mime.c:141,1
    - Dst: _
      Src: /src/glib/gio/gio-tool-mime.c:141,1
    - Dst: g_app_info_get_recommended_for_type
      Src: /src/glib/gio/gio-tool-mime.c:139,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gio-tool-mime.c:176,1
    - Dst: g_app_info_get_id
      Src: /src/glib/gio/gio-tool-mime.c:175,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 97
    argCount: 3
    argNames:
    - argc
    - argv
    - do_help
    argTypes:
    - int
    - char*
    - gboolean
    constantsTouched: []
    func_position:
      end: 180
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 180
    functionName: handle_mime
    functionSourceFile: /src/glib/gio/gio-tool-mime.c
    functionUses: []
    functionsReached:
    - g_app_info_get_all_for_type
    - g_strdup_printf
    - g_option_context_free
    - show_help
    - print_error
    - g_object_unref
    - g_list_free
    - g_error_free
    - g_print
    - g_option_context_parse
    - g_option_context_new
    - g_set_prgname
    - g_app_info_get_id
    - g_option_context_set_help_enabled
    - _
    - g_option_context_add_main_entries
    - g_app_info_get_default_for_type
    - g_app_info_get_recommended_for_type
    - g_app_info_set_as_default_for_type
    - g_option_context_set_description
    - g_option_context_set_summary
    - get_app_info_for_id
    - g_free
    linkageType: ''
    returnType: int
    signature: 'int handle_mime (int argc, char *argv[], gboolean do_help) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_PROXY_ADDRESS
      Src: /src/glib/gio/gproxyaddress.c:75,1
    - Dst: g_free
      Src: /src/glib/gio/gproxyaddress.c:78,1
    - Dst: g_free
      Src: /src/glib/gio/gproxyaddress.c:77,1
    - Dst: g_free
      Src: /src/glib/gio/gproxyaddress.c:79,1
    - Dst: g_free
      Src: /src/glib/gio/gproxyaddress.c:80,1
    - Dst: g_free
      Src: /src/glib/gio/gproxyaddress.c:81,1
    - Dst: g_free
      Src: /src/glib/gio/gproxyaddress.c:82,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gproxyaddress.c:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 85
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 85
    functionName: g_proxy_address_finalize
    functionSourceFile: /src/glib/gio/gproxyaddress.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    - g_free
    - G_PROXY_ADDRESS
    linkageType: ''
    returnType: void
    signature: 'static void g_proxy_address_finalize (GObject *object) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: G_PROXY_ADDRESS
      Src: /src/glib/gio/gproxyaddress.c:142,1
    - Dst: g_value_set_uint
      Src: /src/glib/gio/gproxyaddress.c:159,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gproxyaddress.c:155,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gproxyaddress.c:147,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gproxyaddress.c:151,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gproxyaddress.c:163,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gproxyaddress.c:167,1
    - Dst: g_value_set_string
      Src: /src/glib/gio/gproxyaddress.c:171,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gproxyaddress.c:175,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 11
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 177
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 177
    functionName: g_proxy_address_get_property
    functionSourceFile: /src/glib/gio/gproxyaddress.c
    functionUses: []
    functionsReached:
    - g_value_set_string
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_set_uint
    - G_PROXY_ADDRESS
    linkageType: ''
    returnType: void
    signature: "static void g_proxy_address_get_property (GObject *object,\t\t\t guint\
      \ prop_id,\t\t\t GValue *value,\t\t\t GParamSpec *pspec) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_proxy_address_get_instance_private
      Src: /src/glib/gio/gproxyaddress.c:299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - GProxyAddress*
    constantsTouched: []
    func_position:
      end: 305
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 305
    functionName: g_proxy_address_init
    functionSourceFile: /src/glib/gio/gproxyaddress.c
    functionUses: []
    functionsReached:
    - g_proxy_address_get_instance_private
    linkageType: ''
    returnType: void
    signature: 'static void g_proxy_address_init (GProxyAddress *proxy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 365
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 365
    functionName: g_proxy_address_get_protocol
    functionSourceFile: /src/glib/gio/gproxyaddress.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_proxy_address_get_protocol (GProxyAddress *proxy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 400
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 400
    functionName: g_proxy_address_get_destination_hostname
    functionSourceFile: /src/glib/gio/gproxyaddress.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_proxy_address_get_destination_hostname (GProxyAddress
      *proxy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 434
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 434
    functionName: g_proxy_address_get_username
    functionSourceFile: /src/glib/gio/gproxyaddress.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_proxy_address_get_username (GProxyAddress *proxy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 467
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 467
    functionName: g_proxy_address_get_uri
    functionSourceFile: /src/glib/gio/gproxyaddress.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_proxy_address_get_uri (GProxyAddress *proxy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gproxyaddress.c:182,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gproxyaddress.c:210,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gproxyaddress.c:195,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gproxyaddress.c:212,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gproxyaddress.c:197,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gproxyaddress.c:225,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gproxyaddress.c:227,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gproxyaddress.c:241,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gproxyaddress.c:243,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gproxyaddress.c:256,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gproxyaddress.c:289,1
    - Dst: g_param_spec_uint
      Src: /src/glib/gio/gproxyaddress.c:273,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gproxyaddress.c:287,1
    - Dst: g_param_spec_string
      Src: /src/glib/gio/gproxyaddress.c:258,1
    - Dst: g_object_class_install_property
      Src: /src/glib/gio/gproxyaddress.c:271,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GProxyAddressClass*
    constantsTouched: []
    func_position:
      end: 294
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 294
    functionName: g_proxy_address_class_init
    functionSourceFile: /src/glib/gio/gproxyaddress.c
    functionUses: []
    functionsReached:
    - g_param_spec_string
    - g_param_spec_uint
    - g_object_class_install_property
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_proxy_address_class_init (GProxyAddressClass *klass) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: G_PROXY_ADDRESS
      Src: /src/glib/gio/gproxyaddress.c:93,1
    - Dst: g_free
      Src: /src/glib/gio/gproxyaddress.c:98,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gproxyaddress.c:99,1
    - Dst: g_free
      Src: /src/glib/gio/gproxyaddress.c:103,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gproxyaddress.c:104,1
    - Dst: g_free
      Src: /src/glib/gio/gproxyaddress.c:108,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gproxyaddress.c:109,1
    - Dst: g_value_get_uint
      Src: /src/glib/gio/gproxyaddress.c:113,1
    - Dst: g_free
      Src: /src/glib/gio/gproxyaddress.c:117,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gproxyaddress.c:118,1
    - Dst: g_free
      Src: /src/glib/gio/gproxyaddress.c:122,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gproxyaddress.c:123,1
    - Dst: g_free
      Src: /src/glib/gio/gproxyaddress.c:127,1
    - Dst: g_value_dup_string
      Src: /src/glib/gio/gproxyaddress.c:128,1
    - Dst: G_OBJECT_WARN_INVALID_PROPERTY_ID
      Src: /src/glib/gio/gproxyaddress.c:132,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 4
    argNames:
    - object
    - prop_id
    - value
    - pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    constantsTouched: []
    func_position:
      end: 134
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 134
    functionName: g_proxy_address_set_property
    functionSourceFile: /src/glib/gio/gproxyaddress.c
    functionUses: []
    functionsReached:
    - G_OBJECT_WARN_INVALID_PROPERTY_ID
    - g_value_dup_string
    - G_PROXY_ADDRESS
    - g_value_get_uint
    - g_free
    linkageType: ''
    returnType: void
    signature: "static void g_proxy_address_set_property (GObject *object,\t\t\t guint\
      \ prop_id,\t\t\t const GValue *value,\t\t\t GParamSpec *pspec) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/gproxyaddress.c:339,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 348
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 348
    functionName: g_proxy_address_new
    functionSourceFile: /src/glib/gio/gproxyaddress.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: GSocketAddress*
    signature: "GSocketAddress *g_proxy_address_new (GInetAddress *inetaddr,\t\t guint16\
      \ port,\t\t const gchar *protocol,\t\t const gchar *dest_hostname,\t\t guint16\
      \ dest_port,\t\t const gchar *username,\t\t const gchar *password) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 382
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 382
    functionName: g_proxy_address_get_destination_protocol
    functionSourceFile: /src/glib/gio/gproxyaddress.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_proxy_address_get_destination_protocol (GProxyAddress
      *proxy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - GProxyAddress*
    constantsTouched: []
    func_position:
      end: 418
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 418
    functionName: g_proxy_address_get_destination_port
    functionSourceFile: /src/glib/gio/gproxyaddress.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint16
    signature: 'guint16 g_proxy_address_get_destination_port (GProxyAddress *proxy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 450
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 450
    functionName: g_proxy_address_get_password
    functionSourceFile: /src/glib/gio/gproxyaddress.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gchar*
    signature: 'const gchar *g_proxy_address_get_password (GProxyAddress *proxy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 371
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 371
    functionName: g_dbus_menu_group_ref
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GDBusMenuGroup*
    signature: 'static GDBusMenuGroup *g_dbus_menu_group_ref (GDBusMenuGroup *group) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gio/gdbusmenumodel.c:921,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/gdbusmenumodel.c:922,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - key
    - value
    - data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 923
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 923
    functionName: dump_proxy
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached:
    - G_OBJECT
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void dump_proxy (gpointer key, gpointer value, gpointer data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gdbusmenumodel.c:378,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gdbusmenumodel.c:381,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusmenumodel.c:381,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusmenumodel.c:382,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusmenumodel.c:379,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusmenumodel.c:383,1
    - Dst: g_dbus_menu_path_unref
      Src: /src/glib/gio/gdbusmenumodel.c:385,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gdbusmenumodel.c:387,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - group
    argTypes:
    - GDBusMenuGroup*
    constantsTouched: []
    func_position:
      end: 389
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 389
    functionName: g_dbus_menu_group_unref
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached:
    - g_dbus_menu_path_unref
    - g_hash_table_unref
    - g_assert
    - g_hash_table_remove
    - GINT_TO_POINTER
    - g_slice_free
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_menu_group_unref (GDBusMenuGroup *group) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gio/gdbusmenumodel.c:930,1
    - Dst: g_hash_table_foreach
      Src: /src/glib/gio/gdbusmenumodel.c:933,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - key
    - value
    - data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 934
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 934
    functionName: dump_group
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached:
    - g_hash_table_foreach
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void dump_group (gpointer key, gpointer value, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_foreach
      Src: /src/glib/gio/gdbusmenumodel.c:949,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 950
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 950
    functionName: g_dbus_menu_model_dump
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached:
    - g_hash_table_foreach
    linkageType: ''
    returnType: void
    signature: 'void g_dbus_menu_model_dump (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gio/gdbusmenumodel.c:197,1
    - Dst: g_str_equal
      Src: /src/glib/gio/gdbusmenumodel.c:198,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 199
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 199
    functionName: path_identifier_equal
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    - g_str_equal
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean path_identifier_equal (gconstpointer a, gconstpointer
      b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_signal_subscribe
      Src: /src/glib/gio/gdbusmenumodel.c:298,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - path
    argTypes:
    - GDBusMenuPath*
    constantsTouched: []
    func_position:
      end: 302
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 302
    functionName: g_dbus_menu_path_activate
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_signal_subscribe
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_menu_path_activate (GDBusMenuPath *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_menu_path_deactivate
      Src: /src/glib/gio/gdbusmenumodel.c:475,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/gio/gdbusmenumodel.c:480,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/gdbusmenumodel.c:476,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - group
    argTypes:
    - GDBusMenuGroup*
    constantsTouched: []
    func_position:
      end: 484
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 484
    functionName: g_dbus_menu_group_go_offline
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_call
    - g_variant_new_parsed
    - g_dbus_menu_path_deactivate
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_menu_group_go_offline (GDBusMenuGroup *group) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_MENU_MODEL
      Src: /src/glib/gio/gdbusmenumodel.c:736,1
    - Dst: g_sequence_get_iter_at_pos
      Src: /src/glib/gio/gdbusmenumodel.c:743,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmenumodel.c:740,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmenumodel.c:744,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmenumodel.c:741,1
    - Dst: g_sequence_get
      Src: /src/glib/gio/gdbusmenumodel.c:746,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmenumodel.c:747,1
    - Dst: g_hash_table_ref
      Src: /src/glib/gio/gdbusmenumodel.c:749,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - model
    - item_index
    - table
    argTypes:
    - GMenuModel*
    - gint
    - GHashTable**
    constantsTouched: []
    func_position:
      end: 750
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 750
    functionName: g_dbus_menu_model_get_item_attributes
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached:
    - g_sequence_get_iter_at_pos
    - g_return_if_fail
    - g_hash_table_ref
    - g_sequence_get
    - G_DBUS_MENU_MODEL
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_menu_model_get_item_attributes (GMenuModel *model,
      gint item_index, GHashTable **table) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_str_hash
      Src: /src/glib/gio/gdbusmenumodel.c:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 187
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 187
    functionName: path_identifier_hash
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached:
    - g_str_hash
    linkageType: ''
    returnType: guint
    signature: 'static guint path_identifier_hash (gconstpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_unref
      Src: /src/glib/gio/gdbusmenumodel.c:204,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusmenumodel.c:207,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gdbusmenumodel.c:209,1
    - Dst: g_free
      Src: /src/glib/gio/gdbusmenumodel.c:206,1
    - Dst: g_object_unref
      Src: /src/glib/gio/gdbusmenumodel.c:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - PathIdentifier*
    constantsTouched: []
    func_position:
      end: 210
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 210
    functionName: path_identifier_free
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_free
    - g_main_context_unref
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void path_identifier_free (PathIdentifier *id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/gdbusmenumodel.c:308,1
    - Dst: g_steal_handle_id
      Src: /src/glib/gio/gdbusmenumodel.c:308,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - path
    argTypes:
    - GDBusMenuPath*
    constantsTouched: []
    func_position:
      end: 309
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 309
    functionName: g_dbus_menu_path_deactivate
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached:
    - g_steal_handle_id
    - g_dbus_connection_signal_unsubscribe
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_menu_path_deactivate (GDBusMenuPath *path) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_CONNECTION
      Src: /src/glib/gio/gdbusmenumodel.c:492,1
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/gdbusmenumodel.c:498,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusmenumodel.c:512,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusmenumodel.c:496,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/gio/gdbusmenumodel.c:513,1
    - Dst: g_dbus_menu_group_changed
      Src: /src/glib/gio/gdbusmenumodel.c:515,1
    - Dst: g_variant_iter_free
      Src: /src/glib/gio/gdbusmenumodel.c:516,1
    - Dst: g_dbus_menu_group_go_offline
      Src: /src/glib/gio/gdbusmenumodel.c:520,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/gdbusmenumodel.c:523,1
    - Dst: g_dbus_menu_group_unref
      Src: /src/glib/gio/gdbusmenumodel.c:525,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 3
    argNames:
    - source_object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 526
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 526
    functionName: g_dbus_menu_group_start_ready
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached:
    - G_DBUS_CONNECTION
    - g_dbus_menu_group_unref
    - g_assert
    - g_dbus_connection_call_finish
    - g_dbus_menu_group_changed
    - g_variant_iter_loop
    - g_dbus_menu_group_go_offline
    - g_variant_unref
    - g_variant_get
    - g_variant_iter_free
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_menu_group_start_ready (GObject *source_object,
      GAsyncResult *result, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_sequence_get
      Src: /src/glib/gio/gdbusmenumodel.c:767,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusmenumodel.c:780,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusmenumodel.c:796,1
    - Dst: G_DBUS_MENU_MODEL
      Src: /src/glib/gio/gdbusmenumodel.c:757,1
    - Dst: g_sequence_get_iter_at_pos
      Src: /src/glib/gio/gdbusmenumodel.c:764,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdbusmenumodel.c:770,1
    - Dst: g_hash_table_iter_init
      Src: /src/glib/gio/gdbusmenumodel.c:777,1
    - Dst: g_dbus_menu_group_get_from_path
      Src: /src/glib/gio/gdbusmenumodel.c:790,1
    - Dst: g_dbus_menu_group_ref
      Src: /src/glib/gio/gdbusmenumodel.c:792,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusmenumodel.c:796,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusmenumodel.c:786,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusmenumodel.c:780,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmenumodel.c:765,1
    - Dst: g_dbus_menu_model_get_from_group
      Src: /src/glib/gio/gdbusmenumodel.c:794,1
    - Dst: g_dbus_menu_group_unref
      Src: /src/glib/gio/gdbusmenumodel.c:798,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmenumodel.c:762,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmenumodel.c:761,1
    - Dst: g_return_if_fail
      Src: /src/glib/gio/gdbusmenumodel.c:768,1
    - Dst: g_hash_table_iter_next
      Src: /src/glib/gio/gdbusmenumodel.c:778,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 3
    argNames:
    - model
    - item_index
    - table
    argTypes:
    - GMenuModel*
    - gint
    - GHashTable**
    constantsTouched: []
    func_position:
      end: 802
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 802
    functionName: g_dbus_menu_model_get_item_links
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached:
    - g_hash_table_iter_init
    - g_strdup
    - g_sequence_get_iter_at_pos
    - g_return_if_fail
    - g_variant_is_of_type
    - g_dbus_menu_group_ref
    - g_dbus_menu_model_get_from_group
    - g_dbus_menu_group_unref
    - g_dbus_menu_group_get_from_path
    - g_hash_table_insert
    - g_hash_table_new_full
    - G_VARIANT_TYPE
    - g_variant_get
    - g_sequence_get
    - g_hash_table_iter_next
    - G_DBUS_MENU_MODEL
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_menu_model_get_item_links (GMenuModel *model, gint
      item_index, GHashTable **table) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gio/gdbusmenumodel.c:942,1
    - Dst: g_hash_table_foreach
      Src: /src/glib/gio/gdbusmenumodel.c:943,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - key
    - value
    - data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    constantsTouched: []
    func_position:
      end: 944
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 944
    functionName: dump_path
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached:
    - g_hash_table_foreach
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void dump_path (gpointer key, gpointer value, gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/gio/gdbusmenumodel.c:217,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusmenumodel.c:220,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusmenumodel.c:221,1
    - Dst: g_main_context_ref
      Src: /src/glib/gio/gdbusmenumodel.c:218,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusmenumodel.c:219,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 224
    functionName: path_identifier_new
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_slice_new
    - g_main_context_ref
    - g_object_ref
    linkageType: ''
    returnType: PathIdentifier*
    signature: 'static PathIdentifier *path_identifier_new (ConstPathIdentifier *cid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_new
      Src: /src/glib/gio/gdbusmenumodel.c:321,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/gdbusmenumodel.c:329,1
    - Dst: path_identifier_new
      Src: /src/glib/gio/gdbusmenumodel.c:328,1
    - Dst: g_slice_new
      Src: /src/glib/gio/gdbusmenumodel.c:327,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusmenumodel.c:323,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusmenumodel.c:333,1
    - Dst: g_dbus_menu_path_ref
      Src: /src/glib/gio/gdbusmenumodel.c:336,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 337
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 337
    functionName: g_dbus_menu_path_get
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached:
    - g_hash_table_lookup
    - g_dbus_menu_path_ref
    - g_hash_table_insert
    - g_slice_new
    - g_hash_table_new
    - path_identifier_new
    linkageType: ''
    returnType: GDBusMenuPath*
    signature: 'static GDBusMenuPath *g_dbus_menu_path_get (GMainContext *context,
      GDBusConnection *connection, const gchar *bus_name, const gchar *object_path) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusmenumodel.c:253,1
    - Dst: path_identifier_free
      Src: /src/glib/gio/gdbusmenumodel.c:255,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusmenumodel.c:254,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gdbusmenumodel.c:257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - path
    argTypes:
    - GDBusMenuPath*
    constantsTouched: []
    func_position:
      end: 259
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 259
    functionName: g_dbus_menu_path_unref
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_hash_table_unref
    - path_identifier_free
    - g_hash_table_remove
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_menu_path_unref (GDBusMenuPath *path) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusmenumodel.c:611,1
    - Dst: g_sequence_new
      Src: /src/glib/gio/gdbusmenumodel.c:615,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusmenumodel.c:616,1
    - Dst: g_sequence_get_iter_at_pos
      Src: /src/glib/gio/gdbusmenumodel.c:635,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/gio/gdbusmenumodel.c:640,1
    - Dst: g_assert
      Src: /src/glib/gio/gdbusmenumodel.c:590,1
    - Dst: g_sequence_get_iter_at_pos
      Src: /src/glib/gio/gdbusmenumodel.c:629,1
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/gdbusmenumodel.c:639,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusmenumodel.c:625,1
    - Dst: g_sequence_is_empty
      Src: /src/glib/gio/gdbusmenumodel.c:643,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gdbusmenumodel.c:649,1
    - Dst: g_dbus_menu_model_changed
      Src: /src/glib/gio/gdbusmenumodel.c:650,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusmenumodel.c:590,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusmenumodel.c:590,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gdbusmenumodel.c:616,1
    - Dst: g_dbus_menu_group_create_item
      Src: /src/glib/gio/gdbusmenumodel.c:641,1
    - Dst: g_sequence_get_length
      Src: /src/glib/gio/gdbusmenumodel.c:621,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gdbusmenumodel.c:645,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusmenumodel.c:649,1
    - Dst: g_warning
      Src: /src/glib/gio/gdbusmenumodel.c:598,1
    - Dst: g_variant_n_children
      Src: /src/glib/gio/gdbusmenumodel.c:592,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gdbusmenumodel.c:611,1
    - Dst: g_sequence_remove_range
      Src: /src/glib/gio/gdbusmenumodel.c:636,1
    - Dst: g_sequence_insert_before
      Src: /src/glib/gio/gdbusmenumodel.c:641,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusmenumodel.c:645,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 57
    argCount: 5
    argNames:
    - group
    - menu_id
    - position
    - removed
    - added
    argTypes:
    - GDBusMenuGroup*
    - guint
    - gint
    - gint
    - GVariant*
    constantsTouched: []
    func_position:
      end: 651
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 651
    functionName: g_dbus_menu_group_changed
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached:
    - g_variant_iter_loop
    - g_warning
    - g_variant_is_of_type
    - g_sequence_get_length
    - g_hash_table_lookup
    - g_hash_table_insert
    - g_sequence_remove_range
    - g_variant_iter_init
    - g_sequence_get_iter_at_pos
    - g_hash_table_remove
    - GINT_TO_POINTER
    - g_sequence_is_empty
    - G_VARIANT_TYPE
    - g_sequence_new
    - g_dbus_menu_group_create_item
    - g_assert
    - g_variant_n_children
    - g_sequence_insert_before
    - g_dbus_menu_model_changed
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_menu_group_changed (GDBusMenuGroup *group, guint
      menu_id, gint position, gint removed, GVariant *added) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusmenumodel.c:827,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - class
    argTypes:
    - GDBusMenuModelClass*
    constantsTouched: []
    func_position:
      end: 835
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 835
    functionName: g_dbus_menu_model_class_init
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_menu_model_class_init (GDBusMenuModelClass *class) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/gdbusmenumodel.c:278,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusmenumodel.c:278,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/gio/gdbusmenumodel.c:282,1
    - Dst: g_variant_get
      Src: /src/glib/gio/gdbusmenumodel.c:281,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusmenumodel.c:286,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gdbusmenumodel.c:286,1
    - Dst: g_dbus_menu_group_changed
      Src: /src/glib/gio/gdbusmenumodel.c:289,1
    - Dst: g_variant_iter_free
      Src: /src/glib/gio/gdbusmenumodel.c:291,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 13
    argCount: 7
    argNames:
    - connection
    - sender_name
    - object_path
    - interface_name
    - signal_name
    - parameters
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 292
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 292
    functionName: g_dbus_menu_path_signal
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached:
    - g_variant_is_of_type
    - g_dbus_menu_group_changed
    - g_hash_table_lookup
    - g_variant_iter_loop
    - GINT_TO_POINTER
    - g_variant_get
    - g_variant_iter_free
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_menu_path_signal (GDBusConnection *connection,
      const gchar *sender_name, const gchar *object_path, const gchar *interface_name,
      const gchar *signal_name, GVariant *parameters, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusmenumodel.c:659,1
    - Dst: g_hash_table_new
      Src: /src/glib/gio/gdbusmenumodel.c:666,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gdbusmenumodel.c:659,1
    - Dst: g_dbus_menu_path_ref
      Src: /src/glib/gio/gdbusmenumodel.c:664,1
    - Dst: g_slice_new
      Src: /src/glib/gio/gdbusmenumodel.c:663,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdbusmenumodel.c:667,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusmenumodel.c:672,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gdbusmenumodel.c:672,1
    - Dst: g_dbus_menu_group_ref
      Src: /src/glib/gio/gdbusmenumodel.c:675,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 676
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 676
    functionName: g_dbus_menu_group_get_from_path
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached:
    - g_dbus_menu_path_ref
    - g_hash_table_lookup
    - g_hash_table_insert
    - g_hash_table_new_full
    - g_slice_new
    - GINT_TO_POINTER
    - g_hash_table_new
    - g_dbus_menu_group_ref
    linkageType: ''
    returnType: GDBusMenuGroup*
    signature: 'static GDBusMenuGroup *g_dbus_menu_group_get_from_path (GDBusMenuPath
      *path, guint group_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_menu_model_items_changed
      Src: /src/glib/gio/gdbusmenumodel.c:847,1
    - Dst: G_MENU_MODEL
      Src: /src/glib/gio/gdbusmenumodel.c:847,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 5
    argNames:
    - proxy
    - items
    - position
    - removed
    - added
    argTypes:
    - GDBusMenuModel*
    - GSequence*
    - gint
    - gint
    - gint
    constantsTouched: []
    func_position:
      end: 848
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 848
    functionName: g_dbus_menu_model_changed
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached:
    - G_MENU_MODEL
    - g_menu_model_items_changed
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_menu_model_changed (GDBusMenuModel *proxy, GSequence
      *items, gint position, gint removed, gint added) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusmenumodel.c:396,1
    - Dst: g_slice_free
      Src: /src/glib/gio/gdbusmenumodel.c:399,1
    - Dst: g_hash_table_unref
      Src: /src/glib/gio/gdbusmenumodel.c:397,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 400
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 400
    functionName: g_dbus_menu_model_item_free
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached:
    - g_slice_free
    - g_hash_table_unref
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_menu_model_item_free (gpointer data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gdbusmenumodel.c:533,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/gdbusmenumodel.c:539,1
    - Dst: g_dbus_menu_path_activate
      Src: /src/glib/gio/gdbusmenumodel.c:537,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/gdbusmenumodel.c:544,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/gio/gdbusmenumodel.c:543,1
    - Dst: g_dbus_menu_group_ref
      Src: /src/glib/gio/gdbusmenumodel.c:547,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - group
    argTypes:
    - GDBusMenuGroup*
    constantsTouched: []
    func_position:
      end: 551
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 551
    functionName: g_dbus_menu_group_activate
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_call
    - g_dbus_menu_path_activate
    - g_assert
    - g_variant_new_parsed
    - G_VARIANT_TYPE
    - g_dbus_menu_group_ref
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_menu_group_activate (GDBusMenuGroup *group) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_menu_path_get
      Src: /src/glib/gio/gdbusmenumodel.c:688,1
    - Dst: g_dbus_menu_path_unref
      Src: /src/glib/gio/gdbusmenumodel.c:690,1
    - Dst: g_dbus_menu_group_get_from_path
      Src: /src/glib/gio/gdbusmenumodel.c:689,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 693
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 693
    functionName: g_dbus_menu_group_get
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached:
    - g_dbus_menu_path_unref
    - g_dbus_menu_path_get
    - g_dbus_menu_group_get_from_path
    linkageType: ''
    returnType: GDBusMenuGroup*
    signature: 'static GDBusMenuGroup *g_dbus_menu_group_get (GMainContext *context,
      GDBusConnection *connection, const gchar *bus_name, const gchar *object_path,
      guint group_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - model
    argTypes:
    - GMenuModel*
    constantsTouched: []
    func_position:
      end: 715
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 715
    functionName: g_dbus_menu_model_is_mutable
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_dbus_menu_model_is_mutable (GMenuModel *model) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_MENU_MODEL
      Src: /src/glib/gio/gdbusmenumodel.c:807,1
    - Dst: g_hash_table_remove
      Src: /src/glib/gio/gdbusmenumodel.c:812,1
    - Dst: g_dbus_menu_group_unref
      Src: /src/glib/gio/gdbusmenumodel.c:813,1
    - Dst: g_dbus_menu_group_deactivate
      Src: /src/glib/gio/gdbusmenumodel.c:810,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gdbusmenumodel.c:812,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/gdbusmenumodel.c:815,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 817
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 817
    functionName: g_dbus_menu_model_finalize
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached:
    - g_dbus_menu_group_deactivate
    - g_dbus_menu_group_unref
    - g_hash_table_remove
    - G_OBJECT_CLASS
    - GINT_TO_POINTER
    - G_DBUS_MENU_MODEL
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_menu_model_finalize (GObject *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/gdbusmenumodel.c:902,1
    - Dst: g_main_context_default
      Src: /src/glib/gio/gdbusmenumodel.c:906,1
    - Dst: g_dbus_menu_group_get
      Src: /src/glib/gio/gdbusmenumodel.c:908,1
    - Dst: g_main_context_get_thread_default
      Src: /src/glib/gio/gdbusmenumodel.c:904,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/gdbusmenumodel.c:902,1
    - Dst: g_dbus_menu_model_get_from_group
      Src: /src/glib/gio/gdbusmenumodel.c:909,1
    - Dst: g_dbus_menu_group_unref
      Src: /src/glib/gio/gdbusmenumodel.c:910,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 913
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 913
    functionName: g_dbus_menu_model_get
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - g_dbus_menu_group_unref
    - g_dbus_menu_model_get_from_group
    - g_dbus_connection_get_unique_name
    - g_main_context_default
    - g_dbus_menu_group_get
    - g_main_context_get_thread_default
    linkageType: ''
    returnType: GDBusMenuModel*
    signature: 'GDBusMenuModel *g_dbus_menu_model_get (GDBusConnection *connection,
      const gchar *bus_name, const gchar *object_path) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/gdbusmenumodel.c:558,1
    - Dst: g_dbus_menu_group_go_offline
      Src: /src/glib/gio/gdbusmenumodel.c:567,1
    - Dst: g_hash_table_remove_all
      Src: /src/glib/gio/gdbusmenumodel.c:565,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - group
    argTypes:
    - GDBusMenuGroup*
    constantsTouched: []
    func_position:
      end: 570
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 570
    functionName: g_dbus_menu_group_deactivate
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_dbus_menu_group_go_offline
    - g_hash_table_remove_all
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_menu_group_deactivate (GDBusMenuGroup *group) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: g_dbus_menu_path_ref
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GDBusMenuPath*
    signature: 'static GDBusMenuPath *g_dbus_menu_path_ref (GDBusMenuPath *path) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new
      Src: /src/glib/gio/gdbusmenumodel.c:410,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdbusmenumodel.c:411,1
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/gdbusmenumodel.c:414,1
    - Dst: g_hash_table_new_full
      Src: /src/glib/gio/gdbusmenumodel.c:412,1
    - Dst: g_variant_iter_loop
      Src: /src/glib/gio/gdbusmenumodel.c:415,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusmenumodel.c:418,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusmenumodel.c:418,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gdbusmenumodel.c:418,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusmenumodel.c:420,1
    - Dst: g_strdup
      Src: /src/glib/gio/gdbusmenumodel.c:420,1
    - Dst: g_variant_ref
      Src: /src/glib/gio/gdbusmenumodel.c:420,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 423
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 423
    functionName: g_dbus_menu_group_create_item
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached:
    - g_variant_iter_init
    - g_strdup
    - g_variant_iter_loop
    - g_hash_table_insert
    - g_hash_table_new_full
    - g_slice_new
    - g_variant_ref
    linkageType: ''
    returnType: GDBusMenuModelItem*
    signature: 'static GDBusMenuModelItem *g_dbus_menu_group_create_item (GVariant
      *description) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_MENU_MODEL
      Src: /src/glib/gio/gdbusmenumodel.c:720,1
    - Dst: g_sequence_get_length
      Src: /src/glib/gio/gdbusmenumodel.c:728,1
    - Dst: g_dbus_menu_group_activate
      Src: /src/glib/gio/gdbusmenumodel.c:724,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - model
    argTypes:
    - GMenuModel*
    constantsTouched: []
    func_position:
      end: 729
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 729
    functionName: g_dbus_menu_model_get_n_items
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached:
    - g_sequence_get_length
    - g_dbus_menu_group_activate
    - G_DBUS_MENU_MODEL
    linkageType: ''
    returnType: gint
    signature: 'static gint g_dbus_menu_model_get_n_items (GMenuModel *model) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - GDBusMenuModel*
    constantsTouched: []
    func_position:
      end: 822
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 822
    functionName: g_dbus_menu_model_init
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_dbus_menu_model_init (GDBusMenuModel *proxy) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusmenumodel.c:856,1
    - Dst: g_object_ref
      Src: /src/glib/gio/gdbusmenumodel.c:858,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gdbusmenumodel.c:856,1
    - Dst: g_hash_table_lookup
      Src: /src/glib/gio/gdbusmenumodel.c:863,1
    - Dst: g_object_new
      Src: /src/glib/gio/gdbusmenumodel.c:862,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gdbusmenumodel.c:863,1
    - Dst: g_hash_table_insert
      Src: /src/glib/gio/gdbusmenumodel.c:864,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/gdbusmenumodel.c:864,1
    - Dst: g_dbus_menu_group_ref
      Src: /src/glib/gio/gdbusmenumodel.c:865,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 870
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 870
    functionName: g_dbus_menu_model_get_from_group
    functionSourceFile: /src/glib/gio/gdbusmenumodel.c
    functionUses: []
    functionsReached:
    - g_object_new
    - g_hash_table_lookup
    - g_hash_table_insert
    - GINT_TO_POINTER
    - g_object_ref
    - g_dbus_menu_group_ref
    linkageType: ''
    returnType: GDBusMenuModel*
    signature: 'static GDBusMenuModel *g_dbus_menu_model_get_from_group (GDBusMenuGroup
      *group, guint menu_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gio-querymodules.c:38,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/gio-querymodules.c:44,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/gio-querymodules.c:39,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/gio-querymodules.c:43,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/gio-querymodules.c:40,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/gio-querymodules.c:47,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - basename
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 49
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 49
    functionName: is_valid_module_name
    functionSourceFile: /src/glib/gio/gio-querymodules.c
    functionUses: []
    functionsReached:
    - g_str_has_prefix
    - g_str_has_suffix
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean is_valid_module_name (const gchar *basename) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_error_free
      Src: /src/glib/gio/gio-querymodules.c:71,1
    - Dst: g_string_new
      Src: /src/glib/gio/gio-querymodules.c:75,1
    - Dst: g_dir_open
      Src: /src/glib/gio/gio-querymodules.c:67,1
    - Dst: g_dir_read_name
      Src: /src/glib/gio/gio-querymodules.c:77,1
    - Dst: g_strdup
      Src: /src/glib/gio/gio-querymodules.c:78,1
    - Dst: is_valid_module_name
      Src: /src/glib/gio/gio-querymodules.c:88,1
    - Dst: g_build_filename
      Src: /src/glib/gio/gio-querymodules.c:91,1
    - Dst: query
      Src: /src/glib/gio/gio-querymodules.c:114,1
    - Dst: g_file_set_contents
      Src: /src/glib/gio/gio-querymodules.c:147,1
    - Dst: g_unlink
      Src: /src/glib/gio/gio-querymodules.c:155,1
    - Dst: g_string_free
      Src: /src/glib/gio/gio-querymodules.c:163,1
    - Dst: g_list_sort
      Src: /src/glib/gio/gio-querymodules.c:80,1
    - Dst: g_module_open_full
      Src: /src/glib/gio/gio-querymodules.c:92,1
    - Dst: g_module_symbol
      Src: /src/glib/gio/gio-querymodules.c:109,1
    - Dst: g_strconcat
      Src: /src/glib/gio/gio-querymodules.c:101,1
    - Dst: g_strfreev
      Src: /src/glib/gio/gio-querymodules.c:124,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/gio-querymodules.c:139,1
    - Dst: g_free
      Src: /src/glib/gio/gio-querymodules.c:162,1
    - Dst: g_module_symbol
      Src: /src/glib/gio/gio-querymodules.c:102,1
    - Dst: g_free
      Src: /src/glib/gio/gio-querymodules.c:104,1
    - Dst: g_free
      Src: /src/glib/gio/gio-querymodules.c:93,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gio-querymodules.c:118,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/gio-querymodules.c:121,1
    - Dst: g_module_close
      Src: /src/glib/gio/gio-querymodules.c:128,1
    - Dst: g_debug
      Src: /src/glib/gio/gio-querymodules.c:132,1
    - Dst: g_clear_error
      Src: /src/glib/gio/gio-querymodules.c:135,1
    - Dst: g_printerr
      Src: /src/glib/gio/gio-querymodules.c:149,1
    - Dst: g_strerror
      Src: /src/glib/gio/gio-querymodules.c:158,1
    - Dst: g_module_supported
      Src: /src/glib/gio/gio-querymodules.c:63,1
    - Dst: g_printerr
      Src: /src/glib/gio/gio-querymodules.c:70,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/gio-querymodules.c:78,1
    - Dst: g_free
      Src: /src/glib/gio/gio-querymodules.c:103,1
    - Dst: _g_io_module_extract_name
      Src: /src/glib/gio/gio-querymodules.c:100,1
    - Dst: g_string_append
      Src: /src/glib/gio/gio-querymodules.c:123,1
    - Dst: g_dir_close
      Src: /src/glib/gio/gio-querymodules.c:138,1
    - Dst: g_build_filename
      Src: /src/glib/gio/gio-querymodules.c:141,1
    - Dst: g_error_free
      Src: /src/glib/gio/gio-querymodules.c:150,1
    - Dst: g_printerr
      Src: /src/glib/gio/gio-querymodules.c:158,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 81
    argCount: 1
    argNames:
    - dirname
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 164
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 164
    functionName: query_dir
    functionSourceFile: /src/glib/gio/gio-querymodules.c
    functionUses: []
    functionsReached:
    - g_dir_open
    - g_printerr
    - g_strconcat
    - g_list_free_full
    - g_strerror
    - g_list_prepend
    - g_module_open_full
    - _g_io_module_extract_name
    - is_valid_module_name
    - g_unlink
    - query
    - g_module_supported
    - g_strfreev
    - g_module_symbol
    - g_error_free
    - g_build_filename
    - g_strdup
    - g_file_set_contents
    - g_list_sort
    - g_string_new
    - g_string_append_printf
    - g_string_append
    - g_clear_error
    - g_debug
    - g_dir_read_name
    - g_string_free
    - g_module_close
    - g_free
    - g_dir_close
    linkageType: ''
    returnType: void
    signature: 'static void query_dir (const char *dirname) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gio/gio-querymodules.c:174,1
    - Dst: g_print
      Src: /src/glib/gio/gio-querymodules.c:175,1
    - Dst: setlocale
      Src: /src/glib/gio/gio-querymodules.c:179,1
    - Dst: g_type_ensure
      Src: /src/glib/gio/gio-querymodules.c:182,1
    - Dst: query_dir
      Src: /src/glib/gio/gio-querymodules.c:185,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - gint
    - gchar*
    constantsTouched: []
    func_position:
      end: 188
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 188
    functionName: main
    functionSourceFile: /src/glib/gio/gio-querymodules.c
    functionUses: []
    functionsReached:
    - setlocale
    - query_dir
    - g_type_ensure
    - g_print
    linkageType: ''
    returnType: int
    signature: 'int main (gint argc, gchar *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_WINHTTP_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/win32/gwinhttpfileoutputstream.c:59,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/win32/gwinhttpfileoutputstream.c:64,1
    - Dst: G_WINHTTP_VFS_GET_CLASS
      Src: /src/glib/gio/win32/gwinhttpfileoutputstream.c:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 65
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 65
    functionName: g_winhttp_file_output_stream_finalize
    functionSourceFile: /src/glib/gio/win32/gwinhttpfileoutputstream.c
    functionUses: []
    functionsReached:
    - G_WINHTTP_FILE_OUTPUT_STREAM
    - G_OBJECT_CLASS
    - G_WINHTTP_VFS_GET_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_winhttp_file_output_stream_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - info
    argTypes:
    - GWinHttpFileOutputStream*
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: g_winhttp_file_output_stream_init
    functionSourceFile: /src/glib/gio/win32/gwinhttpfileoutputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_winhttp_file_output_stream_init (GWinHttpFileOutputStream
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/win32/gwinhttpfileoutputstream.c:70,1
    - Dst: G_OUTPUT_STREAM_CLASS
      Src: /src/glib/gio/win32/gwinhttpfileoutputstream.c:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GWinHttpFileOutputStreamClass*
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: g_winhttp_file_output_stream_class_init
    functionSourceFile: /src/glib/gio/win32/gwinhttpfileoutputstream.c
    functionUses: []
    functionsReached:
    - G_OUTPUT_STREAM_CLASS
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_winhttp_file_output_stream_class_init (GWinHttpFileOutputStreamClass
      *klass) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_WINHTTP_VFS_GET_CLASS
      Src: /src/glib/gio/win32/gwinhttpfileoutputstream.c:119,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/win32/gwinhttpfileoutputstream.c:135,1
    - Dst: G_WINHTTP_VFS_GET_CLASS
      Src: /src/glib/gio/win32/gwinhttpfileoutputstream.c:140,1
    - Dst: G_WINHTTP_VFS_GET_CLASS
      Src: /src/glib/gio/win32/gwinhttpfileoutputstream.c:174,1
    - Dst: _g_winhttp_set_error
      Src: /src/glib/gio/win32/gwinhttpfileoutputstream.c:130,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfileoutputstream.c:138,1
    - Dst: G_WINHTTP_VFS_GET_CLASS
      Src: /src/glib/gio/win32/gwinhttpfileoutputstream.c:157,1
    - Dst: G_WINHTTP_VFS_GET_CLASS
      Src: /src/glib/gio/win32/gwinhttpfileoutputstream.c:149,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfileoutputstream.c:155,1
    - Dst: _g_winhttp_set_error
      Src: /src/glib/gio/win32/gwinhttpfileoutputstream.c:160,1
    - Dst: _g_winhttp_set_error
      Src: /src/glib/gio/win32/gwinhttpfileoutputstream.c:147,1
    - Dst: G_WINHTTP_VFS_GET_CLASS
      Src: /src/glib/gio/win32/gwinhttpfileoutputstream.c:162,1
    - Dst: G_WINHTTP_VFS_GET_CLASS
      Src: /src/glib/gio/win32/gwinhttpfileoutputstream.c:179,1
    - Dst: G_WINHTTP_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/win32/gwinhttpfileoutputstream.c:113,1
    - Dst: GetLastError
      Src: /src/glib/gio/win32/gwinhttpfileoutputstream.c:130,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/win32/gwinhttpfileoutputstream.c:137,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfileoutputstream.c:150,1
    - Dst: GetLastError
      Src: /src/glib/gio/win32/gwinhttpfileoutputstream.c:147,1
    - Dst: GetLastError
      Src: /src/glib/gio/win32/gwinhttpfileoutputstream.c:160,1
    - Dst: _g_winhttp_response
      Src: /src/glib/gio/win32/gwinhttpfileoutputstream.c:169,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 5
    argNames:
    - stream
    - buffer
    - count
    - cancellable
    - error
    argTypes:
    - GOutputStream*
    - void*
    - gsize
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 182
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 182
    functionName: g_winhttp_file_output_stream_write
    functionSourceFile: /src/glib/gio/win32/gwinhttpfileoutputstream.c
    functionUses: []
    functionsReached:
    - G_WINHTTP_FILE_OUTPUT_STREAM
    - g_strdup_printf
    - _g_winhttp_set_error
    - g_utf8_to_utf16
    - GetLastError
    - G_WINHTTP_VFS_GET_CLASS
    - g_free
    - _g_winhttp_response
    linkageType: ''
    returnType: gssize
    signature: 'static gssize g_winhttp_file_output_stream_write (GOutputStream *stream,
      const void *buffer, gsize count, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/win32/gwinhttpfileoutputstream.c:97,1
    - Dst: G_FILE_OUTPUT_STREAM
      Src: /src/glib/gio/win32/gwinhttpfileoutputstream.c:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: _g_winhttp_file_output_stream_new
    functionSourceFile: /src/glib/gio/win32/gwinhttpfileoutputstream.c
    functionUses: []
    functionsReached:
    - G_FILE_OUTPUT_STREAM
    - g_object_new
    linkageType: ''
    returnType: GFileOutputStream*
    signature: 'GFileOutputStream *_g_winhttp_file_output_stream_new (GWinHttpFile
      *file, HINTERNET connection) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GetSystemDirectoryW
      Src: /src/glib/gio/win32/gwinhttpvfs.c:47,1
    - Dst: wcscat
      Src: /src/glib/gio/win32/gwinhttpvfs.c:53,1
    - Dst: GetProcAddress
      Src: /src/glib/gio/win32/gwinhttpvfs.c:59,1
    - Dst: LoadLibraryW
      Src: /src/glib/gio/win32/gwinhttpvfs.c:54,1
    - Dst: wcscat
      Src: /src/glib/gio/win32/gwinhttpvfs.c:52,1
    - Dst: GetProcAddress
      Src: /src/glib/gio/win32/gwinhttpvfs.c:60,1
    - Dst: GetProcAddress
      Src: /src/glib/gio/win32/gwinhttpvfs.c:61,1
    - Dst: GetProcAddress
      Src: /src/glib/gio/win32/gwinhttpvfs.c:62,1
    - Dst: GetProcAddress
      Src: /src/glib/gio/win32/gwinhttpvfs.c:63,1
    - Dst: GetProcAddress
      Src: /src/glib/gio/win32/gwinhttpvfs.c:64,1
    - Dst: GetProcAddress
      Src: /src/glib/gio/win32/gwinhttpvfs.c:65,1
    - Dst: GetProcAddress
      Src: /src/glib/gio/win32/gwinhttpvfs.c:66,1
    - Dst: GetProcAddress
      Src: /src/glib/gio/win32/gwinhttpvfs.c:67,1
    - Dst: GetProcAddress
      Src: /src/glib/gio/win32/gwinhttpvfs.c:70,1
    - Dst: GetProcAddress
      Src: /src/glib/gio/win32/gwinhttpvfs.c:68,1
    - Dst: GetProcAddress
      Src: /src/glib/gio/win32/gwinhttpvfs.c:69,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 56
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 87
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 87
    functionName: lookup_funcs
    functionSourceFile: /src/glib/gio/win32/gwinhttpvfs.c
    functionUses: []
    functionsReached:
    - LoadLibraryW
    - GetSystemDirectoryW
    - GetProcAddress
    - wcscat
    linkageType: ''
    returnType: void
    signature: 'static void lookup_funcs (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_WINHTTP_VFS
      Src: /src/glib/gio/win32/gwinhttpvfs.c:107,1
    - Dst: G_WINHTTP_VFS_GET_CLASS
      Src: /src/glib/gio/win32/gwinhttpvfs.c:109,1
    - Dst: g_object_unref
      Src: /src/glib/gio/win32/gwinhttpvfs.c:113,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/win32/gwinhttpvfs.c:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 117
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 117
    functionName: g_winhttp_vfs_finalize
    functionSourceFile: /src/glib/gio/win32/gwinhttpvfs.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    - G_WINHTTP_VFS
    - g_object_unref
    - G_WINHTTP_VFS_GET_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_winhttp_vfs_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/win32/gwinhttpvfs.c:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: _g_winhttp_vfs_new
    functionSourceFile: /src/glib/gio/win32/gwinhttpvfs.c
    functionUses: []
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: GVfs*
    signature: 'GVfs *_g_winhttp_vfs_new (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_WINHTTP_VFS
      Src: /src/glib/gio/win32/gwinhttpvfs.c:166,1
    - Dst: strlen
      Src: /src/glib/gio/win32/gwinhttpvfs.c:173,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/win32/gwinhttpvfs.c:171,1
    - Dst: strlen
      Src: /src/glib/gio/win32/gwinhttpvfs.c:174,1
    - Dst: g_ascii_strncasecmp
      Src: /src/glib/gio/win32/gwinhttpvfs.c:173,1
    - Dst: _g_winhttp_file_new
      Src: /src/glib/gio/win32/gwinhttpvfs.c:176,1
    - Dst: g_vfs_get_file_for_uri
      Src: /src/glib/gio/win32/gwinhttpvfs.c:182,1
    - Dst: g_assert
      Src: /src/glib/gio/win32/gwinhttpvfs.c:184,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/win32/gwinhttpvfs.c:186,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 187
    functionName: g_winhttp_vfs_get_file_for_uri
    functionSourceFile: /src/glib/gio/win32/gwinhttpvfs.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - strlen
    - G_N_ELEMENTS
    - g_assert
    - _g_winhttp_file_new
    - G_WINHTTP_VFS
    - g_ascii_strncasecmp
    - g_vfs_get_file_for_uri
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *g_winhttp_vfs_get_file_for_uri (GVfs *vfs, const char
      *uri) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_WINHTTP_VFS
      Src: /src/glib/gio/win32/gwinhttpvfs.c:224,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/win32/gwinhttpvfs.c:227,1
    - Dst: g_path_is_absolute
      Src: /src/glib/gio/win32/gwinhttpvfs.c:230,1
    - Dst: G_IS_VFS
      Src: /src/glib/gio/win32/gwinhttpvfs.c:226,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/win32/gwinhttpvfs.c:226,1
    - Dst: g_vfs_parse_name
      Src: /src/glib/gio/win32/gwinhttpvfs.c:231,1
    - Dst: g_winhttp_vfs_get_file_for_uri
      Src: /src/glib/gio/win32/gwinhttpvfs.c:236,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 237
    functionName: g_winhttp_vfs_parse_name
    functionSourceFile: /src/glib/gio/win32/gwinhttpvfs.c
    functionUses: []
    functionsReached:
    - g_return_val_if_fail
    - G_IS_VFS
    - g_winhttp_vfs_get_file_for_uri
    - g_vfs_parse_name
    - G_WINHTTP_VFS
    - g_path_is_absolute
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *g_winhttp_vfs_parse_name (GVfs *vfs, const char *parse_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_VFS_CLASS
      Src: /src/glib/gio/win32/gwinhttpvfs.c:255,1
    - Dst: lookup_funcs
      Src: /src/glib/gio/win32/gwinhttpvfs.c:263,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - class
    argTypes:
    - GWinHttpVfsClass*
    constantsTouched: []
    func_position:
      end: 268
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 268
    functionName: g_winhttp_vfs_class_init
    functionSourceFile: /src/glib/gio/win32/gwinhttpvfs.c
    functionUses: []
    functionsReached:
    - G_VFS_CLASS
    - lookup_funcs
    linkageType: ''
    returnType: void
    signature: 'static void g_winhttp_vfs_class_init (GWinHttpVfsClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_winhttp_error_message
      Src: /src/glib/gio/win32/gwinhttpvfs.c:340,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpvfs.c:344,1
    - Dst: g_set_error
      Src: /src/glib/gio/win32/gwinhttpvfs.c:342,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - error
    - error_code
    - what
    argTypes:
    - GError**
    - DWORD
    - char*
    constantsTouched: []
    func_position:
      end: 345
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 345
    functionName: _g_winhttp_set_error
    functionSourceFile: /src/glib/gio/win32/gwinhttpvfs.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _g_winhttp_error_message
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void _g_winhttp_set_error (GError **error, DWORD error_code, const
      char *what) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_vfs_get_file_for_path
      Src: /src/glib/gio/win32/gwinhttpvfs.c:159,1
    - Dst: G_WINHTTP_VFS
      Src: /src/glib/gio/win32/gwinhttpvfs.c:159,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 160
    functionName: g_winhttp_vfs_get_file_for_path
    functionSourceFile: /src/glib/gio/win32/gwinhttpvfs.c
    functionUses: []
    functionsReached:
    - g_vfs_get_file_for_path
    - G_WINHTTP_VFS
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *g_winhttp_vfs_get_file_for_path (GVfs *vfs, const char
      *path) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_get_prgname
      Src: /src/glib/gio/win32/gwinhttpvfs.c:123,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/win32/gwinhttpvfs.c:130,1
    - Dst: g_vfs_get_local
      Src: /src/glib/gio/win32/gwinhttpvfs.c:125,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/win32/gwinhttpvfs.c:128,1
    - Dst: G_WINHTTP_VFS_GET_CLASS
      Src: /src/glib/gio/win32/gwinhttpvfs.c:132,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpvfs.c:139,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - vfs
    argTypes:
    - GWinHttpVfs*
    constantsTouched: []
    func_position:
      end: 140
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 140
    functionName: g_winhttp_vfs_init
    functionSourceFile: /src/glib/gio/win32/gwinhttpvfs.c
    functionUses: []
    functionsReached:
    - g_vfs_get_local
    - g_utf8_to_utf16
    - G_WINHTTP_VFS_GET_CLASS
    - g_get_prgname
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void g_winhttp_vfs_init (GWinHttpVfs *vfs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_WINHTTP_VFS
      Src: /src/glib/gio/win32/gwinhttpvfs.c:192,1
    - Dst: g_new
      Src: /src/glib/gio/win32/gwinhttpvfs.c:201,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/win32/gwinhttpvfs.c:201,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/win32/gwinhttpvfs.c:209,1
    - Dst: g_vfs_get_supported_uri_schemes
      Src: /src/glib/gio/win32/gwinhttpvfs.c:193,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 218
    functionName: g_winhttp_vfs_get_supported_uri_schemes
    functionSourceFile: /src/glib/gio/win32/gwinhttpvfs.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - G_WINHTTP_VFS
    - g_vfs_get_supported_uri_schemes
    - g_new
    linkageType: ''
    returnType: gchar**
    signature: 'static const gchar * const *g_winhttp_vfs_get_supported_uri_schemes
      (GVfs *vfs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - vfs
    argTypes:
    - GVfs*
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: g_winhttp_vfs_is_active
    functionSourceFile: /src/glib/gio/win32/gwinhttpvfs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_winhttp_vfs_is_active (GVfs *vfs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:285,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:289,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:293,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:297,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:301,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:305,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:307,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:311,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:315,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:319,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:325,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:320,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:282,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:286,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:290,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:294,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:298,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:302,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:306,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:308,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:312,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:316,1
    - Dst: g_win32_error_message
      Src: /src/glib/gio/win32/gwinhttpvfs.c:332,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:323,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:283,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:287,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:291,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:299,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:295,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:303,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:309,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:313,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:317,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:321,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:324,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:284,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:288,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:296,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:300,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:292,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:304,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:310,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:314,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:318,1
    - Dst: CASE
      Src: /src/glib/gio/win32/gwinhttpvfs.c:322,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/win32/gwinhttpvfs.c:328,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 333
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 333
    functionName: _g_winhttp_error_message
    functionSourceFile: /src/glib/gio/win32/gwinhttpvfs.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - CASE
    - g_win32_error_message
    linkageType: ''
    returnType: char*
    signature: 'char *_g_winhttp_error_message (DWORD error_code) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _g_winhttp_set_error
      Src: /src/glib/gio/win32/gwinhttpvfs.c:358,1
    - Dst: GetLastError
      Src: /src/glib/gio/win32/gwinhttpvfs.c:358,1
    - Dst: _g_winhttp_set_error
      Src: /src/glib/gio/win32/gwinhttpvfs.c:373,1
    - Dst: g_malloc
      Src: /src/glib/gio/win32/gwinhttpvfs.c:378,1
    - Dst: G_WINHTTP_VFS_GET_CLASS
      Src: /src/glib/gio/win32/gwinhttpvfs.c:380,1
    - Dst: G_WINHTTP_VFS_GET_CLASS
      Src: /src/glib/gio/win32/gwinhttpvfs.c:399,1
    - Dst: G_WINHTTP_VFS_GET_CLASS
      Src: /src/glib/gio/win32/gwinhttpvfs.c:410,1
    - Dst: g_set_error
      Src: /src/glib/gio/win32/gwinhttpvfs.c:423,1
    - Dst: GetLastError
      Src: /src/glib/gio/win32/gwinhttpvfs.c:371,1
    - Dst: G_WINHTTP_VFS_GET_CLASS
      Src: /src/glib/gio/win32/gwinhttpvfs.c:356,1
    - Dst: GetLastError
      Src: /src/glib/gio/win32/gwinhttpvfs.c:373,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpvfs.c:389,1
    - Dst: GetLastError
      Src: /src/glib/gio/win32/gwinhttpvfs.c:406,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpvfs.c:418,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpvfs.c:426,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpvfs.c:432,1
    - Dst: G_WINHTTP_VFS_GET_CLASS
      Src: /src/glib/gio/win32/gwinhttpvfs.c:364,1
    - Dst: GetLastError
      Src: /src/glib/gio/win32/gwinhttpvfs.c:388,1
    - Dst: g_malloc
      Src: /src/glib/gio/win32/gwinhttpvfs.c:408,1
    - Dst: _g_winhttp_set_error
      Src: /src/glib/gio/win32/gwinhttpvfs.c:388,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpvfs.c:427,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 4
    argNames:
    - vfs
    - request
    - error
    - what
    argTypes:
    - GWinHttpVfs*
    - HINTERNET
    - GError**
    - char*
    constantsTouched: []
    func_position:
      end: 435
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 435
    functionName: _g_winhttp_response
    functionSourceFile: /src/glib/gio/win32/gwinhttpvfs.c
    functionUses: []
    functionsReached:
    - g_set_error
    - _g_winhttp_set_error
    - g_malloc
    - GetLastError
    - G_WINHTTP_VFS_GET_CLASS
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _g_winhttp_response (GWinHttpVfs *vfs, HINTERNET request,
      GError **error, const char *what) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _g_winhttp_set_error
      Src: /src/glib/gio/win32/gwinhttpvfs.c:456,1
    - Dst: GetLastError
      Src: /src/glib/gio/win32/gwinhttpvfs.c:454,1
    - Dst: G_WINHTTP_VFS_GET_CLASS
      Src: /src/glib/gio/win32/gwinhttpvfs.c:447,1
    - Dst: GetLastError
      Src: /src/glib/gio/win32/gwinhttpvfs.c:456,1
    - Dst: g_malloc
      Src: /src/glib/gio/win32/gwinhttpvfs.c:461,1
    - Dst: G_WINHTTP_VFS_GET_CLASS
      Src: /src/glib/gio/win32/gwinhttpvfs.c:462,1
    - Dst: _g_winhttp_set_error
      Src: /src/glib/gio/win32/gwinhttpvfs.c:470,1
    - Dst: GetLastError
      Src: /src/glib/gio/win32/gwinhttpvfs.c:470,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpvfs.c:471,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 6
    argNames:
    - vfs
    - request
    - request_description
    - which_header
    - header
    - error
    argTypes:
    - GWinHttpVfs*
    - HINTERNET
    - char*
    - DWORD
    - wchar_t**
    - GError**
    constantsTouched: []
    func_position:
      end: 478
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 478
    functionName: _g_winhttp_query_header
    functionSourceFile: /src/glib/gio/win32/gwinhttpvfs.c
    functionUses: []
    functionsReached:
    - _g_winhttp_set_error
    - g_malloc
    - GetLastError
    - G_WINHTTP_VFS_GET_CLASS
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'gboolean _g_winhttp_query_header (GWinHttpVfs *vfs, HINTERNET request,
      const char *request_description, DWORD which_header, wchar_t **header, GError
      **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:374,1
    - Dst: g_new0
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:377,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 380
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 380
    functionName: g_win32_fs_monitor_create
    functionSourceFile: /src/glib/gio/win32/gwin32fsmonitorutils.c
    functionUses: []
    functionsReached:
    - g_new0
    linkageType: ''
    returnType: GWin32FSMonitorPrivate*
    signature: 'GWin32FSMonitorPrivate *g_win32_fs_monitor_create (gboolean isfile) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:141,1
    - Dst: wcslen
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:162,1
    - Dst: wcslen
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:163,1
    - Dst: g_strdup
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:204,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:217,1
    - Dst: g_file_monitor_is_cancelled
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:138,1
    - Dst: _wcsnicmp
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:174,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:223,1
    - Dst: g_win32_fs_monitor_handle_event
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:221,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:156,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:142,1
    - Dst: _wcsnicmp
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:178,1
    - Dst: ReadDirectoryChangesW
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:231,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:212,1
    - Dst: g_win32_fs_monitor_handle_event
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:216,1
    - Dst: _wcsnicmp
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:187,1
    - Dst: wcsrchr
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:208,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:209,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 58
    argCount: 3
    argNames:
    - error
    - nBytes
    - lpOverlapped
    argTypes:
    - DWORD
    - DWORD
    - LPOVERLAPPED
    constantsTouched: []
    func_position:
      end: 239
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 239
    functionName: g_win32_fs_monitor_callback
    functionSourceFile: /src/glib/gio/win32/gwin32fsmonitorutils.c
    functionUses: []
    functionsReached:
    - _wcsnicmp
    - g_file_monitor_is_cancelled
    - g_strdup
    - wcslen
    - g_assert_not_reached
    - ReadDirectoryChangesW
    - wcsrchr
    - g_win32_fs_monitor_handle_event
    - g_free
    - g_utf16_to_utf8
    linkageType: ''
    returnType: void
    signature: 'static void CALLBACK g_win32_fs_monitor_callback (DWORD error, DWORD
      nBytes, LPOVERLAPPED lpOverlapped) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GetFileAttributesExW
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:54,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:79,1
    - Dst: g_file_monitor_source_handle_event
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:107,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:102,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:112,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 37
    argCount: 3
    argNames:
    - monitor
    - filename
    - pfni
    argTypes:
    - GWin32FSMonitorPrivate*
    - gchar*
    - PFILE_NOTIFY_INFORMATION
    constantsTouched: []
    func_position:
      end: 115
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 115
    functionName: g_win32_fs_monitor_handle_event
    functionSourceFile: /src/glib/gio/win32/gwin32fsmonitorutils.c
    functionUses: []
    functionsReached:
    - GetFileAttributesExW
    - g_assert_not_reached
    - g_get_monotonic_time
    - g_utf16_to_utf8
    - g_file_monitor_source_handle_event
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_win32_fs_monitor_handle_event (GWin32FSMonitorPrivate
      *monitor, const gchar *filename, PFILE_NOTIFY_INFORMATION pfni) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:385,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:387,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:398,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:386,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:396,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - monitor
    argTypes:
    - GWin32FSMonitorPrivate*
    constantsTouched: []
    func_position:
      end: 411
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 411
    functionName: g_win32_fs_monitor_finalize
    functionSourceFile: /src/glib/gio/win32/gwin32fsmonitorutils.c
    functionUses: []
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: 'void g_win32_fs_monitor_finalize (GWin32FSMonitorPrivate *monitor) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GetLongPathNameW
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:287,1
    - Dst: wcsrchr
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:305,1
    - Dst: wcsdup
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:314,1
    - Dst: wcsdup
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:315,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:356,1
    - Dst: g_strconcat
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:265,1
    - Dst: g_build_filename
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:275,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:278,1
    - Dst: wcsrchr
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:289,1
    - Dst: wcsdup
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:299,1
    - Dst: wcsdup
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:298,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:319,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:333,1
    - Dst: GetFileAttributesExW
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:339,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:355,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:266,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:281,1
    - Dst: wcsdup
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:308,1
    - Dst: wcsrchr
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:312,1
    - Dst: wcsdup
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:307,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:318,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:325,1
    - Dst: CreateFileW
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:347,1
    - Dst: g_strconcat
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:276,1
    - Dst: wcsdup
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:291,1
    - Dst: wcsdup
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:292,1
    - Dst: wcsrchr
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:296,1
    - Dst: GetShortPathNameW
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:303,1
    - Dst: g_strconcat
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:332,1
    - Dst: ReadDirectoryChangesW
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:360,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 89
    argCount: 4
    argNames:
    - monitor
    - dirname
    - filename
    - isfile
    argTypes:
    - GWin32FSMonitorPrivate*
    - gchar*
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 369
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 369
    functionName: g_win32_fs_monitor_init
    functionSourceFile: /src/glib/gio/win32/gwin32fsmonitorutils.c
    functionUses: []
    functionsReached:
    - GetLongPathNameW
    - g_strconcat
    - GetFileAttributesExW
    - g_utf8_to_utf16
    - CreateFileW
    - ReadDirectoryChangesW
    - g_build_filename
    - GetShortPathNameW
    - wcsrchr
    - g_free
    - wcsdup
    linkageType: ''
    returnType: void
    signature: 'void g_win32_fs_monitor_init (GWin32FSMonitorPrivate *monitor, const
      gchar *dirname, const gchar *filename, gboolean isfile) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CloseHandle
      Src: /src/glib/gio/win32/gwin32fsmonitorutils.c:424,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - monitor
    argTypes:
    - GWin32FSMonitorPrivate*
    constantsTouched: []
    func_position:
      end: 425
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 425
    functionName: g_win32_fs_monitor_close_handle
    functionSourceFile: /src/glib/gio/win32/gwin32fsmonitorutils.c
    functionUses: []
    functionsReached:
    - CloseHandle
    linkageType: ''
    returnType: void
    signature: 'void g_win32_fs_monitor_close_handle (GWin32FSMonitorPrivate *monitor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: g_win32_file_monitor_is_supported
    functionSourceFile: /src/glib/gio/win32/gwin32filemonitor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_win32_file_monitor_is_supported (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_FILE_MONITOR
      Src: /src/glib/gio/win32/gwin32filemonitor.c:72,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/win32/gwin32filemonitor.c:76,1
    - Dst: g_win32_fs_monitor_finalize
      Src: /src/glib/gio/win32/gwin32filemonitor.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: g_win32_file_monitor_finalize
    functionSourceFile: /src/glib/gio/win32/gwin32filemonitor.c
    functionUses: []
    functionsReached:
    - g_win32_fs_monitor_finalize
    - G_WIN32_FILE_MONITOR
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_file_monitor_finalize (GObject *object) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_FILE_MONITOR
      Src: /src/glib/gio/win32/gwin32filemonitor.c:41,1
    - Dst: g_win32_fs_monitor_init
      Src: /src/glib/gio/win32/gwin32filemonitor.c:48,1
    - Dst: g_win32_fs_monitor_init
      Src: /src/glib/gio/win32/gwin32filemonitor.c:50,1
    - Dst: g_win32_fs_monitor_init
      Src: /src/glib/gio/win32/gwin32filemonitor.c:46,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 5
    argNames:
    - monitor
    - dirname
    - basename
    - filename
    - source
    argTypes:
    - GLocalFileMonitor*
    - gchar*
    - gchar*
    - gchar*
    - GFileMonitorSource*
    constantsTouched: []
    func_position:
      end: 51
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 51
    functionName: g_win32_file_monitor_start
    functionSourceFile: /src/glib/gio/win32/gwin32filemonitor.c
    functionUses: []
    functionsReached:
    - G_WIN32_FILE_MONITOR
    - g_win32_fs_monitor_init
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_file_monitor_start (GLocalFileMonitor *monitor,
      const gchar *dirname, const gchar *basename, const gchar *filename, GFileMonitorSource
      *source) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_win32_fs_monitor_create
      Src: /src/glib/gio/win32/gwin32filemonitor.c:62,1
    - Dst: G_FILE_MONITOR
      Src: /src/glib/gio/win32/gwin32filemonitor.c:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - monitor
    argTypes:
    - GWin32FileMonitor*
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: g_win32_file_monitor_init
    functionSourceFile: /src/glib/gio/win32/gwin32filemonitor.c
    functionUses: []
    functionsReached:
    - G_FILE_MONITOR
    - g_win32_fs_monitor_create
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_file_monitor_init (GWin32FileMonitor *monitor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_WIN32_FILE_MONITOR
      Src: /src/glib/gio/win32/gwin32filemonitor.c:84,1
    - Dst: g_win32_fs_monitor_close_handle
      Src: /src/glib/gio/win32/gwin32filemonitor.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - monitor
    argTypes:
    - GFileMonitor*
    constantsTouched: []
    func_position:
      end: 89
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 89
    functionName: g_win32_file_monitor_cancel
    functionSourceFile: /src/glib/gio/win32/gwin32filemonitor.c
    functionUses: []
    functionsReached:
    - g_win32_fs_monitor_close_handle
    - G_WIN32_FILE_MONITOR
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_win32_file_monitor_cancel (GFileMonitor* monitor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/win32/gwin32filemonitor.c:94,1
    - Dst: G_FILE_MONITOR_CLASS
      Src: /src/glib/gio/win32/gwin32filemonitor.c:95,1
    - Dst: G_LOCAL_FILE_MONITOR_CLASS
      Src: /src/glib/gio/win32/gwin32filemonitor.c:96,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GWin32FileMonitorClass*
    constantsTouched: []
    func_position:
      end: 103
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 103
    functionName: g_win32_file_monitor_class_init
    functionSourceFile: /src/glib/gio/win32/gwin32filemonitor.c
    functionUses: []
    functionsReached:
    - G_LOCAL_FILE_MONITOR_CLASS
    - G_FILE_MONITOR_CLASS
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_win32_file_monitor_class_init (GWin32FileMonitorClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/win32/gwinhttpfileinputstream.c:80,1
    - Dst: G_INPUT_STREAM_CLASS
      Src: /src/glib/gio/win32/gwinhttpfileinputstream.c:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GWinHttpFileInputStreamClass*
    constantsTouched: []
    func_position:
      end: 87
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 87
    functionName: g_winhttp_file_input_stream_class_init
    functionSourceFile: /src/glib/gio/win32/gwinhttpfileinputstream.c
    functionUses: []
    functionsReached:
    - G_INPUT_STREAM_CLASS
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_winhttp_file_input_stream_class_init (GWinHttpFileInputStreamClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/glib/gio/win32/gwinhttpfileinputstream.c:109,1
    - Dst: g_object_ref
      Src: /src/glib/gio/win32/gwinhttpfileinputstream.c:111,1
    - Dst: G_FILE_INPUT_STREAM
      Src: /src/glib/gio/win32/gwinhttpfileinputstream.c:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 117
    functionName: _g_winhttp_file_input_stream_new
    functionSourceFile: /src/glib/gio/win32/gwinhttpfileinputstream.c
    functionUses: []
    functionsReached:
    - G_FILE_INPUT_STREAM
    - g_object_new
    - g_object_ref
    linkageType: ''
    returnType: GFileInputStream*
    signature: 'GFileInputStream *_g_winhttp_file_input_stream_new (GWinHttpFile *file,
      HINTERNET connection, HINTERNET request) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_WINHTTP_FILE_INPUT_STREAM
      Src: /src/glib/gio/win32/gwinhttpfileinputstream.c:64,1
    - Dst: G_WINHTTP_VFS_GET_CLASS
      Src: /src/glib/gio/win32/gwinhttpfileinputstream.c:69,1
    - Dst: G_WINHTTP_VFS_GET_CLASS
      Src: /src/glib/gio/win32/gwinhttpfileinputstream.c:67,1
    - Dst: g_object_unref
      Src: /src/glib/gio/win32/gwinhttpfileinputstream.c:71,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/win32/gwinhttpfileinputstream.c:74,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 75
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 75
    functionName: g_winhttp_file_input_stream_finalize
    functionSourceFile: /src/glib/gio/win32/gwinhttpfileinputstream.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    - g_object_unref
    - G_WINHTTP_FILE_INPUT_STREAM
    - G_WINHTTP_VFS_GET_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_winhttp_file_input_stream_finalize (GObject *object) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_WINHTTP_FILE_INPUT_STREAM
      Src: /src/glib/gio/win32/gwinhttpfileinputstream.c:126,1
    - Dst: G_WINHTTP_VFS_GET_CLASS
      Src: /src/glib/gio/win32/gwinhttpfileinputstream.c:131,1
    - Dst: GetLastError
      Src: /src/glib/gio/win32/gwinhttpfileinputstream.c:138,1
    - Dst: _g_winhttp_set_error
      Src: /src/glib/gio/win32/gwinhttpfileinputstream.c:138,1
    - Dst: _g_winhttp_response
      Src: /src/glib/gio/win32/gwinhttpfileinputstream.c:143,1
    - Dst: G_WINHTTP_VFS_GET_CLASS
      Src: /src/glib/gio/win32/gwinhttpfileinputstream.c:152,1
    - Dst: _g_winhttp_set_error
      Src: /src/glib/gio/win32/gwinhttpfileinputstream.c:155,1
    - Dst: GetLastError
      Src: /src/glib/gio/win32/gwinhttpfileinputstream.c:155,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 5
    argNames:
    - stream
    - buffer
    - count
    - cancellable
    - error
    argTypes:
    - GInputStream*
    - void*
    - gsize
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 161
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 161
    functionName: g_winhttp_file_input_stream_read
    functionSourceFile: /src/glib/gio/win32/gwinhttpfileinputstream.c
    functionUses: []
    functionsReached:
    - _g_winhttp_set_error
    - GetLastError
    - G_WINHTTP_FILE_INPUT_STREAM
    - G_WINHTTP_VFS_GET_CLASS
    - _g_winhttp_response
    linkageType: ''
    returnType: gssize
    signature: 'static gssize g_winhttp_file_input_stream_read (GInputStream *stream,
      void *buffer, gsize count, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - info
    argTypes:
    - GWinHttpFileInputStream*
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: g_winhttp_file_input_stream_init
    functionSourceFile: /src/glib/gio/win32/gwinhttpfileinputstream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_winhttp_file_input_stream_init (GWinHttpFileInputStream
      *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_WINHTTP_FILE_INPUT_STREAM
      Src: /src/glib/gio/win32/gwinhttpfileinputstream.c:168,1
    - Dst: G_WINHTTP_VFS_GET_CLASS
      Src: /src/glib/gio/win32/gwinhttpfileinputstream.c:171,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GInputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 174
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 174
    functionName: g_winhttp_file_input_stream_close
    functionSourceFile: /src/glib/gio/win32/gwinhttpfileinputstream.c
    functionUses: []
    functionsReached:
    - G_WINHTTP_FILE_INPUT_STREAM
    - G_WINHTTP_VFS_GET_CLASS
    linkageType: ''
    returnType: gboolean
    signature: "static gboolean g_winhttp_file_input_stream_close (GInputStream *stream,\t\
      \t\t\t GCancellable *cancellable,\t\t\t\t GError **error) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 3
    argNames:
    - file
    - cancellable
    - error
    argTypes:
    - GFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 736
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 736
    functionName: g_winhttp_file_make_directory
    functionSourceFile: /src/glib/gio/win32/gwinhttpfile.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_winhttp_file_make_directory (GFile *file, GCancellable
      *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/gio/win32/gwinhttpfile.c:748,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 7
    argNames:
    - source
    - destination
    - flags
    - cancellable
    - progress_callback
    - progress_callback_data
    - error
    argTypes:
    - GFile*
    - GFile*
    - GFileCopyFlags
    - GCancellable*
    - GFileProgressCallback
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 752
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 752
    functionName: g_winhttp_file_copy
    functionSourceFile: /src/glib/gio/win32/gwinhttpfile.c
    functionUses: []
    functionsReached:
    - g_set_error_literal
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_winhttp_file_copy (GFile *source, GFile *destination,
      GFileCopyFlags flags, GCancellable *cancellable, GFileProgressCallback progress_callback,
      gpointer progress_callback_data, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 1
    argCount: 7
    argNames:
    - source
    - destination
    - flags
    - cancellable
    - progress_callback
    - progress_callback_data
    - error
    argTypes:
    - GFile*
    - GFile*
    - GFileCopyFlags
    - GCancellable*
    - GFileProgressCallback
    - gpointer
    - GError**
    constantsTouched: []
    func_position:
      end: 766
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 766
    functionName: g_winhttp_file_move
    functionSourceFile: /src/glib/gio/win32/gwinhttpfile.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_winhttp_file_move (GFile *source, GFile *destination,
      GFileCopyFlags flags, GCancellable *cancellable, GFileProgressCallback progress_callback,
      gpointer progress_callback_data, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_WINHTTP_FILE
      Src: /src/glib/gio/win32/gwinhttpfile.c:155,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/win32/gwinhttpfile.c:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 158
    functionName: g_winhttp_file_get_uri_scheme
    functionSourceFile: /src/glib/gio/win32/gwinhttpfile.c
    functionUses: []
    functionsReached:
    - g_utf16_to_utf8
    - G_WINHTTP_FILE
    linkageType: ''
    returnType: char*
    signature: 'static char *g_winhttp_file_get_uri_scheme (GFile *file) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_winhttp_file_get_uri
      Src: /src/glib/gio/win32/gwinhttpfile.c:358,1
    - Dst: match_prefix
      Src: /src/glib/gio/win32/gwinhttpfile.c:363,1
    - Dst: g_strdup
      Src: /src/glib/gio/win32/gwinhttpfile.c:366,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:370,1
    - Dst: g_winhttp_file_get_uri
      Src: /src/glib/gio/win32/gwinhttpfile.c:359,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:371,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 374
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 374
    functionName: g_winhttp_file_get_relative_path
    functionSourceFile: /src/glib/gio/win32/gwinhttpfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_winhttp_file_get_uri
    - g_free
    - match_prefix
    linkageType: ''
    returnType: char*
    signature: 'static char *g_winhttp_file_get_relative_path (GFile *parent, GFile
      *descendant) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: G_WINHTTP_FILE
      Src: /src/glib/gio/win32/gwinhttpfile.c:464,1
    - Dst: g_winhttp_file_get_display_name
      Src: /src/glib/gio/win32/gwinhttpfile.c:490,1
    - Dst: g_file_info_set_display_name
      Src: /src/glib/gio/win32/gwinhttpfile.c:491,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/win32/gwinhttpfile.c:502,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/win32/gwinhttpfile.c:495,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:492,1
    - Dst: GetLastError
      Src: /src/glib/gio/win32/gwinhttpfile.c:515,1
    - Dst: _g_winhttp_set_error
      Src: /src/glib/gio/win32/gwinhttpfile.c:543,1
    - Dst: swscanf
      Src: /src/glib/gio/win32/gwinhttpfile.c:564,1
    - Dst: strchr
      Src: /src/glib/gio/win32/gwinhttpfile.c:587,1
    - Dst: g_file_attribute_matcher_unref
      Src: /src/glib/gio/win32/gwinhttpfile.c:627,1
    - Dst: g_file_info_set_content_type
      Src: /src/glib/gio/win32/gwinhttpfile.c:597,1
    - Dst: g_file_info_set_modification_date_time
      Src: /src/glib/gio/win32/gwinhttpfile.c:621,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/win32/gwinhttpfile.c:487,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/win32/gwinhttpfile.c:499,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/win32/gwinhttpfile.c:498,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/win32/gwinhttpfile.c:501,1
    - Dst: G_WINHTTP_VFS
      Src: /src/glib/gio/win32/gwinhttpfile.c:508,1
    - Dst: _g_winhttp_set_error
      Src: /src/glib/gio/win32/gwinhttpfile.c:515,1
    - Dst: G_WINHTTP_VFS_GET_CLASS
      Src: /src/glib/gio/win32/gwinhttpfile.c:536,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:569,1
    - Dst: _g_winhttp_query_header
      Src: /src/glib/gio/win32/gwinhttpfile.c:576,1
    - Dst: g_date_time_unref
      Src: /src/glib/gio/win32/gwinhttpfile.c:624,1
    - Dst: g_date_time_unref
      Src: /src/glib/gio/win32/gwinhttpfile.c:623,1
    - Dst: g_file_info_set_attribute_mask
      Src: /src/glib/gio/win32/gwinhttpfile.c:481,1
    - Dst: g_file_attribute_matcher_new
      Src: /src/glib/gio/win32/gwinhttpfile.c:479,1
    - Dst: g_file_info_new
      Src: /src/glib/gio/win32/gwinhttpfile.c:480,1
    - Dst: _g_file_attribute_matcher_matches_id
      Src: /src/glib/gio/win32/gwinhttpfile.c:500,1
    - Dst: G_WINHTTP_VFS_GET_CLASS
      Src: /src/glib/gio/win32/gwinhttpfile.c:507,1
    - Dst: GetLastError
      Src: /src/glib/gio/win32/gwinhttpfile.c:531,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/win32/gwinhttpfile.c:562,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:568,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:594,1
    - Dst: g_strndup
      Src: /src/glib/gio/win32/gwinhttpfile.c:591,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:600,1
    - Dst: g_winhttp_file_get_basename
      Src: /src/glib/gio/win32/gwinhttpfile.c:483,1
    - Dst: g_file_info_set_name
      Src: /src/glib/gio/win32/gwinhttpfile.c:484,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:485,1
    - Dst: g_file_info_set_file_type
      Src: /src/glib/gio/win32/gwinhttpfile.c:496,1
    - Dst: G_WINHTTP_VFS_GET_CLASS
      Src: /src/glib/gio/win32/gwinhttpfile.c:520,1
    - Dst: _g_winhttp_set_error
      Src: /src/glib/gio/win32/gwinhttpfile.c:531,1
    - Dst: GetLastError
      Src: /src/glib/gio/win32/gwinhttpfile.c:543,1
    - Dst: _g_winhttp_response
      Src: /src/glib/gio/win32/gwinhttpfile.c:548,1
    - Dst: _g_winhttp_query_header
      Src: /src/glib/gio/win32/gwinhttpfile.c:552,1
    - Dst: wcslen
      Src: /src/glib/gio/win32/gwinhttpfile.c:565,1
    - Dst: g_file_info_set_size
      Src: /src/glib/gio/win32/gwinhttpfile.c:566,1
    - Dst: g_date_time_new_from_unix_utc
      Src: /src/glib/gio/win32/gwinhttpfile.c:618,1
    - Dst: g_date_time_add_seconds
      Src: /src/glib/gio/win32/gwinhttpfile.c:619,1
    - Dst: g_file_info_set_content_type
      Src: /src/glib/gio/win32/gwinhttpfile.c:593,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/win32/gwinhttpfile.c:583,1
    - Dst: G_WINHTTP_VFS_GET_CLASS
      Src: /src/glib/gio/win32/gwinhttpfile.c:604,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 103
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 630
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 630
    functionName: g_winhttp_file_query_info
    functionSourceFile: /src/glib/gio/win32/gwinhttpfile.c
    functionUses: []
    functionsReached:
    - _g_file_attribute_matcher_matches_id
    - g_date_time_unref
    - G_WINHTTP_FILE
    - g_date_time_add_seconds
    - g_file_info_set_modification_date_time
    - _g_winhttp_query_header
    - g_file_info_new
    - g_utf16_to_utf8
    - g_date_time_new_from_unix_utc
    - g_file_info_set_attribute_mask
    - g_file_attribute_matcher_unref
    - G_WINHTTP_VFS_GET_CLASS
    - swscanf
    - g_winhttp_file_get_basename
    - g_strndup
    - g_file_info_set_size
    - _g_winhttp_response
    - g_winhttp_file_get_display_name
    - g_file_info_set_name
    - wcslen
    - _g_winhttp_set_error
    - g_utf8_to_utf16
    - g_file_info_set_file_type
    - g_file_info_set_display_name
    - GetLastError
    - strchr
    - g_file_attribute_matcher_new
    - g_file_info_set_content_type
    - G_WINHTTP_VFS
    - g_free
    linkageType: ''
    returnType: GFileInfo*
    signature: 'static GFileInfo *g_winhttp_file_query_info (GFile *file, const char
      *attributes, GFileQueryInfoFlags flags, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_WINHTTP_FILE
      Src: /src/glib/gio/win32/gwinhttpfile.c:683,1
    - Dst: G_WINHTTP_VFS_GET_CLASS
      Src: /src/glib/gio/win32/gwinhttpfile.c:686,1
    - Dst: _g_winhttp_set_error
      Src: /src/glib/gio/win32/gwinhttpfile.c:694,1
    - Dst: G_WINHTTP_VFS
      Src: /src/glib/gio/win32/gwinhttpfile.c:687,1
    - Dst: GetLastError
      Src: /src/glib/gio/win32/gwinhttpfile.c:694,1
    - Dst: _g_winhttp_file_output_stream_new
      Src: /src/glib/gio/win32/gwinhttpfile.c:699,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 700
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 700
    functionName: g_winhttp_file_create
    functionSourceFile: /src/glib/gio/win32/gwinhttpfile.c
    functionUses: []
    functionsReached:
    - G_WINHTTP_FILE
    - _g_winhttp_set_error
    - _g_winhttp_file_output_stream_new
    - GetLastError
    - G_WINHTTP_VFS_GET_CLASS
    - G_WINHTTP_VFS
    linkageType: ''
    returnType: GFileOutputStream*
    signature: 'static GFileOutputStream *g_winhttp_file_create (GFile *file, GFileCreateFlags
      flags, GCancellable *cancellable, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_WINHTTP_FILE
      Src: /src/glib/gio/win32/gwinhttpfile.c:163,1
    - Dst: g_strdup
      Src: /src/glib/gio/win32/gwinhttpfile.c:174,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:175,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/win32/gwinhttpfile.c:168,1
    - Dst: strrchr
      Src: /src/glib/gio/win32/gwinhttpfile.c:169,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 178
    functionName: g_winhttp_file_get_basename
    functionSourceFile: /src/glib/gio/win32/gwinhttpfile.c
    functionUses: []
    functionsReached:
    - g_strdup
    - G_WINHTTP_FILE
    - strrchr
    - g_free
    - g_utf16_to_utf8
    linkageType: ''
    returnType: char*
    signature: 'static char *g_winhttp_file_get_basename (GFile *file) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wcslen
      Src: /src/glib/gio/win32/gwinhttpfile.c:393,1
    - Dst: wcslen
      Src: /src/glib/gio/win32/gwinhttpfile.c:393,1
    - Dst: wcscpy
      Src: /src/glib/gio/win32/gwinhttpfile.c:399,1
    - Dst: g_memdup2
      Src: /src/glib/gio/win32/gwinhttpfile.c:411,1
    - Dst: g_memdup2
      Src: /src/glib/gio/win32/gwinhttpfile.c:414,1
    - Dst: g_memdup2
      Src: /src/glib/gio/win32/gwinhttpfile.c:413,1
    - Dst: wcscat
      Src: /src/glib/gio/win32/gwinhttpfile.c:400,1
    - Dst: g_memdup2
      Src: /src/glib/gio/win32/gwinhttpfile.c:412,1
    - Dst: wcscpy
      Src: /src/glib/gio/win32/gwinhttpfile.c:394,1
    - Dst: g_new
      Src: /src/glib/gio/win32/gwinhttpfile.c:398,1
    - Dst: wcslen
      Src: /src/glib/gio/win32/gwinhttpfile.c:398,1
    - Dst: wcscat
      Src: /src/glib/gio/win32/gwinhttpfile.c:402,1
    - Dst: wcslen
      Src: /src/glib/gio/win32/gwinhttpfile.c:416,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:404,1
    - Dst: g_new
      Src: /src/glib/gio/win32/gwinhttpfile.c:393,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/win32/gwinhttpfile.c:382,1
    - Dst: g_object_new
      Src: /src/glib/gio/win32/gwinhttpfile.c:408,1
    - Dst: G_WINHTTP_FILE
      Src: /src/glib/gio/win32/gwinhttpfile.c:380,1
    - Dst: wcslen
      Src: /src/glib/gio/win32/gwinhttpfile.c:398,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 421
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 421
    functionName: g_winhttp_file_resolve_relative_path
    functionSourceFile: /src/glib/gio/win32/gwinhttpfile.c
    functionUses: []
    functionsReached:
    - wcscpy
    - wcslen
    - g_new
    - g_utf8_to_utf16
    - G_WINHTTP_FILE
    - wcscat
    - g_object_new
    - g_memdup2
    - g_free
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *g_winhttp_file_resolve_relative_path (GFile *file, const
      char *relative_path) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_WINHTTP_FILE
      Src: /src/glib/gio/win32/gwinhttpfile.c:637,1
    - Dst: G_WINHTTP_VFS
      Src: /src/glib/gio/win32/gwinhttpfile.c:646,1
    - Dst: _g_winhttp_set_error
      Src: /src/glib/gio/win32/gwinhttpfile.c:653,1
    - Dst: G_WINHTTP_VFS_GET_CLASS
      Src: /src/glib/gio/win32/gwinhttpfile.c:645,1
    - Dst: GetLastError
      Src: /src/glib/gio/win32/gwinhttpfile.c:653,1
    - Dst: G_WINHTTP_VFS_GET_CLASS
      Src: /src/glib/gio/win32/gwinhttpfile.c:658,1
    - Dst: _g_winhttp_set_error
      Src: /src/glib/gio/win32/gwinhttpfile.c:669,1
    - Dst: GetLastError
      Src: /src/glib/gio/win32/gwinhttpfile.c:669,1
    - Dst: _g_winhttp_file_input_stream_new
      Src: /src/glib/gio/win32/gwinhttpfile.c:674,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 675
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 675
    functionName: g_winhttp_file_read
    functionSourceFile: /src/glib/gio/win32/gwinhttpfile.c
    functionUses: []
    functionsReached:
    - G_WINHTTP_FILE
    - _g_winhttp_set_error
    - GetLastError
    - _g_winhttp_file_input_stream_new
    - G_WINHTTP_VFS_GET_CLASS
    - G_WINHTTP_VFS
    linkageType: ''
    returnType: GFileInputStream*
    signature: 'static GFileInputStream *g_winhttp_file_read (GFile *file, GCancellable
      *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: g_winhttp_file_is_native
    functionSourceFile: /src/glib/gio/win32/gwinhttpfile.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_winhttp_file_is_native (GFile *file) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_winhttp_file_get_basename
      Src: /src/glib/gio/win32/gwinhttpfile.c:188,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/win32/gwinhttpfile.c:192,1
    - Dst: _
      Src: /src/glib/gio/win32/gwinhttpfile.c:190,1
    - Dst: g_strdup
      Src: /src/glib/gio/win32/gwinhttpfile.c:190,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 193
    functionName: g_winhttp_file_get_display_name
    functionSourceFile: /src/glib/gio/win32/gwinhttpfile.c
    functionUses: []
    functionsReached:
    - _
    - g_steal_pointer
    - g_winhttp_file_get_basename
    - g_strdup
    linkageType: ''
    returnType: char*
    signature: 'static char *g_winhttp_file_get_display_name (GFile *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_winhttp_file_get_uri
      Src: /src/glib/gio/win32/gwinhttpfile.c:294,1
    - Dst: g_str_hash
      Src: /src/glib/gio/win32/gwinhttpfile.c:295,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:297,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - file
    argTypes:
    - GFile*
    constantsTouched: []
    func_position:
      end: 300
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 300
    functionName: g_winhttp_file_hash
    functionSourceFile: /src/glib/gio/win32/gwinhttpfile.c
    functionUses: []
    functionsReached:
    - g_str_hash
    - g_winhttp_file_get_uri
    - g_free
    linkageType: ''
    returnType: guint
    signature: 'static guint g_winhttp_file_hash (GFile *file) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/glib/gio/win32/gwinhttpfile.c:322,1
    - Dst: strncmp
      Src: /src/glib/gio/win32/gwinhttpfile.c:323,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 330
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 330
    functionName: match_prefix
    functionSourceFile: /src/glib/gio/win32/gwinhttpfile.c
    functionUses: []
    functionsReached:
    - strncmp
    - strlen
    linkageType: ''
    returnType: char*
    signature: 'static const char *match_prefix (const char *path, const char *prefix) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_locale_from_utf8
      Src: /src/glib/gio/win32/gwinhttpfile.c:431,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/win32/gwinhttpfile.c:439,1
    - Dst: g_set_error
      Src: /src/glib/gio/win32/gwinhttpfile.c:434,1
    - Dst: _
      Src: /src/glib/gio/win32/gwinhttpfile.c:435,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:440,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 443
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 443
    functionName: g_winhttp_file_get_child_for_display_name
    functionSourceFile: /src/glib/gio/win32/gwinhttpfile.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_locale_from_utf8
    - g_file_get_child
    - _
    - g_free
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *g_winhttp_file_get_child_for_display_name (GFile *file,
      const char *display_name, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 715
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 715
    functionName: g_winhttp_file_replace
    functionSourceFile: /src/glib/gio/win32/gwinhttpfile.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GFileOutputStream*
    signature: 'static GFileOutputStream *g_winhttp_file_replace (GFile *file, const
      char *etag, gboolean make_backup, GFileCreateFlags flags, GCancellable *cancellable,
      GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/gio/win32/gwinhttpfile.c:148,1
    - Dst: g_ascii_strcasecmp
      Src: /src/glib/gio/win32/gwinhttpfile.c:149,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - file
    - uri_scheme
    argTypes:
    - GFile*
    - char*
    constantsTouched: []
    func_position:
      end: 150
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 150
    functionName: g_winhttp_file_has_uri_scheme
    functionSourceFile: /src/glib/gio/win32/gwinhttpfile.c
    functionUses: []
    functionsReached:
    - g_ascii_strcasecmp
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_winhttp_file_has_uri_scheme (GFile *file, const
      char *uri_scheme) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: g_winhttp_file_get_path
    functionSourceFile: /src/glib/gio/win32/gwinhttpfile.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static char *g_winhttp_file_get_path (GFile *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_winhttp_file_get_uri
      Src: /src/glib/gio/win32/gwinhttpfile.c:306,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:310,1
    - Dst: g_str_equal
      Src: /src/glib/gio/win32/gwinhttpfile.c:308,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:311,1
    - Dst: g_winhttp_file_get_uri
      Src: /src/glib/gio/win32/gwinhttpfile.c:307,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - file1
    - file2
    argTypes:
    - GFile*
    - GFile*
    constantsTouched: []
    func_position:
      end: 314
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 314
    functionName: g_winhttp_file_equal
    functionSourceFile: /src/glib/gio/win32/gwinhttpfile.c
    functionUses: []
    functionsReached:
    - g_winhttp_file_get_uri
    - g_free
    - g_str_equal
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_winhttp_file_equal (GFile *file1, GFile *file2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_winhttp_file_get_uri
      Src: /src/glib/gio/win32/gwinhttpfile.c:336,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:349,1
    - Dst: g_winhttp_file_get_uri
      Src: /src/glib/gio/win32/gwinhttpfile.c:337,1
    - Dst: match_prefix
      Src: /src/glib/gio/win32/gwinhttpfile.c:341,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:348,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - parent
    - descendant
    argTypes:
    - GFile*
    - GFile*
    constantsTouched: []
    func_position:
      end: 352
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 352
    functionName: g_winhttp_file_prefix_matches
    functionSourceFile: /src/glib/gio/win32/gwinhttpfile.c
    functionUses: []
    functionsReached:
    - g_winhttp_file_get_uri
    - g_free
    - match_prefix
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_winhttp_file_prefix_matches (GFile *parent, GFile
      *descendant) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/glib/gio/win32/gwinhttpfile.c:451,1
    - Dst: _
      Src: /src/glib/gio/win32/gwinhttpfile.c:452,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 455
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 455
    functionName: g_winhttp_file_set_display_name
    functionSourceFile: /src/glib/gio/win32/gwinhttpfile.c
    functionUses: []
    functionsReached:
    - _
    - g_set_error_literal
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *g_winhttp_file_set_display_name (GFile *file, const
      char *display_name, GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 3
    argNames:
    - file
    - cancellable
    - error
    argTypes:
    - GFile*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 726
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 726
    functionName: g_winhttp_file_delete
    functionSourceFile: /src/glib/gio/win32/gwinhttpfile.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean g_winhttp_file_delete (GFile *file, GCancellable *cancellable,
      GError **error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/glib/gio/win32/gwinhttpfile.c:100,1
    - Dst: g_object_ref
      Src: /src/glib/gio/win32/gwinhttpfile.c:98,1
    - Dst: G_WINHTTP_VFS_GET_CLASS
      Src: /src/glib/gio/win32/gwinhttpfile.c:109,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:128,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:125,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:111,1
    - Dst: g_new
      Src: /src/glib/gio/win32/gwinhttpfile.c:115,1
    - Dst: g_new
      Src: /src/glib/gio/win32/gwinhttpfile.c:116,1
    - Dst: g_new
      Src: /src/glib/gio/win32/gwinhttpfile.c:117,1
    - Dst: g_new
      Src: /src/glib/gio/win32/gwinhttpfile.c:119,1
    - Dst: g_new
      Src: /src/glib/gio/win32/gwinhttpfile.c:118,1
    - Dst: g_new
      Src: /src/glib/gio/win32/gwinhttpfile.c:120,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:124,1
    - Dst: G_WINHTTP_VFS_GET_CLASS
      Src: /src/glib/gio/win32/gwinhttpfile.c:122,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:130,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:126,1
    - Dst: G_FILE
      Src: /src/glib/gio/win32/gwinhttpfile.c:135,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/win32/gwinhttpfile.c:92,1
    - Dst: g_object_new
      Src: /src/glib/gio/win32/gwinhttpfile.c:97,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:127,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:134,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:129,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 136
    functionName: _g_winhttp_file_new
    functionSourceFile: /src/glib/gio/win32/gwinhttpfile.c
    functionUses: []
    functionsReached:
    - g_object_new
    - g_new
    - g_utf8_to_utf16
    - g_free
    - G_FILE
    - g_object_ref
    - G_WINHTTP_VFS_GET_CLASS
    - memset
    linkageType: ''
    returnType: GFile*
    signature: 'GFile *_g_winhttp_file_new (GWinHttpVfs *vfs, const char *uri) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_WINHTTP_FILE
      Src: /src/glib/gio/win32/gwinhttpfile.c:51,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:53,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:54,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:55,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:56,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:57,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:58,1
    - Dst: g_object_unref
      Src: /src/glib/gio/win32/gwinhttpfile.c:60,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/win32/gwinhttpfile.c:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - object
    argTypes:
    - GObject*
    constantsTouched: []
    func_position:
      end: 63
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 63
    functionName: g_winhttp_file_finalize
    functionSourceFile: /src/glib/gio/win32/gwinhttpfile.c
    functionUses: []
    functionsReached:
    - g_free
    - g_object_unref
    - G_WINHTTP_FILE
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_winhttp_file_finalize (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - winhttp
    argTypes:
    - GWinHttpFile*
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: g_winhttp_file_init
    functionSourceFile: /src/glib/gio/win32/gwinhttpfile.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_winhttp_file_init (GWinHttpFile *winhttp) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G_WINHTTP_FILE
      Src: /src/glib/gio/win32/gwinhttpfile.c:204,1
    - Dst: GetLastError
      Src: /src/glib/gio/win32/gwinhttpfile.c:211,1
    - Dst: g_new
      Src: /src/glib/gio/win32/gwinhttpfile.c:214,1
    - Dst: G_WINHTTP_VFS_GET_CLASS
      Src: /src/glib/gio/win32/gwinhttpfile.c:210,1
    - Dst: G_WINHTTP_VFS_GET_CLASS
      Src: /src/glib/gio/win32/gwinhttpfile.c:216,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:218,1
    - Dst: g_utf16_to_utf8
      Src: /src/glib/gio/win32/gwinhttpfile.c:222,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:223,1
    - Dst: memmove
      Src: /src/glib/gio/win32/gwinhttpfile.c:232,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/win32/gwinhttpfile.c:225,1
    - Dst: strlen
      Src: /src/glib/gio/win32/gwinhttpfile.c:233,1
    - Dst: strlen
      Src: /src/glib/gio/win32/gwinhttpfile.c:228,1
    - Dst: strlen
      Src: /src/glib/gio/win32/gwinhttpfile.c:232,1
    - Dst: strlen
      Src: /src/glib/gio/win32/gwinhttpfile.c:227,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/win32/gwinhttpfile.c:230,1
    - Dst: memmove
      Src: /src/glib/gio/win32/gwinhttpfile.c:227,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 237
    functionName: g_winhttp_file_get_uri
    functionSourceFile: /src/glib/gio/win32/gwinhttpfile.c
    functionUses: []
    functionsReached:
    - g_new
    - G_WINHTTP_FILE
    - memmove
    - strlen
    - g_str_has_prefix
    - GetLastError
    - G_WINHTTP_VFS_GET_CLASS
    - g_free
    - g_utf16_to_utf8
    linkageType: ''
    returnType: char*
    signature: 'static char *g_winhttp_file_get_uri (GFile *file) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_WINHTTP_FILE
      Src: /src/glib/gio/win32/gwinhttpfile.c:255,1
    - Dst: strrchr
      Src: /src/glib/gio/win32/gwinhttpfile.c:261,1
    - Dst: g_winhttp_file_get_uri
      Src: /src/glib/gio/win32/gwinhttpfile.c:257,1
    - Dst: _g_winhttp_file_new
      Src: /src/glib/gio/win32/gwinhttpfile.c:273,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:264,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:274,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 277
    functionName: g_winhttp_file_get_parent
    functionSourceFile: /src/glib/gio/win32/gwinhttpfile.c
    functionUses: []
    functionsReached:
    - G_WINHTTP_FILE
    - strrchr
    - g_winhttp_file_get_uri
    - g_free
    - _g_winhttp_file_new
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *g_winhttp_file_get_parent (GFile *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/win32/gwinhttpfile.c:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - klass
    argTypes:
    - GWinHttpFileClass*
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: g_winhttp_file_class_init
    functionSourceFile: /src/glib/gio/win32/gwinhttpfile.c
    functionUses: []
    functionsReached:
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void g_winhttp_file_class_init (GWinHttpFileClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_winhttp_file_get_uri
      Src: /src/glib/gio/win32/gwinhttpfile.c:244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 245
    functionName: g_winhttp_file_get_parse_name
    functionSourceFile: /src/glib/gio/win32/gwinhttpfile.c
    functionUses: []
    functionsReached:
    - g_winhttp_file_get_uri
    linkageType: ''
    returnType: char*
    signature: 'static char *g_winhttp_file_get_parse_name (GFile *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_WINHTTP_FILE
      Src: /src/glib/gio/win32/gwinhttpfile.c:282,1
    - Dst: g_winhttp_file_get_uri
      Src: /src/glib/gio/win32/gwinhttpfile.c:283,1
    - Dst: _g_winhttp_file_new
      Src: /src/glib/gio/win32/gwinhttpfile.c:284,1
    - Dst: g_free
      Src: /src/glib/gio/win32/gwinhttpfile.c:286,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 289
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 289
    functionName: g_winhttp_file_dup
    functionSourceFile: /src/glib/gio/win32/gwinhttpfile.c
    functionUses: []
    functionsReached:
    - g_winhttp_file_get_uri
    - g_free
    - _g_winhttp_file_new
    - G_WINHTTP_FILE
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *g_winhttp_file_dup (GFile *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - iface
    argTypes:
    - GFileIface*
    constantsTouched: []
    func_position:
      end: 799
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 799
    functionName: g_winhttp_file_file_iface_init
    functionSourceFile: /src/glib/gio/win32/gwinhttpfile.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void g_winhttp_file_file_iface_init (GFileIface *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_memory_settings_backend_new
      Src: /src/glib/gio/tests/memory-settings-backend.c:36,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/memory-settings-backend.c:37,1
    - Dst: G_IS_SETTINGS_BACKEND
      Src: /src/glib/gio/tests/memory-settings-backend.c:37,1
    - Dst: g_io_extension_point_lookup
      Src: /src/glib/gio/tests/memory-settings-backend.c:39,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/memory-settings-backend.c:40,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/memory-settings-backend.c:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 43
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 43
    functionName: test_extension_point_registered
    functionSourceFile: /src/glib/gio/tests/memory-settings-backend.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_object_unref
    - g_io_extension_point_lookup
    - g_assert_nonnull
    - g_memory_settings_backend_new
    - G_IS_SETTINGS_BACKEND
    linkageType: ''
    returnType: void
    signature: 'static void test_extension_point_registered (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/glib/gio/tests/memory-settings-backend.c:48,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/memory-settings-backend.c:53,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/memory-settings-backend.c:55,1
    - Dst: g_test_init
      Src: /src/glib/gio/tests/memory-settings-backend.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 56
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 56
    functionName: main
    functionSourceFile: /src/glib/gio/tests/memory-settings-backend.c
    functionUses: []
    functionsReached:
    - setlocale
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_fake_snap_yaml
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:88,1
    - Dst: create_fake_snapctl
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:89,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:92,1
    - Dst: glib_should_use_portal
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:91,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:91,1
    - Dst: glib_network_available_in_sandbox
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:92,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:93,1
    - Dst: glib_has_dconf_access_in_sandbox
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - setup
    - data
    argTypes:
    - SetupData*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 94
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 94
    functionName: test_portal_support_snap_none
    functionSourceFile: /src/glib/gio/tests/portal-support-snap-classic.c
    functionUses: []
    functionsReached:
    - create_fake_snap_yaml
    - g_assert_true
    - glib_network_available_in_sandbox
    - create_fake_snapctl
    - glib_should_use_portal
    - g_assert_false
    - glib_has_dconf_access_in_sandbox
    linkageType: ''
    returnType: void
    signature: 'static void test_portal_support_snap_none (SetupData *setup, gconstpointer
      data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_setenv
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:59,1
    - Dst: g_unsetenv
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:61,1
    - Dst: g_setenv
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:64,1
    - Dst: g_unsetenv
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:66,1
    - Dst: cleanup_snapfiles
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:68,1
    - Dst: cleanup_snapfiles
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:69,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:71,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - setup_data
    - data
    argTypes:
    - SetupData*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 73
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 73
    functionName: tests_teardown
    functionSourceFile: /src/glib/gio/tests/portal-support-snap-classic.c
    functionUses: []
    functionsReached:
    - g_setenv
    - g_clear_pointer
    - cleanup_snapfiles
    - g_unsetenv
    linkageType: ''
    returnType: void
    signature: 'static void tests_teardown (SetupData *setup_data, gconstpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:41,1
    - Dst: g_getenv
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:41,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:42,1
    - Dst: g_getenv
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:42,1
    - Dst: g_get_user_runtime_dir
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:44,1
    - Dst: g_getenv
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:45,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:47,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:48,1
    - Dst: g_setenv
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:50,1
    - Dst: g_setenv
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - setup_data
    - data
    argTypes:
    - SetupData*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 52
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 52
    functionName: tests_setup
    functionSourceFile: /src/glib/gio/tests/portal-support-snap-classic.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_getenv
    - g_setenv
    - g_assert_nonnull
    - g_get_user_runtime_dir
    linkageType: ''
    returnType: void
    signature: 'static void tests_setup (SetupData *setup_data, gconstpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_fake_snap_yaml
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:100,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:103,1
    - Dst: glib_should_use_portal
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:103,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:104,1
    - Dst: create_fake_snapctl
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:101,1
    - Dst: glib_network_available_in_sandbox
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:104,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:105,1
    - Dst: glib_has_dconf_access_in_sandbox
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - setup
    - data
    argTypes:
    - SetupData*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: test_portal_support_snap_all
    functionSourceFile: /src/glib/gio/tests/portal-support-snap-classic.c
    functionUses: []
    functionsReached:
    - create_fake_snap_yaml
    - g_assert_true
    - glib_network_available_in_sandbox
    - create_fake_snapctl
    - glib_should_use_portal
    - g_assert_false
    - glib_has_dconf_access_in_sandbox
    linkageType: ''
    returnType: void
    signature: 'static void test_portal_support_snap_all (SetupData *setup, gconstpointer
      data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:79,1
    - Dst: glib_network_available_in_sandbox
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:80,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:81,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:80,1
    - Dst: glib_should_use_portal
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:79,1
    - Dst: glib_has_dconf_access_in_sandbox
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - setup
    - data
    argTypes:
    - SetupData*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: test_portal_support_snap_no_snapctl
    functionSourceFile: /src/glib/gio/tests/portal-support-snap-classic.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - glib_network_available_in_sandbox
    - glib_should_use_portal
    - g_assert_false
    - glib_has_dconf_access_in_sandbox
    linkageType: ''
    returnType: void
    signature: 'static void test_portal_support_snap_no_snapctl (SetupData *setup,
      gconstpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:111,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:120,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:115,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:117,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/portal-support-snap-classic.c:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 121
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 121
    functionName: main
    functionSourceFile: /src/glib/gio/tests/portal-support-snap-classic.c
    functionUses: []
    functionsReached:
    - g_test_add
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: g_tls_certificate_new_from_file
      Src: /src/glib/gio/tests/socket-testserver.c:99,1
    - Dst: g_socket_connection_factory_create_connection
      Src: /src/glib/gio/tests/socket-testserver.c:200,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/socket-testserver.c:75,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/socket-testserver.c:83,1
    - Dst: socket_address_from_string
      Src: /src/glib/gio/tests/socket-testserver.c:133,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/socket-testserver.c:108,1
    - Dst: g_socket_new
      Src: /src/glib/gio/tests/socket-testserver.c:120,1
    - Dst: g_print
      Src: /src/glib/gio/tests/socket-testserver.c:278,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/socket-testserver.c:319,1
    - Dst: socket_address_to_string
      Src: /src/glib/gio/tests/socket-testserver.c:167,1
    - Dst: g_socket_receive_from
      Src: /src/glib/gio/tests/socket-testserver.c:254,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/tests/socket-testserver.c:67,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/socket-testserver.c:69,1
    - Dst: g_socket_set_blocking
      Src: /src/glib/gio/tests/socket-testserver.c:129,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/socket-testserver.c:156,1
    - Dst: socket_address_to_string
      Src: /src/glib/gio/tests/socket-testserver.c:193,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/socket-testserver.c:358,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/socket-testserver.c:224,1
    - Dst: g_usleep
      Src: /src/glib/gio/tests/socket-testserver.c:293,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/gio/tests/socket-testserver.c:66,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/socket-testserver.c:147,1
    - Dst: g_socket_listen
      Src: /src/glib/gio/tests/socket-testserver.c:154,1
    - Dst: g_free
      Src: /src/glib/gio/tests/socket-testserver.c:169,1
    - Dst: g_socket_close
      Src: /src/glib/gio/tests/socket-testserver.c:356,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/socket-testserver.c:82,1
    - Dst: g_socket_set_timeout
      Src: /src/glib/gio/tests/socket-testserver.c:183,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/socket-testserver.c:268,1
    - Dst: g_error_matches
      Src: /src/glib/gio/tests/socket-testserver.c:314,1
    - Dst: g_print
      Src: /src/glib/gio/tests/socket-testserver.c:168,1
    - Dst: g_option_context_new
      Src: /src/glib/gio/tests/socket-testserver.c:65,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/socket-testserver.c:95,1
    - Dst: g_socket_set_blocking
      Src: /src/glib/gio/tests/socket-testserver.c:181,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/tests/socket-testserver.c:235,1
    - Dst: g_print
      Src: /src/glib/gio/tests/socket-testserver.c:276,1
    - Dst: g_print
      Src: /src/glib/gio/tests/socket-testserver.c:282,1
    - Dst: ensure_connection_condition
      Src: /src/glib/gio/tests/socket-testserver.c:306,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/socket-testserver.c:349,1
    - Dst: g_print
      Src: /src/glib/gio/tests/socket-testserver.c:194,1
    - Dst: g_print
      Src: /src/glib/gio/tests/socket-testserver.c:331,1
    - Dst: G_TLS_CONNECTION
      Src: /src/glib/gio/tests/socket-testserver.c:221,1
    - Dst: g_print
      Src: /src/glib/gio/tests/socket-testserver.c:343,1
    - Dst: ensure_socket_condition
      Src: /src/glib/gio/tests/socket-testserver.c:253,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/socket-testserver.c:136,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/socket-testserver.c:124,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket-testserver.c:196,1
    - Dst: g_io_stream_close
      Src: /src/glib/gio/tests/socket-testserver.c:347,1
    - Dst: g_socket_get_remote_address
      Src: /src/glib/gio/tests/socket-testserver.c:185,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/socket-testserver.c:236,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/tests/socket-testserver.c:261,1
    - Dst: g_socket_send_to
      Src: /src/glib/gio/tests/socket-testserver.c:301,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/socket-testserver.c:240,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket-testserver.c:353,1
    - Dst: g_inet_socket_address_new
      Src: /src/glib/gio/tests/socket-testserver.c:142,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket-testserver.c:362,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket-testserver.c:229,1
    - Dst: g_print
      Src: /src/glib/gio/tests/socket-testserver.c:318,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket-testserver.c:201,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/socket-testserver.c:150,1
    - Dst: g_socket_accept
      Src: /src/glib/gio/tests/socket-testserver.c:172,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/socket-testserver.c:175,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/socket-testserver.c:335,1
    - Dst: ensure_socket_condition
      Src: /src/glib/gio/tests/socket-testserver.c:300,1
    - Dst: socket_address_to_string
      Src: /src/glib/gio/tests/socket-testserver.c:278,1
    - Dst: g_thread_unref
      Src: /src/glib/gio/tests/socket-testserver.c:84,1
    - Dst: g_socket_bind
      Src: /src/glib/gio/tests/socket-testserver.c:145,1
    - Dst: g_free
      Src: /src/glib/gio/tests/socket-testserver.c:195,1
    - Dst: g_tls_connection_handshake
      Src: /src/glib/gio/tests/socket-testserver.c:221,1
    - Dst: g_print
      Src: /src/glib/gio/tests/socket-testserver.c:292,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/socket-testserver.c:325,1
    - Dst: g_inet_address_new_any
      Src: /src/glib/gio/tests/socket-testserver.c:142,1
    - Dst: g_socket_get_local_address
      Src: /src/glib/gio/tests/socket-testserver.c:160,1
    - Dst: g_output_stream_write
      Src: /src/glib/gio/tests/socket-testserver.c:307,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/socket-testserver.c:163,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/socket-testserver.c:216,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/socket-testserver.c:188,1
    - Dst: g_print
      Src: /src/glib/gio/tests/socket-testserver.c:279,1
    - Dst: g_tls_server_connection_new
      Src: /src/glib/gio/tests/socket-testserver.c:213,1
    - Dst: ensure_connection_condition
      Src: /src/glib/gio/tests/socket-testserver.c:260,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/socket-testserver.c:102,1
    - Dst: ensure_socket_condition
      Src: /src/glib/gio/tests/socket-testserver.c:171,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/socket-testserver.c:200,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 179
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 365
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 365
    functionName: main
    functionSourceFile: /src/glib/gio/tests/socket-testserver.c
    functionUses: []
    functionsReached:
    - g_socket_accept
    - ensure_socket_condition
    - g_tls_certificate_new_from_file
    - g_printerr
    - g_socket_listen
    - G_IO_STREAM
    - g_socket_close
    - g_thread_unref
    - g_thread_new
    - g_usleep
    - g_socket_new
    - G_TLS_CONNECTION
    - g_socket_send_to
    - socket_address_to_string
    - g_object_unref
    - g_socket_receive_from
    - g_tls_server_connection_new
    - g_input_stream_read
    - g_error_free
    - g_print
    - g_option_context_parse
    - g_io_stream_get_output_stream
    - g_tls_connection_handshake
    - g_output_stream_write
    - g_io_stream_close
    - g_inet_address_new_any
    - ensure_connection_condition
    - g_option_context_new
    - g_socket_set_timeout
    - g_socket_get_remote_address
    - g_main_loop_new
    - g_io_stream_get_input_stream
    - g_socket_connection_factory_create_connection
    - g_socket_bind
    - g_option_context_add_main_entries
    - g_cancellable_new
    - g_socket_set_blocking
    - g_assert
    - g_socket_get_local_address
    - g_error_matches
    - g_free
    - socket_address_from_string
    - g_inet_socket_address_new
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_get_last_serial
      Src: /src/glib/gio/tests/gdbus-connection.c:322,1
    - Dst: g_dbus_error_is_remote_error
      Src: /src/glib/gio/tests/gdbus-connection.c:329,1
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/tests/gdbus-connection.c:325,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-connection.c:328,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection.c:329,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-connection.c:330,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-connection.c:331,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-connection.c:333,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - connection
    - res
    - user_data
    argTypes:
    - GDBusConnection*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 334
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 334
    functionName: msg_cb_expect_error_unknown_method
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_get_last_serial
    - g_assert_true
    - g_assert_null
    - g_dbus_connection_call_finish
    - g_main_loop_quit
    - g_error_free
    - g_dbus_error_is_remote_error
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void msg_cb_expect_error_unknown_method (GDBusConnection *connection,
      GAsyncResult *res, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_message_new_method_call
      Src: /src/glib/gio/tests/gdbus-connection.c:1200,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/tests/gdbus-connection.c:1204,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-connection.c:1204,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:1207,1
    - Dst: g_dbus_connection_send_message
      Src: /src/glib/gio/tests/gdbus-connection.c:1206,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:1208,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - c
    - out_serial
    argTypes:
    - GDBusConnection*
    - guint32*
    constantsTouched: []
    func_position:
      end: 1209
      start: 1194
    functionDepth: 0
    functionLinenumber: 1194
    functionLinenumberEnd: 1209
    functionName: send_bogus_message
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_dbus_message_new_method_call
    - g_dbus_message_set_body
    - g_assert_no_error
    - g_dbus_connection_send_message
    - g_variant_new
    linkageType: ''
    returnType: void
    signature: 'static void send_bogus_message (GDBusConnection *c, guint32 *out_serial) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection.c:1220,1
    - Dst: g_dbus_connection_get_last_serial
      Src: /src/glib/gio/tests/gdbus-connection.c:1230,1
    - Dst: g_dbus_connection_get_last_serial
      Src: /src/glib/gio/tests/gdbus-connection.c:1220,1
    - Dst: g_usleep
      Src: /src/glib/gio/tests/gdbus-connection.c:1233,1
    - Dst: send_bogus_message
      Src: /src/glib/gio/tests/gdbus-connection.c:1224,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection.c:1236,1
    - Dst: g_dbus_connection_get_last_serial
      Src: /src/glib/gio/tests/gdbus-connection.c:1236,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection.c:1237,1
    - Dst: g_dbus_connection_get_last_serial
      Src: /src/glib/gio/tests/gdbus-connection.c:1237,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - c
    argTypes:
    - GDBusConnection*
    constantsTouched: []
    func_position:
      end: 1240
      start: 1213
    functionDepth: 0
    functionLinenumber: 1213
    functionLinenumberEnd: 1240
    functionName: serials_thread_func
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_get_last_serial
    - send_bogus_message
    - g_usleep
    - g_assert_cmpint
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer serials_thread_func (GDBusConnection *c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _log
      Src: /src/glib/gio/tests/gdbus-connection.c:67,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/gdbus-connection.c:68,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-connection.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 71
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 71
    functionName: test_connection_quit_mainloop
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached:
    - g_atomic_int_set
    - g_main_loop_quit
    - _log
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean test_connection_quit_mainloop (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_get_last_serial
      Src: /src/glib/gio/tests/gdbus-connection.c:345,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-connection.c:352,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:353,1
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/tests/gdbus-connection.c:348,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:351,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-connection.c:355,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - connection
    - res
    - user_data
    argTypes:
    - GDBusConnection*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 356
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 356
    functionName: msg_cb_expect_success
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_get_last_serial
    - g_assert_nonnull
    - g_dbus_connection_call_finish
    - g_assert_no_error
    - g_variant_unref
    - g_main_loop_quit
    linkageType: ''
    returnType: void
    signature: 'static void msg_cb_expect_success (GDBusConnection *connection, GAsyncResult
      *res, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: session_bus_up
      Src: /src/glib/gio/tests/gdbus-connection.c:1250,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:1254,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection.c:1258,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gdbus-connection.c:1253,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-connection.c:1255,1
    - Dst: g_dbus_connection_get_last_serial
      Src: /src/glib/gio/tests/gdbus-connection.c:1258,1
    - Dst: send_bogus_message
      Src: /src/glib/gio/tests/gdbus-connection.c:1261,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection.c:1262,1
    - Dst: g_dbus_connection_get_last_serial
      Src: /src/glib/gio/tests/gdbus-connection.c:1262,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/gdbus-connection.c:1266,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:1280,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection.c:1273,1
    - Dst: send_bogus_message
      Src: /src/glib/gio/tests/gdbus-connection.c:1275,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/gdbus-connection.c:1270,1
    - Dst: g_dbus_connection_get_last_serial
      Src: /src/glib/gio/tests/gdbus-connection.c:1278,1
    - Dst: session_bus_down
      Src: /src/glib/gio/tests/gdbus-connection.c:1282,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection.c:1278,1
    - Dst: g_dbus_connection_get_last_serial
      Src: /src/glib/gio/tests/gdbus-connection.c:1273,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1283
      start: 1242
    functionDepth: 0
    functionLinenumber: 1242
    functionLinenumberEnd: 1283
    functionName: test_connection_serials
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_get_last_serial
    - session_bus_down
    - g_object_unref
    - g_assert_nonnull
    - g_thread_new
    - g_assert_no_error
    - send_bogus_message
    - g_bus_get_sync
    - g_thread_join
    - session_bus_up
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_connection_serials (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/gdbus-connection.c:1420,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-connection.c:1430,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gdbus-connection.c:1423,1
    - Dst: g_test_dbus_unset
      Src: /src/glib/gio/tests/gdbus-connection.c:1425,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-connection.c:1428,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-connection.c:1431,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-connection.c:1432,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-connection.c:1433,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-connection.c:1434,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-connection.c:1435,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-connection.c:1437,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:1440,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/gdbus-connection.c:1438,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-connection.c:1436,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1442
      start: 1414
    functionDepth: 0
    functionLinenumber: 1414
    functionLinenumberEnd: 1442
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_run
    - g_main_loop_unref
    - g_main_loop_new
    - g_test_init
    - g_test_dbus_unset
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 103
    functionName: some_filter_func
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GDBusMessage*
    signature: 'static GDBusMessage *some_filter_func (GDBusConnection *connection,
      GDBusMessage *message, gboolean incoming, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/gdbus-connection.c:120,1
    - Dst: _log
      Src: /src/glib/gio/tests/gdbus-connection.c:121,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-connection.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: a_gdestroynotify_that_sets_a_gboolean_to_true_and_quits_loop
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached:
    - g_atomic_int_set
    - g_main_loop_quit
    - _log
    linkageType: ''
    returnType: void
    signature: 'static void a_gdestroynotify_that_sets_a_gboolean_to_true_and_quits_loop
      (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_get_last_serial
      Src: /src/glib/gio/tests/gdbus-connection.c:299,1
    - Dst: g_dbus_error_is_remote_error
      Src: /src/glib/gio/tests/gdbus-connection.c:306,1
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/tests/gdbus-connection.c:302,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-connection.c:305,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gdbus-connection.c:306,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-connection.c:307,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-connection.c:308,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-connection.c:310,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - connection
    - res
    - user_data
    argTypes:
    - GDBusConnection*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 311
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 311
    functionName: msg_cb_expect_error_disconnected
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_get_last_serial
    - g_assert_null
    - g_dbus_connection_call_finish
    - g_main_loop_quit
    - g_error_free
    - g_dbus_error_is_remote_error
    - g_assert_false
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void msg_cb_expect_error_disconnected (GDBusConnection *connection,
      GAsyncResult *res, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_idle_add_once
      Src: /src/glib/gio/tests/gdbus-connection.c:544,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 7
    argNames:
    - connection
    - sender_name
    - object_path
    - interface_name
    - signal_name
    - parameters
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 545
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 545
    functionName: test_connection_signal_handler
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached:
    - g_idle_add_once
    linkageType: ''
    returnType: void
    signature: 'static void test_connection_signal_handler (GDBusConnection *connection,
      const gchar *sender_name, const gchar *object_path, const gchar *interface_name,
      const gchar *signal_name, GVariant *parameters, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_async_queue_push
      Src: /src/glib/gio/tests/gdbus-connection.c:913,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/tests/gdbus-connection.c:915,1
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/gdbus-connection.c:913,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 918
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 918
    functionName: filter_func
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached:
    - g_async_queue_push
    - g_object_ref
    - g_atomic_int_inc
    linkageType: ''
    returnType: GDBusMessage*
    signature: 'static GDBusMessage *filter_func (GDBusConnection *connection, GDBusMessage
      *message, gboolean incoming, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_message_new_method_call
      Src: /src/glib/gio/tests/gdbus-connection.c:1050,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/tests/gdbus-connection.c:1054,1
    - Dst: g_dbus_message_copy
      Src: /src/glib/gio/tests/gdbus-connection.c:1061,1
    - Dst: g_dbus_message_set_serial
      Src: /src/glib/gio/tests/gdbus-connection.c:1071,1
    - Dst: g_dbus_connection_call_sync
      Src: /src/glib/gio/tests/gdbus-connection.c:1145,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:1178,1
    - Dst: session_bus_down
      Src: /src/glib/gio/tests/gdbus-connection.c:1187,1
    - Dst: wait_for_filtered_reply
      Src: /src/glib/gio/tests/gdbus-connection.c:1059,1
    - Dst: g_dbus_connection_send_message_with_reply_sync
      Src: /src/glib/gio/tests/gdbus-connection.c:1082,1
    - Dst: g_async_queue_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:1185,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-connection.c:1054,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:1070,1
    - Dst: g_dbus_message_lock
      Src: /src/glib/gio/tests/gdbus-connection.c:1073,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:1175,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-connection.c:1091,1
    - Dst: g_async_queue_length
      Src: /src/glib/gio/tests/gdbus-connection.c:1095,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-connection.c:1176,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:1156,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:1040,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-connection.c:1110,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-connection.c:1177,1
    - Dst: g_dbus_connection_remove_filter
      Src: /src/glib/gio/tests/gdbus-connection.c:1181,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:1065,1
    - Dst: g_timeout_add
      Src: /src/glib/gio/tests/gdbus-connection.c:1131,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-connection.c:1151,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:1183,1
    - Dst: g_spawn_command_line_async
      Src: /src/glib/gio/tests/gdbus-connection.c:1129,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:1108,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:1075,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:1111,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/tests/gdbus-connection.c:1134,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:1090,1
    - Dst: g_dbus_message_copy
      Src: /src/glib/gio/tests/gdbus-connection.c:1099,1
    - Dst: g_dbus_connection_add_filter
      Src: /src/glib/gio/tests/gdbus-connection.c:1137,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gdbus-connection.c:1039,1
    - Dst: g_dbus_connection_add_filter
      Src: /src/glib/gio/tests/gdbus-connection.c:1045,1
    - Dst: g_dbus_connection_send_message
      Src: /src/glib/gio/tests/gdbus-connection.c:1056,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-connection.c:1158,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:1184,1
    - Dst: wait_for_filtered_reply
      Src: /src/glib/gio/tests/gdbus-connection.c:1067,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:1092,1
    - Dst: g_async_queue_length
      Src: /src/glib/gio/tests/gdbus-connection.c:1112,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection.c:1126,1
    - Dst: g_dbus_connection_call_sync
      Src: /src/glib/gio/tests/gdbus-connection.c:1164,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:1057,1
    - Dst: g_dbus_connection_send_message
      Src: /src/glib/gio/tests/gdbus-connection.c:1063,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:1062,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:1089,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection.c:1113,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection.c:1112,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-connection.c:1170,1
    - Dst: session_bus_up
      Src: /src/glib/gio/tests/gdbus-connection.c:1036,1
    - Dst: g_dbus_connection_send_message
      Src: /src/glib/gio/tests/gdbus-connection.c:1074,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:1076,1
    - Dst: g_source_remove
      Src: /src/glib/gio/tests/gdbus-connection.c:1133,1
    - Dst: g_async_queue_new_full
      Src: /src/glib/gio/tests/gdbus-connection.c:1043,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:1064,1
    - Dst: wait_for_filtered_reply
      Src: /src/glib/gio/tests/gdbus-connection.c:1094,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection.c:1095,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/gdbus-connection.c:1129,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-connection.c:1157,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-connection.c:1169,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-connection.c:1041,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-connection.c:1150,1
    - Dst: g_steal_handle_id
      Src: /src/glib/gio/tests/gdbus-connection.c:1134,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-connection.c:1132,1
    - Dst: g_dbus_connection_send_message_with_reply_sync
      Src: /src/glib/gio/tests/gdbus-connection.c:1101,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/gdbus-connection.c:1113,1
    - Dst: g_dbus_connection_signal_subscribe
      Src: /src/glib/gio/tests/gdbus-connection.c:1116,1
    - Dst: g_dbus_message_copy
      Src: /src/glib/gio/tests/gdbus-connection.c:1080,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:1081,1
    - Dst: g_dbus_connection_remove_filter
      Src: /src/glib/gio/tests/gdbus-connection.c:1097,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:1159,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection.c:1129,1
    - Dst: g_dbus_message_copy
      Src: /src/glib/gio/tests/gdbus-connection.c:1069,1
    - Dst: wait_for_filtered_reply
      Src: /src/glib/gio/tests/gdbus-connection.c:1078,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:1100,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:1109,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 104
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1188
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1188
    functionName: test_connection_filter
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached:
    - g_async_queue_new_full
    - g_dbus_message_new_method_call
    - g_atomic_int_get
    - g_dbus_message_set_body
    - session_bus_up
    - session_bus_down
    - g_assert_true
    - g_async_queue_length
    - g_dbus_connection_add_filter
    - g_object_unref
    - g_assert_nonnull
    - g_dbus_connection_send_message
    - g_dbus_connection_remove_filter
    - g_variant_unref
    - g_variant_get
    - g_async_queue_unref
    - g_source_remove
    - g_dbus_connection_signal_subscribe
    - g_assert_cmpint
    - g_steal_handle_id
    - g_main_loop_run
    - g_dbus_message_set_serial
    - g_dbus_connection_signal_unsubscribe
    - g_test_get_filename
    - g_assert_no_error
    - g_dbus_connection_call_sync
    - wait_for_filtered_reply
    - g_bus_get_sync
    - g_timeout_add
    - G_VARIANT_TYPE
    - g_dbus_connection_send_message_with_reply_sync
    - g_assert_cmpstr
    - g_variant_new
    - g_spawn_command_line_async
    - g_dbus_message_lock
    - g_dbus_message_copy
    linkageType: ''
    returnType: void
    signature: 'static void test_connection_filter (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_bus_get_finish
      Src: /src/glib/gio/tests/gdbus-connection.c:1296,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-connection.c:1305,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-connection.c:1302,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-connection.c:1303,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:1300,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1306
      start: 1287
    functionDepth: 0
    functionLinenumber: 1287
    functionLinenumberEnd: 1306
    functionName: get_connection_cb_expect_cancel
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_assert_null
    - g_error_free
    - g_bus_get_finish
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void get_connection_cb_expect_cancel (GObject *source_object,
      GAsyncResult *res, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 1
    argCount: 7
    argNames:
    - connection
    - sender_name
    - object_path
    - interface_name
    - signal_name
    - parameters
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 114
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 114
    functionName: on_name_owner_changed
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void on_name_owner_changed (GDBusConnection *connection, const
      gchar *sender_name, const gchar *object_path, const gchar *interface_name, const
      gchar *signal_name, GVariant *parameters, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gdbus-connection.c:135,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gdbus-connection.c:137,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-connection.c:136,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-connection.c:138,1
    - Dst: g_dbus_error_is_remote_error
      Src: /src/glib/gio/tests/gdbus-connection.c:137,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-connection.c:139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 140
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 140
    functionName: test_connection_bus_failure
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached:
    - g_assert_null
    - g_assert_nonnull
    - g_error_free
    - g_bus_get_sync
    - g_dbus_error_is_remote_error
    - g_assert_false
    linkageType: ''
    returnType: void
    signature: 'static void test_connection_bus_failure (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_async_queue_pop
      Src: /src/glib/gio/tests/gdbus-connection.c:926,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:929,1
    - Dst: g_dbus_message_get_reply_serial
      Src: /src/glib/gio/tests/gdbus-connection.c:928,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gdbus-connection.c:934,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - incoming_queue
    - expected_serial
    argTypes:
    - GAsyncQueue*
    - guint32
    constantsTouched: []
    func_position:
      end: 935
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 935
    functionName: wait_for_filtered_reply
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached:
    - g_async_queue_pop
    - g_object_unref
    - g_assert_not_reached
    - g_dbus_message_get_reply_serial
    linkageType: ''
    returnType: void
    signature: 'static void wait_for_filtered_reply (GAsyncQueue *incoming_queue,
      guint32 expected_serial) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bus_get_finish
      Src: /src/glib/gio/tests/gdbus-connection.c:1317,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-connection.c:1319,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-connection.c:1321,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:1318,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:1323,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1324
      start: 1308
    functionDepth: 0
    functionLinenumber: 1308
    functionLinenumberEnd: 1324
    functionName: get_connection_cb_expect_success
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_assert_nonnull
    - g_assert_no_error
    - g_main_loop_quit
    - g_bus_get_finish
    linkageType: ''
    returnType: void
    signature: 'static void get_connection_cb_expect_success (GObject *source_object,
      GAsyncResult *res, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_message_copy
      Src: /src/glib/gio/tests/gdbus-connection.c:966,1
    - Dst: g_dbus_message_get_body
      Src: /src/glib/gio/tests/gdbus-connection.c:969,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gdbus-connection.c:971,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:967,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-connection.c:970,1
    - Dst: g_dbus_message_set_body
      Src: /src/glib/gio/tests/gdbus-connection.c:972,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-connection.c:972,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-connection.c:973,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-connection.c:974,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 984
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 984
    functionName: other_filter_func
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_object_unref
    - g_dbus_message_set_body
    - g_variant_new
    - g_dbus_message_get_body
    - g_variant_get
    - g_free
    - g_dbus_message_copy
    linkageType: ''
    returnType: GDBusMessage*
    signature: 'static GDBusMessage *other_filter_func (GDBusConnection *connection,
      GDBusMessage *message, gboolean incoming, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection.c:1380,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-connection.c:1385,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gdbus-connection.c:1387,1
    - Dst: G_IS_IO_STREAM
      Src: /src/glib/gio/tests/gdbus-connection.c:1396,1
    - Dst: g_dbus_is_guid
      Src: /src/glib/gio/tests/gdbus-connection.c:1397,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:1403,1
    - Dst: session_bus_down
      Src: /src/glib/gio/tests/gdbus-connection.c:1409,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:1369,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gdbus-connection.c:1368,1
    - Dst: g_dbus_connection_get_flags
      Src: /src/glib/gio/tests/gdbus-connection.c:1376,1
    - Dst: g_dbus_connection_get_peer_credentials
      Src: /src/glib/gio/tests/gdbus-connection.c:1384,1
    - Dst: g_dbus_is_unique_name
      Src: /src/glib/gio/tests/gdbus-connection.c:1398,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection.c:1397,1
    - Dst: g_dbus_connection_get_capabilities
      Src: /src/glib/gio/tests/gdbus-connection.c:1372,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection.c:1401,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-connection.c:1405,1
    - Dst: session_bus_up
      Src: /src/glib/gio/tests/gdbus-connection.c:1365,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-connection.c:1370,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection.c:1373,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection.c:1398,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gdbus-connection.c:1399,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection.c:1400,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection.c:1396,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-connection.c:1404,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:1407,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1410
      start: 1351
    functionDepth: 0
    functionLinenumber: 1351
    functionLinenumberEnd: 1410
    functionName: test_connection_basic
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached:
    - G_IS_IO_STREAM
    - g_object_get
    - g_assert_true
    - session_bus_down
    - g_object_unref
    - g_assert_null
    - g_assert_nonnull
    - g_dbus_is_unique_name
    - g_assert_no_error
    - g_assert_false
    - g_dbus_connection_get_flags
    - g_bus_get_sync
    - g_dbus_connection_get_peer_credentials
    - session_bus_up
    - g_dbus_connection_get_capabilities
    - g_free
    - g_dbus_is_guid
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_connection_basic (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/glib/gio/tests/gdbus-connection.c:45,1
    - Dst: localtime
      Src: /src/glib/gio/tests/gdbus-connection.c:51,1
    - Dst: g_strdup_vprintf
      Src: /src/glib/gio/tests/gdbus-connection.c:46,1
    - Dst: g_get_current_time
      Src: /src/glib/gio/tests/gdbus-connection.c:49,1
    - Dst: va_end
      Src: /src/glib/gio/tests/gdbus-connection.c:47,1
    - Dst: strftime
      Src: /src/glib/gio/tests/gdbus-connection.c:52,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gdbus-connection.c:54,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-connection.c:57,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - format
    - '...'
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 58
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 58
    functionName: _log
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached:
    - g_strdup_vprintf
    - g_printerr
    - g_get_current_time
    - strftime
    - va_end
    - localtime
    - g_free
    - va_start
    linkageType: ''
    returnType: G_GNUC_UNUSED
    signature: 'G_GNUC_UNUSED static void _log (const gchar *format, ...) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:165,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-connection.c:175,1
    - Dst: _g_bus_get_priv
      Src: /src/glib/gio/tests/gdbus-connection.c:182,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:177,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection.c:185,1
    - Dst: g_dbus_connection_is_closed
      Src: /src/glib/gio/tests/gdbus-connection.c:191,1
    - Dst: g_dbus_connection_close_sync
      Src: /src/glib/gio/tests/gdbus-connection.c:197,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-connection.c:199,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:241,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection.c:268,1
    - Dst: g_dbus_connection_register_object
      Src: /src/glib/gio/tests/gdbus-connection.c:234,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/gdbus-connection.c:257,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection.c:280,1
    - Dst: g_dbus_connection_add_filter
      Src: /src/glib/gio/tests/gdbus-connection.c:227,1
    - Dst: g_timeout_add
      Src: /src/glib/gio/tests/gdbus-connection.c:246,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-connection.c:263,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gdbus-connection.c:167,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gdbus-connection.c:164,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:174,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-connection.c:184,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-connection.c:190,1
    - Dst: g_dbus_connection_close_sync
      Src: /src/glib/gio/tests/gdbus-connection.c:192,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection.c:194,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection.c:196,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/gdbus-connection.c:226,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/gdbus-connection.c:232,1
    - Dst: _log
      Src: /src/glib/gio/tests/gdbus-connection.c:247,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection.c:267,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gdbus-connection.c:242,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gdbus-connection.c:270,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/gdbus-connection.c:270,1
    - Dst: _log
      Src: /src/glib/gio/tests/gdbus-connection.c:264,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/gdbus-connection.c:268,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/gdbus-connection.c:245,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/gdbus-connection.c:258,1
    - Dst: session_bus_up
      Src: /src/glib/gio/tests/gdbus-connection.c:161,1
    - Dst: g_dbus_connection_is_closed
      Src: /src/glib/gio/tests/gdbus-connection.c:167,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:183,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:189,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:193,1
    - Dst: g_dbus_connection_is_closed
      Src: /src/glib/gio/tests/gdbus-connection.c:196,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-connection.c:198,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:201,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:211,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/gdbus-connection.c:214,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection.c:269,1
    - Dst: g_dbus_connection_is_closed
      Src: /src/glib/gio/tests/gdbus-connection.c:276,1
    - Dst: _g_assert_signal_received
      Src: /src/glib/gio/tests/gdbus-connection.c:279,1
    - Dst: g_dbus_connection_signal_subscribe
      Src: /src/glib/gio/tests/gdbus-connection.c:215,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/gdbus-connection.c:260,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/gdbus-connection.c:269,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:281,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gdbus-connection.c:276,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-connection.c:166,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gdbus-connection.c:173,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection.c:176,1
    - Dst: _g_bus_get_priv
      Src: /src/glib/gio/tests/gdbus-connection.c:188,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:186,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gdbus-connection.c:191,1
    - Dst: _g_assert_signal_received
      Src: /src/glib/gio/tests/gdbus-connection.c:195,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gdbus-connection.c:200,1
    - Dst: _g_bus_get_priv
      Src: /src/glib/gio/tests/gdbus-connection.c:210,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-connection.c:212,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:244,1
    - Dst: g_source_remove
      Src: /src/glib/gio/tests/gdbus-connection.c:266,1
    - Dst: _log
      Src: /src/glib/gio/tests/gdbus-connection.c:262,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/gdbus-connection.c:267,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/gdbus-connection.c:256,1
    - Dst: g_dbus_connection_is_closed
      Src: /src/glib/gio/tests/gdbus-connection.c:280,1
    - Dst: session_bus_down
      Src: /src/glib/gio/tests/gdbus-connection.c:283,1
    - Dst: session_bus_stop
      Src: /src/glib/gio/tests/gdbus-connection.c:278,1
    - Dst: g_dbus_connection_set_exit_on_close
      Src: /src/glib/gio/tests/gdbus-connection.c:277,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 96
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 284
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 284
    functionName: test_connection_life_cycle
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached:
    - _log
    - g_atomic_int_get
    - _g_bus_get_priv
    - g_dbus_connection_register_object
    - session_bus_up
    - session_bus_down
    - g_assert_true
    - g_object_unref
    - g_dbus_connection_add_filter
    - g_assert_nonnull
    - g_atomic_int_set
    - g_error_free
    - g_dbus_connection_set_exit_on_close
    - g_assert_false
    - g_source_remove
    - g_dbus_connection_signal_subscribe
    - _g_assert_signal_received
    - g_main_loop_run
    - g_assert_cmpuint
    - g_assert_no_error
    - g_timeout_add
    - g_bus_get_sync
    - g_dbus_connection_close_sync
    - g_assert_error
    - g_dbus_connection_is_closed
    - session_bus_stop
    linkageType: ''
    returnType: void
    signature: 'static void test_connection_life_cycle (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gdbus-connection.c:415,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gdbus-connection.c:417,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/gdbus-connection.c:425,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/tests/gdbus-connection.c:426,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-connection.c:437,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/tests/gdbus-connection.c:476,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/gdbus-connection.c:487,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/tests/gdbus-connection.c:499,1
    - Dst: g_dbus_connection_is_closed
      Src: /src/glib/gio/tests/gdbus-connection.c:417,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/gdbus-connection.c:475,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection.c:497,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:512,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-connection.c:416,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/tests/gdbus-connection.c:459,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:489,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/tests/gdbus-connection.c:443,1
    - Dst: session_bus_stop
      Src: /src/glib/gio/tests/gdbus-connection.c:495,1
    - Dst: _g_assert_signal_received
      Src: /src/glib/gio/tests/gdbus-connection.c:496,1
    - Dst: g_dbus_connection_is_closed
      Src: /src/glib/gio/tests/gdbus-connection.c:497,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-connection.c:510,1
    - Dst: session_bus_down
      Src: /src/glib/gio/tests/gdbus-connection.c:514,1
    - Dst: session_bus_up
      Src: /src/glib/gio/tests/gdbus-connection.c:412,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/gdbus-connection.c:424,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:438,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-connection.c:454,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-connection.c:488,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-connection.c:470,1
    - Dst: g_dbus_connection_set_exit_on_close
      Src: /src/glib/gio/tests/gdbus-connection.c:494,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 515
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 515
    functionName: test_connection_send
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached:
    - _g_assert_signal_received
    - g_dbus_connection_call
    - g_main_loop_run
    - g_assert_true
    - session_bus_down
    - g_object_unref
    - g_assert_nonnull
    - g_dbus_connection_is_closed
    - g_assert_false
    - g_bus_get_sync
    - g_dbus_connection_set_exit_on_close
    - session_bus_up
    - session_bus_stop
    - g_cancellable_cancel
    - g_cancellable_new
    linkageType: ''
    returnType: void
    signature: 'static void test_connection_send (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: session_bus_up
      Src: /src/glib/gio/tests/gdbus-connection.c:863,1
    - Dst: test_match_rule
      Src: /src/glib/gio/tests/gdbus-connection.c:866,1
    - Dst: test_match_rule
      Src: /src/glib/gio/tests/gdbus-connection.c:869,1
    - Dst: test_match_rule
      Src: /src/glib/gio/tests/gdbus-connection.c:870,1
    - Dst: test_match_rule
      Src: /src/glib/gio/tests/gdbus-connection.c:871,1
    - Dst: test_match_rule
      Src: /src/glib/gio/tests/gdbus-connection.c:881,1
    - Dst: test_match_rule
      Src: /src/glib/gio/tests/gdbus-connection.c:884,1
    - Dst: test_match_rule
      Src: /src/glib/gio/tests/gdbus-connection.c:880,1
    - Dst: test_match_rule
      Src: /src/glib/gio/tests/gdbus-connection.c:883,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:889,1
    - Dst: session_bus_down
      Src: /src/glib/gio/tests/gdbus-connection.c:890,1
    - Dst: test_match_rule
      Src: /src/glib/gio/tests/gdbus-connection.c:867,1
    - Dst: test_match_rule
      Src: /src/glib/gio/tests/gdbus-connection.c:872,1
    - Dst: test_match_rule
      Src: /src/glib/gio/tests/gdbus-connection.c:873,1
    - Dst: test_match_rule
      Src: /src/glib/gio/tests/gdbus-connection.c:875,1
    - Dst: test_match_rule
      Src: /src/glib/gio/tests/gdbus-connection.c:877,1
    - Dst: test_match_rule
      Src: /src/glib/gio/tests/gdbus-connection.c:879,1
    - Dst: test_match_rule
      Src: /src/glib/gio/tests/gdbus-connection.c:878,1
    - Dst: test_match_rule
      Src: /src/glib/gio/tests/gdbus-connection.c:885,1
    - Dst: test_match_rule
      Src: /src/glib/gio/tests/gdbus-connection.c:876,1
    - Dst: test_match_rule
      Src: /src/glib/gio/tests/gdbus-connection.c:886,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gdbus-connection.c:864,1
    - Dst: test_match_rule
      Src: /src/glib/gio/tests/gdbus-connection.c:887,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 891
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 891
    functionName: test_connection_signal_match_rules
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached:
    - session_bus_down
    - g_object_unref
    - test_match_rule
    - g_bus_get_sync
    - session_bus_up
    linkageType: ''
    returnType: void
    signature: 'static void test_connection_signal_match_rules (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_is_closed
      Src: /src/glib/gio/tests/gdbus-connection.c:589,1
    - Dst: g_dbus_connection_signal_subscribe
      Src: /src/glib/gio/tests/gdbus-connection.c:654,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gdbus-connection.c:664,1
    - Dst: g_dbus_connection_emit_signal
      Src: /src/glib/gio/tests/gdbus-connection.c:717,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/tests/gdbus-connection.c:795,1
    - Dst: g_steal_handle_id
      Src: /src/glib/gio/tests/gdbus-connection.c:796,1
    - Dst: g_dbus_connection_is_closed
      Src: /src/glib/gio/tests/gdbus-connection.c:709,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/tests/gdbus-connection.c:799,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/gio/tests/gdbus-connection.c:770,1
    - Dst: _g_bus_get_priv
      Src: /src/glib/gio/tests/gdbus-connection.c:707,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection.c:777,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection.c:778,1
    - Dst: g_dbus_connection_emit_signal
      Src: /src/glib/gio/tests/gdbus-connection.c:765,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/gdbus-connection.c:714,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-connection.c:712,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:724,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection.c:792,1
    - Dst: session_bus_up
      Src: /src/glib/gio/tests/gdbus-connection.c:576,1
    - Dst: g_dbus_connection_signal_subscribe
      Src: /src/glib/gio/tests/gdbus-connection.c:630,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gdbus-connection.c:666,1
    - Dst: g_steal_handle_id
      Src: /src/glib/gio/tests/gdbus-connection.c:800,1
    - Dst: _g_bus_get_priv
      Src: /src/glib/gio/tests/gdbus-connection.c:582,1
    - Dst: g_dbus_connection_call_sync
      Src: /src/glib/gio/tests/gdbus-connection.c:689,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gdbus-connection.c:709,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection.c:725,1
    - Dst: g_dbus_connection_emit_signal
      Src: /src/glib/gio/tests/gdbus-connection.c:734,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection.c:790,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/gdbus-connection.c:590,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection.c:793,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-connection.c:727,1
    - Dst: g_steal_handle_id
      Src: /src/glib/gio/tests/gdbus-connection.c:795,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/tests/gdbus-connection.c:798,1
    - Dst: g_steal_handle_id
      Src: /src/glib/gio/tests/gdbus-connection.c:799,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gdbus-connection.c:584,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gdbus-connection.c:668,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-connection.c:710,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:741,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:758,1
    - Dst: g_dbus_connection_emit_signal
      Src: /src/glib/gio/tests/gdbus-connection.c:751,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:803,1
    - Dst: _g_bus_get_priv
      Src: /src/glib/gio/tests/gdbus-connection.c:711,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-connection.c:714,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-connection.c:583,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection.c:728,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection.c:759,1
    - Dst: g_timeout_add
      Src: /src/glib/gio/tests/gdbus-connection.c:785,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection.c:773,1
    - Dst: session_bus_down
      Src: /src/glib/gio/tests/gdbus-connection.c:806,1
    - Dst: g_dbus_connection_signal_subscribe
      Src: /src/glib/gio/tests/gdbus-connection.c:620,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-connection.c:701,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:702,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection.c:791,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/tests/gdbus-connection.c:797,1
    - Dst: g_steal_handle_id
      Src: /src/glib/gio/tests/gdbus-connection.c:798,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-connection.c:744,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection.c:746,1
    - Dst: g_source_remove
      Src: /src/glib/gio/tests/gdbus-connection.c:788,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gdbus-connection.c:665,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection.c:789,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/gdbus-connection.c:710,1
    - Dst: g_dbus_connection_is_closed
      Src: /src/glib/gio/tests/gdbus-connection.c:584,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gdbus-connection.c:589,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gdbus-connection.c:667,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gdbus-connection.c:669,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-connection.c:708,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/tests/gdbus-connection.c:800,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-connection.c:590,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection.c:729,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-connection.c:762,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection.c:763,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gdbus-connection.c:587,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-connection.c:588,1
    - Dst: g_dbus_connection_signal_subscribe
      Src: /src/glib/gio/tests/gdbus-connection.c:610,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:700,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gdbus-connection.c:713,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/tests/gdbus-connection.c:796,1
    - Dst: g_steal_handle_id
      Src: /src/glib/gio/tests/gdbus-connection.c:797,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:802,1
    - Dst: g_getenv
      Src: /src/glib/gio/tests/gdbus-connection.c:580,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:585,1
    - Dst: g_dbus_connection_is_closed
      Src: /src/glib/gio/tests/gdbus-connection.c:713,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-connection.c:787,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection.c:745,1
    - Dst: g_dbus_connection_signal_subscribe
      Src: /src/glib/gio/tests/gdbus-connection.c:600,1
    - Dst: g_dbus_connection_signal_subscribe
      Src: /src/glib/gio/tests/gdbus-connection.c:640,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection.c:742,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-connection.c:776,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:772,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:804,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 135
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 807
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 807
    functionName: test_connection_signals
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached:
    - _g_bus_get_priv
    - g_variant_new_parsed
    - session_bus_up
    - session_bus_down
    - g_assert_true
    - g_object_unref
    - g_dbus_connection_get_unique_name
    - g_assert_nonnull
    - g_variant_unref
    - g_assert_false
    - g_source_remove
    - g_dbus_connection_emit_signal
    - g_dbus_connection_signal_subscribe
    - g_assert_cmpint
    - g_steal_handle_id
    - g_main_loop_run
    - g_getenv
    - g_dbus_connection_signal_unsubscribe
    - g_assert_cmpuint
    - g_assert_no_error
    - g_dbus_connection_call_sync
    - g_timeout_add
    - g_bus_get_sync
    - g_assert_cmpstr
    - g_dbus_connection_is_closed
    linkageType: ''
    returnType: void
    signature: 'static void test_connection_signals (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/gdbus-connection.c:1331,1
    - Dst: g_bus_get
      Src: /src/glib/gio/tests/gdbus-connection.c:1338,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/gdbus-connection.c:1335,1
    - Dst: session_bus_up
      Src: /src/glib/gio/tests/gdbus-connection.c:1333,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/gdbus-connection.c:1336,1
    - Dst: g_bus_get
      Src: /src/glib/gio/tests/gdbus-connection.c:1339,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/gdbus-connection.c:1340,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-connection.c:1341,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:1343,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection.c:1344,1
    - Dst: session_bus_down
      Src: /src/glib/gio/tests/gdbus-connection.c:1346,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1347
      start: 1326
    functionDepth: 0
    functionLinenumber: 1326
    functionLinenumberEnd: 1347
    functionName: test_connection_cancel
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached:
    - session_bus_down
    - g_main_loop_run
    - g_test_summary
    - g_object_unref
    - g_bus_get
    - session_bus_up
    - g_cancellable_cancel
    - g_cancellable_new
    linkageType: ''
    returnType: void
    signature: 'static void test_connection_cancel (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_signal_subscribe
      Src: /src/glib/gio/tests/gdbus-connection.c:822,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection.c:835,1
    - Dst: g_dbus_connection_signal_subscribe
      Src: /src/glib/gio/tests/gdbus-connection.c:828,1
    - Dst: g_dbus_connection_emit_signal
      Src: /src/glib/gio/tests/gdbus-connection.c:837,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection.c:834,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-connection.c:839,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection.c:841,1
    - Dst: g_dbus_connection_call_sync
      Src: /src/glib/gio/tests/gdbus-connection.c:844,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-connection.c:845,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-connection.c:848,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/tests/gdbus-connection.c:854,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection.c:851,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/tests/gdbus-connection.c:855,1
    - Dst: g_steal_handle_id
      Src: /src/glib/gio/tests/gdbus-connection.c:854,1
    - Dst: g_steal_handle_id
      Src: /src/glib/gio/tests/gdbus-connection.c:855,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection.c:852,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 6
    argNames:
    - connection
    - flags
    - arg0_rule
    - arg0
    - signal_type
    - should_match
    argTypes:
    - GDBusConnection*
    - GDBusSignalFlags
    - gchar*
    - gchar*
    - gchar*
    - gboolean
    constantsTouched: []
    func_position:
      end: 856
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 856
    functionName: test_match_rule
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached:
    - g_steal_handle_id
    - g_dbus_connection_signal_unsubscribe
    - g_dbus_connection_emit_signal
    - g_assert_no_error
    - g_dbus_connection_call_sync
    - g_variant_new
    - g_main_context_iteration
    - g_dbus_connection_signal_subscribe
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_match_rule (GDBusConnection *connection, GDBusSignalFlags
      flags, gchar *arg0_rule, gchar *arg0, const gchar *signal_type, gboolean should_match) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_get_last_serial
      Src: /src/glib/gio/tests/gdbus-connection.c:367,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gdbus-connection.c:374,1
    - Dst: g_dbus_error_is_remote_error
      Src: /src/glib/gio/tests/gdbus-connection.c:374,1
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/tests/gdbus-connection.c:370,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-connection.c:373,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-connection.c:375,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-connection.c:376,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-connection.c:378,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - connection
    - res
    - user_data
    argTypes:
    - GDBusConnection*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 379
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 379
    functionName: msg_cb_expect_error_cancelled
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_get_last_serial
    - g_assert_null
    - g_dbus_connection_call_finish
    - g_main_loop_quit
    - g_error_free
    - g_dbus_error_is_remote_error
    - g_assert_false
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void msg_cb_expect_error_cancelled (GDBusConnection *connection,
      GAsyncResult *res, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-connection.c:999,1
    - Dst: strlen
      Src: /src/glib/gio/tests/gdbus-connection.c:1005,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-connection.c:1007,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-connection.c:1005,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 9
    argCount: 7
    argNames:
    - connection
    - sender_name
    - object_path
    - interface_name
    - signal_name
    - parameters
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1009
      start: 986
    functionDepth: 0
    functionLinenumber: 986
    functionLinenumberEnd: 1009
    functionName: test_connection_filter_name_owner_changed_signal_handler
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    - strlen
    - g_strcmp0
    - g_variant_get
    linkageType: ''
    returnType: void
    signature: 'static void test_connection_filter_name_owner_changed_signal_handler
      (GDBusConnection *connection, const gchar *sender_name, const gchar *object_path,
      const gchar *interface_name, const gchar *signal_name, GVariant *parameters,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_get_last_serial
      Src: /src/glib/gio/tests/gdbus-connection.c:390,1
    - Dst: g_dbus_error_is_remote_error
      Src: /src/glib/gio/tests/gdbus-connection.c:397,1
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/tests/gdbus-connection.c:393,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-connection.c:396,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gdbus-connection.c:397,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-connection.c:398,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-connection.c:399,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-connection.c:401,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - connection
    - res
    - user_data
    argTypes:
    - GDBusConnection*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 402
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 402
    functionName: msg_cb_expect_error_cancelled_2
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_get_last_serial
    - g_assert_null
    - g_dbus_connection_call_finish
    - g_main_loop_quit
    - g_error_free
    - g_dbus_error_is_remote_error
    - g_assert_false
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void msg_cb_expect_error_cancelled_2 (GDBusConnection *connection,
      GAsyncResult *res, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gdbus-connection.c:1014,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gdbus-connection.c:1015,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1017
      start: 1011
    functionDepth: 0
    functionLinenumber: 1011
    functionLinenumberEnd: 1017
    functionName: test_connection_filter_on_timeout
    functionSourceFile: /src/glib/gio/tests/gdbus-connection.c
    functionUses: []
    functionsReached:
    - g_printerr
    - g_assert_not_reached
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean test_connection_filter_on_timeout (gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_message
      Src: /src/glib/gio/tests/trash.c:50,1
    - Dst: g_file_peek_path
      Src: /src/glib/gio/tests/trash.c:51,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/trash.c:53,1
    - Dst: g_unix_mount_entry_for
      Src: /src/glib/gio/tests/trash.c:68,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/trash.c:63,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/trash.c:62,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/trash.c:54,1
    - Dst: g_file_info_get_attribute_boolean
      Src: /src/glib/gio/tests/trash.c:89,1
    - Dst: g_io_stream_close
      Src: /src/glib/gio/tests/trash.c:92,1
    - Dst: g_free
      Src: /src/glib/gio/tests/trash.c:95,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/trash.c:87,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/trash.c:49,1
    - Dst: g_stat
      Src: /src/glib/gio/tests/trash.c:49,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/trash.c:69,1
    - Dst: g_unix_mount_entry_is_system_internal
      Src: /src/glib/gio/tests/trash.c:69,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/trash.c:70,1
    - Dst: g_unix_mount_entry_get_mount_path
      Src: /src/glib/gio/tests/trash.c:70,1
    - Dst: g_file_trash
      Src: /src/glib/gio/tests/trash.c:76,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/trash.c:77,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/trash.c:79,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/trash.c:97,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/trash.c:89,1
    - Dst: g_path_get_dirname
      Src: /src/glib/gio/tests/trash.c:47,1
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/trash.c:46,1
    - Dst: g_stat
      Src: /src/glib/gio/tests/trash.c:53,1
    - Dst: g_get_home_dir
      Src: /src/glib/gio/tests/trash.c:53,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/trash.c:80,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/trash.c:92,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/trash.c:93,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/trash.c:96,1
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/trash.c:43,1
    - Dst: g_file_peek_path
      Src: /src/glib/gio/tests/trash.c:47,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/trash.c:48,1
    - Dst: g_free
      Src: /src/glib/gio/tests/trash.c:61,1
    - Dst: g_get_home_dir
      Src: /src/glib/gio/tests/trash.c:55,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/trash.c:59,1
    - Dst: g_file_peek_path
      Src: /src/glib/gio/tests/trash.c:68,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/trash.c:71,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/trash.c:78,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/trash.c:82,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/trash.c:98,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 52
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 99
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 99
    functionName: test_trash_not_supported
    functionSourceFile: /src/glib/gio/tests/trash.c
    functionUses: []
    functionsReached:
    - G_IO_STREAM
    - g_unix_mount_entry_for
    - g_file_peek_path
    - g_unix_mount_entry_is_system_internal
    - g_file_query_info
    - g_assert_true
    - g_object_unref
    - g_test_bug
    - g_file_new_tmp
    - g_clear_pointer
    - g_unix_mount_entry_get_mount_path
    - g_assert_false
    - g_test_skip
    - g_assert_cmpint
    - g_path_get_dirname
    - g_io_stream_close
    - g_test_message
    - g_get_home_dir
    - g_assert_no_error
    - g_stat
    - g_assert_error
    - g_clear_error
    - g_file_trash
    - g_file_info_get_attribute_boolean
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_trash_not_supported (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/tests/trash.c:212,1
    - Dst: g_close
      Src: /src/glib/gio/tests/trash.c:215,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/trash.c:216,1
    - Dst: g_file_trash
      Src: /src/glib/gio/tests/trash.c:217,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/trash.c:244,1
    - Dst: g_file_info_get_attribute_byte_string
      Src: /src/glib/gio/tests/trash.c:239,1
    - Dst: strcmp
      Src: /src/glib/gio/tests/trash.c:241,1
    - Dst: g_file_enumerator_close
      Src: /src/glib/gio/tests/trash.c:253,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/trash.c:254,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/trash.c:256,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/trash.c:261,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/trash.c:219,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/tests/trash.c:226,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/trash.c:246,1
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/trash.c:207,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/trash.c:211,1
    - Dst: g_open
      Src: /src/glib/gio/tests/trash.c:208,1
    - Dst: g_unlink
      Src: /src/glib/gio/tests/trash.c:218,1
    - Dst: g_file_enumerator_next_file
      Src: /src/glib/gio/tests/trash.c:237,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/trash.c:245,1
    - Dst: g_file_info_get_name
      Src: /src/glib/gio/tests/trash.c:243,1
    - Dst: g_file_enumerate_children
      Src: /src/glib/gio/tests/trash.c:227,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/trash.c:250,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/trash.c:260,1
    - Dst: g_get_home_dir
      Src: /src/glib/gio/tests/trash.c:207,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/trash.c:243,1
    - Dst: g_free
      Src: /src/glib/gio/tests/trash.c:259,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 262
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 262
    functionName: test_trash_long_filename
    functionSourceFile: /src/glib/gio/tests/trash.c
    functionUses: []
    functionsReached:
    - g_file_enumerator_close
    - g_file_new_for_uri
    - strcmp
    - g_open
    - g_file_info_get_attribute_byte_string
    - g_unlink
    - g_file_enumerator_next_file
    - g_object_unref
    - g_file_delete
    - g_build_filename
    - g_file_info_get_name
    - g_test_skip
    - g_file_new_for_path
    - g_get_home_dir
    - g_file_enumerate_children
    - g_assert_no_error
    - g_file_get_child
    - g_clear_error
    - g_file_trash
    - g_close
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_trash_long_filename (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/trash.c:110,1
    - Dst: g_test_skip_printf
      Src: /src/glib/gio/tests/trash.c:116,1
    - Dst: g_test_skip_printf
      Src: /src/glib/gio/tests/trash.c:125,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/trash.c:134,1
    - Dst: g_unix_mount_entry_free
      Src: /src/glib/gio/tests/trash.c:141,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/trash.c:148,1
    - Dst: g_free
      Src: /src/glib/gio/tests/trash.c:157,1
    - Dst: g_file_peek_path
      Src: /src/glib/gio/tests/trash.c:168,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/trash.c:179,1
    - Dst: g_unix_mount_entry_compare
      Src: /src/glib/gio/tests/trash.c:179,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/trash.c:184,1
    - Dst: g_unix_mount_entry_free
      Src: /src/glib/gio/tests/trash.c:182,1
    - Dst: g_unix_mount_entry_free
      Src: /src/glib/gio/tests/trash.c:187,1
    - Dst: g_unix_mount_entry_free
      Src: /src/glib/gio/tests/trash.c:154,1
    - Dst: g_unix_mount_entry_free
      Src: /src/glib/gio/tests/trash.c:181,1
    - Dst: g_unix_mount_entry_free
      Src: /src/glib/gio/tests/trash.c:185,1
    - Dst: g_unix_mount_entry_get_mount_path
      Src: /src/glib/gio/tests/trash.c:168,1
    - Dst: g_free
      Src: /src/glib/gio/tests/trash.c:186,1
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/trash.c:112,1
    - Dst: g_free
      Src: /src/glib/gio/tests/trash.c:117,1
    - Dst: g_unix_mount_entry_for
      Src: /src/glib/gio/tests/trash.c:121,1
    - Dst: g_free
      Src: /src/glib/gio/tests/trash.c:126,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/trash.c:130,1
    - Dst: g_free
      Src: /src/glib/gio/tests/trash.c:142,1
    - Dst: g_test_skip_printf
      Src: /src/glib/gio/tests/trash.c:140,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/gio/tests/trash.c:133,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/trash.c:147,1
    - Dst: g_unix_mount_entry_get_mount_path
      Src: /src/glib/gio/tests/trash.c:148,1
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/trash.c:172,1
    - Dst: g_unix_mount_entry_compare
      Src: /src/glib/gio/tests/trash.c:170,1
    - Dst: g_file_peek_path
      Src: /src/glib/gio/tests/trash.c:166,1
    - Dst: g_get_home_dir
      Src: /src/glib/gio/tests/trash.c:112,1
    - Dst: g_unix_mount_entry_for
      Src: /src/glib/gio/tests/trash.c:136,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/trash.c:131,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/trash.c:135,1
    - Dst: g_free
      Src: /src/glib/gio/tests/trash.c:143,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/trash.c:152,1
    - Dst: g_free
      Src: /src/glib/gio/tests/trash.c:155,1
    - Dst: g_unix_mount_entry_for
      Src: /src/glib/gio/tests/trash.c:166,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/trash.c:167,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/trash.c:168,1
    - Dst: g_unix_mount_entry_get_mount_path
      Src: /src/glib/gio/tests/trash.c:177,1
    - Dst: g_free
      Src: /src/glib/gio/tests/trash.c:183,1
    - Dst: g_unix_mount_entry_compare
      Src: /src/glib/gio/tests/trash.c:150,1
    - Dst: g_file_test
      Src: /src/glib/gio/tests/trash.c:114,1
    - Dst: g_unix_mount_entry_get_mount_path
      Src: /src/glib/gio/tests/trash.c:131,1
    - Dst: g_unix_mount_entry_free
      Src: /src/glib/gio/tests/trash.c:156,1
    - Dst: g_file_new_build_filename
      Src: /src/glib/gio/tests/trash.c:162,1
    - Dst: g_get_home_dir
      Src: /src/glib/gio/tests/trash.c:163,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/trash.c:164,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/trash.c:170,1
    - Dst: g_unix_mount_entry_for
      Src: /src/glib/gio/tests/trash.c:175,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/trash.c:176,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/trash.c:177,1
    - Dst: g_free
      Src: /src/glib/gio/tests/trash.c:188,1
    - Dst: g_file_make_symbolic_link
      Src: /src/glib/gio/tests/trash.c:163,1
    - Dst: g_file_peek_path
      Src: /src/glib/gio/tests/trash.c:172,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 74
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 189
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 189
    functionName: test_trash_symlinks
    functionSourceFile: /src/glib/gio/tests/trash.c
    functionUses: []
    functionsReached:
    - g_unix_mount_entry_for
    - g_file_peek_path
    - g_object_unref
    - g_assert_nonnull
    - g_test_bug
    - g_unix_mount_entry_get_mount_path
    - g_build_filename
    - g_unix_mount_entry_free
    - g_test_skip
    - g_file_new_build_filename
    - g_file_test
    - g_assert_cmpint
    - g_test_message
    - g_file_make_symbolic_link
    - g_get_home_dir
    - g_assert_no_error
    - g_dir_make_tmp
    - g_unix_mount_entry_compare
    - g_test_skip_printf
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_trash_symlinks (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/trash.c:267,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/trash.c:270,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/trash.c:273,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/trash.c:271,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/trash.c:269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 274
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 274
    functionName: main
    functionSourceFile: /src/glib/gio/tests/trash.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/file.c:129,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:137,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:134,1
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/file.c:130,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file.c:133,1
    - Dst: g_file_get_path
      Src: /src/glib/gio/tests/file.c:137,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:138,1
    - Dst: g_file_get_basename
      Src: /src/glib/gio/tests/file.c:138,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:139,1
    - Dst: g_file_get_parent
      Src: /src/glib/gio/tests/file.c:139,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 142
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 142
    functionName: test_empty_path
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_file_new_for_path
    - g_test_summary
    - g_object_unref
    - g_assert_null
    - g_assert_nonnull
    - g_file_get_basename
    - g_test_bug
    - g_file_get_path
    - g_file_get_parent
    linkageType: ''
    returnType: void
    signature: 'static void test_empty_path (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/file.c:2288,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file.c:2293,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:2291,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2290,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:2293,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/file.c:2295,1
    - Dst: g_file_delete_async
      Src: /src/glib/gio/tests/file.c:2297,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/file.c:2299,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file.c:2301,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file.c:2301,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/file.c:2303,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:2304,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2305
      start: 2279
    functionDepth: 0
    functionLinenumber: 2279
    functionLinenumberEnd: 2305
    functionName: test_async_delete
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_file_delete_async
    - g_assert_true
    - g_main_loop_run
    - g_object_unref
    - g_main_loop_unref
    - g_file_new_tmp
    - g_assert_no_error
    - g_main_loop_new
    - g_file_query_exists
    - g_assert_false
    linkageType: ''
    returnType: void
    signature: 'static void test_async_delete (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file.c:152,1
    - Dst: g_test_get_dir
      Src: /src/glib/gio/tests/file.c:152,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:156,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/file.c:154,1
    - Dst: g_file_query_file_type
      Src: /src/glib/gio/tests/file.c:155,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:157,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/file.c:159,1
    - Dst: g_file_query_file_type
      Src: /src/glib/gio/tests/file.c:160,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:161,1
    - Dst: g_file_read
      Src: /src/glib/gio/tests/file.c:163,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/file.c:164,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/file.c:165,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:166,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 169
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 169
    functionName: test_type
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_file_new_for_path
    - g_object_unref
    - g_file_read
    - g_file_query_file_type
    - g_test_get_dir
    - g_assert_error
    - g_file_get_child
    - g_error_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_type (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:2316,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/file.c:2319,1
    - Dst: g_file_make_symbolic_link_finish
      Src: /src/glib/gio/tests/file.c:2316,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2317,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2320
      start: 2307
    functionDepth: 0
    functionLinenumber: 2307
    functionLinenumberEnd: 2320
    functionName: on_symlink_done
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_assert_no_error
    - g_main_loop_quit
    - g_assert_true
    - g_file_make_symbolic_link_finish
    linkageType: ''
    returnType: void
    signature: 'static void on_symlink_done (GObject *object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_new_build_filename
      Src: /src/glib/gio/tests/file.c:55,1
    - Dst: test_basic_for_file
      Src: /src/glib/gio/tests/file.c:56,1
    - Dst: test_basic_for_file
      Src: /src/glib/gio/tests/file.c:60,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:57,1
    - Dst: g_file_new_build_filename
      Src: /src/glib/gio/tests/file.c:59,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: test_build_filename
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_file_new_build_filename
    - g_object_unref
    - test_basic_for_file
    linkageType: ''
    returnType: void
    signature: 'static void test_build_filename (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:2548,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:2549,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - current_num_bytes
    - total_num_bytes
    - user_data
    argTypes:
    - goffset
    - goffset
    - gpointer
    constantsTouched: []
    func_position:
      end: 2553
      start: 2541
    functionDepth: 0
    functionLinenumber: 2541
    functionLinenumberEnd: 2553
    functionName: file_copy_progress_cb
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_assert_cmpuint
    linkageType: ''
    returnType: void
    signature: 'static void file_copy_progress_cb (goffset current_num_bytes, goffset
      total_num_bytes, gpointer user_data) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:3662,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:3688,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:3695,1
    - Dst: g_strstr_len
      Src: /src/glib/gio/tests/file.c:3711,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:3717,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3723,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3727,1
    - Dst: g_strstr_len
      Src: /src/glib/gio/tests/file.c:3722,1
    - Dst: g_strstr_len
      Src: /src/glib/gio/tests/file.c:3732,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:3733,1
    - Dst: g_strstr_len
      Src: /src/glib/gio/tests/file.c:3710,1
    - Dst: g_strstr_len
      Src: /src/glib/gio/tests/file.c:3679,1
    - Dst: g_strstr_len
      Src: /src/glib/gio/tests/file.c:3695,1
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/file.c:3657,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3659,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3661,1
    - Dst: g_file_build_attribute_list_for_copy
      Src: /src/glib/gio/tests/file.c:3668,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3670,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3671,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:3673,1
    - Dst: g_strstr_len
      Src: /src/glib/gio/tests/file.c:3677,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3679,1
    - Dst: g_strstr_len
      Src: /src/glib/gio/tests/file.c:3683,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3705,1
    - Dst: g_strstr_len
      Src: /src/glib/gio/tests/file.c:3728,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:3739,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3700,1
    - Dst: g_strstr_len
      Src: /src/glib/gio/tests/file.c:3733,1
    - Dst: g_strstr_len
      Src: /src/glib/gio/tests/file.c:3718,1
    - Dst: g_strstr_len
      Src: /src/glib/gio/tests/file.c:3696,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3701,1
    - Dst: g_strstr_len
      Src: /src/glib/gio/tests/file.c:3701,1
    - Dst: g_strstr_len
      Src: /src/glib/gio/tests/file.c:3706,1
    - Dst: g_strstr_len
      Src: /src/glib/gio/tests/file.c:3705,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3706,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:3710,1
    - Dst: g_strstr_len
      Src: /src/glib/gio/tests/file.c:3717,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:3718,1
    - Dst: g_strstr_len
      Src: /src/glib/gio/tests/file.c:3727,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:3736,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:3740,1
    - Dst: g_strstr_len
      Src: /src/glib/gio/tests/file.c:3723,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:3677,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:3711,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3683,1
    - Dst: g_io_stream_close
      Src: /src/glib/gio/tests/file.c:3660,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/file.c:3664,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/file.c:3669,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3684,1
    - Dst: g_strstr_len
      Src: /src/glib/gio/tests/file.c:3684,1
    - Dst: g_strstr_len
      Src: /src/glib/gio/tests/file.c:3688,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:3689,1
    - Dst: g_strstr_len
      Src: /src/glib/gio/tests/file.c:3689,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:3696,1
    - Dst: g_strstr_len
      Src: /src/glib/gio/tests/file.c:3700,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3722,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:3732,1
    - Dst: g_strconcat
      Src: /src/glib/gio/tests/file.c:3672,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3728,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 85
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3741
      start: 3637
    functionDepth: 0
    functionLinenumber: 3637
    functionLinenumberEnd: 3741
    functionName: test_build_attribute_list_for_copy
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_io_stream_close
    - g_strconcat
    - g_assert_null
    - G_N_ELEMENTS
    - g_test_message
    - g_assert_nonnull
    - g_file_delete
    - g_file_new_tmp
    - g_assert_no_error
    - g_clear_object
    - g_strstr_len
    - g_file_build_attribute_list_for_copy
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_build_attribute_list_for_copy (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_new_build_filenamev
      Src: /src/glib/gio/tests/file.c:70,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:72,1
    - Dst: test_basic_for_file
      Src: /src/glib/gio/tests/file.c:76,1
    - Dst: test_basic_for_file
      Src: /src/glib/gio/tests/file.c:71,1
    - Dst: g_file_new_build_filenamev
      Src: /src/glib/gio/tests/file.c:75,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:77,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 78
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 78
    functionName: test_build_filenamev
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - test_basic_for_file
    - g_file_new_build_filenamev
    linkageType: ''
    returnType: void
    signature: 'static void test_build_filenamev (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/file.c:2571,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2568,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:2577,1
    - Dst: g_io_stream_close
      Src: /src/glib/gio/tests/file.c:2583,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2596,1
    - Dst: g_file_copy
      Src: /src/glib/gio/tests/file.c:2594,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:2585,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2582,1
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/file.c:2566,1
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/file.c:2580,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:2598,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:2599,1
    - Dst: g_io_stream_close
      Src: /src/glib/gio/tests/file.c:2575,1
    - Dst: g_output_stream_write
      Src: /src/glib/gio/tests/file.c:2572,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:2571,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2573,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2576,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2584,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:2602,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:2603,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:2605,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:2606,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2607
      start: 2555
    functionDepth: 0
    functionLinenumber: 2555
    functionLinenumberEnd: 2607
    functionName: test_copy_progress
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - G_IO_STREAM
    - g_io_stream_close
    - g_assert_cmpuint
    - g_file_delete
    - g_file_new_tmp
    - g_assert_no_error
    - g_clear_object
    - g_io_stream_get_output_stream
    - g_file_copy
    - g_output_stream_write
    linkageType: ''
    returnType: void
    signature: 'static void test_copy_progress (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/file.c:3793,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3798,1
    - Dst: g_output_stream_write
      Src: /src/glib/gio/tests/file.c:3808,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/file.c:3822,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file.c:3828,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3836,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:3838,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:3845,1
    - Dst: g_build_path
      Src: /src/glib/gio/tests/file.c:3795,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file.c:3796,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3802,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file.c:3804,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3824,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3825,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file.c:3830,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3842,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3843,1
    - Dst: g_get_tmp_dir
      Src: /src/glib/gio/tests/file.c:3795,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file.c:3801,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file.c:3803,1
    - Dst: g_file_move_async
      Src: /src/glib/gio/tests/file.c:3811,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3809,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file.c:3829,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3831,1
    - Dst: g_io_stream_close
      Src: /src/glib/gio/tests/file.c:3833,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3834,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3839,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3799,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/file.c:3807,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:3807,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:3826,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:3833,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3835,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3840,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3846
      start: 3779
    functionDepth: 0
    functionLinenumber: 3779
    functionLinenumberEnd: 3846
    functionName: test_move_async
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - G_IO_STREAM
    - g_file_move_async
    - g_file_query_exists
    - g_assert_true
    - g_object_unref
    - g_assert_nonnull
    - g_file_delete
    - g_file_new_tmp
    - g_assert_false
    - g_io_stream_get_output_stream
    - g_output_stream_write
    - g_file_new_for_path
    - g_io_stream_close
    - g_assert_cmpuint
    - g_assert_no_error
    - g_build_path
    - g_get_tmp_dir
    - g_main_context_iteration
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_move_async (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_get_basename
      Src: /src/glib/gio/tests/file.c:25,1
    - Dst: g_file_get_uri
      Src: /src/glib/gio/tests/file.c:29,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:30,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/file.c:26,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:27,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/tests/file.c:30,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:31,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/tests/file.c:31,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:32,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:34,1
    - Dst: g_file_has_uri_scheme
      Src: /src/glib/gio/tests/file.c:34,1
    - Dst: g_file_get_uri_scheme
      Src: /src/glib/gio/tests/file.c:35,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:37,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/file.c:36,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - file
    - suffix
    argTypes:
    - GFile*
    - gchar*
    constantsTouched: []
    func_position:
      end: 38
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 38
    functionName: test_basic_for_file
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_file_get_uri
    - g_assert_true
    - g_str_has_suffix
    - g_file_has_uri_scheme
    - g_file_get_basename
    - g_assert_cmpstr
    - g_str_has_prefix
    - g_free
    - g_file_get_uri_scheme
    linkageType: ''
    returnType: void
    signature: 'static void test_basic_for_file (GFile *file, const gchar *suffix) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_output_stream_write_finish
      Src: /src/glib/gio/tests/file.c:429,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/file.c:430,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/file.c:431,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - source
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 432
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 432
    functionName: opending_cb
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_error_free
    - g_output_stream_write_finish
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void opending_cb (GObject *source, GAsyncResult *res, gpointer
      user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:2975,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:2976,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:2983,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - char*
    - gsize
    constantsTouched: []
    func_position:
      end: 2984
      start: 2969
    functionDepth: 0
    functionLinenumber: 2969
    functionLinenumberEnd: 2984
    functionName: check_testfile_4gb_contents
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_assert_cmpuint
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void check_testfile_4gb_contents (const char *data, gsize len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_writev_helper
      Src: /src/glib/gio/tests/file.c:3167,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/file.c:3167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3168
      start: 3150
    functionDepth: 0
    functionLinenumber: 3150
    functionLinenumberEnd: 3168
    functionName: test_writev_no_bytes_written
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - test_writev_helper
    linkageType: ''
    returnType: void
    signature: 'static void test_writev_no_bytes_written (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/file.c:4147,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/file.c:4145,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:4160,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/file.c:4177,1
    - Dst: g_file_query_default_handler_async
      Src: /src/glib/gio/tests/file.c:4180,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/file.c:4184,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/file.c:4186,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:4190,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/file.c:4193,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:4199,1
    - Dst: g_app_info_remove_supports_type
      Src: /src/glib/gio/tests/file.c:4210,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:4217,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:4200,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/file.c:4150,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:4150,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/file.c:4151,1
    - Dst: g_file_query_default_handler_async
      Src: /src/glib/gio/tests/file.c:4162,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/tests/file.c:4160,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:4156,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/file.c:4167,1
    - Dst: g_file_query_default_handler_async
      Src: /src/glib/gio/tests/file.c:4171,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/file.c:4174,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:4175,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/tests/file.c:4198,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:4206,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/file.c:4207,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/file.c:4151,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:4157,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/file.c:4165,1
    - Dst: create_command_line_app_info
      Src: /src/glib/gio/tests/file.c:4159,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:4166,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/file.c:4176,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/file.c:4183,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/file.c:4187,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/file.c:4192,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:4192,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/file.c:4194,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:4216,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:4211,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:4218,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/file.c:4208,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/file.c:4205,1
    - Dst: g_app_info_reset_type_associations
      Src: /src/glib/gio/tests/file.c:4212,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:4196,1
    - Dst: skip_missing_update_desktop_database
      Src: /src/glib/gio/tests/file.c:4142,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:4148,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:4153,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/tests/file.c:4155,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:4167,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:4168,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file.c:4170,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/file.c:4179,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:4185,1
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/file.c:4189,1
    - Dst: g_file_query_default_handler_async
      Src: /src/glib/gio/tests/file.c:4202,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/file.c:4214,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:4215,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 67
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4219
      start: 4127
    functionDepth: 0
    functionLinenumber: 4127
    functionLinenumberEnd: 4219
    functionName: test_query_default_handler_file_async
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - G_IO_STREAM
    - g_assert_null
    - g_assert_true
    - g_object_unref
    - skip_missing_update_desktop_database
    - G_N_ELEMENTS
    - g_output_stream_close
    - g_file_new_tmp
    - g_clear_object
    - g_output_stream_write_all
    - create_command_line_app_info
    - g_io_stream_get_output_stream
    - g_file_new_for_path
    - g_file_query_default_handler_async
    - G_IS_APP_INFO
    - g_main_loop_run
    - g_assert_no_error
    - g_main_loop_new
    - g_cancellable_new
    - g_assert_error
    - g_clear_error
    - g_app_info_reset_type_associations
    - g_app_info_remove_supports_type
    - g_main_loop_unref
    - g_app_info_equal
    - g_cancellable_cancel
    linkageType: ''
    returnType: void
    signature: 'static void test_query_default_handler_file_async (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file.c:45,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:47,1
    - Dst: test_basic_for_file
      Src: /src/glib/gio/tests/file.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: test_basic
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_file_new_for_path
    - g_object_unref
    - test_basic_for_file
    linkageType: ''
    returnType: void
    signature: 'static void test_basic (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_create_finish
      Src: /src/glib/gio/tests/file.c:444,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file.c:446,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:445,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:446,1
    - Dst: G_FILE
      Src: /src/glib/gio/tests/file.c:444,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/file.c:449,1
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/file.c:449,1
    - Dst: g_buffered_output_stream_new_sized
      Src: /src/glib/gio/tests/file.c:451,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/file.c:451,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:452,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:464,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:456,1
    - Dst: g_output_stream_write_async
      Src: /src/glib/gio/tests/file.c:462,1
    - Dst: g_output_stream_write_async
      Src: /src/glib/gio/tests/file.c:454,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - source
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 469
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 469
    functionName: created_cb
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_object_unref
    - strlen
    - g_output_stream_write_async
    - g_buffered_output_stream_new_sized
    - g_assert_no_error
    - g_file_create_finish
    - g_file_query_exists
    - g_object_ref
    - G_FILE
    - G_OUTPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void created_cb (GObject *source, GAsyncResult *res, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE
      Src: /src/glib/gio/tests/file.c:2621,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/tests/file.c:2626,1
    - Dst: g_file_move_finish
      Src: /src/glib/gio/tests/file.c:2625,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - void*
    constantsTouched: []
    func_position:
      end: 2628
      start: 2616
    functionDepth: 0
    functionLinenumber: 2616
    functionLinenumberEnd: 2628
    functionName: test_copy_async_cb
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_file_move_finish
    - g_steal_pointer
    - G_FILE
    linkageType: ''
    returnType: void
    signature: 'static void test_copy_async_cb (GObject *object, GAsyncResult *result,
      void *user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: create_testfile_4gb_or_skip
      Src: /src/glib/gio/tests/file.c:2996,1
    - Dst: g_file_load_contents
      Src: /src/glib/gio/tests/file.c:3000,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3002,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file.c:2999,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3001,1
    - Dst: check_testfile_4gb_contents
      Src: /src/glib/gio/tests/file.c:3004,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:3006,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:3008,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3009,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3010
      start: 2986
    functionDepth: 0
    functionLinenumber: 2986
    functionLinenumberEnd: 3010
    functionName: test_load_contents_4gb
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_file_new_for_path
    - g_assert_true
    - g_object_unref
    - check_testfile_4gb_contents
    - g_file_delete
    - g_assert_no_error
    - create_testfile_4gb_or_skip
    - g_free
    - g_file_load_contents
    linkageType: ''
    returnType: void
    signature: 'static void test_load_contents_4gb (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/file.c:4237,1
    - Dst: g_file_query_default_handler_async
      Src: /src/glib/gio/tests/file.c:4240,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/file.c:4243,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:4244,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/file.c:4254,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/file.c:4261,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/file.c:4265,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:4272,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:4235,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/tests/file.c:4248,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/file.c:4245,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:4246,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/file.c:4257,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:4263,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/tests/file.c:4235,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/file.c:4255,1
    - Dst: g_file_query_default_handler_async
      Src: /src/glib/gio/tests/file.c:4258,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/file.c:4262,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/file.c:4264,1
    - Dst: g_app_info_remove_supports_type
      Src: /src/glib/gio/tests/file.c:4267,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:4268,1
    - Dst: g_app_info_reset_type_associations
      Src: /src/glib/gio/tests/file.c:4269,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/file.c:4271,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:4274,1
    - Dst: skip_missing_update_desktop_database
      Src: /src/glib/gio/tests/file.c:4230,1
    - Dst: create_command_line_app_info
      Src: /src/glib/gio/tests/file.c:4233,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/tests/file.c:4239,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:4245,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/file.c:4252,1
    - Dst: g_file_query_default_handler_async
      Src: /src/glib/gio/tests/file.c:4249,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:4253,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:4273,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4275
      start: 4221
    functionDepth: 0
    functionLinenumber: 4221
    functionLinenumberEnd: 4275
    functionName: test_query_default_handler_uri_async
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_assert_null
    - g_file_new_for_uri
    - g_assert_true
    - g_object_unref
    - skip_missing_update_desktop_database
    - g_clear_object
    - create_command_line_app_info
    - g_file_query_default_handler_async
    - G_IS_APP_INFO
    - g_main_loop_run
    - g_assert_no_error
    - g_main_loop_new
    - g_cancellable_new
    - g_assert_error
    - g_clear_error
    - g_app_info_reset_type_associations
    - g_app_info_remove_supports_type
    - g_main_loop_unref
    - g_app_info_equal
    - g_cancellable_cancel
    linkageType: ''
    returnType: void
    signature: 'static void test_query_default_handler_uri_async (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_writev_helper
      Src: /src/glib/gio/tests/file.c:3146,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/file.c:3146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3147
      start: 3129
    functionDepth: 0
    functionLinenumber: 3129
    functionLinenumberEnd: 3147
    functionName: test_writev
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - test_writev_helper
    linkageType: ''
    returnType: void
    signature: 'static void test_writev (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/file.c:3618,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/file.c:3619,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3627,1
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/file.c:3605,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:3610,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/file.c:3610,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3607,1
    - Dst: g_output_stream_writev_all_async
      Src: /src/glib/gio/tests/file.c:3612,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/file.c:3612,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/file.c:3615,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3623,1
    - Dst: g_file_load_contents
      Src: /src/glib/gio/tests/file.c:3626,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3622,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3608,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:3617,1
    - Dst: g_io_stream_close
      Src: /src/glib/gio/tests/file.c:3621,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:3621,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3628,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:3631,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:3629,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3624,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3634,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:3633,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3635
      start: 3583
    functionDepth: 0
    functionLinenumber: 3583
    functionLinenumberEnd: 3635
    functionName: test_writev_async_all_too_big_vectors
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - G_IO_STREAM
    - g_io_stream_close
    - g_assert_true
    - g_object_unref
    - G_N_ELEMENTS
    - g_assert_nonnull
    - g_assert_cmpuint
    - g_file_delete
    - g_file_new_tmp
    - g_assert_no_error
    - g_output_stream_writev_all_async
    - g_io_stream_get_output_stream
    - g_main_context_iteration
    - g_free
    - g_file_load_contents
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_writev_async_all_too_big_vectors (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/file.c:877,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:893,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file.c:896,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/file.c:905,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:921,1
    - Dst: g_file_info_get_name
      Src: /src/glib/gio/tests/file.c:927,1
    - Dst: g_file_info_get_file_type
      Src: /src/glib/gio/tests/file.c:928,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file.c:941,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:952,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:953,1
    - Dst: g_file_enumerator_next_file
      Src: /src/glib/gio/tests/file.c:932,1
    - Dst: g_file_load_contents
      Src: /src/glib/gio/tests/file.c:944,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/file.c:905,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/file.c:927,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:871,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/file.c:874,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/file.c:878,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file.c:880,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:886,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/file.c:890,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:881,1
    - Dst: g_file_replace
      Src: /src/glib/gio/tests/file.c:901,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:903,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/file.c:910,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:930,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:908,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/file.c:951,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:933,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file.c:872,1
    - Dst: g_file_make_symbolic_link
      Src: /src/glib/gio/tests/file.c:884,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file.c:884,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:905,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:908,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:911,1
    - Dst: g_file_enumerate_children
      Src: /src/glib/gio/tests/file.c:917,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:924,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:928,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:934,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:956,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:957,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:937,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/file.c:966,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:952,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:962,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:907,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:963,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:960,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:959,1
    - Dst: g_file_enumerator_close
      Src: /src/glib/gio/tests/file.c:936,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:950,1
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/file.c:866,1
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/file.c:867,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/gio/tests/file.c:870,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:875,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/file.c:882,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/file.c:885,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/file.c:887,1
    - Dst: g_file_make_symbolic_link
      Src: /src/glib/gio/tests/file.c:880,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/file.c:891,1
    - Dst: g_file_make_symbolic_link
      Src: /src/glib/gio/tests/file.c:892,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file.c:896,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:964,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/tests/file.c:910,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:913,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file.c:941,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:938,1
    - Dst: g_file_enumerator_next_file
      Src: /src/glib/gio/tests/file.c:923,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:925,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 78
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 968
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 968
    functionName: test_replace_symlink
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_file_enumerator_close
    - g_assert_null
    - g_file_query_exists
    - g_test_assert_expected_messages
    - g_file_enumerator_next_file
    - g_output_stream_close
    - g_assert_nonnull
    - g_file_delete
    - g_test_bug
    - g_clear_object
    - g_output_stream_write_all
    - g_assert_false
    - g_file_info_get_name
    - g_test_skip
    - g_file_load_contents
    - G_OUTPUT_STREAM
    - g_assert_cmpint
    - g_file_new_for_path
    - g_file_replace
    - strlen
    - g_file_info_get_file_type
    - g_test_message
    - g_file_make_symbolic_link
    - g_assert_cmpuint
    - g_file_enumerate_children
    - g_assert_no_error
    - g_test_expect_message
    - g_file_get_child
    - g_dir_make_tmp
    - g_assert_error
    - g_clear_error
    - g_test_summary
    - g_assert_cmpstr
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_replace_symlink (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: create_testfile_4gb_or_skip
      Src: /src/glib/gio/tests/file.c:3066,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3071,1
    - Dst: g_file_load_bytes
      Src: /src/glib/gio/tests/file.c:3070,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file.c:3069,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3072,1
    - Dst: check_testfile_4gb_contents
      Src: /src/glib/gio/tests/file.c:3074,1
    - Dst: g_bytes_get_data
      Src: /src/glib/gio/tests/file.c:3074,1
    - Dst: g_bytes_get_size
      Src: /src/glib/gio/tests/file.c:3074,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:3076,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/tests/file.c:3078,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3079,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3080
      start: 3058
    functionDepth: 0
    functionLinenumber: 3058
    functionLinenumberEnd: 3080
    functionName: test_load_bytes_4gb
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_file_new_for_path
    - g_assert_true
    - g_object_unref
    - check_testfile_4gb_contents
    - g_file_delete
    - g_bytes_unref
    - g_assert_no_error
    - g_bytes_get_size
    - g_file_load_bytes
    - create_testfile_4gb_or_skip
    - g_bytes_get_data
    linkageType: ''
    returnType: void
    signature: 'static void test_load_bytes_4gb (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file.c:992,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/gio/tests/file.c:990,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/file.c:999,1
    - Dst: g_file_make_symbolic_link
      Src: /src/glib/gio/tests/file.c:1000,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/file.c:1012,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1014,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:1012,1
    - Dst: sleep
      Src: /src/glib/gio/tests/file.c:1007,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:1015,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/file.c:1017,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/file.c:1022,1
    - Dst: g_file_load_contents
      Src: /src/glib/gio/tests/file.c:1051,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:1082,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:1081,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:1072,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:1060,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1079,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:1083,1
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/file.c:986,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/file.c:994,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/file.c:998,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:1015,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1011,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/tests/file.c:1017,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1018,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:1024,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/file.c:1035,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:1038,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:1043,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1057,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1073,1
    - Dst: g_file_query_file_type
      Src: /src/glib/gio/tests/file.c:1048,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:1048,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:1078,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/file.c:1066,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:991,1
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/file.c:987,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/file.c:1012,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1001,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:1021,1
    - Dst: sleep
      Src: /src/glib/gio/tests/file.c:1027,1
    - Dst: g_file_replace
      Src: /src/glib/gio/tests/file.c:1031,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:1038,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:1047,1
    - Dst: g_file_query_file_type
      Src: /src/glib/gio/tests/file.c:1047,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:1059,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1065,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:1068,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1041,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1076,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:1069,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:1059,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:995,1
    - Dst: g_file_create
      Src: /src/glib/gio/tests/file.c:1010,1
    - Dst: g_file_output_stream_get_etag
      Src: /src/glib/gio/tests/file.c:1020,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/file.c:1035,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:1035,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1037,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/tests/file.c:1040,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/file.c:1040,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/file.c:1058,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/file.c:1063,1
    - Dst: g_file_info_get_etag
      Src: /src/glib/gio/tests/file.c:1066,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:1075,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1033,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/file.c:1085,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 77
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1087
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 1087
    functionName: test_replace_symlink_using_etag
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_file_create
    - sleep
    - g_file_query_info
    - g_output_stream_close
    - g_assert_nonnull
    - g_file_delete
    - g_test_bug
    - g_file_query_file_type
    - g_clear_object
    - g_output_stream_write_all
    - g_test_skip
    - g_file_load_contents
    - G_OUTPUT_STREAM
    - g_assert_cmpint
    - g_file_new_for_path
    - g_file_info_get_etag
    - g_file_replace
    - strlen
    - g_test_message
    - g_file_make_symbolic_link
    - g_assert_cmpuint
    - g_assert_no_error
    - g_file_get_child
    - g_dir_make_tmp
    - g_test_summary
    - g_assert_cmpstr
    - g_file_output_stream_get_etag
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_replace_symlink_using_etag (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/file.c:3103,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3100,1
    - Dst: g_output_stream_writev_all
      Src: /src/glib/gio/tests/file.c:3105,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3107,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:3109,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:3111,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3113,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3125,1
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/file.c:3098,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:3103,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3101,1
    - Dst: g_io_stream_close
      Src: /src/glib/gio/tests/file.c:3111,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3112,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:3122,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3117,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/gio/tests/file.c:3120,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:3124,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3106,1
    - Dst: g_file_load_contents
      Src: /src/glib/gio/tests/file.c:3116,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3114,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3118,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 5
    argNames:
    - vectors
    - n_vectors
    - use_bytes_written
    - expected_contents
    - expected_length
    argTypes:
    - GOutputVector*
    - gsize
    - gboolean
    - guint8*
    - gsize
    constantsTouched: []
    func_position:
      end: 3126
      start: 3082
    functionDepth: 0
    functionLinenumber: 3082
    functionLinenumberEnd: 3126
    functionName: test_writev_helper
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - G_IO_STREAM
    - g_io_stream_close
    - g_assert_true
    - g_file_load_contents
    - g_object_unref
    - g_assert_nonnull
    - g_assert_cmpuint
    - g_file_delete
    - g_file_new_tmp
    - g_assert_no_error
    - g_assert_cmpmem
    - g_io_stream_get_output_stream
    - g_free
    - g_output_stream_writev_all
    linkageType: ''
    returnType: void
    signature: 'static void test_writev_helper (GOutputVector *vectors, gsize n_vectors,
      gboolean use_bytes_written, const guint8 *expected_contents, gsize expected_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3553,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:3562,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:3578,1
    - Dst: g_output_stream_writev_all_async
      Src: /src/glib/gio/tests/file.c:3557,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/file.c:3560,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/file.c:3564,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3568,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:3574,1
    - Dst: g_io_stream_close
      Src: /src/glib/gio/tests/file.c:3566,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3569,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3579,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3567,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3572,1
    - Dst: g_file_load_contents
      Src: /src/glib/gio/tests/file.c:3571,1
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/file.c:3550,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3552,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/file.c:3555,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:3555,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3563,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3573,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:3566,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:3576,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3580
      start: 3538
    functionDepth: 0
    functionLinenumber: 3538
    functionLinenumberEnd: 3580
    functionName: test_writev_async_all_no_vectors
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - G_IO_STREAM
    - g_io_stream_close
    - g_assert_true
    - g_object_unref
    - g_assert_nonnull
    - g_assert_cmpuint
    - g_file_delete
    - g_file_new_tmp
    - g_assert_no_error
    - g_output_stream_writev_all_async
    - g_io_stream_get_output_stream
    - g_main_context_iteration
    - g_free
    - g_file_load_contents
    linkageType: ''
    returnType: void
    signature: 'static void test_writev_async_all_no_vectors (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/file.c:1357,1
    - Dst: mkdir
      Src: /src/glib/gio/tests/file.c:1360,1
    - Dst: g_assert_no_errno
      Src: /src/glib/gio/tests/file.c:1360,1
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/file.c:1358,1
    - Dst: g_assert_no_errno
      Src: /src/glib/gio/tests/file.c:1361,1
    - Dst: chmod
      Src: /src/glib/gio/tests/file.c:1361,1
    - Dst: mkdir
      Src: /src/glib/gio/tests/file.c:1363,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/file.c:1365,1
    - Dst: g_assert_no_errno
      Src: /src/glib/gio/tests/file.c:1366,1
    - Dst: rmdir
      Src: /src/glib/gio/tests/file.c:1366,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/file.c:1373,1
    - Dst: rmdir
      Src: /src/glib/gio/tests/file.c:1379,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:1381,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:1380,1
    - Dst: g_assert_no_errno
      Src: /src/glib/gio/tests/file.c:1378,1
    - Dst: chmod
      Src: /src/glib/gio/tests/file.c:1378,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:1374,1
    - Dst: g_assert_no_errno
      Src: /src/glib/gio/tests/file.c:1379,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - tmpdir
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1383
      start: 1350
    functionDepth: 0
    functionLinenumber: 1350
    functionLinenumberEnd: 1383
    functionName: check_cap_dac_override
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - chmod
    - g_test_message
    - g_build_filename
    - rmdir
    - g_assert_no_errno
    - mkdir
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean check_cap_dac_override (const char *tmpdir) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_output_stream_close_finish
      Src: /src/glib/gio/tests/file.c:381,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:383,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:384,1
    - Dst: g_output_stream_is_closed
      Src: /src/glib/gio/tests/file.c:384,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:382,1
    - Dst: g_file_read_async
      Src: /src/glib/gio/tests/file.c:386,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - source
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 387
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 387
    functionName: oclosed_cb
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_output_stream_close_finish
    - g_assert_true
    - g_assert_no_error
    - g_output_stream_is_closed
    - g_file_read_async
    linkageType: ''
    returnType: void
    signature: 'static void oclosed_cb (GObject *source, GAsyncResult *res, gpointer
      user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_test_slow
      Src: /src/glib/gio/tests/file.c:2948,1
    - Dst: ftruncate
      Src: /src/glib/gio/tests/file.c:2956,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:2955,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/file.c:2950,1
    - Dst: g_mkstemp
      Src: /src/glib/gio/tests/file.c:2954,1
    - Dst: g_clear_fd
      Src: /src/glib/gio/tests/file.c:2957,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2958,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/file.c:2961,1
    - Dst: g_assert_no_errno
      Src: /src/glib/gio/tests/file.c:2962,1
    - Dst: g_unlink
      Src: /src/glib/gio/tests/file.c:2962,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2967
      start: 2938
    functionDepth: 0
    functionLinenumber: 2938
    functionLinenumberEnd: 2967
    functionName: create_testfile_4gb_or_skip
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_unlink
    - g_test_slow
    - ftruncate
    - g_mkstemp
    - g_assert_no_error
    - g_clear_fd
    - g_assert_no_errno
    - g_test_skip
    - g_assert_cmpint
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean create_testfile_4gb_or_skip (char *filename) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/file.c:3354,1
    - Dst: g_output_stream_writev_all_finish
      Src: /src/glib/gio/tests/file.c:3357,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 3359
      start: 3349
    functionDepth: 0
    functionLinenumber: 3349
    functionLinenumberEnd: 3359
    functionName: test_writev_all_cb
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_output_stream_writev_all_finish
    - G_OUTPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void test_writev_all_cb (GObject *object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_output_stream_write_finish
      Src: /src/glib/gio/tests/file.c:399,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:407,1
    - Dst: g_output_stream_write_async
      Src: /src/glib/gio/tests/file.c:405,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:400,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:403,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file.c:415,1
    - Dst: g_output_stream_is_closed
      Src: /src/glib/gio/tests/file.c:415,1
    - Dst: g_output_stream_close_async
      Src: /src/glib/gio/tests/file.c:416,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - source
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 418
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 418
    functionName: written_cb
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_output_stream_close_async
    - strlen
    - g_output_stream_write_async
    - g_output_stream_write_finish
    - g_assert_no_error
    - g_output_stream_is_closed
    - g_assert_false
    linkageType: ''
    returnType: void
    signature: 'static void written_cb (GObject *source, GAsyncResult *res, gpointer
      user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_file_get_path
      Src: /src/glib/gio/tests/file.c:221,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/file.c:224,1
    - Dst: g_file_peek_path
      Src: /src/glib/gio/tests/file.c:222,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/file.c:223,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:225,1
    - Dst: g_main_context_wakeup
      Src: /src/glib/gio/tests/file.c:234,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 5
    argNames:
    - monitor
    - file
    - other_file
    - event_type
    - user_data
    argTypes:
    - GFileMonitor*
    - GFile*
    - GFile*
    - GFileMonitorEvent
    - gpointer
    constantsTouched: []
    func_position:
      end: 235
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 235
    functionName: monitor_changed
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_assert_cmpstr
    - g_main_context_wakeup
    - g_file_get_path
    - g_file_peek_path
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void monitor_changed (GFileMonitor *monitor, GFile *file, GFile
      *other_file, GFileMonitorEvent event_type, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:2667,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file.c:2671,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/file.c:2676,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2694,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:2695,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:2717,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:2705,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:2716,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2709,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file.c:2664,1
    - Dst: g_build_path
      Src: /src/glib/gio/tests/file.c:2663,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:2670,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file.c:2672,1
    - Dst: g_output_stream_write
      Src: /src/glib/gio/tests/file.c:2677,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2678,1
    - Dst: g_cclosure_new
      Src: /src/glib/gio/tests/file.c:2680,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file.c:2698,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:2699,1
    - Dst: g_io_stream_close
      Src: /src/glib/gio/tests/file.c:2703,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:2714,1
    - Dst: g_get_tmp_dir
      Src: /src/glib/gio/tests/file.c:2663,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/file.c:2680,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:2676,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file.c:2700,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:2710,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:2712,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2713,1
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/file.c:2661,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:2666,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file.c:2669,1
    - Dst: g_file_copy_async_with_closures
      Src: /src/glib/gio/tests/file.c:2683,1
    - Dst: g_cclosure_new
      Src: /src/glib/gio/tests/file.c:2681,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/file.c:2681,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/file.c:2692,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:2696,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:2701,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:2706,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:2703,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:2708,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2704,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:2719,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 56
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2720
      start: 2645
    functionDepth: 0
    functionLinenumber: 2645
    functionLinenumberEnd: 2720
    functionName: test_copy_async_with_closures
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - G_IO_STREAM
    - g_file_query_exists
    - g_assert_true
    - g_object_unref
    - g_assert_nonnull
    - g_file_delete
    - g_file_copy_async_with_closures
    - g_file_new_tmp
    - g_assert_false
    - g_io_stream_get_output_stream
    - g_output_stream_write
    - g_file_new_for_path
    - g_io_stream_close
    - g_assert_cmpuint
    - g_assert_no_error
    - g_build_path
    - g_cclosure_new
    - G_CALLBACK
    - g_get_tmp_dir
    - g_main_context_iteration
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_copy_async_with_closures (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_path_from_uri_helper
      Src: /src/glib/gio/tests/file.c:4336,1
    - Dst: test_path_from_uri_helper
      Src: /src/glib/gio/tests/file.c:4337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4338
      start: 4333
    functionDepth: 0
    functionLinenumber: 4333
    functionLinenumberEnd: 4338
    functionName: test_from_uri_ignores_fragment
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - test_path_from_uri_helper
    linkageType: ''
    returnType: void
    signature: 'static void test_from_uri_ignores_fragment (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_input_stream_close_finish
      Src: /src/glib/gio/tests/file.c:247,1
    - Dst: g_input_stream_is_closed
      Src: /src/glib/gio/tests/file.c:251,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:251,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:248,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:249,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:253,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:254,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:255,1
    - Dst: g_main_context_wakeup
      Src: /src/glib/gio/tests/file.c:258,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - source
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 259
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 259
    functionName: iclosed_cb
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_file_delete
    - g_main_context_wakeup
    - g_assert_no_error
    - g_input_stream_close_finish
    - g_input_stream_is_closed
    linkageType: ''
    returnType: void
    signature: 'static void iclosed_cb (GObject *source, GAsyncResult *res, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_build_filename
      Src: /src/glib/gio/tests/file.c:2733,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:2745,1
    - Dst: g_file_measure_disk_usage
      Src: /src/glib/gio/tests/file.c:2736,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file.c:2734,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2746,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:2748,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:2749,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:2750,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:2752,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:2753,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2754
      start: 2722
    functionDepth: 0
    functionLinenumber: 2722
    functionLinenumberEnd: 2754
    functionName: test_measure
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_file_new_for_path
    - g_assert_true
    - g_test_build_filename
    - g_object_unref
    - g_assert_cmpuint
    - g_file_measure_disk_usage
    - g_assert_no_error
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_measure (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_path_from_uri_helper
      Src: /src/glib/gio/tests/file.c:4343,1
    - Dst: test_path_from_uri_helper
      Src: /src/glib/gio/tests/file.c:4344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4345
      start: 4340
    functionDepth: 0
    functionLinenumber: 4340
    functionLinenumberEnd: 4345
    functionName: test_from_uri_ignores_query_string
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - test_path_from_uri_helper
    linkageType: ''
    returnType: void
    signature: 'static void test_from_uri_ignores_query_string (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/file.c:3019,1
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/file.c:3020,1
    - Dst: g_main_context_wakeup
      Src: /src/glib/gio/tests/file.c:3022,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 3023
      start: 3012
    functionDepth: 0
    functionLinenumber: 3012
    functionLinenumberEnd: 3023
    functionName: load_contents_4gb_cb
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_object_ref
    - g_main_context_wakeup
    linkageType: ''
    returnType: void
    signature: 'static void load_contents_4gb_cb (GObject *object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: create_testfile_4gb_or_skip
      Src: /src/glib/gio/tests/file.c:3036,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/file.c:3043,1
    - Dst: g_file_load_contents_finish
      Src: /src/glib/gio/tests/file.c:3045,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file.c:3039,1
    - Dst: g_file_load_contents_async
      Src: /src/glib/gio/tests/file.c:3040,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3046,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3047,1
    - Dst: check_testfile_4gb_contents
      Src: /src/glib/gio/tests/file.c:3049,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:3051,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:3053,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3055,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3054,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3056
      start: 3025
    functionDepth: 0
    functionLinenumber: 3025
    functionLinenumberEnd: 3056
    functionName: test_load_contents_4gb_async
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_file_new_for_path
    - g_assert_true
    - g_object_unref
    - check_testfile_4gb_contents
    - g_file_delete
    - g_assert_no_error
    - g_file_load_contents_finish
    - g_main_context_iteration
    - create_testfile_4gb_or_skip
    - g_free
    - g_file_load_contents_async
    linkageType: ''
    returnType: void
    signature: 'static void test_load_contents_4gb_async (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3518,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3534,1
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/file.c:3505,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3507,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:3510,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/file.c:3510,1
    - Dst: g_output_stream_writev_all_async
      Src: /src/glib/gio/tests/file.c:3512,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/file.c:3512,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/file.c:3515,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/file.c:3519,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3523,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:3521,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3508,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:3517,1
    - Dst: g_io_stream_close
      Src: /src/glib/gio/tests/file.c:3521,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:3529,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3528,1
    - Dst: g_file_load_contents
      Src: /src/glib/gio/tests/file.c:3526,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3522,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:3531,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:3533,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3524,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3527,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3535
      start: 3483
    functionDepth: 0
    functionLinenumber: 3483
    functionLinenumberEnd: 3535
    functionName: test_writev_async_all_empty_vectors
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - G_IO_STREAM
    - g_io_stream_close
    - g_assert_true
    - g_object_unref
    - G_N_ELEMENTS
    - g_assert_nonnull
    - g_assert_cmpuint
    - g_file_delete
    - g_file_new_tmp
    - g_assert_no_error
    - g_output_stream_writev_all_async
    - g_io_stream_get_output_stream
    - g_main_context_iteration
    - g_free
    - g_file_load_contents
    linkageType: ''
    returnType: void
    signature: 'static void test_writev_async_all_empty_vectors (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file.c:2331,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/tests/file.c:2333,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:2332,1
    - Dst: g_file_make_symbolic_link_finish
      Src: /src/glib/gio/tests/file.c:2331,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/tests/file.c:2333,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/file.c:2335,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2336
      start: 2322
    functionDepth: 0
    functionLinenumber: 2322
    functionLinenumberEnd: 2336
    functionName: on_symlink_error
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_steal_pointer
    - g_assert_nonnull
    - g_main_loop_quit
    - g_assert_false
    - g_file_make_symbolic_link_finish
    linkageType: ''
    returnType: void
    signature: 'static void on_symlink_error (GObject *object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_io_stream_close
      Src: /src/glib/gio/tests/file.c:3229,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3231,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3243,1
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/file.c:3216,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3218,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:3221,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/file.c:3221,1
    - Dst: g_output_stream_writev_all
      Src: /src/glib/gio/tests/file.c:3223,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file.c:3226,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3232,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3235,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:3240,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3219,1
    - Dst: g_file_load_contents
      Src: /src/glib/gio/tests/file.c:3234,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:3229,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:3242,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/file.c:3223,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/file.c:3224,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:3225,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/file.c:3227,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3236,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3230,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/gio/tests/file.c:3238,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3244
      start: 3194
    functionDepth: 0
    functionLinenumber: 3194
    functionLinenumberEnd: 3244
    functionName: test_writev_too_big_vectors
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - G_IO_STREAM
    - g_io_stream_close
    - g_assert_true
    - g_file_load_contents
    - g_object_unref
    - G_N_ELEMENTS
    - g_assert_nonnull
    - g_assert_cmpuint
    - g_file_delete
    - g_file_new_tmp
    - g_assert_no_error
    - g_assert_cmpmem
    - g_assert_false
    - g_io_stream_get_output_stream
    - g_free
    - g_output_stream_writev_all
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_writev_too_big_vectors (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_find_program_in_path
      Src: /src/glib/gio/tests/file.c:3945,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:3952,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/file.c:3949,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3954
      start: 3942
    functionDepth: 0
    functionLinenumber: 3942
    functionLinenumberEnd: 3954
    functionName: skip_missing_update_desktop_database
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_test_skip
    - g_find_program_in_path
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean skip_missing_update_desktop_database (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/file.c:2353,1
    - Dst: g_io_stream_close
      Src: /src/glib/gio/tests/file.c:2356,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:2360,1
    - Dst: g_file_make_symbolic_link_async
      Src: /src/glib/gio/tests/file.c:2382,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/file.c:2387,1
    - Dst: g_file_make_symbolic_link_async
      Src: /src/glib/gio/tests/file.c:2390,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file.c:2395,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2402,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/file.c:2405,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/file.c:2412,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:2431,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/file.c:2420,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/file.c:2422,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:2358,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2367,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/file.c:2375,1
    - Dst: g_file_get_path
      Src: /src/glib/gio/tests/file.c:2389,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/file.c:2396,1
    - Dst: g_file_make_symbolic_link_async
      Src: /src/glib/gio/tests/file.c:2408,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/file.c:2413,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/file.c:2419,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/file.c:2421,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:2423,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/file.c:2425,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:2426,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:2427,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2357,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/file.c:2362,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/gio/tests/file.c:2366,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/file.c:2380,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/file.c:2372,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:2370,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file.c:2373,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/file.c:2385,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/file.c:2386,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/file.c:2393,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:2428,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:2404,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:2429,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/file.c:2415,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2354,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file.c:2360,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file.c:2370,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file.c:2373,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file.c:2369,1
    - Dst: g_file_make_symbolic_link_async
      Src: /src/glib/gio/tests/file.c:2377,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:2395,1
    - Dst: g_file_info_get_is_symlink
      Src: /src/glib/gio/tests/file.c:2404,1
    - Dst: g_file_info_get_symlink_target
      Src: /src/glib/gio/tests/file.c:2405,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/file.c:2411,1
    - Dst: g_file_make_symbolic_link_async
      Src: /src/glib/gio/tests/file.c:2416,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:2430,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 63
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2432
      start: 2338
    functionDepth: 0
    functionLinenumber: 2338
    functionLinenumberEnd: 2432
    functionName: test_async_make_symlink
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_file_query_exists
    - g_test_assert_expected_messages
    - g_file_query_info
    - g_assert_true
    - g_object_unref
    - g_file_new_tmp
    - g_clear_object
    - g_assert_false
    - g_file_new_for_path
    - g_io_stream_close
    - g_main_loop_run
    - g_file_info_get_is_symlink
    - g_file_make_symbolic_link_async
    - g_assert_no_error
    - g_main_loop_new
    - g_file_get_child
    - g_dir_make_tmp
    - g_test_expect_message
    - g_cancellable_new
    - g_assert_error
    - g_clear_error
    - g_file_info_get_symlink_target
    - g_main_loop_unref
    - g_assert_cmpstr
    - g_file_get_path
    - g_cancellable_cancel
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_async_make_symlink (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3986,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:3978,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/file.c:3980,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3988,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/tests/file.c:3972,1
    - Dst: g_file_query_default_handler
      Src: /src/glib/gio/tests/file.c:3973,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3983,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3989,1
    - Dst: create_command_line_app_info
      Src: /src/glib/gio/tests/file.c:3968,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3970,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/file.c:3975,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/tests/file.c:3977,1
    - Dst: g_file_query_default_handler
      Src: /src/glib/gio/tests/file.c:3978,1
    - Dst: g_app_info_remove_supports_type
      Src: /src/glib/gio/tests/file.c:3982,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3987,1
    - Dst: g_app_info_reset_type_associations
      Src: /src/glib/gio/tests/file.c:3984,1
    - Dst: skip_missing_update_desktop_database
      Src: /src/glib/gio/tests/file.c:3965,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/tests/file.c:3970,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3974,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3975,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/file.c:3979,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3990
      start: 3956
    functionDepth: 0
    functionLinenumber: 3956
    functionLinenumberEnd: 3990
    functionName: test_query_default_handler_uri
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - G_IS_APP_INFO
    - g_assert_true
    - g_object_unref
    - g_assert_null
    - skip_missing_update_desktop_database
    - g_file_new_for_uri
    - g_app_info_reset_type_associations
    - g_app_info_remove_supports_type
    - g_assert_error
    - g_assert_no_error
    - g_app_info_equal
    - create_command_line_app_info
    - g_file_query_default_handler
    linkageType: ''
    returnType: void
    signature: 'static void test_query_default_handler_uri (void) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/file.c:1208,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file.c:1219,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/file.c:1224,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/file.c:1225,1
    - Dst: g_file_info_get_size
      Src: /src/glib/gio/tests/file.c:1238,1
    - Dst: g_file_peek_path
      Src: /src/glib/gio/tests/file.c:1245,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1233,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1246,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/file.c:1248,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1269,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/file.c:1280,1
    - Dst: g_file_info_get_symlink_target
      Src: /src/glib/gio/tests/file.c:1290,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:1321,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:1308,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/file.c:1207,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/file.c:1217,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file.c:1219,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:1220,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/file.c:1229,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:1238,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/file.c:1257,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:1271,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/file.c:1285,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/file.c:1292,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1306,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file.c:1296,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/glib/gio/tests/file.c:1308,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:1322,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:1236,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:1227,1
    - Dst: g_file_get_contents
      Src: /src/glib/gio/tests/file.c:1245,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/glib/gio/tests/file.c:1252,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:1264,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:1294,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/file.c:1290,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file.c:1296,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/file.c:1303,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/file.c:1281,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:1310,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:1320,1
    - Dst: g_file_info_get_symlink_target
      Src: /src/glib/gio/tests/file.c:1292,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/file.c:1317,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/glib/gio/tests/file.c:1271,1
    - Dst: g_file_query_file_type
      Src: /src/glib/gio/tests/file.c:1209,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/file.c:1216,1
    - Dst: g_file_info_get_size
      Src: /src/glib/gio/tests/file.c:1236,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:1249,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:1252,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/file.c:1256,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:1259,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/file.c:1262,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/file.c:1266,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:1283,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1288,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file.c:1294,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:1313,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 88
    argCount: 6
    argNames:
    - test_file
    - tmpdir
    - basename
    - expected_type
    - expected_mode
    - expected_contents
    argTypes:
    - GFile*
    - GFile*
    - gchar*
    - FileTestSetupType
    - guint
    - gchar*
    constantsTouched: []
    func_position:
      end: 1323
      start: 1199
    functionDepth: 0
    functionLinenumber: 1199
    functionLinenumberEnd: 1323
    functionName: check_test_file
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_file_query_exists
    - g_file_get_contents
    - g_file_info_get_attribute_uint32
    - g_file_peek_path
    - g_file_query_info
    - g_assert_true
    - g_file_query_file_type
    - g_clear_object
    - g_assert_false
    - g_assert_cmpint
    - g_assert_cmpuint
    - g_assert_not_reached
    - g_assert_no_error
    - g_file_get_child
    - g_file_info_get_symlink_target
    - g_assert
    - g_assert_cmpstr
    - g_file_info_get_size
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void check_test_file (GFile *test_file, GFile *tmpdir, const
      gchar *basename, FileTestSetupType expected_type, guint expected_mode, const
      gchar *expected_contents) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/file.c:3387,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/file.c:3392,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3389,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:3392,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/file.c:3394,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/gio/tests/file.c:3411,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:3413,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3390,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3409,1
    - Dst: g_output_stream_writev_all_async
      Src: /src/glib/gio/tests/file.c:3394,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/file.c:3397,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:3399,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:3415,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3400,1
    - Dst: g_io_stream_close
      Src: /src/glib/gio/tests/file.c:3402,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:3402,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3404,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3408,1
    - Dst: g_file_load_contents
      Src: /src/glib/gio/tests/file.c:3407,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3405,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3403,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3416,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3417
      start: 3362
    functionDepth: 0
    functionLinenumber: 3362
    functionLinenumberEnd: 3417
    functionName: test_writev_async_all
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - G_IO_STREAM
    - g_io_stream_close
    - g_assert_true
    - g_object_unref
    - G_N_ELEMENTS
    - g_assert_nonnull
    - g_assert_cmpuint
    - g_file_delete
    - g_file_new_tmp
    - g_assert_no_error
    - g_output_stream_writev_all_async
    - g_assert_cmpmem
    - g_io_stream_get_output_stream
    - g_main_context_iteration
    - g_free
    - g_file_load_contents
    linkageType: ''
    returnType: void
    signature: 'static void test_writev_async_all (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/file.c:3451,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:3451,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/file.c:3453,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:3461,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/file.c:3462,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/file.c:3463,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3479,1
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/file.c:3446,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3448,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/file.c:3454,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3466,1
    - Dst: g_file_load_contents
      Src: /src/glib/gio/tests/file.c:3470,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3471,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:3473,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3449,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/file.c:3456,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3468,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:3475,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:3477,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3478,1
    - Dst: g_output_stream_writev_all_async
      Src: /src/glib/gio/tests/file.c:3456,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/file.c:3459,1
    - Dst: g_io_stream_close
      Src: /src/glib/gio/tests/file.c:3465,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:3465,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3467,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3472,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3480
      start: 3420
    functionDepth: 0
    functionLinenumber: 3420
    functionLinenumberEnd: 3480
    functionName: test_writev_async_all_cancellation
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - G_IO_STREAM
    - g_cancellable_cancel
    - g_assert_true
    - g_object_unref
    - G_N_ELEMENTS
    - g_assert_nonnull
    - g_file_delete
    - g_file_new_tmp
    - g_output_stream_writev_all_async
    - g_io_stream_get_output_stream
    - g_file_load_contents
    - g_io_stream_close
    - g_assert_cmpuint
    - g_assert_no_error
    - g_cancellable_new
    - g_assert_error
    - g_clear_error
    - g_main_context_iteration
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_writev_async_all_cancellation (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_input_stream_skip_finish
      Src: /src/glib/gio/tests/file.c:317,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:323,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:319,1
    - Dst: g_input_stream_read_async
      Src: /src/glib/gio/tests/file.c:321,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:318,1
    - Dst: g_input_stream_read_async
      Src: /src/glib/gio/tests/file.c:329,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:331,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - source
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 336
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 336
    functionName: skipped_cb
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_input_stream_skip_finish
    - strlen
    - g_assert_no_error
    - g_input_stream_read_async
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void skipped_cb (GObject *source, GAsyncResult *res, gpointer
      user_data) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: umask
      Src: /src/glib/gio/tests/file.c:1904,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/gio/tests/file.c:1919,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file.c:1921,1
    - Dst: create_test_file
      Src: /src/glib/gio/tests/file.c:1940,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1963,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:1965,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:1967,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/file.c:1973,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/file.c:1976,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:1976,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:1982,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:1985,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2006,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:2037,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:2059,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:1973,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2028,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/file.c:2012,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2022,1
    - Dst: check_test_file
      Src: /src/glib/gio/tests/file.c:2040,1
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/file.c:1900,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:1932,1
    - Dst: g_file_replace_readwrite
      Src: /src/glib/gio/tests/file.c:1947,1
    - Dst: g_io_stream_close
      Src: /src/glib/gio/tests/file.c:1985,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/file.c:1994,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:1994,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/tests/file.c:2003,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2010,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:2015,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:1982,1
    - Dst: g_file_enumerate_children
      Src: /src/glib/gio/tests/file.c:2019,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/file.c:2003,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:2051,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/file.c:2054,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:1931,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gio/tests/file.c:1406,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/file.c:1905,1
    - Dst: umask
      Src: /src/glib/gio/tests/file.c:1410,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1920,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/file.c:1923,1
    - Dst: check_cap_dac_override
      Src: /src/glib/gio/tests/file.c:1925,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/file.c:1927,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:1937,1
    - Dst: create_test_file
      Src: /src/glib/gio/tests/file.c:1941,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1930,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:2035,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:2000,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:2063,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:2000,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:2045,1
    - Dst: g_file_enumerator_iterate
      Src: /src/glib/gio/tests/file.c:2027,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/file.c:2049,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:2044,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/file.c:1907,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:1929,1
    - Dst: g_file_replace
      Src: /src/glib/gio/tests/file.c:1954,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1981,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/file.c:1994,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1999,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/file.c:2014,1
    - Dst: check_test_file
      Src: /src/glib/gio/tests/file.c:2039,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:2050,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:2016,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:2056,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1988,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/file.c:1976,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2060,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:2064,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/file.c:2067,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:2062,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:2055,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 107
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 2069
      start: 1402
    functionDepth: 0
    functionLinenumber: 1402
    functionLinenumberEnd: 2069
    functionName: test_replace
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - G_IO_STREAM
    - GPOINTER_TO_UINT
    - check_cap_dac_override
    - G_N_ELEMENTS
    - g_output_stream_close
    - g_assert_nonnull
    - g_file_delete
    - g_clear_object
    - create_test_file
    - g_output_stream_write_all
    - g_io_stream_get_output_stream
    - g_test_skip
    - G_OUTPUT_STREAM
    - g_assert_cmpint
    - g_file_new_for_path
    - g_io_stream_close
    - g_file_replace
    - strlen
    - g_test_message
    - g_file_replace_readwrite
    - g_assert_cmpuint
    - g_file_enumerate_children
    - g_assert_no_error
    - g_file_get_child
    - g_dir_make_tmp
    - g_assert_error
    - g_clear_error
    - g_test_summary
    - umask
    - check_test_file
    - g_free
    - g_file_enumerator_iterate
    linkageType: ''
    returnType: void
    signature: 'static void test_replace (gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/file.c:2237,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/file.c:2243,1
    - Dst: g_file_new_tmp_dir_async
      Src: /src/glib/gio/tests/file.c:2245,1
    - Dst: g_file_new_tmp_dir_async
      Src: /src/glib/gio/tests/file.c:2240,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/file.c:2248,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/file.c:2249,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/file.c:2250,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/file.c:2252,1
    - Dst: g_file_new_tmp_dir_async
      Src: /src/glib/gio/tests/file.c:2253,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/file.c:2256,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/file.c:2257,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/file.c:2260,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:2259,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/file.c:2258,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/file.c:2262,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2263
      start: 2229
    functionDepth: 0
    functionLinenumber: 2229
    functionLinenumberEnd: 2263
    functionName: test_async_new_tmp_dir
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_main_loop_run
    - g_main_loop_unref
    - g_main_loop_new
    - g_clear_object
    - g_file_new_tmp_dir_async
    - g_cancellable_cancel
    - g_cancellable_new
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_async_new_tmp_dir (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_read_finish
      Src: /src/glib/gio/tests/file.c:348,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/tests/file.c:352,1
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/file.c:352,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:349,1
    - Dst: g_buffered_input_stream_new_sized
      Src: /src/glib/gio/tests/file.c:354,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/tests/file.c:354,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:355,1
    - Dst: g_new0
      Src: /src/glib/gio/tests/file.c:357,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:357,1
    - Dst: memcpy
      Src: /src/glib/gio/tests/file.c:360,1
    - Dst: g_input_stream_skip_async
      Src: /src/glib/gio/tests/file.c:363,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - source
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 369
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 369
    functionName: opened_cb
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - memcpy
    - g_buffered_input_stream_new_sized
    - g_object_unref
    - g_file_read_finish
    - strlen
    - g_assert_no_error
    - g_object_ref
    - g_new0
    - G_INPUT_STREAM
    - g_input_stream_skip_async
    linkageType: ''
    returnType: void
    signature: 'static void opened_cb (GObject *source, GAsyncResult *res, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:2090,1
    - Dst: g_file_get_basename
      Src: /src/glib/gio/tests/file.c:2092,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:2093,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:2106,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2101,1
    - Dst: g_get_tmp_dir
      Src: /src/glib/gio/tests/file.c:2104,1
    - Dst: g_file_info_get_file_type
      Src: /src/glib/gio/tests/file.c:2099,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:2110,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:2114,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/tests/file.c:2093,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2097,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:2111,1
    - Dst: g_file_io_stream_query_info
      Src: /src/glib/gio/tests/file.c:2095,1
    - Dst: g_file_get_parent
      Src: /src/glib/gio/tests/file.c:2103,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:2099,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file.c:2104,1
    - Dst: g_file_equal
      Src: /src/glib/gio/tests/file.c:2106,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:2112,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:2085,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file.c:2090,1
    - Dst: g_file_new_tmp_finish
      Src: /src/glib/gio/tests/file.c:2087,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2088,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:2100,1
    - Dst: g_io_stream_close
      Src: /src/glib/gio/tests/file.c:2100,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/file.c:2108,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:2113,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:2115,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2116
      start: 2071
    functionDepth: 0
    functionLinenumber: 2071
    functionLinenumberEnd: 2116
    functionName: on_new_tmp_done
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - G_IO_STREAM
    - g_assert_null
    - g_file_query_exists
    - g_assert_true
    - g_object_unref
    - g_file_get_parent
    - g_file_new_for_path
    - g_io_stream_close
    - g_file_info_get_file_type
    - g_file_equal
    - g_assert_cmpuint
    - g_assert_no_error
    - g_file_new_tmp_finish
    - g_file_get_basename
    - g_str_has_prefix
    - g_file_io_stream_query_info
    - g_main_loop_quit
    - g_get_tmp_dir
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void on_new_tmp_done (GObject *object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_delete_finish
      Src: /src/glib/gio/tests/file.c:2273,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2274,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/file.c:2276,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2277
      start: 2265
    functionDepth: 0
    functionLinenumber: 2265
    functionLinenumberEnd: 2277
    functionName: on_file_deleted
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_assert_no_error
    - g_main_loop_quit
    - g_file_delete_finish
    linkageType: ''
    returnType: void
    signature: "static void on_file_deleted (GObject *object,\t\t GAsyncResult *result,\t\
      \t gpointer user_data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2499,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:2520,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:2524,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:2528,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/file.c:2531,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/file.c:2514,1
    - Dst: umask
      Src: /src/glib/gio/tests/file.c:2470,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/file.c:2483,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2495,1
    - Dst: g_io_stream_close
      Src: /src/glib/gio/tests/file.c:2500,1
    - Dst: g_file_copy
      Src: /src/glib/gio/tests/file.c:2510,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2512,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:2521,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:2523,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:2506,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:2502,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/glib/gio/tests/file.c:2518,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2516,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:2527,1
    - Dst: g_file_set_attribute
      Src: /src/glib/gio/tests/file.c:2492,1
    - Dst: umask
      Src: /src/glib/gio/tests/file.c:2438,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/file.c:2473,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/file.c:2471,1
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/file.c:2485,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2487,1
    - Dst: g_io_stream_close
      Src: /src/glib/gio/tests/file.c:2488,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2489,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:2490,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2501,1
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/file.c:2497,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:2526,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2507,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 76
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2533
      start: 2434
    functionDepth: 0
    functionLinenumber: 2434
    functionLinenumberEnd: 2533
    functionName: test_copy_preserve_mode
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_io_stream_close
    - g_file_query_info
    - umask
    - g_test_message
    - G_N_ELEMENTS
    - g_file_delete
    - g_file_new_tmp
    - g_assert_no_error
    - g_clear_object
    - g_file_set_attribute
    - g_file_info_get_attribute_uint32
    - g_file_copy
    - g_test_skip
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_copy_preserve_mode (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE
      Src: /src/glib/gio/tests/file.c:3755,1
    - Dst: g_file_move_finish
      Src: /src/glib/gio/tests/file.c:3759,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 3762
      start: 3750
    functionDepth: 0
    functionLinenumber: 3750
    functionLinenumberEnd: 3762
    functionName: test_move_async_cb
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_file_move_finish
    - G_FILE
    linkageType: ''
    returnType: void
    signature: 'static void test_move_async_cb (GObject *object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/file.c:3865,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3870,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file.c:3873,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/file.c:3885,1
    - Dst: g_file_move_async_with_closures
      Src: /src/glib/gio/tests/file.c:3887,1
    - Dst: g_cclosure_new
      Src: /src/glib/gio/tests/file.c:3885,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/file.c:3896,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3905,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3908,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3909,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:3912,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:3919,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3871,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file.c:3875,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/file.c:3880,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3899,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file.c:3904,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3916,1
    - Dst: g_build_path
      Src: /src/glib/gio/tests/file.c:3867,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file.c:3868,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3874,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file.c:3876,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3882,1
    - Dst: g_cclosure_new
      Src: /src/glib/gio/tests/file.c:3884,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/file.c:3884,1
    - Dst: g_output_stream_write
      Src: /src/glib/gio/tests/file.c:3881,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:3900,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:3907,1
    - Dst: g_get_tmp_dir
      Src: /src/glib/gio/tests/file.c:3867,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:3880,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3898,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file.c:3902,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file.c:3903,1
    - Dst: g_io_stream_close
      Src: /src/glib/gio/tests/file.c:3907,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3910,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3917,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3913,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3914,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 52
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3920
      start: 3849
    functionDepth: 0
    functionLinenumber: 3849
    functionLinenumberEnd: 3920
    functionName: test_move_async_with_closures
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - G_IO_STREAM
    - g_file_move_async_with_closures
    - g_file_query_exists
    - g_assert_true
    - g_object_unref
    - g_assert_nonnull
    - g_file_delete
    - g_file_new_tmp
    - g_assert_false
    - g_io_stream_get_output_stream
    - g_output_stream_write
    - g_file_new_for_path
    - g_io_stream_close
    - g_assert_cmpuint
    - g_assert_no_error
    - g_build_path
    - g_cclosure_new
    - G_CALLBACK
    - g_get_tmp_dir
    - g_main_context_iteration
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_move_async_with_closures (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_app_info_create_from_commandline
      Src: /src/glib/gio/tests/file.c:3930,1
    - Dst: g_app_info_set_as_default_for_type
      Src: /src/glib/gio/tests/file.c:3936,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3934,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/tests/file.c:3939,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3937,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3940
      start: 3922
    functionDepth: 0
    functionLinenumber: 3922
    functionLinenumberEnd: 3940
    functionName: create_command_line_app_info
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_assert_no_error
    - g_steal_pointer
    - g_app_info_create_from_commandline
    - g_app_info_set_as_default_for_type
    linkageType: ''
    returnType: GAppInfo*
    signature: 'static GAppInfo *create_command_line_app_info (const char *name, const
      char *command_line, const char *default_for_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4358,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4359,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4360,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4361,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/tests/file.c:4363,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/file.c:4364,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/tests/file.c:4364,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/tests/file.c:4362,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/file.c:4362,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/file.c:4363,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4383,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4400,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/tests/file.c:4372,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4381,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4398,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4369,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4388,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4405,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4387,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4404,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4367,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4385,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4402,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/file.c:4410,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4375,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4392,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/tests/file.c:4371,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4373,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4390,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4407,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/file.c:4371,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4380,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4397,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4396,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4401,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4377,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4394,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4395,1
    - Dst: setlocale
      Src: /src/glib/gio/tests/file.c:4350,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4356,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4355,1
    - Dst: g_test_init
      Src: /src/glib/gio/tests/file.c:4352,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4354,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4357,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/file.c:4365,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/file.c:4366,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/tests/file.c:4365,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/tests/file.c:4366,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4384,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4382,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4399,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/file.c:4372,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4389,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4406,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4368,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4386,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4403,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4376,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4393,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4374,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4391,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4408,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4370,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4379,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/file.c:4378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 66
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 4411
      start: 4347
    functionDepth: 0
    functionLinenumber: 4347
    functionLinenumberEnd: 4411
    functionName: main
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_add_data_func
    - GUINT_TO_POINTER
    - g_test_run
    - setlocale
    - GINT_TO_POINTER
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_load_contents_finish
      Src: /src/glib/gio/tests/file.c:628,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:631,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:631,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:629,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:630,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/file.c:632,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:634,1
    - Dst: g_file_replace_contents_async
      Src: /src/glib/gio/tests/file.c:641,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:643,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:654,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:656,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file.c:657,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/file.c:659,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file.c:657,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:655,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - source
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 661
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 661
    functionName: loaded_cb
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - strlen
    - g_file_delete
    - g_assert_cmpstr
    - g_assert_no_error
    - g_file_load_contents_finish
    - g_assert_false
    - g_file_query_exists
    - g_main_loop_quit
    - g_file_replace_contents_async
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void loaded_cb (GObject *source, GAsyncResult *res, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_replace_contents_finish
      Src: /src/glib/gio/tests/file.c:672,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:673,1
    - Dst: g_file_load_contents_async
      Src: /src/glib/gio/tests/file.c:675,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - source
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 676
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 676
    functionName: replaced_cb
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_assert_no_error
    - g_file_load_contents_async
    - g_file_replace_contents_finish
    linkageType: ''
    returnType: void
    signature: 'static void replaced_cb (GObject *source, GAsyncResult *res, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/file.c:3315,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3317,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3335,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3334,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:3345,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:3346,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:3318,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/file.c:3321,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3333,1
    - Dst: g_file_load_contents
      Src: /src/glib/gio/tests/file.c:3337,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:3332,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3339,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/gio/tests/file.c:3341,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/file.c:3323,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:3323,1
    - Dst: g_output_stream_writev_async
      Src: /src/glib/gio/tests/file.c:3325,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/file.c:3328,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:3330,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:3343,1
    - Dst: g_io_stream_close
      Src: /src/glib/gio/tests/file.c:3332,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3338,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3347
      start: 3290
    functionDepth: 0
    functionLinenumber: 3290
    functionLinenumberEnd: 3347
    functionName: test_writev_async
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - G_IO_STREAM
    - g_output_stream_writev_async
    - g_io_stream_close
    - g_assert_true
    - g_object_unref
    - G_N_ELEMENTS
    - g_assert_nonnull
    - g_assert_cmpuint
    - g_file_delete
    - g_file_new_tmp
    - g_assert_no_error
    - g_assert_cmpmem
    - g_io_stream_get_output_stream
    - g_main_context_iteration
    - g_free
    - g_file_load_contents
    linkageType: ''
    returnType: void
    signature: 'static void test_writev_async (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/file.c:3260,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:3268,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:3267,1
    - Dst: g_output_stream_writev_finish
      Src: /src/glib/gio/tests/file.c:3266,1
    - Dst: g_output_stream_writev_async
      Src: /src/glib/gio/tests/file.c:3286,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 3287
      start: 3255
    functionDepth: 0
    functionLinenumber: 3255
    functionLinenumberEnd: 3287
    functionName: test_writev_async_cb
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_output_stream_writev_finish
    - g_output_stream_writev_async
    - g_assert_true
    - g_assert_no_error
    - G_OUTPUT_STREAM
    linkageType: ''
    returnType: void
    signature: 'static void test_writev_async_cb (GObject *object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_input_stream_read_finish
      Src: /src/glib/gio/tests/file.c:271,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:275,1
    - Dst: g_input_stream_read_async
      Src: /src/glib/gio/tests/file.c:277,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:279,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:272,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/file.c:287,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file.c:288,1
    - Dst: g_input_stream_is_closed
      Src: /src/glib/gio/tests/file.c:288,1
    - Dst: g_input_stream_close_async
      Src: /src/glib/gio/tests/file.c:289,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - source
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 291
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 291
    functionName: read_cb
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - strlen
    - g_input_stream_read_finish
    - g_assert_cmpstr
    - g_assert_no_error
    - g_input_stream_read_async
    - g_input_stream_is_closed
    - g_assert_false
    - g_input_stream_close_async
    linkageType: ''
    returnType: void
    signature: 'static void read_cb (GObject *source, GAsyncResult *res, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mkstemp
      Src: /src/glib/gio/tests/file.c:2853,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:2854,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:2857,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:2855,1
    - Dst: write
      Src: /src/glib/gio/tests/file.c:2856,1
    - Dst: g_clear_fd
      Src: /src/glib/gio/tests/file.c:2858,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2859,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file.c:2861,1
    - Dst: g_file_load_bytes
      Src: /src/glib/gio/tests/file.c:2862,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2863,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:2864,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/file.c:2866,1
    - Dst: g_bytes_get_data
      Src: /src/glib/gio/tests/file.c:2866,1
    - Dst: g_bytes_get_size
      Src: /src/glib/gio/tests/file.c:2865,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:2871,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:2868,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/tests/file.c:2870,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:2865,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2872
      start: 2842
    functionDepth: 0
    functionLinenumber: 2842
    functionLinenumberEnd: 2872
    functionName: test_load_bytes
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - write
    - g_file_new_for_path
    - g_object_unref
    - strlen
    - g_assert_nonnull
    - g_mkstemp
    - g_file_delete
    - g_assert_cmpstr
    - g_bytes_unref
    - g_assert_no_error
    - g_bytes_get_size
    - g_clear_fd
    - g_file_load_bytes
    - g_bytes_get_data
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_load_bytes (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_input_stream_read_finish
      Src: /src/glib/gio/tests/file.c:302,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/file.c:304,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/file.c:303,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - source
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 305
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 305
    functionName: ipending_cb
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_error_free
    - g_input_stream_read_finish
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void ipending_cb (GObject *source, GAsyncResult *res, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - current_num_bytes
    - total_num_bytes
    - user_data
    argTypes:
    - goffset
    - goffset
    - void*
    constantsTouched: []
    func_position:
      end: 2642
      start: 2635
    functionDepth: 0
    functionLinenumber: 2635
    functionLinenumberEnd: 2642
    functionName: test_copy_async_progress_cb
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_copy_async_progress_cb (goffset current_num_bytes,
      goffset total_num_bytes, void *user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file.c:88,1
    - Dst: g_file_has_parent
      Src: /src/glib/gio/tests/file.c:92,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:92,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file.c:90,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file.c:89,1
    - Dst: g_file_get_parent
      Src: /src/glib/gio/tests/file.c:94,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:95,1
    - Dst: g_file_equal
      Src: /src/glib/gio/tests/file.c:95,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:96,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:98,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:101,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:100,1
    - Dst: g_file_get_parent
      Src: /src/glib/gio/tests/file.c:98,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:102,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 103
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 103
    functionName: test_parent
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_file_new_for_path
    - g_assert_true
    - g_object_unref
    - g_assert_null
    - g_file_equal
    - g_file_has_parent
    - g_file_get_parent
    linkageType: ''
    returnType: void
    signature: 'static void test_parent (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/tests/file.c:685,1
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/file.c:689,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:692,1
    - Dst: g_file_peek_path
      Src: /src/glib/gio/tests/file.c:694,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:691,1
    - Dst: remove
      Src: /src/glib/gio/tests/file.c:695,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file.c:697,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file.c:697,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/file.c:699,1
    - Dst: g_file_replace_contents_async
      Src: /src/glib/gio/tests/file.c:701,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:703,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/file.c:711,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:714,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/file.c:713,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:715,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 716
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 716
    functionName: test_replace_load
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_main_loop_run
    - g_object_unref
    - strlen
    - remove
    - g_assert_nonnull
    - g_free
    - g_main_loop_unref
    - g_file_new_tmp
    - g_main_loop_new
    - g_file_query_exists
    - g_assert_false
    - g_file_peek_path
    - g_new0
    - g_file_replace_contents_async
    linkageType: ''
    returnType: void
    signature: 'static void test_replace_load (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_measure_disk_usage_finish
      Src: /src/glib/gio/tests/file.c:2796,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:2800,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2798,1
    - Dst: G_FILE
      Src: /src/glib/gio/tests/file.c:2796,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:2797,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:2801,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:2802,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:2804,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:2805,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:2806,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:2807,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:2809,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:2810,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - source
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2811
      start: 2786
    functionDepth: 0
    functionLinenumber: 2786
    functionLinenumberEnd: 2811
    functionName: measure_done
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_file_measure_disk_usage_finish
    - g_assert_true
    - g_object_unref
    - g_assert_cmpuint
    - g_assert_no_error
    - G_FILE
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void measure_done (GObject *source, GAsyncResult *res, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_FILE
      Src: /src/glib/gio/tests/file.c:2886,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2891,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/file.c:2894,1
    - Dst: g_file_load_bytes_finish
      Src: /src/glib/gio/tests/file.c:2890,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:2892,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2895
      start: 2881
    functionDepth: 0
    functionLinenumber: 2881
    functionLinenumberEnd: 2895
    functionName: test_load_bytes_cb
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_file_load_bytes_finish
    - g_assert_no_error
    - g_main_loop_quit
    - G_FILE
    linkageType: ''
    returnType: void
    signature: 'static void test_load_bytes_cb (GObject *object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file.c:112,1
    - Dst: g_file_get_child_for_display_name
      Src: /src/glib/gio/tests/file.c:116,1
    - Dst: g_file_has_parent
      Src: /src/glib/gio/tests/file.c:114,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/file.c:113,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:114,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:117,1
    - Dst: g_file_has_parent
      Src: /src/glib/gio/tests/file.c:117,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:119,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:120,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 122
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 122
    functionName: test_child
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_file_new_for_path
    - g_assert_true
    - g_object_unref
    - g_file_get_child_for_display_name
    - g_file_get_child
    - g_file_has_parent
    linkageType: ''
    returnType: void
    signature: 'static void test_child (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:737,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:745,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/file.c:750,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:751,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:754,1
    - Dst: G_IS_FILE
      Src: /src/glib/gio/tests/file.c:811,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:814,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:817,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:818,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/file.c:825,1
    - Dst: g_file_load_contents
      Src: /src/glib/gio/tests/file.c:831,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:846,1
    - Dst: g_file_enumerator_close
      Src: /src/glib/gio/tests/file.c:816,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:783,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:805,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:843,1
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/file.c:732,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:735,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:748,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:754,1
    - Dst: g_file_enumerate_children
      Src: /src/glib/gio/tests/file.c:759,1
    - Dst: g_file_enumerator_next_file
      Src: /src/glib/gio/tests/file.c:762,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:763,1
    - Dst: g_file_enumerator_next_file
      Src: /src/glib/gio/tests/file.c:766,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:767,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:772,1
    - Dst: g_file_enumerate_children
      Src: /src/glib/gio/tests/file.c:796,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:806,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:811,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/file.c:823,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:848,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/file.c:824,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:797,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/file.c:822,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:792,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/gio/tests/file.c:734,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/file.c:739,1
    - Dst: g_file_replace_contents
      Src: /src/glib/gio/tests/file.c:740,1
    - Dst: g_file_replace
      Src: /src/glib/gio/tests/file.c:747,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/file.c:750,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:753,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:768,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:773,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:784,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:789,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:793,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:837,1
    - Dst: g_file_enumerate_children
      Src: /src/glib/gio/tests/file.c:776,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/tests/file.c:823,1
    - Dst: g_file_enumerator_iterate
      Src: /src/glib/gio/tests/file.c:782,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file.c:736,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:742,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:760,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:764,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:765,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:769,1
    - Dst: g_file_enumerator_close
      Src: /src/glib/gio/tests/file.c:771,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:777,1
    - Dst: g_file_enumerator_close
      Src: /src/glib/gio/tests/file.c:791,1
    - Dst: g_file_enumerator_iterate
      Src: /src/glib/gio/tests/file.c:803,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:828,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:839,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:842,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/file.c:838,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:847,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/file.c:821,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:841,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:827,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 85
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 849
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 849
    functionName: test_replace_cancel
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_file_enumerator_close
    - g_file_enumerator_next_file
    - g_assert_true
    - g_object_unref
    - g_output_stream_close
    - g_assert_nonnull
    - g_file_delete
    - g_test_bug
    - g_file_replace_contents
    - g_output_stream_write_all
    - g_file_load_contents
    - G_OUTPUT_STREAM
    - g_assert_cmpint
    - g_file_new_for_path
    - g_file_replace
    - strlen
    - g_file_enumerate_children
    - g_assert_no_error
    - g_file_get_child
    - g_dir_make_tmp
    - g_cancellable_new
    - g_assert_error
    - g_clear_error
    - g_assert_cmpstr
    - g_cancellable_cancel
    - G_IS_FILE
    - g_free
    - g_file_enumerator_iterate
    linkageType: ''
    returnType: void
    signature: 'static void test_replace_cancel (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new
      Src: /src/glib/gio/tests/file.c:2820,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:2829,1
    - Dst: g_test_build_filename
      Src: /src/glib/gio/tests/file.c:2827,1
    - Dst: g_file_measure_disk_usage_async
      Src: /src/glib/gio/tests/file.c:2835,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file.c:2828,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2840
      start: 2813
    functionDepth: 0
    functionLinenumber: 2813
    functionLinenumberEnd: 2840
    functionName: test_measure_async
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_file_new_for_path
    - g_test_build_filename
    - g_new
    - g_file_measure_disk_usage_async
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_measure_async (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_fd
      Src: /src/glib/gio/tests/file.c:2912,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file.c:2916,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:2921,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/tests/file.c:2926,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:2925,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/file.c:2927,1
    - Dst: write
      Src: /src/glib/gio/tests/file.c:2910,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:2911,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2913,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/file.c:2915,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/file.c:2919,1
    - Dst: g_bytes_get_data
      Src: /src/glib/gio/tests/file.c:2922,1
    - Dst: g_mkstemp
      Src: /src/glib/gio/tests/file.c:2907,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:2908,1
    - Dst: strlen
      Src: /src/glib/gio/tests/file.c:2909,1
    - Dst: g_file_load_bytes_async
      Src: /src/glib/gio/tests/file.c:2918,1
    - Dst: g_bytes_get_size
      Src: /src/glib/gio/tests/file.c:2921,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/file.c:2922,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/file.c:2924,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2928
      start: 2897
    functionDepth: 0
    functionLinenumber: 2897
    functionLinenumberEnd: 2928
    functionName: test_load_bytes_async
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - write
    - g_file_new_for_path
    - g_main_loop_run
    - g_object_unref
    - strlen
    - g_file_load_bytes_async
    - g_mkstemp
    - g_file_delete
    - g_assert_cmpstr
    - g_bytes_unref
    - g_assert_no_error
    - g_main_loop_new
    - g_bytes_get_size
    - g_clear_fd
    - g_main_loop_unref
    - g_bytes_get_data
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_load_bytes_async (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/tests/file.c:177,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:180,1
    - Dst: g_file_get_parse_name
      Src: /src/glib/gio/tests/file.c:178,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/file.c:179,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:181,1
    - Dst: g_file_parse_name
      Src: /src/glib/gio/tests/file.c:183,1
    - Dst: g_file_get_parse_name
      Src: /src/glib/gio/tests/file.c:184,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:185,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:186,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 188
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 188
    functionName: test_parse_name
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_file_get_parse_name
    - g_object_unref
    - g_file_new_for_uri
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_file_parse_name
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_parse_name (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_writev_helper
      Src: /src/glib/gio/tests/file.c:3190,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/file.c:3190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3191
      start: 3178
    functionDepth: 0
    functionLinenumber: 3178
    functionLinenumberEnd: 3191
    functionName: test_writev_empty_vectors
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - test_writev_helper
    linkageType: ''
    returnType: void
    signature: 'static void test_writev_empty_vectors (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/file.c:4000,1
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/file.c:4010,1
    - Dst: g_io_stream_close
      Src: /src/glib/gio/tests/file.c:4013,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:4011,1
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/file.c:4008,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:4013,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:4014,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:4015,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/file.c:4018,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:4022,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/file.c:4027,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:4030,1
    - Dst: g_file_info_get_content_type
      Src: /src/glib/gio/tests/file.c:4027,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:4031,1
    - Dst: g_file_info_get_content_type
      Src: /src/glib/gio/tests/file.c:4025,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/file.c:4025,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4032
      start: 3992
    functionDepth: 0
    functionLinenumber: 3992
    functionLinenumberEnd: 4032
    functionName: test_query_zero_length_content_type
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_io_stream_close
    - G_IO_STREAM
    - g_file_query_info
    - g_test_summary
    - g_test_bug
    - g_file_new_tmp
    - g_assert_cmpstr
    - g_assert_no_error
    - g_clear_object
    - g_file_info_get_content_type
    linkageType: ''
    returnType: void
    signature: 'static void test_query_zero_length_content_type (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file.c:4286,1
    - Dst: g_get_tmp_dir
      Src: /src/glib/gio/tests/file.c:4286,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:4294,1
    - Dst: g_file_enumerate_children
      Src: /src/glib/gio/tests/file.c:4289,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:4287,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/file.c:4296,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/file.c:4297,1
    - Dst: g_file_enumerator_next_file
      Src: /src/glib/gio/tests/file.c:4298,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:4299,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/file.c:4300,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:4304,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:4303,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/file.c:4302,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:4305,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4306
      start: 4277
    functionDepth: 0
    functionLinenumber: 4277
    functionLinenumberEnd: 4306
    functionName: test_enumerator_cancellation
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_file_new_for_path
    - g_file_enumerator_next_file
    - g_object_unref
    - g_assert_null
    - g_assert_nonnull
    - g_file_enumerate_children
    - g_error_free
    - g_get_tmp_dir
    - g_cancellable_cancel
    - g_cancellable_new
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_enumerator_cancellation (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: skip_missing_update_desktop_database
      Src: /src/glib/gio/tests/file.c:4048,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:4071,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:4064,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/file.c:4076,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/file.c:4081,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:4081,1
    - Dst: g_output_stream_flush
      Src: /src/glib/gio/tests/file.c:4087,1
    - Dst: g_file_query_default_handler
      Src: /src/glib/gio/tests/file.c:4094,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/file.c:4096,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:4102,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:4106,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:4094,1
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/file.c:4078,1
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/file.c:4051,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/file.c:4054,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/file.c:4055,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/file.c:4055,1
    - Dst: g_output_stream_flush
      Src: /src/glib/gio/tests/file.c:4059,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:4063,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:4067,1
    - Dst: create_command_line_app_info
      Src: /src/glib/gio/tests/file.c:4066,1
    - Dst: g_app_info_equal
      Src: /src/glib/gio/tests/file.c:4071,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file.c:4073,1
    - Dst: g_app_info_remove_supports_type
      Src: /src/glib/gio/tests/file.c:4098,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:4105,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:4103,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:4091,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:4092,1
    - Dst: g_app_info_reset_type_associations
      Src: /src/glib/gio/tests/file.c:4100,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/file.c:4054,1
    - Dst: G_IS_APP_INFO
      Src: /src/glib/gio/tests/file.c:4067,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:4070,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:4074,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/file.c:4075,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/file.c:4095,1
    - Dst: g_file_query_default_handler
      Src: /src/glib/gio/tests/file.c:4074,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:4099,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:4104,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:4052,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:4057,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:4060,1
    - Dst: g_file_query_default_handler
      Src: /src/glib/gio/tests/file.c:4069,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/tests/file.c:4062,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:4079,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/file.c:4082,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/file.c:4083,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:4088,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/tests/file.c:4090,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:4085,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 58
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4107
      start: 4034
    functionDepth: 0
    functionLinenumber: 4034
    functionLinenumberEnd: 4107
    functionName: test_query_default_handler_file
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - G_IO_STREAM
    - g_assert_null
    - g_output_stream_flush
    - g_file_query_default_handler
    - g_assert_true
    - g_object_unref
    - skip_missing_update_desktop_database
    - G_N_ELEMENTS
    - g_output_stream_close
    - g_file_new_tmp
    - g_clear_object
    - g_output_stream_write_all
    - create_command_line_app_info
    - g_io_stream_get_output_stream
    - g_file_new_for_path
    - G_IS_APP_INFO
    - g_assert_no_error
    - g_assert_error
    - g_clear_error
    - g_app_info_reset_type_associations
    - g_app_info_remove_supports_type
    - g_app_info_equal
    linkageType: ''
    returnType: void
    signature: 'static void test_query_default_handler_file (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_query_default_handler_finish
      Src: /src/glib/gio/tests/file.c:4122,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/file.c:4124,1
    - Dst: G_FILE
      Src: /src/glib/gio/tests/file.c:4122,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 4125
      start: 4115
    functionDepth: 0
    functionLinenumber: 4115
    functionLinenumberEnd: 4125
    functionName: on_query_default
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_file_query_default_handler_finish
    - g_main_loop_quit
    - G_FILE
    linkageType: ''
    returnType: void
    signature: 'static void on_query_default (GObject *source, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gio/tests/file.c:4316,1
    - Dst: g_file_get_path
      Src: /src/glib/gio/tests/file.c:4326,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:4328,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/tests/file.c:4325,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/file.c:4327,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:4329,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:4330,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - uri
    - expected_path
    argTypes:
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 4331
      start: 4308
    functionDepth: 0
    functionLinenumber: 4308
    functionLinenumberEnd: 4331
    functionName: test_path_from_uri_helper
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_object_unref
    - g_file_new_for_uri
    - g_assert_cmpstr
    - g_file_get_path
    - g_free
    linkageType: ''
    returnType: void
    signature: "static void test_path_from_uri_helper (const gchar *uri,\t\t\t const\
      \ gchar *expected_path) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_writev_helper
      Src: /src/glib/gio/tests/file.c:3174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3175
      start: 3171
    functionDepth: 0
    functionLinenumber: 3171
    functionLinenumberEnd: 3175
    functionName: test_writev_no_vectors
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - test_writev_helper
    linkageType: ''
    returnType: void
    signature: 'static void test_writev_no_vectors (void) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/file.c:1114,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/file.c:1115,1
    - Dst: g_file_peek_path
      Src: /src/glib/gio/tests/file.c:1135,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1136,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/file.c:1147,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:1143,1
    - Dst: mknod
      Src: /src/glib/gio/tests/file.c:1153,1
    - Dst: g_file_peek_path
      Src: /src/glib/gio/tests/file.c:1156,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1157,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1165,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/file.c:1123,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/file.c:1131,1
    - Dst: g_file_set_contents
      Src: /src/glib/gio/tests/file.c:1135,1
    - Dst: g_file_set_attribute_uint32
      Src: /src/glib/gio/tests/file.c:1138,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1141,1
    - Dst: g_assert_no_errno
      Src: /src/glib/gio/tests/file.c:1153,1
    - Dst: g_file_make_directory
      Src: /src/glib/gio/tests/file.c:1149,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1172,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:1186,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/file.c:1116,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/file.c:1133,1
    - Dst: g_file_peek_path
      Src: /src/glib/gio/tests/file.c:1153,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/file.c:1162,1
    - Dst: g_file_make_symbolic_link
      Src: /src/glib/gio/tests/file.c:1164,1
    - Dst: g_file_set_attribute_uint32
      Src: /src/glib/gio/tests/file.c:1169,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:1185,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/tests/file.c:1188,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:1150,1
    - Dst: g_file_set_contents
      Src: /src/glib/gio/tests/file.c:1156,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file.c:1178,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/file.c:1182,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file.c:1178,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1108
    functionDepth: 0
    functionLinenumber: 1108
    functionLinenumberEnd: 1189
    functionName: create_test_file
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_file_set_attribute_uint32
    - g_steal_pointer
    - g_strdup_printf
    - g_strdup
    - g_assert
    - g_file_make_directory
    - g_file_set_contents
    - g_file_make_symbolic_link
    - g_assert_not_reached
    - g_assert_no_error
    - g_clear_object
    - g_file_get_child
    - mknod
    - g_file_query_exists
    - g_assert_false
    - g_file_peek_path
    - g_free
    - g_assert_no_errno
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *create_test_file (GFile *tmpdir, const gchar *basename,
      FileTestSetupType setup_type, guint setup_mode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:2184,1
    - Dst: g_file_new_tmp_dir_finish
      Src: /src/glib/gio/tests/file.c:2186,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2196,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:2203,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/file.c:2201,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:2207,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:2211,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:2187,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:2192,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/file.c:2194,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/file.c:2205,1
    - Dst: g_file_equal
      Src: /src/glib/gio/tests/file.c:2203,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:2198,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:2209,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:2210,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:2189,1
    - Dst: g_file_get_basename
      Src: /src/glib/gio/tests/file.c:2191,1
    - Dst: g_file_get_parent
      Src: /src/glib/gio/tests/file.c:2200,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file.c:2189,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/tests/file.c:2192,1
    - Dst: g_get_tmp_dir
      Src: /src/glib/gio/tests/file.c:2201,1
    - Dst: g_file_info_get_file_type
      Src: /src/glib/gio/tests/file.c:2198,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:2208,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2212
      start: 2171
    functionDepth: 0
    functionLinenumber: 2171
    functionLinenumberEnd: 2212
    functionName: on_new_tmp_dir_done
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_file_new_for_path
    - g_file_query_info
    - g_assert_true
    - g_object_unref
    - g_file_info_get_file_type
    - g_assert_null
    - g_file_equal
    - g_file_get_basename
    - g_assert_cmpuint
    - g_assert_no_error
    - g_str_has_prefix
    - g_main_loop_quit
    - g_file_query_exists
    - g_get_tmp_dir
    - g_file_new_tmp_dir_finish
    - g_file_get_parent
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void on_new_tmp_dir_done (GObject *object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - current_num_bytes
    - total_num_bytes
    - user_data
    argTypes:
    - goffset
    - goffset
    - gpointer
    constantsTouched: []
    func_position:
      end: 3776
      start: 3769
    functionDepth: 0
    functionLinenumber: 3769
    functionLinenumberEnd: 3776
    functionName: test_move_async_progress_cb
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_move_async_progress_cb (goffset current_num_bytes,
      goffset total_num_bytes, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:2221,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/file.c:2226,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:2224,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:2223,1
    - Dst: g_file_new_tmp_dir_finish
      Src: /src/glib/gio/tests/file.c:2223,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2227
      start: 2214
    functionDepth: 0
    functionLinenumber: 2214
    functionLinenumberEnd: 2227
    functionName: on_new_tmp_dir_error
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    - g_assert_nonnull
    - g_file_new_tmp_dir_finish
    - g_assert_null
    linkageType: ''
    returnType: void
    signature: 'static void on_new_tmp_dir_error (GObject *object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:2777,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:2778,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/file.c:2779,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - reporting
    - current_size
    - num_dirs
    - num_files
    - user_data
    argTypes:
    - gboolean
    - guint64
    - guint64
    - guint64
    - gpointer
    constantsTouched: []
    func_position:
      end: 2784
      start: 2766
    functionDepth: 0
    functionLinenumber: 2766
    functionLinenumberEnd: 2784
    functionName: measure_progress
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_assert_cmpuint
    linkageType: ''
    returnType: void
    signature: 'static void measure_progress (gboolean reporting, guint64 current_size,
      guint64 num_dirs, guint64 num_files, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/tests/file.c:491,1
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/file.c:497,1
    - Dst: g_file_get_path
      Src: /src/glib/gio/tests/file.c:502,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file.c:505,1
    - Dst: g_file_monitor_set_rate_limit
      Src: /src/glib/gio/tests/file.c:529,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/file.c:531,1
    - Dst: strcmp
      Src: /src/glib/gio/tests/file.c:522,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:550,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:551,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/file.c:552,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:560,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:499,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gio/tests/file.c:493,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/file.c:509,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/file.c:531,1
    - Dst: g_file_monitor_is_cancelled
      Src: /src/glib/gio/tests/file.c:554,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:567,1
    - Dst: remove
      Src: /src/glib/gio/tests/file.c:503,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/file.c:505,1
    - Dst: g_file_monitor_file
      Src: /src/glib/gio/tests/file.c:508,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/tests/file.c:522,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/tests/file.c:523,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/file.c:544,1
    - Dst: g_file_monitor_cancel
      Src: /src/glib/gio/tests/file.c:555,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:556,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/file.c:558,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:559,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:566,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file.c:554,1
    - Dst: g_free
      Src: /src/glib/gio/tests/file.c:565,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:500,1
    - Dst: strcmp
      Src: /src/glib/gio/tests/file.c:523,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/file.c:525,1
    - Dst: g_timeout_add_seconds_once
      Src: /src/glib/gio/tests/file.c:535,1
    - Dst: g_file_create_async
      Src: /src/glib/gio/tests/file.c:537,1
    - Dst: g_source_remove
      Src: /src/glib/gio/tests/file.c:546,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/file.c:548,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/file.c:549,1
    - Dst: g_file_monitor_is_cancelled
      Src: /src/glib/gio/tests/file.c:556,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:564,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/file.c:563,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 65
    argCount: 1
    argNames:
    - d
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 568
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 568
    functionName: test_create_delete
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - strcmp
    - g_file_query_exists
    - g_signal_connect
    - g_file_monitor_set_rate_limit
    - g_assert_true
    - g_object_unref
    - g_assert_nonnull
    - g_file_new_tmp
    - g_clear_pointer
    - g_file_monitor_file
    - g_assert_false
    - g_source_remove
    - g_test_skip
    - g_assert_cmpint
    - GPOINTER_TO_INT
    - g_timeout_add_seconds_once
    - G_OBJECT_TYPE_NAME
    - g_assert_no_error
    - g_file_monitor_is_cancelled
    - g_file_create_async
    - remove
    - g_file_monitor_cancel
    - g_main_context_iteration
    - G_CALLBACK
    - g_file_get_path
    - g_new0
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_create_delete (gconstpointer d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:2126,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:2128,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/file.c:2130,1
    - Dst: g_file_new_tmp_finish
      Src: /src/glib/gio/tests/file.c:2128,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/file.c:2129,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/file.c:2132,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2133
      start: 2118
    functionDepth: 0
    functionLinenumber: 2118
    functionLinenumberEnd: 2133
    functionName: on_new_tmp_error
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    - g_file_new_tmp_finish
    - g_assert_nonnull
    - g_assert_null
    linkageType: ''
    returnType: void
    signature: 'static void on_new_tmp_error (GObject *object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/file.c:2143,1
    - Dst: g_file_new_tmp_async
      Src: /src/glib/gio/tests/file.c:2146,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/file.c:2154,1
    - Dst: g_file_new_tmp_async
      Src: /src/glib/gio/tests/file.c:2151,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/file.c:2149,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/file.c:2155,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/file.c:2156,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/file.c:2158,1
    - Dst: g_file_new_tmp_async
      Src: /src/glib/gio/tests/file.c:2159,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/file.c:2162,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/file.c:2163,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/file.c:2166,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/file.c:2165,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/file.c:2164,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/file.c:2168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2169
      start: 2135
    functionDepth: 0
    functionLinenumber: 2135
    functionLinenumberEnd: 2169
    functionName: test_async_new_tmp
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_main_loop_run
    - g_main_loop_unref
    - g_main_loop_new
    - g_clear_object
    - g_cancellable_cancel
    - g_file_new_tmp_async
    - g_cancellable_new
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_async_new_tmp (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_wakeup
      Src: /src/glib/gio/tests/file.c:477,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 478
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 478
    functionName: stop_timeout
    functionSourceFile: /src/glib/gio/tests/file.c
    functionUses: []
    functionsReached:
    - g_main_context_wakeup
    linkageType: ''
    returnType: void
    signature: 'static void stop_timeout (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/sandbox.c:28,1
    - Dst: glib_get_sandbox_type
      Src: /src/glib/gio/tests/sandbox.c:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: test_sandbox_none
    functionSourceFile: /src/glib/gio/tests/sandbox.c
    functionUses: []
    functionsReached:
    - glib_get_sandbox_type
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_sandbox_none (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_getenv
      Src: /src/glib/gio/tests/sandbox.c:56,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/sandbox.c:57,1
    - Dst: create_fake_snap_yaml
      Src: /src/glib/gio/tests/sandbox.c:60,1
    - Dst: g_setenv
      Src: /src/glib/gio/tests/sandbox.c:61,1
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/sandbox.c:59,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/sandbox.c:63,1
    - Dst: glib_get_sandbox_type
      Src: /src/glib/gio/tests/sandbox.c:63,1
    - Dst: g_unsetenv
      Src: /src/glib/gio/tests/sandbox.c:65,1
    - Dst: g_free
      Src: /src/glib/gio/tests/sandbox.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 67
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 67
    functionName: test_sandbox_snap_classic
    functionSourceFile: /src/glib/gio/tests/sandbox.c
    functionUses: []
    functionsReached:
    - create_fake_snap_yaml
    - g_unsetenv
    - g_getenv
    - g_setenv
    - glib_get_sandbox_type
    - g_assert_nonnull
    - g_build_filename
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_sandbox_snap_classic (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_fake_flatpak_info
      Src: /src/glib/gio/tests/sandbox.c:72,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/sandbox.c:73,1
    - Dst: glib_get_sandbox_type
      Src: /src/glib/gio/tests/sandbox.c:73,1
    - Dst: g_get_user_runtime_dir
      Src: /src/glib/gio/tests/sandbox.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: test_sandbox_flatpak
    functionSourceFile: /src/glib/gio/tests/sandbox.c
    functionUses: []
    functionsReached:
    - create_fake_flatpak_info
    - glib_get_sandbox_type
    - g_get_user_runtime_dir
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_sandbox_flatpak (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/sandbox.c:79,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/sandbox.c:84,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/sandbox.c:82,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/sandbox.c:81,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/sandbox.c:83,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/sandbox.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: main
    functionSourceFile: /src/glib/gio/tests/sandbox.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_getenv
      Src: /src/glib/gio/tests/sandbox.c:37,1
    - Dst: create_fake_snap_yaml
      Src: /src/glib/gio/tests/sandbox.c:41,1
    - Dst: g_setenv
      Src: /src/glib/gio/tests/sandbox.c:42,1
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/sandbox.c:40,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/sandbox.c:38,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/sandbox.c:44,1
    - Dst: glib_get_sandbox_type
      Src: /src/glib/gio/tests/sandbox.c:44,1
    - Dst: g_unsetenv
      Src: /src/glib/gio/tests/sandbox.c:46,1
    - Dst: g_free
      Src: /src/glib/gio/tests/sandbox.c:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 48
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 48
    functionName: test_sandbox_snap
    functionSourceFile: /src/glib/gio/tests/sandbox.c
    functionUses: []
    functionsReached:
    - create_fake_snap_yaml
    - g_unsetenv
    - g_getenv
    - g_setenv
    - glib_get_sandbox_type
    - g_assert_nonnull
    - g_build_filename
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_sandbox_snap (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/resolver-parsing.c:208,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/resolver-parsing.c:221,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/resolver-parsing.c:220,1
    - Dst: g_resolver_records_from_res_query
      Src: /src/glib/gio/tests/resolver-parsing.c:213,1
    - Dst: g_resolver_record_type_to_rrtype
      Src: /src/glib/gio/tests/resolver-parsing.c:214,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/resolver-parsing.c:222,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 224
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 224
    functionName: test_invalid_header
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_resolver_record_type_to_rrtype
    - g_assert_null
    - G_N_ELEMENTS
    - g_resolver_records_from_res_query
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_invalid_header (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:505,1
    - Dst: g_byte_array_unref
      Src: /src/glib/gio/tests/resolver-parsing.c:520,1
    - Dst: dns_header
      Src: /src/glib/gio/tests/resolver-parsing.c:502,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:513,1
    - Dst: dns_builder_add_answer_data
      Src: /src/glib/gio/tests/resolver-parsing.c:519,1
    - Dst: g_byte_array_free
      Src: /src/glib/gio/tests/resolver-parsing.c:525,1
    - Dst: g_resolver_record_type_to_rrtype
      Src: /src/glib/gio/tests/resolver-parsing.c:506,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:507,1
    - Dst: assert_query_succeeds
      Src: /src/glib/gio/tests/resolver-parsing.c:522,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:514,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/resolver-parsing.c:497,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:506,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:508,1
    - Dst: g_byte_array_new
      Src: /src/glib/gio/tests/resolver-parsing.c:511,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:512,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:517,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:518,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:516,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:515,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 527
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 527
    functionName: test_soa_valid
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - g_resolver_record_type_to_rrtype
    - g_byte_array_unref
    - dns_builder_add_domain
    - assert_query_succeeds
    - g_byte_array_new
    - dns_builder_add_uint32
    - dns_header
    - g_byte_array_free
    - dns_builder_add_answer_data
    - g_test_skip
    - dns_builder_add_uint16
    linkageType: ''
    returnType: void
    signature: 'static void test_soa_valid (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_resolver_records_from_res_query
      Src: /src/glib/gio/tests/resolver-parsing.c:165,1
    - Dst: g_resolver_record_type_to_rrtype
      Src: /src/glib/gio/tests/resolver-parsing.c:166,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/resolver-parsing.c:173,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resolver-parsing.c:172,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/gio/tests/resolver-parsing.c:177,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/gio/tests/resolver-parsing.c:178,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/resolver-parsing.c:179,1
    - Dst: g_variant_is_floating
      Src: /src/glib/gio/tests/resolver-parsing.c:179,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/resolver-parsing.c:181,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/resolver-parsing.c:182,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - rrname
    - record_type
    - answer
    - expected_answer_variant_str
    argTypes:
    - gchar*
    - GResolverRecordType
    - GByteArray*
    - gchar*
    constantsTouched: []
    func_position:
      end: 183
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 183
    functionName: assert_query_succeeds
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - g_resolver_record_type_to_rrtype
    - g_assert_true
    - g_assert_cmpvariant
    - g_list_free_full
    - g_assert_nonnull
    - g_resolver_records_from_res_query
    - g_assert_no_error
    - g_variant_unref
    - g_variant_new_parsed
    - g_variant_is_floating
    linkageType: ''
    returnType: void
    signature: 'static void assert_query_succeeds (const gchar *rrname, GResolverRecordType
      record_type, GByteArray *answer, const gchar *expected_answer_variant_str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_header
      Src: /src/glib/gio/tests/resolver-parsing.c:538,1
    - Dst: g_byte_array_unref
      Src: /src/glib/gio/tests/resolver-parsing.c:558,1
    - Dst: g_resolver_record_type_to_rrtype
      Src: /src/glib/gio/tests/resolver-parsing.c:542,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:543,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:555,1
    - Dst: assert_query_fails
      Src: /src/glib/gio/tests/resolver-parsing.c:560,1
    - Dst: g_byte_array_free
      Src: /src/glib/gio/tests/resolver-parsing.c:562,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:554,1
    - Dst: dns_builder_add_answer_data
      Src: /src/glib/gio/tests/resolver-parsing.c:557,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:556,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/resolver-parsing.c:533,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:542,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:544,1
    - Dst: g_byte_array_new
      Src: /src/glib/gio/tests/resolver-parsing.c:549,1
    - Dst: dns_builder_add_invalid_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:550,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:551,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:552,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:541,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:553,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 564
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 564
    functionName: test_soa_invalid_mname
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - assert_query_fails
    - g_resolver_record_type_to_rrtype
    - g_byte_array_unref
    - dns_builder_add_invalid_domain
    - dns_builder_add_domain
    - g_byte_array_new
    - dns_builder_add_uint32
    - dns_header
    - g_byte_array_free
    - dns_builder_add_answer_data
    - g_test_skip
    - dns_builder_add_uint16
    linkageType: ''
    returnType: void
    signature: 'static void test_soa_invalid_mname (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resolver-parsing.c:904,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resolver-parsing.c:906,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resolver-parsing.c:908,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resolver-parsing.c:910,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resolver-parsing.c:917,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resolver-parsing.c:919,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resolver-parsing.c:913,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resolver-parsing.c:921,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resolver-parsing.c:915,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resolver-parsing.c:923,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resolver-parsing.c:924,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/resolver-parsing.c:926,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resolver-parsing.c:905,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resolver-parsing.c:907,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resolver-parsing.c:909,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resolver-parsing.c:911,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resolver-parsing.c:912,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resolver-parsing.c:918,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resolver-parsing.c:920,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resolver-parsing.c:914,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resolver-parsing.c:916,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/resolver-parsing.c:922,1
    - Dst: g_test_init
      Src: /src/glib/gio/tests/resolver-parsing.c:902,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 927
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 927
    functionName: main
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/resolver-parsing.c:373,1
    - Dst: dns_header
      Src: /src/glib/gio/tests/resolver-parsing.c:378,1
    - Dst: g_resolver_record_type_to_rrtype
      Src: /src/glib/gio/tests/resolver-parsing.c:382,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:382,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:381,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:383,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:384,1
    - Dst: g_byte_array_new
      Src: /src/glib/gio/tests/resolver-parsing.c:389,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:390,1
    - Dst: dns_builder_add_answer_data
      Src: /src/glib/gio/tests/resolver-parsing.c:392,1
    - Dst: g_byte_array_unref
      Src: /src/glib/gio/tests/resolver-parsing.c:393,1
    - Dst: assert_query_fails
      Src: /src/glib/gio/tests/resolver-parsing.c:395,1
    - Dst: g_byte_array_free
      Src: /src/glib/gio/tests/resolver-parsing.c:397,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 399
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 399
    functionName: test_mx_invalid_too_short
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - assert_query_fails
    - g_resolver_record_type_to_rrtype
    - g_byte_array_unref
    - dns_builder_add_domain
    - g_byte_array_new
    - dns_builder_add_uint32
    - dns_header
    - g_byte_array_free
    - dns_builder_add_answer_data
    - g_test_skip
    - dns_builder_add_uint16
    linkageType: ''
    returnType: void
    signature: 'static void test_mx_invalid_too_short (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/resolver-parsing.c:436,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:444,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:445,1
    - Dst: dns_header
      Src: /src/glib/gio/tests/resolver-parsing.c:441,1
    - Dst: g_resolver_record_type_to_rrtype
      Src: /src/glib/gio/tests/resolver-parsing.c:445,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:446,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:447,1
    - Dst: g_byte_array_new
      Src: /src/glib/gio/tests/resolver-parsing.c:450,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:451,1
    - Dst: dns_builder_add_answer_data
      Src: /src/glib/gio/tests/resolver-parsing.c:452,1
    - Dst: g_byte_array_free
      Src: /src/glib/gio/tests/resolver-parsing.c:458,1
    - Dst: g_byte_array_unref
      Src: /src/glib/gio/tests/resolver-parsing.c:453,1
    - Dst: assert_query_succeeds
      Src: /src/glib/gio/tests/resolver-parsing.c:455,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 460
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 460
    functionName: test_ns_valid
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - g_resolver_record_type_to_rrtype
    - g_byte_array_unref
    - dns_builder_add_domain
    - assert_query_succeeds
    - g_byte_array_new
    - dns_builder_add_uint32
    - dns_header
    - g_byte_array_free
    - dns_builder_add_answer_data
    - g_test_skip
    - dns_builder_add_uint16
    linkageType: ''
    returnType: void
    signature: 'static void test_ns_valid (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/resolver-parsing.c:835,1
    - Dst: dns_header
      Src: /src/glib/gio/tests/resolver-parsing.c:840,1
    - Dst: g_resolver_record_type_to_rrtype
      Src: /src/glib/gio/tests/resolver-parsing.c:844,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:844,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:843,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:845,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:846,1
    - Dst: g_byte_array_new
      Src: /src/glib/gio/tests/resolver-parsing.c:851,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:852,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:853,1
    - Dst: g_byte_array_unref
      Src: /src/glib/gio/tests/resolver-parsing.c:857,1
    - Dst: g_byte_array_free
      Src: /src/glib/gio/tests/resolver-parsing.c:861,1
    - Dst: dns_builder_add_answer_data
      Src: /src/glib/gio/tests/resolver-parsing.c:856,1
    - Dst: assert_query_fails
      Src: /src/glib/gio/tests/resolver-parsing.c:859,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:854,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 863
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 863
    functionName: test_srv_invalid_too_short
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - assert_query_fails
    - g_resolver_record_type_to_rrtype
    - g_byte_array_unref
    - dns_builder_add_domain
    - g_byte_array_new
    - dns_builder_add_uint32
    - dns_header
    - g_byte_array_free
    - dns_builder_add_answer_data
    - g_test_skip
    - dns_builder_add_uint16
    linkageType: ''
    returnType: void
    signature: 'static void test_srv_invalid_too_short (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/resolver-parsing.c:405,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:413,1
    - Dst: dns_header
      Src: /src/glib/gio/tests/resolver-parsing.c:410,1
    - Dst: g_resolver_record_type_to_rrtype
      Src: /src/glib/gio/tests/resolver-parsing.c:414,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:414,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:415,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:416,1
    - Dst: g_byte_array_new
      Src: /src/glib/gio/tests/resolver-parsing.c:421,1
    - Dst: dns_builder_add_answer_data
      Src: /src/glib/gio/tests/resolver-parsing.c:423,1
    - Dst: g_byte_array_unref
      Src: /src/glib/gio/tests/resolver-parsing.c:424,1
    - Dst: assert_query_fails
      Src: /src/glib/gio/tests/resolver-parsing.c:426,1
    - Dst: g_byte_array_free
      Src: /src/glib/gio/tests/resolver-parsing.c:428,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 430
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 430
    functionName: test_mx_invalid_too_short2
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - assert_query_fails
    - g_resolver_record_type_to_rrtype
    - g_byte_array_unref
    - dns_builder_add_domain
    - g_byte_array_new
    - dns_builder_add_uint32
    - dns_header
    - g_byte_array_free
    - dns_builder_add_answer_data
    - g_test_skip
    - dns_builder_add_uint16
    linkageType: ''
    returnType: void
    signature: 'static void test_mx_invalid_too_short2 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/resolver-parsing.c:466,1
    - Dst: dns_header
      Src: /src/glib/gio/tests/resolver-parsing.c:471,1
    - Dst: g_resolver_record_type_to_rrtype
      Src: /src/glib/gio/tests/resolver-parsing.c:475,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:475,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:474,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:476,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:477,1
    - Dst: g_byte_array_new
      Src: /src/glib/gio/tests/resolver-parsing.c:482,1
    - Dst: dns_builder_add_invalid_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:483,1
    - Dst: dns_builder_add_answer_data
      Src: /src/glib/gio/tests/resolver-parsing.c:484,1
    - Dst: assert_query_fails
      Src: /src/glib/gio/tests/resolver-parsing.c:487,1
    - Dst: g_byte_array_unref
      Src: /src/glib/gio/tests/resolver-parsing.c:485,1
    - Dst: g_byte_array_free
      Src: /src/glib/gio/tests/resolver-parsing.c:489,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 491
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 491
    functionName: test_ns_invalid
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - assert_query_fails
    - g_resolver_record_type_to_rrtype
    - g_byte_array_unref
    - dns_builder_add_invalid_domain
    - dns_builder_add_domain
    - g_byte_array_new
    - dns_builder_add_uint32
    - dns_header
    - g_byte_array_free
    - dns_builder_add_answer_data
    - g_test_skip
    - dns_builder_add_uint16
    linkageType: ''
    returnType: void
    signature: 'static void test_ns_invalid (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/resolver-parsing.c:869,1
    - Dst: dns_header
      Src: /src/glib/gio/tests/resolver-parsing.c:874,1
    - Dst: g_resolver_record_type_to_rrtype
      Src: /src/glib/gio/tests/resolver-parsing.c:878,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:878,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:877,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:879,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:880,1
    - Dst: g_byte_array_new
      Src: /src/glib/gio/tests/resolver-parsing.c:885,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:886,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:887,1
    - Dst: g_byte_array_unref
      Src: /src/glib/gio/tests/resolver-parsing.c:890,1
    - Dst: g_byte_array_free
      Src: /src/glib/gio/tests/resolver-parsing.c:894,1
    - Dst: dns_builder_add_answer_data
      Src: /src/glib/gio/tests/resolver-parsing.c:889,1
    - Dst: assert_query_fails
      Src: /src/glib/gio/tests/resolver-parsing.c:892,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 896
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 896
    functionName: test_srv_invalid_too_short2
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - assert_query_fails
    - g_resolver_record_type_to_rrtype
    - g_byte_array_unref
    - dns_builder_add_domain
    - g_byte_array_new
    - dns_builder_add_uint32
    - dns_header
    - g_byte_array_free
    - dns_builder_add_answer_data
    - g_test_skip
    - dns_builder_add_uint16
    linkageType: ''
    returnType: void
    signature: 'static void test_srv_invalid_too_short2 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_byte_array_append
      Src: /src/glib/gio/tests/resolver-parsing.c:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - builder
    - value
    argTypes:
    - GByteArray*
    - guint8
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: dns_builder_add_uint8
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - g_byte_array_append
    linkageType: ''
    returnType: void
    signature: 'static void dns_builder_add_uint8 (GByteArray *builder, guint8 value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/resolver-parsing.c:63,1
    - Dst: g_byte_array_append
      Src: /src/glib/gio/tests/resolver-parsing.c:69,1
    - Dst: strlen
      Src: /src/glib/gio/tests/resolver-parsing.c:63,1
    - Dst: dns_builder_add_uint8
      Src: /src/glib/gio/tests/resolver-parsing.c:66,1
    - Dst: strlen
      Src: /src/glib/gio/tests/resolver-parsing.c:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - builder
    - string
    argTypes:
    - GByteArray*
    - char*
    constantsTouched: []
    func_position:
      end: 70
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 70
    functionName: dns_builder_add_length_prefixed_string
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - g_assert
    - dns_builder_add_uint8
    - g_byte_array_append
    - strlen
    linkageType: ''
    returnType: void
    signature: 'static void dns_builder_add_length_prefixed_string (GByteArray *builder,
      const char *string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/resolver-parsing.c:103,1
    - Dst: dns_builder_add_uint8
      Src: /src/glib/gio/tests/resolver-parsing.c:105,1
    - Dst: dns_builder_add_uint8
      Src: /src/glib/gio/tests/resolver-parsing.c:106,1
    - Dst: dns_builder_add_uint8
      Src: /src/glib/gio/tests/resolver-parsing.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - builder
    - offset
    argTypes:
    - GByteArray*
    - gsize
    constantsTouched: []
    func_position:
      end: 108
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 108
    functionName: dns_builder_add_invalid_domain
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - g_assert
    - dns_builder_add_uint8
    linkageType: ''
    returnType: void
    signature: 'static void dns_builder_add_invalid_domain (GByteArray *builder, gsize
      offset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_byte_array_sized_new
      Src: /src/glib/gio/tests/resolver-parsing.c:121,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:125,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:127,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:126,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:128,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:129,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:130,1
    - Dst: g_steal_pointer
      Src: /src/glib/gio/tests/resolver-parsing.c:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 133
    functionName: dns_header
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - g_steal_pointer
    - g_byte_array_sized_new
    - dns_builder_add_uint16
    linkageType: ''
    returnType: GByteArray*
    signature: 'static GByteArray *dns_header (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/resolver-parsing.c:230,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:243,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:242,1
    - Dst: g_resolver_record_type_to_rrtype
      Src: /src/glib/gio/tests/resolver-parsing.c:238,1
    - Dst: dns_header
      Src: /src/glib/gio/tests/resolver-parsing.c:239,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:244,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:245,1
    - Dst: g_byte_array_new
      Src: /src/glib/gio/tests/resolver-parsing.c:248,1
    - Dst: dns_builder_add_length_prefixed_string
      Src: /src/glib/gio/tests/resolver-parsing.c:249,1
    - Dst: dns_builder_add_answer_data
      Src: /src/glib/gio/tests/resolver-parsing.c:250,1
    - Dst: g_byte_array_unref
      Src: /src/glib/gio/tests/resolver-parsing.c:251,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/resolver-parsing.c:259,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/resolver-parsing.c:260,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/resolver-parsing.c:265,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/resolver-parsing.c:263,1
    - Dst: g_variant_is_floating
      Src: /src/glib/gio/tests/resolver-parsing.c:263,1
    - Dst: g_resolver_records_from_res_query
      Src: /src/glib/gio/tests/resolver-parsing.c:253,1
    - Dst: g_byte_array_free
      Src: /src/glib/gio/tests/resolver-parsing.c:266,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 268
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 268
    functionName: test_record_ownership
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - g_resolver_record_type_to_rrtype
    - g_assert_true
    - g_byte_array_unref
    - g_list_free_full
    - dns_builder_add_domain
    - dns_builder_add_length_prefixed_string
    - g_byte_array_new
    - dns_builder_add_uint32
    - dns_header
    - g_resolver_records_from_res_query
    - g_assert_no_error
    - g_assert_nonnull
    - g_byte_array_free
    - dns_builder_add_answer_data
    - g_variant_is_floating
    - g_test_skip
    - dns_builder_add_uint16
    linkageType: ''
    returnType: void
    signature: 'static void test_record_ownership (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/resolver-parsing.c:310,1
    - Dst: dns_header
      Src: /src/glib/gio/tests/resolver-parsing.c:315,1
    - Dst: g_resolver_record_type_to_rrtype
      Src: /src/glib/gio/tests/resolver-parsing.c:319,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:319,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:318,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:320,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:321,1
    - Dst: g_byte_array_new
      Src: /src/glib/gio/tests/resolver-parsing.c:324,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:325,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:326,1
    - Dst: assert_query_succeeds
      Src: /src/glib/gio/tests/resolver-parsing.c:330,1
    - Dst: g_byte_array_free
      Src: /src/glib/gio/tests/resolver-parsing.c:333,1
    - Dst: g_byte_array_unref
      Src: /src/glib/gio/tests/resolver-parsing.c:328,1
    - Dst: dns_builder_add_answer_data
      Src: /src/glib/gio/tests/resolver-parsing.c:327,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 335
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 335
    functionName: test_mx_valid
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - g_resolver_record_type_to_rrtype
    - g_byte_array_unref
    - dns_builder_add_domain
    - assert_query_succeeds
    - g_byte_array_new
    - dns_builder_add_uint32
    - dns_header
    - g_byte_array_free
    - dns_builder_add_answer_data
    - g_test_skip
    - dns_builder_add_uint16
    linkageType: ''
    returnType: void
    signature: 'static void test_mx_valid (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_builder_add_uint8
      Src: /src/glib/gio/tests/resolver-parsing.c:51,1
    - Dst: dns_builder_add_uint8
      Src: /src/glib/gio/tests/resolver-parsing.c:52,1
    - Dst: dns_builder_add_uint8
      Src: /src/glib/gio/tests/resolver-parsing.c:53,1
    - Dst: dns_builder_add_uint8
      Src: /src/glib/gio/tests/resolver-parsing.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - builder
    - value
    argTypes:
    - GByteArray*
    - guint32
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: dns_builder_add_uint32
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - dns_builder_add_uint8
    linkageType: ''
    returnType: void
    signature: 'static void dns_builder_add_uint32 (GByteArray *builder, guint32 value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dn_comp
      Src: /src/glib/gio/tests/resolver-parsing.c:79,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/resolver-parsing.c:80,1
    - Dst: g_byte_array_append
      Src: /src/glib/gio/tests/resolver-parsing.c:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - builder
    - string
    argTypes:
    - GByteArray*
    - char*
    constantsTouched: []
    func_position:
      end: 83
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 83
    functionName: dns_builder_add_domain
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - g_assert
    - dn_comp
    - g_byte_array_append
    linkageType: ''
    returnType: void
    signature: 'static void dns_builder_add_domain (GByteArray *builder, const char
      *string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_builder_add_uint8
      Src: /src/glib/gio/tests/resolver-parsing.c:43,1
    - Dst: dns_builder_add_uint8
      Src: /src/glib/gio/tests/resolver-parsing.c:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - builder
    - value
    argTypes:
    - GByteArray*
    - guint16
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: dns_builder_add_uint16
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - dns_builder_add_uint8
    linkageType: ''
    returnType: void
    signature: 'static void dns_builder_add_uint16 (GByteArray *builder, guint16 value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:114,1
    - Dst: g_byte_array_append
      Src: /src/glib/gio/tests/resolver-parsing.c:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - builder
    - answer
    argTypes:
    - GByteArray*
    - GByteArray*
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: dns_builder_add_answer_data
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - dns_builder_add_uint16
    - g_byte_array_append
    linkageType: ''
    returnType: void
    signature: 'static void dns_builder_add_answer_data (GByteArray *builder, GByteArray
      *answer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_resolver_records_from_res_query
      Src: /src/glib/gio/tests/resolver-parsing.c:143,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/resolver-parsing.c:150,1
    - Dst: g_resolver_record_type_to_rrtype
      Src: /src/glib/gio/tests/resolver-parsing.c:144,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/resolver-parsing.c:152,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/resolver-parsing.c:151,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - rrname
    - record_type
    - answer
    argTypes:
    - gchar*
    - GResolverRecordType
    - GByteArray*
    constantsTouched: []
    func_position:
      end: 153
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 153
    functionName: assert_query_fails
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_resolver_record_type_to_rrtype
    - g_assert_null
    - g_resolver_records_from_res_query
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void assert_query_fails (const gchar *rrname, GResolverRecordType
      record_type, GByteArray *answer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/resolver-parsing.c:274,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:286,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:285,1
    - Dst: dns_header
      Src: /src/glib/gio/tests/resolver-parsing.c:284,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:287,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:288,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:289,1
    - Dst: g_resolver_records_from_res_query
      Src: /src/glib/gio/tests/resolver-parsing.c:291,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/resolver-parsing.c:298,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/resolver-parsing.c:299,1
    - Dst: g_byte_array_free
      Src: /src/glib/gio/tests/resolver-parsing.c:302,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/resolver-parsing.c:300,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 304
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 304
    functionName: test_unknown_record_type
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_assert_null
    - dns_builder_add_domain
    - g_resolver_records_from_res_query
    - dns_builder_add_uint32
    - dns_header
    - g_byte_array_free
    - g_test_skip
    - dns_builder_add_uint16
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_unknown_record_type (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/resolver-parsing.c:341,1
    - Dst: g_resolver_record_type_to_rrtype
      Src: /src/glib/gio/tests/resolver-parsing.c:350,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:350,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:349,1
    - Dst: dns_header
      Src: /src/glib/gio/tests/resolver-parsing.c:346,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:351,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:352,1
    - Dst: g_byte_array_new
      Src: /src/glib/gio/tests/resolver-parsing.c:357,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:358,1
    - Dst: dns_builder_add_invalid_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:359,1
    - Dst: g_byte_array_unref
      Src: /src/glib/gio/tests/resolver-parsing.c:361,1
    - Dst: g_byte_array_free
      Src: /src/glib/gio/tests/resolver-parsing.c:365,1
    - Dst: dns_builder_add_answer_data
      Src: /src/glib/gio/tests/resolver-parsing.c:360,1
    - Dst: assert_query_fails
      Src: /src/glib/gio/tests/resolver-parsing.c:363,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 367
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 367
    functionName: test_mx_invalid
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - assert_query_fails
    - g_resolver_record_type_to_rrtype
    - g_byte_array_unref
    - dns_builder_add_invalid_domain
    - dns_builder_add_domain
    - g_byte_array_new
    - dns_builder_add_uint32
    - dns_header
    - g_byte_array_free
    - dns_builder_add_answer_data
    - g_test_skip
    - dns_builder_add_uint16
    linkageType: ''
    returnType: void
    signature: 'static void test_mx_invalid (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_header
      Src: /src/glib/gio/tests/resolver-parsing.c:575,1
    - Dst: dns_builder_add_invalid_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:588,1
    - Dst: g_byte_array_unref
      Src: /src/glib/gio/tests/resolver-parsing.c:595,1
    - Dst: g_resolver_record_type_to_rrtype
      Src: /src/glib/gio/tests/resolver-parsing.c:579,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:580,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:590,1
    - Dst: dns_builder_add_answer_data
      Src: /src/glib/gio/tests/resolver-parsing.c:594,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:589,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:593,1
    - Dst: g_byte_array_free
      Src: /src/glib/gio/tests/resolver-parsing.c:599,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:592,1
    - Dst: assert_query_fails
      Src: /src/glib/gio/tests/resolver-parsing.c:597,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:591,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/resolver-parsing.c:570,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:579,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:581,1
    - Dst: g_byte_array_new
      Src: /src/glib/gio/tests/resolver-parsing.c:586,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:587,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:578,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 601
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 601
    functionName: test_soa_invalid_rname
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - assert_query_fails
    - g_resolver_record_type_to_rrtype
    - g_byte_array_unref
    - dns_builder_add_invalid_domain
    - dns_builder_add_domain
    - g_byte_array_new
    - dns_builder_add_uint32
    - dns_header
    - g_byte_array_free
    - dns_builder_add_answer_data
    - g_test_skip
    - dns_builder_add_uint16
    linkageType: ''
    returnType: void
    signature: 'static void test_soa_invalid_rname (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/resolver-parsing.c:644,1
    - Dst: g_resolver_record_type_to_rrtype
      Src: /src/glib/gio/tests/resolver-parsing.c:653,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:653,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:652,1
    - Dst: dns_header
      Src: /src/glib/gio/tests/resolver-parsing.c:649,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:654,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:655,1
    - Dst: g_byte_array_new
      Src: /src/glib/gio/tests/resolver-parsing.c:658,1
    - Dst: dns_builder_add_length_prefixed_string
      Src: /src/glib/gio/tests/resolver-parsing.c:659,1
    - Dst: dns_builder_add_answer_data
      Src: /src/glib/gio/tests/resolver-parsing.c:660,1
    - Dst: g_byte_array_free
      Src: /src/glib/gio/tests/resolver-parsing.c:666,1
    - Dst: g_byte_array_unref
      Src: /src/glib/gio/tests/resolver-parsing.c:661,1
    - Dst: assert_query_succeeds
      Src: /src/glib/gio/tests/resolver-parsing.c:663,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 668
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 668
    functionName: test_txt_valid
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - g_resolver_record_type_to_rrtype
    - g_byte_array_unref
    - dns_builder_add_domain
    - dns_builder_add_length_prefixed_string
    - g_byte_array_new
    - dns_builder_add_uint32
    - dns_header
    - assert_query_succeeds
    - g_byte_array_free
    - dns_builder_add_answer_data
    - g_test_skip
    - dns_builder_add_uint16
    linkageType: ''
    returnType: void
    signature: 'static void test_txt_valid (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/resolver-parsing.c:705,1
    - Dst: dns_header
      Src: /src/glib/gio/tests/resolver-parsing.c:710,1
    - Dst: g_resolver_record_type_to_rrtype
      Src: /src/glib/gio/tests/resolver-parsing.c:714,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:714,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:713,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:715,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:716,1
    - Dst: g_byte_array_new
      Src: /src/glib/gio/tests/resolver-parsing.c:722,1
    - Dst: dns_builder_add_answer_data
      Src: /src/glib/gio/tests/resolver-parsing.c:723,1
    - Dst: g_byte_array_unref
      Src: /src/glib/gio/tests/resolver-parsing.c:724,1
    - Dst: assert_query_fails
      Src: /src/glib/gio/tests/resolver-parsing.c:726,1
    - Dst: g_byte_array_free
      Src: /src/glib/gio/tests/resolver-parsing.c:728,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 730
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 730
    functionName: test_txt_invalid_empty
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - assert_query_fails
    - g_resolver_record_type_to_rrtype
    - g_byte_array_unref
    - dns_builder_add_domain
    - g_byte_array_new
    - dns_builder_add_uint32
    - dns_header
    - g_byte_array_free
    - dns_builder_add_answer_data
    - g_test_skip
    - dns_builder_add_uint16
    linkageType: ''
    returnType: void
    signature: 'static void test_txt_invalid_empty (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/resolver-parsing.c:768,1
    - Dst: g_resolver_record_type_to_rrtype
      Src: /src/glib/gio/tests/resolver-parsing.c:777,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:777,1
    - Dst: dns_header
      Src: /src/glib/gio/tests/resolver-parsing.c:773,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:776,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:778,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:779,1
    - Dst: g_byte_array_new
      Src: /src/glib/gio/tests/resolver-parsing.c:782,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:783,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:784,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:786,1
    - Dst: g_byte_array_unref
      Src: /src/glib/gio/tests/resolver-parsing.c:788,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:785,1
    - Dst: assert_query_succeeds
      Src: /src/glib/gio/tests/resolver-parsing.c:790,1
    - Dst: g_byte_array_free
      Src: /src/glib/gio/tests/resolver-parsing.c:793,1
    - Dst: dns_builder_add_answer_data
      Src: /src/glib/gio/tests/resolver-parsing.c:787,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 795
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 795
    functionName: test_srv_valid
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - g_resolver_record_type_to_rrtype
    - g_byte_array_unref
    - dns_builder_add_domain
    - assert_query_succeeds
    - g_byte_array_new
    - dns_builder_add_uint32
    - dns_header
    - g_byte_array_free
    - dns_builder_add_answer_data
    - g_test_skip
    - dns_builder_add_uint16
    linkageType: ''
    returnType: void
    signature: 'static void test_srv_valid (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/resolver-parsing.c:607,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:615,1
    - Dst: dns_header
      Src: /src/glib/gio/tests/resolver-parsing.c:612,1
    - Dst: g_resolver_record_type_to_rrtype
      Src: /src/glib/gio/tests/resolver-parsing.c:616,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:616,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:617,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:618,1
    - Dst: g_byte_array_new
      Src: /src/glib/gio/tests/resolver-parsing.c:623,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:624,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:625,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:627,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:628,1
    - Dst: g_byte_array_unref
      Src: /src/glib/gio/tests/resolver-parsing.c:632,1
    - Dst: g_byte_array_free
      Src: /src/glib/gio/tests/resolver-parsing.c:636,1
    - Dst: dns_builder_add_answer_data
      Src: /src/glib/gio/tests/resolver-parsing.c:631,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:626,1
    - Dst: assert_query_fails
      Src: /src/glib/gio/tests/resolver-parsing.c:634,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:629,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 638
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 638
    functionName: test_soa_invalid_too_short
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - assert_query_fails
    - g_resolver_record_type_to_rrtype
    - g_byte_array_unref
    - dns_builder_add_domain
    - g_byte_array_new
    - dns_builder_add_uint32
    - dns_header
    - g_byte_array_free
    - dns_builder_add_answer_data
    - g_test_skip
    - dns_builder_add_uint16
    linkageType: ''
    returnType: void
    signature: 'static void test_soa_invalid_too_short (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/resolver-parsing.c:674,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:682,1
    - Dst: dns_header
      Src: /src/glib/gio/tests/resolver-parsing.c:679,1
    - Dst: g_resolver_record_type_to_rrtype
      Src: /src/glib/gio/tests/resolver-parsing.c:683,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:683,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:684,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:685,1
    - Dst: g_byte_array_new
      Src: /src/glib/gio/tests/resolver-parsing.c:688,1
    - Dst: dns_builder_add_length_prefixed_string
      Src: /src/glib/gio/tests/resolver-parsing.c:689,1
    - Dst: dns_builder_add_length_prefixed_string
      Src: /src/glib/gio/tests/resolver-parsing.c:690,1
    - Dst: g_byte_array_free
      Src: /src/glib/gio/tests/resolver-parsing.c:697,1
    - Dst: dns_builder_add_answer_data
      Src: /src/glib/gio/tests/resolver-parsing.c:691,1
    - Dst: g_byte_array_unref
      Src: /src/glib/gio/tests/resolver-parsing.c:692,1
    - Dst: assert_query_succeeds
      Src: /src/glib/gio/tests/resolver-parsing.c:694,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 699
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 699
    functionName: test_txt_valid_multiple_strings
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - g_resolver_record_type_to_rrtype
    - g_byte_array_unref
    - dns_builder_add_domain
    - dns_builder_add_length_prefixed_string
    - g_byte_array_new
    - dns_builder_add_uint32
    - dns_header
    - assert_query_succeeds
    - g_byte_array_free
    - dns_builder_add_answer_data
    - g_test_skip
    - dns_builder_add_uint16
    linkageType: ''
    returnType: void
    signature: 'static void test_txt_valid_multiple_strings (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/resolver-parsing.c:736,1
    - Dst: dns_header
      Src: /src/glib/gio/tests/resolver-parsing.c:741,1
    - Dst: g_resolver_record_type_to_rrtype
      Src: /src/glib/gio/tests/resolver-parsing.c:745,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:745,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:744,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:746,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:747,1
    - Dst: g_byte_array_new
      Src: /src/glib/gio/tests/resolver-parsing.c:753,1
    - Dst: dns_builder_add_uint8
      Src: /src/glib/gio/tests/resolver-parsing.c:754,1
    - Dst: dns_builder_add_answer_data
      Src: /src/glib/gio/tests/resolver-parsing.c:755,1
    - Dst: g_byte_array_free
      Src: /src/glib/gio/tests/resolver-parsing.c:760,1
    - Dst: g_byte_array_unref
      Src: /src/glib/gio/tests/resolver-parsing.c:756,1
    - Dst: assert_query_fails
      Src: /src/glib/gio/tests/resolver-parsing.c:758,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 762
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 762
    functionName: test_txt_invalid_overflow
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - assert_query_fails
    - g_resolver_record_type_to_rrtype
    - g_byte_array_unref
    - dns_builder_add_domain
    - g_byte_array_new
    - dns_builder_add_uint32
    - dns_header
    - dns_builder_add_uint8
    - g_byte_array_free
    - dns_builder_add_answer_data
    - g_test_skip
    - dns_builder_add_uint16
    linkageType: ''
    returnType: void
    signature: 'static void test_txt_invalid_overflow (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/resolver-parsing.c:801,1
    - Dst: dns_header
      Src: /src/glib/gio/tests/resolver-parsing.c:806,1
    - Dst: g_resolver_record_type_to_rrtype
      Src: /src/glib/gio/tests/resolver-parsing.c:810,1
    - Dst: dns_builder_add_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:809,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:810,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:811,1
    - Dst: dns_builder_add_uint32
      Src: /src/glib/gio/tests/resolver-parsing.c:812,1
    - Dst: g_byte_array_new
      Src: /src/glib/gio/tests/resolver-parsing.c:817,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:818,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:819,1
    - Dst: g_byte_array_unref
      Src: /src/glib/gio/tests/resolver-parsing.c:823,1
    - Dst: assert_query_fails
      Src: /src/glib/gio/tests/resolver-parsing.c:825,1
    - Dst: dns_builder_add_uint16
      Src: /src/glib/gio/tests/resolver-parsing.c:820,1
    - Dst: g_byte_array_free
      Src: /src/glib/gio/tests/resolver-parsing.c:827,1
    - Dst: dns_builder_add_answer_data
      Src: /src/glib/gio/tests/resolver-parsing.c:822,1
    - Dst: dns_builder_add_invalid_domain
      Src: /src/glib/gio/tests/resolver-parsing.c:821,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 829
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 829
    functionName: test_srv_invalid
    functionSourceFile: /src/glib/gio/tests/resolver-parsing.c
    functionUses: []
    functionsReached:
    - assert_query_fails
    - g_resolver_record_type_to_rrtype
    - g_byte_array_unref
    - dns_builder_add_invalid_domain
    - dns_builder_add_domain
    - g_byte_array_new
    - dns_builder_add_uint32
    - dns_header
    - g_byte_array_free
    - dns_builder_add_answer_data
    - g_test_skip
    - dns_builder_add_uint16
    linkageType: ''
    returnType: void
    signature: 'static void test_srv_invalid (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-close-pending.c:74,1
    - Dst: MY_IO_STREAM
      Src: /src/glib/gio/tests/gdbus-close-pending.c:72,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-close-pending.c:73,1
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/tests/gdbus-close-pending.c:75,1
    - Dst: my_io_stream_finalize
      Src: /src/glib/gio/tests/gdbus-close-pending.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - MyIOStream
    - my_io_stream
    - G_TYPE_IO_STREAM
    argTypes:
    - MyIOStream
    - my_io_stream
    - G_TYPE_IO_STREAM
    constantsTouched: []
    func_position:
      end: 76
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 76
    functionName: G_DEFINE_TYPE
    functionSourceFile: /src/glib/gio/tests/gdbus-close-pending.c
    functionUses: []
    functionsReached:
    - my_io_stream_finalize
    - g_object_unref
    - MY_IO_STREAM
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: GType
    signature: 'static GType my_io_stream_get_type (void) G_GNUC_CONST; G_DEFINE_TYPE
      (MyIOStream, my_io_stream, G_TYPE_IO_STREAM)static voidmy_io_stream_finalize
      (GObject *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MY_IO_STREAM
      Src: /src/glib/gio/tests/gdbus-close-pending.c:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: my_io_stream_get_input_stream
    functionSourceFile: /src/glib/gio/tests/gdbus-close-pending.c
    functionUses: []
    functionsReached:
    - MY_IO_STREAM
    linkageType: ''
    returnType: GInputStream*
    signature: 'static GInputStream *my_io_stream_get_input_stream (GIOStream *_stream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-close-pending.c:177,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-close-pending.c:179,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-close-pending.c:180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 181
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 181
    functionName: delayed_close_free
    functionSourceFile: /src/glib/gio/tests/gdbus-close-pending.c
    functionUses: []
    functionsReached:
    - g_free
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void delayed_close_free (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - stream
    argTypes:
    - MyIOStream*
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: my_io_stream_init
    functionSourceFile: /src/glib/gio/tests/gdbus-close-pending.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void my_io_stream_init (MyIOStream *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MY_IO_STREAM
      Src: /src/glib/gio/tests/gdbus-close-pending.c:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: my_io_stream_get_output_stream
    functionSourceFile: /src/glib/gio/tests/gdbus-close-pending.c
    functionUses: []
    functionsReached:
    - MY_IO_STREAM
    linkageType: ''
    returnType: GOutputStream*
    signature: 'static GOutputStream *my_io_stream_get_output_stream (GIOStream *_stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: my_slow_close_output_stream_init
      Src: /src/glib/gio/tests/gdbus-close-pending.c:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - MySlowCloseOutputStream
    - my_slow_close_output_stream
    - G_TYPE_FILTER_OUTPUT_STREAM
    argTypes:
    - MySlowCloseOutputStream
    - my_slow_close_output_stream
    - G_TYPE_FILTER_OUTPUT_STREAM
    constantsTouched: []
    func_position:
      end: 152
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 152
    functionName: G_DEFINE_TYPE
    functionSourceFile: /src/glib/gio/tests/gdbus-close-pending.c
    functionUses: []
    functionsReached:
    - my_slow_close_output_stream_init
    linkageType: ''
    returnType: GType
    signature: 'static GType my_slow_close_output_stream_get_type (void) G_GNUC_CONST;
      G_DEFINE_TYPE (MySlowCloseOutputStream, my_slow_close_output_stream, G_TYPE_FILTER_OUTPUT_STREAM)static
      voidmy_slow_close_output_stream_init (MySlowCloseOutputStream *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OUTPUT_STREAM_CLASS
      Src: /src/glib/gio/tests/gdbus-close-pending.c:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 193
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 193
    functionName: delayed_close_cb
    functionSourceFile: /src/glib/gio/tests/gdbus-close-pending.c
    functionUses: []
    functionsReached:
    - G_OUTPUT_STREAM_CLASS
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean delayed_close_cb (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_generate_guid
      Src: /src/glib/gio/tests/gdbus-close-pending.c:274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - f
    - context
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 275
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 275
    functionName: setup
    functionSourceFile: /src/glib/gio/tests/gdbus-close-pending.c
    functionUses: []
    functionsReached:
    - g_dbus_generate_guid
    linkageType: ''
    returnType: void
    signature: 'static void setup (Fixture *f, gconstpointer context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/gdbus-close-pending.c:387,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/gdbus-close-pending.c:389,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/gdbus-close-pending.c:394,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/gdbus-close-pending.c:391,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 395
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 395
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gdbus-close-pending.c
    functionUses: []
    functionsReached:
    - g_test_add
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT_CLASS
      Src: /src/glib/gio/tests/gdbus-close-pending.c:103,1
    - Dst: G_IO_STREAM_CLASS
      Src: /src/glib/gio/tests/gdbus-close-pending.c:106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - klass
    argTypes:
    - MyIOStreamClass*
    constantsTouched: []
    func_position:
      end: 109
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 109
    functionName: my_io_stream_class_init
    functionSourceFile: /src/glib/gio/tests/gdbus-close-pending.c
    functionUses: []
    functionsReached:
    - G_IO_STREAM_CLASS
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void my_io_stream_class_init (MyIOStreamClass *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_usleep
      Src: /src/glib/gio/tests/gdbus-close-pending.c:159,1
    - Dst: G_OUTPUT_STREAM_CLASS
      Src: /src/glib/gio/tests/gdbus-close-pending.c:160,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - stream
    - cancellable
    - error
    argTypes:
    - GOutputStream*
    - GCancellable*
    - GError**
    constantsTouched: []
    func_position:
      end: 162
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 162
    functionName: my_slow_close_output_stream_close
    functionSourceFile: /src/glib/gio/tests/gdbus-close-pending.c
    functionUses: []
    functionsReached:
    - G_OUTPUT_STREAM_CLASS
    - g_usleep
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean my_slow_close_output_stream_close (GOutputStream *stream,
      GCancellable *cancellable, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/tests/gdbus-close-pending.c:205,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/tests/gdbus-close-pending.c:213,1
    - Dst: g_timeout_source_new
      Src: /src/glib/gio/tests/gdbus-close-pending.c:212,1
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/gdbus-close-pending.c:206,1
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/gdbus-close-pending.c:208,1
    - Dst: g_source_attach
      Src: /src/glib/gio/tests/gdbus-close-pending.c:214,1
    - Dst: g_main_context_get_thread_default
      Src: /src/glib/gio/tests/gdbus-close-pending.c:214,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 5
    argNames:
    - stream
    - io_priority
    - cancellable
    - callback
    - user_data
    argTypes:
    - GOutputStream*
    - int
    - GCancellable*
    - GAsyncReadyCallback
    - gpointer
    constantsTouched: []
    func_position:
      end: 215
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 215
    functionName: my_slow_close_output_stream_close_async
    functionSourceFile: /src/glib/gio/tests/gdbus-close-pending.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - g_timeout_source_new
    - g_source_attach
    - g_main_context_get_thread_default
    - g_object_ref
    - g_new0
    linkageType: ''
    returnType: void
    signature: 'static void my_slow_close_output_stream_close_async (GOutputStream
      *stream, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OUTPUT_STREAM_CLASS
      Src: /src/glib/gio/tests/gdbus-close-pending.c:231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - klass
    argTypes:
    - MySlowCloseOutputStreamClass*
    constantsTouched: []
    func_position:
      end: 235
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 235
    functionName: my_slow_close_output_stream_class_init
    functionSourceFile: /src/glib/gio/tests/gdbus-close-pending.c
    functionUses: []
    functionsReached:
    - G_OUTPUT_STREAM_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void my_slow_close_output_stream_class_init (MySlowCloseOutputStreamClass
      *klass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/tests/gdbus-close-pending.c:116,1
    - Dst: MY_IO_STREAM
      Src: /src/glib/gio/tests/gdbus-close-pending.c:118,1
    - Dst: g_return_val_if_fail
      Src: /src/glib/gio/tests/gdbus-close-pending.c:117,1
    - Dst: G_IS_OUTPUT_STREAM
      Src: /src/glib/gio/tests/gdbus-close-pending.c:117,1
    - Dst: G_IS_INPUT_STREAM
      Src: /src/glib/gio/tests/gdbus-close-pending.c:116,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/gdbus-close-pending.c:118,1
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/gdbus-close-pending.c:119,1
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/gdbus-close-pending.c:120,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/gdbus-close-pending.c:121,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 122
    functionName: my_io_stream_new
    functionSourceFile: /src/glib/gio/tests/gdbus-close-pending.c
    functionUses: []
    functionsReached:
    - G_IO_STREAM
    - g_return_val_if_fail
    - MY_IO_STREAM
    - g_object_new
    - g_object_ref
    - G_IS_OUTPUT_STREAM
    - G_IS_INPUT_STREAM
    linkageType: ''
    returnType: GIOStream*
    signature: 'static GIOStream *my_io_stream_new (GInputStream *input_stream, GOutputStream
      *output_stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OUTPUT_STREAM_CLASS
      Src: /src/glib/gio/tests/gdbus-close-pending.c:222,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - stream
    - result
    - error
    argTypes:
    - GOutputStream*
    - GAsyncResult*
    - GError**
    constantsTouched: []
    func_position:
      end: 224
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 224
    functionName: my_slow_close_output_stream_close_finish
    functionSourceFile: /src/glib/gio/tests/gdbus-close-pending.c
    functionUses: []
    functionsReached:
    - G_OUTPUT_STREAM_CLASS
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean my_slow_close_output_stream_close_finish (GOutputStream
      *stream, GAsyncResult *result, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_input_stream_new
      Src: /src/glib/gio/tests/gdbus-close-pending.c:245,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-close-pending.c:251,1
    - Dst: my_io_stream_new
      Src: /src/glib/gio/tests/gdbus-close-pending.c:250,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/gdbus-close-pending.c:247,1
    - Dst: g_unix_output_stream_new
      Src: /src/glib/gio/tests/gdbus-close-pending.c:246,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-close-pending.c:252,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-close-pending.c:253,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 255
    functionName: my_io_stream_new_for_fds
    functionSourceFile: /src/glib/gio/tests/gdbus-close-pending.c
    functionUses: []
    functionsReached:
    - my_io_stream_new
    - g_object_unref
    - g_object_new
    - g_unix_input_stream_new
    - g_unix_output_stream_new
    linkageType: ''
    returnType: GIOStream*
    signature: 'static GIOStream *my_io_stream_new_for_fds (gint fd_in, gint fd_out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-close-pending.c:281,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-close-pending.c:284,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-close-pending.c:282,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-close-pending.c:283,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gdbus-close-pending.c:285,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-close-pending.c:286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - f
    - context
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 287
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 287
    functionName: teardown
    functionSourceFile: /src/glib/gio/tests/gdbus-close-pending.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_clear_object
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void teardown (Fixture *f, gconstpointer context) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_new
      Src: /src/glib/gio/tests/gdbus-close-pending.c:326,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-close-pending.c:342,1
    - Dst: g_dbus_connection_send_message
      Src: /src/glib/gio/tests/gdbus-close-pending.c:341,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-close-pending.c:353,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-close-pending.c:348,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-close-pending.c:358,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-close-pending.c:346,1
    - Dst: g_unix_open_pipe
      Src: /src/glib/gio/tests/gdbus-close-pending.c:308,1
    - Dst: my_io_stream_new_for_fds
      Src: /src/glib/gio/tests/gdbus-close-pending.c:313,1
    - Dst: g_unix_open_pipe
      Src: /src/glib/gio/tests/gdbus-close-pending.c:310,1
    - Dst: g_dbus_connection_new
      Src: /src/glib/gio/tests/gdbus-close-pending.c:318,1
    - Dst: g_dbus_connection_is_closed
      Src: /src/glib/gio/tests/gdbus-close-pending.c:357,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-close-pending.c:362,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-close-pending.c:364,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-close-pending.c:311,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-close-pending.c:309,1
    - Dst: my_io_stream_new_for_fds
      Src: /src/glib/gio/tests/gdbus-close-pending.c:315,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-close-pending.c:343,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-close-pending.c:361,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-close-pending.c:334,1
    - Dst: g_dbus_message_new_signal
      Src: /src/glib/gio/tests/gdbus-close-pending.c:340,1
    - Dst: g_dbus_connection_close_sync
      Src: /src/glib/gio/tests/gdbus-close-pending.c:352,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-close-pending.c:363,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gdbus-close-pending.c:365,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 2
    argNames:
    - f
    - context
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 366
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 366
    functionName: test_once
    functionSourceFile: /src/glib/gio/tests/gdbus-close-pending.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_object_unref
    - g_dbus_message_new_signal
    - g_assert
    - g_unix_open_pipe
    - g_assert_no_error
    - g_dbus_connection_send_message
    - g_clear_object
    - g_dbus_connection_is_closed
    - my_io_stream_new_for_fds
    - g_dbus_connection_new
    - g_strcmp0
    - g_main_context_iteration
    - g_dbus_connection_close_sync
    linkageType: ''
    returnType: void
    signature: 'static void test_once (Fixture *f, gconstpointer context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_new_for_address_finish
      Src: /src/glib/gio/tests/gdbus-close-pending.c:297,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-close-pending.c:298,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - source
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 299
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 299
    functionName: on_new_conn
    functionSourceFile: /src/glib/gio/tests/gdbus-close-pending.c
    functionUses: []
    functionsReached:
    - g_assert_no_error
    - g_dbus_connection_new_for_address_finish
    linkageType: ''
    returnType: void
    signature: 'static void on_new_conn (GObject *source, GAsyncResult *res, gpointer
      user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_slow
      Src: /src/glib/gio/tests/gdbus-close-pending.c:374,1
    - Dst: test_once
      Src: /src/glib/gio/tests/gdbus-close-pending.c:380,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - f
    - context
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 381
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 381
    functionName: test_many_times
    functionSourceFile: /src/glib/gio/tests/gdbus-close-pending.c
    functionUses: []
    functionsReached:
    - test_once
    - g_test_slow
    linkageType: ''
    returnType: void
    signature: 'static void test_many_times (Fixture *f, gconstpointer context) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_message_new_method_call
      Src: /src/glib/gio/tests/gdbus-example-unix-fd-client.c:26,1
    - Dst: g_dbus_message_get_message_type
      Src: /src/glib/gio/tests/gdbus-example-unix-fd-client.c:40,1
    - Dst: g_dbus_message_get_unix_fd_list
      Src: /src/glib/gio/tests/gdbus-example-unix-fd-client.c:46,1
    - Dst: g_dbus_message_to_gerror
      Src: /src/glib/gio/tests/gdbus-example-unix-fd-client.c:42,1
    - Dst: g_dbus_connection_send_message_with_reply_sync
      Src: /src/glib/gio/tests/gdbus-example-unix-fd-client.c:30,1
    - Dst: g_unix_fd_list_get
      Src: /src/glib/gio/tests/gdbus-example-unix-fd-client.c:47,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-example-unix-fd-client.c:50,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-example-unix-fd-client.c:51,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 3
    argNames:
    - connection
    - name_owner
    - error
    argTypes:
    - GDBusConnection*
    - gchar*
    - GError**
    constantsTouched: []
    func_position:
      end: 54
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 54
    functionName: get_server_stdout
    functionSourceFile: /src/glib/gio/tests/gdbus-example-unix-fd-client.c
    functionUses: []
    functionsReached:
    - g_dbus_message_to_gerror
    - g_unix_fd_list_get
    - g_dbus_message_new_method_call
    - g_object_unref
    - g_dbus_message_get_message_type
    - g_dbus_connection_send_message_with_reply_sync
    - g_dbus_message_get_unix_fd_list
    linkageType: ''
    returnType: gint
    signature: 'static gint get_server_stdout (GDBusConnection *connection, const
      gchar *name_owner, GError **error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_server_stdout
      Src: /src/glib/gio/tests/gdbus-example-unix-fd-client.c:66,1
    - Dst: exit
      Src: /src/glib/gio/tests/gdbus-example-unix-fd-client.c:72,1
    - Dst: g_date_time_new_now_local
      Src: /src/glib/gio/tests/gdbus-example-unix-fd-client.c:79,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gdbus-example-unix-fd-client.c:69,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-example-unix-fd-client.c:71,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-example-unix-fd-client.c:81,1
    - Dst: g_date_time_format
      Src: /src/glib/gio/tests/gdbus-example-unix-fd-client.c:82,1
    - Dst: g_date_time_unref
      Src: /src/glib/gio/tests/gdbus-example-unix-fd-client.c:83,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gdbus-example-unix-fd-client.c:85,1
    - Dst: getpid
      Src: /src/glib/gio/tests/gdbus-example-unix-fd-client.c:87,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gdbus-example-unix-fd-client.c:92,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-example-unix-fd-client.c:95,1
    - Dst: g_warn_if_fail
      Src: /src/glib/gio/tests/gdbus-example-unix-fd-client.c:89,1
    - Dst: exit
      Src: /src/glib/gio/tests/gdbus-example-unix-fd-client.c:96,1
    - Dst: strlen
      Src: /src/glib/gio/tests/gdbus-example-unix-fd-client.c:88,1
    - Dst: write
      Src: /src/glib/gio/tests/gdbus-example-unix-fd-client.c:89,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-example-unix-fd-client.c:94,1
    - Dst: close
      Src: /src/glib/gio/tests/gdbus-example-unix-fd-client.c:90,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 4
    argNames:
    - connection
    - name
    - name_owner
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 98
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 98
    functionName: on_name_appeared
    functionSourceFile: /src/glib/gio/tests/gdbus-example-unix-fd-client.c
    functionUses: []
    functionsReached:
    - write
    - g_printerr
    - g_date_time_format
    - g_date_time_unref
    - g_strdup_printf
    - strlen
    - g_warn_if_fail
    - g_date_time_new_now_local
    - g_assert_nonnull
    - getpid
    - close
    - g_error_free
    - get_server_stdout
    - g_print
    - g_free
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void on_name_appeared (GDBusConnection *connection, const gchar
      *name, const gchar *name_owner, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bus_watch_name
      Src: /src/glib/gio/tests/gdbus-example-unix-fd-client.c:117,1
    - Dst: g_bus_unwatch_name
      Src: /src/glib/gio/tests/gdbus-example-unix-fd-client.c:128,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-example-unix-fd-client.c:126,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gdbus-example-unix-fd-client.c:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 130
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 130
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gdbus-example-unix-fd-client.c
    functionUses: []
    functionsReached:
    - g_main_loop_new
    - g_main_loop_run
    - g_bus_unwatch_name
    - g_bus_watch_name
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gdbus-example-unix-fd-client.c:105,1
    - Dst: exit
      Src: /src/glib/gio/tests/gdbus-example-unix-fd-client.c:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 109
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 109
    functionName: on_name_vanished
    functionSourceFile: /src/glib/gio/tests/gdbus-example-unix-fd-client.c
    functionUses: []
    functionsReached:
    - g_printerr
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void on_name_vanished (GDBusConnection *connection, const gchar
      *name, gpointer user_data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 2
    argNames:
    - str1
    - str2
    argTypes:
    - gunichar2*
    - gunichar2*
    constantsTouched: []
    func_position:
      end: 50
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 50
    functionName: g_utf16_cmp0
    functionSourceFile: /src/glib/gio/tests/win32-appinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int g_utf16_cmp0 (const gunichar2 *str1, const gunichar2 *str2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/win32-appinfo.c:336,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/win32-appinfo.c:348,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/win32-appinfo.c:347,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/tests/win32-appinfo.c:344,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/tests/win32-appinfo.c:345,1
    - Dst: _g_win32_fixup_broken_microsoft_rundll_commandline
      Src: /src/glib/gio/tests/win32-appinfo.c:349,1
    - Dst: g_assert_cmputf16
      Src: /src/glib/gio/tests/win32-appinfo.c:351,1
    - Dst: g_free
      Src: /src/glib/gio/tests/win32-appinfo.c:353,1
    - Dst: g_free
      Src: /src/glib/gio/tests/win32-appinfo.c:354,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 356
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 356
    functionName: test_win32_rundll32_fixup
    functionSourceFile: /src/glib/gio/tests/win32-appinfo.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - g_utf8_to_utf16
    - g_assert_nonnull
    - _g_win32_fixup_broken_microsoft_rundll_commandline
    - g_free
    - g_assert_cmputf16
    linkageType: ''
    returnType: void
    signature: 'static void test_win32_rundll32_fixup (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/win32-appinfo.c:416,1
    - Dst: _g_win32_parse_filename
      Src: /src/glib/gio/tests/win32-appinfo.c:421,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/tests/win32-appinfo.c:419,1
    - Dst: g_free
      Src: /src/glib/gio/tests/win32-appinfo.c:422,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 424
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 424
    functionName: test_win32_parse_filename
    functionSourceFile: /src/glib/gio/tests/win32-appinfo.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - g_free
    - g_utf8_to_utf16
    - _g_win32_parse_filename
    linkageType: ''
    returnType: void
    signature: 'static void test_win32_parse_filename (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpmem
      Src: /src/glib/gio/tests/win32-appinfo.c:107,1
    - Dst: g_free
      Src: /src/glib/gio/tests/win32-appinfo.c:108,1
    - Dst: g_utf8_find_basename
      Src: /src/glib/gio/tests/win32-appinfo.c:129,1
    - Dst: g_free
      Src: /src/glib/gio/tests/win32-appinfo.c:112,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/win32-appinfo.c:126,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/win32-appinfo.c:129,1
    - Dst: g_utf16_to_utf8_and_fold
      Src: /src/glib/gio/tests/win32-appinfo.c:114,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/win32-appinfo.c:141,1
    - Dst: g_free
      Src: /src/glib/gio/tests/win32-appinfo.c:144,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/win32-appinfo.c:104,1
    - Dst: g_utf16_len
      Src: /src/glib/gio/tests/win32-appinfo.c:99,1
    - Dst: g_utf16_find_basename
      Src: /src/glib/gio/tests/win32-appinfo.c:102,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/win32-appinfo.c:100,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/tests/win32-appinfo.c:106,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/gio/tests/win32-appinfo.c:111,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/win32-appinfo.c:117,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/win32-appinfo.c:127,1
    - Dst: g_utf16_to_utf8_and_fold
      Src: /src/glib/gio/tests/win32-appinfo.c:122,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/win32-appinfo.c:119,1
    - Dst: g_utf16_to_utf8_and_fold
      Src: /src/glib/gio/tests/win32-appinfo.c:136,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/win32-appinfo.c:140,1
    - Dst: g_free
      Src: /src/glib/gio/tests/win32-appinfo.c:145,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/win32-appinfo.c:91,1
    - Dst: g_wcsdup
      Src: /src/glib/gio/tests/win32-appinfo.c:110,1
    - Dst: g_free
      Src: /src/glib/gio/tests/win32-appinfo.c:132,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 147
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 147
    functionName: test_utf16_strfuncs
    functionSourceFile: /src/glib/gio/tests/win32-appinfo.c
    functionUses: []
    functionsReached:
    - g_utf16_len
    - g_assert_true
    - g_utf8_find_basename
    - g_wcsdup
    - g_utf16_find_basename
    - G_N_ELEMENTS
    - g_assert_cmpuint
    - g_assert_cmpstr
    - g_assert_false
    - g_assert_cmpmem
    - g_utf16_to_utf8_and_fold
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_utf16_strfuncs (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_win32_extract_executable
      Src: /src/glib/gio/tests/win32-appinfo.c:440,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 441
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 441
    functionName: do_fail_on_broken_utf16_2
    functionSourceFile: /src/glib/gio/tests/win32-appinfo.c
    functionUses: []
    functionsReached:
    - _g_win32_extract_executable
    linkageType: ''
    returnType: void
    signature: 'static void do_fail_on_broken_utf16_2 (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/win32-appinfo.c:363,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/win32-appinfo.c:377,1
    - Dst: g_utf8_to_utf16
      Src: /src/glib/gio/tests/win32-appinfo.c:372,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/win32-appinfo.c:379,1
    - Dst: _g_win32_extract_executable
      Src: /src/glib/gio/tests/win32-appinfo.c:374,1
    - Dst: g_free
      Src: /src/glib/gio/tests/win32-appinfo.c:381,1
    - Dst: _g_win32_extract_executable
      Src: /src/glib/gio/tests/win32-appinfo.c:387,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/win32-appinfo.c:389,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/win32-appinfo.c:390,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/win32-appinfo.c:391,1
    - Dst: g_free
      Src: /src/glib/gio/tests/win32-appinfo.c:393,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/win32-appinfo.c:402,1
    - Dst: g_free
      Src: /src/glib/gio/tests/win32-appinfo.c:407,1
    - Dst: _g_win32_extract_executable
      Src: /src/glib/gio/tests/win32-appinfo.c:399,1
    - Dst: g_free
      Src: /src/glib/gio/tests/win32-appinfo.c:404,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/win32-appinfo.c:401,1
    - Dst: g_free
      Src: /src/glib/gio/tests/win32-appinfo.c:405,1
    - Dst: g_free
      Src: /src/glib/gio/tests/win32-appinfo.c:394,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 409
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 409
    functionName: test_win32_extract_executable
    functionSourceFile: /src/glib/gio/tests/win32-appinfo.c
    functionUses: []
    functionsReached:
    - g_assert_null
    - G_N_ELEMENTS
    - g_utf8_to_utf16
    - g_assert_nonnull
    - g_assert_cmpstr
    - _g_win32_extract_executable
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_win32_extract_executable (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _g_win32_extract_executable
      Src: /src/glib/gio/tests/win32-appinfo.c:430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 431
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 431
    functionName: do_fail_on_broken_utf16_1
    functionSourceFile: /src/glib/gio/tests/win32-appinfo.c
    functionUses: []
    functionsReached:
    - _g_win32_extract_executable
    linkageType: ''
    returnType: void
    signature: 'static void do_fail_on_broken_utf16_1 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gio/tests/win32-appinfo.c:446,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gio/tests/win32-appinfo.c:449,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gio/tests/win32-appinfo.c:448,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gio/tests/win32-appinfo.c:450,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gio/tests/win32-appinfo.c:452,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gio/tests/win32-appinfo.c:453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 454
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 454
    functionName: test_fail_on_broken_utf16
    functionSourceFile: /src/glib/gio/tests/win32-appinfo.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_failed
    - g_test_trap_subprocess
    - g_test_trap_assert_stderr
    linkageType: ''
    returnType: void
    signature: 'static void test_fail_on_broken_utf16 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/win32-appinfo.c:460,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/win32-appinfo.c:465,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/win32-appinfo.c:463,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/win32-appinfo.c:464,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/win32-appinfo.c:462,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/win32-appinfo.c:466,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/win32-appinfo.c:468,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/win32-appinfo.c:469,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/win32-appinfo.c:471,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 472
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 472
    functionName: main
    functionSourceFile: /src/glib/gio/tests/win32-appinfo.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_fake_flatpak_info
      Src: /src/glib/gio/tests/portal-support-flatpak-network-only.c:31,1
    - Dst: g_get_user_runtime_dir
      Src: /src/glib/gio/tests/portal-support-flatpak-network-only.c:31,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/portal-support-flatpak-network-only.c:35,1
    - Dst: glib_should_use_portal
      Src: /src/glib/gio/tests/portal-support-flatpak-network-only.c:35,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/portal-support-flatpak-network-only.c:36,1
    - Dst: glib_network_available_in_sandbox
      Src: /src/glib/gio/tests/portal-support-flatpak-network-only.c:36,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/portal-support-flatpak-network-only.c:37,1
    - Dst: glib_has_dconf_access_in_sandbox
      Src: /src/glib/gio/tests/portal-support-flatpak-network-only.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 38
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 38
    functionName: test_portal_support_flatpak_network
    functionSourceFile: /src/glib/gio/tests/portal-support-flatpak-network-only.c
    functionUses: []
    functionsReached:
    - create_fake_flatpak_info
    - g_assert_true
    - glib_network_available_in_sandbox
    - glib_should_use_portal
    - g_assert_false
    - glib_has_dconf_access_in_sandbox
    - g_get_user_runtime_dir
    linkageType: ''
    returnType: void
    signature: 'static void test_portal_support_flatpak_network (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/portal-support-flatpak-network-only.c:43,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/portal-support-flatpak-network-only.c:45,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/portal-support-flatpak-network-only.c:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: main
    functionSourceFile: /src/glib/gio/tests/portal-support-flatpak-network-only.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_credentials_new
      Src: /src/glib/gio/tests/credentials.c:34,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/credentials.c:39,1
    - Dst: g_credentials_get_native
      Src: /src/glib/gio/tests/credentials.c:42,1
    - Dst: g_free
      Src: /src/glib/gio/tests/credentials.c:40,1
    - Dst: g_credentials_to_string
      Src: /src/glib/gio/tests/credentials.c:38,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/credentials.c:44,1
    - Dst: GetCurrentProcessId
      Src: /src/glib/gio/tests/credentials.c:44,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/credentials.c:46,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 47
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 47
    functionName: test_basic
    functionSourceFile: /src/glib/gio/tests/credentials.c
    functionUses: []
    functionsReached:
    - GetCurrentProcessId
    - g_credentials_get_native
    - g_object_unref
    - g_credentials_to_string
    - g_test_message
    - g_assert_cmpuint
    - g_free
    - g_credentials_new
    linkageType: ''
    returnType: void
    signature: 'static void test_basic (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/credentials.c:105,1
    - Dst: geteuid
      Src: /src/glib/gio/tests/credentials.c:154,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/credentials.c:66,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/credentials.c:70,1
    - Dst: g_credentials_get_unix_pid
      Src: /src/glib/gio/tests/credentials.c:82,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/credentials.c:84,1
    - Dst: g_free
      Src: /src/glib/gio/tests/credentials.c:115,1
    - Dst: g_credentials_new
      Src: /src/glib/gio/tests/credentials.c:55,1
    - Dst: getpid
      Src: /src/glib/gio/tests/credentials.c:123,1
    - Dst: g_credentials_get_native
      Src: /src/glib/gio/tests/credentials.c:159,1
    - Dst: getpid
      Src: /src/glib/gio/tests/credentials.c:147,1
    - Dst: g_credentials_to_string
      Src: /src/glib/gio/tests/credentials.c:113,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/credentials.c:138,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/credentials.c:155,1
    - Dst: g_credentials_get_native
      Src: /src/glib/gio/tests/credentials.c:151,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/credentials.c:77,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/credentials.c:88,1
    - Dst: g_credentials_set_unix_user
      Src: /src/glib/gio/tests/credentials.c:91,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/credentials.c:195,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/credentials.c:82,1
    - Dst: getpid
      Src: /src/glib/gio/tests/credentials.c:83,1
    - Dst: g_credentials_to_string
      Src: /src/glib/gio/tests/credentials.c:109,1
    - Dst: geteuid
      Src: /src/glib/gio/tests/credentials.c:122,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/credentials.c:163,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/credentials.c:130,1
    - Dst: g_credentials_get_native
      Src: /src/glib/gio/tests/credentials.c:176,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/credentials.c:171,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/credentials.c:146,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/credentials.c:100,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/credentials.c:65,1
    - Dst: geteuid
      Src: /src/glib/gio/tests/credentials.c:72,1
    - Dst: g_credentials_get_unix_pid
      Src: /src/glib/gio/tests/credentials.c:86,1
    - Dst: getpid
      Src: /src/glib/gio/tests/credentials.c:155,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/credentials.c:98,1
    - Dst: g_credentials_get_unix_user
      Src: /src/glib/gio/tests/credentials.c:104,1
    - Dst: g_credentials_get_native
      Src: /src/glib/gio/tests/credentials.c:127,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/credentials.c:178,1
    - Dst: geteuid
      Src: /src/glib/gio/tests/credentials.c:138,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/credentials.c:139,1
    - Dst: g_credentials_get_native
      Src: /src/glib/gio/tests/credentials.c:135,1
    - Dst: geteuid
      Src: /src/glib/gio/tests/credentials.c:104,1
    - Dst: geteuid
      Src: /src/glib/gio/tests/credentials.c:78,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/credentials.c:101,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/credentials.c:110,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/credentials.c:180,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/credentials.c:69,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/credentials.c:86,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/credentials.c:79,1
    - Dst: geteuid
      Src: /src/glib/gio/tests/credentials.c:131,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/credentials.c:191,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/credentials.c:97,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/credentials.c:87,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/credentials.c:93,1
    - Dst: getpid
      Src: /src/glib/gio/tests/credentials.c:139,1
    - Dst: g_credentials_get_native
      Src: /src/glib/gio/tests/credentials.c:143,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/credentials.c:147,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/credentials.c:185,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/credentials.c:122,1
    - Dst: ucred_geteuid
      Src: /src/glib/gio/tests/credentials.c:162,1
    - Dst: g_credentials_get_native
      Src: /src/glib/gio/tests/credentials.c:184,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/credentials.c:186,1
    - Dst: g_free
      Src: /src/glib/gio/tests/credentials.c:111,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/credentials.c:162,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/credentials.c:177,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/credentials.c:114,1
    - Dst: g_credentials_new
      Src: /src/glib/gio/tests/credentials.c:54,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/credentials.c:199,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/credentials.c:96,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/credentials.c:123,1
    - Dst: g_credentials_get_native
      Src: /src/glib/gio/tests/credentials.c:194,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/credentials.c:200,1
    - Dst: g_credentials_is_same_user
      Src: /src/glib/gio/tests/credentials.c:97,1
    - Dst: g_credentials_get_unix_user
      Src: /src/glib/gio/tests/credentials.c:77,1
    - Dst: geteuid
      Src: /src/glib/gio/tests/credentials.c:162,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/credentials.c:94,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/credentials.c:106,1
    - Dst: g_credentials_is_same_user
      Src: /src/glib/gio/tests/credentials.c:105,1
    - Dst: g_credentials_get_native
      Src: /src/glib/gio/tests/credentials.c:119,1
    - Dst: ucred_getpid
      Src: /src/glib/gio/tests/credentials.c:163,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/credentials.c:196,1
    - Dst: geteuid
      Src: /src/glib/gio/tests/credentials.c:146,1
    - Dst: getpid
      Src: /src/glib/gio/tests/credentials.c:163,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/credentials.c:131,1
    - Dst: g_credentials_is_same_user
      Src: /src/glib/gio/tests/credentials.c:69,1
    - Dst: g_credentials_get_unix_user
      Src: /src/glib/gio/tests/credentials.c:96,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/credentials.c:102,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/credentials.c:104,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/credentials.c:154,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 108
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 201
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 201
    functionName: test_basic
    functionSourceFile: /src/glib/gio/tests/credentials.c
    functionUses: []
    functionsReached:
    - g_credentials_get_native
    - g_assert_null
    - g_credentials_get_unix_pid
    - g_credentials_is_same_user
    - geteuid
    - g_test_assert_expected_messages
    - g_object_unref
    - g_credentials_set_unix_user
    - ucred_geteuid
    - g_credentials_new
    - g_assert_cmpint
    - g_test_message
    - g_assert_cmpuint
    - g_assert_no_error
    - g_test_expect_message
    - g_assert_error
    - g_clear_error
    - g_credentials_to_string
    - ucred_getpid
    - g_assert
    - getpid
    - g_credentials_get_unix_user
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_basic (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/credentials.c:209,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/credentials.c:211,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/credentials.c:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 214
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 214
    functionName: main
    functionSourceFile: /src/glib/gio/tests/credentials.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_all
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:40,1
    - Dst: strlen
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:40,1
    - Dst: write_all
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:41,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 45
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 45
    functionName: echo_mode
    functionSourceFile: /src/glib/gio/tests/gsubprocess-testprog.c
    functionUses: []
    functionsReached:
    - write_all
    - strlen
    linkageType: ''
    returnType: int
    signature: "static int echo_mode (int argc,\t char **argv) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_io_channel_unix_new
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:76,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:78,1
    - Dst: g_io_channel_set_encoding
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:77,1
    - Dst: g_io_channel_unix_new
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:79,1
    - Dst: g_io_channel_set_encoding
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:80,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:81,1
    - Dst: g_io_channel_read_chars
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:86,1
    - Dst: g_io_channel_write_chars
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:94,1
    - Dst: g_io_channel_unref
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:102,1
    - Dst: g_io_channel_unref
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:103,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:107,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:108,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 27
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 112
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 112
    functionName: cat_mode
    functionSourceFile: /src/glib/gio/tests/gsubprocess-testprog.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_io_channel_unix_new
    - g_printerr
    - g_io_channel_read_chars
    - g_assert_no_error
    - g_io_channel_write_chars
    - g_io_channel_unref
    - g_io_channel_set_encoding
    linkageType: ''
    returnType: int
    signature: "static int cat_mode (int argc,\t char **argv) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:133,1
    - Dst: fdopen
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:134,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:138,1
    - Dst: fwrite
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:140,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:141,1
    - Dst: fclose
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:143,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:144,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 148
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 148
    functionName: write_to_fds
    functionSourceFile: /src/glib/gio/tests/gsubprocess-testprog.c
    functionUses: []
    functionsReached:
    - fwrite
    - fclose
    - g_assert
    - g_assert_not_reached
    - fdopen
    - atoi
    linkageType: ''
    returnType: int
    signature: 'static int write_to_fds (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_environ
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:205,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:208,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:210,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 213
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 213
    functionName: env_mode
    functionSourceFile: /src/glib/gio/tests/gsubprocess-testprog.c
    functionUses: []
    functionsReached:
    - g_strfreev
    - g_get_environ
    - g_print
    linkageType: ''
    returnType: int
    signature: 'static int env_mode (int argc, char **argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_getenv
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:234,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:237,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 241
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 241
    functionName: printenv_mode
    functionSourceFile: /src/glib/gio/tests/gsubprocess-testprog.c
    functionUses: []
    functionsReached:
    - g_getenv
    - g_print
    linkageType: ''
    returnType: int
    signature: 'static int printenv_mode (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SUBPROCESS
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:249,1
    - Dst: g_subprocess_wait_finish
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:254,1
    - Dst: g_main_context_wakeup
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:259,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:255,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:256,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 260
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 260
    functionName: on_sleep_exited
    functionSourceFile: /src/glib/gio/tests/gsubprocess-testprog.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_subprocess_wait_finish
    - G_SUBPROCESS
    - g_main_context_wakeup
    - g_assert_no_error
    linkageType: ''
    returnType: void
    signature: 'static void on_sleep_exited (GObject *object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:22,1
    - Dst: g_strerror
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:26,1
    - Dst: g_error
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:25,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - fd
    - buf
    - len
    argTypes:
    - int
    - guint8*
    - gsize
    constantsTouched: []
    func_position:
      end: 30
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 30
    functionName: write_all
    functionSourceFile: /src/glib/gio/tests/gsubprocess-testprog.c
    functionUses: []
    functionsReached:
    - write
    - g_error
    - g_strerror
    linkageType: ''
    returnType: void
    signature: "static void write_all (int fd,\t const guint8* buf,\t gsize len) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_all
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:55,1
    - Dst: strlen
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:57,1
    - Dst: strlen
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:55,1
    - Dst: write_all
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:56,1
    - Dst: write_all
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:57,1
    - Dst: write_all
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 62
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 62
    functionName: echo_stdout_and_stderr_mode
    functionSourceFile: /src/glib/gio/tests/gsubprocess-testprog.c
    functionUses: []
    functionsReached:
    - write_all
    - strlen
    linkageType: ''
    returnType: int
    signature: "static int echo_stdout_and_stderr_mode (int argc,\t\t\t char **argv) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:120,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 124
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 124
    functionName: sleep_forever_mode
    functionSourceFile: /src/glib/gio/tests/gsubprocess-testprog.c
    functionUses: []
    functionsReached:
    - g_main_loop_new
    - g_main_loop_run
    linkageType: ''
    returnType: gint
    signature: "static gint sleep_forever_mode (int argc,\t\t char **argv) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:161,1
    - Dst: g_warning
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:175,1
    - Dst: atoi
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:165,1
    - Dst: g_warning
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:168,1
    - Dst: fdopen
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:172,1
    - Dst: g_strerror
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:175,1
    - Dst: fread
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:179,1
    - Dst: g_warning
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:182,1
    - Dst: memcmp
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:186,1
    - Dst: g_warning
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:189,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:194,1
    - Dst: fclose
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:193,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 197
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 197
    functionName: read_from_fd
    functionSourceFile: /src/glib/gio/tests/gsubprocess-testprog.c
    functionUses: []
    functionsReached:
    - g_warning
    - fclose
    - g_strerror
    - g_assert_not_reached
    - fdopen
    - g_print
    - fread
    - atoi
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'static int read_from_fd (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_get_current_dir
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:220,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:222,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 225
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 225
    functionName: cwd_mode
    functionSourceFile: /src/glib/gio/tests/gsubprocess-testprog.c
    functionUses: []
    functionsReached:
    - g_get_current_dir
    - g_free
    - g_print
    linkageType: ''
    returnType: int
    signature: 'static int cwd_mode (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:272,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:276,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:275,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:277,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:281,1
    - Dst: kill
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:288,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:295,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:297,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:276,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:275,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:282,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:291,1
    - Dst: g_subprocess_launcher_new
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:279,1
    - Dst: g_subprocess_get_successful
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:293,1
    - Dst: atoi
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:284,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:296,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:277,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:278,1
    - Dst: g_subprocess_launcher_spawnv
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:280,1
    - Dst: g_subprocess_get_identifier
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:284,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:293,1
    - Dst: g_subprocess_wait_async
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:286,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 300
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 300
    functionName: sleep_and_kill
    functionSourceFile: /src/glib/gio/tests/gsubprocess-testprog.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_subprocess_get_identifier
    - g_subprocess_launcher_new
    - g_subprocess_launcher_spawnv
    - g_assert_nonnull
    - g_subprocess_get_successful
    - g_assert_no_error
    - g_clear_pointer
    - g_ptr_array_new_with_free_func
    - g_clear_object
    - kill
    - g_assert_false
    - g_main_context_iteration
    - atoi
    - g_ptr_array_add
    - g_subprocess_wait_async
    linkageType: ''
    returnType: int
    signature: 'static int sleep_and_kill (int argc, char **argv) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:334,1
    - Dst: strcmp
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:351,1
    - Dst: g_option_context_new
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:311,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:319,1
    - Dst: echo_mode
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:344,1
    - Dst: strcmp
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:345,1
    - Dst: strcmp
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:347,1
    - Dst: strcmp
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:336,1
    - Dst: echo_stdout_and_stderr_mode
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:346,1
    - Dst: cat_mode
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:348,1
    - Dst: strcmp
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:343,1
    - Dst: strcmp
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:349,1
    - Dst: sleep_forever_mode
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:350,1
    - Dst: strcmp
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:355,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:318,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:313,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:325,1
    - Dst: strcmp
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:338,1
    - Dst: strcmp
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:353,1
    - Dst: read_from_fd
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:354,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:314,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:312,1
    - Dst: g_log_writer_default_set_use_stderr
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:329,1
    - Dst: strcmp
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:332,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:340,1
    - Dst: write_to_fds
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:352,1
    - Dst: env_mode
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:356,1
    - Dst: strcmp
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:357,1
    - Dst: cwd_mode
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:358,1
    - Dst: strcmp
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:359,1
    - Dst: printenv_mode
      Src: /src/glib/gio/tests/gsubprocess-testprog.c:360,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 53
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 372
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 372
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gsubprocess-testprog.c
    functionUses: []
    functionsReached:
    - g_printerr
    - sleep_forever_mode
    - g_option_context_free
    - printenv_mode
    - g_option_context_new
    - cwd_mode
    - echo_stdout_and_stderr_mode
    - strcmp
    - write_to_fds
    - read_from_fd
    - g_log_writer_default_set_use_stderr
    - g_error_free
    - echo_mode
    - g_option_context_parse
    - cat_mode
    - g_option_context_add_main_entries
    - env_mode
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:115,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:119,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:120,1
    - Dst: g_subprocess_newv
      Src: /src/glib/gio/tests/gsubprocess.c:116,1
    - Dst: g_subprocess_wait_check_async
      Src: /src/glib/gio/tests/gsubprocess.c:122,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 123
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 123
    functionName: test_noop_all_to_null
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_subprocess_newv
    - g_subprocess_wait_check_async
    - g_assert_no_error
    - get_test_subprocess_args
    - g_ptr_array_free
    linkageType: ''
    returnType: void
    signature: 'static void test_noop_all_to_null (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/gsubprocess.c:267,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:272,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:271,1
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:269,1
    - Dst: g_subprocess_newv
      Src: /src/glib/gio/tests/gsubprocess.c:270,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gsubprocess.c:274,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/gsubprocess.c:275,1
    - Dst: g_subprocess_wait_check_async
      Src: /src/glib/gio/tests/gsubprocess.c:276,1
    - Dst: g_subprocess_wait_check
      Src: /src/glib/gio/tests/gsubprocess.c:278,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gsubprocess.c:279,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gsubprocess.c:283,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gsubprocess.c:286,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gsubprocess.c:280,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gsubprocess.c:287,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:285,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/gsubprocess.c:282,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 288
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 288
    functionName: test_exit1_cancel
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_subprocess_newv
    - g_main_loop_run
    - g_object_unref
    - g_subprocess_wait_check_async
    - g_subprocess_wait_check
    - g_test_bug
    - g_main_loop_unref
    - g_assert_no_error
    - g_main_loop_new
    - g_clear_object
    - get_test_subprocess_args
    - g_ptr_array_free
    - g_cancellable_new
    - g_cancellable_cancel
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_exit1_cancel (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gio/tests/gsubprocess.c:1010,1
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:1019,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1023,1
    - Dst: g_subprocess_newv
      Src: /src/glib/gio/tests/gsubprocess.c:1020,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:1024,1
    - Dst: g_bytes_new_static
      Src: /src/glib/gio/tests/gsubprocess.c:1029,1
    - Dst: strlen
      Src: /src/glib/gio/tests/gsubprocess.c:1029,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/gsubprocess.c:1031,1
    - Dst: g_subprocess_communicate_async
      Src: /src/glib/gio/tests/gsubprocess.c:1033,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/gsubprocess.c:1038,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1047,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gsubprocess.c:1044,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gsubprocess.c:1045,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1048,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gsubprocess.c:1042,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1049,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1050
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1050
    functionName: test_communicate_cancelled_async
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_subprocess_newv
    - GPOINTER_TO_INT
    - g_object_unref
    - strlen
    - g_main_context_iteration
    - g_bytes_new_static
    - g_bytes_unref
    - g_assert_no_error
    - get_test_subprocess_args
    - g_ptr_array_free
    - g_subprocess_communicate_async
    - g_cancellable_new
    - g_cancellable_cancel
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_communicate_cancelled_async (gconstpointer test_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gio/tests/gsubprocess.c:1129,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:1142,1
    - Dst: g_subprocess_newv
      Src: /src/glib/gio/tests/gsubprocess.c:1138,1
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:1137,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1141,1
    - Dst: g_subprocess_communicate_utf8
      Src: /src/glib/gio/tests/gsubprocess.c:1148,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1149,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsubprocess.c:1152,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsubprocess.c:1154,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gsubprocess.c:1156,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsubprocess.c:1157,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:1160,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1161,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:1159,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1162
      start: 1126
    functionDepth: 0
    functionLinenumber: 1126
    functionLinenumberEnd: 1162
    functionName: test_communicate_utf8
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_subprocess_newv
    - GPOINTER_TO_INT
    - g_object_unref
    - g_assert_null
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_assert_no_error
    - get_test_subprocess_args
    - g_ptr_array_free
    - g_free
    - g_subprocess_communicate_utf8
    linkageType: ''
    returnType: void
    signature: 'static void test_communicate_utf8 (gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gio/tests/gsubprocess.c:1168,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1179,1
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:1175,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:1180,1
    - Dst: g_subprocess_newv
      Src: /src/glib/gio/tests/gsubprocess.c:1176,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/gsubprocess.c:1182,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/gsubprocess.c:1188,1
    - Dst: g_idle_add
      Src: /src/glib/gio/tests/gsubprocess.c:1189,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gsubprocess.c:1194,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gsubprocess.c:1196,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1200,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1199,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gsubprocess.c:1197,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1201
      start: 1165
    functionDepth: 0
    functionLinenumber: 1165
    functionLinenumberEnd: 1201
    functionName: test_communicate_utf8_cancelled
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_subprocess_newv
    - GPOINTER_TO_INT
    - g_object_unref
    - g_main_context_iteration
    - g_assert_no_error
    - get_test_subprocess_args
    - g_ptr_array_free
    - g_idle_add
    - g_cancellable_new
    - g_cancellable_cancel
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_communicate_utf8_cancelled (gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:1334,1
    - Dst: g_subprocess_newv
      Src: /src/glib/gio/tests/gsubprocess.c:1335,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1337,1
    - Dst: g_subprocess_get_identifier
      Src: /src/glib/gio/tests/gsubprocess.c:1339,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:1336,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gsubprocess.c:1340,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gsubprocess.c:1342,1
    - Dst: g_subprocess_wait_async
      Src: /src/glib/gio/tests/gsubprocess.c:1344,1
    - Dst: g_timeout_add_seconds_once
      Src: /src/glib/gio/tests/gsubprocess.c:1346,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gsubprocess.c:1348,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1351,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1350,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1352
      start: 1324
    functionDepth: 0
    functionLinenumber: 1324
    functionLinenumberEnd: 1352
    functionName: test_terminate
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_subprocess_newv
    - g_main_loop_run
    - g_timeout_add_seconds_once
    - g_subprocess_get_identifier
    - g_object_unref
    - g_assert_nonnull
    - g_main_loop_unref
    - g_assert_no_error
    - g_main_loop_new
    - get_test_subprocess_args
    - g_ptr_array_free
    - g_subprocess_wait_async
    linkageType: ''
    returnType: void
    signature: 'static void test_terminate (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_subprocess_launcher_set_environ
      Src: /src/glib/gio/tests/gsubprocess.c:1470,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsubprocess.c:1474,1
    - Dst: g_subprocess_launcher_getenv
      Src: /src/glib/gio/tests/gsubprocess.c:1474,1
    - Dst: g_subprocess_launcher_getenv
      Src: /src/glib/gio/tests/gsubprocess.c:1476,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsubprocess.c:1487,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1493,1
    - Dst: g_setenv
      Src: /src/glib/gio/tests/gsubprocess.c:1464,1
    - Dst: g_subprocess_launcher_getenv
      Src: /src/glib/gio/tests/gsubprocess.c:1475,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1480,1
    - Dst: g_strsplit
      Src: /src/glib/gio/tests/gsubprocess.c:1485,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsubprocess.c:1486,1
    - Dst: g_environ_getenv
      Src: /src/glib/gio/tests/gsubprocess.c:1487,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsubprocess.c:1488,1
    - Dst: g_environ_getenv
      Src: /src/glib/gio/tests/gsubprocess.c:1488,1
    - Dst: g_subprocess_launcher_new
      Src: /src/glib/gio/tests/gsubprocess.c:1468,1
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:1467,1
    - Dst: g_subprocess_launcher_set_flags
      Src: /src/glib/gio/tests/gsubprocess.c:1469,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsubprocess.c:1476,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsubprocess.c:1475,1
    - Dst: g_subprocess_get_stdout_pipe
      Src: /src/glib/gio/tests/gsubprocess.c:1482,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:1479,1
    - Dst: g_environ_getenv
      Src: /src/glib/gio/tests/gsubprocess.c:1486,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gsubprocess.c:1490,1
    - Dst: g_setenv
      Src: /src/glib/gio/tests/gsubprocess.c:1465,1
    - Dst: g_subprocess_launcher_setenv
      Src: /src/glib/gio/tests/gsubprocess.c:1471,1
    - Dst: g_subprocess_launcher_unsetenv
      Src: /src/glib/gio/tests/gsubprocess.c:1472,1
    - Dst: g_subprocess_launcher_spawn
      Src: /src/glib/gio/tests/gsubprocess.c:1478,1
    - Dst: splice_to_string
      Src: /src/glib/gio/tests/gsubprocess.c:1484,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:1491,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1492,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1494
      start: 1452
    functionDepth: 0
    functionLinenumber: 1452
    functionLinenumberEnd: 1494
    functionName: test_env_inherit
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_subprocess_launcher_new
    - g_assert_null
    - g_subprocess_launcher_spawn
    - g_strsplit
    - g_object_unref
    - g_strfreev
    - g_environ_getenv
    - get_test_subprocess_args
    - splice_to_string
    - g_subprocess_launcher_unsetenv
    - g_subprocess_get_stdout_pipe
    - g_subprocess_launcher_set_flags
    - g_setenv
    - g_subprocess_launcher_getenv
    - g_assert_no_error
    - g_subprocess_launcher_setenv
    - g_subprocess_launcher_set_environ
    - g_ptr_array_free
    - g_assert_cmpstr
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_env_inherit (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_pass_fd
      Src: /src/glib/gio/tests/gsubprocess.c:1815,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1816
      start: 1812
    functionDepth: 0
    functionLinenumber: 1812
    functionLinenumberEnd: 1816
    functionName: test_pass_fd
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - do_test_pass_fd
    linkageType: ''
    returnType: void
    signature: 'static void test_pass_fd (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:133,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:135,1
    - Dst: g_subprocess_newv
      Src: /src/glib/gio/tests/gsubprocess.c:134,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:136,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:138,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 139
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 139
    functionName: test_noop_no_wait
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_subprocess_newv
    - g_object_unref
    - g_assert_no_error
    - get_test_subprocess_args
    - g_ptr_array_free
    linkageType: ''
    returnType: void
    signature: 'static void test_noop_no_wait (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SUBPROCESS
      Src: /src/glib/gio/tests/gsubprocess.c:295,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gsubprocess.c:305,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gsubprocess.c:300,1
    - Dst: g_subprocess_wait_check_finish
      Src: /src/glib/gio/tests/gsubprocess.c:303,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gsubprocess.c:304,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gsubprocess.c:306,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/gsubprocess.c:308,1
    - Dst: g_idle_add
      Src: /src/glib/gio/tests/gsubprocess.c:310,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 311
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 311
    functionName: test_exit1_cancel_in_cb_wait_check_cb
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - G_SUBPROCESS
    - g_subprocess_wait_check_finish
    - g_assert_false
    - g_cancellable_cancel
    - g_idle_add
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_exit1_cancel_in_cb_wait_check_cb (GObject *source,
      GAsyncResult *result, gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_new_static
      Src: /src/glib/gio/tests/gsubprocess.c:911,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsubprocess.c:924,1
    - Dst: strlen
      Src: /src/glib/gio/tests/gsubprocess.c:911,1
    - Dst: g_subprocess_communicate_utf8
      Src: /src/glib/gio/tests/gsubprocess.c:914,1
    - Dst: g_subprocess_communicate
      Src: /src/glib/gio/tests/gsubprocess.c:917,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsubprocess.c:925,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsubprocess.c:929,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsubprocess.c:930,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/tests/gsubprocess.c:933,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 936
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 936
    functionName: on_test_communicate_cancelled_idle
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - strlen
    - g_assert_null
    - g_bytes_new_static
    - g_bytes_unref
    - g_subprocess_communicate
    - g_subprocess_communicate_utf8
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean on_test_communicate_cancelled_idle (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:1212,1
    - Dst: g_subprocess_communicate_utf8
      Src: /src/glib/gio/tests/gsubprocess.c:1221,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1218,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:1219,1
    - Dst: g_subprocess_newv
      Src: /src/glib/gio/tests/gsubprocess.c:1213,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1222,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsubprocess.c:1224,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:1226,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1228,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1229
      start: 1203
    functionDepth: 0
    functionLinenumber: 1203
    functionLinenumberEnd: 1229
    functionName: test_communicate_nothing
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_subprocess_newv
    - g_object_unref
    - g_assert_cmpstr
    - g_assert_no_error
    - get_test_subprocess_args
    - g_ptr_array_free
    - g_free
    - g_subprocess_communicate_utf8
    linkageType: ''
    returnType: void
    signature: 'static void test_communicate_nothing (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_subprocess_new
      Src: /src/glib/gio/tests/gsubprocess.c:1360,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gsubprocess.c:1367,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsubprocess.c:1366,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gsubprocess.c:1365,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1368
      start: 1354
    functionDepth: 0
    functionLinenumber: 1354
    functionLinenumberEnd: 1368
    functionName: test_fail_initialization
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_assert_null
    - g_clear_error
    - g_assert_error
    - g_subprocess_new
    linkageType: ''
    returnType: void
    signature: 'static void test_fail_initialization (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:1431,1
    - Dst: g_subprocess_launcher_spawn
      Src: /src/glib/gio/tests/gsubprocess.c:1430,1
    - Dst: splice_to_string
      Src: /src/glib/gio/tests/gsubprocess.c:1437,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1432,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsubprocess.c:1441,1
    - Dst: g_environ_getenv
      Src: /src/glib/gio/tests/gsubprocess.c:1442,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gsubprocess.c:1444,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gsubprocess.c:1419,1
    - Dst: g_subprocess_launcher_set_flags
      Src: /src/glib/gio/tests/gsubprocess.c:1422,1
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:1420,1
    - Dst: g_subprocess_launcher_new
      Src: /src/glib/gio/tests/gsubprocess.c:1421,1
    - Dst: g_subprocess_launcher_setenv
      Src: /src/glib/gio/tests/gsubprocess.c:1424,1
    - Dst: g_subprocess_get_stdout_pipe
      Src: /src/glib/gio/tests/gsubprocess.c:1435,1
    - Dst: g_environ_getenv
      Src: /src/glib/gio/tests/gsubprocess.c:1440,1
    - Dst: g_getenv
      Src: /src/glib/gio/tests/gsubprocess.c:1419,1
    - Dst: g_subprocess_launcher_set_environ
      Src: /src/glib/gio/tests/gsubprocess.c:1423,1
    - Dst: g_subprocess_launcher_setenv
      Src: /src/glib/gio/tests/gsubprocess.c:1425,1
    - Dst: g_subprocess_launcher_unsetenv
      Src: /src/glib/gio/tests/gsubprocess.c:1426,1
    - Dst: g_strsplit
      Src: /src/glib/gio/tests/gsubprocess.c:1438,1
    - Dst: g_environ_getenv
      Src: /src/glib/gio/tests/gsubprocess.c:1439,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:1445,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1447,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsubprocess.c:1428,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:1433,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsubprocess.c:1439,1
    - Dst: g_subprocess_launcher_getenv
      Src: /src/glib/gio/tests/gsubprocess.c:1428,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsubprocess.c:1440,1
    - Dst: g_environ_getenv
      Src: /src/glib/gio/tests/gsubprocess.c:1441,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsubprocess.c:1442,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1446,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1448
      start: 1406
    functionDepth: 0
    functionLinenumber: 1406
    functionLinenumberEnd: 1448
    functionName: test_env
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_subprocess_launcher_new
    - g_assert_null
    - g_subprocess_launcher_spawn
    - g_strsplit
    - g_object_unref
    - g_strfreev
    - g_environ_getenv
    - get_test_subprocess_args
    - splice_to_string
    - g_subprocess_launcher_unsetenv
    - g_subprocess_get_stdout_pipe
    - g_subprocess_launcher_set_flags
    - g_getenv
    - g_subprocess_launcher_getenv
    - g_assert_no_error
    - g_subprocess_launcher_setenv
    - g_subprocess_launcher_set_environ
    - g_ptr_array_free
    - g_assert_cmpstr
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_env (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_subprocess_launcher_set_cwd
      Src: /src/glib/gio/tests/gsubprocess.c:1512,1
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:1509,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:1515,1
    - Dst: strlen
      Src: /src/glib/gio/tests/gsubprocess.c:1522,1
    - Dst: g_path_get_basename
      Src: /src/glib/gio/tests/gsubprocess.c:1529,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsubprocess.c:1531,1
    - Dst: g_subprocess_launcher_spawnv
      Src: /src/glib/gio/tests/gsubprocess.c:1514,1
    - Dst: g_subprocess_get_stdout_pipe
      Src: /src/glib/gio/tests/gsubprocess.c:1518,1
    - Dst: strlen
      Src: /src/glib/gio/tests/gsubprocess.c:1525,1
    - Dst: g_strstrip
      Src: /src/glib/gio/tests/gsubprocess.c:1530,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:1533,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1536,1
    - Dst: g_get_tmp_dir
      Src: /src/glib/gio/tests/gsubprocess.c:1506,1
    - Dst: g_subprocess_launcher_set_flags
      Src: /src/glib/gio/tests/gsubprocess.c:1511,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:1535,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1537,1
    - Dst: g_subprocess_launcher_new
      Src: /src/glib/gio/tests/gsubprocess.c:1510,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1516,1
    - Dst: splice_to_string
      Src: /src/glib/gio/tests/gsubprocess.c:1520,1
    - Dst: g_path_get_basename
      Src: /src/glib/gio/tests/gsubprocess.c:1530,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1521,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsubprocess.c:1525,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:1532,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1538
      start: 1496
    functionDepth: 0
    functionLinenumber: 1496
    functionLinenumberEnd: 1538
    functionName: test_cwd
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_subprocess_get_stdout_pipe
    - g_subprocess_launcher_set_cwd
    - g_path_get_basename
    - g_subprocess_launcher_set_flags
    - g_subprocess_launcher_new
    - g_subprocess_launcher_spawnv
    - strlen
    - g_object_unref
    - g_assert_cmpstr
    - g_assert_no_error
    - g_get_tmp_dir
    - g_strstrip
    - get_test_subprocess_args
    - g_ptr_array_free
    - g_free
    - splice_to_string
    linkageType: ''
    returnType: void
    signature: 'static void test_cwd (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/glib/gio/tests/gsubprocess.c:1574,1
    - Dst: close
      Src: /src/glib/gio/tests/gsubprocess.c:1586,1
    - Dst: fcntl
      Src: /src/glib/gio/tests/gsubprocess.c:1565,1
    - Dst: g_subprocess_launcher_new
      Src: /src/glib/gio/tests/gsubprocess.c:1562,1
    - Dst: dup
      Src: /src/glib/gio/tests/gsubprocess.c:1561,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsubprocess.c:1568,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gsubprocess.c:1573,1
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:1579,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsubprocess.c:1582,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1587,1
    - Dst: fcntl
      Src: /src/glib/gio/tests/gsubprocess.c:1567,1
    - Dst: g_subprocess_launcher_close
      Src: /src/glib/gio/tests/gsubprocess.c:1570,1
    - Dst: fcntl
      Src: /src/glib/gio/tests/gsubprocess.c:1572,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:1581,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gsubprocess.c:1583,1
    - Dst: dup
      Src: /src/glib/gio/tests/gsubprocess.c:1560,1
    - Dst: g_subprocess_launcher_take_fd
      Src: /src/glib/gio/tests/gsubprocess.c:1563,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsubprocess.c:1566,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gsubprocess.c:1584,1
    - Dst: g_subprocess_launcher_spawnv
      Src: /src/glib/gio/tests/gsubprocess.c:1580,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsubprocess.c:1575,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1588
      start: 1541
    functionDepth: 0
    functionLinenumber: 1541
    functionLinenumberEnd: 1588
    functionName: test_subprocess_launcher_close
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - get_test_subprocess_args
    - g_assert_true
    - g_object_unref
    - g_subprocess_launcher_new
    - dup
    - g_subprocess_launcher_spawnv
    - g_assert_null
    - close
    - fcntl
    - g_assert_false
    - g_subprocess_launcher_close
    - g_ptr_array_free
    - g_subprocess_launcher_take_fd
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_subprocess_launcher_close (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gio/tests/gsubprocess.c:1090,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1101,1
    - Dst: g_subprocess_newv
      Src: /src/glib/gio/tests/gsubprocess.c:1098,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:1102,1
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:1097,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/gsubprocess.c:1104,1
    - Dst: g_subprocess_communicate_utf8_async
      Src: /src/glib/gio/tests/gsubprocess.c:1106,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/gsubprocess.c:1111,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gsubprocess.c:1115,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gsubprocess.c:1117,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gsubprocess.c:1118,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1121,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1120,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1122
      start: 1087
    functionDepth: 0
    functionLinenumber: 1087
    functionLinenumberEnd: 1122
    functionName: test_communicate_utf8_cancelled_async
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_subprocess_newv
    - GPOINTER_TO_INT
    - g_subprocess_communicate_utf8_async
    - g_object_unref
    - g_main_context_iteration
    - g_assert_no_error
    - get_test_subprocess_args
    - g_ptr_array_free
    - g_cancellable_new
    - g_cancellable_cancel
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_communicate_utf8_cancelled_async (gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1821
      start: 1818
    functionDepth: 0
    functionLinenumber: 1818
    functionLinenumberEnd: 1821
    functionName: empty_child_setup
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void empty_child_setup (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_fd_conflation
      Src: /src/glib/gio/tests/gsubprocess.c:2009,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2010
      start: 2003
    functionDepth: 0
    functionLinenumber: 2003
    functionLinenumberEnd: 2010
    functionName: test_fd_conflation_child_err_report_fd
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - do_test_fd_conflation
    linkageType: ''
    returnType: void
    signature: 'static void test_fd_conflation_child_err_report_fd (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/gsubprocess.c:2190,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2198,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2199,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2202,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2203,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/gsubprocess.c:2213,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2210,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2209,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2208,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2206,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:2220,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/tests/gsubprocess.c:2238,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2263,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/gsubprocess.c:2228,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2260,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2261,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2277,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2280,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/tests/gsubprocess.c:2233,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2275,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2204,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gsubprocess.c:2222,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gsubprocess.c:2237,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gsubprocess.c:2242,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:2245,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2258,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2267,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2272,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/gsubprocess.c:2253,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/tests/gsubprocess.c:2228,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2269,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2270,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:2255,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2265,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2193,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2195,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2194,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2192,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2197,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2201,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gsubprocess.c:2217,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/gsubprocess.c:2218,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/tests/gsubprocess.c:2218,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:2225,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:2235,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/tests/gsubprocess.c:2253,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2264,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:2250,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2262,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/gsubprocess.c:2243,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2278,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2259,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2276,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/tests/gsubprocess.c:2248,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/tests/gsubprocess.c:2223,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2274,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gsubprocess.c:2232,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gsubprocess.c:2247,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gsubprocess.c:2252,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:2230,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2273,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/gsubprocess.c:2223,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gsubprocess.c:2227,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/gsubprocess.c:2282,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/gsubprocess.c:2238,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2271,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/tests/gsubprocess.c:2243,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gsubprocess.c:2268,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:2240,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/gsubprocess.c:2248,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/gsubprocess.c:2233,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 85
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 2283
      start: 2171
    functionDepth: 0
    functionLinenumber: 2171
    functionLinenumberEnd: 2283
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_strdup_printf
    - g_test_add_data_func
    - G_N_ELEMENTS
    - g_free
    - g_test_run
    - GINT_TO_POINTER
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:78,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:81,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:80,1
    - Dst: g_subprocess_newv
      Src: /src/glib/gio/tests/gsubprocess.c:79,1
    - Dst: g_subprocess_wait_check
      Src: /src/glib/gio/tests/gsubprocess.c:83,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:84,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsubprocess.c:85,1
    - Dst: g_subprocess_get_successful
      Src: /src/glib/gio/tests/gsubprocess.c:85,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:87,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 88
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 88
    functionName: test_noop
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_subprocess_newv
    - g_assert_true
    - g_object_unref
    - g_subprocess_wait_check
    - g_subprocess_get_successful
    - g_assert_no_error
    - get_test_subprocess_args
    - g_ptr_array_free
    linkageType: ''
    returnType: void
    signature: 'static void test_noop (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gsubprocess.c:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 235
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 235
    functionName: test_exit1_cancel_idle_quit_cb
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean test_exit1_cancel_idle_quit_cb (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/gsubprocess.c:322,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:326,1
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:324,1
    - Dst: g_subprocess_newv
      Src: /src/glib/gio/tests/gsubprocess.c:325,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:327,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gsubprocess.c:329,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/gsubprocess.c:330,1
    - Dst: g_subprocess_wait_check_async
      Src: /src/glib/gio/tests/gsubprocess.c:331,1
    - Dst: g_subprocess_wait_check
      Src: /src/glib/gio/tests/gsubprocess.c:333,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gsubprocess.c:334,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gsubprocess.c:337,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:339,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gsubprocess.c:341,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gsubprocess.c:335,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gsubprocess.c:340,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 342
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 342
    functionName: test_exit1_cancel_in_cb
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_subprocess_newv
    - g_main_loop_run
    - g_object_unref
    - g_subprocess_wait_check_async
    - g_subprocess_wait_check
    - g_test_bug
    - g_main_loop_unref
    - g_assert_no_error
    - g_main_loop_new
    - g_clear_object
    - get_test_subprocess_args
    - g_ptr_array_free
    - g_cancellable_new
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_exit1_cancel_in_cb (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:377,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:379,1
    - Dst: g_subprocess_newv
      Src: /src/glib/gio/tests/gsubprocess.c:378,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:380,1
    - Dst: g_subprocess_get_stdout_pipe
      Src: /src/glib/gio/tests/gsubprocess.c:382,1
    - Dst: splice_to_string
      Src: /src/glib/gio/tests/gsubprocess.c:384,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:385,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsubprocess.c:387,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:389,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:390,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 391
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 391
    functionName: test_echo1
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_subprocess_newv
    - g_subprocess_get_stdout_pipe
    - g_object_unref
    - g_assert_cmpstr
    - g_assert_no_error
    - get_test_subprocess_args
    - g_ptr_array_free
    - g_free
    - splice_to_string
    linkageType: ''
    returnType: void
    signature: 'static void test_echo1 (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G_SUBPROCESS
      Src: /src/glib/gio/tests/gsubprocess.c:633,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/gio/tests/gsubprocess.c:645,1
    - Dst: g_propagate_error
      Src: /src/glib/gio/tests/gsubprocess.c:642,1
    - Dst: g_subprocess_get_status
      Src: /src/glib/gio/tests/gsubprocess.c:645,1
    - Dst: g_subprocess_wait_finish
      Src: /src/glib/gio/tests/gsubprocess.c:637,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:646,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gsubprocess.c:649,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 650
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 650
    functionName: on_subprocess_exited
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_propagate_error
    - g_spawn_check_wait_status
    - g_subprocess_wait_finish
    - G_SUBPROCESS
    - g_subprocess_get_status
    - g_assert_no_error
    - g_main_loop_quit
    linkageType: ''
    returnType: void
    signature: 'static void on_subprocess_exited (GObject *object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1715,1
    - Dst: G_FILE_DESCRIPTOR_BASED
      Src: /src/glib/gio/tests/gsubprocess.c:1717,1
    - Dst: g_subprocess_launcher_new
      Src: /src/glib/gio/tests/gsubprocess.c:1720,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1738,1
    - Dst: g_subprocess_launcher_set_child_setup
      Src: /src/glib/gio/tests/gsubprocess.c:1721,1
    - Dst: g_subprocess_launcher_spawnv
      Src: /src/glib/gio/tests/gsubprocess.c:1722,1
    - Dst: g_file_load_contents
      Src: /src/glib/gio/tests/gsubprocess.c:1741,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:1745,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/gsubprocess.c:1747,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1748,1
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/gsubprocess.c:1714,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/tests/gsubprocess.c:1721,1
    - Dst: g_subprocess_get_stdin_pipe
      Src: /src/glib/gio/tests/gsubprocess.c:1728,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/gsubprocess.c:1730,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gsubprocess.c:1726,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1734,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1742,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsubprocess.c:1744,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1739,1
    - Dst: g_file_descriptor_based_get_fd
      Src: /src/glib/gio/tests/gsubprocess.c:1717,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/gsubprocess.c:1717,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/gsubprocess.c:1717,1
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:1719,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1724,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1731,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/tests/gsubprocess.c:1733,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:1723,1
    - Dst: strlen
      Src: /src/glib/gio/tests/gsubprocess.c:1730,1
    - Dst: g_subprocess_wait_check
      Src: /src/glib/gio/tests/gsubprocess.c:1736,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1749
      start: 1699
    functionDepth: 0
    functionLinenumber: 1699
    functionLinenumberEnd: 1749
    functionName: test_child_setup
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - G_IO_STREAM
    - g_file_descriptor_based_get_fd
    - g_subprocess_launcher_new
    - g_object_unref
    - g_output_stream_close
    - g_file_delete
    - g_file_new_tmp
    - g_clear_object
    - g_output_stream_write_all
    - get_test_subprocess_args
    - g_io_stream_get_output_stream
    - g_file_load_contents
    - G_FILE_DESCRIPTOR_BASED
    - strlen
    - g_subprocess_launcher_spawnv
    - g_subprocess_wait_check
    - g_assert_no_error
    - GINT_TO_POINTER
    - g_ptr_array_free
    - g_subprocess_get_stdin_pipe
    - g_assert_cmpstr
    - g_subprocess_launcher_set_child_setup
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_child_setup (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/gio/tests/gsubprocess.c:1866,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/gio/tests/gsubprocess.c:1869,1
    - Dst: g_unix_open_pipe
      Src: /src/glib/gio/tests/gsubprocess.c:1876,1
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:1931,1
    - Dst: close
      Src: /src/glib/gio/tests/gsubprocess.c:1944,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1967,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsubprocess.c:1969,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1970,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gio/tests/gsubprocess.c:1868,1
    - Dst: g_unix_open_pipe
      Src: /src/glib/gio/tests/gsubprocess.c:1873,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1877,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsubprocess.c:1881,1
    - Dst: g_subprocess_launcher_new
      Src: /src/glib/gio/tests/gsubprocess.c:1925,1
    - Dst: g_subprocess_launcher_take_fd
      Src: /src/glib/gio/tests/gsubprocess.c:1926,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:1935,1
    - Dst: g_unix_output_stream_new
      Src: /src/glib/gio/tests/gsubprocess.c:1961,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsubprocess.c:1968,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1973,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsubprocess.c:1882,1
    - Dst: g_subprocess_launcher_set_child_setup
      Src: /src/glib/gio/tests/gsubprocess.c:1929,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1933,1
    - Dst: g_subprocess_launcher_take_fd
      Src: /src/glib/gio/tests/gsubprocess.c:1927,1
    - Dst: g_subprocess_launcher_spawnv
      Src: /src/glib/gio/tests/gsubprocess.c:1932,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1936,1
    - Dst: close
      Src: /src/glib/gio/tests/gsubprocess.c:1940,1
    - Dst: close
      Src: /src/glib/gio/tests/gsubprocess.c:1941,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/gsubprocess.c:1962,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1974,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1874,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsubprocess.c:1880,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gsubprocess.c:1930,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gsubprocess.c:1934,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:1937,1
    - Dst: g_subprocess_wait_check
      Src: /src/glib/gio/tests/gsubprocess.c:1972,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 54
    argCount: 3
    argNames:
    - flags
    - child_setup
    - test_child_err_report_fd
    argTypes:
    - GSubprocessFlags
    - GSpawnChildSetupFunc
    - gboolean
    constantsTouched: []
    func_position:
      end: 1975
      start: 1845
    functionDepth: 0
    functionLinenumber: 1845
    functionLinenumberEnd: 1975
    functionName: do_test_fd_conflation
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_subprocess_launcher_new
    - g_test_trap_assert_passed
    - g_assert_true
    - g_object_unref
    - g_assert_nonnull
    - g_output_stream_write_all
    - get_test_subprocess_args
    - g_subprocess_launcher_take_fd
    - g_assert_cmpint
    - g_unix_output_stream_new
    - g_subprocess_launcher_spawnv
    - g_subprocess_wait_check
    - g_assert_no_error
    - g_test_trap_subprocess
    - g_test_subprocess
    - g_ptr_array_free
    - g_unix_open_pipe
    - close
    - g_subprocess_launcher_set_child_setup
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void do_test_fd_conflation (GSubprocessFlags flags, GSpawnChildSetupFunc
      child_setup, gboolean test_child_err_report_fd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_subprocess_wait_check_finish
      Src: /src/glib/gio/tests/gsubprocess.c:98,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:102,1
    - Dst: G_SUBPROCESS
      Src: /src/glib/gio/tests/gsubprocess.c:98,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:104,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsubprocess.c:101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - source
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 105
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 105
    functionName: check_ready
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_object_unref
    - G_SUBPROCESS
    - g_assert_no_error
    - g_subprocess_wait_check_finish
    linkageType: ''
    returnType: void
    signature: 'static void check_ready (GObject *source, GAsyncResult *res, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SUBPROCESS
      Src: /src/glib/gio/tests/gsubprocess.c:242,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gsubprocess.c:252,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gsubprocess.c:251,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gsubprocess.c:247,1
    - Dst: g_subprocess_wait_check_finish
      Src: /src/glib/gio/tests/gsubprocess.c:250,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gsubprocess.c:253,1
    - Dst: g_idle_add
      Src: /src/glib/gio/tests/gsubprocess.c:255,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 256
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 256
    functionName: test_exit1_cancel_wait_check_cb
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - G_SUBPROCESS
    - g_subprocess_wait_check_finish
    - g_assert_false
    - g_idle_add
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_exit1_cancel_wait_check_cb (GObject *source, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_memory_output_stream_new
      Src: /src/glib/gio/tests/gsubprocess.c:351,1
    - Dst: g_output_stream_write
      Src: /src/glib/gio/tests/gsubprocess.c:355,1
    - Dst: g_output_stream_splice
      Src: /src/glib/gio/tests/gsubprocess.c:352,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/tests/gsubprocess.c:358,1
    - Dst: g_memory_output_stream_steal_data
      Src: /src/glib/gio/tests/gsubprocess.c:361,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gsubprocess.c:363,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 365
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 365
    functionName: splice_to_string
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_memory_output_stream_new
    - g_output_stream_close
    - g_clear_object
    - g_output_stream_splice
    - g_memory_output_stream_steal_data
    - g_output_stream_write
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *splice_to_string (GInputStream *stream, GError **error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:679,1
    - Dst: memset
      Src: /src/glib/gio/tests/gsubprocess.c:692,1
    - Dst: g_subprocess_wait_async
      Src: /src/glib/gio/tests/gsubprocess.c:713,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gsubprocess.c:724,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:727,1
    - Dst: g_subprocess_launcher_spawnv
      Src: /src/glib/gio/tests/gsubprocess.c:674,1
    - Dst: g_subprocess_launcher_spawnv
      Src: /src/glib/gio/tests/gsubprocess.c:676,1
    - Dst: g_memory_output_stream_new
      Src: /src/glib/gio/tests/gsubprocess.c:683,1
    - Dst: g_subprocess_get_stdout_pipe
      Src: /src/glib/gio/tests/gsubprocess.c:686,1
    - Dst: g_subprocess_get_stdout_pipe
      Src: /src/glib/gio/tests/gsubprocess.c:688,1
    - Dst: g_subprocess_get_stdin_pipe
      Src: /src/glib/gio/tests/gsubprocess.c:689,1
    - Dst: g_output_stream_splice_async
      Src: /src/glib/gio/tests/gsubprocess.c:704,1
    - Dst: g_subprocess_wait_async
      Src: /src/glib/gio/tests/gsubprocess.c:715,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gsubprocess.c:717,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gsubprocess.c:719,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:728,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:681,1
    - Dst: g_subprocess_get_stdin_pipe
      Src: /src/glib/gio/tests/gsubprocess.c:687,1
    - Dst: g_output_stream_splice_async
      Src: /src/glib/gio/tests/gsubprocess.c:698,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gsubprocess.c:693,1
    - Dst: g_subprocess_get_stdin_pipe
      Src: /src/glib/gio/tests/gsubprocess.c:685,1
    - Dst: g_subprocess_get_stdout_pipe
      Src: /src/glib/gio/tests/gsubprocess.c:690,1
    - Dst: g_timeout_add
      Src: /src/glib/gio/tests/gsubprocess.c:708,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:726,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:729,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:720,1
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:672,1
    - Dst: g_subprocess_launcher_new
      Src: /src/glib/gio/tests/gsubprocess.c:673,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:675,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:677,1
    - Dst: g_subprocess_launcher_spawnv
      Src: /src/glib/gio/tests/gsubprocess.c:678,1
    - Dst: g_output_stream_splice_async
      Src: /src/glib/gio/tests/gsubprocess.c:701,1
    - Dst: g_subprocess_wait_async
      Src: /src/glib/gio/tests/gsubprocess.c:711,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsubprocess.c:722,1
    - Dst: g_memory_output_stream_get_data_size
      Src: /src/glib/gio/tests/gsubprocess.c:722,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:725,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 54
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 730
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 730
    functionName: test_multi_1
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_subprocess_launcher_new
    - g_object_unref
    - g_output_stream_splice_async
    - get_test_subprocess_args
    - g_assert_false
    - g_assert_cmpint
    - g_memory_output_stream_new
    - g_subprocess_get_stdout_pipe
    - g_main_loop_run
    - g_subprocess_launcher_spawnv
    - g_memory_output_stream_get_data_size
    - g_assert_no_error
    - g_main_loop_new
    - g_timeout_add
    - g_ptr_array_free
    - g_subprocess_wait_async
    - g_subprocess_get_stdin_pipe
    - g_main_loop_unref
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void test_multi_1 (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_open_pipe
      Src: /src/glib/gio/tests/gsubprocess.c:1771,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:1787,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:1784,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsubprocess.c:1794,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1796,1
    - Dst: g_data_input_stream_read_line_utf8
      Src: /src/glib/gio/tests/gsubprocess.c:1801,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsubprocess.c:1803,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1806,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1805,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1809,1
    - Dst: g_unix_open_pipe
      Src: /src/glib/gio/tests/gsubprocess.c:1769,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1772,1
    - Dst: g_subprocess_launcher_new
      Src: /src/glib/gio/tests/gsubprocess.c:1778,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:1788,1
    - Dst: g_data_input_stream_new
      Src: /src/glib/gio/tests/gsubprocess.c:1791,1
    - Dst: g_unix_input_stream_new
      Src: /src/glib/gio/tests/gsubprocess.c:1790,1
    - Dst: g_subprocess_launcher_set_child_setup
      Src: /src/glib/gio/tests/gsubprocess.c:1782,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1808,1
    - Dst: g_data_input_stream_new
      Src: /src/glib/gio/tests/gsubprocess.c:1800,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gsubprocess.c:1774,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1795,1
    - Dst: g_unix_input_stream_new
      Src: /src/glib/gio/tests/gsubprocess.c:1799,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1802,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:1804,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1770,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gsubprocess.c:1775,1
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:1777,1
    - Dst: g_subprocess_launcher_take_fd
      Src: /src/glib/gio/tests/gsubprocess.c:1779,1
    - Dst: g_subprocess_launcher_take_fd
      Src: /src/glib/gio/tests/gsubprocess.c:1780,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1785,1
    - Dst: g_subprocess_launcher_spawnv
      Src: /src/glib/gio/tests/gsubprocess.c:1783,1
    - Dst: g_data_input_stream_read_line_utf8
      Src: /src/glib/gio/tests/gsubprocess.c:1792,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1793,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:1797,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 2
    argNames:
    - flags
    - child_setup
    argTypes:
    - GSubprocessFlags
    - GSpawnChildSetupFunc
    constantsTouched: []
    func_position:
      end: 1810
      start: 1751
    functionDepth: 0
    functionLinenumber: 1751
    functionLinenumberEnd: 1810
    functionName: do_test_pass_fd
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_unix_input_stream_new
    - g_subprocess_launcher_new
    - g_object_unref
    - g_subprocess_launcher_spawnv
    - g_unix_open_pipe
    - g_assert_cmpstr
    - g_assert_no_error
    - g_data_input_stream_new
    - g_data_input_stream_read_line_utf8
    - get_test_subprocess_args
    - g_subprocess_launcher_set_child_setup
    - g_free
    - g_ptr_array_free
    - g_subprocess_launcher_take_fd
    linkageType: ''
    returnType: void
    signature: 'static void do_test_pass_fd (GSubprocessFlags flags, GSpawnChildSetupFunc
      child_setup) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_fd_conflation
      Src: /src/glib/gio/tests/gsubprocess.c:1980,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1981
      start: 1977
    functionDepth: 0
    functionLinenumber: 1977
    functionLinenumberEnd: 1981
    functionName: test_fd_conflation
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - do_test_fd_conflation
    linkageType: ''
    returnType: void
    signature: 'static void test_fd_conflation (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:863,1
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:858,1
    - Dst: g_bytes_new_static
      Src: /src/glib/gio/tests/gsubprocess.c:868,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:871,1
    - Dst: strlen
      Src: /src/glib/gio/tests/gsubprocess.c:876,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:888,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/gsubprocess.c:886,1
    - Dst: g_bytes_get_data
      Src: /src/glib/gio/tests/gsubprocess.c:875,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gio/tests/gsubprocess.c:847,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:862,1
    - Dst: g_subprocess_newv
      Src: /src/glib/gio/tests/gsubprocess.c:859,1
    - Dst: strlen
      Src: /src/glib/gio/tests/gsubprocess.c:868,1
    - Dst: g_subprocess_communicate
      Src: /src/glib/gio/tests/gsubprocess.c:870,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gsubprocess.c:881,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/gio/tests/gsubprocess.c:876,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsubprocess.c:883,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/tests/gsubprocess.c:885,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/gsubprocess.c:887,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsubprocess.c:879,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 889
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 889
    functionName: test_communicate
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_subprocess_newv
    - GPOINTER_TO_INT
    - g_object_unref
    - strlen
    - g_assert_null
    - g_bytes_new_static
    - g_assert_nonnull
    - g_bytes_unref
    - g_assert_no_error
    - g_subprocess_communicate
    - g_clear_pointer
    - get_test_subprocess_args
    - g_assert_cmpmem
    - g_ptr_array_free
    - g_bytes_get_data
    linkageType: ''
    returnType: void
    signature: 'static void test_communicate (gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:1276,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:1281,1
    - Dst: g_subprocess_newv
      Src: /src/glib/gio/tests/gsubprocess.c:1277,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1280,1
    - Dst: g_subprocess_communicate_utf8
      Src: /src/glib/gio/tests/gsubprocess.c:1283,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gsubprocess.c:1285,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gsubprocess.c:1286,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gsubprocess.c:1287,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsubprocess.c:1289,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsubprocess.c:1290,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1292,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1293
      start: 1266
    functionDepth: 0
    functionLinenumber: 1266
    functionLinenumberEnd: 1293
    functionName: test_communicate_utf8_invalid
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_subprocess_newv
    - g_object_unref
    - g_assert_null
    - g_assert_error
    - g_assert_no_error
    - g_error_free
    - get_test_subprocess_args
    - g_assert_false
    - g_ptr_array_free
    - g_subprocess_communicate_utf8
    linkageType: ''
    returnType: void
    signature: 'static void test_communicate_utf8_invalid (void) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_no_errno
      Src: /src/glib/gio/tests/gsubprocess.c:2031,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsubprocess.c:2045,1
    - Dst: WIFSIGNALED
      Src: /src/glib/gio/tests/gsubprocess.c:2070,1
    - Dst: WSTOPSIG
      Src: /src/glib/gio/tests/gsubprocess.c:2048,1
    - Dst: WIFEXITED
      Src: /src/glib/gio/tests/gsubprocess.c:2078,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsubprocess.c:2080,1
    - Dst: g_assert_no_errno
      Src: /src/glib/gio/tests/gsubprocess.c:2022,1
    - Dst: g_assert_no_errno
      Src: /src/glib/gio/tests/gsubprocess.c:2023,1
    - Dst: ptrace
      Src: /src/glib/gio/tests/gsubprocess.c:2031,1
    - Dst: WIFSTOPPED
      Src: /src/glib/gio/tests/gsubprocess.c:2047,1
    - Dst: ptrace
      Src: /src/glib/gio/tests/gsubprocess.c:2059,1
    - Dst: g_assert_no_errno
      Src: /src/glib/gio/tests/gsubprocess.c:2067,1
    - Dst: ptrace
      Src: /src/glib/gio/tests/gsubprocess.c:2062,1
    - Dst: g_assert_no_errno
      Src: /src/glib/gio/tests/gsubprocess.c:2071,1
    - Dst: waitpid
      Src: /src/glib/gio/tests/gsubprocess.c:2022,1
    - Dst: ptrace
      Src: /src/glib/gio/tests/gsubprocess.c:2067,1
    - Dst: g_assert_no_errno
      Src: /src/glib/gio/tests/gsubprocess.c:2059,1
    - Dst: ptrace
      Src: /src/glib/gio/tests/gsubprocess.c:2023,1
    - Dst: waitpid
      Src: /src/glib/gio/tests/gsubprocess.c:2040,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsubprocess.c:2044,1
    - Dst: g_assert_no_errno
      Src: /src/glib/gio/tests/gsubprocess.c:2062,1
    - Dst: WIFEXITED
      Src: /src/glib/gio/tests/gsubprocess.c:2070,1
    - Dst: ptrace
      Src: /src/glib/gio/tests/gsubprocess.c:2071,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gsubprocess.c:2077,1
    - Dst: WIFSIGNALED
      Src: /src/glib/gio/tests/gsubprocess.c:2077,1
    - Dst: WEXITSTATUS
      Src: /src/glib/gio/tests/gsubprocess.c:2080,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 1
    argNames:
    - main_child
    argTypes:
    - pid_t
    constantsTouched: []
    func_position:
      end: 2085
      start: 2017
    functionDepth: 0
    functionLinenumber: 2017
    functionLinenumberEnd: 2085
    functionName: trace_children
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - WIFSIGNALED
    - WIFEXITED
    - waitpid
    - ptrace
    - g_assert_false
    - WEXITSTATUS
    - WSTOPSIG
    - g_assert_no_errno
    - WIFSTOPPED
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void trace_children (pid_t main_child) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_subprocess_new
      Src: /src/glib/gio/tests/gsubprocess.c:168,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:174,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:172,1
    - Dst: g_subprocess_wait_check
      Src: /src/glib/gio/tests/gsubprocess.c:171,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:169,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 175
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 175
    functionName: test_search_path
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_assert_no_error
    - g_subprocess_wait_check
    - g_object_unref
    - g_subprocess_new
    linkageType: ''
    returnType: void
    signature: 'static void test_search_path (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gio/tests/gsubprocess.c:806,1
    - Dst: g_subprocess_newv
      Src: /src/glib/gio/tests/gsubprocess.c:816,1
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:815,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:819,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:820,1
    - Dst: g_bytes_new_static
      Src: /src/glib/gio/tests/gsubprocess.c:825,1
    - Dst: strlen
      Src: /src/glib/gio/tests/gsubprocess.c:825,1
    - Dst: g_subprocess_communicate_async
      Src: /src/glib/gio/tests/gsubprocess.c:827,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gsubprocess.c:834,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:836,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:839,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/tests/gsubprocess.c:838,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 840
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 840
    functionName: test_communicate_async
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_subprocess_newv
    - GPOINTER_TO_INT
    - g_object_unref
    - strlen
    - g_main_context_iteration
    - g_bytes_new_static
    - g_bytes_unref
    - g_assert_no_error
    - get_test_subprocess_args
    - g_ptr_array_free
    - g_subprocess_communicate_async
    linkageType: ''
    returnType: void
    signature: 'static void test_communicate_async (gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:1241,1
    - Dst: g_subprocess_communicate_utf8_async
      Src: /src/glib/gio/tests/gsubprocess.c:1249,1
    - Dst: g_subprocess_newv
      Src: /src/glib/gio/tests/gsubprocess.c:1242,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1245,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:1246,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gsubprocess.c:1256,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gsubprocess.c:1258,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gsubprocess.c:1259,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1261,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1262
      start: 1231
    functionDepth: 0
    functionLinenumber: 1231
    functionLinenumberEnd: 1262
    functionName: test_communicate_utf8_async_invalid
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_subprocess_newv
    - g_subprocess_communicate_utf8_async
    - g_object_unref
    - g_main_context_iteration
    - g_assert_no_error
    - g_error_free
    - get_test_subprocess_args
    - g_ptr_array_free
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_communicate_utf8_async_invalid (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/gsubprocess.c:1657,1
    - Dst: g_subprocess_launcher_new
      Src: /src/glib/gio/tests/gsubprocess.c:1661,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsubprocess.c:1686,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/gsubprocess.c:1689,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1690,1
    - Dst: dup
      Src: /src/glib/gio/tests/gsubprocess.c:1663,1
    - Dst: g_file_descriptor_based_get_fd
      Src: /src/glib/gio/tests/gsubprocess.c:1663,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/tests/gsubprocess.c:1675,1
    - Dst: g_subprocess_get_stdin_pipe
      Src: /src/glib/gio/tests/gsubprocess.c:1670,1
    - Dst: g_subprocess_launcher_spawnv
      Src: /src/glib/gio/tests/gsubprocess.c:1664,1
    - Dst: strlen
      Src: /src/glib/gio/tests/gsubprocess.c:1672,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1676,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1680,1
    - Dst: g_file_load_contents
      Src: /src/glib/gio/tests/gsubprocess.c:1683,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1658,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/gsubprocess.c:1662,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gsubprocess.c:1668,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1666,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1681,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:1687,1
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:1660,1
    - Dst: G_FILE_DESCRIPTOR_BASED
      Src: /src/glib/gio/tests/gsubprocess.c:1662,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/gsubprocess.c:1662,1
    - Dst: g_subprocess_launcher_take_stdout_fd
      Src: /src/glib/gio/tests/gsubprocess.c:1663,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/gsubprocess.c:1672,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1673,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:1665,1
    - Dst: g_subprocess_wait_check
      Src: /src/glib/gio/tests/gsubprocess.c:1678,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1684,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1691
      start: 1642
    functionDepth: 0
    functionLinenumber: 1642
    functionLinenumberEnd: 1691
    functionName: test_stdout_fd
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - G_IO_STREAM
    - g_file_descriptor_based_get_fd
    - g_subprocess_launcher_new
    - g_subprocess_launcher_take_stdout_fd
    - g_object_unref
    - g_output_stream_close
    - g_file_delete
    - g_file_new_tmp
    - g_clear_object
    - g_output_stream_write_all
    - get_test_subprocess_args
    - g_io_stream_get_output_stream
    - g_file_load_contents
    - G_FILE_DESCRIPTOR_BASED
    - strlen
    - dup
    - g_subprocess_launcher_spawnv
    - g_subprocess_wait_check
    - g_assert_no_error
    - g_ptr_array_free
    - g_subprocess_get_stdin_pipe
    - g_assert_cmpstr
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_stdout_fd (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_pass_fd
      Src: /src/glib/gio/tests/gsubprocess.c:1829,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1830
      start: 1823
    functionDepth: 0
    functionLinenumber: 1823
    functionLinenumberEnd: 1830
    functionName: test_pass_fd_empty_child_setup
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - do_test_pass_fd
    linkageType: ''
    returnType: void
    signature: 'static void test_pass_fd_empty_child_setup (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/gsubprocess.c:2099,1
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:2107,1
    - Dst: fork
      Src: /src/glib/gio/tests/gsubprocess.c:2108,1
    - Dst: ptrace
      Src: /src/glib/gio/tests/gsubprocess.c:2112,1
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/gsubprocess.c:2100,1
    - Dst: abort
      Src: /src/glib/gio/tests/gsubprocess.c:2113,1
    - Dst: g_assert_no_errno
      Src: /src/glib/gio/tests/gsubprocess.c:2115,1
    - Dst: execvp
      Src: /src/glib/gio/tests/gsubprocess.c:2115,1
    - Dst: trace_children
      Src: /src/glib/gio/tests/gsubprocess.c:2118,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/gsubprocess.c:2120,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/gsubprocess.c:2122,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/gsubprocess.c:2127,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2131
      start: 2089
    functionDepth: 0
    functionLinenumber: 2089
    functionLinenumberEnd: 2131
    functionName: test_exit_status_trapped
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_test_summary
    - abort
    - fork
    - g_test_bug
    - ptrace
    - g_clear_pointer
    - execvp
    - trace_children
    - get_test_subprocess_args
    - g_assert_no_errno
    - g_test_skip
    linkageType: ''
    returnType: void
    signature: 'static void test_exit_status_trapped (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_setenv
      Src: /src/glib/gio/tests/gsubprocess.c:2144,1
    - Dst: g_setenv
      Src: /src/glib/gio/tests/gsubprocess.c:2145,1
    - Dst: g_subprocess_launcher_unsetenv
      Src: /src/glib/gio/tests/gsubprocess.c:2150,1
    - Dst: g_subprocess_launcher_setenv
      Src: /src/glib/gio/tests/gsubprocess.c:2153,1
    - Dst: g_subprocess_launcher_new
      Src: /src/glib/gio/tests/gsubprocess.c:2147,1
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:2155,1
    - Dst: g_subprocess_launcher_spawnv
      Src: /src/glib/gio/tests/gsubprocess.c:2156,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:2157,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gsubprocess.c:2158,1
    - Dst: g_subprocess_communicate_utf8
      Src: /src/glib/gio/tests/gsubprocess.c:2160,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:2161,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:2166,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:2167,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsubprocess.c:2163,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:2164,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/tests/gsubprocess.c:2168,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2169
      start: 2135
    functionDepth: 0
    functionLinenumber: 2135
    functionLinenumberEnd: 2169
    functionName: test_launcher_environment
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_subprocess_launcher_unsetenv
    - g_ptr_array_unref
    - g_object_unref
    - g_subprocess_launcher_new
    - g_setenv
    - g_subprocess_launcher_spawnv
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_assert_no_error
    - g_subprocess_launcher_setenv
    - get_test_subprocess_args
    - g_free
    - g_subprocess_communicate_utf8
    linkageType: ''
    returnType: void
    signature: 'static void test_launcher_environment (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_get_dir
      Src: /src/glib/gio/tests/gsubprocess.c:186,1
    - Dst: g_subprocess_launcher_setenv
      Src: /src/glib/gio/tests/gsubprocess.c:189,1
    - Dst: g_subprocess_launcher_spawn
      Src: /src/glib/gio/tests/gsubprocess.c:191,1
    - Dst: g_subprocess_launcher_new
      Src: /src/glib/gio/tests/gsubprocess.c:188,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:192,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:193,1
    - Dst: g_subprocess_wait_check
      Src: /src/glib/gio/tests/gsubprocess.c:195,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gsubprocess.c:196,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gsubprocess.c:197,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:199,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 200
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 200
    functionName: test_search_path_from_envp
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_object_unref
    - g_subprocess_launcher_new
    - g_subprocess_wait_check
    - g_subprocess_launcher_spawn
    - g_test_get_dir
    - g_assert_no_error
    - g_subprocess_launcher_setenv
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_search_path_from_envp (void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_subprocess_communicate_utf8_finish
      Src: /src/glib/gio/tests/gsubprocess.c:752,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gsubprocess.c:764,1
    - Dst: g_subprocess_communicate_finish
      Src: /src/glib/gio/tests/gsubprocess.c:755,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gsubprocess.c:770,1
    - Dst: strlen
      Src: /src/glib/gio/tests/gsubprocess.c:766,1
    - Dst: g_bytes_get_data
      Src: /src/glib/gio/tests/gsubprocess.c:771,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/gio/tests/gsubprocess.c:774,1
    - Dst: strlen
      Src: /src/glib/gio/tests/gsubprocess.c:774,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsubprocess.c:778,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsubprocess.c:779,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsubprocess.c:792,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/gsubprocess.c:795,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gsubprocess.c:785,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:797,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/gsubprocess.c:796,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:798,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsubprocess.c:791,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gsubprocess.c:787,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 3
    argNames:
    - proc
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 799
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 799
    functionName: on_communicate_complete
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - strlen
    - g_assert_null
    - g_assert_nonnull
    - g_clear_pointer
    - g_subprocess_communicate_utf8_finish
    - g_assert_cmpmem
    - g_subprocess_communicate_finish
    - g_free
    - g_bytes_get_data
    linkageType: ''
    returnType: void
    signature: 'static void on_communicate_complete (GObject *proc, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dup2
      Src: /src/glib/gio/tests/gsubprocess.c:1696,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gio/tests/gsubprocess.c:1696,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1697
      start: 1693
    functionDepth: 0
    functionLinenumber: 1693
    functionLinenumberEnd: 1697
    functionName: child_setup
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - GPOINTER_TO_INT
    - dup2
    linkageType: ''
    returnType: void
    signature: 'static void child_setup (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_pass_fd
      Src: /src/glib/gio/tests/gsubprocess.c:1842,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1843
      start: 1832
    functionDepth: 0
    functionLinenumber: 1832
    functionLinenumberEnd: 1843
    functionName: test_pass_fd_inherit_fds
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - do_test_pass_fd
    linkageType: ''
    returnType: void
    signature: 'static void test_pass_fd_inherit_fds (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:404,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:408,1
    - Dst: g_subprocess_newv
      Src: /src/glib/gio/tests/gsubprocess.c:405,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:409,1
    - Dst: g_subprocess_get_stdout_pipe
      Src: /src/glib/gio/tests/gsubprocess.c:411,1
    - Dst: splice_to_string
      Src: /src/glib/gio/tests/gsubprocess.c:412,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:413,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsubprocess.c:415,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:417,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:418,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 419
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 419
    functionName: test_echo_merged
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_subprocess_newv
    - g_subprocess_get_stdout_pipe
    - g_object_unref
    - g_assert_cmpstr
    - g_assert_no_error
    - get_test_subprocess_args
    - g_ptr_array_free
    - g_free
    - splice_to_string
    linkageType: ''
    returnType: void
    signature: 'static void test_echo_merged (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:149,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:151,1
    - Dst: g_subprocess_newv
      Src: /src/glib/gio/tests/gsubprocess.c:150,1
    - Dst: g_subprocess_wait_check
      Src: /src/glib/gio/tests/gsubprocess.c:154,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:152,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:155,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:157,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 158
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 158
    functionName: test_noop_stdin_inherit
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_subprocess_newv
    - g_object_unref
    - g_subprocess_wait_check
    - g_assert_no_error
    - get_test_subprocess_args
    - g_ptr_array_free
    linkageType: ''
    returnType: void
    signature: 'static void test_noop_stdin_inherit (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:211,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:213,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:214,1
    - Dst: g_subprocess_newv
      Src: /src/glib/gio/tests/gsubprocess.c:212,1
    - Dst: g_subprocess_wait_check
      Src: /src/glib/gio/tests/gsubprocess.c:216,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gsubprocess.c:217,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gsubprocess.c:218,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:220,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 221
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 221
    functionName: test_exit1
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_subprocess_newv
    - g_object_unref
    - g_subprocess_wait_check
    - g_assert_no_error
    - get_test_subprocess_args
    - g_ptr_array_free
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_exit1 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_subprocess_newv
      Src: /src/glib/gio/tests/gsubprocess.c:462,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gsubprocess.c:459,1
    - Dst: g_subprocess_get_stdout_pipe
      Src: /src/glib/gio/tests/gsubprocess.c:469,1
    - Dst: strlen
      Src: /src/glib/gio/tests/gsubprocess.c:471,1
    - Dst: g_memory_input_stream_new_from_bytes
      Src: /src/glib/gio/tests/gsubprocess.c:472,1
    - Dst: g_output_stream_splice_async
      Src: /src/glib/gio/tests/gsubprocess.c:477,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:489,1
    - Dst: g_memory_output_stream_new
      Src: /src/glib/gio/tests/gsubprocess.c:475,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/tests/gsubprocess.c:473,1
    - Dst: g_bytes_get_size
      Src: /src/glib/gio/tests/gsubprocess.c:494,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gsubprocess.c:486,1
    - Dst: g_memory_output_stream_steal_as_bytes
      Src: /src/glib/gio/tests/gsubprocess.c:491,1
    - Dst: g_bytes_unref
      Src: /src/glib/gio/tests/gsubprocess.c:497,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:500,1
    - Dst: memset
      Src: /src/glib/gio/tests/gsubprocess.c:458,1
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:461,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:466,1
    - Dst: g_bytes_new_static
      Src: /src/glib/gio/tests/gsubprocess.c:471,1
    - Dst: g_output_stream_splice_async
      Src: /src/glib/gio/tests/gsubprocess.c:481,1
    - Dst: g_subprocess_wait_check
      Src: /src/glib/gio/tests/gsubprocess.c:488,1
    - Dst: g_assert_cmpmem
      Src: /src/glib/gio/tests/gsubprocess.c:493,1
    - Dst: g_bytes_get_data
      Src: /src/glib/gio/tests/gsubprocess.c:493,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:465,1
    - Dst: g_subprocess_get_stdin_pipe
      Src: /src/glib/gio/tests/gsubprocess.c:468,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gsubprocess.c:498,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:499,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:501,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 502
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 502
    functionName: test_cat_utf8
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_subprocess_newv
    - g_bytes_new_static
    - g_assert_cmpmem
    - g_object_unref
    - g_output_stream_splice_async
    - get_test_subprocess_args
    - g_bytes_get_data
    - g_subprocess_get_stdout_pipe
    - g_memory_output_stream_new
    - g_main_loop_run
    - strlen
    - g_subprocess_wait_check
    - g_bytes_unref
    - g_assert_no_error
    - g_main_loop_new
    - g_memory_input_stream_new_from_bytes
    - g_ptr_array_free
    - g_subprocess_get_stdin_pipe
    - g_memory_output_stream_steal_as_bytes
    - g_main_loop_unref
    - g_bytes_get_size
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void test_cat_utf8 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/gsubprocess.c:527,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gsubprocess.c:534,1
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/gsubprocess.c:538,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/tests/gsubprocess.c:539,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/tests/gsubprocess.c:546,1
    - Dst: g_subprocess_get_stdin_pipe
      Src: /src/glib/gio/tests/gsubprocess.c:546,1
    - Dst: g_subprocess_get_stdout_pipe
      Src: /src/glib/gio/tests/gsubprocess.c:551,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:552,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsubprocess.c:558,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/gsubprocess.c:538,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsubprocess.c:548,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/tests/gsubprocess.c:551,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gsubprocess.c:540,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:557,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsubprocess.c:559,1
    - Dst: g_subprocess_get_exit_status
      Src: /src/glib/gio/tests/gsubprocess.c:559,1
    - Dst: g_subprocess_new
      Src: /src/glib/gio/tests/gsubprocess.c:532,1
    - Dst: g_thread_unref
      Src: /src/glib/gio/tests/gsubprocess.c:538,1
    - Dst: g_subprocess_get_stdout_pipe
      Src: /src/glib/gio/tests/gsubprocess.c:539,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gsubprocess.c:543,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:547,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:542,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsubprocess.c:541,1
    - Dst: g_subprocess_wait
      Src: /src/glib/gio/tests/gsubprocess.c:556,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsubprocess.c:560,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:562,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:533,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/gsubprocess.c:537,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/gsubprocess.c:553,1
    - Dst: g_subprocess_get_if_exited
      Src: /src/glib/gio/tests/gsubprocess.c:558,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 563
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 563
    functionName: test_cat_eof
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_thread_unref
    - g_thread_new
    - g_subprocess_new
    - g_assert_true
    - g_object_unref
    - g_output_stream_close
    - g_assert_nonnull
    - g_input_stream_read
    - g_subprocess_get_exit_status
    - g_subprocess_get_if_exited
    - g_assert_false
    - g_test_skip
    - g_assert_cmpint
    - g_subprocess_get_stdout_pipe
    - g_assert_no_error
    - g_cancellable_new
    - g_subprocess_wait
    - g_assert_error
    - g_clear_error
    - g_subprocess_get_stdin_pipe
    - g_object_ref
    linkageType: ''
    returnType: void
    signature: 'static void test_cat_eof (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_output_stream_splice_finish
      Src: /src/glib/gio/tests/gsubprocess.c:584,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gsubprocess.c:590,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - obj
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 591
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 591
    functionName: on_one_multi_splice_done
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    - g_output_stream_splice_finish
    linkageType: ''
    returnType: void
    signature: 'static void on_one_multi_splice_done (GObject *obj, GAsyncResult *res,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gio/tests/gsubprocess.c:942,1
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:949,1
    - Dst: g_subprocess_newv
      Src: /src/glib/gio/tests/gsubprocess.c:950,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:953,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:954,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/gsubprocess.c:956,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/gsubprocess.c:962,1
    - Dst: g_idle_add
      Src: /src/glib/gio/tests/gsubprocess.c:963,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gsubprocess.c:967,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gsubprocess.c:969,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gsubprocess.c:970,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:972,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:973,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 974
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 974
    functionName: test_communicate_cancelled
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_subprocess_newv
    - GPOINTER_TO_INT
    - g_object_unref
    - g_main_context_iteration
    - g_assert_no_error
    - get_test_subprocess_args
    - g_ptr_array_free
    - g_idle_add
    - g_cancellable_new
    - g_cancellable_cancel
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_communicate_cancelled (gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_subprocess_force_exit
      Src: /src/glib/gio/tests/gsubprocess.c:1300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1301
      start: 1295
    functionDepth: 0
    functionLinenumber: 1295
    functionLinenumberEnd: 1301
    functionName: send_terminate
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_subprocess_force_exit
    linkageType: ''
    returnType: void
    signature: 'static void send_terminate (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_subprocess_send_signal
      Src: /src/glib/gio/tests/gsubprocess.c:1376,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1377
      start: 1371
    functionDepth: 0
    functionLinenumber: 1371
    functionLinenumberEnd: 1377
    functionName: send_signal
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_subprocess_send_signal
    linkageType: ''
    returnType: void
    signature: 'static void send_signal (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/glib/gio/tests/gsubprocess.c:55,1
    - Dst: g_test_build_filename
      Src: /src/glib/gio/tests/gsubprocess.c:57,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gsubprocess.c:58,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gsubprocess.c:59,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gsubprocess.c:59,1
    - Dst: va_start
      Src: /src/glib/gio/tests/gsubprocess.c:61,1
    - Dst: va_arg
      Src: /src/glib/gio/tests/gsubprocess.c:62,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gsubprocess.c:63,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gsubprocess.c:63,1
    - Dst: va_end
      Src: /src/glib/gio/tests/gsubprocess.c:64,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gsubprocess.c:66,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 68
    functionName: get_test_subprocess_args
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_strdup
    - g_test_build_filename
    - g_ptr_array_add
    - g_ptr_array_new_with_free_func
    - va_arg
    - va_end
    - va_start
    linkageType: ''
    returnType: GPtrArray*
    signature: 'static GPtrArray *get_test_subprocess_args (const char *mode, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_output_stream_splice_finish
      Src: /src/glib/gio/tests/gsubprocess.c:435,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:436,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gsubprocess.c:440,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 441
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 441
    functionName: test_cat_on_input_splice_complete
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_assert_no_error
    - g_main_loop_quit
    - g_output_stream_splice_finish
    linkageType: ''
    returnType: void
    signature: 'static void test_cat_on_input_splice_complete (GObject *object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_usleep
      Src: /src/glib/gio/tests/gsubprocess.c:509,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:511,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/gsubprocess.c:510,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 514
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 514
    functionName: cancel_soon
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_cancellable_cancel
    - g_object_unref
    - g_usleep
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer cancel_soon (gpointer user_data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_output_stream_close
      Src: /src/glib/gio/tests/gsubprocess.c:600,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/gsubprocess.c:615,1
    - Dst: strlen
      Src: /src/glib/gio/tests/gsubprocess.c:616,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gsubprocess.c:605,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 626
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 626
    functionName: on_idle_multisplice
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    - g_output_stream_close
    - g_output_stream_write_all
    - strlen
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean on_idle_multisplice (gpointer user_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_subprocess_communicate_utf8_finish
      Src: /src/glib/gio/tests/gsubprocess.c:987,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsubprocess.c:1000,1
    - Dst: g_subprocess_communicate_finish
      Src: /src/glib/gio/tests/gsubprocess.c:990,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsubprocess.c:995,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsubprocess.c:996,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gsubprocess.c:1001,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 3
    argNames:
    - proc
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1003
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 1003
    functionName: on_communicate_cancelled_complete
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_subprocess_communicate_utf8_finish
    - g_subprocess_communicate_finish
    - g_assert_null
    linkageType: ''
    returnType: void
    signature: 'static void on_communicate_cancelled_complete (GObject *proc, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_SUBPROCESS
      Src: /src/glib/gio/tests/gsubprocess.c:1308,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gsubprocess.c:1314,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1312,1
    - Dst: g_subprocess_wait_finish
      Src: /src/glib/gio/tests/gsubprocess.c:1311,1
    - Dst: g_subprocess_get_if_signaled
      Src: /src/glib/gio/tests/gsubprocess.c:1314,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gsubprocess.c:1315,1
    - Dst: g_subprocess_get_term_sig
      Src: /src/glib/gio/tests/gsubprocess.c:1315,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/gio/tests/gsubprocess.c:1317,1
    - Dst: g_subprocess_get_status
      Src: /src/glib/gio/tests/gsubprocess.c:1317,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gsubprocess.c:1318,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gsubprocess.c:1319,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gsubprocess.c:1321,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1322
      start: 1303
    functionDepth: 0
    functionLinenumber: 1303
    functionLinenumberEnd: 1322
    functionName: on_request_quit_exited
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_assert_true
    - g_spawn_check_wait_status
    - g_subprocess_wait_finish
    - G_SUBPROCESS
    - g_assert_nonnull
    - g_subprocess_get_status
    - g_assert_no_error
    - g_main_loop_quit
    - g_subprocess_get_term_sig
    - g_subprocess_get_if_signaled
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void on_request_quit_exited (GObject *object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:1388,1
    - Dst: g_subprocess_newv
      Src: /src/glib/gio/tests/gsubprocess.c:1389,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gsubprocess.c:1393,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1391,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:1390,1
    - Dst: g_subprocess_wait_async
      Src: /src/glib/gio/tests/gsubprocess.c:1395,1
    - Dst: g_timeout_add_seconds_once
      Src: /src/glib/gio/tests/gsubprocess.c:1397,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gsubprocess.c:1399,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1401,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1402,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1403
      start: 1379
    functionDepth: 0
    functionLinenumber: 1379
    functionLinenumberEnd: 1403
    functionName: test_signal
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_subprocess_newv
    - g_main_loop_run
    - g_timeout_add_seconds_once
    - g_object_unref
    - g_main_loop_unref
    - g_assert_no_error
    - g_main_loop_new
    - get_test_subprocess_args
    - g_ptr_array_free
    - g_subprocess_wait_async
    linkageType: ''
    returnType: void
    signature: 'static void test_signal (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1638,1
    - Dst: g_file_new_tmp
      Src: /src/glib/gio/tests/gsubprocess.c:1605,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gsubprocess.c:1607,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1624,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1629,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1621,1
    - Dst: g_file_load_contents
      Src: /src/glib/gio/tests/gsubprocess.c:1631,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:1635,1
    - Dst: g_subprocess_launcher_set_stdout_file_path
      Src: /src/glib/gio/tests/gsubprocess.c:1613,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:1615,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/tests/gsubprocess.c:1623,1
    - Dst: g_subprocess_wait_check
      Src: /src/glib/gio/tests/gsubprocess.c:1626,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gsubprocess.c:1634,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gsubprocess.c:1639,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/gsubprocess.c:1637,1
    - Dst: g_file_get_path
      Src: /src/glib/gio/tests/gsubprocess.c:1609,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1606,1
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:1611,1
    - Dst: g_subprocess_launcher_new
      Src: /src/glib/gio/tests/gsubprocess.c:1612,1
    - Dst: g_subprocess_launcher_spawnv
      Src: /src/glib/gio/tests/gsubprocess.c:1614,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1616,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/gsubprocess.c:1620,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1628,1
    - Dst: strlen
      Src: /src/glib/gio/tests/gsubprocess.c:1620,1
    - Dst: g_subprocess_get_stdin_pipe
      Src: /src/glib/gio/tests/gsubprocess.c:1618,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1632,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1640
      start: 1590
    functionDepth: 0
    functionLinenumber: 1590
    functionLinenumberEnd: 1640
    functionName: test_stdout_file
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_subprocess_launcher_new
    - g_object_unref
    - g_output_stream_close
    - g_file_delete
    - g_file_new_tmp
    - g_clear_object
    - g_output_stream_write_all
    - get_test_subprocess_args
    - g_file_load_contents
    - strlen
    - g_subprocess_launcher_spawnv
    - g_subprocess_wait_check
    - g_assert_no_error
    - g_ptr_array_free
    - g_subprocess_launcher_set_stdout_file_path
    - g_subprocess_get_stdin_pipe
    - g_assert_cmpstr
    - g_file_get_path
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_stdout_file (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gio/tests/gsubprocess.c:1057,1
    - Dst: g_ptr_array_free
      Src: /src/glib/gio/tests/gsubprocess.c:1069,1
    - Dst: get_test_subprocess_args
      Src: /src/glib/gio/tests/gsubprocess.c:1064,1
    - Dst: g_subprocess_newv
      Src: /src/glib/gio/tests/gsubprocess.c:1065,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1068,1
    - Dst: g_subprocess_communicate_utf8_async
      Src: /src/glib/gio/tests/gsubprocess.c:1072,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gsubprocess.c:1079,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gsubprocess.c:1081,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gsubprocess.c:1083,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1084
      start: 1054
    functionDepth: 0
    functionLinenumber: 1054
    functionLinenumberEnd: 1084
    functionName: test_communicate_utf8_async
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - g_subprocess_newv
    - GPOINTER_TO_INT
    - g_subprocess_communicate_utf8_async
    - g_object_unref
    - g_main_context_iteration
    - g_assert_no_error
    - get_test_subprocess_args
    - g_ptr_array_free
    linkageType: ''
    returnType: void
    signature: 'static void test_communicate_utf8_async (gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_fd_conflation
      Src: /src/glib/gio/tests/gsubprocess.c:2000,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2001
      start: 1992
    functionDepth: 0
    functionLinenumber: 1992
    functionLinenumberEnd: 2001
    functionName: test_fd_conflation_inherit_fds
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - do_test_fd_conflation
    linkageType: ''
    returnType: void
    signature: 'static void test_fd_conflation_inherit_fds (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_fd_conflation
      Src: /src/glib/gio/tests/gsubprocess.c:1989,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1990
      start: 1983
    functionDepth: 0
    functionLinenumber: 1983
    functionLinenumberEnd: 1990
    functionName: test_fd_conflation_empty_child_setup
    functionSourceFile: /src/glib/gio/tests/gsubprocess.c
    functionUses: []
    functionsReached:
    - do_test_fd_conflation
    linkageType: ''
    returnType: void
    signature: 'static void test_fd_conflation_empty_child_setup (void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:861,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/tests/live-g-file.c:862,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:863,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/live-g-file.c:864,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:865,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/live-g-file.c:868,1
    - Dst: do_copy_move
      Src: /src/glib/gio/tests/live-g-file.c:879,1
    - Dst: do_copy_move
      Src: /src/glib/gio/tests/live-g-file.c:887,1
    - Dst: do_copy_move
      Src: /src/glib/gio/tests/live-g-file.c:890,1
    - Dst: do_copy_move
      Src: /src/glib/gio/tests/live-g-file.c:892,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:911,1
    - Dst: do_copy_move
      Src: /src/glib/gio/tests/live-g-file.c:895,1
    - Dst: do_copy_move
      Src: /src/glib/gio/tests/live-g-file.c:905,1
    - Dst: do_copy_move
      Src: /src/glib/gio/tests/live-g-file.c:902,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 912
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 912
    functionName: test_copy_move
    functionSourceFile: /src/glib/gio/tests/live-g-file.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_object_unref
    - G_N_ELEMENTS
    - g_assert_nonnull
    - do_copy_move
    - g_file_query_exists
    - g_file_new_for_commandline_arg
    linkageType: ''
    returnType: void
    signature: 'static void test_copy_move (gconstpointer test_data) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:244,1
    - Dst: g_file_make_directory
      Src: /src/glib/gio/tests/live-g-file.c:252,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:249,1
    - Dst: create_empty_file
      Src: /src/glib/gio/tests/live-g-file.c:269,1
    - Dst: g_file_set_attribute_uint32
      Src: /src/glib/gio/tests/live-g-file.c:292,1
    - Dst: fopen
      Src: /src/glib/gio/tests/live-g-file.c:309,1
    - Dst: g_free
      Src: /src/glib/gio/tests/live-g-file.c:313,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:318,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/live-g-file.c:323,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/live-g-file.c:328,1
    - Dst: g_data_output_stream_put_byte
      Src: /src/glib/gio/tests/live-g-file.c:335,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/live-g-file.c:339,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:332,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/tests/live-g-file.c:248,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/live-g-file.c:245,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/live-g-file.c:253,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/live-g-file.c:297,1
    - Dst: g_path_get_dirname
      Src: /src/glib/gio/tests/live-g-file.c:305,1
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/live-g-file.c:307,1
    - Dst: fclose
      Src: /src/glib/gio/tests/live-g-file.c:311,1
    - Dst: g_file_replace
      Src: /src/glib/gio/tests/live-g-file.c:327,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:330,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/live-g-file.c:331,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/live-g-file.c:340,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/live-g-file.c:344,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:346,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/live-g-file.c:268,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:287,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:296,1
    - Dst: g_free
      Src: /src/glib/gio/tests/live-g-file.c:315,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/live-g-file.c:322,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/tests/live-g-file.c:339,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:342,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:343,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/live-g-file.c:256,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/live-g-file.c:272,1
    - Dst: g_path_get_basename
      Src: /src/glib/gio/tests/live-g-file.c:306,1
    - Dst: create_empty_dir
      Src: /src/glib/gio/tests/live-g-file.c:273,1
    - Dst: create_symlink
      Src: /src/glib/gio/tests/live-g-file.c:278,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/live-g-file.c:276,1
    - Dst: fprintf
      Src: /src/glib/gio/tests/live-g-file.c:310,1
    - Dst: g_free
      Src: /src/glib/gio/tests/live-g-file.c:314,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:324,1
    - Dst: g_data_output_stream_new
      Src: /src/glib/gio/tests/live-g-file.c:331,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:341,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/live-g-file.c:336,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 79
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 347
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 347
    functionName: test_create_structure
    functionSourceFile: /src/glib/gio/tests/live-g-file.c
    functionUses: []
    functionsReached:
    - g_path_get_basename
    - g_file_make_directory
    - g_file_new_for_commandline_arg
    - g_assert_true
    - g_object_unref
    - fprintf
    - G_N_ELEMENTS
    - g_output_stream_close
    - g_assert_nonnull
    - g_build_filename
    - G_OUTPUT_STREAM
    - g_path_get_dirname
    - create_empty_file
    - g_file_replace
    - create_symlink
    - g_data_output_stream_put_byte
    - g_test_message
    - g_assert_no_error
    - g_file_get_child
    - g_data_output_stream_new
    - create_empty_dir
    - g_file_set_attribute_uint32
    - fclose
    - fopen
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_create_structure (gconstpointer test_data) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:682,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/tests/live-g-file.c:685,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/live-g-file.c:683,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/live-g-file.c:704,1
    - Dst: g_file_enumerate_children
      Src: /src/glib/gio/tests/live-g-file.c:708,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/live-g-file.c:728,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:740,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:745,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/live-g-file.c:687,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:688,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/live-g-file.c:734,1
    - Dst: g_file_enumerator_close
      Src: /src/glib/gio/tests/live-g-file.c:739,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:748,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/live-g-file.c:720,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/live-g-file.c:719,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:724,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/live-g-file.c:714,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/live-g-file.c:715,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:743,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:686,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/live-g-file.c:691,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/live-g-file.c:703,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:705,1
    - Dst: g_file_enumerator_next_file
      Src: /src/glib/gio/tests/live-g-file.c:727,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/live-g-file.c:729,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/live-g-file.c:741,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 63
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 749
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 749
    functionName: test_enumerate
    functionSourceFile: /src/glib/gio/tests/live-g-file.c
    functionUses: []
    functionsReached:
    - g_file_enumerator_close
    - g_assert_true
    - g_file_enumerator_next_file
    - g_object_unref
    - g_assert_null
    - g_test_message
    - G_N_ELEMENTS
    - g_assert_nonnull
    - g_file_enumerate_children
    - g_assert_no_error
    - g_file_get_child
    - g_file_query_exists
    - g_error_free
    - g_file_new_for_commandline_arg
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_enumerate (gconstpointer test_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_file_enumerator_get_child
      Src: /src/glib/gio/tests/live-g-file.c:1290,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/live-g-file.c:1311,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:1303,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/live-g-file.c:1316,1
    - Dst: g_file_info_get_display_name
      Src: /src/glib/gio/tests/live-g-file.c:1296,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/live-g-file.c:1302,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:1315,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:1277,1
    - Dst: g_file_enumerate_children
      Src: /src/glib/gio/tests/live-g-file.c:1280,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:1291,1
    - Dst: g_free
      Src: /src/glib/gio/tests/live-g-file.c:1294,1
    - Dst: g_file_enumerator_next_file
      Src: /src/glib/gio/tests/live-g-file.c:1309,1
    - Dst: g_file_enumerator_close
      Src: /src/glib/gio/tests/live-g-file.c:1314,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:1307,1
    - Dst: g_file_enumerator_next_file
      Src: /src/glib/gio/tests/live-g-file.c:1287,1
    - Dst: g_file_get_relative_path
      Src: /src/glib/gio/tests/live-g-file.c:1292,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:1293,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/live-g-file.c:1296,1
    - Dst: g_file_info_get_file_type
      Src: /src/glib/gio/tests/live-g-file.c:1298,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:1305,1
    - Dst: cleanup_dir_recurse
      Src: /src/glib/gio/tests/live-g-file.c:1299,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:1318,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 2
    argNames:
    - parent
    - root
    argTypes:
    - GFile*
    - GFile*
    constantsTouched: []
    func_position:
      end: 1319
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1319
    functionName: cleanup_dir_recurse
    functionSourceFile: /src/glib/gio/tests/live-g-file.c
    functionUses: []
    functionsReached:
    - cleanup_dir_recurse
    - g_file_enumerator_close
    - g_file_enumerator_next_file
    - g_assert_true
    - g_object_unref
    - g_file_get_relative_path
    - g_file_info_get_file_type
    - g_test_message
    - g_assert_nonnull
    - g_file_enumerator_get_child
    - g_file_delete
    - g_file_enumerate_children
    - g_assert_no_error
    - g_file_info_get_display_name
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void cleanup_dir_recurse (GFile *parent, GFile *root) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/live-g-file.c:187,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/live-g-file.c:192,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:193,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:188,1
    - Dst: g_file_replace
      Src: /src/glib/gio/tests/live-g-file.c:191,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/tests/live-g-file.c:195,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/live-g-file.c:195,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:196,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 198
    functionName: create_empty_file
    functionSourceFile: /src/glib/gio/tests/live-g-file.c
    functionUses: []
    functionsReached:
    - g_file_replace
    - g_object_unref
    - g_output_stream_close
    - g_assert_nonnull
    - g_assert_no_error
    - g_file_get_child
    - G_OUTPUT_STREAM
    linkageType: ''
    returnType: GFile*
    signature: "static GFile *create_empty_file (GFile * parent, const char *filename,\t\
      \t GFileCreateFlags create_flags) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/live-g-file.c:358,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/live-g-file.c:360,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:359,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 365
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 365
    functionName: file_exists
    functionSourceFile: /src/glib/gio/tests/live-g-file.c
    functionUses: []
    functionsReached:
    - g_file_get_child
    - g_assert_nonnull
    - g_file_query_exists
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *file_exists (GFile * parent, const char *filename, gboolean
      * result) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_file_peek_path
      Src: /src/glib/gio/tests/live-g-file.c:759,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:765,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/live-g-file.c:762,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/live-g-file.c:768,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:769,1
    - Dst: g_file_copy
      Src: /src/glib/gio/tests/live-g-file.c:774,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/live-g-file.c:834,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/live-g-file.c:845,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/live-g-file.c:764,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/live-g-file.c:793,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/live-g-file.c:800,1
    - Dst: g_file_move
      Src: /src/glib/gio/tests/live-g-file.c:781,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/live-g-file.c:792,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/live-g-file.c:799,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/live-g-file.c:824,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/live-g-file.c:828,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:840,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/live-g-file.c:841,1
    - Dst: check_cap_dac_override
      Src: /src/glib/gio/tests/live-g-file.c:759,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/live-g-file.c:766,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:767,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:827,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/live-g-file.c:833,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:849,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/live-g-file.c:785,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/live-g-file.c:806,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/live-g-file.c:813,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/live-g-file.c:807,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/live-g-file.c:814,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:848,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:850,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 68
    argCount: 4
    argNames:
    - root
    - item
    - target_dir
    - extra_flags
    argTypes:
    - GFile*
    - struct StructureItem
    - char*
    - enum StructureExtraFlags
    constantsTouched: []
    func_position:
      end: 851
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 851
    functionName: do_copy_move
    functionSourceFile: /src/glib/gio/tests/live-g-file.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_object_unref
    - g_test_message
    - g_assert_nonnull
    - g_assert_no_error
    - g_file_get_child
    - g_error_free
    - g_assert_false
    - g_file_peek_path
    - g_file_copy
    - g_file_move
    - check_cap_dac_override
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: "static void do_copy_move (GFile * root, struct StructureItem item,\
      \ const char *target_dir,\t enum StructureExtraFlags extra_flags) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:1326,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/tests/live-g-file.c:1330,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/live-g-file.c:1327,1
    - Dst: cleanup_dir_recurse
      Src: /src/glib/gio/tests/live-g-file.c:1333,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:1331,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/live-g-file.c:1335,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:1337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1338
      start: 1321
    functionDepth: 0
    functionLinenumber: 1321
    functionLinenumberEnd: 1338
    functionName: prep_clean_structure
    functionSourceFile: /src/glib/gio/tests/live-g-file.c
    functionUses: []
    functionsReached:
    - cleanup_dir_recurse
    - g_object_unref
    - g_test_message
    - g_assert_nonnull
    - g_file_delete
    - g_file_new_for_commandline_arg
    linkageType: ''
    returnType: void
    signature: 'static void prep_clean_structure (gconstpointer test_data) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/gio/tests/live-g-file.c:1387,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/live-g-file.c:1390,1
    - Dst: strdup
      Src: /src/glib/gio/tests/live-g-file.c:1396,1
    - Dst: g_option_context_get_help
      Src: /src/glib/gio/tests/live-g-file.c:1401,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/tests/live-g-file.c:1405,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/live-g-file.c:1439,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/tests/live-g-file.c:1388,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/live-g-file.c:1400,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/live-g-file.c:1415,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/live-g-file.c:1425,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/live-g-file.c:1435,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/live-g-file.c:1410,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/live-g-file.c:1420,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/live-g-file.c:1430,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/live-g-file.c:1443,1
    - Dst: g_option_context_new
      Src: /src/glib/gio/tests/live-g-file.c:1386,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/live-g-file.c:1391,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/live-g-file.c:1402,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/live-g-file.c:1456,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/live-g-file.c:1466,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/live-g-file.c:1470,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/live-g-file.c:1473,1
    - Dst: g_test_init
      Src: /src/glib/gio/tests/live-g-file.c:1367,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/live-g-file.c:1401,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/live-g-file.c:1451,1
    - Dst: g_test_add_data_func
      Src: /src/glib/gio/tests/live-g-file.c:1461,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 66
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1475
      start: 1340
    functionDepth: 0
    functionLinenumber: 1340
    functionLinenumberEnd: 1475
    functionName: main
    functionSourceFile: /src/glib/gio/tests/live-g-file.c
    functionUses: []
    functionsReached:
    - g_printerr
    - g_option_context_free
    - g_test_add_data_func
    - g_option_context_new
    - g_test_run
    - g_option_context_get_help
    - strdup
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/live-g-file.c:150,1
    - Dst: mkdir
      Src: /src/glib/gio/tests/live-g-file.c:153,1
    - Dst: g_assert_no_errno
      Src: /src/glib/gio/tests/live-g-file.c:154,1
    - Dst: g_assert_no_errno
      Src: /src/glib/gio/tests/live-g-file.c:153,1
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/live-g-file.c:151,1
    - Dst: chmod
      Src: /src/glib/gio/tests/live-g-file.c:154,1
    - Dst: mkdir
      Src: /src/glib/gio/tests/live-g-file.c:156,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/live-g-file.c:158,1
    - Dst: g_assert_no_errno
      Src: /src/glib/gio/tests/live-g-file.c:159,1
    - Dst: rmdir
      Src: /src/glib/gio/tests/live-g-file.c:159,1
    - Dst: g_assert_no_errno
      Src: /src/glib/gio/tests/live-g-file.c:171,1
    - Dst: chmod
      Src: /src/glib/gio/tests/live-g-file.c:171,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/live-g-file.c:167,1
    - Dst: g_free
      Src: /src/glib/gio/tests/live-g-file.c:173,1
    - Dst: g_free
      Src: /src/glib/gio/tests/live-g-file.c:174,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/live-g-file.c:166,1
    - Dst: g_assert_no_errno
      Src: /src/glib/gio/tests/live-g-file.c:172,1
    - Dst: rmdir
      Src: /src/glib/gio/tests/live-g-file.c:172,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - tmpdir
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 176
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 176
    functionName: check_cap_dac_override
    functionSourceFile: /src/glib/gio/tests/live-g-file.c
    functionUses: []
    functionsReached:
    - chmod
    - g_test_message
    - g_build_filename
    - rmdir
    - g_assert_no_errno
    - mkdir
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean check_cap_dac_override (const char *tmpdir) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/live-g-file.c:207,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:211,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:208,1
    - Dst: g_file_make_directory
      Src: /src/glib/gio/tests/live-g-file.c:210,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/live-g-file.c:212,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 214
    functionName: create_empty_dir
    functionSourceFile: /src/glib/gio/tests/live-g-file.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_assert_nonnull
    - g_file_make_directory
    - g_assert_no_error
    - g_file_get_child
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *create_empty_dir (GFile * parent, const char *filename) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:951,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:956,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/tests/live-g-file.c:953,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:954,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/live-g-file.c:968,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/live-g-file.c:994,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/live-g-file.c:1015,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:1024,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/live-g-file.c:989,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/live-g-file.c:990,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/live-g-file.c:984,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/live-g-file.c:1003,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/live-g-file.c:1007,1
    - Dst: g_output_stream_close
      Src: /src/glib/gio/tests/live-g-file.c:1013,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:1019,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/live-g-file.c:955,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/live-g-file.c:958,1
    - Dst: g_file_create
      Src: /src/glib/gio/tests/live-g-file.c:974,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/live-g-file.c:998,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/live-g-file.c:1018,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/live-g-file.c:966,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:969,1
    - Dst: g_file_replace
      Src: /src/glib/gio/tests/live-g-file.c:977,1
    - Dst: g_file_append_to
      Src: /src/glib/gio/tests/live-g-file.c:980,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/live-g-file.c:996,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:1002,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/glib/gio/tests/live-g-file.c:1013,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:1017,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:1021,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 71
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1025
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 1025
    functionName: test_create
    functionSourceFile: /src/glib/gio/tests/live-g-file.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_file_replace
    - g_object_unref
    - g_assert_null
    - G_N_ELEMENTS
    - g_test_message
    - g_file_create
    - g_assert_nonnull
    - g_file_append_to
    - g_output_stream_close
    - g_assert_no_error
    - g_file_get_child
    - g_file_query_exists
    - g_error_free
    - g_file_new_for_commandline_arg
    - G_OUTPUT_STREAM
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_create (gconstpointer test_data) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:1108,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:1111,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/tests/live-g-file.c:1110,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/live-g-file.c:1115,1
    - Dst: file_exists
      Src: /src/glib/gio/tests/live-g-file.c:1125,1
    - Dst: g_file_get_path
      Src: /src/glib/gio/tests/live-g-file.c:1129,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/live-g-file.c:1130,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/live-g-file.c:1152,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/live-g-file.c:1153,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:1162,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:1113,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/live-g-file.c:1112,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:1126,1
    - Dst: g_file_trash
      Src: /src/glib/gio/tests/live-g-file.c:1137,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/live-g-file.c:1148,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/live-g-file.c:1147,1
    - Dst: g_free
      Src: /src/glib/gio/tests/live-g-file.c:1131,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/live-g-file.c:1142,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/live-g-file.c:1143,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/live-g-file.c:1158,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/live-g-file.c:1135,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/live-g-file.c:1159,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:1165,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1166
      start: 1097
    functionDepth: 0
    functionLinenumber: 1097
    functionLinenumberEnd: 1166
    functionName: test_delete
    functionSourceFile: /src/glib/gio/tests/live-g-file.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_object_unref
    - G_N_ELEMENTS
    - g_test_message
    - g_file_trash
    - g_assert_nonnull
    - g_free
    - g_file_delete
    - g_file_get_path
    - g_file_query_exists
    - g_error_free
    - g_assert_false
    - file_exists
    - g_file_new_for_commandline_arg
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_delete (gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/live-g-file.c:223,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:227,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:224,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/live-g-file.c:228,1
    - Dst: g_file_make_symbolic_link
      Src: /src/glib/gio/tests/live-g-file.c:226,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 230
    functionName: create_symlink
    functionSourceFile: /src/glib/gio/tests/live-g-file.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_assert_nonnull
    - g_file_make_symbolic_link
    - g_assert_no_error
    - g_file_get_child
    linkageType: ''
    returnType: GFile*
    signature: 'static GFile *create_symlink (GFile * parent, const char *filename,
      const char *points_to) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:1037,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/tests/live-g-file.c:1039,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:1040,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/live-g-file.c:1044,1
    - Dst: g_file_read
      Src: /src/glib/gio/tests/live-g-file.c:1058,1
    - Dst: g_input_stream_close
      Src: /src/glib/gio/tests/live-g-file.c:1085,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/live-g-file.c:1075,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/live-g-file.c:1079,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/live-g-file.c:1064,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/live-g-file.c:1065,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:1087,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:1091,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/live-g-file.c:1041,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:1042,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/live-g-file.c:1053,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:1056,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/tests/live-g-file.c:1085,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:1074,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:1094,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/live-g-file.c:1088,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/live-g-file.c:1055,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/live-g-file.c:1069,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/live-g-file.c:1070,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:1089,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1095
      start: 1027
    functionDepth: 0
    functionLinenumber: 1027
    functionLinenumberEnd: 1095
    functionName: test_open
    functionSourceFile: /src/glib/gio/tests/live-g-file.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_object_unref
    - g_assert_null
    - G_N_ELEMENTS
    - g_test_message
    - g_file_read
    - g_assert_nonnull
    - g_input_stream_close
    - g_assert_no_error
    - g_file_get_child
    - g_file_query_exists
    - g_error_free
    - g_file_new_for_commandline_arg
    - G_INPUT_STREAM
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_open (gconstpointer test_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/live-g-file.c:1187,1
    - Dst: g_file_make_directory_with_parents
      Src: /src/glib/gio/tests/live-g-file.c:1192,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:1201,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/live-g-file.c:1195,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/live-g-file.c:1206,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/live-g-file.c:1212,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/live-g-file.c:1216,1
    - Dst: g_file_set_attribute_uint32
      Src: /src/glib/gio/tests/live-g-file.c:1242,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:1247,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/live-g-file.c:1250,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:1263,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/live-g-file.c:1182,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:1183,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/live-g-file.c:1186,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/live-g-file.c:1194,1
    - Dst: g_file_make_directory_with_parents
      Src: /src/glib/gio/tests/live-g-file.c:1200,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:1204,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/live-g-file.c:1211,1
    - Dst: g_file_make_directory
      Src: /src/glib/gio/tests/live-g-file.c:1239,1
    - Dst: g_file_make_directory_with_parents
      Src: /src/glib/gio/tests/live-g-file.c:1254,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:1260,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/live-g-file.c:1185,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:1193,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/live-g-file.c:1198,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/live-g-file.c:1203,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/live-g-file.c:1207,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:1210,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/live-g-file.c:1215,1
    - Dst: g_file_delete
      Src: /src/glib/gio/tests/live-g-file.c:1217,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/live-g-file.c:1252,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/live-g-file.c:1257,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/live-g-file.c:1251,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/live-g-file.c:1256,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/live-g-file.c:1255,1
    - Dst: check_cap_dac_override
      Src: /src/glib/gio/tests/live-g-file.c:1175,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:1178,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:1181,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/tests/live-g-file.c:1180,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:1196,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/live-g-file.c:1202,1
    - Dst: g_file_make_directory_with_parents
      Src: /src/glib/gio/tests/live-g-file.c:1209,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:1213,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/live-g-file.c:1232,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:1240,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:1262,1
    - Dst: g_file_make_directory_with_parents
      Src: /src/glib/gio/tests/live-g-file.c:1249,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:1261,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 65
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 1264
      start: 1168
    functionDepth: 0
    functionLinenumber: 1168
    functionLinenumberEnd: 1264
    functionName: test_make_directory_with_parents
    functionSourceFile: /src/glib/gio/tests/live-g-file.c
    functionUses: []
    functionsReached:
    - g_file_set_attribute_uint32
    - g_clear_error
    - g_assert_true
    - g_object_unref
    - g_assert_nonnull
    - g_file_delete
    - g_file_make_directory
    - g_assert_no_error
    - g_file_get_child
    - g_file_query_exists
    - g_assert_false
    - g_test_skip
    - g_file_new_for_commandline_arg
    - check_cap_dac_override
    - g_file_make_directory_with_parents
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_make_directory_with_parents (gconstpointer test_data) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_file_info_has_attribute
      Src: /src/glib/gio/tests/live-g-file.c:380,1
    - Dst: g_file_info_get_file_type
      Src: /src/glib/gio/tests/live-g-file.c:382,1
    - Dst: g_file_info_get_name
      Src: /src/glib/gio/tests/live-g-file.c:414,1
    - Dst: g_utf8_validate
      Src: /src/glib/gio/tests/live-g-file.c:420,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/live-g-file.c:445,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:462,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/live-g-file.c:392,1
    - Dst: g_file_info_get_attribute_boolean
      Src: /src/glib/gio/tests/live-g-file.c:399,1
    - Dst: g_file_info_get_attribute_boolean
      Src: /src/glib/gio/tests/live-g-file.c:408,1
    - Dst: g_file_info_get_display_name
      Src: /src/glib/gio/tests/live-g-file.c:418,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:421,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:410,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:428,1
    - Dst: g_utf8_validate
      Src: /src/glib/gio/tests/live-g-file.c:437,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:438,1
    - Dst: g_file_info_get_attribute_boolean
      Src: /src/glib/gio/tests/live-g-file.c:469,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:381,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/live-g-file.c:384,1
    - Dst: g_file_info_get_edit_name
      Src: /src/glib/gio/tests/live-g-file.c:424,1
    - Dst: g_file_info_get_attribute_string
      Src: /src/glib/gio/tests/live-g-file.c:433,1
    - Dst: g_file_info_get_symlink_target
      Src: /src/glib/gio/tests/live-g-file.c:452,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/live-g-file.c:453,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/live-g-file.c:471,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/live-g-file.c:383,1
    - Dst: g_file_info_get_attribute_uint32
      Src: /src/glib/gio/tests/live-g-file.c:390,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:401,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:415,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:419,1
    - Dst: g_utf8_validate
      Src: /src/glib/gio/tests/live-g-file.c:427,1
    - Dst: g_file_info_get_is_symlink
      Src: /src/glib/gio/tests/live-g-file.c:444,1
    - Dst: g_file_info_get_attribute_boolean
      Src: /src/glib/gio/tests/live-g-file.c:460,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 69
    argCount: 2
    argNames:
    - item
    - info
    argTypes:
    - struct StructureItem
    - GFileInfo*
    constantsTouched: []
    func_position:
      end: 473
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 473
    functionName: test_attributes
    functionSourceFile: /src/glib/gio/tests/live-g-file.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_file_info_has_attribute
    - g_file_info_get_symlink_target
    - g_file_info_get_file_type
    - g_assert_nonnull
    - g_file_info_get_is_symlink
    - g_assert_cmpstr
    - g_file_info_get_edit_name
    - g_assert_false
    - g_file_info_get_attribute_boolean
    - g_file_info_get_display_name
    - g_file_info_get_attribute_string
    - g_file_info_get_name
    - g_file_info_get_attribute_uint32
    - g_utf8_validate
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_attributes (struct StructureItem item, GFileInfo
      * info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:595,1
    - Dst: g_file_enumerate_children
      Src: /src/glib/gio/tests/live-g-file.c:592,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/live-g-file.c:623,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/live-g-file.c:610,1
    - Dst: traverse_recurse_dirs
      Src: /src/glib/gio/tests/live-g-file.c:627,1
    - Dst: g_file_info_get_display_name
      Src: /src/glib/gio/tests/live-g-file.c:624,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:640,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:644,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:588,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/live-g-file.c:596,1
    - Dst: g_file_enumerator_next_file
      Src: /src/glib/gio/tests/live-g-file.c:601,1
    - Dst: g_free
      Src: /src/glib/gio/tests/live-g-file.c:632,1
    - Dst: g_file_enumerator_next_file
      Src: /src/glib/gio/tests/live-g-file.c:634,1
    - Dst: g_file_enumerator_close
      Src: /src/glib/gio/tests/live-g-file.c:639,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:642,1
    - Dst: g_file_get_relative_path
      Src: /src/glib/gio/tests/live-g-file.c:606,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:621,1
    - Dst: g_file_info_get_file_type
      Src: /src/glib/gio/tests/live-g-file.c:626,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:607,1
    - Dst: strcmp
      Src: /src/glib/gio/tests/live-g-file.c:612,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:629,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:631,1
    - Dst: g_file_enumerator_is_closed
      Src: /src/glib/gio/tests/live-g-file.c:642,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:598,1
    - Dst: g_file_enumerator_get_container
      Src: /src/glib/gio/tests/live-g-file.c:598,1
    - Dst: g_file_enumerator_get_child
      Src: /src/glib/gio/tests/live-g-file.c:604,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:605,1
    - Dst: test_attributes
      Src: /src/glib/gio/tests/live-g-file.c:615,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/live-g-file.c:636,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/live-g-file.c:641,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 2
    argNames:
    - parent
    - root
    argTypes:
    - GFile*
    - GFile*
    constantsTouched: []
    func_position:
      end: 645
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 645
    functionName: traverse_recurse_dirs
    functionSourceFile: /src/glib/gio/tests/live-g-file.c
    functionUses: []
    functionsReached:
    - g_file_enumerator_close
    - g_file_enumerator_is_closed
    - strcmp
    - traverse_recurse_dirs
    - g_assert_true
    - g_file_enumerator_next_file
    - g_object_unref
    - G_N_ELEMENTS
    - g_assert_nonnull
    - g_file_get_relative_path
    - g_file_info_get_file_type
    - g_test_message
    - g_file_enumerator_get_container
    - g_file_enumerate_children
    - g_assert_no_error
    - test_attributes
    - g_file_enumerator_get_child
    - g_file_info_get_display_name
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void traverse_recurse_dirs (GFile * parent, GFile * root) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: file_exists
      Src: /src/glib/gio/tests/live-g-file.c:508,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:509,1
    - Dst: test_attributes
      Src: /src/glib/gio/tests/live-g-file.c:519,1
    - Dst: file_exists
      Src: /src/glib/gio/tests/live-g-file.c:527,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:517,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:528,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/live-g-file.c:535,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:543,1
    - Dst: g_input_stream_read
      Src: /src/glib/gio/tests/live-g-file.c:553,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/live-g-file.c:557,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/tests/live-g-file.c:563,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:570,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/live-g-file.c:495,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/live-g-file.c:499,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:510,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:529,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:536,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:539,1
    - Dst: g_malloc
      Src: /src/glib/gio/tests/live-g-file.c:546,1
    - Dst: G_INPUT_STREAM
      Src: /src/glib/gio/tests/live-g-file.c:553,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/live-g-file.c:555,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/live-g-file.c:560,1
    - Dst: g_free
      Src: /src/glib/gio/tests/live-g-file.c:572,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/live-g-file.c:544,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:571,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:565,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:490,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:494,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/tests/live-g-file.c:493,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/live-g-file.c:491,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:496,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/live-g-file.c:506,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/live-g-file.c:526,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/live-g-file.c:516,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:521,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/live-g-file.c:514,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/live-g-file.c:533,1
    - Dst: g_input_stream_close
      Src: /src/glib/gio/tests/live-g-file.c:563,1
    - Dst: g_file_read
      Src: /src/glib/gio/tests/live-g-file.c:542,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:522,1
    - Dst: g_file_info_get_size
      Src: /src/glib/gio/tests/live-g-file.c:537,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/live-g-file.c:538,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/live-g-file.c:568,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/live-g-file.c:564,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:573,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 79
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 574
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 574
    functionName: test_initial_structure
    functionSourceFile: /src/glib/gio/tests/live-g-file.c
    functionUses: []
    functionsReached:
    - g_input_stream_close
    - g_malloc
    - g_file_query_exists
    - g_file_new_for_commandline_arg
    - G_INPUT_STREAM
    - g_file_query_info
    - g_assert_true
    - g_object_unref
    - G_N_ELEMENTS
    - g_file_read
    - g_assert_nonnull
    - g_input_stream_read
    - g_assert_cmpint
    - g_test_message
    - g_assert_no_error
    - file_exists
    - test_attributes
    - g_file_info_get_size
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_initial_structure (gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:653,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:658,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/live-g-file.c:654,1
    - Dst: g_file_query_exists
      Src: /src/glib/gio/tests/live-g-file.c:659,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/tests/live-g-file.c:657,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:660,1
    - Dst: traverse_recurse_dirs
      Src: /src/glib/gio/tests/live-g-file.c:662,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/live-g-file.c:664,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - test_data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 665
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 665
    functionName: test_traverse_structure
    functionSourceFile: /src/glib/gio/tests/live-g-file.c
    functionUses: []
    functionsReached:
    - traverse_recurse_dirs
    - g_assert_true
    - g_object_unref
    - g_test_message
    - g_assert_nonnull
    - g_file_query_exists
    - g_file_new_for_commandline_arg
    linkageType: ''
    returnType: void
    signature: 'static void test_traverse_structure (gconstpointer test_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/live-g-file.c:922,1
    - Dst: g_file_info_get_attribute_boolean
      Src: /src/glib/gio/tests/live-g-file.c:933,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/live-g-file.c:929,1
    - Dst: g_file_query_info
      Src: /src/glib/gio/tests/live-g-file.c:927,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/live-g-file.c:930,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/live-g-file.c:935,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/live-g-file.c:937,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/live-g-file.c:938,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - data
    argTypes:
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 939
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 939
    functionName: test_unix_is_mountpoint
    functionSourceFile: /src/glib/gio/tests/live-g-file.c
    functionUses: []
    functionsReached:
    - g_file_new_for_path
    - g_file_query_info
    - g_assert_true
    - g_assert_nonnull
    - g_assert_no_error
    - g_clear_object
    - g_file_info_get_attribute_boolean
    linkageType: ''
    returnType: void
    signature: 'static void test_unix_is_mountpoint (gconstpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_push_thread_default
      Src: /src/glib/gio/tests/gdbus-sasl.c:156,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-sasl.c:163,1
    - Dst: g_dbus_server_start
      Src: /src/glib/gio/tests/gdbus-sasl.c:165,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-sasl.c:164,1
    - Dst: g_dbus_server_new_sync
      Src: /src/glib/gio/tests/gdbus-sasl.c:157,1
    - Dst: g_idle_source_new
      Src: /src/glib/gio/tests/gdbus-sasl.c:168,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/tests/gdbus-sasl.c:169,1
    - Dst: g_source_attach
      Src: /src/glib/gio/tests/gdbus-sasl.c:170,1
    - Dst: g_source_unref
      Src: /src/glib/gio/tests/gdbus-sasl.c:171,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-sasl.c:173,1
    - Dst: g_dbus_server_stop
      Src: /src/glib/gio/tests/gdbus-sasl.c:176,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-sasl.c:177,1
    - Dst: g_main_context_pop_thread_default
      Src: /src/glib/gio/tests/gdbus-sasl.c:175,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 179
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 179
    functionName: server_thread_cb
    functionSourceFile: /src/glib/gio/tests/gdbus-sasl.c
    functionUses: []
    functionsReached:
    - g_main_loop_run
    - g_main_context_pop_thread_default
    - g_main_context_push_thread_default
    - g_source_set_callback
    - g_idle_source_new
    - g_source_attach
    - g_dbus_server_new_sync
    - g_assert_nonnull
    - g_assert_no_error
    - g_dbus_server_start
    - g_clear_object
    - g_source_unref
    - g_dbus_server_stop
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer server_thread_cb (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gdbus-sasl.c:113,1
    - Dst: g_string_assign
      Src: /src/glib/gio/tests/gdbus-sasl.c:116,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/tests/gdbus-sasl.c:119,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-sasl.c:121,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - uid
    - dest
    argTypes:
    - guint
    - GString*
    constantsTouched: []
    func_position:
      end: 122
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 122
    functionName: encode_uid
    functionSourceFile: /src/glib/gio/tests/gdbus-sasl.c
    functionUses: []
    functionsReached:
    - g_string_assign
    - g_string_append_printf
    - g_strdup_printf
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void encode_uid (guint uid, GString *dest) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/glib/gio/tests/gdbus-sasl.c:327,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/gdbus-sasl.c:332,1
    - Dst: g_test_init
      Src: /src/glib/gio/tests/gdbus-sasl.c:328,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-sasl.c:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 333
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 333
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gdbus-sasl.c
    functionUses: []
    functionsReached:
    - setlocale
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-sasl.c:242,1
    - Dst: g_unix_connection_send_credentials
      Src: /src/glib/gio/tests/gdbus-sasl.c:251,1
    - Dst: g_assert_no_errno
      Src: /src/glib/gio/tests/gdbus-sasl.c:306,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-sasl.c:302,1
    - Dst: g_string_replace
      Src: /src/glib/gio/tests/gdbus-sasl.c:264,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gdbus-sasl.c:209,1
    - Dst: G_SOCKET_CONNECTABLE
      Src: /src/glib/gio/tests/gdbus-sasl.c:240,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/gdbus-sasl.c:269,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gdbus-sasl.c:286,1
    - Dst: g_string_new
      Src: /src/glib/gio/tests/gdbus-sasl.c:186,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/gdbus-sasl.c:218,1
    - Dst: geteuid
      Src: /src/glib/gio/tests/gdbus-sasl.c:223,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-sasl.c:317,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/tests/gdbus-sasl.c:216,1
    - Dst: encode_uid
      Src: /src/glib/gio/tests/gdbus-sasl.c:223,1
    - Dst: G_IS_UNIX_CONNECTION
      Src: /src/glib/gio/tests/gdbus-sasl.c:244,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/gdbus-sasl.c:247,1
    - Dst: g_data_input_stream_set_newline_type
      Src: /src/glib/gio/tests/gdbus-sasl.c:249,1
    - Dst: g_cond_clear
      Src: /src/glib/gio/tests/gdbus-sasl.c:319,1
    - Dst: g_string_new
      Src: /src/glib/gio/tests/gdbus-sasl.c:187,1
    - Dst: g_mutex_init
      Src: /src/glib/gio/tests/gdbus-sasl.c:205,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/gdbus-sasl.c:213,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-sasl.c:280,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-sasl.c:318,1
    - Dst: g_rmdir
      Src: /src/glib/gio/tests/gdbus-sasl.c:306,1
    - Dst: g_string_free
      Src: /src/glib/gio/tests/gdbus-sasl.c:312,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-sasl.c:298,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/gdbus-sasl.c:211,1
    - Dst: g_unix_socket_address_new
      Src: /src/glib/gio/tests/gdbus-sasl.c:220,1
    - Dst: g_socket_client_connect
      Src: /src/glib/gio/tests/gdbus-sasl.c:240,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-sasl.c:297,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-sasl.c:315,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/gdbus-sasl.c:308,1
    - Dst: strlen
      Src: /src/glib/gio/tests/gdbus-sasl.c:286,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-sasl.c:314,1
    - Dst: g_dbus_address_escape_value
      Src: /src/glib/gio/tests/gdbus-sasl.c:201,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-sasl.c:244,1
    - Dst: G_UNIX_CONNECTION
      Src: /src/glib/gio/tests/gdbus-sasl.c:245,1
    - Dst: g_error
      Src: /src/glib/gio/tests/gdbus-sasl.c:291,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-sasl.c:310,1
    - Dst: g_socket_client_new
      Src: /src/glib/gio/tests/gdbus-sasl.c:239,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/glib/gio/tests/gdbus-sasl.c:246,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-sasl.c:262,1
    - Dst: g_string_new
      Src: /src/glib/gio/tests/gdbus-sasl.c:188,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-sasl.c:200,1
    - Dst: g_string_append
      Src: /src/glib/gio/tests/gdbus-sasl.c:267,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/gdbus-sasl.c:266,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/gdbus-sasl.c:282,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/gdbus-sasl.c:285,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-sasl.c:284,1
    - Dst: g_string_assign
      Src: /src/glib/gio/tests/gdbus-sasl.c:263,1
    - Dst: g_data_input_stream_read_line
      Src: /src/glib/gio/tests/gdbus-sasl.c:283,1
    - Dst: g_dbus_generate_guid
      Src: /src/glib/gio/tests/gdbus-sasl.c:207,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/gdbus-sasl.c:247,1
    - Dst: g_string_replace
      Src: /src/glib/gio/tests/gdbus-sasl.c:265,1
    - Dst: g_cond_init
      Src: /src/glib/gio/tests/gdbus-sasl.c:204,1
    - Dst: geteuid
      Src: /src/glib/gio/tests/gdbus-sasl.c:222,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-sasl.c:316,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-sasl.c:261,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/gdbus-sasl.c:303,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-sasl.c:293,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-sasl.c:299,1
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/gdbus-sasl.c:203,1
    - Dst: g_data_input_stream_new
      Src: /src/glib/gio/tests/gdbus-sasl.c:248,1
    - Dst: g_main_context_new
      Src: /src/glib/gio/tests/gdbus-sasl.c:206,1
    - Dst: encode_uid
      Src: /src/glib/gio/tests/gdbus-sasl.c:222,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/gdbus-sasl.c:246,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-sasl.c:270,1
    - Dst: g_string_free
      Src: /src/glib/gio/tests/gdbus-sasl.c:311,1
    - Dst: g_dir_make_tmp
      Src: /src/glib/gio/tests/gdbus-sasl.c:199,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gdbus-sasl.c:208,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/gdbus-sasl.c:225,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/gdbus-sasl.c:309,1
    - Dst: g_mutex_clear
      Src: /src/glib/gio/tests/gdbus-sasl.c:320,1
    - Dst: g_string_free
      Src: /src/glib/gio/tests/gdbus-sasl.c:313,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-sasl.c:279,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/gdbus-sasl.c:237,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-sasl.c:252,1
    - Dst: g_regex_match_simple
      Src: /src/glib/gio/tests/gdbus-sasl.c:288,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 115
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 321
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 321
    functionName: test_sasl_server
    functionSourceFile: /src/glib/gio/tests/gdbus-sasl.c
    functionUses: []
    functionsReached:
    - G_IO_STREAM
    - g_strdup_printf
    - g_data_input_stream_set_newline_type
    - g_string_assign
    - g_thread_new
    - g_unix_connection_send_credentials
    - g_error
    - g_assert_no_errno
    - geteuid
    - g_assert_true
    - g_object_unref
    - g_mutex_unlock
    - G_N_ELEMENTS
    - g_free
    - g_main_context_new
    - G_IS_UNIX_CONNECTION
    - g_clear_pointer
    - g_clear_object
    - g_data_input_stream_new
    - g_build_filename
    - g_output_stream_write_all
    - g_socket_client_connect
    - g_cond_clear
    - g_io_stream_get_output_stream
    - encode_uid
    - g_dbus_address_escape_value
    - g_assert_cmpint
    - g_mutex_init
    - strlen
    - g_cond_init
    - g_mutex_lock
    - g_test_message
    - g_regex_match_simple
    - g_mutex_clear
    - g_assert_cmpuint
    - g_assert_no_error
    - g_main_loop_new
    - G_UNIX_CONNECTION
    - g_dir_make_tmp
    - g_io_stream_get_input_stream
    - g_data_input_stream_read_line
    - g_string_new
    - g_unix_socket_address_new
    - g_socket_client_new
    - g_cond_wait
    - g_string_append
    - g_string_replace
    - g_main_loop_quit
    - g_string_free
    - g_thread_join
    - g_dbus_generate_guid
    - g_rmdir
    - G_SOCKET_CONNECTABLE
    linkageType: ''
    returnType: void
    signature: 'static void test_sasl_server (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/gdbus-sasl.c:141,1
    - Dst: g_cond_broadcast
      Src: /src/glib/gio/tests/gdbus-sasl.c:143,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/gdbus-sasl.c:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 146
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 146
    functionName: idle_in_server_thread_cb
    functionSourceFile: /src/glib/gio/tests/gdbus-sasl.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_cond_broadcast
    - g_mutex_lock
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean idle_in_server_thread_cb (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_power_profile_monitor_dup_default
      Src: /src/glib/gio/tests/power-profile-monitor.c:27,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/power-profile-monitor.c:28,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/power-profile-monitor.c:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 30
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 30
    functionName: test_dup_default
    functionSourceFile: /src/glib/gio/tests/power-profile-monitor.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_power_profile_monitor_dup_default
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_dup_default (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_power_profile_monitor_get_power_saver_enabled
      Src: /src/glib/gio/tests/power-profile-monitor.c:39,1
    - Dst: g_debug
      Src: /src/glib/gio/tests/power-profile-monitor.c:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - monitor
    - pspec
    - user_data
    argTypes:
    - GPowerProfileMonitor*
    - GParamSpec*
    - gpointer
    constantsTouched: []
    func_position:
      end: 41
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 41
    functionName: power_saver_enabled_cb
    functionSourceFile: /src/glib/gio/tests/power-profile-monitor.c
    functionUses: []
    functionsReached:
    - g_power_profile_monitor_get_power_saver_enabled
    - g_debug
    linkageType: ''
    returnType: void
    signature: 'static void power_saver_enabled_cb (GPowerProfileMonitor *monitor,
      GParamSpec *pspec, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/glib/gio/tests/power-profile-monitor.c:67,1
    - Dst: do_watch_power_profile
      Src: /src/glib/gio/tests/power-profile-monitor.c:69,1
    - Dst: g_test_init
      Src: /src/glib/gio/tests/power-profile-monitor.c:73,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/power-profile-monitor.c:75,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/power-profile-monitor.c:77,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 80
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 80
    functionName: main
    functionSourceFile: /src/glib/gio/tests/power-profile-monitor.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_run
    - strcmp
    - do_watch_power_profile
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_power_profile_monitor_dup_default
      Src: /src/glib/gio/tests/power-profile-monitor.c:50,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/power-profile-monitor.c:51,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/power-profile-monitor.c:52,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/power-profile-monitor.c:54,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/power-profile-monitor.c:51,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/power-profile-monitor.c:55,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/tests/power-profile-monitor.c:57,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/power-profile-monitor.c:58,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/power-profile-monitor.c:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 60
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 60
    functionName: do_watch_power_profile
    functionSourceFile: /src/glib/gio/tests/power-profile-monitor.c
    functionUses: []
    functionsReached:
    - g_main_loop_run
    - g_object_unref
    - g_signal_handler_disconnect
    - g_main_loop_unref
    - G_OBJECT
    - G_CALLBACK
    - g_main_loop_new
    - g_power_profile_monitor_dup_default
    - g_signal_connect
    linkageType: ''
    returnType: void
    signature: 'static void do_watch_power_profile (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_method_invocation_get_method_name
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:359,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:374,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:364,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:368,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:360,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:379,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 4
    argNames:
    - object
    - interface
    - invocation
    - user_data
    argTypes:
    - GDBusObjectSkeleton*
    - GDBusInterfaceSkeleton*
    - GDBusMethodInvocation*
    - gpointer
    constantsTouched: []
    func_position:
      end: 385
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 385
    functionName: my_object_authorize_method_handler
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_dbus_method_invocation_return_error
    - g_dbus_method_invocation_get_method_name
    - g_strcmp0
    - g_assert_not_reached
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean my_object_authorize_method_handler (GDBusObjectSkeleton
      *object, GDBusInterfaceSkeleton *interface, GDBusMethodInvocation *invocation,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_interface_skeleton_unexport
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:459,1
    - Dst: g_dbus_interface_skeleton_unexport
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:460,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:460,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:459,1
    - Dst: g_dbus_interface_skeleton_unexport
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:461,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:461,1
    - Dst: g_dbus_interface_skeleton_unexport
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:462,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:462,1
    - Dst: g_dbus_interface_skeleton_unexport
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:463,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:463,1
    - Dst: g_dbus_interface_skeleton_unexport
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:464,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 465
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 465
    functionName: unexport_objects
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - G_DBUS_INTERFACE_SKELETON
    - g_dbus_interface_skeleton_unexport
    linkageType: ''
    returnType: void
    signature: 'static void unexport_objects (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:637,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 638
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 638
    functionName: on_name_lost
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    linkageType: ''
    returnType: void
    signature: 'static void on_name_lost (GDBusConnection *connection, const gchar
      *name, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1485,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1491,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1489,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1488,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1490,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1493,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - connection
    - res
    - user_data
    argTypes:
    - GDBusConnection*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1494
      start: 1475
    functionDepth: 0
    functionLinenumber: 1475
    functionLinenumberEnd: 1494
    functionName: introspect_cb
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_dbus_connection_call_finish
    - g_assert_no_error
    - g_variant_unref
    - g_main_loop_quit
    - g_variant_get
    linkageType: ''
    returnType: void
    signature: 'static void introspect_cb (GDBusConnection *connection, GAsyncResult
      *res, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - GDBusNodeInfo*
    constantsTouched: []
    func_position:
      end: 1543
      start: 1536
    functionDepth: 0
    functionLinenumber: 1536
    functionLinenumberEnd: 1543
    functionName: count_interfaces
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint
    signature: 'static guint count_interfaces (GDBusNodeInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_call_finish
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1583,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1587,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1586,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1588,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - connection
    - res
    - user_data
    argTypes:
    - GDBusConnection*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1589
      start: 1574
    functionDepth: 0
    functionLinenumber: 1574
    functionLinenumberEnd: 1589
    functionName: om_get_all_cb
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_assert_no_error
    - g_main_loop_quit
    - g_dbus_connection_call_finish
    - g_assert
    linkageType: ''
    returnType: void
    signature: 'static void om_get_all_cb (GDBusConnection *connection, GAsyncResult
      *res, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: foo_igen_test_fdpassing_complete_no_annotation
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2750,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 5
    argNames:
    - object
    - invocation
    - fd_list
    - arg_greeting
    - arg_greeting_locale
    argTypes:
    - FooiGenTestFDPassing*
    - GDBusMethodInvocation*
    - GUnixFDList*
    - GVariant*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2752
      start: 2743
    functionDepth: 0
    functionLinenumber: 2743
    functionLinenumberEnd: 2752
    functionName: handle_no_annotation
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - foo_igen_test_fdpassing_complete_no_annotation
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean handle_no_annotation (FooiGenTestFDPassing *object,
      GDBusMethodInvocation *invocation, GUnixFDList *fd_list, GVariant *arg_greeting,
      const gchar *arg_greeting_locale) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: foo_igen_authorize_complete_check_not_authorized
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:392,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - object
    - invocation
    - user_data
    argTypes:
    - FooiGenAuthorize*
    - GDBusMethodInvocation*
    - gpointer
    constantsTouched: []
    func_position:
      end: 394
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 394
    functionName: on_handle_check_not_authorized
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - foo_igen_authorize_complete_check_not_authorized
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean on_handle_check_not_authorized (FooiGenAuthorize *object,
      GDBusMethodInvocation *invocation, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:498,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:511,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:599,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:604,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:562,1
    - Dst: g_dbus_interface_skeleton_export
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:582,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:611,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:507,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:542,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:591,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:581,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:587,1
    - Dst: foo_igen_bar_set_readonly_property
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:495,1
    - Dst: g_object_set
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:538,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:540,1
    - Dst: g_dbus_interface_skeleton_get_flags
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:604,1
    - Dst: g_dbus_interface_skeleton_set_flags
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:578,1
    - Dst: foo_igen_bar_set_writeonly_property
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:490,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:513,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:523,1
    - Dst: g_dbus_interface_skeleton_export
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:594,1
    - Dst: foo_igen_bar_skeleton_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:485,1
    - Dst: g_dbus_interface_skeleton_export
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:553,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:604,1
    - Dst: g_dbus_interface_skeleton_export
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:607,1
    - Dst: foo_igen_bar_set_ay
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:486,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:505,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:517,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:525,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:529,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:553,1
    - Dst: g_dbus_interface_skeleton_has_connection
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:581,1
    - Dst: g_thread_self
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:617,1
    - Dst: foo_igen_bar_set_d
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:488,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:598,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:546,1
    - Dst: foo_igen_method_threads_skeleton_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:593,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:594,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:607,1
    - Dst: foo_igen_bar_set_y
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:487,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:519,1
    - Dst: foo_igen_authorize_skeleton_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:550,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:552,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:566,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:581,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:557,1
    - Dst: g_dbus_interface_skeleton_get_flags
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:591,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:503,1
    - Dst: g_dbus_object_skeleton_add_interface
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:551,1
    - Dst: foo_igen_method_threads_skeleton_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:577,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:533,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:536,1
    - Dst: g_variant_new_int32
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:539,1
    - Dst: g_dbus_object_skeleton_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:545,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:560,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:572,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:612,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:515,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:502,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:509,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:521,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:548,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:614,1
    - Dst: foo_igen_bat_skeleton_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:528,1
    - Dst: g_variant_new_bytestring
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:541,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:570,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:578,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:589,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:601,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:496,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:534,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:568,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:582,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:591,1
    - Dst: foo_igen_bar_get_writeonly_property
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:496,1
    - Dst: g_dbus_interface_skeleton_export
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:498,1
    - Dst: g_dbus_interface_skeleton_export
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:529,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:586,1
    - Dst: foo_igen_test_fdpassing_skeleton_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:606,1
    - Dst: foo_igen_bar_set_finally_normal_name
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:489,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:558,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:564,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 93
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 618
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 618
    functionName: on_bus_acquired
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_dbus_interface_skeleton_set_flags
    - foo_igen_bar_set_d
    - g_dbus_interface_skeleton_export
    - foo_igen_authorize_skeleton_new
    - g_signal_connect
    - foo_igen_test_fdpassing_skeleton_new
    - g_object_set
    - foo_igen_bar_skeleton_new
    - g_variant_new_int32
    - g_thread_self
    - g_variant_new_bytestring
    - foo_igen_bar_set_ay
    - foo_igen_method_threads_skeleton_new
    - g_assert_cmpint
    - g_assert_no_error
    - foo_igen_bar_set_y
    - g_dbus_object_skeleton_add_interface
    - g_dbus_interface_skeleton_get_flags
    - foo_igen_bat_skeleton_new
    - g_dbus_interface_skeleton_has_connection
    - foo_igen_bar_set_readonly_property
    - g_dbus_object_skeleton_new
    - g_assert
    - g_assert_cmpstr
    - foo_igen_bar_set_finally_normal_name
    - G_DBUS_INTERFACE_SKELETON
    - G_CALLBACK
    - foo_igen_bar_set_writeonly_property
    - g_variant_new_string
    - g_variant_new
    - foo_igen_bar_get_writeonly_property
    linkageType: ''
    returnType: void
    signature: 'static void on_bus_acquired (GDBusConnection *connection, const gchar
      *name, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1506,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1517,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1523,1
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1511,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1524,1
    - Dst: g_dbus_node_info_new_for_xml
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1527,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1528,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1529,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1530,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1531,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1534
      start: 1496
    functionDepth: 0
    functionLinenumber: 1496
    functionLinenumberEnd: 1534
    functionName: introspect
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_call
    - g_main_loop_run
    - g_dbus_node_info_new_for_xml
    - g_assert
    - g_free
    - g_assert_no_error
    - g_new0
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: GDBusNodeInfo*
    signature: 'static GDBusNodeInfo *introspect (GDBusConnection *connection, const
      gchar *name, const gchar *object_path, GMainLoop *loop) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - GDBusNodeInfo*
    constantsTouched: []
    func_position:
      end: 1552
      start: 1545
    functionDepth: 0
    functionLinenumber: 1545
    functionLinenumberEnd: 1552
    functionName: count_nodes
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint
    signature: 'static guint count_nodes (GDBusNodeInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_call
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1603,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1616,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1615,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1609,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1604,1
    - Dst: g_variant_print
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1617,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1618,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1619,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1620,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - c
    - loop
    - str
    argTypes:
    - GDBusConnection*
    - GMainLoop*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1621
      start: 1591
    functionDepth: 0
    functionLinenumber: 1591
    functionLinenumberEnd: 1621
    functionName: om_check_get_all
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_dbus_connection_call
    - g_main_loop_run
    - g_assert
    - g_dbus_connection_get_unique_name
    - g_free
    - g_assert_cmpstr
    - g_variant_unref
    - g_variant_print
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: void
    signature: 'static void om_check_get_all (GDBusConnection *c, GMainLoop *loop,
      const gchar *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1854,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1855,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - manager
    - res
    - user_data
    argTypes:
    - FooiGenObjectManagerClient*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1856
      start: 1848
    functionDepth: 0
    functionLinenumber: 1848
    functionLinenumberEnd: 1856
    functionName: om_pm_start_cb
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    - g_object_ref
    linkageType: ''
    returnType: void
    signature: 'static void om_pm_start_cb (FooiGenObjectManagerClient *manager, GAsyncResult
      *res, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FIELD
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2510,1
    - Dst: CHECK_FIELD
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2514,1
    - Dst: CHECK_FIELD
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2512,1
    - Dst: CHECK_FIELD
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2513,1
    - Dst: CHECK_FIELD
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2511,1
    - Dst: CHECK_FIELD
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2515,1
    - Dst: CHECK_FIELD
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2516,1
    - Dst: CHECK_FIELD
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2518
      start: 2507
    functionDepth: 0
    functionLinenumber: 2507
    functionLinenumberEnd: 2518
    functionName: test_interface_stability
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - CHECK_FIELD
    linkageType: ''
    returnType: void
    signature: 'static void test_interface_stability (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: foo_igen_naming_skeleton_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2544,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2546,1
    - Dst: g_object_class_find_property
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2545,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2545,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2545,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2547
      start: 2534
    functionDepth: 0
    functionLinenumber: 2534
    functionLinenumberEnd: 2547
    functionName: test_property_naming
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_object_class_find_property
    - foo_igen_naming_skeleton_new
    - g_object_unref
    - g_assert
    - G_OBJECT_GET_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void test_property_naming (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1210,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1212,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1213,1
    - Dst: g_variant_get_int32
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1212,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1213,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1214,1
    - Dst: g_variant_get_bytestring
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1214,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1215,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1216,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 6
    argNames:
    - proxy
    - force_i
    - force_s
    - force_ay
    - force_struct
    - user_data
    argTypes:
    - FooiGenBat*
    - GVariant*
    - GVariant*
    - GVariant*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1219
      start: 1199
    functionDepth: 0
    functionLinenumber: 1199
    functionLinenumberEnd: 1219
    functionName: on_force_signal
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_variant_get_int32
    - g_assert
    - g_variant_get_bytestring
    - g_assert_cmpstr
    - g_variant_get_string
    - g_variant_get
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void on_force_signal (FooiGenBat *proxy, GVariant *force_i,
      GVariant *force_s, GVariant *force_ay, GVariant *force_struct, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_push_thread_default
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1388,1
    - Dst: check_bat_proxy
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1410,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1420,1
    - Dst: foo_igen_method_threads_proxy_new_for_bus_sync
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1432,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1422,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1440,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1451,1
    - Dst: check_bar_proxy
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1399,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1431,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1441,1
    - Dst: foo_igen_test_fdpassing_proxy_new_for_bus_sync
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1443,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1459,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1387,1
    - Dst: foo_igen_bar_proxy_new_for_bus_sync
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1392,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1400,1
    - Dst: foo_igen_bat_proxy_new_for_bus_sync
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1403,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1409,1
    - Dst: check_authorize_proxy
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1421,1
    - Dst: foo_igen_authorize_proxy_new_for_bus_sync
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1414,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1449,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1454,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1460,1
    - Dst: g_main_context_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1386,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1398,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1438,1
    - Dst: foo_igen_method_threads_proxy_new_for_bus_sync
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1425,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1411,1
    - Dst: check_thread_proxies
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1439,1
    - Dst: check_fdpassing_proxy
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1450,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1463,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1465
      start: 1372
    functionDepth: 0
    functionLinenumber: 1372
    functionLinenumberEnd: 1465
    functionName: check_proxies_in_thread
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_main_context_unref
    - foo_igen_method_threads_proxy_new_for_bus_sync
    - foo_igen_bar_proxy_new_for_bus_sync
    - g_object_unref
    - check_thread_proxies
    - check_bar_proxy
    - g_main_context_new
    - check_fdpassing_proxy
    - g_main_context_push_thread_default
    - foo_igen_authorize_proxy_new_for_bus_sync
    - foo_igen_bat_proxy_new_for_bus_sync
    - check_bat_proxy
    - g_assert_no_error
    - g_main_loop_new
    - check_authorize_proxy
    - foo_igen_test_fdpassing_proxy_new_for_bus_sync
    - g_main_loop_unref
    - g_main_loop_quit
    - g_main_context_iteration
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer check_proxies_in_thread (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: foo_igen_test_fdpassing_complete_hello_fd
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2738,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - object
    - invocation
    - fd_list
    - arg_greeting
    argTypes:
    - FooiGenTestFDPassing*
    - GDBusMethodInvocation*
    - GUnixFDList*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2740
      start: 2732
    functionDepth: 0
    functionLinenumber: 2732
    functionLinenumberEnd: 2740
    functionName: handle_hello_fd
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - foo_igen_test_fdpassing_complete_hello_fd
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean handle_hello_fd (FooiGenTestFDPassing *object, GDBusMethodInvocation
      *invocation, GUnixFDList *fd_list, const gchar *arg_greeting) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:174,1
    - Dst: g_variant_print
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:176,1
    - Dst: g_strjoinv
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:177,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:178,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:185,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:182,1
    - Dst: g_strjoinv
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:180,1
    - Dst: foo_igen_bar_complete_test_non_primitive_types
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:189,1
    - Dst: g_string_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:173,1
    - Dst: g_variant_print
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:175,1
    - Dst: g_string_append
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:176,1
    - Dst: g_variant_print
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:183,1
    - Dst: g_variant_print
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:174,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:175,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:176,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:179,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:181,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:184,1
    - Dst: g_strjoinv
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:186,1
    - Dst: g_string_append_printf
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:187,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:188,1
    - Dst: g_string_append
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:174,1
    - Dst: g_string_append
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:175,1
    - Dst: g_string_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:195,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 10
    argNames:
    - object
    - invocation
    - dict_s_to_s
    - dict_s_to_pairs
    - a_struct
    - array_of_strings
    - array_of_objpaths
    - array_of_signatures
    - array_of_bytestrings
    - user_data
    argTypes:
    - FooiGenBar*
    - GDBusMethodInvocation*
    - GVariant*
    - GVariant*
    - GVariant*
    - gchar**
    - gchar**
    - GVariant*
    - gchar**
    - gpointer
    constantsTouched: []
    func_position:
      end: 197
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 197
    functionName: on_handle_test_non_primitive_types
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - foo_igen_bar_complete_test_non_primitive_types
    - g_string_free
    - g_variant_print
    - g_strjoinv
    - g_string_new
    - g_string_append_printf
    - g_free
    - g_string_append
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean on_handle_test_non_primitive_types (FooiGenBar *object,
      GDBusMethodInvocation *invocation, GVariant *dict_s_to_s, GVariant *dict_s_to_pairs,
      GVariant *a_struct, const gchar* const *array_of_strings, const gchar* const
      *array_of_objpaths, GVariant *array_of_signatures, const gchar* const *array_of_bytestrings,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:108,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:110,1
    - Dst: foo_igen_bar_complete_hello_world
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:109,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - object
    - invocation
    - greeting
    - user_data
    argTypes:
    - FooiGenBar*
    - GDBusMethodInvocation*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 112
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 112
    functionName: on_handle_hello_world
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - foo_igen_bar_complete_hello_world
    - g_strdup_printf
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean on_handle_hello_world (FooiGenBar *object, GDBusMethodInvocation
      *invocation, const gchar *greeting, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: foo_igen_authorize_complete_check_authorized
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:401,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - object
    - invocation
    - user_data
    argTypes:
    - FooiGenAuthorize*
    - GDBusMethodInvocation*
    - gpointer
    constantsTouched: []
    func_position:
      end: 403
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 403
    functionName: on_handle_check_authorized
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - foo_igen_authorize_complete_check_authorized
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean on_handle_check_authorized (FooiGenAuthorize *object,
      GDBusMethodInvocation *invocation, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:421,1
    - Dst: G_IS_UNIX_FD_LIST
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:421,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:422,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:423,1
    - Dst: g_unix_fd_list_get_length
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:422,1
    - Dst: foo_igen_test_fdpassing_complete_hello_fd
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:424,1
    - Dst: FOO_IGEN_TEST_FDPASSING
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:424,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 5
    argNames:
    - object
    - invocation
    - fd_list
    - greeting
    - user_data
    argTypes:
    - FooiGenMethodThreads*
    - GDBusMethodInvocation*
    - GUnixFDList*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 428
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 428
    functionName: on_handle_fdpassing_hello_fd
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - FOO_IGEN_TEST_FDPASSING
    - g_assert_cmpuint
    - g_unix_fd_list_get_length
    - g_assert_cmpstr
    - foo_igen_test_fdpassing_complete_hello_fd
    - G_IS_UNIX_FD_LIST
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean on_handle_fdpassing_hello_fd (FooiGenMethodThreads
      *object, GDBusMethodInvocation *invocation, GUnixFDList *fd_list, const gchar
      *greeting, gpointer user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FOO_IGEN_BAR
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:680,1
    - Dst: foo_igen_bar_get_y
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:686,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:682,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:686,1
    - Dst: g_variant_n_children
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:682,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:687,1
    - Dst: foo_igen_bar_get_i
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:687,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:691,1
    - Dst: foo_igen_bar_get_y
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:691,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:692,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:700,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:695,1
    - Dst: foo_igen_bar_get_i
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:692,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 4
    argNames:
    - _proxy
    - changed_properties
    - invalidated_properties
    - user_data
    argTypes:
    - GDBusProxy*
    - GVariant*
    - gchar**
    - gpointer
    constantsTouched: []
    func_position:
      end: 701
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 701
    functionName: on_g_properties_changed
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - foo_igen_bar_get_y
    - g_variant_n_children
    - g_assert_not_reached
    - g_main_loop_quit
    - FOO_IGEN_BAR
    - foo_igen_bar_get_i
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void on_g_properties_changed (GDBusProxy *_proxy, GVariant
      *changed_properties, const gchar* const *invalidated_properties, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: foo_igen_bar_call_property_cancellation_finish
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:735,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:737,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:736,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:739,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - proxy
    - res
    - user_data
    argTypes:
    - FooiGenBar*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 740
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 740
    functionName: on_property_cancellation_cb
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - foo_igen_bar_call_property_cancellation_finish
    - g_main_loop_quit
    - g_assert
    - g_assert_no_error
    linkageType: ''
    returnType: void
    signature: 'static void on_property_cancellation_cb (FooiGenBar *proxy, GAsyncResult
      *res, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: foo_igen_method_threads_call_get_self_sync
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1344,1
    - Dst: foo_igen_method_threads_call_get_self_sync
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1346,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1349,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1348,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1351,1
    - Dst: sscanf
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1351,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1353,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1356
      start: 1334
    functionDepth: 0
    functionLinenumber: 1334
    functionLinenumberEnd: 1356
    functionName: get_self_via_proxy
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_assert
    - sscanf
    - foo_igen_method_threads_call_get_self_sync
    - g_assert_no_error
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: GThread*
    signature: 'static GThread *get_self_via_proxy (FooiGenMethodThreads *proxy_1) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2459,1
    - Dst: unexport_objects
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2477,1
    - Dst: g_bus_own_name
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2461,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2470,1
    - Dst: check_object_manager
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2472,1
    - Dst: g_bus_unown_name
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2479,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2480,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2481
      start: 2453
    functionDepth: 0
    functionLinenumber: 2453
    functionLinenumberEnd: 2481
    functionName: test_object_manager
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_main_loop_run
    - g_bus_unown_name
    - g_main_loop_unref
    - g_bus_own_name
    - g_main_loop_new
    - check_object_manager
    - unexport_objects
    linkageType: ''
    returnType: void
    signature: 'static void test_object_manager (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:135,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:137,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:153,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:136,1
    - Dst: foo_igen_bar_complete_test_primitive_types
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:138,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:154,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:155,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 16
    argNames:
    - object
    - invocation
    - val_byte
    - val_boolean
    - val_int16
    - val_uint16
    - val_int32
    - val_uint32
    - val_int64
    - val_uint64
    - val_double
    - val_string
    - val_objpath
    - val_signature
    - val_bytestring
    - user_data
    argTypes:
    - FooiGenBar*
    - GDBusMethodInvocation*
    - guchar
    - gboolean
    - gint16
    - guint16
    - gint
    - guint
    - gint64
    - guint64
    - gdouble
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 157
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 157
    functionName: on_handle_test_primitive_types
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - foo_igen_bar_complete_test_primitive_types
    - g_strdup_printf
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean on_handle_test_primitive_types (FooiGenBar *object,
      GDBusMethodInvocation *invocation, guchar val_byte, gboolean val_boolean, gint16
      val_int16, guint16 val_uint16, gint val_int32, guint val_uint32, gint64 val_int64,
      guint64 val_uint64, gdouble val_double, const gchar *val_string, const gchar
      *val_objpath, const gchar *val_signature, const gchar *val_bytestring, gpointer
      user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_new_parsed
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:209,1
    - Dst: foo_igen_bar_emit_test_signal
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:210,1
    - Dst: foo_igen_bar_complete_request_signal_emission
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:211,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 4
    argNames:
    - object
    - invocation
    - which_one
    - user_data
    argTypes:
    - FooiGenBar*
    - GDBusMethodInvocation*
    - gint
    - gpointer
    constantsTouched: []
    func_position:
      end: 214
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 214
    functionName: on_handle_request_signal_emission
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - foo_igen_bar_complete_request_signal_emission
    - foo_igen_bar_emit_test_signal
    - g_variant_new_parsed
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean on_handle_request_signal_emission (FooiGenBar *object,
      GDBusMethodInvocation *invocation, gint which_one, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: foo_igen_authorize_complete_check_not_authorized_from_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:410,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - object
    - invocation
    - user_data
    argTypes:
    - FooiGenAuthorize*
    - GDBusMethodInvocation*
    - gpointer
    constantsTouched: []
    func_position:
      end: 412
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 412
    functionName: on_handle_check_not_authorized_from_object
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - foo_igen_authorize_complete_check_not_authorized_from_object
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean on_handle_check_not_authorized_from_object (FooiGenAuthorize
      *object, GDBusMethodInvocation *invocation, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:628,1
    - Dst: g_thread_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:629,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 630
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 630
    functionName: on_name_acquired
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_thread_unref
    - g_thread_new
    linkageType: ''
    returnType: void
    signature: 'static void on_name_acquired (GDBusConnection *connection, const gchar
      *name, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:713,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:716,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:715,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:714,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:717,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:718,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:719,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:722,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 6
    argNames:
    - proxy
    - val_int32
    - array_of_strings
    - array_of_bytestrings
    - dict_s_to_pairs
    - user_data
    argTypes:
    - FooiGenBar*
    - gint
    - gchar**
    - gchar**
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 723
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 723
    functionName: on_test_signal
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_main_loop_quit
    - g_assert_cmpstr
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void on_test_signal (FooiGenBar *proxy, gint val_int32, const
      gchar* const *array_of_strings, const gchar* const *array_of_bytestrings, GVariant
      *dict_s_to_pairs, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:859,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:869,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:872,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:874,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:990,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1005,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1011,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1032,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1043,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1079,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1151,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:852,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:865,1
    - Dst: foo_igen_bar_call_test_non_primitive_types_sync
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:952,1
    - Dst: foo_igen_bar_set_finally_normal_name
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1030,1
    - Dst: foo_igen_bar_get_as
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1048,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1049,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1082,1
    - Dst: foo_igen_bar_set_u
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1095,1
    - Dst: foo_igen_bar_set_n
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1123,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1149,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:862,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:870,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:978,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:991,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1004,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1019,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1023,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1024,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1077,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1096,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:987,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:875,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:876,1
    - Dst: g_object_set
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:898,1
    - Dst: foo_igen_bar_get_as
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1038,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1040,1
    - Dst: g_object_set
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1044,1
    - Dst: foo_igen_bar_get_y
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1065,1
    - Dst: foo_igen_bar_get_u
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1097,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1127,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:858,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:866,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:871,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:948,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:953,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:947,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:945,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:884,1
    - Dst: foo_igen_bar_call_request_multi_property_mods_sync
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1073,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1091,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:957,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:867,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:986,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:892,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:955,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:981,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:979,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1042,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1050,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1069,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:951,1
    - Dst: _g_assert_property_notify
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:891,1
    - Dst: g_new0
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:804,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:823,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:855,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:864,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:989,1
    - Dst: foo_igen_bar_call_unimplemented_method_sync
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1002,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1097,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1116,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:981,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:983,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:879,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:985,1
    - Dst: _g_assert_property_notify
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1098,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1100,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1118,1
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:807,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:808,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:974,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:975,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:977,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:993,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1007,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1049,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1067,1
    - Dst: foo_igen_bar_call_request_multi_property_mods_sync
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1075,1
    - Dst: _g_assert_property_notify
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1126,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:861,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:856,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:878,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:943,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1020,1
    - Dst: foo_igen_bar_get_finally_normal_name
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1032,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1078,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1090,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1130,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:942,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:880,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:980,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:868,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:882,1
    - Dst: foo_igen_bar_call_unimplemented_method_sync
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1000,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1009,1
    - Dst: foo_igen_bar_call_request_signal_emission_sync
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1015,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1051,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1121,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1119,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1155,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:978,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:883,1
    - Dst: g_assert_cmpvariant
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:984,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1080,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1124,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1154,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1125,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1041,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:876,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:951,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:946,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:982,1
    - Dst: _g_assert_property_notify
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1047,1
    - Dst: foo_igen_bar_get_i
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1066,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1099,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1093,1
    - Dst: foo_igen_bar_get_n
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1127,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:857,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:860,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:875,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:881,1
    - Dst: foo_igen_bar_set_finally_normal_name
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:890,1
    - Dst: g_signal_handlers_disconnect_by_func
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1081,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1128,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1022,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:809,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:807,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:853,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:873,1
    - Dst: foo_igen_bar_call_test_primitive_types_sync
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:909,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:875,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:986,1
    - Dst: g_variant_print
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:877,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:992,1
    - Dst: foo_igen_bar_call_request_signal_emission_sync
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1017,1
    - Dst: foo_igen_bar_get_n
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1125,1
    - Dst: foo_igen_bar_set_u
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1115,1
    - Dst: foo_igen_bar_call_property_cancellation
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1141,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:854,1
    - Dst: g_variant_is_of_type
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:876,1
    - Dst: foo_igen_bar_get_finally_normal_name
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:892,1
    - Dst: g_variant_new_parsed
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:905,1
    - Dst: _g_assert_property_notify
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1031,1
    - Dst: foo_igen_bar_get_as
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1039,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1040,1
    - Dst: foo_igen_bar_get_u
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1099,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 204
    argCount: 2
    argNames:
    - proxy
    - thread_loop
    argTypes:
    - FooiGenBar*
    - GMainLoop*
    constantsTouched: []
    func_position:
      end: 1156
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 1156
    functionName: check_bar_proxy
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_object_get
    - foo_igen_bar_get_y
    - g_assert_cmpvariant
    - foo_igen_bar_call_request_multi_property_mods_sync
    - foo_igen_bar_call_test_primitive_types_sync
    - foo_igen_bar_get_u
    - g_variant_new_parsed
    - G_DBUS_PROXY
    - g_signal_connect
    - foo_igen_bar_call_unimplemented_method_sync
    - foo_igen_bar_get_i
    - g_object_set
    - g_variant_is_of_type
    - foo_igen_bar_get_finally_normal_name
    - g_assert_nonnull
    - g_strfreev
    - g_variant_unref
    - g_clear_pointer
    - g_error_free
    - foo_igen_bar_set_n
    - foo_igen_bar_call_property_cancellation
    - g_dbus_proxy_get_cached_property
    - _g_assert_property_notify
    - g_assert_cmpint
    - foo_igen_bar_call_request_signal_emission_sync
    - g_main_loop_run
    - g_signal_handlers_disconnect_by_func
    - g_strv_length
    - foo_igen_bar_get_as
    - g_assert_cmpuint
    - g_assert_no_error
    - g_variant_print
    - G_VARIANT_TYPE
    - g_assert_error
    - g_variant_ref_sink
    - foo_igen_bar_get_n
    - g_assert
    - foo_igen_bar_call_test_non_primitive_types_sync
    - g_assert_cmpfloat
    - foo_igen_bar_set_u
    - g_assert_cmpstr
    - foo_igen_bar_set_finally_normal_name
    - G_CALLBACK
    - g_new0
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void check_bar_proxy (FooiGenBar *proxy, GMainLoop *thread_loop) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1364,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1367,1
    - Dst: get_self_via_proxy
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1367,1
    - Dst: get_self_via_proxy
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1364,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - proxy_1
    - proxy_2
    - thread_loop
    argTypes:
    - FooiGenMethodThreads*
    - FooiGenMethodThreads*
    - GMainLoop*
    constantsTouched: []
    func_position:
      end: 1368
      start: 1358
    functionDepth: 0
    functionLinenumber: 1358
    functionLinenumberEnd: 1368
    functionName: check_thread_proxies
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_assert
    - get_self_via_proxy
    linkageType: ''
    returnType: void
    signature: 'static void check_thread_proxies (FooiGenMethodThreads *proxy_1, FooiGenMethodThreads
      *proxy_2, GMainLoop *thread_loop) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: count_annotations
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2655,1
    - Dst: count_annotations
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2656,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2666,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2665,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2658,1
    - Dst: assert_annotations_equal
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2667,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2670,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2671,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - GDBusAnnotationInfo**
    - GDBusAnnotationInfo**
    constantsTouched: []
    func_position:
      end: 2672
      start: 2651
    functionDepth: 0
    functionLinenumber: 2651
    functionLinenumberEnd: 2672
    functionName: assert_annotations_equal
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_assert_null
    - g_assert_cmpuint
    - g_assert_cmpstr
    - count_annotations
    - assert_annotations_equal
    linkageType: ''
    returnType: void
    signature: 'static void assert_annotations_equal (GDBusAnnotationInfo **a, GDBusAnnotationInfo
      **b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1561,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - info
    - name
    argTypes:
    - GDBusNodeInfo*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1565
      start: 1554
    functionDepth: 0
    functionLinenumber: 1554
    functionLinenumberEnd: 1565
    functionName: has_interface
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_strcmp0
    linkageType: ''
    returnType: guint
    signature: 'static guint has_interface (GDBusNodeInfo *info, const gchar *name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2090,1
    - Dst: g_dbus_object_manager_get_interface
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2164,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2200,1
    - Dst: foo_igen_object_skeleton_set_com_acme_coyote
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2269,1
    - Dst: om_check_get_all
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2316,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2369,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2361,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2105,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2204,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2308,1
    - Dst: introspect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2280,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2063,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2115,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2299,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2232,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2256,1
    - Dst: has_interface
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2249,1
    - Dst: om_check_get_all
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2286,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2085,1
    - Dst: g_dbus_object_manager_get_objects
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2114,1
    - Dst: G_DBUS_INTERFACE
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2122,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2136,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2150,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2166,1
    - Dst: introspect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2200,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2260,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2044,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2127,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2130,1
    - Dst: has_interface
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2202,1
    - Dst: count_interfaces
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2237,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2273,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2431,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2439,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2195,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2305,1
    - Dst: g_dbus_interface_get_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2122,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2039,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2049,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2133,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2216,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2297,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2386,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2428,1
    - Dst: g_signal_handlers_disconnect_by_func
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2441,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2212,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2268,1
    - Dst: FOO_IGEN_IS_OBJECT_PROXY
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2340,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2054,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2104,1
    - Dst: g_dbus_interface_get_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2129,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2239,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2406,1
    - Dst: om_check_get_all
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2416,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2149,1
    - Dst: foo_igen_object_skeleton_set_bar
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2295,1
    - Dst: G_DBUS_OBJECT_MANAGER
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2095,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2126,1
    - Dst: foo_igen_object_skeleton_set_bar
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2131,1
    - Dst: g_signal_handlers_disconnect_by_func
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2438,1
    - Dst: FOO_IGEN_COM_ACME_COYOTE
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2269,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2293,1
    - Dst: g_dbus_object_get_interfaces
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2342,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2122,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2125,1
    - Dst: g_dbus_interface_dup_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2135,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2163,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2176,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2304,1
    - Dst: foo_igen_object_skeleton_set_com_acme_coyote
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2408,1
    - Dst: foo_igen_object_skeleton_set_bat
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2253,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2378,1
    - Dst: foo_igen_com_acme_coyote_set_mood
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2407,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2198,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2337,1
    - Dst: g_dbus_object_manager_server_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2047,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2123,1
    - Dst: G_DBUS_INTERFACE
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2129,1
    - Dst: foo_igen_object_skeleton_set_bat
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2208,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2202,1
    - Dst: introspect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2061,1
    - Dst: g_dbus_object_get_interface
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2376,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2396,1
    - Dst: count_interfaces
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2264,1
    - Dst: FOO_IGEN_OBJECT
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2362,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2280,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2137,1
    - Dst: count_interfaces
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2154,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2395,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2147,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2168,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2344,1
    - Dst: g_list_length
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2360,1
    - Dst: G_DBUS_OBJECT_MANAGER
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2053,1
    - Dst: G_DBUS_OBJECT
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2126,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2249,1
    - Dst: g_dbus_object_get_object_path
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2358,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2441,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2105,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2156,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2215,1
    - Dst: g_dbus_object_manager_get_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2355,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2369,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2387,1
    - Dst: g_new0
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2008,1
    - Dst: g_dbus_object_manager_get_interface
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2159,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2223,1
    - Dst: count_interfaces
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2324,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2348,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2370,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2015,1
    - Dst: g_dbus_object_manager_get_object_path
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2095,1
    - Dst: count_interfaces
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2220,1
    - Dst: has_interface
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2238,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2179,1
    - Dst: foo_igen_object_skeleton_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2405,1
    - Dst: count_interfaces
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2062,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2125,1
    - Dst: G_DBUS_OBJECT
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2136,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2282,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2349,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2365,1
    - Dst: g_dbus_object_manager_server_unexport
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2422,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2278,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2111,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2086,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2137,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2356,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2377,1
    - Dst: FOO_IGEN_BAR
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2124,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2259,1
    - Dst: G_DBUS_OBJECT_MANAGER
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2162,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2390,1
    - Dst: G_DBUS_OBJECT_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2410,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2096,1
    - Dst: g_dbus_interface_get_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2132,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2174,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2197,1
    - Dst: g_dbus_object_get_interface
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2350,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2236,1
    - Dst: G_DBUS_OBJECT_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2301,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2389,1
    - Dst: g_dbus_connection_signal_subscribe
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2017,1
    - Dst: om_check_get_all
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2068,1
    - Dst: g_dbus_interface_get_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2126,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2138,1
    - Dst: count_interfaces
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2183,1
    - Dst: foo_igen_object_skeleton_set_bar
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2226,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2348,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2363,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2357,1
    - Dst: foo_igen_object_skeleton_set_bar
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2245,1
    - Dst: g_dbus_object_manager_server_set_connection
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2327,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2340,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2341,1
    - Dst: has_interface
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2221,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2277,1
    - Dst: foo_igen_object_get_com_acme_coyote
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2345,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2364,1
    - Dst: foo_igen_object_get_bar
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2367,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2435,1
    - Dst: G_DBUS_OBJECT_MANAGER
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2167,1
    - Dst: introspect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2236,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2347,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2194,1
    - Dst: foo_igen_object_manager_client_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2073,1
    - Dst: G_DBUS_OBJECT
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2132,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2370,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2391,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2307,1
    - Dst: G_DBUS_INTERFACE
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2132,1
    - Dst: g_dbus_object_manager_server_export_uniquely
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2410,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2352,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2231,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2339,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2358,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2061,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2092,1
    - Dst: has_interface
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2155,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2274,1
    - Dst: om_check_property_and_signal_emission
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2374,1
    - Dst: count_interfaces
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2395,1
    - Dst: FOO_IGEN_BAT
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2298,1
    - Dst: count_interfaces
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2248,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2110,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2006,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2133,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2189,1
    - Dst: g_list_length
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2336,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2281,1
    - Dst: FOO_IGEN_COM_ACME_COYOTE
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2408,1
    - Dst: foo_igen_bar_skeleton_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2121,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2132,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2351,1
    - Dst: g_dbus_object_get_object_path
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2341,1
    - Dst: g_dbus_object_get_interfaces
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2359,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2258,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2364,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2446,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2055,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2130,1
    - Dst: g_dbus_object_manager_server_export
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2140,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2165,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2193,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2209,1
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2362,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2296,1
    - Dst: g_dbus_object_manager_get_objects
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2425,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2153,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2336,1
    - Dst: FOO_IGEN_BAR
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2294,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2263,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2366,1
    - Dst: G_DBUS_OBJECT_MANAGER
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2164,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2207,1
    - Dst: introspect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2219,1
    - Dst: foo_igen_bar_skeleton_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2293,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2343,1
    - Dst: foo_igen_object_get_bat
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2362,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2413,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2234,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2160,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2275,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2388,1
    - Dst: introspect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2263,1
    - Dst: introspect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2153,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2238,1
    - Dst: G_DBUS_OBJECT_MANAGER
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2425,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2178,1
    - Dst: FOO_IGEN_OBJECT_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2135,1
    - Dst: om_check_get_all
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2328,1
    - Dst: count_nodes
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2064,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2013,1
    - Dst: foo_igen_object_manager_client_new_sync
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2037,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2057,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2084,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2155,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2222,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2306,1
    - Dst: g_type_is_a
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2365,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2151,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2261,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2368,1
    - Dst: g_dbus_object_manager_server_unexport
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2424,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2062,1
    - Dst: g_dbus_object_manager_get_interface
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2162,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2424,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2442,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2324,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2196,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2237,1
    - Dst: om_check_get_all
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2399,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2185,1
    - Dst: introspect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2323,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2123,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2088,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2129,1
    - Dst: G_DBUS_INTERFACE
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2135,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2148,1
    - Dst: G_DBUS_OBJECT_MANAGER
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2159,1
    - Dst: count_nodes
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2394,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2214,1
    - Dst: foo_igen_bar_skeleton_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2189,1
    - Dst: count_interfaces
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2201,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2103,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2107,1
    - Dst: G_DBUS_INTERFACE
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2126,1
    - Dst: FOO_IGEN_BAR
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2171,1
    - Dst: FOO_IGEN_OBJECT
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2367,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2434,1
    - Dst: foo_igen_object_skeleton_set_bat
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2298,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2323,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2265,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2325,1
    - Dst: has_interface
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2063,1
    - Dst: FOO_IGEN_BAR
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2131,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2145,1
    - Dst: FOO_IGEN_BAR
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2190,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2394,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2444,1
    - Dst: g_dbus_object_manager_server_export
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2301,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2220,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2127,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2219,1
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2367,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2065,1
    - Dst: introspect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2182,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2203,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2233,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2276,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2375,1
    - Dst: foo_igen_bat_skeleton_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2207,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2370,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2422,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2264,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2109,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2045,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2154,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2182,1
    - Dst: FOO_IGEN_BAT
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2208,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2409,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2414,1
    - Dst: foo_igen_object_skeleton_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2292,1
    - Dst: foo_igen_object_skeleton_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2120,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2014,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2053,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2056,1
    - Dst: g_list_length
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2343,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2425,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2177,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2230,1
    - Dst: count_interfaces
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2281,1
    - Dst: g_dbus_object_manager_server_set_connection
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2051,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2064,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2183,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2217,1
    - Dst: g_dbus_object_manager_server_set_connection
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2322,1
    - Dst: FOO_IGEN_OBJECT
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2345,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2080,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2043,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2221,1
    - Dst: FOO_IGEN_BAR
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2374,1
    - Dst: g_dbus_object_manager_server_get_connection
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2049,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2095,1
    - Dst: has_interface
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2184,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2365,1
    - Dst: g_list_length
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2425,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2309,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2121,1
    - Dst: foo_igen_object_skeleton_set_bar
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2124,1
    - Dst: g_dbus_object_manager_get_interface
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2167,1
    - Dst: has_interface
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2222,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2247,1
    - Dst: foo_igen_object_skeleton_set_bar
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2128,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2433,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2438,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2201,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2347,1
    - Dst: foo_igen_com_acme_coyote_skeleton_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2268,1
    - Dst: G_TYPE_FROM_INSTANCE
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2348,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2106,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2229,1
    - Dst: FOO_IGEN_IS_OBJECT_PROXY
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2357,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2180,1
    - Dst: foo_igen_bat_skeleton_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2297,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2058,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2104,1
    - Dst: foo_igen_com_acme_coyote_skeleton_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2406,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2432,1
    - Dst: FOO_IGEN_BAR
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2295,1
    - Dst: foo_igen_object_skeleton_set_bar
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2190,1
    - Dst: g_dbus_object_manager_get_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2338,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2075,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2213,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2250,1
    - Dst: has_interface
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2282,1
    - Dst: introspect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2393,1
    - Dst: g_dbus_object_manager_get_object_path
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2053,1
    - Dst: G_DBUS_OBJECT_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2140,1
    - Dst: g_dbus_object_manager_get_objects
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2335,1
    - Dst: foo_igen_object_skeleton_set_bar
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2171,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2184,1
    - Dst: introspect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2247,1
    - Dst: g_dbus_connection_get_unique_name
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2393,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2083,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2186,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2270,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2346,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2248,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2108,1
    - Dst: G_DBUS_OBJECT
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2136,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2257,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2283,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2360,1
    - Dst: G_DBUS_PROXY
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2345,1
    - Dst: foo_igen_object_manager_client_new_finish
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2082,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2161,1
    - Dst: g_dbus_object_manager_server_unexport
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2383,1
    - Dst: FOO_IGEN_COM_ACME_COYOTE
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2407,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2448,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 472
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2449
      start: 1981
    functionDepth: 0
    functionLinenumber: 1981
    functionLinenumberEnd: 2449
    functionName: check_object_manager
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_object_get
    - g_dbus_object_manager_get_object_path
    - G_DBUS_OBJECT
    - g_list_free_full
    - g_list_length
    - om_check_property_and_signal_emission
    - foo_igen_object_get_bar
    - g_dbus_object_manager_get_object
    - g_type_is_a
    - G_DBUS_PROXY
    - count_nodes
    - g_signal_connect
    - g_dbus_object_manager_get_interface
    - g_dbus_connection_get_unique_name
    - has_interface
    - g_dbus_node_info_unref
    - g_dbus_interface_get_object
    - g_clear_object
    - foo_igen_bar_skeleton_new
    - g_error_free
    - g_dbus_object_get_interfaces
    - g_dbus_interface_dup_object
    - FOO_IGEN_BAR
    - g_dbus_connection_signal_subscribe
    - G_DBUS_OBJECT_MANAGER
    - g_assert_cmpint
    - g_dbus_object_get_interface
    - FOO_IGEN_OBJECT_SKELETON
    - g_main_loop_run
    - introspect
    - G_DBUS_OBJECT_SKELETON
    - foo_igen_object_get_bat
    - foo_igen_com_acme_coyote_set_mood
    - g_signal_handlers_disconnect_by_func
    - foo_igen_object_skeleton_set_bat
    - g_dbus_object_manager_get_objects
    - g_dbus_connection_signal_unsubscribe
    - g_dbus_object_manager_server_new
    - foo_igen_object_skeleton_new
    - g_assert_no_error
    - g_main_loop_new
    - foo_igen_object_skeleton_set_bar
    - FOO_IGEN_OBJECT
    - g_bus_get_sync
    - FOO_IGEN_IS_OBJECT_PROXY
    - g_dbus_object_manager_server_unexport
    - foo_igen_object_manager_client_new_sync
    - foo_igen_object_manager_client_new_finish
    - foo_igen_bat_skeleton_new
    - g_dbus_object_manager_server_get_connection
    - g_assert_error
    - g_dbus_object_manager_server_set_connection
    - om_check_get_all
    - FOO_IGEN_COM_ACME_COYOTE
    - g_assert
    - foo_igen_object_skeleton_set_com_acme_coyote
    - g_dbus_object_get_object_path
    - G_TYPE_FROM_INSTANCE
    - FOO_IGEN_BAT
    - g_main_loop_unref
    - g_assert_cmpstr
    - G_CALLBACK
    - G_DBUS_INTERFACE_SKELETON
    - count_interfaces
    - foo_igen_object_manager_client_new
    - G_DBUS_INTERFACE
    - G_OBJECT
    - foo_igen_com_acme_coyote_skeleton_new
    - foo_igen_object_get_com_acme_coyote
    - g_dbus_object_manager_server_export_uniquely
    - g_dbus_object_manager_server_export
    - g_new0
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void check_object_manager (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: foo_igen_test_fdpassing_complete_no_annotation_nested
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2760,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - object
    - invocation
    - fd_list
    - arg_files
    argTypes:
    - FooiGenTestFDPassing*
    - GDBusMethodInvocation*
    - GUnixFDList*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 2762
      start: 2754
    functionDepth: 0
    functionLinenumber: 2754
    functionLinenumberEnd: 2762
    functionName: handle_no_annotation_nested
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - foo_igen_test_fdpassing_complete_no_annotation_nested
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean handle_no_annotation_nested (FooiGenTestFDPassing
      *object, GDBusMethodInvocation *invocation, GUnixFDList *fd_list, GVariant *arg_files) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: foo_igen_bar_set_y
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:221,1
    - Dst: foo_igen_bar_set_y
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:223,1
    - Dst: foo_igen_bar_get_i
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:222,1
    - Dst: foo_igen_bar_set_i
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:222,1
    - Dst: foo_igen_bar_get_y
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:221,1
    - Dst: foo_igen_bar_get_y
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:223,1
    - Dst: foo_igen_bar_set_i
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:224,1
    - Dst: foo_igen_bar_get_i
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:224,1
    - Dst: g_dbus_interface_skeleton_flush
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:225,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:225,1
    - Dst: foo_igen_bar_set_y
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:226,1
    - Dst: foo_igen_bar_set_i
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:227,1
    - Dst: foo_igen_bar_get_i
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:227,1
    - Dst: foo_igen_bar_complete_request_multi_property_mods
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:228,1
    - Dst: foo_igen_bar_get_y
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:226,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - object
    - invocation
    - user_data
    argTypes:
    - FooiGenBar*
    - GDBusMethodInvocation*
    - gpointer
    constantsTouched: []
    func_position:
      end: 230
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 230
    functionName: on_handle_request_multi_property_mods
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - foo_igen_bar_get_y
    - G_DBUS_INTERFACE_SKELETON
    - foo_igen_bar_set_y
    - foo_igen_bar_set_i
    - foo_igen_bar_complete_request_multi_property_mods
    - g_dbus_interface_skeleton_flush
    - foo_igen_bar_get_i
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean on_handle_request_multi_property_mods (FooiGenBar
      *object, GDBusMethodInvocation *invocation, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:659,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - object
    - pspec
    - user_data
    argTypes:
    - GObject*
    - GParamSpec*
    - gpointer
    constantsTouched: []
    func_position:
      end: 661
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 661
    functionName: on_notify_u
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void on_notify_u (GObject *object, GParamSpec *pspec, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: foo_igen_authorize_call_check_not_authorized_sync
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1304,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1310,1
    - Dst: foo_igen_authorize_call_check_not_authorized_sync
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1306,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1309,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1308,1
    - Dst: foo_igen_authorize_call_check_authorized_sync
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1314,1
    - Dst: foo_igen_authorize_call_check_authorized_sync
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1316,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1318,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1319,1
    - Dst: foo_igen_authorize_call_check_not_authorized_from_object_sync
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1323,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1328,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1329,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1327,1
    - Dst: foo_igen_authorize_call_check_not_authorized_from_object_sync
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1325,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 2
    argNames:
    - proxy
    - thread_loop
    argTypes:
    - FooiGenAuthorize*
    - GMainLoop*
    constantsTouched: []
    func_position:
      end: 1330
      start: 1293
    functionDepth: 0
    functionLinenumber: 1293
    functionLinenumberEnd: 1330
    functionName: check_authorize_proxy
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_assert
    - foo_igen_authorize_call_check_not_authorized_sync
    - foo_igen_authorize_call_check_not_authorized_from_object_sync
    - g_assert_no_error
    - g_error_free
    - foo_igen_authorize_call_check_authorized_sync
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void check_authorize_proxy (FooiGenAuthorize *proxy, GMainLoop
      *thread_loop) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - object
    - pspec
    - user_data
    argTypes:
    - GObject*
    - GParamSpec*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1916
      start: 1908
    functionDepth: 0
    functionLinenumber: 1908
    functionLinenumberEnd: 1916
    functionName: property_changed
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "static void property_changed (GObject *object,\t\t GParamSpec *pspec,\t\
      \t gpointer user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GLIB_CHECK_VERSION
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2576,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2585,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2589
      start: 2557
    functionDepth: 0
    functionLinenumber: 2557
    functionLinenumberEnd: 2589
    functionName: test_autocleanups
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - GLIB_CHECK_VERSION
    - g_test_skip
    linkageType: ''
    returnType: void
    signature: 'static void test_autocleanups (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2635,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2643,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2644,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2647,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2639,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2648,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - GDBusArgInfo**
    - GDBusArgInfo**
    constantsTouched: []
    func_position:
      end: 2649
      start: 2629
    functionDepth: 0
    functionLinenumber: 2629
    functionLinenumberEnd: 2649
    functionName: assert_arg_infos_equal
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_assert_null
    linkageType: ''
    returnType: void
    signature: 'static void assert_arg_infos_equal (GDBusArgInfo **a, GDBusArgInfo
      **b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: foo_igen_bar_get_n
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:238,1
    - Dst: g_dbus_interface_skeleton_flush
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:246,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:246,1
    - Dst: foo_igen_bar_set_n
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:242,1
    - Dst: foo_igen_bar_set_n
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:240,1
    - Dst: foo_igen_bar_complete_property_cancellation
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - object
    - invocation
    - user_data
    argTypes:
    - FooiGenBar*
    - GDBusMethodInvocation*
    - gpointer
    constantsTouched: []
    func_position:
      end: 250
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 250
    functionName: on_handle_property_cancellation
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - foo_igen_bar_get_n
    - G_DBUS_INTERFACE_SKELETON
    - foo_igen_bar_set_n
    - foo_igen_bar_complete_property_cancellation
    - g_dbus_interface_skeleton_flush
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean on_handle_property_cancellation (FooiGenBar *object,
      GDBusMethodInvocation *invocation, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:669,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - object
    - pspec
    - user_data
    argTypes:
    - GObject*
    - GParamSpec*
    - gpointer
    constantsTouched: []
    func_position:
      end: 671
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 671
    functionName: on_notify_n
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void on_notify_n (GObject *object, GParamSpec *pspec, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: foo_igen_bar_get_i
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1929,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1930,1
    - Dst: foo_igen_bar_get_i
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1933,1
    - Dst: _g_assert_property_notify
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1940,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1946,1
    - Dst: foo_igen_bar_set_d
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1948,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1951,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1957,1
    - Dst: foo_igen_bar_set_i
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1959,1
    - Dst: _g_assert_property_notify
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1960,1
    - Dst: foo_igen_bar_emit_another_signal
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1977,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1929,1
    - Dst: _g_assert_property_notify
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1932,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1934,1
    - Dst: foo_igen_bar_get_d
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1937,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1937,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1952,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1961,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1963,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1967,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1962,1
    - Dst: foo_igen_bar_get_quiet_too
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1973,1
    - Dst: foo_igen_bar_set_quiet_too
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1969,1
    - Dst: g_signal_handler_disconnect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1974,1
    - Dst: _g_assert_property_notify
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1971,1
    - Dst: foo_igen_bar_get_d
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1938,1
    - Dst: g_assert_cmpfloat
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1938,1
    - Dst: foo_igen_bar_set_i
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1949,1
    - Dst: _g_assert_property_notify
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1950,1
    - Dst: foo_igen_bar_set_quiet
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1958,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1973,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1972,1
    - Dst: _g_assert_signal_received
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1978,1
    - Dst: foo_igen_bar_get_i
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1930,1
    - Dst: foo_igen_bar_set_i
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1931,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1933,1
    - Dst: foo_igen_bar_get_i
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1934,1
    - Dst: foo_igen_bar_set_d
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1939,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1947,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1956,1
    - Dst: foo_igen_bar_get_quiet
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1962,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1968,1
    - Dst: foo_igen_bar_set_i
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1970,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 50
    argCount: 3
    argNames:
    - loop
    - skeleton
    - proxy
    argTypes:
    - GMainLoop*
    - FooiGenBar*
    - FooiGenBar*
    constantsTouched: []
    func_position:
      end: 1979
      start: 1918
    functionDepth: 0
    functionLinenumber: 1918
    functionLinenumberEnd: 1979
    functionName: om_check_property_and_signal_emission
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - _g_assert_signal_received
    - foo_igen_bar_get_quiet
    - g_assert_cmpint
    - g_signal_handler_disconnect
    - foo_igen_bar_get_quiet_too
    - g_assert
    - foo_igen_bar_set_quiet_too
    - foo_igen_bar_emit_another_signal
    - g_assert_cmpfloat
    - g_assert_cmpstr
    - G_CALLBACK
    - foo_igen_bar_set_d
    - foo_igen_bar_set_i
    - foo_igen_bar_set_quiet
    - g_signal_connect
    - foo_igen_bar_get_d
    - foo_igen_bar_get_i
    - _g_assert_property_notify
    linkageType: ''
    returnType: void
    signature: 'static void om_check_property_and_signal_emission (GMainLoop *loop,
      FooiGenBar *skeleton, FooiGenBar *proxy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:438,1
    - Dst: foo_igen_method_threads_complete_get_self
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:439,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:440,1
    - Dst: g_thread_self
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:438,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - object
    - invocation
    - user_data
    argTypes:
    - FooiGenMethodThreads*
    - GDBusMethodInvocation*
    - gpointer
    constantsTouched: []
    func_position:
      end: 442
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 442
    functionName: on_handle_get_self
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_free
    - g_thread_self
    - foo_igen_method_threads_complete_get_self
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean on_handle_get_self (FooiGenMethodThreads *object,
      GDBusMethodInvocation *invocation, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get_int32
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1244,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1245,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1246,1
    - Dst: g_variant_new_int32
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1263,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1277,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1278,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1280,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1282,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1283,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1286,1
    - Dst: _g_assert_signal_received
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1287,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1244,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1249,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1256,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1266,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1279,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1281,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1284,1
    - Dst: g_variant_get_bytestring
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1246,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1247,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1251,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1252,1
    - Dst: g_variant_get_bytestring
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1280,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1285,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1288,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1238,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1245,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1248,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1258,1
    - Dst: foo_igen_bat_call_force_method_sync
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1262,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1264,1
    - Dst: g_variant_new_bytestring
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1265,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1250,1
    - Dst: g_variant_get_int32
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1278,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1279,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 2
    argNames:
    - proxy
    - thread_loop
    argTypes:
    - FooiGenBat*
    - GMainLoop*
    constantsTouched: []
    func_position:
      end: 1289
      start: 1221
    functionDepth: 0
    functionLinenumber: 1221
    functionLinenumberEnd: 1289
    functionName: check_bat_proxy
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - _g_assert_signal_received
    - g_object_get
    - g_variant_get_int32
    - g_assert
    - g_variant_get_bytestring
    - g_assert_cmpstr
    - g_variant_get_string
    - G_CALLBACK
    - g_variant_unref
    - foo_igen_bat_call_force_method_sync
    - g_variant_new_int32
    - g_variant_new_string
    - g_variant_new
    - g_variant_get
    - g_assert_no_error
    - g_variant_new_bytestring
    - g_signal_connect
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void check_bat_proxy (FooiGenBat *proxy, GMainLoop *thread_loop) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2794,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2809
      start: 2789
    functionDepth: 0
    functionLinenumber: 2789
    functionLinenumberEnd: 2809
    functionName: test_unix_fd_list
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_test_bug
    linkageType: ''
    returnType: void
    signature: 'static void test_unix_fd_list (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: foo_igen_bar_interface_info
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:69,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:80,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:83,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:84,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:85,1
    - Dst: g_dbus_annotation_info_lookup
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:80,1
    - Dst: g_dbus_annotation_info_lookup
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:85,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:86,1
    - Dst: g_dbus_interface_info_lookup_property
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:88,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:70,1
    - Dst: count_annotations
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:73,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:73,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:77,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:78,1
    - Dst: count_annotations
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:78,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:79,1
    - Dst: g_dbus_annotation_info_lookup
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:79,1
    - Dst: g_dbus_annotation_info_lookup
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:95,1
    - Dst: g_dbus_interface_info_lookup_signal
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:82,1
    - Dst: count_annotations
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:84,1
    - Dst: g_dbus_annotation_info_lookup
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:86,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:89,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:90,1
    - Dst: count_annotations
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:90,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:91,1
    - Dst: g_dbus_annotation_info_lookup
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:91,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:95,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:96,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:74,1
    - Dst: g_dbus_annotation_info_lookup
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:74,1
    - Dst: g_dbus_interface_info_lookup_method
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:76,1
    - Dst: g_dbus_interface_info_lookup_method
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:93,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:94,1
    - Dst: g_dbus_annotation_info_lookup
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:96,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 45
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 97
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 97
    functionName: test_annotations
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_dbus_annotation_info_lookup
    - g_assert_cmpstr
    - g_dbus_interface_info_lookup_property
    - count_annotations
    - g_dbus_interface_info_lookup_signal
    - foo_igen_bar_interface_info
    - g_dbus_interface_info_lookup_method
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_annotations (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_method_invocation_get_method_name
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:320,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:321,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:325,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:335,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:329,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:340,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - interface
    - invocation
    - user_data
    argTypes:
    - GDBusInterfaceSkeleton*
    - GDBusMethodInvocation*
    - gpointer
    constantsTouched: []
    func_position:
      end: 346
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 346
    functionName: my_g_authorize_method_handler
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_dbus_method_invocation_return_error
    - g_dbus_method_invocation_get_method_name
    - g_strcmp0
    - g_assert_not_reached
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean my_g_authorize_method_handler (GDBusInterfaceSkeleton
      *interface, GDBusMethodInvocation *invocation, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dup
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1167,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1169,1
    - Dst: foo_igen_test_fdpassing_call_hello_fd_sync
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1179,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1189,1
    - Dst: g_close
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1176,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1191,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1168,1
    - Dst: g_close
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1170,1
    - Dst: dup
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1173,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1174,1
    - Dst: g_unix_fd_list_append
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1174,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1186,1
    - Dst: g_unix_fd_list_get_length
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1189,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1192,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1194,1
    - Dst: g_unix_fd_list_append
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1168,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1175,1
    - Dst: G_IS_UNIX_FD_LIST
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1188,1
    - Dst: g_unix_fd_list_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1162,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1171,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1188,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1177,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1193,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - FooiGenTestFDPassing*
    constantsTouched: []
    func_position:
      end: 1195
      start: 1158
    functionDepth: 0
    functionLinenumber: 1158
    functionLinenumberEnd: 1195
    functionName: check_fdpassing_proxy
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - dup
    - g_assert_cmpuint
    - g_unix_fd_list_get_length
    - g_close
    - g_assert_cmpstr
    - g_unix_fd_list_new
    - g_assert_no_error
    - g_unix_fd_list_append
    - G_IS_UNIX_FD_LIST
    - g_clear_pointer
    - g_clear_object
    - foo_igen_test_fdpassing_call_hello_fd_sync
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void check_fdpassing_proxy (FooiGenTestFDPassing *proxy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1713,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1715,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1732,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1724,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1700,1
    - Dst: va_start
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1702,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1708,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1714,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1716,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1717,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1731,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1730,1
    - Dst: g_variant_get_child
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1721,1
    - Dst: va_arg
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1705,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1701,1
    - Dst: g_variant_n_children
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1716,1
    - Dst: g_ptr_array_sort_values
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1727,1
    - Dst: va_end
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1711,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1722,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1733,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 30
    argCount: 4
    argNames:
    - signal_name
    - parameters
    - object_path
    - first_interface_name
    - '...'
    argTypes:
    - gchar*
    - GVariant*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1734
      start: 1685
    functionDepth: 0
    functionLinenumber: 1685
    functionLinenumberEnd: 1734
    functionName: om_check_interfaces_removed
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_ptr_array_unref
    - g_ptr_array_add
    - g_variant_n_children
    - g_ptr_array_sort_values
    - g_assert_cmpstr
    - g_variant_get_child
    - g_variant_unref
    - va_arg
    - va_end
    - g_variant_get
    - g_ptr_array_new
    - va_start
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void om_check_interfaces_removed (const gchar *signal_name,
      GVariant *parameters, const gchar *object_path, const gchar *first_interface_name,
      ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - object
    - interface
    - user_data
    argTypes:
    - GDBusObject*
    - GDBusInterface*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1865
      start: 1858
    functionDepth: 0
    functionLinenumber: 1858
    functionLinenumberEnd: 1865
    functionName: on_interface_added
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void on_interface_added (GDBusObject *object, GDBusInterface
      *interface, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1883,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1887,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1885,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1889,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - manager
    - object_proxy
    - user_data
    argTypes:
    - GDBusObjectManagerClient*
    - GDBusObjectProxy*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1891
      start: 1876
    functionDepth: 0
    functionLinenumber: 1876
    functionLinenumberEnd: 1891
    functionName: on_object_proxy_added
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_signal_connect
    - G_CALLBACK
    linkageType: ''
    returnType: void
    signature: 'static void on_object_proxy_added (GDBusObjectManagerClient *manager,
      GDBusObjectProxy *object_proxy, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_arg_infos_equal
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2694,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2710,1
    - Dst: assert_annotations_equal
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2726,1
    - Dst: g_dbus_interface_skeleton_get_info
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2681,1
    - Dst: foo_igen_bar_skeleton_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2680,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2692,1
    - Dst: assert_annotations_equal
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2696,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2698,1
    - Dst: assert_annotations_equal
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2708,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2720,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2705,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2721,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2693,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2719,1
    - Dst: assert_arg_infos_equal
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2707,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2728,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2680,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2685,1
    - Dst: assert_arg_infos_equal
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2695,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2706,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2717,1
    - Dst: assert_annotations_equal
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2722,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2724,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2729
      start: 2677
    functionDepth: 0
    functionLinenumber: 2677
    functionLinenumberEnd: 2729
    functionName: test_standalone_interface_info
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_dbus_interface_skeleton_get_info
    - g_assert_null
    - g_assert_nonnull
    - g_assert_cmpuint
    - g_assert_cmpstr
    - assert_arg_infos_equal
    - G_DBUS_INTERFACE_SKELETON
    - foo_igen_bar_skeleton_new
    - g_clear_object
    - assert_annotations_equal
    linkageType: ''
    returnType: void
    signature: 'static void test_standalone_interface_info (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: foo_igen_test_fdpassing_complete_no_annotation
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2770,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - object
    - invocation
    - arg_greeting
    - arg_greeting_locale
    argTypes:
    - FooiGenTestFDPassing*
    - GDBusMethodInvocation*
    - GVariant*
    - gchar*
    constantsTouched: []
    func_position:
      end: 2772
      start: 2764
    functionDepth: 0
    functionLinenumber: 2764
    functionLinenumberEnd: 2772
    functionName: handle_no_annotation
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - foo_igen_test_fdpassing_complete_no_annotation
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean handle_no_annotation (FooiGenTestFDPassing *object,
      GDBusMethodInvocation *invocation, GVariant *arg_greeting, const gchar *arg_greeting_locale) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1657,1
    - Dst: va_arg
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1654,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1663,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1664,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1666,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1682,1
    - Dst: g_ptr_array_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1649,1
    - Dst: va_start
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1651,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1681,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1673,1
    - Dst: g_ptr_array_sort_values
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1676,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1650,1
    - Dst: va_end
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1660,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1665,1
    - Dst: g_ptr_array_add
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1671,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1679,1
    - Dst: g_ptr_array_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1680,1
    - Dst: g_variant_n_children
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1665,1
    - Dst: g_variant_get_child
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1670,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1662,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 30
    argCount: 4
    argNames:
    - signal_name
    - parameters
    - object_path
    - first_interface_name
    - '...'
    argTypes:
    - gchar*
    - GVariant*
    - gchar*
    - gchar*
    constantsTouched: []
    func_position:
      end: 1683
      start: 1634
    functionDepth: 0
    functionLinenumber: 1634
    functionLinenumberEnd: 1683
    functionName: om_check_interfaces_added
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_ptr_array_unref
    - g_ptr_array_add
    - g_variant_n_children
    - g_ptr_array_sort_values
    - g_assert_cmpstr
    - g_variant_get_child
    - g_variant_unref
    - va_arg
    - va_end
    - g_variant_get
    - g_ptr_array_new
    - va_start
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void om_check_interfaces_added (const gchar *signal_name, GVariant
      *parameters, const gchar *object_path, const gchar *first_interface_name, ...) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1792,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1820,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1827,1
    - Dst: om_check_interfaces_added
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1761,1
    - Dst: om_check_interfaces_removed
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1768,1
    - Dst: om_check_interfaces_added
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1775,1
    - Dst: om_check_interfaces_added
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1796,1
    - Dst: om_check_interfaces_removed
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1810,1
    - Dst: om_check_interfaces_removed
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1803,1
    - Dst: om_check_interfaces_removed
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1831,1
    - Dst: om_check_interfaces_added
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1838,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1764,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1757,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1778,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1799,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1813,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1806,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1834,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1841,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1753,1
    - Dst: g_variant_print
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1756,1
    - Dst: om_check_interfaces_removed
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1782,1
    - Dst: om_check_interfaces_added
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1789,1
    - Dst: om_check_interfaces_added
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1817,1
    - Dst: om_check_interfaces_added
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1824,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 39
    argCount: 7
    argNames:
    - connection
    - sender_name
    - object_path
    - interface_name
    - signal_name
    - parameters
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1844
      start: 1736
    functionDepth: 0
    functionLinenumber: 1736
    functionLinenumberEnd: 1844
    functionName: om_on_signal
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_printerr
    - g_assert_not_reached
    - om_check_interfaces_added
    - g_main_loop_quit
    - g_variant_print
    - om_check_interfaces_removed
    linkageType: ''
    returnType: void
    signature: 'static void om_on_signal (GDBusConnection *connection, const gchar
      *sender_name, const gchar *object_path, const gchar *interface_name, const gchar
      *signal_name, GVariant *parameters, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - object
    - interface
    - user_data
    argTypes:
    - GDBusObject*
    - GDBusInterface*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1874
      start: 1867
    functionDepth: 0
    functionLinenumber: 1867
    functionLinenumberEnd: 1874
    functionName: on_interface_removed
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void on_interface_removed (GDBusObject *object, GDBusInterface
      *interface, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1900,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1903,1
    - Dst: g_signal_handlers_disconnect_by_func
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1900,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1901,1
    - Dst: g_signal_handlers_disconnect_by_func
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1903,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:1904,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - manager
    - object_proxy
    - user_data
    argTypes:
    - GDBusObjectManagerClient*
    - GDBusObjectProxy*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1906
      start: 1893
    functionDepth: 0
    functionLinenumber: 1893
    functionLinenumberEnd: 1906
    functionName: on_object_proxy_removed
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - G_CALLBACK
    - g_signal_handlers_disconnect_by_func
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void on_object_proxy_removed (GDBusObjectManagerClient *manager,
      GDBusObjectProxy *object_proxy, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: foo_igen_test_fdpassing_complete_no_annotation_nested
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2779,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - object
    - invocation
    - arg_files
    argTypes:
    - FooiGenTestFDPassing*
    - GDBusMethodInvocation*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 2781
      start: 2774
    functionDepth: 0
    functionLinenumber: 2774
    functionLinenumberEnd: 2781
    functionName: handle_no_annotation_nested
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - foo_igen_test_fdpassing_complete_no_annotation_nested
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean handle_no_annotation_nested (FooiGenTestFDPassing
      *object, GDBusMethodInvocation *invocation, GVariant *arg_files) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - annotations
    argTypes:
    - GDBusAnnotationInfo**
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: count_annotations
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: guint
    signature: 'static guint count_annotations (GDBusAnnotationInfo **annotations) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_get_int32
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:270,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:274,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:282,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:300,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:272,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:271,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:273,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:281,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:299,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:284,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:278,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:279,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:302,1
    - Dst: g_variant_new_int32
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:270,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:271,1
    - Dst: g_variant_get_bytestring
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:274,1
    - Dst: g_variant_new_bytestring
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:275,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:276,1
    - Dst: g_variant_ref_sink
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:283,1
    - Dst: foo_igen_bat_complete_force_method
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:292,1
    - Dst: foo_igen_bat_emit_force_signal
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:286,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:301,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 7
    argNames:
    - object
    - invocation
    - force_in_i
    - force_in_s
    - force_in_ay
    - force_in_struct
    - user_data
    argTypes:
    - FooiGenBat*
    - GDBusMethodInvocation*
    - GVariant*
    - GVariant*
    - GVariant*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 305
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 305
    functionName: on_handle_force_method
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_variant_ref_sink
    - foo_igen_bat_emit_force_signal
    - g_strdup_printf
    - g_variant_get_int32
    - g_variant_get_bytestring
    - g_variant_get_string
    - g_variant_new_string
    - g_variant_new_int32
    - g_variant_new
    - g_variant_unref
    - foo_igen_bat_complete_force_method
    - g_variant_get
    - g_variant_new_bytestring
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean on_handle_force_method (FooiGenBat *object, GDBusMethodInvocation
      *invocation, GVariant *force_in_i, GVariant *force_in_s, GVariant *force_in_ay,
      GVariant *force_in_struct, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2817,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2820,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2821,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2822,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2819,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2823,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2824,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2825,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2826,1
    - Dst: session_bus_run
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2828,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 2829
      start: 2813
    functionDepth: 0
    functionLinenumber: 2813
    functionLinenumberEnd: 2829
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - session_bus_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: foo_igen_oldie_interface_skeleton_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2604,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2608,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2607,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2609,1
    - Dst: g_object_class_find_property
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2607,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2611,1
    - Dst: foo_igen_object_skeleton_new
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2618,1
    - Dst: g_object_class_find_property
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2619,1
    - Dst: G_OBJECT_GET_CLASS
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2619,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2620,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2621,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-test-codegen.c:2623,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2625
      start: 2596
    functionDepth: 0
    functionLinenumber: 2596
    functionLinenumberEnd: 2625
    functionName: test_deprecations
    functionSourceFile: /src/glib/gio/tests/gdbus-test-codegen.c
    functionUses: []
    functionsReached:
    - g_object_class_find_property
    - g_object_unref
    - g_assert_nonnull
    - foo_igen_object_skeleton_new
    - foo_igen_oldie_interface_skeleton_new
    - G_OBJECT_GET_CLASS
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_deprecations (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:11,1
    - Dst: g_dbus_object_manager_get_objects
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:12,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:18,1
    - Dst: g_dbus_object_manager_get_object_path
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:11,1
    - Dst: EXAMPLE_OBJECT
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:15,1
    - Dst: g_dbus_object_get_object_path
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:18,1
    - Dst: G_DBUS_OBJECT
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:18,1
    - Dst: g_dbus_object_get_interfaces
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:20,1
    - Dst: G_DBUS_OBJECT
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:20,1
    - Dst: G_DBUS_INTERFACE
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:23,1
    - Dst: g_dbus_interface_get_info
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:24,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:44,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:24,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:46,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 1
    argNames:
    - manager
    argTypes:
    - GDBusObjectManager*
    constantsTouched: []
    func_position:
      end: 47
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 47
    functionName: print_objects
    functionSourceFile: /src/glib/gio/tests/gdbus-example-objectmanager-client.c
    functionUses: []
    functionsReached:
    - g_dbus_object_manager_get_object_path
    - G_DBUS_OBJECT
    - g_dbus_interface_get_info
    - g_list_free_full
    - g_dbus_object_manager_get_objects
    - g_dbus_object_get_object_path
    - g_dbus_object_get_interfaces
    - G_DBUS_INTERFACE
    - g_print
    - EXAMPLE_OBJECT
    linkageType: ''
    returnType: void
    signature: 'static void print_objects (GDBusObjectManager *manager) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_OBJECT_MANAGER_CLIENT
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:76,1
    - Dst: g_dbus_object_manager_client_get_name_owner
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:79,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:81,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - object
    - pspec
    - user_data
    argTypes:
    - GObject*
    - GParamSpec*
    - gpointer
    constantsTouched: []
    func_position:
      end: 82
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 82
    functionName: on_notify_name_owner
    functionSourceFile: /src/glib/gio/tests/gdbus-example-objectmanager-client.c
    functionUses: []
    functionsReached:
    - G_DBUS_OBJECT_MANAGER_CLIENT
    - g_free
    - g_dbus_object_manager_client_get_name_owner
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void on_notify_name_owner (GObject *object, GParamSpec *pspec,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_object_manager_client_get_name_owner
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:55,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:56,1
    - Dst: g_dbus_object_get_object_path
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:56,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:57,1
    - Dst: G_DBUS_OBJECT_MANAGER_CLIENT
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - manager
    - object
    - user_data
    argTypes:
    - GDBusObjectManager*
    - GDBusObject*
    - gpointer
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: on_object_added
    functionSourceFile: /src/glib/gio/tests/gdbus-example-objectmanager-client.c
    functionUses: []
    functionsReached:
    - G_DBUS_OBJECT_MANAGER_CLIENT
    - g_dbus_object_get_object_path
    - g_dbus_object_manager_client_get_name_owner
    - g_print
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void on_object_added (GDBusObjectManager *manager, GDBusObject
      *object, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_object_manager_client_get_name_owner
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:66,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:68,1
    - Dst: G_DBUS_OBJECT_MANAGER_CLIENT
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:66,1
    - Dst: g_dbus_object_get_object_path
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:67,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:67,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - manager
    - object
    - user_data
    argTypes:
    - GDBusObjectManager*
    - GDBusObject*
    - gpointer
    constantsTouched: []
    func_position:
      end: 69
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 69
    functionName: on_object_removed
    functionSourceFile: /src/glib/gio/tests/gdbus-example-objectmanager-client.c
    functionUses: []
    functionsReached:
    - G_DBUS_OBJECT_MANAGER_CLIENT
    - g_dbus_object_get_object_path
    - g_dbus_object_manager_client_get_name_owner
    - g_print
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void on_object_removed (GDBusObjectManager *manager, GDBusObject
      *object, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:97,1
    - Dst: G_DBUS_OBJECT
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:97,1
    - Dst: g_variant_iter_init
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:98,1
    - Dst: g_dbus_object_get_object_path
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:97,1
    - Dst: g_variant_iter_next
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:99,1
    - Dst: g_variant_print
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:101,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:102,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:103,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:104,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 6
    argNames:
    - manager
    - object_proxy
    - interface_proxy
    - changed_properties
    - invalidated_properties
    - user_data
    argTypes:
    - GDBusObjectManagerClient*
    - GDBusObjectProxy*
    - GDBusProxy*
    - GVariant*
    - gchar**
    - gpointer
    constantsTouched: []
    func_position:
      end: 106
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 106
    functionName: on_interface_proxy_properties_changed
    functionSourceFile: /src/glib/gio/tests/gdbus-example-objectmanager-client.c
    functionUses: []
    functionsReached:
    - g_variant_iter_init
    - G_DBUS_OBJECT
    - g_dbus_object_get_object_path
    - g_variant_iter_next
    - g_variant_unref
    - g_variant_print
    - g_print
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void on_interface_proxy_properties_changed (GDBusObjectManagerClient
      *manager, GDBusObjectProxy *object_proxy, GDBusProxy *interface_proxy, GVariant
      *changed_properties, const gchar *const *invalidated_properties, gpointer user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:131,1
    - Dst: g_dbus_object_manager_client_get_name_owner
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:135,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:136,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:137,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:141,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:145,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:149,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:155,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:151,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:153,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:147,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:119,1
    - Dst: example_object_manager_client_new_for_bus_sync
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:122,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:130,1
    - Dst: print_objects
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:139,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:162,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:143,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:164,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:158,1
    - Dst: G_DBUS_OBJECT_MANAGER_CLIENT
      Src: /src/glib/gio/tests/gdbus-example-objectmanager-client.c:135,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - gint
    - gchar*
    constantsTouched: []
    func_position:
      end: 167
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 167
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gdbus-example-objectmanager-client.c
    functionUses: []
    functionsReached:
    - example_object_manager_client_new_for_bus_sync
    - g_main_loop_run
    - g_printerr
    - G_DBUS_OBJECT_MANAGER_CLIENT
    - g_object_unref
    - g_main_loop_unref
    - G_CALLBACK
    - g_main_loop_new
    - g_error_free
    - print_objects
    - g_dbus_object_manager_client_get_name_owner
    - g_print
    - g_free
    - g_signal_connect
    linkageType: ''
    returnType: gint
    signature: 'gint main (gint argc, gchar *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_usleep
      Src: /src/glib/gio/tests/send-data.c:30,1
    - Dst: g_print
      Src: /src/glib/gio/tests/send-data.c:31,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/send-data.c:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 34
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 34
    functionName: cancel_thread
    functionSourceFile: /src/glib/gio/tests/send-data.c
    functionUses: []
    functionsReached:
    - g_cancellable_cancel
    - g_print
    - g_usleep
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer cancel_thread (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/send-data.c:57,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/send-data.c:58,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: async_cb
    functionSourceFile: /src/glib/gio/tests/send-data.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    - g_object_ref
    linkageType: ''
    returnType: void
    signature: "static void async_cb (GObject *source_object,\t GAsyncResult *res,\t\
      \ gpointer user_data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_type_class_ref
      Src: /src/glib/gio/tests/send-data.c:71,1
    - Dst: g_get_real_time
      Src: /src/glib/gio/tests/send-data.c:73,1
    - Dst: G_OBJECT_TYPE_NAME
      Src: /src/glib/gio/tests/send-data.c:77,1
    - Dst: g_print
      Src: /src/glib/gio/tests/send-data.c:74,1
    - Dst: g_enum_get_value
      Src: /src/glib/gio/tests/send-data.c:76,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - client
    - event
    - connectable
    - connection
    argTypes:
    - GSocketClient*
    - GSocketClientEvent
    - GSocketConnectable*
    - GSocketConnection*
    constantsTouched: []
    func_position:
      end: 78
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 78
    functionName: socket_client_event
    functionSourceFile: /src/glib/gio/tests/send-data.c
    functionUses: []
    functionsReached:
    - g_type_class_ref
    - G_OBJECT_TYPE_NAME
    - g_enum_get_value
    - g_print
    - g_get_real_time
    linkageType: ''
    returnType: void
    signature: "static void socket_client_event (GSocketClient *client,\t\t GSocketClientEvent\
      \ event,\t\t GSocketConnectable *connectable,\t\t GSocketConnection *connection) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_inet_socket_address_get_address
      Src: /src/glib/gio/tests/send-data.c:43,1
    - Dst: G_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/tests/send-data.c:43,1
    - Dst: g_inet_socket_address_get_port
      Src: /src/glib/gio/tests/send-data.c:45,1
    - Dst: g_inet_address_to_string
      Src: /src/glib/gio/tests/send-data.c:44,1
    - Dst: G_INET_SOCKET_ADDRESS
      Src: /src/glib/gio/tests/send-data.c:45,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/send-data.c:46,1
    - Dst: g_free
      Src: /src/glib/gio/tests/send-data.c:47,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 49
    functionName: socket_address_to_string
    functionSourceFile: /src/glib/gio/tests/send-data.c
    functionUses: []
    functionsReached:
    - g_inet_socket_address_get_address
    - g_strdup_printf
    - g_inet_address_to_string
    - g_inet_socket_address_get_port
    - G_INET_SOCKET_ADDRESS
    - g_free
    linkageType: ''
    returnType: char*
    signature: 'static char *socket_address_to_string (GSocketAddress *address) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_parse
      Src: /src/glib/gio/tests/send-data.c:94,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/send-data.c:96,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/send-data.c:125,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/send-data.c:132,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/send-data.c:125,1
    - Dst: g_tcp_connection_set_graceful_disconnect
      Src: /src/glib/gio/tests/send-data.c:162,1
    - Dst: G_TCP_CONNECTION
      Src: /src/glib/gio/tests/send-data.c:162,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/send-data.c:164,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/send-data.c:173,1
    - Dst: g_io_stream_close_async
      Src: /src/glib/gio/tests/send-data.c:182,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/send-data.c:192,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/send-data.c:184,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/gio/tests/send-data.c:93,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/send-data.c:102,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/send-data.c:107,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/send-data.c:112,1
    - Dst: g_thread_unref
      Src: /src/glib/gio/tests/send-data.c:114,1
    - Dst: g_print
      Src: /src/glib/gio/tests/send-data.c:157,1
    - Dst: g_output_stream_write_all
      Src: /src/glib/gio/tests/send-data.c:169,1
    - Dst: strlen
      Src: /src/glib/gio/tests/send-data.c:169,1
    - Dst: g_print
      Src: /src/glib/gio/tests/send-data.c:178,1
    - Dst: g_warning
      Src: /src/glib/gio/tests/send-data.c:198,1
    - Dst: g_warning
      Src: /src/glib/gio/tests/send-data.c:189,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/send-data.c:113,1
    - Dst: g_socket_client_set_timeout
      Src: /src/glib/gio/tests/send-data.c:123,1
    - Dst: g_socket_client_connect_to_host
      Src: /src/glib/gio/tests/send-data.c:138,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/send-data.c:134,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/send-data.c:148,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/send-data.c:153,1
    - Dst: socket_address_to_string
      Src: /src/glib/gio/tests/send-data.c:158,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/glib/gio/tests/send-data.c:164,1
    - Dst: fgets
      Src: /src/glib/gio/tests/send-data.c:166,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/send-data.c:182,1
    - Dst: g_io_stream_close_finish
      Src: /src/glib/gio/tests/send-data.c:185,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/send-data.c:185,1
    - Dst: G_IO_STREAM
      Src: /src/glib/gio/tests/send-data.c:196,1
    - Dst: g_option_context_new
      Src: /src/glib/gio/tests/send-data.c:92,1
    - Dst: g_socket_client_new
      Src: /src/glib/gio/tests/send-data.c:121,1
    - Dst: g_socket_client_connect_to_host_finish
      Src: /src/glib/gio/tests/send-data.c:133,1
    - Dst: g_socket_client_connect_to_host_async
      Src: /src/glib/gio/tests/send-data.c:130,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/send-data.c:145,1
    - Dst: g_socket_connection_get_remote_address
      Src: /src/glib/gio/tests/send-data.c:150,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/send-data.c:159,1
    - Dst: g_warning
      Src: /src/glib/gio/tests/send-data.c:172,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/send-data.c:188,1
    - Dst: g_io_stream_close
      Src: /src/glib/gio/tests/send-data.c:196,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/send-data.c:203,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 81
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 206
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 206
    functionName: main
    functionSourceFile: /src/glib/gio/tests/send-data.c
    functionUses: []
    functionsReached:
    - G_IO_STREAM
    - g_printerr
    - g_thread_unref
    - g_thread_new
    - g_signal_connect
    - socket_address_to_string
    - g_socket_client_connect_to_host_async
    - fgets
    - g_object_unref
    - g_warning
    - g_socket_connection_get_remote_address
    - g_tcp_connection_set_graceful_disconnect
    - g_socket_client_connect_to_host_finish
    - g_error_free
    - g_output_stream_write_all
    - g_print
    - g_option_context_parse
    - g_io_stream_get_output_stream
    - g_io_stream_close_finish
    - g_io_stream_close
    - g_main_loop_run
    - strlen
    - g_option_context_new
    - g_main_loop_new
    - g_socket_client_new
    - g_option_context_add_main_entries
    - g_cancellable_new
    - g_socket_client_set_timeout
    - G_TCP_CONNECTION
    - G_CALLBACK
    - g_io_stream_close_async
    - g_socket_client_connect_to_host
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gio/tests/gdbus-example-watch-name.c:20,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - connection
    - name
    - name_owner
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 24
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 24
    functionName: on_name_appeared
    functionSourceFile: /src/glib/gio/tests/gdbus-example-watch-name.c
    functionUses: []
    functionsReached:
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void on_name_appeared (GDBusConnection *connection, const gchar
      *name, const gchar *name_owner, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gio/tests/gdbus-example-watch-name.c:31,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 34
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 34
    functionName: on_name_vanished
    functionSourceFile: /src/glib/gio/tests/gdbus-example-watch-name.c
    functionUses: []
    functionsReached:
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void on_name_vanished (GDBusConnection *connection, const gchar
      *name, gpointer user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_option_context_new
      Src: /src/glib/gio/tests/gdbus-example-watch-name.c:46,1
    - Dst: g_option_context_parse
      Src: /src/glib/gio/tests/gdbus-example-watch-name.c:52,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gdbus-example-watch-name.c:54,1
    - Dst: g_option_context_add_main_entries
      Src: /src/glib/gio/tests/gdbus-example-watch-name.c:51,1
    - Dst: g_option_context_set_summary
      Src: /src/glib/gio/tests/gdbus-example-watch-name.c:47,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gdbus-example-watch-name.c:59,1
    - Dst: g_bus_watch_name
      Src: /src/glib/gio/tests/gdbus-example-watch-name.c:67,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gdbus-example-watch-name.c:75,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-example-watch-name.c:76,1
    - Dst: g_bus_unwatch_name
      Src: /src/glib/gio/tests/gdbus-example-watch-name.c:78,1
    - Dst: g_option_context_free
      Src: /src/glib/gio/tests/gdbus-example-watch-name.c:81,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-example-watch-name.c:82,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 85
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 85
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gdbus-example-watch-name.c
    functionUses: []
    functionsReached:
    - g_main_loop_run
    - g_printerr
    - g_option_context_free
    - g_option_context_new
    - g_option_context_set_summary
    - g_bus_watch_name
    - g_main_loop_new
    - g_bus_unwatch_name
    - g_option_context_parse
    - g_option_context_add_main_entries
    - g_free
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_debug
      Src: /src/glib/gio/tests/max-version.c:62,1
    - Dst: g_type_name
      Src: /src/glib/gio/tests/max-version.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: nothing
    functionSourceFile: /src/glib/gio/tests/max-version.c
    functionUses: []
    functionsReached:
    - g_debug
    - g_type_name
    linkageType: ''
    returnType: void
    signature: 'static void nothing (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/max-version.c:69,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/max-version.c:72,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/max-version.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 73
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 73
    functionName: main
    functionSourceFile: /src/glib/gio/tests/max-version.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/thumbnail-verification.c:93,1
    - Dst: g_strconcat
      Src: /src/glib/gio/tests/thumbnail-verification.c:102,1
    - Dst: g_free
      Src: /src/glib/gio/tests/thumbnail-verification.c:117,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/thumbnail-verification.c:100,1
    - Dst: thumbnail_verify
      Src: /src/glib/gio/tests/thumbnail-verification.c:115,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/thumbnail-verification.c:119,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 121
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 121
    functionName: test_validity
    functionSourceFile: /src/glib/gio/tests/thumbnail-verification.c
    functionUses: []
    functionsReached:
    - g_strconcat
    - G_N_ELEMENTS
    - g_assert
    - g_test_get_filename
    - thumbnail_verify
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_validity (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/thumbnail-verification.c:127,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/thumbnail-verification.c:131,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/thumbnail-verification.c:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 132
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 132
    functionName: main
    functionSourceFile: /src/glib/gio/tests/thumbnail-verification.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_error_new_for_dbus_error
      Src: /src/glib/gio/tests/gdbus-error.c:40,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-error.c:41,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-error.c:42,1
    - Dst: g_dbus_error_is_remote_error
      Src: /src/glib/gio/tests/gdbus-error.c:42,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-error.c:43,1
    - Dst: g_dbus_error_strip_remote_error
      Src: /src/glib/gio/tests/gdbus-error.c:43,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-error.c:44,1
    - Dst: g_dbus_error_get_remote_error
      Src: /src/glib/gio/tests/gdbus-error.c:45,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-error.c:46,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-error.c:47,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-error.c:48,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - given_dbus_error_name
    - error_domain
    - error_code
    argTypes:
    - gchar*
    - GQuark
    - gint
    constantsTouched: []
    func_position:
      end: 49
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 49
    functionName: check_registered_error
    functionSourceFile: /src/glib/gio/tests/gdbus-error.c
    functionUses: []
    functionsReached:
    - g_dbus_error_new_for_dbus_error
    - g_assert
    - g_assert_cmpstr
    - g_error_free
    - g_dbus_error_is_remote_error
    - g_dbus_error_get_remote_error
    - g_dbus_error_strip_remote_error
    - g_free
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void check_registered_error (const gchar *given_dbus_error_name,
      GQuark error_domain, gint error_code) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_error_new_for_dbus_error
      Src: /src/glib/gio/tests/gdbus-error.c:92,1
    - Dst: g_dbus_error_is_remote_error
      Src: /src/glib/gio/tests/gdbus-error.c:94,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-error.c:93,1
    - Dst: g_dbus_error_get_remote_error
      Src: /src/glib/gio/tests/gdbus-error.c:95,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-error.c:94,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-error.c:96,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-error.c:97,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-error.c:100,1
    - Dst: g_dbus_error_strip_remote_error
      Src: /src/glib/gio/tests/gdbus-error.c:100,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-error.c:101,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-error.c:104,1
    - Dst: g_dbus_error_get_remote_error
      Src: /src/glib/gio/tests/gdbus-error.c:104,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-error.c:106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - given_dbus_error_name
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 108
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 108
    functionName: check_unregistered_error
    functionSourceFile: /src/glib/gio/tests/gdbus-error.c
    functionUses: []
    functionsReached:
    - g_dbus_error_new_for_dbus_error
    - g_assert
    - g_assert_cmpstr
    - g_error_free
    - g_dbus_error_get_remote_error
    - g_dbus_error_is_remote_error
    - g_dbus_error_strip_remote_error
    - g_free
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void check_unregistered_error (const gchar *given_dbus_error_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_unregistered_error
      Src: /src/glib/gio/tests/gdbus-error.c:127,1
    - Dst: check_unregistered_error
      Src: /src/glib/gio/tests/gdbus-error.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 129
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 129
    functionName: test_unregistered_errors
    functionSourceFile: /src/glib/gio/tests/gdbus-error.c
    functionUses: []
    functionsReached:
    - check_unregistered_error
    linkageType: ''
    returnType: void
    signature: 'static void test_unregistered_errors (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_transparent_gerror
      Src: /src/glib/gio/tests/gdbus-error.c:183,1
    - Dst: check_transparent_gerror
      Src: /src/glib/gio/tests/gdbus-error.c:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 185
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 185
    functionName: test_transparent_gerror
    functionSourceFile: /src/glib/gio/tests/gdbus-error.c
    functionUses: []
    functionsReached:
    - check_transparent_gerror
    linkageType: ''
    returnType: void
    signature: 'static void test_transparent_gerror (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/gdbus-error.c:264,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-error.c:266,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-error.c:268,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-error.c:269,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-error.c:267,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/gdbus-error.c:271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 272
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 272
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gdbus-error.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_error_register_error_domain
      Src: /src/glib/gio/tests/gdbus-error.c:207,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/gdbus-error.c:210,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-error.c:211,1
    - Dst: g_dbus_error_new_for_dbus_error
      Src: /src/glib/gio/tests/gdbus-error.c:213,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-error.c:217,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-error.c:228,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-error.c:223,1
    - Dst: g_dbus_error_get_remote_error
      Src: /src/glib/gio/tests/gdbus-error.c:227,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-error.c:221,1
    - Dst: g_dbus_error_is_remote_error
      Src: /src/glib/gio/tests/gdbus-error.c:226,1
    - Dst: g_dbus_error_is_remote_error
      Src: /src/glib/gio/tests/gdbus-error.c:237,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-error.c:239,1
    - Dst: g_dbus_error_unregister_error
      Src: /src/glib/gio/tests/gdbus-error.c:252,1
    - Dst: g_dbus_error_is_remote_error
      Src: /src/glib/gio/tests/gdbus-error.c:215,1
    - Dst: g_dbus_error_get_remote_error
      Src: /src/glib/gio/tests/gdbus-error.c:216,1
    - Dst: g_dbus_error_strip_remote_error
      Src: /src/glib/gio/tests/gdbus-error.c:219,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-error.c:229,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-error.c:231,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-error.c:234,1
    - Dst: g_dbus_error_strip_remote_error
      Src: /src/glib/gio/tests/gdbus-error.c:241,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-error.c:243,1
    - Dst: g_error_new_literal
      Src: /src/glib/gio/tests/gdbus-error.c:246,1
    - Dst: g_dbus_error_encode_gerror
      Src: /src/glib/gio/tests/gdbus-error.c:247,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gdbus-error.c:250,1
    - Dst: g_error_new_literal
      Src: /src/glib/gio/tests/gdbus-error.c:236,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-error.c:214,1
    - Dst: g_dbus_error_set_dbus_error
      Src: /src/glib/gio/tests/gdbus-error.c:225,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gdbus-error.c:222,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-error.c:242,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-error.c:248,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-error.c:249,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gdbus-error.c:233,1
    - Dst: g_dbus_error_get_remote_error
      Src: /src/glib/gio/tests/gdbus-error.c:238,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-error.c:218,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-error.c:220,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-error.c:232,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-error.c:240,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-error.c:254,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/gdbus-error.c:244,1
    - Dst: g_dbus_error_strip_remote_error
      Src: /src/glib/gio/tests/gdbus-error.c:230,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 58
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 255
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 255
    functionName: test_register_error
    functionSourceFile: /src/glib/gio/tests/gdbus-error.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_dbus_error_new_for_dbus_error
    - g_assert_cmpint
    - g_dbus_error_register_error_domain
    - g_error_new_literal
    - G_N_ELEMENTS
    - g_assert
    - g_dbus_error_encode_gerror
    - g_assert_cmpstr
    - g_dbus_error_is_remote_error
    - g_dbus_error_get_remote_error
    - g_dbus_error_set_dbus_error
    - g_dbus_error_unregister_error
    - g_dbus_error_strip_remote_error
    - g_free
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_register_error (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_error_new
      Src: /src/glib/gio/tests/gdbus-error.c:141,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-error.c:144,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/tests/gdbus-error.c:143,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/gdbus-error.c:147,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-error.c:155,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-error.c:151,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-error.c:143,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-error.c:148,1
    - Dst: g_dbus_error_strip_remote_error
      Src: /src/glib/gio/tests/gdbus-error.c:155,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-error.c:152,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/gdbus-error.c:161,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-error.c:159,1
    - Dst: g_dbus_error_new_for_dbus_error
      Src: /src/glib/gio/tests/gdbus-error.c:146,1
    - Dst: g_dbus_error_is_remote_error
      Src: /src/glib/gio/tests/gdbus-error.c:148,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-error.c:150,1
    - Dst: g_dbus_error_encode_gerror
      Src: /src/glib/gio/tests/gdbus-error.c:142,1
    - Dst: g_dbus_error_get_remote_error
      Src: /src/glib/gio/tests/gdbus-error.c:149,1
    - Dst: g_dbus_error_get_remote_error
      Src: /src/glib/gio/tests/gdbus-error.c:159,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-error.c:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - error_domain
    - error_code
    argTypes:
    - GQuark
    - gint
    constantsTouched: []
    func_position:
      end: 162
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 162
    functionName: check_transparent_gerror
    functionSourceFile: /src/glib/gio/tests/gdbus-error.c
    functionUses: []
    functionsReached:
    - g_dbus_error_new_for_dbus_error
    - g_assert
    - g_dbus_error_encode_gerror
    - g_assert_cmpstr
    - g_error_new
    - g_str_has_prefix
    - g_error_free
    - g_dbus_error_is_remote_error
    - g_dbus_error_get_remote_error
    - g_dbus_error_strip_remote_error
    - g_free
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void check_transparent_gerror (GQuark error_domain, gint error_code) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_registered_error
      Src: /src/glib/gio/tests/gdbus-error.c:70,1
    - Dst: check_registered_error
      Src: /src/glib/gio/tests/gdbus-error.c:76,1
    - Dst: check_registered_error
      Src: /src/glib/gio/tests/gdbus-error.c:73,1
    - Dst: check_registered_error
      Src: /src/glib/gio/tests/gdbus-error.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 82
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 82
    functionName: test_registered_errors
    functionSourceFile: /src/glib/gio/tests/gdbus-error.c
    functionUses: []
    functionsReached:
    - check_registered_error
    linkageType: ''
    returnType: void
    signature: 'static void test_registered_errors (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_error
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: large_message_timeout_cb
    functionSourceFile: /src/glib/gio/tests/gdbus-connection-slow.c
    functionUses: []
    functionsReached:
    - g_error
    linkageType: ''
    returnType: void
    signature: 'static void large_message_timeout_cb (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:50,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:52,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: test_connection_flush_on_timeout
    functionSourceFile: /src/glib/gio/tests/gdbus-connection-slow.c
    functionUses: []
    functionsReached:
    - g_printerr
    - GPOINTER_TO_UINT
    - g_assert_not_reached
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean test_connection_flush_on_timeout (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 187
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 187
    functionName: large_message_on_name_vanished
    functionSourceFile: /src/glib/gio/tests/gdbus-connection-slow.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void large_message_on_name_vanished (GDBusConnection *connection,
      const gchar *name, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:225,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:232,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:228,1
    - Dst: g_test_dbus_unset
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:230,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:233,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:235,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 238
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 238
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gdbus-connection-slow.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_run
    - g_main_loop_unref
    - g_main_loop_new
    - g_test_init
    - g_test_dbus_unset
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:82,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:84,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:111,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:104,1
    - Dst: session_bus_up
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:65,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:69,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:101,1
    - Dst: g_dbus_connection_signal_unsubscribe
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:115,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:110,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:108,1
    - Dst: g_timeout_add
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:110,1
    - Dst: session_bus_down
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:118,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:68,1
    - Dst: g_spawn_command_line_sync
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:94,1
    - Dst: g_spawn_check_wait_status
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:99,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:107,1
    - Dst: g_steal_handle_id
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:115,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:70,1
    - Dst: g_dbus_connection_signal_subscribe
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:72,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:105,1
    - Dst: g_source_remove
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:112,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:116,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 119
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 119
    functionName: test_connection_flush
    functionSourceFile: /src/glib/gio/tests/gdbus-connection-slow.c
    functionUses: []
    functionsReached:
    - session_bus_up
    - session_bus_down
    - g_assert_true
    - g_object_unref
    - g_spawn_command_line_sync
    - g_source_remove
    - g_dbus_connection_signal_subscribe
    - g_assert_cmpint
    - g_steal_handle_id
    - g_main_loop_run
    - g_test_message
    - g_dbus_connection_signal_unsubscribe
    - g_test_get_filename
    - g_assert_no_error
    - g_timeout_add
    - g_bus_get_sync
    - g_spawn_check_wait_status
    - g_assert
    - GUINT_TO_POINTER
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_connection_flush (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:179,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:173,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:150,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:163,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:164,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:169,1
    - Dst: strlen
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:172,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:177,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:172,1
    - Dst: g_source_remove
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:150,1
    - Dst: g_dbus_connection_call_sync
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:158,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:175,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:174,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:150,1
    - Dst: g_new
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:152,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:170,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:171,1
    - Dst: g_str_has_suffix
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:174,1
    - Dst: g_str_has_prefix
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:173,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 4
    argNames:
    - connection
    - name
    - name_owner
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 180
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 180
    functionName: large_message_on_name_appeared
    functionSourceFile: /src/glib/gio/tests/gdbus-connection-slow.c
    functionUses: []
    functionsReached:
    - g_new
    - strlen
    - g_assert
    - g_str_has_suffix
    - GPOINTER_TO_UINT
    - g_free
    - g_assert_no_error
    - g_dbus_connection_call_sync
    - g_str_has_prefix
    - g_variant_new
    - g_variant_unref
    - g_main_loop_quit
    - g_variant_get
    - g_source_remove
    - G_VARIANT_TYPE
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void large_message_on_name_appeared (GDBusConnection *connection,
      const gchar *name, const gchar *name_owner, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: session_bus_up
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:195,1
    - Dst: g_spawn_command_line_async
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:198,1
    - Dst: g_timeout_add_seconds_once
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:200,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:198,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:198,1
    - Dst: g_bus_watch_name
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:204,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:209,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:211,1
    - Dst: g_bus_unwatch_name
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:212,1
    - Dst: session_bus_down
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 215
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 215
    functionName: test_connection_large_message
    functionSourceFile: /src/glib/gio/tests/gdbus-connection-slow.c
    functionUses: []
    functionsReached:
    - session_bus_down
    - g_main_loop_run
    - g_timeout_add_seconds_once
    - g_assert
    - g_test_get_filename
    - g_bus_watch_name
    - GUINT_TO_POINTER
    - g_bus_unwatch_name
    - g_spawn_command_line_async
    - session_bus_up
    linkageType: ''
    returnType: void
    signature: 'static void test_connection_large_message (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-connection-slow.c:44,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 7
    argNames:
    - connection
    - sender_name
    - object_path
    - interface_name
    - signal_name
    - parameters
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 45
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 45
    functionName: test_connection_flush_signal_handler
    functionSourceFile: /src/glib/gio/tests/gdbus-connection-slow.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    linkageType: ''
    returnType: void
    signature: 'static void test_connection_flush_signal_handler (GDBusConnection
      *connection, const gchar *sender_name, const gchar *object_path, const gchar
      *interface_name, const gchar *signal_name, GVariant *parameters, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/glib/gio/tests/gapplication-example-open.c:7,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - application
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 14
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 14
    functionName: activate
    functionSourceFile: /src/glib/gio/tests/gapplication-example-open.c
    functionUses: []
    functionsReached:
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void activate (GApplication *application) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_application_new
      Src: /src/glib/gio/tests/gapplication-example-open.c:44,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gapplication-example-open.c:47,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/gapplication-example-open.c:46,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gapplication-example-open.c:46,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/gapplication-example-open.c:47,1
    - Dst: g_application_set_inactivity_timeout
      Src: /src/glib/gio/tests/gapplication-example-open.c:48,1
    - Dst: g_application_run
      Src: /src/glib/gio/tests/gapplication-example-open.c:50,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gapplication-example-open.c:52,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 55
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 55
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gapplication-example-open.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - G_CALLBACK
    - g_application_new
    - g_application_run
    - g_application_set_inactivity_timeout
    - g_signal_connect
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_get_uri
      Src: /src/glib/gio/tests/gapplication-example-open.c:26,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gapplication-example-open.c:27,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gapplication-example-open.c:28,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 4
    argNames:
    - application
    - files
    - n_files
    - hint
    argTypes:
    - GApplication*
    - GFile**
    - gint
    - gchar*
    constantsTouched: []
    func_position:
      end: 36
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 36
    functionName: app_open
    functionSourceFile: /src/glib/gio/tests/gapplication-example-open.c
    functionUses: []
    functionsReached:
    - g_file_get_uri
    - g_free
    - g_print
    linkageType: ''
    returnType: void
    signature: 'static void app_open (GApplication *application, GFile **files, gint
      n_files, const gchar *hint) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_new
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:63,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:66,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:65,1
    - Dst: g_mkdtemp_full
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:69,1
    - Dst: G_IS_SOCKET
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:66,1
    - Dst: g_error
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:72,1
    - Dst: g_strerror
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:72,1
    - Dst: g_strconcat
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:75,1
    - Dst: g_unix_socket_address_new
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:76,1
    - Dst: g_socket_bind
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:77,1
    - Dst: g_setenv
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:81,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:78,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 82
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 82
    functionName: set_up_mock_xdg_runtime_dir
    functionSourceFile: /src/glib/gio/tests/gdbus-address-get-session.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_strconcat
    - g_object_unref
    - g_setenv
    - g_mkdtemp_full
    - g_strerror
    - g_assert_no_error
    - g_socket_new
    - g_socket_bind
    - g_unix_socket_address_new
    - g_error
    - G_IS_SOCKET
    linkageType: ''
    returnType: void
    signature: 'static void set_up_mock_xdg_runtime_dir (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: tear_down_mock_dbus_launch
    functionSourceFile: /src/glib/gio/tests/gdbus-address-get-session.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    linkageType: ''
    returnType: void
    signature: 'static void tear_down_mock_dbus_launch (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:189,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:190,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 192
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 192
    functionName: check_and_cleanup_autolaunched_win32_bus
    functionSourceFile: /src/glib/gio/tests/gdbus-address-get-session.c
    functionUses: []
    functionsReached:
    - g_assert_no_error
    - g_bus_get_sync
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void check_and_cleanup_autolaunched_win32_bus (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_address_get_for_bus_sync
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:41,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:44,1
    - Dst: g_print
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:46,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:45,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 48
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 48
    functionName: print_address
    functionSourceFile: /src/glib/gio/tests/gdbus-address-get-session.c
    functionUses: []
    functionsReached:
    - g_assert_nonnull
    - g_assert_no_error
    - g_dbus_address_get_for_bus_sync
    - g_print
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void print_address (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strconcat
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:113,1
    - Dst: g_setenv
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:120,1
    - Dst: g_test_get_dir
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:113,1
    - Dst: g_setenv
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:115,1
    - Dst: g_getenv
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 121
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 121
    functionName: set_up_mock_dbus_launch
    functionSourceFile: /src/glib/gio/tests/gdbus-address-get-session.c
    functionUses: []
    functionsReached:
    - g_getenv
    - g_setenv
    - g_strconcat
    - g_test_get_dir
    linkageType: ''
    returnType: void
    signature: 'static void set_up_mock_dbus_launch (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_socket_close
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:89,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:90,1
    - Dst: g_strerror
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:95,1
    - Dst: g_error
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:95,1
    - Dst: g_unlink
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:92,1
    - Dst: g_rmdir
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:98,1
    - Dst: g_error
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:101,1
    - Dst: g_strerror
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:101,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:104,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 106
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 106
    functionName: tear_down_mock_xdg_runtime_dir
    functionSourceFile: /src/glib/gio/tests/gdbus-address-get-session.c
    functionUses: []
    functionsReached:
    - g_socket_close
    - g_unlink
    - g_strerror
    - g_assert_no_error
    - g_clear_object
    - g_clear_pointer
    - g_error
    - g_rmdir
    linkageType: ''
    returnType: void
    signature: 'static void tear_down_mock_xdg_runtime_dir (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:132,1
    - Dst: g_unsetenv
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:137,1
    - Dst: g_unsetenv
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:134,1
    - Dst: g_unsetenv
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:136,1
    - Dst: g_unsetenv
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:135,1
    - Dst: set_up_mock_dbus_launch
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:138,1
    - Dst: print_address
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:140,1
    - Dst: tear_down_mock_dbus_launch
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:142,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:146,1
    - Dst: g_test_trap_assert_stderr_unmatched
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:147,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:148,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 150
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 150
    functionName: test_x11_autolaunch
    functionSourceFile: /src/glib/gio/tests/gdbus-address-get-session.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_passed
    - print_address
    - g_unsetenv
    - g_test_trap_assert_stderr_unmatched
    - tear_down_mock_dbus_launch
    - g_test_trap_subprocess
    - g_test_subprocess
    - set_up_mock_dbus_launch
    - g_test_trap_assert_stdout
    linkageType: ''
    returnType: void
    signature: 'static void test_x11_autolaunch (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:155,1
    - Dst: g_unsetenv
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:157,1
    - Dst: set_up_mock_dbus_launch
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:160,1
    - Dst: g_unsetenv
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:158,1
    - Dst: set_up_mock_xdg_runtime_dir
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:159,1
    - Dst: print_address
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:162,1
    - Dst: tear_down_mock_dbus_launch
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:164,1
    - Dst: tear_down_mock_xdg_runtime_dir
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:165,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:169,1
    - Dst: g_test_trap_assert_stderr_unmatched
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:170,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:171,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 173
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 173
    functionName: test_xdg_runtime
    functionSourceFile: /src/glib/gio/tests/gdbus-address-get-session.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_passed
    - print_address
    - g_unsetenv
    - g_test_trap_assert_stderr_unmatched
    - set_up_mock_dbus_launch
    - tear_down_mock_xdg_runtime_dir
    - tear_down_mock_dbus_launch
    - g_test_trap_subprocess
    - g_test_subprocess
    - set_up_mock_xdg_runtime_dir
    - g_test_trap_assert_stdout
    linkageType: ''
    returnType: void
    signature: 'static void test_xdg_runtime (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:197,1
    - Dst: print_address
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:199,1
    - Dst: g_test_trap_assert_stdout
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:207,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:205,1
    - Dst: check_and_cleanup_autolaunched_win32_bus
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:201,1
    - Dst: g_test_trap_assert_passed
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 209
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 209
    functionName: test_win32_autolaunch
    functionSourceFile: /src/glib/gio/tests/gdbus-address-get-session.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_passed
    - print_address
    - check_and_cleanup_autolaunched_win32_bus
    - g_test_trap_subprocess
    - g_test_subprocess
    - g_test_trap_assert_stdout
    linkageType: ''
    returnType: void
    signature: 'static void test_win32_autolaunch (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:216,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:224,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:220,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:227,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-address-get-session.c:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 228
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 228
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gdbus-address-get-session.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/g-file.c:65,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/tests/g-file.c:73,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-file.c:66,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-file.c:74,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-file.c:67,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-file.c:75,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 77
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 77
    functionName: test_g_file_new_null
    functionSourceFile: /src/glib/gio/tests/g-file.c
    functionUses: []
    functionsReached:
    - g_file_new_for_path
    - g_file_new_for_uri
    - g_assert
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: 'static void test_g_file_new_null (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/tests/g-file.c:179,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-file.c:187,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-file.c:183,1
    - Dst: g_file_dup
      Src: /src/glib/gio/tests/g-file.c:185,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/g-file.c:181,1
    - Dst: g_file_equal
      Src: /src/glib/gio/tests/g-file.c:189,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-file.c:191,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-file.c:192,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - use_uri
    - path
    argTypes:
    - gboolean
    - char*
    constantsTouched: []
    func_position:
      end: 195
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 195
    functionName: dup_equals
    functionSourceFile: /src/glib/gio/tests/g-file.c
    functionUses: []
    functionsReached:
    - g_file_new_for_path
    - g_object_unref
    - g_file_new_for_uri
    - g_assert
    - g_file_equal
    - g_file_dup
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean dup_equals (const gboolean use_uri, const char *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/g-file.c:133,1
    - Dst: compare_two_files
      Src: /src/glib/gio/tests/g-file.c:135,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/g-file.c:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 138
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 138
    functionName: test_g_file_new_for_path
    functionSourceFile: /src/glib/gio/tests/g-file.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - compare_two_files
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_g_file_new_for_path (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/tests/g-file.c:229,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-file.c:237,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/g-file.c:231,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-file.c:233,1
    - Dst: g_file_get_parse_name
      Src: /src/glib/gio/tests/g-file.c:235,1
    - Dst: g_utf8_validate
      Src: /src/glib/gio/tests/g-file.c:240,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-file.c:241,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/g-file.c:244,1
    - Dst: g_file_parse_name
      Src: /src/glib/gio/tests/g-file.c:246,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-file.c:248,1
    - Dst: g_file_equal
      Src: /src/glib/gio/tests/g-file.c:250,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-file.c:252,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-file.c:255,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-file.c:253,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - use_uri
    - path
    - result_parse_name
    argTypes:
    - gboolean
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 258
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 258
    functionName: parse_check_utf8
    functionSourceFile: /src/glib/gio/tests/g-file.c
    functionUses: []
    functionsReached:
    - g_file_get_parse_name
    - g_file_new_for_path
    - g_object_unref
    - g_file_new_for_uri
    - g_assert
    - g_file_equal
    - g_assert_cmpstr
    - g_file_parse_name
    - g_utf8_validate
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean parse_check_utf8 (const gboolean use_uri, const char
      *path, const char *result_parse_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/tests/g-file.c:288,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-file.c:289,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/g-file.c:294,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/g-file.c:293,1
    - Dst: g_file_get_uri
      Src: /src/glib/gio/tests/g-file.c:292,1
    - Dst: g_file_get_path
      Src: /src/glib/gio/tests/g-file.c:297,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/g-file.c:299,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-file.c:301,1
    - Dst: g_path_is_absolute
      Src: /src/glib/gio/tests/g-file.c:301,1
    - Dst: g_file_get_uri_scheme
      Src: /src/glib/gio/tests/g-file.c:304,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-file.c:307,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-file.c:306,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-file.c:308,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 311
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 311
    functionName: resolve_arg
    functionSourceFile: /src/glib/gio/tests/g-file.c
    functionUses: []
    functionsReached:
    - g_file_get_uri
    - g_printerr
    - g_object_unref
    - g_assert
    - g_file_get_uri_scheme
    - g_free
    - g_assert_cmpstr
    - g_file_get_path
    - g_file_new_for_commandline_arg
    - g_path_is_absolute
    linkageType: ''
    returnType: char*
    signature: 'static char *resolve_arg (const gboolean is_uri_only, const char *arg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/tests/g-file.c:362,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/g-file.c:368,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-file.c:371,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/tests/g-file.c:363,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/g-file.c:367,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-file.c:372,1
    - Dst: g_file_has_prefix
      Src: /src/glib/gio/tests/g-file.c:374,1
    - Dst: g_printerr
      Src: /src/glib/gio/tests/g-file.c:375,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-file.c:376,1
    - Dst: g_file_get_relative_path
      Src: /src/glib/gio/tests/g-file.c:378,1
    - Dst: g_file_resolve_relative_path
      Src: /src/glib/gio/tests/g-file.c:383,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-file.c:384,1
    - Dst: g_file_equal
      Src: /src/glib/gio/tests/g-file.c:384,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-file.c:388,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-file.c:390,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-file.c:381,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-file.c:392,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 395
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 395
    functionName: get_relative_path
    functionSourceFile: /src/glib/gio/tests/g-file.c
    functionUses: []
    functionsReached:
    - g_file_new_for_path
    - g_file_has_prefix
    - g_printerr
    - g_object_unref
    - g_file_get_relative_path
    - g_file_resolve_relative_path
    - g_file_new_for_uri
    - g_assert
    - g_file_equal
    linkageType: ''
    returnType: char*
    signature: 'static char *get_relative_path (const gboolean use_uri, const gboolean
      should_have_prefix, const char *dir1, const char *dir2) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-file.c:454,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-file.c:455,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-file.c:458,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-file.c:461,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/g-file.c:472,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-file.c:462,1
    - Dst: g_file_equal
      Src: /src/glib/gio/tests/g-file.c:462,1
    - Dst: g_file_equal
      Src: /src/glib/gio/tests/g-file.c:474,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/tests/g-file.c:446,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-file.c:474,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-file.c:467,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-file.c:480,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/tests/g-file.c:445,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/g-file.c:450,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/g-file.c:451,1
    - Dst: g_file_get_child
      Src: /src/glib/gio/tests/g-file.c:457,1
    - Dst: g_file_get_parent
      Src: /src/glib/gio/tests/g-file.c:460,1
    - Dst: g_file_get_parent
      Src: /src/glib/gio/tests/g-file.c:464,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-file.c:470,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-file.c:473,1
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/g-file.c:477,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 45
    argCount: 4
    argNames:
    - use_uri
    - under_root_descending
    - path
    - dir_holder
    argTypes:
    - gboolean
    - gboolean
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 482
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 482
    functionName: roundtrip_parent_child
    functionSourceFile: /src/glib/gio/tests/g-file.c
    functionUses: []
    functionsReached:
    - g_file_new_for_path
    - g_object_unref
    - g_file_new_for_uri
    - g_assert
    - g_file_equal
    - G_N_ELEMENTS
    - g_file_get_child
    - g_file_get_parent
    linkageType: ''
    returnType: void
    signature: "static void roundtrip_parent_child (const gboolean use_uri, const\
      \ gboolean under_root_descending,\t\t\tconst char *path, const char *dir_holder) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/g-file.c:162,1
    - Dst: compare_two_files
      Src: /src/glib/gio/tests/g-file.c:164,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/g-file.c:165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 167
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 167
    functionName: test_g_file_new_for_uri
    functionSourceFile: /src/glib/gio/tests/g-file.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - compare_two_files
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_g_file_new_for_uri (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/tests/g-file.c:90,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-file.c:99,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/tests/g-file.c:91,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/g-file.c:95,1
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/g-file.c:96,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-file.c:100,1
    - Dst: g_file_equal
      Src: /src/glib/gio/tests/g-file.c:102,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-file.c:104,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-file.c:105,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - use_uri
    - path1
    - path2
    argTypes:
    - gboolean
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 108
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 108
    functionName: compare_two_files
    functionSourceFile: /src/glib/gio/tests/g-file.c
    functionUses: []
    functionsReached:
    - g_file_new_for_path
    - g_object_unref
    - g_file_new_for_uri
    - g_assert
    - g_file_equal
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean compare_two_files (const gboolean use_uri, const char
      *path1, const char *path2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/g-file.c:210,1
    - Dst: dup_equals
      Src: /src/glib/gio/tests/g-file.c:212,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-file.c:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 215
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 215
    functionName: test_g_file_dup
    functionSourceFile: /src/glib/gio/tests/g-file.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - g_assert
    - dup_equals
    linkageType: ''
    returnType: void
    signature: 'static void test_g_file_dup (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/g-file.c:273,1
    - Dst: parse_check_utf8
      Src: /src/glib/gio/tests/g-file.c:275,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/g-file.c:276,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 278
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 278
    functionName: test_g_file_get_parse_name_utf8
    functionSourceFile: /src/glib/gio/tests/g-file.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - g_assert
    - parse_check_utf8
    linkageType: ''
    returnType: void
    signature: 'static void test_g_file_get_parse_name_utf8 (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/g-file.c:334,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/g-file.c:337,1
    - Dst: g_file_new_for_commandline_arg
      Src: /src/glib/gio/tests/g-file.c:342,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-file.c:338,1
    - Dst: resolve_arg
      Src: /src/glib/gio/tests/g-file.c:336,1
    - Dst: g_file_get_path
      Src: /src/glib/gio/tests/g-file.c:343,1
    - Dst: g_get_current_dir
      Src: /src/glib/gio/tests/g-file.c:344,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/g-file.c:345,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/g-file.c:346,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-file.c:347,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-file.c:348,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 349
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 349
    functionName: test_g_file_new_for_commandline_arg
    functionSourceFile: /src/glib/gio/tests/g-file.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - G_N_ELEMENTS
    - g_free
    - g_assert_cmpstr
    - resolve_arg
    - g_file_get_path
    - g_get_current_dir
    - g_file_new_for_commandline_arg
    linkageType: ''
    returnType: void
    signature: 'static void test_g_file_new_for_commandline_arg (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/g-file.c:427,1
    - Dst: get_relative_path
      Src: /src/glib/gio/tests/g-file.c:429,1
    - Dst: g_free
      Src: /src/glib/gio/tests/g-file.c:432,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/g-file.c:431,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 434
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 434
    functionName: test_g_file_has_prefix
    functionSourceFile: /src/glib/gio/tests/g-file.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - get_relative_path
    - g_free
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: 'static void test_g_file_has_prefix (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/g-file.c:502,1
    - Dst: roundtrip_parent_child
      Src: /src/glib/gio/tests/g-file.c:503,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 504
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 504
    functionName: test_g_file_get_parent_child
    functionSourceFile: /src/glib/gio/tests/g-file.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - roundtrip_parent_child
    linkageType: ''
    returnType: void
    signature: 'static void test_g_file_get_parent_child (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/g-file.c:510,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/g-file.c:514,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/g-file.c:523,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/g-file.c:520,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/g-file.c:517,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/g-file.c:526,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/g-file.c:529,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/g-file.c:532,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/g-file.c:535,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/g-file.c:537,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 538
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 538
    functionName: main
    functionSourceFile: /src/glib/gio/tests/g-file.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/appmonitor.c:37,1
    - Dst: g_get_user_data_dir
      Src: /src/glib/gio/tests/appmonitor.c:37,1
    - Dst: g_assert_no_errno
      Src: /src/glib/gio/tests/appmonitor.c:38,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/appmonitor.c:40,1
    - Dst: g_mkdir_with_parents
      Src: /src/glib/gio/tests/appmonitor.c:38,1
    - Dst: g_get_user_data_dir
      Src: /src/glib/gio/tests/appmonitor.c:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: setup
    functionSourceFile: /src/glib/gio/tests/appmonitor.c
    functionUses: []
    functionsReached:
    - g_mkdir_with_parents
    - g_test_message
    - g_get_user_data_dir
    - g_build_filename
    - g_assert_no_errno
    linkageType: ''
    returnType: void
    signature: 'static void setup (Fixture *fixture, gconstpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_set_contents
      Src: /src/glib/gio/tests/appmonitor.c:64,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/appmonitor.c:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 68
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 68
    functionName: create_app
    functionSourceFile: /src/glib/gio/tests/appmonitor.c
    functionUses: []
    functionsReached:
    - g_assert_no_error
    - g_file_set_contents
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean create_app (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_no_errno
      Src: /src/glib/gio/tests/appmonitor.c:47,1
    - Dst: g_rmdir
      Src: /src/glib/gio/tests/appmonitor.c:47,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/appmonitor.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: teardown
    functionSourceFile: /src/glib/gio/tests/appmonitor.c
    functionUses: []
    functionsReached:
    - g_clear_pointer
    - g_assert_no_errno
    - g_rmdir
    linkageType: ''
    returnType: void
    signature: 'static void teardown (Fixture *fixture, gconstpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_wakeup
      Src: /src/glib/gio/tests/appmonitor.c:85,1
    - Dst: g_main_context_get_thread_default
      Src: /src/glib/gio/tests/appmonitor.c:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - monitor
    - user_data
    argTypes:
    - GAppInfoMonitor*
    - gpointer
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: changed_cb
    functionSourceFile: /src/glib/gio/tests/appmonitor.c
    functionUses: []
    functionsReached:
    - g_main_context_get_thread_default
    - g_main_context_wakeup
    linkageType: ''
    returnType: void
    signature: 'static void changed_cb (GAppInfoMonitor *monitor, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_remove
      Src: /src/glib/gio/tests/appmonitor.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: delete_app
    functionSourceFile: /src/glib/gio/tests/appmonitor.c
    functionUses: []
    functionsReached:
    - g_remove
    linkageType: ''
    returnType: void
    signature: 'static void delete_app (gpointer data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/appmonitor.c:93,1
    - Dst: g_main_context_get_thread_default
      Src: /src/glib/gio/tests/appmonitor.c:95,1
    - Dst: g_main_context_wakeup
      Src: /src/glib/gio/tests/appmonitor.c:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: timeout_cb
    functionSourceFile: /src/glib/gio/tests/appmonitor.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_main_context_get_thread_default
    - g_main_context_wakeup
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean timeout_cb (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/appmonitor.c:174,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/appmonitor.c:178,1
    - Dst: g_test_add
      Src: /src/glib/gio/tests/appmonitor.c:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 179
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 179
    functionName: main
    functionSourceFile: /src/glib/gio/tests/appmonitor.c
    functionUses: []
    functionsReached:
    - g_test_add
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/appmonitor.c:117,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/appmonitor.c:123,1
    - Dst: g_idle_add
      Src: /src/glib/gio/tests/appmonitor.c:125,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/tests/appmonitor.c:127,1
    - Dst: g_source_attach
      Src: /src/glib/gio/tests/appmonitor.c:128,1
    - Dst: g_source_set_callback
      Src: /src/glib/gio/tests/appmonitor.c:147,1
    - Dst: g_source_attach
      Src: /src/glib/gio/tests/appmonitor.c:148,1
    - Dst: delete_app
      Src: /src/glib/gio/tests/appmonitor.c:150,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/appmonitor.c:155,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/appmonitor.c:161,1
    - Dst: g_build_filename
      Src: /src/glib/gio/tests/appmonitor.c:114,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/appmonitor.c:123,1
    - Dst: g_timeout_source_new_seconds
      Src: /src/glib/gio/tests/appmonitor.c:126,1
    - Dst: g_desktop_app_info_new
      Src: /src/glib/gio/tests/appmonitor.c:141,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/appmonitor.c:142,1
    - Dst: g_source_destroy
      Src: /src/glib/gio/tests/appmonitor.c:136,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/appmonitor.c:133,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/appmonitor.c:153,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/appmonitor.c:158,1
    - Dst: g_remove
      Src: /src/glib/gio/tests/appmonitor.c:159,1
    - Dst: g_app_info_get_all
      Src: /src/glib/gio/tests/appmonitor.c:117,1
    - Dst: g_app_info_monitor_get
      Src: /src/glib/gio/tests/appmonitor.c:121,1
    - Dst: g_timeout_source_new_seconds
      Src: /src/glib/gio/tests/appmonitor.c:146,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/appmonitor.c:131,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/appmonitor.c:143,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/appmonitor.c:137,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/appmonitor.c:165,1
    - Dst: g_source_destroy
      Src: /src/glib/gio/tests/appmonitor.c:157,1
    - Dst: g_free
      Src: /src/glib/gio/tests/appmonitor.c:163,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/appmonitor.c:167,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - Fixture*
    - gconstpointer
    constantsTouched: []
    func_position:
      end: 169
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 169
    functionName: test_app_monitor
    functionSourceFile: /src/glib/gio/tests/appmonitor.c
    functionUses: []
    functionsReached:
    - g_source_set_callback
    - g_list_free_full
    - g_app_info_monitor_get
    - g_signal_connect
    - g_assert_true
    - g_object_unref
    - g_source_attach
    - g_assert_nonnull
    - g_free
    - g_timeout_source_new_seconds
    - g_app_info_get_all
    - g_clear_pointer
    - g_clear_object
    - g_build_filename
    - g_test_skip
    - g_source_destroy
    - delete_app
    - G_CALLBACK
    - g_remove
    - g_main_context_iteration
    - g_idle_add
    - g_desktop_app_info_new
    linkageType: ''
    returnType: void
    signature: 'static void test_app_monitor (Fixture *fixture, gconstpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_file_new_for_path
      Src: /src/glib/gio/tests/autoptr.c:5,1
    - Dst: g_file_get_path
      Src: /src/glib/gio/tests/autoptr.c:7,1
    - Dst: g_inet_address_new_from_string
      Src: /src/glib/gio/tests/autoptr.c:6,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/autoptr.c:10,1
    - Dst: g_inet_address_to_string
      Src: /src/glib/gio/tests/autoptr.c:8,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/autoptr.c:11,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 12
      start: 2
    functionDepth: 0
    functionLinenumber: 2
    functionLinenumberEnd: 12
    functionName: test_autoptr
    functionSourceFile: /src/glib/gio/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_file_new_for_path
    - g_inet_address_to_string
    - g_assert_cmpstr
    - g_file_get_path
    - g_inet_address_new_from_string
    linkageType: ''
    returnType: void
    signature: 'static void test_autoptr (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/autoptr.c:17,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/autoptr.c:21,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/autoptr.c:19,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 22
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 22
    functionName: main
    functionSourceFile: /src/glib/gio/tests/autoptr.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_message
      Src: /src/glib/gio/tests/fake-service-name.c:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: on_name_acquired
    functionSourceFile: /src/glib/gio/tests/fake-service-name.c
    functionUses: []
    functionsReached:
    - g_test_message
    linkageType: ''
    returnType: void
    signature: 'static void on_name_acquired (GDBusConnection *connection, const gchar
      *name, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/fake-service-name.c:45,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/fake-service-name.c:48,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/tests/fake-service-name.c:47,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 8
    argNames:
    - connection
    - sender
    - object_path
    - interface_name
    - method_name
    - parameters
    - invocation
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GVariant*
    - GDBusMethodInvocation*
    - gpointer
    constantsTouched: []
    func_position:
      end: 50
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 50
    functionName: incoming_method_call
    functionSourceFile: /src/glib/gio/tests/fake-service-name.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    - g_dbus_method_invocation_return_value
    - g_strcmp0
    linkageType: ''
    returnType: void
    signature: 'static void incoming_method_call (GDBusConnection *connection, const
      gchar *sender, const gchar *object_path, const gchar *interface_name, const
      gchar *method_name, GVariant *parameters, GDBusMethodInvocation *invocation,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_log_writer_default_set_use_stderr
      Src: /src/glib/gio/tests/fake-service-name.c:100,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/fake-service-name.c:104,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/fake-service-name.c:102,1
    - Dst: g_bus_own_name
      Src: /src/glib/gio/tests/fake-service-name.c:106,1
    - Dst: g_dbus_node_info_new_for_xml
      Src: /src/glib/gio/tests/fake-service-name.c:103,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/fake-service-name.c:116,1
    - Dst: g_bus_unown_name
      Src: /src/glib/gio/tests/fake-service-name.c:118,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/fake-service-name.c:119,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/tests/fake-service-name.c:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - gint
    - gchar*
    constantsTouched: []
    func_position:
      end: 123
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 123
    functionName: main
    functionSourceFile: /src/glib/gio/tests/fake-service-name.c
    functionUses: []
    functionsReached:
    - g_main_loop_run
    - g_dbus_node_info_new_for_xml
    - g_assert
    - g_bus_unown_name
    - g_main_loop_unref
    - g_bus_own_name
    - g_dbus_node_info_unref
    - g_main_loop_new
    - g_log_writer_default_set_use_stderr
    linkageType: ''
    returnType: gint
    signature: 'gint main (gint argc, gchar *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_message
      Src: /src/glib/gio/tests/fake-service-name.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 93
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 93
    functionName: on_name_lost
    functionSourceFile: /src/glib/gio/tests/fake-service-name.c
    functionUses: []
    functionsReached:
    - g_test_message
    linkageType: ''
    returnType: void
    signature: 'static void on_name_lost (GDBusConnection *connection, const gchar
      *name, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_message
      Src: /src/glib/gio/tests/fake-service-name.c:66,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/fake-service-name.c:76,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/fake-service-name.c:75,1
    - Dst: g_dbus_connection_register_object
      Src: /src/glib/gio/tests/fake-service-name.c:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 77
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 77
    functionName: on_bus_acquired
    functionSourceFile: /src/glib/gio/tests/fake-service-name.c
    functionUses: []
    functionsReached:
    - g_test_message
    - g_assert
    - g_dbus_connection_register_object
    - g_assert_no_error
    linkageType: ''
    returnType: void
    signature: 'static void on_bus_acquired (GDBusConnection *connection, const gchar
      *name, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_fake_flatpak_info
      Src: /src/glib/gio/tests/portal-support-flatpak-none.c:31,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/portal-support-flatpak-none.c:33,1
    - Dst: glib_should_use_portal
      Src: /src/glib/gio/tests/portal-support-flatpak-none.c:33,1
    - Dst: g_get_user_runtime_dir
      Src: /src/glib/gio/tests/portal-support-flatpak-none.c:31,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/portal-support-flatpak-none.c:34,1
    - Dst: glib_network_available_in_sandbox
      Src: /src/glib/gio/tests/portal-support-flatpak-none.c:34,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/portal-support-flatpak-none.c:35,1
    - Dst: glib_has_dconf_access_in_sandbox
      Src: /src/glib/gio/tests/portal-support-flatpak-none.c:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 36
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 36
    functionName: test_portal_support_flatpak_none
    functionSourceFile: /src/glib/gio/tests/portal-support-flatpak-none.c
    functionUses: []
    functionsReached:
    - create_fake_flatpak_info
    - g_assert_true
    - glib_network_available_in_sandbox
    - glib_should_use_portal
    - g_assert_false
    - glib_has_dconf_access_in_sandbox
    - g_get_user_runtime_dir
    linkageType: ''
    returnType: void
    signature: 'static void test_portal_support_flatpak_none (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/portal-support-flatpak-none.c:41,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/portal-support-flatpak-none.c:45,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/portal-support-flatpak-none.c:43,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: main
    functionSourceFile: /src/glib/gio/tests/portal-support-flatpak-none.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-example-server.c:65,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-example-server.c:71,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/tests/gdbus-example-server.c:80,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-example-server.c:106,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-example-server.c:96,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-example-server.c:119,1
    - Dst: g_dbus_message_set_unix_fd_list
      Src: /src/glib/gio/tests/gdbus-example-server.c:139,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-example-server.c:147,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/glib/gio/tests/gdbus-example-server.c:73,1
    - Dst: g_dbus_method_invocation_return_dbus_error
      Src: /src/glib/gio/tests/gdbus-example-server.c:87,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gdbus-example-server.c:94,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/tests/gdbus-example-server.c:95,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-example-server.c:120,1
    - Dst: g_dbus_connection_get_capabilities
      Src: /src/glib/gio/tests/gdbus-example-server.c:127,1
    - Dst: g_unix_fd_list_append
      Src: /src/glib/gio/tests/gdbus-example-server.c:135,1
    - Dst: g_dbus_message_new_method_reply
      Src: /src/glib/gio/tests/gdbus-example-server.c:138,1
    - Dst: g_dbus_method_invocation_get_message
      Src: /src/glib/gio/tests/gdbus-example-server.c:138,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-example-server.c:149,1
    - Dst: g_variant_get
      Src: /src/glib/gio/tests/gdbus-example-server.c:69,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-example-server.c:85,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/gdbus-example-server.c:107,1
    - Dst: g_dbus_connection_emit_signal
      Src: /src/glib/gio/tests/gdbus-example-server.c:110,1
    - Dst: g_unix_fd_list_new
      Src: /src/glib/gio/tests/gdbus-example-server.c:133,1
    - Dst: g_dbus_connection_send_message
      Src: /src/glib/gio/tests/gdbus-example-server.c:142,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-example-server.c:150,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-example-server.c:78,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-example-server.c:97,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-example-server.c:115,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-example-server.c:100,1
    - Dst: g_dbus_method_invocation_return_value
      Src: /src/glib/gio/tests/gdbus-example-server.c:122,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-example-server.c:124,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-example-server.c:136,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-example-server.c:151,1
    - Dst: g_dbus_method_invocation_return_dbus_error
      Src: /src/glib/gio/tests/gdbus-example-server.c:155,1
    - Dst: g_dbus_method_invocation_return_dbus_error
      Src: /src/glib/gio/tests/gdbus-example-server.c:160,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 59
    argCount: 8
    argNames:
    - connection
    - sender
    - object_path
    - interface_name
    - method_name
    - parameters
    - invocation
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GVariant*
    - GDBusMethodInvocation*
    - gpointer
    constantsTouched: []
    func_position:
      end: 165
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 165
    functionName: handle_method_call
    functionSourceFile: /src/glib/gio/tests/gdbus-example-server.c
    functionUses: []
    functionsReached:
    - g_strdup_printf
    - g_object_unref
    - g_dbus_method_invocation_return_dbus_error
    - g_dbus_message_set_unix_fd_list
    - g_dbus_method_invocation_return_error
    - g_dbus_connection_get_capabilities
    - g_assert_no_error
    - g_unix_fd_list_new
    - g_dbus_method_invocation_return_value
    - g_variant_new
    - g_unix_fd_list_append
    - g_strcmp0
    - g_variant_get
    - g_dbus_message_new_method_reply
    - g_dbus_method_invocation_get_message
    - g_dbus_connection_send_message
    - g_dbus_connection_emit_signal
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void handle_method_call (GDBusConnection *connection, const
      gchar *sender, const gchar *object_path, const gchar *interface_name, const
      gchar *method_name, GVariant *parameters, GDBusMethodInvocation *invocation,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_DBUS_CONNECTION
      Src: /src/glib/gio/tests/gdbus-example-server.c:289,1
    - Dst: G_VARIANT_TYPE
      Src: /src/glib/gio/tests/gdbus-example-server.c:298,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gdbus-example-server.c:299,1
    - Dst: g_variant_builder_new
      Src: /src/glib/gio/tests/gdbus-example-server.c:297,1
    - Dst: g_variant_builder_new
      Src: /src/glib/gio/tests/gdbus-example-server.c:298,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gdbus-example-server.c:302,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gdbus-example-server.c:303,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gdbus-example-server.c:306,1
    - Dst: g_dbus_connection_emit_signal
      Src: /src/glib/gio/tests/gdbus-example-server.c:307,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-example-server.c:312,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-example-server.c:317,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 321
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 321
    functionName: on_timeout_cb
    functionSourceFile: /src/glib/gio/tests/gdbus-example-server.c
    functionUses: []
    functionsReached:
    - G_DBUS_CONNECTION
    - g_variant_builder_new
    - g_assert_no_error
    - g_variant_new_string
    - g_variant_new
    - g_dbus_connection_emit_signal
    - g_variant_builder_add
    - G_VARIANT_TYPE
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean on_timeout_cb (gpointer user_data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-example-server.c:228,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-example-server.c:235,1
    - Dst: g_variant_dup_string
      Src: /src/glib/gio/tests/gdbus-example-server.c:236,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-example-server.c:230,1
    - Dst: g_variant_get_string
      Src: /src/glib/gio/tests/gdbus-example-server.c:230,1
    - Dst: g_variant_builder_new
      Src: /src/glib/gio/tests/gdbus-example-server.c:239,1
    - Dst: g_variant_builder_add
      Src: /src/glib/gio/tests/gdbus-example-server.c:240,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gdbus-example-server.c:243,1
    - Dst: g_dbus_connection_emit_signal
      Src: /src/glib/gio/tests/gdbus-example-server.c:244,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-example-server.c:249,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-example-server.c:257,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-example-server.c:261,1
    - Dst: g_set_error
      Src: /src/glib/gio/tests/gdbus-example-server.c:263,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-example-server.c:254,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 8
    argNames:
    - connection
    - sender
    - object_path
    - interface_name
    - property_name
    - value
    - error
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GVariant*
    - GError**
    - gpointer
    constantsTouched: []
    func_position:
      end: 272
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 272
    functionName: handle_set_property
    functionSourceFile: /src/glib/gio/tests/gdbus-example-server.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_variant_builder_new
    - g_variant_get_string
    - g_assert_no_error
    - g_variant_new_string
    - g_variant_new
    - g_strcmp0
    - g_variant_builder_add
    - g_dbus_connection_emit_signal
    - g_free
    - g_variant_dup_string
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean handle_set_property (GDBusConnection *connection,
      const gchar *sender, const gchar *object_path, const gchar *interface_name,
      const gchar *property_name, GVariant *value, GError **error, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 352
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 352
    functionName: on_name_acquired
    functionSourceFile: /src/glib/gio/tests/gdbus-example-server.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void on_name_acquired (GDBusConnection *connection, const gchar
      *name, gpointer user_data) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-example-server.c:183,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-example-server.c:187,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/gdbus-example-server.c:190,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gdbus-example-server.c:185,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gdbus-example-server.c:191,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-example-server.c:193,1
    - Dst: g_set_error
      Src: /src/glib/gio/tests/gdbus-example-server.c:195,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-example-server.c:202,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gdbus-example-server.c:204,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-example-server.c:206,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gdbus-example-server.c:212,1
    - Dst: g_variant_new_string
      Src: /src/glib/gio/tests/gdbus-example-server.c:208,1
    - Dst: g_strcmp0
      Src: /src/glib/gio/tests/gdbus-example-server.c:210,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 216
    functionName: handle_get_property
    functionSourceFile: /src/glib/gio/tests/gdbus-example-server.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_variant_new_string
    - g_strdup
    - g_strcmp0
    linkageType: ''
    returnType: GVariant*
    signature: 'static GVariant *handle_get_property (GDBusConnection *connection,
      const gchar *sender, const gchar *object_path, const gchar *interface_name,
      const gchar *property_name, GError **error, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/glib/gio/tests/gdbus-example-server.c:359,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 360
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 360
    functionName: on_name_lost
    functionSourceFile: /src/glib/gio/tests/gdbus-example-server.c
    functionUses: []
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: 'static void on_name_lost (GDBusConnection *connection, const gchar
      *name, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_node_info_new_for_xml
      Src: /src/glib/gio/tests/gdbus-example-server.c:372,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gdbus-example-server.c:384,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-example-server.c:385,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-example-server.c:373,1
    - Dst: g_bus_own_name
      Src: /src/glib/gio/tests/gdbus-example-server.c:375,1
    - Dst: g_bus_unown_name
      Src: /src/glib/gio/tests/gdbus-example-server.c:387,1
    - Dst: g_dbus_node_info_unref
      Src: /src/glib/gio/tests/gdbus-example-server.c:389,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 392
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 392
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gdbus-example-server.c
    functionUses: []
    functionsReached:
    - g_main_loop_run
    - g_dbus_node_info_new_for_xml
    - g_assert
    - g_bus_unown_name
    - g_bus_own_name
    - g_dbus_node_info_unref
    - g_main_loop_new
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_connection_register_object
      Src: /src/glib/gio/tests/gdbus-example-server.c:332,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-example-server.c:339,1
    - Dst: g_timeout_add_seconds
      Src: /src/glib/gio/tests/gdbus-example-server.c:342,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    constantsTouched: []
    func_position:
      end: 345
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 345
    functionName: on_bus_acquired
    functionSourceFile: /src/glib/gio/tests/gdbus-example-server.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_timeout_add_seconds
    - g_dbus_connection_register_object
    linkageType: ''
    returnType: void
    signature: 'static void on_bus_acquired (GDBusConnection *connection, const gchar
      *name, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - class
    argTypes:
    - GApplicationClass*
    constantsTouched: []
    func_position:
      end: 367
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 367
    functionName: test_flatpak_application_class_init
    functionSourceFile: /src/glib/gio/tests/dbus-appinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_flatpak_application_class_init (GApplicationClass
      *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_app_info_launch_uris_finish
      Src: /src/glib/gio/tests/dbus-appinfo.c:417,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/dbus-appinfo.c:418,1
    - Dst: G_APP_INFO
      Src: /src/glib/gio/tests/dbus-appinfo.c:417,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/dbus-appinfo.c:420,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/dbus-appinfo.c:419,1
    - Dst: g_application_release
      Src: /src/glib/gio/tests/dbus-appinfo.c:422,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 423
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 423
    functionName: on_flatpak_launch_invalid_uri_finish
    functionSourceFile: /src/glib/gio/tests/dbus-appinfo.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_app_info_launch_uris_finish
    - g_assert_no_error
    - G_APP_INFO
    - g_application_release
    linkageType: ''
    returnType: void
    signature: 'static void on_flatpak_launch_invalid_uri_finish (GObject *object,
      GAsyncResult *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/dbus-appinfo.c:454,1
    - Dst: g_file_peek_path
      Src: /src/glib/gio/tests/dbus-appinfo.c:455,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/tests/dbus-appinfo.c:458,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/dbus-appinfo.c:459,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/dbus-appinfo.c:455,1
    - Dst: g_file_equal
      Src: /src/glib/gio/tests/dbus-appinfo.c:459,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/dbus-appinfo.c:460,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - app
    - files
    - n_files
    - hint
    argTypes:
    - GApplication*
    - GFile**
    - gint
    - char*
    constantsTouched: []
    func_position:
      end: 461
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 461
    functionName: on_flatpak_open_invalid_uri
    functionSourceFile: /src/glib/gio/tests/dbus-appinfo.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_object_unref
    - g_test_message
    - g_file_new_for_uri
    - g_file_equal
    - g_file_peek_path
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void on_flatpak_open_invalid_uri (GApplication *app, GFile
      **files, gint n_files, const char *hint) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_fake_desktop_portal_is_supported
      Src: /src/glib/gio/tests/dbus-appinfo.c:575,1
    - Dst: session_bus_get_address
      Src: /src/glib/gio/tests/dbus-appinfo.c:582,1
    - Dst: g_fake_desktop_portal_thread_new
      Src: /src/glib/gio/tests/dbus-appinfo.c:582,1
    - Dst: g_fake_desktop_portal_thread_run
      Src: /src/glib/gio/tests/dbus-appinfo.c:583,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/dbus-appinfo.c:577,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/dbus-appinfo.c:585,1
    - Dst: test_app_launch_context_get_type
      Src: /src/glib/gio/tests/dbus-appinfo.c:585,1
    - Dst: g_app_info_launch_default_for_uri
      Src: /src/glib/gio/tests/dbus-appinfo.c:589,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/dbus-appinfo.c:591,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/dbus-appinfo.c:592,1
    - Dst: check_portal_openuri_call
      Src: /src/glib/gio/tests/dbus-appinfo.c:595,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/dbus-appinfo.c:598,1
    - Dst: g_fake_desktop_portal_thread_stop
      Src: /src/glib/gio/tests/dbus-appinfo.c:594,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/dbus-appinfo.c:597,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 599
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 599
    functionName: test_portal_open_uri
    functionSourceFile: /src/glib/gio/tests/dbus-appinfo.c
    functionUses: []
    functionsReached:
    - test_app_launch_context_get_type
    - g_fake_desktop_portal_is_supported
    - g_fake_desktop_portal_thread_run
    - g_assert_true
    - g_object_new
    - session_bus_get_address
    - g_app_info_launch_default_for_uri
    - g_fake_desktop_portal_thread_new
    - g_assert_no_error
    - g_clear_object
    - g_test_skip
    - check_portal_openuri_call
    - g_fake_desktop_portal_thread_stop
    linkageType: ''
    returnType: void
    signature: 'static void test_portal_open_uri (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/dbus-appinfo.c:379,1
    - Dst: g_fake_document_portal_thread_new
      Src: /src/glib/gio/tests/dbus-appinfo.c:382,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/dbus-appinfo.c:396,1
    - Dst: g_application_run
      Src: /src/glib/gio/tests/dbus-appinfo.c:400,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/dbus-appinfo.c:406,1
    - Dst: test_flatpak_application_get_type
      Src: /src/glib/gio/tests/dbus-appinfo.c:392,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/dbus-appinfo.c:403,1
    - Dst: g_fake_document_portal_thread_run
      Src: /src/glib/gio/tests/dbus-appinfo.c:383,1
    - Dst: g_desktop_app_info_new_from_filename
      Src: /src/glib/gio/tests/dbus-appinfo.c:388,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/dbus-appinfo.c:389,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/dbus-appinfo.c:392,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/dbus-appinfo.c:398,1
    - Dst: g_fake_document_portal_thread_stop
      Src: /src/glib/gio/tests/dbus-appinfo.c:405,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/dbus-appinfo.c:404,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/dbus-appinfo.c:401,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/dbus-appinfo.c:398,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/dbus-appinfo.c:396,1
    - Dst: g_test_build_filename
      Src: /src/glib/gio/tests/dbus-appinfo.c:385,1
    - Dst: session_bus_get_address
      Src: /src/glib/gio/tests/dbus-appinfo.c:382,1
    - Dst: g_free
      Src: /src/glib/gio/tests/dbus-appinfo.c:390,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 407
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 407
    functionName: test_flatpak_doc_export
    functionSourceFile: /src/glib/gio/tests/dbus-appinfo.c
    functionUses: []
    functionsReached:
    - g_test_build_filename
    - g_test_summary
    - g_object_new
    - g_object_unref
    - test_flatpak_application_get_type
    - g_assert_nonnull
    - session_bus_get_address
    - g_desktop_app_info_new_from_filename
    - g_fake_document_portal_thread_run
    - G_CALLBACK
    - g_clear_object
    - g_application_run
    - g_fake_document_portal_thread_stop
    - g_fake_document_portal_thread_new
    - g_free
    - g_signal_connect
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_flatpak_doc_export (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_application_hold
      Src: /src/glib/gio/tests/dbus-appinfo.c:434,1
    - Dst: g_app_info_launch_uris_async
      Src: /src/glib/gio/tests/dbus-appinfo.c:440,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/tests/dbus-appinfo.c:436,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/dbus-appinfo.c:437,1
    - Dst: test_app_launch_context_get_type
      Src: /src/glib/gio/tests/dbus-appinfo.c:437,1
    - Dst: G_APP_INFO
      Src: /src/glib/gio/tests/dbus-appinfo.c:440,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/dbus-appinfo.c:442,1
    - Dst: g_list_free
      Src: /src/glib/gio/tests/dbus-appinfo.c:443,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - app
    - user_data
    argTypes:
    - GApplication*
    - gpointer
    constantsTouched: []
    func_position:
      end: 444
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 444
    functionName: on_flatpak_activate_invalid_uri
    functionSourceFile: /src/glib/gio/tests/dbus-appinfo.c
    functionUses: []
    functionsReached:
    - test_app_launch_context_get_type
    - g_app_info_launch_uris_async
    - g_object_unref
    - g_object_new
    - g_application_hold
    - g_list_free
    - g_list_prepend
    - G_APP_INFO
    linkageType: ''
    returnType: void
    signature: 'static void on_flatpak_activate_invalid_uri (GApplication *app, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/dbus-appinfo.c:473,1
    - Dst: g_fake_document_portal_thread_new
      Src: /src/glib/gio/tests/dbus-appinfo.c:476,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/dbus-appinfo.c:485,1
    - Dst: test_flatpak_application_get_type
      Src: /src/glib/gio/tests/dbus-appinfo.c:485,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/dbus-appinfo.c:489,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/dbus-appinfo.c:491,1
    - Dst: g_fake_document_portal_thread_stop
      Src: /src/glib/gio/tests/dbus-appinfo.c:499,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/dbus-appinfo.c:491,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/dbus-appinfo.c:497,1
    - Dst: g_fake_document_portal_thread_run
      Src: /src/glib/gio/tests/dbus-appinfo.c:477,1
    - Dst: g_desktop_app_info_new_from_filename
      Src: /src/glib/gio/tests/dbus-appinfo.c:482,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/dbus-appinfo.c:483,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/dbus-appinfo.c:494,1
    - Dst: g_free
      Src: /src/glib/gio/tests/dbus-appinfo.c:498,1
    - Dst: g_application_run
      Src: /src/glib/gio/tests/dbus-appinfo.c:493,1
    - Dst: G_CALLBACK
      Src: /src/glib/gio/tests/dbus-appinfo.c:489,1
    - Dst: session_bus_get_address
      Src: /src/glib/gio/tests/dbus-appinfo.c:476,1
    - Dst: g_test_build_filename
      Src: /src/glib/gio/tests/dbus-appinfo.c:479,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/dbus-appinfo.c:496,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/dbus-appinfo.c:500,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 501
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 501
    functionName: test_flatpak_missing_doc_export
    functionSourceFile: /src/glib/gio/tests/dbus-appinfo.c
    functionUses: []
    functionsReached:
    - g_test_build_filename
    - g_test_summary
    - g_object_new
    - g_object_unref
    - test_flatpak_application_get_type
    - g_assert_nonnull
    - session_bus_get_address
    - g_desktop_app_info_new_from_filename
    - g_fake_document_portal_thread_run
    - G_CALLBACK
    - g_clear_object
    - g_application_run
    - g_fake_document_portal_thread_stop
    - g_fake_document_portal_thread_new
    - g_free
    - g_signal_connect
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_flatpak_missing_doc_export (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_app_info_launch_default_for_uri_finish
      Src: /src/glib/gio/tests/dbus-appinfo.c:609,1
    - Dst: g_main_context_wakeup
      Src: /src/glib/gio/tests/dbus-appinfo.c:614,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/dbus-appinfo.c:610,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 615
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 615
    functionName: on_launch_default_for_uri_finished
    functionSourceFile: /src/glib/gio/tests/dbus-appinfo.c
    functionUses: []
    functionsReached:
    - g_assert_no_error
    - g_app_info_launch_default_for_uri_finish
    - g_main_context_wakeup
    linkageType: ''
    returnType: void
    signature: 'static void on_launch_default_for_uri_finished (GObject *object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/dbus-appinfo.c:149,1
    - Dst: saw_action
      Src: /src/glib/gio/tests/dbus-appinfo.c:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - action
    - parameter
    - user_data
    argTypes:
    - GSimpleAction*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 151
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 151
    functionName: test_application_frob
    functionSourceFile: /src/glib/gio/tests/dbus-appinfo.c
    functionUses: []
    functionsReached:
    - g_assert
    - saw_action
    linkageType: ''
    returnType: void
    signature: 'static void test_application_frob (GSimpleAction *action, GVariant
      *parameter, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - class
    argTypes:
    - GApplicationClass*
    constantsTouched: []
    func_position:
      end: 265
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 265
    functionName: test_application_class_init
    functionSourceFile: /src/glib/gio/tests/dbus-appinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_application_class_init (GApplicationClass *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_fake_desktop_portal_thread_get_last_request_activation_token
      Src: /src/glib/gio/tests/dbus-appinfo.c:512,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/dbus-appinfo.c:515,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/dbus-appinfo.c:516,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/tests/dbus-appinfo.c:518,1
    - Dst: g_fake_desktop_portal_thread_get_last_request_uri
      Src: /src/glib/gio/tests/dbus-appinfo.c:513,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/tests/dbus-appinfo.c:519,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/dbus-appinfo.c:520,1
    - Dst: g_file_equal
      Src: /src/glib/gio/tests/dbus-appinfo.c:520,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/dbus-appinfo.c:522,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/dbus-appinfo.c:523,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - expected_uri
    - thread
    argTypes:
    - char*
    - GFakeDesktopPortalThread*
    constantsTouched: []
    func_position:
      end: 524
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 524
    functionName: check_portal_openuri_call
    functionSourceFile: /src/glib/gio/tests/dbus-appinfo.c
    functionUses: []
    functionsReached:
    - g_fake_desktop_portal_thread_get_last_request_uri
    - g_assert_true
    - g_object_unref
    - g_file_new_for_uri
    - g_file_equal
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_fake_desktop_portal_thread_get_last_request_activation_token
    linkageType: ''
    returnType: void
    signature: 'static void check_portal_openuri_call (const char *expected_uri, GFakeDesktopPortalThread
      *thread) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_fake_desktop_portal_is_supported
      Src: /src/glib/gio/tests/dbus-appinfo.c:625,1
    - Dst: g_fake_desktop_portal_thread_run
      Src: /src/glib/gio/tests/dbus-appinfo.c:633,1
    - Dst: session_bus_get_address
      Src: /src/glib/gio/tests/dbus-appinfo.c:632,1
    - Dst: g_fake_desktop_portal_thread_new
      Src: /src/glib/gio/tests/dbus-appinfo.c:632,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/dbus-appinfo.c:627,1
    - Dst: g_filename_to_uri
      Src: /src/glib/gio/tests/dbus-appinfo.c:635,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/dbus-appinfo.c:635,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/dbus-appinfo.c:641,1
    - Dst: test_app_launch_context_get_type
      Src: /src/glib/gio/tests/dbus-appinfo.c:641,1
    - Dst: g_app_info_launch_default_for_uri_async
      Src: /src/glib/gio/tests/dbus-appinfo.c:645,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/dbus-appinfo.c:649,1
    - Dst: g_fake_desktop_portal_thread_stop
      Src: /src/glib/gio/tests/dbus-appinfo.c:653,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/dbus-appinfo.c:658,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/dbus-appinfo.c:657,1
    - Dst: check_portal_openuri_call
      Src: /src/glib/gio/tests/dbus-appinfo.c:654,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/dbus-appinfo.c:651,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/dbus-appinfo.c:656,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 659
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 659
    functionName: test_portal_open_file_async
    functionSourceFile: /src/glib/gio/tests/dbus-appinfo.c
    functionUses: []
    functionsReached:
    - test_app_launch_context_get_type
    - g_fake_desktop_portal_is_supported
    - g_fake_desktop_portal_thread_run
    - g_assert_true
    - g_object_new
    - g_filename_to_uri
    - g_app_info_launch_default_for_uri_async
    - g_test_get_filename
    - session_bus_get_address
    - g_fake_desktop_portal_thread_new
    - g_clear_pointer
    - g_clear_object
    - g_main_context_iteration
    - g_test_skip
    - check_portal_openuri_call
    - g_fake_desktop_portal_thread_stop
    linkageType: ''
    returnType: void
    signature: 'static void test_portal_open_file_async (void) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/dbus-appinfo.c:86,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/tests/dbus-appinfo.c:94,1
    - Dst: test_app_launch_context_get_type
      Src: /src/glib/gio/tests/dbus-appinfo.c:115,1
    - Dst: G_APP_INFO
      Src: /src/glib/gio/tests/dbus-appinfo.c:116,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/dbus-appinfo.c:119,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/dbus-appinfo.c:128,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/dbus-appinfo.c:129,1
    - Dst: test_app_launch_context_get_type
      Src: /src/glib/gio/tests/dbus-appinfo.c:129,1
    - Dst: g_desktop_app_info_launch_action
      Src: /src/glib/gio/tests/dbus-appinfo.c:130,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/dbus-appinfo.c:135,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/tests/dbus-appinfo.c:93,1
    - Dst: G_APP_INFO
      Src: /src/glib/gio/tests/dbus-appinfo.c:95,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/dbus-appinfo.c:98,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/dbus-appinfo.c:114,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/dbus-appinfo.c:115,1
    - Dst: g_app_info_launch
      Src: /src/glib/gio/tests/dbus-appinfo.c:116,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/dbus-appinfo.c:117,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/dbus-appinfo.c:121,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/dbus-appinfo.c:135,1
    - Dst: G_APP_INFO
      Src: /src/glib/gio/tests/dbus-appinfo.c:85,1
    - Dst: g_list_append
      Src: /src/glib/gio/tests/dbus-appinfo.c:94,1
    - Dst: g_app_info_launch
      Src: /src/glib/gio/tests/dbus-appinfo.c:95,1
    - Dst: g_desktop_app_info_launch_action
      Src: /src/glib/gio/tests/dbus-appinfo.c:104,1
    - Dst: g_desktop_app_info_launch_action
      Src: /src/glib/gio/tests/dbus-appinfo.c:107,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/dbus-appinfo.c:102,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/dbus-appinfo.c:105,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/dbus-appinfo.c:131,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/dbus-appinfo.c:133,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/dbus-appinfo.c:82,1
    - Dst: g_app_info_launch
      Src: /src/glib/gio/tests/dbus-appinfo.c:85,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/tests/dbus-appinfo.c:93,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/dbus-appinfo.c:108,1
    - Dst: g_list_free_full
      Src: /src/glib/gio/tests/dbus-appinfo.c:96,1
    - Dst: g_desktop_app_info_launch_action
      Src: /src/glib/gio/tests/dbus-appinfo.c:101,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/dbus-appinfo.c:121,1
    - Dst: g_desktop_app_info_launch_action
      Src: /src/glib/gio/tests/dbus-appinfo.c:139,1
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/dbus-appinfo.c:140,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 60
    argCount: 1
    argNames:
    - action
    argTypes:
    - gchar*
    constantsTouched: []
    func_position:
      end: 142
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 142
    functionName: saw_action
    functionSourceFile: /src/glib/gio/tests/dbus-appinfo.c
    functionUses: []
    functionsReached:
    - g_list_append
    - test_app_launch_context_get_type
    - g_object_unref
    - g_object_new
    - g_list_free_full
    - g_file_new_for_uri
    - g_assert
    - g_app_info_launch
    - g_assert_not_reached
    - g_assert_cmpstr
    - g_list_prepend
    - G_APP_INFO
    - g_desktop_app_info_launch_action
    linkageType: ''
    returnType: void
    signature: 'static void saw_action (const gchar *action) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/dbus-appinfo.c:158,1
    - Dst: saw_action
      Src: /src/glib/gio/tests/dbus-appinfo.c:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - action
    - parameter
    - user_data
    argTypes:
    - GSimpleAction*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 160
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 160
    functionName: test_application_tweak
    functionSourceFile: /src/glib/gio/tests/dbus-appinfo.c
    functionUses: []
    functionsReached:
    - g_assert
    - saw_action
    linkageType: ''
    returnType: void
    signature: 'static void test_application_tweak (GSimpleAction *action, GVariant
      *parameter, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_build_filename
      Src: /src/glib/gio/tests/dbus-appinfo.c:275,1
    - Dst: g_desktop_app_info_new_from_filename
      Src: /src/glib/gio/tests/dbus-appinfo.c:278,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/dbus-appinfo.c:279,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/dbus-appinfo.c:282,1
    - Dst: g_free
      Src: /src/glib/gio/tests/dbus-appinfo.c:280,1
    - Dst: test_application_get_type
      Src: /src/glib/gio/tests/dbus-appinfo.c:282,1
    - Dst: g_application_run
      Src: /src/glib/gio/tests/dbus-appinfo.c:286,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/dbus-appinfo.c:288,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/dbus-appinfo.c:289,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/dbus-appinfo.c:291,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/dbus-appinfo.c:292,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 293
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 293
    functionName: test_dbus_appinfo
    functionSourceFile: /src/glib/gio/tests/dbus-appinfo.c
    functionUses: []
    functionsReached:
    - g_test_build_filename
    - g_object_unref
    - g_object_new
    - g_assert
    - test_application_get_type
    - g_desktop_app_info_new_from_filename
    - g_application_run
    - g_free
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_dbus_appinfo (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_fake_desktop_portal_is_supported
      Src: /src/glib/gio/tests/dbus-appinfo.c:534,1
    - Dst: g_fake_desktop_portal_thread_run
      Src: /src/glib/gio/tests/dbus-appinfo.c:542,1
    - Dst: session_bus_get_address
      Src: /src/glib/gio/tests/dbus-appinfo.c:541,1
    - Dst: g_fake_desktop_portal_thread_new
      Src: /src/glib/gio/tests/dbus-appinfo.c:541,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/dbus-appinfo.c:536,1
    - Dst: g_filename_to_uri
      Src: /src/glib/gio/tests/dbus-appinfo.c:544,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/dbus-appinfo.c:544,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/dbus-appinfo.c:550,1
    - Dst: test_app_launch_context_get_type
      Src: /src/glib/gio/tests/dbus-appinfo.c:550,1
    - Dst: g_app_info_launch_default_for_uri
      Src: /src/glib/gio/tests/dbus-appinfo.c:554,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/dbus-appinfo.c:557,1
    - Dst: g_fake_desktop_portal_thread_stop
      Src: /src/glib/gio/tests/dbus-appinfo.c:559,1
    - Dst: check_portal_openuri_call
      Src: /src/glib/gio/tests/dbus-appinfo.c:560,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/dbus-appinfo.c:556,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/dbus-appinfo.c:563,1
    - Dst: g_clear_pointer
      Src: /src/glib/gio/tests/dbus-appinfo.c:564,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/dbus-appinfo.c:562,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 565
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 565
    functionName: test_portal_open_file
    functionSourceFile: /src/glib/gio/tests/dbus-appinfo.c
    functionUses: []
    functionsReached:
    - test_app_launch_context_get_type
    - g_fake_desktop_portal_is_supported
    - g_fake_desktop_portal_thread_run
    - g_assert_true
    - g_object_new
    - g_filename_to_uri
    - g_test_get_filename
    - session_bus_get_address
    - g_app_info_launch_default_for_uri
    - g_fake_desktop_portal_thread_new
    - g_assert_no_error
    - g_clear_object
    - g_clear_pointer
    - g_test_skip
    - check_portal_openuri_call
    - g_fake_desktop_portal_thread_stop
    linkageType: ''
    returnType: void
    signature: 'static void test_portal_open_file (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_fake_desktop_portal_is_supported
      Src: /src/glib/gio/tests/dbus-appinfo.c:669,1
    - Dst: g_fake_desktop_portal_thread_new
      Src: /src/glib/gio/tests/dbus-appinfo.c:676,1
    - Dst: g_fake_desktop_portal_thread_run
      Src: /src/glib/gio/tests/dbus-appinfo.c:677,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/dbus-appinfo.c:671,1
    - Dst: session_bus_get_address
      Src: /src/glib/gio/tests/dbus-appinfo.c:676,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/dbus-appinfo.c:679,1
    - Dst: test_app_launch_context_get_type
      Src: /src/glib/gio/tests/dbus-appinfo.c:679,1
    - Dst: g_app_info_launch_default_for_uri_async
      Src: /src/glib/gio/tests/dbus-appinfo.c:683,1
    - Dst: g_main_context_iteration
      Src: /src/glib/gio/tests/dbus-appinfo.c:687,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/dbus-appinfo.c:689,1
    - Dst: g_fake_desktop_portal_thread_stop
      Src: /src/glib/gio/tests/dbus-appinfo.c:691,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/dbus-appinfo.c:695,1
    - Dst: g_clear_object
      Src: /src/glib/gio/tests/dbus-appinfo.c:694,1
    - Dst: check_portal_openuri_call
      Src: /src/glib/gio/tests/dbus-appinfo.c:692,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 696
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 696
    functionName: test_portal_open_uri_async
    functionSourceFile: /src/glib/gio/tests/dbus-appinfo.c
    functionUses: []
    functionsReached:
    - test_app_launch_context_get_type
    - g_fake_desktop_portal_is_supported
    - g_fake_desktop_portal_thread_run
    - g_assert_true
    - g_object_new
    - g_app_info_launch_default_for_uri_async
    - session_bus_get_address
    - g_fake_desktop_portal_thread_new
    - g_clear_object
    - g_main_context_iteration
    - g_test_skip
    - check_portal_openuri_call
    - g_fake_desktop_portal_thread_stop
    linkageType: ''
    returnType: void
    signature: 'static void test_portal_open_uri_async (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/dbus-appinfo.c:167,1
    - Dst: saw_action
      Src: /src/glib/gio/tests/dbus-appinfo.c:168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - action
    - parameter
    - user_data
    argTypes:
    - GSimpleAction*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 169
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 169
    functionName: test_application_twiddle
    functionSourceFile: /src/glib/gio/tests/dbus-appinfo.c
    functionUses: []
    functionsReached:
    - g_assert
    - saw_action
    linkageType: ''
    returnType: void
    signature: 'static void test_application_twiddle (GSimpleAction *action, GVariant
      *parameter, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/dbus-appinfo.c:349,1
    - Dst: g_test_message
      Src: /src/glib/gio/tests/dbus-appinfo.c:350,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/dbus-appinfo.c:354,1
    - Dst: g_file_peek_path
      Src: /src/glib/gio/tests/dbus-appinfo.c:350,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/tests/dbus-appinfo.c:353,1
    - Dst: g_file_equal
      Src: /src/glib/gio/tests/dbus-appinfo.c:354,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/dbus-appinfo.c:355,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - app
    - files
    - n_files
    - hint
    argTypes:
    - GApplication*
    - GFile**
    - gint
    - char*
    constantsTouched: []
    func_position:
      end: 356
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 356
    functionName: on_flatpak_open
    functionSourceFile: /src/glib/gio/tests/dbus-appinfo.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_object_unref
    - g_test_message
    - g_file_new_for_uri
    - g_file_equal
    - g_file_peek_path
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void on_flatpak_open (GApplication *app, GFile **files, gint
      n_files, const char *hint) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_application_quit
      Src: /src/glib/gio/tests/dbus-appinfo.c:178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - action
    - parameter
    - user_data
    argTypes:
    - GSimpleAction*
    - GVariant*
    - gpointer
    constantsTouched: []
    func_position:
      end: 179
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 179
    functionName: test_application_quit
    functionSourceFile: /src/glib/gio/tests/dbus-appinfo.c
    functionUses: []
    functionsReached:
    - g_application_quit
    linkageType: ''
    returnType: void
    signature: 'static void test_application_quit (GSimpleAction *action, GVariant
      *parameter, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - app
    argTypes:
    - TestApplication*
    constantsTouched: []
    func_position:
      end: 361
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 361
    functionName: test_flatpak_application_init
    functionSourceFile: /src/glib/gio/tests/dbus-appinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_flatpak_application_init (TestApplication *app) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gio/tests/dbus-appinfo.c:47,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: test_app_launch_context_get_startup_notify_id
    functionSourceFile: /src/glib/gio/tests/dbus-appinfo.c
    functionUses: []
    functionsReached:
    - g_strdup
    linkageType: ''
    returnType: gchar*
    signature: 'static gchar *test_app_launch_context_get_startup_notify_id (GAppLaunchContext
      *context, GAppInfo *info, GList *uris) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - class
    argTypes:
    - GAppLaunchContextClass*
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: test_app_launch_context_class_init
    functionSourceFile: /src/glib/gio/tests/dbus-appinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_app_launch_context_class_init (GAppLaunchContextClass
      *class) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/dbus-appinfo.c:205,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/tests/dbus-appinfo.c:208,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/dbus-appinfo.c:207,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/dbus-appinfo.c:209,1
    - Dst: g_file_equal
      Src: /src/glib/gio/tests/dbus-appinfo.c:209,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/dbus-appinfo.c:210,1
    - Dst: g_file_new_for_uri
      Src: /src/glib/gio/tests/dbus-appinfo.c:211,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/dbus-appinfo.c:212,1
    - Dst: g_file_equal
      Src: /src/glib/gio/tests/dbus-appinfo.c:212,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/dbus-appinfo.c:213,1
    - Dst: saw_action
      Src: /src/glib/gio/tests/dbus-appinfo.c:215,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - application
    - files
    - n_files
    - hint
    argTypes:
    - GApplication*
    - GFile**
    - gint
    - gchar*
    constantsTouched: []
    func_position:
      end: 216
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 216
    functionName: test_application_open
    functionSourceFile: /src/glib/gio/tests/dbus-appinfo.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_file_new_for_uri
    - g_assert
    - g_file_equal
    - g_assert_cmpstr
    - saw_action
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_application_open (GApplication *application, GFile
      **files, gint n_files, const gchar *hint) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/dbus-appinfo.c:234,1
    - Dst: g_variant_lookup
      Src: /src/glib/gio/tests/dbus-appinfo.c:244,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/dbus-appinfo.c:247,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - application
    - platform_data
    argTypes:
    - GApplication*
    - GVariant*
    constantsTouched: []
    func_position:
      end: 251
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 251
    functionName: test_application_before_emit
    functionSourceFile: /src/glib/gio/tests/dbus-appinfo.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_assert_cmpstr
    - g_variant_lookup
    linkageType: ''
    returnType: void
    signature: 'static void test_application_before_emit (GApplication *application,
      GVariant *platform_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_app_info_launch_uris_finish
      Src: /src/glib/gio/tests/dbus-appinfo.c:308,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/dbus-appinfo.c:310,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/dbus-appinfo.c:311,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/dbus-appinfo.c:309,1
    - Dst: G_APP_INFO
      Src: /src/glib/gio/tests/dbus-appinfo.c:308,1
    - Dst: g_application_release
      Src: /src/glib/gio/tests/dbus-appinfo.c:313,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 314
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 314
    functionName: on_flatpak_launch_uris_finish
    functionSourceFile: /src/glib/gio/tests/dbus-appinfo.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_app_info_launch_uris_finish
    - g_assert_no_error
    - G_APP_INFO
    - g_application_release
    linkageType: ''
    returnType: void
    signature: 'static void on_flatpak_launch_uris_finish (GObject *object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - TestAppLaunchContext*
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: test_app_launch_context_init
    functionSourceFile: /src/glib/gio/tests/dbus-appinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_app_launch_context_init (TestAppLaunchContext *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_application_hold
      Src: /src/glib/gio/tests/dbus-appinfo.c:192,1
    - Dst: saw_action
      Src: /src/glib/gio/tests/dbus-appinfo.c:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - application
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 195
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 195
    functionName: test_application_activate
    functionSourceFile: /src/glib/gio/tests/dbus-appinfo.c
    functionUses: []
    functionsReached:
    - g_application_hold
    - saw_action
    linkageType: ''
    returnType: void
    signature: 'static void test_application_activate (GApplication *application) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/glib/gio/tests/dbus-appinfo.c:224,1
    - Dst: g_action_map_add_action_entries
      Src: /src/glib/gio/tests/dbus-appinfo.c:224,1
    - Dst: G_ACTION_MAP
      Src: /src/glib/gio/tests/dbus-appinfo.c:224,1
    - Dst: G_APPLICATION_CLASS
      Src: /src/glib/gio/tests/dbus-appinfo.c:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - application
    argTypes:
    - GApplication*
    constantsTouched: []
    func_position:
      end: 225
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 225
    functionName: test_application_startup
    functionSourceFile: /src/glib/gio/tests/dbus-appinfo.c
    functionUses: []
    functionsReached:
    - G_N_ELEMENTS
    - G_ACTION_MAP
    - g_action_map_add_action_entries
    - G_APPLICATION_CLASS
    linkageType: ''
    returnType: void
    signature: 'static void test_application_startup (GApplication *application) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - app
    argTypes:
    - TestApplication*
    constantsTouched: []
    func_position:
      end: 256
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 256
    functionName: test_application_init
    functionSourceFile: /src/glib/gio/tests/dbus-appinfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void test_application_init (TestApplication *app) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_application_hold
      Src: /src/glib/gio/tests/dbus-appinfo.c:326,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/dbus-appinfo.c:329,1
    - Dst: g_list_prepend
      Src: /src/glib/gio/tests/dbus-appinfo.c:330,1
    - Dst: g_desktop_app_info_get_filename
      Src: /src/glib/gio/tests/dbus-appinfo.c:328,1
    - Dst: g_filename_to_uri
      Src: /src/glib/gio/tests/dbus-appinfo.c:328,1
    - Dst: g_object_new
      Src: /src/glib/gio/tests/dbus-appinfo.c:331,1
    - Dst: test_app_launch_context_get_type
      Src: /src/glib/gio/tests/dbus-appinfo.c:331,1
    - Dst: g_app_info_launch_uris_async
      Src: /src/glib/gio/tests/dbus-appinfo.c:334,1
    - Dst: G_APP_INFO
      Src: /src/glib/gio/tests/dbus-appinfo.c:334,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/dbus-appinfo.c:336,1
    - Dst: g_free
      Src: /src/glib/gio/tests/dbus-appinfo.c:338,1
    - Dst: g_list_free
      Src: /src/glib/gio/tests/dbus-appinfo.c:337,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - app
    - user_data
    argTypes:
    - GApplication*
    - gpointer
    constantsTouched: []
    func_position:
      end: 339
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 339
    functionName: on_flatpak_activate
    functionSourceFile: /src/glib/gio/tests/dbus-appinfo.c
    functionUses: []
    functionsReached:
    - test_app_launch_context_get_type
    - g_app_info_launch_uris_async
    - g_object_unref
    - g_desktop_app_info_get_filename
    - g_object_new
    - g_filename_to_uri
    - g_application_hold
    - g_assert_nonnull
    - g_list_free
    - g_list_prepend
    - G_APP_INFO
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void on_flatpak_activate (GApplication *app, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/dbus-appinfo.c:701,1
    - Dst: g_setenv
      Src: /src/glib/gio/tests/dbus-appinfo.c:703,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/dbus-appinfo.c:706,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/dbus-appinfo.c:705,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/dbus-appinfo.c:707,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/dbus-appinfo.c:708,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/dbus-appinfo.c:709,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/dbus-appinfo.c:710,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/dbus-appinfo.c:711,1
    - Dst: session_bus_run
      Src: /src/glib/gio/tests/dbus-appinfo.c:713,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 714
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 714
    functionName: main
    functionSourceFile: /src/glib/gio/tests/dbus-appinfo.c
    functionUses: []
    functionsReached:
    - g_setenv
    - g_test_add_func
    - g_test_init
    - session_bus_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dbus_proxy_new_finish
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:42,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:43,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:46,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:44,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - source_object
    - res
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 47
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 47
    functionName: proxy_new_cb
    functionSourceFile: /src/glib/gio/tests/gdbus-proxy-well-known-name.c
    functionUses: []
    functionsReached:
    - g_dbus_proxy_new_finish
    - g_main_loop_quit
    - g_assert
    - g_assert_no_error
    linkageType: ''
    returnType: void
    signature: 'static void proxy_new_cb (GObject *source_object, GAsyncResult *res,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_init
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:262,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:265,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:271,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:269,1
    - Dst: g_test_dbus_unset
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 273
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 273
    functionName: main
    functionSourceFile: /src/glib/gio/tests/gdbus-proxy-well-known-name.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_run
    - g_main_loop_new
    - g_test_init
    - g_test_dbus_unset
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:167,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:147,1
    - Dst: g_dbus_proxy_new
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:134,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:197,1
    - Dst: g_dbus_proxy_get_name_owner
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:218,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:245,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:129,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:161,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:192,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:198,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:199,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:235,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:248,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:83,1
    - Dst: g_spawn_command_line_async
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:100,1
    - Dst: g_dbus_proxy_get_cached_property_names
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:127,1
    - Dst: g_dbus_proxy_get_cached_property_names
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:145,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:160,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:187,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:212,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:218,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:220,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:226,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:244,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:165,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:67,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:100,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:146,1
    - Dst: g_variant_get_byte
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:154,1
    - Dst: g_variant_get_byte
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:166,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:185,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:190,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:195,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:219,1
    - Dst: g_bus_get_sync
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:66,1
    - Dst: g_dbus_proxy_get_name_owner
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:96,1
    - Dst: g_dbus_is_unique_name
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:108,1
    - Dst: g_dbus_proxy_new_sync
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:117,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:166,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:153,1
    - Dst: _g_assert_signal_received
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:183,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:184,1
    - Dst: _g_assert_property_notify
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:229,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:236,1
    - Dst: g_variant_new_byte
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:174,1
    - Dst: session_bus_up
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:63,1
    - Dst: g_variant_get_byte
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:162,1
    - Dst: g_variant_get_byte
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:186,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:147,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:131,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:97,1
    - Dst: g_dbus_proxy_get_name_owner
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:144,1
    - Dst: g_variant_get_byte
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:194,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:213,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:241,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:243,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:179,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:68,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:130,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:143,1
    - Dst: g_dbus_proxy_get_cached_property_names
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:232,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:238,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:79,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:82,1
    - Dst: g_dbus_proxy_get_name_owner
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:106,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:129,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:155,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:213,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:95,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:96,1
    - Dst: g_dbus_proxy_get_cached_property_names
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:97,1
    - Dst: g_dbus_proxy_new
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:86,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:110,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:152,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:180,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:189,1
    - Dst: g_dbus_proxy_call_sync
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:204,1
    - Dst: session_bus_down
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:251,1
    - Dst: g_dbus_proxy_call_sync
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:170,1
    - Dst: g_free
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:148,1
    - Dst: g_variant_get_type_string
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:181,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:100,1
    - Dst: _g_assert_property_notify
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:103,1
    - Dst: g_dbus_is_unique_name
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:128,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:196,1
    - Dst: g_dbus_proxy_get_cached_property_names
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:219,1
    - Dst: g_dbus_is_unique_name
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:233,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:234,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:182,1
    - Dst: g_variant_new
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:172,1
    - Dst: g_dbus_proxy_get_cached_property_names
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:107,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:211,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:246,1
    - Dst: g_dbus_proxy_new_sync
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:71,1
    - Dst: g_dbus_proxy_get_name_owner
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:82,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:128,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:154,1
    - Dst: g_variant_get_byte
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:158,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:186,1
    - Dst: _g_assert_property_notify
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:216,1
    - Dst: g_spawn_command_line_async
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:226,1
    - Dst: g_dbus_proxy_get_name_owner
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:231,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:240,1
    - Dst: g_variant_get_byte
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:240,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:108,1
    - Dst: g_strv_length
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:109,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:125,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:157,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:159,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:149,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:214,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:220,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:233,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:239,1
    - Dst: g_dbus_is_unique_name
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:146,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:158,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:163,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:109,1
    - Dst: g_strfreev
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:111,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:181,1
    - Dst: g_variant_unref
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:191,1
    - Dst: g_test_get_filename
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:226,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:234,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:164,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:156,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:162,1
    - Dst: g_dbus_proxy_get_cached_property_names
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:83,1
    - Dst: g_dbus_proxy_get_name_owner
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:126,1
    - Dst: g_dbus_proxy_get_cached_property
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:188,1
    - Dst: g_variant_get_byte
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:190,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:193,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:194,1
    - Dst: g_variant_get_byte
      Src: /src/glib/gio/tests/gdbus-proxy-well-known-name.c:198,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 187
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 252
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 252
    functionName: test_proxy_well_known_name
    functionSourceFile: /src/glib/gio/tests/gdbus-proxy-well-known-name.c
    functionUses: []
    functionsReached:
    - g_dbus_is_unique_name
    - g_dbus_proxy_new
    - session_bus_up
    - g_dbus_proxy_get_name_owner
    - session_bus_down
    - g_variant_new_byte
    - g_object_unref
    - g_strfreev
    - g_variant_unref
    - g_variant_get_type_string
    - g_dbus_proxy_get_cached_property
    - g_assert_cmpint
    - _g_assert_property_notify
    - _g_assert_signal_received
    - g_main_loop_run
    - g_strv_length
    - g_test_get_filename
    - g_assert_no_error
    - g_bus_get_sync
    - g_dbus_proxy_call_sync
    - g_variant_get_byte
    - g_dbus_proxy_get_cached_property_names
    - g_dbus_proxy_new_sync
    - g_assert
    - g_assert_cmpstr
    - g_variant_new
    - g_spawn_command_line_async
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_proxy_well_known_name (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:78,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:83,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:88,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:138,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:188,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:238,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:288,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:338,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:388,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:438,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:338,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:388,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:438,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:488,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:538,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:588,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:638,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:688,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:453,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:503,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:553,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:603,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:653,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:703,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:43,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:58,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:68,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:628,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:643,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:693,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:88,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:108,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:158,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:208,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:258,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:308,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:358,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:408,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:458,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:508,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:133,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:183,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:178,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:228,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:198,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:73,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:83,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:98,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:128,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:148,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:343,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:393,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:443,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:493,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:543,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:593,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:48,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:68,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:118,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:168,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:218,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:268,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:318,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:368,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:418,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:468,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:608,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:658,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:698,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:278,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:328,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:378,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:428,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:478,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:528,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:578,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:628,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:678,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:48,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:93,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:108,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:143,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:158,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:193,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:208,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:243,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:258,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:293,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:328,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:63,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:378,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:428,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:478,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:528,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:518,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:568,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:578,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:618,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:668,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:183,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:213,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:113,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:133,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:163,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:233,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:263,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:283,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:313,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:333,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:363,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:413,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:463,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:513,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:563,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:613,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:663,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:58,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:63,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:103,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:153,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:203,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:253,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:303,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:353,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:383,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:403,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:433,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:483,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:533,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:583,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:633,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:673,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:683,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:373,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:423,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:473,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:523,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:293,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:138,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:188,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:73,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:123,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:173,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:223,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:238,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:273,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:288,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:323,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:343,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:173,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:223,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:98,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:123,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:148,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:198,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:248,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:273,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:298,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:323,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:448,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:348,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:398,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:448,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:498,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:548,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:598,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:648,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:698,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:498,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:393,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:163,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:213,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:113,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:263,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:313,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:363,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:413,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:463,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:513,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:548,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:443,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:493,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:40,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:233,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:283,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:333,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:383,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:433,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:483,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:533,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:558,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:583,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:598,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:543,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:488,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:538,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:588,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:638,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:558,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:608,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:648,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:688,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:573,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:153,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:43,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:103,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:203,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:253,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:303,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:353,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:403,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:453,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:503,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:373,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:423,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:473,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:523,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:553,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:573,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:593,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:623,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:623,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:673,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:658,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:603,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:643,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:193,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:178,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:53,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:78,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:93,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:128,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:143,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:228,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:243,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:278,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:633,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:653,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:693,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:683,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:563,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:613,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:663,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:703,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:40,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:53,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:118,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:168,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:218,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:248,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:268,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:298,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:308,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:318,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:348,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:358,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:398,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:408,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:458,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:508,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:368,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:418,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:468,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:518,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:568,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:618,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:668,1
    - Dst: g_io_error_from_errno
      Src: /src/glib/gio/tests/error.c:678,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 269
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 706
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 706
    functionName: test_error_from_errno
    functionSourceFile: /src/glib/gio/tests/error.c
    functionUses: []
    functionsReached:
    - g_assert_cmpuint
    - g_io_error_from_errno
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_error_from_errno (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:729,1
    - Dst: g_io_error_from_file_error
      Src: /src/glib/gio/tests/error.c:729,1
    - Dst: g_io_error_from_file_error
      Src: /src/glib/gio/tests/error.c:725,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:735,1
    - Dst: g_io_error_from_file_error
      Src: /src/glib/gio/tests/error.c:737,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:739,1
    - Dst: g_io_error_from_file_error
      Src: /src/glib/gio/tests/error.c:745,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:749,1
    - Dst: g_io_error_from_file_error
      Src: /src/glib/gio/tests/error.c:749,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:755,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:758,1
    - Dst: g_io_error_from_file_error
      Src: /src/glib/gio/tests/error.c:760,1
    - Dst: g_io_error_from_file_error
      Src: /src/glib/gio/tests/error.c:762,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/error.c:711,1
    - Dst: g_io_error_from_file_error
      Src: /src/glib/gio/tests/error.c:713,1
    - Dst: g_io_error_from_file_error
      Src: /src/glib/gio/tests/error.c:719,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:723,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:731,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:725,1
    - Dst: g_io_error_from_file_error
      Src: /src/glib/gio/tests/error.c:727,1
    - Dst: g_io_error_from_file_error
      Src: /src/glib/gio/tests/error.c:731,1
    - Dst: g_io_error_from_file_error
      Src: /src/glib/gio/tests/error.c:739,1
    - Dst: g_io_error_from_file_error
      Src: /src/glib/gio/tests/error.c:747,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:760,1
    - Dst: g_io_error_from_file_error
      Src: /src/glib/gio/tests/error.c:755,1
    - Dst: g_io_error_from_file_error
      Src: /src/glib/gio/tests/error.c:758,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:713,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:719,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:721,1
    - Dst: g_io_error_from_file_error
      Src: /src/glib/gio/tests/error.c:721,1
    - Dst: g_io_error_from_file_error
      Src: /src/glib/gio/tests/error.c:733,1
    - Dst: g_io_error_from_file_error
      Src: /src/glib/gio/tests/error.c:741,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:743,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:745,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:747,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:753,1
    - Dst: g_io_error_from_file_error
      Src: /src/glib/gio/tests/error.c:753,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:766,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:751,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:762,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:717,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/error.c:715,1
    - Dst: g_io_error_from_file_error
      Src: /src/glib/gio/tests/error.c:717,1
    - Dst: g_io_error_from_file_error
      Src: /src/glib/gio/tests/error.c:723,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:727,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:733,1
    - Dst: g_io_error_from_file_error
      Src: /src/glib/gio/tests/error.c:735,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:737,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:741,1
    - Dst: g_io_error_from_file_error
      Src: /src/glib/gio/tests/error.c:743,1
    - Dst: g_io_error_from_file_error
      Src: /src/glib/gio/tests/error.c:764,1
    - Dst: g_io_error_from_file_error
      Src: /src/glib/gio/tests/error.c:751,1
    - Dst: g_io_error_from_file_error
      Src: /src/glib/gio/tests/error.c:766,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/error.c:764,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 55
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 768
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 768
    functionName: test_error_from_file_error
    functionSourceFile: /src/glib/gio/tests/error.c
    functionUses: []
    functionsReached:
    - g_test_expect_message
    - g_test_assert_expected_messages
    - g_assert_cmpuint
    - g_io_error_from_file_error
    linkageType: ''
    returnType: void
    signature: 'static void test_error_from_file_error (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:779,1
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/tests/error.c:776,1
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/tests/error.c:785,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:791,1
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/tests/error.c:793,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:799,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:802,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:804,1
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/tests/error.c:808,1
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/tests/error.c:818,1
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/tests/error.c:813,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:808,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:835,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:827,1
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/tests/error.c:787,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:789,1
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/tests/error.c:796,1
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/tests/error.c:802,1
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/tests/error.c:811,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:813,1
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/tests/error.c:821,1
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/tests/error.c:827,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:830,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:815,1
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/tests/error.c:830,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:774,1
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/tests/error.c:774,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:776,1
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/tests/error.c:779,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:782,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:785,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:787,1
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/tests/error.c:789,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:793,1
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/tests/error.c:799,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:806,1
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/tests/error.c:824,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:832,1
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/tests/error.c:835,1
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/tests/error.c:782,1
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/tests/error.c:791,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:796,1
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/tests/error.c:806,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:811,1
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/tests/error.c:815,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:818,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:821,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/error.c:824,1
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/tests/error.c:832,1
    - Dst: g_test_skip
      Src: /src/glib/gio/tests/error.c:838,1
    - Dst: g_io_error_from_win32_error
      Src: /src/glib/gio/tests/error.c:804,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 52
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 840
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 840
    functionName: test_error_from_win32_error
    functionSourceFile: /src/glib/gio/tests/error.c
    functionUses: []
    functionsReached:
    - g_test_skip
    - g_io_error_from_win32_error
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_error_from_win32_error (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_setenv
      Src: /src/glib/gio/tests/error.c:847,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/error.c:852,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/error.c:851,1
    - Dst: g_test_init
      Src: /src/glib/gio/tests/error.c:848,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/error.c:850,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/error.c:854,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 855
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 855
    functionName: main
    functionSourceFile: /src/glib/gio/tests/error.c
    functionUses: []
    functionsReached:
    - g_setenv
    - g_test_add_func
    - g_test_init
    - g_test_run
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dlsym
      Src: /src/glib/gio/tests/slow-connect-preload.c:38,1
    - Dst: real_connect
      Src: /src/glib/gio/tests/slow-connect-preload.c:43,1
    - Dst: usleep
      Src: /src/glib/gio/tests/slow-connect-preload.c:42,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - sockfd
    - addr
    - addrlen
    argTypes:
    - int
    - struct sockaddr*
    - socklen_t
    constantsTouched: []
    func_position:
      end: 44
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 44
    functionName: connect
    functionSourceFile: /src/glib/gio/tests/slow-connect-preload.c
    functionUses: []
    functionsReached:
    - usleep
    - dlsym
    - real_connect
    linkageType: ''
    returnType: int
    signature: 'int connect (int sockfd, const struct sockaddr *addr, socklen_t addrlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:297,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/task.c:299,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/task.c:300,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/tests/task.c:303,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gio/tests/task.c:299,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:304,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:307,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:308,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/task.c:309,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 312
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 312
    functionName: same_start
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_task_new
    - g_object_unref
    - g_assert
    - g_object_add_weak_pointer
    - G_OBJECT
    - g_assert_false
    - g_signal_connect
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean same_start (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/task.c:579,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:579,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:586,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/task.c:593,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/task.c:584,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:573,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:575,1
    - Dst: g_async_result_get_user_data
      Src: /src/glib/gio/tests/task.c:575,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/tests/task.c:574,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/tests/task.c:576,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:577,1
    - Dst: g_task_get_source_tag
      Src: /src/glib/gio/tests/task.c:577,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:578,1
    - Dst: g_task_get_completed
      Src: /src/glib/gio/tests/task.c:579,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/tests/task.c:581,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:574,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:576,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:577,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:578,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:581,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/task.c:582,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gio/tests/task.c:589,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/task.c:590,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:578,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:583,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:586,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/task.c:589,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:586,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 594
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 594
    functionName: report_callback
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_task_had_error
    - g_assert
    - g_task_get_completed
    - g_object_add_weak_pointer
    - g_assert_error
    - G_OBJECT
    - g_main_loop_quit
    - g_error_free
    - g_task_is_valid
    - g_task_get_source_tag
    - g_task_propagate_int
    - g_assert_false
    - G_TASK
    - g_async_result_is_tagged
    - g_signal_connect
    - g_async_result_get_user_data
    linkageType: ''
    returnType: void
    signature: 'static void report_callback (GObject *object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gio/tests/task.c:682,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:685,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/tests/task.c:687,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:688,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:690,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/task.c:692,1
    - Dst: g_free
      Src: /src/glib/gio/tests/task.c:694,1
    - Dst: g_free
      Src: /src/glib/gio/tests/task.c:695,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 696
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 696
    functionName: test_name
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_main_loop_run
    - g_strdup
    - g_task_new
    - g_object_unref
    - g_assert_cmpstr
    - g_free
    linkageType: ''
    returnType: void
    signature: 'static void test_name (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1286,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/tests/task.c:1288,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1287,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - task
    - source_object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 1289
      start: 1278
    functionDepth: 0
    functionLinenumber: 1278
    functionLinenumberEnd: 1289
    functionName: fake_task_thread
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void fake_task_thread (GTask *task, gpointer source_object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_idle_add
      Src: /src/glib/gio/tests/task.c:319,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:320,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:324,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:322,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 325
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 325
    functionName: test_return_from_same_iteration
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_assert
    - g_main_loop_run
    - g_assert_true
    - g_idle_add
    linkageType: ''
    returnType: void
    signature: 'static void test_return_from_same_iteration (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_report_new_error
      Src: /src/glib/gio/tests/task.c:601,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:607,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:608,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:605,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 609
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 609
    functionName: test_report_error
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_report_new_error
    - g_main_loop_run
    - g_assert_true
    - g_assert
    linkageType: ''
    returnType: void
    signature: 'static void test_report_error (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:623,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/tests/task.c:624,1
    - Dst: g_async_result_get_user_data
      Src: /src/glib/gio/tests/task.c:625,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:625,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:624,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:626,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:626,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:626,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/task.c:627,1
    - Dst: g_task_get_completed
      Src: /src/glib/gio/tests/task.c:627,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:627,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/tests/task.c:629,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:632,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:629,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/task.c:637,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/task.c:630,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:632,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:632,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 638
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 638
    functionName: priority_callback
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_propagate_boolean
    - g_task_had_error
    - g_assert
    - g_task_get_completed
    - g_assert_no_error
    - g_main_loop_quit
    - g_task_is_valid
    - g_assert_false
    - G_TASK
    - g_async_result_get_user_data
    linkageType: ''
    returnType: void
    signature: 'static void priority_callback (GObject *object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/glib/gio/tests/task.c:702,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:708,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:705,1
    - Dst: g_task_set_name
      Src: /src/glib/gio/tests/task.c:706,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/tests/task.c:707,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:710,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/task.c:712,1
    - Dst: g_free
      Src: /src/glib/gio/tests/task.c:714,1
    - Dst: g_free
      Src: /src/glib/gio/tests/task.c:715,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 716
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 716
    functionName: test_name_macro_wrapper
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_main_loop_run
    - g_strdup
    - g_task_new
    - g_object_unref
    - g_free
    - g_assert_cmpstr
    - g_task_set_name
    linkageType: ''
    returnType: void
    signature: 'static void test_name_macro_wrapper (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_self
      Src: /src/glib/gio/tests/task.c:1548,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:1553,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:1554,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:1561,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/task.c:1564,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1550,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1552,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:1561,1
    - Dst: g_async_result_get_user_data
      Src: /src/glib/gio/tests/task.c:1552,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1553,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/task.c:1558,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1559,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/task.c:1557,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/task.c:1554,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1548,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/tests/task.c:1551,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1551,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:1553,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:1556,1
    - Dst: g_task_get_completed
      Src: /src/glib/gio/tests/task.c:1554,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1561,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/tests/task.c:1556,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1565
      start: 1539
    functionDepth: 0
    functionLinenumber: 1539
    functionLinenumberEnd: 1565
    functionName: return_on_cancel_callback
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_assert_cmpint
    - g_task_had_error
    - g_assert
    - g_task_get_completed
    - g_assert_error
    - g_main_loop_quit
    - g_task_is_valid
    - g_thread_self
    - g_task_propagate_int
    - g_assert_false
    - G_TASK
    - g_async_result_get_user_data
    linkageType: ''
    returnType: void
    signature: 'static void return_on_cancel_callback (GObject *object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_run_in_thread_sync
      Src: /src/glib/gio/tests/task.c:1731,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - task
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 1733
      start: 1728
    functionDepth: 0
    functionLinenumber: 1728
    functionLinenumberEnd: 1733
    functionName: cancel_sync_runner_thread
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_run_in_thread_sync
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer cancel_sync_runner_thread (gpointer task) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dummy_object_new
      Src: /src/glib/gio/tests/task.c:2226,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/task.c:2231,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:2235,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:2240,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:2242,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:2243,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:2246,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:2229,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gio/tests/task.c:2230,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:2239,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:2248,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/task.c:2230,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:2237,1
    - Dst: g_async_result_get_source_object
      Src: /src/glib/gio/tests/task.c:2238,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:2249,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:2254,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gio/tests/task.c:2227,1
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/tests/task.c:2237,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:2238,1
    - Dst: g_task_return_int
      Src: /src/glib/gio/tests/task.c:2245,1
    - Dst: G_ASYNC_RESULT
      Src: /src/glib/gio/tests/task.c:2238,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:2250,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:2252,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:2253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2255
      start: 2217
    functionDepth: 0
    functionLinenumber: 2217
    functionLinenumberEnd: 2255
    functionName: test_object_keepalive
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_async_result_get_source_object
    - g_main_loop_run
    - g_assert_true
    - g_task_new
    - g_object_unref
    - g_assert
    - G_ASYNC_RESULT
    - g_task_return_int
    - g_object_add_weak_pointer
    - G_OBJECT
    - g_task_get_source_object
    - g_dummy_object_new
    - g_signal_connect
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_object_keepalive (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1767,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1797,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1797,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/task.c:1821,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/tests/task.c:1769,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1806,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1808,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/task.c:1801,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/tests/task.c:1790,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1830,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/tests/task.c:1823,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/tests/task.c:1832,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/tests/task.c:1759,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/task.c:1779,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1784,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1793,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1841,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1843,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1847,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1753,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:1780,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/tests/task.c:1807,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1843,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1824,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/task.c:1800,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1810,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/task.c:1764,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:1774,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:1851,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/tests/task.c:1840,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1802,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1830,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1762,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1767,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/task.c:1771,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1772,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/tests/task.c:1799,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1825,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/task.c:1749,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:1750,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/task.c:1796,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/tests/task.c:1846,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:1818,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/task.c:1826,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/tests/task.c:1783,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1789,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/task.c:1795,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1810,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/task.c:1833,1
    - Dst: g_cancellable_reset
      Src: /src/glib/gio/tests/task.c:1812,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1835,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1793,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/task.c:1834,1
    - Dst: g_task_set_return_on_cancel
      Src: /src/glib/gio/tests/task.c:1819,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/tests/task.c:1752,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1758,1
    - Dst: g_cancellable_reset
      Src: /src/glib/gio/tests/task.c:1776,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1785,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/task.c:1829,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1849,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1754,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/task.c:1770,1
    - Dst: g_task_set_return_on_cancel
      Src: /src/glib/gio/tests/task.c:1781,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1839,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:1804,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:1837,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1849,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/task.c:1745,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1765,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/task.c:1786,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1791,1
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/task.c:1755,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1760,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1762,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/task.c:1766,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/task.c:1817,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1845,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 96
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1852
      start: 1735
    functionDepth: 0
    functionLinenumber: 1735
    functionLinenumberEnd: 1852
    functionName: test_return_on_cancel_sync
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_cancellable_reset
    - g_task_new
    - g_object_unref
    - g_atomic_int_get
    - g_mutex_lock
    - g_mutex_unlock
    - g_cond_wait
    - g_thread_new
    - g_assert_error
    - g_atomic_int_set
    - g_thread_join
    - g_task_set_return_on_cancel
    - g_task_set_task_data
    - g_cancellable_cancel
    - g_task_propagate_int
    - g_cancellable_new
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_return_on_cancel_sync (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:439,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gio/tests/task.c:440,1
    - Dst: g_idle_add
      Src: /src/glib/gio/tests/task.c:445,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/task.c:440,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/task.c:441,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:446,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/task.c:448,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:450,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:451,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:452,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 453
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 453
    functionName: test_return_from_anon_thread
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_main_loop_run
    - g_assert_true
    - g_task_new
    - g_assert
    - g_object_add_weak_pointer
    - G_OBJECT
    - g_thread_join
    - g_idle_add
    - g_signal_connect
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_return_from_anon_thread (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:1404,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/tests/task.c:1410,1
    - Dst: g_task_run_in_thread_sync
      Src: /src/glib/gio/tests/task.c:1406,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/tests/task.c:1405,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:1407,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - task
    - source_object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 1411
      start: 1393
    functionDepth: 0
    functionLinenumber: 1393
    functionLinenumberEnd: 1411
    functionName: run_nested_task_thread
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_task_new
    - g_object_unref
    - g_task_run_in_thread_sync
    - g_task_set_task_data
    linkageType: ''
    returnType: void
    signature: 'static void run_nested_task_thread (GTask *task, gpointer source_object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1092,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/tests/task.c:1093,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1094,1
    - Dst: g_async_result_get_user_data
      Src: /src/glib/gio/tests/task.c:1094,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:1095,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/task.c:1096,1
    - Dst: g_task_get_name
      Src: /src/glib/gio/tests/task.c:1097,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/tests/task.c:1099,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1103,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:1103,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1090,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1093,1
    - Dst: g_task_get_completed
      Src: /src/glib/gio/tests/task.c:1096,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/task.c:1097,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1101,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/task.c:1106,1
    - Dst: g_thread_self
      Src: /src/glib/gio/tests/task.c:1090,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1095,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:1095,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/task.c:1100,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:1096,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:1099,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:1097,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:1103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1107
      start: 1081
    functionDepth: 0
    functionLinenumber: 1081
    functionLinenumberEnd: 1107
    functionName: run_in_thread_callback
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_assert_cmpint
    - g_task_had_error
    - g_assert
    - g_task_get_completed
    - g_assert_cmpstr
    - g_assert_no_error
    - g_main_loop_quit
    - g_task_get_name
    - g_task_is_valid
    - g_thread_self
    - g_task_propagate_int
    - g_assert_false
    - G_TASK
    - g_async_result_get_user_data
    linkageType: ''
    returnType: void
    signature: 'static void run_in_thread_callback (GObject *object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dummy_object_new
      Src: /src/glib/gio/tests/task.c:2137,1
    - Dst: g_value_init
      Src: /src/glib/gio/tests/task.c:2141,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:2143,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:2150,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:2153,1
    - Dst: wait_for_completed_notification
      Src: /src/glib/gio/tests/task.c:2157,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:2164,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:2138,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gio/tests/task.c:2139,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:2145,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/task.c:2146,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:2152,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/task.c:2156,1
    - Dst: g_value_unset
      Src: /src/glib/gio/tests/task.c:2161,1
    - Dst: g_value_set_object
      Src: /src/glib/gio/tests/task.c:2142,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gio/tests/task.c:2146,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:2155,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/task.c:2151,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:2148,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/task.c:2158,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:2162,1
    - Dst: g_task_return_value
      Src: /src/glib/gio/tests/task.c:2147,1
    - Dst: g_task_propagate_value
      Src: /src/glib/gio/tests/task.c:2150,1
    - Dst: g_value_get_object
      Src: /src/glib/gio/tests/task.c:2152,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:2160,1
    - Dst: g_value_unset
      Src: /src/glib/gio/tests/task.c:2163,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:2165,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/task.c:2166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2167
      start: 2128
    functionDepth: 0
    functionLinenumber: 2128
    functionLinenumberEnd: 2167
    functionName: test_return_value
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - wait_for_completed_notification
    - g_assert_true
    - g_task_new
    - g_object_unref
    - g_assert_null
    - g_object_add_weak_pointer
    - g_assert_nonnull
    - g_task_propagate_value
    - G_OBJECT
    - g_value_init
    - g_assert_no_error
    - g_value_set_object
    - g_value_unset
    - g_value_get_object
    - g_task_return_value
    - g_dummy_object_new
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_return_value (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:2268,1
    - Dst: g_async_result_is_tagged
      Src: /src/glib/gio/tests/task.c:2269,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:2270,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:2269,1
    - Dst: g_async_result_get_user_data
      Src: /src/glib/gio/tests/task.c:2270,1
    - Dst: g_async_result_legacy_propagate_error
      Src: /src/glib/gio/tests/task.c:2272,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:2274,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/tests/task.c:2274,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:2276,1
    - Dst: g_simple_async_result_is_valid
      Src: /src/glib/gio/tests/task.c:2276,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/tests/task.c:2287,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/task.c:2291,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/tests/task.c:2285,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/task.c:2281,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:2287,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:2285,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/task.c:2279,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2292
      start: 2260
    functionDepth: 0
    functionLinenumber: 2260
    functionLinenumberEnd: 2292
    functionName: legacy_error_callback
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_async_result_legacy_propagate_error
    - g_assert
    - g_simple_async_result_is_valid
    - g_assert_error
    - g_main_loop_quit
    - g_task_is_valid
    - g_task_propagate_int
    - G_TASK
    - g_async_result_is_tagged
    - g_async_result_get_user_data
    linkageType: ''
    returnType: void
    signature: 'static void legacy_error_callback (GObject *object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1117,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1119,1
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/tests/task.c:1117,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1118,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/tests/task.c:1118,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/tests/task.c:1119,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/task.c:1120,1
    - Dst: g_task_get_completed
      Src: /src/glib/gio/tests/task.c:1120,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/task.c:1121,1
    - Dst: g_task_get_name
      Src: /src/glib/gio/tests/task.c:1121,1
    - Dst: g_thread_self
      Src: /src/glib/gio/tests/task.c:1123,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/task.c:1126,1
    - Dst: g_cond_signal
      Src: /src/glib/gio/tests/task.c:1127,1
    - Dst: g_task_return_int
      Src: /src/glib/gio/tests/task.c:1130,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1125,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1128,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 4
    argNames:
    - task
    - source_object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 1131
      start: 1109
    functionDepth: 0
    functionLinenumber: 1109
    functionLinenumberEnd: 1131
    functionName: run_in_thread_thread
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_task_get_completed
    - g_assert
    - g_mutex_lock
    - g_task_get_cancellable
    - g_task_return_int
    - g_assert_cmpstr
    - g_task_get_source_object
    - g_cond_signal
    - g_atomic_int_set
    - g_task_get_name
    - g_task_get_task_data
    - g_thread_self
    - g_assert_false
    linkageType: ''
    returnType: void
    signature: 'static void run_in_thread_thread (GTask *task, gpointer source_object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1485,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/tests/task.c:1490,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:1492,1
    - Dst: g_usleep
      Src: /src/glib/gio/tests/task.c:1498,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:1500,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1505,1
    - Dst: g_usleep
      Src: /src/glib/gio/tests/task.c:1506,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/task.c:1522,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/task.c:1524,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/task.c:1483,1
    - Dst: g_test_slow
      Src: /src/glib/gio/tests/task.c:1495,1
    - Dst: strspn
      Src: /src/glib/gio/tests/task.c:1510,1
    - Dst: strlen
      Src: /src/glib/gio/tests/task.c:1508,1
    - Dst: g_test_slow
      Src: /src/glib/gio/tests/task.c:1519,1
    - Dst: memset
      Src: /src/glib/gio/tests/task.c:1482,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:1489,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/task.c:1499,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1508,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/task.c:1518,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/task.c:1520,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/tests/task.c:1491,1
    - Dst: g_usleep
      Src: /src/glib/gio/tests/task.c:1496,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1502,1
    - Dst: strspn
      Src: /src/glib/gio/tests/task.c:1524,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1525
      start: 1466
    functionDepth: 0
    functionLinenumber: 1466
    functionLinenumberEnd: 1525
    functionName: test_run_in_thread_overflow
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_object_unref
    - g_task_run_in_thread
    - g_mutex_lock
    - g_test_slow
    - g_mutex_unlock
    - g_atomic_int_get
    - strlen
    - g_assert_cmpuint
    - g_usleep
    - strspn
    - g_task_set_task_data
    - g_cancellable_cancel
    - memset
    - g_cancellable_new
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_run_in_thread_overflow (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/glib/gio/tests/task.c:2176,1
    - Dst: wait_for_completed_notification
      Src: /src/glib/gio/tests/task.c:2181,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:2178,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/task.c:2183,1
    - Dst: g_task_return_prefixed_error
      Src: /src/glib/gio/tests/task.c:2179,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/tests/task.c:2183,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/task.c:2184,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/task.c:2185,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gio/tests/task.c:2187,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/task.c:2188,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2189
      start: 2169
    functionDepth: 0
    functionLinenumber: 2169
    functionLinenumberEnd: 2189
    functionName: test_return_prefixed_error
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_set_error
    - g_clear_error
    - wait_for_completed_notification
    - g_task_new
    - g_task_return_prefixed_error
    - g_assert_null
    - g_assert_cmpstr
    - g_assert_finalize_object
    - g_task_propagate_pointer
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: 'static void test_return_prefixed_error (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:2203,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:2205,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:2204,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/tests/task.c:2204,1
    - Dst: g_async_result_get_user_data
      Src: /src/glib/gio/tests/task.c:2205,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:2206,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:2206,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:2206,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/task.c:2207,1
    - Dst: g_task_get_completed
      Src: /src/glib/gio/tests/task.c:2207,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:2212,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/task.c:2214,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:2212,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:2207,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:2209,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:2212,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/task.c:2210,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/tests/task.c:2209,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2215
      start: 2195
    functionDepth: 0
    functionLinenumber: 2195
    functionLinenumberEnd: 2215
    functionName: keepalive_callback
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_had_error
    - g_assert
    - g_task_get_completed
    - g_assert_no_error
    - g_main_loop_quit
    - g_task_is_valid
    - g_task_propagate_int
    - g_assert_false
    - G_TASK
    - g_async_result_get_user_data
    linkageType: ''
    returnType: void
    signature: 'static void keepalive_callback (GObject *object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G_IS_TASK
      Src: /src/glib/gio/tests/task.c:2297,1
    - Dst: g_simple_async_result_set_error
      Src: /src/glib/gio/tests/task.c:2309,1
    - Dst: g_task_return_int
      Src: /src/glib/gio/tests/task.c:2301,1
    - Dst: G_SIMPLE_ASYNC_RESULT
      Src: /src/glib/gio/tests/task.c:2306,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:2302,1
    - Dst: g_simple_async_result_complete
      Src: /src/glib/gio/tests/task.c:2313,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:2315,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 2319
      start: 2294
    functionDepth: 0
    functionLinenumber: 2294
    functionLinenumberEnd: 2319
    functionName: legacy_error_return
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_task_return_int
    - g_simple_async_result_complete
    - G_IS_TASK
    - G_SIMPLE_ASYNC_RESULT
    - g_simple_async_result_set_error
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean legacy_error_return (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_pool_stop_unused_threads
      Src: /src/glib/gio/tests/task.c:1309,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1316,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:1314,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1311,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/tests/task.c:1315,1
    - Dst: g_task_get_priority
      Src: /src/glib/gio/tests/task.c:1316,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/tests/task.c:1317,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1318,1
    - Dst: g_task_get_priority
      Src: /src/glib/gio/tests/task.c:1318,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/tests/task.c:1319,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:1325,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/tests/task.c:1326,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:1329,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/tests/task.c:1328,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1324,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/tests/task.c:1327,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:1320,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1330
      start: 1303
    functionDepth: 0
    functionLinenumber: 1303
    functionLinenumberEnd: 1330
    functionName: clog_up_thread_pool
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_object_unref
    - g_task_set_priority
    - g_mutex_lock
    - g_task_get_priority
    - g_task_run_in_thread
    - g_thread_pool_stop_unused_threads
    - g_task_set_task_data
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void clog_up_thread_pool (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:146,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:148,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:149,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/task.c:155,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:157,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:157,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/task.c:154,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:157,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:147,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:149,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/task.c:150,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:150,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/task.c:153,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:152,1
    - Dst: g_async_result_get_user_data
      Src: /src/glib/gio/tests/task.c:148,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/tests/task.c:147,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:149,1
    - Dst: g_task_get_completed
      Src: /src/glib/gio/tests/task.c:150,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/tests/task.c:152,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 158
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 158
    functionName: error_callback
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_had_error
    - g_assert
    - g_task_get_completed
    - g_assert_error
    - g_assert_cmpstr
    - g_error_free
    - g_task_is_valid
    - g_task_propagate_int
    - g_assert_false
    - G_TASK
    - g_async_result_get_user_data
    linkageType: ''
    returnType: void
    signature: 'static void error_callback (GObject *object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1335,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:1336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1337
      start: 1332
    functionDepth: 0
    functionLinenumber: 1332
    functionLinenumberEnd: 1337
    functionName: unclog_thread_pool
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_main_loop_run
    - g_mutex_unlock
    linkageType: ''
    returnType: void
    signature: 'static void unclog_thread_pool (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:861,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/tests/task.c:864,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/tests/task.c:863,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:864,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/task.c:865,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/tests/task.c:865,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 868
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 868
    functionName: asynchronous_cancellation_run_task
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_cancellable_is_cancelled
    - g_task_get_cancellable
    - G_IS_CANCELLABLE
    - g_assert_false
    - G_TASK
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean asynchronous_cancellation_run_task (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/task.c:2060,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gio/tests/task.c:2081,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:2088,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/task.c:2089,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:2093,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/task.c:2096,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/task.c:2100,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/task.c:2101,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gio/tests/task.c:2109,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/task.c:2114,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/tests/task.c:2113,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:2120,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:2121,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:2122,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:2111,1
    - Dst: wait_for_completed_notification
      Src: /src/glib/gio/tests/task.c:2124,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:2059,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gio/tests/task.c:2057,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gio/tests/task.c:2060,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/task.c:2072,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:2080,1
    - Dst: wait_for_completed_notification
      Src: /src/glib/gio/tests/task.c:2069,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:2083,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/task.c:2084,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:2094,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/task.c:2095,1
    - Dst: g_dummy_object_new
      Src: /src/glib/gio/tests/task.c:2104,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:2105,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:2118,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:2108,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:2056,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/tests/task.c:2061,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/task.c:2079,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/task.c:2067,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/task.c:2081,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/tests/task.c:2082,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:2085,1
    - Dst: g_task_propagate_pointer
      Src: /src/glib/gio/tests/task.c:2087,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/task.c:2090,1
    - Dst: wait_for_completed_notification
      Src: /src/glib/gio/tests/task.c:2098,1
    - Dst: g_task_return_pointer
      Src: /src/glib/gio/tests/task.c:2110,1
    - Dst: g_dummy_object_new
      Src: /src/glib/gio/tests/task.c:2055,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:2062,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:2065,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/task.c:2066,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:2076,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/task.c:2071,1
    - Dst: g_dummy_object_new
      Src: /src/glib/gio/tests/task.c:2075,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gio/tests/task.c:2077,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:2091,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gio/tests/task.c:2106,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/task.c:2119,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:2116,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:2115,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/task.c:2125,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/task.c:2109,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 69
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2126
      start: 2044
    functionDepth: 0
    functionLinenumber: 2044
    functionLinenumberEnd: 2126
    functionName: test_return_pointer
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - wait_for_completed_notification
    - g_task_new
    - g_object_unref
    - g_task_return_pointer
    - g_assert_null
    - g_assert
    - g_object_add_weak_pointer
    - g_assert_nonnull
    - G_OBJECT
    - g_assert_error
    - g_assert_no_error
    - g_task_propagate_pointer
    - g_cancellable_cancel
    - g_dummy_object_new
    - g_cancellable_new
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_return_pointer (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:2372,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/tests/task.c:2378,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:2375,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 2379
      start: 2367
    functionDepth: 0
    functionLinenumber: 2367
    functionLinenumberEnd: 2379
    functionName: task_complete_cb
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - G_TASK
    - g_task_propagate_boolean
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void task_complete_cb (GObject *source, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:73,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/tests/task.c:74,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:75,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:74,1
    - Dst: g_async_result_get_user_data
      Src: /src/glib/gio/tests/task.c:75,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:76,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:76,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:76,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/task.c:77,1
    - Dst: g_task_get_completed
      Src: /src/glib/gio/tests/task.c:77,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/task.c:80,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:82,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:82,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/tests/task.c:79,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:82,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/task.c:84,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:77,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:79,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 85
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 85
    functionName: basic_callback
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_had_error
    - g_assert
    - g_task_get_completed
    - g_assert_no_error
    - g_main_loop_quit
    - g_task_is_valid
    - g_task_propagate_int
    - g_assert_false
    - G_TASK
    - g_async_result_get_user_data
    linkageType: ''
    returnType: void
    signature: 'static void basic_callback (GObject *object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/gio/tests/task.c:2454,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gio/tests/task.c:2460,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gio/tests/task.c:2462,1
    - Dst: test_return_permutation
      Src: /src/glib/gio/tests/task.c:2456,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gio/tests/task.c:2461,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2463
      start: 2451
    functionDepth: 0
    functionLinenumber: 2451
    functionLinenumberEnd: 2463
    functionName: test_return_in_idle_value_first
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_failed
    - g_test_trap_assert_stderr
    - g_test_trap_subprocess
    - test_return_permutation
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_return_in_idle_value_first (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_return_int
      Src: /src/glib/gio/tests/task.c:92,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 96
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 96
    functionName: basic_return
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_return_int
    - g_object_unref
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean basic_return (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:651,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:656,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/tests/task.c:652,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:654,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/tests/task.c:653,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/tests/task.c:657,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/tests/task.c:658,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:659,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:661,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/tests/task.c:662,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:664,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:670,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:669,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/tests/task.c:663,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:668,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:666,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 671
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 671
    functionName: test_priority
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_main_loop_run
    - g_task_new
    - g_object_unref
    - g_task_set_priority
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_priority (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_context_new
      Src: /src/glib/gio/tests/task.c:493,1
    - Dst: g_task_return_int
      Src: /src/glib/gio/tests/task.c:498,1
    - Dst: g_task_get_context
      Src: /src/glib/gio/tests/task.c:496,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:496,1
    - Dst: g_main_context_push_thread_default
      Src: /src/glib/gio/tests/task.c:494,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:499,1
    - Dst: g_main_context_pop_thread_default
      Src: /src/glib/gio/tests/task.c:501,1
    - Dst: g_main_context_unref
      Src: /src/glib/gio/tests/task.c:502,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 505
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 505
    functionName: wrong_thread_func
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_main_context_pop_thread_default
    - g_main_context_unref
    - g_main_context_push_thread_default
    - g_object_unref
    - g_assert
    - g_task_return_int
    - g_main_context_new
    - g_task_get_context
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer wrong_thread_func (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:523,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gio/tests/task.c:524,1
    - Dst: g_idle_add
      Src: /src/glib/gio/tests/task.c:529,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/task.c:525,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/task.c:524,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:530,1
    - Dst: g_thread_join
      Src: /src/glib/gio/tests/task.c:532,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:534,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:535,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:536,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 537
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 537
    functionName: test_return_from_wrong_thread
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_main_loop_run
    - g_assert_true
    - g_task_new
    - g_assert
    - g_object_add_weak_pointer
    - G_OBJECT
    - g_thread_join
    - g_idle_add
    - g_signal_connect
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_return_from_wrong_thread (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/gio/tests/task.c:2486,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gio/tests/task.c:2493,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gio/tests/task.c:2494,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gio/tests/task.c:2492,1
    - Dst: test_return_permutation
      Src: /src/glib/gio/tests/task.c:2488,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2495
      start: 2483
    functionDepth: 0
    functionLinenumber: 2483
    functionLinenumberEnd: 2495
    functionName: test_return_value_first
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_failed
    - g_test_trap_assert_stderr
    - g_test_trap_subprocess
    - test_return_permutation
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_return_value_first (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/task.c:512,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 515
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 515
    functionName: wrong_start
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_thread_new
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean wrong_start (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1075,1
    - Dst: g_cond_signal
      Src: /src/glib/gio/tests/task.c:1077,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1078,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/task.c:1076,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - user_data
    - ex_task
    argTypes:
    - gpointer
    - GObject*
    constantsTouched: []
    func_position:
      end: 1079
      start: 1069
    functionDepth: 0
    functionLinenumber: 1069
    functionLinenumberEnd: 1079
    functionName: task_weak_notify
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_atomic_int_set
    - g_cond_signal
    - g_mutex_unlock
    - g_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'static void task_weak_notify (gpointer user_data, GObject *ex_task) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/task.c:1300,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - source
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1301
      start: 1294
    functionDepth: 0
    functionLinenumber: 1294
    functionLinenumberEnd: 1301
    functionName: fake_task_callback
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    linkageType: ''
    returnType: void
    signature: 'static void fake_task_callback (GObject *source, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 2501
      start: 2497
    functionDepth: 0
    functionLinenumber: 2497
    functionLinenumberEnd: 2501
    functionName: source_cb
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean source_cb (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2588,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2589,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2587,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2590,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2593,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2592,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2591,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2594,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2598,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2604,1
    - Dst: g_main_loop_unref
      Src: /src/glib/gio/tests/task.c:2618,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2596,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2613,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2610,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2608,1
    - Dst: g_get_monotonic_time
      Src: /src/glib/gio/tests/task.c:2577,1
    - Dst: g_test_run
      Src: /src/glib/gio/tests/task.c:2616,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2606,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2603,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2601,1
    - Dst: g_test_init
      Src: /src/glib/gio/tests/task.c:2573,1
    - Dst: g_main_loop_new
      Src: /src/glib/gio/tests/task.c:2575,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2579,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2580,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2581,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2582,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2583,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2584,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2586,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2585,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2599,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2597,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2614,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2611,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2595,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2612,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2609,1
    - Dst: g_thread_self
      Src: /src/glib/gio/tests/task.c:2576,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2607,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2605,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2602,1
    - Dst: g_test_add_func
      Src: /src/glib/gio/tests/task.c:2600,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 47
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 2621
      start: 2568
    functionDepth: 0
    functionLinenumber: 2568
    functionLinenumberEnd: 2621
    functionName: main
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_test_add_func
    - g_test_run
    - g_main_loop_unref
    - g_main_loop_new
    - g_thread_self
    - g_get_monotonic_time
    - g_test_init
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:837,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gio/tests/task.c:842,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/tests/task.c:842,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/tests/task.c:840,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:840,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/task.c:843,1
    - Dst: g_source_remove
      Src: /src/glib/gio/tests/task.c:845,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/tests/task.c:846,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/tests/task.c:846,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/tests/task.c:848,1
    - Dst: g_task_get_completed
      Src: /src/glib/gio/tests/task.c:849,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/task.c:849,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - cancellable
    - user_data
    argTypes:
    - GCancellable*
    - gpointer
    constantsTouched: []
    func_position:
      end: 850
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 850
    functionName: asynchronous_cancellation_cancelled
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_assert_true
    - g_task_get_completed
    - g_task_get_cancellable
    - GPOINTER_TO_UINT
    - g_assert_cmpuint
    - GUINT_TO_POINTER
    - g_task_get_task_data
    - g_task_set_task_data
    - g_assert_false
    - G_TASK
    - g_source_remove
    linkageType: ''
    returnType: void
    signature: 'static void asynchronous_cancellation_cancelled (GCancellable *cancellable,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:1876,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1873,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1874,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:1875,1
    - Dst: g_task_get_completed
      Src: /src/glib/gio/tests/task.c:1876,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/task.c:1879,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:1883,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/task.c:1886,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1870,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1872,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1875,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:1878,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:1883,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/tests/task.c:1873,1
    - Dst: g_thread_self
      Src: /src/glib/gio/tests/task.c:1870,1
    - Dst: g_async_result_get_user_data
      Src: /src/glib/gio/tests/task.c:1874,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:1875,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/tests/task.c:1878,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/task.c:1880,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1881,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1883,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/task.c:1876,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1887
      start: 1861
    functionDepth: 0
    functionLinenumber: 1861
    functionLinenumberEnd: 1887
    functionName: return_on_cancel_atomic_callback
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_assert_cmpint
    - g_task_had_error
    - g_assert
    - g_task_get_completed
    - g_assert_error
    - g_main_loop_quit
    - g_task_is_valid
    - g_thread_self
    - g_task_propagate_int
    - g_assert_false
    - G_TASK
    - g_async_result_get_user_data
    linkageType: ''
    returnType: void
    signature: 'static void return_on_cancel_atomic_callback (GObject *object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1948,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/tests/task.c:1965,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1970,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1962,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/tests/task.c:1969,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1964,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1974,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1983,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:1986,1
    - Dst: g_task_set_return_on_cancel
      Src: /src/glib/gio/tests/task.c:1999,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:2025,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:2015,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:2023,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:2021,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/tests/task.c:1977,1
    - Dst: g_cancellable_reset
      Src: /src/glib/gio/tests/task.c:1988,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:2010,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:2025,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:2039,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/task.c:2018,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/tests/task.c:1959,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1962,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1966,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1966,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/tests/task.c:1973,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1978,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/tests/task.c:2003,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/tests/task.c:2004,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:2006,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:2006,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:2011,1
    - Dst: g_task_get_return_on_cancel
      Src: /src/glib/gio/tests/task.c:2026,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:2036,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:2010,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:2013,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/task.c:1981,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/tests/task.c:2014,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/task.c:1951,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1947,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:1953,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/task.c:1955,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/tests/task.c:1958,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:1960,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1970,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1972,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1974,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1976,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:2008,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:2016,1
    - Dst: g_task_get_return_on_cancel
      Src: /src/glib/gio/tests/task.c:2016,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:2020,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:2028,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:2029,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/tests/task.c:2033,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:2034,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:2038,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:2026,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/tests/task.c:2024,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/tests/task.c:2009,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/task.c:1946,1
    - Dst: g_task_set_return_on_cancel
      Src: /src/glib/gio/tests/task.c:1954,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1968,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1978,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:1984,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/task.c:1995,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:1998,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/task.c:2000,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:2015,1
    - Dst: g_idle_add
      Src: /src/glib/gio/tests/task.c:2019,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:2037,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:2030,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:2034,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:2032,1
    - Dst: g_task_get_return_on_cancel
      Src: /src/glib/gio/tests/task.c:2011,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1985,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 98
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2040
      start: 1937
    functionDepth: 0
    functionLinenumber: 1937
    functionLinenumberEnd: 2040
    functionName: test_return_on_cancel_atomic
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_task_set_return_on_cancel
    - g_signal_connect
    - g_cancellable_reset
    - g_assert_true
    - g_object_unref
    - g_mutex_unlock
    - g_atomic_int_set
    - g_assert_cmpint
    - g_main_loop_run
    - g_task_new
    - g_mutex_lock
    - g_task_set_task_data
    - g_cond_wait
    - g_cancellable_new
    - g_task_run_in_thread
    - g_assert
    - g_cancellable_cancel
    - g_idle_add
    - g_task_get_return_on_cancel
    linkageType: ''
    returnType: void
    signature: 'static void test_return_on_cancel_atomic (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/tests/task.c:2341,1
    - Dst: g_simple_async_result_new
      Src: /src/glib/gio/tests/task.c:2354,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/task.c:2342,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gio/tests/task.c:2342,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:2347,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:2362,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:2329,1
    - Dst: g_idle_add
      Src: /src/glib/gio/tests/task.c:2333,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gio/tests/task.c:2331,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:2336,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:2337,1
    - Dst: g_task_return_new_error
      Src: /src/glib/gio/tests/task.c:2344,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:2346,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:2349,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/task.c:2331,1
    - Dst: g_task_set_source_tag
      Src: /src/glib/gio/tests/task.c:2330,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:2334,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:2350,1
    - Dst: g_idle_add
      Src: /src/glib/gio/tests/task.c:2359,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:2340,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gio/tests/task.c:2357,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/task.c:2357,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:2360,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:2363,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2364
      start: 2321
    functionDepth: 0
    functionLinenumber: 2321
    functionLinenumberEnd: 2364
    functionName: test_legacy_error
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_main_loop_run
    - g_task_new
    - g_object_unref
    - g_simple_async_result_new
    - g_task_set_source_tag
    - g_assert
    - g_object_add_weak_pointer
    - G_OBJECT
    - g_task_return_new_error
    - g_idle_add
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_legacy_error (void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1897,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/tests/task.c:1899,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/task.c:1900,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/task.c:1912,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1910,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/task.c:1914,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1916,1
    - Dst: g_task_set_return_on_cancel
      Src: /src/glib/gio/tests/task.c:1919,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/task.c:1920,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/task.c:1922,1
    - Dst: g_task_set_return_on_cancel
      Src: /src/glib/gio/tests/task.c:1927,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1902,1
    - Dst: g_thread_self
      Src: /src/glib/gio/tests/task.c:1902,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/task.c:1906,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1903,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1926,1
    - Dst: g_task_return_int
      Src: /src/glib/gio/tests/task.c:1934,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/task.c:1928,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/tests/task.c:1898,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1898,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1899,1
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/tests/task.c:1897,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1903,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1908,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1905,1
    - Dst: g_cond_signal
      Src: /src/glib/gio/tests/task.c:1915,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1918,1
    - Dst: g_cond_signal
      Src: /src/glib/gio/tests/task.c:1923,1
    - Dst: g_task_get_completed
      Src: /src/glib/gio/tests/task.c:1900,1
    - Dst: g_cond_signal
      Src: /src/glib/gio/tests/task.c:1907,1
    - Dst: g_task_set_return_on_cancel
      Src: /src/glib/gio/tests/task.c:1911,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1932,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1924,1
    - Dst: g_cond_signal
      Src: /src/glib/gio/tests/task.c:1931,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/task.c:1930,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 4
    argNames:
    - task
    - source_object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 1935
      start: 1889
    functionDepth: 0
    functionLinenumber: 1889
    functionLinenumberEnd: 1935
    functionName: return_on_cancel_atomic_thread
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_task_get_completed
    - g_assert
    - g_mutex_lock
    - g_task_get_cancellable
    - g_mutex_unlock
    - g_task_return_int
    - g_task_get_source_object
    - g_cond_signal
    - g_atomic_int_set
    - g_task_set_return_on_cancel
    - g_task_get_task_data
    - g_thread_self
    - g_assert_false
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void return_on_cancel_atomic_thread (GTask *task, gpointer
      source_object, gpointer task_data, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:546,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/tests/task.c:549,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:550,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gio/tests/task.c:547,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/task.c:547,1
    - Dst: g_assert_nonnull
      Src: /src/glib/gio/tests/task.c:554,1
    - Dst: wait_for_completed_notification
      Src: /src/glib/gio/tests/task.c:555,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/task.c:556,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 557
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 557
    functionName: test_no_callback
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - wait_for_completed_notification
    - g_task_new
    - g_object_unref
    - g_assert_null
    - g_object_add_weak_pointer
    - g_assert_nonnull
    - G_OBJECT
    linkageType: ''
    returnType: void
    signature: 'static void test_no_callback (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:189,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/task.c:195,1
    - Dst: g_strdup_printf
      Src: /src/glib/gio/tests/task.c:193,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:197,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gio/tests/task.c:195,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/tests/task.c:198,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:199,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/tests/task.c:202,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:203,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:204,1
    - Dst: g_idle_add
      Src: /src/glib/gio/tests/task.c:206,1
    - Dst: g_free
      Src: /src/glib/gio/tests/task.c:212,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:209,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:211,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:210,1
    - Dst: wait_for_completed_notification
      Src: /src/glib/gio/tests/task.c:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 213
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 213
    functionName: test_error
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - wait_for_completed_notification
    - g_strdup_printf
    - g_task_new
    - g_assert
    - g_object_add_weak_pointer
    - g_free
    - G_OBJECT
    - g_task_set_task_data
    - g_idle_add
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_error (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gio/tests/task.c:2384,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/tests/task.c:2393,1
    - Dst: g_task_return_new_error
      Src: /src/glib/gio/tests/task.c:2388,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/tests/task.c:2389,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/tests/task.c:2384,1
    - Dst: g_task_return_new_error
      Src: /src/glib/gio/tests/task.c:2394,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - task
    argTypes:
    - GTask*
    constantsTouched: []
    func_position:
      end: 2396
      start: 2381
    functionDepth: 0
    functionLinenumber: 2381
    functionLinenumberEnd: 2396
    functionName: return_twice
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - GPOINTER_TO_UINT
    - g_task_get_task_data
    - g_task_return_new_error
    linkageType: ''
    returnType: void
    signature: 'static void return_twice (GTask *task) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_summary
      Src: /src/glib/gio/tests/task.c:2511,1
    - Dst: g_task_attach_source
      Src: /src/glib/gio/tests/task.c:2517,1
    - Dst: g_source_new
      Src: /src/glib/gio/tests/task.c:2516,1
    - Dst: g_task_set_name
      Src: /src/glib/gio/tests/task.c:2514,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:2513,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/task.c:2518,1
    - Dst: g_source_get_name
      Src: /src/glib/gio/tests/task.c:2518,1
    - Dst: g_source_unref
      Src: /src/glib/gio/tests/task.c:2519,1
    - Dst: g_source_new
      Src: /src/glib/gio/tests/task.c:2521,1
    - Dst: g_source_set_name
      Src: /src/glib/gio/tests/task.c:2522,1
    - Dst: g_source_get_name
      Src: /src/glib/gio/tests/task.c:2524,1
    - Dst: g_source_unref
      Src: /src/glib/gio/tests/task.c:2525,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:2527,1
    - Dst: g_task_attach_source
      Src: /src/glib/gio/tests/task.c:2523,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/task.c:2524,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2528
      start: 2503
    functionDepth: 0
    functionLinenumber: 2503
    functionLinenumberEnd: 2528
    functionName: test_attach_source_set_name
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_new
    - g_test_summary
    - g_source_new
    - g_object_unref
    - g_assert_cmpstr
    - g_source_unref
    - g_source_set_name
    - g_source_get_name
    - g_task_attach_source
    - g_task_set_name
    linkageType: ''
    returnType: void
    signature: 'static void test_attach_source_set_name (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:221,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:234,1
    - Dst: g_task_return_new_error_literal
      Src: /src/glib/gio/tests/task.c:228,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gio/tests/task.c:236,1
    - Dst: wait_for_completed_notification
      Src: /src/glib/gio/tests/task.c:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 237
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 237
    functionName: test_error_literal
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - wait_for_completed_notification
    - g_task_new
    - g_task_return_new_error_literal
    - g_assert_finalize_object
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_error_literal (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_is_valid
      Src: /src/glib/gio/tests/task.c:472,1
    - Dst: g_task_get_completed
      Src: /src/glib/gio/tests/task.c:475,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:477,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:479,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/task.c:480,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:482,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:472,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:473,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:475,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/tests/task.c:479,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:482,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:471,1
    - Dst: g_async_result_get_user_data
      Src: /src/glib/gio/tests/task.c:473,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:474,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:482,1
    - Dst: g_thread_self
      Src: /src/glib/gio/tests/task.c:477,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:474,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:474,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/task.c:475,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/task.c:484,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 485
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 485
    functionName: wrong_callback
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_had_error
    - g_assert
    - g_task_get_completed
    - g_assert_no_error
    - g_main_loop_quit
    - g_task_is_valid
    - g_thread_self
    - g_task_propagate_int
    - g_assert_false
    - G_TASK
    - g_async_result_get_user_data
    linkageType: ''
    returnType: void
    signature: 'static void wrong_callback (GObject *object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:937,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:939,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/tests/task.c:938,1
    - Dst: g_async_result_get_user_data
      Src: /src/glib/gio/tests/task.c:939,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:946,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:951,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/tests/task.c:948,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/task.c:964,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:938,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:941,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/tests/task.c:946,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/tests/task.c:957,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/tests/task.c:942,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/tests/task.c:943,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/tests/task.c:955,1
    - Dst: g_task_get_check_cancellable
      Src: /src/glib/gio/tests/task.c:951,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:957,1
    - Dst: g_cancellable_is_cancelled
      Src: /src/glib/gio/tests/task.c:962,1
    - Dst: g_error_free
      Src: /src/glib/gio/tests/task.c:965,1
    - Dst: GPOINTER_TO_INT
      Src: /src/glib/gio/tests/task.c:932,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:943,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:948,1
    - Dst: g_task_get_check_cancellable
      Src: /src/glib/gio/tests/task.c:953,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:953,1
    - Dst: g_task_get_check_cancellable
      Src: /src/glib/gio/tests/task.c:958,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:962,1
    - Dst: g_task_get_check_cancellable
      Src: /src/glib/gio/tests/task.c:963,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/task.c:968,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 969
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 969
    functionName: cancel_callback
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_propagate_boolean
    - GPOINTER_TO_INT
    - g_task_get_check_cancellable
    - g_assert
    - g_cancellable_is_cancelled
    - g_task_get_cancellable
    - G_IS_CANCELLABLE
    - g_assert_error
    - g_main_loop_quit
    - g_error_free
    - g_task_is_valid
    - G_TASK
    - g_async_result_get_user_data
    linkageType: ''
    returnType: void
    signature: 'static void cancel_callback (GObject *object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_twice
      Src: /src/glib/gio/tests/task.c:2402,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:2403,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 2406
      start: 2398
    functionDepth: 0
    functionLinenumber: 2398
    functionLinenumberEnd: 2406
    functionName: idle_cb
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - return_twice
    - g_object_unref
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean idle_cb (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:2537,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:2547,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:2543,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/task.c:2544,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/task.c:2539,1
    - Dst: g_task_set_static_name
      Src: /src/glib/gio/tests/task.c:2548,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/task.c:2550,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:2554,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/task.c:2555,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:2558,1
    - Dst: g_test_expect_message
      Src: /src/glib/gio/tests/task.c:2560,1
    - Dst: g_test_assert_expected_messages
      Src: /src/glib/gio/tests/task.c:2565,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:2564,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2566
      start: 2530
    functionDepth: 0
    functionLinenumber: 2530
    functionLinenumberEnd: 2566
    functionName: test_finalize_without_return
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_test_assert_expected_messages
    - g_task_new
    - g_object_unref
    - g_test_expect_message
    - g_task_set_static_name
    linkageType: ''
    returnType: void
    signature: 'static void test_finalize_without_return (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/task.c:726,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:727,1
    - Dst: g_strdup
      Src: /src/glib/gio/tests/task.c:727,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/tests/task.c:729,1
    - Dst: g_task_get_name
      Src: /src/glib/gio/tests/task.c:727,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:729,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/task.c:730,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/task.c:732,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 733
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 733
    functionName: name_callback
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_propagate_boolean
    - g_strdup
    - g_assert_null
    - g_assert_no_error
    - g_main_loop_quit
    - g_task_get_name
    - G_TASK
    linkageType: ''
    returnType: void
    signature: 'static void name_callback (GObject *object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_bug
      Src: /src/glib/gio/tests/task.c:884,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:898,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/task.c:900,1
    - Dst: g_cancellable_connect
      Src: /src/glib/gio/tests/task.c:899,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/task.c:896,1
    - Dst: g_idle_add
      Src: /src/glib/gio/tests/task.c:902,1
    - Dst: g_source_set_name_by_id
      Src: /src/glib/gio/tests/task.c:903,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/tests/task.c:904,1
    - Dst: GUINT_TO_POINTER
      Src: /src/glib/gio/tests/task.c:904,1
    - Dst: g_timeout_add
      Src: /src/glib/gio/tests/task.c:906,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:910,1
    - Dst: g_task_get_completed
      Src: /src/glib/gio/tests/task.c:910,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:913,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:911,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:908,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:914,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 916
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 916
    functionName: test_asynchronous_cancellation
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_main_loop_run
    - g_assert_true
    - g_task_new
    - g_object_unref
    - g_task_get_completed
    - g_signal_connect
    - GUINT_TO_POINTER
    - g_test_bug
    - g_timeout_add
    - g_task_set_task_data
    - g_cancellable_connect
    - g_source_set_name_by_id
    - g_idle_add
    - g_cancellable_new
    linkageType: ''
    returnType: void
    signature: 'static void test_asynchronous_cancellation (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/task.c:978,1
    - Dst: g_task_set_check_cancellable
      Src: /src/glib/gio/tests/task.c:984,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:982,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/task.c:987,1
    - Dst: GINT_TO_POINTER
      Src: /src/glib/gio/tests/task.c:983,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/tests/task.c:988,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/task.c:990,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:992,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:993,1
    - Dst: g_cancellable_reset
      Src: /src/glib/gio/tests/task.c:994,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:997,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 998
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 998
    functionName: test_check_cancellable
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_main_loop_run
    - g_cancellable_reset
    - g_task_new
    - g_object_unref
    - GINT_TO_POINTER
    - g_task_set_check_cancellable
    - g_cancellable_cancel
    - g_cancellable_new
    linkageType: ''
    returnType: void
    signature: 'static void test_check_cancellable (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:360,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gio/tests/task.c:361,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/task.c:361,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/task.c:362,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/tests/task.c:365,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:366,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:369,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:370,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/task.c:371,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:373,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:375,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:376,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:377,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 378
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 378
    functionName: test_return_from_toplevel
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_main_loop_run
    - g_assert_true
    - g_task_new
    - g_object_unref
    - g_assert
    - g_object_add_weak_pointer
    - G_OBJECT
    - g_assert_false
    - g_signal_connect
    linkageType: ''
    returnType: void
    signature: 'static void test_return_from_toplevel (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/task.c:1038,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:1034,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:1043,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/task.c:1054,1
    - Dst: g_task_set_check_cancellable
      Src: /src/glib/gio/tests/task.c:1053,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:1059,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1040,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:1044,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1056,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:1049,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:1060,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/task.c:1032,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/task.c:1035,1
    - Dst: g_task_return_error_if_cancelled
      Src: /src/glib/gio/tests/task.c:1039,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/task.c:1041,1
    - Dst: g_task_return_error_if_cancelled
      Src: /src/glib/gio/tests/task.c:1055,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/task.c:1057,1
    - Dst: g_cancellable_reset
      Src: /src/glib/gio/tests/task.c:1045,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:1061,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:1042,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/task.c:1050,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:1058,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1062
      start: 1024
    functionDepth: 0
    functionLinenumber: 1024
    functionLinenumberEnd: 1062
    functionName: test_return_if_cancelled
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_main_loop_run
    - g_assert_true
    - g_task_new
    - g_object_unref
    - g_cancellable_reset
    - g_assert
    - g_task_return_error_if_cancelled
    - g_task_set_check_cancellable
    - g_assert_false
    - g_cancellable_cancel
    - g_cancellable_new
    - g_signal_connect
    linkageType: ''
    returnType: void
    signature: 'static void test_return_if_cancelled (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_return_new_error
      Src: /src/glib/gio/tests/task.c:165,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 171
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 171
    functionName: error_return
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_object_unref
    - g_task_return_new_error
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean error_return (gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1575,1
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/tests/task.c:1575,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1576,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1577,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/tests/task.c:1576,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/tests/task.c:1577,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1579,1
    - Dst: g_thread_self
      Src: /src/glib/gio/tests/task.c:1579,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1581,1
    - Dst: g_cond_signal
      Src: /src/glib/gio/tests/task.c:1583,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1584,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1586,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1598,1
    - Dst: g_task_set_return_on_cancel
      Src: /src/glib/gio/tests/task.c:1589,1
    - Dst: g_task_return_int
      Src: /src/glib/gio/tests/task.c:1592,1
    - Dst: g_cond_signal
      Src: /src/glib/gio/tests/task.c:1597,1
    - Dst: g_task_get_return_on_cancel
      Src: /src/glib/gio/tests/task.c:1588,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 4
    argNames:
    - task
    - source_object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 1599
      start: 1567
    functionDepth: 0
    functionLinenumber: 1567
    functionLinenumberEnd: 1599
    functionName: return_on_cancel_thread
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_mutex_unlock
    - g_mutex_lock
    - g_assert
    - g_task_return_int
    - g_task_get_cancellable
    - g_task_get_source_object
    - g_cond_signal
    - g_task_set_return_on_cancel
    - g_task_get_task_data
    - g_thread_self
    - g_task_get_return_on_cancel
    linkageType: ''
    returnType: void
    signature: 'static void return_on_cancel_thread (GTask *task, gpointer source_object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1636,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1630,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1657,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1670,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1665,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1624,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1639,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/tests/task.c:1655,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1663,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1703,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1681,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/tests/task.c:1711,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1720,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1632,1
    - Dst: g_cancellable_reset
      Src: /src/glib/gio/tests/task.c:1643,1
    - Dst: g_task_set_return_on_cancel
      Src: /src/glib/gio/tests/task.c:1697,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/task.c:1651,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1665,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1671,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:1694,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1716,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1632,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1656,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:1659,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1679,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:1685,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1633,1
    - Dst: g_task_set_return_on_cancel
      Src: /src/glib/gio/tests/task.c:1653,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1661,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:1705,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1679,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1675,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/task.c:1611,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/tests/task.c:1629,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1670,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/task.c:1695,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/task.c:1693,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/tests/task.c:1662,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1714,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/task.c:1617,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1628,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/task.c:1635,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:1637,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/tests/task.c:1625,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:1626,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:1649,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1666,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/tests/task.c:1658,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/tests/task.c:1701,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/tests/task.c:1676,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/task.c:1699,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:1618,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/tests/task.c:1682,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1718,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1623,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/task.c:1668,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1677,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:1721,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1714,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1710,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1640,1
    - Dst: g_object_weak_ref
      Src: /src/glib/gio/tests/task.c:1650,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/task.c:1650,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1683,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:1641,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/task.c:1648,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/tests/task.c:1704,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/task.c:1673,1
    - Dst: g_cancellable_reset
      Src: /src/glib/gio/tests/task.c:1686,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1708,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:1707,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1712,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1639,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:1669,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1720,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1673,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/tests/task.c:1717,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1702,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1680,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/task.c:1619,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/tests/task.c:1622,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:1723,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 107
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1724
      start: 1601
    functionDepth: 0
    functionLinenumber: 1601
    functionLinenumberEnd: 1724
    functionName: test_return_on_cancel
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_atomic_int_get
    - g_task_set_return_on_cancel
    - g_signal_connect
    - g_cancellable_reset
    - g_assert_true
    - g_object_unref
    - g_mutex_unlock
    - g_atomic_int_set
    - g_assert_false
    - g_assert_cmpint
    - g_main_loop_run
    - g_task_new
    - g_mutex_lock
    - g_task_set_task_data
    - g_cond_wait
    - g_cancellable_new
    - g_task_run_in_thread
    - g_assert
    - g_object_weak_ref
    - G_OBJECT
    - g_cancellable_cancel
    linkageType: ''
    returnType: void
    signature: 'static void test_return_on_cancel (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/task.c:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 30
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 30
    functionName: idle_quit_loop
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_main_loop_quit
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean idle_quit_loop (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 179
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 179
    functionName: error_destroy_notify
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void error_destroy_notify (gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/gio/tests/task.c:2470,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gio/tests/task.c:2478,1
    - Dst: test_return_permutation
      Src: /src/glib/gio/tests/task.c:2472,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gio/tests/task.c:2476,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gio/tests/task.c:2477,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2479
      start: 2467
    functionDepth: 0
    functionLinenumber: 2467
    functionLinenumberEnd: 2479
    functionName: test_return_error_first
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_failed
    - g_test_trap_assert_stderr
    - g_test_trap_subprocess
    - test_return_permutation
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_return_error_first (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: basic_destroy_notify
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void basic_destroy_notify (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:114,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/task.c:116,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/tests/task.c:115,1
    - Dst: g_object_add_weak_pointer
      Src: /src/glib/gio/tests/task.c:116,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/task.c:117,1
    - Dst: g_idle_add
      Src: /src/glib/gio/tests/task.c:120,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:121,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:123,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:124,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:125,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 127
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 127
    functionName: test_basic
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_main_loop_run
    - g_assert_true
    - g_task_new
    - g_assert
    - g_object_add_weak_pointer
    - G_OBJECT
    - g_task_set_task_data
    - g_idle_add
    - g_signal_connect
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_basic (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - gobject
    - pspec
    - user_data
    argTypes:
    - GObject*
    - GParamSpec*
    - gpointer
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: completed_cb
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void completed_cb (GObject *gobject, GParamSpec *pspec, gpointer
      user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_return_int
      Src: /src/glib/gio/tests/task.c:417,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:418,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 421
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 421
    functionName: anon_thread_func
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_return_int
    - g_object_unref
    linkageType: ''
    returnType: gpointer
    signature: 'static gpointer anon_thread_func (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:746,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:751,1
    - Dst: g_task_set_static_name
      Src: /src/glib/gio/tests/task.c:747,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:749,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/tests/task.c:748,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:753,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 754
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 754
    functionName: test_static_name
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_main_loop_run
    - g_assert_true
    - g_task_new
    - g_object_unref
    - g_task_set_static_name
    linkageType: ''
    returnType: void
    signature: 'static void test_static_name (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:794,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/tests/task.c:793,1
    - Dst: g_async_result_get_user_data
      Src: /src/glib/gio/tests/task.c:794,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:795,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/task.c:796,1
    - Dst: GPOINTER_TO_UINT
      Src: /src/glib/gio/tests/task.c:798,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/tests/task.c:798,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:805,1
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/task.c:792,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:793,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:795,1
    - Dst: g_assert_cmpuint
      Src: /src/glib/gio/tests/task.c:799,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:796,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/task.c:803,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:805,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/task.c:807,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:795,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:798,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/task.c:802,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:805,1
    - Dst: g_task_get_completed
      Src: /src/glib/gio/tests/task.c:796,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:801,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/tests/task.c:801,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 808
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 808
    functionName: asynchronous_cancellation_callback
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_task_propagate_boolean
    - g_assert_true
    - g_task_had_error
    - g_assert_null
    - g_task_get_completed
    - GPOINTER_TO_UINT
    - g_assert_cmpuint
    - g_assert_error
    - g_main_loop_quit
    - g_task_is_valid
    - g_task_get_task_data
    - g_assert_false
    - G_TASK
    - g_async_result_get_user_data
    linkageType: ''
    returnType: void
    signature: 'static void asynchronous_cancellation_callback (GObject *object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_cond_wait
      Src: /src/glib/gio/tests/task.c:1153,1
    - Dst: g_task_get_name
      Src: /src/glib/gio/tests/task.c:1164,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1168,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/task.c:1145,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/tests/task.c:1148,1
    - Dst: g_assert_cmpstr
      Src: /src/glib/gio/tests/task.c:1164,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1156,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/task.c:1157,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1171,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:1142,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/task.c:1144,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/tests/task.c:1149,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1152,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1161,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1154,1
    - Dst: g_object_weak_ref
      Src: /src/glib/gio/tests/task.c:1144,1
    - Dst: g_task_set_name
      Src: /src/glib/gio/tests/task.c:1143,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1151,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:1159,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1157,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:1162,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:1166,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1169,1
    - Dst: g_cond_wait
      Src: /src/glib/gio/tests/task.c:1170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1172
      start: 1133
    functionDepth: 0
    functionLinenumber: 1133
    functionLinenumberEnd: 1172
    functionName: test_run_in_thread
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_main_loop_run
    - g_assert_true
    - g_task_new
    - g_object_unref
    - g_task_run_in_thread
    - g_mutex_lock
    - g_atomic_int_get
    - g_mutex_unlock
    - g_assert
    - g_cond_wait
    - g_object_weak_ref
    - G_OBJECT
    - g_assert_cmpstr
    - g_task_get_name
    - g_task_set_task_data
    - g_assert_false
    - g_task_set_name
    - g_signal_connect
    linkageType: ''
    returnType: void
    signature: 'static void test_run_in_thread (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_ref
      Src: /src/glib/gio/tests/task.c:48,1
    - Dst: g_idle_add
      Src: /src/glib/gio/tests/task.c:52,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/task.c:50,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:53,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:54,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:56,1
    - Dst: g_task_get_completed
      Src: /src/glib/gio/tests/task.c:56,1
    - Dst: g_object_get
      Src: /src/glib/gio/tests/task.c:57,1
    - Dst: G_OBJECT
      Src: /src/glib/gio/tests/task.c:57,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:58,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - task
    argTypes:
    - GTask*
    constantsTouched: []
    func_position:
      end: 61
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 61
    functionName: wait_for_completed_notification
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_main_loop_run
    - g_assert_true
    - g_object_get
    - g_object_unref
    - g_task_get_completed
    - G_OBJECT
    - g_object_ref
    - g_idle_add
    - g_signal_connect
    linkageType: ''
    returnType: void
    signature: 'static void wait_for_completed_notification (GTask *task) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:277,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:279,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/tests/task.c:278,1
    - Dst: g_async_result_get_user_data
      Src: /src/glib/gio/tests/task.c:279,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:278,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:280,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:280,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:280,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/task.c:281,1
    - Dst: g_task_get_completed
      Src: /src/glib/gio/tests/task.c:281,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:281,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/tests/task.c:283,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:286,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:286,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/task.c:284,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:286,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/task.c:288,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:283,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 289
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 289
    functionName: same_callback
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_propagate_boolean
    - g_task_had_error
    - g_assert
    - g_task_get_completed
    - g_assert_no_error
    - g_main_loop_quit
    - g_task_is_valid
    - g_assert_false
    - G_TASK
    - g_async_result_get_user_data
    linkageType: ''
    returnType: void
    signature: 'static void same_callback (GObject *object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_new
      Src: /src/glib/gio/tests/task.c:428,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 431
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 431
    functionName: anon_start
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_thread_new
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean anon_start (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_null
      Src: /src/glib/gio/tests/task.c:764,1
    - Dst: g_task_get_name
      Src: /src/glib/gio/tests/task.c:765,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:767,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:765,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/tests/task.c:767,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/task.c:768,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/task.c:770,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 771
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 771
    functionName: static_name_callback
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_propagate_boolean
    - g_assert_null
    - g_assert_no_error
    - g_main_loop_quit
    - g_task_get_name
    - G_TASK
    linkageType: ''
    returnType: void
    signature: 'static void static_name_callback (GObject *object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:245,1
    - Dst: g_assert_finalize_object
      Src: /src/glib/gio/tests/task.c:259,1
    - Dst: g_task_return_new_error_literal
      Src: /src/glib/gio/tests/task.c:252,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:258,1
    - Dst: wait_for_completed_notification
      Src: /src/glib/gio/tests/task.c:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 260
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 260
    functionName: test_error_literal_from_variable
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - wait_for_completed_notification
    - g_task_new
    - g_task_return_new_error_literal
    - g_assert_finalize_object
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_error_literal_from_variable (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/tests/task.c:1351,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/tests/task.c:1357,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/tests/task.c:1362,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:1371,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1383,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/tests/task.c:1350,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:1358,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/tests/task.c:1361,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/tests/task.c:1369,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/task.c:1370,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1382,1
    - Dst: unclog_thread_pool
      Src: /src/glib/gio/tests/task.c:1386,1
    - Dst: clog_up_thread_pool
      Src: /src/glib/gio/tests/task.c:1346,1
    - Dst: g_task_set_priority
      Src: /src/glib/gio/tests/task.c:1356,1
    - Dst: g_task_run_in_thread
      Src: /src/glib/gio/tests/task.c:1363,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1378,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1384,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:1352,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:1349,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:1354,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/tests/task.c:1355,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:1364,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:1367,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/tests/task.c:1368,1
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:1360,1
    - Dst: g_cancellable_new
      Src: /src/glib/gio/tests/task.c:1366,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:1372,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1381,1
    - Dst: g_main_loop_run
      Src: /src/glib/gio/tests/task.c:1379,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1387
      start: 1339
    functionDepth: 0
    functionLinenumber: 1339
    functionLinenumberEnd: 1387
    functionName: test_run_in_thread_priority
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_main_loop_run
    - g_task_new
    - g_object_unref
    - g_task_run_in_thread
    - g_task_set_priority
    - g_mutex_unlock
    - unclog_thread_pool
    - g_task_set_task_data
    - g_cancellable_cancel
    - g_cancellable_new
    - clog_up_thread_pool
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_run_in_thread_priority (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_task_return_error_if_cancelled
      Src: /src/glib/gio/tests/task.c:1446,1
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/tests/task.c:1458,1
    - Dst: g_mutex_lock
      Src: /src/glib/gio/tests/task.c:1453,1
    - Dst: g_mutex_unlock
      Src: /src/glib/gio/tests/task.c:1454,1
    - Dst: g_atomic_int_inc
      Src: /src/glib/gio/tests/task.c:1461,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - task
    - source_object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 1462
      start: 1438
    functionDepth: 0
    functionLinenumber: 1438
    functionLinenumberEnd: 1462
    functionName: run_overflow_task_thread
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    - g_mutex_unlock
    - g_mutex_lock
    - g_task_return_error_if_cancelled
    - g_atomic_int_inc
    linkageType: ''
    returnType: void
    signature: 'static void run_overflow_task_thread (GTask *task, gpointer source_object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:818,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/tests/task.c:820,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:821,1
    - Dst: g_cancellable_cancel
      Src: /src/glib/gio/tests/task.c:823,1
    - Dst: G_IS_CANCELLABLE
      Src: /src/glib/gio/tests/task.c:821,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/task.c:824,1
    - Dst: g_task_get_completed
      Src: /src/glib/gio/tests/task.c:824,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    constantsTouched: []
    func_position:
      end: 827
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 827
    functionName: asynchronous_cancellation_cancel_task
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_task_get_completed
    - g_task_get_cancellable
    - G_IS_CANCELLABLE
    - g_assert_false
    - G_TASK
    - g_cancellable_cancel
    linkageType: ''
    returnType: gboolean
    signature: 'static gboolean asynchronous_cancellation_cancel_task (gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_not_reached
      Src: /src/glib/gio/tests/task.c:1182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1183
      start: 1176
    functionDepth: 0
    functionLinenumber: 1176
    functionLinenumberEnd: 1183
    functionName: run_in_thread_sync_callback
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_assert_not_reached
    linkageType: ''
    returnType: void
    signature: 'static void run_in_thread_sync_callback (GObject *object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1193,1
    - Dst: g_task_get_source_object
      Src: /src/glib/gio/tests/task.c:1193,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1194,1
    - Dst: g_task_get_task_data
      Src: /src/glib/gio/tests/task.c:1194,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1195,1
    - Dst: g_task_get_cancellable
      Src: /src/glib/gio/tests/task.c:1195,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/task.c:1196,1
    - Dst: g_task_get_completed
      Src: /src/glib/gio/tests/task.c:1196,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1198,1
    - Dst: g_thread_self
      Src: /src/glib/gio/tests/task.c:1198,1
    - Dst: g_atomic_int_set
      Src: /src/glib/gio/tests/task.c:1200,1
    - Dst: g_task_return_int
      Src: /src/glib/gio/tests/task.c:1201,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - task
    - source_object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 1202
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1202
    functionName: run_in_thread_sync_thread
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_get_completed
    - g_assert
    - g_task_return_int
    - g_task_get_cancellable
    - g_task_get_source_object
    - g_atomic_int_set
    - g_task_get_task_data
    - g_thread_self
    - g_assert_false
    linkageType: ''
    returnType: void
    signature: 'static void run_in_thread_sync_thread (GTask *task, gpointer source_object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_thread_self
      Src: /src/glib/gio/tests/task.c:1249,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1253,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:1254,1
    - Dst: g_task_get_completed
      Src: /src/glib/gio/tests/task.c:1255,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/tests/task.c:1257,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/tests/task.c:1252,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1254,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:1254,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/task.c:1258,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1259,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:1255,1
    - Dst: g_async_result_get_user_data
      Src: /src/glib/gio/tests/task.c:1253,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1249,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1252,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1251,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/task.c:1255,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:1261,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:1257,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1261,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:1261,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/task.c:1263,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1264
      start: 1241
    functionDepth: 0
    functionLinenumber: 1241
    functionLinenumberEnd: 1264
    functionName: quit_main_loop_callback
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_propagate_boolean
    - g_assert_cmpint
    - g_task_had_error
    - g_assert
    - g_task_get_completed
    - g_assert_no_error
    - g_main_loop_quit
    - g_task_is_valid
    - g_thread_self
    - g_assert_false
    - G_TASK
    - g_async_result_get_user_data
    linkageType: ''
    returnType: void
    signature: 'static void quit_main_loop_callback (GObject *object, GAsyncResult
      *result, gpointer user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_test_subprocess
      Src: /src/glib/gio/tests/task.c:2438,1
    - Dst: test_return_permutation
      Src: /src/glib/gio/tests/task.c:2440,1
    - Dst: g_test_trap_assert_stderr
      Src: /src/glib/gio/tests/task.c:2446,1
    - Dst: g_test_trap_assert_failed
      Src: /src/glib/gio/tests/task.c:2445,1
    - Dst: g_test_trap_subprocess
      Src: /src/glib/gio/tests/task.c:2444,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2447
      start: 2435
    functionDepth: 0
    functionLinenumber: 2435
    functionLinenumberEnd: 2447
    functionName: test_return_in_idle_error_first
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_test_trap_assert_failed
    - g_test_trap_assert_stderr
    - g_test_trap_subprocess
    - test_return_permutation
    - g_test_subprocess
    linkageType: ''
    returnType: void
    signature: 'static void test_return_in_idle_error_first (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:340,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:342,1
    - Dst: g_async_result_get_user_data
      Src: /src/glib/gio/tests/task.c:342,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/tests/task.c:341,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:341,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:343,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:343,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:343,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/task.c:344,1
    - Dst: g_task_get_completed
      Src: /src/glib/gio/tests/task.c:344,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/tests/task.c:346,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:349,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/task.c:351,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:349,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:349,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:344,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/task.c:347,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:346,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 352
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 352
    functionName: toplevel_callback
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_propagate_boolean
    - g_task_had_error
    - g_assert
    - g_task_get_completed
    - g_assert_no_error
    - g_main_loop_quit
    - g_task_is_valid
    - g_assert_false
    - G_TASK
    - g_async_result_get_user_data
    linkageType: ''
    returnType: void
    signature: 'static void toplevel_callback (GObject *object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:396,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/task.c:409,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/tests/task.c:397,1
    - Dst: g_async_result_get_user_data
      Src: /src/glib/gio/tests/task.c:398,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:398,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:399,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/task.c:400,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:404,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/tests/task.c:404,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:407,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:407,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:397,1
    - Dst: g_task_get_completed
      Src: /src/glib/gio/tests/task.c:400,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/task.c:405,1
    - Dst: g_thread_self
      Src: /src/glib/gio/tests/task.c:402,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:407,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:399,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:399,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:402,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:400,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 410
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 410
    functionName: anon_callback
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_had_error
    - g_assert
    - g_task_get_completed
    - g_assert_no_error
    - g_main_loop_quit
    - g_task_is_valid
    - g_thread_self
    - g_task_propagate_int
    - g_assert_false
    - G_TASK
    - g_async_result_get_user_data
    linkageType: ''
    returnType: void
    signature: 'static void anon_callback (GObject *object, GAsyncResult *result,
      gpointer user_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_new
      Src: /src/glib/gio/tests/task.c:1213,1
    - Dst: g_task_run_in_thread_sync
      Src: /src/glib/gio/tests/task.c:1219,1
    - Dst: g_signal_connect
      Src: /src/glib/gio/tests/task.c:1214,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:1221,1
    - Dst: g_task_set_task_data
      Src: /src/glib/gio/tests/task.c:1218,1
    - Dst: g_atomic_int_get
      Src: /src/glib/gio/tests/task.c:1221,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1222,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1223,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:1223,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:1224,1
    - Dst: g_assert_true
      Src: /src/glib/gio/tests/task.c:1225,1
    - Dst: g_assert_no_error
      Src: /src/glib/gio/tests/task.c:1228,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1231,1
    - Dst: g_assert_cmpint
      Src: /src/glib/gio/tests/task.c:1229,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:1231,1
    - Dst: g_task_get_completed
      Src: /src/glib/gio/tests/task.c:1224,1
    - Dst: g_task_propagate_int
      Src: /src/glib/gio/tests/task.c:1227,1
    - Dst: g_object_unref
      Src: /src/glib/gio/tests/task.c:1233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1234
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1234
    functionName: test_run_in_thread_sync
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_assert_true
    - g_task_new
    - g_object_unref
    - g_atomic_int_get
    - g_task_had_error
    - g_assert
    - g_task_get_completed
    - g_assert_no_error
    - g_task_run_in_thread_sync
    - g_task_set_task_data
    - g_task_propagate_int
    - g_signal_connect
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: 'static void test_run_in_thread_sync (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_task_return_boolean
      Src: /src/glib/gio/tests/task.c:1275,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - task
    - source_object
    - task_data
    - cancellable
    argTypes:
    - GTask*
    - gpointer
    - gpointer
    - GCancellable*
    constantsTouched: []
    func_position:
      end: 1276
      start: 1266
    functionDepth: 0
    functionLinenumber: 1266
    functionLinenumberEnd: 1276
    functionName: set_sequence_number_thread
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_task_return_boolean
    linkageType: ''
    returnType: void
    signature: 'static void set_sequence_number_thread (GTask *task, gpointer source_object,
      gpointer task_data, GCancellable *cancellable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1012,1
    - Dst: g_task_get_completed
      Src: /src/glib/gio/tests/task.c:1013,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:1015,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1011,1
    - Dst: g_async_result_get_user_data
      Src: /src/glib/gio/tests/task.c:1011,1
    - Dst: g_task_is_valid
      Src: /src/glib/gio/tests/task.c:1010,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:1012,1
    - Dst: g_assert_error
      Src: /src/glib/gio/tests/task.c:1016,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1019,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1009,1
    - Dst: g_assert
      Src: /src/glib/gio/tests/task.c:1010,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:1012,1
    - Dst: g_clear_error
      Src: /src/glib/gio/tests/task.c:1017,1
    - Dst: g_task_had_error
      Src: /src/glib/gio/tests/task.c:1019,1
    - Dst: g_main_loop_quit
      Src: /src/glib/gio/tests/task.c:1021,1
    - Dst: g_assert_false
      Src: /src/glib/gio/tests/task.c:1013,1
    - Dst: g_task_propagate_boolean
      Src: /src/glib/gio/tests/task.c:1015,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:1019,1
    - Dst: G_TASK
      Src: /src/glib/gio/tests/task.c:1013,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - object
    - result
    - user_data
    argTypes:
    - GObject*
    - GAsyncResult*
    - gpointer
    constantsTouched: []
    func_position:
      end: 1022
      start: 1002
    functionDepth: 0
    functionLinenumber: 1002
    functionLinenumberEnd: 1022
    functionName: return_if_cancelled_callback
    functionSourceFile: /src/glib/gio/tests/task.c
    functionUses: []
    functionsReached:
    - g_clear_error
    - g_task_propagate_boolean
